diff --git a/.gitignore b/.gitignore index 66911a4c..c2f563ca 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .atom-live-server.json node_modules/* package-lock.json +aframe/build/*.txt +three.js/build/*.txt diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..f8b817b9 --- /dev/null +++ b/.npmignore @@ -0,0 +1,8 @@ +aframe/examples/**/**/* +aframe/examples/**/* +aframe/examples/* +three.js/examples/**/**/* +three.js/examples/**/* +three.js/examples/* +test/**/* +test/* \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4dea8c03..20e145a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ - Deactivated GPS listener when AR.js app not in the foreground (thanks to @NVFedorov for raising this issue) - update license wording (thanks to @chingucoding) - + # 3.3.1 - Fix minor location-based bugs diff --git a/Makefile b/Makefile deleted file mode 100644 index e4ebb2b9..00000000 --- a/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -watch: build - fswatch -0 three.js/src/*/*.js aframe/src/*.js babylon.js/src/*.js | xargs -0 -n 1 -I {} make build - -prepare: - npm install - -build: - cd three.js && make build - cd aframe && make build - -.PHONY: test -test: - (cd test && make test) - -server: - npm run server diff --git a/README.md b/README.md index 5e10131d..e7af44f1 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,10 @@ Please follow this simple steps: ``` +Important! Be aware that if you are referring to external resources, in any app, especially those using NFT, you will encounter CORS problems if those resources are not in the same server of the code. If you can’t see the tracking, please open your Browser Dev Tools and check if you have CORS errors in the console. If so, you have to fix those errors in order to see your content. The correct fix is to place your resources on the same server of your code. + +If you cannot do that, you can host a proxy anywhere server to solve that (https://github.com/Rob--W/cors-anywhere). +Please note that several hosting services have policies that does not permit to use such server. Always check hosting services policies before using them to avoid account suspensions Important! Be aware that if you are referring to external resources, in any app, especially those using NFT, you will encounter CORS problems if those resources are not in the same server of the code. If you can’t see the tracking, please open your Browser Dev Tools and check if you have CORS errors in the console. If so, you have to fix those errors in order to see your content. The correct fix is to place your resources on the same server of your code. @@ -205,6 +209,13 @@ Please note that several hosting services have policies that does not permit to Learn more on the [AR.js Official Documentation](https://ar-js-org.github.io/AR.js-Docs/). +## Experimental ES6 npm package + +Even if not yet in the master branch, you can install **AR.js** with NPM: + +``` +npm install @ar-js-org/ar.js +``` ## Troubleshooting, feature requests, community **You can find a lot of help on the old [AR.js repositories issues](https://github.com/jeromeetienne/AR.js/issues). Please search on open/closed issues, you may find interesting stuff.** diff --git a/aframe/Makefile b/aframe/Makefile deleted file mode 100644 index ae6e72d9..00000000 --- a/aframe/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -watch: build - fswatch -0 src/*.js ../three.js/src/*/*.js | xargs -0 -n 1 -I {} make build - -.PHONY: build - -build-default: - (cd ../three.js/ && make build-main) - cat ../three.js/build/ar.js \ - src/component-anchor.js \ - src/component-hit-testing.js \ - src/location-based/*.js \ - src/system-arjs.js \ - > build/aframe-ar.js - -build-nft: - (cd ../three.js/ && make build-main-nft) - cat ../three.js/build/ar-nft.js \ - src/component-anchor-nft.js \ - src/component-hit-testing.js \ - src/location-based/*.js \ - src/system-arjs.js \ - > build/aframe-ar-nft.js - -build-location-only: - cat src/location-based/*.js > build/aframe-ar-location-only.js - -build: build-default build-nft diff --git a/aframe/build/aframe-ar-location-only.js b/aframe/build/aframe-ar-location-only.js index 9fb5d8b8..cb2f6afe 100644 --- a/aframe/build/aframe-ar-location-only.js +++ b/aframe/build/aframe-ar-location-only.js @@ -1,3 +1,29 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("aframe"), require("three")); + else if(typeof define === 'function' && define.amd) + define(["aframe", "three"], factory); + else if(typeof exports === 'object') + exports["ARjs"] = factory(require("aframe"), require("three")); + else + root["ARjs"] = factory(root["AFRAME"], root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_aframe__, __WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ var __webpack_modules__ = ({ + +/***/ "./aframe/src/location-based/ArjsDeviceOrientationControls.js": +/*!********************************************************************!*\ + !*** ./aframe/src/location-based/ArjsDeviceOrientationControls.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); /** * @author richt / http://richt.me @@ -12,7 +38,9 @@ * Modifications Nick Whitelegg (nickw1 github) */ -ArjsDeviceOrientationControls = function ( object ) { + + +const ArjsDeviceOrientationControls = function ( object ) { var scope = this; @@ -47,13 +75,13 @@ ArjsDeviceOrientationControls = function ( object ) { var setObjectQuaternion = function () { - var zee = new THREE.Vector3( 0, 0, 1 ); + var zee = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3( 0, 0, 1 ); - var euler = new THREE.Euler(); + var euler = new three__WEBPACK_IMPORTED_MODULE_0__.Euler(); - var q0 = new THREE.Quaternion(); + var q0 = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(); - var q1 = new THREE.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt( 0.5 ) ); // - PI/2 around the x-axis + var q1 = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt( 0.5 ) ); // - PI/2 around the x-axis return function ( quaternion, alpha, beta, gamma, orient ) { @@ -97,13 +125,13 @@ ArjsDeviceOrientationControls = function ( object ) { if ( device ) { - var alpha = device.alpha ? THREE.Math.degToRad( device.alpha ) + scope.alphaOffset : 0; // Z + var alpha = device.alpha ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.alpha ) + scope.alphaOffset : 0; // Z - var beta = device.beta ? THREE.Math.degToRad( device.beta ) : 0; // X' + var beta = device.beta ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.beta ) : 0; // X' - var gamma = device.gamma ? THREE.Math.degToRad( device.gamma ) : 0; // Y'' + var gamma = device.gamma ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.gamma ) : 0; // Y'' - var orient = scope.screenOrientation ? THREE.Math.degToRad( scope.screenOrientation ) : 0; // O + var orient = scope.screenOrientation ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( scope.screenOrientation ) : 0; // O // NW Added smoothing code var k = this.smoothingFactor; @@ -159,6 +187,22 @@ ArjsDeviceOrientationControls = function ( object ) { this.connect(); }; + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArjsDeviceOrientationControls); + + +/***/ }), + +/***/ "./aframe/src/location-based/arjs-look-controls.js": +/*!*********************************************************!*\ + !*** ./aframe/src/location-based/arjs-look-controls.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); // To avoid recalculation at every mouse movement tick var PI_2 = Math.PI / 2; @@ -173,7 +217,10 @@ var PI_2 = Math.PI / 2; * Modifications Nick Whitelegg (nickw1 github) */ -AFRAME.registerComponent('arjs-look-controls', { + + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-look-controls', { dependencies: ['position', 'rotation'], schema: { @@ -219,8 +266,8 @@ AFRAME.registerComponent('arjs-look-controls', { var data = this.data; // Only on mobile devices and only enabled if DeviceOrientation permission has been granted. - if (AFRAME.utils.device.isMobile()) { - magicWindowControls = this.magicWindowControls = new ArjsDeviceOrientationControls(this.magicWindowObject); + if (aframe__WEBPACK_IMPORTED_MODULE_0__.utils.device.isMobile()) { + magicWindowControls = this.magicWindowControls = new _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_1__.default(this.magicWindowObject); if (typeof DeviceOrientationEvent !== 'undefined' && DeviceOrientationEvent.requestPermission) { magicWindowControls.enabled = false; if (this.el.sceneEl.components['device-orientation-permission-ui'].permissionGranted) { @@ -282,16 +329,16 @@ AFRAME.registerComponent('arjs-look-controls', { }, bindMethods: function () { - this.onMouseDown = AFRAME.utils.bind(this.onMouseDown, this); - this.onMouseMove = AFRAME.utils.bind(this.onMouseMove, this); - this.onMouseUp = AFRAME.utils.bind(this.onMouseUp, this); - this.onTouchStart = AFRAME.utils.bind(this.onTouchStart, this); - this.onTouchMove = AFRAME.utils.bind(this.onTouchMove, this); - this.onTouchEnd = AFRAME.utils.bind(this.onTouchEnd, this); - this.onEnterVR = AFRAME.utils.bind(this.onEnterVR, this); - this.onExitVR = AFRAME.utils.bind(this.onExitVR, this); - this.onPointerLockChange = AFRAME.utils.bind(this.onPointerLockChange, this); - this.onPointerLockError = AFRAME.utils.bind(this.onPointerLockError, this); + this.onMouseDown = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseDown, this); + this.onMouseMove = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseMove, this); + this.onMouseUp = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseUp, this); + this.onTouchStart = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchStart, this); + this.onTouchMove = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchMove, this); + this.onTouchEnd = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchEnd, this); + this.onEnterVR = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onEnterVR, this); + this.onExitVR = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onExitVR, this); + this.onPointerLockChange = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onPointerLockChange, this); + this.onPointerLockError = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onPointerLockError, this); }, /** @@ -314,7 +361,7 @@ AFRAME.registerComponent('arjs-look-controls', { // Wait for canvas to load. if (!canvasEl) { - sceneEl.addEventListener('render-target-loaded', AFRAME.utils.bind(this.addEventListeners, this)); + sceneEl.addEventListener('render-target-loaded', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.addEventListeners, this)); return; } @@ -646,12 +693,30 @@ AFRAME.registerComponent('arjs-look-controls', { this.hasSavedPose = false; } }); -AFRAME.registerComponent('arjs-webcam-texture', { + + +/***/ }), + +/***/ "./aframe/src/location-based/arjs-webcam-texture.js": +/*!**********************************************************!*\ + !*** ./aframe/src/location-based/arjs-webcam-texture.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); + + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-webcam-texture', { init: function() { this.scene = this.el.sceneEl; - this.texCamera = new THREE.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); - this.texScene = new THREE.Scene(); + this.texCamera = new three__WEBPACK_IMPORTED_MODULE_1__.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); + this.texScene = new three__WEBPACK_IMPORTED_MODULE_1__.Scene(); this.scene.renderer.autoClear = false; this.video = document.createElement("video"); @@ -659,10 +724,10 @@ AFRAME.registerComponent('arjs-webcam-texture', { this.video.setAttribute("playsinline", true); this.video.setAttribute("display", "none"); document.body.appendChild(this.video); - this.geom = new THREE.PlaneBufferGeometry(); //0.5, 0.5); - this.texture = new THREE.VideoTexture(this.video); - this.material = new THREE.MeshBasicMaterial( { map: this.texture } ); - const mesh = new THREE.Mesh(this.geom, this.material); + this.geom = new three__WEBPACK_IMPORTED_MODULE_1__.PlaneBufferGeometry(); //0.5, 0.5); + this.texture = new three__WEBPACK_IMPORTED_MODULE_1__.VideoTexture(this.video); + this.material = new three__WEBPACK_IMPORTED_MODULE_1__.MeshBasicMaterial( { map: this.texture } ); + const mesh = new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(this.geom, this.material); this.texScene.add(mesh); }, @@ -701,6 +766,21 @@ AFRAME.registerComponent('arjs-webcam-texture', { this.geom.dispose(); } }); + + +/***/ }), + +/***/ "./aframe/src/location-based/gps-camera.js": +/*!*************************************************!*\ + !*** ./aframe/src/location-based/gps-camera.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); /* * UPDATES 28/08/20: * @@ -710,7 +790,10 @@ AFRAME.registerComponent('arjs-webcam-texture', { * location. */ -AFRAME.registerComponent('gps-camera', { + + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-camera', { _watchPositionId: null, originCoords: null, currentCoords: null, @@ -756,7 +839,7 @@ AFRAME.registerComponent('gps-camera', { }, update: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.longitude = this.data.simulateLongitude; localPosition.latitude = this.data.simulateLatitude; localPosition.altitude = this.data.simulateAltitude; @@ -767,7 +850,7 @@ AFRAME.registerComponent('gps-camera', { this._updatePosition(); } }, - init: function () { + init: function () { if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { return; } @@ -805,7 +888,7 @@ AFRAME.registerComponent('gps-camera', { this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); } else { var timeout = setTimeout(function () { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); }, 750); window.addEventListener(eventName, function () { clearTimeout(timeout); @@ -819,6 +902,7 @@ AFRAME.registerComponent('gps-camera', { play: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.latitude = this.data.simulateLatitude; localPosition.longitude = this.data.simulateLongitude; if (this.data.simulateAltitude !== 0) { @@ -1022,15 +1106,14 @@ AFRAME.registerComponent('gps-camera', { if (isPlace && this.data.maxDistance && this.data.maxDistance > 0 && distance > this.data.maxDistance) { return Number.MAX_SAFE_INTEGER; } - return distance; }, _haversineDist: function (src, dest) { - var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); - var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); + var dlongitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.longitude - src.longitude); + var dlatitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude - src.latitude); - var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); + var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(src.latitude)) * Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); return angle * 6371000; }, @@ -1110,9 +1193,9 @@ AFRAME.registerComponent('gps-camera', { _updateRotation: function () { var heading = 360 - this.heading; var cameraRotation = this.el.getAttribute('rotation').y; - var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); + var yawRotation = three__WEBPACK_IMPORTED_MODULE_1__.Math.radToDeg(this.lookControls.yawObject.rotation.y); var offset = (heading - (cameraRotation - yawRotation)) % 360; - this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); + this.lookControls.yawObject.rotation.y = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(offset); }, _onGpsEntityPlaceAdded: function() { @@ -1125,7 +1208,21 @@ AFRAME.registerComponent('gps-camera', { } } }); -AFRAME.registerComponent('gps-entity-place', { + +/***/ }), + +/***/ "./aframe/src/location-based/gps-entity-place.js": +/*!*******************************************************!*\ + !*** ./aframe/src/location-based/gps-entity-place.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-entity-place', { _cameraGps: null, schema: { longitude: { @@ -1169,7 +1266,7 @@ AFRAME.registerComponent('gps-entity-place', { var distanceForMsg = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords); this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); var actualDistance = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords, true); @@ -1236,23 +1333,35 @@ AFRAME.registerComponent('gps-entity-place', { // update element's position in 3D world this.el.setAttribute('position', position); }, +}); - /** - * Format distances string - * - * @param {String} distance - */ +/** + * Format distances string + * + * @param {String} distance + */ +function formatDistance(distance) { + distance = distance.toFixed(0); - _formatDistance: function(distance) { - distance = distance.toFixed(0); + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; + } - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } + return distance + ' meters'; +}; - return distance + ' meters'; - } -}); + +/***/ }), + +/***/ "./aframe/src/location-based/gps-projected-camera.js": +/*!***********************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-camera.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); /** gps-projected-camera * * based on the original gps-camera, modified by nickw 02/04/20 @@ -1284,7 +1393,9 @@ AFRAME.registerComponent('gps-entity-place', { * location. */ -AFRAME.registerComponent('gps-projected-camera', { + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-camera', { _watchPositionId: null, originCoords: null, // original coords now in Spherical Mercator currentCoords: null, @@ -1326,7 +1437,7 @@ AFRAME.registerComponent('gps-projected-camera', { }, update: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.longitude = this.data.simulateLongitude; localPosition.latitude = this.data.simulateLatitude; localPosition.altitude = this.data.simulateAltitude; @@ -1373,7 +1484,6 @@ AFRAME.registerComponent('gps-projected-camera', { document.addEventListener('touchend', function() { handler() }, false); this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); - } else { var timeout = setTimeout(function() { this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); @@ -1389,6 +1499,7 @@ AFRAME.registerComponent('gps-projected-camera', { play: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.latitude = this.data.simulateLatitude; localPosition.longitude = this.data.simulateLongitude; if (this.data.simulateAltitude !== 0) { @@ -1478,7 +1589,7 @@ AFRAME.registerComponent('gps-projected-camera', { if (err.code === 1) { // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); return; } @@ -1743,6 +1854,18 @@ AFRAME.registerComponent('gps-projected-camera', { } }); + +/***/ }), + +/***/ "./aframe/src/location-based/gps-projected-entity-place.js": +/*!*****************************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-entity-place.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); /** gps-projected-entity-place * * based on the original gps-entity-place, modified by nickw 02/04/20 @@ -1764,7 +1887,9 @@ AFRAME.registerComponent('gps-projected-camera', { * for many areas of the world and appear not to cause unacceptable distortions * when used as the units for AR apps. */ -AFRAME.registerComponent('gps-projected-entity-place', { + + +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-entity-place', { _cameraGps: null, schema: { longitude: { @@ -1809,7 +1934,7 @@ AFRAME.registerComponent('gps-projected-entity-place', { var distanceForMsg = this._cameraGps.computeDistanceMeters(dstCoords); this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); @@ -1859,21 +1984,140 @@ AFRAME.registerComponent('gps-projected-entity-place', { z: worldPos[1] }); }, +}); - /** - * Format distances string - * - * @param {String} distance - */ +/** + * Format distances string + * + * @param {String} distance + */ +function formatDistance(distance) { + distance = distance.toFixed(0); - _formatDistance: function(distance) { - distance = distance.toFixed(0); + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; + } - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } + return distance + ' meters'; +}; - return distance + ' meters'; - } -}); +/***/ }), + +/***/ "aframe": +/*!******************************************************************************************!*\ + !*** external {"commonjs":"aframe","commonjs2":"aframe","amd":"aframe","root":"AFRAME"} ***! + \******************************************************************************************/ +/***/ ((module) => { + +module.exports = __WEBPACK_EXTERNAL_MODULE_aframe__; + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. +(() => { +/*!********************************************!*\ + !*** ./aframe/src/location-based/index.js ***! + \********************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _arjs_look_controls__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arjs-look-controls */ "./aframe/src/location-based/arjs-look-controls.js"); +/* harmony import */ var _arjs_webcam_texture__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-webcam-texture */ "./aframe/src/location-based/arjs-webcam-texture.js"); +/* harmony import */ var _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); +/* harmony import */ var _gps_camera__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./gps-camera */ "./aframe/src/location-based/gps-camera.js"); +/* harmony import */ var _gps_entity_place__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./gps-entity-place */ "./aframe/src/location-based/gps-entity-place.js"); +/* harmony import */ var _gps_projected_camera__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./gps-projected-camera */ "./aframe/src/location-based/gps-projected-camera.js"); +/* harmony import */ var _gps_projected_entity_place__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./gps-projected-entity-place */ "./aframe/src/location-based/gps-projected-entity-place.js"); + + + + + + + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9BcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9hcmpzLWxvb2stY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvYXJqcy13ZWJjYW0tdGV4dHVyZS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9ncHMtY2FtZXJhLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2xvY2F0aW9uLWJhc2VkL2dwcy1lbnRpdHktcGxhY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1jYW1lcmEuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy9leHRlcm5hbCB7XCJjb21tb25qc1wiOlwiYWZyYW1lXCIsXCJjb21tb25qczJcIjpcImFmcmFtZVwiLFwiYW1kXCI6XCJhZnJhbWVcIixcInJvb3RcIjpcIkFGUkFNRVwifSIsIndlYnBhY2s6Ly9BUmpzL2V4dGVybmFsIHtcImNvbW1vbmpzXCI6XCJ0aHJlZVwiLFwiY29tbW9uanMyXCI6XCJ0aHJlZVwiLFwiYW1kXCI6XCJ0aHJlZVwiLFwicm9vdFwiOlwiVEhSRUVcIn0iLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvaW5kZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87Ozs7Ozs7Ozs7Ozs7Ozs7O0FDVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRStCOztBQUUvQjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUEsdUJBQXVCOztBQUV2Qjs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBLGtCQUFrQiwwQ0FBYTs7QUFFL0Isb0JBQW9CLHdDQUFXOztBQUUvQixpQkFBaUIsNkNBQWdCOztBQUVqQyxpQkFBaUIsNkNBQWdCLCtDQUErQzs7QUFFaEY7O0FBRUEsK0NBQStDOztBQUUvQyx1Q0FBdUM7O0FBRXZDLGdDQUFnQzs7QUFFaEMsa0VBQWtFOztBQUVsRTs7QUFFQSxHQUFHOztBQUVIOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQSxpQ0FBaUMsZ0RBQW1CLHlDQUF5Qzs7QUFFN0YsK0JBQStCLGdEQUFtQixvQkFBb0I7O0FBRXRFLGlDQUFpQyxnREFBbUIscUJBQXFCOztBQUV6RSw2Q0FBNkMsZ0RBQW1CLGdDQUFnQzs7QUFFaEc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQUFPO0FB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ci1sb2NhdGlvbi1vbmx5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwiYWZyYW1lXCIpLCByZXF1aXJlKFwidGhyZWVcIikpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW1wiYWZyYW1lXCIsIFwidGhyZWVcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQVJqc1wiXSA9IGZhY3RvcnkocmVxdWlyZShcImFmcmFtZVwiKSwgcmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBUmpzXCJdID0gZmFjdG9yeShyb290W1wiQUZSQU1FXCJdLCByb290W1wiVEhSRUVcIl0pO1xufSkodGhpcywgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9hZnJhbWVfXywgX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV90aHJlZV9fKSB7XG5yZXR1cm4gIiwiXG4vKipcbiAqIEBhdXRob3IgcmljaHQgLyBodHRwOi8vcmljaHQubWVcbiAqIEBhdXRob3IgV2VzdExhbmdsZXkgLyBodHRwOi8vZ2l0aHViLmNvbS9XZXN0TGFuZ2xleVxuICpcbiAqIFczQyBEZXZpY2UgT3JpZW50YXRpb24gY29udHJvbCAoaHR0cDovL3czYy5naXRodWIuaW8vZGV2aWNlb3JpZW50YXRpb24vc3BlYy1zb3VyY2Utb3JpZW50YXRpb24uaHRtbClcbiAqL1xuXG4vKiBOT1RFIHRoYXQgdGhpcyBpcyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgVEhSRUUuRGV2aWNlT3JpZW50YXRpb25Db250cm9scyB0byBcbiAqIGFsbG93IGV4cG9uZW50aWFsIHNtb290aGluZywgZm9yIHVzZSBpbiBBUi5qcy5cbiAqXG4gKiBNb2RpZmljYXRpb25zIE5pY2sgV2hpdGVsZWdnIChuaWNrdzEgZ2l0aHViKVxuICovXG5cbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gXCJ0aHJlZVwiO1xuXG5jb25zdCBBcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scyA9IGZ1bmN0aW9uICggb2JqZWN0ICkge1xuXG4gIHZhciBzY29wZSA9IHRoaXM7XG5cbiAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG4gIHRoaXMub2JqZWN0LnJvdGF0aW9uLnJlb3JkZXIoICdZWFonICk7XG5cbiAgdGhpcy5lbmFibGVkID0gdHJ1ZTtcblxuICB0aGlzLmRldmljZU9yaWVudGF0aW9uID0ge307XG4gIHRoaXMuc2NyZWVuT3JpZW50YXRpb24gPSAwO1xuXG4gIHRoaXMuYWxwaGFPZmZzZXQgPSAwOyAvLyByYWRpYW5zXG5cbiAgdGhpcy5zbW9vdGhpbmdGYWN0b3IgPSAxO1xuXG4gIHRoaXMuVFdPX1BJID0gMiAqIE1hdGguUEk7XG4gIHRoaXMuSEFMRl9QSSA9IDAuNSAqIE1hdGguUEk7XG5cbiAgdmFyIG9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VFdmVudCA9IGZ1bmN0aW9uICggZXZlbnQgKSB7XG5cbiAgICBzY29wZS5kZXZpY2VPcmllbnRhdGlvbiA9IGV2ZW50O1xuXG4gIH07XG5cbiAgdmFyIG9uU2NyZWVuT3JpZW50YXRpb25DaGFuZ2VFdmVudCA9IGZ1bmN0aW9uICgpIHtcblxuICAgIHNjb3BlLnNjcmVlbk9yaWVudGF0aW9uID0gd2luZG93Lm9yaWVudGF0aW9uIHx8IDA7XG5cbiAgfTtcblxuICAvLyBUaGUgYW5nbGVzIGFscGhhLCBiZXRhIGFuZCBnYW1tYSBmb3JtIGEgc2V0IG9mIGludHJpbnNpYyBUYWl0LUJyeWFuIGFuZ2xlcyBvZiB0eXBlIFotWCctWScnXG5cbiAgdmFyIHNldE9iamVjdFF1YXRlcm5pb24gPSBmdW5jdGlvbiAoKSB7XG5cbiAgICB2YXIgemVlID0gbmV3IFRIUkVFLlZlY3RvcjMoIDAsIDAsIDEgKTtcblxuICAgIHZhciBldWxlciA9IG5ldyBUSFJFRS5FdWxlcigpO1xuXG4gICAgdmFyIHEwID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcblxuICAgIHZhciBxMSA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCAtIE1hdGguc3FydCggMC41ICksIDAsIDAsIE1hdGguc3FydCggMC41ICkgKTsgLy8gLSBQSS8yIGFyb3VuZCB0aGUgeC1heGlzXG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKCBxdWF0ZXJuaW9uLCBhbHBoYSwgYmV0YSwgZ2FtbWEsIG9yaWVudCApIHtcblxuICAgICAgZXVsZXIuc2V0KCBiZXRhLCBhbHBoYSwgLSBnYW1tYSwgJ1lYWicgKTsgLy8gJ1pYWScgZm9yIHRoZSBkZXZpY2UsIGJ1dCAnWVhaJyBmb3IgdXNcblxuICAgICAgcXVhdGVybmlvbi5zZXRGcm9tRXVsZXIoIGV1bGVyICk7IC8vIG9yaWVudCB0aGUgZGV2aWNlXG5cbiAgICAgIHF1YXRlcm5pb24ubXVsdGlwbHkoIHExICk7IC8vIGNhbWVyYSBsb29rcyBvdXQgdGhlIGJhY2sgb2YgdGhlIGRldmljZSwgbm90IHRoZSB0b3BcblxuICAgICAgcXVhdGVybmlvbi5tdWx0aXBseSggcTAuc2V0RnJvbUF4aXNBbmdsZSggemVlLCAtIG9yaWVudCApICk7IC8vIGFkanVzdCBmb3Igc2NyZWVuIG9yaWVudGF0aW9uXG5cbiAgICB9O1xuXG4gIH0oKTtcblxuICB0aGlzLmNvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG4gXG4gICAgb25TY3JlZW5PcmllbnRhdGlvbkNoYW5nZUV2ZW50KCk7XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggJ29yaWVudGF0aW9uY2hhbmdlJywgb25TY3JlZW5PcmllbnRhdGlvbkNoYW5nZUV2ZW50LCBmYWxzZSApO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCAnZGV2aWNlb3JpZW50YXRpb24nLCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlRXZlbnQsIGZhbHNlICk7XG5cbiAgICBzY29wZS5lbmFibGVkID0gdHJ1ZTtcblxuICB9O1xuXG4gIHRoaXMuZGlzY29ubmVjdCA9IGZ1bmN0aW9uICgpIHtcblxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCAnb3JpZW50YXRpb25jaGFuZ2UnLCBvblNjcmVlbk9yaWVudGF0aW9uQ2hhbmdlRXZlbnQsIGZhbHNlICk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoICdkZXZpY2VvcmllbnRhdGlvbicsIG9uRGV2aWNlT3JpZW50YXRpb25DaGFuZ2VFdmVudCwgZmFsc2UgKTtcblxuICAgIHNjb3BlLmVuYWJsZWQgPSBmYWxzZTtcblxuICB9O1xuXG4gIHRoaXMudXBkYXRlID0gZnVuY3Rpb24gKCkge1xuXG4gICAgaWYgKCBzY29wZS5lbmFibGVkID09PSBmYWxzZSApIHJldHVybjtcblxuICAgIHZhciBkZXZpY2UgPSBzY29wZS5kZXZpY2VPcmllbnRhdGlvbjtcblxuICAgIGlmICggZGV2aWNlICkge1xuXG4gICAgICB2YXIgYWxwaGEgPSBkZXZpY2UuYWxwaGEgPyBUSFJFRS5NYXRoLmRlZ1RvUmFkKCBkZXZpY2UuYWxwaGEgKSArIHNjb3BlLmFscGhhT2Zmc2V0IDogMDsgLy8gWlxuXG4gICAgICB2YXIgYmV0YSA9IGRldmljZS5iZXRhID8gVEhSRUUuTWF0aC5kZWdUb1JhZCggZGV2aWNlLmJldGEgKSA6IDA7IC8vIFgnXG5cbiAgICAgIHZhciBnYW1tYSA9IGRldmljZS5nYW1tYSA/IFRIUkVFLk1hdGguZGVnVG9SYWQoIGRldmljZS5nYW1tYSApIDogMDsgLy8gWScnXG5cbiAgICAgIHZhciBvcmllbnQgPSBzY29wZS5zY3JlZW5PcmllbnRhdGlvbiA/IFRIUkVFLk1hdGguZGVnVG9SYWQoIHNjb3BlLnNjcmVlbk9yaWVudGF0aW9uICkgOiAwOyAvLyBPXG5cbiAgICAgIC8vIE5XIEFkZGVkIHNtb290aGluZyBjb2RlXG4gICAgICB2YXIgayA9IHRoaXMuc21vb3RoaW5nRmFjdG9yO1xuXG4gICAgICBpZih0aGlzLmxhc3RPcmllbnRhdGlvbikge1xuICAgICAgICBhbHBoYSA9IHRoaXMuX2dldFNtb290aGVkQW5nbGUoYWxwaGEsIHRoaXMubGFzdE9yaWVudGF0aW9uLmFscGhhLCBrKTtcbiAgICAgICAgYmV0YSA9IHRoaXMuX2dldFNtb290aGVkQW5nbGUoYmV0YSArIE1hdGguUEksIHRoaXMubGFzdE9yaWVudGF0aW9uLmJldGEsIGspO1xuICAgICAgICBnYW1tYSA9IHRoaXMuX2dldFNtb290aGVkQW5nbGUoZ2FtbWEgKyB0aGlzLkhBTEZfUEksIHRoaXMubGFzdE9yaWVudGF0aW9uLmdhbW1hLCBrLCBNYXRoLlBJKTtcbiAgICBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJldGEgKz0gTWF0aC5QSTtcbiAgICAgICAgZ2FtbWEgKz0gdGhpcy5IQUxGX1BJO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxhc3RPcmllbnRhdGlvbiA9IHtcbiAgICAgICAgYWxwaGE6IGFscGhhLFxuICAgICAgICBiZXRhOiBiZXRhLFxuICAgICAgICBnYW1tYTogZ2FtbWFcbiAgICAgIH07XG4gICAgICBzZXRPYmplY3RRdWF0ZXJuaW9uKCBzY29wZS5vYmplY3QucXVhdGVybmlvbiwgYWxwaGEsIGJldGEgLSBNYXRoLlBJLCBnYW1tYSAtIHRoaXMuSEFMRl9QSSwgb3JpZW50ICk7XG5cbiAgICB9XG4gIH07XG5cbiAgIFxuICAgLy8gTlcgQWRkZWRcbiAgdGhpcy5fb3JkZXJBbmdsZSA9IGZ1bmN0aW9uKGEsIGIsIHJhbmdlID0gdGhpcy5UV09fUEkpIHtcbiAgICBpZiAoKGIgPiBhICYmIE1hdGguYWJzKGIgLSBhKSA8IHJhbmdlIC8gMikgfHwgKGEgPiBiICYmIE1hdGguYWJzKGIgLSBhKSA+IHJhbmdlIC8gMikpIHtcbiAgICAgIHJldHVybiB7IGxlZnQ6IGEsIHJpZ2h0OiBiIH1cbiAgICB9IGVsc2UgeyBcbiAgICAgIHJldHVybiB7IGxlZnQ6IGIsIHJpZ2h0OiBhIH1cbiAgICB9XG4gIH07XG5cbiAgIC8vIE5XIEFkZGVkXG4gIHRoaXMuX2dldFNtb290aGVkQW5nbGUgPSBmdW5jdGlvbihhLCBiLCBrLCByYW5nZSA9IHRoaXMuVFdPX1BJKSB7XG4gICAgY29uc3QgYW5nbGVzID0gdGhpcy5fb3JkZXJBbmdsZShhLCBiLCByYW5nZSk7XG4gICAgY29uc3QgYW5nbGVzaGlmdCA9IGFuZ2xlcy5sZWZ0O1xuICAgIGNvbnN0IG9yaWdBbmdsZXNSaWdodCA9IGFuZ2xlcy5yaWdodDtcbiAgICBhbmdsZXMubGVmdCA9IDA7XG4gICAgYW5nbGVzLnJpZ2h0IC09IGFuZ2xlc2hpZnQ7XG4gICAgaWYoYW5nbGVzLnJpZ2h0IDwgMCkgYW5nbGVzLnJpZ2h0ICs9IHJhbmdlO1xuICAgIGxldCBuZXdhbmdsZSA9IG9yaWdBbmdsZXNSaWdodCA9PSBiID8gKDEgLSBrKSphbmdsZXMucmlnaHQgKyBrICogYW5nbGVzLmxlZnQgOiBrICogYW5nbGVzLnJpZ2h0ICsgKDEgLSBrKSAqIGFuZ2xlcy5sZWZ0O1xuICAgIG5ld2FuZ2xlICs9IGFuZ2xlc2hpZnQ7XG4gICAgaWYobmV3YW5nbGUgPj0gcmFuZ2UpIG5ld2FuZ2xlIC09IHJhbmdlO1xuICAgIHJldHVybiBuZXdhbmdsZTtcbiAgfTtcblxuICB0aGlzLmRpc3Bvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgc2NvcGUuZGlzY29ubmVjdCgpO1xuICB9O1xuXG4gIHRoaXMuY29ubmVjdCgpO1xuXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scztcbiIsIi8vIFRvIGF2b2lkIHJlY2FsY3VsYXRpb24gYXQgZXZlcnkgbW91c2UgbW92ZW1lbnQgdGlja1xudmFyIFBJXzIgPSBNYXRoLlBJIC8gMjtcblxuXG4vKipcbiAqIGxvb2stY29udHJvbHMuIFVwZGF0ZSBlbnRpdHkgcG9zZSwgZmFjdG9yaW5nIG1vdXNlLCB0b3VjaCwgYW5kIFdlYlZSIEFQSSBkYXRhLlxuICovXG5cbi8qIE5PVEUgdGhhdCB0aGlzIGlzIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBBLUZyYW1lJ3MgbG9vay1jb250cm9scyB0byBcbiAqIGFsbG93IGV4cG9uZW50aWFsIHNtb290aGluZywgZm9yIHVzZSBpbiBBUi5qcy5cbiAqXG4gKiBNb2RpZmljYXRpb25zIE5pY2sgV2hpdGVsZWdnIChuaWNrdzEgZ2l0aHViKVxuICovXG5cbmltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnXG5pbXBvcnQgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMgZnJvbSAnLi9BcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scydcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdhcmpzLWxvb2stY29udHJvbHMnLCB7XG4gIGRlcGVuZGVuY2llczogWydwb3NpdGlvbicsICdyb3RhdGlvbiddLFxuXG4gIHNjaGVtYToge1xuICAgIGVuYWJsZWQ6IHtkZWZhdWx0OiB0cnVlfSxcbiAgICBtYWdpY1dpbmRvd1RyYWNraW5nRW5hYmxlZDoge2RlZmF1bHQ6IHRydWV9LFxuICAgIHBvaW50ZXJMb2NrRW5hYmxlZDoge2RlZmF1bHQ6IGZhbHNlfSxcbiAgICByZXZlcnNlTW91c2VEcmFnOiB7ZGVmYXVsdDogZmFsc2V9LFxuICAgIHJldmVyc2VUb3VjaERyYWc6IHtkZWZhdWx0OiBmYWxzZX0sXG4gICAgdG91Y2hFbmFibGVkOiB7ZGVmYXVsdDogdHJ1ZX0sXG4gICAgc21vb3RoaW5nRmFjdG9yOiB7IHR5cGU6ICdudW1iZXInLCBkZWZhdWx0OiAxIH1cbiAgfSxcblxuICBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5kZWx0YVlhdyA9IDA7XG4gICAgdGhpcy5wcmV2aW91c0hNRFBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICB0aGlzLmhtZFF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpO1xuICAgIHRoaXMubWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyID0gbmV3IFRIUkVFLkV1bGVyKCk7XG4gICAgdGhpcy5tYWdpY1dpbmRvd0RlbHRhRXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIoKTtcbiAgICB0aGlzLnBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICB0aGlzLm1hZ2ljV2luZG93T2JqZWN0ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHt9O1xuICAgIHRoaXMuZGVsdGFSb3RhdGlvbiA9IHt9O1xuICAgIHRoaXMuc2F2ZWRQb3NlID0gbnVsbDtcbiAgICB0aGlzLnBvaW50ZXJMb2NrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldHVwTW91c2VDb250cm9scygpO1xuICAgIHRoaXMuYmluZE1ldGhvZHMoKTtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudCA9IHt9O1xuXG4gICAgdGhpcy5zZXR1cE1hZ2ljV2luZG93Q29udHJvbHMoKTtcblxuICAgIC8vIFRvIHNhdmUgLyByZXN0b3JlIGNhbWVyYSBwb3NlXG4gICAgdGhpcy5zYXZlZFBvc2UgPSB7XG4gICAgICBwb3NpdGlvbjogbmV3IFRIUkVFLlZlY3RvcjMoKSxcbiAgICAgIHJvdGF0aW9uOiBuZXcgVEhSRUUuRXVsZXIoKVxuICAgIH07XG5cbiAgICAvLyBDYWxsIGVudGVyIFZSIGhhbmRsZXIgaWYgdGhlIHNjZW5lIGhhcyBlbnRlcmVkIFZSIGJlZm9yZSB0aGUgZXZlbnQgbGlzdGVuZXJzIGF0dGFjaGVkLlxuICAgIGlmICh0aGlzLmVsLnNjZW5lRWwuaXMoJ3ZyLW1vZGUnKSkgeyB0aGlzLm9uRW50ZXJWUigpOyB9XG4gIH0sXG5cbiAgc2V0dXBNYWdpY1dpbmRvd0NvbnRyb2xzOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG1hZ2ljV2luZG93Q29udHJvbHM7XG4gICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBPbmx5IG9uIG1vYmlsZSBkZXZpY2VzIGFuZCBvbmx5IGVuYWJsZWQgaWYgRGV2aWNlT3JpZW50YXRpb24gcGVybWlzc2lvbiBoYXMgYmVlbiBncmFudGVkLlxuICAgIGlmIChBRlJBTUUudXRpbHMuZGV2aWNlLmlzTW9iaWxlKCkpIHtcbiAgICAgIG1hZ2ljV2luZG93Q29udHJvbHMgPSB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMgPSBuZXcgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHModGhpcy5tYWdpY1dpbmRvd09iamVjdCk7XG4gICAgICBpZiAodHlwZW9mIERldmljZU9yaWVudGF0aW9uRXZlbnQgIT09ICd1bmRlZmluZWQnICYmIERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24pIHtcbiAgICAgICAgbWFnaWNXaW5kb3dDb250cm9scy5lbmFibGVkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmVsLnNjZW5lRWwuY29tcG9uZW50c1snZGV2aWNlLW9yaWVudGF0aW9uLXBlcm1pc3Npb24tdWknXS5wZXJtaXNzaW9uR3JhbnRlZCkge1xuICAgICAgICAgIG1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCA9IGRhdGEubWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0aW9ucGVybWlzc2lvbmdyYW50ZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBtYWdpY1dpbmRvd0NvbnRyb2xzLmVuYWJsZWQgPSBkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIHVwZGF0ZTogZnVuY3Rpb24gKG9sZERhdGEpIHtcbiAgICB2YXIgZGF0YSA9IHRoaXMuZGF0YTtcblxuICAgIC8vIERpc2FibGUgZ3JhYiBjdXJzb3IgY2xhc3NlcyBpZiBubyBsb25nZXIgZW5hYmxlZC5cbiAgICBpZiAoZGF0YS5lbmFibGVkICE9PSBvbGREYXRhLmVuYWJsZWQpIHtcbiAgICAgIHRoaXMudXBkYXRlR3JhYkN1cnNvcihkYXRhLmVuYWJsZWQpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IG1hZ2ljIHdpbmRvdyBldWxlcnMgaWYgdHJhY2tpbmcgaXMgZGlzYWJsZWQuXG4gICAgaWYgKG9sZERhdGEgJiYgIWRhdGEubWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQgJiYgb2xkRGF0YS5tYWdpY1dpbmRvd1RyYWNraW5nRW5hYmxlZCkge1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIuc2V0KDAsIDAsIDApO1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0RlbHRhRXVsZXIuc2V0KDAsIDAsIDApO1xuICAgIH1cblxuICAgIC8vIFBhc3Mgb24gbWFnaWMgd2luZG93IHRyYWNraW5nIHNldHRpbmcgdG8gbWFnaWNXaW5kb3dDb250cm9scy5cbiAgICBpZiAodGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzKSB7XG4gICAgICB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCA9IGRhdGEubWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQ7XG4gICAgICB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMuc21vb3RoaW5nRmFjdG9yID0gZGF0YS5zbW9vdGhpbmdGYWN0b3I7XG4gICAgfVxuXG4gICAgaWYgKG9sZERhdGEgJiYgIWRhdGEucG9pbnRlckxvY2tFbmFibGVkICE9PSBvbGREYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCkge1xuICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVycygpO1xuICAgICAgaWYgKHRoaXMucG9pbnRlckxvY2tlZCkgeyB0aGlzLmV4aXRQb2ludGVyTG9jaygpOyB9XG4gICAgfVxuICB9LFxuXG4gIHRpY2s6IGZ1bmN0aW9uICh0KSB7XG4gICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgaWYgKCFkYXRhLmVuYWJsZWQpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy51cGRhdGVPcmllbnRhdGlvbigpO1xuICB9LFxuXG4gIHBsYXk6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJzKCk7XG4gIH0sXG5cbiAgcGF1c2U6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgaWYgKHRoaXMucG9pbnRlckxvY2tlZCkgeyB0aGlzLmV4aXRQb2ludGVyTG9jaygpOyB9XG4gIH0sXG5cbiAgcmVtb3ZlOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIGlmICh0aGlzLnBvaW50ZXJMb2NrZWQpIHsgdGhpcy5leGl0UG9pbnRlckxvY2soKTsgfVxuICB9LFxuXG4gIGJpbmRNZXRob2RzOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5vbk1vdXNlRG93biA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Nb3VzZURvd24sIHRoaXMpO1xuICAgIHRoaXMub25Nb3VzZU1vdmUgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uTW91c2VNb3ZlLCB0aGlzKTtcbiAgICB0aGlzLm9uTW91c2VVcCA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Nb3VzZVVwLCB0aGlzKTtcbiAgICB0aGlzLm9uVG91Y2hTdGFydCA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Ub3VjaFN0YXJ0LCB0aGlzKTtcbiAgICB0aGlzLm9uVG91Y2hNb3ZlID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vblRvdWNoTW92ZSwgdGhpcyk7XG4gICAgdGhpcy5vblRvdWNoRW5kID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vblRvdWNoRW5kLCB0aGlzKTtcbiAgICB0aGlzLm9uRW50ZXJWUiA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25FbnRlclZSLCB0aGlzKTtcbiAgICB0aGlzLm9uRXhpdFZSID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vbkV4aXRWUiwgdGhpcyk7XG4gICAgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCB0aGlzKTtcbiAgICB0aGlzLm9uUG9pbnRlckxvY2tFcnJvciA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Qb2ludGVyTG9ja0Vycm9yLCB0aGlzKTtcbiAgfSxcblxuIC8qKlxuICAqIFNldCB1cCBzdGF0ZXMgYW5kIE9iamVjdDNEcyBuZWVkZWQgdG8gc3RvcmUgcm90YXRpb24gZGF0YS5cbiAgKi9cbiAgc2V0dXBNb3VzZUNvbnRyb2xzOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB0aGlzLnBpdGNoT2JqZWN0ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgdGhpcy55YXdPYmplY3QgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcbiAgICB0aGlzLnlhd09iamVjdC5wb3NpdGlvbi55ID0gMTA7XG4gICAgdGhpcy55YXdPYmplY3QuYWRkKHRoaXMucGl0Y2hPYmplY3QpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBBZGQgbW91c2UgYW5kIHRvdWNoIGV2ZW50IGxpc3RlbmVycyB0byBjYW52YXMuXG4gICAqL1xuICBhZGRFdmVudExpc3RlbmVyczogZnVuY3Rpb24gKCkge1xuICAgIHZhciBzY2VuZUVsID0gdGhpcy5lbC5zY2VuZUVsO1xuICAgIHZhciBjYW52YXNFbCA9IHNjZW5lRWwuY2FudmFzO1xuXG4gICAgLy8gV2FpdCBmb3IgY2FudmFzIHRvIGxvYWQuXG4gICAgaWYgKCFjYW52YXNFbCkge1xuICAgICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXItdGFyZ2V0LWxvYWRlZCcsIEFGUkFNRS51dGlscy5iaW5kKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMsIHRoaXMpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBNb3VzZSBldmVudHMuXG4gICAgY2FudmFzRWwuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93biwgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlLCBmYWxzZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTW91c2VVcCwgZmFsc2UpO1xuXG4gICAgLy8gVG91Y2ggZXZlbnRzLlxuICAgIGNhbnZhc0VsLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaEVuZCk7XG5cbiAgICAvLyBzY2VuZUVsIGV2ZW50cy5cbiAgICBzY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2VudGVyLXZyJywgdGhpcy5vbkVudGVyVlIpO1xuICAgIHNjZW5lRWwuYWRkRXZlbnRMaXN0ZW5lcignZXhpdC12cicsIHRoaXMub25FeGl0VlIpO1xuXG4gICAgLy8gUG9pbnRlciBMb2NrIGV2ZW50cy5cbiAgICBpZiAodGhpcy5kYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tjaGFuZ2UnLCB0aGlzLm9uUG9pbnRlckxvY2tDaGFuZ2UsIGZhbHNlKTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21venBvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybG9ja2Vycm9yJywgdGhpcy5vblBvaW50ZXJMb2NrRXJyb3IsIGZhbHNlKTtcbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3VzZSBhbmQgdG91Y2ggZXZlbnQgbGlzdGVuZXJzIGZyb20gY2FudmFzLlxuICAgKi9cbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcbiAgICB2YXIgY2FudmFzRWwgPSBzY2VuZUVsICYmIHNjZW5lRWwuY2FudmFzO1xuXG4gICAgaWYgKCFjYW52YXNFbCkgeyByZXR1cm47IH1cblxuICAgIC8vIE1vdXNlIGV2ZW50cy5cbiAgICBjYW52YXNFbC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm9uTW91c2VVcCk7XG5cbiAgICAvLyBUb3VjaCBldmVudHMuXG4gICAgY2FudmFzRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaFN0YXJ0KTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5vblRvdWNoRW5kKTtcblxuICAgIC8vIHNjZW5lRWwgZXZlbnRzLlxuICAgIHNjZW5lRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignZW50ZXItdnInLCB0aGlzLm9uRW50ZXJWUik7XG4gICAgc2NlbmVFbC5yZW1vdmVFdmVudExpc3RlbmVyKCdleGl0LXZyJywgdGhpcy5vbkV4aXRWUik7XG5cbiAgICAvLyBQb2ludGVyIExvY2sgZXZlbnRzLlxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW96cG9pbnRlcmxvY2tjaGFuZ2UnLCB0aGlzLm9uUG9pbnRlckxvY2tDaGFuZ2UsIGZhbHNlKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybG9ja2Vycm9yJywgdGhpcy5vblBvaW50ZXJMb2NrRXJyb3IsIGZhbHNlKTtcbiAgfSxcblxuICAvKipcbiAgICogVXBkYXRlIG9yaWVudGF0aW9uIGZvciBtb2JpbGUsIG1vdXNlIGRyYWcsIGFuZCBoZWFkc2V0LlxuICAgKiBNb3VzZS1kcmFnIG9ubHkgZW5hYmxlZCBpZiBITUQgaXMgbm90IGFjdGl2ZS5cbiAgICovXG4gIHVwZGF0ZU9yaWVudGF0aW9uOiAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBwb3NlTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgb2JqZWN0M0QgPSB0aGlzLmVsLm9iamVjdDNEO1xuICAgICAgdmFyIHBpdGNoT2JqZWN0ID0gdGhpcy5waXRjaE9iamVjdDtcbiAgICAgIHZhciB5YXdPYmplY3QgPSB0aGlzLnlhd09iamVjdDtcbiAgICAgIHZhciBwb3NlO1xuICAgICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG5cbiAgICAgIC8vIEluIFZSIG1vZGUsIFRIUkVFIGlzIGluIGNoYXJnZSBvZiB1cGRhdGluZyB0aGUgY2FtZXJhIHBvc2UuXG4gICAgICBpZiAoc2NlbmVFbC5pcygndnItbW9kZScpICYmIHNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpIHtcbiAgICAgICAgLy8gV2l0aCBXZWJYUiBUSFJFRSBhcHBsaWVzIGhlYWRzZXQgcG9zZSB0byB0aGUgb2JqZWN0M0QgbWF0cml4V29ybGQgaW50ZXJuYWxseS5cbiAgICAgICAgLy8gUmVmbGVjdCB2YWx1ZXMgYmFjayBvbiBwb3NpdGlvbiwgcm90YXRpb24sIHNjYWxlIGZvciBnZXRBdHRyaWJ1dGUgdG8gcmV0dXJuIHRoZSBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICAgIGlmIChzY2VuZUVsLmhhc1dlYlhSKSB7XG4gICAgICAgICAgcG9zZSA9IHNjZW5lRWwucmVuZGVyZXIueHIuZ2V0Q2FtZXJhUG9zZSgpO1xuICAgICAgICAgIGlmIChwb3NlKSB7XG4gICAgICAgICAgICBwb3NlTWF0cml4LmVsZW1lbnRzID0gcG9zZS50cmFuc2Zvcm0ubWF0cml4O1xuICAgICAgICAgICAgcG9zZU1hdHJpeC5kZWNvbXBvc2Uob2JqZWN0M0QucG9zaXRpb24sIG9iamVjdDNELnJvdGF0aW9uLCBvYmplY3QzRC5zY2FsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGVNYWdpY1dpbmRvd09yaWVudGF0aW9uKCk7XG5cbiAgICAgIC8vIE9uIG1vYmlsZSwgZG8gY2FtZXJhIHJvdGF0aW9uIHdpdGggdG91Y2ggZXZlbnRzIGFuZCBzZW5zb3JzLlxuICAgICAgb2JqZWN0M0Qucm90YXRpb24ueCA9IHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyLnggKyBwaXRjaE9iamVjdC5yb3RhdGlvbi54O1xuICAgICAgb2JqZWN0M0Qucm90YXRpb24ueSA9IHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyLnkgKyB5YXdPYmplY3Qucm90YXRpb24ueTtcbiAgICAgIG9iamVjdDNELnJvdGF0aW9uLnogPSB0aGlzLm1hZ2ljV2luZG93RGVsdGFFdWxlci56O1xuICAgIH07XG4gIH0pKCksXG5cbiAgdXBkYXRlTWFnaWNXaW5kb3dPcmllbnRhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgIHZhciBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIgPSB0aGlzLm1hZ2ljV2luZG93QWJzb2x1dGVFdWxlcjtcbiAgICB2YXIgbWFnaWNXaW5kb3dEZWx0YUV1bGVyID0gdGhpcy5tYWdpY1dpbmRvd0RlbHRhRXVsZXI7XG4gICAgLy8gQ2FsY3VsYXRlIG1hZ2ljIHdpbmRvdyBITUQgcXVhdGVybmlvbi5cbiAgICBpZiAodGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzICYmIHRoaXMubWFnaWNXaW5kb3dDb250cm9scy5lbmFibGVkKSB7XG4gICAgICB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMudXBkYXRlKCk7XG4gICAgICBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIuc2V0RnJvbVF1YXRlcm5pb24odGhpcy5tYWdpY1dpbmRvd09iamVjdC5xdWF0ZXJuaW9uLCAnWVhaJyk7XG4gICAgICBpZiAoIXRoaXMucHJldmlvdXNNYWdpY1dpbmRvd1lhdyAmJiBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIueSAhPT0gMCkge1xuICAgICAgICB0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcgPSBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIueTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcpIHtcbiAgICAgICAgbWFnaWNXaW5kb3dEZWx0YUV1bGVyLnggPSBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIueDtcbiAgICAgICAgbWFnaWNXaW5kb3dEZWx0YUV1bGVyLnkgKz0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnkgLSB0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXc7XG4gICAgICAgIG1hZ2ljV2luZG93RGVsdGFFdWxlci56ID0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLno7XG4gICAgICAgIHRoaXMucHJldmlvdXNNYWdpY1dpbmRvd1lhdyA9IG1hZ2ljV2luZG93QWJzb2x1dGVFdWxlci55O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogVHJhbnNsYXRlIG1vdXNlIGRyYWcgaW50byByb3RhdGlvbi5cbiAgICpcbiAgICogRHJhZ2dpbmcgdXAgYW5kIGRvd24gcm90YXRlcyB0aGUgY2FtZXJhIGFyb3VuZCB0aGUgWC1heGlzICh5YXcpLlxuICAgKiBEcmFnZ2luZyBsZWZ0IGFuZCByaWdodCByb3RhdGVzIHRoZSBjYW1lcmEgYXJvdW5kIHRoZSBZLWF4aXMgKHBpdGNoKS5cbiAgICovXG4gIG9uTW91c2VNb3ZlOiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgdmFyIGRpcmVjdGlvbjtcbiAgICB2YXIgbW92ZW1lbnRYO1xuICAgIHZhciBtb3ZlbWVudFk7XG4gICAgdmFyIHBpdGNoT2JqZWN0ID0gdGhpcy5waXRjaE9iamVjdDtcbiAgICB2YXIgcHJldmlvdXNNb3VzZUV2ZW50ID0gdGhpcy5wcmV2aW91c01vdXNlRXZlbnQ7XG4gICAgdmFyIHlhd09iamVjdCA9IHRoaXMueWF3T2JqZWN0O1xuXG4gICAgLy8gTm90IGRyYWdnaW5nIG9yIG5vdCBlbmFibGVkLlxuICAgIGlmICghdGhpcy5kYXRhLmVuYWJsZWQgfHwgKCF0aGlzLm1vdXNlRG93biAmJiAhdGhpcy5wb2ludGVyTG9ja2VkKSkgeyByZXR1cm47IH1cblxuICAgIC8vIENhbGN1bGF0ZSBkZWx0YS5cbiAgICBpZiAodGhpcy5wb2ludGVyTG9ja2VkKSB7XG4gICAgICBtb3ZlbWVudFggPSBldnQubW92ZW1lbnRYIHx8IGV2dC5tb3pNb3ZlbWVudFggfHwgMDtcbiAgICAgIG1vdmVtZW50WSA9IGV2dC5tb3ZlbWVudFkgfHwgZXZ0Lm1vek1vdmVtZW50WSB8fCAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBtb3ZlbWVudFggPSBldnQuc2NyZWVuWCAtIHByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5YO1xuICAgICAgbW92ZW1lbnRZID0gZXZ0LnNjcmVlblkgLSBwcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWCA9IGV2dC5zY3JlZW5YO1xuICAgIHRoaXMucHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblkgPSBldnQuc2NyZWVuWTtcblxuICAgIC8vIENhbGN1bGF0ZSByb3RhdGlvbi5cbiAgICBkaXJlY3Rpb24gPSB0aGlzLmRhdGEucmV2ZXJzZU1vdXNlRHJhZyA/IDEgOiAtMTtcbiAgICB5YXdPYmplY3Qucm90YXRpb24ueSArPSBtb3ZlbWVudFggKiAwLjAwMiAqIGRpcmVjdGlvbjtcbiAgICBwaXRjaE9iamVjdC5yb3RhdGlvbi54ICs9IG1vdmVtZW50WSAqIDAuMDAyICogZGlyZWN0aW9uO1xuICAgIHBpdGNoT2JqZWN0LnJvdGF0aW9uLnggPSBNYXRoLm1heCgtUElfMiwgTWF0aC5taW4oUElfMiwgcGl0Y2hPYmplY3Qucm90YXRpb24ueCkpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBtb3VzZSBkb3duIHRvIGRldGVjdCBtb3VzZSBkcmFnLlxuICAgKi9cbiAgb25Nb3VzZURvd246IGZ1bmN0aW9uIChldnQpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcbiAgICBpZiAoIXRoaXMuZGF0YS5lbmFibGVkIHx8IChzY2VuZUVsLmlzKCd2ci1tb2RlJykgJiYgc2NlbmVFbC5jaGVja0hlYWRzZXRDb25uZWN0ZWQoKSkpIHsgcmV0dXJuOyB9XG4gICAgLy8gSGFuZGxlIG9ubHkgcHJpbWFyeSBidXR0b24uXG4gICAgaWYgKGV2dC5idXR0b24gIT09IDApIHsgcmV0dXJuOyB9XG5cbiAgICB2YXIgY2FudmFzRWwgPSBzY2VuZUVsICYmIHNjZW5lRWwuY2FudmFzO1xuXG4gICAgdGhpcy5tb3VzZURvd24gPSB0cnVlO1xuICAgIHRoaXMucHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblggPSBldnQuc2NyZWVuWDtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5ZID0gZXZ0LnNjcmVlblk7XG4gICAgdGhpcy5zaG93R3JhYmJpbmdDdXJzb3IoKTtcblxuICAgIGlmICh0aGlzLmRhdGEucG9pbnRlckxvY2tFbmFibGVkICYmICF0aGlzLnBvaW50ZXJMb2NrZWQpIHtcbiAgICAgIGlmIChjYW52YXNFbC5yZXF1ZXN0UG9pbnRlckxvY2spIHtcbiAgICAgICAgY2FudmFzRWwucmVxdWVzdFBvaW50ZXJMb2NrKCk7XG4gICAgICB9IGVsc2UgaWYgKGNhbnZhc0VsLm1velJlcXVlc3RQb2ludGVyTG9jaykge1xuICAgICAgICBjYW52YXNFbC5tb3pSZXF1ZXN0UG9pbnRlckxvY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNob3dzIGdyYWJiaW5nIGN1cnNvciBvbiBzY2VuZVxuICAgKi9cbiAgc2hvd0dyYWJiaW5nQ3Vyc29yOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5lbC5zY2VuZUVsLmNhbnZhcy5zdHlsZS5jdXJzb3IgPSAnZ3JhYmJpbmcnO1xuICB9LFxuXG4gIC8qKlxuICAgKiBIaWRlcyBncmFiYmluZyBjdXJzb3Igb24gc2NlbmVcbiAgICovXG4gIGhpZGVHcmFiYmluZ0N1cnNvcjogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZWwuc2NlbmVFbC5jYW52YXMuc3R5bGUuY3Vyc29yID0gJyc7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIG1vdXNlIHVwIHRvIGRldGVjdCByZWxlYXNlIG9mIG1vdXNlIGRyYWcuXG4gICAqL1xuICBvbk1vdXNlVXA6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLm1vdXNlRG93biA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZUdyYWJiaW5nQ3Vyc29yKCk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRvdWNoIGRvd24gdG8gZGV0ZWN0IHRvdWNoIGRyYWcuXG4gICAqL1xuICBvblRvdWNoU3RhcnQ6IGZ1bmN0aW9uIChldnQpIHtcbiAgICBpZiAoZXZ0LnRvdWNoZXMubGVuZ3RoICE9PSAxIHx8XG4gICAgICAgICF0aGlzLmRhdGEudG91Y2hFbmFibGVkIHx8XG4gICAgICAgIHRoaXMuZWwuc2NlbmVFbC5pcygndnItbW9kZScpKSB7IHJldHVybjsgfVxuICAgIHRoaXMudG91Y2hTdGFydCA9IHtcbiAgICAgIHg6IGV2dC50b3VjaGVzWzBdLnBhZ2VYLFxuICAgICAgeTogZXZ0LnRvdWNoZXNbMF0ucGFnZVlcbiAgICB9O1xuICAgIHRoaXMudG91Y2hTdGFydGVkID0gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogVHJhbnNsYXRlIHRvdWNoIG1vdmUgdG8gWS1heGlzIHJvdGF0aW9uLlxuICAgKi9cbiAgb25Ub3VjaE1vdmU6IGZ1bmN0aW9uIChldnQpIHtcbiAgICB2YXIgZGlyZWN0aW9uO1xuICAgIHZhciBjYW52YXMgPSB0aGlzLmVsLnNjZW5lRWwuY2FudmFzO1xuICAgIHZhciBkZWx0YVk7XG4gICAgdmFyIHlhd09iamVjdCA9IHRoaXMueWF3T2JqZWN0O1xuXG4gICAgaWYgKCF0aGlzLnRvdWNoU3RhcnRlZCB8fCAhdGhpcy5kYXRhLnRvdWNoRW5hYmxlZCkgeyByZXR1cm47IH1cblxuICAgIGRlbHRhWSA9IDIgKiBNYXRoLlBJICogKGV2dC50b3VjaGVzWzBdLnBhZ2VYIC0gdGhpcy50b3VjaFN0YXJ0LngpIC8gY2FudmFzLmNsaWVudFdpZHRoO1xuXG4gICAgZGlyZWN0aW9uID0gdGhpcy5kYXRhLnJldmVyc2VUb3VjaERyYWcgPyAxIDogLTE7XG4gICAgLy8gTGltaXQgdG91Y2ggb3JpZW50YWlvbiB0byB0byB5YXcgKHkgYXhpcykuXG4gICAgeWF3T2JqZWN0LnJvdGF0aW9uLnkgLT0gZGVsdGFZICogMC41ICogZGlyZWN0aW9uO1xuICAgIHRoaXMudG91Y2hTdGFydCA9IHtcbiAgICAgIHg6IGV2dC50b3VjaGVzWzBdLnBhZ2VYLFxuICAgICAgeTogZXZ0LnRvdWNoZXNbMF0ucGFnZVlcbiAgICB9O1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0b3VjaCBlbmQgdG8gZGV0ZWN0IHJlbGVhc2Ugb2YgdG91Y2ggZHJhZy5cbiAgICovXG4gIG9uVG91Y2hFbmQ6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnRvdWNoU3RhcnRlZCA9IGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBTYXZlIHBvc2UuXG4gICAqL1xuICBvbkVudGVyVlI6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcbiAgICBpZiAoIXNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5zYXZlQ2FtZXJhUG9zZSgpO1xuICAgIHRoaXMuZWwub2JqZWN0M0QucG9zaXRpb24uc2V0KDAsIDAsIDApO1xuICAgIHRoaXMuZWwub2JqZWN0M0Qucm90YXRpb24uc2V0KDAsIDAsIDApO1xuICAgIGlmIChzY2VuZUVsLmhhc1dlYlhSKSB7XG4gICAgICB0aGlzLmVsLm9iamVjdDNELm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZWwub2JqZWN0M0QudXBkYXRlTWF0cml4KCk7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBSZXN0b3JlIHRoZSBwb3NlLlxuICAgKi9cbiAgb25FeGl0VlI6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuZWwuc2NlbmVFbC5jaGVja0hlYWRzZXRDb25uZWN0ZWQoKSkgeyByZXR1cm47IH1cbiAgICB0aGlzLnJlc3RvcmVDYW1lcmFQb3NlKCk7XG4gICAgdGhpcy5wcmV2aW91c0hNRFBvc2l0aW9uLnNldCgwLCAwLCAwKTtcbiAgICB0aGlzLmVsLm9iamVjdDNELm1hdHJpeEF1dG9VcGRhdGUgPSB0cnVlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBVcGRhdGUgUG9pbnRlciBMb2NrIHN0YXRlLlxuICAgKi9cbiAgb25Qb2ludGVyTG9ja0NoYW5nZTogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucG9pbnRlckxvY2tlZCA9ICEhKGRvY3VtZW50LnBvaW50ZXJMb2NrRWxlbWVudCB8fCBkb2N1bWVudC5tb3pQb2ludGVyTG9ja0VsZW1lbnQpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWNvdmVyIGZyb20gUG9pbnRlciBMb2NrIGVycm9yLlxuICAgKi9cbiAgb25Qb2ludGVyTG9ja0Vycm9yOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5wb2ludGVyTG9ja2VkID0gZmFsc2U7XG4gIH0sXG5cbiAgLy8gRXhpdHMgcG9pbnRlci1sb2NrZWQgbW9kZS5cbiAgZXhpdFBvaW50ZXJMb2NrOiBmdW5jdGlvbiAoKSB7XG4gICAgZG9jdW1lbnQuZXhpdFBvaW50ZXJMb2NrKCk7XG4gICAgdGhpcy5wb2ludGVyTG9ja2VkID0gZmFsc2U7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZmVhdHVyZSBvZiBzaG93aW5nL2hpZGluZyB0aGUgZ3JhYiBjdXJzb3IuXG4gICAqL1xuICB1cGRhdGVHcmFiQ3Vyc29yOiBmdW5jdGlvbiAoZW5hYmxlZCkge1xuICAgIHZhciBzY2VuZUVsID0gdGhpcy5lbC5zY2VuZUVsO1xuXG4gICAgZnVuY3Rpb24gZW5hYmxlR3JhYkN1cnNvciAoKSB7IHNjZW5lRWwuY2FudmFzLmNsYXNzTGlzdC5hZGQoJ2EtZ3JhYi1jdXJzb3InKTsgfVxuICAgIGZ1bmN0aW9uIGRpc2FibGVHcmFiQ3Vyc29yICgpIHsgc2NlbmVFbC5jYW52YXMuY2xhc3NMaXN0LnJlbW92ZSgnYS1ncmFiLWN1cnNvcicpOyB9XG5cbiAgICBpZiAoIXNjZW5lRWwuY2FudmFzKSB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICBzY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ3JlbmRlci10YXJnZXQtbG9hZGVkJywgZW5hYmxlR3JhYkN1cnNvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ3JlbmRlci10YXJnZXQtbG9hZGVkJywgZGlzYWJsZUdyYWJDdXJzb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICBlbmFibGVHcmFiQ3Vyc29yKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRpc2FibGVHcmFiQ3Vyc29yKCk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFNhdmUgY2FtZXJhIHBvc2UgYmVmb3JlIGVudGVyaW5nIFZSIHRvIHJlc3RvcmUgbGF0ZXIgaWYgZXhpdGluZy5cbiAgICovXG4gIHNhdmVDYW1lcmFQb3NlOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGVsID0gdGhpcy5lbDtcblxuICAgIHRoaXMuc2F2ZWRQb3NlLnBvc2l0aW9uLmNvcHkoZWwub2JqZWN0M0QucG9zaXRpb24pO1xuICAgIHRoaXMuc2F2ZWRQb3NlLnJvdGF0aW9uLmNvcHkoZWwub2JqZWN0M0Qucm90YXRpb24pO1xuICAgIHRoaXMuaGFzU2F2ZWRQb3NlID0gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogUmVzZXQgY2FtZXJhIHBvc2UgdG8gYmVmb3JlIGVudGVyaW5nIFZSLlxuICAgKi9cbiAgcmVzdG9yZUNhbWVyYVBvc2U6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZWwgPSB0aGlzLmVsO1xuICAgIHZhciBzYXZlZFBvc2UgPSB0aGlzLnNhdmVkUG9zZTtcblxuICAgIGlmICghdGhpcy5oYXNTYXZlZFBvc2UpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBSZXNldCBjYW1lcmEgb3JpZW50YXRpb24uXG4gICAgZWwub2JqZWN0M0QucG9zaXRpb24uY29weShzYXZlZFBvc2UucG9zaXRpb24pO1xuICAgIGVsLm9iamVjdDNELnJvdGF0aW9uLmNvcHkoc2F2ZWRQb3NlLnJvdGF0aW9uKTtcbiAgICB0aGlzLmhhc1NhdmVkUG9zZSA9IGZhbHNlO1xuICB9XG59KTtcbiIsImltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSdcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdhcmpzLXdlYmNhbS10ZXh0dXJlJywge1xuXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuc2NlbmUgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgICAgIHRoaXMudGV4Q2FtZXJhID0gbmV3IFRIUkVFLk9ydGhvZ3JhcGhpY0NhbWVyYSgtMC41LCAwLjUsIDAuNSwgLTAuNSwgMCwgMTApO1xuICAgICAgICB0aGlzLnRleFNjZW5lID0gbmV3IFRIUkVFLlNjZW5lKCk7XG5cbiAgICAgICAgdGhpcy5zY2VuZS5yZW5kZXJlci5hdXRvQ2xlYXIgPSBmYWxzZTtcbiAgICAgICAgdGhpcy52aWRlbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ2aWRlb1wiKTtcbiAgICAgICAgdGhpcy52aWRlby5zZXRBdHRyaWJ1dGUoXCJhdXRvcGxheVwiLCB0cnVlKTtcbiAgICAgICAgdGhpcy52aWRlby5zZXRBdHRyaWJ1dGUoXCJwbGF5c2lubGluZVwiLCB0cnVlKTtcbiAgICAgICAgdGhpcy52aWRlby5zZXRBdHRyaWJ1dGUoXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnZpZGVvKTtcbiAgICAgICAgdGhpcy5nZW9tID0gbmV3IFRIUkVFLlBsYW5lQnVmZmVyR2VvbWV0cnkoKTsgLy8wLjUsIDAuNSk7XG4gICAgICAgIHRoaXMudGV4dHVyZSA9IG5ldyBUSFJFRS5WaWRlb1RleHR1cmUodGhpcy52aWRlbyk7XG4gICAgICAgIHRoaXMubWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoIHsgbWFwOiB0aGlzLnRleHR1cmUgfSApO1xuICAgICAgICBjb25zdCBtZXNoID0gbmV3IFRIUkVFLk1lc2godGhpcy5nZW9tLCB0aGlzLm1hdGVyaWFsKTtcbiAgICAgICAgdGhpcy50ZXhTY2VuZS5hZGQobWVzaCk7XG4gICAgfSxcblxuICAgIHBsYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZihuYXZpZ2F0b3IubWVkaWFEZXZpY2VzICYmIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKSB7XG4gICAgICAgICAgICBjb25zdCBjb25zdHJhaW50cyA9IHsgdmlkZW86IHtcbiAgICAgICAgICAgICAgICBmYWNpbmdNb2RlOiAnZW52aXJvbm1lbnQnIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYShjb25zdHJhaW50cykudGhlbiggc3RyZWFtPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0ID0gc3RyZWFtOyAgICBcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvLnBsYXkoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZSA9PiB7ICBcbiAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cChgV2ViY2FtIGVycm9yOiAke2V9YCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdzb3JyeSAtIG1lZGlhIGRldmljZXMgQVBJIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB0aWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5zY2VuZS5yZW5kZXJlci5jbGVhcigpO1xuICAgICAgICB0aGlzLnNjZW5lLnJlbmRlcmVyLnJlbmRlcih0aGlzLnRleFNjZW5lLCB0aGlzLnRleENhbWVyYSk7XG4gICAgICAgIHRoaXMuc2NlbmUucmVuZGVyZXIuY2xlYXJEZXB0aCgpO1xuICAgIH0sXG5cbiAgICBwYXVzZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMudmlkZW8uc3JjT2JqZWN0LmdldFRyYWNrcygpLmZvckVhY2ggKCB0cmFjayA9PiB7XG4gICAgICAgICAgICB0cmFjay5zdG9wKCk7XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLm1hdGVyaWFsLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy50ZXh0dXJlLmRpc3Bvc2UoKTtcbiAgICAgICAgdGhpcy5nZW9tLmRpc3Bvc2UoKTtcbiAgICB9XG59KTtcbiIsIi8qXG4gKiBVUERBVEVTIDI4LzA4LzIwOlxuICpcbiAqIC0gYWRkIGdwc01pbkRpc3RhbmNlIGFuZCBncHNUaW1lSW50ZXJ2YWwgcHJvcGVydGllcyB0byBjb250cm9sIGhvd1xuICogZnJlcXVlbnRseSBHUFMgdXBkYXRlcyBhcmUgcHJvY2Vzc2VkLiBBaW0gaXMgdG8gcHJldmVudCAnc3R1dHRlcmluZydcbiAqIGVmZmVjdHMgd2hlbiBjbG9zZSB0byBBUiBjb250ZW50IGR1ZSB0byBjb250aW51b3VzIHNtYWxsIGNoYW5nZXMgaW5cbiAqIGxvY2F0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2dwcy1jYW1lcmEnLCB7XG4gICAgX3dhdGNoUG9zaXRpb25JZDogbnVsbCxcbiAgICBvcmlnaW5Db29yZHM6IG51bGwsXG4gICAgY3VycmVudENvb3JkczogbnVsbCxcbiAgICBsb29rQ29udHJvbHM6IG51bGwsXG4gICAgaGVhZGluZzogbnVsbCxcbiAgICBzY2hlbWE6IHtcbiAgICAgICAgc2ltdWxhdGVMYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUFsdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvc2l0aW9uTWluQWNjdXJhY3k6IHtcbiAgICAgICAgICAgIHR5cGU6ICdpbnQnLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwLFxuICAgICAgICB9LFxuICAgICAgICBhbGVydDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG1pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIG1heERpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGdwc01pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDUsXG4gICAgICAgIH0sXG4gICAgICAgIGdwc1RpbWVJbnRlcnZhbDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgdXBkYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlICE9PSAwICYmIHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRDb29yZHMgfHwge30pO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sb25naXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGU7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmxhdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTGF0aXR1ZGU7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuXG4gICAgICAgICAgICAvLyByZS10cmlnZ2VyIGluaXRpYWxpemF0aW9uIGZvciBuZXcgb3JpZ2luXG4gICAgICAgICAgICB0aGlzLm9yaWdpbkNvb3JkcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpbml0OiBmdW5jdGlvbiAoKSB7ICAgICAgXG4gICAgICAgIGlmICghdGhpcy5lbC5jb21wb25lbnRzWydhcmpzLWxvb2stY29udHJvbHMnXSAmJiAhdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ10pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgbGF0aXR1ZGU6IDAsXG4gICAgICAgICAgICBsb25naXR1ZGU6IDBcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxvYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICB0aGlzLmxvYWRlci5jbGFzc0xpc3QuYWRkKCdhcmpzLWxvYWRlcicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMubG9hZGVyKTtcblxuICAgICAgICB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCA9IHRoaXMuX29uR3BzRW50aXR5UGxhY2VBZGRlZC5iaW5kKHRoaXMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHRoaXMub25HcHNFbnRpdHlQbGFjZUFkZGVkKTtcblxuICAgICAgICB0aGlzLmxvb2tDb250cm9scyA9IHRoaXMuZWwuY29tcG9uZW50c1snYXJqcy1sb29rLWNvbnRyb2xzJ10gfHwgdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ107XG5cbiAgICAgICAgLy8gbGlzdGVuIHRvIGRldmljZW9yaWVudGF0aW9uIGV2ZW50XG4gICAgICAgIHZhciBldmVudE5hbWUgPSB0aGlzLl9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZSgpO1xuICAgICAgICB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uID0gdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbi5iaW5kKHRoaXMpO1xuXG4gICAgICAgIC8vIGlmIFNhZmFyaVxuICAgICAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9WZXJzaW9uXFwvW1xcZC5dKy4qU2FmYXJpLykpIHtcbiAgICAgICAgICAgIC8vIGlPUyAxMytcbiAgICAgICAgICAgIGlmICh0eXBlb2YgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnUmVxdWVzdGluZyBkZXZpY2Ugb3JpZW50YXRpb24gcGVybWlzc2lvbnMuLi4nKVxuICAgICAgICAgICAgICAgICAgICBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgaGFuZGxlcik7XG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgZnVuY3Rpb24gKCkgeyBoYW5kbGVyKCkgfSwgZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoICdBZnRlciBjYW1lcmEgcGVybWlzc2lvbiBwcm9tcHQsIHBsZWFzZSB0YXAgdGhlIHNjcmVlbiB0byBhY3RpdmF0ZSBnZW9sb2NhdGlvbi4nKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoJ1BsZWFzZSBlbmFibGUgZGV2aWNlIG9yaWVudGF0aW9uIGluIFNldHRpbmdzID4gU2FmYXJpID4gTW90aW9uICYgT3JpZW50YXRpb24gQWNjZXNzLicpO1xuICAgICAgICAgICAgICAgIH0sIDc1MCk7XG4gICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbiwgZmFsc2UpO1xuXG4gICAgfSxcblxuICAgIHBsYXk6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlTGF0aXR1ZGUgIT09IDAgJiYgdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlICE9PSAwKSB7XG4gICAgICAgICAgICB2YXIgbG9jYWxQb3NpdGlvbiA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY3VycmVudENvb3JkcyB8fCB7fSk7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmxhdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTGF0aXR1ZGU7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmxvbmdpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgIGxvY2FsUG9zaXRpb24uYWx0aXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3JkcyA9IGxvY2FsUG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fd2F0Y2hQb3NpdGlvbklkID0gdGhpcy5faW5pdFdhdGNoR1BTKGZ1bmN0aW9uIChwb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogcG9zaXRpb24uY29vcmRzLmxhdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIGFsdGl0dWRlOiBwb3NpdGlvbi5jb29yZHMuYWx0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIGFjY3VyYWN5OiBwb3NpdGlvbi5jb29yZHMuYWNjdXJhY3ksXG4gICAgICAgICAgICAgICAgICAgIGFsdGl0dWRlQWNjdXJhY3k6IHBvc2l0aW9uLmNvb3Jkcy5hbHRpdHVkZUFjY3VyYWN5LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsUG9zaXRpb24uYWx0aXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuICAgICAgICAgICAgICAgIHZhciBkaXN0TW92ZWQgPSB0aGlzLl9oYXZlcnNpbmVEaXN0KFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmKGRpc3RNb3ZlZCA+PSB0aGlzLmRhdGEuZ3BzTWluRGlzdGFuY2UgfHwgIXRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGU6IHRoaXMuY3VycmVudENvb3Jkcy5sYXRpdHVkZVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgdGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5oZWFkaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdXBkYXRlUm90YXRpb24oKTtcbiAgICB9LFxuXG4gICAgcGF1c2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fd2F0Y2hQb3NpdGlvbklkKSB7XG4gICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl93YXRjaFBvc2l0aW9uSWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dhdGNoUG9zaXRpb25JZCA9IG51bGw7XG4gICAgfSxcblxuICAgIHJlbW92ZTogZnVuY3Rpb24gKCkge1xuXG4gICAgICAgIHZhciBldmVudE5hbWUgPSB0aGlzLl9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZSgpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcblxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHRoaXMub25HcHNFbnRpdHlQbGFjZUFkZGVkKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR2V0IGRldmljZSBvcmllbnRhdGlvbiBldmVudCBuYW1lLCBkZXBlbmRzIG9uIGJyb3dzZXIgaW1wbGVtZW50YXRpb24uXG4gICAgICogQHJldHVybnMge3N0cmluZ30gZXZlbnQgbmFtZVxuICAgICAqL1xuICAgIF9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZTogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoJ29uZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZScgaW4gd2luZG93KSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJ2RldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnXG4gICAgICAgIH0gZWxzZSBpZiAoJ29uZGV2aWNlb3JpZW50YXRpb24nIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbidcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnJ1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQ29tcGFzcyBub3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBldmVudE5hbWVcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1cnJlbnQgdXNlciBwb3NpdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uU3VjY2Vzc1xuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uRXJyb3JcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICAgKi9cbiAgICBfaW5pdFdhdGNoR1BTOiBmdW5jdGlvbiAob25TdWNjZXNzLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICghb25FcnJvcikge1xuICAgICAgICAgICAgb25FcnJvciA9IGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0VSUk9SKCcgKyBlcnIuY29kZSArICcpOiAnICsgZXJyLm1lc3NhZ2UpXG5cbiAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVXNlciBkZW5pZWQgR2VvTG9jYXRpb24sIGxldCB0aGVpciBrbm93IHRoYXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoJ1BsZWFzZSBhY3RpdmF0ZSBHZW9sb2NhdGlvbiBhbmQgcmVmcmVzaCB0aGUgcGFnZS4gSWYgaXQgaXMgYWxyZWFkeSBhY3RpdmUsIHBsZWFzZSBjaGVjayBwZXJtaXNzaW9ucyBmb3IgdGhpcyB3ZWJzaXRlLicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdDYW5ub3QgcmV0cmlldmUgR1BTIHBvc2l0aW9uLiBTaWduYWwgaXMgYWJzZW50LicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnZ2VvbG9jYXRpb24nIGluIG5hdmlnYXRvciA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG9uRXJyb3IoeyBjb2RlOiAwLCBtZXNzYWdlOiAnR2VvbG9jYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXInIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0dlb2xvY2F0aW9uL3dhdGNoUG9zaXRpb25cbiAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5nZW9sb2NhdGlvbi53YXRjaFBvc2l0aW9uKG9uU3VjY2Vzcywgb25FcnJvciwge1xuICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxuICAgICAgICAgICAgbWF4aW11bUFnZTogdGhpcy5kYXRhLmdwc1RpbWVJbnRlcnZhbCxcbiAgICAgICAgICAgIHRpbWVvdXQ6IDI3MDAwLFxuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfdXBkYXRlUG9zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIGlmIGFjY3VyYWN5IGlzIG5vdCBnb29kIGVub3VnaFxuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29vcmRzLmFjY3VyYWN5ID4gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuYWxlcnQgJiYgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1wb3B1cCcpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgcG9wdXAuaW5uZXJIVE1MID0gJ0dQUyBzaWduYWwgaXMgdmVyeSBwb29yLiBUcnkgbW92ZSBvdXRkb29yIG9yIHRvIGFuIGFyZWEgd2l0aCBhIGJldHRlciBzaWduYWwuJ1xuICAgICAgICAgICAgICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnYWxlcnQtcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBhbGVydFBvcHVwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXBvcHVwJyk7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb29yZHMuYWNjdXJhY3kgPD0gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kgJiYgYWxlcnRQb3B1cCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhbGVydFBvcHVwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgIC8vIGZpcnN0IGNhbWVyYSBpbml0aWFsaXphdGlvblxuICAgICAgICAgICAgdGhpcy5vcmlnaW5Db29yZHMgPSB0aGlzLmN1cnJlbnRDb29yZHM7XG4gICAgICAgICAgICB0aGlzLl9zZXRQb3NpdGlvbigpO1xuXG4gICAgICAgICAgICB2YXIgbG9hZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFyanMtbG9hZGVyJyk7XG4gICAgICAgICAgICBpZiAobG9hZGVyKSB7XG4gICAgICAgICAgICAgICAgbG9hZGVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLW9yaWdpbi1jb29yZC1zZXQnKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9zZXRQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBfc2V0UG9zaXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJyk7XG5cbiAgICAgICAgLy8gY29tcHV0ZSBwb3NpdGlvbi54XG4gICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5vcmlnaW5Db29yZHMubGF0aXR1ZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcG9zaXRpb24ueCA9IHRoaXMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKHRoaXMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuICAgICAgICBwb3NpdGlvbi54ICo9IHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUgPiB0aGlzLm9yaWdpbkNvb3Jkcy5sb25naXR1ZGUgPyAxIDogLTE7XG5cbiAgICAgICAgLy8gY29tcHV0ZSBwb3NpdGlvbi56XG4gICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMub3JpZ2luQ29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGUsXG4gICAgICAgIH1cblxuICAgICAgICBwb3NpdGlvbi56ID0gdGhpcy5jb21wdXRlRGlzdGFuY2VNZXRlcnModGhpcy5vcmlnaW5Db29yZHMsIGRzdENvb3Jkcyk7XG4gICAgICAgIHBvc2l0aW9uLnogKj0gdGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlID4gdGhpcy5vcmlnaW5Db29yZHMubGF0aXR1ZGUgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gdXBkYXRlIHBvc2l0aW9uXG4gICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHBvc2l0aW9uKTtcblxuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtdXBkYXRlLXBvc2l0aW9uJywgeyBkZXRhaWw6IHsgcG9zaXRpb246IHRoaXMuY3VycmVudENvb3Jkcywgb3JpZ2luOiB0aGlzLm9yaWdpbkNvb3JkcyB9IH0pKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGlzdGFuY2UgaW4gbWV0ZXJzIGJldHdlZW4gc291cmNlIGFuZCBkZXN0aW5hdGlvbiBpbnB1dHMuXG4gICAgICpcbiAgICAgKiAgQ2FsY3VsYXRlIGRpc3RhbmNlLCBiZWFyaW5nIGFuZCBtb3JlIGJldHdlZW4gTGF0aXR1ZGUvTG9uZ2l0dWRlIHBvaW50c1xuICAgICAqICBEZXRhaWxzOiBodHRwczovL3d3dy5tb3ZhYmxlLXR5cGUuY28udWsvc2NyaXB0cy9sYXRsb25nLmh0bWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UG9zaXRpb259IHNyY1xuICAgICAqIEBwYXJhbSB7UG9zaXRpb259IGRlc3RcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGlzUGxhY2VcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IGRpc3RhbmNlIHwgTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgKi9cbiAgICBjb21wdXRlRGlzdGFuY2VNZXRlcnM6IGZ1bmN0aW9uIChzcmMsIGRlc3QsIGlzUGxhY2UpIHtcbiAgICAgICAgdmFyIGRpc3RhbmNlID0gdGhpcy5faGF2ZXJzaW5lRGlzdCAoc3JjLCBkZXN0KTtcblxuICAgICAgICAvLyBpZiBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQgZm9yIGEgcGxhY2UsIGFuZCBpZiBpdCdzIHRvbyBuZWFyIGFuZCBhIG1pbiBkaXN0YW5jZSBoYXMgYmVlbiBzZXQsXG4gICAgICAgIC8vIHJldHVybiBtYXggZGlzdGFuY2UgcG9zc2libGUgLSB0byBiZSBoYW5kbGVkIGJ5IHRoZSBjYWxsZXJcbiAgICAgICAgaWYgKGlzUGxhY2UgJiYgdGhpcy5kYXRhLm1pbkRpc3RhbmNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSA+IDAgJiYgZGlzdGFuY2UgPCB0aGlzLmRhdGEubWluRGlzdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZCBmb3IgYSBwbGFjZSwgYW5kIGlmIGl0J3MgdG9vIGZhciBhbmQgYSBtYXggZGlzdGFuY2UgaGFzIGJlZW4gc2V0LFxuICAgICAgICAvLyByZXR1cm4gbWF4IGRpc3RhbmNlIHBvc3NpYmxlIC0gdG8gYmUgaGFuZGxlZCBieSB0aGUgY2FsbGVyXG4gICAgICAgIGlmIChpc1BsYWNlICYmIHRoaXMuZGF0YS5tYXhEaXN0YW5jZSAmJiB0aGlzLmRhdGEubWF4RGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlID4gdGhpcy5kYXRhLm1heERpc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfSxcblxuICAgIF9oYXZlcnNpbmVEaXN0OiBmdW5jdGlvbiAoc3JjLCBkZXN0KSB7XG4gICAgICAgIHZhciBkbG9uZ2l0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxvbmdpdHVkZSAtIHNyYy5sb25naXR1ZGUpO1xuICAgICAgICB2YXIgZGxhdGl0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxhdGl0dWRlIC0gc3JjLmxhdGl0dWRlKTtcblxuICAgICAgICB2YXIgYSA9IChNYXRoLnNpbihkbGF0aXR1ZGUgLyAyKSAqIE1hdGguc2luKGRsYXRpdHVkZSAvIDIpKSArIE1hdGguY29zKFRIUkVFLk1hdGguZGVnVG9SYWQoc3JjLmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhUSFJFRS5NYXRoLmRlZ1RvUmFkKGRlc3QubGF0aXR1ZGUpKSAqIChNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikgKiBNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikpO1xuICAgICAgICB2YXIgYW5nbGUgPSAyICogTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksIE1hdGguc3FydCgxIC0gYSkpO1xuICAgICAgICByZXR1cm4gYW5nbGUgKiA2MzcxMDAwO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlIGNvbXBhc3MgaGVhZGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhbHBoYVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiZXRhXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGdhbW1hXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBjb21wYXNzIGhlYWRpbmdcbiAgICAgKi9cbiAgICBfY29tcHV0ZUNvbXBhc3NIZWFkaW5nOiBmdW5jdGlvbiAoYWxwaGEsIGJldGEsIGdhbW1hKSB7XG5cbiAgICAgICAgLy8gQ29udmVydCBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICAgICAgdmFyIGFscGhhUmFkID0gYWxwaGEgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHZhciBiZXRhUmFkID0gYmV0YSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdmFyIGdhbW1hUmFkID0gZ2FtbWEgKiAoTWF0aC5QSSAvIDE4MCk7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIGVxdWF0aW9uIGNvbXBvbmVudHNcbiAgICAgICAgdmFyIGNBID0gTWF0aC5jb3MoYWxwaGFSYWQpO1xuICAgICAgICB2YXIgc0EgPSBNYXRoLnNpbihhbHBoYVJhZCk7XG4gICAgICAgIHZhciBzQiA9IE1hdGguc2luKGJldGFSYWQpO1xuICAgICAgICB2YXIgY0cgPSBNYXRoLmNvcyhnYW1tYVJhZCk7XG4gICAgICAgIHZhciBzRyA9IE1hdGguc2luKGdhbW1hUmFkKTtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgQSwgQiwgQyByb3RhdGlvbiBjb21wb25lbnRzXG4gICAgICAgIHZhciByQSA9IC0gY0EgKiBzRyAtIHNBICogc0IgKiBjRztcbiAgICAgICAgdmFyIHJCID0gLSBzQSAqIHNHICsgY0EgKiBzQiAqIGNHO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBjb21wYXNzIGhlYWRpbmdcbiAgICAgICAgdmFyIGNvbXBhc3NIZWFkaW5nID0gTWF0aC5hdGFuKHJBIC8gckIpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZnJvbSBoYWxmIHVuaXQgY2lyY2xlIHRvIHdob2xlIHVuaXQgY2lyY2xlXG4gICAgICAgIGlmIChyQiA8IDApIHtcbiAgICAgICAgICAgIGNvbXBhc3NIZWFkaW5nICs9IE1hdGguUEk7XG4gICAgICAgIH0gZWxzZSBpZiAockEgPCAwKSB7XG4gICAgICAgICAgICBjb21wYXNzSGVhZGluZyArPSAyICogTWF0aC5QSTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnZlcnQgcmFkaWFucyB0byBkZWdyZWVzXG4gICAgICAgIGNvbXBhc3NIZWFkaW5nICo9IDE4MCAvIE1hdGguUEk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBhc3NIZWFkaW5nO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVyIGZvciBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF9vbkRldmljZU9yaWVudGF0aW9uOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LndlYmtpdENvbXBhc3NIZWFkaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC53ZWJraXRDb21wYXNzQWNjdXJhY3kgPCA1MCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGluZyA9IGV2ZW50LndlYmtpdENvbXBhc3NIZWFkaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ3dlYmtpdENvbXBhc3NBY2N1cmFjeSBpcyBldmVudC53ZWJraXRDb21wYXNzQWNjdXJhY3knKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5hbHBoYSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmFic29sdXRlID09PSB0cnVlIHx8IGV2ZW50LmFic29sdXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRpbmcgPSB0aGlzLl9jb21wdXRlQ29tcGFzc0hlYWRpbmcoZXZlbnQuYWxwaGEsIGV2ZW50LmJldGEsIGV2ZW50LmdhbW1hKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdldmVudC5hYnNvbHV0ZSA9PT0gZmFsc2UnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignZXZlbnQuYWxwaGEgPT09IG51bGwnKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGUgdXNlciByb3RhdGlvbiBkYXRhLlxuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVJvdGF0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBoZWFkaW5nID0gMzYwIC0gdGhpcy5oZWFkaW5nO1xuICAgICAgICB2YXIgY2FtZXJhUm90YXRpb24gPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncm90YXRpb24nKS55O1xuICAgICAgICB2YXIgeWF3Um90YXRpb24gPSBUSFJFRS5NYXRoLnJhZFRvRGVnKHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55KTtcbiAgICAgICAgdmFyIG9mZnNldCA9IChoZWFkaW5nIC0gKGNhbWVyYVJvdGF0aW9uIC0geWF3Um90YXRpb24pKSAlIDM2MDtcbiAgICAgICAgdGhpcy5sb29rQ29udHJvbHMueWF3T2JqZWN0LnJvdGF0aW9uLnkgPSBUSFJFRS5NYXRoLmRlZ1RvUmFkKG9mZnNldCk7XG4gICAgfSxcbiAgICBcbiAgICBfb25HcHNFbnRpdHlQbGFjZUFkZGVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gaWYgcGxhY2VzIGFyZSBhZGRlZCBhZnRlciBjYW1lcmEgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWRcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sb2FkZXIgJiYgdGhpcy5sb2FkZXIucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmxvYWRlcilcbiAgICAgICAgfVxuICAgIH1cbn0pOyIsImltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnO1xuXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2dwcy1lbnRpdHktcGxhY2UnLCB7XG4gICAgX2NhbWVyYUdwczogbnVsbCxcbiAgICBzY2hlbWE6IHtcbiAgICAgICAgbG9uZ2l0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGxhdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIGNsZWFuaW5nIGxpc3RlbmVycyB3aGVuIHRoZSBlbnRpdHkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET01cbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcsIHRoaXMuY29vcmRTZXRMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG4gICAgfSxcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5jb29yZFNldExpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9jYW1lcmFHcHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2FtZXJhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2dwcy1jYW1lcmFdJyk7XG4gICAgICAgICAgICAgICAgaWYgKCFjYW1lcmEuY29tcG9uZW50c1snZ3BzLWNhbWVyYSddKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2dwcy1jYW1lcmEgbm90IGluaXRpYWxpemVkJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9jYW1lcmFHcHMgPSBjYW1lcmEuY29tcG9uZW50c1snZ3BzLWNhbWVyYSddO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uTGlzdGVuZXIgPSAoZXYpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhIHx8ICF0aGlzLl9jYW1lcmFHcHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLmRhdGEubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmRhdGEubGF0aXR1ZGUsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyBpdCdzIGFjdHVhbGx5IGEgJ2Rpc3RhbmNlIHBsYWNlJywgYnV0IHdlIGRvbid0IGNhbGwgaXQgd2l0aCBsYXN0IHBhcmFtLCBiZWNhdXNlIHdlIHdhbnQgdG8gcmV0cmlldmUgZGlzdGFuY2UgZXZlbiBpZiBpdCdzIDwgbWluRGlzdGFuY2UgcHJvcGVydHlcbiAgICAgICAgICAgIHZhciBkaXN0YW5jZUZvck1zZyA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZXYuZGV0YWlsLnBvc2l0aW9uLCBkc3RDb29yZHMpO1xuXG4gICAgICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgnZGlzdGFuY2UnLCBkaXN0YW5jZUZvck1zZyk7XG4gICAgICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgnZGlzdGFuY2VNc2cnLCBmb3JtYXREaXN0YW5jZShkaXN0YW5jZUZvck1zZykpO1xuICAgICAgICAgICAgdGhpcy5lbC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS11cGRhdGUtcG9zaXRpb24nLCB7IGRldGFpbDogeyBkaXN0YW5jZTogZGlzdGFuY2VGb3JNc2cgfSB9KSk7XG5cbiAgICAgICAgICAgIHZhciBhY3R1YWxEaXN0YW5jZSA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZXYuZGV0YWlsLnBvc2l0aW9uLCBkc3RDb29yZHMsIHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoYWN0dWFsRGlzdGFuY2UgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlRm9yTWluRGlzdGFuY2UodGhpcy5lbCwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JywgdGhpcy5jb29yZFNldExpc3RlbmVyKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtdXBkYXRlLXBvc2l0aW9uJywgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyKTtcblxuICAgICAgICB0aGlzLl9wb3NpdGlvblhEZWJ1ZyA9IDA7XG5cbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtZW50aXR5LXBsYWNlLWFkZGVkJywgeyBkZXRhaWw6IHsgY29tcG9uZW50OiB0aGlzLmVsIH0gfSkpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogSGlkZSBlbnRpdHkgYWNjb3JkaW5nIHRvIG1pbkRpc3RhbmNlIHByb3BlcnR5XG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgaGlkZUZvck1pbkRpc3RhbmNlOiBmdW5jdGlvbihlbCwgaGlkZUVudGl0eSkge1xuICAgICAgICBpZiAoaGlkZUVudGl0eSkge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ2ZhbHNlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3Zpc2libGUnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVcGRhdGUgcGxhY2UgcG9zaXRpb25cbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfdXBkYXRlUG9zaXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgcG9zaXRpb24gPSB7IHg6IDAsIHk6IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpLnkgfHwgMCwgejogMCB9XG5cbiAgICAgICAgLy8gdXBkYXRlIHBvc2l0aW9uLnhcbiAgICAgICAgdmFyIGRzdENvb3JkcyA9IHtcbiAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5kYXRhLmxvbmdpdHVkZSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLmxhdGl0dWRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHBvc2l0aW9uLnggPSB0aGlzLl9jYW1lcmFHcHMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMsIGRzdENvb3Jkcyk7XG5cbiAgICAgICAgdGhpcy5fcG9zaXRpb25YRGVidWcgPSBwb3NpdGlvbi54O1xuXG4gICAgICAgIHBvc2l0aW9uLnggKj0gdGhpcy5kYXRhLmxvbmdpdHVkZSA+IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMubG9uZ2l0dWRlID8gMSA6IC0xO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbi56XG4gICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IHRoaXMuZGF0YS5sYXRpdHVkZSxcbiAgICAgICAgfTtcblxuICAgICAgICBwb3NpdGlvbi56ID0gdGhpcy5fY2FtZXJhR3BzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyh0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuXG4gICAgICAgIHBvc2l0aW9uLnogKj0gdGhpcy5kYXRhLmxhdGl0dWRlID4gdGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3Jkcy5sYXRpdHVkZSA/IC0xIDogMTtcblxuICAgICAgICBpZiAocG9zaXRpb24ueSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGFsdGl0dWRlID0gdGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3Jkcy5hbHRpdHVkZSAhPT0gdW5kZWZpbmVkID8gdGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3Jkcy5hbHRpdHVkZSA6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gcG9zaXRpb24ueSAtIGFsdGl0dWRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdXBkYXRlIGVsZW1lbnQncyBwb3NpdGlvbiBpbiAzRCB3b3JsZFxuICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG4gICAgfSxcbn0pO1xuXG4vKipcbiAqIEZvcm1hdCBkaXN0YW5jZXMgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRpc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlKSB7XG4gICAgZGlzdGFuY2UgPSBkaXN0YW5jZS50b0ZpeGVkKDApO1xuXG4gICAgaWYgKGRpc3RhbmNlID49IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIChkaXN0YW5jZSAvIDEwMDApICsgJyBraWxvbWV0ZXJzJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGlzdGFuY2UgKyAnIG1ldGVycyc7XG59O1xuIiwiLyoqIGdwcy1wcm9qZWN0ZWQtY2FtZXJhXG4gKlxuICogYmFzZWQgb24gdGhlIG9yaWdpbmFsIGdwcy1jYW1lcmEsIG1vZGlmaWVkIGJ5IG5pY2t3IDAyLzA0LzIwXG4gKlxuICogUmF0aGVyIHRoYW4ga2VlcGluZyB0cmFjayBvZiBwb3NpdGlvbiBieSBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2ZcbiAqIGVudGl0aWVzIG9yIHRoZSBjdXJyZW50IGxvY2F0aW9uIHRvIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiwgdGhpcyB2ZXJzaW9uXG4gKiBtYWtlcyB1c2Ugb2YgdGhlIFwiR29vZ2xlXCIgU3BoZXJpY2FsIE1lcmNhY3RvciBwcm9qZWN0aW9uLCBha2EgZXBzZzozODU3LlxuICpcbiAqIFRoZSBvcmlnaW5hbCBwb3NpdGlvbiAobGF0L2xvbikgaXMgcHJvamVjdGVkIGludG8gU3BoZXJpY2FsIE1lcmNhdG9yIGFuZFxuICogc3RvcmVkLlxuICpcbiAqIFRoZW4sIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwb3NpdGlvbiAobGF0L2xvbiksIHRoaXMgbmV3IHBvc2l0aW9uIGlzXG4gKiBwcm9qZWN0ZWQgaW50byBTcGhlcmljYWwgTWVyY2F0b3IgYW5kIHRoZW4gaXRzIHdvcmxkIHBvc2l0aW9uIGNhbGN1bGF0ZWRcbiAqIGJ5IGNvbXBhcmluZyBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBwb3NpdGlvbi5cbiAqXG4gKiBUaGUgc2FtZSBpcyBhbHNvIHRoZSBjYXNlIGZvciAnZW50aXR5LXBsYWNlcyc7IHdoZW4gdGhlc2UgYXJlIGFkZGVkLCB0aGVpclxuICogU3BoZXJpY2FsIE1lcmNhdG9yIGNvb3JkcyBhcmUgY2FsY3VsYXRlZCAoc2VlIGdwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlKS5cbiAqXG4gKiBTcGhlcmljYWwgTWVyY2F0b3IgdW5pdHMgYXJlIGNsb3NlIHRvLCBidXQgbm90IGV4YWN0bHksIG1ldHJlcywgYW5kIGFyZVxuICogaGVhdmlseSBkaXN0b3J0ZWQgbmVhciB0aGUgcG9sZXMuIE5vbmV0aGVsZXNzIHRoZXkgYXJlIGEgZ29vZCBhcHByb3hpbWF0aW9uXG4gKiBmb3IgbWFueSBhcmVhcyBvZiB0aGUgd29ybGQgYW5kIGFwcGVhciBub3QgdG8gY2F1c2UgdW5hY2NlcHRhYmxlIGRpc3RvcnRpb25zXG4gKiB3aGVuIHVzZWQgYXMgdGhlIHVuaXRzIGZvciBBUiBhcHBzLlxuICpcbiAqIFVQREFURVMgMjgvMDgvMjA6XG4gKlxuICogLSBhZGQgZ3BzTWluRGlzdGFuY2UgYW5kIGdwc1RpbWVJbnRlcnZhbCBwcm9wZXJ0aWVzIHRvIGNvbnRyb2wgaG93XG4gKiBmcmVxdWVudGx5IEdQUyB1cGRhdGVzIGFyZSBwcm9jZXNzZWQuIEFpbSBpcyB0byBwcmV2ZW50ICdzdHV0dGVyaW5nJ1xuICogZWZmZWN0cyB3aGVuIGNsb3NlIHRvIEFSIGNvbnRlbnQgZHVlIHRvIGNvbnRpbnVvdXMgc21hbGwgY2hhbmdlcyBpblxuICogbG9jYXRpb24uXG4gKi9cblxuaW1wb3J0ICogYXMgQUZSQU1FIGZyb20gJ2FmcmFtZSdcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdncHMtcHJvamVjdGVkLWNhbWVyYScsIHtcbiAgICBfd2F0Y2hQb3NpdGlvbklkOiBudWxsLFxuICAgIG9yaWdpbkNvb3JkczogbnVsbCwgLy8gb3JpZ2luYWwgY29vcmRzIG5vdyBpbiBTcGhlcmljYWwgTWVyY2F0b3JcbiAgICBjdXJyZW50Q29vcmRzOiBudWxsLFxuICAgIGxvb2tDb250cm9sczogbnVsbCxcbiAgICBoZWFkaW5nOiBudWxsLFxuICAgIHNjaGVtYToge1xuICAgICAgICBzaW11bGF0ZUxhdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpbXVsYXRlTG9uZ2l0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHNpbXVsYXRlQWx0aXR1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgcG9zaXRpb25NaW5BY2N1cmFjeToge1xuICAgICAgICAgICAgdHlwZTogJ2ludCcsXG4gICAgICAgICAgICBkZWZhdWx0OiAxMDAsXG4gICAgICAgIH0sXG4gICAgICAgIGFsZXJ0OiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbWluRGlzdGFuY2U6IHtcbiAgICAgICAgICAgIHR5cGU6ICdpbnQnLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgZ3BzTWluRGlzdGFuY2U6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgICAgICBncHNUaW1lSW50ZXJ2YWw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgdXBkYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlICE9PSAwICYmIHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRDb29yZHMgfHwge30pO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sb25naXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGU7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmxhdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTGF0aXR1ZGU7XG4gICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuXG4gICAgICAgICAgICAvLyByZS10cmlnZ2VyIGluaXRpYWxpemF0aW9uIGZvciBuZXcgb3JpZ2luXG4gICAgICAgICAgICB0aGlzLm9yaWdpbkNvb3JkcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsLmNvbXBvbmVudHNbJ2FyanMtbG9vay1jb250cm9scyddICYmICF0aGlzLmVsLmNvbXBvbmVudHNbJ2xvb2stY29udHJvbHMnXSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7XG4gICAgICAgICAgICBsYXRpdHVkZTogMCxcbiAgICAgICAgICAgIGxvbmdpdHVkZTogMFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMubG9hZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XG4gICAgICAgIHRoaXMubG9hZGVyLmNsYXNzTGlzdC5hZGQoJ2FyanMtbG9hZGVyJyk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5sb2FkZXIpO1xuXG4gICAgICAgIHRoaXMub25HcHNFbnRpdHlQbGFjZUFkZGVkID0gdGhpcy5fb25HcHNFbnRpdHlQbGFjZUFkZGVkLmJpbmQodGhpcyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdncHMtZW50aXR5LXBsYWNlLWFkZGVkJywgdGhpcy5vbkdwc0VudGl0eVBsYWNlQWRkZWQpO1xuXG4gICAgICAgIHRoaXMubG9va0NvbnRyb2xzID0gdGhpcy5lbC5jb21wb25lbnRzWydhcmpzLWxvb2stY29udHJvbHMnXSB8fCB0aGlzLmVsLmNvbXBvbmVudHNbJ2xvb2stY29udHJvbHMnXTtcblxuICAgICAgICAvLyBsaXN0ZW4gdG8gZGV2aWNlb3JpZW50YXRpb24gZXZlbnRcbiAgICAgICAgdmFyIGV2ZW50TmFtZSA9IHRoaXMuX2dldERldmljZU9yaWVudGF0aW9uRXZlbnROYW1lKCk7XG4gICAgICAgIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24gPSB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uLmJpbmQodGhpcyk7XG5cbiAgICAgICAgLy8gaWYgU2FmYXJpXG4gICAgICAgIGlmICghIW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1ZlcnNpb25cXC9bXFxkLl0rLipTYWZhcmkvKSkge1xuICAgICAgICAgICAgLy8gaU9TIDEzK1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdmFyIGhhbmRsZXIgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlcXVlc3RpbmcgZGV2aWNlIG9yaWVudGF0aW9uIHBlcm1pc3Npb25zLi4uJylcbiAgICAgICAgICAgICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGZ1bmN0aW9uKCkgeyBoYW5kbGVyKCkgfSwgZmFsc2UpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoJ0FmdGVyIGNhbWVyYSBwZXJtaXNzaW9uIHByb21wdCwgcGxlYXNlIHRhcCB0aGUgc2NyZWVuIHRvIGFjdGl2YXRlIGdlb2xvY2F0aW9uLicpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgZW5hYmxlIGRldmljZSBvcmllbnRhdGlvbiBpbiBTZXR0aW5ncyA+IFNhZmFyaSA+IE1vdGlvbiAmIE9yaWVudGF0aW9uIEFjY2Vzcy4nKTtcbiAgICAgICAgICAgICAgICB9LCA3NTApO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbiwgZmFsc2UpO1xuICAgIH0sXG5cbiAgICBwbGF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlICE9PSAwICYmIHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRDb29yZHMgfHwge30pO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sb25naXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGU7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3dhdGNoUG9zaXRpb25JZCA9IHRoaXMuX2luaXRXYXRjaEdQUyhmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB2YXIgbG9jYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZTogcG9zaXRpb24uY29vcmRzLmFsdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeTogcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5LFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZUFjY3VyYWN5OiBwb3NpdGlvbi5jb29yZHMuYWx0aXR1ZGVBY2N1cmFjeSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcbiAgICAgICAgICAgICAgICB2YXIgZGlzdE1vdmVkID0gdGhpcy5faGF2ZXJzaW5lRGlzdChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3Jkc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZihkaXN0TW92ZWQgPj0gdGhpcy5kYXRhLmdwc01pbkRpc3RhbmNlIHx8ICF0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHRpY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5oZWFkaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdXBkYXRlUm90YXRpb24oKTtcbiAgICB9LFxuXG4gICAgcGF1c2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fd2F0Y2hQb3NpdGlvbklkKSB7XG4gICAgICAgICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh0aGlzLl93YXRjaFBvc2l0aW9uSWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3dhdGNoUG9zaXRpb25JZCA9IG51bGw7XG4gICAgfSxcblxuICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBldmVudE5hbWUgPSB0aGlzLl9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZSgpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dwcy1lbnRpdHktcGxhY2UtYWRkZWQnLCB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQgbmFtZSwgZGVwZW5kcyBvbiBicm93c2VyIGltcGxlbWVudGF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGV2ZW50IG5hbWVcbiAgICAgKi9cbiAgICBfZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoJ29uZGV2aWNlb3JpZW50YXRpb25hYnNvbHV0ZScgaW4gd2luZG93KSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJ2RldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnXG4gICAgICAgIH0gZWxzZSBpZiAoJ29uZGV2aWNlb3JpZW50YXRpb24nIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbidcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnJ1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignQ29tcGFzcyBub3Qgc3VwcG9ydGVkJylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBldmVudE5hbWVcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR2V0IGN1cnJlbnQgdXNlciBwb3NpdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uU3VjY2Vzc1xuICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9uRXJyb3JcbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZX1cbiAgICAgKi9cbiAgICBfaW5pdFdhdGNoR1BTOiBmdW5jdGlvbihvblN1Y2Nlc3MsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKCFvbkVycm9yKSB7XG4gICAgICAgICAgICBvbkVycm9yID0gZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdFUlJPUignICsgZXJyLmNvZGUgKyAnKTogJyArIGVyci5tZXNzYWdlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFVzZXIgZGVuaWVkIEdlb0xvY2F0aW9uLCBsZXQgdGhlaXIga25vdyB0aGF0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgYWN0aXZhdGUgR2VvbG9jYXRpb24gYW5kIHJlZnJlc2ggdGhlIHBhZ2UuIElmIGl0IGlzIGFscmVhZHkgYWN0aXZlLCBwbGVhc2UgY2hlY2sgcGVybWlzc2lvbnMgZm9yIHRoaXMgd2Vic2l0ZS4nKTsgIFxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdDYW5ub3QgcmV0cmlldmUgR1BTIHBvc2l0aW9uLiBTaWduYWwgaXMgYWJzZW50LicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnZ2VvbG9jYXRpb24nIGluIG5hdmlnYXRvciA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG9uRXJyb3IoeyBjb2RlOiAwLCBtZXNzYWdlOiAnR2VvbG9jYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXInIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0dlb2xvY2F0aW9uL3dhdGNoUG9zaXRpb25cbiAgICAgICAgcmV0dXJuIG5hdmlnYXRvci5nZW9sb2NhdGlvbi53YXRjaFBvc2l0aW9uKG9uU3VjY2Vzcywgb25FcnJvciwge1xuICAgICAgICAgICAgZW5hYmxlSGlnaEFjY3VyYWN5OiB0cnVlLFxuICAgICAgICAgICAgbWF4aW11bUFnZTogdGhpcy5kYXRhLmdwc1RpbWVJbnRlcnZhbCxcbiAgICAgICAgICAgIHRpbWVvdXQ6IDI3MDAwLFxuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfdXBkYXRlUG9zaXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBkb24ndCB1cGRhdGUgaWYgYWNjdXJhY3kgaXMgbm90IGdvb2QgZW5vdWdoXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb29yZHMuYWNjdXJhY3kgPiB0aGlzLmRhdGEucG9zaXRpb25NaW5BY2N1cmFjeSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5hbGVydCAmJiAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXBvcHVwJykpIHtcbiAgICAgICAgICAgICAgICB2YXIgcG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBwb3B1cC5pbm5lckhUTUwgPSAnR1BTIHNpZ25hbCBpcyB2ZXJ5IHBvb3IuIFRyeSBtb3ZlIG91dGRvb3Igb3IgdG8gYW4gYXJlYSB3aXRoIGEgYmV0dGVyIHNpZ25hbC4nXG4gICAgICAgICAgICAgICAgcG9wdXAuc2V0QXR0cmlidXRlKCdpZCcsICdhbGVydC1wb3B1cCcpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9wdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGFsZXJ0UG9wdXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtcG9wdXAnKTtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudENvb3Jkcy5hY2N1cmFjeSA8PSB0aGlzLmRhdGEucG9zaXRpb25NaW5BY2N1cmFjeSAmJiBhbGVydFBvcHVwKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGFsZXJ0UG9wdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgLy8gZmlyc3QgY2FtZXJhIGluaXRpYWxpemF0aW9uXG4gICAgICAgICAgICAvLyBOb3cgc3RvcmUgb3JpZ2luQ29vcmRzIGFzIFBST0pFQ1RFRCBvcmlnaW5hbCBsYXQvbG9uLCBzbyB0aGF0XG4gICAgICAgICAgICAvLyB3ZSBjYW4gc2V0IHRoZSB3b3JsZCBvcmlnaW4gdG8gdGhlIG9yaWdpbmFsIHBvc2l0aW9uIGluIFwibWV0cmVzXCJcbiAgICAgICAgICAgIHRoaXMub3JpZ2luQ29vcmRzID0gdGhpcy5fcHJvamVjdCh0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGUsIHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUpO1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcblxuICAgICAgICAgICAgdmFyIGxvYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcmpzLWxvYWRlcicpO1xuICAgICAgICAgICAgaWYgKGxvYWRlcikge1xuICAgICAgICAgICAgICAgIGxvYWRlci5yZW1vdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBjdXJyZW50IHBvc2l0aW9uIChpbiB3b3JsZCBjb29yZHMsIGJhc2VkIG9uIFNwaGVyaWNhbCBNZXJjYXRvcilcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF9zZXRQb3NpdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgICAgIHZhciB3b3JsZENvb3JkcyA9IHRoaXMubGF0TG9uVG9Xb3JsZCh0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGUsIHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUpO1xuXG4gICAgICAgIHBvc2l0aW9uLnggPSB3b3JsZENvb3Jkc1swXTtcbiAgICAgICAgcG9zaXRpb24ueiA9IHdvcmxkQ29vcmRzWzFdO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvblxuICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG5cbiAgICAgICAgLy8gYWRkIHRoZSBzcGhtZXJjIHBvc2l0aW9uIHRvIHRoZSBldmVudCAoZm9yIHRlc3Rpbmcgb25seSlcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHsgZGV0YWlsOiB7IHBvc2l0aW9uOiB0aGlzLmN1cnJlbnRDb29yZHMsIG9yaWdpbjogdGhpcy5vcmlnaW5Db29yZHMgfSB9KSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRpc3RhbmNlIGluIG1ldGVycyBiZXR3ZWVuIGNhbWVyYSBhbmQgZGVzdGluYXRpb24gaW5wdXQuXG4gICAgICpcbiAgICAgKiBBc3N1bWUgd2UgYXJlIHVzaW5nIGEgbWV0cmUtYmFzZWQgcHJvamVjdGlvbi4gTm90IGFsbCAnbWV0cmUtYmFzZWQnXG4gICAgICogcHJvamVjdGlvbnMgZ2l2ZSBleGFjdCBtZXRyZXMsIGUuZy4gU3BoZXJpY2FsIE1lcmNhdG9yLCBidXQgaXQgYXBwZWFyc1xuICAgICAqIGNsb3NlIGVub3VnaCB0byBiZSB1c2VkIGZvciBBUiBhdCBsZWFzdCBpbiBtaWRkbGUgdGVtcGVyYXRlXG4gICAgICogbGF0aXR1ZGVzICg0MCAtIDU1KS4gSXQgaXMgaGVhdmlseSBkaXN0b3J0ZWQgbmVhciB0aGUgcG9sZXMsIGhvd2V2ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1Bvc2l0aW9ufSBkZXN0XG4gICAgICogQHBhcmFtIHtCb29sZWFufSBpc1BsYWNlXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBkaXN0YW5jZSB8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICovXG4gICAgY29tcHV0ZURpc3RhbmNlTWV0ZXJzOiBmdW5jdGlvbihkZXN0LCBpc1BsYWNlKSB7XG4gICAgICAgIHZhciBzcmMgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcInBvc2l0aW9uXCIpO1xuICAgICAgICB2YXIgZHggPSBkZXN0LnggLSBzcmMueDtcbiAgICAgICAgdmFyIGR6ID0gZGVzdC56IC0gc3JjLno7XG4gICAgICAgIHZhciBkaXN0YW5jZSA9IE1hdGguc3FydChkeCAqIGR4ICsgZHogKiBkeik7XG5cbiAgICAgICAgLy8gaWYgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkIGZvciBhIHBsYWNlLCBhbmQgaWYgaXQncyB0b28gbmVhciBhbmQgYSBtaW4gZGlzdGFuY2UgaGFzIGJlZW4gc2V0LFxuICAgICAgICAvLyByZXR1cm4gbWF4IGRpc3RhbmNlIHBvc3NpYmxlIC0gdG8gYmUgaGFuZGxlZCBieSB0aGUgIG1ldGhvZCBjYWxsZXJcbiAgICAgICAgaWYgKGlzUGxhY2UgJiYgdGhpcy5kYXRhLm1pbkRpc3RhbmNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSA+IDAgJiYgZGlzdGFuY2UgPCB0aGlzLmRhdGEubWluRGlzdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkaXN0YW5jZTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGxhdGl0dWRlL2xvbmdpdHVkZSB0byBPcGVuR0wgd29ybGQgY29vcmRpbmF0ZXMuXG4gICAgICpcbiAgICAgKiBGaXJzdCBwcm9qZWN0cyBsYXQvbG9uIHRvIGFic29sdXRlIFNwaGVyaWNhbCBNZXJjYXRvciBhbmQgdGhlblxuICAgICAqIGNhbGN1bGF0ZXMgdGhlIHdvcmxkIGNvb3JkaW5hdGVzIGJ5IGNvbXBhcmluZyB0aGUgU3BoZXJpY2FsIE1lcmNhdG9yXG4gICAgICogY29vcmRpbmF0ZXMgd2l0aCB0aGUgU3BoZXJpY2FsIE1lcmNhdG9yIGNvb3JkaW5hdGVzIG9mIHRoZSBvcmlnaW4gcG9pbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbGF0XG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGxvblxuICAgICAqXG4gICAgICogQHJldHVybnMge2FycmF5fSB3b3JsZCBjb29yZGluYXRlc1xuICAgICAqL1xuICAgIGxhdExvblRvV29ybGQ6IGZ1bmN0aW9uKGxhdCwgbG9uKSB7XG4gICAgICAgIHZhciBwcm9qZWN0ZWQgPSB0aGlzLl9wcm9qZWN0KGxhdCwgbG9uKTtcbiAgICAgICAgLy8gU2lnbiBvZiB6IG5lZWRzIHRvIGJlIHJldmVyc2VkIGNvbXBhcmVkIHRvIHByb2plY3RlZCBjb29yZGluYXRlc1xuICAgICAgICByZXR1cm4gW3Byb2plY3RlZFswXSAtIHRoaXMub3JpZ2luQ29vcmRzWzBdLCAtKHByb2plY3RlZFsxXSAtIHRoaXMub3JpZ2luQ29vcmRzWzFdKV07XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBsYXRpdHVkZS9sb25naXR1ZGUgdG8gU3BoZXJpY2FsIE1lcmNhdG9yIGNvb3JkaW5hdGVzLlxuICAgICAqIEFsZ29yaXRobSBpcyB1c2VkIGluIHNldmVyYWwgT3BlblN0cmVldE1hcC1yZWxhdGVkIGFwcGxpY2F0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBsYXRcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbG9uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7YXJyYXl9IFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlc1xuICAgICAqL1xuICAgIF9wcm9qZWN0OiBmdW5jdGlvbihsYXQsIGxvbikge1xuICAgICAgICBjb25zdCBIQUxGX0VBUlRIID0gMjAwMzc1MDguMzQ7XG5cbiAgICAgICAgLy8gQ29udmVydCB0aGUgc3VwcGxpZWQgY29vcmRzIHRvIFNwaGVyaWNhbCBNZXJjYXRvciAoRVBTRzozODU3KSwgYWxzb1xuICAgICAgICAvLyBrbm93biBhcyAnR29vZ2xlIFByb2plY3Rpb24nLCB1c2luZyB0aGUgYWxnb3JpdGhtIHVzZWQgZXh0ZW5zaXZlbHlcbiAgICAgICAgLy8gaW4gdmFyaW91cyBPcGVuU3RyZWV0TWFwIHNvZnR3YXJlLlxuICAgICAgICB2YXIgeSA9IE1hdGgubG9nKE1hdGgudGFuKCg5MCArIGxhdCkgKiBNYXRoLlBJIC8gMzYwLjApKSAvIChNYXRoLlBJIC8gMTgwLjApO1xuICAgICAgICByZXR1cm4gWyhsb24gLyAxODAuMCkgKiBIQUxGX0VBUlRILCB5ICogSEFMRl9FQVJUSCAvIDE4MC4wXTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlcyB0byBsYXRpdHVkZS9sb25naXR1ZGUuXG4gICAgICogQWxnb3JpdGhtIGlzIHVzZWQgaW4gc2V2ZXJhbCBPcGVuU3RyZWV0TWFwLXJlbGF0ZWQgYXBwbGljYXRpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHNwaGVyaWNhbCBtZXJjYXRvciBlYXN0aW5nXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHNwaGVyaWNhbCBtZXJjYXRvciBub3J0aGluZ1xuICAgICAqXG4gICAgICogQHJldHVybnMge29iamVjdH0gbG9uL2xhdFxuICAgICAqL1xuICAgIF91bnByb2plY3Q6IGZ1bmN0aW9uKGUsIG4pIHtcbiAgICAgICAgY29uc3QgSEFMRl9FQVJUSCA9IDIwMDM3NTA4LjM0O1xuICAgICAgICB2YXIgeXAgPSAobiAvIEhBTEZfRUFSVEgpICogMTgwLjA7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IChlIC8gSEFMRl9FQVJUSCkgKiAxODAuMCxcbiAgICAgICAgICAgIGxhdGl0dWRlOiAxODAuMCAvIE1hdGguUEkgKiAoMiAqIE1hdGguYXRhbihNYXRoLmV4cCh5cCAqIE1hdGguUEkgLyAxODAuMCkpIC0gTWF0aC5QSSAvIDIpXG4gICAgICAgIH07XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb21wdXRlIGNvbXBhc3MgaGVhZGluZy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhbHBoYVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiZXRhXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGdhbW1hXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBjb21wYXNzIGhlYWRpbmdcbiAgICAgKi9cbiAgICBfY29tcHV0ZUNvbXBhc3NIZWFkaW5nOiBmdW5jdGlvbihhbHBoYSwgYmV0YSwgZ2FtbWEpIHtcblxuICAgICAgICAvLyBDb252ZXJ0IGRlZ3JlZXMgdG8gcmFkaWFuc1xuICAgICAgICB2YXIgYWxwaGFSYWQgPSBhbHBoYSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdmFyIGJldGFSYWQgPSBiZXRhICogKE1hdGguUEkgLyAxODApO1xuICAgICAgICB2YXIgZ2FtbWFSYWQgPSBnYW1tYSAqIChNYXRoLlBJIC8gMTgwKTtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgZXF1YXRpb24gY29tcG9uZW50c1xuICAgICAgICB2YXIgY0EgPSBNYXRoLmNvcyhhbHBoYVJhZCk7XG4gICAgICAgIHZhciBzQSA9IE1hdGguc2luKGFscGhhUmFkKTtcbiAgICAgICAgdmFyIHNCID0gTWF0aC5zaW4oYmV0YVJhZCk7XG4gICAgICAgIHZhciBjRyA9IE1hdGguY29zKGdhbW1hUmFkKTtcbiAgICAgICAgdmFyIHNHID0gTWF0aC5zaW4oZ2FtbWFSYWQpO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBBLCBCLCBDIHJvdGF0aW9uIGNvbXBvbmVudHNcbiAgICAgICAgdmFyIHJBID0gLSBjQSAqIHNHIC0gc0EgKiBzQiAqIGNHO1xuICAgICAgICB2YXIgckIgPSAtIHNBICogc0cgKyBjQSAqIHNCICogY0c7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIGNvbXBhc3MgaGVhZGluZ1xuICAgICAgICB2YXIgY29tcGFzc0hlYWRpbmcgPSBNYXRoLmF0YW4ockEgLyByQik7XG5cbiAgICAgICAgLy8gQ29udmVydCBmcm9tIGhhbGYgdW5pdCBjaXJjbGUgdG8gd2hvbGUgdW5pdCBjaXJjbGVcbiAgICAgICAgaWYgKHJCIDwgMCkge1xuICAgICAgICAgICAgY29tcGFzc0hlYWRpbmcgKz0gTWF0aC5QSTtcbiAgICAgICAgfSBlbHNlIGlmIChyQSA8IDApIHtcbiAgICAgICAgICAgIGNvbXBhc3NIZWFkaW5nICs9IDIgKiBNYXRoLlBJO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29udmVydCByYWRpYW5zIHRvIGRlZ3JlZXNcbiAgICAgICAgY29tcGFzc0hlYWRpbmcgKj0gMTgwIC8gTWF0aC5QSTtcblxuICAgICAgICByZXR1cm4gY29tcGFzc0hlYWRpbmc7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEhhbmRsZXIgZm9yIGRldmljZSBvcmllbnRhdGlvbiBldmVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX29uRGV2aWNlT3JpZW50YXRpb246IGZ1bmN0aW9uKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC53ZWJraXRDb21wYXNzSGVhZGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5IDwgNTApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRpbmcgPSBldmVudC53ZWJraXRDb21wYXNzSGVhZGluZztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCd3ZWJraXRDb21wYXNzQWNjdXJhY3kgaXMgZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYWxwaGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5hYnNvbHV0ZSA9PT0gdHJ1ZSB8fCBldmVudC5hYnNvbHV0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkaW5nID0gdGhpcy5fY29tcHV0ZUNvbXBhc3NIZWFkaW5nKGV2ZW50LmFscGhhLCBldmVudC5iZXRhLCBldmVudC5nYW1tYSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignZXZlbnQuYWJzb2x1dGUgPT09IGZhbHNlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ2V2ZW50LmFscGhhID09PSBudWxsJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHVzZXIgcm90YXRpb24gZGF0YS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF91cGRhdGVSb3RhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoZWFkaW5nID0gMzYwIC0gdGhpcy5oZWFkaW5nO1xuICAgICAgICB2YXIgY2FtZXJhUm90YXRpb24gPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncm90YXRpb24nKS55O1xuICAgICAgICB2YXIgeWF3Um90YXRpb24gPSBUSFJFRS5NYXRoLnJhZFRvRGVnKHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55KTtcbiAgICAgICAgdmFyIG9mZnNldCA9IChoZWFkaW5nIC0gKGNhbWVyYVJvdGF0aW9uIC0geWF3Um90YXRpb24pKSAlIDM2MDtcbiAgICAgICAgdGhpcy5sb29rQ29udHJvbHMueWF3T2JqZWN0LnJvdGF0aW9uLnkgPSBUSFJFRS5NYXRoLmRlZ1RvUmFkKG9mZnNldCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSBoYXZlcnNpbmUgZGlzdGFuY2UgYmV0d2VlbiB0d28gbGF0L2xvbiBwYWlycy5cbiAgICAgKlxuICAgICAqIFRha2VuIGZyb20gZ3BzLWNhbWVyYVxuICAgICAqL1xuICAgIF9oYXZlcnNpbmVEaXN0OiBmdW5jdGlvbihzcmMsIGRlc3QpIHtcbiAgICAgICAgdmFyIGRsb25naXR1ZGUgPSBUSFJFRS5NYXRoLmRlZ1RvUmFkKGRlc3QubG9uZ2l0dWRlIC0gc3JjLmxvbmdpdHVkZSk7XG4gICAgICAgIHZhciBkbGF0aXR1ZGUgPSBUSFJFRS5NYXRoLmRlZ1RvUmFkKGRlc3QubGF0aXR1ZGUgLSBzcmMubGF0aXR1ZGUpO1xuXG4gICAgICAgIHZhciBhID0gKE1hdGguc2luKGRsYXRpdHVkZSAvIDIpICogTWF0aC5zaW4oZGxhdGl0dWRlIC8gMikpICsgTWF0aC5jb3MoVEhSRUUuTWF0aC5kZWdUb1JhZChzcmMubGF0aXR1ZGUpKSAqIE1hdGguY29zKFRIUkVFLk1hdGguZGVnVG9SYWQoZGVzdC5sYXRpdHVkZSkpICogKE1hdGguc2luKGRsb25naXR1ZGUgLyAyKSAqIE1hdGguc2luKGRsb25naXR1ZGUgLyAyKSk7XG4gICAgICAgIHZhciBhbmdsZSA9IDIgKiBNYXRoLmF0YW4yKE1hdGguc3FydChhKSwgTWF0aC5zcXJ0KDEgLSBhKSk7XG4gICAgICAgIHJldHVybiBhbmdsZSAqIDYzNzEwMDA7XG4gICAgfSxcblxuICAgIF9vbkdwc0VudGl0eVBsYWNlQWRkZWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBpZiBwbGFjZXMgYXJlIGFkZGVkIGFmdGVyIGNhbWVyYSBpbml0aWFsaXphdGlvbiBpcyBmaW5pc2hlZFxuICAgICAgICBpZiAodGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxvYWRlciAmJiB0aGlzLmxvYWRlci5wYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMubG9hZGVyKVxuICAgICAgICB9XG4gICAgfVxufSk7XG4iLCIvKiogZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2VcbiAqXG4gKiBiYXNlZCBvbiB0aGUgb3JpZ2luYWwgZ3BzLWVudGl0eS1wbGFjZSwgbW9kaWZpZWQgYnkgbmlja3cgMDIvMDQvMjBcbiAqXG4gKiBSYXRoZXIgdGhhbiBrZWVwaW5nIHRyYWNrIG9mIHBvc2l0aW9uIGJ5IGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZlxuICogZW50aXRpZXMgb3IgdGhlIGN1cnJlbnQgbG9jYXRpb24gdG8gdGhlIG9yaWdpbmFsIGxvY2F0aW9uLCB0aGlzIHZlcnNpb25cbiAqIG1ha2VzIHVzZSBvZiB0aGUgXCJHb29nbGVcIiBTcGhlcmljYWwgTWVyY2FjdG9yIHByb2plY3Rpb24sIGFrYSBlcHNnOjM4NTcuXG4gKlxuICogVGhlIG9yaWdpbmFsIGxvY2F0aW9uIG9uIHN0YXJ0dXAgKGxhdC9sb24pIGlzIHByb2plY3RlZCBpbnRvIFNwaGVyaWNhbCBcbiAqIE1lcmNhdG9yIGFuZCBzdG9yZWQuXG4gKlxuICogV2hlbiAnZW50aXR5LXBsYWNlcycgYXJlIGFkZGVkLCB0aGVpciBTcGhlcmljYWwgTWVyY2F0b3IgY29vcmRzIGFyZSBcbiAqIGNhbGN1bGF0ZWQgYW5kIGNvbnZlcnRlZCBpbnRvIHdvcmxkIGNvb3JkaW5hdGVzLCByZWxhdGl2ZSB0byB0aGUgb3JpZ2luYWxcbiAqIHBvc2l0aW9uLCB1c2luZyB0aGUgU3BoZXJpY2FsIE1lcmNhdG9yIHByb2plY3Rpb24gY2FsY3VsYXRpb24gaW5cbiAqIGdwcy1wcm9qZWN0ZWQtY2FtZXJhLlxuICpcbiAqIFNwaGVyaWNhbCBNZXJjYXRvciB1bml0cyBhcmUgY2xvc2UgdG8sIGJ1dCBub3QgZXhhY3RseSwgbWV0cmVzLCBhbmQgYXJlXG4gKiBoZWF2aWx5IGRpc3RvcnRlZCBuZWFyIHRoZSBwb2xlcy4gTm9uZXRoZWxlc3MgdGhleSBhcmUgYSBnb29kIGFwcHJveGltYXRpb25cbiAqIGZvciBtYW55IGFyZWFzIG9mIHRoZSB3b3JsZCBhbmQgYXBwZWFyIG5vdCB0byBjYXVzZSB1bmFjY2VwdGFibGUgZGlzdG9ydGlvbnNcbiAqIHdoZW4gdXNlZCBhcyB0aGUgdW5pdHMgZm9yIEFSIGFwcHMuXG4gKi9cbmltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2UnLCB7XG4gICAgX2NhbWVyYUdwczogbnVsbCxcbiAgICBzY2hlbWE6IHtcbiAgICAgICAgbG9uZ2l0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGxhdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIGNsZWFuaW5nIGxpc3RlbmVycyB3aGVuIHRoZSBlbnRpdHkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET01cbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtdXBkYXRlLXBvc2l0aW9uJywgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyKTtcbiAgICB9LFxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBVc2VkIG5vdyB0byBnZXQgdGhlIEdQUyBjYW1lcmEgd2hlbiBpdCdzIGJlZW4gc2V0dXBcbiAgICAgICAgdGhpcy5jb29yZFNldExpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9jYW1lcmFHcHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2FtZXJhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW2dwcy1wcm9qZWN0ZWQtY2FtZXJhXScpO1xuICAgICAgICAgICAgICAgIGlmICghY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1wcm9qZWN0ZWQtY2FtZXJhJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignZ3BzLXByb2plY3RlZC1jYW1lcmEgbm90IGluaXRpYWxpemVkJylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9jYW1lcmFHcHMgPSBjYW1lcmEuY29tcG9uZW50c1snZ3BzLXByb2plY3RlZC1jYW1lcmEnXTtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBcblxuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbiBuZWVkcyB0byB3b3JyeSBhYm91dCBkaXN0YW5jZSBidXQgbm90aGluZyBlbHNlP1xuICAgICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uTGlzdGVuZXIgPSAoZXYpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhIHx8ICF0aGlzLl9jYW1lcmFHcHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBkc3RDb29yZHMgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKTtcblxuICAgICAgICAgICAgLy8gaXQncyBhY3R1YWxseSBhICdkaXN0YW5jZSBwbGFjZScsIGJ1dCB3ZSBkb24ndCBjYWxsIGl0IHdpdGggbGFzdCBwYXJhbSwgYmVjYXVzZSB3ZSB3YW50IHRvIHJldHJpZXZlIGRpc3RhbmNlIGV2ZW4gaWYgaXQncyA8IG1pbkRpc3RhbmNlIHByb3BlcnR5XG4gICAgICAgICAgICAvLyBfY29tcHV0ZURpc3RhbmNlTWV0ZXJzIGlzIG5vdyBnb2luZyB0byB1c2UgdGhlIHByb2plY3RlZFxuICAgICAgICAgICAgdmFyIGRpc3RhbmNlRm9yTXNnID0gdGhpcy5fY2FtZXJhR3BzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyhkc3RDb29yZHMpO1xuXG4gICAgICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgnZGlzdGFuY2UnLCBkaXN0YW5jZUZvck1zZyk7XG4gICAgICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgnZGlzdGFuY2VNc2cnLCBmb3JtYXREaXN0YW5jZShkaXN0YW5jZUZvck1zZykpO1xuXG4gICAgICAgICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtZW50aXR5LXBsYWNlLXVwZGF0ZS1wb3NpdGlvbicsIHsgZGV0YWlsOiB7IGRpc3RhbmNlOiBkaXN0YW5jZUZvck1zZyB9IH0pKTtcblxuICAgICAgICAgICAgdmFyIGFjdHVhbERpc3RhbmNlID0gdGhpcy5fY2FtZXJhR3BzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyhkc3RDb29yZHMsIHRydWUpO1xuXG4gICAgICAgICAgICBpZiAoYWN0dWFsRGlzdGFuY2UgPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oaWRlRm9yTWluRGlzdGFuY2UodGhpcy5lbCwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICAvLyBSZXRhaW4gYXMgdGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBHUFMgY2FtZXJhIGlzIHNldCB1cFxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JywgdGhpcy5jb29yZFNldExpc3RlbmVyKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtdXBkYXRlLXBvc2l0aW9uJywgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyKTtcblxuICAgICAgICB0aGlzLl9wb3NpdGlvblhEZWJ1ZyA9IDA7XG5cbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtZW50aXR5LXBsYWNlLWFkZGVkJywgeyBkZXRhaWw6IHsgY29tcG9uZW50OiB0aGlzLmVsIH0gfSkpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogSGlkZSBlbnRpdHkgYWNjb3JkaW5nIHRvIG1pbkRpc3RhbmNlIHByb3BlcnR5XG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgaGlkZUZvck1pbkRpc3RhbmNlOiBmdW5jdGlvbihlbCwgaGlkZUVudGl0eSkge1xuICAgICAgICBpZiAoaGlkZUVudGl0eSkge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ2ZhbHNlJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbC5zZXRBdHRyaWJ1dGUoJ3Zpc2libGUnLCAndHJ1ZScpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBVcGRhdGUgcGxhY2UgcG9zaXRpb25cbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cblxuICAgIC8vIHNldCBwb3NpdGlvbiB0byB3b3JsZCBjb29yZHMgdXNpbmcgdGhlIGxhdC9sb24gXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHdvcmxkUG9zID0gdGhpcy5fY2FtZXJhR3BzLmxhdExvblRvV29ybGQodGhpcy5kYXRhLmxhdGl0dWRlLCB0aGlzLmRhdGEubG9uZ2l0dWRlKTtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJyk7XG5cbiAgICAgICAgLy8gdXBkYXRlIGVsZW1lbnQncyBwb3NpdGlvbiBpbiAzRCB3b3JsZFxuICAgICAgICAvL3RoaXMuZWwuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHBvc2l0aW9uKTtcbiAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywge1xuICAgICAgICAgICAgeDogd29ybGRQb3NbMF0sXG4gICAgICAgICAgICB5OiBwb3NpdGlvbi55LCBcbiAgICAgICAgICAgIHo6IHdvcmxkUG9zWzFdXG4gICAgICAgIH0pOyBcbiAgICB9LFxufSk7XG5cbi8qKlxuICogRm9ybWF0IGRpc3RhbmNlcyBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZGlzdGFuY2VcbiAqL1xuZnVuY3Rpb24gZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2UpIHtcbiAgICBkaXN0YW5jZSA9IGRpc3RhbmNlLnRvRml4ZWQoMCk7XG5cbiAgICBpZiAoZGlzdGFuY2UgPj0gMTAwMCkge1xuICAgICAgICByZXR1cm4gKGRpc3RhbmNlIC8gMTAwMCkgKyAnIGtpbG9tZXRlcnMnO1xuICAgIH1cblxuICAgIHJldHVybiBkaXN0YW5jZSArICcgbWV0ZXJzJztcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfYWZyYW1lX187IiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCAnLi9hcmpzLWxvb2stY29udHJvbHMnXG5pbXBvcnQgJy4vYXJqcy13ZWJjYW0tdGV4dHVyZSdcbmltcG9ydCAnLi9BcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scydcbmltcG9ydCAnLi9ncHMtY2FtZXJhJ1xuaW1wb3J0ICcuL2dwcy1lbnRpdHktcGxhY2UnXG5pbXBvcnQgJy4vZ3BzLXByb2plY3RlZC1jYW1lcmEnXG5pbXBvcnQgJy4vZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2UnXG4iXSwic291cmNlUm9vdCI6IiJ9 diff --git a/aframe/build/aframe-ar-nft.js b/aframe/build/aframe-ar-nft.js index cda3c5f5..61788392 100644 --- a/aframe/build/aframe-ar-nft.js +++ b/aframe/build/aframe-ar-nft.js @@ -1,3377 +1,3176 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("aframe"), require("three")); + else if(typeof define === 'function' && define.amd) + define(["aframe", "three"], factory); + else if(typeof exports === 'object') + exports["ARjs"] = factory(require("aframe"), require("three")); + else + root["ARjs"] = factory(root["AFRAME"], root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_aframe__, __WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|0}function rH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function DH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return} -function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} -function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 0}function rL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0} -function nw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function ow(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))rw(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function rw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function uw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function vw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function ww(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=yw(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=yw((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=yw(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=yw((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=yw((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=yw((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=yw(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=yw((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=yw((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=yw((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=yw((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=yw((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=yw((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=yw(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=yw(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=yw(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=yw(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function yw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=Bw(b)|0;c[g>>2]=e;f=Cw(b,84)|0;if(!f){Dw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Bw(a){a=a|0;return 0}function Cw(a,b){a=a|0;b=b|0;return FO(b)|0}function Dw(a){a=a|0;return}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Cw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Cw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Tw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Jw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Rw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;Sw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Tw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;Sw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Tw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Qw(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Pw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Ow(a){a=a|0;var b=0;Nw(a,1);Nw(a,0);b=a+4|0;Pw(a,c[b>>2]|0,84);c[b>>2]=0;Dw(a);return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function Tw(a,b){a=a|0;b=b|0;return FO(b)|0}function Uw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function Vw(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Aw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Ut(a);Xw(a);c[a+20>>2]=200;return}function Xw(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=yw(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=yw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=yw(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=yw(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=yw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){_w(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Zw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=yw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=yw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function $w(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function ax(a){a=a|0;Uw(a);return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=cx(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}Vw(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function dx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);Vw(a);a=1;return a|0}function ex(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function fx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);Uw(a);Ea(1)}function gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function hx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function ix(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function jx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|0}function Rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return} -function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} -function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|0}function Ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} -function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=115;c[d+12>>2]=83;c[d+16>>2]=47;c[d+20>>2]=33;c[d+24>>2]=116;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function Ot(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function Pt(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function Rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Tt(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function St(a){a=a|0;return}function Tt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Ut(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=117;c[d+4>>2]=84;c[d+8>>2]=85;c[d+28>>2]=86;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=86;c[d+104>>2]=0;c[d+40>>2]=86;c[d+108>>2]=0;c[d+44>>2]=86;c[d+112>>2]=0;c[d+48>>2]=86;c[d+116>>2]=0;c[d+52>>2]=86;c[d+120>>2]=0;c[d+56>>2]=86;c[d+124>>2]=0;c[d+60>>2]=86;c[d+128>>2]=0;c[d+64>>2]=86;c[d+132>>2]=0;c[d+68>>2]=86;c[d+136>>2]=0;c[d+72>>2]=86;c[d+140>>2]=0;c[d+76>>2]=86;c[d+144>>2]=0;c[d+80>>2]=86;c[d+148>>2]=0;c[d+84>>2]=86;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=86;c[d+160>>2]=0;c[d+32>>2]=87;c[d+88>>2]=87;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Vt(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Wt(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Tt(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!($t(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!($t(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!($t(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!($t(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!($t(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=au(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=Mt(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Xt(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Tt(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Yt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{_t(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function _t(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{cu(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function cu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=118;c[i+4>>2]=119;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}fu(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=gu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){hu(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;iu(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){ku(b);lu(b)}else ju(b);mu(b,c[b+108>>2]|0)}nu(b);if(!(c[b+228>>2]|0))pu(b);else ou(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;qu(b,d);if(!(c[e>>2]|0))ru(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function du(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function eu(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}xw(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(gu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function gu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function hu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=48;c[t+8>>2]=120;c[t+12>>2]=121;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;rw(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=49;c[e+12>>2]=122;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;gw(a);return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=123;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=124;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function lu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=125;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=yu(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=yu(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=126;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function ou(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=127;c[e+8>>2]=128;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=129;c[f+8>>2]=130;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=131;c[i+8>>2]=132;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=89;c[i+12>>2]=35;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=yu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=yu(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=88;c[i+12>>2]=34;c[i+16>>2]=b;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=51;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function wu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function xu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=36;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=34;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function yu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function Bu(a){a=a|0;return 0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function Du(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){Eu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?41:42;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Lu(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Lu(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?37:38):o?39:40;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Lu(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Lu(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Gu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Hu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Ou(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Pu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Ou(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Iu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Ou(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Pu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Ou(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Ju(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Ou(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function Ku(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Ou(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Pu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Ou(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Lu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Mu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Nu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Ou(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Ou(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=43;k=l;break}else{c[f>>2]=44;k=l;break}else if(e){c[f>>2]=45;k=l;break}else{c[f>>2]=46;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=47;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function Ru(a){a=a|0;return}function Su(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Tu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Xu(e,g)|0){r=36;break}j=h+1|0;if(!(Xu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Xu(e,i+4|0)|0)){i=g;h=j}else break}}k=Xu(e,l)|0;i=g+2|0;g=Xu(e,i)|0;if(g){if(Xu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Xu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Xu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Uu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Xu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Vu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Xu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Xu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Xu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Xu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0} -function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}function Wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;kl(b+4|0,e,96);return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} -function Wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Xu(e,h)|0)break b;j=g+1|0;if(!(Xu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Xu(e,i+4|0)|0)){i=h;g=j}else break}}k=Xu(e,s)|0;h=h+2|0;i=Xu(e,h)|0;if(i){if(Xu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Xu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Xu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Xu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Yu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Zu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function mv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function nv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function ov(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Gv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Hv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Iv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Jv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Nv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Ov(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}Qv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Pv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}Qv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function Rv(a){a=a|0;return}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Tv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Uv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Xv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function _v(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function $v(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function aw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{Qv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function cw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function dw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=134;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))gw(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=133;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function fw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function hw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;nw(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}nw(d,q);nw(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){mw(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function kw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){mw(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function lw(a){a=a|0;return}function mw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return} -function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function RO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function NP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function XP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} - -// EMSCRIPTEN_END_FUNCS -var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,ex,bu,FO,dx,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,Pt,Wt,Xt,Yt,Zt,zu,Bu,Yw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,bx,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Rt,Au,Cu,Du,Hu,Iu,Ju,Ku,Mu,Nu,Su,Tu,Uu,Vu,Wu,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,zw,Iq,Wq,Yq,Zq,dr,ht,Ys,Ew,Fw,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Gw,Hw,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,Lw,Mw,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Iw,Jw,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,ax,jr,Ot,St,Vt,du,eu,pw,qw,fw,$v,Rv,Jv,Yu,Qu,Ru,Fu,Gu,wu,xu,iw,lw,Kw,Ow,Zw,_w,$w,fx,hx,jx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,Nt,tr,wr,yr,Dr,Fr,Hr,Is,Qt,ow,ew,Fv,su,Nw,gx,ix,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Ww,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,bw,dw,Lv,Mv,Nv,Ov,Pv,tu,uu,vu,hw,jw,kw,sw,tw,uw,vw,ww,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Dv,Cv,Bv,Av,zv,yv,xv,wv,vv,uv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,Ev,_u,Zu,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,aw,cw,Kv,Gv,Hv,Iv,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) - - -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); - -// continuing 'workerRunner' function from treex-armarkercontrols-nft-start.js file - -this.onmessage = function (e) { - var msg = e.data; - switch (msg.type) { - case "init": { - load(msg); - return; - } - case "process": { - next = msg.imagedata; - process(); - return; - } - } -}; + }(); -var next = null; - -var ar = null; -var markerResult = null; - -function load(msg) { - var camUrl, nftMarkerUrl; - var basePath = self.origin; - console.log('base path:', basePath); - // test if the msg.param (the incoming url) is an http or https path - var regexC = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/igm - var reC = regexC.test(msg.param); - if (reC == true) { - camUrl = msg.param; - } else if (reC == false) { - camUrl = basePath + '/' + msg.param; - } - var onLoad = function () { - ar = new ARController(msg.pw, msg.ph, param); - var cameraMatrix = ar.getCameraMatrix(); - - // after the ARController is set up, we load the NFT Marker - var regexM = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/igm - var reM = regexM.test(msg.marker); - if (reM == true) { - nftMarkerUrl = msg.marker; - } else if (reM == false) { - nftMarkerUrl = basePath + '/' + msg.marker; - } - ar.loadNFTMarker(nftMarkerUrl, function (markerId) { - ar.trackNFTMarkerId(markerId); - postMessage({ type: 'endLoading' }) - }, function (err) { - console.log('Error in loading marker on Worker', err) - }); + this.connect = function () { + + onScreenOrientationChangeEvent(); - // ...and we listen for event when marker has been found from camera - ar.addEventListener('getNFTMarker', function (ev) { - // let AR.js know that a NFT marker has been found, with its matrix for positioning - markerResult = { - type: 'found', - matrix: JSON.stringify(ev.data.matrix), - }; - }); + window.addEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); + window.addEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); - postMessage({ type: "loaded", proj: JSON.stringify(cameraMatrix) }); - }; + scope.enabled = true; - var onError = function (error) { - console.error(error); - }; - console.log(msg.param); - // we cannot pass the entire ARController, so we re-create one inside the Worker, starting from camera_param - var param = new ARCameraParam(camUrl, onLoad, onError); -} + }; -function process() { - markerResult = null; + this.disconnect = function () { - if (ar && ar.process) { - ar.process(next); - } + window.removeEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); + window.removeEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); - if (markerResult) { - postMessage(markerResult); - } else { - postMessage({ - type: "not found", - }); - } - next = null; -} - }; + scope.enabled = false; -function onMarkerFound(event) { - if (event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return - if (event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return + }; - var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) - _this.updateWithModelViewMatrix(modelViewMatrix) -} -} -var THREEx = THREEx || {} + this.update = function () { -THREEx.ArMarkerHelper = function(markerControls){ - this.object3d = new THREE.Group + if ( scope.enabled === false ) return; - var mesh = new THREE.AxesHelper() - this.object3d.add(mesh) + var device = scope.deviceOrientation; - var text = markerControls.id - // debugger - // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + if ( device ) { - var canvas = document.createElement( 'canvas' ); - canvas.width = 64; - canvas.height = 64; + var alpha = device.alpha ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.alpha ) + scope.alphaOffset : 0; // Z - var context = canvas.getContext( '2d' ); - var texture = new THREE.CanvasTexture( canvas ); + var beta = device.beta ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.beta ) : 0; // X' - // put the text in the sprite - context.font = '48px monospace'; - context.fillStyle = 'rgba(192,192,255, 0.5)'; - context.fillRect( 0, 0, canvas.width, canvas.height ); - context.fillStyle = 'darkblue'; - context.fillText(text, canvas.width/4, 3*canvas.height/4 ) - texture.needsUpdate = true + var gamma = device.gamma ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( device.gamma ) : 0; // Y'' - // var geometry = new THREE.CubeGeometry(1, 1, 1) - var geometry = new THREE.PlaneGeometry(1, 1) - var material = new THREE.MeshBasicMaterial({ - map: texture, - transparent: true - }); - var mesh = new THREE.Mesh(geometry, material) - mesh.rotation.x = -Math.PI/2 + var orient = scope.screenOrientation ? three__WEBPACK_IMPORTED_MODULE_0__.Math.degToRad( scope.screenOrientation ) : 0; // O - this.object3d.add(mesh) + // NW Added smoothing code + var k = this.smoothingFactor; -} -var THREEx = THREEx || {} + if(this.lastOrientation) { + alpha = this._getSmoothedAngle(alpha, this.lastOrientation.alpha, k); + beta = this._getSmoothedAngle(beta + Math.PI, this.lastOrientation.beta, k); + gamma = this._getSmoothedAngle(gamma + this.HALF_PI, this.lastOrientation.gamma, k, Math.PI); + + } else { + beta += Math.PI; + gamma += this.HALF_PI; + } -/** - * - lerp position/quaternino/scale - * - minDelayDetected - * - minDelayUndetected - * @param {[type]} object3d [description] - * @param {[type]} parameters [description] - */ -THREEx.ArSmoothedControls = function(object3d, parameters){ - var _this = this - - THREEx.ArBaseControls.call(this, object3d) - - // copy parameters - this.object3d.visible = false - - this._lastLerpStepAt = null - this._visibleStartedAt = null - this._unvisibleStartedAt = null + this.lastOrientation = { + alpha: alpha, + beta: beta, + gamma: gamma + }; + setObjectQuaternion( scope.object.quaternion, alpha, beta - Math.PI, gamma - this.HALF_PI, orient ); - // handle default parameters - parameters = parameters || {} - this.parameters = { - // lerp coeficient for the position - between [0,1] - default to 1 - lerpPosition: 0.8, - // lerp coeficient for the quaternion - between [0,1] - default to 1 - lerpQuaternion: 0.2, - // lerp coeficient for the scale - between [0,1] - default to 1 - lerpScale: 0.7, - // delay for lerp fixed steps - in seconds - default to 1/120 - lerpStepDelay: 1/60, - // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds - minVisibleDelay: 0.0, - // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds - minUnvisibleDelay: 0.2, - } - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] + } + }; - if( newValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' parameter is undefined." ) - continue - } + + // NW Added + this._orderAngle = function(a, b, range = this.TWO_PI) { + if ((b > a && Math.abs(b - a) < range / 2) || (a > b && Math.abs(b - a) > range / 2)) { + return { left: a, right: b } + } else { + return { left: b, right: a } + } + }; - var currentValue = _this.parameters[ key ] + // NW Added + this._getSmoothedAngle = function(a, b, k, range = this.TWO_PI) { + const angles = this._orderAngle(a, b, range); + const angleshift = angles.left; + const origAnglesRight = angles.right; + angles.left = 0; + angles.right -= angleshift; + if(angles.right < 0) angles.right += range; + let newangle = origAnglesRight == b ? (1 - k)*angles.right + k * angles.left : k * angles.right + (1 - k) * angles.left; + newangle += angleshift; + if(newangle >= range) newangle -= range; + return newangle; + }; - if( currentValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' is not a property of this material." ) - continue - } + this.dispose = function () { + scope.disconnect(); + }; - _this.parameters[ key ] = newValue - } - } -} - -THREEx.ArSmoothedControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -THREEx.ArSmoothedControls.prototype.constructor = THREEx.ArSmoothedControls; + this.connect(); -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// +}; -THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ - var object3d = this.object3d - var parameters = this.parameters - var wasVisible = object3d.visible - var present = performance.now()/1000 +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArjsDeviceOrientationControls); - ////////////////////////////////////////////////////////////////////////////// - // handle object3d.visible with minVisibleDelay/minUnvisibleDelay - ////////////////////////////////////////////////////////////////////////////// - if( targetObject3d.visible === false ) this._visibleStartedAt = null - if( targetObject3d.visible === true ) this._unvisibleStartedAt = null +/***/ }), - if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present - if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present +/***/ "./aframe/src/location-based/arjs-look-controls.js": +/*!*********************************************************!*\ + !*** ./aframe/src/location-based/arjs-look-controls.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if( wasVisible === false && targetObject3d.visible === true ){ - var visibleFor = present - this._visibleStartedAt - if( visibleFor >= this.parameters.minVisibleDelay ){ - object3d.visible = true - snapDirectlyToTarget() - } - // console.log('visibleFor', visibleFor) - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); +// To avoid recalculation at every mouse movement tick +var PI_2 = Math.PI / 2; - if( wasVisible === true && targetObject3d.visible === false ){ - var unvisibleFor = present - this._unvisibleStartedAt - if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ - object3d.visible = false - } - } - - ////////////////////////////////////////////////////////////////////////////// - // apply lerp on positon/quaternion/scale - ////////////////////////////////////////////////////////////////////////////// - // apply lerp steps - require fix time steps to behave the same no matter the fps - if( this._lastLerpStepAt === null ){ - applyOneSlerpStep() - this._lastLerpStepAt = present - }else{ - var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) - for(var i = 0; i < nStepsToDo; i++){ - applyOneSlerpStep() - this._lastLerpStepAt += this.parameters.lerpStepDelay - } - } +/** + * look-controls. Update entity pose, factoring mouse, touch, and WebVR API data. + */ - // disable the lerp by directly copying targetObject3d position/quaternion/scale - if( false ){ - snapDirectlyToTarget() - } +/* NOTE that this is a modified version of A-Frame's look-controls to + * allow exponential smoothing, for use in AR.js. + * + * Modifications Nick Whitelegg (nickw1 github) + */ - // update the matrix - this.object3d.updateMatrix() - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible/becameUnVisible event - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible event - if( wasVisible === false && object3d.visible === true ){ - this.dispatchEvent({ type: 'becameVisible' }) - } - // honor becameUnVisible event - if( wasVisible === true && object3d.visible === false ){ - this.dispatchEvent({ type: 'becameUnVisible' }) - } - return - function snapDirectlyToTarget(){ - object3d.position.copy( targetObject3d.position ) - object3d.quaternion.copy( targetObject3d.quaternion ) - object3d.scale.copy( targetObject3d.scale ) - } - - function applyOneSlerpStep(){ - object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) - object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) - object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) { - var _this = this +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-look-controls', { + dependencies: ['position', 'rotation'], - _this._updatedAt = null + schema: { + enabled: {default: true}, + magicWindowTrackingEnabled: {default: true}, + pointerLockEnabled: {default: false}, + reverseMouseDrag: {default: false}, + reverseTouchDrag: {default: false}, + touchEnabled: {default: true}, + smoothingFactor: { type: 'number', default: 1 } + }, - // handle default parameters - this.parameters = { - // AR backend - ['artoolkit'] - trackingBackend: 'artoolkit', - // debug - true if one should display artoolkit debug canvas, false otherwise - debug: false, - // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] - detectionMode: 'mono', - // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] - matrixCodeType: '3x3', + init: function () { + this.deltaYaw = 0; + this.previousHMDPosition = new THREE.Vector3(); + this.hmdQuaternion = new THREE.Quaternion(); + this.magicWindowAbsoluteEuler = new THREE.Euler(); + this.magicWindowDeltaEuler = new THREE.Euler(); + this.position = new THREE.Vector3(); + this.magicWindowObject = new THREE.Object3D(); + this.rotation = {}; + this.deltaRotation = {}; + this.savedPose = null; + this.pointerLocked = false; + this.setupMouseControls(); + this.bindMethods(); + this.previousMouseEvent = {}; - // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', + this.setupMagicWindowControls(); - // tune the maximum rate of pose detection in the source image - maxDetectionRate: 60, - // resolution of at which we detect pose in the source image - canvasWidth: 640, - canvasHeight: 480, + // To save / restore camera pose + this.savedPose = { + position: new THREE.Vector3(), + rotation: new THREE.Euler() + }; - // the patternRatio inside the artoolkit marker - artoolkit only - patternRatio: 0.5, + // Call enter VR handler if the scene has entered VR before the event listeners attached. + if (this.el.sceneEl.is('vr-mode')) { this.onEnterVR(); } + }, - // Labeling mode for markers - ['black_region', 'white_region'] - // black_region: Black bordered markers on a white background, white_region: White bordered markers on a black background - labelingMode: 'black_region', + setupMagicWindowControls: function () { + var magicWindowControls; + var data = this.data; - // enable image smoothing or not for canvas copy - default to true - // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled - imageSmoothingEnabled: false, + // Only on mobile devices and only enabled if DeviceOrientation permission has been granted. + if (aframe__WEBPACK_IMPORTED_MODULE_0__.utils.device.isMobile()) { + magicWindowControls = this.magicWindowControls = new _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_1__.default(this.magicWindowObject); + if (typeof DeviceOrientationEvent !== 'undefined' && DeviceOrientationEvent.requestPermission) { + magicWindowControls.enabled = false; + if (this.el.sceneEl.components['device-orientation-permission-ui'].permissionGranted) { + magicWindowControls.enabled = data.magicWindowTrackingEnabled; + } else { + this.el.sceneEl.addEventListener('deviceorientationpermissiongranted', function () { + magicWindowControls.enabled = data.magicWindowTrackingEnabled; + }); + } + } } - // parameters sanity check - console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) - console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - console.assert(["black_region", "white_region"].indexOf(this.parameters.labelingMode) !== -1, "invalid parameter labelingMode", this.parameters.labelingMode); - - this.arController = null; - - _this.initialized = false + }, + update: function (oldData) { + var data = this.data; - this._arMarkersControls = [] + // Disable grab cursor classes if no longer enabled. + if (data.enabled !== oldData.enabled) { + this.updateGrabCursor(data.enabled); + } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - - if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") - continue - } - - var currentValue = _this.parameters[key] + // Reset magic window eulers if tracking is disabled. + if (oldData && !data.magicWindowTrackingEnabled && oldData.magicWindowTrackingEnabled) { + this.magicWindowAbsoluteEuler.set(0, 0, 0); + this.magicWindowDeltaEuler.set(0, 0, 0); + } - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") - continue - } + // Pass on magic window tracking setting to magicWindowControls. + if (this.magicWindowControls) { + this.magicWindowControls.enabled = data.magicWindowTrackingEnabled; + this.magicWindowControls.smoothingFactor = data.smoothingFactor; + } - _this.parameters[key] = newValue - } + if (oldData && !data.pointerLockEnabled !== oldData.pointerLockEnabled) { + this.removeEventListeners(); + this.addEventListeners(); + if (this.pointerLocked) { this.exitPointerLock(); } } -} + }, -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); + tick: function (t) { + var data = this.data; + if (!data.enabled) { return; } + this.updateOrientation(); + }, -// default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; + play: function () { + this.addEventListeners(); + }, -/** - * Create a default camera for this trackingBackend - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera - */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { - console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false) - return camera -} + pause: function () { + this.removeEventListeners(); + if (this.pointerLocked) { this.exitPointerLock(); } + }, + remove: function () { + this.removeEventListeners(); + if (this.pointerLocked) { this.exitPointerLock(); } + }, -////////////////////////////////////////////////////////////////////////////// -// init functions -////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { - var _this = this - if (this.parameters.trackingBackend === 'artoolkit') { - this._initArtoolkit(done) - } else console.assert(false) - return + bindMethods: function () { + this.onMouseDown = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseDown, this); + this.onMouseMove = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseMove, this); + this.onMouseUp = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onMouseUp, this); + this.onTouchStart = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchStart, this); + this.onTouchMove = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchMove, this); + this.onTouchEnd = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onTouchEnd, this); + this.onEnterVR = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onEnterVR, this); + this.onExitVR = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onExitVR, this); + this.onPointerLockChange = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onPointerLockChange, this); + this.onPointerLockError = aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.onPointerLockError, this); + }, - function done() { - // dispatch event - _this.dispatchEvent({ - type: 'initialized' - }); + /** + * Set up states and Object3Ds needed to store rotation data. + */ + setupMouseControls: function () { + this.mouseDown = false; + this.pitchObject = new THREE.Object3D(); + this.yawObject = new THREE.Object3D(); + this.yawObject.position.y = 10; + this.yawObject.add(this.pitchObject); + }, - _this.initialized = true + /** + * Add mouse and touch event listeners to canvas. + */ + addEventListeners: function () { + var sceneEl = this.el.sceneEl; + var canvasEl = sceneEl.canvas; - onCompleted && onCompleted() + // Wait for canvas to load. + if (!canvasEl) { + sceneEl.addEventListener('render-target-loaded', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.bind(this.addEventListeners, this)); + return; } -} -//////////////////////////////////////////////////////////////////////////////// -// update function -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { + // Mouse events. + canvasEl.addEventListener('mousedown', this.onMouseDown, false); + window.addEventListener('mousemove', this.onMouseMove, false); + window.addEventListener('mouseup', this.onMouseUp, false); - // be sure arController is fully initialized - if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; + // Touch events. + canvasEl.addEventListener('touchstart', this.onTouchStart); + window.addEventListener('touchmove', this.onTouchMove); + window.addEventListener('touchend', this.onTouchEnd); - // honor this.parameters.maxDetectionRate - var present = performance.now() - if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { - return false + // sceneEl events. + sceneEl.addEventListener('enter-vr', this.onEnterVR); + sceneEl.addEventListener('exit-vr', this.onExitVR); + + // Pointer Lock events. + if (this.data.pointerLockEnabled) { + document.addEventListener('pointerlockchange', this.onPointerLockChange, false); + document.addEventListener('mozpointerlockchange', this.onPointerLockChange, false); + document.addEventListener('pointerlockerror', this.onPointerLockError, false); } - this._updatedAt = present + }, - // mark all markers to invisible before processing this frame - this._arMarkersControls.forEach(function (markerControls) { - if (!markerControls.context.arController.showObject) { - markerControls.object3d.visible = false - } - }) + /** + * Remove mouse and touch event listeners from canvas. + */ + removeEventListeners: function () { + var sceneEl = this.el.sceneEl; + var canvasEl = sceneEl && sceneEl.canvas; - // process this frame - if (this.parameters.trackingBackend === 'artoolkit') { - this._updateArtoolkit(srcElement) - } else { - console.assert(false) - } + if (!canvasEl) { return; } - // dispatch event - this.dispatchEvent({ - type: 'sourceProcessed' - }); + // Mouse events. + canvasEl.removeEventListener('mousedown', this.onMouseDown); + window.removeEventListener('mousemove', this.onMouseMove); + window.removeEventListener('mouseup', this.onMouseUp); + // Touch events. + canvasEl.removeEventListener('touchstart', this.onTouchStart); + window.removeEventListener('touchmove', this.onTouchMove); + window.removeEventListener('touchend', this.onTouchEnd); - // return true as we processed the frame - return true; -} + // sceneEl events. + sceneEl.removeEventListener('enter-vr', this.onEnterVR); + sceneEl.removeEventListener('exit-vr', this.onExitVR); -//////////////////////////////////////////////////////////////////////////////// -// Add/Remove markerControls -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - this._arMarkersControls.push(arMarkerControls) -} + // Pointer Lock events. + document.removeEventListener('pointerlockchange', this.onPointerLockChange, false); + document.removeEventListener('mozpointerlockchange', this.onPointerLockChange, false); + document.removeEventListener('pointerlockerror', this.onPointerLockError, false); + }, -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); - console.assert(index !== index) - this._arMarkersControls.splice(index, 1) -} + /** + * Update orientation for mobile, mouse drag, and headset. + * Mouse-drag only enabled if HMD is not active. + */ + updateOrientation: (function () { + var poseMatrix = new THREE.Matrix4(); -////////////////////////////////////////////////////////////////////////////// -// artoolkit specific -////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { - var _this = this + return function () { + var object3D = this.el.object3D; + var pitchObject = this.pitchObject; + var yawObject = this.yawObject; + var pose; + var sceneEl = this.el.sceneEl; - // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one - this._artoolkitProjectionAxisTransformMatrix = new THREE.Matrix4() - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationY(Math.PI)) - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationZ(Math.PI)) + // In VR mode, THREE is in charge of updating the camera pose. + if (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected()) { + // With WebXR THREE applies headset pose to the object3D matrixWorld internally. + // Reflect values back on position, rotation, scale for getAttribute to return the expected values. + if (sceneEl.hasWebXR) { + pose = sceneEl.renderer.xr.getCameraPose(); + if (pose) { + poseMatrix.elements = pose.transform.matrix; + poseMatrix.decompose(object3D.position, object3D.rotation, object3D.scale); + } + } + return; + } - var onError = function(err) { - console.error(err); + this.updateMagicWindowOrientation(); + + // On mobile, do camera rotation with touch events and sensors. + object3D.rotation.x = this.magicWindowDeltaEuler.x + pitchObject.rotation.x; + object3D.rotation.y = this.magicWindowDeltaEuler.y + yawObject.rotation.y; + object3D.rotation.z = this.magicWindowDeltaEuler.z; }; + })(), - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, - function () { - // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); - _this.arController = arController + updateMagicWindowOrientation: function () { + var magicWindowAbsoluteEuler = this.magicWindowAbsoluteEuler; + var magicWindowDeltaEuler = this.magicWindowDeltaEuler; + // Calculate magic window HMD quaternion. + if (this.magicWindowControls && this.magicWindowControls.enabled) { + this.magicWindowControls.update(); + magicWindowAbsoluteEuler.setFromQuaternion(this.magicWindowObject.quaternion, 'YXZ'); + if (!this.previousMagicWindowYaw && magicWindowAbsoluteEuler.y !== 0) { + this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; + } + if (this.previousMagicWindowYaw) { + magicWindowDeltaEuler.x = magicWindowAbsoluteEuler.x; + magicWindowDeltaEuler.y += magicWindowAbsoluteEuler.y - this.previousMagicWindowYaw; + magicWindowDeltaEuler.z = magicWindowAbsoluteEuler.z; + this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; + } + } + }, - // honor this.parameters.imageSmoothingEnabled - arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + /** + * Translate mouse drag into rotation. + * + * Dragging up and down rotates the camera around the X-axis (yaw). + * Dragging left and right rotates the camera around the Y-axis (pitch). + */ + onMouseMove: function (evt) { + var direction; + var movementX; + var movementY; + var pitchObject = this.pitchObject; + var previousMouseEvent = this.previousMouseEvent; + var yawObject = this.yawObject; - // honor this.parameters.debug - if (_this.parameters.debug === true) { - arController.debugSetup(); - arController.canvas.style.position = 'absolute' - arController.canvas.style.top = '0px' - arController.canvas.style.opacity = '0.6' - arController.canvas.style.pointerEvents = 'none' - arController.canvas.style.zIndex = '-1' - } - - // setPatternDetectionMode - var detectionModes = { - 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, - 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, - 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, - 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, - } - var detectionMode = detectionModes[_this.parameters.detectionMode] - console.assert(detectionMode !== undefined) - arController.setPatternDetectionMode(detectionMode); - - // setMatrixCodeType - var matrixCodeTypes = { - '3x3': artoolkit.AR_MATRIX_CODE_3x3, - '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, - '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, - '4x4': artoolkit.AR_MATRIX_CODE_4x4, - '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, - '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, - } - var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] - console.assert(matrixCodeType !== undefined) - arController.setMatrixCodeType(matrixCodeType); + // Not dragging or not enabled. + if (!this.data.enabled || (!this.mouseDown && !this.pointerLocked)) { return; } - // set the patternRatio for artoolkit - arController.setPattRatio(_this.parameters.patternRatio); + // Calculate delta. + if (this.pointerLocked) { + movementX = evt.movementX || evt.mozMovementX || 0; + movementY = evt.movementY || evt.mozMovementY || 0; + } else { + movementX = evt.screenX - previousMouseEvent.screenX; + movementY = evt.screenY - previousMouseEvent.screenY; + } + this.previousMouseEvent.screenX = evt.screenX; + this.previousMouseEvent.screenY = evt.screenY; - // set the labelingMode for artoolkit - var labelingModeTypes = { - "black_region": artoolkit.AR_LABELING_BLACK_REGION, - "white_region": artoolkit.AR_LABELING_WHITE_REGION - } - var labelingModeType = labelingModeTypes[_this.parameters.labelingMode]; - console.assert(labelingModeType !== undefined); - arController.setLabelingMode(labelingModeType); + // Calculate rotation. + direction = this.data.reverseMouseDrag ? 1 : -1; + yawObject.rotation.y += movementX * 0.002 * direction; + pitchObject.rotation.x += movementY * 0.002 * direction; + pitchObject.rotation.x = Math.max(-PI_2, Math.min(PI_2, pitchObject.rotation.x)); + }, - // set thresholding in artoolkit - // this seems to be the default - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) - // adatative consume a LOT of cpu... - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + /** + * Register mouse down to detect mouse drag. + */ + onMouseDown: function (evt) { + var sceneEl = this.el.sceneEl; + if (!this.data.enabled || (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected())) { return; } + // Handle only primary button. + if (evt.button !== 0) { return; } - // notify - onCompleted() - }, - onError - ); - return this -} + var canvasEl = sceneEl && sceneEl.canvas; -/** - * return the projection matrix - */ -ARjs.Context.prototype.getProjectionMatrix = function () { - // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix - // keep a backward compatibility with a console.warn + this.mouseDown = true; + this.previousMouseEvent.screenX = evt.screenX; + this.previousMouseEvent.screenY = evt.screenY; + this.showGrabbingCursor(); - console.assert(this.parameters.trackingBackend === 'artoolkit') - console.assert(this.arController, 'arController MUST be initialized to call this function') + if (this.data.pointerLockEnabled && !this.pointerLocked) { + if (canvasEl.requestPointerLock) { + canvasEl.requestPointerLock(); + } else if (canvasEl.mozRequestPointerLock) { + canvasEl.mozRequestPointerLock(); + } + } + }, - // get projectionMatrixArr from artoolkit - var projectionMatrixArr = this.arController.getCameraMatrix(); - var projectionMatrix = new THREE.Matrix4().fromArray(projectionMatrixArr) + /** + * Shows grabbing cursor on scene + */ + showGrabbingCursor: function () { + this.el.sceneEl.canvas.style.cursor = 'grabbing'; + }, - // projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) + /** + * Hides grabbing cursor on scene + */ + hideGrabbingCursor: function () { + this.el.sceneEl.canvas.style.cursor = ''; + }, - return projectionMatrix -} + /** + * Register mouse up to detect release of mouse drag. + */ + onMouseUp: function () { + this.mouseDown = false; + this.hideGrabbingCursor(); + }, -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { - this.arController.process(srcElement) -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + /** + * Register touch down to detect touch drag. + */ + onTouchStart: function (evt) { + if (evt.touches.length !== 1 || + !this.data.touchEnabled || + this.el.sceneEl.is('vr-mode')) { return; } + this.touchStart = { + x: evt.touches[0].pageX, + y: evt.touches[0].pageY + }; + this.touchStarted = true; + }, -/** - * ArToolkitProfile helps you build parameters for artoolkit - * - it is fully independent of the rest of the code - * - all the other classes are still expecting normal parameters - * - you can use this class to understand how to tune your specific usecase - * - it is made to help people to build parameters without understanding all the underlying details. - */ -ARjs.Profile = THREEx.ArToolkitProfile = function () { - this.reset() + /** + * Translate touch move to Y-axis rotation. + */ + onTouchMove: function (evt) { + var direction; + var canvas = this.el.sceneEl.canvas; + var deltaY; + var yawObject = this.yawObject; - this.performance('default') -} + if (!this.touchStarted || !this.data.touchEnabled) { return; } + deltaY = 2 * Math.PI * (evt.touches[0].pageX - this.touchStart.x) / canvas.clientWidth; -ARjs.Profile.prototype._guessPerformanceLabel = function () { - var isMobile = navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) - ? true : false - if (isMobile === true) { - return 'phone-normal' - } - return 'desktop-normal' -} + direction = this.data.reverseTouchDrag ? 1 : -1; + // Limit touch orientaion to to yaw (y axis). + yawObject.rotation.y -= deltaY * 0.5 * direction; + this.touchStart = { + x: evt.touches[0].pageX, + y: evt.touches[0].pageY + }; + }, -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + /** + * Register touch end to detect release of touch drag. + */ + onTouchEnd: function () { + this.touchStarted = false; + }, -/** - * reset all parameters - */ -ARjs.Profile.prototype.reset = function () { - this.sourceParameters = { - // to read from the webcam - sourceType: 'webcam', + /** + * Save pose. + */ + onEnterVR: function () { + var sceneEl = this.el.sceneEl; + if (!sceneEl.checkHeadsetConnected()) { return; } + this.saveCameraPose(); + this.el.object3D.position.set(0, 0, 0); + this.el.object3D.rotation.set(0, 0, 0); + if (sceneEl.hasWebXR) { + this.el.object3D.matrixAutoUpdate = false; + this.el.object3D.updateMatrix(); } + }, - this.contextParameters = { - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - detectionMode: 'mono', - } - this.defaultMarkerParameters = { - type: 'pattern', - patternUrl: THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro', - changeMatrixMode: 'modelViewMatrix', - } - return this -}; + /** + * Restore the pose. + */ + onExitVR: function () { + if (!this.el.sceneEl.checkHeadsetConnected()) { return; } + this.restoreCameraPose(); + this.previousHMDPosition.set(0, 0, 0); + this.el.object3D.matrixAutoUpdate = true; + }, -////////////////////////////////////////////////////////////////////////////// -// Performance -////////////////////////////////////////////////////////////////////////////// + /** + * Update Pointer Lock state. + */ + onPointerLockChange: function () { + this.pointerLocked = !!(document.pointerLockElement || document.mozPointerLockElement); + }, + /** + * Recover from Pointer Lock error. + */ + onPointerLockError: function () { + this.pointerLocked = false; + }, + // Exits pointer-locked mode. + exitPointerLock: function () { + document.exitPointerLock(); + this.pointerLocked = false; + }, -ARjs.Profile.prototype.performance = function (label) { + /** + * Toggle the feature of showing/hiding the grab cursor. + */ + updateGrabCursor: function (enabled) { + var sceneEl = this.el.sceneEl; - if (label === 'default') { - label = this._guessPerformanceLabel() - } + function enableGrabCursor () { sceneEl.canvas.classList.add('a-grab-cursor'); } + function disableGrabCursor () { sceneEl.canvas.classList.remove('a-grab-cursor'); } - if (label === 'desktop-fast') { - this.contextParameters.canvasWidth = 640 * 3 - this.contextParameters.canvasHeight = 480 * 3 - - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'desktop-normal') { - this.contextParameters.canvasWidth = 640 - this.contextParameters.canvasHeight = 480 - - this.contextParameters.maxDetectionRate = 60 - } else if (label === 'phone-normal') { - this.contextParameters.canvasWidth = 80 * 4 - this.contextParameters.canvasHeight = 60 * 4 - - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'phone-slow') { - this.contextParameters.canvasWidth = 80 * 3 - this.contextParameters.canvasHeight = 60 * 3 - - this.contextParameters.maxDetectionRate = 30 - } else { - console.assert(false, 'unknonwn label ' + label) + if (!sceneEl.canvas) { + if (enabled) { + sceneEl.addEventListener('render-target-loaded', enableGrabCursor); + } else { + sceneEl.addEventListener('render-target-loaded', disableGrabCursor); + } + return; } - return this -} - -////////////////////////////////////////////////////////////////////////////// -// Marker -////////////////////////////////////////////////////////////////////////////// - - -ARjs.Profile.prototype.defaultMarker = function (trackingBackend) { - trackingBackend = trackingBackend || this.contextParameters.trackingBackend - - if (trackingBackend === 'artoolkit') { - this.contextParameters.detectionMode = 'mono' - this.defaultMarkerParameters.type = 'pattern' - this.defaultMarkerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro' - } else console.assert(false) - return this -} -////////////////////////////////////////////////////////////////////////////// -// Source -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.sourceWebcam = function () { - this.sourceParameters.sourceType = 'webcam' - delete this.sourceParameters.sourceUrl - return this -} + if (enabled) { + enableGrabCursor(); + return; + } + disableGrabCursor(); + }, -ARjs.Profile.prototype.sourceVideo = function (url) { - this.sourceParameters.sourceType = 'video' - this.sourceParameters.sourceUrl = url - return this -} + /** + * Save camera pose before entering VR to restore later if exiting. + */ + saveCameraPose: function () { + var el = this.el; -ARjs.Profile.prototype.sourceImage = function (url) { - this.sourceParameters.sourceType = 'image' - this.sourceParameters.sourceUrl = url - return this -} + this.savedPose.position.copy(el.object3D.position); + this.savedPose.rotation.copy(el.object3D.rotation); + this.hasSavedPose = true; + }, -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingBackend = function (trackingBackend) { - console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') - this.contextParameters.trackingBackend = trackingBackend - return this -} + /** + * Reset camera pose to before entering VR. + */ + restoreCameraPose: function () { + var el = this.el; + var savedPose = this.savedPose; -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.changeMatrixMode = function (changeMatrixMode) { - this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode - return this -} + if (!this.hasSavedPose) { return; } -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingMethod = function (trackingMethod) { - var data = ARjs.Utils.parseTrackingMethod(trackingMethod) - this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled - this.contextParameters.trackingBackend = data.trackingBackend - return this -} + // Reset camera orientation. + el.object3D.position.copy(savedPose.position); + el.object3D.rotation.copy(savedPose.rotation); + this.hasSavedPose = false; + } +}); -/** - * check if the profile is valid. Throw an exception is not valid - */ -ARjs.Profile.prototype.checkIfValid = function () { - return this -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.Source = THREEx.ArToolkitSource = function (parameters) { - var _this = this +/***/ }), - this.ready = false - this.domElement = null +/***/ "./aframe/src/location-based/arjs-webcam-texture.js": +/*!**********************************************************!*\ + !*** ./aframe/src/location-based/arjs-webcam-texture.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // handle default parameters - this.parameters = { - // type of source - ['webcam', 'image', 'video'] - sourceType: 'webcam', - // url of the source - valid if sourceType = image|video - sourceUrl: null, +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); - // Device id of the camera to use (optional) - deviceId: null, - // resolution of at which we initialize in the source image - sourceWidth: 640, - sourceHeight: 480, - // resolution displayed for the source - displayWidth: 640, - displayHeight: 480, - } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - if (newValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' parameter is undefined.") - continue - } +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-webcam-texture', { - var currentValue = _this.parameters[key] + init: function() { + this.scene = this.el.sceneEl; + this.texCamera = new three__WEBPACK_IMPORTED_MODULE_1__.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); + this.texScene = new three__WEBPACK_IMPORTED_MODULE_1__.Scene(); - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' is not a property of this material.") - continue - } + this.scene.renderer.autoClear = false; + this.video = document.createElement("video"); + this.video.setAttribute("autoplay", true); + this.video.setAttribute("playsinline", true); + this.video.setAttribute("display", "none"); + document.body.appendChild(this.video); + this.geom = new three__WEBPACK_IMPORTED_MODULE_1__.PlaneBufferGeometry(); //0.5, 0.5); + this.texture = new three__WEBPACK_IMPORTED_MODULE_1__.VideoTexture(this.video); + this.material = new three__WEBPACK_IMPORTED_MODULE_1__.MeshBasicMaterial( { map: this.texture } ); + const mesh = new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(this.geom, this.material); + this.texScene.add(mesh); + }, - _this.parameters[key] = newValue + play: function() { + if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { + const constraints = { video: { + facingMode: 'environment' } + }; + navigator.mediaDevices.getUserMedia(constraints).then( stream=> { + this.video.srcObject = stream; + this.video.play(); + }) + .catch(e => { + this.el.sceneEl.systems['arjs']._displayErrorPopup(`Webcam error: ${e}`); + }); + } else { + this.el.sceneEl.systems['arjs']._displayErrorPopup('sorry - media devices API not supported'); } - } -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.init = function (onReady, onError) { - var _this = this - - if (this.parameters.sourceType === 'image') { - var domElement = this._initSourceImage(onSourceReady, onError) - } else if (this.parameters.sourceType === 'video') { - var domElement = this._initSourceVideo(onSourceReady, onError) - } else if (this.parameters.sourceType === 'webcam') { - // var domElement = this._initSourceWebcamOld(onSourceReady) - var domElement = this._initSourceWebcam(onSourceReady, onError) - } else { - console.assert(false) - } - - // attach - this.domElement = domElement - this.domElement.style.position = 'absolute' - this.domElement.style.top = '0px' - this.domElement.style.left = '0px' - this.domElement.style.zIndex = '-2' - this.domElement.setAttribute('id', 'arjs-video'); + }, - return this - function onSourceReady() { - document.body.appendChild(_this.domElement); - window.dispatchEvent(new CustomEvent('arjs-video-loaded', { - detail: { - component: document.querySelector('#arjs-video'), - }, - })); + tick: function() { + this.scene.renderer.clear(); + this.scene.renderer.render(this.texScene, this.texCamera); + this.scene.renderer.clearDepth(); + }, - _this.ready = true + pause: function() { + this.video.srcObject.getTracks().forEach ( track => { + track.stop(); + }); + }, - onReady && onReady() + remove: function() { + this.material.dispose(); + this.texture.dispose(); + this.geom.dispose(); } -} - -//////////////////////////////////////////////////////////////////////////////// -// init image source -//////////////////////////////////////////////////////////////////////////////// - +}); -ARjs.Source.prototype._initSourceImage = function (onReady) { - // TODO make it static - var domElement = document.createElement('img'); - domElement.src = this.parameters.sourceUrl; - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; +/***/ }), - domElement.onload = onReady; - return domElement -} +/***/ "./aframe/src/location-based/gps-camera.js": +/*!*************************************************!*\ + !*** ./aframe/src/location-based/gps-camera.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -//////////////////////////////////////////////////////////////////////////////// -// init video source -//////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); +/* + * UPDATES 28/08/20: + * + * - add gpsMinDistance and gpsTimeInterval properties to control how + * frequently GPS updates are processed. Aim is to prevent 'stuttering' + * effects when close to AR content due to continuous small changes in + * location. + */ -ARjs.Source.prototype._initSourceVideo = function (onReady) { - // TODO make it static - var domElement = document.createElement('video'); - domElement.src = this.parameters.sourceUrl; - domElement.style.objectFit = 'initial'; - domElement.autoplay = true; - domElement.webkitPlaysinline = true; - domElement.controls = false; - domElement.loop = true; - domElement.muted = true; +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-camera', { + _watchPositionId: null, + originCoords: null, + currentCoords: null, + lookControls: null, + heading: null, + schema: { + simulateLatitude: { + type: 'number', + default: 0, + }, + simulateLongitude: { + type: 'number', + default: 0, + }, + simulateAltitude: { + type: 'number', + default: 0, + }, + positionMinAccuracy: { + type: 'int', + default: 100, + }, + alert: { + type: 'boolean', + default: false, + }, + minDistance: { + type: 'int', + default: 0, + }, + maxDistance: { + type: 'int', + default: 0, + }, + gpsMinDistance: { + type: 'number', + default: 5, + }, + gpsTimeInterval: { + type: 'number', + default: 0, + }, + }, + update: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.longitude = this.data.simulateLongitude; + localPosition.latitude = this.data.simulateLatitude; + localPosition.altitude = this.data.simulateAltitude; + this.currentCoords = localPosition; - // trick to trigger the video on android - document.body.addEventListener('click', function onClick() { - document.body.removeEventListener('click', onClick); - domElement.play() - }); + // re-trigger initialization for new origin + this.originCoords = null; + this._updatePosition(); + } + }, + init: function () { + if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { + return; + } - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + this.lastPosition = { + latitude: 0, + longitude: 0 + }; - domElement.onloadeddata = onReady; - return domElement -} + this.loader = document.createElement('DIV'); + this.loader.classList.add('arjs-loader'); + document.body.appendChild(this.loader); -//////////////////////////////////////////////////////////////////////////////// -// handle webcam source -//////////////////////////////////////////////////////////////////////////////// + this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); + window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); -ARjs.Source.prototype._initSourceWebcam = function (onReady, onError) { - var _this = this + this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; - // init default value - onError = onError || function (error) { - var event = new CustomEvent('camera-error', { error: error }); - window.dispatchEvent(event); + // listen to deviceorientation event + var eventName = this._getDeviceOrientationEventName(); + this._onDeviceOrientation = this._onDeviceOrientation.bind(this); - setTimeout(() => { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + // if Safari + if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { + // iOS 13+ + if (typeof DeviceOrientationEvent.requestPermission === 'function') { + var handler = function () { + console.log('Requesting device orientation permissions...') + DeviceOrientationEvent.requestPermission(); + document.removeEventListener('touchend', handler); + }; + + document.addEventListener('touchend', function () { handler() }, false); + + this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); + } else { + var timeout = setTimeout(function () { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + }, 750); + window.addEventListener(eventName, function () { + clearTimeout(timeout); + }); } - }, 1000); - } + } - var domElement = document.createElement('video'); - domElement.setAttribute('autoplay', ''); - domElement.setAttribute('muted', ''); - domElement.setAttribute('playsinline', ''); - domElement.style.width = this.parameters.displayWidth + 'px' - domElement.style.height = this.parameters.displayHeight + 'px' + window.addEventListener(eventName, this._onDeviceOrientation, false); - // check API is available - if (navigator.mediaDevices === undefined - || navigator.mediaDevices.enumerateDevices === undefined - || navigator.mediaDevices.getUserMedia === undefined) { - if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' - else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' - else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' - else console.assert(false) - onError({ - name: '', - message: 'WebRTC issue-! ' + fctName + ' not present in your browser' - }); - return null - } + }, - // get available devices - navigator.mediaDevices.enumerateDevices().then(function (devices) { - var userMediaConstraints = { - audio: false, - video: { - facingMode: 'environment', - width: { - ideal: _this.parameters.sourceWidth, - // min: 1024, - // max: 1920 - }, - height: { - ideal: _this.parameters.sourceHeight, - // min: 776, - // max: 1080 - } + play: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.latitude = this.data.simulateLatitude; + localPosition.longitude = this.data.simulateLongitude; + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; } - }; + this.currentCoords = localPosition; + this._updatePosition(); + } else { + this._watchPositionId = this._initWatchGPS(function (position) { + var localPosition = { + latitude: position.coords.latitude, + longitude: position.coords.longitude, + altitude: position.coords.altitude, + accuracy: position.coords.accuracy, + altitudeAccuracy: position.coords.altitudeAccuracy, + }; + + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + + this.currentCoords = localPosition; + var distMoved = this._haversineDist( + this.lastPosition, + this.currentCoords + ); - if (null !== _this.parameters.deviceId) { - userMediaConstraints.video.deviceId = { - exact: _this.parameters.deviceId - }; + if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { + this._updatePosition(); + this.lastPosition = { + longitude: this.currentCoords.longitude, + latitude: this.currentCoords.latitude + }; + } + }.bind(this)); } + }, - // get a device which satisfy the constraints - navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { - // set the .src of the domElement - domElement.srcObject = stream; + tick: function () { + if (this.heading === null) { + return; + } + this._updateRotation(); + }, - var event = new CustomEvent('camera-init', { stream: stream }); - window.dispatchEvent(event); - // to start the video, when it is possible to start it only on userevent. like in android - document.body.addEventListener('click', function () { - domElement.play(); - }); - // domElement.play(); + pause: function() { + if (this._watchPositionId) { + navigator.geolocation.clearWatch(this._watchPositionId); + } + this._watchPositionId = null; + }, - onReady(); - }).catch(function (error) { - onError({ - name: error.name, - message: error.message - }); - }); - }).catch(function (error) { - onError({ - message: error.message - }); - }); + remove: function () { - return domElement -} + var eventName = this._getDeviceOrientationEventName(); + window.removeEventListener(eventName, this._onDeviceOrientation, false); -////////////////////////////////////////////////////////////////////////////// -// Handle Mobile Torch -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.hasMobileTorch = function () { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) return false + window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + }, - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } + /** + * Get device orientation event name, depends on browser implementation. + * @returns {string} event name + */ + _getDeviceOrientationEventName: function () { + if ('ondeviceorientationabsolute' in window) { + var eventName = 'deviceorientationabsolute' + } else if ('ondeviceorientation' in window) { + var eventName = 'deviceorientation' + } else { + var eventName = '' + console.error('Compass not supported') + } - var videoTrack = stream.getVideoTracks()[0]; + return eventName + }, - // if videoTrack.getCapabilities() doesnt exist, return false now - if (videoTrack.getCapabilities === undefined) return false - - var capabilities = videoTrack.getCapabilities() + /** + * Get current user position. + * + * @param {function} onSuccess + * @param {function} onError + * @returns {Promise} + */ + _initWatchGPS: function (onSuccess, onError) { + if (!onError) { + onError = function (err) { + console.warn('ERROR(' + err.code + '): ' + err.message) - return capabilities.torch ? true : false -} + if (err.code === 1) { + // User denied GeoLocation, let their know that + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + return; + } -/** - * toggle the flash/torch of the mobile fun if applicable. - * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ - */ -ARjs.Source.prototype.toggleMobileTorch = function () { - // sanity check - console.assert(this.hasMobileTorch() === true) + if (err.code === 3) { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); + return; + } + }; + } - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + if ('geolocation' in navigator === false) { + onError({ code: 0, message: 'Geolocation is not supported by your browser' }); + return Promise.resolve(); } - return - } - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } + // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition + return navigator.geolocation.watchPosition(onSuccess, onError, { + enableHighAccuracy: true, + maximumAge: this.data.gpsTimeInterval, + timeout: 27000, + }); + }, - var videoTrack = stream.getVideoTracks()[0]; - var capabilities = videoTrack.getCapabilities() + /** + * Update user position. + * + * @returns {void} + */ + _updatePosition: function () { + // don't update if accuracy is not good enough + if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { + if (this.data.alert && !document.getElementById('alert-popup')) { + var popup = document.createElement('div'); + popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' + popup.setAttribute('id', 'alert-popup'); + document.body.appendChild(popup); + } + return; + } - if (!capabilities.torch) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'no mobile torch is available on your camera' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + var alertPopup = document.getElementById('alert-popup'); + if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { + document.body.removeChild(alertPopup); } - return - } - this._currentTorchStatus = this._currentTorchStatus === false ? true : false - videoTrack.applyConstraints({ - advanced: [{ - torch: this._currentTorchStatus - }] - }).catch(function (error) { - console.log(error) - }); -} + if (!this.originCoords) { + // first camera initialization + this.originCoords = this.currentCoords; + this._setPosition(); -ARjs.Source.prototype.domElementWidth = function () { - return parseInt(this.domElement.style.width) -} -ARjs.Source.prototype.domElementHeight = function () { - return parseInt(this.domElement.style.height) -} + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); + } + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } else { + this._setPosition(); + } + }, + _setPosition: function () { + var position = this.el.getAttribute('position'); -//////////////////////////////////////////////////////////////////////////////// -// handle resize -//////////////////////////////////////////////////////////////////////////////// + // compute position.x + var dstCoords = { + longitude: this.currentCoords.longitude, + latitude: this.originCoords.latitude, + }; -ARjs.Source.prototype.onResizeElement = function () { - var _this = this - var screenWidth = window.innerWidth - var screenHeight = window.innerHeight + position.x = this.computeDistanceMeters(this.originCoords, dstCoords); + position.x *= this.currentCoords.longitude > this.originCoords.longitude ? 1 : -1; - // sanity check - console.assert(arguments.length === 0) + // compute position.z + var dstCoords = { + longitude: this.originCoords.longitude, + latitude: this.currentCoords.latitude, + } - // compute sourceWidth, sourceHeight - if (this.domElement.nodeName === "IMG") { - var sourceWidth = this.domElement.naturalWidth - var sourceHeight = this.domElement.naturalHeight - } else if (this.domElement.nodeName === "VIDEO") { - var sourceWidth = this.domElement.videoWidth - var sourceHeight = this.domElement.videoHeight - } else { - console.assert(false) - } + position.z = this.computeDistanceMeters(this.originCoords, dstCoords); + position.z *= this.currentCoords.latitude > this.originCoords.latitude ? -1 : 1; - // compute sourceAspect - var sourceAspect = sourceWidth / sourceHeight - // compute screenAspect - var screenAspect = screenWidth / screenHeight + // update position + this.el.setAttribute('position', position); - // if screenAspect < sourceAspect, then change the width, else change the height - if (screenAspect < sourceAspect) { - // compute newWidth and set .width/.marginLeft - var newWidth = sourceAspect * screenHeight - this.domElement.style.width = newWidth + 'px' - this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); + }, + /** + * Returns distance in meters between source and destination inputs. + * + * Calculate distance, bearing and more between Latitude/Longitude points + * Details: https://www.movable-type.co.uk/scripts/latlong.html + * + * @param {Position} src + * @param {Position} dest + * @param {Boolean} isPlace + * + * @returns {number} distance | Number.MAX_SAFE_INTEGER + */ + computeDistanceMeters: function (src, dest, isPlace) { + var distance = this._haversineDist (src, dest); - // init style.height/.marginTop to normal value - this.domElement.style.height = screenHeight + 'px' - this.domElement.style.marginTop = '0px' - } else { - // compute newHeight and set .height/.marginTop - var newHeight = 1 / (sourceAspect / screenWidth) - this.domElement.style.height = newHeight + 'px' - this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + // if function has been called for a place, and if it's too near and a min distance has been set, + // return max distance possible - to be handled by the caller + if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { + return Number.MAX_SAFE_INTEGER; + } - // init style.width/.marginLeft to normal value - this.domElement.style.width = screenWidth + 'px' - this.domElement.style.marginLeft = '0px' - } -} -/* -ARjs.Source.prototype.copyElementSizeTo = function(otherElement){ - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop -} -*/ + // if function has been called for a place, and if it's too far and a max distance has been set, + // return max distance possible - to be handled by the caller + if (isPlace && this.data.maxDistance && this.data.maxDistance > 0 && distance > this.data.maxDistance) { + return Number.MAX_SAFE_INTEGER; + } -ARjs.Source.prototype.copyElementSizeTo = function (otherElement) { + return distance; + }, - if (window.innerWidth > window.innerHeight) { - //landscape - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop - } - else { - //portrait - otherElement.style.height = this.domElement.style.height - otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; - otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; - otherElement.style.marginTop = 0; - } + _haversineDist: function (src, dest) { + var dlongitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.longitude - src.longitude); + var dlatitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude - src.latitude); -} + var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(src.latitude)) * Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); + var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + return angle * 6371000; + }, -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + /** + * Compute compass heading. + * + * @param {number} alpha + * @param {number} beta + * @param {number} gamma + * + * @returns {number} compass heading + */ + _computeCompassHeading: function (alpha, beta, gamma) { -ARjs.Source.prototype.copySizeTo = function () { - console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') - this.copyElementSizeTo.apply(this, arguments) -} + // Convert degrees to radians + var alphaRad = alpha * (Math.PI / 180); + var betaRad = beta * (Math.PI / 180); + var gammaRad = gamma * (Math.PI / 180); -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + // Calculate equation components + var cA = Math.cos(alphaRad); + var sA = Math.sin(alphaRad); + var sB = Math.sin(betaRad); + var cG = Math.cos(gammaRad); + var sG = Math.sin(gammaRad); -ARjs.Source.prototype.onResize = function (arToolkitContext, renderer, camera) { - if (arguments.length !== 3) { - console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') - return this.onResizeElement.apply(this, arguments) - } + // Calculate A, B, C rotation components + var rA = - cA * sG - sA * sB * cG; + var rB = - sA * sG + cA * sB * cG; - var trackingBackend = arToolkitContext.parameters.trackingBackend + // Calculate compass heading + var compassHeading = Math.atan(rA / rB); + // Convert from half unit circle to whole unit circle + if (rB < 0) { + compassHeading += Math.PI; + } else if (rA < 0) { + compassHeading += 2 * Math.PI; + } - // RESIZE DOMELEMENT - if (trackingBackend === 'artoolkit') { + // Convert radians to degrees + compassHeading *= 180 / Math.PI; - this.onResizeElement() + return compassHeading; + }, - var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false - if (isAframe === false) { - this.copyElementSizeTo(renderer.domElement) + /** + * Handler for device orientation event. + * + * @param {Event} event + * @returns {void} + */ + _onDeviceOrientation: function (event) { + if (event.webkitCompassHeading !== undefined) { + if (event.webkitCompassAccuracy < 50) { + this.heading = event.webkitCompassHeading; + } else { + console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); + } + } else if (event.alpha !== null) { + if (event.absolute === true || event.absolute === undefined) { + this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); + } else { + console.warn('event.absolute === false'); + } } else { - + console.warn('event.alpha === null'); } + }, - if (arToolkitContext.arController !== null) { - this.copyElementSizeTo(arToolkitContext.arController.canvas) + /** + * Update user rotation data. + * + * @returns {void} + */ + _updateRotation: function () { + var heading = 360 - this.heading; + var cameraRotation = this.el.getAttribute('rotation').y; + var yawRotation = three__WEBPACK_IMPORTED_MODULE_1__.Math.radToDeg(this.lookControls.yawObject.rotation.y); + var offset = (heading - (cameraRotation - yawRotation)) % 360; + this.lookControls.yawObject.rotation.y = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(offset); + }, + + _onGpsEntityPlaceAdded: function() { + // if places are added after camera initialization is finished + if (this.originCoords) { + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + if (this.loader && this.loader.parentElement) { + document.body.removeChild(this.loader) + } + } +}); +/***/ }), - // UPDATE CAMERA - if (trackingBackend === 'artoolkit') { - if (arToolkitContext.arController !== null) { - camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) -} -var THREEx = THREEx || {} +/***/ "./aframe/src/location-based/gps-entity-place.js": +/*!*******************************************************!*\ + !*** ./aframe/src/location-based/gps-entity-place.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -THREEx.ArVideoInWebgl = function(videoTexture){ - var _this = this - - ////////////////////////////////////////////////////////////////////////////// - // plane always in front of the camera, exactly as big as the viewport - ////////////////////////////////////////////////////////////////////////////// - var geometry = new THREE.PlaneGeometry(2, 2); - var material = new THREE.MeshBasicMaterial({ - // map : new THREE.TextureLoader().load('images/water.jpg'), - map : videoTexture, - // side: THREE.DoubleSide, - // opacity: 0.5, - // color: 'pink', - // transparent: true, - }); - var seethruPlane = new THREE.Mesh(geometry, material); - this.object3d = seethruPlane - // scene.add(seethruPlane); - - // arToolkitSource.domElement.style.visibility = 'hidden' +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); - // TODO extract the fov from the projectionMatrix - // camera.fov = 43.1 - this.update = function(camera){ - camera.updateMatrixWorld(true) - - // get seethruPlane position - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - seethruPlane.position.copy(position) - camera.localToWorld(seethruPlane.position) - - // get seethruPlane quaternion - camera.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); - seethruPlane.quaternion.copy( camera.quaternion ) - - // extract the fov from the projectionMatrix - var fov = THREE.Math.radToDeg(Math.atan(1/camera.projectionMatrix.elements[5]))*2; - // console.log('fov', fov) - - var elementWidth = parseFloat( arToolkitSource.domElement.style.width.replace(/px$/,''), 10 ) - var elementHeight = parseFloat( arToolkitSource.domElement.style.height.replace(/px$/,''), 10 ) - - var aspect = elementWidth / elementHeight - - // camera.fov = fov - // if( vrDisplay.isPresenting ){ - // fov *= 2 - // aspect *= 2 - // } - - // get seethruPlane height relative to fov - seethruPlane.scale.y = Math.tan(THREE.Math.DEG2RAD * fov/2)*position.length() - // get seethruPlane aspect - seethruPlane.scale.x = seethruPlane.scale.y * aspect - } - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // var video = arToolkitSource.domElement; - // - // window.addEventListener('resize', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // video.addEventListener('canplaythrough', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // function updateSeeThruAspectUv(plane){ - // - // // if video isnt yet ready to play - // if( video.videoWidth === 0 || video.videoHeight === 0 ) return - // - // var faceVertexUvs = plane.geometry.faceVertexUvs[0] - // var screenAspect = window.innerWidth / window.innerHeight - // var videoAspect = video.videoWidth / video.videoHeight - // - // plane.geometry.uvsNeedUpdate = true - // if( screenAspect >= videoAspect ){ - // var actualHeight = videoAspect / screenAspect; - // // faceVertexUvs y 0 - // faceVertexUvs[0][1].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][0].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][1].y = 0.5 - actualHeight/2 - // // faceVertexUvs y 1 - // faceVertexUvs[0][0].y = 0.5 + actualHeight/2 - // faceVertexUvs[0][2].y = 0.5 + actualHeight/2 - // faceVertexUvs[1][2].y = 0.5 + actualHeight/2 - // }else{ - // var actualWidth = screenAspect / videoAspect; - // // faceVertexUvs x 0 - // faceVertexUvs[0][0].x = 0.5 - actualWidth/2 - // faceVertexUvs[0][1].x = 0.5 - actualWidth/2 - // faceVertexUvs[1][0].x = 0.5 - actualWidth/2 - // - // // faceVertexUvs x 1 - // faceVertexUvs[0][2].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][1].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][2].x = 0.5 + actualWidth/2 - // } - // } +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-entity-place', { + _cameraGps: null, + schema: { + longitude: { + type: 'number', + default: 0, + }, + latitude: { + type: 'number', + default: 0, + } + }, + remove: function() { + // cleaning listeners when the entity is removed from the DOM + window.removeEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.removeEventListener('gps-camera-update-position', this.updatePositionListener); + }, + init: function() { + this.coordSetListener = () => { + if (!this._cameraGps) { + var camera = document.querySelector('[gps-camera]'); + if (!camera.components['gps-camera']) { + console.error('gps-camera not initialized') + return; + } + this._cameraGps = camera.components['gps-camera']; + } + this._updatePosition(); + }; -} -var THREEx = THREEx || {} + this.updatePositionListener = (ev) => { + if (!this.data || !this._cameraGps) { + return; + } -// TODO this is useless - prefere arjs-HitTesting.js + var dstCoords = { + longitude: this.data.longitude, + latitude: this.data.latitude, + }; -/** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to - */ -THREEx.HitTestingPlane = function(sourceElement){ - this._sourceElement = sourceElement + // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property + var distanceForMsg = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords); - // create _pickingScene - this._pickingScene = new THREE.Scene - - // create _pickingPlane - var geometry = new THREE.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) - // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) - var material = new THREE.MeshBasicMaterial({ - // opacity: 0.5, - // transparent: true, - wireframe: true - }) - // material.visible = false - this._pickingPlane = new THREE.Mesh(geometry, material) - this._pickingScene.add(this._pickingPlane) + this.el.setAttribute('distance', distanceForMsg); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); + this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); - // Create pickingCamera - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - // TODO hardcoded fov - couch - this._pickingCamera = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); -} + var actualDistance = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords, true); -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// + if (actualDistance === Number.MAX_SAFE_INTEGER) { + this.hideForMinDistance(this.el, true); + } else { + this.hideForMinDistance(this.el, false); + } + }; -THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ + window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.addEventListener('gps-camera-update-position', this.updatePositionListener); - this.onResize() - + this._positionXDebug = 0; - if( changeMatrixMode === 'modelViewMatrix' ){ - // set pickingPlane position - var pickingPlane = this._pickingPlane - pickingRoot.parent.updateMatrixWorld() - pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) - // set position/quaternion/scale from pickingPlane.matrix - pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) - }else if( changeMatrixMode === 'cameraTransformMatrix' ){ - // set pickingPlane position - var pickingCamera = this._pickingCamera - camera.updateMatrixWorld() - pickingCamera.matrix.copy(camera.matrixWorld) - // set position/quaternion/scale from pickingCamera.matrix - pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) - }else console.assert(false) + window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); + }, + /** + * Hide entity according to minDistance property + * @returns {void} + */ + hideForMinDistance: function(el, hideEntity) { + if (hideEntity) { + el.setAttribute('visible', 'false'); + } else { + el.setAttribute('visible', 'true'); + } + }, + /** + * Update place position + * @returns {void} + */ + _updatePosition: function() { + var position = { x: 0, y: this.el.getAttribute('position').y || 0, z: 0 } + // update position.x + var dstCoords = { + longitude: this.data.longitude, + latitude: this._cameraGps.originCoords.latitude, + }; -// var position = this._pickingPlane.position -// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) -// var position = this._pickingCamera.position -// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) - -} + position.x = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); -////////////////////////////////////////////////////////////////////////////// -// resize camera -////////////////////////////////////////////////////////////////////////////// + this._positionXDebug = position.x; -THREEx.HitTestingPlane.prototype.onResize = function(){ - var sourceElement = this._sourceElement - var pickingCamera = this._pickingCamera - -// FIXME why using css here ??? not even computed style -// should get the size of the elment directly independantly - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - pickingCamera.aspect = fullWidth / fullHeight + position.x *= this.data.longitude > this._cameraGps.originCoords.longitude ? 1 : -1; - pickingCamera.updateProjectionMatrix() -} + // update position.z + var dstCoords = { + longitude: this._cameraGps.originCoords.longitude, + latitude: this.data.latitude, + }; -////////////////////////////////////////////////////////////////////////////// -// Perform test -////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ - // convert mouseX, mouseY to [-1, +1] - mouseX = (mouseX-0.5)*2 - mouseY =-(mouseY-0.5)*2 - - this._pickingScene.updateMatrixWorld(true) + position.z = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); - // compute intersections between mouseVector3 and pickingPlane - var raycaster = new THREE.Raycaster(); - var mouseVector3 = new THREE.Vector3(mouseX, mouseY, 1); - raycaster.setFromCamera( mouseVector3, this._pickingCamera ) - var intersects = raycaster.intersectObjects( [this._pickingPlane] ) + position.z *= this.data.latitude > this._cameraGps.originCoords.latitude ? -1 : 1; - if( intersects.length === 0 ) return null + if (position.y !== 0) { + var altitude = this._cameraGps.originCoords.altitude !== undefined ? this._cameraGps.originCoords.altitude : 0; + position.y = position.y - altitude; + } - // set new demoRoot position - var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) - // TODO here do a look at the camera ? - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3(1,1,1)//.multiplyScalar(1) - - return { - position : position, - quaternion : quaternion, - scale : scale - } -} - -////////////////////////////////////////////////////////////////////////////// -// render the pickingPlane for debug -////////////////////////////////////////////////////////////////////////////// - -THREEx.HitTestingPlane.prototype.renderDebug = function(renderer){ - // render sceneOrtho - renderer.render( this._pickingScene, this._pickingCamera ) -} -// @namespace -var ARjs = ARjs || {} - -// TODO this is a controls... should i give the object3d here ? -// not according to 'no three.js dependancy' + // update element's position in 3D world + this.el.setAttribute('position', position); + }, +}); /** - * Create an anchor in the real world + * Format distances string * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor + * @param {String} distance */ -ARjs.Anchor = function(arSession, markerParameters){ - var _this = this - var arContext = arSession.arContext - var scene = arSession.parameters.scene - var camera = arSession.parameters.camera +function formatDistance(distance) { + distance = distance.toFixed(0); - this.arSession = arSession - this.parameters = markerParameters - - // log to debug - console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) - - var markerRoot = new THREE.Group - scene.add(markerRoot) + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; + } - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var controlledObject = markerRoot - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var controlledObject = camera - }else console.assert(false) + return distance + ' meters'; +}; - if( markerParameters.markersAreaEnabled === false ){ - var markerControls = new THREEx.ArMarkerControls(arContext, controlledObject, markerParameters) - this.controls = markerControls - }else{ - // sanity check - MUST be a trackingBackend with markers - console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - // honor markers-page-resolution for https://webxr.io/augmented-website - if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ - // get resolutionW/resolutionH from url - var markerPageResolution = location.hash.substring(1) - var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) - console.assert(matches.length === 3) - var resolutionW = parseInt(matches[1]) - var resolutionH = parseInt(matches[2]) - var arContext = arSession.arContext - // generate and store the ARjsMultiMarkerFile - ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) - } +/***/ }), - // if there is no ARjsMultiMarkerFile, build a default one - if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) - } +/***/ "./aframe/src/location-based/gps-projected-camera.js": +/*!***********************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-camera.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // get multiMarkerFile from localStorage - console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) - var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/** gps-projected-camera + * + * based on the original gps-camera, modified by nickw 02/04/20 + * + * Rather than keeping track of position by calculating the distance of + * entities or the current location to the original location, this version + * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. + * + * The original position (lat/lon) is projected into Spherical Mercator and + * stored. + * + * Then, when we receive a new position (lat/lon), this new position is + * projected into Spherical Mercator and then its world position calculated + * by comparing against the original position. + * + * The same is also the case for 'entity-places'; when these are added, their + * Spherical Mercator coords are calculated (see gps-projected-entity-place). + * + * Spherical Mercator units are close to, but not exactly, metres, and are + * heavily distorted near the poles. Nonetheless they are a good approximation + * for many areas of the world and appear not to cause unacceptable distortions + * when used as the units for AR apps. + * + * UPDATES 28/08/20: + * + * - add gpsMinDistance and gpsTimeInterval properties to control how + * frequently GPS updates are processed. Aim is to prevent 'stuttering' + * effects when close to AR content due to continuous small changes in + * location. + */ - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var parent3D = scene - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var parent3D = camera - }else console.assert(false) - // build a multiMarkerControls - var multiMarkerControls = ARjs.MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) - this.controls = multiMarkerControls - // honor markerParameters.changeMatrixMode - multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-camera', { + _watchPositionId: null, + originCoords: null, // original coords now in Spherical Mercator + currentCoords: null, + lookControls: null, + heading: null, + schema: { + simulateLatitude: { + type: 'number', + default: 0, + }, + simulateLongitude: { + type: 'number', + default: 0, + }, + simulateAltitude: { + type: 'number', + default: 0, + }, + positionMinAccuracy: { + type: 'int', + default: 100, + }, + alert: { + type: 'boolean', + default: false, + }, + minDistance: { + type: 'int', + default: 0, + }, + gpsMinDistance: { + type: 'number', + default: 0 + }, + gpsTimeInterval: { + type: 'number', + default: 0 + }, + }, + update: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.longitude = this.data.simulateLongitude; + localPosition.latitude = this.data.simulateLatitude; + localPosition.altitude = this.data.simulateAltitude; + this.currentCoords = localPosition; -// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js - // create ArMarkerHelper - useful to debug - super three.js specific - var markerHelpers = [] - multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ - // add an helper to visuable each sub-marker - var markerHelper = new THREEx.ArMarkerHelper(subMarkerControls) - markerHelper.object3d.visible = false - // subMarkerControls.object3d.add( markerHelper.object3d ) - subMarkerControls.object3d.add( markerHelper.object3d ) - // add it to markerHelpers - markerHelpers.push(markerHelper) - }) - // define API specific to markersArea - this.markersArea = {} - this.markersArea.setSubMarkersVisibility = function(visible){ - markerHelpers.forEach(function(markerHelper){ - markerHelper.object3d.visible = visible - }) - } - } + // re-trigger initialization for new origin + this.originCoords = null; + this._updatePosition(); + } + }, + init: function() { + if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { + return; + } - this.object3d = new THREE.Group() + this.lastPosition = { + latitude: 0, + longitude: 0 + }; - ////////////////////////////////////////////////////////////////////////////// - // THREEx.ArSmoothedControls - ////////////////////////////////////////////////////////////////////////////// + this.loader = document.createElement('DIV'); + this.loader.classList.add('arjs-loader'); + document.body.appendChild(this.loader); - var shouldBeSmoothed = true + this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); + window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - if( shouldBeSmoothed === true ){ - // build a smoothedControls - var smoothedRoot = new THREE.Group() - scene.add(smoothedRoot) - var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot) - smoothedRoot.add(this.object3d) - }else{ - markerRoot.add(this.object3d) - } + this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; + // listen to deviceorientation event + var eventName = this._getDeviceOrientationEventName(); + this._onDeviceOrientation = this._onDeviceOrientation.bind(this); - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - this.update = function(){ - // update _this.object3d.visible - _this.object3d.visible = _this.object3d.parent.visible + // if Safari + if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { + // iOS 13+ + if (typeof DeviceOrientationEvent.requestPermission === 'function') { + var handler = function() { + console.log('Requesting device orientation permissions...') + DeviceOrientationEvent.requestPermission(); + document.removeEventListener('touchend', handler); + }; - // console.log('controlledObject.visible', _this.object3d.parent.visible) - if( smoothedControls !== undefined ){ - // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls - if( multiMarkerControls !== undefined ){ - multiMarkerControls.updateSmoothedControls(smoothedControls) - } + document.addEventListener('touchend', function() { handler() }, false); - // update smoothedControls - smoothedControls.update(markerRoot) - } - } -} -// @namespace -var ARjs = ARjs || {} + this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); + } else { + var timeout = setTimeout(function() { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + }, 750); + window.addEventListener(eventName, function() { + clearTimeout(timeout); + }); + } + } -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.SessionDebugUI = function (arSession) { - var trackingBackend = arSession.arContext.parameters.trackingBackend + window.addEventListener(eventName, this._onDeviceOrientation, false); + }, - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.left = '5px' - this.domElement.style.bottom = '10px' - this.domElement.style.textAlign = 'right' - - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// - - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.innerHTML = 'trackingBackend : ' + trackingBackend - this.domElement.appendChild(domElement) -} + play: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.latitude = this.data.simulateLatitude; + localPosition.longitude = this.data.simulateLongitude; + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + this.currentCoords = localPosition; + this._updatePosition(); + } else { + this._watchPositionId = this._initWatchGPS(function (position) { + var localPosition = { + latitude: position.coords.latitude, + longitude: position.coords.longitude, + altitude: position.coords.altitude, + accuracy: position.coords.accuracy, + altitudeAccuracy: position.coords.altitudeAccuracy, + }; + + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + + this.currentCoords = localPosition; + var distMoved = this._haversineDist( + this.lastPosition, + this.currentCoords + ); -/** - * Url of augmented-website service - if === '' then dont include augmented-website link - * @type {String} - */ -ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' + if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { + this._updatePosition(); + this.lastPosition = { + longitude: this.currentCoords.longitude, + latitude: this.currentCoords.latitude + }; + } + }.bind(this)); + } + }, -////////////////////////////////////////////////////////////////////////////// -// ARjs.AnchorDebugUI -////////////////////////////////////////////////////////////////////////////// + tick: function() { + if (this.heading === null) { + return; + } + this._updateRotation(); + }, -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.AnchorDebugUI = function (arAnchor) { - var arSession = arAnchor.arSession - var trackingBackend = arSession.arContext.parameters.trackingBackend + pause: function() { + if (this._watchPositionId) { + navigator.geolocation.clearWatch(this._watchPositionId); + } + this._watchPositionId = null; + }, - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'inline-block' - this.domElement.style.padding = '0.5em' - this.domElement.style.margin = '0.5em' - this.domElement.style.textAlign = 'left' + remove: function() { + var eventName = this._getDeviceOrientationEventName(); + window.removeEventListener(eventName, this._onDeviceOrientation, false); + window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + }, - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// + /** + * Get device orientation event name, depends on browser implementation. + * @returns {string} event name + */ + _getDeviceOrientationEventName: function() { + if ('ondeviceorientationabsolute' in window) { + var eventName = 'deviceorientationabsolute' + } else if ('ondeviceorientation' in window) { + var eventName = 'deviceorientation' + } else { + var eventName = '' + console.error('Compass not supported') + } - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.style.padding = '0.5em' - domElement.style.color = 'rgba(0,0,0,0.9)' - domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - domElement.style.position = 'fixed' - domElement.style.left = '5px' - domElement.style.bottom = '40px' + return eventName + }, - this.domElement.appendChild(domElement) - domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled + /** + * Get current user position. + * + * @param {function} onSuccess + * @param {function} onError + * @returns {Promise} + */ + _initWatchGPS: function(onSuccess, onError) { + if (!onError) { + onError = function(err) { + console.warn('ERROR(' + err.code + '): ' + err.message) - ////////////////////////////////////////////////////////////////////////////// - // toggle-marker-helper - ////////////////////////////////////////////////////////////////////////////// + if (err.code === 1) { + // User denied GeoLocation, let their know that + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + return; + } - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.textAlign = 'left' - this.domElement.appendChild(domElement) + if (err.code === 3) { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); + return; + } + }; + } - domElement.id = 'buttonToggleMarkerHelpers' - domElement.innerHTML = 'toggle-marker-helper' - domElement.href = 'javascript:void(0)' + if ('geolocation' in navigator === false) { + onError({ code: 0, message: 'Geolocation is not supported by your browser' }); + return Promise.resolve(); + } - var subMarkerHelpersVisible = false - domElement.addEventListener('click', function () { - subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true - arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) - }) - } + // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition + return navigator.geolocation.watchPosition(onSuccess, onError, { + enableHighAccuracy: true, + maximumAge: this.data.gpsTimeInterval, + timeout: 27000, + }); + }, - ////////////////////////////////////////////////////////////////////////////// - // Learn-new-marker-area - ////////////////////////////////////////////////////////////////////////////// + /** + * Update user position. + * + * @returns {void} + */ + _updatePosition: function() { + // don't update if accuracy is not good enough + if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { + if (this.data.alert && !document.getElementById('alert-popup')) { + var popup = document.createElement('div'); + popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' + popup.setAttribute('id', 'alert-popup'); + document.body.appendChild(popup); + } + return; + } - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) + var alertPopup = document.getElementById('alert-popup'); + if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { + document.body.removeChild(alertPopup); + } - domElement.id = 'buttonMarkersAreaLearner' - domElement.innerHTML = 'Learn-new-marker-area' - domElement.href = 'javascript:void(0)' + if (!this.originCoords) { + // first camera initialization + // Now store originCoords as PROJECTED original lat/lon, so that + // we can set the world origin to the original position in "metres" + this.originCoords = this._project(this.currentCoords.latitude, this.currentCoords.longitude); + this._setPosition(); - domElement.addEventListener('click', function () { - if (ARjs.AnchorDebugUI.MarkersAreaLearnerURL !== null) { - var learnerURL = ARjs.AnchorDebugUI.MarkersAreaLearnerURL - } else { - var learnerURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); } - ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) - }) - } - - ////////////////////////////////////////////////////////////////////////////// - // Reset-marker-area - ////////////////////////////////////////////////////////////////////////////// - - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } else { + this._setPosition(); + } + }, + /** + * Set the current position (in world coords, based on Spherical Mercator) + * + * @returns {void} + */ + _setPosition: function() { + var position = this.el.getAttribute('position'); - domElement.id = 'buttonMarkersAreaReset' - domElement.innerHTML = 'Reset-marker-area' - domElement.href = 'javascript:void(0)' + var worldCoords = this.latLonToWorld(this.currentCoords.latitude, this.currentCoords.longitude); - domElement.addEventListener('click', function () { - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) - location.reload() - }) - } -} + position.x = worldCoords[0]; + position.z = worldCoords[1]; -/** - * url for the markers-area learner. if not set, take the default one - * @type {String} - */ -ARjs.AnchorDebugUI.MarkersAreaLearnerURL = null -// @namespace -var ARjs = ARjs || {} + // update position + this.el.setAttribute('position', position); -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.HitTesting = function (arSession) { - var _this = this - var arContext = arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - - this.enabled = true - this._arSession = arSession - this._hitTestingPlane = null - _this._hitTestingPlane = new THREEx.HitTestingPlane(arSession.arSource.domElement) -} + // add the sphmerc position to the event (for testing only) + window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); + }, + /** + * Returns distance in meters between camera and destination input. + * + * Assume we are using a metre-based projection. Not all 'metre-based' + * projections give exact metres, e.g. Spherical Mercator, but it appears + * close enough to be used for AR at least in middle temperate + * latitudes (40 - 55). It is heavily distorted near the poles, however. + * + * @param {Position} dest + * @param {Boolean} isPlace + * + * @returns {number} distance | Number.MAX_SAFE_INTEGER + */ + computeDistanceMeters: function(dest, isPlace) { + var src = this.el.getAttribute("position"); + var dx = dest.x - src.x; + var dz = dest.z - src.z; + var distance = Math.sqrt(dx * dx + dz * dz); -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// -/** - * update - * - * @param {THREE.Camera} camera - the camera to use - * @param {THREE.Object3D} object3d - - */ -ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { - // if it isnt enabled, do nothing - if (this.enabled === false) return + // if function has been called for a place, and if it's too near and a min distance has been set, + // return max distance possible - to be handled by the method caller + if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { + return Number.MAX_SAFE_INTEGER; + } + return distance; + }, + /** + * Converts latitude/longitude to OpenGL world coordinates. + * + * First projects lat/lon to absolute Spherical Mercator and then + * calculates the world coordinates by comparing the Spherical Mercator + * coordinates with the Spherical Mercator coordinates of the origin point. + * + * @param {Number} lat + * @param {Number} lon + * + * @returns {array} world coordinates + */ + latLonToWorld: function(lat, lon) { + var projected = this._project(lat, lon); + // Sign of z needs to be reversed compared to projected coordinates + return [projected[0] - this.originCoords[0], -(projected[1] - this.originCoords[1])]; + }, + /** + * Converts latitude/longitude to Spherical Mercator coordinates. + * Algorithm is used in several OpenStreetMap-related applications. + * + * @param {Number} lat + * @param {Number} lon + * + * @returns {array} Spherical Mercator coordinates + */ + _project: function(lat, lon) { + const HALF_EARTH = 20037508.34; - if (this._hitTestingPlane !== null) { - this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) - } else console.assert(false) -} + // Convert the supplied coords to Spherical Mercator (EPSG:3857), also + // known as 'Google Projection', using the algorithm used extensively + // in various OpenStreetMap software. + var y = Math.log(Math.tan((90 + lat) * Math.PI / 360.0)) / (Math.PI / 180.0); + return [(lon / 180.0) * HALF_EARTH, y * HALF_EARTH / 180.0]; + }, + /** + * Converts Spherical Mercator coordinates to latitude/longitude. + * Algorithm is used in several OpenStreetMap-related applications. + * + * @param {Number} spherical mercator easting + * @param {Number} spherical mercator northing + * + * @returns {object} lon/lat + */ + _unproject: function(e, n) { + const HALF_EARTH = 20037508.34; + var yp = (n / HALF_EARTH) * 180.0; + return { + longitude: (e / HALF_EARTH) * 180.0, + latitude: 180.0 / Math.PI * (2 * Math.atan(Math.exp(yp * Math.PI / 180.0)) - Math.PI / 2) + }; + }, + /** + * Compute compass heading. + * + * @param {number} alpha + * @param {number} beta + * @param {number} gamma + * + * @returns {number} compass heading + */ + _computeCompassHeading: function(alpha, beta, gamma) { -////////////////////////////////////////////////////////////////////////////// -// actual hit testing -////////////////////////////////////////////////////////////////////////////// + // Convert degrees to radians + var alphaRad = alpha * (Math.PI / 180); + var betaRad = beta * (Math.PI / 180); + var gammaRad = gamma * (Math.PI / 180); -/** - * Test the real world for intersections directly from a DomEvent - * - * @param {Number} mouseX - position X of the hit [-1, +1] - * @param {Number} mouseY - position Y of the hit [-1, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { - var trackingBackend = this._arSession.arContext.parameters.trackingBackend - var arSource = this._arSession.arSource + // Calculate equation components + var cA = Math.cos(alphaRad); + var sA = Math.sin(alphaRad); + var sB = Math.sin(betaRad); + var cG = Math.cos(gammaRad); + var sG = Math.sin(gammaRad); - // if it isnt enabled, do nothing - if (this.enabled === false) return [] - var mouseX = domEvent.clientX / arSource.domElementWidth() - var mouseY = domEvent.clientY / arSource.domElementHeight() + // Calculate A, B, C rotation components + var rA = - cA * sG - sA * sB * cG; + var rB = - sA * sG + cA * sB * cG; - return this.test(mouseX, mouseY) -} + // Calculate compass heading + var compassHeading = Math.atan(rA / rB); -/** - * Test the real world for intersections. - * - * @param {Number} mouseX - position X of the hit [0, +1] - * @param {Number} mouseY - position Y of the hit [0, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { - var arContext = this._arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - var hitTestResults = [] + // Convert from half unit circle to whole unit circle + if (rB < 0) { + compassHeading += Math.PI; + } else if (rA < 0) { + compassHeading += 2 * Math.PI; + } - // if it isnt enabled, do nothing - if (this.enabled === false) return [] + // Convert radians to degrees + compassHeading *= 180 / Math.PI; - var result = this._hitTestingPlane.test(mouseX, mouseY) + return compassHeading; + }, - // if no result is found, return now - if (result === null) return hitTestResults + /** + * Handler for device orientation event. + * + * @param {Event} event + * @returns {void} + */ + _onDeviceOrientation: function(event) { + if (event.webkitCompassHeading !== undefined) { + if (event.webkitCompassAccuracy < 50) { + this.heading = event.webkitCompassHeading; + } else { + console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); + } + } else if (event.alpha !== null) { + if (event.absolute === true || event.absolute === undefined) { + this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); + } else { + console.warn('event.absolute === false'); + } + } else { + console.warn('event.alpha === null'); + } + }, - // build a ARjs.HitTesting.Result - var hitTestResult = new ARjs.HitTesting.Result(result.position, result.quaternion, result.scale) - hitTestResults.push(hitTestResult) + /** + * Update user rotation data. + * + * @returns {void} + */ + _updateRotation: function() { + var heading = 360 - this.heading; + var cameraRotation = this.el.getAttribute('rotation').y; + var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); + var offset = (heading - (cameraRotation - yawRotation)) % 360; + this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); + }, - return hitTestResults -} + /** + * Calculate haversine distance between two lat/lon pairs. + * + * Taken from gps-camera + */ + _haversineDist: function(src, dest) { + var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); + var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); -////////////////////////////////////////////////////////////////////////////// -// ARjs.HitTesting.Result -////////////////////////////////////////////////////////////////////////////// -/** - * Contains the result of ARjs.HitTesting.test() - * - * @param {THREE.Vector3} position - position to use - * @param {THREE.Quaternion} quaternion - quaternion to use - * @param {THREE.Vector3} scale - scale - */ -ARjs.HitTesting.Result = function (position, quaternion, scale) { - this.position = position - this.quaternion = quaternion - this.scale = scale -} + var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); + var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + return angle * 6371000; + }, -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.apply = function (object3d) { - object3d.position.copy(this.position) - object3d.quaternion.copy(this.quaternion) - object3d.scale.copy(this.scale) + _onGpsEntityPlaceAdded: function() { + // if places are added after camera initialization is finished + if (this.originCoords) { + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } + if (this.loader && this.loader.parentElement) { + document.body.removeChild(this.loader) + } + } +}); - object3d.updateMatrix() -} -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { - object3d.position.copy(this.position) +/***/ }), - object3d.updateMatrix() +/***/ "./aframe/src/location-based/gps-projected-entity-place.js": +/*!*****************************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-entity-place.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return this -} - -/** - * Apply to a controlled object3d +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/** gps-projected-entity-place * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyQuaternion = function (object3d) { - object3d.quaternion.copy(this.quaternion) - - object3d.updateMatrix() - - return this -} -var ARjs = ARjs || {} - -/** - * define a ARjs.Session + * based on the original gps-entity-place, modified by nickw 02/04/20 * - * @param {Object} parameters - parameters for this session + * Rather than keeping track of position by calculating the distance of + * entities or the current location to the original location, this version + * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. + * + * The original location on startup (lat/lon) is projected into Spherical + * Mercator and stored. + * + * When 'entity-places' are added, their Spherical Mercator coords are + * calculated and converted into world coordinates, relative to the original + * position, using the Spherical Mercator projection calculation in + * gps-projected-camera. + * + * Spherical Mercator units are close to, but not exactly, metres, and are + * heavily distorted near the poles. Nonetheless they are a good approximation + * for many areas of the world and appear not to cause unacceptable distortions + * when used as the units for AR apps. */ -ARjs.Session = function(parameters){ - var _this = this - // handle default parameters - this.parameters = { - renderer: null, - camera: null, - scene: null, - sourceParameters: {}, - contextParameters: {}, - } - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] - - if( newValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) - continue - } - - var currentValue = _this.parameters[ key ] - - if( currentValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) - continue - } - _this.parameters[ key ] = newValue - } - } - // sanity check - console.assert(this.parameters.renderer instanceof THREE.WebGLRenderer) - console.assert(this.parameters.camera instanceof THREE.Camera) - console.assert(this.parameters.scene instanceof THREE.Scene) - - - // backward emulation - Object.defineProperty(this, 'renderer', {get: function(){ - console.warn('use .parameters.renderer renderer') - return this.parameters.renderer; - }}); - Object.defineProperty(this, 'camera', {get: function(){ - console.warn('use .parameters.camera instead') - return this.parameters.camera; - }}); - Object.defineProperty(this, 'scene', {get: function(){ - console.warn('use .parameters.scene instead') - return this.parameters.scene; - }}); +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-entity-place', { + _cameraGps: null, + schema: { + longitude: { + type: 'number', + default: 0, + }, + latitude: { + type: 'number', + default: 0, + } + }, + remove: function() { + // cleaning listeners when the entity is removed from the DOM + window.removeEventListener('gps-camera-update-position', this.updatePositionListener); + }, + init: function() { + // Used now to get the GPS camera when it's been setup + this.coordSetListener = () => { + if (!this._cameraGps) { + var camera = document.querySelector('[gps-projected-camera]'); + if (!camera.components['gps-projected-camera']) { + console.error('gps-projected-camera not initialized') + return; + } + this._cameraGps = camera.components['gps-projected-camera']; + this._updatePosition(); + } + }; + - // log the version - console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) - ////////////////////////////////////////////////////////////////////////////// - // init arSource - ////////////////////////////////////////////////////////////////////////////// - var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters) + // update position needs to worry about distance but nothing else? + this.updatePositionListener = (ev) => { + if (!this.data || !this._cameraGps) { + return; + } - arSource.init(function onReady(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) + var dstCoords = this.el.getAttribute('position'); - // handle resize - window.addEventListener('resize', function(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) + // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property + // _computeDistanceMeters is now going to use the projected + var distanceForMsg = this._cameraGps.computeDistanceMeters(dstCoords); - ////////////////////////////////////////////////////////////////////////////// - // init arContext - ////////////////////////////////////////////////////////////////////////////// + this.el.setAttribute('distance', distanceForMsg); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); - // create atToolkitContext - var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters) + this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); - // initialize it - _this.arContext.init() + var actualDistance = this._cameraGps.computeDistanceMeters(dstCoords, true); - arContext.addEventListener('initialized', function(event){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) + if (actualDistance === Number.MAX_SAFE_INTEGER) { + this.hideForMinDistance(this.el, true); + } else { + this.hideForMinDistance(this.el, false); + } + }; - ////////////////////////////////////////////////////////////////////////////// - // update function - ////////////////////////////////////////////////////////////////////////////// - // update artoolkit on every frame - this.update = function(){ - if( arSource.ready === false ) return + // Retain as this event is fired when the GPS camera is set up + window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.addEventListener('gps-camera-update-position', this.updatePositionListener); - arContext.update( arSource.domElement ) - } -} + this._positionXDebug = 0; -ARjs.Session.prototype.onResize = function () { - this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) -}; -var ARjs = ARjs || {} -ARjs.Utils = {} + window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); + }, + /** + * Hide entity according to minDistance property + * @returns {void} + */ + hideForMinDistance: function(el, hideEntity) { + if (hideEntity) { + el.setAttribute('visible', 'false'); + } else { + el.setAttribute('visible', 'true'); + } + }, + /** + * Update place position + * @returns {void} + */ -/** - * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters - * - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera - */ -ARjs.Utils.createDefaultCamera = function (trackingMethod) { - var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) + // set position to world coords using the lat/lon + _updatePosition: function() { + var worldPos = this._cameraGps.latLonToWorld(this.data.latitude, this.data.longitude); + var position = this.el.getAttribute('position'); - return camera -} + // update element's position in 3D world + //this.el.setAttribute('position', position); + this.el.setAttribute('position', { + x: worldPos[0], + y: position.y, + z: worldPos[1] + }); + }, +}); /** - * parse tracking method + * Format distances string * - * @param {String} trackingMethod - the tracking method to parse - * @return {Object} - various field of the tracking method + * @param {String} distance */ -ARjs.Utils.parseTrackingMethod = function (trackingMethod) { +function formatDistance(distance) { + distance = distance.toFixed(0); - if (trackingMethod === 'best') { - trackingMethod = 'area-artoolkit'; + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; } - if (trackingMethod.startsWith('area-')) { - return { - trackingBackend: trackingMethod.replace('area-', ''), - markersAreaEnabled: true, - } - } else { - return { - trackingBackend: trackingMethod, - markersAreaEnabled: false, - } - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + return distance + ' meters'; +}; -ARjs.MarkersAreaControls = THREEx.ArMultiMarkerControls = function(arToolkitContext, object3d, parameters){ - var _this = this - THREEx.ArBaseControls.call(this, object3d) - if( arguments.length > 3 ) console.assert('wrong api for', THREEx.ArMultiMarkerControls) +/***/ }), - // have a parameters in argument - this.parameters = { - // list of controls for each subMarker - subMarkersControls: parameters.subMarkersControls, - // list of pose for each subMarker relative to the origin - subMarkerPoses: parameters.subMarkerPoses, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', - } - - this.object3d.visible = false - // honor obsolete stuff - add a warning to use - this.subMarkersControls = this.parameters.subMarkersControls - this.subMarkerPoses = this.parameters.subMarkerPoses +/***/ "./aframe/src/system-arjs.js": +/*!***********************************!*\ + !*** ./aframe/src/system-arjs.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_threex_arjs_profile__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _three_js_src_new_api_arjs_session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-session */ "./three.js/src/new-api/arjs-session.js"); +/* harmony import */ var _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); -ARjs.MarkersAreaControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -/** - * What to do when a image source is fully processed - */ -ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ - var _this = this - var stats = { - count: 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion +aframe__WEBPACK_IMPORTED_MODULE_0__.registerSystem('arjs', { + schema: { + trackingMethod: { + type: 'string', + default: 'best', + }, + debugUIEnabled: { + type: 'boolean', + default: false, + }, + areaLearningButton: { + type: 'boolean', + default: true, + }, + performanceProfile: { + type: 'string', + default: 'default', + }, + labelingMode: { + type: 'string', + default: '', + }, + // new video texture mode (location based only) + videoTexture: { + type: 'boolean', + default: false + }, + // old parameters + debug: { + type: 'boolean', + default: false + }, + detectionMode: { + type: 'string', + default: '', + }, + matrixCodeType: { + type: 'string', + default: '', + }, + patternRatio: { + type: 'number', + default: -1, + }, + cameraParametersUrl: { + type: 'string', + default: '', + }, + maxDetectionRate: { + type: 'number', + default: -1 + }, + sourceType: { + type: 'string', + default: '', + }, + sourceUrl: { + type: 'string', + default: '', + }, + sourceWidth: { + type: 'number', + default: -1 + }, + sourceHeight: { + type: 'number', + default: -1 + }, + deviceId: { + type: 'string', + default: '' + }, + displayWidth: { + type: 'number', + default: -1 + }, + displayHeight: { + type: 'number', + default: -1 + }, + canvasWidth: { + type: 'number', + default: -1 + }, + canvasHeight: { + type: 'number', + default: -1 + }, + errorPopup: { + type: 'string', + default: '' + } + }, - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - - var markerObject3d = markerControls.object3d - // if this marker is not visible, ignore it - if( markerObject3d.visible === false ) return + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - // transformation matrix of this.object3d according to this sub-markers - var matrix = markerObject3d.matrix.clone() - var markerPose = _this.parameters.subMarkerPoses[markerIndex] - matrix.multiply(new THREE.Matrix4().getInverse(markerPose)) + init: function () { + var _this = this - // decompose the matrix into .position, .quaternion, .scale - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion() - var scale = new THREE.Vector3 - matrix.decompose(position, quaternion, scale) + // If videoTexture is set, skip the remainder of the setup entirely and just use the arjs-webcam-texture component + if(this.data.videoTexture === true && this.data.sourceType === 'webcam') { + var webcamEntity = document.createElement("a-entity"); + webcamEntity.setAttribute("arjs-webcam-texture", true); + this.el.sceneEl.appendChild(webcamEntity); + return; + } - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + ////////////////////////////////////////////////////////////////////////////// + // setup arProfile + ////////////////////////////////////////////////////////////////////////////// - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) + var arProfile = this._arProfile = new _three_js_src_threex_arjs_profile__WEBPACK_IMPORTED_MODULE_1__.default() + .trackingMethod(this.data.trackingMethod) + .performance(this.data.performanceProfile) + .defaultMarker() - // honor _this.object3d.visible - if( stats.count > 0 ){ - _this.object3d.visible = true - }else{ - _this.object3d.visible = false - } + ////////////////////////////////////////////////////////////////////////////// + // honor this.data and setup arProfile with it + ////////////////////////////////////////////////////////////////////////////// - // if at least one sub-marker has been detected, make the average of all detected markers - if( stats.count > 0 ){ - // compute modelViewMatrix - var modelViewMatrix = new THREE.Matrix4() - modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + // honor this.data and push what has been modified into arProfile + if (this.data.debug !== false) arProfile.contextParameters.debug = this.data.debug + if (this.data.detectionMode !== '') arProfile.contextParameters.detectionMode = this.data.detectionMode + if (this.data.matrixCodeType !== '') arProfile.contextParameters.matrixCodeType = this.data.matrixCodeType + if (this.data.patternRatio !== -1) arProfile.contextParameters.patternRatio = this.data.patternRatio + if (this.data.labelingMode !== '') arProfile.contextParameters.labelingMode = this.data.labelingMode + if (this.data.cameraParametersUrl !== '') arProfile.contextParameters.cameraParametersUrl = this.data.cameraParametersUrl + if (this.data.maxDetectionRate !== -1) arProfile.contextParameters.maxDetectionRate = this.data.maxDetectionRate + if (this.data.canvasWidth !== -1) arProfile.contextParameters.canvasWidth = this.data.canvasWidth + if (this.data.canvasHeight !== -1) arProfile.contextParameters.canvasHeight = this.data.canvasHeight - // change _this.object3d.matrix based on parameters.changeMatrixMode - if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ - _this.object3d.matrix.copy(modelViewMatrix) - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - _this.object3d.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } + if (this.data.sourceType !== '') arProfile.sourceParameters.sourceType = this.data.sourceType + if (this.data.sourceUrl !== '') arProfile.sourceParameters.sourceUrl = this.data.sourceUrl + if (this.data.sourceWidth !== -1) arProfile.sourceParameters.sourceWidth = this.data.sourceWidth + if (this.data.sourceHeight !== -1) arProfile.sourceParameters.sourceHeight = this.data.sourceHeight + if (this.data.deviceId !== '') arProfile.sourceParameters.deviceId = this.data.deviceId + if (this.data.displayWidth !== -1) arProfile.sourceParameters.displayWidth = this.data.displayWidth + if (this.data.displayHeight !== -1) arProfile.sourceParameters.displayHeight = this.data.displayHeight - // decompose - the matrix into .position, .quaternion, .scale - _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) - } + arProfile.checkIfValid() -} + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -// Utility functions -////////////////////////////////////////////////////////////////////////////// + this._arSession = null -/** - * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - */ -ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ - quaternionAverage = quaternionAverage || new THREE.Quaternion() - // sanity check - console.assert(firstQuaternion instanceof THREE.Quaternion === true) - - // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - if( newQuaternion.dot(firstQuaternion) > 0 ){ - newQuaternion = new THREE.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) - } + _this.isReady = false + _this.needsOverride = true - quaternionSum.x += newQuaternion.x - quaternionSum.y += newQuaternion.y - quaternionSum.z += newQuaternion.z - quaternionSum.w += newQuaternion.w - - quaternionAverage.x = quaternionSum.x/count - quaternionAverage.y = quaternionSum.y/count - quaternionAverage.z = quaternionSum.z/count - quaternionAverage.w = quaternionSum.w/count - - quaternionAverage.normalize() + // wait until the renderer is isReady + this.el.sceneEl.addEventListener('renderstart', function () { + var scene = _this.el.sceneEl.object3D + var camera = _this.el.sceneEl.camera + var renderer = _this.el.sceneEl.renderer - return quaternionAverage -} + ////////////////////////////////////////////////////////////////////////////// + // build ARjs.Session + ////////////////////////////////////////////////////////////////////////////// + var arSession = _this._arSession = new _three_js_src_new_api_arjs_session__WEBPACK_IMPORTED_MODULE_2__.default({ + scene: scene, + renderer: renderer, + camera: camera, + sourceParameters: arProfile.sourceParameters, + contextParameters: arProfile.contextParameters + }) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ - vector3Average = vector3Average || new THREE.Vector3() - - vector3Sum.x += vector3.x - vector3Sum.y += vector3.y - vector3Sum.z += vector3.z - - vector3Average.x = vector3Sum.x / count - vector3Average.y = vector3Sum.y / count - vector3Average.z = vector3Sum.z / count - - return vector3Average -} + _this.isReady = true -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // awful resize trick + ////////////////////////////////////////////////////////////////////////////// + // KLUDGE + window.addEventListener('resize', onResize) + function onResize() { + var arSource = _this._arSession.arSource -/** - * compute the center of this multimarker file - */ -ARjs.MarkersAreaControls.computeCenter = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var stats = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - var firstQuaternion = new THREE.Quaternion() // FIXME ??? - - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + // ugly kludge to get resize on aframe... not even sure it works + if (arProfile.contextParameters.trackingBackend !== 'tango') { + arSource.copyElementSizeTo(document.body) + } - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + // fixing a-frame css + var buttonElement = document.querySelector('.a-enter-vr') + if (buttonElement) { + buttonElement.style.position = 'fixed' + } + } - return averageMatrix -} + ////////////////////////////////////////////////////////////////////////////// + // honor .debugUIEnabled + ////////////////////////////////////////////////////////////////////////////// + if (_this.data.debugUIEnabled) initDebugUI() + function initDebugUI() { + // get or create containerElement + var containerElement = document.querySelector('#arjsDebugUIContainer') + if (containerElement === null) { + containerElement = document.createElement('div') + containerElement.id = 'arjsDebugUIContainer' + containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;') + document.body.appendChild(containerElement) + } -ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var boundingBox = new THREE.Box3() + // create sessionDebugUI + var sessionDebugUI = new _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_3__.SessionDebugUI(arSession) + containerElement.appendChild(sessionDebugUI.domElement) + } + }) - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // TODO this is crappy - code an exponential backoff - max 1 seconds + // KLUDGE: kludge to write a 'resize' event + // var startedAt = Date.now() + // var timerId = setInterval(function () { + // if (Date.now() - startedAt > 10000 * 1000) { + // clearInterval(timerId) + // return + // } + // // onResize() + // window.dispatchEvent(new Event('resize')); + // }, 1000 / 30) - boundingBox.expandByPoint(position) - }) + function setBackoff(func, millisDuration = Infinity, limit = 1000) { + if(func == null || !(Object.prototype.toString.call(func) == '[object Function]')) { + return; + } + let backoff = 33.3 + let start = Date.now() + let repeat = function() { + return (millisDuration == Infinity || (Date.now() - start) < millisDuration) + } + let next = function() { + backoff = (backoff * 2) < limit ? (backoff * 2) : limit + setTimeout(function() { + func() + if(repeat()) { + next() + } + }, backoff) + }; + next() + } - return boundingBox -} -////////////////////////////////////////////////////////////////////////////// -// updateSmoothedControls -////////////////////////////////////////////////////////////////////////////// + setBackoff(() => { + window.dispatchEvent(new Event('resize')) + }) + }, -ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ - // handle default values - if( lerpsValues === undefined ){ - // FIXME this parameter format is uselessly cryptic - // lerpValues = [ - // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} - // ] - lerpsValues = [ - [0.3+.1, 0.1, 0.3], - [0.4+.1, 0.1, 0.4], - [0.4+.1, 0.2, 0.5], - [0.5+.1, 0.2, 0.7], - [0.5+.1, 0.2, 0.7], - ] - } - // count how many subMarkersControls are visible - var nVisible = 0 - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - var markerObject3d = markerControls.object3d - if( markerObject3d.visible === true ) nVisible ++ - }) + tick: function () { + // skip it if not yet isInitialised + if (this.isReady === false || this.data.videoTexture === true) return - // find the good lerpValues - if( lerpsValues[nVisible-1] !== undefined ){ - var lerpValues = lerpsValues[nVisible-1] - }else{ - var lerpValues = lerpsValues[lerpsValues.length-1] - } + // update arSession + this._arSession.update() - // modify lerpValues in smoothedControls - smoothedControls.parameters.lerpPosition = lerpValues[0] - smoothedControls.parameters.lerpQuaternion = lerpValues[1] - smoothedControls.parameters.lerpScale = lerpValues[2] -} + // copy projection matrix to camera + this._arSession.onResize() + }, + + _displayErrorPopup: function(msg) { + if (this.data.errorPopup !== '') { + let errorPopup = document.getElementById(this.data.errorPopup); + if (!errorPopup) { + errorPopup = document.createElement('div'); + errorPopup.setAttribute('id', this.data.errorPopup); + document.body.appendChild(errorPopup); + } + errorPopup.innerHTML = msg; + } else { + alert(msg); + } + } +}) -////////////////////////////////////////////////////////////////////////////// -// Create THREEx.ArMultiMarkerControls from JSON -////////////////////////////////////////////////////////////////////////////// +/***/ }), -ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ - var multiMarkerFile = JSON.parse(jsonData) - // declare variables - var subMarkersControls = [] - var subMarkerPoses = [] - // handle default arguments - parameters = parameters || {} +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { - // prepare the parameters - multiMarkerFile.subMarkersControls.forEach(function(item){ - // create a markerRoot - var markerRoot = new THREE.Object3D() - parent3D.add(markerRoot) +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2CCAAKAIAIQEgAEEANgIAIAEEQCAAKAIEGiABEDgLC20BAX8gAEGUBmoiAUEYahBVIAFBDGoQVSABEFUgAEGMBWoiAUH8AGoQVSABQfAAahBVIAFB3ABqEMQHIABB/ARqEFUgAEGgAWoQ/AggAEHcAGoQxwIgAEHIAGoQuQggAEFAaxCVASAAQQxqEFULKAEBfyAAQQRqEOkDIAAoAgAhASAAQQA2AgAgAQRAIAEQ6gMgARA4CwuwBwIHfwF8QcYAIQZBwIQ9IQcgA0EBRiILBEBBxgBBBBA5IQZBwIQ9QQQQOSEHIABBAhA5IQAgAUECEDkhAQsgBUEANgIAIABBfmohCCABQX5qIQkgAkGQgMgAaiEMQQAhAQJAAkADQAJAIAEgAigCCE4NAiACQQxqIAFBAnRqIgMoAgAiCiAGSCAKIAdKckUEQCACQYyACGogAUEEdGoiCigCAEEBRwRAIAIgAUEEdGpBkIAIaigCACAIRwRAIAIgAUEEdGpBlIAIaigCAEEBRwRAIAIgAUEEdGpBmIAIaigCACAJRwRAIAIoAgAgACAMIAFBAWogCiAFKAIAQbDxBGwgBGoQvghBAE4EQCADKAIAIAUoAgBBsPEEbCAEahC3CEEATgRAIAUoAgBBsPEEbCAEaiADKAIANgIAIAUoAgAiA0Gw8QRsIARqIAJBkIAoaiABQQR0aisDADkDCCADQbDxBGwgBGogAiABQQR0akGYgChqKwMAOQMQIAUgA0EBaiIDNgIAIANBPEYEQEE8IQAMCAsLCwsLCwsLIAFBAWohAQwBCwsMAQsgBSgCACEAC0EAIQEDQCABIABIBEAgAUGw8QRsIARqIQYgAUGw8QRsIARqIQcgAUGw8QRsIARqIQMgAUEBaiIBIQIDQCACIABIBEAgBisDCCACQbDxBGwgBGorAwihIg0gDaIgBysDECACQbDxBGwgBGorAxChIg0gDaKgIQ0gAygCACIAIAJBsPEEbCAEaiIIKAIAIglKBEAgDSAAQQQQObdjBEAgCEEANgIACwUgDSAJQQQQObdjBEAgA0EANgIACwsgAkEBaiECIAUoAgAhAAwBCwsMAQsLQQAhAgNAIAIgAEgEQCACQbDxBGwgBGooAgBFBEAgAiEBIAAhAwNAIAFBAWoiACADSARAIAFBsPEEbCAEaiAAQbDxBGwgBGpBsPEEEEwaIAAhASAFKAIAIQMMAQsLIAUgA0F/aiIANgIACyACQQFqIQIMAQsLIAsEQAJAQQAhAQNAIAEgAE4NASAEIAQoAgBBAnQ2AgAgBCAEKwMIRAAAAAAAAABAojkDCCAEIAQrAxBEAAAAAAAAAECiOQMQIAQoAhghAkEAIQADQCAAIAJIBEAgBEEcaiAAQQJ0aiIDIAMoAgBBAXQ2AgAgBEHcuAJqIABBAnRqIgMgAygCAEEBdDYCACAAQQFqIQAMAQsLIARBsPEEaiEEIAFBAWohASAFKAIAIQAMAAALAAsLQQALEgAgAEH8hQE2AgAgAEEEahBHC0gBAX8jBiEDIwZBIGokBiADIAAoAjggAigCACACKAIEIAIoAgggAigCDBC4AyAAIAMgAhDgASAAIAEgAxDgASADEN0BIAMkBguLAwEEfwJAAkACQAJAIAAoAhgOAwAAAQILIAAoAiwhAgNAIAEgAk4NAyAAIAFBCHRqIgMoAjRBf0oEQCAAIAFBCHRqKwNQRAAAAAAAAOA/YwRAIAAgAUEIdGpBfzYCOCADQX82AjQgACABQQh0akEGNgKcAgsLIAFBAWohAQwAAAsACyAAKAIsIQIDQCABIAJODQIgACABQQh0aiIDKAI0QX9KBEAgACABQQh0aisDUEQAAAAAAADgP2MEQCAAIAFBCHRqQX82AjwgA0F/NgI0IAAgAUEIdGpBBjYCnAILCyABQQFqIQEMAAALAAsgACgCLCEDA0AgASADTg0BIAAgAUEIdGoiAigCOEF/SgR/IAAgAUEIdGorA1hEAAAAAAAA4D9jBH8gAkF/NgI4QQAFQQELBUEBCyECIAAgAUEIdGoiBCgCPEF/SgRAIAAgAUEIdGorA2BEAAAAAAAA4D9jBEAgBEF/NgI8IAJFBEAgACABQQh0akEGNgKcAgsLCyABQQFqIQEMAAALAAsLCwAgAEMAAAA/ko4LDQAgABDSAUMYcjE/lQu3AwIDfwN9IAAoAgAiBCoCACIHIAEoAgAiAyoCACIGXQR/QQEFIAYgB10Ef0EABSAEKAIEIAMoAgRJCwshASAGIAIoAgAiAioCACIIXQR/QQEFIAggBl0Ef0EABSADKAIEIAIoAgRJCwshAAJ/IAEEfyAABEAgBCAIOAIAIAIgBzgCACAEKAIEIQAgBCACKAIENgIEIAIgADYCBEEBDAILIAQgBjgCACADIAc4AgAgBCgCBCEFIAQgAygCBDYCBCADIAU2AgQgByACKgIAIgZdBEAgAkEEaiEAIAIoAgQhAQVBASAGIAddDQIaQQEgBSACQQRqIgAoAgAiAU8NAhoLIAMgBjgCACACIAc4AgAgAyABNgIEIAAgBTYCAEECBSAABH8gAyAIOAIAIAIgBjgCACADKAIEIQAgAyACKAIENgIEIAIgADYCBCAEKgIAIgcgAyoCACIGXQRAIARBBGohACADKAIEIQEgBCgCBCECBUEBIAYgB10NAxpBASAEQQRqIgAoAgAiAiADKAIEIgFPDQMaCyAEIAY4AgAgAyAHOAIAIAAgATYCACADIAI2AgRBAgVBAAsLCwvtAQEFfyAAKAIAIQYgACgCBCEDA0AgAyAGRwRAIAEoAgQiBEF0aiICQQA2AgAgBEF4aiIFQQA2AgAgBEF8aiIEQQA2AgAgAiADQXRqIgIoAgA2AgAgBSADQXhqIgUoAgA2AgAgBCADQXxqIgMoAgA2AgAgA0EANgIAIAVBADYCACACQQA2AgAgASABKAIEQXRqNgIEIAIhAwwBCwsgACgCACECIAAgASgCBDYCACABIAI2AgQgACgCBCECIAAgASgCCDYCBCABIAI2AgggACgCCCECIAAgASgCDDYCCCABIAI2AgwgASABKAIENgIACyIBAX8gACgCCCICQQAgAUEMbBBFGiAAIAFBDGwgAmo2AggLIgEBfyAAKAIEIgJBACABQQxsEEUaIAAgAUEMbCACajYCBAsiAQF/IAAoAgQiAkEAIAFBAnQQRRogACABQQJ0IAJqNgIECxMAIAAgATYCVCAAQTxqIAEQ0QILOwECfyAAKAIEIQEDQCAAKAIIIgIgAUcEQCAAIAJBbGo2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLqQEBA38gACgCACEEIAAoAgQhAgNAIAIgBEcEQCABKAIEQWxqIgMgAkFsaiICKQIANwIAIAMgAikCCDcCCCADIAIoAhA2AhAgASABKAIEQWxqNgIEDAELCyAAKAIAIQIgACABKAIENgIAIAEgAjYCBCAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAEoAgQ2AgALcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQcyZs+YASwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUEUbBBRIQQLCyAAIAQ2AgAgACACQRRsIARqIgI2AgggACACNgIEIAAgAUEUbCAEajYCDAvkAQEGfyMGIQIjBkEQaiQGIAJBCGohAyAABH8gASAAQfSGrwNqIgUoAgBGBH9BAAUgAEGIh68DaiIEKAIAIgYEQCAGEEkgBEEANgIACwJAAkACQAJAIAEOBQMAAAABAgsgBCAAKAIkIAAoAigQgwg2AgAMAgsgAEGEh68DakEBNgIAIABBgIevA2pBATYCAEEEIQEMAQtBAEEDQcilASACED1BACEBCyAFIAE2AgAgACgCAEEBRgRAIAMgAUECdEGACGooAgA2AgBBAEEDQZKmASADED0LQQALBUF/CyEHIAIkBiAHCygAIAAgATgCACAAIAI4AgQgACADOAIIIAAgBDgCDCAAIAVBAXE6ABALewEBfyMGIQIjBkEQaiQGIAAEQCAAKAIAIAFHBEACQCAAIAE2AgAgAUUEQCAAQeSGpwJqIgAoAgAQOCAAQQA2AgAMAQsgAEHkhqcCaiAAKAIoIAAoAiRsEEQiADYCACAARQRAQQBBA0G52AIgAhA9QQEQAQsLCwsgAiQGC5oBAQR/IwYhBSMGQRBqJAYgAiABayIEQW9LBEAQAAsgBEELSQRAIAAgBDoACwUgACAEQRBqQXBxIgYQUSIDNgIAIAAgBkGAgICAeHI2AgggACAENgIEIAMhAAsgAiABayEGIAAhAwNAIAEgAkcEQCADIAEQXyABQQFqIQEgA0EBaiEDDAELCyAFQQA6AAAgACAGaiAFEF8gBSQGC4IBAQN/IwYhAiMGQRBqJAYgAARAIAAoAgAiAQRAIAEoAgAiAQRAIAEQOAtBACEBA0AgASAAKAIAIgMoAgxIBEAgAygCCCABQQxsaigCABA4IAFBAWohAQwBCwsgAygCCBA4IAAoAgAQOCAAQQA2AgALBUEAQQNB3LgBIAIQPQsgAiQGCxEAIAAgACgCACAAKAIEEKUJC64BAQV/IwYhBSMGQRBqJAYgACACIAMgBUEEaiAFEKYJQQBIBH9BfwUgBSoCBCABKgIMIgKUQzMzy0GVQwAAAD+SEEMiAEEASAR/QX8FIAEoAgQiByAASgR/IAEoAggiCLIgAiAFKgIAlEMzM8tBlZNDAAAAP5IQQyIGQX9KIAggBkpxBH8gBCABKAIAIAAgBiAHbGpqLAAAOgAAQQAFQX8LBUF/CwsLIQkgBSQGIAkLvQICBH8CfSMGIQYjBkFAayQGIAZBNGohByAGQTBqIQggAAR/IABBCGogASAGEPoBIABBuAFqIgAgBioCDCAGKgIAIAKUIAYqAgQgA5SSkiAGKgIsIAYqAiAgApQgBioCJCADlJKSIguVIgogBioCHCAGKgIQIAKUIAYqAhQgA5SSkiALlSIDIAQgBRBtQQBIBH9BfwUgACAEKgIAIAUqAgAgByAIEKYBQQBIBH9BfwUgCiAHKgIAkyICIAKUIAMgCCoCAJMiAiAClJJDAACAP15BH3RBH3ULCwUgASoCHCABKgIQIAKUIAEqAhQgA5SSkiEKIAQgASoCDCABKgIAIAKUIAEqAgQgA5SSkiABKgIsIAEqAiAgApQgASoCJCADlJKSIgKVOAIAIAUgCiAClTgCAEEACyEJIAYkBiAJC4YLAQp/IAMoAhghCAJAAkACQCACQQVrDgoAAQEBAQEBAAAAAQsgAygCDCELIAMoAhQhDSABQQF0IQ4gACAEQQAgAygCCGsiB0EBdGogASAFQQAgAygCEGsiBUEBdGpsamohBEEAIQBBACEBQQAhAgNAIAUgDUoEQAwDBSAHIQwgBCEJA0AgDCALTARAIAguAQAiD0GAIEcEQCAAIAktAAAiCmohACABIAogCmxqIQEgAiAPQf//A3EgCmxqIQILIAxBAWohDCAIQQJqIQggCUECaiEJDAELCyAEIA5qIQQgBUEBaiEFDAELAAALAAsgAkECSQRAIAMoAhQhDkEAIAMoAhBrIQogCCEJQQAhAkEAIQgDQCAKIA5KBEAgAiEAIAghASAMIQIMAwUgAygCDCEPQQAgAygCCCIHayELIAAgBCABIAUgCkEBdGpsaiAHQQF0a0EDbGohBwNAIAsgD0wEQCAJLgEAIhBBgCBHBEAgAiAHLQACIActAAAgBy0AAWpqQQMQSCINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgC0EBaiELIAdBBmohByAJQQJqIQkMAQsLIApBAWohCgwBCwAACwALIAJBAXJBA0YEQCADKAIUIQ5BACADKAIQayEKIAghCUEAIQJBACEIA0AgCiAOSgRAIAIhACAIIQEgDCECDAMFIAMoAgwhD0EAIAMoAggiB2shCyAAIAQgASAFIApBAXRqbGogB0EBdGtBAnRqIQcDQCALIA9MBEAgCS4BACIQQYAgRwRAIAIgBy0AAiAHLQAAIActAAFqakEDEEgiDWohAiAIIA0gDWxqIQggDCAQQf//A3EgDWxqIQwLIAtBAWohCyAHQQhqIQcgCUECaiEJDAELCyAKQQFqIQoMAQsAAAsACyACQQJyQQZGBEAgAygCFCEOQQAgAygCEGshCiAIIQlBACECQQAhCANAIAogDkoEQCACIQAgCCEBIAwhAgwDBSADKAIMIQ9BACADKAIIIgdrIQsgACAEIAEgBSAKQQF0amxqIAdBAXRrQQJ0aiEHA0AgCyAPTARAIAkuAQAiEEGAIEcEQCACIActAAMgBy0AASAHLQACampBAxBIIg1qIQIgCCANIA1saiEIIAwgEEH//wNxIA1saiEMCyALQQFqIQsgB0EIaiEHIAlBAmohCQwBCwsgCkEBaiEKDAELAAALAAsCQAJAAkAgAkEHaw4CAAECCyADKAIUIQ5BACECQQAgAygCEGshCiAIIQcDQCAKIA5KBEAgAiEAIAkhASAMIQIMBAUgAygCDCEPIAkhCEEAIAMoAggiC2shCSAAIAQgASAFIApBAXRqbGogC0EBdGtBAXRqIQsDQCAJIA9MBEAgBy4BACIQQYAgRwRAIAIgCy0AASINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgCUEBaiEJIAtBBGohCyAHQQJqIQcMAQsLIAghCSAKQQFqIQoMAQsAAAsACyADKAIUIQ4gCCEJQQAhAkEAIQhBACADKAIQayEHA0AgByAOSgRAIAIhACAIIQEgDCECDAMFIAMoAgwhD0EAIAMoAggiC2shCiAAIAQgASAFIAdBAXRqbGogC0EBdGtBAXRqIQsDQCAKIA9MBEAgCS4BACIQQYAgRwRAIAIgCy0AACINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgCUECaiEJIApBAWohCiALQQRqIQsMAQsLIAdBAWohBwwBCwAACwALQQAhAEEAIQFBACECCyAGIAEgACAAbCADKAIkIgEQOWsiBAR/IAIgACADKAIgbCABEDlrQeQAbCADKAIcEDlB5ABsIASykRBDEDkFQQALNgIAC0UBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJNDAAAAP5QiA4wgAyADQwAAAABdGwuIDgMIfwF+DX0jBiEGIwZBIGokBiAGQRRqIQcgBkEQaiEIIAZBDGohCSAGQQhqIQogBkEEaiELIAJBAEgEQEF/IQEFAkACQAJAAkACQAJAIAIOBAABAgMECyAEQQgQObIhEiAEQQdsQQgQObIhEyAFQQgQObIhFCAFQQdsQQgQObIhFSAEQQIQObIhFiAFQQIQObIhF0EAIQJBfyEBA0ACQAJAAkAgAkEYbCAAaigCDEF/aw4CAgABCyACQRhsIABqKgIQIg8gEl0gDyATXnJFBEAgAkEYbCAAaioCFCIQIBRdIBAgFV5yRQRAIA8gFpMiDyAPlCAQIBeTIg8gD5SSIg8gEV4EQCAPIREgAiEBCwsLCyACQQFqIQIMAQsLIAFBf0YEQEF/IQEMBQsgAUEYbCAAakEBNgIMDAQLIARBCBA5siESIARBB2xBCBA5siETIAVBCBA5siEUIAVBB2xBCBA5siEVQX8hAUEAIQIDQAJAAkACQCACQRhsIABqKAIMQX9rDgICAAELIAJBGGwgAGoqAhAiDyASXSAPIBNeckUEQCACQRhsIABqKgIUIhAgFF0gECAVXnJFBEAgDyADKgIAkyIPIA+UIBAgAyoCBJMiDyAPlJIiDyARXgRAIA8hESACIQELCwsLIAJBAWohAgwBCwsgAUF/RgRAQX8hAQwECyABQRhsIABqQQE2AgwMAwsgBEEIEDmyIRIgBEEHbEEIEDmyIRMgBUEIEDmyIRQgBUEHbEEIEDmyIRVBfyEBQQAhAgNAAkACQAJAIAJBGGwgAGooAgxBf2sOAgIAAQsgAkEYbCAAaioCECIPIBJdIA8gE15yRQRAIAJBGGwgAGoqAhQiECAVXiAQIBRdckUEQCAPIAMqAgAiD5MgAyoCDCADKgIEIhaTlCAQIBaTIAMqAgggD5OUkyIPIA+UIg8gEV4EQCAPIREgAiEBCwsLCyACQQFqIQIMAQsLIAFBf0YEQEF/IQEMAwsgAUEYbCAAakEBNgIMDAILIAMgA0EIaiAHIAgQ2wIgAyADQRBqIAkgChDbAiAEQQgQObIhFiAEQQdsQQgQObIhFyAFQQgQObIhGCAFQQdsQQgQObIhGSADQRhqIQwgCSoCACIUIAgqAgAiEpQiESAKKgIAIhUgByoCACITlCIPk0MAAAAAYEUhCSAPIBGTQwAAAABgRSENQQJBASAJGyEHQQFBAiAJGyEIQX8hAUEAIQJDAAAAACERA0ACQAJAAkAgAkEYbCAAaigCDEF/aw4CAgABCyACQRhsIABqKgIQIg8gFl0gDyAXXnJFBEAgAkEYbCAAaiIEKgIUIhAgGF0gECAZXnJFBEAgDCAPOAIAIAMgBCgCFDYCHCADIAwgCyAGENsCIAsqAgAhDwJ/AkAgCQR/IAYqAgAhEAwBBSASIA+UIBMgBioCACIQlJNDAAAAAGAEf0ECQQMgFSAPlCAUIBCUk0MAAAAAYEUiBRshBEEBIQpBA0ECIAUbBQwCCwsMAQsgDSAVIA+UIhogFCAQlCIbk0MAAAAAYEVyBH8gEyAQlCASIA+Uk0MAAAAAYEUgGyAak0MAAAAAYEVyDQRBAyEKIAghBCAHBUEBQQMgEiAPlCATIBCUk0MAAAAAYEUiBRshBEECIQpBA0EBIAUbCwshBSADIAogBSAEELAJIg8gEV4EfyAPIREgAgUgAQshAQsLCyACQQFqIQIMAQsLIAFBf0cEQCABQRhsIABqQQE2AgwLDAELQQAhAwJAAkADQAJAAkACQCADQRhsIAFqIgIoAgxBf2sOAgIAAQsgAkEBNgIMIANBGGwgAWohBCADQRhsIAFqIQUgA0EYbCABaiEHQQAhAgNAAkACQCACQRhsIABqIggoAgxBf2sOAgMAAQsgBCgCACACQRhsIABqKAIARgRAIAUoAgQgAkEYbCAAaigCBEYEQCAHKAIIIAJBGGwgAGooAghGDQcLCwsgAkEBaiECDAAACwALIANBAWohAwwBCwsMAQsgCEEBNgIMIAIhAQwBCyABQX82AgxBhMQDQQBBhMQDKAIAIgEEfyABBUHovgNBABATQX9qrTcDAEGExAMoAgALQQFqIgEgAUGAAUYbNgIAQQAhAUEAIQIDQAJAAkACQCACQRhsIABqKAIMQX9rDgICAAELIAFBAWohAQsgAkEBaiECDAELCyABRQRAQX8hAQwBC0HovgNB6L4DKQMAQq3+1eTUhf2o2AB+QgF8Ig43AwAgAbIgDkIhiKeylEMAAAAwlBBDIQRBACECQQAhAQNAAkACQAJAAkAgAkEYbCAAaiIFKAIMIgNBf2sOAgABAgsgAyEBDAQLIAEgBEYNASABQQFqIQELIAJBAWohAgwBCwsgBUEBNgIMIAIhAQsLIAYkBiABC5gEAgF/EX0jBiEEIwZBMGokBiAABEAgAEEIaiABIAQQ+gEgAioCACILIAQqAgAiFJQhDiACKgIEIgYgBCoCBCIMlCEPIAYgBCoCFCINlCEQIAQqAiwiCiALIAQqAiAiB5QiCSAGIAQqAiQiCJQiBZKSIREgCiALQwAAIEGSIhIgB5QgBZKSIRMgCiAJIAZDAAAgQZIiBiAIlJKSIQogBCoCHCIHIAsgBCoCECIIlCIFIAYgDZSSkiAKlSELIAQqAgwiCSAOIAYgDJSSkiAKlSEMBSACKgIAIgsgASoCACIUlCEOIAIqAgQiBiABKgIEIgyUIQ8gBiABKgIUIg2UIRAgASoCLCIKIAsgASoCICIHlCIJIAYgASoCJCIIlCIFkpIhESAKIAtDAAAgQZIiEiAHlCAFkpIhEyAKIAkgBkMAACBBkiIGIAiUkpIhCiABKgIcIgcgCyABKgIQIgiUIgUgBiANlJKSIAqVIQsgASoCDCIJIA4gBiAMlJKSIAqVIQwLIAcgEiAIlCAQkpIgE5UhDSAJIBIgFJQgD5KSIBOVIRUgByAFIBCSkiARlSEHIAkgDiAPkpIgEZUhCSAVIAmTIgUgBZQgDSAHkyIFIAWUkiIIIAwgCZMiBSAFlCALIAeTIgUgBZSSIgVdIQAgAyAFIAggABuRQ1yPIkCUOAIAIAMgCCAFIAAbkUNcjyJAlDgCBCAEJAZBAAsfACAABH8gACABIAIgAxCGBAVBACABIAIgAxCGBAsaCwYAQRwQAgsGAEEbEAILBgBBFxACCwYAQRIQAgsIAEEPEAJCAAsIAEEMEAJBAAsIAEEKEAJBAAuMAQECfyMFQQFqJAUgACMFNgIAA0AgBCADSARAIARBA3QgAmooAgBFBEAgBEEDdCACaiMFNgIAIARBA3RBBGogAmogATYCACAEQQN0QQhqIAJqQQA2AgAgAxADIAIPCyAEQQFqIQQMAQsLIAAgASACIANBAXQiAEEBakEDdBDoASAAEI8EIQUgABADIAULrwwBB38gACABaiEFIAAoAgQiA0EBcUUEQAJAIAAoAgAhAiADQQNxRQRADwsgASACaiEBIAAgAmsiAEHA0QMoAgBGBEAgBSgCBCICQQNxQQNHDQFBtNEDIAE2AgAgBSACQX5xNgIEIAAgAUEBcjYCBCAFIAE2AgAPCyACQQN2IQQgAkGAAkkEQCAAKAIIIgIgACgCDCIDRgRAQazRA0Gs0QMoAgBBASAEdEF/c3E2AgAFIAIgAzYCDCADIAI2AggLDAELIAAoAhghByAAIAAoAgwiAkYEQAJAIABBEGoiA0EEaiIEKAIAIgIEQCAEIQMFIAMoAgAiAkUEQEEAIQIMAgsLA0ACQCACQRRqIgQoAgAiBkUEQCACQRBqIgQoAgAiBkUNAQsgBCEDIAYhAgwBCwsgA0EANgIACwUgACgCCCIDIAI2AgwgAiADNgIICyAHBEAgACAAKAIcIgNBAnRB3NMDaiIEKAIARgRAIAQgAjYCACACRQRAQbDRA0Gw0QMoAgBBASADdEF/c3E2AgAMAwsFIAdBEGoiAyAHQRRqIAAgAygCAEYbIAI2AgAgAkUNAgsgAiAHNgIYIAAoAhAiAwRAIAIgAzYCECADIAI2AhgLIAAoAhQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAUoAgQiB0ECcQRAIAUgB0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIAIAEhAwUgBUHE0QMoAgBGBEBBuNEDIAFBuNEDKAIAaiIBNgIAQcTRAyAANgIAIAAgAUEBcjYCBEHA0QMoAgAgAEcEQA8LQcDRA0EANgIAQbTRA0EANgIADwsgBUHA0QMoAgBGBEBBtNEDIAFBtNEDKAIAaiIBNgIAQcDRAyAANgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPCyAHQQN2IQQgB0GAAkkEQCAFKAIIIgIgBSgCDCIDRgRAQazRA0Gs0QMoAgBBASAEdEF/c3E2AgAFIAIgAzYCDCADIAI2AggLBQJAIAUoAhghCCAFKAIMIgIgBUYEQAJAIAVBEGoiA0EEaiIEKAIAIgIEQCAEIQMFIAMoAgAiAkUEQEEAIQIMAgsLA0ACQCACQRRqIgQoAgAiBkUEQCACQRBqIgQoAgAiBkUNAQsgBCEDIAYhAgwBCwsgA0EANgIACwUgBSgCCCIDIAI2AgwgAiADNgIICyAIBEAgBSgCHCIDQQJ0QdzTA2oiBCgCACAFRgRAIAQgAjYCACACRQRAQbDRA0Gw0QMoAgBBASADdEF/c3E2AgAMAwsFIAhBEGoiAyAIQRRqIAMoAgAgBUYbIAI2AgAgAkUNAgsgAiAINgIYIAUoAhAiAwRAIAIgAzYCECADIAI2AhgLIAUoAhQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAAgASAHQXhxaiIDQQFyNgIEIAAgA2ogAzYCACAAQcDRAygCAEYEQEG00QMgAzYCAA8LCyADQQN2IQIgA0GAAkkEQCACQQN0QdTRA2ohAUGs0QMoAgAiA0EBIAJ0IgJxBH8gAUEIaiIDKAIABUGs0QMgAiADcjYCACABQQhqIQMgAQshAiADIAA2AgAgAiAANgIMIAAgAjYCCCAAIAE2AgwPCyADQQh2IgEEfyADQf///wdLBH9BHwUgASABQYD+P2pBEHZBCHEiAnQiBEGA4B9qQRB2QQRxIQFBDiABIAJyIAQgAXQiAUGAgA9qQRB2QQJxIgJyayABIAJ0QQ92aiIBQQF0IAMgAUEHanZBAXFyCwVBAAsiAkECdEHc0wNqIQEgACACNgIcIABBADYCFCAAQQA2AhACQEGw0QMoAgAiBEEBIAJ0IgZxRQRAQbDRAyAEIAZyNgIAIAEgADYCAAwBCyADIAEoAgAiASgCBEF4cUYEQCABIQIFAkAgA0EAQRkgAkEBdmsgAkEfRht0IQQDQCABQRBqIARBH3ZBAnRqIgYoAgAiAgRAIARBAXQhBCADIAIoAgRBeHFGDQIgAiEBDAELCyAGIAA2AgAMAgsLIAIoAggiASAANgIMIAIgADYCCCAAIAE2AgggACACNgIMIABBADYCGA8LIAAgATYCGCAAIAA2AgwgACAANgIIC80BAQN/Qe////8DIAFrIAJJBEAQAAsgACwAC0EASAR/IAAoAgAFIAALIQUgAUHn////AUkEQEECIAFBAXQiByABIAJqIgIgAiAHSRsiAkEEakF8cSACQQJJGyICQf////8DSwRAEAAFIAIhBgsFQe////8DIQYLIAZBAnQQUSECIAQEQCACIAUgBBCnAQsgAyAEayIDBEAgAiAEQQJ0aiAFIARBAnRqIAMQpwELIAFBAUcEQCAFEDgLIAAgAjYCACAAIAZBgICAgHhyNgIIC6ACAQR/IwYhCCMGQRBqJAZB7v///wMgAWsgAkkEQBAACyAALAALQQBIBH8gACgCAAUgAAshCSABQef///8BSQRAQQIgAUEBdCILIAEgAmoiAiACIAtJGyICQQRqQXxxIAJBAkkbIgJB/////wNLBEAQAAUgAiEKCwVB7////wMhCgsgCkECdBBRIQIgBARAIAIgCSAEEKcBCyAGBEAgBEECdCACaiAHIAYQpwELIAMgBWsiAyAEayIHBEAgBEECdCACaiAGQQJ0aiAEQQJ0IAlqIAVBAnRqIAcQpwELIAFBAUcEQCAJEDgLIAAgAjYCACAAIApBgICAgHhyNgIIIAAgAyAGaiIANgIEIAhBADYCACAAQQJ0IAJqIAgQbiAIJAYLkAEBA38jBiEDIwZBEGokBiABQe////8DSwRAEAALIAFBAkkEQCAAIAE6AAsgACEEBSABQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgATYCBAsLIAEEQCAEIAIgARDrBAsgA0EANgIAIAFBAnQgBGogAxBuIAMkBgvuAQEDfyMGIQgjBkEQaiQGQW4gAWsgAkkEQBAACyAALAALQQBIBH8gACgCAAUgAAshCSABQef///8HSQR/QQsgAUEBdCIKIAEgAmoiAiACIApJGyICQRBqQXBxIAJBC0kbBUFvCyIKEFEhAiAEBEAgAiAJIAQQqAELIAYEQCACIARqIAcgBhCoAQsgAyAFayIDIARrIgcEQCAGIAIgBGpqIAUgBCAJamogBxCoAQsgAUEKRwRAIAkQOAsgACACNgIAIAAgCkGAgICAeHI2AgggACADIAZqIgA2AgQgCEEAOgAAIAAgAmogCBBfIAgkBgsWACABBEAgACACEEJB/wFxIAEQRRoLC3IBA38jBiEDIwZBEGokBiABQW9LBEAQAAsgAUELSQRAIAAgAToACwUgACABQRBqQXBxIgQQUSIFNgIAIAAgBEGAgICAeHI2AgggACABNgIEIAUhAAsgACABIAIQlQQgA0EAOgAAIAAgAWogAxBfIAMkBgv6FQMMfwF+AnwjBiELIwZB0AFqJAYgC0HIAWohDSALQcABaiEOIAtB4ABqIQwgAygCBCEKA0AgByAKSARAIAMoAgAiCCAHQcACbGohCSAHQcACbCAIaigCBARAIAdBwAJsIAhqIRBBACEFQX8hBgNAIAUgAkgEQAJAAkACQCAFQQh0IAFqKAIMIg8NACAFQQh0IAFqKQP4ASIRUA0AIBEgECkDuAJRDQEMAgsgDyAJKAIARg0ADAELIAVBCHQgAWorAzAiEiADKwN4Y0UEQCAGQX9GBH8gBQUgBkEIdCABaisDMCASYwR/IAUFIAYLCyEGCwsgBUEBaiEFDAELCyAHQcACbCAIaiAGNgKwAiAGQX9KBEAgBkEIdCABaiAGQQh0IAFqKAIYNgIQCwVBfyEGQQAhBQNAIAUgAkgEQCAFQQh0IAFqKAIIIAkoAgBGBEAgBUEIdCABaisDKCISIAMrA3BjRQRAIAZBf0YEfyAFBSAGQQh0IAFqKwMoIBJjBH8gBQUgBgsLIQYLCyAFQQFqIQUMAQsLIAdBwAJsIAhqIAY2ArACIAZBf0oEQCAGQQh0IAFqIAZBCHQgAWooAhQ2AhALCyAHQQFqIQcMAQsLQQAhBUEAIQJBACEGQQAhBwNAIAcgCkgEQCADKAIAIgogB0HAAmxqKAKwAiIIQQBOBEACQCAAIAhBCHQgAWoiCSAHQcACbCAKaisDCCALENoDRAAAAAAAABBAZARAIAMoAgAgB0HAAmxqQX82ArACIAhBCHQgAWoiCCgC7AENASAIQQc2AuwBDAELIAVFIAIgCSgCACIISHIEQEEAIQIDfyACQQNGBH8gByEGIAgFQQAhBgNAIAZBBEcEQCACQQV0IAxqIAZBA3RqIAJBBXQgC2ogBkEDdGorAwA5AwAgBkEBaiEGDAELCyACQQFqIQIMAQsLIQILIAVBAWohBQsLIAdBAWohByADKAIEIQoMAQsLAkACQCAFRQ0AIAUgAygCgAFIDQAgDCADKAIAIAZBwAJsakHwAGogCxCzAiAFQQZ0EEQiB0UEQEEAQQNBudgCIA4QPUEBEAELIAVB4ABsEEQiBkUEQEEAQQNBudgCIA0QPUEBEAELIAVBAnQhCCADKAIEIRBBACEFQQAhAgNAIAUgEEgEQCADKAIAIgogBUHAAmxqKAKwAiIJQQBOBEAgAkEDdCINQQN0IAdqIAlBCHQgAWpBqAFqQQQgCUEIdCABaigCECIOa0EEEE8iD0EEdGorAwA5AwAgDUEBckEDdCAHaiAJQQh0IAFqIA9BBHRqKwOwATkDACANQQJyQQN0IAdqIAlBCHQgAWpBqAFqQQUgDmtBBBBPIg9BBHRqKwMAOQMAIA1BA3JBA3QgB2ogCUEIdCABaiAPQQR0aisDsAE5AwAgDUEEckEDdCAHaiAJQQh0IAFqQagBakEGIA5rQQQQTyIPQQR0aisDADkDACANQQVyQQN0IAdqIAlBCHQgAWogD0EEdGorA7ABOQMAIA1BBnJBA3QgB2ogCUEIdCABakGoAWpBByAOa0EEEE8iDkEEdGorAwA5AwAgDUEHckEDdCAHaiAJQQh0IAFqIA5BBHRqKwOwATkDACACQQxsIglBA3QgBmogBUHAAmwgCmorA9ABOQMAIAlBAXJBA3QgBmogBUHAAmwgCmorA9gBOQMAIAlBAnJBA3QgBmogBUHAAmwgCmorA+ABOQMAIAlBA3JBA3QgBmogBUHAAmwgCmorA+gBOQMAIAlBBGpBA3QgBmogBUHAAmwgCmorA/ABOQMAIAlBBWpBA3QgBmogBUHAAmwgCmorA/gBOQMAIAlBBmpBA3QgBmogBUHAAmwgCmorA4ACOQMAIAlBB2pBA3QgBmogBUHAAmwgCmorA4gCOQMAIAlBCGpBA3QgBmogBUHAAmwgCmorA5ACOQMAIAlBCWpBA3QgBmogBUHAAmwgCmorA5gCOQMAIAlBCmpBA3QgBmogBUHAAmwgCmorA6ACOQMAIAlBC2pBA3QgBmogBUHAAmwgCmorA6gCOQMAIAJBAWohAgsgBUEBaiEFDAELCyAEQQBHIQQgAygCaARAIAAgCyAHIAYgCCAMEL8CIhIgACADQQhqIgIgByAGIAggAhC/AiITYyEFIAQEQCAFBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAESamZmZmZnpPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAEQzMzMzMzPjPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAESamZmZmZnZPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAEQAAAAAAAAAABCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEAA0AgAEEDRwRAQQAhAgNAIAJBBEcEQCADQQhqIABBBXRqIAJBA3RqIABBBXQgDGogAkEDdGorAwA5AwAgAkEBaiECDAELCyAAQQFqIQAMAQsLBSATIRILCwsLCwUgBQRAQQAhAANAIABBA0cEQEEAIQIDQCACQQRHBEAgA0EIaiAAQQV0aiACQQN0aiAAQQV0IAxqIAJBA3RqKwMAOQMAIAJBAWohAgwBCwsgAEEBaiEADAELCwUgEyESCwsFIAQgACALIAcgBiAIIANBCGoiAhC/AiISRAAAAAAAADRAZnEEQCAAKAIARJqZmZmZmek/EI0BIAAgCyAHIAYgCCACEI4BIhJEAAAAAAAANEBmBHwgACgCAEQzMzMzMzPjPxCNASAAIAsgByAGIAggAhCOASISRAAAAAAAADRAZgR8IAAoAgBEmpmZmZmZ2T8QjQEgACALIAcgBiAIIAIQjgEiEkQAAAAAAAA0QGYEfCAAKAIARAAAAAAAAAAAEI0BIAAgCyAHIAYgCCACEI4BBSASCwUgEgsFIBILIRILCyAGEDggBxA4AkAgEkQAAAAAAAA0QGMEQCADQQE2AmgMAQsgA0EANgJoIAMoAgQhAkEAIQADQCAAIAJODQEgAygCACAAQcACbGooArACIgRBAE4EQCAEQQh0IAFqIgQoAuwBRQRAIARBCDYC7AELCyAAQQFqIQAMAAALAAsMAQsgA0EANgJoCyALJAYLyQwCEH8RfCMGIQYjBkGAAWokBiAGQfgAaiEOIAZB8ABqIQ8gBkHoAGohECAGQeAAaiERIAZB2ABqIRIgBkHQAGohCCAGQcgAaiEJIANBBEgEf0F/BQJ/A0AgBSADSARAIAVBAWohE0F/IAVBGGwgAmorAxBEAAAAAAAAAABiDQIaIBMhBQwBCwsgACsDAEQAAAAAAAAAAGEEf0F/BSAAKwMgRAAAAAAAAAAAYgR/QX8FIAArAyhEAAAAAAAAAABhBH9BfwUgAEFAaysDAEQAAAAAAAAAAGIEf0F/BSAAKwNIRAAAAAAAAAAAYgR/QX8FIAArA1BEAAAAAAAA8D9iBH9BfwUgACsDGEQAAAAAAAAAAGIEf0F/BSAAKwM4RAAAAAAAAAAAYgR/QX8FIAArA1hEAAAAAAAAAABiBH9BfwUgA0EBdCIFQQgQiwEiCkUEQEEAQQNB9awBIAkQPUF/DAoLIAVBARCLASIJRQRAIAoQSUEAQQNBj60BIAgQPUF/DAoLQQAhCANAIAMgCEcEQCAKKAIAIgcgCEEEdCIFQQN0aiAIQRhsIAJqIgsrAwA5AwAgBUEBckEDdCAHaiAIQRhsIAJqIgwrAwg5AwAgBUECckEDdCAHakQAAAAAAADwPzkDACAFQQNyQQN0IAdqRAAAAAAAAAAAOQMAIAVBBHJBA3QgB2pEAAAAAAAAAAA5AwAgBUEFckEDdCAHakQAAAAAAAAAADkDACAFQQZyQQN0IAdqIAsrAwAgCEEEdCABaiINKwMAopo5AwAgBUEHckEDdCAHaiAMKwMIIA0rAwCimjkDACAFQQhyQQN0IAdqRAAAAAAAAAAAOQMAIAVBCXJBA3QgB2pEAAAAAAAAAAA5AwAgBUEKckEDdCAHakQAAAAAAAAAADkDACAFQQtyQQN0IAdqIAsrAwA5AwAgBUEMckEDdCAHaiAMKwMIOQMAIAVBDXJBA3QgB2pEAAAAAAAA8D85AwAgBUEOckEDdCAHaiALKwMAIAhBBHQgAWoiCysDCKKaOQMAIAVBD3JBA3QgB2ogDCsDCCALKwMIopo5AwAgCSgCACIHIAhBAXQiBUEDdGogDSsDADkDACAFQQFyQQN0IAdqIAsrAwg5AwAgCEEBaiEIDAELCyAKEKADIgFFBEAgChBJIAkQSUEAQQNBqa0BIBIQPUF/DAoLIAEgChDZASIDRQRAIAoQSSAJEEkgARBJQQBBA0HDrQEgERA9QX8MCgsgASAJENkBIgVFBEAgChBJIAkQSSABEEkgAxBJQQBBA0HdrQEgEBA9QX8MCgsgAxDWAUEASARAIAoQSSAJEEkgARBJIAMQSSAFEElBAEEDQfetASAPED1BfwwKCyADIAUQ2QEiBwR/IAcoAgAiAisDMCEWIAIrAwAgFiAAKwMQIh2ioSACKwMYIBYgACsDMCIboqEgACsDKCIcoyIZIAArAwgiHqKhIAArAwAiH6MhGCACKwMgIBsgAisDOCIVoqEgHKMhFyACKwMIIB0gFaKhIB4gF6KhIB+jIRogAisDKCAboSAcoyEbIAIrAxAhJCAKEEkgCRBJIAEQSSADEEkgBRBJIAcQSSAGIBggFiAWoiAZIBmiIBggGKKgoJ8iGKM5AwAgBiAZIBijOQMIIAYgFiAYozkDECAGIBogFSAVoiAXIBeiIBogGqKgoJ8iFqM5AxggBiAXIBajOQMgIAYgFSAWozkDKCAGEPIJIAYrAwgiGSAGKwMoIhqiIAYrAxAiHCAGKwMgIiCioSEVIBwgBisDGCIhoiAaIAYrAwAiIqKhIRcgBiAVICAgIqIgGSAhoqEiIyAjoiAVIBWiIBcgF6KgoJ8iFaMiJTkDMCAGIBcgFaMiFzkDOCAGQUBrICMgFaMiFTkDACAEICI5AwAgBCAZOQMgIARBQGsgHDkDACAEICE5AwggBCAgOQMoIAQgGjkDSCAEICU5AxAgBCAXOQMwIAQgFTkDUCAEICQgHaEgHiAboqEgH6MgGCAWoEQAAAAAAADgP6IiFqM5AxggBCAbIBajOQM4IAREAAAAAAAA8D8gFqM5A1hBAAUgChBJIAkQSSABEEkgAxBJIAUQSUEAQQNBka4BIA4QPUF/CwsLCwsLCwsLCwsLIRQgBiQGIBQLEgAgAEGsogE2AgAgAEEQahBHCxIAIABBhKIBNgIAIABBDGoQRwsjAQF/IABB0KEBNgIAIAAoAggiAQRAIAAsAAwEQCABEDgLCwt9AQR/IABBvKEBNgIAIABBCGohAwNAIAIgACgCDCADKAIAIgFrQQJ1SQRAIAJBAnQgAWooAgAiAQRAIAEgASgCBCIEQX9qNgIEIARFBEAgASABKAIAKAIIQf8BcUGsA2oRAQALCyACQQFqIQIMAQsLIABBkAFqEEcgAxCPCgvUCgIPfwR8IwYhCyMGQcABaiQGIAtBuAFqIQggC0GwAWohDiALQagBaiEKIAtBoAFqIQUgC0GQAWohDyALQTBqIRAgASgCCCIJQQRIBH9BfwUCfwJ/IAArA4ABIAm3ohBzIREgCUHgAGwQRCIGRQRAQQBBA0HK2AIgBRA9QX8MAgsgCUEEdBBEIgdFBEBBAEEDQcrYAiAKED0gBhA4QX8MAgsgCUEDdCIFEEQiCUUEQEEAQQNBytgCIA4QPSAGEDggBxA4QX8MAgsgBRBEIg1FBEBBAEEDQcrYAiAIED0gBhA4IAcQOCAJEDhBfwwCCyARQX9qIgULQQMgBUEDShshEkEAIQoDQCAKQQNHBEBBACEMA0AgDEEERwRAIApBBXQgA2ogDEEDdGogCkEFdCACaiAMQQN0aisDADkDACAMQQFqIQwMAQsLIApBAWohCgwBCwsgEkEDdCANaiEMQQAhCgJAAkACQAJAA0ACQCAAIAMgEBCzAkEAIQUDQCAFIAEoAggiAkgEQCAPIBAgASgCBCAFQRhsahC7BEEASA0CIAEoAgAiAiAFQQR0aisDACAPKwMAoSEWIAVBBHQgAmorAwggDysDCKEhFCAFQQF0IgJBA3QgB2ogFjkDACACQQFyQQN0IAdqIBQ5AwAgBUEDdCANaiAWIBaiIBQgFKKgIhQ5AwAgBUEDdCAJaiAUOQMAIAVBAWohBQwBCwsgDSACQQhBEhCCAyABKAIIIQJEAAAAAAAAMEAgDCsDAEQAAAAAAAAQQKIiFCAURAAAAAAAADBAYxsiF0QAAAAAAAAYQKMhFkQAAAAAAAAAACEUQQAhBQNAIAUgAkgEQCAUIAVBA3QgDWorAwAiFCAXZAR8IBYFIBZEAAAAAAAA8D9EAAAAAAAA8D8gFCAXo6EiFCAUIBSioqGiC6AhFCAFQQFqIQUMAQsLIBQgArejIhQgACsDaGMNBSAKBEAgFCAAKwN4YwRAIBQgFaMgACsDcGQNBwsLIAogACgCYEYNBUEAIQVBACEOA0AgDiACSARAIA5BA3QgCWorAwAiFSAXZQRAIAVBBmwiCEEDdCAGaiICIAAgAyABKAIEIA5BGGxqELkEQQBIDQUgAkQAAAAAAADwPyAVIBejoSIVIBWiIhUgAisDAKI5AwAgCEEBckEDdCAGaiICIBUgAisDAKI5AwAgCEECakEDdCAGaiICIBUgAisDAKI5AwAgCEEDakEDdCAGaiICIBUgAisDAKI5AwAgCEEEakEDdCAGaiICIBUgAisDAKI5AwAgCEEFakEDdCAGaiICIBUgAisDAKI5AwAgCEEGakEDdCAGaiICIBUgAisDAKI5AwAgCEEHakEDdCAGaiICIBUgAisDAKI5AwAgCEEIakEDdCAGaiICIBUgAisDAKI5AwAgCEEJakEDdCAGaiICIBUgAisDAKI5AwAgCEEKakEDdCAGaiICIBUgAisDAKI5AwAgCEELakEDdCAGaiICIBUgAisDAKI5AwAgBUEDdCAHaiAVIA5BAXQiAkEDdCAHaisDAKI5AwAgBUEBakEDdCAHaiAVIAJBAXJBA3QgB2orAwCiOQMAIAVBAmohBSABKAIIIQILIA5BAWohDgwBCwsgBUEGSA0DIAsgByAGIAUQswRBAEgNBCADIAsQsgQgFCEVIApBAWohCgwBCwsgBiAHIAkgDRCPAkF/DAQLIAYgByAJIA0QjwJBfwwDCyAGIAcgCSANEI8CQX8MAgsgBiAHIAkgDRCPAkF/DAELIAQgFDkDACAGEDggBxA4IAkQOCANEDhBAAsLIRMgCyQGIBMLHgAgAEGMoQE2AgAgACgCCBBcRwRAIAAoAggQhwMLCxIAIAQgAjYCACAHIAU2AgBBAwsEAEEECxUAIAEoAgAgASABLAALQQBIGxpBfwv+CAEMfyACIAA2AgAgDUEEaiEYIANBgARxRSEZIA5BAEohGgNAIBdBBEcEQAJAAkACQAJAAkACQCAIIBdqLAAADgUAAQMCBAULIAEgAigCADYCAAwECyABIAIoAgA2AgAgBigCACgCLCEPIAZBICAPQT9xQYoBahECACEQIAIgAigCACIPQQRqNgIAIA8gEDYCAAwDCyANLAALIg9BAEghECAYKAIAIA9B/wFxIBAbBEAgDSgCACANIBAbKAIAIRAgAiACKAIAIg9BBGo2AgAgDyAQNgIACwwCCyAMLAALIg9BAEghECAZIAwoAgQgD0H/AXEgEBsiE0VyRQRAIAwoAgAgDCAQGyIPIBNBAnRqIREgAigCACIQIRIDQCAPIBFHBEAgEiAPKAIANgIAIBJBBGohEiAPQQRqIQ8MAQsLIAIgE0ECdCAQajYCAAsMAQsgAigCACEUIARBBGogBCAHGyIWIQQDQAJAIAQgBU8NACAGKAIAKAIMIQ8gBkGAECAEKAIAIA9BP3FBygFqEQQARQ0AIARBBGohBAwBCwsgGgRAIA4hDwNAIA9BAEoiECAEIBZLcQRAIARBfGoiBCgCACERIAIgAigCACIQQQRqNgIAIBAgETYCACAPQX9qIQ8MAQsLIBAEfyAGKAIAKAIsIRAgBkEwIBBBP3FBigFqEQIABUEACyETIA8hESACKAIAIRADQCAQQQRqIQ8gEUEASgRAIBAgEzYCACARQX9qIREgDyEQDAELCyACIA82AgAgECAJNgIACyAEIBZGBEAgBigCACgCLCEEIAZBMCAEQT9xQYoBahECACEQIAIgAigCACIPQQRqIgQ2AgAgDyAQNgIABSALLAALIg9BAEghECALKAIEIA9B/wFxIBAbBH8gCygCACALIBAbLAAABUF/CyEPQQAhEEEAIRIgBCERA0AgESAWRwRAIAIoAgAhFSAPIBJGBH8gAiAVQQRqIhM2AgAgFSAKNgIAIAssAAsiD0EASCEVIBBBAWoiBCALKAIEIA9B/wFxIBUbSQRAQX8gBCALKAIAIAsgFRtqLAAAIg8gD0H/AEYbIQ8FIBIhDwtBACESIBMFIBAhBCAVCyEQIBFBfGoiESgCACETIAIgEEEEajYCACAQIBM2AgAgBCEQIBJBAWohEgwBCwsgAigCACEECyAEIBRGBH8gFgUDQCAUIARBfGoiBEkEQCAUKAIAIQ8gFCAEKAIANgIAIAQgDzYCACAUQQRqIRQMAQUgFiEEDAMLAAALAAshBAsgF0EBaiEXDAELCyANLAALIgRBAEghByAYKAIAIARB/wFxIAcbIgZBAUsEQCANKAIAIgVBBGogGCAHGyEEIAZBAnQgBSANIAcbaiIHIARrIQYgAigCACIFIQgDQCAEIAdHBEAgCCAEKAIANgIAIAhBBGohCCAEQQRqIQQMAQsLIAIgBkECdkECdCAFajYCAAsCQCADQbABcUEYdEEYdUEQayIDRQ0AIANBEEYEQCABIAIoAgA2AgAMAQsgASAANgIACwvZBQEFfyMGIQojBkEQaiQGIApBDGohCyAKIAAEfyACQfjPAxA6BSACQfDPAxA6CyIAIAEEfyALIAAgACgCACgCLEE/cUGyBWoRAwAgAyALKAIANgAAIAAoAgAoAiAFIAsgACAAKAIAKAIoQT9xQbIFahEDACADIAsoAgA2AAAgACgCACgCHAtBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEBA0AgAUEDRwRAIAFBAnQgCmpBADYCACABQQFqIQEMAQsLIAoQRyAEIAAgACgCACgCDEH/AHFBCGoRAAA2AgAgBSAAIAAoAgAoAhBB/wBxQQhqEQAANgIAIAogACAAKAIAKAIUQT9xQbIFahEDACAGLAALQQBIBEACfyAGKAIAIQ0gC0EAOgAAIA0LIAsQXyAGQQA2AgQgBiwAC0EASARAIAYoAggaIAYoAgAQOCAGQQA2AggLBSALQQA6AAAgBiALEF8gBkEAOgALCyAGIAopAgA3AgAgBiAKKAIINgIIQQAhAQNAIAFBA0cEQCABQQJ0IApqQQA2AgAgAUEBaiEBDAELCyAKEEcgCiAAIAAoAgAoAhhBP3FBsgVqEQMAIAcsAAtBAEgEQAJ/IAcoAgAhDiALQQA2AgAgDgsgCxBuIAdBADYCBCAHLAALQQBIBEAgBygCCBogBygCABA4IAdBADYCCAsFIAtBADYCACAHIAsQbiAHQQA6AAsLIAcgCikCADcCACAHIAooAgg2AghBACEBA0AgAUEDRwRAIAFBAnQgCmpBADYCACABQQFqIQEMAQsLIAoQRyAJIAAgACgCACgCJEH/AHFBCGoRAAA2AgAgCiQGC7YIAQp/IAIgADYCACADQYAEcUUhFyAOQQBKIRgDQCAVQQRHBEACQAJAAkACQAJAAkAgCCAVaiwAAA4FAAEDAgQFCyABIAIoAgA2AgAMBAsgASACKAIANgIAIAYoAgAoAhwhDyAGQSAgD0E/cUGKAWoRAgAhECACIAIoAgAiD0EBajYCACAPIBA6AAAMAwsgDSwACyIPQQBIIRAgDSgCBCAPQf8BcSAQGwRAIA0oAgAgDSAQGywAACEQIAIgAigCACIPQQFqNgIAIA8gEDoAAAsMAgsgDCwACyIPQQBIIRAgFyAMKAIEIA9B/wFxIBAbIg9FckUEQCAPIAwoAgAgDCAQGyIPaiEQIAIoAgAhEQNAIA8gEEcEQCARIA8sAAA6AAAgEUEBaiERIA9BAWohDwwBCwsgAiARNgIACwwBCyACKAIAIRIgBEEBaiAEIAcbIhMhBANAAkAgBCAFTw0AIAQsAAAiD0F/TA0AIAYoAgggD0EBdGouAQBBgBBxRQ0AIARBAWohBAwBCwsgGARAIA4hDwNAIA9BAEoiECAEIBNLcQRAIARBf2oiBCwAACERIAIgAigCACIQQQFqNgIAIBAgEToAACAPQX9qIQ8MAQsLIBAEfyAGKAIAKAIcIRAgBkEwIBBBP3FBigFqEQIABUEACyERA0AgAiACKAIAIhBBAWo2AgAgD0EASgRAIBAgEToAACAPQX9qIQ8MAQsLIBAgCToAAAsgBCATRgRAIAYoAgAoAhwhBCAGQTAgBEE/cUGKAWoRAgAhDyACIAIoAgAiBEEBajYCACAEIA86AAAFAkAgCywACyIPQQBIIRAgCygCBCAPQf8BcSAQGwR/IAsoAgAgCyAQGywAAAVBfwshD0EAIRFBACEUIAQhEANAIBAgE0YNASAPIBRGBEAgAiACKAIAIgRBAWo2AgAgBCAKOgAAIAssAAsiD0EASCEWIBFBAWoiBCALKAIEIA9B/wFxIBYbSQRAQX8gBCALKAIAIAsgFhtqLAAAIg8gD0H/AEYbIQ8FIBQhDwtBACEUBSARIQQLIBBBf2oiECwAACEWIAIgAigCACIRQQFqNgIAIBEgFjoAACAEIREgFEEBaiEUDAAACwALCyACKAIAIgQgEkYEfyATBQNAIBIgBEF/aiIESQRAIBIsAAAhDyASIAQsAAA6AAAgBCAPOgAAIBJBAWohEgwBBSATIQQMAwsAAAsACyEECyAVQQFqIRUMAQsLIA0sAAsiBEEASCEGIA0oAgQgBEH/AXEgBhsiBUEBSwRAIA0oAgAgDSAGGyIEIAVqIQUgAigCACEGA0AgBSAEQQFqIgRHBEAgBiAELAAAOgAAIAZBAWohBgwBCwsgAiAGNgIACwJAIANBsAFxQRh0QRh1QRBrIgNFDQAgA0EQRgRAIAEgAigCADYCAAwBCyABIAA2AgALC9kFAQV/IwYhCiMGQRBqJAYgCkEMaiELIAogAAR/IAJB6M8DEDoFIAJB4M8DEDoLIgAgAQR/IAsgACAAKAIAKAIsQT9xQbIFahEDACADIAsoAgA2AAAgACgCACgCIAUgCyAAIAAoAgAoAihBP3FBsgVqEQMAIAMgCygCADYAACAAKAIAKAIcC0E/cUGyBWoRAwAgCCwAC0EASARAAn8gCCgCACEMIAtBADoAACAMCyALEF8gCEEANgIEIAgsAAtBAEgEQCAIKAIIGiAIKAIAEDggCEEANgIICwUgC0EAOgAAIAggCxBfIAhBADoACwsgCCAKKQIANwIAIAggCigCCDYCCEEAIQEDQCABQQNHBEAgAUECdCAKakEANgIAIAFBAWohAQwBCwsgChBHIAQgACAAKAIAKAIMQf8AcUEIahEAADoAACAFIAAgACgCACgCEEH/AHFBCGoRAAA6AAAgCiAAIAAoAgAoAhRBP3FBsgVqEQMAIAYsAAtBAEgEQAJ/IAYoAgAhDSALQQA6AAAgDQsgCxBfIAZBADYCBCAGLAALQQBIBEAgBigCCBogBigCABA4IAZBADYCCAsFIAtBADoAACAGIAsQXyAGQQA6AAsLIAYgCikCADcCACAGIAooAgg2AghBACECA0AgAkEDRwRAIAJBAnQgCmpBADYCACACQQFqIQIMAQsLIAoQRyAKIAAgACgCACgCGEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACEOIAtBADoAACAOCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQEDQCABQQNHBEAgAUECdCAKakEANgIAIAFBAWohAQwBCwsgChBHIAkgACAAKAIAKAIkQf8AcUEIahEAADYCACAKJAYLtSMBG38jBiEPIwZBgARqJAYgD0H0A2ohGSAPQdgDaiEfIA9B1ANqISAgD0G8A2ohDCAPQbADaiENIA9BpANqIQ4gD0GYA2ohESAPQZQDaiEXIA9BkANqIRwgD0HwA2oiGiAKNgIAIA9B6ANqIhQgDzYCACAUQZEBNgIEIA9B4ANqIhIgDzYCACAPQdwDaiIbIA9BkANqNgIAIA9ByANqIhZCADcCACAWQQA2AghBACEKA0AgCkEDRwRAIApBAnQgFmpBADYCACAKQQFqIQoMAQsLIAxCADcCACAMQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDGpBADYCACAKQQFqIQoMAQsLIA1CADcCACANQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDWpBADYCACAKQQFqIQoMAQsLIA5CADcCACAOQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDmpBADYCACAKQQFqIQoMAQsLIBFCADcCACARQQA2AghBACEKA0AgCkEDRwRAIApBAnQgEWpBADYCACAKQQFqIQoMAQsLIAIgAyAZIB8gICAWIAwgDSAOIBcQqwogCSAIKAIANgIAIARBgARxQQBHISFBACECAn8CQAJAAkACQAJAAkADQAJAIBNBBE8NByAAKAIAIgMEfyADKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEDAkACQCABKAIAIgtFDQAgCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBEAgAUEANgIADAEFIANFDQoLDAELIAMNCEEAIQsLAkACQAJAAkACQAJAAkAgEyAZaiwAAA4FAQADAgQGCyATQQNHBEAgB0GAwAAgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyAHKAIAKAIMQT9xQcoBahEEAEUNByARIAAoAgAiAygCDCIEIAMoAhBGBH8gAyADKAIAKAIoQf8AcUEIahEAAAUgAyAEQQRqNgIMIAQoAgALEI4CDAULDAULIBNBA0cNAwwECyANKAIEIA0sAAsiA0H/AXEgA0EASBsiC0EAIA4oAgQgDiwACyIDQf8BcSADQQBIGyIQa0cEQCAAKAIAIgMoAgwiBCADKAIQRiEKIAtFIgsgEEVyBEAgCgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALIQMgCwRAIA4oAgAgDiAOLAALQQBIGygCACADRw0GIAAoAgAiAygCDCIEIAMoAhBGBEAgAyADKAIAKAIoQf8AcUEIahEAABoFIAMgBEEEajYCDCAEKAIAGgsgBkEBOgAAIA4gAiAOKAIEIA4sAAsiAkH/AXEgAkEASBtBAUsbIQIMBgsgDSgCACANIA0sAAtBAEgbKAIAIANHBEAgBkEBOgAADAYLIAAoAgAiAygCDCIEIAMoAhBGBEAgAyADKAIAKAIoQf8AcUEIahEAABoFIAMgBEEEajYCDCAEKAIAGgsgDSACIA0oAgQgDSwACyICQf8BcSACQQBIG0EBSxshAgwFCwJ/IAoEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyEkIAAoAgAiAygCDCIEIAMoAhBGIQogJCANKAIAIA0gDSwAC0EASBsoAgBGCwRAIAoEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQRqNgIMIAQoAgAaCyANIAIgDSgCBCANLAALIgJB/wFxIAJBAEgbQQFLGyECDAULIAoEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyAOKAIAIA4gDiwAC0EASBsoAgBHDQcgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQRqNgIMIAQoAgAaCyAGQQE6AAAgDiACIA4oAgQgDiwACyICQf8BcSACQQBIG0EBSxshAgsMAwsCQAJAIBNBAkkgAnIEQCAMKAIAIgQgDCAMLAALIgpBAEgbIQMgEw0BBSATQQJGIBksAANBAEdxICFyRQRAQQAhAgwGCyAMKAIAIgQgDCAMLAALIgpBAEgbIQMMAQsMAQsgGSATQX9qai0AAEECSARAAkACQANAIAMgDCgCBCAKQf8BcSAKQRh0QRh1QQBIIhAbQQJ0IAQgDCAQG2pHBEAgB0GAwAAgAygCACAHKAIAKAIMQT9xQcoBahEEAEUNAiADQQRqIQMgDCwACyEKIAwoAgAhBAwBCwsMAQsgDCwACyEKIAwoAgAhBAsgESwACyIYQQBIIRUgAyAEIAwgCkEYdEEYdUEASBsiHSIQa0ECdSIiIBEoAgQiHiAYQf8BcSIYIBUbSwR/IBAFIBEoAgAgHkECdGoiHiAYQQJ0IBFqIhggFRshI0EAICJrQQJ0IB4gGCAVG2ohFQN/IBUgI0YNAyAVKAIAIB0oAgBGBH8gHUEEaiEdIBVBBGohFQwBBSAQCwsLIQMLCwNAAkAgAyAMKAIEIApB/wFxIApBGHRBGHVBAEgiChtBAnQgBCAMIAobakYNACAAKAIAIgQEfyAEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCALRQ0AIAsoAgwiCiALKAIQRgR/IAsgCygCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQRAIAFBADYCAAwBBSAERQ0DCwwBCyAEDQFBACELCyAAKAIAIgQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALIAMoAgBHDQAgACgCACIEKAIMIgogBCgCEEYEQCAEIAQoAgAoAihB/wBxQQhqEQAAGgUgBCAKQQRqNgIMIAooAgAaCyADQQRqIQMgDCwACyEKIAwoAgAhBAwBCwsgIQRAIAwsAAsiCkEASCEEIAwoAgQgCkH/AXEgBBtBAnQgDCgCACAMIAQbaiADRw0HCwwCC0EAIQQgCyEDA0ACQCAAKAIAIgoEfyAKKAIMIhAgCigCEEYEfyAKIAooAgAoAiRB/wBxQQhqEQAABSAQKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEKAkACQCALRQ0AIAsoAgwiECALKAIQRgR/IAsgCygCACgCJEH/AHFBCGoRAAAFIBAoAgALQX8QQQRAIAFBADYCAEEAIQMMAQUgCkUNAwsMAQsgCg0BQQAhCwsgB0GAECAAKAIAIgooAgwiECAKKAIQRgR/IAogCigCACgCJEH/AHFBCGoRAAAFIBAoAgALIhAgBygCACgCDEE/cUHKAWoRBAAEfyAJKAIAIgogGigCAEYEQCAIIAkgGhDNASAJKAIAIQoLIAkgCkEEajYCACAKIBA2AgAgBEEBagUgFigCBCAWLAALIgpB/wFxIApBAEgbQQBHIARBAEdxIBAgICgCAEZxRQ0BIBIoAgAiCiAbKAIARgRAIBQgEiAbEM0BIBIoAgAhCgsgEiAKQQRqNgIAIAogBDYCAEEACyEEIAAoAgAiCigCDCIQIAooAhBGBEAgCiAKKAIAKAIoQf8AcUEIahEAABoFIAogEEEEajYCDCAQKAIAGgsMAQsLIBIoAgAiCiAUKAIARyAEQQBHcQRAIAogGygCAEYEQCAUIBIgGxDNASASKAIAIQoLIBIgCkEEajYCACAKIAQ2AgALIBcoAgBBAEoEQAJAIAAoAgAiBAR/IAQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIANFDQAgAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCigCAAtBfxBBBEAgAUEANgIADAEFIARFDQsLDAELIAQNCUEAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCigCAAsgHygCAEcNCCAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBBGo2AgwgCigCABoLA0AgFygCAEEATA0BIAAoAgAiBAR/IAQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIANFDQAgAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCigCAAtBfxBBBEAgAUEANgIADAEFIARFDQ0LDAELIAQNC0EAIQMLIAdBgBAgACgCACIEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKKAIACyAHKAIAKAIMQT9xQcoBahEEAEUNCiAJKAIAIBooAgBGBEAgCCAJIBoQzQELIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCigCAAshBCAJIAkoAgAiCkEEajYCACAKIAQ2AgAgFyAXKAIAQX9qNgIAIAAoAgAiBCgCDCIKIAQoAhBGBEAgBCAEKAIAKAIoQf8AcUEIahEAABoFIAQgCkEEajYCDCAKKAIAGgsMAAALAAsLIAkoAgAgCCgCAEYNCAwBCwNAIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQMCQAJAIAtFDQAgCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBEAgAUEANgIADAEFIANFDQQLDAELIAMNAkEAIQsLIAdBgMAAIAAoAgAiAygCDCIEIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCgCAAsgBygCACgCDEE/cUHKAWoRBABFDQEgESAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCKEH/AHFBCGoRAAAFIAMgBEEEajYCDCAEKAIACxCOAgwAAAsACyATQQFqIRMMAQsLIAUgBSgCAEEEcjYCAEEADAYLIAUgBSgCAEEEcjYCAEEADAULIAUgBSgCAEEEcjYCAEEADAQLIAUgBSgCAEEEcjYCAEEADAMLIAUgBSgCAEEEcjYCAEEADAILIAUgBSgCAEEEcjYCAEEADAELIAIEQAJAIAIhBkEBIQcDQAJAIAcgAiwACyIDQQBIBH8gBigCBAUgA0H/AXELTw0CIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIAEoAgAiA0UNACADKAIMIgggAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAIKAIAC0F/EEEEQCABQQA2AgAMAQUgBEUNAwsMAQsgBA0BCyAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALIAIsAAtBAEgEfyACKAIABSACCyAHQQJ0aigCAEcNACAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBBGo2AgwgBCgCABoLIAdBAWohBwwBCwsgBSAFKAIAQQRyNgIAQQAMAgsLIBQoAgAiACASKAIAIgFGBH9BAQUgHEEANgIAIBYgACABIBwQeCAcKAIABH8gBSAFKAIAQQRyNgIAQQAFQQELCwshJSAREEcgDhBHIA0QRyAMEEcgFhBHIBQoAgAhACAUQQA2AgAgAARAIAAgFCgCBEH/AXFBrANqEQEACyAPJAYgJQusAQEFfyACKAIAIAAoAgAiAyIGayIFQQF0IgRBASAEG0F/IAVB/////wdJGyEFIAEoAgAhByADQQAgACgCBEGRAUciBBsgBRDoASIDRQRAEAALIAQEQCAAIAM2AgAFIAAoAgAhBCAAIAM2AgAgBARAIAQgACgCBEH/AXFBrANqEQEAIAAoAgAhAwsLIABBkgE2AgQgASAHIAZrIANqNgIAIAIgBSAAKAIAajYCAAucJAEafyMGIRAjBkGABGokBiAQQfADaiEaIBBB7QNqISAgEEHsA2ohISAQQbwDaiENIBBBsANqIQ4gEEGkA2ohDyAQQZgDaiERIBBBlANqIRcgEEGQA2ohHiAQQegDaiIbIAo2AgAgEEHgA2oiFSAQNgIAIBVBkQE2AgQgEEHYA2oiEyAQNgIAIBBB1ANqIhwgEEGQA2o2AgAgEEHIA2oiFkIANwIAIBZBADYCCEEAIQoDQCAKQQNHBEAgCkECdCAWakEANgIAIApBAWohCgwBCwsgDUIANwIAIA1BADYCCEEAIQoDQCAKQQNHBEAgCkECdCANakEANgIAIApBAWohCgwBCwsgDkIANwIAIA5BADYCCEEAIQoDQCAKQQNHBEAgCkECdCAOakEANgIAIApBAWohCgwBCwsgD0IANwIAIA9BADYCCEEAIQoDQCAKQQNHBEAgCkECdCAPakEANgIAIApBAWohCgwBCwsgEUIANwIAIBFBADYCCEEAIQoDQCAKQQNHBEAgCkECdCARakEANgIAIApBAWohCgwBCwsgAiADIBogICAhIBYgDSAOIA8gFxCvCiAJIAgoAgA2AgAgBEGABHFBAEchIkEAIQICfwJAAkACQAJAAkACQANAAkAgFEEETw0HIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAwJAAkAgASgCACIMRQ0AIAwoAgwiBCAMKAIQRgR/IAwgDCgCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBEAgAUEANgIADAEFIANFDQoLDAELIAMNCEEAIQwLAkACQAJAAkACQAJAAkAgFCAaaiwAAA4FAQADAgQGCyAUQQNHBEAgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILIgNB/wFxQRh0QRh1QX9MDQcgBygCCCADQRh0QRh1QQF0ai4BAEGAwABxRQ0HIBEgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAihB/wBxQQhqEQAABSADIARBAWo2AgwgBCwAABBCC0H/AXEQzAEMBQsMBQsgFEEDRw0DDAQLIA4oAgQgDiwACyIDQf8BcSADQQBIGyILQQAgDygCBCAPLAALIgNB/wFxIANBAEgbIgxrRwRAIAAoAgAiAygCDCIEIAMoAhBGIQogC0UiCyAMRXIEQCAKBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCwAABBCC0H/AXEhAyALBEAgDygCACAPIA8sAAtBAEgbLQAAIANHDQYgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIAZBAToAACAPIAIgDygCBCAPLAALIgJB/wFxIAJBAEgbQQFLGyECDAYLIA4oAgAgDiAOLAALQQBIGy0AACADRwRAIAZBAToAAAwGCyAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBAWo2AgwgBCwAABBCGgsgDiACIA4oAgQgDiwACyICQf8BcSACQQBIG0EBSxshAgwFCyAKBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCwAABBCCyELIAAoAgAiAygCDCIEIAMoAhBGIQogDigCACAOIA4sAAtBAEgbLQAAIAtB/wFxRgRAIAoEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIA4gAiAOKAIEIA4sAAsiAkH/AXEgAkEASBtBAUsbIQIMBQsgCgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtB/wFxIA8oAgAgDyAPLAALQQBIGy0AAEcNByAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBAWo2AgwgBCwAABBCGgsgBkEBOgAAIA8gAiAPKAIEIA8sAAsiAkH/AXEgAkEASBtBAUsbIQILDAMLAkACQCAUQQJJIAJyBEAgDSgCACIKIA0gDSwACyIDQQBIIgsbIhghBCAUDQEFIBRBAkYgGiwAA0EAR3EgInJFBEBBACECDAYLIA0oAgAiCiANIA0sAAsiA0EASCILGyIYIQQMAQsMAQsgGiAUQX9qai0AAEECSARAIA0oAgQgA0H/AXEgCxsgGGohEiAEIQsDQAJAIAsgEkYNACALLAAAIh1Bf0wNACAHKAIIIB1BAXRqLgEAQYDAAHFFDQAgC0EBaiELDAELCyARLAALIhlBAEghEiALIARrIh0gESgCBCIfIBlB/wFxIhkgEhtNBEAgHyARKAIAaiIfIBEgGWoiGSASGyEjIB8gHWsgGSAdayASGyESA0AgEiAjRgRAIAshBAwECyASLAAAIBgsAABGBEAgGEEBaiEYIBJBAWohEgwBCwsLCwsDQAJAIAQgCiANIANBGHRBGHVBAEgiChsgDSgCBCADQf8BcSAKG2pGDQAgACgCACIDBH8gAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEDAkACQCAMRQ0AIAwoAgwiCiAMKAIQRgR/IAwgDCgCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIANFDQMLDAELIAMNAUEAIQwLIAAoAgAiAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0H/AXEgBC0AAEcNACAAKAIAIgMoAgwiCiADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIApBAWo2AgwgCiwAABBCGgsgBEEBaiEEIA0sAAshAyANKAIAIQoMAQsLICIEQCAEIA0oAgAgDSANLAALIgNBAEgiChsgDSgCBCADQf8BcSAKG2pHDQcLDAILQQAhBCAMIQMDQAJAIAAoAgAiCgR/IAooAgwiCyAKKAIQRgR/IAogCigCACgCJEH/AHFBCGoRAAAFIAssAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshCgJAAkAgDEUNACAMKAIMIgsgDCgCEEYEfyAMIAwoAgAoAiRB/wBxQQhqEQAABSALLAAAEEILQX8QQQRAIAFBADYCAEEAIQMMAQUgCkUNAwsMAQsgCg0BQQAhDAsCfwJAIAAoAgAiCigCDCILIAooAhBGBH8gCiAKKAIAKAIkQf8AcUEIahEAAAUgCywAABBCCyIKQf8BcSILQRh0QRh1QX9MDQAgBygCCCAKQRh0QRh1QQF0ai4BAEGAEHFFDQAgCSgCACIKIBsoAgBGBEAgCCAJIBsQpwQgCSgCACEKCyAJIApBAWo2AgAgCiALOgAAIARBAWoMAQsgFigCBCAWLAALIgpB/wFxIApBAEgbQQBHIARBAEdxICEtAAAgC0ZxRQ0BIBMoAgAiCiAcKAIARgRAIBUgEyAcEM0BIBMoAgAhCgsgEyAKQQRqNgIAIAogBDYCAEEACyEEIAAoAgAiCigCDCILIAooAhBGBEAgCiAKKAIAKAIoQf8AcUEIahEAABoFIAogC0EBajYCDCALLAAAEEIaCwwBCwsgEygCACIKIBUoAgBHIARBAEdxBEAgCiAcKAIARgRAIBUgEyAcEM0BIBMoAgAhCgsgEyAKQQRqNgIAIAogBDYCAAsgFygCAEEASgRAAkAgACgCACIEBH8gBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCADRQ0AIAMoAgwiCiADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQsLDAELIAQNCUEAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0H/AXEgIC0AAEcNCCAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBAWo2AgwgCiwAABBCGgsDQCAXKAIAQQBMDQEgACgCACIEBH8gBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCADRQ0AIAMoAgwiCiADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQ0LDAELIAQNC0EAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCCyIEQf8BcUEYdEEYdUF/TA0KIAcoAgggBEEYdEEYdUEBdGouAQBBgBBxRQ0KIAkoAgAgGygCAEYEQCAIIAkgGxCnBAsgACgCACIEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKLAAAEEILIQQgCSAJKAIAIgpBAWo2AgAgCiAEOgAAIBcgFygCAEF/ajYCACAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBAWo2AgwgCiwAABBCGgsMAAALAAsLIAkoAgAgCCgCAEYNCAwBCwNAIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAwJAAkAgDEUNACAMKAIMIgQgDCgCEEYEfyAMIAwoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQRAIAFBADYCAAwBBSADRQ0ECwwBCyADDQJBACEMCyAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgsiA0H/AXFBGHRBGHVBf0wNASAHKAIIIANBGHRBGHVBAXRqLgEAQYDAAHFFDQEgESAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCKEH/AHFBCGoRAAAFIAMgBEEBajYCDCAELAAAEEILQf8BcRDMAQwAAAsACyAUQQFqIRQMAQsLIAUgBSgCAEEEcjYCAEEADAYLIAUgBSgCAEEEcjYCAEEADAULIAUgBSgCAEEEcjYCAEEADAQLIAUgBSgCAEEEcjYCAEEADAMLIAUgBSgCAEEEcjYCAEEADAILIAUgBSgCAEEEcjYCAEEADAELIAIEQAJAIAIhBkEBIQcDQAJAIAcgAiwACyIDQQBIBH8gBigCBAUgA0H/AXELTw0CIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshBAJAAkAgASgCACIDRQ0AIAMoAgwiCCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAgsAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQMLDAELIAQNAQsgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQf8BcSACLAALQQBIBH8gAigCAAUgAgsgB2otAABHDQAgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIAdBAWohBwwBCwsgBSAFKAIAQQRyNgIAQQAMAgsLIBUoAgAiACATKAIAIgFGBH9BAQUgHkEANgIAIBYgACABIB4QeCAeKAIABH8gBSAFKAIAQQRyNgIAQQAFQQELCwshJCAREEcgDxBHIA4QRyANEEcgFhBHIBUoAgAhACAVQQA2AgAgAARAIAAgFSgCBEH/AXFBrANqEQEACyAQJAYgJAsZACAAQgA3AgAgAEEANgIIIABBAUEtEJMECxkAIABCADcCACAAQQA2AgggAEEBQS0QlgQLFQAgACgCABBcRwRAIAAoAgAQhwMLC2MBAX8jBiEGIwZBEGokBiAGQSU6AAAgBiAEOgABIAYgBToAAiAGQQA6AAMgBUH/AXEEQCAGIAU6AAEgBiAEOgACCyACIAEgAigCACABayAGIAMgACgCABAfIAFqNgIAIAYkBgsOACAAQQhqEKsEIAAQOAsKACAAQQhqEKsEC2wBAX8jBiEFIwZBEGokBiAFIAIoAgA2AgAgBUEEaiICIAUoAgA2AgAgASACIAMgBEEEEJkBIQEgAygCAEEEcUUEQCAAIAFB0A9qIAFB7A5qIAEgAUHkAEgbIAFBxQBIG0GUcWo2AgALIAUkBgt7AQJ/IwYhBiMGQRBqJAYgAEEIaiIAKAIAKAIEIQcgACAHQf8AcUEIahEAACEAIAYgAygCADYCACAGQQRqIgMgBigCADYCACACIAMgACAAQaACaiAFIARBABCVAiAAayIAQaACSARAIAEgAEEMEDlBDBBPNgIACyAGJAYLewECfyMGIQYjBkEQaiQGIABBCGoiACgCACgCACEHIAAgB0H/AHFBCGoRAAAhACAGIAMoAgA2AgAgBkEEaiIDIAYoAgA2AgAgAiADIAAgAEGoAWogBSAEQQAQlQIgAGsiAEGoAUgEQCABIABBDBA5QQcQTzYCAAsgBiQGC7gCAQZ/IwYhAyMGQYACaiQGIANBwAFqIgIgARDECiADQeAAaiIEIAIQuwpBACEBA0AgAUEDRwRAIAFBBXQgAGohBSABQQV0IABqIQYgAUEFdCAAaiEHQQAhAgNAIAJBBEcEQCABQQV0IANqIAJBA3RqIAUrAwAgAkEDdCAEaisDAKIgBisDCCAEQSBqIAJBA3RqKwMAoqAgBysDECAEQUBrIAJBA3RqKwMAoqA5AwAgAkEBaiECDAELCyABQQV0IANqIgIgAUEFdCAAaisDGCACKwMYoDkDGCABQQFqIQEMAQsLQQAhAQNAIAFBA0cEQEEAIQIDQCACQQRHBEAgAUEFdCAAaiACQQN0aiABQQV0IANqIAJBA3RqKwMAOQMAIAJBAWohAgwBCwsgAUEBaiEBDAELCyADJAYL0AEBBH8jBiEEIwZBMGokBiAEQRhqIgVBBjYCBCAFQQE2AgggBSAANgIAIARBDGoiBiADNgIEIAZBATYCCCAGIAE2AgAgBCADNgIEIARBBjYCCCAEIAI2AgAgBBCgAyIABH8CfyAAIAQQ2QEiAUUEQCAAEElBfwwBCyAAIAYQ2QEiAkUEQCAAEEkgARBJQX8MAQsgARDWAUEASAR/IAAQSSABEEkgAhBJQX8FIAUgASACEK0CGiAAEEkgARBJIAIQSUEACwsFQX8LIQcgBCQGIAcLbAEBfyMGIQUjBkEQaiQGIAUgAigCADYCACAFQQRqIgIgBSgCADYCACABIAIgAyAEQQQQmgEhASADKAIAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASBsgAUHFAEgbQZRxajYCAAsgBSQGC3sBAn8jBiEGIwZBEGokBiAAQQhqIgAoAgAoAgQhByAAIAdB/wBxQQhqEQAAIQAgBiADKAIANgIAIAZBBGoiAyAGKAIANgIAIAIgAyAAIABBoAJqIAUgBEEAEJYCIABrIgBBoAJIBEAgASAAQQwQOUEMEE82AgALIAYkBgt7AQJ/IwYhBiMGQRBqJAYgAEEIaiIAKAIAKAIAIQcgACAHQf8AcUEIahEAACEAIAYgAygCADYCACAGQQRqIgMgBigCADYCACACIAMgACAAQagBaiAFIARBABCWAiAAayIAQagBSARAIAEgAEEMEDlBBxBPNgIACyAGJAYLBABBAguXCAELfyMGIQsjBkEQaiQGIAZBoM4DEDohCiAGQajOAxA6Ig0oAgAoAhQhBiALIA0gBkE/cUGyBWoRAwAgBSADNgIAAkACQCACIgwCfwJAAkAgACwAACICQStrDgMAAQABCyAKIAIgCigCACgCLEE/cUGKAWoRAgAhAiAFIAUoAgAiBkEEajYCACAGIAI2AgAgAEEBagwBCyAACyIGa0EBTA0AIAYsAABBMEcNACAGLAABQdgAayICQQAgAkEgRxsNACAKQTAgCigCACgCLEE/cUGKAWoRAgAhAiAFIAUoAgAiB0EEajYCACAHIAI2AgAgCiAGLAABIAooAgAoAixBP3FBigFqEQIAIQIgBSAFKAIAIgdBBGo2AgAgByACNgIAIAZBAmoiBiECA0AgAiAMSQRAIAIsAAAQXBCDAwRAIAJBAWohAgwCCwsLDAELIAYhAgNAIAIgDE8NAQJ/IAIsAAAhERBcGiARCxCKAQRAIAJBAWohAgwBCwsLIAsoAgQgCywACyIHQf8BcSAHQQBIGwRAIAIgBkcEQAJAIAIhByAGIQgDQCAIIAdBf2oiB08NASAILAAAIQkgCCAHLAAAOgAAIAcgCToAACAIQQFqIQgMAAALAAsLIA0gDSgCACgCEEH/AHFBCGoRAAAhDyAGIQlBACEHQQAhCANAIAkgAkkEQCAHIAsoAgAgCyALLAALQQBIG2osAAAiDkEASiAIIA5GcQRAIAUgBSgCACIIQQRqNgIAIAggDzYCACAHIAcgCygCBCALLAALIghB/wFxIAhBAEgbQX9qSWohB0EAIQgLIAogCSwAACAKKAIAKAIsQT9xQYoBahECACEOIAUgBSgCACIQQQRqNgIAIBAgDjYCACAJQQFqIQkgCEEBaiEIDAELCyAGIABrQQJ0IANqIgkgBSgCACIIRgR/IAohByAJBSAIIQYDfyAJIAZBfGoiBkkEfyAJKAIAIQcgCSAGKAIANgIAIAYgBzYCACAJQQRqIQkMAQUgCiEHIAgLCwshBgUgCiAGIAIgBSgCACAKKAIAKAIwQQ9xQYoCahEJABogBSAFKAIAIAIgBmtBAnRqIgY2AgAgCiEHCwJAAkADQCACIAxJBEAgAiwAACIGQS5GDQIgCiAGIAcoAgAoAixBP3FBigFqEQIAIQkgBSAFKAIAIghBBGoiBjYCACAIIAk2AgAgAkEBaiECDAELCwwBCyANIA0oAgAoAgxB/wBxQQhqEQAAIQcgBSAFKAIAIglBBGoiBjYCACAJIAc2AgAgAkEBaiECCyAKIAIgDCAGIAooAgAoAjBBD3FBigJqEQkAGiAFIAUoAgAgDCACa0ECdGoiAjYCACAEIAIgASAAa0ECdCADaiABIAxGGzYCACALEEcgCyQGC/UBAgV/AXwjBiEEIwZB4AFqJAYgBEHYAWohBSAEQTBqIgYgBEHAAWoiByACIAMQ8wogBCABIAcQ6ApBAEgEf0EAQQNB4awBIAUQPUF/BUEAIQEDfyABQQJGBH9BAAVBACECA0AgAkEGRwRAIAFBMGwgAGogAkEDdGoiBUQAAAAAAAAAADkDAEEAIQNEAAAAAAAAAAAhCQNAIANBA0cEQCAFIAkgAUEYbCAEaiADQQN0aisDACADQTBsIAZqIAJBA3RqKwMAoqAiCTkDACADQQFqIQMMAQsLIAJBAWohAgwBCwsgAUEBaiEBDAELCwshCCAEJAYgCAv6BwELfyMGIQojBkEQaiQGIAZBgM4DEDohCSAGQZDOAxA6Ig0oAgAoAhQhBiAKIA0gBkE/cUGyBWoRAwAgBSADNgIAAkACQCACIgsCfwJAAkAgACwAACICQStrDgMAAQABCyAJIAIgCSgCACgCHEE/cUGKAWoRAgAhAiAFIAUoAgAiBkEBajYCACAGIAI6AAAgAEEBagwBCyAACyIGa0EBTA0AIAYsAABBMEcNACAGLAABQdgAayICQQAgAkEgRxsNACAJQTAgCSgCACgCHEE/cUGKAWoRAgAhAiAFIAUoAgAiB0EBajYCACAHIAI6AAAgCSAGLAABIAkoAgAoAhxBP3FBigFqEQIAIQIgBSAFKAIAIgdBAWo2AgAgByACOgAAIAZBAmoiBiECA0AgAiALSQRAIAIsAAAQXBCDAwRAIAJBAWohAgwCCwsLDAELIAYhAgNAIAIgC08NAQJ/IAIsAAAhERBcGiARCxCKAQRAIAJBAWohAgwBCwsLIAooAgQgCiwACyIHQf8BcSAHQQBIGwR/IAIgBkcEQAJAIAIhByAGIQgDQCAIIAdBf2oiB08NASAILAAAIQwgCCAHLAAAOgAAIAcgDDoAACAIQQFqIQgMAAALAAsLIA0gDSgCACgCEEH/AHFBCGoRAAAhDyAGIQxBACEIQQAhBwNAIAwgAkkEQCAHIAooAgAgCiAKLAALQQBIG2osAAAiDkEASiAIIA5GcQRAIAUgBSgCACIIQQFqNgIAIAggDzoAACAHIAcgCigCBCAKLAALIghB/wFxIAhBAEgbQX9qSWohB0EAIQgLIAkgDCwAACAJKAIAKAIcQT9xQYoBahECACEOIAUgBSgCACIQQQFqNgIAIBAgDjoAACAMQQFqIQwgCEEBaiEIDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAkFA38gByAGQX9qIgZJBH8gBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAEFIAkLCwsFIAkgBiACIAUoAgAgCSgCACgCIEEPcUGKAmoRCQAaIAUgBSgCACACIAZrajYCACAJCyEGAkACQANAIAIgC0kEQCACLAAAIgdBLkYNAiAJIAcgBigCACgCHEE/cUGKAWoRAgAhByAFIAUoAgAiCEEBajYCACAIIAc6AAAgAkEBaiECDAELCwwBCyANIA0oAgAoAgxB/wBxQQhqEQAAIQYgBSAFKAIAIgdBAWo2AgAgByAGOgAAIAJBAWohAgsgCSACIAsgBSgCACAJKAIAKAIgQQ9xQYoCahEJABogBSAFKAIAIAsgAmtqIgI2AgAgBCACIAMgASAAa2ogASALRhs2AgAgChBHIAokBgueAQEFfCABKwNYIAIrAwAiAyABQUBrKwMAoiACKwMIIgQgASsDSKKgIAIrAxAiBSABKwNQoqCgIgZEAAAAAAAAAABhBH9BfwUgASsDOCADIAErAyCiIAQgASsDKKKgIAUgASsDMKKgoCEHIAAgASsDGCADIAErAwCiIAQgASsDCKKgIAUgASsDEKKgoCAGozkDACAAIAcgBqM5AwhBAAsLVgECfyMGIQYjBkEQaiQGIAYgASgCADYCBCAGIAIoAgA2AgAgBkEIaiIBIAYoAgQ2AgAgBkEMaiICIAYoAgA2AgAgASACIAMgBCAFEIkLIQcgBiQGIAcL0wECA38BfiMGIQQjBkEQaiQGIAAgAUYEfyACQQQ2AgBBAAVBpMUDKAIAIQVBpMUDQQA2AgAgACAEIAMQXBD9AiEHQaTFAygCACIARQRAQaTFAyAFNgIACyABIAQoAgBGBH8CfyAAQcQARgRAIAJBBDYCAEH/////ByAHQgBVDQEaBQJAIAdCgICAgHhTBEAgAkEENgIADAELIAenIAdC/////wdXDQIaIAJBBDYCAEH/////BwwCCwtBgICAgHgLBSACQQQ2AgBBAAsLIQYgBCQGIAYLogECAn8BfiMGIQQjBkEQaiQGIAAgAUYEQCACQQQ2AgAFQaTFAygCACEFQaTFA0EANgIAIAAgBCADEFwQ/QIhBkGkxQMoAgAiAEUEQEGkxQMgBTYCAAsgASAEKAIARgR+IABBxABGBH4gAkEENgIAQv///////////wBCgICAgICAgICAfyAGQgBVGwUgBgsFIAJBBDYCAEIACyEGCyAEJAYgBgvWAQIEfwF+IwYhBCMGQRBqJAYgACABRgR/IAJBBDYCAEEABQJ/IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEEADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQhBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfwJ/IABBxABGIAhC//8DVnIEQCACQQQ2AgBBfwwBCyAIp0H//wNxIQBBACAIp2tB//8DcSAAIAUbCwUgAkEENgIAQQALCwshByAEJAYgBwvHAQIEfwF+IwYhBCMGQRBqJAYgACABRgR/IAJBBDYCAEEABQJ/IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEEADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQhBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfyAAQcQARiAIQv////8PVnIEfyACQQQ2AgBBfwVBACAIpyIAayAAIAUbCwUgAkEENgIAQQALCwshByAEJAYgBwu6AQIDfwJ+IwYhBCMGQRBqJAYgACABRgR+IAJBBDYCAEIABQJ+IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEIADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQdBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfiAAQcQARgR+IAJBBDYCAEJ/BUIAIAd9IAcgBRsLBSACQQQ2AgBCAAsLCyEIIAQkBiAIC4oBAgJ/AX0jBiEDIwZBEGokBiAAIAFGBEAgAkEENgIABUGkxQMoAgAhBEGkxQNBADYCABBcGiAAIANBABCgArYhBUGkxQMoAgAiAEUEQEGkxQMgBDYCAAsCQAJAIAEgAygCAEYEQCAAQcQARg0BBUMAAAAAIQUMAQsMAQsgAkEENgIACwsgAyQGIAULjQECAn8BfCMGIQMjBkEQaiQGIAAgAUYEQCACQQQ2AgAFQaTFAygCACEEQaTFA0EANgIAEFwaIAAgA0EBEKACIQVBpMUDKAIAIgBFBEBBpMUDIAQ2AgALAkACQCABIAMoAgBGBEAgAEHEAEYNAQVEAAAAAAAAAAAhBQwBCwwBCyACQQQ2AgALCyADJAYgBQuNAQICfwF8IwYhAyMGQRBqJAYgACABRgRAIAJBBDYCAAVBpMUDKAIAIQRBpMUDQQA2AgAQXBogACADQQIQoAIhBUGkxQMoAgAiAEUEQEGkxQMgBDYCAAsCQAJAIAEgAygCAEYEQCAAQcQARg0BBUQAAAAAAAAAACEFDAELDAELIAJBBDYCAAsLIAMkBiAFCzkBAn8jBiEDIwZBEGokBiADIAI2AgAgARBiIQEgAEGDkwMgAxCVAyEEIAEEQCABEGIaCyADJAYgBAtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnAshByAGJAYgBwulAQEEfyMGIQUjBkEQaiQGIAIgAWtBAnUiBEHv////A0sEQBAACyAEQQJJBEAgACAEOgALIAAhAwUgBEEEakF8cSIGQf////8DSwRAEAAFIAAgBkECdBBRIgM2AgAgACAGQYCAgIB4cjYCCCAAIAQ2AgQLCwNAIAEgAkcEQCADIAEQbiABQQRqIQEgA0EEaiEDDAELCyAFQQA2AgAgAyAFEG4gBSQGC6sDAgp/AX4jBiEFIwZBIGokBiAFQRBqIQMgBUEIaiEEIAVBBGohCSAALAA0BEAgACgCMCELIAEEQCAAQX82AjAgAEEAOgA0CyALIQAFIAAoAiwiAkEBIAJBAUobIQICQAJAA0AgBiACTw0BIAAoAiAQ8wEiB0F/RwRAIAMgBmogBzoAACAGQQFqIQYMAQsLQX8hAAwBCwJAAkAgACwANQRAIAQgAywAADoAAAwBBQJAIARBAWohBgJAAkACQANAAkAgACgCKCIHKQIAIQwgACgCJCIIKAIAKAIQIQoCQCAIIAcgAyACIANqIgcgCSAEIAYgBSAKQQ9xQY4DahEOAEEBaw4DAAQDAQsgACgCKCAMNwIAIAJBCEYNAyAAKAIgEPMBIghBf0YNAyAHIAg6AAAgAkEBaiECDAELCwwCCyAEIAMsAAA6AAAMAQtBfyEADAELDAILCwwBCyABBEAgACAELAAAEEI2AjAFAkADQCACQQBMDQEgAyACQX9qIgJqLAAAEEIgACgCIBDvAUF/Rw0AC0F/IQAMAgsLIAQsAAAQQiEACwsLIAUkBiAAC6UDAgp/AX4jBiEFIwZBIGokBiAFQRBqIQMgBUEIaiEEIAVBBGohCSAALAA0BEAgACgCMCELIAEEQCAAQX82AjAgAEEAOgA0CyALIQAFIAAoAiwiAkEBIAJBAUobIQICQAJAA0AgBiACTw0BIAAoAiAQ8wEiB0F/RwRAIAMgBmogBzoAACAGQQFqIQYMAQsLQX8hAAwBCwJAAkAgACwANQRAIAQgAywAADYCAAwBBQJAIARBBGohBgJAAkACQANAAkAgACgCKCIHKQIAIQwgACgCJCIIKAIAKAIQIQoCQCAIIAcgAyACIANqIgcgCSAEIAYgBSAKQQ9xQY4DahEOAEEBaw4DAAQDAQsgACgCKCAMNwIAIAJBCEYNAyAAKAIgEPMBIghBf0YNAyAHIAg6AAAgAkEBaiECDAELCwwCCyAEIAMsAAA2AgAMAQtBfyEADAELDAILCwwBCyABBEAgACAEKAIANgIwBQJAA0AgAkEATA0BIAMgAkF/aiICaiwAACAAKAIgEO8BQX9HDQALQX8hAAwCCwsgBCgCACEACwsLIAUkBiAAC5oBAQV/IwYhASMGQRBqJAYgAUEIaiICQQhqIQUCQAJAA0AgACgCJCIDKAIAKAIUIQQgAyAAKAIoIAIgBSABIARBH3FBogJqEQgAIQMCQCABKAIAIAJrIgQgAkEBIAQgACgCIBCTAUcNAAJAIANBAWsOAgABAwsMAQsLQX8hAAwBCyAAKAIgEKkCQQBHQR90QR91IQALIAEkBiAACxMAIAAgACgCAEF0aigCAGoQ6gILEwAgACAAKAIAQXRqKAIAahCZAgsTACAAIAAoAgBBdGooAgBqEOsCCxMAIAAgACgCAEF0aigCAGoQmgILKwEBfwNAIAJBCEcEQCABIAJqIABBByACa2osAAA6AAAgAkEBaiECDAELCwsSACAAQdyMATYCACAAQQRqEDwLBABBfwsQACAAQgA3AwAgAEJ/NwMICxAAIABCADcDACAAQn83AwgLBAAgAAsrAQF/A0AgAkEERwRAIAEgAmogAEEDIAJraiwAADoAACACQQFqIQIMAQsLCxIAIABBnIwBNgIAIABBBGoQPAtTAQN/IAIoAgAhBCABIABrQQJ1IQEDQCABBEAgAUEBdiICQQJ0IABqIgUoAgAgBEkhAyAFQQRqIAAgAxshACABQX9qIAJrIAIgAxshAQwBCwsgAAvOAQEDfyMGIQIjBkHAAWokBiAAIAIQ1QQgAEEEaiACQQRqENUEA0AgAUEDRwRAQQAhAwNAIANBBEcEQCAAQQhqIAFBBXRqIANBA3RqIAJBCGogAUEFdGogA0EDdGoQzwQgA0EBaiEDDAELCyABQQFqIQEMAQsLQQAhAQNAIAEgACgCsAEiA0EDdEGYFWooAgBIBEAgAEHoAGogAUEDdGogAkHoAGogAUEDdGoQzwQgAUEBaiEBDAELCyACIAM2ArABIAAgAkG4ARBMGiACJAYLJwEBfyMGIQEjBkEQaiQGIAEgADYCAEHY+QBBBSABKAIAEAggASQGCycBAX8jBiEBIwZBEGokBiABIAA2AgBB4PkAQQQgASgCABAIIAEkBgsnAQF/IwYhASMGQRBqJAYgASAANgIAQej5AEEDIAEoAgAQCCABJAYLJwEBfyMGIQEjBkEQaiQGIAEgADYCAEHw+QBBAiABKAIAEAggASQGCycBAX8jBiEBIwZBEGokBiABIAA2AgBB+PkAQQEgASgCABAIIAEkBgsnAQF/IwYhASMGQRBqJAYgASAANgIAQYD6AEEAIAEoAgAQCCABJAYLmAsBFXwCfwJAAkACQAJAAkACQCAFQQFrDgQDAgEABAsgACsDACEJIAArAwghCiAAQUBrKwMAIQ0gACsDECIORAAAAAAAAABAoiEPIAArAxgiEEQAAAAAAAAYQKIhEyAQRAAAAAAAAABAoiEUIA5EAAAAAAAAGECiIRUgASAAKwMwIhahIAArAyAiF6MiCyEBIAIgACsDOCIYoSAAKwMoIhmjIgwhAiALIAuiIQYgDCAMoiEHQQEhAANAAkAgBkQAAAAAAAAAAGIgB0QAAAAAAAAAAGJyRQRARAAAAAAAAAAAIQFEAAAAAAAAAAAhAgwBCyAJIAcgBqAiCKJEAAAAAAAA8D+gIAggCiAIoqKgIREgByAGRAAAAAAAAAhAoiIaoiESIAIgDiAHRAAAAAAAAABAoiAIoKIgAiARoqAgAiAUIAEgECAIIAZEAAAAAAAAAECioKIgAiAPIAGioiABIBGioKAgC6EgEyABoiAPIAKiIAkgByAaoKJEAAAAAAAA8D+gIAogByAHoiAGIAZEAAAAAAAAFECioiASoKCioKCgo6EiAaIiCKKgIAyhIBUgAqIgCSAGIAdEAAAAAAAACECioKJEAAAAAAAA8D+gIAogByAHRAAAAAAAABRAoqIgBiAGoiASoKCioKAgCKCjoSECIABBBEcEQCABIAGiIQYgAiACoiEHIABBAWohAAwCCwsLIAMgFiAXIAGiIA2joDkDACAYIBkgAqIgDaOgIQEMBAsgACsDIEQAAAAAhNeXQaMiCEQAAAAAAAAIQKIhCSAAKwMoRAAAAACE15dBo0QAAAAAAGr4QKMiCkQAAAAAAAAUQKIhC0EBIQUgASAAKwMAIgyhIAArAxijIgEgAaIgAiAAKwMIoSICIAKioCIHnyINIQYDQAJAIAZEAAAAAAAAAABhBEBEAAAAAAAAAAAhAkQAAAAAAAAAACEBDAELIAEgBiAGRAAAAAAAAPA/IAggB6KhIAcgCiAHoqKhoiANoUQAAAAAAADwPyAJIAeioSAHIAsgB6KioaOhIgeiIAajIQEgAiAHoiAGoyECIAVBA0cEQCABIAGiIAIgAqKgIgYhByAFQQFqIQUgBp8hBgwCCwsLIAMgDCABIAArAxCjoDkDACACIAArAxCjIAArAwigIQEMAwsgACsDGEQAAAAAhNeXQaMiCEQAAAAAAAAIQKIhCSAAKwMgRAAAAACE15dBo0QAAAAAAGr4QKMiCkQAAAAAAAAUQKIhC0EBIQUgASAAKwMAIgyhIgcgB6IgAiAAKwMIoSICIAKioCIBnyINIQYDQAJAIAZEAAAAAAAAAABhBEBEAAAAAAAAAAAhAkQAAAAAAAAAACEBDAELIAcgBiAGRAAAAAAAAPA/IAggAaKhIAEgCiABoqKhoiANoUQAAAAAAADwPyAJIAGioSABIAsgAaKioaOhIgeiIAajIQEgAiAHoiAGoyECIAVBA0cEQCAFQQFqIQUgASIHIAGiIAIgAqKgIgGfIQYMAgsLCyADIAwgASAAKwMQo6A5AwAgAiAAKwMQoyAAKwMIoCEBDAILIAArAxhEAAAAAITXl0GjIghEAAAAAAAACECiIQlBASEFIAEgACsDACIKoSIHIAeiIAIgACsDCKEiAiACoqAiAZ8iCyEGA0ACQCAGRAAAAAAAAAAAYQRARAAAAAAAAAAAIQJEAAAAAAAAAAAhAQwBCyAHIAYgBkQAAAAAAADwPyAIIAGioaIgC6FEAAAAAAAA8D8gCSABoqGjoSIHoiAGoyEBIAIgB6IgBqMhAiAFQQNHBEAgBUEBaiEFIAEiByABoiACIAKioCIBnyEGDAILCwsgAyAKIAEgACsDEKOgOQMAIAIgACsDEKMgACsDCKAhAQwBC0F/DAELIAQgATkDAEEACxoL5QEAQbj4AEH1ggMQLUHA+ABB+oIDQQFBAUEAEC8Q5AsQ4wsQ4gsQ4QsQ4AsQ3wsQ3gsQ3QsQ3AsQ2wsQ2gtByPIAQeSDAxAVQeD6AEHwgwMQFUHI+gBBBEGRhAMQEkGw+gBBAkGehAMQEkGY+gBBBEGthAMQEkGQ+gBBvIQDEC4Q2QtB6oQDEN4EQY+FAxDdBEG2hQMQ3ARB1YUDENsEQf2FAxDaBEGahgMQ2QQQ1wsQ1gtBhYcDEN4EQaWHAxDdBEHGhwMQ3ARB54cDENsEQYmIAxDaBEGqiAMQ2QQQ1QsQ1AsQ0wsLWgEDfyAAKAIEIQUgAgRAIAVBCHUhBCAFQQFxBEAgBCACKAIAaigCACEECwsgACgCACIAKAIAKAIcIQYgACABIAIgBGogA0ECIAVBAnEbIAZBH3FB+gVqEQcACwsAIAAQ4wQgABA4CxMAIABBoIsBNgIAIABBBGoQ7gsLxwIBBH8jBiEDIwZBQGskBiAAIAAoAgAiBEF4aigCAGohBSAEQXxqKAIAIQQgAyACNgIAIAMgADYCBCADIAE2AgggA0EANgIMIANCADcCECADQgA3AhggA0IANwIgIANCADcCKCADQQA2AjAgA0EAOwE0IANBADoANiAEIAJBABCBAQR/IANBATYCMCAEIAMgBSAFQQFBACAEKAIAKAIUQQdxQdoGahEMACAFQQAgAygCGEEBRhsFAn8gBCADIAVBAUEAIAQoAgAoAhhBP3FBmgZqEQUAAkACQAJAIAMoAiQOAgACAQsgAygCFEEAIAMoAihBAUYgAygCHEEBRnEgAygCIEEBRnEbDAILQQAMAQsgAygCGEEBRwRAQQAgAygCKEUgAygCHEEBRnEgAygCIEEBRnFFDQEaCyADKAIQCwshBiADJAYgBgunDAIHfwh9IAG8IgVB/////wdxIgJFIAC8IgZBgICA/ANGcgRAQwAAgD8PCyAGQf////8HcSIDQYCAgPwHSyACQYCAgPwHS3IEQCAAIAGSDwsgBkEASCIIBH8gAkH////bBEsEf0ECBSACQf////sDSwR/QQIgAkGWASACQRd2ayIEdiIHQQFxa0EAIAcgBHQgAkYbBUEACwsFQQALIQQCQCAFQf////8HcSIHQYCAgPwHSARAIAdBgICA/ANrDQEgAEMAAIA/IACVIAVBf0obDwUgB0GAgID8B2sNASADQYCAgPwDRgRAQwAAgD8PCyAFQX9KIQIgA0GAgID8A0sEQCABQwAAAAAgAhsPBUMAAAAAIAGMIAIbDwsACwALIAVBgICAgARGBEAgACAAlA8LIAVBgICA+ANGIAZBf0pxBEAgAJEPCyAAiyEJAkACQAJAIANFIANBgICAgARyQYCAgPwHRnIEQEMAAIA/IAmVIAkgBUEASBshACAIRQRAIAAPCyAEIANBgICAhHxqcgRAIACMIAAgBEEBRhsPCwwBCyAIBEACQAJAAkAgBA4CBAABC0MAAIC/IQsMAQtDAACAPyELCwVDAACAPyELCyACQYCAgOgESwRAAkAgA0H4///7A0kEQCALQ8rySXGUQ8rySXGUIAtDYEKiDZRDYEKiDZQgBUEASBsPCyADQYeAgPwDTQRAIAlDAACAv5IiAEMAqrg/lCIKIABDcKXsNpQgACAAlEMAAAA/IABDq6qqPiAAQwAAgD6Uk5STlEM7qrg/lJMiAJK8QYBgcb4iDCEJIAwgCpMhCgwBCyALQ8rySXGUQ8rySXGUIAtDYEKiDZRDYEKiDZQgBUEAShsPCwUgCUMAAIBLlLwgAyADQYCAgARJIgMbIgRBF3VB6X5BgX8gAxtqIQIgBEH///8DcSIEQYCAgPwDciEDIARB8ojzAEkEQEEAIQQFIARB1+f2AkkiBiEEIAIgBkEBc0EBcWohAiADIANBgICAfGogBhshAwsgBEECdEHAigFqKgIAIg4gA74iCiAEQQJ0QbCKAWoqAgAiDJMiDUMAAIA/IAwgCpKVIg+UIgm8QYBgcb4iACAAIACUIhBDAABAQJIgCSAAkiAPIA0gA0EBdUGA4P//fXFBgICAgAJyQYCAgAJqIARBFXRqviINIACUkyAKIA0gDJOTIACUk5QiCpQgCSAJlCIAIACUIAAgACAAIAAgAENC8VM+lENVMmw+kpRDBaOLPpKUQ6uqqj6SlEO3bds+kpRDmpkZP5KUkiIMkrxBgGBxviIAlCINIAogAJQgCSAMIABDAABAwJIgEJOTlJIiCZK8QYBgcb4iAEMAQHY/lCIKIARBAnRBuIoBaioCACAJIAAgDZOTQ084dj+UIABDxiP2OJSTkiIAkpIgArIiDJK8QYBgcb4iDSEJIA0gDJMgDpMgCpMhCgsgACAKkyABlCABIAVBgGBxviIAkyAJlJIhASAJIACUIgAgAZIiCbwiA0GAgICYBEoNAQJAAkAgA0GAgICYBEYEQCABQzyqODOSIAkgAJNeBEAMBQVBgICAmAQhAgwCCwAFAkAgA0H/////B3EiAkGAgNiYBEsNBiABIAkgAJNfRSADQYCA2Jh8R3IEQCACQYCAgPgDSwRADAQFQQAhAgwCCwALDAYLCwwBCyADQYCAgAQgAkEXdkGCf2p2aiICQRd2Qf8BcSEFIAAgAkGAgIB8IAVBgX9qdXG+kyIJIQBBACACQf///wNxQYCAgARyQZYBIAVrdiICayACIANBAEgbIQIgASAJkrwhAwsgC0MAAIA/IANBgIB+cb4iCUMAcjE/lCIKIAlDjL6/NZQgASAJIACTk0MYcjE/lJIiCZIiACAAIAAgAJQiASABIAEgASABQ0y7MTOUQw7q3bWSlENVs4o4kpRDYQs2u5KUQ6uqKj6SlJMiAZQgAUMAAADAkpUgCSAAIAqTkyIBIAAgAZSSkyAAk5MiALwgAkEXdGoiA0GAgIAESAR9IAAgAhD1BAUgA74LlA8LIAAgAJMiACAAlQ8LIAtDyvJJcZRDyvJJcZQPCyALQ2BCog2UQ2BCog2UC8ABAQJ/IwYhASMGQRBqJAYgAL1CIIinQf////8HcSICQfzDpP8DSQRAIAJBgIDA8gNPBEAgAEQAAAAAAAAAAEEAENQBIQALBQJ8IAAgAKEgAkH//7//B0sNABoCQAJAAkACQCAAIAEQ/AJBA3EOAwABAgMLIAErAwAgASsDCEEBENQBDAMLIAErAwAgASsDCBDTAQwCCyABKwMAIAErAwhBARDUAZoMAQsgASsDACABKwMIENMBmgshAAsgASQGIAALyAECAn8BfCMGIQEjBkEQaiQGIAC9QiCIp0H/////B3EiAkH8w6T/A0kEfCACQZ7BmvIDSQR8RAAAAAAAAPA/BSAARAAAAAAAAAAAENMBCwUCfCAAIAChIAJB//+//wdLDQAaAkACQAJAAkAgACABEPwCQQNxDgMAAQIDCyABKwMAIAErAwgQ0wEMAwsgASsDACABKwMIQQEQ1AGaDAILIAErAwAgASsDCBDTAZoMAQsgASsDACABKwMIQQEQ1AELCyEDIAEkBiADC9kCAQZ/IwYhCCMGQZACaiQGIAhBgAJqIgcgASgCACIENgIAIANBgAIgAEEARyIJGyEFIAAgCCAJGyEAIAVBAEcgBEEAR3EEQAJAQQAhAwNAAkAgAiAFTyIGIAJBIEtyRQ0CIAIgBSACIAYbIgRrIQIgACAHIAQQ8wQiBEF/Rg0AIAVBACAEIAAgCEYiBhtrIQUgACAAIARqIAYbIQAgAyAEaiEDIAcoAgAiBEEARyAFQQBHcQ0BDAILC0F/IQNBACEFIAcoAgAhBAsFQQAhAwsgBARAIAVBAEcgAkEAR3EEQAJAA0AgACAEKAIAEJ4BIgZBAWpBAk8EQCAHIAcoAgBBBGoiBDYCACAAIAZqIQAgAyAGaiEDIAUgBmsiBUEARyACQX9qIgJBAEdxDQEMAgsLIAYEQEF/IQMFIAdBADYCAAsLCwsgCQRAIAEgBygCADYCAAsgCCQGIAMLaQECfyAAIAFrQQJ1IAJJBEADQCACQX9qIgJBAnQgAGogAkECdCABaigCADYCACACDQALBSACBEADQCABQQRqIQMgAEEEaiEEIAAgASgCADYCACACQX9qIgIEQCADIQEgBCEADAELCwsLC4gBAQV/IAAoAgQiBSABKAIIRgR/IAAoAggiBiABKAIERgR/IAAoAgAhAAN/IAIgBUgEfyABKAIAIAJBAnRqIQNBACEEA0AgBCAGSARAIAAgAygCADYCACAFQQJ0IANqIQMgBEEBaiEEIABBBGohAAwBCwsgAkEBaiECDAEFQQALCwVBfwsFQX8LCyoBAX8gAgRAA0AgAEEEaiEDIAAgATYCACACQX9qIgIEQCADIQAMAQsLCwtkAQJ/IAAQYCAAaiEAIAIEQAJAIAIhAyABIQIgACEBA38gAiwAACIERQ0BIAJBAWohAiABQQFqIQAgASAEOgAAIANBf2oiAwR/IAAhAQwBBSAACwshAQsFIAAhAQsgAUEAOgAAC9UBAQR/QfGpASECIwYhAyMGQSBqJAYCQAJAQfGpASwAACIBRQ0AQfKpASwAAEUNACADQQBBIBBFGkHxqQEsAAAiAQRAA0AgAUH/AXEiAUEFdkECdCADaiIEIAQoAgBBASABQR9xdHI2AgAgAkEBaiICLAAAIgENAAsLIAAsAAAiAQRAAkAgACECA0AgAUH/AXEiAUEFdkECdCADaigCAEEBIAFBH3F0cQ0BIAJBAWoiAiwAACIBDQALCwUgACECCwwBCyAAIAEQqgIhAgsgAyQGIAIgAGsLlAEBA38DQCAAQQFqIQEgACwAABCyAQRAIAEhAAwBCwsCfwJAAkACQAJAIAAsAAAiA0Eraw4DAQIAAgtBASEADAILQQAhAAwBCyADDAELIAAhAiABIgAsAAALEIoBBEBBACEBA0AgAUEKbEEwaiAALAAAayEBIABBAWoiACwAABCKAQ0ACwVBACEBCyABQQAgAWsgAhsLZAIBfwF+IAAoAighASAAQgAgACgCAEGAAXEEf0ECQQEgACgCFCAAKAIcSxsFQQELIAFBA3FBpgNqERQAIgJCAFkEQCAAKAIUIAAoAhxrrCACIAAoAgggACgCBGusfXwhAgsgAguBAwEHfyMGIQUjBkGQCGokBiAFQYAIaiIIIAEoAgAiBjYCACADQYACIABBAEciCRshByAAIAUiCiAJGyEDIAdBAEcgBiIFQQBHcQRAAkBBACEAA0ACQCACQQJ2IgYgB08iCyACQYMBS3JFDQIgAiAHIAYgCxsiBWshAiADIAggBSAEEP4CIgVBf0YNACAHQQAgBSADIApGIgYbayEHIAMgBUECdCADaiAGGyEDIAAgBWohACAIKAIAIgVBAEcgB0EAR3ENAQwCCwtBfyEAQQAhByAIKAIAIQULBUEAIQALIAUEQCAHQQBHIAJBAEdxBEACQANAIAMgBSACIAQQ1wEiBkECakEDTwRAIAggBiAIKAIAaiIFNgIAIANBBGohAyAAQQFqIQAgB0F/aiIHQQBHIAIgBmsiAkEAR3ENAQwCCwsCQAJAAkAgBkF/aw4CAAECCyAGIQAMAgsgCEEANgIADAELIARBADYCAAsLCyAJBEAgASAIKAIANgIACyAKJAYgAAuIAQEFfyAAKAIEIgUgASgCCEYEfyAAKAIIIgYgASgCBEYEfyAAKAIAIQADfyACIAVIBH8gASgCACACQQN0aiEDQQAhBANAIAQgBkgEQCAAIAMrAwA5AwAgBUEDdCADaiEDIARBAWohBCAAQQhqIQAMAQsLIAJBAWohAgwBBUEACwsFQX8LBUF/Cwt7AQF/AkAgACgCTEEATgRAAkAgACwAS0EKRg0AIAAoAhQiASAAKAIQTw0AIAAgAUEBajYCFCABQQo6AAAMAgsgABCZAwwBCyAALABLQQpHBEAgACgCFCIBIAAoAhBJBEAgACABQQFqNgIUIAFBCjoAAAwCCwsgABCZAwsLxQMBBH8jBiEGIwZBEGokBgJAIAAEQCACQQNLBEACQCACIQMgASgCACEEA0ACQCAEKAIAIgVBf2pB/gBLBH8gBUUNASAAIAUQngEiBUF/RgRAQX8hAgwHCyADIAVrIQMgACAFagUgACAFOgAAIANBf2ohAyABKAIAIQQgAEEBagshACABIARBBGoiBDYCACADQQNLDQEgAyEEDAILCyAAQQA6AAAgAUEANgIAIAIgA2shAgwDCwUgAiEECyAEBEAgACEDIAEoAgAhAAJAA0ACQCAAKAIAIgVBf2pB/gBLBH8gBUUNASAGIAUQngEiBUF/RgRAQX8hAgwHCyAEIAVJDQMgAyAAKAIAEJ4BGiADIAVqIQMgBCAFawUgAyAFOgAAIANBAWohAyABKAIAIQAgBEF/agshBCABIABBBGoiADYCACAEDQEMBQsLIANBADoAACABQQA2AgAgAiAEayECDAMLIAIgBGshAgsFIAEoAgAiACgCACIBBEBBACECA0AgAUH/AEsEQCAGIAEQngEiAUF/RgRAQX8hAgwFCwVBASEBCyABIAJqIQIgAEEEaiIAKAIAIgENAAsFQQAhAgsLCyAGJAYgAgtaAQN/IwYhAyMGQRBqJAYgAyACKAIANgIAQQBBACABIAMQqQEiBEEASAR/QX8FIAAgBEEBaiIEEEQiADYCACAABH8gACAEIAEgAhCpAQVBfwsLIQUgAyQGIAULmwEBAn8gAUH/AEoEQCAAQwAAAH+UIgBDAAAAf5QgACABQf4BSiICGyEAIAFBgn5qIgNB/wAgA0H/AEgbIAFBgX9qIAIbIQEFIAFBgn9IBEAgAEMAAIAAlCIAQwAAgACUIAAgAUGEfkgiAhshACABQfwBaiIDQYJ/IANBgn9KGyABQf4AaiACGyEBCwsgACABQRd0QYCAgPwDar6UC4MGAgp/An0jBiEJIwZB0A9qJAYgAUH0A0oEQEEAIQAFAkACQAJAAkAgAQ4CAAECC0EAIQAMAgsgAEMAAIA/IAAqAgCVOAIADAELA0AgBSABSARAIAVBAnQgCWogBTYCACAFQQFqIQUMAQsLIAFBf2pBAnQgAGoiDCEKA0AgBiABSARAQwAAAAAhDSACIAZsQQJ0IABqIgUhB0F/IQQgBiEDA0AgASADRwRAIA0gByoCAIsiDl0hCCAOIA0gCBshDSACQQJ0IAdqIQcgAyAEIAgbIQQgA0EBaiEDDAELCyAEQX9GIA1D/+bbLl9yBEBBACEADAMFIARBAnQgCWoiAygCACEHIAMgBkECdCAJaiIDKAIANgIAIAMgBzYCAEEAIQcgBSEDIAIgBGxBAnQgAGohBANAIAEgB0cEQCAEKAIAIQggBCADKAIANgIAIAMgCDYCACAHQQFqIQcgA0EEaiEDIARBBGohBAwBCwsgBSoCACENQQEhBCAFIQMDQCABIARHBEAgAyADQQRqIgMqAgAgDZU4AgAgBEEBaiEEDAELCyAKQwAAgD8gDZU4AgBBACEIIAwhBANAIAEgCEcEQCAGIAhHBEAgAiAIbEECdCAAaiIDKgIAIQ0gBSEHQQEhCwNAIAEgC0cEQCADIANBBGoiAyoCACANIAcqAgCUkzgCACAHQQRqIQcgC0EBaiELDAELCyAEIA0gCioCAJSMOAIACyAIQQFqIQggAkECdCAEaiEEDAELCyAGQQFqIQYgAkECdCAKaiEKDAILAAsLQQAhBQNAIAUgAUgEQCAFIQMDQAJAIANBAnQgCWohBiADIAFODQAgBSAGKAIARg0AIANBAWohAwwBCwsgBiAFQQJ0IAlqKAIANgIAQQAhBCAFQQJ0IABqIQYgA0ECdCAAaiEDA0AgBCABSARAIAMoAgAhByADIAYoAgA2AgAgBiAHNgIAIARBAWohBCACQQJ0IAZqIQYgAkECdCADaiEDDAELCyAFQQFqIQUMAQsLCwsgCSQGIAAL/QEBBX9B8akBIQEjBiEDIwZBIGokBiADQgA3AwAgA0IANwMIIANCADcDECADQgA3AxhB8akBLAAAIgIEfwJ/QfKpASwAAEUEQCAAIQEDQCABQQFqIQQgAiABLAAARgRAIAQhAQwBCwsgASAAawwBCwNAIAJB/wFxIgJBBXZBAnQgA2oiBCAEKAIAQQEgAkEfcXRyNgIAIAFBAWoiASwAACICDQALIAAsAAAiAgRAAkAgACEBA0AgAkH/AXEiBEEFdkECdCADaigCAEEBIARBH3F0cUUNASABQQFqIgEsAAAiAg0ACwsFIAAhAQsgASAAawsFQQALIQUgAyQGIAULkwYCCn8CfCMGIQkjBkHQD2okBiABQfQDSgRAQQAhAAUCQAJAAkACQCABDgIAAQILQQAhAAwCCyAARAAAAAAAAPA/IAArAwCjOQMADAELA0AgBSABSARAIAVBAnQgCWogBTYCACAFQQFqIQUMAQsLIAFBf2pBA3QgAGoiDCEKA0AgBiABSARARAAAAAAAAAAAIQ0gAiAGbEEDdCAAaiIFIQdBfyEEIAYhAwNAIAEgA0cEQCANIAcrAwCZIg5jIQggDiANIAgbIQ0gAkEDdCAHaiEHIAMgBCAIGyEEIANBAWohAwwBCwsgBEF/RiANRLu919nffNs9ZXIEQEEAIQAMAwUgBEECdCAJaiIDKAIAIQcgAyAGQQJ0IAlqIgMoAgA2AgAgAyAHNgIAQQAhByAFIQMgAiAEbEEDdCAAaiEEA0AgASAHRwRAIAQrAwAhDSAEIAMrAwA5AwAgAyANOQMAIAdBAWohByADQQhqIQMgBEEIaiEEDAELCyAFKwMAIQ1BASEEIAUhAwNAIAEgBEcEQCADIANBCGoiAysDACANozkDACAEQQFqIQQMAQsLIApEAAAAAAAA8D8gDaM5AwBBACEIIAwhBANAIAEgCEcEQCAGIAhHBEAgAiAIbEEDdCAAaiIDKwMAIQ0gBSEHQQEhCwNAIAEgC0cEQCADIANBCGoiAysDACANIAcrAwCioTkDACAHQQhqIQcgC0EBaiELDAELCyAEIA0gCisDAKKaOQMACyAIQQFqIQggAkEDdCAEaiEEDAELCyAGQQFqIQYgAkEDdCAKaiEKDAILAAsLQQAhBQNAIAUgAUgEQCAFIQMDQAJAIANBAnQgCWohBiADIAFODQAgBSAGKAIARg0AIANBAWohAwwBCwsgBiAFQQJ0IAlqKAIANgIAQQAhBCAFQQN0IABqIQYgA0EDdCAAaiEDA0AgBCABSARAIAMrAwAhDSADIAYrAwA5AwAgBiANOQMAIARBAWohBCACQQN0IAZqIQYgAkEDdCADaiEDDAELCyAFQQFqIQUMAQsLCwsgCSQGIAALlAIBAX8CQAJAIAAgAXNBA3ENAAJAIAJBAEciAyABQQNxQQBHcQRAA0AgACABLAAAIgM6AAAgA0UNAiAAQQFqIQAgAkF/aiICQQBHIgMgAUEBaiIBQQNxQQBHcQ0ACwsgAwRAIAEsAAAEQCACQQNLBEADQCABKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcUUEQCAAIAM2AgAgAUEEaiEBIABBBGohACACQXxqIgJBA0sNAQsLCwwDCwVBACECCwsMAQsgAgR/IAEhAyACIQEDfyAAIAMsAAAiAjoAACACRQRAIAEhAgwDCyADQQFqIQMgAEEBaiEAIAFBf2oiAQ0AQQALBUEACyECCyAAQQAgAhBFGgtAAQJ/IAIEQCABIQMgACEBA0AgA0EEaiEAIAFBBGohBCABIAMoAgA2AgAgAkF/aiICBEAgACEDIAQhAQwBCwsLCwMAAQssAQF/IwYhAiMGQRBqJAYgAiAANgIAIAIgATYCBEHbACACEDIQmgMaIAIkBgvWAQEFfyMGIQIjBkEgaiQGQQAQhgMEQANAQQEgAHRB/////wdxBEAgAEECdCAAQYaTAxCFAzYCAAsgAEEBaiIAQQZHDQALBQJAA0AgBEEBIAB0Qf////8HcSIDRUEAcQR/IABBAnQoAgAFIABBhpMDQafVAyADGxCFAwsiA0EAR2ohBCAAQQJ0IAJqIAM2AgAgAEEBaiIAQQZHDQALAkACQAJAIARB/////wdxDgIAAQILQczEAyEBDAILIAIoAgBB8IcBRgRAQYyIASEBCwsLCyACJAYgAQurAwIJfwJ8IAAoAgQiBUEBSCAAKAIIIgZBAUhyBH9BfwUgASgCBCAFRgR/IAEoAgggBUYEfyACKAIEIAVGBH8gAigCCCAGRgR/IAMoAgQgBUYEfyACKAIAIQIDQAJAIAQgBU4NACADKAIAIARBA3RqKwMAIg1EvInYl7LSnDxjDQBEAAAAAAAA8D8gDZmfoyEOIAQgBWwhDEEAIQcgAiEIA0AgBiAHRwRAQQAhCSABKAIAIAxBA3RqIQpEAAAAAAAAAAAhDSAAKAIAIAdBA3RqIQsDQCAFIAlHBEAgDSAKKwMAIAsrAwCioCENIAlBAWohCSAKQQhqIQogBkEDdCALaiELDAELCyAIIA4gDaI5AwAgB0EBaiEHIAhBCGohCAwBCwsgBEEBaiEEIAZBA3QgAmohAgwBCwsgAiEAA38gBCAFSAR/IAMoAgAgBEEDdGpEAAAAAAAAAAA5AwBBACEBA0AgASAGSARAIABEAAAAAAAAAAA5AwAgAUEBaiEBIABBCGohAAwBCwsgBEEBaiEEDAEFQQALCwVBfwsFQX8LBUF/CwVBfwsFQX8LCwuOAQECfwJAAkADQCACQbDaAGotAAAgAEcEQCACQQFqIgJB1wBHDQFB1wAhAgwCCwsgAg0AQZDbACEADAELQZDbACEAA0AgACEDA0AgA0EBaiEAIAMsAAAEQCAAIQMMAQsLIAJBf2oiAg0ACwsgASgCFCIBBH8gASgCACABKAIEIAAQmwUFQQALIgEgACABGws1ACABBH8CfwNAIAAgAUF/aiIBai0AAEEvRwRAIAEEQAwCBUEADAMLAAsLIAAgAWoLBUEACwusAQEDf0GcuAEhAiAAQZy4AXNBA3FFBEBBnLgBKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcUUEQAN/IABBBGohASAAIAM2AgAgAkEEaiICKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcQR/IAEFIAEhAAwBCwshAAsLIAAgAiwAACIBOgAAIAEEQANAIABBAWoiACACQQFqIgIsAAAiAToAACABDQALCws1AQJ/IAIgACgCECAAKAIUIgRrIgMgAyACSxshAyAEIAEgAxBMGiAAIAAoAhQgA2o2AhQgAguUCQIYfwd8IwYhGCMGQRBqJAYgGCEMIAAoAgQiBiAAKAIIRyAGQQJIcgR/QX8FIAEoAgQgBkYEfyAGEOcCIg0EfwJ/IAwgBkF/aiIRNgIEIAwgDSgCAEEIajYCACAAIAEgDBCHC0EASARAIA0QzwFBfwwBCyANKAIAIghEAAAAAAAAAAA5AwAgESEDA0AgA0EASgRAIAMhBwNAIAdBAEoEQCAHQQN0IAhqKwMAmSABKAIAIgUgB0F/aiICQQN0aisDAJkgB0EDdCAFaisDAJmgRI3ttaD3xrA+omQEQCACIQcMAgsLCyADQX9qIQkgAyAHRwRAAkAgA0EDdCAIaiESIAdBAWpBA3QgCGohE0EAIQUDQCAFQeMASw0BIAVBAWohBSASKwMAIhsgG6IiGiABKAIAIg4gCUEDdGoiFCsDACADQQN0IA5qIhUrAwAiG6FEAAAAAAAA4D+iIh8gH6KgnyEcIBMrAwAhHSAHIgJBA3QgDmorAwAgG6EgGiAfIByaIBwgH0QAAAAAAAAAAGMboKOgIRsDQCACIANIBEAgG5kiGiAdmWYEQCAaRLyJ2Jey0pw8ZAR8RAAAAAAAAPA/IB2aIBujIhwgHKJEAAAAAAAA8D+gn6MiGiEeIBwgGqIFRAAAAAAAAPA/IR5EAAAAAAAAAAALIRoFRAAAAAAAAPA/IBuaIB2jIhwgHKJEAAAAAAAA8D+gn6MhGiAcIBqiIR4LIAJBA3QgDmoiDysDACIcIAJBAWoiCkEDdCAOaiIEKwMAIh+hISAgDyAcIBogGiAgoiAeRAAAAAAAAABAoiAKQQN0IAhqIhArAwCioKIiHKE5AwAgBCAfIBygOQMAIAJBA3QgCGohBCACIAdKBEAgBCAeIAQrAwCiIB0gGqKhOQMACyAQIBArAwAiHCAaIB4gIKIgGkQAAAAAAAAAQKIgHKKhoqA5AwAgAiAGbCEWIAYgCmwhF0EAIQsDQCAGIAtHBEAgACgCACIPIAsgFmpBA3RqIgQrAwAhGyAEIB4gG6IgGiALIBdqQQN0IA9qIgQrAwAiHaKhOQMAIAQgGiAboiAeIB2ioDkDACALQQFqIQsMAQsLIAIgCUgEQCAQKwMAIRsgAkECakEDdCAIaiICKwMAIR0gAiAeIB2iOQMAIBogHaKaIR0LIAohAgwBCwsgEisDAJkgFCsDAJkgFSsDAJmgRI3ttaD3xrA+omQNAAsLCyAJIQMMAQsLQQAhAwNAIAMgEUcEQCABKAIAIgkgA0EDdGoiBSsDACIdIRogAyICQQFqIgchBANAIAQgBkgEQCAEQQN0IAlqKwMAIhsgGmQhCiAbIBogChshGiAEIAIgChshAiAEQQFqIQQMAQsLIAJBA3QgCWogHTkDACAFIBo5AwAgAyAGbEEDdCAAKAIAIgNqIQUgAiAGbEEDdCADaiECQQAhAwNAIAMgBkcEQCACKwMAIRsgAiAFKwMAOQMAIAUgGzkDACAFQQhqIQUgAkEIaiECIANBAWohAwwBCwsgByEDDAELCyANEM8BQQALBUF/CwVBfwsLIRkgDCQGIBkLLAAgAFBFBEADQCABQX9qIgEgAKdBB3FBMHI6AAAgAEIDiCIAUEUNAAsLIAELNAAgAFBFBEADQCABQX9qIgEgAiAAp0EPcUGg2gBqLQAAcjoAACAAQgSIIgBQRQ0ACwsgAQuhAgIJfwF8IAAoAgQhCSAAKAIIIgIgASgCBEYEQCABKAIIIAJGBEACQCABKAIAIgohBgNAIAMgAk4EQEEAIQAMAgtBACEEIAYhAQNAIAIgBEcEQCAEIANJBEAgASADIAIgBGxqQQN0IApqKwMAOQMABQJAIAAoAgAhBSABRAAAAAAAAAAAOQMAQQAhByADQQN0IAVqIQggBEEDdCAFaiEFRAAAAAAAAAAAIQsDQCAHIAlODQEgASALIAgrAwAgBSsDAKKgIgs5AwAgB0EBaiEHIAJBA3QgCGohCCACQQN0IAVqIQUMAAALAAsLIARBAWohBCABQQhqIQEMAQsLIANBAWohAyACQQN0IAZqIQYMAAALAAsFQX8hAAsFQX8hAAsgAAvWAgEGfyMGIQMjBkHgAWokBiADQaABaiIEQgA3AwAgBEIANwMIIARCADcDECAEQgA3AxggBEIANwMgIANB0AFqIgUgAigCADYCAEEAIAEgBSADQdAAaiICIAQQpAJBAEgEf0F/BSAAKAJMQX9KBH9BAQVBAAsaIAAoAgAhBiAALABKQQFIBEAgACAGQV9xNgIACyAAKAIwBEAgACABIAUgAiAEEKQCIQEFIAAoAiwhByAAIAM2AiwgACADNgIcIAAgAzYCFCAAQdAANgIwIAAgA0HQAGo2AhAgACABIAUgAiAEEKQCIQEgBwRAIABBAEEAIAAoAiRBP3FBygFqEQQAGiABQX8gACgCFBshASAAIAc2AiwgAEEANgIwIABBADYCECAAQQA2AhwgAEEANgIUCwsgACAAKAIAIgAgBkEgcXI2AgBBfyABIABBIHEbCyEIIAMkBiAICykCAX8BfCABKAIAQQdqQXhxIgIrAwAhAyABIAJBCGo2AgAgACADOQMAC8wXAxR/A34BfCMGIRQjBkGwBGokBiAUQZgEaiIMQQA2AgAgAb0iGkIAUwR/IAGaIh0hAUGh/gIhEiAdvSEaQQEFQaT+AkGn/gJBov4CIARBAXEbIARBgBBxGyESIARBgRBxQQBHCyETIBRBIGohBiAUIg4hESAOQZwEaiIKQQxqIQ8gGkKAgICAgICA+P8Ag0KAgICAgICA+P8AUQR/IABBICACIBNBA2oiAyAEQf//e3EQdSAAIBIgExByIABBvP4CQcD+AiAFQSBxQQBHIgUbQbT+AkG4/gIgBRsgASABYhtBAxByIABBICACIAMgBEGAwABzEHUgAwUCfyABIAwQigNEAAAAAAAAAECiIgFEAAAAAAAAAABiIgcEQCAMIAwoAgBBf2o2AgALIAVBIHIiC0HhAEYEQCASQQlqIBIgBUEgcSIJGyEIQQwgA2siB0UgA0ELS3JFBEBEAAAAAAAAIEAhHQNAIB1EAAAAAAAAMECiIR0gB0F/aiIHDQALIAgsAABBLUYEfCAdIAGaIB2hoJoFIAEgHaAgHaELIQELIA9BACAMKAIAIgZrIAYgBkEASBusIA8QvgEiB0YEQCAKQQtqIgdBMDoAAAsgE0ECciEKIAdBf2ogBkEfdUECcUErajoAACAHQX5qIgcgBUEPajoAACADQQFIIQwgBEEIcUUhDSAOIQUDQCAFIAkgARBzIgZBoNoAai0AAHI6AAAgASAGt6FEAAAAAAAAMECiIQEgBUEBaiIGIBFrQQFGBH8gDSAMIAFEAAAAAAAAAABhcXEEfyAGBSAGQS46AAAgBUECagsFIAYLIQUgAUQAAAAAAAAAAGINAAsCfyADRSAFQX4gEWtqIANOckUEQCAPIANBAmpqIAdrIQsgBwwBCyAFIA8gEWsgB2tqIQsgBwshBiAAQSAgAiAKIAtqIgMgBBB1IAAgCCAKEHIgAEEwIAIgAyAEQYCABHMQdSAAIA4gBSARayIFEHIgAEEwIAsgBSAPIAZrIgZqa0EAQQAQdSAAIAcgBhByIABBICACIAMgBEGAwABzEHUgAwwBCyAHBEAgDCAMKAIAQWRqIgg2AgAgAUQAAAAAAACwQaIhAQUgDCgCACEICyAGIAZBoAJqIAhBAEgbIgohBgNAIAYgARCKBSIHNgIAIAZBBGohBiABIAe4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsgCEEASgRAIAohBwNAIAhBHSAIQR1IGyENIAZBfGoiCCAHTwRAIA2tIRtBACEJA0AgCa0gCCgCAK0gG4Z8IhxCgJTr3AMQ9gEhGiAIIBwgGkKAlOvcA359PgIAIBqnIQkgCEF8aiIIIAdPDQALIAkEQCAHQXxqIgcgCTYCAAsLIAYgB0sEQAJAA38gBkF8aiIIKAIADQEgCCAHSwR/IAghBgwBBSAICwshBgsLIAwgDCgCACANayIINgIAIAhBAEoNAAsFIAohBwtBBiADIANBAEgbIQ0gCEEASARAIA1BGWpBCRA5QQFqIRAgC0HmAEYhFSAGIQMDQEEAIAhrIgZBCSAGQQlIGyEJIAogByADSQR/QQEgCXRBf2ohFkGAlOvcAyAJdiEXQQAhCCAHIQYDQCAGIAggBigCACIYIAl2ajYCACAXIBYgGHFsIQggBkEEaiIGIANJDQALIAcgB0EEaiAHKAIAGyEZIAgEfyADIAg2AgAgA0EEagUgAwshBiAZBSADIQYgByAHQQRqIAcoAgAbCyIDIBUbIgcgEEECdGogBiAGIAdrQQJ1IBBKGyEIIAwgCSAMKAIAaiIGNgIAIAZBAEgEQCADIQcgCCEDIAYhCAwBCwsFIAchAyAGIQgLIAohDCADIAhJBEAgDCADa0ECdUEJbCEHIAMoAgAiCkEKTwRAQQohBgNAIAdBAWohByAKIAZBCmwiBk8NAAsLBUEAIQcLIA1BACAHIAtB5gBGG2sgC0HnAEYiFSANQQBHIhZxQR90QR91aiIGIAggDGtBAnVBCWxBd2pIBH8gBkGAyABqIgZBCRA5IQkgBiAJQQlsayIGQQhIBEBBCiELA0AgBkEBaiEKIAtBCmwhCyAGQQdIBEAgCiEGDAELCwVBCiELCyAJQQJ0IAxqQYRgaiIGKAIAIgkgCxBIIRAgCCAGQQRqRiIXIAkgCyAQbGsiCkVxRQRARAEAAAAAAEBDRAAAAAAAAEBDIBBBAXEbIQFEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gFyAKIAtBAXYiEEZxGyAKIBBJGyEdIBMEQCAdmiAdIBIsAABBLUYiEBshHSABmiABIBAbIQELIAYgCSAKayIKNgIAIAEgHaAgAWIEQCAGIAogC2oiBzYCACAHQf+T69wDSwRAA0AgBkEANgIAIAZBfGoiBiADSQRAIANBfGoiA0EANgIACyAGIAYoAgBBAWoiBzYCACAHQf+T69wDSw0ACwsgDCADa0ECdUEJbCEHIAMoAgAiCkEKTwRAQQohCwNAIAdBAWohByAKIAtBCmwiC08NAAsLCwsgByEJIAZBBGoiBiAIIAggBksbIQYgAwUgByEJIAghBiADCyEKIAYgCksEfwJ/IAYhAwN/IANBfGoiBigCAARAIAMhBkEBDAILIAYgCksEfyAGIQMMAQVBAAsLCwVBAAshByAVBH8gFkEBcyANaiIDIAlKIAlBe0pxBH8gA0F/aiAJayEIIAVBf2oFIANBf2ohCCAFQX5qCyEFIARBCHEEfyAIBSAHBEAgBkF8aigCACINBEAgDUEKEE4EQEEAIQMFQQAhA0EKIQsDQCADQQFqIQMgDSALQQpsIgsQTkUNAAsLBUEJIQMLBUEJIQMLIAYgDGtBAnVBCWxBd2ohDSAFQSByQeYARgR/IAggDSADayIDQQAgA0EAShsiAyAIIANIGwUgCCAJIA1qIANrIgNBACADQQBKGyIDIAggA0gbCwsFIA0LIQNBACAJayEIIABBICACIAVBIHJB5gBGIhAEf0EAIQggCUEAIAlBAEobBSAPIAggCSAJQQBIG6wgDxC+ASILa0ECSARAA0AgC0F/aiILQTA6AAAgDyALa0ECSA0ACwsgC0F/aiAJQR91QQJxQStqOgAAIAtBfmoiCCAFOgAAIA8gCGsLIAMgE0EBampBASAEQQN2QQFxIANBAEciCxtqaiINIAQQdSAAIBIgExByIABBMCACIA0gBEGAgARzEHUgEARAIA5BCWoiCSEPIA5BCGohCCAMIAogCiAMSxsiCiEHA0AgBygCAK0gCRC+ASEFIAcgCkYEQCAFIAlGBEAgCEEwOgAAIAghBQsFIAUgDksEQCAOQTAgBSARaxBFGgNAIAVBf2oiBSAOSw0ACwsLIAAgBSAPIAVrEHIgB0EEaiIFIAxNBEAgBSEHDAELCyAEQQhxRSALQQFzcUUEQCAAQcT+AkEBEHILIABBMCAFIAZJIANBAEpxBH8DfyAFKAIArSAJEL4BIgcgDksEQCAOQTAgByARaxBFGgNAIAdBf2oiByAOSw0ACwsgACAHIANBCSADQQlIGxByIANBd2ohByAFQQRqIgUgBkkgA0EJSnEEfyAHIQMMAQUgBwsLBSADC0EJakEJQQAQdQUgAEEwIAogBiAKQQRqIAcbIgtJIANBf0pxBH8gBEEIcUUhEiAOQQlqIgwhE0EAIBFrIREgDkEIaiEJIAMhBSAKIQYDfyAMIAYoAgCtIAwQvgEiA0YEQCAJQTA6AAAgCSEDCwJAIAYgCkYEQCADQQFqIQcgACADQQEQciASIAVBAUhxBEAgByEDDAILIABBxP4CQQEQciAHIQMFIAMgDk0NASAOQTAgAyARahBFGgNAIANBf2oiAyAOSw0ACwsLIAAgAyATIANrIgMgBSAFIANKGxByIAZBBGoiBiALSSAFIANrIgVBf0pxDQAgBQsFIAMLQRJqQRJBABB1IAAgCCAPIAhrEHILIABBICACIA0gBEGAwABzEHUgDQsLIQAgFCQGIAIgACAAIAJIGws0ACAAIABiBH9BAAUgAEQAAAAAAADwQWYEf0EABSAARAAAAAAAAPC/ZQR/QQAFIACrCwsLCyYBAX8jBiECIwZBEGokBiACIAE2AgAgAEH2/QIgAhClAhogAiQGC1YBA38gACgCVCIDQQAgAkGAAmoiBRCmAiEEIAEgAyAEIANrIAUgBBsiASACIAEgAkkbIgIQTBogACACIANqNgIEIAAgASADaiIBNgIIIAAgATYCVCACC6UCAgp/AXwgACgCCCEGIAAoAgQiBSABKAIERgRAIAEoAgggBUYEQAJAIAEoAgAiCiEHA0AgAiAFTgRAQQAhAAwCCyACIAZsIQtBACEDIAchAQNAIAMgBUcEQCADIAJJBEAgASACIAMgBWxqQQN0IApqKwMAOQMABQJAIAAoAgAhBCABRAAAAAAAAAAAOQMAQQAhCCALQQN0IARqIQkgAyAGbEEDdCAEaiEERAAAAAAAAAAAIQwDQCAIIAZODQEgASAMIAkrAwAgBCsDAKKgIgw5AwAgCEEBaiEIIAlBCGohCSAEQQhqIQQMAAALAAsLIANBAWohAyABQQhqIQEMAQsLIAJBAWohAiAFQQN0IAdqIQcMAAALAAsFQX8hAAsFQX8hAAsgAAv7AwIDfwV+IAC9IgdCNIinQf8PcSECIAG9IgZCNIinQf8PcSEEIAdCgICAgICAgICAf4MhCQJ8AkAgBkIBhiIFUA0AAnwgAkH/D0YgAb1C////////////AINCgICAgICAgPj/AFZyDQEgB0IBhiIIIAVYBEAgAEQAAAAAAAAAAKIgACAFIAhRGw8LIAIEfiAHQv////////8Hg0KAgICAgICACIQFIAdCDIYiBUJ/VQRAQQAhAgNAIAJBf2ohAiAFQgGGIgVCf1UNAAsFQQAhAgsgB0EBIAJrrYYLIgggBAR+IAZC/////////weDQoCAgICAgIAIhAUgBkIMhiIFQn9VBEADQCADQX9qIQMgBUIBhiIFQn9VDQALCyAGQQEgAyIEa62GCyIGfSIFQn9VIQMgAiAESgRAAkADQAJAIAMEQCAFUA0BBSAIIQULIAVCAYYiCCAGfSIFQn9VIQMgAkF/aiICIARKDQEMAgsLIABEAAAAAAAAAACiDAILCyADBEAgAEQAAAAAAAAAAKIgBVANARoFIAghBQsgBUKAgICAgICACFQEQANAIAJBf2ohAiAFQgGGIgVCgICAgICAgAhUDQALCyAFQoCAgICAgIB4fCACrUI0hoQgBUEBIAJrrYggAkEAShsgCYS/CwwBCyAAIAGiIgAgAKMLC/kTAw5/An4HfCMGIQojBkGABGokBkEAIAIgA2oiEGshEQJAAkADQAJAAkACQCABQS5rDgMEAAEACyABIQYgByEBDAELIAAoAgQiASAAKAJoSQR/IAAgAUEBajYCBCABLQAABSAAEFQLIQFBASEHDAELCwwBCyAAKAIEIgEgACgCaEkEfyAAIAFBAWo2AgQgAS0AAAUgABBUCyIGQTBGBH8DfyAUQn98IRQgACgCBCIBIAAoAmhJBH8gACABQQFqNgIEIAEtAAAFIAAQVAsiBkEwRg0AQQEhC0EBCwVBASELIAcLIQELIApBADYCAAJ8AkACQAJAAkAgBkEuRiIOIAZBUGoiDUEKSXIEQAJAQQAhByAGIQkgDSEGA0ACQCAOBEAgCw0BQQEhCyAVIRQFAkAgFUIBfCEVIAlBMEchDSAIQf0ATgRAIA1FDQEgCiAKKALwA0EBcjYC8AMMAQsgCEECdCAKaiIBIAwEfyAJQVBqIAEoAgBBCmxqBSAGCzYCACAMQQFqIgZBCUYhAUEAIAYgARshDCABIAhqIQggFacgByANGyEHQQEhAQsLIAAoAgQiBiAAKAJoSQR/IAAgBkEBajYCBCAGLQAABSAAEFQLIglBUGoiBkEKSSAJQS5GIg5yDQEgCSEGDAILCyABQQBHIQEMAgsFQQAhBwsgFCAVIAsbIRQgAUEARyIBIAZBIHJB5QBGcUUEQCAGQX9KBEAMAgUMAwsACyAUIAAgBRCRAyIUQoCAgICAgICAgH9RBH4gBUUEQCAAQgAQggFEAAAAAAAAAAAMBgsgACgCaARAIAAgACgCBEF/ajYCBAtCAAUgFAt8IRQMAwsgACgCaARAIAAgACgCBEF/ajYCBCABRQ0CDAMLCyABRQ0ADAELQaTFA0EcNgIAIABCABCCAUQAAAAAAAAAAAwBCyAEt0QAAAAAAAAAAKIgCigCACIARQ0AGiAUIBVRIBVCClNxBEAgBLcgALiiIAAgAnZFIAJBHkpyDQEaCyAUIANBfhA5rFUEQEGkxQNBxAA2AgAgBLdE////////73+iRP///////+9/ogwBCyAUIANBln9qrFMEQEGkxQNBxAA2AgAgBLdEAAAAAAAAEACiRAAAAAAAABAAogwBCyAMBEAgDEEJSARAIAhBAnQgCmoiBSgCACEBA0AgAUEKbCEBIAxBAWohACAMQQhIBEAgACEMDAELCyAFIAE2AgALIAhBAWohCAsgFKchASAHQQlIBEAgAUESSCAHIAFMcQRAIAFBCUYEQCAEtyAKKAIAuKIMAwsgAUEJSARAIAS3IAooAgC4okEAIAFrQQJ0QcDUAGooAgC3owwDCyACQRtqIAFBfWxqIgBBHkogCigCACIFIAB2RXIEQCAEtyAFuKIgAUECdEH40wBqKAIAt6IMAwsLCyABQQkQTyIABH9BACAAIABBCWogAUF/ShsiDGtBAnRBwNQAaigCACEGIAgEf0GAlOvcAyAGEDkhC0EAIQdBACEAQQAhBQNAIAcgBUECdCAKaiINKAIAIg4gBhBIIg9qIQkgDSAJNgIAIAsgDiAGIA9sa2whByABQXdqIAEgCUUgACAFRnEiCRshASAAQQFqQf8AcSAAIAkbIQAgBUEBaiIFIAhHDQALIAcEfyAIQQJ0IApqIAc2AgAgACEFIAhBAWoFIAAhBSAICwVBACEFQQALIQAgAUEJIAxraiEBIAUFIAghAEEACyEHQQAhBQNAAkAgAUESSCEMIAFBEkYhDSAHQQJ0IApqIQ4DQCAMRQRAIA1FDQIgDigCAEHf4KUETwRAQRIhAQwDCwtBACEIIABB/wBqIQsDQCAIrSALQf8AcSIJQQJ0IApqIgYoAgCtQh2GfCIUpyELIBRCgJTr3ANWBEAgFEKAlOvcAxD2ASIVpyEIIBQgFUKAlOvcA359pyELBUEAIQgLIAYgCzYCACAAIAAgCSALGyAHIAlGIg8gCSAAQf8AakH/AHFHchshBiAJQX9qIQsgD0UEQCAGIQAMAQsLIAVBY2ohBSAIRQ0ACyAGQf8AakH/AHEhCSAGQf4AakH/AHFBAnQgCmohDCAHQf8AakH/AHEiByAGRgRAIAwgCUECdCAKaigCACAMKAIAcjYCACAJIQALIAdBAnQgCmogCDYCACABQQlqIQEMAQsLA0ACQCAAQQFqQf8AcSEGIABB/wBqQf8AcUECdCAKaiEMA0ACQCABQRJGIQhBCUEBIAFBG0obIQkDQEEAIQ4CQAJAA0ACQCAAIAcgDmpB/wBxIgtGDQIgC0ECdCAKaigCACILIA5BAnRBqIoBaigCACINSQ0CIAsgDUsNACAOQQFqQQJPDQJBASEODAELCwwBCyAIDQQLIAUgCWohBSAAIAdGBEAgACEHDAELC0EBIAl0QX9qIQ5BgJTr3AMgCXYhD0EAIQggByELA0AgCCALQQJ0IApqIhIoAgAiEyAJdmohDSASIA02AgAgDyAOIBNxbCEIIAFBd2ogASANRSAHIAtGcSINGyEBIAdBAWpB/wBxIAcgDRshByALQQFqQf8AcSILIABHDQALIAgEQCAGIAdHDQEgDCAMKAIAQQFyNgIACwwBCwsgAEECdCAKaiAINgIAIAYhAAwBCwtBACEBA0AgAEEBakH/AHEhBiAAIAEgB2pB/wBxIglGBEAgBkF/akECdCAKakEANgIAIAYhAAsgFkQAAAAAZc3NQaIgCUECdCAKaigCALigIRYgAUEBaiIBQQJHDQALIBYgBLciGKIhFyAFQTVqIgYgA2siAyACSCEEIANBACADQQBKGyACIAQbIgFBNUgEQEQAAAAAAADwP0HpACABaxCfASAXEJADIhkhGiAXRAAAAAAAAPA/QTUgAWsQnwEQjwMiGyEWIBkgFyAboaAhFwVEAAAAAAAAAAAhFgsgB0ECakH/AHEiAiAARwRAAkAgAkECdCAKaigCACICQYDKte4BSQR8IAJFQQAgACAHQQNqQf8AcUYbDQEgGEQAAAAAAADQP6IgFqAFIAJBgMq17gFHBEAgGEQAAAAAAADoP6IgFqAhFgwCCyAYRAAAAAAAAOA/oiAWoCAYRAAAAAAAAOg/oiAWoCAAIAdBA2pB/wBxRhsLIRYLQTUgAWtBAUoEfCAWRAAAAAAAAPA/EI8DRAAAAAAAAAAAYQR8IBZEAAAAAAAA8D+gBSAWCwUgFgshFgsgFyAWoCAaoSEXIAZB/////wdxQX4gEGtKBHwCfCAFIBeZRAAAAAAAAEBDZkUiAEEBc2ohBSAXIBdEAAAAAAAA4D+iIAAbIRcgBUEyaiARTARAIBcgBCAAIAEgA0dycSAWRAAAAAAAAAAAYnFFDQEaC0GkxQNBxAA2AgAgFwsFIBcLIAUQjgMLIRwgCiQGIBwL8ggDCH8FfgN8IAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIQUCQAJAA0ACQAJAIAVBLmsOAwMBAAELIAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIQVBASEIDAELCwwBCyAAKAIEIgUgACgCaEkEfyAAIAVBAWo2AgQgBS0AAAUgABBUCyIFQTBGBH8DfyANQn98IQ0gACgCBCIFIAAoAmhJBH8gACAFQQFqNgIEIAUtAAAFIAAQVAsiBUEwRg0AQQEhCEEBCwVBAQshCQtEAAAAAAAA8D8hEyAFIQcgCCEFA0ACQCAHQSByIQgCQAJAIAdBUGoiC0EKSQ0AIAdBLkYiDCAIQZ9/akEGSXJFDQIgDEUNACAJBH5BLiEHDAMFQQEhCSAPCyENDAELIAhBqX9qIAsgB0E5ShshBSAPQghTBEAgBSAGQQR0aiEGBSAPQg5TBHwgE0QAAAAAAACwP6IiFCETIBIgFCAFt6KgBSAKQQEgBUUgCkEAR3IiBRshCiASIBIgE0QAAAAAAADgP6KgIAUbCyESCyAPQgF8IQ9BASEFCyAAKAIEIgcgACgCaEkEfyAAIAdBAWo2AgQgBy0AAAUgABBUCyEHDAELCyAFBHwCfCAPQghTBEAgDyEOA0AgBkEEdCEGIA5CAXwhECAOQgdTBEAgECEODAELCwsCfyAHQSByQfAARgR+IAAgBBCRAyIOQoCAgICAgICAgH9RBH4gBEUEQCAAQgAQggFEAAAAAAAAAAAMBAsgACgCaARAIAAgACgCBEF/ajYCBAtCAAUgDgsFIAAoAmgEQCAAIAAoAgRBf2o2AgQLQgALIREgA7dEAAAAAAAAAACiIAZFDQEaIBEgDSAPIAkbQgKGQmB8fCINQQAgAmusVQsEQEGkxQNBxAA2AgAgA7dE////////73+iRP///////+9/ogwBCyANIAJBln9qrFMEQEGkxQNBxAA2AgAgA7dEAAAAAAAAEACiRAAAAAAAABAAogwBCyAGQX9KBEADQCASRAAAAAAAAOA/ZkUiAEEBcyAGQQF0ciEGIBIgEiASRAAAAAAAAPC/oCAAG6AhEiANQn98IQ0gBkF/Sg0ACwsCfAJAIA1CICACrH18Ig4gAaxTBEAgDqciAUEATARAQQAhAUHUACEADAILC0HUACABayEAIAFBNUgNACADtyETRAAAAAAAAAAADAELRAAAAAAAAPA/IAAQnwEgA7ciExCQAwshFEQAAAAAAAAAACASIAZBAXFFIAFBIEggEkQAAAAAAAAAAGJxcSIAGyAToiAUIBMgACAGariioKAgFKEiEkQAAAAAAAAAAGEEQEGkxQNBxAA2AgALIBIgDacQjgMLBSAAKAJoRSIBRQRAIAAgACgCBEF/ajYCBAsgBARAIAFFBEAgACAAKAIEQX9qNgIEIAEgCUVyRQRAIAAgACgCBEF/ajYCBAsLBSAAQgAQggELIAO3RAAAAAAAAAAAogsLvgMBBH8gACgCCCIFIAAoAgQiAyAFIANIGyEGIAVBAkggA0ECSHIEf0F/BSABKAIIIAVGBH8gASgCBCAGRgR/IAIoAgQgBkYEfwJ/IAYgBhCLASIEKAIEIAZGBEAgBCgCCCAGRgRAIAMgBUgiAwRAIAAgBBCNBUEASARAIAQQSUF/DAQLBSAAIAQQhgVBAEgEQCAEEElBfwwECwsgBCACEIMFQQBIBEAgBBBJQX8MAwsgAwRAIAAgBCABIAIQ/gRBAEgEQCAEEElBfwwECwUCQEEAIQUgBCgCACEDIAEoAgAhAANAAkAgBSAGTg0AIAIoAgAgBUEDdGorAwBEvInYl7LSnDxjDQBBACEBA0AgASAGSARAIAAgAysDADkDACABQQFqIQEgA0EIaiEDIABBCGohAAwBCwsgBUEBaiEFDAELCyAFIQEDQCABIAZODQEgAigCACABQQN0akQAAAAAAAAAADkDAEEAIQMDQCADIAZIBEAgAEQAAAAAAAAAADkDACADQQFqIQMgAEEIaiEADAELCyABQQFqIQEMAAALAAsLIAQQSUEADAILCyAEEElBfwsFQX8LBUF/CwVBfwsLC9ITAg9/AXwjBiEOIwZBEGokBiAEKAIAIgchDCABIAJBf2oiEGxBAXQgB2ohBgNAIAUgAUgEQCAGQQA7AQAgDEEAOwEAIAxBAmohDCAFQQFqIQUgBkECaiEGDAELC0EAIQwgByIGIAFBf2oiEUEBdGohBQNAIAwgAkgEQCAFQQA7AQAgBkEAOwEAIAFBAXQgBmohBiAMQQFqIQwgAUEBdCAFaiEFDAELCyAEQZCAyABqIQZBACABayESIAAgAUEBaiIAaiENIAAgA2ohDEEBIQpBACEFIABBAXQgB2ohAwJ/AkADQAJAIAogEE4NAiAFIQBBASEIIAMhCwNAIAggEUgEQCANLQAAIAwtAABKBEACQCASQQF0IAtqIg8uAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBjIDQAGogCjYCAAwBCyAPQX5qLgEAIgkhByAJQQBKIQUgDy4BAiIDQQBMBEAgBQRAIAsgCTsBACAHQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAISARAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAILIAtBfmouAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAITg0CIAMgCDYCAAUgAEH//wFKDQYgCyAAQQFqIgM7AQAgBEGQgMgAaiAAQQJ0aiADQRB0QRB1NgIAIARBkIDQAGogAEEHbCIAQQJ0akEBNgIAIABBAnQgBGpBlIDQAGogCDYCACAAQQJ0IARqQZiA0ABqIAo2AgAgAEECdCAEakGcgNAAaiAINgIAIABBAnQgBGpBoIDQAGogCDYCACAAQQJ0IARqQaSA0ABqIAo2AgAgAEECdCAEakGogNAAaiAKNgIAIAMhAAsMAQsgBQRAAkAgA0ECdCAEakGMgMgAaigCACIDIAdBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgAgBUECdCAEakGMgNAAaiAKNgIADAELIAtBfmouAQAiBUEATARAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBgIDQAGoiAygCACAISgRAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAELAkAgA0ECdCAEakGMgMgAaigCACIDIAVBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgALBSALQQA7AQALIA1BAWohDSAMQQFqIQwgCEEBaiEIIAtBAmohCwwBCwsgDUECaiENIAxBAmohDCAKQQFqIQogACEFIAtBBGohAwwBCwtBAEEDQailASAOED1BfwwBCyAEQQxqIQ1BASEAQQEhBwNAIAcgBUwEQCAHIAYoAgAiDEYEQCAAQQFqIQMFIAAhAyAMQQJ0IARqQYyAyABqKAIAIQALIAYgADYCACADIQAgB0EBaiEHIAZBBGohBgwBCwsgBCAAQX9qIgY2AgggBgR/IA1BACAGQQJ0EEUaIARBkIAoakEAIAZBBHQQRRpBACEDA0AgAyAGSARAIARBjIAIaiADQQJ0IgBBAnRqIAE2AgAgBEGMgAhqIABBAXJBAnRqQQA2AgAgBEGMgAhqIABBAnJBAnRqIAI2AgAgBEGMgAhqIABBA3JBAnRqQQA2AgAgA0EBaiEDDAELC0EAIQMDQCADIAVIBEAgBEEMaiAEQZCAyABqIANBAnRqKAIAQX9qIgJBAnRqIgAgBEGQgNAAaiADQQdsIgZBAnRqKAIAIAAoAgBqNgIAIARBkIAoaiACQQF0IgFBA3RqIgAgACsDACAGQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIAFBAXJBA3RqIgAgACsDACAGQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiASgCACAGQQJ0IARqQZyA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEBckECdGoiASgCACAGQQJ0IARqQaCA0ABqKAIAIgBIBEAgASAANgIACyAEQYyACGogAkECckECdGoiASgCACAGQQJ0IARqQaSA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEDckECdGoiASgCACAGQQJ0IARqQaiA0ABqKAIAIgBIBEAgASAANgIACyADQQFqIQMMAQsLIAQoAgghAkEAIQMDfyADIAJIBH8gBEGQgChqIANBAXQiAUEDdGoiACAAKwMAIARBDGogA0ECdGooAgC3IhSjOQMAIARBkIAoaiABQQFyQQN0aiIAIAArAwAgFKM5AwAgA0EBaiEDDAEFQQALCwVBAAsLIRMgDiQGIBMLUwECfyMGIQIjBkEQaiQGIAIgACgCADYCAANAIAIoAgBBA2pBfHEiACgCACEDIAIgAEEEajYCACABQX9qIQAgAUEBSwRAIAAhAQwBCwsgAiQGIAMLxhQDEX8DfgF8IwYhCSMGQaACaiQGIAAoAkxBf0oEf0EBBUEACxogCUGIAmohDSAJQYQCaiESIAlBkAJqIRMgASwAACILBEACQAJAAkACQAJAA0ACQCALQf8BcRCyAQRAA0AgAUEBaiIDLQAAELIBBEAgAyEBDAELCyAAQgAQggEDQCAAKAIEIgMgACgCaEkEfyAAIANBAWo2AgQgAy0AAAUgABBUCxCyAQ0ACyAAKAJoBEAgACAAKAIEQX9qIgs2AgQFIAAoAgQhCwsgCyAAKAIIa6wgFCAAKQN4fHwhFAUCQCABLAAAQSVGIgcEQAJAAn8CQAJAIAFBAWoiBCwAACIDQSVrDgYDAQEBAQABC0EAIQogAUECagwBCyADQf8BcRCKAQRAIAEsAAJBJEYEQCACIAQtAABBUGoQkwUhCiABQQNqDAILCyACKAIAQQNqQXxxIgEoAgAhCiACIAFBBGo2AgAgBAsiAS0AABCKAQRAQQAhBANAIAEtAAAgBEEKbEFQamohBCABQQFqIgEtAAAQigENAAsFQQAhBAsgAUEBaiEHIAEsAAAiCEHtAEYEf0EAIQYgAUECaiEBIAciAywAACEIQQAhBSAKQQBHBSABIQMgByEBQQALIQsCQAJAAkACQAJAAkACQCAIQRh0QRh1QcEAaw46BQ4FDgUFBQ4ODg4EDg4ODg4OBQ4ODg4FDg4FDg4ODg4FDgUFBQUFAAUCDgEOBQUFDg4FAwUODgUOAw4LQX5BfyABLAAAQegARiIHGyEIIANBAmogASAHGyEBDAULQQNBASABLAAAQewARiIHGyEIIANBAmogASAHGyEBDAQLQQMhCAwDC0EBIQgMAgtBAiEIDAELQQAhCCADIQELQQEgCCABLQAAIgdBL3FBA0YiAxshDiAAAn8CQAJAAkACQCAHQSByIAcgAxsiDEH/AXEiB0EYdEEYdUHbAGsOFAEDAwMDAwMDAAMDAwMDAwMDAwMCAwsgBEEBIARBAUobDAMLIAQMAgsgCiAOIBQQlAMMBAsgAEIAEIIBA0AgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsQsgENAAsgACgCaARAIAAgACgCBEF/aiIINgIEBSAAKAIEIQgLIAggACgCCGusIBQgACkDeHx8IRQgBAsiEawiFhCCASAAKAIEIgMgACgCaCIESQRAIAAgA0EBajYCBAUgABBUQQBIDQggACgCaCEECyAEBEAgACAAKAIEQX9qNgIECwJAAkACQAJAAkACQAJAAkAgB0EYdEEYdUHBAGsOOAUHBwcFBQUHBwcHBwcHBwcHBwcHBwcHAQcHAAcHBwcHBQcAAwUFBQcEBwcHBwcCAQcHAAcDBwcBBwsgDEEQckHzAEYEQCAJQX9BgQIQRRogCUEAOgAAIAxB8wBGBEAgCUEAOgAhIAlBADYBCiAJQQA6AA4LBQJAIAkgAUEBaiIHLAAAQd4ARiIDIgRBgQIQRRogCUEAOgAAAkACQAJAIAFBAmogByADGyIBLAAAQS1rIgMEQCADQTBGBEAMAgUMAwsACyAJIARBAXMiCDoALiABQQFqIQEMAgsgCSAEQQFzIgg6AF4gAUEBaiEBDAELIARBAXMhCAsDQAJAAkAgASwAACIEDl4TAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQsgAUEBaiIDLAAAIgQiB0EAIAdB3QBHG0UEQEEtIQQMAQsgAUF/ai0AACIBIARB/wFxSAR/A38gAUEBaiIBIAlqIAg6AAAgASADLAAAIgdB/wFxSQ0AIAMhASAHCwUgAyEBIAQLIQQLIARB/wFxQQFqIAlqIAg6AAAgAUEBaiEBDAAACwALCyARQQFqQR8gDEHjAEYiDBshBCALQQBHIRAgDkEBRiIRBEAgEARAIARBAnQQRCIFRQRAQQAhBkEAIQUMEQsFIAohBQsgDUEANgIAIA1BADYCBEEAIQYDQAJAIAVFIQcDQANAAkAgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsiA0EBaiAJaiwAAEUNAyATIAM6AAACQAJAIBIgE0EBIA0Q1wFBfmsOAgEAAgtBACEGDBULDAELCyAHRQRAIAZBAnQgBWogEigCADYCACAGQQFqIQYLIBAgBCAGRnFFDQALIAUgBEEBdEEBciIEQQJ0EOgBIgMEQCADIQUMAgVBACEGDBILAAsLIA0EfyANKAIARQVBAQsEfyAGIQQgBSEDQQAFQQAhBgwQCyEGBQJAIBAEQCAEEEQiBkUEQEEAIQZBACEFDBILQQAhBQNAA0AgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsiA0EBaiAJaiwAAEUEQCAFIQRBACEDQQAhBQwECyAFIAZqIAM6AAAgBUEBaiIFIARHDQALIAYgBEEBdEEBciIEEOgBIgMEQCADIQYMAQVBACEFDBMLAAALAAsgCkUEQANAIAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLQQFqIAlqLAAADQBBACEEQQAhBkEAIQNBACEFDAIACwALQQAhBAN/IAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIgVBAWogCWosAAAEfyAEIApqIAU6AAAgBEEBaiEEDAEFQQAhA0EAIQUgCgsLIQYLCyAAKAJoBEAgACAAKAIEQX9qIgg2AgQFIAAoAgQhCAsgACkDeCAIIAAoAghrrHwiFVAgDEEBcyAVIBZRckVyDQsgEARAIBEEQCAKIAM2AgAFIAogBjYCAAsLIAxFBEAgAwRAIARBAnQgA2pBADYCAAsgBkUEQEEAIQYMCAsgBCAGakEAOgAACwwGC0EQIQQMBAtBCCEEDAMLQQohBAwCC0EAIQQMAQsgACAOQQAQkgMhFyAAKQN4QgAgACgCBCAAKAIIa6x9UQ0GIAoEQAJAAkACQCAODgMAAQIFCyAKIBe2OAIADAQLIAogFzkDAAwDCyAKIBc5AwAMAgsMAQsgACAEQQBCfxCTAyEVIAApA3hCACAAKAIEIAAoAghrrH1RDQUgDEHwAEYgCkEAR3EEQCAKIBU+AgAFIAogDiAVEJQDCwsgDyAKQQBHaiEPIAAoAgQgACgCCGusIBQgACkDeHx8IRQMAgsLIABCABCCASAAKAIEIgMgACgCaEkEfyAAIANBAWo2AgQgAy0AAAUgABBUCyEDIAMgASAHaiIBLQAARw0EIBRCAXwhFAsLIAFBAWoiASwAACILDQEMBgsLDAMLIAAoAmgEQCAAIAAoAgRBf2o2AgQLIANBf0ogD3INA0EAIQsMAQsgD0UNAAwBC0F/IQ8LIAsEQCAGEDggBRA4CwsLIAkkBiAPCwsAIAAgASACEIwFC3kBBX8gACgCBCEFIAAoAggiBiABKAIERgR/IAAoAgAhAAN/IAIgBUgEf0EAIQMgASgCACEEA0AgAyAGSARAIAAgACsDACAEKwMAoTkDACADQQFqIQMgBEEIaiEEIABBCGohAAwBCwsgAkEBaiECDAEFQQALCwVBfwsLLwECfyAAEKsCIgEoAgA2AjggASgCACICBEAgAiAANgI0CyABIAA2AgBBqMUDEA4L6wIBB38jBiEDIwZBMGokBiADQRhqIQQgA0EIaiEFIANBKGohBkH6/QIgASwAABC/AQRAQZgJEEQiAgRAIAJBAEGQARBFGgJ/IAFBKxC/AUUhCCABLAAAIQEgCAsEQCACQQhBBCABQfIARhs2AgALIAFB4QBGBEAgAyAANgIAIANBAzYCBEHdASADEBkiAUGACHFFBEAgBSAANgIAIAVBBDYCBCAFIAFBgAhyNgIIQd0BIAUQGRoLIAIgAigCAEGAAXIiATYCAAUgAigCACEBCyACIAA2AjwgAiACQZgBajYCLCACQYAINgIwIAJBfzoASyABQQhxRQRAIAQgADYCACAEQZOoATYCBCAEIAY2AghBNiAEEDNFBEAgAkEKOgBLCwsgAkECNgIgIAJBATYCJCACQQE2AiggAkECNgIMQejEAygCAEUEQCACQX82AkwLIAIQlwUFQQAhAgsFQaTFA0EcNgIACyADJAYgAgtwAQJ/IABBKxC/AUUhASAALAAAIgJB8gBHQQIgARsiASABQYABciAAQfgAEL8BRRsiASABQYCAIHIgAEHlABC/AUUbIgAgAEHAAHIgAkHyAEYbIgBBgARyIAAgAkH3AEYbIgBBgAhyIAAgAkHhAEYbC/gBAgZ/AXwgACgCBCIHQQFIIAAoAggiA0EBSHIEf0F/BSADIAEoAgRGBH8DQCACIANHBEAgASgCACACQQN0akQAAAAAAAAAADkDACACQQFqIQIMAQsLIAAoAgAhAANAIAUgB0cEQEEAIQYgASgCACEEIAAhAgNAIAMgBkcEQCAEIAIrAwAgBCsDAKA5AwAgBkEBaiEGIARBCGohBCACQQhqIQIMAQsLIANBA3QgAGohACAFQQFqIQUMAQsLIAe3IQhBACEAA38gACADRgR/QQAFIAEoAgAgAEEDdGoiAiACKwMAIAijOQMAIABBAWohAAwBCwsFQX8LCwvsAgELfyAAKAIIIAAoAgBBotrv1wZqIgYQsQEhBCAAKAIMIAYQsQEhBSAAKAIQIAYQsQEhAyAEIAFBAnZJBH8gBSABIARBAnRrIgdJIAMgB0lxBH8gAyAFckEDcQR/QQAFAn8gBUECdiEJAn8gA0ECdiENQQAhBQNAAkAgCSAFIARBAXYiB2oiC0EBdCIMaiIDQQJ0IABqKAIAIAYQsQEhCEEAIANBAWpBAnQgAGooAgAgBhCxASIDIAFJIAggASADa0lxRQ0DGkEAIAAgAyAIamosAAANAxogAiAAIANqELMBIgNFDQAgA0EASCEDQQAgBEEBRg0DGiAFIAsgAxshBSAHIAQgB2sgAxshBAwBCwsgDSAMaiICQQJ0IABqKAIACyAGELEBIQQgAkEBakECdCAAaigCACAGELEBIgIgAUkgBCABIAJrSXEEf0EAIAAgAmogACACIARqaiwAABsFQQALCwsFQQALBUEACws+AQF/IAAoAkQEQCAAKAKEASIBBEAgASAAKAKAATYCgAELIAAoAoABIgAEfyAAQYQBagVBlIoBCyABNgIACwvqAgIDfwF8IAAoAgQiBiAAKAIIIgUgBiAFSBshBCAGQQJIIAVBAkhyBEBBfyEABSABKAIIIAVGBEAgASgCBCAERgRAIAIoAgQgBEYEQCADKAIEIAVGBEAgABDfBSIEBEACQCAEIAMQmgVBAEgEQCAEEElBfyEADAELIAQgAxCWBUEASARAIAQQSUF/IQAMAQsgBrefIQcgBSAGbCEDQQAhAANAIAAgA0gEQCAEKAIAIABBA3RqIgUgBSsDACAHozkDACAAQQFqIQAMAQsLIAQgASACEJEFIQAgBBBJIAIoAgQhA0QAAAAAAAAAACEHQQAhAQNAIAEgA0gEQCAHIAIoAgAgAUEDdGorAwCgIQcgAUEBaiEBDAELC0EAIQEDQCABIANIBEAgAigCACABQQN0aiIEIAQrAwAgB6M5AwAgAUEBaiEBDAELCwsFQX8hAAsFQX8hAAsFQX8hAAsFQX8hAAsFQX8hAAsLIAALBABCAAvhAQEEfyMGIQQjBkEgaiQGIAQgATYCACAEIAIgACgCMCIDQQBHazYCBCAEIAAoAiw2AgggBCADNgIMAkACQCAAKAI8IARBAiAEQRBqIgMQMRCsAgRAIANBfzYCAEF/IQIMAQUgAygCACIDQQFIBEAgAyECDAIFIAMgBCgCBCIGSwRAIAAgACgCLCIFNgIEIAAgBSADIAZrajYCCCAAKAIwBEAgACAFQQFqNgIEIAEgAkF/amogBSwAADoAAAsFIAMhAgsLCwwBCyAAIAAoAgAgAkEwcUEQc3I2AgALIAQkBiACCwYAQaTFAwtGAgF/AX4jBiEDIwZBEGokBiAAKAI8IAGnIAFCIIinIAJB/wFxIAMQHRCsAgR+IANCfzcDAEJ/BSADKQMACyEEIAMkBiAEC7cCAQd/IwYhBiMGQSBqJAYgBkEQaiEHIAYiAyAAKAIcIgQ2AgAgAyAAKAIUIARrIgU2AgQgAyABNgIIIAMgAjYCDEECIQQgAiAFaiEFIAMhAQJAAkADQCAAKAI8IAEgBCAHEDAQrAIEfyAHQX82AgBBfwUgBygCAAsiAyAFRwRAIANBAEgNAiABQQhqIAEgAyABKAIEIghLIgkbIgEgAyAIQQAgCRtrIgggASgCAGo2AgAgASABKAIEIAhrNgIEIAQgCUEfdEEfdWohBCAFIANrIQUMAQsLIAAgACgCLCIBIAAoAjBqNgIQIAAgATYCHCAAIAE2AhQMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACAAKAIAQSByNgIAIARBAkYEf0EABSACIAEoAgRrCyECCyAGJAYgAgsOACAAKAI8EBhB//8DcQumAgECfwJAAkAgACgCFCIBQbN+akECTw0AIABBQGsoAgANACAAKAKMASAAKAJ0SQRAIAAoAgAiAUHFADYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoArwDKAIEIQEgACABQf8BcUGsA2oRAQAgAEHSATYCFAwBCwJAAkAgAUHPAWsOBAABAQIBCyAAQdIBNgIUDAELIAAoAgAiAkEVNgIUIAIgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAswDIgEoAhRFBEACQANAAkAgASgCACEBIAAgAUH/AHFBCGoRAABFDQAgACgCzAMiASgCFEUNAQwCCwtBAA8LCyAAKAIYKAIYIQEgACABQf8BcUGsA2oRAQAgABCdA0EBC/0GAQR/AkACQAJAAkACQAJAIAAoAhQiAUHIAWsOCwABAwICAgICAgQCBAsgAEHMA2oiASgCACgCBCECIAAgAkH/AXFBrANqEQEAIAAoAhgoAgghAiAAIAJB/wFxQawDahEBACAAQckBNgIUDAQLIABBzANqIQEMAwsgACgCzAMoAgAhASAAIAFB/wBxQQhqEQAADwtBAQ8LIAAoAgAiAkEVNgIUIAIgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQBBAA8LIAEoAgAoAgAhASAAIAFB/wBxQQhqEQAAIgFBAUcEQCABDwsCQAJAAkACQAJAIAAoAiQiAUEBaw4EAAMBAgMLIAEhAgwDCyAAKALYASIDKAIAIQEgAygCsAEiAkEDRiABQQFGIgQgAygCWCIDQQJGcXEEf0EDIQJBAgUgBCADQSJGcSACQSNGcQR/QQchAkECBSABQdIARiADQccARnEgAkHCAEZxBH9BAiECQQIFIAFB8gBGIANB5wBGcSACQeIARnEEf0EGIQJBAgUgACgCnAIEf0EDIQJBAgUgACgCqAJFBEAgACgCACIEIAE2AhggBCADNgIcIAQgAjYCICAEQfEANgIUIAQoAgQhASAAQQEgAUE/cUGyBWoRAwBBAiEBQQMhAgwICwJAAkACQCAALACsAiIBDgIAAQILQQIhAUECIQIMCQtBAiEBQQMhAgwICyAAKAIAIgJB9AA2AhQgAiABQf8BcTYCGCAAKAIAKAIEIQEgAEF/IAFBP3FBsgVqEQMAQQIhAUEDIQIMBwsLCwsLIQEMAgsgACgCqAIEfwJAAkACQCAALACsAiIBDgMAAgECC0EEIQFBBCECDAQLQQQhAUEFIQIMAwsgACgCACICQfQANgIUIAIgAUH/AXE2AhggACgCACgCBCEBIABBfyABQT9xQbIFahEDAEEEIQFBBSECDAIFQQQhAkEECyEBDAELQQAhAUEAIQILIAAgAjYCKCAAIAE2AiwgACAAKAKsAyIBNgIwIAAgATYCNCAARAAAAAAAAPA/OQM4IABBQGtBADYCACAAQQA2AkQgAEEANgJIIABBATYCTCAAQQE2AlAgAEEANgJUIABBAjYCWCAAQQE2AlwgAEGAAjYCYCAAQQA2AogBIABBADYCZCAAQQA2AmggAEEANgJsIABBygE2AhRBAQuNAQECfyAAKAIUIgJBfnFByAFHBEAgACgCACIDQRU2AhQgAyACNgIYIAAoAgAoAgAhAiAAIAJB/wFxQawDahEBAAsCQAJAAkAgABClBSICQQFrDgIAAQILQQEPCyABBEAgACgCACIBQTU2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyAAEJ0DQQIPCyACCwcAIAAQngMLnwIBAn8gAEEANgIEIAFB2gBHBEAgACgCACIDQQ02AhQgA0HaADYCGCAAKAIAIAE2AhwgACgCACgCACEBIAAgAUH/AXFBrANqEQEACyACQegDRwRAIAAoAgAiAUEWNgIUIAFB6AM2AhggACgCACACNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsCfyAAIQQgACgCACECIAAoAgwhAyAAQQRqQQBB5AMQRRogACACNgIAIAAgAzYCDCAAQQE2AhAgBAsQwgUgAEEANgIIIABBADYCGCAAQQA2ArgCIABCADcCpAEgAEIANwKsASAAQgA3ArQBIABCADcCvAEgAEIANwLEASAAQgA3AswBIAAQuAUgABCQBiAAQcgBNgIUCxUAIAAoAgAiAEEANgJsIABBADYCFAvpAgEKfyMGIQYjBkEwaiQGIAZBCGohBAJAAkACfyAAKAIAIgIoAhQiA0EASgRAIAMgAigCdEwEQCACKAJwIANBAnRqDAILCyACKAJ4IgVFDQEgAyACKAJ8IgBIDQEgAyACKAKAAUoNASADIABrQQJ0IAVqCygCACIFRQ0ADAELIAIgAzYCGCACKAJwKAIAIQULIAUhAAJAAkADQAJAIABBAWohAwJAIAAsAAAiAARAIABBJUYEQAwFBQwCCwALDAELIAMhAAwBCwsMAQsgAywAAEHzAEYEQCAGIAJBGGo2AgAgASAFIAYQvAEgBiQGDwsLIAIoAhwhByACKAIgIQggAigCJCEJIAIoAighCiACKAIsIQsgAigCMCEDIAIoAjQhACAEIAIoAhg2AgAgBCAHNgIEIAQgCDYCCCAEIAk2AgwgBCAKNgIQIAQgCzYCFCAEIAM2AhggBCAANgIcIAEgBSAEELwBIAYkBgtOAQN/IwYhASMGQdABaiQGIAAoAgAoAgwhAiAAIAEgAkE/cUGyBWoRAwACf0GkiAEoAgAhAyABQcgBaiICIAE2AgAgAwsgAhCLBSABJAYLeQEBfyAAKAIAIQIgAUEATgRAIAIoAmggAUgEQA8LIAIoAgghASAAIAFB/wFxQawDahEBAA8LAkACQCACKAJsIgFFDQAgAigCaEECSg0ADAELIAIoAgghASAAIAFB/wFxQawDahEBACACKAJsIQELIAIgAUEBajYCbAsmAQF/IAAoAgAoAgghASAAIAFB/wFxQawDahEBACAAEJ4DQQEQAQtlACAAQYwBNgIAIABBNTYCBCAAQY0BNgIIIABBNjYCDCAAQY4BNgIQIABBADYCaCAAQQA2AmwgAEEANgIUIABBgBg2AnAgAEH+ADYCdCAAQQA2AnggAEEANgJ8IABBADYCgAEgAAsrAQF/IAAoAgQoAgAhASAAQQBBhAEgAUE/cUHKAWoRBAAiAEEANgKAASAACysBAX8gACgCBCgCACEBIABBAEGYAiABQT9xQcoBahEEACIAQQA2ApQCIAALtwYBBn8gAiADaiEEAkACQAJAAkAgAkENSwRAIAEsAABBygBGBEAgASwAAUHGAEcNAiABLAACQckARw0CIAEsAANBxgBHDQIgASwABA0CIABBATYCnAIgACABLAAFIgc6AKACIAAgASwABiIIOgChAiAAIAEsAAciCToAogIgACABLQAJIAEtAAhBCHRyIgY7AaQCIAAgAS0ACyABLQAKQQh0ciIDOwGmAiAHQX9qQRh0QRh1Qf8BcUECTgRAIAAoAgAiAkH6ADYCFCACIAdB/wFxNgIYIAAoAgAgAC0AoQI2AhwgACgCACgCBCECIABBfyACQT9xQbIFahEDACAALACgAiEHIAAsAKECIQggAC4BpAIhBiAALgGmAiEDIAAsAKICIQkLIAAhAiAAKAIAIgUgB0H/AXE2AhggBSAIQf8BcTYCHCAFIAZB//8DcTYCICAFIANB//8DcTYCJCAFIAlB/wFxNgIoIAVB2QA2AhQgBSgCBCEDIAJBASADQT9xQbIFahEDACABLAAMIgYgASwADSIDckH/AXEEQCAAKAIAIgNB3AA2AhQgAyABLQAMNgIYIAAoAgAgAS0ADTYCHCAAKAIAKAIEIQMgAkEBIANBP3FBsgVqEQMAIAEsAAwhBiABLAANIQMLIAZB/wFxQQNsIANB/wFxbCAEQXJqIgNGBEAPCyAAKAIAIgFB2gA2AhQgASADNgIYIAAoAgAoAgQhACACQQEgAEE/cUGyBWoRAwAPCwUgAkEFSwRAIAEsAABBygBGDQILCwwBCyABLAABQcYARgRAIAEsAAJB2ABGBEAgASwAA0HYAEYEQCABLAAERQRAAkACQAJAAkAgASwABUEQaw4EAAEDAgMLIAAoAgAiAUHuADYCFAwICyAAKAIAIgFB7wA2AhQMBwsgACgCACIBQfAANgIUDAYLIAAoAgAiAkHbADYCFCACIAEtAAU2AhggACgCACAENgIcDAYLCwsLCyAAKAIAIgFBzwA2AhQgASAENgIYIAAoAgAoAgQhASAAQQEgAUE/cUGyBWoRAwAPCyABIAQ2AhgLIAAoAgAoAgQhASAAQQEgAUE/cUGyBWoRAwALygUBCX8jBiECIwZBEGokBgJAIAAoAhgiBCgCBCIDRQRAIAQoAgwhAyAAIANB/wBxQQhqEQAARQ0BIAQoAgQhAwsgBCgCACIGQQFqIQEgBi0AACEFIANBf2oiA0UEQCAEKAIMIQMgACADQf8AcUEIahEAAEUNASAEKAIAIQEgBCgCBCEDCyADQX9qIQMgAUEBaiEGQQ4gAS0AACAFQf8BcUEIdHIiAUF+aiIHQQAgAUECSxsgAUEPSxsiBQRAAkBBACEBA0ACQCADRQRAIAQoAgwhAyAAIANB/wBxQQhqEQAARQ0BIAQoAgQhAyAEKAIAIQYLIAEgAmogBiwAADoAACADQX9qIQMgBkEBaiEGIAFBAWoiASAFSQ0BDAILCwwCCwsgByAFayEIAkACQAJAIAAoArgDIgFB4AFrIgkEQCAJQQ5GBEAMAgUMAwsACyAAIAIgBSAIELEFDAILIAIsAABBwQBGIAVBC0txBEAgAiwAAUHkAEYEQCACLAACQe8ARgRAIAIsAANB4gBGBEAgAiwABEHlAEYEQCACLQAIIAItAAdBCHRyIQcgAi0ACiACLQAJQQh0ciEJIAIsAAshBSAAKAIAIgEgAi0ABiACLQAFQQh0cjYCGCABIAc2AhwgASAJNgIgIAEgBUH/AXE2AiQgAUHOADYCFCABKAIEIQEgAEEBIAFBP3FBsgVqEQMAIABBATYCqAIgACAFOgCsAgwGCwsLCwsgACgCACIBQdAANgIUIAEgBzYCGCAAKAIAKAIEIQEgAEEBIAFBP3FBsgVqEQMADAELIAAoAgAiBUHGADYCFCAFIAE2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEACyAEIAY2AgAgBCADNgIEIAhBAEwEQCACJAZBAQ8LIAAoAhgoAhAhAyAAIAggA0E/cUGyBWoRAwAgAiQGQQEPCyACJAZBAAuMAgEGfyAAKAIYIgIoAgQiAUUEQCACKAIMIQEgACABQf8AcUEIahEAAAR/IAIoAgQFQQAPCyEBCyACKAIAIgNBAWohBCADLQAAIQMgAUF/aiIBRQRAIAIoAgwhASAAIAFB/wBxQQhqEQAABH8gAigCACEEIAIoAgQFQQAPCyEBCyAELQAAIANB/wFxQQh0ciIGQX5qIQUgACgCACIDQd0ANgIUIAMgACgCuAM2AhggACgCACAFNgIcIAAoAgAoAgQhAyAAQQEgA0E/cUGyBWoRAwAgAiAEQQFqNgIAIAIgAUF/ajYCBCAGQQJNBEBBAQ8LIAAoAhgoAhAhASAAIAUgAUE/cUGyBWoRAwBBAQuBAQEGfyAAKAIEIgUgASgCBEYEfyAAKAIIIgQgASgCCEYEfwN/IAIgBUgEfyACIARsIQZBACEDA0AgAyAESARAIAAoAgAgAyAGaiIHQQN0aiABKAIAIAdBA3RqKwMAOQMAIANBAWohAwwBCwsgAkEBaiECDAEFQQALCwVBfwsFQX8LC6kBAQJ/IAAoArgDIgFFBEAgABCxAgR/IAAoArgDBUEADwshAQsgACgC0AMoAhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); - // create markerControls for our markerRoot - var subMarkerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, item.parameters) +/***/ }), -// if( true ){ - // store it in the parameters - subMarkersControls.push(subMarkerControls) - subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// }else{ -// // build a smoothedControls -// var smoothedRoot = new THREE.Group() -// parent3D.add(smoothedRoot) -// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { -// lerpPosition : 0.1, -// lerpQuaternion : 0.1, -// lerpScale : 0.1, -// minVisibleDelay: 0, -// minUnvisibleDelay: 0, -// }) -// onRenderFcts.push(function(delta){ -// smoothedControls.update(markerRoot) // TODO this is a global -// }) -// -// -// // store it in the parameters -// subMarkersControls.push(smoothedControls) -// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// } - }) - - parameters.subMarkersControls = subMarkersControls - parameters.subMarkerPoses = subMarkerPoses - // create a new THREEx.ArMultiMarkerControls - var multiMarkerControls = new THREEx.ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) +/***/ "./three.js/src/threex/arjs-markercontrols-nft.worker.js": +/*!***************************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // return it - return multiMarkerControls -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Worker_fn) +/* harmony export */ }); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !!../../../node_modules/worker-loader/dist/runtime/inline.js */ "./node_modules/worker-loader/dist/runtime/inline.js"); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__); -ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitContext, subMarkersControls){ - var _this = this - this._arToolkitContext = arToolkitContext - // Init variables - this.subMarkersControls = subMarkersControls - this.enabled = true - - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) + +function Worker_fn() { + return _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default()("/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***!\n \\*****************************************************************/\n/***/ (function(module) {\n\n!function(A,I){ true?module.exports=I():0}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{\"use strict\";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener(\"abort\",G)}B.isFormData(h)&&delete s[\"Content-Type\"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||\"\",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):\"\";s.Authorization=\"Basic \"+btoa(t+\":\"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B=\"getAllResponseHeaders\"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&\"text\"!==R&&\"json\"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,\"onloadend\"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf(\"file:\"))&&setTimeout(n)},y.onabort=function(){y&&(g(a(\"Request aborted\",A,\"ECONNABORTED\",y)),y=null)},y.onerror=function(){g(a(\"Network Error\",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?\"timeout of \"+A.timeout+\"ms exceeded\":\"timeout exceeded\",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?\"ETIMEDOUT\":\"ECONNABORTED\",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}\"setRequestHeader\"in y&&B.forEach(s,(function(A,I){void 0===h&&\"content-type\"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&\"json\"!==R&&(y.responseType=A.responseType),\"function\"==typeof A.onDownloadProgress&&y.addEventListener(\"progress\",A.onDownloadProgress),\"function\"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener(\"progress\",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F(\"canceled\"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener(\"abort\",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{\"use strict\";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{\"use strict\";function I(A){this.message=A}I.prototype.toString=function(){return\"Cancel\"+(this.message?\": \"+this.message:\"\")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{\"use strict\";var B=g(263);function C(A){if(\"function\"!=typeof A)throw new TypeError(\"executor must be a function.\");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{\"use strict\";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{\"use strict\";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){\"string\"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method=\"get\";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){\"function\"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\\?/,\"\")},B.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{\"use strict\";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{\"use strict\";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{\"use strict\";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{\"use strict\";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i(\"canceled\")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{\"use strict\";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{\"use strict\";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B(\"Request failed with status code \"+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{\"use strict\";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{\"use strict\";var B=g(867),C=g(16),Q=g(481),E={\"Content-Type\":\"application/x-www-form-urlencoded\"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A[\"Content-Type\"])&&(A[\"Content-Type\"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:((\"undefined\"!=typeof XMLHttpRequest||\"undefined\"!=typeof process&&\"[object process]\"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,\"Accept\"),C(I,\"Content-Type\"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,\"application/x-www-form-urlencoded;charset=utf-8\"),A.toString()):B.isObject(A)||I&&\"application/json\"===I[\"Content-Type\"]?(i(I,\"application/json\"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if(\"SyntaxError\"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&\"json\"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if(\"SyntaxError\"===A.name)throw Q(A,this,\"E_JSON_PARSE\");throw A}}return A}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};B.forEach([\"delete\",\"get\",\"head\"],(function(A){D.headers[A]={}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:\"0.24.0\"}},849:A=>{\"use strict\";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{\"use strict\";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+=\"[]\":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+\"=\"+C(A))})))})),Q=E.join(\"&\")}if(Q){var i=A.indexOf(\"#\");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf(\"?\")?\"?\":\"&\")+Q}return A}},303:A=>{\"use strict\";A.exports=function(A,I){return I?A.replace(/\\/+$/,\"\")+\"/\"+I.replace(/^\\/+/,\"\"):A}},372:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+\"=\"+encodeURIComponent(I)),B.isNumber(g)&&i.push(\"expires=\"+new Date(g).toGMTString()),B.isString(C)&&i.push(\"path=\"+C),B.isString(Q)&&i.push(\"domain=\"+Q),!0===E&&i.push(\"secure\"),document.cookie=i.join(\"; \")},read:function(A){var I=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+A+\")=([^;]*)\"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{\"use strict\";A.exports=function(A){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(A)}},268:A=>{\"use strict\";A.exports=function(A){return\"object\"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement(\"a\");function C(A){var B=A;return I&&(g.setAttribute(\"href\",B),B=g.href),g.setAttribute(\"href\",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,\"\"):\"\",host:g.host,search:g.search?g.search.replace(/^\\?/,\"\"):\"\",hash:g.hash?g.hash.replace(/^#/,\"\"):\"\",hostname:g.hostname,port:g.port,pathname:\"/\"===g.pathname.charAt(0)?g.pathname:\"/\"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{\"use strict\";var B=g(867),C=[\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split(\"\\n\"),(function(A){if(Q=A.indexOf(\":\"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]=\"set-cookie\"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+\", \"+g:g}})),E):E}},713:A=>{\"use strict\";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{\"use strict\";var B=g(288).version,C={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(A,I){C[A]=function(g){return typeof g===A||\"a\"+(I<1?\"n \":\" \")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return\"[Axios v\"+B+\"] Transitional option '\"+A+\"'\"+I+(g?\". \"+g:\"\")}return function(g,B,E){if(!1===A)throw new Error(C(B,\" has been removed\"+(I?\" in \"+I:\"\")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B,\" has been deprecated since v\"+I+\" and will be removed in the near future\"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if(\"object\"!=typeof A)throw new TypeError(\"options must be an object\");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError(\"option \"+Q+\" must be \"+o)}else if(!0!==g)throw Error(\"Unknown option \"+Q)}},validators:C}},867:(A,I,g)=>{\"use strict\";var B=g(849),C=Object.prototype.toString;function Q(A){return\"[object Array]\"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&\"object\"==typeof A}function o(A){if(\"[object Object]\"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return\"[object Function]\"===C.call(A)}function a(A,I){if(null!=A)if(\"object\"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){\"use strict\";var I,g=Object.prototype,B=g.hasOwnProperty,C=\"function\"==typeof Symbol?Symbol:{},Q=C.iterator||\"@@iterator\",E=C.asyncIterator||\"@@asyncIterator\",i=C.toStringTag||\"@@toStringTag\";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},\"\")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error(\"Generator is already running\");if(B===h){if(\"throw\"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if(\"next\"===g.method)g.sent=g._sent=g.arg;else if(\"throw\"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else\"return\"===g.method&&g.abrupt(\"return\",g.arg);B=G;var o=a(A,I,g);if(\"normal\"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}\"throw\"===o.type&&(B=h,g.method=\"throw\",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:\"normal\",arg:A.call(I,g)}}catch(A){return{type:\"throw\",arg:A}}}A.wrap=D;var w=\"suspendedStart\",F=\"suspendedYield\",G=\"executing\",h=\"completed\",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){[\"next\",\"throw\",\"return\"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if(\"throw\"!==o.type){var D=o.arg,w=D.value;return w&&\"object\"==typeof w&&B.call(w,\"__await\")?I.resolve(w.__await).then((function(A){g(\"next\",A,E,i)}),(function(A){g(\"throw\",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g(\"throw\",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,\"throw\"===g.method){if(A.iterator.return&&(g.method=\"return\",g.arg=I,k(A,g),\"throw\"===g.method))return s;g.method=\"throw\",g.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return s}var C=a(B,A.iterator,g.arg);if(\"throw\"===C.type)return g.method=\"throw\",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,\"return\"!==g.method&&(g.method=\"next\",g.arg=I),g.delegate=null,s):Q:(g.method=\"throw\",g.arg=new TypeError(\"iterator result is not an object\"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type=\"normal\",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:\"root\"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if(\"function\"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if(\"root\"===E.tryLoc)return C(\"end\");if(E.tryLoc<=this.prev){var o=B.call(E,\"catchLoc\"),D=B.call(E,\"finallyLoc\");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,\"finallyLoc\")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if(\"throw\"===B.type){var C=B.arg;N(g)}return C}}throw new Error(\"illegal catch attempt\")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},\"next\"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=I:Function(\"r\",\"regeneratorRuntime = r\")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(A){if(\"object\"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{\"use strict\";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,\"next\",I)}function o(I){A(E,C,Q,i,o,\"throw\",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError(\"Cannot call a class as a function\")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&\"function\"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?\"symbol\":typeof A},D(A)}var a,w=(a=(a=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q=\"./this.program\",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i=\"object\"===(\"undefined\"==typeof window?\"undefined\":D(window)),o=\"function\"==typeof importScripts,w=\"object\"===(\"undefined\"==typeof process?\"undefined\":D(process))&&\"object\"===D(process.versions)&&\"string\"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U=\"\";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+\"/\":\"//\",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:\"utf8\"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\\\/g,\"/\")),C=process.argv.slice(2),process.on(\"uncaughtException\",(function(A){if(!(A instanceof NB))throw A})),process.on(\"unhandledRejection\",JA),E=function(A){process.exit(A)},A.inspect=function(){return\"[Emscripten Module object]\"}):F?(\"undefined\"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:\"function\"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H(\"object\"===D(I=read(A,\"binary\"))),I)},\"undefined\"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),\"function\"==typeof quit&&(E=function(A){quit(A)}),\"undefined\"!=typeof print&&(\"undefined\"==typeof console&&(console={}),console.log=print,console.warn=console.error=\"undefined\"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf(\"blob:\")?U.substr(0,U.lastIndexOf(\"/\")+1):\"\",G=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.responseType=\"arraybuffer\",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={\"f64-rem\":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),\"object\"!==(\"undefined\"==typeof WebAssembly?\"undefined\":D(WebAssembly))&&S(\"no native wasm support detected\");var e=new WebAssembly.Table({initial:878,maximum:878,element:\"anyfunc\"}),J=!1;function H(A,I){A||JA(\"Assertion failed: \"+I)}function L(A){return hA?RB(A):M(A)}var q=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q=\"\";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):\"\"}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C=\"\";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g=\"\";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if(\"function\"!=typeof g){var B=g.func;\"number\"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for(\"function\"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for(\"function\"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=\"\"),S(I),J=!0,I=\"abort(\"+I+\"). Build with -s ASSERTIONS=1 for more info.\",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA=\"data:application/octet-stream;base64,\";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA=\"data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEIaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEJaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEKaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUELaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEMaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUENaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEOaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEPaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEfciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAANJBEAgAyECDAELCwsgBiwABARAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBHQiCUECdGpBBDYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAARJBEAgAyECDAELCwsgBiwABQRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBA3QiBUECdGpBBTYCACAFIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogBUEBciIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEBaiIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDciIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEBaiIHQQJ0akEFNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUECaiIHQQJ0akEFNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDaiIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHciIFQQJ0akEFNgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAVJBEAgAyECDAELCwsgBiwABgRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBAnQiA0ECdGpBBjYCACADIARBkAlqaiABIAZBEWpqIgUsAAA6AAAgBEGQAWogA0EBciIJQQJ0akEGNgIAIAkgBEGQCWpqIAUsAAA6AAAgBEGQAWogCUEBaiIJQQJ0akEGNgIAIAkgBEGQCWpqIAUsAAA6AAAgBEGQAWogA0EDciIDQQJ0akEGNgIAIAMgBEGQCWpqIAUsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAZJBEAgAyECDAELCwsgBiwABwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBAXQiA0ECdGpBBzYCACADIARBkAlqaiABIAZBEWpqIgUsAAA6AAAgBEGQAWogA0EBciIDQQJ0akEHNgIAIAMgBEGQCWpqIAUsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAdJBEAgAyECDAELCwsgBiwACARAQQEhAgNAIARBkAFqIAFBAnQgCmooAgAiA0ECdGpBCDYCACADIARBkAlqaiABIAZBEWpqLAAAOgAAIAJBAWohAyABQQFqIQEgAiAGLQAISQRAIAMhAgwBCwsLIAwgCEEASnFFBEAgCiQGDwtBACEBA0AgASAGQRFqai0AAEEPSgRAIAAoAgAiAkEJNgIUIAIoAgAhAiALIAJB/wFxQawDahEBAAsgAUEBaiIBIAhHDQALIAokBgu8AQEFfwNAIARBA0cEQCAEQQV0IABqIQUgBEEFdCAAaiEGIARBBXQgAGohB0EAIQMDQCADQQRHBEAgBEEEdCACaiADQQJ0aiADQQJ0IAFqKgIAIAUrAwC2lCABQRBqIANBAnRqKgIAIAYrAwi2lJIgAUEgaiADQQJ0aioCACAHKwMQtpSSOAIAIANBAWohAwwBCwsgBEEEdCACaiIDIAMqAgwgBEEFdCAAaisDGLaSOAIMIARBAWohBAwBCwsL+lcDDn8DfQl8IwYhDSMGQYACaiQGIA1B0ABqIRIgDUGQAWoiD0QAAAAAAABZQDkDACAPRAAAAAAAAFlAOQMIIA9EAAAAAACAW0A5AxAgD0QAAAAAAABZQDkDGCAPRAAAAAAAgFtAOQMgIA9EAAAAAACAW0A5AyggD0QAAAAAAABZQDkDMCAPRAAAAAAAgFtAOQM4A0AgEEEERwRAIBBBBHQgEmogEEEEdCAJaisDADkDACAQQQR0IBJqIBBBBHQgCWorAwg5AwggEEEBaiEQDAELCyAPIBIgDRCJByASKwMAIh0gEisDECIeoSIfIB+iIBIrAwgiHyASKwMYIiChIiEgIaKgEHMhCSASKwMgIiEgEisDMCIioSIjICOiIBIrAygiIyASKwM4IiShIiUgJaKgEHMhEiAeICGhIh4gHqIgICAjoSIeIB6ioBBzIQ8gIiAdoSIdIB2iICQgH6EiHSAdoqAQcyEQIBIgCSASIAlKG7cgCqIgCqIQcyEVIBAgDyAQIA9KG7cgCqIgCqIQcyEQIAAEQCACIQkDQCAJQQF0IRIgCSAJQQJ0bCAVSCAJIANIcQRAIBIhCQwBCwsgAiESA0AgEkEBdCEPIBIgEkECdGwgEEggEiADSHEEQCAPIRIMAQsLBSACIQkDQCAJQQF0IRIgCSAJbCAVSCAJIANIcQRAIBIhCQwBCwsgAiESA0AgEkEBdCEPIBIgEmwgEEggEiADSHEEQCAPIRIMAQsLCyANQegBaiEMIA1B4AFqIQ4gDUHYAWohEyANQdABaiERIA1B8AFqIRAgDUHsAWohDyADIAkgCSADShsiCSACEDkhFSADIBIgEiADShsiAyACEDkhEkQAAAAAAADwPyAKoUQAAAAAAADgP6JEAAAAAAAAJECiIR0gCkQAAAAAAAAkQKIhCiACIAJsIRQCfwJAIAEEQCAUQQQQjQIiAUUEQEEAQQNBudgCIA4QPUEBEAELAkAgB0ECSQRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0CIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0GIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEDbCIMai0AACAEIAxBAWpqLQAAaiAEIAxBAmpqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAUgB0EBckEDRgRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMai0AACAEIAxBAXJqLQAAaiAEIAxBAnJqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgB0ECckEGRgRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMQQFyai0AACAEIAxBAnJqLQAAaiAEIAxBA3JqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsCQAJAAkACQAJAAkACQCAHQQVrDgoABgECAwQFAAAABgsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQggHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQwgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqai0AACEMIAAgEhA5IAJsIAcgFRA5akECdCABaiIOIAwgDigCAGo2AgALCyAHQQFqIQcMAQsLIABBAWohAAwAAAsACyAdRAAAAAAAAFlAoCEeIAO3ISEgCbchIiANQUBrIRMgAEEBRiERQQAhAANAIAAgA04NByAeIAogALdEAAAAAAAA4D+goiAho6AhHUEAIQcDQCAHIAlIBEAgEysDACAeIAogB7dEAAAAAAAA4D+goiAio6AiHyANKwMwoiAdIA0rAziioKAiIEQAAAAAAAAAAGENCyAQIA0rAxAgHyANKwMAoiAdIA0rAwiioKAgIKO2Iho4AgAgDyANKwMoIB8gDSsDGKIgHSANKwMgoqCgICCjtiIbOAIAIAggGiAbIBAgDxBtGiAQKgIAIRogEQR/IBpDAACAP5IQQ0ECEDlBAXQhDCAPKgIAQwAAgD+SEENBAhA5QQF0BSAaQwAAAD+SEEMhDCAPKgIAQwAAAD+SEEMLIQ4gDEF/SgRAIAwgBUggDkF/SnEgDiAGSHEEQCAEIAwgBSAObGpBAXRBAXJqLQAAIQwgACASEDkgAmwgByAVEDlqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0GIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0KIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdGotAAAhDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQUgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQkgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B+AFxQQRyIA5BBXRB4AFxIAQgDEEBcmotAAAiDEEDdkEccXJBAnJqIAxBA3RB+AFxQQRyakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQQgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQggECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B+AFxQQRyIA5BBXRB4AFxIAQgDEEBcmotAAAiDEEDdkEYcXJBBHJqIAxBAnRB+AFxQQRyakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQMgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQcgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B8AFxQQhyIA5BBHRB8AFxQQhyaiAEIAxBAXJqLAAAQXBxQQhyQf8BcWpBAxBIIQwgACASEDkgAmwgByAVEDlqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALQQBBA0HyqAEgDBA9DAMLAAsgEiAVbCECQQAhAANAIAAgFEcEQCAAIAtqIABBAnQgAWooAgAgAhBIOgAAIABBAWohAAwBCwsFIBRBA2wiGEEEEI0CIgFFBEBBAEEDQbnYAiARED1BARABCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBw4PAAECAwQFBgcICQoLBQUFDAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQ0gHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDREgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQNsIgxBAmpqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAWpqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQwgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDRAgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQNsIgxqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAWpqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBAmpqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQsgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ8gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxBAnJqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAXJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQogHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ4gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAXJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBAnJqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQkgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ0gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxBAXJqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAnJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBA3JqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQggHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQwgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqai0AACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhEgDCARKAIAajYCACAOQQFqQQJ0IAFqIhEgDCARKAIAajYCACAOQQJqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0HIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0LIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMQQNyai0AACERIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgESAWKAIAajYCACAOQQFqQQJ0IAFqIhEgBCAMQQJyai0AACARKAIAajYCACAOQQJqQQJ0IAFqIg4gBCAMQQFyai0AACAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshESAAQQFGIRZBACEAA0AgACADTg0GIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCARKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0KIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiAWBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgBSAObCIOIAxB/v8DcWpBAXQiFGotAABBgH9qsiEaIAQgFEECamotAABBgH9qsiEbIBpDThoBRJQgBCAMIA5qQQF0QQFyai0AAEFwarJDfwqVQ5QiHJIQQ0EIdSEMIBwgGkP+lMhClJMgG0O4HlBDlJMQQ0EIdSEOIBwgG0OgSsxDlJIQQ0EIdSEUIAAgEhA5IAJsIAcgFRA5akEDbCITQQJ0IAFqIhcgFygCACAMQQAgDEEAShsiDEH/ASAMQf8BSBtqNgIAIBNBAWpBAnQgAWoiDCAMKAIAIA5BACAOQQBKGyIOQf8BIA5B/wFIG2o2AgAgE0ECakECdCABaiIMIAwoAgAgFEEAIBRBAEobIgxB/wEgDEH/AUgbajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshESAAQQFGIRZBACEAA0AgACADTg0FIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCARKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0JIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiAWBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgBSAObCIOIAxB/v8DcWpBAXQiFEEBcmotAABBgH9qsiEaIAQgFEEDamotAABBgH9qsiEbIAQgDCAOakEBdGotAABBcGqyQ38KlUOUIhwgGkNOGgFElJIQQ0EIdSEMIBwgGkP+lMhClJMgG0O4HlBDlJMQQ0EIdSEOIBwgG0OgSsxDlJIQQ0EIdSEUIAAgEhA5IAJsIAcgFRA5akEDbCITQQJ0IAFqIhcgFygCACAMQQAgDEEAShsiDEH/ASAMQf8BSBtqNgIAIBNBAWpBAnQgAWoiDCAMKAIAIA5BACAOQQBKGyIOQf8BIA5B/wFIG2o2AgAgE0ECakECdCABaiIMIAwoAgAgFEEAIBRBAEobIgxB/wEgDEH/AUgbajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0EIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0IIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIRQQFyaiwAACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgFigCACAMQQN0Qf8BcUEEcmo2AgAgDkEBakECdCABaiIWIBYoAgAgBCARaiwAACIRQQV0Qf8BcSAMQeABcUEDdnJBAnJqNgIAIA5BAmpBAnQgAWoiDCAMKAIAIBFBeHFBBHJB/wFxajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIRQQFyaiwAACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgFigCACAMQQJ0Qf8BcUEEcmo2AgAgDkEBakECdCABaiIWIBYoAgAgBCARaiwAACIRQQV0Qf8BcSAMQcABcUEDdnJBBHJqNgIAIA5BAmpBAnQgAWoiDCAMKAIAIBFBeHFBBHJB/wFxajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0CIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0GIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIOQQFyaiwAAEFwcUEIckH/AXEhESAAIBIQOSACbCAHIBUQOWpBA2wiDEECdCABaiIWIBEgFigCAGo2AgAgDEEBakECdCABaiIRIBEoAgAgBCAOaiwAACIOQQR0Qf8BcUEIcmo2AgAgDEECakECdCABaiIMIAwoAgAgDkFwcUEIckH/AXFqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAtBAEEDQfKoASATED0MAgsgEiAVbCECQQAhAANAIAAgGEcEQCAAIAtqIABBAnQgAWooAgAgAhBIOgAAIABBAWohAAwBCwsLIAEQOEEADAELIAEQOEF/CyEZIA0kBiAZC6kBACAAIAEqAgCMOAIAIAAgASoCBIw4AgQgAEMAAIC/OAIIIABBDGoQwgMgACACKgIAIAEqAgCUOAIYIAAgAioCACABKgIElDgCHCAAIAIoAgA2AiAgAEEkahDCAyAAIAEqAgCMOAIwIAAgASoCBIw4AjQgAEMAAIC/OAI4IAAgAioCBCABKgIAlDgCPCAAQUBrIAIqAgQgASoCBJQ4AgAgACACKAIENgJECyQAIAAgASACEIUBQwAAAABeIAMgBCAFEIUBQwAAAABec0EBcwsMACAAIAEgACABXRsLIAAgACoCACABKgIElCAAKgIEIAEqAgCUk4tDAAAAP5QLTAECfyMGIQIjBkEgaiQGIAAoAgggACgCACIDa0EDdSABSQRAIAIgASAAKAIEIANrQQN1IABBCGoQiAIgACACEM0CIAIQzAILIAIkBgsHACAAQRBqCwkAIAAgARDbAwsMACAAIAFBAXE6AGQLKgAgAEEANgIAIABBADYCBCAAQQA2AgggAQRAIAAgARCdCCAAIAEQ9gMLCwwAIAAgASAAIAFIGwsVACAAQfyFATYCACAAQQRqIAEQ3gILowICBH8BfSMGIQMjBkEQaiQGIAJDAAAAAGBFBEAgA0HAyANBnZsCEDdBqJkCEDdB76ICEDdB6AEQPkH2ogIQN0G/mwIQNyIFIAUoAgBBdGooAgBqEDsgA0GAzgMQOiIGKAIAKAIcIQQgBkEKIARBP3FBigFqEQIAIQQgAxA8IAUgBBBAIAUQPxAACyAAKAIUsiACXgRAIAAqAhggAhDlBEEBIAF0spQhByADJAYgBw8FIANBwMgDQdabAhA3QaiZAhA3Qe+iAhA3QekBED5B9qICEDdBiZwCEDciBCAEKAIAQXRqKAIAahA7IANBgM4DEDoiASgCACgCHCEAIAFBCiAAQT9xQYoBahECACEAIAMQPCAEIAAQQCAEED8QAAtDAAAAAAtzAQF/IABBADYCDCAAIAM2AhAgAQRAIAFB/////wFLBEBBCBAFIgMQiAEgA0G0iwE2AgAgA0H49wBBFhAEBSABQQN0EFEhBAsLIAAgBDYCACAAIAJBA3QgBGoiAjYCCCAAIAI2AgQgACABQQN0IARqNgIMC0wBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AggLHAAgAEEARyABQQVJcQR/IAAgATYCGEEABUF/CwsIAEEOEAJBAAsIAEEIEAJBAAtXAQF/IAAEQCAAIAFsIQIgACABckH//wNLBEAgAkF/IAIgABBIIAFGGyECCwsgAhBEIgBFBEAgAA8LIABBfGooAgBBA3FFBEAgAA8LIABBACACEEUaIAALvAEBBX8jBiEDIwZBEGokBiADIAE2AgAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBAQshASADQQRqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQkQQgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgAkECdCAAaiIAIAMQbiAEQQA2AgAgAEEEaiAEEG4gAyQGCxIAIAAQOCABEDggAhA4IAMQOAsIAEH/////BwsFAEH/AAuJBgEIfyMGIQkjBkEQaiQGIAZBoM4DEDohCiAGQajOAxA6IgsoAgAoAhQhBiAJIAsgBkE/cUGyBWoRAwAgCSgCBCAJLAALIgZB/wFxIAZBAEgbBEAgBSADNgIAIAICfwJAAkAgACwAACIGQStrDgMAAQABCyAKKAIAKAIsIQcgCiAGIAdBP3FBigFqEQIAIQYgBSAFKAIAIgdBBGo2AgAgByAGNgIAIABBAWoMAQsgAAsiBmtBAUoEQCAGLAAAQTBGBEAgBiwAAUHYAGsiB0EAIAdBIEcbRQRAIAooAgAoAiwhByAKQTAgB0E/cUGKAWoRAgAhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgCigCACgCLCEHIAogBiwAASAHQT9xQYoBahECACEHIAUgBSgCACIIQQRqNgIAIAggBzYCACAGQQJqIQYLCwsgAiAGRwRAAkAgAiEHIAYhCANAIAggB0F/aiIHTw0BIAgsAAAhDSAIIAcsAAA6AAAgByANOgAAIAhBAWohCAwAAAsACwsgCygCACgCECEHIAsgB0H/AHFBCGoRAAAhDSAGIQhBACEHQQAhCwNAIAggAkkEQCAHIAkoAgAgCSAJLAALQQBIG2osAAAiDEEARyALIAxGcQRAIAUgBSgCACILQQRqNgIAIAsgDTYCACAHIAcgCSgCBCAJLAALIgdB/wFxIAdBAEgbQX9qSWohB0EAIQsLIAooAgAoAiwhDCAKIAgsAAAgDEE/cUGKAWoRAgAhDCAFIAUoAgAiDkEEajYCACAOIAw2AgAgCEEBaiEIIAtBAWohCwwBCwsgBiAAa0ECdCADaiIHIAUoAgAiBkYEfyAHBQNAIAcgBkF8aiIGSQRAIAcoAgAhCCAHIAYoAgA2AgAgBiAINgIAIAdBBGohBwwBCwsgBSgCAAshBQUgCigCACgCMCEGIAogACACIAMgBkEPcUGKAmoRCQAaIAUgAiAAa0ECdCADaiIFNgIACyAEIAUgASAAa0ECdCADaiABIAJGGzYCACAJEEcgCSQGC4AGAQh/IwYhCSMGQRBqJAYgBkGAzgMQOiEKIAZBkM4DEDoiCygCACgCFCEGIAkgCyAGQT9xQbIFahEDACAJKAIEIAksAAsiBkH/AXEgBkEASBsEQCAFIAM2AgAgAgJ/AkACQCAALAAAIgZBK2sOAwABAAELIAooAgAoAhwhByAKIAYgB0E/cUGKAWoRAgAhBiAFIAUoAgAiB0EBajYCACAHIAY6AAAgAEEBagwBCyAACyIGa0EBSgRAIAYsAABBMEYEQCAGLAABQdgAayIHQQAgB0EgRxtFBEAgCigCACgCHCEHIApBMCAHQT9xQYoBahECACEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAKKAIAKAIcIQcgCiAGLAABIAdBP3FBigFqEQIAIQcgBSAFKAIAIghBAWo2AgAgCCAHOgAAIAZBAmohBgsLCyACIAZHBEACQCACIQcgBiEIA0AgCCAHQX9qIgdPDQEgCCwAACENIAggBywAADoAACAHIA06AAAgCEEBaiEIDAAACwALCyALKAIAKAIQIQcgCyAHQf8AcUEIahEAACENIAYhCEEAIQdBACELA0AgCCACSQRAIAcgCSgCACAJIAksAAtBAEgbaiwAACIMQQBHIAsgDEZxBEAgBSAFKAIAIgtBAWo2AgAgCyANOgAAIAcgByAJKAIEIAksAAsiB0H/AXEgB0EASBtBf2pJaiEHQQAhCwsgCigCACgCHCEMIAogCCwAACAMQT9xQYoBahECACEMIAUgBSgCACIOQQFqNgIAIA4gDDoAACAIQQFqIQggC0EBaiELDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAcFA0AgByAGQX9qIgZJBEAgBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAELCyAFKAIACyEFBSAKKAIAKAIgIQYgCiAAIAIgAyAGQQ9xQYoCahEJABogBSADIAIgAGtqIgU2AgALIAQgBSADIAEgAGtqIAEgAkYbNgIAIAkQRyAJJAYL7QEBBX8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJGIgQEf0EABSAAQS46AAAgAEEqOgABIABBAmohAEEBCyEHIAJBgIABcSECA0AgASwAACIGBEAgACAGOgAAIAFBAWohASAAQQFqIQAMAQsLIAACfwJAAkAgA0EEayIBBEAgAUH8AUYEQAwCBQwDCwALIAJBCXZB/wFxQeYAcwwCCyACQQl2Qf8BcUHlAHMMAQsgAkEJdkH/AXEhASABQeEAcyABQecAcyAEGws6AAAgBwueCAENfyMGIRAjBkHwAGokBiAQIQkgAyACa0EMEDkiB0HkAEsEQCAHEEQiCQRAIAkiDSESBRAACwUgCSENCyACIQogDSEJA0AgAyAKRwRAIAosAAsiCEEASAR/IAooAgQFIAhB/wFxCwRAIAlBAToAAAUgCUECOgAAIAxBAWohDCAHQX9qIQcLIApBDGohCiAJQQFqIQkMAQsLIAwhCSAHIQwDQAJAIAAoAgAiCAR/IAgoAgwiByAIKAIQRgR/IAggCCgCACgCJEH/AHFBCGoRAAAFIAcoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQogASgCACIHBH8gBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8AcUEIahEAAAUgCCgCAAtBfxBBBH8gAUEANgIAQQAhB0EBBUEACwVBACEHQQELIRMgACgCACELIBMgCnMgDEEAR3FFDQAgCygCDCIHIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBygCAAshDyAGRQRAIAQgDyAEKAIAKAIcQT9xQYoBahECACEPCyARQQFqIQsgAiEIQQAhCiANIQ4gCSEHA0AgAyAIRwRAIA4sAABBAUYEQAJAIAgsAAtBAEgEfyAIKAIABSAICyARQQJ0aigCACEJIAYEfyAJBSAEIAkgBCgCACgCHEE/cUGKAWoRAgALIA9HBEAgDkEAOgAAIAxBf2ohDAwBCyAILAALIglBAEgEfyAIKAIEBSAJQf8BcQsgC0YEQCAOQQI6AAAgDEF/aiEMIAdBAWohBwtBASEKCwsgCEEMaiEIIA5BAWohDgwBCwsgCgRAAkAgACgCACIIKAIMIgkgCCgCEEYEQCAIIAgoAgAoAihB/wBxQQhqEQAAGgUgCCAJQQRqNgIMIAkoAgAaCyAHIAxqQQFLBEAgAiEKIA0hCQNAIAMgCkYNAiAJLAAAQQJGBEAgCiwACyIIQQBIBH8gCigCBAUgCEH/AXELIAtHBEAgCUEAOgAAIAdBf2ohBwsLIApBDGohCiAJQQFqIQkMAAALAAsLCyALIREgByEJDAELCyALBH8gCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshBAJAAkACQCAHRQ0AIAcoAgwiACAHKAIQRgR/IAcgBygCACgCJEH/AHFBCGoRAAAFIAAoAgALQX8QQQRAIAFBADYCAAwBBSAERQ0CCwwCCyAEDQAMAQsgBSAFKAIAQQJyNgIACwJAAkADQCACIANGDQEgDSwAAEECRwRAIAJBDGohAiANQQFqIQ0MAQsLDAELIAUgBSgCAEEEcjYCACADIQILIBIQOCAQJAYgAgurCAENfyMGIRAjBkHwAGokBiAQIQcgAyACa0EMEDkiCUHkAEsEQCAJEEQiBwRAIAciCyESBRAACwUgByELCyACIQcgCyEKA0AgAyAHRwRAIAcsAAsiDEEASAR/IAcoAgQFIAxB/wFxCwRAIApBAToAAAUgCkECOgAAIAlBf2ohCSAIQQFqIQgLIAdBDGohByAKQQFqIQoMAQsLIAkhCiAIIQkDQAJAIAAoAgAiBwR/IAcoAgwiCCAHKAIQRgR/IAcgBygCACgCJEH/AHFBCGoRAAAFIAgsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQsCfyABKAIAIggEfyAIKAIMIgcgCCgCEEYEfyAIIAgoAgAoAiRB/wBxQQhqEQAABSAHLAAAEEILQX8QQQR/IAFBADYCAEEAIQhBAQVBAAsFQQAhCEEBCyETIAAoAgAhByATC3MgCkEAR3FFDQAgBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8AcUEIahEAAAUgCCwAABBCC0H/AXEhDiAGRQRAIAQgDiAEKAIAKAIMQT9xQYoBahECACEOCyAPQQFqIQwgAiEHQQAhCCALIQ0DQCADIAdHBEAgDSwAAEEBRgRAAkAgBywAC0EASAR/IAcoAgAFIAcLIA9qLAAAIREgDkH/AXEgBgR/IBEFIAQgESAEKAIAKAIMQT9xQYoBahECAAtB/wFxRwRAIA1BADoAACAKQX9qIQoMAQsgBywACyIIQQBIBH8gBygCBAUgCEH/AXELIAxGBEAgDUECOgAAIApBf2ohCiAJQQFqIQkLQQEhCAsLIAdBDGohByANQQFqIQ0MAQsLIAgEQAJAIAAoAgAiBygCDCIIIAcoAhBGBEAgByAHKAIAKAIoQf8AcUEIahEAABoFIAcgCEEBajYCDCAILAAAEEIaCyAJIApqQQFLBEAgAiEHIAshCANAIAMgB0YNAiAILAAAQQJGBEAgBywACyIPQQBIBH8gBygCBAUgD0H/AXELIAxHBEAgCEEAOgAAIAlBf2ohCQsLIAdBDGohByAIQQFqIQgMAAALAAsLCyAMIQ8MAQsLIAcEfyAHKAIMIgQgBygCEEYEfyAHIAcoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQACQAJAAkAgCEUNACAIKAIMIgQgCCgCEEYEfyAIIAgoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQRAIAFBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBSAFKAIAQQJyNgIACwJAAkADfyACIANGDQEgCywAAEECRgR/IAIFIAJBDGohAiALQQFqIQsMAQsLIQMMAQsgBSAFKAIAQQRyNgIACyASEDggECQGIAMLiQEBAn8gACgCBCIBIAEoAgBBdGooAgBqIgEoAhgEQCABKAIQRQRAIAEoAgRBgMAAcQRAIAAoAgQiASABKAIAQXRqKAIAaigCGCIBKAIAKAIYIQIgASACQf8AcUEIahEAAEF/RgRAIAAoAgQiACAAKAIAQXRqKAIAaiIAIAAoAhBBAXIQ7gELCwsLCzwAIABBADoAACAAIAE2AgQgASABKAIAQXRqKAIAaiIBKAIQRQRAIAEoAkgiAQRAIAEQPwsgAEEBOgAACwsKACAAQQRqEJ0CCwoAIABBCGoQnQILBABBfwsDAAELMwAgAEGMjAE2AgAgABDQCyAAQRxqEDwgACgCIBA4IAAoAiQQOCAAKAIwEDggACgCPBA4C1UBA38gACgCBCIGQQh1IQUgBkEBcQRAIAIoAgAgBWooAgAhBQsgACgCACIAKAIAKAIYIQcgACABIAIgBWogA0ECIAZBAnEbIAQgB0E/cUGaBmoRBQALLgEBfyMGIQIjBkEQaiQGIAIgATYCAEGkiAEoAgAiASAAIAIQpQIaIAEQ8gQQAAt8AwF/AX4CfCMGIQMjBkGQAWokBiADQQBBkAEQRRogAyAANgIEIANBfzYCCCADIAA2AiwgA0F/NgJMIANCABCCASADIAJBARCSAyEGIAMpA3ggAygCBCADKAIIa6x8IQQgAQRAIAEgACAAIASnaiAEUBs2AgALIAMkBiAGCw0AIAAgASACQn8QhAML3wEBBn8jBiEGIwZB8AFqJAYgBiAANgIAIANBAUoEQAJAQQAgAWshCSADIQdBASEDIAAhBQNAIAUgACAJaiIAIAdBfmoiCkECdCAEaigCAGsiCCACQT9xQYoBahECAEF/SgRAIAUgACACQT9xQYoBahECAEF/Sg0CCyADQQJ0IAZqIQUgA0EBaiEDIAggACACQT9xQYoBahECAEF/SgR/IAUgCDYCACAIIQAgB0F/agUgBSAANgIAIAoLIgdBAUoEQCAGKAIAIQUMAQsLCwVBASEDCyABIAYgAxD/AiAGJAYLKQECfyMGIQQjBkEQaiQGIAQgAzYCACAAIAEgAiAEEKkBIQUgBCQGIAUL6hICFH8BfiMGIQ8jBkFAayQGIA9BKGohCiAPQTBqIRggD0E8aiEWIA9BOGoiDCABNgIAIABBAEchEiAPQShqIhUhEyAPQSdqIRdBACEBAkACQANAAkADQCAJQX9KBEAgAUH/////ByAJa0oEf0GkxQNBPTYCAEF/BSABIAlqCyEJCyAMKAIAIgssAAAiCEUNAyALIQECQAJAA0ACQAJAIAhBGHRBGHUiCARAIAhBJUcNAQwECwwBCyAMIAFBAWoiATYCACABLAAAIQgMAQsLDAELIAEhCANAIAgsAAFBJUcNASABQQFqIQEgDCAIQQJqIgg2AgAgCCwAAEElRg0ACwsgASALayEBIBIEQCAAIAsgARByCyABDQALIAwoAgAsAAEQigFFIQggDCAMKAIAIgEgCAR/QX8hDUEBBSABLAACQSRGBH8gASwAAUFQaiENQQEhBUEDBUF/IQ1BAQsLaiIBNgIAIAEsAAAiBkFgaiIIQR9LQQEgCHRBidEEcUVyBEBBACEIBUEAIQYDQCAGQQEgCHRyIQggDCABQQFqIgE2AgAgASwAACIGQWBqIgdBH0tBASAHdEGJ0QRxRXJFBEAgCCEGIAchCAwBCwsLIAZB/wFxQSpGBEAgDAJ/AkAgASwAARCKAUUNACAMKAIAIgcsAAJBJEcNACAHLAABQVBqQQJ0IARqQQo2AgAgBywAAUFQakEDdCADaikDAKchAUEBIQYgB0EDagwBCyAFBEBBfyEJDAMLIBIEQCACKAIAQQNqQXxxIgUoAgAhASACIAVBBGo2AgAFQQAhAQtBACEGIAwoAgBBAWoLIgU2AgBBACABayABIAFBAEgiARshECAIQYDAAHIgCCABGyEOIAYhCAUgDBCNAyIQQQBIBEBBfyEJDAILIAghDiAFIQggDCgCACEFCyAFLAAAQS5GBEACQCAFQQFqIQEgBSwAAUEqRwRAIAwgATYCACAMEI0DIQEgDCgCACEFDAELIAUsAAIQigEEQCAMKAIAIgUsAANBJEYEQCAFLAACQVBqQQJ0IARqQQo2AgAgBSwAAkFQakEDdCADaikDAKchASAMIAVBBGoiBTYCAAwCCwsgCARAQX8hCQwDCyASBEAgAigCAEEDakF8cSIFKAIAIQEgAiAFQQRqNgIABUEAIQELIAwgDCgCAEECaiIFNgIACwVBfyEBC0EAIQcDQCAFLAAAQb9/akE5SwRAQX8hCQwCCyAMIAVBAWoiBjYCACAFLAAAIAdBOmxqQY/WAGosAAAiEUH/AXEiBUF/akEISQRAIAUhByAGIQUMAQsLIBFFBEBBfyEJDAELIA1Bf0ohFAJAAkAgEUETRgRAIBQEQEF/IQkMBAsFAkAgFARAIA1BAnQgBGogBTYCACAKIA1BA3QgA2opAwA3AwAMAQsgEkUEQEEAIQkMBQsgCiAFIAIQjAMgDCgCACEGDAILCyASDQBBACEBDAELIA5B//97cSINIA4gDkGAwABxGyEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGQX9qLAAAIgZBX3EgBiAGQQ9xQQNGIAdBAEdxGyIGQcEAaw44CQoHCgkJCQoKCgoKCgoKCgoKCAoKCgoLCgoKCgoKCgoJCgUDCQkJCgMKCgoKAAIBCgoGCgQKCgsKCwJAAkACQAJAAkACQAJAAkAgB0H/AXFBGHRBGHUOCAABAgMEBwUGBwsgCigCACAJNgIAQQAhAQwXCyAKKAIAIAk2AgBBACEBDBYLIAooAgAgCaw3AwBBACEBDBULIAooAgAgCTsBAEEAIQEMFAsgCigCACAJOgAAQQAhAQwTCyAKKAIAIAk2AgBBACEBDBILIAooAgAgCaw3AwBBACEBDBELQQAhAQwQC0H4ACEGIAFBCCABQQhLGyEBIAVBCHIhBQwJC0EAIQtBkP4CIQ4gASATIAopAwAgFRCEBSIHayIGQQFqIAVBCHFFIAEgBkpyGyEBDAsLIAopAwAiGUIAUwR/IApCACAZfSIZNwMAQQEhC0GQ/gIFIAVBgRBxQQBHIQtBkf4CQZL+AkGQ/gIgBUEBcRsgBUGAEHEbCyEODAgLQQAhC0GQ/gIhDiAKKQMAIRkMBwsgFyAKKQMAPAAAIBchBkEAIQtBkP4CIQ5BASEHIA0hBSATIQEMCgsgCigCACIFQZr+AiAFGyIGQQAgARCmAiIRRSEUQQAhC0GQ/gIhDiABIBEgBmsgFBshByANIQUgASAGaiARIBQbIQEMCQsgDyAKKQMAPgIwIA9BADYCNCAKIBg2AgBBfyELDAULIAEEQCABIQsMBQUgAEEgIBBBACAFEHVBACEBDAcLAAsgACAKKwMAIBAgASAFIAZBiQERIgAhAQwHCyALIQZBACELQZD+AiEOIAEhByATIQEMBQsgCikDACAVIAZBIHEQhQUhB0EAQQIgBUEIcUUgCikDAFByIg0bIQtBkP4CIAZBBHZBkP4CaiANGyEODAILIBkgFRC+ASEHDAELIAooAgAhBkEAIQECQAJAA0AgBigCACIHBEAgFiAHEIsDIgdBAEgiDSAHIAsgAWtLcg0CIAZBBGohBiALIAEgB2oiAUsNAQsLDAELIA0EQEF/IQkMBgsLIABBICAQIAEgBRB1IAEEQCAKKAIAIQZBACELA0AgBigCACIHRQ0DIAsgFiAHEIsDIgdqIgsgAUoNAyAGQQRqIQYgACAWIAcQciALIAFJDQALBUEAIQELDAELIAcgFSAKKQMAQgBSIg0gAUEAR3IiERshBiABIBMgB2sgDUEBc2oiByABIAdKG0EAIBEbIQcgBUH//3txIAUgAUF/ShshBSATIQEMAQsgAEEgIBAgASAFQYDAAHMQdSAQIAEgECABShshAQwBCyAAQSAgCyABIAZrIg0gByAHIA1IGyIRaiIHIBAgECAHSBsiASAHIAUQdSAAIA4gCxByIABBMCABIAcgBUGAgARzEHUgAEEwIBEgDUEAEHUgACAGIA0QciAAQSAgASAHIAVBgMAAcxB1CyAIIQUMAQsLDAELIABFBEAgBQR/QQEhAANAIABBAnQgBGooAgAiAQRAIABBA3QgA2ogASACEIwDIABBAWoiAEEKSQ0BQQEhCQwECwsDfyAAQQJ0IARqKAIABEBBfyEJDAQLIABBAWoiAEEKSQ0AQQELBUEACyEJCwsgDyQGIAkLCwAgACABIAIQhwUL/QEBA38gAUH/AXEhBAJAAkACQCACQQBHIgMgAEEDcUEAR3EEQCABQf8BcSEFA0AgBSAALQAARg0CIAJBf2oiAkEARyIDIABBAWoiAEEDcUEAR3ENAAsLIANFDQELIAFB/wFxIgEgAC0AAEYEQCACRQ0BDAILIARBgYKECGwhAwJAAkAgAkEDTQ0AA0AgAyAAKAIAcyIEQf/9+3dqIARBgIGChHhxQYCBgoR4c3FFBEAgAEEEaiEAIAJBfGoiAkEDSw0BDAILCwwBCyACRQ0BCwNAIAAtAAAgAUH/AXFGDQIgAkF/aiICRQ0BIABBAWohAAwAAAsAC0EAIQALIAALjwEBAn8gACAALABKIgEgAUH/AWpyOgBKIAAoAhQgACgCHEsEQCAAKAIkIQEgAEEAQQAgAUE/cUHKAWoRBAAaCyAAQQA2AhAgAEEANgIcIABBADYCFCAAKAIAIgFBBHEEfyAAIAFBIHI2AgBBfwUgACAAKAIsIAAoAjBqIgI2AgggACACNgIEIAFBG3RBH3ULC5EBAQN/An8CQCAAKAIUIAAoAhxNDQAgACgCJCEBIABBAEEAIAFBP3FBygFqEQQAGiAAKAIUDQBBfwwBCyAAKAIEIgEgACgCCCICSQRAIAAoAighAyAAIAEgAmusQQEgA0EDcUGmA2oRFAAaCyAAQQA2AhAgAEEANgIcIABBADYCFCAAQQA2AgggAEEANgIEQQALC4cBAQF/IAAEQAJ/IAAoAkxBf0wEQCAAEKgCDAELIAAQqAILIQAFQbCIASgCAAR/QbCIASgCABCpAgVBAAshABCrAigCACIBBEADQCABKAJMQX9KBH9BAQVBAAsaIAEoAhQgASgCHEsEQCABEKgCIAByIQALIAEoAjgiAQ0ACwtBqMUDEA4LIAAL+gEBA38gAUH/AXEiAgRAAkAgAEEDcQRAIAFB/wFxIQMDQCAALAAAIgRFIANBGHRBGHUgBEZyDQIgAEEBaiIAQQNxDQALCyACQYGChAhsIQMgACgCACICQf/9+3dqIAJBgIGChHhxQYCBgoR4c3FFBEADQCACIANzIgJB//37d2ogAkGAgYKEeHFBgIGChHhzcUUEQCAAQQRqIgAoAgAiAkH//ft3aiACQYCBgoR4cUGAgYKEeHNxRQ0BCwsLIAFB/wFxIQIDQCAAQQFqIQEgACwAACIDRSACQRh0QRh1IANGckUEQCABIQAMAQsLCwUgABBgIABqIQALIAALDABBqMUDEBpBsMUDCx8AIABB//8DcQR/QaTFAyAAQf//A3E2AgBBfwVBAAsL9AECCX8BfCABKAIIIgggAigCBEYEfyAAKAIEIgogASgCBEYEfyAAKAIIIgkgAigCCEYEfyAAKAIAIQADfyADIApIBH8gAyAIbCELQQAhBANAIAQgCUgEQCAARAAAAAAAAAAAOQMAIAIoAgAgBEEDdGohBSABKAIAIAtBA3RqIQZBACEHRAAAAAAAAAAAIQwDQCAHIAhIBEAgACAMIAYrAwAgBSsDAKKgIgw5AwAgCUEDdCAFaiEFIAZBCGohBiAHQQFqIQcMAQsLIARBAWohBCAAQQhqIQAMAQsLIANBAWohAwwBBUEACwsFQX8LBUF/CwVBfwsL8gIBA38gACgCBCEDIAFBAUsEQCAAKAIAIgJBDzYCFCACIAE2AhggACAAKAIAKAIAQf8BcUGsA2oRAQAFIAFBAUYEQCADKAJEIgIEQANAIAIoAigEQCACQQA2AiggACACQTBqIAIoAjhBP3FBsgVqEQMACyACKAIsIgINAAsLIANBADYCRCADKAJIIgIEQANAIAIoAigEQCACQQA2AiggACACQTBqIAIoAjhBP3FBsgVqEQMACyACKAIsIgINAAsLIANBADYCSAsLIANBPGogAUECdGoiACgCACECIABBADYCACACBEADQCACKAIAIQAgAigCCCACKAIEQRBqaiEEIAIQOCADIAMoAkwgBGs2AkwgAARAIAAhAgwBCwsLIANBNGogAUECdGoiACgCACEBIABBADYCACABRQRADwsDQCABKAIAIQAgASgCCCABKAIEQRBqaiECIAEQOCADIAMoAkwgAms2AkwgAARAIAAhAQwBCwsL9AEBBH8gACgCBCEEIAJB8JPr3ANLBEAgACgCACIDQTg2AhQgA0EDNgIYIAAgACgCACgCAEH/AXFBrANqEQEACyABQQFLBEAgACgCACIDQQ82AhQgAyABNgIYIAAgACgCACgCAEH/AXFBrANqEQEACyACQQggAkEHcSIDa0EAIAMbaiIDQRBqIgUQRCICRQRAIAAoAgAiBkE4NgIUIAZBBDYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgBCAFIAQoAkxqNgJMIAIgBEE8aiABQQJ0aiIAKAIANgIAIAIgAzYCBCACQQA2AgggACACNgIAIAJBEGoL2gkBEX8gACgC5AMoAhghDCABKAIEIgggASgCACICTCABKAIIIgkgASgCDCIKSnIgASgCECIGIAEoAhQiB0pyBEAgAiEABQJAIAIhAANAAkAgAEECdCAMaigCACENIAkhAwNAIANBBnQgDWogBkEBdGohBSAGIQQDQCAFLgEADQIgBUECaiEFIARBAWohCyAEIAdIBEAgCyEEDAELCyADQQFqIQQgAyAKSARAIAQhAwwBCwsgAEEBaiEDIAAgCEgEQCADIQAMAgUgAiEADAMLAAsLIAEgADYCAAsLIAggAEwgCSAKSnIgBiAHSnJFBEACQCAIIQIDQAJAIAJBAnQgDGooAgAhDSAJIQMDQCADQQZ0IA1qIAZBAXRqIQUgBiEEA0AgBS4BAA0CIAVBAmohBSAEQQFqIQsgBCAHSARAIAshBAwBCwsgA0EBaiEEIAMgCkgEQCAEIQMMAQsLIAJBf2ohDiACIABMDQIgDiECDAELCyABIAI2AgQgAiEICwsgCCAASCAKIAlMciAGIAdKckUEQAJAIAkhAgNAAkAgACEDA0AgA0ECdCAMaigCACACQQZ0aiAGQQF0aiEFIAYhBANAIAUuAQANAiAFQQJqIQUgBEEBaiELIAQgB0gEQCALIQQMAQsLIANBAWohBCADIAhIBEAgBCEDDAELCyACQQFqIQ8gAiAKTg0CIA8hAgwBCwsgASACNgIIIAIhCQsLIAggAEggCiAJTHIgBiAHSnJFBEACQCAKIQIDQAJAIAAhAwNAIANBAnQgDGooAgAgAkEGdGogBkEBdGohBSAGIQQDQCAFLgEADQIgBUECaiEFIARBAWohCyAEIAdIBEAgCyEEDAELCyADQQFqIQQgAyAISARAIAQhAwwBCwsgAkF/aiEQIAIgCUwNAiAQIQIMAQsLIAEgAjYCDCACIQoLCyAIIABIIAcgBkxyIAogCUhyRQRAAkAgBiECA0ACQCAAIQMDQCADQQJ0IAxqKAIAIAkiBEEGdGogAkEBdGohBQNAIAUuAQANAiAEQQFqIQsgBUFAayEFIAQgCkgEQCALIQQMAQsLIANBAWohBCADIAhIBEAgBCEDDAELCyACQQFqIREgAiAHTg0CIBEhAgwBCwsgASACNgIQIAIhBgsLIAggAEggByAGTHIgCiAJSHJFBEACQCAHIQIDQAJAIAAhAwNAIANBAnQgDGooAgAgCSIEQQZ0aiACQQF0aiEFA0AgBS4BAA0CIARBAWohCyAFQUBrIQUgBCAKSARAIAshBAwBCwsgA0EBaiEEIAMgCEgEQCAEIQMMAQsLIAJBf2ohEiACIAZMDQIgEiECDAELCyABIAI2AhQgAiEHCwsgASAIIABrQQR0IgIgAmwgCiAJa0EMbCICIAJsaiAHIAZrQQN0IgIgAmxqNgIYIAggAEggCiAJSHIgByAGSHIEQCABQQA2AhwPC0EAIQMgACECA0AgAkECdCAMaigCACENIAMhACAJIQMDQCADQQZ0IA1qIAYiBEEBdGohBQNAIAAgBS4BAEEAR2ohACAEQQFqIQsgBUECaiEFIAQgB0gEQCALIQQMAQsLIANBAWohBCADIApIBEAgBCEDDAELCyACQQFqIQQgAiAISARAIAAhAyAEIQIMAQsLIAEgADYCHAuxAwEGfyAAKAIYIgIoAgQhASACKAIAIQQCQANAIAEEfyAEBSACKAIMIQEgACABQf8AcUEIahEAAEUNAiACKAIEIQEgAigCAAshAyABQX9qIQEgA0EBaiEEIAMsAABBf0cEQANAIAAoAtADIgMgAygCGEEBajYCGCACIAQ2AgAgAiABNgIEIAEEfyAEBSACKAIMIQEgACABQf8AcUEIahEAAEUNBCACKAIEIQEgAigCAAshAyABQX9qIQEgA0EBaiEEIAMsAABBf0cNAAsLA0AgAQR/IAQFIAIoAgwhASAAIAFB/wBxQQhqEQAARQ0DIAIoAgQhASACKAIACyEDIAFBf2ohASADQQFqIQQgAywAACIFQX9GDQALIAAoAtADIgYoAhghAyAFRQRAIAYgA0ECajYCGCACIAQ2AgAgAiABNgIEDAELCyAFQf8BcSEFIAMEQCAAKAIAIgZB9wA2AhQgBiADNgIYIAAoAgAgBTYCHCAAKAIAKAIEIQMgAEF/IANBP3FBsgVqEQMAIAAoAtADQQA2AhgLIAAgBTYCuAMgAiAENgIAIAIgATYCBEEBDwtBAAu4AQEFfwNAIARBA0cEQCAEQQR0IABqIQUgBEEEdCAAaiEGIARBBHQgAGohB0EAIQMDQCADQQRHBEAgBEEEdCACaiADQQJ0aiAFKgIAIANBAnQgAWoqAgCUIAYqAgQgAUEQaiADQQJ0aioCAJSSIAcqAgggAUEgaiADQQJ0aioCAJSSOAIAIANBAWohAwwBCwsgBEEEdCACaiIDIARBBHQgAGoqAgwgAyoCDJI4AgwgBEEBaiEEDAELCwu4AQEFfwNAIARBA0cEQCAEQQV0IABqIQUgBEEFdCAAaiEGIARBBXQgAGohB0EAIQMDQCADQQRHBEAgBEEFdCACaiADQQN0aiAFKwMAIANBA3QgAWorAwCiIAYrAwggAUEgaiADQQN0aisDAKKgIAcrAxAgAUFAayADQQN0aisDAKKgOQMAIANBAWohAwwBCwsgBEEFdCACaiIDIARBBXQgAGorAxggAysDGKA5AxggBEEBaiEEDAELCwtUAQJ/A0AgAkEDRwRAQQAhAQNAIAFBBEcEQCACQQV0QYCkA2ogAUEDdGogAkEFdCAAaiABQQN0aisDADkDACABQQFqIQEMAQsLIAJBAWohAgwBCwsLKAECfwJ/IwYhAyMGQRBqJAYgAEECQYyHAUHNtwJBASABEAkgAwskBgsoAQJ/An8jBiEDIwZBEGokBiAAQQNBwIcBQbzQAkEfIAEQCSADCyQGC/0FAQZ/IwYhCSMGQSBqJAYgCUEQaiEIIAJFBEAgCEHAyANBzpwCEDdB75wCEDdB76ICEDdB/wAQPkH2ogIQN0HgnQIQNyIFIAUoAgBBdGooAgBqEDsgCEGAzgMQOiIGKAIAKAIcIQcgBkEKIAdBP3FBigFqEQIAIQYgCBA8IAUgBhBAIAUQPxAACyADRQRAIAhBwMgDQfWdAhA3Qe+cAhA3Qe+iAhA3QYABED5B9qICEDdBl54CEDciBSAFKAIAQXRqKAIAahA7IAhBgM4DEDoiBigCACgCHCEHIAZBCiAHQT9xQYoBahECACEGIAgQPCAFIAYQQCAFED8QAAtBfyACSQRAIAhBwMgDQa2eAhA3Qe+cAhA3Qe+iAhA3QYEBED5B9qICEDdB0p4CEDciBSAFKAIAQXRqKAIAahA7IAhBgM4DEDoiBigCACgCHCEHIAZBCiAHQT9xQYoBahECACEGIAgQPCAFIAYQQCAFED8QAAsgBEUEQCAIQcDIA0H/ngIQN0HvnAIQN0HvogIQN0GCARA+QfaiAhA3QaOfAhA3IgUgBSgCAEF0aigCAGoQOyAIQYDOAxA6IgYoAgAoAhwhByAGQQogB0E/cUGKAWoRAgAhBiAIEDwgBSAGEEAgBRA/EAALIAlBCGohBSAAIAEQuQMgAiAEbGwiBjYCDCADIAZsIgYgACgCFEcEQCAGEFEhByAJQQA2AgAgCCAJKAIANgIAIAUgBxCoByAFKAIAIQcgBSAAKAIYNgIAIAAgBzYCGCAFKAIEIQcgBSAAKAIcNgIEIAAgBzYCHCAFEJUBIAAoAhhFBEAgCEHAyANBxZ8CEDdB75wCEDdB76ICEDdBlQEQPkH2ogIQN0HonwIQNyIFIAUoAgBBdGooAgBqEDsgCEGAzgMQOiIHKAIAKAIcIQogB0EKIApBP3FBigFqEQIAIQcgCBA8IAUgBxBAIAUQPxAACwsgACABNgIAIAAgAjYCBCAAIAM2AgggACAENgIQIAAgBjYCFCAJJAYLqQEBBH8gAAR/A0AgASAAKAIESARAIAAoAgggAUECdGooAgAEQCAAIAEQ0AYLIAFBAnQhA0EAIQIDQCACQQRHBEAgACgCDCACIANqIgRBAnRqKAIAEDggACgCFCAEQQJ0aigCABA4IAJBAWohAgwBCwsgAUEBaiEBDAELCyAAKAIMEDggACgCFBA4IAAoAggQOCAAKAIQEDggACgCGBA4IAAQOEEABUF/CxoLNAECfyMGIQEjBkEQaiQGIAEgACgCACgCABDGByABKAIAEIYBEIECIQIgARCVASABJAYgAgv3AQEBfyAEQQFGIQkgCEEARyEEAn8gAwR/IAkEfyAEBEAgACABIAIgCCAHEP0KDAMLIAYEfyAAIAEgAiAFIAcQ+gsFIAAgASACIAUgBxDHCwsFIAQEQCAAIAEgAiAIIAcQtAkMAwsgBgR/IAAgASACIAUgBxCyCgUgACABIAIgBSAHEOYJCwsFIAkEfyAEBEAgACABIAIgCCAHEIoHDAMLIAYEfyAAIAEgAiAFIAcQmggFIAAgASACIAUgBxDZBwsFIAQEQCAAIAEgAiAIIAcQkgUMAwsgBgR/IAAgASACIAUgBxC0BgUgACABIAIgBSAHENQFCwsLCwvGAwIIfwF+IwYhBCMGQUBrJAYgBEEIaiEHIARBOGohCiAEQTRqIQggBEEQaiEGIAIsAGQEQCAEIAAoAkw2AjAgBCACEMUBKAIANgIoIAQgAhDFASgCBDYCICAIIAQoAjA2AgAgCiAEKAIoNgIAIAcgBCgCIDYCACAAQcgAaiAIIAogBxDUBwUgBkEANgIAIAZBADYCBCAGQQA2AgggAiAGIAEgAxDTBwNAIAUgBigCBCAGKAIAIgJrQQJ1SQRAIAAgASAFQQJ0IAJqKAIAIAMQuwIgBUEBaiEFDAELCyAAKAJkIAAoAmhIBEAgASgCACICIAEoAgRHBEAgAigCACELIAEoAgQiBSABKAIAIglrIgJBCEoEQCAHIAkpAgAiDDcDACAJIAVBeGoiBSkCADcCACAFIAw3AgAgBCAJNgIsIAQgBTYCJCAEIAk2AhwgCCAEKAIsNgIAIAogBCgCJDYCACAHIAQoAhw2AgAgCCACQQN2QX9qIAcQvwMgASgCBCEFC0EAIQIDQCACQX9HBEAgAkF/aiECDAELCyABIAVBeGo2AgQgACAAKAJkQQFqNgJkIAAgASALIAMQuwILCyAGEFULIAQkBgtkAQJ/IABBAEcgAUEAR3EEfyAAQQxqQQBBgAgQRRogASAAKAIEIAAoAghsaiECA38gASACSQR/IABBDGogAS0AAEECdGoiAyADKAIAQQFqNgIAIAFBAWohAQwBBUEACwsFQX8LC1kBAX0gACACKgIIIAIqAgAgA5QgAioCBCAElJKSIAIqAiAgAioCGCADlCACKgIcIASUkpIiBZU4AgAgASACKgIUIAIqAgwgA5QgAioCECAElJKSIAWVOAIACzQAIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEoAiA2AiALuAICBX8CfCMGIQcjBkEgaiQGIAdBCGohBiAHQRRqIgggBEEEdBBEIgo2AgAgCkUEQEEAQQNBudgCIAYQPUEBEAELIAdBEGohBiAIIARBGGwQRCIJNgIEIAlFBEBBAEEDQbnYAiAGED1BARABC0EAIQYDQCAGIARIBEAgBkEEdCAKaiAGQQR0IAJqKwMAOQMAIAZBBHQgCmogBkEEdCACaisDCDkDCCAGQRhsIAlqIAZBGGwgA2orAwA5AwAgBkEYbCAJaiAGQRhsIANqKwMIOQMIIAZBGGwgCWogBkEYbCADaisDEDkDECAGQQFqIQYMAQsLIAggBDYCCCAAKAIAIAggASAFIAcQ6gFBAEgEQCAHRAAAAACE15dBOQMACyAIKAIAEDggCCgCBBA4IAcrAwAhDCAHJAYgDAsHACAAQTxqC2UBBH8DQCAFIAJIBEAgAyADKAIAQf2HDWxBw72aAWoiBDYCACAEQRB2Qf//AXEgARBPQQJ0IABqIQQgBUECdCAAaiIGKAIAIQcgBiAEKAIANgIAIAQgBzYCACAFQQFqIQUMAQsLC50BAQV/IwYhAiMGQSBqJAZB/////wMgACgCBCAAKAIAa0ECdUEBaiIDSQRAEAAFIAIgAyAAKAIIIAAoAgAiBGsiBUEBdSIGIAYgA0kbQf////8DIAVBAnVB/////wFJGyAAKAIEIARrQQJ1IABBCGoQyAEgAigCCCABKAIANgIAIAIgAigCCEEEajYCCCAAIAIQ5AEgAhDHASACJAYLC6IEAgp/An0jBiEHIwZBIGokBiAHQQRqIQUgB0EQaiEJIAcgATYCACABKAIAIQMCQAJAIAAoAgQiBEUiCgRAQQAhAQwBBSAEIARBf2oiCHFFIgsEfyADIAhxBSADIARJBH8gAwUgAyAEEE4LCyIBQQJ0IAAoAgBqKAIAIgIEQANAIAIoAgAiAkUNAyADIAIoAgQiBkcEQCALBEAgBiAIcSEGBSAGIARPBEAgBiAEEE4hBgsLIAEgBkcNBAsgAyACKAIIRw0ACwUMAgsLDAELIAUgACADIAcQoQggACoCECIMIASzlCAAKAIMQQFqsyINXSAKcgRAAn8gACANIAyVjRCSASICIARBf2ogBHFBAEcgBEEDSXIgBEEBdHIiASABIAJJGxDFAiAAKAIEIgJBf2ohASABIANxIAEgAnFFDQAaIAMgAkkEfyADBSADIAIQTgsLIQEFIAQhAgsgACgCACABQQJ0aigCACIDBH8gBSgCACADKAIANgIAIAMgBSgCADYCACAFBSAFKAIAIAAoAgg2AgAgACAFKAIANgIIIAAoAgAgAUECdGogAEEIajYCACAFKAIAIgYoAgAiAQRAIAEoAgQhASACIAJBf2oiA3EEQCABIAJPBEAgASACEE4hAQsFIAEgA3EhAQsgACgCACABQQJ0aiAGNgIACyAFCyIBKAIAIQIgACAAKAIMQQFqNgIMIAFBADYCAAsgByQGIAJBDGoLUwEDfyAAQegAaiEDA0AgAiAAKAJsIAMoAgAiAWtBAnVJBEAgAkECdCABaigCACIBBEAgARDEAiABEDgLIAJBAWohAgwBCwsgAEH0AGoQVSADEFULlwEBAn8gAUEBRgRAQQIhAQUgASABQX9qcQRAIAEQ0QEhAQsLIAEgACgCBCIDSwRAIAAgARDiAwUgASADSQRAIAAoAgyzIAAqAhCVjRCSASECIANBf2ogA3FFIANBAktxBH8gAkEBQSAgAkF/amdrdCACQQJJGwUgAhDRAQsiAiABIAEgAkkbIgEgA0kEQCAAIAEQ4gMLCwsLEwAgAEHshQE2AgAgAEEEahDSAgslACAAQdyFATYCACAAQThqEFUgAEEsahBVIABBIGoQVSAAEMYCCw0AIAAoAgAgAUEFdGoL3gMBA38jBiEIIwZBEGokBiAGQQBKBEAgBkEBaiAFKAIESQRAIAdBf2ohCSAHQQBKBEAgB0EBaiIKIAUoAghJBEAgBSAJEFAgBkECdGohCSAFIAcQUCAGQQJ0aiEHIAUgChBQIAZBAnRqIQUgACAHKgIEIAdBfGoiACoCAJNDAAAAP5Q4AgAgASAFKgIAIAkqAgCTQwAAAD+UOAIAIAIgByoCBCAAKgIAIAcqAgBDAAAAQJSTkjgCACADIAUqAgAgCSoCACAHKgIAQwAAAECUk5I4AgAgBCAJQXxqKgIAIAUqAgSSIAkqAgQgBUF8aioCAJKTQwAAgD6UOAIAIAgkBg8LCyAIQcDIA0G52AEQN0HOywEQN0HvogIQN0GdAhA+QfaiAhA3QdTPARA3IgAgACgCAEF0aigCAGoQOyAIQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAIEDwgACABEEAgABA/EAALCyAIQcDIA0GB2AEQN0HOywEQN0HvogIQN0GcAhA+QfaiAhA3QYnPARA3IgAgACgCAEF0aigCAGoQOyAIQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAIEDwgACABEEAgABA/EAALDQAgACAClCABIAGUkws6AQJ9QwAAgD9BASAEdLKVIgVDAAAAP5RDAAAAv5IhBiAAIAUgApQgBpI4AgAgASAFIAOUIAaSOAIACz8BAn8gACgCBCECIAAoAgghAQNAIAEgAkcEQCAAIAFBeGoiATYCCAwBCwsgACgCACIBBEAgACgCDBogARA4CwuXAQEEfyABQQRqIgMoAgBBACAAKAIEIAAoAgAiBGsiBUEDdWtBA3RqIQIgAyACNgIAIAVBAEoEQCACIAQgBRBMGiADKAIAIQILIAAoAgAhBCAAIAI2AgAgAyAENgIAIAAoAgQhAiAAIAEoAgg2AgQgASACNgIIIAAoAgghAiAAIAEoAgw2AgggASACNgIMIAEgAygCADYCAAs/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQVxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLlwEBBH8gAUEEaiIDKAIAIQIgAyAAKAIEIAAoAgAiBGsiBUFcEDlBJGwgAmoiAjYCACAFQQBKBEAgAiAEIAUQTBogAygCACECCyAAKAIAIQQgACACNgIAIAMgBDYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAMoAgA2AgALcgEBfyAAQQA2AgwgACADNgIQIAEEQCABQcfj8ThLBEBBCBAFIgMQiAEgA0G0iwE2AgAgA0H49wBBFhAEBSABQSRsEFEhBAsLIAAgBDYCACAAIAJBJGwgBGoiAjYCCCAAIAI2AgQgACABQSRsIARqNgIMC04BAn8jBiECIwZBIGokBiAAKAIIIAAoAgAiA2tBJBA5IAFJBEAgAiABIAAoAgQgA2tBJBA5IABBCGoQ0AIgACACEM8CIAIQzgILIAIkBgtAAQJ/IAAoAgAiAgRAIAAoAgQhAQNAIAEgAkcEQCABQWBqIgEQ3QEMAQsLIAAgAjYCBCAAKAIIGiAAKAIAEDgLCz8BAn8gACgCACICBEAgACgCBCEBA0AgASACRwRAIAFBdGoiARBVDAELCyAAIAI2AgQgACgCCBogACgCABA4CwtdAQN/IAAoAgQiBCAAKAIAIgJrQQV1IgMgAUkEQCAAIAEgA2sQjAkFIAMgAUsEQCABQQV0IAJqIQIgBCEBA0AgASACRwRAIAFBYGoiARDdAQwBCwsgACACNgIECwsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQdWq1aoBSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUEMbBBRIQQLCyAAIAQ2AgAgACACQQxsIARqIgI2AgggACACNgIEIAAgAUEMbCAEajYCDAs/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQX9qIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLjgEBBH8gAUEEaiIDKAIAIAAoAgQgACgCACIEayIFayECIAMgAjYCACAFQQBKBEAgAiAEIAUQTBogAygCACECCyAAKAIAIQQgACACNgIAIAMgBDYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAMoAgA2AgALQAAgAEEANgIMIAAgAzYCECAAIAEEfyABEFEFQQALIgM2AgAgACACIANqIgI2AgggACACNgIEIAAgASADajYCDAs9AQJ/IAAoAgAiAgRAIAAoAgQhAQNAIAEgAkcEQCABQWxqIQEMAQsLIAAgAjYCBCAAKAIIGiAAKAIAEDgLC9QCAgZ/An0jBiEGIwZBIGokBiAGQRRqIQcgBkEQaiEJIAZBDGohCyAGQQhqIQggBkEEaiEKIAQqAgghDCAEKgIMIQ0gBQJ/AkACQAJAIAFFDQAgACABIAwgDSAHIAgQ5QFBAEgNACAFIAcqAgAQQzYCACAFIAgqAgAQQzYCBCACRQ0BIAAgAiAMIA0gCSAKEOUBQQBIDQEgBSAHKgIAQwAAAECUIAkqAgCTEEM2AgggBSAIKgIAQwAAAECUIAoqAgCTEEM2AgwgA0UNAiAAIAMgDCANIAsgBhDlAUEASA0CIAUgCyoCACAHKgIAQwAAQECUIAkqAgBDAABAQJSTkhBDNgIQIAYqAgAgCCoCAEMAAEBAlCAKKgIAQwAAQECUk5IQQwwDCyAFQX82AgAgBUF/NgIECyAFQX82AgggBUF/NgIMCyAFQX82AhBBfws2AhQgBiQGC04BAn0gASoCACAAKgIAkyIEIASUIAEqAgQgACoCBJMiBCAElJKRIgVDAAAAAFwEQCACIAQgBZU4AgAgAyABKgIAIAAqAgCTIAWVOAIACwsGAEEaEAILpwEBAn9BbyABayACSQRAEAALIAAsAAtBAEgEfyAAKAIABSAACyEFIAFB5////wdJBH9BCyABQQF0IgYgASACaiICIAIgBkkbIgJBEGpBcHEgAkELSRsFQW8LIgYQUSECIAQEQCACIAUgBBCoAQsgAyAEayIDBEAgAiAEaiAEIAVqIAMQqAELIAFBCkcEQCAFEDgLIAAgAjYCACAAIAZBgICAgHhyNgIICz4AIABCADcCACAAQQA2AgggASwAC0EASARAIAAgASgCACABKAIEEH4FIAAgASkCADcCACAAIAEoAgg2AggLCwQAQQELCgAgABA4IAEQOAsLACAEIAI2AgBBAwsfAQF/IAAoAgAiAQR/IAEQOCAAQQA2AgBBAAVBfwsaC6MBAQN/QYgBEEQiAQRAA0AgAkEDRwRAQQAhAwNAIANBBEcEQCACQQV0IAFqIANBA3RqIAJBBXQgAGogA0EDdGorAwA5AwAgA0EBaiEDDAELCyACQQFqIQIMAQsLIAFBCjYCYCABRAAAAKCZmbk/OQNoIAFEAAAAgBSu7z85A3AgAUQAAAAAAAAQQDkDeCABRAAAAAAAAOA/OQOAAQVBACEBCyABC78EAQF/IAAgBUYEfyABLAAABH8gAUEAOgAAIAQgBCgCACIAQQFqNgIAIABBLjoAACAHKAIEIAcsAAsiAEH/AXEgAEEASBsEQCAJKAIAIgAgCGtBoAFIBEAgCigCACEBIAkgAEEEajYCACAAIAE2AgALC0EABUF/CwUCfyAAIAZGBEAgBygCBCAHLAALIgVB/wFxIAVBAEgbBEBBfyABLAAARQ0CGkEAIAkoAgAiACAIa0GgAU4NAhogCigCACEBIAkgAEEEajYCACAAIAE2AgAgCkEANgIAQQAMAgsLIAtBgAFqIQxBACEFA38gBUEgRgR/IAwFIAVBAWohBiAAIAVBAnQgC2oiBSgCAEYEfyAFBSAGIQUMAgsLCyALayIAQfwASgR/QX8FIABBAnVB8O8AaiwAACEFAkACQAJAAkAgAEGof2oiBkECdiAGQR50cg4EAQEAAAILIAQoAgAiACADRwRAQX8gAEF/aiwAAEHfAHEgAiwAAEH/AHFHDQUaCyAEIABBAWo2AgAgACAFOgAAQQAMBAsgAkHQADoAAAwBCyAFQd8AcSIDIAIsAABGBEAgAiADQYABcjoAACABLAAABEAgAUEAOgAAIAcoAgQgBywACyIBQf8BcSABQQBIGwRAIAkoAgAiASAIa0GgAUgEQCAKKAIAIQIgCSABQQRqNgIAIAEgAjYCAAsLCwsLIAQgBCgCACIBQQFqNgIAIAEgBToAACAAQdQATARAIAogCigCAEEBajYCAAtBAAsLCwukAQECfyMGIQUjBkEQaiQGIAUgARA7IAVBoM4DEDoiASgCACgCMCEGIAFB8O8AQZDwACACIAZBD3FBigJqEQkAGiAFQajOAxA6IgEoAgAoAgwhAiADIAEgAkH/AHFBCGoRAAA2AgAgASgCACgCECECIAQgASACQf8AcUEIahEAADYCACABKAIAKAIUIQIgACABIAJBP3FBsgVqEQMAIAUQPCAFJAYLUgICfwF8IAAoAgQiAyABKAIERwRAQQAQAQsDQCACIANIBEAgBCAAKAIAIAJBA3RqKwMAIAEoAgAgAkEDdGorAwCioCEEIAJBAWohAgwBCwsgBAs3AQJ/QQgQRCIBBEAgASAAQQN0EEQiAjYCACACBEAgASAANgIEBSABEDhBACEBCwVBACEBCyABC9UEAQF/IABB/wFxIAVB/wFxRgR/IAEsAAAEfyABQQA6AAAgBCAEKAIAIgBBAWo2AgAgAEEuOgAAIAcoAgQgBywACyIAQf8BcSAAQQBIGwRAIAkoAgAiACAIa0GgAUgEQCAKKAIAIQEgCSAAQQRqNgIAIAAgATYCAAsLQQAFQX8LBQJ/IABB/wFxIAZB/wFxRgRAIAcoAgQgBywACyIFQf8BcSAFQQBIGwRAQX8gASwAAEUNAhpBACAJKAIAIgAgCGtBoAFODQIaIAooAgAhASAJIABBBGo2AgAgACABNgIAIApBADYCAEEADAILCyALQSBqIQxBACEFA38gBUEgRgR/IAwFIAVBAWohBiAFIAtqIgUtAAAgAEH/AXFGBH8gBQUgBiEFDAILCwsgC2siBUEfSgR/QX8FIAVB8O8AaiwAACEAAkACQAJAIAVBFmsOBAEBAAACCyAEKAIAIgEgA0cEQEF/IAFBf2osAABB3wBxIAIsAABB/wBxRw0EGgsgBCABQQFqNgIAIAEgADoAAEEADAMLIAJB0AA6AAAgBCAEKAIAIgFBAWo2AgAgASAAOgAAQQAMAgsgAEHfAHEiAyACLAAARgRAIAIgA0GAAXI6AAAgASwAAARAIAFBADoAACAHKAIEIAcsAAsiAUH/AXEgAUEASBsEQCAJKAIAIgEgCGtBoAFIBEAgCigCACECIAkgAUEEajYCACABIAI2AgALCwsLIAQgBCgCACIBQQFqNgIAIAEgADoAAEEAIAVBFUoNARogCiAKKAIAQQFqNgIAQQALCwsLpAEBAn8jBiEFIwZBEGokBiAFIAEQOyAFQYDOAxA6IgEoAgAoAiAhBiABQfDvAEGQ8AAgAiAGQQ9xQYoCahEJABogBUGQzgMQOiIBKAIAKAIMIQIgAyABIAJB/wBxQQhqEQAAOgAAIAEoAgAoAhAhAiAEIAEgAkH/AHFBCGoRAAA6AAAgASgCACgCFCECIAAgASACQT9xQbIFahEDACAFEDwgBSQGCwsAIAAQmQIgABA4CwsAIAAQmgIgABA4CwsAIAAQ0AQgABA4CwsAIAAQ1gQgABA4CxMAIAAgA6IgASAEoqAgAiAFoqALVwEDfyAAKAIEIgdBCHUhBiAHQQFxBEAgAygCACAGaigCACEGCyAAKAIAIgAoAgAoAhQhCCAAIAEgAiADIAZqIARBAiAHQQJxGyAFIAhBB3FB2gZqEQwACxQAIAAgAKIgASABoqAgAiACoqCfC6cBACAAQQE6ADUgAiAAKAIERgRAAkAgAEEBOgA0IAAoAhAiAkUEQCAAIAE2AhAgACADNgIYIABBATYCJCAAKAIwQQFGIANBAUZxRQ0BIABBAToANgwBCyABIAJHBEAgACAAKAIkQQFqNgIkIABBAToANgwBCyAAKAIYIgFBAkYEQCAAIAM2AhgFIAEhAwsgACgCMEEBRiADQQFGcQRAIABBAToANgsLCwsfACABIAAoAgRGBEAgACgCHEEBRwRAIAAgAjYCHAsLC14BAX8gACgCECIDBEACQCABIANHBEAgACAAKAIkQQFqNgIkIABBAjYCGCAAQQE6ADYMAQsgACgCGEECRgRAIAAgAjYCGAsLBSAAIAE2AhAgACACNgIYIABBATYCJAsL5AICAn8CfSAAvCIBQR92IQIgAUH/////B3EiAUH////jBEsEQCAAQ9oPyb9D2g/JPyACGyABQYCAgPwHSxsPCyABQYCAgPcDSQRAIAFBgICAzANJBH8gAA8FQX8LIQEFIACLIQAgAUGAgOD8A0kEfSABQYCAwPkDSQR9QQAhASAAQwAAAECUQwAAgL+SIABDAAAAQJKVBUEBIQEgAEMAAIC/kiAAQwAAgD+SlQsFIAFBgIDwgARJBH1BAiEBIABDAADAv5IgAEMAAMA/lEMAAIA/kpUFQQMhAUMAAIC/IACVCwshAAsgACAAlCIEIASUIQMgBCADIANDJax8PZRDDfURPpKUQ6mqqj6SlCEEIANDmMpMviADQ0cS2j2Uk5QhAyABQQBIBH0gACAAIAMgBJKUkwUgAUECdEHQ7ABqKgIAIAAgAyAEkpQgAUECdEHg7ABqKgIAkyAAk5MiACAAjCACRRsLC/wCAgN/AXwjBiEDIwZBEGokBiAAvCIBQR92IQIgAUH/////B3EiAUHbn6T6A0kEQCABQYCAgMwDTwRAIAC7EJEBIQALBQJ9IAFB0qftgwRJBEAgAkEARyECIAC7IQQgAUHkl9uABE8EQEQYLURU+yEJQEQYLURU+yEJwCACGyAEoJoQkQEMAgsgAgRAIAREGC1EVPsh+T+gEJABjAwCBSAERBgtRFT7Ifm/oBCQAQwCCwALIAFB1uOIhwRJBEAgAkEARyECIAC7IQQgAUHg27+FBE8EQEQYLURU+yEZQEQYLURU+yEZwCACGyAEoBCRAQwCCyACBEAgBETSITN/fNkSQKAQkAEMAgUgBETSITN/fNkSwKAQkAGMDAILAAsgACAAkyABQf////sHSw0AGgJAAkACQAJAIAAgAxD6AkEDcQ4DAAECAwsgAysDABCRAQwDCyADKwMAEJABDAILIAMrAwCaEJEBDAELIAMrAwAQkAGMCyEACyADJAYgAAv/AgMDfwF9AXwjBiEDIwZBEGokBiAAvCIBQR92IQIgAUH/////B3EiAUHbn6T6A0kEfSABQYCAgMwDSQR9QwAAgD8FIAC7EJABCwUCfSABQdKn7YMESQRAIAJBAEchAiAAuyEFIAFB45fbgARLBEBEGC1EVPshCUBEGC1EVPshCcAgAhsgBaAQkAGMDAILIAIEQCAFRBgtRFT7Ifk/oBCRAQwCBUQYLURU+yH5PyAFoRCRAQwCCwALIAFB1uOIhwRJBEAgAkEARyECIAFB39u/hQRLBEBEGC1EVPshGUBEGC1EVPshGcAgAhsgALugEJABDAILIAIEQCAAjLtE0iEzf3zZEsCgEJEBDAIFIAC7RNIhM3982RLAoBCRAQwCCwALIAAgAJMgAUH////7B0sNABoCQAJAAkACQCAAIAMQ+gJBA3EOAwABAgMLIAMrAwAQkAEMAwsgAysDAJoQkQEMAgsgAysDABCQAYwMAQsgAysDABCRAQsLIQQgAyQGIAQLdwEBfwJAAkAgAA0AQcTFAygCACIADQBBACEADAELIAAQ9wQgAGoiACwAAEUEQEHExQNBADYCAEEAIQAMAQtBxMUDIAAQ7QQgAGoiATYCACABLAAABEBBxMUDIAFBAWo2AgAgAUEAOgAABUHExQNBADYCAAsLIAALKgEBfiAAKAJMGiAAEO8EIgFC/////wdVBH9BpMUDQT02AgBBfwUgAacLCx4AIAAoAkwaIABCAEEAEIkDIAAgACgCAEFfcTYCAAvwAQIGfwJ8IwYhAyMGQRBqJAYgA0EIaiEEIAC8IgVB/////wdxIgJB25+k7gRJBH8gALsiCESDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIJEHMhBiABIAggCUQAAABQ+yH5P6KhIAlEY2IaYbQQUT6ioTkDACAGBQJ/IAJB////+wdLBEAgASAAIACTuzkDAEEADAELIAQgAiACQRd2Qep+aiICQRd0a767OQMAIAQgAyACQQFBABD7AiECIAMrAwAhCCAFQQBIBH8gASAImjkDAEEAIAJrBSABIAg5AwAgAgsLCyEHIAMkBiAHC4MRAhZ/A3wjBiENIwZBsARqJAYgDUHAAmohDyAEQQJ0QfDpAGooAgAhDiACQX1qQRgQOSIFQQAgBUEAShshESAOIANBf2oiB2pBAE4EQCADIA5qIQkgESAHayEFA0AgBkEDdCAPaiAFQQBIBHxEAAAAAAAAAAAFIAVBAnRBgOoAaigCALcLOQMAIAVBAWohBSAGQQFqIgYgCUcNAAsLIA1B4ANqIQwgDUGgAWohCiARQWhsIhUgAkFoamohCSADQQBKIQhBACEFA0AgCARAIAUgB2ohC0QAAAAAAAAAACEbQQAhBgNAIBsgBkEDdCAAaisDACALIAZrQQN0IA9qKwMAoqAhGyAGQQFqIgYgA0cNAAsFRAAAAAAAAAAAIRsLIAVBA3QgDWogGzkDACAFQQFqIQYgBSAOSARAIAYhBQwBCwsgCUEASiESQRggCWshE0EXIAlrIRYgCUUhFyADQQBKIRggDiEFAkACQANAAkAgBUEDdCANaisDACEbIAVBAEoiCwRAIAUhBkEAIQcDQCAHQQJ0IAxqIBsgG0QAAAAAAABwPqIQc7ciG0QAAAAAAABwQaKhEHM2AgAgBkF/aiIIQQN0IA1qKwMAIBugIRsgB0EBaiEHIAZBAUoEQCAIIQYMAQsLCyAbIAkQnwEiGyAbRAAAAAAAAMA/opxEAAAAAAAAIECioSIbEHMhBiAbIAa3oSEbAkACQAJAIBIEfyAFQX9qQQJ0IAxqIggoAgAiECATdSEHIAggECAHIBN0ayIINgIAIAggFnUhCCAGIAdqIQYMAQUgFwR/IAVBf2pBAnQgDGooAgBBF3UhCAwCBSAbRAAAAAAAAOA/ZgR/QQIhCAwEBUEACwsLIQgMAgsgCEEASg0ADAELIAYhGiALBH9BACEGQQAhCwN/IAtBAnQgDGoiGSgCACEQAkACQCAGBH9B////ByEUDAEFIBAEf0EBIQZBgICACCEUDAIFQQALCyEGDAELIBkgFCAQazYCAAsgC0EBaiILIAVHDQAgBgsFQQALIQsgEgRAAkACQAJAIAlBAWsOAgABAgsgBUF/akECdCAMaiIGIAYoAgBB////A3E2AgAMAQsgBUF/akECdCAMaiIGIAYoAgBB////AXE2AgALCyAaQQFqIQYgCEECRgRARAAAAAAAAPA/IBuhIRsgCwRAIBtEAAAAAAAA8D8gCRCfAaEhGwtBAiEICwsgG0QAAAAAAAAAAGINAiAFIA5KBEBBACELIAUhBwNAIAsgB0F/aiIHQQJ0IAxqKAIAciELIAcgDkoNAAsgCw0BC0EBIQYDQCAGQQFqIQcgDiAGa0ECdCAMaigCAEUEQCAHIQYMAQsLIAUgBmohBwNAIAMgBWoiCEEDdCAPaiAFQQFqIgYgEWpBAnRBgOoAaigCALc5AwAgGARARAAAAAAAAAAAIRtBACEFA0AgGyAFQQN0IABqKwMAIAggBWtBA3QgD2orAwCioCEbIAVBAWoiBSADRw0ACwVEAAAAAAAAAAAhGwsgBkEDdCANaiAbOQMAIAYgB0gEQCAGIQUMAQsLIAchBQwBCwsgCSEAA38gAEFoaiEAIAVBf2oiBUECdCAMaigCAEUNACAAIQIgBQshAAwBCyAbQQAgCWsQnwEiG0QAAAAAAABwQWYEfyAFQQJ0IAxqIBsgG0QAAAAAAABwPqIQcyIDt0QAAAAAAABwQaKhEHM2AgAgAiAVaiECIAVBAWoFIAkhAiAbEHMhAyAFCyIAQQJ0IAxqIAM2AgALRAAAAAAAAPA/IAIQnwEhGyAAQX9KIgcEQCAAIQIDQCACQQN0IA1qIBsgAkECdCAMaigCALeiOQMAIBtEAAAAAAAAcD6iIRsgAkF/aiEDIAJBAEoEQCADIQIMAQsLIAcEQCAAIQIDQCAAIAJrIQlBACEDRAAAAAAAAAAAIRsDQCAbIANBA3RBkOwAaisDACACIANqQQN0IA1qKwMAoqAhGyADQQFqIQUgAyAOTiADIAlPckUEQCAFIQMMAQsLIAlBA3QgCmogGzkDACACQX9qIQMgAkEASgRAIAMhAgwBCwsLCwJAAkACQAJAIAQOBAABAQIDCyAHBEBEAAAAAAAAAAAhGwNAIBsgAEEDdCAKaisDAKAhGyAAQX9qIQIgAEEASgRAIAIhAAwBCwsFRAAAAAAAAAAAIRsLIAEgG5ogGyAIGzkDAAwCCyAHBEBEAAAAAAAAAAAhGyAAIQIDQCAbIAJBA3QgCmorAwCgIRsgAkF/aiEDIAJBAEoEQCADIQIMAQsLBUQAAAAAAAAAACEbCyABIBsgG5ogCEUiBBs5AwAgCisDACAboSEbIABBAU4EQEEBIQIDQCAbIAJBA3QgCmorAwCgIRsgAkEBaiEDIAAgAkcEQCADIQIMAQsLCyABIBsgG5ogBBs5AwgMAQsgAEEASgRAIAAiAkEDdCAKaisDACEbA0AgAkF/aiIDQQN0IApqIgQrAwAiHSAboCEcIAJBA3QgCmogGyAdIByhoDkDACAEIBw5AwAgAkEBSgRAIAMhAiAcIRsMAQsLIABBAUoiBARAIAAiAkEDdCAKaisDACEbA0AgAkF/aiIDQQN0IApqIgUrAwAiHSAboCEcIAJBA3QgCmogGyAdIByhoDkDACAFIBw5AwAgAkECSgRAIAMhAiAcIRsMAQsLIAQEQEQAAAAAAAAAACEbA0AgGyAAQQN0IApqKwMAoCEbIABBf2ohAiAAQQJKBEAgAiEADAELCwVEAAAAAAAAAAAhGwsFRAAAAAAAAAAAIRsLBUQAAAAAAAAAACEbCyAKKwMAIRwgCARAIAEgHJo5AwAgASAKKwMImjkDCCABIBuaOQMQBSABIBw5AwAgASAKKwMIOQMIIAEgGzkDEAsLIA0kBiAGQQdxC4AJAwh/AX4EfCMGIQQjBkEwaiQGIARBEGohBSAAvSIKQj+IpyEGAn8CQCAKQiCIpyICQf////8HcSIDQfvUvYAESQR/IAJB//8/cUH7wyRGDQEgBkEARyECIANB/bKLgARJBH8gAgR/IAEgAEQAAEBU+yH5P6AiAEQxY2IaYbTQPaAiCzkDACABIAAgC6FEMWNiGmG00D2gOQMIQX8FIAEgAEQAAEBU+yH5v6AiAEQxY2IaYbTQvaAiCzkDACABIAAgC6FEMWNiGmG00L2gOQMIQQELBSACBH8gASAARAAAQFT7IQlAoCIARDFjYhphtOA9oCILOQMAIAEgACALoUQxY2IaYbTgPaA5AwhBfgUgASAARAAAQFT7IQnAoCIARDFjYhphtOC9oCILOQMAIAEgACALoUQxY2IaYbTgvaA5AwhBAgsLBQJ/IANBvIzxgARJBEAgA0G9+9eABEkEQCADQfyyy4AERg0EIAYEQCABIABEAAAwf3zZEkCgIgBEypSTp5EO6T2gIgs5AwAgASAAIAuhRMqUk6eRDuk9oDkDCEF9DAMFIAEgAEQAADB/fNkSwKAiAETKlJOnkQ7pvaAiCzkDACABIAAgC6FEypSTp5EO6b2gOQMIQQMMAwsABSADQfvD5IAERg0EIAYEQCABIABEAABAVPshGUCgIgBEMWNiGmG08D2gIgs5AwAgASAAIAuhRDFjYhphtPA9oDkDCEF8DAMFIAEgAEQAAEBU+yEZwKAiAEQxY2IaYbTwvaAiCzkDACABIAAgC6FEMWNiGmG08L2gOQMIQQQMAwsACwALIANB+8PkiQRJDQIgA0H//7//B0sEQCABIAAgAKEiADkDCCABIAA5AwBBAAwBCyAKQv////////8Hg0KAgICAgICAsMEAhL8hAEEAIQIDQCACQQN0IAVqIAAQc7ciCzkDACAAIAuhRAAAAAAAAHBBoiEAIAJBAWoiAkECRw0ACyAFIAA5AxAgAEQAAAAAAAAAAGEEQEEBIQIDQCACQX9qIQcgAkEDdCAFaisDAEQAAAAAAAAAAGEEQCAHIQIMAQsLBUECIQILIAUgBCADQRR2Qep3aiACQQFqQQEQ+wIhAiAEKwMAIQAgBgR/IAEgAJo5AwAgASAEKwMImjkDCEEAIAJrBSABIAA5AwAgASAEKwMIOQMIIAILCwsMAQsgAESDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIMEHMhCCABIAAgDEQAAEBU+yH5P6KhIgsgDEQxY2IaYbTQPaIiAKEiDTkDACADQRR2IgcgDb1CNIinQf8PcWtBEEoEQCAMRHNwAy6KGaM7oiALIAsgDEQAAGAaYbTQPaIiAKEiC6EgAKGhIQAgASALIAChIg05AwAgDETBSSAlmoN7OaIgCyALIAxEAAAALooZozuiIg6hIgyhIA6hoSEOIAcgDb1CNIinQf8PcWtBMUoEQCABIAwgDqEiDTkDACAOIQAgDCELCwsgASALIA2hIAChOQMIIAgLIQkgBCQGIAkLFgAgACABIAJCgICAgICAgICAfxCEAwvlCgESfyABKAIAIQUCfwJAIANFDQAgAygCACIERQ0AIAAEfyADQQA2AgAgBCEOIAAhDyACIRAgBSEIQTAFIAQhCSAFIQcgAiELQRoLDAELIABBAEchA0HoiQEoAgAoAgAEQCADBEAgACESIAIhESAFIQxBIQwCBSACIRMgBSEUQQ8MAgsACyADRQRAIAUQYCEKQT8MAQsgAgRAAkAgACEGIAIhBCAFIQMDQCADLAAAIgUEQCADQQFqIQMgBiAFQf+/A3E2AgAgBEF/aiIERQ0CIAZBBGohBgwBCwsgBkEANgIAIAFBADYCACACIARrIQpBPwwCCwUgBSEDCyABIAM2AgAgAiEKQT8LIQMDQAJAAkACQAJAIANBD0YEQCATIQMgFCEFA0AgBSwAACIEQf8BcUF/akH/AEkEfyAFQQNxBH8gBAUgBSgCACIGQf8BcSEEIAYgBkH//ft3anJBgIGChHhxBH8gBAUDQCADQXxqIQMgBUEEaiIFKAIAIgQgBEH//ft3anJBgIGChHhxRQ0ACyAEQf8BcQsLBSAEC0H/AXEiBEF/akH/AEkEQCADQX9qIQMgBUEBaiEFDAELCyAEQb5+aiIEQTJLBEAgBSEEIAAhBgwDBSAEQQJ0QdA0aigCACEJIAVBAWohByADIQtBGiEDDAYLAAUgA0EaRgRAIActAABBA3YiA0FwaiADIAlBGnVqckEHSwRAIAAhAyAJIQYgByEEIAshBQwDBSAHQQFqIQMgCUGAgIAQcQR/IAMsAABBwAFxQYABRwRAIAAhAyAJIQYgByEEIAshBQwFCyAHQQJqIQMgCUGAgCBxBH8gAywAAEHAAXFBgAFHBEAgACEDIAkhBiAHIQQgCyEFDAYLIAdBA2oFIAMLBSADCyEUIAtBf2ohE0EPIQMMBwsABSADQSFGBEAgEQRAAkAgEiEFIBEhAyAMIQQDQAJAAkACQCAELQAAIgZBf2oiDUH/AE8NACAEQQNxRSADQQRLcQRAAn8CQANAIAQoAgAiBiAGQf/9+3dqckGAgYKEeHENASAFIAZB/wFxNgIAIAUgBC0AATYCBCAFIAQtAAI2AgggBEEEaiENIAVBEGohBiAFIAQtAAM2AgwgA0F8aiIDQQRLBEAgBiEFIA0hBAwBCwsgBiEFIA0iBCwAAAwBCyAGQf8BcQtB/wFxIgZBf2ohDQwBCwwBCyANQf8ATw0BCyAEQQFqIQQgBSAGNgIAIANBf2oiA0UNAiAFQQRqIQUMAQsLIAZBvn5qIgZBMksEQCAFIQYMBwsgBkECdEHQNGooAgAhDiAFIQ8gAyEQIARBAWohCEEwIQMMCQsFIAwhBAsgASAENgIAIAIhCkE/IQMMBwUgA0EwRgRAIAgtAAAiBEEDdiIDQXBqIAMgDkEadWpyQQdLBEAgDyEDIA4hBiAIIQQgECEFDAUFAkAgCEEBaiEFIARBgH9qIA5BBnRyIgNBAEgEQAJAIAUtAABBgH9qIgRBP00EQCAIQQJqIQUgBCADQQZ0ciIDQQBOBEAgBSEMDAILIAUtAABBgH9qIgVBP00EQCAIQQNqIQwgBSADQQZ0ciEDDAILC0GkxQNBGTYCACAIQX9qIRUMAgsFIAUhDAsgDyADNgIAIA9BBGohEiAQQX9qIRFBISEDDAoLCwUgA0E/RgRAIAoPCwsLCwsMAwsgBEF/aiEEIAYNASADIQYgBSEDCyAELAAABH8gBgUgBgRAIAZBADYCACABQQA2AgALIAIgA2shCkE/IQMMAwshAwtBpMUDQRk2AgAgAwR/IAQFQX8hCkE/IQMMAgshFQsgASAVNgIAQX8hCkE/IQMMAAALAAukAQEFfyMGIQUjBkGAAmokBiAFIQMgAkECTgRAAkAgAkECdCABaiIHIAM2AgAgAARAA0AgAyABKAIAIABBgAIgAEGAAkkbIgQQTBpBACEDA0AgA0ECdCABaiIGKAIAIANBAWoiA0ECdCABaigCACAEEEwaIAYgBigCACAEajYCACACIANHDQALIAAgBGsiAEUNAiAHKAIAIQMMAAALAAsLCyAFJAYLOQECfyAABEAgAEEBcUUEQANAIAFBAWohASAAQQF2IQIgAEECcUUEQCACIQAMAQsLCwVBICEBCyABCykBAX8gACgCAEF/ahCAAyIBBH8gAQUgACgCBBCAAyIAQSBqQQAgABsLC5sEAQd/IwYhBiMGQdABaiQGIAZBwAFqIgRCATcDACABIAJsIgkEQAJAQQAgAmshCCAGIAI2AgQgBiACNgIAQQIhByACIgUhAQNAIAdBAnQgBmogAiAFaiABaiIKNgIAIAdBAWohByAKIAlJBEAgASEFIAohAQwBCwsgACAJaiAIaiIBIABLBH8gASEHQQEhAUEBIQUDfyAFQQNxQQNGBH8gACACIAMgASAGEKICIARBAhDyASABQQJqBSABQX9qIgVBAnQgBmooAgAgByAAa0kEQCAAIAIgAyABIAYQogIFIAAgAiADIAQgAUEAIAYQ8QELIAFBAUYEfyAEQQEQ8AFBAAUgBCAFEPABQQELCyEBIAQgBCgCAEEBciIFNgIAIAAgAmoiACAHSQ0AIAELBUEBIQVBAQshByAAIAIgAyAEIAdBACAGEPEBIAAhASAHIQADQAJ/AkAgAEEBRiAFQQFGcQR/IAQoAgRFDQQMAQUgAEECSA0BIARBAhDwASAEIAQoAgBBB3M2AgAgBEEBEPIBIAEgAEF+aiIFQQJ0IAZqKAIAayAIaiACIAMgBCAAQX9qQQEgBhDxASAEQQEQ8AEgBCAEKAIAQQFyIgc2AgAgASAIaiIBIAIgAyAEIAVBASAGEPEBIAUhACAHCwwBCyAEIAQQgQMiBRDyASABIAhqIQEgACAFaiEAIAQoAgALIQUMAAALAAsLIAYkBgsXACAAEIoBQQBHIABBIHJBn39qQQZJcgt9AgF/AX4jBiEEIwZBkAFqJAYgBEEANgIAIAQgADYCBCAEIAA2AiwgBEF/IABB/////wdqIABBAEgbNgIIIARBfzYCTCAEQgAQggEgBCACQQEgAxCTAyEFIAEEQCABIAAgBCgCBCAEKQN4p2ogBCgCCGtqNgIACyAEJAYgBQvfBQEJfyMGIQUjBkGQAmokBiABLAAARQRAAkBBxv4CEA0iAQRAIAEsAAANAQsgAEEMbEGg6QBqEA0iAQRAIAEsAAANAQtBzf4CEA0iAQRAIAEsAAANAQtB0v4CIQELCyAFQYACaiEGA38CfyACIAEgAmosAAAiA0EAIANBL0cbRQ0AGiACQQFqIgJBD0kNAUEPCwshAwJAAkACQCABLAAAIgJBLkYEQEHS/gIhAQUgASADaiwAAARAQdL+AiEBBSACQcMARw0CCwsgASwAAUUNAQsgAUHS/gIQswFFDQAgAUHa/gIQswFFDQBBuMUDKAIAIgIEQANAIAEgAkEIahCzAUUNAyACKAIYIgINAAsLQbzFAxAaQbjFAygCACICBEACQANAIAEgAkEIahCzAQRAIAIoAhgiAkUNAgwBCwtBvMUDEA4MAwsLAn8CQEHsxAMoAgANAEHg/gIQDSICRQ0AIAIsAABFDQBB/gEgA2shCSADQQFqIQoDQAJAIAJBOhCqAiIHLAAAIgRBAEdBH3RBH3UgByACa2oiCCAJSQR/IAUgAiAIEEwaIAUgCGoiAkEvOgAAIAJBAWogASADEEwaIAUgCCAKampBADoAACAFIAYQNSIEDQEgBywAAAUgBAshAiAHIAJB/wFxQQBHaiICLAAADQEMAgsLQRwQRCICBH8gAiAENgIAIAIgBigCADYCBCACQQhqIgQgASADEEwaIAMgBGpBADoAACACQbjFAygCADYCGEG4xQMgAjYCACACBSAEIAYoAgAQ/AQMAQsMAQtBHBBEIgIEQCACQfCHASgCADYCACACQfSHASgCADYCBCACQQhqIgQgASADEEwaIAMgBGpBADoAACACQbjFAygCADYCGEG4xQMgAjYCAAsgAgshAUG8xQMQDiABQfCHASAAIAFyGyECDAELIABFBEAgASwAAUEuRgRAQfCHASECDAILC0EAIQILIAUkBiACCxcAIABBAEcgAEHMxANHcSAAQYyIAUdxCw4AIAAQhgMEQCAAEDgLCx8BAn8gABBgQQFqIgEQRCICBH8gAiAAIAEQTAVBAAsLngEAIAJBAUYEQCABIAAoAgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJCyIBQQRrDi4ABgYGBgEGBgYGBgYCBgYGBgYGBgYDBgYGBgYGBgYGBgQGBgYGBgYGBgYGBgYFBgtBwCUhAgwGC0HQJCECDAULQdAjIQIMBAtBoCIhAgwDC0HQICECDAILQcAeIQIMAQsgBUF/aiECIAZBAWohBiABQQBKBEBBgBwhByAGDAMFIAEhBCACIQEgBgwECwALIAIhByAFQX9qIQIgBkEBagwBC0GAHCEHQcAAIQEgBUF/aiECIAZBAWoLIQQgC0UEQEEAIQUDQCACRQRAIAgoAgwhAiAAIAJB/wBxQQhqEQAARQRAQd4CIQEMDwsgCCgCBCECIAgoAgAhBAsgBUECdCAHaigCAEEBdCADaiAELQAAOwEAIAJBf2ohAiAEQQFqIQYgBUEBaiIFIAFIBEAgBiEEDAEFIAEhBCACIQEgBgwDCwAACwALQQAhBQN/IAJFBEAgCCgCDCECIAAgAkH/AHFBCGoRAABFBEBB3gIhAQwOCyAIKAIEIQIgCCgCACEECyAEQQFqIQYgBC0AACENIAJBf2oiAgR/IAYFIAgoAgwhAiAAIAJB/wBxQQhqEQAARQRAQd4CIQEMDgsgCCgCBCECIAgoAgALIQQgBUECdCAHaigCAEEBdCADaiAELQAAIA1B/wFxQQh0cjsBACACQX9qIQIgBEEBaiEGIAVBAWoiBSABSAR/IAYhBAwBBSABIQQgAiEBIAYLCwshAiAAKAIAIgUoAmhBAUoEQAJAQQAhBgNAIAUgBkEBdCADai8BADYCGCAFIAZBAXJBAXQgA2ovAQA2AhwgBSAGQQJyQQF0IANqLwEANgIgIAUgBkEDckEBdCADai8BADYCJCAFIAZBBHJBAXQgA2ovAQA2AiggBSAGQQVyQQF0IANqLwEANgIsIAUgBkEGckEBdCADai8BADYCMCAFIAZBB3JBAXQgA2ovAQA2AjQgBUHfADYCFCAFKAIEIQUgAEECIAVBP3FBsgVqEQMAIAZBCGoiBkHAAE8NASAAKAIAIQUMAAALAAsLIAkgBGtBACAEa0EAIAsbaiIEQQBKDQALCyAEBEAgACgCACIEQQw2AhQgBCgCACEEIAAgBEH/AXFBrANqEQEACyAIIAI2AgAgCCABNgIEDAcLIAAoAhgiBigCBCIBRQRAIAYoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCQsgBigCBCEBCyAGKAIAIgJBAWohBCACLQAAQQh0IAFBf2oiAgR/IAQFIAYoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCQsgBigCBCECIAYoAgALIgEtAAByQQRHBEAgACgCACIEQQw2AhQgBCgCACEEIAAgBEH/AXFBrANqEQEACyABQQFqIQEgAkF/aiICRQRAIAYoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCQsgBigCBCECIAYoAgAhAQsgAUEBaiEEIAEtAABBCHQgAkF/aiICBH8gBAUgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwJCyAGKAIEIQIgBigCAAsiAS0AAHIhBCAAKAIAIgNB1AA2AhQgAyAENgIYIAAoAgAoAgQhAyAAQQEgA0E/cUGyBWoRAwAgACAENgKYAiAGIAFBAWo2AgAgBiACQX9qNgIEDAYLIAAoAhgiBSgCACECIAUoAgQhASAAKALQAygCEEUEQCAAKAIAIgRBPDYCFCAEQRhqQfL9AkHQABDVASAAKAIAKAIAIQQgACAEQf8BcUGsA2oRAQALAkACQCAAKAIkQQNIDQAgAUUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAoLIAUoAgQhASAFKAIAIQILIAJBAWohBCACLQAAQQh0IAFBf2oiAgR/IAQFIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCgsgBSgCBCECIAUoAgALIgEtAAByQRhHBEAgACgCACIEQQw2AhQgBCgCACEEIAAgBEH/AXFBrANqEQEACyABQQFqIQEgAkF/aiICRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCgsgBSgCBCECIAUoAgAhAQsgASwAAEENRwRAIAAoAgAiBEHGADYCFCAEIAAoArgDNgIYIAAoAgAoAgAhBCAAIARB/wFxQawDahEBAAsgAUEBaiEBIAJBf2oiAkUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAoLIAUoAgQhAiAFKAIAIQELIAFBAWohBCABLQAAIQYgAkF/aiIBRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCgsgBSgCBCEBIAUoAgAhBAsgAUF/aiEBIARBAWohAiAELQAAIAZB/wFxQQh0ckH/AUcNACABBH8gAgUgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwKCyAFKAIEIQEgBSgCAAshBCABQX9qIQEgBEEBaiECIAQsAABBA0cNACABBH8gAgUgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwKCyAFKAIEIQEgBSgCAAshBCABQX9qIQEgBEEBaiECIAQtAAAgACgC2AEiAygCWEcNACABBH8gASEEIAIhBiADBSAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAoLIAUoAgQhBCAFKAIAIQYgACgC2AELIQEgBEF/aiECIAZBAWohBCAGLQAAIAEoAgBGBEAgAgR/IAEFIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCECIAUoAgAhBCAAKALYAQshBiACQX9qIQEgBEEBaiECIAQtAAAgBigCsAFHDQEgAQR/IAIFIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgALIQQgAUF/aiEBIARBAWohAiAELAAAQYB/Rw0BIAFFBEAgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwLCyAFKAIEIQEgBSgCACECCyACQQFqIQQgAi0AACEGIAFBf2oiAUUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAsLIAUoAgQhASAFKAIAIQQLIAFBf2ohASAEQQFqIQIgBC0AACAGQf8BcUEIdHINASABRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgAhAgsgAkEBaiEEIAItAAAhBiABQX9qIgFFBEAgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwLCyAFKAIEIQEgBSgCACEECyABQX9qIQEgBEEBaiECIAQtAAAgBkH/AXFBCHRyDQEgAQR/IAIFIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgALIQQgAUF/aiEBIARBAWohAiAELAAADQEgAUUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAsLIAUoAgQhASAFKAIAIQILIAJBAWohBCACLQAAIQYgAUF/aiIBRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgAhBAsgAUF/aiEBIARBAWohAiAELQAAIAZB/wFxQQh0ckEBRw0BIAFFBEAgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwLCyAFKAIEIQEgBSgCACECCyACQQFqIQQgAi0AACEGIAFBf2oiAUUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAsLIAUoAgQhASAFKAIAIQQLIAFBf2ohASAEQQFqIQIgBC0AACAGQf8BcUEIdHINASABBH8gAgUgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwLCyAFKAIEIQEgBSgCAAshBCABQX9qIQEgBEEBaiECIAQsAAANASABRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgAhAgsgAkEBaiEEIAItAAAhBiABQX9qIgFFBEAgBSgCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwLCyAFKAIEIQEgBSgCACEECyABQX9qIQEgBEEBaiECIAQtAAAgBkH/AXFBCHRyQQFHDQEgAUUEQCAFKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAsLIAUoAgQhASAFKAIAIQILIAJBAWohBCACLQAAIQYgAUF/aiIBRQRAIAUoAgwhASAAIAFB/wBxQQhqEQAARQRAQd4CIQEMCwsgBSgCBCEBIAUoAgAhBAsgAUF/aiEBIARBAWohAiAELQAAIAZB/wFxQQh0cg0BBSACIQEgBCECDAELDAELIAAoAgAiBEEcNgIUIAQoAgAhBCAAIARB/wFxQawDahEBAAsgAEEBNgKwAiAFIAI2AgAgBSABNgIEDAULIAAoAtADIAFBAnRqQaB5aigCACEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwGCwwECyAAKALQAygCHCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwFCwwDCyAAKAIAIgJB3gA2AhQgAiABNgIYIAAoAgAoAgQhASAAQQEgAUE/cUGyBWoRAwAMAgsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiAkEBaiEEIAItAABBCHQgAUF/aiICBH8gBAUgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQIgBigCAAsiAS0AAHIiA0F+aiEEIAAoAgAiBUHdADYCFCAFIAAoArgDNgIYIAAoAgAgBDYCHCAAKAIAKAIEIQUgAEEBIAVBP3FBsgVqEQMAIAYgAUEBajYCACAGIAJBf2o2AgQgA0ECSwRAIAAoAhgoAhAhASAAIAQgAUE/cUGyBWoRAwALDAELIAAoAgAiAkHGADYCFCACIAE2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEACyAAQQA2ArgDQQAhAQwBCwsCQCABQRlGBEAgACgCGCIHKAIAIQQgBygCBCEBIAAoAtADKAIQRQRAIAAoAgAiAkE8NgIUIAJBGGpB7v0CQdAAENUBIAAoAgAoAgAhAiAAIAJB/wFxQawDahEBAAsgAQR/IAEhAiAEBSAHKAIMIQEgACABQf8AcUEIahEAAEUNAiAHKAIEIQIgBygCAAsiAUEBaiEEIAEtAAAhBSACQX9qIgIEfyAEBSAHKAIMIQEgACABQf8AcUEIahEAAEUNAiAHKAIEIQIgBygCAAsiAUEBaiEGIAEtAAAhCCACQX9qIgQEfyAGBSAHKAIMIQEgACABQf8AcUEIahEAAEUNAiAHKAIEIQQgBygCAAsiASwAACIDQf8BcSEJIAAoAgAiAkHpADYCFCACIAk2AhggACgCACgCBCECIABBASACQT9xQbIFahEDAAJAAkACQAJ/AkAgCUEBdEEGaiAIQf8BcSAFQf8BcUEIdHJHIANB/wFxQQRKcg0AIAMEQCAAIAk2AtQCIAFBAWohASAEQX9qIgQhAiAERQwCCyAAKALgAUUNACAAIAk2AtQCIAFBAWohAiAEQX9qIgEEf0EBBUEBIQQMBAshBAwECyAAKAIAIgJBDDYCFCACKAIAIQIgACACQf8BcUGsA2oRAQAgACAJNgLUAiABQQFqIQIgBEF/aiIERSEGIAMEfyACIQEgBCECIAYFIAQhAUEBIQQMAgsLIQRBACEDA0ACQCAEBH8gBygCDCEBIAAgAUH/AHFBCGoRAABFDQEgBygCBCEGIAcoAgAFIAIhBiABCyIELQAAIQIgAwRAAkBBACEBA0AgAEHYAmogAUECdGooAgAoAgAgAkcEQCABQQFqIgEgA0kEQAwCBQwDCwALCyAAKALYAigCACEBIANBAUsEQEEBIQIDQCAAQdgCaiACQQJ0aigCACgCACIFIAEgBSABShshASACQQFqIgIgA0cNAAsLIAFBAWohAgsLIAZBf2ohBiAEQQFqIQUgACgC2AEhAQJAAkAgACgCJCIIQQBMDQBBACEEAkADQCACIAEoAgBGDQEgAUHYAGohASAEQQFqIgQgCEgNAAsMAQsMAQsgACgCACIEQQQ2AhQgBCACNgIYIAAoAgAoAgAhAiAAIAJB/wFxQawDahEBAAsgAEHYAmogA0ECdGogATYCACABIAYEfyAFBSAHKAIMIQIgACACQf8AcUEIahEAAEUNASAHKAIEIQYgBygCAAsiAi0AACIEQQR2NgIUIAEgBEEPcTYCGCAAKAIAIgQgASgCADYCGCAEIAEoAhQ2AhwgBCABKAIYNgIgIARB6gA2AhQgBCgCBCEBIABBASABQT9xQbIFahEDACACQQFqIQIgBkF/aiIERSEGIANBAWoiAyAJSQRAIAIhASAEIQIgBiEEDAIFIAQhAUEAIQQMAwsACwsMBAsgBg0ADAELIAcoAgwhASAAIAFB/wBxQQhqEQAARQ0CIAcoAgAhAiAHKAIEIQELIAJBAWohBiAAIAItAAA2ApwDIAFBf2oiAgR/IAYFIAcoAgwhASAAIAFB/wBxQQhqEQAARQ0CIAcoAgQhAiAHKAIACyIBQQFqIQYgACABLQAANgKgAyAAIAJBf2oiAgR/IAYFIAcoAgwhASAAIAFB/wBxQQhqEQAARQ0CIAcoAgQhAiAHKAIACyIBLQAAIgZBBHY2AqQDIAAgBkEPcTYCqAMgACgCACIGIAAoApwDNgIYIAYgACgCoAM2AhwgBiAAKAKkAzYCICAGIAAoAqgDNgIkIAZB6wA2AhQgBigCBCEGIABBASAGQT9xQbIFahEDACAAKALQA0EANgIUIARFBEAgACAAKAKQAUEBajYCkAELIAcgAUEBajYCACAHIAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=\";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw\"both async and sync fetching of the wasm failed\"}catch(A){JA(A)}}function uA(){return n||!i&&!o||\"function\"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:\"same-origin\"}).then((function(A){if(!A.ok)throw\"failed to load wasm binary file at '\"+fA+\"'\";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},\"global.Math\":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S(\"failed to asynchronously prepare wasm: \"+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S(\"Module.instantiateWasm callback failed with error: \"+A),!1}return function(){if(n||\"function\"!=typeof WebAssembly.instantiateStreaming||LA(fA)||\"function\"!=typeof fetch)return C(B);fetch(fA,{credentials:\"same-origin\"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S(\"wasm streaming compile failed: \"+A),S(\"falling back to ArrayBuffer instantiation\"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\\b__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+\" [\"+A+\"]\"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return\"(no stack trace available)\"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+=\"\\n\"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||\"./this.program\"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER=\"web_user\",jA.LOGNAME=\"web_user\",jA.PATH=\"/\",jA.PWD=\"/\",jA.HOME=\"/home/web_user\",jA.LANG=(\"object\"===(\"undefined\"==typeof navigator?\"undefined\":D(navigator))&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if(\"string\"==typeof jA[Q]){var E=Q+\"=\"+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},\"uncaught_exception\"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];\".\"===C?A.splice(B,1):\"..\"===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift(\"..\");return A},normalize:function(A){var I=\"/\"===A.charAt(0),g=\"/\"===A.substr(-1);return(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||I||(A=\".\"),A&&g&&(A+=\"/\"),(I?\"/\":\"\")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):\".\"},basename:function(A){if(\"/\"===A)return\"/\";var I=A.lastIndexOf(\"/\");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join(\"/\"))},join2:function(A,I){return BI.normalize(A+\"/\"+I)}},CI={resolve:function(){for(var A=\"\",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if(\"string\"!=typeof B)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!B)return\"\";A=B+\"/\"+A,I=\"/\"===B.charAt(0)}return(I?\"/\":\"\")+(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||\".\"},relative:function(A,I){function g(A){for(var I=0;I=0&&\"\"===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split(\"/\")),C=g(I.split(\"/\")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString(\"utf-8\"):null}else\"undefined\"!=typeof window&&\"function\"==typeof window.prompt?null!==(I=window.prompt(\"Input: \"))&&(I+=\"\\n\"):\"function\"==typeof readline&&null!==(I=readline())&&(I+=\"\\n\");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,\"/\",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!1),Q=iI.root,E=\"/\",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?\"/\"!==g[g.length-1]?g+\"/\"+I:g+I:g}I=I?A.name+\"/\"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,\"r+\":2,w:577,wx:705,xw:705,\"w+\":578,\"wx+\":706,\"xw+\":706,a:1089,ax:1217,xa:1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error(\"Unknown file open mode: \"+A);return I},flagsToPermissionString:function(A){var I=[\"r\",\"w\",\"rw\"][3&A];return 512&A&&(I+=\"w\"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf(\"r\")||292&A.mode)&&(-1===I.indexOf(\"w\")||146&A.mode)&&(-1===I.indexOf(\"x\")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,\"x\")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,\"wx\")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,\"wx\");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&(\"r\"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){\"function\"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S(\"warning: \"+iI.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C=\"/\"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||\".\"===C||\"..\"===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split(\"/\"),B=\"\",C=0;C\"})))},staticInit:function(){iI.ensureErrnoError(),iI.nameTable=new Array(4096),iI.mount(EI,{},\"/\"),iI.createDefaultDirectories(),iI.createDefaultDevices(),iI.createSpecialDirectories(),iI.filesystems={MEMFS:EI}},init:function(I,g,B){iI.init.initialized=!0,iI.ensureErrnoError(),A.stdin=I||A.stdin,A.stdout=g||A.stdout,A.stderr=B||A.stderr,iI.createStandardStreams()},quit:function(){iI.init.initialized=!1;var I=A._fflush;I&&I(0);for(var g=0;gthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open(\"HEAD\",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+A.status);var I,B=Number(A.getResponseHeader(\"Content-length\")),C=(I=A.getResponseHeader(\"Accept-Ranges\"))&&\"bytes\"===I,Q=(I=A.getResponseHeader(\"Content-Encoding\"))&&\"gzip\"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error(\"invalid range (\"+A+\", \"+I+\") or no bytes requested!\");if(I>B-1)throw new Error(\"only \"+B+\" bytes available! programmer error!\");var C=new XMLHttpRequest;if(C.open(\"GET\",g,!1),B!==E&&C.setRequestHeader(\"Range\",\"bytes=\"+A+\"-\"+I),\"undefined\"!=typeof Uint8Array&&(C.responseType=\"arraybuffer\"),C.overrideMimeType&&C.overrideMimeType(\"text/plain; charset=x-user-defined\"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||\"\",!0)}(I,C)),void 0===i.chunks[A])throw new Error(\"doXHR failed!\");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},\"undefined\"!=typeof XMLHttpRequest){if(!o)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return\"/\"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B=\"\";return 4&I&&(B+=\"r\"),2&I&&(B+=\"w\"),1&I&&(B+=\"x\"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA(\"bad ioctl syscall \"+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I=\"\",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return\"_unknown\";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,\"$\")).charCodeAt(0);return I>=JI&&I<=HI?\"_\"+A:A}function qI(A,I){return A=LI(A),new Function(\"body\",\"return function \"+A+'() {\\n \"use strict\"; return body.apply(this, arguments);\\n};\\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+\"\\n\"+g.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI(\"Mismatched type converter count\");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return\"null\";var I=D(A);return\"object\"===I||\"array\"===I||\"function\"===I?A.toString():\"\"+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError(\"Unknown float type: \"+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if(\"number\"!=typeof I&&\"boolean\"!=typeof I)throw new TypeError('Cannot convert \"'+_I(I)+'\" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError(\"new_ called with constructor type \"+D(A)+\" which is not a function\");var g=qI(A.name||\"unknownFunctionName\",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?\", \":\"\")+w),F+=(D?\"var rv = \":\"\")+\"invoker(fn\"+(w.length>0?\", \":\"\")+w+\");\\n\",i)F+=\"runDestructors(destructors);\\n\";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI(\"Replacing nonexistant public symbol\"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A[\"FUNCTION_TABLE_\"+I])B=A[\"FUNCTION_TABLE_\"+I][g];else if(\"undefined\"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A[\"dynCall_\"+I];void 0===C&&void 0===(C=A[\"dynCall_\"+I.replace(/f/g,\"d\")])&&lI(\"No dynCall invoker for signature: \"+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError(\"Unknown integer type: \"+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf(\"unsigned\");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if(\"number\"!=typeof g&&\"boolean\"!=typeof g)throw new TypeError('Cannot convert \"'+_I(g)+'\" to '+this.name);if(gC)throw new TypeError('Passing a number \"'+_I(g)+'\" from JS side to C/C++ side to an argument of type \"'+I+'\", which is outside the valid range ['+B+\", \"+C+\"]!\");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g=\"std::string\"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI(\"String has UTF-16 code units that do not fit in 8 bits\")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){\"string\"!=typeof B&&lI(\"Cannot pass non-string to C++ string type \"+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA(\"OOM\")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return I?I[1]:\"GMT\"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),\"longjmp\"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u(\"GMT\",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):\"\"},E=f(g),i={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var o in i)E=E.replace(new RegExp(o,\"g\"),i[o]);var D=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],a=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function w(A,I,g){for(var B=\"number\"==typeof A?A.toString():A||\"\";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={\"%a\":function(A){return D[A.tm_wday].substring(0,3)},\"%A\":function(A){return D[A.tm_wday]},\"%b\":function(A){return a[A.tm_mon].substring(0,3)},\"%B\":function(A){return a[A.tm_mon]},\"%C\":function(A){return F((A.tm_year+1900)/100|0,2)},\"%d\":function(A){return F(A.tm_mday,2)},\"%e\":function(A){return w(A.tm_mday,2,\" \")},\"%g\":function(A){return s(A).toString().substring(2)},\"%G\":function(A){return s(A)},\"%H\":function(A){return F(A.tm_hour,2)},\"%I\":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},\"%j\":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},\"%m\":function(A){return F(A.tm_mon+1,2)},\"%M\":function(A){return F(A.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(A){return A.tm_hour>=0&&A.tm_hour<12?\"AM\":\"PM\"},\"%S\":function(A){return F(A.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(A){return A.tm_wday||7},\"%U\":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?\"01\":\"00\"},\"%V\":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?\"53\":G(Q,E)<=0?\"01\":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?\"+\":\"-\")+String(\"0000\"+I).slice(-4)},\"%Z\":function(A){return A.tm_zone},\"%%\":function(){return\"%\"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,\"g\"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,\"BindingError\"),uI=A.InternalError=dI(Error,\"InternalError\"),jI(),Dg=A.UnboundTypeError=dI(Error,\"UnboundTypeError\");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,\"Character code \"+B+\" (\"+String.fromCharCode(B)+\") at offset \"+g+\" not in 0x00-0xFF.\"),B&=255),I.push(String.fromCharCode(B))}return I.join(\"\")}var Og=\"function\"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",o=\"\",D=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){A.setStatus(\"\")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for(\"function\"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:\"fetchRemoteData\",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:\"arraybuffer\"});case 3:return g=A.sent,A.abrupt(\"return\",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case\"end\":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:\"string2Uint8Data\",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:\"process\",value:function(A){var I=this.detectMarker(A);0!=I&&console.error(\"[ARController]\",\"detectMarker error:\",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:\"getMarker\",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:\"lostNFTMarker\",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:\"getMultiMarker\",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:\"dispatchEvent\",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:\"initWithDimensions\",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt(\"return\",I.sent);case 4:case\"end\":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:\"initWithImage\",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt(\"return\",i);case 7:case\"end\":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()}));\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n/*!***************************************************************!*\\\n !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***!\n \\***************************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsartoolkit */ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\");\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint-env worker */\n\nconst { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default());\nconst artoolkit = new ARToolkit();\n\nonmessage = function (e) {\n var msg = e.data;\n switch (msg.type) {\n case \"init\": {\n load(msg);\n return;\n }\n case \"process\": {\n next = msg.imagedata;\n process();\n return;\n }\n }\n};\n\nvar next = null;\n\nvar ar = null;\nvar markerResult = null;\n\nfunction load(msg) {\n var camUrl, nftMarkerUrl;\n var basePath = self.origin;\n console.log('base path:', basePath);\n // test if the msg.param (the incoming url) is an http or https path\n var regexC = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reC = regexC.test(msg.param);\n if (reC == true) {\n camUrl = msg.param;\n } else if (reC == false) {\n camUrl = basePath + '/' + msg.param;\n }\n var onLoad = function (arController) {\n ar = arController;\n var cameraMatrix = ar.getCameraMatrix();\n\n // after the ARController is set up, we load the NFT Marker\n var regexM = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reM = regexM.test(msg.marker);\n if (reM == true) {\n nftMarkerUrl = msg.marker;\n } else if (reM == false) {\n nftMarkerUrl = basePath + '/' + msg.marker;\n }\n ar.loadNFTMarker(nftMarkerUrl).then(function (markerId) {\n ar.trackNFTMarkerId(markerId);\n postMessage({ type: 'endLoading' })\n }).catch(function (err) {\n console.log('Error in loading marker on Worker', err)\n });\n\n // ...and we listen for event when marker has been found from camera\n ar.addEventListener('getNFTMarker', function (ev) {\n // let AR.js know that a NFT marker has been found, with its matrix for positioning\n markerResult = {\n type: 'found',\n matrix: JSON.stringify(ev.data.matrix),\n };\n });\n\n postMessage({ type: \"loaded\", proj: JSON.stringify(cameraMatrix) });\n };\n\n var onError = function (error) {\n console.error(\"Error while intizalizing arController\", error);\n };\n\n artoolkit.init().then(_ => {\n ARController.initWithDimensions(msg.pw, msg.ph, camUrl).then(onLoad).catch(onError);\n });\n}\n\nfunction process() {\n markerResult = null;\n\n if (ar && ar.process) {\n ar.process(next);\n }\n\n if (markerResult) {\n postMessage(markerResult);\n } else {\n postMessage({\n type: \"not found\",\n });\n }\n next = null;\n}\n\n})();\n\n/******/ })()\n;\n", "Worker", undefined, undefined); } -////////////////////////////////////////////////////////////////////////////// -// statistic collection -////////////////////////////////////////////////////////////////////////////// +/***/ }), -/** - * What to do when a image source is fully processed - */ -ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ - var originQuaternion = this.subMarkersControls[0].object3d.quaternion - // here collect the statistic on relative positioning - - // honor this.enabled - if( this.enabled === false ) return +/***/ "./node_modules/worker-loader/dist/runtime/inline.js": +/*!***********************************************************!*\ + !*** ./node_modules/worker-loader/dist/runtime/inline.js ***! + \***********************************************************/ +/***/ ((module) => { - // keep only the visible markers - var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ - return markerControls.object3d.visible === true - }) +"use strict"; - var count = Object.keys(visibleMarkerControls).length - var positionDelta = new THREE.Vector3() - var quaternionDelta = new THREE.Quaternion() - var scaleDelta = new THREE.Vector3() - var tmpMatrix = new THREE.Matrix4() - - // go thru all the visibleMarkerControls - for(var i = 0; i < count; i++){ - var markerControls1 = visibleMarkerControls[i] - for(var j = 0; j < count; j++){ - var markerControls2 = visibleMarkerControls[j] +/* eslint-env browser */ - // if markerControls1 is markerControls2, then skip it - if( i === j ) continue +/* eslint-disable no-undef, no-use-before-define, new-cap */ +module.exports = function (content, workerConstructor, workerOptions, url) { + var globalScope = self || window; + try { + try { + var blob; - ////////////////////////////////////////////////////////////////////////////// - // create data in markerControls1.object3d.userData if needed - ////////////////////////////////////////////////////////////////////////////// - // create seenCouples for markerControls1 if needed - if( markerControls1.object3d.userData.seenCouples === undefined ){ - markerControls1.object3d.userData.seenCouples = {} - } - var seenCouples = markerControls1.object3d.userData.seenCouples - // create the multiMarkerPosition average if needed` - if( seenCouples[markerControls2.id] === undefined ){ - // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) - seenCouples[markerControls2.id] = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - } + try { + // New API + blob = new globalScope.Blob([content]); + } catch (e) { + // BlobBuilder = Deprecated, but widely implemented + var BlobBuilder = globalScope.BlobBuilder || globalScope.WebKitBlobBuilder || globalScope.MozBlobBuilder || globalScope.MSBlobBuilder; + blob = new BlobBuilder(); + blob.append(content); + blob = blob.getBlob(); + } + + var URL = globalScope.URL || globalScope.webkitURL; + var objectURL = URL.createObjectURL(blob); + var worker = new globalScope[workerConstructor](objectURL, workerOptions); + URL.revokeObjectURL(objectURL); + return worker; + } catch (e) { + return new globalScope[workerConstructor]("data:application/javascript,".concat(encodeURIComponent(content)), workerOptions); + } + } catch (e) { + if (!url) { + throw Error("Inline worker is not supported"); + } + + return new globalScope[workerConstructor](url, workerOptions); + } +}; + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); - - ////////////////////////////////////////////////////////////////////////////// - // Compute markerControls2 position relative to markerControls1 - ////////////////////////////////////////////////////////////////////////////// - - // compute markerControls2 position/quaternion/scale in relation with markerControls1 - tmpMatrix.getInverse(markerControls1.object3d.matrix) - tmpMatrix.multiply(markerControls2.object3d.matrix) - tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) - - ////////////////////////////////////////////////////////////////////////////// - // update statistics - ////////////////////////////////////////////////////////////////////////////// - var stats = seenCouples[markerControls2.id] - // update the count - stats.count++ - - // update the average of position/rotation/scale - THREEx.ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) - THREEx.ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) - THREEx.ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) - } - } -} -////////////////////////////////////////////////////////////////////////////// -// Compute markers transformation matrix from current stats -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaLearning.prototype.computeResult = function(){ + + +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ var _this = this - var originSubControls = this.subMarkersControls[0] + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) - this.deleteResult() + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) - // special case of originSubControls averageMatrix - originSubControls.object3d.userData.result = { - averageMatrix : new THREE.Matrix4(), - confidenceFactor: 1, + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', } - // TODO here check if the originSubControls has been seen at least once!! - - - /** - * ALGO in pseudo code - * - * - Set confidenceFactor of origin sub markers as 1 - * - * Start Looping - * - For a given sub marker, skip it if it already has a result. - * - if no result, check all seen couple and find n ones which has a progress of 1 or more. - * - So the other seen sub markers, got a valid transformation matrix. - * - So take local averages position/orientation/scale, compose a transformation matrix. - * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale - * - Multiple it by the other seen marker matrix. - * - Loop on the array until one pass could not compute any new sub marker - */ - - do{ - var resultChanged = false - // loop over each subMarkerControls - this.subMarkersControls.forEach(function(subMarkerControls){ - - // if subMarkerControls already has a result, do nothing - var result = subMarkerControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === true ) return - - // console.log('compute subMarkerControls', subMarkerControls.name()) - var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) - if( otherSubControlsID === null ){ - // console.log('no learnedCoupleStats') - return - } - - var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) - - var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) - - var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix - - var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) - matrix = new THREE.Matrix4().getInverse(matrix) - - console.assert( subMarkerControls.object3d.userData.result === undefined ) - subMarkerControls.object3d.userData.result = { - averageMatrix: matrix, - confidenceFactor: 1 - } - - resultChanged = true - }) - // console.log('loop') - }while(resultChanged === true) - // debugger - // console.log('json:', this.toJSON()) - // this.subMarkersControls.forEach(function(subMarkerControls){ - // var hasResult = subMarkerControls.object3d.userData.result !== undefined - // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') - // }) + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses + + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) } +MarkersAreaControls.prototype = Object.create( _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; + ////////////////////////////////////////////////////////////////////////////// -// Utility function +// Code Separator ////////////////////////////////////////////////////////////////////////////// -/** - * get a _this.subMarkersControls id based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ - // if this subMarkerControls has never been seen with another subMarkerControls - if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null - - var seenCouples = subMarkerControls.object3d.userData.seenCouples - var coupleControlsIDs = Object.keys(seenCouples).map(Number) - - for(var i = 0; i < coupleControlsIDs.length; i++){ - var otherSubControlsID = coupleControlsIDs[i] - // get otherSubControls - var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) - - // if otherSubControls isnt learned, skip it - var result = otherSubControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === false ) continue - - // return this seenCouplesStats - return otherSubControlsID +/** + * What to do when a image source is fully processed + */ +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, } - - // if none is found, return null - return null -} -/** - * get a _this.subMarkersControls based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion + + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return + + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) + + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ - for(var i = 0; i < this.subMarkersControls.length; i++){ - var subMarkerControls = this.subMarkersControls[i] - if( subMarkerControls.id === controlsID ){ - return subMarkerControls + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } + + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + // change _this.object3d.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + _this.object3d.matrix.copy(modelViewMatrix) + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + _this.object3d.matrix.getInverse( modelViewMatrix ) + }else { + console.assert(false) } + + // decompose - the matrix into .position, .quaternion, .scale + _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) } - return null } - ////////////////////////////////////////////////////////////////////////////// -// JSON file building -////////////////////////////////////////////////////////////////////////////// - -ARjs.MarkersAreaLearning.prototype.toJSON = function(){ - // compute the average matrix before generating the file - this.computeResult() +////////////////////////////////////////////////////////////////////////////// +// Utility functions +////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////// - // actually build the json - ////////////////////////////////////////////////////////////////////////////// - var data = { - meta : { - createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, - createdAt : new Date().toJSON(), - - }, - trackingBackend: this._arToolkitContext.parameters.trackingBackend, - subMarkersControls : [], +/** + * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + */ +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ + quaternionAverage = quaternionAverage || new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + // sanity check + console.assert(firstQuaternion instanceof three__WEBPACK_IMPORTED_MODULE_0__.Quaternion === true) + + // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + if( newQuaternion.dot(firstQuaternion) > 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) } - var originSubControls = this.subMarkersControls[0] - var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) - this.subMarkersControls.forEach(function(subMarkerControls, index){ - - // if a subMarkerControls has no result, ignore it - if( subMarkerControls.object3d.userData.result === undefined ) return - - var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix - console.assert(poseMatrix instanceof THREE.Matrix4) - + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w + + quaternionAverage.x = quaternionSum.x/count + quaternionAverage.y = quaternionSum.y/count + quaternionAverage.z = quaternionSum.z/count + quaternionAverage.w = quaternionSum.w/count + + quaternionAverage.normalize() - // build the info - var info = { - parameters : { - // to fill ... - }, - poseMatrix : poseMatrix.toArray(), - } - if( subMarkerControls.parameters.type === 'pattern' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.patternUrl = subMarkerControls.parameters.patternUrl - }else if( subMarkerControls.parameters.type === 'barcode' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue - }else console.assert(false) + return quaternionAverage +} - data.subMarkersControls.push(info) - }) - var strJSON = JSON.stringify(data, null, '\t'); +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ + vector3Average = vector3Average || new three__WEBPACK_IMPORTED_MODULE_0__.Vector3() + vector3Sum.x += vector3.x + vector3Sum.y += vector3.y + vector3Sum.z += vector3.z - ////////////////////////////////////////////////////////////////////////////// - // round matrix elements to ease readability - for debug - ////////////////////////////////////////////////////////////////////////////// - var humanReadable = false - if( humanReadable === true ){ - var tmp = JSON.parse(strJSON) - tmp.subMarkersControls.forEach(function(markerControls){ - markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ - var roundingFactor = 100 - return Math.round(value*roundingFactor)/roundingFactor - }) - }) - strJSON = JSON.stringify(tmp, null, '\t'); - } + vector3Average.x = vector3Sum.x / count + vector3Average.y = vector3Sum.y / count + vector3Average.z = vector3Sum.z / count - return strJSON; + return vector3Average } ////////////////////////////////////////////////////////////////////////////// -// utility function +// Utility function ////////////////////////////////////////////////////////////////////////////// /** - * reset all collected statistics + * compute the center of this multimarker file */ -ARjs.MarkersAreaLearning.prototype.resetStats = function(){ - this.deleteResult() +MarkersAreaControls.computeCenter = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var stats = { + count : 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + var firstQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() // FIXME ??? + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ + + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.seenCouples + var averageMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + return averageMatrix +} + +MarkersAreaControls.computeBoundingBox = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var boundingBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3() + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + boundingBox.expandByPoint(position) }) + + return boundingBox } -/** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.deleteResult = function(){ - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.result +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) + + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } + + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] +} + + +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} + + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) + + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) + +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) + + // return it + return multiMarkerControls } -var THREEx = THREEx || {} -var ARjs = ARjs || {} -var THREEx = THREEx || {} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaControls); + +/***/ }), -ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} +/***/ "./three.js/src/markers-area/arjs-markersareautils.js": +/*!************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareautils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +const MarkersAreaUtils = {}; ////////////////////////////////////////////////////////////////////////////// // navigateToLearnerPage @@ -3383,11 +3182,11 @@ ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} * @param {String} learnerBaseURL - the base url for the learner * @param {String} trackingBackend - the tracking backend to use */ -ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ var learnerParameters = { backURL : location.href, trackingBackend: trackingBackend, - markersControlsParameters: ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), } location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) } @@ -3401,8 +3200,8 @@ ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingB * * @param {String} trackingBackend - the tracking backend to use */ -ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ - var file = ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) // json.strinfy the value and store it in localStorage localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) } @@ -3414,19 +3213,19 @@ ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ * @param {String} trackingBackend - the tracking backend to use * @return {Object} - json object of the multi-marker file */ -ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ console.assert(trackingBackend) if( trackingBackend === undefined ) debugger // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL var absoluteBaseURL = link.href // create the base file var file = { meta : { - createdBy : 'AR.js ' + ARjs.Context.REVISION + ' - Default Marker', + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', createdAt : new Date().toJSON(), }, trackingBackend : trackingBackend, @@ -3437,7 +3236,7 @@ ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ // add a subMarkersControls file.subMarkersControls[0] = { parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(0,0, 0).toArray(), + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), } if( trackingBackend === 'artoolkit' ){ file.subMarkersControls[0].parameters.type = 'pattern' @@ -3458,10 +3257,10 @@ ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ * @param {String} trackingBackend - the tracking backend to use * @return {Object} - json object containing the controls parameters */ -ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL var absoluteBaseURL = link.href @@ -3504,7 +3303,7 @@ ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(tracking /** * generate areaFile */ -ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { // generate areaFile var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) // store areaFile in localStorage @@ -3516,7 +3315,7 @@ ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBac // Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ // create the base file var file = { meta : { @@ -3571,7 +3370,7 @@ ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBack // create subMarkersControls var subMarkersControls = { parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), } // fill the parameters if( trackingBackend === 'artoolkit' ){ @@ -3584,7 +3383,7 @@ ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBack function layout2MarkerParametersArtoolkit(parameters, layout){ // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL var absoluteBaseURL = link.href var layout2PatternUrl = { @@ -3605,2534 +3404,3344 @@ ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBack } } } -////////////////////////////////////////////////////////////////////////////// -// arjs-anchor -////////////////////////////////////////////////////////////////////////////// -AFRAME.registerComponent('arjs-anchor', { - dependencies: ['arjs', 'artoolkit'], - schema: { - preset: { - type: 'string', - }, - markerhelpers: { // IIF preset === 'area' - type: 'boolean', - default: false, - }, - // controls parameters - size: { - type: 'number', - default: 1 - }, - type: { - type: 'string', - }, - patternUrl: { - type: 'string', - }, - descriptorsUrl: { - type: 'string', - }, - barcodeValue: { - type: 'number' - }, - changeMatrixMode: { - type: 'string', - default: 'modelViewMatrix', - }, - minConfidence: { - type: 'number', - default: 0.6, - }, - smooth: { - type: 'boolean', - default: false, - }, - smoothCount: { - type: 'number', - default: 5, - }, - smoothTolerance: { - type: 'number', - default: 0.01, - }, - smoothThreshold: { - type: 'number', - default: 2, - }, - }, - init: function () { - var _this = this +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); - // get arjsSystem - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +/***/ }), - _this.isReady = false - _this._arAnchor = null +/***/ "./three.js/src/new-api/arjs-anchor.js": +/*!*********************************************!*\ + !*** ./three.js/src/new-api/arjs-anchor.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // honor object visibility - if (_this.data.changeMatrixMode === 'modelViewMatrix') { - _this.el.object3D.visible = false - } else if (_this.data.changeMatrixMode === 'cameraTransformMatrix') { - _this.el.sceneEl.object3D.visible = false - } else console.assert(false) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); - // trick to wait until arjsSystem is isReady - var startedAt = Date.now() - var timerId = setInterval(function () { - // wait until the system is isReady - if (arjsSystem.isReady === false) return + // Alias for dynamic importing - clearInterval(timerId) - ////////////////////////////////////////////////////////////////////////////// - // update arProfile - ////////////////////////////////////////////////////////////////////////////// - var arProfile = arjsSystem._arProfile - // arProfile.changeMatrixMode('modelViewMatrix') - arProfile.changeMatrixMode(_this.data.changeMatrixMode) - // honor this.data.preset - var markerParameters = Object.assign({}, arProfile.defaultMarkerParameters) - if (_this.data.preset === 'hiro') { - markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' - markerParameters.markersAreaEnabled = false - } else if (_this.data.preset === 'kanji') { - markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' - markerParameters.markersAreaEnabled = false - } else if (_this.data.preset === 'area') { - markerParameters.type = 'barcode' - markerParameters.barcodeValue = 1001 - markerParameters.markersAreaEnabled = true - } else if (_this.data.type === 'barcode') { - markerParameters = { - type: _this.data.type, - changeMatrixMode: 'modelViewMatrix', - barcodeValue: _this.data.barcodeValue, - markersAreaEnabled: false - } - } else if (_this.data.type === 'pattern') { - markerParameters.type = _this.data.type - markerParameters.patternUrl = _this.data.patternUrl; - markerParameters.markersAreaEnabled = false - } else if (_this.data.type === 'nft') { - markerParameters.type = _this.data.type - markerParameters.descriptorsUrl = _this.data.descriptorsUrl; - markerParameters.markersAreaEnabled = false - } +// TODO this is a controls... should i give the object3d here ? +// not according to 'no three.js dependancy' - markerParameters.minConfidence = _this.data.minConfidence; - markerParameters.smooth = _this.data.smooth; - markerParameters.smoothCount = _this.data.smoothCount; - markerParameters.smoothTolerance = _this.data.smoothTolerance; - markerParameters.smoothThreshold = _this.data.smoothThreshold; +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const Anchor = function(arSession, markerParameters){ + var _this = this + var arContext = arSession.arContext + var scene = arSession.parameters.scene + var camera = arSession.parameters.camera - ////////////////////////////////////////////////////////////////////////////// - // create arAnchor - ////////////////////////////////////////////////////////////////////////////// + this.arSession = arSession + this.parameters = markerParameters - var arSession = arjsSystem._arSession - var arAnchor = _this._arAnchor = new ARjs.Anchor(arSession, markerParameters) + // log to debug + console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) - // it is now considered isReady - _this.isReady = true + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(markerRoot) - ////////////////////////////////////////////////////////////////////////////// - // honor .debugUIEnabled - ////////////////////////////////////////////////////////////////////////////// - if (arjsSystem.data.debugUIEnabled) { - // get or create containerElement - var containerElement = document.querySelector('#arjsDebugUIContainer') - if (containerElement === null) { - containerElement = document.createElement('div') - containerElement.id = 'arjsDebugUIContainer' - containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1; color: grey;') - document.body.appendChild(containerElement) - } - // create anchorDebugUI - var anchorDebugUI = new ARjs.AnchorDebugUI(arAnchor) - containerElement.appendChild(anchorDebugUI.domElement) - } - }, 1000 / 60) - }, - remove: function () { - }, - update: function () { - }, - tick: function () { - var _this = this - // if not yet isReady, do nothing - if (this.isReady === false) return + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var controlledObject = markerRoot + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var controlledObject = camera + }else console.assert(false) - ////////////////////////////////////////////////////////////////////////////// - // update arAnchor - ////////////////////////////////////////////////////////////////////////////// - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - this._arAnchor.update() + if( markerParameters.markersAreaEnabled === false ){ + var markerControls = new threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default(arContext, controlledObject, markerParameters) + this.controls = markerControls + }else{ + // sanity check - MUST be a trackingBackend with markers + console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - ////////////////////////////////////////////////////////////////////////////// - // honor pose - ////////////////////////////////////////////////////////////////////////////// - var arWorldRoot = this._arAnchor.object3d - arWorldRoot.updateMatrixWorld(true) - arWorldRoot.matrixWorld.decompose(this.el.object3D.position, this.el.object3D.quaternion, this.el.object3D.scale) + // honor markers-page-resolution for https://webxr.io/augmented-website + if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ + // get resolutionW/resolutionH from url + var markerPageResolution = location.hash.substring(1) + var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) + console.assert(matches.length === 3) + var resolutionW = parseInt(matches[1]) + var resolutionH = parseInt(matches[2]) + var arContext = arSession.arContext + // generate and store the ARjsMultiMarkerFile + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) + } - ////////////////////////////////////////////////////////////////////////////// - // honor visibility - ////////////////////////////////////////////////////////////////////////////// - if (_this._arAnchor.parameters.changeMatrixMode === 'modelViewMatrix') { - var wasVisible = _this.el.object3D.visible - _this.el.object3D.visible = this._arAnchor.object3d.visible - } else if (_this._arAnchor.parameters.changeMatrixMode === 'cameraTransformMatrix') { - var wasVisible = _this.el.sceneEl.object3D.visible - _this.el.sceneEl.object3D.visible = this._arAnchor.object3d.visible - } else console.assert(false) + // if there is no ARjsMultiMarkerFile, build a default one + if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) + } - // emit markerFound markerLost - if (_this._arAnchor.object3d.visible === true && wasVisible === false) { - _this.el.emit('markerFound') - } else if (_this._arAnchor.object3d.visible === false && wasVisible === true) { - _this.el.emit('markerLost') - } - } -}) + // get multiMarkerFile from localStorage + console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) + var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') -////////////////////////////////////////////////////////////////////////////// -// define some primitives shortcuts -////////////////////////////////////////////////////////////////////////////// + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var parent3D = scene + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var parent3D = camera + }else console.assert(false) -AFRAME.registerPrimitive('a-anchor', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': {}, - 'arjs-hit-testing': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - 'smooth': 'arjs-anchor.smooth', - 'smooth-count': 'arjs-anchor.smoothCount', - 'smooth-tolerance': 'arjs-anchor.smoothTolerance', - 'smooth-threshold': 'arjs-anchor.smoothThreshold', + // build a multiMarkerControls + var multiMarkerControls = _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__.default.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) + this.controls = multiMarkerControls - 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', - 'hit-testing-enabled': 'arjs-hit-testing.enabled', - } -})) + // honor markerParameters.changeMatrixMode + multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode +// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js + // create ArMarkerHelper - useful to debug - super three.js specific + var markerHelpers = [] + multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ + // add an helper to visuable each sub-marker + var markerHelper = new _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__.default(subMarkerControls) + markerHelper.object3d.visible = false + // subMarkerControls.object3d.add( markerHelper.object3d ) + subMarkerControls.object3d.add( markerHelper.object3d ) + // add it to markerHelpers + markerHelpers.push(markerHelper) + }) + // define API specific to markersArea + this.markersArea = {} + this.markersArea.setSubMarkersVisibility = function(visible){ + markerHelpers.forEach(function(markerHelper){ + markerHelper.object3d.visible = visible + }) + } + } -AFRAME.registerPrimitive('a-camera-static', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'camera': {}, - }, - mappings: { - } -})) + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + ////////////////////////////////////////////////////////////////////////////// + // THREEx.ArSmoothedControls + ////////////////////////////////////////////////////////////////////////////// -AFRAME.registerPrimitive('a-nft', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': {}, - 'arjs-hit-testing': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'url': 'arjs-anchor.descriptorsUrl', - 'size': 'arjs-anchor.size', - 'smooth': 'arjs-anchor.smooth', - 'smooth-count': 'arjs-anchor.smoothCount', - 'smooth-tolerance': 'arjs-anchor.smoothTolerance', - 'smooth-threshold': 'arjs-anchor.smoothThreshold', - - 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', - 'hit-testing-enabled': 'arjs-hit-testing.enabled', - }, -})) + var shouldBeSmoothed = true + if( shouldBeSmoothed === true ){ + // build a smoothedControls + var smoothedRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(smoothedRoot) + var smoothedControls = new _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__.default(smoothedRoot) + smoothedRoot.add(this.object3d) + }else{ + markerRoot.add(this.object3d) + } -////////////////////////////////////////////////////////////////////////////// -// backward compatibility -////////////////////////////////////////////////////////////////////////////// -AFRAME.registerPrimitive('a-marker', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': {}, - 'arjs-hit-testing': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - 'smooth': 'arjs-anchor.smooth', - 'smooth-count': 'arjs-anchor.smoothCount', - 'smooth-tolerance': 'arjs-anchor.smoothTolerance', - 'smooth-threshold': 'arjs-anchor.smoothThreshold', - 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', - 'hit-testing-enabled': 'arjs-hit-testing.enabled', - } -})) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + this.update = function(){ + // update _this.object3d.visible + _this.object3d.visible = _this.object3d.parent.visible -AFRAME.registerPrimitive('a-marker-camera', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': { - changeMatrixMode: 'cameraTransformMatrix' - }, - 'camera': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'descriptorsUrl': 'arjs-anchor.descriptorsUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - } -})) -////////////////////////////////////////////////////////////////////////////// -// arjs-hit-testing -////////////////////////////////////////////////////////////////////////////// -AFRAME.registerComponent('arjs-hit-testing', { - dependencies: ['arjs', 'artoolkit'], - schema: { - enabled : { - type: 'boolean', - default: false, - }, - renderDebug : { - type: 'boolean', - default: false, - }, - }, - init: function () { - var _this = this - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit + // console.log('controlledObject.visible', _this.object3d.parent.visible) + if( smoothedControls !== undefined ){ + // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls + if( multiMarkerControls !== undefined ){ + multiMarkerControls.updateSmoothedControls(smoothedControls) + } -// TODO make it work on cameraTransformMatrix too -// - _this.isReady = false - _this._arAnchor = null - _this._arHitTesting = null + // update smoothedControls + smoothedControls.update(markerRoot) + } + } +} - // trick to wait until arjsSystem is isReady - var startedAt = Date.now() - var timerId = setInterval(function(){ - var anchorEl = _this.el - var anchorComponent = anchorEl.components['arjs-anchor'] - // wait until anchorComponent is isReady - if( anchorComponent === undefined || anchorComponent.isReady === false ) return +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Anchor); - clearInterval(timerId) +/***/ }), - ////////////////////////////////////////////////////////////////////////////// - // create arAnchor - ////////////////////////////////////////////////////////////////////////////// - var arAnchor = anchorComponent._arAnchor - var arSession = arjsSystem._arSession - var renderer = arSession.parameters.renderer +/***/ "./three.js/src/new-api/arjs-debugui.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-debugui.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var hitTesting = _this._arHitTesting = new ARjs.HitTesting(arSession) - hitTesting.enabled = _this.data.enabled +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "SessionDebugUI": () => (/* binding */ SessionDebugUI), +/* harmony export */ "AnchorDebugUI": () => (/* binding */ AnchorDebugUI) +/* harmony export */ }); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); - _this.isReady = true - }, 1000/60) - }, - remove : function(){ - }, - update: function () { - }, - tick: function(){ - var _this = this - // if not yet isReady, do nothing - if( this.isReady === false ) return + // TODO context build-dependent - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - var arSession = arjsSystem._arSession +/** + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user + */ +const SessionDebugUI = function (arSession) { + var trackingBackend = arSession.arContext.parameters.trackingBackend - var anchorEl = _this.el - var anchorComponent = anchorEl.components['arjs-anchor'] - var arAnchor = anchorComponent._arAnchor + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.left = '5px' + this.domElement.style.bottom = '10px' + this.domElement.style.textAlign = 'right' + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// - var hitTesting = this._arHitTesting - var camera = arSession.parameters.camera -// console.log(camera.position) - hitTesting.update(camera, arAnchor.object3d, arAnchor.parameters.changeMatrixMode) - } -}); + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.innerHTML = 'trackingBackend : ' + trackingBackend + this.domElement.appendChild(domElement) +} /** - * @author richt / http://richt.me - * @author WestLangley / http://github.com/WestLangley - * - * W3C Device Orientation control (http://w3c.github.io/deviceorientation/spec-source-orientation.html) + * Url of augmented-website service - if === '' then dont include augmented-website link + * @type {String} */ +SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' -/* NOTE that this is a modified version of THREE.DeviceOrientationControls to - * allow exponential smoothing, for use in AR.js. +////////////////////////////////////////////////////////////////////////////// +// AnchorDebugUI +////////////////////////////////////////////////////////////////////////////// + +/** + * Create an debug UI for an ARjs.Anchor * - * Modifications Nick Whitelegg (nickw1 github) + * @param {ARjs.Anchor} arAnchor - the anchor to user */ +const AnchorDebugUI = function (arAnchor) { + var arSession = arAnchor.arSession + var trackingBackend = arSession.arContext.parameters.trackingBackend -ArjsDeviceOrientationControls = function ( object ) { - - var scope = this; - - this.object = object; - this.object.rotation.reorder( 'YXZ' ); + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'inline-block' + this.domElement.style.padding = '0.5em' + this.domElement.style.margin = '0.5em' + this.domElement.style.textAlign = 'left' - this.enabled = true; + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// - this.deviceOrientation = {}; - this.screenOrientation = 0; + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.style.padding = '0.5em' + domElement.style.color = 'rgba(0,0,0,0.9)' + domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + domElement.style.position = 'fixed' + domElement.style.left = '5px' + domElement.style.bottom = '40px' - this.alphaOffset = 0; // radians + this.domElement.appendChild(domElement) + domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled - this.smoothingFactor = 1; + ////////////////////////////////////////////////////////////////////////////// + // toggle-marker-helper + ////////////////////////////////////////////////////////////////////////////// - this.TWO_PI = 2 * Math.PI; - this.HALF_PI = 0.5 * Math.PI; + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.textAlign = 'left' + this.domElement.appendChild(domElement) - var onDeviceOrientationChangeEvent = function ( event ) { + domElement.id = 'buttonToggleMarkerHelpers' + domElement.innerHTML = 'toggle-marker-helper' + domElement.href = 'javascript:void(0)' - scope.deviceOrientation = event; + var subMarkerHelpersVisible = false + domElement.addEventListener('click', function () { + subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true + arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) + }) + } - }; + ////////////////////////////////////////////////////////////////////////////// + // Learn-new-marker-area + ////////////////////////////////////////////////////////////////////////////// - var onScreenOrientationChangeEvent = function () { + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - scope.screenOrientation = window.orientation || 0; + domElement.id = 'buttonMarkersAreaLearner' + domElement.innerHTML = 'Learn-new-marker-area' + domElement.href = 'javascript:void(0)' - }; + domElement.addEventListener('click', function () { + if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { + var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL + } else { + var learnerURL = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + 'examples/multi-markers/examples/learner.html' + } + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.navigateToLearnerPage(learnerURL, trackingBackend) + }) + } - // The angles alpha, beta and gamma form a set of intrinsic Tait-Bryan angles of type Z-X'-Y'' + ////////////////////////////////////////////////////////////////////////////// + // Reset-marker-area + ////////////////////////////////////////////////////////////////////////////// - var setObjectQuaternion = function () { + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - var zee = new THREE.Vector3( 0, 0, 1 ); + domElement.id = 'buttonMarkersAreaReset' + domElement.innerHTML = 'Reset-marker-area' + domElement.href = 'javascript:void(0)' - var euler = new THREE.Euler(); + domElement.addEventListener('click', function () { + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.storeDefaultMultiMarkerFile(trackingBackend) + location.reload() + }) + } +} - var q0 = new THREE.Quaternion(); +/** + * url for the markers-area learner. if not set, take the default one + * @type {String} + */ +AnchorDebugUI.MarkersAreaLearnerURL = null - var q1 = new THREE.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt( 0.5 ) ); // - PI/2 around the x-axis - return function ( quaternion, alpha, beta, gamma, orient ) { - euler.set( beta, alpha, - gamma, 'YXZ' ); // 'ZXY' for the device, but 'YXZ' for us - quaternion.setFromEuler( euler ); // orient the device +/***/ }), - quaternion.multiply( q1 ); // camera looks out the back of the device, not the top +/***/ "./three.js/src/new-api/arjs-hittesting.js": +/*!*************************************************!*\ + !*** ./three.js/src/new-api/arjs-hittesting.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - quaternion.multiply( q0.setFromAxisAngle( zee, - orient ) ); // adjust for screen orientation +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../threex/threex-hittesting-plane */ "./three.js/src/threex/threex-hittesting-plane.js"); - }; - }(); +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const HitTesting = function (arSession) { + var _this = this + var arContext = arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend - this.connect = function () { - - onScreenOrientationChangeEvent(); + this.enabled = true + this._arSession = arSession + this._hitTestingPlane = null + _this._hitTestingPlane = new _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__.default(arSession.arSource.domElement) +} - window.addEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); - window.addEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// +/** + * update + * + * @param {THREE.Camera} camera - the camera to use + * @param {THREE.Object3D} object3d - + */ +HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { + // if it isnt enabled, do nothing + if (this.enabled === false) return - scope.enabled = true; - }; + if (this._hitTestingPlane !== null) { + this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) + } else console.assert(false) +} - this.disconnect = function () { +////////////////////////////////////////////////////////////////////////////// +// actual hit testing +////////////////////////////////////////////////////////////////////////////// - window.removeEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); - window.removeEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); +/** + * Test the real world for intersections directly from a DomEvent + * + * @param {Number} mouseX - position X of the hit [-1, +1] + * @param {Number} mouseY - position Y of the hit [-1, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.testDomEvent = function (domEvent) { + var trackingBackend = this._arSession.arContext.parameters.trackingBackend + var arSource = this._arSession.arSource - scope.enabled = false; + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + var mouseX = domEvent.clientX / arSource.domElementWidth() + var mouseY = domEvent.clientY / arSource.domElementHeight() - }; + return this.test(mouseX, mouseY) +} - this.update = function () { +/** + * Test the real world for intersections. + * + * @param {Number} mouseX - position X of the hit [0, +1] + * @param {Number} mouseY - position Y of the hit [0, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.test = function (mouseX, mouseY) { + var arContext = this._arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend + var hitTestResults = [] - if ( scope.enabled === false ) return; + // if it isnt enabled, do nothing + if (this.enabled === false) return [] - var device = scope.deviceOrientation; + var result = this._hitTestingPlane.test(mouseX, mouseY) - if ( device ) { + // if no result is found, return now + if (result === null) return hitTestResults - var alpha = device.alpha ? THREE.Math.degToRad( device.alpha ) + scope.alphaOffset : 0; // Z + // build a HitTesting.Result + var hitTestResult = new HitTesting.Result(result.position, result.quaternion, result.scale) + hitTestResults.push(hitTestResult) - var beta = device.beta ? THREE.Math.degToRad( device.beta ) : 0; // X' + return hitTestResults +} - var gamma = device.gamma ? THREE.Math.degToRad( device.gamma ) : 0; // Y'' +////////////////////////////////////////////////////////////////////////////// +// HitTesting.Result +////////////////////////////////////////////////////////////////////////////// +/** + * Contains the result of HitTesting.test() + * + * @param {THREE.Vector3} position - position to use + * @param {THREE.Quaternion} quaternion - quaternion to use + * @param {THREE.Vector3} scale - scale + */ +HitTesting.Result = function (position, quaternion, scale) { + this.position = position + this.quaternion = quaternion + this.scale = scale +} - var orient = scope.screenOrientation ? THREE.Math.degToRad( scope.screenOrientation ) : 0; // O +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.apply = function (object3d) { + object3d.position.copy(this.position) + object3d.quaternion.copy(this.quaternion) + object3d.scale.copy(this.scale) - // NW Added smoothing code - var k = this.smoothingFactor; + object3d.updateMatrix() +} - if(this.lastOrientation) { - alpha = this._getSmoothedAngle(alpha, this.lastOrientation.alpha, k); - beta = this._getSmoothedAngle(beta + Math.PI, this.lastOrientation.beta, k); - gamma = this._getSmoothedAngle(gamma + this.HALF_PI, this.lastOrientation.gamma, k, Math.PI); - - } else { - beta += Math.PI; - gamma += this.HALF_PI; - } +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyPosition = function (object3d) { + object3d.position.copy(this.position) - this.lastOrientation = { - alpha: alpha, - beta: beta, - gamma: gamma - }; - setObjectQuaternion( scope.object.quaternion, alpha, beta - Math.PI, gamma - this.HALF_PI, orient ); + object3d.updateMatrix() - } - }; + return this +} - - // NW Added - this._orderAngle = function(a, b, range = this.TWO_PI) { - if ((b > a && Math.abs(b - a) < range / 2) || (a > b && Math.abs(b - a) > range / 2)) { - return { left: a, right: b } - } else { - return { left: b, right: a } - } - }; +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyQuaternion = function (object3d) { + object3d.quaternion.copy(this.quaternion) - // NW Added - this._getSmoothedAngle = function(a, b, k, range = this.TWO_PI) { - const angles = this._orderAngle(a, b, range); - const angleshift = angles.left; - const origAnglesRight = angles.right; - angles.left = 0; - angles.right -= angleshift; - if(angles.right < 0) angles.right += range; - let newangle = origAnglesRight == b ? (1 - k)*angles.right + k * angles.left : k * angles.right + (1 - k) * angles.left; - newangle += angleshift; - if(newangle >= range) newangle -= range; - return newangle; - }; + object3d.updateMatrix() - this.dispose = function () { - scope.disconnect(); - }; + return this +} - this.connect(); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTesting); -}; -// To avoid recalculation at every mouse movement tick -var PI_2 = Math.PI / 2; +/***/ }), -/** - * look-controls. Update entity pose, factoring mouse, touch, and WebVR API data. - */ +/***/ "./three.js/src/new-api/arjs-session.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-session.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -/* NOTE that this is a modified version of A-Frame's look-controls to - * allow exponential smoothing, for use in AR.js. +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + + // TODO context build-dependent + +/** + * * define a Session * - * Modifications Nick Whitelegg (nickw1 github) + * @param {Object} parameters - parameters for this session */ +const Session = function(parameters){ + var _this = this + // handle default parameters + this.parameters = { + renderer: null, + camera: null, + scene: null, + sourceParameters: {}, + contextParameters: {}, + } -AFRAME.registerComponent('arjs-look-controls', { - dependencies: ['position', 'rotation'], + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] - schema: { - enabled: {default: true}, - magicWindowTrackingEnabled: {default: true}, - pointerLockEnabled: {default: false}, - reverseMouseDrag: {default: false}, - reverseTouchDrag: {default: false}, - touchEnabled: {default: true}, - smoothingFactor: { type: 'number', default: 1 } - }, + if( newValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) + continue + } - init: function () { - this.deltaYaw = 0; - this.previousHMDPosition = new THREE.Vector3(); - this.hmdQuaternion = new THREE.Quaternion(); - this.magicWindowAbsoluteEuler = new THREE.Euler(); - this.magicWindowDeltaEuler = new THREE.Euler(); - this.position = new THREE.Vector3(); - this.magicWindowObject = new THREE.Object3D(); - this.rotation = {}; - this.deltaRotation = {}; - this.savedPose = null; - this.pointerLocked = false; - this.setupMouseControls(); - this.bindMethods(); - this.previousMouseEvent = {}; + var currentValue = _this.parameters[ key ] - this.setupMagicWindowControls(); + if( currentValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) + continue + } - // To save / restore camera pose - this.savedPose = { - position: new THREE.Vector3(), - rotation: new THREE.Euler() - }; + _this.parameters[ key ] = newValue + } + } + // sanity check + console.assert(this.parameters.renderer instanceof three__WEBPACK_IMPORTED_MODULE_0__.WebGLRenderer) + console.assert(this.parameters.camera instanceof three__WEBPACK_IMPORTED_MODULE_0__.Camera) + console.assert(this.parameters.scene instanceof three__WEBPACK_IMPORTED_MODULE_0__.Scene) - // Call enter VR handler if the scene has entered VR before the event listeners attached. - if (this.el.sceneEl.is('vr-mode')) { this.onEnterVR(); } - }, - setupMagicWindowControls: function () { - var magicWindowControls; - var data = this.data; + // backward emulation + Object.defineProperty(this, 'renderer', {get: function(){ + console.warn('use .parameters.renderer renderer') + return this.parameters.renderer; + }}); + Object.defineProperty(this, 'camera', {get: function(){ + console.warn('use .parameters.camera instead') + return this.parameters.camera; + }}); + Object.defineProperty(this, 'scene', {get: function(){ + console.warn('use .parameters.scene instead') + return this.parameters.scene; + }}); - // Only on mobile devices and only enabled if DeviceOrientation permission has been granted. - if (AFRAME.utils.device.isMobile()) { - magicWindowControls = this.magicWindowControls = new ArjsDeviceOrientationControls(this.magicWindowObject); - if (typeof DeviceOrientationEvent !== 'undefined' && DeviceOrientationEvent.requestPermission) { - magicWindowControls.enabled = false; - if (this.el.sceneEl.components['device-orientation-permission-ui'].permissionGranted) { - magicWindowControls.enabled = data.magicWindowTrackingEnabled; - } else { - this.el.sceneEl.addEventListener('deviceorientationpermissiongranted', function () { - magicWindowControls.enabled = data.magicWindowTrackingEnabled; - }); - } - } - } - }, - update: function (oldData) { - var data = this.data; + // log the version + console.log('AR.js', _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) - // Disable grab cursor classes if no longer enabled. - if (data.enabled !== oldData.enabled) { - this.updateGrabCursor(data.enabled); - } + ////////////////////////////////////////////////////////////////////////////// + // init arSource + ////////////////////////////////////////////////////////////////////////////// + var arSource = _this.arSource = new _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__.default(parameters.sourceParameters) - // Reset magic window eulers if tracking is disabled. - if (oldData && !data.magicWindowTrackingEnabled && oldData.magicWindowTrackingEnabled) { - this.magicWindowAbsoluteEuler.set(0, 0, 0); - this.magicWindowDeltaEuler.set(0, 0, 0); - } + arSource.init(function onReady(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - // Pass on magic window tracking setting to magicWindowControls. - if (this.magicWindowControls) { - this.magicWindowControls.enabled = data.magicWindowTrackingEnabled; - this.magicWindowControls.smoothingFactor = data.smoothingFactor; - } + // handle resize + window.addEventListener('resize', function(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - if (oldData && !data.pointerLockEnabled !== oldData.pointerLockEnabled) { - this.removeEventListeners(); - this.addEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - } - }, + ////////////////////////////////////////////////////////////////////////////// + // init arContext + ////////////////////////////////////////////////////////////////////////////// - tick: function (t) { - var data = this.data; - if (!data.enabled) { return; } - this.updateOrientation(); - }, + // create atToolkitContext + var arContext = _this.arContext = new _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default(parameters.contextParameters) - play: function () { - this.addEventListeners(); - }, + // initialize it + _this.arContext.init() - pause: function () { - this.removeEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - }, + arContext.addEventListener('initialized', function(event){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - remove: function () { - this.removeEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - }, + ////////////////////////////////////////////////////////////////////////////// + // update function + ////////////////////////////////////////////////////////////////////////////// + // update artoolkit on every frame + this.update = function(){ + if( arSource.ready === false ) return - bindMethods: function () { - this.onMouseDown = AFRAME.utils.bind(this.onMouseDown, this); - this.onMouseMove = AFRAME.utils.bind(this.onMouseMove, this); - this.onMouseUp = AFRAME.utils.bind(this.onMouseUp, this); - this.onTouchStart = AFRAME.utils.bind(this.onTouchStart, this); - this.onTouchMove = AFRAME.utils.bind(this.onTouchMove, this); - this.onTouchEnd = AFRAME.utils.bind(this.onTouchEnd, this); - this.onEnterVR = AFRAME.utils.bind(this.onEnterVR, this); - this.onExitVR = AFRAME.utils.bind(this.onExitVR, this); - this.onPointerLockChange = AFRAME.utils.bind(this.onPointerLockChange, this); - this.onPointerLockError = AFRAME.utils.bind(this.onPointerLockError, this); - }, + arContext.update( arSource.domElement ) + } +} - /** - * Set up states and Object3Ds needed to store rotation data. - */ - setupMouseControls: function () { - this.mouseDown = false; - this.pitchObject = new THREE.Object3D(); - this.yawObject = new THREE.Object3D(); - this.yawObject.position.y = 10; - this.yawObject.add(this.pitchObject); - }, +Session.prototype.onResize = function () { + this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) +}; - /** - * Add mouse and touch event listeners to canvas. - */ - addEventListeners: function () { - var sceneEl = this.el.sceneEl; - var canvasEl = sceneEl.canvas; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Session); - // Wait for canvas to load. - if (!canvasEl) { - sceneEl.addEventListener('render-target-loaded', AFRAME.utils.bind(this.addEventListeners, this)); - return; - } +/***/ }), - // Mouse events. - canvasEl.addEventListener('mousedown', this.onMouseDown, false); - window.addEventListener('mousemove', this.onMouseMove, false); - window.addEventListener('mouseup', this.onMouseUp, false); +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // Touch events. - canvasEl.addEventListener('touchstart', this.onTouchStart); - window.addEventListener('touchmove', this.onTouchMove); - window.addEventListener('touchend', this.onTouchEnd); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - // sceneEl events. - sceneEl.addEventListener('enter-vr', this.onEnterVR); - sceneEl.addEventListener('exit-vr', this.onExitVR); - // Pointer Lock events. - if (this.data.pointerLockEnabled) { - document.addEventListener('pointerlockchange', this.onPointerLockChange, false); - document.addEventListener('mozpointerlockchange', this.onPointerLockChange, false); - document.addEventListener('pointerlockerror', this.onPointerLockError, false); - } - }, +const Utils = {}; - /** - * Remove mouse and touch event listeners from canvas. - */ - removeEventListeners: function () { - var sceneEl = this.el.sceneEl; - var canvasEl = sceneEl && sceneEl.canvas; +/** + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) - if (!canvasEl) { return; } + return camera +} - // Mouse events. - canvasEl.removeEventListener('mousedown', this.onMouseDown); - window.removeEventListener('mousemove', this.onMouseMove); - window.removeEventListener('mouseup', this.onMouseUp); +/** + * parse tracking method + * + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method + */ +Utils.parseTrackingMethod = function (trackingMethod) { - // Touch events. - canvasEl.removeEventListener('touchstart', this.onTouchStart); - window.removeEventListener('touchmove', this.onTouchMove); - window.removeEventListener('touchend', this.onTouchEnd); + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } - // sceneEl events. - sceneEl.removeEventListener('enter-vr', this.onEnterVR); - sceneEl.removeEventListener('exit-vr', this.onExitVR); + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } +} - // Pointer Lock events. - document.removeEventListener('pointerlockchange', this.onPointerLockChange, false); - document.removeEventListener('mozpointerlockchange', this.onPointerLockChange, false); - document.removeEventListener('pointerlockerror', this.onPointerLockError, false); - }, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); - /** - * Update orientation for mobile, mouse drag, and headset. - * Mouse-drag only enabled if HMD is not active. - */ - updateOrientation: (function () { - var poseMatrix = new THREE.Matrix4(); - return function () { - var object3D = this.el.object3D; - var pitchObject = this.pitchObject; - var yawObject = this.yawObject; - var pose; - var sceneEl = this.el.sceneEl; +/***/ }), - // In VR mode, THREE is in charge of updating the camera pose. - if (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected()) { - // With WebXR THREE applies headset pose to the object3D matrixWorld internally. - // Reflect values back on position, rotation, scale for getAttribute to return the expected values. - if (sceneEl.hasWebXR) { - pose = sceneEl.renderer.xr.getCameraPose(); - if (pose) { - poseMatrix.elements = pose.transform.matrix; - poseMatrix.decompose(object3D.position, object3D.rotation, object3D.scale); - } - } - return; - } +/***/ "./three.js/src/threex/arjs-context-nft.js": +/*!*************************************************!*\ + !*** ./three.js/src/threex/arjs-context-nft.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - this.updateMagicWindowOrientation(); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-markercontrols-nft */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); - // On mobile, do camera rotation with touch events and sensors. - object3D.rotation.x = this.magicWindowDeltaEuler.x + pitchObject.rotation.x; - object3D.rotation.y = this.magicWindowDeltaEuler.y + yawObject.rotation.y; - object3D.rotation.z = this.magicWindowDeltaEuler.z; - }; - })(), - updateMagicWindowOrientation: function () { - var magicWindowAbsoluteEuler = this.magicWindowAbsoluteEuler; - var magicWindowDeltaEuler = this.magicWindowDeltaEuler; - // Calculate magic window HMD quaternion. - if (this.magicWindowControls && this.magicWindowControls.enabled) { - this.magicWindowControls.update(); - magicWindowAbsoluteEuler.setFromQuaternion(this.magicWindowObject.quaternion, 'YXZ'); - if (!this.previousMagicWindowYaw && magicWindowAbsoluteEuler.y !== 0) { - this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; - } - if (this.previousMagicWindowYaw) { - magicWindowDeltaEuler.x = magicWindowAbsoluteEuler.x; - magicWindowDeltaEuler.y += magicWindowAbsoluteEuler.y - this.previousMagicWindowYaw; - magicWindowDeltaEuler.z = magicWindowAbsoluteEuler.z; - this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; - } - } - }, + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); - /** - * Translate mouse drag into rotation. - * - * Dragging up and down rotates the camera around the X-axis (yaw). - * Dragging left and right rotates the camera around the Y-axis (pitch). - */ - onMouseMove: function (evt) { - var direction; - var movementX; - var movementY; - var pitchObject = this.pitchObject; - var previousMouseEvent = this.previousMouseEvent; - var yawObject = this.yawObject; +const Context = function (parameters, sourceParameters) { + var _this = this - // Not dragging or not enabled. - if (!this.data.enabled || (!this.mouseDown && !this.pointerLocked)) { return; } + _this._updatedAt = null - // Calculate delta. - if (this.pointerLocked) { - movementX = evt.movementX || evt.mozMovementX || 0; - movementY = evt.movementY || evt.mozMovementY || 0; - } else { - movementX = evt.screenX - previousMouseEvent.screenX; - movementY = evt.screenY - previousMouseEvent.screenY; - } - this.previousMouseEvent.screenX = evt.screenX; - this.previousMouseEvent.screenY = evt.screenY; + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - // Calculate rotation. - direction = this.data.reverseMouseDrag ? 1 : -1; - yawObject.rotation.y += movementX * 0.002 * direction; - pitchObject.rotation.x += movementY * 0.002 * direction; - pitchObject.rotation.x = Math.max(-PI_2, Math.min(PI_2, pitchObject.rotation.x)); - }, + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', - /** - * Register mouse down to detect mouse drag. - */ - onMouseDown: function (evt) { - var sceneEl = this.el.sceneEl; - if (!this.data.enabled || (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected())) { return; } - // Handle only primary button. - if (evt.button !== 0) { return; } + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, - var canvasEl = sceneEl && sceneEl.canvas; + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, - this.mouseDown = true; - this.previousMouseEvent.screenX = evt.screenX; - this.previousMouseEvent.screenY = evt.screenY; - this.showGrabbingCursor(); + // Labeling mode for markers - ['black_region', 'white_region'] + // black_region: Black bordered markers on a white background, white_region: White bordered markers on a black background + labelingMode: 'black_region', - if (this.data.pointerLockEnabled && !this.pointerLocked) { - if (canvasEl.requestPointerLock) { - canvasEl.requestPointerLock(); - } else if (canvasEl.mozRequestPointerLock) { - canvasEl.mozRequestPointerLock(); - } + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, } - }, - - /** - * Shows grabbing cursor on scene - */ - showGrabbingCursor: function () { - this.el.sceneEl.canvas.style.cursor = 'grabbing'; - }, + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + console.assert(["black_region", "white_region"].indexOf(this.parameters.labelingMode) !== -1, "invalid parameter labelingMode", this.parameters.labelingMode); - /** - * Hides grabbing cursor on scene - */ - hideGrabbingCursor: function () { - this.el.sceneEl.canvas.style.cursor = ''; - }, + this.arController = null; - /** - * Register mouse up to detect release of mouse drag. - */ - onMouseUp: function () { - this.mouseDown = false; - this.hideGrabbingCursor(); - }, + _this.initialized = false - /** - * Register touch down to detect touch drag. - */ - onTouchStart: function (evt) { - if (evt.touches.length !== 1 || - !this.data.touchEnabled || - this.el.sceneEl.is('vr-mode')) { return; } - this.touchStart = { - x: evt.touches[0].pageX, - y: evt.touches[0].pageY - }; - this.touchStarted = true; - }, - /** - * Translate touch move to Y-axis rotation. - */ - onTouchMove: function (evt) { - var direction; - var canvas = this.el.sceneEl.canvas; - var deltaY; - var yawObject = this.yawObject; + this._arMarkersControls = [] - if (!this.touchStarted || !this.data.touchEnabled) { return; } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - deltaY = 2 * Math.PI * (evt.touches[0].pageX - this.touchStart.x) / canvas.clientWidth; + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } - direction = this.data.reverseTouchDrag ? 1 : -1; - // Limit touch orientaion to to yaw (y axis). - yawObject.rotation.y -= deltaY * 0.5 * direction; - this.touchStart = { - x: evt.touches[0].pageX, - y: evt.touches[0].pageY - }; - }, + var currentValue = _this.parameters[key] - /** - * Register touch end to detect release of touch drag. - */ - onTouchEnd: function () { - this.touchStarted = false; - }, + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } - /** - * Save pose. - */ - onEnterVR: function () { - var sceneEl = this.el.sceneEl; - if (!sceneEl.checkHeadsetConnected()) { return; } - this.saveCameraPose(); - this.el.object3D.position.set(0, 0, 0); - this.el.object3D.rotation.set(0, 0, 0); - if (sceneEl.hasWebXR) { - this.el.object3D.matrixAutoUpdate = false; - this.el.object3D.updateMatrix(); + _this.parameters[key] = newValue + } } - }, +} - /** - * Restore the pose. - */ - onExitVR: function () { - if (!this.el.sceneEl.checkHeadsetConnected()) { return; } - this.restoreCameraPose(); - this.previousHMDPosition.set(0, 0, 0); - this.el.object3D.matrixAutoUpdate = true; - }, +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; - /** - * Update Pointer Lock state. - */ - onPointerLockChange: function () { - this.pointerLocked = !!(document.pointerLockElement || document.mozPointerLockElement); - }, +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01'; - /** - * Recover from Pointer Lock error. - */ - onPointerLockError: function () { - this.pointerLocked = false; - }, +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false) + return camera +} - // Exits pointer-locked mode. - exitPointerLock: function () { - document.exitPointerLock(); - this.pointerLocked = false; - }, - /** - * Toggle the feature of showing/hiding the grab cursor. - */ - updateGrabCursor: function (enabled) { - var sceneEl = this.el.sceneEl; +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done) + } else console.assert(false) + return - function enableGrabCursor () { sceneEl.canvas.classList.add('a-grab-cursor'); } - function disableGrabCursor () { sceneEl.canvas.classList.remove('a-grab-cursor'); } + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); - if (!sceneEl.canvas) { - if (enabled) { - sceneEl.addEventListener('render-target-loaded', enableGrabCursor); - } else { - sceneEl.addEventListener('render-target-loaded', disableGrabCursor); - } - return; - } + _this.initialized = true - if (enabled) { - enableGrabCursor(); - return; + onCompleted && onCompleted() } - disableGrabCursor(); - }, - - /** - * Save camera pose before entering VR to restore later if exiting. - */ - saveCameraPose: function () { - var el = this.el; - this.savedPose.position.copy(el.object3D.position); - this.savedPose.rotation.copy(el.object3D.rotation); - this.hasSavedPose = true; - }, +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { - /** - * Reset camera pose to before entering VR. - */ - restoreCameraPose: function () { - var el = this.el; - var savedPose = this.savedPose; - - if (!this.hasSavedPose) { return; } - - // Reset camera orientation. - el.object3D.position.copy(savedPose.position); - el.object3D.rotation.copy(savedPose.rotation); - this.hasSavedPose = false; - } -}); -AFRAME.registerComponent('arjs-webcam-texture', { + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; - init: function() { - this.scene = this.el.sceneEl; - this.texCamera = new THREE.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); - this.texScene = new THREE.Scene(); + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present - this.scene.renderer.autoClear = false; - this.video = document.createElement("video"); - this.video.setAttribute("autoplay", true); - this.video.setAttribute("playsinline", true); - this.video.setAttribute("display", "none"); - document.body.appendChild(this.video); - this.geom = new THREE.PlaneBufferGeometry(); //0.5, 0.5); - this.texture = new THREE.VideoTexture(this.video); - this.material = new THREE.MeshBasicMaterial( { map: this.texture } ); - const mesh = new THREE.Mesh(this.geom, this.material); - this.texScene.add(mesh); - }, + var prevVisibleMarkers = [] - play: function() { - if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { - const constraints = { video: { - facingMode: 'environment' } - }; - navigator.mediaDevices.getUserMedia(constraints).then( stream=> { - this.video.srcObject = stream; - this.video.play(); - }) - .catch(e => { - this.el.sceneEl.systems['arjs']._displayErrorPopup(`Webcam error: ${e}`); - }); - } else { - this.el.sceneEl.systems['arjs']._displayErrorPopup('sorry - media devices API not supported'); + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) } - }, - - tick: function() { - this.scene.renderer.clear(); - this.scene.renderer.render(this.texScene, this.texCamera); - this.scene.renderer.clearDepth(); - }, - - pause: function() { - this.video.srcObject.getTracks().forEach ( track => { - track.stop(); - }); - }, + if (!markerControls.context.arController.showObject) { + markerControls.object3d.visible = false + } + }) - remove: function() { - this.material.dispose(); - this.texture.dispose(); - this.geom.dispose(); + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement) + } else { + console.assert(false) } -}); -/* - * UPDATES 28/08/20: - * - * - add gpsMinDistance and gpsTimeInterval properties to control how - * frequently GPS updates are processed. Aim is to prevent 'stuttering' - * effects when close to AR content due to continuous small changes in - * location. - */ -AFRAME.registerComponent('gps-camera', { - _watchPositionId: null, - originCoords: null, - currentCoords: null, - lookControls: null, - heading: null, - schema: { - simulateLatitude: { - type: 'number', - default: 0, - }, - simulateLongitude: { - type: 'number', - default: 0, - }, - simulateAltitude: { - type: 'number', - default: 0, - }, - positionMinAccuracy: { - type: 'int', - default: 100, - }, - alert: { - type: 'boolean', - default: false, - }, - minDistance: { - type: 'int', - default: 0, - }, - maxDistance: { - type: 'int', - default: 0, - }, - gpsMinDistance: { - type: 'number', - default: 5, - }, - gpsTimeInterval: { - type: 'number', - default: 0, - }, - }, - update: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); - localPosition.longitude = this.data.simulateLongitude; - localPosition.latitude = this.data.simulateLatitude; - localPosition.altitude = this.data.simulateAltitude; - this.currentCoords = localPosition; + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); - // re-trigger initialization for new origin - this.originCoords = null; - this._updatePosition(); - } - }, - init: function () { - if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { - return; + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) } + }) - this.lastPosition = { - latitude: 0, - longitude: 0 - }; + // return true as we processed the frame + return true; +} - this.loader = document.createElement('DIV'); - this.loader.classList.add('arjs-loader'); - document.body.appendChild(this.loader); +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} - this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); - window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + // console.log('remove marker for', arMarkerControls) + var index = this.arMarkerControls.indexOf(artoolkitMarker); + console.assert(index !== index) + this._arMarkersControls.splice(index, 1) +} - this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this - // listen to deviceorientation event - var eventName = this._getDeviceOrientationEventName(); - this._onDeviceOrientation = this._onDeviceOrientation.bind(this); + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) - // if Safari - if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { - // iOS 13+ - if (typeof DeviceOrientationEvent.requestPermission === 'function') { - var handler = function () { - console.log('Requesting device orientation permissions...') - DeviceOrientationEvent.requestPermission(); - document.removeEventListener('touchend', handler); - }; + var onError = function(err) { + console.error(err); + }; - document.addEventListener('touchend', function () { handler() }, false); + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController - this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); - } else { - var timeout = setTimeout(function () { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); - }, 750); - window.addEventListener(eventName, function () { - clearTimeout(timeout); - }); + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' } - } - window.addEventListener(eventName, this._onDeviceOrientation, false); + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); - }, + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); - play: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition.latitude = this.data.simulateLatitude; - localPosition.longitude = this.data.simulateLongitude; - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set the labelingMode for artoolkit + var labelingModeTypes = { + "black_region": artoolkit.AR_LABELING_BLACK_REGION, + "white_region": artoolkit.AR_LABELING_WHITE_REGION } - this.currentCoords = localPosition; - this._updatePosition(); - } else { - this._watchPositionId = this._initWatchGPS(function (position) { - var localPosition = { - latitude: position.coords.latitude, - longitude: position.coords.longitude, - altitude: position.coords.altitude, - accuracy: position.coords.accuracy, - altitudeAccuracy: position.coords.altitudeAccuracy, - }; - - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - - this.currentCoords = localPosition; - var distMoved = this._haversineDist( - this.lastPosition, - this.currentCoords - ); - - if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { - this._updatePosition(); - this.lastPosition = { - longitude: this.currentCoords.longitude, - latitude: this.currentCoords.latitude - }; - } - }.bind(this)); - } - }, + var labelingModeType = labelingModeTypes[_this.parameters.labelingMode]; + console.assert(labelingModeType !== undefined); + arController.setLabelingMode(labelingModeType); - tick: function () { - if (this.heading === null) { - return; - } - this._updateRotation(); - }, + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) - pause: function() { - if (this._watchPositionId) { - navigator.geolocation.clearWatch(this._watchPositionId); - } - this._watchPositionId = null; - }, + // notify + onCompleted() + }); + }); + return this +} - remove: function () { +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function () { + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn - var eventName = this._getDeviceOrientationEventName(); - window.removeEventListener(eventName, this._onDeviceOrientation, false); + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') - window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - }, + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) - /** - * Get device orientation event name, depends on browser implementation. - * @returns {string} event name - */ - _getDeviceOrientationEventName: function () { - if ('ondeviceorientationabsolute' in window) { - var eventName = 'deviceorientationabsolute' - } else if ('ondeviceorientation' in window) { - var eventName = 'deviceorientation' - } else { - var eventName = '' - console.error('Compass not supported') - } + // projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) - return eventName - }, + return projectionMatrix +} - /** - * Get current user position. - * - * @param {function} onSuccess - * @param {function} onError - * @returns {Promise} - */ - _initWatchGPS: function (onSuccess, onError) { - if (!onError) { - onError = function (err) { - console.warn('ERROR(' + err.code + '): ' + err.message) +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} - if (err.code === 1) { - // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); - return; - } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); + +const Context = function (parameters) { + var _this = this - if (err.code === 3) { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); - return; - } - }; - } + _this._updatedAt = null - if ('geolocation' in navigator === false) { - onError({ code: 0, message: 'Geolocation is not supported by your browser' }); - return Promise.resolve(); - } + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition - return navigator.geolocation.watchPosition(onSuccess, onError, { - enableHighAccuracy: true, - maximumAge: this.data.gpsTimeInterval, - timeout: 27000, - }); - }, + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', - /** - * Update user position. - * - * @returns {void} - */ - _updatePosition: function () { - // don't update if accuracy is not good enough - if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { - if (this.data.alert && !document.getElementById('alert-popup')) { - var popup = document.createElement('div'); - popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' - popup.setAttribute('id', 'alert-popup'); - document.body.appendChild(popup); - } - return; - } + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, - var alertPopup = document.getElementById('alert-popup'); - if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { - document.body.removeChild(alertPopup); - } + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, - if (!this.originCoords) { - // first camera initialization - this.originCoords = this.currentCoords; - this._setPosition(); + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); - } - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } else { - this._setPosition(); - } - }, - _setPosition: function () { - var position = this.el.getAttribute('position'); + this.arController = null; - // compute position.x - var dstCoords = { - longitude: this.currentCoords.longitude, - latitude: this.originCoords.latitude, - }; + _this.initialized = false - position.x = this.computeDistanceMeters(this.originCoords, dstCoords); - position.x *= this.currentCoords.longitude > this.originCoords.longitude ? 1 : -1; - // compute position.z - var dstCoords = { - longitude: this.originCoords.longitude, - latitude: this.currentCoords.latitude, - } + this._arMarkersControls = [] - position.z = this.computeDistanceMeters(this.originCoords, dstCoords); - position.z *= this.currentCoords.latitude > this.originCoords.latitude ? -1 : 1; + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - // update position - this.el.setAttribute('position', position); + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } - window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); - }, - /** - * Returns distance in meters between source and destination inputs. - * - * Calculate distance, bearing and more between Latitude/Longitude points - * Details: https://www.movable-type.co.uk/scripts/latlong.html - * - * @param {Position} src - * @param {Position} dest - * @param {Boolean} isPlace - * - * @returns {number} distance | Number.MAX_SAFE_INTEGER - */ - computeDistanceMeters: function (src, dest, isPlace) { - var distance = this._haversineDist (src, dest); + var currentValue = _this.parameters[key] - // if function has been called for a place, and if it's too near and a min distance has been set, - // return max distance possible - to be handled by the caller - if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { - return Number.MAX_SAFE_INTEGER; - } + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } - // if function has been called for a place, and if it's too far and a max distance has been set, - // return max distance possible - to be handled by the caller - if (isPlace && this.data.maxDistance && this.data.maxDistance > 0 && distance > this.data.maxDistance) { - return Number.MAX_SAFE_INTEGER; + _this.parameters[key] = newValue } - - return distance; - }, - - _haversineDist: function (src, dest) { - var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); - var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); + } +} - var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); - var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return angle * 6371000; - }, +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; - /** - * Compute compass heading. - * - * @param {number} alpha - * @param {number} beta - * @param {number} gamma - * - * @returns {number} compass heading - */ - _computeCompassHeading: function (alpha, beta, gamma) { - - // Convert degrees to radians - var alphaRad = alpha * (Math.PI / 180); - var betaRad = beta * (Math.PI / 180); - var gammaRad = gamma * (Math.PI / 180); - - // Calculate equation components - var cA = Math.cos(alphaRad); - var sA = Math.sin(alphaRad); - var sB = Math.sin(betaRad); - var cG = Math.cos(gammaRad); - var sG = Math.sin(gammaRad); - - // Calculate A, B, C rotation components - var rA = - cA * sG - sA * sB * cG; - var rB = - sA * sG + cA * sB * cG; - - // Calculate compass heading - var compassHeading = Math.atan(rA / rB); +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} - // Convert from half unit circle to whole unit circle - if (rB < 0) { - compassHeading += Math.PI; - } else if (rA < 0) { - compassHeading += 2 * Math.PI; - } - // Convert radians to degrees - compassHeading *= 180 / Math.PI; +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done); + } else console.assert(false); + return - return compassHeading; - }, + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); - /** - * Handler for device orientation event. - * - * @param {Event} event - * @returns {void} - */ - _onDeviceOrientation: function (event) { - if (event.webkitCompassHeading !== undefined) { - if (event.webkitCompassAccuracy < 50) { - this.heading = event.webkitCompassHeading; - } else { - console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); - } - } else if (event.alpha !== null) { - if (event.absolute === true || event.absolute === undefined) { - this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); - } else { - console.warn('event.absolute === false'); - } - } else { - console.warn('event.alpha === null'); - } - }, + _this.initialized = true - /** - * Update user rotation data. - * - * @returns {void} - */ - _updateRotation: function () { - var heading = 360 - this.heading; - var cameraRotation = this.el.getAttribute('rotation').y; - var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); - var offset = (heading - (cameraRotation - yawRotation)) % 360; - this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); - }, - - _onGpsEntityPlaceAdded: function() { - // if places are added after camera initialization is finished - if (this.originCoords) { - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } - if (this.loader && this.loader.parentElement) { - document.body.removeChild(this.loader) - } + onCompleted && onCompleted() } -}); -AFRAME.registerComponent('gps-entity-place', { - _cameraGps: null, - schema: { - longitude: { - type: 'number', - default: 0, - }, - latitude: { - type: 'number', - default: 0, - } - }, - remove: function() { - // cleaning listeners when the entity is removed from the DOM - window.removeEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.removeEventListener('gps-camera-update-position', this.updatePositionListener); - }, - init: function() { - this.coordSetListener = () => { - if (!this._cameraGps) { - var camera = document.querySelector('[gps-camera]'); - if (!camera.components['gps-camera']) { - console.error('gps-camera not initialized') - return; - } - this._cameraGps = camera.components['gps-camera']; - } - this._updatePosition(); - }; - - this.updatePositionListener = (ev) => { - if (!this.data || !this._cameraGps) { - return; - } - var dstCoords = { - longitude: this.data.longitude, - latitude: this.data.latitude, - }; +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { - // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property - var distanceForMsg = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords); + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; - this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); - this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present - var actualDistance = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords, true); + var prevVisibleMarkers = [] - if (actualDistance === Number.MAX_SAFE_INTEGER) { - this.hideForMinDistance(this.el, true); - } else { - this.hideForMinDistance(this.el, false); - } - }; + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + markerControls.object3d.visible = false + }) - window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.addEventListener('gps-camera-update-position', this.updatePositionListener); + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement); + } else { + console.assert(false); + } - this._positionXDebug = 0; + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); - window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); - }, - /** - * Hide entity according to minDistance property - * @returns {void} - */ - hideForMinDistance: function(el, hideEntity) { - if (hideEntity) { - el.setAttribute('visible', 'false'); - } else { - el.setAttribute('visible', 'true'); + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) } - }, - /** - * Update place position - * @returns {void} - */ - _updatePosition: function() { - var position = { x: 0, y: this.el.getAttribute('position').y || 0, z: 0 } - - // update position.x - var dstCoords = { - longitude: this.data.longitude, - latitude: this._cameraGps.originCoords.latitude, - }; + }) - position.x = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); - this._positionXDebug = position.x; + // return true as we processed the frame + return true; +} - position.x *= this.data.longitude > this._cameraGps.originCoords.longitude ? 1 : -1; +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} - // update position.z - var dstCoords = { - longitude: this._cameraGps.originCoords.longitude, - latitude: this.data.latitude, - }; +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } + this._arMarkersControls.splice(index, 1) +} - position.z = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this - position.z *= this.data.latitude > this._cameraGps.originCoords.latitude ? -1 : 1; + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) + + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController - if (position.y !== 0) { - var altitude = this._cameraGps.originCoords.altitude !== undefined ? this._cameraGps.originCoords.altitude : 0; - position.y = position.y - altitude; - } + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - // update element's position in 3D world - this.el.setAttribute('position', position); - }, + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } - /** - * Format distances string - * - * @param {String} distance - */ + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); - _formatDistance: function(distance) { - distance = distance.toFixed(0); + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); - return distance + ' meters'; - } -}); -/** gps-projected-camera - * - * based on the original gps-camera, modified by nickw 02/04/20 - * - * Rather than keeping track of position by calculating the distance of - * entities or the current location to the original location, this version - * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. - * - * The original position (lat/lon) is projected into Spherical Mercator and - * stored. - * - * Then, when we receive a new position (lat/lon), this new position is - * projected into Spherical Mercator and then its world position calculated - * by comparing against the original position. - * - * The same is also the case for 'entity-places'; when these are added, their - * Spherical Mercator coords are calculated (see gps-projected-entity-place). - * - * Spherical Mercator units are close to, but not exactly, metres, and are - * heavily distorted near the poles. Nonetheless they are a good approximation - * for many areas of the world and appear not to cause unacceptable distortions - * when used as the units for AR apps. - * - * UPDATES 28/08/20: - * - * - add gpsMinDistance and gpsTimeInterval properties to control how - * frequently GPS updates are processed. Aim is to prevent 'stuttering' - * effects when close to AR content due to continuous small changes in - * location. - */ + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) -AFRAME.registerComponent('gps-projected-camera', { - _watchPositionId: null, - originCoords: null, // original coords now in Spherical Mercator - currentCoords: null, - lookControls: null, - heading: null, - schema: { - simulateLatitude: { - type: 'number', - default: 0, - }, - simulateLongitude: { - type: 'number', - default: 0, - }, - simulateAltitude: { - type: 'number', - default: 0, - }, - positionMinAccuracy: { - type: 'int', - default: 100, - }, - alert: { - type: 'boolean', - default: false, - }, - minDistance: { - type: 'int', - default: 0, - }, - gpsMinDistance: { - type: 'number', - default: 0 - }, - gpsTimeInterval: { - type: 'number', - default: 0 - }, - }, - update: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); - localPosition.longitude = this.data.simulateLongitude; - localPosition.latitude = this.data.simulateLatitude; - localPosition.altitude = this.data.simulateAltitude; - this.currentCoords = localPosition; + // notify + onCompleted() + }); + }); + return this +} - // re-trigger initialization for new origin - this.originCoords = null; - this._updatePosition(); - } - }, - init: function() { - if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { - return; - } +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function (srcElement) { - this.lastPosition = { - latitude: 0, - longitude: 0 - }; - this.loader = document.createElement('DIV'); - this.loader.classList.add('arjs-loader'); - document.body.appendChild(this.loader); + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn - this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); - window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) - this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; + // return the result + return projectionMatrix +} - // listen to deviceorientation event - var eventName = this._getDeviceOrientationEventName(); - this._onDeviceOrientation = this._onDeviceOrientation.bind(this); +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} - // if Safari - if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { - // iOS 13+ - if (typeof DeviceOrientationEvent.requestPermission === 'function') { - var handler = function() { - console.log('Requesting device orientation permissions...') - DeviceOrientationEvent.requestPermission(); - document.removeEventListener('touchend', handler); - }; +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; + + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } - document.addEventListener('touchend', function() { handler() }, false); + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; - this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; - } else { - var timeout = setTimeout(function() { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); - }, 750); - window.addEventListener(eventName, function() { - clearTimeout(timeout); - }); - } - } + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} - window.addEventListener(eventName, this._onDeviceOrientation, false); - }, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); - play: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition.latitude = this.data.simulateLatitude; - localPosition.longitude = this.data.simulateLongitude; - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - this.currentCoords = localPosition; - this._updatePosition(); - } else { - this._watchPositionId = this._initWatchGPS(function (position) { - var localPosition = { - latitude: position.coords.latitude, - longitude: position.coords.longitude, - altitude: position.coords.altitude, - accuracy: position.coords.accuracy, - altitudeAccuracy: position.coords.altitudeAccuracy, - }; - - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - - this.currentCoords = localPosition; - var distMoved = this._haversineDist( - this.lastPosition, - this.currentCoords - ); +/***/ }), - if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { - this._updatePosition(); - this.lastPosition = { - longitude: this.currentCoords.longitude, - latitude: this.currentCoords.latitude - }; - } - }.bind(this)); - } - }, +/***/ "./three.js/src/threex/arjs-markercontrols-nft.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - tick: function() { - if (this.heading === null) { - return; - } - this._updateRotation(); - }, +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./arjs-markercontrols-nft.worker.js */ "./three.js/src/threex/arjs-markercontrols-nft.worker.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_3__); - pause: function() { - if (this._watchPositionId) { - navigator.geolocation.clearWatch(this._watchPositionId); - } - this._watchPositionId = null; - }, - remove: function() { - var eventName = this._getDeviceOrientationEventName(); - window.removeEventListener(eventName, this._onDeviceOrientation, false); - window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - }, - /** - * Get device orientation event name, depends on browser implementation. - * @returns {string} event name - */ - _getDeviceOrientationEventName: function() { - if ('ondeviceorientationabsolute' in window) { - var eventName = 'deviceorientationabsolute' - } else if ('ondeviceorientation' in window) { - var eventName = 'deviceorientation' - } else { - var eventName = '' - console.error('Compass not supported') - } + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default()); - return eventName - }, +const MarkerControls = function (context, object3d, parameters) { + var _this = this - /** - * Get current user position. - * - * @param {function} onSuccess - * @param {function} onError - * @returns {Promise} - */ - _initWatchGPS: function(onSuccess, onError) { - if (!onError) { - onError = function(err) { - console.warn('ERROR(' + err.code + '): ' + err.message) + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) - if (err.code === 1) { - // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); - return; - } + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size: 1, + // type of marker - ['pattern', 'barcode', 'nft', 'unknown' ] + type: 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl: null, + // value of the barcode - IIF type='barcode' + barcodeValue: null, + // url of the descriptors of image - IIF type='nft' + descriptorsUrl: null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode: 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } - if (err.code === 3) { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); - return; - } - }; - } + // sanity check + var possibleValues = ['pattern', 'barcode', 'nft', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix'] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) - if ('geolocation' in navigator === false) { - onError({ code: 0, message: 'Geolocation is not supported by your browser' }); - return Promise.resolve(); - } + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false - // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition - return navigator.geolocation.watchPosition(onSuccess, onError, { - enableHighAccuracy: true, - maximumAge: this.data.gpsTimeInterval, - timeout: 27000, - }); - }, + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - /** - * Update user position. - * - * @returns {void} - */ - _updatePosition: function() { - // don't update if accuracy is not good enough - if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { - if (this.data.alert && !document.getElementById('alert-popup')) { - var popup = document.createElement('div'); - popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' - popup.setAttribute('id', 'alert-popup'); - document.body.appendChild(popup); + if (newValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' parameter is undefined.") + continue } - return; - } - - var alertPopup = document.getElementById('alert-popup'); - if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { - document.body.removeChild(alertPopup); - } - if (!this.originCoords) { - // first camera initialization - // Now store originCoords as PROJECTED original lat/lon, so that - // we can set the world origin to the original position in "metres" - this.originCoords = this._project(this.currentCoords.latitude, this.currentCoords.longitude); - this._setPosition(); + var currentValue = _this.parameters[key] - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); + if (currentValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' is not a property of this material.") + continue } - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } else { - this._setPosition(); + + _this.parameters[key] = newValue } - }, - /** - * Set the current position (in world coords, based on Spherical Mercator) - * - * @returns {void} - */ - _setPosition: function() { - var position = this.el.getAttribute('position'); + } - var worldCoords = this.latLonToWorld(this.currentCoords.latitude, this.currentCoords.longitude); + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } - position.x = worldCoords[0]; - position.z = worldCoords[1]; + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) - // update position - this.el.setAttribute('position', position); + if (_this.context.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit() + } else console.assert(false) +} - // add the sphmerc position to the event (for testing only) - window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); - }, - /** - * Returns distance in meters between camera and destination input. - * - * Assume we are using a metre-based projection. Not all 'metre-based' - * projections give exact metres, e.g. Spherical Mercator, but it appears - * close enough to be used for AR at least in middle temperate - * latitudes (40 - 55). It is heavily distorted near the poles, however. - * - * @param {Position} dest - * @param {Boolean} isPlace - * - * @returns {number} distance | Number.MAX_SAFE_INTEGER - */ - computeDistanceMeters: function(dest, isPlace) { - var src = this.el.getAttribute("position"); - var dx = dest.x - src.x; - var dz = dest.z - src.z; - var distance = Math.sqrt(dx * dx + dz * dz); +MarkerControls.prototype = Object.create(_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype); +MarkerControls.prototype.constructor = MarkerControls; - // if function has been called for a place, and if it's too near and a min distance has been set, - // return max distance possible - to be handled by the method caller - if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { - return Number.MAX_SAFE_INTEGER; - } +MarkerControls.prototype.dispose = function () { + this.context.removeMarker(this) +} - return distance; - }, - /** - * Converts latitude/longitude to OpenGL world coordinates. - * - * First projects lat/lon to absolute Spherical Mercator and then - * calculates the world coordinates by comparing the Spherical Mercator - * coordinates with the Spherical Mercator coordinates of the origin point. - * - * @param {Number} lat - * @param {Number} lon - * - * @returns {array} world coordinates - */ - latLonToWorld: function(lat, lon) { - var projected = this._project(lat, lon); - // Sign of z needs to be reversed compared to projected coordinates - return [projected[0] - this.originCoords[0], -(projected[1] - this.originCoords[1])]; - }, - /** - * Converts latitude/longitude to Spherical Mercator coordinates. - * Algorithm is used in several OpenStreetMap-related applications. - * - * @param {Number} lat - * @param {Number} lon - * - * @returns {array} Spherical Mercator coordinates - */ - _project: function(lat, lon) { - const HALF_EARTH = 20037508.34; +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// - // Convert the supplied coords to Spherical Mercator (EPSG:3857), also - // known as 'Google Projection', using the algorithm used extensively - // in various OpenStreetMap software. - var y = Math.log(Math.tan((90 + lat) * Math.PI / 360.0)) / (Math.PI / 180.0); - return [(lon / 180.0) * HALF_EARTH, y * HALF_EARTH / 180.0]; - }, - /** - * Converts Spherical Mercator coordinates to latitude/longitude. - * Algorithm is used in several OpenStreetMap-related applications. - * - * @param {Number} spherical mercator easting - * @param {Number} spherical mercator northing - * - * @returns {object} lon/lat - */ - _unproject: function(e, n) { - const HALF_EARTH = 20037508.34; - var yp = (n / HALF_EARTH) * 180.0; - return { - longitude: (e / HALF_EARTH) * 180.0, - latitude: 180.0 / Math.PI * (2 * Math.atan(Math.exp(yp * Math.PI / 180.0)) - Math.PI / 2) - }; - }, - /** - * Compute compass heading. - * - * @param {number} alpha - * @param {number} beta - * @param {number} gamma - * - * @returns {number} compass heading - */ - _computeCompassHeading: function(alpha, beta, gamma) { +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { + var markerObject3D = this.object3d; - // Convert degrees to radians - var alphaRad = alpha * (Math.PI / 180); - var betaRad = beta * (Math.PI / 180); - var gammaRad = gamma * (Math.PI / 180); + // mark object as visible + markerObject3D.visible = true - // Calculate equation components - var cA = Math.cos(alphaRad); - var sA = Math.sin(alphaRad); - var sB = Math.sin(betaRad); - var cG = Math.cos(gammaRad); - var sG = Math.sin(gammaRad); + if (this.context.parameters.trackingBackend === 'artoolkit') { + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) - // Calculate A, B, C rotation components - var rA = - cA * sG - sA * sB * cG; - var rB = - sA * sG + cA * sB * cG; + modelViewMatrix.copy(tmpMatrix) + } else { + console.assert(false) + } - // Calculate compass heading - var compassHeading = Math.atan(rA / rB); + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) - // Convert from half unit circle to whole unit circle - if (rB < 0) { - compassHeading += Math.PI; - } else if (rA < 0) { - compassHeading += 2 * Math.PI; - } + var renderReqd = false; - // Convert radians to degrees - compassHeading *= 180 / Math.PI; + // change markerObject3D.matrix based on parameters.changeMatrixMode + if (this.parameters.changeMatrixMode === 'modelViewMatrix') { + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; - return compassHeading; - }, + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest - /** - * Handler for device orientation event. - * - * @param {Event} event - * @returns {void} - */ - _onDeviceOrientation: function(event) { - if (event.webkitCompassHeading !== undefined) { - if (event.webkitCompassAccuracy < 50) { - this.heading = event.webkitCompassHeading; - } else { - console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); - } - } else if (event.alpha !== null) { - if (event.absolute === true || event.absolute === undefined) { - this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average } else { - console.warn('event.absolute === false'); + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } } } else { - console.warn('event.alpha === null'); + markerObject3D.matrix.copy(modelViewMatrix) } - }, - - /** - * Update user rotation data. - * - * @returns {void} - */ - _updateRotation: function() { - var heading = 360 - this.heading; - var cameraRotation = this.el.getAttribute('rotation').y; - var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); - var offset = (heading - (cameraRotation - yawRotation)) % 360; - this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); - }, - - /** - * Calculate haversine distance between two lat/lon pairs. - * - * Taken from gps-camera - */ - _haversineDist: function(src, dest) { - var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); - var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); + } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { + markerObject3D.matrix.copy(modelViewMatrix).invert() + } else { + console.assert(false) + } - var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); - var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return angle * 6371000; - }, + // decompose - the matrix into .position, .quaternion, .scale - _onGpsEntityPlaceAdded: function() { - // if places are added after camera initialization is finished - if (this.originCoords) { - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } - if (this.loader && this.loader.parentElement) { - document.body.removeChild(this.loader) - } - } -}); + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) -/** gps-projected-entity-place - * - * based on the original gps-entity-place, modified by nickw 02/04/20 - * - * Rather than keeping track of position by calculating the distance of - * entities or the current location to the original location, this version - * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. - * - * The original location on startup (lat/lon) is projected into Spherical - * Mercator and stored. - * - * When 'entity-places' are added, their Spherical Mercator coords are - * calculated and converted into world coordinates, relative to the original - * position, using the Spherical Mercator projection calculation in - * gps-projected-camera. - * - * Spherical Mercator units are close to, but not exactly, metres, and are - * heavily distorted near the poles. Nonetheless they are a good approximation - * for many areas of the world and appear not to cause unacceptable distortions - * when used as the units for AR apps. - */ -AFRAME.registerComponent('gps-projected-entity-place', { - _cameraGps: null, - schema: { - longitude: { - type: 'number', - default: 0, - }, - latitude: { - type: 'number', - default: 0, - } - }, - remove: function() { - // cleaning listeners when the entity is removed from the DOM - window.removeEventListener('gps-camera-update-position', this.updatePositionListener); - }, - init: function() { - // Used now to get the GPS camera when it's been setup - this.coordSetListener = () => { - if (!this._cameraGps) { - var camera = document.querySelector('[gps-projected-camera]'); - if (!camera.components['gps-projected-camera']) { - console.error('gps-projected-camera not initialized') - return; - } - this._cameraGps = camera.components['gps-projected-camera']; - this._updatePosition(); - } - }; - + // dispatchEvent + this.dispatchEvent({ type: 'markerFound' }); + return renderReqd; +} - // update position needs to worry about distance but nothing else? - this.updatePositionListener = (ev) => { - if (!this.data || !this._cameraGps) { - return; - } +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// - var dstCoords = this.el.getAttribute('position'); +MarkerControls.prototype.name = function () { + var name = ''; + name += this.parameters.type; - // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property - // _computeDistanceMeters is now going to use the projected - var distanceForMsg = this._cameraGps.computeDistanceMeters(dstCoords); + if (this.parameters.type === 'pattern') { + var url = this.parameters.patternUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else if (this.parameters.type === 'barcode') { + name += ' - ' + this.parameters.barcodeValue; + } else if (this.parameters.type === 'nft') { + var url = this.parameters.descriptorsUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else { + console.assert(false, 'no .name() implemented for this marker controls'); + } - this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); + return name; +} - this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function () { + var _this = this - var actualDistance = this._cameraGps.computeDistanceMeters(dstCoords, true); + var artoolkitMarkerId = null - if (actualDistance === Number.MAX_SAFE_INTEGER) { - this.hideForMinDistance(this.el, true); - } else { - this.hideForMinDistance(this.el, false); - } - }; + var delayedInitTimerId = setInterval(() => { + // check if arController is init + var arController = _this.context.arController + if (arController === null) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000 / 50) - // Retain as this event is fired when the GPS camera is set up - window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.addEventListener('gps-camera-update-position', this.updatePositionListener); + return - this._positionXDebug = 0; + function postInit() { + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null) - window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); - }, - /** - * Hide entity according to minDistance property - * @returns {void} - */ - hideForMinDistance: function(el, hideEntity) { - if (hideEntity) { - el.setAttribute('visible', 'false'); + // start tracking this pattern + if (_this.parameters.type === 'pattern') { + arController.loadMarker(_this.parameters.patternUrl).then(function (markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + } else if (_this.parameters.type === 'barcode') { + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + } else if (_this.parameters.type === 'nft') { + // use workers as default + handleNFT(_this.parameters.descriptorsUrl, arController); + } else if (_this.parameters.type === 'unknown') { + artoolkitMarkerId = null } else { - el.setAttribute('visible', 'true'); + console.log(false, 'invalid marker type', _this.parameters.type) } - }, - /** - * Update place position - * @returns {void} - */ - // set position to world coords using the lat/lon - _updatePosition: function() { - var worldPos = this._cameraGps.latLonToWorld(this.data.latitude, this.data.longitude); - var position = this.el.getAttribute('position'); + // listen to the event + arController.addEventListener('getMarker', function (event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { + onMarkerFound(event); + } + }) + } - // update element's position in 3D world - //this.el.setAttribute('position', position); - this.el.setAttribute('position', { - x: worldPos[0], - y: position.y, - z: worldPos[1] - }); - }, + function setMatrix(matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } + }; - /** - * Format distances string - * - * @param {String} distance - */ + function handleNFT(descriptorsUrl, arController) { + var worker = new _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__.default(); - _formatDistance: function(distance) { - distance = distance.toFixed(0); + window.addEventListener('arjs-video-loaded', function (ev) { + var video = ev.detail.component; + var vw = video.clientWidth; + var vh = video.clientHeight; - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } + var pscale = 320 / Math.max(vw, vh / 3 * 4); + + const w = vw * pscale; + const h = vh * pscale; + const pw = Math.max(w, h / 3 * 4); + const ph = Math.max(h, w / 4 * 3); + const ox = (pw - w) / 2; + const oy = (ph - h) / 2; + + arController.canvas.style.clientWidth = pw + "px"; + arController.canvas.style.clientHeight = ph + "px"; + arController.canvas.width = pw; + arController.canvas.height = ph; + + var context_process = arController.canvas.getContext('2d'); + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); + } + + // initialize the worker + worker.postMessage({ + type: 'init', + pw: pw, + ph: ph, + marker: descriptorsUrl, + param: arController.cameraParam, + }); + + worker.onmessage = function (ev) { + if (ev && ev.data && ev.data.type === 'endLoading') { + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); + } + var endLoadingEvent = new Event('arjs-nft-loaded'); + window.dispatchEvent(endLoadingEvent); + } + + if (ev && ev.data && ev.data.type === 'loaded') { + var proj = JSON.parse(ev.data.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + + setMatrix(_this.object3d.matrix, proj); + } + + if (ev && ev.data && ev.data.type === 'found') { + var matrix = JSON.parse(ev.data.matrix); + + onMarkerFound({ + data: { + type: ARToolkit.NFT_MARKER, + matrix: matrix, + msg: ev.data.type, + } + }); + + _this.context.arController.showObject = true; + } else { + _this.context.arController.showObject = false; + } + + process(); + }; - return distance + ' meters'; + }); } -}); -AFRAME.registerSystem('arjs', { - schema: { - trackingMethod: { - type: 'string', - default: 'best', - }, - debugUIEnabled: { - type: 'boolean', - default: false, - }, - areaLearningButton: { - type: 'boolean', - default: true, - }, - performanceProfile: { - type: 'string', - default: 'default', - }, - labelingMode: { - type: 'string', - default: '', - }, - // new video texture mode (location based only) - videoTexture: { - type: 'boolean', - default: false - }, - // old parameters - debug: { - type: 'boolean', - default: false - }, - detectionMode: { - type: 'string', - default: '', - }, - matrixCodeType: { - type: 'string', - default: '', - }, - patternRatio: { - type: 'number', - default: -1, - }, - cameraParametersUrl: { - type: 'string', - default: '', - }, - maxDetectionRate: { - type: 'number', - default: -1 - }, - sourceType: { - type: 'string', - default: '', - }, - sourceUrl: { - type: 'string', - default: '', - }, - sourceWidth: { - type: 'number', - default: -1 - }, - sourceHeight: { - type: 'number', - default: -1 - }, - deviceId: { - type: 'string', - default: '' - }, - displayWidth: { - type: 'number', - default: -1 - }, - displayHeight: { - type: 'number', - default: -1 - }, - canvasWidth: { - type: 'number', - default: -1 - }, - canvasHeight: { - type: 'number', - default: -1 - }, - errorPopup: { - type: 'string', - default: '' - } - }, + function onMarkerFound(event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return + if (event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); + +const MarkerControls = function(context, object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } + + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } + + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) + + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) +} + +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; + + +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; +} + +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// + +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; + + // mark object as visible + markerObject3D.visible = true + + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) + + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) + + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) + + var renderReqd = false; + + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; + + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); + + return renderReqd; +} + +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// + +/** + * provide a name for a marker + * - silly heuristic for now + * - should be improved + */ +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') + } + return name +} + +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this + + var artoolkitMarkerId = null + + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) + + return + + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) + + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } + + // listen to the event + arController.addEventListener('getMarker', onGetMarker) + + } + + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } + + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() + + this.performance('default') +} + +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } + + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; + +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// + + + +Profile.prototype.performance = function (label) { + + if (label === 'default') { + label = this._guessPerformanceLabel() + } + + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 + + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this +} + +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// + + +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend + + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this +} +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} + +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} + +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} + +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this + + this.ready = false + this.domElement = null + + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this + + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } + + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); + + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } + + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); + + _this.ready = true + + onReady && onReady() + } +} + +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onload = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; + + domElement.style.objectFit = 'initial'; + + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; + + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onloadeddata = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this + + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } + + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' + + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } + + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; + + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; + + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); + + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); + + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.dispose = function () { + this.ready = false; + + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; + + case 'video': + this._disposeSourceVideo(); + break; + + case 'webcam': + this._disposeSourceWebcam(); + break; + } + + this.domElement = null; + + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } + + domElement.remove(); +} + +////////////////////////////////////////////////////////////////////////////// +// Handle Mobile Torch +////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false + + var capabilities = videoTrack.getCapabilities() + + return capabilities.torch ? true : false +} + +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) + + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() + + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} + +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} + +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + + // sanity check + console.assert(arguments.length === 0) + + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } + + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight + + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ + +Source.prototype.copyElementSizeTo = function (otherElement) { + + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } + + var trackingBackend = arToolkitContext.parameters.trackingBackend + + + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { + + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); + +/***/ }), + +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ + + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) +} + +ArBaseControls.id = 0 + +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); + +////////////////////////////////////////////////////////////////////////////// +// Functions +////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} + +/** + * error catching function for name() + */ +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group + + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id + // debugger + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; + + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); + + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true + + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 + + this.object3d.add(mesh) + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); + + +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false + + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, + } + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } +} + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; + +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// + +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 + + + ////////////////////////////////////////////////////////////////////////////// + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay + ////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() + } + // console.log('visibleFor', visibleFor) + } + + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } + + ////////////////////////////////////////////////////////////////////////////// + // apply lerp on positon/quaternion/scale + ////////////////////////////////////////////////////////////////////////////// + + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } + + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} + + // update the matrix + this.object3d.updateMatrix() + + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return - init: function () { - var _this = this + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) + } +} - // If videoTexture is set, skip the remainder of the setup entirely and just use the arjs-webcam-texture component - if(this.data.videoTexture === true && this.data.sourceType === 'webcam') { - var webcamEntity = document.createElement("a-entity"); - webcamEntity.setAttribute("arjs-webcam-texture", true); - this.el.sceneEl.appendChild(webcamEntity); - return; - } - ////////////////////////////////////////////////////////////////////////////// - // setup arProfile - ////////////////////////////////////////////////////////////////////////////// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); - var arProfile = this._arProfile = new ARjs.Profile() - .trackingMethod(this.data.trackingMethod) - .performance(this.data.performanceProfile) - .defaultMarker() - ////////////////////////////////////////////////////////////////////////////// - // honor this.data and setup arProfile with it - ////////////////////////////////////////////////////////////////////////////// +/***/ }), - // honor this.data and push what has been modified into arProfile - if (this.data.debug !== false) arProfile.contextParameters.debug = this.data.debug - if (this.data.detectionMode !== '') arProfile.contextParameters.detectionMode = this.data.detectionMode - if (this.data.matrixCodeType !== '') arProfile.contextParameters.matrixCodeType = this.data.matrixCodeType - if (this.data.patternRatio !== -1) arProfile.contextParameters.patternRatio = this.data.patternRatio - if (this.data.labelingMode !== '') arProfile.contextParameters.labelingMode = this.data.labelingMode - if (this.data.cameraParametersUrl !== '') arProfile.contextParameters.cameraParametersUrl = this.data.cameraParametersUrl - if (this.data.maxDetectionRate !== -1) arProfile.contextParameters.maxDetectionRate = this.data.maxDetectionRate - if (this.data.canvasWidth !== -1) arProfile.contextParameters.canvasWidth = this.data.canvasWidth - if (this.data.canvasHeight !== -1) arProfile.contextParameters.canvasHeight = this.data.canvasHeight +/***/ "./three.js/src/threex/threex-hittesting-plane.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/threex-hittesting-plane.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (this.data.sourceType !== '') arProfile.sourceParameters.sourceType = this.data.sourceType - if (this.data.sourceUrl !== '') arProfile.sourceParameters.sourceUrl = this.data.sourceUrl - if (this.data.sourceWidth !== -1) arProfile.sourceParameters.sourceWidth = this.data.sourceWidth - if (this.data.sourceHeight !== -1) arProfile.sourceParameters.sourceHeight = this.data.sourceHeight - if (this.data.deviceId !== '') arProfile.sourceParameters.deviceId = this.data.deviceId - if (this.data.displayWidth !== -1) arProfile.sourceParameters.displayWidth = this.data.displayWidth - if (this.data.displayHeight !== -1) arProfile.sourceParameters.displayHeight = this.data.displayHeight +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - arProfile.checkIfValid() - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +// TODO this is useless - prefere arjs-HitTesting.js - this._arSession = null +/** + * - maybe support .onClickFcts in each object3d + * - seems an easy light layer for clickable object + * - up to + */ +const HitTestingPlane = function(sourceElement){ + this._sourceElement = sourceElement - _this.isReady = false - _this.needsOverride = true + // create _pickingScene + this._pickingScene = new three__WEBPACK_IMPORTED_MODULE_0__.Scene + + // create _pickingPlane + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) + // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + // opacity: 0.5, + // transparent: true, + wireframe: true + }) + // material.visible = false + this._pickingPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + this._pickingScene.add(this._pickingPlane) - // wait until the renderer is isReady - this.el.sceneEl.addEventListener('renderstart', function () { - var scene = _this.el.sceneEl.object3D - var camera = _this.el.sceneEl.camera - var renderer = _this.el.sceneEl.renderer + // Create pickingCamera + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + // TODO hardcoded fov - couch + this._pickingCamera = new three__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); +} - ////////////////////////////////////////////////////////////////////////////// - // build ARjs.Session - ////////////////////////////////////////////////////////////////////////////// - var arSession = _this._arSession = new ARjs.Session({ - scene: scene, - renderer: renderer, - camera: camera, - sourceParameters: arProfile.sourceParameters, - contextParameters: arProfile.contextParameters - }) +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ - _this.isReady = true + this.onResize() + - ////////////////////////////////////////////////////////////////////////////// - // awful resize trick - ////////////////////////////////////////////////////////////////////////////// - // KLUDGE - window.addEventListener('resize', onResize) - function onResize() { - var arSource = _this._arSession.arSource + if( changeMatrixMode === 'modelViewMatrix' ){ + // set pickingPlane position + var pickingPlane = this._pickingPlane + pickingRoot.parent.updateMatrixWorld() + pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) + // set position/quaternion/scale from pickingPlane.matrix + pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) + }else if( changeMatrixMode === 'cameraTransformMatrix' ){ + // set pickingPlane position + var pickingCamera = this._pickingCamera + camera.updateMatrixWorld() + pickingCamera.matrix.copy(camera.matrixWorld) + // set position/quaternion/scale from pickingCamera.matrix + pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) + }else console.assert(false) - // ugly kludge to get resize on aframe... not even sure it works - if (arProfile.contextParameters.trackingBackend !== 'tango') { - arSource.copyElementSizeTo(document.body) - } - // fixing a-frame css - var buttonElement = document.querySelector('.a-enter-vr') - if (buttonElement) { - buttonElement.style.position = 'fixed' - } - } +// var position = this._pickingPlane.position +// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) +// var position = this._pickingCamera.position +// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) + +} - ////////////////////////////////////////////////////////////////////////////// - // honor .debugUIEnabled - ////////////////////////////////////////////////////////////////////////////// - if (_this.data.debugUIEnabled) initDebugUI() - function initDebugUI() { - // get or create containerElement - var containerElement = document.querySelector('#arjsDebugUIContainer') - if (containerElement === null) { - containerElement = document.createElement('div') - containerElement.id = 'arjsDebugUIContainer' - containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;') - document.body.appendChild(containerElement) - } +////////////////////////////////////////////////////////////////////////////// +// resize camera +////////////////////////////////////////////////////////////////////////////// - // create sessionDebugUI - var sessionDebugUI = new ARjs.SessionDebugUI(arSession) - containerElement.appendChild(sessionDebugUI.domElement) - } - }) +HitTestingPlane.prototype.onResize = function(){ + var sourceElement = this._sourceElement + var pickingCamera = this._pickingCamera + +// FIXME why using css here ??? not even computed style +// should get the size of the elment directly independantly + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + pickingCamera.aspect = fullWidth / fullHeight - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // TODO this is crappy - code an exponential backoff - max 1 seconds - // KLUDGE: kludge to write a 'resize' event - // var startedAt = Date.now() - // var timerId = setInterval(function () { - // if (Date.now() - startedAt > 10000 * 1000) { - // clearInterval(timerId) - // return - // } - // // onResize() - // window.dispatchEvent(new Event('resize')); - // }, 1000 / 30) + pickingCamera.updateProjectionMatrix() +} - function setBackoff(func, millisDuration = Infinity, limit = 1000) { - if(func == null || !(Object.prototype.toString.call(func) == '[object Function]')) { - return; - } - let backoff = 33.3 - let start = Date.now() - let repeat = function() { - return (millisDuration == Infinity || (Date.now() - start) < millisDuration) - } - let next = function() { - backoff = (backoff * 2) < limit ? (backoff * 2) : limit - setTimeout(function() { - func() - if(repeat()) { - next() - } - }, backoff) - }; - next() - } +////////////////////////////////////////////////////////////////////////////// +// Perform test +////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.test = function(mouseX, mouseY){ + // convert mouseX, mouseY to [-1, +1] + mouseX = (mouseX-0.5)*2 + mouseY =-(mouseY-0.5)*2 + + this._pickingScene.updateMatrixWorld(true) - setBackoff(() => { - window.dispatchEvent(new Event('resize')) - }) - }, + // compute intersections between mouseVector3 and pickingPlane + var raycaster = new three__WEBPACK_IMPORTED_MODULE_0__.Raycaster(); + var mouseVector3 = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(mouseX, mouseY, 1); + raycaster.setFromCamera( mouseVector3, this._pickingCamera ) + var intersects = raycaster.intersectObjects( [this._pickingPlane] ) - tick: function () { - // skip it if not yet isInitialised - if (this.isReady === false || this.data.videoTexture === true) return + if( intersects.length === 0 ) return null - // update arSession - this._arSession.update() + // set new demoRoot position + var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) + // TODO here do a look at the camera ? + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1,1,1)//.multiplyScalar(1) + + return { + position : position, + quaternion : quaternion, + scale : scale + } +} - // copy projection matrix to camera - this._arSession.onResize() - }, +////////////////////////////////////////////////////////////////////////////// +// render the pickingPlane for debug +////////////////////////////////////////////////////////////////////////////// - _displayErrorPopup: function(msg) { - if (this.data.errorPopup !== '') { - let errorPopup = document.getElementById(this.data.errorPopup); - if (!errorPopup) { - errorPopup = document.createElement('div'); - errorPopup.setAttribute('id', this.data.errorPopup); - document.body.appendChild(errorPopup); - } - errorPopup.innerHTML = msg; - } else { - alert(msg); - } - } -}) +HitTestingPlane.prototype.renderDebug = function(renderer){ + // render sceneOrtho + renderer.render( this._pickingScene, this._pickingCamera ) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTestingPlane); + + +/***/ }), + +/***/ "aframe": +/*!******************************************************************************************!*\ + !*** external {"commonjs":"aframe","commonjs2":"aframe","amd":"aframe","root":"AFRAME"} ***! + \******************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_aframe__; + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!*********************************!*\ + !*** ./aframe/src/index-nft.js ***! + \*********************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _component_anchor_nft__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component-anchor-nft */ "./aframe/src/component-anchor-nft.js"); +/* harmony import */ var _component_hit_testing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component-hit-testing */ "./aframe/src/component-hit-testing.js"); +/* harmony import */ var _location_based_arjs_look_controls__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./location-based/arjs-look-controls */ "./aframe/src/location-based/arjs-look-controls.js"); +/* harmony import */ var _location_based_arjs_webcam_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./location-based/arjs-webcam-texture */ "./aframe/src/location-based/arjs-webcam-texture.js"); +/* harmony import */ var _location_based_ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./location-based/ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); +/* harmony import */ var _location_based_gps_camera__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./location-based/gps-camera */ "./aframe/src/location-based/gps-camera.js"); +/* harmony import */ var _location_based_gps_entity_place__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./location-based/gps-entity-place */ "./aframe/src/location-based/gps-entity-place.js"); +/* harmony import */ var _location_based_gps_projected_camera__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./location-based/gps-projected-camera */ "./aframe/src/location-based/gps-projected-camera.js"); +/* harmony import */ var _location_based_gps_projected_entity_place__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./location-based/gps-projected-entity-place */ "./aframe/src/location-based/gps-projected-entity-place.js"); +/* harmony import */ var _system_arjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./system-arjs */ "./aframe/src/system-arjs.js"); +// Components + + + +// Location-based components + + + + + + + + +// System + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9jb21wb25lbnQtYW5jaG9yLW5mdC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9jb21wb25lbnQtaGl0LXRlc3RpbmcuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvYXJqcy1sb29rLWNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2xvY2F0aW9uLWJhc2VkL2FyanMtd2ViY2FtLXRleHR1cmUuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvZ3BzLWNhbWVyYS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9ncHMtZW50aXR5LXBsYWNlLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2xvY2F0aW9uLWJhc2VkL2dwcy1wcm9qZWN0ZWQtY2FtZXJhLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2xvY2F0aW9uLWJhc2VkL2dwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL3N5c3RlbS1hcmpzLmpzIiwid2VicGFjazovL0FSanMvLi9ub2RlX21vZHVsZXMvQGFyLWpzLW9yZy9hcnRvb2xraXQ1LWpzL2Rpc3QvQVJUb29sa2l0LmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMtbmZ0Lndvcmtlci5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vbm9kZV9tb2R1bGVzL3dvcmtlci1sb2FkZXIvZGlzdC9ydW50aW1lL2lubGluZS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYXV0aWxzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWFuY2hvci5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1kZWJ1Z3VpLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWhpdHRlc3RpbmcuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtc2Vzc2lvbi5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy11dGlscy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLWNvbnRleHQtbmZ0LmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtY29udGV4dC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtcHJvZmlsZS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLXNvdXJjZS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC90aHJlZXgtYXJiYXNlY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFybWFya2VyaGVscGVyLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcnNtb290aGVkY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWhpdHRlc3RpbmctcGxhbmUuanMiLCJ3ZWJwYWNrOi8vQVJqcy9leHRlcm5hbCB7XCJjb21tb25qc1wiOlwiYWZyYW1lXCIsXCJjb21tb25qczJcIjpcImFmcmFtZVwiLFwiYW1kXCI6XCJhZnJhbWVcIixcInJvb3RcIjpcIkFGUkFNRVwifSIsIndlYnBhY2s6Ly9BUmpzL2V4dGVybmFsIHtcImNvbW1vbmpzXCI6XCJ0aHJlZVwiLFwiY29tbW9uanMyXCI6XCJ0aHJlZVwiLFwiYW1kXCI6XCJ0aHJlZVwiLFwicm9vdFwiOlwiVEhSRUVcIn0iLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvaW5kZXgtbmZ0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCxPOzs7Ozs7Ozs7Ozs7Ozs7O0FDVmlDO0FBQzJCO0FBQ1k7QUFDRTs7QUFFMUU7QUFDQTtBQUNBO0FBQ0EscURBQXdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULHdCQUF3QjtBQUN4QjtB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QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5RUFBeUUsUUFBUTs7QUFFakY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkZBQTJGLFFBQVE7QUFDbkc7QUFDQSwyQkFBMkIsUUFBUTs7QUFFbkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3Q0FBd0MsUUFBUTtBQUNoRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdEQUF3RCxRQUFROztBQUVoRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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O0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDhDQUE4QyxzRUFBTztBQUNyRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELHVFQUFPO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsMERBQXdCO0FBQzFFLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDRFQUF5QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUVBQWUsT0FBTyxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FDckt2QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0VBQWtFLFVBQVU7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQXFELGVBQWU7QUFDcEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdEQUF3RCxpQkFBaUI7QUFDekU7O0FBRUE7QUFDQSwyRUFBMkUsVUFBVSxFOztBQUVyRjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEscUVBQXFFLFVBQVUsRTtBQUMvRSxDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0M7QUFDQSxzQjs7QUFFQSx3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0U7QUFDQSxLOztBQUVBLHdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QUNVO0FBQ25CO0FBQ007QUFDSTtBQUNNOztBQUVwRDtBQUN1QiIsImZpbGUiOiJhZnJhbWUtYXItbmZ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwiYWZyYW1lXCIpLCByZXF1aXJlKFwidGhyZWVcIikpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW1wiYWZyYW1lXCIsIFwidGhyZWVcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQVJqc1wiXSA9IGZhY3RvcnkocmVxdWlyZShcImFmcmFtZVwiKSwgcmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBUmpzXCJdID0gZmFjdG9yeShyb290W1wiQUZSQU1FXCJdLCByb290W1wiVEhSRUVcIl0pO1xufSkodGhpcywgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV9hZnJhbWVfXywgX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV90aHJlZV9fKSB7XG5yZXR1cm4gIiwiaW1wb3J0ICogYXMgQUZSQU1FIGZyb20gJ2FmcmFtZSc7XG5pbXBvcnQgQW5jaG9yIGZyb20gJy4uLy4uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtYW5jaG9yJztcbmltcG9ydCB7IEFuY2hvckRlYnVnVUkgfSBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWRlYnVndWknO1xuaW1wb3J0IEFyVG9vbGtpdENvbnRleHQgZnJvbSAnLi4vLi4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLWNvbnRleHQtbmZ0JztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFyanMtYW5jaG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnYXJqcy1hbmNob3InLCB7XG4gICAgZGVwZW5kZW5jaWVzOiBbJ2FyanMnLCAnYXJ0b29sa2l0J10sXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIHByZXNldDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIG1hcmtlcmhlbHBlcnM6IHtcdC8vIElJRiBwcmVzZXQgPT09ICdhcmVhJ1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8gY29udHJvbHMgcGFyYW1ldGVyc1xuICAgICAgICBzaXplOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDFcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIHBhdHRlcm5Vcmw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdG9yc1VybDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIH0sXG4gICAgICAgIGJhcmNvZGVWYWx1ZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgfSxcbiAgICAgICAgY2hhbmdlTWF0cml4TW9kZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnbW9kZWxWaWV3TWF0cml4JyxcbiAgICAgICAgfSxcbiAgICAgICAgbWluQ29uZmlkZW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLjYsXG4gICAgICAgIH0sXG4gICAgICAgIHNtb290aDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHNtb290aENvdW50OiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDUsXG4gICAgICAgIH0sXG4gICAgICAgIHNtb290aFRvbGVyYW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLjAxLFxuICAgICAgICB9LFxuICAgICAgICBzbW9vdGhUaHJlc2hvbGQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMixcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIGluaXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgICAgIC8vIGdldCBhcmpzU3lzdGVtXG4gICAgICAgIHZhciBhcmpzU3lzdGVtID0gdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXMuYXJqcyB8fCB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcnRvb2xraXRcblxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy9cdFx0Q29kZSBTZXBhcmF0b3JcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICAgICAgX3RoaXMuaXNSZWFkeSA9IGZhbHNlXG4gICAgICAgIF90aGlzLl9hckFuY2hvciA9IG51bGxcblxuICAgICAgICAvLyBob25vciBvYmplY3QgdmlzaWJpbGl0eVxuICAgICAgICBpZiAoX3RoaXMuZGF0YS5jaGFuZ2VNYXRyaXhNb2RlID09PSAnbW9kZWxWaWV3TWF0cml4Jykge1xuICAgICAgICAgICAgX3RoaXMuZWwub2JqZWN0M0QudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuZGF0YS5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4Jykge1xuICAgICAgICAgICAgX3RoaXMuZWwuc2NlbmVFbC5vYmplY3QzRC52aXNpYmxlID0gZmFsc2VcbiAgICAgICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG4gICAgICAgIC8vIHRyaWNrIHRvIHdhaXQgdW50aWwgYXJqc1N5c3RlbSBpcyBpc1JlYWR5XG4gICAgICAgIHZhciBzdGFydGVkQXQgPSBEYXRlLm5vdygpXG4gICAgICAgIHZhciB0aW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgLy8gd2FpdCB1bnRpbCB0aGUgc3lzdGVtIGlzIGlzUmVhZHlcbiAgICAgICAgICAgIGlmIChhcmpzU3lzdGVtLmlzUmVhZHkgPT09IGZhbHNlKSByZXR1cm5cblxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcklkKVxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdHVwZGF0ZSBhclByb2ZpbGVcbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgdmFyIGFyUHJvZmlsZSA9IGFyanNTeXN0ZW0uX2FyUHJvZmlsZVxuXG4gICAgICAgICAgICAvLyBhclByb2ZpbGUuY2hhbmdlTWF0cml4TW9kZSgnbW9kZWxWaWV3TWF0cml4JylcbiAgICAgICAgICAgIGFyUHJvZmlsZS5jaGFuZ2VNYXRyaXhNb2RlKF90aGlzLmRhdGEuY2hhbmdlTWF0cml4TW9kZSlcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5kYXRhLnByZXNldFxuICAgICAgICAgICAgdmFyIG1hcmtlclBhcmFtZXRlcnMgPSBPYmplY3QuYXNzaWduKHt9LCBhclByb2ZpbGUuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMpXG5cbiAgICAgICAgICAgIGlmIChfdGhpcy5kYXRhLnByZXNldCA9PT0gJ2hpcm8nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4taGlyby5wYXR0J1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuZGF0YS5wcmVzZXQgPT09ICdrYW5qaScpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1rYW5qaS5wYXR0J1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuZGF0YS5wcmVzZXQgPT09ICdhcmVhJykge1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMudHlwZSA9ICdiYXJjb2RlJ1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMuYmFyY29kZVZhbHVlID0gMTAwMVxuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gdHJ1ZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5kYXRhLnR5cGUgPT09ICdiYXJjb2RlJykge1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF90aGlzLmRhdGEudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgY2hhbmdlTWF0cml4TW9kZTogJ21vZGVsVmlld01hdHJpeCcsXG4gICAgICAgICAgICAgICAgICAgIGJhcmNvZGVWYWx1ZTogX3RoaXMuZGF0YS5iYXJjb2RlVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgIG1hcmtlcnNBcmVhRW5hYmxlZDogZmFsc2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKF90aGlzLmRhdGEudHlwZSA9PT0gJ3BhdHRlcm4nKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy50eXBlID0gX3RoaXMuZGF0YS50eXBlXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gX3RoaXMuZGF0YS5wYXR0ZXJuVXJsO1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZmFsc2VcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuZGF0YS50eXBlID09PSAnbmZ0Jykge1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMudHlwZSA9IF90aGlzLmRhdGEudHlwZVxuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMuZGVzY3JpcHRvcnNVcmwgPSBfdGhpcy5kYXRhLmRlc2NyaXB0b3JzVXJsO1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZmFsc2VcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5taW5Db25maWRlbmNlID0gX3RoaXMuZGF0YS5taW5Db25maWRlbmNlO1xuICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5zbW9vdGggPSBfdGhpcy5kYXRhLnNtb290aDtcbiAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMuc21vb3RoQ291bnQgPSBfdGhpcy5kYXRhLnNtb290aENvdW50O1xuICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UgPSBfdGhpcy5kYXRhLnNtb290aFRvbGVyYW5jZTtcbiAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMuc21vb3RoVGhyZXNob2xkID0gX3RoaXMuZGF0YS5zbW9vdGhUaHJlc2hvbGQ7XG5cbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgLy9cdFx0Y3JlYXRlIGFyQW5jaG9yXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICAgICAgdmFyIGFyU2Vzc2lvbiA9IGFyanNTeXN0ZW0uX2FyU2Vzc2lvblxuICAgICAgICAgICAgdmFyIGFyQW5jaG9yID0gX3RoaXMuX2FyQW5jaG9yID0gbmV3IEFuY2hvcihhclNlc3Npb24sIG1hcmtlclBhcmFtZXRlcnMpXG5cbiAgICAgICAgICAgIC8vIGl0IGlzIG5vdyBjb25zaWRlcmVkIGlzUmVhZHlcbiAgICAgICAgICAgIF90aGlzLmlzUmVhZHkgPSB0cnVlXG5cbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgLy9cdFx0aG9ub3IgLmRlYnVnVUlFbmFibGVkXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIGlmIChhcmpzU3lzdGVtLmRhdGEuZGVidWdVSUVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgb3IgY3JlYXRlIGNvbnRhaW5lckVsZW1lbnRcbiAgICAgICAgICAgICAgICB2YXIgY29udGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzRGVidWdVSUNvbnRhaW5lcicpXG4gICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lckVsZW1lbnQgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQuaWQgPSAnYXJqc0RlYnVnVUlDb250YWluZXInXG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQuc2V0QXR0cmlidXRlKCdzdHlsZScsICdwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMTBweDsgd2lkdGg6MTAwJTsgdGV4dC1hbGlnbjogY2VudGVyOyB6LWluZGV4OiAxOyBjb2xvcjogZ3JleTsnKVxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckVsZW1lbnQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSBhbmNob3JEZWJ1Z1VJXG4gICAgICAgICAgICAgICAgdmFyIGFuY2hvckRlYnVnVUkgPSBuZXcgQW5jaG9yRGVidWdVSShhckFuY2hvcilcbiAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGFuY2hvckRlYnVnVUkuZG9tRWxlbWVudClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMCAvIDYwKVxuICAgIH0sXG4gICAgcmVtb3ZlOiBmdW5jdGlvbiAoKSB7XG4gICAgfSxcbiAgICB1cGRhdGU6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuICAgIHRpY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpc1xuICAgICAgICAvLyBpZiBub3QgeWV0IGlzUmVhZHksIGRvIG5vdGhpbmdcbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkeSA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHR1cGRhdGUgYXJBbmNob3JcbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIHZhciBhcmpzU3lzdGVtID0gdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXMuYXJqcyB8fCB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcnRvb2xraXRcbiAgICAgICAgdGhpcy5fYXJBbmNob3IudXBkYXRlKClcblxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy9cdFx0aG9ub3IgcG9zZVxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgdmFyIGFyV29ybGRSb290ID0gdGhpcy5fYXJBbmNob3Iub2JqZWN0M2RcbiAgICAgICAgYXJXb3JsZFJvb3QudXBkYXRlTWF0cml4V29ybGQodHJ1ZSlcbiAgICAgICAgYXJXb3JsZFJvb3QubWF0cml4V29ybGQuZGVjb21wb3NlKHRoaXMuZWwub2JqZWN0M0QucG9zaXRpb24sIHRoaXMuZWwub2JqZWN0M0QucXVhdGVybmlvbiwgdGhpcy5lbC5vYmplY3QzRC5zY2FsZSlcblxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgLy9cdFx0aG9ub3IgdmlzaWJpbGl0eVxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgaWYgKF90aGlzLl9hckFuY2hvci5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnKSB7XG4gICAgICAgICAgICB2YXIgd2FzVmlzaWJsZSA9IF90aGlzLmVsLm9iamVjdDNELnZpc2libGVcbiAgICAgICAgICAgIF90aGlzLmVsLm9iamVjdDNELnZpc2libGUgPSB0aGlzLl9hckFuY2hvci5vYmplY3QzZC52aXNpYmxlXG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuX2FyQW5jaG9yLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcpIHtcbiAgICAgICAgICAgIHZhciB3YXNWaXNpYmxlID0gX3RoaXMuZWwuc2NlbmVFbC5vYmplY3QzRC52aXNpYmxlXG4gICAgICAgICAgICBfdGhpcy5lbC5zY2VuZUVsLm9iamVjdDNELnZpc2libGUgPSB0aGlzLl9hckFuY2hvci5vYmplY3QzZC52aXNpYmxlXG4gICAgICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuICAgICAgICAvLyBlbWl0IG1hcmtlckZvdW5kIG1hcmtlckxvc3RcbiAgICAgICAgaWYgKF90aGlzLl9hckFuY2hvci5vYmplY3QzZC52aXNpYmxlID09PSB0cnVlICYmIHdhc1Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBfdGhpcy5lbC5lbWl0KCdtYXJrZXJGb3VuZCcpXG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuX2FyQW5jaG9yLm9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICYmIHdhc1Zpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIF90aGlzLmVsLmVtaXQoJ21hcmtlckxvc3QnKVxuICAgICAgICB9XG4gICAgfVxufSlcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICAgICAgICBkZWZpbmUgc29tZSBwcmltaXRpdmVzIHNob3J0Y3V0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkFGUkFNRS5yZWdpc3RlclByaW1pdGl2ZSgnYS1hbmNob3InLCBBRlJBTUUudXRpbHMuZXh0ZW5kRGVlcCh7fSwgQUZSQU1FLnByaW1pdGl2ZXMuZ2V0TWVzaE1peGluKCksIHtcbiAgICBkZWZhdWx0Q29tcG9uZW50czoge1xuICAgICAgICAnYXJqcy1hbmNob3InOiB7fSxcbiAgICAgICAgJ2FyanMtaGl0LXRlc3RpbmcnOiB7fSxcbiAgICB9LFxuICAgIG1hcHBpbmdzOiB7XG4gICAgICAgICd0eXBlJzogJ2FyanMtYW5jaG9yLnR5cGUnLFxuICAgICAgICAnc2l6ZSc6ICdhcmpzLWFuY2hvci5zaXplJyxcbiAgICAgICAgJ3VybCc6ICdhcmpzLWFuY2hvci5wYXR0ZXJuVXJsJyxcbiAgICAgICAgJ3ZhbHVlJzogJ2FyanMtYW5jaG9yLmJhcmNvZGVWYWx1ZScsXG4gICAgICAgICdwcmVzZXQnOiAnYXJqcy1hbmNob3IucHJlc2V0JyxcbiAgICAgICAgJ21pbi1jb25maWRlbmNlJzogJ2FyanMtYW5jaG9yLm1pbkNvbmZpZGVuY2UnLFxuICAgICAgICAnbWFya2VyLWhlbHBlcnMnOiAnYXJqcy1hbmNob3IubWFya2VyaGVscGVycycsXG4gICAgICAgICdzbW9vdGgnOiAnYXJqcy1hbmNob3Iuc21vb3RoJyxcbiAgICAgICAgJ3Ntb290aC1jb3VudCc6ICdhcmpzLWFuY2hvci5zbW9vdGhDb3VudCcsXG4gICAgICAgICdzbW9vdGgtdG9sZXJhbmNlJzogJ2FyanMtYW5jaG9yLnNtb290aFRvbGVyYW5jZScsXG4gICAgICAgICdzbW9vdGgtdGhyZXNob2xkJzogJ2FyanMtYW5jaG9yLnNtb290aFRocmVzaG9sZCcsXG5cbiAgICAgICAgJ2hpdC10ZXN0aW5nLXJlbmRlci1kZWJ1Zyc6ICdhcmpzLWhpdC10ZXN0aW5nLnJlbmRlckRlYnVnJyxcbiAgICAgICAgJ2hpdC10ZXN0aW5nLWVuYWJsZWQnOiAnYXJqcy1oaXQtdGVzdGluZy5lbmFibGVkJyxcbiAgICB9XG59KSlcblxuXG5BRlJBTUUucmVnaXN0ZXJQcmltaXRpdmUoJ2EtY2FtZXJhLXN0YXRpYycsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdjYW1lcmEnOiB7fSxcbiAgICB9LFxuICAgIG1hcHBpbmdzOiB7XG4gICAgfVxufSkpXG5cblxuQUZSQU1FLnJlZ2lzdGVyUHJpbWl0aXZlKCdhLW5mdCcsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHt9LFxuICAgICAgICAnYXJqcy1oaXQtdGVzdGluZyc6IHt9LFxuICAgIH0sXG4gICAgbWFwcGluZ3M6IHtcbiAgICAgICAgJ3R5cGUnOiAnYXJqcy1hbmNob3IudHlwZScsXG4gICAgICAgICd1cmwnOiAnYXJqcy1hbmNob3IuZGVzY3JpcHRvcnNVcmwnLFxuICAgICAgICAnc2l6ZSc6ICdhcmpzLWFuY2hvci5zaXplJyxcbiAgICAgICAgJ3Ntb290aCc6ICdhcmpzLWFuY2hvci5zbW9vdGgnLFxuICAgICAgICAnc21vb3RoLWNvdW50JzogJ2FyanMtYW5jaG9yLnNtb290aENvdW50JyxcbiAgICAgICAgJ3Ntb290aC10b2xlcmFuY2UnOiAnYXJqcy1hbmNob3Iuc21vb3RoVG9sZXJhbmNlJyxcbiAgICAgICAgJ3Ntb290aC10aHJlc2hvbGQnOiAnYXJqcy1hbmNob3Iuc21vb3RoVGhyZXNob2xkJyxcblxuICAgICAgICAnaGl0LXRlc3RpbmctcmVuZGVyLWRlYnVnJzogJ2FyanMtaGl0LXRlc3RpbmcucmVuZGVyRGVidWcnLFxuICAgICAgICAnaGl0LXRlc3RpbmctZW5hYmxlZCc6ICdhcmpzLWhpdC10ZXN0aW5nLmVuYWJsZWQnLFxuICAgIH0sXG59KSlcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQUZSQU1FLnJlZ2lzdGVyUHJpbWl0aXZlKCdhLW1hcmtlcicsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHt9LFxuICAgICAgICAnYXJqcy1oaXQtdGVzdGluZyc6IHt9LFxuICAgIH0sXG4gICAgbWFwcGluZ3M6IHtcbiAgICAgICAgJ3R5cGUnOiAnYXJqcy1hbmNob3IudHlwZScsXG4gICAgICAgICdzaXplJzogJ2FyanMtYW5jaG9yLnNpemUnLFxuICAgICAgICAndXJsJzogJ2FyanMtYW5jaG9yLnBhdHRlcm5VcmwnLFxuICAgICAgICAndmFsdWUnOiAnYXJqcy1hbmNob3IuYmFyY29kZVZhbHVlJyxcbiAgICAgICAgJ3ByZXNldCc6ICdhcmpzLWFuY2hvci5wcmVzZXQnLFxuICAgICAgICAnbWluLWNvbmZpZGVuY2UnOiAnYXJqcy1hbmNob3IubWluQ29uZmlkZW5jZScsXG4gICAgICAgICdtYXJrZXItaGVscGVycyc6ICdhcmpzLWFuY2hvci5tYXJrZXJoZWxwZXJzJyxcbiAgICAgICAgJ3Ntb290aCc6ICdhcmpzLWFuY2hvci5zbW9vdGgnLFxuICAgICAgICAnc21vb3RoLWNvdW50JzogJ2FyanMtYW5jaG9yLnNtb290aENvdW50JyxcbiAgICAgICAgJ3Ntb290aC10b2xlcmFuY2UnOiAnYXJqcy1hbmNob3Iuc21vb3RoVG9sZXJhbmNlJyxcbiAgICAgICAgJ3Ntb290aC10aHJlc2hvbGQnOiAnYXJqcy1hbmNob3Iuc21vb3RoVGhyZXNob2xkJyxcblxuICAgICAgICAnaGl0LXRlc3RpbmctcmVuZGVyLWRlYnVnJzogJ2FyanMtaGl0LXRlc3RpbmcucmVuZGVyRGVidWcnLFxuICAgICAgICAnaGl0LXRlc3RpbmctZW5hYmxlZCc6ICdhcmpzLWhpdC10ZXN0aW5nLmVuYWJsZWQnLFxuICAgIH1cbn0pKVxuXG5BRlJBTUUucmVnaXN0ZXJQcmltaXRpdmUoJ2EtbWFya2VyLWNhbWVyYScsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHtcbiAgICAgICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnXG4gICAgICAgIH0sXG4gICAgICAgICdjYW1lcmEnOiB7fSxcbiAgICB9LFxuICAgIG1hcHBpbmdzOiB7XG4gICAgICAgICd0eXBlJzogJ2FyanMtYW5jaG9yLnR5cGUnLFxuICAgICAgICAnc2l6ZSc6ICdhcmpzLWFuY2hvci5zaXplJyxcbiAgICAgICAgJ3VybCc6ICdhcmpzLWFuY2hvci5wYXR0ZXJuVXJsJyxcbiAgICAgICAgJ2Rlc2NyaXB0b3JzVXJsJzogJ2FyanMtYW5jaG9yLmRlc2NyaXB0b3JzVXJsJyxcbiAgICAgICAgJ3ZhbHVlJzogJ2FyanMtYW5jaG9yLmJhcmNvZGVWYWx1ZScsXG4gICAgICAgICdwcmVzZXQnOiAnYXJqcy1hbmNob3IucHJlc2V0JyxcbiAgICAgICAgJ21pbi1jb25maWRlbmNlJzogJ2FyanMtYW5jaG9yLm1pbkNvbmZpZGVuY2UnLFxuICAgICAgICAnbWFya2VyLWhlbHBlcnMnOiAnYXJqcy1hbmNob3IubWFya2VyaGVscGVycycsXG4gICAgfVxufSkpXG4iLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcbmltcG9ydCBIaXRUZXN0aW5nIGZyb20gJy4uLy4uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtaGl0dGVzdGluZyc7XG5cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0YXJqcy1oaXQtdGVzdGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2FyanMtaGl0LXRlc3RpbmcnLCB7XG5cdGRlcGVuZGVuY2llczogWydhcmpzJywgJ2FydG9vbGtpdCddLFxuXHRzY2hlbWE6IHtcblx0XHRlbmFibGVkIDoge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHRyZW5kZXJEZWJ1ZyA6IHtcblx0XHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cdGluaXQ6IGZ1bmN0aW9uICgpIHtcblx0XHR2YXIgX3RoaXMgPSB0aGlzXG5cdFx0dmFyIGFyanNTeXN0ZW0gPSB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcmpzIHx8IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFydG9vbGtpdFxuXG4vLyBUT0RPIG1ha2UgaXQgd29yayBvbiBjYW1lcmFUcmFuc2Zvcm1NYXRyaXggdG9vXG4vL1xuXHRcdF90aGlzLmlzUmVhZHkgPSBmYWxzZVxuXHRcdF90aGlzLl9hckFuY2hvciA9IG51bGxcblx0XHRfdGhpcy5fYXJIaXRUZXN0aW5nID0gbnVsbFxuXG5cdFx0Ly8gdHJpY2sgdG8gd2FpdCB1bnRpbCBhcmpzU3lzdGVtIGlzIGlzUmVhZHlcblx0XHR2YXIgc3RhcnRlZEF0ID0gRGF0ZS5ub3coKVxuXHRcdHZhciB0aW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcblx0XHRcdHZhciBhbmNob3JFbCA9IF90aGlzLmVsXG5cdFx0XHR2YXIgYW5jaG9yQ29tcG9uZW50ID0gYW5jaG9yRWwuY29tcG9uZW50c1snYXJqcy1hbmNob3InXVxuXHRcdFx0Ly8gd2FpdCB1bnRpbCBhbmNob3JDb21wb25lbnQgaXMgaXNSZWFkeVxuXHRcdFx0aWYoIGFuY2hvckNvbXBvbmVudCA9PT0gdW5kZWZpbmVkIHx8IGFuY2hvckNvbXBvbmVudC5pc1JlYWR5ID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcklkKVxuXG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdC8vXHRcdGNyZWF0ZSBhckFuY2hvclxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHR2YXIgYXJBbmNob3IgPSBhbmNob3JDb21wb25lbnQuX2FyQW5jaG9yXG5cdFx0XHR2YXIgYXJTZXNzaW9uID0gYXJqc1N5c3RlbS5fYXJTZXNzaW9uXG5cdFx0XHR2YXIgcmVuZGVyZXIgPSBhclNlc3Npb24ucGFyYW1ldGVycy5yZW5kZXJlclxuXG5cdFx0XHR2YXIgaGl0VGVzdGluZyA9IF90aGlzLl9hckhpdFRlc3RpbmcgPSBuZXcgSGl0VGVzdGluZyhhclNlc3Npb24pXG5cdFx0XHRoaXRUZXN0aW5nLmVuYWJsZWQgPSBfdGhpcy5kYXRhLmVuYWJsZWRcblxuXHRcdFx0X3RoaXMuaXNSZWFkeSA9IHRydWVcblx0XHR9LCAxMDAwLzYwKVxuXHR9LFxuXHRyZW1vdmUgOiBmdW5jdGlvbigpe1xuXHR9LFxuXHR1cGRhdGU6IGZ1bmN0aW9uICgpIHtcblx0fSxcblx0dGljazogZnVuY3Rpb24oKXtcblx0XHR2YXIgX3RoaXMgPSB0aGlzXG5cdFx0Ly8gaWYgbm90IHlldCBpc1JlYWR5LCBkbyBub3RoaW5nXG5cdFx0aWYoIHRoaXMuaXNSZWFkeSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHR2YXIgYXJqc1N5c3RlbSA9IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFyanMgfHwgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXMuYXJ0b29sa2l0XG5cdFx0dmFyIGFyU2Vzc2lvbiA9IGFyanNTeXN0ZW0uX2FyU2Vzc2lvblxuXG5cdFx0dmFyIGFuY2hvckVsID0gX3RoaXMuZWxcblx0XHR2YXIgYW5jaG9yQ29tcG9uZW50ID0gYW5jaG9yRWwuY29tcG9uZW50c1snYXJqcy1hbmNob3InXVxuXHRcdHZhciBhckFuY2hvciA9IGFuY2hvckNvbXBvbmVudC5fYXJBbmNob3JcblxuXG5cdFx0dmFyIGhpdFRlc3RpbmcgPSB0aGlzLl9hckhpdFRlc3Rpbmdcblx0XHR2YXIgY2FtZXJhID0gYXJTZXNzaW9uLnBhcmFtZXRlcnMuY2FtZXJhXG4vLyBjb25zb2xlLmxvZyhjYW1lcmEucG9zaXRpb24pXG5cdFx0aGl0VGVzdGluZy51cGRhdGUoY2FtZXJhLCBhckFuY2hvci5vYmplY3QzZCwgYXJBbmNob3IucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKVxuXHR9XG59KTtcbiIsIlxuLyoqXG4gKiBAYXV0aG9yIHJpY2h0IC8gaHR0cDovL3JpY2h0Lm1lXG4gKiBAYXV0aG9yIFdlc3RMYW5nbGV5IC8gaHR0cDovL2dpdGh1Yi5jb20vV2VzdExhbmdsZXlcbiAqXG4gKiBXM0MgRGV2aWNlIE9yaWVudGF0aW9uIGNvbnRyb2wgKGh0dHA6Ly93M2MuZ2l0aHViLmlvL2RldmljZW9yaWVudGF0aW9uL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwpXG4gKi9cblxuLyogTk9URSB0aGF0IHRoaXMgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIFRIUkVFLkRldmljZU9yaWVudGF0aW9uQ29udHJvbHMgdG8gXG4gKiBhbGxvdyBleHBvbmVudGlhbCBzbW9vdGhpbmcsIGZvciB1c2UgaW4gQVIuanMuXG4gKlxuICogTW9kaWZpY2F0aW9ucyBOaWNrIFdoaXRlbGVnZyAobmlja3cxIGdpdGh1YilcbiAqL1xuXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tIFwidGhyZWVcIjtcblxuY29uc3QgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMgPSBmdW5jdGlvbiAoIG9iamVjdCApIHtcblxuICB2YXIgc2NvcGUgPSB0aGlzO1xuXG4gIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB0aGlzLm9iamVjdC5yb3RhdGlvbi5yZW9yZGVyKCAnWVhaJyApO1xuXG4gIHRoaXMuZW5hYmxlZCA9IHRydWU7XG5cbiAgdGhpcy5kZXZpY2VPcmllbnRhdGlvbiA9IHt9O1xuICB0aGlzLnNjcmVlbk9yaWVudGF0aW9uID0gMDtcblxuICB0aGlzLmFscGhhT2Zmc2V0ID0gMDsgLy8gcmFkaWFuc1xuXG4gIHRoaXMuc21vb3RoaW5nRmFjdG9yID0gMTtcblxuICB0aGlzLlRXT19QSSA9IDIgKiBNYXRoLlBJO1xuICB0aGlzLkhBTEZfUEkgPSAwLjUgKiBNYXRoLlBJO1xuXG4gIHZhciBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlRXZlbnQgPSBmdW5jdGlvbiAoIGV2ZW50ICkge1xuXG4gICAgc2NvcGUuZGV2aWNlT3JpZW50YXRpb24gPSBldmVudDtcblxuICB9O1xuXG4gIHZhciBvblNjcmVlbk9yaWVudGF0aW9uQ2hhbmdlRXZlbnQgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICBzY29wZS5zY3JlZW5PcmllbnRhdGlvbiA9IHdpbmRvdy5vcmllbnRhdGlvbiB8fCAwO1xuXG4gIH07XG5cbiAgLy8gVGhlIGFuZ2xlcyBhbHBoYSwgYmV0YSBhbmQgZ2FtbWEgZm9ybSBhIHNldCBvZiBpbnRyaW5zaWMgVGFpdC1CcnlhbiBhbmdsZXMgb2YgdHlwZSBaLVgnLVknJ1xuXG4gIHZhciBzZXRPYmplY3RRdWF0ZXJuaW9uID0gZnVuY3Rpb24gKCkge1xuXG4gICAgdmFyIHplZSA9IG5ldyBUSFJFRS5WZWN0b3IzKCAwLCAwLCAxICk7XG5cbiAgICB2YXIgZXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIoKTtcblxuICAgIHZhciBxMCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5cbiAgICB2YXIgcTEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbiggLSBNYXRoLnNxcnQoIDAuNSApLCAwLCAwLCBNYXRoLnNxcnQoIDAuNSApICk7IC8vIC0gUEkvMiBhcm91bmQgdGhlIHgtYXhpc1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICggcXVhdGVybmlvbiwgYWxwaGEsIGJldGEsIGdhbW1hLCBvcmllbnQgKSB7XG5cbiAgICAgIGV1bGVyLnNldCggYmV0YSwgYWxwaGEsIC0gZ2FtbWEsICdZWFonICk7IC8vICdaWFknIGZvciB0aGUgZGV2aWNlLCBidXQgJ1lYWicgZm9yIHVzXG5cbiAgICAgIHF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKCBldWxlciApOyAvLyBvcmllbnQgdGhlIGRldmljZVxuXG4gICAgICBxdWF0ZXJuaW9uLm11bHRpcGx5KCBxMSApOyAvLyBjYW1lcmEgbG9va3Mgb3V0IHRoZSBiYWNrIG9mIHRoZSBkZXZpY2UsIG5vdCB0aGUgdG9wXG5cbiAgICAgIHF1YXRlcm5pb24ubXVsdGlwbHkoIHEwLnNldEZyb21BeGlzQW5nbGUoIHplZSwgLSBvcmllbnQgKSApOyAvLyBhZGp1c3QgZm9yIHNjcmVlbiBvcmllbnRhdGlvblxuXG4gICAgfTtcblxuICB9KCk7XG5cbiAgdGhpcy5jb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuIFxuICAgIG9uU2NyZWVuT3JpZW50YXRpb25DaGFuZ2VFdmVudCgpO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdvcmllbnRhdGlvbmNoYW5nZScsIG9uU2NyZWVuT3JpZW50YXRpb25DaGFuZ2VFdmVudCwgZmFsc2UgKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggJ2RldmljZW9yaWVudGF0aW9uJywgb25EZXZpY2VPcmllbnRhdGlvbkNoYW5nZUV2ZW50LCBmYWxzZSApO1xuXG4gICAgc2NvcGUuZW5hYmxlZCA9IHRydWU7XG5cbiAgfTtcblxuICB0aGlzLmRpc2Nvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ29yaWVudGF0aW9uY2hhbmdlJywgb25TY3JlZW5PcmllbnRhdGlvbkNoYW5nZUV2ZW50LCBmYWxzZSApO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCAnZGV2aWNlb3JpZW50YXRpb24nLCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlRXZlbnQsIGZhbHNlICk7XG5cbiAgICBzY29wZS5lbmFibGVkID0gZmFsc2U7XG5cbiAgfTtcblxuICB0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcblxuICAgIGlmICggc2NvcGUuZW5hYmxlZCA9PT0gZmFsc2UgKSByZXR1cm47XG5cbiAgICB2YXIgZGV2aWNlID0gc2NvcGUuZGV2aWNlT3JpZW50YXRpb247XG5cbiAgICBpZiAoIGRldmljZSApIHtcblxuICAgICAgdmFyIGFscGhhID0gZGV2aWNlLmFscGhhID8gVEhSRUUuTWF0aC5kZWdUb1JhZCggZGV2aWNlLmFscGhhICkgKyBzY29wZS5hbHBoYU9mZnNldCA6IDA7IC8vIFpcblxuICAgICAgdmFyIGJldGEgPSBkZXZpY2UuYmV0YSA/IFRIUkVFLk1hdGguZGVnVG9SYWQoIGRldmljZS5iZXRhICkgOiAwOyAvLyBYJ1xuXG4gICAgICB2YXIgZ2FtbWEgPSBkZXZpY2UuZ2FtbWEgPyBUSFJFRS5NYXRoLmRlZ1RvUmFkKCBkZXZpY2UuZ2FtbWEgKSA6IDA7IC8vIFknJ1xuXG4gICAgICB2YXIgb3JpZW50ID0gc2NvcGUuc2NyZWVuT3JpZW50YXRpb24gPyBUSFJFRS5NYXRoLmRlZ1RvUmFkKCBzY29wZS5zY3JlZW5PcmllbnRhdGlvbiApIDogMDsgLy8gT1xuXG4gICAgICAvLyBOVyBBZGRlZCBzbW9vdGhpbmcgY29kZVxuICAgICAgdmFyIGsgPSB0aGlzLnNtb290aGluZ0ZhY3RvcjtcblxuICAgICAgaWYodGhpcy5sYXN0T3JpZW50YXRpb24pIHtcbiAgICAgICAgYWxwaGEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGFscGhhLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5hbHBoYSwgayk7XG4gICAgICAgIGJldGEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGJldGEgKyBNYXRoLlBJLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5iZXRhLCBrKTtcbiAgICAgICAgZ2FtbWEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGdhbW1hICsgdGhpcy5IQUxGX1BJLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5nYW1tYSwgaywgTWF0aC5QSSk7XG4gICAgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiZXRhICs9IE1hdGguUEk7XG4gICAgICAgIGdhbW1hICs9IHRoaXMuSEFMRl9QSTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXN0T3JpZW50YXRpb24gPSB7XG4gICAgICAgIGFscGhhOiBhbHBoYSxcbiAgICAgICAgYmV0YTogYmV0YSxcbiAgICAgICAgZ2FtbWE6IGdhbW1hXG4gICAgICB9O1xuICAgICAgc2V0T2JqZWN0UXVhdGVybmlvbiggc2NvcGUub2JqZWN0LnF1YXRlcm5pb24sIGFscGhhLCBiZXRhIC0gTWF0aC5QSSwgZ2FtbWEgLSB0aGlzLkhBTEZfUEksIG9yaWVudCApO1xuXG4gICAgfVxuICB9O1xuXG4gICBcbiAgIC8vIE5XIEFkZGVkXG4gIHRoaXMuX29yZGVyQW5nbGUgPSBmdW5jdGlvbihhLCBiLCByYW5nZSA9IHRoaXMuVFdPX1BJKSB7XG4gICAgaWYgKChiID4gYSAmJiBNYXRoLmFicyhiIC0gYSkgPCByYW5nZSAvIDIpIHx8IChhID4gYiAmJiBNYXRoLmFicyhiIC0gYSkgPiByYW5nZSAvIDIpKSB7XG4gICAgICByZXR1cm4geyBsZWZ0OiBhLCByaWdodDogYiB9XG4gICAgfSBlbHNlIHsgXG4gICAgICByZXR1cm4geyBsZWZ0OiBiLCByaWdodDogYSB9XG4gICAgfVxuICB9O1xuXG4gICAvLyBOVyBBZGRlZFxuICB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlID0gZnVuY3Rpb24oYSwgYiwgaywgcmFuZ2UgPSB0aGlzLlRXT19QSSkge1xuICAgIGNvbnN0IGFuZ2xlcyA9IHRoaXMuX29yZGVyQW5nbGUoYSwgYiwgcmFuZ2UpO1xuICAgIGNvbnN0IGFuZ2xlc2hpZnQgPSBhbmdsZXMubGVmdDtcbiAgICBjb25zdCBvcmlnQW5nbGVzUmlnaHQgPSBhbmdsZXMucmlnaHQ7XG4gICAgYW5nbGVzLmxlZnQgPSAwO1xuICAgIGFuZ2xlcy5yaWdodCAtPSBhbmdsZXNoaWZ0O1xuICAgIGlmKGFuZ2xlcy5yaWdodCA8IDApIGFuZ2xlcy5yaWdodCArPSByYW5nZTtcbiAgICBsZXQgbmV3YW5nbGUgPSBvcmlnQW5nbGVzUmlnaHQgPT0gYiA/ICgxIC0gaykqYW5nbGVzLnJpZ2h0ICsgayAqIGFuZ2xlcy5sZWZ0IDogayAqIGFuZ2xlcy5yaWdodCArICgxIC0gaykgKiBhbmdsZXMubGVmdDtcbiAgICBuZXdhbmdsZSArPSBhbmdsZXNoaWZ0O1xuICAgIGlmKG5ld2FuZ2xlID49IHJhbmdlKSBuZXdhbmdsZSAtPSByYW5nZTtcbiAgICByZXR1cm4gbmV3YW5nbGU7XG4gIH07XG5cbiAgdGhpcy5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHNjb3BlLmRpc2Nvbm5lY3QoKTtcbiAgfTtcblxuICB0aGlzLmNvbm5lY3QoKTtcblxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHM7XG4iLCIvLyBUbyBhdm9pZCByZWNhbGN1bGF0aW9uIGF0IGV2ZXJ5IG1vdXNlIG1vdmVtZW50IHRpY2tcbnZhciBQSV8yID0gTWF0aC5QSSAvIDI7XG5cblxuLyoqXG4gKiBsb29rLWNvbnRyb2xzLiBVcGRhdGUgZW50aXR5IHBvc2UsIGZhY3RvcmluZyBtb3VzZSwgdG91Y2gsIGFuZCBXZWJWUiBBUEkgZGF0YS5cbiAqL1xuXG4vKiBOT1RFIHRoYXQgdGhpcyBpcyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgQS1GcmFtZSdzIGxvb2stY29udHJvbHMgdG8gXG4gKiBhbGxvdyBleHBvbmVudGlhbCBzbW9vdGhpbmcsIGZvciB1c2UgaW4gQVIuanMuXG4gKlxuICogTW9kaWZpY2F0aW9ucyBOaWNrIFdoaXRlbGVnZyAobmlja3cxIGdpdGh1YilcbiAqL1xuXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuaW1wb3J0IEFyanNEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xzIGZyb20gJy4vQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnYXJqcy1sb29rLWNvbnRyb2xzJywge1xuICBkZXBlbmRlbmNpZXM6IFsncG9zaXRpb24nLCAncm90YXRpb24nXSxcblxuICBzY2hlbWE6IHtcbiAgICBlbmFibGVkOiB7ZGVmYXVsdDogdHJ1ZX0sXG4gICAgbWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQ6IHtkZWZhdWx0OiB0cnVlfSxcbiAgICBwb2ludGVyTG9ja0VuYWJsZWQ6IHtkZWZhdWx0OiBmYWxzZX0sXG4gICAgcmV2ZXJzZU1vdXNlRHJhZzoge2RlZmF1bHQ6IGZhbHNlfSxcbiAgICByZXZlcnNlVG91Y2hEcmFnOiB7ZGVmYXVsdDogZmFsc2V9LFxuICAgIHRvdWNoRW5hYmxlZDoge2RlZmF1bHQ6IHRydWV9LFxuICAgIHNtb290aGluZ0ZhY3RvcjogeyB0eXBlOiAnbnVtYmVyJywgZGVmYXVsdDogMSB9XG4gIH0sXG5cbiAgaW5pdDogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZGVsdGFZYXcgPSAwO1xuICAgIHRoaXMucHJldmlvdXNITURQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgdGhpcy5obWRRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICB0aGlzLm1hZ2ljV2luZG93QWJzb2x1dGVFdWxlciA9IG5ldyBUSFJFRS5FdWxlcigpO1xuICAgIHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyID0gbmV3IFRIUkVFLkV1bGVyKCk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgdGhpcy5tYWdpY1dpbmRvd09iamVjdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIHRoaXMucm90YXRpb24gPSB7fTtcbiAgICB0aGlzLmRlbHRhUm90YXRpb24gPSB7fTtcbiAgICB0aGlzLnNhdmVkUG9zZSA9IG51bGw7XG4gICAgdGhpcy5wb2ludGVyTG9ja2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXR1cE1vdXNlQ29udHJvbHMoKTtcbiAgICB0aGlzLmJpbmRNZXRob2RzKCk7XG4gICAgdGhpcy5wcmV2aW91c01vdXNlRXZlbnQgPSB7fTtcblxuICAgIHRoaXMuc2V0dXBNYWdpY1dpbmRvd0NvbnRyb2xzKCk7XG5cbiAgICAvLyBUbyBzYXZlIC8gcmVzdG9yZSBjYW1lcmEgcG9zZVxuICAgIHRoaXMuc2F2ZWRQb3NlID0ge1xuICAgICAgcG9zaXRpb246IG5ldyBUSFJFRS5WZWN0b3IzKCksXG4gICAgICByb3RhdGlvbjogbmV3IFRIUkVFLkV1bGVyKClcbiAgICB9O1xuXG4gICAgLy8gQ2FsbCBlbnRlciBWUiBoYW5kbGVyIGlmIHRoZSBzY2VuZSBoYXMgZW50ZXJlZCBWUiBiZWZvcmUgdGhlIGV2ZW50IGxpc3RlbmVycyBhdHRhY2hlZC5cbiAgICBpZiAodGhpcy5lbC5zY2VuZUVsLmlzKCd2ci1tb2RlJykpIHsgdGhpcy5vbkVudGVyVlIoKTsgfVxuICB9LFxuXG4gIHNldHVwTWFnaWNXaW5kb3dDb250cm9sczogZnVuY3Rpb24gKCkge1xuICAgIHZhciBtYWdpY1dpbmRvd0NvbnRyb2xzO1xuICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuXG4gICAgLy8gT25seSBvbiBtb2JpbGUgZGV2aWNlcyBhbmQgb25seSBlbmFibGVkIGlmIERldmljZU9yaWVudGF0aW9uIHBlcm1pc3Npb24gaGFzIGJlZW4gZ3JhbnRlZC5cbiAgICBpZiAoQUZSQU1FLnV0aWxzLmRldmljZS5pc01vYmlsZSgpKSB7XG4gICAgICBtYWdpY1dpbmRvd0NvbnRyb2xzID0gdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzID0gbmV3IEFyanNEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xzKHRoaXMubWFnaWNXaW5kb3dPYmplY3QpO1xuICAgICAgaWYgKHR5cGVvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50ICE9PSAndW5kZWZpbmVkJyAmJiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKSB7XG4gICAgICAgIG1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5lbC5zY2VuZUVsLmNvbXBvbmVudHNbJ2RldmljZS1vcmllbnRhdGlvbi1wZXJtaXNzaW9uLXVpJ10ucGVybWlzc2lvbkdyYW50ZWQpIHtcbiAgICAgICAgICBtYWdpY1dpbmRvd0NvbnRyb2xzLmVuYWJsZWQgPSBkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbnBlcm1pc3Npb25ncmFudGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbWFnaWNXaW5kb3dDb250cm9scy5lbmFibGVkID0gZGF0YS5tYWdpY1dpbmRvd1RyYWNraW5nRW5hYmxlZDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGU6IGZ1bmN0aW9uIChvbGREYXRhKSB7XG4gICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBEaXNhYmxlIGdyYWIgY3Vyc29yIGNsYXNzZXMgaWYgbm8gbG9uZ2VyIGVuYWJsZWQuXG4gICAgaWYgKGRhdGEuZW5hYmxlZCAhPT0gb2xkRGF0YS5lbmFibGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUdyYWJDdXJzb3IoZGF0YS5lbmFibGVkKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBtYWdpYyB3aW5kb3cgZXVsZXJzIGlmIHRyYWNraW5nIGlzIGRpc2FibGVkLlxuICAgIGlmIChvbGREYXRhICYmICFkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkICYmIG9sZERhdGEubWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQpIHtcbiAgICAgIHRoaXMubWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnNldCgwLCAwLCAwKTtcbiAgICAgIHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyLnNldCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAvLyBQYXNzIG9uIG1hZ2ljIHdpbmRvdyB0cmFja2luZyBzZXR0aW5nIHRvIG1hZ2ljV2luZG93Q29udHJvbHMuXG4gICAgaWYgKHRoaXMubWFnaWNXaW5kb3dDb250cm9scykge1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLmVuYWJsZWQgPSBkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkO1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLnNtb290aGluZ0ZhY3RvciA9IGRhdGEuc21vb3RoaW5nRmFjdG9yO1xuICAgIH1cblxuICAgIGlmIChvbGREYXRhICYmICFkYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCAhPT0gb2xkRGF0YS5wb2ludGVyTG9ja0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgIGlmICh0aGlzLnBvaW50ZXJMb2NrZWQpIHsgdGhpcy5leGl0UG9pbnRlckxvY2soKTsgfVxuICAgIH1cbiAgfSxcblxuICB0aWNrOiBmdW5jdGlvbiAodCkge1xuICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgIGlmICghZGF0YS5lbmFibGVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMudXBkYXRlT3JpZW50YXRpb24oKTtcbiAgfSxcblxuICBwbGF5OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVycygpO1xuICB9LFxuXG4gIHBhdXNlOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIGlmICh0aGlzLnBvaW50ZXJMb2NrZWQpIHsgdGhpcy5leGl0UG9pbnRlckxvY2soKTsgfVxuICB9LFxuXG4gIHJlbW92ZTogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICBpZiAodGhpcy5wb2ludGVyTG9ja2VkKSB7IHRoaXMuZXhpdFBvaW50ZXJMb2NrKCk7IH1cbiAgfSxcblxuICBiaW5kTWV0aG9kczogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMub25Nb3VzZURvd24gPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uTW91c2VEb3duLCB0aGlzKTtcbiAgICB0aGlzLm9uTW91c2VNb3ZlID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vbk1vdXNlTW92ZSwgdGhpcyk7XG4gICAgdGhpcy5vbk1vdXNlVXAgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uTW91c2VVcCwgdGhpcyk7XG4gICAgdGhpcy5vblRvdWNoU3RhcnQgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uVG91Y2hTdGFydCwgdGhpcyk7XG4gICAgdGhpcy5vblRvdWNoTW92ZSA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Ub3VjaE1vdmUsIHRoaXMpO1xuICAgIHRoaXMub25Ub3VjaEVuZCA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Ub3VjaEVuZCwgdGhpcyk7XG4gICAgdGhpcy5vbkVudGVyVlIgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uRW50ZXJWUiwgdGhpcyk7XG4gICAgdGhpcy5vbkV4aXRWUiA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25FeGl0VlIsIHRoaXMpO1xuICAgIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgdGhpcyk7XG4gICAgdGhpcy5vblBvaW50ZXJMb2NrRXJyb3IgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uUG9pbnRlckxvY2tFcnJvciwgdGhpcyk7XG4gIH0sXG5cbiAvKipcbiAgKiBTZXQgdXAgc3RhdGVzIGFuZCBPYmplY3QzRHMgbmVlZGVkIHRvIHN0b3JlIHJvdGF0aW9uIGRhdGEuXG4gICovXG4gIHNldHVwTW91c2VDb250cm9sczogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMubW91c2VEb3duID0gZmFsc2U7XG4gICAgdGhpcy5waXRjaE9iamVjdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIHRoaXMueWF3T2JqZWN0ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgdGhpcy55YXdPYmplY3QucG9zaXRpb24ueSA9IDEwO1xuICAgIHRoaXMueWF3T2JqZWN0LmFkZCh0aGlzLnBpdGNoT2JqZWN0KTtcbiAgfSxcblxuICAvKipcbiAgICogQWRkIG1vdXNlIGFuZCB0b3VjaCBldmVudCBsaXN0ZW5lcnMgdG8gY2FudmFzLlxuICAgKi9cbiAgYWRkRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcbiAgICB2YXIgY2FudmFzRWwgPSBzY2VuZUVsLmNhbnZhcztcblxuICAgIC8vIFdhaXQgZm9yIGNhbnZhcyB0byBsb2FkLlxuICAgIGlmICghY2FudmFzRWwpIHtcbiAgICAgIHNjZW5lRWwuYWRkRXZlbnRMaXN0ZW5lcigncmVuZGVyLXRhcmdldC1sb2FkZWQnLCBBRlJBTUUudXRpbHMuYmluZCh0aGlzLmFkZEV2ZW50TGlzdGVuZXJzLCB0aGlzKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTW91c2UgZXZlbnRzLlxuICAgIGNhbnZhc0VsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZURvd24sIGZhbHNlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSwgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXAsIGZhbHNlKTtcblxuICAgIC8vIFRvdWNoIGV2ZW50cy5cbiAgICBjYW52YXNFbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoU3RhcnQpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLm9uVG91Y2hFbmQpO1xuXG4gICAgLy8gc2NlbmVFbCBldmVudHMuXG4gICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdlbnRlci12cicsIHRoaXMub25FbnRlclZSKTtcbiAgICBzY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2V4aXQtdnInLCB0aGlzLm9uRXhpdFZSKTtcblxuICAgIC8vIFBvaW50ZXIgTG9jayBldmVudHMuXG4gICAgaWYgKHRoaXMuZGF0YS5wb2ludGVyTG9ja0VuYWJsZWQpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3pwb2ludGVybG9ja2NoYW5nZScsIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tlcnJvcicsIHRoaXMub25Qb2ludGVyTG9ja0Vycm9yLCBmYWxzZSk7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW91c2UgYW5kIHRvdWNoIGV2ZW50IGxpc3RlbmVycyBmcm9tIGNhbnZhcy5cbiAgICovXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgdmFyIGNhbnZhc0VsID0gc2NlbmVFbCAmJiBzY2VuZUVsLmNhbnZhcztcblxuICAgIGlmICghY2FudmFzRWwpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBNb3VzZSBldmVudHMuXG4gICAgY2FudmFzRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93bik7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuXG4gICAgLy8gVG91Y2ggZXZlbnRzLlxuICAgIGNhbnZhc0VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaEVuZCk7XG5cbiAgICAvLyBzY2VuZUVsIGV2ZW50cy5cbiAgICBzY2VuZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2VudGVyLXZyJywgdGhpcy5vbkVudGVyVlIpO1xuICAgIHNjZW5lRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXhpdC12cicsIHRoaXMub25FeGl0VlIpO1xuXG4gICAgLy8gUG9pbnRlciBMb2NrIGV2ZW50cy5cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybG9ja2NoYW5nZScsIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21venBvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tlcnJvcicsIHRoaXMub25Qb2ludGVyTG9ja0Vycm9yLCBmYWxzZSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvcmllbnRhdGlvbiBmb3IgbW9iaWxlLCBtb3VzZSBkcmFnLCBhbmQgaGVhZHNldC5cbiAgICogTW91c2UtZHJhZyBvbmx5IGVuYWJsZWQgaWYgSE1EIGlzIG5vdCBhY3RpdmUuXG4gICAqL1xuICB1cGRhdGVPcmllbnRhdGlvbjogKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIG9iamVjdDNEID0gdGhpcy5lbC5vYmplY3QzRDtcbiAgICAgIHZhciBwaXRjaE9iamVjdCA9IHRoaXMucGl0Y2hPYmplY3Q7XG4gICAgICB2YXIgeWF3T2JqZWN0ID0gdGhpcy55YXdPYmplY3Q7XG4gICAgICB2YXIgcG9zZTtcbiAgICAgIHZhciBzY2VuZUVsID0gdGhpcy5lbC5zY2VuZUVsO1xuXG4gICAgICAvLyBJbiBWUiBtb2RlLCBUSFJFRSBpcyBpbiBjaGFyZ2Ugb2YgdXBkYXRpbmcgdGhlIGNhbWVyYSBwb3NlLlxuICAgICAgaWYgKHNjZW5lRWwuaXMoJ3ZyLW1vZGUnKSAmJiBzY2VuZUVsLmNoZWNrSGVhZHNldENvbm5lY3RlZCgpKSB7XG4gICAgICAgIC8vIFdpdGggV2ViWFIgVEhSRUUgYXBwbGllcyBoZWFkc2V0IHBvc2UgdG8gdGhlIG9iamVjdDNEIG1hdHJpeFdvcmxkIGludGVybmFsbHkuXG4gICAgICAgIC8vIFJlZmxlY3QgdmFsdWVzIGJhY2sgb24gcG9zaXRpb24sIHJvdGF0aW9uLCBzY2FsZSBmb3IgZ2V0QXR0cmlidXRlIHRvIHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWVzLlxuICAgICAgICBpZiAoc2NlbmVFbC5oYXNXZWJYUikge1xuICAgICAgICAgIHBvc2UgPSBzY2VuZUVsLnJlbmRlcmVyLnhyLmdldENhbWVyYVBvc2UoKTtcbiAgICAgICAgICBpZiAocG9zZSkge1xuICAgICAgICAgICAgcG9zZU1hdHJpeC5lbGVtZW50cyA9IHBvc2UudHJhbnNmb3JtLm1hdHJpeDtcbiAgICAgICAgICAgIHBvc2VNYXRyaXguZGVjb21wb3NlKG9iamVjdDNELnBvc2l0aW9uLCBvYmplY3QzRC5yb3RhdGlvbiwgb2JqZWN0M0Quc2NhbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlTWFnaWNXaW5kb3dPcmllbnRhdGlvbigpO1xuXG4gICAgICAvLyBPbiBtb2JpbGUsIGRvIGNhbWVyYSByb3RhdGlvbiB3aXRoIHRvdWNoIGV2ZW50cyBhbmQgc2Vuc29ycy5cbiAgICAgIG9iamVjdDNELnJvdGF0aW9uLnggPSB0aGlzLm1hZ2ljV2luZG93RGVsdGFFdWxlci54ICsgcGl0Y2hPYmplY3Qucm90YXRpb24ueDtcbiAgICAgIG9iamVjdDNELnJvdGF0aW9uLnkgPSB0aGlzLm1hZ2ljV2luZG93RGVsdGFFdWxlci55ICsgeWF3T2JqZWN0LnJvdGF0aW9uLnk7XG4gICAgICBvYmplY3QzRC5yb3RhdGlvbi56ID0gdGhpcy5tYWdpY1dpbmRvd0RlbHRhRXVsZXIuejtcbiAgICB9O1xuICB9KSgpLFxuXG4gIHVwZGF0ZU1hZ2ljV2luZG93T3JpZW50YXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyID0gdGhpcy5tYWdpY1dpbmRvd0Fic29sdXRlRXVsZXI7XG4gICAgdmFyIG1hZ2ljV2luZG93RGVsdGFFdWxlciA9IHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyO1xuICAgIC8vIENhbGN1bGF0ZSBtYWdpYyB3aW5kb3cgSE1EIHF1YXRlcm5pb24uXG4gICAgaWYgKHRoaXMubWFnaWNXaW5kb3dDb250cm9scyAmJiB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLnVwZGF0ZSgpO1xuICAgICAgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnNldEZyb21RdWF0ZXJuaW9uKHRoaXMubWFnaWNXaW5kb3dPYmplY3QucXVhdGVybmlvbiwgJ1lYWicpO1xuICAgICAgaWYgKCF0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcgJiYgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnkgIT09IDApIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3ID0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3KSB7XG4gICAgICAgIG1hZ2ljV2luZG93RGVsdGFFdWxlci54ID0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLng7XG4gICAgICAgIG1hZ2ljV2luZG93RGVsdGFFdWxlci55ICs9IG1hZ2ljV2luZG93QWJzb2x1dGVFdWxlci55IC0gdGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3O1xuICAgICAgICBtYWdpY1dpbmRvd0RlbHRhRXVsZXIueiA9IG1hZ2ljV2luZG93QWJzb2x1dGVFdWxlci56O1xuICAgICAgICB0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcgPSBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIueTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBtb3VzZSBkcmFnIGludG8gcm90YXRpb24uXG4gICAqXG4gICAqIERyYWdnaW5nIHVwIGFuZCBkb3duIHJvdGF0ZXMgdGhlIGNhbWVyYSBhcm91bmQgdGhlIFgtYXhpcyAoeWF3KS5cbiAgICogRHJhZ2dpbmcgbGVmdCBhbmQgcmlnaHQgcm90YXRlcyB0aGUgY2FtZXJhIGFyb3VuZCB0aGUgWS1heGlzIChwaXRjaCkuXG4gICAqL1xuICBvbk1vdXNlTW92ZTogZnVuY3Rpb24gKGV2dCkge1xuICAgIHZhciBkaXJlY3Rpb247XG4gICAgdmFyIG1vdmVtZW50WDtcbiAgICB2YXIgbW92ZW1lbnRZO1xuICAgIHZhciBwaXRjaE9iamVjdCA9IHRoaXMucGl0Y2hPYmplY3Q7XG4gICAgdmFyIHByZXZpb3VzTW91c2VFdmVudCA9IHRoaXMucHJldmlvdXNNb3VzZUV2ZW50O1xuICAgIHZhciB5YXdPYmplY3QgPSB0aGlzLnlhd09iamVjdDtcblxuICAgIC8vIE5vdCBkcmFnZ2luZyBvciBub3QgZW5hYmxlZC5cbiAgICBpZiAoIXRoaXMuZGF0YS5lbmFibGVkIHx8ICghdGhpcy5tb3VzZURvd24gJiYgIXRoaXMucG9pbnRlckxvY2tlZCkpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBDYWxjdWxhdGUgZGVsdGEuXG4gICAgaWYgKHRoaXMucG9pbnRlckxvY2tlZCkge1xuICAgICAgbW92ZW1lbnRYID0gZXZ0Lm1vdmVtZW50WCB8fCBldnQubW96TW92ZW1lbnRYIHx8IDA7XG4gICAgICBtb3ZlbWVudFkgPSBldnQubW92ZW1lbnRZIHx8IGV2dC5tb3pNb3ZlbWVudFkgfHwgMDtcbiAgICB9IGVsc2Uge1xuICAgICAgbW92ZW1lbnRYID0gZXZ0LnNjcmVlblggLSBwcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIG1vdmVtZW50WSA9IGV2dC5zY3JlZW5ZIC0gcHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblk7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblggPSBldnQuc2NyZWVuWDtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5ZID0gZXZ0LnNjcmVlblk7XG5cbiAgICAvLyBDYWxjdWxhdGUgcm90YXRpb24uXG4gICAgZGlyZWN0aW9uID0gdGhpcy5kYXRhLnJldmVyc2VNb3VzZURyYWcgPyAxIDogLTE7XG4gICAgeWF3T2JqZWN0LnJvdGF0aW9uLnkgKz0gbW92ZW1lbnRYICogMC4wMDIgKiBkaXJlY3Rpb247XG4gICAgcGl0Y2hPYmplY3Qucm90YXRpb24ueCArPSBtb3ZlbWVudFkgKiAwLjAwMiAqIGRpcmVjdGlvbjtcbiAgICBwaXRjaE9iamVjdC5yb3RhdGlvbi54ID0gTWF0aC5tYXgoLVBJXzIsIE1hdGgubWluKFBJXzIsIHBpdGNoT2JqZWN0LnJvdGF0aW9uLngpKTtcbiAgfSxcblxuICAvKipcbiAgICogUmVnaXN0ZXIgbW91c2UgZG93biB0byBkZXRlY3QgbW91c2UgZHJhZy5cbiAgICovXG4gIG9uTW91c2VEb3duOiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgaWYgKCF0aGlzLmRhdGEuZW5hYmxlZCB8fCAoc2NlbmVFbC5pcygndnItbW9kZScpICYmIHNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpKSB7IHJldHVybjsgfVxuICAgIC8vIEhhbmRsZSBvbmx5IHByaW1hcnkgYnV0dG9uLlxuICAgIGlmIChldnQuYnV0dG9uICE9PSAwKSB7IHJldHVybjsgfVxuXG4gICAgdmFyIGNhbnZhc0VsID0gc2NlbmVFbCAmJiBzY2VuZUVsLmNhbnZhcztcblxuICAgIHRoaXMubW91c2VEb3duID0gdHJ1ZTtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5YID0gZXZ0LnNjcmVlblg7XG4gICAgdGhpcy5wcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWSA9IGV2dC5zY3JlZW5ZO1xuICAgIHRoaXMuc2hvd0dyYWJiaW5nQ3Vyc29yKCk7XG5cbiAgICBpZiAodGhpcy5kYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCAmJiAhdGhpcy5wb2ludGVyTG9ja2VkKSB7XG4gICAgICBpZiAoY2FudmFzRWwucmVxdWVzdFBvaW50ZXJMb2NrKSB7XG4gICAgICAgIGNhbnZhc0VsLnJlcXVlc3RQb2ludGVyTG9jaygpO1xuICAgICAgfSBlbHNlIGlmIChjYW52YXNFbC5tb3pSZXF1ZXN0UG9pbnRlckxvY2spIHtcbiAgICAgICAgY2FudmFzRWwubW96UmVxdWVzdFBvaW50ZXJMb2NrKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBTaG93cyBncmFiYmluZyBjdXJzb3Igb24gc2NlbmVcbiAgICovXG4gIHNob3dHcmFiYmluZ0N1cnNvcjogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZWwuc2NlbmVFbC5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJztcbiAgfSxcblxuICAvKipcbiAgICogSGlkZXMgZ3JhYmJpbmcgY3Vyc29yIG9uIHNjZW5lXG4gICAqL1xuICBoaWRlR3JhYmJpbmdDdXJzb3I6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmVsLnNjZW5lRWwuY2FudmFzLnN0eWxlLmN1cnNvciA9ICcnO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBtb3VzZSB1cCB0byBkZXRlY3QgcmVsZWFzZSBvZiBtb3VzZSBkcmFnLlxuICAgKi9cbiAgb25Nb3VzZVVwOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB0aGlzLmhpZGVHcmFiYmluZ0N1cnNvcigpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0b3VjaCBkb3duIHRvIGRldGVjdCB0b3VjaCBkcmFnLlxuICAgKi9cbiAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgaWYgKGV2dC50b3VjaGVzLmxlbmd0aCAhPT0gMSB8fFxuICAgICAgICAhdGhpcy5kYXRhLnRvdWNoRW5hYmxlZCB8fFxuICAgICAgICB0aGlzLmVsLnNjZW5lRWwuaXMoJ3ZyLW1vZGUnKSkgeyByZXR1cm47IH1cbiAgICB0aGlzLnRvdWNoU3RhcnQgPSB7XG4gICAgICB4OiBldnQudG91Y2hlc1swXS5wYWdlWCxcbiAgICAgIHk6IGV2dC50b3VjaGVzWzBdLnBhZ2VZXG4gICAgfTtcbiAgICB0aGlzLnRvdWNoU3RhcnRlZCA9IHRydWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSB0b3VjaCBtb3ZlIHRvIFktYXhpcyByb3RhdGlvbi5cbiAgICovXG4gIG9uVG91Y2hNb3ZlOiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgdmFyIGRpcmVjdGlvbjtcbiAgICB2YXIgY2FudmFzID0gdGhpcy5lbC5zY2VuZUVsLmNhbnZhcztcbiAgICB2YXIgZGVsdGFZO1xuICAgIHZhciB5YXdPYmplY3QgPSB0aGlzLnlhd09iamVjdDtcblxuICAgIGlmICghdGhpcy50b3VjaFN0YXJ0ZWQgfHwgIXRoaXMuZGF0YS50b3VjaEVuYWJsZWQpIHsgcmV0dXJuOyB9XG5cbiAgICBkZWx0YVkgPSAyICogTWF0aC5QSSAqIChldnQudG91Y2hlc1swXS5wYWdlWCAtIHRoaXMudG91Y2hTdGFydC54KSAvIGNhbnZhcy5jbGllbnRXaWR0aDtcblxuICAgIGRpcmVjdGlvbiA9IHRoaXMuZGF0YS5yZXZlcnNlVG91Y2hEcmFnID8gMSA6IC0xO1xuICAgIC8vIExpbWl0IHRvdWNoIG9yaWVudGFpb24gdG8gdG8geWF3ICh5IGF4aXMpLlxuICAgIHlhd09iamVjdC5yb3RhdGlvbi55IC09IGRlbHRhWSAqIDAuNSAqIGRpcmVjdGlvbjtcbiAgICB0aGlzLnRvdWNoU3RhcnQgPSB7XG4gICAgICB4OiBldnQudG91Y2hlc1swXS5wYWdlWCxcbiAgICAgIHk6IGV2dC50b3VjaGVzWzBdLnBhZ2VZXG4gICAgfTtcbiAgfSxcblxuICAvKipcbiAgICogUmVnaXN0ZXIgdG91Y2ggZW5kIHRvIGRldGVjdCByZWxlYXNlIG9mIHRvdWNoIGRyYWcuXG4gICAqL1xuICBvblRvdWNoRW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy50b3VjaFN0YXJ0ZWQgPSBmYWxzZTtcbiAgfSxcblxuICAvKipcbiAgICogU2F2ZSBwb3NlLlxuICAgKi9cbiAgb25FbnRlclZSOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgaWYgKCFzY2VuZUVsLmNoZWNrSGVhZHNldENvbm5lY3RlZCgpKSB7IHJldHVybjsgfVxuICAgIHRoaXMuc2F2ZUNhbWVyYVBvc2UoKTtcbiAgICB0aGlzLmVsLm9iamVjdDNELnBvc2l0aW9uLnNldCgwLCAwLCAwKTtcbiAgICB0aGlzLmVsLm9iamVjdDNELnJvdGF0aW9uLnNldCgwLCAwLCAwKTtcbiAgICBpZiAoc2NlbmVFbC5oYXNXZWJYUikge1xuICAgICAgdGhpcy5lbC5vYmplY3QzRC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLmVsLm9iamVjdDNELnVwZGF0ZU1hdHJpeCgpO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogUmVzdG9yZSB0aGUgcG9zZS5cbiAgICovXG4gIG9uRXhpdFZSOiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLmVsLnNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5yZXN0b3JlQ2FtZXJhUG9zZSgpO1xuICAgIHRoaXMucHJldmlvdXNITURQb3NpdGlvbi5zZXQoMCwgMCwgMCk7XG4gICAgdGhpcy5lbC5vYmplY3QzRC5tYXRyaXhBdXRvVXBkYXRlID0gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogVXBkYXRlIFBvaW50ZXIgTG9jayBzdGF0ZS5cbiAgICovXG4gIG9uUG9pbnRlckxvY2tDaGFuZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnBvaW50ZXJMb2NrZWQgPSAhIShkb2N1bWVudC5wb2ludGVyTG9ja0VsZW1lbnQgfHwgZG9jdW1lbnQubW96UG9pbnRlckxvY2tFbGVtZW50KTtcbiAgfSxcblxuICAvKipcbiAgICogUmVjb3ZlciBmcm9tIFBvaW50ZXIgTG9jayBlcnJvci5cbiAgICovXG4gIG9uUG9pbnRlckxvY2tFcnJvcjogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucG9pbnRlckxvY2tlZCA9IGZhbHNlO1xuICB9LFxuXG4gIC8vIEV4aXRzIHBvaW50ZXItbG9ja2VkIG1vZGUuXG4gIGV4aXRQb2ludGVyTG9jazogZnVuY3Rpb24gKCkge1xuICAgIGRvY3VtZW50LmV4aXRQb2ludGVyTG9jaygpO1xuICAgIHRoaXMucG9pbnRlckxvY2tlZCA9IGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGZlYXR1cmUgb2Ygc2hvd2luZy9oaWRpbmcgdGhlIGdyYWIgY3Vyc29yLlxuICAgKi9cbiAgdXBkYXRlR3JhYkN1cnNvcjogZnVuY3Rpb24gKGVuYWJsZWQpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcblxuICAgIGZ1bmN0aW9uIGVuYWJsZUdyYWJDdXJzb3IgKCkgeyBzY2VuZUVsLmNhbnZhcy5jbGFzc0xpc3QuYWRkKCdhLWdyYWItY3Vyc29yJyk7IH1cbiAgICBmdW5jdGlvbiBkaXNhYmxlR3JhYkN1cnNvciAoKSB7IHNjZW5lRWwuY2FudmFzLmNsYXNzTGlzdC5yZW1vdmUoJ2EtZ3JhYi1jdXJzb3InKTsgfVxuXG4gICAgaWYgKCFzY2VuZUVsLmNhbnZhcykge1xuICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXItdGFyZ2V0LWxvYWRlZCcsIGVuYWJsZUdyYWJDdXJzb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXItdGFyZ2V0LWxvYWRlZCcsIGRpc2FibGVHcmFiQ3Vyc29yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgZW5hYmxlR3JhYkN1cnNvcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkaXNhYmxlR3JhYkN1cnNvcigpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBTYXZlIGNhbWVyYSBwb3NlIGJlZm9yZSBlbnRlcmluZyBWUiB0byByZXN0b3JlIGxhdGVyIGlmIGV4aXRpbmcuXG4gICAqL1xuICBzYXZlQ2FtZXJhUG9zZTogZnVuY3Rpb24gKCkge1xuICAgIHZhciBlbCA9IHRoaXMuZWw7XG5cbiAgICB0aGlzLnNhdmVkUG9zZS5wb3NpdGlvbi5jb3B5KGVsLm9iamVjdDNELnBvc2l0aW9uKTtcbiAgICB0aGlzLnNhdmVkUG9zZS5yb3RhdGlvbi5jb3B5KGVsLm9iamVjdDNELnJvdGF0aW9uKTtcbiAgICB0aGlzLmhhc1NhdmVkUG9zZSA9IHRydWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhbWVyYSBwb3NlIHRvIGJlZm9yZSBlbnRlcmluZyBWUi5cbiAgICovXG4gIHJlc3RvcmVDYW1lcmFQb3NlOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGVsID0gdGhpcy5lbDtcbiAgICB2YXIgc2F2ZWRQb3NlID0gdGhpcy5zYXZlZFBvc2U7XG5cbiAgICBpZiAoIXRoaXMuaGFzU2F2ZWRQb3NlKSB7IHJldHVybjsgfVxuXG4gICAgLy8gUmVzZXQgY2FtZXJhIG9yaWVudGF0aW9uLlxuICAgIGVsLm9iamVjdDNELnBvc2l0aW9uLmNvcHkoc2F2ZWRQb3NlLnBvc2l0aW9uKTtcbiAgICBlbC5vYmplY3QzRC5yb3RhdGlvbi5jb3B5KHNhdmVkUG9zZS5yb3RhdGlvbik7XG4gICAgdGhpcy5oYXNTYXZlZFBvc2UgPSBmYWxzZTtcbiAgfVxufSk7XG4iLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnYXJqcy13ZWJjYW0tdGV4dHVyZScsIHtcblxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnNjZW5lID0gdGhpcy5lbC5zY2VuZUVsO1xuICAgICAgICB0aGlzLnRleENhbWVyYSA9IG5ldyBUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmEoLTAuNSwgMC41LCAwLjUsIC0wLjUsIDAsIDEwKTtcbiAgICAgICAgdGhpcy50ZXhTY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuXG4gICAgICAgIHRoaXMuc2NlbmUucmVuZGVyZXIuYXV0b0NsZWFyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidmlkZW9cIik7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwiYXV0b3BsYXlcIiwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwicGxheXNpbmxpbmVcIiwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy52aWRlbyk7XG4gICAgICAgIHRoaXMuZ2VvbSA9IG5ldyBUSFJFRS5QbGFuZUJ1ZmZlckdlb21ldHJ5KCk7IC8vMC41LCAwLjUpO1xuICAgICAgICB0aGlzLnRleHR1cmUgPSBuZXcgVEhSRUUuVmlkZW9UZXh0dXJlKHRoaXMudmlkZW8pO1xuICAgICAgICB0aGlzLm1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKCB7IG1hcDogdGhpcy50ZXh0dXJlIH0gKTtcbiAgICAgICAgY29uc3QgbWVzaCA9IG5ldyBUSFJFRS5NZXNoKHRoaXMuZ2VvbSwgdGhpcy5tYXRlcmlhbCk7XG4gICAgICAgIHRoaXMudGV4U2NlbmUuYWRkKG1lc2gpO1xuICAgIH0sXG5cbiAgICBwbGF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyAmJiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSkge1xuICAgICAgICAgICAgY29uc3QgY29uc3RyYWludHMgPSB7IHZpZGVvOiB7XG4gICAgICAgICAgICAgICAgZmFjaW5nTW9kZTogJ2Vudmlyb25tZW50JyB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMpLnRoZW4oIHN0cmVhbT0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvLnNyY09iamVjdCA9IHN0cmVhbTsgICAgXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlby5wbGF5KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGUgPT4geyAgXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoYFdlYmNhbSBlcnJvcjogJHtlfWApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnc29ycnkgLSBtZWRpYSBkZXZpY2VzIEFQSSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgdGljazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuc2NlbmUucmVuZGVyZXIuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zY2VuZS5yZW5kZXJlci5yZW5kZXIodGhpcy50ZXhTY2VuZSwgdGhpcy50ZXhDYW1lcmEpO1xuICAgICAgICB0aGlzLnNjZW5lLnJlbmRlcmVyLmNsZWFyRGVwdGgoKTtcbiAgICB9LFxuXG4gICAgcGF1c2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnZpZGVvLnNyY09iamVjdC5nZXRUcmFja3MoKS5mb3JFYWNoICggdHJhY2sgPT4ge1xuICAgICAgICAgICAgdHJhY2suc3RvcCgpO1xuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgcmVtb3ZlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMudGV4dHVyZS5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuZ2VvbS5kaXNwb3NlKCk7XG4gICAgfVxufSk7XG4iLCIvKlxuICogVVBEQVRFUyAyOC8wOC8yMDpcbiAqXG4gKiAtIGFkZCBncHNNaW5EaXN0YW5jZSBhbmQgZ3BzVGltZUludGVydmFsIHByb3BlcnRpZXMgdG8gY29udHJvbCBob3dcbiAqIGZyZXF1ZW50bHkgR1BTIHVwZGF0ZXMgYXJlIHByb2Nlc3NlZC4gQWltIGlzIHRvIHByZXZlbnQgJ3N0dXR0ZXJpbmcnXG4gKiBlZmZlY3RzIHdoZW4gY2xvc2UgdG8gQVIgY29udGVudCBkdWUgdG8gY29udGludW91cyBzbWFsbCBjaGFuZ2VzIGluXG4gKiBsb2NhdGlvbi5cbiAqL1xuXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdncHMtY2FtZXJhJywge1xuICAgIF93YXRjaFBvc2l0aW9uSWQ6IG51bGwsXG4gICAgb3JpZ2luQ29vcmRzOiBudWxsLFxuICAgIGN1cnJlbnRDb29yZHM6IG51bGwsXG4gICAgbG9va0NvbnRyb2xzOiBudWxsLFxuICAgIGhlYWRpbmc6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIHNpbXVsYXRlTGF0aXR1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgc2ltdWxhdGVMb25naXR1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgc2ltdWxhdGVBbHRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBwb3NpdGlvbk1pbkFjY3VyYWN5OiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgICAgYWxlcnQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBtaW5EaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ2ludCcsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBtYXhEaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ2ludCcsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBncHNNaW5EaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiA1LFxuICAgICAgICB9LFxuICAgICAgICBncHNUaW1lSW50ZXJ2YWw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcblxuICAgICAgICAgICAgLy8gcmUtdHJpZ2dlciBpbml0aWFsaXphdGlvbiBmb3IgbmV3IG9yaWdpblxuICAgICAgICAgICAgdGhpcy5vcmlnaW5Db29yZHMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24gKCkgeyAgICAgIFxuICAgICAgICBpZiAoIXRoaXMuZWwuY29tcG9uZW50c1snYXJqcy1sb29rLWNvbnRyb2xzJ10gJiYgIXRoaXMuZWwuY29tcG9uZW50c1snbG9vay1jb250cm9scyddKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIGxhdGl0dWRlOiAwLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiAwXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2FkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgdGhpcy5sb2FkZXIuY2xhc3NMaXN0LmFkZCgnYXJqcy1sb2FkZXInKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmxvYWRlcik7XG5cbiAgICAgICAgdGhpcy5vbkdwc0VudGl0eVBsYWNlQWRkZWQgPSB0aGlzLl9vbkdwc0VudGl0eVBsYWNlQWRkZWQuYmluZCh0aGlzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1lbnRpdHktcGxhY2UtYWRkZWQnLCB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCk7XG5cbiAgICAgICAgdGhpcy5sb29rQ29udHJvbHMgPSB0aGlzLmVsLmNvbXBvbmVudHNbJ2FyanMtbG9vay1jb250cm9scyddIHx8IHRoaXMuZWwuY29tcG9uZW50c1snbG9vay1jb250cm9scyddO1xuXG4gICAgICAgIC8vIGxpc3RlbiB0byBkZXZpY2VvcmllbnRhdGlvbiBldmVudFxuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbiA9IHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24uYmluZCh0aGlzKTtcblxuICAgICAgICAvLyBpZiBTYWZhcmlcbiAgICAgICAgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVmVyc2lvblxcL1tcXGQuXSsuKlNhZmFyaS8pKSB7XG4gICAgICAgICAgICAvLyBpT1MgMTMrXG4gICAgICAgICAgICBpZiAodHlwZW9mIERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlcXVlc3RpbmcgZGV2aWNlIG9yaWVudGF0aW9uIHBlcm1pc3Npb25zLi4uJylcbiAgICAgICAgICAgICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGZ1bmN0aW9uICgpIHsgaGFuZGxlcigpIH0sIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCAnQWZ0ZXIgY2FtZXJhIHBlcm1pc3Npb24gcHJvbXB0LCBwbGVhc2UgdGFwIHRoZSBzY3JlZW4gdG8gYWN0aXZhdGUgZ2VvbG9jYXRpb24uJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciB0aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgZW5hYmxlIGRldmljZSBvcmllbnRhdGlvbiBpbiBTZXR0aW5ncyA+IFNhZmFyaSA+IE1vdGlvbiAmIE9yaWVudGF0aW9uIEFjY2Vzcy4nKTtcbiAgICAgICAgICAgICAgICB9LCA3NTApO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlICE9PSAwICYmIHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRDb29yZHMgfHwge30pO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sb25naXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGU7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3dhdGNoUG9zaXRpb25JZCA9IHRoaXMuX2luaXRXYXRjaEdQUyhmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB2YXIgbG9jYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZTogcG9zaXRpb24uY29vcmRzLmFsdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeTogcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5LFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZUFjY3VyYWN5OiBwb3NpdGlvbi5jb29yZHMuYWx0aXR1ZGVBY2N1cmFjeSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcbiAgICAgICAgICAgICAgICB2YXIgZGlzdE1vdmVkID0gdGhpcy5faGF2ZXJzaW5lRGlzdChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3Jkc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZihkaXN0TW92ZWQgPj0gdGhpcy5kYXRhLmdwc01pbkRpc3RhbmNlIHx8ICF0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHRpY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuaGVhZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvdGF0aW9uKCk7XG4gICAgfSxcblxuICAgIHBhdXNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dhdGNoUG9zaXRpb25JZCkge1xuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fd2F0Y2hQb3NpdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSBudWxsO1xuICAgIH0sXG5cbiAgICByZW1vdmU6IGZ1bmN0aW9uICgpIHtcblxuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uLCBmYWxzZSk7XG5cbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dwcy1lbnRpdHktcGxhY2UtYWRkZWQnLCB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQgbmFtZSwgZGVwZW5kcyBvbiBicm93c2VyIGltcGxlbWVudGF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGV2ZW50IG5hbWVcbiAgICAgKi9cbiAgICBfZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJ1xuICAgICAgICB9IGVsc2UgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uJyBpbiB3aW5kb3cpIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnZGV2aWNlb3JpZW50YXRpb24nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJydcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvbXBhc3Mgbm90IHN1cHBvcnRlZCcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXZlbnROYW1lXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBjdXJyZW50IHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvblN1Y2Nlc3NcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkVycm9yXG4gICAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAgICovXG4gICAgX2luaXRXYXRjaEdQUzogZnVuY3Rpb24gKG9uU3VjY2Vzcywgb25FcnJvcikge1xuICAgICAgICBpZiAoIW9uRXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdFUlJPUignICsgZXJyLmNvZGUgKyAnKTogJyArIGVyci5tZXNzYWdlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFVzZXIgZGVuaWVkIEdlb0xvY2F0aW9uLCBsZXQgdGhlaXIga25vdyB0aGF0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgYWN0aXZhdGUgR2VvbG9jYXRpb24gYW5kIHJlZnJlc2ggdGhlIHBhZ2UuIElmIGl0IGlzIGFscmVhZHkgYWN0aXZlLCBwbGVhc2UgY2hlY2sgcGVybWlzc2lvbnMgZm9yIHRoaXMgd2Vic2l0ZS4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnQ2Fubm90IHJldHJpZXZlIEdQUyBwb3NpdGlvbi4gU2lnbmFsIGlzIGFic2VudC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvbkVycm9yKHsgY29kZTogMCwgbWVzc2FnZTogJ0dlb2xvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyJyB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9HZW9sb2NhdGlvbi93YXRjaFBvc2l0aW9uXG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihvblN1Y2Nlc3MsIG9uRXJyb3IsIHtcbiAgICAgICAgICAgIGVuYWJsZUhpZ2hBY2N1cmFjeTogdHJ1ZSxcbiAgICAgICAgICAgIG1heGltdW1BZ2U6IHRoaXMuZGF0YS5ncHNUaW1lSW50ZXJ2YWwsXG4gICAgICAgICAgICB0aW1lb3V0OiAyNzAwMCxcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIGRvbid0IHVwZGF0ZSBpZiBhY2N1cmFjeSBpcyBub3QgZ29vZCBlbm91Z2hcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudENvb3Jkcy5hY2N1cmFjeSA+IHRoaXMuZGF0YS5wb3NpdGlvbk1pbkFjY3VyYWN5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmFsZXJ0ICYmICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtcG9wdXAnKSkge1xuICAgICAgICAgICAgICAgIHZhciBwb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgIHBvcHVwLmlubmVySFRNTCA9ICdHUFMgc2lnbmFsIGlzIHZlcnkgcG9vci4gVHJ5IG1vdmUgb3V0ZG9vciBvciB0byBhbiBhcmVhIHdpdGggYSBiZXR0ZXIgc2lnbmFsLidcbiAgICAgICAgICAgICAgICBwb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2FsZXJ0LXBvcHVwJyk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYWxlcnRQb3B1cCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1wb3B1cCcpO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29vcmRzLmFjY3VyYWN5IDw9IHRoaXMuZGF0YS5wb3NpdGlvbk1pbkFjY3VyYWN5ICYmIGFsZXJ0UG9wdXApIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYWxlcnRQb3B1cCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICAvLyBmaXJzdCBjYW1lcmEgaW5pdGlhbGl6YXRpb25cbiAgICAgICAgICAgIHRoaXMub3JpZ2luQ29vcmRzID0gdGhpcy5jdXJyZW50Q29vcmRzO1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcblxuICAgICAgICAgICAgdmFyIGxvYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcmpzLWxvYWRlcicpO1xuICAgICAgICAgICAgaWYgKGxvYWRlcikge1xuICAgICAgICAgICAgICAgIGxvYWRlci5yZW1vdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgX3NldFBvc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgICAgIC8vIGNvbXB1dGUgcG9zaXRpb24ueFxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IHRoaXMub3JpZ2luQ29vcmRzLmxhdGl0dWRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHBvc2l0aW9uLnggPSB0aGlzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyh0aGlzLm9yaWdpbkNvb3JkcywgZHN0Q29vcmRzKTtcbiAgICAgICAgcG9zaXRpb24ueCAqPSB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlID4gdGhpcy5vcmlnaW5Db29yZHMubG9uZ2l0dWRlID8gMSA6IC0xO1xuXG4gICAgICAgIC8vIGNvbXB1dGUgcG9zaXRpb24uelxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLm9yaWdpbkNvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLFxuICAgICAgICB9XG5cbiAgICAgICAgcG9zaXRpb24ueiA9IHRoaXMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKHRoaXMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuICAgICAgICBwb3NpdGlvbi56ICo9IHRoaXMuY3VycmVudENvb3Jkcy5sYXRpdHVkZSA+IHRoaXMub3JpZ2luQ29vcmRzLmxhdGl0dWRlID8gLTEgOiAxO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvblxuICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG5cbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHsgZGV0YWlsOiB7IHBvc2l0aW9uOiB0aGlzLmN1cnJlbnRDb29yZHMsIG9yaWdpbjogdGhpcy5vcmlnaW5Db29yZHMgfSB9KSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRpc3RhbmNlIGluIG1ldGVycyBiZXR3ZWVuIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gaW5wdXRzLlxuICAgICAqXG4gICAgICogIENhbGN1bGF0ZSBkaXN0YW5jZSwgYmVhcmluZyBhbmQgbW9yZSBiZXR3ZWVuIExhdGl0dWRlL0xvbmdpdHVkZSBwb2ludHNcbiAgICAgKiAgRGV0YWlsczogaHR0cHM6Ly93d3cubW92YWJsZS10eXBlLmNvLnVrL3NjcmlwdHMvbGF0bG9uZy5odG1sXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1Bvc2l0aW9ufSBzcmNcbiAgICAgKiBAcGFyYW0ge1Bvc2l0aW9ufSBkZXN0XG4gICAgICogQHBhcmFtIHtCb29sZWFufSBpc1BsYWNlXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBkaXN0YW5jZSB8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICovXG4gICAgY29tcHV0ZURpc3RhbmNlTWV0ZXJzOiBmdW5jdGlvbiAoc3JjLCBkZXN0LCBpc1BsYWNlKSB7XG4gICAgICAgIHZhciBkaXN0YW5jZSA9IHRoaXMuX2hhdmVyc2luZURpc3QgKHNyYywgZGVzdCk7XG5cbiAgICAgICAgLy8gaWYgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkIGZvciBhIHBsYWNlLCBhbmQgaWYgaXQncyB0b28gbmVhciBhbmQgYSBtaW4gZGlzdGFuY2UgaGFzIGJlZW4gc2V0LFxuICAgICAgICAvLyByZXR1cm4gbWF4IGRpc3RhbmNlIHBvc3NpYmxlIC0gdG8gYmUgaGFuZGxlZCBieSB0aGUgY2FsbGVyXG4gICAgICAgIGlmIChpc1BsYWNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSAmJiB0aGlzLmRhdGEubWluRGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlIDwgdGhpcy5kYXRhLm1pbkRpc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQgZm9yIGEgcGxhY2UsIGFuZCBpZiBpdCdzIHRvbyBmYXIgYW5kIGEgbWF4IGRpc3RhbmNlIGhhcyBiZWVuIHNldCxcbiAgICAgICAgLy8gcmV0dXJuIG1heCBkaXN0YW5jZSBwb3NzaWJsZSAtIHRvIGJlIGhhbmRsZWQgYnkgdGhlIGNhbGxlclxuICAgICAgICBpZiAoaXNQbGFjZSAmJiB0aGlzLmRhdGEubWF4RGlzdGFuY2UgJiYgdGhpcy5kYXRhLm1heERpc3RhbmNlID4gMCAmJiBkaXN0YW5jZSA+IHRoaXMuZGF0YS5tYXhEaXN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlO1xuICAgIH0sXG5cbiAgICBfaGF2ZXJzaW5lRGlzdDogZnVuY3Rpb24gKHNyYywgZGVzdCkge1xuICAgICAgICB2YXIgZGxvbmdpdHVkZSA9IFRIUkVFLk1hdGguZGVnVG9SYWQoZGVzdC5sb25naXR1ZGUgLSBzcmMubG9uZ2l0dWRlKTtcbiAgICAgICAgdmFyIGRsYXRpdHVkZSA9IFRIUkVFLk1hdGguZGVnVG9SYWQoZGVzdC5sYXRpdHVkZSAtIHNyYy5sYXRpdHVkZSk7XG5cbiAgICAgICAgdmFyIGEgPSAoTWF0aC5zaW4oZGxhdGl0dWRlIC8gMikgKiBNYXRoLnNpbihkbGF0aXR1ZGUgLyAyKSkgKyBNYXRoLmNvcyhUSFJFRS5NYXRoLmRlZ1RvUmFkKHNyYy5sYXRpdHVkZSkpICogTWF0aC5jb3MoVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxhdGl0dWRlKSkgKiAoTWF0aC5zaW4oZGxvbmdpdHVkZSAvIDIpICogTWF0aC5zaW4oZGxvbmdpdHVkZSAvIDIpKTtcbiAgICAgICAgdmFyIGFuZ2xlID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcbiAgICAgICAgcmV0dXJuIGFuZ2xlICogNjM3MTAwMDtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBjb21wYXNzIGhlYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYmV0YVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBnYW1tYVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gY29tcGFzcyBoZWFkaW5nXG4gICAgICovXG4gICAgX2NvbXB1dGVDb21wYXNzSGVhZGluZzogZnVuY3Rpb24gKGFscGhhLCBiZXRhLCBnYW1tYSkge1xuXG4gICAgICAgIC8vIENvbnZlcnQgZGVncmVlcyB0byByYWRpYW5zXG4gICAgICAgIHZhciBhbHBoYVJhZCA9IGFscGhhICogKE1hdGguUEkgLyAxODApO1xuICAgICAgICB2YXIgYmV0YVJhZCA9IGJldGEgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHZhciBnYW1tYVJhZCA9IGdhbW1hICogKE1hdGguUEkgLyAxODApO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBlcXVhdGlvbiBjb21wb25lbnRzXG4gICAgICAgIHZhciBjQSA9IE1hdGguY29zKGFscGhhUmFkKTtcbiAgICAgICAgdmFyIHNBID0gTWF0aC5zaW4oYWxwaGFSYWQpO1xuICAgICAgICB2YXIgc0IgPSBNYXRoLnNpbihiZXRhUmFkKTtcbiAgICAgICAgdmFyIGNHID0gTWF0aC5jb3MoZ2FtbWFSYWQpO1xuICAgICAgICB2YXIgc0cgPSBNYXRoLnNpbihnYW1tYVJhZCk7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIEEsIEIsIEMgcm90YXRpb24gY29tcG9uZW50c1xuICAgICAgICB2YXIgckEgPSAtIGNBICogc0cgLSBzQSAqIHNCICogY0c7XG4gICAgICAgIHZhciByQiA9IC0gc0EgKiBzRyArIGNBICogc0IgKiBjRztcblxuICAgICAgICAvLyBDYWxjdWxhdGUgY29tcGFzcyBoZWFkaW5nXG4gICAgICAgIHZhciBjb21wYXNzSGVhZGluZyA9IE1hdGguYXRhbihyQSAvIHJCKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGZyb20gaGFsZiB1bml0IGNpcmNsZSB0byB3aG9sZSB1bml0IGNpcmNsZVxuICAgICAgICBpZiAockIgPCAwKSB7XG4gICAgICAgICAgICBjb21wYXNzSGVhZGluZyArPSBNYXRoLlBJO1xuICAgICAgICB9IGVsc2UgaWYgKHJBIDwgMCkge1xuICAgICAgICAgICAgY29tcGFzc0hlYWRpbmcgKz0gMiAqIE1hdGguUEk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb252ZXJ0IHJhZGlhbnMgdG8gZGVncmVlc1xuICAgICAgICBjb21wYXNzSGVhZGluZyAqPSAxODAgLyBNYXRoLlBJO1xuXG4gICAgICAgIHJldHVybiBjb21wYXNzSGVhZGluZztcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlciBmb3IgZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfb25EZXZpY2VPcmllbnRhdGlvbjogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC53ZWJraXRDb21wYXNzSGVhZGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5IDwgNTApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRpbmcgPSBldmVudC53ZWJraXRDb21wYXNzSGVhZGluZztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCd3ZWJraXRDb21wYXNzQWNjdXJhY3kgaXMgZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYWxwaGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5hYnNvbHV0ZSA9PT0gdHJ1ZSB8fCBldmVudC5hYnNvbHV0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkaW5nID0gdGhpcy5fY29tcHV0ZUNvbXBhc3NIZWFkaW5nKGV2ZW50LmFscGhhLCBldmVudC5iZXRhLCBldmVudC5nYW1tYSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignZXZlbnQuYWJzb2x1dGUgPT09IGZhbHNlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ2V2ZW50LmFscGhhID09PSBudWxsJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHVzZXIgcm90YXRpb24gZGF0YS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF91cGRhdGVSb3RhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaGVhZGluZyA9IDM2MCAtIHRoaXMuaGVhZGluZztcbiAgICAgICAgdmFyIGNhbWVyYVJvdGF0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3JvdGF0aW9uJykueTtcbiAgICAgICAgdmFyIHlhd1JvdGF0aW9uID0gVEhSRUUuTWF0aC5yYWRUb0RlZyh0aGlzLmxvb2tDb250cm9scy55YXdPYmplY3Qucm90YXRpb24ueSk7XG4gICAgICAgIHZhciBvZmZzZXQgPSAoaGVhZGluZyAtIChjYW1lcmFSb3RhdGlvbiAtIHlhd1JvdGF0aW9uKSkgJSAzNjA7XG4gICAgICAgIHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55ID0gVEhSRUUuTWF0aC5kZWdUb1JhZChvZmZzZXQpO1xuICAgIH0sXG4gICAgXG4gICAgX29uR3BzRW50aXR5UGxhY2VBZGRlZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIGlmIHBsYWNlcyBhcmUgYWRkZWQgYWZ0ZXIgY2FtZXJhIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkXG4gICAgICAgIGlmICh0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLW9yaWdpbi1jb29yZC1zZXQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubG9hZGVyICYmIHRoaXMubG9hZGVyLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5sb2FkZXIpXG4gICAgICAgIH1cbiAgICB9XG59KTsiLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdncHMtZW50aXR5LXBsYWNlJywge1xuICAgIF9jYW1lcmFHcHM6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIGxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBsYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBjbGVhbmluZyBsaXN0ZW5lcnMgd2hlbiB0aGUgZW50aXR5IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLW9yaWdpbi1jb29yZC1zZXQnLCB0aGlzLmNvb3JkU2V0TGlzdGVuZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZ3BzLWNhbWVyYS11cGRhdGUtcG9zaXRpb24nLCB0aGlzLnVwZGF0ZVBvc2l0aW9uTGlzdGVuZXIpO1xuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuY29vcmRTZXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhbWVyYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tncHMtY2FtZXJhXScpO1xuICAgICAgICAgICAgICAgIGlmICghY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1jYW1lcmEnXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdncHMtY2FtZXJhIG5vdCBpbml0aWFsaXplZCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FtZXJhR3BzID0gY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1jYW1lcmEnXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyID0gKGV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YSB8fCAhdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5kYXRhLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5kYXRhLmxhdGl0dWRlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gaXQncyBhY3R1YWxseSBhICdkaXN0YW5jZSBwbGFjZScsIGJ1dCB3ZSBkb24ndCBjYWxsIGl0IHdpdGggbGFzdCBwYXJhbSwgYmVjYXVzZSB3ZSB3YW50IHRvIHJldHJpZXZlIGRpc3RhbmNlIGV2ZW4gaWYgaXQncyA8IG1pbkRpc3RhbmNlIHByb3BlcnR5XG4gICAgICAgICAgICB2YXIgZGlzdGFuY2VGb3JNc2cgPSB0aGlzLl9jYW1lcmFHcHMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKGV2LmRldGFpbC5wb3NpdGlvbiwgZHN0Q29vcmRzKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlJywgZGlzdGFuY2VGb3JNc2cpO1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlTXNnJywgZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2VGb3JNc2cpKTtcbiAgICAgICAgICAgIHRoaXMuZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1lbnRpdHktcGxhY2UtdXBkYXRlLXBvc2l0aW9uJywgeyBkZXRhaWw6IHsgZGlzdGFuY2U6IGRpc3RhbmNlRm9yTXNnIH0gfSkpO1xuXG4gICAgICAgICAgICB2YXIgYWN0dWFsRGlzdGFuY2UgPSB0aGlzLl9jYW1lcmFHcHMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKGV2LmRldGFpbC5wb3NpdGlvbiwgZHN0Q29vcmRzLCB0cnVlKTtcblxuICAgICAgICAgICAgaWYgKGFjdHVhbERpc3RhbmNlID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGb3JNaW5EaXN0YW5jZSh0aGlzLmVsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcsIHRoaXMuY29vcmRTZXRMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5fcG9zaXRpb25YRGVidWcgPSAwO1xuXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHsgZGV0YWlsOiB7IGNvbXBvbmVudDogdGhpcy5lbCB9IH0pKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEhpZGUgZW50aXR5IGFjY29yZGluZyB0byBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIGhpZGVGb3JNaW5EaXN0YW5jZTogZnVuY3Rpb24oZWwsIGhpZGVFbnRpdHkpIHtcbiAgICAgICAgaWYgKGhpZGVFbnRpdHkpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndmlzaWJsZScsICdmYWxzZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHBsYWNlIHBvc2l0aW9uXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0geyB4OiAwLCB5OiB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKS55IHx8IDAsIHo6IDAgfVxuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbi54XG4gICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuZGF0YS5sb25naXR1ZGUsXG4gICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgfTtcblxuICAgICAgICBwb3NpdGlvbi54ID0gdGhpcy5fY2FtZXJhR3BzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyh0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuXG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uWERlYnVnID0gcG9zaXRpb24ueDtcblxuICAgICAgICBwb3NpdGlvbi54ICo9IHRoaXMuZGF0YS5sb25naXR1ZGUgPiB0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLmxvbmdpdHVkZSA/IDEgOiAtMTtcblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb24uelxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmRhdGEubGF0aXR1ZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcG9zaXRpb24ueiA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnModGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3JkcywgZHN0Q29vcmRzKTtcblxuICAgICAgICBwb3NpdGlvbi56ICo9IHRoaXMuZGF0YS5sYXRpdHVkZSA+IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMubGF0aXR1ZGUgPyAtMSA6IDE7XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uLnkgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBhbHRpdHVkZSA9IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMuYWx0aXR1ZGUgIT09IHVuZGVmaW5lZCA/IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMuYWx0aXR1ZGUgOiAwO1xuICAgICAgICAgICAgcG9zaXRpb24ueSA9IHBvc2l0aW9uLnkgLSBhbHRpdHVkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVwZGF0ZSBlbGVtZW50J3MgcG9zaXRpb24gaW4gM0Qgd29ybGRcbiAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgcG9zaXRpb24pO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBGb3JtYXQgZGlzdGFuY2VzIHN0cmluZ1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXN0YW5jZVxuICovXG5mdW5jdGlvbiBmb3JtYXREaXN0YW5jZShkaXN0YW5jZSkge1xuICAgIGRpc3RhbmNlID0gZGlzdGFuY2UudG9GaXhlZCgwKTtcblxuICAgIGlmIChkaXN0YW5jZSA+PSAxMDAwKSB7XG4gICAgICAgIHJldHVybiAoZGlzdGFuY2UgLyAxMDAwKSArICcga2lsb21ldGVycyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpc3RhbmNlICsgJyBtZXRlcnMnO1xufTtcbiIsIi8qKiBncHMtcHJvamVjdGVkLWNhbWVyYVxuICpcbiAqIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBncHMtY2FtZXJhLCBtb2RpZmllZCBieSBuaWNrdyAwMi8wNC8yMFxuICpcbiAqIFJhdGhlciB0aGFuIGtlZXBpbmcgdHJhY2sgb2YgcG9zaXRpb24gYnkgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mXG4gKiBlbnRpdGllcyBvciB0aGUgY3VycmVudCBsb2NhdGlvbiB0byB0aGUgb3JpZ2luYWwgbG9jYXRpb24sIHRoaXMgdmVyc2lvblxuICogbWFrZXMgdXNlIG9mIHRoZSBcIkdvb2dsZVwiIFNwaGVyaWNhbCBNZXJjYWN0b3IgcHJvamVjdGlvbiwgYWthIGVwc2c6Mzg1Ny5cbiAqXG4gKiBUaGUgb3JpZ2luYWwgcG9zaXRpb24gKGxhdC9sb24pIGlzIHByb2plY3RlZCBpbnRvIFNwaGVyaWNhbCBNZXJjYXRvciBhbmRcbiAqIHN0b3JlZC5cbiAqXG4gKiBUaGVuLCB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcG9zaXRpb24gKGxhdC9sb24pLCB0aGlzIG5ldyBwb3NpdGlvbiBpc1xuICogcHJvamVjdGVkIGludG8gU3BoZXJpY2FsIE1lcmNhdG9yIGFuZCB0aGVuIGl0cyB3b3JsZCBwb3NpdGlvbiBjYWxjdWxhdGVkXG4gKiBieSBjb21wYXJpbmcgYWdhaW5zdCB0aGUgb3JpZ2luYWwgcG9zaXRpb24uXG4gKlxuICogVGhlIHNhbWUgaXMgYWxzbyB0aGUgY2FzZSBmb3IgJ2VudGl0eS1wbGFjZXMnOyB3aGVuIHRoZXNlIGFyZSBhZGRlZCwgdGhlaXJcbiAqIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZHMgYXJlIGNhbGN1bGF0ZWQgKHNlZSBncHMtcHJvamVjdGVkLWVudGl0eS1wbGFjZSkuXG4gKlxuICogU3BoZXJpY2FsIE1lcmNhdG9yIHVuaXRzIGFyZSBjbG9zZSB0bywgYnV0IG5vdCBleGFjdGx5LCBtZXRyZXMsIGFuZCBhcmVcbiAqIGhlYXZpbHkgZGlzdG9ydGVkIG5lYXIgdGhlIHBvbGVzLiBOb25ldGhlbGVzcyB0aGV5IGFyZSBhIGdvb2QgYXBwcm94aW1hdGlvblxuICogZm9yIG1hbnkgYXJlYXMgb2YgdGhlIHdvcmxkIGFuZCBhcHBlYXIgbm90IHRvIGNhdXNlIHVuYWNjZXB0YWJsZSBkaXN0b3J0aW9uc1xuICogd2hlbiB1c2VkIGFzIHRoZSB1bml0cyBmb3IgQVIgYXBwcy5cbiAqXG4gKiBVUERBVEVTIDI4LzA4LzIwOlxuICpcbiAqIC0gYWRkIGdwc01pbkRpc3RhbmNlIGFuZCBncHNUaW1lSW50ZXJ2YWwgcHJvcGVydGllcyB0byBjb250cm9sIGhvd1xuICogZnJlcXVlbnRseSBHUFMgdXBkYXRlcyBhcmUgcHJvY2Vzc2VkLiBBaW0gaXMgdG8gcHJldmVudCAnc3R1dHRlcmluZydcbiAqIGVmZmVjdHMgd2hlbiBjbG9zZSB0byBBUiBjb250ZW50IGR1ZSB0byBjb250aW51b3VzIHNtYWxsIGNoYW5nZXMgaW5cbiAqIGxvY2F0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnZ3BzLXByb2plY3RlZC1jYW1lcmEnLCB7XG4gICAgX3dhdGNoUG9zaXRpb25JZDogbnVsbCxcbiAgICBvcmlnaW5Db29yZHM6IG51bGwsIC8vIG9yaWdpbmFsIGNvb3JkcyBub3cgaW4gU3BoZXJpY2FsIE1lcmNhdG9yXG4gICAgY3VycmVudENvb3JkczogbnVsbCxcbiAgICBsb29rQ29udHJvbHM6IG51bGwsXG4gICAgaGVhZGluZzogbnVsbCxcbiAgICBzY2hlbWE6IHtcbiAgICAgICAgc2ltdWxhdGVMYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUFsdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvc2l0aW9uTWluQWNjdXJhY3k6IHtcbiAgICAgICAgICAgIHR5cGU6ICdpbnQnLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwLFxuICAgICAgICB9LFxuICAgICAgICBhbGVydDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG1pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGdwc01pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICAgICAgZ3BzVGltZUludGVydmFsOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcblxuICAgICAgICAgICAgLy8gcmUtdHJpZ2dlciBpbml0aWFsaXphdGlvbiBmb3IgbmV3IG9yaWdpblxuICAgICAgICAgICAgdGhpcy5vcmlnaW5Db29yZHMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5lbC5jb21wb25lbnRzWydhcmpzLWxvb2stY29udHJvbHMnXSAmJiAhdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ10pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgbGF0aXR1ZGU6IDAsXG4gICAgICAgICAgICBsb25naXR1ZGU6IDBcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxvYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICB0aGlzLmxvYWRlci5jbGFzc0xpc3QuYWRkKCdhcmpzLWxvYWRlcicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMubG9hZGVyKTtcblxuICAgICAgICB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCA9IHRoaXMuX29uR3BzRW50aXR5UGxhY2VBZGRlZC5iaW5kKHRoaXMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHRoaXMub25HcHNFbnRpdHlQbGFjZUFkZGVkKTtcblxuICAgICAgICB0aGlzLmxvb2tDb250cm9scyA9IHRoaXMuZWwuY29tcG9uZW50c1snYXJqcy1sb29rLWNvbnRyb2xzJ10gfHwgdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ107XG5cbiAgICAgICAgLy8gbGlzdGVuIHRvIGRldmljZW9yaWVudGF0aW9uIGV2ZW50XG4gICAgICAgIHZhciBldmVudE5hbWUgPSB0aGlzLl9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZSgpO1xuICAgICAgICB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uID0gdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbi5iaW5kKHRoaXMpO1xuXG4gICAgICAgIC8vIGlmIFNhZmFyaVxuICAgICAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9WZXJzaW9uXFwvW1xcZC5dKy4qU2FmYXJpLykpIHtcbiAgICAgICAgICAgIC8vIGlPUyAxMytcbiAgICAgICAgICAgIGlmICh0eXBlb2YgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGRldmljZSBvcmllbnRhdGlvbiBwZXJtaXNzaW9ucy4uLicpXG4gICAgICAgICAgICAgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24oKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBoYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBmdW5jdGlvbigpIHsgaGFuZGxlcigpIH0sIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdBZnRlciBjYW1lcmEgcGVybWlzc2lvbiBwcm9tcHQsIHBsZWFzZSB0YXAgdGhlIHNjcmVlbiB0byBhY3RpdmF0ZSBnZW9sb2NhdGlvbi4nKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnUGxlYXNlIGVuYWJsZSBkZXZpY2Ugb3JpZW50YXRpb24gaW4gU2V0dGluZ3MgPiBTYWZhcmkgPiBNb3Rpb24gJiBPcmllbnRhdGlvbiBBY2Nlc3MuJyk7XG4gICAgICAgICAgICAgICAgfSwgNzUwKTtcbiAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcbiAgICB9LFxuXG4gICAgcGxheTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubGF0aXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSB0aGlzLl9pbml0V2F0Y2hHUFMoZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5hbHRpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgYWNjdXJhY3k6IHBvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeSxcbiAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGVBY2N1cmFjeTogcG9zaXRpb24uY29vcmRzLmFsdGl0dWRlQWNjdXJhY3ksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3JkcyA9IGxvY2FsUG9zaXRpb247XG4gICAgICAgICAgICAgICAgdmFyIGRpc3RNb3ZlZCA9IHRoaXMuX2hhdmVyc2luZURpc3QoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFzdFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHNcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYoZGlzdE1vdmVkID49IHRoaXMuZGF0YS5ncHNNaW5EaXN0YW5jZSB8fCAhdGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB0aWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaGVhZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvdGF0aW9uKCk7XG4gICAgfSxcblxuICAgIHBhdXNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dhdGNoUG9zaXRpb25JZCkge1xuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fd2F0Y2hQb3NpdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSBudWxsO1xuICAgIH0sXG5cbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uLCBmYWxzZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtZW50aXR5LXBsYWNlLWFkZGVkJywgdGhpcy5vbkdwc0VudGl0eVBsYWNlQWRkZWQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBHZXQgZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50IG5hbWUsIGRlcGVuZHMgb24gYnJvd3NlciBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBldmVudCBuYW1lXG4gICAgICovXG4gICAgX2dldERldmljZU9yaWVudGF0aW9uRXZlbnROYW1lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJ1xuICAgICAgICB9IGVsc2UgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uJyBpbiB3aW5kb3cpIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnZGV2aWNlb3JpZW50YXRpb24nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJydcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvbXBhc3Mgbm90IHN1cHBvcnRlZCcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXZlbnROYW1lXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBjdXJyZW50IHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvblN1Y2Nlc3NcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkVycm9yXG4gICAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAgICovXG4gICAgX2luaXRXYXRjaEdQUzogZnVuY3Rpb24ob25TdWNjZXNzLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICghb25FcnJvcikge1xuICAgICAgICAgICAgb25FcnJvciA9IGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignRVJST1IoJyArIGVyci5jb2RlICsgJyk6ICcgKyBlcnIubWVzc2FnZSlcblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBVc2VyIGRlbmllZCBHZW9Mb2NhdGlvbiwgbGV0IHRoZWlyIGtub3cgdGhhdFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnUGxlYXNlIGFjdGl2YXRlIEdlb2xvY2F0aW9uIGFuZCByZWZyZXNoIHRoZSBwYWdlLiBJZiBpdCBpcyBhbHJlYWR5IGFjdGl2ZSwgcGxlYXNlIGNoZWNrIHBlcm1pc3Npb25zIGZvciB0aGlzIHdlYnNpdGUuJyk7ICBcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnQ2Fubm90IHJldHJpZXZlIEdQUyBwb3NpdGlvbi4gU2lnbmFsIGlzIGFic2VudC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvbkVycm9yKHsgY29kZTogMCwgbWVzc2FnZTogJ0dlb2xvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyJyB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9HZW9sb2NhdGlvbi93YXRjaFBvc2l0aW9uXG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihvblN1Y2Nlc3MsIG9uRXJyb3IsIHtcbiAgICAgICAgICAgIGVuYWJsZUhpZ2hBY2N1cmFjeTogdHJ1ZSxcbiAgICAgICAgICAgIG1heGltdW1BZ2U6IHRoaXMuZGF0YS5ncHNUaW1lSW50ZXJ2YWwsXG4gICAgICAgICAgICB0aW1lb3V0OiAyNzAwMCxcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIGlmIGFjY3VyYWN5IGlzIG5vdCBnb29kIGVub3VnaFxuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29vcmRzLmFjY3VyYWN5ID4gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuYWxlcnQgJiYgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1wb3B1cCcpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgcG9wdXAuaW5uZXJIVE1MID0gJ0dQUyBzaWduYWwgaXMgdmVyeSBwb29yLiBUcnkgbW92ZSBvdXRkb29yIG9yIHRvIGFuIGFyZWEgd2l0aCBhIGJldHRlciBzaWduYWwuJ1xuICAgICAgICAgICAgICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnYWxlcnQtcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBhbGVydFBvcHVwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXBvcHVwJyk7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb29yZHMuYWNjdXJhY3kgPD0gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kgJiYgYWxlcnRQb3B1cCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhbGVydFBvcHVwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgIC8vIGZpcnN0IGNhbWVyYSBpbml0aWFsaXphdGlvblxuICAgICAgICAgICAgLy8gTm93IHN0b3JlIG9yaWdpbkNvb3JkcyBhcyBQUk9KRUNURUQgb3JpZ2luYWwgbGF0L2xvbiwgc28gdGhhdFxuICAgICAgICAgICAgLy8gd2UgY2FuIHNldCB0aGUgd29ybGQgb3JpZ2luIHRvIHRoZSBvcmlnaW5hbCBwb3NpdGlvbiBpbiBcIm1ldHJlc1wiXG4gICAgICAgICAgICB0aGlzLm9yaWdpbkNvb3JkcyA9IHRoaXMuX3Byb2plY3QodGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLCB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlKTtcbiAgICAgICAgICAgIHRoaXMuX3NldFBvc2l0aW9uKCk7XG5cbiAgICAgICAgICAgIHZhciBsb2FkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXJqcy1sb2FkZXInKTtcbiAgICAgICAgICAgIGlmIChsb2FkZXIpIHtcbiAgICAgICAgICAgICAgICBsb2FkZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBwb3NpdGlvbiAoaW4gd29ybGQgY29vcmRzLCBiYXNlZCBvbiBTcGhlcmljYWwgTWVyY2F0b3IpXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfc2V0UG9zaXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKTtcblxuICAgICAgICB2YXIgd29ybGRDb29yZHMgPSB0aGlzLmxhdExvblRvV29ybGQodGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLCB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlKTtcblxuICAgICAgICBwb3NpdGlvbi54ID0gd29ybGRDb29yZHNbMF07XG4gICAgICAgIHBvc2l0aW9uLnogPSB3b3JsZENvb3Jkc1sxXTtcblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb25cbiAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgcG9zaXRpb24pO1xuXG4gICAgICAgIC8vIGFkZCB0aGUgc3BobWVyYyBwb3NpdGlvbiB0byB0aGUgZXZlbnQgKGZvciB0ZXN0aW5nIG9ubHkpXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS11cGRhdGUtcG9zaXRpb24nLCB7IGRldGFpbDogeyBwb3NpdGlvbjogdGhpcy5jdXJyZW50Q29vcmRzLCBvcmlnaW46IHRoaXMub3JpZ2luQ29vcmRzIH0gfSkpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBkaXN0YW5jZSBpbiBtZXRlcnMgYmV0d2VlbiBjYW1lcmEgYW5kIGRlc3RpbmF0aW9uIGlucHV0LlxuICAgICAqXG4gICAgICogQXNzdW1lIHdlIGFyZSB1c2luZyBhIG1ldHJlLWJhc2VkIHByb2plY3Rpb24uIE5vdCBhbGwgJ21ldHJlLWJhc2VkJ1xuICAgICAqIHByb2plY3Rpb25zIGdpdmUgZXhhY3QgbWV0cmVzLCBlLmcuIFNwaGVyaWNhbCBNZXJjYXRvciwgYnV0IGl0IGFwcGVhcnNcbiAgICAgKiBjbG9zZSBlbm91Z2ggdG8gYmUgdXNlZCBmb3IgQVIgYXQgbGVhc3QgaW4gbWlkZGxlIHRlbXBlcmF0ZVxuICAgICAqIGxhdGl0dWRlcyAoNDAgLSA1NSkuIEl0IGlzIGhlYXZpbHkgZGlzdG9ydGVkIG5lYXIgdGhlIHBvbGVzLCBob3dldmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtQb3NpdGlvbn0gZGVzdFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gaXNQbGFjZVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gZGlzdGFuY2UgfCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgICAqL1xuICAgIGNvbXB1dGVEaXN0YW5jZU1ldGVyczogZnVuY3Rpb24oZGVzdCwgaXNQbGFjZSkge1xuICAgICAgICB2YXIgc3JjID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoXCJwb3NpdGlvblwiKTtcbiAgICAgICAgdmFyIGR4ID0gZGVzdC54IC0gc3JjLng7XG4gICAgICAgIHZhciBkeiA9IGRlc3QueiAtIHNyYy56O1xuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHggKiBkeCArIGR6ICogZHopO1xuXG4gICAgICAgIC8vIGlmIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZCBmb3IgYSBwbGFjZSwgYW5kIGlmIGl0J3MgdG9vIG5lYXIgYW5kIGEgbWluIGRpc3RhbmNlIGhhcyBiZWVuIHNldCxcbiAgICAgICAgLy8gcmV0dXJuIG1heCBkaXN0YW5jZSBwb3NzaWJsZSAtIHRvIGJlIGhhbmRsZWQgYnkgdGhlICBtZXRob2QgY2FsbGVyXG4gICAgICAgIGlmIChpc1BsYWNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSAmJiB0aGlzLmRhdGEubWluRGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlIDwgdGhpcy5kYXRhLm1pbkRpc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBsYXRpdHVkZS9sb25naXR1ZGUgdG8gT3BlbkdMIHdvcmxkIGNvb3JkaW5hdGVzLlxuICAgICAqXG4gICAgICogRmlyc3QgcHJvamVjdHMgbGF0L2xvbiB0byBhYnNvbHV0ZSBTcGhlcmljYWwgTWVyY2F0b3IgYW5kIHRoZW5cbiAgICAgKiBjYWxjdWxhdGVzIHRoZSB3b3JsZCBjb29yZGluYXRlcyBieSBjb21wYXJpbmcgdGhlIFNwaGVyaWNhbCBNZXJjYXRvclxuICAgICAqIGNvb3JkaW5hdGVzIHdpdGggdGhlIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlcyBvZiB0aGUgb3JpZ2luIHBvaW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGxhdFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBsb25cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHthcnJheX0gd29ybGQgY29vcmRpbmF0ZXNcbiAgICAgKi9cbiAgICBsYXRMb25Ub1dvcmxkOiBmdW5jdGlvbihsYXQsIGxvbikge1xuICAgICAgICB2YXIgcHJvamVjdGVkID0gdGhpcy5fcHJvamVjdChsYXQsIGxvbik7XG4gICAgICAgIC8vIFNpZ24gb2YgeiBuZWVkcyB0byBiZSByZXZlcnNlZCBjb21wYXJlZCB0byBwcm9qZWN0ZWQgY29vcmRpbmF0ZXNcbiAgICAgICAgcmV0dXJuIFtwcm9qZWN0ZWRbMF0gLSB0aGlzLm9yaWdpbkNvb3Jkc1swXSwgLShwcm9qZWN0ZWRbMV0gLSB0aGlzLm9yaWdpbkNvb3Jkc1sxXSldO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgbGF0aXR1ZGUvbG9uZ2l0dWRlIHRvIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlcy5cbiAgICAgKiBBbGdvcml0aG0gaXMgdXNlZCBpbiBzZXZlcmFsIE9wZW5TdHJlZXRNYXAtcmVsYXRlZCBhcHBsaWNhdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbGF0XG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGxvblxuICAgICAqXG4gICAgICogQHJldHVybnMge2FycmF5fSBTcGhlcmljYWwgTWVyY2F0b3IgY29vcmRpbmF0ZXNcbiAgICAgKi9cbiAgICBfcHJvamVjdDogZnVuY3Rpb24obGF0LCBsb24pIHtcbiAgICAgICAgY29uc3QgSEFMRl9FQVJUSCA9IDIwMDM3NTA4LjM0O1xuXG4gICAgICAgIC8vIENvbnZlcnQgdGhlIHN1cHBsaWVkIGNvb3JkcyB0byBTcGhlcmljYWwgTWVyY2F0b3IgKEVQU0c6Mzg1NyksIGFsc29cbiAgICAgICAgLy8ga25vd24gYXMgJ0dvb2dsZSBQcm9qZWN0aW9uJywgdXNpbmcgdGhlIGFsZ29yaXRobSB1c2VkIGV4dGVuc2l2ZWx5XG4gICAgICAgIC8vIGluIHZhcmlvdXMgT3BlblN0cmVldE1hcCBzb2Z0d2FyZS5cbiAgICAgICAgdmFyIHkgPSBNYXRoLmxvZyhNYXRoLnRhbigoOTAgKyBsYXQpICogTWF0aC5QSSAvIDM2MC4wKSkgLyAoTWF0aC5QSSAvIDE4MC4wKTtcbiAgICAgICAgcmV0dXJuIFsobG9uIC8gMTgwLjApICogSEFMRl9FQVJUSCwgeSAqIEhBTEZfRUFSVEggLyAxODAuMF07XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBTcGhlcmljYWwgTWVyY2F0b3IgY29vcmRpbmF0ZXMgdG8gbGF0aXR1ZGUvbG9uZ2l0dWRlLlxuICAgICAqIEFsZ29yaXRobSBpcyB1c2VkIGluIHNldmVyYWwgT3BlblN0cmVldE1hcC1yZWxhdGVkIGFwcGxpY2F0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBzcGhlcmljYWwgbWVyY2F0b3IgZWFzdGluZ1xuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBzcGhlcmljYWwgbWVyY2F0b3Igbm9ydGhpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtvYmplY3R9IGxvbi9sYXRcbiAgICAgKi9cbiAgICBfdW5wcm9qZWN0OiBmdW5jdGlvbihlLCBuKSB7XG4gICAgICAgIGNvbnN0IEhBTEZfRUFSVEggPSAyMDAzNzUwOC4zNDtcbiAgICAgICAgdmFyIHlwID0gKG4gLyBIQUxGX0VBUlRIKSAqIDE4MC4wO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiAoZSAvIEhBTEZfRUFSVEgpICogMTgwLjAsXG4gICAgICAgICAgICBsYXRpdHVkZTogMTgwLjAgLyBNYXRoLlBJICogKDIgKiBNYXRoLmF0YW4oTWF0aC5leHAoeXAgKiBNYXRoLlBJIC8gMTgwLjApKSAtIE1hdGguUEkgLyAyKVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBjb21wYXNzIGhlYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYmV0YVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBnYW1tYVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gY29tcGFzcyBoZWFkaW5nXG4gICAgICovXG4gICAgX2NvbXB1dGVDb21wYXNzSGVhZGluZzogZnVuY3Rpb24oYWxwaGEsIGJldGEsIGdhbW1hKSB7XG5cbiAgICAgICAgLy8gQ29udmVydCBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICAgICAgdmFyIGFscGhhUmFkID0gYWxwaGEgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHZhciBiZXRhUmFkID0gYmV0YSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdmFyIGdhbW1hUmFkID0gZ2FtbWEgKiAoTWF0aC5QSSAvIDE4MCk7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIGVxdWF0aW9uIGNvbXBvbmVudHNcbiAgICAgICAgdmFyIGNBID0gTWF0aC5jb3MoYWxwaGFSYWQpO1xuICAgICAgICB2YXIgc0EgPSBNYXRoLnNpbihhbHBoYVJhZCk7XG4gICAgICAgIHZhciBzQiA9IE1hdGguc2luKGJldGFSYWQpO1xuICAgICAgICB2YXIgY0cgPSBNYXRoLmNvcyhnYW1tYVJhZCk7XG4gICAgICAgIHZhciBzRyA9IE1hdGguc2luKGdhbW1hUmFkKTtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgQSwgQiwgQyByb3RhdGlvbiBjb21wb25lbnRzXG4gICAgICAgIHZhciByQSA9IC0gY0EgKiBzRyAtIHNBICogc0IgKiBjRztcbiAgICAgICAgdmFyIHJCID0gLSBzQSAqIHNHICsgY0EgKiBzQiAqIGNHO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBjb21wYXNzIGhlYWRpbmdcbiAgICAgICAgdmFyIGNvbXBhc3NIZWFkaW5nID0gTWF0aC5hdGFuKHJBIC8gckIpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZnJvbSBoYWxmIHVuaXQgY2lyY2xlIHRvIHdob2xlIHVuaXQgY2lyY2xlXG4gICAgICAgIGlmIChyQiA8IDApIHtcbiAgICAgICAgICAgIGNvbXBhc3NIZWFkaW5nICs9IE1hdGguUEk7XG4gICAgICAgIH0gZWxzZSBpZiAockEgPCAwKSB7XG4gICAgICAgICAgICBjb21wYXNzSGVhZGluZyArPSAyICogTWF0aC5QSTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnZlcnQgcmFkaWFucyB0byBkZWdyZWVzXG4gICAgICAgIGNvbXBhc3NIZWFkaW5nICo9IDE4MCAvIE1hdGguUEk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBhc3NIZWFkaW5nO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVyIGZvciBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF9vbkRldmljZU9yaWVudGF0aW9uOiBmdW5jdGlvbihldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQud2Via2l0Q29tcGFzc0hlYWRpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LndlYmtpdENvbXBhc3NBY2N1cmFjeSA8IDUwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkaW5nID0gZXZlbnQud2Via2l0Q29tcGFzc0hlYWRpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybignd2Via2l0Q29tcGFzc0FjY3VyYWN5IGlzIGV2ZW50LndlYmtpdENvbXBhc3NBY2N1cmFjeScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmFscGhhICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuYWJzb2x1dGUgPT09IHRydWUgfHwgZXZlbnQuYWJzb2x1dGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGluZyA9IHRoaXMuX2NvbXB1dGVDb21wYXNzSGVhZGluZyhldmVudC5hbHBoYSwgZXZlbnQuYmV0YSwgZXZlbnQuZ2FtbWEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2V2ZW50LmFic29sdXRlID09PSBmYWxzZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdldmVudC5hbHBoYSA9PT0gbnVsbCcpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHJvdGF0aW9uIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfdXBkYXRlUm90YXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaGVhZGluZyA9IDM2MCAtIHRoaXMuaGVhZGluZztcbiAgICAgICAgdmFyIGNhbWVyYVJvdGF0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3JvdGF0aW9uJykueTtcbiAgICAgICAgdmFyIHlhd1JvdGF0aW9uID0gVEhSRUUuTWF0aC5yYWRUb0RlZyh0aGlzLmxvb2tDb250cm9scy55YXdPYmplY3Qucm90YXRpb24ueSk7XG4gICAgICAgIHZhciBvZmZzZXQgPSAoaGVhZGluZyAtIChjYW1lcmFSb3RhdGlvbiAtIHlhd1JvdGF0aW9uKSkgJSAzNjA7XG4gICAgICAgIHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55ID0gVEhSRUUuTWF0aC5kZWdUb1JhZChvZmZzZXQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgaGF2ZXJzaW5lIGRpc3RhbmNlIGJldHdlZW4gdHdvIGxhdC9sb24gcGFpcnMuXG4gICAgICpcbiAgICAgKiBUYWtlbiBmcm9tIGdwcy1jYW1lcmFcbiAgICAgKi9cbiAgICBfaGF2ZXJzaW5lRGlzdDogZnVuY3Rpb24oc3JjLCBkZXN0KSB7XG4gICAgICAgIHZhciBkbG9uZ2l0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxvbmdpdHVkZSAtIHNyYy5sb25naXR1ZGUpO1xuICAgICAgICB2YXIgZGxhdGl0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxhdGl0dWRlIC0gc3JjLmxhdGl0dWRlKTtcblxuICAgICAgICB2YXIgYSA9IChNYXRoLnNpbihkbGF0aXR1ZGUgLyAyKSAqIE1hdGguc2luKGRsYXRpdHVkZSAvIDIpKSArIE1hdGguY29zKFRIUkVFLk1hdGguZGVnVG9SYWQoc3JjLmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhUSFJFRS5NYXRoLmRlZ1RvUmFkKGRlc3QubGF0aXR1ZGUpKSAqIChNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikgKiBNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikpO1xuICAgICAgICB2YXIgYW5nbGUgPSAyICogTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksIE1hdGguc3FydCgxIC0gYSkpO1xuICAgICAgICByZXR1cm4gYW5nbGUgKiA2MzcxMDAwO1xuICAgIH0sXG5cbiAgICBfb25HcHNFbnRpdHlQbGFjZUFkZGVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gaWYgcGxhY2VzIGFyZSBhZGRlZCBhZnRlciBjYW1lcmEgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWRcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sb2FkZXIgJiYgdGhpcy5sb2FkZXIucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmxvYWRlcilcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiLyoqIGdwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlXG4gKlxuICogYmFzZWQgb24gdGhlIG9yaWdpbmFsIGdwcy1lbnRpdHktcGxhY2UsIG1vZGlmaWVkIGJ5IG5pY2t3IDAyLzA0LzIwXG4gKlxuICogUmF0aGVyIHRoYW4ga2VlcGluZyB0cmFjayBvZiBwb3NpdGlvbiBieSBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2ZcbiAqIGVudGl0aWVzIG9yIHRoZSBjdXJyZW50IGxvY2F0aW9uIHRvIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiwgdGhpcyB2ZXJzaW9uXG4gKiBtYWtlcyB1c2Ugb2YgdGhlIFwiR29vZ2xlXCIgU3BoZXJpY2FsIE1lcmNhY3RvciBwcm9qZWN0aW9uLCBha2EgZXBzZzozODU3LlxuICpcbiAqIFRoZSBvcmlnaW5hbCBsb2NhdGlvbiBvbiBzdGFydHVwIChsYXQvbG9uKSBpcyBwcm9qZWN0ZWQgaW50byBTcGhlcmljYWwgXG4gKiBNZXJjYXRvciBhbmQgc3RvcmVkLlxuICpcbiAqIFdoZW4gJ2VudGl0eS1wbGFjZXMnIGFyZSBhZGRlZCwgdGhlaXIgU3BoZXJpY2FsIE1lcmNhdG9yIGNvb3JkcyBhcmUgXG4gKiBjYWxjdWxhdGVkIGFuZCBjb252ZXJ0ZWQgaW50byB3b3JsZCBjb29yZGluYXRlcywgcmVsYXRpdmUgdG8gdGhlIG9yaWdpbmFsXG4gKiBwb3NpdGlvbiwgdXNpbmcgdGhlIFNwaGVyaWNhbCBNZXJjYXRvciBwcm9qZWN0aW9uIGNhbGN1bGF0aW9uIGluXG4gKiBncHMtcHJvamVjdGVkLWNhbWVyYS5cbiAqXG4gKiBTcGhlcmljYWwgTWVyY2F0b3IgdW5pdHMgYXJlIGNsb3NlIHRvLCBidXQgbm90IGV4YWN0bHksIG1ldHJlcywgYW5kIGFyZVxuICogaGVhdmlseSBkaXN0b3J0ZWQgbmVhciB0aGUgcG9sZXMuIE5vbmV0aGVsZXNzIHRoZXkgYXJlIGEgZ29vZCBhcHByb3hpbWF0aW9uXG4gKiBmb3IgbWFueSBhcmVhcyBvZiB0aGUgd29ybGQgYW5kIGFwcGVhciBub3QgdG8gY2F1c2UgdW5hY2NlcHRhYmxlIGRpc3RvcnRpb25zXG4gKiB3aGVuIHVzZWQgYXMgdGhlIHVuaXRzIGZvciBBUiBhcHBzLlxuICovXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2dwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlJywge1xuICAgIF9jYW1lcmFHcHM6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIGxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBsYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBjbGVhbmluZyBsaXN0ZW5lcnMgd2hlbiB0aGUgZW50aXR5IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG4gICAgfSxcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gVXNlZCBub3cgdG8gZ2V0IHRoZSBHUFMgY2FtZXJhIHdoZW4gaXQncyBiZWVuIHNldHVwXG4gICAgICAgIHRoaXMuY29vcmRTZXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhbWVyYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tncHMtcHJvamVjdGVkLWNhbWVyYV0nKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhbWVyYS5jb21wb25lbnRzWydncHMtcHJvamVjdGVkLWNhbWVyYSddKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2dwcy1wcm9qZWN0ZWQtY2FtZXJhIG5vdCBpbml0aWFsaXplZCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FtZXJhR3BzID0gY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1wcm9qZWN0ZWQtY2FtZXJhJ107XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgXG5cblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb24gbmVlZHMgdG8gd29ycnkgYWJvdXQgZGlzdGFuY2UgYnV0IG5vdGhpbmcgZWxzZT9cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyID0gKGV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YSB8fCAhdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgZHN0Q29vcmRzID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJyk7XG5cbiAgICAgICAgICAgIC8vIGl0J3MgYWN0dWFsbHkgYSAnZGlzdGFuY2UgcGxhY2UnLCBidXQgd2UgZG9uJ3QgY2FsbCBpdCB3aXRoIGxhc3QgcGFyYW0sIGJlY2F1c2Ugd2Ugd2FudCB0byByZXRyaWV2ZSBkaXN0YW5jZSBldmVuIGlmIGl0J3MgPCBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAgICAgICAgLy8gX2NvbXB1dGVEaXN0YW5jZU1ldGVycyBpcyBub3cgZ29pbmcgdG8gdXNlIHRoZSBwcm9qZWN0ZWRcbiAgICAgICAgICAgIHZhciBkaXN0YW5jZUZvck1zZyA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZHN0Q29vcmRzKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlJywgZGlzdGFuY2VGb3JNc2cpO1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlTXNnJywgZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2VGb3JNc2cpKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS11cGRhdGUtcG9zaXRpb24nLCB7IGRldGFpbDogeyBkaXN0YW5jZTogZGlzdGFuY2VGb3JNc2cgfSB9KSk7XG5cbiAgICAgICAgICAgIHZhciBhY3R1YWxEaXN0YW5jZSA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZHN0Q29vcmRzLCB0cnVlKTtcblxuICAgICAgICAgICAgaWYgKGFjdHVhbERpc3RhbmNlID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGb3JNaW5EaXN0YW5jZSh0aGlzLmVsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUmV0YWluIGFzIHRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgR1BTIGNhbWVyYSBpcyBzZXQgdXBcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcsIHRoaXMuY29vcmRTZXRMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5fcG9zaXRpb25YRGVidWcgPSAwO1xuXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHsgZGV0YWlsOiB7IGNvbXBvbmVudDogdGhpcy5lbCB9IH0pKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEhpZGUgZW50aXR5IGFjY29yZGluZyB0byBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIGhpZGVGb3JNaW5EaXN0YW5jZTogZnVuY3Rpb24oZWwsIGhpZGVFbnRpdHkpIHtcbiAgICAgICAgaWYgKGhpZGVFbnRpdHkpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndmlzaWJsZScsICdmYWxzZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHBsYWNlIHBvc2l0aW9uXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG5cbiAgICAvLyBzZXQgcG9zaXRpb24gdG8gd29ybGQgY29vcmRzIHVzaW5nIHRoZSBsYXQvbG9uIFxuICAgIF91cGRhdGVQb3NpdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciB3b3JsZFBvcyA9IHRoaXMuX2NhbWVyYUdwcy5sYXRMb25Ub1dvcmxkKHRoaXMuZGF0YS5sYXRpdHVkZSwgdGhpcy5kYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBlbGVtZW50J3MgcG9zaXRpb24gaW4gM0Qgd29ybGRcbiAgICAgICAgLy90aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG4gICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHtcbiAgICAgICAgICAgIHg6IHdvcmxkUG9zWzBdLFxuICAgICAgICAgICAgeTogcG9zaXRpb24ueSwgXG4gICAgICAgICAgICB6OiB3b3JsZFBvc1sxXVxuICAgICAgICB9KTsgXG4gICAgfSxcbn0pO1xuXG4vKipcbiAqIEZvcm1hdCBkaXN0YW5jZXMgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRpc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlKSB7XG4gICAgZGlzdGFuY2UgPSBkaXN0YW5jZS50b0ZpeGVkKDApO1xuXG4gICAgaWYgKGRpc3RhbmNlID49IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIChkaXN0YW5jZSAvIDEwMDApICsgJyBraWxvbWV0ZXJzJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGlzdGFuY2UgKyAnIG1ldGVycyc7XG59O1xuIiwiaW1wb3J0ICogYXMgQUZSQU1FIGZyb20gJ2FmcmFtZSc7XG5pbXBvcnQgUHJvZmlsZSBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtcHJvZmlsZSc7XG5pbXBvcnQgU2Vzc2lvbiBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLXNlc3Npb24nO1xuaW1wb3J0IHsgU2Vzc2lvbkRlYnVnVUkgfSBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWRlYnVndWknO1xuXG5BRlJBTUUucmVnaXN0ZXJTeXN0ZW0oJ2FyanMnLCB7XG4gICAgc2NoZW1hOiB7XG4gICAgICAgIHRyYWNraW5nTWV0aG9kOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdiZXN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWdVSUVuYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBhcmVhTGVhcm5pbmdCdXR0b246IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlUHJvZmlsZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsaW5nTW9kZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gbmV3IHZpZGVvIHRleHR1cmUgbW9kZSAobG9jYXRpb24gYmFzZWQgb25seSlcbiAgICAgICAgdmlkZW9UZXh0dXJlOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICAvLyBvbGQgcGFyYW1ldGVyc1xuICAgICAgICBkZWJ1Zzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZGV0ZWN0aW9uTW9kZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWF0cml4Q29kZVR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHBhdHRlcm5SYXRpbzoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMSxcbiAgICAgICAgfSxcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWF4RGV0ZWN0aW9uUmF0ZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBzb3VyY2VUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICB9LFxuICAgICAgICBzb3VyY2VVcmw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHNvdXJjZVdpZHRoOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IC0xXG4gICAgICAgIH0sXG4gICAgICAgIHNvdXJjZUhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBkZXZpY2VJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5V2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogLTFcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheUhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBjYW52YXNXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBjYW52YXNIZWlnaHQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogLTFcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JQb3B1cDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgICAgICAvLyBJZiB2aWRlb1RleHR1cmUgaXMgc2V0LCBza2lwIHRoZSByZW1haW5kZXIgb2YgdGhlIHNldHVwIGVudGlyZWx5IGFuZCBqdXN0IHVzZSB0aGUgYXJqcy13ZWJjYW0tdGV4dHVyZSBjb21wb25lbnRcbiAgICAgICAgaWYodGhpcy5kYXRhLnZpZGVvVGV4dHVyZSA9PT0gdHJ1ZSAmJiB0aGlzLmRhdGEuc291cmNlVHlwZSA9PT0gJ3dlYmNhbScpIHtcbiAgICAgICAgICAgIHZhciB3ZWJjYW1FbnRpdHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYS1lbnRpdHlcIik7XG4gICAgICAgICAgICB3ZWJjYW1FbnRpdHkuc2V0QXR0cmlidXRlKFwiYXJqcy13ZWJjYW0tdGV4dHVyZVwiLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hcHBlbmRDaGlsZCh3ZWJjYW1FbnRpdHkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdHNldHVwIGFyUHJvZmlsZVxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICB2YXIgYXJQcm9maWxlID0gdGhpcy5fYXJQcm9maWxlID0gbmV3IFByb2ZpbGUoKVxuICAgICAgICAgICAgLnRyYWNraW5nTWV0aG9kKHRoaXMuZGF0YS50cmFja2luZ01ldGhvZClcbiAgICAgICAgICAgIC5wZXJmb3JtYW5jZSh0aGlzLmRhdGEucGVyZm9ybWFuY2VQcm9maWxlKVxuICAgICAgICAgICAgLmRlZmF1bHRNYXJrZXIoKVxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHRob25vciB0aGlzLmRhdGEgYW5kIHNldHVwIGFyUHJvZmlsZSB3aXRoIGl0XG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIC8vIGhvbm9yIHRoaXMuZGF0YSBhbmQgcHVzaCB3aGF0IGhhcyBiZWVuIG1vZGlmaWVkIGludG8gYXJQcm9maWxlXG4gICAgICAgIGlmICh0aGlzLmRhdGEuZGVidWcgIT09IGZhbHNlKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMuZGVidWcgPSB0aGlzLmRhdGEuZGVidWdcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5kZXRlY3Rpb25Nb2RlICE9PSAnJykgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUgPSB0aGlzLmRhdGEuZGV0ZWN0aW9uTW9kZVxuICAgICAgICBpZiAodGhpcy5kYXRhLm1hdHJpeENvZGVUeXBlICE9PSAnJykgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLm1hdHJpeENvZGVUeXBlID0gdGhpcy5kYXRhLm1hdHJpeENvZGVUeXBlXG4gICAgICAgIGlmICh0aGlzLmRhdGEucGF0dGVyblJhdGlvICE9PSAtMSkgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyA9IHRoaXMuZGF0YS5wYXR0ZXJuUmF0aW9cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5sYWJlbGluZ01vZGUgIT09ICcnKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMubGFiZWxpbmdNb2RlID0gdGhpcy5kYXRhLmxhYmVsaW5nTW9kZVxuICAgICAgICBpZiAodGhpcy5kYXRhLmNhbWVyYVBhcmFtZXRlcnNVcmwgIT09ICcnKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCA9IHRoaXMuZGF0YS5jYW1lcmFQYXJhbWV0ZXJzVXJsXG4gICAgICAgIGlmICh0aGlzLmRhdGEubWF4RGV0ZWN0aW9uUmF0ZSAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gdGhpcy5kYXRhLm1heERldGVjdGlvblJhdGVcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5jYW52YXNXaWR0aCAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IHRoaXMuZGF0YS5jYW52YXNXaWR0aFxuICAgICAgICBpZiAodGhpcy5kYXRhLmNhbnZhc0hlaWdodCAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSB0aGlzLmRhdGEuY2FudmFzSGVpZ2h0XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zb3VyY2VUeXBlICE9PSAnJykgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9IHRoaXMuZGF0YS5zb3VyY2VUeXBlXG4gICAgICAgIGlmICh0aGlzLmRhdGEuc291cmNlVXJsICE9PSAnJykgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdGhpcy5kYXRhLnNvdXJjZVVybFxuICAgICAgICBpZiAodGhpcy5kYXRhLnNvdXJjZVdpZHRoICE9PSAtMSkgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlV2lkdGggPSB0aGlzLmRhdGEuc291cmNlV2lkdGhcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zb3VyY2VIZWlnaHQgIT09IC0xKSBhclByb2ZpbGUuc291cmNlUGFyYW1ldGVycy5zb3VyY2VIZWlnaHQgPSB0aGlzLmRhdGEuc291cmNlSGVpZ2h0XG4gICAgICAgIGlmICh0aGlzLmRhdGEuZGV2aWNlSWQgIT09ICcnKSBhclByb2ZpbGUuc291cmNlUGFyYW1ldGVycy5kZXZpY2VJZCA9IHRoaXMuZGF0YS5kZXZpY2VJZFxuICAgICAgICBpZiAodGhpcy5kYXRhLmRpc3BsYXlXaWR0aCAhPT0gLTEpIGFyUHJvZmlsZS5zb3VyY2VQYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCA9IHRoaXMuZGF0YS5kaXNwbGF5V2lkdGhcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5kaXNwbGF5SGVpZ2h0ICE9PSAtMSkgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCA9IHRoaXMuZGF0YS5kaXNwbGF5SGVpZ2h0XG5cbiAgICAgICAgYXJQcm9maWxlLmNoZWNrSWZWYWxpZCgpXG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHRoaXMuX2FyU2Vzc2lvbiA9IG51bGxcblxuICAgICAgICBfdGhpcy5pc1JlYWR5ID0gZmFsc2VcbiAgICAgICAgX3RoaXMubmVlZHNPdmVycmlkZSA9IHRydWVcblxuICAgICAgICAvLyB3YWl0IHVudGlsIHRoZSByZW5kZXJlciBpcyBpc1JlYWR5XG4gICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXJzdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBzY2VuZSA9IF90aGlzLmVsLnNjZW5lRWwub2JqZWN0M0RcbiAgICAgICAgICAgIHZhciBjYW1lcmEgPSBfdGhpcy5lbC5zY2VuZUVsLmNhbWVyYVxuICAgICAgICAgICAgdmFyIHJlbmRlcmVyID0gX3RoaXMuZWwuc2NlbmVFbC5yZW5kZXJlclxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGJ1aWxkIEFSanMuU2Vzc2lvblxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICB2YXIgYXJTZXNzaW9uID0gX3RoaXMuX2FyU2Vzc2lvbiA9IG5ldyBTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICBzY2VuZTogc2NlbmUsXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHJlbmRlcmVyLFxuICAgICAgICAgICAgICAgIGNhbWVyYTogY2FtZXJhLFxuICAgICAgICAgICAgICAgIHNvdXJjZVBhcmFtZXRlcnM6IGFyUHJvZmlsZS5zb3VyY2VQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIGNvbnRleHRQYXJhbWV0ZXJzOiBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnNcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgLy9cdFx0Q29kZSBTZXBhcmF0b3JcbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgICAgICBfdGhpcy5pc1JlYWR5ID0gdHJ1ZVxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGF3ZnVsIHJlc2l6ZSB0cmlja1xuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICAvLyBLTFVER0VcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlc2l6ZSlcbiAgICAgICAgICAgIGZ1bmN0aW9uIG9uUmVzaXplKCkge1xuICAgICAgICAgICAgICAgIHZhciBhclNvdXJjZSA9IF90aGlzLl9hclNlc3Npb24uYXJTb3VyY2VcblxuICAgICAgICAgICAgICAgIC8vIHVnbHkga2x1ZGdlIHRvIGdldCByZXNpemUgb24gYWZyYW1lLi4uIG5vdCBldmVuIHN1cmUgaXQgd29ya3NcbiAgICAgICAgICAgICAgICBpZiAoYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCAhPT0gJ3RhbmdvJykge1xuICAgICAgICAgICAgICAgICAgICBhclNvdXJjZS5jb3B5RWxlbWVudFNpemVUbyhkb2N1bWVudC5ib2R5KVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZpeGluZyBhLWZyYW1lIGNzc1xuICAgICAgICAgICAgICAgIHZhciBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmEtZW50ZXItdnInKVxuICAgICAgICAgICAgICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGhvbm9yIC5kZWJ1Z1VJRW5hYmxlZFxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICBpZiAoX3RoaXMuZGF0YS5kZWJ1Z1VJRW5hYmxlZCkgaW5pdERlYnVnVUkoKVxuICAgICAgICAgICAgZnVuY3Rpb24gaW5pdERlYnVnVUkoKSB7XG4gICAgICAgICAgICAgICAgLy8gZ2V0IG9yIGNyZWF0ZSBjb250YWluZXJFbGVtZW50XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqc0RlYnVnVUlDb250YWluZXInKVxuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LmlkID0gJ2FyanNEZWJ1Z1VJQ29udGFpbmVyJ1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAncG9zaXRpb246IGZpeGVkOyBib3R0b206IDEwcHg7IHdpZHRoOjEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgei1pbmRleDogMTtjb2xvcjogZ3JleTsnKVxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckVsZW1lbnQpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHNlc3Npb25EZWJ1Z1VJXG4gICAgICAgICAgICAgICAgdmFyIHNlc3Npb25EZWJ1Z1VJID0gbmV3IFNlc3Npb25EZWJ1Z1VJKGFyU2Vzc2lvbilcbiAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHNlc3Npb25EZWJ1Z1VJLmRvbUVsZW1lbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBUT0RPIHRoaXMgaXMgY3JhcHB5IC0gY29kZSBhbiBleHBvbmVudGlhbCBiYWNrb2ZmIC0gbWF4IDEgc2Vjb25kc1xuICAgICAgICAvLyBLTFVER0U6IGtsdWRnZSB0byB3cml0ZSBhICdyZXNpemUnIGV2ZW50XG4gICAgICAgIC8vIHZhciBzdGFydGVkQXQgPSBEYXRlLm5vdygpXG4gICAgICAgIC8vIHZhciB0aW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyAgICAgaWYgKERhdGUubm93KCkgLSBzdGFydGVkQXQgPiAxMDAwMCAqIDEwMDApIHtcbiAgICAgICAgLy8gICAgICAgICBjbGVhckludGVydmFsKHRpbWVySWQpXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuXG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICAvLyBvblJlc2l6ZSgpXG4gICAgICAgIC8vICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcbiAgICAgICAgLy8gfSwgMTAwMCAvIDMwKVxuXG4gICAgICAgIGZ1bmN0aW9uIHNldEJhY2tvZmYoZnVuYywgbWlsbGlzRHVyYXRpb24gPSBJbmZpbml0eSwgbGltaXQgPSAxMDAwKSB7XG4gICAgICAgICAgICBpZihmdW5jID09IG51bGwgfHwgIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZnVuYykgPT0gJ1tvYmplY3QgRnVuY3Rpb25dJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgbGV0IGJhY2tvZmYgPSAzMy4zXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICAgICAgICBsZXQgcmVwZWF0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIHJldHVybiAobWlsbGlzRHVyYXRpb24gPT0gSW5maW5pdHkgfHwgKERhdGUubm93KCkgLSBzdGFydCkgPCBtaWxsaXNEdXJhdGlvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBuZXh0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgYmFja29mZiA9IChiYWNrb2ZmICogMikgPCBsaW1pdCA/IChiYWNrb2ZmICogMikgOiBsaW1pdFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmMoKVxuICAgICAgICAgICAgICAgICAgICBpZihyZXBlYXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBiYWNrb2ZmKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG5leHQoKVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0QmFja29mZigoKSA9PiB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICB0aWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIHNraXAgaXQgaWYgbm90IHlldCBpc0luaXRpYWxpc2VkXG4gICAgICAgIGlmICh0aGlzLmlzUmVhZHkgPT09IGZhbHNlIHx8IHRoaXMuZGF0YS52aWRlb1RleHR1cmUgPT09IHRydWUpIHJldHVyblxuXG4gICAgICAgIC8vIHVwZGF0ZSBhclNlc3Npb25cbiAgICAgICAgdGhpcy5fYXJTZXNzaW9uLnVwZGF0ZSgpXG5cbiAgICAgICAgLy8gY29weSBwcm9qZWN0aW9uIG1hdHJpeCB0byBjYW1lcmFcbiAgICAgICAgdGhpcy5fYXJTZXNzaW9uLm9uUmVzaXplKClcbiAgICB9LFxuXG4gICAgX2Rpc3BsYXlFcnJvclBvcHVwOiBmdW5jdGlvbihtc2cpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5lcnJvclBvcHVwICE9PSAnJykge1xuICAgICAgICAgICAgbGV0IGVycm9yUG9wdXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmRhdGEuZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICBpZiAoIWVycm9yUG9wdXApIHtcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5kYXRhLmVycm9yUG9wdXApO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9IG1zZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsZXJ0KG1zZyk7XG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiIWZ1bmN0aW9uKEEsSSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9SSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sSSk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5BUlRvb2xraXQ9SSgpOkEuQVJUb29sa2l0PUkoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybigoKT0+e3ZhciBBPXs3NTc6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDY2Nil9LDY2OTooQSxJLGcpPT57QS5leHBvcnRzPWcoNjA5KX0sNDQ4OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDI2KSxRPWcoMzcyKSxFPWcoMzI3KSxpPWcoOTcpLG89ZygxMDkpLEQ9Zyg5ODUpLGE9Zyg2MSksdz1nKDY1NSksRj1nKDI2Myk7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oSSxnKXt2YXIgRyxoPUEuZGF0YSxzPUEuaGVhZGVycyxSPUEucmVzcG9uc2VUeXBlO2Z1bmN0aW9uIFUoKXtBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKEcpLEEuc2lnbmFsJiZBLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIixHKX1CLmlzRm9ybURhdGEoaCkmJmRlbGV0ZSBzW1wiQ29udGVudC1UeXBlXCJdO3ZhciB5PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLmF1dGgpe3ZhciB0PUEuYXV0aC51c2VybmFtZXx8XCJcIixTPUEuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoQS5hdXRoLnBhc3N3b3JkKSk6XCJcIjtzLkF1dGhvcml6YXRpb249XCJCYXNpYyBcIitidG9hKHQrXCI6XCIrUyl9dmFyIE09aShBLmJhc2VVUkwsQS51cmwpO2Z1bmN0aW9uIG4oKXtpZih5KXt2YXIgQj1cImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiaW4geT9vKHkuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsUT17ZGF0YTpSJiZcInRleHRcIiE9PVImJlwianNvblwiIT09Uj95LnJlc3BvbnNlOnkucmVzcG9uc2VUZXh0LHN0YXR1czp5LnN0YXR1cyxzdGF0dXNUZXh0Onkuc3RhdHVzVGV4dCxoZWFkZXJzOkIsY29uZmlnOkEscmVxdWVzdDp5fTtDKChmdW5jdGlvbihBKXtJKEEpLFUoKX0pLChmdW5jdGlvbihBKXtnKEEpLFUoKX0pLFEpLHk9bnVsbH19aWYoeS5vcGVuKEEubWV0aG9kLnRvVXBwZXJDYXNlKCksRShNLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplciksITApLHkudGltZW91dD1BLnRpbWVvdXQsXCJvbmxvYWRlbmRcImluIHk/eS5vbmxvYWRlbmQ9bjp5Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3kmJjQ9PT15LnJlYWR5U3RhdGUmJigwIT09eS5zdGF0dXN8fHkucmVzcG9uc2VVUkwmJjA9PT15LnJlc3BvbnNlVVJMLmluZGV4T2YoXCJmaWxlOlwiKSkmJnNldFRpbWVvdXQobil9LHkub25hYm9ydD1mdW5jdGlvbigpe3kmJihnKGEoXCJSZXF1ZXN0IGFib3J0ZWRcIixBLFwiRUNPTk5BQk9SVEVEXCIseSkpLHk9bnVsbCl9LHkub25lcnJvcj1mdW5jdGlvbigpe2coYShcIk5ldHdvcmsgRXJyb3JcIixBLG51bGwseSkpLHk9bnVsbH0seS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgST1BLnRpbWVvdXQ/XCJ0aW1lb3V0IG9mIFwiK0EudGltZW91dCtcIm1zIGV4Y2VlZGVkXCI6XCJ0aW1lb3V0IGV4Y2VlZGVkXCIsQj1BLnRyYW5zaXRpb25hbHx8dy50cmFuc2l0aW9uYWw7QS50aW1lb3V0RXJyb3JNZXNzYWdlJiYoST1BLnRpbWVvdXRFcnJvck1lc3NhZ2UpLGcoYShJLEEsQi5jbGFyaWZ5VGltZW91dEVycm9yP1wiRVRJTUVET1VUXCI6XCJFQ09OTkFCT1JURURcIix5KSkseT1udWxsfSxCLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBjPShBLndpdGhDcmVkZW50aWFsc3x8RChNKSkmJkEueHNyZkNvb2tpZU5hbWU/US5yZWFkKEEueHNyZkNvb2tpZU5hbWUpOnZvaWQgMDtjJiYoc1tBLnhzcmZIZWFkZXJOYW1lXT1jKX1cInNldFJlcXVlc3RIZWFkZXJcImluIHkmJkIuZm9yRWFjaChzLChmdW5jdGlvbihBLEkpe3ZvaWQgMD09PWgmJlwiY29udGVudC10eXBlXCI9PT1JLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIHNbSV06eS5zZXRSZXF1ZXN0SGVhZGVyKEksQSl9KSksQi5pc1VuZGVmaW5lZChBLndpdGhDcmVkZW50aWFscyl8fCh5LndpdGhDcmVkZW50aWFscz0hIUEud2l0aENyZWRlbnRpYWxzKSxSJiZcImpzb25cIiE9PVImJih5LnJlc3BvbnNlVHlwZT1BLnJlc3BvbnNlVHlwZSksXCJmdW5jdGlvblwiPT10eXBlb2YgQS5vbkRvd25sb2FkUHJvZ3Jlc3MmJnkuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsQS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFwiZnVuY3Rpb25cIj09dHlwZW9mIEEub25VcGxvYWRQcm9ncmVzcyYmeS51cGxvYWQmJnkudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLEEub25VcGxvYWRQcm9ncmVzcyksKEEuY2FuY2VsVG9rZW58fEEuc2lnbmFsKSYmKEc9ZnVuY3Rpb24oQSl7eSYmKGcoIUF8fEEmJkEudHlwZT9uZXcgRihcImNhbmNlbGVkXCIpOkEpLHkuYWJvcnQoKSx5PW51bGwpfSxBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnN1YnNjcmliZShHKSxBLnNpZ25hbCYmKEEuc2lnbmFsLmFib3J0ZWQ/RygpOkEuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLEcpKSksaHx8KGg9bnVsbCkseS5zZW5kKGgpfSkpfX0sNjA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDg0OSksUT1nKDMyMSksRT1nKDE4NSksaT1mdW5jdGlvbiBBKEkpe3ZhciBnPW5ldyBRKEkpLGk9QyhRLnByb3RvdHlwZS5yZXF1ZXN0LGcpO3JldHVybiBCLmV4dGVuZChpLFEucHJvdG90eXBlLGcpLEIuZXh0ZW5kKGksZyksaS5jcmVhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIEEoRShJLGcpKX0saX0oZyg2NTUpKTtpLkF4aW9zPVEsaS5DYW5jZWw9ZygyNjMpLGkuQ2FuY2VsVG9rZW49Zyg5NzIpLGkuaXNDYW5jZWw9Zyg1MDIpLGkuVkVSU0lPTj1nKDI4OCkudmVyc2lvbixpLmFsbD1mdW5jdGlvbihBKXtyZXR1cm4gUHJvbWlzZS5hbGwoQSl9LGkuc3ByZWFkPWcoNzEzKSxpLmlzQXhpb3NFcnJvcj1nKDI2OCksQS5leHBvcnRzPWksQS5leHBvcnRzLmRlZmF1bHQ9aX0sMjYzOkE9PntcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBJKEEpe3RoaXMubWVzc2FnZT1BfUkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXCJDYW5jZWxcIisodGhpcy5tZXNzYWdlP1wiOiBcIit0aGlzLm1lc3NhZ2U6XCJcIil9LEkucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsQS5leHBvcnRzPUl9LDk3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9ZygyNjMpO2Z1bmN0aW9uIEMoQSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgSTt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0k9QX0pKTt2YXIgZz10aGlzO3RoaXMucHJvbWlzZS50aGVuKChmdW5jdGlvbihBKXtpZihnLl9saXN0ZW5lcnMpe3ZhciBJLEI9Zy5fbGlzdGVuZXJzLmxlbmd0aDtmb3IoST0wO0k8QjtJKyspZy5fbGlzdGVuZXJzW0ldKEEpO2cuX2xpc3RlbmVycz1udWxsfX0pKSx0aGlzLnByb21pc2UudGhlbj1mdW5jdGlvbihBKXt2YXIgSSxCPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtnLnN1YnNjcmliZShBKSxJPUF9KSkudGhlbihBKTtyZXR1cm4gQi5jYW5jZWw9ZnVuY3Rpb24oKXtnLnVuc3Vic2NyaWJlKEkpfSxCfSxBKChmdW5jdGlvbihBKXtnLnJlYXNvbnx8KGcucmVhc29uPW5ldyBCKEEpLEkoZy5yZWFzb24pKX0pKX1DLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LEMucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihBKXt0aGlzLnJlYXNvbj9BKHRoaXMucmVhc29uKTp0aGlzLl9saXN0ZW5lcnM/dGhpcy5fbGlzdGVuZXJzLnB1c2goQSk6dGhpcy5fbGlzdGVuZXJzPVtBXX0sQy5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7aWYodGhpcy5fbGlzdGVuZXJzKXt2YXIgST10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihBKTstMSE9PUkmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UoSSwxKX19LEMuc291cmNlPWZ1bmN0aW9uKCl7dmFyIEE7cmV0dXJue3Rva2VuOm5ldyBDKChmdW5jdGlvbihJKXtBPUl9KSksY2FuY2VsOkF9fSxBLmV4cG9ydHM9Q30sNTAyOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuISghQXx8IUEuX19DQU5DRUxfXyl9fSwzMjE6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoMzI3KSxRPWcoNzgyKSxFPWcoNTcyKSxpPWcoMTg1KSxvPWcoODc1KSxEPW8udmFsaWRhdG9ycztmdW5jdGlvbiBhKEEpe3RoaXMuZGVmYXVsdHM9QSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgUSxyZXNwb25zZTpuZXcgUX19YS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihBKXtcInN0cmluZ1wiPT10eXBlb2YgQT8oQT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOkE9QXx8e30sKEE9aSh0aGlzLmRlZmF1bHRzLEEpKS5tZXRob2Q/QS5tZXRob2Q9QS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9BLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOkEubWV0aG9kPVwiZ2V0XCI7dmFyIEk9QS50cmFuc2l0aW9uYWw7dm9pZCAwIT09SSYmby5hc3NlcnRPcHRpb25zKEkse3NpbGVudEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxjbGFyaWZ5VGltZW91dEVycm9yOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbil9LCExKTt2YXIgZz1bXSxCPSEwO3RoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaCgoZnVuY3Rpb24oSSl7XCJmdW5jdGlvblwiPT10eXBlb2YgSS5ydW5XaGVuJiYhMT09PUkucnVuV2hlbihBKXx8KEI9QiYmSS5zeW5jaHJvbm91cyxnLnVuc2hpZnQoSS5mdWxmaWxsZWQsSS5yZWplY3RlZCkpfSkpO3ZhciBDLFE9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oQSl7US5wdXNoKEEuZnVsZmlsbGVkLEEucmVqZWN0ZWQpfSkpLCFCKXt2YXIgYT1bRSx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShhLGcpLGE9YS5jb25jYXQoUSksQz1Qcm9taXNlLnJlc29sdmUoQSk7YS5sZW5ndGg7KUM9Qy50aGVuKGEuc2hpZnQoKSxhLnNoaWZ0KCkpO3JldHVybiBDfWZvcih2YXIgdz1BO2cubGVuZ3RoOyl7dmFyIEY9Zy5zaGlmdCgpLEc9Zy5zaGlmdCgpO3RyeXt3PUYodyl9Y2F0Y2goQSl7RyhBKTticmVha319dHJ5e0M9RSh3KX1jYXRjaChBKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoQSl9Zm9yKDtRLmxlbmd0aDspQz1DLnRoZW4oUS5zaGlmdCgpLFEuc2hpZnQoKSk7cmV0dXJuIEN9LGEucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihBKXtyZXR1cm4gQT1pKHRoaXMuZGVmYXVsdHMsQSksQyhBLnVybCxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLFwiXCIpfSxCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyl7cmV0dXJuIHRoaXMucmVxdWVzdChpKGd8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOihnfHx7fSkuZGF0YX0pKX19KSksQi5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyxCKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkoQnx8e30se21ldGhvZDpBLHVybDpJLGRhdGE6Z30pKX19KSksQS5leHBvcnRzPWF9LDc4MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO2Z1bmN0aW9uIEMoKXt0aGlzLmhhbmRsZXJzPVtdfUMucHJvdG90eXBlLnVzZT1mdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOkEscmVqZWN0ZWQ6SSxzeW5jaHJvbm91czohIWcmJmcuc3luY2hyb25vdXMscnVuV2hlbjpnP2cucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sQy5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24oQSl7dGhpcy5oYW5kbGVyc1tBXSYmKHRoaXMuaGFuZGxlcnNbQV09bnVsbCl9LEMucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oQSl7Qi5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsKGZ1bmN0aW9uKEkpe251bGwhPT1JJiZBKEkpfSkpfSxBLmV4cG9ydHM9Q30sOTc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNzkzKSxDPWcoMzAzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSYmIUIoSSk/QyhBLEkpOkl9fSw2MTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg0ODEpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxDLFEpe3ZhciBFPW5ldyBFcnJvcihBKTtyZXR1cm4gQihFLEksZyxDLFEpfX0sNTcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDUyNyksUT1nKDUwMiksRT1nKDY1NSksaT1nKDI2Myk7ZnVuY3Rpb24gbyhBKXtpZihBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKSxBLnNpZ25hbCYmQS5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgaShcImNhbmNlbGVkXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbyhBKSxBLmhlYWRlcnM9QS5oZWFkZXJzfHx7fSxBLmRhdGE9Qy5jYWxsKEEsQS5kYXRhLEEuaGVhZGVycyxBLnRyYW5zZm9ybVJlcXVlc3QpLEEuaGVhZGVycz1CLm1lcmdlKEEuaGVhZGVycy5jb21tb258fHt9LEEuaGVhZGVyc1tBLm1ldGhvZF18fHt9LEEuaGVhZGVycyksQi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCIsXCJjb21tb25cIl0sKGZ1bmN0aW9uKEkpe2RlbGV0ZSBBLmhlYWRlcnNbSV19KSksKEEuYWRhcHRlcnx8RS5hZGFwdGVyKShBKS50aGVuKChmdW5jdGlvbihJKXtyZXR1cm4gbyhBKSxJLmRhdGE9Qy5jYWxsKEEsSS5kYXRhLEkuaGVhZGVycyxBLnRyYW5zZm9ybVJlc3BvbnNlKSxJfSksKGZ1bmN0aW9uKEkpe3JldHVybiBRKEkpfHwobyhBKSxJJiZJLnJlc3BvbnNlJiYoSS5yZXNwb25zZS5kYXRhPUMuY2FsbChBLEkucmVzcG9uc2UuZGF0YSxJLnJlc3BvbnNlLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChJKX0pKX19LDQ4MTpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEuY29uZmlnPUksZyYmKEEuY29kZT1nKSxBLnJlcXVlc3Q9QixBLnJlc3BvbnNlPUMsQS5pc0F4aW9zRXJyb3I9ITAsQS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGUsc3RhdHVzOnRoaXMucmVzcG9uc2UmJnRoaXMucmVzcG9uc2Uuc3RhdHVzP3RoaXMucmVzcG9uc2Uuc3RhdHVzOm51bGx9fSxBfX0sMTg1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7ST1JfHx7fTt2YXIgZz17fTtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuIEIuaXNQbGFpbk9iamVjdChBKSYmQi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2UoQSxJKTpCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZSh7fSxJKTpCLmlzQXJyYXkoSSk/SS5zbGljZSgpOkl9ZnVuY3Rpb24gUShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKEFbZ10sSVtnXSl9ZnVuY3Rpb24gRShBKXtpZighQi5pc1VuZGVmaW5lZChJW0FdKSlyZXR1cm4gQyh2b2lkIDAsSVtBXSl9ZnVuY3Rpb24gaShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKHZvaWQgMCxJW2ddKX1mdW5jdGlvbiBvKGcpe3JldHVybiBnIGluIEk/QyhBW2ddLElbZ10pOmcgaW4gQT9DKHZvaWQgMCxBW2ddKTp2b2lkIDB9dmFyIEQ9e3VybDpFLG1ldGhvZDpFLGRhdGE6RSxiYXNlVVJMOmksdHJhbnNmb3JtUmVxdWVzdDppLHRyYW5zZm9ybVJlc3BvbnNlOmkscGFyYW1zU2VyaWFsaXplcjppLHRpbWVvdXQ6aSx0aW1lb3V0TWVzc2FnZTppLHdpdGhDcmVkZW50aWFsczppLGFkYXB0ZXI6aSxyZXNwb25zZVR5cGU6aSx4c3JmQ29va2llTmFtZTppLHhzcmZIZWFkZXJOYW1lOmksb25VcGxvYWRQcm9ncmVzczppLG9uRG93bmxvYWRQcm9ncmVzczppLGRlY29tcHJlc3M6aSxtYXhDb250ZW50TGVuZ3RoOmksbWF4Qm9keUxlbmd0aDppLHRyYW5zcG9ydDppLGh0dHBBZ2VudDppLGh0dHBzQWdlbnQ6aSxjYW5jZWxUb2tlbjppLHNvY2tldFBhdGg6aSxyZXNwb25zZUVuY29kaW5nOmksdmFsaWRhdGVTdGF0dXM6b307cmV0dXJuIEIuZm9yRWFjaChPYmplY3Qua2V5cyhBKS5jb25jYXQoT2JqZWN0LmtleXMoSSkpLChmdW5jdGlvbihBKXt2YXIgST1EW0FdfHxRLEM9SShBKTtCLmlzVW5kZWZpbmVkKEMpJiZJIT09b3x8KGdbQV09Qyl9KSksZ319LDI2OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDYxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBDPWcuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2cuc3RhdHVzJiZDJiYhQyhnLnN0YXR1cyk/SShCKFwiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSBcIitnLnN0YXR1cyxnLmNvbmZpZyxudWxsLGcucmVxdWVzdCxnKSk6QShnKX19LDUyNzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg2NTUpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIFE9dGhpc3x8QztyZXR1cm4gQi5mb3JFYWNoKGcsKGZ1bmN0aW9uKGcpe0E9Zy5jYWxsKFEsQSxJKX0pKSxBfX0sNjU1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDE2KSxRPWcoNDgxKSxFPXtcIkNvbnRlbnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJ9O2Z1bmN0aW9uIGkoQSxJKXshQi5pc1VuZGVmaW5lZChBKSYmQi5pc1VuZGVmaW5lZChBW1wiQ29udGVudC1UeXBlXCJdKSYmKEFbXCJDb250ZW50LVR5cGVcIl09SSl9dmFyIG8sRD17dHJhbnNpdGlvbmFsOntzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxhZGFwdGVyOigoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmXCJbb2JqZWN0IHByb2Nlc3NdXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykpJiYobz1nKDQ0OCkpLG8pLHRyYW5zZm9ybVJlcXVlc3Q6W2Z1bmN0aW9uKEEsSSl7cmV0dXJuIEMoSSxcIkFjY2VwdFwiKSxDKEksXCJDb250ZW50LVR5cGVcIiksQi5pc0Zvcm1EYXRhKEEpfHxCLmlzQXJyYXlCdWZmZXIoQSl8fEIuaXNCdWZmZXIoQSl8fEIuaXNTdHJlYW0oQSl8fEIuaXNGaWxlKEEpfHxCLmlzQmxvYihBKT9BOkIuaXNBcnJheUJ1ZmZlclZpZXcoQSk/QS5idWZmZXI6Qi5pc1VSTFNlYXJjaFBhcmFtcyhBKT8oaShJLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIiksQS50b1N0cmluZygpKTpCLmlzT2JqZWN0KEEpfHxJJiZcImFwcGxpY2F0aW9uL2pzb25cIj09PUlbXCJDb250ZW50LVR5cGVcIl0/KGkoSSxcImFwcGxpY2F0aW9uL2pzb25cIiksZnVuY3Rpb24oQSxJLGcpe2lmKEIuaXNTdHJpbmcoQSkpdHJ5e3JldHVybigwLEpTT04ucGFyc2UpKEEpLEIudHJpbShBKX1jYXRjaChBKXtpZihcIlN5bnRheEVycm9yXCIhPT1BLm5hbWUpdGhyb3cgQX1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoQSl9KEEpKTpBfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKEEpe3ZhciBJPXRoaXMudHJhbnNpdGlvbmFsfHxELnRyYW5zaXRpb25hbCxnPUkmJkkuc2lsZW50SlNPTlBhcnNpbmcsQz1JJiZJLmZvcmNlZEpTT05QYXJzaW5nLEU9IWcmJlwianNvblwiPT09dGhpcy5yZXNwb25zZVR5cGU7aWYoRXx8QyYmQi5pc1N0cmluZyhBKSYmQS5sZW5ndGgpdHJ5e3JldHVybiBKU09OLnBhcnNlKEEpfWNhdGNoKEEpe2lmKEUpe2lmKFwiU3ludGF4RXJyb3JcIj09PUEubmFtZSl0aHJvdyBRKEEsdGhpcyxcIkVfSlNPTl9QQVJTRVwiKTt0aHJvdyBBfX1yZXR1cm4gQX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcIlhTUkYtVE9LRU5cIix4c3JmSGVhZGVyTmFtZTpcIlgtWFNSRi1UT0tFTlwiLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihBKXtyZXR1cm4gQT49MjAwJiZBPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcIn19fTtCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT17fX0pKSxCLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPUIubWVyZ2UoRSl9KSksQS5leHBvcnRzPUR9LDI4ODpBPT57QS5leHBvcnRzPXt2ZXJzaW9uOlwiMC4yNC4wXCJ9fSw4NDk6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksQj0wO0I8Zy5sZW5ndGg7QisrKWdbQl09YXJndW1lbnRzW0JdO3JldHVybiBBLmFwcGx5KEksZyl9fX0sMzI3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEEpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe2lmKCFJKXJldHVybiBBO3ZhciBRO2lmKGcpUT1nKEkpO2Vsc2UgaWYoQi5pc1VSTFNlYXJjaFBhcmFtcyhJKSlRPUkudG9TdHJpbmcoKTtlbHNle3ZhciBFPVtdO0IuZm9yRWFjaChJLChmdW5jdGlvbihBLEkpe251bGwhPUEmJihCLmlzQXJyYXkoQSk/SSs9XCJbXVwiOkE9W0FdLEIuZm9yRWFjaChBLChmdW5jdGlvbihBKXtCLmlzRGF0ZShBKT9BPUEudG9JU09TdHJpbmcoKTpCLmlzT2JqZWN0KEEpJiYoQT1KU09OLnN0cmluZ2lmeShBKSksRS5wdXNoKEMoSSkrXCI9XCIrQyhBKSl9KSkpfSkpLFE9RS5qb2luKFwiJlwiKX1pZihRKXt2YXIgaT1BLmluZGV4T2YoXCIjXCIpOy0xIT09aSYmKEE9QS5zbGljZSgwLGkpKSxBKz0oLTE9PT1BLmluZGV4T2YoXCI/XCIpP1wiP1wiOlwiJlwiKStRfXJldHVybiBBfX0sMzAzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9BLnJlcGxhY2UoL1xcLyskLyxcIlwiKStcIi9cIitJLnJlcGxhY2UoL15cXC8rLyxcIlwiKTpBfX0sMzcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRLEUpe3ZhciBpPVtdO2kucHVzaChBK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChJKSksQi5pc051bWJlcihnKSYmaS5wdXNoKFwiZXhwaXJlcz1cIituZXcgRGF0ZShnKS50b0dNVFN0cmluZygpKSxCLmlzU3RyaW5nKEMpJiZpLnB1c2goXCJwYXRoPVwiK0MpLEIuaXNTdHJpbmcoUSkmJmkucHVzaChcImRvbWFpbj1cIitRKSwhMD09PUUmJmkucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9aS5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oQSl7dmFyIEk9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitBK1wiKT0oW147XSopXCIpKTtyZXR1cm4gST9kZWNvZGVVUklDb21wb25lbnQoSVszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKEEpe3RoaXMud3JpdGUoQSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319fSw3OTM6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QoQSl9fSwyNjg6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgQSYmITA9PT1BLmlzQXhpb3NFcnJvcn19LDk4NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgQSxJPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBDKEEpe3ZhciBCPUE7cmV0dXJuIEkmJihnLnNldEF0dHJpYnV0ZShcImhyZWZcIixCKSxCPWcuaHJlZiksZy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsQikse2hyZWY6Zy5ocmVmLHByb3RvY29sOmcucHJvdG9jb2w/Zy5wcm90b2NvbC5yZXBsYWNlKC86JC8sXCJcIik6XCJcIixob3N0OmcuaG9zdCxzZWFyY2g6Zy5zZWFyY2g/Zy5zZWFyY2gucmVwbGFjZSgvXlxcPy8sXCJcIik6XCJcIixoYXNoOmcuaGFzaD9nLmhhc2gucmVwbGFjZSgvXiMvLFwiXCIpOlwiXCIsaG9zdG5hbWU6Zy5ob3N0bmFtZSxwb3J0OmcucG9ydCxwYXRobmFtZTpcIi9cIj09PWcucGF0aG5hbWUuY2hhckF0KDApP2cucGF0aG5hbWU6XCIvXCIrZy5wYXRobmFtZX19cmV0dXJuIEE9Qyh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oSSl7dmFyIGc9Qi5pc1N0cmluZyhJKT9DKEkpOkk7cmV0dXJuIGcucHJvdG9jb2w9PT1BLnByb3RvY29sJiZnLmhvc3Q9PT1BLmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSwxNjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe0IuZm9yRWFjaChBLChmdW5jdGlvbihnLEIpe0IhPT1JJiZCLnRvVXBwZXJDYXNlKCk9PT1JLnRvVXBwZXJDYXNlKCkmJihBW0ldPWcsZGVsZXRlIEFbQl0pfSkpfX0sMTA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1bXCJhZ2VcIixcImF1dGhvcml6YXRpb25cIixcImNvbnRlbnQtbGVuZ3RoXCIsXCJjb250ZW50LXR5cGVcIixcImV0YWdcIixcImV4cGlyZXNcIixcImZyb21cIixcImhvc3RcIixcImlmLW1vZGlmaWVkLXNpbmNlXCIsXCJpZi11bm1vZGlmaWVkLXNpbmNlXCIsXCJsYXN0LW1vZGlmaWVkXCIsXCJsb2NhdGlvblwiLFwibWF4LWZvcndhcmRzXCIsXCJwcm94eS1hdXRob3JpemF0aW9uXCIsXCJyZWZlcmVyXCIsXCJyZXRyeS1hZnRlclwiLFwidXNlci1hZ2VudFwiXTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7dmFyIEksZyxRLEU9e307cmV0dXJuIEE/KEIuZm9yRWFjaChBLnNwbGl0KFwiXFxuXCIpLChmdW5jdGlvbihBKXtpZihRPUEuaW5kZXhPZihcIjpcIiksST1CLnRyaW0oQS5zdWJzdHIoMCxRKSkudG9Mb3dlckNhc2UoKSxnPUIudHJpbShBLnN1YnN0cihRKzEpKSxJKXtpZihFW0ldJiZDLmluZGV4T2YoSSk+PTApcmV0dXJuO0VbSV09XCJzZXQtY29va2llXCI9PT1JPyhFW0ldP0VbSV06W10pLmNvbmNhdChbZ10pOkVbSV0/RVtJXStcIiwgXCIrZzpnfX0pKSxFKTpFfX0sNzEzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KG51bGwsSSl9fX0sODc1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDI4OCkudmVyc2lvbixDPXt9O1tcIm9iamVjdFwiLFwiYm9vbGVhblwiLFwibnVtYmVyXCIsXCJmdW5jdGlvblwiLFwic3RyaW5nXCIsXCJzeW1ib2xcIl0uZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtDW0FdPWZ1bmN0aW9uKGcpe3JldHVybiB0eXBlb2YgZz09PUF8fFwiYVwiKyhJPDE/XCJuIFwiOlwiIFwiKStBfX0pKTt2YXIgUT17fTtDLnRyYW5zaXRpb25hbD1mdW5jdGlvbihBLEksZyl7ZnVuY3Rpb24gQyhBLEkpe3JldHVyblwiW0F4aW9zIHZcIitCK1wiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICdcIitBK1wiJ1wiK0krKGc/XCIuIFwiK2c6XCJcIil9cmV0dXJuIGZ1bmN0aW9uKGcsQixFKXtpZighMT09PUEpdGhyb3cgbmV3IEVycm9yKEMoQixcIiBoYXMgYmVlbiByZW1vdmVkXCIrKEk/XCIgaW4gXCIrSTpcIlwiKSkpO3JldHVybiBJJiYhUVtCXSYmKFFbQl09ITAsY29uc29sZS53YXJuKEMoQixcIiBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIHZcIitJK1wiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlXCIpKSksIUF8fEEoZyxCLEUpfX0sQS5leHBvcnRzPXthc3NlcnRPcHRpb25zOmZ1bmN0aW9uKEEsSSxnKXtpZihcIm9iamVjdFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdFwiKTtmb3IodmFyIEI9T2JqZWN0LmtleXMoQSksQz1CLmxlbmd0aDtDLS0gPjA7KXt2YXIgUT1CW0NdLEU9SVtRXTtpZihFKXt2YXIgaT1BW1FdLG89dm9pZCAwPT09aXx8RShpLFEsQSk7aWYoITAhPT1vKXRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gXCIrUStcIiBtdXN0IGJlIFwiK28pfWVsc2UgaWYoITAhPT1nKXRocm93IEVycm9yKFwiVW5rbm93biBvcHRpb24gXCIrUSl9fSx2YWxpZGF0b3JzOkN9fSw4Njc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODQ5KSxDPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gUShBKXtyZXR1cm5cIltvYmplY3QgQXJyYXldXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gRShBKXtyZXR1cm4gdm9pZCAwPT09QX1mdW5jdGlvbiBpKEEpe3JldHVybiBudWxsIT09QSYmXCJvYmplY3RcIj09dHlwZW9mIEF9ZnVuY3Rpb24gbyhBKXtpZihcIltvYmplY3QgT2JqZWN0XVwiIT09Qy5jYWxsKEEpKXJldHVybiExO3ZhciBJPU9iamVjdC5nZXRQcm90b3R5cGVPZihBKTtyZXR1cm4gbnVsbD09PUl8fEk9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIEQoQSl7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIGEoQSxJKXtpZihudWxsIT1BKWlmKFwib2JqZWN0XCIhPXR5cGVvZiBBJiYoQT1bQV0pLFEoQSkpZm9yKHZhciBnPTAsQj1BLmxlbmd0aDtnPEI7ZysrKUkuY2FsbChudWxsLEFbZ10sZyxBKTtlbHNlIGZvcih2YXIgQyBpbiBBKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEMpJiZJLmNhbGwobnVsbCxBW0NdLEMsQSl9QS5leHBvcnRzPXtpc0FycmF5OlEsaXNBcnJheUJ1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQXJyYXlCdWZmZXJdXCI9PT1DLmNhbGwoQSl9LGlzQnVmZmVyOmZ1bmN0aW9uKEEpe3JldHVybiBudWxsIT09QSYmIUUoQSkmJm51bGwhPT1BLmNvbnN0cnVjdG9yJiYhRShBLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihBKX0saXNGb3JtRGF0YTpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJkEgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KEEpOkEmJkEuYnVmZmVyJiZBLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfSxpc1N0cmluZzpmdW5jdGlvbihBKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgQX0saXNOdW1iZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIEF9LGlzT2JqZWN0OmksaXNQbGFpbk9iamVjdDpvLGlzVW5kZWZpbmVkOkUsaXNEYXRlOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09Qy5jYWxsKEEpfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEZpbGVdXCI9PT1DLmNhbGwoQSl9LGlzQmxvYjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQmxvYl1cIj09PUMuY2FsbChBKX0saXNGdW5jdGlvbjpELGlzU3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpKEEpJiZEKEEucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJkEgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFwiUmVhY3ROYXRpdmVcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5hdGl2ZVNjcmlwdFwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTlNcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50fSxmb3JFYWNoOmEsbWVyZ2U6ZnVuY3Rpb24gQSgpe3ZhciBJPXt9O2Z1bmN0aW9uIGcoZyxCKXtvKElbQl0pJiZvKGcpP0lbQl09QShJW0JdLGcpOm8oZyk/SVtCXT1BKHt9LGcpOlEoZyk/SVtCXT1nLnNsaWNlKCk6SVtCXT1nfWZvcih2YXIgQj0wLEM9YXJndW1lbnRzLmxlbmd0aDtCPEM7QisrKWEoYXJndW1lbnRzW0JdLGcpO3JldHVybiBJfSxleHRlbmQ6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBhKEksKGZ1bmN0aW9uKEksQyl7QVtDXT1nJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBJP0IoSSxnKTpJfSkpLEF9LHRyaW06ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJpbT9BLnRyaW0oKTpBLnJlcGxhY2UoL15cXHMrfFxccyskL2csXCJcIil9LHN0cmlwQk9NOmZ1bmN0aW9uKEEpe3JldHVybiA2NTI3OT09PUEuY2hhckNvZGVBdCgwKSYmKEE9QS5zbGljZSgxKSksQX19fSw2NjY6QT0+e3ZhciBJPWZ1bmN0aW9uKEEpe1widXNlIHN0cmljdFwiO3ZhciBJLGc9T2JqZWN0LnByb3RvdHlwZSxCPWcuaGFzT3duUHJvcGVydHksQz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LFE9Qy5pdGVyYXRvcnx8XCJAQGl0ZXJhdG9yXCIsRT1DLmFzeW5jSXRlcmF0b3J8fFwiQEBhc3luY0l0ZXJhdG9yXCIsaT1DLnRvU3RyaW5nVGFnfHxcIkBAdG9TdHJpbmdUYWdcIjtmdW5jdGlvbiBvKEEsSSxnKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLEFbSV19dHJ5e28oe30sXCJcIil9Y2F0Y2goQSl7bz1mdW5jdGlvbihBLEksZyl7cmV0dXJuIEFbSV09Z319ZnVuY3Rpb24gRChBLEksZyxCKXt2YXIgQz1JJiZJLnByb3RvdHlwZSBpbnN0YW5jZW9mIFI/STpSLFE9T2JqZWN0LmNyZWF0ZShDLnByb3RvdHlwZSksRT1uZXcgWShCfHxbXSk7cmV0dXJuIFEuX2ludm9rZT1mdW5jdGlvbihBLEksZyl7dmFyIEI9dztyZXR1cm4gZnVuY3Rpb24oQyxRKXtpZihCPT09Ryl0aHJvdyBuZXcgRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXCIpO2lmKEI9PT1oKXtpZihcInRocm93XCI9PT1DKXRocm93IFE7cmV0dXJuIEooKX1mb3IoZy5tZXRob2Q9QyxnLmFyZz1ROzspe3ZhciBFPWcuZGVsZWdhdGU7aWYoRSl7dmFyIGk9ayhFLGcpO2lmKGkpe2lmKGk9PT1zKWNvbnRpbnVlO3JldHVybiBpfX1pZihcIm5leHRcIj09PWcubWV0aG9kKWcuc2VudD1nLl9zZW50PWcuYXJnO2Vsc2UgaWYoXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEI9PT13KXRocm93IEI9aCxnLmFyZztnLmRpc3BhdGNoRXhjZXB0aW9uKGcuYXJnKX1lbHNlXCJyZXR1cm5cIj09PWcubWV0aG9kJiZnLmFicnVwdChcInJldHVyblwiLGcuYXJnKTtCPUc7dmFyIG89YShBLEksZyk7aWYoXCJub3JtYWxcIj09PW8udHlwZSl7aWYoQj1nLmRvbmU/aDpGLG8uYXJnPT09cyljb250aW51ZTtyZXR1cm57dmFsdWU6by5hcmcsZG9uZTpnLmRvbmV9fVwidGhyb3dcIj09PW8udHlwZSYmKEI9aCxnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9by5hcmcpfX19KEEsZyxFKSxRfWZ1bmN0aW9uIGEoQSxJLGcpe3RyeXtyZXR1cm57dHlwZTpcIm5vcm1hbFwiLGFyZzpBLmNhbGwoSSxnKX19Y2F0Y2goQSl7cmV0dXJue3R5cGU6XCJ0aHJvd1wiLGFyZzpBfX19QS53cmFwPUQ7dmFyIHc9XCJzdXNwZW5kZWRTdGFydFwiLEY9XCJzdXNwZW5kZWRZaWVsZFwiLEc9XCJleGVjdXRpbmdcIixoPVwiY29tcGxldGVkXCIscz17fTtmdW5jdGlvbiBSKCl7fWZ1bmN0aW9uIFUoKXt9ZnVuY3Rpb24geSgpe312YXIgdD17fTtvKHQsUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgUz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsTT1TJiZTKFMoZShbXSkpKTtNJiZNIT09ZyYmQi5jYWxsKE0sUSkmJih0PU0pO3ZhciBuPXkucHJvdG90eXBlPVIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCk7ZnVuY3Rpb24gYyhBKXtbXCJuZXh0XCIsXCJ0aHJvd1wiLFwicmV0dXJuXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe28oQSxJLChmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5faW52b2tlKEksQSl9KSl9KSl9ZnVuY3Rpb24gcihBLEkpe2Z1bmN0aW9uIGcoQyxRLEUsaSl7dmFyIG89YShBW0NdLEEsUSk7aWYoXCJ0aHJvd1wiIT09by50eXBlKXt2YXIgRD1vLmFyZyx3PUQudmFsdWU7cmV0dXJuIHcmJlwib2JqZWN0XCI9PXR5cGVvZiB3JiZCLmNhbGwodyxcIl9fYXdhaXRcIik/SS5yZXNvbHZlKHcuX19hd2FpdCkudGhlbigoZnVuY3Rpb24oQSl7ZyhcIm5leHRcIixBLEUsaSl9KSwoZnVuY3Rpb24oQSl7ZyhcInRocm93XCIsQSxFLGkpfSkpOkkucmVzb2x2ZSh3KS50aGVuKChmdW5jdGlvbihBKXtELnZhbHVlPUEsRShEKX0pLChmdW5jdGlvbihBKXtyZXR1cm4gZyhcInRocm93XCIsQSxFLGkpfSkpfWkoby5hcmcpfXZhciBDO3RoaXMuX2ludm9rZT1mdW5jdGlvbihBLEIpe2Z1bmN0aW9uIFEoKXtyZXR1cm4gbmV3IEkoKGZ1bmN0aW9uKEksQyl7ZyhBLEIsSSxDKX0pKX1yZXR1cm4gQz1DP0MudGhlbihRLFEpOlEoKX19ZnVuY3Rpb24gayhBLGcpe3ZhciBCPUEuaXRlcmF0b3JbZy5tZXRob2RdO2lmKEI9PT1JKXtpZihnLmRlbGVnYXRlPW51bGwsXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEEuaXRlcmF0b3IucmV0dXJuJiYoZy5tZXRob2Q9XCJyZXR1cm5cIixnLmFyZz1JLGsoQSxnKSxcInRocm93XCI9PT1nLm1ldGhvZCkpcmV0dXJuIHM7Zy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kXCIpfXJldHVybiBzfXZhciBDPWEoQixBLml0ZXJhdG9yLGcuYXJnKTtpZihcInRocm93XCI9PT1DLnR5cGUpcmV0dXJuIGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1DLmFyZyxnLmRlbGVnYXRlPW51bGwsczt2YXIgUT1DLmFyZztyZXR1cm4gUT9RLmRvbmU/KGdbQS5yZXN1bHROYW1lXT1RLnZhbHVlLGcubmV4dD1BLm5leHRMb2MsXCJyZXR1cm5cIiE9PWcubWV0aG9kJiYoZy5tZXRob2Q9XCJuZXh0XCIsZy5hcmc9SSksZy5kZWxlZ2F0ZT1udWxsLHMpOlE6KGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1uZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIiksZy5kZWxlZ2F0ZT1udWxsLHMpfWZ1bmN0aW9uIEsoQSl7dmFyIEk9e3RyeUxvYzpBWzBdfTsxIGluIEEmJihJLmNhdGNoTG9jPUFbMV0pLDIgaW4gQSYmKEkuZmluYWxseUxvYz1BWzJdLEkuYWZ0ZXJMb2M9QVszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goSSl9ZnVuY3Rpb24gTihBKXt2YXIgST1BLmNvbXBsZXRpb258fHt9O0kudHlwZT1cIm5vcm1hbFwiLGRlbGV0ZSBJLmFyZyxBLmNvbXBsZXRpb249SX1mdW5jdGlvbiBZKEEpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzpcInJvb3RcIn1dLEEuZm9yRWFjaChLLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGUoQSl7aWYoQSl7dmFyIGc9QVtRXTtpZihnKXJldHVybiBnLmNhbGwoQSk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5uZXh0KXJldHVybiBBO2lmKCFpc05hTihBLmxlbmd0aCkpe3ZhciBDPS0xLEU9ZnVuY3Rpb24gZygpe2Zvcig7KytDPEEubGVuZ3RoOylpZihCLmNhbGwoQSxDKSlyZXR1cm4gZy52YWx1ZT1BW0NdLGcuZG9uZT0hMSxnO3JldHVybiBnLnZhbHVlPUksZy5kb25lPSEwLGd9O3JldHVybiBFLm5leHQ9RX19cmV0dXJue25leHQ6Sn19ZnVuY3Rpb24gSigpe3JldHVybnt2YWx1ZTpJLGRvbmU6ITB9fXJldHVybiBVLnByb3RvdHlwZT15LG8obixcImNvbnN0cnVjdG9yXCIseSksbyh5LFwiY29uc3RydWN0b3JcIixVKSxVLmRpc3BsYXlOYW1lPW8oeSxpLFwiR2VuZXJhdG9yRnVuY3Rpb25cIiksQS5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKEEpe3ZhciBJPVwiZnVuY3Rpb25cIj09dHlwZW9mIEEmJkEuY29uc3RydWN0b3I7cmV0dXJuISFJJiYoST09PVV8fFwiR2VuZXJhdG9yRnVuY3Rpb25cIj09PShJLmRpc3BsYXlOYW1lfHxJLm5hbWUpKX0sQS5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEseSk6KEEuX19wcm90b19fPXksbyhBLGksXCJHZW5lcmF0b3JGdW5jdGlvblwiKSksQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuKSxBfSxBLmF3cmFwPWZ1bmN0aW9uKEEpe3JldHVybntfX2F3YWl0OkF9fSxjKHIucHJvdG90eXBlKSxvKHIucHJvdG90eXBlLEUsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksQS5Bc3luY0l0ZXJhdG9yPXIsQS5hc3luYz1mdW5jdGlvbihJLGcsQixDLFEpe3ZvaWQgMD09PVEmJihRPVByb21pc2UpO3ZhciBFPW5ldyByKEQoSSxnLEIsQyksUSk7cmV0dXJuIEEuaXNHZW5lcmF0b3JGdW5jdGlvbihnKT9FOkUubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmRvbmU/QS52YWx1ZTpFLm5leHQoKX0pKX0sYyhuKSxvKG4saSxcIkdlbmVyYXRvclwiKSxvKG4sUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxvKG4sXCJ0b1N0cmluZ1wiLChmdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBHZW5lcmF0b3JdXCJ9KSksQS5rZXlzPWZ1bmN0aW9uKEEpe3ZhciBJPVtdO2Zvcih2YXIgZyBpbiBBKUkucHVzaChnKTtyZXR1cm4gSS5yZXZlcnNlKCksZnVuY3Rpb24gZygpe2Zvcig7SS5sZW5ndGg7KXt2YXIgQj1JLnBvcCgpO2lmKEIgaW4gQSlyZXR1cm4gZy52YWx1ZT1CLGcuZG9uZT0hMSxnfXJldHVybiBnLmRvbmU9ITAsZ319LEEudmFsdWVzPWUsWS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlkscmVzZXQ6ZnVuY3Rpb24oQSl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9SSx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMuYXJnPUksdGhpcy50cnlFbnRyaWVzLmZvckVhY2goTiksIUEpZm9yKHZhciBnIGluIHRoaXMpXCJ0XCI9PT1nLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsZykmJiFpc05hTigrZy5zbGljZSgxKSkmJih0aGlzW2ddPUkpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm4gdGhpcy5ydmFsfSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbihBKXtpZih0aGlzLmRvbmUpdGhyb3cgQTt2YXIgZz10aGlzO2Z1bmN0aW9uIEMoQixDKXtyZXR1cm4gaS50eXBlPVwidGhyb3dcIixpLmFyZz1BLGcubmV4dD1CLEMmJihnLm1ldGhvZD1cIm5leHRcIixnLmFyZz1JKSwhIUN9Zm9yKHZhciBRPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtRPj0wOy0tUSl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW1FdLGk9RS5jb21wbGV0aW9uO2lmKFwicm9vdFwiPT09RS50cnlMb2MpcmV0dXJuIEMoXCJlbmRcIik7aWYoRS50cnlMb2M8PXRoaXMucHJldil7dmFyIG89Qi5jYWxsKEUsXCJjYXRjaExvY1wiKSxEPUIuY2FsbChFLFwiZmluYWxseUxvY1wiKTtpZihvJiZEKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9ZWxzZSBpZihvKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKX1lbHNle2lmKCFEKXRocm93IG5ldyBFcnJvcihcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XCIpO2lmKHRoaXMucHJldjxFLmZpbmFsbHlMb2MpcmV0dXJuIEMoRS5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtnPj0wOy0tZyl7dmFyIEM9dGhpcy50cnlFbnRyaWVzW2ddO2lmKEMudHJ5TG9jPD10aGlzLnByZXYmJkIuY2FsbChDLFwiZmluYWxseUxvY1wiKSYmdGhpcy5wcmV2PEMuZmluYWxseUxvYyl7dmFyIFE9QzticmVha319USYmKFwiYnJlYWtcIj09PUF8fFwiY29udGludWVcIj09PUEpJiZRLnRyeUxvYzw9SSYmSTw9US5maW5hbGx5TG9jJiYoUT1udWxsKTt2YXIgRT1RP1EuY29tcGxldGlvbjp7fTtyZXR1cm4gRS50eXBlPUEsRS5hcmc9SSxRPyh0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLm5leHQ9US5maW5hbGx5TG9jLHMpOnRoaXMuY29tcGxldGUoRSl9LGNvbXBsZXRlOmZ1bmN0aW9uKEEsSSl7aWYoXCJ0aHJvd1wiPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVyblwiYnJlYWtcIj09PUEudHlwZXx8XCJjb250aW51ZVwiPT09QS50eXBlP3RoaXMubmV4dD1BLmFyZzpcInJldHVyblwiPT09QS50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9QS5hcmcsdGhpcy5tZXRob2Q9XCJyZXR1cm5cIix0aGlzLm5leHQ9XCJlbmRcIik6XCJub3JtYWxcIj09PUEudHlwZSYmSSYmKHRoaXMubmV4dD1JKSxzfSxmaW5pc2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtJPj0wOy0tSSl7dmFyIGc9dGhpcy50cnlFbnRyaWVzW0ldO2lmKGcuZmluYWxseUxvYz09PUEpcmV0dXJuIHRoaXMuY29tcGxldGUoZy5jb21wbGV0aW9uLGcuYWZ0ZXJMb2MpLE4oZyksc319LGNhdGNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLnRyeUxvYz09PUEpe3ZhciBCPWcuY29tcGxldGlvbjtpZihcInRocm93XCI9PT1CLnR5cGUpe3ZhciBDPUIuYXJnO04oZyl9cmV0dXJuIEN9fXRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihBLGcsQil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOmUoQSkscmVzdWx0TmFtZTpnLG5leHRMb2M6Qn0sXCJuZXh0XCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPUkpLHN9fSxBfShBLmV4cG9ydHMpO3RyeXtyZWdlbmVyYXRvclJ1bnRpbWU9SX1jYXRjaChBKXtcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzLnJlZ2VuZXJhdG9yUnVudGltZT1JOkZ1bmN0aW9uKFwiclwiLFwicmVnZW5lcmF0b3JSdW50aW1lID0gclwiKShJKX19LDY1NDooKT0+e30sMjMxOigpPT57fSw3MDM6KCk9Pnt9fSxJPXt9O2Z1bmN0aW9uIGcoQil7dmFyIEM9SVtCXTtpZih2b2lkIDAhPT1DKXJldHVybiBDLmV4cG9ydHM7dmFyIFE9SVtCXT17ZXhwb3J0czp7fX07cmV0dXJuIEFbQl0oUSxRLmV4cG9ydHMsZyksUS5leHBvcnRzfWcubj1BPT57dmFyIEk9QSYmQS5fX2VzTW9kdWxlPygpPT5BLmRlZmF1bHQ6KCk9PkE7cmV0dXJuIGcuZChJLHthOkl9KSxJfSxnLmQ9KEEsSSk9Pntmb3IodmFyIEIgaW4gSSlnLm8oSSxCKSYmIWcubyhBLEIpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLHtlbnVtZXJhYmxlOiEwLGdldDpJW0JdfSl9LGcuZz1mdW5jdGlvbigpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKX1jYXRjaChBKXtpZihcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLGcubz0oQSxJKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEEsSSk7dmFyIEI9e307cmV0dXJuKCgpPT57XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gQShBLEksZyxCLEMsUSxFKXt0cnl7dmFyIGk9QVtRXShFKSxvPWkudmFsdWV9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgZyhBKX1pLmRvbmU/SShvKTpQcm9taXNlLnJlc29sdmUobykudGhlbihCLEMpfWZ1bmN0aW9uIEkoSSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGc9dGhpcyxCPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEMsUSl7dmFyIEU9SS5hcHBseShnLEIpO2Z1bmN0aW9uIGkoSSl7QShFLEMsUSxpLG8sXCJuZXh0XCIsSSl9ZnVuY3Rpb24gbyhJKXtBKEUsQyxRLGksbyxcInRocm93XCIsSSl9aSh2b2lkIDApfSkpfX1mdW5jdGlvbiBDKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBRKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspe3ZhciBCPUlbZ107Qi5lbnVtZXJhYmxlPUIuZW51bWVyYWJsZXx8ITEsQi5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gQiYmKEIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIua2V5LEIpfX1mdW5jdGlvbiBFKEEsSSxnKXtyZXR1cm4gSSYmUShBLnByb3RvdHlwZSxJKSxnJiZRKEEsZyksQX1nLmQoQix7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPWcoNzU3KSxvPWcubihpKTtmdW5jdGlvbiBEKEEpe3JldHVybiBEPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEF9OmZ1bmN0aW9uKEEpe3JldHVybiBBJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJkEuY29uc3RydWN0b3I9PT1TeW1ib2wmJkEhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIEF9LEQoQSl9dmFyIGEsdz0oYT0oYT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM6dm9pZCAwKXx8XCIvaW5kZXguanNcIixmdW5jdGlvbihBKXtBPXZvaWQgMCE9PShBPUF8fHt9KT9BOnt9O3ZhciBJLEI9e307Zm9yKEkgaW4gQSlBLmhhc093blByb3BlcnR5KEkpJiYoQltJXT1BW0ldKTt2YXIgQz1bXSxRPVwiLi90aGlzLnByb2dyYW1cIixFPWZ1bmN0aW9uKEEsSSl7dGhyb3cgSX0saT0hMSxvPSExLHc9ITEsRj0hMTtpPVwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIHdpbmRvdz9cInVuZGVmaW5lZFwiOkQod2luZG93KSksbz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpbXBvcnRTY3JpcHRzLHc9XCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2YgcHJvY2Vzcz9cInVuZGVmaW5lZFwiOkQocHJvY2VzcykpJiZcIm9iamVjdFwiPT09RChwcm9jZXNzLnZlcnNpb25zKSYmXCJzdHJpbmdcIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxGPSFpJiYhdyYmIW87dmFyIEcsaCxzLFIsVT1cIlwiO2Z1bmN0aW9uIHkoSSl7cmV0dXJuIEEubG9jYXRlRmlsZT9BLmxvY2F0ZUZpbGUoSSxVKTpVK0l9dz8oVT1vP2coNzAzKS5kaXJuYW1lKFUpK1wiL1wiOlwiLy9cIixHPWZ1bmN0aW9uKEEsSSl7dmFyIEI9amcoQSk7cmV0dXJuIEI/ST9COkIudG9TdHJpbmcoKTooc3x8KHM9ZygyMzEpKSxSfHwoUj1nKDcwMykpLEE9Ui5ub3JtYWxpemUoQSkscy5yZWFkRmlsZVN5bmMoQSxJP251bGw6XCJ1dGY4XCIpKX0saD1mdW5jdGlvbihBKXt2YXIgST1HKEEsITApO3JldHVybiBJLmJ1ZmZlcnx8KEk9bmV3IFVpbnQ4QXJyYXkoSSkpLEgoSS5idWZmZXIpLEl9LHByb2Nlc3MuYXJndi5sZW5ndGg+MSYmKFE9cHJvY2Vzcy5hcmd2WzFdLnJlcGxhY2UoL1xcXFwvZyxcIi9cIikpLEM9cHJvY2Vzcy5hcmd2LnNsaWNlKDIpLHByb2Nlc3Mub24oXCJ1bmNhdWdodEV4Y2VwdGlvblwiLChmdW5jdGlvbihBKXtpZighKEEgaW5zdGFuY2VvZiBOQikpdGhyb3cgQX0pKSxwcm9jZXNzLm9uKFwidW5oYW5kbGVkUmVqZWN0aW9uXCIsSkEpLEU9ZnVuY3Rpb24oQSl7cHJvY2Vzcy5leGl0KEEpfSxBLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm5cIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdXCJ9KTpGPyhcInVuZGVmaW5lZFwiIT10eXBlb2YgcmVhZCYmKEc9ZnVuY3Rpb24oQSl7dmFyIEk9amcoQSk7cmV0dXJuIEk/VmcoSSk6cmVhZChBKX0pLGg9ZnVuY3Rpb24oQSl7dmFyIEk7cmV0dXJuKEk9amcoQSkpP0k6XCJmdW5jdGlvblwiPT10eXBlb2YgcmVhZGJ1ZmZlcj9uZXcgVWludDhBcnJheShyZWFkYnVmZmVyKEEpKTooSChcIm9iamVjdFwiPT09RChJPXJlYWQoQSxcImJpbmFyeVwiKSkpLEkpfSxcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2NyaXB0QXJncz9DPXNjcmlwdEFyZ3M6dm9pZCAwIT09YXJndW1lbnRzJiYoQz1hcmd1bWVudHMpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHF1aXQmJihFPWZ1bmN0aW9uKEEpe3F1aXQoQSl9KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJpbnQmJihcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcmludEVycj9wcmludEVycjpwcmludCkpOihpfHxvKSYmKG8/VT1zZWxmLmxvY2F0aW9uLmhyZWY6ZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKFU9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLGEmJihVPWEpLFU9MCE9PVUuaW5kZXhPZihcImJsb2I6XCIpP1Uuc3Vic3RyKDAsVS5sYXN0SW5kZXhPZihcIi9cIikrMSk6XCJcIixHPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcIkdFVFwiLEEsITEpLEkuc2VuZChudWxsKSxJLnJlc3BvbnNlVGV4dH1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBWZyhnKTt0aHJvdyBJfX0sbyYmKGg9ZnVuY3Rpb24oQSl7dHJ5e3ZhciBJPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gSS5vcGVuKFwiR0VUXCIsQSwhMSksSS5yZXNwb25zZVR5cGU9XCJhcnJheWJ1ZmZlclwiLEkuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShJLnJlc3BvbnNlKX1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBnO3Rocm93IEl9fSkpO3ZhciB0PUEucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksUz1BLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3IoSSBpbiBCKUIuaGFzT3duUHJvcGVydHkoSSkmJihBW0ldPUJbSV0pO2Z1bmN0aW9uIE0oQSl7dmFyIEk9QUFbaUE+PjJdLGc9SStBKzE1Ji0xNjtyZXR1cm4gZz5TZygpJiZKQSgpLEFBW2lBPj4yXT1nLEl9Qj1udWxsLEEuYXJndW1lbnRzJiYoQz1BLmFyZ3VtZW50cyksQS50aGlzUHJvZ3JhbSYmKFE9QS50aGlzUHJvZ3JhbSksQS5xdWl0JiYoRT1BLnF1aXQpO3ZhciBuLGMscixrPXtcImY2NC1yZW1cIjpmdW5jdGlvbihBLEkpe3JldHVybiBBJUl9LGRlYnVnZ2VyOmZ1bmN0aW9uKCl7fX0sSz0obmV3IEFycmF5KDApLDApLE49ZnVuY3Rpb24oQSl7Sz1BfSxZPWZ1bmN0aW9uKCl7cmV0dXJuIEt9O0Eud2FzbUJpbmFyeSYmKG49QS53YXNtQmluYXJ5KSxBLm5vRXhpdFJ1bnRpbWUmJihjPUEubm9FeGl0UnVudGltZSksXCJvYmplY3RcIiE9PShcInVuZGVmaW5lZFwiPT10eXBlb2YgV2ViQXNzZW1ibHk/XCJ1bmRlZmluZWRcIjpEKFdlYkFzc2VtYmx5KSkmJlMoXCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkXCIpO3ZhciBlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7aW5pdGlhbDo4NzgsbWF4aW11bTo4NzgsZWxlbWVudDpcImFueWZ1bmNcIn0pLEo9ITE7ZnVuY3Rpb24gSChBLEkpe0F8fEpBKFwiQXNzZXJ0aW9uIGZhaWxlZDogXCIrSSl9ZnVuY3Rpb24gTChBKXtyZXR1cm4gaEE/UkIoQSk6TShBKX12YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFwidXRmOFwiKTp2b2lkIDA7ZnVuY3Rpb24gZChBLEksZyl7Zm9yKHZhciBCPUkrZyxDPUk7QVtDXSYmIShDPj1CKTspKytDO2lmKEMtST4xNiYmQS5zdWJhcnJheSYmcSlyZXR1cm4gcS5kZWNvZGUoQS5zdWJhcnJheShJLEMpKTtmb3IodmFyIFE9XCJcIjtJPEM7KXt2YXIgRT1BW0krK107aWYoMTI4JkUpe3ZhciBpPTYzJkFbSSsrXTtpZigxOTIhPSgyMjQmRSkpe3ZhciBvPTYzJkFbSSsrXTtpZigoRT0yMjQ9PSgyNDAmRSk/KDE1JkUpPDwxMnxpPDw2fG86KDcmRSk8PDE4fGk8PDEyfG88PDZ8NjMmQVtJKytdKTw2NTUzNilRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpO2Vsc2V7dmFyIEQ9RS02NTUzNjtRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEQ+PjEwLDU2MzIwfDEwMjMmRCl9fWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmRSk8PDZ8aSl9ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpfXJldHVybiBRfWZ1bmN0aW9uIGYoQSxJKXtyZXR1cm4gQT9kKHosQSxJKTpcIlwifWZ1bmN0aW9uIGwoQSxJLGcsQil7aWYoIShCPjApKXJldHVybiAwO2Zvcih2YXIgQz1nLFE9ZytCLTEsRT0wO0U8QS5sZW5ndGg7KytFKXt2YXIgaT1BLmNoYXJDb2RlQXQoRSk7aWYoaT49NTUyOTYmJmk8PTU3MzQzJiYoaT02NTUzNisoKDEwMjMmaSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK0UpKSxpPD0xMjcpe2lmKGc+PVEpYnJlYWs7SVtnKytdPWl9ZWxzZSBpZihpPD0yMDQ3KXtpZihnKzE+PVEpYnJlYWs7SVtnKytdPTE5MnxpPj42LElbZysrXT0xMjh8NjMmaX1lbHNlIGlmKGk8PTY1NTM1KXtpZihnKzI+PVEpYnJlYWs7SVtnKytdPTIyNHxpPj4xMixJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfWVsc2V7aWYoZyszPj1RKWJyZWFrO0lbZysrXT0yNDB8aT4+MTgsSVtnKytdPTEyOHxpPj4xMiY2MyxJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfX1yZXR1cm4gSVtnXT0wLGctQ31mdW5jdGlvbiB1KEEsSSxnKXtyZXR1cm4gbChBLHosSSxnKX1mdW5jdGlvbiBXKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKEI9NjU1MzYrKCgxMDIzJkIpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytnKSksQjw9MTI3PysrSTpJKz1CPD0yMDQ3PzI6Qjw9NjU1MzU/Mzo0fXJldHVybiBJfXZhciBwPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXCJ1dGYtMTZsZVwiKTp2b2lkIDA7ZnVuY3Rpb24gWihBKXtmb3IodmFyIEk9QSxnPUk+PjE7X1tnXTspKytnO2lmKChJPWc8PDEpLUE+MzImJnApcmV0dXJuIHAuZGVjb2RlKHouc3ViYXJyYXkoQSxJKSk7Zm9yKHZhciBCPTAsQz1cIlwiOzspe3ZhciBRPV9bQSsyKkI+PjFdO2lmKDA9PVEpcmV0dXJuIEM7KytCLEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUSl9fWZ1bmN0aW9uIGIoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8MilyZXR1cm4gMDtmb3IodmFyIEI9SSxDPShnLT0yKTwyKkEubGVuZ3RoP2cvMjpBLmxlbmd0aCxRPTA7UTxDOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO19bST4+MV09RSxJKz0yfXJldHVybiBfW0k+PjFdPTAsSS1CfWZ1bmN0aW9uIHgoQSl7cmV0dXJuIDIqQS5sZW5ndGh9ZnVuY3Rpb24gbShBKXtmb3IodmFyIEk9MCxnPVwiXCI7Oyl7dmFyIEI9QUFbQSs0Kkk+PjJdO2lmKDA9PUIpcmV0dXJuIGc7aWYoKytJLEI+PTY1NTM2KXt2YXIgQz1CLTY1NTM2O2crPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Qz4+MTAsNTYzMjB8MTAyMyZDKX1lbHNlIGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoQil9fWZ1bmN0aW9uIFgoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8NClyZXR1cm4gMDtmb3IodmFyIEI9SSxDPUIrZy00LFE9MDtRPEEubGVuZ3RoOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO2lmKEU+PTU1Mjk2JiZFPD01NzM0MyYmKEU9NjU1MzYrKCgxMDIzJkUpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytRKSksQUFbST4+Ml09RSwoSSs9NCkrND5DKWJyZWFrfXJldHVybiBBQVtJPj4yXT0wLEktQn1mdW5jdGlvbiBWKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKytnLEkrPTR9cmV0dXJuIEl9ZnVuY3Rpb24gTyhBKXt2YXIgST1XKEEpKzEsZz1SQihJKTtyZXR1cm4gZyYmbChBLHYsZyxJKSxnfWZ1bmN0aW9uIFQoQSxJKXt2LnNldChBLEkpfWZ1bmN0aW9uIGooQSxJLGcpe2Zvcih2YXIgQj0wO0I8QS5sZW5ndGg7KytCKXZbSSsrPj4wXT1BLmNoYXJDb2RlQXQoQik7Z3x8KHZbST4+MF09MCl9dmFyIFAsdix6LF8sJCxBQSxJQSxnQSxCQSxDQT02NTUzNjtmdW5jdGlvbiBRQShJKXtQPUksQS5IRUFQOD12PW5ldyBJbnQ4QXJyYXkoSSksQS5IRUFQMTY9Xz1uZXcgSW50MTZBcnJheShJKSxBLkhFQVAzMj1BQT1uZXcgSW50MzJBcnJheShJKSxBLkhFQVBVOD16PW5ldyBVaW50OEFycmF5KEkpLEEuSEVBUFUxNj0kPW5ldyBVaW50MTZBcnJheShJKSxBLkhFQVBVMzI9SUE9bmV3IFVpbnQzMkFycmF5KEkpLEEuSEVBUEYzMj1nQT1uZXcgRmxvYXQzMkFycmF5KEkpLEEuSEVBUEY2ND1CQT1uZXcgRmxvYXQ2NEFycmF5KEkpfXZhciBFQT01MzA0MTc2LGlBPTYxMTA0LG9BPUEuVE9UQUxfTUVNT1JZfHwyNjg0MzU0NTY7ZnVuY3Rpb24gREEoSSl7Zm9yKDtJLmxlbmd0aD4wOyl7dmFyIGc9SS5zaGlmdCgpO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGcpe3ZhciBCPWcuZnVuYztcIm51bWJlclwiPT10eXBlb2YgQj92b2lkIDA9PT1nLmFyZz9BLmR5bkNhbGxfdihCKTpBLmR5bkNhbGxfdmkoQixnLmFyZyk6Qih2b2lkIDA9PT1nLmFyZz9udWxsOmcuYXJnKX1lbHNlIGcoKX19KHI9QS53YXNtTWVtb3J5P0Eud2FzbU1lbW9yeTpuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOm9BL0NBLG1heGltdW06b0EvQ0F9KSkmJihQPXIuYnVmZmVyKSxvQT1QLmJ5dGVMZW5ndGgsUUEoUCksQUFbaUE+PjJdPUVBO3ZhciBhQT1bXSx3QT1bXSxGQT1bXSxHQT1bXSxoQT0hMTtmdW5jdGlvbiBzQSgpe2lmKEEucHJlUnVuKWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZVJ1biYmKEEucHJlUnVuPVtBLnByZVJ1bl0pO0EucHJlUnVuLmxlbmd0aDspdEEoQS5wcmVSdW4uc2hpZnQoKSk7REEoYUEpfWZ1bmN0aW9uIFJBKCl7aEE9ITAsQS5ub0ZTSW5pdHx8aUkuaW5pdC5pbml0aWFsaXplZHx8aUkuaW5pdCgpLFFJLmluaXQoKSxEQSh3QSl9ZnVuY3Rpb24gVUEoKXtpSS5pZ25vcmVQZXJtaXNzaW9ucz0hMSxEQShGQSl9ZnVuY3Rpb24geUEoKXtpZihBLnBvc3RSdW4pZm9yKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEucG9zdFJ1biYmKEEucG9zdFJ1bj1bQS5wb3N0UnVuXSk7QS5wb3N0UnVuLmxlbmd0aDspU0EoQS5wb3N0UnVuLnNoaWZ0KCkpO0RBKEdBKX1mdW5jdGlvbiB0QShBKXthQS51bnNoaWZ0KEEpfWZ1bmN0aW9uIFNBKEEpe0dBLnVuc2hpZnQoQSl9dmFyIE1BPU1hdGguYWJzLG5BPU1hdGguY2VpbCxjQT1NYXRoLmZsb29yLHJBPU1hdGgubWluLGtBPTAsS0E9bnVsbCxOQT1udWxsO2Z1bmN0aW9uIFlBKEkpe2tBKyssQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpfWZ1bmN0aW9uIGVBKEkpe2lmKGtBLS0sQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpLDA9PWtBJiYobnVsbCE9PUtBJiYoY2xlYXJJbnRlcnZhbChLQSksS0E9bnVsbCksTkEpKXt2YXIgZz1OQTtOQT1udWxsLGcoKX19ZnVuY3Rpb24gSkEoSSl7dGhyb3cgQS5vbkFib3J0JiZBLm9uQWJvcnQoSSksdChJKz1cIlwiKSxTKEkpLEo9ITAsST1cImFib3J0KFwiK0krXCIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLlwiLG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoSSl9QS5wcmVsb2FkZWRJbWFnZXM9e30sQS5wcmVsb2FkZWRBdWRpb3M9e307dmFyIEhBPVwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LFwiO2Z1bmN0aW9uIExBKEEpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/QS5zdGFydHNXaXRoKEhBKTowPT09QS5pbmRleE9mKEhBKX12YXIgcUEsZEEsZkE9XCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCandoellBRi9BWDlnQVg4QVlBSi9md0YvWUFKL2Z3QmdBMzkvZndGL1lBVi9mMzkvZndCZ0EzOS9md0JnQkg5L2YzOEFZQVYvZjM5L2Z3Ri9ZQVIvZjM5L0FYOWdCbjkvZjM5L2Z3Ri9ZQUFBWUFaL2YzOS9mMzhBWUFkL2YzOS9mMzkvQUdBSWYzOS9mMzkvZjM4QmYyQUhmMzkvZjM5L2Z3Ri9ZQUFCZjJBQmZRRjlZQUYvQVh4Z0JYOS9mMzk4QVg5Z0EzOStmd0YrWUFWL2YzOS9mZ0YvWUFoL2YzOS9mMzkvZndCZ0NuOS9mMzkvZjM5L2YzOEFZQU4vZjMwQVlBTi9mM3dBWUFKL2ZBQmdCbjkvZjM5L2ZBRi9ZQU4vZjM4QmZXQUNmWDBCZldBQ2YzOEJmR0FEZjM5L0FYeGdBbng4QVh4Z0NYOS9mMzkvZjM5L2Z3Ri9ZQVovZkg5L2YzOEJmMkFFZjM5L2Z3RitZQUY4QVh4Z0JYOS9mbjkvQUdBQ2YzMEFZQXAvZjM5L2YzOS9mMzkvQVg5Z0RIOS9mMzkvZjM5L2YzOS9md0YvWUFWL2ZYMS9md0YvWUFGOUFYOWdBWDhCZldBR2YzOS9mMzkvQVh4Z0FueC9BWHhnRDM5L2YzOS9mMzkvZjM5L2YzOS9md0JnRFg5L2YzOS9mWDE5ZlgxOWZYMEFZQVIvZjM5OUFHQUZmMzk5Zlg4QVlBVi9mWDE5ZlFCZ0JuOThmSDkvZndCZ0MzOS9mMzkvZjM5L2YzOS9BWDlnRVg5L2YzOS9mMzkvZjMxOWZYMTlmWDE5QVg5Z0JuOS9mWDEvZndGL1lBSitmd0YvWUFGOEFYOWdCSDkvZjM0QmZtQUNmMzhCZldBRWYzOS9md0Y5WUFOL2ZYMEJmV0FCZkFGOVlBbC9mMzkvZjM5L2YzOEFZQkYvZjM5L2YzOS9mMzk5ZlgxOWZYMTlmUUJnQm45L2YzOS9mUUJnQ0g5L2YzOS9mWDE5QUdBSmYzOS9mMzk5ZlgxOUFHQUZmMzkvZlgwQVlBZC9mMzk5ZlgxL0FHQUVmMzkvZkFCZ0EzOS9mZ0JnQm45L2ZYOTlmd0JnQW45K0FHQURmMzUvQUdBRGYzMTlBR0FFZjMxOWZ3QmdCbjk5ZlgxOWZ3QmdCSDk4Zkg4QVlBeC9mMzkvZjM5L2YzOS9mSDhCZjJBT2YzOS9mMzkvZjM5L2YzeC9mMzhCZjJBVGYzOS9mMzkvZjM5L2ZIOS9mMzkvZjM5L2Z3Ri9ZQXgvZjM5L2YzOS9mMzEvZjM4QmYyQWlmMzkvZjM5L2YzOThmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZ3Ri9ZQWQvZjM5L2YzOThBWDlnQjM5L2YzOThmMzhCZjJBRGYzOTlBWDlnQlg5L2ZYMS9BWDlnQjM5L2ZIOS9mMzhCZjJBUGYzOThmSHg4Zkh4OGZIeDhmSHg4QVg5Z0JIOStmMzhCZjJBQ2YzMEJmMkFGZjMxOWZYMEJmMkFDZjN3QmYyQURmbjkvQVg5Z0FuMS9BWDlnQW54L0FYOWdBWDhCZm1BQ2YzOEJmbUFDZm40QmZtQUZmMzkvZjM4QmZXQUhmMzkvZjM5L2Z3RjlZQWQvZjM5L2YzOTlBWDFnQm45L2YzOS9mUUY5WUFaL2YzOS9mWDBCZldBRWYzOS9mUUY5WUFOL2YzMEJmV0FGZjMxOWYzOEJmV0FDZlg4QmZXQURmWDE5QVgxZ0JIMTlmWDBCZldBRmYzOS9mMzhCZkdBRWYzOThmd0Y4WUFOOGZIOEJmR0FEZkh4OEFYeGdCbng4Zkh4OGZBRjhBcHNFUEFObGJuWUJZUUFMQTJWdWRnRmlBQUVEWlc1MkFXTUFBUU5sYm5ZQlpBQUJBMlZ1ZGdGbEFBWURaVzUyQVdZQUFBTmxibllCWndBREEyVnVkZ0ZvQUJBRFpXNTJBV2tBQmdObGJuWUJhZ0FNQTJWdWRnRnJBQVVEWlc1MkFXd0FFQU5sYm5ZQmJRQUJBMlZ1ZGdGdUFBQURaVzUyQVc4QUFRTmxibllCY0FBREEyVnVkZ0Z4QUFJRFpXNTJBWElBQlFObGJuWUJjd0FHQTJWdWRnRjBBQUFEWlc1MkFYVUFBZ05sYm5ZQmRnQURBMlZ1ZGdGM0FBWURaVzUyQVhnQUdRTmxibllCZVFBQUEyVnVkZ0Y2QUFJRFpXNTJBVUVBQVFObGJuWUJRZ0FIQTJWdWRnRkRBQVlEWlc1MkFVUUFDQWhoYzIweWQyRnpiUWRtTmpRdGNtVnRBQ0FEWlc1MkFVVUFDQU5sYm5ZQlJnQUpBMlZ1ZGdGSEFBa0RaVzUyQVVnQUFBTmxibllCU1FBa0EyVnVkZ0ZLQUFBRFpXNTJBVXNBQkFObGJuWUJUQUFFQTJWdWRnRk5BQkFEWlc1MkFVNEFVZ05sYm5ZQlR3QVBBMlZ1ZGdGUUFCTURaVzUyQVZFQVdBTmxibllCVWdBQ0EyVnVkZ0ZUQUFNRFpXNTJBVlFBQXdObGJuWUJWUUFGQTJWdWRnRldBQWtEWlc1MkFWY0FDUU5sYm5ZQldBQUNBMlZ1ZGdGWkFBSURaVzUyQVZvQUFnTmxibllCWHdBQ0EyVnVkZ0VrQUFFRFpXNTJERjlmZEdGaWJHVmZZbUZ6WlFOL0FBWm5iRzlpWVd3RFRtRk9BM3dBQm1kc2IySmhiQWhKYm1acGJtbDBlUU44QUFObGJuWUdiV1Z0YjNKNUFnR0FJSUFnQTJWdWRnVjBZV0pzWlFGd0FlNEc3Z1lEeUF2R0N3SUJBZ0lEQVFjQ0FRTUNBQ29BQkFFQkFnRURBd1E4QWdJQ0FBQUFBQUVEQXdCcUt3WVFBZ0VEQUFrQUFRUUdDZ2tDRVFFQkFpa0RBUUFBQmpnQUJRVUlCd01DQXdnRUJnQnRCRWdFQXh3QUF3RUVBQUlER2l3RFBUMHFDUmdCQXdvSUNBZ0pBQjBDTFFnY0F3NE9DaWtHQmdrR1ZBUUpBd2NDQWdBQ0FBUURNQVlZQUNvR0FEY0NBd0lHQWdJQUFnRUhCdzRHQXdZbkFTY0FFU0J3QmdBSkNRSmxaQU1CSFFZR01RTWRBellDQkFJRENBWUNCZ01DQXcwREFBWUFZZ3dDQndaT0Jnb2RPZ01BQWdNREFnTnBCd01DRlJNQ0F3Y0FBQTBOQkE4UEFRTUJBUUlEQVFVREh5TUZDUWdFQkFBQUFBSVFBQVFEQkFNQUJnWUJBd01GQVFBaEJ3SkRBeXdBQndNQ0FRTUJBUUlXYkRFQkF3RURCd01CQVFNSEFRTUhBUXdIREFVREFBTUlBUUFvQlI0QUtBVUJBUUVCY2d4eEJ3WUdFUkVSQUFBQlhnaGZJd2tHQUFBSEFqa0NBQUVBU1MwQ0JnQXRJQ0JoSHpsR0JBSUVBQUVBRUFRQkFRTUFBUWNDQVFJQUFRa0JBZ0VBQXdNWkJoZ0JBUU5aRHdZTUFBRUJBd0VCQmdBREFUb25Bd01yVlVBUEJ3NEhCd0VIQXdFQkFRTURBd0VEYndJREJrOEFEQUFERUFNREF3RUNBUUVCQ2dFR0FSRVJCQU1EQXdNREFRTUhBa3dEQmdFQVZqWU5IQW9KQnlVTkJob1VEeHNKQXdVV0JoWUdCZ1VJQVFFQkFRZ0JEZ0FFTGhjdUZ6UUdOQU1EQVF3QkFRVU1EQU1KQlF3TUFBMEpEUVFLQ1NNSkNTTWNIeDhFQ2dZQ0FnQUJBUUVCQXdFQUJ5VUVBd0VFQVFFQkFRRUJBVE1MQndFQkJCMGtKQWtHQWdZR0FBQmdDQUlCQkFSckJBQUVCZ1lMQXhBSkFnSUJCQUkzWFFJRUF5STRBd1FDSUN4dUJBZ0NCQVFDQVFJQUFnUUJDUlFFRUJRRUFBQUFBZ0VHQVFNQkF3RUFBQUFIQUFBQ0FBQUJBUUVJQUFnQkNnb0pDUUVFQndjSEJ3Y0JBd2NIQVFjQkF3Y05Cd2dOQVFVRkJRVUZCUVVGQUFVSEJ3Y0hCdzBCRFEwTkF3Y0hCd01CQXdFQkFRRUJBUUVCQVFBQkFnSUNBZ0lCQWdJQkFnQUJBUU1CQVFFQ0FBRUJBZ0lDQUFJQ0FnRUJBUUlEQXdBQkF3VUZCUVVGQlFVREJRVUZCUVVGQlFVRkJRZ0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRRUJEd0ptWXd3RkNBUURBZ0FEQ1FNQkFRSUVCQWtFQkFFR0FnSUFIZ0VCQ0FFR0FBTUFBd0FERWdzbUFBTUFBd0FERWhvU0dnc1FVQXNCQUFBQ0FnSUVBQUFHQ0FBQ0FnUUVBZ1FMQUFBQ0FnSUNBQUFFQ3dzU0FRRUdBd0lCQXdJQkF3OERBd1lHQmp3eUJnTTFOVDhIRUFFR0hFb0hRbHNCTHdjSE1nRUJBd01DQmdZSEJnTUJBd1lEQXdjSEF5OE1BZ2dEQUFBQUFBQUVBQUFDQkFJQ0FnSUNBZ0lDQWo1SElRY0JhQUloQWc1UkNUc0VDZ2tFQ1FNREF3SUhBd01CQXdNREF3TUdCZ1lEQmcwREFRSUJBUUVaQ0FFREF3WUdEd2NHQXdNRkR3TUZCZ2NDQVFjQ0F3TURBUUVCQVFFQ0FRRUJBUW9HQ2tzUlFRTUZBUWNBQVFNQkF3TUhBd01EQndFREFRY0ZCUUlCQVFJREF3Tm5EUTBOS3dNR0FnSUVEd05jQXdZV0EwUURBUU1HQXdFREFRTURBd01CQWdNREF3RUJBZ1lEQVFFREF3Y0RBd01DQ0FFSUNBZ0lDZ29EQVFFREF3TURBZ1FDQWdBQ0FRUXBBUW9DRncwb0F3QUFPd0FCQ0FnQURRZ0JEeGdaQUNZTEFDSVFIaEphRmcwTUJRY3dSUUVoRGdBUFV3b2JDQWtFVndJQUJoOGVKQU1BQWdZR0JnTUNDQVlCQXdFRENBUUpBZ1FDQVFRQ0NRa0pCQU1EQXdBQUFRTURBd0FBQVFJSUJBa0NCQUlFQWdFQkFRb0tCQWdPRGdFQUNBQUlEZzRJQ2dvRUNBNE9EQXdLR3dvYkZ3WVBEeGNHRHdnUERBOFBCd1VGQlFNTUJ3VUZCUVVGQlFNTEN3c0FBQUFBQUFBQURnb0tDZ29LQndVRkJRd0hCUVVGQlFVQkJRc0xDd0FBQUFRQUFBQUFEZ29LQ2dvS0J3Z1RFeFVJRlFnSUNBZ1RFeFVJRlFnSUNBZ0VDQWdDQ0FnSUNBb0tDZ29LQ2dvU0Nnb0lDQWdJQ0FnSUNBRUJCZ0VBQ2dvS0Nnb0tDZ29LQkFjSUJBRUhDQUVDQUFBREFnQUFBQU1DQkFNQ0JBTk5DQVFFQUFRRUFBUUJBUkFBQ3dzTEN3c3pDd3NMQ3dzTEN3c0xDd3NMQ3hBUUVBc0hCUXdFQVFBSEJRd0VCd1VNQkFzSENCQUFCaGNFZndGQkFBdC9BVUVBQzM4QlFRQUxmd0ZCOE40REN3ZVRBaTRDWVdFQW5RY0NZbUVBNVFzQ1kyRUErd1FDWkdFQTBRc0NaV0VBNEFRQ1ptRUE2UXNDWjJFQW9BVUNhR0VBMGdzQ2FXRUE1d3NDYW1FQTVnc0NhMkVBNkFzQ2JHRUFPQUp0WVFCRUFtNWhBTjRKQW05aEFOd0pBbkJoQU5zSkFuRmhBTmtKQW5KaEFOZ0pBbk5oQU5jSkFuUmhBTllKQW5WaEFOVUpBblpoQU5RSkFuZGhBTk1KQW5oaEFOSUpBbmxoQU5FSkFucGhBTkFKQWtGaEFNNEpBa0poQU0wSkFrTmhBTGtKQWtSaEFMY0pBa1ZoQU13SkFrWmhBSzREQWtkaEFLOERBa2hoQUxFREFrbGhBTEFEQWtwaEFNc0pBa3RoQU1vSkFreGhBTWtKQWsxaEFNZ0pBazVoQU1jSkFrOWhBTVlKQWxCaEFNVUpBbEZoQUxZSkFsSmhBUHdMQWxOaEFKZ0pBbFJoQVBzTENhRUxBUUFqQUF2dUJzTUorZ2I0QnU4R3dnbmpCc0VKL1FaWXhnaWpCWC92QzM5LzBRVE5DMzkvMFFUS0M4b0V5Z1MrQzcwTHVRdTRDN2NFN0FyckN1b0s2UXJuQ3VZSzVRcTNCTTRLelFyTUNzc0t5Z3JKQ3NnS2tRS1JBbitSQXBFQ2Y1QUNrQUova0FLUUFuOS9mNkFFbWdwL21BcURDb0lLL1FuOENkOEMzd0xmQW45L29BU3VCZnNGUktRRm1nZVpCNVFIa3dlTEI0Z0hod2VDQjRFSDlnYjBCdklHN1FickJ1a0c0Z2FmQm84R2h3Wi90Z1cxQmJNRnNnVllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFl3QW1KQlhxVkNLWUhvd2ViQXBzQ213S2JBc01Md0F1N0M3Y0xqUXFMQ29rSzlBbnhDZThKaFFxbUJaZ0hsd2VXQjVVSGtBZU5CNHdIaFFlRUI0TUgyQWJnQnNrR25BYVlCcGNHbGdhVUJwTUdrZ2FHQm9RR2d3YUJCb0FHL3dYK0JmMEZlbnA2ZW5wNmVucDZlbnA2ZW5wNmVtU2lCWjhGZ2dYM0MrMEwxQVRPQzh3TDFBVExDOGtMeEF2QkM3SUxyd3VoQktFRWpBcUtDb2NLK0FuekNmQUo3UW5EQlpzSGtRZVBCNDRIaGdmYUJ0MEd0UUd2QXBVRlpHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pLMEJpQXIzQ2ZZSjlRbnVDZFFHd1FYQUJhMEJyUUd0QWEwQnJRR3RBYTBCakFML0N2NEs5Z3IxQ293Q2pBS01BcGdCdFF1eEM0UUxnd3VCQy93Syt3cjZDdmdLOUFyaEFxSUttd3FaQ29ZSzdBbmhBcDRLNFFLVUNyd0Z1Z1dZQVpnQm1BR1lBWmdCbUFHWUFaZ0JtQUdPQktvS3FBcU9CR2F1QzYwTHJBdXJDOFlFeGdTcUM2a0xxQXVuQzZZTG1BdVhDNVVMbEF1OEJMd0Vrd3VTQzVFTGtBdVBDL0lLOFFyd0N1OEs3Z3JVQ3RNSzBnclJDdEFLcVFxbkNyOEZ2Z1ZtWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abWFOQkxZS3RRcXpDckVLcmdxdENvMEV5Z0h0Q3M4S3BBcWpDcDBLbkFxZkJKOEVsZ3FWQ3NvQnlnSEtBY29CeWdHTEFvSUxnQXY1Q3ZjS2l3S0xBb3NDakFTaEJaNEZqQVMrQ2ZnTFJzY0MyUWpHQXRnSTdRUEhDR05lbGdoZVhxY0hYbDZrQjE1alhtTmpYdU1FNGdUaUJGNWVuUUxQQzlZRTdRTFFCT3dDbWdMckFzNEV6UVNhQXVzQ3pnVE5CSmtDNmdMTUJNc0VtUUxxQXN3RXl3VHNBdTBDN0FMdEFtTmV0Z3RqWG1OZVkxNWpYbU5lWTE1alhxNEVyUVN1QkswRVkxNWpYbU5lWTE1alhtTmVZMTVqWG1OZVkxNWpYbDZlQkpjS25BU1FDcHNFamdxYUJJUUttUVQrQ1Y1ZVhsNWVzZ21uQllBSHhnYWdCbU9hQnBrR2pRYW5BNHdHZ2daamlRYUlCdmtGK0FWanlRWFBCZFlGWStjRnpRVmp2UVc1QmJjRnJRV3JCYWtGcEF1aUMyTTRSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSb3NFK3diNUJvc0V2UW54QnFJQm5BS2NBc1VMd2d1L0M3b0xqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcVFTdUFhNEJqd0dQQVk4QnFRU3VBYTRCbkFLY0FvRUtnQXIvQ2ZzSitnbjVDYUVHOXdiMUJ2TUc3Z2JzQnVvR3JnT2RCc29GMEFYckJlOEZyZ0tzQmFvRmlBV2lBYUlCb2dHaUFhSUJvZ0dpQWFJQnV3bXZBN29Kc1FPS0JLZ0ZzQU9LQk1rQjlBdndDK29MMGdUU0JMUUxzQXM5MHdYUkJlVUY1QVhqQmVJRjRRWHVCZTBGN0FYT0Jjd0Z5d1hJQmNjRnhnWEZCY1FGeVFISkFja0J5UUhKQVhiMUMvRUw2d3VqQnFRR3BRYW1CcWNHcUFhcUJxc0dyQWF0QnE0R3J3YXdCckVHc2dhekJyVUd0Z2EzQnJnR3VRYTZCcnNHdkFhOUJyNEd2d2JBQnNFR3dnYkRCcUlHeEFiRkJ1QUYzZ1hkQmR3RjJ3WGFCZGtGMkFYWEJYWjJkbloyZG5aMmRuWjJkbloyZG5aMjNBTDJDL0lMN0F1bUNxVUszQUxjQW9rRTFRWFNCZVlGNmdYcEJlZ0ZpUVNJQk5NRTB3U0lCQXFxaXg3R0N3MEFJQUFnQVNBQkVHQVFud2tMeVEwQkNYOGdBRVVFUUE4TFFielJBeWdDQUNFRUlBQkJlR29pQXlBQVFYeHFLQUlBSWdKQmVIRWlBR29oQlNBQ1FRRnhCSDhnQXdVQ2Z5QURLQUlBSVFFZ0FrRURjVVVFUUE4TElBTWdBV3NpQXlBRVNRUkFEd3NnQUNBQmFpRUFJQU5Cd05FREtBSUFSZ1JBSUFNZ0JTZ0NCQ0lCUVFOeFFRTkhEUUVhUWJUUkF5QUFOZ0lBSUFVZ0FVRitjVFlDQkNBRElBQkJBWEkyQWdRZ0FDQURhaUFBTmdJQUR3c2dBVUVEZGlFRUlBRkJnQUpKQkVBZ0F5Z0NDQ0lCSUFNb0Fnd2lBa1lFUUVHczBRTkJyTkVES0FJQVFRRWdCSFJCZjNOeE5nSUFCU0FCSUFJMkFnd2dBaUFCTmdJSUN5QUREQUVMSUFNb0FoZ2hCeUFESUFNb0Fnd2lBVVlFUUFKQUlBTkJFR29pQWtFRWFpSUVLQUlBSWdFRVFDQUVJUUlGSUFJb0FnQWlBVVVFUUVFQUlRRU1BZ3NMQTBBQ1FDQUJRUlJxSWdRb0FnQWlCa1VFUUNBQlFSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFQ0lBWWhBUXdCQ3dzZ0FrRUFOZ0lBQ3dVZ0F5Z0NDQ0lDSUFFMkFnd2dBU0FDTmdJSUN5QUhCSDhnQXlBREtBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQVRZQ0FDQUJSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQUNkRUYvYzNFMkFnQWdBd3dEQ3dVZ0IwRVFhaUlDSUFkQkZHb2dBeUFDS0FJQVJoc2dBVFlDQUNBRElBRkZEUUlhQ3lBQklBYzJBaGdnQXlnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dBeWdDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzZ0F3VWdBd3NMQ3lJSElBVlBCRUFQQ3lBRktBSUVJZ2hCQVhGRkJFQVBDeUFJUVFKeEJFQWdCU0FJUVg1eE5nSUVJQU1nQUVFQmNqWUNCQ0FBSUFkcUlBQTJBZ0FnQUNFQ0JTQUZRY1RSQXlnQ0FFWUVRRUc0MFFNZ0FFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBTTJBZ0FnQXlBQVFRRnlOZ0lFUWNEUkF5Z0NBQ0FEUndSQUR3dEJ3TkVEUVFBMkFnQkJ0TkVEUVFBMkFnQVBDMEhBMFFNb0FnQWdCVVlFUUVHMDBRTWdBRUcwMFFNb0FnQnFJZ0EyQWdCQndORURJQWMyQWdBZ0F5QUFRUUZ5TmdJRUlBQWdCMm9nQURZQ0FBOExJQWhCQTNZaEJDQUlRWUFDU1FSQUlBVW9BZ2dpQVNBRktBSU1JZ0pHQkVCQnJORURRYXpSQXlnQ0FFRUJJQVIwUVg5emNUWUNBQVVnQVNBQ05nSU1JQUlnQVRZQ0NBc0ZBa0FnQlNnQ0dDRUpJQVVvQWd3aUFTQUZSZ1JBQWtBZ0JVRVFhaUlDUVFScUlnUW9BZ0FpQVFSQUlBUWhBZ1VnQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQkNnQ0FDSUdSUVJBSUFGQkVHb2lCQ2dDQUNJR1JRMEJDeUFFSVFJZ0JpRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBRktBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQ0FGS0FJY0lnSkJBblJCM05NRGFpSUVLQUlBSUFWR0JFQWdCQ0FCTmdJQUlBRkZCRUJCc05FRFFiRFJBeWdDQUVFQklBSjBRWDl6Y1RZQ0FBd0RDd1VnQ1VFUWFpSUNJQWxCRkdvZ0FpZ0NBQ0FGUmhzZ0FUWUNBQ0FCUlEwQ0N5QUJJQWsyQWhnZ0JTZ0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQlNnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc0xDd3NnQXlBQUlBaEJlSEZxSWdKQkFYSTJBZ1FnQWlBSGFpQUNOZ0lBSUFOQndORURLQUlBUmdSQVFiVFJBeUFDTmdJQUR3c0xJQUpCQTNZaEFTQUNRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQXpZQ0FDQUJJQU0yQWd3Z0F5QUJOZ0lJSUFNZ0FEWUNEQThMSUFKQkNIWWlBQVIvSUFKQi8vLy9CMHNFZjBFZkJTQUFJQUJCZ1A0L2FrRVFka0VJY1NJQmRDSUVRWURnSDJwQkVIWkJCSEVoQUVFT0lBQWdBWElnQkNBQWRDSUFRWUNBRDJwQkVIWkJBbkVpQVhKcklBQWdBWFJCRDNacUlnQkJBWFFnQWlBQVFRZHFka0VCY1hJTEJVRUFDeUlCUVFKMFFkelRBMm9oQUNBRElBRTJBaHdnQTBFQU5nSVVJQU5CQURZQ0VFR3cwUU1vQWdBaUJFRUJJQUYwSWdaeEJFQUNRQ0FDSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdBa0VBUVJrZ0FVRUJkbXNnQVVFZlJodDBJUVFEUUNBQVFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQVJCQVhRaEJDQUNJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFNMkFnQWdBeUFBTmdJWUlBTWdBellDRENBRElBTTJBZ2dNQWdzTElBRW9BZ2dpQUNBRE5nSU1JQUVnQXpZQ0NDQURJQUEyQWdnZ0F5QUJOZ0lNSUFOQkFEWUNHQXNGUWJEUkF5QUVJQVp5TmdJQUlBQWdBellDQUNBRElBQTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBdEJ6TkVEUWN6UkF5Z0NBRUYvYWlJQU5nSUFJQUFFUUE4TFFmVFVBeUVBQTBBZ0FDZ0NBQ0lEUVFocUlRQWdBdzBBQzBITTBRTkJmellDQUFza0FDQUJCSDhnQUVHQWdJQ0FlRVlnQVVGL1JuRUVmMEVBQlNBQUlBRnRDd1ZCQUFzTElBRUJmeUFBS0FJQUlRSWdBUkNsQ3lFQklBSW9BZ2dnQVVFQ2RHb29BZ0FMREFBZ0FDQUJRUnhxRU9zSkN6a0JBWDhnQUNnQ0FDSUFLQUlFSVFFZ0FDQUJRWDlxTmdJRUlBRkZCRUFnQUNnQ0FDZ0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3M4QUNNR0lRQWpCa0VRYWlRR0lBSkJBRWRCMElVQktBSUFJQUZNY1FSQUlBSXNBQUFFUUNBQUlBTTJBZ0FnQVNBQ0lBQVEyZ2tMQ3lBQUpBWUxpZ0lCQjM4akJpRURJd1pCRUdva0JpQURRUXhxSVFJZ0F5QUFFSmdDSUFNc0FBQUVRQ0FDSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFDUWJqT0F4QTZJUWNnQWhBOElBQWdBQ2dDQUVGMGFpZ0NBR29pQlNnQ0dDRUlRWDhnQlNnQ1RCQkJCRUFnQWlBRkVEc2dBa0dBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVnSUFaQlAzRkJpZ0ZxRVFJQUlRUWdBaEE4SUFVZ0JFRVlkRUVZZFNJRU5nSk1CU0FGS0FKTUlRUUxJQWNvQWdBb0FoQWhCaUFESUFnMkFnZ2dBaUFES0FJSU5nSUFJQWNnQWlBRklBUkIvd0Z4SUFFZ0JrRWZjVUdpQW1vUkNBQkZCRUFnQUNBQUtBSUFRWFJxS0FJQWFpSUJJQUVvQWhCQkJYSVE3Z0VMQ3lBREVKY0NJQU1rQmlBQUM0VUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0FSQUlBRWdBQkNZQWlBQkxBQUFCRUFnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQ0lDS0FJQUtBSVlJUU1nQWlBRFFmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FSQ1hBZ3NnQVNRR0M2Z0JBUVIvSXdZaEFpTUdRUkJxSkFZZ0FpQUFFSmdDSUFJc0FBQUVRQUpBSUFBZ0FDZ0NBRUYwYWlnQ0FHb29BaGdpQXlFRUlBTUVRQ0FFS0FJWUlnVWdCQ2dDSEVZRWZ5QURLQUlBS0FJMElRTWdCQ0FCRUVJZ0EwRS9jVUdLQVdvUkFnQUZJQVFnQlVFQmFqWUNHQ0FGSUFFNkFBQWdBUkJDQzBGL0VFRkZEUUVMSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FoQ1hBaUFDSkFZTEJ3QWdBQ0FCUmdzSUFDQUFRZjhCY1FzNEFDQUFJQUJjQkg5QmdJQ0FnSGdGSUFCREFBQUFUMkFFZjBHQWdJQ0FlQVVnQUVNQUFBRFBYd1IvUVlDQWdJQjRCU0FBcUFzTEN3dTNOUUVNZnlNR0lRb2pCa0VRYWlRR0lBQkI5UUZKQkVCQnJORURLQUlBSWdWQkVDQUFRUXRxUVhoeElBQkJDMGtiSWdKQkEzWWlBSFlpQVVFRGNRUkFJQUZCQVhGQkFYTWdBR29pQWtFRGRFSFUwUU5xSWdBb0FnZ2lBMEVJYWlJRUtBSUFJUUVnQUNBQlJnUkFRYXpSQTBFQklBSjBRWDl6SUFWeE5nSUFCU0FCSUFBMkFnd2dBQ0FCTmdJSUN5QURJQUpCQTNRaUFFRURjallDQkNBQUlBTnFJZ0FnQUNnQ0JFRUJjallDQkNBS0pBWWdCQThMSUFKQnRORURLQUlBSWdsTEJIOGdBUVJBUVFJZ0FIUWlBMEVBSUFOcmNpQUJJQUIwY1NJQVFRQWdBR3R4UVg5cUlnQkJESFpCRUhFaUFTQUFJQUYySWdCQkJYWkJDSEVpQVhJZ0FDQUJkaUlBUVFKMlFRUnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQ2NTSUJjaUFBSUFGMklnQkJBWFpCQVhFaUFYSWdBQ0FCZG1vaUJFRURkRUhVMFFOcUlnQW9BZ2dpQVVFSWFpSUdLQUlBSVFNZ0FDQURSZ1JBUWF6UkEwRUJJQVIwUVg5eklBVnhJZ0EyQWdBRklBTWdBRFlDRENBQUlBTTJBZ2dnQlNFQUN5QUJJQUpCQTNJMkFnUWdBU0FDYWlJRklBUkJBM1FpQXlBQ2F5SUVRUUZ5TmdJRUlBRWdBMm9nQkRZQ0FDQUpCRUJCd05FREtBSUFJUUVnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBMEVCSUFKMElnSWdBSEVFZnlBRFFRaHFJZ0lvQWdBRlFhelJBeUFBSUFKeU5nSUFJQU5CQ0dvaEFpQURDeUVBSUFJZ0FUWUNBQ0FBSUFFMkFnd2dBU0FBTmdJSUlBRWdBellDREF0QnRORURJQVEyQWdCQndORURJQVUyQWdBZ0NpUUdJQVlQQzBHdzBRTW9BZ0FpQ3dSL1FRQWdDMnNnQzNGQmYyb2lBRUVNZGtFUWNTSUJJQUFnQVhZaUFFRUZka0VJY1NJQmNpQUFJQUYySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhjMHdOcUtBSUFJZ1FoQUNBRUtBSUVRWGh4SUFKcklRZ0RRQUpBSUFBb0FoQWlBUVJBSUFFaEFBVWdBQ2dDRkNJQVJRMEJDeUFBSUFRZ0FDZ0NCRUY0Y1NBQ2F5SUJJQWhKSWdNYklRUWdBU0FJSUFNYklRZ01BUXNMSUFJZ0JHb2lEQ0FFU3dSL0lBUW9BaGdoQnlBRUlBUW9BZ3dpQUVZRVFBSkFJQVJCRkdvaUFTZ0NBQ0lBUlFSQUlBUkJFR29pQVNnQ0FDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQXlnQ0FDSUdSUVJBSUFCQkVHb2lBeWdDQUNJR1JRMEJDeUFESVFFZ0JpRUFEQUVMQ3lBQlFRQTJBZ0FMQlNBRUtBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBY0VRQUpBSUFRZ0JDZ0NIQ0lCUVFKMFFkelRBMm9pQXlnQ0FFWUVRQ0FESUFBMkFnQWdBRVVFUUVHdzBRTkJBU0FCZEVGL2N5QUxjVFlDQUF3Q0N3VWdCMEVRYWlBSFFSUnFJQVFnQnlnQ0VFWWJJQUEyQWdBZ0FFVU5BUXNnQUNBSE5nSVlJQVFvQWhBaUFRUkFJQUFnQVRZQ0VDQUJJQUEyQWhnTElBUW9BaFFpQVFSQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3dzZ0NFRVFTUVJBSUFRZ0FpQUlhaUlBUVFOeU5nSUVJQUFnQkdvaUFDQUFLQUlFUVFGeU5nSUVCU0FFSUFKQkEzSTJBZ1FnRENBSVFRRnlOZ0lFSUFnZ0RHb2dDRFlDQUNBSkJFQkJ3TkVES0FJQUlRQWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEFVRUJJQUowSWdJZ0JYRUVmeUFCUVFocUlnSW9BZ0FGUWF6UkF5QUNJQVZ5TmdJQUlBRkJDR29oQWlBQkN5RURJQUlnQURZQ0FDQURJQUEyQWd3Z0FDQUROZ0lJSUFBZ0FUWUNEQXRCdE5FRElBZzJBZ0JCd05FRElBdzJBZ0FMSUFva0JpQUVRUWhxRHdVZ0Fnc0ZJQUlMQlNBQ0N5RUFCU0FBUWI5L1N3UkFRWDhoQUFVQ1FDQUFRUXRxSWdGQmVIRWhBRUd3MFFNb0FnQWlCUVJBUVFBZ0FHc2hCQUpBQWtBZ0FVRUlkaUlCQkg4Z0FFSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1pCZ09BZmFrRVFka0VFY1NFQlFRNGdCaUFCZENJR1FZQ0FEMnBCRUhaQkFuRWlDQ0FCSUFKeWNtc2dCaUFJZEVFUGRtb2lBVUVCZENBQUlBRkJCMnAyUVFGeGNnc0ZRUUFMSWdkQkFuUkIzTk1EYWlnQ0FDSUJCSDlCQUNFQ0lBQkJBRUVaSUFkQkFYWnJJQWRCSDBZYmRDRUdBMzhnQVNnQ0JFRjRjU0FBYXlJSUlBUkpCRUFnQ0FSL0lBZ2hCQ0FCQlVFQUlRUWdBU0VDREFRTElRSUxJQU1nQVNnQ0ZDSURJQU5GSUFNZ0FVRVFhaUFHUVI5MlFRSjBhaWdDQUNJQlJuSWJJUU1nQmtFQmRDRUdJQUVOQUNBQ0N3VkJBQXNpQVNBRGNnUi9JQU1GSUFWQkFpQUhkQ0lCUVFBZ0FXdHljU0lDUlEwRVFRQWhBU0FDUVFBZ0FtdHhRWDlxSWdKQkRIWkJFSEVpQXlBQ0lBTjJJZ0pCQlhaQkNIRWlBM0lnQWlBRGRpSUNRUUoyUVFSeElnTnlJQUlnQTNZaUFrRUJka0VDY1NJRGNpQUNJQU4ySWdKQkFYWkJBWEVpQTNJZ0FpQURkbXBCQW5SQjNOTURhaWdDQUFzaUFnMEFJQUVoQXd3QkN5QUJJUU1nQkNFQkEzOGdBaWdDQkVGNGNTQUFheUlJSUFGSklRWWdDQ0FCSUFZYklRRWdBaUFESUFZYklRTWdBaWdDRUNJRVJRUkFJQUlvQWhRaEJBc2dCQVIvSUFRaEFnd0JCU0FCQ3dzaEJBc2dBd1JBSUFSQnRORURLQUlBSUFCclNRUkFJQUFnQTJvaUJ5QURTd1JBSUFNb0FoZ2hDU0FESUFNb0Fnd2lBVVlFUUFKQUlBTkJGR29pQWlnQ0FDSUJSUVJBSUFOQkVHb2lBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCaWdDQUNJSVJRUkFJQUZCRUdvaUJpZ0NBQ0lJUlEwQkN5QUdJUUlnQ0NFQkRBRUxDeUFDUVFBMkFnQUxCU0FES0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFBSkFJQU1nQXlnQ0hDSUNRUUowUWR6VEEyb2lCaWdDQUVZRVFDQUdJQUUyQWdBZ0FVVUVRRUd3MFFNZ0JVRUJJQUowUVg5emNTSUJOZ0lBREFJTEJTQUpRUkJxSUFsQkZHb2dBeUFKS0FJUVJoc2dBVFlDQUNBQlJRUkFJQVVoQVF3Q0N3c2dBU0FKTmdJWUlBTW9BaEFpQWdSQUlBRWdBallDRUNBQ0lBRTJBaGdMSUFNb0FoUWlBZ1JBSUFFZ0FqWUNGQ0FDSUFFMkFoZ0xJQVVoQVFzRklBVWhBUXNnQkVFUVNRUkFJQU1nQUNBRWFpSUFRUU55TmdJRUlBQWdBMm9pQUNBQUtBSUVRUUZ5TmdJRUJRSkFJQU1nQUVFRGNqWUNCQ0FISUFSQkFYSTJBZ1FnQkNBSGFpQUVOZ0lBSUFSQkEzWWhBaUFFUVlBQ1NRUkFJQUpCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lCUVFFZ0FuUWlBbkVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0J6WUNBQ0FCSUFjMkFnd2dCeUFCTmdJSUlBY2dBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBblFpQmtHQTRCOXFRUkIyUVFSeElRQkJEaUFHSUFCMElnWkJnSUFQYWtFUWRrRUNjU0lGSUFBZ0FuSnlheUFHSUFWMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRQWdCeUFDTmdJY0lBZEJBRFlDRkNBSFFRQTJBaEJCQVNBQ2RDSUdJQUZ4UlFSQVFiRFJBeUFCSUFaeU5nSUFJQUFnQnpZQ0FDQUhJQUEyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdCQ3lBRUlBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQkVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJRFFDQUFRUkJxSUFKQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFKQkFYUWhBaUFFSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBYzJBZ0FnQnlBQU5nSVlJQWNnQnpZQ0RDQUhJQWMyQWdnTUFnc0xJQUVvQWdnaUFDQUhOZ0lNSUFFZ0J6WUNDQ0FISUFBMkFnZ2dCeUFCTmdJTUlBZEJBRFlDR0FzTElBb2tCaUFEUVFocUR3c0xDd3NMQ3dzQ1FBSkFRYlRSQXlnQ0FDSUNJQUJQQkVCQndORURLQUlBSVFFZ0FpQUFheUlEUVE5TEJFQkJ3TkVESUFBZ0FXb2lCRFlDQUVHMDBRTWdBellDQUNBRUlBTkJBWEkyQWdRZ0FTQUNhaUFETmdJQUlBRWdBRUVEY2pZQ0JBVkJ0TkVEUVFBMkFnQkJ3TkVEUVFBMkFnQWdBU0FDUVFOeU5nSUVJQUVnQW1vaUFDQUFLQUlFUVFGeU5nSUVDd3dCQ3dKQVFialJBeWdDQUNJQklBQkxCRUFNQVFzZ0FFRXZhaUlGUVlUVkF5Z0NBQVIvUVl6VkF5Z0NBQVZCak5VRFFZQWdOZ0lBUVlqVkEwR0FJRFlDQUVHUTFRTkJmellDQUVHVTFRTkJmellDQUVHWTFRTkJBRFlDQUVIbzFBTkJBRFlDQUVHRTFRTWdDa0Z3Y1VIWXF0V3FCWE0yQWdCQmdDQUxJZ0pxSWdOQkFDQUNheUlJY1NJR0lBQk5CRUFNQXd0QjVOUURLQUlBSWdJRVFDQUdRZHpVQXlnQ0FDSUVhaUlISUFSTklBY2dBa3R5QkVBTUJBc0xJQUJCTUdvaEJ3SkFBa0JCNk5RREtBSUFRUVJ4QkVCQkFDRUNCUUpBQWtBQ1FFSEUwUU1vQWdBaUFrVU5BRUhzMUFNaEJBTkFBa0FnQkNnQ0FDSUpJQUpOQkVBZ0NTQUVLQUlFYWlBQ1N3MEJDeUFFS0FJSUlnUU5BUXdDQ3dzZ0NDQURJQUZyY1NJQ1FmLy8vLzhIU1FSQUlBSVF1Z0VpQVNBRUtBSUFJQVFvQWdScVJnUkFJQUZCZjBjTkJnVU1Bd3NGUVFBaEFnc01BZ3RCQUJDNkFTSUJRWDlHQkg5QkFBVkIzTlFES0FJQUlnUWdCaUFCUVlqVkF5Z0NBQ0lDUVg5cUlnTnFRUUFnQW10eElBRnJRUUFnQVNBRGNSdHFJZ0pxSVFNZ0FrSC8vLy8vQjBrZ0FpQUFTM0VFZjBIazFBTW9BZ0FpQ0FSQUlBTWdCRTBnQXlBSVMzSUVRRUVBSVFJTUJRc0xJQUVnQWhDNkFTSURSZzBGSUFNaEFRd0NCVUVBQ3dzaEFnd0JDeUFCUVg5SElBSkIvLy8vL3dkSmNTQUhJQUpMY1VVRVFDQUJRWDlHQkVCQkFDRUNEQUlGREFRTEFBdEJqTlVES0FJQUlnTWdCU0FDYTJwQkFDQURhM0VpQTBILy8vLy9CMDhOQWtFQUlBSnJJUVFnQXhDNkFVRi9SZ1IvSUFRUXVnRWFRUUFGSUFJZ0Eyb2hBZ3dEQ3lFQ0MwSG8xQU5CNk5RREtBSUFRUVJ5TmdJQUN5QUdRZi8vLy84SFNRUkFJQVlRdWdFaEFVRUFFTG9CSWdNZ0FXc2lCaUFBUVNocVN5RUVJQVlnQWlBRUd5RUNJQVJCQVhNZ0FVRi9SbklnQVVGL1J5QURRWDlIY1NBQklBTkpjVUVCYzNKRkRRRUxEQUVMUWR6VUF5QUNRZHpVQXlnQ0FHb2lBellDQUNBRFFlRFVBeWdDQUVzRVFFSGcxQU1nQXpZQ0FBdEJ4TkVES0FJQUlnTUVRQUpBUWV6VUF5RUVBa0FDUUFOQUlBRWdCQ2dDQUNJR0lBUW9BZ1FpQldwR0RRRWdCQ2dDQ0NJRURRQUxEQUVMSUFRb0FneEJDSEZGQkVBZ0JpQURUU0FCSUFOTGNRUkFJQVFnQWlBRmFqWUNCQ0FEUVFBZ0EwRUlhaUlCYTBFSGNVRUFJQUZCQjNFYklnUnFJUUVnQWtHNDBRTW9BZ0JxSWdZZ0JHc2hBa0hFMFFNZ0FUWUNBRUc0MFFNZ0FqWUNBQ0FCSUFKQkFYSTJBZ1FnQXlBR2FrRW9OZ0lFUWNqUkEwR1UxUU1vQWdBMkFnQU1Bd3NMQ3lBQlFielJBeWdDQUVrRVFFRzgwUU1nQVRZQ0FBc2dBU0FDYWlFR1FlelVBeUVFQWtBQ1FBTkFJQVlnQkNnQ0FFWU5BU0FFS0FJSUlnUU5BQXNNQVFzZ0JDZ0NERUVJY1VVRVFDQUVJQUUyQWdBZ0JDQUNJQVFvQWdScU5nSUVJQUFnQVVFQUlBRkJDR29pQW10QkIzRkJBQ0FDUVFkeEcyb2lCMm9oQlNBR1FRQWdCa0VJYWlJQmEwRUhjVUVBSUFGQkIzRWJhaUlDSUFkcklBQnJJUVFnQnlBQVFRTnlOZ0lFSUFJZ0EwWUVRRUc0MFFNZ0JFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBVTJBZ0FnQlNBQVFRRnlOZ0lFQlFKQUlBSkJ3TkVES0FJQVJnUkFRYlRSQXlBRVFiVFJBeWdDQUdvaUFEWUNBRUhBMFFNZ0JUWUNBQ0FGSUFCQkFYSTJBZ1FnQUNBRmFpQUFOZ0lBREFFTElBSW9BZ1FpQ1VFRGNVRUJSZ1JBSUFsQkEzWWhBeUFKUVlBQ1NRUkFJQUlvQWdnaUFDQUNLQUlNSWdGR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUFVZ0FDQUJOZ0lNSUFFZ0FEWUNDQXNGQWtBZ0FpZ0NHQ0VJSUFJZ0FpZ0NEQ0lBUmdSQUFrQWdBa0VRYWlJQlFRUnFJZ01vQWdBaUFBUkFJQU1oQVFVZ0FpZ0NFQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUJpZ0NBQ0lEUlFSQUlBQkJFR29pQmlnQ0FDSURSUTBCQ3lBR0lRRWdBeUVBREFFTEN5QUJRUUEyQWdBTEJTQUNLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWhGRFFBZ0FpQUNLQUljSWdGQkFuUkIzTk1EYWlJREtBSUFSZ1JBQWtBZ0F5QUFOZ0lBSUFBTkFFR3cwUU5Cc05FREtBSUFRUUVnQVhSQmYzTnhOZ0lBREFJTEJTQUlRUkJxSUFoQkZHb2dBaUFJS0FJUVJoc2dBRFlDQUNBQVJRMEJDeUFBSUFnMkFoZ2dBaWdDRUNJQkJFQWdBQ0FCTmdJUUlBRWdBRFlDR0FzZ0FpZ0NGQ0lCUlEwQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3lBQ0lBbEJlSEVpQUdvaEFpQUFJQVJxSVFRTElBSWdBaWdDQkVGK2NUWUNCQ0FGSUFSQkFYSTJBZ1FnQkNBRmFpQUVOZ0lBSUFSQkEzWWhBU0FFUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0JUWUNBQ0FCSUFVMkFnd2dCU0FCTmdJSUlBVWdBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBWFFpQWtHQTRCOXFRUkIyUVFSeElRQkJEaUFDSUFCMElnSkJnSUFQYWtFUWRrRUNjU0lESUFBZ0FYSnlheUFDSUFOMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFVRUNkRUhjMHdOcUlRQWdCU0FCTmdJY0lBVkJBRFlDRkNBRlFRQTJBaEJCc05FREtBSUFJZ0pCQVNBQmRDSURjVVVFUUVHdzBRTWdBaUFEY2pZQ0FDQUFJQVUyQWdBZ0JTQUFOZ0lZSUFVZ0JUWUNEQ0FGSUFVMkFnZ01BUXNnQkNBQUtBSUFJZ0FvQWdSQmVIRkdCRUFnQUNFQkJRSkFJQVJCQUVFWklBRkJBWFpySUFGQkgwWWJkQ0VDQTBBZ0FFRVFhaUFDUVI5MlFRSjBhaUlES0FJQUlnRUVRQ0FDUVFGMElRSWdCQ0FCS0FJRVFYaHhSZzBDSUFFaEFBd0JDd3NnQXlBRk5nSUFJQVVnQURZQ0dDQUZJQVUyQWd3Z0JTQUZOZ0lJREFJTEN5QUJLQUlJSWdBZ0JUWUNEQ0FCSUFVMkFnZ2dCU0FBTmdJSUlBVWdBVFlDRENBRlFRQTJBaGdMQ3lBS0pBWWdCMEVJYWc4TEMwSHMxQU1oQkFOQUFrQWdCQ2dDQUNJR0lBTk5CRUFnQmlBRUtBSUVhaUlHSUFOTERRRUxJQVFvQWdnaEJBd0JDd3RCeE5FRElBRkJBQ0FCUVFocUlnUnJRUWR4UVFBZ0JFRUhjUnNpQkdvaUJUWUNBRUc0MFFNZ0FrRllhaUlJSUFScklnUTJBZ0FnQlNBRVFRRnlOZ0lFSUFFZ0NHcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFJQU5CQUNBR1FWRnFJZ1JCQ0dvaUJXdEJCM0ZCQUNBRlFRZHhHeUFFYWlJRUlBUWdBMEVRYWtrYklnUkJHellDQkNBRVFlelVBeWtDQURjQ0NDQUVRZlRVQXlrQ0FEY0NFRUhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUgwMUFNZ0JFRUlhallDQUNBRVFSaHFJUUVEUUNBQlFRUnFJZ0pCQnpZQ0FDQUJRUWhxSUFaSkJFQWdBaUVCREFFTEN5QURJQVJIQkVBZ0JDQUVLQUlFUVg1eE5nSUVJQU1nQkNBRGF5SUdRUUZ5TmdJRUlBUWdCallDQUNBR1FRTjJJUUlnQmtHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQkVFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlFS0FJQUJVR3MwUU1nQWlBRWNqWUNBQ0FCUVFocUlRUWdBUXNoQWlBRUlBTTJBZ0FnQWlBRE5nSU1JQU1nQWpZQ0NDQURJQUUyQWd3TUFnc2dCa0VJZGlJQkJIOGdCa0gvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdSQmdPQWZha0VRZGtFRWNTRUJRUTRnQkNBQmRDSUVRWUNBRDJwQkVIWkJBbkVpQlNBQklBSnljbXNnQkNBRmRFRVBkbW9pQVVFQmRDQUdJQUZCQjJwMlFRRnhjZ3NGUVFBTElnSkJBblJCM05NRGFpRUJJQU1nQWpZQ0hDQURRUUEyQWhRZ0EwRUFOZ0lRUWJEUkF5Z0NBQ0lFUVFFZ0FuUWlCWEZGQkVCQnNORURJQVFnQlhJMkFnQWdBU0FETmdJQUlBTWdBVFlDR0NBRElBTTJBZ3dnQXlBRE5nSUlEQUlMSUFZZ0FTZ0NBQ0lCS0FJRVFYaHhSZ1JBSUFFaEFnVUNRQ0FHUVFCQkdTQUNRUUYyYXlBQ1FSOUdHM1FoQkFOQUlBRkJFR29nQkVFZmRrRUNkR29pQlNnQ0FDSUNCRUFnQkVFQmRDRUVJQVlnQWlnQ0JFRjRjVVlOQWlBQ0lRRU1BUXNMSUFVZ0F6WUNBQ0FESUFFMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F3REN3c2dBaWdDQ0NJQklBTTJBZ3dnQWlBRE5nSUlJQU1nQVRZQ0NDQURJQUkyQWd3Z0EwRUFOZ0lZQ3dzRlFielJBeWdDQUNJRFJTQUJJQU5KY2dSQVFielJBeUFCTmdJQUMwSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSFEwUU5CaE5VREtBSUFOZ0lBUWN6UkEwRi9OZ0lBUWVEUkEwSFUwUU0yQWdCQjNORURRZFRSQXpZQ0FFSG8wUU5CM05FRE5nSUFRZVRSQTBIYzBRTTJBZ0JCOE5FRFFlVFJBellDQUVIczBRTkI1TkVETmdJQVFmalJBMEhzMFFNMkFnQkI5TkVEUWV6UkF6WUNBRUdBMGdOQjlORUROZ0lBUWZ6UkEwSDAwUU0yQWdCQmlOSURRZnpSQXpZQ0FFR0UwZ05CL05FRE5nSUFRWkRTQTBHRTBnTTJBZ0JCak5JRFFZVFNBellDQUVHWTBnTkJqTklETmdJQVFaVFNBMEdNMGdNMkFnQkJvTklEUVpUU0F6WUNBRUdjMGdOQmxOSUROZ0lBUWFqU0EwR2MwZ00yQWdCQnBOSURRWnpTQXpZQ0FFR3cwZ05CcE5JRE5nSUFRYXpTQTBHazBnTTJBZ0JCdU5JRFFhelNBellDQUVHMDBnTkJyTklETmdJQVFjRFNBMEcwMGdNMkFnQkJ2TklEUWJUU0F6WUNBRUhJMGdOQnZOSUROZ0lBUWNUU0EwRzgwZ00yQWdCQjBOSURRY1RTQXpZQ0FFSE0wZ05CeE5JRE5nSUFRZGpTQTBITTBnTTJBZ0JCMU5JRFFjelNBellDQUVIZzBnTkIxTklETmdJQVFkelNBMEhVMGdNMkFnQkI2TklEUWR6U0F6WUNBRUhrMGdOQjNOSUROZ0lBUWZEU0EwSGswZ00yQWdCQjdOSURRZVRTQXpZQ0FFSDQwZ05CN05JRE5nSUFRZlRTQTBIczBnTTJBZ0JCZ05NRFFmVFNBellDQUVIODBnTkI5TklETmdJQVFZalRBMEg4MGdNMkFnQkJoTk1EUWZ6U0F6WUNBRUdRMHdOQmhOTUROZ0lBUVl6VEEwR0Uwd00yQWdCQm1OTURRWXpUQXpZQ0FFR1Uwd05Cak5NRE5nSUFRYURUQTBHVTB3TTJBZ0JCbk5NRFFaVFRBellDQUVHbzB3TkJuTk1ETmdJQVFhVFRBMEdjMHdNMkFnQkJzTk1EUWFUVEF6WUNBRUdzMHdOQnBOTUROZ0lBUWJqVEEwR3Mwd00yQWdCQnROTURRYXpUQXpZQ0FFSEEwd05CdE5NRE5nSUFRYnpUQTBHMDB3TTJBZ0JCeU5NRFFielRBellDQUVIRTB3TkJ2Tk1ETmdJQVFkRFRBMEhFMHdNMkFnQkJ6Tk1EUWNUVEF6WUNBRUhZMHdOQnpOTUROZ0lBUWRUVEEwSE0wd00yQWdCQnhORURJQUZCQUNBQlFRaHFJZ05yUVFkeFFRQWdBMEVIY1JzaUEyb2lCRFlDQUVHNDBRTWdBa0ZZYWlJQ0lBTnJJZ00yQWdBZ0JDQURRUUZ5TmdJRUlBRWdBbXBCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBQzBHNDBRTW9BZ0FpQVNBQVN3UkFEQUlMQzBHa3hRTkJNRFlDQUF3Q0MwRzQwUU1nQVNBQWF5SUNOZ0lBUWNUUkF5QUFRY1RSQXlnQ0FDSUJhaUlETmdJQUlBTWdBa0VCY2pZQ0JDQUJJQUJCQTNJMkFnUUxJQW9rQmlBQlFRaHFEd3NnQ2lRR1FRQUxtQUlCQkg4Z0FDQUNhaUVFSUFGQi93RnhJUU1nQWtIREFFNEVRQU5BSUFCQkEzRUVRQ0FBSUFNNkFBQWdBRUVCYWlFQURBRUxDeUFEUVFoMElBTnlJQU5CRUhSeUlBTkJHSFJ5SVFFZ0JFRjhjU0lGUVVCcUlRWURRQ0FBSUFaTUJFQWdBQ0FCTmdJQUlBQWdBVFlDQkNBQUlBRTJBZ2dnQUNBQk5nSU1JQUFnQVRZQ0VDQUFJQUUyQWhRZ0FDQUJOZ0lZSUFBZ0FUWUNIQ0FBSUFFMkFpQWdBQ0FCTmdJa0lBQWdBVFlDS0NBQUlBRTJBaXdnQUNBQk5nSXdJQUFnQVRZQ05DQUFJQUUyQWpnZ0FDQUJOZ0k4SUFCQlFHc2hBQXdCQ3dzRFFDQUFJQVZJQkVBZ0FDQUJOZ0lBSUFCQkJHb2hBQXdCQ3dzTEEwQWdBQ0FFU0FSQUlBQWdBem9BQUNBQVFRRnFJUUFNQVFzTElBUWdBbXNMQmdCQkVSQUNDeG9BSUFBc0FBdEJBRWdFUUNBQUtBSUlHaUFBS0FJQUVEZ0xDdzhBSUFFRWZ5QUFJQUZ1QlVFQUN3c1NBQ0FBQkVBZ0FDZ0NBQkE0SUFBUU9Bc0xmd0VFZnlNR0lRSWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUVCSDhnQUNnQ0JBVWdBMEgvQVhFTElnTWdBVWtFUUNBQUlBRWdBMnNRNUFrRklBUUVRQUovSUFFZ0FDZ0NBR29oQlNBQ1FRQTZBQUFnQlFzZ0FoQmZJQUFnQVRZQ0JBVWdBa0VBT2dBQUlBQWdBV29nQWhCZklBQWdBVG9BQ3dzTElBSWtCZ3NRQUNBQVFmRDRBQ0FCS0FJQXR4QVhDOFlEQVFOL0lBSkJnTUFBVGdSQUlBQWdBU0FDRUNVYUlBQVBDeUFBSVFRZ0FDQUNhaUVESUFCQkEzRWdBVUVEY1VZRVFBTkFJQUJCQTNFRVFDQUNSUVJBSUFRUEN5QUFJQUVzQUFBNkFBQWdBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnJJUUlNQVFzTElBTkJmSEVpQWtGQWFpRUZBMEFnQUNBRlRBUkFJQUFnQVNnQ0FEWUNBQ0FBSUFFb0FnUTJBZ1FnQUNBQktBSUlOZ0lJSUFBZ0FTZ0NERFlDRENBQUlBRW9BaEEyQWhBZ0FDQUJLQUlVTmdJVUlBQWdBU2dDR0RZQ0dDQUFJQUVvQWh3MkFod2dBQ0FCS0FJZ05nSWdJQUFnQVNnQ0pEWUNKQ0FBSUFFb0FpZzJBaWdnQUNBQktBSXNOZ0lzSUFBZ0FTZ0NNRFlDTUNBQUlBRW9BalEyQWpRZ0FDQUJLQUk0TmdJNElBQWdBU2dDUERZQ1BDQUFRVUJySVFBZ0FVRkFheUVCREFFTEN3TkFJQUFnQWtnRVFDQUFJQUVvQWdBMkFnQWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0ZJQU5CQkdzaEFnTkFJQUFnQWtnRVFDQUFJQUVzQUFBNkFBQWdBQ0FCTEFBQk9nQUJJQUFnQVN3QUFqb0FBaUFBSUFFc0FBTTZBQU1nQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NMQTBBZ0FDQURTQVJBSUFBZ0FTd0FBRG9BQUNBQVFRRnFJUUFnQVVFQmFpRUJEQUVMQ3lBRUN4MEFJQUFvQWhnZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQVNBQ0VONElDdzhBSUFFRWZ5QUFJQUZ3QlVFQUN3c1BBQ0FCQkg4Z0FDQUJid1ZCQUFzTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEIvQUFRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUN4VUFJQUJCQVNBQUd4QkVJZ0FFZnlBQUJVRUFDd3VxQkFJSmZ3SjlJd1loQlNNR1FTQnFKQVlnQlVFRWFpRUVJQVVnQURZQ0FDQUFLQUlBSVFNQ1FBSkFRYURFQXlnQ0FDSUJSU0lKQkVCQkFDRUFEQUVGSUFFZ0FVRi9haUlJY1VVaUJ3Ui9JQU1nQ0hFRklBTWdBVWtFZnlBREJTQURJQUVRVGdzTElnQkJBblJCbk1RREtBSUFhaWdDQUNJQ0JFQURRQ0FDS0FJQUlnSkZEUU1nQXlBQ0tBSUVJZ1pIQkVBZ0J3Ui9JQVlnQ0hFRklBWWdBVThFZnlBR0lBRVFUZ1VnQmdzTElBQkhEUVFMSUFNZ0FpZ0NDRWNOQUFzRkRBSUxDd3dCQ3lBRUlBTWdCUkRvQmtHc3hBTXFBZ0FpQ2lBQnM1UkJxTVFES0FJQVFRRnFzeUlMWFNBSmNnUkFBbjhnQ3lBS2xZMFFrZ0VpQWlBQlFYOXFJQUZ4UVFCSElBRkJBMGx5SUFGQkFYUnlJZ0FnQUNBQ1NSc1E1d1pCb01RREtBSUFJZ0pCZjJvaUFDQURjU0FBSUFKeFJRMEFHaUFESUFKSkJIOGdBd1VnQXlBQ0VFNExDeUVBQlNBQklRSUxRWnpFQXlnQ0FDQUFRUUowYWlnQ0FDSUJCSDhnQkNnQ0FDQUJLQUlBTmdJQUlBRWdCQ2dDQURZQ0FDQUVCU0FFS0FJQVFhVEVBeWdDQURZQ0FFR2t4QU1nQkNnQ0FEWUNBRUdjeEFNb0FnQWdBRUVDZEdwQnBNUUROZ0lBSUFRb0FnQWlCeWdDQUNJQUJFQWdBQ2dDQkNFQUlBSWdBa0YvYWlJQmNRUi9JQUFnQWs4RWZ5QUFJQUlRVGdVZ0FBc0ZJQUFnQVhFTElRQkJuTVFES0FJQUlBQkJBblJxSUFjMkFnQUxJQVFMSWdBb0FnQWhBa0dveEFOQnFNUURLQUlBUVFGcU5nSUFJQUJCQURZQ0FBc2dCU1FHSUFKQkVHb0x1Z0VCQm44Z0FDZ0NBQ0VCUWFERUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFaekVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdkNBUUlEZndGK0FrQUNRQ0FBS1FOd0lnUlFSUVJBSUFBcEEzZ2dCRmtOQVFzZ0FCRDFBU0lDUVFCSURRQWdBQ2dDQ0NFQkFrQUNRQ0FBS1FOd0lnUlFEUUFnQkNBQUtRTjRmU0lFSUFFZ0FDZ0NCQ0lEYTZ4VkRRQWdBQ0FESUFTblFYOXFhallDYUF3QkN5QUJJUU1nQUNBQk5nSm9DeUFDSUFFRWZ5QUFJQUFwQTNnZ0FVRUJhaUFBS0FJRUlnRnJySHczQTNnZ0FRVWdBQ2dDQkF0QmYyb2lBQzBBQUVjRVFDQUFJQUk2QUFBTERBRUxJQUJCQURZQ2FFRi9JUUlMSUFJTEl3RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0FzTERnQWdBQ0FCSUFFUXRBRVE0Z2tMRFFBZ0FDQUJJQUVRWUJEbkNRc0lBRUVERUFKQkFBdEdBZ0ovQVgwakJpRUZJd1pCRUdva0JnSi9JQUFnQXlBRUVLd0JJUVlnQlVFRWFpQUZJQUVnQWlBREVNc0NJQVlMSUFVcUFnUWdCU29DQUJDdkJ5RUhJQVVrQmlBSEN3a0FJQUFnQUJEREF3dEdBQ0FBSUFFcUFnZ2dBU29DQUNBQ0tnSUFsQ0FCS2dJRUlBSXFBZ1NVa3BJNEFnQWdBQ0FCS2dJVUlBRXFBZ3dnQWlvQ0FKUWdBU29DRUNBQ0tnSUVsSktTT0FJRUN5MEFRZkMrQXl3QUFFVUVRRUh3dmdNUWNBUkFRWWpPQXhEOUJEWUNBRUh3dmdNUWJ3c0xRWWpPQXlnQ0FBdXpCUUVJZnlBQUtBTFVBeUlFS0FJUUlnSkJnSUFDU0FSQUlBUkJER29oQlNBRUtBSVVJUU1EZnlBRUlBTkJmMm9pQWpZQ0ZDQURRUUZJQkVBZ0FDZ0N1QU1FUUVFQUlRTUZJQUFvQWhnaUFpZ0NCRVVFUUNBQ0tBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnTkJHVFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFDSUFJb0FnUkJmMm8yQWdRZ0FpQUNLQUlBSWdKQkFXbzJBZ0FnQWl3QUFDSURRZjhCY1NFQ0lBTkJmMFlFUUFKL0EwQUNRQ0FBS0FJWUlnSW9BZ1JGQkVBZ0FpZ0NEQ0VESUFBZ0EwSC9BSEZCQ0dvUkFBQkZCRUFnQUNnQ0FDSURRUmsyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDd3NnQWlBQ0tBSUVRWDlxTmdJRUlBSWdBaWdDQUNJQ1FRRnFOZ0lBQWtBQ1FDQUNMQUFBSWdKQmYyc09BZ0VBQWd0Qi93RU1Bd3NNQVFzTElBQWdBa0gvQVhFMkFyZ0RRUUFMSVFJTElBSWhBeUFFS0FJVUlRSUxJQVVnQXlBRktBSUFRUWgwY2pZQ0FDQUVJQUpCQ0dvaUF6WUNGQ0FDUVhoSUJFQWdCQ0FDUVFscUlnSTJBaFFnQWtVRVFDQUVRWUNBQWpZQ0VFRUFJUUlMQlNBRElRSUxDeUFFSUFRb0FoQkJBWFFpQXpZQ0VDQURRWUNBQWtnRWZ5QUNJUU1NQVFVZ0F3c0xJUUFGSUFJaEFDQUVRUXhxSVFVZ0JDZ0NGQ0VDQ3lBQkxRQUFJZ05CL3dCeFFRSjBRWkFtYWlnQ0FDSUdRUWgxSVFnZ0JDQUFJQVpCRUhVaUIyc2lBRFlDRUNBRktBSUFJZ2tnQUNBQ2RDSUNUZ1JBSUFVZ0NTQUNhellDQUNBRUlBYzJBaEFnQTBHQUFYRWhBaUFBSUFkSUJFQWdBU0FDSUFoek9nQUFJQU5CQjNVUEJTQUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVVBDd0FMSUFCQmdJQUNUZ1JBSUFOQkIzVVBDeUFEUVlBQmNTRUNJQUFnQjBnRWZ5QUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVUZJQUVnQWlBSWN6b0FBQ0FEUVFkMUN3c0dBQ0FBRURnTERBQWdBQ0FCTEFBQU9nQUFDNDBCQVFOL0FrQUNRQ0FBSWdKQkEzRkZEUUFnQWlJQklRQUNRQU5BSUFFc0FBQkZEUUVnQVVFQmFpSUJJZ0JCQTNFTkFBc2dBU0VBREFFTERBRUxBMEFnQUVFRWFpRUJJQUFvQWdBaUEwSC8vZnQzYWlBRFFZQ0Jnb1I0Y1VHQWdZS0VlSE54UlFSQUlBRWhBQXdCQ3dzZ0EwSC9BWEVFUUFOQUlBQkJBV29pQUN3QUFBMEFDd3NMSUFBZ0Ftc0wyQUVCQTM4Z0F5Z0NURUYvU2dSL1FRRUZRUUFMR2lBQklBSnNJUVVnQXlBRExBQktJZ1FnQkVIL0FXcHlPZ0JLSUFKQkFDQUJHeUVDQWtBZ0F5Z0NDQ0FES0FJRUlnWnJJZ1JCQUVvRWZ5QUFJQVlnQkNBRklBUWdCVWtiSWdRUVRCb2dBeUFFSUFNb0FnUnFOZ0lFSUFBZ0JHb2hBQ0FGSUFSckJTQUZDeUlFUlEwQUlBQWhCaUFFSVFBRFFBSkFJQU1RcHdJTkFDQURJQVlnQUNBREtBSWdRVDl4UWNvQmFoRUVBQ0lFUVFGcVFRSkpEUUFnQUNBRWF5SUFSUTBDSUFRZ0Jtb2hCZ3dCQ3dzZ0JTQUFheUFCRUVnaEFnc2dBZ3N4QVFGL1FlaUpBU2dDQUNFQklBQUVRRUhvaVFGQmpNVURJQUFnQUVGL1JoczJBZ0FMUVg4Z0FTQUJRWXpGQTBZYkN3TUFBUXNJQUVFR0VBSkJBQXU0QVFFQmZTQUNJQUVRd3dNaEF5QUFJQUFxQWdBZ0F5QUJLZ0lBbEpNNEFnQWdBQ0FBS2dJRUlBTWdBU29DQkpTVE9BSUVJQUFnQUNvQ0NDQURJQUVxQWdpVWt6Z0NDQ0FBSUFBcUFnd2dBeUFCS2dJTWxKTTRBZ3dnQUNBQUtnSVFJQU1nQVNvQ0VKU1RPQUlRSUFBZ0FDb0NGQ0FESUFFcUFoU1VremdDRkNBQUlBQXFBaGdnQXlBQktnSVlsSk00QWhnZ0FDQUFLZ0ljSUFNZ0FTb0NISlNUT0FJY0lBQWdBQ29DSUNBRElBRXFBaUNVa3pnQ0lBc0lBRUVMRUFKQkFBdlhBd0VHZnlBQUtBSUFJUVFnQUNnQ0JDRUhBa0FDUUNBQUtBSVFJZ1VvQXJnREJFQWdBU0VJSUFJaEJpQUhJUUlnQkNFQkRBRUZJQUpCR1VnRVFBSkFJQUVoQ0NBQ0lRWUNRQU5BQWtBZ0IwVUVRQ0FGS0FJWUtBSU1JUUVnQlNBQlFmOEFjVUVJYWhFQUFFVU5BeUFGS0FJWUlnRW9BZ1FoQnlBQktBSUFJUVFMSUFkQmYyb2hBaUFFUVFGcUlRRWdCQ3dBQUNJSFFmOEJjU0VFSUFkQmYwWUVRQU5BQWtBZ0FnUi9JQUVGSUFVb0FoZ29BZ3doQVNBRklBRkIvd0J4UVFocUVRQUFSUTBHSUFVb0FoZ2lBU2dDQkNFQ0lBRW9BZ0FMSVFRZ0FrRi9haUVDSUFSQkFXb2hBUUpBQWtBZ0JDd0FBQ0lFUVg5ckRnSUJBQVVMUWY4QklRUU1BUXNNQVFzTEN5QUVJQWhCQ0hSeUlRZ2dCa0VJYWlFSklBWkJFVWdFUUNBQ0lRY2dBU0VFSUFraEJnd0NCU0FKSVFZTUJBc0FDd3NnQlNBRVFmOEJjVFlDdUFNTUJBdEJBQThMQlNBQklRZ2dBaUVHSUFjaEFpQUVJUUVMQ3d3QkN5QUdJQU5JQkVBZ0JTZ0MxQU1vQWloRkJFQWdCU2dDQUNJRFFmZ0FOZ0lVSUFNb0FnUWhBeUFGUVg4Z0EwRS9jVUd5QldvUkF3QWdCU2dDMUFOQkFUWUNLQXNnQ0VFWklBWnJkQ0VJUVJraEJnc0xJQUFnQVRZQ0FDQUFJQUkyQWdRZ0FDQUlOZ0lJSUFBZ0JqWUNERUVCQ3c0QUlBRWdBRUYvYW1vZ0FSQTVDd2NBSUFBZ0FKUUxuUUVCQkg4Z0FDZ0NURUYvU2dSL1FRRUZRUUFMR2lBQUVKd0ZJQUFvQWdCQkFYRkJBRWNpQkVVRVFCQ3JBaUVCSUFBb0FqUWlBZ1JBSUFJZ0FDZ0NPRFlDT0FzZ0FDZ0NPQ0lEQkVBZ0F5QUNOZ0kwQ3lBQUlBRW9BZ0JHQkVBZ0FTQUROZ0lBQzBHb3hRTVFEZ3NnQUJDcEFob2dBQ0FBS0FJTVFmOEFjVUVJYWhFQUFCb2dBQ2dDWUNJQkJFQWdBUkE0Q3lBRVJRUkFJQUFRT0FzTHFRRUNDSDhCZkNNR0lRTWpCa0V3YWlRR0lBQVFud2NDZnhEakF5RUlJQU5CR0dvaUFSQzdBeUFCTEFBTElRVWdBU2dDQUNFR0lBQkJFR29pQWl3QUMwRUFTQVIvSUFJb0FnQUZJQUlMSVFjZ0FCQ2VCMFFBQUFBQUFFQ1BRS0loQ1NBRElnQkI4S01DTmdJQUlBQWdCaUFCSUFWQkFFZ2JOZ0lFSUFCQitLTUNOZ0lJSUFBZ0J6WUNEQ0FBSUFrNUF4QWdDQXRCMWFNQ0lBQVF0d01nQVJCSElBSVFSeUFBSkFZTFJBQWdBQ0FCY3lJQUlBQkJBWFpCMWFyVnFnVnhheUlBUWJQbXpKa0RjU0FBUVFKMlFiUG16SmtEY1dvaUFFRUVkaUFBYWtHUG5yejRBSEZCZ1lLRUNHeEJHSFlMZmdFRGZ5QUJRd0FBQUQrU0VFTWdBQ2dDRUdvaEJTQUNRd0FBQUQrU0VFTWdBQ2dDRkdvaEJpQUZRUUJJQkg5QmZ3VWdCa0VBU0NBRklBQW9BZ2dpQjA1eUJIOUJmd1VnQmlBQUtBSU1TQVIvSUFNZ0FDZ0NBQ0FHSUFkc0lBVnFRUU4wYWlJQUtBSUFOZ0lBSUFRZ0FDZ0NCRFlDQUVFQUJVRi9Dd3NMQ3d3QUlBQWdBU2dDQURZQ0FBc1dBQ0FBUVFBMkFnQWdBQ0FBS0FJQVFRRnlOZ0lBQ3cwQUlBQXNBQUJCQUVkQkFYTUxFUUFnQUNnQ0ZDQUFLQUlRYTBFVUVEa0xHQUFnQUNnQ0FFRWdjVVVFUUNBQklBSWdBQkNYQXhvTEMwQUFJQUFnQUdJRWYwR0FnSUNBZUFVZ0FFUUFBQUFBQUFEZ1FXWUVmMEdBZ0lDQWVBVWdBRVFBQUNBQUFBRGd3V1VFZjBHQWdJQ0FlQVVnQUtvTEN3c0xCd0FnQUVFRWFndDlBUUovSXdZaEJTTUdRWUFDYWlRR0lBUkJnTUFFY1VVZ0FpQURTbkVFUUNBRklBRkJHSFJCR0hVZ0FpQURheUlCUVlBQ0lBRkJnQUpKR3hCRkdpQUJRZjhCU3dSQUlBSWdBMnNoQmdOQUlBQWdCVUdBQWhCeUlBRkJnSDVxSWdGQi93RkxEUUFMSUFaQi93RnhJUUVMSUFBZ0JTQUJFSElMSUFVa0Jnc0dBRUVaRUFJTE9RRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0JEWUNBQ0FDRUdJaEFpQUFJQUVnQXlBRkVLa0JJUVlnQWdSQUlBSVFZaG9MSUFVa0JpQUdDNVlDQVFSL0lBQW9BZ1FpQmlBQUxBQUxJZ1JCL3dGeElnVWdCRUVBU0JzRVFBSkFJQUVnQWtjRVFDQUNJUVFnQVNFRkEwQWdCU0FFUVh4cUlnUkpCRUFnQlNnQ0FDRUdJQVVnQkNnQ0FEWUNBQ0FFSUFZMkFnQWdCVUVFYWlFRkRBRUxDeUFBTEFBTElnUkIvd0Z4SVFVZ0FDZ0NCQ0VHQ3lBQ1FYeHFJUWNnQUNnQ0FDQUFJQVJCR0hSQkdIVkJBRWdpQWhzaUFDQUdJQVVnQWh0cUlRVUNRQUpBQTBBQ1FDQUFMQUFBSWdKQkFFb2dBa0gvQUVkeElRUWdBU0FIVHcwQUlBUUVRQ0FCS0FJQUlBSkhEUU1MSUFGQkJHb2hBU0FBUVFGcUlBQWdCU0FBYTBFQlNoc2hBQXdCQ3dzTUFRc2dBMEVFTmdJQURBRUxJQVFFUUNBSEtBSUFRWDlxSUFKUEJFQWdBMEVFTmdJQUN3c0xDd3RDQVFGL0lBQkVBQUFBQUFBQThMODVBd0FnQUVRQUFBQUFBQUR3dnprRENDQUFRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQUFRb0FjTENBQkJCUkFDUVFBTHJnVUNDMzhDZlNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQlNBQlFYOU1CRUFnQlVIQXlBTkI5STBDRURkQnM0b0NFRGRCNzZJQ0VEZEJvZ0lRUGtIMm9nSVFOMEdXamdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFJZ0JFRUtJQUpCUDNGQmlnRnFFUUlBSVFJZ0JSQThJQU1nQWhCQUlBTVFQeEFBQ3lBRklBRTJBZ0FnQUVIY0FHb2lCaUFGRU9nRElnSUVRQ0FDSUFJb0FneEJBV28yQWd3RklBY2dBVFlDQUNBSFFRRTJBZ1FDUUFKQUlBQW9BbUFpQkVVaUNnUkFRUUFoQWd3QkJTQUVJQVJCZjJvaUNYRkZJZ3NFZnlBQklBbHhCU0FFSUFGTEJIOGdBUVVnQVNBRUVFNExDeUlDUVFKMElBWW9BZ0JxS0FJQUlnTUVRQU5BSUFNb0FnQWlBMFVOQXlBREtBSUVJZ2dnQVVjRVFDQUxCSDhnQ0NBSmNRVWdDQ0FFVHdSL0lBZ2dCQkJPQlNBSUN3c2dBa2NOQkFzZ0F5Z0NDQ0FCUncwQUN3VU1BZ3NMREFFTElBVWdCaUFCSUFjUXZBY2dDaUFBS2dKc0lnMGdCTE9VSUFBb0FtaEJBV3F6SWc1ZGNnUi9BbjhnQmlBT0lBMlZqUkNTQVNJRElBUWdCRUYvYW5GQkFFY2dCRUVEU1hJZ0JFRUJkSElpQWlBQ0lBTkpHeERGQWlBQUtBSmdJZ05CZjJvaEFpQUJJQUp4SUFJZ0EzRkZEUUFhSUFNZ0FVMEVmeUFCSUFNUVRnVWdBUXNMQlNBRUlRTWdBZ3NoQVNBR0tBSUFJQUZCQW5ScUtBSUFJZ0lFZnlBRktBSUFJQUlvQWdBMkFnQWdBaUFGS0FJQU5nSUFJQVVGSUFVb0FnQWdBQ2dDWkRZQ0FDQUFJQVVvQWdBMkFtUWdCaWdDQUNBQlFRSjBhaUFBUWVRQWFqWUNBQ0FGS0FJQUlnUW9BZ0FpQVFSQUlBRW9BZ1FoQVNBRElBTkJmMm9pQW5FRWZ5QUJJQU5QQkg4Z0FTQURFRTRGSUFFTEJTQUJJQUp4Q3lFQklBWW9BZ0FnQVVFQ2RHb2dCRFlDQUFzZ0JRc2hEQ0FBSUFBb0FtaEJBV28yQW1nZ0RFRUFOZ0lBQ3dzZ0J5UUdDL1lJQVFkL0l3WWhCaU1HUVJCcUpBWWdBVUYvVEFSQUlBWkJ3TWdEUWFtT0FoQTNRYk9LQWhBM1FlK2lBaEEzUWFVQkVENUI5cUlDRURkQnlvNENFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSElBVVFRQ0FIRUQ4UUFBc2dBQ2dDTkNJS0lBRk1CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJwZ0VRUGtIMm9nSVFOMEhLamdJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQ1FYOU1CRUFnQmtIQXlBTkJoSThDRURkQnM0b0NFRGRCNzZJQ0VEZEJwd0VRUGtIMm9nSVFOMEdsandJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQUtBSTRJZ3NnQWt3RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHb0FSQStRZmFpQWhBM1FhV1BBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQU5CZjB3RVFDQUdRY0RJQTBIZmp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHcEFSQStRZmFpQWhBM1FZU1FBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQUFvQWp3aUJ5QURUQVJBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRYW9CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lDU2dDQUVGMGFpZ0NBQ0FKYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0JFRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRYXNCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FFRkFheWdDQUNBRVRBUkFJQVpCd01nRFFZV1JBaEEzUWJPS0FoQTNRZStpQWhBM1Fhd0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQVNBQ0lBcHNhaUlCSUFNZ0FDZ0NWR3hxSUFRZ0FDZ0NXR3hxSWdBZ0FTQURJQVFnQjJ4cUlBb2dDMnhzYWtvRVFDQUdRY0RJQTBHMWtRSVFOMEd6aWdJUU4wSHZvZ0lRTjBHd0FSQStRZmFpQWhBM1FaYU9BaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FHRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQVlrQmlBQUR3dEJBQXRGQVFKL0EwQUNRQ0FESUFKT0RRQWdBMEVEZENBQmFpZ0NBQ0lFUlEwQUlBQWdCRVlFUUNBRFFRTjBRUVJxSUFGcUtBSUFEd1VnQTBFQmFpRUREQUlMQUFzTFFRQUxjZ0VEZnlNR0lRTWpCa0VRYWlRR0lBSkJiMHNFUUJBQUN5QUNRUXRKQkVBZ0FDQUNPZ0FMQlNBQUlBSkJFR3BCY0hFaUJCQlJJZ1UyQWdBZ0FDQUVRWUNBZ0lCNGNqWUNDQ0FBSUFJMkFnUWdCU0VBQ3lBQUlBRWdBaENvQVNBRFFRQTZBQUFnQUNBQ2FpQURFRjhnQXlRR0N3UUFRUUFMRFFBZ0FDQURsQ0FCSUFLVWt3c2JBQ0FDQkg4Z0FDZ0NCQ0FCS0FJRUVMTUJSUVVnQUNBQlJnc0xSUUlDZndGK0lBQWdBVGNEY0NBQUlBQW9BZ2dpQWlBQUtBSUVJZ05yckNJRU53TjRJQUZDQUZJZ0JDQUJWWEVFUUNBQUlBTWdBYWRxTmdKb0JTQUFJQUkyQW1nTEN5Y0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUNBQklBTVFsUU1oQkNBREpBWWdCQXNvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFKQnpJY0JRWmpQQWtFZUlBRVFDU0FEQ3lRR0N6RUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk1MQndBZ0FFRUlhZ3M4QVFKL0lBQW9BZ1FnQUNnQ0FDSURhMEVDZFNJQ0lBRkpCRUFnQUNBQklBSnJFUDhJQlNBQ0lBRkxCRUFnQUNBQlFRSjBJQU5xTmdJRUN3c0xFd0FnQUVHZ2l3RTJBZ0FnQUVFRWFoRG9DUXVCQVFBQ1FBSkFJQUlvQWdSQnNBRnhRUmgwUVJoMVFSQnJJZ0lFUUNBQ1FSQkdCRUFNQWdVTUF3c0FDd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBQVFRRnFJUUFNQWdzZ0FrRXdSaUFCSUFCclFRRktjVVVOQVNBQUxBQUJRZGdBYXlJQlFRQWdBVUVnUnhzTkFTQUFRUUpxSVFBTUFRc2dBU0VBQ3lBQUN3b0FJQUJCVUdwQkNra0xRUUVDZjBFTUVFUWlBZ1JBSUFJZ0FTQUFRUU4wYkJCRUlnTTJBZ0FnQXdSQUlBSWdBRFlDQkNBQ0lBRTJBZ2dGSUFJUU9FRUFJUUlMQlVFQUlRSUxJQUlMM0FFQkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ2dBQ2dDRENFQ0lBQWdBU2dDRERZQ0RDQUJJQUkyQWd3Z0FDZ0NFQ0VDSUFBZ0FTZ0NFRFlDRUNBQklBSTJBaEFnQUNnQ0ZDRUNJQUFnQVNnQ0ZEWUNGQ0FCSUFJMkFoUWdBQ2dDR0NFQ0lBQWdBU2dDR0RZQ0dDQUJJQUkyQWhnZ0FDZ0NIQ0VDSUFBZ0FTZ0NIRFlDSENBQklBSTJBaHdnQUNnQ0lDRUNJQUFnQVNnQ0lEWUNJQ0FCSUFJMkFpQUxGUUFnQUFSL0lBQWdBVGtEZ0FGQkFBVkJmd3NhQzdnQ0FnVi9BbndqQmlFSEl3WkJJR29rQmlBSFFRaHFJUVlnQjBFVWFpSUlJQVJCQkhRUVJDSUtOZ0lBSUFwRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUhRUkJxSVFZZ0NDQUVRUmhzRUVRaUNUWUNCQ0FKUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRUdBMEFnQmlBRVNBUkFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RBRGtEQUNBR1FRUjBJQXBxSUFaQkJIUWdBbW9yQXdnNUF3Z2dCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUFPUU1BSUFaQkdHd2dDV29nQmtFWWJDQURhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF4QTVBeEFnQmtFQmFpRUdEQUVMQ3lBSUlBUTJBZ2dnQUNnQ0FDQUlJQUVnQlNBSEVKMEVRUUJJQkVBZ0IwUUFBQUFBaE5lWFFUa0RBQXNnQ0NnQ0FCQTRJQWdvQWdRUU9DQUhLd01BSVF3Z0J5UUdJQXdMTlFBZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FBYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NMVVFFQmZDQUFJQUNpSWdBZ0FLSWhBVVFBQUFBQUFBRHdQeUFBUklGZURQMy8vOTgvb3FFZ0FVUkNPZ1hoVTFXbFA2S2dJQUFnQWFJZ0FFUnBVTzdnUXBQNVBxSkVKeDRQNklmQVZyK2dvcUMyQzBzQkFud2dBQ0FBb2lJQklBQ2lJZ0lnQVNBQm9xSWdBVVNuUmp1TWg4M0dQcUpFZE9mSzR2a0FLcitnb2lBQ0lBRkVzdnR1aVJBUmdUK2lSSGVzeTFSVlZjVy9vS0lnQUtDZ3Rnc3NBQ0FBSUFCY0JIOUJBQVVnQUVNQUFJQlBZQVIvUVFBRklBQkRBQUNBdjE4RWYwRUFCU0FBcVFzTEN3czBBUUYvSUFFZ0Ftd2hCQ0FDUVFBZ0FSc2hBaUFES0FKTUdpQUVJQUFnQkNBREVKY0RJZ0JIQkg4Z0FDQUJFRWdGSUFJTEMzY0FJQUFnQVNvQ0FDQUNsRGdDQUNBQUlBRXFBZ1FnQXBRNEFnUWdBQ0FCS2dJSUlBS1VPQUlJSUFBZ0FTb0NEQ0FDbERnQ0RDQUFJQUVxQWhBZ0FwUTRBaEFnQUNBQktnSVVJQUtVT0FJVUlBQWdBU29DR0NBQ2xEZ0NHQ0FBSUFFcUFod2dBcFE0QWh3Z0FDQUJLZ0lnSUFLVU9BSWdDMEVCQVg4Z0FDZ0NCQ0lBQkVBZ0FDQUFLQUlFSWdGQmYybzJBZ1FnQVVVRVFDQUFLQUlBS0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCRHFDUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93RWdBQ2dDQkNBQUtBSUFhMEVEZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUNkU0lHSUFZZ0Ewa2JRZi8vLy84QklBVkJBM1ZCLy8vLy93QkpHeUFBS0FJRUlBUnJRUU4xSUFCQkNHb1FpQUlnQWlnQ0NDQUJLUUlBTndJQUlBSWdBaWdDQ0VFSWFqWUNDQ0FBSUFJUXpRSWdBaERNQWlBQ0pBWUxDNlFDQVFWL0l3WWhCeU1HUVJCcUpBWWdBQ2dDQUNJR0JFQUNRQ0FFS0FJTUlRZ2dBaUFCYXlJSlFRQktCRUFnQmlnQ0FDZ0NNQ0VLSUFZZ0FTQUpJQXBCUDNGQnlnRnFFUVFBSUFsSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NDQURJQUZySWdGclFRQWdDQ0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWxnUWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdGQkFFb0VRQ0FHS0FJQUtBSXdJUU1nQmlBQ0lBRWdBMEUvY1VIS0FXb1JCQUFnQVVjRVFDQUFRUUEyQWdCQkFDRUdEQUlMQ3lBRVFRQTJBZ3dMQlVFQUlRWUxJQWNrQmlBR0N3Z0FRUWtRQWtFQUM3VUhBUWgvSUFBb0FnQWlCd1IvSUFjb0Fnd2lCaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVlDUUFKQUFrQWdBU2dDQUNJSEJFQWdCeWdDRENJRklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FHQkVBTUJBVU1Bd3NBQ3dzZ0JrVUVRRUVBSVFjTUFnc0xJQUlnQWlnQ0FFRUdjallDQUVFQUlRY01BUXNnQTBHQUVDQUFLQUlBSWdZb0Fnd2lCU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxJZ1lnQXlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGQkVBZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQnd3QkN5QURJQVpCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUVhallDRENBRktBSUFHZ3NnQzBFWWRFRVlkU0VGSUFRaEJpQUhJZ1FoQ0FOQUFrQWdCVUZRYWlFSElBQW9BZ0FpQlFSL0lBVW9BZ3dpQ1NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMQW44Z0NBUi9JQWdvQWd3aUJTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFSQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaERDQUFLQUlBSVFVZ0RBdHpJQVpCQVVweFJRMEFJQU5CZ0JBZ0JTZ0NEQ0lKSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXNpQlNBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURJQVZCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFS0lBQW9BZ0FpQlNnQ0RDSUpJQVVvQWhCR0JFQWdCU0FGS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFVZ0NVRUVhallDRENBSktBSUFHZ3NnQjBFS2JDQUtRUmgwUVJoMWFpRUZJQVpCZjJvaEJnd0JDd3NnQlFSL0lBVW9BZ3dpQXlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUFOQXdzTUFRc2dBRVVOQVFzZ0FpQUNLQUlBUVFKeU5nSUFDeUFIQyt3SEFRaC9JQUFvQWdBaUJRUi9JQVVvQWd3aUNDQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdrRVFDQUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFSkRBSUxDeUFDSUFJb0FnQkJCbkkyQWdCQkFDRUVEQUVMSUFBb0FnQWlCU2dDRENJSUlBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0N5SUZRZjhCY1NJSVFSaDBRUmgxUVg5S0JFQWdBeWdDQ0NBRlFSaDBRUmgxUVFGMGFpNEJBRUdBRUhFRVFDQURJQWhCQUNBREtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBTFFSaDBRUmgxSVFZZ0JDRUlJQWtoQlFOQUFrQWdCa0ZRYWlFRUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQmlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENpQUZCSDhnQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUpRUUFoQlVFQkJVRUFDd1ZCQUNFRlFRRUxJUXdnQUNnQ0FDRUhJQXdnQ25NZ0NFRUJTbkZGRFFBZ0J5Z0NEQ0lHSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJS1FmOEJjU0lHUVJoMFFSaDFRWDlNRFFRZ0F5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFRZ0F5QUdRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUFoQmlBQUtBSUFJZ2NvQWd3aUNpQUhLQUlRUmdSQUlBY2dCeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FISUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFS2JDQUdRUmgwUVJoMWFpRUdJQWhCZjJvaENBd0JDd3NnQndSL0lBY29BZ3dpQXlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQ1VVTkFDQUpLQUlNSWdBZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRERRVUxEQUVMSUFORkRRTUxJQUlnQWlnQ0FFRUNjallDQUF3Q0N3c2dBaUFDS0FJQVFRUnlOZ0lBUVFBaEJBc2dCQXMzQVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FETmdJQUlBRVFZaUVCSUFBZ0FpQUVFUFFFSVFVZ0FRUkFJQUVRWWhvTElBUWtCaUFGQzJ3QUFuOENRQUpBQWtBQ1FDQUFLQUlFUWNvQWNRNUJBZ01EQXdNREF3TUJBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0FEQzBFSURBTUxRUkFNQWd0QkFBd0JDMEVLQ3d2ekF3RUdmd0pBQWtBZ0Fid2lCVUgvLy8vL0IzRWlCa0dBZ0lEOEIwc05BQ0FBdkNJQ1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3cwQUFrQWdCVUdBZ0lEOEEwWUVRQ0FBRVBRQ0lRQU1BUXNnQWtFZmRpSUhJQVZCSG5aQkFuRnlJUUlnQTBVRVFBSkFBa0FDUUNBQ1FRTnhEZ1FFQkFBQkFndEQydzlKUUNFQURBTUxROXNQU2NBaEFBd0NDd3NDUUNBRlFmLy8vLzhIY1NJRVFZQ0FnUHdIU0FSQUlBUU5BVVBiRDhtL1E5c1B5VDhnQnhzaEFBd0NCU0FFUVlDQWdQd0hhdzBCSUFKQi93RnhJUVFnQTBHQWdJRDhCMFlFUUFKQUFrQUNRQUpBQWtBZ0JFRURjUTRFQUFFQ0F3UUxROXNQU1Q4aEFBd0hDMFBiRDBtL0lRQU1CZ3RENU1zV1FDRUFEQVVMUStUTEZzQWhBQXdFQ3dVQ1FBSkFBa0FDUUFKQUlBUkJBM0VPQkFBQkFnTUVDME1BQUFBQUlRQU1Cd3REQUFBQWdDRUFEQVlMUTlzUFNVQWhBQXdGQzBQYkQwbkFJUUFNQkFzTEN3c2dBMEdBZ0lEOEIwWWdCa0dBZ0lEb0FHb2dBMGx5QkVCRDJ3L0p2MFBiRDhrL0lBY2JJUUFNQVFzZ0JVRUFTQ0FEUVlDQWdPZ0FhaUFHU1hFRWZVTUFBQUFBQlNBQUlBR1ZpeEQwQWdzaEFBSkFBa0FDUUNBQ1FRTnhEZ01EQUFFQ0N5QUFqQ0VBREFJTFE5c1BTVUFnQUVNdXZic3prcE1oQUF3QkN5QUFReTY5dXpPU1E5c1BTY0NTSVFBTERBRUxJQUFnQVpJaEFBc2dBQXVqQWdBZ0FBUi9BbjhnQVVHQUFVa0VRQ0FBSUFFNkFBQkJBUXdCQzBIb2lRRW9BZ0FvQWdCRkJFQWdBVUdBZjNGQmdMOERSZ1JBSUFBZ0FUb0FBRUVCREFJRlFhVEZBMEVaTmdJQVFYOE1BZ3NBQ3lBQlFZQVFTUVJBSUFBZ0FVRUdka0hBQVhJNkFBQWdBQ0FCUVQ5eFFZQUJjam9BQVVFQ0RBRUxJQUZCZ0VCeFFZREFBMFlnQVVHQXNBTkpjZ1JBSUFBZ0FVRU1ka0hnQVhJNkFBQWdBQ0FCUVFaMlFUOXhRWUFCY2pvQUFTQUFJQUZCUDNGQmdBRnlPZ0FDUVFNTUFRc2dBVUdBZ0h4cVFZQ0F3QUJKQkg4Z0FDQUJRUkoyUWZBQmNqb0FBQ0FBSUFGQkRIWkJQM0ZCZ0FGeU9nQUJJQUFnQVVFR2RrRS9jVUdBQVhJNkFBSWdBQ0FCUVQ5eFFZQUJjam9BQTBFRUJVR2t4UU5CR1RZQ0FFRi9Dd3NGUVFFTEM2a0JBUUovSUFGQi93ZEtCRUFnQUVRQUFBQUFBQURnZjZJaUFFUUFBQUFBQUFEZ2Y2SWdBQ0FCUWY0UFNpSUNHeUVBSUFGQmduQnFJZ05CL3djZ0EwSC9CMGdiSUFGQmdYaHFJQUliSVFFRklBRkJnbmhJQkVBZ0FFUUFBQUFBQUFBUUFLSWlBRVFBQUFBQUFBQVFBS0lnQUNBQlFZUndTQ0lDR3lFQUlBRkIvQTlxSWdOQmduZ2dBMEdDZUVvYklBRkIvZ2RxSUFJYklRRUxDeUFBSUFGQi93ZHFyVUkwaHIraUM1c0NBUUovSUFJZ0JFZ0VRQ0FBSUFFZ0FpQUVFR2NFZnlBQUtBSUlJUVVnQUNnQ0RBVkJmdzhMSVFJRklBRWhCUXNnQkVFQ2RFSHdNV29vQWdBZ0JTQUNJQVJySWdGMWNTSUdJQVJCQW5RZ0Eyb29BZ0JLQkVBQ1FDQUZJUUlEUUFKQUlBRkJBVWdFUUNBQUlBSWdBVUVCRUdkRkRRRWdBQ2dDQ0NFQ0lBQW9BZ3doQVFzZ0FpQUJRWDlxSWdGMlFRRnhJQVpCQVhSeUlnWWdCRUVCYWlJRVFRSjBJQU5xS0FJQVNnMEJEQUlMQzBGL0R3c0ZJQVVoQWdzZ0FDQUNOZ0lJSUFBZ0FUWUNEQ0FFUVJCS0JIOGdBQ2dDRUNJQUtBSUFJZ0ZCK1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFQUJTQUdJQU5CeUFCcUlBUkJBblJxS0FJQWFpQURLQUtNQVVFUmFtb3RBQUFMQzVNQ0FnRi9BbjBnQUNBQklBSkJBblFnQVdvcUFnQ01FSlFCSUFKQkFuUWdBR29pQXlBREtnSUFRd0FBZ0QrU09BSUFJQUFnQVVFa2FpQUNRUWxxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCeUFCcUlBSkJFbXBCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhzQUdvZ0FrRWJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRWkFCYWlBQ1FTUnFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ0QUZxSUFKQkxXcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSFlBV29nQWtFMmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFmd0JhaUFDUVQ5cVFRSjBJQUZxS2dJQWpCQzVBU0FBRUZvaUJaRWhCQ0FGUXdBQUFBQmJCRUJEQUFBQUFDRUVCU0FBSUFCREFBQ0FQeUFFbFJDVUFRc2dCQXNHQUVFVUVBSUwvZ2tCQ244akJpRU5Jd1pCRUdva0JpQU5RUWhxSVJBZ0RVRU1haUlPSUFNUU95QU9RYURPQXhBNklRc2dEaEE4SUFSQkFEWUNBQUpBQWtBRFFBSkFJQUVvQWdBaENDQUpSU0FHSUFkSGNVVU5BQ0FJSWdrRWZ5QUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBU0VNUVFBaENVRUFCVUVBSVF3Z0NRc0ZRUUVoREVFQUN5RUlJQUlvQWdBaUNpRVJBa0FDUUNBS1JRMEFJQW9vQWd3aUR5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQThvQWdBTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdERVVOQlFzTUFRc2dEQTBEUVFBaENnc2dDeUFHS0FJQVFRQWdDeWdDQUNnQ05FRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFScUlneEdEUU1DUUNBTElBd29BZ0JCQUNBTEtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkNHcEdEUVVnQ2lFSUlBc2dCaWdDQ0VFQUlBc29BZ0FvQWpSQlAzRkJ5Z0ZxRVFRQUlRb2dEQ0VHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VNSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FNUVE5eFFZNERhaEVPQURZQ0FDQUdRUWhxSVFZRkFrQWdDMEdBd0FBZ0JpZ0NBQ0FMS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVFUUNBTElBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFrZ0N5QUdLQUlBSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSUFsSEJFQWdCRUVFTmdJQURBSUxJQWdvQWd3aUNTQUlLQUlRUmdSQUlBZ2dDQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FJSUFsQkJHbzJBZ3dnQ1NnQ0FCb0xJQVpCQkdvaEJnd0JDd05BQWtBZ0J5QUdRUVJxSWdaR0JFQWdCeUVHREFFTElBdEJnTUFBSUFZb0FnQWdDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQU5BUXNMSUFvaENRTkFJQWdFZnlBSUtBSU1JZ29nQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaENnSkFBa0FnQ1VVTkFDQUpLQUlNSWd3Z0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQU1LQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJBc01BUXNnQ2cwQ1FRQWhDUXNnQzBHQXdBQWdDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdDQ2dDRENJS0lBZ29BaEJHQkVBZ0NDQUlLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWdnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRRUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FCUlEwQ0N3d0NDeUFCRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBTkpBWWdDQXV0Q2dFS2Z5TUdJUTBqQmtFUWFpUUdJQTFCQ0dvaEVDQU5RUXhxSWc0Z0F4QTdJQTVCZ000REVEb2hEQ0FPRUR3Z0JFRUFOZ0lBQWtBQ1FBTkFBa0FnQVNnQ0FDRUlJQWxGSUFZZ0IwZHhSUTBBSUFnaUNRUi9JQWtvQWd3aUNDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFaEMwRUFJUWxCQUFWQkFDRUxJQWtMQlVFQklRdEJBQXNoQ0NBQ0tBSUFJZ29oRVFKQUFrQWdDa1VOQUNBS0tBSU1JZzhnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0MwVU5CUXNNQVFzZ0N3MERRUUFoQ2dzZ0RDQUdMQUFBUVFBZ0RDZ0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUUZxSWd0R0RRTUNRQ0FNSUFzc0FBQkJBQ0FNS0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQW1wR0RRVWdDaUVJSUF3Z0Jpd0FBa0VBSUF3b0FnQW9BaVJCUDNGQnlnRnFFUVFBSVFvZ0N5RUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRUxJQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQUxRUTl4UVk0RGFoRU9BRFlDQUNBR1FRSnFJUVlGQWtBZ0Jpd0FBQ0lKUVg5S0JFQWdEQ2dDQ0NJTElBbEJBWFJxTGdFQVFZREFBSEVFUUFOQUFrQWdCeUFHUVFGcUlnWkdCRUFnQnlFR0RBRUxJQVlzQUFBaUNVRi9UQTBBSUFsQkFYUWdDMm91QVFCQmdNQUFjUTBCQ3dzZ0NpRUpBMEFnQ0FSL0lBZ29BZ3dpQ2lBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUW9DUUFKQUlBbEZEUUFnQ1NnQ0RDSUxJQWtvQWhCR0JIOGdDU0FKS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQmdzTUFRc2dDZzBFUVFBaENRc2dDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUtRZjhCY1VFWWRFRVlkVUYvVEEwRElBd29BZ2dnQ2tFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkF5QUlLQUlNSWdvZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FLUVFGcU5nSU1JQW9zQUFBUVFob0xEQUFBQ3dBTEN5QU1JQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4SUF3b0FnQW9BZ3hCUDNGQmlnRnFFUUlBUWY4QmNTQU1JQVlzQUFBZ0RDZ0NBQ2dDREVFL2NVR0tBV29SQWdCQi93RnhSd1JBSUFSQkJEWUNBQXdCQ3lBSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUUZxTmdJTUlBa3NBQUFRUWhvTElBWkJBV29oQmdzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hBUUpBQWtBQ1FDQUNLQUlBSWdCRkRRQWdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0FVVU5BZ3NNQWdzZ0FRMEFEQUVMSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dEU1FHSUFnTHRRSUJCWDhqQmlFSEl3WkJFR29rQmlBQUtBSUFJZ1lFUUFKQUlBUW9BZ3doQ1NBQ0lBRnJJZ2hCQW5VaENpQUlRUUJLQkVBZ0JpZ0NBQ2dDTUNFSUlBWWdBU0FLSUFoQlAzRkJ5Z0ZxRVFRQUlBcEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDU0FESUFGclFRSjFJZ0ZyUVFBZ0NTQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRa3dRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ05CQW5VaEFTQURRUUJLQkVBZ0JpZ0NBQ2dDTUNFRElBWWdBaUFCSUFOQlAzRkJ5Z0ZxRVFRQUlBRkhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dCRUVBTmdJTUN3VkJBQ0VHQ3lBSEpBWWdCZ3QrQVFOL0lBRkRBQUFBUDVJUVF5QUFLQUlRYWlFRklBSkRBQUFBUDVJUVF5QUFLQUlVYWlFR0lBVkJBRWdFZjBGL0JTQUdRUUJJSUFVZ0FDZ0NDQ0lIVG5JRWYwRi9CU0FHSUFBb0FneElCSDhnQXlBQUtBSUVJQVlnQjJ3Z0JXcEJBM1JxSWdBb0FnQTJBZ0FnQkNBQUtBSUVOZ0lBUVFBRlFYOExDd3NMRUFBZ0FnUkFJQUFnQVNBQ0VQb0VDd3NRQUNBQ0JFQWdBQ0FCSUFJUVRCb0xDNzhCQVFKL0l3WWhCQ01HUWFBQmFpUUdJQVJCa0FGcUlRVWdCRUdZOWdCQmtBRVFUQm9DUUFKQUlBRkJmMnBCL3YvLy93ZE5EUUFnQVFSL1FhVEZBMEU5TmdJQVFYOEZJQVVoQUVFQklRRU1BUXNoQUF3QkN5QUVRWDRnQUdzaUJTQUJJQUVnQlVzYklnRTJBakFnQkNBQU5nSVVJQVFnQURZQ0xDQUVJQUFnQVdvaUFEWUNFQ0FFSUFBMkFod2dCQ0FDSUFNUXBRSWhBQ0FCQkVBZ0JDZ0NGQ0lCSUFFZ0JDZ0NFRVpCSDNSQkgzVnFRUUE2QUFBTEN5QUVKQVlnQUF0ckFRTjlJQUVxQWlBZ0FTb0NHQ0FDS2dJQUlnU1VJQUVxQWh3Z0Fpb0NCQ0lGbEpLU0lRTWdBQ0FCS2dJSUlBUWdBU29DQUpRZ0JTQUJLZ0lFbEpLU0lBT1ZPQUlBSUFBZ0FTb0NGQ0FCS2dJTUlBSXFBZ0NVSUFFcUFoQWdBaW9DQkpTU2tpQURsVGdDQkF1ZkFnSUVmd1Y4SUFOQkFuUWdBV29vQWdBaUNpQUNRUUowSUFGcUtBSUFJZ2hydHlFTUlBSkJBblFnQUdvb0FnQWlDU0FEUVFKMElBQnFLQUlBSWdkcnR5RU5JQWNnQ0d3Z0NTQUtiR3UzSVE4Z0FrRUJhaUlISVFnRFFDQUhJQU5JQkVBZ0J5QUlJQXdnQjBFQ2RDQUFhaWdDQUxlaUlBMGdCMEVDZENBQmFpZ0NBTGVpb0NBUG9DSU9JQTZpSWc0Z0MyUWlDUnNoQ0NBSFFRRnFJUWNnRGlBTElBa2JJUXNNQVFzTEFuOENRQ0FMSUF3Z0RLSWdEU0FOb3FDaklBUmtSUTBBSUFBZ0FTQUNJQWdnQkNBRklBWVFxd0ZCQUU0RVFDQUdLQUlBSWdKQkJVd0VRQ0FDUVFKMElBVnFJQWcyQWdBZ0JpQUdLQUlBUVFGcU5nSUFJQUFnQVNBSUlBTWdCQ0FGSUFZUXF3RkJBRTROQWdzTFFYOE1BUXRCQUFzTG5nSUJCWDhqQmlFREl3WkJFR29rQmlBQUtBSVFJQUZOQkVBZ0EwSEF5QU5CeHBvQ0VEZEJxSmtDRURkQjc2SUNFRGRCMmdFUVBrSDJvZ0lRTjBIaHZRRVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVSWdRZ0Frc0VRQ0FBS0FJRUlBSWdBU0FFYkdwQkJYUnFJUWNnQXlRR0lBY1BCU0FEUWNESUEwSFdtd0lRTjBHb21RSVFOMEh2b2dJUU4wSGJBUkErUWZhaUFoQTNRZlc5QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRFFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBREVEd2dBaUFBRUVBZ0FoQS9FQUFMUVFBTENBQkJCeEFDUVFBTERBQWdBRUdDaG9BZ05nQUFDNUlCQVFGL0lBTkJnQkJ4QkVBZ0FFRXJPZ0FBSUFCQkFXb2hBQXNnQTBHQUJIRUVRQ0FBUVNNNkFBQWdBRUVCYWlFQUN3TkFJQUVzQUFBaUJBUkFJQUFnQkRvQUFDQUJRUUZxSVFFZ0FFRUJhaUVBREFFTEN5QUFBbjhDUUNBRFFjb0FjVUVJYXlJQkJFQWdBVUU0UncwQlFlOEFEQUlMSUFOQkNYWkJJSEZCK0FCekRBRUxRZVFBUWZVQUlBSWJDem9BQUF0K0FRTi9Jd1loQWlNR1FSQnFKQVpCK3YwQ0lBRXNBQUFRdndFRWZ5QUJFSmtGUVlDQUFuSWhBeUFDSUFBMkFnQWdBaUFETmdJRUlBSkJ0Z00yQWdoQkJTQUNFRFFRbWdNaUEwRUFTQVIvUVFBRklBTWdBUkNZQlNJQUJIOGdBQVVnQXhBWUdrRUFDd3NGUWFURkEwRWNOZ0lBUVFBTElRUWdBaVFHSUFRTERBQWdBQkRmQ1NBQUlBRWJDeEFBSUFCQklFWWdBRUYzYWtFRlNYSUxYQUVDZnlBQUxBQUFJZ0lnQVN3QUFDSURSeUFDUlhJRWZ5QUNJUUVnQXdVRGZ5QUFRUUZxSWdBc0FBQWlBaUFCUVFGcUlnRXNBQUFpQTBjZ0FrVnlCSDhnQWlFQklBTUZEQUVMQ3dzaEFDQUJRZjhCY1NBQVFmOEJjV3NMS0FFQ2Z5QUFJUUVEUUNBQlFRUnFJUUlnQVNnQ0FBUkFJQUloQVF3QkN3c2dBU0FBYTBFQ2RRdklBd0VIZnlBQUtBSUVJUVVnQWtId2srdmNBMHNFUUNBQUtBSUFJZ05CT0RZQ0ZDQURRUUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUZCQVVzRVFDQUFLQUlBSWdOQkR6WUNGQ0FESUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFKQkNDQUNRUWR4SWdOclFRQWdBeHRxSVFRQ1FBSkFJQVZCTkdvZ0FVRUNkR29pQ0NnQ0FDSUNCRUFEUUFKQUlBSW9BZ2dnQkU4RVFDQUNJUUFNQVFzZ0FpZ0NBQ0lEQkVBZ0F5RUNEQUlGSUFJaEF3d0VDd0FMQ3dWQkFDRUREQUVMREFFTElBUkI4SlByM0FNZ0JHc2lBaUFCUVFKMFFlQ0hBVUhvaHdFZ0EwVWlDUnRxS0FJQUlnRWdBU0FDU3hzaUFXb2lBa0VRYWlJR0VFUWlCd1IvSUFZaEFTQUhCUU4vSUFGQjVBQkpCRUFnQUNnQ0FDSUNRVGcyQWhRZ0FrRUNOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUVJQUZCQVhZaUFXb2lBa0VRYWlJR0VFUWlCMFVOQUNBR0lRRWdCd3NMSVFBZ0JTQUJJQVVvQWt4cU5nSk1JQUJCQURZQ0FDQUFRUUEyQWdRZ0FDQUNOZ0lJSUFrRVFDQUlJQUEyQWdBRklBTWdBRFlDQUFzTElBQWdCQ0FBS0FJRUlnRnFOZ0lFSUFBZ0FDZ0NDQ0FFYXpZQ0NDQUFRUkJxSUFGcUN5Z0JBbjhDZnlNR0lRTWpCa0VRYWlRR0lBQkJBMEcwaHdGQnZOQUNRU0FnQVJBSklBTUxKQVlMbHdVQkJIOGpCaUVFSXdaQkVHb2tCaUFCSUFNUThRT09FRU1pQmpZQ0FDQURRUUVnQm5TeWxSRFNBU0VESUFJZ0FDb0NIQ0FEbEJEd0F4QkRJZ1kyQWdBZ0JpQUFLQUlVUVg5cVJnUkFJQUVnQVNnQ0FFRUJhallDQUNBQ1FRQTJBZ0JCQUNFR0N3SkFBa0FnQVNnQ0FDSUZRUUJJQkVBZ0FVRUFOZ0lBUVFBaEJnd0JCU0FGSUFBb0FoQWlCVTRFUUNBQklBVkJmMm8yQWdBZ0FDZ0NGRUYvYWlFR0RBSUxDd3dCQ3lBQ0lBWTJBZ0FMSUFFb0FnQWlCVUYvVEFSQUlBUkJ3TWdEUVlXWkFoQTNRYWlaQWhBM1FlK2lBaEEzUVl3Q0VENUI5cUlDRURkQnJwb0NFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBSElBRVFRQ0FIRUQ4UUFBc2dCU0FBS0FJUVRnUkFJQVJCd01nRFFjYWFBaEEzUWFpWkFoQTNRZStpQWhBM1FZMENFRDVCOXFJQ0VEZEI4cG9DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmtGL1RBUkFJQVJCd01nRFFaMmJBaEEzUWFpWkFoQTNRZStpQWhBM1FZNENFRDVCOXFJQ0VEZEJ2NXNDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmlBQUtBSVVTQVJBSUFRa0JnVWdCRUhBeUFOQjFwc0NFRGRCcUprQ0VEZEI3NklDRURkQmp3SVFQa0gyb2dJUU4wR0puQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQkJBOElBSWdBQkJBSUFJUVB4QUFDd3NPQUNBQUlBRWdBa0VDZEJCTUdndXRBUUFnQUNBQUtnSUFJQUVxQWdBZ0FwU1NPQUlBSUFBZ0FDb0NCQ0FCS2dJRUlBS1VramdDQkNBQUlBQXFBZ2dnQVNvQ0NDQUNsSkk0QWdnZ0FDQUFLZ0lNSUFFcUFnd2dBcFNTT0FJTUlBQWdBQ29DRUNBQktnSVFJQUtVa2pnQ0VDQUFJQUFxQWhRZ0FTb0NGQ0FDbEpJNEFoUWdBQ0FBS2dJWUlBRXFBaGdnQXBTU09BSVlJQUFnQUNvQ0hDQUJLZ0ljSUFLVWtqZ0NIQ0FBSUFBcUFpQWdBU29DSUNBQ2xKSTRBaUFMVVFFQmYwR3czUU1vQWdBaUFTQUFRUU5xUVh4eGFpSUFRUUJJQkVCQnBNVURRVEEyQWdCQmZ3OExJQUFRSjBzRVFDQUFFQ1JGQkVCQnBNVURRVEEyQWdCQmZ3OExDMEd3M1FNZ0FEWUNBQ0FCQ3dzQUlBQzdFTjBKdGhCREN5b0JBWDhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUVILy8vLy9CeUFCSUFNUXFRRWFJQU1rQmdzT0FDQUFRZWlKQVNnQ0FCRC9CQXVHQVFJQ2Z3RitJQUNuSVFJZ0FFTC8vLy8vRDFZRVFBTkFJQUZCZjJvaUFTQUFJQUJDQ2hEMkFTSUVRZ3ArZmFkQi93RnhRVEJ5T2dBQUlBQkMvLy8vLzU4QlZnUkFJQVFoQUF3QkN3c2dCS2NoQWdzZ0FnUkFBMEFnQVVGL2FpSUJJQUlnQWtFS0VFZ2lBMEVLYkd0Qk1ISTZBQUFnQWtFS1R3UkFJQU1oQWd3QkN3c0xJQUVMR2dBZ0FDQUJFS29DSWdCQkFDQUFMUUFBSUFGQi93RnhSaHNMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFZQ0hBVUd1dHdKQkFpQUJFQWtnQXdza0Jnc05BQ0FBS0FJRUlBRW9BZ1JMQ3hBQUlBQWdBVFlDQUNBQUlBSTJBZ1FMRFFBZ0FDZ0NFQ0FCUVJSc2Fnc1FBQ0FBS0FJRUlBRWdBQ2dDQUd4cUN3Z0FJQUJCOUFCcUN3d0FJQUFnQVNBQUlBRktHd3MvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZi8vLy84RFN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQ2RCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRSjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVDZENBRWFqWUNEQXNHQUVFWUVBSUxDQUJCRFJBQ1FRQUxpd0VCQTM4akJpRURJd1pCRUdva0JpQUNRZS8vLy84RFN3UkFFQUFMSUFKQkFra0VRQ0FBSUFJNkFBc2dBQ0VFQlNBQ1FRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQWpZQ0JBc0xJQVFnQVNBQ0VLY0JJQU5CQURZQ0FDQUNRUUowSUFScUlBTVFiaUFESkFZTHVRRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTZBQUFnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQ2dzaEFTQURRUUZxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVEzUUlnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBQ0FDYWlJQUlBTVFYeUFFUVFBNkFBQWdBRUVCYWlBRUVGOGdBeVFHQzdnQkFRVi9JQUlvQWdBZ0FDZ0NBQ0lESWdacklnVkJBWFFpQkVFRUlBUWJRWDhnQlVILy8vLy9CMGtiSVFVZ0FTZ0NBQ0VISUFOQkFDQUFLQUlFUVpFQlJ5SUVHeUFGRU9nQklnTkZCRUFRQUFzZ0JBUkFJQUFnQXpZQ0FBVWdBQ2dDQUNFRUlBQWdBellDQUNBRUJFQWdCQ0FBS0FJRVFmOEJjVUdzQTJvUkFRQWdBQ2dDQUNFREN3c2dBRUdTQVRZQ0JDQUJJQWNnQm10QkFuVkJBblFnQTJvMkFnQWdBaUFBS0FJQUlBVkJBblpCQW5ScU5nSUFDNlFEQVFOL0FuOENRQ0FDSUFNb0FnQWlDa1lpQzBVTkFDQUFJQWtvQW1CR0lneEZCRUFnQ1NnQ1pDQUFSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUNBRlJpQUdLQUlFSUFZc0FBc2lCa0gvQVhFZ0JrRUFTQnRCQUVkeEJFQkJBQ0FJS0FJQUlnQWdCMnRCb0FGT0RRRWFJQVFvQWdBaEFTQUlJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBUkJBRFlDQUVFQURBRUxJQWxCNkFCcUlRZEJBQ0VGQTM4Z0JVRWFSZ1IvSUFjRklBVkJBV29oQmlBQUlBVkJBblFnQ1dvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUpheUlGUVFKMUlRQWdCVUhjQUVvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQlVIWUFFNEVRRUYvSUFzTkF4cEJmeUFLSUFKclFRTk9EUU1hUVg4Z0NrRi9haXdBQUVFd1J3MERHaUFFUVFBMkFnQWdBRUh3N3dCcUxBQUFJUUFnQXlBS1FRRnFOZ0lBSUFvZ0FEb0FBRUVBREFNTEN5QUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFJQVFnQkNnQ0FFRUJhallDQUVFQUN3c0xEUUFnQUNnQ0FCQTRJQUFRT0F1ckF3RURmd0ovQWtBZ0FpQURLQUlBSWdwR0lndEZEUUFnQ1MwQUdDQUFRZjhCY1VZaURFVUVRQ0FKTFFBWklBQkIvd0Z4UncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FFSC9BWEVnQlVIL0FYRkdJQVlvQWdRZ0Jpd0FDeUlHUWY4QmNTQUdRUUJJRzBFQVIzRUVRRUVBSUFnb0FnQWlBQ0FIYTBHZ0FVNE5BUm9nQkNnQ0FDRUJJQWdnQUVFRWFqWUNBQ0FBSUFFMkFnQWdCRUVBTmdJQVFRQU1BUXNnQ1VFYWFpRUhRUUFoQlFOL0lBVkJHa1lFZnlBSEJTQUZRUUZxSVFZZ0JTQUphaUlGTFFBQUlBQkIvd0Z4UmdSL0lBVUZJQVloQlF3Q0N3c0xJQWxySWdCQkYwb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0FFRVdUZ1JBUVg4Z0N3MERHa0YvSUFvZ0FtdEJBMDROQXhwQmZ5QUtRWDlxTEFBQVFUQkhEUU1hSUFSQkFEWUNBQ0FBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBUVFBTUF3c0xJQUJCOE84QWFpd0FBQ0VBSUFNZ0NrRUJhallDQUNBS0lBQTZBQUFnQkNBRUtBSUFRUUZxTmdJQVFRQUxDd3VvRlFFSmZ5TUdJUUlqQmtFUWFpUUdJQUlpQlVFRWFpRURJQUpCQ0dvaUJpQUFOZ0lBSUFCQjFBRkpCRUJCOE93QVFiRHVBQ0FHRU5jRUtBSUFJUUFGQWtBZ0F5QUFJQUJCMGdFUVNDSUlRZElCYkNJQ2F6WUNBRUVBSVFCQnNPNEFRZkR2QUNBREVOY0VRYkR1QUd0QkFuVWhCd0pBQTBBQ1FDQUNJQWRCQW5SQnNPNEFhaWdDQUdvaEEwRUZJUUlDUUFKQUEwQWdBa0V2VHcwQklBTWdBa0VDZEVIdzdBQnFLQUlBSWdFUVNDSUVJQUZKRFFNZ0FrRUJhaUVDSUFFZ0JHd2dBMGNOQUFzTUFRdEIwd0VoQWdOQUFrQWdBeUFDRUVnaUFTQUNTUVIvSUFNaEFFRUJCU0FESUFFZ0FteEdCSDlCQ1FVZ0F5QUNRUXBxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VNYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCRUdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVWdBeUFDUVJKcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFV2FpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkhHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVDZnlBRElBSkJIbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFa2FpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRU2hxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQkttb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0V1YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FUUnFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCT21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRThhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWM0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZElBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVvQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZXdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZjRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWW9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWllCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fad0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYVlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWF3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYklCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYjRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjQUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkQUJhaUlCRUVnaUNTQUJTU0VFSUFFZ0FrSFNBV29nQkNBRElBRWdDV3hHSWdGeUd5RUNJQU1nQUNBRUd5RUFRUUZCQ1VFQUlBRWJJQVFiQ3dzTEN3c0xDd3NMQ3dzTEN3c0xJZ0ZCRDNFT0NnRUFBQUFBQUFBQUFBSUFDd3NnQVEwREN5QUlJQWRCQVdvaUEwRXdSaUlCYWlJQ0lRZ2dBa0hTQVd3aEFrRUFJQU1nQVJzaEJ3d0JDd3NnQmlBRE5nSUFJQU1oQUF3QkN5QUdJQU0yQWdBTEN5QUZKQVlnQUF1UUFnSUNmd1I5SUFDOElnRkJBRWdoQWlBQlFZQ0FnQVJKSUFKeUJFQUNRQ0FCUWYvLy8vOEhjVVVFUUVNQUFJQy9JQUFnQUpTVkR3c2dBa1VFUUVIb2ZpRUNJQUJEQUFBQVRKUzhJUUVNQVFzZ0FDQUFrME1BQUFBQWxROExCU0FCUWYvLy8vc0hTd1JBSUFBUEN5QUJRWUNBZ1B3RFJnUi9Rd0FBQUFBUEJVR0Jmd3NoQWdzZ0FVR045cXNDYWlJQlFmLy8vd054UWZPSjFQa0RhcjVEQUFDQXY1SWlBeUFEUXdBQUFFQ1NsU0lGSUFXVUlnWWdCcFFoQkNBQ0lBRkJGM1pxc2lJQVE0QnhNVCtVSUFNZ0FFUFI5eGMzbENBRklBTWdBME1BQUFBL2xKUWlBQ0FHSUFSRDd1bVJQcFJEcXFvcVA1S1VJQVFnQkVNbW5uZytsRU1UenN3K2twU1NrcFNTSUFDVGtwSUxsQUVCQkh3Z0FDQUFvaUlDSUFLaUlRTkVBQUFBQUFBQThEOGdBa1FBQUFBQUFBRGdQNklpQktFaUJVUUFBQUFBQUFEd1B5QUZvU0FFb1NBQ0lBSWdBaUFDUkpBVnl4bWdBZm8rb2tSM1VjRVdiTUZXdjZDaVJFeFZWVlZWVmFVL29LSWdBeUFEb2lBQ1JNU3h0TDJlN2lFK0lBSkUxRGlJdnVuNnFEMmlvYUpFclZLY2dFOStrcjZnb3FDaUlBQWdBYUtob0tBTGxRRUJBM3dnQUNBQW9pSURJQU1nQTZLaUlBTkVmTlhQV2pyWjVUMmlST3VjSzRybTVWcStvS0lnQXlBRFJIMytzVmZqSGNjK29rVFZZY0Vab0FFcXY2Q2lSS2I0RUJFUkVZRS9vS0FoQlNBRElBQ2lJUVFnQUNBRVJFbFZWVlZWVmNVL29pQURJQUZFQUFBQUFBQUE0RCtpSUFRZ0JhS2hvaUFCb2FDaElBUWdBeUFGb2tSSlZWVlZWVlhGdjZDaUlBQ2dJQUliQ3dzQUlBQWdBU0FDRVBrRUN4b0FJQUFvQWdBZ0FDZ0NCQ0lBSUFBUStBUkZRUjkwUVI5MUM0Z0RBUVovSXdZaEJ5TUdRUkJxSkFZZ0EwRzB4UU1nQXhzaUJTZ0NBQ0VEQW44Q1FDQUJCSDhDZnlBQUlBY2dBQnNoQmlBQ0JFQUNRQUpBSUFNRVFDQURJUUFnQWlFRERBRUZJQUVzQUFBaUFFRi9TZ1JBSUFZZ0FFSC9BWEUyQWdBZ0FFRUFSd3dGQ3lBQkxBQUFJUUJCNklrQktBSUFLQUlBUlFSQUlBWWdBRUgvdndOeE5nSUFRUUVNQlFzZ0FFSC9BWEZCdm41cUlnQkJNa3NOQmlBQlFRRnFJUUVnQUVFQ2RFSFFOR29vQWdBaEFDQUNRWDlxSWdNTkFRc01BUXNnQVMwQUFDSUlRUU4ySWdSQmNHb2dCQ0FBUVJwMWFuSkJCMHNOQkNBRFFYOXFJUVFnQ0VHQWYyb2dBRUVHZEhJaUFFRUFTQVJBSUFFaEF5QUVJUUVEUUNBQlJRMENJQU5CQVdvaUF5d0FBQ0lFUWNBQmNVR0FBVWNOQmlBQlFYOXFJUUVnQkVIL0FYRkJnSDlxSUFCQkJuUnlJZ0JCQUVnTkFBc0ZJQVFoQVFzZ0JVRUFOZ0lBSUFZZ0FEWUNBQ0FDSUFGckRBSUxJQVVnQURZQ0FBdEJmZ3NGSUFNTkFVRUFDd3dCQ3lBRlFRQTJBZ0JCcE1VRFFSazJBZ0JCZndzaENTQUhKQVlnQ1F2SUN3RUlmeUFBS0FJWUlnUW9BZ0FoQmlBRUtBSUVJUVVnQUNBQk5nTGNBU0FBSUFJMkF1QUJJQUFnQXpZQzVBRUNRQ0FGQkg4Z0JnVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VGSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFZZ0JVRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFvZ0FrRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFBMkF0UUJJQUpCZjJvaUFnUi9JQU1GSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEFpQUVLQUlBQ3lJQlFRRnFJUU1nQUNBQkxRQUFRUWgwSWdVMkFpQWdBa0YvYWlJQ0JFQWdBeUVCSUFVaEF3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFBb0FpQWhBeUFFS0FJQUlRRUxJQUZCQVdvaEJTQUFJQUV0QUFBZ0EybzJBaUFnQWtGL2FpSUNCSDhnQlFVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUJCQ0hRaUJUWUNIQ0FDUVg5cUlnSUVRQ0FESVFFZ0JTRURCU0FFS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFJZ0FDZ0NIQ0VESUFRb0FnQWhBUXNnQVVFQmFpRUZJQUFnQVMwQUFDQURhallDSENBQ1FYOXFJZ0VFUUNBRklRSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ0FoQWlBRUtBSUVJUUVMSUFBZ0FpMEFBRFlDSkNBQUtBSUFJZ01nQUNnQ3VBTTJBaGdnQXlBQUtBSWNOZ0ljSUFNZ0FDZ0NJRFlDSUNBRElBQW9BaVEyQWlRZ0EwSG1BRFlDRkNBREtBSUVJUU1nQUVFQklBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBREtBSVFCRUFnQUNnQ0FDSURRVDAyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDeUFLUWY4QmNTQUdRZjhCY1VFSWRISkJlR29oQlFKQUFrQWdBQ2dDSUVVTkFDQUFLQUljUlEwQUlBQW9BaVFpQTBFQlNBMEFEQUVMSUFBb0FnQWlBMEVoTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQ0FBS0FJa0lRTUxJQU5CQTJ3Z0JVY0VRQ0FBS0FJQUlnTkJERFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUFvQXRnQlJRUkFJQUFvQWdRb0FnQWhBeUFBSUFCQkFTQUFLQUlrUWRnQWJDQURRVDl4UWNvQmFoRUVBRFlDMkFFTElBRkJmMm9oQVNBQ1FRRnFJUUlnQUNnQ0pFRUFTZ1JBQWtCQkFDRUZBMEFDUUNBQkJIOGdBU0VJSUFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhDQ0FFS0FJQUN5SUhMUUFBSVFJZ0FDZ0MyQUVoQXlBRkJFQUNRQ0FESVFGQkFDRUdBMEFnQVNnQ0FDQUNSd1JBSUFGQjJBQnFJUUVnQmtFQmFpSUdJQVZKRFFFTUFnc0xJQU1vQWdBaEFTQURRZGdBYWlFQ0lBVkJBVXNFZjBFQklRWURRQ0FDS0FJQUlna2dBU0FKSUFGS0d5RUJJQUpCMkFCcUlRSWdCa0VCYWlJR0lBVkhEUUFMSUFWQjJBQnNJQU5xQlNBQ0N5RUxJQUZCQVdvaEFpQUxJUUVMQlNBRElRRUxJQWRCQVdvaEJpQUJJQUkyQWdBZ0FTQUZOZ0lFSUFoQmYyb2lBd1IvSUFZRklBUW9BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUN5SUNRUUZxSVFZZ0FTQUNMUUFBSWdKQkJIWTJBZ2dnQVNJSElBSkJEM0UyQWd3Z0FTQURRWDlxSWdNRWZ5QUdCU0FFS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFNZ0JDZ0NBQXNpQWkwQUFEWUNFQ0FBS0FJQUlnWWdCeWdDQURZQ0dDQUdJQUVvQWdnMkFod2dCaUFIS0FJTU5nSWdJQVlnQnlnQ0VEWUNKQ0FHUWVjQU5nSVVJQVlvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0EwRi9haUVCSUFKQkFXb2hBaUFGUVFGcUlnVWdBQ2dDSkVnTkFRd0NDd3NNQWdzTElBQW9BdEFEUVFFMkFoQWdCQ0FDTmdJQUlBUWdBVFlDQkVFQkR3dEJBQXMwQVFGL0lBQW9BZ1FnQVNnQ0NCQ0xBU0lDQkVBZ0FpQUFJQUVRclFKQkFFZ0VRQ0FDRUVsQkFDRUNDd1ZCQUNFQ0N5QUNDeVFBSUFVRWZTQUFJQUVnQWlBRElBUWdCaERLQmdVZ0FDQUJJQUlnQXlBRUVNc0dDd3YzQmdNSGZ3VjlBM3dqQmlFSUl3WkI0QUZxSkFZZ0NFSElBV29oQnlBSVFkUUJhaUlKSUFSQkJIUVFSQ0lOTmdJQUlBMUZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDeUFJUWRBQmFpRUhJQWtnQkVFWWJCQkVJZ3cyQWdRZ0RFVUVRRUVBUVFOQnVkZ0NJQWNRUFVFQkVBRUxJQWhCNEFCcUlRb2dDRUhBQVdvaEMwRUFJUWNEUUNBSElBUklCRUFnRUNBSFFReHNJQU5xS2dJQWtpRVFJQThnQjBFTWJDQURhaW9DQkpJaER5QU9JQWRCREd3Z0Eyb3FBZ2lTSVE0Z0IwRUJhaUVIREFFTEN5QVFJQVN5SWhHVklSQWdEeUFSbFNFUElBNGdFWlVoRGtFQUlRY0RRQ0FISUFSSUJFQWdCMEVFZENBTmFpQUhRUU4wSUFKcUtnSUF1emtEQUNBSFFRUjBJQTFxSUFkQkEzUWdBbW9xQWdTN09RTUlJQWRCR0d3Z0RHb2dCMEVNYkNBRGFpb0NBQ0FRazdzNUF3QWdCMEVZYkNBTWFpQUhRUXhzSUFOcUtnSUVJQStUdXprRENDQUhRUmhzSUF4cUlBZEJER3dnQTJvcUFnZ2dEcE83T1FNUUlBZEJBV29oQnd3QkN3c2dDU0FFTmdJSVFRQWhBZ05BSUFKQkEwY0VRRUVBSVFNRFFDQURRUU5IQkVBZ0FrRUZkQ0FLYWlBRFFRTjBhaUFDUVFSMElBRnFJQU5CQW5ScUtnSUF1emtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dDaUFCS2dJTUlCQWdBU29DQUpRZ0R5QUJLZ0lFbEpJZ0RpQUJLZ0lJbEpLU3V6a0RHQ0FLSUFFcUFod2dFQ0FCS2dJUWxDQVBJQUVxQWhTVWtpQU9JQUVxQWhpVWtwSzdPUU00SUFvZ0FTb0NMQ0FRSUFFcUFpQ1VJQThnQVNvQ0pKU1NJQTRnQVNvQ0tKU1NrcnM1QTFnZ0JnUkFJQUFnQ1NBS0lBZ2dDeENkQkVFQVNBUkFJQXRFQUFBQUFJVFhsMEU1QXdBTEJTQUFJQWtnQ2lBSUlBc1E2Z0ZCQUVnRVFDQUxSQUFBQUFDRTE1ZEJPUU1BQ3dzZ0NTZ0NBQkE0SUFrb0FnUVFPRUVBSVFBRFFDQUFRUU5IQkVCQkFDRUJBMEFnQVVFRFJ3UkFJQUJCQkhRZ0JXb2dBVUVDZEdvZ0FFRUZkQ0FJYWlBQlFRTjBhaXNEQUxZNEFnQWdBVUVCYWlFQkRBRUxDeUFBUVFGcUlRQU1BUXNMSUFVZ0NDc0RHQ0FJS3dNQUlCQzdJaE9pb1NBSUt3TUlJQSs3SWhTaW9TQUlLd01RSUE2N0loV2lvYlk0QWd3Z0JTQUlLd000SUFnckF5QWdFNktoSUFnckF5Z2dGS0toSUFnckF6QWdGYUtodGpnQ0hDQUZJQWdyQTFnZ0NFRkFheXNEQUNBVG9xRWdDQ3NEU0NBVW9xRWdDQ3NEVUNBVm9xRzJPQUlzSUFzckF3QzJJUklnQ0NRR0lCSUxKd0VDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVFUWZBWFFidlVBa0VHSUFFUUNTQURDeVFHQ3dvQUlBQkJHR29RbFFFTEZRQWdBRU1BQUlBL0lBRWdBVU1BQUFBQVd4dVZDeUlBSUFBZ0FTb0NBQ0FDS2dJQWt6Z0NBQ0FBSUFFcUFnUWdBaW9DQkpNNEFnUUx5UUlCQkg4akJpRURJd1pCRUdva0JpQUJLQUlBUVFKSEJFQWdBMEhBeUFOQjhPUUJFRGRCbWVBQkVEZEI3NklDRURkQjVRSVFQa0gyb2dJUU4wR2Y1UUVRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQXhBOElBUWdCUkJBSUFRUVB4QUFDd0pBQWtBQ1FBSkFBa0FnQWlnQ0FBNERBZ0FCQXdzZ0FTZ0NHQ0FBS0FJZ0lBSW9BaGdnQWlnQ0JDQUNLQUlJRU5ZSURBTUxJQUVvQWhnZ0FDZ0NMQ0FDS0FJWUlBSW9BZ1FnQWlnQ0NCRFZDQXdDQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkJ3K1VCUWNQbEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXdCQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkIxdVVCUWRibEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXNnQXlRR0MwQUJBWDBnQUVFQklBUjBzaUlGSUFLVVJBQUFBQUFBQVBBL0lBUkJmMm9RbndGRUFBQUFBQUFBNEwrZ3RpSUNramdDQUNBQklBVWdBNVFnQXBJNEFnQUx4QUVCQlg4akJpRURJd1pCSUdva0JrSEg0L0U0SUFBb0FnUWdBQ2dDQUd0QkpCQTVRUUZxSWdKSkJFQVFBQVVnQXlBQ0lBQW9BZ2dnQUNnQ0FDSUVhMEVrRURraUJVRUJkQ0lHSUFZZ0Fra2JRY2ZqOFRnZ0JVSGo4YmdjU1JzZ0FDZ0NCQ0FFYTBFa0VEa2dBRUVJYWhEUUFpQURLQUlJSWdJZ0FTa0NBRGNDQUNBQ0lBRXBBZ2czQWdnZ0FpQUJLUUlRTndJUUlBSWdBU2tDR0RjQ0dDQUNJQUVvQWlBMkFpQWdBeUFDUVNScU5nSUlJQUFnQXhEUEFpQURFTTRDSUFNa0Jnc0xHZ0JEQUFBQUFDQUJJQUFnQUNBQlhoc2dBRU1BQUFBQVhSc0xsd0VCQkg4Z0FVRUVhaUlES0FJQVFRQWdBQ2dDQkNBQUtBSUFJZ1JySWdWQkFuVnJRUUowYWlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUw0QUVDQW44QmZTTUdJUVlqQmtFd2FpUUdJQUFFZnlBQVFRaHFJQUVnQmhENkFTQUFRYmdCYWlBR0tnSU1JQVlxQWdBZ0FwUWdCaW9DQkNBRGxKS1NJQVlxQWl3Z0Jpb0NJQ0FDbENBR0tnSWtJQU9Va3BJaUNKVWdCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBSWxTQUVJQVVRYlVFZmRRVWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFSUlBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDQ0FDbFRnQ0FFRUFDeUVISUFZa0JpQUhDelFCQW44RFFBSkFJQUFnQVJDV0F5SUNSUVJBUVFBaEFnd0JDeUFBTEFBQVFRcHJJZ05CQUNBRFFSbEhHMFVOQVFzTElBSUxYUUVCZnlBQklBQklJQUFnQVNBQ2FraHhCRUFnQVNBQ2FpRUJJQUFpQXlBQ2FpRUFBMEFnQWtFQVNnUkFJQUpCQVdzaEFpQUFRUUZySWdBZ0FVRUJheUlCTEFBQU9nQUFEQUVMQ3lBRElRQUZJQUFnQVNBQ0VFd2FDeUFBQzRNQkFRSi9JQUJGQkVBZ0FSQkVEd3NnQVVHL2Ywc0VRRUdreFFOQk1EWUNBRUVBRHdzZ0FFRjRha0VRSUFGQkMycEJlSEVnQVVFTFNSc1E0QWtpQWdSQUlBSkJDR29QQ3lBQkVFUWlBa1VFUUVFQUR3c2dBaUFBSUFCQmZHb29BZ0FpQTBGNGNVRUVRUWdnQTBFRGNSdHJJZ01nQVNBRElBRkpHeEJNR2lBQUVEZ2dBZ3RaQVFKL0EwQWdBQ0FCRUpZREJFQWdBQkJnSVFJRFFBSkFJQUpGRFFBQ1FDQUFJQUpCZjJvaUFtb2lBeXdBQUVFS2F3NEVBQUVCQUFFTElBTkJBRG9BQUF3QkN3c2dBQ3dBQUNJQ1FRQWdBa0VqUnh0RkRRRUxDd3ZtQkFJSWZ3UjhJd1loQ0NNR1FiQUJhaVFHSUFoQnFBRnFJUVVnQ0VHZ0FXb2hCaUFJUVpBQmFpRUtJQWhCTUdvaEN5QUJLQUlJSWdkQkEwZ0VmMEYvQlFKL0lBZEI0QUJzRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQVlRUFVGL0RBRUxJQWRCQkhRUVJDSUhSUVJBUVFCQkEwSEsyQUlnQlJBOUlBa1FPRUYvREFFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0JVRUZkQ0FEYWlBR1FRTjBhaUFGUVFWMElBSnFJQVpCQTNScUt3TUFPUU1BSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEMwRUFJUVlDUUFKQUFrQURRQUpBSUFBZ0F5QUxFTE1DUkFBQUFBQUFBQUFBSVExQkFDRUZBMEFnQlNBQktBSUlJZ0pJQkVBZ0NpQUxJQUVvQWdRZ0JVRVliR29RdXdSQkFFZ05BaUFCS0FJQUlnSWdCVUVFZEdvckF3QWdDaXNEQUtFaERpQUZRUVIwSUFKcUt3TUlJQW9yQXdpaElROGdCVUVCZENJQ1FRTjBJQWRxSUE0NUF3QWdBa0VCY2tFRGRDQUhhaUFQT1FNQUlBMGdEaUFPb2lBUElBK2lvS0FoRFNBRlFRRnFJUVVNQVFzTElBMGdBcmVqSWcwZ0FDc0RhR01OQkNBR0JFQWdEU0FBS3dONFl3UkFJQTBnRUtNZ0FDc0RjR1FOQmdzTElBWWdBQ2dDWUVZTkJFRUFJUVVEUUNBRklBSklCRUFnQlVFTWJFRURkQ0FKYWlBQUlBTWdBU2dDQkNBRlFSaHNhaEM1QkVFQVNBMEVJQVZCQVdvaEJTQUJLQUlJSVFJTUFRc0xJQWdnQnlBSklBSkJBWFFRc3dSQkFFZ05BeUFESUFnUXNnUWdEU0VRSUFaQkFXb2hCZ3dCQ3dzZ0NTQUhFT0FDUVg4TUF3c2dDU0FIRU9BQ1FYOE1BZ3NnQ1NBSEVPQUNRWDhNQVFzZ0JDQU5PUU1BSUFrUU9DQUhFRGhCQUFzTElRd2dDQ1FHSUF3TFhBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FSQTdJQU5CcU00REVEb2lBU2dDQUNnQ0VDRUVJQUlnQVNBRVFmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQU1RUENBREpBWUxDUUFnQUNBQkVJb0xDMXdCQW44akJpRURJd1pCRUdva0JpQURJQUVRT3lBRFFaRE9BeEE2SWdFb0FnQW9BaEFoQkNBQ0lBRWdCRUgvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBREVEd2dBeVFHQ3hBQUlBQWdBU0FBS0FJWVJYSTJBaEFMZXdFQmZ5QUFRWDlHQkVCQmZ5RUFCUUpBSUFFb0FreEJmMG9FZjBFQkJVRUFDeG9DUUFKQUlBRW9BZ1FpQWcwQUlBRVFwd0lhSUFFb0FnUWlBZzBBREFFTElBSWdBU2dDTEVGNGFrc0VRQ0FCSUFKQmYyb2lBallDQkNBQ0lBQTZBQUFnQVNBQktBSUFRVzl4TmdJQURBSUxDMEYvSVFBTEN5QUFDMVFCQW44Z0FVRWZTd1IvSUFBZ0FDZ0NBQ0lDTmdJRUlBQkJBRFlDQUNBQlFXQnFJUUZCQUFVZ0FDZ0NCQ0VDSUFBb0FnQUxJUU1nQUNBQ0lBRjBJQU5CSUNBQmEzWnlOZ0lFSUFBZ0F5QUJkRFlDQUF1WEF3RUZmeU1HSVFnakJrSHdBV29rQmlBSVFlZ0JhaUlKSUFNb0FnQWlCellDQUNBSklBTW9BZ1FpQXpZQ0JDQUlJQUEyQWdBQ1FBSkFJQU1nQjBFQlIzSUVRRUVBSUFGcklRc2dBQ0FFUVFKMElBWnFLQUlBYXlJS0lBQWdBa0UvY1VHS0FXb1JBZ0JCQVVnRVFFRUJJUU1GUVFFaEJ5QUZSU0VGSUFBaEF5QUtJUUFEZnlBRklBUkJBVXB4QkVBZ0JFRitha0VDZENBR2FpZ0NBQ0VLSUFNZ0Myb2lCU0FBSUFKQlAzRkJpZ0ZxRVFJQVFYOUtCRUFnQnlFRklBTWhBQXdGQ3lBRklBcHJJQUFnQWtFL2NVR0tBV29SQWdCQmYwb0VRQ0FISVFVZ0F5RUFEQVVMQ3lBSFFRRnFJUVVnQjBFQ2RDQUlhaUFBTmdJQUlBa2dDUkNCQXlJREVQSUJJQU1nQkdvaEJDQUpLQUlBUVFGSElBa29BZ1JCQUVkeVJRMERJQUFnQkVFQ2RDQUdhaWdDQUdzaUNpQUlLQUlBSUFKQlAzRkJpZ0ZxRVFJQVFRRklCSDhnQlNFRFFRQUZJQUFoQXlBRklRZEJBU0VGSUFvaEFBd0JDd3NoQlFzRlFRRWhBd3NnQlVVRVFDQURJUVVNQVFzTUFRc2dBU0FJSUFVUS93SWdBQ0FCSUFJZ0JDQUdFS0lDQ3lBSUpBWUxWQUVDZnlBQlFSOUxCSDhnQUNBQUtBSUVJZ0kyQWdBZ0FFRUFOZ0lFSUFGQllHb2hBVUVBQlNBQUtBSUFJUUlnQUNnQ0JBc2hBeUFBSUFOQklDQUJhM1FnQWlBQmRuSTJBZ0FnQUNBRElBRjJOZ0lFQzE0QkFYOENmeUFBS0FKTVFRQk9CRUFnQUNnQ0JDSUJJQUFvQWdoSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVE5UUVMREFFTElBQW9BZ1FpQVNBQUtBSUlTUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRVBVQkN3c0xFZ0FnQUNnQ1RCb2dBQ0FCckNBQ0VJa0RDMGtCQTM4akJpRUJJd1pCRUdva0JpQUFFS2NDQkg5QmZ3VWdBQ2dDSUNFQ0lBQWdBVUVCSUFKQlAzRkJ5Z0ZxRVFRQVFRRkdCSDhnQVMwQUFBVkJmd3NMSVFNZ0FTUUdJQU1MRUFBZ0FWQUVma0lBQlNBQUlBR0FDd3RlQVFGL0lBUkJBRXdFUUE4TElBRkJBblFnQUdvaEFDQURRUUowSUFKcUlRRURRQ0FBUVFScUlRSWdBVUVFYWlFRElBRW9BZ0FnQUNnQ0FDQUZFRXdhSUFSQmYyb2hCaUFFUVFGS0JFQWdBaUVBSUFNaEFTQUdJUVFNQVFzTEN4TUFJQUVnQUVGL2Ftb2lBQ0FBSUFFUVQyc0x2QzBCQ1g4akJpRUtJd1pCb0FwcUpBWWdBa0VEU3dSQUlBQW9BZ0FpQlVFME5nSVVJQVVnQWpZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFKQkFuUnFJQUJCeEFGcUlBSkJBblJxSUFGQkFFY2lEQnNvQWdBaUJrVUVRQ0FBS0FJQUlnRkJORFlDRkNBQklBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFES0FJQUlnUkZCRUFnQUNnQ0JDZ0NBQ0VCSUFNZ0FFRUJRWkFMSUFGQlAzRkJ5Z0ZxRVFRQUlnUTJBZ0FMSUFBaEN5QUtRWkFJYWlFSklBUWdCallDakFFZ0Jpd0FBU0lDUWY4QmNTRUJJQUlFUUNBSlFRRWdBUkJGR2dWQkFDRUJDeUFCSUFZc0FBSWlBMEgvQVhFaUJXb2lBa0dBQWtzRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRSWdCUkJGR2lBQ0lRRUxJQUVnQml3QUF5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkF5QUZFRVVhSUFJaEFRc2dBU0FHTEFBRUlnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFRUlBVVFSUm9nQWlFQkN5QUJJQVlzQUFVaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFVZ0JSQkZHaUFDSVFFTElBRWdCaXdBQmlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQmlBRkVFVWFJQUloQVFzZ0FTQUdMQUFISWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VISUFVUVJSb2dBaUVCQ3lBQklBWXNBQWdpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUWdnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FDU0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJDU0FGRUVVYUlBSWhBUXNnQVNBR0xBQUtJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUtJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBc2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRc2dCUkJGR2lBQ0lRRUxJQUVnQml3QURDSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkRDQUZFRVVhSUFJaEFRc2dBU0FHTEFBTklnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFTklBVVFSUm9nQWlFQkN5QUJJQVlzQUE0aUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVE0Z0JSQkZHaUFDSVFFTElBRWdCaXdBRHlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRHlBRkVFVWFJQUloQVFzZ0FTQUdMQUFRSWdKQi93RnhJZ05xSWdoQmdBSktCRUFnQUNnQ0FDSUZRUWsyQWhRZ0JTZ0NBQ0VGSUFzZ0JVSC9BWEZCckFOcUVRRUFDeUFDQkVBZ0FTQUpha0VRSUFNUVJSb0ZJQUVoQ0FzZ0NDQUpha0VBT2dBQUlBa3NBQUFpQlFSQVFRQWhBVUVBSVFJZ0JTRURBMEFnQlNBRFFSaDBRUmgxUmdSQUEwQWdBa0VDZENBS2FpQUJOZ0lBSUFGQkFXb2hBU0FGSUFrZ0FrRUJhaUlDYWl3QUFDSURSZzBBQ3dzZ0FVRUJJQVYwVGdSQUlBQW9BZ0FpQjBFSk5nSVVJQWNvQWdBaEJ5QUxJQWRCL3dGeFFhd0RhaEVCQUFzZ0FVRUJkQ0VCSUFWQkFXb2hCU0FEUWY4QmNRMEFDd3NnQkNBR0xBQUJCSDhnQkVFQUlBb29BZ0JyTmdKTUlBWXRBQUVpQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVFBaEFVRi9DellDQkNBRUlBWXNBQUlFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWxBZ0FTQUdMUUFDYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBZ2dnQkNBR0xBQURCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pVSUFFZ0JpMEFBMm9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSU1JQVFnQml3QUJBUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNXQ0FCSUFZdEFBUnFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0VDQUVJQVlzQUFVRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsd2dBU0FHTFFBRmFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWhRZ0JDQUdMQUFHQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKZ0lBRWdCaTBBQm1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lZSUFRZ0Jpd0FCd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDWkNBQklBWXRBQWRxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNIQ0FFSUFZc0FBZ0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbWdnQVNBR0xRQUlhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpQWdCQ0FHTEFBSkJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSnNJQUVnQmkwQUNXb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJa0lBUWdCaXdBQ2dSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2NDQUJJQVl0QUFwcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDS0NBRUlBWXNBQXNFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW5RZ0FTQUdMUUFMYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaXdnQkNBR0xBQU1CSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0o0SUFFZ0JpMEFER29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSXdJQVFnQml3QURRUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNmQ0FCSUFZdEFBMXFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ05DQUVJQVlzQUE0RWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFvQUJJQUVnQmkwQURtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJNElBUWdCaXdBRHdSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2hBRWdBU0FHTFFBUGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWp3Z0JFRkFheUFHTEFBUUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nS0lBU0FCSUFZdEFCQnFRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNBQ0FFUWYvL1B6WUNSQ0FFUVpBQmFrRUFRWUFJRUVVYUlBWXNBQUVFUUVFQklRTkJBQ0VCQTBBZ0FTQUdRUkZxYWlFSFFZQUJJUVVnQVVFQ2RDQUthaWdDQUVFSGRDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFUWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFGSkJFQWdBaUVEREFFTEN3VkJBQ0VCQ3lBR0xBQUNCRUJCQVNFREEwQWdBU0FHUVJGcWFpRUhRY0FBSVFVZ0FVRUNkQ0FLYWlnQ0FFRUdkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBallDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBSkpCRUFnQWlFRERBRUxDd3NnQml3QUF3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJYUWlDVUVDZEdwQkF6WUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVJYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUthaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVMYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU5haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVPYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFUGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRWZjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFOSkJFQWdBeUVDREFFTEN3c2dCaXdBQkFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQkhRaUNVRUNkR3BCQkRZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBUkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJRUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkEzUWlCVUVDZEdwQkJUWUNBQ0FGSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0JVRUJjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVDYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhjaUlGUVFKMGFrRUZOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFWSkJFQWdBeUVDREFFTEN3c2dCaXdBQmdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQW5RaUEwRUNkR3BCQmpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dBMEVEY2lJRFFRSjBha0VHTmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBWkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJ3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFYUWlBMEVDZEdwQkJ6WUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlEUVFKMGFrRUhOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFkSkJFQWdBeUVDREFFTEN3c2dCaXdBQ0FSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0FpQTBFQ2RHcEJDRFlDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxTEFBQU9nQUFJQUpCQVdvaEF5QUJRUUZxSVFFZ0FpQUdMUUFJU1FSQUlBTWhBZ3dCQ3dzTElBd2dDRUVBU25GRkJFQWdDaVFHRHd0QkFDRUJBMEFnQVNBR1FSRnFhaTBBQUVFUFNnUkFJQUFvQWdBaUFrRUpOZ0lVSUFJb0FnQWhBaUFMSUFKQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlJQklBaEhEUUFMSUFva0JndThBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQURRUUowSUFGcUtnSUFJQVVyQXdDMmxDQUJRUkJxSUFOQkFuUnFLZ0lBSUFZckF3aTJsSklnQVVFZ2FpQURRUUowYWlvQ0FDQUhLd01RdHBTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFNcUFnd2dCRUVGZENBQWFpc0RHTGFTT0FJTUlBUkJBV29oQkF3QkN3c0wrbGNERG44RGZRbDhJd1loRFNNR1FZQUNhaVFHSUExQjBBQnFJUklnRFVHUUFXb2lEMFFBQUFBQUFBQlpRRGtEQUNBUFJBQUFBQUFBQUZsQU9RTUlJQTlFQUFBQUFBQ0FXMEE1QXhBZ0QwUUFBQUFBQUFCWlFEa0RHQ0FQUkFBQUFBQUFnRnRBT1FNZ0lBOUVBQUFBQUFDQVcwQTVBeWdnRDBRQUFBQUFBQUJaUURrRE1DQVBSQUFBQUFBQWdGdEFPUU00QTBBZ0VFRUVSd1JBSUJCQkJIUWdFbW9nRUVFRWRDQUphaXNEQURrREFDQVFRUVIwSUJKcUlCQkJCSFFnQ1dvckF3ZzVBd2dnRUVFQmFpRVFEQUVMQ3lBUElCSWdEUkNKQnlBU0t3TUFJaDBnRWlzREVDSWVvU0lmSUIraUlCSXJBd2dpSHlBU0t3TVlJaUNoSWlFZ0lhS2dFSE1oQ1NBU0t3TWdJaUVnRWlzRE1DSWlvU0lqSUNPaUlCSXJBeWdpSXlBU0t3TTRJaVNoSWlVZ0phS2dFSE1oRWlBZUlDR2hJaDRnSHFJZ0lDQWpvU0llSUI2aW9CQnpJUThnSWlBZG9TSWRJQjJpSUNRZ0g2RWlIU0Fkb3FBUWN5RVFJQklnQ1NBU0lBbEtHN2NnQ3FJZ0NxSVFjeUVWSUJBZ0R5QVFJQTlLRzdjZ0NxSWdDcUlRY3lFUUlBQUVRQ0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpRUUowYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRWtFQ2RHd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xCU0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFbXdnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQ3lBTlFlZ0JhaUVNSUExQjRBRnFJUTRnRFVIWUFXb2hFeUFOUWRBQmFpRVJJQTFCOEFGcUlSQWdEVUhzQVdvaER5QURJQWtnQ1NBRFNoc2lDU0FDRURraEZTQURJQklnRWlBRFNoc2lBeUFDRURraEVrUUFBQUFBQUFEd1B5QUtvVVFBQUFBQUFBRGdQNkpFQUFBQUFBQUFKRUNpSVIwZ0NrUUFBQUFBQUFBa1FLSWhDaUFDSUFKc0lSUUNmd0pBSUFFRVFDQVVRUVFRalFJaUFVVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxBa0FnQjBFQ1NRUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VEYkNJTWFpMEFBQ0FFSUF4QkFXcHFMUUFBYWlBRUlBeEJBbXBxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQVVnQjBFQmNrRURSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1haTBBQUNBRUlBeEJBWEpxTFFBQWFpQUVJQXhCQW5KcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0IwRUNja0VHUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFGeWFpMEFBQ0FFSUF4QkFuSnFMUUFBYWlBRUlBeEJBM0pxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUhRUVZyRGdvQUJnRUNBd1FGQUFBQUJnc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFQ2RDQUJhaUlPSUF3Z0RpZ0NBR28yQWdBTEN5QUhRUUZxSVFjTUFRc0xJQUJCQVdvaEFBd0FBQXNBQ3lBZFJBQUFBQUFBQUZsQW9DRWVJQU8zSVNFZ0NiY2hJaUFOUVVCcklSTWdBRUVCUmlFUlFRQWhBQU5BSUFBZ0EwNE5CeUFlSUFvZ0FMZEVBQUFBQUFBQTREK2dvaUFobzZBaEhVRUFJUWNEUUNBSElBbElCRUFnRXlzREFDQWVJQW9nQjdkRUFBQUFBQUFBNEQrZ29pQWlvNkFpSHlBTkt3TXdvaUFkSUEwckF6aWlvS0FpSUVRQUFBQUFBQUFBQUdFTkN5QVFJQTByQXhBZ0h5QU5Ld01Bb2lBZElBMHJBd2lpb0tBZ0lLTzJJaG80QWdBZ0R5QU5Ld01vSUI4Z0RTc0RHS0lnSFNBTkt3TWdvcUNnSUNDanRpSWJPQUlBSUFnZ0dpQWJJQkFnRHhCdEdpQVFLZ0lBSVJvZ0VRUi9JQnBEQUFDQVA1SVFRMEVDRURsQkFYUWhEQ0FQS2dJQVF3QUFnRCtTRUVOQkFoQTVRUUYwQlNBYVF3QUFBRCtTRUVNaERDQVBLZ0lBUXdBQUFEK1NFRU1MSVE0Z0RFRi9TZ1JBSUF3Z0JVZ2dEa0YvU25FZ0RpQUdTSEVFUUNBRUlBd2dCU0FPYkdwQkFYUkJBWEpxTFFBQUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkR290QUFBaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVVnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRa2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFY2NYSkJBbkpxSUF4QkEzUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRUWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFnZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VZY1hKQkJISnFJQXhCQW5SQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFNZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWNnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCOEFGeFFRaHlJQTVCQkhSQjhBRnhRUWh5YWlBRUlBeEJBWEpxTEFBQVFYQnhRUWh5UWY4QmNXcEJBeEJJSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMUVFCQkEwSHlxQUVnREJBOURBTUxBQXNnRWlBVmJDRUNRUUFoQUFOQUlBQWdGRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NGSUJSQkEyd2lHRUVFRUkwQ0lnRkZCRUJCQUVFRFFibllBaUFSRUQxQkFSQUJDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQnc0UEFBRUNBd1FGQmdjSUNRb0xCUVVGREFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUTBnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSRWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hCQW1wcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSQWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbXBxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXNnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERROGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQW5KcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUW9nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRNGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbkpxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWtnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRMGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQVhKcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFuSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQTNKcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEhJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwTElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUU55YWkwQUFDRVJJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRVNBV0tBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdCQ0FNUVFKeWFpMEFBQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0JDQU1RUUZ5YWkwQUFDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGR290QUFCQmdIOXFzaUVhSUFRZ0ZFRUNhbW90QUFCQmdIOXFzaUViSUJwRFRob0JSSlFnQkNBTUlBNXFRUUYwUVFGeWFpMEFBRUZ3YXJKRGZ3cVZRNVFpSEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBGSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEpJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGRUVCY21vdEFBQkJnSDlxc2lFYUlBUWdGRUVEYW1vdEFBQkJnSDlxc2lFYklBUWdEQ0FPYWtFQmRHb3RBQUJCY0dxeVEzOEtsVU9VSWh3Z0drTk9HZ0ZFbEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBFSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMElJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFOMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RZUFCY1VFRGRuSkJBbkpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUUowUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFjQUJjVUVEZG5KQkJISnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJT1FRRnlhaXdBQUVGd2NVRUlja0gvQVhFaEVTQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkEyd2lERUVDZENBQmFpSVdJQkVnRmlnQ0FHbzJBZ0FnREVFQmFrRUNkQ0FCYWlJUklCRW9BZ0FnQkNBT2Fpd0FBQ0lPUVFSMFFmOEJjVUVJY21vMkFnQWdERUVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdEa0Z3Y1VFSWNrSC9BWEZxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUF0QkFFRURRZktvQVNBVEVEME1BZ3NnRWlBVmJDRUNRUUFoQUFOQUlBQWdHRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NMSUFFUU9FRUFEQUVMSUFFUU9FRi9DeUVaSUEwa0JpQVpDNmtCQUNBQUlBRXFBZ0NNT0FJQUlBQWdBU29DQkl3NEFnUWdBRU1BQUlDL09BSUlJQUJCREdvUXdnTWdBQ0FDS2dJQUlBRXFBZ0NVT0FJWUlBQWdBaW9DQUNBQktnSUVsRGdDSENBQUlBSW9BZ0EyQWlBZ0FFRWthaERDQXlBQUlBRXFBZ0NNT0FJd0lBQWdBU29DQkl3NEFqUWdBRU1BQUlDL09BSTRJQUFnQWlvQ0JDQUJLZ0lBbERnQ1BDQUFRVUJySUFJcUFnUWdBU29DQkpRNEFnQWdBQ0FDS0FJRU5nSkVDeVFBSUFBZ0FTQUNFSVVCUXdBQUFBQmVJQU1nQkNBRkVJVUJRd0FBQUFCZWMwRUJjd3NNQUNBQUlBRWdBQ0FCWFJzTElBQWdBQ29DQUNBQktnSUVsQ0FBS2dJRUlBRXFBZ0NVazR0REFBQUFQNVFMVEFFQ2Z5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NBQ0lEYTBFRGRTQUJTUVJBSUFJZ0FTQUFLQUlFSUFOclFRTjFJQUJCQ0dvUWlBSWdBQ0FDRU0wQ0lBSVF6QUlMSUFJa0Jnc0hBQ0FBUVJCcUN3a0FJQUFnQVJEYkF3c01BQ0FBSUFGQkFYRTZBR1FMS2dBZ0FFRUFOZ0lBSUFCQkFEWUNCQ0FBUVFBMkFnZ2dBUVJBSUFBZ0FSQ2RDQ0FBSUFFUTlnTUxDd3dBSUFBZ0FTQUFJQUZJR3dzVkFDQUFRZnlGQVRZQ0FDQUFRUVJxSUFFUTNnSUxvd0lDQkg4QmZTTUdJUU1qQmtFUWFpUUdJQUpEQUFBQUFHQkZCRUFnQTBIQXlBTkJuWnNDRURkQnFKa0NFRGRCNzZJQ0VEZEI2QUVRUGtIMm9nSVFOMEcvbXdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVzaUFDWGdSQUlBQXFBaGdnQWhEbEJFRUJJQUYwc3BRaEJ5QURKQVlnQnc4RklBTkJ3TWdEUWRhYkFoQTNRYWlaQWhBM1FlK2lBaEEzUWVrQkVENUI5cUlDRURkQmlad0NFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQU5CZ000REVEb2lBU2dDQUNnQ0hDRUFJQUZCQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQU1RUENBRUlBQVFRQ0FFRUQ4UUFBdERBQUFBQUF0ekFRRi9JQUJCQURZQ0RDQUFJQU0yQWhBZ0FRUkFJQUZCLy8vLy93RkxCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFRTjBFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJBM1FnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVFOMElBUnFOZ0lNQzB3QkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ0xIQUFnQUVFQVJ5QUJRUVZKY1FSL0lBQWdBVFlDR0VFQUJVRi9Dd3NJQUVFT0VBSkJBQXNJQUVFSUVBSkJBQXRYQVFGL0lBQUVRQ0FBSUFGc0lRSWdBQ0FCY2tILy93TkxCRUFnQWtGL0lBSWdBQkJJSUFGR0d5RUNDd3NnQWhCRUlnQkZCRUFnQUE4TElBQkJmR29vQWdCQkEzRkZCRUFnQUE4TElBQkJBQ0FDRUVVYUlBQUx2QUVCQlg4akJpRURJd1pCRUdva0JpQURJQUUyQWdBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkFRc2hBU0FEUVFScUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRa1FRZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQWtFQ2RDQUFhaUlBSUFNUWJpQUVRUUEyQWdBZ0FFRUVhaUFFRUc0Z0F5UUdDeElBSUFBUU9DQUJFRGdnQWhBNElBTVFPQXNJQUVILy8vLy9Cd3NGQUVIL0FBdUpCZ0VJZnlNR0lRa2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnc29BZ0FvQWhRaEJpQUpJQXNnQmtFL2NVR3lCV29SQXdBZ0NTZ0NCQ0FKTEFBTElnWkIvd0Z4SUFaQkFFZ2JCRUFnQlNBRE5nSUFJQUlDZndKQUFrQWdBQ3dBQUNJR1FTdHJEZ01BQVFBQkN5QUtLQUlBS0FJc0lRY2dDaUFHSUFkQlAzRkJpZ0ZxRVFJQUlRWWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUdOZ0lBSUFCQkFXb01BUXNnQUFzaUJtdEJBVW9FUUNBR0xBQUFRVEJHQkVBZ0Jpd0FBVUhZQUdzaUIwRUFJQWRCSUVjYlJRUkFJQW9vQWdBb0Fpd2hCeUFLUVRBZ0IwRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVFYWpZQ0FDQUlJQWMyQWdBZ0NpZ0NBQ2dDTENFSElBb2dCaXdBQVNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dCellDQUNBR1FRSnFJUVlMQ3dzZ0FpQUdSd1JBQWtBZ0FpRUhJQVloQ0FOQUlBZ2dCMEYvYWlJSFR3MEJJQWdzQUFBaERTQUlJQWNzQUFBNkFBQWdCeUFOT2dBQUlBaEJBV29oQ0F3QUFBc0FDd3NnQ3lnQ0FDZ0NFQ0VISUFzZ0IwSC9BSEZCQ0dvUkFBQWhEU0FHSVFoQkFDRUhRUUFoQ3dOQUlBZ2dBa2tFUUNBSElBa29BZ0FnQ1NBSkxBQUxRUUJJRzJvc0FBQWlERUVBUnlBTElBeEdjUVJBSUFVZ0JTZ0NBQ0lMUVFScU5nSUFJQXNnRFRZQ0FDQUhJQWNnQ1NnQ0JDQUpMQUFMSWdkQi93RnhJQWRCQUVnYlFYOXFTV29oQjBFQUlRc0xJQW9vQWdBb0Fpd2hEQ0FLSUFnc0FBQWdERUUvY1VHS0FXb1JBZ0FoRENBRklBVW9BZ0FpRGtFRWFqWUNBQ0FPSUF3MkFnQWdDRUVCYWlFSUlBdEJBV29oQ3d3QkN3c2dCaUFBYTBFQ2RDQURhaUlISUFVb0FnQWlCa1lFZnlBSEJRTkFJQWNnQmtGOGFpSUdTUVJBSUFjb0FnQWhDQ0FISUFZb0FnQTJBZ0FnQmlBSU5nSUFJQWRCQkdvaEJ3d0JDd3NnQlNnQ0FBc2hCUVVnQ2lnQ0FDZ0NNQ0VHSUFvZ0FDQUNJQU1nQmtFUGNVR0tBbW9SQ1FBYUlBVWdBaUFBYTBFQ2RDQURhaUlGTmdJQUN5QUVJQVVnQVNBQWEwRUNkQ0FEYWlBQklBSkdHellDQUNBSkVFY2dDU1FHQzRBR0FRaC9Jd1loQ1NNR1FSQnFKQVlnQmtHQXpnTVFPaUVLSUFaQmtNNERFRG9pQ3lnQ0FDZ0NGQ0VHSUFrZ0N5QUdRVDl4UWJJRmFoRURBQ0FKS0FJRUlBa3NBQXNpQmtIL0FYRWdCa0VBU0JzRVFDQUZJQU0yQWdBZ0FnSi9Ba0FDUUNBQUxBQUFJZ1pCSzJzT0F3QUJBQUVMSUFvb0FnQW9BaHdoQnlBS0lBWWdCMEUvY1VHS0FXb1JBZ0FoQmlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFZNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlNnUkFJQVlzQUFCQk1FWUVRQ0FHTEFBQlFkZ0FheUlIUVFBZ0IwRWdSeHRGQkVBZ0NpZ0NBQ2dDSENFSElBcEJNQ0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0J6b0FBQ0FLS0FJQUtBSWNJUWNnQ2lBR0xBQUJJQWRCUDNGQmlnRnFFUUlBSVFjZ0JTQUZLQUlBSWdoQkFXbzJBZ0FnQ0NBSE9nQUFJQVpCQW1vaEJnc0xDeUFDSUFaSEJFQUNRQ0FDSVFjZ0JpRUlBMEFnQ0NBSFFYOXFJZ2RQRFFFZ0NDd0FBQ0VOSUFnZ0J5d0FBRG9BQUNBSElBMDZBQUFnQ0VFQmFpRUlEQUFBQ3dBTEN5QUxLQUlBS0FJUUlRY2dDeUFIUWY4QWNVRUlhaEVBQUNFTklBWWhDRUVBSVFkQkFDRUxBMEFnQ0NBQ1NRUkFJQWNnQ1NnQ0FDQUpJQWtzQUF0QkFFZ2JhaXdBQUNJTVFRQkhJQXNnREVaeEJFQWdCU0FGS0FJQUlndEJBV28yQWdBZ0N5QU5PZ0FBSUFjZ0J5QUpLQUlFSUFrc0FBc2lCMEgvQVhFZ0IwRUFTQnRCZjJwSmFpRUhRUUFoQ3dzZ0NpZ0NBQ2dDSENFTUlBb2dDQ3dBQUNBTVFUOXhRWW9CYWhFQ0FDRU1JQVVnQlNnQ0FDSU9RUUZxTmdJQUlBNGdERG9BQUNBSVFRRnFJUWdnQzBFQmFpRUxEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBY0ZBMEFnQnlBR1FYOXFJZ1pKQkVBZ0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVMQ3lBRktBSUFDeUVGQlNBS0tBSUFLQUlnSVFZZ0NpQUFJQUlnQXlBR1FROXhRWW9DYWhFSkFCb2dCU0FESUFJZ0FHdHFJZ1UyQWdBTElBUWdCU0FESUFFZ0FHdHFJQUVnQWtZYk5nSUFJQWtRUnlBSkpBWUw3UUVCQlg4Z0FrR0FFSEVFUUNBQVFTczZBQUFnQUVFQmFpRUFDeUFDUVlBSWNRUkFJQUJCSXpvQUFDQUFRUUZxSVFBTElBSkJoQUp4SWdOQmhBSkdJZ1FFZjBFQUJTQUFRUzQ2QUFBZ0FFRXFPZ0FCSUFCQkFtb2hBRUVCQ3lFSElBSkJnSUFCY1NFQ0EwQWdBU3dBQUNJR0JFQWdBQ0FHT2dBQUlBRkJBV29oQVNBQVFRRnFJUUFNQVFzTElBQUNmd0pBQWtBZ0EwRUVheUlCQkVBZ0FVSDhBVVlFUUF3Q0JRd0RDd0FMSUFKQkNYWkIvd0Z4UWVZQWN3d0NDeUFDUVFsMlFmOEJjVUhsQUhNTUFRc2dBa0VKZGtIL0FYRWhBU0FCUWVFQWN5QUJRZWNBY3lBRUd3czZBQUFnQnd1ZUNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRa2dBeUFDYTBFTUVEa2lCMEhrQUVzRVFDQUhFRVFpQ1FSQUlBa2lEU0VTQlJBQUN3VWdDU0VOQ3lBQ0lRb2dEU0VKQTBBZ0F5QUtSd1JBSUFvc0FBc2lDRUVBU0FSL0lBb29BZ1FGSUFoQi93RnhDd1JBSUFsQkFUb0FBQVVnQ1VFQ09nQUFJQXhCQVdvaERDQUhRWDlxSVFjTElBcEJER29oQ2lBSlFRRnFJUWtNQVFzTElBd2hDU0FISVF3RFFBSkFJQUFvQWdBaUNBUi9JQWdvQWd3aUJ5QUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRb2dBU2dDQUNJSEJIOGdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQjBFQkJVRUFDd1ZCQUNFSFFRRUxJUk1nQUNnQ0FDRUxJQk1nQ25NZ0RFRUFSM0ZGRFFBZ0N5Z0NEQ0lISUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNoRHlBR1JRUkFJQVFnRHlBRUtBSUFLQUljUVQ5eFFZb0JhaEVDQUNFUEN5QVJRUUZxSVFzZ0FpRUlRUUFoQ2lBTklRNGdDU0VIQTBBZ0F5QUlSd1JBSUE0c0FBQkJBVVlFUUFKQUlBZ3NBQXRCQUVnRWZ5QUlLQUlBQlNBSUN5QVJRUUowYWlnQ0FDRUpJQVlFZnlBSkJTQUVJQWtnQkNnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FMSUE5SEJFQWdEa0VBT2dBQUlBeEJmMm9oREF3QkN5QUlMQUFMSWdsQkFFZ0VmeUFJS0FJRUJTQUpRZjhCY1FzZ0MwWUVRQ0FPUVFJNkFBQWdERUYvYWlFTUlBZEJBV29oQnd0QkFTRUtDd3NnQ0VFTWFpRUlJQTVCQVdvaERnd0JDd3NnQ2dSQUFrQWdBQ2dDQUNJSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUVJxTmdJTUlBa29BZ0FhQ3lBSElBeHFRUUZMQkVBZ0FpRUtJQTBoQ1FOQUlBTWdDa1lOQWlBSkxBQUFRUUpHQkVBZ0Npd0FDeUlJUVFCSUJIOGdDaWdDQkFVZ0NFSC9BWEVMSUF0SEJFQWdDVUVBT2dBQUlBZEJmMm9oQndzTElBcEJER29oQ2lBSlFRRnFJUWtNQUFBTEFBc0xDeUFMSVJFZ0J5RUpEQUVMQ3lBTEJIOGdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUFDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQUFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMENDd3dDQ3lBRURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEUUNBQ0lBTkdEUUVnRFN3QUFFRUNSd1JBSUFKQkRHb2hBaUFOUVFGcUlRME1BUXNMREFFTElBVWdCU2dDQUVFRWNqWUNBQ0FESVFJTElCSVFPQ0FRSkFZZ0FndXJDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWNnQXlBQ2EwRU1FRGtpQ1VIa0FFc0VRQ0FKRUVRaUJ3UkFJQWNpQ3lFU0JSQUFDd1VnQnlFTEN5QUNJUWNnQ3lFS0EwQWdBeUFIUndSQUlBY3NBQXNpREVFQVNBUi9JQWNvQWdRRklBeEIvd0Z4Q3dSQUlBcEJBVG9BQUFVZ0NrRUNPZ0FBSUFsQmYyb2hDU0FJUVFGcUlRZ0xJQWRCREdvaEJ5QUtRUUZxSVFvTUFRc0xJQWtoQ2lBSUlRa0RRQUpBSUFBb0FnQWlCd1IvSUFjb0Fnd2lDQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNDZnlBQktBSUFJZ2dFZnlBSUtBSU1JZ2NnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUWhCQVFWQkFBc0ZRUUFoQ0VFQkN5RVRJQUFvQWdBaEJ5QVRDM01nQ2tFQVIzRkZEUUFnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFaERpQUdSUVJBSUFRZ0RpQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FDRU9DeUFQUVFGcUlRd2dBaUVIUVFBaENDQUxJUTBEUUNBRElBZEhCRUFnRFN3QUFFRUJSZ1JBQWtBZ0J5d0FDMEVBU0FSL0lBY29BZ0FGSUFjTElBOXFMQUFBSVJFZ0RrSC9BWEVnQmdSL0lCRUZJQVFnRVNBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUF0Qi93RnhSd1JBSUExQkFEb0FBQ0FLUVg5cUlRb01BUXNnQnl3QUN5SUlRUUJJQkg4Z0J5Z0NCQVVnQ0VIL0FYRUxJQXhHQkVBZ0RVRUNPZ0FBSUFwQmYyb2hDaUFKUVFGcUlRa0xRUUVoQ0FzTElBZEJER29oQnlBTlFRRnFJUTBNQVFzTElBZ0VRQUpBSUFBb0FnQWlCeWdDRENJSUlBY29BaEJHQkVBZ0J5QUhLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWNnQ0VFQmFqWUNEQ0FJTEFBQUVFSWFDeUFKSUFwcVFRRkxCRUFnQWlFSElBc2hDQU5BSUFNZ0IwWU5BaUFJTEFBQVFRSkdCRUFnQnl3QUN5SVBRUUJJQkg4Z0J5Z0NCQVVnRDBIL0FYRUxJQXhIQkVBZ0NFRUFPZ0FBSUFsQmYyb2hDUXNMSUFkQkRHb2hCeUFJUVFGcUlRZ01BQUFMQUFzTEN5QU1JUThNQVFzTElBY0VmeUFIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUFrQWdDRVVOQUNBSUtBSU1JZ1FnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURmeUFDSUFOR0RRRWdDeXdBQUVFQ1JnUi9JQUlGSUFKQkRHb2hBaUFMUVFGcUlRc01BUXNMSVFNTUFRc2dCU0FGS0FJQVFRUnlOZ0lBQ3lBU0VEZ2dFQ1FHSUFNTGlRRUJBbjhnQUNnQ0JDSUJJQUVvQWdCQmRHb29BZ0JxSWdFb0FoZ0VRQ0FCS0FJUVJRUkFJQUVvQWdSQmdNQUFjUVJBSUFBb0FnUWlBU0FCS0FJQVFYUnFLQUlBYWlnQ0dDSUJLQUlBS0FJWUlRSWdBU0FDUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFvQWdRaUFDQUFLQUlBUVhScUtBSUFhaUlBSUFBb0FoQkJBWElRN2dFTEN3c0xDendBSUFCQkFEb0FBQ0FBSUFFMkFnUWdBU0FCS0FJQVFYUnFLQUlBYWlJQktBSVFSUVJBSUFFb0FrZ2lBUVJBSUFFUVB3c2dBRUVCT2dBQUN3c0tBQ0FBUVFScUVKMENDd29BSUFCQkNHb1FuUUlMQkFCQmZ3c0RBQUVMTXdBZ0FFR01qQUUyQWdBZ0FCRFFDeUFBUVJ4cUVEd2dBQ2dDSUJBNElBQW9BaVFRT0NBQUtBSXdFRGdnQUNnQ1BCQTRDMVVCQTM4Z0FDZ0NCQ0lHUVFoMUlRVWdCa0VCY1FSQUlBSW9BZ0FnQldvb0FnQWhCUXNnQUNnQ0FDSUFLQUlBS0FJWUlRY2dBQ0FCSUFJZ0JXb2dBMEVDSUFaQkFuRWJJQVFnQjBFL2NVR2FCbW9SQlFBTExnRUJmeU1HSVFJakJrRVFhaVFHSUFJZ0FUWUNBRUdraUFFb0FnQWlBU0FBSUFJUXBRSWFJQUVROGdRUUFBdDhBd0YvQVg0Q2ZDTUdJUU1qQmtHUUFXb2tCaUFEUVFCQmtBRVFSUm9nQXlBQU5nSUVJQU5CZnpZQ0NDQURJQUEyQWl3Z0EwRi9OZ0pNSUFOQ0FCQ0NBU0FESUFKQkFSQ1NBeUVHSUFNcEEzZ2dBeWdDQkNBREtBSUlhNng4SVFRZ0FRUkFJQUVnQUNBQUlBU25haUFFVUJzMkFnQUxJQU1rQmlBR0N3MEFJQUFnQVNBQ1FuOFFoQU1MM3dFQkJuOGpCaUVHSXdaQjhBRnFKQVlnQmlBQU5nSUFJQU5CQVVvRVFBSkFRUUFnQVdzaENTQURJUWRCQVNFRElBQWhCUU5BSUFVZ0FDQUphaUlBSUFkQmZtb2lDa0VDZENBRWFpZ0NBR3NpQ0NBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1JBSUFVZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2cwQ0N5QURRUUowSUFacUlRVWdBMEVCYWlFRElBZ2dBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUi9JQVVnQ0RZQ0FDQUlJUUFnQjBGL2FnVWdCU0FBTmdJQUlBb0xJZ2RCQVVvRVFDQUdLQUlBSVFVTUFRc0xDd1ZCQVNFREN5QUJJQVlnQXhEL0FpQUdKQVlMS1FFQ2Z5TUdJUVFqQmtFUWFpUUdJQVFnQXpZQ0FDQUFJQUVnQWlBRUVLa0JJUVVnQkNRR0lBVUw2aElDRkg4QmZpTUdJUThqQmtGQWF5UUdJQTlCS0dvaENpQVBRVEJxSVJnZ0QwRThhaUVXSUE5Qk9Hb2lEQ0FCTmdJQUlBQkJBRWNoRWlBUFFTaHFJaFVoRXlBUFFTZHFJUmRCQUNFQkFrQUNRQU5BQWtBRFFDQUpRWDlLQkVBZ0FVSC8vLy8vQnlBSmEwb0VmMEdreFFOQlBUWUNBRUYvQlNBQklBbHFDeUVKQ3lBTUtBSUFJZ3NzQUFBaUNFVU5BeUFMSVFFQ1FBSkFBMEFDUUFKQUlBaEJHSFJCR0hVaUNBUkFJQWhCSlVjTkFRd0VDd3dCQ3lBTUlBRkJBV29pQVRZQ0FDQUJMQUFBSVFnTUFRc0xEQUVMSUFFaENBTkFJQWdzQUFGQkpVY05BU0FCUVFGcUlRRWdEQ0FJUVFKcUlnZzJBZ0FnQ0N3QUFFRWxSZzBBQ3dzZ0FTQUxheUVCSUJJRVFDQUFJQXNnQVJCeUN5QUJEUUFMSUF3b0FnQXNBQUVRaWdGRklRZ2dEQ0FNS0FJQUlnRWdDQVIvUVg4aERVRUJCU0FCTEFBQ1FTUkdCSDhnQVN3QUFVRlFhaUVOUVFFaEJVRURCVUYvSVExQkFRc0xhaUlCTmdJQUlBRXNBQUFpQmtGZ2FpSUlRUjlMUVFFZ0NIUkJpZEVFY1VWeUJFQkJBQ0VJQlVFQUlRWURRQ0FHUVFFZ0NIUnlJUWdnRENBQlFRRnFJZ0UyQWdBZ0FTd0FBQ0lHUVdCcUlnZEJIMHRCQVNBSGRFR0owUVJ4UlhKRkJFQWdDQ0VHSUFjaENBd0JDd3NMSUFaQi93RnhRU3BHQkVBZ0RBSi9Ba0FnQVN3QUFSQ0tBVVVOQUNBTUtBSUFJZ2NzQUFKQkpFY05BQ0FITEFBQlFWQnFRUUowSUFScVFRbzJBZ0FnQnl3QUFVRlFha0VEZENBRGFpa0RBS2NoQVVFQklRWWdCMEVEYWd3QkN5QUZCRUJCZnlFSkRBTUxJQklFUUNBQ0tBSUFRUU5xUVh4eElnVW9BZ0FoQVNBQ0lBVkJCR28yQWdBRlFRQWhBUXRCQUNFR0lBd29BZ0JCQVdvTElnVTJBZ0JCQUNBQmF5QUJJQUZCQUVnaUFSc2hFQ0FJUVlEQUFISWdDQ0FCR3lFT0lBWWhDQVVnREJDTkF5SVFRUUJJQkVCQmZ5RUpEQUlMSUFnaERpQUZJUWdnRENnQ0FDRUZDeUFGTEFBQVFTNUdCRUFDUUNBRlFRRnFJUUVnQlN3QUFVRXFSd1JBSUF3Z0FUWUNBQ0FNRUkwRElRRWdEQ2dDQUNFRkRBRUxJQVVzQUFJUWlnRUVRQ0FNS0FJQUlnVXNBQU5CSkVZRVFDQUZMQUFDUVZCcVFRSjBJQVJxUVFvMkFnQWdCU3dBQWtGUWFrRURkQ0FEYWlrREFLY2hBU0FNSUFWQkJHb2lCVFlDQUF3Q0N3c2dDQVJBUVg4aENRd0RDeUFTQkVBZ0FpZ0NBRUVEYWtGOGNTSUZLQUlBSVFFZ0FpQUZRUVJxTmdJQUJVRUFJUUVMSUF3Z0RDZ0NBRUVDYWlJRk5nSUFDd1ZCZnlFQkMwRUFJUWNEUUNBRkxBQUFRYjkvYWtFNVN3UkFRWDhoQ1F3Q0N5QU1JQVZCQVdvaUJqWUNBQ0FGTEFBQUlBZEJPbXhxUVkvV0FHb3NBQUFpRVVIL0FYRWlCVUYvYWtFSVNRUkFJQVVoQnlBR0lRVU1BUXNMSUJGRkJFQkJmeUVKREFFTElBMUJmMG9oRkFKQUFrQWdFVUVUUmdSQUlCUUVRRUYvSVFrTUJBc0ZBa0FnRkFSQUlBMUJBblFnQkdvZ0JUWUNBQ0FLSUExQkEzUWdBMm9wQXdBM0F3QU1BUXNnRWtVRVFFRUFJUWtNQlFzZ0NpQUZJQUlRakFNZ0RDZ0NBQ0VHREFJTEN5QVNEUUJCQUNFQkRBRUxJQTVCLy85N2NTSU5JQTRnRGtHQXdBQnhHeUVGQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FHUVg5cUxBQUFJZ1pCWDNFZ0JpQUdRUTl4UVFOR0lBZEJBRWR4R3lJR1FjRUFhdzQ0Q1FvSENna0pDUW9LQ2dvS0Nnb0tDZ29LQ0FvS0Nnb0xDZ29LQ2dvS0Nnb0pDZ1VEQ1FrSkNnTUtDZ29LQUFJQkNnb0dDZ1FLQ2dzS0N3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwSC9BWEZCR0hSQkdIVU9DQUFCQWdNRUJ3VUdCd3NnQ2lnQ0FDQUpOZ0lBUVFBaEFRd1hDeUFLS0FJQUlBazJBZ0JCQUNFQkRCWUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCVUxJQW9vQWdBZ0NUc0JBRUVBSVFFTUZBc2dDaWdDQUNBSk9nQUFRUUFoQVF3VEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJJTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJFTFFRQWhBUXdRQzBINEFDRUdJQUZCQ0NBQlFRaExHeUVCSUFWQkNISWhCUXdKQzBFQUlRdEJrUDRDSVE0Z0FTQVRJQW9wQXdBZ0ZSQ0VCU0lIYXlJR1FRRnFJQVZCQ0hGRklBRWdCa3B5R3lFQkRBc0xJQW9wQXdBaUdVSUFVd1IvSUFwQ0FDQVpmU0laTndNQVFRRWhDMEdRL2dJRklBVkJnUkJ4UVFCSElRdEJrZjRDUVpMK0FrR1EvZ0lnQlVFQmNSc2dCVUdBRUhFYkN5RU9EQWdMUVFBaEMwR1EvZ0loRGlBS0tRTUFJUmtNQndzZ0Z5QUtLUU1BUEFBQUlCY2hCa0VBSVF0QmtQNENJUTVCQVNFSElBMGhCU0FUSVFFTUNnc2dDaWdDQUNJRlFacitBaUFGR3lJR1FRQWdBUkNtQWlJUlJTRVVRUUFoQzBHUS9nSWhEaUFCSUJFZ0Jtc2dGQnNoQnlBTklRVWdBU0FHYWlBUklCUWJJUUVNQ1FzZ0R5QUtLUU1BUGdJd0lBOUJBRFlDTkNBS0lCZzJBZ0JCZnlFTERBVUxJQUVFUUNBQklRc01CUVVnQUVFZ0lCQkJBQ0FGRUhWQkFDRUJEQWNMQUFzZ0FDQUtLd01BSUJBZ0FTQUZJQVpCaVFFUklnQWhBUXdIQ3lBTElRWkJBQ0VMUVpEK0FpRU9JQUVoQnlBVElRRU1CUXNnQ2lrREFDQVZJQVpCSUhFUWhRVWhCMEVBUVFJZ0JVRUljVVVnQ2lrREFGQnlJZzBiSVF0QmtQNENJQVpCQkhaQmtQNENhaUFOR3lFT0RBSUxJQmtnRlJDK0FTRUhEQUVMSUFvb0FnQWhCa0VBSVFFQ1FBSkFBMEFnQmlnQ0FDSUhCRUFnRmlBSEVJc0RJZ2RCQUVnaURTQUhJQXNnQVd0TGNnMENJQVpCQkdvaEJpQUxJQUVnQjJvaUFVc05BUXNMREFFTElBMEVRRUYvSVFrTUJnc0xJQUJCSUNBUUlBRWdCUkIxSUFFRVFDQUtLQUlBSVFaQkFDRUxBMEFnQmlnQ0FDSUhSUTBESUFzZ0ZpQUhFSXNESWdkcUlnc2dBVW9OQXlBR1FRUnFJUVlnQUNBV0lBY1FjaUFMSUFGSkRRQUxCVUVBSVFFTERBRUxJQWNnRlNBS0tRTUFRZ0JTSWcwZ0FVRUFSM0lpRVJzaEJpQUJJQk1nQjJzZ0RVRUJjMm9pQnlBQklBZEtHMEVBSUJFYklRY2dCVUgvLzN0eElBVWdBVUYvU2hzaEJTQVRJUUVNQVFzZ0FFRWdJQkFnQVNBRlFZREFBSE1RZFNBUUlBRWdFQ0FCU2hzaEFRd0JDeUFBUVNBZ0N5QUJJQVpySWcwZ0J5QUhJQTFJR3lJUmFpSUhJQkFnRUNBSFNCc2lBU0FISUFVUWRTQUFJQTRnQ3hCeUlBQkJNQ0FCSUFjZ0JVR0FnQVJ6RUhVZ0FFRXdJQkVnRFVFQUVIVWdBQ0FHSUEwUWNpQUFRU0FnQVNBSElBVkJnTUFBY3hCMUN5QUlJUVVNQVFzTERBRUxJQUJGQkVBZ0JRUi9RUUVoQUFOQUlBQkJBblFnQkdvb0FnQWlBUVJBSUFCQkEzUWdBMm9nQVNBQ0VJd0RJQUJCQVdvaUFFRUtTUTBCUVFFaENRd0VDd3NEZnlBQVFRSjBJQVJxS0FJQUJFQkJmeUVKREFRTElBQkJBV29pQUVFS1NRMEFRUUVMQlVFQUN5RUpDd3NnRHlRR0lBa0xDd0FnQUNBQklBSVFod1VML1FFQkEzOGdBVUgvQVhFaEJBSkFBa0FDUUNBQ1FRQkhJZ01nQUVFRGNVRUFSM0VFUUNBQlFmOEJjU0VGQTBBZ0JTQUFMUUFBUmcwQ0lBSkJmMm9pQWtFQVJ5SURJQUJCQVdvaUFFRURjVUVBUjNFTkFBc0xJQU5GRFFFTElBRkIvd0Z4SWdFZ0FDMEFBRVlFUUNBQ1JRMEJEQUlMSUFSQmdZS0VDR3doQXdKQUFrQWdBa0VEVFEwQUEwQWdBeUFBS0FJQWN5SUVRZi85KzNkcUlBUkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQWdBRUVFYWlFQUlBSkJmR29pQWtFRFN3MEJEQUlMQ3d3QkN5QUNSUTBCQ3dOQUlBQXRBQUFnQVVIL0FYRkdEUUlnQWtGL2FpSUNSUTBCSUFCQkFXb2hBQXdBQUFzQUMwRUFJUUFMSUFBTGp3RUJBbjhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FoUWdBQ2dDSEVzRVFDQUFLQUlrSVFFZ0FFRUFRUUFnQVVFL2NVSEtBV29SQkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBS0FJQUlnRkJCSEVFZnlBQUlBRkJJSEkyQWdCQmZ3VWdBQ0FBS0FJc0lBQW9BakJxSWdJMkFnZ2dBQ0FDTmdJRUlBRkJHM1JCSDNVTEM1RUJBUU4vQW44Q1FDQUFLQUlVSUFBb0FoeE5EUUFnQUNnQ0pDRUJJQUJCQUVFQUlBRkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQkJmd3dCQ3lBQUtBSUVJZ0VnQUNnQ0NDSUNTUVJBSUFBb0FpZ2hBeUFBSUFFZ0FtdXNRUUVnQTBFRGNVR21BMm9SRkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFnZ2dBRUVBTmdJRVFRQUxDNGNCQVFGL0lBQUVRQUovSUFBb0FreEJmMHdFUUNBQUVLZ0NEQUVMSUFBUXFBSUxJUUFGUWJDSUFTZ0NBQVIvUWJDSUFTZ0NBQkNwQWdWQkFBc2hBQkNyQWlnQ0FDSUJCRUFEUUNBQktBSk1RWDlLQkg5QkFRVkJBQXNhSUFFb0FoUWdBU2dDSEVzRVFDQUJFS2dDSUFCeUlRQUxJQUVvQWpnaUFRMEFDd3RCcU1VREVBNExJQUFMK2dFQkEzOGdBVUgvQVhFaUFnUkFBa0FnQUVFRGNRUkFJQUZCL3dGeElRTURRQ0FBTEFBQUlnUkZJQU5CR0hSQkdIVWdCRVp5RFFJZ0FFRUJhaUlBUVFOeERRQUxDeUFDUVlHQ2hBaHNJUU1nQUNnQ0FDSUNRZi85KzNkcUlBSkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQURRQ0FDSUFOeklnSkIvLzM3ZDJvZ0FrR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFRUVJxSWdBb0FnQWlBa0gvL2Z0M2FpQUNRWUNCZ29SNGNVR0FnWUtFZUhOeFJRMEJDd3NMSUFGQi93RnhJUUlEUUNBQVFRRnFJUUVnQUN3QUFDSURSU0FDUVJoMFFSaDFJQU5HY2tVRVFDQUJJUUFNQVFzTEN3VWdBQkJnSUFCcUlRQUxJQUFMREFCQnFNVURFQnBCc01VREN4OEFJQUJCLy84RGNRUi9RYVRGQXlBQVFmLy9BM0UyQWdCQmZ3VkJBQXNMOUFFQ0NYOEJmQ0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUkFBQUFBQUFBQUFBT1FNQUlBSW9BZ0FnQkVFRGRHb2hCU0FCS0FJQUlBdEJBM1JxSVFaQkFDRUhSQUFBQUFBQUFBQUFJUXdEUUNBSElBaElCRUFnQUNBTUlBWXJBd0FnQlNzREFLS2dJZ3c1QXdBZ0NVRURkQ0FGYWlFRklBWkJDR29oQmlBSFFRRnFJUWNNQVFzTElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBTkJBV29oQXd3QkJVRUFDd3NGUVg4TEJVRi9Dd1ZCZndzTDhnSUJBMzhnQUNnQ0JDRURJQUZCQVVzRVFDQUFLQUlBSWdKQkR6WUNGQ0FDSUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFGSUFGQkFVWUVRQ0FES0FKRUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDUkNBREtBSklJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1NBc0xJQU5CUEdvZ0FVRUNkR29pQUNnQ0FDRUNJQUJCQURZQ0FDQUNCRUFEUUNBQ0tBSUFJUUFnQWlnQ0NDQUNLQUlFUVJCcWFpRUVJQUlRT0NBRElBTW9Ba3dnQkdzMkFrd2dBQVJBSUFBaEFnd0JDd3NMSUFOQk5Hb2dBVUVDZEdvaUFDZ0NBQ0VCSUFCQkFEWUNBQ0FCUlFSQUR3c0RRQ0FCS0FJQUlRQWdBU2dDQ0NBQktBSUVRUkJxYWlFQ0lBRVFPQ0FESUFNb0Frd2dBbXMyQWt3Z0FBUkFJQUFoQVF3QkN3c0w5QUVCQkg4Z0FDZ0NCQ0VFSUFKQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUVRnMkFoUWdBMEVETmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFCUVFGTEJFQWdBQ2dDQUNJRFFRODJBaFFnQXlBQk5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQ1FRZ2dBa0VIY1NJRGEwRUFJQU1iYWlJRFFSQnFJZ1VRUkNJQ1JRUkFJQUFvQWdBaUJrRTROZ0lVSUFaQkJEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JDQUZJQVFvQWt4cU5nSk1JQUlnQkVFOGFpQUJRUUowYWlJQUtBSUFOZ0lBSUFJZ0F6WUNCQ0FDUVFBMkFnZ2dBQ0FDTmdJQUlBSkJFR29MMmdrQkVYOGdBQ2dDNUFNb0FoZ2hEQ0FCS0FJRUlnZ2dBU2dDQUNJQ1RDQUJLQUlJSWdrZ0FTZ0NEQ0lLU25JZ0FTZ0NFQ0lHSUFFb0FoUWlCMHB5QkVBZ0FpRUFCUUpBSUFJaEFBTkFBa0FnQUVFQ2RDQU1haWdDQUNFTklBa2hBd05BSUFOQkJuUWdEV29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUtTQVJBSUFRaEF3d0JDd3NnQUVFQmFpRURJQUFnQ0VnRVFDQURJUUFNQWdVZ0FpRUFEQU1MQUFzTElBRWdBRFlDQUFzTElBZ2dBRXdnQ1NBS1NuSWdCaUFIU25KRkJFQUNRQ0FJSVFJRFFBSkFJQUpCQW5RZ0RHb29BZ0FoRFNBSklRTURRQ0FEUVFaMElBMXFJQVpCQVhScUlRVWdCaUVFQTBBZ0JTNEJBQTBDSUFWQkFtb2hCU0FFUVFGcUlRc2dCQ0FIU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NrZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaERpQUNJQUJNRFFJZ0RpRUNEQUVMQ3lBQklBSTJBZ1FnQWlFSUN3c2dDQ0FBU0NBS0lBbE1jaUFHSUFkS2NrVUVRQUpBSUFraEFnTkFBa0FnQUNFREEwQWdBMEVDZENBTWFpZ0NBQ0FDUVFaMGFpQUdRUUYwYWlFRklBWWhCQU5BSUFVdUFRQU5BaUFGUVFKcUlRVWdCRUVCYWlFTElBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVE4Z0FpQUtUZzBDSUE4aEFnd0JDd3NnQVNBQ05nSUlJQUloQ1FzTElBZ2dBRWdnQ2lBSlRISWdCaUFIU25KRkJFQUNRQ0FLSVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdBa0VHZEdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFJU0FSQUlBUWhBd3dCQ3dzZ0FrRi9haUVRSUFJZ0NVd05BaUFRSVFJTUFRc0xJQUVnQWpZQ0RDQUNJUW9MQ3lBSUlBQklJQWNnQmt4eUlBb2dDVWh5UlFSQUFrQWdCaUVDQTBBQ1FDQUFJUU1EUUNBRFFRSjBJQXhxS0FJQUlBa2lCRUVHZEdvZ0FrRUJkR29oQlFOQUlBVXVBUUFOQWlBRVFRRnFJUXNnQlVGQWF5RUZJQVFnQ2tnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlSRWdBaUFIVGcwQ0lCRWhBZ3dCQ3dzZ0FTQUNOZ0lRSUFJaEJnc0xJQWdnQUVnZ0J5QUdUSElnQ2lBSlNISkZCRUFDUUNBSElRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQ1NJRVFRWjBhaUFDUVFGMGFpRUZBMEFnQlM0QkFBMENJQVJCQVdvaEN5QUZRVUJySVFVZ0JDQUtTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ0VnRVFDQUVJUU1NQVFzTElBSkJmMm9oRWlBQ0lBWk1EUUlnRWlFQ0RBRUxDeUFCSUFJMkFoUWdBaUVIQ3dzZ0FTQUlJQUJyUVFSMElnSWdBbXdnQ2lBSmEwRU1iQ0lDSUFKc2FpQUhJQVpyUVFOMElnSWdBbXhxTmdJWUlBZ2dBRWdnQ2lBSlNISWdCeUFHU0hJRVFDQUJRUUEyQWh3UEMwRUFJUU1nQUNFQ0EwQWdBa0VDZENBTWFpZ0NBQ0VOSUFNaEFDQUpJUU1EUUNBRFFRWjBJQTFxSUFZaUJFRUJkR29oQlFOQUlBQWdCUzRCQUVFQVIyb2hBQ0FFUVFGcUlRc2dCVUVDYWlFRklBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFwSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVFRZ0FpQUlTQVJBSUFBaEF5QUVJUUlNQVFzTElBRWdBRFlDSEF1eEF3RUdmeUFBS0FJWUlnSW9BZ1FoQVNBQ0tBSUFJUVFDUUFOQUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNFUUFOQUlBQW9BdEFESWdNZ0F5Z0NHRUVCYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkJDQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY05BQXNMQTBBZ0FRUi9JQVFGSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMERJQUlvQWdRaEFTQUNLQUlBQ3lFRElBRkJmMm9oQVNBRFFRRnFJUVFnQXl3QUFDSUZRWDlHRFFBTElBQW9BdEFESWdZb0FoZ2hBeUFGUlFSQUlBWWdBMEVDYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFREFFTEN5QUZRZjhCY1NFRklBTUVRQ0FBS0FJQUlnWkI5d0EyQWhRZ0JpQUROZ0lZSUFBb0FnQWdCVFlDSENBQUtBSUFLQUlFSVFNZ0FFRi9JQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURRUUEyQWhnTElBQWdCVFlDdUFNZ0FpQUVOZ0lBSUFJZ0FUWUNCRUVCRHd0QkFBdTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRUjBJQUJxSVFVZ0JFRUVkQ0FBYWlFR0lBUkJCSFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQUZLZ0lBSUFOQkFuUWdBV29xQWdDVUlBWXFBZ1FnQVVFUWFpQURRUUowYWlvQ0FKU1NJQWNxQWdnZ0FVRWdhaUFEUVFKMGFpb0NBSlNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQVJCQkhRZ0FHb3FBZ3dnQXlvQ0RKSTRBZ3dnQkVFQmFpRUVEQUVMQ3d1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVGZENBQ2FpQURRUU4wYWlBRkt3TUFJQU5CQTNRZ0FXb3JBd0NpSUFZckF3Z2dBVUVnYWlBRFFRTjBhaXNEQUtLZ0lBY3JBeEFnQVVGQWF5QURRUU4wYWlzREFLS2dPUU1BSUFOQkFXb2hBd3dCQ3dzZ0JFRUZkQ0FDYWlJRElBUkJCWFFnQUdvckF4Z2dBeXNER0tBNUF4Z2dCRUVCYWlFRURBRUxDd3RVQVFKL0EwQWdBa0VEUndSQVFRQWhBUU5BSUFGQkJFY0VRQ0FDUVFWMFFZQ2tBMm9nQVVFRGRHb2dBa0VGZENBQWFpQUJRUU4wYWlzREFEa0RBQ0FCUVFGcUlRRU1BUXNMSUFKQkFXb2hBZ3dCQ3dzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUNRWXlIQVVITnR3SkJBU0FCRUFrZ0F3c2tCZ3NvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFOQndJY0JRYnpRQWtFZklBRVFDU0FEQ3lRR0MvMEZBUVovSXdZaENTTUdRU0JxSkFZZ0NVRVFhaUVJSUFKRkJFQWdDRUhBeUFOQnpwd0NFRGRCNzV3Q0VEZEI3NklDRURkQi93QVFQa0gyb2dJUU4wSGduUUlRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlHS0FJQUtBSWNJUWNnQmtFS0lBZEJQM0ZCaWdGcUVRSUFJUVlnQ0JBOElBVWdCaEJBSUFVUVB4QUFDeUFEUlFSQUlBaEJ3TWdEUWZXZEFoQTNRZStjQWhBM1FlK2lBaEEzUVlBQkVENUI5cUlDRURkQmw1NENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBdEJmeUFDU1FSQUlBaEJ3TWdEUWEyZUFoQTNRZStjQWhBM1FlK2lBaEEzUVlFQkVENUI5cUlDRURkQjBwNENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBc2dCRVVFUUNBSVFjRElBMEgvbmdJUU4wSHZuQUlRTjBIdm9nSVFOMEdDQVJBK1FmYWlBaEEzUWFPZkFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnWW9BZ0FvQWh3aEJ5QUdRUW9nQjBFL2NVR0tBV29SQWdBaEJpQUlFRHdnQlNBR0VFQWdCUkEvRUFBTElBbEJDR29oQlNBQUlBRVF1UU1nQWlBRWJHd2lCallDRENBRElBWnNJZ1lnQUNnQ0ZFY0VRQ0FHRUZFaEJ5QUpRUUEyQWdBZ0NDQUpLQUlBTmdJQUlBVWdCeENvQnlBRktBSUFJUWNnQlNBQUtBSVlOZ0lBSUFBZ0J6WUNHQ0FGS0FJRUlRY2dCU0FBS0FJY05nSUVJQUFnQnpZQ0hDQUZFSlVCSUFBb0FoaEZCRUFnQ0VIQXlBTkJ4WjhDRURkQjc1d0NFRGRCNzZJQ0VEZEJsUUVRUGtIMm9nSVFOMEhvbndJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFvZ0IwRUtJQXBCUDNGQmlnRnFFUUlBSVFjZ0NCQThJQVVnQnhCQUlBVVFQeEFBQ3dzZ0FDQUJOZ0lBSUFBZ0FqWUNCQ0FBSUFNMkFnZ2dBQ0FFTmdJUUlBQWdCallDRkNBSkpBWUxxUUVCQkg4Z0FBUi9BMEFnQVNBQUtBSUVTQVJBSUFBb0FnZ2dBVUVDZEdvb0FnQUVRQ0FBSUFFUTBBWUxJQUZCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUNnQ0RDQUNJQU5xSWdSQkFuUnFLQUlBRURnZ0FDZ0NGQ0FFUVFKMGFpZ0NBQkE0SUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QUFLQUlNRURnZ0FDZ0NGQkE0SUFBb0FnZ1FPQ0FBS0FJUUVEZ2dBQ2dDR0JBNElBQVFPRUVBQlVGL0N4b0xOQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBQ2dDQUNnQ0FCREdCeUFCS0FJQUVJWUJFSUVDSVFJZ0FSQ1ZBU0FCSkFZZ0FndjNBUUVCZnlBRVFRRkdJUWtnQ0VFQVJ5RUVBbjhnQXdSL0lBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVQMEtEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1ErZ3NGSUFBZ0FTQUNJQVVnQnhESEN3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUXRBa01Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4Q3lDZ1VnQUNBQklBSWdCU0FIRU9ZSkN3c0ZJQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFSW9IREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRbWdnRklBQWdBU0FDSUFVZ0J4RFpCd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1FrZ1VNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEMwQmdVZ0FDQUJJQUlnQlNBSEVOUUZDd3NMQ3d2R0F3SUlmd0YrSXdZaEJDTUdRVUJySkFZZ0JFRUlhaUVISUFSQk9Hb2hDaUFFUVRScUlRZ2dCRUVRYWlFR0lBSXNBR1FFUUNBRUlBQW9Ba3cyQWpBZ0JDQUNFTVVCS0FJQU5nSW9JQVFnQWhERkFTZ0NCRFlDSUNBSUlBUW9BakEyQWdBZ0NpQUVLQUlvTmdJQUlBY2dCQ2dDSURZQ0FDQUFRY2dBYWlBSUlBb2dCeERVQndVZ0JrRUFOZ0lBSUFaQkFEWUNCQ0FHUVFBMkFnZ2dBaUFHSUFFZ0F4RFRCd05BSUFVZ0JpZ0NCQ0FHS0FJQUlnSnJRUUoxU1FSQUlBQWdBU0FGUVFKMElBSnFLQUlBSUFNUXV3SWdCVUVCYWlFRkRBRUxDeUFBS0FKa0lBQW9BbWhJQkVBZ0FTZ0NBQ0lDSUFFb0FnUkhCRUFnQWlnQ0FDRUxJQUVvQWdRaUJTQUJLQUlBSWdscklnSkJDRW9FUUNBSElBa3BBZ0FpRERjREFDQUpJQVZCZUdvaUJTa0NBRGNDQUNBRklBdzNBZ0FnQkNBSk5nSXNJQVFnQlRZQ0pDQUVJQWsyQWh3Z0NDQUVLQUlzTmdJQUlBb2dCQ2dDSkRZQ0FDQUhJQVFvQWh3MkFnQWdDQ0FDUVFOMlFYOXFJQWNRdndNZ0FTZ0NCQ0VGQzBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFCSUFWQmVHbzJBZ1FnQUNBQUtBSmtRUUZxTmdKa0lBQWdBU0FMSUFNUXV3SUxDeUFHRUZVTElBUWtCZ3RrQVFKL0lBQkJBRWNnQVVFQVIzRUVmeUFBUVF4cVFRQkJnQWdRUlJvZ0FTQUFLQUlFSUFBb0FnaHNhaUVDQTM4Z0FTQUNTUVIvSUFCQkRHb2dBUzBBQUVFQ2RHb2lBeUFES0FJQVFRRnFOZ0lBSUFGQkFXb2hBUXdCQlVFQUN3c0ZRWDhMQzFrQkFYMGdBQ0FDS2dJSUlBSXFBZ0FnQTVRZ0Fpb0NCQ0FFbEpLU0lBSXFBaUFnQWlvQ0dDQURsQ0FDS2dJY0lBU1VrcElpQlpVNEFnQWdBU0FDS2dJVUlBSXFBZ3dnQTVRZ0Fpb0NFQ0FFbEpLU0lBV1ZPQUlBQ3pRQUlBQWdBU2tDQURjQ0FDQUFJQUVwQWdnM0FnZ2dBQ0FCS1FJUU53SVFJQUFnQVNrQ0dEY0NHQ0FBSUFFb0FpQTJBaUFMdUFJQ0JYOENmQ01HSVFjakJrRWdhaVFHSUFkQkNHb2hCaUFIUVJScUlnZ2dCRUVFZEJCRUlnbzJBZ0FnQ2tVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBZEJFR29oQmlBSUlBUkJHR3dRUkNJSk5nSUVJQWxGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQzBFQUlRWURRQ0FHSUFSSUJFQWdCa0VFZENBS2FpQUdRUVIwSUFKcUt3TUFPUU1BSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF3QTVBd0FnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01JT1FNSUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzREVEa0RFQ0FHUVFGcUlRWU1BUXNMSUFnZ0JEWUNDQ0FBS0FJQUlBZ2dBU0FGSUFjUTZnRkJBRWdFUUNBSFJBQUFBQUNFMTVkQk9RTUFDeUFJS0FJQUVEZ2dDQ2dDQkJBNElBY3JBd0FoRENBSEpBWWdEQXNIQUNBQVFUeHFDMlVCQkg4RFFDQUZJQUpJQkVBZ0F5QURLQUlBUWYySERXeEJ3NzJhQVdvaUJEWUNBQ0FFUVJCMlFmLy9BWEVnQVJCUFFRSjBJQUJxSVFRZ0JVRUNkQ0FBYWlJR0tBSUFJUWNnQmlBRUtBSUFOZ0lBSUFRZ0J6WUNBQ0FGUVFGcUlRVU1BUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93TWdBQ2dDQkNBQUtBSUFhMEVDZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlnQ0NDQUJLQUlBTmdJQUlBSWdBaWdDQ0VFRWFqWUNDQ0FBSUFJUTVBRWdBaERIQVNBQ0pBWUxDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FvUWdnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xVd0VEZnlBQVFlZ0FhaUVEQTBBZ0FpQUFLQUpzSUFNb0FnQWlBV3RCQW5WSkJFQWdBa0VDZENBQmFpZ0NBQ0lCQkVBZ0FSREVBaUFCRURnTElBSkJBV29oQWd3QkN3c2dBRUgwQUdvUVZTQURFRlVMbHdFQkFuOGdBVUVCUmdSQVFRSWhBUVVnQVNBQlFYOXFjUVJBSUFFUTBRRWhBUXNMSUFFZ0FDZ0NCQ0lEU3dSQUlBQWdBUkRpQXdVZ0FTQURTUVJBSUFBb0FneXpJQUFxQWhDVmpSQ1NBU0VDSUFOQmYyb2dBM0ZGSUFOQkFrdHhCSDhnQWtFQlFTQWdBa0YvYW1kcmRDQUNRUUpKR3dVZ0FoRFJBUXNpQWlBQklBRWdBa2tiSWdFZ0Ewa0VRQ0FBSUFFUTRnTUxDd3NMRXdBZ0FFSHNoUUUyQWdBZ0FFRUVhaERTQWdzbEFDQUFRZHlGQVRZQ0FDQUFRVGhxRUZVZ0FFRXNhaEJWSUFCQklHb1FWU0FBRU1ZQ0N3MEFJQUFvQWdBZ0FVRUZkR29MM2dNQkEzOGpCaUVJSXdaQkVHb2tCaUFHUVFCS0JFQWdCa0VCYWlBRktBSUVTUVJBSUFkQmYyb2hDU0FIUVFCS0JFQWdCMEVCYWlJS0lBVW9BZ2hKQkVBZ0JTQUpFRkFnQmtFQ2RHb2hDU0FGSUFjUVVDQUdRUUowYWlFSElBVWdDaEJRSUFaQkFuUnFJUVVnQUNBSEtnSUVJQWRCZkdvaUFDb0NBSk5EQUFBQVA1UTRBZ0FnQVNBRktnSUFJQWtxQWdDVFF3QUFBRCtVT0FJQUlBSWdCeW9DQkNBQUtnSUFJQWNxQWdCREFBQUFRSlNUa2pnQ0FDQURJQVVxQWdBZ0NTb0NBQ0FIS2dJQVF3QUFBRUNVazVJNEFnQWdCQ0FKUVh4cUtnSUFJQVVxQWdTU0lBa3FBZ1FnQlVGOGFpb0NBSktUUXdBQWdENlVPQUlBSUFna0JnOExDeUFJUWNESUEwRzUyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2RBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSVFjRElBMEdCMkFFUU4wSE95d0VRTjBIdm9nSVFOMEdjQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTERRQWdBQ0FDbENBQklBR1Vrd3M2QVFKOVF3QUFnRDlCQVNBRWRMS1ZJZ1ZEQUFBQVA1UkRBQUFBdjVJaEJpQUFJQVVnQXBRZ0JwSTRBZ0FnQVNBRklBT1VJQWFTT0FJQUN6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZUdvaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFRGRXdEJBM1JxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVZ4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xsd0VCQkg4Z0FVRUVhaUlES0FJQUlRSWdBeUFBS0FJRUlBQW9BZ0FpQkdzaUJVRmNFRGxCSkd3Z0Ftb2lBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxjZ0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjZmo4VGhMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRU1JzRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCSkd3Z0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFTUnNJQVJxTmdJTUMwNEJBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJKQkE1SUFGSkJFQWdBaUFCSUFBb0FnUWdBMnRCSkJBNUlBQkJDR29RMEFJZ0FDQUNFTThDSUFJUXpnSUxJQUlrQmd0QUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV0JxSWdFUTNRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN6OEJBbjhnQUNnQ0FDSUNCRUFnQUNnQ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dGRBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUVYxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1FqQWtGSUFNZ0FVc0VRQ0FCUVFWMElBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJZR29pQVJEZEFRd0JDd3NnQUNBQ05nSUVDd3NMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZFdxMWFvQlN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFTWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FReHNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVNYkNBRWFqWUNEQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYOXFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMamdFQkJIOGdBVUVFYWlJREtBSUFJQUFvQWdRZ0FDZ0NBQ0lFYXlJRmF5RUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMUUFBZ0FFRUFOZ0lNSUFBZ0F6WUNFQ0FBSUFFRWZ5QUJFRkVGUVFBTElnTTJBZ0FnQUNBQ0lBTnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FTQURhallDREFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQzlRQ0FnWi9BbjBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUpJQVpCREdvaEN5QUdRUWhxSVFnZ0JrRUVhaUVLSUFRcUFnZ2hEQ0FFS2dJTUlRMGdCUUovQWtBQ1FBSkFJQUZGRFFBZ0FDQUJJQXdnRFNBSElBZ1E1UUZCQUVnTkFDQUZJQWNxQWdBUVF6WUNBQ0FGSUFncUFnQVFRellDQkNBQ1JRMEJJQUFnQWlBTUlBMGdDU0FLRU9VQlFRQklEUUVnQlNBSEtnSUFRd0FBQUVDVUlBa3FBZ0NURUVNMkFnZ2dCU0FJS2dJQVF3QUFBRUNVSUFvcUFnQ1RFRU0yQWd3Z0EwVU5BaUFBSUFNZ0RDQU5JQXNnQmhEbEFVRUFTQTBDSUFVZ0N5b0NBQ0FIS2dJQVF3QUFRRUNVSUFrcUFnQkRBQUJBUUpTVGtoQkROZ0lRSUFZcUFnQWdDQ29DQUVNQUFFQkFsQ0FLS2dJQVF3QUFRRUNVazVJUVF3d0RDeUFGUVg4MkFnQWdCVUYvTmdJRUN5QUZRWDgyQWdnZ0JVRi9OZ0lNQ3lBRlFYODJBaEJCZndzMkFoUWdCaVFHQzA0QkFuMGdBU29DQUNBQUtnSUFreUlFSUFTVUlBRXFBZ1FnQUNvQ0JKTWlCQ0FFbEpLUklnVkRBQUFBQUZ3RVFDQUNJQVFnQlpVNEFnQWdBeUFCS2dJQUlBQXFBZ0NUSUFXVk9BSUFDd3NHQUVFYUVBSUxwd0VCQW45QmJ5QUJheUFDU1FSQUVBQUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUVGSUFGQjUvLy8vd2RKQkg5QkN5QUJRUUYwSWdZZ0FTQUNhaUlDSUFJZ0Jra2JJZ0pCRUdwQmNIRWdBa0VMU1JzRlFXOExJZ1lRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ29BUXNnQXlBRWF5SURCRUFnQWlBRWFpQUVJQVZxSUFNUXFBRUxJQUZCQ2tjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUN6NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FTd0FDMEVBU0FSQUlBQWdBU2dDQUNBQktBSUVFSDRGSUFBZ0FTa0NBRGNDQUNBQUlBRW9BZ2cyQWdnTEN3UUFRUUVMQ2dBZ0FCQTRJQUVRT0FzTEFDQUVJQUkyQWdCQkF3c2ZBUUYvSUFBb0FnQWlBUVIvSUFFUU9DQUFRUUEyQWdCQkFBVkJmd3NhQzZNQkFRTi9RWWdCRUVRaUFRUkFBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQ1FRVjBJQUZxSUFOQkEzUnFJQUpCQlhRZ0FHb2dBMEVEZEdvckF3QTVBd0FnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBRkJDallDWUNBQlJBQUFBS0NabWJrL09RTm9JQUZFQUFBQWdCU3U3ejg1QTNBZ0FVUUFBQUFBQUFBUVFEa0RlQ0FCUkFBQUFBQUFBT0EvT1FPQUFRVkJBQ0VCQ3lBQkM3OEVBUUYvSUFBZ0JVWUVmeUFCTEFBQUJIOGdBVUVBT2dBQUlBUWdCQ2dDQUNJQVFRRnFOZ0lBSUFCQkxqb0FBQ0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzRVFDQUpLQUlBSWdBZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FMQzBFQUJVRi9Dd1VDZnlBQUlBWkdCRUFnQnlnQ0JDQUhMQUFMSWdWQi93RnhJQVZCQUVnYkJFQkJmeUFCTEFBQVJRMENHa0VBSUFrb0FnQWlBQ0FJYTBHZ0FVNE5BaG9nQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQWdDa0VBTmdJQVFRQU1BZ3NMSUF0QmdBRnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0Myb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFMYXlJQVFmd0FTZ1IvUVg4RklBQkJBblZCOE84QWFpd0FBQ0VGQWtBQ1FBSkFBa0FnQUVHb2Yyb2lCa0VDZGlBR1FSNTBjZzRFQVFFQUFBSUxJQVFvQWdBaUFDQURSd1JBUVg4Z0FFRi9haXdBQUVIZkFIRWdBaXdBQUVIL0FIRkhEUVVhQ3lBRUlBQkJBV28yQWdBZ0FDQUZPZ0FBUVFBTUJBc2dBa0hRQURvQUFBd0JDeUFGUWQ4QWNTSURJQUlzQUFCR0JFQWdBaUFEUVlBQmNqb0FBQ0FCTEFBQUJFQWdBVUVBT2dBQUlBY29BZ1FnQnl3QUN5SUJRZjhCY1NBQlFRQklHd1JBSUFrb0FnQWlBU0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRSWdDU0FCUVFScU5nSUFJQUVnQWpZQ0FBc0xDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQlRvQUFDQUFRZFFBVEFSQUlBb2dDaWdDQUVFQmFqWUNBQXRCQUFzTEN3dWtBUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdBUkE3SUFWQm9NNERFRG9pQVNnQ0FDZ0NNQ0VHSUFGQjhPOEFRWkR3QUNBQ0lBWkJEM0ZCaWdKcUVRa0FHaUFGUWFqT0F4QTZJZ0VvQWdBb0Fnd2hBaUFESUFFZ0FrSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDZ0NFQ0VDSUFRZ0FTQUNRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFVUVBDQUZKQVlMVWdJQ2Z3RjhJQUFvQWdRaUF5QUJLQUlFUndSQVFRQVFBUXNEUUNBQ0lBTklCRUFnQkNBQUtBSUFJQUpCQTNScUt3TUFJQUVvQWdBZ0FrRURkR29yQXdDaW9DRUVJQUpCQVdvaEFnd0JDd3NnQkFzM0FRSi9RUWdRUkNJQkJFQWdBU0FBUVFOMEVFUWlBallDQUNBQ0JFQWdBU0FBTmdJRUJTQUJFRGhCQUNFQkN3VkJBQ0VCQ3lBQkM5VUVBUUYvSUFCQi93RnhJQVZCL3dGeFJnUi9JQUVzQUFBRWZ5QUJRUUE2QUFBZ0JDQUVLQUlBSWdCQkFXbzJBZ0FnQUVFdU9nQUFJQWNvQWdRZ0J5d0FDeUlBUWY4QmNTQUFRUUJJR3dSQUlBa29BZ0FpQUNBSWEwR2dBVWdFUUNBS0tBSUFJUUVnQ1NBQVFRUnFOZ0lBSUFBZ0FUWUNBQXNMUVFBRlFYOExCUUovSUFCQi93RnhJQVpCL3dGeFJnUkFJQWNvQWdRZ0J5d0FDeUlGUWY4QmNTQUZRUUJJR3dSQVFYOGdBU3dBQUVVTkFocEJBQ0FKS0FJQUlnQWdDR3RCb0FGT0RRSWFJQW9vQWdBaEFTQUpJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBcEJBRFlDQUVFQURBSUxDeUFMUVNCcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBRklBdHFJZ1V0QUFBZ0FFSC9BWEZHQkg4Z0JRVWdCaUVGREFJTEN3c2dDMnNpQlVFZlNnUi9RWDhGSUFWQjhPOEFhaXdBQUNFQUFrQUNRQUpBSUFWQkZtc09CQUVCQUFBQ0N5QUVLQUlBSWdFZ0EwY0VRRUYvSUFGQmYyb3NBQUJCM3dCeElBSXNBQUJCL3dCeFJ3MEVHZ3NnQkNBQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBREFNTElBSkIwQUE2QUFBZ0JDQUVLQUlBSWdGQkFXbzJBZ0FnQVNBQU9nQUFRUUFNQWdzZ0FFSGZBSEVpQXlBQ0xBQUFSZ1JBSUFJZ0EwR0FBWEk2QUFBZ0FTd0FBQVJBSUFGQkFEb0FBQ0FIS0FJRUlBY3NBQXNpQVVIL0FYRWdBVUVBU0JzRVFDQUpLQUlBSWdFZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VDSUFrZ0FVRUVhallDQUNBQklBSTJBZ0FMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBSUFWQkZVb05BUm9nQ2lBS0tBSUFRUUZxTmdJQVFRQUxDd3NMcEFFQkFuOGpCaUVGSXdaQkVHb2tCaUFGSUFFUU95QUZRWURPQXhBNklnRW9BZ0FvQWlBaEJpQUJRZkR2QUVHUThBQWdBaUFHUVE5eFFZb0NhaEVKQUJvZ0JVR1F6Z01RT2lJQktBSUFLQUlNSVFJZ0F5QUJJQUpCL3dCeFFRaHFFUUFBT2dBQUlBRW9BZ0FvQWhBaEFpQUVJQUVnQWtIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQUZFRHdnQlNRR0N3c0FJQUFRbVFJZ0FCQTRDd3NBSUFBUW1nSWdBQkE0Q3dzQUlBQVEwQVFnQUJBNEN3c0FJQUFRMWdRZ0FCQTRDeE1BSUFBZ0E2SWdBU0FFb3FBZ0FpQUZvcUFMVndFRGZ5QUFLQUlFSWdkQkNIVWhCaUFIUVFGeEJFQWdBeWdDQUNBR2FpZ0NBQ0VHQ3lBQUtBSUFJZ0FvQWdBb0FoUWhDQ0FBSUFFZ0FpQURJQVpxSUFSQkFpQUhRUUp4R3lBRklBaEJCM0ZCMmdacUVRd0FDeFFBSUFBZ0FLSWdBU0FCb3FBZ0FpQUNvcUNmQzZjQkFDQUFRUUU2QURVZ0FpQUFLQUlFUmdSQUFrQWdBRUVCT2dBMElBQW9BaEFpQWtVRVFDQUFJQUUyQWhBZ0FDQUROZ0lZSUFCQkFUWUNKQ0FBS0FJd1FRRkdJQU5CQVVaeFJRMEJJQUJCQVRvQU5nd0JDeUFCSUFKSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFUb0FOZ3dCQ3lBQUtBSVlJZ0ZCQWtZRVFDQUFJQU0yQWhnRklBRWhBd3NnQUNnQ01FRUJSaUFEUVFGR2NRUkFJQUJCQVRvQU5nc0xDd3NmQUNBQklBQW9BZ1JHQkVBZ0FDZ0NIRUVCUndSQUlBQWdBallDSEFzTEMxNEJBWDhnQUNnQ0VDSURCRUFDUUNBQklBTkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBallDR0NBQVFRRTZBRFlNQVFzZ0FDZ0NHRUVDUmdSQUlBQWdBallDR0FzTEJTQUFJQUUyQWhBZ0FDQUNOZ0lZSUFCQkFUWUNKQXNMNUFJQ0FuOENmU0FBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVILy8vL2pCRXNFUUNBQVE5b1B5YjlEMmcvSlB5QUNHeUFCUVlDQWdQd0hTeHNQQ3lBQlFZQ0FnUGNEU1FSQUlBRkJnSUNBekFOSkJIOGdBQThGUVg4TElRRUZJQUNMSVFBZ0FVR0FnT0Q4QTBrRWZTQUJRWUNBd1BrRFNRUjlRUUFoQVNBQVF3QUFBRUNVUXdBQWdMK1NJQUJEQUFBQVFKS1ZCVUVCSVFFZ0FFTUFBSUMva2lBQVF3QUFnRCtTbFFzRklBRkJnSUR3Z0FSSkJIMUJBaUVCSUFCREFBREF2NUlnQUVNQUFNQS9sRU1BQUlBL2twVUZRUU1oQVVNQUFJQy9JQUNWQ3dzaEFBc2dBQ0FBbENJRUlBU1VJUU1nQkNBRElBTkRKYXg4UFpSRERmVVJQcEtVUTZtcXFqNlNsQ0VFSUFORG1NcE12aUFEUTBjUzJqMlVrNVFoQXlBQlFRQklCSDBnQUNBQUlBTWdCSktVa3dVZ0FVRUNkRUhRN0FCcUtnSUFJQUFnQXlBRWtwUWdBVUVDZEVIZzdBQnFLZ0lBa3lBQWs1TWlBQ0FBakNBQ1JSc0xDL3dDQWdOL0FYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFUUNBQlFZQ0FnTXdEVHdSQUlBQzdFSkVCSVFBTEJRSjlJQUZCMHFmdGd3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGtsOXVBQkU4RVFFUVlMVVJVK3lFSlFFUVlMVVJVK3lFSndDQUNHeUFFb0pvUWtRRU1BZ3NnQWdSQUlBUkVHQzFFVlBzaCtUK2dFSkFCakF3Q0JTQUVSQmd0UkZUN0lmbS9vQkNRQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGcyNytGQkU4RVFFUVlMVVJVK3lFWlFFUVlMVVJVK3lFWndDQUNHeUFFb0JDUkFRd0NDeUFDQkVBZ0JFVFNJVE4vZk5rU1FLQVFrQUVNQWdVZ0JFVFNJVE4vZk5rU3dLQVFrQUdNREFJTEFBc2dBQ0FBa3lBQlFmLy8vL3NIU3cwQUdnSkFBa0FDUUFKQUlBQWdBeEQ2QWtFRGNRNERBQUVDQXdzZ0F5c0RBQkNSQVF3REN5QURLd01BRUpBQkRBSUxJQU1yQXdDYUVKRUJEQUVMSUFNckF3QVFrQUdNQ3lFQUN5QURKQVlnQUF2L0FnTURmd0Y5QVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VmU0FCUVlDQWdNd0RTUVI5UXdBQWdEOEZJQUM3RUpBQkN3VUNmU0FCUWRLbjdZTUVTUVJBSUFKQkFFY2hBaUFBdXlFRklBRkI0NWZiZ0FSTEJFQkVHQzFFVlBzaENVQkVHQzFFVlBzaENjQWdBaHNnQmFBUWtBR01EQUlMSUFJRVFDQUZSQmd0UkZUN0lmay9vQkNSQVF3Q0JVUVlMVVJVK3lINVB5QUZvUkNSQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUZCMzl1L2hRUkxCRUJFR0MxRVZQc2hHVUJFR0MxRVZQc2hHY0FnQWhzZ0FMdWdFSkFCREFJTElBSUVRQ0FBakx0RTBpRXpmM3paRXNDZ0VKRUJEQUlGSUFDN1JOSWhNMzk4MlJMQW9CQ1JBUXdDQ3dBTElBQWdBSk1nQVVILy8vLzdCMHNOQUJvQ1FBSkFBa0FDUUNBQUlBTVErZ0pCQTNFT0F3QUJBZ01MSUFNckF3QVFrQUVNQXdzZ0F5c0RBSm9Ra1FFTUFnc2dBeXNEQUJDUUFZd01BUXNnQXlzREFCQ1JBUXNMSVFRZ0F5UUdJQVFMZHdFQmZ3SkFBa0FnQUEwQVFjVEZBeWdDQUNJQURRQkJBQ0VBREFFTElBQVE5d1FnQUdvaUFDd0FBRVVFUUVIRXhRTkJBRFlDQUVFQUlRQU1BUXRCeE1VRElBQVE3UVFnQUdvaUFUWUNBQ0FCTEFBQUJFQkJ4TVVESUFGQkFXbzJBZ0FnQVVFQU9nQUFCVUhFeFFOQkFEWUNBQXNMSUFBTEtnRUJmaUFBS0FKTUdpQUFFTzhFSWdGQy8vLy8vd2RWQkg5QnBNVURRVDAyQWdCQmZ3VWdBYWNMQ3g0QUlBQW9Ba3dhSUFCQ0FFRUFFSWtESUFBZ0FDZ0NBRUZmY1RZQ0FBdndBUUlHZndKOEl3WWhBeU1HUVJCcUpBWWdBMEVJYWlFRUlBQzhJZ1ZCLy8vLy93ZHhJZ0pCMjUrazdnUkpCSDhnQUxzaUNFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lKRUhNaEJpQUJJQWdnQ1VRQUFBQlEreUg1UDZLaElBbEVZMklhWWJRUVVUNmlvVGtEQUNBR0JRSi9JQUpCLy8vLyt3ZExCRUFnQVNBQUlBQ1R1emtEQUVFQURBRUxJQVFnQWlBQ1FSZDJRZXArYWlJQ1FSZDBhNzY3T1FNQUlBUWdBeUFDUVFGQkFCRDdBaUVDSUFNckF3QWhDQ0FGUVFCSUJIOGdBU0FJbWprREFFRUFJQUpyQlNBQklBZzVBd0FnQWdzTEN5RUhJQU1rQmlBSEM0TVJBaFovQTN3akJpRU5Jd1pCc0FScUpBWWdEVUhBQW1vaER5QUVRUUowUWZEcEFHb29BZ0FoRGlBQ1FYMXFRUmdRT1NJRlFRQWdCVUVBU2hzaEVTQU9JQU5CZjJvaUIycEJBRTRFUUNBRElBNXFJUWtnRVNBSGF5RUZBMEFnQmtFRGRDQVBhaUFGUVFCSUJIeEVBQUFBQUFBQUFBQUZJQVZCQW5SQmdPb0FhaWdDQUxjTE9RTUFJQVZCQVdvaEJTQUdRUUZxSWdZZ0NVY05BQXNMSUExQjRBTnFJUXdnRFVHZ0FXb2hDaUFSUVdoc0loVWdBa0ZvYW1vaENTQURRUUJLSVFoQkFDRUZBMEFnQ0FSQUlBVWdCMm9oQzBRQUFBQUFBQUFBQUNFYlFRQWhCZ05BSUJzZ0JrRURkQ0FBYWlzREFDQUxJQVpyUVFOMElBOXFLd01Bb3FBaEd5QUdRUUZxSWdZZ0EwY05BQXNGUkFBQUFBQUFBQUFBSVJzTElBVkJBM1FnRFdvZ0d6a0RBQ0FGUVFGcUlRWWdCU0FPU0FSQUlBWWhCUXdCQ3dzZ0NVRUFTaUVTUVJnZ0NXc2hFMEVYSUFscklSWWdDVVVoRnlBRFFRQktJUmdnRGlFRkFrQUNRQU5BQWtBZ0JVRURkQ0FOYWlzREFDRWJJQVZCQUVvaUN3UkFJQVVoQmtFQUlRY0RRQ0FIUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWM3Y2lHMFFBQUFBQUFBQndRYUtoRUhNMkFnQWdCa0YvYWlJSVFRTjBJQTFxS3dNQUlCdWdJUnNnQjBFQmFpRUhJQVpCQVVvRVFDQUlJUVlNQVFzTEN5QWJJQWtRbndFaUd5QWJSQUFBQUFBQUFNQS9vcHhFQUFBQUFBQUFJRUNpb1NJYkVITWhCaUFiSUFhM29TRWJBa0FDUUFKQUlCSUVmeUFGUVg5cVFRSjBJQXhxSWdnb0FnQWlFQ0FUZFNFSElBZ2dFQ0FISUJOMGF5SUlOZ0lBSUFnZ0ZuVWhDQ0FHSUFkcUlRWU1BUVVnRndSL0lBVkJmMnBCQW5RZ0RHb29BZ0JCRjNVaENBd0NCU0FiUkFBQUFBQUFBT0EvWmdSL1FRSWhDQXdFQlVFQUN3c0xJUWdNQWdzZ0NFRUFTZzBBREFFTElBWWhHaUFMQkg5QkFDRUdRUUFoQ3dOL0lBdEJBblFnREdvaUdTZ0NBQ0VRQWtBQ1FDQUdCSDlCLy8vL0J5RVVEQUVGSUJBRWYwRUJJUVpCZ0lDQUNDRVVEQUlGUVFBTEN5RUdEQUVMSUJrZ0ZDQVFhellDQUFzZ0MwRUJhaUlMSUFWSERRQWdCZ3NGUVFBTElRc2dFZ1JBQWtBQ1FBSkFJQWxCQVdzT0FnQUJBZ3NnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0EzRTJBZ0FNQVFzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BWEUyQWdBTEN5QWFRUUZxSVFZZ0NFRUNSZ1JBUkFBQUFBQUFBUEEvSUJ1aElSc2dDd1JBSUJ0RUFBQUFBQUFBOEQ4Z0NSQ2ZBYUVoR3d0QkFpRUlDd3NnRzBRQUFBQUFBQUFBQUdJTkFpQUZJQTVLQkVCQkFDRUxJQVVoQndOQUlBc2dCMEYvYWlJSFFRSjBJQXhxS0FJQWNpRUxJQWNnRGtvTkFBc2dDdzBCQzBFQklRWURRQ0FHUVFGcUlRY2dEaUFHYTBFQ2RDQU1haWdDQUVVRVFDQUhJUVlNQVFzTElBVWdCbW9oQndOQUlBTWdCV29pQ0VFRGRDQVBhaUFGUVFGcUlnWWdFV3BCQW5SQmdPb0FhaWdDQUxjNUF3QWdHQVJBUkFBQUFBQUFBQUFBSVJ0QkFDRUZBMEFnR3lBRlFRTjBJQUJxS3dNQUlBZ2dCV3RCQTNRZ0Qyb3JBd0Npb0NFYklBVkJBV29pQlNBRFJ3MEFDd1ZFQUFBQUFBQUFBQUFoR3dzZ0JrRURkQ0FOYWlBYk9RTUFJQVlnQjBnRVFDQUdJUVVNQVFzTElBY2hCUXdCQ3dzZ0NTRUFBMzhnQUVGb2FpRUFJQVZCZjJvaUJVRUNkQ0FNYWlnQ0FFVU5BQ0FBSVFJZ0JRc2hBQXdCQ3lBYlFRQWdDV3NRbndFaUcwUUFBQUFBQUFCd1FXWUVmeUFGUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWN5SUR0MFFBQUFBQUFBQndRYUtoRUhNMkFnQWdBaUFWYWlFQ0lBVkJBV29GSUFraEFpQWJFSE1oQXlBRkN5SUFRUUowSUF4cUlBTTJBZ0FMUkFBQUFBQUFBUEEvSUFJUW53RWhHeUFBUVg5S0lnY0VRQ0FBSVFJRFFDQUNRUU4wSUExcUlCc2dBa0VDZENBTWFpZ0NBTGVpT1FNQUlCdEVBQUFBQUFBQWNENmlJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTElBY0VRQ0FBSVFJRFFDQUFJQUpySVFsQkFDRURSQUFBQUFBQUFBQUFJUnNEUUNBYklBTkJBM1JCa093QWFpc0RBQ0FDSUFOcVFRTjBJQTFxS3dNQW9xQWhHeUFEUVFGcUlRVWdBeUFPVGlBRElBbFBja1VFUUNBRklRTU1BUXNMSUFsQkEzUWdDbW9nR3prREFDQUNRWDlxSVFNZ0FrRUFTZ1JBSUFNaEFnd0JDd3NMQ3dKQUFrQUNRQUpBSUFRT0JBQUJBUUlEQ3lBSEJFQkVBQUFBQUFBQUFBQWhHd05BSUJzZ0FFRURkQ0FLYWlzREFLQWhHeUFBUVg5cUlRSWdBRUVBU2dSQUlBSWhBQXdCQ3dzRlJBQUFBQUFBQUFBQUlSc0xJQUVnRzVvZ0d5QUlHemtEQUF3Q0N5QUhCRUJFQUFBQUFBQUFBQUFoR3lBQUlRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMQlVRQUFBQUFBQUFBQUNFYkN5QUJJQnNnRzVvZ0NFVWlCQnM1QXdBZ0Npc0RBQ0Fib1NFYklBQkJBVTRFUUVFQklRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0VCYWlFRElBQWdBa2NFUUNBRElRSU1BUXNMQ3lBQklCc2dHNW9nQkJzNUF3Z01BUXNnQUVFQVNnUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdRckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUVJQnc1QXdBZ0FrRUJTZ1JBSUFNaEFpQWNJUnNNQVFzTElBQkJBVW9pQkFSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1VyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRklCdzVBd0FnQWtFQ1NnUkFJQU1oQWlBY0lSc01BUXNMSUFRRVFFUUFBQUFBQUFBQUFDRWJBMEFnR3lBQVFRTjBJQXBxS3dNQW9DRWJJQUJCZjJvaEFpQUFRUUpLQkVBZ0FpRUFEQUVMQ3dWRUFBQUFBQUFBQUFBaEd3c0ZSQUFBQUFBQUFBQUFJUnNMQlVRQUFBQUFBQUFBQUNFYkN5QUtLd01BSVJ3Z0NBUkFJQUVnSEpvNUF3QWdBU0FLS3dNSW1qa0RDQ0FCSUJ1YU9RTVFCU0FCSUJ3NUF3QWdBU0FLS3dNSU9RTUlJQUVnR3prREVBc0xJQTBrQmlBR1FRZHhDNEFKQXdoL0FYNEVmQ01HSVFRakJrRXdhaVFHSUFSQkVHb2hCU0FBdlNJS1FqK0lweUVHQW44Q1FDQUtRaUNJcHlJQ1FmLy8vLzhIY1NJRFFmdlV2WUFFU1FSL0lBSkIvLzgvY1VIN3d5UkdEUUVnQmtFQVJ5RUNJQU5CL2JLTGdBUkpCSDhnQWdSL0lBRWdBRVFBQUVCVSt5SDVQNkFpQUVReFkySWFZYlRRUGFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBEMmdPUU1JUVg4RklBRWdBRVFBQUVCVSt5SDV2NkFpQUVReFkySWFZYlRRdmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBMMmdPUU1JUVFFTEJTQUNCSDhnQVNBQVJBQUFRRlQ3SVFsQW9DSUFSREZqWWhwaHRPQTlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRnUGFBNUF3aEJmZ1VnQVNBQVJBQUFRRlQ3SVFuQW9DSUFSREZqWWhwaHRPQzlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRndmFBNUF3aEJBZ3NMQlFKL0lBTkJ2SXp4Z0FSSkJFQWdBMEc5KzllQUJFa0VRQ0FEUWZ5eXk0QUVSZzBFSUFZRVFDQUJJQUJFQUFBd2YzelpFa0NnSWdCRXlwU1RwNUVPNlQyZ0lnczVBd0FnQVNBQUlBdWhSTXFVazZlUkR1azlvRGtEQ0VGOURBTUZJQUVnQUVRQUFEQi9mTmtTd0tBaUFFVEtsSk9ua1E3cHZhQWlDemtEQUNBQklBQWdDNkZFeXBTVHA1RU82YjJnT1FNSVFRTU1Bd3NBQlNBRFFmdkQ1SUFFUmcwRUlBWUVRQ0FCSUFCRUFBQkFWUHNoR1VDZ0lnQkVNV05pR21HMDhEMmdJZ3M1QXdBZ0FTQUFJQXVoUkRGallocGh0UEE5b0RrRENFRjhEQU1GSUFFZ0FFUUFBRUJVK3lFWndLQWlBRVF4WTJJYVliVHd2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwOEwyZ09RTUlRUVFNQXdzQUN3QUxJQU5CKzhQa2lRUkpEUUlnQTBILy83Ly9CMHNFUUNBQklBQWdBS0VpQURrRENDQUJJQUE1QXdCQkFBd0JDeUFLUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBc01FQWhMOGhBRUVBSVFJRFFDQUNRUU4wSUFWcUlBQVFjN2NpQ3prREFDQUFJQXVoUkFBQUFBQUFBSEJCb2lFQUlBSkJBV29pQWtFQ1J3MEFDeUFGSUFBNUF4QWdBRVFBQUFBQUFBQUFBR0VFUUVFQklRSURRQ0FDUVg5cUlRY2dBa0VEZENBRmFpc0RBRVFBQUFBQUFBQUFBR0VFUUNBSElRSU1BUXNMQlVFQ0lRSUxJQVVnQkNBRFFSUjJRZXAzYWlBQ1FRRnFRUUVRK3dJaEFpQUVLd01BSVFBZ0JnUi9JQUVnQUpvNUF3QWdBU0FFS3dNSW1qa0RDRUVBSUFKckJTQUJJQUE1QXdBZ0FTQUVLd01JT1FNSUlBSUxDd3NNQVFzZ0FFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lNRUhNaENDQUJJQUFnREVRQUFFQlUreUg1UDZLaElnc2dERVF4WTJJYVliVFFQYUlpQUtFaURUa0RBQ0FEUVJSMklnY2dEYjFDTklpblFmOFBjV3RCRUVvRVFDQU1SSE53QXk2S0dhTTdvaUFMSUFzZ0RFUUFBR0FhWWJUUVBhSWlBS0VpQzZFZ0FLR2hJUUFnQVNBTElBQ2hJZzA1QXdBZ0RFVEJTU0FsbW9ON09hSWdDeUFMSUF4RUFBQUFMb29ab3p1aUlnNmhJZ3loSUE2aG9TRU9JQWNnRGIxQ05JaW5RZjhQY1d0Qk1Vb0VRQ0FCSUF3Z0RxRWlEVGtEQUNBT0lRQWdEQ0VMQ3dzZ0FTQUxJQTJoSUFDaE9RTUlJQWdMSVFrZ0JDUUdJQWtMRmdBZ0FDQUJJQUpDZ0lDQWdJQ0FnSUNBZnhDRUF3dmxDZ0VTZnlBQktBSUFJUVVDZndKQUlBTkZEUUFnQXlnQ0FDSUVSUTBBSUFBRWZ5QURRUUEyQWdBZ0JDRU9JQUFoRHlBQ0lSQWdCU0VJUVRBRklBUWhDU0FGSVFjZ0FpRUxRUm9MREFFTElBQkJBRWNoQTBIb2lRRW9BZ0FvQWdBRVFDQURCRUFnQUNFU0lBSWhFU0FGSVF4QklRd0NCU0FDSVJNZ0JTRVVRUThNQWdzQUN5QURSUVJBSUFVUVlDRUtRVDhNQVFzZ0FnUkFBa0FnQUNFR0lBSWhCQ0FGSVFNRFFDQURMQUFBSWdVRVFDQURRUUZxSVFNZ0JpQUZRZisvQTNFMkFnQWdCRUYvYWlJRVJRMENJQVpCQkdvaEJnd0JDd3NnQmtFQU5nSUFJQUZCQURZQ0FDQUNJQVJySVFwQlB3d0NDd1VnQlNFREN5QUJJQU0yQWdBZ0FpRUtRVDhMSVFNRFFBSkFBa0FDUUFKQUlBTkJEMFlFUUNBVElRTWdGQ0VGQTBBZ0JTd0FBQ0lFUWY4QmNVRi9ha0gvQUVrRWZ5QUZRUU54Qkg4Z0JBVWdCU2dDQUNJR1FmOEJjU0VFSUFZZ0JrSC8vZnQzYW5KQmdJR0NoSGh4Qkg4Z0JBVURRQ0FEUVh4cUlRTWdCVUVFYWlJRktBSUFJZ1FnQkVILy9mdDNhbkpCZ0lHQ2hIaHhSUTBBQ3lBRVFmOEJjUXNMQlNBRUMwSC9BWEVpQkVGL2FrSC9BRWtFUUNBRFFYOXFJUU1nQlVFQmFpRUZEQUVMQ3lBRVFiNSthaUlFUVRKTEJFQWdCU0VFSUFBaEJnd0RCU0FFUVFKMFFkQTBhaWdDQUNFSklBVkJBV29oQnlBRElRdEJHaUVEREFZTEFBVWdBMEVhUmdSQUlBY3RBQUJCQTNZaUEwRndhaUFESUFsQkduVnFja0VIU3dSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3REJTQUhRUUZxSVFNZ0NVR0FnSUFRY1FSL0lBTXNBQUJCd0FGeFFZQUJSd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdGQ3lBSFFRSnFJUU1nQ1VHQWdDQnhCSDhnQXl3QUFFSEFBWEZCZ0FGSEJFQWdBQ0VESUFraEJpQUhJUVFnQ3lFRkRBWUxJQWRCQTJvRklBTUxCU0FEQ3lFVUlBdEJmMm9oRTBFUElRTU1Cd3NBQlNBRFFTRkdCRUFnRVFSQUFrQWdFaUVGSUJFaEF5QU1JUVFEUUFKQUFrQUNRQ0FFTFFBQUlnWkJmMm9pRFVIL0FFOE5BQ0FFUVFOeFJTQURRUVJMY1FSQUFuOENRQU5BSUFRb0FnQWlCaUFHUWYvOSszZHFja0dBZ1lLRWVIRU5BU0FGSUFaQi93RnhOZ0lBSUFVZ0JDMEFBVFlDQkNBRklBUXRBQUkyQWdnZ0JFRUVhaUVOSUFWQkVHb2hCaUFGSUFRdEFBTTJBZ3dnQTBGOGFpSURRUVJMQkVBZ0JpRUZJQTBoQkF3QkN3c2dCaUVGSUEwaUJDd0FBQXdCQ3lBR1FmOEJjUXRCL3dGeElnWkJmMm9oRFF3QkN3d0JDeUFOUWY4QVR3MEJDeUFFUVFGcUlRUWdCU0FHTmdJQUlBTkJmMm9pQTBVTkFpQUZRUVJxSVFVTUFRc0xJQVpCdm41cUlnWkJNa3NFUUNBRklRWU1Cd3NnQmtFQ2RFSFFOR29vQWdBaERpQUZJUThnQXlFUUlBUkJBV29oQ0VFd0lRTU1DUXNGSUF3aEJBc2dBU0FFTmdJQUlBSWhDa0UvSVFNTUJ3VWdBMEV3UmdSQUlBZ3RBQUFpQkVFRGRpSURRWEJxSUFNZ0RrRWFkV3B5UVFkTEJFQWdEeUVESUE0aEJpQUlJUVFnRUNFRkRBVUZBa0FnQ0VFQmFpRUZJQVJCZ0g5cUlBNUJCblJ5SWdOQkFFZ0VRQUpBSUFVdEFBQkJnSDlxSWdSQlAwMEVRQ0FJUVFKcUlRVWdCQ0FEUVFaMGNpSURRUUJPQkVBZ0JTRU1EQUlMSUFVdEFBQkJnSDlxSWdWQlAwMEVRQ0FJUVFOcUlRd2dCU0FEUVFaMGNpRUREQUlMQzBHa3hRTkJHVFlDQUNBSVFYOXFJUlVNQWdzRklBVWhEQXNnRHlBRE5nSUFJQTlCQkdvaEVpQVFRWDlxSVJGQklTRUREQW9MQ3dVZ0EwRS9SZ1JBSUFvUEN3c0xDd3NNQXdzZ0JFRi9haUVFSUFZTkFTQURJUVlnQlNFREN5QUVMQUFBQkg4Z0JnVWdCZ1JBSUFaQkFEWUNBQ0FCUVFBMkFnQUxJQUlnQTJzaENrRS9JUU1NQXdzaEF3dEJwTVVEUVJrMkFnQWdBd1IvSUFRRlFYOGhDa0UvSVFNTUFnc2hGUXNnQVNBVk5nSUFRWDhoQ2tFL0lRTU1BQUFMQUF1a0FRRUZmeU1HSVFVakJrR0FBbW9rQmlBRklRTWdBa0VDVGdSQUFrQWdBa0VDZENBQmFpSUhJQU0yQWdBZ0FBUkFBMEFnQXlBQktBSUFJQUJCZ0FJZ0FFR0FBa2tiSWdRUVRCcEJBQ0VEQTBBZ0EwRUNkQ0FCYWlJR0tBSUFJQU5CQVdvaUEwRUNkQ0FCYWlnQ0FDQUVFRXdhSUFZZ0JpZ0NBQ0FFYWpZQ0FDQUNJQU5IRFFBTElBQWdCR3NpQUVVTkFpQUhLQUlBSVFNTUFBQUxBQXNMQ3lBRkpBWUxPUUVDZnlBQUJFQWdBRUVCY1VVRVFBTkFJQUZCQVdvaEFTQUFRUUYySVFJZ0FFRUNjVVVFUUNBQ0lRQU1BUXNMQ3dWQklDRUJDeUFCQ3lrQkFYOGdBQ2dDQUVGL2FoQ0FBeUlCQkg4Z0FRVWdBQ2dDQkJDQUF5SUFRU0JxUVFBZ0FCc0xDNXNFQVFkL0l3WWhCaU1HUWRBQmFpUUdJQVpCd0FGcUlnUkNBVGNEQUNBQklBSnNJZ2tFUUFKQVFRQWdBbXNoQ0NBR0lBSTJBZ1FnQmlBQ05nSUFRUUloQnlBQ0lnVWhBUU5BSUFkQkFuUWdCbW9nQWlBRmFpQUJhaUlLTmdJQUlBZEJBV29oQnlBS0lBbEpCRUFnQVNFRklBb2hBUXdCQ3dzZ0FDQUphaUFJYWlJQklBQkxCSDhnQVNFSFFRRWhBVUVCSVFVRGZ5QUZRUU54UVFOR0JIOGdBQ0FDSUFNZ0FTQUdFS0lDSUFSQkFoRHlBU0FCUVFKcUJTQUJRWDlxSWdWQkFuUWdCbW9vQWdBZ0J5QUFhMGtFUUNBQUlBSWdBeUFCSUFZUW9nSUZJQUFnQWlBRElBUWdBVUVBSUFZUThRRUxJQUZCQVVZRWZ5QUVRUUVROEFGQkFBVWdCQ0FGRVBBQlFRRUxDeUVCSUFRZ0JDZ0NBRUVCY2lJRk5nSUFJQUFnQW1vaUFDQUhTUTBBSUFFTEJVRUJJUVZCQVFzaEJ5QUFJQUlnQXlBRUlBZEJBQ0FHRVBFQklBQWhBU0FISVFBRFFBSi9Ba0FnQUVFQlJpQUZRUUZHY1FSL0lBUW9BZ1JGRFFRTUFRVWdBRUVDU0EwQklBUkJBaER3QVNBRUlBUW9BZ0JCQjNNMkFnQWdCRUVCRVBJQklBRWdBRUYrYWlJRlFRSjBJQVpxS0FJQWF5QUlhaUFDSUFNZ0JDQUFRWDlxUVFFZ0JoRHhBU0FFUVFFUThBRWdCQ0FFS0FJQVFRRnlJZ2MyQWdBZ0FTQUlhaUlCSUFJZ0F5QUVJQVZCQVNBR0VQRUJJQVVoQUNBSEN3d0JDeUFFSUFRUWdRTWlCUkR5QVNBQklBaHFJUUVnQUNBRmFpRUFJQVFvQWdBTElRVU1BQUFMQUFzTElBWWtCZ3NYQUNBQUVJb0JRUUJISUFCQklISkJuMzlxUVFaSmNndDlBZ0YvQVg0akJpRUVJd1pCa0FGcUpBWWdCRUVBTmdJQUlBUWdBRFlDQkNBRUlBQTJBaXdnQkVGL0lBQkIvLy8vL3dkcUlBQkJBRWdiTmdJSUlBUkJmellDVENBRVFnQVFnZ0VnQkNBQ1FRRWdBeENUQXlFRklBRUVRQ0FCSUFBZ0JDZ0NCQ0FFS1FONHAyb2dCQ2dDQ0d0cU5nSUFDeUFFSkFZZ0JRdmZCUUVKZnlNR0lRVWpCa0dRQW1va0JpQUJMQUFBUlFSQUFrQkJ4djRDRUEwaUFRUkFJQUVzQUFBTkFRc2dBRUVNYkVHZzZRQnFFQTBpQVFSQUlBRXNBQUFOQVF0QnpmNENFQTBpQVFSQUlBRXNBQUFOQVF0QjB2NENJUUVMQ3lBRlFZQUNhaUVHQTM4Q2Z5QUNJQUVnQW1vc0FBQWlBMEVBSUFOQkwwY2JSUTBBR2lBQ1FRRnFJZ0pCRDBrTkFVRVBDd3NoQXdKQUFrQUNRQ0FCTEFBQUlnSkJMa1lFUUVIUy9nSWhBUVVnQVNBRGFpd0FBQVJBUWRMK0FpRUJCU0FDUWNNQVJ3MENDd3NnQVN3QUFVVU5BUXNnQVVIUy9nSVFzd0ZGRFFBZ0FVSGEvZ0lRc3dGRkRRQkJ1TVVES0FJQUlnSUVRQU5BSUFFZ0FrRUlhaEN6QVVVTkF5QUNLQUlZSWdJTkFBc0xRYnpGQXhBYVFiakZBeWdDQUNJQ0JFQUNRQU5BSUFFZ0FrRUlhaEN6QVFSQUlBSW9BaGdpQWtVTkFnd0JDd3RCdk1VREVBNE1Bd3NMQW44Q1FFSHN4QU1vQWdBTkFFSGcvZ0lRRFNJQ1JRMEFJQUlzQUFCRkRRQkIvZ0VnQTJzaENTQURRUUZxSVFvRFFBSkFJQUpCT2hDcUFpSUhMQUFBSWdSQkFFZEJIM1JCSDNVZ0J5QUNhMm9pQ0NBSlNRUi9JQVVnQWlBSUVFd2FJQVVnQ0dvaUFrRXZPZ0FBSUFKQkFXb2dBU0FERUV3YUlBVWdDQ0FLYW1wQkFEb0FBQ0FGSUFZUU5TSUVEUUVnQnl3QUFBVWdCQXNoQWlBSElBSkIvd0Z4UVFCSGFpSUNMQUFBRFFFTUFnc0xRUndRUkNJQ0JIOGdBaUFFTmdJQUlBSWdCaWdDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FDQUNCU0FFSUFZb0FnQVEvQVFNQVFzTUFRdEJIQkJFSWdJRVFDQUNRZkNIQVNnQ0FEWUNBQ0FDUWZTSEFTZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUFzZ0Fnc2hBVUc4eFFNUURpQUJRZkNIQVNBQUlBRnlHeUVDREFFTElBQkZCRUFnQVN3QUFVRXVSZ1JBUWZDSEFTRUNEQUlMQzBFQUlRSUxJQVVrQmlBQ0N4Y0FJQUJCQUVjZ0FFSE14QU5IY1NBQVFZeUlBVWR4Q3c0QUlBQVFoZ01FUUNBQUVEZ0xDeDhCQW44Z0FCQmdRUUZxSWdFUVJDSUNCSDhnQWlBQUlBRVFUQVZCQUFzTG5nRUFJQUpCQVVZRVFDQUJJQUFvQWdnZ0FDZ0NCR3VzZlNFQkN3SkFBa0FnQUNnQ0ZDQUFLQUljVFEwQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUJJQUlnQUNnQ0tFRURjVUdtQTJvUkZBQkNBRk1FZjBGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NBRUZ2Y1RZQ0FFRUFDeG9MQzVFQkFnRi9BbjRDUUFKQUlBQzlJZ05DTklnaUJLZEIvdzl4SWdJRVFDQUNRZjhQUmdSQURBTUZEQUlMQUFzZ0FTQUFSQUFBQUFBQUFBQUFZZ1IvSUFCRUFBQUFBQUFBOEVPaUlBRVFpZ01oQUNBQktBSUFRVUJxQlVFQUN6WUNBQXdCQ3lBQklBU25RZjhQY1VHQ2VHbzJBZ0FnQTBMLy8vLy8vLy8vaDRCL2cwS0FnSUNBZ0lDQThEK0V2eUVBQ3lBQUN4RUFJQUFFZnlBQUlBRVFuZ0VGUVFBTEM3NERBd0YvQVg0QmZDQUJRUlJOQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCQ1dzT0NnQUJBZ01FQlFZSENBa0tDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRE5nSUFEQWtMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3NOd01BREFnTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU90TndNQURBY0xJQUlvQWdCQkIycEJlSEVpQVNrREFDRUVJQUlnQVVFSWFqWUNBQ0FBSUFRM0F3QU1CZ3NnQWlnQ0FFRURha0Y4Y1NJQktBSUFJUU1nQWlBQlFRUnFOZ0lBSUFBZ0EwSC8vd054UVJCMFFSQjFyRGNEQUF3RkN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWYvL0EzR3ROd01BREFRTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU5CL3dGeFFSaDBRUmgxckRjREFBd0RDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmOEJjYTAzQXdBTUFnc2dBaWdDQUVFSGFrRjRjU0lCS3dNQUlRVWdBaUFCUVFocU5nSUFJQUFnQlRrREFBd0JDeUFBSUFKQjZRVVJBd0FMQ3d0QUFRSi9JQUFvQWdBc0FBQVFpZ0VFUUFOQUlBQW9BZ0FpQWl3QUFDQUJRUXBzUVZCcWFpRUJJQUFnQWtFQmFqWUNBQ0FDTEFBQkVJb0JEUUFMQ3lBQkN3a0FJQUFnQVJDZkFRc0pBQ0FBSUFFUWpnVUxJZ0FnQUwxQy8vLy8vLy8vLy8vL0FJTWdBYjFDZ0lDQWdJQ0FnSUNBZjRPRXZ3dmdBd0lEZndGK0FuNENRQUpBQWtBQ1FDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRU3RyRGdNQUFRQUJDeUFDUVMxR0lRUWdBVUVBUnlBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lJRFFWQnFJZ0pCQ1V0eEJINGdBQ2dDYUFSK0lBQWdBQ2dDQkVGL2FqWUNCQXdFQlVLQWdJQ0FnSUNBZ0lCL0N3VWdBeUVCREFJTERBTUxJQUlpQVVGUWFpRUNDeUFDUVFsTERRQkJBQ0VDQTBBZ0FVRlFhaUFDUVFwc2FpRUNJQUpCekptejVnQklJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUEwRUtTWEVOQUFzZ0Fxd2hCU0FEUVFwSkJFQURRQ0FCckVKUWZDQUZRZ3ArZkNFRklBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQWtFS1NTQUZRcTZQaGRmSHd1dWpBVk54RFFBTElBSkJDa2tFUUFOQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTFFWQnFRUXBKRFFBTEN3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUNBRmZTQUZJQVFiREFFTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRb0NBZ0lDQWdJQ0FnSDhMQzhrSEFRVi9BbndDUUFKQUFrQUNRQUpBSUFFT0F3QUJBZ01MUWV0K0lRUkJHQ0VGREFNTFFjNTNJUVJCTlNFRkRBSUxRYzUzSVFSQk5TRUZEQUVMUkFBQUFBQUFBQUFBREFFTEEwQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBUkN5QVEwQUN3SkFBa0FDUUNBQlFTdHJEZ01BQVFBQkMwRUJJQUZCTFVaQkFYUnJJUVlnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVF3QkMwRUJJUVlMQWtBQ1FBSkFBMzhnQTBIKy9RSnFMQUFBSUFGQklISkdCSDhnQTBFSFNRUkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUVMSUFOQkFXb2lBMEVJU1EwQlFRZ0ZJQU1MQ3lJRFFmLy8vLzhIY1VFRGF3NEdBUUFBQUFBQ0FBc2dBa0VBUnlJSElBTkJBMHR4QkVBZ0EwRUlSZzBDREFFTElBTkZCRUFDUUVFQUlRTURmeUFEUWJ6K0Ftb3NBQUFnQVVFZ2NrY05BU0FEUVFKSkJFQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXNnQTBFQmFpSURRUU5KRFFCQkF3c2hBd3NMQWtBQ1FBSkFJQU1PQkFFQ0FnQUNDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEVvUndSQUl3RWdBQ2dDYUVVTkJSb2dBQ0FBS0FJRVFYOXFOZ0lFSXdFTUJRdEJBU0VCQTBCQkFDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRVkJxUVFwSklBSkJ2MzlxUVJwSmNrVWdBa0hmQUVZZ0FrR2ZmMnBCR2tseUcwVUVRQ0FCUVFGcUlRRU1BUXNMSXdFZ0FrRXBSZzBFR2lBQUtBSm9SU0lDUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQjBVRVFFR2t4UU5CSERZQ0FDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJRc2pBU0FCUlEwRUdnTkFJQUpGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeU1CSUFGQmYyb2lBVVVOQlJvTUFBQUxBQXNnQUNBQlFUQkdCSDhnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXRCSUhKQitBQkdCRUFnQUNBRklBUWdCaUFDRUpBRkRBVUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUVRBRklBRUxJQVVnQkNBR0lBSVFqd1VNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdEJwTVVEUVJ3MkFnQWdBRUlBRUlJQlJBQUFBQUFBQUFBQURBSUxJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNRUUJISUFOQkEwdHhCRUFEUUNBQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0EwRi9haUlEUVFOTERRQUxDd3NnQnJJakFyYVV1d3NMdmdzQ0JYOEZmaUFCUVNSTEJFQkJwTVVEUVJ3MkFnQkNBQ0VEQlFKQUEwQWdBQ2dDQkNJRUlBQW9BbWhKQkg4Z0FDQUVRUUZxTmdJRUlBUXRBQUFGSUFBUVZBc2lCQkN5QVEwQUN3SkFBa0FnQkVFcmF3NERBQUVBQVFzZ0JFRXRSa0VmZEVFZmRTRUhJQUFvQWdRaUJDQUFLQUpvU1FSL0lBQWdCRUVCYWpZQ0JDQUVMUUFBQlNBQUVGUUxJUVFNQUFzZ0FVVWhCUUpBQWtBQ1FDQUJRUkJ5UVJCR0lBUkJNRVp4QkVBQ1FDQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUVRU0J5UWZnQVJ3UkFJQVVFUUNBRUlRSkJDQ0VCREFRRklBUWhBZ3dDQ3dBTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJ3ZFFBYWkwQUFFRVBTZ1JBSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUlFSQUlBQkNBQkNDQVVJQUlRTU1Cd3NnQVFSQVFnQWhBd3dIQ3lBQUlBQW9BZ1JCZjJvMkFnUkNBQ0VEREFZRklBRWhBa0VRSVFFTUF3c0FDd1ZCQ2lBQklBVWJJZ0VnQkVIQjFBQnFMUUFBU3dSL0lBUUZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFCQ0FCQ0NBVUdreFFOQkhEWUNBRUlBSVFNTUJRc2hBZ3NnQVVFS1J3MEFJQUpCVUdvaUFrRUtTUVJBUVFBaEFRTkFJQUZCQ213Z0Ftb2hBU0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlFUVZCcUlnSkJDa2tnQVVHWnMrYk1BVWx4RFFBTElBR3RJUWtnQWtFS1NRUkFJQVFoQVFOQUlBbENDbjRpQ2lBQ3JDSUxRbitGVmdSQVFRb2hBZ3dGQ3lBS0lBdDhJUWtnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVVGUWFpSUNRUXBKSUFsQ21yUG16Sm16NXN3WlZIRU5BQXNnQWtFSlRRUkFRUW9oQWd3RUN3c0xEQUlMSUFFZ0FVRi9hbkZGQkVBZ0FVRVhiRUVGZGtFSGNVR0gvZ0pxTEFBQUlRWWdBU0FDUWNIVUFHb3NBQUFpQ0VIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0JDQUdkQ0FDY2lJRVFZQ0FnTUFBU1NBQklBQW9BZ1FpQWlBQUtBSm9TUVIvSUFBZ0FrRUJhallDQkNBQ0xRQUFCU0FBRUZRTElnVkJ3ZFFBYWl3QUFDSUlRZjhCY1NJQ1MzRU5BQXNnQkswaENTQUZJUVFnQWlFRkJTQUNJUVFMSUFnaEFpQUJJQVZOUW44Z0JxMGlDb2dpQ3lBSlZISUVRQ0FCSVFJZ0JDRUJEQUlMQTBBZ0FTQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUZRY0hVQUdvc0FBQWlCRUgvQVhGTklBSkIvd0Z4clNBSklBcUdoQ0lKSUF0V2NnUkFJQUVoQWlBRklRRU1Bd1VnQkNFQ0RBRUxBQUFMQUFzZ0FTQUNRY0hVQUdvc0FBQWlCa0gvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQVNBRWJDQUNhaUlFUWNmajhUaEpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQlVIQjFBQnFMQUFBSWdaQi93RnhJZ0pMY1EwQUN5QUVyU0VKSUFVaEJDQUNJUVVGSUFJaEJBc2dCaUVDSUFHdElRb2dBU0FGU3dSL1FuOGdDaEQyQVNFTEEzOGdDU0FMVmdSQUlBRWhBaUFFSVFFTUF3c2dDU0FLZmlJTUlBSkIvd0Z4clNJTlFuK0ZWZ1JBSUFFaEFpQUVJUUVNQXdzZ0RDQU5mQ0VKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJFSEIxQUJxTEFBQUlnSkIvd0Z4U3cwQUlBRWhBaUFFQ3dVZ0FTRUNJQVFMSVFFTElBSWdBVUhCMUFCcUxRQUFTd1JBQTBBZ0FpQUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwSEIxQUJxTFFBQVN3MEFDMEdreFFOQnhBQTJBZ0FnQjBFQUlBTkNBWU5RR3lFSElBTWhDUXNMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBa2dBMW9FUUNBSFFRQkhJQU5DQVlOQ0FGSnlSUVJBUWFURkEwSEVBRFlDQUNBRFFuOThJUU1NQWdzZ0NTQURWZ1JBUWFURkEwSEVBRFlDQUF3Q0N3c2dDU0FIckNJRGhTQURmU0VEQ3dzZ0F3dFNBQ0FBQkVBQ1FBSkFBa0FDUUFKQUFrQWdBVUYrYXc0R0FBRUNBd1VFQlFzZ0FDQUNQQUFBREFRTElBQWdBajBCQUF3REN5QUFJQUkrQWdBTUFnc2dBQ0FDUGdJQURBRUxJQUFnQWpjREFBc0xDMGNCQW44akJpRURJd1pCa0FGcUpBWWdBMEVBUVpBQkVFVWFJQU5CSXpZQ0lDQURJQUEyQWl3Z0EwRi9OZ0pNSUFNZ0FEWUNWQ0FESUFFZ0FoQ1VCU0VFSUFNa0JpQUVDNXdDQVFkL0lBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hwQi93RWhCU0FBSVFRQ1FBSkFBMEFDUUNBQktBSUlJQUVvQWdRaUFpSUdheUVESUFKQkNpQURFS1lDSWdoRklRY2dCQ0FDSUFNZ0NFRUJJQVpyYWlBSEd5SUNJQVVnQWlBRlNSc2lBeEJNR2lBQklBTWdBU2dDQkdvaUJqWUNCQ0FESUFScUlRSWdCeUFGSUFOcklnVkJBRWR4UlFSQUlBSWhCQXdEQ3lBR0lBRW9BZ2hKQkg4Z0FTQUdRUUZxTmdJRUlBWXRBQUFGSUFFUTlRRWlCRUVBU0EwQklBUUxJUU1nQWtFQmFpRUVJQUlnQXpvQUFDQUZRWDlxSWdWRklBTkIvd0Z4UVFwR2NrVU5BUXdDQ3dzZ0FDQUNSZ1IvUVFBRklBRW9BZ0JCRUhFRWZ5QUNJUVFNQWdWQkFBc0xJUUFNQVFzZ0FBUkFJQVJCQURvQUFBVkJBQ0VBQ3dzZ0FBdndBUUVEZndKQUFrQWdBaWdDRUNJRERRQWdBaENZQXdSL1FRQUZJQUlvQWhBaEF3d0JDeUVFREFFTElBTWdBaWdDRkNJRWF5QUJTUVJBSUFJb0FpUWhBeUFDSUFBZ0FTQURRVDl4UWNvQmFoRUVBQ0VFREFFTElBRkZJQUlzQUV0QkFFaHlCRUJCQUNFREJRSkFJQUVoQXdOQUlBQWdBMEYvYWlJRmFpd0FBRUVLUndSQUlBVUVRQ0FGSVFNTUFnVkJBQ0VEREFNTEFBc0xJQUlvQWlRaEJDQUNJQUFnQXlBRVFUOXhRY29CYWhFRUFDSUVJQU5KRFFJZ0FDQURhaUVBSUFFZ0Eyc2hBU0FDS0FJVUlRUUxDeUFFSUFBZ0FSQk1HaUFDSUFFZ0FpZ0NGR28yQWhRZ0FTQURhaUVFQ3lBRUMyRUJBWDhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FnQWlBVUVJY1FSL0lBQWdBVUVnY2pZQ0FFRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEJCQUFzTGpBRUJBMzhqQmlFQkl3WkJFR29rQmlBQlFRbzZBQUFDUUFKQUlBQW9BaEFpQWcwQUlBQVFtQU5GQkVBZ0FDZ0NFQ0VDREFFTERBRUxJQUFvQWhRaUF5QUNTUVJBSUFBc0FFdEJDa2NFUUNBQUlBTkJBV28yQWhRZ0EwRUtPZ0FBREFJTEN5QUFJQUZCQVNBQUtBSWtRVDl4UWNvQmFoRUVBRUVCUmdSL0lBRXRBQUFGUVg4TEdnc2dBU1FHQ3h3QUlBQkJnR0JMQkg5QnBNVURRUUFnQUdzMkFnQkJmd1VnQUFzTEVRQkJCRUVCUWVpSkFTZ0NBQ2dDQUJzTDdBRUNDWDhCZlNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVF3QUFBQUE0QWdBZ0FpZ0NBQ0FFUVFKMGFpRUZJQUVvQWdBZ0MwRUNkR29oQmtFQUlRZERBQUFBQUNFTUEwQWdCeUFJU0FSQUlBQWdEQ0FHS2dJQUlBVXFBZ0NVa2lJTU9BSUFJQWxCQW5RZ0JXb2hCU0FHUVFScUlRWWdCMEVCYWlFSERBRUxDeUFFUVFGcUlRUWdBRUVFYWlFQURBRUxDeUFEUVFGcUlRTU1BUVZCQUFzTEJVRi9Dd1ZCZndzRlFYOExDMGdCQVg4Z0FDZ0NCQ0lCUlFSQUR3c2dBU2dDSkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBSVFCRUFnQUVISUFUWUNGQ0FBUVFBMkFyZ0NCU0FBUWVRQU5nSVVDd3N5QVFGL0lBQW9BZ1FpQVFSQUlBRW9BaWdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVFQU5nSUVJQUJCQURZQ0ZBc2dBQ0FBS0FJQUlnRkJNellDRkNBQUlBRW9BZ0JCL3dGeFFhd0RhaEVCQUFzeUFRRi9JQUFvQWdnZ0FDZ0NCQkNMQVNJQkJFQWdBU0FBRVBFRVFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXVDQkFFSmZ5QUFLQUxrQXlJRklBQW9BbGhCQVVZaUFqWUNIQ0FBS0FJRUtBSUlJUUVnQlNBQVFRRkIvZ1ZCZ0FJZ0Foc2dBQ2dDZUNBQlFROXhRWW9DYWhFSkFDSUVOZ0lZSUFVb0FoUWhBU0FBS0FKNFFRQk1CRUFQQ3lBQ1JRUkFBMEFnQVNBRlFTQnFJQU5CQW5ScUtBSUFJZ0lRT1NFSElBTkJBblFnQkdvb0FnQWhCa0VBSVFFZ0FrSCtBV29nQWtGL2FpSUlRUUYwSWdrUU9TRUVRUUFoQWdOQUlBSWdCRW9FUUFOQUlBSWdDQ0FCUVFGcUlnRkJBWFJCQVhKQi93RnNhaUFKRURraUJFb05BQXNMSUFJZ0Jtb2dBU0FIYkRvQUFDQUNRUUZxSWdKQmdBSkhEUUFMSUFOQkFXb2lBeUFBS0FKNFNBUkFJQWNoQVNBRktBSVlJUVFNQVFzTER3dEJBQ0VDQTBBZ0FTQUZRU0JxSUFKQkFuUnFLQUlBSWdNUU9TRUhJQUpCQW5RZ0JHb2lBU0FCS0FJQVFmOEJhallDQUNBRktBSVlJQUpCQW5ScUtBSUFJUVpCQUNFQklBTkIvZ0ZxSUFOQmYyb2lDRUVCZENJSkVEa2hCRUVBSVFNRFFDQURJQVJLQkVBRFFDQURJQWdnQVVFQmFpSUJRUUYwUVFGeVFmOEJiR29nQ1JBNUlnUktEUUFMQ3lBRElBWnFJQUVnQjJ3NkFBQWdBMEVCYWlJRFFZQUNSdzBBQzBFQklRRURRQ0FHSUFGcklBWXNBQUE2QUFBZ0JpQUJRZjhCYW1vZ0Jpd0Evd0U2QUFBZ0FVRUJhaUlCUVlBQ1J3MEFDeUFDUVFGcUlnSWdBQ2dDZUVnRVFDQUhJUUVnQlNnQ0dDRUVEQUVMQ3d2akh3RWRmeU1HSVJjakJrR0FDMm9rQmlBWFFZQURhaUVFSUJkQmdBRnFJUmtnQUNnQzVBTW9BaGdoR2lBQlFRSjJRUVYwSWdWQkJISWlGQ0FGUVJ4eUlneHFRUUYxSVE0Z0FrRURka0VGZENJRlFRSnlJaFVnQlVFZWNpSVBha0VCZFNFUUlBTkJBblpCQlhRaUJVRUVjaUlXSUFWQkhISWlFV3BCQVhVaEVpQUFLQUtFQVNJTFFRQktCSDhnQUNnQ2lBRWlCU2dDQUNFS0lBVW9BZ1FoQ1NBRktBSUlJUmhCLy8vLy93Y2hCd05BSUJRZ0NDQUthaTBBQUNJRlNnUi9JQVVnREd0QkFYUWlCaUFHYkNFTklBVWdGR3RCQVhRaUJTQUZiQVVDZnlBTUlBVklCRUFnQlNBVWEwRUJkQ0lHSUFac0lRMGdCU0FNYTBFQmRDSUZJQVZzREFFTElBNGdCVWdFUUNBRklCUnJRUUYwSWdVZ0JXd2hEUVVnQlNBTWEwRUJkQ0lGSUFWc0lRMExRUUFMQ3lFRklCVWdDQ0FKYWkwQUFDSUdTZ1IvSUFVZ0JpQVZhMEVEYkNJRklBVnNhaUVGSUFZZ0QydEJBMndpQmlBR2JBVUNmeUFQSUFaSUJFQWdCU0FHSUE5clFRTnNJZ1VnQld4cUlRVWdCaUFWYTBFRGJDSUdJQVpzREFFTElCQWdCa2dFZnlBR0lCVnJRUU5zSWdZZ0Jtd0ZJQVlnRDJ0QkEyd2lCaUFHYkFzTEN5RVRJQllnQ0NBWWFpMEFBQ0lHU2dSL0lBVWdCaUFXYXlJRklBVnNhaUVGSUFZZ0VXc2lCaUFHYkFVQ2Z5QVJJQVpJQkVBZ0JTQUdJQkZySWdVZ0JXeHFJUVVnQmlBV2F5SUdJQVpzREFFTElCSWdCa2dFZnlBR0lCWnJJZ1lnQm13RklBWWdFV3NpQmlBR2JBc0xDeUVHSUFoQkFuUWdCR29nQlRZQ0FDQU5JQk5xSUFacUlnVWdCeUFGSUFkSUd5RUhJQXNnQ0VFQmFpSUlSdzBBQzBFQUlRVkJBQ0VJQTM4Z0NFRUNkQ0FFYWlnQ0FDQUhUQVJBSUFVZ0dXb2dDRG9BQUNBRlFRRnFJUVVMSUFzZ0NFRUJhaUlJUncwQUlBVUxCVUVBQ3lFVElCY2hDQ0FFUWYvLy8vOEhOZ0lBSUFSQi8vLy8vd2MyQWdRZ0JFSC8vLy8vQnpZQ0NDQUVRZi8vLy84SE5nSU1JQVJCLy8vLy93YzJBaEFnQkVILy8vLy9CellDRkNBRVFmLy8vLzhITmdJWUlBUkIvLy8vL3djMkFod2dCRUgvLy8vL0J6WUNJQ0FFUWYvLy8vOEhOZ0lrSUFSQi8vLy8vd2MyQWlnZ0JFSC8vLy8vQnpZQ0xDQUVRZi8vLy84SE5nSXdJQVJCLy8vLy93YzJBalFnQkVILy8vLy9CellDT0NBRVFmLy8vLzhITmdJOElBUkJRR3RCLy8vLy93YzJBZ0FnQkVILy8vLy9CellDUkNBRVFmLy8vLzhITmdKSUlBUkIvLy8vL3djMkFrd2dCRUgvLy8vL0J6WUNVQ0FFUWYvLy8vOEhOZ0pVSUFSQi8vLy8vd2MyQWxnZ0JFSC8vLy8vQnpZQ1hDQUVRZi8vLy84SE5nSmdJQVJCLy8vLy93YzJBbVFnQkVILy8vLy9CellDYUNBRVFmLy8vLzhITmdKc0lBUkIvLy8vL3djMkFuQWdCRUgvLy8vL0J6WUNkQ0FFUWYvLy8vOEhOZ0o0SUFSQi8vLy8vd2MyQW53Z0JFSC8vLy8vQnpZQ2dBRWdCRUgvLy8vL0J6WUNoQUVnQkVILy8vLy9CellDaUFFZ0JFSC8vLy8vQnpZQ2pBRWdCRUgvLy8vL0J6WUNrQUVnQkVILy8vLy9CellDbEFFZ0JFSC8vLy8vQnpZQ21BRWdCRUgvLy8vL0J6WUNuQUVnQkVILy8vLy9CellDb0FFZ0JFSC8vLy8vQnpZQ3BBRWdCRUgvLy8vL0J6WUNxQUVnQkVILy8vLy9CellDckFFZ0JFSC8vLy8vQnpZQ3NBRWdCRUgvLy8vL0J6WUN0QUVnQkVILy8vLy9CellDdUFFZ0JFSC8vLy8vQnpZQ3ZBRWdCRUgvLy8vL0J6WUN3QUVnQkVILy8vLy9CellDeEFFZ0JFSC8vLy8vQnpZQ3lBRWdCRUgvLy8vL0J6WUN6QUVnQkVILy8vLy9CellDMEFFZ0JFSC8vLy8vQnpZQzFBRWdCRUgvLy8vL0J6WUMyQUVnQkVILy8vLy9CellDM0FFZ0JFSC8vLy8vQnpZQzRBRWdCRUgvLy8vL0J6WUM1QUVnQkVILy8vLy9CellDNkFFZ0JFSC8vLy8vQnpZQzdBRWdCRUgvLy8vL0J6WUM4QUVnQkVILy8vLy9CellDOUFFZ0JFSC8vLy8vQnpZQytBRWdCRUgvLy8vL0J6WUMvQUVnQkVILy8vLy9CellDZ0FJZ0JFSC8vLy8vQnpZQ2hBSWdCRUgvLy8vL0J6WUNpQUlnQkVILy8vLy9CellDakFJZ0JFSC8vLy8vQnpZQ2tBSWdCRUgvLy8vL0J6WUNsQUlnQkVILy8vLy9CellDbUFJZ0JFSC8vLy8vQnpZQ25BSWdCRUgvLy8vL0J6WUNvQUlnQkVILy8vLy9CellDcEFJZ0JFSC8vLy8vQnpZQ3FBSWdCRUgvLy8vL0J6WUNyQUlnQkVILy8vLy9CellDc0FJZ0JFSC8vLy8vQnpZQ3RBSWdCRUgvLy8vL0J6WUN1QUlnQkVILy8vLy9CellDdkFJZ0JFSC8vLy8vQnpZQ3dBSWdCRUgvLy8vL0J6WUN4QUlnQkVILy8vLy9CellDeUFJZ0JFSC8vLy8vQnpZQ3pBSWdCRUgvLy8vL0J6WUMwQUlnQkVILy8vLy9CellDMUFJZ0JFSC8vLy8vQnpZQzJBSWdCRUgvLy8vL0J6WUMzQUlnQkVILy8vLy9CellDNEFJZ0JFSC8vLy8vQnpZQzVBSWdCRUgvLy8vL0J6WUM2QUlnQkVILy8vLy9CellDN0FJZ0JFSC8vLy8vQnpZQzhBSWdCRUgvLy8vL0J6WUM5QUlnQkVILy8vLy9CellDK0FJZ0JFSC8vLy8vQnpZQy9BSWdCRUgvLy8vL0J6WUNnQU1nQkVILy8vLy9CellDaEFNZ0JFSC8vLy8vQnpZQ2lBTWdCRUgvLy8vL0J6WUNqQU1nQkVILy8vLy9CellDa0FNZ0JFSC8vLy8vQnpZQ2xBTWdCRUgvLy8vL0J6WUNtQU1nQkVILy8vLy9CellDbkFNZ0JFSC8vLy8vQnpZQ29BTWdCRUgvLy8vL0J6WUNwQU1nQkVILy8vLy9CellDcUFNZ0JFSC8vLy8vQnpZQ3JBTWdCRUgvLy8vL0J6WUNzQU1nQkVILy8vLy9CellDdEFNZ0JFSC8vLy8vQnpZQ3VBTWdCRUgvLy8vL0J6WUN2QU1nQkVILy8vLy9CellDd0FNZ0JFSC8vLy8vQnpZQ3hBTWdCRUgvLy8vL0J6WUN5QU1nQkVILy8vLy9CellDekFNZ0JFSC8vLy8vQnpZQzBBTWdCRUgvLy8vL0J6WUMxQU1nQkVILy8vLy9CellDMkFNZ0JFSC8vLy8vQnpZQzNBTWdCRUgvLy8vL0J6WUM0QU1nQkVILy8vLy9CellDNUFNZ0JFSC8vLy8vQnpZQzZBTWdCRUgvLy8vL0J6WUM3QU1nQkVILy8vLy9CellDOEFNZ0JFSC8vLy8vQnpZQzlBTWdCRUgvLy8vL0J6WUMrQU1nQkVILy8vLy9CellDL0FNZ0UwRUFTZ1JBUVFBaER3TkFJQlFnRHlBWmFpd0FBQ0lMUWY4QmNTSUhJQUFvQW9nQklnWW9BZ0JxTFFBQWF5SU5RUUYwSVF3Z0ZTQUhJQVlvQWdScUxRQUFheUlGUVFOc0lRb2dCVUhJQUd3aUJVR1FBV29oR0NBV0lBY2dCaWdDQ0dvdEFBQnJJZ2RCQkhRaUJrRkFheUVPSUFaQndBRnFJUkFnQmtIQUFtb2hFaUFGUWJBRGFpRWJJQVZCMEFWcUlSd2dCVUh3QjJvaEhTQUZRWkFLYWlFZUlBVkJzQXhxSVI4Z0JVSFFEbW9oSUVFRElSRWdEVUVHZEVHQUFtb2hEU0FNSUF4c0lBb2dDbXhxSUFjZ0IyeHFJUXdnQ0NFSElBUWhCUU5BSUF3Z0JTZ0NBRWdFUUNBRklBdzJBZ0FnQnlBTE9nQUFDeUFNSUE1cUlnb2dCU0lHS0FJRVNBUkFJQVlnQ2pZQ0JDQUhJQXM2QUFFTElBb2dFR29pQ2lBR0tBSUlTQVJBSUFZZ0NqWUNDQ0FISUFzNkFBSUxJQW9nRW1vaUNpQUdLQUlNU0FSQUlBWWdDallDRENBSElBczZBQU1MSUF3Z0dHb2lDaUFGS0FJUVNBUkFJQVVnQ2pZQ0VDQUhJQXM2QUFRTElBb2dEbW9pQ1NBR0tBSVVTQVJBSUFVZ0NUWUNGQ0FISUFzNkFBVUxJQWtnRUdvaUNTQUZLQUlZU0FSQUlBVWdDVFlDR0NBSElBczZBQVlMSUFrZ0Vtb2lDU0FGS0FJY1NBUkFJQVVnQ1RZQ0hDQUhJQXM2QUFjTElBb2dHMm9pQ2lBR0tBSWdTQVJBSUFZZ0NqWUNJQ0FISUFzNkFBZ0xJQW9nRG1vaUNTQUZLQUlrU0FSQUlBWWdDVFlDSkNBSElBczZBQWtMSUFrZ0VHb2lDU0FHS0FJb1NBUkFJQVlnQ1RZQ0tDQUhJQXM2QUFvTElBa2dFbW9pQ1NBR0tBSXNTQVJBSUFZZ0NUWUNMQ0FISUFzNkFBc0xJQW9nSEdvaUNpQUZLQUl3U0FSQUlBVWdDallDTUNBSElBczZBQXdMSUFvZ0Rtb2lCU0FHS0FJMFNBUkFJQVlnQlRZQ05DQUhJQXM2QUEwTElBVWdFR29pQlNBR0tBSTRTQVJBSUFZZ0JUWUNPQ0FISUFzNkFBNExJQVVnRW1vaUNTQUdJZ1VvQWp4SUJFQWdCU0FKTmdJOElBY2dDem9BRHdzZ0NpQWRhaUlLSUFWQlFHc2lCaWdDQUVnRVFDQUdJQW8yQWdBZ0J5QUxPZ0FRQ3lBS0lBNXFJZ2tnQlNJR0tBSkVTQVJBSUFZZ0NUWUNSQ0FISUFzNkFCRUxJQWtnRUdvaUNTQUdLQUpJU0FSQUlBWWdDVFlDU0NBSElBczZBQklMSUFrZ0Vtb2lDU0FHS0FKTVNBUkFJQVlnQ1RZQ1RDQUhJQXM2QUJNTElBb2dIbW9pQ2lBRktBSlFTQVJBSUFVZ0NqWUNVQ0FISUFzNkFCUUxJQW9nRG1vaUNTQUdLQUpVU0FSQUlBVWdDVFlDVkNBSElBczZBQlVMSUFrZ0VHb2lDU0FGS0FKWVNBUkFJQVVnQ1RZQ1dDQUhJQXM2QUJZTElBa2dFbW9pQ1NBRktBSmNTQVJBSUFVZ0NUWUNYQ0FISUFzNkFCY0xJQW9nSDJvaUNpQUdLQUpnU0FSQUlBWWdDallDWUNBSElBczZBQmdMSUFvZ0Rtb2lDU0FGS0FKa1NBUkFJQVlnQ1RZQ1pDQUhJQXM2QUJrTElBa2dFR29pQ1NBR0tBSm9TQVJBSUFZZ0NUWUNhQ0FISUFzNkFCb0xJQWtnRW1vaUNTQUdLQUpzU0FSQUlBWWdDVFlDYkNBSElBczZBQnNMSUFvZ0lHb2lDaUFGS0FKd1NBUkFJQVVnQ2pZQ2NDQUhJQXM2QUJ3TElBb2dEbW9pQlNBR0tBSjBTQVJBSUFZZ0JUWUNkQ0FISUFzNkFCMExJQVVnRUdvaUJTQUdLQUo0U0FSQUlBWWdCVFlDZUNBSElBczZBQjRMSUFVZ0Vtb2lCU0FHS0FKOFNBUkFJQVlnQlRZQ2ZDQUhJQXM2QUI4TElBWkJnQUZxSVFVZ0IwRWdhaUVISUF3Z0RXb2hEQ0FOUVlBRWFpRU5JQkZCZjJvaEJpQVJCRUFnQmlFUkRBRUxDeUFQUVFGcUlnOGdFMGNOQUFzTElBRkJmSEVoQnlBRFFYeHhJUUVnQWtGNGNTSURRUUZ5SVFZZ0EwRUNjaUVNSUFOQkEzSWhEeUFEUVFSeUlSRWdBMEVGY2lFTklBTkJCbkloQkNBQ1FRZHlJUk5CQUNFQUEwQWdBQ0FIYWtFQ2RDQWFhaUlMS0FJQUlnSWdBMEVHZEdvZ0FVRUJkR29pQlNBSUxRQUFRUUZxT3dFQUlBVWdDQzBBQVVFQmFqc0JBaUFGSUFndEFBSkJBV283QVFRZ0JTQUlMUUFEUVFGcU93RUdJQVpCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFFUVFGcU93RUFJQVVnQ0MwQUJVRUJhanNCQWlBRklBZ3RBQVpCQVdvN0FRUWdCU0FJTFFBSFFRRnFPd0VHSUF4QkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBSVFRRnFPd0VBSUFVZ0NDMEFDVUVCYWpzQkFpQUZJQWd0QUFwQkFXbzdBUVFnQlNBSUxRQUxRUUZxT3dFR0lBOUJCblFnQW1vZ0FVRUJkR29pQWlBSUxRQU1RUUZxT3dFQUlBSWdDQzBBRFVFQmFqc0JBaUFDSUFndEFBNUJBV283QVFRZ0FpQUlMUUFQUVFGcU93RUdJQXNvQWdBaUFpQVJRUVowYWlBQlFRRjBhaUlGSUFndEFCQkJBV283QVFBZ0JTQUlMUUFSUVFGcU93RUNJQVVnQ0MwQUVrRUJhanNCQkNBRklBZ3RBQk5CQVdvN0FRWWdEVUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQlJCQVdvN0FRQWdCU0FJTFFBVlFRRnFPd0VDSUFVZ0NDMEFGa0VCYWpzQkJDQUZJQWd0QUJkQkFXbzdBUVlnQkVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJoQkFXbzdBUUFnQlNBSUxRQVpRUUZxT3dFQ0lBVWdDQzBBR2tFQmFqc0JCQ0FGSUFndEFCdEJBV283QVFZZ0UwRUdkQ0FDYWlBQlFRRjBhaUlDSUFndEFCeEJBV283QVFBZ0FpQUlMUUFkUVFGcU93RUNJQUlnQ0MwQUhrRUJhanNCQkNBQ0lBZ3RBQjlCQVdvN0FRWWdDRUVnYWlFSUlBQkJBV29pQUVFRVJ3MEFDeUFYSkFZTE5BRUJmeUFBS0FJRUlBRW9BZ2dRcFFNaUFnUkFJQUlnQUNBQkVKd0RRUUJJQkVBZ0FoQkpRUUFoQWdzRlFRQWhBZ3NnQWd2U0F3RURmeUFBS0FJRUtBSUFJUUVnQUNnQzVBTWdBRUVCUWZ3UElBRkJQM0ZCeWdGcUVRUUFJZ0JCL0FkcUlnSTJBaWdnQWtFQU5nSUFJQUJCZ0FocVFRRTJBZ0FnQUVGL05nTDRCeUFBUVlRSWFrRUNOZ0lBSUFCQmZqWUM5QWNnQUVHSUNHcEJBellDQUNBQVFYMDJBdkFISUFCQmpBaHFRUVEyQWdBZ0FFRjhOZ0xzQnlBQVFaQUlha0VGTmdJQUlBQkJlellDNkFjZ0FFR1VDR3BCQmpZQ0FDQUFRWG8yQXVRSElBQkJtQWhxUVFjMkFnQWdBRUY1TmdMZ0J5QUFRWndJYWtFSU5nSUFJQUJCZURZQzNBY2dBRUdnQ0dwQkNUWUNBQ0FBUVhjMkF0Z0hJQUJCcEFocVFRbzJBZ0FnQUVGMk5nTFVCeUFBUWFnSWFrRUxOZ0lBSUFCQmRUWUMwQWNnQUVHc0NHcEJERFlDQUNBQVFYUTJBc3dISUFCQnNBaHFRUTAyQWdBZ0FFRnpOZ0xJQnlBQVFiUUlha0VPTmdJQUlBQkJjallDeEFjZ0FFRzRDR3BCRHpZQ0FDQUFRWEUyQXNBSFFSQWhBRUVRSVFFRFFDQUFRUUowSUFKcUlBRTJBZ0JCQUNBQWEwRUNkQ0FDYWtFQUlBRnJOZ0lBSUFFZ0FFRUJhaUlBUVFGeFFRRnphaUVCSUFCQk1FY05BQXRCQUNBQmF5RURRVEFoQUFOQUlBQkJBblFnQW1vZ0FUWUNBRUVBSUFCclFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFZQUNSdzBBQ3d0QkFRSi9RUXdRUkNJQ0JFQWdBaUFCSUFCQkFuUnNFRVFpQXpZQ0FDQURCRUFnQWlBQU5nSUVJQUlnQVRZQ0NBVWdBaEE0UVFBaEFnc0ZRUUFoQWdzZ0FndmNBUUVDZndKQUlBQW9BclFDRFFBQ1FDQUFLQUlvUVFOckRnVUFBUUVCQUFFTElBQW9BaVJCQTBjTkFDQUFLQUlzUVFKSERRQWdBQ2dDZUVFRFJ3MEFJQUFvQXJBQ0RRQWdBQ2dDMkFFaUFTZ0NDRUVDUncwQUlBRW9BbUJCQVVjTkFDQUJLQUs0QVVFQlJ3MEFJQUVvQWd4QkFrb05BQ0FCS0FKa1FRRkhEUUFnQVNnQ3ZBRkJBVWNOQUNBQktBSWtJZ0lnQUNnQ3hBSkhEUUFnQVNnQ2ZDQUNSdzBBSUFFb0F0UUJJQUpIRFFBZ0FTZ0NLQ0lDSUFBb0FzZ0NSdzBBSUFJZ0FTZ0NnQUZHQkg4Z0FpQUJLQUxZQVVZRlFRQUxEd3RCQUF2akJnRUdmd0pBSUFBb0F0UUNJZ0ZCQVVZRVFDQUFJQUFvQXRnQ0lnRW9BaHcyQXVnQ0lBQWdBU2dDSUNJRE5nTHNBaUFCUVFFMkFqZ2dBVUVCTmdJOElBRkJRR3RCQVRZQ0FDQUJJQUVvQWlRMkFrUWdBVUVCTmdKSUlBTWdBU2dDRENJQ0VFNGhBeUFCSUFNZ0FpQURHellDVENBQVFRRTJBdkFDSUFCQkFEWUM5QUpCQVNFQkJTQUJRWDlxUVFOTEJFQWdBQ2dDQUNJRFFSczJBaFFnQXlBQk5nSVlJQUFvQWdCQkJEWUNIQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFnQUNnQ0hDQUFLQUs4QWlBQUtBS3NBMndRYURZQzZBSWdBQ0FBS0FJZ0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdMc0FpQUFRUUEyQXZBQ0lBQW9BdFFDUVFCTURRRkJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ0NDRUVJQUlnQkRZQ09DQUNJQUlvQWd3aUJUWUNQQ0FDUVVCcklBUWdCV3dpQVRZQ0FDQUNJQVFnQWlnQ0pHdzJBa1FnQWlBRUlBSW9BaHdnQkJCT0lnUWdCRVViTmdKSUlBSWdBaWdDSUNBRkVFNGlBaUFGSUFJYk5nSk1JQUVnQm1wQkNrb0VRQ0FBS0FJQUlnSkJEallDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUZCQUVvRVFBTkFJQUZCZjJvaEFpQUFJQUFvQXZBQ0lnUkJBV28yQXZBQ0lBQkI5QUpxSUFSQkFuUnFJQU0yQWdBZ0FVRUJTZ1JBSUFJaEFRd0JDd3NMSUFOQkFXb2lBeUFBS0FMVUFpSUJTQVJBSUFBb0F2QUNJUVlNQVFzTElBRkJBRXdOQVF0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDVUVVRVFDQUFRYVFCYWlBQ0tBSVFJZ0ZCQW5ScUlRUUNRQUpBSUFGQkEwc05BQ0FFS0FJQVJRMEFEQUVMSUFBb0FnQWlCVUUyTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQVFRRkJoQUVnQVVFL2NVSEtBV29SQkFBaUFTQUVLQUlBUVlRQkVFd2FJQUlnQVRZQ1VDQUFLQUxVQWlFQkN5QURRUUZxSWdNZ0FVZ05BQXNnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFEd3NnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFDOG9CQVFKL0l3WWhCQ01HUVRCcUpBWWdCRUVZYWlJRlFRZzJBZ1FnQlVFQk5nSUlJQVVnQURZQ0FDQUVRUXhxSWdBZ0F6WUNCQ0FBUVFFMkFnZ2dBQ0FCTmdJQUlBUWdBellDQkNBRVFRZzJBZ2dnQkNBQ05nSUFJQVFRdXdVaUFnUkFJQUlnQkJDakF5SUJCRUFnQWlBQUVLTURJZ01FUUNBQktBSUFJQUVvQWdRaUFDQUFFUFlFUlVFZmRFRWZkVUVBU0FSL1FYOEZJQVVnQVNBREVKd0RHa0VBQ3lFQUlBTVFTUVZCZnlFQUN5QUJFRWtGUVg4aEFBc2dBaEJKQlVGL0lRQUxJQVFrQmlBQUMxa0JBWDhnQUNnQzJBRWlBUVJBSUFFUXZ3Y2dBQ2dDMkFFUWh3a2dBRUVBTmdMWUFRc2dBRUhrQVdvaUFTZ0NBQVJBSUFFUXB3a2dBVUVBTmdJQUN5QUFRY0FCYWlJQUtBSUFCRUFnQUJDekN5QUFRUUEyQWdBTEMzTUJBMzhqQmlFQ0l3WkJFR29rQmlBQ1FRaHFJUU1nQVJEUENTSUVCRUFnQUNBRUVPRUdJUUFnQkJBNEJTQUNJQUUyQWdCQkFFRURRWkdxQVNBQ0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVg4aEFBc2dBaVFHSUFBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUWJERUF5Z0NBQ0VDUWJERUF5QUJOZ0lBSUFJRVFFRzB4QU1vQWdBYUlBSVFPQXRCdE1RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFiREVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJ1TVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHd3hBTW9BZ0FnQlVFQ2RHcEJ1TVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRYkRFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHd3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJzTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFiREVBeWdDQUNFQVFiREVBMEVBTmdJQUlBQUVRRUcweEFNb0FnQWFJQUFRT0F0QnRNUURRUUEyQWdBTEM2b0VBZ2wvQW4wakJpRUZJd1pCSUdva0JpQUZRUVJxSVFRZ0JTQUFOZ0lBSUFBb0FnQWhBd0pBQWtCQnRNUURLQUlBSWdGRklna0VRRUVBSVFBTUFRVWdBU0FCUVg5cUlnaHhSU0lIQkg4Z0F5QUljUVVnQXlBQlNRUi9JQU1GSUFNZ0FSQk9Dd3NpQUVFQ2RFR3d4QU1vQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FIQkg4Z0JpQUljUVVnQmlBQlR3Ui9JQVlnQVJCT0JTQUdDd3NnQUVjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVFnQXlBRkVOOEdRY0RFQXlvQ0FDSUtJQUd6bEVHOHhBTW9BZ0JCQVdxeklndGRJQWx5QkVBQ2Z5QUxJQXFWalJDU0FTSUNJQUZCZjJvZ0FYRkJBRWNnQVVFRFNYSWdBVUVCZEhJaUFDQUFJQUpKR3hEZUJrRzB4QU1vQWdBaUFrRi9haUlBSUFOeElBQWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRQUZJQUVoQWd0QnNNUURLQUlBSUFCQkFuUnFLQUlBSWdFRWZ5QUVLQUlBSUFFb0FnQTJBZ0FnQVNBRUtBSUFOZ0lBSUFRRklBUW9BZ0JCdU1RREtBSUFOZ0lBUWJqRUF5QUVLQUlBTmdJQVFiREVBeWdDQUNBQVFRSjBha0c0eEFNMkFnQWdCQ2dDQUNJSEtBSUFJZ0FFUUNBQUtBSUVJUUFnQWlBQ1FYOXFJZ0Z4Qkg4Z0FDQUNUd1IvSUFBZ0FoQk9CU0FBQ3dVZ0FDQUJjUXNoQUVHd3hBTW9BZ0FnQUVFQ2RHb2dCellDQUFzZ0JBc2lBQ2dDQUNFQ1FiekVBMEc4eEFNb0FnQkJBV28yQWdBZ0FFRUFOZ0lBQ3lBRkpBWWdBa0VRYWdza0FRRi9JQUVvQWdBaEFpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FVRUVhaUFDRUg0TEVRQWdBU0FBUWY4QmNVR3NBMm9SQVFBTEVnQWdBU0FDSUFCQkEzRkJyQVZxRVJvQUN4SUFJQUVnQWlBQVFUOXhRYklGYWhFREFBc1NBQ0FCSUFJZ0FFRUJjVUd3QldvUkpnQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFaekVBeWdDQUNFQ1FaekVBeUFCTmdJQUlBSUVRRUdneEFNb0FnQWFJQUlRT0F0Qm9NUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRWnpFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCcE1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR2N4QU1vQWdBZ0JVRUNkR3BCcE1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUVp6RUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR2N4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCbk1RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRWnpFQXlnQ0FDRUFRWnpFQTBFQU5nSUFJQUFFUUVHZ3hBTW9BZ0FhSUFBUU9BdEJvTVFEUVFBMkFnQUxDeE1BSUFCQnlBSnFFRlVnQUVHZ0Ftb1E1UVlMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFaU0hBVUhSdHdKQkFTQUJFQWtnQXdza0JndmdIUUlhZndGK0l3WWhCQ01HUWRBU2FpUUdJQVJCa0JKcUlSRWdCRUh3Qm1vaENDQUVRYUFHYWlFUElBUkIwQVZxSVJBZ0JFR0FCV29oRWlBRVFiQUVhaUVUSUFSQk1Hb2hGeUFFSVJZQ2Z3Si9BbjhDUUFKQUFrQUNRQUpBQWtBQ1FDQUFRWVFHYXc2TEVBRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVDQXdVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRUUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFBRkN5QUNJUkZCb0JFaENVR2dEU0VMUWZnQUlRMUIvd0FoREVFSklSUkJ3QUFNQnd0QjRBd2hDVUdnQ3lFTFFRMGhEVUVKSVFCQkFTRUNRUThNQlF0QjRBd2hDVUdnQ3lFTFFRMGhEVUVGSVFCQkFpRUNRUThNQkF0QkRDRUFRUUloQWd3Q0MwRUhJUUJCQXlFQ0RBRUxRWDhNQXd0QjRBc2hDVUdnQ2lFTFFSWWhEVUVmQ3lFTVFRQWhCQU4vSUFRZ0RVWUVmeUFDSVJRZ0FBVWdCQ0FSYWlBQnAwRUJjVG9BQUNBRVFRRnFJUVFnQVVJQmlDRUJEQUVMQ3dzaEdDQVVRUUYwSVJWQkFTRUNBMEFnQWlBVlRBUkFJQUpCQW5RZ0Uyb2lCa0VBTmdJQVFRQWhCRUVBSVFBRFFDQUVJQTFJQkVBZ0JDQVJhaXdBQUFSQUlBWWdBaUFFYkNBTUVFOUJBblFnQzJvb0FnQWdBSE1pQURZQ0FBc2dCRUVCYWlFRURBRUxDeUFHSUFCQkFuUWdDV29vQWdBMkFnQkJBU0FGSUFBYklRVWdBa0VCYWlFQ0RBRUxDeUFGUVFCSEloa0VRQ0FQUVFBMkFnQWdEeUFUS0FJRUlnVTJBZ1FnQ0VFQU5nSUFJQWhCQVRZQ1NFRUJJUUFEUUNBQUlCVklCRUFnQUVFQ2RDQUlha0YvTmdJQUlBaEJ5QUJxSUFCQkFuUnFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QVFRUUEyQWdBZ0VFRUFOZ0lFSUJKQmZ6WUNBQ0FTUVFBMkFnUkJBQ0VFUVFBaEFnTkFBa0FnQkVFQmFpRUtJQVZCZjBZRVFDQUVRUUpxSWdSQkFuUWdFR29nQWpZQ0FFRUFJUUFEUUNBQUlBSk1CRUFnQkVISUFHd2dDR29nQUVFQ2RHb2dDa0hJQUd3Z0NHb2dBRUVDZEdvaUJTZ0NBQ0lHTmdJQUlBVWdCa0VDZENBSmFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTEJTQUVJUUFEUUNBQVFYOXFJUVlnQUVFQVNpSUhJQUJCQW5RZ0Qyb29BZ0JCZjBaeEJFQWdCaUVBREFFTEN5QUhCRUFnQUNFR0EwQWdCa0YvYWlJSFFRSjBJQTlxS0FJQVFYOUhCRUFnQnlBQUlBQkJBblFnRW1vb0FnQWdCMEVDZENBU2FpZ0NBRWdiSVFBTElBWkJBVW9FUUNBSElRWU1BUXNMQ3lBRVFRSnFJZ1JCQW5RZ0VHb2dBaUFLSUFCcklob2dBRUVDZENBUWFpSU9LQUlBYWlJR0lBSWdCa29iSWdZMkFnQkJBQ0VIQTBBZ0J5QVZTQVJBSUFSQnlBQnNJQWhxSUFkQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEN5QUZJQXhxSVFjZ0FFRUNkQ0FQYWlFYklBNG9BZ0FoRGtFQUlRVURRQ0FGSUE1TUJFQWdBRUhJQUd3Z0NHb2dCVUVDZEdvb0FnQWlIRUYvUndSQUlBUkJ5QUJzSUFocUlBVWdHbXBCQW5ScUlBY2dIR29nR3lnQ0FHc2dEQkJQUVFKMElBdHFLQUlBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUFoQUFOL0lBQWdBa29FZnlBR0JTQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBcEJ5QUJzSUFocUlBQkJBblJxSWdjb0FnQWlEaUFGS0FJQWN6WUNBQ0FISUE1QkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDeUVDQ3lBRVFRSjBJQkpxSUFvZ0FtczJBZ0FnQ2lBVlRnMEFJQVJCQW5RZ0Qyb2lCaUFFUVFKMElCTnFLQUlBSWdCQmYwWUVmMEVBQlNBQVFRSjBJQXRxS0FJQUN5SUFOZ0lBUVFFaEJRTkFJQVVnQWt3RVFDQUVJQVZyUVFKMElCTnFLQUlBSWdkQmYwY0VRQ0FFUWNnQWJDQUlhaUFGUVFKMGFpZ0NBQ0lPQkVBZ0JpQUhJQTVCQW5RZ0NXb29BZ0JxSUF3UVQwRUNkQ0FMYWlnQ0FDQUFjeUlBTmdJQUN3c2dCVUVCYWlFRkRBRUxDeUFHSUFCQkFuUWdDV29vQWdBaUJUWUNBQ0FDSUJSTUJFQWdDaUVFREFJTEN3dEJmeUFDSUJSS0RRRWFRUUFoQUFOQUlBQWdBa3dFUUNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFVb0FnQkJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQzBFQklRQURRQ0FBSUFKTUJFQWdBRUVDZENBV2FpQUVRY2dBYkNBSWFpQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMUVFBaEFFRUJJUW9EUUNBTUlBcE9CRUJCQVNFR1FRRWhCUU5BSUFZZ0Frd0VRQ0FHUVFKMElCWnFJZ2NvQWdBaUNVRi9Sd1JBSUFjZ0JpQUphaUFNRUU4aUJ6WUNBQ0FGSUFkQkFuUWdDMm9vQWdCeklRVUxJQVpCQVdvaEJnd0JDd3NnQlVVRVFDQUFRUUowSUJkcUlBd2dDbXMyQWdBZ0FFRUJhaUVBQ3lBS1FRRnFJUW9NQVFzTFFYOGdBQ0FDUncwQkdrRUFJUUFEUUNBQUlBSklCRUFnRVNBQVFRSjBJQmRxS0FJQWFpSUZJQVVzQUFCQkFYTTZBQUFnQUVFQmFpRUFEQUVMQ3dWQkFDRUVDeUFEUWdBM0F3QkNBU0VlSUEwZ0dHc2hBRUlBSVFFRFFDQUFJQTFJQkVBZ0F5QWVJQUFnRVdvdEFBQ3RmaUFCZkNJQk53TUFJQjVDQVlZaEhpQUFRUUZxSVFBTUFRc0xJQmtFZnlBRVFRSjBJQkJxS0FJQUJVRUFDd3NoSFNBV0pBWWdIUXZKQ0FJTGZ3TjhJd1loRGlNR1FSQnFKQVlnRGtFSWFpRUhJQUJGSUFOQkFVaHlCSDhnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BUVg4RkFuOENRQUpBQWtBZ0FRNENBQUVDQ3lBRElBTnNJZ0ZCREd3UVJDSUtSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQVVFRGJDRUxRUUFoQjBFQUlRRURRQ0FISUF0SEJFQWdBU0FDSUFkcUxBQUFRWDl6UWY4QmNXb2hBU0FIUVFGcUlRY01BUXNMSUFFZ0N4QklJUWxCQUNFSFFRQWhBUU5BSUFFZ0MwY0VRQ0FCUVFKMElBcHFJQUVnQW1vc0FBQkJmM05CL3dGeElBbHJJZ2cyQWdBZ0J5QUlJQWhzYWlFSElBRkJBV29oQVF3QkN3c2dCN2VmSWhNZ0E3ZEVrU3RRNW5xMit6K2lvMFFBQUFBQUFBQXVRR01FUUNBRVFRQTJBZ0FnQlVFQU5nSUFJQVpFQUFBQUFBQUE4TDg1QXdBZ0NoQTRRWDRNQXdzZ0FDZ0NBQ0VQUVFBaENVRi9JUU5CZnlFQlFYOGhBZ05BSUFrZ0QwZ0VRQ0FBS0FJSUlRY0NRQUpBQTBBQ1FDQURRUUZxSWdOQkFuUWdCMm9vQWdBT0F3RUNBQUlMQ3d3QkN5QURRUUowSVJCQkFDRUhBMEFnQjBFRVJ3UkFJQWNnRUdvaERVRUFJUXhCQUNFSUEwQWdDQ0FMUndSQUlBd2dDRUVDZENBS2FpZ0NBQ0FBS0FJTUlBMUJBblJxS0FJQUlBaEJBblJxS0FJQWJHb2hEQ0FJUVFGcUlRZ01BUXNMSUFjZ0FpQU10eUFBS0FJUUlBMUJBM1JxS3dNQW95QVRveUlVSUJKa0lnZ2JJUUlnQjBFQmFpRUhJQlFnRWlBSUd5RVNJQU1nQVNBSUd5RUJEQUVMQ3dzZ0NVRUJhaUVKREFFTEN5QUZJQUkyQWdBZ0JDQUJOZ0lBSUFZZ0Vqa0RBQ0FLRURoQkFBd0NDeUFESUFOc0lncEJBblFRUkNJTFJRUkFRUUJCQTBHNTJBSWdCeEE5UVFFUUFRdEJBQ0VIUVFBaEFRTkFJQUVnQ2tjRVFDQUhJQUVnQW1vc0FBQkJmM05CL3dGeGFpRUhJQUZCQVdvaEFRd0JDd3NnQnlBS0VFZ2hDVUVBSVFkQkFDRUJBMEFnQVNBS1J3UkFJQUZCQW5RZ0Myb2dBU0FDYWl3QUFFRi9jMEgvQVhFZ0NXc2lDRFlDQUNBSElBZ2dDR3hxSVFjZ0FVRUJhaUVCREFFTEN5QUh0NThpRXlBRHQ2TkVBQUFBQUFBQUxrQmpCRUFnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BSUFzUU9FRitEQUlMSUFBb0FnQWhEMEVBSVFsQmZ5RURRWDhoQVVGL0lRSURRQ0FKSUE5SUJFQWdBQ2dDQ0NFSEFrQUNRQU5BQWtBZ0EwRUJhaUlEUVFKMElBZHFLQUlBRGdNQkFnQUNDd3NNQVFzZ0EwRUNkQ0VRUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQkJxSVExQkFDRU1RUUFoQ0FOQUlBZ2dDa2NFUUNBTUlBaEJBblFnQzJvb0FnQWdBQ2dDRkNBTlFRSjBhaWdDQUNBSVFRSjBhaWdDQUd4cUlRd2dDRUVCYWlFSURBRUxDeUFISUFJZ0RMY2dBQ2dDR0NBTlFRTjBhaXNEQUtNZ0U2TWlGQ0FTWkNJSUd5RUNJQWRCQVdvaEJ5QVVJQklnQ0JzaEVpQURJQUVnQ0JzaEFRd0JDd3NMSUFsQkFXb2hDUXdCQ3dzZ0JTQUNOZ0lBSUFRZ0FUWUNBQ0FHSUJJNUF3QWdDeEE0UVFBTUFRdEJmd3NMSVJFZ0RpUUdJQkVMVkFFQmZ5TUdJUU1qQmtFd2FpUUdJQU1nQWpZQ0FDQURRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQU5CSEdvaUFTQUNJQU1Rb1FjZ0FDQUJFS0lISUFFUVJ5QUNFRWNnQXlRR0Mzd0JBWDhqQmlFR0l3WkJFR29rQmlBQUlBSTJBZ0FnQUNBRE5nSUVJQUFnQkRZQ0NDQUFRUUUyQWhBZ0FDQUVJQVZzTmdJVUlBWkJBRFlDQUNBR1FRUnFJQVlzQUF3NkFBQWdCa0VJYWlBR0tBSUFOZ0lBSUFCQkdHb2dBUkNsQnlBQUlBVkJBRWdFZnlBQ0VMa0RJQU5zQlNBRkN6WUNEQ0FHSkFZTGFnRUNmeU1HSVFFakJrRVFhaVFHQWtBQ1FBSkFBa0FnQUVFQmF3NENBQUVDQ3lBQUlRSU1BZ3RCQkNFQ0RBRUxRUkFRQlNFQUlBRkNBRGNDQUNBQlFRQTJBZ2dnQVVIa29BSkI1S0FDRUdBUWZpQUFJQUVRaGdJZ0FFR0k4Z0JCQlJBRUN5QUJKQVlnQWdzZUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ0xSd0VDZnlNR0lRRWpCa0dRQW1va0JpQUJRWUFDYWlJQ0VCTWFJQUZCZ0FKQnZKd0NJQUlRSWhBZ0dpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FTQUJFR0FRZmlBQkpBWUxPZ0VDZnlNR0lRSWpCa0VRYWlRR0lBRWdBQ2dDQUd3aEF5QUNRUUE2QUFBZ0FFRUVhaUFESUFJUXJnY2dBRUVRYWlBQkVORURJQUlrQmd0TkFRSi9JQUFvQWd3RVFDQUFLQUlJRUw0RElBQkJBRFlDQ0NBQUtBSUVJUUlEUUNBQklBSkhCRUFnQUNnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQUVFQU5nSU1Dd3NkQVFKL0EwQWdBQVJBSUFBb0FnQWhBaUFBRURnZ0FpRUFEQUVMQ3d1SEFnRUhmeU1HSVFjakJrRVFhaVFHSUFJb0FnQWlCaUFBS0FJQUlnaHJJUUFnQVVFQ1RnUkFJQUZCZm1wQkFoQTVJZ2tnQUVFRGRVNEVRQ0FBUVFKMVFRRnlJZ05CQTNRZ0NHb2lCQ0VBSUFOQkFXb2lCU0FCU0FSQUlBVWdBeUFFSUFSQkNHb2lCQkRCQVNJRkd5RURJQVFnQUNBRkd5RUFDeUFBSUFZUXdRRkZCRUFnQnlBR0tRSUFOd01BQTBBQ1FDQUdJQUFpQmlrQ0FEY0NBQ0FDSUFBMkFnQWdDU0FEU0EwQUlBTkJBWFJCQVhJaUEwRURkQ0FJYWlJRUlRQWdBMEVCYWlJRklBRklCRUFnQlNBRElBUWdCRUVJYWlJRUVNRUJJZ1ViSVFNZ0JDQUFJQVViSVFBTElBQWdCeERCQVVVTkFRc0xJQVlnQnlrREFEY0NBQXNMQ3lBSEpBWUxDQUFnQUVIOEFHb0xYUUVCZjBILy8vLy9BU0FCU1FSQUVBQUxJQUZCLy8vLy93RkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBM1FRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQTNRZ0FtbzJBZ2dMQ3hBQUlBQkNBRGNDQUNBQVFRQTJBZ2dMYlFBZ0FDb0NBQ0FCS2dJQWxDQUFLZ0lFSUFFcUFnU1VraUFBS2dJSUlBRXFBZ2lVa2lBQUtnSU1JQUVxQWd5VWtpQUFLZ0lRSUFFcUFoQ1VraUFBS2dJVUlBRXFBaFNVa2lBQUtnSVlJQUVxQWhpVWtpQUFLZ0ljSUFFcUFoeVVraUFBS2dJZ0lBRXFBaUNVa2d2VkFnRUpmU0FGSUFZcUFnQWdCeW9DQUpJZ0NDb0NBSklnQ1NvQ0FKSkRBQUNBUHBRaUNqZ0NBQ0FGSUFZcUFnUWdCeW9DQkpJZ0NDb0NCSklnQ1NvQ0JKSkRBQUNBUHBRaUN6Z0NCQ0FHS2dJQUlBcVRJZzBnRFpRZ0Jpb0NCQ0FMa3lJT0lBNlVrcEVnQnlvQ0FDQUtreUlQSUErVUlBY3FBZ1FnQzVNaUVDQVFsSktSa2lBSUtnSUFJQXFUSWhFZ0VaUWdDQ29DQkNBTGt5SVNJQktVa3BHU0lBa3FBZ0FnQ3BNaUNpQUtsQ0FKS2dJRUlBdVRJZ3NnQzVTU2taSkRBQUNBUHBRaURFTUFBQUFBV3dSL1FRQUZJQVJEQUFDQVB5QU1sYnRFelR0L1pwNmc5aitpdGlJTU9BSUFJQUFnRFNBTWxEZ0NBQ0FBSUE0Z0JDb0NBSlE0QWdRZ0FTQVBJQVFxQWdDVU9BSUFJQUVnRUNBRUtnSUFsRGdDQkNBQ0lCRWdCQ29DQUpRNEFnQWdBaUFTSUFRcUFnQ1VPQUlFSUFNZ0NpQUVLZ0lBbERnQ0FDQURJQXNnQkNvQ0FKUTRBZ1JCQVFzTERBQWdBQ0FCS1FJQU53SUFDeW9BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBRUVRQ0FBSUFFUXdRTWdBQ0FCRU5vSEN3dHBBUVI5SUFBcUFoQWdBQ29DRkNBQUtnSWNJQUFxQWlBUWdBRWhCQ0FBS2dJTUlBQXFBaFFnQUNvQ0dDQUFLZ0lnRUlBQklRSWdBQ29DRENBQUtnSVFJQUFxQWhnZ0FDb0NIQkNBQVNFRElBUWdBQ29DQUpRZ0FpQUFLZ0lFbEpNZ0F5QUFLZ0lJbEpJTHRnSUJBWDBnQVJESEF5SURpeUFDWHdSL1FRQUZJQUJEQUFDQVB5QURsU0lDSUFFcUFoQWdBU29DRkNBQktnSWNJQUVxQWlBUWdBR1VPQUlBSUFBZ0FpQUJLZ0lJSUFFcUFnUWdBU29DSUNBQktnSWNFSUFCbERnQ0JDQUFJQUlnQVNvQ0JDQUJLZ0lJSUFFcUFoQWdBU29DRkJDQUFaUTRBZ2dnQUNBQ0lBRXFBaFFnQVNvQ0RDQUJLZ0lnSUFFcUFoZ1FnQUdVT0FJTUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0dDQUJLZ0lnRUlBQmxEZ0NFQ0FBSUFJZ0FTb0NDQ0FCS2dJQUlBRXFBaFFnQVNvQ0RCQ0FBWlE0QWhRZ0FDQUNJQUVxQWd3Z0FTb0NFQ0FCS2dJWUlBRXFBaHdRZ0FHVU9BSVlJQUFnQWlBQktnSUVJQUVxQWdBZ0FTb0NIQ0FCS2dJWUVJQUJsRGdDSENBQUlBSWdBU29DQUNBQktnSUVJQUVxQWd3Z0FTb0NFQkNBQVpRNEFpQkJBUXNMaXdJQkJYOGpCaUVJSXdaQkVHb2tCaUFGRUdraEJTQUFJQVFvQWdRZ0JDZ0NBR3RCQTNVUWdBSWdDRUVFYWlFS0EwQWdCaUFFS0FJRUlBUW9BZ0FpQjJ0QkEzVkpCRUFnQ0NBS0lBRWdBeWdDQUNJSklBWkJBM1FnQjJvb0FnUWlCMEVVYkdvcUFnQWdCMEVVYkNBSmFpb0NCQkM5QWlBSUtnSUFJQUlvQWdBZ0JDZ0NBQ0FHUVFOMGFpZ0NBRUVVYkdvcUFnQ1RFR2tnQ2lvQ0FDQUNLQUlBSUFRb0FnQWdCa0VEZEdvb0FnQkJGR3hxS2dJRWt4QnBraUFGWHdSQUlBUW9BZ0FnQmtFRGRHb2hCeUFBS0FJRUlna2dBQ2dDQ0VZRVFDQUFJQWNRbGdFRklBa2dCeWtDQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FMQ3lBR1FRRnFJUVlNQVFzTElBZ2tCZ3ZwQWdJSmZ3RjlJd1loQnlNR1FVQnJKQVlnQjBFc2FpSUxJQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdCMEVnYWlJTUlBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0F5Z0NCQ0FES0FJQUlnTnJRUU4xSVEwZ0FTZ0NBQ0VPSUF3b0FnQWhDU0FDS0FJQUlRSWdDeWdDQUNFS0EwQWdDQ0FOUndSQUlBaEJBM1FnQ1dvZ0NFRURkQ0FEYWlnQ0FDSUJRUlJzSUE1cUtBSUFOZ0lBSUFoQkEzUWdDV29nQVVFVWJDQU9haWdDQkRZQ0JDQUlRUU4wSUFwcUlBaEJBM1FnQTJvb0FnUWlBVUVVYkNBQ2FpZ0NBRFlDQUNBSVFRTjBJQXBxSUFGQkZHd2dBbW9vQWdRMkFnUWdDRUVCYWlFSURBRUxDeUFIUXdBQUFBQTRBZ0FnQjBNQUFBQUFPQUlFSUFjZ0JiSWlFRGdDQ0NBSFF3QUFBQUE0QWd3Z0J5QVFPQUlRSUFjZ0JySWlFRGdDRkNBSFF3QUFBQUE0QWhnZ0J5QVFPQUljSUFRZ0FDQUtJQWtnRFNBSEVQd0hCSDhnQUNBRklBWVErd2NGUVFBTElROGdEQkJWSUFzUVZTQUhKQVlnRHd2OEF3RUtmeU1HSVFRakJrRXdhaVFHSUFSQklHb2hCU0FCSUFSQkRHb2dCRUVJYWlBRVFRUnFJQVFnQXhEWEJ5QUFJQUFvQWdBMkFnUWdBVUh3QUdvaERTQUJFTUFESWdNb0FnUWdBeWdDQUd0QkFuVWlDeUFDS0FJRUlBSW9BZ0JyUVFOMVN3UkFJQVZCd01nRFFaYUlBaEEzUVpENUFSQTNRZStpQWhBM1FkWUNFRDVCOXFJQ0VEZEJ4SWdDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFVUVBDQURJQVlRUUNBREVEOFFBQXNnQkVFY2FpRUdJQVJCR0dvaENDQUVRUlJxSVFrZ0JFRVFhaUVLSUEwb0FnQWhBMEVBSVFVRFFDQUZJQXRJQkVBZ0FTQUdJQWdnQ1NBS0lBTXFBZ0FnQXlvQ0JDQURLZ0lJSUFNcUFnd2dCQ2dDRExkRUFBQUFBQUFBNEQrZ3RpQUVLQUlJdDBRQUFBQUFBQURnUDZDMklBUW9BZ1MzUkFBQUFBQUFBT0Evb0xZZ0JDZ0NBTGRFQUFBQUFBQUE0RCtndGhEV0J5QUdLZ0lBUXdBQWdEOWRJQWdxQWdCREFBQ0FQMTF4SUFrcUFnQkRBQUNBUDExeElBb3FBZ0JEQUFDQVAxMXhCRUFnQVJEQUF5Z0NBQ0FGUVFKMGFpZ0NBRUVEZENBQ0tBSUFhaUVISUFBb0FnUWlEQ0FBS0FJSVJnUkFJQUFnQnhDV0FRVWdEQ0FIS1FJQU53SUFJQUFnQUNnQ0JFRUlhallDQkFzTElBTkJFR29oQXlBRlFRRnFJUVVNQVFzTElBUWtCZ3ZQQXdJT2Z3RjlJd1loQ1NNR1FTQnFKQVlnQ1VFRWFpRVBJQWxCRkdvaURDQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBbEJDR29pRFNBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFNb0FnUWdBeWdDQUNJUWEwRURkU0VSSUFFb0FnQWhBU0FDS0FJQUlRSWdEQ2dDQUNFU0lBMG9BZ0FoRXdOQUlBb2dFVWNFUUNBS1FRTjBJQkJxS0FJRUlRc2dDa0VDZENJVVFRSjBJQkpxSWdnZ0NrRURkQ0FRYWlnQ0FDSU9RUlJzSUFGcUtBSUFOZ0lBSUFnZ0RrRVViQ0FCYWlnQ0JEWUNCQ0FJSUE1QkZHd2dBV29vQWdnMkFnZ2dDQ0FPUVJSc0lBRnFLQUlNTmdJTUlCUkJBblFnRTJvaUNDQUxRUlJzSUFKcUtBSUFOZ0lBSUFnZ0MwRVViQ0FDYWlnQ0JEWUNCQ0FJSUF0QkZHd2dBbW9vQWdnMkFnZ2dDQ0FMUVJSc0lBSnFLQUlNTmdJTUlBcEJBV29oQ2d3QkN3c2dBQ0FFc2lJV1E4M01URDZVSUJhU0loYU1JQllnQmJJaUZrUE56RXcrbENBV2tpSVdqQ0FXRU1NSElBQWdCa0VCZGJJNEFnZ2dBQ0FIUVFGMXNqZ0NEQ0FBSUFZMkFnQWdBQ0FITmdJRUlBQWdEQ2dDQUNBTktBSUFJQU1vQWdRZ0F5Z0NBR3RCQTNVUXdnY2dBQ0FQSUFrUXVRZEJmeUFKS0FJQUlBOHFBZ0JEQUFCQVFGMGJJUlVnRFJCVklBd1FWU0FKSkFZZ0ZRdEdBQU5BSUFFZ0FrY0VRQ0FBS0FJRUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUFnQUNnQ0JFRVVhallDQkNBQlFSUnFJUUVNQVFzTEN5Z0FJQUlnQVdzaUFrRUFTZ1JBSUFBb0FnUWdBU0FDRUV3YUlBQWdBQ2dDQkNBQ2FqWUNCQXNMT0FFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQ0FBUVFBMkFnZ2dBRUVBTmdJRUlBQkJBRFlDQUFzTE13QWdBaUFCYXlJQ1FRQktCRUFnQWtFTUVFZ2hBeUFBS0FJRUlBRWdBaEJNR2lBQUlBQW9BZ1FnQTBFTWJHbzJBZ1FMQzFzQkEzOGdBQ2dDQkNJRElBQW9BZ0FpQkd0QkZCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUWhnZ0ZJQUlnQVVzRVFDQUJRUlJzSUFScUlRSWdBeUVCQTBBZ0FTQUNSd1JBSUFGQmJHb2hBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTENnQWdBRUhnQURZQ0FBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVhocUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN4Y0FJQUJDQURjQ0FDQUFRZ0EzQWdnZ0FFRUJPZ0FRQ3lzQkFYOGdBQ2dDQkNFQ0EwQWdBaERVQXlBQUlBQW9BZ1JCRkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMWFFFQmYwSE1tYlBtQUNBQlNRUkFFQUFMSUFGQnpKbXo1Z0JMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCRkd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkZHd2dBbW8yQWdnTEN3a0FJQUFnQVRZQ0NBc1RBQ0FBUVFnMkFnUWdBRUVNYWtFSUVJY0JDd3NBSUFCQkFDQUJFRVVhQy93REFnVi9BbndqQmlFR0l3WkJvQUpxSkFZZ0JrR0FBbW9oQ0NBR1FjQUJhaUlFSUFGQnFBRnFRUVFnQVNnQ0RFRUFTQVIvSUFGQkZHb0ZJQUVvQWdoQkFFZ0VmeUFCUVJocUJTQUJRUkJxQ3dzb0FnQWlCV3RCQkJCUElnZEJCSFJxS3dNQU9RTUFJQVFnQVNBSFFRUjBhaXNEc0FFNUF3Z2dCQ0FCUWFnQmFrRUZJQVZyUVFRUVR5SUhRUVIwYWlzREFEa0RFQ0FFSUFFZ0IwRUVkR29yQTdBQk9RTVlJQVFnQVVHb0FXcEJCaUFGYTBFRUVFOGlCMEVFZEdvckF3QTVBeUFnQkNBQklBZEJCSFJxS3dPd0FUa0RLQ0FFSUFGQnFBRnFRUWNnQld0QkJCQlBJZ1ZCQkhScUt3TUFPUU13SUFRZ0FTQUZRUVIwYWlzRHNBRTVBemdnQmtIZ0FHb2lBU0FDUkFBQUFBQUFBT0Mvb2lJSk9RTUFJQUVnQWtRQUFBQUFBQURnUDZJaUFqa0RDQ0FCUkFBQUFBQUFBQUFBT1FNUUlBRWdBamtER0NBQklBSTVBeUFnQVVRQUFBQUFBQUFBQURrREtDQUJJQUk1QXpBZ0FTQUpPUU00SUFGQlFHdEVBQUFBQUFBQUFBQTVBd0FnQVNBSk9RTklJQUVnQ1RrRFVDQUJSQUFBQUFBQUFBQUFPUU5ZSUFaQmlBSnFJZ1VnQkRZQ0FDQUZJQUUyQWdRZ0JVRUVOZ0lJSUFBb0FnQWdCQ0FCUVFRZ0JoQ1lCRUVBU0FSOFJBQUFBQUNFMTVkQkJTQUFLQUlBSUFVZ0JpQURJQWdRNmdGQkFFZ2hBRVFBQUFBQWhOZVhRU0FJS3dNQUlBQWJDeUVLSUFZa0JpQUtDNzhDQUNBQUtBSUFJQUVvQWdBUWJDQUFLQUlFSUFFb0FnUVFiR29nQUNnQ0NDQUJLQUlJRUd4cUlBQW9BZ3dnQVNnQ0RCQnNhaUFBS0FJUUlBRW9BaEFRYkdvZ0FDZ0NGQ0FCS0FJVUVHeHFJQUFvQWhnZ0FTZ0NHQkJzYWlBQUtBSWNJQUVvQWh3UWJHb2dBQ2dDSUNBQktBSWdFR3hxSUFBb0FpUWdBU2dDSkJCc2FpQUFLQUlvSUFFb0FpZ1FiR29nQUNnQ0xDQUJLQUlzRUd4cUlBQW9BakFnQVNnQ01CQnNhaUFBS0FJMElBRW9BalFRYkdvZ0FDZ0NPQ0FCS0FJNEVHeHFJQUFvQWp3Z0FTZ0NQQkJzYWlBQVFVQnJLQUlBSUFGQlFHc29BZ0FRYkdvZ0FDZ0NSQ0FCS0FKRUVHeHFJQUFvQWtnZ0FTZ0NTQkJzYWlBQUtBSk1JQUVvQWt3UWJHb2dBQ2dDVUNBQktBSlFFR3hxSUFBb0FsUWdBU2dDVkJCc2FpQUFLQUpZSUFFb0FsZ1FiR29nQUNnQ1hDQUJLQUpjRUd4cUMwRUJBbjhnQVVFQlRnUkFBa0FnQUVFQU5nSUFRUUVoQWdOQUlBRWdBa1lOQVNBQ1FRSjBJQUJxSUFOQkFXb2lBellDQUNBQ1FRRnFJUUlNQUFBTEFBc0xDejRCQW44Z0FDZ0NCQ0FBS0FJQUlnUnJRUUoxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc2dBaENmQ0FVZ0F5QUJTd1JBSUFBZ0FVRUNkQ0FFYWpZQ0JBc0xDOG9FQVExL0l3WWhFU01HUVJCcUpBWWdFVUVFYWlFU0lBaEJBa2toRkNBSVFRSkdJUlVEUUNBUUlBVklCRUFnRGtFSWRDQUxhaUFRUWJEeEJHd2dCR29vQWdBMkFnQWdDU0FRUWJEeEJHd2dCR29yQXdpMklCQkJzUEVFYkNBRWFpc0RFTFlnRWlBUkVLWUJRUUJPQkVBZ0RrRUlkQ0FMYWlBU0tnSUF1emtET0NBT1FRaDBJQXRxUVVCcklCRXFBZ0M3T1FNQUlCQkJzUEVFYkNBRWFrRWNhaUFRUWJEeEJHd2dCR3BCM0xnQ2FpQVFRYkR4Qkd3Z0JHb29BaGdnRUVHdzhRUnNJQVJxUVp6eEJHb2dDU0FPUVFoMElBdHFRY2dBYWlBT1FRaDBJQXRxUWFnQmFpSVBFS1lJUVFCT0JFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWWdCeUFJSUFBZ0FTQUNJQU1nQ1NBUElBb2dEa0VJZENBTGFrRUlhaUlXSUE1QkNIUWdDMnBCRkdvaUZ5QU9RUWgwSUF0cVFTaHFJaGdnRGtFSWRDQUxha0VNYWlJWklBNUJDSFFnQzJwQkdHb2lHaUFPUVFoMElBdHFRVEJxSWhNZ0RTQU9RUWgwSUF0cVFmQUJhaUFPUVFoMElBdHFRZmdCYWhEK0JpSVBRWHByRGdjRkJBTUNBUUFHQnd0QkFpRVBEQVVMUVFNaER3d0VDMEVFSVE4TUF3dEJCU0VQREFJTFFRa2hEd3dCQzBFQklROExJQTVCQ0hRZ0Myb2dEellDN0FFTEFrQUNRQ0FVQkVBZ0RrRUlkQ0FMYWlBV0tBSUFOZ0lFSUJnaEV5QVhJUThNQVFVZ0ZRUkFJQTVCQ0hRZ0Myb2dHU2dDQURZQ0JDQWFJUThNQWdzTERBRUxJQTVCQ0hRZ0Myb2dEeWdDQURZQ0VDQU9RUWgwSUF0cUlCTXJBd0E1QXlBTElBNUJBV29oRGdzTElCQkJBV29oRUF3QkN3c2dEQ0FPTmdJQUlCRWtCa0VBQ3dnQUlBQkI2QUJxQzY4SUFRaC9Jd1loQ1NNR1FTQnFKQVlnQUVFTWFpSUhLQUlFSUFBb0Ftd1F4Z0VnQlU0RVFDQUJRUUVRZ3dJZ0FSREZBU0FGRUljQlFRQWhBQU5BSUFBZ0JVZ0VRQ0FBUVFKMElBUnFLQUlBSVFJZ0FSREZBU2dDQUNBQVFRSjBhaUFDTmdJQUlBQkJBV29oQUF3QkN3c2dDU1FHRHdzZ0NVRVVhaUVHSUFsQ0FEY0NBQ0FKUWdBM0FnZ2dDVUdBZ0lEOEF6WUNFQ0FISUFJZ0F5QUVJQVVRcFFnZ0IwRVlhaUlNS0FJRUlnc2dEQ2dDQUNJSWEwRUNkU0FGUndSQUlBWkJ3TWdEUVpueEFSQTNRZEh4QVJBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQjJQSUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDaWdDQUNnQ0hDRU5JQXBCQ2lBTlFUOXhRWW9CYWhFQ0FDRUtJQVlRUENBSElBb1FRQ0FIRUQ4UUFBdEJBQ0VIQWtBQ1FBSkFBa0FEUUNBSElBc2dDR3RCQW5WSkJFQWdCMEVDZENBSWFpZ0NBQ0lJUVg5R0RRSWdDQ0FGVGcwRElBaEJBblFnQkdvaUNDZ0NBQ0FEVGcwRUlBZEJBblFnQkdvaEN5QUpJQWdRd3dJaUNDZ0NCQ0lLSUFnb0FnaEdCRUFnQ0NBTEVLUUlCU0FLSUFzb0FnQTJBZ0FnQ0NBS1FRUnFOZ0lFQ3lBSFFRRnFJUWNnRENnQ0FDRUlJQXdvQWdRaEN3d0JDd3NDUUNBSktBSU1RUUZHQkVBZ0FVRUJFSU1DSUFFUXhRRWdCUkNIQVVFQUlRQURRQ0FBSUFWT0RRSWdBRUVDZENBRWFpZ0NBQ0VDSUFFUXhRRW9BZ0FnQUVFQ2RHb2dBallDQUNBQVFRRnFJUUFNQUFBTEFBVWdBUkRmQXlBSktBSU1FS01JSUFsQkNHb2hCQU5BQWtBZ0JDZ0NBQ0lFUlEwRElBUW9BaEFnQkNnQ0RFWU5BRUdBQVJCUklnVWdBQkRoQXlBQ0lBUW9BZ2hCNEFCc2FoQ2lDQ0FHSUFVMkFnQWdCVUVBRUlNQ0lBRVEzd01pQlNnQ0JDSUhJQVVvQWdoR0JFQWdCU0FHRU1JQ0JTQUhJQVlvQWdBMkFnQWdCU0FGS0FJRVFRUnFOZ0lFQ3lBQUlBWW9BZ0FnQWlBRElBUW9BZ3dpQlNBRUtBSVFJQVZyUVFKMUVPQUREQUVMQ3lBR1FjRElBMEczOUFFUU4wSFI4UUVRTjBIdm9nSVFOMEdEQXhBK1FmYWlBaEEzUWVYMEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUpFT2tESUFra0JnOExJQVpCd01nRFFlN3lBUkEzUWRIeEFSQTNRZStpQWhBM1FlMENFRDVCOXFJQ0VEZEJtZk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFJTElBWkJ3TWdEUWEvekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU0Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUVMSUFaQndNZ0RRZnJ6QVJBM1FkSHhBUkEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0N5QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEV3QWdBQ0FBS0FJRUlnQkJBV28yQWdRZ0FBdkZBd0VJZnlBQkJFQUNRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSUNFSWdCSUFKQnRJc0JOZ0lBSUFKQitQY0FRUllRQkFzZ0FVRUNkQkJSSVFJZ0FDZ0NBQ0VESUFBZ0FqWUNBQ0FEQkVBZ0FDZ0NCQm9nQXhBNEN5QUFJQUUyQWdSQkFDRUNBMEFnQVNBQ1J3UkFJQUFvQWdBZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQ0dvaEF5QUFLQUlJSWdJRVFDQUNLQUlFSVFRZ0FTQUJRWDlxSWdoeFJTSUpCSDhnQkNBSWNRVWdCQ0FCVHdSL0lBUWdBUkJPQlNBRUN3c2hCaUFBS0FJQUlBWkJBblJxSUFNMkFnQURRQ0FDSVFRRFFBSkFBMEFDUUNBRUtBSUFJZ0pGRFFZZ0FpZ0NCQ0VESUFZZ0NRUi9JQU1nQ0hFRklBTWdBVThFZnlBRElBRVFUZ1VnQXdzTElnVkdEUUFnQUNnQ0FDQUZRUUowYWlJREtBSUFSUTBDSUFJaEF3TkFJQU1vQWdBaUJ3UkFJQUlvQWdnZ0J5Z0NDRVlFUUNBSElRTU1BZ3NMQ3lBRUlBYzJBZ0FnQXlBQUtBSUFJQVZCQW5ScUtBSUFLQUlBTmdJQUlBQW9BZ0FnQlVFQ2RHb29BZ0FnQWpZQ0FBd0JDd3NnQWlFRURBRUxDeUFESUFRMkFnQWdCU0VHREFBQUN3QUxDd1VnQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3lBQVFRQTJBZ1FMQ3pzQVFlQzhBeXdBQUVVRVFFSGd2QU1RY0FSQVFZakVBMEVBTmdJQVFZekVBMEVBTmdJQVFaREVBMEVBTmdJQVFlQzhBeEJ2Q3d0QmlNUURDd2tBSUFBZ0FUWUNCQXNKQUNBQUlBRTJBZ0FMVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRWnlHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3pRQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFCQkpHb1FsQWdMdVFFQkJYOGdBU2dDQUNFQklBQW9BZ1FpQWdSQUFrQWdBaUFDUVg5cUlnUnhSU0lGQkg4Z0FTQUVjUVVnQVNBQ1NRUi9JQUVGSUFFZ0FoQk9Dd3NpQmtFQ2RDQUFLQUlBYWlnQ0FDSUFCSDhEUUNBQUtBSUFJZ0JGQkVCQkFDRUFEQU1MSUFBb0FnUWlBeUFCUmdSQUlBRWdBQ2dDQ0VZTkF3VWdCUVJBSUFNZ0JIRWhBd1VnQXlBQ1R3UkFJQU1nQWhCT0lRTUxDeUFESUFaSEJFQkJBQ0VBREFRTEN3d0FBQXNBQlVFQUN5RUFDd1ZCQUNFQUN5QUFDeWtCQVg4Z0FDZ0NDQkMyQ0NBQUtBSUFJUUVnQUVFQU5nSUFJQUVFUUNBQUtBSUVHaUFCRURnTEMyMEJBWDhnQUVHVUJtb2lBVUVZYWhCVklBRkJER29RVlNBQkVGVWdBRUdNQldvaUFVSDhBR29RVlNBQlFmQUFhaEJWSUFGQjNBQnFFTVFISUFCQi9BUnFFRlVnQUVHZ0FXb1EvQWdnQUVIY0FHb1F4d0lnQUVISUFHb1F1UWdnQUVGQWF4Q1ZBU0FBUVF4cUVGVUxLQUVCZnlBQVFRUnFFT2tESUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFFUTZnTWdBUkE0Q3d1d0J3SUhmd0Y4UWNZQUlRWkJ3SVE5SVFjZ0EwRUJSaUlMQkVCQnhnQkJCQkE1SVFaQndJUTlRUVFRT1NFSElBQkJBaEE1SVFBZ0FVRUNFRGtoQVFzZ0JVRUFOZ0lBSUFCQmZtb2hDQ0FCUVg1cUlRa2dBa0dRZ01nQWFpRU1RUUFoQVFKQUFrQURRQUpBSUFFZ0FpZ0NDRTROQWlBQ1FReHFJQUZCQW5ScUlnTW9BZ0FpQ2lBR1NDQUtJQWRLY2tVRVFDQUNRWXlBQ0dvZ0FVRUVkR29pQ2lnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCa0lBSWFpZ0NBQ0FJUndSQUlBSWdBVUVFZEdwQmxJQUlhaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJtSUFJYWlnQ0FDQUpSd1JBSUFJb0FnQWdBQ0FNSUFGQkFXb2dDaUFGS0FJQVFiRHhCR3dnQkdvUXZnaEJBRTRFUUNBREtBSUFJQVVvQWdCQnNQRUViQ0FFYWhDM0NFRUFUZ1JBSUFVb0FnQkJzUEVFYkNBRWFpQURLQUlBTmdJQUlBVW9BZ0FpQTBHdzhRUnNJQVJxSUFKQmtJQW9haUFCUVFSMGFpc0RBRGtEQ0NBRFFiRHhCR3dnQkdvZ0FpQUJRUVIwYWtHWWdDaHFLd01BT1FNUUlBVWdBMEVCYWlJRE5nSUFJQU5CUEVZRVFFRThJUUFNQ0FzTEN3c0xDd3NMSUFGQkFXb2hBUXdCQ3dzTUFRc2dCU2dDQUNFQUMwRUFJUUVEUUNBQklBQklCRUFnQVVHdzhRUnNJQVJxSVFZZ0FVR3c4UVJzSUFScUlRY2dBVUd3OFFSc0lBUnFJUU1nQVVFQmFpSUJJUUlEUUNBQ0lBQklCRUFnQmlzRENDQUNRYkR4Qkd3Z0JHb3JBd2loSWcwZ0RhSWdCeXNERUNBQ1FiRHhCR3dnQkdvckF4Q2hJZzBnRGFLZ0lRMGdBeWdDQUNJQUlBSkJzUEVFYkNBRWFpSUlLQUlBSWdsS0JFQWdEU0FBUVFRUU9iZGpCRUFnQ0VFQU5nSUFDd1VnRFNBSlFRUVFPYmRqQkVBZ0EwRUFOZ0lBQ3dzZ0FrRUJhaUVDSUFVb0FnQWhBQXdCQ3dzTUFRc0xRUUFoQWdOQUlBSWdBRWdFUUNBQ1FiRHhCR3dnQkdvb0FnQkZCRUFnQWlFQklBQWhBd05BSUFGQkFXb2lBQ0FEU0FSQUlBRkJzUEVFYkNBRWFpQUFRYkR4Qkd3Z0JHcEJzUEVFRUV3YUlBQWhBU0FGS0FJQUlRTU1BUXNMSUFVZ0EwRi9haUlBTmdJQUN5QUNRUUZxSVFJTUFRc0xJQXNFUUFKQVFRQWhBUU5BSUFFZ0FFNE5BU0FFSUFRb0FnQkJBblEyQWdBZ0JDQUVLd01JUkFBQUFBQUFBQUJBb2prRENDQUVJQVFyQXhCRUFBQUFBQUFBQUVDaU9RTVFJQVFvQWhnaEFrRUFJUUFEUUNBQUlBSklCRUFnQkVFY2FpQUFRUUowYWlJRElBTW9BZ0JCQVhRMkFnQWdCRUhjdUFKcUlBQkJBblJxSWdNZ0F5Z0NBRUVCZERZQ0FDQUFRUUZxSVFBTUFRc0xJQVJCc1BFRWFpRUVJQUZCQVdvaEFTQUZLQUlBSVFBTUFBQUxBQXNMUVFBTEVnQWdBRUg4aFFFMkFnQWdBRUVFYWhCSEMwZ0JBWDhqQmlFREl3WkJJR29rQmlBRElBQW9BamdnQWlnQ0FDQUNLQUlFSUFJb0FnZ2dBaWdDREJDNEF5QUFJQU1nQWhEZ0FTQUFJQUVnQXhEZ0FTQURFTjBCSUFNa0JndUxBd0VFZndKQUFrQUNRQUpBSUFBb0FoZ09Bd0FBQVFJTElBQW9BaXdoQWdOQUlBRWdBazROQXlBQUlBRkJDSFJxSWdNb0FqUkJmMG9FUUNBQUlBRkJDSFJxS3dOUVJBQUFBQUFBQU9BL1l3UkFJQUFnQVVFSWRHcEJmellDT0NBRFFYODJBalFnQUNBQlFRaDBha0VHTmdLY0Fnc0xJQUZCQVdvaEFRd0FBQXNBQ3lBQUtBSXNJUUlEUUNBQklBSk9EUUlnQUNBQlFRaDBhaUlES0FJMFFYOUtCRUFnQUNBQlFRaDBhaXNEVUVRQUFBQUFBQURnUDJNRVFDQUFJQUZCQ0hScVFYODJBandnQTBGL05nSTBJQUFnQVVFSWRHcEJCallDbkFJTEN5QUJRUUZxSVFFTUFBQUxBQXNnQUNnQ0xDRURBMEFnQVNBRFRnMEJJQUFnQVVFSWRHb2lBaWdDT0VGL1NnUi9JQUFnQVVFSWRHb3JBMWhFQUFBQUFBQUE0RDlqQkg4Z0FrRi9OZ0k0UVFBRlFRRUxCVUVCQ3lFQ0lBQWdBVUVJZEdvaUJDZ0NQRUYvU2dSQUlBQWdBVUVJZEdvckEyQkVBQUFBQUFBQTREOWpCRUFnQkVGL05nSThJQUpGQkVBZ0FDQUJRUWgwYWtFR05nS2NBZ3NMQ3lBQlFRRnFJUUVNQUFBTEFBc0xDd0FnQUVNQUFBQS9rbzRMRFFBZ0FCRFNBVU1ZY2pFL2xRdTNBd0lEZndOOUlBQW9BZ0FpQkNvQ0FDSUhJQUVvQWdBaUF5b0NBQ0lHWFFSL1FRRUZJQVlnQjEwRWYwRUFCU0FFS0FJRUlBTW9BZ1JKQ3dzaEFTQUdJQUlvQWdBaUFpb0NBQ0lJWFFSL1FRRUZJQWdnQmwwRWYwRUFCU0FES0FJRUlBSW9BZ1JKQ3dzaEFBSi9JQUVFZnlBQUJFQWdCQ0FJT0FJQUlBSWdCemdDQUNBRUtBSUVJUUFnQkNBQ0tBSUVOZ0lFSUFJZ0FEWUNCRUVCREFJTElBUWdCamdDQUNBRElBYzRBZ0FnQkNnQ0JDRUZJQVFnQXlnQ0JEWUNCQ0FESUFVMkFnUWdCeUFDS2dJQUlnWmRCRUFnQWtFRWFpRUFJQUlvQWdRaEFRVkJBU0FHSUFkZERRSWFRUUVnQlNBQ1FRUnFJZ0FvQWdBaUFVOE5BaG9MSUFNZ0JqZ0NBQ0FDSUFjNEFnQWdBeUFCTmdJRUlBQWdCVFlDQUVFQ0JTQUFCSDhnQXlBSU9BSUFJQUlnQmpnQ0FDQURLQUlFSVFBZ0F5QUNLQUlFTmdJRUlBSWdBRFlDQkNBRUtnSUFJZ2NnQXlvQ0FDSUdYUVJBSUFSQkJHb2hBQ0FES0FJRUlRRWdCQ2dDQkNFQ0JVRUJJQVlnQjEwTkF4cEJBU0FFUVFScUlnQW9BZ0FpQWlBREtBSUVJZ0ZQRFFNYUN5QUVJQVk0QWdBZ0F5QUhPQUlBSUFBZ0FUWUNBQ0FESUFJMkFnUkJBZ1ZCQUFzTEN3dnRBUUVGZnlBQUtBSUFJUVlnQUNnQ0JDRURBMEFnQXlBR1J3UkFJQUVvQWdRaUJFRjBhaUlDUVFBMkFnQWdCRUY0YWlJRlFRQTJBZ0FnQkVGOGFpSUVRUUEyQWdBZ0FpQURRWFJxSWdJb0FnQTJBZ0FnQlNBRFFYaHFJZ1VvQWdBMkFnQWdCQ0FEUVh4cUlnTW9BZ0EyQWdBZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FDUVFBMkFnQWdBU0FCS0FJRVFYUnFOZ0lFSUFJaEF3d0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVNYkJCRkdpQUFJQUZCREd3Z0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUXhzRUVVYUlBQWdBVUVNYkNBQ2FqWUNCQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUVDeE1BSUFBZ0FUWUNWQ0FBUVR4cUlBRVEwUUlMT3dFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmJHbzJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xxUUVCQTM4Z0FDZ0NBQ0VFSUFBb0FnUWhBZ05BSUFJZ0JFY0VRQ0FCS0FJRVFXeHFJZ01nQWtGc2FpSUNLUUlBTndJQUlBTWdBaWtDQ0RjQ0NDQURJQUlvQWhBMkFoQWdBU0FCS0FJRVFXeHFOZ0lFREFFTEN5QUFLQUlBSVFJZ0FDQUJLQUlFTmdJQUlBRWdBallDQkNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQUVvQWdRMkFnQUxjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjeVpzK1lBU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVVYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVJSc0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRVViQ0FFYWpZQ0RBdmtBUUVHZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQXlBQUJIOGdBU0FBUWZTR3J3TnFJZ1VvQWdCR0JIOUJBQVVnQUVHSWg2OERhaUlFS0FJQUlnWUVRQ0FHRUVrZ0JFRUFOZ0lBQ3dKQUFrQUNRQUpBSUFFT0JRTUFBQUFCQWdzZ0JDQUFLQUlrSUFBb0FpZ1Fnd2cyQWdBTUFnc2dBRUdFaDY4RGFrRUJOZ0lBSUFCQmdJZXZBMnBCQVRZQ0FFRUVJUUVNQVF0QkFFRURRY2lsQVNBQ0VEMUJBQ0VCQ3lBRklBRTJBZ0FnQUNnQ0FFRUJSZ1JBSUFNZ0FVRUNkRUdBQ0dvb0FnQTJBZ0JCQUVFRFFaS21BU0FERUQwTFFRQUxCVUYvQ3lFSElBSWtCaUFIQ3lnQUlBQWdBVGdDQUNBQUlBSTRBZ1FnQUNBRE9BSUlJQUFnQkRnQ0RDQUFJQVZCQVhFNkFCQUxld0VCZnlNR0lRSWpCa0VRYWlRR0lBQUVRQ0FBS0FJQUlBRkhCRUFDUUNBQUlBRTJBZ0FnQVVVRVFDQUFRZVNHcHdKcUlnQW9BZ0FRT0NBQVFRQTJBZ0FNQVFzZ0FFSGtocWNDYWlBQUtBSW9JQUFvQWlSc0VFUWlBRFlDQUNBQVJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc0xDd3NnQWlRR0M1b0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FpQUJheUlFUVc5TEJFQVFBQXNnQkVFTFNRUkFJQUFnQkRvQUN3VWdBQ0FFUVJCcVFYQnhJZ1lRVVNJRE5nSUFJQUFnQmtHQWdJQ0FlSEkyQWdnZ0FDQUVOZ0lFSUFNaEFBc2dBaUFCYXlFR0lBQWhBd05BSUFFZ0FrY0VRQ0FESUFFUVh5QUJRUUZxSVFFZ0EwRUJhaUVEREFFTEN5QUZRUUE2QUFBZ0FDQUdhaUFGRUY4Z0JTUUdDNElCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQVJBSUFBb0FnQWlBUVJBSUFFb0FnQWlBUVJBSUFFUU9BdEJBQ0VCQTBBZ0FTQUFLQUlBSWdNb0FneElCRUFnQXlnQ0NDQUJRUXhzYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQXlnQ0NCQTRJQUFvQWdBUU9DQUFRUUEyQWdBTEJVRUFRUU5CM0xnQklBSVFQUXNnQWlRR0N4RUFJQUFnQUNnQ0FDQUFLQUlFRUtVSkM2NEJBUVYvSXdZaEJTTUdRUkJxSkFZZ0FDQUNJQU1nQlVFRWFpQUZFS1lKUVFCSUJIOUJmd1VnQlNvQ0JDQUJLZ0lNSWdLVVF6TXp5MEdWUXdBQUFEK1NFRU1pQUVFQVNBUi9RWDhGSUFFb0FnUWlCeUFBU2dSL0lBRW9BZ2dpQ0xJZ0FpQUZLZ0lBbEVNek04dEJsWk5EQUFBQVA1SVFReUlHUVg5S0lBZ2dCa3B4Qkg4Z0JDQUJLQUlBSUFBZ0JpQUhiR3BxTEFBQU9nQUFRUUFGUVg4TEJVRi9Dd3NMSVFrZ0JTUUdJQWtMdlFJQ0JIOENmU01HSVFZakJrRkFheVFHSUFaQk5Hb2hCeUFHUVRCcUlRZ2dBQVIvSUFCQkNHb2dBU0FHRVBvQklBQkJ1QUZxSWdBZ0Jpb0NEQ0FHS2dJQUlBS1VJQVlxQWdRZ0E1U1NraUFHS2dJc0lBWXFBaUFnQXBRZ0Jpb0NKQ0FEbEpLU0lndVZJZ29nQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUxsU0lESUFRZ0JSQnRRUUJJQkg5QmZ3VWdBQ0FFS2dJQUlBVXFBZ0FnQnlBSUVLWUJRUUJJQkg5QmZ3VWdDaUFIS2dJQWt5SUNJQUtVSUFNZ0NDb0NBSk1pQWlBQ2xKSkRBQUNBUDE1QkgzUkJIM1VMQ3dVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVLSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NpQUNsVGdDQUVFQUN5RUpJQVlrQmlBSkM0WUxBUXAvSUFNb0FoZ2hDQUpBQWtBQ1FDQUNRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dBeWdDRENFTElBTW9BaFFoRFNBQlFRRjBJUTRnQUNBRVFRQWdBeWdDQ0dzaUIwRUJkR29nQVNBRlFRQWdBeWdDRUdzaUJVRUJkR3BzYW1vaEJFRUFJUUJCQUNFQlFRQWhBZ05BSUFVZ0RVb0VRQXdEQlNBSElRd2dCQ0VKQTBBZ0RDQUxUQVJBSUFndUFRQWlEMEdBSUVjRVFDQUFJQWt0QUFBaUNtb2hBQ0FCSUFvZ0NteHFJUUVnQWlBUFFmLy9BM0VnQ214cUlRSUxJQXhCQVdvaERDQUlRUUpxSVFnZ0NVRUNhaUVKREFFTEN5QUVJQTVxSVFRZ0JVRUJhaUVGREFFTEFBQUxBQXNnQWtFQ1NRUkFJQU1vQWhRaERrRUFJQU1vQWhCcklRb2dDQ0VKUVFBaEFrRUFJUWdEUUNBS0lBNUtCRUFnQWlFQUlBZ2hBU0FNSVFJTUF3VWdBeWdDRENFUFFRQWdBeWdDQ0NJSGF5RUxJQUFnQkNBQklBVWdDa0VCZEdwc2FpQUhRUUYwYTBFRGJHb2hCd05BSUFzZ0Qwd0VRQ0FKTGdFQUloQkJnQ0JIQkVBZ0FpQUhMUUFDSUFjdEFBQWdCeTBBQVdwcVFRTVFTQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0MwRUJhaUVMSUFkQkJtb2hCeUFKUVFKcUlRa01BUXNMSUFwQkFXb2hDZ3dCQ3dBQUN3QUxJQUpCQVhKQkEwWUVRQ0FES0FJVUlRNUJBQ0FES0FJUWF5RUtJQWdoQ1VFQUlRSkJBQ0VJQTBBZ0NpQU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUIyc2hDeUFBSUFRZ0FTQUZJQXBCQVhScWJHb2dCMEVCZEd0QkFuUnFJUWNEUUNBTElBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdCeTBBQWlBSExRQUFJQWN0QUFGcWFrRURFRWdpRFdvaEFpQUlJQTBnRFd4cUlRZ2dEQ0FRUWYvL0EzRWdEV3hxSVF3TElBdEJBV29oQ3lBSFFRaHFJUWNnQ1VFQ2FpRUpEQUVMQ3lBS1FRRnFJUW9NQVFzQUFBc0FDeUFDUVFKeVFRWkdCRUFnQXlnQ0ZDRU9RUUFnQXlnQ0VHc2hDaUFJSVFsQkFDRUNRUUFoQ0FOQUlBb2dEa29FUUNBQ0lRQWdDQ0VCSUF3aEFnd0RCU0FES0FJTUlROUJBQ0FES0FJSUlnZHJJUXNnQUNBRUlBRWdCU0FLUVFGMGFteHFJQWRCQVhSclFRSjBhaUVIQTBBZ0N5QVBUQVJBSUFrdUFRQWlFRUdBSUVjRVFDQUNJQWN0QUFNZ0J5MEFBU0FITFFBQ2FtcEJBeEJJSWcxcUlRSWdDQ0FOSUExc2FpRUlJQXdnRUVILy93TnhJQTFzYWlFTUN5QUxRUUZxSVFzZ0IwRUlhaUVISUFsQkFtb2hDUXdCQ3dzZ0NrRUJhaUVLREFFTEFBQUxBQXNDUUFKQUFrQWdBa0VIYXc0Q0FBRUNDeUFES0FJVUlRNUJBQ0VDUVFBZ0F5Z0NFR3NoQ2lBSUlRY0RRQ0FLSUE1S0JFQWdBaUVBSUFraEFTQU1JUUlNQkFVZ0F5Z0NEQ0VQSUFraENFRUFJQU1vQWdnaUMyc2hDU0FBSUFRZ0FTQUZJQXBCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBSklBOU1CRUFnQnk0QkFDSVFRWUFnUndSQUlBSWdDeTBBQVNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVCYWlFSklBdEJCR29oQ3lBSFFRSnFJUWNNQVFzTElBZ2hDU0FLUVFGcUlRb01BUXNBQUFzQUN5QURLQUlVSVE0Z0NDRUpRUUFoQWtFQUlRaEJBQ0FES0FJUWF5RUhBMEFnQnlBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQzJzaENpQUFJQVFnQVNBRklBZEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FLSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUNhaUVKSUFwQkFXb2hDaUFMUVFScUlRc01BUXNMSUFkQkFXb2hCd3dCQ3dBQUN3QUxRUUFoQUVFQUlRRkJBQ0VDQ3lBR0lBRWdBQ0FBYkNBREtBSWtJZ0VRT1dzaUJBUi9JQUlnQUNBREtBSWdiQ0FCRURsclFlUUFiQ0FES0FJY0VEbEI1QUJzSUFTeWtSQkRFRGtGUVFBTE5nSUFDMFVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpOREFBQUFQNVFpQTR3Z0F5QURRd0FBQUFCZEd3dUlEZ01JZndGK0RYMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSUlBWkJER29oQ1NBR1FRaHFJUW9nQmtFRWFpRUxJQUpCQUVnRVFFRi9JUUVGQWtBQ1FBSkFBa0FDUUFKQUlBSU9CQUFCQWdNRUN5QUVRUWdRT2JJaEVpQUVRUWRzUVFnUU9iSWhFeUFGUVFnUU9iSWhGQ0FGUVFkc1FRZ1FPYkloRlNBRVFRSVFPYkloRmlBRlFRSVFPYkloRjBFQUlRSkJmeUVCQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdFbDBnRHlBVFhuSkZCRUFnQWtFWWJDQUFhaW9DRkNJUUlCUmRJQkFnRlY1eVJRUkFJQThnRnBNaUR5QVBsQ0FRSUJlVElnOGdENVNTSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1CUXNnQVVFWWJDQUFha0VCTmdJTURBUUxJQVJCQ0JBNXNpRVNJQVJCQjJ4QkNCQTVzaUVUSUFWQkNCQTVzaUVVSUFWQkIyeEJDQkE1c2lFVlFYOGhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBSkJHR3dnQUdvcUFoQWlEeUFTWFNBUElCTmVja1VFUUNBQ1FSaHNJQUJxS2dJVUloQWdGRjBnRUNBVlhuSkZCRUFnRHlBREtnSUFreUlQSUErVUlCQWdBeW9DQkpNaUR5QVBsSklpRHlBUlhnUkFJQThoRVNBQ0lRRUxDd3NMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9SZ1JBUVg4aEFRd0VDeUFCUVJoc0lBQnFRUUUyQWd3TUF3c2dCRUVJRURteUlSSWdCRUVIYkVFSUVEbXlJUk1nQlVFSUVEbXlJUlFnQlVFSGJFRUlFRG15SVJWQmZ5RUJRUUFoQWdOQUFrQUNRQUpBSUFKQkdHd2dBR29vQWd4QmYyc09BZ0lBQVFzZ0FrRVliQ0FBYWlvQ0VDSVBJQkpkSUE4Z0UxNXlSUVJBSUFKQkdHd2dBR29xQWhRaUVDQVZYaUFRSUJSZGNrVUVRQ0FQSUFNcUFnQWlENU1nQXlvQ0RDQURLZ0lFSWhhVGxDQVFJQmFUSUFNcUFnZ2dENU9Va3lJUElBK1VJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUF3c2dBVUVZYkNBQWFrRUJOZ0lNREFJTElBTWdBMEVJYWlBSElBZ1Eyd0lnQXlBRFFSQnFJQWtnQ2hEYkFpQUVRUWdRT2JJaEZpQUVRUWRzUVFnUU9iSWhGeUFGUVFnUU9iSWhHQ0FGUVFkc1FRZ1FPYkloR1NBRFFSaHFJUXdnQ1NvQ0FDSVVJQWdxQWdBaUVwUWlFU0FLS2dJQUloVWdCeW9DQUNJVGxDSVBrME1BQUFBQVlFVWhDU0FQSUJHVFF3QUFBQUJnUlNFTlFRSkJBU0FKR3lFSFFRRkJBaUFKR3lFSVFYOGhBVUVBSVFKREFBQUFBQ0VSQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdGbDBnRHlBWFhuSkZCRUFnQWtFWWJDQUFhaUlFS2dJVUloQWdHRjBnRUNBWlhuSkZCRUFnRENBUE9BSUFJQU1nQkNnQ0ZEWUNIQ0FESUF3Z0N5QUdFTnNDSUFzcUFnQWhEd0ovQWtBZ0NRUi9JQVlxQWdBaEVBd0JCU0FTSUErVUlCTWdCaW9DQUNJUWxKTkRBQUFBQUdBRWYwRUNRUU1nRlNBUGxDQVVJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUJJUXBCQTBFQ0lBVWJCUXdDQ3dzTUFRc2dEU0FWSUErVUlob2dGQ0FRbENJYmswTUFBQUFBWUVWeUJIOGdFeUFRbENBU0lBK1VrME1BQUFBQVlFVWdHeUFhazBNQUFBQUFZRVZ5RFFSQkF5RUtJQWdoQkNBSEJVRUJRUU1nRWlBUGxDQVRJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUNJUXBCQTBFQklBVWJDd3NoQlNBRElBb2dCU0FFRUxBSklnOGdFVjRFZnlBUElSRWdBZ1VnQVFzaEFRc0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FCUVJoc0lBQnFRUUUyQWd3TERBRUxRUUFoQXdKQUFrQURRQUpBQWtBQ1FDQURRUmhzSUFGcUlnSW9BZ3hCZjJzT0FnSUFBUXNnQWtFQk5nSU1JQU5CR0d3Z0FXb2hCQ0FEUVJoc0lBRnFJUVVnQTBFWWJDQUJhaUVIUVFBaEFnTkFBa0FDUUNBQ1FSaHNJQUJxSWdnb0FneEJmMnNPQWdNQUFRc2dCQ2dDQUNBQ1FSaHNJQUJxS0FJQVJnUkFJQVVvQWdRZ0FrRVliQ0FBYWlnQ0JFWUVRQ0FIS0FJSUlBSkJHR3dnQUdvb0FnaEdEUWNMQ3dzZ0FrRUJhaUVDREFBQUN3QUxJQU5CQVdvaEF3d0JDd3NNQVFzZ0NFRUJOZ0lNSUFJaEFRd0JDeUFCUVg4MkFneEJoTVFEUVFCQmhNUURLQUlBSWdFRWZ5QUJCVUhvdmdOQkFCQVRRWDlxclRjREFFR0V4QU1vQWdBTFFRRnFJZ0VnQVVHQUFVWWJOZ0lBUVFBaEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBQlJRUkFRWDhoQVF3QkMwSG92Z05CNkw0REtRTUFRcTMrMWVUVWhmMm8yQUIrUWdGOElnNDNBd0FnQWJJZ0RrSWhpS2V5bEVNQUFBQXdsQkJESVFSQkFDRUNRUUFoQVFOQUFrQUNRQUpBQWtBZ0FrRVliQ0FBYWlJRktBSU1JZ05CZjJzT0FnQUJBZ3NnQXlFQkRBUUxJQUVnQkVZTkFTQUJRUUZxSVFFTElBSkJBV29oQWd3QkN3c2dCVUVCTmdJTUlBSWhBUXNMSUFZa0JpQUJDNWdFQWdGL0VYMGpCaUVFSXdaQk1Hb2tCaUFBQkVBZ0FFRUlhaUFCSUFRUStnRWdBaW9DQUNJTElBUXFBZ0FpRkpRaERpQUNLZ0lFSWdZZ0JDb0NCQ0lNbENFUElBWWdCQ29DRkNJTmxDRVFJQVFxQWl3aUNpQUxJQVFxQWlBaUI1UWlDU0FHSUFRcUFpUWlDSlFpQlpLU0lSRWdDaUFMUXdBQUlFR1NJaElnQjVRZ0JaS1NJUk1nQ2lBSklBWkRBQUFnUVpJaUJpQUlsSktTSVFvZ0JDb0NIQ0lISUFzZ0JDb0NFQ0lJbENJRklBWWdEWlNTa2lBS2xTRUxJQVFxQWd3aUNTQU9JQVlnREpTU2tpQUtsU0VNQlNBQ0tnSUFJZ3NnQVNvQ0FDSVVsQ0VPSUFJcUFnUWlCaUFCS2dJRUlneVVJUThnQmlBQktnSVVJZzJVSVJBZ0FTb0NMQ0lLSUFzZ0FTb0NJQ0lIbENJSklBWWdBU29DSkNJSWxDSUZrcEloRVNBS0lBdERBQUFnUVpJaUVpQUhsQ0FGa3BJaEV5QUtJQWtnQmtNQUFDQkJraUlHSUFpVWtwSWhDaUFCS2dJY0lnY2dDeUFCS2dJUUlnaVVJZ1VnQmlBTmxKS1NJQXFWSVFzZ0FTb0NEQ0lKSUE0Z0JpQU1sSktTSUFxVklRd0xJQWNnRWlBSWxDQVFrcElnRTVVaERTQUpJQklnRkpRZ0Q1S1NJQk9WSVJVZ0J5QUZJQkNTa2lBUmxTRUhJQWtnRGlBUGtwSWdFWlVoQ1NBVklBbVRJZ1VnQlpRZ0RTQUhreUlGSUFXVWtpSUlJQXdnQ1pNaUJTQUZsQ0FMSUFlVElnVWdCWlNTSWdWZElRQWdBeUFGSUFnZ0FCdVJRMXlQSWtDVU9BSUFJQU1nQ0NBRklBQWJrVU5janlKQWxEZ0NCQ0FFSkFaQkFBc2ZBQ0FBQkg4Z0FDQUJJQUlnQXhDR0JBVkJBQ0FCSUFJZ0F4Q0dCQXNhQ3dZQVFSd1FBZ3NHQUVFYkVBSUxCZ0JCRnhBQ0N3WUFRUklRQWdzSUFFRVBFQUpDQUFzSUFFRU1FQUpCQUFzSUFFRUtFQUpCQUF1TUFRRUNmeU1GUVFGcUpBVWdBQ01GTmdJQUEwQWdCQ0FEU0FSQUlBUkJBM1FnQW1vb0FnQkZCRUFnQkVFRGRDQUNhaU1GTmdJQUlBUkJBM1JCQkdvZ0Ftb2dBVFlDQUNBRVFRTjBRUWhxSUFKcVFRQTJBZ0FnQXhBRElBSVBDeUFFUVFGcUlRUU1BUXNMSUFBZ0FTQUNJQU5CQVhRaUFFRUJha0VEZEJEb0FTQUFFSThFSVFVZ0FCQURJQVVMcnd3QkIzOGdBQ0FCYWlFRklBQW9BZ1FpQTBFQmNVVUVRQUpBSUFBb0FnQWhBaUFEUVFOeFJRUkFEd3NnQVNBQ2FpRUJJQUFnQW1zaUFFSEEwUU1vQWdCR0JFQWdCU2dDQkNJQ1FRTnhRUU5IRFFGQnRORURJQUUyQWdBZ0JTQUNRWDV4TmdJRUlBQWdBVUVCY2pZQ0JDQUZJQUUyQWdBUEN5QUNRUU4ySVFRZ0FrR0FBa2tFUUNBQUtBSUlJZ0lnQUNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTERBRUxJQUFvQWhnaEJ5QUFJQUFvQWd3aUFrWUVRQUpBSUFCQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQUNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSEJFQWdBQ0FBS0FJY0lnTkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWRCRUdvaUF5QUhRUlJxSUFBZ0F5Z0NBRVliSUFJMkFnQWdBa1VOQWdzZ0FpQUhOZ0lZSUFBb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQUFvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQVVvQWdRaUIwRUNjUVJBSUFVZ0IwRitjVFlDQkNBQUlBRkJBWEkyQWdRZ0FDQUJhaUFCTmdJQUlBRWhBd1VnQlVIRTBRTW9BZ0JHQkVCQnVORURJQUZCdU5FREtBSUFhaUlCTmdJQVFjVFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JFSEEwUU1vQWdBZ0FFY0VRQThMUWNEUkEwRUFOZ0lBUWJUUkEwRUFOZ0lBRHdzZ0JVSEEwUU1vQWdCR0JFQkJ0TkVESUFGQnRORURLQUlBYWlJQk5nSUFRY0RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCQ0FBSUFGcUlBRTJBZ0FQQ3lBSFFRTjJJUVFnQjBHQUFra0VRQ0FGS0FJSUlnSWdCU2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMQlFKQUlBVW9BaGdoQ0NBRktBSU1JZ0lnQlVZRVFBSkFJQVZCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdCU2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFJQkVBZ0JTZ0NIQ0lEUVFKMFFkelRBMm9pQkNnQ0FDQUZSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBaEJFR29pQXlBSVFSUnFJQU1vQWdBZ0JVWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSU5nSVlJQVVvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBVW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBQWdBU0FIUVhoeGFpSURRUUZ5TmdJRUlBQWdBMm9nQXpZQ0FDQUFRY0RSQXlnQ0FFWUVRRUcwMFFNZ0F6WUNBQThMQ3lBRFFRTjJJUUlnQTBHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQTBFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlES0FJQUJVR3MwUU1nQWlBRGNqWUNBQ0FCUVFocUlRTWdBUXNoQWlBRElBQTJBZ0FnQWlBQU5nSU1JQUFnQWpZQ0NDQUFJQUUyQWd3UEN5QURRUWgySWdFRWZ5QURRZi8vL3dkTEJIOUJId1VnQVNBQlFZRCtQMnBCRUhaQkNIRWlBblFpQkVHQTRCOXFRUkIyUVFSeElRRkJEaUFCSUFKeUlBUWdBWFFpQVVHQWdBOXFRUkIyUVFKeElnSnlheUFCSUFKMFFROTJhaUlCUVFGMElBTWdBVUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRRWdBQ0FDTmdJY0lBQkJBRFlDRkNBQVFRQTJBaEFDUUVHdzBRTW9BZ0FpQkVFQklBSjBJZ1p4UlFSQVFiRFJBeUFFSUFaeU5nSUFJQUVnQURZQ0FBd0JDeUFESUFFb0FnQWlBU2dDQkVGNGNVWUVRQ0FCSVFJRkFrQWdBMEVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUVFEUUNBQlFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFnUkFJQVJCQVhRaEJDQURJQUlvQWdSQmVIRkdEUUlnQWlFQkRBRUxDeUFHSUFBMkFnQU1BZ3NMSUFJb0FnZ2lBU0FBTmdJTUlBSWdBRFlDQ0NBQUlBRTJBZ2dnQUNBQ05nSU1JQUJCQURZQ0dBOExJQUFnQVRZQ0dDQUFJQUEyQWd3Z0FDQUFOZ0lJQzgwQkFRTi9RZS8vLy84RElBRnJJQUpKQkVBUUFBc2dBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJUVVnQVVIbi8vLy9BVWtFUUVFQ0lBRkJBWFFpQnlBQklBSnFJZ0lnQWlBSFNSc2lBa0VFYWtGOGNTQUNRUUpKR3lJQ1FmLy8vLzhEU3dSQUVBQUZJQUloQmdzRlFlLy8vLzhESVFZTElBWkJBblFRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ25BUXNnQXlBRWF5SURCRUFnQWlBRVFRSjBhaUFGSUFSQkFuUnFJQU1RcHdFTElBRkJBVWNFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQzZBQ0FRUi9Jd1loQ0NNR1FSQnFKQVpCN3YvLy93TWdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhCU1FSQVFRSWdBVUVCZENJTElBRWdBbW9pQWlBQ0lBdEpHeUlDUVFScVFYeHhJQUpCQWtrYklnSkIvLy8vL3dOTEJFQVFBQVVnQWlFS0N3VkI3Ly8vL3dNaENnc2dDa0VDZEJCUklRSWdCQVJBSUFJZ0NTQUVFS2NCQ3lBR0JFQWdCRUVDZENBQ2FpQUhJQVlRcHdFTElBTWdCV3NpQXlBRWF5SUhCRUFnQkVFQ2RDQUNhaUFHUVFKMGFpQUVRUUowSUFscUlBVkJBblJxSUFjUXB3RUxJQUZCQVVjRVFDQUpFRGdMSUFBZ0FqWUNBQ0FBSUFwQmdJQ0FnSGh5TmdJSUlBQWdBeUFHYWlJQU5nSUVJQWhCQURZQ0FDQUFRUUowSUFKcUlBZ1FiaUFJSkFZTGtBRUJBMzhqQmlFREl3WkJFR29rQmlBQlFlLy8vLzhEU3dSQUVBQUxJQUZCQWtrRVFDQUFJQUU2QUFzZ0FDRUVCU0FCUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBVFlDQkFzTElBRUVRQ0FFSUFJZ0FSRHJCQXNnQTBFQU5nSUFJQUZCQW5RZ0JHb2dBeEJ1SUFNa0JndnVBUUVEZnlNR0lRZ2pCa0VRYWlRR1FXNGdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhIU1FSL1FRc2dBVUVCZENJS0lBRWdBbW9pQWlBQ0lBcEpHeUlDUVJCcVFYQnhJQUpCQzBrYkJVRnZDeUlLRUZFaEFpQUVCRUFnQWlBSklBUVFxQUVMSUFZRVFDQUNJQVJxSUFjZ0JoQ29BUXNnQXlBRmF5SURJQVJySWdjRVFDQUdJQUlnQkdwcUlBVWdCQ0FKYW1vZ0J4Q29BUXNnQVVFS1J3UkFJQWtRT0FzZ0FDQUNOZ0lBSUFBZ0NrR0FnSUNBZUhJMkFnZ2dBQ0FESUFacUlnQTJBZ1FnQ0VFQU9nQUFJQUFnQW1vZ0NCQmZJQWdrQmdzV0FDQUJCRUFnQUNBQ0VFSkIvd0Z4SUFFUVJSb0xDM0lCQTM4akJpRURJd1pCRUdva0JpQUJRVzlMQkVBUUFBc2dBVUVMU1FSQUlBQWdBVG9BQ3dVZ0FDQUJRUkJxUVhCeElnUVFVU0lGTmdJQUlBQWdCRUdBZ0lDQWVISTJBZ2dnQUNBQk5nSUVJQVVoQUFzZ0FDQUJJQUlRbFFRZ0EwRUFPZ0FBSUFBZ0FXb2dBeEJmSUFNa0JndjZGUU1NZndGK0Fud2pCaUVMSXdaQjBBRnFKQVlnQzBISUFXb2hEU0FMUWNBQmFpRU9JQXRCNEFCcUlRd2dBeWdDQkNFS0EwQWdCeUFLU0FSQUlBTW9BZ0FpQ0NBSFFjQUNiR29oQ1NBSFFjQUNiQ0FJYWlnQ0JBUkFJQWRCd0FKc0lBaHFJUkJCQUNFRlFYOGhCZ05BSUFVZ0FrZ0VRQUpBQWtBQ1FDQUZRUWgwSUFGcUtBSU1JZzhOQUNBRlFRaDBJQUZxS1FQNEFTSVJVQTBBSUJFZ0VDa0R1QUpSRFFFTUFnc2dEeUFKS0FJQVJnMEFEQUVMSUFWQkNIUWdBV29yQXpBaUVpQURLd040WTBVRVFDQUdRWDlHQkg4Z0JRVWdCa0VJZENBQmFpc0RNQ0FTWXdSL0lBVUZJQVlMQ3lFR0N3c2dCVUVCYWlFRkRBRUxDeUFIUWNBQ2JDQUlhaUFHTmdLd0FpQUdRWDlLQkVBZ0JrRUlkQ0FCYWlBR1FRaDBJQUZxS0FJWU5nSVFDd1ZCZnlFR1FRQWhCUU5BSUFVZ0FrZ0VRQ0FGUVFoMElBRnFLQUlJSUFrb0FnQkdCRUFnQlVFSWRDQUJhaXNES0NJU0lBTXJBM0JqUlFSQUlBWkJmMFlFZnlBRkJTQUdRUWgwSUFGcUt3TW9JQkpqQkg4Z0JRVWdCZ3NMSVFZTEN5QUZRUUZxSVFVTUFRc0xJQWRCd0FKc0lBaHFJQVkyQXJBQ0lBWkJmMG9FUUNBR1FRaDBJQUZxSUFaQkNIUWdBV29vQWhRMkFoQUxDeUFIUVFGcUlRY01BUXNMUVFBaEJVRUFJUUpCQUNFR1FRQWhCd05BSUFjZ0NrZ0VRQ0FES0FJQUlnb2dCMEhBQW14cUtBS3dBaUlJUVFCT0JFQUNRQ0FBSUFoQkNIUWdBV29pQ1NBSFFjQUNiQ0FLYWlzRENDQUxFTm9EUkFBQUFBQUFBQkJBWkFSQUlBTW9BZ0FnQjBIQUFteHFRWDgyQXJBQ0lBaEJDSFFnQVdvaUNDZ0M3QUVOQVNBSVFRYzJBdXdCREFFTElBVkZJQUlnQ1NnQ0FDSUlTSElFUUVFQUlRSURmeUFDUVFOR0JIOGdCeUVHSUFnRlFRQWhCZ05BSUFaQkJFY0VRQ0FDUVFWMElBeHFJQVpCQTNScUlBSkJCWFFnQzJvZ0JrRURkR29yQXdBNUF3QWdCa0VCYWlFR0RBRUxDeUFDUVFGcUlRSU1BUXNMSVFJTElBVkJBV29oQlFzTElBZEJBV29oQnlBREtBSUVJUW9NQVFzTEFrQUNRQ0FGUlEwQUlBVWdBeWdDZ0FGSURRQWdEQ0FES0FJQUlBWkJ3QUpzYWtId0FHb2dDeEN6QWlBRlFRWjBFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTElBVkI0QUJzRUVRaUJrVUVRRUVBUVFOQnVkZ0NJQTBRUFVFQkVBRUxJQVZCQW5RaENDQURLQUlFSVJCQkFDRUZRUUFoQWdOQUlBVWdFRWdFUUNBREtBSUFJZ29nQlVIQUFteHFLQUt3QWlJSlFRQk9CRUFnQWtFRGRDSU5RUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVFnQ1VFSWRDQUJhaWdDRUNJT2EwRUVFRThpRDBFRWRHb3JBd0E1QXdBZ0RVRUJja0VEZENBSGFpQUpRUWgwSUFGcUlBOUJCSFJxS3dPd0FUa0RBQ0FOUVFKeVFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRVWdEbXRCQkJCUElnOUJCSFJxS3dNQU9RTUFJQTFCQTNKQkEzUWdCMm9nQ1VFSWRDQUJhaUFQUVFSMGFpc0RzQUU1QXdBZ0RVRUVja0VEZENBSGFpQUpRUWgwSUFGcVFhZ0Jha0VHSUE1clFRUVFUeUlQUVFSMGFpc0RBRGtEQUNBTlFRVnlRUU4wSUFkcUlBbEJDSFFnQVdvZ0QwRUVkR29yQTdBQk9RTUFJQTFCQm5KQkEzUWdCMm9nQ1VFSWRDQUJha0dvQVdwQkJ5QU9hMEVFRUU4aURrRUVkR29yQXdBNUF3QWdEVUVIY2tFRGRDQUhhaUFKUVFoMElBRnFJQTVCQkhScUt3T3dBVGtEQUNBQ1FReHNJZ2xCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOUFCT1FNQUlBbEJBWEpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOWdCT1FNQUlBbEJBbkpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK0FCT1FNQUlBbEJBM0pCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK2dCT1FNQUlBbEJCR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL0FCT1FNQUlBbEJCV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL2dCT1FNQUlBbEJCbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNEFDT1FNQUlBbEJCMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNGdDT1FNQUlBbEJDR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNUFDT1FNQUlBbEJDV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNWdDT1FNQUlBbEJDbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNkFDT1FNQUlBbEJDMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNmdDT1FNQUlBSkJBV29oQWdzZ0JVRUJhaUVGREFFTEN5QUVRUUJISVFRZ0F5Z0NhQVJBSUFBZ0N5QUhJQVlnQ0NBTUVMOENJaElnQUNBRFFRaHFJZ0lnQnlBR0lBZ2dBaEMvQWlJVFl5RUZJQVFFUUNBRkJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1abnBQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5aUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVFBQUFBQUFBQUFBQkNOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBRFFRaHFJQUJCQlhScUlBSkJBM1JxSUFCQkJYUWdER29nQWtFRGRHb3JBd0E1QXdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xCU0FUSVJJTEN3c0xDd1VnQlFSQVFRQWhBQU5BSUFCQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0EwRUlhaUFBUVFWMGFpQUNRUU4wYWlBQVFRVjBJQXhxSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDd1VnRXlFU0N3c0ZJQVFnQUNBTElBY2dCaUFJSUFOQkNHb2lBaEMvQWlJU1JBQUFBQUFBQURSQVpuRUVRQ0FBS0FJQVJKcVptWm1abWVrL0VJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkloSkVBQUFBQUFBQU5FQm1CSHdnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnQWhDT0FTSVNSQUFBQUFBQUFEUkFaZ1I4SUFBb0FnQkVtcG1abVptWjJUOFFqUUVnQUNBTElBY2dCaUFJSUFJUWpnRWlFa1FBQUFBQUFBQTBRR1lFZkNBQUtBSUFSQUFBQUFBQUFBQUFFSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJCU0FTQ3dVZ0Vnc0ZJQklMSVJJTEN5QUdFRGdnQnhBNEFrQWdFa1FBQUFBQUFBQTBRR01FUUNBRFFRRTJBbWdNQVFzZ0EwRUFOZ0pvSUFNb0FnUWhBa0VBSVFBRFFDQUFJQUpPRFFFZ0F5Z0NBQ0FBUWNBQ2JHb29BckFDSWdSQkFFNEVRQ0FFUVFoMElBRnFJZ1FvQXV3QlJRUkFJQVJCQ0RZQzdBRUxDeUFBUVFGcUlRQU1BQUFMQUFzTUFRc2dBMEVBTmdKb0N5QUxKQVlMeVF3Q0VIOFJmQ01HSVFZakJrR0FBV29rQmlBR1FmZ0FhaUVPSUFaQjhBQnFJUThnQmtIb0FHb2hFQ0FHUWVBQWFpRVJJQVpCMkFCcUlSSWdCa0hRQUdvaENDQUdRY2dBYWlFSklBTkJCRWdFZjBGL0JRSi9BMEFnQlNBRFNBUkFJQVZCQVdvaEUwRi9JQVZCR0d3Z0Ftb3JBeEJFQUFBQUFBQUFBQUJpRFFJYUlCTWhCUXdCQ3dzZ0FDc0RBRVFBQUFBQUFBQUFBR0VFZjBGL0JTQUFLd01nUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQXloRUFBQUFBQUFBQUFCaEJIOUJmd1VnQUVGQWF5c0RBRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd05JUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFCRUFBQUFBQUFBOEQ5aUJIOUJmd1VnQUNzREdFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TTRSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMWhFQUFBQUFBQUFBQUJpQkg5QmZ3VWdBMEVCZENJRlFRZ1Fpd0VpQ2tVRVFFRUFRUU5COWF3QklBa1FQVUYvREFvTElBVkJBUkNMQVNJSlJRUkFJQW9RU1VFQVFRTkJqNjBCSUFnUVBVRi9EQW9MUVFBaENBTkFJQU1nQ0VjRVFDQUtLQUlBSWdjZ0NFRUVkQ0lGUVFOMGFpQUlRUmhzSUFKcUlnc3JBd0E1QXdBZ0JVRUJja0VEZENBSGFpQUlRUmhzSUFKcUlnd3JBd2c1QXdBZ0JVRUNja0VEZENBSGFrUUFBQUFBQUFEd1B6a0RBQ0FGUVFOeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJCSEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFRmNrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUVp5UVFOMElBZHFJQXNyQXdBZ0NFRUVkQ0FCYWlJTkt3TUFvcG81QXdBZ0JVRUhja0VEZENBSGFpQU1Ld01JSUEwckF3Q2ltamtEQUNBRlFRaHlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQ1hKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUtja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVF0eVFRTjBJQWRxSUFzckF3QTVBd0FnQlVFTWNrRURkQ0FIYWlBTUt3TUlPUU1BSUFWQkRYSkJBM1FnQjJwRUFBQUFBQUFBOEQ4NUF3QWdCVUVPY2tFRGRDQUhhaUFMS3dNQUlBaEJCSFFnQVdvaUN5c0RDS0thT1FNQUlBVkJEM0pCQTNRZ0Iyb2dEQ3NEQ0NBTEt3TUlvcG81QXdBZ0NTZ0NBQ0lISUFoQkFYUWlCVUVEZEdvZ0RTc0RBRGtEQUNBRlFRRnlRUU4wSUFkcUlBc3JBd2c1QXdBZ0NFRUJhaUVJREFFTEN5QUtFS0FESWdGRkJFQWdDaEJKSUFrUVNVRUFRUU5CcWEwQklCSVFQVUYvREFvTElBRWdDaERaQVNJRFJRUkFJQW9RU1NBSkVFa2dBUkJKUVFCQkEwSERyUUVnRVJBOVFYOE1DZ3NnQVNBSkVOa0JJZ1ZGQkVBZ0NoQkpJQWtRU1NBQkVFa2dBeEJKUVFCQkEwSGRyUUVnRUJBOVFYOE1DZ3NnQXhEV0FVRUFTQVJBSUFvUVNTQUpFRWtnQVJCSklBTVFTU0FGRUVsQkFFRURRZmV0QVNBUEVEMUJmd3dLQ3lBRElBVVEyUUVpQndSL0lBY29BZ0FpQWlzRE1DRVdJQUlyQXdBZ0ZpQUFLd01RSWgyaW9TQUNLd01ZSUJZZ0FDc0RNQ0lib3FFZ0FDc0RLQ0ljb3lJWklBQXJBd2dpSHFLaElBQXJBd0FpSDZNaEdDQUNLd01nSUJzZ0Fpc0RPQ0lWb3FFZ0hLTWhGeUFDS3dNSUlCMGdGYUtoSUI0Z0Y2S2hJQitqSVJvZ0Fpc0RLQ0Fib1NBY295RWJJQUlyQXhBaEpDQUtFRWtnQ1JCSklBRVFTU0FERUVrZ0JSQkpJQWNRU1NBR0lCZ2dGaUFXb2lBWklCbWlJQmdnR0tLZ29KOGlHS001QXdBZ0JpQVpJQmlqT1FNSUlBWWdGaUFZb3prREVDQUdJQm9nRlNBVm9pQVhJQmVpSUJvZ0dxS2dvSjhpRnFNNUF4Z2dCaUFYSUJhak9RTWdJQVlnRlNBV296a0RLQ0FHRVBJSklBWXJBd2dpR1NBR0t3TW9JaHFpSUFZckF4QWlIQ0FHS3dNZ0lpQ2lvU0VWSUJ3Z0Jpc0RHQ0lob2lBYUlBWXJBd0FpSXFLaElSY2dCaUFWSUNBZ0lxSWdHU0Fob3FFaUl5QWpvaUFWSUJXaUlCY2dGNktnb0o4aUZhTWlKVGtETUNBR0lCY2dGYU1pRnprRE9DQUdRVUJySUNNZ0ZhTWlGVGtEQUNBRUlDSTVBd0FnQkNBWk9RTWdJQVJCUUdzZ0hEa0RBQ0FFSUNFNUF3Z2dCQ0FnT1FNb0lBUWdHamtEU0NBRUlDVTVBeEFnQkNBWE9RTXdJQVFnRlRrRFVDQUVJQ1FnSGFFZ0hpQWJvcUVnSDZNZ0dDQVdvRVFBQUFBQUFBRGdQNklpRnFNNUF4Z2dCQ0FiSUJhak9RTTRJQVJFQUFBQUFBQUE4RDhnRnFNNUExaEJBQVVnQ2hCSklBa1FTU0FCRUVrZ0F4QkpJQVVRU1VFQVFRTkJrYTRCSUE0UVBVRi9Dd3NMQ3dzTEN3c0xDd3NMSVJRZ0JpUUdJQlFMRWdBZ0FFR3NvZ0UyQWdBZ0FFRVFhaEJIQ3hJQUlBQkJoS0lCTmdJQUlBQkJER29RUndzakFRRi9JQUJCMEtFQk5nSUFJQUFvQWdnaUFRUkFJQUFzQUF3RVFDQUJFRGdMQ3d0OUFRUi9JQUJCdktFQk5nSUFJQUJCQ0dvaEF3TkFJQUlnQUNnQ0RDQURLQUlBSWdGclFRSjFTUVJBSUFKQkFuUWdBV29vQWdBaUFRUkFJQUVnQVNnQ0JDSUVRWDlxTmdJRUlBUkZCRUFnQVNBQktBSUFLQUlJUWY4QmNVR3NBMm9SQVFBTEN5QUNRUUZxSVFJTUFRc0xJQUJCa0FGcUVFY2dBeENQQ2d2VUNnSVBmd1I4SXdZaEN5TUdRY0FCYWlRR0lBdEJ1QUZxSVFnZ0MwR3dBV29oRGlBTFFhZ0JhaUVLSUF0Qm9BRnFJUVVnQzBHUUFXb2hEeUFMUVRCcUlSQWdBU2dDQ0NJSlFRUklCSDlCZndVQ2Z3Si9JQUFyQTRBQklBbTNvaEJ6SVJFZ0NVSGdBR3dRUkNJR1JRUkFRUUJCQTBISzJBSWdCUkE5UVg4TUFnc2dDVUVFZEJCRUlnZEZCRUJCQUVFRFFjcllBaUFLRUQwZ0JoQTRRWDhNQWdzZ0NVRURkQ0lGRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQTRRUFNBR0VEZ2dCeEE0UVg4TUFnc2dCUkJFSWcxRkJFQkJBRUVEUWNyWUFpQUlFRDBnQmhBNElBY1FPQ0FKRURoQmZ3d0NDeUFSUVg5cUlnVUxRUU1nQlVFRFNoc2hFa0VBSVFvRFFDQUtRUU5IQkVCQkFDRU1BMEFnREVFRVJ3UkFJQXBCQlhRZ0Eyb2dERUVEZEdvZ0NrRUZkQ0FDYWlBTVFRTjBhaXNEQURrREFDQU1RUUZxSVF3TUFRc0xJQXBCQVdvaENnd0JDd3NnRWtFRGRDQU5haUVNUVFBaENnSkFBa0FDUUFKQUEwQUNRQ0FBSUFNZ0VCQ3pBa0VBSVFVRFFDQUZJQUVvQWdnaUFrZ0VRQ0FQSUJBZ0FTZ0NCQ0FGUVJoc2FoQzdCRUVBU0EwQ0lBRW9BZ0FpQWlBRlFRUjBhaXNEQUNBUEt3TUFvU0VXSUFWQkJIUWdBbW9yQXdnZ0R5c0RDS0VoRkNBRlFRRjBJZ0pCQTNRZ0Iyb2dGamtEQUNBQ1FRRnlRUU4wSUFkcUlCUTVBd0FnQlVFRGRDQU5haUFXSUJhaUlCUWdGS0tnSWhRNUF3QWdCVUVEZENBSmFpQVVPUU1BSUFWQkFXb2hCUXdCQ3dzZ0RTQUNRUWhCRWhDQ0F5QUJLQUlJSVFKRUFBQUFBQUFBTUVBZ0RDc0RBRVFBQUFBQUFBQVFRS0lpRkNBVVJBQUFBQUFBQURCQVl4c2lGMFFBQUFBQUFBQVlRS01oRmtRQUFBQUFBQUFBQUNFVVFRQWhCUU5BSUFVZ0FrZ0VRQ0FVSUFWQkEzUWdEV29yQXdBaUZDQVhaQVI4SUJZRklCWkVBQUFBQUFBQThEOUVBQUFBQUFBQThEOGdGQ0FYbzZFaUZDQVVJQlNpb3FHaUM2QWhGQ0FGUVFGcUlRVU1BUXNMSUJRZ0FyZWpJaFFnQUNzRGFHTU5CU0FLQkVBZ0ZDQUFLd040WXdSQUlCUWdGYU1nQUNzRGNHUU5Cd3NMSUFvZ0FDZ0NZRVlOQlVFQUlRVkJBQ0VPQTBBZ0RpQUNTQVJBSUE1QkEzUWdDV29yQXdBaUZTQVhaUVJBSUFWQkJtd2lDRUVEZENBR2FpSUNJQUFnQXlBQktBSUVJQTVCR0d4cUVMa0VRUUJJRFFVZ0FrUUFBQUFBQUFEd1B5QVZJQmVqb1NJVklCV2lJaFVnQWlzREFLSTVBd0FnQ0VFQmNrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVDYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRURha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVGYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUdha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVJYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUpha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFS2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVMYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0JVRURkQ0FIYWlBVklBNUJBWFFpQWtFRGRDQUhhaXNEQUtJNUF3QWdCVUVCYWtFRGRDQUhhaUFWSUFKQkFYSkJBM1FnQjJvckF3Q2lPUU1BSUFWQkFtb2hCU0FCS0FJSUlRSUxJQTVCQVdvaERnd0JDd3NnQlVFR1NBMERJQXNnQnlBR0lBVVFzd1JCQUVnTkJDQURJQXNRc2dRZ0ZDRVZJQXBCQVdvaENnd0JDd3NnQmlBSElBa2dEUkNQQWtGL0RBUUxJQVlnQnlBSklBMFFqd0pCZnd3REN5QUdJQWNnQ1NBTkVJOENRWDhNQWdzZ0JpQUhJQWtnRFJDUEFrRi9EQUVMSUFRZ0ZEa0RBQ0FHRURnZ0J4QTRJQWtRT0NBTkVEaEJBQXNMSVJNZ0N5UUdJQk1MSGdBZ0FFR01vUUUyQWdBZ0FDZ0NDQkJjUndSQUlBQW9BZ2dRaHdNTEN4SUFJQVFnQWpZQ0FDQUhJQVUyQWdCQkF3c0VBRUVFQ3hVQUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3hwQmZ3ditDQUVNZnlBQ0lBQTJBZ0FnRFVFRWFpRVlJQU5CZ0FSeFJTRVpJQTVCQUVvaEdnTkFJQmRCQkVjRVFBSkFBa0FDUUFKQUFrQUNRQ0FJSUJkcUxBQUFEZ1VBQVFNQ0JBVUxJQUVnQWlnQ0FEWUNBQXdFQ3lBQklBSW9BZ0EyQWdBZ0JpZ0NBQ2dDTENFUElBWkJJQ0FQUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFOZ0lBSUE4Z0VEWUNBQXdEQ3lBTkxBQUxJZzlCQUVnaEVDQVlLQUlBSUE5Qi93RnhJQkFiQkVBZ0RTZ0NBQ0FOSUJBYktBSUFJUkFnQWlBQ0tBSUFJZzlCQkdvMkFnQWdEeUFRTmdJQUN3d0NDeUFNTEFBTElnOUJBRWdoRUNBWklBd29BZ1FnRDBIL0FYRWdFQnNpRTBWeVJRUkFJQXdvQWdBZ0RDQVFHeUlQSUJOQkFuUnFJUkVnQWlnQ0FDSVFJUklEUUNBUElCRkhCRUFnRWlBUEtBSUFOZ0lBSUJKQkJHb2hFaUFQUVFScUlROE1BUXNMSUFJZ0UwRUNkQ0FRYWpZQ0FBc01BUXNnQWlnQ0FDRVVJQVJCQkdvZ0JDQUhHeUlXSVFRRFFBSkFJQVFnQlU4TkFDQUdLQUlBS0FJTUlROGdCa0dBRUNBRUtBSUFJQTlCUDNGQnlnRnFFUVFBUlEwQUlBUkJCR29oQkF3QkN3c2dHZ1JBSUE0aER3TkFJQTlCQUVvaUVDQUVJQlpMY1FSQUlBUkJmR29pQkNnQ0FDRVJJQUlnQWlnQ0FDSVFRUVJxTmdJQUlCQWdFVFlDQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSXNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFVElBOGhFU0FDS0FJQUlSQURRQ0FRUVFScUlROGdFVUVBU2dSQUlCQWdFellDQUNBUlFYOXFJUkVnRHlFUURBRUxDeUFDSUE4MkFnQWdFQ0FKTmdJQUN5QUVJQlpHQkVBZ0JpZ0NBQ2dDTENFRUlBWkJNQ0FFUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFJZ1EyQWdBZ0R5QVFOZ0lBQlNBTExBQUxJZzlCQUVnaEVDQUxLQUlFSUE5Qi93RnhJQkFiQkg4Z0N5Z0NBQ0FMSUJBYkxBQUFCVUYvQ3lFUFFRQWhFRUVBSVJJZ0JDRVJBMEFnRVNBV1J3UkFJQUlvQWdBaEZTQVBJQkpHQkg4Z0FpQVZRUVJxSWhNMkFnQWdGU0FLTmdJQUlBc3NBQXNpRDBFQVNDRVZJQkJCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlViU1FSQVFYOGdCQ0FMS0FJQUlBc2dGUnRxTEFBQUlnOGdEMEgvQUVZYklROEZJQkloRHd0QkFDRVNJQk1GSUJBaEJDQVZDeUVRSUJGQmZHb2lFU2dDQUNFVElBSWdFRUVFYWpZQ0FDQVFJQk0yQWdBZ0JDRVFJQkpCQVdvaEVnd0JDd3NnQWlnQ0FDRUVDeUFFSUJSR0JIOGdGZ1VEUUNBVUlBUkJmR29pQkVrRVFDQVVLQUlBSVE4Z0ZDQUVLQUlBTmdJQUlBUWdEellDQUNBVVFRUnFJUlFNQVFVZ0ZpRUVEQU1MQUFBTEFBc2hCQXNnRjBFQmFpRVhEQUVMQ3lBTkxBQUxJZ1JCQUVnaEJ5QVlLQUlBSUFSQi93RnhJQWNiSWdaQkFVc0VRQ0FOS0FJQUlnVkJCR29nR0NBSEd5RUVJQVpCQW5RZ0JTQU5JQWNiYWlJSElBUnJJUVlnQWlnQ0FDSUZJUWdEUUNBRUlBZEhCRUFnQ0NBRUtBSUFOZ0lBSUFoQkJHb2hDQ0FFUVFScUlRUU1BUXNMSUFJZ0JrRUNka0VDZENBRmFqWUNBQXNDUUNBRFFiQUJjVUVZZEVFWWRVRVFheUlEUlEwQUlBTkJFRVlFUUNBQklBSW9BZ0EyQWdBTUFRc2dBU0FBTmdJQUN3dlpCUUVGZnlNR0lRb2pCa0VRYWlRR0lBcEJER29oQ3lBS0lBQUVmeUFDUWZqUEF4QTZCU0FDUWZEUEF4QTZDeUlBSUFFRWZ5QUxJQUFnQUNnQ0FDZ0NMRUUvY1VHeUJXb1JBd0FnQXlBTEtBSUFOZ0FBSUFBb0FnQW9BaUFGSUFzZ0FDQUFLQUlBS0FJb1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0hBdEJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFFSUFBZ0FDZ0NBQ2dDREVIL0FIRkJDR29SQUFBMkFnQWdCU0FBSUFBb0FnQW9BaEJCL3dCeFFRaHFFUUFBTmdJQUlBb2dBQ0FBS0FJQUtBSVVRVDl4UWJJRmFoRURBQ0FHTEFBTFFRQklCRUFDZnlBR0tBSUFJUTBnQzBFQU9nQUFJQTBMSUFzUVh5QUdRUUEyQWdRZ0Jpd0FDMEVBU0FSQUlBWW9BZ2dhSUFZb0FnQVFPQ0FHUVFBMkFnZ0xCU0FMUVFBNkFBQWdCaUFMRUY4Z0JrRUFPZ0FMQ3lBR0lBb3BBZ0EzQWdBZ0JpQUtLQUlJTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBcHFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUtFRWNnQ2lBQUlBQW9BZ0FvQWhoQlAzRkJzZ1ZxRVFNQUlBY3NBQXRCQUVnRVFBSi9JQWNvQWdBaERpQUxRUUEyQWdBZ0Rnc2dDeEJ1SUFkQkFEWUNCQ0FITEFBTFFRQklCRUFnQnlnQ0NCb2dCeWdDQUJBNElBZEJBRFlDQ0FzRklBdEJBRFlDQUNBSElBc1FiaUFIUVFBNkFBc0xJQWNnQ2lrQ0FEY0NBQ0FISUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUpJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUEyQWdBZ0NpUUdDN1lJQVFwL0lBSWdBRFlDQUNBRFFZQUVjVVVoRnlBT1FRQktJUmdEUUNBVlFRUkhCRUFDUUFKQUFrQUNRQUpBQWtBZ0NDQVZhaXdBQUE0RkFBRURBZ1FGQ3lBQklBSW9BZ0EyQWdBTUJBc2dBU0FDS0FJQU5nSUFJQVlvQWdBb0Fod2hEeUFHUVNBZ0QwRS9jVUdLQVdvUkFnQWhFQ0FDSUFJb0FnQWlEMEVCYWpZQ0FDQVBJQkE2QUFBTUF3c2dEU3dBQ3lJUFFRQklJUkFnRFNnQ0JDQVBRZjhCY1NBUUd3UkFJQTBvQWdBZ0RTQVFHeXdBQUNFUUlBSWdBaWdDQUNJUFFRRnFOZ0lBSUE4Z0VEb0FBQXNNQWdzZ0RDd0FDeUlQUVFCSUlSQWdGeUFNS0FJRUlBOUIvd0Z4SUJBYklnOUZja1VFUUNBUElBd29BZ0FnRENBUUd5SVBhaUVRSUFJb0FnQWhFUU5BSUE4Z0VFY0VRQ0FSSUE4c0FBQTZBQUFnRVVFQmFpRVJJQTlCQVdvaER3d0JDd3NnQWlBUk5nSUFDd3dCQ3lBQ0tBSUFJUklnQkVFQmFpQUVJQWNiSWhNaEJBTkFBa0FnQkNBRlR3MEFJQVFzQUFBaUQwRi9UQTBBSUFZb0FnZ2dEMEVCZEdvdUFRQkJnQkJ4UlEwQUlBUkJBV29oQkF3QkN3c2dHQVJBSUE0aER3TkFJQTlCQUVvaUVDQUVJQk5MY1FSQUlBUkJmMm9pQkN3QUFDRVJJQUlnQWlnQ0FDSVFRUUZxTmdJQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSWNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFUkEwQWdBaUFDS0FJQUloQkJBV28yQWdBZ0QwRUFTZ1JBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBZ0NUb0FBQXNnQkNBVFJnUkFJQVlvQWdBb0Fod2hCQ0FHUVRBZ0JFRS9jVUdLQVdvUkFnQWhEeUFDSUFJb0FnQWlCRUVCYWpZQ0FDQUVJQTg2QUFBRkFrQWdDeXdBQ3lJUFFRQklJUkFnQ3lnQ0JDQVBRZjhCY1NBUUd3Ui9JQXNvQWdBZ0N5QVFHeXdBQUFWQmZ3c2hEMEVBSVJGQkFDRVVJQVFoRUFOQUlCQWdFMFlOQVNBUElCUkdCRUFnQWlBQ0tBSUFJZ1JCQVdvMkFnQWdCQ0FLT2dBQUlBc3NBQXNpRDBFQVNDRVdJQkZCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlliU1FSQVFYOGdCQ0FMS0FJQUlBc2dGaHRxTEFBQUlnOGdEMEgvQUVZYklROEZJQlFoRHd0QkFDRVVCU0FSSVFRTElCQkJmMm9pRUN3QUFDRVdJQUlnQWlnQ0FDSVJRUUZxTmdJQUlCRWdGam9BQUNBRUlSRWdGRUVCYWlFVURBQUFDd0FMQ3lBQ0tBSUFJZ1FnRWtZRWZ5QVRCUU5BSUJJZ0JFRi9haUlFU1FSQUlCSXNBQUFoRHlBU0lBUXNBQUE2QUFBZ0JDQVBPZ0FBSUJKQkFXb2hFZ3dCQlNBVElRUU1Bd3NBQUFzQUN5RUVDeUFWUVFGcUlSVU1BUXNMSUEwc0FBc2lCRUVBU0NFR0lBMG9BZ1FnQkVIL0FYRWdCaHNpQlVFQlN3UkFJQTBvQWdBZ0RTQUdHeUlFSUFWcUlRVWdBaWdDQUNFR0EwQWdCU0FFUVFGcUlnUkhCRUFnQmlBRUxBQUFPZ0FBSUFaQkFXb2hCZ3dCQ3dzZ0FpQUdOZ0lBQ3dKQUlBTkJzQUZ4UVJoMFFSaDFRUkJySWdORkRRQWdBMEVRUmdSQUlBRWdBaWdDQURZQ0FBd0JDeUFCSUFBMkFnQUxDOWtGQVFWL0l3WWhDaU1HUVJCcUpBWWdDa0VNYWlFTElBb2dBQVIvSUFKQjZNOERFRG9GSUFKQjRNOERFRG9MSWdBZ0FRUi9JQXNnQUNBQUtBSUFLQUlzUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSUFVZ0N5QUFJQUFvQWdBb0FpaEJQM0ZCc2dWcUVRTUFJQU1nQ3lnQ0FEWUFBQ0FBS0FJQUtBSWNDMEUvY1VHeUJXb1JBd0FnQ0N3QUMwRUFTQVJBQW44Z0NDZ0NBQ0VNSUF0QkFEb0FBQ0FNQ3lBTEVGOGdDRUVBTmdJRUlBZ3NBQXRCQUVnRVFDQUlLQUlJR2lBSUtBSUFFRGdnQ0VFQU5nSUlDd1VnQzBFQU9nQUFJQWdnQ3hCZklBaEJBRG9BQ3dzZ0NDQUtLUUlBTndJQUlBZ2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFRZ0FDQUFLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FGSUFBZ0FDZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFBSUFBb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBTFFRQTZBQUFnRFFzZ0N4QmZJQVpCQURZQ0JDQUdMQUFMUVFCSUJFQWdCaWdDQ0JvZ0JpZ0NBQkE0SUFaQkFEWUNDQXNGSUF0QkFEb0FBQ0FHSUFzUVh5QUdRUUE2QUFzTElBWWdDaWtDQURjQ0FDQUdJQW9vQWdnMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdDbXBCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQW9RUnlBS0lBQWdBQ2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU9JQXRCQURvQUFDQU9DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQWtnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMdFNNQkczOGpCaUVQSXdaQmdBUnFKQVlnRDBIMEEyb2hHU0FQUWRnRGFpRWZJQTlCMUFOcUlTQWdEMEc4QTJvaERDQVBRYkFEYWlFTklBOUJwQU5xSVE0Z0QwR1lBMm9oRVNBUFFaUURhaUVYSUE5QmtBTnFJUndnRDBId0Eyb2lHaUFLTmdJQUlBOUI2QU5xSWhRZ0R6WUNBQ0FVUVpFQk5nSUVJQTlCNEFOcUloSWdEellDQUNBUFFkd0RhaUliSUE5QmtBTnFOZ0lBSUE5QnlBTnFJaFpDQURjQ0FDQVdRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0ZtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBeENBRGNDQUNBTVFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnREdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUExQ0FEY0NBQ0FOUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTVDQURjQ0FDQU9RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElCRkNBRGNDQUNBUlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRVdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUFJZ0F5QVpJQjhnSUNBV0lBd2dEU0FPSUJjUXF3b2dDU0FJS0FJQU5nSUFJQVJCZ0FSeFFRQkhJU0ZCQUNFQ0FuOENRQUpBQWtBQ1FBSkFBa0FEUUFKQUlCTkJCRThOQnlBQUtBSUFJZ01FZnlBREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQUJLQUlBSWd0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXNMQWtBQ1FBSkFBa0FDUUFKQUFrQWdFeUFaYWl3QUFBNEZBUUFEQWdRR0N5QVRRUU5IQkVBZ0IwR0F3QUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkJ5QVJJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUFVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FMRUk0Q0RBVUxEQVVMSUJOQkEwY05Bd3dFQ3lBTktBSUVJQTBzQUFzaUEwSC9BWEVnQTBFQVNCc2lDMEVBSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SVFhMGNFUUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmlFS0lBdEZJZ3NnRUVWeUJFQWdDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSVFNZ0N3UkFJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5Z0NBQ0FEUncwR0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnQmtFQk9nQUFJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJnc2dEU2dDQUNBTklBMHNBQXRCQUVnYktBSUFJQU5IQkVBZ0JrRUJPZ0FBREFZTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnRFNBQ0lBMG9BZ1FnRFN3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDd0ovSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5RWtJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nSkNBTktBSUFJQTBnRFN3QUMwRUFTQnNvQWdCR0N3UkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QU5JQUlnRFNnQ0JDQU5MQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFVTElBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFPS0FJQUlBNGdEaXdBQzBFQVNCc29BZ0JIRFFjZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFHUVFFNkFBQWdEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWdzTUF3c0NRQUpBSUJOQkFra2dBbklFUUNBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTWdFdzBCQlNBVFFRSkdJQmtzQUFOQkFFZHhJQ0Z5UlFSQVFRQWhBZ3dHQ3lBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTU1BUXNNQVFzZ0dTQVRRWDlxYWkwQUFFRUNTQVJBQWtBQ1FBTkFJQU1nRENnQ0JDQUtRZjhCY1NBS1FSaDBRUmgxUVFCSUloQWJRUUowSUFRZ0RDQVFHMnBIQkVBZ0IwR0F3QUFnQXlnQ0FDQUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c01BUXNnREN3QUN5RUtJQXdvQWdBaEJBc2dFU3dBQ3lJWVFRQklJUlVnQXlBRUlBd2dDa0VZZEVFWWRVRUFTQnNpSFNJUWEwRUNkU0lpSUJFb0FnUWlIaUFZUWY4QmNTSVlJQlViU3dSL0lCQUZJQkVvQWdBZ0hrRUNkR29pSGlBWVFRSjBJQkZxSWhnZ0ZSc2hJMEVBSUNKclFRSjBJQjRnR0NBVkcyb2hGUU4vSUJVZ0kwWU5BeUFWS0FJQUlCMG9BZ0JHQkg4Z0hVRUVhaUVkSUJWQkJHb2hGUXdCQlNBUUN3c0xJUU1MQ3dOQUFrQWdBeUFNS0FJRUlBcEIvd0Z4SUFwQkdIUkJHSFZCQUVnaUNodEJBblFnQkNBTUlBb2Jha1lOQUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQUxSUTBBSUFzb0Fnd2lDaUFMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBEQ3d3QkN5QUVEUUZCQUNFTEN5QUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxJQU1vQWdCSERRQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVRQ0FFSUFRb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0JDQUtRUVJxTmdJTUlBb29BZ0FhQ3lBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NnSVFSQUlBd3NBQXNpQ2tFQVNDRUVJQXdvQWdRZ0NrSC9BWEVnQkJ0QkFuUWdEQ2dDQUNBTUlBUWJhaUFEUncwSEN3d0NDMEVBSVFRZ0N5RURBMEFDUUNBQUtBSUFJZ29FZnlBS0tBSU1JaEFnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVLQWtBQ1FDQUxSUTBBSUFzb0Fnd2lFQ0FMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhDd3NnQjBHQUVDQUFLQUlBSWdvb0Fnd2lFQ0FLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxJaEFnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUFFZnlBSktBSUFJZ29nR2lnQ0FFWUVRQ0FJSUFrZ0doRE5BU0FKS0FJQUlRb0xJQWtnQ2tFRWFqWUNBQ0FLSUJBMkFnQWdCRUVCYWdVZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQkFnSUNnQ0FFWnhSUTBCSUJJb0FnQWlDaUFiS0FJQVJnUkFJQlFnRWlBYkVNMEJJQklvQWdBaENnc2dFaUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJUUlBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nRUVFRWFqWUNEQ0FRS0FJQUdnc01BUXNMSUJJb0FnQWlDaUFVS0FJQVJ5QUVRUUJIY1FSQUlBb2dHeWdDQUVZRVFDQVVJQklnR3hETkFTQVNLQUlBSVFvTElCSWdDa0VFYWpZQ0FDQUtJQVEyQWdBTElCY29BZ0JCQUVvRVFBSkFJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0h5Z0NBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkJHbzJBZ3dnQ2lnQ0FCb0xBMEFnRnlnQ0FFRUFUQTBCSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBZEJnQkFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkNpQUpLQUlBSUJvb0FnQkdCRUFnQ0NBSklCb1F6UUVMSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzaEJDQUpJQWtvQWdBaUNrRUVhallDQUNBS0lBUTJBZ0FnRnlBWEtBSUFRWDlxTmdJQUlBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JFQWdCQ0FFS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFRZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRTUNRQUpBSUF0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRUUxEQUVMSUFNTkFrRUFJUXNMSUFkQmdNQUFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXNnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUVhallDRENBRUtBSUFDeENPQWd3QUFBc0FDeUFUUVFGcUlSTU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQUVvQWdBaUEwVU5BQ0FES0FJTUlnZ2dBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0JFVU5Bd3NNQVFzZ0JBMEJDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSUFJc0FBdEJBRWdFZnlBQ0tBSUFCU0FDQ3lBSFFRSjBhaWdDQUVjTkFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJCR28yQWd3Z0JDZ0NBQm9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCUW9BZ0FpQUNBU0tBSUFJZ0ZHQkg5QkFRVWdIRUVBTmdJQUlCWWdBQ0FCSUJ3UWVDQWNLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKU0FSRUVjZ0RoQkhJQTBRUnlBTUVFY2dGaEJISUJRb0FnQWhBQ0FVUVFBMkFnQWdBQVJBSUFBZ0ZDZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUEpBWWdKUXVzQVFFRmZ5QUNLQUlBSUFBb0FnQWlBeUlHYXlJRlFRRjBJZ1JCQVNBRUcwRi9JQVZCLy8vLy93ZEpHeUVGSUFFb0FnQWhCeUFEUVFBZ0FDZ0NCRUdSQVVjaUJCc2dCUkRvQVNJRFJRUkFFQUFMSUFRRVFDQUFJQU0yQWdBRklBQW9BZ0FoQkNBQUlBTTJBZ0FnQkFSQUlBUWdBQ2dDQkVIL0FYRkJyQU5xRVFFQUlBQW9BZ0FoQXdzTElBQkJrZ0UyQWdRZ0FTQUhJQVpySUFOcU5nSUFJQUlnQlNBQUtBSUFhallDQUF1Y0pBRWFmeU1HSVJBakJrR0FCR29rQmlBUVFmQURhaUVhSUJCQjdRTnFJU0FnRUVIc0Eyb2hJU0FRUWJ3RGFpRU5JQkJCc0FOcUlRNGdFRUdrQTJvaER5QVFRWmdEYWlFUklCQkJsQU5xSVJjZ0VFR1FBMm9oSGlBUVFlZ0RhaUliSUFvMkFnQWdFRUhnQTJvaUZTQVFOZ0lBSUJWQmtRRTJBZ1FnRUVIWUEyb2lFeUFRTmdJQUlCQkIxQU5xSWh3Z0VFR1FBMm8yQWdBZ0VFSElBMm9pRmtJQU53SUFJQlpCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVdha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEVUlBTndJQUlBMUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBTmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RrSUFOd0lBSUE1QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FPYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRDBJQU53SUFJQTlCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVBha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dFVUlBTndJQUlCRkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0FpQURJQm9nSUNBaElCWWdEU0FPSUE4Z0Z4Q3ZDaUFKSUFnb0FnQTJBZ0FnQkVHQUJIRkJBRWNoSWtFQUlRSUNmd0pBQWtBQ1FBSkFBa0FDUUFOQUFrQWdGRUVFVHcwSElBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQVNnQ0FDSU1SUTBBSUF3b0Fnd2lCQ0FNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRd0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0ZDQWFhaXdBQUE0RkFRQURBZ1FHQ3lBVVFRTkhCRUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTElnTkIvd0Z4UVJoMFFSaDFRWDlNRFFjZ0J5Z0NDQ0FEUVJoMFFSaDFRUUYwYWk0QkFFR0F3QUJ4UlEwSElCRWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDQzBIL0FYRVF6QUVNQlFzTUJRc2dGRUVEUncwRERBUUxJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJTFFRQWdEeWdDQkNBUExBQUxJZ05CL3dGeElBTkJBRWdiSWd4clJ3UkFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nQzBVaUN5QU1SWElFUUNBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEgvQVhFaEF5QUxCRUFnRHlnQ0FDQVBJQThzQUF0QkFFZ2JMUUFBSUFOSERRWWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBWkJBVG9BQUNBUElBSWdEeWdDQkNBUExBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVlMSUE0b0FnQWdEaUFPTEFBTFFRQklHeTBBQUNBRFJ3UkFJQVpCQVRvQUFBd0dDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN5QUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQ3lFTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dEaWdDQUNBT0lBNHNBQXRCQUVnYkxRQUFJQXRCL3dGeFJnUkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJRc2dDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0Qi93RnhJQThvQWdBZ0R5QVBMQUFMUVFCSUd5MEFBRWNOQnlBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnQmtFQk9nQUFJQThnQWlBUEtBSUVJQThzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTERBTUxBa0FDUUNBVVFRSkpJQUp5QkVBZ0RTZ0NBQ0lLSUEwZ0RTd0FDeUlEUVFCSUlnc2JJaGdoQkNBVURRRUZJQlJCQWtZZ0dpd0FBMEVBUjNFZ0luSkZCRUJCQUNFQ0RBWUxJQTBvQWdBaUNpQU5JQTBzQUFzaUEwRUFTQ0lMR3lJWUlRUU1BUXNNQVFzZ0dpQVVRWDlxYWkwQUFFRUNTQVJBSUEwb0FnUWdBMEgvQVhFZ0N4c2dHR29oRWlBRUlRc0RRQUpBSUFzZ0VrWU5BQ0FMTEFBQUloMUJmMHdOQUNBSEtBSUlJQjFCQVhScUxnRUFRWURBQUhGRkRRQWdDMEVCYWlFTERBRUxDeUFSTEFBTElobEJBRWdoRWlBTElBUnJJaDBnRVNnQ0JDSWZJQmxCL3dGeEloa2dFaHROQkVBZ0h5QVJLQUlBYWlJZklCRWdHV29pR1NBU0d5RWpJQjhnSFdzZ0dTQWRheUFTR3lFU0EwQWdFaUFqUmdSQUlBc2hCQXdFQ3lBU0xBQUFJQmdzQUFCR0JFQWdHRUVCYWlFWUlCSkJBV29oRWd3QkN3c0xDd3NEUUFKQUlBUWdDaUFOSUFOQkdIUkJHSFZCQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwR0RRQWdBQ2dDQUNJREJIOGdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBTVJRMEFJQXdvQWd3aUNpQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUU1MREFFTElBTU5BVUVBSVF3TElBQW9BZ0FpQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0JDMEFBRWNOQUNBQUtBSUFJZ01vQWd3aUNpQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFQmFpRUVJQTBzQUFzaEF5QU5LQUlBSVFvTUFRc0xJQ0lFUUNBRUlBMG9BZ0FnRFNBTkxBQUxJZ05CQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwSERRY0xEQUlMUVFBaEJDQU1JUU1EUUFKQUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQ3lBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBc3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENnSkFBa0FnREVVTkFDQU1LQUlNSWdzZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUxMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaERBc0Nmd0pBSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkg4Z0NpQUtLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0N5SUtRZjhCY1NJTFFSaDBRUmgxUVg5TURRQWdCeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRQWdDU2dDQUNJS0lCc29BZ0JHQkVBZ0NDQUpJQnNRcHdRZ0NTZ0NBQ0VLQ3lBSklBcEJBV28yQWdBZ0NpQUxPZ0FBSUFSQkFXb01BUXNnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElDRXRBQUFnQzBaeFJRMEJJQk1vQWdBaUNpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dDMEVCYWpZQ0RDQUxMQUFBRUVJYUN3d0JDd3NnRXlnQ0FDSUtJQlVvQWdCSElBUkJBRWR4QkVBZ0NpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUFzZ0Z5Z0NBRUVBU2dSQUFrQWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0lDMEFBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NEUUNBWEtBSUFRUUJNRFFFZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUVRZjhCY1VFWWRFRVlkVUYvVEEwS0lBY29BZ2dnQkVFWWRFRVlkVUVCZEdvdUFRQkJnQkJ4UlEwS0lBa29BZ0FnR3lnQ0FFWUVRQ0FJSUFrZ0d4Q25CQXNnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtMQUFBRUVJTElRUWdDU0FKS0FJQUlncEJBV28yQWdBZ0NpQUVPZ0FBSUJjZ0Z5Z0NBRUYvYWpZQ0FDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdERVVOQUNBTUtBSU1JZ1FnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FEUlEwRUN3d0JDeUFERFFKQkFDRU1DeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWdzaUEwSC9BWEZCR0hSQkdIVkJmMHdOQVNBSEtBSUlJQU5CR0hSQkdIVkJBWFJxTGdFQVFZREFBSEZGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUJhallDRENBRUxBQUFFRUlMUWY4QmNSRE1BUXdBQUFzQUN5QVVRUUZxSVJRTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQWdBU2dDQUNJRFJRMEFJQU1vQWd3aUNDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUU1MREFFTElBUU5BUXNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFmOEJjU0FDTEFBTFFRQklCSDhnQWlnQ0FBVWdBZ3NnQjJvdEFBQkhEUUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJVb0FnQWlBQ0FUS0FJQUlnRkdCSDlCQVFVZ0hrRUFOZ0lBSUJZZ0FDQUJJQjRRZUNBZUtBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpDQVJFRWNnRHhCSElBNFFSeUFORUVjZ0ZoQkhJQlVvQWdBaEFDQVZRUUEyQWdBZ0FBUkFJQUFnRlNnQ0JFSC9BWEZCckFOcUVRRUFDeUFRSkFZZ0pBc1pBQ0FBUWdBM0FnQWdBRUVBTmdJSUlBQkJBVUV0RUpNRUN4a0FJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFRUJRUzBRbGdRTEZRQWdBQ2dDQUJCY1J3UkFJQUFvQWdBUWh3TUxDMk1CQVg4akJpRUdJd1pCRUdva0JpQUdRU1U2QUFBZ0JpQUVPZ0FCSUFZZ0JUb0FBaUFHUVFBNkFBTWdCVUgvQVhFRVFDQUdJQVU2QUFFZ0JpQUVPZ0FDQ3lBQ0lBRWdBaWdDQUNBQmF5QUdJQU1nQUNnQ0FCQWZJQUZxTmdJQUlBWWtCZ3NPQUNBQVFRaHFFS3NFSUFBUU9Bc0tBQ0FBUVFocUVLc0VDMndCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKa0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkIwQTlxSUFGQjdBNXFJQUVnQVVIa0FFZ2JJQUZCeFFCSUcwR1VjV28yQWdBTElBVWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlFSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYUFDYWlBRklBUkJBQkNWQWlBQWF5SUFRYUFDU0FSQUlBRWdBRUVNRURsQkRCQlBOZ0lBQ3lBR0pBWUxld0VDZnlNR0lRWWpCa0VRYWlRR0lBQkJDR29pQUNnQ0FDZ0NBQ0VISUFBZ0IwSC9BSEZCQ0dvUkFBQWhBQ0FHSUFNb0FnQTJBZ0FnQmtFRWFpSURJQVlvQWdBMkFnQWdBaUFESUFBZ0FFR29BV29nQlNBRVFRQVFsUUlnQUdzaUFFR29BVWdFUUNBQklBQkJEQkE1UVFjUVR6WUNBQXNnQmlRR0M3Z0NBUVovSXdZaEF5TUdRWUFDYWlRR0lBTkJ3QUZxSWdJZ0FSREVDaUFEUWVBQWFpSUVJQUlRdXdwQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQlhRZ0FHb2hCU0FCUVFWMElBQnFJUVlnQVVFRmRDQUFhaUVIUVFBaEFnTkFJQUpCQkVjRVFDQUJRUVYwSUFOcUlBSkJBM1JxSUFVckF3QWdBa0VEZENBRWFpc0RBS0lnQmlzRENDQUVRU0JxSUFKQkEzUnFLd01Bb3FBZ0J5c0RFQ0FFUVVCcklBSkJBM1JxS3dNQW9xQTVBd0FnQWtFQmFpRUNEQUVMQ3lBQlFRVjBJQU5xSWdJZ0FVRUZkQ0FBYWlzREdDQUNLd01Zb0RrREdDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBVUVGZENBQWFpQUNRUU4wYWlBQlFRVjBJQU5xSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFESkFZTDBBRUJCSDhqQmlFRUl3WkJNR29rQmlBRVFSaHFJZ1ZCQmpZQ0JDQUZRUUUyQWdnZ0JTQUFOZ0lBSUFSQkRHb2lCaUFETmdJRUlBWkJBVFlDQ0NBR0lBRTJBZ0FnQkNBRE5nSUVJQVJCQmpZQ0NDQUVJQUkyQWdBZ0JCQ2dBeUlBQkg4Q2Z5QUFJQVFRMlFFaUFVVUVRQ0FBRUVsQmZ3d0JDeUFBSUFZUTJRRWlBa1VFUUNBQUVFa2dBUkJKUVg4TUFRc2dBUkRXQVVFQVNBUi9JQUFRU1NBQkVFa2dBaEJKUVg4RklBVWdBU0FDRUswQ0dpQUFFRWtnQVJCSklBSVFTVUVBQ3dzRlFYOExJUWNnQkNRR0lBY0xiQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1nRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVSFFEMm9nQVVIc0Rtb2dBU0FCUWVRQVNCc2dBVUhGQUVnYlFaUnhhallDQUFzZ0JTUUdDM3NCQW44akJpRUdJd1pCRUdva0JpQUFRUWhxSWdBb0FnQW9BZ1FoQnlBQUlBZEIvd0J4UVFocUVRQUFJUUFnQmlBREtBSUFOZ0lBSUFaQkJHb2lBeUFHS0FJQU5nSUFJQUlnQXlBQUlBQkJvQUpxSUFVZ0JFRUFFSllDSUFCcklnQkJvQUpJQkVBZ0FTQUFRUXdRT1VFTUVFODJBZ0FMSUFZa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUFJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhZ0JhaUFGSUFSQkFCQ1dBaUFBYXlJQVFhZ0JTQVJBSUFFZ0FFRU1FRGxCQnhCUE5nSUFDeUFHSkFZTEJBQkJBZ3VYQ0FFTGZ5TUdJUXNqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZzBvQWdBb0FoUWhCaUFMSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWd3Q2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFLSUFJZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUVhallDQUNBR0lBSTJBZ0FnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUtRVEFnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFRWFqWUNBQ0FISUFJMkFnQWdDaUFHTEFBQklBb29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUNOZ0lBSUFaQkFtb2lCaUVDQTBBZ0FpQU1TUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnREU4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFzb0FnUWdDeXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUWtnQ0NBSExBQUFPZ0FBSUFjZ0NUb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVFsQkFDRUhRUUFoQ0FOQUlBa2dBa2tFUUNBSElBc29BZ0FnQ3lBTExBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnRHpZQ0FDQUhJQWNnQ3lnQ0JDQUxMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQW9nQ1N3QUFDQUtLQUlBS0FJc1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUVJxTmdJQUlCQWdEallDQUNBSlFRRnFJUWtnQ0VFQmFpRUlEQUVMQ3lBR0lBQnJRUUowSUFOcUlna2dCU2dDQUNJSVJnUi9JQW9oQnlBSkJTQUlJUVlEZnlBSklBWkJmR29pQmtrRWZ5QUpLQUlBSVFjZ0NTQUdLQUlBTmdJQUlBWWdCellDQUNBSlFRUnFJUWtNQVFVZ0NpRUhJQWdMQ3dzaEJnVWdDaUFHSUFJZ0JTZ0NBQ0FLS0FJQUtBSXdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQUlnQm10QkFuUnFJZ1kyQWdBZ0NpRUhDd0pBQWtBRFFDQUNJQXhKQkVBZ0Fpd0FBQ0lHUVM1R0RRSWdDaUFHSUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFrZ0JTQUZLQUlBSWdoQkJHb2lCallDQUNBSUlBazJBZ0FnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUWNnQlNBRktBSUFJZ2xCQkdvaUJqWUNBQ0FKSUFjMkFnQWdBa0VCYWlFQ0N5QUtJQUlnRENBR0lBb29BZ0FvQWpCQkQzRkJpZ0pxRVFrQUdpQUZJQVVvQWdBZ0RDQUNhMEVDZEdvaUFqWUNBQ0FFSUFJZ0FTQUFhMEVDZENBRGFpQUJJQXhHR3pZQ0FDQUxFRWNnQ3lRR0MvVUJBZ1YvQVh3akJpRUVJd1pCNEFGcUpBWWdCRUhZQVdvaEJTQUVRVEJxSWdZZ0JFSEFBV29pQnlBQ0lBTVE4d29nQkNBQklBY1E2QXBCQUVnRWYwRUFRUU5CNGF3QklBVVFQVUYvQlVFQUlRRURmeUFCUVFKR0JIOUJBQVZCQUNFQ0EwQWdBa0VHUndSQUlBRkJNR3dnQUdvZ0FrRURkR29pQlVRQUFBQUFBQUFBQURrREFFRUFJUU5FQUFBQUFBQUFBQUFoQ1FOQUlBTkJBMGNFUUNBRklBa2dBVUVZYkNBRWFpQURRUU4wYWlzREFDQURRVEJzSUFacUlBSkJBM1JxS3dNQW9xQWlDVGtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDd3NoQ0NBRUpBWWdDQXY2QndFTGZ5TUdJUW9qQmtFUWFpUUdJQVpCZ000REVEb2hDU0FHUVpET0F4QTZJZzBvQWdBb0FoUWhCaUFLSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWdzQ2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFKSUFJZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBSTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUpRVEFnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFJNkFBQWdDU0FHTEFBQklBa29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUNPZ0FBSUFaQkFtb2lCaUVDQTBBZ0FpQUxTUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnQzA4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3Ui9JQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUXdnQ0NBSExBQUFPZ0FBSUFjZ0REb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVF4QkFDRUlRUUFoQndOQUlBd2dBa2tFUUNBSElBb29BZ0FnQ2lBS0xBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnRHpvQUFDQUhJQWNnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQWtnREN3QUFDQUpLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUUZxTmdJQUlCQWdEam9BQUNBTVFRRnFJUXdnQ0VFQmFpRUlEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBa0ZBMzhnQnlBR1FYOXFJZ1pKQkg4Z0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVGSUFrTEN3c0ZJQWtnQmlBQ0lBVW9BZ0FnQ1NnQ0FDZ0NJRUVQY1VHS0Ftb1JDUUFhSUFVZ0JTZ0NBQ0FDSUFacmFqWUNBQ0FKQ3lFR0FrQUNRQU5BSUFJZ0Mwa0VRQ0FDTEFBQUlnZEJMa1lOQWlBSklBY2dCaWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVCYWpZQ0FDQUlJQWM2QUFBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFZZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR09nQUFJQUpCQVdvaEFnc2dDU0FDSUFzZ0JTZ0NBQ0FKS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQXNnQW10cUlnSTJBZ0FnQkNBQ0lBTWdBU0FBYTJvZ0FTQUxSaHMyQWdBZ0NoQkhJQW9rQmd1ZUFRRUZmQ0FCS3dOWUlBSXJBd0FpQXlBQlFVQnJLd01Bb2lBQ0t3TUlJZ1FnQVNzRFNLS2dJQUlyQXhBaUJTQUJLd05Rb3FDZ0lnWkVBQUFBQUFBQUFBQmhCSDlCZndVZ0FTc0RPQ0FESUFFckF5Q2lJQVFnQVNzREtLS2dJQVVnQVNzRE1LS2dvQ0VISUFBZ0FTc0RHQ0FESUFFckF3Q2lJQVFnQVNzRENLS2dJQVVnQVNzREVLS2dvQ0FHb3prREFDQUFJQWNnQnFNNUF3aEJBQXNMVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJa0xJUWNnQmlRR0lBY0wwd0VDQTM4QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRWZ5QUNRUVEyQWdCQkFBVkJwTVVES0FJQUlRVkJwTVVEUVFBMkFnQWdBQ0FFSUFNUVhCRDlBaUVIUWFURkF5Z0NBQ0lBUlFSQVFhVEZBeUFGTmdJQUN5QUJJQVFvQWdCR0JIOENmeUFBUWNRQVJnUkFJQUpCQkRZQ0FFSC8vLy8vQnlBSFFnQlZEUUVhQlFKQUlBZENnSUNBZ0hoVEJFQWdBa0VFTmdJQURBRUxJQWVuSUFkQy8vLy8vd2RYRFFJYUlBSkJCRFlDQUVILy8vLy9Cd3dDQ3d0QmdJQ0FnSGdMQlNBQ1FRUTJBZ0JCQUFzTElRWWdCQ1FHSUFZTG9nRUNBbjhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VGUWFURkEwRUFOZ0lBSUFBZ0JDQURFRndRL1FJaEJrR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JUWUNBQXNnQVNBRUtBSUFSZ1IrSUFCQnhBQkdCSDRnQWtFRU5nSUFRdi8vLy8vLy8vLy8vd0JDZ0lDQWdJQ0FnSUNBZnlBR1FnQlZHd1VnQmdzRklBSkJCRFlDQUVJQUN5RUdDeUFFSkFZZ0JndldBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmd0ovSUFCQnhBQkdJQWhDLy84RFZuSUVRQ0FDUVFRMkFnQkJmd3dCQ3lBSXAwSC8vd054SVFCQkFDQUlwMnRCLy84RGNTQUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dkhBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmeUFBUWNRQVJpQUlRdi8vLy84UFZuSUVmeUFDUVFRMkFnQkJmd1ZCQUNBSXB5SUFheUFBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3U2QVFJRGZ3SitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUitJQUpCQkRZQ0FFSUFCUUorSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFSUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRZEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZmlBQVFjUUFSZ1IrSUFKQkJEWUNBRUovQlVJQUlBZDlJQWNnQlJzTEJTQUNRUVEyQWdCQ0FBc0xDeUVJSUFRa0JpQUlDNG9CQWdKL0FYMGpCaUVESXdaQkVHb2tCaUFBSUFGR0JFQWdBa0VFTmdJQUJVR2t4UU1vQWdBaEJFR2t4UU5CQURZQ0FCQmNHaUFBSUFOQkFCQ2dBclloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVNQUFBQUFJUVVNQVFzTUFRc2dBa0VFTmdJQUN3c2dBeVFHSUFVTGpRRUNBbjhCZkNNR0lRTWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VFUWFURkEwRUFOZ0lBRUZ3YUlBQWdBMEVCRUtBQ0lRVkJwTVVES0FJQUlnQkZCRUJCcE1VRElBUTJBZ0FMQWtBQ1FDQUJJQU1vQWdCR0JFQWdBRUhFQUVZTkFRVkVBQUFBQUFBQUFBQWhCUXdCQ3d3QkN5QUNRUVEyQWdBTEN5QURKQVlnQlF1TkFRSUNmd0Y4SXdZaEF5TUdRUkJxSkFZZ0FDQUJSZ1JBSUFKQkJEWUNBQVZCcE1VREtBSUFJUVJCcE1VRFFRQTJBZ0FRWEJvZ0FDQURRUUlRb0FJaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVUUFBQUFBQUFBQUFDRUZEQUVMREFFTElBSkJCRFlDQUFzTElBTWtCaUFGQ3prQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBUkJpSVFFZ0FFR0Rrd01nQXhDVkF5RUVJQUVFUUNBQkVHSWFDeUFESkFZZ0JBdFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbkFzaEJ5QUdKQVlnQnd1bEFRRUVmeU1HSVFVakJrRVFhaVFHSUFJZ0FXdEJBblVpQkVIdi8vLy9BMHNFUUJBQUN5QUVRUUpKQkVBZ0FDQUVPZ0FMSUFBaEF3VWdCRUVFYWtGOGNTSUdRZi8vLy84RFN3UkFFQUFGSUFBZ0JrRUNkQkJSSWdNMkFnQWdBQ0FHUVlDQWdJQjRjallDQ0NBQUlBUTJBZ1FMQ3dOQUlBRWdBa2NFUUNBRElBRVFiaUFCUVFScUlRRWdBMEVFYWlFRERBRUxDeUFGUVFBMkFnQWdBeUFGRUc0Z0JTUUdDNnNEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEb0FBQXdCQlFKQUlBUkJBV29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUE2QUFBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFTEFBQUVFSTJBakFGQWtBRFFDQUNRUUJNRFFFZ0F5QUNRWDlxSWdKcUxBQUFFRUlnQUNnQ0lCRHZBVUYvUncwQUMwRi9JUUFNQWdzTElBUXNBQUFRUWlFQUN3c0xJQVVrQmlBQUM2VURBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURZQ0FBd0JCUUpBSUFSQkJHb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTJBZ0FNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVLQUlBTmdJd0JRSkFBMEFnQWtFQVRBMEJJQU1nQWtGL2FpSUNhaXdBQUNBQUtBSWdFTzhCUVg5SERRQUxRWDhoQUF3Q0N3c2dCQ2dDQUNFQUN3c0xJQVVrQmlBQUM1b0JBUVYvSXdZaEFTTUdRUkJxSkFZZ0FVRUlhaUlDUVFocUlRVUNRQUpBQTBBZ0FDZ0NKQ0lES0FJQUtBSVVJUVFnQXlBQUtBSW9JQUlnQlNBQklBUkJIM0ZCb2dKcUVRZ0FJUU1DUUNBQktBSUFJQUpySWdRZ0FrRUJJQVFnQUNnQ0lCQ1RBVWNOQUFKQUlBTkJBV3NPQWdBQkF3c01BUXNMUVg4aEFBd0JDeUFBS0FJZ0VLa0NRUUJIUVI5MFFSOTFJUUFMSUFFa0JpQUFDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1E2Z0lMRXdBZ0FDQUFLQUlBUVhScUtBSUFhaENaQWdzVEFDQUFJQUFvQWdCQmRHb29BZ0JxRU9zQ0N4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUW1nSUxLd0VCZndOQUlBSkJDRWNFUUNBQklBSnFJQUJCQnlBQ2Eyb3NBQUE2QUFBZ0FrRUJhaUVDREFFTEN3c1NBQ0FBUWR5TUFUWUNBQ0FBUVFScUVEd0xCQUJCZndzUUFDQUFRZ0EzQXdBZ0FFSi9Od01JQ3hBQUlBQkNBRGNEQUNBQVFuODNBd2dMQkFBZ0FBc3JBUUYvQTBBZ0FrRUVSd1JBSUFFZ0Ftb2dBRUVESUFKcmFpd0FBRG9BQUNBQ1FRRnFJUUlNQVFzTEN4SUFJQUJCbkl3Qk5nSUFJQUJCQkdvUVBBdFRBUU4vSUFJb0FnQWhCQ0FCSUFCclFRSjFJUUVEUUNBQkJFQWdBVUVCZGlJQ1FRSjBJQUJxSWdVb0FnQWdCRWtoQXlBRlFRUnFJQUFnQXhzaEFDQUJRWDlxSUFKcklBSWdBeHNoQVF3QkN3c2dBQXZPQVFFRGZ5TUdJUUlqQmtIQUFXb2tCaUFBSUFJUTFRUWdBRUVFYWlBQ1FRUnFFTlVFQTBBZ0FVRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUFRUWhxSUFGQkJYUnFJQU5CQTNScUlBSkJDR29nQVVFRmRHb2dBMEVEZEdvUXp3UWdBMEVCYWlFRERBRUxDeUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUNnQ3NBRWlBMEVEZEVHWUZXb29BZ0JJQkVBZ0FFSG9BR29nQVVFRGRHb2dBa0hvQUdvZ0FVRURkR29RendRZ0FVRUJhaUVCREFFTEN5QUNJQU0yQXJBQklBQWdBa0c0QVJCTUdpQUNKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSFkrUUJCQlNBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCNFBrQVFRUWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFlajVBRUVESUFFb0FnQVFDQ0FCSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUh3K1FCQkFpQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQitQa0FRUUVnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRWUQ2QUVFQUlBRW9BZ0FRQ0NBQkpBWUxtQXNCRlh3Q2Z3SkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnUURBZ0VBQkFzZ0FDc0RBQ0VKSUFBckF3Z2hDaUFBUVVCckt3TUFJUTBnQUNzREVDSU9SQUFBQUFBQUFBQkFvaUVQSUFBckF4Z2lFRVFBQUFBQUFBQVlRS0loRXlBUVJBQUFBQUFBQUFCQW9pRVVJQTVFQUFBQUFBQUFHRUNpSVJVZ0FTQUFLd013SWhhaElBQXJBeUFpRjZNaUN5RUJJQUlnQUNzRE9DSVlvU0FBS3dNb0lobWpJZ3doQWlBTElBdWlJUVlnRENBTW9pRUhRUUVoQUFOQUFrQWdCa1FBQUFBQUFBQUFBR0lnQjBRQUFBQUFBQUFBQUdKeVJRUkFSQUFBQUFBQUFBQUFJUUZFQUFBQUFBQUFBQUFoQWd3QkN5QUpJQWNnQnFBaUNLSkVBQUFBQUFBQThEK2dJQWdnQ2lBSW9xS2dJUkVnQnlBR1JBQUFBQUFBQUFoQW9pSWFvaUVTSUFJZ0RpQUhSQUFBQUFBQUFBQkFvaUFJb0tJZ0FpQVJvcUFnQWlBVUlBRWdFQ0FJSUFaRUFBQUFBQUFBQUVDaW9LSWdBaUFQSUFHaW9pQUJJQkdpb0tBZ0M2RWdFeUFCb2lBUElBS2lJQWtnQnlBYW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSG9pQUdJQVpFQUFBQUFBQUFGRUNpb2lBU29LQ2lvS0NnbzZFaUFhSWlDS0tnSUF5aElCVWdBcUlnQ1NBR0lBZEVBQUFBQUFBQUNFQ2lvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhSQUFBQUFBQUFCUkFvcUlnQmlBR29pQVNvS0Npb0tBZ0NLQ2pvU0VDSUFCQkJFY0VRQ0FCSUFHaUlRWWdBaUFDb2lFSElBQkJBV29oQUF3Q0N3c0xJQU1nRmlBWElBR2lJQTJqb0RrREFDQVlJQmtnQXFJZ0RhT2dJUUVNQkFzZ0FDc0RJRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElBQXJBeGlqSWdFZ0FhSWdBaUFBS3dNSW9TSUNJQUtpb0NJSG55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQUVnQmlBR1JBQUFBQUFBQVBBL0lBZ2dCNktoSUFjZ0NpQUhvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQWVpb1NBSElBc2dCNktpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBQklBR2lJQUlnQXFLZ0lnWWhCeUFGUVFGcUlRVWdCcDhoQmd3Q0N3c0xJQU1nRENBQklBQXJBeENqb0RrREFDQUNJQUFyQXhDaklBQXJBd2lnSVFFTUF3c2dBQ3NER0VRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJZ2NnQjZJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lCbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBY2dCaUFHUkFBQUFBQUFBUEEvSUFnZ0FhS2hJQUVnQ2lBQm9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBR2lvU0FCSUFzZ0FhS2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FGUVFGcUlRVWdBU0lISUFHaUlBSWdBcUtnSWdHZklRWU1BZ3NMQ3lBRElBd2dBU0FBS3dNUW82QTVBd0FnQWlBQUt3TVFveUFBS3dNSW9DRUJEQUlMSUFBckF4aEVBQUFBQUlUWGwwR2pJZ2hFQUFBQUFBQUFDRUNpSVFsQkFTRUZJQUVnQUNzREFDSUtvU0lISUFlaUlBSWdBQ3NEQ0tFaUFpQUNvcUFpQVo4aUN5RUdBMEFDUUNBR1JBQUFBQUFBQUFBQVlRUkFSQUFBQUFBQUFBQUFJUUpFQUFBQUFBQUFBQUFoQVF3QkN5QUhJQVlnQmtRQUFBQUFBQUR3UHlBSUlBR2lvYUlnQzZGRUFBQUFBQUFBOEQ4Z0NTQUJvcUdqb1NJSG9pQUdveUVCSUFJZ0I2SWdCcU1oQWlBRlFRTkhCRUFnQlVFQmFpRUZJQUVpQnlBQm9pQUNJQUtpb0NJQm55RUdEQUlMQ3dzZ0F5QUtJQUVnQUNzREVLT2dPUU1BSUFJZ0FDc0RFS01nQUNzRENLQWhBUXdCQzBGL0RBRUxJQVFnQVRrREFFRUFDeG9MNVFFQVFiajRBRUgxZ2dNUUxVSEErQUJCK29JRFFRRkJBVUVBRUM4UTVBc1E0d3NRNGdzUTRRc1E0QXNRM3dzUTNnc1EzUXNRM0FzUTJ3c1EyZ3RCeVBJQVFlU0RBeEFWUWVENkFFSHdnd01RRlVISStnQkJCRUdSaEFNUUVrR3crZ0JCQWtHZWhBTVFFa0dZK2dCQkJFR3RoQU1RRWtHUStnQkJ2SVFERUM0UTJRdEI2b1FERU40RVFZK0ZBeERkQkVHMmhRTVEzQVJCMVlVREVOc0VRZjJGQXhEYUJFR2FoZ01RMlFRUTF3c1ExZ3RCaFljREVONEVRYVdIQXhEZEJFSEdod01RM0FSQjU0Y0RFTnNFUVltSUF4RGFCRUdxaUFNUTJRUVExUXNRMUFzUTB3c0xXZ0VEZnlBQUtBSUVJUVVnQWdSQUlBVkJDSFVoQkNBRlFRRnhCRUFnQkNBQ0tBSUFhaWdDQUNFRUN3c2dBQ2dDQUNJQUtBSUFLQUljSVFZZ0FDQUJJQUlnQkdvZ0EwRUNJQVZCQW5FYklBWkJIM0ZCK2dWcUVRY0FDd3NBSUFBUTR3UWdBQkE0Q3hNQUlBQkJvSXNCTmdJQUlBQkJCR29RN2dzTHh3SUJCSDhqQmlFREl3WkJRR3NrQmlBQUlBQW9BZ0FpQkVGNGFpZ0NBR29oQlNBRVFYeHFLQUlBSVFRZ0F5QUNOZ0lBSUFNZ0FEWUNCQ0FESUFFMkFnZ2dBMEVBTmdJTUlBTkNBRGNDRUNBRFFnQTNBaGdnQTBJQU53SWdJQU5DQURjQ0tDQURRUUEyQWpBZ0EwRUFPd0UwSUFOQkFEb0FOaUFFSUFKQkFCQ0JBUVIvSUFOQkFUWUNNQ0FFSUFNZ0JTQUZRUUZCQUNBRUtBSUFLQUlVUVFkeFFkb0dhaEVNQUNBRlFRQWdBeWdDR0VFQlJoc0ZBbjhnQkNBRElBVkJBVUVBSUFRb0FnQW9BaGhCUDNGQm1nWnFFUVVBQWtBQ1FBSkFJQU1vQWlRT0FnQUNBUXNnQXlnQ0ZFRUFJQU1vQWloQkFVWWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRWJEQUlMUVFBTUFRc2dBeWdDR0VFQlJ3UkFRUUFnQXlnQ0tFVWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRkZEUUVhQ3lBREtBSVFDd3NoQmlBREpBWWdCZ3VuREFJSGZ3aDlJQUc4SWdWQi8vLy8vd2R4SWdKRklBQzhJZ1pCZ0lDQS9BTkdjZ1JBUXdBQWdEOFBDeUFHUWYvLy8vOEhjU0lEUVlDQWdQd0hTeUFDUVlDQWdQd0hTM0lFUUNBQUlBR1NEd3NnQmtFQVNDSUlCSDhnQWtILy8vL2JCRXNFZjBFQ0JTQUNRZi8vLy9zRFN3Ui9RUUlnQWtHV0FTQUNRUmQyYXlJRWRpSUhRUUZ4YTBFQUlBY2dCSFFnQWtZYkJVRUFDd3NGUVFBTElRUUNRQ0FGUWYvLy8vOEhjU0lIUVlDQWdQd0hTQVJBSUFkQmdJQ0EvQU5yRFFFZ0FFTUFBSUEvSUFDVklBVkJmMG9iRHdVZ0IwR0FnSUQ4QjJzTkFTQURRWUNBZ1B3RFJnUkFRd0FBZ0Q4UEN5QUZRWDlLSVFJZ0EwR0FnSUQ4QTBzRVFDQUJRd0FBQUFBZ0Foc1BCVU1BQUFBQUlBR01JQUliRHdzQUN3QUxJQVZCZ0lDQWdBUkdCRUFnQUNBQWxBOExJQVZCZ0lDQStBTkdJQVpCZjBweEJFQWdBSkVQQ3lBQWl5RUpBa0FDUUFKQUlBTkZJQU5CZ0lDQWdBUnlRWUNBZ1B3SFJuSUVRRU1BQUlBL0lBbVZJQWtnQlVFQVNCc2hBQ0FJUlFSQUlBQVBDeUFFSUFOQmdJQ0FoSHhxY2dSQUlBQ01JQUFnQkVFQlJoc1BDd3dCQ3lBSUJFQUNRQUpBQWtBZ0JBNENCQUFCQzBNQUFJQy9JUXNNQVF0REFBQ0FQeUVMQ3dWREFBQ0FQeUVMQ3lBQ1FZQ0FnT2dFU3dSQUFrQWdBMEg0Ly8vN0Ewa0VRQ0FMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNCc1BDeUFEUVllQWdQd0RUUVJBSUFsREFBQ0F2NUlpQUVNQXFyZy9sQ0lLSUFCRGNLWHNOcFFnQUNBQWxFTUFBQUEvSUFCRHE2cXFQaUFBUXdBQWdENlVrNVNUbEVNN3FyZy9sSk1pQUpLOFFZQmdjYjRpRENFSklBd2dDcE1oQ2d3QkN5QUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU2hzUEN3VWdDVU1BQUlCTGxMd2dBeUFEUVlDQWdBUkpJZ01iSWdSQkYzVkI2WDVCZ1g4Z0F4dHFJUUlnQkVILy8vOERjU0lFUVlDQWdQd0RjaUVESUFSQjhvanpBRWtFUUVFQUlRUUZJQVJCMStmMkFra2lCaUVFSUFJZ0JrRUJjMEVCY1dvaEFpQURJQU5CZ0lDQWZHb2dCaHNoQXdzZ0JFRUNkRUhBaWdGcUtnSUFJZzRnQTc0aUNpQUVRUUowUWJDS0FXb3FBZ0FpREpNaURVTUFBSUEvSUF3Z0NwS1ZJZytVSWdtOFFZQmdjYjRpQUNBQUlBQ1VJaEJEQUFCQVFKSWdDU0FBa2lBUElBMGdBMEVCZFVHQTRQLy9mWEZCZ0lDQWdBSnlRWUNBZ0FKcUlBUkJGWFJxdmlJTklBQ1VreUFLSUEwZ0RKT1RJQUNVazVRaUNwUWdDU0FKbENJQUlBQ1VJQUFnQUNBQUlBQWdBRU5DOFZNK2xFTlZNbXcra3BSREJhT0xQcEtVUTZ1cXFqNlNsRU8zYmRzK2twUkRtcGtaUDVLVWtpSU1rcnhCZ0dCeHZpSUFsQ0lOSUFvZ0FKUWdDU0FNSUFCREFBQkF3SklnRUpPVGxKSWlDWks4UVlCZ2NiNGlBRU1BUUhZL2xDSUtJQVJCQW5SQnVJb0JhaW9DQUNBSklBQWdEWk9UUTA4NGRqK1VJQUJEeGlQMk9KU1RraUlBa3BJZ0FySWlESks4UVlCZ2NiNGlEU0VKSUEwZ0RKTWdEcE1nQ3BNaENnc2dBQ0FLa3lBQmxDQUJJQVZCZ0dCeHZpSUFreUFKbEpJaEFTQUpJQUNVSWdBZ0FaSWlDYndpQTBHQWdJQ1lCRW9OQVFKQUFrQWdBMEdBZ0lDWUJFWUVRQ0FCUXp5cU9ET1NJQWtnQUpOZUJFQU1CUVZCZ0lDQW1BUWhBZ3dDQ3dBRkFrQWdBMEgvLy8vL0IzRWlBa0dBZ05pWUJFc05CaUFCSUFrZ0FKTmZSU0FEUVlDQTJKaDhSM0lFUUNBQ1FZQ0FnUGdEU3dSQURBUUZRUUFoQWd3Q0N3QUxEQVlMQ3d3QkN5QURRWUNBZ0FRZ0FrRVhka0dDZjJwMmFpSUNRUmQyUWY4QmNTRUZJQUFnQWtHQWdJQjhJQVZCZ1g5cWRYRytreUlKSVFCQkFDQUNRZi8vL3dOeFFZQ0FnQVJ5UVpZQklBVnJkaUlDYXlBQ0lBTkJBRWdiSVFJZ0FTQUprcndoQXdzZ0MwTUFBSUEvSUFOQmdJQitjYjRpQ1VNQWNqRS9sQ0lLSUFsRGpMNi9OWlFnQVNBSklBQ1RrME1ZY2pFL2xKSWlDWklpQUNBQUlBQWdBSlFpQVNBQklBRWdBU0FCUTB5N01UT1VRdzdxM2JXU2xFTlZzNG80a3BSRFlRczJ1NUtVUTZ1cUtqNlNsSk1pQVpRZ0FVTUFBQURBa3BVZ0NTQUFJQXFUa3lJQklBQWdBWlNTa3lBQWs1TWlBTHdnQWtFWGRHb2lBMEdBZ0lBRVNBUjlJQUFnQWhEMUJBVWdBNzRMbEE4TElBQWdBSk1pQUNBQWxROExJQXREeXZKSmNaUkR5dkpKY1pRUEN5QUxRMkJDb2cyVVEyQkNvZzJVQzhBQkFRSi9Jd1loQVNNR1FSQnFKQVlnQUwxQ0lJaW5RZi8vLy84SGNTSUNRZnpEcFA4RFNRUkFJQUpCZ0lEQThnTlBCRUFnQUVRQUFBQUFBQUFBQUVFQUVOUUJJUUFMQlFKOElBQWdBS0VnQWtILy83Ly9CMHNOQUJvQ1FBSkFBa0FDUUNBQUlBRVEvQUpCQTNFT0F3QUJBZ01MSUFFckF3QWdBU3NEQ0VFQkVOUUJEQU1MSUFFckF3QWdBU3NEQ0JEVEFRd0NDeUFCS3dNQUlBRXJBd2hCQVJEVUFab01BUXNnQVNzREFDQUJLd01JRU5NQm1nc2hBQXNnQVNRR0lBQUx5QUVDQW44QmZDTUdJUUVqQmtFUWFpUUdJQUM5UWlDSXAwSC8vLy8vQjNFaUFrSDh3NlQvQTBrRWZDQUNRWjdCbXZJRFNRUjhSQUFBQUFBQUFQQS9CU0FBUkFBQUFBQUFBQUFBRU5NQkN3VUNmQ0FBSUFDaElBSkIvLysvL3dkTERRQWFBa0FDUUFKQUFrQWdBQ0FCRVB3Q1FRTnhEZ01BQVFJREN5QUJLd01BSUFFckF3Z1Ewd0VNQXdzZ0FTc0RBQ0FCS3dNSVFRRVExQUdhREFJTElBRXJBd0FnQVNzRENCRFRBWm9NQVFzZ0FTc0RBQ0FCS3dNSVFRRVExQUVMQ3lFRElBRWtCaUFEQzlrQ0FRWi9Jd1loQ0NNR1FaQUNhaVFHSUFoQmdBSnFJZ2NnQVNnQ0FDSUVOZ0lBSUFOQmdBSWdBRUVBUnlJSkd5RUZJQUFnQ0NBSkd5RUFJQVZCQUVjZ0JFRUFSM0VFUUFKQVFRQWhBd05BQWtBZ0FpQUZUeUlHSUFKQklFdHlSUTBDSUFJZ0JTQUNJQVliSWdScklRSWdBQ0FISUFRUTh3UWlCRUYvUmcwQUlBVkJBQ0FFSUFBZ0NFWWlCaHRySVFVZ0FDQUFJQVJxSUFZYklRQWdBeUFFYWlFRElBY29BZ0FpQkVFQVJ5QUZRUUJIY1EwQkRBSUxDMEYvSVFOQkFDRUZJQWNvQWdBaEJBc0ZRUUFoQXdzZ0JBUkFJQVZCQUVjZ0FrRUFSM0VFUUFKQUEwQWdBQ0FFS0FJQUVKNEJJZ1pCQVdwQkFrOEVRQ0FISUFjb0FnQkJCR29pQkRZQ0FDQUFJQVpxSVFBZ0F5QUdhaUVESUFVZ0Jtc2lCVUVBUnlBQ1FYOXFJZ0pCQUVkeERRRU1BZ3NMSUFZRVFFRi9JUU1GSUFkQkFEWUNBQXNMQ3dzZ0NRUkFJQUVnQnlnQ0FEWUNBQXNnQ0NRR0lBTUxhUUVDZnlBQUlBRnJRUUoxSUFKSkJFQURRQ0FDUVg5cUlnSkJBblFnQUdvZ0FrRUNkQ0FCYWlnQ0FEWUNBQ0FDRFFBTEJTQUNCRUFEUUNBQlFRUnFJUU1nQUVFRWFpRUVJQUFnQVNnQ0FEWUNBQ0FDUVg5cUlnSUVRQ0FESVFFZ0JDRUFEQUVMQ3dzTEM0Z0JBUVYvSUFBb0FnUWlCU0FCS0FJSVJnUi9JQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZnlBQktBSUFJQUpCQW5ScUlRTkJBQ0VFQTBBZ0JDQUdTQVJBSUFBZ0F5Z0NBRFlDQUNBRlFRSjBJQU5xSVFNZ0JFRUJhaUVFSUFCQkJHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDeW9CQVg4Z0FnUkFBMEFnQUVFRWFpRURJQUFnQVRZQ0FDQUNRWDlxSWdJRVFDQURJUUFNQVFzTEN3dGtBUUovSUFBUVlDQUFhaUVBSUFJRVFBSkFJQUloQXlBQklRSWdBQ0VCQTM4Z0Fpd0FBQ0lFUlEwQklBSkJBV29oQWlBQlFRRnFJUUFnQVNBRU9nQUFJQU5CZjJvaUF3Ui9JQUFoQVF3QkJTQUFDd3NoQVFzRklBQWhBUXNnQVVFQU9nQUFDOVVCQVFSL1FmR3BBU0VDSXdZaEF5TUdRU0JxSkFZQ1FBSkFRZkdwQVN3QUFDSUJSUTBBUWZLcEFTd0FBRVVOQUNBRFFRQkJJQkJGR2tIeHFRRXNBQUFpQVFSQUEwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpSUVJQVFvQWdCQkFTQUJRUjl4ZEhJMkFnQWdBa0VCYWlJQ0xBQUFJZ0VOQUFzTElBQXNBQUFpQVFSQUFrQWdBQ0VDQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlnQ0FFRUJJQUZCSDNGMGNRMEJJQUpCQVdvaUFpd0FBQ0lCRFFBTEN3VWdBQ0VDQ3d3QkN5QUFJQUVRcWdJaEFnc2dBeVFHSUFJZ0FHc0xsQUVCQTM4RFFDQUFRUUZxSVFFZ0FDd0FBQkN5QVFSQUlBRWhBQXdCQ3dzQ2Z3SkFBa0FDUUFKQUlBQXNBQUFpQTBFcmF3NERBUUlBQWd0QkFTRUFEQUlMUVFBaEFBd0JDeUFEREFFTElBQWhBaUFCSWdBc0FBQUxFSW9CQkVCQkFDRUJBMEFnQVVFS2JFRXdhaUFBTEFBQWF5RUJJQUJCQVdvaUFDd0FBQkNLQVEwQUN3VkJBQ0VCQ3lBQlFRQWdBV3NnQWhzTFpBSUJmd0YrSUFBb0FpZ2hBU0FBUWdBZ0FDZ0NBRUdBQVhFRWYwRUNRUUVnQUNnQ0ZDQUFLQUljU3hzRlFRRUxJQUZCQTNGQnBnTnFFUlFBSWdKQ0FGa0VRQ0FBS0FJVUlBQW9BaHhyckNBQ0lBQW9BZ2dnQUNnQ0JHdXNmWHdoQWdzZ0FndUJBd0VIZnlNR0lRVWpCa0dRQ0dva0JpQUZRWUFJYWlJSUlBRW9BZ0FpQmpZQ0FDQURRWUFDSUFCQkFFY2lDUnNoQnlBQUlBVWlDaUFKR3lFRElBZEJBRWNnQmlJRlFRQkhjUVJBQWtCQkFDRUFBMEFDUUNBQ1FRSjJJZ1lnQjA4aUN5QUNRWU1CUzNKRkRRSWdBaUFISUFZZ0N4c2lCV3NoQWlBRElBZ2dCU0FFRVA0Q0lnVkJmMFlOQUNBSFFRQWdCU0FESUFwR0lnWWJheUVISUFNZ0JVRUNkQ0FEYWlBR0d5RURJQUFnQldvaEFDQUlLQUlBSWdWQkFFY2dCMEVBUjNFTkFRd0NDd3RCZnlFQVFRQWhCeUFJS0FJQUlRVUxCVUVBSVFBTElBVUVRQ0FIUVFCSElBSkJBRWR4QkVBQ1FBTkFJQU1nQlNBQ0lBUVExd0VpQmtFQ2FrRURUd1JBSUFnZ0JpQUlLQUlBYWlJRk5nSUFJQU5CQkdvaEF5QUFRUUZxSVFBZ0IwRi9haUlIUVFCSElBSWdCbXNpQWtFQVIzRU5BUXdDQ3dzQ1FBSkFBa0FnQmtGL2F3NENBQUVDQ3lBR0lRQU1BZ3NnQ0VFQU5nSUFEQUVMSUFSQkFEWUNBQXNMQ3lBSkJFQWdBU0FJS0FJQU5nSUFDeUFLSkFZZ0FBdUlBUUVGZnlBQUtBSUVJZ1VnQVNnQ0NFWUVmeUFBS0FJSUlnWWdBU2dDQkVZRWZ5QUFLQUlBSVFBRGZ5QUNJQVZJQkg4Z0FTZ0NBQ0FDUVFOMGFpRURRUUFoQkFOQUlBUWdCa2dFUUNBQUlBTXJBd0E1QXdBZ0JVRURkQ0FEYWlFRElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBSkJBV29oQWd3QkJVRUFDd3NGUVg4TEJVRi9Dd3Q3QVFGL0FrQWdBQ2dDVEVFQVRnUkFBa0FnQUN3QVMwRUtSZzBBSUFBb0FoUWlBU0FBS0FJUVR3MEFJQUFnQVVFQmFqWUNGQ0FCUVFvNkFBQU1BZ3NnQUJDWkF3d0JDeUFBTEFCTFFRcEhCRUFnQUNnQ0ZDSUJJQUFvQWhCSkJFQWdBQ0FCUVFGcU5nSVVJQUZCQ2pvQUFBd0NDd3NnQUJDWkF3c0x4UU1CQkg4akJpRUdJd1pCRUdva0JnSkFJQUFFUUNBQ1FRTkxCRUFDUUNBQ0lRTWdBU2dDQUNFRUEwQUNRQ0FFS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBQUlBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QURJQVZySVFNZ0FDQUZhZ1VnQUNBRk9nQUFJQU5CZjJvaEF5QUJLQUlBSVFRZ0FFRUJhZ3NoQUNBQklBUkJCR29pQkRZQ0FDQURRUU5MRFFFZ0F5RUVEQUlMQ3lBQVFRQTZBQUFnQVVFQU5nSUFJQUlnQTJzaEFnd0RDd1VnQWlFRUN5QUVCRUFnQUNFRElBRW9BZ0FoQUFKQUEwQUNRQ0FBS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBR0lBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QUVJQVZKRFFNZ0F5QUFLQUlBRUo0QkdpQURJQVZxSVFNZ0JDQUZhd1VnQXlBRk9nQUFJQU5CQVdvaEF5QUJLQUlBSVFBZ0JFRi9hZ3NoQkNBQklBQkJCR29pQURZQ0FDQUVEUUVNQlFzTElBTkJBRG9BQUNBQlFRQTJBZ0FnQWlBRWF5RUNEQU1MSUFJZ0JHc2hBZ3NGSUFFb0FnQWlBQ2dDQUNJQkJFQkJBQ0VDQTBBZ0FVSC9BRXNFUUNBR0lBRVFuZ0VpQVVGL1JnUkFRWDhoQWd3RkN3VkJBU0VCQ3lBQklBSnFJUUlnQUVFRWFpSUFLQUlBSWdFTkFBc0ZRUUFoQWdzTEN5QUdKQVlnQWd0YUFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQ0tBSUFOZ0lBUVFCQkFDQUJJQU1RcVFFaUJFRUFTQVIvUVg4RklBQWdCRUVCYWlJRUVFUWlBRFlDQUNBQUJIOGdBQ0FFSUFFZ0FoQ3BBUVZCZndzTElRVWdBeVFHSUFVTG13RUJBbjhnQVVIL0FFb0VRQ0FBUXdBQUFIK1VJZ0JEQUFBQWY1UWdBQ0FCUWY0QlNpSUNHeUVBSUFGQmduNXFJZ05CL3dBZ0EwSC9BRWdiSUFGQmdYOXFJQUliSVFFRklBRkJnbjlJQkVBZ0FFTUFBSUFBbENJQVF3QUFnQUNVSUFBZ0FVR0Vma2dpQWhzaEFDQUJRZndCYWlJRFFZSi9JQU5CZ245S0d5QUJRZjRBYWlBQ0d5RUJDd3NnQUNBQlFSZDBRWUNBZ1B3RGFyNlVDNE1HQWdwL0FuMGpCaUVKSXdaQjBBOXFKQVlnQVVIMEEwb0VRRUVBSVFBRkFrQUNRQUpBQWtBZ0FRNENBQUVDQzBFQUlRQU1BZ3NnQUVNQUFJQS9JQUFxQWdDVk9BSUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkFuUWdBR29pRENFS0EwQWdCaUFCU0FSQVF3QUFBQUFoRFNBQ0lBWnNRUUowSUFCcUlnVWhCMEYvSVFRZ0JpRURBMEFnQVNBRFJ3UkFJQTBnQnlvQ0FJc2lEbDBoQ0NBT0lBMGdDQnNoRFNBQ1FRSjBJQWRxSVFjZ0F5QUVJQWdiSVFRZ0EwRUJhaUVEREFFTEN5QUVRWDlHSUExRC8rYmJMbDl5QkVCQkFDRUFEQU1GSUFSQkFuUWdDV29pQXlnQ0FDRUhJQU1nQmtFQ2RDQUphaUlES0FJQU5nSUFJQU1nQnpZQ0FFRUFJUWNnQlNFRElBSWdCR3hCQW5RZ0FHb2hCQU5BSUFFZ0IwY0VRQ0FFS0FJQUlRZ2dCQ0FES0FJQU5nSUFJQU1nQ0RZQ0FDQUhRUUZxSVFjZ0EwRUVhaUVESUFSQkJHb2hCQXdCQ3dzZ0JTb0NBQ0VOUVFFaEJDQUZJUU1EUUNBQklBUkhCRUFnQXlBRFFRUnFJZ01xQWdBZ0RaVTRBZ0FnQkVFQmFpRUVEQUVMQ3lBS1F3QUFnRDhnRFpVNEFnQkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVDZENBQWFpSURLZ0lBSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJCR29pQXlvQ0FDQU5JQWNxQWdDVWt6Z0NBQ0FIUVFScUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npb0NBSlNNT0FJQUN5QUlRUUZxSVFnZ0FrRUNkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VDZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRSjBJQUJxSVFZZ0EwRUNkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTW9BZ0FoQnlBRElBWW9BZ0EyQWdBZ0JpQUhOZ0lBSUFSQkFXb2hCQ0FDUVFKMElBWnFJUVlnQWtFQ2RDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUwvUUVCQlg5Qjhha0JJUUVqQmlFREl3WkJJR29rQmlBRFFnQTNBd0FnQTBJQU53TUlJQU5DQURjREVDQURRZ0EzQXhoQjhha0JMQUFBSWdJRWZ3Si9RZktwQVN3QUFFVUVRQ0FBSVFFRFFDQUJRUUZxSVFRZ0FpQUJMQUFBUmdSQUlBUWhBUXdCQ3dzZ0FTQUFhd3dCQ3dOQUlBSkIvd0Z4SWdKQkJYWkJBblFnQTJvaUJDQUVLQUlBUVFFZ0FrRWZjWFJ5TmdJQUlBRkJBV29pQVN3QUFDSUNEUUFMSUFBc0FBQWlBZ1JBQWtBZ0FDRUJBMEFnQWtIL0FYRWlCRUVGZGtFQ2RDQURhaWdDQUVFQklBUkJIM0YwY1VVTkFTQUJRUUZxSWdFc0FBQWlBZzBBQ3dzRklBQWhBUXNnQVNBQWF3c0ZRUUFMSVFVZ0F5UUdJQVVMa3dZQ0NuOENmQ01HSVFrakJrSFFEMm9rQmlBQlFmUURTZ1JBUVFBaEFBVUNRQUpBQWtBQ1FDQUJEZ0lBQVFJTFFRQWhBQXdDQ3lBQVJBQUFBQUFBQVBBL0lBQXJBd0NqT1FNQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQTNRZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUkFBQUFBQUFBQUFBSVEwZ0FpQUdiRUVEZENBQWFpSUZJUWRCZnlFRUlBWWhBd05BSUFFZ0EwY0VRQ0FOSUFjckF3Q1pJZzVqSVFnZ0RpQU5JQWdiSVEwZ0FrRURkQ0FIYWlFSElBTWdCQ0FJR3lFRUlBTkJBV29oQXd3QkN3c2dCRUYvUmlBTlJMdTkxOW5mZk5zOVpYSUVRRUVBSVFBTUF3VWdCRUVDZENBSmFpSURLQUlBSVFjZ0F5QUdRUUowSUFscUlnTW9BZ0EyQWdBZ0F5QUhOZ0lBUVFBaEJ5QUZJUU1nQWlBRWJFRURkQ0FBYWlFRUEwQWdBU0FIUndSQUlBUXJBd0FoRFNBRUlBTXJBd0E1QXdBZ0F5QU5PUU1BSUFkQkFXb2hCeUFEUVFocUlRTWdCRUVJYWlFRURBRUxDeUFGS3dNQUlRMUJBU0VFSUFVaEF3TkFJQUVnQkVjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOb3prREFDQUVRUUZxSVFRTUFRc0xJQXBFQUFBQUFBQUE4RDhnRGFNNUF3QkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVEZENBQWFpSURLd01BSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJDR29pQXlzREFDQU5JQWNyQXdDaW9Ua0RBQ0FIUVFocUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npc0RBS0thT1FNQUN5QUlRUUZxSVFnZ0FrRURkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VEZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRTjBJQUJxSVFZZ0EwRURkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTXJBd0FoRFNBRElBWXJBd0E1QXdBZ0JpQU5PUU1BSUFSQkFXb2hCQ0FDUVFOMElBWnFJUVlnQWtFRGRDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUxsQUlCQVg4Q1FBSkFJQUFnQVhOQkEzRU5BQUpBSUFKQkFFY2lBeUFCUVFOeFFRQkhjUVJBQTBBZ0FDQUJMQUFBSWdNNkFBQWdBMFVOQWlBQVFRRnFJUUFnQWtGL2FpSUNRUUJISWdNZ0FVRUJhaUlCUVFOeFFRQkhjUTBBQ3dzZ0F3UkFJQUVzQUFBRVFDQUNRUU5MQkVBRFFDQUJLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQUlBTTJBZ0FnQVVFRWFpRUJJQUJCQkdvaEFDQUNRWHhxSWdKQkEwc05BUXNMQ3d3REN3VkJBQ0VDQ3dzTUFRc2dBZ1IvSUFFaEF5QUNJUUVEZnlBQUlBTXNBQUFpQWpvQUFDQUNSUVJBSUFFaEFnd0RDeUFEUVFGcUlRTWdBRUVCYWlFQUlBRkJmMm9pQVEwQVFRQUxCVUVBQ3lFQ0N5QUFRUUFnQWhCRkdndEFBUUovSUFJRVFDQUJJUU1nQUNFQkEwQWdBMEVFYWlFQUlBRkJCR29oQkNBQklBTW9BZ0EyQWdBZ0FrRi9haUlDQkVBZ0FDRURJQVFoQVF3QkN3c0xDd01BQVFzc0FRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlnQVRZQ0JFSGJBQ0FDRURJUW1nTWFJQUlrQmd2V0FRRUZmeU1HSVFJakJrRWdhaVFHUVFBUWhnTUVRQU5BUVFFZ0FIUkIvLy8vL3dkeEJFQWdBRUVDZENBQVFZYVRBeENGQXpZQ0FBc2dBRUVCYWlJQVFRWkhEUUFMQlFKQUEwQWdCRUVCSUFCMFFmLy8vLzhIY1NJRFJVRUFjUVIvSUFCQkFuUW9BZ0FGSUFCQmhwTURRYWZWQXlBREd4Q0ZBd3NpQTBFQVIyb2hCQ0FBUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVFaSERRQUxBa0FDUUFKQUlBUkIvLy8vL3dkeERnSUFBUUlMUWN6RUF5RUJEQUlMSUFJb0FnQkI4SWNCUmdSQVFZeUlBU0VCQ3dzTEN5QUNKQVlnQVF1ckF3SUpmd0o4SUFBb0FnUWlCVUVCU0NBQUtBSUlJZ1pCQVVoeUJIOUJmd1VnQVNnQ0JDQUZSZ1IvSUFFb0FnZ2dCVVlFZnlBQ0tBSUVJQVZHQkg4Z0FpZ0NDQ0FHUmdSL0lBTW9BZ1FnQlVZRWZ5QUNLQUlBSVFJRFFBSkFJQVFnQlU0TkFDQURLQUlBSUFSQkEzUnFLd01BSWcxRXZJbllsN0xTbkR4akRRQkVBQUFBQUFBQThEOGdEWm1mb3lFT0lBUWdCV3doREVFQUlRY2dBaUVJQTBBZ0JpQUhSd1JBUVFBaENTQUJLQUlBSUF4QkEzUnFJUXBFQUFBQUFBQUFBQUFoRFNBQUtBSUFJQWRCQTNScUlRc0RRQ0FGSUFsSEJFQWdEU0FLS3dNQUlBc3JBd0Npb0NFTklBbEJBV29oQ1NBS1FRaHFJUW9nQmtFRGRDQUxhaUVMREFFTEN5QUlJQTRnRGFJNUF3QWdCMEVCYWlFSElBaEJDR29oQ0F3QkN3c2dCRUVCYWlFRUlBWkJBM1FnQW1vaEFnd0JDd3NnQWlFQUEzOGdCQ0FGU0FSL0lBTW9BZ0FnQkVFRGRHcEVBQUFBQUFBQUFBQTVBd0JCQUNFQkEwQWdBU0FHU0FSQUlBQkVBQUFBQUFBQUFBQTVBd0FnQVVFQmFpRUJJQUJCQ0dvaEFBd0JDd3NnQkVFQmFpRUVEQUVGUVFBTEN3VkJmd3NGUVg4TEJVRi9Dd1ZCZndzRlFYOExDd3VPQVFFQ2Z3SkFBa0FEUUNBQ1FiRGFBR290QUFBZ0FFY0VRQ0FDUVFGcUlnSkIxd0JIRFFGQjF3QWhBZ3dDQ3dzZ0FnMEFRWkRiQUNFQURBRUxRWkRiQUNFQUEwQWdBQ0VEQTBBZ0EwRUJhaUVBSUFNc0FBQUVRQ0FBSVFNTUFRc0xJQUpCZjJvaUFnMEFDd3NnQVNnQ0ZDSUJCSDhnQVNnQ0FDQUJLQUlFSUFBUW13VUZRUUFMSWdFZ0FDQUJHd3MxQUNBQkJIOENmd05BSUFBZ0FVRi9haUlCYWkwQUFFRXZSd1JBSUFFRVFBd0NCVUVBREFNTEFBc0xJQUFnQVdvTEJVRUFDd3VzQVFFRGYwR2N1QUVoQWlBQVFaeTRBWE5CQTNGRkJFQkJuTGdCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFBTi9JQUJCQkdvaEFTQUFJQU0yQWdBZ0FrRUVhaUlDS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1FSL0lBRUZJQUVoQUF3QkN3c2hBQXNMSUFBZ0Fpd0FBQ0lCT2dBQUlBRUVRQU5BSUFCQkFXb2lBQ0FDUVFGcUlnSXNBQUFpQVRvQUFDQUJEUUFMQ3dzMUFRSi9JQUlnQUNnQ0VDQUFLQUlVSWdScklnTWdBeUFDU3hzaEF5QUVJQUVnQXhCTUdpQUFJQUFvQWhRZ0EybzJBaFFnQWd1VUNRSVlmd2Q4SXdZaEdDTUdRUkJxSkFZZ0dDRU1JQUFvQWdRaUJpQUFLQUlJUnlBR1FRSkljZ1IvUVg4RklBRW9BZ1FnQmtZRWZ5QUdFT2NDSWcwRWZ3Si9JQXdnQmtGL2FpSVJOZ0lFSUF3Z0RTZ0NBRUVJYWpZQ0FDQUFJQUVnREJDSEMwRUFTQVJBSUEwUXp3RkJmd3dCQ3lBTktBSUFJZ2hFQUFBQUFBQUFBQUE1QXdBZ0VTRURBMEFnQTBFQVNnUkFJQU1oQndOQUlBZEJBRW9FUUNBSFFRTjBJQWhxS3dNQW1TQUJLQUlBSWdVZ0IwRi9haUlDUVFOMGFpc0RBSmtnQjBFRGRDQUZhaXNEQUptZ1JJM3R0YUQzeHJBK29tUUVRQ0FDSVFjTUFnc0xDeUFEUVg5cUlRa2dBeUFIUndSQUFrQWdBMEVEZENBSWFpRVNJQWRCQVdwQkEzUWdDR29oRTBFQUlRVURRQ0FGUWVNQVN3MEJJQVZCQVdvaEJTQVNLd01BSWhzZ0c2SWlHaUFCS0FJQUlnNGdDVUVEZEdvaUZDc0RBQ0FEUVFOMElBNXFJaFVyQXdBaUc2RkVBQUFBQUFBQTREK2lJaDhnSDZLZ255RWNJQk1yQXdBaEhTQUhJZ0pCQTNRZ0Rtb3JBd0FnRzZFZ0dpQWZJQnlhSUJ3Z0gwUUFBQUFBQUFBQUFHTWJvS09nSVJzRFFDQUNJQU5JQkVBZ0c1a2lHaUFkbVdZRVFDQWFSTHlKMkpleTBwdzhaQVI4UkFBQUFBQUFBUEEvSUIyYUlCdWpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWlHaUVlSUJ3Z0dxSUZSQUFBQUFBQUFQQS9JUjVFQUFBQUFBQUFBQUFMSVJvRlJBQUFBQUFBQVBBL0lCdWFJQjJqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1oR2lBY0lCcWlJUjRMSUFKQkEzUWdEbW9pRHlzREFDSWNJQUpCQVdvaUNrRURkQ0FPYWlJRUt3TUFJaCtoSVNBZ0R5QWNJQm9nR2lBZ29pQWVSQUFBQUFBQUFBQkFvaUFLUVFOMElBaHFJaEFyQXdDaW9LSWlIS0U1QXdBZ0JDQWZJQnlnT1FNQUlBSkJBM1FnQ0dvaEJDQUNJQWRLQkVBZ0JDQWVJQVFyQXdDaUlCMGdHcUtoT1FNQUN5QVFJQkFyQXdBaUhDQWFJQjRnSUtJZ0drUUFBQUFBQUFBQVFLSWdIS0tob3FBNUF3QWdBaUFHYkNFV0lBWWdDbXdoRjBFQUlRc0RRQ0FHSUF0SEJFQWdBQ2dDQUNJUElBc2dGbXBCQTNScUlnUXJBd0FoR3lBRUlCNGdHNklnR2lBTElCZHFRUU4wSUE5cUlnUXJBd0FpSGFLaE9RTUFJQVFnR2lBYm9pQWVJQjJpb0RrREFDQUxRUUZxSVFzTUFRc0xJQUlnQ1VnRVFDQVFLd01BSVJzZ0FrRUNha0VEZENBSWFpSUNLd01BSVIwZ0FpQWVJQjJpT1FNQUlCb2dIYUthSVIwTElBb2hBZ3dCQ3dzZ0Vpc0RBSmtnRkNzREFKa2dGU3NEQUptZ1JJM3R0YUQzeHJBK29tUU5BQXNMQ3lBSklRTU1BUXNMUVFBaEF3TkFJQU1nRVVjRVFDQUJLQUlBSWdrZ0EwRURkR29pQlNzREFDSWRJUm9nQXlJQ1FRRnFJZ2NoQkFOQUlBUWdCa2dFUUNBRVFRTjBJQWxxS3dNQUloc2dHbVFoQ2lBYklCb2dDaHNoR2lBRUlBSWdDaHNoQWlBRVFRRnFJUVFNQVFzTElBSkJBM1FnQ1dvZ0hUa0RBQ0FGSUJvNUF3QWdBeUFHYkVFRGRDQUFLQUlBSWdOcUlRVWdBaUFHYkVFRGRDQURhaUVDUVFBaEF3TkFJQU1nQmtjRVFDQUNLd01BSVJzZ0FpQUZLd01BT1FNQUlBVWdHemtEQUNBRlFRaHFJUVVnQWtFSWFpRUNJQU5CQVdvaEF3d0JDd3NnQnlFRERBRUxDeUFORU04QlFRQUxCVUYvQ3dWQmZ3c0xJUmtnRENRR0lCa0xMQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBS2RCQjNGQk1ISTZBQUFnQUVJRGlDSUFVRVVOQUFzTElBRUxOQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBaUFBcDBFUGNVR2cyZ0JxTFFBQWNqb0FBQ0FBUWdTSUlnQlFSUTBBQ3dzZ0FRdWhBZ0lKZndGOElBQW9BZ1FoQ1NBQUtBSUlJZ0lnQVNnQ0JFWUVRQ0FCS0FJSUlBSkdCRUFDUUNBQktBSUFJZ29oQmdOQUlBTWdBazRFUUVFQUlRQU1BZ3RCQUNFRUlBWWhBUU5BSUFJZ0JFY0VRQ0FFSUFOSkJFQWdBU0FESUFJZ0JHeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQlNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQnlBRFFRTjBJQVZxSVFnZ0JFRURkQ0FGYWlFRlJBQUFBQUFBQUFBQUlRc0RRQ0FISUFsT0RRRWdBU0FMSUFnckF3QWdCU3NEQUtLZ0lnczVBd0FnQjBFQmFpRUhJQUpCQTNRZ0NHb2hDQ0FDUVFOMElBVnFJUVVNQUFBTEFBc0xJQVJCQVdvaEJDQUJRUWhxSVFFTUFRc0xJQU5CQVdvaEF5QUNRUU4wSUFacUlRWU1BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXZXQWdFR2Z5TUdJUU1qQmtIZ0FXb2tCaUFEUWFBQmFpSUVRZ0EzQXdBZ0JFSUFOd01JSUFSQ0FEY0RFQ0FFUWdBM0F4Z2dCRUlBTndNZ0lBTkIwQUZxSWdVZ0FpZ0NBRFlDQUVFQUlBRWdCU0FEUWRBQWFpSUNJQVFRcEFKQkFFZ0VmMEYvQlNBQUtBSk1RWDlLQkg5QkFRVkJBQXNhSUFBb0FnQWhCaUFBTEFCS1FRRklCRUFnQUNBR1FWOXhOZ0lBQ3lBQUtBSXdCRUFnQUNBQklBVWdBaUFFRUtRQ0lRRUZJQUFvQWl3aEJ5QUFJQU0yQWl3Z0FDQUROZ0ljSUFBZ0F6WUNGQ0FBUWRBQU5nSXdJQUFnQTBIUUFHbzJBaEFnQUNBQklBVWdBaUFFRUtRQ0lRRWdCd1JBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUJRWDhnQUNnQ0ZCc2hBU0FBSUFjMkFpd2dBRUVBTmdJd0lBQkJBRFlDRUNBQVFRQTJBaHdnQUVFQU5nSVVDd3NnQUNBQUtBSUFJZ0FnQmtFZ2NYSTJBZ0JCZnlBQklBQkJJSEViQ3lFSUlBTWtCaUFJQ3lrQ0FYOEJmQ0FCS0FJQVFRZHFRWGh4SWdJckF3QWhBeUFCSUFKQkNHbzJBZ0FnQUNBRE9RTUFDOHdYQXhSL0EzNEJmQ01HSVJRakJrR3dCR29rQmlBVVFaZ0VhaUlNUVFBMkFnQWdBYjBpR2tJQVV3Ui9JQUdhSWgwaEFVR2gvZ0loRWlBZHZTRWFRUUVGUWFUK0FrR24vZ0pCb3Y0Q0lBUkJBWEViSUFSQmdCQnhHeUVTSUFSQmdSQnhRUUJIQ3lFVElCUkJJR29oQmlBVUlnNGhFU0FPUVp3RWFpSUtRUXhxSVE4Z0drS0FnSUNBZ0lDQStQOEFnMEtBZ0lDQWdJQ0ErUDhBVVFSL0lBQkJJQ0FDSUJOQkEyb2lBeUFFUWYvL2UzRVFkU0FBSUJJZ0V4QnlJQUJCdlA0Q1FjRCtBaUFGUVNCeFFRQkhJZ1ViUWJUK0FrRzQvZ0lnQlJzZ0FTQUJZaHRCQXhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3VUNmeUFCSUF3UWlnTkVBQUFBQUFBQUFFQ2lJZ0ZFQUFBQUFBQUFBQUJpSWdjRVFDQU1JQXdvQWdCQmYybzJBZ0FMSUFWQklISWlDMEhoQUVZRVFDQVNRUWxxSUJJZ0JVRWdjU0lKR3lFSVFRd2dBMnNpQjBVZ0EwRUxTM0pGQkVCRUFBQUFBQUFBSUVBaEhRTkFJQjFFQUFBQUFBQUFNRUNpSVIwZ0IwRi9haUlIRFFBTElBZ3NBQUJCTFVZRWZDQWRJQUdhSUIyaG9Kb0ZJQUVnSGFBZ0hhRUxJUUVMSUE5QkFDQU1LQUlBSWdacklBWWdCa0VBU0J1c0lBOFF2Z0VpQjBZRVFDQUtRUXRxSWdkQk1Eb0FBQXNnRTBFQ2NpRUtJQWRCZjJvZ0JrRWZkVUVDY1VFcmFqb0FBQ0FIUVg1cUlnY2dCVUVQYWpvQUFDQURRUUZJSVF3Z0JFRUljVVVoRFNBT0lRVURRQ0FGSUFrZ0FSQnpJZ1pCb05vQWFpMEFBSEk2QUFBZ0FTQUd0NkZFQUFBQUFBQUFNRUNpSVFFZ0JVRUJhaUlHSUJGclFRRkdCSDhnRFNBTUlBRkVBQUFBQUFBQUFBQmhjWEVFZnlBR0JTQUdRUzQ2QUFBZ0JVRUNhZ3NGSUFZTElRVWdBVVFBQUFBQUFBQUFBR0lOQUFzQ2Z5QURSU0FGUVg0Z0VXdHFJQU5PY2tVRVFDQVBJQU5CQW1wcUlBZHJJUXNnQnd3QkN5QUZJQThnRVdzZ0IydHFJUXNnQndzaEJpQUFRU0FnQWlBS0lBdHFJZ01nQkJCMUlBQWdDQ0FLRUhJZ0FFRXdJQUlnQXlBRVFZQ0FCSE1RZFNBQUlBNGdCU0FSYXlJRkVISWdBRUV3SUFzZ0JTQVBJQVpySWdacWEwRUFRUUFRZFNBQUlBY2dCaEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXd3QkN5QUhCRUFnRENBTUtBSUFRV1JxSWdnMkFnQWdBVVFBQUFBQUFBQ3dRYUloQVFVZ0RDZ0NBQ0VJQ3lBR0lBWkJvQUpxSUFoQkFFZ2JJZ29oQmdOQUlBWWdBUkNLQlNJSE5nSUFJQVpCQkdvaEJpQUJJQWU0b1VRQUFBQUFaYzNOUWFJaUFVUUFBQUFBQUFBQUFHSU5BQXNnQ0VFQVNnUkFJQW9oQndOQUlBaEJIU0FJUVIxSUd5RU5JQVpCZkdvaUNDQUhUd1JBSUEydElSdEJBQ0VKQTBBZ0NhMGdDQ2dDQUswZ0c0WjhJaHhDZ0pUcjNBTVE5Z0VoR2lBSUlCd2dHa0tBbE92Y0EzNTlQZ0lBSUJxbklRa2dDRUY4YWlJSUlBZFBEUUFMSUFrRVFDQUhRWHhxSWdjZ0NUWUNBQXNMSUFZZ0Iwc0VRQUpBQTM4Z0JrRjhhaUlJS0FJQURRRWdDQ0FIU3dSL0lBZ2hCZ3dCQlNBSUN3c2hCZ3NMSUF3Z0RDZ0NBQ0FOYXlJSU5nSUFJQWhCQUVvTkFBc0ZJQW9oQnd0QkJpQURJQU5CQUVnYklRMGdDRUVBU0FSQUlBMUJHV3BCQ1JBNVFRRnFJUkFnQzBIbUFFWWhGU0FHSVFNRFFFRUFJQWhySWdaQkNTQUdRUWxJR3lFSklBb2dCeUFEU1FSL1FRRWdDWFJCZjJvaEZrR0FsT3ZjQXlBSmRpRVhRUUFoQ0NBSElRWURRQ0FHSUFnZ0JpZ0NBQ0lZSUFsMmFqWUNBQ0FYSUJZZ0dIRnNJUWdnQmtFRWFpSUdJQU5KRFFBTElBY2dCMEVFYWlBSEtBSUFHeUVaSUFnRWZ5QURJQWcyQWdBZ0EwRUVhZ1VnQXdzaEJpQVpCU0FESVFZZ0J5QUhRUVJxSUFjb0FnQWJDeUlESUJVYklnY2dFRUVDZEdvZ0JpQUdJQWRyUVFKMUlCQktHeUVJSUF3Z0NTQU1LQUlBYWlJR05nSUFJQVpCQUVnRVFDQURJUWNnQ0NFRElBWWhDQXdCQ3dzRklBY2hBeUFHSVFnTElBb2hEQ0FESUFoSkJFQWdEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hCZ05BSUFkQkFXb2hCeUFLSUFaQkNtd2lCazhOQUFzTEJVRUFJUWNMSUExQkFDQUhJQXRCNWdCR0cyc2dDMEhuQUVZaUZTQU5RUUJISWhaeFFSOTBRUjkxYWlJR0lBZ2dER3RCQW5WQkNXeEJkMnBJQkg4Z0JrR0F5QUJxSWdaQkNSQTVJUWtnQmlBSlFRbHNheUlHUVFoSUJFQkJDaUVMQTBBZ0JrRUJhaUVLSUF0QkNtd2hDeUFHUVFkSUJFQWdDaUVHREFFTEN3VkJDaUVMQ3lBSlFRSjBJQXhxUVlSZ2FpSUdLQUlBSWdrZ0N4QklJUkFnQ0NBR1FRUnFSaUlYSUFrZ0N5QVFiR3NpQ2tWeFJRUkFSQUVBQUFBQUFFQkRSQUFBQUFBQUFFQkRJQkJCQVhFYklRRkVBQUFBQUFBQTREOUVBQUFBQUFBQThEOUVBQUFBQUFBQStEOGdGeUFLSUF0QkFYWWlFRVp4R3lBS0lCQkpHeUVkSUJNRVFDQWRtaUFkSUJJc0FBQkJMVVlpRUJzaEhTQUJtaUFCSUJBYklRRUxJQVlnQ1NBS2F5SUtOZ0lBSUFFZ0hhQWdBV0lFUUNBR0lBb2dDMm9pQnpZQ0FDQUhRZitUNjl3RFN3UkFBMEFnQmtFQU5nSUFJQVpCZkdvaUJpQURTUVJBSUFOQmZHb2lBMEVBTmdJQUN5QUdJQVlvQWdCQkFXb2lCellDQUNBSFFmK1Q2OXdEU3cwQUN3c2dEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hDd05BSUFkQkFXb2hCeUFLSUF0QkNtd2lDMDhOQUFzTEN3c2dCeUVKSUFaQkJHb2lCaUFJSUFnZ0Jrc2JJUVlnQXdVZ0J5RUpJQWdoQmlBREN5RUtJQVlnQ2tzRWZ3Si9JQVloQXdOL0lBTkJmR29pQmlnQ0FBUkFJQU1oQmtFQkRBSUxJQVlnQ2tzRWZ5QUdJUU1NQVFWQkFBc0xDd1ZCQUFzaEJ5QVZCSDhnRmtFQmN5QU5haUlESUFsS0lBbEJlMHB4Qkg4Z0EwRi9haUFKYXlFSUlBVkJmMm9GSUFOQmYyb2hDQ0FGUVg1cUN5RUZJQVJCQ0hFRWZ5QUlCU0FIQkVBZ0JrRjhhaWdDQUNJTkJFQWdEVUVLRUU0RVFFRUFJUU1GUVFBaEEwRUtJUXNEUUNBRFFRRnFJUU1nRFNBTFFRcHNJZ3NRVGtVTkFBc0xCVUVKSVFNTEJVRUpJUU1MSUFZZ0RHdEJBblZCQ1d4QmQyb2hEU0FGUVNCeVFlWUFSZ1IvSUFnZ0RTQURheUlEUVFBZ0EwRUFTaHNpQXlBSUlBTklHd1VnQ0NBSklBMXFJQU5ySWdOQkFDQURRUUJLR3lJRElBZ2dBMGdiQ3dzRklBMExJUU5CQUNBSmF5RUlJQUJCSUNBQ0lBVkJJSEpCNWdCR0loQUVmMEVBSVFnZ0NVRUFJQWxCQUVvYkJTQVBJQWdnQ1NBSlFRQklHNndnRHhDK0FTSUxhMEVDU0FSQUEwQWdDMEYvYWlJTFFUQTZBQUFnRHlBTGEwRUNTQTBBQ3dzZ0MwRi9haUFKUVI5MVFRSnhRU3RxT2dBQUlBdEJmbW9pQ0NBRk9nQUFJQThnQ0dzTElBTWdFMEVCYW1wQkFTQUVRUU4yUVFGeElBTkJBRWNpQ3h0cWFpSU5JQVFRZFNBQUlCSWdFeEJ5SUFCQk1DQUNJQTBnQkVHQWdBUnpFSFVnRUFSQUlBNUJDV29pQ1NFUElBNUJDR29oQ0NBTUlBb2dDaUFNU3hzaUNpRUhBMEFnQnlnQ0FLMGdDUkMrQVNFRklBY2dDa1lFUUNBRklBbEdCRUFnQ0VFd09nQUFJQWdoQlFzRklBVWdEa3NFUUNBT1FUQWdCU0FSYXhCRkdnTkFJQVZCZjJvaUJTQU9TdzBBQ3dzTElBQWdCU0FQSUFWckVISWdCMEVFYWlJRklBeE5CRUFnQlNFSERBRUxDeUFFUVFoeFJTQUxRUUZ6Y1VVRVFDQUFRY1QrQWtFQkVISUxJQUJCTUNBRklBWkpJQU5CQUVweEJIOERmeUFGS0FJQXJTQUpFTDRCSWdjZ0Rrc0VRQ0FPUVRBZ0J5QVJheEJGR2dOQUlBZEJmMm9pQnlBT1N3MEFDd3NnQUNBSElBTkJDU0FEUVFsSUd4QnlJQU5CZDJvaEJ5QUZRUVJxSWdVZ0Jra2dBMEVKU25FRWZ5QUhJUU1NQVFVZ0J3c0xCU0FEQzBFSmFrRUpRUUFRZFFVZ0FFRXdJQW9nQmlBS1FRUnFJQWNiSWd0SklBTkJmMHB4Qkg4Z0JFRUljVVVoRWlBT1FRbHFJZ3doRTBFQUlCRnJJUkVnRGtFSWFpRUpJQU1oQlNBS0lRWURmeUFNSUFZb0FnQ3RJQXdRdmdFaUEwWUVRQ0FKUVRBNkFBQWdDU0VEQ3dKQUlBWWdDa1lFUUNBRFFRRnFJUWNnQUNBRFFRRVFjaUFTSUFWQkFVaHhCRUFnQnlFRERBSUxJQUJCeFA0Q1FRRVFjaUFISVFNRklBTWdEazBOQVNBT1FUQWdBeUFSYWhCRkdnTkFJQU5CZjJvaUF5QU9TdzBBQ3dzTElBQWdBeUFUSUFOcklnTWdCU0FGSUFOS0d4QnlJQVpCQkdvaUJpQUxTU0FGSUFOcklnVkJmMHB4RFFBZ0JRc0ZJQU1MUVJKcVFSSkJBQkIxSUFBZ0NDQVBJQWhyRUhJTElBQkJJQ0FDSUEwZ0JFR0F3QUJ6RUhVZ0RRc0xJUUFnRkNRR0lBSWdBQ0FBSUFKSUd3czBBQ0FBSUFCaUJIOUJBQVVnQUVRQUFBQUFBQUR3UVdZRWYwRUFCU0FBUkFBQUFBQUFBUEMvWlFSL1FRQUZJQUNyQ3dzTEN5WUJBWDhqQmlFQ0l3WkJFR29rQmlBQ0lBRTJBZ0FnQUVIMi9RSWdBaENsQWhvZ0FpUUdDMVlCQTM4Z0FDZ0NWQ0lEUVFBZ0FrR0FBbW9pQlJDbUFpRUVJQUVnQXlBRUlBTnJJQVVnQkJzaUFTQUNJQUVnQWtrYklnSVFUQm9nQUNBQ0lBTnFOZ0lFSUFBZ0FTQURhaUlCTmdJSUlBQWdBVFlDVkNBQ0M2VUNBZ3AvQVh3Z0FDZ0NDQ0VHSUFBb0FnUWlCU0FCS0FJRVJnUkFJQUVvQWdnZ0JVWUVRQUpBSUFFb0FnQWlDaUVIQTBBZ0FpQUZUZ1JBUVFBaEFBd0NDeUFDSUFac0lRdEJBQ0VESUFjaEFRTkFJQU1nQlVjRVFDQURJQUpKQkVBZ0FTQUNJQU1nQld4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCQ0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhDQ0FMUVFOMElBUnFJUWtnQXlBR2JFRURkQ0FFYWlFRVJBQUFBQUFBQUFBQUlRd0RRQ0FJSUFaT0RRRWdBU0FNSUFrckF3QWdCQ3NEQUtLZ0lndzVBd0FnQ0VFQmFpRUlJQWxCQ0dvaENTQUVRUWhxSVFRTUFBQUxBQXNMSUFOQkFXb2hBeUFCUVFocUlRRU1BUXNMSUFKQkFXb2hBaUFGUVFOMElBZHFJUWNNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2N0F3SURmd1YrSUFDOUlnZENOSWluUWY4UGNTRUNJQUc5SWdaQ05JaW5RZjhQY1NFRUlBZENnSUNBZ0lDQWdJQ0FmNE1oQ1FKOEFrQWdCa0lCaGlJRlVBMEFBbndnQWtIL0QwWWdBYjFDLy8vLy8vLy8vLy8vQUlOQ2dJQ0FnSUNBZ1BqL0FGWnlEUUVnQjBJQmhpSUlJQVZZQkVBZ0FFUUFBQUFBQUFBQUFLSWdBQ0FGSUFoUkd3OExJQUlFZmlBSFF2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQUNJUUZJQWRDRElZaUJVSi9WUVJBUVFBaEFnTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2YxVU5BQXNGUVFBaEFnc2dCMEVCSUFKcnJZWUxJZ2dnQkFSK0lBWkMvLy8vLy8vLy93ZURRb0NBZ0lDQWdJQUloQVVnQmtJTWhpSUZRbjlWQkVBRFFDQURRWDlxSVFNZ0JVSUJoaUlGUW45VkRRQUxDeUFHUVFFZ0F5SUVhNjJHQ3lJR2ZTSUZRbjlWSVFNZ0FpQUVTZ1JBQWtBRFFBSkFJQU1FUUNBRlVBMEJCU0FJSVFVTElBVkNBWVlpQ0NBR2ZTSUZRbjlWSVFNZ0FrRi9haUlDSUFSS0RRRU1BZ3NMSUFCRUFBQUFBQUFBQUFDaURBSUxDeUFEQkVBZ0FFUUFBQUFBQUFBQUFLSWdCVkFOQVJvRklBZ2hCUXNnQlVLQWdJQ0FnSUNBQ0ZRRVFBTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2dJQ0FnSUNBZ0FoVURRQUxDeUFGUW9DQWdJQ0FnSUI0ZkNBQ3JVSTBob1FnQlVFQklBSnJyWWdnQWtFQVNoc2dDWVMvQ3d3QkN5QUFJQUdpSWdBZ0FLTUxDL2tUQXc1L0FuNEhmQ01HSVFvakJrR0FCR29rQmtFQUlBSWdBMm9pRUdzaEVRSkFBa0FEUUFKQUFrQUNRQ0FCUVM1ckRnTUVBQUVBQ3lBQklRWWdCeUVCREFFTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRkJBU0VIREFFTEN3d0JDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDeUlHUVRCR0JIOERmeUFVUW45OElSUWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lCa0V3UmcwQVFRRWhDMEVCQ3dWQkFTRUxJQWNMSVFFTElBcEJBRFlDQUFKOEFrQUNRQUpBQWtBZ0JrRXVSaUlPSUFaQlVHb2lEVUVLU1hJRVFBSkFRUUFoQnlBR0lRa2dEU0VHQTBBQ1FDQU9CRUFnQ3cwQlFRRWhDeUFWSVJRRkFrQWdGVUlCZkNFVklBbEJNRWNoRFNBSVFmMEFUZ1JBSUExRkRRRWdDaUFLS0FMd0EwRUJjallDOEFNTUFRc2dDRUVDZENBS2FpSUJJQXdFZnlBSlFWQnFJQUVvQWdCQkNteHFCU0FHQ3pZQ0FDQU1RUUZxSWdaQkNVWWhBVUVBSUFZZ0FSc2hEQ0FCSUFocUlRZ2dGYWNnQnlBTkd5RUhRUUVoQVFzTElBQW9BZ1FpQmlBQUtBSm9TUVIvSUFBZ0JrRUJhallDQkNBR0xRQUFCU0FBRUZRTElnbEJVR29pQmtFS1NTQUpRUzVHSWc1eURRRWdDU0VHREFJTEN5QUJRUUJISVFFTUFnc0ZRUUFoQndzZ0ZDQVZJQXNiSVJRZ0FVRUFSeUlCSUFaQklISkI1UUJHY1VVRVFDQUdRWDlLQkVBTUFnVU1Bd3NBQ3lBVUlBQWdCUkNSQXlJVVFvQ0FnSUNBZ0lDQWdIOVJCSDRnQlVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJnc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0ZBdDhJUlFNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JDQUJSUTBDREFNTEN5QUJSUTBBREFFTFFhVEZBMEVjTmdJQUlBQkNBQkNDQVVRQUFBQUFBQUFBQUF3QkN5QUV0MFFBQUFBQUFBQUFBS0lnQ2lnQ0FDSUFSUTBBR2lBVUlCVlJJQlZDQ2xOeEJFQWdCTGNnQUxpaUlBQWdBblpGSUFKQkhrcHlEUUVhQ3lBVUlBTkJmaEE1ckZVRVFFR2t4UU5CeEFBMkFnQWdCTGRFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QVVJQU5CbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQkxkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFNQkVBZ0RFRUpTQVJBSUFoQkFuUWdDbW9pQlNnQ0FDRUJBMEFnQVVFS2JDRUJJQXhCQVdvaEFDQU1RUWhJQkVBZ0FDRU1EQUVMQ3lBRklBRTJBZ0FMSUFoQkFXb2hDQXNnRktjaEFTQUhRUWxJQkVBZ0FVRVNTQ0FISUFGTWNRUkFJQUZCQ1VZRVFDQUV0eUFLS0FJQXVLSU1Bd3NnQVVFSlNBUkFJQVMzSUFvb0FnQzRva0VBSUFGclFRSjBRY0RVQUdvb0FnQzNvd3dEQ3lBQ1FSdHFJQUZCZld4cUlnQkJIa29nQ2lnQ0FDSUZJQUIyUlhJRVFDQUV0eUFGdUtJZ0FVRUNkRUg0MHdCcUtBSUF0NklNQXdzTEN5QUJRUWtRVHlJQUJIOUJBQ0FBSUFCQkNXb2dBVUYvU2hzaURHdEJBblJCd05RQWFpZ0NBQ0VHSUFnRWYwR0FsT3ZjQXlBR0VEa2hDMEVBSVFkQkFDRUFRUUFoQlFOQUlBY2dCVUVDZENBS2FpSU5LQUlBSWc0Z0JoQklJZzlxSVFrZ0RTQUpOZ0lBSUFzZ0RpQUdJQTlzYTJ3aEJ5QUJRWGRxSUFFZ0NVVWdBQ0FGUm5FaUNSc2hBU0FBUVFGcVFmOEFjU0FBSUFrYklRQWdCVUVCYWlJRklBaEhEUUFMSUFjRWZ5QUlRUUowSUFwcUlBYzJBZ0FnQUNFRklBaEJBV29GSUFBaEJTQUlDd1ZCQUNFRlFRQUxJUUFnQVVFSklBeHJhaUVCSUFVRklBZ2hBRUVBQ3lFSFFRQWhCUU5BQWtBZ0FVRVNTQ0VNSUFGQkVrWWhEU0FIUVFKMElBcHFJUTREUUNBTVJRUkFJQTFGRFFJZ0RpZ0NBRUhmNEtVRVR3UkFRUkloQVF3REN3dEJBQ0VJSUFCQi93QnFJUXNEUUNBSXJTQUxRZjhBY1NJSlFRSjBJQXBxSWdZb0FnQ3RRaDJHZkNJVXB5RUxJQlJDZ0pUcjNBTldCRUFnRkVLQWxPdmNBeEQyQVNJVnB5RUlJQlFnRlVLQWxPdmNBMzU5cHlFTEJVRUFJUWdMSUFZZ0N6WUNBQ0FBSUFBZ0NTQUxHeUFISUFsR0lnOGdDU0FBUWY4QWFrSC9BSEZIY2hzaEJpQUpRWDlxSVFzZ0QwVUVRQ0FHSVFBTUFRc0xJQVZCWTJvaEJTQUlSUTBBQ3lBR1FmOEFha0gvQUhFaENTQUdRZjRBYWtIL0FIRkJBblFnQ21vaERDQUhRZjhBYWtIL0FIRWlCeUFHUmdSQUlBd2dDVUVDZENBS2FpZ0NBQ0FNS0FJQWNqWUNBQ0FKSVFBTElBZEJBblFnQ21vZ0NEWUNBQ0FCUVFscUlRRU1BUXNMQTBBQ1FDQUFRUUZxUWY4QWNTRUdJQUJCL3dCcVFmOEFjVUVDZENBS2FpRU1BMEFDUUNBQlFSSkdJUWhCQ1VFQklBRkJHMG9iSVFrRFFFRUFJUTRDUUFKQUEwQUNRQ0FBSUFjZ0RtcEIvd0J4SWd0R0RRSWdDMEVDZENBS2FpZ0NBQ0lMSUE1QkFuUkJxSW9CYWlnQ0FDSU5TUTBDSUFzZ0RVc05BQ0FPUVFGcVFRSlBEUUpCQVNFT0RBRUxDd3dCQ3lBSURRUUxJQVVnQ1dvaEJTQUFJQWRHQkVBZ0FDRUhEQUVMQzBFQklBbDBRWDlxSVE1QmdKVHIzQU1nQ1hZaEQwRUFJUWdnQnlFTEEwQWdDQ0FMUVFKMElBcHFJaElvQWdBaUV5QUpkbW9oRFNBU0lBMDJBZ0FnRHlBT0lCTnhiQ0VJSUFGQmQyb2dBU0FOUlNBSElBdEdjU0lOR3lFQklBZEJBV3BCL3dCeElBY2dEUnNoQnlBTFFRRnFRZjhBY1NJTElBQkhEUUFMSUFnRVFDQUdJQWRIRFFFZ0RDQU1LQUlBUVFGeU5nSUFDd3dCQ3dzZ0FFRUNkQ0FLYWlBSU5nSUFJQVloQUF3QkN3dEJBQ0VCQTBBZ0FFRUJha0gvQUhFaEJpQUFJQUVnQjJwQi93QnhJZ2xHQkVBZ0JrRi9ha0VDZENBS2FrRUFOZ0lBSUFZaEFBc2dGa1FBQUFBQVpjM05RYUlnQ1VFQ2RDQUthaWdDQUxpZ0lSWWdBVUVCYWlJQlFRSkhEUUFMSUJZZ0JMY2lHS0loRnlBRlFUVnFJZ1lnQTJzaUF5QUNTQ0VFSUFOQkFDQURRUUJLR3lBQ0lBUWJJZ0ZCTlVnRVFFUUFBQUFBQUFEd1AwSHBBQ0FCYXhDZkFTQVhFSkFESWhraEdpQVhSQUFBQUFBQUFQQS9RVFVnQVdzUW53RVFqd01pR3lFV0lCa2dGeUFib2FBaEZ3VkVBQUFBQUFBQUFBQWhGZ3NnQjBFQ2FrSC9BSEVpQWlBQVJ3UkFBa0FnQWtFQ2RDQUthaWdDQUNJQ1FZREt0ZTRCU1FSOElBSkZRUUFnQUNBSFFRTnFRZjhBY1VZYkRRRWdHRVFBQUFBQUFBRFFQNklnRnFBRklBSkJnTXExN2dGSEJFQWdHRVFBQUFBQUFBRG9QNklnRnFBaEZnd0NDeUFZUkFBQUFBQUFBT0Evb2lBV29DQVlSQUFBQUFBQUFPZy9vaUFXb0NBQUlBZEJBMnBCL3dCeFJoc0xJUllMUVRVZ0FXdEJBVW9FZkNBV1JBQUFBQUFBQVBBL0VJOERSQUFBQUFBQUFBQUFZUVI4SUJaRUFBQUFBQUFBOEQrZ0JTQVdDd1VnRmdzaEZnc2dGeUFXb0NBYW9TRVhJQVpCLy8vLy93ZHhRWDRnRUd0S0JId0NmQ0FGSUJlWlJBQUFBQUFBQUVCRFprVWlBRUVCYzJvaEJTQVhJQmRFQUFBQUFBQUE0RCtpSUFBYklSY2dCVUV5YWlBUlRBUkFJQmNnQkNBQUlBRWdBMGR5Y1NBV1JBQUFBQUFBQUFBQVluRkZEUUVhQzBHa3hRTkJ4QUEyQWdBZ0Z3c0ZJQmNMSUFVUWpnTUxJUndnQ2lRR0lCd0w4Z2dEQ0g4RmZnTjhJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVVDUUFKQUEwQUNRQUpBSUFWQkxtc09Bd01CQUFFTElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVkJBU0VJREFFTEN3d0JDeUFBS0FJRUlnVWdBQ2dDYUVrRWZ5QUFJQVZCQVdvMkFnUWdCUzBBQUFVZ0FCQlVDeUlGUVRCR0JIOERmeUFOUW45OElRMGdBQ2dDQkNJRklBQW9BbWhKQkg4Z0FDQUZRUUZxTmdJRUlBVXRBQUFGSUFBUVZBc2lCVUV3UmcwQVFRRWhDRUVCQ3dWQkFRc2hDUXRFQUFBQUFBQUE4RDhoRXlBRklRY2dDQ0VGQTBBQ1FDQUhRU0J5SVFnQ1FBSkFJQWRCVUdvaUMwRUtTUTBBSUFkQkxrWWlEQ0FJUVo5L2FrRUdTWEpGRFFJZ0RFVU5BQ0FKQkg1QkxpRUhEQU1GUVFFaENTQVBDeUVOREFFTElBaEJxWDlxSUFzZ0IwRTVTaHNoQlNBUFFnaFRCRUFnQlNBR1FRUjBhaUVHQlNBUFFnNVRCSHdnRTBRQUFBQUFBQUN3UDZJaUZDRVRJQklnRkNBRnQ2S2dCU0FLUVFFZ0JVVWdDa0VBUjNJaUJSc2hDaUFTSUJJZ0UwUUFBQUFBQUFEZ1A2S2dJQVViQ3lFU0N5QVBRZ0Y4SVE5QkFTRUZDeUFBS0FJRUlnY2dBQ2dDYUVrRWZ5QUFJQWRCQVdvMkFnUWdCeTBBQUFVZ0FCQlVDeUVIREFFTEN5QUZCSHdDZkNBUFFnaFRCRUFnRHlFT0EwQWdCa0VFZENFR0lBNUNBWHdoRUNBT1FnZFRCRUFnRUNFT0RBRUxDd3NDZnlBSFFTQnlRZkFBUmdSK0lBQWdCQkNSQXlJT1FvQ0FnSUNBZ0lDQWdIOVJCSDRnQkVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0Rnc0ZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUWdBTElSRWdBN2RFQUFBQUFBQUFBQUNpSUFaRkRRRWFJQkVnRFNBUElBa2JRZ0tHUW1COGZDSU5RUUFnQW11c1ZRc0VRRUdreFFOQnhBQTJBZ0FnQTdkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFOSUFKQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0E3ZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBR1FYOUtCRUFEUUNBU1JBQUFBQUFBQU9BL1prVWlBRUVCY3lBR1FRRjBjaUVHSUJJZ0VpQVNSQUFBQUFBQUFQQy9vQ0FBRzZBaEVpQU5Rbjk4SVEwZ0JrRi9TZzBBQ3dzQ2ZBSkFJQTFDSUNBQ3JIMThJZzRnQWF4VEJFQWdEcWNpQVVFQVRBUkFRUUFoQVVIVUFDRUFEQUlMQzBIVUFDQUJheUVBSUFGQk5VZ05BQ0FEdHlFVFJBQUFBQUFBQUFBQURBRUxSQUFBQUFBQUFQQS9JQUFRbndFZ0E3Y2lFeENRQXdzaEZFUUFBQUFBQUFBQUFDQVNJQVpCQVhGRklBRkJJRWdnRWtRQUFBQUFBQUFBQUdKeGNTSUFHeUFUb2lBVUlCTWdBQ0FHYXJpaW9LQWdGS0VpRWtRQUFBQUFBQUFBQUdFRVFFR2t4UU5CeEFBMkFnQUxJQklnRGFjUWpnTUxCU0FBS0FKb1JTSUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCQVJBSUFGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFSUFFZ0NVVnlSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc0xCU0FBUWdBUWdnRUxJQU8zUkFBQUFBQUFBQUFBb2dzTHZnTUJCSDhnQUNnQ0NDSUZJQUFvQWdRaUF5QUZJQU5JR3lFR0lBVkJBa2dnQTBFQ1NISUVmMEYvQlNBQktBSUlJQVZHQkg4Z0FTZ0NCQ0FHUmdSL0lBSW9BZ1FnQmtZRWZ3Si9JQVlnQmhDTEFTSUVLQUlFSUFaR0JFQWdCQ2dDQ0NBR1JnUkFJQU1nQlVnaUF3UkFJQUFnQkJDTkJVRUFTQVJBSUFRUVNVRi9EQVFMQlNBQUlBUVFoZ1ZCQUVnRVFDQUVFRWxCZnd3RUN3c2dCQ0FDRUlNRlFRQklCRUFnQkJCSlFYOE1Bd3NnQXdSQUlBQWdCQ0FCSUFJUS9nUkJBRWdFUUNBRUVFbEJmd3dFQ3dVQ1FFRUFJUVVnQkNnQ0FDRURJQUVvQWdBaEFBTkFBa0FnQlNBR1RnMEFJQUlvQWdBZ0JVRURkR29yQXdCRXZJbllsN0xTbkR4akRRQkJBQ0VCQTBBZ0FTQUdTQVJBSUFBZ0F5c0RBRGtEQUNBQlFRRnFJUUVnQTBFSWFpRURJQUJCQ0dvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRklRRURRQ0FCSUFaT0RRRWdBaWdDQUNBQlFRTjBha1FBQUFBQUFBQUFBRGtEQUVFQUlRTURRQ0FESUFaSUJFQWdBRVFBQUFBQUFBQUFBRGtEQUNBRFFRRnFJUU1nQUVFSWFpRUFEQUVMQ3lBQlFRRnFJUUVNQUFBTEFBc0xJQVFRU1VFQURBSUxDeUFFRUVsQmZ3c0ZRWDhMQlVGL0N3VkJmd3NMQzlJVEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ2NoRENBQklBSkJmMm9pRUd4QkFYUWdCMm9oQmdOQUlBVWdBVWdFUUNBR1FRQTdBUUFnREVFQU93RUFJQXhCQW1vaERDQUZRUUZxSVFVZ0JrRUNhaUVHREFFTEMwRUFJUXdnQnlJR0lBRkJmMm9pRVVFQmRHb2hCUU5BSUF3Z0FrZ0VRQ0FGUVFBN0FRQWdCa0VBT3dFQUlBRkJBWFFnQm1vaEJpQU1RUUZxSVF3Z0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUVpCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hERUVCSVFwQkFDRUZJQUJCQVhRZ0Iyb2hBd0ovQWtBRFFBSkFJQW9nRUU0TkFpQUZJUUJCQVNFSUlBTWhDd05BSUFnZ0VVZ0VRQ0FOTFFBQUlBd3RBQUJLQkVBQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxCU0FMUVFBN0FRQUxJQTFCQVdvaERTQU1RUUZxSVF3Z0NFRUJhaUVJSUF0QkFtb2hDd3dCQ3dzZ0RVRUNhaUVOSUF4QkFtb2hEQ0FLUVFGcUlRb2dBQ0VGSUF0QkJHb2hBd3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhCd05BSUFjZ0JVd0VRQ0FISUFZb0FnQWlERVlFUUNBQVFRRnFJUU1GSUFBaEF5QU1RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQURJUUFnQjBFQmFpRUhJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ1kyQWdnZ0JnUi9JQTFCQUNBR1FRSjBFRVVhSUFSQmtJQW9ha0VBSUFaQkJIUVFSUnBCQUNFREEwQWdBeUFHU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ1pCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxVd0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQ2dDQURZQ0FBTkFJQUlvQWdCQkEycEJmSEVpQUNnQ0FDRURJQUlnQUVFRWFqWUNBQ0FCUVg5cUlRQWdBVUVCU3dSQUlBQWhBUXdCQ3dzZ0FpUUdJQU1MeGhRREVYOERmZ0Y4SXdZaENTTUdRYUFDYWlRR0lBQW9Ba3hCZjBvRWYwRUJCVUVBQ3hvZ0NVR0lBbW9oRFNBSlFZUUNhaUVTSUFsQmtBSnFJUk1nQVN3QUFDSUxCRUFDUUFKQUFrQUNRQUpBQTBBQ1FDQUxRZjhCY1JDeUFRUkFBMEFnQVVFQmFpSURMUUFBRUxJQkJFQWdBeUVCREFFTEN5QUFRZ0FRZ2dFRFFDQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN4Q3lBUTBBQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdzMkFnUUZJQUFvQWdRaEN3c2dDeUFBS0FJSWE2d2dGQ0FBS1FONGZId2hGQVVDUUNBQkxBQUFRU1ZHSWdjRVFBSkFBbjhDUUFKQUlBRkJBV29pQkN3QUFDSURRU1ZyRGdZREFRRUJBUUFCQzBFQUlRb2dBVUVDYWd3QkN5QURRZjhCY1JDS0FRUkFJQUVzQUFKQkpFWUVRQ0FDSUFRdEFBQkJVR29Ra3dVaENpQUJRUU5xREFJTEN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaENpQUNJQUZCQkdvMkFnQWdCQXNpQVMwQUFCQ0tBUVJBUVFBaEJBTkFJQUV0QUFBZ0JFRUtiRUZRYW1vaEJDQUJRUUZxSWdFdEFBQVFpZ0VOQUFzRlFRQWhCQXNnQVVFQmFpRUhJQUVzQUFBaUNFSHRBRVlFZjBFQUlRWWdBVUVDYWlFQklBY2lBeXdBQUNFSVFRQWhCU0FLUVFCSEJTQUJJUU1nQnlFQlFRQUxJUXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUlRUmgwUVJoMVFjRUFhdzQ2QlE0RkRnVUZCUTRPRGc0RURnNE9EZzRPQlE0T0RnNEZEZzRGRGc0T0RnNEZEZ1VGQlFVRkFBVUNEZ0VPQlFVRkRnNEZBd1VPRGdVT0F3NExRWDVCZnlBQkxBQUFRZWdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFVTFFRTkJBU0FCTEFBQVFld0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVFMUVFNaENBd0RDMEVCSVFnTUFndEJBaUVJREFFTFFRQWhDQ0FESVFFTFFRRWdDQ0FCTFFBQUlnZEJMM0ZCQTBZaUF4c2hEaUFBQW44Q1FBSkFBa0FDUUNBSFFTQnlJQWNnQXhzaURFSC9BWEVpQjBFWWRFRVlkVUhiQUdzT0ZBRURBd01EQXdNREFBTURBd01EQXdNREF3TUNBd3NnQkVFQklBUkJBVW9iREFNTElBUU1BZ3NnQ2lBT0lCUVFsQU1NQkFzZ0FFSUFFSUlCQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzUXNnRU5BQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9haUlJTmdJRUJTQUFLQUlFSVFnTElBZ2dBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUWdCQXNpRWF3aUZoQ0NBU0FBS0FJRUlnTWdBQ2dDYUNJRVNRUkFJQUFnQTBFQmFqWUNCQVVnQUJCVVFRQklEUWdnQUNnQ2FDRUVDeUFFQkVBZ0FDQUFLQUlFUVg5cU5nSUVDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEVZZEVFWWRVSEJBR3NPT0FVSEJ3Y0ZCUVVIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hBUWNIQUFjSEJ3Y0hCUWNBQXdVRkJRY0VCd2NIQndjQ0FRY0hBQWNEQndjQkJ3c2dERUVRY2tIekFFWUVRQ0FKUVg5QmdRSVFSUm9nQ1VFQU9nQUFJQXhCOHdCR0JFQWdDVUVBT2dBaElBbEJBRFlCQ2lBSlFRQTZBQTRMQlFKQUlBa2dBVUVCYWlJSExBQUFRZDRBUmlJRElnUkJnUUlRUlJvZ0NVRUFPZ0FBQWtBQ1FBSkFJQUZCQW1vZ0J5QURHeUlCTEFBQVFTMXJJZ01FUUNBRFFUQkdCRUFNQWdVTUF3c0FDeUFKSUFSQkFYTWlDRG9BTGlBQlFRRnFJUUVNQWdzZ0NTQUVRUUZ6SWdnNkFGNGdBVUVCYWlFQkRBRUxJQVJCQVhNaENBc0RRQUpBQWtBZ0FTd0FBQ0lFRGw0VEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRURBUXNnQVVFQmFpSURMQUFBSWdRaUIwRUFJQWRCM1FCSEcwVUVRRUV0SVFRTUFRc2dBVUYvYWkwQUFDSUJJQVJCL3dGeFNBUi9BMzhnQVVFQmFpSUJJQWxxSUFnNkFBQWdBU0FETEFBQUlnZEIvd0Z4U1EwQUlBTWhBU0FIQ3dVZ0F5RUJJQVFMSVFRTElBUkIvd0Z4UVFGcUlBbHFJQWc2QUFBZ0FVRUJhaUVCREFBQUN3QUxDeUFSUVFGcVFSOGdERUhqQUVZaURCc2hCQ0FMUVFCSElSQWdEa0VCUmlJUkJFQWdFQVJBSUFSQkFuUVFSQ0lGUlFSQVFRQWhCa0VBSVFVTUVRc0ZJQW9oQlFzZ0RVRUFOZ0lBSUExQkFEWUNCRUVBSVFZRFFBSkFJQVZGSVFjRFFBTkFBa0FnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVTkF5QVRJQU02QUFBQ1FBSkFJQklnRTBFQklBMFExd0ZCZm1zT0FnRUFBZ3RCQUNFR0RCVUxEQUVMQ3lBSFJRUkFJQVpCQW5RZ0JXb2dFaWdDQURZQ0FDQUdRUUZxSVFZTElCQWdCQ0FHUm5GRkRRQUxJQVVnQkVFQmRFRUJjaUlFUVFKMEVPZ0JJZ01FUUNBRElRVU1BZ1ZCQUNFR0RCSUxBQXNMSUEwRWZ5QU5LQUlBUlFWQkFRc0VmeUFHSVFRZ0JTRURRUUFGUVFBaEJnd1FDeUVHQlFKQUlCQUVRQ0FFRUVRaUJrVUVRRUVBSVFaQkFDRUZEQklMUVFBaEJRTkFBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVRVFDQUZJUVJCQUNFRFFRQWhCUXdFQ3lBRklBWnFJQU02QUFBZ0JVRUJhaUlGSUFSSERRQUxJQVlnQkVFQmRFRUJjaUlFRU9nQklnTUVRQ0FESVFZTUFRVkJBQ0VGREJNTEFBQUxBQXNnQ2tVRVFBTkFJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxRUUZxSUFscUxBQUFEUUJCQUNFRVFRQWhCa0VBSVFOQkFDRUZEQUlBQ3dBTFFRQWhCQU4vSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSWdWQkFXb2dDV29zQUFBRWZ5QUVJQXBxSUFVNkFBQWdCRUVCYWlFRURBRUZRUUFoQTBFQUlRVWdDZ3NMSVFZTEN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnZzJBZ1FGSUFBb0FnUWhDQXNnQUNrRGVDQUlJQUFvQWdocnJId2lGVkFnREVFQmN5QVZJQlpSY2tWeURRc2dFQVJBSUJFRVFDQUtJQU0yQWdBRklBb2dCallDQUFzTElBeEZCRUFnQXdSQUlBUkJBblFnQTJwQkFEWUNBQXNnQmtVRVFFRUFJUVlNQ0FzZ0JDQUdha0VBT2dBQUN3d0dDMEVRSVFRTUJBdEJDQ0VFREFNTFFRb2hCQXdDQzBFQUlRUU1BUXNnQUNBT1FRQVFrZ01oRnlBQUtRTjRRZ0FnQUNnQ0JDQUFLQUlJYTZ4OVVRMEdJQW9FUUFKQUFrQUNRQ0FPRGdNQUFRSUZDeUFLSUJlMk9BSUFEQVFMSUFvZ0Z6a0RBQXdEQ3lBS0lCYzVBd0FNQWdzTUFRc2dBQ0FFUVFCQ2Z4Q1RBeUVWSUFBcEEzaENBQ0FBS0FJRUlBQW9BZ2hyckgxUkRRVWdERUh3QUVZZ0NrRUFSM0VFUUNBS0lCVStBZ0FGSUFvZ0RpQVZFSlFEQ3dzZ0R5QUtRUUJIYWlFUElBQW9BZ1FnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFNQWdzTElBQkNBQkNDQVNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lFRElBTWdBU0FIYWlJQkxRQUFSdzBFSUJSQ0FYd2hGQXNMSUFGQkFXb2lBU3dBQUNJTERRRU1CZ3NMREFNTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQU5CZjBvZ0QzSU5BMEVBSVFzTUFRc2dEMFVOQUF3QkMwRi9JUThMSUFzRVFDQUdFRGdnQlJBNEN3c0xJQWtrQmlBUEN3c0FJQUFnQVNBQ0VJd0ZDM2tCQlg4Z0FDZ0NCQ0VGSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWYwRUFJUU1nQVNnQ0FDRUVBMEFnQXlBR1NBUkFJQUFnQUNzREFDQUVLd01Bb1RrREFDQURRUUZxSVFNZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzTEx3RUNmeUFBRUtzQ0lnRW9BZ0EyQWpnZ0FTZ0NBQ0lDQkVBZ0FpQUFOZ0kwQ3lBQklBQTJBZ0JCcU1VREVBNEw2d0lCQjM4akJpRURJd1pCTUdva0JpQURRUmhxSVFRZ0EwRUlhaUVGSUFOQktHb2hCa0g2L1FJZ0FTd0FBQkMvQVFSQVFaZ0pFRVFpQWdSQUlBSkJBRUdRQVJCRkdnSi9JQUZCS3hDL0FVVWhDQ0FCTEFBQUlRRWdDQXNFUUNBQ1FRaEJCQ0FCUWZJQVJoczJBZ0FMSUFGQjRRQkdCRUFnQXlBQU5nSUFJQU5CQXpZQ0JFSGRBU0FERUJraUFVR0FDSEZGQkVBZ0JTQUFOZ0lBSUFWQkJEWUNCQ0FGSUFGQmdBaHlOZ0lJUWQwQklBVVFHUm9MSUFJZ0FpZ0NBRUdBQVhJaUFUWUNBQVVnQWlnQ0FDRUJDeUFDSUFBMkFqd2dBaUFDUVpnQmFqWUNMQ0FDUVlBSU5nSXdJQUpCZnpvQVN5QUJRUWh4UlFSQUlBUWdBRFlDQUNBRVFaT29BVFlDQkNBRUlBWTJBZ2hCTmlBRUVETkZCRUFnQWtFS09nQkxDd3NnQWtFQ05nSWdJQUpCQVRZQ0pDQUNRUUUyQWlnZ0FrRUNOZ0lNUWVqRUF5Z0NBRVVFUUNBQ1FYODJBa3dMSUFJUWx3VUZRUUFoQWdzRlFhVEZBMEVjTmdJQUN5QURKQVlnQWd0d0FRSi9JQUJCS3hDL0FVVWhBU0FBTEFBQUlnSkI4Z0JIUVFJZ0FSc2lBU0FCUVlBQmNpQUFRZmdBRUw4QlJSc2lBU0FCUVlDQUlISWdBRUhsQUJDL0FVVWJJZ0FnQUVIQUFISWdBa0h5QUVZYklnQkJnQVJ5SUFBZ0FrSDNBRVliSWdCQmdBaHlJQUFnQWtIaEFFWWJDL2dCQWdaL0FYd2dBQ2dDQkNJSFFRRklJQUFvQWdnaUEwRUJTSElFZjBGL0JTQURJQUVvQWdSR0JIOERRQ0FDSUFOSEJFQWdBU2dDQUNBQ1FRTjBha1FBQUFBQUFBQUFBRGtEQUNBQ1FRRnFJUUlNQVFzTElBQW9BZ0FoQUFOQUlBVWdCMGNFUUVFQUlRWWdBU2dDQUNFRUlBQWhBZ05BSUFNZ0JrY0VRQ0FFSUFJckF3QWdCQ3NEQUtBNUF3QWdCa0VCYWlFR0lBUkJDR29oQkNBQ1FRaHFJUUlNQVFzTElBTkJBM1FnQUdvaEFDQUZRUUZxSVFVTUFRc0xJQWUzSVFoQkFDRUFBMzhnQUNBRFJnUi9RUUFGSUFFb0FnQWdBRUVEZEdvaUFpQUNLd01BSUFpak9RTUFJQUJCQVdvaEFBd0JDd3NGUVg4TEN3dnNBZ0VMZnlBQUtBSUlJQUFvQWdCQm90cnYxd1pxSWdZUXNRRWhCQ0FBS0FJTUlBWVFzUUVoQlNBQUtBSVFJQVlRc1FFaEF5QUVJQUZCQW5aSkJIOGdCU0FCSUFSQkFuUnJJZ2RKSUFNZ0IwbHhCSDhnQXlBRmNrRURjUVIvUVFBRkFuOGdCVUVDZGlFSkFuOGdBMEVDZGlFTlFRQWhCUU5BQWtBZ0NTQUZJQVJCQVhZaUIyb2lDMEVCZENJTWFpSURRUUowSUFCcUtBSUFJQVlRc1FFaENFRUFJQU5CQVdwQkFuUWdBR29vQWdBZ0JoQ3hBU0lESUFGSklBZ2dBU0FEYTBseFJRMERHa0VBSUFBZ0F5QUlhbW9zQUFBTkF4b2dBaUFBSUFOcUVMTUJJZ05GRFFBZ0EwRUFTQ0VEUVFBZ0JFRUJSZzBER2lBRklBc2dBeHNoQlNBSElBUWdCMnNnQXhzaEJBd0JDd3NnRFNBTWFpSUNRUUowSUFCcUtBSUFDeUFHRUxFQklRUWdBa0VCYWtFQ2RDQUFhaWdDQUNBR0VMRUJJZ0lnQVVrZ0JDQUJJQUpyU1hFRWYwRUFJQUFnQW1vZ0FDQUNJQVJxYWl3QUFCc0ZRUUFMQ3dzRlFRQUxCVUVBQ3dzK0FRRi9JQUFvQWtRRVFDQUFLQUtFQVNJQkJFQWdBU0FBS0FLQUFUWUNnQUVMSUFBb0FvQUJJZ0FFZnlBQVFZUUJhZ1ZCbElvQkN5QUJOZ0lBQ3d2cUFnSURmd0Y4SUFBb0FnUWlCaUFBS0FJSUlnVWdCaUFGU0JzaEJDQUdRUUpJSUFWQkFraHlCRUJCZnlFQUJTQUJLQUlJSUFWR0JFQWdBU2dDQkNBRVJnUkFJQUlvQWdRZ0JFWUVRQ0FES0FJRUlBVkdCRUFnQUJEZkJTSUVCRUFDUUNBRUlBTVFtZ1ZCQUVnRVFDQUVFRWxCZnlFQURBRUxJQVFnQXhDV0JVRUFTQVJBSUFRUVNVRi9JUUFNQVFzZ0JyZWZJUWNnQlNBR2JDRURRUUFoQUFOQUlBQWdBMGdFUUNBRUtBSUFJQUJCQTNScUlnVWdCU3NEQUNBSG96a0RBQ0FBUVFGcUlRQU1BUXNMSUFRZ0FTQUNFSkVGSVFBZ0JCQkpJQUlvQWdRaEEwUUFBQUFBQUFBQUFDRUhRUUFoQVFOQUlBRWdBMGdFUUNBSElBSW9BZ0FnQVVFRGRHb3JBd0NnSVFjZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQWlnQ0FDQUJRUU4wYWlJRUlBUXJBd0FnQjZNNUF3QWdBVUVCYWlFQkRBRUxDd3NGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzTElBQUxCQUJDQUF2aEFRRUVmeU1HSVFRakJrRWdhaVFHSUFRZ0FUWUNBQ0FFSUFJZ0FDZ0NNQ0lEUVFCSGF6WUNCQ0FFSUFBb0FpdzJBZ2dnQkNBRE5nSU1Ba0FDUUNBQUtBSThJQVJCQWlBRVFSQnFJZ01RTVJDc0FnUkFJQU5CZnpZQ0FFRi9JUUlNQVFVZ0F5Z0NBQ0lEUVFGSUJFQWdBeUVDREFJRklBTWdCQ2dDQkNJR1N3UkFJQUFnQUNnQ0xDSUZOZ0lFSUFBZ0JTQURJQVpyYWpZQ0NDQUFLQUl3QkVBZ0FDQUZRUUZxTmdJRUlBRWdBa0YvYW1vZ0JTd0FBRG9BQUFzRklBTWhBZ3NMQ3d3QkN5QUFJQUFvQWdBZ0FrRXdjVUVRYzNJMkFnQUxJQVFrQmlBQ0N3WUFRYVRGQXd0R0FnRi9BWDRqQmlFREl3WkJFR29rQmlBQUtBSThJQUduSUFGQ0lJaW5JQUpCL3dGeElBTVFIUkNzQWdSK0lBTkNmemNEQUVKL0JTQURLUU1BQ3lFRUlBTWtCaUFFQzdjQ0FRZC9Jd1loQmlNR1FTQnFKQVlnQmtFUWFpRUhJQVlpQXlBQUtBSWNJZ1EyQWdBZ0F5QUFLQUlVSUFScklnVTJBZ1FnQXlBQk5nSUlJQU1nQWpZQ0RFRUNJUVFnQWlBRmFpRUZJQU1oQVFKQUFrQURRQ0FBS0FJOElBRWdCQ0FIRURBUXJBSUVmeUFIUVg4MkFnQkJmd1VnQnlnQ0FBc2lBeUFGUndSQUlBTkJBRWdOQWlBQlFRaHFJQUVnQXlBQktBSUVJZ2hMSWdrYklnRWdBeUFJUVFBZ0NSdHJJZ2dnQVNnQ0FHbzJBZ0FnQVNBQktBSUVJQWhyTmdJRUlBUWdDVUVmZEVFZmRXb2hCQ0FGSUFOcklRVU1BUXNMSUFBZ0FDZ0NMQ0lCSUFBb0FqQnFOZ0lRSUFBZ0FUWUNIQ0FBSUFFMkFoUU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUFLQUlBUVNCeU5nSUFJQVJCQWtZRWYwRUFCU0FDSUFFb0FnUnJDeUVDQ3lBR0pBWWdBZ3NPQUNBQUtBSThFQmhCLy84RGNRdW1BZ0VDZndKQUFrQWdBQ2dDRkNJQlFiTitha0VDVHcwQUlBQkJRR3NvQWdBTkFDQUFLQUtNQVNBQUtBSjBTUVJBSUFBb0FnQWlBVUhGQURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fyd0RLQUlFSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUVIU0FUWUNGQXdCQ3dKQUFrQWdBVUhQQVdzT0JBQUJBUUlCQ3lBQVFkSUJOZ0lVREFFTElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dESWdFb0FoUkZCRUFDUUFOQUFrQWdBU2dDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0N6QU1pQVNnQ0ZFVU5BUXdDQ3d0QkFBOExDeUFBS0FJWUtBSVlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkNkQTBFQkMvMEdBUVIvQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaFFpQVVISUFXc09Dd0FCQXdJQ0FnSUNBZ1FDQkFzZ0FFSE1BMm9pQVNnQ0FDZ0NCQ0VDSUFBZ0FrSC9BWEZCckFOcUVRRUFJQUFvQWhnb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFDQUFRY2tCTmdJVURBUUxJQUJCekFOcUlRRU1Bd3NnQUNnQ3pBTW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFEd3RCQVE4TElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkFBOExJQUVvQWdBb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBVWNFUUNBQkR3c0NRQUpBQWtBQ1FBSkFJQUFvQWlRaUFVRUJhdzRFQUFNQkFnTUxJQUVoQWd3REN5QUFLQUxZQVNJREtBSUFJUUVnQXlnQ3NBRWlBa0VEUmlBQlFRRkdJZ1FnQXlnQ1dDSURRUUpHY1hFRWYwRURJUUpCQWdVZ0JDQURRU0pHY1NBQ1FTTkdjUVIvUVFjaEFrRUNCU0FCUWRJQVJpQURRY2NBUm5FZ0FrSENBRVp4Qkg5QkFpRUNRUUlGSUFGQjhnQkdJQU5CNXdCR2NTQUNRZUlBUm5FRWYwRUdJUUpCQWdVZ0FDZ0NuQUlFZjBFRElRSkJBZ1VnQUNnQ3FBSkZCRUFnQUNnQ0FDSUVJQUUyQWhnZ0JDQUROZ0ljSUFRZ0FqWUNJQ0FFUWZFQU5nSVVJQVFvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdCQkFpRUJRUU1oQWd3SUN3SkFBa0FDUUNBQUxBQ3NBaUlCRGdJQUFRSUxRUUloQVVFQ0lRSU1DUXRCQWlFQlFRTWhBZ3dJQ3lBQUtBSUFJZ0pCOUFBMkFoUWdBaUFCUWY4QmNUWUNHQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFRUUloQVVFRElRSU1Cd3NMQ3dzTElRRU1BZ3NnQUNnQ3FBSUVmd0pBQWtBQ1FDQUFMQUNzQWlJQkRnTUFBZ0VDQzBFRUlRRkJCQ0VDREFRTFFRUWhBVUVGSVFJTUF3c2dBQ2dDQUNJQ1FmUUFOZ0lVSUFJZ0FVSC9BWEUyQWhnZ0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFRUlRRkJCU0VDREFJRlFRUWhBa0VFQ3lFQkRBRUxRUUFoQVVFQUlRSUxJQUFnQWpZQ0tDQUFJQUUyQWl3Z0FDQUFLQUtzQXlJQk5nSXdJQUFnQVRZQ05DQUFSQUFBQUFBQUFQQS9PUU00SUFCQlFHdEJBRFlDQUNBQVFRQTJBa1FnQUVFQU5nSklJQUJCQVRZQ1RDQUFRUUUyQWxBZ0FFRUFOZ0pVSUFCQkFqWUNXQ0FBUVFFMkFsd2dBRUdBQWpZQ1lDQUFRUUEyQW9nQklBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNJQUJCeWdFMkFoUkJBUXVOQVFFQ2Z5QUFLQUlVSWdKQmZuRkJ5QUZIQkVBZ0FDZ0NBQ0lEUVJVMkFoUWdBeUFDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzQ1FBSkFBa0FnQUJDbEJTSUNRUUZyRGdJQUFRSUxRUUVQQ3lBQkJFQWdBQ2dDQUNJQlFUVTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFFSjBEUVFJUEN5QUNDd2NBSUFBUW5nTUxud0lCQW44Z0FFRUFOZ0lFSUFGQjJnQkhCRUFnQUNnQ0FDSURRUTAyQWhRZ0EwSGFBRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FlZ0RSd1JBSUFBb0FnQWlBVUVXTmdJVUlBRkI2QU0yQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzQ2Z5QUFJUVFnQUNnQ0FDRUNJQUFvQWd3aEF5QUFRUVJxUVFCQjVBTVFSUm9nQUNBQ05nSUFJQUFnQXpZQ0RDQUFRUUUyQWhBZ0JBc1F3Z1VnQUVFQU5nSUlJQUJCQURZQ0dDQUFRUUEyQXJnQ0lBQkNBRGNDcEFFZ0FFSUFOd0tzQVNBQVFnQTNBclFCSUFCQ0FEY0N2QUVnQUVJQU53TEVBU0FBUWdBM0Fzd0JJQUFRdUFVZ0FCQ1FCaUFBUWNnQk5nSVVDeFVBSUFBb0FnQWlBRUVBTmdKc0lBQkJBRFlDRkF2cEFnRUtmeU1HSVFZakJrRXdhaVFHSUFaQkNHb2hCQUpBQWtBQ2Z5QUFLQUlBSWdJb0FoUWlBMEVBU2dSQUlBTWdBaWdDZEV3RVFDQUNLQUp3SUFOQkFuUnFEQUlMQ3lBQ0tBSjRJZ1ZGRFFFZ0F5QUNLQUo4SWdCSURRRWdBeUFDS0FLQUFVb05BU0FESUFCclFRSjBJQVZxQ3lnQ0FDSUZSUTBBREFFTElBSWdBellDR0NBQ0tBSndLQUlBSVFVTElBVWhBQUpBQWtBRFFBSkFJQUJCQVdvaEF3SkFJQUFzQUFBaUFBUkFJQUJCSlVZRVFBd0ZCUXdDQ3dBTERBRUxJQU1oQUF3QkN3c01BUXNnQXl3QUFFSHpBRVlFUUNBR0lBSkJHR28yQWdBZ0FTQUZJQVlRdkFFZ0JpUUdEd3NMSUFJb0Fod2hCeUFDS0FJZ0lRZ2dBaWdDSkNFSklBSW9BaWdoQ2lBQ0tBSXNJUXNnQWlnQ01DRURJQUlvQWpRaEFDQUVJQUlvQWhnMkFnQWdCQ0FITmdJRUlBUWdDRFlDQ0NBRUlBazJBZ3dnQkNBS05nSVFJQVFnQ3pZQ0ZDQUVJQU0yQWhnZ0JDQUFOZ0ljSUFFZ0JTQUVFTHdCSUFZa0JndE9BUU4vSXdZaEFTTUdRZEFCYWlRR0lBQW9BZ0FvQWd3aEFpQUFJQUVnQWtFL2NVR3lCV29SQXdBQ2YwR2tpQUVvQWdBaEF5QUJRY2dCYWlJQ0lBRTJBZ0FnQXdzZ0FoQ0xCU0FCSkFZTGVRRUJmeUFBS0FJQUlRSWdBVUVBVGdSQUlBSW9BbWdnQVVnRVFBOExJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUE4TEFrQUNRQ0FDS0FKc0lnRkZEUUFnQWlnQ2FFRUNTZzBBREFFTElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FDS0FKc0lRRUxJQUlnQVVFQmFqWUNiQXNtQVFGL0lBQW9BZ0FvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUVKNERRUUVRQVF0bEFDQUFRWXdCTmdJQUlBQkJOVFlDQkNBQVFZMEJOZ0lJSUFCQk5qWUNEQ0FBUVk0Qk5nSVFJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0lVSUFCQmdCZzJBbkFnQUVIK0FEWUNkQ0FBUVFBMkFuZ2dBRUVBTmdKOElBQkJBRFlDZ0FFZ0FBc3JBUUYvSUFBb0FnUW9BZ0FoQVNBQVFRQkJoQUVnQVVFL2NVSEtBV29SQkFBaUFFRUFOZ0tBQVNBQUN5c0JBWDhnQUNnQ0JDZ0NBQ0VCSUFCQkFFR1lBaUFCUVQ5eFFjb0JhaEVFQUNJQVFRQTJBcFFDSUFBTHR3WUJCbjhnQWlBRGFpRUVBa0FDUUFKQUFrQWdBa0VOU3dSQUlBRXNBQUJCeWdCR0JFQWdBU3dBQVVIR0FFY05BaUFCTEFBQ1Fja0FSdzBDSUFFc0FBTkJ4Z0JIRFFJZ0FTd0FCQTBDSUFCQkFUWUNuQUlnQUNBQkxBQUZJZ2M2QUtBQ0lBQWdBU3dBQmlJSU9nQ2hBaUFBSUFFc0FBY2lDVG9Bb2dJZ0FDQUJMUUFKSUFFdEFBaEJDSFJ5SWdZN0FhUUNJQUFnQVMwQUN5QUJMUUFLUVFoMGNpSURPd0dtQWlBSFFYOXFRUmgwUVJoMVFmOEJjVUVDVGdSQUlBQW9BZ0FpQWtINkFEWUNGQ0FDSUFkQi93RnhOZ0lZSUFBb0FnQWdBQzBBb1FJMkFod2dBQ2dDQUNnQ0JDRUNJQUJCZnlBQ1FUOXhRYklGYWhFREFDQUFMQUNnQWlFSElBQXNBS0VDSVFnZ0FDNEJwQUloQmlBQUxnR21BaUVESUFBc0FLSUNJUWtMSUFBaEFpQUFLQUlBSWdVZ0IwSC9BWEUyQWhnZ0JTQUlRZjhCY1RZQ0hDQUZJQVpCLy84RGNUWUNJQ0FGSUFOQi8vOERjVFlDSkNBRklBbEIvd0Z4TmdJb0lBVkIyUUEyQWhRZ0JTZ0NCQ0VESUFKQkFTQURRVDl4UWJJRmFoRURBQ0FCTEFBTUlnWWdBU3dBRFNJRGNrSC9BWEVFUUNBQUtBSUFJZ05CM0FBMkFoUWdBeUFCTFFBTU5nSVlJQUFvQWdBZ0FTMEFEVFlDSENBQUtBSUFLQUlFSVFNZ0FrRUJJQU5CUDNGQnNnVnFFUU1BSUFFc0FBd2hCaUFCTEFBTklRTUxJQVpCL3dGeFFRTnNJQU5CL3dGeGJDQUVRWEpxSWdOR0JFQVBDeUFBS0FJQUlnRkIyZ0EyQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ1FoQUNBQ1FRRWdBRUUvY1VHeUJXb1JBd0FQQ3dVZ0FrRUZTd1JBSUFFc0FBQkJ5Z0JHRFFJTEN3d0JDeUFCTEFBQlFjWUFSZ1JBSUFFc0FBSkIyQUJHQkVBZ0FTd0FBMEhZQUVZRVFDQUJMQUFFUlFSQUFrQUNRQUpBQWtBZ0FTd0FCVUVRYXc0RUFBRURBZ01MSUFBb0FnQWlBVUh1QURZQ0ZBd0lDeUFBS0FJQUlnRkI3d0EyQWhRTUJ3c2dBQ2dDQUNJQlFmQUFOZ0lVREFZTElBQW9BZ0FpQWtIYkFEWUNGQ0FDSUFFdEFBVTJBaGdnQUNnQ0FDQUVOZ0ljREFZTEN3c0xDeUFBS0FJQUlnRkJ6d0EyQWhRZ0FTQUVOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FQQ3lBQklBUTJBaGdMSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FMeWdVQkNYOGpCaUVDSXdaQkVHb2tCZ0pBSUFBb0FoZ2lCQ2dDQkNJRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXdzZ0JDZ0NBQ0lHUVFGcUlRRWdCaTBBQUNFRklBTkJmMm9pQTBVRVFDQUVLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUFJUUVnQkNnQ0JDRURDeUFEUVg5cUlRTWdBVUVCYWlFR1FRNGdBUzBBQUNBRlFmOEJjVUVJZEhJaUFVRithaUlIUVFBZ0FVRUNTeHNnQVVFUFN4c2lCUVJBQWtCQkFDRUJBMEFDUUNBRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFJUVlMSUFFZ0Ftb2dCaXdBQURvQUFDQURRWDlxSVFNZ0JrRUJhaUVHSUFGQkFXb2lBU0FGU1EwQkRBSUxDd3dDQ3dzZ0J5QUZheUVJQWtBQ1FBSkFJQUFvQXJnRElnRkI0QUZySWdrRVFDQUpRUTVHQkVBTUFnVU1Bd3NBQ3lBQUlBSWdCU0FJRUxFRkRBSUxJQUlzQUFCQndRQkdJQVZCQzB0eEJFQWdBaXdBQVVIa0FFWUVRQ0FDTEFBQ1FlOEFSZ1JBSUFJc0FBTkI0Z0JHQkVBZ0Fpd0FCRUhsQUVZRVFDQUNMUUFJSUFJdEFBZEJDSFJ5SVFjZ0FpMEFDaUFDTFFBSlFRaDBjaUVKSUFJc0FBc2hCU0FBS0FJQUlnRWdBaTBBQmlBQ0xRQUZRUWgwY2pZQ0dDQUJJQWMyQWh3Z0FTQUpOZ0lnSUFFZ0JVSC9BWEUyQWlRZ0FVSE9BRFlDRkNBQktBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUJCQVRZQ3FBSWdBQ0FGT2dDc0Fnd0dDd3NMQ3dzZ0FDZ0NBQ0lCUWRBQU5nSVVJQUVnQnpZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQURBRUxJQUFvQWdBaUJVSEdBRFlDRkNBRklBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFFSUFZMkFnQWdCQ0FETmdJRUlBaEJBRXdFUUNBQ0pBWkJBUThMSUFBb0FoZ29BaEFoQXlBQUlBZ2dBMEUvY1VHeUJXb1JBd0FnQWlRR1FRRVBDeUFDSkFaQkFBdU1BZ0VHZnlBQUtBSVlJZ0lvQWdRaUFVVUVRQ0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUFSL0lBSW9BZ1FGUVFBUEN5RUJDeUFDS0FJQUlnTkJBV29oQkNBRExRQUFJUU1nQVVGL2FpSUJSUVJBSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQUJIOGdBaWdDQUNFRUlBSW9BZ1FGUVFBUEN5RUJDeUFFTFFBQUlBTkIvd0Z4UVFoMGNpSUdRWDVxSVFVZ0FDZ0NBQ0lEUWQwQU5nSVVJQU1nQUNnQ3VBTTJBaGdnQUNnQ0FDQUZOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQWlBRVFRRnFOZ0lBSUFJZ0FVRi9hallDQkNBR1FRSk5CRUJCQVE4TElBQW9BaGdvQWhBaEFTQUFJQVVnQVVFL2NVR3lCV29SQXdCQkFRdUJBUUVHZnlBQUtBSUVJZ1VnQVNnQ0JFWUVmeUFBS0FJSUlnUWdBU2dDQ0VZRWZ3Ti9JQUlnQlVnRWZ5QUNJQVJzSVFaQkFDRURBMEFnQXlBRVNBUkFJQUFvQWdBZ0F5QUdhaUlIUVFOMGFpQUJLQUlBSUFkQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQzZrQkFRSi9JQUFvQXJnRElnRkZCRUFnQUJDeEFnUi9JQUFvQXJnREJVRUFEd3NoQVFzZ0FDZ0MwQU1vQWhRaUFrSFFBV29nQVVZRVFDQUFLQUlBSWdGQjVBQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBU0FBUVFNZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF3VWdBQ2dDR0NnQ0ZDRUJJQUFnQWlBQlFUOXhRWW9CYWhFQ0FFVUVRRUVBRHdzTElBQW9BdEFESWdBZ0FDZ0NGRUVCYWtFSGNUWUNGRUVCQzZSVUFTbC9Jd1loS1NNR1FZQUNhaVFHSUNraENpQUFLQUs0QXlFQkEwQUNRQ0FCUlFSQUFuOGdBQ2dDMEFNb0Fnd0VRQ0FBRUxFQ1JRUkFRZDRDSVFFTUJBc2dBQ2dDdUFNTUFRc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUJFRUJhaUVDSUFRc0FBQWhBeUFCUVg5cUlnUUVmeUFDQlNBR0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBUUxJQVlvQWdRaEJDQUdLQUlBQ3lFQklBTkIvd0Z4SVFVZ0FTd0FBQ0lIUWY4QmNTRUNJQU5CZjBjZ0IwRllSM0lFUUNBQUtBSUFJZ05CTnpZQ0ZDQURJQVUyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDQUNOZ0s0QXlBR0lBRkJBV28yQWdBZ0JpQUVRWDlxTmdJRUlBSUxJUUVMQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUJRUUZyRHY0QkVCSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSURCQVVJQ2dnSUNBZ0dCd2dKQ0FnSUVCQVFFQkFRRUJBQ0FRQUxFUXdTRWc0T0RnNE9EZzRPRGc0T0RnNE9EZzRTRWhJU0VoSVNFZzBTRWhJU0VnOFNDMEVaSVFFTUV3dEJ5d0FoQVF3U0N5QUFLQUlBSWdGQjZBQTJBaFFnQVNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUxRQTBFTWFpSUJLQUlBQkVBZ0FDZ0NBQ0lCUWNBQU5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBMEVNYWlFQkN5QUFRZ0EzQU9nQklBQkNBRGNBOEFFZ0FFS0Jnb1NJa0tEQWdBRTNBUGdCSUFCQ2dZS0VpSkNnd0lBQk53Q0FBaUFBUW9XS2xLalFvTUdDQlRjQWlBSWdBRUtGaXBTbzBLREJnZ1UzQUpBQ0lBQkJBRFlDbUFJZ0FFRUFOZ0lvSUFCQkFEWUNzQUlnQUVFQU5nSzBBaUFBUVFBMkFwd0NJQUJCQVRvQW9BSWdBRUVCT2dDaEFpQUFRUUE2QUtJQ0lBQkJBVHNCcEFJZ0FFRUJPd0dtQWlBQVFRQTJBcWdDSUFCQkFEb0FyQUlnQVVFQk5nSUFEQkFMSUFCQkFVRUFRUUFRMkFGRkJFQkIzZ0loQVF3UkN3d1BDeUFBUVFCQkFFRUFFTmdCUlFSQVFkNENJUUVNRUFzTURnc2dBRUVBUVFGQkFCRFlBVVVFUUVIZUFpRUJEQThMREEwTElBQkJBRUVBUVFFUTJBRkZCRUJCM2dJaEFRd09Dd3dNQ3lBQVFRQkJBVUVCRU5nQlJRUkFRZDRDSVFFTURRc01Dd3NnQUNnQ0FDSUNRVDgyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdLQ3lBQUtBSVlJZ01vQWdRaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVFzZ0F5Z0NBQ0lFUVFGcUlRSWdCQzBBQUNFRUlBRkJmMm9pQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBU0FES0FJQUlRSUxJQUl0QUFBZ0JFSC9BWEZCQ0hSeUlnWkJmbW9oQkNBQlFYOXFJUUVnQWtFQmFpRUNJQVpCQWtzRVFBTi9JQUZGQkVBZ0F5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFES0FJRUlRRWdBeWdDQUNFQ0N5QUNRUUZxSVFZZ0FpMEFBQ0VGSUFGQmYyb2lBa1VFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBNExJQU1vQWdRaEFpQURLQUlBSVFZTElBWXNBQUFpQ1VIL0FYRWhCeUFBS0FJQUlnRkIwUUEyQWhRZ0FTQUZRZjhCY1NJQk5nSVlJQUFvQWdBZ0J6WUNIQ0FBS0FJQUtBSUVJUWdnQUVFQklBaEJQM0ZCc2dWcUVRTUFBa0FDUUNBRlFmOEJjVUVmU2dSQUlBQW9BZ0FpQlVFZE5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTUFRVWdCVUgvQVhGQkQwb05BU0FCSUFCQjZBRnFhaUFIUVE5eElnVTZBQUFnQVNBQVFmZ0JhbW9nQ1VIL0FYRkJCSFlpQVRvQUFDQUZJQUZMQkVBZ0FDZ0NBQ0lCUVI0MkFoUWdBU0FITmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTERBRUxJQUFnQVdwQitBRnFJQWs2QUFBTElBUkJmbW9oQVNBQ1FYOXFJUUlnQmtFQmFpRUdJQVJCQWtvRWZ5QUJJUVFnQWlFQklBWWhBZ3dCQlNBQklRUWdBaUVCSUFZTEN5RUNDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRElBSTJBZ0FnQXlBQk5nSUVEQWtMSUFBb0FoZ2lCU2dDQkNJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCQ3lBRktBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VTU3dSQUEwQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFTQUZLQUlBSVFJTElBSXRBQUFoQnlBQUtBSUFJZ1pCMGdBMkFoUWdCaUFITmdJWUlBQW9BZ0FvQWdRaEJpQUFRUUVnQmtFL2NVR3lCV29SQXdBZ0FrRUJhaUVHSUFGQmYyb2lBZ1IvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBTElnRXNBQUFoQ1NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VJSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhEU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVFJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSRWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEVpQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFVElBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJRZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRlNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VXSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUmNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhHQ0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVpJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSb2dBVUVCYWlFR0lBSkJmMm9pQVFSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VCSUFVb0FnQUxJUUlnQWl3QUFDSW5RZjhCY1NJb0lCcEIvd0Z4SWlZZ0dVSC9BWEVpSlNBWVFmOEJjU0lrSUJkQi93RnhJaU1nRmtIL0FYRWlJaUFWUWY4QmNTSWhJQlJCL3dGeElpQWdFMEgvQVhFaUh5QVNRZjhCY1NJZUlCRkIvd0Z4SWgwZ0VFSC9BWEVpSENBTlFmOEJjU0liSUF0Qi93RnhJZzhnQ1VIL0FYRWlEaUFJUWY4QmNTSU1hbXBxYW1wcWFtcHFhbXBxYW1wcUlRWWdBQ2dDQUNJRElBNDJBaGdnQXlBTU5nSWNJQU1nRHpZQ0lDQURJQnMyQWlRZ0F5QWNOZ0lvSUFNZ0hUWUNMQ0FESUI0MkFqQWdBeUFmTmdJMElBTkIyQUEyQWhRZ0F5Z0NCQ0VESUFCQkFpQURRVDl4UWJJRmFoRURBQ0FBS0FJQUlnTWdJRFlDR0NBRElDRTJBaHdnQXlBaU5nSWdJQU1nSXpZQ0pDQURJQ1EyQWlnZ0F5QWxOZ0lzSUFNZ0pqWUNNQ0FESUNnMkFqUWdBMEhZQURZQ0ZDQURLQUlFSVFNZ0FFRUNJQU5CUDNGQnNnVnFFUU1BSUFSQmIyb2lEaUFHU0NBR1FZQUNTM0lFUUNBQUtBSUFJZ1JCQ1RZQ0ZDQUVLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMSUFGQmYyb2hBU0FDUVFGcUlRSWdDa0VBUVlBQ0VFVWFJQVlFUUVFQUlRUURRQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdQQ3lBRktBSUVJUUVnQlNnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFQ0lBUWdDbW9nQXl3QUFEb0FBQ0FFUVFGcUlnUWdCa2tOQUFzRlFRQWhCZ3NnQnlBSFFYQnFJZ1FnQjBFUWNVVWlBeHNpREVFRFN3UkFJQUFvQWdBaUQwRWZOZ0lVSUE4Z0REWUNHQ0FBS0FJQUtBSUFJUXdnQUNBTVFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBZEJBblJxSUFCQnhBRnFJQVJCQW5ScUlBTWJJZ01vQWdBaUJFVUVRQ0FESUFBUXNBVWlCRFlDQUFzZ0JFRUFPZ0FBSUFRZ0NUb0FBU0FFSUFnNkFBSWdCQ0FMT2dBRElBUWdEVG9BQkNBRUlCQTZBQVVnQkNBUk9nQUdJQVFnRWpvQUJ5QUVJQk02QUFnZ0JDQVVPZ0FKSUFRZ0ZUb0FDaUFFSUJZNkFBc2dCQ0FYT2dBTUlBUWdHRG9BRFNBRUlCazZBQTRnQkNBYU9nQVBJQVFnSnpvQUVDQURLQUlBUVJGcUlBcEJnQUlRVEJvZ0RpQUdheUlFUVJCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRklBSTJBZ0FnQlNBQk5nSUVEQWdMSUFBb0FoZ2lDQ2dDQkNJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCQ3lBSUtBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJJQWdvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VDU3dSQUEwQWdBUVIvSUFFaEJTQUNCU0FJS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBZ29BZ1FoQlNBSUtBSUFDeUlHTFFBQUlnRkJCSFloQWlBQUtBSUFJZ05CMHdBMkFoUWdBeUFCUVE5eElnRTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQVVFRFN3UkFJQUFvQWdBaUEwRWdOZ0lVSUFNZ0FUWUNHQ0FBS0FJQUtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUJCcEFGcUlBRkJBblJxSWdFb0FnQWlBMFVFUUNBQklBQVFyd1VpQXpZQ0FBc2dCRUYvYWlFSkFuOENmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FDUVFCSElnc0VmeUFFUVlFQlRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKUVFGMUJTQUVRY0VBVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpDeUlCUVFSckRpNEFCZ1lHQmdFR0JnWUdCZ1lDQmdZR0JnWUdCZ1lEQmdZR0JnWUdCZ1lHQmdRR0JnWUdCZ1lHQmdZR0JnWUZCZ3RCd0NVaEFnd0dDMEhRSkNFQ0RBVUxRZEFqSVFJTUJBdEJvQ0loQWd3REMwSFFJQ0VDREFJTFFjQWVJUUlNQVFzZ0JVRi9haUVDSUFaQkFXb2hCaUFCUVFCS0JFQkJnQndoQnlBR0RBTUZJQUVoQkNBQ0lRRWdCZ3dFQ3dBTElBSWhCeUFGUVg5cUlRSWdCa0VCYWd3QkMwR0FIQ0VIUWNBQUlRRWdCVUYvYWlFQ0lBWkJBV29MSVFRZ0MwVUVRRUVBSVFVRFFDQUNSUVJBSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUR3c2dDQ2dDQkNFQ0lBZ29BZ0FoQkFzZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFPd0VBSUFKQmYyb2hBaUFFUVFGcUlRWWdCVUVCYWlJRklBRklCRUFnQmlFRURBRUZJQUVoQkNBQ0lRRWdCZ3dEQ3dBQUN3QUxRUUFoQlFOL0lBSkZCRUFnQ0NnQ0RDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QUlLQUlFSVFJZ0NDZ0NBQ0VFQ3lBRVFRRnFJUVlnQkMwQUFDRU5JQUpCZjJvaUFnUi9JQVlGSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTURnc2dDQ2dDQkNFQ0lBZ29BZ0FMSVFRZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFJQTFCL3dGeFFRaDBjanNCQUNBQ1FYOXFJUUlnQkVFQmFpRUdJQVZCQVdvaUJTQUJTQVIvSUFZaEJBd0JCU0FCSVFRZ0FpRUJJQVlMQ3dzaEFpQUFLQUlBSWdVb0FtaEJBVW9FUUFKQVFRQWhCZ05BSUFVZ0JrRUJkQ0FEYWk4QkFEWUNHQ0FGSUFaQkFYSkJBWFFnQTJvdkFRQTJBaHdnQlNBR1FRSnlRUUYwSUFOcUx3RUFOZ0lnSUFVZ0JrRURja0VCZENBRGFpOEJBRFlDSkNBRklBWkJCSEpCQVhRZ0Eyb3ZBUUEyQWlnZ0JTQUdRUVZ5UVFGMElBTnFMd0VBTmdJc0lBVWdCa0VHY2tFQmRDQURhaThCQURZQ01DQUZJQVpCQjNKQkFYUWdBMm92QVFBMkFqUWdCVUhmQURZQ0ZDQUZLQUlFSVFVZ0FFRUNJQVZCUDNGQnNnVnFFUU1BSUFaQkNHb2lCa0hBQUU4TkFTQUFLQUlBSVFVTUFBQUxBQXNMSUFrZ0JHdEJBQ0FFYTBFQUlBc2JhaUlFUVFCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBSUlBSTJBZ0FnQ0NBQk5nSUVEQWNMSUFBb0FoZ2lCaWdDQkNJQlJRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VCQ3lBR0tBSUFJZ0pCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQUxJZ0V0QUFCeVFRUkhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQWhBUXNnQVVFQmFpRUVJQUV0QUFCQkNIUWdBa0YvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3SkN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWhCQ0FBS0FJQUlnTkIxQUEyQWhRZ0F5QUVOZ0lZSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQUNBRU5nS1lBaUFHSUFGQkFXbzJBZ0FnQmlBQ1FYOXFOZ0lFREFZTElBQW9BaGdpQlNnQ0FDRUNJQVVvQWdRaEFTQUFLQUxRQXlnQ0VFVUVRQ0FBS0FJQUlnUkJQRFlDRkNBRVFSaHFRZkw5QWtIUUFCRFZBU0FBS0FJQUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxBa0FDUUNBQUtBSWtRUU5JRFFBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFdEFBQnlRUmhIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBRUVOUndSQUlBQW9BZ0FpQkVIR0FEWUNGQ0FFSUFBb0FyZ0ROZ0lZSUFBb0FnQW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFGQkFXb2hCQ0FCTFFBQUlRWWdBa0YvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tIL0FVY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUJCQTBjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdBQ2dDMkFFaUF5Z0NXRWNOQUNBQkJIOGdBU0VFSUFJaEJpQURCU0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQkNBRktBSUFJUVlnQUNnQzJBRUxJUUVnQkVGL2FpRUNJQVpCQVdvaEJDQUdMUUFBSUFFb0FnQkdCRUFnQWdSL0lBRUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VDSUFVb0FnQWhCQ0FBS0FMWUFRc2hCaUFDUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmlnQ3NBRkhEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBUVlCL1J3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tFQlJ3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUFOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5UVFGSERRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNnMEJCU0FDSVFFZ0JDRUNEQUVMREFFTElBQW9BZ0FpQkVFY05nSVVJQVFvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FFRUJOZ0t3QWlBRklBSTJBZ0FnQlNBQk5nSUVEQVVMSUFBb0F0QURJQUZCQW5ScVFhQjVhaWdDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdHQ3d3RUN5QUFLQUxRQXlnQ0hDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RkN3d0RDeUFBS0FJQUlnSkIzZ0EyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FNQWdzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQWtFQmFpRUVJQUl0QUFCQkNIUWdBVUYvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWlBMEYrYWlFRUlBQW9BZ0FpQlVIZEFEWUNGQ0FGSUFBb0FyZ0ROZ0lZSUFBb0FnQWdCRFlDSENBQUtBSUFLQUlFSVFVZ0FFRUJJQVZCUDNGQnNnVnFFUU1BSUFZZ0FVRUJhallDQUNBR0lBSkJmMm8yQWdRZ0EwRUNTd1JBSUFBb0FoZ29BaEFoQVNBQUlBUWdBVUUvY1VHeUJXb1JBd0FMREFFTElBQW9BZ0FpQWtIR0FEWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFRUUEyQXJnRFFRQWhBUXdCQ3dzQ1FDQUJRUmxHQkVBZ0FDZ0NHQ0lIS0FJQUlRUWdCeWdDQkNFQklBQW9BdEFES0FJUVJRUkFJQUFvQWdBaUFrRThOZ0lVSUFKQkdHcEI3djBDUWRBQUVOVUJJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBUVIvSUFFaEFpQUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUVJQUV0QUFBaEJTQUNRWDlxSWdJRWZ5QUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUdJQUV0QUFBaENDQUNRWDlxSWdRRWZ5QUdCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFRZ0J5Z0NBQXNpQVN3QUFDSURRZjhCY1NFSklBQW9BZ0FpQWtIcEFEWUNGQ0FDSUFrMkFoZ2dBQ2dDQUNnQ0JDRUNJQUJCQVNBQ1FUOXhRYklGYWhFREFBSkFBa0FDUUFKL0FrQWdDVUVCZEVFR2FpQUlRZjhCY1NBRlFmOEJjVUVJZEhKSElBTkIvd0Z4UVFSS2NnMEFJQU1FUUNBQUlBazJBdFFDSUFGQkFXb2hBU0FFUVg5cUlnUWhBaUFFUlF3Q0N5QUFLQUxnQVVVTkFDQUFJQWsyQXRRQ0lBRkJBV29oQWlBRVFYOXFJZ0VFZjBFQkJVRUJJUVFNQkFzaEJBd0VDeUFBS0FJQUlnSkJERFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQWdBQ0FKTmdMVUFpQUJRUUZxSVFJZ0JFRi9haUlFUlNFR0lBTUVmeUFDSVFFZ0JDRUNJQVlGSUFRaEFVRUJJUVFNQWdzTElRUkJBQ0VEQTBBQ1FDQUVCSDhnQnlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCeWdDQkNFR0lBY29BZ0FGSUFJaEJpQUJDeUlFTFFBQUlRSWdBd1JBQWtCQkFDRUJBMEFnQUVIWUFtb2dBVUVDZEdvb0FnQW9BZ0FnQWtjRVFDQUJRUUZxSWdFZ0Ewa0VRQXdDQlF3REN3QUxDeUFBS0FMWUFpZ0NBQ0VCSUFOQkFVc0VRRUVCSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNnQ0FDSUZJQUVnQlNBQlNoc2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBRkJBV29oQWdzTElBWkJmMm9oQmlBRVFRRnFJUVVnQUNnQzJBRWhBUUpBQWtBZ0FDZ0NKQ0lJUVFCTURRQkJBQ0VFQWtBRFFDQUNJQUVvQWdCR0RRRWdBVUhZQUdvaEFTQUVRUUZxSWdRZ0NFZ05BQXNNQVFzTUFRc2dBQ2dDQUNJRVFRUTJBaFFnQkNBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBRUhZQW1vZ0EwRUNkR29nQVRZQ0FDQUJJQVlFZnlBRkJTQUhLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBSEtBSUVJUVlnQnlnQ0FBc2lBaTBBQUNJRVFRUjJOZ0lVSUFFZ0JFRVBjVFlDR0NBQUtBSUFJZ1FnQVNnQ0FEWUNHQ0FFSUFFb0FoUTJBaHdnQkNBQktBSVlOZ0lnSUFSQjZnQTJBaFFnQkNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUNRUUZxSVFJZ0JrRi9haUlFUlNFR0lBTkJBV29pQXlBSlNRUkFJQUloQVNBRUlRSWdCaUVFREFJRklBUWhBVUVBSVFRTUF3c0FDd3NNQkFzZ0JnMEFEQUVMSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdBaEFpQUhLQUlFSVFFTElBSkJBV29oQmlBQUlBSXRBQUEyQXB3RElBRkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCUVFGcUlRWWdBQ0FCTFFBQU5nS2dBeUFBSUFKQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJMUUFBSWdaQkJIWTJBcVFESUFBZ0JrRVBjVFlDcUFNZ0FDZ0NBQ0lHSUFBb0Fwd0ROZ0lZSUFZZ0FDZ0NvQU0yQWh3Z0JpQUFLQUtrQXpZQ0lDQUdJQUFvQXFnRE5nSWtJQVpCNndBMkFoUWdCaWdDQkNFR0lBQkJBU0FHUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVBTmdJVUlBUkZCRUFnQUNBQUtBS1FBVUVCYWpZQ2tBRUxJQWNnQVVFQmFqWUNBQ0FISUFKQmYybzJBZ1FnQUVFQU5nSzRBeUFLSkFaQkFROEZJQUZCeXdCR0JFQWdBQ2dDQUNJQlFkY0FOZ0lVSUFFb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF5QUtKQVpCQWc4RklBRkJyZ0ZHQkVBTUF3VWdBVUhlQWtZTkF3c0xDMEVBRHdzZ0NpUUdRUUFMUVFFQmZ5QUFLQUxRQXlFQklBQkJBRFlDMkFFZ0FFRUFOZ0tRQVNBQVFRQTJBcmdESUFGQkFEWUNEQ0FCUVFBMkFoQWdBVUVBTmdJWUlBRkJBRFlDcEFFTGlRTUJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRYXdCSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdEFESUFGQml3RTJBZ0FnQVVIWEFEWUNCQ0FCUWRnQU5nSUlJQUZCMlFBMkFod2dBVUVBTmdKZ0lBRkJBRFlDWkNBQlFka0FOZ0lrSUFGQkFEWUNhQ0FCUWRrQU5nSW9JQUZCQURZQ2JDQUJRZGtBTmdJc0lBRkJBRFlDY0NBQlFka0FOZ0l3SUFGQkFEWUNkQ0FCUWRrQU5nSTBJQUZCQURZQ2VDQUJRZGtBTmdJNElBRkJBRFlDZkNBQlFka0FOZ0k4SUFGQkFEWUNnQUVnQVVGQWEwSFpBRFlDQUNBQlFRQTJBb1FCSUFGQjJRQTJBa1FnQVVFQU5nS0lBU0FCUWRrQU5nSklJQUZCQURZQ2pBRWdBVUhaQURZQ1RDQUJRUUEyQXBBQklBRkIyUUEyQWxBZ0FVRUFOZ0tVQVNBQlFka0FOZ0pVSUFGQkFEWUNtQUVnQVVFQU5nS2NBU0FCUWRrQU5nSmNJQUZCQURZQ29BRWdBVUhhQURZQ0lDQUJRZG9BTmdKWUlBQW9BdEFESVFFZ0FFRUFOZ0xZQVNBQVFRQTJBcEFCSUFCQkFEWUN1QU1nQVVFQU5nSU1JQUZCQURZQ0VDQUJRUUEyQWhnZ0FVRUFOZ0trQVFzZUFDQUFRUUVRcmdJZ0FFRUFFSzRDSUFBb0FnUVFPQ0FBUVFBMkFnUUwyUWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSVFRZDBJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdoQkIzUWhDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnaEJCM1FoQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTE1nRUJmeUFBS0FJSUlBQW9BZ1FRcFFNaUFRUkFJQUVnQUJEcUJFRUFTQVJBSUFFUVNVRUFJUUVMQlVFQUlRRUxJQUVMMEFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdnaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdnaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0w0QW9CRTM4Z0FDZ0NCQ0lLS0FKRUlnRUVmd04vSUFFb0FnQkZCRUFnQXlBQktBSUlJZ1FnQVNnQ0RHeHFJUU1nQWlBRUlBRW9BZ1JzYWlFQ0N5QUJLQUlzSWdFTkFDQURJUUVnQWdzRlFRQWhBVUVBQ3lFRElBb29Ba2dpQkFSQUlBRWhBZ05BSUFRb0FnQkZCRUFnQWlBRUtBSUlJZ0VnQkNnQ0RFRUhkR3hxSVFJZ0F5QUVLQUlFSUFGQkIzUnNhaUVEQ3lBRUtBSXNJZ1FOQUFzRklBRWhBZ3NnQWtFQlNBUkFEd3NnQ2lnQ1RCb2dBeUlCSUFOSUJIOGdBU0FDRURraUFVRUJJQUZCQVVvYkJVR0FsT3ZjQXdzaER5QUtLQUpFSWdJRVFBTkFJQUlvQWdCRkJFQWdBaWdDQkNJRlFYOXFJQUlvQWd3aUFSQklRUUZxSUE5S0JFQWdBaUFCSUE5c05nSVFJQUFnQlNBQ1FRaHFJZ01vQWdCc0VKOERJQUpCQVRZQ0tDQUNLQUlRSVFVRklBSWdCVFlDRUNBQ1FRaHFJUU1MSUFBb0FnUWhFa0h3ayt2Y0F5QURLQUlBSWdzUVNDRUJJQXRCOEpQcjNBTkxCRUFnQUNnQ0FDSURRY2dBTmdJVUlBQWdBeWdDQUVIL0FYRkJyQU5xRVFFQUN5QVNJQUVnQlNBQklBVklHeUlCTmdKUUlBQkJBU0FGUVFKMEVMVUJJUXdnQlFSQUlBVkJmM01oRUVFQUlRTURRQ0FBS0FJRUlRY2dBU0FGSUFOcklnUWdBU0FFU1JzaUJDQUxiQ0lHUWZDVDY5d0RTd1JBSUFBb0FnQWlDRUU0TmdJVUlBaEJBellDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCa0VJSUFaQkIzRWlDR3RCQUNBSUcyb2lDRUVRYWlJTkVFUWlCa1VFUUNBQUtBSUFJZ2xCT0RZQ0ZDQUpRUVEyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWNnQnlnQ1RDQU5hallDVENBR0lBZEJRR3NpQnlnQ0FEWUNBQ0FHSUFnMkFnUWdCa0VBTmdJSUlBY2dCallDQUNBRUJFQWdBeUFRYWlJTklBRkJmM01pQ1VzaERpQUVJUWNnQmtFUWFpRUlJQU1oQVFOQUlBRkJBV29oQmlBQlFRSjBJQXhxSUFnMkFnQWdDQ0FMYWlFSUlBZEJmMm9pQndSQUlBWWhBUXdCQ3dzZ0EwRi9haUFOSUFrZ0RodHJJUU1MSUFNZ0JVa0VRQ0FFSVFFTUFRc0xDeUFDSUF3MkFnQWdBaUFLS0FKUU5nSVVJQUpCQURZQ0dDQUNRUUEyQWh3Z0FrRUFOZ0lrQ3lBQ0tBSXNJZ0lOQUFzTElBb29Ba2dpQWtVRVFBOExBMEFnQWlnQ0FFVUVRQ0FDS0FJRUlnVkJmMm9nQWlnQ0RDSUJFRWhCQVdvZ0Qwb0VRQ0FDSUFFZ0QydzJBaEFnQUNBQ1FRaHFJZ01vQWdBZ0JVRUhkR3dRbndNZ0FrRUJOZ0lvSUFJb0FoQWhCUVVnQWlBRk5nSVFJQUpCQ0dvaEF3c2dBQ2dDQkNFVFFmQ1Q2OXdESUFNb0FnQWlFRUVIZENJTEVFZ2hBU0FMUWZDVDY5d0RTd1JBSUFBb0FnQWlBMEhJQURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFBc2dFeUFCSUFVZ0FTQUZTQnNpQVRZQ1VDQUFRUUVnQlVFQ2RCQzFBU0VNSUFVRVFDQUZRWDl6SVExQkFDRURBMEFnQUNnQ0JDRUhJQUVnQlNBRGF5SUVJQUVnQkVrYklnUWdDMndpQ0VId2srdmNBMHNFUUNBQUtBSUFJZ1pCT0RZQ0ZDQUdRUU0yQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWhCRUhJaUNSQkVJZ1pGQkVBZ0FDZ0NBQ0lPUVRnMkFoUWdEa0VFTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFISUFrZ0J5Z0NUR28yQWt3Z0JpQUhRVUJySWdjb0FnQTJBZ0FnQmlBSU5nSUVJQVpCQURZQ0NDQUhJQVkyQWdBZ0JBUkFJQU1nRFdvaUNTQUJRWDl6SWc1TElSRWdCQ0VISUFaQkVHb2hDQ0FESVFFRFFDQUJRUUZxSVFZZ0FVRUNkQ0FNYWlBSU5nSUFJQkJCQjNRZ0NHb2hDQ0FIUVg5cUlnY0VRQ0FHSVFFTUFRc0xJQU5CZjJvZ0NTQU9JQkViYXlFREN5QURJQVZKQkVBZ0JDRUJEQUVMQ3dzZ0FpQU1OZ0lBSUFJZ0NpZ0NVRFlDRkNBQ1FRQTJBaGdnQWtFQU5nSWNJQUpCQURZQ0pBc2dBaWdDTENJQ0RRQUxDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpJTmdJc0lBY2dBRFlDU0NBQUM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSkVOZ0lzSUFjZ0FEWUNSQ0FBQzR3Q0FRdC9JQUFvQWdRaERrSHdrK3ZjQXlBQ1FRZDBJZ29RU0NFRklBcEI4SlByM0FOTEJFQWdBQ2dDQUNJR1FjZ0FOZ0lVSUFZb0FnQWhCaUFBSUFaQi93RnhRYXdEYWhFQkFBc2dEaUFGSUFNZ0JTQURTQnNpQkRZQ1VDQUFJQUVnQTBFQ2RCQzFBU0VISUFORkJFQWdCdzhMSUFOQmYzTWhDMEVBSVFZRFFDQUFJQUVnQkNBRElBWnJJZ1VnQkNBRlNSc2lDQ0FLYkJDdkFpRUpJQWdFUUNBR0lBdHFJZ1VnQkVGL2N5SUVJQVVnQkVzYklRd2dDQ0VFSUFZaEJRTkFJQVZCQVdvaERTQUZRUUowSUFkcUlBazJBZ0FnQWtFSGRDQUphaUVKSUFSQmYyb2lCQVJBSUEwaEJRd0JDd3NnQmtGL2FpQU1heUVHQ3lBR0lBTkpCRUFnQ0NFRURBRUxDeUFIQzRRQ0FRcC9JQUFvQWdRaERVSHdrK3ZjQXlBQ0VFZ2hCU0FDUWZDVDY5d0RTd1JBSUFBb0FnQWlCa0hJQURZQ0ZDQUdLQUlBSVFZZ0FDQUdRZjhCY1VHc0Eyb1JBUUFMSUEwZ0JTQURJQVVnQTBnYklnUTJBbEFnQUNBQklBTkJBblFRdFFFaEJ5QURSUVJBSUFjUEN5QURRWDl6SVFwQkFDRUdBMEFnQUNBQklBSWdCQ0FESUFacklnVWdCQ0FGU1JzaUNHd1Fyd0loQ1NBSUJFQWdCaUFLYWlJRklBUkJmM01pQkNBRklBUkxHeUVMSUFnaEJDQUdJUVVEUUNBRlFRRnFJUXdnQlVFQ2RDQUhhaUFKTmdJQUlBSWdDV29oQ1NBRVFYOXFJZ1FFUUNBTUlRVU1BUXNMSUFaQmYyb2dDMnNoQmdzZ0JpQURTUVJBSUFnaEJBd0JDd3NnQnd2dEFnRURmeU1HSVFJakJrRVFhaVFHSUFCQkFEWUNCQ0FDUVFBMkFnaEIxQUFRUkNJQlJRUkFJQUFvQWdBaUEwRTROZ0lVSUFOQkFEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0FVRWhOZ0lBSUFGQklqWUNCQ0FCUVFjMkFnZ2dBVUVJTmdJTUlBRkJJellDRUNBQlFTUTJBaFFnQVVHSkFUWUNHQ0FCUVJVMkFod2dBVUVXTmdJZ0lBRkJORFlDSkNBQlFZb0JOZ0lvSUFGQmdKVHIzQU0yQWpBZ0FVRUFOZ0lzSUFGQkFEWUNPQ0FCUVVCclFRQTJBZ0FnQVVFQU5nSTBJQUZCQURZQ1BDQUJRUUEyQWtRZ0FVRUFOZ0pJSUFGQjFBQTJBa3dnQUNBQk5nSUVRZUQ5QWhBTklnQkZCRUFnQWlRR0R3c2dBa0g0QURvQURDQUNJQUpCQ0dvMkFnQWdBaUFDUVF4cU5nSUVJQUJCNlAwQ0lBSVFnd0ZCQUVvRVFBSkFJQUlzQUF4QnpRQnJJZ0JCQUNBQVFTQkhHMFVFUUNBQ0lBSW9BZ2hCNkFkc0lnQTJBZ2dNQVFzZ0FpZ0NDQ0VBQ3lBQklBQkI2QWRzTmdJc0N5QUNKQVlMOVFFQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJVUlnTkJ6UUZIQkVBZ0FDZ0NBQ0lGUVJVMkFoUWdCU0FETmdJWUlBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDZ0NqQUVpQlNBQUtBSjBJZ1pQQkVBZ0FDZ0NBQ0lCUWY0QU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBZ0JDUUdRUUFQQ3lBQUtBSUlJZ01FUUNBRElBVTJBZ1FnQXlBR05nSUlJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0JFRUFOZ0lBSUFBb0FzQURLQUlFSVFNZ0FDQUJJQVFnQWlBRFFSOXhRZm9GYWhFSEFDQUFJQVFvQWdBaUFTQUFLQUtNQVdvMkFvd0JJQVFrQmlBQkM1SUVBUjEvSUFBb0F1UURJUVFnQUNnQ2VDRUlJQUFvQW5BaENTQUFLQUxRQWlFU0lBTkJBRXdFUUE4TElBaEJBRW9oRXlBSlJTRVVJQWxCZjJvaUZTQUliQ0VXUVFBZ0NHc2hGeUFKUVFGcUlROERRQ0FLUVFKMElBSnFJaGdvQWdCQkFDQUpFRVVhSUJNRVFBSkFJQlFFUUNBRUtBSlVSU0VHUVFBaEFBTkFJQVJCeEFCcUlBQkJBblJxS0FJQUlnVWdEMEVCZENBRmFpQUdHMEVBT3dFQUlBZ2dBRUVCYWlJQVJ3MEFDd3dCQ3lBS1FRSjBJQUZxSVJsQkFDRUhBMEFnQnlBWktBSUFhaUVHSUJnb0FnQWhBQ0FFS0FKVUJIOUJmeUVMSUFSQnhBQnFJQWRCQW5ScUtBSUFJQTlCQVhScUlRMGdCaUFXYWlFR0lBQWdGV29oQUNBWEJVRUJJUXNnQkVIRUFHb2dCMEVDZEdvb0FnQWhEU0FJQ3lFYUlBUW9BaGdnQjBFQ2RHb29BZ0FoR3lBRUtBSVFJQWRCQW5ScUtBSUFJUndnQ1NBTGJDRWdRUUFoRUNBSklSRkJBQ0VPUVFBaERDQU5JUVVEUUNBQUlCc2dFaUFHTFFBQUlBdEJBWFFnQldvaUhpNEJBQ0FNUVFocWFrRUVkV3BxTFFBQUlneHFMUUFBSWg4Z0FDMEFBR282QUFBZ0JTQU9JQXdnSENBZmFpMEFBR3NpQlVFRGJHbzdBUUFnRUNBRlFRVnNhaUVPSUFWQkIyd2hEQ0FHSUJwcUlRWWdBQ0FMYWlFQUlCRkJmMm9pRVFSQUlBVWhFQ0FlSVFVTUFRc0xJQ0JCQVhRZ0RXb2dEanNCQUNBSFFRRnFJZ2NnQ0VjTkFBc0xDeUFFSUFRb0FsUkZOZ0pVSUFwQkFXb2lDaUFEUncwQUN3dkZBZ0VPZnlBQUtBTGtBeUVFSUFBb0FuZ2hDU0FBS0FKd0lRWWdBMEVBVEFSQUR3c2dDVUVBVEFSQVFRQWhBQU5BSUFCQkFuUWdBbW9vQWdCQkFDQUdFRVVhSUFRZ0JDZ0NNRUVCYWtFUGNUWUNNQ0FBUVFGcUlnQWdBMGNOQUFzUEN5QUdSU0VOQTBBZ0IwRUNkQ0FDYWlJT0tBSUFRUUFnQmhCRkdpQUVLQUl3SVF3Z0IwRUNkQ0FCYWlFUElBMUZCRUJCQUNFRkEwQWdCQ2dDR0NBRlFRSjBhaWdDQUNFUUlBUkJOR29nQlVFQ2RHb29BZ0FoRVNBR0lRQWdEaWdDQUNFSVFRQWhDaUFGSUE4b0FnQnFJUXNEUUNBSUlCQWdDeTBBQUNBTVFRWjBJQkZxSUFwQkFuUnFLQUlBYW1vdEFBQWdDQzBBQUdvNkFBQWdDU0FMYWlFTElBaEJBV29oQ0NBS1FRRnFRUTl4SVFvZ0FFRi9haUlBRFFBTElBa2dCVUVCYWlJRlJ3MEFDd3NnQkNBTVFRRnFRUTl4TmdJd0lBZEJBV29pQnlBRFJ3MEFDd3ZJQWdFUGZ5QUFLQUxrQXlJRUtBSVlJZ1VvQWdBaEN5QUZLQUlFSVF3Z0JTZ0NDQ0VOSUFBb0FuQWhDaUFEUVFCTUJFQVBDeUFFS0FJd0lRQWdDa1VFUUVFQUlRRURRQ0FBUVFGcVFROXhJUUFnQVVFQmFpSUJJQU5IRFFBTElBUWdBRFlDTUE4TEEwQWdCQ2dDTkNFT0lBUW9BamdoRHlBRUtBSThJUkFnQ2lFRlFRQWhCaUFJUVFKMElBSnFLQUlBSVFrZ0NFRUNkQ0FCYWlnQ0FDRUhBMEFnQjBFRGFpRVJJQWxCQVdvaEVpQUpJQTBnQnkwQUFpQUFRUVowSUJCcUlBWkJBblJxS0FJQWFtb3RBQUFnQnkwQUFDQUFRUVowSUE1cUlBWkJBblJxS0FJQWFpQUxhaTBBQUNBTUlBY3RBQUVnQUVFR2RDQVBhaUFHUVFKMGFpZ0NBR3BxTFFBQWFtbzZBQUFnQmtFQmFrRVBjU0VHSUFWQmYyb2lCUVJBSUJJaENTQVJJUWNNQVFzTElBUWdBRUVCYWtFUGNTSUFOZ0l3SUFoQkFXb2lDQ0FEUncwQUN3dnRBUUVLZnlBQUtBTGtBeWdDR0NFTUlBQW9BbmdoQmlBQUtBSndJZ3BGSUFOQkFVaHlCRUFQQ3lBR1FRQk1CRUJCQUNFQUEwQWdBRUVDZENBQ2FpZ0NBRUVBSUFvUVJSb2dBRUVCYWlJQUlBTkhEUUFMRHdzRFFDQUtJUXNnQlVFQ2RDQUNhaWdDQUNFSElBVkJBblFnQVdvb0FnQWhBQU5BUVFBaENFRUFJUWtnQUNFRUEwQWdCRUVCYWlFTklBa2dDRUVDZENBTWFpZ0NBQ0FFTFFBQWFpMEFBR29oQ1NBSVFRRnFJZ2dnQmtjRVFDQU5JUVFNQVFzTElBQWdCbW9oQUNBSFFRRnFJUVFnQnlBSk9nQUFJQXRCZjJvaUN3UkFJQVFoQnd3QkN3c2dCVUVCYWlJRklBTkhEUUFMQzY0QkFRbC9JQUFvQXVRREtBSVlJZ1FvQWdBaEJ5QUVLQUlFSVFnZ0JDZ0NDQ0VKSUFBb0FuQWlDa1VnQTBFQlNISUVRQThMQTBBZ0NpRUFJQVZCQW5RZ0Ftb29BZ0FoQmlBRlFRSjBJQUZxS0FJQUlRUURRQ0FFUVFOcUlRc2dCa0VCYWlFTUlBWWdDU0FFTFFBQ2FpMEFBQ0FFTFFBQUlBZHFMUUFBSUFnZ0JDMEFBV290QUFCcWFqb0FBQ0FBUVg5cUlnQUVRQ0FNSVFZZ0N5RUVEQUVMQ3lBRlFRRnFJZ1VnQTBjTkFBc0xKZ0VCZnlBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMdlFVQkNYOGdBQ0FBS0FMa0F5SUNLQUlRTmdLSUFTQUFJQUlvQWhRMkFvUUJBa0FDUUFKQUFrQWdBQ2dDV0E0REFBRUNBd3NnQUNnQ2VFRURSZ1JBSUFKQkZqWUNCQVVnQWtFWE5nSUVDdzhMSUFKQkdFRVpJQUFvQW5oQkEwWWJOZ0lFSUFKQkFEWUNNQ0FDS0FJY1JRUkFJQUFRb1FNTElBSW9BalFFUUE4TElBQW9BdVFESVFJZ0FDZ0NlQ0lCUVFCTUJFQVBDd05BSUFKQklHb2dCRUVDZEdvb0FnQWhCUUpBQWtBZ0JFVU5BRUVBSVFNRFFDQUNRU0JxSUFOQkFuUnFLQUlBSUFWSEJFQWdBMEVCYWlJRElBUlBEUUlNQVFzTElBSkJOR29nQTBFQ2RHb29BZ0FpQTBVTkFBd0JDeUFBS0FJRUtBSUFJUUVnQUVFQlFZQUlJQUZCUDNGQnlnRnFFUVFBSVFZZ0JVRUpkRUdBZkdvaEJVRUFJUUVEUUVFQUlRTURRRUgvQVNBRElBRkJCSFJCc0RKcWFpMEFBRUVCZEdzaUNFSC9BV3doQnlBQlFRWjBJQVpxSUFOQkFuUnFJQWhCQUVnRWYwRUFRUUFnQjJzZ0JSQTVhd1VnQnlBRkVEa0xOZ0lBSUFOQkFXb2lBMEVRUncwQUN5QUJRUUZxSWdGQkVFY05BQXNnQmlFRElBQW9BbmdoQVFzZ0FrRTBhaUFFUVFKMGFpQUROZ0lBSUFSQkFXb2lCQ0FCU0EwQUN3OExJQUpCR2pZQ0JDQUNRUUEyQWxRZ0FpZ0NSQVIvSUFCQitBQnFJZ0VoQXlBQktBSUFJUUVnQUVId0FHb0ZJQUJCOEFCcUlnUW9BZ0FoQ1NBQVFmZ0FhaUlES0FJQVFRQk1CRUFQQ3lBSlFRRjBRUVJxSVFWQkFDRUJBMzhnQUNnQ0JDZ0NCQ0VHSUFKQnhBQnFJQUZCQW5ScUlBQkJBU0FGSUFaQlAzRkJ5Z0ZxRVFRQU5nSUFJQUZCQVdvaUFTQURLQUlBSWdaSURRQWdCaUVCSUFRTEN5Z0NBQ0VLSUFGQkFFd0VRQThMSUFwQkFYUkJCR29oQVVFQUlRQURRQ0FDUWNRQWFpQUFRUUowYWlnQ0FFRUFJQUVRUlJvZ0FFRUJhaUlBSUFNb0FnQklEUUFMRHdzZ0FDZ0NBQ0lCUVRFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQzhzQkFRdC9JQUFvQXVRREtBSVlJUW9nQUNnQ2NDSUxSU0FEUVFGSWNnUkFEd3NEUUNBTElRZ2dCVUVDZENBQ2FpZ0NBQ0VHSUFWQkFuUWdBV29vQWdBaEJBTkFJQVF0QUFCQkEzWWlERUVDZENBS2FpZ0NBQ0FFTFFBQlFRSjJJZ2RCQm5ScUlBUXRBQUpCQTNZaURVRUJkR29pRGk0QkFDSUpSUVJBSUFBZ0RDQUhJQTBRb2dNZ0RpNEJBQ0VKQ3lBRVFRTnFJUVFnQmtFQmFpRUhJQVlnQ1VILy93TnhRZjhCYWpvQUFDQUlRWDlxSWdnRVFDQUhJUVlNQVFzTElBVkJBV29pQlNBRFJ3MEFDd3ZLQlFFbmZ5QUFLQUxrQXlJTEtBSVlJUndnQUNnQ2NDRU1JQUFvQXRBQ0lSTWdDeWdDS0NFVUlBQW9Bb2dCSWdRb0FnQWhIU0FFS0FJRUlSNGdCQ2dDQ0NFZklBTkJBRXdFUUE4TElBeEZJU0FnREVGL2FpSWhRUU5zSVNJZ0RFRURiRUVEYWlFakEwQWdEa0VDZENBQmFpZ0NBQ0VISUE1QkFuUWdBbW9vQWdBaERTQUxJQXNvQWlRRWYwRjlJUWxCZnlFV0lBc29BaUFnSTBFQmRHb2hDQ0FOSUNGcUlRMGdCeUFpYWlFSFFRQUZRUU1oQ1VFQklSWWdDeWdDSUNFSVFRRUxOZ0lrSUNBRVFFRUFJUTlCQUNFUVFRQWhCQVVnQ1VFQmFpRWtJQWxCQW1vaEpTQUpJQXhzSVNwQkFDRVJRUUFoRWtFQUlSZEJBQ0VZUVFBaEdVRUFJUTlCQUNFUVFRQWhHaUFNSVJ0QkFDRUZJQWdoQkFOQUlCTWdKRUVCZENBRWFpNEJBQ0FSUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQmFtb3RBQUFpQ2tFQ2RpSUdRUVowSUJNZ0NVRUJkQ0FFYWlJbkxnRUFJQVZCQ0dwcVFRUjFRUUowSUJScUtBSUFJQWN0QUFCcWFpMEFBQ0lSUVFOMkloVkJBblFnSEdvb0FnQnFJQk1nSlVFQmRDQUVhaTRCQUNBU1FRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUNhbW90QUFBaUVrRURkaUlvUVFGMGFpSXBMZ0VBSWdWRkJFQWdBQ0FWSUFZZ0tCQ2lBeUFwTGdFQUlRVUxJQTBnQlVILy93TnhRWDlxSWdZNkFBQWdDaUFHSUI1cUxRQUFheUVGSUJJZ0JpQWZhaTBBQUdzaENpQUVJQThnRVNBR0lCMXFMUUFBYXlJR1FRTnNhanNCQUNBWElBWkJCV3hxSVE4Z0JrRUhiQ0VWSUFRZ0VDQUZRUU5zYWpzQkFpQVlJQVZCQld4cUlSQWdCVUVIYkNFUklBUWdHaUFLUVFOc2Fqc0JCQ0FaSUFwQkJXeHFJUVFnQ2tFSGJDRVNJQWNnQ1dvaEJ5QU5JQlpxSVEwZ0cwRi9haUliQkVBZ0JpRVhJQVVoR0NBS0lSa2dCQ0VhSUJVaEJTQW5JUVFNQVFzTElDcEJBWFFnQ0dvaENBc2dDQ0FQT3dFQUlBZ2dFRHNCQWlBSUlBUTdBUVFnRGtFQmFpSU9JQU5IRFFBTEM5Z0lBUmQvSUFBZ0FDZ0M1QU1pRXlnQ0VEWUNpQUVnQUNnQ0JDZ0NBQ0VCSUFCQkFTQVRLQUlVSWd0QkJYUWdBVUUvY1VIS0FXb1JCQUFpQlVFQU5nSUFJQVZCSHpZQ0JDQUZRUUEyQWdnZ0JVRS9OZ0lNSUFWQkFEWUNFQ0FGUVI4MkFoUWdBQ0FGRUxBQ0lBdEJBVW9FZndKL1FRRWhCQU4vSUFSQkFYUWdDMG9FUUVFQUlRWkJBQ0VDSUFVaEFVRUFJUU1EZnlBQktBSVlJZ2tnQmtvaEJ5QUpJQVlnQnhzaEJpQUJJQU1nQnhzaEF5QUJRU0JxSVFFZ0FrRUJhaUlDSUFSSERRQWdBd3NoQVFWQkFDRUdRUUFoQWlBRklRTkJBQ0VCQTBBZ0F5Z0NIQ0lISUFaS0JFQWdBeUFCSUFNb0FoaEJBRW9pQ1JzaEFTQUhJQVlnQ1JzaEJnc2dBMEVnYWlFRElBSkJBV29pQWlBRVJ3MEFDd3NnQkNBQlJRMEJHaUFFUVFWMElBVnFJQUVvQWdRMkFnUWdCRUVGZENBRmFpQUJJZ01vQWd3MkFnd2dCRUVGZENBRmFpQUJJZ0lvQWhRMkFoUWdCRUVGZENBRmFpSUdJQUlvQWdBMkFnQWdCRUVGZENBRmFrRUlhaUlISUFJb0FnZzJBZ0FnQkVFRmRDQUZha0VRYWlJSklBSW9BaEEyQWdBQ1FBSi9Ba0FDUUFKQVFRSWdBaWdDQkNJSUlBSW9BZ0FpREd0QkJIUWlDaUFDS0FJTUlnMGdBaWdDQ0NJT2EwRU1iQ0lQU2lJUVFRRnpJQUlvQWhRaUVTQUNLQUlRSWhKclFRTjBJQW9nRHlBUUcwb2JRUU54RGdNQUFRSUVDeUFCSUFnZ0RHcEJBaEE1SWdNMkFnUWdCZ3dDQ3lBRElBMGdEbXBCQWhBNUlnTTJBZ3dnQnd3QkN5QUNJQkVnRW1wQkFoQTVJZ00yQWhRZ0NRc2dBMEVCYWpZQ0FBc2dBQ0FDRUxBQ0lBQWdCaEN3QWlBRVFRRnFJZ1FnQzBnTkFDQUVDd3NGUVFFTElRdEJBQ0VJQTBBZ0FDZ0M1QU1vQWhnaER5QUlRUVYwSUFWcUtBSUFJZ0lnQ0VFRmRDQUZhaWdDQkNJUlNpQUlRUVYwSUFWcUtBSUlJZzRnQ0VFRmRDQUZhaWdDRENJU1NuSWdDRUVGZENBRmFpZ0NFQ0lOSUFoQkJYUWdCV29vQWhRaUVFcHlCRUJCQUNFQlFRQWhBMEVBSVFSQkFDRUdCVUVBSVFGQkFDRURRUUFoQkVFQUlRWURRQ0FDUVFKMElBOXFLQUlBSVJRZ0FrRURkRUVFY2lFVklBNGhCd05BSUFkQkFuUkJBbkloRmlBSFFRWjBJQlJxSUExQkFYUnFJUXdnRFNFSkEwQWdEQzRCQUNJWFFmLy9BM0VoQ2lBWEJFQWdBU0FLSUFsQkEzUkJCSEpzYWlFQklBTWdDaUFXYkdvaEF5QUVJQW9nRld4cUlRUWdCaUFLYWlFR0N5QU1RUUpxSVF3Z0NVRUJhaUVLSUFrZ0VFZ0VRQ0FLSVFrTUFRc0xJQWRCQVdvaENTQUhJQkpJQkVBZ0NTRUhEQUVMQ3lBQ1FRRnFJUWNnQWlBUlNBUkFJQWNoQWd3QkN3c0xJQVFnQmtFQmRTSUVhaUFHRURsQi93RnhJUUlnQ0NBQUtBS0lBU2dDQUdvZ0Fqb0FBQ0FESUFScUlBWVFPVUgvQVhFaEF5QUlJQUFvQW9nQktBSUVhaUFET2dBQUlBRWdCR29nQmhBNVFmOEJjU0VCSUFnZ0FDZ0NpQUVvQWdocUlBRTZBQUFnQ0VFQmFpSUlJQXRJRFFBTElBQWdDellDaEFFZ0FDZ0NBQ0lCUWVJQU5nSVVJQUVnQ3pZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlCTkJBVFlDSEF1YkFRRUdmeUFBS0FMa0F5Z0NHQ0VHSUFBb0FuQWlCMFVnQTBFQlNISUVRQThMQTBBZ0J5RUFJQVJCQW5RZ0FXb29BZ0FoQWdOQUlBSXRBQUJCQTNaQkFuUWdCbW9vQWdBZ0FpMEFBVUVDZGtFR2RHb2dBaTBBQWtFRGRrRUJkR29pQ0M0QkFDSUpRUUZxUVJCMFFSQjFJUVVnQ0NBRklBa2dCUnM3QVFBZ0FrRURhaUVDSUFCQmYyb2lBQTBBQ3lBRVFRRnFJZ1FnQTBjTkFBc0xEUUFnQUNnQzVBTkJBVFlDSEF2akJRRURmeUFBS0FMa0F5SURLQUlZSVFJZ0FDZ0NXQVIvSUFCQkFqWUNXRUVDQlVFQUN5RUVJQUVFUUNBRFFSTTJBZ1FnQTBHSEFUWUNDQ0FEUVFFMkFod0ZJQU5CRkVFVklBUkJBa1liTmdJRUlBTkJpQUUyQWdnZ0FDZ0NoQUVpQVVFQlNBUkFJQUFvQWdBaUFVRTZOZ0lVSUFGQkFUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQlFUczJBaFFnQVVHQUFqWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKWVFRSkdCRUFnQUNnQ2NFRUdiRUVNYWlFRUlBTW9BaUFpQVVVRVFDQUFLQUlFS0FJRUlRRWdBeUFBUVFFZ0JDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJZ0N5QUJRUUFnQkJCRkdpQURLQUlvUlFSQUlBQVFwQU1MSUFOQkFEWUNKQXNMSUFNb0FoeEZCRUFQQ3lBQ0tBSUFRUUJCZ0NBUVJSb2dBaWdDQkVFQVFZQWdFRVVhSUFJb0FnaEJBRUdBSUJCRkdpQUNLQUlNUVFCQmdDQVFSUm9nQWlnQ0VFRUFRWUFnRUVVYUlBSW9BaFJCQUVHQUlCQkZHaUFDS0FJWVFRQkJnQ0FRUlJvZ0FpZ0NIRUVBUVlBZ0VFVWFJQUlvQWlCQkFFR0FJQkJGR2lBQ0tBSWtRUUJCZ0NBUVJSb2dBaWdDS0VFQVFZQWdFRVVhSUFJb0FpeEJBRUdBSUJCRkdpQUNLQUl3UVFCQmdDQVFSUm9nQWlnQ05FRUFRWUFnRUVVYUlBSW9BamhCQUVHQUlCQkZHaUFDS0FJOFFRQkJnQ0FRUlJvZ0FrRkFheWdDQUVFQVFZQWdFRVVhSUFJb0FrUkJBRUdBSUJCRkdpQUNLQUpJUVFCQmdDQVFSUm9nQWlnQ1RFRUFRWUFnRUVVYUlBSW9BbEJCQUVHQUlCQkZHaUFDS0FKVVFRQkJnQ0FRUlJvZ0FpZ0NXRUVBUVlBZ0VFVWFJQUlvQWx4QkFFR0FJQkJGR2lBQ0tBSmdRUUJCZ0NBUVJSb2dBaWdDWkVFQVFZQWdFRVVhSUFJb0FtaEJBRUdBSUJCRkdpQUNLQUpzUVFCQmdDQVFSUm9nQWlnQ2NFRUFRWUFnRUVVYUlBSW9BblJCQUVHQUlCQkZHaUFDS0FKNFFRQkJnQ0FRUlJvZ0FpZ0NmRUVBUVlBZ0VFVWFJQU5CQURZQ0hBdVZCQUVUZnlBQUtBTFFBaUVGSUFBb0F0d0RJZ1FvQWhBaERDQUVLQUlVSVEwZ0JDZ0NHQ0VPSUFRb0Fod2hEeUFCS0FJQUlBSkJBblJxS0FJQUlRZ2dBU2dDQkNBQ1FRSjBhaWdDQUNFRUlBRW9BZ2dnQWtFQ2RHb29BZ0FoQ1NBREtBSUFJUVlnQUNnQ2NDSUJRUUYySWdvRVFDQUVJQXBxSVJZZ0FVRitjU0VTSUFwQkJtd2hFeUFKSVFNZ0NDRUNJQVloQVNBS0lSQURRQ0FFUVFGcUlSUWdBMEVCYWlFVklBTXRBQUFpQjBFQ2RDQU1haWdDQUNFRElBUXRBQUFpQzBFQ2RDQVBhaWdDQUNBSFFRSjBJQTVxS0FJQWFrRVFkU0VFSUF0QkFuUWdEV29vQWdBaEN5QUJJQU1nQWkwQUFDSUhhaUFGYWl3QUFEb0FBQ0FCSUFRZ0Iyb2dCV29zQUFBNkFBRWdBU0FISUF0cUlBVnFMQUFBT2dBQ0lBSkJBbW9oQnlBQklBTWdBaTBBQVNJQ2FpQUZhaXdBQURvQUF5QUJJQVVnQWlBRWFtb3NBQUE2QUFRZ0FTQUZJQUlnQzJwcUxBQUFPZ0FGSUFGQkJtb2hBU0FRUVg5cUloQUVRQ0FWSVFNZ0ZDRUVJQWNoQWd3QkN3c2dDU0FLYWlFSklCWWhCQ0FJSUJKcUlRZ2dCaUFUYWlFR0lBQW9BbkFoQVFzZ0FVRUJjVVVFUUE4TElBUXRBQUFpQUVFQ2RDQVBhaWdDQUNBSkxRQUFJZ0ZCQW5RZ0Rtb29BZ0JxUVJCMUlRSWdBRUVDZENBTmFpZ0NBQ0VESUFZZ0NDMEFBQ0lBSUFGQkFuUWdER29vQWdCcUlBVnFMQUFBT2dBQUlBWWdBQ0FDYWlBRmFpd0FBRG9BQVNBR0lBQWdBMm9nQldvc0FBQTZBQUlMUndBZ0FDZ0MzQU1vQWd3aEF5QUFJQUVnQWlnQ0FDQUZLQUlBUVFKMElBUnFJQU5CSDNGQitnVnFFUWNBSUFVZ0JTZ0NBRUVCYWpZQ0FDQUNJQUlvQWdCQkFXbzJBZ0FMZ0FZQkYzOGdBQ2dDMEFJaEJTQUFLQUxjQXlJRUtBSVFJUThnQkNnQ0ZDRVFJQVFvQWhnaEVTQUVLQUljSVJJZ0FTZ0NBQ0lISUFKQkFYUWlCRUVDZEdvb0FnQWhEQ0FFUVFGeVFRSjBJQWRxS0FJQUlRUWdBU2dDQkNBQ1FRSjBhaWdDQUNFR0lBRW9BZ2dnQWtFQ2RHb29BZ0FoRFNBREtBSUFJUWdnQXlnQ0JDRUpJQUFvQW5BaUFVRUJkaUlPQkVBZ0JpQU9haUVhSUE1QkJtd2hFeUFFSUFGQmZuRWlGbW9oRnlBTklRY2dCQ0VESUF3aEJDQUpJUUVnQ0NFQ0lBNGhGQU5BSUFaQkFXb2hHQ0FIUVFGcUlSa2dCeTBBQUNJS1FRSjBJQTlxS0FJQUlRY2dCaTBBQUNJTFFRSjBJQkpxS0FJQUlBcEJBblFnRVdvb0FnQnFRUkIxSVFZZ0MwRUNkQ0FRYWlnQ0FDRUxJQUlnQnlBRUxRQUFJZ3BxSUFWcUxBQUFPZ0FBSUFJZ0JpQUthaUFGYWl3QUFEb0FBU0FDSUFvZ0Myb2dCV29zQUFBNkFBSWdCRUVDYWlFS0lBSWdCU0FISUFRdEFBRWlCR3BxTEFBQU9nQURJQUlnQlNBRUlBWnFhaXdBQURvQUJDQUNJQVVnQkNBTGFtb3NBQUE2QUFVZ0FrRUdhaUVDSUFFZ0JTQUhJQU10QUFBaUJHcHFMQUFBT2dBQUlBRWdCU0FFSUFacWFpd0FBRG9BQVNBQklBVWdCQ0FMYW1vc0FBQTZBQUlnQTBFQ2FpRUVJQUVnQXkwQUFTSURJQWRxSUFWcUxBQUFPZ0FESUFFZ0F5QUdhaUFGYWl3QUFEb0FCQ0FCSUFNZ0Myb2dCV29zQUFBNkFBVWdBVUVHYWlFQklCUkJmMm9pRkFSQUlCa2hCeUFZSVFZZ0JDRURJQW9oQkF3QkN3c2dEU0FPYWlFTklCb2hCaUFYSVFRZ0RDQVdhaUVNSUFrZ0Uyb2hDU0FJSUJOcUlRZ2dBQ2dDY0NFQkN5QUJRUUZ4UlFSQUR3c2dEUzBBQUNJQlFRSjBJQTlxS0FJQUlRQWdCaTBBQUNJQ1FRSjBJQkpxS0FJQUlBRkJBblFnRVdvb0FnQnFRUkIxSVFFZ0FrRUNkQ0FRYWlnQ0FDRUNJQWdnQUNBTUxRQUFJZ05xSUFWcUxBQUFPZ0FBSUFnZ0FTQURhaUFGYWl3QUFEb0FBU0FJSUFJZ0Eyb2dCV29zQUFBNkFBSWdDU0FBSUFRdEFBQWlBR29nQldvc0FBQTZBQUFnQ1NBQUlBRnFJQVZxTEFBQU9nQUJJQWtnQUNBQ2FpQUZhaXdBQURvQUFndThFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJR0lRMGdBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FISUFGSUJFQWdCVUVBT3dFQUlBMUJBRHNCQUNBTlFRSnFJUTBnQlVFQ2FpRUZJQWRCQVdvaEJ3d0JDd3NnQmlFSElBRkJmMm9pRVVFQmRDQUdhaUVOUVFBaEJRTkFJQVVnQWtnRVFDQU5RUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBQlFRRjBJQTFxSVEwZ0JVRUJhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5RUUVoQzBFQUlRVWdBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrZ0JpRU1BMEFnQ1NBUlNBUkFJQTB0QUFBZ0Ewb0VRQUpBSUJKQkFYUWdER29pRHk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUE5QmZtb3VBUUFpQ2lFSUlBcEJBRW9oQmlBUExnRUNJZ1ZCQUV3RVFDQUdCRUFnRENBS093RUFJQWhCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbElCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0RFRithaTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFNSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBR0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFGSUFZb0FnQkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUNBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dERUYrYWk0QkFDSUdRUUJNQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0FnTkFBYWlJRktBSUFJQWxLQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFHS0FJQUlBVkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzRklBeEJBRHNCQUFzZ0RVRUJhaUVOSUFsQkFXb2hDU0FNUVFKcUlRd01BUXNMSUExQkFtb2hEU0FMUVFGcUlRc2dBQ0VGSUF4QkJHb2hCZ3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ2MyQWdnZ0J3Ui9JQTFCQUNBSFFRSjBFRVVhSUFSQmtJQW9ha0VBSUFkQkJIUVFSUnBCQUNFREEwQWdBeUFIU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ2RCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxuZ0lCQkg4akJpRURJd1pCRUdva0JpQUFLQUxjQXlJSEtBSWtCRUFnQjBFZ2FrRUFJQVVvQWdCQkFuUWdCR3BCQUVFQklBY29BaWdROXdFZ0IwRUFOZ0lrSUFVZ0JTZ0NBRUVCYWpZQ0FDQUhJQWNvQWl4QmYybzJBaXdGSUFZZ0JTZ0NBQ0lKYXlJR0lBY29BaXdpQ0VFQ0lBaEJBa2tiSWdnZ0NDQUdTeHNoQmlBRElBbEJBblFnQkdvb0FnQTJBZ0FnQmtFQlN3UkFJQU1nQ1VFQmFrRUNkQ0FFYWlnQ0FEWUNCQVVnQXlBSEtBSWdOZ0lFSUFkQkFUWUNKQXNnQnlnQ0RDRUVJQUFnQVNBQ0tBSUFJQU1nQkVFZmNVSDZCV29SQndBQ2Z5QUhLQUlrUlNFS0lBVWdCaUFGS0FJQWFqWUNBQ0FISUFjb0Fpd2dCbXMyQWl3Z0NrVUxCRUFnQXlRR0R3c0xJQUlnQWlnQ0FFRUJhallDQUNBREpBWUxHd0VCZnlBQUtBTGNBeUlCUVFBMkFpUWdBU0FBS0FKME5nSXNDN29CQVFkL0lBQW9BaVFoQlNBQUtBSndJUWdnQkVFQVRBUkFEd3NnQlVFQVRBUkFEd3NnQ0VVaENnTkFJQXBGQkVCQkFDRUFBMEJCQUNFSklBQkJBblFnQVdvb0FnQWdBa0VDZEdvb0FnQWhCaUFBSUFNb0FnQnFJUWNEUUNBR1FRRnFJUXNnQnlBR0xBQUFPZ0FBSUFVZ0Iyb2hCeUFJSUFsQkFXb2lDVWNFUUNBTElRWU1BUXNMSUFVZ0FFRUJhaUlBUncwQUN3c2dCRUYvYWlFQUlBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQUFoQkF3QkN3c0wyQUlCRDM4Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FCS0FJTUlBSkJBblJxS0FJQUlSRWdBa0VCYWlFU0lBTW9BZ0FoQWtFQUlRQURRQ0FBSUE5cUxRQUFJUWNnQWlBRklBQWdEbW9zQUFCQmYzTkIvd0Z4SWdnZ0FDQVFhaTBBQUNJVFFRSjBJQWxxS0FJQWEyb3NBQUE2QUFBZ0FpQUZJQWdnQjBFQ2RDQU1haWdDQUNBVFFRSjBJQXRxS0FJQWFrRVFkV3RxTEFBQU9nQUJJQUlnQlNBSUlBZEJBblFnQ21vb0FnQnJhaXdBQURvQUFpQUNJQUFnRVdvc0FBQTZBQU1nQWtFRWFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkloQWlBTklRUU1BUXNMQzlNQkFRbC9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FBSUFscUxRQUFJUXNnQWlBQUlBaHFMQUFBSWd4Qi93RnhRWUFCYWlJTklBQWdCMm90QUFCcU9nQUFJQUlnRERvQUFTQUNJQXNnRFdvNkFBSWdBa0VEYWlFQ0lBVWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBb2hBaUFHSVFRTUFRc0xDNzBCQVFaL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUNJQUFnQjJvc0FBQTZBQUFnQWlBQUlBaHFMQUFBT2dBQklBSWdBQ0FKYWl3QUFEb0FBaUFDUVFOcUlRSWdCU0FBUVFGcUlnQkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdDaUVDSUFZaEJBd0JDd3NMdEFJQkRuOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQ1FRRnFJUkVnQXlnQ0FDRUNRUUFoQUFOQUlBQWdEMm90QUFBaEJ5QUNJQVVnQUNBT2FpMEFBQ0lJSUFBZ0VHb3RBQUFpRWtFQ2RDQUphaWdDQUdwcUxBQUFPZ0FBSUFJZ0JTQUlJQWRCQW5RZ0RHb29BZ0FnRWtFQ2RDQUxhaWdDQUdwQkVIVnFhaXdBQURvQUFTQUNJQVVnQ0NBSFFRSjBJQXBxS0FJQWFtb3NBQUE2QUFJZ0FrRURhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJFaEFpQU5JUVFNQVFzTEM0b0JBUVYvSUFBb0FuQWlCMFVnQkVFQlNISUVRQThMQTBBZ0JFRi9haUVJSUFFb0FnQWdBa0VDZEdvb0FnQWhDVUVBSVFBZ0F5Z0NBQ0VGQTBBZ0JTQUFJQWxxTEFBQUlnWTZBQUlnQlNBR09nQUJJQVVnQmpvQUFDQUZRUU5xSVFVZ0J5QUFRUUZxSWdCSERRQUxJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFnaEJBd0JDd3NMOUFFQkNYOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQWxxTFFBQUlneEJnQUZxSWcwZ0FDQUlhaTBBQUdwQi93RnhRUUowSUFWcUtBSUFJQXhCZ0FKeVFRSjBJQVZxS0FJQWFpQUFJQXBxTFFBQUlBMXFRZjhCY1VHQUJISkJBblFnQldvb0FnQnFRUkIyT2dBQUlBQkJBV29pQUNBR1J3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBY2hCQXdCQ3dzTDNnRUJCMzhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFwcUxRQUFRWUFFY2tFQ2RDQUZhaWdDQUNBQUlBaHFMUUFBUVFKMElBVnFLQUlBSUFBZ0NXb3RBQUJCZ0FKeVFRSjBJQVZxS0FJQWFtcEJFSFk2QUFBZ0FFRUJhaUlBSUFaSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0J5RUVEQUVMQ3dzeUFRRi9JQUFvQWdRZ0FDZ0NDQkNMQVNJQkJFQWdBU0FBRUxRRlFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXNYQUNBQktBSUFJQUlnQTBFQUlBUWdBQ2dDY0JEM0FRdUhCQUVNZnlBREtBSUFJUWdnQVNnQ0JDSURJQUFvQXR3RElnVkJqQUZxYWl3QUFDRUJJQU1nQlVHV0FXcHFMUUFBSVFNZ0FDZ0N3QUlpQkVFQVRBUkFEd3NnQVVIL0FYRWhCU0FCUVFCSElRd2dBMEgvQVhFaUNrRi9haUVOSUFOQi93RnhRUUZLQkVBZ0JVRitJQVZCZjNNZ0FSdHFRUUpxSVE1QkFDRUVBMEFDUUNBRVFRSjBJQWhxS0FJQUlnTWdBQ2dDY0NJQmFpRVBJQUZCQUVvRVFDQU1SUTBCSUFaQkFuUWdBbW9vQWdBaEJ5QURJUUVEUUNBQklBY3NBQUFnRGhCRkdpQUZJUU1EUUNBQlFRRnFJUUVnQTBGL2FpRUxJQU5CQVVvRVFDQUxJUU1NQVFzTElBZEJBV29oQnlBQklBOUpEUUFMSUFBb0FuQWhBUXNnQ0NBRUlBZ2dCRUVCYWlBTklBRVE5d0VnQmtFQmFpRUdJQVFnQ21vaUJDQUFLQUxBQWtnTkFVRWJJUWtMQ3lBSlFSdEdCRUFQQ3dOQURBQUFDd0FMSUF4RkJFQWdBQ2dDY0VFQVNpRUJRUUFoQUFOL0lBRUVmMEVBQlNBQUlBcHFJZ0FnQkVnRWZ3d0NCVUViQ3dzTFFSdEdCRUFQQ3dOQURBQUFDd0FMUVFBaEJBTkFJQVpCQW5RZ0NHb29BZ0FpQVNBQUtBSndJZ05xSVFrZ0EwRUFTZ1JBSUFSQkFuUWdBbW9vQWdBaEJ3TkFJQUVnQnl3QUFDQUZFRVVhSUFVaEF3TkFJQUZCQVdvaEFTQURRWDlxSVFzZ0EwRUJTZ1JBSUFzaEF3d0JDd3NnQjBFQmFpRUhJQUVnQ1VrTkFBc0xJQVJCQVdvaEJDQUdJQXBxSWdZZ0FDZ0N3QUpJRFFBTEM2OEJBUVYvSUFNb0FnQWhCU0FBS0FMQUFrRUFUQVJBRHd0QkFDRURBMEFnQTBFQ2RDQUZhaWdDQUNJSElBQW9BbkFpQVdvaENDQUJRUUJLQkVBZ0JrRUNkQ0FDYWlnQ0FDRUVJQWNoQVFOQUlBUkJBV29oQnlBQklBUXNBQUFpQkRvQUFDQUJJQVE2QUFFZ0FVRUNhaUlCSUFoSkJFQWdCeUVFREFFTEN5QUFLQUp3SVFFTElBVWdBeUFGSUFOQkFYSkJBU0FCRVBjQklBWkJBV29oQmlBRFFRSnFJZ01nQUNnQ3dBSklEUUFMQzVVQkFRUi9JQU1vQWdBaEJpQUFLQUxBQWlJQlFRQk1CRUFQQzBFQUlRTURRQ0FEUVFKMElBWnFLQUlBSWdVZ0FDZ0NjQ0lFYWlFSElBUkJBRW9FUUNBRFFRSjBJQUpxS0FJQUlRUWdCU0VCQTBBZ0JFRUJhaUVGSUFFZ0JDd0FBQ0lFT2dBQUlBRWdCRG9BQVNBQlFRSnFJZ0VnQjBrRVFDQUZJUVFNQVFzTElBQW9Bc0FDSVFFTElBTkJBV29pQXlBQlNBMEFDd3NKQUNBRElBSTJBZ0FMQ1FBZ0EwRUFOZ0lBQzhvQ0FRTi9JQUFvQXR3RElnY29BbHdpQ0NBQUtBTEFBaUlEU0FSL0lBZ0ZJQUFvQWlSQkFFb0VRQ0FBS0FMWUFTRUlRUUFoQXdOQUlBZEJOR29nQTBFQ2RHb29BZ0FoQ1NBQUlBZ2dBMEVDZENBQmFpZ0NBQ0FDS0FJQUlBZEI1QUJxSUFOQkFuUnFLQUlBYkVFQ2RHb2dCMEVNYWlBRFFRSjBhaUFKUVI5eFFmb0ZhaEVIQUNBSVFkZ0FhaUVJSUFOQkFXb2lBeUFBS0FJa1NBMEFDeUFBS0FMQUFpRURDeUFIUVFBMkFseEJBQXNoQVNBR0lBVW9BZ0FpQm1zaUNDQUhLQUpnSWdrZ0F5QUJheUlESUFNZ0NVc2JJZ01nQXlBSVN4c2hBeUFBS0FMZ0F5Z0NCQ0VJSUFBZ0IwRU1haUFCSUFaQkFuUWdCR29nQXlBSVFUOXhRWm9HYWhFRkFDQUZJQU1nQlNnQ0FHbzJBZ0FnQnlBSEtBSmdJQU5yTmdKZ0lBY2dBeUFIS0FKY2FpSUJOZ0pjSUFFZ0FDZ0N3QUpJQkVBUEN5QUNJQUlvQWdCQkFXbzJBZ0FMSHdFQmZ5QUFLQUxjQXlJQklBQW9Bc0FDTmdKY0lBRWdBQ2dDZERZQ1lBdUhBZ0VGZnlBQUtBTElBeUlIS0FJWUlnTUVRQ0FIUVJScUlRRWdCMEVRYWlFQ0lBY29BZ3doQ1FVZ0FDZ0NCQ2dDSENFRElBY2dBQ0FIS0FJSUlBZEJGR29pQVNnQ0FDQUhRUkJxSWdJb0FnQkJBQ0FEUVI5eFFhSUNhaEVJQUNJSk5nSU1JQWNvQWhnaEF3c2dBQ2dDZENBQktBSUFheUlJSUFZZ0JTZ0NBQ0lLYXlJR0lBSW9BZ0FnQTJzaUN5QUxJQVpMR3lJR0lBWWdDRXNiSVFZZ0FDZ0M1QU1vQWdRaENDQUFJQU5CQW5RZ0NXb2dDa0VDZENBRWFpQUdJQWhCSDNGQitnVnFFUWNBSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQVlnQnlnQ0dHb2lBRFlDR0NBQUlBSW9BZ0FpQUVrRVFBOExJQUVnQUNBQktBSUFhallDQUNBSFFRQTJBaGdMaWdJQkJYOGdBQ2dDeUFNaUIwRVlhaUlJS0FJQUlnUUVRQ0FIUVJCcUlRWWdCMEVNYWlJSklRb2dDU2dDQUNFSkJTQUFLQUlFS0FJY0lRUWdCMEVNYWlJS0lBQWdCeWdDQ0NBSEtBSVVJQWRCRUdvaUJpZ0NBRUVCSUFSQkgzRkJvZ0pxRVFnQUlnazJBZ0FnQ0NnQ0FDRUVDeUFBS0FMY0F5Z0NCQ0VMSUFBZ0FTQUNJQU1nQ1NBSUlBWW9BZ0FnQzBFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0lCSUFSTEJFQWdBQ2dDNUFNb0FnUWhBaUFBSUFvb0FnQWdCRUVDZEdwQkFDQUJJQVJySWdBZ0FrRWZjVUg2QldvUkJ3QWdCU0FBSUFVb0FnQnFOZ0lBSUFnb0FnQWhBUXNnQVNBR0tBSUFJZ0JKQkVBUEN5QUhJQUFnQnlnQ0ZHbzJBaFFnQ0VFQU5nSUFDNThCQVFSL0l3WWhCeU1HUVJCcUpBWWdCaUFGS0FJQWF5RUlJQUFvQXNnRElna29BaEFoQ2lBSFFRQTJBZ0FnQUNnQzNBTW9BZ1FoQmlBQUlBRWdBaUFESUFrb0Fnd2dCeUFLSUFnZ0NDQUtTeHNnQmtFSGNVSGlCbW9SRFFBZ0FDZ0M1QU1vQWdRaEFTQUFJQWtvQWd3Z0JTZ0NBRUVDZENBRWFpQUhLQUlBSUFGQkgzRkIrZ1ZxRVFjQUlBVWdCeWdDQUNBRktBSUFhallDQUNBSEpBWUxrZ0lCQVg4Z0FDZ0N5QU1oQWdKQUFrQUNRQUpBQWtBZ0FRNEVBQU1DQVFNTElBQW9BbFJGQkVBZ0FpQUFLQUxjQXlnQ0JEWUNCQXdFQ3lBQ1FRUTJBZ1FnQWlnQ0RFVUVRQ0FBS0FJRUtBSWNJUUVnQWlBQUlBSW9BZ2hCQUNBQ0tBSVFRUUVnQVVFZmNVR2lBbW9SQ0FBMkFnd0xEQU1MSUFJb0FnaEZCRUFnQUNnQ0FDSUJRUU0yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUVFVMkFnUU1BZ3NnQWlnQ0NFVUVRQ0FBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQmpZQ0JBd0JDeUFBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQURZQ0dDQUNRUUEyQWhRTEtRRUJmeUFBS0FMSUF5Z0NCQ0VFSUFCQkFFRUFRUUFnQVNBQ0lBTWdCRUVIY1VIaUJtb1JEUUFMZndFRWZ5QUFLQUxBQXlJRVFUQnFJZ1lvQWdBZ0JDZ0NOQ0lGU1FSQUlBUkJDR29oQndVZ0FDZ0N4QU1vQWd3aEJTQUFJQVJCQ0dvaUJ5QUZRVDl4UVlvQmFoRUNBQVIvSUFaQkFEWUNBQ0FFS0FJMEJROExJUVVMSUFBb0FzZ0RLQUlFSVFRZ0FDQUhJQVlnQlNBQklBSWdBeUFFUVFkeFFlSUdhaEVOQUF1VkJ3RVBmeUFBS0FMQUF5SUVLQUk0UlFSQUlBQW9Bc1FES0FJTUlRZ2dBQ0FFUVR4cUlBUW9Ba1JCQW5ScUtBSUFJQWhCUDNGQmlnRnFFUUlBQkVBZ0JFRUJOZ0k0SUFRZ0JDZ0NURUVCYWpZQ1RBVVBDd3NDUUFKQUFrQUNRQUpBQWtBZ0JDZ0NTQTREQVFJQUF3c2dBQ2dDeUFNb0FnUWhCU0FBSUFSQlBHb2dCQ2dDUkVFQ2RHb29BZ0FnQkVFd2FpSUlJQVJCTkdvaUNpZ0NBQ0FCSUFJZ0F5QUZRUWR4UWVJR2FoRU5BQ0FJS0FJQUlBb29BZ0JKQkVBUEN5QUVRUUEyQWtnZ0FpZ0NBQ0FEU1EwRER3c2dCRUV3YWlFSUlBUkJOR29oQ2d3Q0N5QUVRVEJxSVFnZ0JFRTBhaUVLREFJTER3c2dDRUVBTmdJQUlBb2dBQ2dDeUFJaURrRi9hallDQUNBRUtBSk1JQUFvQXN3Q1JnUkFJQUFvQXNBRElRc2dBQ2dDSkNJUFFRQktCRUFnQzBFOGFpQUxLQUpFUVFKMGFpRVFJQUFvQXRnQklRVURRQ0FGS0FJTUlBVW9BaWhzSWdjZ0RoQTVJUVlnQnlBRktBSXdJQWNRVGlJSElBZEZHeUVISUFsRkJFQWdDeUFIUVg5cUlBWVFPVUVCYWpZQ05Bc2dFQ2dDQUNBSlFRSjBhaWdDQUNFTklBWkJBWFFoRVNBR1FRQktCRUFnQjBGL2FrRUNkQ0FOYWlFTVFRQWhCZ05BSUFZZ0IycEJBblFnRFdvZ0RDZ0NBRFlDQUNBR1FRRnFJZ1lnRVVnTkFBc0xJQVZCMkFCcUlRVWdDVUVCYWlJSklBOUhEUUFMQ3dzZ0JFRUJOZ0pJQ3lBQUtBTElBeWdDQkNFRklBQWdCRUU4YWlBRUtBSkVRUUowYWlnQ0FDQUlJQW9vQWdBZ0FTQUNJQU1nQlVFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0FLS0FJQVNRUkFEd3NnQkNnQ1RFRUJSZ1JBSUFBb0FzQURJUXNnQUNnQ3lBSWhBU0FBS0FJa0lnZEJBRW9FUUNBTFFVQnJJUTBnQVVFQmFpRU9JQUZCQW1vaER5QUFLQUxZQVNFQ1FRQWhBd05BSUFJb0Fnd2dBaWdDS0d3Z0FSQTVJUVVnQ3lnQ1BDQURRUUowYWlnQ0FDRUpJQTBvQWdBZ0EwRUNkR29vQWdBaEJpQUZRUUJLQkVBZ0JTQU9iQ0VRSUFVZ0Qyd2hFVUVBSVFBRFFDQUFJQVZySWd4QkFuUWdDV29nQUNBUWFpSVNRUUowSUFscUtBSUFOZ0lBSUF4QkFuUWdCbW9nRWtFQ2RDQUdhaWdDQURZQ0FDQUFJQkZxSWd4QkFuUWdDV29nQUVFQ2RDQUphaWdDQURZQ0FDQU1RUUowSUFacUlBQkJBblFnQm1vb0FnQTJBZ0FnQUVFQmFpSUFJQVZIRFFBTEN5QUNRZGdBYWlFQ0lBTkJBV29pQXlBSFJ3MEFDd3NGSUFBb0FzZ0NJUUVMSUFRZ0JDZ0NSRUVCY3pZQ1JDQUVRUUEyQWpnZ0NDQUJRUUZxTmdJQUlBb2dBVUVDYWpZQ0FDQUVRUUkyQWtnTDZRTUJFSDhnQUNnQ3dBTWhBZ0pBQWtBQ1FDQUJEZ01BQWdFQ0N5QUFLQUxjQXlnQ0NFVUVRQ0FDUVJFMkFnUWdBaUFDS0FJME5nSXdEd3NnQWtFUU5nSUVJQUFvQXNnQ0lRUWdBQ2dDSkNJTFFRQktCRUFnQWtGQWF5RU1JQVJCQW1vaERTQUVRWDVxSVE0Z0FDZ0MyQUVoQlVFQUlRQURRQ0FGS0FJTUlBVW9BaWhzSUFRUU9TRURJQUlvQWp3Z0FFRUNkR29vQWdBaEJpQU1LQUlBSUFCQkFuUnFLQUlBSVFjZ0FrRUlhaUFBUVFKMGFpZ0NBQ0VJSUFNZ0RXd2lDVUVBU2dSQVFRQWhBUU5BSUFGQkFuUWdCMm9nQVVFQ2RDQUlhaWdDQUNJS05nSUFJQUZCQW5RZ0Jtb2dDallDQUNBQlFRRnFJZ0VnQ1VjTkFBc0xJQU5CQVhRaENTQURRUUJLQkVBZ0F5QUViQ0VLSUFNZ0Rtd2hEMEVBSVFFRFFDQUJJQTlxSWhCQkFuUWdCMm9nQVNBS2FpSVJRUUowSUFocUtBSUFOZ0lBSUJGQkFuUWdCMm9nRUVFQ2RDQUlhaWdDQURZQ0FDQUJRUUZxSWdFZ0NVZ05BQXRCQUNFQkEwQWdBU0FEYTBFQ2RDQUdhaUFHS0FJQU5nSUFJQUZCQVdvaUFTQURSdzBBQ3dzZ0JVSFlBR29oQlNBQVFRRnFJZ0FnQzBjTkFBc0xJQUpCQURZQ1JDQUNRUUEyQWtnZ0FrRUFOZ0pNSUFKQkFEWUNPQThMSUFKQkVqWUNCQThMSUFBb0FnQWlBVUVETmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXVCQkFFSmZ5QUFJQUJCQVVIUUFDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDSUVOZ0xBQXlBRVFUTTJBZ0FnQUNnQ3lBSWhBaUFBS0FMY0F5Z0NDQVIvSUFKQkFrZ0VRQ0FBS0FJQUlnTkJNRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUNBQUtBTElBaUVDQ3lBQUtBTEFBeUlESUFCQkFTQUFRU1JxSWdZb0FnQkJBM1FnQUNnQ0JDZ0NBRUUvY1VIS0FXb1JCQUFpQVRZQ1BDQURRVUJySWdjZ0FTQUFLQUlrSWdGQkFuUnFOZ0lBSUFGQkFFb0VRQ0FDUVFScUlRZ2dBQ2dDMkFFaEFrRUFJUUVEZnlBQVFRRWdBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJZ1VnQ0d3aUNVRURkQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0FGUVFKMGFpRUZJQU1vQWp3Z0FVRUNkR29nQlRZQ0FDQUhLQUlBSUFGQkFuUnFJQWxCQW5RZ0JXbzJBZ0FnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkNJRlNBMEFJQVVMSVFFTElBQW9Bc2dDSWdWQkFtb2hBaUFCSVFNZ0JRVWdCQ0FDTmdJMElBQkJKR29oQmlBQUtBSWtJUU1nQWdzaEFTQURRUUJNQkVBUEN5QUVRUWhxSVFWQkFDRURJQUFvQXRnQklRUURRQ0FFS0FJTUlBUW9BaWhzSUFFUU9TRUJJQU5CQW5RZ0JXb2dBRUVCSUFRb0Fod2dCQ2dDSkd3Z0FTQUNiQ0FBS0FJRUtBSUlRUTl4UVlvQ2FoRUpBRFlDQUNBRFFRRnFJZ01nQmlnQ0FFZ0VRQ0FFUWRnQWFpRUVJQUFvQXNnQ0lRRU1BUXNMQzhJQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVRWNJQUpCUDNGQnlnRnFFUVFBSWdJMkFzZ0RJQUpCTWpZQ0FDQUNRUUEyQWdnZ0FrRUFOZ0lNSUFBb0FsUkZCRUFQQ3lBQ0lBQW9Bc0FDSWdNMkFoQWdBQ2dDQkNFRUlBRUVRQ0FFS0FJUUlRRWdBaUFBUVFGQkFDQUFLQUp3SUFBb0FuaHNJQUFvQW5RZ0F4RDRBU0FDS0FJUUlBRkJQM0ZCeGdKcUVRb0FOZ0lJQlNBRUtBSUlJUUVnQWlBQVFRRWdBQ2dDY0NBQUtBSjRiQ0FESUFGQkQzRkJpZ0pxRVFrQU5nSU1Dd3VoQkFFTWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQm9BRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzNBTWdBa0dHQVRZQ0FDQUNRUU0yQWdRZ0FrRUFOZ0lJSUFBb0FyUUNCRUFnQUNnQ0FDSUJRUm8yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBS0FJa1FRQk1CRUFQQ3lBQ1FlUUFhaUVKSUFKQk5Hb2hCU0FDUVF4cUlRb2dBa0dNQVdvaEN5QUNRWllCYWlFTUlBQW9BdGdCSVFKQkFDRUJBMEFnQWlnQ0NDQUNLQUlrYkNBQUtBTEVBaEE1SVFjZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlRWWdBQ2dDdkFJaEJDQUFLQUxBQWlFSUlBRkJBblFnQ1dvZ0JqWUNBQ0FDS0FJMEJFQUNRQ0FHSUFoR0lnTWdCQ0FIUm5FRVFDQUJRUUowSUFWcVFRdzJBZ0FNQVFzZ0F5QUVJQWRCQVhSR0lnTnhCRUFnQVVFQ2RDQUZha0VOTmdJQUJRSkFJQU1nQ0NBR1FRRjBSbkVFUUNBQlFRSjBJQVZxUVE0MkFnQU1BUXNnQkNBSElBUWdCeEE1SWdSc2EwVUVRQ0FJSUFZZ0NDQUdFRGtpQTJ4clJRUkFJQUZCQW5RZ0JXcEJEellDQUNBQklBdHFJQVE2QUFBZ0FTQU1haUFET2dBQURBSUxDeUFBS0FJQUlnTkJKellDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUU1nQVVFQ2RDQUthaUFBUVFFZ0FDZ0NjQ0FBS0FLOEFoRDRBU0FBS0FMQUFpQURRUTl4UVlvQ2FoRUpBRFlDQUFzRklBRkJBblFnQldwQkN6WUNBQXNnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkVnTkFBc0xraEFCQm44Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBVFlDNEFNZ0FVR0ZBVFlDQUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUJBZ0lCQVFNTElBQW9BaVJCQVVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBTUxJQUFvQWlSQkEwY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUlMSUFBb0FpUkJCRWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFFTElBQW9BaVJCQVVnRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUt3QWdSQUFrQUNRQ0FBS0FJb1FRSnJEZ1VCQUFBQUFRQUxJQUFvQWdBaUFrRWNOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0xBa0FDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBa0VCYXc0R0FBRUVBd1FDQkFzZ0FFRUJOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQUFnSUNBQUlMSUFGQkpqWUNCQ0FBS0FJa0lnSkJBVXdOQnlBQUtBTFlBU0VEUVFFaEFRTkFJQUZCMkFCc0lBTnFRUUEyQWpRZ0FVRUJhaUlCSUFKSURRQUxEQUlMQWtBQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRW5OZ0lFREFJTElBRkJLRFlDQkF3QkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFLQUxnQXlBQVFRRkJnQmdnQVVFL2NVSEtBV29SQkFBaUFqWUNHRUVBSVFFRFFDQUJRUUowSUFKcUlBRkJpNWtCYkRZQ0FDQUJRWUFDYWtFQ2RDQUNhaUFCUWNhc0FtdzJBZ0FnQVVHQUJHcEJBblFnQW1vZ0FVR3ZPbXhCZ0lBQ2FqWUNBQ0FCUVFGcUlnRkJnQUpIRFFBTERBRUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDd3dFQ3lBQVFRTTJBbmdDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBTUJCQVFFQWdRTElBRkJLVFlDQkF3SUN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0RDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjA1c0xiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtIRWxnNXNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWQya2VtdzJBZ0FnQVVFQ2RDQURhaUFDUWMyZmZXeEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3dKQUFrQUNRQ0FBS0FLd0FnNENBQUVDQ3lBQlFTczJBZ1FNQndzZ0FVRXNOZ0lFREFZTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUJBc01Bd3NnQUVFRE5nSjRJQUFvQWloQkJrY0VRQ0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1Bd3NDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFck5nSUVEQVFMSUFGQkxEWUNCQXdEQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQWdzZ0FFRUVOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUVhdzRDQVFBQ0N5QUJRUzAyQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDeUFCUVM0MkFnUU1Bd3NnQUNnQ0FDSUJRUncyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUlMREFFTElBQW9BaWdnQWtZRVFDQUFJQUFvQWlRMkFuZ2dBVUV1TmdJRUJTQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpVQkVBZ0FFRUJOZ0o4RHdzZ0FDQUFLQUo0TmdKOEM4NEVBUWQvSUFBb0FnUW9BZ0FoQVNBQUlBQkJBVUV3SUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdHdESUFGQmhBRTJBZ0FnQVVFQU5nSUlJQUVnQUNnQ2VDQUFLQUp3YkNJQ05nSW9JQUFvQXNBQ1FRSkdCRUFnQVVFQk5nSUVJQUZCQ1RZQ0RDQUFLQUlFS0FJRUlRTWdBU0FBUVFFZ0FpQURRVDl4UWNvQmFoRUVBRFlDSUNBQUtBTGNBeUVCQlNBQlFRSTJBZ1FnQVVFS05nSU1JQUZCQURZQ0lBc0NmeUFBS0FJb1FRZEdJUWNnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSVFJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0ZDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhnZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ0kyQWh3Z0FTZ0NFQ0VESUFFb0FoUWhCQ0FCS0FJWUlRVWdCd3NFUUVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSFRtd3RzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFjU1dEbXhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQjNhUjZiRFlDQUNBQVFRSjBJQUpxSUFGQnpaOTliRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQlVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSHB6UVZzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFhS0xCMnhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQnJwSjliRFlDQUNBQVFRSjBJQUpxSUFGQjU4OStiRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQ3d2SEF3RURmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJMQ0FCUVQ5eFFjb0JhaEVFQUNJRE5nTGtBeUFEUVRFMkFnQWdBMEdEQVRZQ0RDQURRUUEyQWlBZ0EwRUFOZ0lvSUFBb0FuaEJBMGNFUUNBQUtBSUFJZ0ZCTURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBRElBQkJBVUdBQVNBQlFUOXhRY29CYWhFRUFEWUNHRUVBSVFFRFFDQUFLQUlFS0FJRUlRSWdBRUVCUVlBZ0lBSkJQM0ZCeWdGcUVRUUFJUUlnQXlnQ0dDQUJRUUowYWlBQ05nSUFJQUZCQVdvaUFVRWdSdzBBQ3lBRFFRRTJBaHdnQUNnQ2JBUkFJQUFvQW1BaUFVRUlTQVJBSUFBb0FnQWlBa0U2TmdJVUlBSkJDRFlDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUNRVHMyQWhRZ0FrR0FBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFJZ0F5QUFRUUVnQVVFRElBSkJEM0ZCaWdKcUVRa0FOZ0lRSUFNZ0FUWUNGQVVnQTBFQU5nSVFDeUFBS0FKWVJRUkFEd3NnQUVFQ05nSllJQUFvQWdRb0FnUWhBU0FESUFCQkFTQUFLQUp3UVFac1FReHFJQUZCUDNGQnlnRnFFUVFBTmdJZ0lBQVFwQU1MalFrQkQzOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFkZ0FJQUZCUDNGQnlnRnFFUVFBSWdFMkF1UURJQUZCTURZQ0FDQUJRWUVCTmdJSUlBRkJnZ0UyQWd3Z0FVRUFOZ0pFSUFGQkFEWUNOQ0FBS0FKNFFRUktCRUFnQUNnQ0FDSUJRVGsyQWhRZ0FVRUVOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ1lDSUZRWUFDU2dSQUlBQW9BZ0FpQVVFN05nSVVJQUZCZ0FJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BbUFoQlFzZ0FDZ0M1QU1oQnlBQUtBSjRJZ1pCQVVvRVFFRUJJUUVEZjBFQklRTWdBVUVCYWlJRUlRSURRQ0FDSUFSc0lRSWdBMEVCYWlJRElBWkhEUUFMSUFJZ0JVb0VmeUFDSVFNZ0FRVWdCQ0VCREFFTEN5RUNCU0FGUVFFZ0JVRUJTaHNpQWtFQmFpRURDeUFDUVFKSkJFQWdBQ2dDQUNJQlFUbzJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dCa0VBU2dSQVFRRWhBVUVBSVFNRFFDQUhRU0JxSUFOQkFuUnFJQUkyQWdBZ0FTQUNiQ0VCSUFOQkFXb2lBeUFHUncwQUN3SkFJQUFvQWl4QkFrWUVRRUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowUWRTSEFXb29BZ0JCQW5ScUlna29BZ0FpQkVFQmFpRUlBa0FDUUNBQklBUVFPU0FJYkNJRUlBVktEUUFnQ1NBSU5nSUFJQU5CQVdvaUF5QUdTQVIvUVFFaEFpQUVCVUVCSVFJZ0JDRUJEQUVMSVFFTUFRc2dBa1VOQTBFQUlRTkJBQ0VDQ3d3QUFBc0FCVUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowYWlJSktBSUFJZ1JCQVdvaENBSkFBa0FnQVNBRUVEa2dDR3dpQkNBRlNnMEFJQWtnQ0RZQ0FDQURRUUZxSWdNZ0JrZ0VmMEVCSVFJZ0JBVkJBU0VDSUFRaEFRd0JDeUVCREFFTElBSkZEUU5CQUNFRFFRQWhBZ3NNQUFBTEFBc0FDeUFCSVFJRlFRRWhBZ3NnQUNnQ0FDRUJJQUFvQW5oQkEwWUVRQ0FCSUFJMkFoZ2dBU0FIS0FJZ05nSWNJQUVnQnlnQ0pEWUNJQ0FCSUFjb0FpZzJBaVFnQVVIZ0FEWUNGQ0FCS0FJRUlRRUZJQUZCNFFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFRc2dBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BZ1FvQWdnaEFTQUFRUUVnQWlBQUtBSjRJQUZCRDNGQmlnSnFFUWtBSVFvZ0FDZ0NlQ0lCUVFCS0JFQkJBQ0VFSUFJaEF3TkFJQU1nQjBFZ2FpQUVRUUowYWlnQ0FDSUpFRGtoQlNBSlFRQktCRUFnQ1VGL2FpSUxRUUlRT1NFTUlBUkJBblFnQ21vaERTQUZRUUJLQkVCQkFDRUdBMEFnQlNBR2JDSUJJQUpJQkVBZ0RDQUdRZjhCYkdvZ0N4QTVRZjhCY1NFT0EwQkJBQ0VJQTBBZ0RTZ0NBQ0FCSUFocWFpQU9PZ0FBSUFVZ0NFRUJhaUlJUncwQUN5QUJJQU5xSWdFZ0FrZ05BQXNMSUFrZ0JrRUJhaUlHUncwQUN5QUFLQUo0SVFFTEN5QUVRUUZxSWdRZ0FVZ0VRQ0FGSVFNTUFRc0xDeUFISUFvMkFoQWdCeUFDTmdJVUlBQVFvUU1nQUNnQ1dFRUNSd1JBRHdzZ0FDZ0M1QU1oQWlBQUtBSndJUThnQUNnQ2VFRUFUQVJBRHdzZ0QwRUJkRUVFYWlFRFFRQWhBUU5BSUFBb0FnUW9BZ1FoQkNBQ1FjUUFhaUFCUVFKMGFpQUFRUUVnQXlBRVFUOXhRY29CYWhFRUFEWUNBQ0FCUVFGcUlnRWdBQ2dDZUVnTkFBc0wyd1VCRDM4Z0FDZ0NGQ0lDUWNvQlJ3UkFJQUFvQWdBaUFVRVZOZ0lVSUFFZ0FqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFRa1FZZ0FDZ0MyQUVoQkNBQUtBSWtJZ3hCQUVvaURnUi9JQUFvQXNnQ0lRSWdBQ2dDeEFJaUNFRUlRUVFnQUNnQ1RCc2lDVW9FUUNBQ0lBbEtJUTBnQ0VFQmRDRURJQVFoQVFOQUlBRWlCeUFJTmdJa0lBMEVRQ0FDSVFFRkFrQWdBQ2dDd0FJaENpQUhLQUlNSVF0QkFTRUdJQUloQVFOQUlBb2dCa0VCZENJR0lBdHNFRThOQVNBQ0lBWnNJZ0VnQ1V3TkFBc0xDeUFISWdZZ0FUWUNLQ0FJSUFGQkFYUWlDa29FUUNBSElBbzJBaVFGSUFFZ0Ewb0VRQ0FHSUFNMkFpZ0xDeUFHUWRnQWFpRUJJQVZCQVdvaUJTQU1TQTBBQ3dVZ0FDZ0N2QUloRFNBQ0lBbEtJUW9nQkNFQkEwQWdBU2dDQ0NFRFFRRWhCU0FJSVFjRFFDQU5JQU1nQlVFQmRDSUZiQkJQUlFSQUlBVWdDR3dpQnlBSlRBMEJDd3NnQVNJRklBYzJBaVFnQ2dSQUlBSWhBUVVDUUNBQUtBTEFBaUVMSUFVb0Fnd2hEMEVCSVFNZ0FpRUJBMEFnQ3lBUElBTkJBWFFpQTJ3UVR3MEJJQUlnQTJ3aUFTQUpUQTBBQ3dzTElBVWlBeUFCTmdJb0lBY2dBVUVCZENJTFNnUkFJQVVnQ3pZQ0pBVWdBU0FIUVFGMElnRktCRUFnQXlBQk5nSW9Dd3NnQTBIWUFHb2hBU0FHUVFGcUlnWWdERWdOQUFzTElBNEVmMEVBSVFJRGZ5QUVJQVFvQWlRZ0FDZ0NIQ0FFS0FJSWJHd2dBQ2dDdkFJZ0FDZ0NyQU5zRUdnMkFpd2dCQ0FFS0FJb0lBQW9BaUFnQkNnQ0RHeHNJQUFvQXNBQ0lBQW9BcXdEYkJCb05nSXdJQVJCMkFCcUlRUWdBa0VCYWlJQ0lBQW9BaVFpQVVnTkFDQUJDd1VnREFzRklBd0xJUUlDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBVUVCYXc0SEFBRUNBd01CQWdRTElBRWhBZ3dEQzBFRElRSU1BZ3RCQXlFQ0RBRUxRUVFoQWdzZ0FDQUNOZ0o0SUFCQkFTQUNJQUFvQWxRYk5nSjhJQUFRcGdORkJFQWdBRUVCTmdLQUFROExJQUFnQUNnQ3dBSTJBb0FCQ3pzQkFuOGdBQ2dDdkFNaEFTQUFLQUpVQkVBZ0FDZ0M1QU1vQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FTQUJLQUlNUVFGcU5nSU1DNUFFQVFOL0lBQW9BcndESWdJb0FnZ0VRQ0FDUVFBMkFnZ2dBQ2dDNUFNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QWdBQ2dDeUFNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QUZJQUFvQWxRRVFDQUFLQUtJQVVVRVFBSkFJQUFvQWx3RVFDQUFLQUpzQkVBZ0FDQUNLQUlZTmdMa0F5QUNRUUUyQWdnTUFnc0xJQUFvQW1RRVFDQUFJQUlvQWhRMkF1UURCU0FBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDd3NMSUFBb0F0Z0RLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3hBTW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKRVJRUkFJQUlvQWhCRkJFQWdBQ2dDNEFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDM0FNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpVQkVBZ0FDZ0M1QU1vQWdBaEFTQUFJQUlvQWdnZ0FVRS9jVUd5QldvUkF3QUxJQUFvQXNnREtBSUFJUUVnQUVFRFFRQWdBaWdDQ0JzZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QUxDeUFBS0FJSUlnRkZCRUFQQ3lBQklBSW9BZ3dpQXpZQ0RDQUJJQU5CQWtFQklBSW9BZ2diYWlJQ05nSVFJQUJCUUdzb0FnQkZCRUFQQ3lBQUtBTE1BeWdDRkFSQUR3c2dBU0FDUVFKQkFTQUFLQUpzRzJvMkFoQUw4d1lCQkg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBallDdkFNZ0FrSC9BRFlDQUNBQ1FZQUJOZ0lFSUFKQkFEWUNDQ0FBS0FMVUFTSUJRUWhIQkVBZ0FDZ0NBQ0lEUVJBMkFoUWdBeUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FCRDNCU0FBS0FJRUtBSUFJUUVnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdOQkFFR0FCQkJGR2lBQUlBTkJnQVJxSWdRMkF0QUNRUUFoQVFOQUlBRWdCR29nQVRvQUFDQUJRUUZxSWdGQmdBSkhEUUFMSUFOQmdBWnFRWDlCZ0FRUVJSb0NRQUpBSUFBb0FuUkZEUUFnQUNnQ2NFVU5BQ0FBUWZnQWFpSURLQUlBUVFGSURRQU1BUXNnQUNnQ0FDSUJRU0UyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCK0FCcUlRTUxJQUpCQURZQ0RDQUNJQUFRcGdNMkFoQWdBa0VBTmdJVUlBSkJBRFlDR0NBQUtBSlVCRUFDUUNBQVFVQnJLQUlBUlFSQUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNDeUFBUWNRQWFpSUJLQUlBQkVBZ0FDZ0NBQ0lFUVRBMkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFRUU5HQkVBQ1FDQUFLQUtJQVFSQUlBQkJBVFlDYUF3QkN5QUFLQUpjQkVBZ0FFRUJOZ0pzQlNBQVFRRTJBbVFMQ3dVZ0FFRUJOZ0prSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdLSUFRc2dBQ2dDWkFSQUlBQVE5Z1VnQWlBQUtBTGtBellDRkFzZ0FDZ0NiRVVFUUNBQUtBSm9SUTBCQ3lBQUVQVUZJQUlnQUNnQzVBTTJBaGdMQlNBQVFRQTJBbVFnQUVFQU5nSm9JQUJCQURZQ2JDQUFRY1FBYWlFQkN5QUJLQUlBUlFSQUlBSW9BaEFFUUNBQUVQUUZCU0FBRVBNRklBQVE4Z1VMSUFBZ0FDZ0NiQkR4QlFzZ0FCREhCaUFBS0FMa0FRUkFJQUFRaXdZRklBQVFtd1lMSUFBZ0FDZ0N6QU1vQWhBRWYwRUJCU0FBUVVCcktBSUFRUUJIQ3hDS0JpQUJLQUlBUlFSQUlBQVE4QVVMSUFBb0FnUW9BaGdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMTUF5Z0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWdnaUFVVUVRQThMSUFCQlFHc29BZ0FFUUE4TElBQW9Bc3dES0FJUVJRUkFEd3NnQUNnQ0pDSURJQU5CQTJ4QkFtb2dBQ2dDNEFGRkd5RURJQUZCQURZQ0JDQUJJQU1nQUNnQ3pBSnNOZ0lJSUFGQkFEWUNEQ0FCUVFOQkFpQUFLQUpzR3pZQ0VDQUNJQUlvQWd4QkFXbzJBZ3dML2dRQkJYOENRQUpBQWtBQ1FBSkFBa0FnQUNnQ0ZDSUJRY29CYXc0REFBTUJBZ3NnQUJENkJTQUFRVUJyS0FJQVJRUkFJQUJCeXdFMkFoUU1Bd3NnQUVIUEFUWUNGRUVCRHdzZ0FFRzhBMm9oQXd3REN5QUFLQUlBSWdKQkZUWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBRUxJQUFvQXN3REtBSVFCRUFDUUNBQUtBSUlJUUVEUUFKQUlBRUVRQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dES0FJQUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnSU9Bd0VBQXdBTElBSkJBbkpCQTBZZ0FDZ0NDQ0lCUVFCSGNRUkFJQUVnQVNnQ0JFRUJhaUlDTmdJRUlBSWdBU2dDQ0NJQ1RnUkFJQUVnQWlBQUtBTE1BbW8yQWdnTEN3d0JDd3NnQWc4TEN5QUFJQUFvQXBBQk5nS1lBUXNnQUVHOEEyb2hBeUFBS0FJVVFjd0JSd1JBSUFNb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBUVFBMkFvd0JJQUJCekFFMkFoUUxDeUFES0FJQUlnRW9BZ2dFUUFKQUlBQkJqQUZxSWdVb0FnQWhBZ05BQWtBZ0FpQUFLQUowSWdSSkJFQWdBaUVCSUFRaEFnTkFJQUFvQWdnaUJBUi9JQVFnQVRZQ0JDQUVJQUkyQWdnZ0JDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQVVvQWdBRklBRUxJUUlnQUNnQ3dBTW9BZ1FoQVNBQVFRQWdCVUVBSUFGQkgzRkIrZ1ZxRVFjQUlBVW9BZ0FpQVNBQ1JnMENJQUVnQUNnQ2RDSUNTUTBBQ3lBREtBSUFJUUVMSUFFb0FnUWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQURLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JVRUFOZ0lBSUFNb0FnQWlBU2dDQ0VVTkFrRUFJUUlNQVFzTFFRQVBDd3NnQUVIT0FVSE5BU0FBS0FKRUd6WUNGRUVCQzFBQkEzOUJmeUVCQTBBQ1FBSkFBa0FnQUNBQ2Fpd0FBQ0lEQkVBZ0EwRXVSZ1JBREFJRkRBTUxBQXNNQWdzZ0FpRUJDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FBSUFGcVFRQTZBQUFMQzhvSkFRMS9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RU5JQUFvQXZBQ1FRQk1CRUJCQVE4TElBVkJ2QUZxSVE0Q1FBSkFBMEFDUUNBSVFRSjBJQUZxS0FJQUlRd2dBQ0FGUVR4cUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZ3RCQW5ScUtBSUFJZ1lvQWhRaUIwRUNkR29pQXlnQ0FDQUZRU2hxSUF0QkFuUnFJZ2tvQWdCcUlnSVFYUVJBSUFBZ0FDQUNRUUZxRUYwaUNpQUNRUUpxYWlJRUVGMGlBZ1JBSUFBZ0F5Z0NBRUVVYWlJRUVGMEVRQU5BSUFKQkFYUWlBa0dBZ0FKR0RRUWdBQ0FFUVFGcUlnUVFYUTBBQ3dzRlFRQWhBZ3NnQ1NBQ1FRRWdCeUFBUWVnQmFtb3RBQUIwUVFGMVNBUi9RUUFGSUFwQkFuUWhBeUFDUVFFZ0J5QUFRZmdCYW1vdEFBQjBRUUYxU2dSL0lBTkJER29GSUFOQkJHb0xDellDQUNBRVFRNXFJUU1nQWtFQmRTSUVCRUFEUUNBQ0lBUkJBQ0FBSUFNUVhSdHlJUUlnQkVFQmRTSUVEUUFMQ3lBRlFSaHFJQXRCQW5ScUlnUW9BZ0FnQWtGL2N5QUNRUUZxSUFvYmFpRUNJQVFnQWpZQ0FBVWdDVUVBTmdJQUlBVkJHR29nQzBFQ2RHb29BZ0FoQWdzZ0RDQUNPd0VBSUFBb0FyUURCRUFDUUNBRlFmd0FhaUFHS0FJWUlnSkJBblJxSVFjZ0FpQUFRWWdDYW1vaENVRUFJUVFEUUNBQUlBY29BZ0FnQkVFRGJHb2lBeEJkRFFFZ0JFRUJhaUVDSUFBZ0EwRUJhaEJkQkVBZ0JDRUdJQUloQkFVZ0F5RUdBMzhnQWlBQUtBSzBBMDROQ0NBR1FRTnFJUU1nQWtFQmFpRUVJQUFnQmtFRWFoQmRCSDhnQWdVZ0F5RUdJQVFoQWd3QkN3c2hCZ3NnQUNBT0VGMGhDaUFBSUFOQkFtb2lBeEJkSWdJRVFDQUFJQU1RWFFSQUlBSkJBWFFoQWlBQUlBY29BZ0JCdlFGQjJRRWdCaUFKTFFBQVNCdHFJZ01RWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQ2lBQUlBTkJBV29pQXhCZERRQUxDd3NnQTBFT2FpRUdJQUpCQVhVaUF3UkFBMEFnQWlBRFFRQWdBQ0FHRUYwYmNpRUNJQU5CQVhVaUF3MEFDd3NGUVFBaEFnc2dCRUVDZENBTmFpZ0NBRUVCZENBTWFpQUNRZi8vQTNNZ0FrRUJhaUFLR3pzQkFDQUVJQUFvQXJRRFNBMEFDd3NMSUFoQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFnTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdTZCZ0VOZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0NzQU1oQmlBQktBSUFJUWNnQUNnQzJBSW9BaGdoQWtFQklBQW9BcWdESWdGMElRaEJmeUFCZENFSklBQW9BcUFESVFFRGZ3Si9JQUVnQVVFQ2RDQUdhaWdDQUVFQmRDQUhhaTRCQUEwQUdpQUJRWDlxSWdFTkFVRUFDd3NoQlNBRFFmd0FhaUFDUVFKMGFpRUtJQU5CdkFGcUlRc2dDRUgvL3dOeElRd2dDVUgvL3dOeElRMGdBQ2dDbkFOQmYyb2hBUUpBQTBBQ1FDQUtLQUlBSUFGQkEyeHFJUUlnQVNBRlRnUkFJQUFnQWhCZERRTUxBa0FDUUNBQlFRRnFJZ0ZCQW5RZ0Jtb29BZ0JCQVhRZ0Iyb2lCQzRCQUEwQUEwQWdBQ0FDUVFGcUVGMUZCRUFnQVNBQUtBS2dBMDROQkNBQ1FRTnFJUUlnQVVFQmFpSUJRUUowSUFacUtBSUFRUUYwSUFkcUlnUXVBUUJGRFFFTUFnc0xJQUFnQ3hCZEJFQWdCQ0FOT3dFQUJTQUVJQXc3QVFBTERBRUxJQUFnQWtFQ2FoQmRCRUFnQkM0QkFDSU9JUUlnRGtFQVNBUkFJQVFnQWlBSmFqc0JBQVVnQkNBQ0lBaHFPd0VBQ3dzTElBRWdBQ2dDb0FOSURRRU1BZ3NMSUFBb0FnQWlBVUgxQURZQ0ZDQUJLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFOQmZ6WUNGRUVCRHd0QkFRdmpBd0VFZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQUFvQXFnRElRSWdBQ2dDOEFKQkFFd0VRRUVCRHdzZ0EwRzhBV29oQTBFQklBSjBJUVJCQUNFQ0EwQWdBQ0FERUYwRVFDQUNRUUowSUFGcUtBSUFJZ1VnQkNBRkx3RUFjanNCQUFzZ0FrRUJhaUlDSUFBb0F2QUNTQTBBQzBFQkM4MEdBUXAvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVISUFFb0FnQWhDQ0FGUWZ3QWFpQUFLQUxZQWlnQ0dDSUJRUUowYWlFR0lBVkJ2QUZxSVFrZ0FTQUFRWWdDYW1vaENpQUFLQUtjQTBGL2FpRUNBa0FDUUFOQUFrQWdBQ0FHS0FJQUlBSkJBMnhxSWdNUVhRMENJQUpCQVdvaEFTQUFJQU5CQVdvUVhRUkFJQUloQkNBQklRSUZBMzhnQVNBQUtBS2dBMDROQWlBRFFRTnFJUVFnQVVFQmFpRUNJQUFnQTBFRWFoQmRCSDhnQkNFRElBRUZJQVFoQXlBQ0lRRU1BUXNMSVFRTElBQWdDUkJkSVFzZ0FDQURRUUpxSWdNUVhTSUJCRUFnQUNBREVGMEVRQ0FCUVFGMElRRWdBQ0FHS0FJQVFiMEJRZGtCSUFRZ0NpMEFBRWdiYWlJRUVGMEVRQU5BSUFGQkFYUWlBVUdBZ0FKR0RRY2dBQ0FFUVFGcUlnUVFYUTBBQ3dzRklBTWhCQXNnQkVFT2FpRURJQUZCQVhVaUJBUkFBMEFnQVNBRVFRQWdBQ0FERUYwYmNpRUJJQVJCQVhVaUJBMEFDd3NGUVFBaEFRc2dBa0VDZENBSGFpZ0NBRUVCZENBSWFpQUJRWDl6SUFGQkFXb2dDeHNnQUNnQ3FBTjBPd0VBSUFJZ0FDZ0NvQU5JRFFFTUFnc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdmtCZ0VMZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JDZ0NGRUVDZEdvb0FnQWlCVUlBTndBQUlBVkNBRGNBQ0NBRlFnQTNBQkFnQlVJQU53QVlJQVZDQURjQUlDQUZRZ0EzQUNnZ0JVSUFOd0F3SUFWQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JDZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0M4QUpCQUV3RVFFRUJEd3RCQUNFRkFrQUNRQU5BQWtBZ0JVRUNkQ0FCYWlnQ0FDRU1JQUFnQTBFOGFpQUFRZGdDYWlBQVFmUUNhaUFGUVFKMGFpZ0NBQ0lIUVFKMGFpZ0NBQ2dDRkNJSVFRSjBhaUlHS0FJQUlBTkJLR29nQjBFQ2RHb2lDU2dDQUdvaUFoQmRCRUFnQUNBQUlBSkJBV29RWFNJS0lBSkJBbXBxSWdRUVhTSUNCRUFnQUNBR0tBSUFRUlJxSWdRUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkJDQUFJQVJCQVdvaUJCQmREUUFMQ3dWQkFDRUNDeUFKSUFKQkFTQUlJQUJCNkFGcWFpMEFBSFJCQVhWSUJIOUJBQVVnQ2tFQ2RDRUdJQUpCQVNBSUlBQkIrQUZxYWkwQUFIUkJBWFZLQkg4Z0JrRU1hZ1VnQmtFRWFnc0xOZ0lBSUFSQkRtb2hCaUFDUVFGMUlnUUVRQU5BSUFJZ0JFRUFJQUFnQmhCZEczSWhBaUFFUVFGMUlnUU5BQXNMSUFOQkdHb2dCMEVDZEdvaUJDZ0NBQ0FDUVg5eklBSkJBV29nQ2h0cUlRSWdCQ0FDTmdJQUJTQUpRUUEyQWdBZ0EwRVlhaUFIUVFKMGFpZ0NBQ0VDQ3lBTUlBSWdBQ2dDcUFOME93RUFJQVZCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUVVNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRFFYODJBaFJCQVF2S0NRRUpmeUFBS0FMVUF5RUNJQUFvQXB3RElnWkZJUU1nQUNnQzRBRUVRQ0FBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBWklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBR05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFSFVBbW9pQmlnQ0FDSUJRUUJLQkVBZ0FFR2tBMm9oQlVFQUlRTURRQ0FBUWRnQ2FpQURRUUowYWlnQ0FDZ0NCQ0VJSUFBb0FxQUJJUWtnQUNnQ25BTWlBUVJBSUFoQkNIUWdDV29vQWdCQkFFZ0VRQ0FBS0FJQUlnRkI5Z0EyQWhRZ0FTQUlOZ0lZSUFBb0FnQkJBRFlDSENBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFBb0Fwd0RJUUVMQlVFQUlRRUxJQUVnQUNnQ29BTk1CRUFEUUNBRktBSUFJQWhCQ0hRZ0NXb2dBVUVDZEdvaUJDZ0NBQ0lIUVFBZ0IwRUFTaHRIQkVBZ0FDZ0NBQ0lIUWZZQU5nSVVJQWNnQ0RZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0JDRUhJQUJCZnlBSFFUOXhRYklGYWhFREFBc2dCQ0FBS0FLb0F6WUNBQ0FCUVFGcUlRUWdBU0FBS0FLZ0EwZ0VRQ0FFSVFFTUFRc0xDeUFEUVFGcUlnTWdCaWdDQUNJQlNBMEFDd1VnQUVHa0Eyb2hCUXNnQUNnQ25BTkZJUU1nQlNnQ0FBUkFJQU1FUUNBQ1FTMDJBZ1FGSUFKQkxqWUNCQXNGSUFNRVFDQUNRU3MyQWdRRklBSkJMRFlDQkFzTEJRSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0NvQU1pQVVIQUFFZ0VRQ0FBS0FLMEF5QUJSdzBCQ3d3QkN5QUFLQUlBSWdGQi9RQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFBc2dBa0V2TmdJRUlBQkIxQUpxSWdFaEJpQUJLQUlBSVFFTElBRkJBRXdFUUNBQ1FRQTJBZ3dnQWtFQU5nSVFJQUpCY0RZQ0ZDQUNJQUFvQXBnQ05nSTREd3RCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBUW9BaFFpQVVFUFN3UkFJQUFvQWdBaUJVRXlOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUpCUEdvZ0FVRUNkR29pQlNnQ0FDSUJSUVJBSUFBb0FnUW9BZ0FoQVNBRklBQkJBVUhBQUNBQlFUOXhRY29CYWhFRUFDSUJOZ0lBQ3lBQlFnQTNBQUFnQVVJQU53QUlJQUZDQURjQUVDQUJRZ0EzQUJnZ0FVSUFOd0FnSUFGQ0FEY0FLQ0FCUWdBM0FEQWdBVUlBTndBNElBSkJHR29nQTBFQ2RHcEJBRFlDQUNBQ1FTaHFJQU5CQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRUtBSVlJZ0ZCRDBzRVFDQUFLQUlBSWdSQk1qWUNGQ0FFSUFFMkFoZ2dBQ2dDQUNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUNRZndBYWlBQlFRSjBhaUlFS0FJQUlnRkZCRUFnQUNnQ0JDZ0NBQ0VCSUFRZ0FFRUJRWUFDSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBZ0FMSUFGQkFFR0FBaEJGR2dzZ0EwRUJhaUlESUFZb0FnQklEUUFMSUFKQkFEWUNEQ0FDUVFBMkFoQWdBa0Z3TmdJVUlBSWdBQ2dDbUFJMkFqZ0xtZ3dCTW44akJpRUhJd1pCZ0FGcUpBWWdBQ2dDeEFNaEZ5QUFLQUxNQWlFeElBQW9BcEFCSWdRZ0FDZ0NtQUVpQlV3RVFBSkFBMEFDUUNBQUtBTE1BeUlDS0FJVURRSWdCQ0FGUmdSQUlBQW9BcFFCSUFBb0Fwd0JJQUFvQXB3RFJXcExEUU1MSUFBZ0FpZ0NBRUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0NrQUVpQkNBQUtBS1lBU0lGVEEwQkRBSUxDeUFISkFaQkFBOExDeUF4UVg5cUlTb2dBQ2dDSkVFQVNnUi9JQUJCbkFGcUlSd2dBQ2dDMkFFaENnTi9JQW9vQWpRRVFDQWNLQUlBSWdnZ0tra0VmeUFLS0FJTUloRkJBWFFoQlNBUklRUkJBQVVnQ2lnQ0lDQUtLQUlNSWdRUVRpSUZJQVFnQlJzaUVTRUZRUUVMSVFrZ0NBUi9JQUFnRjBISUFHb2dEVUVDZEdvb0FnQWdCQ0FJUVg5cWJDQUVJQVZxUVFBZ0FDZ0NCQ2dDSUVFZmNVR2lBbW9SQ0FBZ0NpZ0NERUVDZEdvaEZFRUFCU0FBSUJkQnlBQnFJQTFCQW5ScUtBSUFRUUFnQlVFQUlBQW9BZ1FvQWlCQkgzRkJvZ0pxRVFnQUlSUkJBUXNoRWlBWEtBSndJQTFCQm14QkFuUnFJUk1nQ2lnQ1VDSUVMd0VBSVFnZ0JDOEJBaUVGSUFRdkFSQWhBaUFFTHdFZ0lRNGdCQzhCRWlFUElBUXZBUVFoQkNBQUtBTFlBMEVFYWlBTlFRSjBhaWdDQUNFcklCRkJBRW9FUUNBU1FRQkhJU3dnQ1VFQVJ5RXRJQkZCZjJvaExpQUlRU1JzSVIwZ0JVRUhkQ0VlSUFKQkIzUWhIeUFGUVFoMElTQWdDRUVKYkNFaElBNUJCM1FoSWlBQ1FRaDBJU01nQ2lFdklBaEJCV3doTUNBUFFRZDBJU1FnRGtFSWRDRWxJQVJCQjNRaEppQVBRUWgwSVNjZ0JFRUlkQ0VvUVFBaERDQU5RUUowSUFGcUtBSUFJUmdEUUNBTVFRSjBJQlJxS0FJQUlRSWdMQ0FNUlhFRWZ5QUNCU0FNUVg5cVFRSjBJQlJxS0FJQUN5RVZJQW9vQWh4QmYyb2hLU0F0SUF3Z0xrWnhCSDhnQWdVZ0RFRUJha0VDZENBVWFpZ0NBQXNpR1M0QkFDSUdJUVFnQWk0QkFDSUpJUVVnRlM0QkFDSVFJUWhCQUNFYUlBSWhGa0VBSVJzRFFDQUhJQlpCZ0FFUVRCb2dHaUFwU1FSL0lCa3VBWUFCSVE0Z0ZTNEJnQUVoRHlBV0xnR0FBUVVnQkNFT0lBZ2hEeUFGQ3lFU0lBY3VBUUpGSUJNb0FnUWlBa0VBUjNFRVFDQUhJQjBnQ1NBU2Eyd2lBMEYvU2dSL0lBTWdIbW9nSUJBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2hzRlFRQWdIaUFEYXlBZ0VEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0cyc0xPd0VDQ3lBSExnRVFSU0FUS0FJSUlnSkJBRWR4QkVBZ0J5QWRJQWdnQkd0c0lnTkJmMG9FZnlBRElCOXFJQ01RT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iQlVFQUlCOGdBMnNnSXhBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2h0ckN6c0JFQXNnQnk0QklFVWdFeWdDRENJQ1FRQkhjUVJBSUFjZ0lTQUVJQWdnQlVFQmRHdHFiQ0lEUVg5S0JIOGdBeUFpYWlBbEVEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0d3VkJBQ0FpSUFOcklDVVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2Jhd3M3QVNBTElBY3VBUkpGSUJNb0FoQWlBa0VBUjNFRVFDQUhJREFnRGlBUUlBWnJJQTlyYW13aUJrRi9TZ1IvSUFZZ0pHb2dKeEE1SWdaQkFTQUNkQ0lRUVg5cUlBWWdFRWdiSUFZZ0FrRUFTaHNGUVFBZ0pDQUdheUFuRURraUJrRUJJQUowSWhCQmYyb2dCaUFRU0JzZ0JpQUNRUUJLRzJzTE93RVNDeUFITGdFRVJTQVRLQUlVSWdKQkFFZHhCRUFnQnlBaElCSWdDU0FGUVFGMGEycHNJZ2xCZjBvRWZ5QUpJQ1pxSUNnUU9TSUpRUUVnQW5RaUJrRi9haUFKSUFaSUd5QUpJQUpCQUVvYkJVRUFJQ1lnQ1dzZ0tCQTVJZ2xCQVNBQ2RDSUdRWDlxSUFrZ0JrZ2JJQWtnQWtFQVNodHJDenNCQkFzZ0FDQUtJQWNnR0NBYklDdEJQM0ZCbWdacUVRVUFJQlpCZ0FGcUlSWWdGVUdBQVdvaEZTQVpRWUFCYWlFWklCc2dMeWdDSkdvaEd5QWFRUUZxSWhvZ0tVMEVRQ0FJSVRJZ0JTRUpJQVFoQmlBT0lRUWdFaUVGSUE4aENDQXlJUkFNQVFzTElBb29BaWhCQW5RZ0dHb2hHQ0FNUVFGcUlnd2dFVWNOQUFzTEN5QUtRZGdBYWlFS0lBMUJBV29pRFNBQUtBSWtTQTBBSUJ3TEJTQUFRWndCYWdzaUFTQUJLQUlBUVFGcUlnRTJBZ0JCQTBFRUlBRWdBQ2dDekFKSkd5RXpJQWNrQmlBekM1VUdBUlYvSUFBb0F1Z0NRWDlxSVFvZ0FDZ0N6QUlpQWtGL2FpRVRJQUFvQXNRRElnWW9BaGdpQ0NBR0tBSWNJZ05JQkVBQ1FDQUdRU0JxSVEwZ0FFR1VBV29oRGlBRElRSWdCaWdDRkNFSEFrQUNRQU5BQWtBZ0J5QUtUUVJBQTBBZ0FDZ0N0QU1FUUNBTktBSUFRUUFnQUNnQzhBSkJCM1FRUlJvTElBQW9BdFFES0FJRUlRSWdBQ0FOSUFKQlAzRkJpZ0ZxRVFJQVJRMENJQUFvQXRRQ0lnSkJBRW9FUUNBSElBcEpJUlJCQUNFRFFRQWhDd05BSUFCQjJBSnFJQXRCQW5ScUtBSUFJZ1FvQWpRRVFBSkFJQUFvQXRnRFFRUnFJQVFvQWdRaUJVRUNkR29vQWdBaEZTQUVRVGhxSWc4Z0JFSElBR29nRkJzb0FnQWhFQ0FFS0FJb0lSRWdCeUFFS0FKRWJDRVdJQVFvQWp3aUVrRUFTZ1JBSUJCQkFFd0VRQ0FQS0FJQUlRbEJBQ0VGQTBBZ0F5QUphaUVESUFWQkFXb2lCU0FTU0EwQUN3d0NDeUFGUVFKMElBRnFLQUlBSUFnZ0VXeEJBblJxSVFsQkFDRU1JQU1oQlNBU0lRSWdFU0VEQTBBQ1FBSkFJQTRvQWdBZ0Uwa05BQ0FJSUF4cUlBUW9Ba3hJRFFBTUFRc2dGaUVDUVFBaEF3TkFJQUFnQkNBR1FTQnFJQU1nQldwQkFuUnFLQUlBSUFrZ0FpQVZRVDl4UVpvR2FoRUZBQ0FDSUFRb0FpUnFJUUlnQTBFQmFpSURJQkJIRFFBTElBUW9BaWdoQXlBRUtBSThJUUlMSUFVZ0R5Z0NBR29oQlNBRFFRSjBJQWxxSVFrZ0RFRUJhaUlNSUFKSURRQUxJQVVoQXlBQUtBTFVBaUVDQ3dzRklBTWdCRUZBYXlnQ0FHb2hBd3NnQzBFQmFpSUxJQUpJRFFBTEN5QUhRUUZxSWdjZ0NrME5BQXNnQmlnQ0hDRUNDeUFHUVFBMkFoUWdDRUVCYWlJSUlBSk9EUUpCQUNFSERBRUxDd3dCQ3lBT0lRRWdBQ2dDekFJaEFnd0JDeUFHSUFnMkFoZ2dCaUFITmdJVVFRQVBDd1VnQUVHVUFXb2hBUXNnQUNBQUtBS2NBVUVCYWpZQ25BRWdBU0FCS0FJQVFRRnFJZ00yQWdBZ0F5QUNUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQkE4TElBQW9Bc1FESWdFZ0FDZ0MxQUpCQVVvRWYwRUJCU0FBS0FMWUFpSUFRUXhxSUFCQnpBQnFJQU1nQWtGL2Fra2JLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZUVFNTG9RRUJCSDhEUUFKQUFrQUNRQ0FBSUFGcUxBQUFJZ01FUUNBRFFTNUdCRUFNQWdVTUF3c0FDd3dDQ3lBQklRSUxJQUZCQVdvaEFRd0JDd3NnQUNBQmFpRURRWnk0QVJCZ1FRSnFJUVFDZndKQUlBSUVmeUFDSUFScVFZQUNTZ1IvUVg4RkRBSUxCU0FCSUFScVFZQUNTZ1IvUVg4RklBTkJMam9BQUNBQklRSU1BZ3NMREFFTElBQWdBa0VCYW1wQkFEb0FBQ0FBRUdBZ0FHb1FnUVZCQUFzYUM5b0RBUTkvSUFBb0FzUURJUXNnQUNnQ3pBSkJmMm9oREFKQUFrQURRQUpBSUFBb0FwQUJJZ0lnQUNnQ21BRWlBMDRFUUNBQ0lBTkhEUUVnQUNnQ2xBRWdBQ2dDbkFGTERRRUxJQUFvQXN3REtBSUFJUUlnQUNBQ1FmOEFjVUVJYWhFQUFBMEJEQUlMQ3d3QkMwRUFEd3NnQUNnQ0pFRUFTZ1JBSUFBb0F0Z0JJUUlEUUNBQ0tBSTBCRUFnQUNnQ0JDZ0NJQ0VESUFBZ0MwSElBR29nQkVFQ2RHb29BZ0FnQWlnQ0RDSUZJQUFvQXB3QmJDQUZRUUFnQTBFZmNVR2lBbW9SQ0FBaERTQUFLQUtjQVNBTVNRUi9JQUlvQWd3RklBSW9BaUFnQWlnQ0RDSUZFRTRoQXlBRElBVWdBeHNMSVFrZ0FDZ0MyQU5CQkdvZ0JFRUNkR29vQWdBaERpQUpRUUJLQkVBZ0JFRUNkQ0FCYWlnQ0FDRUdRUUFoQnlBQ0lnVWlEeWdDSENFREEwQWdBd1IvUVFBaEF5QUhRUUowSUExcUtBSUFJUWhCQUNFS0EzOGdBQ0FDSUFnZ0JpQURJQTVCUDNGQm1nWnFFUVVBSUFoQmdBRnFJUWdnQXlBUEtBSWthaUVESUFwQkFXb2lDaUFDS0FJY0loQkpEUUFnRUFzRlFRQUxJUU1nQlNnQ0tFRUNkQ0FHYWlFR0lBZEJBV29pQnlBSlJ3MEFDd3NMSUFKQjJBQnFJUUlnQkVFQmFpSUVJQUFvQWlSSURRQUxDeUFBSUFBb0Fwd0JRUUZxSWdFMkFwd0JRUU5CQkNBQklBQW9Bc3dDU1JzTG5RVUJFMzhqQmlFVEl3WkJFR29rQmlBVElRWWdBQ2dDeEFNaEJDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQW9BZ1FvQWlBaEJTQUFRZGdDYWlBQlFRSjBhaWdDQUNJREtBSU1JUUlnQVVFQ2RDQUdhaUFBSUFSQnlBQnFJQU1vQWdSQkFuUnFLQUlBSUFBb0FwUUJJQUpzSUFKQkFTQUZRUjl4UWFJQ2FoRUlBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSklEUUFMQ3lBRUtBSVlJZ1VnQkNnQ0hDSUJTQVJBQWtBZ0JFRWdhaUVNSUFRb0FoUWhBeUFBS0FMb0FpRUNBMEFDUUNBRElBSkpCRUFnQXlFQ0EwQWdBQ2dDMUFJaURVRUFTZ1JBUVFBaEFVRUFJUWNEUUNBQ0lBQkIyQUpxSUFkQkFuUnFLQUlBSWdNb0FqZ2lDR3doRGlBREtBSThJZzlCQUVvRVFDQUhRUUowSUFacUtBSUFJUkFnQ0VFQVNnUkFRUUFoQ1FOQVFRQWhDeUFGSUFscVFRSjBJQkJxS0FJQUlBNUJCM1JxSVFvZ0FTRURBMEFnQ2tHQUFXb2hFU0FEUVFGcUlSSWdCRUVnYWlBRFFRSjBhaUFLTmdJQUlBdEJBV29pQ3lBSVJ3UkFJQkVoQ2lBU0lRTU1BUXNMSUFFZ0NHb2hBU0FKUVFGcUlna2dEMGdOQUFzTEN5QUhRUUZxSWdjZ0RVZ05BQXNMSUFBb0F0UURLQUlFSVFFZ0FDQU1JQUZCUDNGQmlnRnFFUUlBUlEwQ0lBSkJBV29pQWlBQUtBTG9BaUlCU1EwQUN5QUJJUUlnQkNnQ0hDRUJDeUFFUVFBMkFoUWdCVUVCYWlJRklBRk9EUUpCQUNFRERBRUxDeUFFSUFVMkFoZ2dCQ0FDTmdJVUlBWWtCa0VBRHdzTElBQWdBQ2dDbEFGQkFXb2lBallDbEFFZ0FpQUFLQUxNQWlJRlR3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCaVFHUVFRUEN5QUFLQUxFQXlJQklBQW9BdFFDUVFGS0JIOUJBUVVnQUNnQzJBSWlBRUVNYWlBQVFjd0FhaUFDSUFWQmYycEpHeWdDQUFzMkFod2dBVUVBTmdJVUlBRkJBRFlDR0NBR0pBWkJBd3VsQXdFTGZ5QUFLQUxFQXlJQktBSVFSUVJBSUFCQkFEWUNuQUVQQ3lBQkFuOENRQ0FBS0FKUVJRMEFJQUFvQXVBQlJRMEFJQUFvQXFBQlJRMEFJQUVvQW5BaUFnUkFJQUJCSkdvaEJnVWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQklBQkJKR29pQmlnQ0FFRVliQ0FDUVQ5eFFjb0JhaEVFQUNJQ05nSndDeUFHS0FJQVFRQk1EUUFnQUNnQzJBRWhDQU5BSUFnb0FsQWlBVVVOQVNBQkxnRUFSUTBCSUFFdUFRSkZEUUVnQVM0QkVFVU5BU0FCTGdFZ1JRMEJJQUV1QVJKRkRRRWdBUzRCQkVVTkFTQUFLQUtnQVNJQklBUkJDSFJxS0FJQVFRQklEUUVnQWlBRVFRaDBJQUZxSWdNb0FnUTJBZ1FnQXlnQ0JDRUpJQUlnQkVFSWRDQUJhaUlGS0FJSU5nSUlJQWtnQlNnQ0NISWhDaUFDSUFSQkNIUWdBV29pQlNnQ0REWUNEQ0FLSUFVb0FneHlJUXNnQWlBRVFRaDBJQUZxSWdVb0FoQTJBaEFnQ3lBRktBSVFjaUVESUFJZ0JFRUlkQ0FCYWlJQktBSVVOZ0lVUVFFZ0J5QURJQUVvQWhSeUd5RUhJQUpCR0dvaEFpQUlRZGdBYWlFSUlBUkJBV29pQkNBR0tBSUFTQTBBQ3lBSFJRMEFRU29NQVF0QktBczJBZ3dnQUVFQU5nS2NBUXRTQVFKL0lBQkJBRFlDbEFFZ0FDZ0N4QU1pQVNBQUtBTFVBa0VCU2dSL1FRRUZJQUFvQXRnQ0lnSkJ6QUJxSUFKQkRHb2dBQ2dDekFKQkFVWWJLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZQzZ3REFRVi9JQUFvQWdRb0FnQWhBeUFBSUFCQkFVSDBBQ0FEUVQ5eFFjb0JhaEVFQUNJQ05nTEVBeUFDUWYwQU5nSUFJQUpCL2dBMkFnZ2dBa0VBTmdKd0lBRkZCRUFnQUNnQ0JDZ0NCQ0VCSUFJZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBaUFnQWlBQlFZQUJhallDSkNBQ0lBRkJnQUpxTmdJb0lBSWdBVUdBQTJvMkFpd2dBaUFCUVlBRWFqWUNNQ0FDSUFGQmdBVnFOZ0kwSUFJZ0FVR0FCbW8yQWpnZ0FpQUJRWUFIYWpZQ1BDQUNRVUJySUFGQmdBaHFOZ0lBSUFJZ0FVR0FDV28yQWtRZ0FDZ0N0QU5GQkVBZ0FVRUFRWUFLRUVVYUN5QUNRZFlBTmdJRUlBSkJLVFlDRENBQ1FRQTJBaEFQQ3lBQUtBSWtRUUJLQkVBZ0FrSElBR29oQkVFQUlRTWdBQ2dDMkFFaEFRTkFJQUVvQWd3aUJTQUZRUU5zSUFBb0F1QUJSUnNoQlNBQUtBSUVLQUlVSVFZZ0EwRUNkQ0FFYWlBQVFRRkJBU0FCS0FJY0lBRW9BZ2dRK0FFZ0FTZ0NJQ0FCS0FJTUVQZ0JJQVVnQmtFL2NVSEdBbW9SQ2dBMkFnQWdBVUhZQUdvaEFTQURRUUZxSWdNZ0FDZ0NKRWdOQUFzRklBSkJ5QUJxSVFRTElBSkIxUUEyQWdRZ0FrRW9OZ0lNSUFJZ0JEWUNFQXVoQWdFQ2Z5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQndBRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzFBTWdBa0g3QURZQ0FDQUNRZndBTmdJSUlBSkJQR29pQVVJQU53SUFJQUZDQURjQ0NDQUJRZ0EzQWhBZ0FVSUFOd0lZSUFGQ0FEY0NJQ0FCUWdBM0FpZ2dBVUlBTndJd0lBRkNBRGNDT0NBQlFVQnJRZ0EzQWdBZ0FVSUFOd0pJSUFGQ0FEY0NVQ0FCUWdBM0FsZ2dBVUlBTndKZ0lBRkNBRGNDYUNBQlFnQTNBbkFnQVVJQU53SjRJQUpCOFFBNkFMd0JJQUFvQXVBQlJRUkFEd3NnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJJQUFvQWlSQkNIUWdBVUUvY1VIS0FXb1JCQUFpQWpZQ29BRWdBQ2dDSkVFQVRBUkFEd3RCQUNFQkEwQWdBaUFCUVFoMGFrRi9RWUFDRUVVYUlBRkJBV29pQVNBQUtBSWtTQTBBQ3dzcUFRRi9JQUFvQXRRREtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDekFOQjFBQTJBZ0FMWWdFQmZ5QUFLQUxNQXlJQlFkUUFOZ0lBSUFGQkFEWUNFQ0FCUVFBMkFoUWdBVUVCTmdJWUlBQW9BZ0FvQWhBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQkFEWUNvQUVMWXdFQmZ5QUFRUUJISUFGQkFFZHhCRUFDUUNBQklBRVFZRUVCYWhDQUJTSUNSUVJBSUFCQkFEb0FBQXdCQ3lBQ1FRRnFJQUZySWdKQkFXcEJnQkJMQkVCQkFDRUFCU0FBSUFFZ0FoRFZBU0FBSUFKcVFRQTZBQUFMQ3dWQkFDRUFDeUFBQzZVUEFRbC9JQUFvQXN3RElnUW9BaFFFUUVFQ0R3c0NRQUpBQWtBRFFBSkFJQUFvQXRBREtBSUVJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVdzT0FnQUVCUXNDUUFKQUFrQUNRQUpBSUFRb0FoZ09BZ0FCQWdzZ0JDZ0NFRVVFUUNBQUtBSUFJZ0ZCSkRZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNEUVlNQXdzQ1FBSkFJQUFvQWlCQjNQOERTZzBBSUFBb0FoeEIzUDhEU2cwQURBRUxJQUFvQWdBaUFVRXFOZ0lVSUFGQjNQOEROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBRWlBVUY0YWtFRVN3UkFJQUFvQWdBaUFrRVFOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWlRaUFVRUtTZ1JBSUFBb0FnQWlBa0ViTmdJVUlBSWdBVFlDR0NBQUtBSUFRUW8yQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBUXNnQUVFQk5nSzhBaUFBUVFFMkFzQUNJQUZCQUVvRVFFRUFJUWNnQUNnQzJBRWhBa0VCSVFOQkFTRUZBMEFDZndKQUlBSWlDQ2dDQ0NJR1FYOXFRUU5MRFFBZ0FpZ0NEQ0lKUVg5cVFRTkxEUUFnQ1F3QkN5QUFLQUlBSWdGQkV6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N2QUloQlNBSUtBSUlJUVlnQUNnQ3dBSWhBeUFBS0FJa0lRRWdBaWdDREFzaEFpQUFJQVVnQmlBRklBWktHeUlGTmdLOEFpQUFJQU1nQWlBRElBSktHeUlETmdMQUFpQUlRZGdBYWlFQ0lBZEJBV29pQnlBQlNBMEFDd3NnQUFKL0FrQWdBQ2dDM0FFTkFBSi9JQUFvQXVBQkJFQWdBQ2dDMUFJTkFnc0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BcUFERG9BQ0FCQVFBUkFRRUJBQ0VCQVFFQkFRQXhBUUVCQVFFQkFRQkJBUUVCQVFFQkFRRUJBRkVCQVFFQkFRRUJBUUVCQVFCaEFRRUJBUUVCQVFFQkFRRUJBUUJ4QVFFQkFRRUJBUUVCQVFFQkFRRUJBSUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDaEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBTEVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRREJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRFJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBT0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEeEFMSUFCQkFUWUNyQU1nQUVHQUhEWUNzQU1nQUVFQU5nSzBBMEVCREJBTElBQkJBallDckFNZ0FFSEFKVFlDc0FNZ0FFRUROZ0swQTBFQ0RBOExJQUJCQXpZQ3JBTWdBRUhRSkRZQ3NBTWdBRUVJTmdLMEEwRUREQTRMSUFCQkJEWUNyQU1nQUVIUUl6WUNzQU1nQUVFUE5nSzBBMEVFREEwTElBQkJCVFlDckFNZ0FFR2dJallDc0FNZ0FFRVlOZ0swQTBFRkRBd0xJQUJCQmpZQ3JBTWdBRUhRSURZQ3NBTWdBRUVqTmdLMEEwRUdEQXNMSUFCQkJ6WUNyQU1nQUVIQUhqWUNzQU1nQUVFd05nSzBBMEVIREFvTElBQkJDRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSURBa0xJQUJCQ1RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUpEQWdMSUFCQkNqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVLREFjTElBQkJDellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTERBWUxJQUJCRERZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU1EQVVMSUFCQkRUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVOREFRTElBQkJEallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFT0RBTUxJQUJCRHpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVBEQUlMSUFCQkVEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVRREFFTElBQW9BZ0FpQVVFUk5nSVVJQUVnQUNnQ25BTTJBaGdnQUNnQ0FDQUFLQUtnQXpZQ0hDQUFLQUlBSUFBb0FxUUROZ0lnSUFBb0FnQWdBQ2dDcUFNMkFpUWdBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVNBQUtBS3NBd3NNQVFzZ0FFRUlOZ0tzQXlBQVFZQWNOZ0t3QXlBQVFUODJBclFEUVFnTElnSTJBc1FDSUFBZ0FqWUN5QUlnQVVFQVNnUkFRUUFoQVNBQUtBTFlBU0VEQTBBZ0F5QUNOZ0lrSUFNZ0FqWUNLQ0FESUFBb0Fod2dBeWdDQ0d3Z0FpQUFLQUs4QW13UWFEWUNIQ0FESUFBb0FpQWdBeWdDREd3Z0FDZ0N3QUlnQUNnQ3JBTnNFR2cyQWlBZ0F5QUFLQUljSUFNb0FnaHNJQUFvQXJ3Q0VHZzJBaXdnQXlBQUtBSWdJQU1vQWd4c0lBQW9Bc0FDRUdnMkFqQWdBMEVCTmdJMElBTkJBRFlDVUNBQlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FEUWRnQWFpRURJQUFvQXF3RElRSU1BUXNMSUFBb0Fxd0RJUUlMSUFBZ0FDZ0NJQ0FBS0FMQUFpQUNiQkJvTmdMTUFpQUFLQUxVQWlJQklBQW9BaVJPQkVBZ0FDZ0M0QUZGQkVBZ0FDZ0N6QU5CQURZQ0VBd0RDd3NnQUNnQ3pBTkJBVFlDRUF3QkN5QUFLQUxVQWlFQkN5QUJEUUVnQkVFQ05nSVlDd3dCQ3dzZ0JFRUFOZ0lZUVFFUEN5QUFFS2NEUVFFUEN5QUVRUUUyQWhRZ0JDZ0NHQVJBSUFBb0F0QURLQUlRUlFSQVFRSVBDeUFBS0FJQUlnRkJQallDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUFvQXBnQklBQW9BcEFCSWdGTUJFQkJBZzhMSUFBZ0FUWUNtQUVMUVFJUEN5QUJDMTBCQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBRFlDekFNZ0FFSFVBRFlDQUNBQVFmZ0FOZ0lFSUFCQitRQTJBZ2dnQUVINkFEWUNEQ0FBUVFBMkFoQWdBRUVBTmdJVUlBQkJBVFlDR0F2L0JRRUVmeUFBSUFBb0Fxd0RJZ0lnQUNnQ01Hd2lBU0FBS0FJMElnTkxCSDhDZnlBQklBTkJBWFJOQkVBZ0FDQUFLQUljUVFGMElBSVFhRFlDY0VFQ0lRRWdBQ2dDSUVFQmRBd0JDeUFCSUFOQkEyeE5CRUFnQUNBQUtBSWNRUU5zSUFJUWFEWUNjRUVESVFFZ0FDZ0NJRUVEYkF3QkN5QUJJQU5CQW5STkJFQWdBQ0FBS0FJY1FRSjBJQUlRYURZQ2NFRUVJUUVnQUNnQ0lFRUNkQXdCQ3lBQklBTkJCV3hOQkVBZ0FDQUFLQUljUVFWc0lBSVFhRFlDY0VFRklRRWdBQ2dDSUVFRmJBd0JDeUFCSUFOQkJteE5CRUFnQUNBQUtBSWNRUVpzSUFJUWFEWUNjRUVHSVFFZ0FDZ0NJRUVHYkF3QkN5QUJJQU5CQjJ4TkJFQWdBQ0FBS0FJY1FRZHNJQUlRYURZQ2NFRUhJUUVnQUNnQ0lFRUhiQXdCQ3lBQklBTkJBM1JOQkVBZ0FDQUFLQUljUVFOMElBSVFhRFlDY0VFSUlRRWdBQ2dDSUVFRGRBd0JDeUFCSUFOQkNXeE5CRUFnQUNBQUtBSWNRUWxzSUFJUWFEWUNjRUVKSVFFZ0FDZ0NJRUVKYkF3QkN5QUJJQU5CQ214TkJFQWdBQ0FBS0FJY1FRcHNJQUlRYURZQ2NFRUtJUUVnQUNnQ0lFRUtiQXdCQ3lBQklBTkJDMnhOQkVBZ0FDQUFLQUljUVF0c0lBSVFhRFlDY0VFTElRRWdBQ2dDSUVFTGJBd0JDeUFCSUFOQkRHeE5CRUFnQUNBQUtBSWNRUXhzSUFJUWFEWUNjRUVNSVFFZ0FDZ0NJRUVNYkF3QkN5QUJJQU5CRFd4TkJFQWdBQ0FBS0FJY1FRMXNJQUlRYURZQ2NFRU5JUUVnQUNnQ0lFRU5iQXdCQ3lBQklBTkJEbXhOQkVBZ0FDQUFLQUljUVE1c0lBSVFhRFlDY0VFT0lRRWdBQ2dDSUVFT2JBd0JDeUFBS0FJY0lRUWdBU0FEUVE5c1N3Ui9JQUFnQkVFRWRDQUNFR2cyQW5CQkVDRUJJQUFvQWlCQkJIUUZJQUFnQkVFUGJDQUNFR2cyQW5CQkR5RUJJQUFvQWlCQkQyd0xDd1VnQUNBQUtBSWNJQUlRYURZQ2NFRUJJUUVnQUNnQ0lBc2dBQ2dDckFNUWFEWUNkQ0FBSUFFMkFzUUNJQUFnQVRZQ3lBSWdBQ2dDSkNJRFFRQk1CRUFQQzBFQUlRSWdBQ2dDMkFFaEFBTkFJQUFnQVRZQ0pDQUFJQUUyQWlnZ0FFSFlBR29oQUNBQ1FRRnFJZ0lnQTBnTkFBc0x0QXNCRDM4akJpRUlJd1pCTUdva0JpQUFLQUxVQXlFSElBQW9BcGdDQkVBZ0J5Z0NMRVVFUUNBSEtBSVFRUWdRT1NFQ0lBQW9BdEFESWdVZ0FpQUZLQUlZYWpZQ0dDQUhRUUEyQWhBZ0JTZ0NDQ0VGSUFBZ0JVSC9BSEZCQ0dvUkFBQkZCRUFnQ0NRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEJRTkFJQWRCR0dvZ0JVRUNkR3BCQURZQ0FDQUZRUUZxSWdVZ0FDZ0MxQUpJRFFBTEN5QUhRUUEyQWhRZ0J5QUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUhRUUEyQWlnTEN3c2dDRUVVYWlFR0lBY29BaWhGQkVBZ0FDZ0NzQU1oRHlBQUtBSzBBeUVOSUFZZ0FEWUNFQ0FHSUFBb0FoZ2lCQ2dDQUNJSk5nSUFJQVlnQkNnQ0JDSUROZ0lFSUFjb0Fnd2hCU0FIS0FJUUlRSWdDQ0FIS1FJVU53SUFJQWdnQnlrQ0hEY0NDQ0FJSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDUUpBQTBBZ0NVRUNkQ0FCYWlnQ0FDRUtJQWRCNUFCcUlBbEJBblJxS0FJQUlRUUNmd0pBSUFKQkNFZ0VRQ0FHSUFVZ0FrRUFFR2RGRFFRZ0JpZ0NDQ0VGSUFZb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JFR1FBV29nQlNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUN3Ui9JQU1nQkVHUUNXcHFMUUFBSVFRZ0FpQUxhd1ZCQ1NFRERBRUxEQUVMSUFZZ0JTQUNJQVFnQXhDZ0FTSUVRUUJJRFFJZ0JpZ0NDQ0VGSUFZb0Fnd0xJUUlnQjBHTUFXb2dDVUVDZEdvb0FnQWhDeUFFUVFCSElRTUNRQUpBSUFkQnRBRnFJQWxCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFSSUJFQWdCaUFGSUFJZ0JCQm5SUTBISUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVJCQW5SQjhERnFLQUlBSWdNZ0JTQUNJQVJySWdKMWNTSU1RUUFnQXlBTUlBUkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUlRUVJxSUFCQjlBSnFJQWxCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVFSUFNZ0JEWUNBQ0FLSUFRN0FRQWdEa0VCU2dSQVFRRWhCQU5BQW44Q1FDQUNRUWhJQkVBZ0JpQUZJQUpCQUJCblJRMEtJQVlvQWdnaEJTQUdLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBVWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ3dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnREdzRlFRa2hBd3dCQ3d3QkN5QUdJQVVnQWlBTElBTVFvQUVpQTBFQVNBMElJQVlvQWdnaEJTQUdLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ01FUUNBQ0lBTklCRUFnQmlBRklBSWdBeEJuUlEwSklBWW9BZ2doQlNBR0tBSU1JUUlMSUFRZ0RHb2lCRUVDZENBUGFpZ0NBRUVCZENBS2FpQURRUUowUWZBeGFpZ0NBQ0lNSUFVZ0FpQURheUlDZFhFaUVFRUFJQXdnRUNBRFFRSjBRZXd4YWlnQ0FFb2JhenNCQUFVZ0RFRVBSdzBESUFSQkQyb2hCQXNnQkVFQmFpSUVJQTVJRFFBTERBTUZRUUVoQkF3REN3QUxCU0FEQkVBZ0FpQUVTQVJBSUFZZ0JTQUNJQVFRWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBUnJJUUlMUVFFaEJBd0JDd3dCQ3lBRUlBMU1CRUFEUUFKL0FrQWdBa0VJU0FSQUlBWWdCU0FDUVFBUVowVU5CeUFHS0FJSUlRVWdCaWdDRENJQ1FRaElCRUJCQVNFRERBSUxDeUFMUVpBQmFpQUZJQUpCZUdwMVFmOEJjU0lEUVFKMGFpZ0NBQ0lLQkg4Z0F5QUxRWkFKYW1vdEFBQWhBeUFDSUFwckJVRUpJUU1NQVFzTUFRc2dCaUFGSUFJZ0N5QURFS0FCSWdOQkFFZ05CU0FHS0FJSUlRVWdCaWdDREFzaEFpQURRUVIySVFvZ0EwRVBjU0lEQkVBZ0FpQURTQVJBSUFZZ0JTQUNJQU1RWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBTnJJUUlGSUFwQkQwY05BMEVQSVFvTElBUkJBV29nQ21vaUJDQU5UQTBBQ3dzTElBbEJBV29pQ1NBQUtBTHdBa2dOQUFzZ0FDZ0NHQ0VBSUFZb0FnQWhBU0FHS0FJRUlRUU1BUXNnQ0NRR1FRQVBDd1VnQkNFQUlBa2hBU0FESVFRTElBQWdBVFlDQUNBQUlBUTJBZ1FnQnlBRk5nSU1JQWNnQWpZQ0VDQUhJQWdwQWdBM0FoUWdCeUFJS1FJSU53SWNJQWNnQ0NnQ0VEWUNKQXNnQnlBSEtBSXNRWDlxTmdJc0lBZ2tCa0VCQzZJTEFRMS9Jd1loQ1NNR1FUQnFKQVlnQUNnQzFBTWhCeUFBS0FLWUFnUkFJQWNvQWl4RkJFQWdCeWdDRUVFSUVEa2hBaUFBS0FMUUF5SUVJQUlnQkNnQ0dHbzJBaGdnQjBFQU5nSVFJQVFvQWdnaEJDQUFJQVJCL3dCeFFRaHFFUUFBUlFSQUlBa2tCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUVFEUUNBSFFSaHFJQVJCQW5ScVFRQTJBZ0FnQkVFQmFpSUVJQUFvQXRRQ1NBMEFDd3NnQjBFQU5nSVVJQWNnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQjBFQU5nSW9Dd3NMSUFsQkZHb2hCU0FIS0FJb1JRUkFJQVVnQURZQ0VDQUZJQUFvQWhnaUJpZ0NBQ0lLTmdJQUlBVWdCaWdDQkNJRE5nSUVJQWNvQWd3aEJDQUhLQUlRSVFJZ0NTQUhLUUlVTndJQUlBa2dCeWtDSERjQ0NDQUpJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENnSkFBMEFnQ2tFQ2RDQUJhaWdDQUNFTklBZEI1QUJxSUFwQkFuUnFLQUlBSVFZQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVFnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQmtHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdCa0dRQ1dwcUxRQUFJUVlnQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBWWdBeENnQVNJR1FRQklEUUlnQlNnQ0NDRUVJQVVvQWd3TElRSWdCMEdNQVdvZ0NrRUNkR29vQWdBaEN5QUdRUUJISVFNQ1FBSkFJQWRCdEFGcUlBcEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEhJQVVvQWdnaEJDQUZLQUlNSVFJTElBWkJBblJCOERGcUtBSUFJZ01nQkNBQ0lBWnJJZ0oxY1NJSVFRQWdBeUFJSUFaQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSlFRUnFJQUJCOUFKcUlBcEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUdJQU1nQmpZQ0FDQU5JQVk3QVFBZ0RrRUJTZ1JBUVFFaEJnTkFBbjhDUUNBQ1FRaElCRUFnQlNBRUlBSkJBQkJuUlEwS0lBVW9BZ2doQkNBRktBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFRZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnZ0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdDR3NGUVFraEF3d0JDd3dCQ3lBRklBUWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBVW9BZ2doQkNBRktBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnZ0VRQ0FDSUFoSUJFQWdCU0FFSUFJZ0NCQm5SUTBKSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVlnREdvaUEwRUNkRUdBSEdvb0FnQkJBWFFnRFdvZ0NFRUNkRUh3TVdvb0FnQWlCaUFFSUFJZ0NHc2lBblZ4SWd4QkFDQUdJQXdnQ0VFQ2RFSHNNV29vQWdCS0cyczdBUUFGSUF4QkQwY05BeUFHUVE5cUlRTUxJQU5CQVdvaUJpQU9TQTBBQ3lBRFFUOUlEUU1GUVFFaEJnd0RDd3NGSUFNRVFDQUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEdJQVVvQWdnaEJDQUZLQUlNSVFJTElBSWdCbXNoQWd0QkFTRUdEQUVMREFFTEEwQUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFZZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0MwR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQzBHUUNXcHFMUUFBSVFNZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQXNnQXhDZ0FTSURRUUJJRFFRZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQTBFRWRpRUlJQU5CRDNFaUF3UkFJQUlnQTBnRVFDQUZJQVFnQWlBREVHZEZEUVVnQlNnQ0NDRUVJQVVvQWd3aEFnc2dBaUFEYXlFQ0JTQUlRUTlIRFFKQkR5RUlDeUFHUVFGcUlBaHFJZ1pCd0FCSURRQUxDeUFLUVFGcUlnb2dBQ2dDOEFKSURRQUxJQUFvQWhnaEFDQUZLQUlBSVFFZ0JTZ0NCQ0VHREFFTElBa2tCa0VBRHdzRklBWWhBQ0FLSVFFZ0F5RUdDeUFBSUFFMkFnQWdBQ0FHTmdJRUlBY2dCRFlDRENBSElBSTJBaEFnQnlBSktRSUFOd0lVSUFjZ0NTa0NDRGNDSENBSElBa29BaEEyQWlRTElBY2dCeWdDTEVGL2FqWUNMQ0FKSkFaQkFRdWVDZ0VSZnlNR0lRVWpCa0dnQW1va0JpQUFLQUxVQXlFSUlBQW9BcGdDQkVBZ0NDZ0NMRVVFUUNBSUtBSVFRUWdRT1NFRUlBQW9BdEFESWdJZ0JDQUNLQUlZYWpZQ0dDQUlRUUEyQWhBZ0FpZ0NDQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUFnQlNRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQWhCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUlRUUEyQWhRZ0NDQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUlRUUEyQWlnTEN3c2dCVUdBQW1vaEJ5QUZJUW9nQ0NnQ0tFVUVRQUpBSUFBb0FxQURJUTVCQVNBQUtBS29BeUlDZENFTFFYOGdBblFoRHlBQUtBS3dBeUVRSUFjZ0FEWUNFQ0FISUFBb0FoZ2lBaWdDQURZQ0FDQUhJQUlvQWdRMkFnUWdDQ2dDRENFRklBZ29BaEFoQkNBQktBSUFJUTBnQ0VGQWF5Z0NBQ0VNSUFBb0Fwd0RJUUlDUUFKL0FrQWdDQ2dDRkNJSkRRQkJBQ0VCQWtBRFFBSkFBbjhDUUNBRVFRaElCRUFnQnlBRklBUkJBQkJuUlEwRklBY29BZ2doQlNBSEtBSU1JZ1JCQ0VnRVFFRUJJUU1NQWdzTElBeEJrQUZxSUFVZ0JFRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUF4QmtBbHFhaTBBQUNFR0lBUWdDV3NGUVFraEF3d0JDd3dCQ3lBSElBVWdCQ0FNSUFNUW9BRWlCa0VBU0EwRElBY29BZ2doQlNBSEtBSU1DeUVFSUFaQkJIWWhBd0ovQWtBQ1FBSkFJQVpCRDNFT0FnQUNBUXNnQTBFUFJ3MERJQVFoQmtFQURBSUxJQUFvQWdBaUJrSDVBRFlDRkNBR0tBSUVJUVlnQUVGL0lBWkJQM0ZCc2dWcUVRTUFDeUFFUVFGSUJFQWdCeUFGSUFSQkFSQm5SUTBFSUFjb0Fnd2hCQ0FIS0FJSUlRVUxJQXNnRHlBRlFRRWdCRUYvYWlJR2RIRWJDeUVKSUFNaEJDQUNJUU1nQmlFQ0EzOENmeUFEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1l1QVFBRVFDQUNRUUZJQkVBZ0J5QUZJQUpCQVJCblJRMEdJQWNvQWd3aEFpQUhLQUlJSVFVTElBVkJBU0FDUVg5cUlnSjBjUVJBSUFZdUFRQWlFaUlSSUF0eFJRUkFJQkpCZjBvRVFDQUdJQXNnRVdvN0FRQUZJQVlnRHlBUmFqc0JBQXNMQ3dVZ0JFRi9haUVHSUFSQkFVZ0VmeUFDREFJRklBWUxJUVFMSUFOQkFXb2hCaUFESUE1SUJIOGdCaUVEREFJRklBWWhBeUFDQ3dzTElRUWdDUVJBSUFOQkFuUWdFR29vQWdBaUFrRUJkQ0FOYWlBSk93RUFJQUZCQW5RZ0Ntb2dBallDQUNBQlFRRnFJUUVMSUFOQkFXb2hBaUFESUE1SURRRWdCQ0VCUVFBTUJBc0xRUUVnQTNRaEJpQURCRUFnQkNBRFNBUkFJQWNnQlNBRUlBTVFaMFVOQWlBSEtBSU1JUVFnQnlnQ0NDRUZDeUFHSUFOQkFuUkI4REZxS0FJQUlBVWdCQ0FEYXlJRWRYRnFJZ2tFUUNBQklRWU1Bd1VnQkNFQlFRQU1CQXNBQlVFQklRa2dBU0VHREFJTEFBc01BZ3NnQWlFRElBUWhBU0FGSVFJRFFDQURRUUowSUJCcUtBSUFRUUYwSUExcUlnVXVBUUFFUUNBQlFRRklCRUFnQnlBQ0lBRkJBUkJuUlFSQUlBWWhBUXdGQ3lBSEtBSU1JUUVnQnlnQ0NDRUNDeUFDUVFFZ0FVRi9haUlCZEhFRVFDQUZMZ0VBSWd3aUJDQUxjVVVFUUNBTVFYOUtCRUFnQlNBRUlBdHFPd0VBQlNBRklBUWdEMm83QVFBTEN3c0xJQU5CQVdvaEJTQURJQTVJQkVBZ0JTRUREQUVMQ3lBQ0lRVWdDVUYvYWdzaEF5QUFLQUlZSWdBZ0J5Z0NBRFlDQUNBQUlBY29BZ1EyQWdRZ0NDQUZOZ0lNSUFnZ0FUWUNFQ0FJSUFNMkFoUU1BUXNnQVVVRVFDQUtKQVpCQUE4TEEwQWdBVUYvYWlJQlFRSjBJQXBxS0FJQVFRRjBJQTFxUVFBN0FRQWdBUTBBQ3lBS0pBWkJBQThMQ3lBSUlBZ29BaXhCZjJvMkFpd2dDaVFHUVFFTE9nQUNmd0pBQWtBQ1FBSkFBa0FnQUE0UEFBQUJBUUVDQVFNREF3TURBZ0lDQkF0QkF3d0VDMEVFREFNTFFRRU1BZ3RCQWd3QkMwRUFDd3ZFQXdFSWZ5TUdJUVFqQmtFZ2FpUUdJQUFvQXRRRElRSWdBQ2dDbUFJRVFDQUNLQUlzUlFSQUlBSW9BaEJCQ0JBNUlRTWdBQ2dDMEFNaUJTQURJQVVvQWhocU5nSVlJQUpCQURZQ0VDQUZLQUlJSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBRUpBWkJBQThMSUFBb0F0UUNRUUJLQkVCQkFDRURBMEFnQWtFWWFpQURRUUowYWtFQU5nSUFJQU5CQVdvaUF5QUFLQUxVQWtnTkFBc0xJQUpCQURZQ0ZDQUNJQUFvQXBnQ05nSXNJQUFvQXJnRFJRUkFJQUpCQURZQ0tBc0xDeUFFSWdZZ0FEWUNFQ0FHSUFBb0FoZ2lCeWdDQUNJSU5nSUFJQVlnQnlnQ0JDSUZOZ0lFSUFJb0Fnd2hBeUFDS0FJUUlRUkJBU0FBS0FLb0EzUWhDU0FBS0FMd0FrRUFTZ1JBQWtCQkFDRUZBa0FEUUNBRVFRRklCRUFnQmlBRElBUkJBUkJuUlEwQ0lBWW9BZ3doQkNBR0tBSUlJUU1MSUFOQkFTQUVRWDlxSWdSMGNRUkFJQVZCQW5RZ0FXb29BZ0FpQ0NBSklBZ3ZBUUJ5T3dFQUN5QUZRUUZxSWdVZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQnlBR0tBSUFJUWdnQmlnQ0JDRUZEQUVMSUFZa0JrRUFEd3NMSUFjZ0NEWUNBQ0FISUFVMkFnUWdBaUFETmdJTUlBSWdCRFlDRUNBQ0lBSW9BaXhCZjJvMkFpd2dCaVFHUVFFTHRnWUJESDhqQmlFRUl3WkJJR29rQmlBQUtBTFVBeUVGQWtBZ0FDZ0NtQUlFUUNBRktBSXNSUVJBSUFVb0FoQkJDQkE1SVFZZ0FDZ0MwQU1pQWlBR0lBSW9BaGhxTmdJWUlBVkJBRFlDRUNBQ0tBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BaUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWhRZ0JTQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUZRUUEyQWlnTEN3c2dCU2dDS0VVRVFDQUZLQUlVSWdJRVFDQUNRWDlxSVFNRklBUWdBRFlDRUNBRUlBQW9BaGdpQWlnQ0FEWUNBQ0FFSUFJb0FnUTJBZ1FnQlNnQ0RDRUdJQVVvQWhBaEFpQUFLQUtvQXlFS0lBQW9BckFESVFzZ0FTZ0NBQ0VNSUFWQlFHc29BZ0FoQ0NBQUtBS2NBeUlESUFBb0FxQURJZzFLQkVCQkFDRURJQVloQVFVQ1FDQUdJUUVnQXlFR0FrQURRQUpBQW44Q1FDQUNRUWhJQkVBZ0JDQUJJQUpCQUJCblJRMEZJQVFvQWdnaEFTQUVLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQWhCa0FGcUlBRWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBaEJrQWxxYWkwQUFDRUhJQUlnQ1dzRlFRa2hBd3dCQ3d3QkN5QUVJQUVnQWlBSUlBTVFvQUVpQjBFQVNBMERJQVFvQWdnaEFTQUVLQUlNQ3lFQ0lBZEJCSFloQXlBSFFROXhJZ2NFUUNBQ0lBZElCRUFnQkNBQklBSWdCeEJuUlEwRUlBUW9BZ3doQWlBRUtBSUlJUUVMSUFNZ0Jtb2lBMEVDZENBTGFpZ0NBRUVCZENBTWFpQUhRUUowUWZBeGFpZ0NBQ0lHSUFFZ0FpQUhheUlDZFhFaUNVRUFJQVlnQ1NBSFFRSjBRZXd4YWlnQ0FFb2JheUFLZERzQkFBVUNRQ0FEQkVBZ0EwRVBSZ1JBREFJRkRBUUxBQXRCQUNFRERBVUxJQVpCRDJvaEF3c2dBMEVCYWlFR0lBTWdEVWdOQVVFQUlRTU1Bd3NMSUFJZ0EwZ0VRQ0FFSUFFZ0FpQURFR2RGRFFZZ0JDZ0NEQ0VDSUFRb0FnZ2hBUXRCQVNBRGRFRi9haUFEUVFKMFFmQXhhaWdDQUNBQklBSWdBMnNpQW5WeGFpRUREQUVMREFRTEN5QUFLQUlZSWdBZ0JDZ0NBRFlDQUNBQUlBUW9BZ1EyQWdRZ0JTQUJOZ0lNSUFVZ0FqWUNFQXNnQlNBRE5nSVVDeUFGSUFVb0FpeEJmMm8yQWl3Z0JDUUdRUUVQQ3lBRUpBWkJBQXVXQmdFTmZ5TUdJUVFqQmtFd2FpUUdJQUFvQXRRRElRSWdBQ2dDcUFNaEN5QUFLQUtZQWdSQUlBSW9BaXhGQkVBZ0FpZ0NFRUVJRURraEF5QUFLQUxRQXlJSUlBTWdDQ2dDR0dvMkFoZ2dBa0VBTmdJUUlBZ29BZ2doQXlBQUlBTkIvd0J4UVFocUVRQUFSUVJBSUFRa0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRTURRQ0FDUVJocUlBTkJBblJxUVFBMkFnQWdBMEVCYWlJRElBQW9BdFFDU0EwQUN3c2dBa0VBTmdJVUlBSWdBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdBa0VBTmdJb0N3c0xJQVJCRkdvaEJpQUVJUWtnQWlnQ0tFVUVRQ0FHSUFBMkFoQWdCaUFBS0FJWUlnY29BZ0FpQlRZQ0FDQUdJQWNvQWdRaUNEWUNCQ0FDS0FJTUlRTWdBaWdDRUNFRUlBa2dBaWtDRkRjQ0FDQUpJQUlwQWh3M0FnZ2dDU0FDS0FJa05nSVFJQUFvQXZBQ1FRQktCRUFDUUVFQUlRZ0NRQU5BSUFoQkFuUWdBV29vQWdBaERpQUNRVEJxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlnMUJBblJxS0FJQUtBSVVRUUowYWlnQ0FDRUtBbjhDUUNBRVFRaElCRUFnQmlBRElBUkJBQkJuUlEwRUlBWW9BZ2doQXlBR0tBSU1JZ1JCQ0VnRVFFRUJJUVVNQWdzTElBcEJrQUZxSUFNZ0JFRjRhblZCL3dGeElnVkJBblJxS0FJQUlnY0VmeUFGSUFwQmtBbHFhaTBBQUNFRklBUWdCMnNGUVFraEJRd0JDd3dCQ3lBR0lBTWdCQ0FLSUFVUW9BRWlBMEVBU0EwQ0lBTWhCU0FHS0FJSUlRTWdCaWdDREFzaEJDQUZCSDhnQkNBRlNBUkFJQVlnQXlBRUlBVVFaMFVOQXlBR0tBSU1JUVFnQmlnQ0NDRURDeUFGUVFKMFFmQXhhaWdDQUNJS0lBTWdCQ0FGYXlJRWRYRWlCMEVBSUFvZ0J5QUZRUUowUWV3eGFpZ0NBRW9iYXdWQkFBc2dDVUVFYWlBTlFRSjBhaUlGS0FJQWFpRUhJQVVnQnpZQ0FDQU9JQWNnQzNRN0FRQWdDRUVCYWlJSUlBQW9BdkFDU0EwQUN5QUFLQUlZSVFjZ0JpZ0NBQ0VGSUFZb0FnUWhDQXdCQ3lBSkpBWkJBQThMQ3lBSElBVTJBZ0FnQnlBSU5nSUVJQUlnQXpZQ0RDQUNJQVEyQWhBZ0FpQUpLUUlBTndJVUlBSWdDU2tDQ0RjQ0hDQUNJQWtvQWhBMkFpUUxJQUlnQWlnQ0xFRi9hallDTENBSkpBWkJBUXN2QVFKL0lBQW9BdFFESWdFb0FoQkJDQkE1SVFJZ0FDZ0MwQU1pQUNBQ0lBQW9BaGhxTmdJWUlBRkJBRFlDRUF2c0RBRUlmeUFBS0FMVUF5RUVJQUFvQXB3RElnSkZJUU1DUUNBQUtBTGdBVVVFUUFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQzNBRWdBQ2dDb0FNaUFVSEFBRWh5QkVBZ0FDZ0N0QU1nQVVjTkFRc01BUXNnQUNnQ0FDSUJRZjBBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FMSUFSQkprRW5JQUFvQXJRRFFUOUdHellDQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFCQkFTQUFRZGdDYWlBQlFRSjBhaWdDQUNJQ0tBSVVJZ01nQkVIRUFHb2dBMEVDZEdvUStRRWdBQ2dDdEFNRVFDQUFRUUFnQWlnQ0dDSUNJQVJCMUFCcUlBSkJBblJxRVBrQkN5QUVRUmhxSUFGQkFuUnFRUUEyQWdBZ0FVRUJhaUlCSUFBb0F0UUNTQTBBQ3dzZ0FDZ0M4QUpCQUV3TkFVRUFJUUVEUUNBRVFlUUFhaUFCUVFKMGFpQUVRY1FBYWlBQVFkZ0NhaUFBUWZRQ2FpQUJRUUowYWlnQ0FFRUNkR29vQWdBaUF5Z0NGRUVDZEdvb0FnQTJBZ0FnQkVHTUFXb2dBVUVDZEdvZ0JFSFVBR29nQXlnQ0dFRUNkR29vQWdBMkFnQWdCRUcwQVdvZ0FVRUNkR29nQXlnQ05BUi9BbjhnQXlnQ0tDRUNJQU1vQWlRaEF3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FDZ0N0QU1PTVFBSEJ3RUhCd2NIQWdjSEJ3Y0hCd01IQndjSEJ3Y0hCd1FIQndjSEJ3Y0hCd2NIQlFjSEJ3Y0hCd2NIQndjSEJ3WUhDMEVCREFjTElBSkJBVWRCQTNSQm9DdHFJQU5CQVVkQkFuUnFLQUlBUVFGcURBWUxJQUpCZjJvaUFrRUNJQUpCQWtrYlFReHNRYkFyYWlBRFFYOXFJZ0pCQWlBQ1FRSkpHMEVDZEdvb0FnQkJBV29NQlFzZ0FrRi9haUlDUVFNZ0FrRURTUnRCQkhSQjRDdHFJQU5CZjJvaUFrRURJQUpCQTBrYlFRSjBhaWdDQUVFQmFnd0VDeUFDUVg5cUlnSkJCQ0FDUVFSSkcwRVViRUdnTEdvZ0EwRi9haUlDUVFRZ0FrRUVTUnRCQW5ScUtBSUFRUUZxREFNTElBSkJmMm9pQWtFRklBSkJCVWtiUVJoc1FaQXRhaUFEUVg5cUlnSkJCU0FDUVFWSkcwRUNkR29vQWdCQkFXb01BZ3NnQWtGL2FpSUNRUVlnQWtFR1NSdEJIR3hCb0M1cUlBTkJmMm9pQWtFR0lBSkJCa2tiUVFKMGFpZ0NBRUVCYWd3QkN5QUNRWDlxSWdKQkJ5QUNRUWRKRzBFRmRFSHdMMm9nQTBGL2FpSUNRUWNnQWtFSFNSdEJBblJxS0FJQVFRRnFDd1ZCQUFzMkFnQWdBVUVCYWlJQklBQW9BdkFDU0EwQUN3d0JDeUFBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBSklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBQ05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUlpQVVFQVNnUi9JQUJCcEFOcUlRVkJBQ0VDQTM4Z0FFSFlBbW9nQWtFQ2RHb29BZ0FvQWdRaEJpQUFLQUtnQVNFSUlBQW9BcHdESWdFRVFDQUdRUWgwSUFocUtBSUFRUUJJQkVBZ0FDZ0NBQ0lCUWZZQU5nSVVJQUVnQmpZQ0dDQUFLQUlBUVFBMkFod2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUFLQUtjQXlFQkN3VkJBQ0VCQ3lBQklBQW9BcUFEVEFSQUEwQWdCU2dDQUNBR1FRaDBJQWhxSUFGQkFuUnFJZ01vQWdBaUIwRUFJQWRCQUVvYlJ3UkFJQUFvQWdBaUIwSDJBRFlDRkNBSElBWTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQnlBQVFYOGdCMEUvY1VHeUJXb1JBd0FMSUFNZ0FDZ0NxQU0yQWdBZ0FVRUJhaUVESUFFZ0FDZ0NvQU5JQkVBZ0F5RUJEQUVMQ3dzZ0FrRUJhaUlDSUFBb0F0UUNJZ0ZJRFFBZ0JRc0ZJQUJCcEFOcUN5RUNJQVJCSWtFaklBQW9BcHdESWdORklnVWJRU1JCSlNBRkd5QUNLQUlBUlJzMkFnUWdBVUVBU2dSQUFrQWdCRUZBYXlFR1FRQWhBUU5BSUFCQjJBSnFJQUZCQW5ScUtBSUFJUVVnQXdSQUlBUkJNR29nQlNnQ0dDSUZRUUowYWlFRElBQkJBQ0FGSUFNUStRRWdCaUFES0FJQU5nSUFCU0FDS0FJQVJRUkFJQUJCQVNBRktBSVVJZ01nQkVFd2FpQURRUUowYWhENUFRc0xJQVJCR0dvZ0FVRUNkR3BCQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpPRFFFZ0FDZ0NuQU1oQXd3QUFBc0FDd3NnQkVFQU5nSVVJQVJCQURZQ0VDQUVRUUEyQWd3Z0JFRUFOZ0lvSUFRZ0FDZ0NtQUkyQWl3UEN5QUVRUUEyQWhBZ0JFRUFOZ0lNSUFSQkFEWUNLQ0FFSUFBb0FwZ0NOZ0lzQzljQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVSGNBU0FDUVQ5eFFjb0JhaEVFQUNJQk5nTFVBeUFCUWZZQU5nSUFJQUZCOXdBMkFnZ2dBQ2dDNEFGRkJFQWdBVUlBTndKRUlBRkNBRGNDVENBQlFRQTJBbFFnQVVFQU5nSllJQUZCQURZQ1hDQUJRUUEyQW1BUEN5QUFLQUlFS0FJQUlRSWdBQ0FBUVFFZ0FDZ0NKRUVJZENBQ1FUOXhRY29CYWhFRUFDSUROZ0tnQVNBQUtBSWtRUUJLQkVCQkFDRUNBMEFnQXlBQ1FRaDBha0YvUVlBQ0VFVWFJQUpCQVdvaUFpQUFLQUlrU0EwQUN3c2dBVUlBTndJd0lBRkNBRGNDT0F2REFnRUpmeUFBS0FLNEF5RUNJQUFvQWdBaUEwSDhBRFlDRkNBRElBSTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFYOGdBMEUvY1VHeUJXb1JBd0FnQVVFQmFrRUhjVUhRQVhJaEJDQUJRUUpxUVFkeFFkQUJjaUVGSUFGQkIycEJCM0ZCMEFGeUlRWWdBVUVHYWtFSGNVSFFBWEloQndKQUEwQUNRQ0FDUWNBQlNDRUlJQUlnQkVZZ0FrRjRjVUhRQVVkeUlBSWdCVVp5SVFsQkFrRUJJQUlnQmtZZ0FpQUhSbkliSVFvRFFBSkFJQUFvQWdBaUFVSGpBRFlDRkNBQklBSTJBaGdnQUNnQ0FFRUNRUU1nQ2lBSkd5QUlHeUlETmdJY0lBQW9BZ0FvQWdRaEFTQUFRUVFnQVVFL2NVR3lCV29SQXdBQ1FBSkFJQU5CQTNGQkFXc09Bd1FDQUFFTFFRRWhBQXdGQ3d3QkN3c2dBQkN4QWdSQUlBQW9BcmdESVFJTUFnVkJBQ0VBREFNTEFBc0xJQUJCQURZQ3VBTkJBUThMSUFBTFlnRURmeUFBS0FJWUlRSWdBVUVBVEFSQUR3c2dBaWdDQkNJRElBRklCRUFEUUNBQ0tBSU1JUVFnQUNBRVFmOEFjVUVJYWhFQUFCb2dBU0FEYXlJQklBSW9BZ1FpQTBvTkFBc0xJQUlnQVNBQ0tBSUFhallDQUNBQ0lBTWdBV3MyQWdRTDd3RUJCSDlCQkVFRUVJc0JJUVFEUUNBQ1FRTkhCRUFnQWtFQ2RDRUZRUUFoQXdOQUlBTkJCRWNFUUNBRUtBSUFJQU1nQldwQkEzUnFJQUpCQkhRZ0FHb2dBMEVDZEdvcUFnQzdPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUVkQ0FCYWlBQ1FRSjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUF0amdDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3c2dCQkJKQzcwQkFRTi9JQUFvQWhnaUFTZ0NJRUVCUVlBZ0lBRW9BaHdRWVNJQ0JFQWdBU0FCS0FJZ05nSUFJQUVnQWpZQ0JDQUJRUUEyQWlSQkFROExJQUVvQWlRRVFDQUFLQUlBSWdKQkt6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEFuOGdBQ0VESUFBb0FnQWlBRUg3QURZQ0ZDQUFLQUlFSVFBZ0F3dEJmeUFBUVQ5eFFiSUZhaEVEQUNBQktBSWdRWDg2QUFBZ0FTZ0NJRUZaT2dBQklBRWdBU2dDSURZQ0FDQUJRUUkyQWdRZ0FVRUFOZ0lrUVFFTERBQWdBQ2dDR0VFQk5nSWtDNVlCQVFKL0lBQW9BaGdpQWtVRVFDQUFLQUlFS0FJQUlRSWdBQ0FBUVFCQktDQUNRVDl4UWNvQmFoRUVBQ0lETmdJWUlBQW9BZ1FvQWdBaEFpQURJQUJCQUVHQUlDQUNRVDl4UWNvQmFoRUVBRFlDSUNBQUtBSVlJUUlMSUFKQjlBQTJBZ2dnQWtIVEFEWUNEQ0FDUVM4MkFoQWdBa0VoTmdJVUlBSkI5UUEyQWhnZ0FpQUJOZ0ljSUFKQkFEWUNCQ0FDUVFBMkFnQUw2Z2tCRW44akJpRVRJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZpQVRJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQktBSUFJQUl1QVFCQkFuUnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSUlBSXVBVEFnQVNnQ1lHd2lDMm9pRENBQ0xnRlFJQUVvQXFBQmJDSU5JQWNnQVNnQ0lHd2lCMm9pQ21wQm9jc0FiQ0lPSUF4QnU0Si9iR29pRENBSElBaHFRYk5HYkNJUUlBaEJqaE5zYW1vaENDQU9JQXBCaEdkc2FpSUtJQkFnQjBHTDRBQnNhbW9oQnlBS0lBc2dEV3BCL2R0K2JDSUtJQTFCczRNQmJHcHFJUTBnQmlBSElBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnNGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlFR29pRVNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWdVZ0FpNEJZQ0FCS0FMQUFXd2lFbXBCMFNKc0loUWdCVUgrTUd4cUlnVnFJaFZxUVF0MU5nSUFJQVlnRlNBSGEwRUxkVFlDNEFFZ0JpQU1JQW9nQzBIVXhBRnNhbW9pQ3lBUUlBNXJJZ2NnRkNBU1FkK0pmMnhxSWd4cUlncHFRUXQxTmdJZ0lBWWdDaUFMYTBFTGRUWUN3QUVnQmtGQWF5QU5JQWNnREdzaUMycEJDM1UyQWdBZ0JpQUxJQTFyUVF0MU5nS2dBU0FHSUFnZ0VTQUZheUlGYWtFTGRUWUNZQ0FGSUFoclFRdDFJUVZCSUF0QkFuUWdCbW9nQlRZQ0FDQUdRUVJxSVFZZ0FVRUVhaUVCSUFKQkFtb2hBaUFKUVg5cUlRVWdDVUVCU3dSQUlBVWhDUXdCQ3dzZ0ZrR0FmV29oQ1VFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlRWWdBQ2dDQUVHUWdBRnFJUVVDUUFKQUlBQW9BZ1FpQ0NBQUtBSUlJZ0p5RFFBZ0FDZ0NEQVJBUVFBaEFnd0JCU0FBS0FJUUJFQkJBQ0VDREFJRklBQW9BaFFFUUVFQUlRSU1Bd1VnQUNnQ0dBUkFRUUFoQWd3RUJTQUFLQUljQkVCQkFDRUNEQVVGSUFZZ0NTQUZRUVYyUWY4SGNXb3NBQUFpQWpvQUFDQUdRUUZxSUFKQkJ4QkZHZ3NMQ3dzTERBRUxJQUFvQWh3aUN5QUFLQUlNSWcxcUlnOGdDQ0FBS0FJVUlnZHFJZ3hxUWFITEFHd2lDaUFQUWJ1Q2YyeHFJZzhnQ0NBTGFrR3pSbXdpRGlBTFFZNFRiR3BxSVFzZ0NpQU1RWVJuYkdvaURDQU9JQWhCaStBQWJHcHFJUWdnRENBSElBMXFRZjNiZm13aURDQUhRYk9EQVd4cWFpRUhJQVlnQ1NBRklBQW9BaEFpQ21wQkRYUWlEaUFBS0FJWUloQWdBbXBCMFNKc0loRWdBa0grTUd4cUlnSnFJaElnQ0dwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFrZ0VpQUlhMEVTZGtIL0IzRnFMQUFBT2dBSElBWWdDU0FGSUFwclFRMTBJZ1VnRVNBUVFkK0pmMnhxSWdocUlnb2dEeUFNSUExQjFNUUJiR3BxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSklBb2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUdJQWtnQlNBSWF5SUZJQWRxUVJKMlFmOEhjV29zQUFBNkFBSWdCaUFKSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQlNBR0lBa2dEaUFDYXlJQ0lBdHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUpJQUlnQzJ0QkVuWkIvd2R4YWl3QUFEb0FCQXNnQUVFZ2FpRUFJQUZCQVdvaUFVRUlSdzBBQ3lBVEpBWUxOQUFnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29nQWk0QkFDQUJLQUpVS0FJQWJFR0VJR3BCQTNaQi93ZHhhaXdBQURvQUFBdkRBUUVGZnlBRUlBTW9BZ0JxSWdVZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCRUNBQktBSlVJZ0VvQWlCc0lnWWdBaTRCQUNBQktBSUFiRUdFSUdvaUIyb2lDQ0FDTGdFQ0lBRW9BZ1JzSWdrZ0FpNEJFaUFCS0FJa2JDSUJhaUlDYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVVnQ0NBQ2EwRURka0gvQjNFZ0FHb3NBQUE2QUFFZ0JDQURLQUlFYWlJQ0lBY2dCbXNpQXlBSklBRnJJZ0ZxUVFOMlFmOEhjU0FBYWl3QUFEb0FBQ0FDSUFNZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM2Z0ZBUWwvSXdZaEJTTUdRVEJxSkFZZ0FDZ0MwQUloQ0NBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSGFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFNJTE5nSUFJQVVnQVNBQWEwRUxkVFlDR0NBRklBa2dCMEYrYkdwQkMzVTJBZ3dnQlNBR0tBSUVJQUl1QVFKQkRYUnNRWUFJY2lJSklBWW9Ba1FnQWk0QklrR2hMV3hzSWdkcUlnRWdCaWdDSkNBQ0xnRVNRYkhPQUd4c0lnQnFRUXQxSWd3MkFnUWdCU0FCSUFCclFRdDFOZ0ljSUFVZ0NTQUhRWDVzYWtFTGRTSU5OZ0lRSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUNTQUdLQUpJSUFJdUFTUkJvUzFzYkNJSGFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFNJS05nSUlJQVVnQVNBQWEwRUxkU0lHTmdJZ0lBVWdDU0FIUVg1c2FrRUxkU0lKTmdJVUlBUWdBeWdDQUdvaUJ5QUlRWUI5YWlJSUlBdEJEWFJCZ0lDSXdBQnFJZ0lnQ2tHaExXeHFJZ0VnREVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFJSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBZ2dBaUFLUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlFYWlJSElBZ2dCU2dDREVFTmRFR0FnSWpBQUdvaUFpQUpRYUV0YkdvaUFTQU5RYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBZ2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQ0NBQ0lBbEJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnaHFJZ01nQ0NBRktBSVlRUTEwUVlDQWlNQUFhaUlDSUFaQm9TMXNhaUlCSUFVb0FoeEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFNZ0NDQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdBeUFJSUFJZ0JrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVrQmd2c0NRRUlmeU1HSVFVakJrRkFheVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUNTZ0NBR3dpQ0NBQ0xnRWdJQWxCUUdzb0FnQnNJZ3RxUVFKMElnRWdBaTRCRUNBSktBSWdiQ0lBSUFJdUFUQWdDU2dDWUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0FDQUZJQUVnQUdzMkFqQWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lRSUFVZ0FTQUFhellDSUNBRklBSXVBUUlnQ1NnQ0JHd2lDQ0FDTGdFaUlBa29Ba1JzSWd0cVFRSjBJZ0VnQWk0QkVpQUpLQUlrYkNJQUlBSXVBVElnQ1NnQ1pHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNCQ0FGSUFFZ0FHczJBalFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJVUlBVWdBU0FBYXpZQ0pDQUZJQUl1QVFRZ0NTZ0NDR3dpQ0NBQ0xnRWtJQWtvQWtoc0lndHFRUUowSWdFZ0FpNEJGQ0FKS0FJb2JDSUFJQUl1QVRRZ0NTZ0NhR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhaUlNTmdJSUlBVWdBU0FBYXpZQ09DQUZJQWdnQzJ0QkFuUWlBU0FLSUFaQjM0bC9iR3BCQzNVaUFHbzJBaGdnQlNBQklBQnJOZ0lvSUFVZ0FpNEJCaUFKS0FJTWJDSUxJQUl1QVNZZ0NTZ0NUR3dpQm1wQkFuUWlBU0FDTGdFV0lBa29BaXhzSWdBZ0FpNEJOaUFKS0FKc2JDSUtha0hSSW14QmdBaHFJZ0lnQUVIK01HeHFRUXQxSWdCcUlnZzJBZ3dnQlNBQklBQnJOZ0k4SUFVZ0N5QUdhMEVDZENJQklBSWdDa0hmaVg5c2FrRUxkU0lBYWlJTE5nSWNJQVVnQVNBQWF6WUNMQ0FFSUFNb0FnQnFJZ1lnQjBHQWZXb2lCeUFNSUFVb0FnQkJrSUFCYWlJS2FrRU5kQ0lCSUFnZ0JTZ0NCQ0lBYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUtJQXhyUVExMElnRWdBaUFJUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ1JxSWdnZ0J5QUZLQUlRUVpDQUFXb2lCaUFGS0FJWUlncHFRUTEwSWdFZ0N5QUZLQUlVSWdCcVFkRWliQ0lDSUFCQi9qQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWdnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0NDQUhJQVlnQ210QkRYUWlBU0FDSUF0QjM0bC9iR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUNDQUhJQVVvQWlCQmtJQUJhaUlMSUFVb0FpZ2lCbXBCRFhRaUFTQUZLQUlrSWdBZ0JTZ0NMQ0lLYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFnZ0J5QUxJQVpyUVExMElnRWdBaUFLUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDQ0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUl3UVpDQUFXb2lDaUFGS0FJNElnUnFRUTEwSWdFZ0JTZ0NOQ0lBSUFVb0Fqd2lBMnBCMFNKc0lnSWdBRUgrTUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NpQUVhMEVOZENJQklBSWdBMEhmaVg5c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OFFBUXAvSXdZaEJTTUdRZkFBYWlRR0lBQW9BdEFDSVE0Z0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUVHSUFVZ0FpNEJJQ0FJUVVCcktBSUFiQ0lCSUFKQlFHc3VBUUFnQ0NnQ2dBRnNJZ0JxUWN3eWJDSU5JQVlnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFUUlBZ29BaUJzSWdBZ0FpNEJNQ0FJS0FKZ2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWdBZ0JTQUJJQUJyUVF0MU5nSlFJQVVnQ2lBTmF5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUdJQWxCd0tWL2JHcEJDM1UyQWlnZ0JTQUNMZ0VTSUFnb0FpUnNJZ0FnQWk0Qk1pQUlLQUprYkNJSGFrR2FOV3dpQmlBQVFmRWdiR29pRFNBQ0xnRWlJQWdvQWtSc0lnRWdBaTRCUWlBSUtBS0VBV3dpQUdwQnpESnNJZ2tnQ0NnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQ2lBQklBQnJJZ3RCMEJac2FpSU1haUlBYWtFTGRUWUNCQ0FGSUFBZ0RXdEJDM1UyQWxRZ0JTQUdJQWRCM1BSK2JHb2lBU0FNSUFscklnQnFRUXQxTmdJWUlBVkJRR3NnQUNBQmEwRUxkVFlDQUNBRklBb2dDMEhBcFg5c2FrRUxkVFlDTENBRklBSXVBU1FnQ0NnQ1NHd2lBU0FDTGdGRUlBZ29Bb2dCYkNJQWFrSE1NbXdpQmlBSUtBSUlJQUl1QVFSQkRYUnNRWUFJY2lJTklBRWdBR3NpQ1VIUUZteHFJZ3BxSWdFZ0FpNEJGQ0FJS0FJb2JDSUFJQUl1QVRRZ0NDZ0NhR3dpQzJwQm1qVnNJZ3dnQUVIeElHeHFJZ0JxUVF0MU5nSUlJQVVnQVNBQWEwRUxkVFlDV0NBRklBb2dCbXNpQVNBTUlBdEIzUFIrYkdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSkVJQVVnRFNBSlFjQ2xmMnhxUVF0MU5nSXdJQVVnQWk0QkppQUlLQUpNYkNJQklBSXVBVVlnQ0NnQ2pBRnNJZ0JxUWN3eWJDSUdJQWdvQWd3Z0FpNEJCa0VOZEd4QmdBaHlJZzBnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFV0lBZ29BaXhzSWdBZ0FpNEJOaUFJS0FKc2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWd3Z0JTQUJJQUJyUVF0MU5nSmNJQVVnQ2lBR2F5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNJQ0FGSUFFZ0FHdEJDM1UyQWtnZ0JTQU5JQWxCd0tWL2JHcEJDM1UyQWpRZ0JTQUNMZ0VvSUFnb0FsQnNJZ0VnQWk0QlNDQUlLQUtRQVd3aUFHcEJ6REpzSWcwZ0NDZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBSXVBUmdnQ0NnQ01Hd2lBQ0FDTGdFNElBZ29BbkJzSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFTGRUWUNFQ0FGSUFFZ0FHdEJDM1UyQW1BZ0JTQUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUXQxTmdJa0lBVWdBU0FBYTBFTGRUWUNUQ0FGSUFrZ0NrSEFwWDlzYWtFTGRUWUNPQ0FFSUFNb0FnQnFJZ1lnRGtHQWZXb2lCeUFGS0FJSUlnRWdCU2dDRUNJQWFrSE1NbXdpRFNBRktBSUFRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlNnQ0JDSUFJQVVvQWd3aURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJpQUhJQVVvQWh3aUFTQUZLQUlrSWdCcVFjd3liQ0lOSUFVb0FoUkJEWFJCZ0lDSXdBQnFJZ2tnQVNBQWF5SUtRZEFXYkdvaUMyb2lBU0FGS0FJWUlnQWdCU2dDSUNJTWFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBWWdCeUFMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDU0FLUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlJYWlJR0lBY2dCU2dDTUNJQklBVW9BamdpQUdwQnpESnNJZzBnQlNnQ0tFRU5kRUdBZ0lqQUFHb2lDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQVVvQWl3aUFDQUZLQUkwSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JpQUhJQXNnRFdzaUFTQUNJQXhCM1BSK2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUpJQXBCd0tWL2JHcEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUpFSWdFZ0JTZ0NUQ0lBYWtITU1td2lEU0FGS0FJOFFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCVUZBYXlnQ0FDSUFJQVVvQWtnaURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRUdvaUNTQUhJQVVvQWxnaUFTQUZLQUpnSWdCcVFjd3liQ0lLSUFVb0FsQkJEWFJCZ0lDSXdBQnFJZ3NnQVNBQWF5SU1RZEFXYkdvaUJHb2lBU0FGS0FKVUlnQWdCU2dDWENJRGFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBa2dCeUFFSUFwcklnRWdBaUFEUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDU0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBSklBY2dDeUFNUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThFQVE5L0l3WWhFQ01HUVpBQmFpUUdJQUFvQXRBQ0lSTWdFQ0lBSVFVZ0FTZ0NWQ0VCQTBBZ0JTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUtJQUVvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lNYWlJTklBRkJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSU9haUlQSUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0ZRSUFFb0FxQUJiQ0lJYWtHMkYyd2lFU0FHSUFJdUFUQWdBU2dDWUd3aUNXcEJEWFJxSWhKcVFRdDFOZ0lBSUFVZ0R5QVNhMEVMZFRZQ2VDQUZJQW9nREVGK2JHcEJDM1VpQ2lBR0lBbHJJQWhyUVFKMElnWnFOZ0lZSUFVZ0NpQUdhellDWUNBRklBMGdEbXNpQmlBUklBZ2dDV3RCRFhScUlnaHFRUXQxTmdJd0lBVWdCaUFJYTBFTGRUWUNTQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSFFRRnFJZ2RCQmtjTkFBc2dFMEdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQUNnQ0JDSUhJQUFvQWhRaUJtcEJ0aGRzSWdzZ0J5QUFLQUlNSWdocVFRMTBhaUlLSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ3dnQUNnQ0VFR2hMV3dpQ1dvaURTQUFLQUlJUWJIT0FHd2lEbW9pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0R5QUthMEVTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FISUFocklBWnJRUTEwSWdjZ0RDQUpheUFKYXlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFFZ0JTQUpJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCQ0FGSUEwZ0Rtc2lCeUFMSUFZZ0NHdEJEWFJxSWdacVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBY2dCbXRCRW5aQi93ZHhJQUpxTEFBQU9nQURJQUJCR0dvaEFDQUJRUUZxSWdGQkJrY05BQXNnRUNRR0MrMEJBUVIvUVFSQkJCQ0xBU0VFQTBBZ0FrRURSd1JBSUFKQkFuUWhCVUVBSVFNRFFDQURRUVJIQkVBZ0JDZ0NBQ0FESUFWcVFRTjBhaUFDUVFWMElBQnFJQU5CQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUZkQ0FCYWlBQ1FRTjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN5QUVFRWtMdFFZQkZIOGpCaUVWSXdaQjBBRnFKQVlnQUNnQzBBSWhHQ0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJSElBSXVBV0FnQVNnQ3dBRnNJZ1pyUWJjNGJDSU9JQUl1QVNBZ0FVRkFheWdDQUd3aUNTQUhhMEdTRkd3aUVTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBJQWRCbFlwL2JHcHFhaUVLSUFJdUFSQWdBU2dDSUd3aUN5QUNMZ0V3SUFFb0FtQnNJZ2hxUWU4N2JDSVNJQXNnQ0d0Qjh3cHNJaE5xSUFnZ0FpNEJVQ0FCS0FLZ0FXd2lDR3BCNGFkL2JDSVVhaUVOSUFVZ0R5QUdJQWxxSWhaQnh0RUFiR29pRnlBT0lBWkJnM3RzYW1vaUJpQUlJQXRxUWFNbmJDSUxJQklnRTJ0cUlnNXFRUXQxTmdJQUlBVWdCaUFPYTBFTGRUWUNxQUVnQlNBS0lBMXFRUXQxTmdJY0lBVWdDaUFOYTBFTGRUWUNqQUVnQlNBWElCRWdDVUh4NFg1c2Ftb2lCaUFVSUFzZ0NFSGU5d0JzYW1vaUNXcEJDM1UyQWpnZ0JTQUdJQWxyUVF0MU5nSndJQVVnRHlBSElCWnJRY0hhQUd4cVFRdDFOZ0pVSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSFJ3MEFDeUFZUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSVlJZ2RyUWJjNGJDSU5JQUFvQWdnaUJpQU1hMEdTRkd3aUVDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBeEJsWXAvYkdwcWFpRVBJQUFvQWdRaUNpQUFLQUlNSWdWcVFlODdiQ0lPSUFvZ0JXdEI4d3BzSWhGcUlBVWdBQ2dDRkNJTGFrSGhwMzlzSWhKcUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdDU0FHSUFkcUloTkJ4dEVBYkdvaUZDQU5JQWRCZzN0c2Ftb2lCeUFLSUF0cVFhTW5iQ0lLSUE0Z0VXdHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFjZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBRklBSWdDQ0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBUElBaHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQlFnRUNBR1FmSGhmbXhxYWlJSElCSWdDaUFMUWQ3M0FHeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWtnRENBVGEwSEIyZ0JzYWtFU2RrSC9CM0ZxTEFBQU9nQURJQUJCSEdvaEFDQUJRUUZxSWdGQkIwY05BQXNnRlNRR0M2SUhBUlIvSXdZaEZTTUdRYUFDYWlRR0lBQW9BdEFDSVJnZ0ZTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBQktBTEFBU0FDTGdGZ1FhRXRiR3dpQm1vaENDQUhJQVpySUFackloQWdBaTRCSUNBQlFVQnJLQUlBYkNJR0lBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdkckloRkJvUzFzYWlFSklBSXVBUkFnQVNnQ0lHd2lDaUFDTGdGUUlBRW9BcUFCYkNJTWFrR1hPbXdoRFNBRklBZ2dCaUFIYWtHSDFRQnNJaElnQjBIY0Qyd2lFMnRxSWhRZ0NpQUNMZ0Z3SUFFb0F1QUJiQ0lIYWtINkhtd2lGaUFOSUFFb0FtQWdBaTRCTUVIUHNYOXNiQ0lPYTJvaUYycEJDM1UyQWdBZ0JTQVVJQmRyUVF0MU5nS0FBaUFGSUFrZ0NpQU1heUFIYTBHeHpnQnNJZ3BxUVF0MU5nSWdJQVVnQ1NBS2EwRUxkVFlDNEFFZ0JVRkFheUFHUWF2RkFHd2lCaUFJSUJKcmFpSUpJQTBnRGlBTUlBZHJRWkhaQUd3aUIydHFJZ3BxUVF0MU5nSUFJQVVnQ1NBS2EwRUxkVFlDd0FFZ0JTQVRJQWdnQm10cUlnZ2dGaUFISUE1cWFpSUdha0VMZFRZQ1lDQUZJQWdnQm10QkMzVTJBcUFCSUFVZ0VDQVJRYjZsZjJ4cVFRdDFOZ0tBQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUxRUUZxSWd0QkNFY05BQXNnR0VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSUlBQW9BaGhCb1Mxc0lnVnFJUXNnQ0NBRmF5QUZheUlPSUFBb0FnZ2lDQ0FBS0FJUUlnWnJJZzlCb1Mxc2FpRUhJQUFvQWdRaUNTQUFLQUlVSWdwcVFaYzZiQ0VNSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFzZ0JpQUlha0dIMVFCc0loQWdCa0hjRDJ3aUVXdHFJaElnQ1NBQUtBSWNJZ1pxUWZvZWJDSVRJQXdnQUNnQ0RFSFBzWDlzSWcxcmFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFTSUJSclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDU0FLYXlBR2EwR3h6Z0JzSWdscVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0VHcnhRQnNJZ2dnQ3lBUWEyb2lCeUFNSUEwZ0NpQUdhMEdSMlFCc0lnWnJhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQkVnQ3lBSWEyb2lDeUFUSUFZZ0RXcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdEaUFQUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVKUncwQUN5QVZKQVlML2djQkZYOGpCaUVWSXdaQndBSnFKQVlnQUNnQzBBSWhHU0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0V3SUFFb0FtQnNJZ1lnQWk0QmNDQUJLQUxnQVd3aUNtb2hCeUFGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdrZ0FrRkFheTRCQUNBQktBS0FBV3dpQzBHZHlRQnNhaUlRSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJUmFrR2FOV3dpRFNBTVFmRWdiR29pREdvaURpQUdJQXBySWdwQjR4TnNJaElnQWk0QlVDQUJLQUtnQVd3aUZFRU5kQ0lQYWlJV0lBZEI3enhzSWhjZ0FpNEJFQ0FCS0FJZ2JDSUdRYlBaQUd4cWFpSVlha0VMZFRZQ0FDQUZJQTRnR0d0QkMzVTJBcUFDSUFVZ0NTQUxRWVJrYkdvaURpQU5JQkZCM1BSK2JHb2lFV29pRFNBR1FkUFFBR3dnQjBIUEpXd2lCMnNnRHlBU2F5QUtRUXgwYXlJU2F5SVBha0VMZFRZQ0lDQUZJQTBnRDJ0QkMzVTJBb0FDSUFWQlFHc2dDU0FMUWI2bGYyeHFRUXQxSWdrZ0JpQVVheUFLYTBFQ2RDSUxhallDQUNBRklBa2dDMnMyQXVBQklBVWdEaUFSYXlJSklCSWdCa0dNS1d3Z0IydHFJZ2RxUVF0MU5nSmdJQVVnQ1NBSGEwRUxkVFlDd0FFZ0JTQVFJQXhySWdjZ0ZpQUdRWlFPYkNBWGEyb2lCbXBCQzNVMkFvQUJJQVVnQnlBR2EwRUxkVFlDb0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDRUVCYWlJSVFRaEhEUUFMSUJsQmdIMXFJUUpCQUNFQkEwQWdBQ2dDRENJSUlBQW9BaHdpQ21vaEJpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpQ1VHZHlRQnNhaUlUSUFBb0FnZ2lDeUFBS0FJWUloQnFRWm8xYkNJTUlBdEI4U0JzYWlJUmFpSU5JQUFvQWhSQkRYUWlDeUFJSUFwcklncEI0eE5zSWc1cUloSWdCa0h2UEd3aUZDQUFLQUlFSWdoQnM5a0FiR3BxSWc5cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBMGdEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnQnlBSlFZUmtiR29pRFNBTUlCQkIzUFIrYkdvaUVHb2lEQ0FJUWRQUUFHd2dCa0hQSld3aUJtc2dDeUFPYXlBS1FReDBheUlPYXlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQU1JQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NVRytwWDlzYWlJSElBZ2dDbXRCRFhRZ0Myc2lDV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQnlBSmEwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkJySWdjZ0RpQUlRWXdwYkNBR2Eyb2lCbXBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQVRJQkZySWdZZ0VpQUlRWlFPYkNBVWEyb2lDR3BCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZTUUdDOTRKQVJsL0l3WWhHU01HUWVBQ2FpUUdJQUFvQXRBQ0lSMGdHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRWdJQUZCUUdzb0FnQnNJZ2xyUWNrYmJDRVVJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaFlnQ1NBQ0xnRmdJQUVvQXNBQmJDSUhhaUlRSUFackloZEI3TllBYkdvaERpQVVJQVlnQjJ0Qi9xSUJiQ0FPYWlJUklBWkJ0SXQvYkdwcUlRb2dBaTRCY0NBQktBTGdBV3dpQ3lBQ0xnRlFJQUVvQXFBQmJDSU5JQUl1QVJBZ0FTZ0NJR3dpQ0NBQ0xnRXdJQUVvQW1Cc0lnOXFJaE5xYWtIQUdXd2lFaUFJSUF0cVFiZ1hiR29pR0NBSUlBMXFRZlFxYkNJYUlCTkI2amhzSWhzZ0NFSDJSR3hxYW1vaENDQU5JQTlxUWNtMWYyd2dFbW9pSENBTlFkcXpmMndnR21wcUlSTWdCU0FSSUFkQnRZY0JiR29pRVNBSWFrRUxkVFlDQUNBRklCRWdDR3RCQzNVMkFzQUNJQVVnSENBTElBOXFRZldNZjJ3aUNDQVBRZGlFQVd3Z0cycHFhaUlSSUFwcVFRdDFOZ0lnSUFVZ0NpQVJhMEVMZFRZQ29BSWdCVUZBYXlBVElCQkJoYlovYkNBT2FpSUtJQWRCdzAxc2FpSUhha0VMZFRZQ0FDQUZJQWNnRTJ0QkMzVTJBb0FDSUFVZ0NDQUxRY2VHQVd4cUlCaHFJZ2NnRGlBVWFpQUpRWkdmZjJ4cUlnNXFRUXQxTmdKZ0lBVWdEaUFIYTBFTGRUWUM0QUVnQlNBUFFZMmlmMndnRFVHTHdBQnNhaUFMUVphVWYyeHFJQkpxSWdzZ0NpQUdRYm44QUd3Z0NVSDlwbjlzYW1vaUJtcEJDM1UyQW9BQklBVWdCaUFMYTBFTGRUWUN3QUVnQlNBV0lCZEJ2NlYvYkdwQkMzVTJBcUFCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFkUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSUlJZzlyUWNrYmJDRU9JQUFvQWdCQkRYUkJnSUNJd0FCcUloTWdEeUFBS0FJWUlnbHFJaFVnREdzaUZrSHMxZ0JzYWlFSElBNGdEQ0FKYTBIK29nRnNJQWRxSWhBZ0RFRzBpMzlzYW1vaENDQUFLQUljSWdZZ0FDZ0NGQ0lMSUFBb0FnUWlCU0FBS0FJTUlnMXFJZ3BxYWtIQUdXd2lGQ0FGSUFacVFiZ1hiR29pRnlBRklBdHFRZlFxYkNJU0lBcEI2amhzSWhFZ0JVSDJSR3hxYW1vaENpQVVJQXNnRFdwQnliVi9iR29pR0NBU0lBdEIyck4vYkdwcUlSSWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdFQ0FKUWJXSEFXeHFJaEFnQ21wQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0VDQUthMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFJSUJnZ0JpQU5ha0gxakg5c0lnb2dFU0FOUWRpRUFXeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0NDQVFhMEVTZGtIL0IzRnFMQUFBT2dBSklBVWdBaUFWUVlXMmYyd2dCMm9pQ0NBSlFjTk5iR29pQ1NBU2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUpJQkpyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0Rtb2dEMEdSbjM5c2FpSUpJQmNnQ2lBR1FjZUdBV3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUpJQWRyUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0RFRzUvQUJzSUE5Qi9hWi9iR3BxSWd3Z0ZDQU5RWTJpZjJ3Z0MwR0x3QUJzYWlBR1FaYVVmMnhxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQU1JQVpyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJNZ0ZrRy9wWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkMwY05BQXNnR1NRR0M1a0pBUmQvSXdZaEdTTUdRWUFEYWlRR0lBQW9BdEFDSVJzZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQktBS0FBU0FDUVVCckxnRUFRYkhPQUd4c0loSnFJUTBnQ1NBQ0xnRWdJQUZCUUdzb0FnQnNJZ3BCRFhRZ0FTZ0N3QUVnQWk0QllFRU5kR3dpRG1zaUVHb2hFU0FGSUEwZ0NrRzIxd0JzSUE1cUloZHFJaE1nQWk0QmNDQUJLQUxnQVd3aUJpQUNMZ0VRSUFFb0FpQnNJZ2NnQWk0QlVDQUJLQUtnQVd3aUNHb2lDMnBCalRkc0lnOGdDMEhiRUd4cUloUWdBaTRCTUNBQktBSmdiQ0lMUWMvVEFHd2lHQ0FIUWZjUmJHcHFJaFZxUVF0MU5nSUFJQVVnRXlBVmEwRUxkVFlDNEFJZ0JTQUxJQWhySWhNZ0J5QUdheUlWYWtIUkltd2lHaUFWUWY0d2JHb2lGU0FSYWtFTGRUWUNJQ0FGSUJFZ0ZXdEJDM1UyQXNBQ0lBVkJRR3NnQ1NBU2F5SVJJQXBCdGhkc0lBNXJJZ3BxSWc0Z0ZDQUdJQWhxUVl1OWYyd2lFaUFMUWE5ZGJDSUxJQWhCc0tGL2JHcHFhaUlJYWtFTGRUWUNBQ0FGSUE0Z0NHdEJDM1UyQXFBQ0lBVWdFU0FLYXlJSUlCSWdEeUFHUWNibEFHd2dHR3RxYWlJS2FrRUxkVFlDWUNBRklBZ2dDbXRCQzNVMkFvQUNJQVVnR2lBVFFkK0pmMnhxSWdnZ0NTQVFheUlKYWtFTGRUWUNnQUVnQlNBSklBaHJRUXQxTmdMZ0FTQUZJQTBnRjJzaUNTQVBJQXNnQjBIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nS2dBU0FGSUFrZ0JtdEJDM1UyQXNBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBYlFZQjlhaUVDUVFBaEFRTkFJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUVHeHpnQnNJZ3RxSVFnZ0JpQUFLQUlJSWcxQkRYUWdBQ2dDR0VFTmRDSUtheUlXYWlFT0lBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBZ2dEVUcyMXdCc0lBcHFJaEpxSWhBZ0FDZ0NIQ0lNSUFBb0FnUWlDU0FBS0FJVUlnZHFJZzlxUVkwM2JDSVJJQTlCMnhCc2FpSVhJQUFvQWd3aUQwSFAwd0JzSWhNZ0NVSDNFV3hxYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVFJQlJyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUE0Z0NTQU1heUlRSUE4Z0Iyc2lGR3BCMFNKc0loZ2dFRUgrTUd4cUloQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQTRnRUd0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0JpQUxheUlPSUExQnRoZHNJQXBySWcxcUlnb2dGeUFISUF4cVFZdTlmMndpQ3lBUFFhOWRiQ0lQSUFkQnNLRi9iR3BxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUtJQWRyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUE0Z0RXc2lCeUFMSUJFZ0RFSEc1UUJzSUJOcmFtb2lEV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FJSUFVZ0FpQUdJQlpySWdZZ0dDQVVRZCtKZjJ4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQVlnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NDQVNheUlHSUJFZ0R5QUpRZHhVYkdvZ0RFR01nWDlzYW1vaURHcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCaUFNYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQUJCSUdvaEFDQUJRUUZxSWdGQkRFY05BQXNnR1NRR0Mrd0tBUmgvSXdZaEdTTUdRYUFEYWlRR0lBQW9BdEFDSVJ3Z0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdGZ0lBRW9Bc0FCYkNJSGFpRU5JQUl1QVJBZ0FTZ0NJR3dpRGlBQ0xnRXdJQUVvQW1Cc0lnaHFRZERVQUd3aENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaEVnQmlBSGF5SUtRWmtHYkdvaUR5QU5RZm5KQUd3aUVpQUNMZ0VnSUFGQlFHc29BZ0JzSWdaQjhkY0FiR3BxSWhNZ0RpQUNMZ0Z3SUFFb0F1QUJiQ0lMYWlJWFFZSThiQ0lVSUE0Z0FpNEJVQ0FCS0FLZ0FXd2lCMnBCdnNvQWJDSVZJQWtnRGtIYi9uNXNhbXBxSWhacVFRdDFOZ0lBSUFVZ0V5QVdhMEVMZFRZQ2dBTWdCU0FJSUF0cVFjSzFmMndpRXlBSElBaHFRYXRxYkNJV0lBaEJ5elZzSUFscWFtb2lDU0FSSUFwQmxSOXNhaUlZSUFaQjRNTUFiQ0FOUWFBVWJDSWFhMm9pRzJwQkMzVTJBaUFnQlNBYklBbHJRUXQxTmdMZ0FpQUZRVUJySUFjZ0MycEIrRlZzSWdrZ0ZpQUhRYkdiZjJ4cUlCVnFhaUlWSUE4Z0JrR01JR3dnRW10cUlnOXFRUXQxTmdJQUlBVWdEeUFWYTBFTGRUWUN3QUlnQlNBVElBdEJsSTBCYkdvZ0ZHb2dDV29pQ1NBUklBcEJna1JzYWlJUElBWkJqSFZzSUExQjhodHNJZzFyYWlJU2FrRUxkVFlDWUNBRklCSWdDV3RCQzNVMkFxQUNJQVVnQ0VHV1ltd2dGMEhWRld3Z0J5QUlhMEdDUEd4cUlnZ2dEa0d6Rkd4cWFpSU9JQThnRFNBR1FjdE1iR3BxSWcxcVFRdDFOZ0tBQVNBRklBMGdEbXRCQzNVMkFvQUNJQVVnQ0NBSFFjNFliR29nQzBHL2tIOXNhaUlJSUJnZ0dpQUdRZTZ2ZjJ4cWFpSUhha0VMZFRZQ29BRWdCU0FISUFoclFRdDFOZ0xnQVNBRklCRWdDaUFHYTBIQjJnQnNha0VMZFRZQ3dBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnREVFQmFpSU1RUWhIRFFBTElCeEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0VDSU1JQUFvQWhnaUNHb2hDeUFBS0FJRUlnY2dBQ2dDRENJR2FrSFExQUJzSVFvZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pRFNBTUlBaHJJaEZCbVFac2FpSUpJQXRCK2NrQWJDSVFJQUFvQWdnaURFSHgxd0JzYW1vaUR5QUhJQUFvQWh3aURtb2lFa0dDUEd3aUV5QUhJQUFvQWhRaUNHcEJ2c29BYkNJWElBb2dCMEhiL241c2FtcHFJaFJxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0ZHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdEU0FSUVpVZmJHb2lEeUFNUWVEREFHd2dDMEdnRkd3aUZHdHFJaFVnQmlBT2FrSEN0WDlzSWhZZ0JpQUlha0dyYW13aUdDQUtJQVpCeXpWc2FtcHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJVZ0NtdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDU0FNUVl3Z2JDQVFhMm9pQ2lBSUlBNXFRZmhWYkNJSklCY2dHQ0FJUWJHYmYyeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NpQVFhMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFOSUJGQmdrUnNhaUlLSUF4QmpIVnNJQXRCOGh0c0lndHJhaUlRSUJNZ0ZpQU9RWlNOQVd4cWFpQUphaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBUUlBbHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQW9nQ3lBTVFjdE1iR3BxSWdzZ0JrR1dZbXdnRWtIVkZXd2dDQ0FHYTBHQ1BHeHFJZ1lnQjBHekZHeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTElBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQThnRkNBTVFlNnZmMnhxYWlJSElBWWdDRUhPR0d4cUlBNUJ2NUIvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCRWdER3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUTFIRFFBTElCa2tCZ3ZDQ2dFWmZ5TUdJUm9qQmtIQUEyb2tCaUFBS0FMUUFpRWRJQm9pQUNFRklBRW9BbFFoQVFOQUlBSXVBWEFnQVNnQzRBRnNJaFpCRFhRaUNTQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2lERUhTekFCc0loRWdCaUFDTGdFd0lBRW9BbUJzSWdwcVFiZlZBR3dpRWlBR1FmQzNmMnhxYW1vaEN5QUdJQXBySWhOQjhoMXNJQWxySWhnZ0RFR1VNR3dpRnlBR1FZdThmMnhxYWlFUUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSU1RY2JSQUd4cUloUWdBaTRCSUNBQlFVQnJLQUlBYkNJTklBSXVBV0FnQVNnQ3dBRnNJZzVxUWVMR0FHd2lGU0FOUWIwUmJHb2lHMm9pR1NBTGFrRUxkVFlDQUNBRklCa2dDMnRCQzNVMkFxQURJQVVnQnlBS2FrSHZkV3dnQ1dzaUN5QUtRZTVrYkNBU2Ftb2lFaUFHSUF4QmtoUnNhaUlaSUJVZ0RrSDhrWDlzYWlJVmFpSWNha0VMZFRZQ0lDQUZJQndnRW10QkMzVTJBb0FESUFWQlFHc2dDeUFIUVlub2Ztd2dFV3BxSWdzZ0JpQU1RY2xIYkdvaUVTQU5RYU1uYkNBT1FlR25mMnhxSWcxcUlnNXFRUXQxTmdJQUlBVWdEaUFMYTBFTGRUWUM0QUlnQlNBVElBZHJJQlpxUVFKMElnc2dCaUFNUWI2bGYyeHFRUXQxSWdacU5nSmdJQVVnQmlBTGF6WUN3QUlnQlNBSElBcHJRZmpaQUd3aUJpQUhRZWFUZjJ4cUlCZHFJQWxxSWdjZ0VTQU5heUlKYWtFTGRUWUNnQUVnQlNBSklBZHJRUXQxTmdLZ0FpQUZJQVlnQ2tHWksyeHFJQmhxSWdjZ0dTQVZheUlLYWtFTGRUWUNvQUVnQlNBS0lBZHJRUXQxTmdLQUFpQUZJQlFnRzJzaUJ5QVFha0VMZFRZQ3dBRWdCU0FISUJCclFRdDFOZ0xnQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUlRUUZxSWdoQkNFY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUljUVExMElnb2dBQ2dDQkNJRklBQW9BaFFpQ0dvaUJrSFN6QUJzSWc0Z0JTQUFLQUlNSWdkcVFiZlZBR3dpRHlBRlFmQzNmMnhxYW1vaERDQUZJQWRySWhGQjhoMXNJQXBySWhJZ0JrR1VNR3dpRmlBRlFZdThmMnhxYWlFTElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFQ0lKUWNiUkFHeHFJaGNnQUNnQ0NDSVFJQUFvQWhnaURXcEI0c1lBYkNJVElCQkJ2UkZzYWlJWWFpSVVJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJRZ0RHdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCaUFKUVpJVWJHb2lEQ0FUSUExQi9KRi9iR29pRTJvaUZDQUhJQWhxUWU5MWJDQUtheUlWSUE4Z0IwSHVaR3hxYWlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVVJQTlyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUFZZ0NVSEpSMnhxSWc4Z0VFR2pKMndnRFVIaHAzOXNhaUlRYWlJTklCVWdEaUFJUVlub2ZteHFhaUlPYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBNXJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQVlnQ1VHK3BYOXNhaUlHSUFvZ0VTQUlhMEVOZEdvaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBUElCQnJJZ1lnRmlBSUlBZHJRZmpaQUd3aUNTQUtJQWhCNXBOL2JHcHFhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBR0lBaHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQXdnRTJzaUNDQVNJQWtnQjBHWksyeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSUlBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQmNnR0dzaUNDQUxha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFJSUF0clFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRU9SdzBBQ3lBYUpBWUxuZ3NCRzM4akJpRWRJd1pCNEFOcUpBWWdBQ2dDMEFJaEh5QWRJZ0FoQlNBQktBSlVJUUVEUUNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJTElBSXVBV0FnQVNnQ3dBRnNJZ2hCaEdSc2FpRVJJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJVGF5RUhJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCY0NBQktBTGdBV3dpRFdzaUZtcEJtalZzSWhjZ0JrSHhJR3hxSVFrZ0FTZ0NvQUVnQWk0QlVFR3h6Z0JzYkNJT0lBWWdEV3NpR0VHQzJnQnNhaUlQSUExQm81MEJiQ0FLUWZhcGYyd2lHV3RxSVJJZ0R5QUtRZVpLYkNJYUlBWkI1N2gvYkdwcUlRb2dCU0FTSUFzZ0NFR2R5UUJzYWlJUElBd2dFMm9pRTBITzFRQnNJaFFnQjBIMkFtd2lHMnBxSWh4cVFRdDFOZ0lBSUFVZ0hDQVNhMEVMZFRZQ3dBTWdCU0FSSUJOQnpESnNJaElnQjBIUUZtd2lIR3BxSWg0Z0NXcEJDM1UyQWlBZ0JTQWVJQWxyUVF0MU5nS2dBeUFGUVVCcklCaEJzYzRBYkNBT2F5SUpJQXNnQ0VHK3BYOXNhaUlMSUFkQm9DMXNhaUlJYWtFTGRUWUNBQ0FGSUFnZ0NXdEJDM1UyQW9BRElBVWdCaUFOYWtIb0pHd2lDQ0FHUWJrZWJDQWFhaUFPYTJvaUJpQVJJQnNnREVHVDNBQnNJZ3dnRkd0cWFpSUpha0VMZFRZQ1lDQUZJQWtnQm10QkMzVTJBdUFDSUFVZ0hDQVBJQkpyYWlJR0lCY2dGa0hjOUg1c2FpSUpha0VMZFRZQ2dBRWdCU0FHSUFsclFRdDFOZ0xBQWlBRklBZ2dEaUFaYWlBTlFhOUliR3BxSWdZZ0IwRzVabXdpRFNBUElCTkJnaU5zSWc1cmFpSUlha0VMZFRZQ29BRWdCU0FJSUFaclFRdDFOZ0tnQWlBRklBb2dFU0FOSUE0Z0RHdHFhaUlHYWtFTGRUWUN3QUVnQlNBR0lBcHJRUXQxTmdLQUFpQUZJQXNnQjBIQXBYOXNha0VMZFRZQzRBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnRUVFQmFpSVFRUWhIRFFBTElCOUJnSDFxSVFKQkFDRUJBMEFnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEaUFBS0FJWUlndEJoR1JzYWlFTklBQW9BZ2dpQ0NBQUtBSVFJZzlySVJBZ0FDZ0NCQ0lISUFBb0Fnd2lCU0FBS0FJY0lnWnJJaE5xUVpvMWJDSVZJQWRCOFNCc2FpRU1JQUFvQWhSQnNjNEFiQ0lSSUFjZ0Jtc2lGa0dDMmdCc2FpSUpJQVpCbzUwQmJDQUZRZmFwZjJ3aUYydHFJUW9nQ1NBRlFlWktiQ0lZSUFkQjU3aC9iR3BxSVFrZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0RpQUxRWjNKQUd4cUloSWdDQ0FQYWlJUFFjN1ZBR3dpR1NBUVFmWUNiQ0lhYW1vaUZDQUtha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFVSUFwclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBMGdEMEhNTW13aUNpQVFRZEFXYkNJVWFtb2lHeUFNYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBYklBeHJRUkoyUWY4SGNXb3NBQUE2QUEwZ0JTQUNJQTRnQzBHK3BYOXNhaUlPSUJCQm9DMXNhaUlMSUJaQnNjNEFiQ0FSYXlJTWFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQXhyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUEwZ0dpQUlRWlBjQUd3aUN5QVphMnBxSWdnZ0JpQUhha0hvSkd3aURDQVlJQWRCdVI1c2FpQVJhMm9pQjJwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NDQUhhMEVTZGtIL0IzRnFMQUFBT2dBTElBVWdBaUFVSUJJZ0NtdHFJZ2NnRlNBVFFkejBmbXhxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRUVHNVptd2lCeUFTSUE5QmdpTnNJZ2hyYWlJS0lBd2dFU0FYYWlBR1FhOUliR3BxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBb2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBSElBZ2dDMnRxYWlJSElBbHFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0RpQVFRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRVBSdzBBQ3lBZEpBWUwyd3dCSG44akJpRWdJd1pCZ0FScUpBWWdBQ2dDMEFJaElpQWdJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRWdJQUZCUUdzb0FnQnNJaEFnQWk0QllDQUJLQUxBQVd3aUQyc2lFVUhVRVd3aERDQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2hDaUFHSUFJdUFYQWdBU2dDNEFGc0lnMXFRZnpGQUd3aUZ5QUtRZW5QQUd3aUV5QUdJQUl1QVRBZ0FTZ0NZR3dpQ0dwQnp0WUFiQ0lMSUFaQjF1MStiR3BxYWlFT0lBWWdEV3RCdGpsc0loa2dDa0hWS213aUdDQUdJQWhyUWFNYWJDSVNJQVpCd29wL2JHcHFhaUVLSUFnZ0RXb2lCa0dyVld3aUdpQUhJQWhxUWZBSWJDSVVJQWhCelFSc0lBdHFhbW9oQ3lBR1FaZXdmMndpR3lBSElBaHJRWW5hQUd3aUhDQUlRWnIrQUd3Z0VtcHFhaUVJSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJU1FjL1RBR3dpSFdvaUZTQVJRZVBZQUd3aUVTQVBRWU9rQVd4cUloNXFJaDhnRG1wQkMzVTJBZ0FnQlNBZklBNXJRUXQxTmdMZ0F5QUZJQXNnQmlBU1FkRWliQ0lPYWlJU0lBd2dFRUhOT1d4cUloOXFJaUZxUVF0MU5nSWdJQVVnSVNBTGEwRUxkVFlDd0FNZ0JVRkFheUFISUExcVFiS3BmMndpQ3lBVUlBZEIrcmQvYkdvZ0UycHFJaE1nQmlBT2F5SU9JQkVnRUVIQ1dXeHFJaEJxSWhGcVFRdDFOZ0lBSUFVZ0VTQVRhMEVMZFRZQ29BTWdCU0FhSUExQm1NUUFiR29nRjJvZ0Myb2lDeUFHSUIxcklnWWdEQ0FQUWJCZmJHb2lEMm9pREdwQkMzVTJBbUFnQlNBTUlBdHJRUXQxTmdLQUF5QUZJQnNnRFVHRnlRRnNhaUFaYWlBTklBZHJRYU1hYkNJTmFpSU1JQVlnRDJzaUJtcEJDM1UyQW9BQklBVWdCaUFNYTBFTGRUWUM0QUlnQlNBY0lBZEIrazVzYWlBWWFpQU5haUlHSUE0Z0VHc2lCMnBCQzNVMkFxQUJJQVVnQnlBR2EwRUxkVFlDd0FJZ0JTQUlJQklnSDJzaUJtcEJDM1UyQXNBQklBVWdCaUFJYTBFTGRUWUNvQUlnQlNBS0lCVWdIbXNpQm1wQkMzVTJBdUFCSUFVZ0JpQUthMEVMZFRZQ2dBSWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUWhIRFFBTElDSkJnSDFxSVFKQkFDRUJBMEFnQUNnQ0NDSU5JQUFvQWhnaUNHc2lDMEhVRVd3aEVDQUFLQUlFSWdVZ0FDZ0NGQ0lKYWlFUElBVWdBQ2dDSENJR2FrSDh4UUJzSWhZZ0QwSHB6d0JzSWhFZ0JTQUFLQUlNSWdkcVFjN1dBR3dpQ2lBRlFkYnRmbXhxYW1vaERDQUZJQVpyUWJZNWJDSVhJQTlCMVNwc0loTWdCU0FIYTBHakdtd2lEaUFGUWNLS2YyeHFhbW9oRHlBR0lBZHFJZ1ZCcTFWc0loZ2dCeUFKYWtId0NHd2lFaUFLSUFkQnpRUnNhbXBxSVFvZ0JVR1hzSDlzSWhrZ0NTQUhhMEdKMmdCc0lob2dEaUFIUVpyK0FHeHFhbW9oRGlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlGRUhQMHdCc0lodHFJaHdnQzBIajJBQnNJZ3NnQ0VHRHBBRnNhaUlkYWlJVklBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlVnREd0QkVuWkIvd2R4YWl3QUFEb0FEeUFGSUFJZ0J5QVVRZEVpYkNJTWFpSVVJQkFnRFVITk9XeHFJaFZxSWg0Z0NtcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdIaUFLYTBFU2RrSC9CM0ZxTEFBQU9nQU9JQVVnQWlBSElBeHJJZ3dnQ3lBTlFjSlpiR29pRFdvaUNpQUdJQWxxUWJLcGYyd2lDeUFSSUJJZ0NVSDZ0MzlzYW1wcUloRnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQW9nRVd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0J5QWJheUlISUJBZ0NFR3dYMnhxSWdocUloQWdGaUFZSUFaQm1NUUFiR3BxSUF0cUlncHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQkFnQ210QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUlheUlISUJjZ0dTQUdRWVhKQVd4cWFpQUdJQWxyUWFNYWJDSUdhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBaHJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQXdnRFdzaUJ5QVRJQm9nQ1VINlRteHFhaUFHYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUJRZ0ZXc2lDU0FPYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSklBNXJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQndnSFdzaUNTQVBha0VTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFKSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBZ0pBWUw3Z3NCSEg4akJpRVhJd1pCZ0FKcUpBWWdBQ2dDMEFJaElDQVhJZ0FoQlNBQktBSlVJUUZCQ0NFSUEwQUNmd0pBSUFJdUFSQWlDaUFDTGdFZ0lnWnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VHREFJRklBSkJRR3N1QVFBRWYwRUFJUVlNQXdVZ0FpNEJVQVIvUVFBaEJnd0VCU0FDTGdGZ0JIOUJBQ0VHREFVRklBSXVBWEFFZjBFQUlRWU1CZ1VnQlNBQktBSUFJQUl1QVFCQkFuUnNJZ1kyQWdBZ0JTQUdOZ0lnSUFWQlFHc2dCallDQUNBRklBWTJBbUFnQlNBR05nS0FBU0FGSUFZMkFxQUJJQVVnQmpZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSElBSXVBVEFnQVNnQ1lHd2lEV29pQ3lBQ0xnRlFJQUVvQXFBQmJDSU1JQW9nQVNnQ0lHd2lDbW9pQ1dwQm9jc0FiQ0lQSUF0QnU0Si9iR29pQ3lBSElBcHFRYk5HYkNJT0lBZEJqaE5zYW1vaEJ5QVBJQWxCaEdkc2FpSUpJQTRnQ2tHTDRBQnNhbW9oQ2lBSklBd2dEV3BCL2R0K2JDSUpJQXhCczRNQmJHcHFJUXdnQlNBS0lBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnOGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlEbW9pRWlBQlFVQnJLQUlBSUFaQkVIUkJFSFZzSWdZZ0FpNEJZQ0FCS0FMQUFXd2lFV3BCMFNKc0loTWdCa0grTUd4cUlnWnFJaFJxUVF0MU5nSUFJQVVnRkNBS2EwRUxkVFlDNEFFZ0JTQUxJQWtnRFVIVXhBRnNhbW9pRFNBT0lBOXJJZ29nRXlBUlFkK0pmMnhxSWd0cUlnbHFRUXQxTmdJZ0lBVWdDU0FOYTBFTGRUWUN3QUVnQlVGQWF5QU1JQW9nQzJzaURXcEJDM1UyQWdBZ0JTQU5JQXhyUVF0MU5nS2dBU0FGSUFjZ0VpQUdheUlHYWtFTGRUWUNZQ0FHSUFkclFRdDFJUVpCSUF0QkFuUWdCV29nQmpZQ0FDQUZRUVJxSVFVZ0FVRUVhaUVCSUFKQkFtb2hBaUFJUVg5cUlRWWdDRUVCU3dSQUlBWWhDQXdCQ3dzZ0lFR0FmV29oQWtFQUlRRURRQ0FBS0FJSUlnMGdBQ2dDR0NJTWF5SU9RZFFSYkNFS0lBQW9BZ1FpQlNBQUtBSVVJZ2hxSVJBZ0JTQUFLQUljSWdacVFmekZBR3dpRWlBUVFlblBBR3dpRVNBRklBQW9BZ3dpQjJwQnp0WUFiQ0lKSUFWQjF1MStiR3BxYWlFTElBVWdCbXRCdGpsc0loTWdFRUhWS213aUZDQUZJQWRyUWFNYWJDSVBJQVZCd29wL2JHcHFhaUVRSUFZZ0Iyb2lCVUdyVld3aUdDQUhJQWhxUWZBSWJDSVpJQWtnQjBITkJHeHFhbW9oQ1NBRlFaZXdmMndpR2lBSUlBZHJRWW5hQUd3aUd5QVBJQWRCbXY0QWJHcHFhaUVQSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ2NnQUNnQ0VDSVZRYy9UQUd3aUhHb2lIU0FPUWVQWUFHd2lEaUFNUVlPa0FXeHFJaDVxSWhZZ0MycEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGaUFMYTBFU2RrSC9CM0ZxTEFBQU9nQVBJQVVnQWlBSElCVkIwU0pzSWd0cUloVWdDaUFOUWMwNWJHb2lGbW9pSHlBSmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWZJQWxyUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUFjZ0Myc2lDeUFPSUExQndsbHNhaUlOYWlJSklBWWdDR3BCc3FsL2JDSU9JQkVnR1NBSVFmcTNmMnhxYW1vaUVXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDU0FSYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElCeHJJZ2NnQ2lBTVFiQmZiR29pREdvaUNpQVNJQmdnQmtHWXhBQnNhbW9nRG1vaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQU1JQVVnQWlBSElBeHJJZ2NnRXlBYUlBWkJoY2tCYkdwcUlBWWdDR3RCb3hwc0lnWnFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0RHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDeUFOYXlJSElCUWdHeUFJUWZwT2JHcHFJQVpxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRlNBV2F5SUlJQTlxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFnZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdIU0FlYXlJSUlCQnFRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnRUd0QkVuWkIvd2R4YWl3QUFEb0FDQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJja0JndlRFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFGQkFoQTVJUXdnQWtFQ0VEa2hEaUFFS0FJQUlnY2hBaUFNSUE1QmYyb2lFR3hCQVhRZ0Iyb2hCUU5BSUFZZ0RFZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQmtFQmFpRUdEQUVMQ3lBSElRSWdERUYvYWlJUlFRRjBJQWRxSVFWQkFDRUdBMEFnQmlBT1NBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RFRUJkQ0FDYWlFQ0lBeEJBWFFnQldvaEJTQUdRUUZxSVFZTUFRc0xJQVJCa0lESUFHb2hBa0VBSUF4cklSSWdBQ0FCUVFGMFFRSnFhaUVOUVFFaEMwRUFJUVVnREVFQmFrRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBQWtBZ0VrRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFMTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nQ3pZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTElBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUN5QU5RUUpxSVEwZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU5ha0VFYWlFTklBdEJBV29oQ3lBQUlRVWdCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJR1JnUkFJQUJCQVdvaEFRVWdBQ0VCSUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRERZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEallDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF2YUNBRVdmeU1HSVJnakJrSGdBV29rQmlBQUtBTFFBaUVhSUJnaUFDRUZJQUVvQWxRaEFRTkFJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZ2dBaTRCWUNBQktBTEFBV3dpQ1d0QnR6aHNJZ3dnQWk0QklDQUJRVUJyS0FJQWJDSUhJQWhyUVpJVWJDSVNJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ29nQ0VHVmluOXNhbXBxSVEwZ0FpNEJFQ0FCS0FJZ2JDSU9JQUl1QVRBZ0FTZ0NZR3dpQzJwQjd6dHNJaE1nRGlBTGEwSHpDbXdpRkdvZ0N5QUNMZ0ZRSUFFb0FxQUJiQ0lMYWtIaHAzOXNJaFZxSVE4Z0JTQUtJQWNnQ1dvaUVVSEcwUUJzYWlJV0lBd2dDVUdEZTJ4cWFpSUpJQXNnRG1wQm95ZHNJZzRnRXlBVWEyb2lER3BCQzNVMkFnQWdCU0FKSUF4clFRdDFOZ0xBQVNBRklBMGdEMnBCQzNVMkFpQWdCU0FOSUE5clFRdDFOZ0tnQVNBRlFVQnJJQllnRWlBSFFmSGhmbXhxYWlJSklCVWdEaUFMUWQ3M0FHeHFhaUlIYWtFTGRUWUNBQ0FGSUFrZ0IydEJDM1UyQW9BQklBVWdDaUFJSUJGclFjSGFBR3hxUVF0MU5nSmdJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFaQkFXb2lCa0VJUncwQUN5QWFRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoeEJEWFFpQ1NBQUtBSUVJZ1VnQUNnQ0ZDSUdhaUlIUWRMTUFHd2lFQ0FGSUFBb0Fnd2lDR3BCdDlVQWJDSU1JQVZCOExkL2JHcHFhaUVOSUFVZ0NHc2lFMEh5SFd3Z0NXc2lGQ0FIUVpRd2JDSVNJQVZCaTd4L2JHcHFJUTRnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUUlncEJ4dEVBYkdvaUZTQUFLQUlJSWdzZ0FDZ0NHQ0lQYWtIaXhnQnNJaEVnQzBHOUVXeHFJaFpxSWhjZ0RXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElBcEJraFJzYWlJTklCRWdEMEg4a1g5c2FpSVJhaUlYSUFZZ0NHcEI3M1ZzSUFsckloa2dEQ0FJUWU1a2JHcHFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJjZ0RHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFLUWNsSGJHb2lEQ0FMUWFNbmJDQVBRZUduZjJ4cUlndHFJZzhnR1NBUUlBWkJpZWgrYkdwcUloQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQThnRUd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0J5QUtRYjZsZjJ4cUlnY2dDU0FUSUFaclFRMTBhaUlLYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSElBcHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQXdnQzJzaUJ5QVNJQVlnQ0d0QitOa0FiQ0lLSUFrZ0JrSG1rMzlzYW1wcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQVJheUlHSUJRZ0NpQUlRWmtyYkdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQVlnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0ZTQVdheUlHSUE1cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBWWdEbXRCRW5aQi93ZHhhaXdBQURvQUJ5QUFRU0JxSVFBZ0FVRUJhaUlCUVFkSERRQUxJQmdrQmd1UkJ3RVZmeU1HSVJRakJrSEFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ0NBQktBS0FBU0FDUVVCckxnRUFRYUV0Ykd3aURHb2lEU0FCUVVCcktBSUFJQUl1QVNCQnNjNEFiR3dpRVdvaUNpQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUMycEJ0aGRzSWc0Z0JpQUNMZ0V3SUFFb0FtQnNJZ2RxUVExMGFpSVNha0VMZFRZQ0FDQUZJQW9nRW10QkMzVTJBcUFCSUFVZ0NDQU1RWDVzYWtFTGRTSUlJQVlnQjJzZ0MydEJBblFpQm1vMkFpQWdCU0FJSUFack5nS0FBU0FGUVVCcklBMGdFV3NpQmlBT0lBc2dCMnRCRFhScUlndHFRUXQxTmdJQUlBVWdCaUFMYTBFTGRUWUNZQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSlFRRnFJZ2xCQ0VjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlHSUFBb0FoQkJzYzRBYkNJT2FpRVFJQUFvQWdnaUNFRU5kQ0FBS0FJWVFRMTBJZ3hySWhJZ0Jtb2hEU0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdEQ0FJUWJiWEFHeHFJaFVnRUdvaUR5QUFLQUljSWdrZ0FDZ0NCQ0lMSUFBb0FoUWlCMm9pQ21wQmpUZHNJaEVnQ2tIYkVHeHFJaFlnQUNnQ0RDSUtRYy9UQUd3aUZ5QUxRZmNSYkdwcUloTnFRUkoyUWY4SGNTQUNhaXdBQURvQUFDQUZJQThnRTJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FMSUFVZ0RTQUxJQWxySWc4Z0NpQUhheUlUYWtIUkltd2lHQ0FQUWY0d2JHb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUJJQVVnRFNBUGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFvZ0JTQUlRYllYYkNBTWF5SUlJQVlnRG1zaURHb2lEU0FXSUFjZ0NXcEJpNzEvYkNJT0lBcEJyMTFzSWdvZ0IwR3dvWDlzYW1wcUlnZHFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQTBnQjJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FKSUFVZ0RDQUlheUlISUE0Z0VTQUpRY2JsQUd3Z0YydHFhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSElBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUNDQUZJQVlnRW1zaUJpQVlJQk5CMzRsL2JHb2lCMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUVJQVVnQmlBSGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFjZ0JTQVFJQlZySWdZZ0VTQUtJQXRCM0ZSc2FpQUpRWXlCZjJ4cWFpSUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUVpIRFFBTElCUWtCZ3VjQmdFU2Z5TUdJUlFqQmtHZ0FXb2tCaUFBS0FMUUFpRVdJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBaTRCSUNBQlFVQnJLQUlBYkNJSklBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdacVFjd3liQ0lLSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWc0Z0NTQUdheUlKUWRBV2JHb2lCbW9pQ3lBQ0xnRVFJQUVvQWlCc0lnd2dBaTRCTUNBQktBSmdiQ0lQYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER3BCQzNVMkFnQWdCU0FMSUF4clFRdDFOZ0tBQVNBRklBWWdDbXNpQmlBTklBOUIzUFIrYkdvaUNtcEJDM1UyQWlBZ0JTQUdJQXByUVF0MU5nSmdJQVZCUUdzZ0RpQUpRY0NsZjJ4cVFRdDFOZ0lBSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBZEJBV29pQjBFSVJ3MEFDeUFXUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ3dpQnlBQUtBSWNJZ1pxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFBb0FoUkJEWFFpQ1NBSElBWnJJZ1pCNHhOc0lndHFJZ3dnQ0VIdlBHd2lEeUFBS0FJRUlnZEJzOWtBYkdwcUlnMGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUNpQUFLQUlRSWc1Qm5ja0FiR29pRlNBQUtBSUlJaEFnQUNnQ0dDSVJha0dhTld3aUVpQVFRZkVnYkdvaUVHb2lFMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRXlBTmEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFrZ0JTQUhRZFBRQUd3Z0NFSFBKV3dpQ0dzZ0NTQUxheUFHUVF4MGF5SUxheUlOSUFvZ0RrR0VaR3hxSWhNZ0VpQVJRZHowZm14cUloRnFJaEpxUVJKMlFmOEhjU0FDYWl3QUFEb0FBU0FGSUJJZ0RXdEJFblpCL3dkeElBSnFMQUFBT2dBSUlBVWdCeUFHYTBFTmRDQUpheUlKSUFvZ0RrRytwWDlzYWlJR2FrRVNka0gvQjNFZ0Ftb3NBQUE2QUFJZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCeUFGSUJNZ0VXc2lDU0FMSUFkQmpDbHNJQWhyYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUpJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFGSUF3Z0IwR1VEbXdnRDJ0cUlnY2dGU0FRYXlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFRZ0JTQUlJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCU0FBUVNCcUlRQWdBVUVCYWlJQlFRVkhEUUFMSUJRa0JndkJEQUVRZnlNR0lRNGpCa0dBQVdva0JpQUFLQUxRQWlFVUlBNGlBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHd2lCU0FDTGdFZ0lBRkJRR3NvQWdCc0lnZHFRUUowSWdnZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVRBZ0FTZ0NZR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQUNBQUlBZ2dCbXMyQW1BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWdJQUJCUUdzZ0JTQUhhellDQUNBQUlBSXVBUUlnQVNnQ0JHd2lCU0FDTGdFaUlBRW9Ba1JzSWdkcVFRSjBJZ2dnQWk0QkVpQUJLQUlrYkNJR0lBSXVBVElnQVNnQ1pHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNCQ0FBSUFnZ0JtczJBbVFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJa0lBQWdCU0FIYXpZQ1JDQUFJQUl1QVFRZ0FTZ0NDR3dpQlNBQ0xnRWtJQUVvQWtoc0lnZHFRUUowSWdnZ0FpNEJGQ0FCS0FJb2JDSUdJQUl1QVRRZ0FTZ0NhR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQ0NBQUlBZ2dCbXMyQW1nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSW9JQUFnQlNBSGF6WUNTQ0FBSUFJdUFRWWdBU2dDREd3aUJTQUNMZ0VtSUFFb0FreHNJZ2RxUVFKMElnZ2dBaTRCRmlBQktBSXNiQ0lHSUFJdUFUWWdBU2dDYkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0RDQUFJQWdnQm1zMkFtd2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lzSUFBZ0JTQUhhellDVENBQUlBSXVBUWdnQVNnQ0VHd2lCU0FDTGdFb0lBRW9BbEJzSWdkcVFRSjBJZ2dnQWk0QkdDQUJLQUl3YkNJR0lBSXVBVGdnQVNnQ2NHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNFQ0FBSUFnZ0JtczJBbkFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJd0lBQWdCU0FIYXpZQ1VDQUFJQUl1QVFvZ0FTZ0NGR3dpQlNBQ0xnRXFJQUVvQWxSc0lnZHFRUUowSWdnZ0FpNEJHaUFCS0FJMGJDSUdJQUl1QVRvZ0FTZ0NkR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRkNBQUlBZ2dCbXMyQW5RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTBJQUFnQlNBSGF6WUNWQ0FBSUFJdUFRd2dBU2dDR0d3aUJTQUNMZ0VzSUFFb0FsaHNJZ2RxUVFKMElnZ2dBaTRCSENBQktBSTRiQ0lHSUFJdUFUd2dBU2dDZUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0dDQUFJQWdnQm1zMkFuZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0k0SUFBZ0JTQUhhellDV0NBQUlBSXVBUTRnQVNnQ0hHd2lCU0FDTGdFdUlBRW9BbHhzSWdkcVFRSjBJZ2dnQWk0QkhpQUJLQUk4YkNJR0lBSXVBVDRnQVNnQ2ZHd2lBV3BCMFNKc1FZQUlhaUlDSUFaQi9qQnNha0VMZFNJR2FqWUNIQ0FBSUFnZ0JtczJBbndnQUNBRklBZHJRUUowSWdVZ0FpQUJRZCtKZjJ4cVFRdDFJZ0ZxTmdJOElBQWdCU0FCYXpZQ1hDQVVRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lDeUFBS0FJTUlnVnFJZ1lnQUNnQ0ZDSUhJQUFvQWdRaUNHb2lDbXBCb2NzQWJDSUpJQVpCdTRKL2JHb2lEeUFJSUF0cVFiTkdiQ0lNSUF0QmpoTnNhbW9oQmlBSklBcEJoR2RzYWlJTElBd2dDRUdMNEFCc2Ftb2hDQ0FMSUFVZ0IycEIvZHQrYkNJS0lBZEJzNE1CYkdwcUlRY2dCQ0FCUVFKMElBTnFLQUlBYWlJTElBSWdBQ2dDQUVHUWdBRnFJZ2tnQUNnQ0VDSU1ha0VOZENJUUlBQW9BZ2dpRFNBQUtBSVlJaEZxUWRFaWJDSVNJQTFCL2pCc2FpSU5haUlUSUFocVFSSjJRZjhIY1dvc0FBQTZBQUFnQ3lBQ0lCTWdDR3RCRW5aQi93ZHhhaXdBQURvQUJ5QUxJQUlnQ1NBTWEwRU5kQ0lJSUJJZ0VVSGZpWDlzYWlJSmFpSU1JQThnQ2lBRlFkVEVBV3hxYWlJRmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFzZ0FpQU1JQVZyUVJKMlFmOEhjV29zQUFBNkFBWWdDeUFDSUFnZ0NXc2lCU0FIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQXNnQWlBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0N5QUNJQkFnRFdzaUJTQUdha0VTZGtIL0IzRnFMQUFBT2dBRElBc2dBaUFGSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUVSdzBBQ3lBT0pBWUwrUW9CQzM4akJpRUZJd1pCMEFCcUpBWWdBQ2dDMEFJaEN5QUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUlhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRUWUNBQ0FGSUFFZ0FHdEJDM1UyQWpBZ0JTQUhJQWhCZm14cVFRdDFOZ0lZSUFVZ0JpZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUJ5QUdLQUpFSUFJdUFTSkJvUzFzYkNJSWFpSUJJQVlvQWlRZ0FpNEJFa0d4emdCc2JDSUFha0VMZFRZQ0JDQUZJQUVnQUd0QkMzVTJBalFnQlNBSElBaEJmbXhxUVF0MU5nSWNJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQnlBR0tBSklJQUl1QVNSQm9TMXNiQ0lJYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkVFlDQ0NBRklBRWdBR3RCQzNVMkFqZ2dCU0FISUFoQmZteHFRUXQxTmdJZ0lBVWdCaWdDRENBQ0xnRUdRUTEwYkVHQUNISWlCeUFHS0FKTUlBSXVBU1pCb1Mxc2JDSUlhaUlCSUFZb0Fpd2dBaTRCRmtHeHpnQnNiQ0lBYWtFTGRUWUNEQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUhJQWhCZm14cVFRdDFOZ0lrSUFVZ0JpZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUJ5QUdLQUpRSUFJdUFTaEJvUzFzYkNJSWFpSUJJQVlvQWpBZ0FpNEJHRUd4emdCc2JDSUFha0VMZFRZQ0VDQUZRVUJySUFFZ0FHdEJDM1UyQWdBZ0JTQUhJQWhCZm14cVFRdDFOZ0lvSUFVZ0JpZ0NGQ0FDTGdFS1FRMTBiRUdBQ0hJaUJ5QUdLQUpVSUFJdUFTcEJvUzFzYkNJSWFpSUJJQVlvQWpRZ0FpNEJHa0d4emdCc2JDSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBa1FnQlNBSElBaEJmbXhxUVF0MUlnODJBaXdnQkNBREtBSUFhaUlPSUF0QmdIMXFJZ2tnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lDeUFGS0FJUVFhRXRiQ0lNYWlJSElBVW9BZ2hCc2M0QWJDSUlhaUlCSUFVb0FnUWlDaUFGS0FJVUlnMXFRYllYYkNJQ0lBb2dCU2dDRENJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FPSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBNGdDU0FMSUF4cklBeHJJZ0VnQ2lBR2F5QU5hMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUE0Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEaUFKSUFjZ0NHc2lBU0FDSUEwZ0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRGlBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdScUlnd2dDU0FGS0FJWVFRMTBRWUNBaU1BQWFpSUxJQVVvQWloQm9TMXNJZ3BxSWdjZ0JTZ0NJRUd4emdCc0lnaHFJZ0VnRHlBRktBSWNJZzFxUWJZWGJDSUNJQTBnQlNnQ0pDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBTUlBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQXdnQ1NBTElBcHJJQXBySWdFZ0RTQUdheUFQYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBd2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRENBSklBY2dDR3NpQVNBQ0lBOGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RDQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnaHFJZ29nQ1NBRktBSXdRUTEwUVlDQWlNQUFhaUlJSUFWQlFHc29BZ0JCb1Mxc0lnMXFJZ1FnQlNnQ09FR3h6Z0JzSWdOcUlnRWdCU2dDTkNJR0lBVW9Ba1FpQzJwQnRoZHNJZ0lnQmlBRktBSThJZ2RxUVExMGFpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBb2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVVnQ2lBSklBZ2dEV3NnRFdzaUFTQUdJQWRySUF0clFRMTBJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBS0lBa2dCQ0FEYXlJQklBSWdDeUFIYTBFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFpQUtJQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFVa0JndUxCQUVLZnlNR0lRVWpCa0VnYWlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlCaWdDQUd3aUFTQUNMZ0VRSUFZb0FpQnNJZ0JxSWdnMkFnQWdCU0FCSUFCck5nSVFJQVVnQWk0QkFpQUdLQUlFYkNJQklBSXVBUklnQmlnQ0pHd2lBR29pQ2pZQ0JDQUZJQUVnQUdzaUN6WUNGQ0FGSUFJdUFRUWdCaWdDQ0d3aUFTQUNMZ0VVSUFZb0FpaHNJZ0JxSWd3MkFnZ2dCU0FCSUFCcklnMDJBaGdnQlNBQ0xnRUdJQVlvQWd4c0lnRWdBaTRCRmlBR0tBSXNiQ0lBYWlJT05nSU1JQVVnQVNBQWF5SUdOZ0ljSUFRZ0F5Z0NBR29pQ1NBSFFZQjlhaUlISUF3Z0NFR0VJR29pQ0dwQkRYUWlBU0FLSUE1cVFkRWliQ0lDSUFwQi9qQnNhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQWtnQnlBQklBQnJRUkIyUWY4SGNXb3NBQUE2QUFNZ0NTQUhJQWdnREd0QkRYUWlBU0FDSUE1QjM0bC9iR29pQUdwQkVIWkIvd2R4YWl3QUFEb0FBU0FKSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJDQUZLQUlRUVlRZ2FpSURJQTFxUVExMElnRWdCaUFMYWtIUkltd2lBaUFMUWY0d2JHb2lBR3BCRUhaQi93ZHhJQWRxTEFBQU9nQUFJQVFnQVNBQWEwRVFka0gvQjNFZ0Iyb3NBQUE2QUFNZ0JDQURJQTFyUVExMElnRWdBaUFHUWQrSmYyeHFJZ0JxUVJCMlFmOEhjU0FIYWl3QUFEb0FBU0FFSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBVWtCZ3RoQUNBRUlBTW9BZ0JxSWdNZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCQUNBQktBSlVJZ0VvQWdCc1FZUWdhaUlFSUFJdUFRSWdBU2dDQkd3aUFXcEJBM1pCL3dkeGFpd0FBRG9BQUNBRElBUWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDOWNKQVI1L0l3WWhGaU1HUVlBRWFpUUdJQUFvQXRBQ0lTSWdGaUlBSVFVZ0FTZ0NWQ0VCQTBBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lNSUFJdUFXQWdBU2dDd0FGc0loRnJJZzlCMUJGc0lRb2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFWQWdBU2dDb0FGc0lnZHFJUkFnQmlBQ0xnRndJQUVvQXVBQmJDSUlha0g4eFFCc0loY2dFRUhwendCc0loUWdCaUFDTGdFd0lBRW9BbUJzSWdscVFjN1dBR3dpRFNBR1FkYnRmbXhxYW1vaERpQUdJQWhyUWJZNWJDSVpJQkJCMVNwc0loZ2dCaUFKYTBHakdtd2lFaUFHUWNLS2YyeHFhbW9oRUNBSUlBbHFJZ1pCcTFWc0lob2dCeUFKYWtId0NHd2lHeUFKUWMwRWJDQU5hbXBxSVEwZ0JrR1hzSDlzSWh3Z0J5QUphMEdKMmdCc0loMGdDVUdhL2dCc0lCSnFhbW9oQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnWWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUVrSFAwd0JzSWg1cUloOGdEMEhqMkFCc0lnOGdFVUdEcEFGc2FpSWdhaUlWSUE1cVFRdDFOZ0lBSUFVZ0ZTQU9hMEVMZFRZQzRBTWdCU0FOSUFZZ0VrSFJJbXdpRG1vaUVpQUtJQXhCelRsc2FpSVZhaUloYWtFTGRUWUNJQ0FGSUNFZ0RXdEJDM1UyQXNBRElBVkJRR3NnQnlBSWFrR3lxWDlzSWcwZ0d5QUhRZnEzZjJ4cUlCUnFhaUlVSUFZZ0Rtc2lEaUFQSUF4QndsbHNhaUlNYWlJUGFrRUxkVFlDQUNBRklBOGdGR3RCQzNVMkFxQURJQVVnR2lBSVFaakVBR3hxSUJkcUlBMXFJZzBnQmlBZWF5SUdJQW9nRVVHd1gyeHFJaEZxSWdwcVFRdDFOZ0pnSUFVZ0NpQU5hMEVMZFRZQ2dBTWdCU0FjSUFoQmhja0JiR29nR1dvZ0NDQUhhMEdqR213aUNHb2lDaUFHSUJGcklnWnFRUXQxTmdLQUFTQUZJQVlnQ210QkMzVTJBdUFDSUFVZ0hTQUhRZnBPYkdvZ0dHb2dDR29pQmlBT0lBeHJJZ2RxUVF0MU5nS2dBU0FGSUFjZ0JtdEJDM1UyQXNBQ0lBVWdDU0FTSUJWcklnWnFRUXQxTmdMQUFTQUZJQVlnQ1d0QkMzVTJBcUFDSUFVZ0VDQWZJQ0JySWdacVFRdDFOZ0xnQVNBRklBWWdFR3RCQzNVMkFvQUNJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF0QkFXb2lDMEVJUncwQUN5QWlRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lCU0FBS0FJTUlndHFJZ2dnQUNnQ0ZDSUdJQUFvQWdRaUIyb2lDV3BCb2NzQWJDSU1JQWhCdTRKL2JHb2lFU0FGSUFkcVFiTkdiQ0lLSUFWQmpoTnNhbW9oQ0NBTUlBbEJoR2RzYWlJRklBb2dCMEdMNEFCc2Ftb2hCeUFGSUFZZ0MycEIvZHQrYkNJSklBWkJzNE1CYkdwcUlRWWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVHUWdBRnFJZ3dnQUNnQ0VDSUtha0VOZENJUUlBQW9BZ2dpRGlBQUtBSVlJZzFxUWRFaWJDSVRJQTVCL2pCc2FpSU9haUlQSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnRENBS2EwRU5kQ0lISUJNZ0RVSGZpWDlzYWlJTWFpSUtJQkVnQ1NBTFFkVEVBV3hxYWlJTGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUtJQXRyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0RHc2lDeUFHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBWnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQkFnRG1zaUN5QUlha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFMSUFoclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBV0pBWUxuUWdCR1g4akJpRVhJd1pCa0FOcUpBWWdBQ2dDMEFJaEhTQVhJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRndJQUVvQXVBQmJDSVRRUTEwSWdzZ0FpNEJFQ0FCS0FJZ2JDSUhJQUl1QVZBZ0FTZ0NvQUZzSWdacUlncEIwc3dBYkNJUElBY2dBaTRCTUNBQktBSmdiQ0lJYWtHMzFRQnNJaEFnQjBId3QzOXNhbXBxSVFrZ0J5QUlheUlZUWZJZGJDQUxheUlaSUFwQmxEQnNJaFFnQjBHTHZIOXNhbW9oRVNBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnY2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUNrSEcwUUJzYWlJYUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSU9ha0hpeGdCc0loVWdERUc5RVd4cUlodHFJaFlnQ1dwQkMzVTJBZ0FnQlNBV0lBbHJRUXQxTmdMc0FpQUZJQVlnQ0dwQjczVnNJQXRySWdrZ0NFSHVaR3dnRUdwcUloQWdCeUFLUVpJVWJHb2lGaUFWSUE1Qi9KRi9iR29pRldvaUhHcEJDM1UyQWh3Z0JTQWNJQkJyUVF0MU5nTFFBaUFGSUFrZ0JrR0o2SDVzSUE5cWFpSUpJQWNnQ2tISlIyeHFJZzhnREVHakoyd2dEa0hocDM5c2FpSU1haUlPYWtFTGRUWUNPQ0FGSUE0Z0NXdEJDM1UyQXJRQ0lBVWdHQ0FHYXlBVGFrRUNkQ0lKSUFjZ0NrRytwWDlzYWtFTGRTSUhhallDVkNBRklBY2dDV3MyQXBnQ0lBVWdCaUFJYTBINDJRQnNJZ2NnQmtIbWszOXNhaUFVYWlBTGFpSUdJQThnREdzaUMycEJDM1UyQW5BZ0JTQUxJQVpyUVF0MU5nTDhBU0FGSUFjZ0NFR1pLMnhxSUJscUlnWWdGaUFWYXlJSWFrRUxkVFlDakFFZ0JTQUlJQVpyUVF0MU5nTGdBU0FGSUJvZ0cyc2lCaUFSYWtFTGRUWUNxQUVnQlNBR0lCRnJRUXQxTmdMRUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FOUVFGcUlnMUJCMGNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJUUlnMGdBQ2dDR0NJR2EwRzNPR3dpRENBQUtBSUlJZ2dnRFd0QmtoUnNJZzRnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFOUVpXS2YyeHFhbW9oQ3lBQUtBSUVJZ29nQUNnQ0RDSUZha0h2TzJ3aUVpQUtJQVZyUWZNS2JDSVRhaUFGSUFBb0FoUWlDV3BCNGFkL2JDSVBhaUVSSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFjZ0JpQUlhaUlRUWNiUkFHeHFJaFFnRENBR1FZTjdiR3BxSWdZZ0NTQUtha0dqSjJ3aUNpQVNJQk5yYWlJTWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQUdJQXhyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFzZ0VXcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBVUlBNGdDRUh4NFg1c2Ftb2lCaUFQSUFvZ0NVSGU5d0JzYW1vaUNHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBMGdFR3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSeHFJUUFnQVVFQmFpSUJRUTVIRFFBTElCY2tCZ3ZuQmdFWGZ5TUdJUlFqQmtHZ0Ftb2tCaUFBS0FMUUFpRWJJQlFpQUNFRklBRW9BbFFoQVFOQUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnZ2dBU2dDZ0FFZ0FrRkFheTRCQUVHeHpnQnNiQ0lTYWlFUUlBZ2dBaTRCSUNBQlFVQnJLQUlBYkNJS1FRMTBJQUVvQXNBQklBSXVBV0JCRFhSc0lndHJJaFpxSVF3Z0JTQVFJQXBCdHRjQWJDQUxhaUlYYWlJVElBSXVBWEFnQVNnQzRBRnNJZ1lnQWk0QkVDQUJLQUlnYkNJTklBSXVBVkFnQVNnQ29BRnNJZ2RxSWc1cVFZMDNiQ0lSSUE1QjJ4QnNhaUlZSUFJdUFUQWdBU2dDWUd3aURrSFAwd0JzSWhrZ0RVSDNFV3hxYWlJUGFrRUxkVFlDQUNBRklCTWdEMnRCQzNVMkFvZ0NJQVVnRGlBSGF5SVRJQTBnQm1zaUQycEIwU0pzSWhvZ0QwSCtNR3hxSWc4Z0RHcEJDM1UyQWhnZ0JTQU1JQTlyUVF0MU5nTHdBU0FGSUFnZ0Vtc2lEQ0FLUWJZWGJDQUxheUlLYWlJTElCZ2dCaUFIYWtHTHZYOXNJaElnRGtHdlhXd2lEaUFIUWJDaGYyeHFhbW9pQjJwQkMzVTJBakFnQlNBTElBZHJRUXQxTmdMWUFTQUZJQXdnQ21zaUJ5QVNJQkVnQmtIRzVRQnNJQmxyYW1vaUNtcEJDM1UyQWtnZ0JTQUhJQXByUVF0MU5nTEFBU0FGSUJvZ0UwSGZpWDlzYWlJSElBZ2dGbXNpQ0dwQkMzVTJBbUFnQlNBSUlBZHJRUXQxTmdLb0FTQUZJQkFnRjJzaUNDQVJJQTRnRFVIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nSjRJQVVnQ0NBR2EwRUxkVFlDa0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRWkhEUUFMSUJ0QmdIMXFJUUpCQUNFQkEwQWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRUWFFdGJDSUphaUlRSUFBb0FnaEJzYzRBYkNJS2FpSUxJQUFvQWdRaUJpQUFLQUlVSWdocVFiWVhiQ0lNSUFZZ0FDZ0NEQ0lOYWtFTmRHb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxySUFscklna2dCaUFOYXlBSWEwRU5kQ0lHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBSklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQkFnQ21zaUNTQU1JQWdnRFd0QkRYUnFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFrZ0JtdEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSaHFJUUFnQVVFQmFpSUJRUXhIRFFBTElCUWtCZ3Y5QlFFVmZ5TUdJUlFqQmtIUUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBSXVBVEFnQVNnQ1lHd2lCaUFDTGdGd0lBRW9BdUFCYkNJSWFpRUhJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lMUVozSkFHeHFJZzBnQWk0QklDQUJRVUJyS0FJQWJDSU9JQUl1QVdBZ0FTZ0N3QUZzSWc5cVFabzFiQ0lRSUE1QjhTQnNhaUlPYWlJUklBWWdDR3NpQ0VIakUyd2lFaUFDTGdGUUlBRW9BcUFCYkNJVlFRMTBJaE5xSWhZZ0IwSHZQR3dpRnlBQ0xnRVFJQUVvQWlCc0lnWkJzOWtBYkdwcUloaHFRUXQxTmdJQUlBVWdFU0FZYTBFTGRUWUN0QUVnQlNBSklBdEJoR1JzYWlJUklCQWdEMEhjOUg1c2FpSVBhaUlRSUFaQjA5QUFiQ0FIUWM4bGJDSUhheUFUSUJKcklBaEJESFJySWhKckloTnFRUXQxTmdJVUlBVWdFQ0FUYTBFTGRUWUNvQUVnQlNBSklBdEJ2cVYvYkdwQkMzVWlDU0FHSUJWcklBaHJRUUowSWd0cU5nSW9JQVVnQ1NBTGF6WUNqQUVnQlNBUklBOXJJZ2tnRWlBR1FZd3BiQ0FIYTJvaUIycEJDM1UyQWp3Z0JTQUpJQWRyUVF0MU5nSjRJQVVnRFNBT2F5SUhJQllnQmtHVURtd2dGMnRxSWdacVFRdDFOZ0pRSUFVZ0J5QUdhMEVMZFRZQ1pDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FLUVFGcUlncEJCVWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJSUlnb2dBQ2dDRUNJR2FrSE1NbXdpQnlBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUFvZ0Jtc2lDa0hRRm14cUlnWnFJZ3NnQUNnQ0JDSUlJQUFvQWd3aURHcEJtalZzSWcwZ0NFSHhJR3hxSWdocVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSGF5SUdJQTBnREVIYzlINXNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBR0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBQkJGR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGQ1FHQytnUEFSQi9Jd1loQ0NNR1FZQUJhaVFHSUFBb0F0QUNJUkFnQ0NFQUlBRW9BbFFoQVVFRUlRWURRQUovQWtBZ0FpNEJFQ0lMSUFJdUFTQWlCWEpCLy84RGNRUi9EQUVGSUFJdUFUQUVmMEVBSVFVTUFnVWdBa0ZBYXk0QkFBUi9RUUFoQlF3REJTQUNMZ0ZRQkg5QkFDRUZEQVFGSUFJdUFXQUVmMEVBSVFVTUJRVWdBaTRCY0FSL1FRQWhCUXdHQlNBQUlBRW9BZ0FnQWk0QkFFRUNkR3dpQlRZQ0FDQUFJQVUyQWhBZ0FDQUZOZ0lnSUFBZ0JUWUNNQ0FBUVVCcklBVTJBZ0FnQUNBRk5nSlFJQUFnQlRZQ1lFRWNDd3NMQ3dzTERBRUxJQUl1QVhBZ0FTZ0M0QUZzSWdjZ0FpNEJNQ0FCS0FKZ2JDSUphaUlOSUFJdUFWQWdBU2dDb0FGc0lnb2dDeUFCS0FJZ2JDSUxhaUlNYWtHaHl3QnNJZzRnRFVHN2duOXNhaUlOSUFjZ0MycEJzMFpzSWc4Z0IwR09FMnhxYWlFSElBNGdERUdFWjJ4cUlnd2dEeUFMUVl2Z0FHeHFhaUVMSUF3Z0NTQUtha0g5MjM1c0lnd2dDa0d6Z3dGc2Ftb2hDaUFBSUFzZ0FTZ0NnQUVnQWtGQWF5NEJBRUVOZEd3aURpQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBhaUlSSUFGQlFHc29BZ0FnQlVFUWRFRVFkV3dpQlNBQ0xnRmdJQUVvQXNBQmJDSVNha0hSSW13aUV5QUZRZjR3YkdvaUJXb2lGR3BCQzNVMkFnQWdBQ0FVSUF0clFRdDFOZ0p3SUFBZ0RTQU1JQWxCMU1RQmJHcHFJZ2tnRHlBT2F5SUxJQk1nRWtIZmlYOXNhaUlOYWlJTWFrRUxkVFlDRUNBQUlBd2dDV3RCQzNVMkFtQWdBQ0FLSUFzZ0RXc2lDV3BCQzNVMkFpQWdBQ0FKSUFwclFRdDFOZ0pRSUFBZ0J5QVJJQVZySWdWcVFRdDFOZ0l3SUFVZ0IydEJDM1VoQlVFUUMwRUNkQ0FBYWlBRk5nSUFJQUJCQkdvaEFDQUJRUVJxSVFFZ0FrRUNhaUVDSUFaQmYyb2hCU0FHUVFGTEJFQWdCU0VHREFFTEN5QUVJQU1vQWdCcUlnRWdFRUdBZldvaUFDQUlLQUlBUVpDQUFXb2lBaUFJS0FJSUlnWnFRUTEwSWdVZ0NDZ0NCQ0lISUFnb0Fnd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUVhaUlCSUFBZ0NDZ0NFRUdRZ0FGcUlnSWdDQ2dDR0NJR2FrRU5kQ0lGSUFnb0FoUWlCeUFJS0FJY0lnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lBU0FBSUFnb0FpQkJrSUFCYWlJQ0lBZ29BaWdpQm1wQkRYUWlCU0FJS0FJa0lnY2dDQ2dDTENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnRWdBQ0FJS0FJd1FaQ0FBV29pQWlBSUtBSTRJZ1pxUVExMElnVWdDQ2dDTkNJSElBZ29BandpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlRYWlJQklBQWdDRUZBYXlnQ0FFR1FnQUZxSWdJZ0NDZ0NTQ0lHYWtFTmRDSUZJQWdvQWtRaUJ5QUlLQUpNSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRkdvaUFTQUFJQWdvQWxCQmtJQUJhaUlDSUFnb0FsZ2lCbXBCRFhRaUJTQUlLQUpVSWdjZ0NDZ0NYQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BaGhxSWdFZ0FDQUlLQUpnUVpDQUFXb2lBaUFJS0FKb0lnWnFRUTEwSWdVZ0NDZ0NaQ0lISUFnb0Ftd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSWNhaUlCSUFBZ0NDZ0NjRUdRZ0FGcUlnSWdDQ2dDZUNJRGFrRU5kQ0lFSUFnb0FuUWlCaUFJS0FKOElnVnFRZEVpYkNJSElBWkIvakJzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUVJQVpyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0EydEJEWFFpQWlBSElBVkIzNGwvYkdvaUEycEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFEYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWdrQmd1Z0N3RUxmeU1HSVFVakJrSFFBR29rQmlBQUtBTFFBaUVQSUFVZ0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlPSUFnb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJS2FpSUdJQWhCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lKYWlJQklBSXVBUkFnQ0NnQ0lHd2lDeUFDTGdGUUlBZ29BcUFCYkNJTWFrRzJGMndpQnlBTElBSXVBVEFnQ0NnQ1lHd2lEV3BCRFhScUlnQnFRUXQxTmdJQUlBVWdBU0FBYTBFTGRUWUNQQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQTFySUF4clFRSjBJZ0JxTmdJTUlBVWdBU0FBYXpZQ01DQUZJQVlnQ1dzaUFTQUhJQXdnRFd0QkRYUnFJZ0JxUVF0MU5nSVlJQVVnQVNBQWEwRUxkVFlDSkNBRklBZ29Ba1FnQWk0QklrR3h6Z0JzYkNJT0lBZ29BZ1FnQWk0QkFrRU5kR3hCZ0FoeUlnb2dDQ2dDaEFFZ0FpNEJRa0doTFd4c0lnWnFJZ2xxSWdFZ0FpNEJFaUFJS0FJa2JDSUxJQUl1QVZJZ0NDZ0NwQUZzSWd4cVFiWVhiQ0lISUFzZ0FpNEJNaUFJS0FKa2JDSU5ha0VOZEdvaUFHcEJDM1UyQWdRZ0JVRkFheUFCSUFCclFRdDFOZ0lBSUFVZ0N5QU5heUFNYTBFQ2RDSUJJQW9nQmtGK2JHcEJDM1VpQUdvMkFoQWdCU0FBSUFGck5nSTBJQVVnQ1NBT2F5SUJJQWNnRENBTmEwRU5kR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdJb0lBVWdDQ2dDQ0NBQ0xnRUVRUTEwYkVHQUNISWlEaUFJS0FLSUFTQUNMZ0ZFUWFFdGJHd2lDbW9pQmlBSUtBSklJQUl1QVNSQnNjNEFiR3dpQ1dvaUFTQUNMZ0VVSUFnb0FpaHNJZ3NnQWk0QlZDQUlLQUtvQVd3aURHcEJ0aGRzSWdjZ0N5QUNMZ0UwSUFnb0FtaHNJZ0pxUVExMGFpSUFha0VMZFNJTk5nSUlJQVVnQVNBQWEwRUxkVFlDUkNBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUFKcklBeHJRUUowSWdCcUlnbzJBaFFnQlNBQklBQnJOZ0k0SUFVZ0JpQUpheUlCSUFjZ0RDQUNhMEVOZEdvaUFHcEJDM1VpQ1RZQ0lDQUZJQUVnQUd0QkMzVTJBaXdnQkNBREtBSUFhaUlISUE5QmdIMXFJZ1lnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lBaUFOUWFFdGJHb2lBU0FGS0FJRVFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dCaUFDSUExQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdScUlnY2dCaUFGS0FJTVFRMTBRWUNBaU1BQWFpSUNJQXBCb1Mxc2FpSUJJQVVvQWhCQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWNnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0J5QUdJQUlnQ2tHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDQ0dvaUJ5QUdJQVVvQWhoQkRYUkJnSUNJd0FCcUlnSWdDVUdoTFd4cUlnRWdCU2dDSEVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBWWdBaUFKUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlNYWlJSklBWWdCU2dDSkVFTmRFR0FnSWpBQUdvaUJ5QUZLQUlzSWdKQm9TMXNhaUlCSUFVb0FpaEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFrZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdDU0FHSUFjZ0FrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0VHb2lDU0FHSUFVb0FqQkJEWFJCZ0lDSXdBQnFJZ2NnQlNnQ09DSUNRYUV0YkdvaUFTQUZLQUkwUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFrZ0JpQUhJQUpCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BaFJxSWdRZ0JpQUZLQUk4UVExMFFZQ0FpTUFBYWlJRElBVW9Ba1FpQWtHaExXeHFJZ0VnQlVGQWF5Z0NBRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JDQUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFZZ0F5QUNRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNRR0M3SUVBUXAvSXdZaEJpTUdRU0JxSkFZZ0FDZ0MwQUloRENBR0lBSXVBUUFnQVNnQ1ZDSUhLQUlBYkNJSklBSXVBU0FnQjBGQWF5Z0NBR3dpQ21wQkRYUWlBU0FDTGdFUUlBY29BaUJzSWdBZ0FpNEJNQ0FIS0FKZ2JDSUZha0hSSW13aUNDQUFRZjR3YkdvaUFHb2lEVFlDQUNBR0lBRWdBR3MyQWhnZ0JpQUpJQXByUVExMElnRWdDQ0FGUWQrSmYyeHFJZ0JxSWc0MkFnZ2dCaUFCSUFCcklnazJBaEFnQmlBQ0xnRUNJQWNvQWdSc0lnb2dBaTRCSWlBSEtBSkViQ0lGYWtFTmRDSUJJQUl1QVJJZ0J5Z0NKR3dpQUNBQ0xnRXlJQWNvQW1Sc0lnaHFRZEVpYkNJQ0lBQkIvakJzYWlJQWFpSUxOZ0lFSUFZZ0FTQUFheUlITmdJY0lBWWdDaUFGYTBFTmRDSUJJQUlnQ0VIZmlYOXNhaUlBYWlJSU5nSU1JQVlnQVNBQWF5SUNOZ0lVSUFRZ0F5Z0NBR29pQVNBTVFZQjlhaUlGSUFzZ0RVR0FnSUlRYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUxhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCQ0FES0FJRWFpSUJJQTVCZ0lDQ0VHb2lBQ0FJYWtFUWRrSC9CM0VnQldvc0FBQTZBQUFnQVNBQUlBaHJRUkIyUWY4SGNTQUZhaXdBQURvQUFTQUVJQU1vQWdocUlnRWdDVUdBZ0lJUWFpSUFJQUpxUVJCMlFmOEhjU0FGYWl3QUFEb0FBQ0FCSUFBZ0FtdEJFSFpCL3dkeElBVnFMQUFBT2dBQklBUWdBeWdDREdvaUFTQUdLQUlZUVlDQWdoQnFJZ0FnQjJwQkVIWkIvd2R4SUFWcUxBQUFPZ0FBSUFFZ0FDQUhhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCaVFHQzJjQkFYOGdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2lBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHeEJoQ0JxSWdVZ0FpNEJFQ0FCS0FJZ2JDSUJha0VEZGtIL0IzRnFMQUFBT2dBQUlBUWdBeWdDQkdvZ0JTQUJhMEVEZGtIL0IzRWdBR29zQUFBNkFBQUw4UWdCRVg4akJpRVNJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZTQVNJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQ0xnRUFJQUVvQWdCc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUhJQUVvQWlCc0lnY2dBaTRCY0NBQktBTGdBV3dpQ0dvaUN5QUNMZ0V3SUFFb0FtQnNJZ29nQWk0QlVDQUJLQUtnQVd3aURXb2lEbXRCNmdKc1FRaDFJQTBnQ21zaUNpQUhJQWhySWcxcVFka0RiRUVJZFNJUElBcEJuUVZzUVFoMWF5QUxJQTVxSWdocklndHJJUWNnQmlBQ0xnRUFJQUVvQWdCc0lnb2dBa0ZBYXk0QkFDQUJLQUtBQVd3aURtb2lFQ0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJaEVnQWk0QllDQUJLQUxBQVd3aUUyb2lCV29pRkNBSWFqWUNBQ0FHSUJRZ0NHczJBdUFCSUFZZ0N5QUtJQTVySWdnZ0VTQVRhMEhxQW14QkNIVWdCV3NpQ21vaURtbzJBaUFnQmlBT0lBdHJOZ0xBQVNBR1FVQnJJQWNnQ0NBS2F5SUlhallDQUNBR0lBZ2dCMnMyQXFBQklBWWdEeUFOUVpVQ2JFRUlkV3NnQjJzaUJ5QVFJQVZySWdWcU5nSmdJQVVnQjJzaEJVRWdDMEVDZENBR2FpQUZOZ0lBSUFaQkJHb2hCaUFCUVFScUlRRWdBa0VDYWlFQ0lBbEJmMm9oQlNBSlFRRkxCRUFnQlNFSkRBRUxDeUFWUVlCOWFpRUpRUUFoQVFOQUlBUWdBVUVDZENBRGFpZ0NBR29oQmlBQUtBSUFRWkNBQVdvaEJRSkFBa0FnQUNnQ0JDSUhJQUFvQWdnaUFuSU5BQ0FBS0FJTUJFQkJBQ0VDREFFRklBQW9BaEFFUUVFQUlRSU1BZ1VnQUNnQ0ZBUkFRUUFoQWd3REJTQUFLQUlZQkVCQkFDRUNEQVFGSUFBb0Fod0VRRUVBSVFJTUJRVWdCaUFKSUFWQkJYWkIvd2R4YWl3QUFDSUNPZ0FBSUFaQkFXb2dBa0VIRUVVYUN3c0xDd3NNQVFzZ0J5QUFLQUljSWdocUlnc2dBQ2dDRkNJTUlBQW9BZ3dpQ21vaURXdEI2Z0pzUVFoMUlBd2dDbXNpRENBSElBaHJJZ3BxUWRrRGJFRUlkU0lPSUF4Qm5RVnNRUWgxYXlBTElBMXFJZ2hySWd0cklRY2dCaUFKSUFVZ0FDZ0NFQ0lOYWlJUElBQW9BaGdpRUNBQ2FpSU1haUlSSUFocVFRVjJRZjhIY1dvc0FBQTZBQUFnQmlBSklCRWdDR3RCQlhaQi93ZHhhaXdBQURvQUJ5QUdJQWtnQlNBTmF5SUZJQUlnRUd0QjZnSnNRUWgxSUF4cklnSnFJZ2dnQzJwQkJYWkIvd2R4YWl3QUFEb0FBU0FHSUFrZ0NDQUxhMEVGZGtIL0IzRnFMQUFBT2dBR0lBWWdDU0FGSUFKcklnSWdCMnBCQlhaQi93ZHhhaXdBQURvQUFpQUdJQWtnQWlBSGEwRUZka0gvQjNGcUxBQUFPZ0FGSUFZZ0NTQVBJQXhySWdJZ0RpQUtRWlVDYkVFSWRXc2dCMnNpQldwQkJYWkIvd2R4YWl3QUFEb0FBeUFHSUFrZ0FpQUZhMEVGZGtIL0IzRnFMQUFBT2dBRUN5QUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQklrQmd2ckJ3SUhmd3g5SXdZaENDTUdRWUFDYWlRR0lBQW9BdEFDSVFzZ0NDSUFJUVVnQVNnQ1ZDRUJRUWdoQndOQUFuOENRQ0FDTGdFUUlnb2dBaTRCSUNJR2NrSC8vd054Qkg4TUFRVWdBaTRCTUFSL1FRQWhCZ3dDQlNBQ1FVQnJMZ0VBQkg5QkFDRUdEQU1GSUFJdUFWQUVmMEVBSVFZTUJBVWdBaTRCWUFSL1FRQWhCZ3dGQlNBQ0xnRndCSDlCQUNFR0RBWUZJQVVnQVNvQ0FDQUNMZ0VBc3BRaUREZ0NBQ0FGSUF3NEFpQWdCVUZBYXlBTU9BSUFJQVVnRERnQ1lDQUZJQXc0QW9BQklBVWdERGdDb0FFZ0JTQU1PQUxBQVVFNEN3c0xDd3NMREFFTElBRXFBaUFnQ3JLVUlnd2dBU29DNEFFZ0FpNEJjTEtVSWcyU0loQWdBU29DWUNBQ0xnRXdzcFFpRGlBQktnS2dBU0FDTGdGUXNwUWlFWklpRDVORDh3UzFQNVFnRVNBT2t5SU9JQXdnRFpNaUVaSkRYb1BzUDVRaUV5QU9RM1U5SjBDVWt5QVBJQkNTSWcyVEloQ1RJUXdnQlNBQktnSUFJQUl1QVFDeWxDSVBJQUVxQW9BQklBSkJRR3N1QVFDeWxDSVNraUlVSUFGQlFHc3FBZ0FnQmtFUWRFRVFkYktVSWhVZ0FTb0N3QUVnQWk0QllMS1VJaGFTSWc2U0loY2dEWkk0QWdBZ0JTQVhJQTJUT0FMZ0FTQUZJQThnRXBNaURTQVZJQmFUUS9NRXRUK1VJQTZUSWcrU0loSWdFSkk0QWlBZ0JTQVNJQkNUT0FMQUFTQUZRVUJySUEwZ0Q1TWlEU0FNa2pnQ0FDQUZJQTBnREpNNEFxQUJJQVVnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSTRBbUFnRFNBTWt5RU1RU0FMUVFKMElBVnFJQXc0QWdBZ0JVRUVhaUVGSUFGQkJHb2hBU0FDUVFKcUlRSWdCMEYvYWlFR0lBZEJBVXNFUUNBR0lRY01BUXNMSUF0QmdIMXFJUUpCQUNFQkEwQWdBQ29DQkNJTUlBQXFBaHdpRFpJaUVDQUFLZ0lVSWc0Z0FDb0NEQ0lSa2lJUGswUHpCTFUvbENBT0lCR1RJZzRnRENBTmt5SVJra05lZyt3L2xDSVRJQTVEZFQwblFKU1RJQThnRUpJaURaTWlFSk1oRENBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtnSUFRd0FnQUVTU0lnOGdBQ29DRUNJU2tpSVVJQUFxQWdnaUZTQUFLZ0lZSWhhU0lnNlNJaGNnRFpJUVEwSC9CM0ZxTEFBQU9nQUFJQVVnQWlBWElBMlRFRU5CL3dkeGFpd0FBRG9BQnlBRklBSWdEeUFTa3lJTklCVWdGcE5EOHdTMVA1UWdEcE1pRDVJaUVpQVFraEJEUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQklnRUpNUVEwSC9CM0ZxTEFBQU9nQUdJQVVnQWlBTklBK1RJZzBnREpJUVEwSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQlNBRklBSWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJUVEwSC9CM0ZxTEFBQU9nQURJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQkNBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElBZ2tCZ3ZOS0FJTGZ3RjhJQUFvQXRnRElRc2dBQ2dDSkVFQVRBUkFEd3NnQUNnQzJBRWhBUU5BQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBU0lJS0FJb0lBRW9BaVFpQkVFSWRHcEJnUUpyRHBBZUFCNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQllCSUIwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBSWdJQndnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlVnQXlBZ0lCc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUVJQ0FnSUJvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlFnSUFVZ0lDQWdJQmtnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdCaUFnSUNBZ0lCZ2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQk1nSUNBZklDQWdJQ0FnSUJjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQWNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQklnSUNBZ0NDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkVnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkFnSUNBZ0lDQU1JQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUEwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQThnSUNBZ0lDQWdEaUFMUVFBaEFrRUVJUU1NSUF0QkFDRUNRUVVoQXd3ZkMwRUFJUUpCQmlFRERCNExRUUFoQWtFSElRTU1IUXRCQUNFQ1FRZ2hBd3djQzBFQUlRSkJDU0VEREJzTFFRQWhBa0VLSVFNTUdndEJBQ0VDUVFzaEF3d1pDMEVBSVFKQkRDRUREQmdMUVFBaEFrRU5JUU1NRnd0QkFDRUNRUTRoQXd3V0MwRUFJUUpCRHlFRERCVUxRUUFoQWtFUUlRTU1GQXRCQUNFQ1FSRWhBd3dUQzBFQUlRSkJFaUVEREJJTFFRQWhBa0VUSVFNTUVRdEJBQ0VDUVJRaEF3d1FDMEVBSVFKQkZTRUREQThMUVFBaEFrRVdJUU1NRGd0QkFDRUNRUmNoQXd3TkMwRUFJUUpCR0NFRERBd0xRUUFoQWtFWklRTU1Dd3RCQUNFQ1FSb2hBd3dLQzBFQUlRSkJHeUVEREFrTFFRQWhBa0VjSVFNTUNBdEJBQ0VDUVIwaEF3d0hDMEVBSVFKQkhpRUREQVlMUVFBaEFrRWZJUU1NQlF0QkFDRUNRU0FoQXd3RUMwRUFJUUpCSVNFRERBTUxRUUFoQWtFaUlRTU1BZ3NDUUFKQUFrQUNRQ0FBS0FKSUlnRU9Bd0FCQWdNTElBRWhBa0VqSVFNTUJBc2dBU0VDUVNRaEF3d0RDeUFCSVFKQkpTRUREQUlMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdCQ3lBQUtBSUFJZ0ZCQnpZQ0ZDQUJJQVEyQWhnZ0FDZ0NBQ0FJS0FJb05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dDMEVFYWlBSlFRSjBhaUFETmdJQUlBZ29BalFFUUNBTFFTeHFJQWxCQW5ScUlnRW9BZ0FnQWtjRVFDQUlLQUpRSWdZRVFDQUJJQUkyQWdBQ1FBSkFBa0FDUUFKQUlBSU9Bd0FCQWdNTElBZ29BbFFoQkVFQUlRRURRQ0FCUVFKMElBUnFJQUZCQVhRZ0Jtb3ZBUUEyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dEQ3lBSUtBSlVJUVJCQUNFQkEwQWdBVUVDZENBRWFpQUJRUUYwSUFacUx3RUFJQUZCQVhSQjRDbHFMZ0VBYkVHQUVHcEJESFUyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dDQ3lBSUtBSlVJUWRCQUNFQlFRQWhCQU5BSUFSQkFuUWdCMm9nQVVFRGRFSGdLbW9yQXdBaURDQUVRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUUZ5SWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkU3MkZJc1ZBeDlqK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0JVRUJhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJNcHZUWkd1NS9RL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkEzSWlDa0VDZENBSGFpQU1JQXBCQVhRZ0Jtb3ZBUUMzb2tTcUVXenZZdER5UDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFGcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUpxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVPNytud0drazZUK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0NrRURhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJMc2d4M3Q2VWVFL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkIzSWlCVUVDZENBSGFpQU1JQVZCQVhRZ0Jtb3ZBUUMzb2tSZHEzTGVWYWpSUDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFocUlRUWdBVUVCYWlJQlFRaEhEUUFMREFFTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTEN3c2dDRUhZQUdvaEJDQUpRUUZxSWdFZ0FDZ0NKRWdFUUNBQklRa2dCQ0VCREFFTEN3dWxBUUVFZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCMUFBZ0FVRS9jVUhLQVdvUkJBQWlBVFlDMkFNZ0FVSHpBRFlDQUNBQUtBSWtRUUJNQkVBUEN5QUJRU3hxSVFSQkFDRUJJQUFvQXRnQklRSURRQ0FBS0FJRUtBSUFJUU1nQWlBQVFRRkJnQUlnQTBFL2NVSEtBV29SQkFBaUF6WUNWQ0FEUVFCQmdBSVFSUm9nQVVFQ2RDQUVha0YvTmdJQUlBSkIyQUJxSVFJZ0FVRUJhaUlCSUFBb0FpUklEUUFMQzhzRkFRdC9Jd1loRFNNR1FTQnFKQVlnQWlnQ0FDRUhJQUlvQWdRaEN5QUNLQUlJSVFvZ0JTZ0NBQ0lJUlFSQUlBVWdBQ2dDSENBQUtBSWdFS2tKSWdnMkFnQUxJQTBpQWtFY2FpRU9JQUpCR0dvaER5QUFLQUlNSUFCQk1Hb2dCMEV3YkdvaURDQUJLQUlBSWdrZ0IwSHdBR3hxS0FJQUlBZEI4QUJzSUFscUtBSUVLQUlBSUF0QkZHeHFJQW9nQ0JDb0NVRUFTQVIvUVg4RklBVW9BZ0FpQ0NnQ0hDRUpJQWdvQWd3Z0NDZ0NDRUVCYW1vZ0NDZ0NGQ0FJS0FJUVFRRnFhbXl5UXdBQW9FQ1VRd0FBb0VDVUlBa2dDV3l5WGdSL1FYOEZJQUVvQXBnQkloQkJBVVlFUUNBQUtBSU1JQXhCQUVFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQUFvQWd3aENDQUFRWkFFYWlBSFFUQnNhaUVKSUJCQkFrWUVRQ0FJSUF3Z0NVRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFnZ0RDQUpJQUJCOEFkcUlBZEJNR3hxSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJTEN5QURJQVFnQUNnQ0JDQUFLQUlJSUFBb0FoUWdCU2dDQUNBQUtBSVlJZ0FnQUNBQ0lBNGdEeUFHRUt3SlFRQklCSDlCZndVZ0JpQU9LQUlBc2pnQ0JDQUdJQThvQWdDeU9BSUlJQUVvQWdBaUFDQUhRZkFBYkdvb0FnUW9BZ0FnQzBFVWJHb29BZ0FpQWlBS1FSUnNhaUVCSUFZZ0IwSHdBR3dnQUdvcUFoZ2dCMEh3QUd3Z0FHb3FBZ3dnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaEFnQ2tFVWJDQUNhaUlDS2dJTWxKS1NPQUlNSUFZZ0IwSHdBR3dnQUdvcUFpZ2dCMEh3QUd3Z0FHb3FBaHdnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaUFnQWlvQ0RKU1NramdDRUNBR0lBZEI4QUJzSUFCcUtnSTRJQWRCOEFCc0lBQnFLZ0lzSUFFcUFnaVVJQWRCOEFCc0lBQnFLZ0l3SUFJcUFneVVrcEk0QWhSQkFBc0xDeUVSSUEwa0JpQVJDeUlCQVgxQmZ5QUFLZ0lBSUFFcUFnQ1RJZ0pEQUFBQUFGNGdBa01BQUFBQVhSc0xpaEFDREg4S2ZTTUdJUW9qQmtGQWF5UUdJQXBCT0dvaEJ5QUtRVEJxSVFnZ0NrRW9haUVMSUFwQklHb2hDU0FEUVFSSUJFQkRJTHkrVENFRkJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUZCUUpBQW44Z0E3SWlHaUFGbEJCRElSQWdBMEVHZEJCRUlnWkZCRUJCQUVFRFFjcllBaUFKRUQxREFBQ0F2eUVGREFJTElBTkJBM1FRUkNJSlJRUkFRUUJCQTBISzJBSWdDeEE5SUFZUU9FTUFBSUMvSVFVTUFnc2dBMEVDZENJTEVFUWlEVVVFUUVFQVFRTkJ5dGdDSUFnUVBTQUdFRGdnQ1JBNFF3QUFnTDhoQlF3Q0N5QUxFRVFpQzBVRVFFRUFRUU5CeXRnQ0lBY1FQU0FHRURnZ0NSQTRJQTBRT0VNQUFJQy9JUVVNQWdzZ0VFRi9haUlIQzBFRUlBZEJCRW9iSVJGQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQ0FOQUlBaEJCRWNFUUNBSFFRUjBJQVJxSUFoQkFuUnFJQWRCQkhRZ0FHb2dDRUVDZEdvcUFnQWdBQ29DTEpVNEFnQWdDRUVCYWlFSURBRUxDeUFIUVFGcUlRY01BUXNMSUJGQkFuUWdDMm9oRHdKQUFrQUNRQU5BQWtCQkFDRUhBMEFnQnlBRFNBUkFJQVFxQWdBaEZ5QUVLZ0lFSVJZZ0JDb0NEQ0VaSUFRcUFoQWhFeUFFS2dJVUlSZ2dCQ29DSENFYklBZEJER3dnQW1vcUFnQWlGQ0FFS2dJZ2xDQUhRUXhzSUFKcUtnSUVJaFVnQkNvQ0pKU1NRd0FBZ0QrU0lnVkRBQUFBQUZzTkFpQUhRUU4wSUFGcUtnSUVJQnNnRkNBVGxDQVZJQmlVa3BJaUdDQUZsWk1oRXlBSFFRRjBJZ0JCQW5RZ0NXb2dCMEVEZENBQmFpb0NBQ0FaSUJjZ0ZKUWdGaUFWbEpLU0loY2dCWldUSWhZNEFnQWdBRUVCY2tFQ2RDQUphaUFUT0FJQUlBZEJBblFnQzJvZ0ZpQVdsQ0FUSUJPVWtpSVRPQUlBSUFkQkFuUWdEV29nRXpnQ0FDQUhRUVIwSWdCQkFuUWdCbW9nRkNBRmxTSVRPQUlBSUFCQkFYSkJBblFnQm1vZ0ZTQUZsU0lXT0FJQUlBQkJBbkpCQW5RZ0JtcERBQUNBUHlBRmxTSVpPQUlBSUFCQkEzSkJBblFnQm1wREFBQUFBRGdDQUNBQVFRUnlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUZja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJCbkpCQW5RZ0Jtb2dGQ0FYbEl3Z0JTQUZsQ0lGbFRnQ0FDQUFRUWR5UVFKMElBWnFJQlVnRjVTTUlBV1ZPQUlBSUFCQkNISkJBblFnQm1wREFBQUFBRGdDQUNBQVFRbHlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUtja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJDM0pCQW5RZ0Jtb2dFemdDQUNBQVFReHlRUUowSUFacUlCWTRBZ0FnQUVFTmNrRUNkQ0FHYWlBWk9BSUFJQUJCRG5KQkFuUWdCbW9nRkNBWWxJd2dCWlU0QWdBZ0FFRVBja0VDZENBR2FpQVZJQmlVakNBRmxUZ0NBQ0FIUVFGcUlRY01BUXNMSUFzZ0EwRUVRU0FRZ2dOREFBQ0FRU0FQS2dJQVF3QUFnRUNVSWdVZ0JVTUFBSUJCWFJzaUZVTUFBTUJBbFNFRlF3QUFBQUFoRTBFQUlRQURRQ0FBSUFOSEJFQWdFeUFBUVFKMElBdHFLZ0lBSWhRZ0ZWNEVmU0FGQlNBRlF3QUFnRDlEQUFDQVB5QVVJQldWa3lJVUlCUWdGSlNVazVRTGtpRVRJQUJCQVdvaEFBd0JDd3NnRXlBYWxTSUZRODNNekQxZERRUWdEa0VBUnlBRlF3QUFnRUJkY1FSQUlBNUJDa1lnQlNBU2xVT2tjSDAvWG5JTkJRVWdEa0VLUmcwRkMwRUFJUUJCQUNFTUEwQWdBeUFNUndSQUlBeEJBblFnRFdvcUFnQWlFaUFWWHdSQUlBQkJBM1FpQjBFQ2RDQUdha01BQUlBL0lCSWdGWldUSWhJZ0VwUWlFaUFNUVFSMElnaEJBblFnQm1vcUFnQ1VPQUlBSUFkQkFYSkJBblFnQm1vZ0VpQUlRUUZ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUUp5UVFKMElBWnFJQklnQ0VFQ2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFRGNrRUNkQ0FHYWlBU0lBaEJBM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCSEpCQW5RZ0Jtb2dFaUFJUVFSeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFWeVFRSjBJQVpxSUJJZ0NFRUZja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUdja0VDZENBR2FpQVNJQWhCQm5KQkFuUWdCbW9xQWdDVU9BSUFJQWRCQjNKQkFuUWdCbW9nRWlBSVFRZHlRUUowSUFacUtnSUFsRGdDQUNBSFFRaHFRUUowSUFacUlCSWdDRUVJY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVKYWtFQ2RDQUdhaUFTSUFoQkNYSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkNtcEJBblFnQm1vZ0VpQUlRUXB5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUXRxUVFKMElBWnFJQklnQ0VFTGNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFTWFrRUNkQ0FHYWlBU0lBaEJESEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJEV3BCQW5RZ0Jtb2dFaUFJUVExeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVE1cVFRSjBJQVpxSUJJZ0NFRU9ja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRVBha0VDZENBR2FpQVNJQWhCRDNKQkFuUWdCbW9xQWdDVU9BSUFJQUJCQW5RZ0NXb2dFaUFNUVFGMElnZEJBblFnQ1dvcUFnQ1VPQUlBSUFCQkFXcEJBblFnQ1dvZ0VpQUhRUUZ5UVFKMElBbHFLZ0lBbERnQ0FDQUFRUUpxSVFBTElBeEJBV29oREF3QkN3c2dBRUVHU0EwQ0lBb2dDU0FHSUFBUXFBTkJBRWdOQXlBRUlBb3FBZ0FnQkNvQ0FKSTRBZ0FnQkNBS0tnSUVJQVFxQWdTU09BSUVJQVFnQ2lvQ0NDQUVLZ0lNa2pnQ0RDQUVJQW9xQWd3Z0JDb0NFSkk0QWhBZ0JDQUtLZ0lRSUFRcUFoU1NPQUlVSUFRZ0Npb0NGQ0FFS2dJY2tqZ0NIQ0FFSUFvcUFoZ2dCQ29DSUpJNEFpQWdCQ0FLS2dJY0lBUXFBaVNTT0FJa0lBVWhFaUFPUVFGcUlRNE1BUXNMSUFZUU9DQUpFRGdnRFJBNElBc1FPRU1ndkw1TUlRVU1Bd3NnQmhBNElBa1FPQ0FORURnZ0N4QTRRd0FBZ0w4aEJRd0NDeUFHRURnZ0NSQTRJQTBRT0NBTEVEaERJTHkrVENFRkRBRUxJQVlRT0NBSkVEZ2dEUkE0SUFzUU9Bc0xDeUFLSkFZZ0JRdkZDQUlHZnc1OUl3WWhCeU1HUVRCcUpBWWdCMEVvYWlFR0lBZEJJR29oQ0NBRFFRUklCRUJESUx5K1RDRUxCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VMQlFKQUlBTkJCblFRUkNJRlJRUkFRUUJCQTBISzJBSWdDQkE5UXdBQWdMOGhDd3dCQ3lBRFFRTjBFRVFpQ2tVRVFFRUFRUU5CeXRnQ0lBWVFQU0FGRURoREFBQ0F2eUVMREFFTFFRQWhCZ05BSUFaQkEwY0VRRUVBSVFnRFFDQUlRUVJIQkVBZ0JrRUVkQ0FFYWlBSVFRSjBhaUFHUVFSMElBQnFJQWhCQW5ScUtnSUFJQUFxQWl5Vk9BSUFJQWhCQVdvaENBd0JDd3NnQmtFQmFpRUdEQUVMQ3lBRHNpRVlJQU5CQVhRaENFRUFJUVlDUUFKQUEwQUNRRU1BQUFBQUlSSkJBQ0VKQTBBZ0NTQURTQVJBSUFRcUFnQWhEU0FFS2dJRUlSQWdCQ29DRENFUklBUXFBaEFoRXlBRUtnSVVJUlFnQkNvQ0hDRUxJQWxCREd3Z0Ftb3FBZ0FpRGlBRUtnSWdsQ0FKUVF4c0lBSnFLZ0lFSWc4Z0JDb0NKSlNTUXdBQWdEK1NJZ3hEQUFBQUFGc05BaUFKUVFOMElBRnFLZ0lFSUFzZ0RpQVRsQ0FQSUJTVWtwSWlGeUFNbFpNaEZTQUpRUUYwSWdCQkFuUWdDbW9nQ1VFRGRDQUJhaW9DQUNBUklBMGdEcFFnRUNBUGxKS1NJaEFnREpXVEloRTRBZ0FnQUVFQmNrRUNkQ0FLYWlBVk9BSUFJQWxCQkhRaUFFRUNkQ0FGYWlBT0lBeVZJaE00QWdBZ0FFRUJja0VDZENBRmFpQVBJQXlWSWhRNEFnQWdBRUVDY2tFQ2RDQUZha01BQUlBL0lBeVZJZ3M0QWdBZ0FFRURja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJCSEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUVZ5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVHY2tFQ2RDQUZhaUFPSUJDVWpDQU1JQXlVSWcyVk9BSUFJQUJCQjNKQkFuUWdCV29nRHlBUWxJd2dEWlU0QWdBZ0FFRUlja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJDWEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUXB5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVMY2tFQ2RDQUZhaUFUT0FJQUlBQkJESEpCQW5RZ0JXb2dGRGdDQUNBQVFRMXlRUUowSUFWcUlBczRBZ0FnQUVFT2NrRUNkQ0FGYWlBT0lCZVVqQ0FObFRnQ0FDQUFRUTl5UVFKMElBVnFJQThnRjVTTUlBMlZPQUlBSUJJZ0VTQVJsQ0FWSUJXVWtwSWhFaUFKUVFGcUlRa01BUXNMSUJJZ0dKVWlDMFBOek13OVhRMERJQVpCQUVjZ0MwTUFBSUJBWFhFRVFDQUdRUXBHSUFzZ0ZwVkRwSEI5UDE1eURRUUZJQVpCQ2tZTkJBc2dCeUFLSUFVZ0NCQ29BMEVBU0EwQ0lBUWdCeW9DQUNBRUtnSUFramdDQUNBRUlBY3FBZ1FnQkNvQ0JKSTRBZ1FnQkNBSEtnSUlJQVFxQWd5U09BSU1JQVFnQnlvQ0RDQUVLZ0lRa2pnQ0VDQUVJQWNxQWhBZ0JDb0NGSkk0QWhRZ0JDQUhLZ0lVSUFRcUFoeVNPQUljSUFRZ0J5b0NHQ0FFS2dJZ2tqZ0NJQ0FFSUFjcUFod2dCQ29DSkpJNEFpUWdDeUVXSUFaQkFXb2hCZ3dCQ3dzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQWdzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQVFzZ0JSQTRJQW9RT0FzTEN5QUhKQVlnQ3d1N0JnSU1md1I5SXdZaENTTUdRZEFBYWlRR0lBbEJNR29oRUNBSlFjd0FhaUVNSUFsQnlBQnFJUTBnQ1VGQWF5RU9JQWxCT0dvaER5QUFzaUVVSUFHeUlSVWdCVUhNSldvaEVVRUFJUUZCQUNFQUFuOENRQU5BQWtBZ0NDQURLQUlFVGcwQ1FRQWhDd05BSUF0QkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0MwRUVkQ0FKYWlBR1FRSjBhaUFJUVRCc0lBSnFJQXRCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQzBFQmFpRUxEQUVMQzBFQUlRY2dBeWdDQUNBSVFmQUFiR29vQWdRaEJnTkFJQWNnQmlnQ0JFZ0VRRUVBSVFvRFFDQUtJQVlvQWdBaUN5QUhRUlJzYWlnQ0JFZ0VRRUVBSUFrZ0IwRVViQ0FMYWlnQ0FDSUdJQXBCRkd4cUtnSUlJQXBCRkd3Z0Jtb3FBZ3dnRENBTkVJSUVRUUJJSUF3cUFnQWlFa01BQUFBQVhYSkZCRUFnRFNvQ0FDSVRJQlZnSUJOREFBQUFBRjBnRWlBVVlISnlSUVJBQWtBZ0RpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDQUhRUlJzYWlnQ0FDSUdJQXBCRkd4cUtBSUlOZ0lBSUE0Z0NrRVViQ0FHYWlnQ0REWUNCRUVBSUFrZ0RpQVBFSWNFSUE4cUFnUWlFaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0lHSUFkQkZHeHFLZ0lNSWhOZkJFQWdFaUFIUVJSc0lBWnFLZ0lRWUFSQUlBQkJ5QUZHRFFrZ0FFRVliQ0FFYWlBSU5nSUFJQUJCR0d3Z0JHb2dCellDQkNBQVFSaHNJQVJxSUFvMkFnZ2dBRUVZYkNBRWFpQU1LQUlBTmdJUUlBQkJHR3dnQkdvZ0RTZ0NBRFlDRkNBQVFSaHNJQVJxUVFBMkFnd2dBRUVCYWlFQURBSUxDeUFTSUJOREFBQUFRSlJmQkVBZ0VpQUhRUlJzSUFacUtnSVFRd0FBQUQrVVlBUkFJQUZCeUFGR0JIOGdFVUYvTmdJQVFjZ0JCU0FCUVJoc0lBVnFJQWcyQWdBZ0FVRVliQ0FGYWlBSE5nSUVJQUZCR0d3Z0JXb2dDallDQ0NBQlFSaHNJQVZxSUF3b0FnQTJBaEFnQVVFWWJDQUZhaUFOS0FJQU5nSVVJQUZCR0d3Z0JXcEJBRFlDRENBQlFRRnFDeUVCQ3dzTEN3c2dDa0VCYWlFS0lBTW9BZ0FnQ0VId0FHeHFLQUlFSVFZTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQ0VFQmFpRUlEQUVMQzBFQVFRTkIyZGdDSUJBUVBTQUVRY3dsYWd3QkN5QUFRUmhzSUFScVFYODJBZ3dnQVVFWWJDQUZha0VNYWd0QmZ6WUNBQ0FKSkFZTHd3Y0NEbjhJZlNNR0lRVWpCa0hRQUdva0JpQUZRVEJxSVJBZ0JVSE1BR29oRENBRlFjZ0FhaUVOSUFWQlFHc2hEaUFGUVRocUlROGdBQ2dDQUxJaEdTQUFLQUlFc2lFYUlBUkJ6Q1ZxSVJFQ2Z3SkFBMEFDUUNBS0lBSW9BZ1JPRFFKQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBSFFRUjBJQVZxSUFaQkFuUnFJQXBCTUd3Z0FXb2dCMEVFZEdvZ0JrRUNkR29vQWdBMkFnQWdCa0VCYWlFR0RBRUxDeUFIUVFGcUlRY01BUXNMUVFBaEJpQUNLQUlBSUFwQjhBQnNhaWdDQkNFSEEwQWdCaUFIS0FJRVNBUkFRUUFoQ3dOQUlBc2dCeWdDQUNJU0lBWkJGR3hxS0FJRVNBUkFJQUFnQlNBR1FSUnNJQkpxS0FJQUlnY2dDMEVVYkdvcUFnZ2dDMEVVYkNBSGFpb0NEQ0FNSUEwUWdnUkJBRWdnRENvQ0FDSVRRd0FBQUFCZGNrVUVRQ0FOS2dJQUloUWdHbUFnRkVNQUFBQUFYU0FUSUJsZ2NuSkZCRUFDUUNBRktnSU1JQVVxQWdBZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBZ0JrRVViR29vQWdBaUJ5QUxRUlJzYWlvQ0NDSVRsQ0FGS2dJRUlBdEJGR3dnQjJvcUFnd2lGSlNTa2lJV0lCYVVJQVVxQWh3Z0V5QUZLZ0lRbENBVUlBVXFBaFNVa3BJaUZ5QVhsSklnQlNvQ0xDQVRJQVVxQWlDVUlCUWdCU29DSkpTU2tpSVlJQmlVa3BFaEZTQUZLZ0lvSUJnZ0ZaV1VJQVVxQWdnZ0ZpQVZsWlFnQlNvQ0dDQVhJQldWbEpLU1E4M016TDFlUlFSQUlBNGdFemdDQUNBT0lCUTRBZ1FnQUNBRklBNGdEeENIQkNBUEtnSUVJaE1nQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FpQnlBR1FSUnNhaW9DRENJVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUdBRVFDQUpRY2dCUmcwS0lBbEJHR3dnQTJvZ0NqWUNBQ0FKUVJoc0lBTnFJQVkyQWdRZ0NVRVliQ0FEYWlBTE5nSUlJQWxCR0d3Z0Eyb2dEQ2dDQURZQ0VDQUpRUmhzSUFOcUlBMG9BZ0EyQWhRZ0NVRVliQ0FEYWtFQU5nSU1JQWxCQVdvaENRd0RDd3NnRXlBVVF3QUFBRUNVWHdSQUlCTWdCa0VVYkNBSGFpb0NFRU1BQUFBL2xHQUVRQ0FJUWNnQlJnUi9JQkZCZnpZQ0FFSElBUVVnQ0VFWWJDQUVhaUFLTmdJQUlBaEJHR3dnQkdvZ0JqWUNCQ0FJUVJoc0lBUnFJQXMyQWdnZ0NFRVliQ0FFYWlBTUtBSUFOZ0lRSUFoQkdHd2dCR29nRFNnQ0FEWUNGQ0FJUVJoc0lBUnFRUUEyQWd3Z0NFRUJhZ3NoQ0FzTEN3c0xDeUFMUVFGcUlRc2dBaWdDQUNBS1FmQUFiR29vQWdRaEJ3d0JDd3NnQmtFQmFpRUdEQUVMQ3lBS1FRRnFJUW9NQVFzTFFRQkJBMEhaMkFJZ0VCQTlJQU5CekNWcURBRUxJQWxCR0d3Z0EycEJmellDRENBSVFSaHNJQVJxUVF4cUMwRi9OZ0lBSUFVa0JndlZFUUlVZndGOUl3WWhCU01HUVRCcUpBWWdCU0lNUVNocUlSSWdCVUVnYWlFVElBQkJBRWNnQVVFQVIzRWdBa0VBUjNFZ0EwRUFSM0VnQkVFQVIzRUVmeUFCS0FLWUFVRUJTQVIvUVg0RkFuOGdCRU1BQUFBQU9BSUFJQUZCQ0dvaERTQUJRVGhxSVFnZ0FVSG9BR29oQ2tFQUlRVURRQ0FGSUFFb0FnUklCRUFnRFNBQktBSUFJQVZCOEFCc2FrRU1haUFBUVRCcUlBVkJNR3hxRUxJQ0lBRW9BcGdCUVFGS0JFQWdDQ0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRWkFFYWlBRlFUQnNhaEN5QWlBQktBS1lBVUVDU2dSQUlBb2dBU2dDQUNBRlFmQUFiR3BCREdvZ0FFSHdCMm9nQlVFd2JHb1FzZ0lMQ3lBRlFRRnFJUVVNQVFzTElBQW9BZ0JCQVVZRVFDQUFRUXhxSWhRb0FnQWdBRUV3YWlBQklBQkI4QlJxSWc0Z0FFSElPbW9pQ2hETkJpQUFRUVJxSVE4Z0FFRUlhaUVRQlNBQVFRUnFJZzhvQWdBZ0FFRUlhaUlRS0FJQUlBQkJNR29nQVNBQVFmQVVhaUlPSUFCQnlEcHFJZ29RekFZZ0FFRU1haUVVQ3lBQVFlRG5BR29oRnlBQlFad0JhaUVWSUFCQjBBdHFJUllnRGlFSUEwQUNRQ0FMSUFBb0FpUk9EUUJCQUNFSklBWWhCeUFJSVFVRFFBSkFJQWtnRnlnQ0FFNEVRQ0FGSVFnTUFRc2dDeUFBS0FJa1JnUkFJQVVoQ0F3QkN5QUZJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJFQWdCU0FPUndSQUlBVWhDQXdDQ3lBS0lCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkg4Z0NpRUlEQUlGSUFvTElRVUxJQWxCQW5RZ0RHb2dDRUVZYkNBRmFpSVJOZ0lBSUFCQjBBdHFJQWRCQTNScUlBaEJHR3dnQldvb0FoQTJBZ0FnQUNBSFFRTjBha0hVQzJvZ0NFRVliQ0FGYWlnQ0ZEWUNBQ0FBUWVUbkFHb2dDVUUwYkdvZ0FEWUNBQ0FBSUFsQk5HeHFRZWpuQUdvZ0FUWUNBQ0FBSUFsQk5HeHFRZXpuQUdvZ0VUWUNBQ0FBSUFsQk5HeHFRZkRuQUdvZ0FqWUNBQ0FKUVFGcUlRa2dCaUFIUVFGcUlnZ2dDRUVGUmhzaEJ5QUxRUUZxSVFzTUFRc0xJQWxGRFFCQkFDRUhJQVloQlFOQUlBY2dDVWNFUUNBQUlBZEJOR3hxUVpUb0FHb2dBRUhrNXdCcUlBZEJOR3hxS0FJQUlBQWdCMEUwYkdwQjZPY0FhaWdDQUNBQUlBZEJOR3hxUWV6bkFHb29BZ0FnQUNBSFFUUnNha0h3NXdCcUtBSUFJQUFnQjBFMGJHcEI5T2NBYWlnQ0FDQUFJQWRCTkd4cVFmam5BR29nQUNBSFFUUnNha0g4NXdCcUlnWVF5QVlpRVRZQ0FDQVJSUVJBSUFZcUFnQWdBQ29DS0Y0RVFDQUFLQUlBUVFGR0JFQWdGQ2dDQUNJR1FlZ0FhaUFBSUFkQk5HeHFRWURvQUdvcUFnQzdJQUFnQjBFMGJHcEJoT2dBYWlvQ0FMc2dFaUFUSUFZb0FyQUJFTjhFSUFCQjBBNXFJQVZCQTNScUlCSXJBd0MyT0FJQUlBQWdCVUVEZEdwQjFBNXFJQk1yQXdDMk9BSUFCU0FBUWRBT2FpQUZRUU4wYWlBQUlBZEJOR3hxUVlEb0FHb29BZ0EyQWdBZ0FDQUZRUU4wYWtIVURtb2dBQ0FIUVRSc2FrR0U2QUJxS0FJQU5nSUFDeUFBUVpBUmFpQUZRUXhzYWlBQUlBZEJOR3hxUVlqb0FHb29BZ0EyQWdBZ0FDQUZRUXhzYWtHVUVXb2dBQ0FIUVRSc2FrR002QUJxS0FJQU5nSUFJQUFnQlVFTWJHcEJtQkZxSUFBZ0IwRTBiR3BCa09nQWFpZ0NBRFlDQUNBQVFkQUxhaUFGUVFOMGFpQUhRUUowSUF4cUtBSUFJZ1lvQWhBMkFnQWdBQ0FGUVFOMGFrSFVDMm9nQmlnQ0ZEWUNBQ0FBUWFEZ0FHb2dCVUVZYkdvZ0JpZ0NBRFlDQUNBQUlBVkJHR3hxUWFUZ0FHb2dCaWdDQkRZQ0FDQUFJQVZCR0d4cVFhamdBR29nQmlnQ0NEWUNBQ0FBSUFWQkdHeHFRYXpnQUdwQkFEWUNBQ0FGUVFGcUlRVUxDeUFIUVFGcUlRY01BUXNMSUFVaEJnd0JDd3RCQUNFQ0EwQWdBaUFHU0FSQUlBRkJuQUZxSUFKQkdHeHFJZ1VnQUVHZzRBQnFJQUpCR0d4cUlnZ3BBZ0EzQWdBZ0JTQUlLUUlJTndJSUlBVWdDQ2tDRURjQ0VDQUNRUUZxSVFJTUFRc0xJQUVnQmtFWWJHcEJmellDcUFFZ0JrRURTQ0VDSUFBb0FnQkJBVVlFUUNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0FDZ0NFQ0FOSUFCQjBBNXFJZ0lnQUVHUUVXb2lCU0FHSUFOQkFCRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZWsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFFQXpNK00vRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZGsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFBQUFBQUFBRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUJRUUEyQXBnQlFYd01CZ3NMQ3dzTEJTQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdEU0FBUWRBT2FpSUNJQUJCa0JGcUlnVWdCaUFEUVFCREFBQ0FQeERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlE4M01URDhRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQkNBRElBSWdCU0FHSUFOQkFVT2FtUmsvRU5vQkloazRBZ0FnR1NBQUtnSXNYZ1JBSUFRZ0F5QUNJQVVnQmlBRFFRRkR6Y3pNUGhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRd0FBQUFBUTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0FVRUFOZ0tZQVVGOERBWUxDd3NMQ3dzZ0FTQUJLQUtZQVVFQmFqWUNtQUZCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FCUWVnQWFpQUFRUVIwYWlBQ1FRSjBhaUFCUVRocUlBQkJCSFJxSUFKQkFuUnFLQUlBTmdJQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDMEVBSVFBRFFDQUFRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUZCT0dvZ0FFRUVkR29nQWtFQ2RHb2dBVUVJYWlBQVFRUjBhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3dEJBQ0VBQTM4Z0FFRURSZ1IvUVFBRlFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFocUlBQkJCSFJxSUFKQkFuUnFJQUJCQkhRZ0Eyb2dBa0VDZEdvb0FnQTJBZ0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEN3c0ZRWDhMSVJnZ0RDUUdJQmdMd1FFQkEzOGpCaUVFSXdaQkVHb2tCa0drNndBUVJDSURSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQkVFSWFpRUZJQU1nQURZQ0ZDQURJQUUyQWdRZ0F5QUNOZ0lJSUFOQkdUWUNHQ0FEUVFzMkFod2dBMEVMTmdJZ0lBTkJDallDSkNBRFE1cVpHVDg0QWlnZ0EwTUFBQUJBT0FJc0lBTkI0T2NBYWtFQk5nSUFJQU5COU9jQWFpQUJJQUpzRUVRaUFEWUNBQ0FBQkVBZ0EwSDQ1d0JxUVFBMkFnQWdCQ1FHSUFNUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxMd0FnQUNnQ0NDQUJRUUowYWlJQktBSUFCSDhnQVVFQU5nSUFJQUFnQUNnQ0FFRi9hallDQUVFQUJVRi9DeG9MUGdBZ0FTQUFLQUlBSUFBb0FnUVF6d1lpQVVFQk5nSUFJQUVnQURZQ0RDQUJJQUJCQ0dvUTR3SWlBRFlDRUNBQVJBQUFBQUFBQUFBQUVJMEJJQUVMdWdFQkJuOGdBQ2dDQUNFQlFiVEVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRYkRFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXY3QWdFR2Z5TUdJUU1qQmtFd2FpUUdJQU5CR0dvaEJTQURRUkJxSVFZZ0EwRUlhaUVISUFOQklHb2lBaUFBTmdJQUlBTkJIR29pQkNBQk5nSUFJQUlRVXdSL0FuOGdBaEJTSVFBZ0JCRFNCZ1IvSUFCQkNHb2lBU0FFRUt3RFFiZ0JFRXdhSUFBb0Fnd2hBZ0pBQWtBZ0FTZ0NBQ0lFSUFBb0F0QUJSdzBBSUFBb0F0UUJJQUpIRFFBTUFRc2dBeUFFTmdJQUlBTWdBallDQkVFQVFRSkJtZGNDSUFNUVBTQUJJQUFvQXRBQklBQW9BdFFCSUFFUStRc0xJQUFRcVFNZ0FDQUJFTHdMSWdJMkFzQUJJQUpGQkVCQkFFRURRY2pYQWlBSEVEMUJmd3dDQ3lBQUlBSVFvZ2tpQWpZQzJBRWdBa1VFUUVFQVFRTkI3dGNDSUFZUVBVRi9EQUlMSUFJZ0FDZ0MyQU1RNHdnZ0FDQUJRUWhxRUs4SklnRTJBdVFCSUFFRVFDQUFLQUxZQVNBQUtBTGNBUkRIQnlBQUtBTEFBU0FBS3dPNEFpQUFLd1BBQWlBQVFkZ0NhaERHQ3lBQUlBQW9Bc0FCRUlBRU5nTG9BUVZCQUVFRFFaUFlBaUFGRUQwTFFRQUZRWDhMQ3dWQmZ3c2FJQU1rQmdzekFRSi9Jd1loQkNNR1FSQnFKQVlnQkNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQURZQ0FDQUVLQUlBSVFVZ0JDUUdJQVVMN3dJQkNIOGdBU2dDQUNJRktBSUVJUU5Cb01RREtBSUFJZ1JCZjJvaEJpQUVJQVp4UlNJSUJIOGdBeUFHY1FVZ0F5QUVUd1IvSUFNZ0JCQk9CU0FEQ3dzaEEwR2N4QU1vQWdBZ0EwRUNkR29pQnlnQ0FDRUJBMEFnQlNBQktBSUFJZ0pIQkVBZ0FpRUJEQUVMQ3dKL0FrQWdBVUdreEFOR0RRQWdBU2dDQkNFQ0lBZ0VmeUFDSUFaeEJTQUNJQVJQQkg4Z0FpQUVFRTRGSUFJTEN5QURSdzBBSUFVTUFRc2dCU2dDQUNJQ0JFQWdBaWdDQkNFQ0lBVWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJQU5HRFFFYUN5QUhRUUEyQWdBZ0JRc2lDU2dDQUNJQ0lRY2dBU0FDQkg4Z0FpZ0NCQ0VDSUFNZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElnSkhCSDlCbk1RREtBSUFJQUpCQW5ScUlBRTJBZ0FnQlNnQ0FBVWdCd3NGSUFjTE5nSUFJQWxCQURZQ0FFR294QU5CcU1RREtBSUFRWDlxTmdJQUlBQWdCVFlDQUNBQVFhVEVBellDQkNBQVFRRTZBQWdMWlFFQmZ5TUdJUUVqQmtFZ2FpUUdJQUFvQWdBaUFDZ0NBQm9nQVNBQU5nSUFJQUZCRUdvaUFDQUJLQUlBTmdJQUlBRkJCR29nQUJEVkJpQUJLQUlFSVFBZ0FVRUFOZ0lFSUFBRVFDQUJMQUFNQkVBZ0FFRVFhaEN6QXdzZ0FCQTRDeUFCSkFZTE9RRUNmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFBRUZNaUFBUkFJQUVnQURZQ0FDQUNJQUVvQWdBMkFnQWdBaERXQmdzZ0FTUUdDeThCQW44akJpRUNJd1pCRUdva0JpQUNJQUVnQUVIL0FIRkJDR29SQUFBMkFnQWdBaWdDQUNFRElBSWtCaUFEQzFBQkFuOGpCaUVESXdaQkVHb2tCaUFCSUFJb0FnQWdBQkNxQXlJQk5nSUFJQUZCQUVnRWZ5QURJQUEyQWdCQkFFRURRZlRUQWlBREVEMGdBaWdDQUJDNEFrRUFCVUVCQ3lFRUlBTWtCaUFFQzBFQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJUXJRTWdBMEVNYWlJQ0lBRWdBeUFBUVQ5eFFZb0JhaEVDQURZQ0FDQUNLQUlBSVFRZ0F4QkhJQU1rQmlBRUMzd0JBbjhqQmlFRUl3WkJFR29rQmlBRElBQWdBaWdDQUJEbENTSUFOZ0lBSUFBRWZ3Si9Ba0FDUUFKQUlBQW9BbXdPQWdBQkFnc2dBVUVBRUlvQ0drRUJEQUlMSUFGQkFoQ0tBaHBCQVF3QkN5QUJRUU1RaWdJYVFRRUxCVUVBUVFOQnJkTUNJQVFRUFNBQ0tBSUFFTGdDUVFBTElRVWdCQ1FHSUFVTG5BTUJEMzhqQmlFREl3WkI0QUJxSkFZZ0EwSFFBR29oQ2lBRFFjZ0FhaUVMSUFOQlFHc2hEQ0FEUVRocUlRVWdBMEV3YWlFR0lBTkJLR29oRFNBRFFTQnFJUTRnQTBFWWFpRVBJQU5CRUdvaEJ5QURRUWhxSVFnZ0FDZ0M2QUVoRUNBRFFkZ0FhaUlFUVFBMkFnQWdBeUFDTmdJQVFRQkJBVUh1MEFJZ0F4QTlJQUlnQTBIVUFHb2lDUkNoQ1VFQVNBUi9JQWdnQWpZQ0FFRUFRUU5CaHRFQ0lBZ1FQVUVBQlFKL0lBY2dBVFlDQUVFQVFRRkJyTkVDSUFjUVBTQUpLQUlBSUFFUW9BbEJBRWdFUUVFQVFRTkJ4ZEVDSUE4UVBVRUFEQUVMSUFRZ0NSQ2pDVUVBU0FSQVFRQkJBMEhwMFFJZ0RoQTlRUUFNQVF0QkFFRUJRWVRTQWlBTkVEMGdCaUFDTmdJQVFRQkJBVUdOMGdJZ0JoQTlJQUJCK0FGcUlBRkJBblJxSUFJUXJna2lBRFlDQUNBQVJRUkFJQVVnQWpZQ0FFRUFRUU5CbzlJQ0lBVVFQUXRCQUVFQlFZVFNBaUFNRUQwZ0FVRUtSZ1JBUVg4UUFRc2dFQ0FFS0FJQUVKNEpRUUJJQkg5QkFFRURRY1RTQWlBTEVEMUJBQVVnQkJEL0EwRUFRUUZCM2RJQ0lBb1FQVUVCQ3dzTElSRWdBeVFHSUJFTE1RRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FTQUNJQUJCUDNGQmlnRnFFUUlBTmdJQUlBTW9BZ0FoQkNBREpBWWdCQXVZQVFFQ2Z5QUFRUUZHQkg5QkFnVWdBQ0FBUVg5cWNRUi9JQUFRMFFFRklBQUxDeUlBUWJURUF5Z0NBQ0lDU3dSQUlBQVFxd01GSUFBZ0Fra0VRRUc4eEFNb0FnQ3pRY0RFQXlvQ0FKV05FSklCSVFFZ0FrRi9haUFDY1VVZ0FrRUNTM0VFZnlBQlFRRkJJQ0FCUVg5cVoydDBJQUZCQWtrYkJTQUJFTkVCQ3lJQklBQWdBQ0FCU1JzaUFDQUNTUVJBSUFBUXF3TUxDd3NMU0FFQmZ5QUFRY2dCRUZFaUF6WUNBQ0FBUWJqRUF6WUNCQ0FESUFJb0FnQW9BZ0EyQWdnZ0EwRVFha0VBUWJnQkVFVWFJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQ3o4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFUXJRTWdBa0VNYWlJQklBSWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ0VESUFJUVJ5QUNKQVlnQXd2REJnSVFmd0Y4SXdZaEFpTUdRU0JxSkFZZ0FrRVlhaUVOSUFKQkVHb2hBeUFDUVFocUlRUWdBaUVNSUFBRVFBSkFJQUZGQkVCQkFFRURRYTJwQVNBRUVEMUJmeUVFREFFTElBQW9BZ1FoQWtFQUlRUURRQUpBSUFRZ0FrNE5BQ0FBS0FJSUlBUkJBblJxS0FJQVJRMEFJQVJCQVdvaEJBd0JDd3NnQWlBRVJnUkFRWDhoQkFVZ0FSQ0lBeUlMUlFSQVFRQkJBMEhhcVFFZ0F4QTlRWDhoQkF3Q0N5QUVRUUowSVE0Z0N4RDNBaUVCQWtBRFFBSkFJQXBCQkU4TkFpQUtJQTVxSVFoQkFDRUNRUUFoQlFOQUlBVkJBMGtFUUNBRlJTRVBJQVZCQWtZaEVFRUFJUWNnQUNnQ0hDRURBMEFnQnlBRFNBUkFRUUFoQmdOQUlBWWdBMGdFUUNBQlJRMEdJQUVRN2dRaEEwRUFFUGNDSVFFZ0FDZ0NEQ0FJUVFKMGFpZ0NBQ0FGSUFZZ0J5QUFLQUljYkdwQkEyeHFRUUowYWtIL0FTQURheUlETmdJQUlBQW9BaFFnQ0VFQ2RHb29BZ0FpRVNBR0lBY2dBQ2dDSEd4cVFRSjBhaUVKSUE4RVFDQUpJQU0yQWdBRklBa2dBeUFKS0FJQWFqWUNBQ0FRQkVBZ0JpQUhJQUFvQWh4c2FrRUNkQ0FSYWlJSklBa29BZ0JCQXhBNU5nSUFDd3NnQmtFQmFpRUdJQUlnQTJvaEFpQUFLQUljSVFNTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQlVFQmFpRUZEQUVMQ3lBQ0lBQW9BaHdpQWlBQ1FRTnNiQkE1SVFkQkFDRUZRUUFoQXdOQUlBTWdBa0VEYkNBQ2JFa0VRQ0FBS0FJTUlBaEJBblJxS0FJQUlBTkJBblJxSWdZb0FnQWdCMnNoQWlBR0lBSTJBZ0FnQlNBQ0lBSnNhaUVGSUFOQkFXb2hBeUFBS0FJY0lRSU1BUXNMSUFBb0FoQWdDRUVEZEdwRVNLKzhtdkxYZWo0Z0JiZWZJaElnRWtRQUFBQUFBQUFBQUdFYk9RTUFRUUFoQlVFQUlRTURRQ0FESUFJZ0FteEpCRUFnQUNnQ0ZDQUlRUUowYWlnQ0FDQURRUUowYWlJR0tBSUFJQWRySVFJZ0JpQUNOZ0lBSUFVZ0FpQUNiR29oQlNBRFFRRnFJUU1nQUNnQ0hDRUNEQUVMQ3lBQUtBSVlJQWhCQTNScVJFaXZ2SnJ5MTNvK0lBVzNueUlTSUJKRUFBQUFBQUFBQUFCaEd6a0RBQ0FLUVFGcUlRb01BUXNMUVFCQkEwSDJxUUVnRFJBOUlBc1FPRUYvSVFRTUFnc2dDeEE0SUFBb0FnZ2dCRUVDZEdwQkFUWUNBQ0FBSUFBb0FnQkJBV28yQWdBTEN3VkJBRUVEUVpTcEFTQU1FRDFCZnlFRUN5QU1KQVlnQkFzc0FRSi9Jd1loQVNNR1FSQnFKQVlnQVNBQVFRRnhRUVpxRVJBQU5nSUFJQUVvQWdBaEFpQUJKQVlnQWdzdEFnRi9BbndqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUVEY1JFU0FEa0RBQ0FDS3dNQUlRUWdBaVFHSUFRTGpBRUFJQUJCQURZQ3dBRWdBRUVBTmdMRUFTQUFRZ0EzQXN3QklBQkNBRGNDMUFFZ0FFSUFOd0xjQVNBQVFYNDJBdkFCSUFCQkFEWUM5QUVnQUVJQU53S2dBaUFBUWdBM0FxZ0NJQUJCZ0lDQS9BTTJBckFDSUFCRUxVTWM2K0kyR2o4NUE3Z0NJQUJFQUFBQUFBQkFqMEE1QThBQ0lBQkNBRGNDeUFJZ0FFSUFOd0xRQWlBQVFRSTJBdGdEQzBFQkEzOGdBQ2dDQ0NFQkEwQWdBUVJBSUFFb0FnQWhBeUFCRURnZ0F5RUJEQUVMQ3lBQUtBSUFJUUlnQUVFQU5nSUFJQUlFUUNBQUtBSUVHaUFDRURnTEM2d0tBUTEvSXdZaEN5TUdRYUFCYWlRR0lBdEJtQUZxSVFVZ0MwR1FBV29oRHlBTFFZQUJhaUlJUVFBMkFnQWdDRUcyQVRZQ0JDQUlRY01CTmdJSUlBaEJEVFlDREVGL0lRWURRQ0FIUVFSSEJFQWdBQ0FIUVFKMElBaHFLQUlBYWl3QUFDRUtJQWRCQVdvaEJ5QUtJQWtnQ2tIL0FYRWdDVUgvQVhGS0d5RUpJQW9nQmlBS1FmOEJjU0FHUWY4QmNVZ2JJUVlNQVFzTElBbEIvd0Z4SWdjZ0JrSC9BWEVpQ1d0QkhrZ0VmeUFDUVFBMkFnQWdBMFFBQUFBQUFBRHd2emtEQUVGK0JRSi9JQWNnQ1dwQkFYWWhDa0VBSVFjRFFDQUhRUVJIQkVBZ0JTQUhhaUFLSUFBZ0IwRUNkQ0FJYWlnQ0FHb3RBQUJMT2dBQUlBZEJBV29oQnd3QkN3dEJBQ0VKQTBBQ1FDQUpRUVJQRFFBZ0NVRUJhaUVJSUFVZ0NXb3NBQUJCQVVZRVFDQUlRUU54SUFWcUxBQUFRUUZHQkVBZ0NVRUNha0VEY1NBRmFpd0FBRVVOQWdzTElBZ2hDUXdCQ3dzZ0F3SjhBa0FDUUFKQUFrQUNRQUpBQWtBZ0NVSC8vLy8vQjNFT0JRRUNBd1FBQlFzZ0FrRUFOZ0lBSUFORUFBQUFBQUFBOEw4NUF3QkJmUXdIQzBIM0FDRUlRUUFoQlVIL0FTRUhBMEFnQlVFT1JnUkFEQVlGSUFWQmZXb2hEQ0FGUWY3Ly8vOEhjVUVNUmlFTklBVkJEbXdoRGtFQUlRWURRQ0FHUVE1SEJFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQi92Ly8vd2R4SVFNZ0JTQUdja0grLy8vL0IzRUVRQ0FOSUFORklBTkJERVp5Y1VVRVFDQUlJQXRxSUFBZ0JpQU9hbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxBQUFMQUF0Qjl3QWhDRUgvQVNFSFFRQWhCZ05BSUFaQkRrWUVRQXdGQlNBR1FYMXFJUXdnQmtIKy8vLy9CM0VpQlVVaERTQUZRUXhHSVE1QkRTRUZBMEFnQlVGL1NnUkFJQVZCZldvZ0RISkJDRThFUUNBTklBVkJmbkZCREVZaUEzRkZCRUFnRGlBRElBVkJBa2x5Y1VVRVFDQUlJQXRxSUFBZ0JpQUZRUTVzYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVZCZjJvaEJRd0JDd3NnQmtFQmFpRUdEQUVMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUXdnQlVGK2NVRU1SaUFGUVFKSmNpRU5JQVZCRG13aERrRU5JUVlEUUNBR1FYOUtCRUFnRENBR1FYMXFja0VJVHdSQUlBWkJmbkZCREVZZ0RYRWdCU0FHY2tFQ1NYSkZCRUFnQ0NBTGFpQUFJQVlnRG1wcUxRQUFJQXBySWdOQkgzWTZBQUFnQ0VGL2FpRUlJQU5CQUNBRGF5QURRWDlLR3lJRElBY2dBeUFIU0JzaEJ3c0xJQVpCZjJvaEJnd0JDd3NnQlVGL2FpRUZEQUVGREFRTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVEwZ0JVRitjU0lNUVF4R0lRNGdERVVoRUVFQUlRWURRQ0FHUVE1SEJFQWdCa0Y5YWlBTmNrRUlUd1JBSUE0Z0JrSCsvLy8vQjNFaUEwVnhSUVJBSUFNZ0RISkZJQkFnQTBFTVJuRnlSUVJBSUFnZ0Myb2dBQ0FGSUFaQkRteHFhaTBBQUNBS2F5SURRUjkyT2dBQUlBaEJmMm9oQ0NBRFFRQWdBMnNnQTBGL1Noc2lBeUFISUFNZ0IwZ2JJUWNMQ3dzZ0JrRUJhaUVHREFFTEN5QUZRWDlxSVFVTUFRVU1Bd3NBQUFzQUN5QUNJQWsyQWdCRUFBQUFBQUFBOEQ4TUFRc2dCeUVBSUFJZ0NUWUNBRVFBQUFBQUFBRHdQeUFBdDBRQUFBQUFBQUErUUtNZ0FFRWVTaHNMT1FNQVFZNFdRZ0FnQ3lBUEVMVURJZ0JCQUVnRWYwRjhCU0FFQkVBZ0JDQUFOZ0lBQ3lBQklBOHBBd0EzQXdCQkFBc0xDeUVSSUFza0JpQVJDNWdCQVFKL0lBQkJBVVlFZjBFQ0JTQUFJQUJCZjJweEJIOGdBQkRSQVFVZ0FBc0xJZ0JCb01RREtBSUFJZ0pMQkVBZ0FCQ3lBd1VnQUNBQ1NRUkFRYWpFQXlnQ0FMTkJyTVFES2dJQWxZMFFrZ0VoQVNBQ1FYOXFJQUp4UlNBQ1FRSkxjUVIvSUFGQkFVRWdJQUZCZjJwbmEzUWdBVUVDU1JzRklBRVEwUUVMSWdFZ0FDQUFJQUZKR3lJQUlBSkpCRUFnQUJDeUF3c0xDd3RQQVFGL0lBQkI4QU1RVVNJRE5nSUFJQUJCcE1RRE5nSUVJQU1nQWlnQ0FDZ0NBRFlDQ0NBRFFSQnFJZ0pCQUVIZ0F4QkZHaUFDRU9RR0lBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NGRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxYd0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFaUFFRUFSeUFCUVFKSmNRUi9JQUFnQVRZQ0ZFRUFCVUYvQzBVRVFDQUNJQUUyQWdCQkFFRUJRWnkyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJTU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ZkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0lBUVFCSElBRkJBa2x4Qkg4Z0FDQUJOZ0lNUVFBRlFYOExSUVJBSUFJZ0FUWUNBRUVBUVFGQnViWUNJQUlRUFFzTElBSWtCZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRN2dnZ0FpZ0NBQVZCZndzaEF5QUJKQVlnQXd0QkFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaWdDMkFFaUFBUi9JQUJCbUlldkEyb2dBVFlDQUVFQUJVRi9DeG9MSUFJa0JndDdBZ0ovQW53akJpRUJJd1pCRUdva0JpQUJRUWhxSWdJZ0FEWUNBQ0FDRUZNRWZDQUNFRklvQXRnQklnQUVmQ0FBQkg4Z0FTQUFRWkNIcndOcUt3TUFPUU1BUVFBRlFYOExSU0VBSUFFckF3QkVBQUFBQUFBQThMOGdBQnNGUkFBQUFBQUFBUEMvQ3dWRUFBQUFBQUFBOEw4TElRUWdBU1FHSUFRTEtnRUNmd0ovSXdZaEFTTUdRUkJxSkFaQjc2Z0NRUU5COUlZQlFkSzJBa0VCUVFFUUNTQUJDeVFHQzNFQ0FuOEJmQ01HSVFJakJrRVFhaVFHSUFKQkNHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpRUFJQUZEQUFBQUFGOGdBVU1BQUlBL1lISkZCRUFnQWJzaEJDQUFLQUxZQVNJQUJFQWdBQ0FFRU9vSVJRUkFJQUlnQkRrREFFRUFRUUZCMTdZQ0lBSVFQUXNMQ3dzZ0FpUUdDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NHRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFZ0FSQ0tBa1VFUUNBQ0lBRTJBZ0JCQUVFQlFmYTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlRTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RyQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTSVFBZ0FVSC9BVTBFUUNBQUtBTFlBU0lBUlNBQlFmOEJTM0lFZjBGL0JTQUFJQUUyQWhCQkFBdEZCRUFnQWlBQk5nSUFRUUJCQVVHWnR3SWdBaEE5Q3dzTElBSWtCZ3RKQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRL1FoRklRQWdBaWdDQUVGL0lBQWJCVUYvQ3lFRElBRWtCaUFEQzBvQkFuOGpCaUVDSXdaQkVHb2tCaUFDUVFScUlnTWdBRFlDQUNBREVGTUVRQ0FERUZJb0F0Z0JJQUVRK3dORkJFQWdBaUFCTmdJQVFRQkJBVUd6dHdJZ0FoQTlDd3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE4QUNCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUVBBQWdzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBN2dDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FPNEFnc2dBaVFHQ3lzQkFuOENmeU1HSVFFakJrRVFhaVFHUVoybkFrRUJRYUNIQVVIV3R3SkIwZ0JCQVJBSklBRUxKQVlMQ1FCQjBJVUJLQUlBQzVzRUFnSi9BWDRqQmlFVEl3WkJrT0FBYWlRR0lCTkJnT0FBYWlFVUlBSkJmbXBCQTBrRVFBSkFJQkJCamhaSEJFQWdBVUVDSUJCQi93RnhJaFFnRkVFRGJDQURJQVFnQlNBR0lBY2dDQ0FKSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBSUxJQk1nRkNBTklBNGdEeUFRSUJFUXFRY2hEU0FTUlEwQklCSkNBRGNEQUF3QkN5QUJRUUpCRGtFcUlBTWdCQ0FGSUFZZ0J5QUlSQUFBQUFBQUFPdy9JQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFFTElCTWdGQ0FPSUE4Z0VSRG1CaUlPUVFCSUJFQWdEVUYvTmdJQUlBNGhEUXdCQ3lBVUtRTUFJaFZDZjFFRVFDQU5RWDgyQWdCQmV5RU5EQUVMSUEwZ0ZhZEIvLzhCY1VFQUlCVkNnSUQrL3crRFVCczJBZ0FnRWdSQUlCSWdGVGNEQUFzZ0RpRU5Dd1ZCQVNFTkN3Si9Ba0FDUUNBQ0RnVUFBQUVBQUFFTElBQkZCRUFnQ2tGL05nSUFRWDhNQWdzZ0FDZ0NIQ0lPUVFKMElROENRQUpBSUFJT0JBQUJBUUFCQ3lBQlFRQWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQU1GSUFCQkFDQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUF3c0FDeUFCUVFFZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBSUZJQUJCQVNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQWdzQUMwRUJDeUVBSUExQkFVY0VRQ0FOSUFCQkFDQUFJQTF4UVFCSUd5QUFRUUZHR3lFQUN5QVRKQVlnQUFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHUnB3SkJBa0draHdGQjJiY0NRUzVCOGdBUUNTQUJDeVFHQ3dzQVFkQ0ZBU0FBTmdJQUN6a0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFVSGtocWNDYWlnQ0FBVkJBQXNoQWlBQkpBWWdBZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRZ0FrZ0FpZ0NBQVZCQUFzaEF5QUJKQVlnQXd0YkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0FCUVFCSElnQVEvUU1nQWtIZHR3SkI0YmNDSUFBYk5nSUFRUUJCQVVIbXR3SWdBaEE5QlVFQUlRRUxJQUlrQmlBQkMrRUZBZ3AvQVgwakJpRUNJd1pCMEFCcUpBWWdBa0U0YWlFSUlBSkJNR29oQ1NBQ1Fjd0FhaUVFSUFKQnhBQnFJUVVnQWtGQWF5RUhJQUpCeUFCcUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpSURLQUwwQVNBQlRBUkFRZkNHQVNnQ0FBd0JDeUFFUVFBMkFnQWdCVUYvTmdJQUlBZERBQUNBdnpnQ0FBSkFBa0FnQXlnQzhBRWlBRUYrUmdSQUlBTW9BdWdCSUFNb0Fzd0JFSmNKSUFNb0F1Z0JJZ0FFZnlBRUlBQW9BalEyQWdBZ0JTQUFLQUk0TmdJQVFRQUZRWDhMR2lBRktBSUFJUVlnQkNnQ0FDRUZRWDhoQUVFQUlRUURRQ0FFSUFaSUJFQWdBU0FFUWNRQWJDQUZhaWdDTUVZRVFDQUVRY1FBYkNBRmFpZ0NQRVVFUUFKQUlBY2dBRUYvUmdSL0lBUkJ4QUJzSUFWcUtBSTBCU0FIS2dJQUlBUkJ4QUJzSUFWcUtnSTBJZ3hlUlEwQklBeThDellDQUNBRUlRQUxDd3NnQkVFQmFpRUVEQUVMQ3lBQVFYOU1CRUFnQTBGK05nTHdBUXdDQ3lBRElBVW9BakFpQ2pZQzhBRkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUVRUVIwSUFKcUlBWkJBblJxSUFCQnhBQnNJQVZxSUFSQkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0JFRUJhaUVFREFFTEN5QURRZmdCYWlBS1FRSjBhaWdDQUNBQ0VLMEpJQU1vQXZBQklRQUxJQUJCZjB3TkFDQURLQUxzQVNBRFFmZ0JhaUFBUVFKMGFpZ0NBQ0FES0FMRUFTQUNJQWNRemdZaUFFRUFTQVJBSUFrZ0FEWUNBRUVBUVFGQi9MY0NJQWtRUFNBRFFYNDJBdkFCREFFTElBTW9BdlFCUVg5cUlRQWdDQ0FEUWZnQmFpQURLQUx3QVVFQ2RHb29BZ0EyQWdBZ0NDQUFOZ0lFUVFCQkFVR1B1QUlnQ0JBOUlBTW9BdkFCUVg5TURRQkJBeUFCSUFjcUFnQzdJQUlxQWdDN0lBSXFBZ1M3SUFJcUFnaTdJQUlxQWd5N0lBSXFBaEM3SUFJcUFoUzdJQUlxQWhpN0lBSXFBaHk3SUFJcUFpQzdJQUlxQWlTN0lBSXFBaWk3SUFJcUFpeTdFQ3NhREFFTFFRUWdBUkFzR2d0QkFBc0ZRZWlHQVNnQ0FBc2hDeUFDSkFZZ0N3dWFBZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEVDUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQW9BZ0FnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBQ2dDRUNBQUtBSVVJQUFvQWhnZ0FDc0RJQ0FBS3dNb0lBQXJBekFnQUNzRE9DQUFRVUJyS3dNQUlBQXJBMGdnQUNzRFVDQUFLd05ZSUFBckEyQWdBQ3NEYUNBQUt3TndJQUFyQTNnZ0FDc0RnQUVnQUNzRGlBRWdBQ3NEa0FFZ0FDc0RtQUVnQUNzRG9BRWdBQ3NEcUFFZ0FDc0RzQUVnQUNzRHVBRWdBQ3NEd0FFZ0FDc0R5QUVnQUNzRDBBRWdBQ3NEMkFFZ0FDc0Q0QUVnQUNnQzhBRVFLQnBCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRElBSWtCaUFEQzgwQkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0FuOGdBeEJTSWdRb0FzZ0NJUUFnQVVFQVNDQUVLQUxNQWlBQWEwRURkU0FCVFhJRVFFSHNoZ0VvQWdBTUFRc2dBa0VBU0NBQlFRTjBJQUJxS0FJRUlnQW9BZ1FnQWt4eUJIOUI4SVlCS0FJQUJTQUFLQUlBSWdBZ0FrSEFBbXhxUVJCcUVMUUNRUUVnQWtIQUFtd2dBR29vQXJBQ0lBSkJ3QUpzSUFCcUtBSUFJQUpCd0FKc0lBQnFLQUlFSUFKQndBSnNJQUJxS3dNSUVDb2FRUUFMQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQ3lnQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkVBZ0FSQlNHZ3NnQVNRR1FYOExPQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JRU3hxQlVIb2hnRUxLQUlBSVFJZ0FTUUdJQUlMb0FVQkNYOUJDRUVJRUlzQklRZEJDRUVCRUlzQklRaEJDRUVCRUlzQklRa0RRQ0FGUVFSSEJFQWdCeWdDQUNJRUlBVkJCSFFpQTBFRGRHb2dCVUVFZENBQWFpSUdLd01BT1FNQUlBTkJBWEpCQTNRZ0JHb2dCVUVFZENBQWFpSUtLd01JT1FNQUlBTkJBbkpCQTNRZ0JHcEVBQUFBQUFBQThEODVBd0FnQTBFRGNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUVJ5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkJYSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVHY2tFRGRDQUVhaUFHS3dNQUlBVkJCSFFnQVdvaUN5c0RBS0thT1FNQUlBTkJCM0pCQTNRZ0JHb2dDaXNEQ0NBTEt3TUFvcG81QXdBZ0EwRUlja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFseVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJDbkpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFTGNrRURkQ0FFYWlBR0t3TUFPUU1BSUFOQkRISkJBM1FnQkdvZ0Npc0RDRGtEQUNBRFFRMXlRUU4wSUFScVJBQUFBQUFBQVBBL09RTUFJQU5CRG5KQkEzUWdCR29nQmlzREFDQUZRUVIwSUFGcUlnWXJBd2lpbWprREFDQURRUTl5UVFOMElBUnFJQW9yQXdnZ0Jpc0RDS0thT1FNQUlBZ29BZ0FpQkNBRlFRRjBJZ05CQTNScUlBc3JBd0E1QXdBZ0EwRUJja0VEZENBRWFpQUdLd01JT1FNQUlBVkJBV29oQlF3QkN3c2dCeERXQVJvZ0NTQUhJQWdRclFJYUlBa29BZ0FoQVVFQUlRQURRQ0FBUVFKSEJFQWdBRUVZYkNBQ2FpQUFRUU5zSWdOQkEzUWdBV29yQXdBNUF3QWdBRUVZYkNBQ2FpQURRUUZxUVFOMElBRnFLd01BT1FNSUlBQkJHR3dnQW1vZ0EwRUNha0VEZENBQmFpc0RBRGtERUNBQVFRRnFJUUFNQVFzTElBSWdBU3NETURrRE1DQUNJQUVyQXpnNUF6Z2dBa0ZBYTBRQUFBQUFBQUR3UHprREFDQUhFRWtnQ0JCSklBa1FTUXZTRXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUhJUXdnQVNBQ1FYOXFJaEJzUVFGMElBZHFJUVlEUUNBRklBRklCRUFnQmtFQU93RUFJQXhCQURzQkFDQU1RUUpxSVF3Z0JVRUJhaUVGSUFaQkFtb2hCZ3dCQ3d0QkFDRU1JQWNpQmlBQlFYOXFJaEZCQVhScUlRVURRQ0FNSUFKSUJFQWdCVUVBT3dFQUlBWkJBRHNCQUNBQlFRRjBJQVpxSVFZZ0RFRUJhaUVNSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUdRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlReEJBU0VLUVFBaEJTQUFRUUYwSUFkcUlRTUNmd0pBQTBBQ1FDQUtJQkJPRFFJZ0JTRUFRUUVoQ0NBRElRc0RRQ0FJSUJGSUJFQWdEUzBBQUNBTUxRQUFTZ1JBSUF0QkFEc0JBQVVDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEN5QU5RUUZxSVEwZ0RFRUJhaUVNSUFoQkFXb2hDQ0FMUVFKcUlRc01BUXNMSUExQkFtb2hEU0FNUVFKcUlRd2dDa0VCYWlFS0lBQWhCU0FMUVFScUlRTU1BUXNMUVFCQkEwR29wUUVnRGhBOVFYOE1BUXNnQkVFTWFpRU5RUUVoQUVFQklRY0RRQ0FISUFWTUJFQWdCeUFHS0FJQUlneEdCRUFnQUVFQmFpRURCU0FBSVFNZ0RFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUdJQUEyQWdBZ0F5RUFJQWRCQVdvaEJ5QUdRUVJxSVFZTUFRc0xJQVFnQUVGL2FpSUdOZ0lJSUFZRWZ5QU5RUUFnQmtFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FHUVFSMEVFVWFRUUFoQXdOQUlBTWdCa2dFUUNBRVFZeUFDR29nQTBFQ2RDSUFRUUowYWlBQk5nSUFJQVJCaklBSWFpQUFRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFBUVFKeVFRSjBhaUFDTmdJQUlBUkJqSUFJYWlBQVFRTnlRUUowYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFEUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlBSUFSQmtJRFFBR29nQTBFSGJDSUdRUUowYWlnQ0FDQUFLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHY2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2tnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dBMEVCYWlFRERBRUxDeUFFS0FJSUlRSkJBQ0VEQTM4Z0F5QUNTQVIvSUFSQmtJQW9haUFEUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FFUVF4cUlBTkJBblJxS0FJQXR5SVVvemtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQlNqT1FNQUlBTkJBV29oQXd3QkJVRUFDd3NGUVFBTEN5RVRJQTRrQmlBVEM0TUJBUU4vSXdZaEFTTUdRVEJxSkFZZ0FVRW9haUlDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJUUFnQVVJQU53TUFJQUZDQURjRENDQUJRZ0EzQXhBZ0FVSUFOd01ZSUFGQ0FEY0RJQ0FCSUFBb0FzUUJOZ0lBSUFGQkFUWUNFQ0FCSUFBb0Fzd0JOZ0lNSUFBb0F0Z0JJQUVRMXdnRlFlaUdBU2dDQUFzaEF5QUJKQVlnQXd1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQkVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXVMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVBRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdHRBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9JQU1RVWlJRUtBTFlBU0lBS0FJc0lBRktCSDhnQkNnQzVBRkI2THdESUFCQk1Hb2dBVUVJZEdvZ0FVRUFTQnNnQXJjUW1RaEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDM0lCQTM4akJpRURJd1pCRUdva0JpQURJQUEyQWdBZ0F4QlRCSDhnQXhCU0lnUW9BdGdCSWdBb0Fpd2dBVW9FZnlBRUtBTGtBVUhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ3QwR0FwQU1RMmdNYVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCU0FESkFZZ0JRdVFBZ0lDZndoOEl3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpZ0MyQUVpQUNnQ0xDQUJTZ1IvUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQkJnS1FES3dNQUlnUTVBNmdCSUFCQmlLUURLd01BSWdVNUE3QUJJQUJCa0tRREt3TUFJZ1k1QTdnQklBQkJtS1FES3dNQUlnYzVBOEFCSUFCQm9LUURLd01BSWdnNUE4Z0JJQUJCcUtRREt3TUFJZ2s1QTlBQklBQkJzS1FES3dNQUlnbzVBOWdCSUFCQnVLUURLd01BSWdzNUErQUJJQUFnQkNBR29DQUlvQ0FLb0VRQUFBQUFBQURRUDZJNUF6Z2dBRUZBYXlBRklBZWdJQW1nSUF1Z1JBQUFBQUFBQU5BL29qa0RBRUVBQlVId2hnRW9BZ0FMQlVIb2hnRW9BZ0FMSVFNZ0FpUUdJQU1MWkFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQURZQ0FDQURFRk1FZnlBREVGSW9BdGdCSWdBb0Fpd2dBVW9FZjBIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUNOZ0lRUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJDQURKQVlnQkFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHRHBRSkJBa0dzaHdGQm1NOENRUjlCeGdBUUNTQUJDeVFHQzVvQkFRUi9Jd1loQVNNR1FkQUJhaVFHSUFGQndBRnFJUU1nQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSUFFZ0FVRzRBV29pQWhESUMwRUFTQVIvSUFBc0FBdEJBRWdFUUNBQUtBSUFJUUFMSUFNZ0FEWUNBRUVBUVFOQmdkQUNJQU1RUFVGL0JVSEV4QU5CeE1RREtBSUFJZ0JCQVdvMkFnQWdBaUFBTmdJQUlBSVFyQU1nQVVHNEFSQk1HaUFDS0FJQUN5RUVJQUVrQmlBRUN6d0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdBb0Fzd0NJQUFvQXNnQ2EwRURkUVZCZndzaEFpQUJKQVlnQWd0aUFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVBSUFGQkFFZ0VmMEYvQlNBQUtBTE1BaUFBS0FMSUFpSUFhMEVEZFNBQlN3Ui9JQUZCQTNRZ0FHb29BZ1FvQWdRRlFYOExDd1ZCZndzaEF5QUNKQVlnQXd0M0FRSi9Jd1loQXlNR1FSQnFKQVlnQTBFRWFpSUNJQUEyQWdBZ0FoQlRCRUFnQWhCU0lnSW9BdlFCSVFBZ0FTd0FDMEVBU0FSQUlBRW9BZ0FoQVFzZ0FpQUFJQUVRM0FZRVFDQUNJQUlvQXZRQlFRRnFOZ0wwQVFWQkFFRURRY0hRQWlBREVEMUJmeUVBQ3dWQmZ5RUFDeUFESkFZZ0FBdlVBUUVFZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQkNBQ1FReHFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUVBSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FDZ0MyQUVnQUVIY0FXb2dBRUhnQVdvaUF4RGJCa1VFUUVFQVFRTkIvTklDSUFRUVBVRi9EQUVMSUFJZ0FDZ0N6QUlpQVNBQVFjZ0NhaUlFS0FJQWEwRURkVFlDQUNBQ0lBTW9BZ0EyQWdRZ0FTQUFLQUxRQWtZRVFDQUVJQUlRbGdFRklBRWdBaWtEQURjQ0FDQUFJQUFvQXN3Q1FRaHFOZ0xNQWdzZ0FpZ0NBQXNGUVg4TElRVWdBaVFHSUFVTGJ3RURmeU1HSVFNakJrRVFhaVFHSUFOQkJHb2lBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUNJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQWtIVUFtb2lBQ0FDUWR3QmFoRFpCZ1IvSUFBb0FnQUZRUUJCQTBISTB3SWdBeEE5UVg4TEJVRi9DeUVFSUFNa0JpQUVDNWNDQVFSL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdFb0FzQUJJQUVvQXRnREVORUdJUUFnQVNBQU5nTHNBU0FBQkVBZ0FVSG9BV29oQXdWQkFFRURRYUxVQWlBQ0VEMGdBVUhvQVdvaUF4Q2tDU0FCS0FMc0FTRUFDeUFBQkg4Z0FFTUFBS0JBT0FJc1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFTUFBQUEvT0FJb1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRVFOZ0lrUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSVlRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJY1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lnUVFBRlFYOExHaUFESUFFb0FzQUJFSUFFTmdJQVFRQUZRWDhMSVFRZ0FpUUdJQVFMdGdFQkJYOGpCaUVDSXdaQkVHb2tCaUFDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJZ0FvQXNRQklnRUVRQ0FCRURnZ0FFRUFOZ0xFQVNBQVFRQTJBc2dCQ3lBQUVLa0RJQUFvQXR3QkVMZ0NJQUlRMXdZZ0FFSElBbW9oQTBFQUlRRURRQ0FCSUFBb0Fzd0NJQU1vQWdBaUJHdEJBM1ZKQkVBZ0FVRURkQ0FFYWlnQ0JDSUVLQUlBRURnZ0JCQTRJQUZCQVdvaEFRd0JDd3NnQXhCVklBTVFPQ0FBRUxNRElBQVFPRUVBQlVGL0N5RUZJQUlrQmlBRkMrNEJBUVIvSXdZaEJDTUdRUkJxSkFaQnlNUURRY2pFQXlnQ0FDSURRUUZxTmdJQUlBUkJER29pQlNBRE5nSUFJQVVRVWlJRElBVW9BZ0EyQWdBZ0F5QUFOZ0xRQVNBRElBRTJBdFFCSUFNZ0FTQUFRUUowYkNJQU5nTElBU0FESUFBUVJEWUN4QUVnQXlBREtBTElBVUVFRURrUVJEWUN6QUVnQXhDM0J5SUFOZ0xjQVNBQVJRUkFRUUJCQTBIQjFBSWdCQkE5Q3lBRktBSUFJQUlRMHdZZ0JFRUlhaUlBSUFNb0FzZ0JOZ0lBUVFCQkFVSG0xQUlnQUJBOVFRQWdBeWdDQUNBREtBTEVBU0FES0FMSUFTQURRZGdDYWtHQXBBTWdBeWdDekFFUUtSb2dBeWdDQUNFR0lBUWtCaUFHQzRjSkFRRi9Jd1loQUNNR1FSQnFKQVpCbktRQ1FSb1EzQUZCb3FRQ1FjTUFFSVFCUWF1a0FrSEVBQkNFQVVHMHBBSkJGQkMyQWtHL3BBSkJGUkMyQWtIUHBBSkJGaEMyQWtIZHBBSkJGeEMyQVVIdnBBSkJ4UUFRaEFFUWtnZEJqNlVDUVJzUTNBRkJvS1VDUVJnUXRnRkJ0S1VDUVJ3UTNBRkJ4cVVDUVIwUTNBRkIzS1VDUVJrUXRnRkI4NlVDUVJvUXRnRkJrS1lDUWNjQUVJUUJRWjJtQWtISUFCQ0VBVUdxcGdKQnlRQVFoQUZCdXFZQ1FSNFEzQUZCemFZQ1FSc1F0Z0ZCMTZZQ1FSd1F0Z0ZCNUtZQ1FSMFF0Z0ZCOGFZQ1Fjb0FFSVFCUWY2bUFrSExBQkNFQVJEL0JoRDhCa0dwcHdKQkFSQzBBMEhBcHdKQkFSQzFBa0hYcHdKQkFoQzBBMEh0cHdKQkFoQzFBa0dEcUFKQktCREFBVUdVcUFKQnpBQVFoQUZCcGFnQ1FTa1F3QUZCc3FnQ1FjMEFFSVFCUWIrb0FrRXFFTUFCUWRlb0FrSE9BQkNFQVJEd0JrSDhxQUpCQXhDMUFrR0pxUUpCS3hEQUFVR2JxUUpCendBUWhBRkJyYWtDUVN3UXdBRkJ2YWtDUWRBQUVJUUJRYzJwQWtFdEVNQUJRZDZwQWtIUkFCQ0VBVUh2cVFKQjZJWUJFRXRCaktvQ1FleUdBUkJMUWFpcUFrSHdoZ0VRU3lBQVFRQTJBZ0JCeWFvQ0lBQVFTeUFBUVFFMkFnQkIycW9DSUFBUVN5QUFRUUEyQWdCQjZxb0NJQUFRU3lBQVFRQTJBZ0JCZ0tzQ0lBQVFTeUFBUVFFMkFnQkJtYXNDSUFBUVN5QUFRUUUyQWdCQnNxc0NJQUFRU3lBQVFlUUFOZ0lBUWN1ckFpQUFFRXNnQUVFQU5nSUFRZWFyQWlBQUVFc2dBRUVCTmdJQVFZQ3NBaUFBRUVzZ0FFRUFOZ0lBUVpxc0FpQUFFRXNnQUVFQU5nSUFRYldzQWlBQUVFc2dBRUVCTmdJQVFkQ3NBaUFBRUVzZ0FFRUNOZ0lBUWVxc0FpQUFFRXNnQUVFRE5nSUFRWU90QWlBQUVFc2dBRUVFTmdJQVFhbXRBaUFBRUVzZ0FFRUFOZ0lBUWM2dEFpQUFFRXNnQUVFQU5nSUFRZkN0QWlBQUVFc2dBRUVCTmdJQVFZaXVBaUFBRUVzZ0FFRUNOZ0lBUWFLdUFpQUFFRXNnQUVFQ05nSUFRYjJ1QWlBQUVFc2dBRUVGTmdJQVFkK3VBaUFBRUVzZ0FFUUFBQUFBQUFEZ1B6a0RBRUh4cmdKQm1Qa0FJQUFyQXdBUUZ5QUFRUUEyQWdCQmhxOENJQUFRU3lBQVFRRTJBZ0JCbWE4Q0lBQVFTeUFBUVFJMkFnQkJxNjhDSUFBUVN5QUFRUU0yQWdCQnZhOENJQUFRU3lBQVFRUTJBZ0JCMEs4Q0lBQVFTeUFBUVFNMkFnQkI1cThDSUFBUVN5QUFRWU1FTmdJQVFmbXZBaUFBRUVzZ0FFR0RBallDQUVHV3NBSWdBQkJMSUFCQkJEWUNBRUd5c0FJZ0FCQkxJQUJCaEFZMkFnQkJ4YkFDSUFBUVN5QUFRWVFJTmdJQVFlT3dBaUFBRUVzZ0FFRUFOZ0lBUVlHeEFpQUFFRXNnQUVFQk5nSUFRYUN4QWlBQUVFc2dBRUVDTmdJQVFjU3hBaUFBRUVzZ0FFRUROZ0lBUWVheEFpQUFFRXNnQUVFQU5nSUFRWXl5QWlBQUVFc2dBRUVCTmdJQVFhMnlBaUFBRUVzZ0FFRUNOZ0lBUWR5eUFpQUFFRXNnQUVFRE5nSUFRWWF6QWlBQUVFc2dBRUVFTmdJQVFiR3pBaUFBRUVzZ0FFRUZOZ0lBUWVXekFpQUFFRXNnQUVFR05nSUFRWmkwQWlBQUVFc2dBRUVITmdJQVFjVzBBaUFBRUVzZ0FFRUlOZ0lBUWV5MEFpQUFFRXNnQUVFSk5nSUFRWm0xQWlBQUVFc2dBQ1FHQzBNQVFaekVBMElBTndJQVFhVEVBMElBTndJQVFhekVBMEdBZ0lEOEF6WUNBRUd3eEFOQ0FEY0NBRUc0eEFOQ0FEY0NBRUhBeEFOQmdJQ0EvQU0yQWdBUW5BY0xxQUlDQkg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUFyQXdBaUJVUUFBQUFBQUFBQUFHWkZCRUFnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEIwQUFRUGtIMm9nSVFOMEg1b2dJUU55SUVLQUlBUVhScUtBSUFJQVJxRURzZ0FVR0F6Z01RT2lJQ0tBSUFLQUljSVFNZ0FrRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0FSQThJQVFnQXhCQUlBUVFQeEFBQ3lBQUt3TUlJZ1pFQUFBQUFBQUFBQUJtQkVBZ0FTUUdJQVlnQmFFUEJTQUJRY0RJQTBHVW93SVFOMEg5b1FJUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FicWpBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FCRUR3Z0FpQUFFRUFnQWhBL0VBQUxSQUFBQUFBQUFBQUFDN1lCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ3NEQUVRQUFBQUFBQUFBQUdZRVFDQUJRUUFRRkJvZ0FDQUJLQUlFdDBTTjdiV2c5OGF3UHFJZ0FTZ0NBTGVnT1FNSUlBRWtCZ1VnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEJ3d0FRUGtIMm9nSVFOMEg1b2dJUU55SUNLQUlBUVhScUtBSUFJQUpxRURzZ0FVR0F6Z01RT2lJREtBSUFLQUljSVFBZ0EwRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FSQThJQUlnQUJCQUlBSVFQeEFBQ3dzMkFRRi9Jd1loQVNNR1FSQnFKQVlnQVVFQUVCUWFJQUFnQVNnQ0JMZEVqZTIxb1BmR3NENmlJQUVvQWdDM29Ea0RBQ0FCSkFZTFJ3RUJmeU1HSVFNakJrR0FFR29rQmlBRFFZQVFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd5QUNFS2tCR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQXlBREVHQVFmaUFESkFZTFRRRURmd05BSUFJZ0FDZ0NCQ0FBS0FJQUlnTnJRUU4xU1FSQUlBSkJBM1FnQTJvb0FnQWlBeWdDQUNnQ0NDRUVJQU5CQ0NBQklBUkJBM0ZCOWdWcUVRWUFJQUpCQVdvaEFnd0JDd3NMRkFBZ0FFRU1ha0VBSUFFb0FnUkI5NkFDUmhzTENBQWdBQ2dDREJvTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUWRTR0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N4UUFJQUJCREdwQkFDQUJLQUlFUWYyZkFrWWJDd2tBSUFBb0Fnd1FPQXRSQVFKL0l3WWhBeU1HUVJCcUpBWWdBQ0FCTmdJQVFSQVFVU0lDUVFBMkFnUWdBa0VBTmdJSUlBSkJ1SVlCTmdJQUlBSWdBVFlDRENBQUlBSTJBZ1FnQXlBQk5nSUFJQU1nQVRZQ0JDQURKQVlMbFJJQ0MzOEJmaU1HSVF3akJrRWdhaVFHSUF4QkdHb2hDQ0FNUVJCcUlRNGdBVUY5YWtFRlN3Ui9JQUpCZnpZQ0FDQURRUUEyQWdBZ0JFUUFBQUFBQUFEd3Z6a0RBRUYvQlFKL0lBeEJBRFlDQUNBTUlBRWdBVUYvYWlJTGJEWUNCQ0FNSUFFZ0FXd2lEMEYvYWpZQ0NDQU1JQXMyQWd4QmZ5RUpBMEFnQjBFRVJ3UkFJQUFnQjBFQ2RDQU1haWdDQUdvc0FBQWhEU0FIUVFGcUlRY2dEU0FLSUExQi93RnhJQXBCL3dGeFNoc2hDaUFOSUFrZ0RVSC9BWEVnQ1VIL0FYRklHeUVKREFFTEN5QUtRZjhCY1NJSElBbEIvd0Z4SWdwclFSNUlCRUFnQWtGL05nSUFJQU5CQURZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVg0TUFRc2dCeUFLYWtFQmRpRUpRUUFoQndOQUlBZEJCRWNFUUNBSElBaHFJQWtnQUNBSFFRSjBJQXhxS0FJQWFpMEFBRXM2QUFBZ0IwRUJhaUVIREFFTEMwRUFJUWNDUUFKQUEwQUNRQ0FIUVFSUERRSWdCMEVCYWlFS0lBY2dDR29zQUFCQkFVWUVRQ0FLUVFOeElBaHFMQUFBUVFGR0JFQWdCMEVDYWtFRGNTQUlhaXdBQUVVTkFnc0xJQW9oQnd3QkN3c2dBeUFITmdJQURBRUxJQWRCQkVZRVFDQUNRWDgyQWdBZ0EwRUFOZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmUXdDQ3d0Qi93RWhDa0VBSVFjRFFDQUhJQTlIQkVCQkFDQUFJQWRxSWcwdEFBQWlFQ0FKYXlJSWF5QUlJQWhCQUVnYklRZ2dEU0FKSUJCTE9nQUFJQWdnQ2lBSUlBcElHeUVLSUFkQkFXb2hCd3dCQ3dzQ1FBSkFBa0FDUUFKQUlBTW9BZ0FpQXc0RUFBRUNBd1FMQTBBZ0F5QUJTQVJBSUFNZ0MwWWhDQ0FCSUFOc0lRbEJBQ0VIQTBBZ0FTQUhSd1JBSUFNZ0IzSUVRQ0FJSUFkRklBY2dDMFp5Y1VVRVFDQUFJQWNnQ1dwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0IwRUJhaUVIREFFTEN5QURRUUZxSVFNTUFRVU1CUXNBQUFzQUMwRUFJUWNEUUNBSElBRklCRUFnQjBVaENDQUhJQXRHSVFrZ0N5RURBMEFnQTBGL1NnUkFJQWdnQXlBTFJpSU5jVVVFUUNBSklBMGdBMFZ5Y1VVRVFDQUFJQWNnQVNBRGJHcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dBMEYvYWlFRERBRUxDeUFIUVFGcUlRY01BUVVNQkFzQUFBc0FDeUFMSVFNRFFDQURRWDlLQkVBZ0EwVWdBeUFMUm5JaENDQUJJQU5zSVFrZ0N5RUhBMEFnQjBGL1NnUkFJQU1nQjNKRklBY2dDMFlnQ0hGeVJRUkFJQUFnQnlBSmFtb3NBQUJCQUVldElCSkNBWWFFSVJJTElBZEJmMm9oQnd3QkN3c2dBMEYvYWlFRERBRUZEQU1MQUFBTEFBc2dDeUVEQTBBZ0EwRi9TZ1JBSUFNZ0MwWWhDQ0FEUlNFSlFRQWhCd05BSUFjZ0FVZ0VRQ0FKSUFjZ0MwWnhJQU1nQjNKRklBZ2dCMFZ4Y25KRkJFQWdBQ0FESUFFZ0IyeHFhaXdBQUVFQVI2MGdFa0lCaG9RaEVnc2dCMEVCYWlFSERBRUxDeUFEUVg5cUlRTU1BUXNMQ3lBRVJBQUFBQUFBQVBBL0lBcTNSQUFBQUFBQUFENUFveUFLUVI1S0d6a0RBQUpBQWtBQ1FBSkFBa0FnQlVHREFtc09nd2dBQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFRTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFnSURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdzZ0RpQVNwMEhnQ1dvc0FBQWlBS3czQXdBZ0FFRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CUXNNQXdzZ0RpQVNweUlBUWVBSWFpd0FBQ0lCckRjREFDQUdCRUFnQmlBQVFhQUphaTBBQURZQ0FBc2dBVUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQkFzTUFnc2dCU0FTUVFBZ0RoQzFBeUlBUVFCSUJFQWdBa0YvTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZkF3REN5QUFRUUJISUFaQkFFZHhCRUFnQmlBQU5nSUFDd3dCQ3lBT0lCSTNBd0FMSUFJZ0Rpa0RBRDRDQUVFQUN3c2hFU0FNSkFZZ0VRc2xBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUNBQkVLc0hDNjhCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ0FCS0FJQU5nSUFJQUFnQVNnQ0JEWUNCQ0FBSUFFb0FnZzJBZ2dnQUNBQktBSU1OZ0lNSUFBZ0FTZ0NFRFlDRUNBQUlBRW9BaFEyQWhRZ0FpQUJLQUlZSWdRMkFnQWdBa0VFYWlJRElBRW9BaHdpQVRZQ0FDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ0FGUVFBTElRRWdBaUFBS0FJWU5nSUFJQUFnQkRZQ0dDQURJQUFvQWh3MkFnQWdBQ0FCTmdJY0lBSVFsUUVnQWlRR0N6QUJBWDhnQUNnQ0NDRURBMEFnQXlBQ0xBQUFPZ0FBSUFBZ0FDZ0NDRUVCYWlJRE5nSUlJQUZCZjJvaUFRMEFDd3U1QVFFRmZ5TUdJUVFqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYXlBQlNRUkFRZi8vLy84SElBRWdBeUFBS0FJQWEyb2lBMGtFUUJBQUJTQUVJQU1nQUNnQ0NDQUFLQUlBSWdWcklnWkJBWFFpQnlBSElBTkpHMEgvLy8vL0J5QUdRZi8vLy84RFNSc2dBQ2dDQkNBRmF5QUFRUWhxRU5nQ0lBUWdBU0FDRUt3SElBQWdCQkRYQWlBRUVOWUNDd1VEUUNBRElBSXNBQUE2QUFBZ0FDQUFLQUlFUVFGcUlnTTJBZ1FnQVVGL2FpSUJEUUFMQ3lBRUpBWUxPQUVDZnlBQUtBSUVJQUFvQWdBaUJHc2lBeUFCU1FSQUlBQWdBU0FEYXlBQ0VLMEhCU0FESUFGTEJFQWdBQ0FCSUFScU5nSUVDd3NMSWdBZ0FDQUJJQUFvQWdSQmZtcXpFT01CSUFJZ0FDZ0NDRUYrYXJNUTR3RVFUUXRoQVFGOUlBTVE5Z0lnQkpRaEJTQURFUFVDSUFTVUlRTWdBQ0FGT0FJQUlBQWdBNHc0QWdRZ0FDQUJPQUlJSUFBZ0F6Z0NEQ0FBSUFVNEFoQWdBQ0FDT0FJVUlBQkRBQUFBQURnQ0dDQUFRd0FBQUFBNEFod2dBRU1BQUlBL09BSWdDeUlBSUFGQkNCQTVJQUJxSWdBZ0FDMEFBQ0FDUWY4QmNTQUJRUWR4ZEhJNkFBQUxpd0VCQ0g4Z0FFSFVBQkRaQTBFa0lRVkJJeUVHUVNRaEJ3TkFJQUpCSlVjRVFDQUNRUUowSUFGcUlRa2dBa0VCYWlJQ0lRZ2dCQ0VEQTBBZ0F5QUhSd1JBSUFBZ0F5QUpLZ0lBSUFoQkFuUWdBV29xQWdCZEVMRUhJQWhCQVdvaENDQURRUUZxSVFNTUFRc0xJQVlnQjJvaEJ5QUVJQVZxSVFRZ0JVRi9haUVGSUFaQmYyb2hCZ3dCQ3dzTHFBNENJSDhDZlNNR0lSSWpCa0hRQW1va0JpQVNRYUFDYWlJUklBSXFBZ0FnQWlvQ0JDQUNLZ0lJUXdBQWdEOGdBaW9DRENBUWxDSVFJQkJEQUFDQVAxMGJJakVRc0FjZ0VTb0NDQ0V5SUJFcUFoUWhFQ0FTUWZBQmFpSVRJQkVnQXhCYklCTkJDR29pR0NBUklBTkJDR29RV3lBVFFSQnFJaGtnRVNBRFFSQnFFRnNnRTBFWWFpSWFJQkVnQTBFWWFoQmJJQk5CSUdvaUd5QVJJQU5CSUdvUVd5QVRRU2hxSWh3Z0VTQURRU2hxRUZzZ0VrSEFBV29pRkNBUklBUVFXeUFVUVFocUloMGdFU0FFUVFocUVGc2dGRUVRYWlJZUlCRWdCRUVRYWhCYklCUkJHR29pSHlBUklBUkJHR29RV3lBVVFTQnFJaUFnRVNBRVFTQnFFRnNnRkVFb2FpSWhJQkVnQkVFb2FoQmJJQkpCa0FGcUloVWdFU0FGRUZzZ0ZVRUlhaUlpSUJFZ0JVRUlhaEJiSUJWQkVHb2lJeUFSSUFWQkVHb1FXeUFWUVJocUlpUWdFU0FGUVJocUVGc2dGVUVnYWlJbElCRWdCVUVnYWhCYklCVkJLR29pSmlBUklBVkJLR29RV3lBU1FlQUFhaUlXSUJFZ0JoQmJJQlpCQ0dvaUp5QVJJQVpCQ0dvUVd5QVdRUkJxSWlnZ0VTQUdRUkJxRUZzZ0ZrRVlhaUlwSUJFZ0JrRVlhaEJiSUJaQklHb2lLaUFSSUFaQklHb1FXeUFXUVNocUlpc2dFU0FHUVNocUVGc2dFa0V3YWlJWElCRWdCeEJiSUJkQkNHb2lMQ0FSSUFkQkNHb1FXeUFYUVJCcUlpMGdFU0FIUVJCcUVGc2dGMEVZYWlJdUlCRWdCMEVZYWhCYklCZEJJR29pTHlBUklBZEJJR29RV3lBWFFTaHFJakFnRVNBSFFTaHFFRnNnRWlBUklBZ1FXeUFTUVFocUlnWWdFU0FJUVFocUVGc2dFa0VRYWlJRklCRWdDRUVRYWhCYklCSkJHR29pQkNBUklBaEJHR29RV3lBU1FTQnFJZ01nRVNBSVFTQnFFRnNnRWtFb2FpSUNJQkVnQ0VFb2FoQmJJQUVnRWtISUFtb2lDQ0FTUWNRQ2FpSUhJREVnRDVRUXR3RWdBQ0FCSUJJcUFnQWdFaW9DQkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0Jpb0NBQ0FTS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUlFSUFBZ0FTQUZLZ0lBSUJJcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWdnZ0FDQUJJQVFxQWdBZ0Vpb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ0RDQUFJQUVnQXlvQ0FDQVNLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSVFJQUFnQVNBQ0tnSUFJQklxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBaFFnQVNBSUlBY2dNU0FPbEJDM0FTQUFJQUVnRnlvQ0FDQVhLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSVlJQUFnQVNBc0tnSUFJQmNxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBaHdnQUNBQklDMHFBZ0FnRnlvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDSUNBQUlBRWdMaW9DQUNBWEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FJa0lBQWdBU0F2S2dJQUlCY3FBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFpZ2dBQ0FCSURBcUFnQWdGeW9DTENBSUtBSUFJQWNvQWdBUVdUZ0NMQ0FCSUFnZ0J5QXhJQTJVRUxjQklBQWdBU0FXS2dJQUlCWXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFqQWdBQ0FCSUNjcUFnQWdGaW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NOQ0FBSUFFZ0tDb0NBQ0FXS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUk0SUFBZ0FTQXBLZ0lBSUJZcUFod2dDQ2dDQUNBSEtBSUFFRms0QWp3Z0FFRkFheUFCSUNvcUFnQWdGaW9DSkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0t5b0NBQ0FXS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUpFSUFFZ0NDQUhJREVnREpRUXR3RWdBQ0FCSUJVcUFnQWdGU29DQkNBSUtBSUFJQWNvQWdBUVdUZ0NTQ0FBSUFFZ0lpb0NBQ0FWS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUpNSUFBZ0FTQWpLZ0lBSUJVcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWxBZ0FDQUJJQ1FxQWdBZ0ZTb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ1ZDQUFJQUVnSlNvQ0FDQVZLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSllJQUFnQVNBbUtnSUFJQlVxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBbHdnQVNBSUlBY2dNU0FMbEJDM0FTQUFJQUVnRkNvQ0FDQVVLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSmdJQUFnQVNBZEtnSUFJQlFxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBbVFnQUNBQklCNHFBZ0FnRkNvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDYUNBQUlBRWdIeW9DQUNBVUtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FKc0lBQWdBU0FnS2dJQUlCUXFBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFuQWdBQ0FCSUNFcUFnQWdGQ29DTENBSUtBSUFJQWNvQWdBUVdUZ0NkQ0FCSUFnZ0J5QXhJQXFVRUxjQklBQWdBU0FUS2dJQUlCTXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFuZ2dBQ0FCSUJncUFnQWdFeW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NmQ0FBSUFFZ0dTb0NBQ0FUS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUtBQVNBQUlBRWdHaW9DQUNBVEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FLRUFTQUFJQUVnR3lvQ0FDQVRLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BS0lBU0FBSUFFZ0hDb0NBQ0FUS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUtNQVNBQklBZ2dCeUF4SUFtVUVMY0JJQUFnQVNBeUlCQWdDQ2dDQUNBSEtBSUFFRms0QXBBQklCSWtCa0VCQzB3QkFuOGpCaUVSSXdaQm9BRnFKQVlnRVNBQklBSWdBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTE1IQkg4Z0FDQVJFTElIUVFFRlFRQUxJUklnRVNRR0lCSUx0Z1FCQm44akJpRVRJd1pCRUdva0JpQUJSUVJBSUJOQndNZ0RRY2VXQWhBM1FlYVdBaEEzUWUraUFoQTNRWmtFRUQ1QjlxSUNFRGRCMUpjQ0VEY2lFU0FSS0FJQVFYUnFLQUlBYWhBN0lCTkJnTTRERURvaUVpZ0NBQ2dDSENFVUlCSkJDaUFVUVQ5eFFZb0JhaEVDQUNFU0lCTVFQQ0FSSUJJUVFDQVJFRDhRQUFzZ0FCQnhJQUlvQWdRaUZDQUNLQUlBSWhWclFSUVFPVWNFUUNBVFFjRElBMEhrbHdJUU4wSG1sZ0lRTjBIdm9nSVFOMEdhQkJBK1FmYWlBaEEzUVptWUFoQTNJaEVnRVNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNkloSW9BZ0FvQWh3aEZpQVNRUW9nRmtFL2NVR0tBV29SQWdBaEVpQVRFRHdnRVNBU0VFQWdFUkEvRUFBTFFRQWhFa0VBSVJFRFFDQVNJQlFnRld0QkZCQTVJaFJKQkVBZ0FDZ0NCQ0FSSUFBb0FnQnNhaUFCSUFJb0FnQWdFa0VVYkdvZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMUUhCRUFnQUNnQ0VDQVJRUlJzYWlJVUlBSW9BZ0FnRWtFVWJHb2lGU2tDQURjQ0FDQVVJQlVwQWdnM0FnZ2dGQ0FWTEFBUU9nQVFJQkZCQVdvaEVRc2dFa0VCYWlFU0lBSW9BZ1FoRkNBQ0tBSUFJUlVNQVFzTElCRWdGRVlFUUNBQUlCRVF2QU1nRXlRR0JTQVRRY0RJQTBHK21BSVFOMEhtbGdJUU4wSHZvZ0lRTjBIcEJCQStRZmFpQWhBM1FmR1lBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FURUR3Z0FDQUJFRUFnQUJBL0VBQUxDM01BSUFFUTBnTWdBU0FES0FJRUlBTW9BZ0JyUVJRUU9SQzhBeUFCSUFJZ0F5QUFJQUJCTUdvZ0FFSGdBR29nQUVHUUFXb2dBRUhBQVdvZ0FFSHdBV29nQUNvQ29BSWdBQ29DcEFJZ0FDb0NxQUlnQUNvQ3JBSWdBQ29Dc0FJZ0FDb0N0QUlnQUNvQ3VBSWdBQ29DdkFJUXRRY0x4d01CRFg4akJpRUNJd1pCUUdza0JpQUNRVGhxSVFrZ0FrRXdhaUVLSUFKQktHb2hDeUFDUVNCcUlRTWdBa0VZYWlFRklBSkJFR29oQmlBQ1FRaHFJUUJCSUJCRUlnRkZCRUJCQUVFRFFibllBaUFDRUQxQkFSQUJDeUFCUVFBMkFnQWdBVUV5TmdJRUlBRkJFRFlDSENBQlFjZ0JFRVFpQnpZQ0NDQUhSUVJBUVFCQkEwRzUyQUlnQUJBOVFRRVFBUXNnQVVHZ0JoQkVJZ2cyQWd3Z0NFVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQUZCb0FZUVJDSUFOZ0lVSUFCRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUJRY0FNRUVRaUFEWUNFQ0FBUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0FVSEFEQkJFSWdBMkFoZ2dBRVVFUUVFQVFRTkJ1ZGdDSUFzUVBVRUJFQUVMQWtBQ1FBSkFBMEFDUUNBRVFUSk9CRUFnQVNFTURBVUxJQVJCQW5RZ0IycEJBRFlDQUNBRVFRSjBJUVZCQUNFREEwQWdBMEVFU1FSQUlBTWdCV29pQmtFQ2RDQUlha0dBR0JCRUlnQTJBZ0FnQUVVTkFrR0FDQkJFSVFBZ0FTZ0NGQ0FHUVFKMGFpQUFOZ0lBSUFCRkRRUWdBMEVCYWlFRERBRUxDeUFFUVFGcUlRUU1BUXNMUVFCQkEwRzUyQUlnQ2hBOURBRUxRUUJCQTBHNTJBSWdDUkE5QzBFQkVBRUxJQUlrQmlBTUM2a0JBQ0FBUWRBVlFRd1F1QUVnQUVFd2FrR0FGa0VNRUxnQklBQkI0QUJxUWJBV1FRd1F1QUVnQUVHUUFXcEI0QlpCREJDNEFTQUFRY0FCYWtHUUYwRU1FTGdCSUFCQjhBRnFRY0FYUVF3UXVBRWdBRVBOek13OU9BS2dBaUFBUXpNek16NDRBcVFDSUFCREFBQ0FQamdDcUFJZ0FFTm1acVkrT0FLc0FpQUFRODNNekQ0NEFyQUNJQUJETXpQelBqZ0N0QUlnQUVQTnpBdy9PQUs0QWlBQVF3QUE0RUE0QXJ3Q0MwOEJBWDBnQVVNQUFBQUFPQUlBSUFKQmZ6WUNBQ0FBUWVRQWFpRUFBMEFnQUNnQ0FDSUFCRUFnQXlBQUtBSU1zMTBFUUNBQ0lBQW9BZ2cyQWdBZ0FTQUFLQUlNc3lJRE9BSUFDd3dCQ3dzTHV3TUNDbjhEZlNNR0lRVWpCa0VRYWlRR0lBRkJBRXdFUUNBRlFjRElBMEgxbEFJUU4wR1NsUUlRTjBIdm9nSVFOMEUxRUQ1QjlxSUNFRGRCaEpZQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRUFUQVJBSUFWQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRVFlRUGtIMm9nSVFOMEcwbGdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRUtJQVpCUDNGQmlnRnFFUUlBSVFRZ0JSQThJQU1nQkJCQUlBTVFQeEFBQ3lBQ1FYOXFJZ2xCQW5RZ0FHb2hDaUFCUVg5cUlRY0RRQ0FLS2dJQUlRMGdDQ0FIU0FSQUlBZ2hBU0FISVFNRFFBTkFJQUZCQVdvaEJDQUJRUUowSUFCcUlnc3FBZ0FpRGlBTlhRUkFJQVFoQVF3QkN3c0RRQ0FEUVg5cUlRWWdEU0FEUVFKMElBQnFJZ3dxQWdBaUQxMEVRQ0FHSVFNTUFRc0xJQUVnQTB3RVFDQUxJQTg0QWdBZ0RDQU9PQUlBSUFRaEFTQUdJUU1MSUFFZ0Ewd05BQXNnQnlBRElBRWdBa2diSVFjZ0FTQUlJQU1nQ1VnYklRZ01BUXNMSUFVa0JpQU5DelVCQVgwZ0FSRDJBaUFDbENFRElBRVE5UUlnQXBRaEFTQUFJQU00QWdBZ0FDQUJqRGdDQkNBQUlBRTRBZ2dnQUNBRE9BSU1DMElCQVg4Z0FFRVFFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQU5nSUlJQVFnQXlnQ0JEWUNEQ0FBUVFFNkFBZ2dCQ0FDTmdJRUlBUkJBRFlDQUF1YUFRRUJmU0FBS0FJMHNpRUpJQUVnQlNBQUtnSVVJZ1dUSUFBcUFoZ2dCWk1RM2dFZ0NaUTRBZ0FnQUNnQ09MSWhCU0FDSUFZZ0FDb0NIQ0lHa3lBQUtnSWdJQWFURU40QklBV1VPQUlBSUFNZ0I3dEVHQzFFVlBzaENVQ2dSSVBJeVcwd1g4US9vaUFBS0FJOHQ2SzJPQUlBSUFCQlFHc29BZ0N5SVFVZ0JDQUlJQUFxQWlRaUJwTWdBQ29DS0NBR2t4RGVBU0FGbERnQ0FBdTdEQU1MZndaOUFYd2pCaUVJSXdaQkVHb2tCaUFBS2dJVUloQWdBVjRFZjBFQUJTQUFLZ0lZSWhFZ0FWOEVmMEVBQlNBQUtnSWNJaElnQWw0RWYwRUFCU0FBS2dJZ0loTWdBbDhFZjBFQUJTQUR1eUlXUkJndFJGVDdJUW5BWlNBV1JCZ3RSRlQ3SVFsQVpISUVmMEVBQlNBQUtnSWtJaFFnQkY0RWYwRUFCU0FBS2dJb0loVWdCRjhFZjBFQUJTQVFJQUZmUlFSQUlBaEJ3TWdEUVpHS0FoQTNRYk9LQWhBM1FlK2lBaEEzUWVnQ0VENUI5cUlDRURkQnM0c0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dFU0FCWGtVRVFDQUlRY0RJQTBIQ2l3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FiT0xBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQklnQWw5RkJFQWdDRUhBeUFOQjQ0c0NFRGRCczRvQ0VEZEI3NklDRURkQjZnSVFQa0gyb2dJUU4wR0ZqQUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFUSUFKZVJRUkFJQWhCd01nRFFaU01BaEEzUWJPS0FoQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEJoWXdDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRmtRWUxVUlUreUVKd0dSRkJFQWdDRUhBeUFOQnRZd0NFRGRCczRvQ0VEZEI3NklDRURkQjdBSVFQa0gyb2dJUU4wSFlqQUlRTnlJR0tBSUFRWFJxS0FJQUlBWnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFXUkJndFJGVDdJUWxBWlVVRVFDQUlRY0RJQTBIcmpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIdEFoQStRZmFpQWhBM1FkaU1BaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQlFnQkY5RkJFQWdDRUhBeUFOQmpvMENFRGRCczRvQ0VEZEI3NklDRURkQjdnSVFQa0gyb2dJUU4wRzRqUUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFWSUFSZVJRUkFJQWhCd01nRFFjdU5BaEEzUWJPS0FoQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEJ1STBDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnQUNBQVFjUUFhaUlKSUFCQnlBQnFJZ1lnQUVITUFHb2lCU0FBUWRBQWFpSUhJQUVnQWlBRElBUVF2UWNnQ1NvQ0FFTUFBQUMva280UVF5RUtJQVlxQWdCREFBQUF2NUtPRUVNaEN3Si9JQVVxQWdCREFBQUF2NUtPRUVNaERpQUhLZ0lBUXdBQUFMK1NqaEJESVF3Z0RpQUFLQUk4SWdWcUN5QUZFRThoRFNBS1FRQklCSDlCQUFVZ0MwRUFTQ0FLUVFGcUlna2dBQ2dDTkU1eUJIOUJBQVVnREVFQVNDQUxRUUZxSWdZZ0FDZ0NPRTV5Qkg5QkFBVWdERUVCYWlJSElBQkJRR3NvQWdCSUJIOGdEVUVCYWlBRkVFOGhCU0FBSUFBZ0NpQUxJQTBnREJCOEVIc2dBQ0FBSUFrZ0N5QU5JQXdRZkJCN0lBQWdBQ0FKSUFZZ0RTQU1FSHdRZXlBQUlBQWdDU0FHSUFVZ0RCQjhFSHNnQUNBQUlBa2dCaUFGSUFjUWZCQjdJQUFnQUNBSklBWWdEU0FIRUh3UWV5QUFJQUFnQ1NBTElBVWdEQkI4RUhzZ0FDQUFJQWtnQ3lBRklBY1FmQkI3SUFBZ0FDQUpJQXNnRFNBSEVId1FleUFBSUFBZ0NpQUdJQTBnREJCOEVIc2dBQ0FBSUFvZ0JpQUZJQXdRZkJCN0lBQWdBQ0FLSUFZZ0JTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0J4QjhFSHNnQUNBQUlBb2dDeUFGSUF3UWZCQjdJQUFnQUNBS0lBc2dCU0FIRUh3UWV5QUFJQUFnQ2lBTElBMGdCeEI4RUh0QkFRVkJBQXNMQ3dzTEN3c0xDd3NMSVE4Z0NDUUdJQThMSndBZ0FBUi9JQUJCOElhdkEyb2lBQ2dDQUFSL0lBQkJBRFlDQUVFQUJVRi9Dd1ZCZndzYUM0Y0VBZ1YvQVh3akJpRU5Jd1pCSUdva0JpQU5RUkJxSVE0Z0F5QUhJQXVUSWdjNEFnQUNRQUpBSUFlN0loSkVHQzFFVlBzaENjQmxCRUFnRWtRWUxVUlUreUVaUUtDMklRY01BUVVnRWtRWUxVUlUreUVKUUdRRVFDQVNSQmd0UkZUN0lSbkFvTFloQnd3Q0N3c01BUXNnQXlBSE9BSUFDeUFIdXlJU1JCZ3RSRlQ3SVFuQVpFVUVRQ0FPUWNESUEwRzFqQUlRTjBHemlnSVFOMEh2b2dJUU4wSFVBeEErUWZhaUFoQTNRZGlNQWhBM0lnOGdEeWdDQUVGMGFpZ0NBR29RT3lBT1FZRE9BeEE2SWhBb0FnQW9BaHdoRVNBUVFRb2dFVUUvY1VHS0FXb1JBZ0FoRUNBT0VEd2dEeUFRRUVBZ0R4QS9FQUFMSUJKRUdDMUVWUHNoQ1VCbEJFQWdCQ0FJSUF3UTNnRWlCemdDQUNBTklBTXFBZ0FnQnhDN0J5QUVJQVFxQWdBUTBnRWdBQ29DTUpRNEFnQWdEU29DQ0NFSElBMHFBZ3doQ0NBQklBVWdEU29DQUNJRklBbVVJQTBxQWdRaUN5QUtsSktUSUFVZ0FDb0NDSlFnQ3lBQUtnSU1sSktTT0FJQUlBSWdCaUFISUFtVUlBZ2dDcFNTa3lBSElBQXFBZ2lVSUFnZ0FDb0NESlNTa2pnQ0FDQU5KQVlGSUE1QndNZ0RRZXVNQWhBM1FiT0tBaEEzUWUraUFoQTNRZFVERUQ1QjlxSUNFRGRCMkl3Q0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBNUJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBNFFQQ0FBSUFFUVFDQUFFRDhRQUFzTDdRUUNCMzhDZlNNR0lRY2pCa0VRYWlRR0lBZEJER29oQkNBQUtBSUFJQUFvQWdRUXhnRWhDaUFISUFNUWhBSWdBMEVBVEFSQUlBUkJ3TWdEUWJtU0FoQTNRZG1TQWhBM1FlK2lBaEEzUWRBQkVENUI5cUlDRURkQjI1TUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQUVFQVRBUkFJQVJCd01nRFFmR1RBaEEzUWRtU0FoQTNRZStpQWhBM1FkRUJFRDVCOXFJQ0VEZEJtNVFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0JFRUFUQVJBSUFSQndNZ0RRYktVQWhBM1FkbVNBaEEzUWUraUFoQTNRZElCRUQ1QjlxSUNFRGRCM1pRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0NySWhDMEVBSVFRRFFDQURJQVJIQkVBZ0JFRUNkQ0lGUVFKMElBRnFLZ0lNSUFWQkFuUWdBbW9xQWd3UTNnRWdDNVFoRENBSEtBSUFJQVJCQW5ScUlBdzRBZ0FnQkVFQmFpRUVEQUVMQ3lBSEtBSUFJZ0VnQnlnQ0JDQUJhMEVDZFNJQklBRkJBaEE1SUFGQkFYRkJmMnBxRUxvSFF3QUFnRDZVSVFzZ0FFRUZJQUFxQWhnZ0FDb0NGSk1nQzVXTkVFTVF4Z0UyQWpRZ0FFRUZJQUFxQWlBZ0FDb0NISk1nQzVXTkVFTVF4Z0VpQVRZQ09DQUFJQUVnQUNnQ05Hd2lBVFlDVkNBQUlBRWdBQ2dDUEd3MkFsZ2dCeEJWSUFja0JndTdBZ0VLZnlNR0lRVWpCa0VRYWlRR0lBVkJER29oQ1NBRlFRaHFJUW9nQlVFRWFpRUxJQUJCM0FCcUVMMERJQU1FUUNBQVFmQUFhaUlNSUFOQkFuUVFod0VnQUVIOEFHb2lEU0FERUljQklBQXNBQkFFUUNBQUlBRWdBaUFERU1FSEN3TkFJQWNnQTBnRVFDQUFJQWtnQ2lBTElBVWdCMEVDZENJRVFRSjBJQUZxSWdncUFnQWdDQ29DQkNBSUtnSUlJQWdxQWd3Z0JFRUNkQ0FDYWlJRUtnSUFJQVFxQWdRZ0JDb0NDQ0FFS2dJTUVNQUhJQUFnQ1NvQ0FDQUtLZ0lBSUFzcUFnQWdCU29DQUJDK0J3UkFJQXdvQWdBZ0JrRUVkR29pQkNBQUtBSkVOZ0lBSUFRZ0FDZ0NTRFlDQkNBRUlBQW9Ba3cyQWdnZ0JDQUFLQUpRTmdJTUlBMG9BZ0FnQmtFQ2RHb2dCellDQUNBR1FRRnFJUVlMSUFkQkFXb2hCd3dCQ3dzZ0RDQUdRUUowRUljQklBMGdCaENIQVFzZ0JTUUdDNE1CQUNBQUlBRTRBaFFnQUNBQ09BSVlJQUFnQXpnQ0hDQUFJQVE0QWlBZ0FFTUFBSUMvT0FJa0lBQkRBQUNBUHpnQ0tDQUFRUUEyQWpRZ0FFRUFOZ0k0SUFCQkREWUNQQ0FBUVVCclFRbzJBZ0FnQUVFQU5nSlVJQUJCQURZQ1dDQUFRd0FBSUVFNEFpd2dBRVBZVzk0K09BSXdJQUJCQVRvQUVDQUFRZHdBYWhDOUF3c3BBUUYvSUFBb0FnZ1F2Z01nQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3d1UEFRRUJmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBVG9BRUNBQVFSUnFJZ0ZDQURjQ0FDQUJRZ0EzQWdnZ0FVSUFOd0lRSUFGQ0FEY0NHQ0FCUWdBM0FpQWdBVUlBTndJb0lBRkNBRGNDTUNBQlFnQTNBamdnQVVGQWEwSUFOd0lBSUFGQ0FEY0NTQ0FCUWdBM0FsQWdBRUdBZ0lEOEF6WUNiQ0FBUWdBM0FuQWdBRUlBTndKNElBQkNBRGNDZ0FFTExRQWdBQ0FCUVVCcktBSUFOZ0lBSUFBZ0FTZ0NSQ0lBTmdJRUlBQUVRQ0FBSUFBb0FnUkJBV28yQWdRTEN5Y0FJQUFFZnlBQVFmQ0dyd05xSWdBb0FnQUVmMEYvQlNBQUlBRTJBZ0JCQUFzRlFYOExHZ3NyQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFCTmdJQUlBQW9BZ0JCQkdvZ0FoRERBaUVESUFJa0JpQURDN2dCQVFOL0lBRWdBU2dDQkVFQUlBSWdBQ2dDQUNJRWF5SURRUUoxYTBFQ2RHb2lCVFlDQkNBRFFRQktCRUFnQlNBRUlBTVFUQm9MSUFBb0FnUWdBbXNpQTBFQVNnUkFJQUVvQWdnZ0FpQURFRXdhSUFFZ0FTZ0NDQ0FEUVFKMlFRSjBhallDQ0FzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUMwUUJBbjhnQWlnQ0FDRURJQUVvQWdBaEFnTkFJQUlnQTBjRVFDQUFLQUlJSWdRZ0FpZ0NBRFlDQUNBQUlBUkJCR28yQWdnZ0FTQUNRUVJxSWdJMkFnQU1BUXNMQzJNQkJIOGdBQ2dDQkNJRklBTnJJZ1pCQW5VaUIwRUNkQ0FCYWlFRUlBVWhBd05BSUFRZ0Fra0VRQ0FESUFRb0FnQTJBZ0FnQUNBRFFRUnFJZ00yQWdRZ0JFRUVhaUVFREFFTEN5QUdCRUJCQUNBSGEwRUNkQ0FGYWlBQklBWVE1d0VhQ3dzL0FRRi9JQUlvQWdBaEFpQUJLQUlBSVFFRFFDQUJJQUpIQkVBZ0FDZ0NCQ0lESUFFb0FnQTJBZ0FnQUNBRFFRUnFOZ0lFSUFGQkJHb2hBUXdCQ3dzTE5BRUJmeUFBS0FJRUlRSURRQ0FDUVFBMkFnQWdBa0VBTmdJRUlBQWdBQ2dDQkVFSWFpSUNOZ0lFSUFGQmYyb2lBUTBBQ3dzN0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRjRhallDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VUQVFFQ2Z5QUFLQUlBSVFNZ0FDZ0NCQ0VDQTBBZ0FpQURSd1JBSUFFb0FnUkJlR29nQWtGNGFpSUNLUUlBTndJQUlBRWdBU2dDQkVGNGFqWUNCQXdCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUM2RUJBUVIvSXdZaEF5TUdRUkJxSkFZZ0FrRUJTZ1JBSUFKQmZtcEJBaEE1SWdKQkEzUWdBQ2dDQUNJRmFpRUFJQUVnQVNnQ0FFRjRhaUlFTmdJQUlBQWdCQkRCQVFSQUlBTWdCQ2tDQURjREFBTkFBa0FnQkNBQUtRSUFOd0lBSUFFZ0FEWUNBQ0FDUlEwQUlBSkJmMnBCQWhBNUlnSkJBM1FnQldvaUJpQURFTUVCQkVBZ0FDRUVJQVloQUF3Q0N3c0xJQUFnQXlrREFEY0NBQXNMSUFNa0JndWRBUUVGZnlNR0lRSWpCa0VnYWlRR1FmLy8vLzhCSUFBb0FnUWdBQ2dDQUd0QkEzVkJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSW9BZ2dnQVNrQ0FEY0NBQ0FDSUFJb0FnaEJDR28yQWdnZ0FDQUNFTThISUFJUXpnY2dBaVFHQ3dzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTUVESUFBZ0FSRE5Cd3NMaEFVQkNIOGpCaUVJSXdaQk1Hb2tCaUFJUVFocUlRVWdDRUVRYWlJSklBQW9BbXdnQUNnQ2FHdEJBblVRMGdkQmZ5RUVRWDhoQ2dOQUlBWWdDU2dDQkNBSktBSUFhMEVEZFVrRVFDQUFLQUpvSUFaQkFuUnFLQUlBUVFScUlBTVFnZ0loQnlBRklBQW9BbWdnQmtFQ2RHb29BZ0EyQWdBZ0JTQUhOZ0lFSUFrb0FnQWdCa0VEZEdvZ0JTa0RBRGNDQUNBR0lBb2dCeUFFU1NJTEd5RUtJQWNnQkNBTEd5RUVJQVpCQVdvaEJnd0JDd3NnQ2tGL1JnUkFJQVZCd01nRFFkbUpBaEEzUWRIeEFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIrNGtDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQlNBQUtBSm9JQXBCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lFSUFFb0FnaEpCRUFnQkNBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3lBSVFTUnFJUVpCQUNFRUEwQWdDU2dDQUNJRElRY2dCQ0FKS0FJRUlBTnJRUU4xU1FSQUlBUWdDa2NFUUNBRVFRTjBJQWRxS0FJRUlBa29BZ0FnQ2tFRGRHb29BZ1JHQkVBZ0JTQUFLQUpvSUFSQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJSElBRW9BZ2hKQkVBZ0J5QUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N3VWdDU2dDQUNBRVFRTjBhaUVESUFJb0FnUWlCeUFDS0FJSVJnUkFJQUlnQXhEUkJ5QUNLQUlFSVFNRklBY2dBeWtDQURjQ0FDQUNJQUlvQWdSQkNHb2lBellDQkFzZ0NDQUNLQUlBSWdjMkFpQWdDQ0FETmdJY0lBWWdDQ2dDSURZQ0FDQUZJQWdvQWh3MkFnQWdCaUFGSUFNZ0IydEJBM1VRMEFjTEN5QUVRUUZxSVFRTUFRc0xJQWtRMHdNZ0NDUUdDNTREQVFoL0l3WWhCQ01HUVRCcUpBWWdCRUVvYWlFSUlBUkJKR29oQ1NBRVFRaHFJUVVnQVNnQ0FDQUFLQUlBSWdFaUJtdEJBblZCQW5RZ0FXb2hBU0FES0FJQUlnb2dBaWdDQUNJRGF5SUNRUUoxSVFjZ0FrRUFTZ1JBQWtBZ0J5QUFLQUlJSUFBb0FnUWlDeUlDYTBFQ2RVb0VRRUgvLy8vL0F5QUhJQUlnQm10QkFuVnFJZ1pKQkVBUUFBVWdCU0FHSUFBb0FnZ2dBQ2dDQUNJQ2F5SUhRUUYxSWdzZ0N5QUdTUnRCLy8vLy93TWdCMEVDZFVILy8vLy9BVWtiSUFFZ0FtdEJBblVnQUVFSWFoRElBU0FFSUFNMkFnUWdCQ0FLTmdJQUlBa2dCQ2dDQkRZQ0FDQUlJQVFvQWdBMkFnQWdCU0FKSUFnUXlnY2dBQ0FGSUFFUXlRY2dCUkRIQVF3Q0N3c2dBaUFCYXlJRlFRSjFJZ1pCQW5RZ0Eyb2hBaUFISUFaS0JFQWdCQ0FDTmdJZ0lBUWdDallDSENBSklBUW9BaUEyQWdBZ0NDQUVLQUljTmdJQUlBQWdDU0FJRU13SElBVkJBRXdOQVFVZ0NpRUNDeUFBSUFFZ0N5QUhRUUowSUFGcUVNc0hJQUVoQUFOQUlBSWdBMGNFUUNBQUlBTW9BZ0EyQWdBZ0FFRUVhaUVBSUFOQkJHb2hBd3dCQ3dzTEN5QUVKQVlMaEFNQ0IzOEJmaU1HSVFRakJrRXdhaVFHSUFSQkNHb2hCU0FBS0FJSVJRUkFJQVZCd01nRFFhS0pBaEEzUWRIeEFSQTNRZStpQWhBM1FaVURFRDVCOXFJQ0VEZEJ4WWtDRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VHSUFOQkNpQUdRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUNJQU1RUUNBQ0VEOFFBQXNnQkVFY2FpRUdJQUJCQURZQ1pDQUFJQUFvQWtnMkFrd2dBRUhVQUdvaEJ5QUFLQUpZSVFJRFFDQUNJQWNvQWdBaUEwY0VRQ0FDSUFOcklnaEJDRW9FZnlBRklBTXBBZ0FpQ1RjREFDQURJQUpCZUdvaUFpa0NBRGNDQUNBQ0lBazNBZ0FnQkNBRE5nSVlJQVFnQWpZQ0ZDQUVJQU0yQWhBZ0JpQUVLQUlZTmdJQUlBUWdCQ2dDRkRZQ0lDQUZJQVFvQWhBMkFnQWdCaUFJUVFOMlFYOXFJQVVRdndNZ0FDZ0NXQVVnQWdzaEEwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQUlBTkJlR29pQWpZQ1dBd0JDd3NnQUNBSElBQW9BZ2dnQVJDN0FpQUFLQUpNSUFBb0FraHJHaUFFSkFZTHlBRUJBWDhqQmlFTkl3WkJFR29rQmlBQklBVWdDWk9MT0FJQUlBSWdCaUFLazRzNEFnQWdCQ0FJSUF5VGl6Z0NBQ0FESUFjZ0M1T0xJZ1VnQUNnQ1BMSWdCWk1RL2dFaUJUZ0NBQ0FGUXdBQUFBQmdCRUFnRFNRR0JTQU5RY0RJQTBIWGlBSVFOMEd6aWdJUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FZQ0pBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFOUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FORUR3Z0FpQUFFRUFnQWhBL0VBQUxDK29JQVFOL0l3WWhCaU1HUVJCcUpBWWdBU0FGSUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJCUElnYzJBZ0FnQWlBRklBZHJJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkE1SWdjMkFnQWdBeUFGSUFFb0FnQnJJQWNnQUNnQ05HeHJJQUFvQWxnUVR5QUFLQUpVRURraUJ6WUNBQ0FFSUFVZ0FTZ0NBR3NnQWlnQ0FDQUFLQUkwYkNBSElBQW9BbFJzYW1zZ0FDZ0NXQkE1SWdjMkFnQWdBU2dDQUNJRlFYOU1CRUFnQmtIQXlBTkJxWTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2Z0VRUGtIMm9nSVFOMEhLamdJUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQWdnQVJCQUlBZ1FQeEFBQ3lBRklBQW9BalJPQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdndFUVBrSDJvZ0lRTjBIS2pnSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFVZ0FSQkFJQVVRUHhBQUN5QUNLQUlBSWdSQmYwd0VRQ0FHUWNESUEwR0Vqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRYVdQQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCU0FCRUVBZ0JSQS9FQUFMSUFRZ0FDZ0NPRTRFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1FvQWdCQmRHb29BZ0FnQkdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQkNBQkVFQWdCQkEvRUFBTElBTW9BZ0FpQTBGL1RBUkFJQVpCd01nRFFkK1BBaEEzUWJPS0FoQTNRZStpQWhBM1FjSUJFRDVCOXFJQ0VEZEJoSkFDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQUVJQUVRUUNBRUVEOFFBQXNnQXlBQUtBSThUZ1JBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRY01CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0IwRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRY1FCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0J5QUFRVUJyS0FJQVNBUkFJQVlrQmdVZ0JrSEF5QU5CaFpFQ0VEZEJzNG9DRURkQjc2SUNFRGRCeFFFUVBrSDJvZ0lRTjBIdmtBSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCaEE4SUFJZ0FCQkFJQUlRUHhBQUN3dnhBZ0VMZnlBQUlBRVF2QUlpQWtFQVNBUi9JQUlGQW44Z0FDZ0NBQVJBSUFCQkJHb2hDQ0FBUVFocUlRVUZJQUFnQUVFSWFpSUZLQUlBSUFCQkJHb2lDQ2dDQUd3UVJDSUNOZ0lBUVg4Z0FrVU5BUm9MQTBBZ0JpQUZLQUlBSWdKSUJFQkJBQ0VDQTBBZ0FpQUlLQUlBSWdsSUJFQkJmQ0VIUVFBaENrRUFJUU1EUUNBSFFRUk1CRUFnQmlBSGFpSUVRUUJPQkVBZ0JDQUZLQUlBU0FSQUFrQWdCQ0FKYkNFTVFYd2hCQU5BSUFSQkJFb05BU0FDSUFScUlndEJmMG9nQ3lBSlNIRUVRQ0FLUVFGcUlRb2dBeUFCSUFzZ0RHcHFMUUFBYWlFREN5QUVRUUZxSVFRTUFBQUxBQXNMQ3lBSFFRRnFJUWNNQVFzTElBTWdDaEE1UWY4QmNTRURJQUFvQWdBZ0FpQUdJQWxzYW1vZ0F6b0FBQ0FDUVFGcUlRSU1BUXNMSUFaQkFXb2hCZ3dCQ3d0QkFDRURJQUloQVFOL0lBTWdDQ2dDQUNBQmJFZ0VmeUFESUFBb0FnQnFJZ0VnQVMwQUFFRjVham9BQUNBRFFRRnFJUU1nQlNnQ0FDRUJEQUVGUVFBTEN3c0xDN3dUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnWWhEU0FCSUFKQmYyb2lFR3hCQVhRZ0Jtb2hCUU5BSUFjZ0FVZ0VRQ0FGUVFBN0FRQWdEVUVBT3dFQUlBMUJBbW9oRFNBRlFRSnFJUVVnQjBFQmFpRUhEQUVMQ3lBR0lRY2dBVUYvYWlJUlFRRjBJQVpxSVExQkFDRUZBMEFnQlNBQ1NBUkFJQTFCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnRFdvaERTQUZRUUZxSVFVTUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTFCQVNFTFFRQWhCU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENTQUdJUXdEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBSUF4QkFEc0JBQVVDUUNBU1FRRjBJQXhxSWc4dUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBUFFYNXFMZ0VBSWdvaENDQUtRUUJLSVFZZ0R5NEJBaUlGUVFCTUJFQWdCZ1JBSUF3Z0Nqc0JBQ0FJUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpTQVJBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFJTElBeEJmbW91QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpUZzBDSUFVZ0NUWUNBQVVnQUVILy93RktEUVlnRENBQVFRRnFJZ1U3QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFGUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFMTmdJQUlBVWhBQXNNQVFzZ0JnUkFBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFoQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQlNBR0tBSUFSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQXhCZm1vdUFRQWlCa0VBVEFSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJnSURRQUdvaUJTZ0NBQ0FKU2dSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFaQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQmlnQ0FDQUZSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBTEN5QU5RUUZxSVEwZ0NVRUJhaUVKSUF4QkFtb2hEQXdCQ3dzZ0RVRUNhaUVOSUF0QkFXb2hDeUFBSVFVZ0RFRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBNFFQVUYvREFFTElBUkJER29oRFVFQklRQkJBU0VJQTBBZ0NDQUZUQVJBSUFnZ0J5Z0NBQ0lHUmdSQUlBQkJBV29oQXdVZ0FDRURJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQnlBQU5nSUFJQU1oQUNBSVFRRnFJUWdnQjBFRWFpRUhEQUVMQ3lBRUlBQkJmMm9pQnpZQ0NDQUhCSDhnRFVFQUlBZEJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0IwRUVkQkJGR2tFQUlRTURRQ0FESUFkSUJFQWdCRUdNZ0FocUlBTkJBblFpQUVFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQUVFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FFRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dBRUVEY2tFQ2RHcEJBRFlDQUNBRFFRRnFJUU1NQVFzTFFRQWhBd05BSUFNZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0EwRUNkR29vQWdCQmYyb2lBa0VDZEdvaUFDQUVRWkNBMEFCcUlBTkJCMndpQjBFQ2RHb29BZ0FnQUNnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUFVRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJuSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm9JRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcElEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFOQkFXb2hBd3dCQ3dzZ0JDZ0NDQ0VDUVFBaEF3Ti9JQU1nQWtnRWZ5QUVRWkNBS0dvZ0EwRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JFRU1haUFEUVFKMGFpZ0NBTGNpRktNNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBVW96a0RBQ0FEUVFGcUlRTU1BUVZCQUFzTEJVRUFDd3NoRXlBT0pBWWdFd3M2QVFGL0lBQW9BZ1FoQWdOQUlBSkRBQUFBQURnQ0FDQUNRd0FBQUFBNEFnUWdBQ0FBS0FJRVFRaHFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1TUJBUUYvUVFkQkJrRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0hDQUJRUUowSUFCcUtnSUFYaHNMZlFFQmYwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNMWndFQmYwRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd3dFJBUUYvUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc0xPd0VCZjBFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzTDhBRUNBMzhIZlNBQUlBRVF2QUlpQVVFQVRnUkFRUUVoQVFOQUlBY2dBRUVNYWlBQlFRSjBhaWdDQUNBQmJMT1NJUWNnQVVFQmFpSUJRWUFDUncwQUN5QUFLQUlFSUFBb0FnaHNzaUVNUVFBaEFRTkFBa0FnQmlBQVFReHFJQU5CQW5ScUtBSUFJZ1N6a2lJR1F3QUFBQUJjQkVBZ0RDQUdreUlMUXdBQUFBQmJEUUVnQ1NBRElBUnNzNUlpQ1NBR2xTQUhJQW1USUF1Vmt5SUtJQVlnQzVRZ0NwU1VJZ29nQ0Y0aEJTQURRZjhCY1NJRUlBRWdCUnNoQVNBS0lBZ2dCUnNoQ0FVZ0EwSC9BWEVoQkFzZ0EwRUJhaUVESUFSQi93RnhRZjhCUncwQkN3c2dBaUFCT2dBQVFRQWhBUXNnQVFzbEFRRi9RUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YkM2a0JBUUYvUVFoQkIwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSWNJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaUFnQVVFQ2RDQUFhaW9DQUY0YkMra0JBUU4vSXdZaEFpTUdRWUFEYWlRR0lBSkIwQUpxSWdNZ0FpQUJRUUFRb1FFNEFnQWdBeUFDUVNScUlBRkJBUkNoQVRnQ0JDQURJQUpCeUFCcUlBRkJBaENoQVRnQ0NDQURJQUpCN0FCcUlBRkJBeENoQVRnQ0RDQURJQUpCa0FGcUlBRkJCQkNoQVRnQ0VDQURJQUpCdEFGcUlBRkJCUkNoQVRnQ0ZDQURJQUpCMkFGcUlBRkJCaENoQVRnQ0dDQURJQUpCL0FGcUlBRkJCeENoQVRnQ0hDQURJQUpCb0FKcUlBRkJDQkNoQVRnQ0lDQURFT0lISWdGQkFuUWdBMm9xQWdCREFBQUFBRnNFZjBFQUJTQUFJQUZCQ1d4QkFuUWdBbW9RdmdKQkFRc2hCQ0FDSkFZZ0JBdW9BUUVFZnlBQUlBRVE5Z2NpQVVFQVNBUi9JQUVGSUFBb0FnZ2dBQ2dDQkd5eVF3QUFBRCtVRUpJQklRUkJBQ0VCQTBBZ0FVRUJha0VZZEVFWWRTRURJQUJCakFocUlBRkIvd0Z4SWdaQkFuUnFLQUlBSWdVZ0JFa0VRQ0FESVFFTUFRc0xBMEFnQVVFQmFrRVlkRUVZZFNFRElBUWdCVVlFUUNBQVFZd0lhaUFESWdGQi93RnhRUUowYWlnQ0FDRUZEQUVMQ3lBQ0lBWWdBVUgvQVhGcVFRRjJPZ0FBUVFBTEMwQUNBWDhCZlNBQVFmd0JhaUlDSUFCQjJBRnFJQUZCL0FGcUVHVWdBaEJhSWdOREFBQUFBRnNFZjBFQUJTQUNJQUpEQUFDQVB5QURrWlVRbEFGQkFRc0xyUUVCQlg4akJpRUNJd1pCRUdva0JpQUFRZGdCYWlJRElBQkJ0QUZxSWdVZ0FVSFlBV29pQkJCbElBQkIvQUZxSWdBZ0JTQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdBQkJhT0FJRUlBSXFBZ1FnQWlvQ0FGNGlBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JDQUFRUUowSUFScUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFR0lBSWtCaUFHQzhJQkFRWi9Jd1loQWlNR1FSQnFKQVlnQUVHMEFXb2lBeUFBUVpBQmFpSUVJQUZCdEFGcUlnVVFaU0FBUWRnQmFpSUdJQVFnQVVIWUFXb1FaU0FBUWZ3QmFpSUFJQVFnQVVIOEFXb1FaU0FDSUFNUVdqZ0NBQ0FDSUFZUVdqZ0NCQ0FDSUFBUVdqZ0NDQ0FDRU9FSElnQkJBblFnQW1vaUFTb0NBRU1BQUFBQVd3Ui9RUUFGSUFNZ0FFRUpiQ0lBUVFKMElBTnFFSXdCSUFVZ0FFRUNkQ0FGYWhDTUFTQURJQU5EQUFDQVB5QUJLZ0lBa1pVUWxBRkJBUXNoQnlBQ0pBWWdCd3ZkQVFFSGZ5TUdJUUlqQmtFUWFpUUdJQUJCa0FGcUlnTWdBRUhzQUdvaUJDQUJRWkFCYWlJRkVHVWdBRUcwQVdvaUJpQUVJQUZCdEFGcUVHVWdBRUhZQVdvaUJ5QUVJQUZCMkFGcUVHVWdBRUg4QVdvaUFDQUVJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFHRUZvNEFnUWdBaUFIRUZvNEFnZ2dBaUFBRUZvNEFnd2dBaERmQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FGSUFCQkFuUWdCV29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUWdnQWlRR0lBZ0wrQUVCQ0g4akJpRUNJd1pCSUdva0JpQUFRZXdBYWlJRElBQkJ5QUJxSWdRZ0FVSHNBR29pQlJCbElBQkJrQUZxSWdZZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdjZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdnZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdBQkJhT0FJUUlBSVEzZ2NpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUpJQUlrQmlBSkM1SUNBUWwvSXdZaEFpTUdRU0JxSkFZZ0FFSElBR29pQXlBQVFTUnFJZ1FnQVVISUFHb2lCUkJsSUFCQjdBQnFJZ1lnQkNBQlFld0FhaEJsSUFCQmtBRnFJZ2NnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2dnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2tnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0NSQmFPQUlRSUFJZ0FCQmFPQUlVSUFJUTNRY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFS0lBSWtCaUFLQzZZQ0FRcC9Jd1loQWlNR1FTQnFKQVlnQUVFa2FpSURJQUFnQVVFa2FpSUVFR1VnQUVISUFHb2lCU0FBSUFGQnlBQnFFR1VnQUVIc0FHb2lCaUFBSUFGQjdBQnFFR1VnQUVHUUFXb2lCeUFBSUFGQmtBRnFFR1VnQUVHMEFXb2lDQ0FBSUFGQnRBRnFFR1VnQUVIWUFXb2lDU0FBSUFGQjJBRnFFR1VnQUVIOEFXb2lDaUFBSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBRkVGbzRBZ1FnQWlBR0VGbzRBZ2dnQWlBSEVGbzRBZ3dnQWlBSUVGbzRBaEFnQWlBSkVGbzRBaFFnQWlBS0VGbzRBaGdnQWhEY0J5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRUlBQkJBblFnQkdvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFzZ0FpUUdJQXNMeXdFQkJYOGpCaUVDSXdaQklHb2tCaUFDSUFFUVdqZ0NBQ0FDSUFGQkpHb2lBeEJhT0FJRUlBSWdBVUhJQUdvUVdqZ0NDQ0FDSUFGQjdBQnFFRm80QWd3Z0FpQUJRWkFCYWhCYU9BSVFJQUlnQVVHMEFXb1FXamdDRkNBQ0lBRkIyQUZxRUZvNEFoZ2dBaUFCUWZ3QmFoQmFPQUljSUFJUTJ3Y2lCRUVDZENBQ2FpSUZLZ0lBUXdBQUFBQmJCSDlCQUFVZ0FTQUVRUWxzUVFKMElBRnFFSXdCSUFBZ0FVTUFBSUEvSUFVcUFnQ1JsUkNVQVNBQVFTUnFJQU5CUHhDNEFVRUJDeUVHSUFJa0JpQUdDNGNCQVFKL0l3WWhBaU1HUWFBQ2FpUUdJQUlnQVJEc0J3Ui9JQUlnQVJEckJ3Ui9JQUlnQVJEcUJ3Ui9JQUlnQVJEcEJ3Ui9JQUlnQVJEb0J3Ui9JQUlnQVJEbkJ3Ui9JQUlnQVJEbUJ3Ui9JQUlnQVJEbEJ3Ui9JQUFnQWhEakJ3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMSVFNZ0FpUUdJQU1MTWdBZ0FDQUJJQVVRL0FFZ0FFSElBR29nQWlBR0VQd0JJQUJCa0FGcUlBTWdCeEQ4QVNBQVFkZ0JhaUFFSUFnUS9BRUxtQUlCQm4wZ0FTb0NHQ0lHSUFVcUFnQWlCNVFnQVNvQ0FDQUVsWkloQ2lBSElBRXFBaHdpQ0pRZ0FTb0NCQ0FFbFpJaEJ5QUdJQVVxQWdRaUNaUWdBU29DRENBRWxaSWhCaUFJSUFtVUlBRXFBaEFnQkpXU0lRZ2dBeW9DQUNBQ2xDRUpJQU1xQWdRZ0FwUWhDeUFBSUFvZ0FwUTRBZ0FnQUNBSElBS1VPQUlFSUFBZ0FTb0NJQ0FGS2dJQWxDQUJLZ0lJSUFTVmtpQUtJQW1Va3lBSElBdVVremdDQ0NBQUlBWWdBcFE0QWd3Z0FDQUlJQUtVT0FJUUlBQWdBU29DSUNBRktnSUVsQ0FCS2dJVUlBU1ZraUFHSUFtVWt5QUlJQXVVa3pnQ0ZDQUFJQUVxQWhnZ0FwUWlCRGdDR0NBQUlBRXFBaHdnQXBRaUFqZ0NIQ0FBSUFFcUFpQWdCQ0FES2dJQWxKTWdBaUFES2dJRWxKTTRBaUFMVEFFQ2Z5TUdJUWtqQmtHZ0Ftb2tCaUFKSUFFZ0FpQURJQVFnQlNBR0lBY2dDQkR1QnlBQUlBa1E3UWNFZnlBQUVNY0RpN3RFOFdqamlMWDQ1RDVqUlFWQkFBc2hDaUFKSkFZZ0NndTJCQUlLZndOOUl3WWhCeU1HUVJCcUpBWWdBa0VBVEFSQUlBZEJ3TWdEUWZXVUFoQTNRWktWQWhBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQmhKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEVBVEFSQUlBZEJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUWRNQUVENUI5cUlDRURkQnRKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEYvYWlJS1FRTjBJQUZxSVFzZ0NrRURkQ0FCYWlFTklBSkJmMm9oQlVFQUlRWURRQ0FHSUFWSUJFQWdDeW9DQUNFT0lBMG9BZ1FoRENBR0lRSWdCU0VFQTBBRFFBSkFJQUpCQTNRZ0FXb2lDQ29DQUNJUElBNWRSUVJBSUE0Z0QxME5BU0FDUVFOMElBRnFLQUlFSUF4T0RRRUxJQUpCQVdvaEFnd0JDd3NEUUFKQUlBNGdCRUVEZENBQmFpSUpLZ0lBSWhCZFJRUkFJQkFnRGwwTkFTQU1JQVJCQTNRZ0FXb29BZ1JPRFFFTElBUkJmMm9oQkF3QkN3c2dBaUFFVEFSQUlBZ2dFRGdDQUNBSklBODRBZ0FnQWtFRGRDQUJhaUlJS0FJRUlRa2dDQ0FFUVFOMElBRnFJZ2dvQWdRMkFnUWdDQ0FKTmdJRUlBSkJBV29oQWlBRVFYOXFJUVFMSUFJZ0JFd05BQXNnQlNBRUlBSWdBMGdiSVFVZ0FpQUdJQVFnQ2tnYklRWU1BUXNMSUFBZ0N5a0NBRGNDQUNBSEpBWUxnUUVCQVgwZ0FDQUFLZ0lBUXdBQWdEOGdBQ29DSUpVaUFaUTRBZ0FnQUNBQklBQXFBZ1NVT0FJRUlBQWdBU0FBS2dJSWxEZ0NDQ0FBSUFFZ0FDb0NESlE0QWd3Z0FDQUJJQUFxQWhDVU9BSVFJQUFnQVNBQUtnSVVsRGdDRkNBQUlBRWdBQ29DR0pRNEFoZ2dBQ0FCSUFBcUFoeVVPQUljSUFCREFBQ0FQemdDSUF0NUFnTi9BbjBqQmlFRUl3WkJFR29rQmlBRVFRaHFJZ1ZCQkdvaEJpQUZJQVlnQUNBQktnSUFJQUVxQWdRUXZRSWdCQ0FGS2dJQUlBSXFBZ0NUT0FJQUlBUWdCaW9DQUNBQ0tnSUVremdDQkNBRUtnSUFJZ2NnQjVRZ0JDb0NCQ0lISUFlVWtpQURsRU1BQUlBL2toRFNBU0VJSUFRa0JpQUlDL2NCQVExL0l3WWhBaU1HUVRCcUpBWUNmeUFDUVNCcUlnTWdBQ0FCRUtvQklBSkJHR29pQkNBQUlBRkJDR29pQnhDcUFTQUNRUkJxSWdVZ0FDQUJRUkJxSWdZUXFnRWdBa0VJYWlJS0lBTVF4UU1nQWlBRUVNVURJQUVnQnlBR0lBTWdCQ0FGRVAwQkJIOUJBeUVJSUFjaENTQUJJUXNEUUNBSVFRUklCRUFnQXlBQUlBWkJDR29pQmhDcUFVRUFJQXRCQ0dvaUN5QUpRUWhxSWdrZ0JpQUVJQVVnQXhEOUFVVU5BeG9nQXlFTklBaEJBV29oQ0NBRUlRTWdCU0VFSUEwaEJRd0JDd3NnQ1NBR0lBRWdCQ0FGSUFvUS9RRUVmeUFHSUFFZ0J5QUZJQW9nQWhEOUFRVkJBQXNGUVFBTEN5RU9JQUlrQmlBT0M5UUJBUTUvSXdZaENTTUdRWUFCYWlRR0lBbEIrQUJxSVFvZ0NVSG9BR29oQ3lBSlFVQnJJUXdnQ1VFNGFpRU5JQWxCTUdvaERpQUpRU2hxSVE4Z0NVSGdBR29pRUNBSlFkZ0FhaUlSSUFsQjBBQnFJaElnQ1VISUFHb2lFeUFKUWZ3QWFpSVVJQWxCOEFCcUloVWdBU0FDSUFNZ0JCREVBd1IvSUF3Z0RTQU9JQThnQ2lBTElBVWdCaUFISUFnUXhBTUVmeUFKSUJBZ0VTQVNJQk1nRENBTklBNGdEeER3QndSL0lBQWdDU0FVS2dJQUlCVWdDaW9DQUNBTEVPOEhRUUVGUVFBTEJVRUFDd1ZCQUFzaEZpQUpKQVlnRmd0UEFRRi9JQUFnQVJDOEFpSUJRUUJPQkVCQkFDRUJBMzhnQUVHTUNHb2dBVUVDZEdvZ0FpQUFRUXhxSUFGQkFuUnFLQUlBYWlJQ05nSUFJQUZCQVdvaUFVR0FBa2NOQUVFQUN5RUJDeUFCQzVrQkFRRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUlRZ2dCQ0FGSUFZUWhRRkRBQUFBQUY0Z0NITUVmMEVBQlNBQklBSWdBeENGQVVNQUFBQUFYaUFGSUFZZ0J4Q0ZBVU1BQUFBQVhuTUVmMEVBQlNBQ0lBTWdBQkNGQVVNQUFBQUFYaUFHSUFjZ0JCQ0ZBVU1BQUFBQVhuTUVmMEVBQlNBRElBQWdBUkNGQVVNQUFBQUFYaUFISUFRZ0JSQ0ZBVU1BQUFBQVhuTkJBWE1MQ3dzTGtBa0NDbjhCZlNNR0lSRWpCa0VRYWlRR0lCRkJDR29oRHlBRktBSUVJQVVvQWdCclFRSjFJQWxCQ1d4SkJFQWdEMEhBeUFOQjA0UUNFRGRCallVQ0VEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR1VoZ0lRTnlJTUlBd29BZ0JCZEdvb0FnQnFFRHNnRDBHQXpnTVFPaUlOS0FJQUtBSWNJUTRnRFVFS0lBNUJQM0ZCaWdGcUVRSUFJUTBnRHhBOElBd2dEUkJBSUF3UVB4QUFDeUFHS0FJRUlBWW9BZ0FpREd0QkFuVWdBMGtFUUNBUFFjRElBMEhHaGdJUU4wR05oUUlRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWZpR0FoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBY29BZ1FnQnlnQ0FHdEJBM1VnQ1VrRVFDQVBRY0RJQTBHaWh3SVFOMEdOaFFJUU4wSHZvZ0lRTjBINUFCQStRZmFpQWhBM1FlQ0hBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQU5CQkVnRWYwRUFCU0FSUWRJSk5nSUFJQWdRYVNFSUlBc2dBeENGQWlFTklBd2dBeERjQXlBTUlBTWdBeUFSRU1FQ1FRQWhCZ05BSUJBZ0NrZ2dCaUFKU0hFRVFDQU1JQU5CQkNBUkVNRUNJQXdvQWdCQkFYUWlDMEVDZENBQmFpQU1LQUlFUVFGMElnNUJBblFnQVdvZ0RDZ0NDRUVCZENJU1FRSjBJQUZxSUF3b0FneEJBWFFpRTBFQ2RDQUJhaUFMUVFKMElBSnFJQTVCQW5RZ0Ftb2dFa0VDZENBQ2FpQVRRUUowSUFKcUVQY0hCRUFnQlNnQ0FDQUdRUWxzSWd0QkFuUnFJQXdvQWdCQkFYUWlEa0VDZENBQmFpQU1LQUlFUVFGMEloSkJBblFnQVdvZ0RDZ0NDRUVCZENJVFFRSjBJQUZxSUF3b0FneEJBWFFpRkVFQ2RDQUJhaUFPUVFKMElBSnFJQkpCQW5RZ0Ftb2dFMEVDZENBQ2FpQVVRUUowSUFKcUVQVUhCRUFnQlNnQ0FDQUxRUUowYWlBRUVQUUhCRUFnQmtFQmFpRUdDd3NMSUJCQkFXb2hFQXdCQ3d0REFBQ0FQeUFJbFNFSUlBWUVmeUFIS0FJQUlRUkJBQ0VMQTBBZ0N5QUdTQVJBSUF0QkEzUWdCR3BEQUFBQUFEZ0NBQ0FMUVFOMElBUnFJQXMyQWdRZ0MwRUJhaUVMREFFTEMwRUFJUXNnQmlFS0EwQWdDeUFEU0NBS1FRSktjUVJBSUEwZ0F5QUxheENGQWlBTGFpRUdRUUFoRUNBSEtBSUFJUVFEUUNBS0lCQkhCRUFnQlNnQ0FDQVFRUU4wSUFScUtBSUVRUWxzUVFKMGFpRU9JQXNoQ1FOQUlBa2dCa2dFUUNBT0lBbEJBblFnREdvb0FnQkJBWFFpQkVFQ2RDQUJhaUFFUVFKMElBSnFJQWdROHdjaEZpQUhLQUlBSWdRZ0VFRURkR29pRWlBV0lCSXFBZ0NTT0FJQUlBbEJBV29oQ1F3QkN3c2dFRUVCYWlFUURBRUxDeUFQSUFRZ0NpQUtRUUlRT1NBS1FRRnhRWDlxYWhEeEJ5QUdJUXNnQ2tFQmRTRUtEQUVMQzBFQklRTWdCeWdDQUNJQ0tnSUFJUWdnQWlnQ0JDRUJBMEFnQXlBS1NBUkFJQU5CQTNRZ0Ftb3FBZ0FpRmlBSVhRUkFJQlloQ0NBRFFRTjBJQUpxS0FJRUlRRUxJQU5CQVdvaEF3d0JDd3NnQUNBRktBSUFJQUZCQ1d4QkFuUnFFTDRDSUFBUThnZEJBUVZCQUFzTElSVWdFU1FHSUJVTFpRQkJBVUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVHMEVCUVg4Z0FTQUNJQU1RaFFGREFBQUFBRjRiYWtFQlFYOGdBaUFESUFBUWhRRkRBQUFBQUY0YmFrRUJRWDhnQXlBQUlBRVFoUUZEQUFBQUFGNGJhaUlBUVFBZ0FHc2dBRUYvU2h0QkJFWUxqZ0VDQkg4R2ZTTUdJUVFqQmtFd2FpUUdJQVJCSUdvaUJTQUJJQUFRM3dFZ0JFRVlhaUlHSUFJZ0FCRGZBU0FFUVJCcUlnY2dBeUFBRU44QklBUkJDR29pQUNBQklBSVEzd0VnQkNBRElBSVEzd0VnQlNBR0VQOEJBbjBnQmlBSEVQOEJJUXdnQlNBSEVQOEJJUW9nQUNBRUVQOEJJUXNnREFzUS9nRWdDaEQrQVNBTEVQNEJJUTBnQkNRR0lBMEw2Z0VDQ1g4QmZTTUdJUU1qQmtIZ0FHb2tCaUFEUWRnQWFpRUVJQU5CMEFCcUlRVWdBMEhJQUdvaEJpQURRVUJySVFjZ0EwRTRhaUVJSUFOQk1Hb2hDU0FEUVNocUlRb2dBeUFBUTZ6Rkp6Y1F5QU1FZnlBSUlBR3lJZ3c0QWdBZ0NFTUFBQUFBT0FJRUlBa2dERGdDQUNBSklBS3lJZ3c0QWdRZ0NrTUFBQUFBT0FJQUlBb2dERGdDQkNBRUlBTkJsTVFERUtvQklBVWdBeUFJRUtvQklBWWdBeUFKRUtvQklBY2dBeUFLRUtvQklBUWdCU0FHSUFjUStnY2dBU0FDYkxkRUxVTWM2K0kyR2oraXRsMEVmMEVBQlNBRUlBVWdCaUFIRVBrSEN3VkJBQXNoQ3lBREpBWWdDd3M2QVFGL0lBQkJER29pQmlBRUVJY0JJQUVnQWlBRElBUWdCU0FBSUFZZ0FFRVlhaUFBS2dJa0lBQW9BaWdnQUNnQ0xDQUFLQUl3RVBnSEM4b0dBZzEvQVgwakJpRUlJd1pCUUdza0JpQUlRU2hxSVFRZ0NFRTBhaUVNSUFoQk1Hb2hEU0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVCREFBQWdRUkJwSVJFZ0NDQURRd0FBQUFBUXlBTkZCRUFnQkVIQXlBTkI0b0VDRURkQis0RUNFRGRCNzZJQ0VEZEJ4QUVRUGtIMm9nSVFOMEg2Z2dJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0JCQThJQU1nQlJCQUlBTVFQeEFBQ3lBQUlBRVFjUkNBQWdKQUFrQURRQ0FKSUFFUWNVa0VRQ0FCSUFrUXhBRWhEeUFNSUEwZ0NDQUJJQWtRd3dFaURpb0NBQ0FPS2dJRUVMMENRUUFoQmtGL0lRVkJmeUVLUWYvLy8vOEhJUU1EUUNBR0lBSVFjVWtFUUNBQ0lBWVF3d0VoQnlBT0xBQVFJQWNzQUJCR0JFQWdEQ29DQUNBSEtnSUFreEJwSUEwcUFnQWdCeW9DQkpNUWFaSWdFVjVGQkVBZ0R5QUNJQVlReEFFUTJ3TWlCeUFGU1NFTElBVWdCeUFLSUFjZ0Nra2JJQXNiSVFvZ0JpQURJQXNiSVFNZ0J5QUZJQXNiSVFVTEN5QUdRUUZxSVFZTUFRc0xJQVZCZjBjRVFBSkFJQU5CZjBZTkJDQUtRWDlHQkVBZ0JDQUpJQU1Rd2dFZ0FDZ0NCQ0lESUFBb0FnaEpCRUFnQXlBRUtRTUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBVWdBQ0FFRUpZQkN3d0JDeUFGc3lBS3M1VWdBQ29DREYwRVFDQUVJQWtnQXhEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxDd3NMSUFsQkFXb2hDUXdCQ3dzTUFRc2dCRUhBeUFOQm00TUNFRGRCKzRFQ0VEZEI3NklDRURkQjhRRVFQa0gyb2dJUU4wSGpnd0lRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdBQWhBK1FmYWlBaEEzUWJHRUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUVFRHdnQUNBQkVFQWdBQkEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoRUFzTEN5QUlKQVlnRUF2OEF3RU1meU1HSVE0akJrRVFhaVFHSUE0aEJDQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUFnQUNBQkVIRVFnQUlEUUNBRklBRVFjVWtFUUNBQklBVVF4QUVoRENBQklBVVF3d0VoRFVFQUlRZEJmeUVHUWYvLy8vOEhJUWhCZnlFREEwQWdCeUFDRUhGSkJFQWdEU3dBRUNBQ0lBY1F3d0VzQUJCR0JFQWdCeUFJSUF3Z0FpQUhFTVFCRUlJQ0lnb2dCa2tpQ3hzaENDQUdJQW9nQXlBS0lBTkpHeUFMR3lFRElBb2dCaUFMR3lFR0N5QUhRUUZxSVFjTUFRc0xJQVpCZjBjRVFBSkFJQU5CZjBZRVFDQUVJQVVnQ0JEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFheklBT3psU0FBS2dJTVhRUkFJQVFnQlNBSUVNSUJJQUFvQWdRaUF5QUFLQUlJU1FSQUlBTWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JVRUJhaUVGREFFTEN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wSHdBQkErUWZhaUFoQTNRYkdFQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRUVEd2dBaUFBRUVBZ0FoQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhDUXNMQ3lBRUpBWWdDUXVwQlFFTGZ5TUdJUVFqQmtFUWFpUUdJQUFnQUNnQ0FEWUNCQ0FCRUhFRVFDQUNFSEVFUUNBQUlBRVFjUkNBQWdKQUFrQURRQ0FHSUFFUWNVa0VRQ0FESUFFZ0JoREVBU0lNRU5VSElBRWdCaEREQVNFTklBTkJ5QUJxSVFwQkFDRUhRWDhoQlVGL0lRaEIvLy8vL3djaEN3TkFJQWNnQ2lnQ0JDQUtLQUlBSWdsclFRSjFTUVJBSUEwc0FCQWdBaUFIUVFKMElBbHFLQUlBRU1NQkxBQVFSZ1JBSUF3Z0FpQUtLQUlBSUFkQkFuUnFLQUlBRU1RQkVJSUNJZ2tnQlVrRWZ5QUZJUWdnQ2lnQ0FDQUhRUUowYWlnQ0FDRUxJQWtGSUFrZ0NDQUpJQWhKR3lFSUlBVUxJUVVMSUFkQkFXb2hCd3dCQ3dzZ0JVRi9Sd1JBQWtBZ0MwRi9SZzBFSUFoQmYwWUVRQ0FFSUFZZ0N4RENBU0FBS0FJRUlnVWdBQ2dDQ0VrRVFDQUZJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBV3pJQWl6bFNBQUtnSU1YUVJBSUFRZ0JpQUxFTUlCSUFBb0FnUWlCU0FBS0FJSVNRUkFJQVVnQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCa0VCYWlFR0RBRUxDd3dCQ3lBRVFjRElBMEdiZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdnQVJBK1FmYWlBaEEzUWVPREFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BZ1FnQUNnQ0FHdEJBM1VnQVJCeFN3UkFJQVJCd01nRFFmV0RBaEEzUWZ1QkFoQTNRZStpQWhBM1FhOEJFRDVCOXFJQ0VEZEJzWVFDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQVVnQUNnQ0JDQUFLQUlBYTBFRGRTRU9Dd3NMSUFRa0JpQU9DNXNHQVE5L0l3WWhCU01HUVpBQmFpUUdJQVZCNkFCcUlRSWdCVUhJQUdvaEF5QUZRU2hxSVFRZ0FDQUFRUXhxSWcwb0FnQTJBaEFnQUVGL05nSVlJQUVRaGdGQkVHb2hDU0FBUWZ3RWFpRUlJQUJCakFWcUlRd2dBRUdVQm1vaERpQUFRUnhxSVE4Z0FFSFFBR29oQ3dOQUlBc29BZ0FpQ3dSQUlBSkJub0FDRUhrZ0FDd0FDRVVoRUNBQkVJWUJJUWNnQzBFTWFpSUdLQUlBRUlZQklRb0NRQUpBSUJBRVFDQUlJQWNnQ2hEK0J5QUFLQUlBVHcwQkJTQUlJQWNnQ2lBTEtBSU1RU1JxRVA4SElBQW9BZ0JQRFFFTElBSVFhd3dCQ3lBQ0VHc2dCaWdDQUJDR0FSQ0JBaUVISUFKQnI0QUNFSGtnRENBSklBY2dDQ0FCS0FJQUlBRW9BZ1FnQmlnQ0FDZ0NBQ0FHS0FJQUtBSUVFTXdESWdwQkFFZ0VRQ0FDRUdzTUFRc2dBaEJySUFKQkFEWUNBQ0FDUVFBMkFnUWdBa0VBTmdJSUlBVkJ3SUFDRUhrZ0FpQU1JQWdnQ2hETEF5QUZFR3NnQTBIWGdBSVFlUUpBSUFVZ0NTQUhJQUlnRGlBR0tBSUFLQUlBSUFZb0FnQW9BZ1FReWdORkJFQWdBeEJyREFFTElBTVFheUFEUVFBMkFnQWdBMEVBTmdJRUlBTkJBRFlDQ0NBRVFlK0FBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtEQWtBZ0F5Z0NCQ0FES0FJQWEwRURkU0FBS0FJQVNRUkFJQVFRYXd3QkN5QUVFR3NnQkVHQWdRSVFlU0FJSUFFUWhnRWdCaWdDQUJDR0FTQUZFUDBISUFBb0FnQkpCRUFnQkJCckRBRUxJQVFRYXlBRVFaR0JBaEI1SUF3Z0NTQUhJQWdnQVNnQ0FDQUJLQUlFSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRNQXlJS1FRQklCRUFnQkJCckRBRUxJQVFRYXlBRVFhS0JBaEI1SUFJZ0RDQUlJQW9ReXdNZ0JCQnJJQVJCdVlFQ0VIa2dCU0FKSUFjZ0FpQU9JQVlvQWdBb0FnQWdCaWdDQUNnQ0JCREtBMFVFUUNBRUVHc01BUXNnQkJCcklBTWdBeWdDQURZQ0JDQUVRZEdCQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rRElBUVFheUFES0FJRUlBTW9BZ0JyUVFOMUlnWWdBQ2dDQUU4RVFDQUdJQUFvQWhBZ0RTZ0NBR3RCQTNWTEJFQWdEeUFGRUw0Q0lBMGdBeENKQWlBQUlBc29BZ2cyQWhnTEN3c2dBeEJWQ3lBQ0VGVUxEQUVMQ3lBQUtBSVlHaUFGSkFZTDNBSUJCMzhqQmlFQ0l3WkJRR3NrQmlBQ1FSQnFJUU1nQWtFNGFpRUVBa0FDUUNBQVFhQUJhaUlHS0FJQUlBRVFkQ2dDQUNnQ0JFY05BQ0FHS0FJRUlBRVFkQ2dDQUNnQ0NFY05BQXdCQ3lBR0lBRVErd2dMUVpRQkVGRWlCUkRuQXlBQ1FRQTJBakFnQXlBQ0tBSXdOZ0lBSUFRZ0JSRG1BeUFFS0FJQUlRY2dCQ0FBUVVCcklnVW9BZ0EyQWdBZ0JTQUhOZ0lBSUFRb0FnUWhCeUFFSUFBb0FrUTJBZ1FnQUNBSE5nSkVJQVFRbFFFZ0JTZ0NBQ0FCRUhRb0FnQW9BZ1FRNVFNZ0JTZ0NBQ0FCRUhRb0FnQW9BZ2dRNUFNZ0EwR0k4UUVRZVNBRktBSUFJQUVnQmlBQVFid0NhaEN0Q0NBREVHc0NmeERqQXlFSUlBTVF1d01nQXlnQ0FDQURJQU1zQUF0QkFFZ2JJUVFnQlNnQ0FCQ0dBUkJ4SVFZZ0FrSHdvd0kyQWdBZ0FpQUVOZ0lFSUFKQi9QMEJOZ0lJSUFJZ0JqWUNEQ0FJQzBIUS9RRWdBaEMzQXlBREVFY2dBQ0FGS0FJQUVJQUlJQUlrQmd1UUFRRURmeU1HSVFNakJrRWdhaVFHQWtBQ1FDQUFRZHdBYWlJQ0VIUWlCQ2dDQkNBRUtBSUFSZzBBSUFJUWRDZ0NBQ2dDQkNBQktBSUVSdzBBSUFJUWRDZ0NBQ2dDQ0NBQktBSUlSdzBBREFFTElBRW9BZ1FnQVNnQ0NCQ3VDQ0VFSUFJZ0FTZ0NCQ0FCS0FJSUlBUVEwQWdMSUFOQit2QUJFSGtnQWlBQkVNZ0lJQU1RYXlBQUlBSVFnUWdnQXlRR0N5VUJBWDlCa0JBUVJDSUNCRUFnQWtFQU5nSUFJQUlnQURZQ0JDQUNJQUUyQWdnTElBSUxOQUVCZnlNR0lRUWpCa0VnYWlRR0lBUWdBVUVCSUFJZ0F5QUNFTGdESUFBb0FnQW9BZ0FnQkJDQ0NDQUVFTjBCSUFRa0Jnc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUTFBTWdBQ0FBS0FJSVFSUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEM2Z0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUlFRT1NBQlNRUkFRY3lacytZQUlBTWdBQ2dDQUd0QkZCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVVRURraUJVRUJkQ0lHSUFZZ0Ewa2JRY3lacytZQUlBVkI1c3laTTBrYklBQW9BZ1FnQkd0QkZCQTVJQUJCQ0dvUStnTWdBaUFCRUlVSUlBQWdBaEQ1QXlBQ0VQZ0RDd1VnQUNBQkVOVURDeUFDSkFZTFVnRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUZzYWlFQkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0SUFCQkFEWUNDQ0FBUVFBMkFnUWdBRUVBTmdJQUN3c3RBUUYvSUFBb0FnZ2hBZ05BSUFKQkFEb0FBQ0FBSUFBb0FnaEJBV29pQWpZQ0NDQUJRWDlxSWdFTkFBc0xMUUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTZBQUFnQUNBQUtBSUVRUUZxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNWtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05ySUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCcmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpQUJFSWdJSUFBZ0FoRFhBaUFDRU5ZQ0N3VWdBQ0FCRUlrSUN5QUNKQVlMTHdFQmYwSC8vLy8vQnlBQlNRUkFFQUFGSUFBZ0FSQlJJZ0kyQWdRZ0FDQUNOZ0lBSUFBZ0FTQUNhallDQ0FzTFhRRUJmMEhWcXRXcUFTQUJTUVJBRUFBTElBRkIxYXJWcWdGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkRHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJER3dnQW1vMkFnZ0xDK2NCQVFkL0lBSWdBV3RCREJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUXdRT1VzRVFDQUFFTThEUWRXcTFhb0JJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkRCQTVJZ1JCQVhRaUJTQUZJQU5KRzBIVnF0V3FBU0FFUWFyVnF0VUFTUnNRakFnZ0FDQUJJQUlnQXhEUUF3c0ZJQU1nQUNnQ0JDQUVhMEVNRURraUJrc2hCU0FHUVF4c0lBRnFJQUlnQlJzaUNDQUJheUlHUVF3UU9TRUpJQVlFUUNBRUlBRWdCaERuQVJvTElBVUVRQ0FBSUFnZ0FpQURJQUFvQWdRZ0FDZ0NBR3RCREJBNWF4RFFBd1VnQUNBSlFReHNJQWRxTmdJRUN3c0x5QUVCQW44akJpRUVJd1pCRUdva0JpQUVRUVJxSVFNZ0JDQUNOZ0lBSUFCQnlBQnFJZ0lnQkJEb0F3UkFRUkFRQlNFQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQTBIbzhBRkI2UEFCRUdBUWZpQUFJQU1RaGdJZ0FFR0k4Z0JCQlJBRUN5QUNJQVFRcXdnaEFDQURJQUVvQWdBaUFqWUNBQ0FESUFFb0FnUWlBVFlDQkNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnUUZRUUFMSVFFZ0F5QUFLQUlBTmdJQUlBQWdBallDQUNBRElBQW9BZ1EyQWdRZ0FDQUJOZ0lFSUFNUWxRRWdCQ1FHQzhNQkFRVi9JQUFvQWdBaUF5RUZJQUlnQVdzaUJDQUFLQUlJSUFOclN3UkFJQUFRendOQi8vLy8vd2NnQkVrRVFCQUFCU0FBSUFRZ0FDZ0NDQ0FBS0FJQWF5SURRUUYwSWdVZ0JTQUVTUnRCLy8vLy93Y2dBMEgvLy8vL0Ewa2JFSXNJSUFBZ0FTQUNJQVFRemdNTEJTQUVJQUFvQWdRZ0Eyc2lCa3NoQXlBQklBWnFJQUlnQXhzaUJ5QUJheUlHQkVBZ0JTQUJJQVlRNXdFYUN5QURCRUFnQUNBSElBSWdBQ2dDQUNBRUlBQW9BZ1JyYWhET0F3VWdBQ0FGSUFacU5nSUVDd3NMTmdFQ2Z5QUFLQUlFSUFBb0FnQWlBMnNpQWlBQlNRUkFJQUFnQVNBQ2F4Q0tDQVVnQWlBQlN3UkFJQUFnQVNBRGFqWUNCQXNMQzRrQ0FRaC9JQUlnQVd0QkZCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVJRUU9Vc0VRQ0FBRUljSVFjeVpzK1lBSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJGQkE1SWdSQkFYUWlCU0FGSUFOSkcwSE1tYlBtQUNBRVFlYk1tVE5KR3hEV0F5QUFJQUVnQWlBREVNMERDd1VDUUNBRElBQW9BZ1FnQkd0QkZCQTVJZ1pMSVFVZ0JrRVViQ0FCYWlBQ0lBVWJJZ2dnQVdzaUJrRVVFRGtoQ2lBR0JFQWdCQ0FCSUFZUTV3RWFDeUFGQkVBZ0FDQUlJQUlnQXlBQUtBSUVJQUFvQWdCclFSUVFPV3NRelFNTUFRc2dDa0VVYkNBSGFpRUNJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JBc0xDOWtDQVFWL0l3WWhCeU1HUVNCcUpBWWdCMEVNYWlJSUlBWTJBZ0JCbEFFUVVTSUpFT2NESUFkQkFEWUNDQ0FIUVJocUlnb2dCeWdDQ0RZQ0FDQUhRUkJxSWdZZ0NSRG1BeUFHS0FJQUlBUVE1UU1nQmlnQ0FDQUZFT1FESUFZb0FnQVFoZ0VRMGdNZ0JpZ0NBQkNHQVJDQkFpQUJLQUlFSUFFb0FnQnJRUlFRT1JEUkF5QUdLQUlBRUlZQkVJRUNJZ1FnQVVjRVFDQUVJQUVvQWdBZ0FTZ0NCQkNSQ0FzZ0JpZ0NBQkNHQVJCMElBSW9BZ1FnQWlnQ0FHc1FrQWdnQmlnQ0FCQ0dBUkIwSWdFZ0FrY0VRQ0FCSUFJb0FnQWdBaWdDQkJDUENBc2dCaWdDQUJDc0NBSi9JQUFvQWdBb0FnQWhDeUFISUFZb0FnQTJBZ0FnQnlBR0tBSUVJZ0UyQWdRZ0FRUkFJQUVnQVNnQ0JFRUJhallDQkFzZ0N3c2dCeUFJS0FJQUVJNElJQWNRbFFFZ0FDZ0NBRUVFYWlBSUVNTUNJZ0FnQTBjRVFDQUFJQU1vQWdBZ0F5Z0NCQkNOQ0FzZ0JoQ1ZBU0FISkFZTFB3QWdBQ0FCTmdJQUlBQkJCR29pQUVJQU53SUFJQUJDQURjQ0NDQUFRZ0EzQWhBZ0FFSUFOd0lZSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUlBTndJd0Mxd0JBWDhnQUVIU0NUWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBQkJER29pQVNBQUVKTUlJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFSUFOd0pJSUFCQ0FEY0NVQ0FBUWdBM0FsZ2dBRUVRTmdKc0lBRVEyQU1nQVVFQkVOY0RDeFFBSUFCQkRHcEJBQ0FCS0FJRVFiWDhBVVliQ3hVQUlBQW9BZ3dpQUFSQUlBQVFtd2dnQUJBNEN3c2VBQ0FBUVRCcUVGVWdBRUVrYWhCVklBQkJHR29RVlNBQVFReHFFRlVMT1FFQmZ5QUFRZFFBYWhEVEF5QUFRY2dBYWhCVklBQkJER29RbHdnZ0FDZ0NDQ0VCSUFCQkFEWUNDQ0FCQkVBZ0FSREVBaUFCRURnTEM4WURBZ04vQVh3akJpRURJd1pCd0FGcUpBWWdBeUFCUWFnQmFrRUVJQUVvQWd4QkFFZ0VmeUFCUVJScUJTQUJLQUlJUVFCSUJIOGdBVUVZYWdVZ0FVRVFhZ3NMS0FJQUlnUnJRUVFRVHlJRlFRUjBhaXNEQURrRFlDQURJQUVnQlVFRWRHb3JBN0FCT1FOb0lBTWdBVUdvQVdwQkJTQUVhMEVFRUU4aUJVRUVkR29yQXdBNUEzQWdBeUFCSUFWQkJIUnFLd093QVRrRGVDQURJQUZCcUFGcVFRWWdCR3RCQkJCUElnVkJCSFJxS3dNQU9RT0FBU0FESUFFZ0JVRUVkR29yQTdBQk9RT0lBU0FESUFGQnFBRnFRUWNnQkd0QkJCQlBJZ1JCQkhScUt3TUFPUU9RQVNBRElBRWdCRUVFZEdvckE3QUJPUU9ZQVNBRElBSkVBQUFBQUFBQTRMK2lJZ1k1QXdBZ0F5QUNSQUFBQUFBQUFPQS9vaUlDT1FNSUlBTkVBQUFBQUFBQUFBQTVBeEFnQXlBQ09RTVlJQU1nQWprRElDQURSQUFBQUFBQUFBQUFPUU1vSUFNZ0Fqa0RNQ0FESUFZNUF6Z2dBMEZBYTBRQUFBQUFBQUFBQURrREFDQURJQVk1QTBnZ0F5QUdPUU5RSUFORUFBQUFBQUFBQUFBNUExZ2dBMEdvQVdvaUFTQURRZUFBYWpZQ0FDQUJJQU0yQWdRZ0FVRUVOZ0lJSUFBb0FnQWdBVUdBcEFOQmdLUURJQU5Cb0FGcUVPb0JHaUFES3dPZ0FSb2dBeVFHQzlNVEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdBVUVDRURraERDQUNRUUlRT1NFT0lBUW9BZ0FpQnlFQ0lBd2dEa0YvYWlJUWJFRUJkQ0FIYWlFRkEwQWdCaUFNU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUdRUUZxSVFZTUFRc0xJQWNoQWlBTVFYOXFJaEZCQVhRZ0Iyb2hCVUVBSVFZRFFDQUdJQTVJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FNUVFGMElBSnFJUUlnREVFQmRDQUZhaUVGSUFaQkFXb2hCZ3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdER3NoRWlBQUlBRkJBWFJCQW1wcUlRMUJBU0VMUVFBaEJTQU1RUUZxUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENRTkFJQWtnRVVnRVFDQU5MUUFBSUFOS0JFQWdCMEVBT3dFQUJRSkFJQkpCQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNMSUExQkFtb2hEU0FKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUExcVFRUnFJUTBnQzBFQmFpRUxJQUFoQlNBSFFRUnFJUWNNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVIUVFFaEFFRUJJUU1EUUNBRElBVk1CRUFnQXlBQ0tBSUFJZ1pHQkVBZ0FFRUJhaUVCQlNBQUlRRWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFDSUFBMkFnQWdBU0VBSUFOQkFXb2hBeUFDUVFScUlRSU1BUXNMSUFRZ0FFRi9haUlBTmdJSUlBQUVmeUFIUVFBZ0FFRUNkQkJGR2lBRVFaQ0FLR3BCQUNBQVFRUjBFRVVhUVFBaEFRTkFJQUVnQUVnRVFDQUVRWXlBQ0dvZ0FVRUNkQ0lDUVFKMGFpQU1OZ0lBSUFSQmpJQUlhaUFDUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQ1FRSnlRUUowYWlBT05nSUFJQVJCaklBSWFpQUNRUU55UVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QkFDRUJBMEFnQVNBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBQlFRSjBhaWdDQUVGL2FpSUNRUUowYWlJRElBUkJrSURRQUdvZ0FVRUhiQ0lBUVFKMGFpZ0NBQ0FES0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJRFFRTjBhaUlISUFjckF3QWdBRUVDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFEUVFGeVFRTjBhaUlESUFNckF3QWdBRUVDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2NnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJSFNBUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0drZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdJb0FnQWdBRUVDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFJZ0FEWUNBQXNnQVVFQmFpRUJEQUVMQ3lBRUtBSUlJUUZCQUNFQUEzOGdBQ0FCU0FSL0lBUkJrSUFvYWlBQVFRRjBJZ0pCQTNScUlnTWdBeXNEQUNBRVFReHFJQUJCQW5ScUtBSUF0eUlWb3prREFDQUVRWkNBS0dvZ0FrRUJja0VEZEdvaUFpQUNLd01BSUJXak9RTUFJQUJCQVdvaEFBd0JCVUVBQ3dzRlFRQUxDeUVVSUE4a0JpQVVDeDRBSUFCQkpHb1FtQWdnQUVFSWFpSUFRUkJxRU5rQ0lBQkJCR29RVlFzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTllESUFBZ0FSRFZBd3NMWFFFQmYwSC8vLy8vQXlBQlNRUkFFQUFMSUFGQi8vLy8vd05MQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQW5RUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkFuUWdBbW8yQWdnTEN6c0JBMzhnQVNFRUlBQW9BZ2dpQlNFREEwQWdBeUFDS0FJQU5nSUFJQU5CQkdvaEF5QUVRWDlxSWdRTkFBc2dBQ0FCUVFKMElBVnFOZ0lJQzlvQkFRWi9Jd1loQ0NNR1FTQnFKQVlnQ0NFRUlBQW9BZ1FpQXlFR0lBQW9BZ2dnQTJ0QkFuVWdBVWtFUUVILy8vLy9BeUFCSUFNZ0FDZ0NBR3RCQW5WcUlnZEpCRUFRQUFVZ0JDQUhJQUFvQWdnZ0FDZ0NBQ0lGYXlJR1FRRjFJZ01nQXlBSFNSdEIvLy8vL3dNZ0JrRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JXdEJBblVnQUVFSWFoRElBU0FFSUFFZ0FoQ2VDQ0FBSUFRUTVBRWdCQkRIQVFzRklBRWhBeUFHSVFVRFFDQUZJQUlvQWdBMkFnQWdCVUVFYWlFRklBTkJmMm9pQXcwQUN5QUFJQUZCQW5RZ0JtbzJBZ1FMSUFRa0JndUZCUUVIZnlNR0lRa2pCa0VRYWlRR0lBQW9BZ1FnQUNnQ0FHdEJBblVnQkVjRVFDQUpRY0RJQTBHWjhRRVFOMEczOVFFUU4wSHZvZ0lRTjBIR0FSQStRZmFpQWhBM1FhejRBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQUpCQUV3RVFDQUpRY0RJQTBIVjlnRVFOMEczOVFFUU4wSHZvZ0lRTjBISEFSQStRZmFpQWhBM1FmMzJBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQVFnQWtvRVFDQUpRY0RJQTBHaDl3RVFOMEczOVFFUU4wSHZvZ0lRTjBISUFSQStRZmFpQWhBM1FkVDNBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxJQVpCQUV3RVFDQUpRY0RJQTBISitBRVFOMEczOVFFUU4wSHZvZ0lRTjBISkFSQStRZmFpQWhBM1FmRDRBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxRUUFoQ0FOQUlBZ2dCRWdFUUNBSVFRSjBJQU5xSVF4QkFDRUtRWDhoQWdOQUlBWWdDa2NFUUNBQklBd29BZ0JCNEFCc2FpQUJJQXBCQW5RZ0JXb2lEU2dDQUVFQ2RDQURhaWdDQUVIZ0FHeHFFSUlDSWdjZ0Fra0VRQ0FBS0FJQUlBaEJBblJxSUEwb0FnQTJBZ0FnQnlFQ0N5QUtRUUZxSVFvTUFRc0xJQUlnQzJvaEN5QUlRUUZxSVFnTUFRc0xJQWtrQmlBTEMxQUJBWDhnQUVFWUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBS0FJQU5nSUlJQVJCQURZQ0RDQUVRUUEyQWhBZ0JFRUFOZ0lVSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUN6SUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWlBQ1FlQUFFRXdhQzB3QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkFuVWdBVWtFUUNBQ0lBRWdBQ2dDQkNBRGEwRUNkU0FBUVFocUVNZ0JJQUFnQWhEa0FTQUNFTWNCQ3lBQ0pBWUxuQUVCQlg4akJpRUNJd1pCSUdva0JrSC8vLy8vQXlBQUtBSUVJQUFvQWdCclFRSjFRUUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFGMUlnWWdCaUFEU1J0Qi8vLy8vd01nQlVFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQkd0QkFuVWdBRUVJYWhESUFTQUNLQUlJSWdNZ0FTZ0NBRFlDQUNBQ0lBTkJCR28yQWdnZ0FDQUNFT1FCSUFJUXh3RWdBaVFHQ3d2REJnRUdmeU1HSVFZakJrRVFhaVFHSUFBb0FnUWlDQ0FBS0FJUUlBQW9BZ3hyUVFKMVJ3UkFJQVpCd01nRFFZcjFBUkEzUWJmMUFSQTNRZStpQWhBM1Fab0JFRDVCOXFJQ0VEZEJxUFlCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQWtFQVRBUkFJQVpCd01nRFFkWDJBUkEzUWJmMUFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIvZllCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkNBQ1NnUkFJQVpCd01nRFFhSDNBUkEzUWJmMUFSQTNRZStpQWhBM1Fad0JFRDVCOXFJQ0VEZEIxUGNCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQ0NBRVNnUkFJQVpCd01nRFFlLzNBUkEzUWJmMUFSQTNRZStpQWhBM1FaMEJFRDVCOXFJQ0VEZEJtUGdCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VISUFoQkNpQUhRVDl4UVlvQmFoRUNBQ0VJSUFZUVBDQUZJQWdRUUNBRkVEOFFBQXNnQmtGL05nSUFJQUJCR0dvaUNpQUVJQVlRM1FNZ0JrRi9OZ0lBSUFCQkpHb2lDU0FFSUFZUTNRTWdBRUV3YWlBRUVJY0JJQUFvQWpBaUJTQUFLQUkwSUFWclFRSjFFTndEUVg4aEJVRUFJUWNEUUNBSElBQW9BZ2hJQkVBZ0FDZ0NNQ0lJSUFBb0FqUWdDR3RCQW5VZ0FDZ0NCQ0FBS0FJQUVNRUNJQWtnQVNBQ0lBTWdCQ0FBS0FJd0lBQW9BZ1FRb0FnaUNDQUZTUVJBSUFvZ0NSQ0pBaUFBS0FJTUlBQW9BakFnQUNnQ0JFRUNkQkJNR2lBSUlRVUxJQWRCQVdvaEJ3d0JDd3NnQUNnQ0JDQUFLQUlRSUFBb0FneHJRUUoxUmdSQUlBWWtCZ1VnQmtIQXlBTkJpdlVCRURkQnQvVUJFRGRCNzZJQ0VEZEJ1d0VRUGtIMm9nSVFOMEdvOWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQUFnQVJCQUlBQVFQeEFBQ3d2a0JBSU5md044SXdZaENpTUdRUkJxSkFZZ0NrRUVhaUVRUVFJUTV3SWhEa0VDRU9jQ0lRdEJBa0VDRUlzQklRd0Nmd0pBQWtBRFFBSkFJQWRCQkU4TkFpQUhRUUZxSWdKQkFuUWdBMm9vQWdBaUQwRUJhaUFIUVFKMElBTnFLQUlBSWdocnQwU2FtWm1abVptcFA2SkVBQUFBQUFBQTREK2dJaFFnQ0xlZ0VITWhFU0FQdHlBVW9SQnpJQkZySWhKQkFXcEJBaENMQVNFTlFRQWhDUU5BSUFrZ0Vrd0VRQ0FFSUFrZ0VXb2lDRUVDZENBQWFpZ0NBTElnQ0VFQ2RDQUJhaWdDQUxJZ0VDQUtFS1lCUVFCSURRSWdEU2dDQUNJSUlBbEJBWFFpRDBFRGRHb2dFQ29DQUxzNUF3QWdEMEVCY2tFRGRDQUlhaUFLS2dJQXV6a0RBQ0FKUVFGcUlRa01BUXNMSUEwZ0RDQU9JQXNRblFWQkFFZ05BeUFIUVJoc0lBVnFJQXdvQWdBaUNDc0RDQ0lWT1FNQUlBZEJHR3dnQldvZ0NDc0RBSm9pRkRrRENDQUhRUmhzSUFWcUlCVWdDeWdDQUNJSEt3TUFvaUFIS3dNSUlCU2lvSm81QXhBZ0RSQkpJQUloQnd3QkN3c01BUXNnREJCSklBc1F6d0VnRGhEUEFVRUFJUVFEZjBFQUlBUkJCRThOQWhvZ0JFRURha0VEY1NJQVFSaHNJQVZxSWdNckF3QWdCRUVZYkNBRmFpc0RDQ0lWb2lBRVFSaHNJQVZxSWdJckF3QWdBRUVZYkNBRmFpc0RDQ0lVb3FFaUZwbEVMVU1jNitJMkdqOWpCSDlCZndVZ0JFRUVkQ0FHYWlBVUlBUkJHR3dnQldvaUFTc0RFS0lnRlNBQVFSaHNJQVZxSWdBckF4Q2lvU0FXb3prREFDQUVRUVIwSUFacUlBSXJBd0FnQUNzREVLSWdBeXNEQUNBQkt3TVFvcUVnRnFNNUF3Z2dCRUVCYWlFRURBRUxDd3dCQ3lBTkVFa2dEQkJKSUFzUXp3RWdEaERQQVVGL0N5RVRJQW9rQmlBVEN6QUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWtIZ0FCRFpBd3RPQVFKL1FZQUJFRkVpQmlBQUVPRURFS2NJSUFBb0FnZ2hCU0FBSUFZMkFnZ2dCUVIvSUFVUXhBSWdCUkE0SUFBb0FnZ0ZJQVlMUVFBUWd3SWdBQ0FBS0FJSUlBRWdBaUFESUFRUTRBTUxYZ0VFZnlNR0lRTWpCa0VRYWlRR0lBTWdBaENFQWlBREtBSUVJQU1vQWdBaUJXdEJBblVoQmdOQUlBUWdCa2NFUUNBRVFRSjBJQVZxSUFRMkFnQWdCRUVCYWlFRURBRUxDeUFBSUFFZ0FpQUZJQVlRcUFnZ0F4QlZJQU1rQmd0SkFRRi9JQUJCRkJCUklnUTJBZ0FnQUNBQlFRaHFOZ0lFSUFRZ0F5Z0NBQ2dDQURZQ0NDQUVRUUEyQWd3Z0JFRUFOZ0lRSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUXFnZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFB3RUJmeUFBUVNScUlnRkJER3BCZ0FFUTF3TWdBVUVNYWhEWUF5QUJRUWcyQW1nZ0FVRVFOZ0pzSUFFZ0FFRUlhaUlBRUhRb0FnQWdBQkJ4RUtrSUM4OEdBUVYvSXdZaENDTUdRU0JxSkFZZ0NFRVVhaUVHSUFGRkJFQWdCa0hBeUFOQng1WUNFRGRCa1BrQkVEZEI3NklDRURkQjFBRVFQa0gyb2dJUU4wSFVsd0lRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDUlFSQUlBWkJ3TWdEUVlqNkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRVQkVENUI5cUlDRURkQnFQb0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwSWdRb0FnUWdCQ2dDQUVZRVFDQUdRY0RJQTBHNStnRVFOMEdRK1FFUU4wSHZvZ0lRTjBIV0FSQStRZmFpQWhBM1FlMzZBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZFRUFnQkJBL0VBQUxJQUVRZENnQ0FDZ0NCQ0FDS0FJQVJ3UkFJQVpCd01nRFFmNzZBUkEzUVpENUFSQTNRZStpQWhBM1FkY0JFRDVCOXFJQ0VEZEJ4L3NCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMEtBSUFLQUlJSUFJb0FnUkhCRUFnQmtIQXlBTkI2dnNCRURkQmtQa0JFRGRCNzZJQ0VEZEIyQUVRUGtIMm9nSVFOMEhIK3dFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ0lBRVE5QWdnQmlBQ0VNQUNJZ1FvQWdRZ0JDZ0NBR3RCSkJBNUVKd0lRUUFoQkFOQUlBUWdBaERBQWlJRktBSUVJQVVvQWdCclFTUVFPVWtFUUNBSUlBSVF3QUlvQWdBaUJTQUVRU1JzYWlvQ0FDQUVRU1JzSUFWcUtnSUVJQVJCSkd3Z0JXb3FBZ2dnQkVFa2JDQUZhaW9DSENBRVFTUnNJQVZxS2dJWVF3QUFBQUJlRVB3RElBWW9BZ0FnQkVFVWJHb2lCU0FJS1FJQU53SUFJQVVnQ0NrQ0NEY0NDQ0FGSUFnc0FCQTZBQkFnQkVFQmFpRUVEQUVMQ3lBRElBQVFoZ0VnQVNBR0VMWUhJQVlRMlFJZ0NDUUdDeThCQVg4RFFDQUFRUWhJSUFGQkNFaHlSUVJBSUFKQkFXb2hBaUFCUVFGMUlRRWdBRUVCZFNFQURBRUxDeUFDQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVEZEJCRkdpQUFJQUZCQTNRZ0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUU4wRUVVYUlBQWdBVUVEZENBQ2FqWUNCQXVsQVFFRmZ5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYTBFRGRTQUJTUVJBUWYvLy8vOEJJQUVnQXlBQUtBSUFhMEVEZFdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlnQVJDdkNDQUFJQUlRelFJZ0FoRE1BZ3NGSUFBZ0FSQ3dDQXNnQWlRR0N6MEJBbjhnQUNnQ0JDQUFLQUlBSWdKclFRTjFJZ0ZCZ0FoSkJFQWdBRUdBQ0NBQmF4Q3hDQVVnQVVHQUNFc0VRQ0FBSUFKQmdFQnJOZ0lFQ3dzTE5BQWdBRUdBeUFBUWh3RWdBRUVZYWhDeUNDQUFRd3JYSXp3NEFpUWdBRUdBQ0RZQ0tDQUFRYWdJTmdJc0lBQkJNallDTUFzcUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQVFzd2dMeEFFQkFYOGdBRUVBTmdJTUlBQkJBRFlDRUNBQVFRQTJBaFFnQUVGQWF5SUJRZ0EzQWdBZ0FVSUFOd0lJSUFGQ0FEY0NFQ0FBUVlDQWdQd0ROZ0pZSUFCQjNBQnFFTkVJSUFCQm9BRnFJZ0VRZ2drZ0FFRzhBbW9RdUFjZ0FFRUFOZ0w4QkNBQVFRQTJBb0FGSUFCQkFEWUNoQVVnQUVNek16TS9PQUtJQlNBQVFZd0ZhaERGQnlBQVFaUUdhaEMwQ0NBQlF3QUFRRUE0QWpRZ0FVTUFBSUJBT0FJNElBRkI5QU1ROXdNZ0FFTUFBRUJBT0FJRUlBQkJDRFlDQUNBQVFRRTZBQWdMSkFFQ2Z3TkFJQUFFUUNBQUtBSUFJUUlnQUVFTWFoQlZJQUFRT0NBQ0lRQU1BUXNMQzQ4RkFnOS9BWHdqQmlFRUl3WkI0QUJxSkFZZ0JFRXdhaUVISUFSQjNBQnFJUU1nQkVIWUFHb2hCU0FCUVJ4cUlnZ29BZ0FoQ3lBQlFkeTRBbW9pQ1NnQ0FDRU1JQUVvQWhoQmYyb2hEVUVCSVFZRFFDQUdJQTFJQkVBZ0JpQUNJQUZCSEdvZ0JrRUNkR29vQWdBZ0Myc2lBaUFDYkNBQlFkeTRBbW9nQmtFQ2RHb29BZ0FnREdzaUFpQUNiR29pRGlBS1NpSVBHeUVDSUFaQkFXb2hCaUFPSUFvZ0R4c2hDZ3dCQ3dzZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FJSUFsQkFDQUNJQUMzUkFBQUFBQUFBT2cvbzBSN0ZLNUg0WHFFUDZJaUVTQUhJQU1RcXdGQkFFZ0VmMEYvQlNBSUlBa2dBaUFCS0FJWVFYOXFJQkVnQkNBRkVLc0JRUUJJQkg5QmZ3VUNmeUFES0FJQUlnQkJBVVlnQlNnQ0FDSUdRUUZHY1FSQUlBUW9BZ0FoQUNBSEtBSUFJUU1GQW44Z0JrVWdBRUVCU25FRVFDQUNRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBbEJBQ0FBSUJFZ0J5QURFS3NCUVFCSURRTWFRWDhnQ0NBSklBQWdBaUFSSUFRZ0JSQ3JBVUVBU0EwREdrRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUU1hSUFJaEFDQUhLQUlBSVFNZ0JDZ0NBQXdCQzBGL0lBQkZJQVpCQVVweFJRMENHaUFCS0FJWUlBSkJmMnBxUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWtnQWlBQUlCRWdCeUFERUtzQlFRQklEUUlhUVg4Z0NDQUpJQUFnQVNnQ0dFRi9haUFSSUFRZ0JSQ3JBVUVBU0EwQ0drRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUUlhSUFRb0FnQWhBQ0FDSVFNZ0J5Z0NBQXNoQWdzZ0FVR2M4UVJxUVFBMkFnQWdBVUdnOFFScUlBTTJBZ0FnQVVHazhRUnFJQUkyQWdBZ0FVR284UVJxSUFBMkFnQWdBVUdzOFFScUlBRW9BaGhCZjJvMkFnQkJBQXNMQ3lFUUlBUWtCaUFRQ3lVQkFuOERRQ0FBQkVBZ0FDZ0NBQ0VDSUFCQkRHb1FsUUVnQUJBNElBSWhBQXdCQ3dzTEtRRUJmeUFBS0FJSUVMZ0lJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUFvQWdRYUlBRVFPQXNMU2dFQ2Z5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFEWUNFQ0FBUVlDQWdQd0ROZ0lVUWNnR0VGRWlBaEMxQ0NBQUtBSUFJUUVnQUNBQ05nSUFJQUVFUUNBQkVPb0RJQUVRT0FzTE1BRUNmeUFBUVFBMkFnQkJHQkJSSWdJUXVnZ2dBQ2dDQUNFQklBQWdBallDQUNBQkJFQWdBUkRyQXlBQkVEZ0xDOXdCQWdGL0JuMGdCU29DQUNJSUlBTXFBZ0FpQjVNaENTQUlJQVFxQWdBaUNKTWdDWlFoQ2lBSElBaVRJZ3NnQ1pRaENTQUtRd0FBQUFCYklBbERBQUFBQUZ0eUlBdERBQUFBQUZ0eUJIOGdBRU1BQUFBQU9BSUFJQUZEQUFBQUFEZ0NBRU1BQUFBQUlRZEJBQVVnQUNBRktnSUVJQVFxQWdRaURKTWdDcFVnQXlvQ0JDQU1reUFKbFpNaUNUZ0NBQ0FCSUFNcUFnUWdCQ29DQkpNZ0NDQUlsQ0FISUFlVUlnZVRJQW1Va2lBTGxTSUlPQUlBSUFNcUFnUWdCeUFBS2dJQWxKTWdDQ0FES2dJQWxKTWhCMEVCQ3lFR0lBSWdCemdDQUNBR0M2UUJBZ0ovQW4wZ0FTb0NBQ0VHSUFKQmYyb2lBMEVDZENBQmFpSUVLZ0lBSVFWQkFDRUNBMEFnQWlBRFJ3UkFJQUpCQW5RZ0FHb2dCVUdJaGdFcUFnQ1VJQUpCQW5RZ0FXb3FBZ0FpQlVHTWhnRXFBZ0NVa2tHUWhnRXFBZ0FnQWtFQmFpSUNRUUowSUFGcUtnSUFsSkk0QWdBTUFRc0xJQU5CQW5RZ0FHb2dCVUdJaGdFcUFnQ1VRWXlHQVNvQ0FDQUVLZ0lBbEpJZ0JrR1FoZ0VxQWdDVWtqZ0NBQXYyQndFTWZ5TUdJUWNqQmtHZzhRUnFKQVlnQjBHUThRUnFJUTBnQjBHSThRUnFJUTRnQjBHQThRUnFJUWdnQjBIQXVBSnFJUXdnQnlFTElBUW9BZ1FoQ2lBRUtBSUFJZ2toQnlBSklBRWdCQ2dDQ0NJSmJHcEJBWFFnQUdvaEJnSi9Ba0FEUUFKQUlBY2dDa29OQWlBR0xnRUFJZ1JCQUVvRVFDQURJQVJCZjJwQkFuUWdBbW9vQWdCR0RRRUxJQWRCQVdvaEJ5QUdRUUpxSVFZTUFRc0xJQWRCZjBZTkFDQUZRUUUyQWhnZ0JTQUhOZ0ljSUFWQjNMZ0NhaUlQSUFrMkFnQkJCU0VHSUFraEJDQUhJUU5CQVNFQ0FrQUNRQU5BQWtBZ0FTQUViQ0FEYWtFQmRDQUFhaUVRUVFBaENDQUdRUVZxSVFZQ1FBSkFBMEFnQmtFSUVFOGhCaUFJUVFoUERRRWdCa0VDZEVIQUNHb29BZ0FpQkNBQklBWkJBblJCb0FocUtBSUFJZ3BzYWtFQmRDQVFhaTRCQUVFQVRBUkFJQWhCQVdvaENDQUdRUUZxSVFZTUFRc0xEQUVMSUFoQkNFWU5BU0FHUVFKMFFjQUlhaWdDQUNFRUlBWkJBblJCb0FocUtBSUFJUW9MSUFWQkhHb2dBa0VDZEdvZ0F5QUVhallDQUNBRlFkeTRBbW9nQlNnQ0dDSUNRUUowYWlBQ1FRSjBJQVZxUWRpNEFtb29BZ0FnQ21vMkFnQWdCeUFGUVJ4cUlBVW9BaGdpQTBFQ2RHb2lDQ2dDQUVZRVFDQUpJQVZCM0xnQ2FpQURRUUowYWlnQ0FFWU5Bd3NnQlNBRFFRRnFJZ0kyQWhnZ0FrR1B6Z0JHRFFNZ0JVSGN1QUpxSUFOQkFuUnFLQUlBSVFRZ0NDZ0NBQ0VEREFFTEMwRUFRUU5CNUtnQklBNFFQVUYvREFNTFFRQWhBRUVBSVFaQkFTRUJBMEFnQVNBRFNBUkFJQUVnQUNBRlFSeHFJQUZCQW5ScUtBSUFJQWRySWdBZ0FHd2dCVUhjdUFKcUlBRkJBblJxS0FJQUlBbHJJZ0FnQUd4cUlnSWdCa29pQkJzaEFDQUNJQVlnQkJzaEJpQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBRWdFUUNBQlFRSjBJQXhxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQ2RDQUxhaUFGUWR5NEFtb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQUlRRURRQ0FCSUFOSUJFQWdCVUVjYWlBQklBQnJJZ0pCQW5ScUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFKQkFuUnFJQVZCM0xnQ2FpQUJRUUowYWlnQ0FEWUNBQ0FCUVFGcUlRRWdCU2dDR0NFRERBRUxDMEVBSVFFRFFDQUJJQUJJQkVBZ0JVRWNhaUFCSUFCcklnSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnQzJvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBRlFSeHFJQVVvQWhoQkFuUnFJQVVvQWh3MkFnQWdCVUhjdUFKcUlBVW9BaGhCQW5ScUlBOG9BZ0EyQWdBZ0JTQUZLQUlZUVFGcU5nSVlRUUFNQWd0QkFFRURRZXVvQVNBTkVEMUJmd3dCQzBFQVFRTkIzYWdCSUFnUVBVRi9DeUVSSUFza0JpQVJDOFFJQWdWL0FYMGpCaUVGSXdaQkVHb2tCaUFBUlFSQUlBVkJ3TWdEUWNMckFSQTNRZWJyQVJBM1FlK2lBaEEzUVlzQkVENUI5cUlDRURkQjV1d0JFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBVU1BQUFBL2trTUFBQUFBWGdSQUlBRkRBQUFBdjVJaUNTQURzbDBFUUNBQ1F3QUFBQUJnUlFSQUlBVkJ3TWdEUWVudEFSQTNRZWJyQVJBM1FlK2lBaEEzUVkwQkVENUI5cUlDRURkQmorNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBMEYvVEFSQUlBVkJ3TWdEUWF6dUFSQTNRZWJyQVJBM1FlK2lBaEEzUVk0QkVENUI5cUlDRURkQjBlNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBdERBQUNBUHlBQklBbU9FRU1pQkxLVFF3QUFBTCtTSWdtVElRRWdBeUFFYWlBREVFOGhCaUFFUVFGcUlBTVFUeUVJSUFGREFBQUFBR0JGQkVBZ0JVSEF5QU5CN3U0QkVEZEI1dXNCRURkQjc2SUNFRGRCbGdFUVBrSDJvZ0lRTjBHTjd3RVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRTWdCRUVLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdCUkE4SUFjZ0F4QkFJQWNRUHhBQUN5QUpRd0FBQUFCZ1JRUkFJQVZCd01nRFFhSHZBUkEzUWVickFSQTNRZStpQWhBM1FaY0JFRDVCOXFJQ0VEZEJ3TzhCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQmtGL1RBUkFJQVZCd01nRFFkVHZBUkEzUWVickFSQTNRZStpQWhBM1FaZ0JFRDVCOXFJQ0VEZEJoUEFCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQ0VGL1NnUkFJQVpCQW5RZ0FHb2lBeUFCSUFLVUlBTXFBZ0NTT0FJQUlBaEJBblFnQUdvaUFDQUpJQUtVSUFBcUFnQ1NPQUlBSUFVa0JnOEZJQVZCd01nRFFaN3dBUkEzUWVickFSQTNRZStpQWhBM1Faa0JFRDVCOXFJQ0VEZEJ6dkFCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VBSUFOQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFVUVBDQUVJQUFRUUNBRUVEOFFBQXNMQ3lBRlFjRElBMEdBN1FFUU4wSG02d0VRTjBIdm9nSVFOMEdNQVJBK1FmYWlBaEEzUWNIdEFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUZRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUZFRHdnQkNBQUVFQWdCQkEvRUFBTFF3QWdBRU1BQU1CQWtpQUFsRU1BQVBCQmtpQUFsRU1BQVBCQ2tpQUFsRU1BQUxSRGtpQUFsRU1BQURSRWtpQUFsRU1BQURSRWtydEVPV3hTL212QlZqK2l0Z3Y0REFJT2Z3TjlJd1loRENNR1FUQnFKQVlnREVFZ2FpRUtJQVZEQUFBQUFHQkZCRUFnQ2tIQXlBTkI2ZWNCRURkQnZ1WUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdINkFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUVzeUFGWGtVRVFDQUtRY0RJQTBHYTZBRVFOMEcrNWdFUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1Flcm9BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVpEQUFBQUFHQkZCRUFnQ2tIQXlBTkJqdWtCRURkQnZ1WUJFRGRCNzZJQ0VEZEIrUUFRUGtIMm9nSVFOMEdzNlFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUlzeUFHWGtVRVFDQUtRY0RJQTBHLzZRRVFOMEcrNWdFUU4wSHZvZ0lRTjBINkFCQStRZmFpQWhBM1FaRHFBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQUFvQWlnZ0JDQURJQUFvQWdSc2FrRUZkR29pQ1NnQ0VFRUNSd1JBSUFwQndNZ0RRYlhxQVJBM1FiN21BUkEzUWUraUFoQTNRZjRBRUQ1QjlxSUNFRGRCM3VvQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBcEJnTTRERURvaUJDZ0NBQ2dDSENFSUlBUkJDaUFJUVQ5eFFZb0JhaEVDQUNFRUlBb1FQQ0FESUFRUVFDQURFRDhRQUFzZ0RFRVlhaUVMSUF4QkVHb2hEeUFNUVF4cUlSQWdERUVJYWlFUklBeEJCR29oRWlBQ1FRQTJBZ0FnQlVNQUFBQS9raEJESVFNZ0JrTUFBQUEva2hCRElRUWdBMEVBVGdSQUlBUkJBRWdnQ1NnQ0JDQURUWEpGQkVBZ0NTZ0NDQ0FFU3dSQUFrQkRBQUNBdjBNQUFJQS9JQUFxQWd3Z0I1UWlCME1BQUlBL0lBZGVHeUlIRUdsREFBQUFRSlNWSVJjZ0J5QUFLZ0lRbENJSEVHbU5JUmhCQUNBRElBZERBQUFBUDVJUVF5SU5heERHQVNFSUlBTWdEV29nQ1NnQ0JFRi9haENGQWlFT1FRQWdCQ0FOYXhER0FTRURJQVFnRFdvZ0NTZ0NDRUYvYWhDRkFpRU5JQUFvQWh3aUJFRUFJQUFvQWlBZ0JHdEJBblZCQW5RUVJSb0RRQ0FESUExTUJFQWdBN0lnQnBNUWFTRUhJQWtnQXhCUUlSTWdDQ0VFQTBBZ0JDQU9UQVJBSUFjZ0JMSWdCWk1RYVpJaUZpQVlYa1VFUUNBWElCYVVFTUFJSVJZZ0FDZ0NIQ0FFUVFOMElCTnFJaFFxQWdBZ0FDZ0NDQ0lWc3BTN1JIZkl5VzB3WDhRL29yWWdGaUFVS2dJRWxDQVZFTDhJQ3lBRVFRRnFJUVFNQVFzTElBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUFLQUlVU0FSQUlBQW9BaHdpQkNBRUlBQW9BZ2dRdlFnZ0EwRUJhaUVEREFFTEN5QUFLQUlJSVFOQkFDRUVRd0FBQUFBaEJRTkFJQVFnQTBnRVFDQUFLQUljSUFSQkFuUnFLZ0lBSVFZZ0JFRUJhaUVFSUFZZ0JTQUdJQVZlR3lFRkRBRUxDeUFGUXdBQUFBQmNCRUFnQlVNQUFBQUFYa1VFUUNBS1FjRElBMEg5NmdFUU4wRys1Z0VRTjBIdm9nSVFOMEhhQVJBK1FmYWlBaEEzUWFQckFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklnZ29BZ0FvQWh3aENTQUlRUW9nQ1VFL2NVR0tBV29SQWdBaENDQUtFRHdnQkNBSUVFQWdCQkEvRUFBTFFRQWhCQU5BSUFRZ0EwNE5BaUFLSUFTeUlnYzRBZ0FnQ2lBQUtBSWNJZ2dnQkVFQ2RHb2lDU2dDQUNJTk5nSUVJQXNnQkVGL2FpSU9zamdDQUNBTElBTWdEbW9nQXhCUFFRSjBJQWhxS0FJQUlnNDJBZ1FnRHlBRVFRRnFJZ1N5T0FJQUlBOGdBeUFFYWlBREVFOUJBblFnQ0dvb0FnQWlDRFlDQkNBTnZpRUdJQWtxQWdBZ0JTQUFLZ0lZbEY0RVFDQUdJQTYrWGlBR0lBaStYbkVFUUNBTUlBYzRBZ0FnRUNBUklCSWdDeUFLSUE4UXZBZ0VRQ0FSS2dJQUlRWWdFaW9DQUJvZ0VDb0NBQ0lIUXdBQUFBQmNCRUFnRENBR2pDQUhRd0FBQUVDVWxUZ0NBQXNMSUF3cUFnQkRBQUFBUDVJZ0FDZ0NDTElpQnBJZ0JwVzdSQmd0UkZUN0lSbEFva1FZTFVSVSt5RVpRQkFldGlFR0lBSW9BZ0FpQTBFQ2RDQUJhaUFHT0FJQUlBSWdBMEVCYWpZQ0FDQUFLQUlJSVFNTEN3d0FBQXNBQ3dzTEN3c2dEQ1FHQytVQkFRTi9Jd1loQkNNR1FSQnFKQVlDUUFOQUlBSWdBUkIwSWdNb0FnUWdBeWdDQUd0QkJYVkpCRUFnQVJCMEtBSUFJQUpCQlhScUlnTW9BZ1FnQXlnQ0RFRUNka2NOQWlBQUtBSW9JQUpCQlhScUtBSVlJQU1vQWhnZ0F5Z0NCQ0FES0FJSUVNVUlJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c2dCRUhBeUFOQmdlWUJFRGRCdnVZQkVEZEI3NklDRURkQjRBQVFQa0gyb2dJUU4wSEE1d0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQkJBOElBQWdBUkJBSUFBUVB4QUFDN3NCQVFWL0lBQWdBellDQUNBQUlBUTJBZ1FnQUVFa05nSUlJQUJEQUFCQVFEZ0NEQ0FBUXdBQXdEODRBaEFnQUVFRk5nSVVJQUJEemN4TVB6Z0NHQ0FBUVJ4cVFTUVFod0VnQUNJR1FTaHFJQUFvQWdBZ0FDZ0NCR3dRMUFKQkFDRUFBMEFnQUNBRFJ3UkFJQUFnQkd3aEJ5QUJJQUIySVFnZ0FpQUFkaUVKUVFBaEJRTkFJQVFnQlVjRVFDQUdLQUlvSUFVZ0IycEJCWFJxUVFJZ0NDQUpRUUlRdHdJZ0JVRUJhaUVGREFFTEN5QUFRUUZxSVFBTUFRc0xDek1BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJTUlBQkNBRGNDRkNBQVFnQTNBaHdnQUVJQU53SWtJQUJDQURjQ0xBdU5Cd0lKZndKOUlBSkJmMm9oQ1NBQlFRUnFJZ1FxQWdBZ0FTb0NBQ0lOa3lFT0lBQWdBa0VDZENBQmFpSUdLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSUVRUUVoQ0NBR0lRY0RRQ0FBUVFocUlRVWdCMEVFYWlFSElBZ2dDVWtFUUNBRklBY3FBZ0FnQkNvQ0FKTWlEaUFFUVFScUlnb3FBZ0FnQkVGOGFpb0NBSk1pRFJDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBMGdEWlFnRGlBT2xKS1JPQUlNSUFoQkFXb2hDQ0FLSVFRZ0JTRUFEQUVMQ3lBRFFYOXFJUXdnQkNvQ0FDSU5JQVJCZkdvcUFnQ1RJUTRnQlNBSEtnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhDQ0FGSVFNZ0FrRUNkQ0FHYWlFRUlBRWhCUU5BSUFOQkNHb2hBQ0FJSUF4SkJFQWdBQ0FFS2dJQUlBVXFBZ0NUSWc0Z0JrRUVhaUlBS2dJQUlBWXFBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDREVFQklRc2dBMEVRYWlFREEwQWdCRUVFYWlFSElBVkJCR29oQmlBTElBbEpCRUFnQXlBSEtnSUFJQVlxQWdDVElnNGdBRUVFYWlJS0tnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FMUVFGcUlRc2dCeUVFSUFZaEJTQUtJUUFnQTBFSWFpRUREQUVMQ3lBRElBY3FBZ0FnQmlvQ0FKTWlEaUFBS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUlRUUZxSVFnZ0JFRUlhaUVFSUFWQkNHb2hCU0FBUVFScUlRWU1BUXNMSUFJZ0RHeEJBblFnQVdvaUFVRUFJQUpyUVFKMGFpRUNJQUZCQkdvaUJDb0NBQ0FCS2dJQUlnMlRJUTRnQUNBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQURJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhCU0FBSVFFZ0JDRUFBMEFnQVVFSWFpRURJQUpCQkdvaEFpQUZJQWxKQkVBZ0F5QUFLZ0lBSUFJcUFnQ1RJZzRnQUVFRWFpSUVLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0FTQU5JQTJVSUE0Z0RwU1NrVGdDRENBRlFRRnFJUVVnQXlFQklBUWhBQXdCQ3dzZ0FDb0NBQ0lOSUFCQmZHb3FBZ0NUSVE0Z0F5QU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FCSUE0Z0RwUWdEU0FObEpLUk9BSU1DeHNBSUFCQkJHb2lBQ3dBQzBFQVNBUkFJQUFvQWdBaEFBc2dBQXNMQUNBQUVPMERJQUFRT0F2K0JnRUVmeU1HSVFRakJrRVFhaVFHSUFFb0FnQkJBVWNFUUNBRVFjRElBMEhYNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEhLQWhBK1FmYWlBaEEzUVlyaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BaEJCQVVjRVFDQUVRY0RJQTBHaTRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITEFoQStRZmFpQWhBM1FjL2lBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWhBZ0FDZ0NGR3dnQUNnQ0NDQUFLQUlFYTBFRmRVY0VRQ0FFUWNESUEwSHA0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRYlBqQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnUWdBQ2dDQkNnQ0JFY0VRQ0FFUWNESUEwSFc0d0VRTjBHWjRBRVFOMEh2b2dJUU4wSE9BaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnZ2dBQ2dDQkNnQ0NFY0VRQ0FFUWNESUEwR3k1QUVRTjBHWjRBRVFOMEh2b2dJUU4wSFBBaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBZ0FDZ0NCQ0FCRU9BQklBQWdBQ2dDQkNJQlFTQnFJQUVRNEFFZ0FDQUFLQUlFSWdGQlFHc2dBVUVnYWhEdUEwRUJJUUVEUUNBQklBQW9BaEJKQkVBZ0FDZ0NCQ0FCSUFBb0FoUnNRUVYwYWlnQ0dDQUFLQUlFSUFFZ0FDZ0NGR3hCZjJwQkJYUnFLQUlZSUFBb0FnUWdBU0FBS0FJVWJFRi9ha0VGZEdvb0FnUWdBQ2dDQkNBQklBQW9BaFJzUVg5cVFRVjBhaWdDQ0JEVUNDQUFJQUFvQWdRaUFpQUJJQUFvQWhSc0lnTkJBV3BCQlhScUlBTkJCWFFnQW1vUTRBRWdBQ0FBS0FJRUlnSWdBU0FBS0FJVWJDSURRUUpxUVFWMGFpQURRUUZxUVFWMElBSnFFTzRESUFGQkFXb2hBUXdCQ3dzZ0JDUUdDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmZtb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRUJkV3RCQVhScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXNpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUlDMjhCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVRUFTQVJBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUJkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQmRDQUVhallDREFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lFQzZBQkFRUi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRRjFJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyUVFGMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQldzaUJDQUVJQU5KRzBILy8vLy9CeUFFUVFGMVFmLy8vLzhEU1JzZ0FDZ0NCQ0FGYTBFQmRTQUFRUWhxRU13SUlBSWdBUkRMQ0NBQUlBSVF5Z2dnQWhESkNBc0ZJQUFnQVJETkNBc2dBaVFHQ3p3QkFuOGdBQ2dDQkNBQUtBSUFJZ05yUVFGMUlnSWdBVWtFUUNBQUlBRWdBbXNRemdnRklBSWdBVXNFUUNBQUlBRkJBWFFnQTJvMkFnUUxDd3ViQVFFR2Z5QUFJQU1RMGdnZ0FFRUVhaUlHSUFNZ0FDZ0NGR3dRMUFJRFFDQUVJQU5JQkVBZ0FTQUVkaUVISUFJZ0JIWWhDRUVBSVFVRFFDQUZJQUFvQWhRaUNVa0VRQ0FHS0FJQUlBVWdCQ0FKYkdwQkJYUnFRUUlnQnlBSVFRRVF0d0lnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTElBQkJJR29nQVNBQ2JDSUJFTThJSUFCQkxHb2dBUkNIQVNBQVFUaHFJQUVRaHdFTE9BQWdBQkRUQ0NBQVFkeUZBVFlDQUNBQVFTQnFJZ0JDQURjQ0FDQUFRZ0EzQWdnZ0FFSUFOd0lRSUFCQ0FEY0NHQ0FBUVFBMkFpQUxOUUVCZlNBQUlBRTJBaEFnQUVFRE5nSVVJQUJFQUFBQUFBQUE0RDhRSTdZaUFqZ0NHQ0FBUXdBQWdEOGdBaERTQVpVNEFod0xMQUFnQUVIc2hRRTJBZ0FnQUVFRWFpSUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUVFBMkFoZ0xud0VCQjM4Z0FrRUJkaUVJSUFOQkFYWWhDU0FDUVFGMElRb0RRQ0FFSUFsSEJFQkJBQ0VHSUFRZ0NteEJBblFnQVdvaUF5QUNRUUowYWlFRklBQWhCd05BSUFZZ0NFY0VRQ0FISUFNcUFnQWdBeW9DQkpJZ0JTb0NBSklnQlNvQ0JKSkRBQUNBUHBRNEFnQWdCa0VCYWlFR0lBVkJDR29oQlNBRFFRaHFJUU1nQjBFRWFpRUhEQUVMQ3lBRVFRRnFJUVFnQ0VFQ2RDQUFhaUVBREFFTEN3dXVDd0lMZndGOUl3WWhDeU1HUVJCcUpBWWdBMEVFVFFSQUlBdEJ3TWdEUWZmZkFSQTNRWm5nQVJBM1FlK2lBaEEzUWFnQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dCRUVFVFFSQUlBdEJ3TWdEUWJUaEFSQTNRWm5nQVJBM1FlK2lBaEEzUWFrQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTUlBTkJmbW9oQ1NBRFFYMXFJUTBnQTBGOGFpRU9JQUVoQndOQUlBUWdDRWNFUUNBRElBaHNRUUowSUFKcUlnWXFBZ0FoRUNBSElBWXFBZ2dnRUNBUVF3QUF3RUNVSUJBZ0Jpb0NCSkpEQUFDQVFKU1NrcEk0QWdBZ0J5QUdLZ0lNSUFZcUFnQWlFQ0FHS2dJRVF3QUF3RUNVSUJBZ0Jpb0NDSkpEQUFDQVFKU1NrcEk0QWdSQkFpRUZJQWRCQ0dvaENnTkFJQVVnQ1VjRVFDQUtJQVZCQW1wQkFuUWdCbW9xQWdBZ0JVRitha0VDZENBR2Fpb0NBQ0FGUVFKMElBWnFLZ0lBUXdBQXdFQ1VJQVZCZjJwQkFuUWdCbW9xQWdBZ0JVRUJhaUlGUVFKMElBWnFLZ0lBa2tNQUFJQkFsSktTa2pnQ0FDQUtRUVJxSVFvTUFRc0xJQWxCQW5RZ0Iyb2lCU0FNUVFKMElBWnFJZ29xQWdBaUVDQU9RUUowSUFacUtnSUFJQWxCQW5RZ0Jtb2lEeW9DQUVNQUFNQkFsQ0FOUVFKMElBWnFJZ1lxQWdBZ0VKSkRBQUNBUUpTU2twSTRBZ0FnQlNBS0tnSUFJaEFnQmlvQ0FDQVFRd0FBd0VDVUlCQWdEeW9DQUpKREFBQ0FRSlNTa3BJNEFnUWdBMEVDZENBSGFpRUhJQWhCQVdvaENBd0JDd3NnQkVGK2FpRU5RUUFoQ1NBRFFRSjBJQUZxSWdJZ0EwRUNkR29pQ0NFS0lBSWhCU0FCSVFjZ0FDRUdBMEFnQXlBSlJ3UkFJQVlnQ2lvQ0FDQUhLZ0lBSWhBZ0VFTUFBTUJBbENBUUlBVXFBZ0NTUXdBQWdFQ1VrcEtTUXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFScUlRb2dCVUVFYWlFRklBZEJCR29oQnlBR1FRUnFJUVlNQVFzTFFRQWhCaUFEUVFKMElBaHFJUWtnQ0NFRklBRWhCeUFEUVFKMElBQnFJUWdEUUNBRElBWkhCRUFnQ0NBSktnSUFJQWNxQWdBaUVDQUNLZ0lBUXdBQXdFQ1VJQkFnQlNvQ0FKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBbEJCR29oQ1NBRlFRUnFJUVVnQWtFRWFpRUNJQWRCQkdvaEJ5QUlRUVJxSVFnTUFRc0xRUUloQ0FOQUlBZ2dEVWNFUUVFQUlRa2dBeUFJUVg1cWJFRUNkQ0FCYWlJR0lBTkJBblJxSWdjZ0EwRUNkR29pQlNBRFFRSjBhaUlDSUFOQkFuUnFJUW9nQXlBSWJFRUNkQ0FBYWlFTUEwQWdBeUFKUndSQUlBd2dDaW9DQUNBR0tnSUFJQVVxQWdCREFBREFRSlFnQnlvQ0FDQUNLZ0lBa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBSlFRRnFJUWtnQ2tFRWFpRUtJQUpCQkdvaEFpQUZRUVJxSVFVZ0IwRUVhaUVISUFaQkJHb2hCaUFNUVFScUlRd01BUXNMSUFoQkFXb2hDQXdCQ3d0QkFDRUdJQU1nQkVGOGFteEJBblFnQVdvaUJ5QURRUUowYWlJRklBTkJBblJxSWdJZ0EwRUNkR29oQ0NBRElBMXNRUUowSUFCcUlRa0RRQ0FESUFaSEJFQWdDU0FJS2dJQUloQWdCeW9DQUNBQ0tnSUFRd0FBd0VDVUlBVXFBZ0FnRUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFoQkJHb2hDQ0FDUVFScUlRSWdCVUVFYWlFRklBZEJCR29oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUowSUFGcUlnSWdBMEVDZEdvaUFTQURRUUowYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3FBZ0FpRUNBQ0tnSUFJQkJEQUFEQVFKUWdBU29DQUNBUWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUZRUUZxSVFVZ0IwRUVhaUVISUFGQkJHb2hBU0FDUVFScUlRSWdBRUVFYWlFQURBRUxDeUFMSkFZTHpnb0JESDhqQmlFTUl3WkJFR29rQmlBRFFRUk5CRUFnREVIQXlBTkI5OThCRURkQm1lQUJFRGRCNzZJQ0VEZEJOeEErUWZhaUFoQTNRYUhoQVJBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBTVFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBTUVEd2dCU0FIRUVBZ0JSQS9FQUFMSUFSQkJFMEVRQ0FNUWNESUEwRzA0UUVRTjBHWjRBRVFOMEh2b2dJUU4wRTRFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF4QmdNNERFRG9pQnlnQ0FDZ0NIQ0VJSUFkQkNpQUlRVDl4UVlvQmFoRUNBQ0VISUF3UVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU5JQU5CZm1vaENpQURRWDFxSVE0Z0EwRjhhaUVQSUFFaENBTkFJQVFnQ1VjRVFDQUlJQUlnQXlBSmJHb2lCaTBBQUNJRklBWXRBQUZxUVFKMElBWXRBQUlnQlVFSGJHcHFPd0VBSUFnZ0JpMEFBQ0lGSUFZdEFBSnFRUUowSUFZdEFBTWdCaTBBQVVFR2JDQUZhbXBxT3dFQ1FRSWhCU0FJUVFScUlRc0RRQ0FGSUFwSEJFQWdDeUFGUVFKcUlBWnFMUUFBSUFWQmZtb2dCbW90QUFBZ0JTQUdhaTBBQUVFR2JHb2dCVUYvYWlBR2FpMEFBQ0FGUVFGcUlnY2dCbW90QUFCcVFRSjBhbW83QVFBZ0J5RUZJQXRCQW1vaEN3d0JDd3NnQ2tFQmRDQUlhaUlGSUFZZ0RXb2lDeTBBQUNJUUlBWWdEbW9pQnkwQUFHcEJBblFnQmlBUGFpMEFBQ0FHSUFwcUlnWXRBQUJCQm13Z0VHcHFhanNCQUNBRklBc3RBQUFpQlNBR0xRQUFha0VDZENBSExRQUFJQVZCQjJ4cWFqc0JBaUFEUVFGMElBaHFJUWdnQ1VFQmFpRUpEQUVMQ3lBRVFYNXFJUTFCQUNFSklBTkJBWFFnQVdvaUFpQURRUUYwYWlJR0lRb2dBaUVGSUFFaEJ5QUFJUWdEUUNBRElBbEhCRUFnQ0NBS0x3RUFJQWN2QVFBaUN5QUZMd0VBYWtFQ2RDQUxRUWRzYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQlVFQ2FpRUZJQWRCQW1vaEJ5QUlRUVJxSVFnTUFRc0xRUUFoQ0NBRFFRRjBJQVpxSVFrZ0JpRUZJQUVoQnlBRFFRSjBJQUJxSVFZRFFDQURJQWhIQkVBZ0JpQUpMd0VBSUFjdkFRQWlDaUFGTHdFQWFrRUNkQ0FDTHdFQVFRWnNJQXBxYW1xeVF3QUFnRHVVT0FJQUlBaEJBV29oQ0NBSlFRSnFJUWtnQlVFQ2FpRUZJQUpCQW1vaEFpQUhRUUpxSVFjZ0JrRUVhaUVHREFFTEMwRUNJUVlEUUNBR0lBMUhCRUJCQUNFSklBTWdCa0YrYW14QkFYUWdBV29pQ0NBRFFRRjBhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUtJQU1nQm14QkFuUWdBR29oQ3dOQUlBTWdDVWNFUUNBTElBb3ZBUUFnQ0M4QkFDQUZMd0VBUVFac2FpQUhMd0VBSUFJdkFRQnFRUUowYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQWtFQ2FpRUNJQVZCQW1vaEJTQUhRUUpxSVFjZ0NFRUNhaUVJSUF0QkJHb2hDd3dCQ3dzZ0JrRUJhaUVHREFFTEMwRUFJUWdnQXlBRVFYeHFiRUVCZENBQmFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFR0lBTWdEV3hCQW5RZ0FHb2hDUU5BSUFNZ0NFY0VRQ0FKSUFZdkFRQWlDaUFITHdFQUlBSXZBUUJCQm14cUlBVXZBUUFnQ21wQkFuUnFhckpEQUFDQU81UTRBZ0FnQ0VFQmFpRUlJQVpCQW1vaEJpQUNRUUpxSVFJZ0JVRUNhaUVGSUFkQkFtb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRRjBJQUZxSWdJZ0EwRUJkR29pQVNBRFFRRjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjdkFRQWlCQ0FDTHdFQUlBUkJCbXhxSUFRZ0FTOEJBR3BCQW5ScWFySkRBQUNBTzVRNEFnQWdCVUVCYWlFRklBZEJBbW9oQnlBQlFRSnFJUUVnQWtFQ2FpRUNJQUJCQkdvaEFBd0JDd3NnRENRR0M1UVpBaFovQlh3akJpRUlJd1pCUUdza0JpQUlRU0JxSVFvZ0NFRVlhaUVOSUFoQk5Hb2hCQ0FJUVNocUlRVWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FFRXNhaUlMUVFBMkFnQUNRQUpBSUFCQjlJYXZBMm9pRHlnQ0FDSUNRUVJIRFFBQ1FDQUFRZnlHcndOcUlnd29BZ0FpQWtFQVNnUkFJQXdnQWtGL2FqWUNBQVVDUUNBRUlBQW9BaEFpQnlBQVFZQ0hyd05xSWdZb0FnQnFJZ0pCL3dFZ0FrSC9BVWdiSWhBMkFnQWdCQ0FISUFCQmhJZXZBMm9pQ1NnQ0FHc2lBa0VBSUFKQkFFb2JJaEUyQWdRZ0JDQUhOZ0lJSUFCQjRJYW5BbW9oQXlBQVFiajRBR29oRGlBQVFiRDRBR29oRWlBQVFmQ0dyd05xSVJNZ0FFR1FoNjhEYWlFVUlBQkJNR29oRlNBQVFaaUhyd05xSVJaQkFDRUNBa0FDUUFOQUlBSkJBMGtFUUNBQktBSU1JQUFvQWlRZ0FDZ0NLQ0FBS0FJQUlBQW9BZ3dnQWtFQ2RDQUVhaWdDQUNBQUtBSVVJQU5CQUJDNkFrRUFTQTBDSUFBb0FpUWdBQ2dDS0NBRElBQW9BaFFnRGlBU0VPd0RRUUJJRFFJZ0FTZ0NBQ0FBS0FJa0lBQW9BaWdnQUNnQ0JDQU9JQklvQWdBZ0V5Z0NBQ0FBS0FJVUlBQW9BaGdnQUNnQ0lFRzRBV29nRkNzREFDQVZJQXNnRmlnQ0FCRGVBMEVBU0EwQ0lBSkJBblFnQldvZ0N5Z0NBRFlDQUNBQ1FRRnFJUUlNQVFzTERBRUxRWDhNQmdzZ0FDZ0NBRUVCUmdSQUlBVW9BZ1FoRGlBRktBSUlJUU1nQlNnQ0FDRUNJQWdnRVRZQ0FDQUlJQTQyQWdRZ0NDQUhOZ0lJSUFnZ0F6WUNEQ0FJSUJBMkFoQWdDQ0FDTmdJVVFRQkJBMEdpcHdFZ0NCQTlCU0FGS0FJQUlRSWdCU2dDQ0NFREN5QUNJQU5LSUFVb0FnUWlCU0FEU25JRVFDQUFJQkVnRUNBQ0lBVklHeUlDTmdJUUlBa2dBaUFIYXlJRFFRQktCSDhnQmlBRE5nSUFRUUVGSUFaQkFUWUNBRUVBSUFOckN6WUNBQ0FBS0FJQVFRRkdCRUFnRFNBQ05nSUFRUUJCQTBIdXB3RWdEUkE5Q3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQVFzZ0JpZ0NBQ0lCSUFrb0FnQWlBa2dFUUNBR0lBRkJBV29pQVRZQ0FBVWdBU0FDVEFSQUlBWWdBVUVCYWlJQk5nSUFDeUFKSUFKQkFXbzJBZ0FMSUFjZ0FTQUhha0grQVVvRWZ5QUdRUUUyQWdCQkFRVWdBUXRNQkVBZ0NVRUJOZ0lBQ3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQWdzTElBOG9BZ0FoQWd3QkN3d0JDd0pBQWtBQ1FBSkFJQUpCQVdzT0F3RUJBQUlMSUFCQmlJZXZBMm9pQWlnQ0FDQUJLQUlNRU5nSElnTkJBRWdFUUNBRERBVUxJQUVvQWd3Z0FpZ0NBQ0lES0FJRUlBTW9BZ2dnQUNnQ0FDQUFLQUlNUVFCQkFDQUFRZUNHcHdKcUlnSWdBeWdDQUJDNkFpSURRUUJJQkVBZ0F3d0ZDeUFBUVNScUlRTWdBRUVvYWlFRUlBQkJGR29oQlF3Q0N5QUFRZnlHcndOcUlnTW9BZ0FpQlVFQVNnUkFJQU1nQlVGL2FqWUNBQXdCQ3lBQVFZaUhyd05xS0FJQUlRVWdBU2dDRENFSElBSkJBVVlFZnlBRklBY2dCQkRrQndVZ0JTQUhJQVFRNEFjTElnSkJBRWdFUUNBQ0RBUUxJQUFvQWdCQkFVWUVRQ0FFTFFBQUlnSWdBQ2dDRUVjRVFDQUtRYUtvQVVHcHFBRWdEeWdDQUVFQlJoczJBZ0FnQ2lBQ05nSUVRUUJCQTBHdXFBRWdDaEE5Q3dzZ0FDQUVMUUFBTmdJUUlBTWdBRUg0aHE4RGFpZ0NBRFlDQUF0QmZ5QUJLQUlNSUFCQkpHb2lBeWdDQUNBQVFTaHFJZ1FvQWdBZ0FDZ0NBQ0FBS0FJTUlBQW9BaEFnQUVFVWFpSUZLQUlBSUFCQjRJYW5BbW9pQWtFQUVMb0NRUUJJRFFJYUMwRi9JQU1vQWdBZ0JDZ0NBQ0FDSUFVb0FnQWdBRUc0K0FCcUlnSWdBRUd3K0FCcUlnY1E3QU5CQUVnTkFScEJmeUFCS0FJQUlBTW9BZ0FnQkNnQ0FDQUFLQUlFSUFJZ0J5Z0NBQ0FBUWZDR3J3TnFLQUlBSUFVb0FnQWdBQ2dDR0NBQUtBSWdRYmdCYWlBQVFaQ0hyd05xS3dNQUlBQkJNR29nQ3lBQVFaaUhyd05xS0FJQUVONERRUUJJRFFFYUN5QUFLQUljUVFGR0JFQWdBQkR2QTBFQURBRUxJQUJCK0lxbUFtb2lCeWdDQUNFSlFRQWhBd05BSUFNZ0NVZ0VRQ0FMS0FJQUlRUWdBRUdBaTZZQ2FpQURRWWdDYkdvaEJTQUFJQU5CaUFKc2FrRzRpNllDYWlFR0lBQWdBMEdJQW14cVFjQ0xwZ0pxSVFwQkFDRUNRWDhoQVVRQUFBQUFBQURnUHlFWkEwQWdBaUFFU0FSQUlBVW9BZ0MzSUFCQk1Hb2dBa0VJZEdvb0FnQzNJaGlqSWhwRVptWm1abVptNWo5aklCcEU0WG9VcmtmaDlqOWtja1VFUUNBQUlBSkJDSFJxS3dOb0lBWXJBd0NoSWhvZ0dxSWdBQ0FDUVFoMGFpc0RjQ0FLS3dNQW9TSWFJQnFpb0NBWW95SVlJQmxqQkVBZ0dDRVpJQUloQVFzTElBSkJBV29oQWd3QkN3c2dBVUYvU2dSQUFrQUNRQUpBQWtBZ0FDZ0NHQ0lLRGdVQ0FnSUFBQUVMSUFBZ0FVRUlkR29pQkNzRFdDQUFJQU5CaUFKc2FrR29pNllDYWlzREFDSVlZd1JBSUFBZ0FVRUlkR3BCNEFCcUlRSWdBQ0FEUVlnQ2JHcEJzSXVtQW1vckF3QWhHUVVnQUNBQlFRaDBha0hnQUdvaUFpc0RBQ0FBSUFOQmlBSnNha0d3aTZZQ2Fpc0RBQ0laWTBVTkF3c2dCQ0FZT1FOWUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmlJdW1BbW9vQWdBMkFqZ2dBaUFaT1FNQUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmpJdW1BbW9vQWdBMkFqeEJBQ0VGUVg4aEFrUUFBQUFBaE5lWFFTRVlBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWkEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaUJrRUVkR29yQXdDaElSb2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBR1FRUjBhaXNENEFHaElSc2dCRUVCYWlFRUlCa2dHaUFhb2lBYklCdWlvS0FoR1F3QkN3c2dCU0FDSUJrZ0dHTWlCQnNoQWlBRlFRRnFJUVVnR1NBWUlBUWJJUmdNQVFzTElBQWdBVUVJZEdwQkJDQUNheUlDSUFBZ0EwR0lBbXhxUVpTTHBnSnFLQUlBYWtFRUVFODJBa1FnQUNBQlFRaDBhaUFDSUFBZ0EwR0lBbXhxUVppTHBnSnFLQUlBYWtFRUVFODJBa2dNQWd0QmZ3d0ZDeUFBSUFGQkNIUnFJZ0lyQTFBZ0FDQURRWWdDYkdwQm9JdW1BbW9yQXdBaUdtTUVRQ0FDSUJvNUExQWdBQ0FCUVFoMGFpQUFJQU5CaUFKc2FrR0VpNllDYWlnQ0FDSUdOZ0kwSUFBZ0EwR0lBbXhxUVpDTHBnSnFJUXhCZnlFQ1JBQUFBQUNFMTVkQklSbEJBQ0VGQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVlBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlEVUVFZEdvckF3Q2hJUnNnQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQU5RUVIwYWlzRDRBR2hJUndnQkVFQmFpRUVJQmdnR3lBYm9pQWNJQnlpb0tBaEdBd0JDd3NnR0NBWll3UkFJQmdoR1NBTUtBSUFRUVFnQld0cVFRUVFUeUVDQ3lBRlFRRnFJUVVNQVFzTElBQWdBVUVJZEdwQlFHc2dBallDQUNBS1FRSkpCRUFnQUNBQlFRaDBhaUFHTmdJNElBQWdBVUVJZEdvZ0dqa0RXQ0FBSUFGQkNIUnFJQUkyQWtRRklBQWdBVUVJZEdvZ0JqWUNQQ0FBSUFGQkNIUnFJQm81QTJBZ0FDQUJRUWgwYWlBQ05nSklDd3NMQ3lBRFFRRnFJUU1NQVFzTElBQVE3d05CQUNFQ1FRQWhBUU5BSUFJZ0J5Z0NBRWdFUUNBQUlBSkJpQUpzYWtHQWphWUNhaUlFS0FJQUlRTWdCQ0FEUVFGcU5nSUFJQU5CQTBnRVFDQUJJQUpIQkVBZ0FFR0FpNllDYWlBQlFZZ0NiR29nQUVHQWk2WUNhaUFDUVlnQ2JHcEJpQUlRVEJvTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUhJQUUyQWdBZ0N5Z0NBQ0VEUVFBaEJBTkFBa0FnQkNBRFRnMEFJQUJCTUdvZ0JFRUlkR29oQlNBQUlBUkJDSFJxS0FJMElnWkJBRTRFUUVFQUlRSURRQUpBSUFJZ0FVNE5BQ0FHSUFBZ0FrR0lBbXhxUVlTTHBnSnFLQUlBUmcwQUlBSkJBV29oQWd3QkN3c2dBU0FDUmdSQUlBRkJQRVlOQWlBSElBRkJBV29pQVRZQ0FBc2dBRUdBaTZZQ2FpQUNRWWdDYkdvZ0JVR0FBaEJNR2lBQUlBSkJpQUpzYWtHQWphWUNha0VCTmdJQUN5QUVRUUZxSVFRTUFRc0xJQUFvQWh4QkFrWUVmMEVBQlVFQUlRUWdBU0VDSUFNaEFRTkFRUUFnQkNBQ1RnMENHaUFBUVlDTHBnSnFJQVJCaUFKc2FpRUZJQUFnQkVHSUFteHFRYmlMcGdKcUlRWWdBQ0FFUVlnQ2JHcEJ3SXVtQW1vaENVRUFJUU1EUUFKQUlBTWdBVTROQUNBRktBSUF0eUFBUVRCcUlBTkJDSFJxS0FJQXR5SVpveUlZUkdabVptWm1adVkvWXlBWVJPRjZGSzVINGZZL1pISkZCRUFnQUNBRFFRaDBhaXNEYUNBR0t3TUFvU0lZSUJpaUlBQWdBMEVJZEdvckEzQWdDU3NEQUtFaUdDQVlvcUFnR2FORUFBQUFBQUFBNEQ5akRRRUxJQU5CQVdvaEF3d0JDd3NnQVNBRFJnUkFJQUJCTUdvZ0FVRUlkR29nQUVHQWk2WUNhaUFFUVlnQ2JHcEJnQUlRVEJvZ0N5QUJRUUZxSWdFMkFnQWdCeWdDQUNFQ0N5QUVRUUZxSVFRTUFBQUxBQXNMQlVGL0N5RVhJQWdrQmlBWEN3c0FJQUFReGdJZ0FCQTRDd3NBSUFBUXh3SWdBQkE0Qzd3QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNnQ0JDQUFLQUlBSWdOclFRVjFJQUZMQkVBZ0F5Z0NCQ0FBS0FJQUlBRkJCWFJxS0FJRUVFaXpFUEVERVBBREVFTWhCQ0FDSkFZZ0JBOEZJQUpCd01nRFFaWGZBUkEzUWM3TEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ3OThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQVNnQ0FDZ0NIQ0VESUFGQkNpQURRVDl4UVlvQmFoRUNBQ0VCSUFJUVBDQUFJQUVRUUNBQUVEOFFBQXRCQUF0SkFRRi9JQUFvQWdnaEFnTkFJQUpDQURjQ0FDQUNRZ0EzQWdnZ0FrSUFOd0lRSUFKQ0FEY0NHQ0FDUVFBMkFpQWdBQ0FBS0FJSVFTUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMwa0JBWDhnQUNnQ0JDRUNBMEFnQWtJQU53SUFJQUpDQURjQ0NDQUNRZ0EzQWhBZ0FrSUFOd0lZSUFKQkFEWUNJQ0FBSUFBb0FnUkJKR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xwZ0VCQlg4akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnUWlBMnRCSkJBNUlBRkpCRUJCeCtQeE9DQURJQUFvQWdCclFTUVFPU0FCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3RCSkJBNUlnVkJBWFFpQmlBR0lBTkpHMEhINC9FNElBVkI0L0c0SEVrYklBQW9BZ1FnQkd0QkpCQTVJQUJCQ0dvUTBBSWdBaUFCRU5zSUlBQWdBaERQQWlBQ0VNNENDd1VnQUNBQkVOd0lDeUFDSkFZTG9Bd0NCbjhGZlNNR0lRY2pCa0VRYWlRR0lBU09FRU1pQ2lBRUVFTkhCRUFnQjBIQXlBTkI2dEVCRURkQm50SUJFRGRCNzZJQ0VEZEJ4UUFRUGtIMm9nSVFOMEdUMHdFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVFZZ0NVRUtJQVpCUDNGQmlnRnFFUUlBSVFZZ0J4QThJQWdnQmhCQUlBZ1FQeEFBQ3lBRmpoQkRJZ3NnQlJCRFJ3UkFJQWRCd01nRFFiSFRBUkEzUVo3U0FSQTNRZStpQWhBM1FjWUFFRDVCOXFJQ0VEZEJrOU1CRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VHSUFsQkNpQUdRVDl4UVlvQmFoRUNBQ0VHSUFjUVBDQUlJQVlRUUNBSUVEOFFBQXNnQ3lBQ1NTQUxRWDlLY1VVRVFDQUhRY0RJQTBIbDB3RVFOMEdlMGdFUU4wSHZvZ0lRTjBIUEFCQStRZmFpQWhBM1FaUFVBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hCaUFKUVFvZ0JrRS9jVUdLQVdvUkFnQWhCaUFIRUR3Z0NDQUdFRUFnQ0JBL0VBQUxJQXRCQVdvaUNTQUNUd1JBSUFkQndNZ0RRYVRVQVJBM1FaN1NBUkEzUWUraUFoQTNRZEFBRUQ1QjlxSUNFRGRCNE5RQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJpZ0NBQ2dDSENFQ0lBWkJDaUFDUVQ5eFFZb0JhaEVDQUNFQ0lBY1FQQ0FJSUFJUVFDQUlFRDhRQUFzZ0NpQUJTU0FLUVg5S2NVVUVRQ0FIUWNESUEwSDQxQUVRTjBHZTBnRVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYVhWQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdZb0FnQW9BaHdoQWlBR1FRb2dBa0UvY1VHS0FXb1JBZ0FoQWlBSEVEd2dDQ0FDRUVBZ0NCQS9FQUFMSUFwQkFXb2lDQ0FCVHdSQUlBZEJ3TWdEUWJiVkFSQTNRWjdTQVJBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQjhkVUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dDTElnQkpNaURpQUpzaUFGa3lJTWxDSU5Rd0FBQUFCZ1JTQU51MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUVluV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dCQ0FLc3BNaUR5QU1sQ0lNUXdBQUFBQmdSU0FNdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFjWFdBUkEzUVo3U0FSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRGlBRklBdXlreUlFbENJRlF3QUFBQUJnUlNBRnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRZlRXQVJBM1FaN1NBUkEzUWUraUFoQTNRZUFBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0R5QUVsQ0lFUXdBQUFBQmdSU0FFdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFhUFhBUkEzUVo3U0FSQTNRZStpQWhBM1FlRUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQXlBQUlBTWdDMnhxSWdGcUlRQWdCQ0FGSUEwZ0RKS1NrcnRFY2F5TDIyZ0E4RDlsQkVBZ0RTQUtRUUowSUFGcUtnSUFsQ0FNSUFoQkFuUWdBV29xQWdDVWtpQUZJQXBCQW5RZ0FHb3FBZ0NVa2lBRUlBaEJBblFnQUdvcUFnQ1VraUVRSUFja0JpQVFEd1VnQjBIQXlBTkIwdGNCRURkQm50SUJFRGRCNzZJQ0VEZEI0Z0FRUGtIMm9nSVFOMEc0MWdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0J4QThJQUlnQUJCQUlBSVFQeEFBQzBNQUFBQUFDNzhKQWcxL0JYMGpCaUVLSXdaQklHb2tCaUFLUVJ4cUlRY2dDa0VZYWlFTElBcEJGR29oRENBS1FSQnFJUThnQ2tFTWFpRVFJQXBCQ0dvaEVTQUtRUVJxSVJJZ0JVRUFTZ1JBSUFWQkFXb2dBeWdDQkVrRVFDQUdRWDlxSVE0Z0JrRUFTZ1JBSUFaQkFXb2lFeUFES0FJSVNRUkFJQU1vQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBIa3p3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBHNzBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQU1vQWdnZ0FpZ0NDRUVCZGtjRVFDQUhRY0RJQTBIMDBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdnZ0FpZ0NDRUVCZGtZRVFDQURJQVlRVUNBRlFRSjBhaUVJSUFRZ0RoQlFJQVZCQW5ScUlRNGdCQ0FHRUZBZ0JVRUNkR29oQnlBRUlCTVFVQ0FGUVFKMGFpRUVJQXNnRENBRnNpQUdza0VCRU9FQklBOGdFQ0FSSUJJZ0NpQURJQVVnQmhESkFpQUNJQXNxQWdBZ0RDb0NBQkJOSVJRZ0J5b0NBQ0lYSUJRZ0NDb0NBRU1BQUFCQWxKT1NJUmdnQWlBTEtnSUFRd0FBQU1DU0lBd3FBZ0FRVFNBSEtnSUVraUFDSUFzcUFnQkRBQUFBUUpJZ0RDb0NBQkJOSUFkQmZHb3FBZ0NTazBNQUFJQStsQ0VWSUFJZ0N5b0NBQ0FNS2dJQVF3QUFBTUNTRUUwZ0JDb0NBSklnQWlBTEtnSUFJQXdxQWdCREFBQUFRSklRVFNBT0tnSUFrcE5EQUFDQVBwUWhGaUFBSUJFb0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVZPQUlJSUFBZ0FqWUNEQ0FBSUJJb0FnQTJBaEFnQUNBV09BSVVJQUFnRlRnQ0dDQUFJQlk0QWh3Z0FDQVlPQUlnSUFFZ0R5b0NBSXc0QWdBZ0FTQVFLZ0lBakRnQ0JDQUJJQmNnRkpOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRZXdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIb0FoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wSG5BaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMencwQ0RuOEZmU01HSVFzakJrRWdhaVFHSUF0QkhHb2hCeUFMUVJocUlRMGdDMEVVYWlFTUlBdEJFR29oRVNBTFFReHFJUklnQzBFSWFpRVRJQXRCQkdvaEZDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERpQUdRUUJLQkVBZ0JrRUJhaUlQSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUVo4REVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQkNBQ0tBSUVRUUYyUndSQUlBZEJ3TWdEUWJ2UUFSQTNRYzdMQVJBM1FlK2lBaEEzUWFBREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYUVERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ2dDQUVGMGFpZ0NBQ0FJYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NDQ0FDS0FJSVFRRjJSd1JBSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRYUlERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpQU9FRkFoQ0NBQ0lBWVFVQ0VPSUFJZ0R4QlFJUThnQXlBR0VGQWhDaUFOSUF3Z0JiSWdCckpCQVJETEFpQU5LZ0lBSWhWREFBQUF2NUpEQUFBQUFHQkZCRUFnQjBIQXlBTkIzTmtCRURkQnpzc0JFRGRCNzZJQ0VEZEJyQU1RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBTUtnSUFRd0FBQUwrU1F3QUFBQUJnUlFSQUlBZEJ3TWdEUWJ2YUFSQTNRYzdMQVJBM1FlK2lBaEEzUWEwREVENUI5cUlDRURkQjVOb0JFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRVFJQWxCQ2lBUVFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBQ0lBa1FRQ0FDRUQ4UUFBc2dGVU1BQUFBL2tpQUVLQUlFczExRkJFQWdCMEhBeUFOQm10c0JFRGRCenNzQkVEZEI3NklDRURkQnJnTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFGUVFKMElBaHFJUWdnQlVFQ2RDQU9haUVDSUFWQkFuUWdEMm9oRGlBRlFRSjBJQXBxSVE4Z0RDb0NBRU1BQUFBL2tpQUVLQUlJczEwRVFDQVJJQklnRXlBVUlBc2dBeUFGSUFZUXlRSWdCQ0FOS2dJQUlBd3FBZ0FRVFNJWElBSXFBZ0FpR0NBUEtnSUFRd0FBQUVDVWs1SWhHU0FDUVh4cUtnSUFJQVFnRFNvQ0FFTUFBQUEva2lBTUtnSUFFRTJTSUFJcUFnUWdCQ0FOS2dJQVF3QUFBTCtTSUF3cUFnQVFUWktUUXdBQWdENlVJUlVnQ0NvQ0FDQUVJQTBxQWdBZ0RDb0NBRU1BQUFBL2toQk5raUFPS2dJQUlBUWdEU29DQUNBTUtnSUFRd0FBQUwrU0VFMlNrME1BQUlBK2xDRVdJQUFnRXlnQ0FEWUNBQ0FBSUFzb0FnQWlBallDQkNBQUlCVTRBZ2dnQUNBQ05nSU1JQUFnRkNnQ0FEWUNFQ0FBSUJZNEFoUWdBQ0FWT0FJWUlBQWdGamdDSENBQUlCazRBaUFnQVNBUktnSUFqRGdDQUNBQklCSXFBZ0NNT0FJRUlBRWdGeUFZazBNQUFBQS9sSXc0QWdnZ0N5UUdEd1VnQjBIQXlBTkJ6ZHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyd01RUGtIMm9nSVFOMEhrMmdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzTElBZEJ3TWdEUVpuUEFSQTNRYzdMQVJBM1FlK2lBaEEzUVo0REVENUI5cUlDRURkQjFNOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xJQWRCd01nRFFjL09BUkEzUWM3TEFSQTNRZStpQWhBM1FaMERFRDVCOXFJQ0VEZEJpYzhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXY4Q0FJTWZ3VjlJd1loQ2lNR1FTQnFKQVlnQ2tFVWFpRUhJQXBCRUdvaERTQUtRUXhxSVE0Z0NrRUlhaUVQSUFwQkJHb2hFQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEQ0FHUVFCS0JFQWdCa0VCYWlJUklBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FiY0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0JDQUVLQUlFUndSQUlBZEJ3TWdEUVlIY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJnQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYmtDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FFS0FJSVJnUkFJQUlnREJCUUlBVkJBblJxSVJJZ0FpQUdFRkFnQlVFQ2RHb2hCeUFDSUJFUVVDQUZRUUowYWlFSklBTWdCaEJRSUFWQkFuUnFJUXNnQkNBTUVGQWdCVUVDZEdvaERDQUVJQVlRVUNBRlFRSjBhaUVDSUFRZ0VSQlFJQVZCQW5ScUlRUWdEU0FPSUE4Z0VDQUtJQU1nQlNBR0VNa0NJQUlxQWdBaUZTQUhLZ0lBSWhZZ0N5b0NBRU1BQUFCQWxKT1NJUmNnQjBGOGFpb0NBQ0FIS2dJRWt5QUNLZ0lFSUFKQmZHb3FBZ0NUa2tNQUFJQStsQ0VUSUJJcUFnQWdDU29DQUpNZ0JDb0NBQ0FNS2dJQWs1SkRBQUNBUHBRaEZDQUFJQThvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVE9BSUlJQUFnQWpZQ0RDQUFJQkFvQWdBMkFoQWdBQ0FVT0FJVUlBQWdFemdDR0NBQUlCUTRBaHdnQUNBWE9BSWdJQUVnRFNvQ0FJdzRBZ0FnQVNBT0tnSUFqRGdDQkNBQklCVWdGcE5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFiWGNBUkEzUWM3TEFSQTNRZStpQWhBM1Fib0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEcyQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBHMUFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxXZ0VDZlNBQUtnSWdJQUFxQWdRUWFaUWhBU0FBS2dJRVF3QUFBRUNVSUFBcUFnZ2lBcFFnQUNvQ0ZKUWdBWk1nQUNvQ0VDQUNFR21Va3lBQUtnSUFJQUFxQWhRUWFaU1RJQUFxQWdBZ0FDb0NFSlFnQUNvQ0lKU1NDOHdCQVFKL0l3WWhBaU1HUVJCcUpBWWdBQVIvSUFFZ0FDZ0NCRVlFZjBFQUJRSi9JQUZCRDA4RVFDQUNJQUUyQWdCQkFFRURRZkdtQVNBQ0VEMUJmd3dCQ3lBQUlBRTJBZ1FnQUNBQkVKVUdOZ0lJSUFBb0FoZ2hBMEdnNEFFZ0FVSC8vd0Z4ZGtFQmNRUkFBa0FDUUFKQUlBTU9CQUFDQWdFQ0N5QUFRUUUyQWhoQkFBd0RDeUFBUVFRMkFoaEJBQXdDQ3dVQ1FBSkFBa0FnQTBFQmF3NEVBQUlDQVFJTElBQkJCRFlDR0VFQURBTUxJQUJCQXpZQ0dFRUFEQUlMQzBFQUN3c0ZRWDhMR2lBQ0pBWUxlZ0FnQUNBQktnSUFJQUlxQWdDVUlBRXFBZ1FnQWlvQ0JKU1NJQUVxQWdnZ0Fpb0NDSlNTT0FJQUlBQWdBU29DRENBQ0tnSUFsQ0FCS2dJUUlBSXFBZ1NVa2lBQktnSVVJQUlxQWdpVWtqZ0NCQ0FBSUFFcUFoZ2dBaW9DQUpRZ0FTb0NIQ0FDS2dJRWxKSWdBU29DSUNBQ0tnSUlsSkk0QWdnTDZ3RUJBWDBnQVJEaUNDSUNpME1BQUFBMFh3Ui9RUUFGSUFCREFBQ0FQeUFDbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0lnRU1vQ2xEZ0NBQ0FBSUFJZ0FTb0NDQ0FCS2dJRUlBRXFBaUFnQVNvQ0hCQ0FBWlE0QWdRZ0FDQUNJQUVxQWdRZ0FTb0NDQ0FCS2dJUUlBRXFBaFFRZ0FHVU9BSUlJQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NJQkRLQXBRNEFoQWdBQ0FDSUFFcUFnZ2dBU29DQUNBQktnSVVJQUVxQWd3UWdBR1VPQUlVSUFBZ0FpQUJLZ0lBSUFFcUFnUWdBU29DRUJES0FwUTRBaUFnQUNBQUtBSUVOZ0lNSUFBZ0FDZ0NDRFlDR0NBQUlBQW9BaFEyQWh4QkFRc0xQQUVCZlNBQktnSUFJQUVxQWhDVUlBRXFBZ1FRYVpNaUFrTUFBQUFBV3dSL1FRQUZJQUFnQVNvQ0FDQUJLZ0lRa2hCcElBS1ZPQUlBUVFFTEN5OEJBbjhqQmlFREl3WkJNR29rQmlBRElBRVE1UWdFZnlBQUlBTWdBaERrQ0VFQkJVRUFDeUVFSUFNa0JpQUVDNmtGQVFSL0l3WWhCeU1HUVJCcUpBWWdCQ2dDQkNBQ0tBSUVJQU1vQWdSR1JnUkFJQVFvQWdnZ0FpZ0NDQ0FES0FJSVJrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPRUlCU0FIUWNESUEwR0h5d0VRTjBIT3l3RVFOMEh2b2dJUU4wSFNBeEErUWZhaUFoQTNRZFRNQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQlFKQUlBSW9BZ1FnQXlnQ0JFWUVRQ0FFS0FJRUlBTW9BZ1JCQVhaR0JFQWdBaWdDQ0NBREtBSUlSZ1JBSUFRb0FnZ2dBeWdDQ0VFQmRrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPQUlEQVFMQ3lBSFFjRElBMEgwekFFUU4wSE95d0VRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aENpQUpRUW9nQ2tFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTEN5QURLQUlFSUFJb0FnUkJBWFpHQkVBZ0F5Z0NCQ0FFS0FJRVJnUkFJQU1vQWdRZ0FpZ0NCRUVCZGtZRVFDQURLQUlFSUFRb0FnUkdCRUFnQUNBQklBSWdBeUFFSUFVZ0JoRGZDQXdFQ3dzZ0IwSEF5QU5CMWMwQkVEZEJ6c3NCRURkQjc2SUNFRGRCMkFNUVBrSDJvZ0lRTjBIVXpBRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCMEhBeUFOQjRvRUNFRGRCenNzQkVEZEI3NklDRURkQjJ3TVFQa0gyb2dJUU4wR3l6Z0VRTnlJQUtBSUFRWFJxS0FJQUlBQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQnlRR1FRRUxQUUVDZnlBQUtBSUVJQUFvQWdBaUEydEJKQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1EzUWdGSUFJZ0FVc0VRQ0FBSUFGQkpHd2dBMm8yQWdRTEN3czRBQ0FBQkg4Z0FVUUFBQUFBQUFBQUFHVWdBVVFBQUFBQUFBRHdQMlp5Qkg5QmZ3VWdBRUdRaDY4RGFpQUJPUU1BUVFBTEJVRi9Dd3ZNQVFJRmZ3SjlJQUVvQWdBaUJFRjRhaUVHSUFBb0FnQWhBZ05BSUFJZ0JrY0VRQ0FDSUFSR0JFQWdCQ0VCQlFKQUlBSWhBUU5BSUFFaEJRTkFBa0FnQkNBRlFRaHFJZ05HRFFNZ0FTb0NBQ0lISUFNcUFnQWlDRjBOQUNBSUlBZGRSUVJBSUFFb0FnUWdCU2dDREVrTkFRc2dBeUVGREFFTEN5QURJUUVNQUFBTEFBc0xJQUVnQWtjRVFDQUNLQUlBSVFNZ0FpQUJLQUlBTmdJQUlBRWdBellDQUNBQ0tBSUVJUU1nQWlBQktBSUVOZ0lFSUFFZ0F6WUNCQXNnQUNBQ1FRaHFJZ0kyQWdBTUFRc0xDOTBNQWhGL0EzMGpCaUVJSXdaQk1Hb2tCaUFJUVNocUlRc2dDRUVrYWlFTUlBaEJJR29oRVNBQktBSUFJUTBDUUFKQUFrQUNRQU5BQWtBZ0FpZ0NBQ0lPUVhocUlRWWdEa0Y4YWlFS0lBMGdEa1lOQUNBR0lRY2dBQ2dDQUNJQklRUUNmd0pBQWtBQ1FBTkFBa0FDUUNBT0lBUnJJZ05CQTNVaUNRNEVCd2NKQ2dBTElBTkJ3QUJJRFFvZ0NDQUVOZ0lJSUFnZ0NVRUJkaUlEUVFOMElBRnFJZ2syQWdRZ0NDQUhOZ0lBSUJFZ0NDZ0NDRFlDQUNBTUlBZ29BZ1EyQWdBZ0N5QUlLQUlBTmdJQUlCRWdEQ0FMRVBJRElROGdDU29DQUNJVUlBUXFBZ0FpRlYwTkF5QURRUU4wSUFGcUlSSWdGU0FVWFVVRVFDQVNLQUlFSUFRb0FnUkpEUVFMSUFZaEF3TkFJQU5CZUdvaUJTQUVSd1JBSUJRZ0JTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0VpZ0NCQ0FEUVh4cUtBSUFJaEJKRFFVTElBVWhBd3dCQ3dzZ0JFRUlhaUlGSVFRZ0Jpb0NBQ0lWSUFFcUFnQWlGRjFGQkVBQ1FDQVVJQlZkQkVBZ0FVRUVhaUVEQlNBS0tBSUFJQUZCQkdvaUF5Z0NBRWtOQVFzQ2Z3SkFBMEFDUUNBRklBWkdEUXdnQlNvQ0FDSVdJQlJkRFFBZ0ZDQVdYVVVFUUNBRktBSUVJZ1FnQXlnQ0FFa05Bd3NnQlVFSWFpRUZEQUVMQ3lBRktBSUVJUVFnQlVFRWFnd0JDeUFGUVFScUN5RVRJQVVnRlRnQ0FDQUdJQlk0QWdBZ0V5QUtLQUlBTmdJQUlBb2dCRFlDQUNBRlFRaHFJUVFMQ3lBRUlBWkdEUVlnQVNFSklBY2hBUU5BSUFrcUFnQWhGQU5BQWtBZ0JDb0NBQ0lWSUJSZERRQWdGQ0FWWFVVRVFDQUVLQUlFSUFrb0FnUkpEUUVMSUFSQkNHb2hCQXdCQ3dzZ0JDRURJQUVoQkFOQUFrQWdCRUY0YWlJQktnSUFJaFVnRkYxRkJFQWdGQ0FWWFEwQklBUkJmR29vQWdBZ0NTZ0NCRThOQVFzZ0FTRUVEQUVMQ3lBQklBTkxCRUFnQXlnQ0FDRUZJQU1nRlRnQ0FDQUJJQVUyQWdBZ0F5Z0NCQ0VGSUFNZ0JFRjhhaUlFS0FJQU5nSUVJQVFnQlRZQ0FDQURRUWhxSVFRTUFRc0xJQTBnQXlJQlNRMEdJQUFnQVRZQ0FDQUJJUVFNQVFzTElBTkJmR29pQVNFRElBRW9BZ0FoRUF3Q0N5QURRWHhxSVFNTUFRc2dEeUVESUFZTUFRc2dCQ2dDQUNFQklBUWdGVGdDQUNBRklBRTJBZ0FnQkNnQ0JDRUJJQVFnRURZQ0JDQURJQUUyQWdBZ0QwRUJhaUVESUFVTElRRWdCRUVJYWlJSElRWWdCeUFCU1FSL0lBTWhCU0FHSVFNRFFDQUpLZ0lBSVJRRFFBSkFJQlFnQXlvQ0FDSVZYVVVFUUNBVklCUmREUUVnQ1NnQ0JDQURLQUlFVHcwQkN5QURRUWhxSVFNTUFRc0xJQU1oQnlBQklRTURRQUpBSUJRZ0EwRjRhaUlCS2dJQUloVmREUUFnRlNBVVhVVUVRQ0FKS0FJRUlBTkJmR29vQWdCSkRRRUxJQUVoQXd3QkN3c2dBU0FIU3dSQUlBY29BZ0FoQmlBSElCVTRBZ0FnQVNBR05nSUFJQWNvQWdRaEJpQUhJQU5CZkdvaUF5Z0NBRFlDQkNBRElBWTJBZ0FnQlVFQmFpRUZJQUVnQ1NBSElBbEdHeUVKSUFkQkNHb2hBd3dCQ3dzZ0J5RUdJQVVGSUFNTElRRWdCeUFKUndSQUFrQWdCeW9DQUNJVklBa3FBZ0FpRkYwRVFDQUpRUVJxSVFVZ0IwRUVhaUVQSUFrb0FnUWhBeUFIS0FJRUlSQUZJQlFnRlYwTkFTQUhRUVJxSWc4b0FnQWlFQ0FKUVFScUlnVW9BZ0FpQTA4TkFRc2dCaWdDQUNFS0lBWWdGRGdDQUNBSklBbzJBZ0FnRHlBRE5nSUFJQVVnRURZQ0FDQUJRUUZxSVFFTEN5QUhJQTFHRFFBZ0JpRURJQUZGQkVBQ1FDQU5JQWRKQkVBRFFDQUhJQVJCQ0dvaUFVWU5CQ0FFS2dJQUloUWdBU29DQUNJVlhRMENJQlVnRkYxRkJFQWdCQ2dDQkNBRUtBSU1TUTBEQ3lBQklRUU1BQUFMQUFVZ0F5RUJBMEFnRGlBQlFRaHFJZ05HRFFRZ0FTb0NBQ0lVSUFNcUFnQWlGVjBOQWlBVklCUmRSUVJBSUFFb0FnUWdBU2dDREVrTkF3c2dBeUVCREFBQUN3QUxBQXNMSUEwZ0Iwa0VRQ0FDSUFZMkFnQUZJQUFnQjBFSWFqWUNBQXNNQVFzTERBTUxJQUlnQmpZQ0FDQUJLZ0lBSWhRZ0Jpb0NBQ0lWWFFSQUlBRkJCR29oQXlBS0tBSUFJUUFnQVNnQ0JDRUNCU0FWSUJSZERRTWdBVUVFYWlJREtBSUFJZ0lnQ2lnQ0FDSUFUdzBEQ3lBQklCVTRBZ0FnQmlBVU9BSUFJQU1nQURZQ0FDQUtJQUkyQWdBTUFnc2dDQ0FFTmdJY0lBZ2dCRUVJYWpZQ0dDQUNJQVkyQWdBZ0NDQUdOZ0lVSUJFZ0NDZ0NIRFlDQUNBTUlBZ29BaGcyQWdBZ0N5QUlLQUlVTmdJQUlCRWdEQ0FMRVBJREdnd0JDeUFJSUFRMkFoQWdDQ0FPTmdJTUlBd2dDQ2dDRURZQ0FDQUxJQWdvQWd3MkFnQWdEQ0FMRU9zSUN5QUlKQVlMcGdjQ0NIOERmU01HSVFnakJrRXdhaVFHSUFoQkNHb2hDU0FJUVNCcUlRMGdDRUVjYWlFT0lBTWdCR3doQ2dKOUlBV3lJQU95bFkwaEVpQUdzaUFFc3BXTklSRWdBU0FCS0FJQU5nSUVJQUVnQnhEUkFpQUFLQUlFSUFBb0FnQWlBMnRCREJBNUlRdEJBQ0VGQTBBZ0JTQUxSd1JBSUFWQkRHd2dBMm9vQWdRZ0JVRU1iQ0FEYWlnQ0FDSUVhMEVNRURraERFRUFJUVlEUUNBR0lBeEhCRUFnQmtFTWJDQUVhaUFHUVF4c0lBUnFLQUlBTmdJRUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDeUFISUFvUU9TRUxJQklMRUVPeUlSQWdFUkJEc2lFUlFRQWhCQU5BSUFRZ0FpZ0NCQ0FDS0FJQUlnTnJRU1FRT1VrRVFDQUVRU1JzSUFOcUtnSUFJQkNWRUVNaEJpQUVRU1JzSUFOcUtnSUVJQkdWRUVNaEJTQUFLQUlBSUFaQkRHeHFLQUlBSVFZZ0NTQUVRU1JzSUFOcUtnSVlpemdDQUNBSklBUTJBZ1FnQlVFTWJDQUdhaUlES0FJRUlnY2dCVUVNYkNBR2FpZ0NDRWtFUUNBSElBa3BBd0EzQWdBZ0F5QURLQUlFUVFocU5nSUVCU0FGUVF4c0lBWnFJQWtRbGdFTElBUkJBV29oQkF3QkN3dEJBQ0VHSUFBb0FnQWlCU0lFSVFNQ1FBTkFJQVlnQUNnQ0JDQUZhMEVNRURsSkJFQkJBQ0VGQTBBZ0JTQUdRUXhzSUFScUtBSUVJQVpCREd3Z0JHb29BZ0FpQjJ0QkRCQTVTUVJBSUFzZ0JVRU1iQ0FIYWlJS0tBSUVJZzhnQlVFTWJDQUhhaUlNS0FJQUlnUnJRUU4xSWdjZ0N5QUhTUnNpQndSQUlBZ2dCRFlDR0NBSUlBZEJBM1FnQkdvMkFoUWdDQ0FQTmdJUUlBNGdDQ2dDR0RZQ0FDQU5JQWdvQWhRMkFnQWdDU0FJS0FJUU5nSUFJQTRnRFNBSkVPd0lJQXdvQWdBaUJDRURJQWNnQ2lnQ0JDQUVhMEVEZFVzRVFDQURLZ0lBSUFkQkEzUWdBMm9xQWdCZ1JRMEdDMEVBSVFvRFFDQUtJQWRKQkVBZ0FpZ0NBQ0FNS0FJQUlBcEJBM1JxS0FJRVFTUnNhaUVESUFFb0FnUWlCQ0FCS0FJSVJnUkFJQUVnQXhEaUFRVWdCQ0FES1FJQU53SUFJQVFnQXlrQ0NEY0NDQ0FFSUFNcEFoQTNBaEFnQkNBREtRSVlOd0lZSUFRZ0F5Z0NJRFlDSUNBQklBRW9BZ1JCSkdvMkFnUUxJQXBCQVdvaENnd0JDd3NnQUNnQ0FDRURDeUFGUVFGcUlRVWdBeUVFREFFTEN5QUdRUUZxSVFZZ0JDRUZEQUVMQ3lBSUpBWVBDeUFKUWNESUEwSHB5QUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZCUkErUWZhaUFoQTNRYVBKQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSkVEd2dBQ0FCRUVBZ0FCQS9FQUFMSmdBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVHWWg2OERhaWdDQURZQ0FFRUFCVUYvQ3hvTFJBRUNmVU1BQUlBL1FRRWdCblN5bFNJSFF3QUFBRCtVUXdBQUFMK1NJUWdnQUNBSElBT1VJQWlTT0FJQUlBRWdCeUFFbENBSWtqZ0NBQ0FDSUFjZ0JaUTRBZ0FMM1FRQ0RIOEJmU01HSVFJakJrRkFheVFHSUFKQk1Hb2hDaUFDUVN4cUlRY2dBa0VvYWlFSUlBSkJKR29oQ3lBQUxBQWNCRUFnQUNBQVFjZ0FhaUlKS0FJQU5nSk1JQWtnQUVGQWF5SU1LQUlBSUFCQlBHb2lCU2dDQUdzUTBRSWdBRUhjQUdvaURTQUJFTUlJQTBBZ0JTZ0NBQ0lHSVFNZ0JDQU1LQUlBSUFaclFTUVFPVWtFUUNBSElBZ2dDeUFFUVNSc0lBTnFLZ0lBSUFSQkpHd2dBMm9xQWdRZ0JFRWtiQ0FEYWlvQ0hDQUVRU1JzSUFOcUtBSU1FTzhJSUFjZ0J5b0NBQ0FCSUFVb0FnQWdCRUVrYkdvb0FneEJBQkNzQVNnQ0JFRi9hck1RNHdFNEFnQWdDQ0FJS2dJQUlBRWdCU2dDQUNBRVFTUnNhaWdDREVFQUVLd0JLQUlJUVg5cXN4RGpBU0lPT0FJQUlBMGdBQ2dDa0FFZ0NpQUZLQUlBSWdNZ0JFRWtiR29vQWd3Z0JFRWtiQ0FEYWlnQ0VDQUhLZ0lBSUE0Z0N5b0NBQkRCQ0VFQUlRWURRQ0FHSUFvb0FnQklCRUFnQWlBRktBSUFJQVJCSkd4cUlnTXBBZ0EzQWdBZ0FpQURLUUlJTndJSUlBSWdBeWtDRURjQ0VDQUNJQU1wQWhnM0FoZ2dBaUFES0FJZ05nSWdJQUlnQUNnQ2tBRWdCa0VDZEdvb0FnQTJBZ2dnQUNnQ1RDSURJQUFvQWxCR0JFQWdDU0FDRU9JQkJTQURJQUlwQWdBM0FnQWdBeUFDS1FJSU53SUlJQU1nQWlrQ0VEY0NFQ0FESUFJcEFoZzNBaGdnQXlBQ0tBSWdOZ0lnSUFBZ0FDZ0NURUVrYWpZQ1RBc2dCa0VCYWlFR0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFVZ0NSQ0pBZ1VDUUNBQVFVQnJLQUlBSUFBb0Fqd2lBR3RCSkJBNUlRRURRQ0FCSUFWR0RRRWdCVUVrYkNBQWFrTUFBQUFBT0FJSUlBVkJBV29oQlF3QUFBc0FDd3NnQWlRR0M1SUVBUXQvSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVCSUFCQlFHc2lDQ2dDQUNBQVFUeHFJZ1FvQWdCclFTUVFPU0FBS0FKVUlnbExCRUFnQUNnQ0ZDQUFRUkJxSWdvb0FnQWlCbXRCREJBNUlnc2dBQ2dDQ0VjRVFDQUJRY0RJQTBHQnh3RVFOMEhBdkFFUU4wSHZvZ0lRTjBIR0F4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQVlvQWdRZ0JpZ0NBR3RCREJBNUlnWWdBQ2dDREVjRVFDQUJRY0RJQTBIU3h3RVFOMEhBdkFFUU4wSHZvZ0lRTjBISEF4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQU5CQURZQ0FDQURRUUEyQWdRZ0EwRUFOZ0lJSUFvZ0F5QUVJQXNnQmlBQUtBSUFJQUFvQWdRZ0NSRHRDQ0FFSUFNUWlRSWdDQ2dDQUNBRUtBSUFhMEVrRURrZ0FDZ0NWRXNFUUNBQlFjRElBMEdNeUFFUU4wSEF2QUVRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRISUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnUW9BZ0FvQWh3aEFpQUVRUW9nQWtFL2NVR0tBV29SQWdBaEJDQUJFRHdnQUNBRUVFQWdBQkEvRUFBRklBTVFWUXNMSUFNa0JndWFCd0lWZndSOUl3WWhCU01HUWRBQWFpUUdJQVZCeEFCcUlRa2dCVUU0YWlFTUlBVkJMR29oQnlBRlFTaHFJUTBnQlVFa2FpRU9JQUFxQWpRUWFTRVlJQUFxQWpoREFBQ0FQNUlRYVNBQUtnSTRsU0VaSUFCQlBHb2hEeUFBUVVCcklSVWdBRUVnYWlFR0FrQUNRQUpBQTBBZ0FpQVZLQUlBSUE4b0FnQWlBMnRCSkJBNVNRUkFJQUpCSkd3Z0Eyb2lFaWdDRUNBR0tBSVFUZzBDSUJJb0FoQWdCaWdDRUNBQ1FTUnNJQU5xSWhBb0FneHNhaUVLSUEwZ0RpQUNRU1JzSUFOcUlnZ3FBZ0FnQWtFa2JDQURha0VFYWlJVEtnSUFJQkFvQWd3UXl3SWdEU29DQUVNQUFBQS9raEJESVFzZ0Rpb0NBRU1BQUFBL2toQkRJUkVnQlNBTUlBWW9BZ0FnQ2tGL2FrRUZkR29nQmlnQ0FDQUtRUVYwYWlJVUlBWW9BZ0FnQ2tFQmFrRUZkR29nQ3lBUkVPZ0lCRUFnQnlBRklBd1E1d2dFUUNBSEtnSUFFR2tnQnlvQ0JCQnBraUFBS2dKWVhrVUVRQ0FDUVNSc0lBTnFJaFpCSUdvZ0JSRG1DQVJBSUFKQkpHd2dBMm9pQ2lvQ0dDQVVJQkVRVUNBTFFRSjBhaW9DQUZ3TkJ5QUtJQlFnRVJCUUlBdEJBblJxS2dJQUlBd3FBZ0FnQnlvQ0FDSVhsQ0FNS2dJRUlBY3FBZ1FpR3BTU0lBd3FBZ2dnQnlvQ0NKU1NremdDR0NBSUlCTWdGeUFOS2dJQWtpQWFJQTRxQWdDU0lCQW9BZ3dRNFFFZ0FrRWtiQ0FEYWlJTElBY3FBZ2dnRWlnQ0VMS1NJaGM0QWhRZ0N5QVhJQVlvQWhDeUVPTUJPQUlVSUJZcUFpQ0xJQmxkQkg4Z0Npb0NHQkJwSUJoZ0JIOGdDQ29DQUNJWFF3QUFBQUJnQkg4Z0Z5QUdLQUlBS0FJRXMxMEVmeUFUS2dJQUloZERBQUFBQUdBRWZ5QVhJQVlvQWdBb0FnaXpYUVIvSUFKQkpHd2dBMm9nQVNBUUtBSU1JQXNxQWhRUWh3STRBaHdnRHlnQ0FDQUVRU1JzYWlJRElBZ3BBZ0EzQWdBZ0F5QUlLUUlJTndJSUlBTWdDQ2tDRURjQ0VDQURJQWdwQWhnM0FoZ2dBeUFJS0FJZ05nSWdJQVJCQVdvRklBUUxCU0FFQ3dVZ0JBc0ZJQVFMQlNBRUN3VWdCQXNoQkFzTEN3c2dBa0VCYWlFQ0RBRUxDeUFQSUFRUTZRZ2dCU1FHRHdzZ0NVSEF5QU5CdHNrQkVEZEJ3THdCRURkQjc2SUNFRGRCNlFNUVBrSDJvZ0lRTjBIK3lRRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc01BUXNnQ1VIQXlBTkJvOG9CRURkQndMd0JFRGRCNzZJQ0VEZEJqZ1FRUGtIMm9nSVFOMEhjeWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTElBbEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBa1FQQ0FBSUFFUVFDQUFFRDhRQUF1TUpBSWNmd3A5SXdZaEJTTUdRVEJxSkFZZ0FFRkFheUlSSUFCQlBHb2lHQ2dDQURZQ0FDQUFLZ0kwRUdraEpTQUFRU0JxSVJrZ0JVRUVhaUVhSUFWQkJHb2hHeUFGUVFScUlSeEJBU0VEQWtBQ1FBSkFBa0FDUUFKQUFrQURRQ0FESUJrb0FnUWdHU2dDQUd0QkJYVkJmMnBKQkVBZ0FpQURRWDlxRU1nQ0lRY2dBaUFERU1nQ0lRb2dBaUFEUVFGcUloMFF5QUloQ0NBQ0lBTVEyZ2doRWlBRElBSW9BaEFRVHlFV0FrQUNRQ0FIS0FJRUlBb29BZ1JIRFFBZ0J5Z0NCQ0FJS0FJRVJ3MEFJQWNvQWdnZ0NpZ0NDRWNOQkNBSEtBSUlJQWdvQWdoSERRVWdDaWdDQkVGL2FpRVhJQW9vQWdoQmYyb2hIaUFXc2lFZ1FRRWhBd05BSUFNZ0hra0VRQ0FISUFOQmYyb2lCQkJRSVJNZ0J5QURFRkFoQ3lBSElBTkJBV29pRkJCUUlRd2dDaUFFRUZBaERTQUtJQU1RVUNFVklBb2dGQkJRSVE0Z0NDQUVFRkFoRHlBSUlBTVFVQ0VRSUFnZ0ZCQlFJUWtnQTdNaElVRUJJUU1EUUNBRElCZEpCRUFnQTBFQ2RDQVZhaUlFS2dJQUVHa2dKVjFGQkVBQ1FBSkFBa0FnQkNvQ0FDSWZJQU5CZjJvaUJFRUNkQ0FUYWlvQ0FDSWlYa1VOQUNBZklBTkJBblFnRTJvcUFnQmVSUTBBSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0ZXb3FBZ0JlUlEwQUlCOGdCa0VDZENBVmFpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBTkJBblFnRG1vcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVBhaW9DQUY1RkRRQWdIeUFFUVFKMElCQnFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUVRUUowSUFscUtnSUFYa1VOQUNBZklBTkJBblFnQ1dvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FKYWlvQ0FGNUZEUUFNQVFzZ0h5QWlYVVVOQVNBZklBTkJBblFnRTJvcUFnQmRSUTBCSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0ZXb3FBZ0JkUlEwQklCOGdCa0VDZENBVmFpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBTkJBblFnRG1vcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFOQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVBhaW9DQUYxRkRRRWdIeUFFUVFKMElCQnFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUVRUUowSUFscUtnSUFYVVVOQVNBZklBTkJBblFnQ1dvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FKYWlvQ0FGMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FmT0FJWUlBVWdBU0FTSUNBUWh3STRBaHdnQlNBYUlBT3pJQ0VnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFFTEN3d0JDeUFIS0FJRUlBb29BZ1JHQkVBZ0NDZ0NCQ0FLS0FJRVFRRjJSZ1JBSUFjb0FnZ2dDaWdDQ0VjTkJ5QUlLQUlJSUFvb0FnaEJBWFpIRFFnZ0NDZ0NCRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUk1nQ0NnQ0NFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSVWdGckloSmtFQ0lRTURRQ0FESUJWUERRTWdCeUFEUVg5cUlnUVFVQ0VQSUFjZ0F4QlFJUXNnQnlBRFFRRnFJaFFRVUNFTUlBb2dCQkJRSVEwZ0NpQURFRkFoRUNBS0lCUVFVQ0VPSUFPeklpZERBQUFBUDVSREFBQ0F2cElpSVVNQUFBQy9raUVpSUNGREFBQUFQNUloSTBFQ0lRUURRQ0FFSUJOSkJFQWdCRUVDZENBUWFpSURLZ0lBRUdrZ0pWMUZCRUFDUUNBRXN5SW9Rd0FBQUQrVVF3QUFnTDZTSVNBQ1FBSkFJQU1xQWdBaUh5QUVRWDlxSWdaQkFuUWdEMm9pRnlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdDVUVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUJCcUtnSUFYa1VOQUNBZklBbEJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFsQkFuUWdEbW9xQWdCZVJRMEFJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5Ya1VOQUNBREtnSUFJQWdnSUNBaUVFMWVSUTBBSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhrVU5BQ0FES2dJQUlBZ2dIeUFoRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ0VRVFY1RkRRQWdBeW9DQUNBSUlDUWdJUkJOWGtVTkFDQURLZ0lBSUFnZ0h5QWpFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDTVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0l4Qk5Ya1VOQUF3QkN5QURLZ0lBSWg4Z0Z5b0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdDVUVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElCQnFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBbEJBblFnRG1vcUFnQmRSUTBCSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWFVVTkFTQURLZ0lBSUFnZ0lDQWlFRTFkUlEwQklBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5YVVVOQVNBREtnSUFJQWdnSHlBaEVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNFUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSVJCTlhVVU5BU0FES2dJQUlBZ2dIeUFqRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ01RVFYxRkRRRWdBeW9DQUNBSUlDUWdJeEJOWFVVTkFRc2dCU0FTTmdJTUlBVWdGallDRUNBRklBTW9BZ0EyQWhnZ0JTQUJJQklnSmhDSEFqZ0NIQ0FGSUJzZ0tDQW5JQklRNFFFZ0VTZ0NBQ0lESUFBb0FrUkdCRUFnR0NBRkVPSUJCU0FESUFVcEFnQTNBZ0FnQXlBRktRSUlOd0lJSUFNZ0JTa0NFRGNDRUNBRElBVXBBaGczQWhnZ0F5QUZLQUlnTmdJZ0lCRWdFU2dDQUVFa2FqWUNBQXNMQ3lBRVFRRnFJUVFNQVFzTElCUWhBd3dBQUFzQUN3c2dDaWdDQkNBSEtBSUVRUUYyUmdSQUlBZ29BZ1FnQnlnQ0JFRUJka1lFUUNBS0tBSUlJQWNvQWdoQkFYWkhEUWtnQ0NnQ0NDQUhLQUlJUVFGMlJ3MEtJQW9vQWdSQmYyb2hFeUFLS0FJSVFYOXFJUlVnRnJJaEprRUJJUU1EUUNBRElCVlBEUU1nQ2lBRFFYOXFJZ1FRVUNFUElBb2dBeEJRSVJBZ0NpQURRUUZxSWhRUVVDRUxJQWdnQkJCUUlRd2dDQ0FERUZBaERTQUlJQlFRVUNFT0lBT3pJU2NnQTBFQmRMTkRBQUFBUDVJaUlVTUFBQURBa2lFaUlDRkRBQUFBUUpJaEkwRUJJUU1EUUNBRElCTkpCRUFnQTBFQ2RDQVFhaUlFS2dJQUVHa2dKVjFGQkVBQ1FDQURRUUYwczBNQUFBQS9raUVnQWtBQ1FDQUVLZ0lBSWg4Z0EwRi9haUlHUVFKMElBOXFJaGNxQWdCZVJRMEFJQjhnQTBFQ2RDQVBhaW9DQUY1RkRRQWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFaQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFKUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUpRUUowSUF4cUtnSUFYa1VOQUNBZklBWkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTFxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEbW9xQWdCZVJRMEFJQjhnQTBFQ2RDQU9haW9DQUY1RkRRQWdIeUFKUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQ0FnSWhCTlhrVU5BQ0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFY1RkRRQWdCQ29DQUNBSElCOGdJUkJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWhFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDRVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0l4Qk5Ya1VOQUNBRUtnSUFJQWNnSUNBakVFMWVSUTBBSUFRcUFnQWdCeUFrSUNNUVRWNUZEUUFNQVFzZ0JDb0NBQ0lmSUJjcUFnQmRSUTBCSUI4Z0EwRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUpRUUowSUJCcUtnSUFYVVVOQVNBZklBWkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXRxS2dJQVhVVU5BU0FmSUFaQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFKUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUpRUUowSUExcUtnSUFYVVVOQVNBZklBWkJBblFnRG1vcUFnQmRSUTBCSUI4Z0EwRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTVxS2dJQVhVVU5BU0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjFGRFFFZ0JDb0NBQ0FISUNBZ0loQk5YVVVOQVNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSVJCTlhVVU5BU0FFS2dJQUlBY2dJQ0FoRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ0VRVFYxRkRRRWdCQ29DQUNBSElCOGdJeEJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWpFRTFkUlEwQklBUXFBZ0FnQnlBa0lDTVFUVjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBRUtBSUFOZ0lZSUFVZ0FTQVNJQ1lRaHdJNEFod2dCU0FjSUFPeklDY2dFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUFBQ3dBTEN3c2dIU0VEREFFTEN5QUZKQVlQQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0ZDeUFGUWNESUEwRzIzUUVRTjBIQXZBRVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RUN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dEQ3lBRlFjRElBMEhxM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEdXQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0NDeUFGUWNESUEwR2ozZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3QkN5QUZRY0RJQTBIYzNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3NnQlVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQlJBOElBQWdBUkJBSUFBUVB4QUFDL0FCQVFSL0l3WWhBaU1HUVNCcUpBWWdBU2dDRUVFQVRBUkFJQUpCd01nRFFkdStBUkEzUWNDOEFSQTNRZStpQWhBM1FaTUJFRDVCOXFJQ0VEZEJqTDhCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQkNnQ0FDZ0NIQ0VGSUFSQkNpQUZRVDl4UVlvQmFoRUNBQ0VFSUFJUVBDQURJQVFRUUNBREVEOFFBQXNnQWtHNHhnRVFlU0FBUVNCcUlBRVFoUWtnQWhCcklBSkJ4TVlCRUhrZ0FDQUJJQUJCSUdvUTh3Z2dBaEJySUFKQjJNWUJFSGtnQUNBQkVQSUlJQUlRYXlBQ1FlSEdBUkI1SUFBUThRZ2dBaEJySUFKQjc4WUJFSGtnQUNBQkVQQUlJQUlRYXlBQ0pBWUxRZ0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCZEdvaUFqWUNDQ0FDRU5NQ0RBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEMUNBc0ZJQUFnQVJEMUF3c2dBaVFHQzBFQkFuOGdBQ2dDQkNFQkEwQWdBQ2dDQ0NJQ0lBRkhCRUFnQUNBQ1FYUnFJZ0kyQWdnZ0FoQlZEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDNDQXNGSUFBZ0FSRDFBd3NnQWlRR0MxMEJBMzhnQUNnQ0JDSUVJQUFvQWdBaUFtdEJEQkE1SWdNZ0FVa0VRQ0FBSUFFZ0Eyc1ErQWdGSUFNZ0FVc0VRQ0FCUVF4c0lBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUUxDd3RlQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVF3UU9TSURJQUZKQkVBZ0FDQUJJQU5yRVBZSUJTQURJQUZMQkVBZ0FVRU1iQ0FDYWlFQ0lBUWhBUU5BSUFFZ0FrY0VRQ0FCUVhScUlnRVEwd0lNQVFzTElBQWdBallDQkFzTEM1Y0JBUUYvSUFCQklHb2dBUkNOQ1NBQVFkd0FhaUFCRUhRb0FnQW9BZ1FnQVJCMEtBSUFLQUlJSUFFb0FoQWdBU2dDRkJERENDQUFJQUVRZENnQ0FDZ0NCRFlDQUNBQUlBRVFkQ2dDQUNnQ0NEWUNCQ0FBUVJCcUlBQW9BZ2dRK2doQkFDRUJBMEFnQVNBQUtBSVVJQUFvQWhBaUFtdEJEQkE1U1FSQUlBRkJER3dnQW1vZ0FDZ0NEQkQ1Q0NBQlFRRnFJUUVNQVFzTEMwQUJBWDhnQUVHUUFXb1FWU0FBUWR3QWFpSUJRU2hxRU5JQ0lBRkJIR29RVlNBQVFjZ0FhaEJWSUFCQlBHb1FWU0FBUVNCcUVOSUNJQUJCRUdvUWdRa0xKUUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUgwaHE4RGFpZ0NBRFlDQUVFQUJVRi9Dd3NpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUlDNlVCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFKMUlBRkpCRUJCLy8vLy93TWdBU0FESUFBb0FnQnJRUUoxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaUFCRVA0SUlBQWdBaERrQVNBQ0VNY0JDd1VnQUNBQkVQWURDeUFDSkFZTElBQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FDZ0NBRFlDQUVFQUJVRi9DeG9MUUFFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRjBhaUlCRU5NQ0RBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d1NUFRRUJmeUFBUVFBMkFnQWdBRUVBTmdJRUlBQkJDallDQ0NBQVFRbzJBZ3dnQUVFQU5nSVFJQUJCQURZQ0ZDQUFRUUEyQWhnZ0FFRUJPZ0FjSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUVBTmdJd0lBQkRBQUFBQURnQ05DQUFRd0FBSUVFNEFqZ2dBRUlBTndJOElBQkNBRGNDUkNBQVFnQTNBa3dnQUVNQUFCQkJPQUpZSUFCQjNBQnFFTVFJSUFCQmtBRnFJZ0ZCQURZQ0FDQUFRUUEyQXBRQklBQkJBRFlDbUFFZ0FFR0lKeEQzQXlBQlFTUVFod0VMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQzhBS0FRWi9Jd1loQlNNR1FSQnFKQVlnQUNnQ0FFRUNSd1JBSUFWQndNZ0RRWnZBQVJBM1FjQzhBUkEzUWUraUFoQTNRZFlBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NBRUVDUndSQUlBVkJ3TWdEUWVMQUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRjQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDQUVFQ1J3UkFJQVZCd01nRFFaSEJBUkEzUWNDOEFSQTNRZStpQWhBM1FkZ0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0VFRUJSd1JBSUFWQndNZ0RRY0RCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGtBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NFRUVCUndSQUlBVkJ3TWdEUVk3Q0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRvQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDRUVFQlJ3UkFJQVZCd01nRFFibkNBUkEzUWNDOEFSQTNRZStpQWhBM1Fkc0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5Z0NBRUYwYWlnQ0FDQURhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUWVUQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWR3QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYlREQVJBM1FjQzhBUkEzUWUraUFoQTNRZDBBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFZZkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJuRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBdEJBQ0VEQTBBZ0F5QUJLQUlJU1FSQUlBQWdBeENEQ1NFR0lBRWdBeEJRSVFjZ0FpQURFRkFoQ0VFQUlRUURRQ0FFSUFFb0FnUkpCRUFnQkVFQ2RDQUdhaUFFUVFKMElBZHFLZ0lBSUFSQkFuUWdDR29xQWdDVE9BSUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBRkpBWUw1Z01CQkg4akJpRUVJd1pCRUdva0JpQUFLQUlFSUFBb0FnQkdCRUFnQkVIQXlBTkJpTDRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5QUFRUGtIMm9nSVFOMEd5dmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQktBSVFRUUJNQkVBZ0JFSEF5QU5CMjc0QkVEZEJ3THdCRURkQjc2SUNFRGRCeVFBUVBrSDJvZ0lRTjBHTXZ3RVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJCRUFnQVVIdzhRQkIrUEVBRU9RRUJFQkJBQ0VDQTBBZ0FpQUFLQUlNU1FSQVFRQWhBd05BSUFNZ0FDZ0NFRWtFUUNBQUtBSUFJQU1nQWlBQUtBSVFiR3BCQlhScUlBRWdBaUFERUt3QklBRWdBaUFEUVFGcUlnTVFyQUVRaEFrTUFRc0xJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c0xJQVJCd01nRFFiQy9BUkEzUWNDOEFSQTNRZStpQWhBM1Fjb0FFRDVCOXFJQ0VEZEIrTDhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQXRDQVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGZ2FpSUNOZ0lJSUFJUTNRRU1BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTFNnRUNmeUFBQkg4Z0FFR0loNjhEYWlJQktBSUFJZ0lFUUNBQ0VFa2dBVUVBTmdJQUN5QUFRZUNHcHdKcUtBSUFFRGdnQUVIa2hxY0NhaWdDQUJBNElBQVFPRUVBQlVGL0N4b0xrQUVCQW44Z0FDZ0NBQ0VESUFBb0FnUWhBZ05BSUFJZ0EwY0VRQ0FCS0FJRVFXQnFJQUpCWUdvaUFoQ3FCeUFCSUFFb0FnUkJZR28yQWdRTUFRc0xJQUFvQWdBaEFpQUFJQUVvQWdRMkFnQWdBU0FDTmdJRUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQVNnQ0JEWUNBQXNyQVFGL0lBQW9BZ2doQWdOQUlBSVF1Z01nQUNBQUtBSUlRU0JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDM0lCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVSC8vLzgvU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVGZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFWMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUZkQ0FFYWpZQ0RBc3JBUUYvSUFBb0FnUWhBZ05BSUFJUXVnTWdBQ0FBS0FJRVFTQnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM2SUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUVYxSUFGSkJFQkIvLy8vUHlBQklBTWdBQ2dDQUd0QkJYVnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUVIxSWdZZ0JpQURTUnRCLy8vL1B5QUZRUVYxUWYvLy94OUpHeUFBS0FJRUlBUnJRUVYxSUFCQkNHb1FpZ2tnQWlBQkVJa0pJQUFnQWhDSUNTQUNFSVlKQ3dVZ0FDQUJFSXNKQ3lBQ0pBWUx3d0lCQ0g4akJpRUVJd1pCRUdva0JpQUJLQUlJSUFFb0FnUnJRUVYxUlFSQUlBUkJ3TWdEUVpXOEFSQTNRY0M4QVJBM1FlK2lBaEEzUVRVUVBrSDJvZ0lRTjBISXZRRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJRUUJCQUJDc0FTZ0NBQ0VESUFGQkFFRUFFS3dCS0FJRUlRVWdBVUVBUVFBUXJBRW9BZ2doQmlBQUlBRW9BaEEyQWd3Z0FDQUJLQUlVUVg5cUlnRTJBaEFnQUNBQklBQW9BZ3hzRU5RQ1FRQWhBUU5BSUFFZ0FDZ0NERWtFUUNBRklBRjJJUWNnQmlBQmRpRUlRUUFoQWdOQUlBSWdBQ2dDRUNJSlNRUkFJQUFvQWdBZ0FpQUJJQWxzYWtFRmRHb2dBeUFISUFoQkFSQzNBaUFDUVFGcUlRSU1BUXNMSUFGQkFXb2hBUXdCQ3dzZ0JDUUdDM01CQkg4akJpRURJd1pCRUdva0JpQURRUWhxSVFRZ0FBUkFJQUFRWUNFQ1FZRFJBaEJnSUFKQkFtcHFFRVFpQWdSQUlBUWdBRFlDQUNBRVFZRFJBallDQkNBQ1FZKzhBU0FFRUx3QklBSWdBUkN3QVNFRklBSVFPQVZCQUVFRFFibllBaUFERUQxQkFSQUJDd3NnQXlRR0lBVUx2UUlCQ0g4akJpRUtJd1pCRUdva0JpQURJQUZCQkJBNUlnczJBZ0FnQkNBQ1FRUVFPU0lNTmdJQUlBc2dER3dRUkNJRFJRUkFRUUJCQTBHNTJBSWdDaEE5UVFFUUFRc2dBeUVDQTBBZ0NDQU1TQVJBUVFBaENTQUFJQUVnQ0VFQ2RDSUZiR29oQkNBQUlBRWdCVUVEY214cUlRWWdBQ0FCSUFWQkFuSnNhaUVISUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWtnQzBnRVFDQUNJQVl0QUFNZ0JpMEFBaUFHTFFBQklBWXRBQUFnQnkwQUF5QUhMUUFDSUFjdEFBRWdCeTBBQUNBRkxRQURJQVV0QUFJZ0JTMEFBU0FGTFFBQUlBUXRBQU1nQkMwQUFpQUVMUUFBSUFRdEFBRnFhbXBxYW1wcWFtcHFhbXBxYW1wQkVCQTVPZ0FBSUFsQkFXb2hDU0FFUVFScUlRUWdCa0VFYWlFR0lBZEJCR29oQnlBRlFRUnFJUVVnQWtFQmFpRUNEQUVMQ3lBSVFRRnFJUWdNQVFzTElBb2tCaUFEQ3ljQUlBQUVmeUFBUWZpR3J3TnFRUWMyQWdBZ0FFSDhocThEYWtFQU5nSUFRUUFGUVg4TEdndi9BUUVIZnlNR0lRa2pCa0VRYWlRR0lBTWdBVUVERURraUNqWUNBQ0FFSUFKQkF4QTVJZ3MyQWdBZ0NpQUxiQkJFSWdORkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURJUUlEUUNBSElBdElCRUJCQUNFSUlBQWdBU0FIUVFOc0lnVnNhaUVFSUFBZ0FTQUZRUUpxYkdvaEJpQUFJQUVnQlVFQmFteHFJUVVEUUNBSUlBcElCRUFnQWlBR0xRQUNJQVl0QUFFZ0JpMEFBQ0FGTFFBQ0lBVXRBQUVnQlMwQUFDQUVMUUFDSUFRdEFBQWdCQzBBQVdwcWFtcHFhbXBxUVFrUU9Ub0FBQ0FJUVFGcUlRZ2dCRUVEYWlFRUlBWkJBMm9oQmlBRlFRTnFJUVVnQWtFQmFpRUNEQUVMQ3lBSFFRRnFJUWNNQVFzTElBa2tCaUFEQzlBQkFRWi9Jd1loQ0NNR1FSQnFKQVlnQXlBQlFRSVFPU0lKTmdJQUlBUWdBa0VDRURraUNqWUNBQ0FKSUFwc0VFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVMUVFBaEJDQURJUUlEUUNBRUlBcElCRUJCQUNFSElBQWdBU0FFUVFGMElnVnNhaUVHSUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWNnQ1VnRVFDQUNJQVV0QUFFZ0JTMEFBQ0FHTFFBQUlBWXRBQUZxYW1wQkFuWTZBQUFnQjBFQmFpRUhJQVpCQW1vaEJpQUZRUUpxSVFVZ0FrRUJhaUVDREFFTEN5QUVRUUZxSVFRTUFRc0xJQWdrQmlBREM2WURBUWwvSXdZaEN5TUdRUkJxSkFZZ0F5QUJRUU1RT1NJTVFRRjBJZ2syQWdBZ0JDQUNRUU1RT1NJTlFRRjBJZ0kyQWdBZ0FpQUpiQkJFSWdSRkJFQkJBRUVEUWJuWUFpQUxFRDFCQVJBQkN5QUVJZ0loQXdOQUlBZ2dEVWdFUUVFQUlRb2dBQ0FCSUFoQkEyd2lCa0VDYW14cUlRY2dBQ0FCSUFaQkFXcHNhaUVGSUFBZ0FTQUdiR29oQmlBRElBbHFJUU1EUUNBS0lBeElCRUFnQWlBR0xRQUFJQVl0QUFGQkFYWnFJQVV0QUFCQkFYWnFJQVV0QUFGQkFuWnFRUUowUVFrUVNEb0FBQ0FESUFjdEFBQWdCUzBBQUVFQmRpQUZMUUFCUVFKMmFrRVlkRUVZZFVIL0FYRnFJQWN0QUFGQkFYWnFRUUowUVFrUVNEb0FBQ0FDSUFZdEFBSWdCaTBBQVVFQmRtb2dCUzBBQVVFQ2Rtb2dCUzBBQWtFQmRtcEJBblJCQ1JCSU9nQUJJQU1nQnkwQUFpQUZMUUFCUVFKMklBVXRBQUpCQVhacVFSaDBRUmgxUWY4QmNTQUhMUUFCUVFGMmFtcEJBblJCQ1JCSU9nQUJJQXBCQVdvaENpQUhRUU5xSVFjZ0JVRURhaUVGSUFaQkEyb2hCaUFDUVFKcUlRSWdBMEVDYWlFRERBRUxDeUFJUVFGcUlRZ2dBaUFKYWlFQ0RBRUxDeUFMSkFZZ0JBdE9BUUYvSXdZaEJTTUdRUkJxSkFZZ0F5QUJOZ0lBSUFRZ0FqWUNBQ0FCSUFKc0lnRVFSQ0lDQkVBZ0FpQUFJQUVRVEJvZ0JTUUdJQUlQQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTGFnQUNmd0pBQWtBQ1FBSkFBa0FnQTBFQmF3NEZBQUlFQXdFRUN5QUFJQUVnQWlBRUlBVVFsQWtNQkFzZ0FDQUJJQUlnQkNBRkVKTUpEQU1MSUFBZ0FTQUNJQVFnQlJDU0NRd0NDeUFBSUFFZ0FpQUVJQVVRa1FrTUFRc2dBQ0FCSUFJZ0JDQUZFSThKQ3d2RkJBSUxmd0Y5SXdZaENDTUdRZkFCYWlRR0lBaEIwQUZxSVFrZ0NFSElBV29oQmlBSVFlQUJhaUVNSUFoQjFBRnFJUW9nQ0VIZ0FHb2hEaUFJUWNBQmFpRVBJQUVvQWdRZ0FTZ0NBQ0lCYXlJSFFRTjFJZ3RCQkVrRWYwRi9CUUovSUFkQkFYUVFSQ0lIUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVFzZ0MwRVliQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURLQUlBSVFNZ0FpZ0NBQ0VKUVFBaEFnTkFJQUlnQzBjRVFDQUNRUVIwSUFkcUlBSkJBM1FnQVdvb0FnQWlEVUVVYkNBRGFpb0NBTHM1QXdBZ0FrRUVkQ0FIYWlBTlFSUnNJQU5xS2dJRXV6a0RDQ0FDUVJoc0lBWnFJQUpCQTNRZ0FXb29BZ1FpRFVFTWJDQUphaW9DQUxzNUF3QWdBa0VZYkNBR2FpQU5RUXhzSUFscUtnSUV1emtEQ0NBQ1FSaHNJQVpxUkFBQUFBQUFBQUFBT1FNUUlBSkJBV29oQWd3QkN3c2dDaUFMTmdJSUlBb2dCellDQUNBS0lBWTJBZ1FnQUVFSWFpSUFJQWNnQmlBTElBNFFtQVJCQUVnRVFDQUhFRGdnQmhBNFFYOE1BUXNnRENBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FIRURnZ0JoQTRRWDhNQVFzZ0FDQUtJQTRnQ0NBUEVPb0JRUUJJQkg4Z0J4QTRJQVlRT0NBTUVPSUNRWDhGUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUVEUUNBQlFRUkhCRUFnQUVFRWRDQUVhaUFCUVFKMGFpQUFRUVYwSUFocUlBRkJBM1JxS3dNQXRqZ0NBQ0FCUVFGcUlRRU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0RCRGlBaUFIRURnZ0JoQTRJQVVnRHlzREFMWWlFVGdDQUNBUlF3QUFJRUZlUVI5MFFSOTFDd3NMSVJBZ0NDUUdJQkFMclF3REMzOENmUUY4SXdZaEJpTUdRVEJxSkFZZ0JrRVFhaUVISUFaQkNHb2hCU0FHUVN4cUlRZ2dCa0VvYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFBb0Fnd2hCQ0FBS0FJUUlRSUNmeUFBS0FJVUlnTkJBVVlpQ2dSL0lBRWhDRUVBQlNBQklBUWdBaUFESUFnZ0NSQ1ZDU0lJQkg5QkFRVkJmd3dEQ3dzaERDQUFLQUlBSUFnZ0JDQUNFSVFJSUFBZ0FDZ0NBQkM1QWlJQktBSUVJQUVvQWdCcklnRkJGQkE1SWdRMkFqQWdBUVJBQWtBZ0FDQUFLQUlzSWdFRWZ5QUJFRGdnQUNnQ01BVWdCQXRCQTNRUVJDSUJOZ0lzSUFGRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUFLQUlBRUxrQ0lRUUNRQ0FLQkVBZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFNBT0lBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUEwNEFnQWdBa0VEZENBRGFpQU9PQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBVUNRQUpBQWtBQ1FDQURRUUpyRGdRQkF3SUFBd3NnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJTQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQU1BL2xDQU9Rd0FBd0QrVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBREFQNVE0QWdBZ0FrRURkQ0FEYWlBT1F3QUF3RCtVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJDQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUFCQWxDQU9Rd0FBQUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQUFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFBRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkF5QUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUVCQWxDQU9Rd0FBUUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQkFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFRRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUlCQWxDQU9Rd0FBZ0VDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQ0FRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFnRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNBQ3lBQVFUUnFJUVJCQUNFREEwQWdBeUFBS0FJNElnSk9CRUFnQkNFQUlBSWhBUXdDQ3lBRUtBSUFJZ0lnQTBIRUFHeHFJQUFvQWlRZ0EwRU1iR29vQWdnMkFqQWdBMEhFQUd3Z0FtcEJmellDUENBRFFjUUFiQ0FDYWtGQWF5Z0NBRVVFUUNBQUtBSUFLQUlBS0FJQVFReHFJUUlnQUNnQ0FDZ0NBQ2dDQUNnQ0dDSUpRUUJPQkVBZ0FTZ0NBQ0FDSUFBb0FnQWdDUkRJQnlBQUtBSUFFTGtDSUFRb0FnQWlCU0FEUWNRQWJHb2dBMEhFQUd3Z0JXcEJOR29RbGdsRkJFQWdCQ2dDQUNJRklBTkJ4QUJzYWtFQU5nSThJQU5CeEFCc0lBVnFJQUlvQWdRZ0FpZ0NBR3RCQTNVaUFqWUNPQ0FEUWNRQWJDQUZhaUFBUVR4cUlBbEJBblJxS0FJQU5nSXdJQU5CeEFCc0lBVnFLZ0kwdXlFUElBY2dBellDQUNBSElBSTJBZ1FnQnlBQ05nSUlJQWNnRHprREVFRUFRUUZCNTdzQklBY1FQUXNMQ3lBRFFRRnFJUU1NQUFBTEFBc0ZJQUFvQWpnaEFTQUFJZ1JCTkdvaEFFRUFJUUlEUUNBQ0lBRklCRUFnQkNnQ05DQUNRY1FBYkdwQmZ6WUNQQ0FDUVFGcUlRSU1BUXNMQzBFQUlRSURRQ0FDSUFGSUJFQWdBQ2dDQUNBQ1FjUUFiR3BCUUd0QkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF3TEJFQWdDQkE0QzBFQUN3VkJBRUVEUWJ1N0FTQUdFRDFCQUFzYUlBWWtCZ3NHQUNBQUpBWUxQd0VDZnlBQUtBSUVJUUlnQUNnQ0NDRUJBMEFnQVNBQ1J3UkFJQUFnQVVGMGFpSUJOZ0lJREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNWNCQVFSL0lBRkJCR29pQXlnQ0FDRUNJQU1nQUNnQ0JDQUFLQUlBSWdScklnVkJkQkE1UVF4c0lBSnFJZ0kyQWdBZ0JVRUFTZ1JBSUFJZ0JDQUZFRXdhSUFNb0FnQWhBZ3NnQUNnQ0FDRUVJQUFnQWpZQ0FDQURJQVEyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FES0FJQU5nSUFDNVFCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3djZ0FDZ0NCQ0FBS0FJQWEwRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaWdDQ0NBQkxBQUFPZ0FBSUFJZ0FpZ0NDRUVCYWpZQ0NDQUFJQUlRMXdJZ0FoRFdBaUFDSkFZTEM2d0JBUVYvSXdZaEFpTUdRU0JxSkFaQjFhclZxZ0VnQUNnQ0JDQUFLQUlBYTBFTUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUXdRT1NJRlFRRjBJZ1lnQmlBRFNSdEIxYXJWcWdFZ0JVR3ExYXJWQUVrYklBQW9BZ1FnQkd0QkRCQTVJQUJCQ0dvUTFRSWdBaWdDQ0NJRElBRXBBZ0EzQWdBZ0F5QUJLQUlJTmdJSUlBSWdBaWdDQ0VFTWFqWUNDQ0FBSUFJUW1na2dBaENaQ1NBQ0pBWUxDN1VCQVFWL0l3WWhBaU1HUVNCcUpBWkJ6Sm16NWdBZ0FDZ0NCQ0FBS0FJQWEwRVVFRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVJRUU9TSUZRUUYwSWdZZ0JpQURTUnRCekptejVnQWdCVUhtekprelNSc2dBQ2dDQkNBRWEwRVVFRGtnQUVFSWFoRDZBeUFDS0FJSUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUlnQWlnQ0NFRVVhallDQ0NBQUlBSVErUU1nQWhENEF5QUNKQVlMQzRjTUFnOS9BbjBqQmlFSEl3WkI4QUJxSkFZZ0IwRXdhaUVQSUFkQktHb2hEU0FIUVNCcUlRNGdCMEVZYWlFTUlBZEJFR29oQkNBSFFRaHFJUU1nQjBIZ0FHb2hDQ0FIUWRRQWFpRUtJQWRCeUFCcUlRc2dCMEUwYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFFb0FnUWlBa1VFUUVFQVFRTkJqN3NCSUFNUVBVRi9EQUVMQWtBQ1FDQUFLQUljSWdORkRRQWdBeEE0SUFFb0FnUWlBZzBBSUFCQkFEWUNIRUVBSVFJTUFRc2dBQ0FDUVlRQmJCQkVJZ00yQWh3Z0EwVUVRRUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFoQkFOQUlBUWdBa2dFUUNBQUtBSWNJQVJCaEFGc2FpQUJLQUlBSUFSQmhBRnNha0dFQVJCTUdpQUVRUUZxSVFRZ0FTZ0NCQ0VDREFFTEN3c2dBQ0FDTmdJZ0lBQW9BaVFpQWdSQVFRQWhBd05BSUFNZ0FDZ0NLRWdFUUNBRFFReHNJQUpxS0FJQUlnUUVRQ0FFRURnZ0FDZ0NKQ0VDQ3lBRFFRRnFJUU1NQVFzTElBSVFPQXNnQVNnQ0RDSUNCRUFDUUNBQUlBSkJER3dRUkNJRU5nSWtJQVJGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3dOQUFrQWdCU0FDVGdSQUlBSWhCZ3dEQ3lBQUtBSWtJZ01nQlVFTWJHb2dBU2dDQ0NJRUlBVkJER3hxS0FJSU5nSUlJQVZCREd3Z0Eyb2dCVUVNYkNBRWFpSU1LQUlFTmdJRUlBd29BZ1FpREFSQUlBVkJER3dnQTJvZ0RFRU1iQkJFSWdJMkFnQWdBa1VOQVVFQUlRTWdCQ0VDQTBBZ0F5QUZRUXhzSUFKcUtBSUVTQVJBSUFBb0FpUWdCVUVNYkdvb0FnQWdBMEVNYkdvaUJDQUZRUXhzSUFKcUtBSUFJQU5CREd4cUlnSXBBZ0EzQWdBZ0JDQUNLQUlJTmdJSUlBTkJBV29oQXlBQktBSUlJUUlNQVFzTElBRW9BZ3doQWdVZ0JVRU1iQ0FFYWtFQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNGSUFCQkFEWUNKQXNnQUNBR05nSW9JQUFvQWpRaUFnUkFJQUlRT0NBQVFRQTJBalFnQUVFQU5nSTRDeUFCS0FJTUlnRkJBRW9FUUFKQUlBQWdBVFlDT0NBQUlBRkJ4QUJzRUVRaUFqWUNOQ0FDUlFSQVFRQkJBMEc1MkFJZ0RSQTlRUUVRQVF0QkFDRUdBMEFnQVNBR1JnMEJJQVpCeEFCc0lBSnFRVUJyUVFBMkFnQWdCa0VCYWlFR0RBQUFDd0FMQ3lBQUtBSWdJZzBFZjBFQUlRWkJBQ0VCQTBCQkFDQUdJQUFvQWloT0RRSWFRUUFoQkFOQUlBUWdBQ2dDSkNBR1FReHNhaWdDQkVnRVFDQUlRUUEyQWdBZ0NFRUFOZ0lFSUFoQkFEWUNDQ0FLUVFBMkFnQWdDa0VBTmdJRUlBcEJBRFlDQ0NBTFFRQTJBZ0FnQzBFQU5nSUVJQXRCQURZQ0NFRUFJUUlEUUNBQ0lBMUlCRUFnQUNnQ0hDSURJQUpCaEFGc2FpZ0NnQUVnQUNnQ0pDSUZJQVpCREd4cUtBSUFJQVJCREd4cUtBSUlSZ1JBSUFKQmhBRnNJQU5xS0FKOElBWkJER3dnQldvb0FnaEdCRUFDUUNBSklBSkJoQUZzSUFOcUtnSUFJQUpCaEFGc0lBTnFLZ0lFSUFKQmhBRnNJQU5xS2dKd0lBSkJoQUZzSUFOcUtnSjBJQUpCaEFGc0lBTnFLQUo0UVFCSEVQd0RJQWdvQWdRaUF5QUlLQUlJU1FSQUlBTWdDU2tDQURjQ0FDQURJQWtwQWdnM0FnZ2dBeUFKS0FJUU5nSVFJQWdnQTBFVWFqWUNCQVVnQ0NBSkVKMEpDeUFBS0FJY0lnTWdBa0dFQVd4cUtnSUlJUkVnQWtHRUFXd2dBMm9xQWd3aEVpQUpJQkU0QWdBZ0NTQVNPQUlFSUFsREFBQUFBRGdDQ0NBS0tBSUVJZ01nQ2lnQ0NFa0VRQ0FESUFrcEFnQTNBZ0FnQXlBSktBSUlOZ0lJSUFvZ0NpZ0NCRUVNYWpZQ0JBVWdDaUFKRUp3SkMwRUFJUU1EUUNBRFFlQUFUdzBCSUFNZ0FDZ0NIQ0FDUVlRQmJHcEJFR3BxSVFVZ0N5Z0NCQ0lPSUFzb0FnaEdCRUFnQ3lBRkVKc0pCU0FPSUFVc0FBQTZBQUFnQ3lBTEtBSUVRUUZxTmdJRUN5QURRUUZxSVFNTUFBQUxBQXNMQ3lBQ1FRRnFJUUlNQVFzTElBOGdDQ2dDQkNBSUtBSUFhMEVVRURrMkFnQkJBRUVCUWJDN0FTQVBFRDBnQUVFOGFpQUJRUUowYWlBQUtBSWtJZ0lnQmtFTWJHb29BZ2cyQWdBZ0FDZ0NBQ0FJSUFzZ0NpQUdRUXhzSUFKcUtBSUFJZ0lnQkVFTWJHb29BZ0FnQkVFTWJDQUNhaWdDQkNBQkVKSUlJQXNRVlNBS0VGVWdDQkRaQWlBRVFRRnFJUVFnQVVFQmFpRUJEQUVMQ3lBR1FRRnFJUVlNQUFBTEFBVkJBQXNMQlVFQVFRTkIzN29CSUFjUVBVRi9DeUVRSUFja0JpQVFDL1VCQVFaL0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFR0lBTWdBQkNZQWlBRExBQUFCRUFnQXlBQUlBQW9BZ0JCZEdvaUJDZ0NBR29vQWhnMkFnZ2dBQ0FFS0FJQWFpSUVLQUlFSVFkQmZ5QUVLQUpNRUVFRVFDQUdJQVFRT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQ0NBRlFTQWdDRUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGUVJoMFFSaDFJZ1UyQWt3RklBUW9Ba3doQlFzZ0JpQURLQUlJTmdJQUlBWWdBU0FCSUFKcUlnSWdBU0FIUWJBQmNVRWdSaHNnQWlBRUlBVkIvd0Z4RUpjQlJRUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFTQUJLQUlRUVFWeUVPNEJDd3NnQXhDWEFpQURKQVlnQUF1N0FRRUZmeU1HSVFZakJrRVFhaVFHSUFBRVFBSkFJQUFvQWdRaEF3TkFJQUlnQTBnRVFDQUFLQUlBSUFKQmhBRnNhaUlFS0FKOElnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFud0xJQUpCQVdvaEFnd0JDd3NnQUNnQ0RDRURRUUFoQWdOQUlBSWdBMDRFUUVFQUlRQU1BZ3NnQUNnQ0NDQUNRUXhzYWlJRUtBSUlJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBZ2dMSUFKQkFXb2hBZ3dBQUFzQUN3VkJBRUVEUWE2NkFTQUdFRDFCZnlFQUN5QUdKQVlnQUF2N0JRRUtmeU1HSVFVakJrRkFheVFHSUFWQk9Hb2hDQ0FGUVRCcUlRa2dCVUVvYWlFR0lBVkJJR29oQnlBRlFSaHFJUW9nQlVFSWFpRUNJQVZCUEdvaUEwR0l1UUV1QUFBN0FBQWdBMEdLdVFFc0FBQTZBQUlnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBQ0FERUk0SklnUkZCRUFnQWlBQU5nSUFJQUpCeFA0Q05nSUVJQUpCZ05FQ05nSUlRUUJCQTBHK3VRRWdBaEE5UVg4TUFRdEJBVUVRRUkwQ0lnSkZCRUJCQUVFRFFibllBaUFLRUQxQkFSQUJDeUFDUVFScVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJRUlnQkJBVTRFUUFKQUlBSWdBRUdFQVd3UVJDSUROZ0lBSUFORkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkMwRUFJUU1EUUNBRElBQklCRUFnQWlnQ0FDQURRWVFCYkdwQkNFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUVFocVFRaEJBU0FFRUdGQkFVY05BaUFDS0FJQUlBTkJoQUZzYWtFUWFrSHNBRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFmd0Fha0VFUVFFZ0JCQmhRUUZIRFFJZ0FpZ0NBQ0FEUVlRQmJHcEJnQUZxUVFSQkFTQUVFR0ZCQVVjTkFpQURRUUZxSVFNZ0FpZ0NCQ0VBREFFTEN5QUNRUXhxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlNSWdCQkFVZ0VRQ0FDUVFBMkFnZ01BZ3NnQWlBQVFReHNFRVFpQXpZQ0NDQURSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFREFrQUNRQU5BQWtBZ0F5QUFUZzBDSUFJb0FnZ2dBMEVNYkdwQkNHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2dBMEVNYkdwQkJHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2lCeUFEUVF4c2FpZ0NCQ0lHUVF4c0VFUWhBQ0FEUVF4c0lBZHFJQUEyQWdBZ0FFVU5BQ0FBUVF3Z0JpQUVFR0VnQmtjTkJTQURRUUZxSVFNZ0FpZ0NEQ0VBREFFTEMwRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTUFRc2dBU0FDTmdJQUlBUVFha0VBREFVTEN3c0xDMEVBUVFOQmdib0JJQWdRUFNBQ0tBSUlJZ0FFUUNBQUVEZ0xJQUlvQWdBaUFBUkFJQUFRT0FzZ0FoQTRJQVFRYWtGL0N3VkJBRUVEUVl1NUFTQUZFRDFCZndzaEN5QUZKQVlnQ3d2WEFnRUVmeU1HSVFJakJrRVFhaVFHUWFDSHJ3TVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FrRUlhaUVESUFGQkFEWUNBQ0FCUWVTR3B3SnFRUUEyQWdBZ0FVR0loNjhEYWtFQU5nSUFJQUZCZnpZQ0JDQUJRUUEyQWdnZ0FVRUJOZ0lNSUFGQjVBQTJBaEFnQVVFQU5nSVVJQUZCQURZQ0dDQUJRUUkyQWh3Z0FVR1FoNjhEYWtRQUFBQUFBQURnUHprREFDQUJRWmlIcndOcVFRTTJBZ0FnQVNBQU5nSWdJQUVnQUNnQ0FDSUVOZ0lrSUFFZ0FDZ0NCQ0lBTmdJb0lBRkJBRFlDTENBQlFiRDRBR3BCQURZQ0FDQUJRZWlHcHdKcVFRQTJBZ0FnQVVINGlxWUNha0VBTmdJQUlBRkI0SWFuQW1vZ0FDQUVRUUYwYkJCRUlnQTJBZ0FnQUFSQUlBRkI4SWF2QTJwQkFEWUNBQ0FCUVFBUS9RTWdBVUgwaHE4RGFrRi9OZ0lBSUFGQkFCRDdBeG9nQVJDUUNTQUNKQVlnQVE4RlFRQkJBMEc1MkFJZ0F4QTlRUUVRQVF0QkFBdnNDZ0VRZnlNR0lRMGpCa0V3YWlRR0lBMUJLR29oRUNBTlFTQnFJUThnRFVFWWFpRUpJQTFCRUdvaEJpQU5RUWhxSVFjZ0FFRUFSeUFCUVFCSGNRUi9JQUFvQWdBaUFnUkFJQUlpQkNFREJTQUFRUkFRUkNJQ05nSUFJQUlFUUNBQ1FRQTJBZ1FnQWtFQU5nSUFJQUpCQURZQ0RDQUNRUUEyQWdnZ0FpSUVJUU1GUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXNMSUFFb0FnQWlEQVJBSUFRb0FnUWlCU0FNS0FJRUlnZHFJZ0pCaEFGc0VFUWlDMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMUVFBaEJnTkFJQVlnQlVnRVFDQUdRWVFCYkNBTGFpQUVLQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xRUUFoQmdOQUlBWWdCMGdFUUNBRklBWnFRWVFCYkNBTGFpQU1LQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xJQVFvQWdBaUJBUkFJQVFRT0NBQUtBSUFJUU1MSUFNZ0N6WUNBQ0FBS0FJQUlnY2dBallDQkNBSEtBSU1JUXNnQVNnQ0FDSURLQUlNSVF4QkFDRUVRUUFoQmdOQUlBWWdERWdFUUVFQUlRSUNRQUpBQTBBZ0FpQUxTQVJBSUFNb0FnZ2dCa0VNYkdvb0FnZ2dCeWdDQ0NBQ1FReHNhaWdDQ0VZTkFpQUNRUUZxSVFJTUFRc0xEQUVMSUFSQkFXb2hCQXNnQmtFQmFpRUdEQUVMQ3lBTElBeHFJQVJySWdaQkRHd1FSQ0lPUlFSQVFRQkJBMEc1MkFJZ0NSQTlRUUVRQVFzQ1FBSkFBMEFnQ2lBTFNBUkFJQXBCREd3Z0Rtb2dBQ2dDQUNJSEtBSUlJZ1FnQ2tFTWJHb2lBaWdDQ0RZQ0NDQUtRUXhzSUFScUtBSUVJUVJCQUNFSkEwQWdDU0FNU0FSQUlBRW9BZ0FvQWdnaUF5QUpRUXhzYWlnQ0NDQUNLQUlJUmdSQUlBUWdDVUVNYkNBRGFpZ0NCR29oQkFzZ0NVRUJhaUVKREFFTEN5QUtRUXhzSUE1cUlna2dCRUVNYkJCRUlnTTJBZ0FnQTBVTkFpQUhLQUlJSUFwQkRHeHFLQUlFSVFkQkFDRUZBMEFnQlNBSFNBUkFJQWtvQWdBZ0JVRU1iR29pQWlBQUtBSUFLQUlJSUFwQkRHeHFLQUlBSUFWQkRHeHFJZ01wQWdBM0FnQWdBaUFES0FJSU5nSUlJQVZCQVdvaEJRd0JDd3RCQUNFSUFrQUNRQU5BSUFnZ0RFZ0VRQ0FCS0FJQUtBSUlJZ01nQ0VFTWJHb29BZ2dnQUNnQ0FDZ0NDQ0FLUVF4c2FpZ0NDRVlOQWlBSVFRRnFJUWdNQVFzTERBRUxRUUFoQlFOQUlBVWdDRUVNYkNBRGFpZ0NCRTROQVNBSktBSUFJQVVnQjJwQkRHeHFJZ0lnQ0VFTWJDQURhaWdDQUNBRlFReHNhaUlES1FJQU53SUFJQUlnQXlnQ0NEWUNDQ0FGUVFGcUlRVWdBU2dDQUNnQ0NDRUREQUFBQ3dBTElBcEJER3dnRG1vZ0JEWUNCQ0FLUVFGcUlRb01BUXNMREFFTFFRQkJBMEc1MkFJZ0R4QTlRUUVRQVF0QkFDRUVRUUFoQ0FKQUFrQURRQ0FJSUF4SUJFQWdBU2dDQUNnQ0NDSUhJQWhCREd4cUtBSUlJUVZCQUNFQ0FrQUNRQU5BSUFJZ0MwNE5BU0FDUVFGcUlRTWdBQ2dDQUNnQ0NDQUNRUXhzYWlnQ0NDQUZSd1JBSUFNaEFnd0JDd3NnQkVFQmFpRUVEQUVMSUFnZ0Myb2dCR3NpRDBFTWJDQU9haUVKSUE5QkRHd2dEbW9nQlRZQ0NDQUpJQWhCREd3Z0Iyb29BZ1FpQjBFTWJCQkVJZ00yQWdBZ0EwVU5BMEVBSVFVRFFDQUZJQWRJQkVBZ0NTZ0NBQ0FGUVF4c2FpSUNJQUVvQWdBb0FnZ2dDRUVNYkdvb0FnQWdCVUVNYkdvaUF5a0NBRGNDQUNBQ0lBTW9BZ2cyQWdnZ0JVRUJhaUVGREFFTEN5QVBRUXhzSUE1cUlBYzJBZ1FMSUFoQkFXb2hDQXdCQ3dzTUFRdEJBRUVEUWJuWUFpQVFFRDFCQVJBQkN5QUFLQUlBSWdKQkNHb2lBeWdDQUNJRUJFQkJBQ0VEQTBBZ0F5QUNLQUlNU0FSQUlBTkJER3dnQkdvb0FnQVFPQ0FEUVFGcUlRTWdBQ2dDQUNJRUlRSWdCQ2dDQ0NFRURBRUxDeUFFRURnZ0FDZ0NBRUVJYWlFREN5QURJQTQyQWdBZ0FDZ0NBQ0FHTmdJTUlBRVEvd01MUVFBRlFRQkJBMEdndUFFZ0RSQTlRWDhMSVJFZ0RTUUdJQkVMb3dFQkFuOGdBQ2dDQUNJQkJIOGdBU2dDQUNJQ0JFQWdBaWdDQUNFQklBSkJBRFlDQUNBQkJFQWdBUkRyQXlBQkVEZ0xJQUlRT0NBQUtBSUFJUUVMSUFFb0Fod2lBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaVFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWpRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0Fpd2lBZ1IvSUFJUU9DQUFLQUlBQlNBQkN4QTRJQUJCQURZQ0FFRUFCVUYvQ3hvTGpBRUJBMzhqQmlFRUl3WkJFR29rQmtFQlFid2dFSTBDSWdNRVFFRUVFRkVpQlJDN0NDQURJQVUyQWdBZ0F5QUFOZ0lFSUFOQkFUWUNDQ0FESUFFMkFnd2dBeUFDTmdJUUlBTkJBVFlDRkNBRFFYODJBaGdnQTBJQU53SWNJQU5DQURjQ0pDQURRZ0EzQWl3Z0EwSUFOd0kwSUFRa0JpQUREd1ZCQUVFRFFibllBaUFFRUQxQkFSQUJDMEVBQzhjQkFnSi9CMzBDZnlNR0lRWWpCa0ZBYXlRR0lBQXFBZ3dnQUNvQ0xDSU1JQUdVa3lFSklBQXFBaVFpQnlBQ2xDQUFLZ0lVa3lFS0lBQXFBaUFpQ0NBQ2xDQUFLZ0lRa3lFTElBY2dBWlFnQUNvQ0JKTWhCeUFJSUFHVUlBQXFBZ0NUSVFnZ0FDb0NIQ0VOSUF3Z0FwUWhBUUpBREFBTElBMGdBWk1oQVNBSUlBcVVJQWNnQzVTVElnSkRBQUFBQUZzRWYwRi9CU0FESUFvZ0NaUWdCeUFCbEpNZ0FwVTRBZ0FnQkNBSUlBR1VJQXNnQ1pTVElBS1ZPQUlBUVFBTElRQWdCZ3NrQmlBQUN5Y0JBWDhnQUNnQ0FDSUJCSDhnQVJEaUFpQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExHZ3ZWQmdJUGZ3RjlJd1loQ1NNR1FkQUFhaVFHSUFsQlBHb2hDQ0FKUVRocUlRWWdDVUUwYWlFT0lBbEJNR29oRHlBSlFVQnJJUkFDZndKQUlBQUVmeUFBUVFocUlBRWdDUkQ2QVNBSUlBTW9BZ0FpQnlBRVFSUnNhaWdDQ0NJQk5nSUFJQVlnQkVFVWJDQUhhaW9DRENJVk9BSUFRUUFnQ1NBQnZpQVZJQWdnQmhEbEFVRUFTQVIvUVg4RklBQkJ1QUZxSWhFZ0NDb0NBQ0FHS2dJQUlBNGdEeEJ0UVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElRZ2dEeW9DQUVNQUFBQS9raEJESVJKQkFDRUVRUUFnQlNnQ0VDSUFheUVLSUJJZ0FFRUJkR3NoQzBFQUlRRkJBQ0VBSUFVb0FoZ2hCd05BSUFvZ0JTZ0NGRW9FUUNBRUlRY01CUVVnQzdJaEZVRUFJQVVvQWdnaUJtc2hEQ0FJSUFaQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0VTQU5zaUFWSUE0Z0R4Q21BVUVBU0FSQUlBZEJnQ0E3QVFBRklBa2dBaWdDQUNBREtBSUlRUUowYWlnQ0FDQU9LZ0lBSUE4cUFnQWdFQkNCQkVFQVNBUkFJQWRCZ0NBN0FRQUZJQWNnRUMwQUFDSUdPd0VBSUFSQkFXb2hCQ0FCSUFaQi93RnhJZ1lnQm14cUlRRWdBQ0FHYWlFQUN3c2dERUVCYWlFTUlBMUJBbW9oRFNBSFFRSnFJUWNNQVFzTElBcEJBV29oQ2lBTFFRSnFJUXNNQVFzQUFBc0FDd3NGSUFnZ0F5Z0NBQ0lISUFSQkZHeHFLQUlJSWdBMkFnQWdCaUFFUVJSc0lBZHFLZ0lNSWhVNEFnQkJBQ0FCSUFDK0lCVWdEaUFQRU9VQlFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUkVnRHlvQ0FFTUFBQUEva2hCRElSTkJBQ0FGS0FJUUlnQnJJUW9nRXlBQVFRRjBheUVMUVFBaEIwRUFJUVJCQUNFQUlBVW9BaGdoQmdOQUlBb2dCU2dDRkVvRVFDQUVJUUVNQkFVZ0M3SWhGVUVBSUFVb0FnZ2lDR3NoRENBUklBaEJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdBU0FDS0FJQUlBTW9BZ2hCQW5ScUtBSUFJQTJ5SUJVZ0VCQ0JCRUVBU0FSQUlBWkJnQ0E3QVFBRklBWWdFQzBBQUNJSU93RUFJQWRCQVdvaEJ5QUVJQWhCL3dGeElnZ2dDR3hxSVFRZ0FDQUlhaUVBQ3lBTVFRRnFJUXdnRFVFQ2FpRU5JQVpCQW1vaEJnd0JDd3NnQ2tFQmFpRUtJQXRCQW1vaEN3d0JDd0FBQ3dBTEN3d0JDeUFIQkg4Z0JTQUJJQUFnQUd3Z0J4QTVhN0tSRUVNMkFod2dCU0FBTmdJZ0lBVWdCellDSkVFQUJVRi9Dd3NoRkNBSkpBWWdGQXVTQVFFRGZ5TUdJUU1qQmtFUWFpUUdRU2dRUkNJQ1JRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBMEVJYWlFRUlBSWdBRFlDRUNBQ0lBQTJBZ2dnQWlBQk5nSVVJQUlnQVRZQ0RDQUNJQUVnQUVFQmFtb2lBRFlDQUNBQ0lBQTJBZ1FnQWlBQVFRRjBJQUJzRUVRaUFEWUNHQ0FBQkVBZ0F5UUdJQUlQQlVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBTDV3SUJCWDhnQkNnQ0JDRU5JQUZCQVhRaEN5QUVLQUlBSVE0Z0JDZ0NHQ0VLSUFBZ0FpQUJJQU5zYW1vaEFrRUFJUUFEUUNBTUlBMUlCRUJCQUNFRElBSWhBUU5BSUFNZ0RrZ0VRQ0FBSUFFdEFBQWdDaThCQUd4cUlRQWdBMEVCYWlFRElBcEJBbW9oQ2lBQlFRSnFJUUVNQVFzTElBeEJBV29oRENBQ0lBdHFJUUlNQVFzTElBNUJBWFFpQTBFSWFpSUNJQWhCZm1vaUFTQU5RUUYwYW13aEN5QURJQWRCZm1vaUNtb2lDQ0FMYWlJSFFRSjBJQVZxS0FJQUlBb2dBU0FDYkNJQmFpSURRUUowSUFWcUtBSUFhaUFLSUF0cUlnSkJBblFnQldvb0FnQnJJQUVnQ0dvaUFVRUNkQ0FGYWlnQ0FHc2hCU0FKSUFkQkFuUWdCbW9vQWdBZ0EwRUNkQ0FHYWlnQ0FHb2dBa0VDZENBR2FpZ0NBR3NnQVVFQ2RDQUdhaWdDQUdzZ0JTQUZiQ0FFS0FJa0lnSVFPV3NpQVFSL0lBQWdCU0FFS0FJZ2JDQUNFRGxyUWVRQWJDQUVLQUljRURsQjVBQnNJQUd5a1JCREVEa0ZRUUFMTmdJQUM3RUNBUUovSUFNb0FnQWlCd1JBQWtBRFFBSkFJQWdnQjA0TkFDQUlRUUowSUFacUtBSUFJQUpJRFFBZ0NFRUJhaUVJREFFTEN5QUhJQWhHQkVBZ0IwRURUdzBCSUFkQkFuUWdCR29nQURZQ0FDQUhRUUowSUFWcUlBRTJBZ0FnQjBFQ2RDQUdhaUFDTmdJQUlBTWdBeWdDQUVFQmFqWUNBQXdCQ3lBSFFRTkdCSDlCQWdVZ0F5QUhRUUZxTmdJQUlBY0xJUU1EUUNBRElBaEtCRUFnQTBFQ2RDQUVhaUFEUVg5cUlnZEJBblFnQkdvb0FnQTJBZ0FnQTBFQ2RDQUZhaUFIUVFKMElBVnFLQUlBTmdJQUlBTkJBblFnQm1vZ0IwRUNkQ0FHYWlnQ0FEWUNBQ0FISVFNTUFRc0xJQU5CQW5RZ0JHb2dBRFlDQUNBRFFRSjBJQVZxSUFFMkFnQWdBMEVDZENBR2FpQUNOZ0lBQ3dVZ0JDQUFOZ0lBSUFVZ0FUWUNBQ0FHSUFJMkFnQWdBMEVCTmdJQUN3dW9EUUVjZnlNR0lRd2pCa0hRQUdva0JpQU1RUWhxSVJNZ0RDSWVRY2dBYWlFYklBeEJQR29oSENBTVFUQnFJUjBnREVFa2FpRVVJQXhCSUdvaEZ5QU1RUmhxSVI4Z0RFRVFhaUVnSUFVb0FoQWhKaUFGS0FJVUlTVWdBa0YvYWlFV0lBTkJmMm9oR0FOQUFrQWdFVUVEVHcwQUlCRkJBM1FnQ0dvb0FnQWlERUVBU0EwQUlBeEJmSEZCQW5JaURDQUdheUlOUVFBZ0RVRUFTaHNoRFNBR0lBeHFJZ3dnRmlBTUlBSklHeUVaSUJGQkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNGdCMnNoRENBSElBNXFJZzRnR0NBT0lBTklHeUVWSUF4QkFDQU1RUUJLR3lFT0EwQWdEaUFWVEFSQUlBRWdEU0lNSUFJZ0RteHFhaUVQQTBBZ0RDQVpUQVJBSUE5QkFEb0FBQ0FNUVFGcUlRd2dEMEVCYWlFUERBRUxDeUFPUVFGcUlRNE1BUXNMSUJGQkFXb2hFUXdCQ3dzZ0cwRUFOZ0lBSUNWQkFYUWhFQ0FtUVFGMElSSkJBU0VNUVFBaER3SkFBa0FEUUFKQUlBOUJBMDhOQWlBUFFRTjBJQWhxS0FJQUlnMUJBRWdOQUNBSElBOUJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzVxSVJZZ0RVRjhjVUVDY2lJTklBWnJJUkVnQmlBTmFpRVlJQTRnQjJzaERnTkFBa0FnRGlBV1NnMEFJQTRnRWs0RVFBSkFJQTRnRUdvZ0EwNE5BaUFDSUE1c0lSa2dFU0VOQTBBZ0RTQVlTZzBCSUEwZ0JTZ0NDRUVCZEU0RVFDQU5JQVVvQWd4QkFYUnFJQUpPRFFJZ0FTQU5JQmxxYWlJVkxBQUFSUVJBSUJWQkFUb0FBQ0FBSUFJZ0JDQUZJQTBnRGlBWEVJTUVJQTBnRGlBWEtBSUFJQnNnSENBZElCUVFxd2xCQUNFTUN3c2dEVUVFYWlFTkRBQUFDd0FMQ3lBT1FRUnFJUTRNQVFzTElBOUJBV29oRHd3QkN3c2dERVVOQUVGL0lRWU1BUXNnQlNnQ0FFRURkRUVnYWlBRktBSUVRUUYwUVFocWJDSUJFRVFpRVVVRVFFRUFRUU5CdWRnQ0lCNFFQVUVCRUFFTElBRVFSQ0lPUlFSQVFRQkJBMEc1MkFJZ0V4QTlRUUVRQVF0QkFDRUJRUUFoRWtGL0lRWURRQ0FTSUJzb0FnQklCRUFDUUFKQUlBVW9BaVFnQlNnQ0FDSU5JQVVvQWdRaUIyeEhEUUFDUUNBRVFRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0VrRUNkQ0FkYWlJaEtBSUFJZ2hCZldvZ0JTZ0NFRUVCZEdzaUdFRUFTQTBBSUFoQkEyb2dCU2dDRkVFQmRHb2dBMDROQUNBU1FRSjBJQnhxSWlJb0FnQWlDRUY5YWlBRktBSUlRUUYwYXlJWlFRQklEUUFnQ0VFRGFpQUZLQUlNUVFGMGFpQUNUZzBBSUFkQkFYUkJCbW9oSXlBTlFRSjBRUkJxSVE4Z0RpRUhJQkVoQ0VFQUlRd0RRQ0FNSUE5SUJFQWdDRUVBTmdJQUlBZEJBRFlDQUNBSFFRUnFJUWNnQ0VFRWFpRUlJQXhCQVdvaERBd0JDd3NnRFVFQmRFRUdhaUVrSUFBZ0dTQUNJQmhzYW1vaEV5QU9JUXdnRVNFTlFRQWhGZ05BSUJZZ0kwZ0VRQ0FJUVFocUlTY2dCeUVQUVFBaEVBTkFJQkJCQWtjRVFDQUlRUUEyQWdBZ0QwRUFOZ0lBSUJCQkFuUWdIMnBCQURZQ0FDQVFRUUowSUNCcVFRQTJBZ0FnRDBFRWFpRVBJQWhCQkdvaENDQVFRUUZxSVJBTUFRc0xJQk1oRHlBTVFRaHFJUXdnRFVFSWFpRU5JQWRCQ0dvaEJ5QW5JUWhCQUNFVUEwQWdGQ0FrU0FSQUlBOHRBQUFnRkVFQmNTSVZRUUowSUI5cUlob29BZ0JxSVJBZ0dpQVFOZ0lBSUE4dEFBQWlHaUFhYkNBVlFRSjBJQ0JxSWhvb0FnQnFJUlVnR2lBVk5nSUFJQWdnRUNBTktBSUFhallDQUNBSElCVWdEQ2dDQUdvMkFnQWdEMEVCYWlFUElBeEJCR29oRENBTlFRUnFJUTBnQjBFRWFpRUhJQWhCQkdvaENDQVVRUUZxSVJRTUFRc0xJQUlnRTJvaEV5QVdRUUZxSVJZTUFRc0xRUUFoQ0FOQUlBaEJCMGNFUUNBSUlCaHFJUTBnQ0VFQ2FpRVBJQWhCZldvaEUwRUFJUXdEUUNBTVFRZEhCRUFnQUNBQ0lBd2dHV29nRFNBRklCRWdEaUFNUVFKcUlBOGdGeENxQ1NBWEtBSUFJZ2NnQVVvRVFDQUpJQ0lvQWdBZ0RFRjlhbW8yQWdBZ0NpQVRJQ0VvQWdCcU5nSUFJQXNnQjdKREFFQWNScFU0QWdCQkFDRUdJQWNoQVFzZ0RFRUJhaUVNREFFTEN5QUlRUUZxSVFnTUFRc0xEQUVMSUJKQkFuUWdIV29vQWdBaUIwRURhaUVOSUJKQkFuUWdIR29oRHlBSFFYMXFJUWdEUUNBSUlBMUtEUUVnQ0NBRktBSVFRUUYwVGdSQUFrQWdDQ0FGS0FJVVFRRjBhaUFEVGcwRElBOG9BZ0FpQjBFRGFpRVRJQWRCZldvaERBTkFJQXdnRTBvTkFTQU1JQVVvQWdoQkFYUk9CRUFnRENBRktBSU1RUUYwYWlBQ1RnMENJQUFnQWlBRUlBVWdEQ0FJSUJjUWd3UWdGeWdDQUNJSElBRktCRUFnQ1NBTU5nSUFJQW9nQ0RZQ0FDQUxJQWV5UXdCQUhFYVZPQUlBSUFjaEFVRUFJUVlMQ3lBTVFRRnFJUXdNQUFBTEFBc0xJQWhCQVdvaENBd0FBQXNBQ3lBU1FRRnFJUklNQVFzTElCRVFPQ0FPRURnTElCNGtCaUFHQzNBQkFuOGdBQVIvSUFCQkFUWUNtQUVEUUNBRFFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBQkJDR29nQTBFRWRHb2dBa0VDZEdvZ0EwRUVkQ0FCYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQUVGL05nS29BVUVBQlVGL0N4b0x5Z3NCRzM4akJpRUJJd1pCNEFscUpBWWdBVUhRQ1dvaEZDQUJRY2dKYWlFVklBRkJ1QWxxSVFzZ0FVR3dDV29oRmlBQlFhQUphaUVNSUFGQm1BbHFJUmNnQVVHSUNXb2hEU0FCUWVnSWFpRVlJQUZCNEFocUlROGdBVUhZQ0dvaEdTQUJRZEFJYWlFYUlBRkJ5QWhxSVJBZ0FVSEFDR29oR3lBQlFiZ0lhaUVSSUFGQnNBaHFJUklnQVVHb0NHb2hDU0FCUWFBSWFpRUtJQUZCbUFocUlRNGdBVUdRQ0dvaEFpQUJRWWdJYWlFRklBRkJnQWhxSVFnZ0FVR0FCbW9oQmlBQlFZQUVhaUVISUFGQjFBbHFJUVFDUUFKL0FrQkJudElDTEFBQVJRMEFRWjdTQWtHZTBnSVFzd0ZGRFFBZ0NDQUFOZ0lBSUFoQm50SUNOZ0lFSUFGQmo3d0JJQWdRdkFFZ0FVR0p0Z0VRc0FFaUF3Ui9RUUVNQWdVZ0JTQUFOZ0lBUVFCQkEwR0x0Z0VnQlJBOVFhVEZBeWdDQUJDOUFTRUFJQUpCcDlVRE5nSUFJQUlnQURZQ0JFRUFRUU5CcGJZQklBSVFQVUVBQ3lFVERBSUxJQWNnQUVIL0FSRFZBU0FIUVFBNkFQOEJRUUFMSVFCQjlBZ1FSQ0lGUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0JTQUFRUUJISWc0RWZ5QUdJQU1RNWdGRkJFQWdBeEJxSUFVUU9Bd0NDeUFLSUFRMkFnQWdCa0dydGdFZ0NoQ0RBVUVCUndSQUlBTVFhaUFGRURnTUFnc2dCQ2dDQUNJQVFRRklCSDhnQXhCcUlBVVFPQXdDQlNBQUN3VkJBUXNpQ2pZQ0JDQUZRUUEyQXBnQklBVWdDa0h3QUd3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkMwRUFJUUFDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBQU5nSUFJQUFnQ2s0TkJ5QVNJQUJCQVdvMkFnQkJBRUVCUWE2MkFTQVNFRDBnRGdSQUlBWWdBeERtQVVVTkNDQVJJQWMyQWdBZ0JrSEd0Z0VnRVJDREFVRUJSdzBJSUFjUS9BVUxRUUJCQVVISnRnRWdHeEE5SUFjUXZ3a2hBQ0FFS0FJQVFmQUFiQ0FDYWlBQU5nSUFJQUJGRFFCQkFFRUJRZnEyQVNBYUVEMUJBRUVCUVlTM0FTQVpFRDBnQnhDeENTRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFnUWdBRVVOQWtFQVFRRkIrcllCSUJnUVBTQUVLQUlBUWZBQWJDQUNha0VBTmdJSUlBNEVRQ0FHSUFNUTVnRkZEUWdnRFNBRUtBSUFJZ0JCOEFCc0lBSnFRUXhxTmdJQUlBMGdBRUh3QUd3Z0FtcEJFR28yQWdRZ0RTQUFRZkFBYkNBQ2FrRVVhallDQ0NBTklBQkI4QUJzSUFKcVFSaHFOZ0lNSUFaQjdMY0JJQTBRZ3dGQkJFY05CQ0FHSUFNUTVnRkZEUWdnRENBRUtBSUFJZ0JCOEFCc0lBSnFRUnhxTmdJQUlBd2dBRUh3QUd3Z0FtcEJJR28yQWdRZ0RDQUFRZkFBYkNBQ2FrRWthallDQ0NBTUlBQkI4QUJzSUFKcVFTaHFOZ0lNSUFaQjdMY0JJQXdRZ3dGQkJFY05CU0FHSUFNUTVnRkZEUWdnQ3lBRUtBSUFJZ0JCOEFCc0lBSnFRU3hxTmdJQUlBc2dBRUh3QUd3Z0FtcEJNR28yQWdRZ0N5QUFRZkFBYkNBQ2FrRTBhallDQ0NBTElBQkI4QUJzSUFKcVFUaHFOZ0lNSUFaQjdMY0JJQXNRZ3dGQkJFY05CaUFFS0FJQUlRQUZJQVFvQWdBaEFFRUFJUWdEUUNBSVFRTkhCRUJCQUNFSkEwQWdDVUVFUndSQUlBQkI4QUJzSUFKcVFReHFJQWhCQkhScUlBbEJBblJxUXdBQWdEOURBQUFBQUNBSUlBbEdHemdDQUNBSlFRRnFJUWtNQVFzTElBaEJBV29oQ0F3QkN3c0xJQUJCOEFCc0lBSnFRUXhxSUFCQjhBQnNJQUpxUVR4cUVKNEdJQWNRaFFaQmdBSVFSQ0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBbXdnQUVVTkJpQUFJQWRCZ0FJUTFRRWdCQ2dDQUVFQmFpRUFEQUVMQ3lBUUlBYzJBZ0JCQUVFRFFkdTJBU0FRRUQwZ0FoQTRJQVVRT0NBRFJRMEhJQU1RYWd3SEN5QVBJQWMyQWdCQkFFRURRWmkzQVNBUEVEMGdCQ2dDQUVId0FHd2dBbW9RdUFrZ0FoQTRJQVVRT0NBRFJRMEdJQU1RYWd3R0MwRUFRUU5CK0xjQklCY1FQU0FERUdwQkFCQUJEQVFMUVFCQkEwSDR0d0VnRmhBOUlBTVFha0VBRUFFTUF3dEJBRUVEUWZpM0FTQVZFRDBnQXhCcVFRQVFBUXdDQzBFQVFRTkJ1ZGdDSUJRUVBVRUJFQUVNQVFzZ0F3UkFJQU1RYWdzZ0JDZ0NBQ0FLVGdSQUlBVWhFd3dDQzBFQUVBRUxDeUFCSkFZZ0V3dE5BUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUVFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUJFRGhCQUNFQkN5QUNKQVlnQVFzcEFDQUFJQUZCQTNRZ0FHb2dBa0VEZENBQWFpSUJFSVFFSUFBZ0FTQURRUU4wSUFCcUVJUUVrZ3ZKQndFVGZ5TUdJUUlqQmtHQUJXb2tCaUFDUWZBRWFpRUpJQUpCNkFScUlRb2dBa0hnQkdvaEN5QUNRZGdFYWlFTUlBSkIwQVJxSVEwZ0FrSElCR29oRGlBQ1FjQUVhaUVQSUFKQnVBUnFJUkFnQWtHd0JHb2hFU0FDUWFnRWFpRVNJQUpCb0FScUlRVWdBa0dZQkdvaEJpQUNRWkFFYWlFRUlBSkJpQVJxSVFFZ0FrR0FCR29pQXlBQU5nSUFJQU5CbnRJQ05nSUVJQUpCajd3QklBTVF2QUVnQWtHSXVRRVFzQUVpQXdSQVFRZ1FSQ0lBUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzQ1FBSkFJQUJCQkdwQkJFRUJJQU1RWVVFQlJnUkFBa0FnQUNBQUtBSUVJaE5CRkd3UVJDSUdOZ0lBSUFaRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkMwRUFJUVVEUUFKQUlBVWdFMDROQWlBRlFSUnNJQVpxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVNSVFFTUFRc2dCVUVVYkNBR2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkR5RUJEQUVMSUFWQkZHd2dCbXBCRUdwQkJFRUJJQU1RWVVFQlJ3UkFRUkVoQVF3QkN5QUZRUlJzSUFacUlnaEJCR3BCQkVFQklBTVFZVUVCUndSQVFSTWhBUXdCQ3lBRlFSUnNJQVpxSWdjZ0NDZ0NCQ0lCUVJSc0VFUWlCRFlDQUNBRVJRUkFRUlloQVF3QkMwRUFJUVFEUUNBRUlBRklCRUFnQnlnQ0FDQUVRUlJzYWtFRVFRRWdBeEJoUVFGSEJFQkJHU0VCREFNTElBY29BZ0FnQkVFVWJHcEJCR3BCQkVFQklBTVFZVUVCUndSQVFSc2hBUXdEQ3lBSEtBSUFJQVJCRkd4cVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFZElRRU1Bd3NnQnlnQ0FDQUVRUlJzYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCSHlFQkRBTUxJQWNvQWdBZ0JFRVViR3BCRUdwQkJFRUJJQU1RWVVFQlJnUkFJQVJCQVdvaEJDQUlLQUlFSVFFTUFnVkJJaUVCREFNTEFBc0xJQVZCQVdvaEJRd0JDd3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJER3NPRndBS0NnRUtBZ29EQ2dvRUNnb0ZDZ1lLQndvSUNnb0pDZ3RCQUVFRFFmdTFBU0FTRUQwTUNRdEJBRUVEUWZ1MUFTQVJFRDBNQ0F0QkFFRURRZnUxQVNBUUVEME1Cd3RCQUVFRFFmdTFBU0FQRUQwTUJndEJBRUVEUWJuWUFpQU9FRDFCQVJBQkRBVUxRUUJCQTBIN3RRRWdEUkE5REFRTFFRQkJBMEg3dFFFZ0RCQTlEQU1MUVFCQkEwSDd0UUVnQ3hBOURBSUxRUUJCQTBIN3RRRWdDaEE5REFFTFFRQkJBMEg3dFFFZ0NSQTlDMEVBSVFFRFFDQUJJQVZIQkVBZ0FVRVViQ0FHYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQmhBNERBSUxCVUVBUVFOQis3VUJJQVlRUFF3QkN3d0JDeUFBRURoQkFDRUFDeUFERUdvRklBRWdBRFlDQUVFQVFRTkI1clVCSUFFUVBVRUFJUUFMSUFJa0JpQUFDdzhBSUFBb0FnQkJoQUZxUVFFUUJndjVEUUVRZnlNR0lRc2pCa0hBQm1va0JrRUVJUWxCS0JCRUlnaEJBRFlDQUNBTFFSaHFJZ2RCQUVIb0F4QkZHa0VBSkFOQlB5QUxRWmdFYWlJTUVCQWhCaU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWhCQkJCOUlncEZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUtDeUFMUVpBRWFpRVBJQXRCaUFScUlSQWdDMEdBQkdvaEVRSi9FQWNnQ2tFQmEwVU5BQm9nQnlBR05nSUFJQXhCOEFBMkFnQWdERUdFQVdwQkFTQUlRUVFRandRaENCQUhJUWxCQUNRRFFRQWtBMEVBSWdWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElBWkJBV3RGRFFBYVFRQUxJUVVDUUFKQUFrQUNRQU5BQWtBZ0JRUkFRUUFrQTBIeEFDQUhFQThqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRUWhCQUVFRFFhaTFBU0FSRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVdzTkFRd0NDMEVBSkFOQkFTQUhRZG9BUWVnREVCc2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRRFFTY2dCeUFBRUJ3akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEQW45QkV5QUhRUUVRSmlFU0l3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQ2tVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCU0FLUVFGclJRMENJQkpCQVVjTEJFQkJBQ1FEUVFoQkFFRURRY0sxQVNBUUVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFmRUFJQWNRRHlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYXcwRERBSUxRUUFrQTBIQUFDQUhFQkFhSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyUlEwQklBY29BaVFnQnlnQ0hHd2lEQ0FIS0FJZ2JDRUZRUUFrQTBIQkFDQUZFQkFoQlNNRElRWkJBQ1FESUFaQkFFY2pCRUVBUjNFRVFDQUdLQUlBSUFnZ0NSQjlJZ3BGQkVBZ0JpTUVFQVlMSXdRUUF3VkJmeUVLQ3hBSElRWWdDa0VCYTBVRVFDQUdJUVVNQWdzZ0JVVUVRRUVBSkFOQkNFRUFRUU5CdWRnQ0lBOFFFU01ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhMFVOQWtFQUpBTkI4UUFnQnhBUEl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGckRRUU1BZ3RCQUNFTkEwQWdCeWdDakFFZ0J5Z0NkRWtFUUVFQUlRWURRQ0FHUVFWSEJFQWdCa0VDZENBTGFpQUZJQXdnQmlBTmFteHFOZ0lBSUFaQkFXb2hCZ3dCQ3d0QkFDUURRUmtnQnlBTFFRVVFJU0VUSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlEa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUTRMRUFjaEJpQU9RUUZyUlFSQUlBWWhCUXdFQ3lBVElBMXFJUTBNQVFzTFFRQWtBMEhDQUNBSEVCQWFJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQmlBS1FRRnJSUVJBSUFZaEJRd0NDMEVBSkFOQjhRQWdCeEFQSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEZDQUtRUUZyRFFRZ0ZDRUZEQUVMQzBFQUlRVU1Bd3RCQUNFRkRBSUxRUUFoQlF3QkN5QUJCRUFnQVNBSEtBSWNOZ0lBQ3lBQ0JFQWdBaUFIS0FJZ05nSUFDeUFEQkVBZ0F5QUhLQUlrTmdJQUN5QUVCRUFDUUFKQUFrQUNRQ0FITEFDaUFpSUFRUUZyRGdJQUFRSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lPQUlBREFVTERBSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lRMXlQSWtDVU9BSUFEQVFMREFFTElBQkIvd0Z4UVFKS0JFQWdCeTRCcEFKRkJFQWdCeTRCcGdKRkJFQWdCQ0FBUWY4QmNiSTRBZ0FNQlFzTEN3c2dCRU1BQUFBQU9BSUFDd3NnQ0JBNElBc2tCaUFGQy80VEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdCQ2dDQUNJR0lRY2dBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FKSUFGSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBSFFRSnFJUWNnQ1VFQmFpRUpJQVZCQW1vaEJRd0JDd3NnQmlFSFFRQWhDU0FCUVg5cUloRkJBWFFnQm1vaEJRTkFJQWtnQWtnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBSlFRRnFJUWtnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERrRUJJUXhCQUNFRElBQWdCQ2dDQkdvaENTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQU1JQkJPRFFJZ0F5RUFRUUVoQ2dOQUlBb2dFVWdFUUNBTkxRQUFJQTR0QUFCS0JFQUNRQ0FKUVg4NkFBQWdFa0VCZENBR2FpSURMZ0VBSWdWQkFFb0VRQ0FHSUFVN0FRQWdCVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dBMEYrYWk0QkFDSUZJUWdnQlVFQVNpRUxJQU11QVFJaUEwRUFUQVJBSUFzRVFDQUdJQVU3QVFBZ0NFRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ2tnRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFHUVg1cUxnRUFJZ05CQUVvRVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnTW9BZ0FnQ2s0TkFpQURJQW8yQWdBRklBQkIvLzhCU2cwR0lBWWdBRUVCYWlJRE93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0EwRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ2pZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FESVFBTERBRUxJQXNFUUFKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUlRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBR1FYNXFMZ0VBSWdWQkFFd0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlDQTBBQnFJZ1VvQWdBZ0Nrb0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUF5QU1JQU1vQWdCcU5nSUFDd1VnQmtFQU93RUFJQWxCQURvQUFBc2dEVUVCYWlFTklBNUJBV29oRGlBSlFRRnFJUWtnQ2tFQmFpRUtJQVpCQW1vaEJnd0JDd3NnRFVFQ2FpRU5JQTVCQW1vaERpQU1RUUZxSVF3Z0FDRURJQWxCQW1vaENTQUdRUVJxSVFZTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFRlFRRWhBRUVCSVFrZ0J5RUdBMEFnQ1NBRFRBUkFJQWtnQmlnQ0FDSU5SZ1JBSUFCQkFXb2hCd1VnQUNFSElBMUJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCaUFBTmdJQUlBY2hBQ0FKUVFGcUlRa2dCa0VFYWlFR0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCVUVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFjRFFDQUhJQUJJQkVBZ0JFR01nQWhxSUFkQkFuUWlCa0VDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dCa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQmtFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0JrRURja0VDZEdwQkFEWUNBQ0FIUVFGcUlRY01BUXNMUVFBaEFRTkFJQUVnQTBnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQnlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdCeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQjBFRGRHb2lCaUFHS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dCMEVCY2tFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQmtnRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdGhBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUlFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBSUFGQkNHb2dBVUVNYWlBQlFRUnFJQUZCRUdvUXN3a2lBRFlDQUNBQVJRUkFJQUVRT0VFQUlRRUxJQUlrQmlBQkN5QUFJQUVnQWlBRHJTQUVyVUlnaG9RZ0JTQUdJQUJCQTNGQjZnWnFFU1VBQ3lrQkFYNGdBU0FDclNBRHJVSWdob1FnQkNBQVFRTnhRYVlEYWhFVUFDSUZRaUNJcHhBRElBV25DM1lCQTM4Z0FBUi9JQUFvQWdBaUFnUi9BMEFnQWlnQ0FDRURJQUVnQWlnQ0JFZ0VRQ0FCUVFKMElBTnFLQUlBS0FJQUVEZ2dBQ2dDQUNnQ0FDQUJRUUowYWlnQ0FCQTRJQUZCQVdvaEFTQUFLQUlBSVFJTUFRc0xJQU1RT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MSUFBZ0FTQUNJQU1nQkNBRnJTQUdyVUlnaG9RZ0FFRUhjVUdlQTJvUkZRQUxCZ0JCRmhBQ0N3WUFRUlVRQWd1WkJnRUpmeU1HSVFrakJrRXdhaVFHSUFraEJrRUlFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBWkJJR29oQ0NBR1FSaHFJUUlnQmtFUWFpRUJJQVpCQ0dvaEF3SkFBa0FDUUNBSFFRUnFJZ1JCQkVFQklBQVFZVUVCUncwQUlBUW9BZ0FpQkVFQlNBMEFJQWNnQkVFQ2RCQkVJZ00yQWdBZ0EwVUVRRUVBUVFOQnVkZ0NJQUVRUFVFQkVBRUxRUUFoQVFKQUFrQURRQ0FCSUFSSUJFQWdBVUVDZENBRGFrRVFFRVFpQlRZQ0FDQUZSUTBDSUFGQkFXb2hBUXdCQ3dzTUFRdEJBRUVEUWJuWUFpQUNFRDFCQVJBQkMwRUFJUUVDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQVNBRVRnMEdJQUZCQW5RZ0Eyb2lBaWdDQUVFRWFrRUVRUUVnQUJCaFFRRkhEUUFnQWlnQ0FFRUlha0VFUVFFZ0FCQmhRUUZIRFFJZ0FpZ0NBRUVNYWtFRVFRRWdBQkJoUVFGSERRTWdBaWdDQUNJRktBSUVJQVVvQWdoc0VFUWhCU0FDS0FJQUlBVTJBZ0FnQlVVTkJDQUJRUUZxSVFFZ0FpZ0NBQ0lGS0FJQVFRRWdCU2dDQkNBRktBSUliQ0FBRUdFZ0FpZ0NBQ0lDS0FJRUlBSW9BZ2hzUmcwQkRBVUxDMEVBSVFJRFFDQUJJQUpIQkVBZ0FrRUNkQ0FEYWlnQ0FDZ0NBQkE0SUFKQkFXb2hBZ3dCQ3d0QkFDRUJBMEFnQVNBRVJnMEdJQUZCQW5RZ0Eyb29BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkJTQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTFFRQWhBZ05BSUFFZ0FrY0VRQ0FDUVFKMElBTnFLQUlBS0FJQUVEZ2dBa0VCYWlFQ0RBRUxDMEVBSVFFRFFDQUJJQVJHRFFRZ0FVRUNkQ0FEYWlnQ0FCQTRJQUZCQVdvaEFRd0FBQXNBQzBFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVNQWd0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQWlBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMSUFBUWFnd0JDeUFERURnTUFnc01BZ3RCQUVFRFFiZTBBU0FERUQwTElBY1FPQ0FBRUdwQkFDRUhDeUFHSkFZZ0J3c0dBRUVURUFJTEJnQkJFQkFDQzRJR0FRNS9Jd1loQXlNR1FlQUFhaVFHSUFBUVlFRUdhaEJFSWdoRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN5QURRY2dBYWlFSklBTkJRR3NoQ2lBRFFUaHFJUXdnQTBFd2FpRU5JQU5CS0dvaEFpQURRU0JxSVFRZ0EwRVlhaUVCSUFOQkVHb2hCeUFEUWRBQWFpRUxJQU5CQ0dvaUJpQUFOZ0lBSUFaQmdiUUJOZ0lFSUFoQi9MTUJJQVlRdkFFZ0NFR0l1UUVRc0FFaEJTQUlFRGdnQlFSL0FuOUJDQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUJFRDFCQVJBQkN3SkFBa0FnQmtFRWFpSUJRUVJCQVNBRkVHRkJBVWNOQUNBQktBSUFJZ2RCQVVnTkFDQUNJQWMyQWdCQkFFRUJRZEMwQVNBQ0VEMGdCaUFIUVFKMElnUVFSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFORUQxQkFSQUJDeUFDUVJBUVJDSUJOZ0lBSUFGRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN5QUZFTFVKSWdGRkJFQWdDaUFBTmdJQUlBcEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NoQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBVVErUUlnQlJDOENRd0RDeUFCS0FJRVFRRkhCRUFnQ1NBQU5nSUFJQWxCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDUkE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQUVRT0NBRkVHcEJBQXdEQ3lBQ0tBSUFJZ0FnQVNnQ0NEWUNCQ0FBSUFFb0FndzJBZ2dnQUNBQktBSVFOZ0lNSUFBZ0FTZ0NBRFlDQUNBQkVEZ2dCVUVFSUFSclFRSVE5QUZCQVNFRUFrQUNRQUpBQTBBQ1FDQUVJQWRPRFFNZ0MwRUVRUUVnQlJCaFFRRkhEUUFnQkVFQ2RDQUNhaUFDS0FJQUlBc3FBZ0FReEFraUFEWUNBQ0FBUlEwQ0lBUkJBV29oQkF3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBESUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUJBMEFnQVNBRVJnMENJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXNnQlJCcUlBWU1Bd3NnQWhBNERBRUxRUUJCQTBHM3RBRWdCQkE5Q3lBR0VEZ2dCUkJxUVFBTEJTQUhJQUEyQWdBZ0IwR0J0QUUyQWdSQkFFRURRWWUwQVNBSEVEMUJBQXNoRGlBREpBWWdEZ3NJQUVFRUVBSkJBQXNJQUVFQ0VBSkJBQXNQQUVFQkVBSkVBQUFBQUFBQUFBQUxEd0JCQUJBQ1JBQUFBQUFBQUFBQUM1d0RBaEYvQVgwakJpRUpJd1pCRUdva0JpQUFLQUlFc2lBQmxDQUFLZ0lNSWhPVkVMc0JJUW9nQUNnQ0NMSWdBWlFnRTVVUXV3RWhDMEVRRUVRaUJVVUVRRUVBUVFOQnVkZ0NJQWtRUFVFQkVBRUxJQWxCQ0dvaEF5QUZJQW8yQWdRZ0JTQUxOZ0lJSUFVZ0FUZ0NEQ0FGSUFvZ0Myd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDd05BSUFZZ0MwZ0VRQ0FBS2dJTUloTWdCcktVSUFHVkVMc0JJUThnRXlBR1FRRnFJZ2F5bENBQmxSQzdBU0VFSUFBb0FnZ2lBeUFFSUFRZ0Ewb2JJUkJCQUNFSElBSWhCQU5BSUFjZ0NrZ0VRQ0FBS2dJTUloTWdCN0tVSUFHVkVMc0JJUkVnRXlBSFFRRnFJZ2V5bENBQmxSQzdBU0VDSUFBb0FnUWlEaUFDSUFJZ0Rrb2JJUkpCQUNFQ1FRQWhBeUFQSVFnRFFDQUlJQkJJQkVBZ0FDZ0NBQ0FSSWd3Z0NDQU9iR3BxSVEwRFFDQU1JQkpJQkVBZ0FpQU5MUUFBYWlFQ0lBeEJBV29oRENBTlFRRnFJUTBnQTBFQmFpRUREQUVMQ3lBSVFRRnFJUWdNQVFzTElBUWdBaUFERURrNkFBQWdCRUVCYWlFRURBRUxDeUFFSVFJTUFRc0xJQWtrQmlBRkN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUhpQm1vUkRRQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUhjVUhhQm1vUkRBQUxHQUFnQVNBQ0lBTWdCQ0FGSUFCQlAzRkJtZ1pxRVFVQUN4WUFJQUVnQWlBRElBUWdBRUVmY1VINkJXb1JCd0FMRkFBZ0FTQUNJQU1nQUVFRGNVSDJCV29SQmdBTEZBQWdBU0FDSUFNZ0FFRUJjVUgwQldvUkdBQUxGQUFnQVNBQ0lBTWdBRUVCY1VIeUJXb1JHUUFMRGdBZ0FFRUJjVUdxQTJvUkN3QUxIZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0J5QUlJQUJCRDNGQmpnTnFFUTRBQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVR0dBMm9SRHdBTGtnRUJBbjhnQUFSQUlBQkJpTGtCRUxBQklnRUVRQUpBSUFGQkFFRUNFUFFCSUFFUStBSWhBaUFCUVFCQkFCRDBBU0FDUVFGcUVFUWlBRVVFUUNBQkVHcEJwTVVEUVRBMkFnQkJBQ0VBREFFTElBQWdBa0VCSUFFUVlVVUVRQ0FBRURnZ0FSQnFRUUFoQUF3QkN5QUFJQUpxUVFBNkFBQWdBUkJxQ3dWQkFDRUFDd1ZCcE1VRFFSdzJBZ0JCQUNFQUN5QUFDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJQM0ZCeGdKcUVRb0FDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJBM0ZCd2dKcUVSc0FDeGdBSUFFZ0FpQURJQVFnQlNBQVFSOXhRYUlDYWhFSUFBc1lBQ0FCSUFJZ0F5QUVJQVVnQUVFSGNVR2FBbW9SRXdBTEZnQWdBU0FDSUFNZ0JDQUFRUTl4UVlvQ2FoRUpBQXNVQUNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQUFzU0FDQUJJQUlnQUVFL2NVR0tBV29SQWdBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFQmNVR0lBV29SSWdBTEVBQWdBU0FBUWY4QWNVRUlhaEVBQUFzTkFDQUFRUUZ4UVFacUVSQUFDODhCQVFWL0l3WWhCQ01HUVNCcUpBWWdCRUVRYWlFR0lBRkZRZENGQVNnQ0FDQUFTbkpGQkVBZ0FTd0FBQVJBSUFRZ0FpZ0NBRFlDQUVFQVFRQWdBU0FFRUtrQklnY0VRQ0FBUVFSSkJIOGdBRUVDZEVIQUZXb29BZ0FRWUVFRGFnVkJBQXNpQlNBSGFrRUJhaEJFSVFNZ0JRUkFJQVlnQUVFQ2RFSEFGV29vQWdBMkFnQWdBeUFGUVFGcVFkMnpBU0FHRUtNQ0dnc2dBeUFGYWlBSFFRRnFJQUVnQWhDcEFScEJwSWdCS0FJQUlRQWdBeEJnSWdFZ0EwRUJJQUVnQUJDVEFVY2FJQU1RT0FzTEN5QUVKQVlMRVFBZ0FTQUNJQUJCQVhGQkJHb1JIZ0FMREFBZ0FTQUFRUU54RVJJQUN5a0FJQUJFQUFBQUFBQUE0RCtnbkNBQVJBQUFBQUFBQU9BL29ac2dBRVFBQUFBQUFBQUFBR1liQ3hBQUl3TkZCRUFnQUNRRElBRWtCQXNMS3dBZ0FFSC9BWEZCR0hRZ0FFRUlkVUgvQVhGQkVIUnlJQUJCRUhWQi93RnhRUWgwY2lBQVFSaDJjZ3VSQndFSWZ5QUFLQUlFSWdaQmVIRWhBZ0pBSUFaQkEzRkZCRUFnQVVHQUFra05BU0FDSUFGQkJHcFBCRUFnQWlBQmEwR00xUU1vQWdCQkFYUk5CRUFnQUE4TEN3d0JDeUFBSUFKcUlRUWdBaUFCVHdSQUlBSWdBV3NpQWtFUFRRUkFJQUFQQ3lBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdCQ0FFS0FJRVFRRnlOZ0lFSUFFZ0FoQ1FCQ0FBRHd0QnhORURLQUlBSUFSR0JFQkJ1TkVES0FJQUlBSnFJZ0lnQVUwTkFTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlESUFJZ0FXc2lBVUVCY2pZQ0JFSEUwUU1nQXpZQ0FFRzQwUU1nQVRZQ0FDQUFEd3RCd05FREtBSUFJQVJHQkVBZ0FrRzAwUU1vQWdCcUlnTWdBVWtOQVNBRElBRnJJZ0pCRDBzRVFDQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkFYSTJBZ1FnQUNBRGFpSURJQUkyQWdBZ0F5QURLQUlFUVg1eE5nSUVCU0FBSUFNZ0JrRUJjWEpCQW5JMkFnUWdBQ0FEYWlJQklBRW9BZ1JCQVhJMkFnUkJBQ0VCUVFBaEFndEJ0TkVESUFJMkFnQkJ3TkVESUFFMkFnQWdBQThMSUFRb0FnUWlBMEVDY1EwQUlBSWdBMEY0Y1dvaUJ5QUJTUTBBSUFOQkEzWWhCU0FEUVlBQ1NRUkFJQVFvQWdnaUFpQUVLQUlNSWdOR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFWMFFYOXpjVFlDQUFVZ0FpQUROZ0lNSUFNZ0FqWUNDQXNGQWtBZ0JDZ0NHQ0VJSUFRZ0JDZ0NEQ0lDUmdSQUFrQWdCRUVRYWlJRFFRUnFJZ1VvQWdBaUFnUkFJQVVoQXdVZ0F5Z0NBQ0lDUlFSQVFRQWhBZ3dDQ3dzRFFBSkFJQUpCRkdvaUJTZ0NBQ0lKUlFSQUlBSkJFR29pQlNnQ0FDSUpSUTBCQ3lBRklRTWdDU0VDREFFTEN5QURRUUEyQWdBTEJTQUVLQUlJSWdNZ0FqWUNEQ0FDSUFNMkFnZ0xJQWdFUUNBRUtBSWNJZ05CQW5SQjNOTURhaUlGS0FJQUlBUkdCRUFnQlNBQ05nSUFJQUpGQkVCQnNORURRYkRSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQXdEQ3dVZ0NFRVFhaUlESUFoQkZHb2dBeWdDQUNBRVJoc2dBallDQUNBQ1JRMENDeUFDSUFnMkFoZ2dCQ2dDRUNJREJFQWdBaUFETmdJUUlBTWdBallDR0FzZ0JDZ0NGQ0lEQkVBZ0FpQUROZ0lVSUFNZ0FqWUNHQXNMQ3dzZ0J5QUJheUlDUVJCSkJFQWdBQ0FHUVFGeElBZHlRUUp5TmdJRUlBQWdCMm9pQVNBQktBSUVRUUZ5TmdJRUJTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQUNBSGFpSURJQU1vQWdSQkFYSTJBZ1FnQVNBQ0VKQUVDeUFBRHd0QkFBdS9BUUVFZnlNR0lRVWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUdCSDhnQUNnQ0NFSC8vLy8vQjNGQmYyb2hCQ0FBS0FJRUJVRUJJUVFnQTBIL0FYRUxJUU1nQkNBRGF5QUNTUVJBSUFBZ0JDQUNJQU5xSUFScklBTWdBMEVBSUFJZ0FSQ1NCQVVnQWdSQUlBWUVmeUFBS0FJQUJTQUFDeUlFSUFOQkFuUnFJQUVnQWhDbkFTQUNJQU5xSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3lBRlFRQTJBZ0FnQVVFQ2RDQUVhaUFGRUc0TEN5QUZKQVlMc0FFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFQkN5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWtnUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2tFQ3lBRlFRQTJBZ0FnQWtFQ2RDQURhaUFGRUc0Z0FDd0FDMEVBU0FSQUlBQWdBallDQkFVZ0FDQUNPZ0FMQ3dzZ0JTUUdDN2tCQVFSL0l3WWhCU01HUVJCcUpBWWdBQ3dBQ3lJRFFRQklJZ1lFZnlBQUtBSUlRZi8vLy84SGNVRi9haUVFSUFBb0FnUUZRUW9oQkNBRFFmOEJjUXNoQXlBRUlBTnJJQUpKQkVBZ0FDQUVJQUlnQTJvZ0JHc2dBeUFEUVFBZ0FpQUJFSlFFQlNBQ0JFQWdBeUFHQkg4Z0FDZ0NBQVVnQUFzaUJHb2dBU0FDRUtnQklBSWdBMm9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFWQkFEb0FBQ0FCSUFScUlBVVFYd3NMSUFVa0JndTNBUUVFZnlNR0lRUWpCa0VRYWlRR0lBRUVRQ0FBTEFBTElnTkJBRWdFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQU5CL3dGeElRSkJDZ3NpQlNBQ2F5QUJTUVIvSUFBZ0JTQUJJQUpxSUFWcklBSWdBaERkQWlBQUxBQUxCU0FEQzBFQVNBUi9JQUFvQWdBRklBQUxJZ01nQW1vZ0FVRUFFSlVFSUFFZ0Ftb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVJCQURvQUFDQUJJQU5xSUFRUVh3c2dCQ1FHQzYwTUF5Si9BWDRDZkNNR0lRSWpCa0hnRTJva0JpQUNRZEFUYWlFYUlBSkJ5Qk5xSVE0Z0FrRzRFMm9oQ3lBQ1FiQVRhaUVQSUFKQnFCTnFJUkFnQWtHWUUyb2hEQ0FDUVpBVGFpRVJJQUpCaUJOcUlSY2dBa0dBRTJvaEVpQUNRZmdTYWlFWUlBSkI4QkpxSVJNZ0FrSG9FbW9oRkNBQ1FlQVNhaUVJSUFKQjJCSnFJUVVnQWtIUUVtb2hGU0FDUWNnU2FpRURJQUpCd0JKcUlRb2dBa0dBRW1vaEJ5QUNRWUFRYWlFR0lBSkIzQk5xSVJzZ0FrSFlFMm9oRFNBQ1FkUVRhaUVjSUFCQmliWUJFTEFCSWdrRVFBSkFJQVlnQ1JEcEFTQVZJQTAyQWdBZ0JrR3J0Z0VnRlJDREFVRUJSd1JBSUFVZ0FEWUNBRUVBUVFOQjRLNEJJQVVRUFNBSkVHcEJBQ0VBREFFTElBMG9BZ0FpQlVIQUFtd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NCQTlRUUVRQVFzZ0FVVWhIVUVBSVFvQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUZUZzBISUFZZ0NSRHBBU0FFUWNBQ2JDQURhaUVGSUJRZ0JFSEFBbXdnQTJvaUNFRzRBbW8yQWdBZ0ZDQWJOZ0lFSUFSQndBSnNJQU5xSUFaQnhhOEJJQlFRZ3dGQkFVWUVmeUFGSUFncEE3Z0NJaVNuUWYvL0FYRkJBQ0FrUW9DQS92OFBnMUFiTmdJQVFRSWhDRUVCQlNBZERRRWdBaUFBRUk0R1JRMERJQUlnQmtIL0R5QUNFR0JyRU93RUlBVWdBU0FDRUtvRElnVTJBZ0FnQlVFQVNBMEVRUUVoQ0VFQUN6WUNCQ0FHSUFrUTZRRWdGeUFFUWNBQ2JDQURhaUlXUVFocU5nSUFJQVpCN2JFQklCY1Fnd0ZCQVVjTkJDQUdJQWtRNlFFZ0RDQUVRY0FDYkNBRGFrRVFhaUlaTmdJQUlBd2dCRUhBQW13Z0Eyb2lIa0VZYWpZQ0JDQU1JQVJCd0FKc0lBTnFRU0JxTmdJSUlBd2dCRUhBQW13Z0Eyb2lIMEVvYWpZQ0RDQUdRZHF5QVNBTUVJTUJRUVJHQkg5QkFRVWdFQ0FWTmdJQUlCQWdIRFlDQkNBR1FlcXlBU0FRRUlNQlFRSkhEUVpCQUFzaEJTQUlJQXB5SVFvRFFDQUdJQWtRNlFFZ0N5QUVRY0FDYkNBRGFrRVFhaUFGUVFWMGFqWUNBQ0FMSUFSQndBSnNJQU5xSUFWQkJYUnFRUmhxTmdJRUlBc2dCRUhBQW13Z0Eyb2dCVUVGZEdwQklHbzJBZ2dnQ3lBRVFjQUNiQ0FEYWlBRlFRVjBha0VvYWpZQ0RDQUdRZHF5QVNBTEVJTUJRUVJIRFFjZ0JVRUJhaUlGUVFOSkRRQUxJQmtnQkVIQUFtd2dBMnBCOEFCcUVLa0dJQWNnRmlzRENDSWxSQUFBQUFBQUFPQy9vaUltT1FNQUlBY2dKVVFBQUFBQUFBRGdQNklpSlRrRENDQUhJQ1U1QXhBZ0J5QWxPUU1ZSUFjZ0pUa0RJQ0FISUNZNUF5Z2dCeUFtT1FNd0lBY2dKamtET0NBRVFjQUNiQ0FEYWlFSUlBUkJ3QUpzSUFOcUlSWWdCRUhBQW13Z0Eyb2hJQ0FFUWNBQ2JDQURhaUVoSUFSQndBSnNJQU5xSVNJZ0JFSEFBbXdnQTJvaEkwRUFJUVVEUUNBRlFRUkhCRUFnQkVIQUFtd2dBMnBCMEFGcUlBVkJHR3hxSUI4ckF5Z2dHU3NEQUNBRlFRUjBJQWRxS3dNQUlpYWlJQjRyQXhnZ0JVRUVkQ0FIYWlzRENDSWxvcUNnT1FNQUlBUkJ3QUpzSUFOcUlBVkJHR3hxSUNBckEwZ2dKaUFJS3dNd29pQWxJQllyQXppaW9LQTVBOWdCSUFSQndBSnNJQU5xSUFWQkdHeHFJQ01yQTJnZ0ppQWhLd05Rb2lBbElDSXJBMWlpb0tBNUErQUJJQVZCQVdvaEJRd0JDd3NnQkVFQmFpRUVJQTBvQWdBaEJRd0JDd3NnRXlBQU5nSUFJQk1nQmpZQ0JFRUFRUU5Ceks4QklCTVFQUXdHQ3lBWUlBQTJBZ0JCQUVFRFFjeXdBU0FZRUQwTUJRc2dFaUFBTmdJQUlCSWdBallDQkVFQVFRTkJvTEVCSUJJUVBRd0VDeUFSSUFBMkFnQWdFU0FFUVFGcU5nSUVRUUJCQTBIeHNRRWdFUkE5REFNTElBOGdBRFlDQUNBUElBUkJBV28yQWdSQkFFRURRZkN5QVNBUEVEME1BZ3NnRGlBQU5nSUFJQTRnQkVFQmFqWUNCRUVBUVFOQjhMSUJJQTRRUFF3QkN5QUpFR3BCaUFFUVJDSUFSUVJBUVFCQkEwRzUyQUlnR2hBOVFRRVFBUXNnQUNBRE5nSUFJQUFnRFNnQ0FEWUNCQ0FBUVFBMkFvQUJJQUJCQURZQ2FDQUtRUU54UVFOR0JFQWdBRUVDTmdKc0JTQUtRUUZ4QkVBZ0FFRUFOZ0pzQlNBQVFRRTJBbXdMQ3lBQVJBQUFBQUFBQU9BL09RTndJQUJFQUFBQUFBQUE0RDg1QTNnTUFRc2dDUkJxSUFNUU9FRUFJUUFMQlNBS0lBQTJBZ0JCQUVFRFFhdXVBU0FLRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRUUFoQUFzZ0FpUUdJQUFMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0ZJQWhCQURzQkFDQU1RUUE2QUFBTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHJnRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFsQVFGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9jQkdnc2dCVUVBT2dBQUlBSWdBMm9nQlJCZklBQXNBQXRCQUVnRVFDQUFJQUkyQWdRRklBQWdBam9BQ3dzTElBVWtCZ3RBQVFKL1FkaTFBaEJnSWdKQkRXb1FVU0lCSUFJMkFnQWdBU0FDTmdJRUlBRkJBRFlDQ0NBQlFReHFJZ0ZCMkxVQ0lBSkJBV29RVEJvZ0FDQUJOZ0lBQ3k0QUEwQWdBQ2dDQUVFQlJnMEFDeUFBS0FJQVJRUkFJQUJCQVRZQ0FDQUJRYndFRVFFQUlBQkJmellDQUFzTFZBRUJmeUFBS0FJSUJFQWdBQ0FBS0FJSUlnRkJmMm8yQWdnZ0FVVUVRQ0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxCU0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeHNBSUFBZ0FTZ0NBQ0lBTmdJQUlBQWdBQ2dDQkVFQmFqWUNCQXRPQVFOL0lBSWdBV3RCQW5ZaEJ5QUJJUUFEUUNBQUlBSkhCRUFnQkNBQUtBSUFJZ1pCL3dGeElBTWdCa0dBQVVrYk9nQUFJQVJCQVdvaEJDQUFRUVJxSVFBTUFRc0xJQWRCQW5RZ0FXb0xFUUFnQVVIL0FYRWdBaUFCUVlBQlNSc0xLUUFEUUNBQklBSkhCRUFnQXlBQkxBQUFOZ0lBSUFOQkJHb2hBeUFCUVFGcUlRRU1BUXNMSUFJTENnQWdBVUVZZEVFWWRRdEJBQU5BSUFFZ0FrY0VRQ0FCSUFFb0FnQWlBRUdBQVVrRWYwRzBpQUVvQWdBZ0FTZ0NBRUVDZEdvb0FnQUZJQUFMTmdJQUlBRkJCR29oQVF3QkN3c2dBZ3NlQUNBQlFZQUJTUVIvUWJTSUFTZ0NBQ0FCUVFKMGFpZ0NBQVVnQVFzTG5Rd0NBbjhVZkNBQUt3TUlJZ29nQUNzREtDSUxvaUFBS3dNUUlna2dBQ3NESUNJUW9xRWhCQ0FKSUFBckF4Z2lEYUlnQUNzREFDSUlJQXVpb1NFSElBZ2dFS0lnQ2lBTm9xRWlBeUFEb2lBRUlBU2lJQWNnQjZLZ29KOGlCVVFBQUFBQUFBQUFBR0lFUUNBRElBV2pJUVlnQ0NBSElBV2pJaEdpSWdNZ0NpQUVJQVdqSWcraUloT2hJaEpFQUFBQUFBQUFBQUJpQkh3Z0R5RUVJQWdoQlNBS0lRNGdFU0VISUFrRklBa2dDaUFJSUFhaUlBa2dENktoUkFBQUFBQUFBQUFBWWlJQkd5RU9RUUZCQWlBQkd5RUNJQTRnRHlBR0lBRWJJZ1NpSWhJaEV5QUlJQWtnQVJzaUJTQUdJQkVnQVJzaUI2SWlBeUFTb1NFU0lCRWdEeUFCR3lFR0lBb2dDQ0FCR3dzaERDQUlJQTJpSUFvZ0VLS2dJQWtnQzZLZ0lnaWFJQWdnQ0VRQUFBQUFBQUFBQUdNYklnaEVBQUFBQUFBQThEK2duMFFBQUFBQUFBRHdQeUFJb1orZ1JBQUFBQUFBQU9BL29pRVVJQkpFQUFBQUFBQUFBQUJpQkVBZ0RpQUdvaUFNSUFlaW9TQVNveUlPSUE2aUlBVWdCcUlnRENBRW9xRWdFeUFEb1NJRG95SUlJQWlpb0VRQUFBQUFBQUR3UDZBaENpQU9JQlFnQjZJZ0VxTWlCYUlnQ0NBVUlBU2lJQU9qSWdtaW9DSVBJQStpSUFvZ0JTQUZvaUFKSUFtaW9FUUFBQUFBQUFEd3Y2Q2lvU0lEUkFBQUFBQUFBQUFBWTBVRVFDQUZJQTRnQTU4aURDQVBvU0FLb3lJUm9xQWhBeUFKSUFnZ0VhS2dJUklnQlNBT0lBK2FJQXloSUFxaklncWlvQ0VGSUFrZ0NDQUtvcUFoQ0NBTkFud0NRQUpBQWtBZ0FrRURjVUVCYXc0Q0FBRUNDeUFJSVE0Z0NpRUlJQVVoQ2lBU0lROGdFU0VTSUFNaEVTQUVJUU1nQnlFRUlBWU1BZ3NnQlNFT0lBTWhEeUFHSVFNZ0J3d0JDeUFLSVE0Z0JTRUtJQkVoRHlBRElSRWdCQ0VESUFZaEJDQUhDeUlGb2lJVklCQWdBNklpRnFFaUUwUUFBQUFBQUFBQUFHSUVmeUFESVFjZ0RTRUpJQkFoRENBRklRWkJBQVVnQ3lBUUlBMGdCS0lnQ3lBRG9xRkVBQUFBQUFBQUFBQmlJZ0ViSVF3Z0RTQUxJQUViSWdrZ0JDQUZJQUViSWdhaUlnc2hGU0FNSUFNZ0JDQUJHeUlIb2lJRUlSWWdDeUFFb1NFVElCQWdEU0FCR3lFTElBVWdBeUFCR3lFRVFRRkJBaUFCR3dzaEFpQVRSQUFBQUFBQUFBQUFZZ1JBSUF3Z0JLSWdDeUFHb3FFZ0U2TWlBeUFEb2lBSklBU2lJQXNnQjZLaElCWWdGYUVpQmFNaUJDQUVvcUJFQUFBQUFBQUE4RCtnSVEwZ0F5QVVJQWFpSUJPaklnYWlJQVFnRkNBSG9pQUZveUlIb3FBaUN5QUxvaUFOSUFZZ0JxSWdCeUFIb3FCRUFBQUFBQUFBOEwrZ29xRWlCVVFBQUFBQUFBQUFBR05GQkVBZ0JpQURJQVdmSWhBZ0M2RWdEYU1pQ2FLZ0lRd2dCeUFFSUFtaW9DRUZJQVlnQXlBTG1pQVFvU0FOb3lJRG9xQWhCaUFISUFRZ0E2S2dJUWNDUUFKQUFrQUNRQ0FDUVFOeFFRRnJEZ0lBQVFJTElBY2hCQ0FESVFjZ0JpRURJQVVoQmlBSklRVWdEQ0VKREFJTElBWWhCQ0FNSVFZTUFRc2dBeUVFSUFZaEF5QUpJUVlnRENFSkN5QUtJQW1pSUFnZ0JhS2dJQTRnQnFLZ0lneWFJQXdnREVRQUFBQUFBQUFBQUdNYklRd2dDaUFEb2lBSUlBZWlvQ0FPSUFTaW9DSU5taUFOSUExRUFBQUFBQUFBQUFCakd5RU5JQkVnQ2FJZ0VpQUZvcUFnRHlBR29xQWlDNW9nQ3lBTFJBQUFBQUFBQUFBQVl4c2lDeUFSSUFPaUlCSWdCNktnSUE4Z0JLS2dJaENhSUJBZ0VFUUFBQUFBQUFBQUFHTWJJaEJqQkVBZ0N5QU1Zd1JBSUFzZ0RXTUVRQ0FBSUJFNUF3QWdBQ0FTT1FNSUlBQWdEemtERUNBQUlBazVBeGdnQUNBRk9RTWdJQUFnQmprREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnQUNBRE9RTVlJQUFnQnprRElDQUFJQVE1QXlnTEJTQUFJQW81QXdBZ0FDQUlPUU1JSUFBZ0Rqa0RFQ0FNSUExakJFQWdBQ0FKT1FNWUlBQWdCVGtESUNBQUlBWTVBeWdGSUFBZ0F6a0RHQ0FBSUFjNUF5QWdBQ0FFT1FNb0N3c0ZJQkFnREdNRVFDQVFJQTFqQkVBZ0FDQVJPUU1BSUFBZ0Vqa0RDQ0FBSUE4NUF4QUZJQUFnQ2prREFDQUFJQWc1QXdnZ0FDQU9PUU1RQ3lBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnRENBTll3UkFJQUFnQ1RrREdDQUFJQVU1QXlBZ0FDQUdPUU1vQlNBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBc0xDd3NMQ3dzTEMwRUFBMEFnQVNBQ1J3UkFJQUVnQVNnQ0FDSUFRWUFCU1FSL1FhU0tBU2dDQUNBQktBSUFRUUowYWlnQ0FBVWdBQXMyQWdBZ0FVRUVhaUVCREFFTEN5QUNDeDRBSUFGQmdBRkpCSDlCcElvQktBSUFJQUZCQW5ScUtBSUFCU0FCQ3d0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlR3MEFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhCRUFnQWtFRWFpRUNEQUlMQ3dzZ0FndEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJTUVJBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054RFFFTElBSkJCR29oQWd3QkN3c2dBZ3RHQUFOQUlBRWdBa2NFUUNBRElBRW9BZ0JCZ0FGSkJIOUJvSW9CS0FJQUlBRW9BZ0JCQVhScUx3RUFCVUVBQ3pzQkFDQURRUUpxSVFNZ0FVRUVhaUVCREFFTEN5QUNDeWtBSUFKQmdBRkpCSDhnQVVHZ2lnRW9BZ0FnQWtFQmRHb3VBUUJ4UWYvL0EzRkJBRWNGUVFBTEN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSE1vZ0ZCektJQkVMUUJFTXNCQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVIa29nRkI1S0lCRUxRQkVNc0JDd3dBSUFBZ0FVRVFhaERlQWdzSEFDQUFLQUlNQ3djQUlBQW9BZ2dMQ3dBZ0FCQ1pCQ0FBRURnTEhnQWdBRUlBTndJQUlBQkJBRFlDQ0NBQVFZMmpBMEdOb3dNUVlCQitDeDRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUdUb3dOQms2TURFR0FRZmdzTUFDQUFJQUZCREdvUTNnSUxCd0FnQUN3QUNRc0hBQ0FBTEFBSUN3c0FJQUFRbWdRZ0FCQTRDeW9CQVh4QmZ5QUFLd01BSUFFckF3Q2hJZ0pFQUFBQUFBQUFBQUJrSUFKRUFBQUFBQUFBQUFCakd3c3pBQU5BSUFFZ0FrY0VRQ0FFSUFFc0FBQWlBQ0FESUFCQmYwb2JPZ0FBSUFSQkFXb2hCQ0FCUVFGcUlRRU1BUXNMSUFJTEVnQWdBU0FDSUFGQkdIUkJHSFZCZjBvYkN5a0FBMEFnQVNBQ1J3UkFJQU1nQVN3QUFEb0FBQ0FEUVFGcUlRTWdBVUVCYWlFQkRBRUxDeUFDQ3dRQUlBRUxSQUFEUUNBQklBSkhCRUFnQVNBQkxBQUFJZ0JCZjBvRWYwRzBpQUVvQWdBZ0FTd0FBRUVDZEdvb0FnQkIvd0Z4QlNBQUN6b0FBQ0FCUVFGcUlRRU1BUXNMSUFJTExRQWdBVUVZZEVFWWRVRi9TZ1IvUWJTSUFTZ0NBQ0FCUVJoMFFSaDFRUUowYWlnQ0FFSC9BWEVGSUFFTEMwUUFBMEFnQVNBQ1J3UkFJQUVnQVN3QUFDSUFRWDlLQkg5QnBJb0JLQUlBSUFFc0FBQkJBblJxS0FJQVFmOEJjUVVnQUFzNkFBQWdBVUVCYWlFQkRBRUxDeUFDQ3lzQUlBRkJHSFJCR0hWQmYwb0VmMEdraWdFb0FnQWdBVUgvQVhGQkFuUnFLQUlBUWY4QmNRVWdBUXNMQ3dBZ0FCQ2JCQ0FBRURnTE53RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFFZ0FFRVFha1lFUUNBQVFRQTZBSUFCQlNBQUtBSUlHaUFCRURnTEN3c0xBQ0FBRUp3RUlBQVFPQXVRQmdFQ2Z5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBTGdFQUlnWkIvLzhEY1NJRFFmLy93d0JMQkVCQkFpRUFEQUVMSUFaQi8vOERjVUdBQVVnRVFDQUVJQVVvQWdBaUFHdEJBVWdFUUVFQklRQU1BZ3NnQlNBQVFRRnFOZ0lBSUFBZ0Jqb0FBQVVDUUNBR1FmLy9BM0ZCZ0JCSUJFQWdCQ0FGS0FJQUlnQnJRUUpJQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJCblpCd0FGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEUvY1VHQUFYSTZBQUFNQVFzZ0JrSC8vd054UVlDd0EwZ0VRQ0FFSUFVb0FnQWlBR3RCQTBnRVFFRUJJUUFNQkFzZ0JTQUFRUUZxTmdJQUlBQWdBMEVNZGtIZ0FYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVFaMlFUOXhRWUFCY2pvQUFDQUZJQVVvQWdBaUFFRUJhallDQUNBQUlBTkJQM0ZCZ0FGeU9nQUFEQUVMSUFaQi8vOERjVUdBdUFOT0JFQWdCa0gvL3dOeFFZREFBMGdFUUVFQ0lRQU1CQXNnQkNBRktBSUFJZ0JyUVFOSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CREhaQjRBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFR2RrRS9jVUdBQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRVDl4UVlBQmNqb0FBQXdCQ3lBQklBQnJRUVJJQkVCQkFTRUFEQU1MSUFCQkFtb2hCaUFBTHdFQ0lnQkJnUGdEY1VHQXVBTkhCRUJCQWlFQURBTUxJQVFnQlNnQ0FHdEJCRWdFUUVFQklRQU1Bd3NnQUVIL0IzRWdBMEhBQjNFaUIwRUtkRUdBZ0FScUlBTkJDblJCZ1BnRGNYSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBSWdCallDQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFkQkJuWkJBV29pQmtFQ2RrSHdBWEk2QUFBZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR1FRUjBRVEJ4SUFOQkFuWkJEM0Z5UVlBQmNqb0FBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQU5CQkhSQk1IRWdBRUVHZGtFUGNYSkJnQUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxDeUFDSUFJb0FnQkJBbW9pQURZQ0FBd0JDd3NnQUF1OEJnRUZmeUFDSUFBMkFnQWdCU0FETmdJQUEwQUNRQ0FDS0FJQUlnTWdBVThFUUVFQUlRQU1BUXNnQlNnQ0FDSUlJQVJQQkVCQkFTRUFEQUVMSUFNc0FBQWlCa0gvQVhFaUNVSC8vOE1BU3dSQVFRSWhBQXdCQ3lBQ0lBWkJmMG9FZnlBSUlBWkIvd0Z4T3dFQUlBTkJBV29GQW44Z0JrSC9BWEZCd2dGSUJFQkJBaUVBREFNTElBWkIvd0Z4UWVBQlNBUkFJQUVnQTJ0QkFrZ0VRRUVCSVFBTUJBc2dBeTBBQVNJQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzZ0NVRUdkRUhBRDNFZ0FFRS9jWElpQUVILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVDYWd3QkN5QUdRZjhCY1VId0FVZ0VRQ0FCSUFOclFRTklCRUJCQVNFQURBUUxJQU1zQUFFaEJ5QURMUUFDSVFBQ1FBSkFBa0FnQmtGZ2F5SUdCRUFnQmtFTlJnUkFEQUlGREFNTEFBc2dCMEhnQVhGQm9BRkhCRUJCQWlFQURBY0xEQUlMSUFkQjRBRnhRWUFCUndSQVFRSWhBQXdHQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJRc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0VDeUFBUVQ5eElBbEJESFFnQjBFL2NVRUdkSEp5SWdCQi8vOERjVUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRURhZ3dCQ3lBR1FmOEJjVUgxQVU0RVFFRUNJUUFNQXdzZ0FTQURhMEVFU0FSQVFRRWhBQXdEQ3lBRExBQUJJUWNnQXkwQUFpRUFJQU10QUFNaEF3SkFBa0FDUUFKQUlBWkJjR3NPQlFBQ0FnSUJBZ3NnQjBId0FHcEJHSFJCR0hWQi93RnhRVEJPQkVCQkFpRUFEQVlMREFJTElBZEI4QUZ4UVlBQlJ3UkFRUUloQUF3RkN3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdEQ3lBRFFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0JDQUlhMEVFU0FSQVFRRWhBQXdEQ3lBRFFUOXhJZ1lnQUVFR2RDSUtRY0FmY1NBSFFmOEJjU0lEUVF4MFFZRGdEM0VnQ1VFSGNTSUhRUkowY25KeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFnZ0EwRUVka0VEY1NBSFFRSjBja0VHZEVIQS93QnFJQU5CQW5SQlBIRWdBRUVFZGtFRGNYSnlRWUN3QTNJN0FRQWdCU0FJUVFKcU5nSUFJQWdnQmlBS1FjQUhjWEpCZ0xnRGNqc0JBaUFDS0FJQVFRUnFDd3MyQWdBZ0JTQUZLQUlBUVFKcU5nSUFEQUVMQ3lBQUM1TUVBUWQvSUFFaEJ5QUFJUUVEUUFKQUlBRWdCMGtnQmlBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NJSVFmLy93d0JMRFFBZ0EwRi9TZ1IvSUFGQkFXb0ZBbjhnQTBIL0FYRkJ3Z0ZJRFFJZ0EwSC9BWEZCNEFGSUJFQWdCeUFCYTBFQ1NBMERJQUV0QUFFaUJFSEFBWEZCZ0FGSElBaEJCblJCd0E5eElBUkJQM0Z5UWYvL3d3QkxjZzBESUFGQkFtb01BUXNnQTBIL0FYRkI4QUZJQkVBZ0J5QUJhMEVEU0EwRElBRXNBQUVoQkNBQkxRQUNJUVVDUUFKQUFrQWdBMEZnYXlJREJFQWdBMEVOUmdSQURBSUZEQU1MQUFzZ0JFSGdBWEZCb0FGSERRWU1BZ3NnQkVIZ0FYRkJnQUZIRFFVTUFRc2dCRUhBQVhGQmdBRkhEUVFMSUFWQndBRnhRWUFCUnlBRlFUOXhJQWhCREhSQmdPQURjU0FFUVQ5eFFRWjBjbkpCLy8vREFFdHlEUU1nQVVFRGFnd0JDeUFISUFGclFRUklJQUlnQm10QkFrbHlJQU5CL3dGeFFmVUJUbklOQWlBQkxBQUJJUVVnQVMwQUFpRUVJQUV0QUFNaENRSkFBa0FDUUFKQUlBTkJjR3NPQlFBQ0FnSUJBZ3NnQlVId0FHcEJHSFJCR0hWQi93RnhRVEJPRFFVTUFnc2dCVUh3QVhGQmdBRkhEUVFNQVFzZ0JVSEFBWEZCZ0FGSERRTUxJQWxCd0FGeFFZQUJSeUFKUVQ5eElBUkJCblJCd0I5eElBaEJFblJCZ0lEd0FIRWdCVUUvY1VFTWRISnlja0gvLzhNQVMzSWdCRUhBQVhGQmdBRkhjZzBDSUFaQkFXb2hCaUFCUVFScUN3c2hBU0FHUVFGcUlRWU1BUXNMSUFFZ0FHc0xDd0FnQWlBRElBUVFrd29MVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDU0NpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNSQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTEN3QWdBQkNlQkNBQUVEZ0xLZ0VCZnlBQUtBSUlJZ0FFUUNBQUVHSWhBUkNiQXlFQUlBRUVRQ0FCRUdJYUN3VkJBU0VBQ3lBQUMzTUJCSDhnQXlFRkEwQUNRQ0FDSUFWR0lBWWdCRTl5RFFBZ0FDZ0NDQkJpSVFkQkFDQUNJQVVnQW1zZ0FVSEl4UU1nQVJzUTF3RWhBeUFIQkVBZ0J4QmlHZ3NDUUFKQUlBTkJmbXNPQXdJQ0FBRUxRUUVoQXdzZ0JrRUJhaUVHSUFNZ0NHb2hDQ0FDSUFOcUlRSU1BUXNMSUFnTFVBRUVmeUFBS0FJSUVHSWhBUUovSXdZaEF5TUdRUkJxSkFZZ0F3c2tCaUFCQkVBZ0FSQmlHZ3NnQUNnQ0NDSUFCSDhnQUJCaUlRQVFtd01oQkNBQUJFQWdBQkJpR2dzZ0JFRUJSZ1ZCQVFzTG1BRUJBbjhqQmlFRkl3WkJFR29rQmlBRUlBSTJBZ0FnQUNnQ0NCQmlJUUlnQlNJQVFRQVFuZ0VoQVNBQ0JFQWdBaEJpR2dzZ0FVRUJha0VDU1FSL1FRSUZJQUZCZjJvaUFTQURJQVFvQWdCclN3Ui9RUUVGQTM4Z0FRUi9JQUFzQUFBaEFpQUVJQVFvQWdBaUEwRUJhallDQUNBRElBSTZBQUFnQUVFQmFpRUFJQUZCZjJvaEFRd0JCVUVBQ3dzTEN5RUdJQVVrQmlBR0Mva0RBUVovSXdZaERDTUdRUkJxSkFZZ0RDRUpJQUloQ0FOQUFrQWdBeUFJUmdSQUlBTWhDQXdCQ3lBSUxBQUFCRUFnQ0VFQmFpRUlEQUlMQ3dzZ0J5QUZOZ0lBSUFRZ0FqWUNBQ0FHSVFvZ0NDRUdBa0FDUUFKQUEwQUNRQ0FDSUFOR0lBVWdDa1p5RFFNZ0NTQUJLUUlBTndNQUlBQW9BZ2dRWWlFSUlBVWdCQ0FHSUFKcklBb2dCV3RCQW5VZ0FSRHdCQ0VMSUFnRVFDQUlFR0lhQ3lBTFFYOUdEUUFnQnlBSEtBSUFJQXRCQW5ScUlnVTJBZ0FnQlNBS1JnMENJQVFvQWdBaEFpQURJQVpHQkVBZ0F5RUdCU0FBS0FJSUVHSWhCZ0ovSUFVZ0FrRUJJQUVRMXdFaERTQUdCRUFnQmhCaUdnc2dEUXNFUUVFQ0lRQU1CZ3NnQnlBSEtBSUFRUVJxTmdJQUlBUWdCQ2dDQUVFQmFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdMQUFBQkVBZ0JrRUJhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NDUUFKQUEwQUNRQ0FISUFVMkFnQWdBaUFFS0FJQVJnMERJQUFvQWdnUVlpRUlJQVVnQWlBR0lBSnJJQWtRMXdFaEFTQUlCRUFnQ0JCaUdnc0NRQUpBSUFGQmZtc09Bd1FDQUFFTFFRRWhBUXNnQVNBQ2FpRUNJQWNvQWdCQkJHb2hCUXdCQ3dzZ0JDQUNOZ0lBUVFJaEFBd0VDeUFFSUFJMkFnQkJBU0VBREFNTElBUWdBallDQUNBQ0lBTkhJUUFNQWdzZ0JDZ0NBQ0VDQ3lBQ0lBTkhJUUFMSUFra0JpQUFDNWdFQVFaL0l3WWhEU01HUVJCcUpBWWdEU0lLUVFocUlRc2dBaUVJQTBBQ1FDQURJQWhHQkVBZ0F5RUlEQUVMSUFnb0FnQUVRQ0FJUVFScUlRZ01BZ3NMQ3lBSElBVTJBZ0FnQkNBQ05nSUFJQVloQ1NBSUlRWUNRQUpBQWtBRFFBSkFJQUlnQTBZZ0JTQUpSbklOQXlBS0lBRXBBZ0EzQXdBZ0FDZ0NDQkJpSVFnZ0JTQUVJQVlnQW10QkFuVWdDU0FGYXhEb0JDRU1JQWdFUUNBSUVHSWFDd0pBQWtBZ0RFRi9hdzRDQWdBQkMwRUJJUUFNQlFzZ0J5QU1JQWNvQWdCcUlnVTJBZ0FnQlNBSlJnMENJQU1nQmtZRVFDQURJUVlnQkNnQ0FDRUNCU0FBS0FJSUVHSWhCU0FMUVFBUW5nRWhBaUFGQkVBZ0JSQmlHZ3NnQWtGL1JnUkFRUUloQUF3R0N5QUNJQWtnQnlnQ0FHdExCRUJCQVNFQURBWUxJQXNoQlFOQUlBSUVRQ0FGTEFBQUlRWWdCeUFIS0FJQUlnaEJBV28yQWdBZ0NDQUdPZ0FBSUFWQkFXb2hCU0FDUVg5cUlRSU1BUXNMSUFRZ0JDZ0NBRUVFYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0tBSUFCRUFnQmtFRWFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c2dCeUFGTmdJQUEwQUNRQ0FDSUFRb0FnQkdEUUFnQWlnQ0FDRURJQUFvQWdnUVlpRUJJQVVnQXhDZUFTRURJQUVFUUNBQkVHSWFDeUFEUVg5R0RRQWdCeUFESUFjb0FnQnFJZ1UyQWdBZ0FrRUVhaUVDREFFTEN5QUVJQUkyQWdCQkFpRUFEQUlMSUFRb0FnQWhBZ3NnQWlBRFJ5RUFDeUFLSkFZZ0FBc1JBQ0FESUFKcklnQWdCQ0FBSUFSSkd3dVBBd0VCZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFLQUlBSWdCQmdIQnhRWUN3QTBZZ0FFSC8vOE1BUzNJRVFFRUNJUUFNQVFzZ0FFR0FBVWtFUUNBRUlBVW9BZ0FpQTJ0QkFVZ0VRRUVCSVFBTUFnc2dCU0FEUVFGcU5nSUFJQU1nQURvQUFBVUNRQ0FBUVlBUVNRUkFJQVFnQlNnQ0FDSURhMEVDU0FSQVFRRWhBQXdFQ3lBRklBTkJBV28yQWdBZ0F5QUFRUVoyUWNBQmNqb0FBQXdCQ3lBRUlBVW9BZ0FpQTJzaEJpQUFRWUNBQkVrRVFDQUdRUU5JQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJESFpCNEFGeU9nQUFCU0FHUVFSSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCRW5aQjhBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFTWRrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVHZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxJQUlnQWlnQ0FFRUVhaUlBTmdJQURBRUxDeUFBQzdrRkFRVi9JQUlnQURZQ0FDQUZJQU0yQWdBRFFBSkFJQUlvQWdBaUJpQUJUd1JBUVFBaEFBd0JDeUFGS0FJQUlnb2dCRThFUUVFQklRQU1BUXNnQml3QUFDSUhRZjhCY1NFRElBZEJmMG9FZnlBRFFmLy93d0JMQkg5QkFpRUFEQUlGUVFFTEJRSi9JQWRCL3dGeFFjSUJTQVJBUVFJaEFBd0RDeUFIUWY4QmNVSGdBVWdFUUNBQklBWnJRUUpJQkVCQkFTRUFEQVFMSUFZdEFBRWlBRUhBQVhGQmdBRkhCRUJCQWlFQURBUUxRUUlnQTBFR2RFSEFEM0VnQUVFL2NYSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjhBRklCRUFnQVNBR2EwRURTQVJBUVFFaEFBd0VDeUFHTEFBQklRZ2dCaTBBQWlFQUFrQUNRQUpBSUFkQllHc2lCd1JBSUFkQkRVWUVRQXdDQlF3REN3QUxJQWhCNEFGeFFhQUJSd1JBUVFJaEFBd0hDd3dDQ3lBSVFlQUJjVUdBQVVjRVFFRUNJUUFNQmdzTUFRc2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBVUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXRCQXlBQVFUOXhJQU5CREhSQmdPQURjU0FJUVQ5eFFRWjBjbklpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI5UUZPQkVCQkFpRUFEQU1MSUFFZ0JtdEJCRWdFUUVFQklRQU1Bd3NnQml3QUFTRUpJQVl0QUFJaEFDQUdMUUFESVFnQ1FBSkFBa0FDUUNBSFFYQnJEZ1VBQWdJQ0FRSUxJQWxCOEFCcVFSaDBRUmgxUWY4QmNVRXdUZ1JBUVFJaEFBd0dDd3dDQ3lBSlFmQUJjVUdBQVVjRVFFRUNJUUFNQlFzTUFRc2dDVUhBQVhGQmdBRkhCRUJCQWlFQURBUUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQU1MSUFoQlAzRWdBRUVHZEVIQUgzRWdBMEVTZEVHQWdQQUFjU0FKUVQ5eFFReDBjbkp5SWdOQi8vL0RBRXNFZjBFQ0lRQU1Bd1ZCQkFzTEN5RUFJQW9nQXpZQ0FDQUNJQUFnQm1vMkFnQWdCU0FGS0FJQVFRUnFOZ0lBREFFTEN5QUFDNFVFQVFkL0lBRWhCaUFBSVFFRFFBSkFJQUVnQmtrZ0NDQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTRUhJQU5CZjBvRWZ5QUhRZi8vd3dCTERRRWdBVUVCYWdVQ2Z5QURRZjhCY1VIQ0FVZ05BaUFEUWY4QmNVSGdBVWdFUUNBR0lBRnJRUUpJRFFNZ0FTMEFBU0lFUWNBQmNVR0FBVWNnQjBFR2RFSEFEM0VnQkVFL2NYSkIvLy9EQUV0eURRTWdBVUVDYWd3QkN5QURRZjhCY1VId0FVZ0VRQ0FHSUFGclFRTklEUU1nQVN3QUFTRUVJQUV0QUFJaEJRSkFBa0FDUUNBRFFXQnJJZ01FUUNBRFFRMUdCRUFNQWdVTUF3c0FDeUFFUWVBQmNVR2dBVWNOQmd3Q0N5QUVRZUFCY1VHQUFVY05CUXdCQ3lBRVFjQUJjVUdBQVVjTkJBc2dCVUhBQVhGQmdBRkhJQVZCUDNFZ0IwRU1kRUdBNEFOeElBUkJQM0ZCQm5SeWNrSC8vOE1BUzNJTkF5QUJRUU5xREFFTElBWWdBV3RCQkVnZ0EwSC9BWEZCOVFGT2NnMENJQUVzQUFFaEJTQUJMUUFDSVFRZ0FTMEFBeUVKQWtBQ1FBSkFBa0FnQTBGd2F3NEZBQUlDQWdFQ0N5QUZRZkFBYWtFWWRFRVlkVUgvQVhGQk1FNE5CUXdDQ3lBRlFmQUJjVUdBQVVjTkJBd0JDeUFGUWNBQmNVR0FBVWNOQXdzZ0NVSEFBWEZCZ0FGSElBbEJQM0VnQkVFR2RFSEFIM0VnQjBFU2RFR0FnUEFBY1NBRlFUOXhRUXgwY25KeVFmLy93d0JMY2lBRVFjQUJjVUdBQVVkeURRSWdBVUVFYWdzTElRRWdDRUVCYWlFSURBRUxDeUFCSUFCckN3c0FJQUlnQXlBRUVLRUtDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRb0FvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUMwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFud29oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzhNRUFRaC9Jd1loQkNNR1FiQUJhaVFHSUFSQnFBRnFJUXdnQkNFQklBUkJwQUZxSVFvZ0JFR2dBV29oQnlBRVFaZ0JhaUVDSUFSQmtBRnFJUXNnQkVHQUFXb2lDRUlBTndJQUlBaEJBRFlDQ0FOQUlBWkJBMGNFUUNBR1FRSjBJQWhxUVFBMkFnQWdCa0VCYWlFR0RBRUxDeUFDUVFBMkFnUWdBa0dzb0FFMkFnQWdCU2dDQUNBRklBVXNBQXNpQTBFQVNDSUpHeUlHSUFVb0FnUWdBMEgvQVhFZ0NSdEJBblJxSVFNZ0FVRWdhaUVKUVFBaEJRSkFBa0FEUUNBRlFRSkhJQVlnQTBseEJFQWdCeUFHTmdJQUlBSWdEQ0FHSUFNZ0J5QUJJQWtnQ2lBQ0tBSUFLQUlNUVE5eFFZNERhaEVPQUNJRlFRSkdJQVlnQnlnQ0FFWnlEUUlnQVNFR0EwQWdCaUFLS0FJQVNRUkFJQWdnQml3QUFCRE1BU0FHUVFGcUlRWU1BUXNMSUFjb0FnQWhCZ3dCQ3dzTUFRc1FBQXNDZnlBSUtBSUFJQWdnQ0N3QUMwRUFTQnNpQXlFTklBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQUdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF0QkFEWUNCQ0FMUWR5Z0FUWUNBQ0FOQ3hCZ0lBTnFJZ1VoQmlBQlFZQUJhaUVKUVFBaEFnSkFBa0FEUUNBQ1FRSkhJQU1nQlVseFJRMEJJQWNnQXpZQ0FDQUxJQXdnQXlBRFFTQnFJQVVnQmlBRGEwRWdTaHNnQnlBQklBa2dDaUFMS0FJQUtBSVFRUTl4UVk0RGFoRU9BQ0lDUVFKR0lBTWdCeWdDQUVaeVJRUkFJQUVoQXdOQUlBTWdDaWdDQUVrRVFDQUFJQU1vQWdBUWpnSWdBMEVFYWlFRERBRUxDeUFIS0FJQUlRTU1BUXNMRUFBTUFRc2dDQkJISUFRa0Jnc0xnQUlCQW44akJpRUJJd1pCRUdva0JpQUJRZ0EzQWdBZ0FVRUFOZ0lJQTBBZ0JrRURSd1JBSUFaQkFuUWdBV3BCQURZQ0FDQUdRUUZxSVFZTUFRc0xJQVVvQWdBZ0JTQUZMQUFMSWdOQkFFZ2lCQnNpQWlBRktBSUVJQU5CL3dGeElBUWJhaUVESUFJaEJRTkFJQVVnQTBrRVFDQUJJQVVzQUFBUXpBRWdCVUVCYWlFRkRBRUxDd0ovSUFFb0FnQWdBU0FCTEFBTFFRQklHeUlDSVFjZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFNRFFDQURRUU5IQkVBZ0EwRUNkQ0FBYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3NnQndzUVlDQUNhaUVEQTBBZ0FpQURTUVJBSUFBZ0Fpd0FBQkRNQVNBQ1FRRnFJUUlNQVFzTElBRVFSeUFCSkFZTHdnVUJFbjhqQmlFR0l3WkI0QU5xSkFZZ0JrSE1BMm9pQ3lBREVEc2dDMEdnemdNUU9pRU1JQVVzQUFzaUIwRUFTQ0VBSUFVb0FnUWdCMEgvQVhFZ0FCc0VmeUFGS0FJQUlBVWdBQnNvQWdBZ0RFRXRJQXdvQWdBb0FpeEJQM0ZCaWdGcUVRSUFSZ1ZCQUFzaERpQUdRZFFEYWlFUElBWkJ5QU5xSVJBZ0JrSEVBMm9oRVNBR1Fhd0RhaUVISUFaQm9BTnFJUWdnQmtHY0Eyb2hDU0FHUWJnRGFpSUtRZ0EzQWdBZ0NrRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFwcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSFFnQTNBZ0FnQjBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFJUWdBM0FnQWdDRUVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBaHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUNJQTRnQ3lBUElCQWdFU0FLSUFjZ0NDQUpFS01FSUFVc0FBc2lBRUVBU0NFU0lBVW9BZ1FnQUVIL0FYRWdFaHNpRXlBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVCYWlBVElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVDYWdzaEZpQUdJUUFnQWlBVUlCWnFhaUlDUWVRQVN3UkFJQUpCQW5RUVJDSUFJUUlnQUFSQUlBQWhEU0FDSVJVRkVBQUxCU0FBSVEwTElBMGdCa0dZQTJvZ0JrR1VBMm9nQXlnQ0JDQUZLQUlBSUFVZ0Voc2lBQ0FUUVFKMElBQnFJQXdnRGlBUElCQW9BZ0FnRVNnQ0FDQUtJQWNnQ0NBSkVLSUVJQVlnQVNnQ0FEWUNrQU1nQmlnQ21BTWhBQ0FHS0FLVUF5RUJJQVpCMEFOcUlnSWdCaWdDa0FNMkFnQWdBaUFOSUFBZ0FTQURJQVFRcFFFaEZ5QVZCRUFnRlJBNEN5QUlFRWNnQnhCSElBb1FSeUFMRUR3Z0JpUUdJQmNMdUFZQkZYOGpCaUVHSXdaQjRBZHFKQVlnQmtHSUIyb2hDQ0FHUVpBRGFpRUFJQVpCMkFkcUlna2dCa0dnQm1vaUJ6WUNBQ0FHUVpBSGFpSU5JQVU1QXdBZ0IwSGtBRUhTbmdNZ0RSQ2pBaUlIUWVNQVN3UkFFRndoQUNBSUlBVTVBd0FnQ1NBQVFkS2VBeUFJRUpzQklRQWdDU2dDQUNJSVJRUkFFQUFMSUFCQkFuUVFSQ0lISVFvZ0J3UkFJQWNoRENBQUlRc2dDaUVRSUFnaEVRVVFBQXNGSUFBaERDQUhJUXNMSUFaQjFBZHFJZzRnQXhBN0lBNUJvTTRERURvaUVpZ0NBQ2dDTUNFQUlCSWdDU2dDQUNJSElBY2dDMm9nRENBQVFROXhRWW9DYWhFSkFCb2dDd1IvSUFrb0FnQXNBQUJCTFVZRlFRQUxJUk1nQmtIY0Iyb2hGQ0FHUWRBSGFpRVZJQVpCekFkcUlSWWdCa0cwQjJvaEJ5QUdRYWdIYWlFSUlBWkJwQWRxSVFrZ0JrSEFCMm9pQ2tJQU53SUFJQXBCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dCMElBTndJQUlBZEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSGFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NFSUFOd0lBSUFoQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FJYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQWlBVElBNGdGQ0FWSUJZZ0NpQUhJQWdnQ1JDakJDQUxJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRRnFJQXNnQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRSnFDeUVaSUFZaEFDQUNJQmNnR1dwcUlnSkI1QUJMQkVBZ0FrRUNkQkJFSWdBaEFpQUFCRUFnQUNFUElBSWhHQVVRQUFzRklBQWhEd3NnRHlBR1FhQUhhaUFHUVp3SGFpQURLQUlFSUF3Z0MwRUNkQ0FNYWlBU0lCTWdGQ0FWS0FJQUlCWW9BZ0FnQ2lBSElBZ2dDUkNpQkNBR0lBRW9BZ0EyQXBnSElBWW9BcUFISVFBZ0JpZ0NuQWNoQVNBTklBWW9BcGdITmdJQUlBMGdEeUFBSUFFZ0F5QUVFS1VCSVJvZ0dBUkFJQmdRT0FzZ0NCQkhJQWNRUnlBS0VFY2dEaEE4SUJBRVFDQVFFRGdMSUJFRVFDQVJFRGdMSUFZa0JpQWFDN3dGQVJKL0l3WWhCaU1HUWJBQmFpUUdJQVpCbUFGcUlnc2dBeEE3SUF0QmdNNERFRG9oRENBRkxBQUxJZ2RCQUVnaEFDQUZLQUlFSUFkQi93RnhJQUFiQkg4Z0JTZ0NBQ0FGSUFBYkxRQUFJQXhCTFNBTUtBSUFLQUljUVQ5eFFZb0JhaEVDQUVIL0FYRkdCVUVBQ3lFT0lBWkJwQUZxSVE4Z0JrR2hBV29oRUNBR1FhQUJhaUVSSUFaQmdBRnFJUWNnQmtIMEFHb2hDQ0FHUWZBQWFpRUpJQVpCakFGcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdEaUFMSUE4Z0VDQVJJQW9nQnlBSUlBa1FwUVFnQlN3QUN5SUFRUUJJSVJJZ0JTZ0NCQ0FBUWY4QmNTQVNHeUlUSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUZxSUJNZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUpxQ3lFV0lBWWhBQ0FDSUJRZ0ZtcHFJZ0pCNUFCTEJFQWdBaEJFSWdBaEFpQUFCRUFnQUNFTklBSWhGUVVRQUFzRklBQWhEUXNnRFNBR1Fld0FhaUFHUWVnQWFpQURLQUlFSUFVb0FnQWdCU0FTR3lJQUlBQWdFMm9nRENBT0lBOGdFQ3dBQUNBUkxBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0prSUFZb0Ftd2hBQ0FHS0FKb0lRRWdCa0djQVdvaUFpQUdLQUprTmdJQUlBSWdEU0FBSUFFZ0F5QUVFSmNCSVJjZ0ZRUkFJQlVRT0FzZ0NCQkhJQWNRUnlBS0VFY2dDeEE4SUFZa0JpQVhDNjhHQVJWL0l3WWhCaU1HUWFBRGFpUUdJQVpCeUFKcUlRZ2dCa0h3QUdvaEFDQUdRWkFEYWlJSklBWkI0QUZxSWdjMkFnQWdCa0hRQW1vaURTQUZPUU1BSUFkQjVBQkIwcDRESUEwUW93SWlCMEhqQUVzRVFCQmNJUUFnQ0NBRk9RTUFJQWtnQUVIU25nTWdDQkNiQVNFQUlBa29BZ0FpQ0VVRVFCQUFDeUFBRUVRaUJ5RUtJQWNFUUNBSElRd2dBQ0VMSUFvaEVDQUlJUkVGRUFBTEJTQUFJUXdnQnlFTEN5QUdRWXdEYWlJT0lBTVFPeUFPUVlET0F4QTZJaElvQWdBb0FpQWhBQ0FTSUFrb0FnQWlCeUFISUF0cUlBd2dBRUVQY1VHS0Ftb1JDUUFhSUFzRWZ5QUpLQUlBTEFBQVFTMUdCVUVBQ3lFVElBWkJtQU5xSVJRZ0JrR1ZBMm9oRlNBR1FaUURhaUVXSUFaQjlBSnFJUWNnQmtIb0Ftb2hDQ0FHUWVRQ2FpRUpJQVpCZ0FOcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdFeUFPSUJRZ0ZTQVdJQW9nQnlBSUlBa1FwUVFnQ3lBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVCYWlBTElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVDYWdzaEdTQUdJUUFnQWlBWElCbHFhaUlDUWVRQVN3UkFJQUlRUkNJQUlRSWdBQVJBSUFBaER5QUNJUmdGRUFBTEJTQUFJUThMSUE4Z0JrSGdBbW9nQmtIY0Ftb2dBeWdDQkNBTUlBc2dER29nRWlBVElCUWdGU3dBQUNBV0xBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0xZQWlBR0tBTGdBaUVBSUFZb0F0d0NJUUVnRFNBR0tBTFlBallDQUNBTklBOGdBQ0FCSUFNZ0JCQ1hBU0VhSUJnRVFDQVlFRGdMSUFnUVJ5QUhFRWNnQ2hCSElBNFFQQ0FRQkVBZ0VCQTRDeUFSQkVBZ0VSQTRDeUFHSkFZZ0dndmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWZqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCOE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRFlDQUNBTkN5QUxFRzRnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFjZ0N4QnVJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRFlDQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEWUNBQ0FQQ3lBTEVHNGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU5nSUFJQVlnQ3hCdUlBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJRSUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkFTRUVJQVpCL3dGeEN5RUZJQUlnQVdzaUNFRUNkU0VKSUFnRVFBSkFJQWNFZnlBQUtBSUVJUVlnQUNnQ0FBVWdCa0gvQVhFaEJpQUFDeUlISVFnZ0FTQUdRUUowSUFkcVNTQUlJQUZOY1FSQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQXlBQklBSVF4d1FnQUNBREtBSUFJQU1nQXl3QUN5SUFRUUJJSWdFYklBTW9BZ1FnQUVIL0FYRWdBUnNRNFFrZ0F4QkhEQUVMSUFRZ0JXc2dDVWtFUUNBQUlBUWdCU0FKYWlBRWF5QUZJQVVRa1FRTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5QUZRUUowYWlFRUEwQWdBU0FDUndSQUlBUWdBUkJ1SUFSQkJHb2hCQ0FCUVFScUlRRU1BUXNMSUFOQkFEWUNBQ0FFSUFNUWJpQUZJQWxxSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3dzTElBTWtCZ3V3QkFFSWZ5TUdJUUFqQmtHd0Eyb2tCaUFBUWFBRGFpSUlJQUEyQWdBZ0NFR1JBVFlDQkNBQVFaQURhaUlMSUFRUU95QUxRYURPQXhBNklRY2dBRUdzQTJvaUNrRUFPZ0FBSUFBZ0FpZ0NBQ0lKTmdLVUF5QUVLQUlFSVF3Z0FFR29BMm9pQkNBQUtBS1VBellDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFaZ0RhaUFBUVpBRGFoQ21CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTJBZ0FnRFFzZ0JCQnVJQVpCQURZQ0JBVWdCRUVBTmdJQUlBWWdCQkJ1SUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUVJNENDeUFIUVRBZ0J5Z0NBQ2dDTEVFL2NVR0tBV29SQWdBaEJDQUFLQUtZQXlJSFFYeHFJUW9nQ0NnQ0FDRURBMEFDUUNBRElBcFBEUUFnQXlnQ0FDQUVSdzBBSUFOQkJHb2hBd3dCQ3dzZ0JpQURJQWNRckFvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQ1VVTkFDQUpLQUlNSWdRZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQTBVTkFnc01BZ3NnQXcwQURBRUxJQVVnQlNnQ0FFRUNjallDQUFzZ0FTZ0NBQ0VPSUFzUVBDQUlLQUlBSVFFZ0NFRUFOZ0lBSUFFRVFDQUJJQWdvQWdSQi93RnhRYXdEYWhFQkFBc2dBQ1FHSUE0TG9BVUJDMzhqQmlFSEl3WkIwQVJxSkFZZ0IwR29CR29oRGlBSElROGdCMEc0QkdvaUNTQUhRZkFBYWlJS05nSUFJQWxCa1FFMkFnUWdCMEd3QkdvaURTQUVFRHNnRFVHZ3pnTVFPaUVBSUFkQndBUnFJZ3hCQURvQUFDQUhJQUlvQWdBMkFxd0VJQVFvQWdRaEN5QUhRWUFFYWlJRUlBY29BcXdFTmdJQUlBRWdCQ0FESUEwZ0N5QUZJQXdnQUNBSklBZEJ0QVJxSUFwQmtBTnFFS1lFQkVBZ0FFSG9uUU5COHAwRElBUWdBQ2dDQUNnQ01FRVBjVUdLQW1vUkNRQWFJQWNvQXJRRUlnc2dDU2dDQUNJS2F5SUFRWWdEU2dSQUlBQkJBblpCQW1vUVJDSUFJUU1nQUFSQUlBQWhDQ0FESVJBRkVBQUxCU0FQSVFnTElBd3NBQUFFUUNBSVFTMDZBQUFnQ0VFQmFpRUlDeUFFUVNocUlRTWdCQ0VNQTBBZ0NpQUxTUVJBSUFvb0FnQWhDeUFFSVFBRFFBSkFJQUFnQTBZRVFDQURJUUFNQVFzZ0FDZ0NBQ0FMUndSQUlBQkJCR29oQUF3Q0N3c0xJQWdnQUNBTWEwRUNkVUhvblFOcUxBQUFPZ0FBSUFwQkJHb2hDaUFJUVFGcUlRZ2dCeWdDdEFRaEN3d0JDd3NnQ0VFQU9nQUFJQTRnQmpZQ0FDQVBRWVdkQXlBT0VJTUJRUUZIQkVBUUFBc2dFQVJBSUJBUU9Bc0xJQUVvQWdBaUFBUi9JQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQkNBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZWpQQXhBNklnRW9BZ0FvQWl3RklBRkI0TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUE2QUFBZ0RBc2dDeEJmSUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRG9BQUNBSUlBc1FYeUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEb0FBQ0FOQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURvQUFDQVBDeUFMRUY4Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBT2dBQUlBWWdDeEJmSUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMndJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnVkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQ2lFRUlBVkIvd0Z4Q3lFR0lBSWdBV3NpQ0FSQUFrQWdCd1IvSUFBb0FnUWhCU0FBS0FJQUJTQUZRZjhCY1NFRklBQUxJZ2NoQ1NBQklBVWdCMnBKSUFrZ0FVMXhCRUFnQTBJQU53SUFJQU5CQURZQ0NDQURJQUVnQWhEK0F5QUFJQU1vQWdBZ0F5QURMQUFMSWdCQkFFZ2lBUnNnQXlnQ0JDQUFRZjhCY1NBQkd4RGpDU0FERUVjTUFRc2dCQ0FHYXlBSVNRUkFJQUFnQkNBR0lBaHFJQVJySUFZZ0JoRGRBZ3NnQWlBR0lBRnJhaUVISUFZZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElnVnFJUVFEUUNBQklBSkhCRUFnQkNBQkVGOGdCRUVCYWlFRUlBRkJBV29oQVF3QkN3c2dBMEVBT2dBQUlBVWdCMm9nQXhCZklBWWdDR29oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMQ3dzZ0F5UUdDN1VFQVFoL0l3WWhBQ01HUVlBQmFpUUdJQUJCOEFCcUlnZ2dBRFlDQUNBSVFaRUJOZ0lFSUFCQjVBQnFJZ3NnQkJBN0lBdEJnTTRERURvaEJ5QUFRZndBYWlJS1FRQTZBQUFnQUNBQ0tBSUFJZ2syQW1nZ0JDZ0NCQ0VNSUFCQitBQnFJZ1FnQUNnQ2FEWUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUWV3QWFpQUFRZVFBYWhDb0JBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBNkFBQWdEUXNnQkJCZklBWkJBRFlDQkFVZ0JFRUFPZ0FBSUFZZ0JCQmZJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaHhCUDNGQmlnRnFFUUlBRU13QkN5QUhRVEFnQnlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQkNBQUtBSnNJZ2RCZjJvaENpQUlLQUlBSVFNRFFBSkFJQU1nQ2s4TkFDQURMUUFBSUFSQi93RnhSdzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQURJQWNRc0FvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGSUFFb0FnQkZDd1ZCQVFzaEF3SkFBa0FDUUNBSlJRMEFJQWtvQWd3aUJDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBTkZEUUlMREFJTElBTU5BQXdCQ3lBRklBVW9BZ0JCQW5JMkFnQUxJQUVvQWdBaERpQUxFRHdnQ0NnQ0FDRUJJQWhCQURZQ0FDQUJCRUFnQVNBSUtBSUVRZjhCY1VHc0Eyb1JBUUFMSUFBa0JpQU9DL3NUQWhGL0FYd2pCaUVVSXdaQkVHb2tCaUFVSVJBZ0FVRUNFRGtoRFNBQ1FRSVFPU0VQSUFRb0FnQWlCeUVDSUEwZ0QwRi9haUlSYkVFQmRDQUhhaUVGQTBBZ0N5QU5TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBTFFRRnFJUXNNQVFzTElBY2hBaUFOUVg5cUloSkJBWFFnQjJvaEJVRUFJUXNEUUNBTElBOUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU5RUUYwSUFKcUlRSWdEVUVCZENBRmFpRUZJQXRCQVdvaEN3d0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RXc2hFeUFBSUFGQkFYUkJBbXBxSVE1QkFTRU1RUUFoQlNBTlFRRnFJZ0FnQkNnQ0JHb2hDeUFBUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FNSUJGT0RRSWdCU0VBUVFFaENRTkFJQWtnRWtnRVFDQU9MUUFBSUFOS0JFQUNRQ0FMUVg4NkFBQWdFMEVCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQU1JQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFJQXRCQURvQUFBc2dEa0VDYWlFT0lBdEJBV29oQ3lBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBNXFRUVJxSVE0Z0RFRUJhaUVNSUFBaEJTQUxRUUpxSVFzZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklCQVFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lMUmdSQUlBQkJBV29oQVFVZ0FDRUJJQXRCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dEVFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0R6WUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRnFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBV296a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRlNBUUpBWWdGUXVlQlFFTGZ5TUdJUWNqQmtHQUFtb2tCaUFIUWRnQmFpRU9JQWNoRHlBSFFlZ0JhaUlKSUFkQjhBQnFJZ28yQWdBZ0NVR1JBVFlDQkNBSFFlQUJhaUlOSUFRUU95QU5RWURPQXhBNklRQWdCMEg2QVdvaURFRUFPZ0FBSUFjZ0FpZ0NBRFlDM0FFZ0JDZ0NCQ0VMSUFkQjhBRnFJZ1FnQnlnQzNBRTJBZ0FnQVNBRUlBTWdEU0FMSUFVZ0RDQUFJQWtnQjBIa0FXb2dDa0hrQUdvUXFBUUVRQ0FBUWZxY0EwR0VuUU1nQkNBQUtBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0J5Z0M1QUVpQ3lBSktBSUFJZ3BySWdCQjRnQktCRUFnQUVFQ2FoQkVJZ0FoQXlBQUJFQWdBQ0VJSUFNaEVBVVFBQXNGSUE4aENBc2dEQ3dBQUFSQUlBaEJMVG9BQUNBSVFRRnFJUWdMSUFSQkNtb2hBeUFFSVF3RFFDQUtJQXRKQkVBZ0Npd0FBQ0VMSUFRaEFBTkFBa0FnQUNBRFJnUkFJQU1oQUF3QkN5QUFMQUFBSUF0SEJFQWdBRUVCYWlFQURBSUxDd3NnQ0NBQUlBeHJRZnFjQTJvc0FBQTZBQUFnQ2tFQmFpRUtJQWhCQVdvaENDQUhLQUxrQVNFTERBRUxDeUFJUVFBNkFBQWdEaUFHTmdJQUlBOUJoWjBESUE0UWd3RkJBVWNFUUJBQUN5QVFCRUFnRUJBNEN3c2dBU2dDQUNJQUJIOGdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFVZ0FTZ0NBRVVMQlVFQkN5RURBa0FDUUFKQUlBSW9BZ0FpQUVVTkFDQUFLQUlNSWdRZ0FDZ0NFRVlFZnlBQUlBQW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdVRBUUVDZnlNR0lRWWpCa0dBQVdva0JpQUdRZlFBYWlJSElBWkI1QUJxTmdJQUlBQWdCaUFISUFNZ0JDQUZFS3dFSUFaQjZBQnFJZ05DQURjREFDQUdRZkFBYWlJRUlBWTJBZ0FnQWlnQ0FDQUJhMEVDZFNFRklBQW9BZ0FRWWlFQUlBRWdCQ0FGSUFNUS9nSWhBeUFBQkVBZ0FCQmlHZ3NnQTBGL1JnUkFFQUFGSUFJZ0EwRUNkQ0FCYWpZQ0FDQUdKQVlMQzdFQkFDTUdJUUlqQmtHZ0Eyb2tCaUFDUVpBRGFpSURJQUpCa0FOcU5nSUFJQUJCQ0dvZ0FpQURJQVFnQlNBR0VMUUtJQU1vQWdBaEJTQUNJUU1nQVNnQ0FDRUFBMEFnQXlBRlJ3UkFJQU1vQWdBaEFTQUFCSDlCQUNBQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBZ0FTQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFScU5nSVlJQVFnQVRZQ0FDQUJDMEYvRUVFYkJVRUFDeUVBSUFOQkJHb2hBd3dCQ3dzZ0FpUUdJQUFMdVFFQUl3WWhBaU1HUWZBQWFpUUdJQUpCNUFCcUlnTWdBa0hrQUdvMkFnQWdBRUVJYWlBQ0lBTWdCQ0FGSUFZUXJBUWdBeWdDQUNFRklBSWhBeUFCS0FJQUlRQURRQ0FESUFWSEJFQWdBeXdBQUNFQklBQUVmMEVBSUFBZ0FDZ0NHQ0lFSUFBb0FoeEdCSDhnQUNnQ0FDZ0NOQ0VFSUFBZ0FSQkNJQVJCUDNGQmlnRnFFUUlBQlNBQUlBUkJBV28yQWhnZ0JDQUJPZ0FBSUFFUVFndEJmeEJCR3dWQkFBc2hBQ0FEUVFGcUlRTU1BUXNMSUFJa0JpQUFDNDBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFBa0FnQVNnQ0FDSUVCRUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBRkJFQU1CQVVNQXdzQUN3c2dCVVVFUUVFQUlRUU1BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FBd0JDeUFESUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFFSC9BWEZCSlVjRVFDQUNJQUlvQWdCQkJISTJBZ0FNQVFzZ0FDZ0NBQ0lES0FJTUlnVWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRlFRUnFOZ0lNSUFVb0FnQWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQURRTUxEQUVMSUFCRkRRRUxJQUlnQWlnQ0FFRUNjallDQUFzTFVnRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbVFFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVHVWNXbzJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQVJDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFSFNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVQxSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTHF3SUJCSHhFQUFBQUFBQUE4RDhnQVNzREdDSURFT2NFSWdTaElRSWdBeERtQkNFRElBQWdCQ0FCS3dNQUlnVWdCYUlnQXFLZ09RTUFJQUFnQWlBQkt3TUFJQUVyQXdpaW9pQURJQUVyQXhDaW9Ua0RDQ0FBSUFJZ0FTc0RBQ0FCS3dNUW9xSWdBeUFCS3dNSW9xQTVBeEFnQUNBQkt3TWdPUU1ZSUFBZ0FpQUJLd01JSUFFckF3Q2lvaUFESUFFckF4Q2lvRGtESUNBQUlBUWdBaUFCS3dNSUlnVWdCYUtpb0RrREtDQUFJQUlnQVNzRENDQUJLd01Rb3FJZ0F5QUJLd01Bb3FFNUF6QWdBQ0FCS3dNb09RTTRJQUJCUUdzZ0FpQUJLd01RSUFFckF3Q2lvaUFESUFFckF3aWlvVGtEQUNBQUlBSWdBU3NERUNBQkt3TUlvcUlnQXlBQkt3TUFvcUE1QTBnZ0FDQUVJQUlnQVNzREVDSUNJQUtpb3FBNUExQWdBQ0FCS3dNd09RTllDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDVkFpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQy9ZREFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVGQWtBQ1FDQUJLQUlBSWdSRkRRQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFWRkRRTUxEQUVMSUFVRWYwRUFJUVFNQWdWQkFBc2hCQXNnQTBHQXdBQWdBQ2dDQUNJRktBSU1JZ1lnQlNnQ0VFWUVmeUFGSUFVb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDeUFES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkJHbzJBZ3dnQlNnQ0FCb0xEQUVMQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndXdBUUVDZkNBQUlBRXJBd0FpQXlBRG9pQUJLd01JSWdJZ0FxS2dJQUVyQXhBaUFpQUNvcUFpQWtRQUFBQUFBQUFBQUdFRWZDQUFSQUFBQUFBQUFQQS9PUU1BSUFCRUFBQUFBQUFBQUFBNUF3aEVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQVVnQUNBRElBS2ZJZ0tqT1FNQUlBQWdBU3NEQ0NBQ296a0RDQ0FCS3dNUUlBS2pDemtERUNBQUlBSTVBeGdnQUNBQkt3TVlPUU1nSUFBZ0FTc0RJRGtES0NBQUlBRXJBeWc1QXpBTDlBRUJBbjlCa01BRExBQUFSUVJBUVpEQUF4QndCRUJCc0xzRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQjJMd0RSdzBBQzBHUXdBTVFid3NMUWJDN0EwR1FtZ0VRVmtHOHV3TkJySm9CRUZaQnlMc0RRY2lhQVJCV1FkUzdBMEhvbWdFUVZrSGd1d05Ca0pzQkVGWkI3THNEUWJTYkFSQldRZmk3QTBIUW13RVFWa0dFdkFOQjlKc0JFRlpCa0x3RFFZU2NBUkJXUVp5OEEwR1VuQUVRVmtHb3ZBTkJwSndCRUZaQnRMd0RRYlNjQVJCV1FjQzhBMEhFbkFFUVZrSE12QU5CMUp3QkVGWUwyQUlCQW45QmdNQURMQUFBUlFSQVFZREFBeEJ3QkVCQmtMa0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJzTHNEUncwQUMwR0F3QU1RYndzTFFaQzVBMEdJbGdFUVZrR2N1UU5CcUpZQkVGWkJxTGtEUWN5V0FSQldRYlM1QTBIa2xnRVFWa0hBdVFOQi9KWUJFRlpCekxrRFFZeVhBUkJXUWRpNUEwR2dsd0VRVmtIa3VRTkJ0SmNCRUZaQjhMa0RRZENYQVJCV1FmeTVBMEg0bHdFUVZrR0l1Z05CbUpnQkVGWkJsTG9EUWJ5WUFSQldRYUM2QTBIZ21BRVFWa0dzdWdOQjhKZ0JFRlpCdUxvRFFZQ1pBUkJXUWNTNkEwR1FtUUVRVmtIUXVnTkIvSllCRUZaQjNMb0RRYUNaQVJCV1FlaTZBMEd3bVFFUVZrSDB1Z05Cd0prQkVGWkJnTHNEUWRDWkFSQldRWXk3QTBIZ21RRVFWa0dZdXdOQjhKa0JFRlpCcExzRFFZQ2FBUkJXQzN3QkFuOUI4TDhETEFBQVJRUkFRZkMvQXhCd0JFQkI4TGdESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCaUxrRFJ3MEFDMEh3dndNUWJ3c0xRZkM0QTBId2xRRVFWa0g4dUFOQi9KVUJFRllMUkFCQnlMOERMQUFBUlFSQVFjaS9BeEJ3QkVCQmpNOERRZ0EzQWdCQmxNOERRUUEyQWdCQmpNOERRYVNVQVVHa2xBRVF0QUVReXdGQnlMOERFRzhMQzBHTXp3TUxSQUJCMEw4RExBQUFSUVJBUWRDL0F4QndCRUJCbU04RFFnQTNBZ0JCb004RFFRQTJBZ0JCbU04RFFjaVVBVUhJbEFFUXRBRVF5d0ZCMEw4REVHOExDMEdZendNTFJBQkIyTDhETEFBQVJRUkFRZGkvQXhCd0JFQkJwTThEUWdBM0FnQkJyTThEUVFBMkFnQkJwTThEUWV5VUFVSHNsQUVRdEFFUXl3RkIyTDhERUc4TEMwR2t6d01MUkFCQjRMOERMQUFBUlFSQVFlQy9BeEJ3QkVCQnNNOERRZ0EzQWdCQnVNOERRUUEyQWdCQnNNOERRWnlWQVVHY2xRRVF0QUVReXdGQjRMOERFRzhMQzBHd3p3TUxNUUJCNkw4RExBQUFSUVJBUWVpL0F4QndCRUFReHdwQnZNOERRZkM0QXpZQ0FFSG92d01RYndzTFFielBBeWdDQUFzeEFFSDR2d01zQUFCRkJFQkIrTDhERUhBRVFCREdDa0hBendOQmtMa0ROZ0lBUWZpL0F4QnZDd3RCd004REtBSUFDekVBUVlqQUF5d0FBRVVFUUVHSXdBTVFjQVJBRU1VS1FjVFBBMEd3dXdNMkFnQkJpTUFERUc4TEMwSEV6d01vQWdBTGdnd0JCWDhqQmlFSEl3WkJrQUZxSkFZZ0IwSHdBR29oQ2lBSFFVQnJJUXNnQkVFQU5nSUFJQWRCZ0FGcUlnZ2dBeEE3SUFoQm9NNERFRG9oQ1NBSUVEd0Nmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWkJHSFJCR0hWQkpXc09WUllYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNBQVJjRUZ3VVhCZ2NYRnhjS0Z4Y1hGdzRQRUJjWEZ4TVZGeGNYRnhjWEZ3QUJBZ01ERnhjQkZ3Z1hGd2tMRnd3WERSY0xGeGNSRWhRWEN5QUhJQUlvQWdBMkFud2dDQ0FIS0FKOE5nSUFJQUFnQlVFWWFpQUJJQWdnQkNBSkVMRUVEQmNMSUFjZ0FpZ0NBRFlDZUNBSUlBY29BbmcyQWdBZ0FDQUZRUkJxSUFFZ0NDQUVJQWtRc0FRTUZnc2dBRUVJYWlJR0tBSUFLQUlNSVFrZ0JpQUpRZjhBY1VFSWFoRUFBQ0VHSUFjZ0FTZ0NBRFlDZENBSElBSW9BZ0EyQW13Z0JpZ0NBQ0FHSUFZc0FBc2lDVUVBU0NJTEd5RUNJQVlvQWdRZ0NVSC9BWEVnQ3h0QkFuUWdBbW9oQmlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQWlBR0VLTUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU1NS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRYUR3QUVIQThBQVFvd0UyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ3UEFBUWVEd0FCQ2pBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQ0Nnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSREJDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRBQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JDL0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSQytDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUXZRb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkM4Q2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSGc4QUJCalBFQUVLTUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFaRHhBRUdrOFFBUW93RTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1F1Z29NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnNQRUFRZER4QUJDakFUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkM1Q2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdsQkFFZ2lDeHNoQWlBR0tBSUVJQWxCL3dGeElBc2JRUUowSUFKcUlRWWdDaUFIS0FJUU5nSUFJQWdnQnlnQ0REWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRklBSWdCaENqQVRZQ0FBd0VDeUFISUFJb0FnQTJBZ2dnQ0NBSEtBSUlOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQ3ZCQXdEQ3lBSElBSW9BZ0EyQWdRZ0NDQUhLQUlFTmdJQUlBVkJGR29nQVNBSUlBUWdDUkM0Q2d3Q0N5QUhJQUlvQWdBMkFnQWdDQ0FIS0FJQU5nSUFJQUVnQ0NBRUlBa1F0d29NQVFzZ0JDQUVLQUlBUVFSeU5nSUFDeUFCS0FJQUN5RU1JQWNrQmlBTUMxa0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBRlFSUnFJQUVnQnlBRUlBTVFyd1FnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJFR29nQVNBSElBUWdBeEN3QkNBQktBSUFJUWdnQmlRR0lBZ0xXd0VEZnlNR0lRWWpCa0VRYWlRR0lBWkJCR29pQnlBREVEc2dCMEdnemdNUU9pRURJQWNRUENBR0lBSW9BZ0EyQWdBZ0J5QUdLQUlBTmdJQUlBQWdCVUVZYWlBQklBY2dCQ0FERUxFRUlBRW9BZ0FoQ0NBR0pBWWdDQXVuQVFFRWZ5TUdJUWNqQmtFUWFpUUdJQUJCQ0dvaUJpZ0NBQ2dDRkNFSUlBWWdDRUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWdRZ0J5QUNLQUlBTmdJQUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNCc2hBU0FHS0FJRUlBSkIvd0Z4SUFnYlFRSjBJQUZxSVFJZ0IwRUlhaUlHSUFjb0FnUTJBZ0FnQjBFTWFpSUlJQWNvQWdBMkFnQWdBQ0FHSUFnZ0F5QUVJQVVnQVNBQ0VLTUJJUWtnQnlRR0lBa0xZQUVDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQUNBQklBSWdBeUFFSUFWQjBQRUFRZkR4QUJDakFTRUhJQVlrQmlBSEM1MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlnUUVRQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUVEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQU1BUXNnQXlBQUtBSUFJZ1VvQWd3aUJpQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEIvd0Z4UVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZIQkVBZ0FpQUNLQUlBUVFSeU5nSUFEQUVMSUFBb0FnQWlBeWdDRENJRklBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBQTBEQ3d3QkN5QUFSUTBCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMUlCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKb0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkJsSEZxTmdJQUN5QUZKQVlMWVFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRRVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJCMGh4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRTlTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDV0FpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQzVRRUFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFJQUVvQWdBaUJFVU5BQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUZSUTBEQ3d3QkN5QUZCSDlCQUNFRURBSUZRUUFMSVFRTElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlGUWY4QmNVRVlkRUVZZFVGL1RBMEFJQU1vQWdnZ0JVRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQVdvMkFnd2dCU3dBQUJCQ0dnc01BUXNMSUFBb0FnQWlBd1IvSUFNb0Fnd2lCU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQUFKQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUw4UVFCQVg4Z0FFSUFOd01BSUFCQ0FEY0RDQ0FBUWdBM0F4QWdBRUlBTndNWUlBQkNBRGNESUNBQVFnQTNBeWdnQUVJQU53TXdJQUJDQURjRE9DQUFRVUJyUkFBQUFBQUFBUEMvT1FNQUlBQkNBRGNEU0NBQVFnQTNBMUFnQUVJQU53TllJQUJDQURjRFlDQUFSQUFBQUFBQUFQQS9PUU5vSUFCQ0FEY0RjQ0FBUWdBM0EzZ2dBRUlBTndPQUFTQUFRZ0EzQTRnQklBQkNBRGNEa0FFZ0FFSUFOd09ZQVNBQVJBQUFBQUFBQVBBL09RT2dBU0FBUWFnQmFpSUJRZ0EzQXdBZ0FVSUFOd01JSUFGQ0FEY0RFQ0FCUWdBM0F4Z2dBVUlBTndNZ0lBRkNBRGNES0NBQlFnQTNBekFnQVVJQU53TTRJQUZCUUd0Q0FEY0RBQ0FBUkFBQUFBQUFBUEMvT1FQd0FTQUFRZ0EzQS9nQklBQkNBRGNEZ0FJZ0FFSUFOd09JQWlBQVFnQTNBNUFDSUFCQ0FEY0RtQUlnQUVJQU53T2dBaUFBUkFBQUFBQUFBUEMvT1FPb0FpQUFRZ0EzQTdBQ0lBQkNBRGNEdUFJZ0FFSUFOd1BBQWlBQVFnQTNBOGdDSUFCRUFBQUFBQUFBOEQ4NUE5QUNJQUJCMkFKcUlnRkNBRGNEQUNBQlFnQTNBd2dnQVVJQU53TVFJQUZDQURjREdDQUJRZ0EzQXlBZ0FVSUFOd01vSUFGQ0FEY0RNQ0FCUWdBM0F6Z2dBVUZBYTBJQU53TUFJQUZDQURjRFNDQUJRZ0EzQTFBZ0FVSUFOd05ZSUFGQ0FEY0RZQ0FCUWdBM0EyZ2dBRVFBQUFBQUFBRHdQemtEeUFNZ0FFSUFOd1BRQXlBQVFnQTNBOWdESUFCQ0FEY0Q0QU1nQUVJQU53UG9BeUFBUWdBM0EvQURJQUJDQURjRCtBTWdBRVFBQUFBQUFBRHdQemtEZ0FRZ0FFSUFOd09JQkNBQVFnQTNBNUFFSUFCQ0FEY0RtQVFnQUVJQU53T2dCQ0FBUWdBM0E2Z0VJQUJDQURjRHNBUWdBRVFBQUFBQUFBRHdQemtEdUFRTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndjBBUUVDZjBIQXZ3TXNBQUJGQkVCQndMOERFSEFFUUVIQXR3TWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSG91QU5IRFFBTFFjQy9BeEJ2Q3d0QndMY0RRZkNYQXhCWFFjeTNBMEgzbHdNUVYwSFl0d05CL3BjREVGZEI1TGNEUVlhWUF4QlhRZkMzQTBHUW1BTVFWMEg4dHdOQm1aZ0RFRmRCaUxnRFFhQ1lBeEJYUVpTNEEwR3BtQU1RVjBHZ3VBTkJyWmdERUZkQnJMZ0RRYkdZQXhCWFFiaTRBMEcxbUFNUVYwSEV1QU5CdVpnREVGZEIwTGdEUWIyWUF4QlhRZHk0QTBIQm1BTVFWd3ZZQWdFQ2YwR3d2d01zQUFCRkJFQkJzTDhERUhBRVFFR2d0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhBdHdOSERRQUxRYkMvQXhCdkN3dEJvTFVEUWU2V0F4QlhRYXkxQTBIMmxnTVFWMEc0dFFOQi81WURFRmRCeExVRFFZV1hBeEJYUWRDMUEwR0xsd01RVjBIY3RRTkJqNWNERUZkQjZMVURRWlNYQXhCWFFmUzFBMEdabHdNUVYwR0F0Z05Cb0pjREVGZEJqTFlEUWFxWEF4QlhRWmkyQTBHeWx3TVFWMEdrdGdOQnU1Y0RFRmRCc0xZRFFjU1hBeEJYUWJ5MkEwSElsd01RVjBISXRnTkJ6SmNERUZkQjFMWURRZENYQXhCWFFlQzJBMEdMbHdNUVYwSHN0Z05CMUpjREVGZEIrTFlEUWRpWEF4QlhRWVMzQTBIY2x3TVFWMEdRdHdOQjRKY0RFRmRCbkxjRFFlU1hBeEJYUWFpM0EwSG9sd01RVjBHMHR3TkI3SmNERUZjTGZBRUNmMEdndndNc0FBQkZCRUJCb0w4REVIQUVRRUdBdFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVHWXRRTkhEUUFMUWFDL0F4QnZDd3RCZ0xVRFFlaVdBeEJYUVl5MUEwSHJsZ01RVnd0Q0FFSDR2Z01zQUFCRkJFQkIrTDRERUhBRVFFSEl6Z05DQURjQ0FFSFF6Z05CQURZQ0FFSEl6Z05CdFpZRFFiV1dBeEJnRUg1QitMNERFRzhMQzBISXpnTUxRZ0JCZ0w4RExBQUFSUVJBUVlDL0F4QndCRUJCMU00RFFnQTNBZ0JCM000RFFRQTJBZ0JCMU00RFFiNldBMEcrbGdNUVlCQitRWUMvQXhCdkN3dEIxTTREQzBJQVFZaS9BeXdBQUVVRVFFR0l2d01RY0FSQVFlRE9BMElBTndJQVFlak9BMEVBTmdJQVFlRE9BMEhIbGdOQng1WURFR0FRZmtHSXZ3TVFid3NMUWVET0F3dXBBZ0VHZkNBQkt3TVlJQUVyQXdBaUNDQUNLd01BSWdTaUlBRXJBd2dnQWlzRENDSUhvcUFnQVNzREVDQUNLd01RSWdPaW9LQWhCU0FCS3dNNElBUWdBU3NESUtJZ0J5QUJLd01vb3FBZ0F5QUJLd013b3FDZ0lRWWdBU3NEV0NBRUlBRkJRR3NpQWlzREFDSUVvaUFISUFFckEwaWlvQ0FESUFFckExQ2lvS0FpQTBRQUFBQUFBQUFBQUdFRWYwRi9CU0FBSUFnZ0E2SWdCU0FFb3FFZ0F5QURvaUlFb3prREFDQUFJQU1nQVNzRENLSWdCU0FCS3dOSW9xRWdCS001QXdnZ0FDQURJQUVyQXhDaUlBVWdBU3NEVUtLaElBU2pPUU1RSUFBZ0F5QUJLd01nb2lBR0lBSXJBd0Npb1NBRW96a0RHQ0FBSUFNZ0FTc0RLS0lnQmlBQkt3TklvcUVnQktNNUF5QWdBQ0FESUFFckF6Q2lJQVlnQVNzRFVLS2hJQVNqT1FNb1FRQUxDMElBUVpDL0F5d0FBRVVFUUVHUXZ3TVFjQVJBUWV6T0EwSUFOd0lBUWZUT0EwRUFOZ0lBUWV6T0EwSFRsZ05CMDVZREVHQVFma0dRdndNUWJ3c0xRZXpPQXdzeEFFR1l2d01zQUFCRkJFQkJtTDhERUhBRVFCRGtDa0g0emdOQmdMVUROZ0lBUVppL0F4QnZDd3RCK000REtBSUFDekVBUWFpL0F5d0FBRVVFUUVHb3Z3TVFjQVJBRU9NS1Fmek9BMEdndFFNMkFnQkJxTDhERUc4TEMwSDh6Z01vQWdBTE1RQkJ1TDhETEFBQVJRUkFRYmkvQXhCd0JFQVE0Z3BCZ004RFFjQzNBellDQUVHNHZ3TVFid3NMUVlEUEF5Z0NBQXY0Q3dFRmZ5TUdJUWNqQmtHUUFXb2tCaUFIUWZBQWFpRUtJQWRCUUdzaEN5QUVRUUEyQWdBZ0IwR0FBV29pQ0NBREVEc2dDRUdBemdNUU9pRUpJQWdRUEFKL0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQmtFWWRFRVlkVUVsYXc1VkZoY1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ3QUJGd1FYQlJjR0J4Y1hGd29YRnhjWERnOFFGeGNYRXhVWEZ4Y1hGeGNYQUFFQ0F3TVhGd0VYQ0JjWENRc1hEQmNORndzWEZ4RVNGQmNMSUFjZ0FpZ0NBRFlDZkNBSUlBY29BbncyQWdBZ0FDQUZRUmhxSUFFZ0NDQUVJQWtRdGdRTUZ3c2dCeUFDS0FJQU5nSjRJQWdnQnlnQ2VEWUNBQ0FBSUFWQkVHb2dBU0FJSUFRZ0NSQzFCQXdXQ3lBQVFRaHFJZ1lvQWdBb0Fnd2hDU0FHSUFsQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSjBJQWNnQWlnQ0FEWUNiQ0FHS0FJQUlBWWdCaXdBQ3lJQ1FRQklJZ2tiSWdzZ0JpZ0NCQ0FDUWY4QmNTQUpHMm9oQWlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQ3lBQ0VLUUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU9FS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRY1dZQTBITm1BTVFwQUUyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ6WmdEUWRXWUF4Q2tBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZkNnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGVDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRkQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JEY0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSRGJDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUTJnb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkRaQ2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSFZtQU5CNEpnREVLUUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFlQ1lBMEhsbUFNUXBBRTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1EyQW9NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQjVaZ0RRZTJZQXhDa0FUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkRYQ2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDUnNpQ3lBR0tBSUVJQUpCL3dGeElBa2JhaUVDSUFvZ0J5Z0NFRFlDQUNBSUlBY29BZ3cyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCU0FMSUFJUXBBRTJBZ0FNQkFzZ0J5QUNLQUlBTmdJSUlBZ2dCeWdDQ0RZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRdEFRTUF3c2dCeUFDS0FJQU5nSUVJQWdnQnlnQ0JEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUTFnb01BZ3NnQnlBQ0tBSUFOZ0lBSUFnZ0J5Z0NBRFlDQUNBQklBZ2dCQ0FKRU5VS0RBRUxJQVFnQkNnQ0FFRUVjallDQUFzZ0FTZ0NBQXNoRENBSEpBWWdEQXRaQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdCVUVVYWlBQklBY2dCQ0FERUxRRUlBRW9BZ0FoQ0NBR0pBWWdDQXRiQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdBQ0FGUVJCcUlBRWdCeUFFSUFNUXRRUWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQmdNNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkdHb2dBU0FISUFRZ0F4QzJCQ0FCS0FJQUlRZ2dCaVFHSUFnTG9nRUJCSDhqQmlFSEl3WkJFR29rQmlBQVFRaHFJZ1lvQWdBb0FoUWhDQ0FHSUFoQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSUVJQWNnQWlnQ0FEWUNBQ0FHS0FJQUlBWWdCaXdBQ3lJQlFRQklJZ0liSWdnZ0JpZ0NCQ0FCUWY4QmNTQUNHMm9oQVNBSFFRaHFJZ0lnQnlnQ0JEWUNBQ0FIUVF4cUlnWWdCeWdDQURZQ0FDQUFJQUlnQmlBRElBUWdCU0FJSUFFUXBBRWhDU0FISkFZZ0NRdGdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FBSUFFZ0FpQURJQVFnQlVIdG1BTkI5WmdERUtRQklRY2dCaVFHSUFjTDN3VUNBMzhHZkNNR0lRVWpCa0hnQm1va0JpQUJJQUlyQXhnZ0Fpc0RBQ0FES3dNQW9pQUNLd01JSUFNckF3Z2lDS0tnSUFJckF4QWdBeXNERUNJSm9xQ2dPUU1BSUFFZ0Fpc0RPQ0FDS3dNZ0lBTXJBd0FpQjZJZ0NDQUNLd01vb3FBZ0NTQUNLd013b3FDZ09RTUlJQUVnQWlzRFdDQUhJQUpCUUdzaUJDc0RBS0lnQWlzRFNDQURLd01JSWdpaW9DQUpJQUlyQTFDaW9LQTVBeEFnQlVIQUJHb2lBU0FISUFJckF3QWlDcUk1QXdBZ0FTQUlJQXFpT1FNSUlBRWdDaUFES3dNUUlnbWlPUU1RSUFFZ0J5QUNLd01JSWd1aU9RTVlJQUVnQ0NBTG9qa0RJQ0FCSUFrZ0M2STVBeWdnQVNBSElBSXJBeEFpREtJNUF6QWdBU0FJSUF5aU9RTTRJQUZCUUdzZ0NTQU1vamtEQUNBQklBbzVBMGdnQVNBTE9RTlFJQUVnRERrRFdDQUJJQWNnQWlzRElDSUtvamtEWUNBQklBZ2dDcUk1QTJnZ0FTQUpJQXFpT1FOd0lBRWdCeUFDS3dNb0lndWlPUU40SUFFZ0NDQUxvamtEZ0FFZ0FTQUpJQXVpT1FPSUFTQUJJQWNnQWlzRE1DSU1vamtEa0FFZ0FTQUlJQXlpT1FPWUFTQUJJQWtnREtJNUE2QUJJQUVnQ2prRHFBRWdBU0FMT1FPd0FTQUJJQXc1QTdnQklBRWdCeUFFS3dNQUlncWlPUVBBQVNBQklBZ2dDcUk1QThnQklBRWdDU0FLb2prRDBBRWdBU0FISUFJckEwZ2lDNkk1QTlnQklBRWdDQ0FMb2prRDRBRWdBU0FKSUF1aU9RUG9BU0FCSUFjZ0Fpc0RVQ0lIb2prRDhBRWdBU0FJSUFlaU9RUDRBU0FCSUFrZ0I2STVBNEFDSUFFZ0Nqa0RpQUlnQVNBTE9RT1FBaUFCSUFjNUE1Z0NJQVVRNEFwQkFDRUNBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCa2NFUUNBQ1FUQnNJQUJxSUFOQkEzUnFJZ1pFQUFBQUFBQUFBQUE1QXdCQkFDRUVSQUFBQUFBQUFBQUFJUWNEUUNBRVFReEhCRUFnQmlBSElBSkI0QUJzSUFGcUlBUkJBM1JxS3dNQUlBUkJNR3dnQldvZ0EwRURkR29yQXdDaW9DSUhPUU1BSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQVVrQmd2Y0FRRUhmeU1HSVFBakJrSFFBV29rQmlBQVFjQUJhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVHNEFXb2lCaUFFTmdJQUlBQkJvQUZxSWdSQkZDQUhJQVVnQmhCM0lna2dCR29oQlNBRUlBVWdBaENKQVNFSElBWWdBaEE3SUFaQm9NNERFRG9oQ0NBR0VEd2dDQ2dDQUNnQ01DRUtJQWdnQkNBRklBQWdDa0VQY1VHS0Ftb1JDUUFhSUFBZ0FTZ0NBRFlDdkFFZ0JpQUFLQUs4QVRZQ0FDQUdJQUFnQ1VFQ2RDQUFhaUlCSUFjZ0JHdEJBblFnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFwUUVoQ3lBQUpBWWdDd3UxQXdFUGZ5TUdJUVVqQmtIZ0Ftb2tCaUFGUWFnQ2FpRU5JQVZCbUFKcUlRQWdCVUdRQW1vaUJrSWxOd01BSUFaQkFXcEIyNVFESUFJb0FnUVFsQUloRGlBRlFkUUNhaUlISUFWQjhBRnFJZ28yQWdBUVhDRVBJQVZCd0FKcUlSQWdCVUd3QW1vaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREVFQklSSUZJQWhCQTNRUVJDSUFCRUFnQUNJTUlSTUZFQUFMQ3lBRlFkZ0NhaUlBSUFJUU95QUpJQWNnQmlBTUlBVkIwQUpxSUFWQnpBSnFJQUFRdUFRZ0FCQThJQVVnQVNnQ0FEWUN5QUlnQlNnQzBBSWhDQ0FGS0FMTUFpRUdJQUFnQlNnQ3lBSTJBZ0FnQVNBQUlBd2dDQ0FHSUFJZ0F4Q2xBU0lBTmdJQUlCSkZCRUFnRXhBNEN5QVJFRGdnQlNRR0lBQUx0UU1CRDM4akJpRUZJd1pCNEFKcUpBWWdCVUdvQW1vaERTQUZRWmdDYWlFQUlBVkJrQUpxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVIVUFtb2lCeUFGUWZBQmFpSUtOZ0lBRUZ3aER5QUZRY0FDYWlFUUlBVkJzQUpxSVFzZ0RnUi9JQUFnQWlnQ0NEWUNBQ0FBSUFRNUF3Z2dDa0VlSUE4Z0JpQUFFSGNGSUEwZ0JEa0RBQ0FLUVI0Z0R5QUdJQTBRZHdzaUFFRWRTZ1JBRUZ3aEFDQU9CSDhnQ3lBQ0tBSUlOZ0lBSUFzZ0JEa0RDQ0FISUFBZ0JpQUxFSnNCQlNBUUlBUTVBd0FnQnlBQUlBWWdFQkNiQVFzaEFDQUhLQUlBSWdZRVFDQUFJUWdnQmlJUklRa0ZFQUFMQlNBQUlRZ2dCeWdDQUNFSkN5QUZJUUFnQ1NBSUlBbHFJZ1lnQWhDSkFTRUhJQWtnQ2tZRVFDQUFJUXhCQVNFU0JTQUlRUU4wRUVRaUFBUkFJQUFpRENFVEJSQUFDd3NnQlVIWUFtb2lBQ0FDRURzZ0NTQUhJQVlnRENBRlFkQUNhaUFGUWN3Q2FpQUFFTGdFSUFBUVBDQUZJQUVvQWdBMkFzZ0NJQVVvQXRBQ0lRZ2dCU2dDekFJaEJpQUFJQVVvQXNnQ05nSUFJQUVnQUNBTUlBZ2dCaUFDSUFNUXBRRWlBRFlDQUNBU1JRUkFJQk1RT0FzZ0VSQTRJQVVrQmlBQUMvWUJBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeFFSWnlJZ2hCQVdvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBM1JCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJESEloQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJWeVFRSjBRUTlxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDL2tCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRjJvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBWFJCTEhKQkFuUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRXb2hCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUmh5UVFKMFFRdHFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkM5Z0NBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUVGSUFJb0FnUkJBWEVFUUNBRklBSVFPeUFGUWFqT0F4QTZJUUFnQlJBOElBQW9BZ0FoQWlBRklBQWdCQVIvSUFJb0FoZ0ZJQUlvQWh3TFFUOXhRYklGYWhFREFDQUZLQUlBSWdJZ0JTQUZMQUFMSWdCQkFFZ2JJUU1EUUNBRktBSUVJQUJCL3dGeElBQkJHSFJCR0hWQkFFZ2lBQnRCQW5RZ0FpQUZJQUFiYWlBRFJ3UkFJQU1vQWdBaEFpQUJLQUlBSWdBRVFDQUFLQUlZSWdRZ0FDZ0NIRVlFZnlBQUlBSWdBQ2dDQUNnQ05FRS9jVUdLQVdvUkFnQUZJQUFnQkVFRWFqWUNHQ0FFSUFJMkFnQWdBZ3RCZnhCQkJFQWdBVUVBTmdJQUN3c2dBMEVFYWlFRElBVXNBQXNoQUNBRktBSUFJUUlNQVFzTElBRW9BZ0FoQUNBRkVFY0ZJQUFvQWdBb0FoZ2hCeUFHSUFFb0FnQTJBZ0FnQlNBR0tBSUFOZ0lBSUFBZ0JTQUNJQU1nQkVFQmNTQUhRUjl4UWFJQ2FoRUlBQ0VBQ3lBR0pBWWdBQXZUQVFFSGZ5TUdJUUFqQmtIZ0FHb2tCaUFBUWRBQWFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUhJQUdvaUJpQUVOZ0lBSUFCQk1Hb2lCRUVVSUFjZ0JTQUdFSGNpQ1NBRWFpRUZJQVFnQlNBQ0VJa0JJUWNnQmlBQ0VEc2dCa0dBemdNUU9pRUlJQVlRUENBSUtBSUFLQUlnSVFvZ0NDQUVJQVVnQUNBS1FROXhRWW9DYWhFSkFCb2dBQ0FCS0FJQU5nSk1JQVlnQUNnQ1REWUNBQ0FHSUFBZ0FDQUphaUlCSUFjZ0JHc2dBR29nQlNBSFJoc2dBU0FDSUFNUWx3RWhDeUFBSkFZZ0N3ditFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFRb0FnQWlCaUVISUFFZ0FrRi9haUlRYkVFQmRDQUdhaUVGQTBBZ0NTQUJTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdCMEVDYWlFSElBbEJBV29oQ1NBRlFRSnFJUVVNQVFzTElBWWhCMEVBSVFrZ0FVRi9haUlSUVFGMElBWnFJUVVEUUNBSklBSklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUJRUUYwSUFkcUlRY2dDVUVCYWlFSklBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVIUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUTVCQVNFTVFRQWhBeUFBSUFRb0FnUnFJUWtnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnRENBUVRnMENJQU1oQUVFQklRb0RRQ0FLSUJGSUJFQWdEUzBBQUNBT0xRQUFTZ1JBSUFaQkFEc0JBQ0FKUVFBNkFBQUZBa0FnQ1VGL09nQUFJQkpCQVhRZ0Jtb2lBeTRCQUNJRlFRQktCRUFnQmlBRk93RUFJQVZCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQU5CZm1vdUFRQWlCU0VJSUFWQkFFb2hDeUFETGdFQ0lnTkJBRXdFUUNBTEJFQWdCaUFGT3dFQUlBaEJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwSUJFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQmtGK2FpNEJBQ0lEUVFCS0JFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSURLQUlBSUFwT0RRSWdBeUFLTmdJQUJTQUFRZi8vQVVvTkJpQUdJQUJCQVdvaUF6c0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBTkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQXlFQUN3d0JDeUFMQkVBQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JrRithaTRCQUNJRlFRQk1CRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBcEtCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnTWdEQ0FES0FJQWFqWUNBQXNMSUExQkFXb2hEU0FPUVFGcUlRNGdDVUVCYWlFSklBcEJBV29oQ2lBR1FRSnFJUVlNQVFzTElBMUJBbW9oRFNBT1FRSnFJUTRnREVFQmFpRU1JQUFoQXlBSlFRSnFJUWtnQmtFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCVUVCSVFCQkFTRUpJQWNoQmdOQUlBa2dBMHdFUUNBSklBWW9BZ0FpRFVZRVFDQUFRUUZxSVFjRklBQWhCeUFOUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FISVFBZ0NVRUJhaUVKSUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFWQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUhBMEFnQnlBQVNBUkFJQVJCaklBSWFpQUhRUUowSWdaQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFaQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBWkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQVpCQTNKQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnY2dCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFjb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnZEJBM1JxSWdZZ0Jpc0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFkQkFYSkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnWklCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRZHVVQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1McFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1MOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEZCRm5JaUNFRUJhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTWNpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJGWEpCRDJwQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFWGFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFc2NrRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTmFpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJHSEpCRG1wQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMM1FJQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlRVWdBaWdDQkVFQmNRUkFJQVVnQWhBN0lBVkJrTTRERURvaEFDQUZFRHdnQUNnQ0FDRUNJQVVnQUNBRUJIOGdBaWdDR0FVZ0FpZ0NIQXRCUDNGQnNnVnFFUU1BSUFVb0FnQWlBaUFGSUFVc0FBc2lBRUVBU0JzaEF3TkFJQUlnQlNBQVFSaDBRUmgxUVFCSUlnSWJJQVVvQWdRZ0FFSC9BWEVnQWh0cUlBTkhCRUFnQXl3QUFDRUNJQUVvQWdBaUFBUkFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQW9BZ0FvQWpRaEJDQUFJQUlRUWlBRVFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFGcU5nSVlJQVFnQWpvQUFDQUNFRUlMUVg4UVFRUkFJQUZCQURZQ0FBc0xJQU5CQVdvaEF5QUZMQUFMSVFBZ0JTZ0NBQ0VDREFFTEN5QUJLQUlBSVFBZ0JSQkhCU0FBS0FJQUtBSVlJUWNnQmlBQktBSUFOZ0lBSUFVZ0JpZ0NBRFlDQUNBQUlBVWdBaUFESUFSQkFYRWdCMEVmY1VHaUFtb1JDQUFoQUFzZ0JpUUdJQUFMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVMMEVOZ0lBSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDK0JEY0RBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndStDQUlRZndSOEl3WWhDU01HUVJCcUpBWWdDVUVJYWlFSUlBQW9BZ2dpQXlBQUtBSUVSZ1JBSUFFb0FnUWdBMFlFUUNBQ0tBSUVRUUZxSUFOR0JFQUNRQ0FEUVg1cUlRd0RRQ0FISUF4SUJFQWdBU2dDQUNBSFFRTjBhaUFBS0FJQUlBTWdCMnhCQTNScUlnc2dCMEVEZEdvckF3QTVBd0FnQ0NBRElBZHJRWDlxSWc0MkFnUWdDQ0FIUVFGcUlnWkJBM1FnQzJvaUR6WUNBQ0FJRUpZTElSTWdBaWdDQUNBSFFRTjBhaUFUT1FNQUlCTkVBQUFBQUFBQUFBQmlCRUFDUUNBR0lRVURRQ0FGSUFOSUJFQWdCaUVFUkFBQUFBQUFBQUFBSVJNRFFDQUVJQVZKQkVBZ0V5QUFLQUlBSUFVZ0F5QUViR3BCQTNScUt3TUFJQVJCQTNRZ0Myb3JBd0Npb0NFVElBUkJBV29oQkF3QkN3c2dBeUFGYkNFUUlBVWhCQU5BSUFRZ0EwZ0VRQ0FUSUFBb0FnQWdCQ0FRYWtFRGRHb3JBd0FnQkVFRGRDQUxhaXNEQUtLZ0lSTWdCRUVCYWlFRURBRUxDeUFCS0FJQUlBVkJBM1JxSUJNNUF3QWdCVUVCYWlFRkRBRUxDeUFKSUE0MkFnUWdDQ0FPTmdJRUlBZ2dEellDQUNBSklBRW9BZ0FnQmtFRGRHbzJBZ0FnQ0NBSkVPWUNSQUFBQUFBQUFPQS9vaUVWSUFNaEJRTkFJQVZCZjJvaUJTQUhUQTBCSUFFb0FnQWlEaUFGUVFOMGFpSUVLd01BSUJVZ0JVRURkQ0FMYWlzREFDSVdvcUVoRXlBRUlCTTVBd0FnQXlBRmJDRVBJQVVoQkFOQUlBUWdBMGdFUUNBQUtBSUFJQVFnRDJwQkEzUnFJaEFnRUNzREFDQVdJQVJCQTNRZ0Rtb3JBd0NpSUJNZ0JFRURkQ0FMYWlzREFLS2dvVGtEQUNBRVFRRnFJUVFNQVFzTERBQUFDd0FMQ3lBR0lRY01BUXNMQWtBQ1FDQURRUUZLQkg4Z0FTZ0NBQ0lOSUF4QkEzUnFJQUFvQWdBaUFTQU1JQU1nREd3aUJtcEJBM1JxS3dNQU9RTUFJQUlvQWdBZ0RFRURkR29nQmlBRFFYOXFJZ0pxUVFOMElBRnFLd01BT1FNQUlBRWhCaUFOSVFFTUFRVWdBMEVCUmdSL1FRQWhBaUFBS0FJQUlRWWdBU2dDQUNFQkRBSUZJQU1MQ3lFS0RBRUxJQU1oRFNBQ0lBSWdBMnhxUVFOMElBWnFLd01BSVJRZ0FrRURkQ0FCYWlFUlFSd2hFZ3NEUUNBU1FSeEdCRUFnRVNBVU9RTUFJQTBoQ2dzZ0NrRUFUQVJBUVFBaEFBd0NDeUFBS0FJQUlBcEJmMm9pRFNBRGJFRURkR29oQmlBS0lBeE1CRUFDUUNBRElBMXJRWDlxSVFVZ0NrRURkQ0FHYWlFSElBb2hBZ05BSUFJZ0EwNE5BU0FKSUFVMkFnUWdDQ0FGTmdJRUlBZ2dCellDQUNBSklBQW9BZ0FnQ2lBQ0lBTnNJZ1JxUVFOMGFqWUNBQ0FJSUFrUTVnSWhFeUFLSVFFRFFDQUJJQU5JQkVBZ0FDZ0NBQ0FCSUFScVFRTjBhaUlMSUFzckF3QWdFeUFCUVFOMElBWnFLd01Bb3FFNUF3QWdBVUVCYWlFQkRBRUxDeUFDUVFGcUlRSU1BQUFMQUFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FCUVFOMElBWnFSQUFBQUFBQUFBQUFPUU1BSUFGQkFXb2hBUXdCQ3d0RUFBQUFBQUFBOEQ4aEZDQU5RUU4wSUFacUlSRkJIQ0VTREFBQUN3QUxCVUYvSVFBTEJVRi9JUUFMQlVGL0lRQUxJQWtrQmlBQUM1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMvQkRzQkFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1U0J3RU9meU1HSVFnakJrR3dBbW9rQmlBQ0VKd0JJUThnQWlBSVFhQUJhaERzQVNFUUlBaEJvQUpxSWdvZ0FpQUlRYXdDYWhEckFTQUlRWlFDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFoQmtBSnFJZ3NnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0NFR01BbW9pRENBSU5nSUFJQWhCaUFKcUlnMUJBRFlDQUNBQUtBSUFJZ0loRGdOQUFrQWdBZ1IvSUFJb0Fnd2lCaUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloRWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FSS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0IwVU5Bd3NNQVFzZ0J3Ui9RUUFoQmd3Q0JVRUFDeUVHQ3lBTEtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdkQi93RnhJQWRCQUVnYklnZHFSZ1JBSUFVZ0IwRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXNnQnlBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTElBOGdDU0FMSUEwZ0NDZ0NyQUlnQ2lBSUlBd2dFQkRPQVEwQUlBSW9BZ3dpQmlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQVpCQkdvMkFnd2dCaWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0JrVU5BQ0FHS0FJTUlnUWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFU0lBVVFSeUFLRUVjZ0NDUUdJQklMU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUJBN0lBSkJvTTRERURvaUFDZ0NBQ2dDTUNFRElBQkI4TzhBUVlyd0FDQUJJQU5CRDNGQmlnSnFFUWtBR2lBQ0VEd2dBaVFHSUFFTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTUVFTndNQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzdZSEFROS9Jd1loQmlNR1FkQUNhaVFHSUFaQnVBSnFJZ29nQWlBR1FhQUJhaUlRSUFaQnlBSnFJQVpCeEFKcUVPVUNJQVpCckFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrR29BbW9pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRYVFDYWlJTklBWTJBZ0FnQmtHZ0Ftb2lEa0VBTmdJQUlBWkJ6UUpxSWd0QkFUb0FBQ0FHUWN3Q2FpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBc2dDeUFSSUFrZ0RDQUdLQUxJQWlBR0tBTEVBaUFLSUFZZ0RTQU9JQkFRNUFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3UyQndFUGZ5TUdJUVlqQmtIUUFtb2tCaUFHUWJnQ2FpSUtJQUlnQmtHZ0FXb2lFQ0FHUWNnQ2FpQUdRY1FDYWhEbEFpQUdRYXdDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnFBSnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrR2tBbW9pRFNBR05nSUFJQVpCb0FKcUlnNUJBRFlDQUNBR1FjMENhaUlMUVFFNkFBQWdCa0hNQW1vaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdvQWdBTElBc2dFU0FKSUF3Z0JpZ0N5QUlnQmlnQ3hBSWdDaUFHSUEwZ0RpQVFFT1FDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVFYWpZQ0RDQUhLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXd3UTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx0Z2NCRDM4akJpRUdJd1pCMEFKcUpBWWdCa0c0QW1vaUNpQUNJQVpCb0FGcUloQWdCa0hJQW1vZ0JrSEVBbW9RNVFJZ0JrR3NBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWFnQ2FpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnBBSnFJZzBnQmpZQ0FDQUdRYUFDYWlJT1FRQTJBZ0FnQmtITkFtb2lDMEVCT2dBQUlBWkJ6QUpxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQ3lBTElCRWdDU0FNSUFZb0FzZ0NJQVlvQXNRQ0lBb2dCaUFOSUE0Z0VCRGtBZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJCR28yQWd3Z0J5Z0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1RRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEM4Y0hBUTUvSXdZaENDTUdRYkFDYWlRR0lBaEJvQUZxSVEwZ0NFR1lBbW9oQmlBSVFhUUNhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FhRE9BeEE2SWdBb0FnQW9BakFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQmlBSnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdVQW1vaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUVpBQ2FpSVBJQWcyQWdBZ0NFR01BbW9pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoREVFQUlRTkJBUVZCQUFzRlFRQWhERUVBSVFOQkFRc2hDUUpBQWtBZ0FpZ0NBQ0lIUlEwQUlBY29BZ3dpRVNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FKUlEwREN3d0JDeUFKQkg5QkFDRUhEQUlGUVFBTElRY0xJQW9vQWdBZ0FDQUdLQUlFSUFZc0FBc2lDVUgvQVhFZ0NVRUFTQnNpQ1dwR0JFQWdCaUFKUVFGMEVFb2dCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NpQUpJQVlvQWdBZ0JpQUdMQUFMUVFCSUd5SUFhallDQUFzZ0F5Z0NEQ0lKSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXRCRUNBQUlBb2dFRUVBSUFzZ0NDQVBJQTBRemdFTkFDQURLQUlNSWdjZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRRUZRUUFMQlVFQkN5RUFBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSURJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBRUlBUW9BZ0JCQW5JMkFnQUxJQUVvQWdBaEV5QUdFRWNnQ3hCSElBZ2tCaUFUQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ09DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTkN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNNQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0xDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDSUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNHQ3lFSElBWWtCaUFIQzVBQkFnTi9BbndnQUNBQUVPWUNueUlFUkFBQUFBQUFBQUFBWWdSQUlBU2FJQVFnQUNnQ0FDSUJLd01BSWdWRUFBQUFBQUFBQUFCakd5RUVJQUVnQlNBRW9DSUZPUU1BUkFBQUFBQUFBUEEvSUFRZ0JhS2ZveUVGSUFBb0FnUWhBa0VBSVFBRFFDQUFJQUpJQkVBZ0FFRURkQ0FCYWlJRElBVWdBeXNEQUtJNUF3QWdBRUVCYWlFQURBRUxDd3NnQkpvTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSVVMSVFjZ0JpUUdJQWNMN1FJQkJIOGpCaUVHSXdaQk1Hb2tCaUFHUVNocUlRY2dCa0VnYWlFSUlBTW9BZ1JCQVhFRVFDQUhJQU1RT3lBSFFhRE9BeEE2SVFrZ0J4QThJQWNnQXhBN0lBZEJxTTRERURvaEF5QUhFRHdnQXlnQ0FDZ0NHQ0VBSUFZZ0F5QUFRVDl4UWJJRmFoRURBQ0FES0FJQUtBSWNJUUFnQmtFTWFpQURJQUJCUDNGQnNnVnFFUU1BSUFZZ0FpZ0NBRFlDR0NBSElBWW9BaGcyQWdBZ0JTQUJJQWNnQmlBR1FSaHFJZ0FnQ1NBRVFRRVFsUUlnQmtZNkFBQWdBU2dDQUNFQkEwQWdBRUYwYWlJQUVFY2dBQ0FHUncwQUN3VWdDRUYvTmdJQUlBQW9BZ0FvQWhBaENTQUdJQUVvQWdBMkFpUWdCaUFDS0FJQU5nSWNJQVlnQmlnQ0pEWUNBQ0FISUFZb0FodzJBZ0FnQVNBQUlBWWdCeUFESUFRZ0NDQUpRVDl4UWNZQ2FoRUtBRFlDQUFKQUFrQUNRQUpBSUFnb0FnQU9BZ0FCQWdzZ0JVRUFPZ0FBREFJTElBVkJBVG9BQUF3QkN5QUZRUUU2QUFBZ0JFRUVOZ0lBQ3lBQktBSUFJUUVMSUFZa0JpQUJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZRUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2Z1EzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdndRN0FRQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3UVEzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM4WUhBUTkvSXdZaEJpTUdRZkFCYWlRR0lBWkIyQUZxSWdvZ0FpQUdRYUFCYWlJUUlBWkI1d0ZxSUFaQjVnRnFFT2tDSUFaQnpBRnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0hJQVdvaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWNRQmFpSU5JQVkyQWdBZ0JrSEFBV29pRGtFQU5nSUFJQVpCNVFGcUlndEJBVG9BQUNBR1FlUUJhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEIvd0Z4SUFzZ0VTQUpJQXdnQml3QTV3RWdCaXdBNWdFZ0NpQUdJQTBnRGlBUUVPZ0NEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MeGdjQkQzOGpCaUVHSXdaQjhBRnFKQVlnQmtIWUFXb2lDaUFDSUFaQm9BRnFJaEFnQmtIbkFXb2dCa0htQVdvUTZRSWdCa0hNQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FjZ0JhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJ4QUZxSWcwZ0JqWUNBQ0FHUWNBQmFpSU9RUUEyQWdBZ0JrSGxBV29pQzBFQk9nQUFJQVpCNUFGcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWdDeUFSSUFrZ0RDQUdMQURuQVNBR0xBRG1BU0FLSUFZZ0RTQU9JQkFRNkFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFGcU5nSU1JQWNzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTU1FT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dkdCd0VQZnlNR0lRWWpCa0h3QVdva0JpQUdRZGdCYWlJS0lBSWdCa0dnQVdvaUVDQUdRZWNCYWlBR1FlWUJhaERwQWlBR1Fjd0JhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCeUFGcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtIRUFXb2lEU0FHTmdJQUlBWkJ3QUZxSWc1QkFEWUNBQ0FHUWVVQmFpSUxRUUU2QUFBZ0JrSGtBV29pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRZjhCY1NBTElCRWdDU0FNSUFZc0FPY0JJQVlzQU9ZQklBb2dCaUFOSUE0Z0VCRG9BZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJBV28yQWd3Z0J5d0FBQkJDR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXhBUTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzBFQkFuOGdBQ2dDQkNFQklBQW9BZ0FnQUNnQ0NDSUNRUUYxYWlFQUlBSkJBWEVFUUNBQklBQW9BZ0JxS0FJQUlRRUxJQUFnQVVIL0FYRkJyQU5xRVFFQUN3MEFJQUFvQWdBb0FnQVFvUXNMSndFQmZ5QUJLQUlBSVFNZ0FTZ0NCQ0VCSUFBZ0FqWUNBQ0FBSUFNMkFnUWdBQ0FCTmdJSUN5RUJBWDlCak00RFFZek9BeWdDQUNJQlFRRnFOZ0lBSUFBZ0FVRUJhallDQkF0dEFRUi9Jd1loQVNNR1FUQnFKQVlnQVVFWWFpRURJQUZCandFMkFoQWdBVUVBTmdJVUlBRkJJR29pQWlBQktRSVFOd0lBSUFFZ0FpQUFFS01MSUFBb0FnQkJmMGNFUUNBQ0lBRTJBZ0FnQXlBQ05nSUFJQUFnQXhEcENRc2dBQ2dDQkVGL2FpRUVJQUVrQmlBRUM5Y0hBUTUvSXdZaENDTUdRZkFCYWlRR0lBaEJvQUZxSVEwZ0NFSFFBV29oQmlBSVFkd0JhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FZRE9BeEE2SWdBb0FnQW9BaUFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQndBRnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUhNQVdvaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUWNnQmFpSVBJQWcyQWdBZ0NFSEVBV29pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFTVFRQWhBMEVCQlVFQUN3VkJBQ0VNUVFBaEEwRUJDeUVKQWtBQ1FDQUNLQUlBSWdkRkRRQWdCeWdDRENJUklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU3dBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NVVU5Bd3NNQVFzZ0NRUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBS0tBSUFJQUFnQmlnQ0JDQUdMQUFMSWdsQi93RnhJQWxCQUVnYklnbHFSZ1JBSUFZZ0NVRUJkQkJLSUFZZ0Jpd0FDMEVBU0FSL0lBWW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQW9nQ1NBR0tBSUFJQVlnQml3QUMwRUFTQnNpQUdvMkFnQUxJQU1vQWd3aUNTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4UVJBZ0FDQUtJQkJCQUNBTElBZ2dEeUFORU5BQkRRQWdBeWdDRENJSElBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFBQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdNZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQURMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QUJLQUlBSVJNZ0JoQkhJQXNRUnlBSUpBWWdFd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW9Bc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbndzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Rc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbXdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1Rc2hCeUFHSkFZZ0J3dnRBZ0VFZnlNR0lRWWpCa0V3YWlRR0lBWkJLR29oQnlBR1FTQnFJUWdnQXlnQ0JFRUJjUVJBSUFjZ0F4QTdJQWRCZ000REVEb2hDU0FIRUR3Z0J5QURFRHNnQjBHUXpnTVFPaUVESUFjUVBDQURLQUlBS0FJWUlRQWdCaUFESUFCQlAzRkJzZ1ZxRVFNQUlBTW9BZ0FvQWh3aEFDQUdRUXhxSUFNZ0FFRS9jVUd5QldvUkF3QWdCaUFDS0FJQU5nSVlJQWNnQmlnQ0dEWUNBQ0FGSUFFZ0J5QUdJQVpCR0dvaUFDQUpJQVJCQVJDV0FpQUdSam9BQUNBQktBSUFJUUVEUUNBQVFYUnFJZ0FRUnlBQUlBWkhEUUFMQlNBSVFYODJBZ0FnQUNnQ0FDZ0NFQ0VKSUFZZ0FTZ0NBRFlDSkNBR0lBSW9BZ0EyQWh3Z0JpQUdLQUlrTmdJQUlBY2dCaWdDSERZQ0FDQUJJQUFnQmlBSElBTWdCQ0FJSUFsQlAzRkJ4Z0pxRVFvQU5nSUFBa0FDUUFKQUFrQWdDQ2dDQUE0Q0FBRUNDeUFGUVFBNkFBQU1BZ3NnQlVFQk9nQUFEQUVMSUFWQkFUb0FBQ0FFUVFRMkFnQUxJQUVvQWdBaEFRc2dCaVFHSUFFTFFRRUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTZ0NBQ0FBUVFSMGFpSURRWUNBZ0lCL2NTRUFJQU1nQUNBQVFSaDJjbk1oQUNBQlFRUnFJUUVNQVFzTElBQUxHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhESEJBdFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFb0FnQWlBQ0FES0FJQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRUnFJUU1nQVVFRWFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTFB3RUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTd0FBQ0FBUVFSMGFpSUFRWUNBZ0lCL2NTSURJQU5CR0haeUlBQnpJUUFnQVVFQmFpRUJEQUVMQ3lBQUN6MEJBWDhnQUFSL0lBQW9BZ0FpQVFSL0lBRW9BcmdCRURnZ0FDZ0NBQ2dDdkFFUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeEQrQXd0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVzQUFBaUFDQURMQUFBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFGcUlRTWdBVUVCYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMSWdFQmZ5QUFCRUFnQUNnQ0FDZ0NCQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3UxQWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUVJxSVFNZ0JVRUlhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBRUVJNkFBQWdBQ2dDSkNJSEtBSUFLQUlNSVFnQ2Z3SkFBa0FDUUNBSElBQW9BaWdnQkNBRVFRRnFJQVVnQWlBQ1FRaHFJQU1nQ0VFUGNVR09BMm9SRGdCQkFXc09Bd0lDQUFFTElBSWdCaWdDQURvQUFDQURJQUpCQVdvMkFnQUxBMEFnQXlnQ0FDSUVJQUpOQkVCQkFTRURRUUFNQXdzZ0F5QUVRWDlxSWdRMkFnQWdCQ3dBQUNBQUtBSWdFTzhCUVg5SERRQUxDMEVBSVFOQmZ3c2hBaUFEQkg4Z0JnVWdBaUVCREFJTEJTQUFRVEJxQ3lBQk5nSUFJQUJCQVRvQU5Bc0xJQVVrQmlBQkN3a0FJQUJCQVJESUJBc0pBQ0FBUVFBUXlBUUxYZ0VCZnlBQUlBRkJzTkFERURvaUFUWUNKQ0FBSUFFZ0FTZ0NBQ2dDR0VIL0FIRkJDR29SQUFBMkFpd2dBQ2dDSkNJQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQTFJQUFvQWl4QkNFb0VRQkFBQ3d1ekFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFocUlRTWdCVUVFYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQU5nSUFJQUFvQWlRaUJ5Z0NBQ2dDRENFSUFuOENRQUpBQWtBZ0J5QUFLQUlvSUFRZ0JFRUVhaUFGSUFJZ0FrRUlhaUFESUFoQkQzRkJqZ05xRVE0QVFRRnJEZ01DQWdBQkN5QUNJQVlvQWdBNkFBQWdBeUFDUVFGcU5nSUFDd05BSUFNb0FnQWlCQ0FDVFFSQVFRRWhBMEVBREFNTElBTWdCRUYvYWlJRU5nSUFJQVFzQUFBZ0FDZ0NJQkR2QVVGL1J3MEFDd3RCQUNFRFFYOExJUUlnQXdSL0lBWUZJQUloQVF3Q0N3VWdBRUV3YWdzZ0FUWUNBQ0FBUVFFNkFEUUxDeUFGSkFZZ0FRdUtBd0lNZndKOEl3WWhBU01HUVVCckpBWWdBVUVnYWlFQ1FkQUJFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBSVFQVUVCRUFFTElBRkJLR29oQkNBRElBQkJ1QUVRVEJvZ0F5QUFLQUlBUVI1cUlnZzJBc0FCSUFNZ0FDZ0NCRUVlYWlJSk5nTEVBU0FEUVE4MkFzZ0JJQU5CRHpZQ3pBRWdBeUFKSUFoQkEzUnNJZ1VRUkNJQ05nSzRBU0FDUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0FVRXdhaUVHSUFNZ0JSQkVJZ1EyQXJ3QklBUkZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFCUVJocUlRVWdBVUVRYWlFR0lBRkJDR29oQ2lBQVFlZ0FhaUVMSUFBb0FyQUJJUXdnQWlFQUEwQWdCeUFKU0FSQUlBZEJEMnV5dXlFTlFRQWhBZ05BSUFJZ0NFZ0VRQ0FMSUFKQkQydXl1eUlPSUEwZ0NpQUJJQXdRMkFzZ0FDQUtLd01BdGpnQ0FDQUFJQUVyQXdDMk9BSUVJQXNnRGlBTklBVWdCaUFNRU44RUlBUWdCU3NEQUxZNEFnQWdCQ0FHS3dNQXRqZ0NCQ0FDUVFGcUlRSWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dCMEVCYWlFSERBRUxDeUFCSkFZZ0F3c0pBQ0FBUVFFUXlRUUxDUUFnQUVFQUVNa0VDMTRCQVg4Z0FDQUJRYmpRQXhBNklnRTJBaVFnQUNBQklBRW9BZ0FvQWhoQi93QnhRUWhxRVFBQU5nSXNJQUFvQWlRaUFTZ0NBQ2dDSENFQ0lBQWdBU0FDUWY4QWNVRUlhaEVBQUVFQmNUb0FOU0FBS0FJc1FRaEtCRUFRQUFzTG5RSUJDWDhqQmlFREl3WkJJR29rQmlBRFFSQnFJUVFnQTBFSWFpRUNJQU5CQkdvaEJnSi9Ba0FnQVVGL0VFRU5BQUovSUFJZ0FSQkNPZ0FBSUFBc0FDd0VRQ0FDUVFGQkFTQUFLQUlnRUpNQlFRRkdEUUpCZnd3QkN5QUdJQVEyQWdBZ0FrRUJhaUVISUFSQkNHb2hDQUpBQTBBQ1FDQUFLQUlrSWdVb0FnQW9BZ3doQ1NBRklBQW9BaWdnQWlBSElBTWdCQ0FJSUFZZ0NVRVBjVUdPQTJvUkRnQWhCU0FDSUFNb0FnQkdEUUlnQlVFRFJnMEFJQVZCQWs4TkFpQUdLQUlBSUFScklnSWdCRUVCSUFJZ0FDZ0NJQkNUQVVjTkFpQURLQUlBSVFJZ0JVRUJSZzBCREFRTEN5QUNRUUZCQVNBQUtBSWdFSk1CUVFGSERRQU1BZ3RCZndzTUFRc2dBVUYvRUVFRWYwRUFCU0FCQ3dzaENpQURKQVlnQ2d0ZkFRSi9JQUFzQUN3RVFDQUJRUUVnQWlBQUtBSWdFSk1CSVFNRkEwQWdBeUFDU0FSQUlBQW9BZ0FvQWpRaEJDQUFJQUVzQUFBUVFpQUVRVDl4UVlvQmFoRUNBRUYvUndSQUlBTkJBV29oQXlBQlFRRnFJUUVNQWdzTEN3c2dBd3RNQVFGL0lBQW9BZ0FvQWhnaEFpQUFJQUpCL3dCeFFRaHFFUUFBR2lBQUlBRkJzTkFERURvaUFUWUNKQ0FCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBc0M1c0NBUWwvSXdZaEF5TUdRU0JxSkFZZ0EwRVFhaUVFSUFOQkNHb2hBaUFEUVFScUlRWUNmd0pBSUFGQmZ4QkJEUUFDZnlBQ0lBRTJBZ0FnQUN3QUxBUkFJQUpCQkVFQklBQW9BaUFRa3dGQkFVWU5Ba0YvREFFTElBWWdCRFlDQUNBQ1FRUnFJUWNnQkVFSWFpRUlBa0FEUUFKQUlBQW9BaVFpQlNnQ0FDZ0NEQ0VKSUFVZ0FDZ0NLQ0FDSUFjZ0F5QUVJQWdnQmlBSlFROXhRWTREYWhFT0FDRUZJQUlnQXlnQ0FFWU5BaUFGUVFOR0RRQWdCVUVDVHcwQ0lBWW9BZ0FnQkdzaUFpQUVRUUVnQWlBQUtBSWdFSk1CUncwQ0lBTW9BZ0FoQWlBRlFRRkdEUUVNQkFzTElBSkJBVUVCSUFBb0FpQVFrd0ZCQVVjTkFBd0NDMEYvQ3d3QkN5QUJRWDhRUVFSL1FRQUZJQUVMQ3lFS0lBTWtCaUFLQzFrQkFYOGdBQ3dBTEFSQUlBRkJCQ0FDSUFBb0FpQVFrd0VoQXdVRFFDQURJQUpJQkVBZ0FDQUJLQUlBSUFBb0FnQW9BalJCUDNGQmlnRnFFUUlBUVg5SEJFQWdBMEVCYWlFRElBRkJCR29oQVF3Q0N3c0xDeUFEQzB3QkFYOGdBQ2dDQUNnQ0dDRUNJQUFnQWtIL0FIRkJDR29SQUFBYUlBQWdBVUc0MEFNUU9pSUJOZ0lrSUFFb0FnQW9BaHdoQWlBQUlBRWdBa0gvQUhGQkNHb1JBQUJCQVhFNkFDd0w3QVVDQjM4Q2ZDTUdJUVFqQmtHZ0Eyb2tCaUFFUVpBRGFpRUdJQVJCZ0FGcUlRZ2dBQ2dDQUNFSElBQW9BZ1FoQlNBQVFRaHFJQVJCc0FKcUlnb2dCRUhRQVdvaUNSRHpDMEVBU0FSQVFRQkJBMEdickFFZ0JoQTlCUUpBSUFWQmYycTNJUXhCQUNFRkEwQWdCVUVFUndSQUlBcEJJR29nQlVFRGRHb2lBQ0FLUVVCcklBVkJBM1JxS3dNQUlBeWlJQUFyQXdDaE9RTUFJQVZCQVdvaEJRd0JDd3NnQ2lzRFVDRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRQURRQ0FBUVFOSEJFQWdCVUVZYkNBSWFpQUFRUU4wYWlBRlFRVjBJQXBxSUFCQkEzUnFLd01BSUF1ak9RTUFJQUJCQVdvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRUlBZ3JBd0JFQUFBQUFBQUFBRUNpSUFkQmYycTNJZ3VqT1FNQUlBUWdDQ3NEQ0VRQUFBQUFBQUFBUUtJZ0M2TTVBd2dnQkNBSUt3TVFSQUFBQUFBQUFBQkFvaUFMbzBRQUFBQUFBQUR3djZDYU9RTVFJQVJDQURjREdDQUVRZ0EzQXlBZ0JDQUlLd01nUkFBQUFBQUFBQUJBb2lBTW81bzVBeWdnQkNBSUt3TW9SQUFBQUFBQUFBQkFvaUFNbzBRQUFBQUFBQUR3djZDYU9RTXdJQVJDQURjRE9DQUVRZ0EzQTBBZ0JFSUFOd05JSUFRZ0FTQUNvQ0FCSUFLaElndWpPUU5RSUFRZ0FrUUFBQUFBQUFBQVFLSWdBYUlnQzZNNUExZ2dCRUlBTndOZ0lBUkNBRGNEYUNBRVJBQUFBQUFBQVBDL09RTndJQVJFQUFBQUFBQUFBQUE1QTNnZ0NTc0RHQ0VMSUFrckF6Z2hBaUFKS3dOWUlRRkJBQ0VHQTBBZ0JrRUVSZzBCSUFaQkJYUWdCR29yQXdBaERDQUdRUVYwSUFScUlRVWdCa0VGZENBRWFpRUFRUUFoQndOQUlBZEJBMGNFUUNBR0lBZEJBblJxUVFOMElBTnFJQXdnQjBFRGRDQUphaXNEQUtJZ0JTc0RDQ0FKUVNCcUlBZEJBM1JxS3dNQW9xQWdBQ3NERUNBSlFVQnJJQWRCQTNScUt3TUFvcUE1QXdBZ0IwRUJhaUVIREFFTEN5QUdRUXhxUVFOMElBTnFJQVpCQlhRZ0JHb3JBeGdnRENBTG9pQUZLd01JSUFLaW9DQUFLd01RSUFHaW9LQTVBd0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUVKQVlMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUlBaEJBRHNCQUNBTVFRQTZBQUFGQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTDZBVUNDbjhCZkNNR0lRUWpCa0dBQW1va0JpQUVRZmdCYWlFSUlBUkI4QUZxSVFvZ0JFSG9BV29oRENBRVFlQUJhaUVGSUFSQjJBRnFJUXNnQkVIUUFXb2hCeUFFUWNnQmFpRUpJQVJCRUdvaEF5QUFRUUJISUFGQkFFZHhCRUFDUUNBQVFZaTVBUkN3QVNJR1JRUkFJQWxCcE1VREtBSUFOZ0lBSUFrZ0FEWUNCRUVBUVFOQnM2b0JJQWtRUFVHa3hRTW9BZ0FRdlFFaEFDQUhRYWZWQXpZQ0FDQUhJQUEyQWdSQkFFRURRYVcyQVNBSEVEMUJmeUVBREFFTElBWkJBRUVDRVBRQklBWW9Ba3dhSUFZb0FnQkJCWFpCQVhFRVFDQUxRYVRGQXlnQ0FEWUNBRUVBUVFOQitLb0JJQXNRUFVHa3hRTW9BZ0FRdlFFaEFDQUZRYWZWQXpZQ0FDQUZJQUEyQWdSQkFFRURRYVcyQVNBRkVEMUJmeUVBQlFKQUlBWVErQUloQnlBR0VQa0NRUUFoQUFKQUFrQURmeUFBUVFSUERRRWdBRUVCYWlFRklBY2dBRUVEZEVHa0ZXb29BZ0FpQUJCUEJIOGdCU0VBREFFRklBVUxDeUVGREFFTElBQkJCRVlFZjBFQVFRTkJwYXNCSUF3UVBVRi9JUUFNQWdWQkFDRUZRYVFWS0FJQUN5RUFDeUFESUFCQkFTQUdFR0ZCQVVjRVFDQUtRYVRGQXlnQ0FEWUNBRUVBUVFOQjlhc0JJQW9RUFVHa3hRTW9BZ0FRdlFFaEFDQUlRYWZWQXpZQ0FDQUlJQUEyQWdSQkFFRURRYVcyQVNBSUVEMUJmeUVBREFFTElBTWdCVFlDc0FFZ0F4RFlCQ0FGUVFGR0lnY0VRQ0FES3dONElRMGdBeUFEUVlBQmFpSUFLd01BT1FONElBTWdEVGtEZ0FFRklBTkJnQUZxSVFBTElBRWdBMEc0QVJCTUdpQUVJQUkyQWdCQkFTRUNBMEFnQWtFQlRnUkFRUUFoQUF3Q0N5QUVLQUlBUVFOcVFYeHhJZ2tvQWdBaENDQUVJQWxCQkdvMkFnQWdDQ0FCS0FLd0FUWUNzQUVnQXlBQktBS3dBVUVEZEVHY0ZXb29BZ0JCQVNBR0VHRkJBVWNFUUVGL0lRQU1BZ3NnQXlBRk5nS3dBU0FERU5nRUlBY0VRQ0FES3dONElRMGdBeUFBS3dNQU9RTjRJQUFnRFRrREFBc2dDQ0FEUWJnQkVFd2FJQUpCQVdvaEFnd0FBQXNBQ3dzZ0JoQnFDd1ZCZnlFQUN5QUVKQVlnQUF1VEFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWhnZ0EwRUNkR28yQWhnZ0F5QUVhaUVFSUFOQkFuUWdBV29GSUFBZ0FTZ0NBQ0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRUnFDeUVCREFFTEN5QUVDek1BSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFRWFqWUNEQ0FBS0FJQUN3dVVBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BZ3dpQXlBQUtBSVFJZ1ZKQkg4Z0FTQURJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0Fnd2dBMEVDZEdvMkFnd2dBMEVDZENBQmFnVWdBQ0FBS0FJQUtBSW9RZjhBY1VFSWFoRUFBQ0lEUVg5R0RRRWdBU0FETmdJQVFRRWhBeUFCUVFScUN5RUJJQU1nQkdvaEJBd0JDd3NnQkF1UUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJJZ01nQmlBRFNCc2lBeENvQVNBQUlBTWdBQ2dDR0dvMkFoZ2dBeUFFYWlFRUlBRWdBMm9GSUFBb0FnQW9BalFoQXlBQUlBRXNBQUFRUWlBRFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFGcUN5RUJEQUVMQ3lBRUN6VUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVCYWpZQ0RDQUFMQUFBRUVJTEM0MEJBUVIvQTBBQ1FDQUVJQUpPRFFBZ0FDZ0NEQ0lESUFBb0FoQWlCVWtFZnlBQklBTWdBaUFFYXlJR0lBVWdBMnNpQXlBR0lBTklHeUlERUtnQklBQWdBeUFBS0FJTWFqWUNEQ0FCSUFOcUJTQUFJQUFvQWdBb0FpaEIvd0J4UVFocUVRQUFJZ05CZjBZTkFTQUJJQU1RUWpvQUFFRUJJUU1nQVVFQmFnc2hBU0FESUFScUlRUU1BUXNMSUFRTEN3QWdBQkNkQWlBQUVEZ0xTQUVDZnlBQUtBSW9JUUVEUUNBQkJFQWdBQ2dDSUNBQlFYOXFJZ0ZCQW5ScUtBSUFJUUpCQUNBQUlBQW9BaVFnQVVFQ2RHb29BZ0FnQWtFRGNVSDJCV29SQmdBTUFRc0xDd1FBUVFBTE13RUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCSUFFb0FnQTJBZ1FnQVNnQ0JDZ0NCQkNJQXlFQ0lBRWtCaUFDQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVl1SkF6WUNBRUd3K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZXVJQXpZQ0FFRzQrUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjeUlBellDQUVIQStRQkJCaUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWQ2R0F6WUNBRUhJK1FCQkJTQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY0NHQXpZQ0FFSFErUUJCQkNBQUtBSUFFQWdnQUNRR0Mrb0ZBUVo4QW44Q1FBSkFBa0FDUUFKQUFrQWdCVUVCYXc0RUF3SUJBQVFMSUFBckF3QWdBU0FBS3dNd0lnaWhJQUJCUUdzckF3QWlCcUlnQUNzRElDSUpveUlCSUFHaUlBSWdBQ3NET0NJS29TQUdvaUFBS3dNb0lndWpJZ0lnQXFLZ0lnYWlSQUFBQUFBQUFQQS9vQ0FHSUFBckF3Z2dCcUtpb0NFSElBTWdDQ0FKSUFBckF4Z2lDQ0FHSUFFZ0FVUUFBQUFBQUFBQVFLS2lvS0lnQWlBQUt3TVFJZ2xFQUFBQUFBQUFBRUNpSUFHaW9pQUJJQWVpb0tDaW9Ea0RBQ0FLSUFzZ0FpQUlSQUFBQUFBQUFBQkFvaUFCb3FJZ0NTQUdJQUlnQWtRQUFBQUFBQUFBUUtLaW9LSWdBaUFIb3FDZ29xQWhBUXdFQ3lBQklBQXJBd0FpQnFFZ0FDc0RFQ0lIb2lJQlJBQUFBQUFBQUFBQVlTQUhJQUlnQUNzRENLR2lJZ0pFQUFBQUFBQUFBQUJoY1FSOElBTWdCamtEQUNBQUt3TUlCU0FESUFZZ0FDc0RHQ0FCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01nUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBTUxJQUVnQUNzREFDSUdvU0FBS3dNUUlnZWlJZ0ZFQUFBQUFBQUFBQUJoSUFjZ0FpQUFLd01Jb2FJaUFrUUFBQUFBQUFBQUFHRnhCSHdnQXlBR09RTUFJQUFyQXdnRklBTWdCaUFCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLZ09RTUFJQUFyQXdnZ0FpQUJvcUFMSVFFTUFnc2dBU0FBS3dNQUlnYWhJQUFyQXhBaUI2SWlBVVFBQUFBQUFBQUFBR0VnQnlBQ0lBQXJBd2lob2lJQ1JBQUFBQUFBQUFBQVlYRUVmQ0FESUFZNUF3QWdBQ3NEQ0FVZ0F5QUdJQUZFQUFBQUFBQUE4RDhnQVNBQm9pQUNJQUtpb0NBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSWdHaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBRUxRWDhNQVFzZ0JDQUJPUU1BUVFBTEdnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSE1oQU0yQWdCQmlQb0FRUUFnQUNnQ0FCQUlJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIZGd3TTJBZ0JCbVBrQUlBQW9BZ0JCQ0JBV0lBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhYZ3dNMkFnQkJrUGtBSUFBb0FnQkJCQkFXSUFBa0Jnc3RBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSEpnd00yQWdCQmlQa0FJQUFvQWdCQkJFRUFRWDhRQ2lBQUpBWUxOUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ4SU1ETmdJQVFZRDVBQ0FBS0FJQVFRUkJnSUNBZ0hoQi8vLy8vd2NRQ2lBQUpBWUxMUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ0NE1ETmdJQVFmajRBQ0FBS0FJQVFRUkJBRUYvRUFvZ0FDUUdDelVCQVg4akJpRUFJd1pCRUdva0JpQUFRYk9EQXpZQ0FFSHcrQUFnQUNnQ0FFRUVRWUNBZ0lCNFFmLy8vLzhIRUFvZ0FDUUdDeThCQVg4akJpRUFJd1pCRUdva0JpQUFRYVNEQXpZQ0FFSG8rQUFnQUNnQ0FFRUNRUUJCLy84REVBb2dBQ1FHQ3pFQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVo2REF6WUNBRUhnK0FBZ0FDZ0NBRUVDUVlDQWZrSC8vd0VRQ2lBQUpBWUxMZ0VCZnlNR0lRQWpCa0VRYWlRR0lBQkJrSU1ETmdJQVFkRDRBQ0FBS0FJQVFRRkJBRUgvQVJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdFZ3dNMkFnQkIyUGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIL2dnTTJBZ0JCeVBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc2ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR20xUU0yQWdBUTRBUWdBQ1FHQ3dZQVFlREZBd3NHQUVIY3hRTUxCZ0JCMU1VREN3Z0FRZVRGQXhBMkMzQUJBbjhnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnVUNRQ0FBUVJCcUlBQW9BZ3dpQkVFRGRHb2hCU0FBUVJCcUlBRWdBaUFERU9FRUlBUkJBVW9FUUNBQVFSaHFJUUFEUUNBQUlBRWdBaUFERU9FRUlBRXNBRFlOQWlBQVFRaHFJZ0FnQlVrTkFBc0xDd3NMeFFRQkEzOGdBQ0FCS0FJSUlBUVFnUUVFUUNBQklBSWdBeER5QWdVQ1FDQUFJQUVvQWdBZ0JCQ0JBVVVFUUNBQUtBSU1JUVVnQUVFUWFpQUJJQUlnQXlBRUVKNENJQVZCQVV3TkFTQUFRUkJxSUFWQkEzUnFJUVlnQUVFWWFpRUZJQUFvQWdnaUFFRUNjVVVFUUNBQktBSWtRUUZIQkVBZ0FFRUJjVVVFUUFOQUlBRXNBRFlOQlNBQktBSWtRUUZHRFFVZ0JTQUJJQUlnQXlBRUVKNENJQVZCQ0dvaUJTQUdTUTBBREFVQUN3QUxBMEFnQVN3QU5nMEVJQUVvQWlSQkFVWUVRQ0FCS0FJWVFRRkdEUVVMSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQXdzTEEwQWdBU3dBTmcwQ0lBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUFRc2dBU2dDRUNBQ1J3UkFJQUVvQWhRZ0FrY0VRQ0FCSUFNMkFpQWdBU2dDTEVFRVJ3UkFJQUJCRUdvZ0FDZ0NERUVEZEdvaEIwRUFJUU1nQUVFUWFpRUdJQUVDZndKQUEwQUNRQ0FHSUFkUERRQWdBVUVBT2dBMElBRkJBRG9BTlNBR0lBRWdBaUFDUVFFZ0JCRHZBaUFCTEFBMkRRQWdBU3dBTlFSQUFrQWdBU3dBTkVVRVFDQUFLQUlJUVFGeEJFQkJBU0VGREFJRkRBWUxBQXNnQVNnQ0dFRUJSZ1JBUVFFaEF3d0ZDeUFBS0FJSVFRSnhCSDlCQVNFRlFRRUZRUUVoQXd3RkN5RURDd3NnQmtFSWFpRUdEQUVMQ3lBRkJIOE1BUVZCQkFzTUFRdEJBd3MyQWl3Z0EwRUJjUTBEQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDL1FDQVFsL0lBQWdBU2dDQ0NBRkVJRUJCRUFnQVNBQ0lBTWdCQkR4QWdVZ0FTd0FOQ0VPSUFFc0FEVWhCaUFBUVJCcUlBQW9BZ3dpQjBFRGRHb2hEQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQkJFR29nQVNBQ0lBTWdCQ0FGRU84Q0lBNGdBU3dBTkNJTGNpRUpJQVlnQVN3QU5TSUljaUVHSUFkQkFVb0Vmd0ovSUFCQkdHb2hDZ04vSUFaQkFYRWhCeUFKUVFGeElRWWdBU3dBTmdSQUlBWWhBaUFIREFJTElBdEIvd0Z4QkVBZ0FTZ0NHRUVCUmdSQUlBWWhBaUFIREFNTElBQW9BZ2hCQW5GRkJFQWdCaUVDSUFjTUF3c0ZJQWhCL3dGeEJFQWdBQ2dDQ0VFQmNVVUVRQ0FHSVFJZ0J3d0VDd3NMSUFGQkFEb0FOQ0FCUVFBNkFEVWdDaUFCSUFJZ0F5QUVJQVVRN3dJZ0JpQUJMQUEwSWd0eUlRZ2dCeUFCTEFBMUlnMXlJUVlnQ2tFSWFpSUhJQXhKQkg4Z0J5RUtJQWdoQ1NBTklRZ01BUVVnQ0NFQ0lBWUxDd3NGSUFraEFpQUdDeUVBSUFFZ0FrSC9BWEZCQUVjNkFEUWdBU0FBUWY4QmNVRUFSem9BTlFzTEN3QWdBQ0FCUVFBUWdRRUxLUUVCZnlBQUtBSUFRWFJxSWdBb0FnZ2hBU0FBSUFGQmYybzJBZ2dnQVVFQlNBUkFJQUFRT0FzTEJ3QWdBQ2dDQkF0QUFRRi9JQUFnQVNnQ0NFRUFFSUVCQkVBZ0FTQUNJQU1ROHdJRklBQW9BZ2dpQUNnQ0FDZ0NIQ0VFSUFBZ0FTQUNJQU1nQkVFZmNVSDZCV29SQndBTEM1Z0NBUUovSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZBa0FnQUNBQktBSUFJQVFRZ1FGRkJFQWdBQ2dDQ0NJQUtBSUFLQUlZSVFVZ0FDQUJJQUlnQXlBRUlBVkJQM0ZCbWdacUVRVUFEQUVMSUFFb0FoQWdBa2NFUUNBQktBSVVJQUpIQkVBZ0FTQUROZ0lnSUFFb0FpeEJCRWNFUUNBQlFRQTZBRFFnQVVFQU9nQTFJQUFvQWdnaUFDZ0NBQ2dDRkNFRElBQWdBU0FDSUFKQkFTQUVJQU5CQjNGQjJnWnFFUXdBSUFFc0FEVUVRQ0FCTEFBMFJTRUdJQUZCQXpZQ0xDQUdSUTBFQlNBQlFRUTJBaXdMQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDMFlCQVg4Z0FDQUJLQUlJSUFVUWdRRUVRQ0FCSUFJZ0F5QUVFUEVDQlNBQUtBSUlJZ0FvQWdBb0FoUWhCaUFBSUFFZ0FpQURJQVFnQlNBR1FRZHhRZG9HYWhFTUFBc0x3QVlDQTM4R2ZDTUdJUVFqQmtIZ0FHb2tCZ0pBSUFBckExaEVBQUFBQUFBQUFBQm1CRUFEUUNBRlFRTkdEUUpCQUNFREEwQWdBMEVFUndSQUlBVkJCWFFnQkdvZ0EwRURkR29nQlVFRmRDQUFhaUFEUVFOMGFpc0RBRGtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FCUU5BSUFWQkEwWU5Ba0VBSVFNRFFDQURRUVJIQkVBZ0JVRUZkQ0FFYWlBRFFRTjBhaUFGUVFWMElBQnFJQU5CQTNScUt3TUFtamtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FDd0FMUVFBaEF3TkFJQU5CQTBjRVFFRUFJUUFEUUNBQVFRUkhCRUFnQTBFRmRDQUJhaUFBUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FBUVFGcUlRQU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FTQUVRVUJyS3dNQUlnZ2dCQ3NEU0NJR0lBUXJBMUFpQ2hEd0FpSUhPUU5RSUFKQlFHc2lBQ0FJSUFlaklnZzVBd0FnQWlBR0lBRXJBMUNqSWdZNUEwZ2dBaUFLSUFFckExQ2pJZ2M1QTFBZ0FpQUVLd05ZSUFFckExQ2pPUU5ZSUFFZ0NDQUdJQWNnQkNzRElDSUlJQVFyQXlnaUJpQUVLd013SWdjUTdnSWlDVGtETUNBQklBZ2dDU0FBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQTFDaW9TSUdFUEFDSWdjNUF5Z2dBaUFLSUFlak9RTWdJQUlnQ0NBQkt3TW9vemtES0NBQ0lBWWdBU3NES0tNNUF6QWdBU0FBS3dNQUlBSXJBMGdnQWlzRFVDQUVLd01BSWdnZ0JDc0RDQ0lHSUFRckF4QWlCeER1QWlJTE9RTVFJQUVnQWlzRElDQUNLd01vSUFJckF6QWdDQ0FHSUFjUTdnSWlDVGtEQ0NBQklBZ2dDU0FDS3dNZ29xRWdDeUFBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RLS0toSUFzZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQXpDaW9TQUxJQUlyQTFDaW9TSUdFUEFDSWdjNUF3QWdBaUFLSUFlak9RTUFJQUlnQ0NBQkt3TUFvemtEQ0NBQ0lBWWdBU3NEQUtNNUF4QWdBaUFFS3dNNElBRXJBekFnQWlzRFdDSUdvcUVnQVNzREtLTWlCemtET0NBQ0lBUXJBeGdnQnlBQkt3TUlvcUVnQmlBQkt3TVFvcUVnQVNzREFLTTVBeGhCQUNFREEwQWdBMEVEUndSQVFRQWhBZ05BSUFKQkEwY0VRQ0FEUVFWMElBRnFJQUpCQTNScUlnQWdBQ3NEQUNBQkt3TlFvemtEQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dCQ1FHUVFBTEdnQWdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdzTGt3RUFJQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRklBQWdBU2dDQUNBRUVJRUJCRUFDUUNBQktBSVFJQUpIQkVBZ0FTZ0NGQ0FDUndSQUlBRWdBellDSUNBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVZRVFDQUJLQUlZUVFKR0JFQWdBVUVCT2dBMkN3c2dBVUVFTmdJc0RBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDd3NjQUNBQUlBRW9BZ2dnQlJDQkFRUkFJQUVnQWlBRElBUVE4UUlMQzlJQkFRSi9Jd1loQXlNR1FVQnJKQVlnQUNBQlFRQVFnUUVFZjBFQkJTQUJCSDhnQVVIQTl3QkJzUGNBRU9RRUlnRUVmeUFESUFFMkFnQWdBMEVBTmdJRUlBTWdBRFlDQ0NBRFFYODJBZ3dnQTBJQU53SVFJQU5DQURjQ0dDQURRZ0EzQWlBZ0EwSUFOd0lvSUFOQkFEWUNNQ0FEUVFBN0FUUWdBMEVBT2dBMklBTkJBVFlDTUNBQktBSUFLQUljSVFBZ0FTQURJQUlvQWdCQkFTQUFRUjl4UWZvRmFoRUhBQ0FES0FJWVFRRkdCSDhnQWlBREtBSVFOZ0lBUVFFRlFRQUxCVUVBQ3dWQkFBc0xJUVFnQXlRR0lBUUwzUUVCQlg4akJpRUFJd1pCTUdva0JpQUFRUmhxSVFJZ0FFRVFhaUVCSUFCQkpHb2hBMEhNeFFNb0FnQWlCQVJBSUFKQjlmOENOZ0lBUWNQL0FpQUNFSjhDSUFNZ0JFSFFBR28yQWdBZ0JDZ0NBQ0lFS0FJRUlRSkJxUGNBSUFRZ0EwR285d0FvQWdBb0FoQkJQM0ZCeWdGcUVRUUFCRUFnQXlnQ0FDSUJLQUlBS0FJSUlRTWdBU0FEUWY4QWNVRUlhaEVBQUNFQklBQkI5ZjhDTmdJQUlBQWdBallDQkNBQUlBRTJBZ2hCN2Y0Q0lBQVFud0lGSUFGQjlmOENOZ0lBSUFFZ0FqWUNCRUdhL3dJZ0FSQ2ZBZ3NMUWVuL0FpQUFRU0JxRUo4Q0M2Y0VBUUo4SUFHM0lBQW9BZ0Mzb3lFRUlBSzNJQUFvQWdTM295RUZJQU1nQVRZQ0FDQURJQUkyQWdSQkFDRUJBMEFnQVVFRVJ3UkFJQU5CQ0dvZ0FVRURkR29nQkNBQVFRaHFJQUZCQTNScUt3TUFvamtEQUNBRFFTaHFJQUZCQTNScUlBVWdBRUVvYWlBQlFRTjBhaXNEQUtJNUF3QWdBMEhJQUdvZ0FVRURkR29nQUVISUFHb2dBVUVEZEdvckF3QTVBd0FnQVVFQmFpRUJEQUVMQ3dKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXJBQklnRkJBV3NPQkFNQ0FRQUVDeUFESUFBckEyZzVBMmdnQXlBQUt3TndPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQVFnQUNzRGlBR2lPUU9JQVNBRElBVWdBQ3NEa0FHaU9RT1FBU0FESUFRZ0FDc0RtQUdpT1FPWUFTQURJQVVnQUNzRG9BR2lPUU9nQVNBRElBQXJBNmdCT1FPb0FRd0VDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBQXJBNGdCSUFRZ0JhS2pPUU9JQVNBRElBQXJBNUFCSUFVZ0JDQUVvaUFGb3FLak9RT1FBUXdEQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVNBRElBQXJBNGdCSUFVZ0JDQUVvaUFGb3FLak9RT0lBUXdDQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVF3QkN3d0JDeUFESUFFMkFyQUJDd3Y3RXdJUmZ3RjhJd1loRkNNR1FSQnFKQVlnRkNFUUlBRkJBaEE1SVEwZ0FrRUNFRGtoRHlBRUtBSUFJZ2NoQWlBTklBOUJmMm9pRVd4QkFYUWdCMm9oQlFOQUlBc2dEVWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0MwRUJhaUVMREFFTEN5QUhJUUlnRFVGL2FpSVNRUUYwSUFkcUlRVkJBQ0VMQTBBZ0N5QVBTQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdEVUVCZENBQ2FpRUNJQTFCQVhRZ0JXb2hCU0FMUVFGcUlRc01BUXNMSUFSQmtJRElBR29oQWtFQUlBMXJJUk1nQUNBQlFRRjBRUUpxYWlFT1FRRWhERUVBSVFVZ0RVRUJhaUlBSUFRb0FnUnFJUXNnQUVFQmRDQUhhaUVIQW44Q1FBTkFBa0FnRENBUlRnMENJQVVoQUVFQklRa0RRQ0FKSUJKSUJFQWdEaTBBQUNBRFNnUkFJQWRCQURzQkFDQUxRUUE2QUFBRkFrQWdDMEYvT2dBQUlCTkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FBc0xJQTVCQW1vaERpQUxRUUZxSVFzZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU9ha0VFYWlFT0lBeEJBV29oRENBQUlRVWdDMEVDYWlFTElBZEJCR29oQnd3QkN3dEJBRUVEUWFpbEFTQVFFRDFCZnd3QkN5QUVRUXhxSVFkQkFTRUFRUUVoQXdOQUlBTWdCVXdFUUNBRElBSW9BZ0FpQzBZRVFDQUFRUUZxSVFFRklBQWhBU0FMUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFJZ0FEWUNBQ0FCSVFBZ0EwRUJhaUVESUFKQkJHb2hBZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFkQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUJBMEFnQVNBQVNBUkFJQVJCaklBSWFpQUJRUUowSWdKQkFuUnFJQTAyQWdBZ0JFR01nQWhxSUFKQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBSkJBbkpCQW5ScUlBODJBZ0FnQkVHTWdBaHFJQUpCQTNKQkFuUnFRUUEyQWdBZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhhak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZxTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJVZ0VDUUdJQlVMQkFBakJnc2JBUUovSXdZaEFpQUFJd1pxSkFZakJrRVBha0Z3Y1NRR0lBSUxDNkdMQTJFQVFZQUlDeEkyVXdBQVBWTUFBRWxUQUFCVFV3QUFZVk1BUWFBSUM5b1QvLy8vLy8vLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vd0FBQUFFQUFRRUJBQUlFLy84RkF3RUFBdjhHQi84REFRSUNBd0lEQWdNREFQOEVCZ2NGL3dFRUJRUUVCUVVFQlFjR0JnWUhCd2NHL3dJRUJnY0ZBLzhBQVFFQkFRRUJBQUVCQVFBQUFRRUJBUUVBQVFFQUFRRUJBQUVCQVFFQUFRRUFBUUVCQVFBQkFRRUFBUUVBQVFFQkFRRUFBQUVCQVFBQkFRRUJBUUVBQVAvL0EvOEZCdi8vQ1FyL0RQLy9ELzhSRXY4VS8vOFhHUC8vRy84ZEh2Ly9BUUwvQlAvL0J3ai8vd3YvRFE3L0VQLy9FLzhWRnYvL0dSci9IUC8vSHdFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUJRQUFBQW9BQUFBVUFBQUFEUUFBQUJvQUFBQVJBQUFBQndBQUFBNEFBQUFjQUFBQUhRQUFBQjhBQUFBYkFBQUFFd0FBQUFNQUFBQUdBQUFBREFBQUFCZ0FBQUFWQUFBQUR3QUFBQjRBQUFBWkFBQUFGd0FBQUFzQUFBQVdBQUFBQ1FBQUFCSUFBQUFBQUFBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFNQUFBQUdBQUFBREFBQUFBc0FBQUFGQUFBQUNnQUFBQWNBQUFBT0FBQUFEd0FBQUEwQUFBQUpBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQklBQUFBQ0FBQUFCUUFBQUJNQUFBQUxBQUFBQXdBQUFCMEFBQUFHQUFBQUd3QUFBQlFBQUFBSUFBQUFEQUFBQUJjQUFBQUVBQUFBQ2dBQUFCNEFBQUFSQUFBQUJ3QUFBQllBQUFBY0FBQUFHZ0FBQUJVQUFBQVpBQUFBQ1FBQUFCQUFBQUFOQUFBQURnQUFBQmdBQUFBUEFBQUEvLy8vL3dBQUFBQUJBQUFBQkFBQUFBSUFBQUFJQUFBQUJRQUFBQW9BQUFBREFBQUFEZ0FBQUFrQUFBQUhBQUFBQmdBQUFBMEFBQUFMQUFBQURBQUFBQUVBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBSUFBQUFFQUFBQUFEQUFBQUJnQUFBQXdBQUFBWUFBQUFNQUFBQUdBQUFBQkRBQUFBQlFBQUFBb0FBQUFVQUFBQUtBQUFBRkFBQUFBakFBQUFSZ0FBQUE4QUFBQWVBQUFBUEFBQUFIZ0FBQUJ6QUFBQVpRQUFBRWtBQUFBUkFBQUFJZ0FBQUVRQUFBQUxBQUFBRmdBQUFDd0FBQUJZQUFBQU13QUFBR1lBQUFCUEFBQUFIUUFBQURvQUFBQjBBQUFBYXdBQUFGVUFBQUFwQUFBQVVnQUFBQ2NBQUFCT0FBQUFId0FBQUQ0QUFBQjhBQUFBZXdBQUFIVUFBQUJwQUFBQVVRQUFBQ0VBQUFCQ0FBQUFCd0FBQUE0QUFBQWNBQUFBT0FBQUFIQUFBQUJqQUFBQVJRQUFBQWtBQUFBU0FBQUFKQUFBQUVnQUFBQVRBQUFBSmdBQUFFd0FBQUFiQUFBQU5nQUFBR3dBQUFCYkFBQUFOUUFBQUdvQUFBQlhBQUFBTFFBQUFGb0FBQUEzQUFBQWJnQUFBRjhBQUFBOUFBQUFlZ0FBQUhjQUFBQnRBQUFBV1FBQUFERUFBQUJpQUFBQVJ3QUFBQTBBQUFBYUFBQUFOQUFBQUdnQUFBQlRBQUFBSlFBQUFFb0FBQUFYQUFBQUxnQUFBRndBQUFBN0FBQUFkZ0FBQUc4QUFBQmRBQUFBT1FBQUFISUFBQUJuQUFBQVRRQUFBQmtBQUFBeUFBQUFaQUFBQUVzQUFBQVZBQUFBS2dBQUFGUUFBQUFyQUFBQVZnQUFBQzhBQUFCZUFBQUFQd0FBQUg0QUFBQi9BQUFBZlFBQUFIa0FBQUJ4QUFBQVlRQUFBRUVBQUFBQUFBQUEvLy8vL3dBQUFBQUJBQUFBQndBQUFBSUFBQUFPQUFBQUNBQUFBRGdBQUFBREFBQUFQd0FBQUE4QUFBQWZBQUFBQ1FBQUFGb0FBQUE1QUFBQUZRQUFBQVFBQUFBY0FBQUFRQUFBQUVNQUFBQVFBQUFBY0FBQUFDQUFBQUJoQUFBQUNnQUFBR3dBQUFCYkFBQUFSZ0FBQURvQUFBQW1BQUFBRmdBQUFDOEFBQUFGQUFBQU5nQUFBQjBBQUFBVEFBQUFRUUFBQUY4QUFBQkVBQUFBTFFBQUFCRUFBQUFyQUFBQWNRQUFBSE1BQUFBaEFBQUFUUUFBQUdJQUFBQjFBQUFBQ3dBQUFGY0FBQUJ0QUFBQUl3QUFBRndBQUFCS0FBQUFSd0FBQUU4QUFBQTdBQUFBYUFBQUFDY0FBQUJrQUFBQUZ3QUFBRklBQUFBd0FBQUFkd0FBQUFZQUFBQitBQUFBTndBQUFBMEFBQUFlQUFBQVBnQUFBQlFBQUFCWkFBQUFRZ0FBQUJzQUFBQmdBQUFBYndBQUFFVUFBQUJyQUFBQUxnQUFBQ1VBQUFBU0FBQUFOUUFBQUN3QUFBQmVBQUFBY2dBQUFDb0FBQUIwQUFBQVRBQUFBQ0lBQUFCV0FBQUFUZ0FBQUVrQUFBQmpBQUFBWndBQUFIWUFBQUJSQUFBQURBQUFBSDBBQUFCWUFBQUFQUUFBQUc0QUFBQWFBQUFBSkFBQUFHb0FBQUJkQUFBQU5BQUFBRXNBQUFBcEFBQUFTQUFBQUZVQUFBQlFBQUFBWmdBQUFEd0FBQUI4QUFBQWFRQUFBQmtBQUFBb0FBQUFNd0FBQUdVQUFBQlVBQUFBR0FBQUFIc0FBQUJUQUFBQU1nQUFBREVBQUFCNkFBQUFlQUFBQUhrQUFBQUVBQUFBaUFBQUFBVUFBQUNRQUFBQUJnQUFBSmdBQUFBSkFBQUFzQUFBQU9OWkFBRHBXUUFBN2xrQUFQWlpBQUFBQUFBQXNyNjVQaExjb0w2UXZqaytFdHlndnBDK09iNEFBQUNBc3I2NXZoTGNvRDZRdmptK0V0eWdQcEMrT1Q3U2NoaS9BQUFBQU5KeW1MNDZCZ1MvMG5LWVBqb0dCTC9TY2hnL0FBQUFnTkp5bUQ0NkJnUS8wbktZdmpvR0JEOEFBQUNBVnJnOXYyWk5KRDlXdUwyK1prMGtQMWE0dlQ0QUFBQUFWcmc5UDJaTkpMOVd1TDArWmswa3YxYTR2YjRNNlZnL0FBQUFnQXpwMkQ2WjJUcy9ET25ZdnBuWk96OE02VmkvQUFBQUFBenAyTDZaMlR1L0RPbllQcG5aTzc4QUFBQUEvRk51UC9GbFRyOE5WTzQrOFdWT3Z3MVU3cjRBQUFDQS9GTnV2L0ZsVGo4TlZPNis4V1ZPUHcxVTdqNEFBSUMvQUFBQUFBQUFBTC9RczEyL0FBQUFQOUN6WGI4QUFJQS9BQUFBZ0FBQUFEL1FzMTAvQUFBQXY5Q3pYVDl3UEFBQWNEd0FBSEE4QUFCd1BBQUFqS3dBQUtLc0FBRENyQUFBNTZ3QUFBR3RBQUFnclFBQU5hMEFBRkt0QUFCOHJRQUF2SzBBQU51dEFBRHlyUUFBQ0s0QUFCeXVBQUJacmdBQWlhNEFBS1d1QUFESXJnQUEvNjRBQURhdkFBQk5yd0FBYmE4QUFKZXZBQURrcndBQS82OEFBQ3F3QUFCR3NBQUFhN0FBQUpHd0FBQzJzQUFBeWJBQUFONndBQUR4c0FBQUJMRUFBQ214QUFBK3NRQUFVckVBQUhPeEFBQ0pzUUFBdUxFQUFPQ3hBQUFCc2dBQUlySUFBRkd5QUFCaXNnQUFmcklBQUx5eUFBRGpzZ0FBQ3JNQUFCNnpBQUJNc3dBQWRMTUFBSkN6QUFDMXN3QUExN01BQUFHMEFBQXN0QUFBU3JRQUFIaTBBQUNndEFBQXg3UUFBUEswQUFBZnRRQUFUN1VBQUhtMUFBQ210UUFBeWJVQUFPZTFBQUFGdGdBQU83WUFBR1cyQUFDRXRnQUFwN1lBQU02MkFBRGp0Z0FBOTdZQUFDeTNBQUE4dHdBQWVyY0FBTHkzQUFEbXR3QUFFcmdBQURtNEFBQlZ1QUFBZ0xnQUFKdTRBQUN2dUFBQXhyZ0FBTk80QUFEN3VBQUFNTGtBQUd5NUFBQ2F1UUFBdTdrQUFPSzVBQUQ3dVFBQUk3b0FBRWE2QUFCZXVnQUFncm9BQUtlNkFBQ3R1Z0FBNXJvQUFDQzdBQUEvdXdBQVRyc0FBR3U3QUFDSnV3QUFwcnNBQUwrN0FBRFl1d0FBR3J3QUFGUzhBQUNLdkFBQXZyd0FBTks4QUFEcHZBQUFENzBBQURhOUFBQjR2UUFBdEwwQUFPVzlBQUFKdmdBQU43NEFBRksrQUFDS3ZnQUF0YjRBUVlRY0M3MEVBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFEQUFBQUNnQUFBQkVBQUFBWUFBQUFJQUFBQUJrQUFBQVNBQUFBQ3dBQUFBUUFBQUFGQUFBQURBQUFBQk1BQUFBYUFBQUFJUUFBQUNnQUFBQXdBQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBR0FBQUFCd0FBQUE0QUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQU1RQUFBRGdBQUFBNUFBQUFNZ0FBQUNzQUFBQWtBQUFBSFFBQUFCWUFBQUFQQUFBQUZ3QUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTZBQUFBT3dBQUFEUUFBQUF0QUFBQUpnQUFBQjhBQUFBbkFBQUFMZ0FBQURVQUFBQThBQUFBUFFBQUFEWUFBQUF2QUFBQU53QUFBRDRBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBVUFBQUFNQUFBQUV3QUFBQm9BQUFBaEFBQUFLQUFBQURBQUFBQXBBQUFBSWdBQUFCc0FBQUFVQUFBQURRQUFBQVlBQUFBT0FBQUFGUUFBQUJ3QUFBQWpBQUFBS2dBQUFERUFBQUF5QUFBQUt3QUFBQ1FBQUFBZEFBQUFGZ0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUEwQUFBQUxRQUFBQ1lBQUFBdUFBQUFOUUFBQURZQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJQXZ0QWdFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUNBQUFBQVpBQUFBRWdBQUFBc0FBQUFFQUFBQUJRQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQW9BQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBS3dBQUFDUUFBQUFkQUFBQUpRQUFBQ3dBQUFBdEFBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBaUFBQUFHd0FBQUJRQUFBQWNBQUFBSXdBQUFDUUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSXd2ZEFRRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFCa0FBQUFTQUFBQUN3QUFBQk1BQUFBYUFBQUFHd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBQUFBQUFBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFLQUFBQUVRQUFBQklBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIRUpRdVVCQUVBQUFBSUFBQUFDUUFBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFDQkFSMWFEZ0tHSlJBREZCRVNCQXNJRkFYWUF4Y0cyZ0VaQitVQUhBaHZBQjRKTmdBaENob0FJd3NOQUFrTUJnQUtEUU1BREEwQkFJOFBmMW9rRUNVL0poSHlMQ2NTZkNBb0U3a1hLaFNDRVNzVjd3d3RGcUVKTGhjdkJ6QVlYQVV4R1FZRU14b0RBelFiUUFJMkhMRUJPQjFFQVRrZTlRQTdIN2NBUENDS0FENGhhQUEvSWs0QUlDTTdBQ0VKTEFDbEplRmFRQ1pNU0VFbkRUcERLUEV1UkNrZkprVXFNeDlHSzZnWlNDd1lGVWt0ZHhGS0xuUU9TeS83QzAwdytBbE9NV0VJVHpJR0J6QXp6UVV5Tk40RU1qVVBCRE0yWXdNME45UUNOVGhjQWpZNStBRTNPcVFCT0R0Z0FUazhKUUU2UGZZQU96N0xBRDAvcXdBOUlJOEF3VUVTVzFCQ0JFMVJReXhCVWtUWU4xTkY2QzlVUmp3cFZrZDVJMWRJM3g1WFNha2FTRXBPRjBoTEpCUktUSndSU2sxckQwdE9VUTFOVDdZTFRUQkFDdEJSTWxoWVVoeE5XVk9PUTFwVTNUdGJWZTQwWEZhdUxsMVhtaWxXUnhZbDJGbHdWVjlhcVV4Z1c5bEVZVndpUG1OZEpEaGpYclF5WFZZWEx0OWdxRlpsWVVaUFptTGxSMmRqejBGb1pEMDhZMTFlTjJsbU1WSnFadzlNYTJnNVJtZGpYa0hwYWlkV2JHdm5VRzFuaFV0dWJaZFZiMnRQVU81dkVGcHdiU0pWOEcvcldYRnhIVm9BUWVFcEMvQUJRTVZZbjFOQ1N3QkFTVEtqSXFnUnhWZ2hlL3h6WW1qRldMOUZDekIrR0o5VC9ITkJiVlJpbjFPelFVRXRFaGRDUzJKb1ZHSitXRUpMSVR1NktNTVVBRURGV0o5VFFrc0FRRWt5b3lLb0VVa3l2MFd6UVNFN1NUS0NKemNiNEEyaklnc3dRUzI2S0tNaU54dS9FbzRKcUJGK0dCSVh3eFNvRWVBTmpnbmZCQUFBQUFBQUFQQS83MkZJc1ZBeDlqL0tiMDJScnVmMFA2b1JiTzlpMFBJL0FBQUFBQUFBOEQ4N3Y2ZkFhU1RwUDdzZ3gzdDZVZUUvWGF0eTNsV28wVDhBQUFBQUFRQUFBQUlBQUFBREFBQUFBQUFBQUFFQUFBQUZBQUFBQWdBQUFBUUFBQUFHQUFBQUF3QUFBQWNBQUFBSUFFSGtLd3VkQVFFQUFBQUZBQUFBQmdBQUFBSUFBQUFFQUFBQUJ3QUFBQXdBQUFBREFBQUFDQUFBQUFzQUFBQU5BQUFBQ1FBQUFBb0FBQUFPQUFBQUR3QUFBQUFBQUFBQkFBQUFCUUFBQUFZQUFBQU9BQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQThBQUFBREFBQUFDQUFBQUF3QUFBQVFBQUFBRlFBQUFBa0FBQUFMQUFBQUVRQUFBQlFBQUFBV0FBQUFDZ0FBQUJJQUFBQVRBQUFBRndBQUFCZ0FRWlF0QzgwQ0FRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQmtBQUFBREFBQUFDQUFBQUF3QUFBQVJBQUFBR0FBQUFCb0FBQUFKQUFBQUN3QUFBQklBQUFBWEFBQUFHd0FBQUNBQUFBQUtBQUFBRXdBQUFCWUFBQUFjQUFBQUh3QUFBQ0VBQUFBVUFBQUFGUUFBQUIwQUFBQWVBQUFBSWdBQUFDTUFBQUFBQUFBQUFRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQWJBQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQkFBQUFBYUFBQUFIQUFBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhRQUFBQ1lBQUFBSkFBQUFDd0FBQUJJQUFBQVlBQUFBSGdBQUFDVUFBQUFuQUFBQUNnQUFBQk1BQUFBWEFBQUFId0FBQUNRQUFBQW9BQUFBTFFBQUFCUUFBQUFXQUFBQUlBQUFBQ01BQUFBcEFBQUFMQUFBQUM0QUFBQVZBQUFBSVFBQUFDSUFBQUFxQUFBQUt3QUFBQzhBQUFBd0FFSDBMd3ZRQkFFQUFBQUZBQUFBQmdBQUFBNEFBQUFQQUFBQUd3QUFBQndBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCb0FBQUFkQUFBQUtnQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSGdBQUFDa0FBQUFyQUFBQUNRQUFBQXNBQUFBU0FBQUFHQUFBQUI4QUFBQW9BQUFBTEFBQUFEVUFBQUFLQUFBQUV3QUFBQmNBQUFBZ0FBQUFKd0FBQUMwQUFBQTBBQUFBTmdBQUFCUUFBQUFXQUFBQUlRQUFBQ1lBQUFBdUFBQUFNd0FBQURjQUFBQThBQUFBRlFBQUFDSUFBQUFsQUFBQUx3QUFBRElBQUFBNEFBQUFPd0FBQUQwQUFBQWpBQUFBSkFBQUFEQUFBQUF4QUFBQU9RQUFBRG9BQUFBK0FBQUFQd0FBQUFBQUFBQUJBQUFBQXdBQUFBY0FBQUFQQUFBQUh3QUFBRDhBQUFCL0FBQUEvd0FBQVA4QkFBRC9Bd0FBL3djQUFQOFBBQUQvSHdBQS96OEFBUDkvQUFBQXdERHdETXc4L0FQRE0vTVB6ei8vZ0VDd2NJeE12SHlEUTdOemowKy9meURnRU5BczdCemNJK01UMHkvdkg5K2dZSkJRckd5Y1hLTmprMU92YjU5ZkNNZzQrQVRFTlBRTHl6djdCOGMzOTRoSXVIaUVSTFIwaTB1N2U0ZEh0M2NvNkJqWUpPUVUxQ3ZyRzlzbjV4ZlhxR2lZV0tSa2xGU3JhNXRicDJlWFZ3TENNdklPemo3K0FjRXg4UTNOUGYyQ1FySnlqazYrZm9GQnNYR05UYjE5SXVJUzBpN3VIdDRoNFJIUkxlMGQzYUppa2xLdWJwNWVvV0dSVWExdG5WMEt5anI2QnNZMjlnbkpPZmtGeFRYMWlrcTZlb1pHdG5hSlNibDVoVVcxZFNycUd0b201aGJXS2VrWjJTWGxGZFdxYXBwYXBtYVdWcWxwbVZtbFpaVlYzaElFbFFBQUFBRC8vLy8vLy8vLy8vLy8vLzhBUWRBMEM4d0JBZ0FBd0FNQUFNQUVBQURBQlFBQXdBWUFBTUFIQUFEQUNBQUF3QWtBQU1BS0FBREFDd0FBd0F3QUFNQU5BQURBRGdBQXdBOEFBTUFRQUFEQUVRQUF3QklBQU1BVEFBREFGQUFBd0JVQUFNQVdBQURBRndBQXdCZ0FBTUFaQUFEQUdnQUF3QnNBQU1BY0FBREFIUUFBd0I0QUFNQWZBQURBQUFBQXN3RUFBTU1DQUFEREF3QUF3d1FBQU1NRkFBRERCZ0FBd3djQUFNTUlBQUREQ1FBQXd3b0FBTU1MQUFERERBQUF3dzBBQU5NT0FBREREd0FBd3dBQURMc0JBQXpEQWdBTXd3TUFETU1FQUF6VEFFR2tPZ3Y1QXdFQUFBQUNBQUFBQXdBQUFBUUFBQUFGQUFBQUJnQUFBQWNBQUFBSUFBQUFDUUFBQUFvQUFBQUxBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUlRQUFBQ0lBQUFBakFBQUFKQUFBQUNVQUFBQW1BQUFBSndBQUFDZ0FBQUFwQUFBQUtnQUFBQ3NBQUFBc0FBQUFMUUFBQUM0QUFBQXZBQUFBTUFBQUFERUFBQUF5QUFBQU13QUFBRFFBQUFBMUFBQUFOZ0FBQURjQUFBQTRBQUFBT1FBQUFEb0FBQUE3QUFBQVBBQUFBRDBBQUFBK0FBQUFQd0FBQUVBQUFBQmhBQUFBWWdBQUFHTUFBQUJrQUFBQVpRQUFBR1lBQUFCbkFBQUFhQUFBQUdrQUFBQnFBQUFBYXdBQUFHd0FBQUJ0QUFBQWJnQUFBRzhBQUFCd0FBQUFjUUFBQUhJQUFBQnpBQUFBZEFBQUFIVUFBQUIyQUFBQWR3QUFBSGdBQUFCNUFBQUFlZ0FBQUZzQUFBQmNBQUFBWFFBQUFGNEFBQUJmQUFBQVlBQUFBR0VBQUFCaUFBQUFZd0FBQUdRQUFBQmxBQUFBWmdBQUFHY0FBQUJvQUFBQWFRQUFBR29BQUFCckFBQUFiQUFBQUcwQUFBQnVBQUFBYndBQUFIQUFBQUJ4QUFBQWNnQUFBSE1BQUFCMEFBQUFkUUFBQUhZQUFBQjNBQUFBZUFBQUFIa0FBQUI2QUFBQWV3QUFBSHdBQUFCOUFBQUFmZ0FBQUg4QVFhREVBQXYvQVFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFNZ0FpQUNJQUlnQWlBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQllBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QWpZQ05nSTJBallDTmdJMkFqWUNOZ0kyQWpZQk1BRXdBVEFCTUFFd0FUQUJNQUkxUWpWQ05VSTFRalZDTlVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkJNQUV3QVRBQk1BRXdBVEFDTllJMWdqV0NOWUkxZ2pXQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnVEFCTUFFd0FUQUFnQkJwTXdBQy9rREFRQUFBQUlBQUFBREFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQXNBQUFBTUFBQUFEUUFBQUE0QUFBQVBBQUFBRUFBQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBVkFBQUFGZ0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDTUFBQUFrQUFBQUpRQUFBQ1lBQUFBbkFBQUFLQUFBQUNrQUFBQXFBQUFBS3dBQUFDd0FBQUF0QUFBQUxnQUFBQzhBQUFBd0FBQUFNUUFBQURJQUFBQXpBQUFBTkFBQUFEVUFBQUEyQUFBQU53QUFBRGdBQUFBNUFBQUFPZ0FBQURzQUFBQThBQUFBUFFBQUFENEFBQUEvQUFBQVFBQUFBRUVBQUFCQ0FBQUFRd0FBQUVRQUFBQkZBQUFBUmdBQUFFY0FBQUJJQUFBQVNRQUFBRW9BQUFCTEFBQUFUQUFBQUUwQUFBQk9BQUFBVHdBQUFGQUFBQUJSQUFBQVVnQUFBRk1BQUFCVUFBQUFWUUFBQUZZQUFBQlhBQUFBV0FBQUFGa0FBQUJhQUFBQVd3QUFBRndBQUFCZEFBQUFYZ0FBQUY4QUFBQmdBQUFBUVFBQUFFSUFBQUJEQUFBQVJBQUFBRVVBQUFCR0FBQUFSd0FBQUVnQUFBQkpBQUFBU2dBQUFFc0FBQUJNQUFBQVRRQUFBRTRBQUFCUEFBQUFVQUFBQUZFQUFBQlNBQUFBVXdBQUFGUUFBQUJWQUFBQVZnQUFBRmNBQUFCWUFBQUFXUUFBQUZvQUFBQjdBQUFBZkFBQUFIMEFBQUIrQUFBQWZ3QkJvTlFBQzZFQ0NnQUFBR1FBQUFEb0F3QUFFQ2NBQUtDR0FRQkFRZzhBZ0phWUFBRGg5UVgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBRUNBd1FGQmdjSUNmLy8vLy8vLy84S0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSS8vLy8vLy8vd29MREEwT0R4QVJFaE1VRlJZWEdCa2FHeHdkSGg4Z0lTSWovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QkIwTllBQ3hnUkFBb0FFUkVSQUFBQUFBVUFBQUFBQUFBSkFBQUFBQXNBUWZEV0FBc2hFUUFQQ2hFUkVRTUtCd0FCRXdrTEN3QUFDUVlMQUFBTEFBWVJBQUFBRVJFUkFFR2gxd0FMQVFzQVFhclhBQXNZRVFBS0NoRVJFUUFLQUFBQ0FBa0xBQUFBQ1FBTEFBQUxBRUhiMXdBTEFRd0FRZWZYQUFzVkRBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BRUdWMkFBTEFRNEFRYUhZQUFzVkRRQUFBQVFOQUFBQUFBa09BQUFBQUFBT0FBQU9BRUhQMkFBTEFSQUFRZHZZQUFzZUR3QUFBQUFQQUFBQUFBa1FBQUFBQUFBUUFBQVFBQUFTQUFBQUVoSVNBRUdTMlFBTERoSUFBQUFTRWhJQUFBQUFBQUFKQUVIRDJRQUxBUXNBUWMvWkFBc1ZDZ0FBQUFBS0FBQUFBQWtMQUFBQUFBQUxBQUFMQUVIOTJRQUxBUXdBUVluYUFBdCtEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUFBd01USXpORFUyTnpnNVFVSkRSRVZHR1JKRU93SS9MRWNVUFRNd0Noc0dSa3RGTnc5SkRvNFhBMEFkUEdrck5oOUtMUndCSUNVcElRZ01GUllpTGhBNFBnczBNUmhrZEhWMkwwRUpmemtSSTBNeVFvbUtpd1VFSmlnbkRTb2VOWXdIR2tpVEU1U1ZBRUdRMndBTDF3NUpiR3hsWjJGc0lHSjVkR1VnYzJWeGRXVnVZMlVBUkc5dFlXbHVJR1Z5Y205eUFGSmxjM1ZzZENCdWIzUWdjbVZ3Y21WelpXNTBZV0pzWlFCT2IzUWdZU0IwZEhrQVVHVnliV2x6YzJsdmJpQmtaVzVwWldRQVQzQmxjbUYwYVc5dUlHNXZkQ0J3WlhKdGFYUjBaV1FBVG04Z2MzVmphQ0JtYVd4bElHOXlJR1JwY21WamRHOXllUUJPYnlCemRXTm9JSEJ5YjJObGMzTUFSbWxzWlNCbGVHbHpkSE1BVm1Gc2RXVWdkRzl2SUd4aGNtZGxJR1p2Y2lCa1lYUmhJSFI1Y0dVQVRtOGdjM0JoWTJVZ2JHVm1kQ0J2YmlCa1pYWnBZMlVBVDNWMElHOW1JRzFsYlc5eWVRQlNaWE52ZFhKalpTQmlkWE41QUVsdWRHVnljblZ3ZEdWa0lITjVjM1JsYlNCallXeHNBRkpsYzI5MWNtTmxJSFJsYlhCdmNtRnlhV3g1SUhWdVlYWmhhV3hoWW14bEFFbHVkbUZzYVdRZ2MyVmxhd0JEY205emN5MWtaWFpwWTJVZ2JHbHVhd0JTWldGa0xXOXViSGtnWm1sc1pTQnplWE4wWlcwQVJHbHlaV04wYjNKNUlHNXZkQ0JsYlhCMGVRQkRiMjV1WldOMGFXOXVJSEpsYzJWMElHSjVJSEJsWlhJQVQzQmxjbUYwYVc5dUlIUnBiV1ZrSUc5MWRBQkRiMjV1WldOMGFXOXVJSEpsWm5WelpXUUFTRzl6ZENCcGN5QmtiM2R1QUVodmMzUWdhWE1nZFc1eVpXRmphR0ZpYkdVQVFXUmtjbVZ6Y3lCcGJpQjFjMlVBUW5KdmEyVnVJSEJwY0dVQVNTOVBJR1Z5Y205eUFFNXZJSE4xWTJnZ1pHVjJhV05sSUc5eUlHRmtaSEpsYzNNQVFteHZZMnNnWkdWMmFXTmxJSEpsY1hWcGNtVmtBRTV2SUhOMVkyZ2daR1YyYVdObEFFNXZkQ0JoSUdScGNtVmpkRzl5ZVFCSmN5QmhJR1JwY21WamRHOXllUUJVWlhoMElHWnBiR1VnWW5WemVRQkZlR1ZqSUdadmNtMWhkQ0JsY25KdmNnQkpiblpoYkdsa0lHRnlaM1Z0Wlc1MEFFRnlaM1Z0Wlc1MElHeHBjM1FnZEc5dklHeHZibWNBVTNsdFltOXNhV01nYkdsdWF5QnNiMjl3QUVacGJHVnVZVzFsSUhSdmJ5QnNiMjVuQUZSdmJ5QnRZVzU1SUc5d1pXNGdabWxzWlhNZ2FXNGdjM2x6ZEdWdEFFNXZJR1pwYkdVZ1pHVnpZM0pwY0hSdmNuTWdZWFpoYVd4aFlteGxBRUpoWkNCbWFXeGxJR1JsYzJOeWFYQjBiM0lBVG04Z1kyaHBiR1FnY0hKdlkyVnpjd0JDWVdRZ1lXUmtjbVZ6Y3dCR2FXeGxJSFJ2YnlCc1lYSm5aUUJVYjI4Z2JXRnVlU0JzYVc1cmN3Qk9ieUJzYjJOcmN5QmhkbUZwYkdGaWJHVUFVbVZ6YjNWeVkyVWdaR1ZoWkd4dlkyc2dkMjkxYkdRZ2IyTmpkWElBVTNSaGRHVWdibTkwSUhKbFkyOTJaWEpoWW14bEFGQnlaWFpwYjNWeklHOTNibVZ5SUdScFpXUUFUM0JsY21GMGFXOXVJR05oYm1ObGJHVmtBRVoxYm1OMGFXOXVJRzV2ZENCcGJYQnNaVzFsYm5SbFpBQk9ieUJ0WlhOellXZGxJRzltSUdSbGMybHlaV1FnZEhsd1pRQkpaR1Z1ZEdsbWFXVnlJSEpsYlc5MlpXUUFSR1YyYVdObElHNXZkQ0JoSUhOMGNtVmhiUUJPYnlCa1lYUmhJR0YyWVdsc1lXSnNaUUJFWlhacFkyVWdkR2x0Wlc5MWRBQlBkWFFnYjJZZ2MzUnlaV0Z0Y3lCeVpYTnZkWEpqWlhNQVRHbHVheUJvWVhNZ1ltVmxiaUJ6WlhabGNtVmtBRkJ5YjNSdlkyOXNJR1Z5Y205eUFFSmhaQ0J0WlhOellXZGxBRVpwYkdVZ1pHVnpZM0pwY0hSdmNpQnBiaUJpWVdRZ2MzUmhkR1VBVG05MElHRWdjMjlqYTJWMEFFUmxjM1JwYm1GMGFXOXVJR0ZrWkhKbGMzTWdjbVZ4ZFdseVpXUUFUV1Z6YzJGblpTQjBiMjhnYkdGeVoyVUFVSEp2ZEc5amIyd2dkM0p2Ym1jZ2RIbHdaU0JtYjNJZ2MyOWphMlYwQUZCeWIzUnZZMjlzSUc1dmRDQmhkbUZwYkdGaWJHVUFVSEp2ZEc5amIyd2dibTkwSUhOMWNIQnZjblJsWkFCVGIyTnJaWFFnZEhsd1pTQnViM1FnYzNWd2NHOXlkR1ZrQUU1dmRDQnpkWEJ3YjNKMFpXUUFVSEp2ZEc5amIyd2dabUZ0YVd4NUlHNXZkQ0J6ZFhCd2IzSjBaV1FBUVdSa2NtVnpjeUJtWVcxcGJIa2dibTkwSUhOMWNIQnZjblJsWkNCaWVTQndjbTkwYjJOdmJBQkJaR1J5WlhOeklHNXZkQ0JoZG1GcGJHRmliR1VBVG1WMGQyOXlheUJwY3lCa2IzZHVBRTVsZEhkdmNtc2dkVzV5WldGamFHRmliR1VBUTI5dWJtVmpkR2x2YmlCeVpYTmxkQ0JpZVNCdVpYUjNiM0pyQUVOdmJtNWxZM1JwYjI0Z1lXSnZjblJsWkFCT2J5QmlkV1ptWlhJZ2MzQmhZMlVnWVhaaGFXeGhZbXhsQUZOdlkydGxkQ0JwY3lCamIyNXVaV04wWldRQVUyOWphMlYwSUc1dmRDQmpiMjV1WldOMFpXUUFRMkZ1Ym05MElITmxibVFnWVdaMFpYSWdjMjlqYTJWMElITm9kWFJrYjNkdUFFOXdaWEpoZEdsdmJpQmhiSEpsWVdSNUlHbHVJSEJ5YjJkeVpYTnpBRTl3WlhKaGRHbHZiaUJwYmlCd2NtOW5jbVZ6Y3dCVGRHRnNaU0JtYVd4bElHaGhibVJzWlFCU1pXMXZkR1VnU1M5UElHVnljbTl5QUZGMWIzUmhJR1Y0WTJWbFpHVmtBRTV2SUcxbFpHbDFiU0JtYjNWdVpBQlhjbTl1WnlCdFpXUnBkVzBnZEhsd1pRQk9ieUJsY25KdmNpQnBibVp2Y20xaGRHbHZiZ0FBQUFBQUFFeERYME5VV1ZCRkFBQUFBRXhEWDA1VlRVVlNTVU1BQUV4RFgxUkpUVVVBQUFBQUFFeERYME5QVEV4QlZFVUFBRXhEWDAxUFRrVlVRVkpaQUV4RFgwMUZVMU5CUjBWVEFFSHc2UUFMbHdJREFBQUFCQUFBQUFRQUFBQUdBQUFBZy9taUFFUk9iZ0Q4S1JVQTBWY25BTjAwOVFCaTI4QUFQSm1WQUVHUVF3QmpVZjRBdTk2ckFMZGh4UUE2YmlRQTBrMUNBRWtHNEFBSjZpNEFISkxSQU9zZC9nQXBzUndBNkQ2bkFQVTFnZ0JFdXk0QW5PbUVBTFFtY0FCQmZsOEExcEU1QUZPRE9RQ2M5RGtBaTErRUFDajV2UUQ0SHpzQTN2K1hBQStZQlFBUkwrOEFDbHFMQUcwZmJRRFBmallBQ2NzbkFFWlB0d0NlWmo4QUxlcGZBTG9uZFFEbDY4Y0FQWHZ4QVBjNUJ3Q1NVb29BKzJ2cUFCK3hYd0FJWFkwQU1BTldBSHY4UmdEd3Eyc0FJTHpQQURiMG1nRGpxUjBBWG1HUkFBZ2I1Z0NGbVdVQW9CUmZBSTFBYUFDQTJQOEFKM05OQUFZR01RREtWaFVBeWFoekFIdmlZQUJyak1BQVFaUHNBQXY5QTBEN0lmay9BQUFBQUMxRWRENEFBQUNBbUViNFBBQUFBR0JSekhnN0FBQUFnSU1iOERrQUFBQkFJQ1Y2T0FBQUFJQWlndU0yQUFBQUFCM3phVFU0WSswKzJnOUpQMTZZZXovYUQ4ay9hVGVzTVdnaElqTzBEeFF6YUNHaU13QUFBQUFDQUFBQUF3QUFBQVVBQUFBSEFBQUFDd0FBQUEwQUFBQVJBQUFBRXdBQUFCY0FBQUFkQUFBQUh3QUFBQ1VBQUFBcEFBQUFLd0FBQUM4QUFBQTFBQUFBT3dBQUFEMEFBQUJEQUFBQVJ3QUFBRWtBQUFCUEFBQUFVd0FBQUZrQUFBQmhBQUFBWlFBQUFHY0FBQUJyQUFBQWJRQUFBSEVBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBbFFBQUFKY0FBQUNkQUFBQW93QUFBS2NBQUFDdEFBQUFzd0FBQUxVQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTB3QUFBQUVBQUFBTEFBQUFEUUFBQUJFQUFBQVRBQUFBRndBQUFCMEFBQUFmQUFBQUpRQUFBQ2tBQUFBckFBQUFMd0FBQURVQUFBQTdBQUFBUFFBQUFFTUFBQUJIQUFBQVNRQUFBRThBQUFCVEFBQUFXUUFBQUdFQUFBQmxBQUFBWndBQUFHc0FBQUJ0QUFBQWNRQUFBSGtBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBandBQUFKVUFBQUNYQUFBQW5RQUFBS01BQUFDbkFBQUFxUUFBQUswQUFBQ3pBQUFBdFFBQUFMc0FBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwUUFBQURBeE1qTTBOVFkzT0RsaFltTmtaV1pCUWtORVJVWjRXQ3N0Y0ZCcFNXNU9BRUdnOEFBTGdRRWxBQUFBYlFBQUFDOEFBQUFsQUFBQVpBQUFBQzhBQUFBbEFBQUFlUUFBQUNVQUFBQlpBQUFBTFFBQUFDVUFBQUJ0QUFBQUxRQUFBQ1VBQUFCa0FBQUFKUUFBQUVrQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFBZ0FBQUFKUUFBQUhBQUFBQUFBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBUWJEeEFBdTVBU1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUJRUlFBQUUyTUFBSGhGQUFEWmJ3QUE4RGdBQUFBQUFBQjRSUUFBN1hJQUFLZzdBQUFBQUFBQWVFVUFBR2wrQUFDNFFnQUFBQUFBQUhoRkFBQVprQUFBdUVJQUFBQUFBQUI0UlFBQWpaQUFBTGhDQUFBQUFBQUE1RVVBQUp5bkFBQUFBQUFBQVFBQUFHQTVBQUFBQUFBQVVFVUFBTnVuQUFBRkFFSDA4Z0FMQVFJQVFZenpBQXNLQVFBQUFBRUFBQUNtNmdCQnBQTUFDd0VDQUVHejh3QUxCZi8vLy8vL0FFSDQ4d0FMQVFrQVFZVDBBQXNCQWdCQm1QUUFDeElDQUFBQUFBQUFBQUVBQUFCbzBnQUFBQVFBUWNUMEFBc0UvLy8vL3dCQmlQVUFDd0VGQUVHVTlRQUxBUU1BUWF6MUFBc09BUUFBQUFJQUFBQjQxZ0FBQUFRQVFjVDFBQXNCQVFCQjAvVUFDd1VLLy8vLy93QkJ2UFlBQ3dFREFFSGo5Z0FMQmYvLy8vLy9BRUdvOXdBTDF4QlFSUUFBL3I4QUFIaEZBQUJld0FBQXdEc0FBQUFBQUFCNFJRQUFDOEFBQU5BN0FBQUFBQUFBVUVVQUFDekFBQUI0UlFBQU9jQUFBTEE3QUFBQUFBQUFlRVVBQUtqQUFBQ29Pd0FBQUFBQUFIaEZBQUM0d0FBQTZEc0FBQUFBQUFCNFJRQUF5Y0FBQU1BN0FBQUFBQUFBZUVVQUFPdkFBQUFJUEFBQUFBQUFBSGhGQUFBUHdRQUF3RHNBQUFBQUFBRElSUUFBTjhFQUFNaEZBQUE1d1FBQXlFVUFBRHZCQUFESVJRQUFQY0VBQU1oRkFBQS93UUFBeUVVQUFFSEJBQURJUlFBQVE4RUFBTWhGQUFCRndRQUF5RVVBQUVmQkFBRElSUUFBWnNvQUFNaEZBQUJKd1FBQXlFVUFBRXZCQUFESVJRQUFUY0VBQUhoRkFBQlB3UUFBc0RzQUFBQUFBQUJRUlFBQXNNUUFBRkJGQUFEUHhBQUFVRVVBQU83RUFBQlFSUUFBRGNVQUFGQkZBQUFzeFFBQVVFVUFBRXZGQUFCUVJRQUFhc1VBQUZCRkFBQ0p4UUFBVUVVQUFLakZBQUJRUlFBQXg4VUFBRkJGQUFEbXhRQUFVRVVBQUFYR0FBQlFSUUFBSk1ZQUFPUkZBQUEzeGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQjV4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFDN3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUQ2eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQUhoRkFBQkx4d0FBaUQwQUFBQUFBQUJRUlFBQU9jY0FBSGhGQUFCMXh3QUFpRDBBQUFBQUFBQlFSUUFBbjhjQUFGQkZBQURReHdBQTVFVUFBQUhJQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFERElBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy81RVVBQUYvSUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBSTdJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vZUVVQUFMM0lBQUNvUFFBQUFBQUFBSGhGQUFEV3lBQUFvRDBBQUFBQUFBQjRSUUFBRmNrQUFLZzlBQUFBQUFBQWVFVUFBQzNKQUFDZ1BRQUFBQUFBQUhoRkFBQkZ5UUFBWUQ0QUFBQUFBQUI0UlFBQVdja0FBTEJDQUFBQUFBQUFlRVVBQUcvSkFBQmdQZ0FBQUFBQUFPUkZBQUNJeVFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUtBK0FBQUFBQUFBNUVVQUFNekpBQUFBQUFBQUFRQUFBTGcrQUFBQUFBQUFVRVVBQU9MSkFBRGtSUUFBKzhrQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEZ1BnQUFBQUFBQU9SRkFBQS95Z0FBQUFBQUFBRUFBQUM0UGdBQUFBQUFBT1JGQUFCb3lnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFCZy9BQUFBQUFBQTVFVUFBS3pLQUFBQUFBQUFBUUFBQURBL0FBQUFBQUFBVUVVQUFNTEtBQURrUlFBQTI4b0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQllQd0FBQUFBQUFPUkZBQUFmeXdBQUFBQUFBQUVBQUFBd1B3QUFBQUFBQU9SRkFBQjF6QUFBQUFBQUFBTUFBQUJnUGdBQUFnQUFBSmcvQUFBQ0FBQUFvRDhBQUFBSUFBQlFSUUFBM013QUFGQkZBQUM2ekFBQTVFVUFBTy9NQUFBQUFBQUFBd0FBQUdBK0FBQUNBQUFBbUQ4QUFBSUFBQURRUHdBQUFBZ0FBRkJGQUFBMHpRQUE1RVVBQUZiTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQStEOEFBQUFJQUFCUVJRQUFtODBBQU9SRkFBQ3d6UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBUGcvQUFBQUNBQUE1RVVBQVBYTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFCUVJRQUFFYzRBQU9SRkFBQW16Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJBQUFBQ0FBQUE1RVVBQUVMT0FBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFEa1JRQUFYczRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJBUUFBQUFnQUFBT1JGQUFDSnpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNaEFBQUFBQUFBQVVFVUFBTS9PQUFEa1JRQUE4ODRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUR3UUFBQUFBQUFBRkJGQUFBNXp3QUE1RVVBQUZqUEFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQUdFRUFBQUFBQUFCUVJRQUFuczhBQU9SRkFBQzN6d0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJCQUFBQUFBQUFVRVVBQVAzUEFBRGtSUUFBRnRBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCb1FRQUFBZ0FBQUZCRkFBQXIwQUFBNUVVQUFNTFFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUVBQUFJQUFBQjRSUUFBUTlBQUFLQkJBQUFBQUFBQTVFVUFBR2JRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUJRUlFBQWlkQUFBSGhGQUFDZzBBQUFvRUVBQUFBQUFBRGtSUUFBMTlBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEQVFRQUFBZ0FBQU9SRkFBRDUwQUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTUJCQUFBQ0FBQUE1RVVBQUJ2UkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCNFJRQUFQdEVBQUdBK0FBQUFBQUFBNUVVQUFGVFJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUlBQUFJQUFBQlFSUUFBWnRFQUFPUkZBQUI3MFFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUdoQ0FBQUNBQUFBZUVVQUFKalJBQUJnUGdBQUFBQUFBSGhGQUFDdDBRQUFZRDRBQUFBQUFBQlFSUUFBd3RFQUFPUkZBQURiMFFBQUFBQUFBQUVBQUFDd1FnQUFBQUFBQUFFQUFBQUFBQUFBK0RnQUFBRUFBQUFDQUFBQUFBQUFBUEE0QUFBREFBQUFCQUFBQUFBQUFBQUlPUUFBQlFBQUFBWUFBQUFCQUFBQXVWS01QbzVhNXo2NVVvdytBQUFBQUJnNUFBQUhBQUFBQ0FBQUFBa0FBQUFCQUFBQUNnQUFBQUFBQUFBb09RQUFCd0FBQUFzQUFBQU1BQUFBQWdBQUFBMEFBQUFBQUFBQU9Ea0FBQWNBQUFBT0FBQUFEd0FBQUFNQUFBQVFBQUFBLy8vLy8vNy8vLy85Ly8vL09Ed0FBSEE4QUFDUVBBQUFPRHdBQUhBOEFBQndQQUFBbUR3QUFIQThBQUE0UEFBQWNEd0FBSmc4QUFCd1BBQUFPRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQWNEd0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBQVFBQUFBQUFBQUFDQUFBQVFBWUFBSUErQUFBQUFBQUFpQk1BQURBYUFBQVVBQUFBUXk1VlZFWXRPQUJCaklnQkN3THdRd0JCcElnQkN4Sm9PUUFBK0RrQUFJZzZBQUNJT2dBQUlCMEFRZWlKQVFzQ2pPSUFRYUNLQVF1OUVpQWlBQUFnSmdBQVgzQ0pBUDhKTHc4QUFJQS9BQURBUHdBQUFBRGN6OUUxQUFBQUFBREFGVDhBQUFBQXNEc0FBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQUVBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBTmc3QUFBUkFBQUFGUUFBQUJNQUFBQVVBQUFBQkFBQUFBSUFBQUFDQUFBQUFnQUFBQUFBQUFEb093QUFGZ0FBQUJjQUFBQUVBQUFBQUFBQUFQZzdBQUFXQUFBQUdBQUFBQVFBQUFBQUFBQUFLRHdBQUJFQUFBQVpBQUFBRXdBQUFCUUFBQUFGQUFBQUFBQUFBS0E4QUFBUkFBQUFHZ0FBQUJNQUFBQVVBQUFBQkFBQUFBTUFBQUFEQUFBQUF3QUFBQUFBQUFDSVBRQUFHd0FBQUJ3QUFBQUFBQUFBb0QwQUFCMEFBQUFlQUFBQUFRQUFBQVlBQUFBQkFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQWdBQUFBRkFBQUFBQUFBQUtnOUFBQWZBQUFBSUFBQUFBSUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQUxBQUFBREFBQUFBWUFBQUFMQUFBQUJ3QUFBQWdBQUFBQUFBQUFzRDBBQUNFQUFBQWlBQUFBK1AvLy8vai8vLyt3UFFBQUl3QUFBQ1FBQUFDZ1JnQUF0RVlBQUFnQUFBQUFBQUFBeUQwQUFDVUFBQUFtQUFBQStQLy8vL2ovLy8vSVBRQUFKd0FBQUNnQUFBRFFSZ0FBNUVZQUFBUUFBQUFBQUFBQTREMEFBQ2tBQUFBcUFBQUEvUC8vLy96Ly8vL2dQUUFBS3dBQUFDd0FBQUFBUndBQUZFY0FBQVFBQUFBQUFBQUErRDBBQUMwQUFBQXVBQUFBL1AvLy8vei8vLy80UFFBQUx3QUFBREFBQUFBd1J3QUFSRWNBQUFBQUFBQVFQZ0FBSHdBQUFERUFBQUFEQUFBQUNRQUFBQUlBQUFBRkFBQUFEUUFBQUFvQUFBQUtBQUFBQ3dBQUFBd0FBQUFHQUFBQURBQUFBQWdBQUFBQUFBQUFJRDRBQUIwQUFBQXlBQUFBQkFBQUFBWUFBQUFCQUFBQUJBQUFBQTRBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBMEFBQUFKQUFBQUFBQUFBREErQUFBZkFBQUFNd0FBQUFVQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBUEFBQUFFQUFBQUFvQUFBQUxBQUFBQndBQUFBQUFBQUJBUGdBQUhRQUFBRFFBQUFBR0FBQUFCZ0FBQUFFQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUVRQUFBQklBQUFBTEFBQUFDQUFBQUFVQUFBQUFBQUFBVUQ0QUFEVUFBQUEyQUFBQU53QUFBQUVBQUFBR0FBQUFEZ0FBQUFBQUFBQndQZ0FBT0FBQUFEa0FBQUEzQUFBQUFnQUFBQWNBQUFBUEFBQUFBQUFBQUlBK0FBQTZBQUFBT3dBQUFEY0FBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQUFBQUFEQVBnQUFQQUFBQUQwQUFBQTNBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFBQUFBQStENEFBRDRBQUFBL0FBQUFOd0FBQUFNQUFBQUVBQUFBQVFBQUFBVUFBQUFDQUFBQUFRQUFBQUlBQUFBR0FBQUFBQUFBQURnL0FBQkFBQUFBUVFBQUFEY0FBQUFIQUFBQUNBQUFBQU1BQUFBSkFBQUFCQUFBQUFNQUFBQUVBQUFBQ2dBQUFBQUFBQUJ3UHdBQVFnQUFBRU1BQUFBM0FBQUFFd0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUFRQUFBUGovLy85d1B3QUFGQUFBQUJVQUFBQVdBQUFBRndBQUFCZ0FBQUFaQUFBQUdnQUFBQUFBQUFDb1B3QUFSQUFBQUVVQUFBQTNBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFBZ0FBQVBqLy8vK29Qd0FBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFBQUFBQUNVQUFBQnRBQUFBTHdBQUFDVUFBQUJrQUFBQUx3QUFBQ1VBQUFCNUFBQUFBQUFBQUNVQUFBQkpBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQndBQUFBQUFBQUFDVUFBQUJoQUFBQUlBQUFBQ1VBQUFCaUFBQUFJQUFBQUNVQUFBQmtBQUFBSUFBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJaQUFBQUFBQUFBRUVBQUFCTkFBQUFBQUFBQUZBQUFBQk5BQUFBQUFBQUFFb0FBQUJoQUFBQWJnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBUmdBQUFHVUFBQUJpQUFBQWNnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBVFFBQUFHRUFBQUJ5QUFBQVl3QUFBR2dBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBYVFBQUFHd0FBQUFBQUFBQVRRQUFBR0VBQUFCNUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFHVUFBQUFBQUFBQVNnQUFBSFVBQUFCc0FBQUFlUUFBQUFBQUFBQkJBQUFBZFFBQUFHY0FBQUIxQUFBQWN3QUFBSFFBQUFBQUFBQUFVd0FBQUdVQUFBQndBQUFBZEFBQUFHVUFBQUJ0QUFBQVlnQUFBR1VBQUFCeUFBQUFBQUFBQUU4QUFBQmpBQUFBZEFBQUFHOEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFSQUFBQUdVQUFBQmpBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFTZ0FBQUdFQUFBQnVBQUFBQUFBQUFFWUFBQUJsQUFBQVlnQUFBQUFBQUFCTkFBQUFZUUFBQUhJQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUFBQUFBQktBQUFBZFFBQUFHd0FBQUFBQUFBQVFRQUFBSFVBQUFCbkFBQUFBQUFBQUZNQUFBQmxBQUFBY0FBQUFBQUFBQUJQQUFBQVl3QUFBSFFBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBQUFBQUFFUUFBQUJsQUFBQVl3QUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBSE1BQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVndBQUFHVUFBQUJrQUFBQWJnQUFBR1VBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUJvQUFBQWRRQUFBSElBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFBQUIxQUFBQWNnQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFBQUFBQUJYQUFBQVpRQUFBR1FBQUFBQUFBQUFWQUFBQUdnQUFBQjFBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQVFlaWNBUXNSMkQ4QUFFWUFBQUJIQUFBQU53QUFBQUVBUVlHZEFRdndCVUFBQUVnQUFBQkpBQUFBTndBQUFBSUFBQUFBQUFBQUlFQUFBRW9BQUFCTEFBQUFOd0FBQUNNQUFBQWtBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQ1VBQUFBTEFBQUFEQUFBQUFBQUFBQklRQUFBVEFBQUFFMEFBQUEzQUFBQUpnQUFBQ2NBQUFBTkFBQUFEZ0FBQUE4QUFBQVFBQUFBS0FBQUFCRUFBQUFTQUFBQUFBQUFBR2hBQUFCT0FBQUFUd0FBQURjQUFBQXBBQUFBS2dBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBckFBQUFGd0FBQUJnQUFBQUFBQUFBaUVBQUFGQUFBQUJSQUFBQU53QUFBQ3dBQUFBdEFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFDNEFBQUFkQUFBQUhnQUFBQUFBQUFDb1FBQUFVZ0FBQUZNQUFBQTNBQUFBQXdBQUFBUUFBQUFBQUFBQTBFQUFBRlFBQUFCVkFBQUFOd0FBQUFVQUFBQUdBQUFBQUFBQUFQaEFBQUJXQUFBQVZ3QUFBRGNBQUFBQkFBQUFJUUFBQUFBQUFBQWdRUUFBV0FBQUFGa0FBQUEzQUFBQUFnQUFBQ0lBQUFBQUFBQUFTRUVBQUZvQUFBQmJBQUFBTndBQUFCQUFBQUFFQUFBQUh3QUFBQUFBQUFCd1FRQUFYQUFBQUYwQUFBQTNBQUFBRVFBQUFBVUFBQUFnQUFBQUFBQUFBTWhCQUFCZUFBQUFYd0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUpCQkFBQmVBQUFBWUFBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFQaEJBQUJoQUFBQVlnQUFBRGNBQUFBRkFBQUFCZ0FBQUEwQUFBQXlBQUFBTXdBQUFBNEFBQUEwQUFBQUFBQUFBRGhDQUFCakFBQUFaQUFBQURjQUFBQUFBQUFBU0VJQUFHVUFBQUJtQUFBQU53QUFBQXdBQUFBU0FBQUFEUUFBQUJNQUFBQU9BQUFBQVFBQUFCUUFBQUFQQUFBQUFBQUFBSkJDQUFCbkFBQUFhQUFBQURjQUFBQTFBQUFBTmdBQUFDRUFBQUFpQUFBQUl3QUFBQUFBQUFDZ1FnQUFhUUFBQUdvQUFBQTNBQUFBTndBQUFEZ0FBQUFrQUFBQUpRQUFBQ1lBQUFCbUFBQUFZUUFBQUd3QUFBQnpBQUFBWlFBQUFBQUFBQUIwQUFBQWNnQUFBSFVBQUFCbEFFSDhvZ0VML0lBQ1lENEFBRjRBQUFCckFBQUFOd0FBQUFBQUFBQndRZ0FBWGdBQUFHd0FBQUEzQUFBQUZRQUFBQUlBQUFBREFBQUFCQUFBQUE4QUFBQVdBQUFBRUFBQUFCY0FBQUFSQUFBQUJRQUFBQmdBQUFBUUFBQUFBQUFBQU5oQkFBQmVBQUFBYlFBQUFEY0FBQUFIQUFBQUNBQUFBQkVBQUFBNUFBQUFPZ0FBQUJJQUFBQTdBQUFBQUFBQUFCaENBQUJlQUFBQWJnQUFBRGNBQUFBSkFBQUFDZ0FBQUJNQUFBQThBQUFBUFFBQUFCUUFBQUErQUFBQUFBQUFBS0JCQUFCZUFBQUFid0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUtBL0FBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFBQUFBQU5BL0FBQWNBQUFBSFFBQUFCNEFBQUFmQUFBQUlBQUFBQ0VBQUFBaUFBQUFSWEp5YjNJNklHeGhZbVZzYVc1bklIZHZjbXNnYjNabGNtWnNiM2N1Q2dCVmJtdHViM2R1SUc5eUlIVnVjM1Z3Y0c5eWRHVmtJR3hoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElISmxjWFZsYzNSbFpDNGdVMlYwSUhSdklHMWhiblZoYkM0S0FFeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhObGRDQjBieUFsY3k0S0FFMUJUbFZCVEFCQlZWUlBYMDFGUkVsQlRnQkJWVlJQWDA5VVUxVUFRVlZVVDE5QlJFRlFWRWxXUlFCQlZWUlBYMEpTUVVOTFJWUkpUa2NBUlhKeWIzSTZJRlZ1YzNWd2NHOXlkR1ZrSUhCcGVHVnNJR1p2Y20xaGRDQW9KV1FwSUhKbGNYVmxjM1JsWkM0S0FFRjFkRzhnZEdoeVpYTm9iMnhrSUNoaWNtRmphMlYwS1NCdFlYSnJaWElnWTI5MWJuUnpJQzFiSlROa09pQWxNMlJkSUZzbE0yUTZJQ1V6WkYwZ1d5VXpaRG9nSlROa1hTc3VDZ0JCZFhSdklIUm9jbVZ6YUc5c1pDQW9ZbkpoWTJ0bGRDa2dZV1JxZFhOMFpXUWdkR2h5WlhOb2IyeGtJSFJ2SUNWa0xnb0FiV1ZrYVdGdUFFOTBjM1VBUVhWMGJ5QjBhSEpsYzJodmJHUWdLQ1Z6S1NCaFpHcDFjM1JsWkNCMGFISmxjMmh2YkdRZ2RHOGdKV1F1Q2dBL1B6OGdNUW9BUHo4L0lESUtBRDgvUHlBekNnQkZjbkp2Y2pvZ2RXNXpkWEJ3YjNKMFpXUWdjR2w0Wld3Z1ptOXliV0YwTGdvQVJYSnliM0k2SUU1VlRFd2djR0YwZEVoaGJtUnNaUzRLQUVWeWNtOXlPaUJqWVc0bmRDQnNiMkZrSUhCaGRIUmxjbTRnWm5KdmJTQk9WVXhNSUdKMVptWmxjaTRLQUVWeWNtOXlPaUJ2ZFhRZ2IyWWdiV1Z0YjNKNUxnb0FJQWtLRFFCUVlYUjBaWEp1SUVSaGRHRWdjbVZoWkNCbGNuSnZjaUVoQ2dCRmNuSnZjaUJ5WldGa2FXNW5JSEJoZEhSbGNtNGdabWxzWlNBbkpYTW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHOXdaVzRnWTJGdFpYSmhJSEJoY21GdFpYUmxjbk1nWm1sc1pTQWlKWE1pSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCbWFXeGxJR3hsYm1kMGFDNEFSWEp5YjNJNklITjFjSEJzYVdWa0lHWnBiR1VnWkc5bGN5QnViM1FnWVhCd1pXRnlJSFJ2SUdKbElHRnVJRUZTVkc5dmJFdHBkQ0JqWVcxbGNtRWdjR0Z5WVcxbGRHVnlJR1pwYkdVdUNnQkZjbkp2Y2lBb0pXUXBPaUIxYm1GaWJHVWdkRzhnY21WaFpDQm1jbTl0SUdacGJHVXVBR0Z5WjJ4RFlXMWxjbUZHY25WemRIVnRVa2dvS1RvZ1lYSlFZWEpoYlVSbFkyOXRjRTFoZENncElHbHVaR2xqWVhSbFpDQndZWEpoYldWMFpYSWdaWEp5YjNJdUNnQkZjbkp2Y2pvZ2FXTndSMlYwU2w5VlgxaGpBRVZ5Y205eUlERTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ01qb2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBek9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURRNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTlRvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUEyT2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRGM2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3VDZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUVacGNuTjBJR3hwYm1VZ2JYVnpkQ0JpWlNCdWRXMWlaWElnYjJZZ2JXRnlhMlZ5SUdOdmJtWnBaM01nZEc4Z2NtVmhaQzRLQUNWc2JIVWxZd0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUhCaGRIUmxjbTRnSnlWekp5QnpjR1ZqYVdacFpXUWdhVzRnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuZFhKaGRHbHZiaUIzYUdsc1pTQnBiaUJpWVhKamIyUmxMVzl1YkhrZ2JXOWtaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQmthWEpsWTNSdmNua2dibUZ0WlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR3h2WVdRZ2NHRjBkR1Z5YmlBbkpYTW5MZ29BSld4bUFFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp5d2diV0Z5YTJWeUlHUmxabWx1YVhScGIyNGdKVE5rT2lCR2FYSnpkQ0JzYVc1bElHMTFjM1FnWW1VZ2NHRjBkR1Z5YmlCM2FXUjBhQzRLQUNWc1ppQWxiR1lnSld4bUlDVnNaZ0FsWmlBbFpnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3NJRzFoY210bGNpQmtaV1pwYm1sMGFXOXVJQ1V6WkRvZ1RHbHVaWE1nTWlBdElEUWdiWFZ6ZENCaVpTQnRZWEpyWlhJZ2RISmhibk5tYjNKdExnb0FXeVZ6WFNBQVpHVmlkV2NBYVc1bWJ3QjNZWEp1YVc1bkFHVnljbTl5QUNWekpYTUFMbWx6WlhRQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJR1pwYkdVZ0p5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCcGJXRm5aVk5sZEM0S0FFbHRZV2RsYzJWMElHTnZiblJoYVc1eklDVmtJR2x0WVdkbGN5NEtBRVpoYkd4cGJtY2dZbUZqYXlCMGJ5QnlaV0ZrYVc1bklDY2xjeVZ6SnlCcGJpQkJVbFJ2YjJ4TGFYUWdkalF1ZUNCbWIzSnRZWFF1Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRXBRUlVjZ1ptbHNaUzRLQUVWeWNtOXlJSEpsWVdScGJtY2dTbEJGUnlCbWFXeGxJR2hsWVdSbGNpNEtBQ1ZtQUVacGJHVWdiM0JsYmlCbGNuSnZjaTRnSlhNS0FGSmxZV1FnWlhKeWIzSWhJUW9BY2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpKem9nQUNWekpYTUtBQ1ZrQUFvakl5TWdVM1Z5Wm1GalpTQk9ieTRsWkNBakl5TUtBQ1Z6QUNBZ1VtVmhaQ0JKYldGblpWTmxkQzRLQUVWeWNtOXlJRzl3Wlc1cGJtY2dabWxzWlNBbkpYTXVhWE5sZENjdUNnQWdJQ0FnWlc1a0xnb0FJQ0JTWldGa0lFWmxZWFIxY21WVFpYUXVDZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtWnpaWFFuTGdvQUlDQlNaV0ZrSUUxaGNtdGxjbE5sZEM0S0FHMXlhd0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtMXlheWN1Q2dBbFppQWxaaUFsWmlBbFpnQlVjbUZ1YzJadmNtMWhkR2x2YmlCdFlYUnlhWGdnY21WaFpDQmxjbkp2Y2lFaENnQnFjR2NBYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXhMM0psWmtSaGRHRlRaWFJRZEhJeUxnb0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJdUNnQnlZZ0JyY0cxTWIyRmtVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JR1pwYkdWdVlXMWxMM0psWmtSaGRHRlRaWFJRZEhJdUNnQkZjbkp2Y2lCc2IyRmthVzVuSUV0UVRTQmtZWFJoT2lCMWJtRmliR1VnZEc4Z2IzQmxiaUJtYVd4bElDY2xjeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdiRzloWkdsdVp5QkxVRTBnWkdGMFlUb2daWEp5YjNJZ2NtVmhaR2x1WnlCa1lYUmhMZ29BYTNCdFEyaGhibWRsVUdGblpVNXZUMlpTWldaRVlYUmhVMlYwS0NrNklFNVZURXdnY21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmNtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nY21WbVJHRjBZVk5sZEM0S0FIQnZhVzUwY3kwbFpBb0FhM0J0VFdGMFkyaHBibWNvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2YVc1SmJXRm5aVXgxYldFdUNnQlFZV2RsV3lWa1hTQWdjSEpsT2lVelpDd2dZV1owT2lVelpDd2daWEp5YjNJZ1BTQWxaZ29BSlhNdUpYTUFRWE56WlhKMGFXOXVJR0J3ZVhKaGJXbGtMVDV6YVhwbEtDa2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTlFYjBkZmMyTmhiR1ZmYVc1MllYSnBZVzUwWDJSbGRHVmpkRzl5TG1Od2NBQlFlWEpoYldsa0lHbHpJRzV2ZENCaGJHeHZZMkYwWldRQVQyTjBZWFpsSUc5MWRDQnZaaUJ5WVc1blpRQlRZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J0U1cxaFoyVnpMbk5wZW1Vb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRHRndiR0ZqYVdGdUlIQjVjbUZ0YVdRZ2FHRnpJRzV2ZENCaVpXVnVJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1F0UG01MWJVOWpkR0YyWlhNb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCa2IyVnpJRzV2ZENCamIyNTBZV2x1SUdGdWVTQnNaWFpsYkhNQVFYTnpaWEowYVc5dUlHQmtlVzVoYldsalgyTmhjM1E4WTI5dWMzUWdRbWx1YjIxcFlXeFFlWEpoYldsa016Sm1LajRvY0hseVlXMXBaQ2xnSUdaaGFXeGxaQ0JwYmlBQVQyNXNlU0JpYVc1dmJXbGhiQ0J3ZVhKaGJXbGtJR2x6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCUGJteDVJRVl6TWlCcGJXRm5aWE1nYzNWd2NHOXlkR1ZrQUVGemMyVnlkR2x2YmlCZ2FXMHhMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOUdNekpnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR1F1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUU5dWJIa2djMmx1WjJ4bElHTm9ZVzV1Wld3Z2FXMWhaMlZ6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHbHRNUzVqYUdGdWJtVnNjeWdwSUQwOUlERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnWkM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVsdFlXZGxjeUJ0ZFhOMElHaGhkbVVnZEdobElITmhiV1VnZDJsa2RHZ0FRWE56WlhKMGFXOXVJR0JrTG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aWE1nYlhWemRDQm9ZWFpsSUhSb1pTQnpZVzFsSUdobGFXZG9kQUJCYzNObGNuUnBiMjRnWUdsdE1TNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lISnZkeUE4SUcxSVpXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtZ0FjbTkzSUc5MWRDQnZaaUJpYjNWdVpITUFUaloyYVhOcGIyNHlOVWRoZFhOemFXRnVVMk5oYkdWVGNHRmpaVkI1Y21GdGFXUkZBRVJ2UnlCUWVYSmhiV2xrQUU1dmJpMXRZWGdnYzNWd2NISmxjM05wYjI0QVUzVmljR2w0Wld3QWNISjFibVZHWldGMGRYSmxjd0JHYVc1a0lFOXlhV1Z1ZEdGMGFXOXVjd0JCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6TG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxaGdJR1poYVd4bFpDQnBiaUFBUW5WamEyVjBjeUJoY21VZ2JtOTBJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6V3pCZExuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnRSbVZoZEhWeVpWQnZhVzUwY3k1emFYcGxLQ2tnUEQwZ2JVMWhlRTUxYlVabFlYUjFjbVZRYjJsdWRITmdJR1poYVd4bFpDQnBiaUFBVkc5dklHMWhibmtnWm1WaGRIVnlaU0J3YjJsdWRITUFRWE56WlhKMGFXOXVJR0JpZFdOclpYUmJNRjB1Wm1seWMzUWdQajBnWW5WamEyVjBXMjVkTG1acGNuTjBZQ0JtWVdsc1pXUWdhVzRnQUc1MGFGOWxiR1Z0Wlc1MElHWmhhV3hsWkFCQmMzTmxjblJwYjI0Z1lHdHdMbk5qWVd4bElEd2diVXhoY0d4aFkybGhibEI1Y21GdGFXUXViblZ0VTJOaGJHVlFaWEpQWTNSaGRtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhCdmFXNTBJSE5qWVd4bElHbHpJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQnJjQzV6WTI5eVpTQTlQU0JzWVhBeExtZGxkRHhtYkc5aGRENG9lU2xiZUYxZ0lHWmhhV3hsWkNCcGJpQUFVMk52Y21VZ2FYTWdibTkwSUdOdmJuTnBjM1JsYm5RZ2QybDBhQ0IwYUdVZ1JHOUhJR2x0WVdkbEFFRnpjMlZ5ZEdsdmJpQmdiR0Z3TUM1b1pXbG5hSFFvS1NBOVBTQnNZWEF4TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZaR1YwWldOMGIzSnpMMFJ2UjE5elkyRnNaVjlwYm5aaGNtbGhiblJmWkdWMFpXTjBiM0l1YUFCWGFXUjBhQzlvWldsbmFIUWdZWEpsSUc1dmRDQmpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0d4aGNEQXVhR1ZwWjJoMEtDa2dQVDBnYkdGd01TNW9aV2xuYUhRb0tTa2dKaVlnS0Noc1lYQXhMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2dvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDa3BJQ1ltSUNoc1lYQXhMbmRwWkhSb0tDa2dQVDBnYkdGd01pNTNhV1IwYUNncEtXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnphWHBsY3lCaGNtVWdhVzVqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tIZ3RNU2tnUGowZ01DQW1KaUFvZUNzeEtTQThJR3hoY0RFdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9lUzB4S1NBK1BTQXdJQ1ltSUNoNUt6RXBJRHdnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUI1SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBU1cxaFoyVWdaR2x0Wlc1emFXOXVjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaHNZWEF3TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdWRDbHpkR1E2T21ac2IyOXlLSGdwSUQwOUlDaHBiblFwZUdBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YVc1MFpYSndiMnhoZEdVdWFBQm1iRzl2Y2lncElHRnVaQ0JqWVhOMElHNXZkQ0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUNocGJuUXBjM1JrT2pwbWJHOXZjaWg1S1NBOVBTQW9hVzUwS1hsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I1Y0NBK1BTQXdJQ1ltSUhsd0lEd2dhR1ZwWjJoMFlDQm1ZV2xzWldRZ2FXNGdBSGx3SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I1Y0Y5d2JIVnpYekVnUGowZ01DQW1KaUI1Y0Y5d2JIVnpYekVnUENCb1pXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQWVYQmZjR3gxYzE4eElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNGNDQStQU0F3SUNZbUlIaHdJRHdnZDJsa2RHaGdJR1poYVd4bFpDQnBiaUFBZUhBZ2IzVjBJRzltSUdKdmRXNWtjd0JCYzNObGNuUnBiMjRnWUhod1gzQnNkWE5mTVNBK1BTQXdJQ1ltSUhod1gzQnNkWE5mTVNBOElIZHBaSFJvWUNCbVlXbHNaV1FnYVc0Z0FIaHdYM0JzZFhOZk1TQnZkWFFnYjJZZ1ltOTFibVJ6QUVGemMyVnlkR2x2YmlCZ2R6QWdQajBnTUNBbUppQjNNQ0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVQzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnZHpFZ1BqMGdNQ0FtSmlCM01TQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3SUNZbUlIY3lJRHc5SURFdU1EQXdNV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIY3pJRDQ5SURBZ0ppWWdkek1nUEQwZ01TNHdNREF4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLSGN3SzNjeEszY3lLM2N6S1NBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvZUMweEtTQStQU0F3SUNZbUlDaDRLekVwSUR3Z2FXMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoNUxURXBJRDQ5SURBZ0ppWWdLSGtyTVNrZ1BDQnBiUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNERXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNFgyUnBkbDh5TFRBdU5XWWdQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRYMlJwZGw4eUlHOTFkQ0J2WmlCaWIzVnVaSE1nYjNWMElHOW1JR0p2ZFc1a2N5Qm1iM0lnYVc1MFpYSndiMnhoZEdsdmJnQkJjM05sY25ScGIyNGdZSGxmWkdsMlh6SXRNQzQxWmlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhsZlpHbDJYeklnYjNWMElHOW1JR0p2ZFc1a2N5QnZkWFFnYjJZZ1ltOTFibVJ6SUdadmNpQnBiblJsY25CdmJHRjBhVzl1QUVGemMyVnlkR2x2YmlCZ2VGOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnZVY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVobGFXZG9kQ0JwY3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TVM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BDQnRTVzFoWjJWekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpibVJsZUNCcGN5QnZkWFFnYjJZZ2NtRnVaMlVBVGpaMmFYTnBiMjR4T0VKcGJtOXRhV0ZzVUhseVlXMXBaRE15WmtVQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK1BTQTFZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbU53Y0FCSmJXRm5aU0JwY3lCMGIyOGdjMjFoYkd3QVFYTnpaWEowYVc5dUlHQm9aV2xuYUhRZ1BqMGdOV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlWU1U1VU9HQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdKbElHZHlZWGx6WTJGc1pRQkJjM05sY25ScGIyNGdZR2x0WVdkbExtTm9ZVzV1Wld4ektDa2dQVDBnTVdBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR2hoZG1VZ01TQmphR0Z1Ym1Wc0FFRnpjMlZ5ZEdsdmJpQmdiVkI1Y21GdGFXUXVjMmw2WlNncElEMDlJRzFPZFcxUFkzUmhkbVZ6S20xT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQm9ZWE1nYm05MElHSmxaVzRnWVd4c2IyTmhkR1ZrSUhsbGRBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuZHBaSFJvS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J2WmlCM2NtOXVaeUJ6YVhwbElHWnZjaUJ3ZVhKaGJXbGtBRUZ6YzJWeWRHbHZiaUJnYVcxaFoyVXVhR1ZwWjJoMEtDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JrYzNRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJFWlhOMGFXNWhkR2x2YmlCcGJXRm5aU0J6YUc5MWJHUWdZbVVnWVNCbWJHOWhkQUJWYm10dWIzZHVJR2x0WVdkbElIUjVjR1VBVlc1emRYQndiM0owWldRZ2FXMWhaMlVnZEhsd1pRQk9OblpwYzJsdmJqbEZlR05sY0hScGIyNUZBRUZ6YzJWeWRHbHZiaUJnYVcwdWQybGtkR2dvS1NBOVBTQnBiUzV6ZEdWd0tDa3ZjMmw2Wlc5bUtHWnNiMkYwS1dBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YjNKcFpXNTBZWFJwYjI1ZllYTnphV2R1YldWdWRDNWpjSEFBVTNSbGNDQnphWHBsSUcxMWMzUWdZbVVnWlhGMVlXd2dkRzhnZDJsa2RHZ2dabTl5SUc1dmR3QkJjM05sY25ScGIyNGdZSGdnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNElEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnYkdWemN5QjBhR0Z1SUhSb1pTQnBiV0ZuWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjVJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQWVTQnRkWE4wSUdKbElHeGxjM01nZEdoaGJpQjBhR1VnYVcxaFoyVWdhR1ZwWjJoMEFFRnpjMlZ5ZEdsdmJpQmdaeTVqYUdGdWJtVnNjeWdwSUQwOUlESmdJR1poYVd4bFpDQnBiaUFBVG5WdFltVnlJRzltSUdOb1lXNXVaV3h6SUhOb2IzVnNaQ0JpWlNBeUFFRnpjMlZ5ZEdsdmJpQmdiV0Y0WDJobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUV0Y0YVcxMWJTQmlhVzRnYzJodmRXeGtJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2FHbHpkQ0FoUFNCT1ZVeE1ZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OXZjbWxsYm5SaGRHbHZibDloYzNOcFoyNXRaVzUwTG1nQVNHbHpkRzluY21GdElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCQmMzTmxjblJwYjI0Z1lDaG1ZbWx1S3pBdU5XWXBJRDRnTUNBbUppQW9abUpwYmkwd0xqVm1LU0E4SUc1MWJWOWlhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFUmxZMmx0WVd3Z1ltbHVJSEJ2YzJsMGFXOXVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUcxaFoyNXBkSFZrWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUUxaFoyNXBkSFZrWlNCallXNXViM1FnWW1VZ2JtVm5ZWFJwZG1VQVFYTnpaWEowYVc5dUlHQnVkVzFmWW1sdWN5QStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCaWFXNXpJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTVNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN5SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCaU1TQStQU0F3SUNZbUlHSXhJRHdnYm5WdFgySnBibk5nSUdaaGFXeGxaQ0JwYmlBQVlqRWdZbWx1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSXlJRDQ5SURBZ0ppWWdZaklnUENCdWRXMWZZbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQmlNaUJpYVc0Z2FXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFbEVJR0ZzY21WaFpIa2daWGhwYzNSekFFSjFhV3hrSUZCNWNtRnRhV1FBUlhoMGNtRmpkQ0JHWldGMGRYSmxjd0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5RdWMybDZaU2dwSUQwOUlHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwySnBibUZ5ZVY5b2FXVnlZWEpqYUdsallXeGZZMngxYzNSbGNtbHVaeTVvQUVGemMybG5ibTFsYm5RZ2MybDZaU0IzY205dVp3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblJiYVYwZ0lUMGdMVEZnSUdaaGFXeGxaQ0JwYmlBQVFYTnphV2R1YldWdWRDQnBjeUJwYm5aaGJHbGtBRUZ6YzJWeWRHbHZiaUJnWVhOemFXZHViV1Z1ZEZ0cFhTQThJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMmxuYm0xbGJuUWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2FXNWthV05sYzF0aGMzTnBaMjV0Wlc1MFcybGRYU0E4SUc1MWJWOW1aV0YwZFhKbGMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsMExUNXpaV052Ym1RdWMybDZaU2dwSUNFOUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4MWMzUmxjaUJ0ZFhOMElHaGhkbVVnWVhSc1pXRnpaWFFnTVNCbVpXRjBkWEpsQUVGemMyVnlkR2x2YmlCZ2JVc2dQVDBnYlVObGJuUmxjbk11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwydHRaV1J2YVdSekxtZ0FheUJ6YUc5MWJHUWdiV0YwWTJnZ2RHaGxJRzUxYldKbGNpQnZaaUJqYkhWemRHVnlJR05sYm5SbGNuTUFRWE56WlhKMGFXOXVJR0J1ZFcxZlptVmhkSFZ5WlhNZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCbVpXRjBkWEpsY3lCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQRDBnYm5WdFgyWmxZWFIxY21WellDQm1ZV2xzWldRZ2FXNGdBRTF2Y21VZ2FXNWthV05sY3lCMGFHRnVJR1psWVhSMWNtVnpBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BqMGdiVXRnSUdaaGFXeGxaQ0JwYmlBQVRtOTBJR1Z1YjNWbmFDQm1aV0YwZFhKbGN3QkJjM05wWjI1dFpXNTBJSE5wZW1VZ2FYTWdhVzVqYjNKeVpXTjBBRUZ6YzJWeWRHbHZiaUJnYm5WdFgyTmxiblJsY25NZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUZSb1pYSmxJRzExYzNRZ1ltVWdZWFFnYkdWaGMzUWdNU0JqWlc1MFpYSUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12ZG1semRXRnNYMlJoZEdGaVlYTmxMbWdBUVhOelpYSjBhVzl1SUdCa1pYUmxZM1J2Y21BZ1ptRnBiR1ZrSUdsdUlBQkVaWFJsWTNSdmNpQnBjeUJPVlV4TUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDa3VjMmw2WlNncElENGdNR0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdseklHVnRjSFI1QUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVkMmxrZEdnb0tTQTlQU0JrWlhSbFkzUnZjaTArZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdGdVpDQmtaWFJsWTNSdmNpQnphWHBsSUcxcGMyMWhkR05vQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVhR1ZwWjJoMEtDa2dQVDBnWkdWMFpXTjBiM0l0UG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFNVRkRE5mWHpJeE5HUmxabUYxYkhSZlpHVnNaWFJsU1U0MmRtbHphVzl1T0V0bGVXWnlZVzFsU1V4cE9UWkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFUaloyYVhOcGIyNDRTMlY1Wm5KaGJXVkpUR2s1TmtWRlJVNVRYekUwWkdWbVlYVnNkRjlrWld4bGRHVkpVek5mUlVWT1UxODVZV3hzYjJOaGRHOXlTVk16WDBWRlJVVUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQkdiM1Z1WkNBbFpDQm1aV0YwZFhKbGN5QnBiaUJ4ZFdWeWVRQmliMjlzSUhacGMybHZiam82Vm1semRXRnNSR0YwWVdKaGMyVThkbWx6YVc5dU9qcEdVa1ZCUzBWNGRISmhZM1J2Y2l3Z2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxVM1J2Y21Vc0lIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVTFoZEdOb1pYSThPVFkrSUQ0Nk9uRjFaWEo1S0dOdmJuTjBJSFpwYzJsdmJqbzZSMkYxYzNOcFlXNVRZMkZzWlZOd1lXTmxVSGx5WVcxcFpDQXFLU0JiUmtWQlZGVlNSVjlGV0ZSU1FVTlVUMUlnUFNCMmFYTnBiMjQ2T2taU1JVRkxSWGgwY21GamRHOXlMQ0JUVkU5U1JTQTlJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlZOMGIzSmxMQ0JOUVZSRFNFVlNJRDBnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFRXRjBZMmhsY2p3NU5qNWRBRVpwYm1RZ1RXRjBZMmhsY3lBb01Ta0FTRzkxWjJnZ1ZtOTBhVzVuSUNneEtRQkdhVzVrSUVodmRXZG9JRTFoZEdOb1pYTWdLREVwQUVWemRHbHRZWFJsSUVodmJXOW5jbUZ3YUhrZ0tERXBBRVpwYm1RZ1NXNXNhV1Z5Y3lBb01Ta0FSbWx1WkNCTllYUmphR1Z6SUNneUtRQkliM1ZuYUNCV2IzUnBibWNnS0RJcEFFWnBibVFnU0c5MVoyZ2dUV0YwWTJobGN5QW9NaWtBUlhOMGFXMWhkR1VnU0c5dGIyZHlZWEJvZVNBb01pa0FSbWx1WkNCSmJteHBaWEp6SUNneUtRQkJjM05sY25ScGIyNGdZREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabVZoZEhWeVpWOXRZWFJqYUdWeUxXbHViR2x1WlM1b0FFWmhhV3hsWkNCMGJ5QmpiMjF3ZFhSbElHMWhkSEpwZUNCcGJuWmxjbk5sQUVGemMyVnlkR2x2YmlCZ1ltVnpkRjlwYm1SbGVDQWhQU0J6ZEdRNk9tNTFiV1Z5YVdOZmJHbHRhWFJ6UEhOcGVtVmZkRDQ2T20xaGVDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOdmJXVjBhR2x1WnlCemRISmhibWRsQUVGemMyVnlkR2x2YmlCZ2JVMWhkR05vWlhNdWMybDZaU2dwSUR3OUlHWmxZWFIxY21Wek1TMCtjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJ0WVhSamFHVnpJSE5vYjNWc1pDQmlaU0JzYjNkbGNnQkJjM05sY25ScGIyNGdZR2g1Y0M1emFYcGxLQ2tnUGowZ09TcHRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmFHOXRiMmR5WVhCb2VWOWxjM1JwYldGMGFXOXVMM0p2WW5WemRGOW9iMjF2WjNKaGNHaDVMbWdBYUhsd0lIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNBNUttMWhlRjl1ZFcxZmFIbHdiM1JvWlhObGN3QkJjM05sY25ScGIyNGdZSFJ0Y0Y5cExuTnBlbVVvS1NBK1BTQnVkVzFmY0c5cGJuUnpZQ0JtWVdsc1pXUWdhVzRnQUhSdGNGOXBJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnVkVzFmY0c5cGJuUnpBRUZ6YzJWeWRHbHZiaUJnYUhsd1gyTnZjM1J6TG5OcGVtVW9LU0ErUFNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFhSGx3WDJOdmMzUnpJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTUFRWE56WlhKMGFXOXVJR0J1SUR3OUlHbHVYMjFoZEdOb1pYTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRk5vYjNWc1pDQmlaU0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUdScGMzUkNhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHUnBjM1JDYVc1QmJtZHNaU0J0ZFhOMElHNXZkQ0JpWlNCdVpXZGhkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNiMjkwTG1kbGRDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZKdmIzUWdZMkZ1Ym05MElHSmxJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnRhVzVwSUNFOUlDMHhZQ0JtWVdsc1pXUWdhVzRnQUUxcGJtbHRkVzBnYVc1a1pYZ2dibTkwSUhObGRBQkJjM05sY25ScGIyNGdZSGdnUGowZ2JVMXBibGhnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdWFBQjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lIZ2dQQ0J0VFdGNFdHQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdiVTFwYmxsZ0lHWmhhV3hsWkNCcGJpQUFlU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQjVJRHdnYlUxaGVGbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0ErSUMxUVNXQWdabUZwYkdWa0lHbHVJQUJoYm1kc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0E4UFNCUVNXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhOallXeGxJRDQ5SUcxTmFXNVRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQnpZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFOWVhoVFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHVaR1Y0SUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmxnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQThJRzFPZFcxWVFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUJpYVc1WklHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQQ0J0VG5WdFdVSnBibk5nSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmlhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBia0Z1WjJ4bElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJrRnVaMnhsSUR3Z2JVNTFiVUZ1WjJ4bFFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibE5qWVd4bElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVltbHVVMk5oYkdVZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVUyTmhiR1VnUENCdFRuVnRVMk5oYkdWQ2FXNXpZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUEQwZ0tHSnBibGdnS3lCaWFXNVpLbTFPZFcxWVFtbHVjeUFySUdKcGJrRnVaMnhsS20xT2RXMVlRbWx1Y3lwdFRuVnRXVUpwYm5NZ0t5QmlhVzVUWTJGc1pTcHRUblZ0V0VKcGJuTXFiVTUxYlZsQ2FXNXpLbTFPZFcxQmJtZHNaVUpwYm5NcFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYzJsNlpTQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdVkzQndBSE5wZW1VZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNaV1pKYldGblpWZHBaSFJvSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUIzYVdSMGFDQnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiVkpsWmtsdFlXZGxTR1ZwWjJoMElENGdNR0FnWm1GcGJHVmtJR2x1SUFCb1pXbG5hSFFnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUc0Z1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwzVjBhV3h6TDNCaGNuUnBZV3hmYzI5eWRDNW9BRzRnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUdzZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUdzZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm5KbFlXc3VhQUJRZVhKaGJXbGtJR2x6SUU1VlRFd0FRWE56WlhKMGFXOXVJR0J6ZEc5eVpTNXphWHBsS0NrZ1BUMGdjRzlwYm5SekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElITjBiM0psSUdoaGN5QnViM1FnWW1WbGJpQmhiR3h2WTJGMFpXUUFRWE56WlhKMGFXOXVJR0J1ZFcxZmNHOXBiblJ6SUQwOUlIQnZhVzUwY3k1emFYcGxLQ2xnSUdaaGFXeGxaQ0JwYmlBQVUyaHZkV3hrSUdKbElITmhiV1VnYzJsNlpRQkJjM05sY25ScGIyNGdZRzlqZEdGMlpTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1nQVQyTjBZWFpsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCdlkzUmhkbVVnUENCdFRuVnRUMk4wWVhabGMyQWdabUZwYkdWa0lHbHVJQUJQWTNSaGRtVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JRzlqZEdGMlpYTUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FGTmpZV3hsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVMk5oYkdVZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlITmpZV3hsSUhCbGNpQnZZM1JoZG1VQUpXMHRKV1F0SlZrdEpVZ3RKVTB0SlZNQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1Od2NBQlhhV1IwYUNCallXNXViM1FnWW1VZ2VtVnlid0JCYzNObGNuUnBiMjRnWUdobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFTR1ZwWjJoMElHTmhibTV2ZENCaVpTQjZaWEp2QUVGemMyVnlkR2x2YmlCZ2MzUmxjQ0ErUFNCM2FXUjBhR0FnWm1GcGJHVmtJR2x1SUFCVGRHVndJRzExYzNRZ1ltVWdaM0psWVhSbGNpQjBhR0Z1SUc5eUlHVnhkV0ZzSUhSb1pTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lHTm9ZVzV1Wld4eklENGdNR0FnWm1GcGJHVmtJR2x1SUFCT2RXMWlaWElnYjJZZ1kyaGhibTVsYkhNZ1kyRnVibTkwSUdKbElIcGxjbThBUVhOelpYSjBhVzl1SUdCdFJHRjBZUzVuWlhRb0tXQWdabUZwYkdWa0lHbHVJQUJFWVhSaElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCT1UzUXpYMTh5TVRSa1pXWmhkV3gwWDJSbGJHVjBaVWxvUlVVQVRsTjBNMTlmTWpJd1gxOXphR0Z5WldSZmNIUnlYM0J2YVc1MFpYSkpVR2hPVTE4eE5HUmxabUYxYkhSZlpHVnNaWFJsU1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFTVzUyWVd4cFpDQnBiV0ZuWlNCMGVYQmxBREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFhREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVFYTnpaWEowYVc5dUlHQnRVM1JoY25SVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDNScGJXVnljeTVqY0hBQUlHeHBibVVnQURvZ0FFTnNiMk5ySUdoaGN5QnViM1FnWW1WbGJpQnpkR0Z5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdiVk4wYjNCVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMnh2WTJzZ2FHRnpJRzV2ZENCaVpXVnVJSE4wYjNCd1pXUUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQWxjem9nSldZZ2JYTUFJRWxPUms4Z0lBQjJhWE5wYjI0Nk9sTmpiM0JsWkZScGJXVnlPanArVTJOdmNHVmtWR2x0WlhJb0tRQnpaWFIxY0FCMFpXRnlaRzkzYmdCelpYUjFjRUZTTWdCZllXUmtUV0Z5YTJWeUFGOWhaR1JOZFd4MGFVMWhjbXRsY2dCZllXUmtUa1pVVFdGeWEyVnlBR2RsZEUxMWJIUnBUV0Z5YTJWeVRuVnRBR2RsZEUxMWJIUnBUV0Z5YTJWeVEyOTFiblFBWDJ4dllXUkRZVzFsY21FQWMyVjBUV0Z5YTJWeVNXNW1iMFJwY2dCelpYUk5ZWEpyWlhKSmJtWnZWbVZ5ZEdWNEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbFEyOXVkQUJuWlhSVWNtRnVjMDFoZEUxMWJIUnBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBUWFZzZEdsVGNYVmhjbVZTYjJKMWMzUUFaR1YwWldOMFRXRnlhMlZ5QUdkbGRFMWhjbXRsY2s1MWJRQmtaWFJsWTNST1JsUk5ZWEpyWlhJQVoyVjBUWFZzZEdsRllXTm9UV0Z5YTJWeUFHZGxkRTFoY210bGNnQm5aWFJPUmxSTllYSnJaWElBYzJWMFJHVmlkV2ROYjJSbEFHZGxkRVJsWW5WblRXOWtaUUJuWlhSUWNtOWpaWE56YVc1blNXMWhaMlVBYzJWMFRHOW5UR1YyWld3QVoyVjBURzluVEdWMlpXd0FjMlYwVUhKdmFtVmpkR2x2Yms1bFlYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVUbVZoY2xCc1lXNWxBSE5sZEZCeWIycGxZM1JwYjI1R1lYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVSbUZ5VUd4aGJtVUFjMlYwVkdoeVpYTm9iMnhrVFc5a1pRQm5aWFJVYUhKbGMyaHZiR1JOYjJSbEFITmxkRlJvY21WemFHOXNaQUJuWlhSVWFISmxjMmh2YkdRQWMyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBWjJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFjMlYwVUdGMGRGSmhkR2x2QUdkbGRGQmhkSFJTWVhScGJ3QnpaWFJOWVhSeWFYaERiMlJsVkhsd1pRQm5aWFJOWVhSeWFYaERiMlJsVkhsd1pRQnpaWFJNWVdKbGJHbHVaMDF2WkdVQVoyVjBUR0ZpWld4cGJtZE5iMlJsQUhObGRFbHRZV2RsVUhKdlkwMXZaR1VBWjJWMFNXMWhaMlZRY205alRXOWtaUUJGVWxKUFVsOUJVa05QVGxSU1QweE1SVkpmVGs5VVgwWlBWVTVFQUVWU1VrOVNYMDFWVEZSSlRVRlNTMFZTWDA1UFZGOUdUMVZPUkFCRlVsSlBVbDlOUVZKTFJWSmZTVTVFUlZoZlQxVlVYMDlHWDBKUFZVNUVVd0JCVWw5RVJVSlZSMTlFU1ZOQlFreEZBRUZTWDBSRlFsVkhYMFZPUVVKTVJRQkJVbDlFUlVaQlZVeFVYMFJGUWxWSFgwMVBSRVVBUVZKZlRFRkNSVXhKVGtkZlYwaEpWRVZmVWtWSFNVOU9BRUZTWDB4QlFrVk1TVTVIWDBKTVFVTkxYMUpGUjBsUFRnQkJVbDlFUlVaQlZVeFVYMHhCUWtWTVNVNUhYMDFQUkVVQVFWSmZSRVZHUVZWTVZGOU1RVUpGVEVsT1IxOVVTRkpGVTBnQVFWSmZTVTFCUjBWZlVGSlBRMTlHVWtGTlJWOUpUVUZIUlFCQlVsOUpUVUZIUlY5UVVrOURYMFpKUlV4RVgwbE5RVWRGQUVGU1gwUkZSa0ZWVEZSZlNVMUJSMFZmVUZKUFExOU5UMFJGQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwMVBUazhBUVZKZlRVRlVVa2xZWDBOUFJFVmZSRVZVUlVOVVNVOU9BRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNYMEZPUkY5TlFWUlNTVmdBUVZKZlZFVk5VRXhCVkVWZlRVRlVRMGhKVGtkZlRVOU9UMTlCVGtSZlRVRlVVa2xZQUVGU1gwUkZSa0ZWVEZSZlVFRlVWRVZTVGw5RVJWUkZRMVJKVDA1ZlRVOUVSUUJCVWw5VlUwVmZWRkpCUTB0SlRrZGZTRWxUVkU5U1dRQkJVbDlPVDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWkFFRlNYMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaWDFZeUFFRlNYMFJGUmtGVlRGUmZUVUZTUzBWU1gwVllWRkpCUTFSSlQwNWZUVTlFUlFCQlVsOU5RVmhmVEU5UFVGOURUMVZPVkFCQlVsOU1UMDlRWDBKU1JVRkxYMVJJVWtWVFNBQkJVbDlNVDBkZlRFVldSVXhmUkVWQ1ZVY0FRVkpmVEU5SFgweEZWa1ZNWDBsT1JrOEFRVkpmVEU5SFgweEZWa1ZNWDFkQlVrNEFRVkpmVEU5SFgweEZWa1ZNWDBWU1VrOVNBRUZTWDB4UFIxOU1SVlpGVEY5U1JVeGZTVTVHVHdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZURNQVFWSmZUVUZVVWtsWVgwTlBSRVZmTTNnelgwaEJUVTFKVGtjMk13QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETmZVRUZTU1ZSWk5qVUFRVkpmVFVGVVVrbFlYME5QUkVWZk5IZzBBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZPVjh6QUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mTlY4MUFFRlNYMHhCUWtWTVNVNUhYMVJJVWtWVFNGOU5UMFJGWDAxQlRsVkJUQUJCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDAxRlJFbEJUZ0JCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDA5VVUxVUFRVkpmVEVGQ1JVeEpUa2RmVkVoU1JWTklYMDFQUkVWZlFWVlVUMTlCUkVGUVZFbFdSUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVGs5T1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZVRUZVVkVWU1RsOUZXRlJTUVVOVVNVOU9BRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOUhSVTVGVWtsREFFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5RFQwNVVVa0ZUVkFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRVRlVRMGhmUWtGU1EwOUVSVjlPVDFSZlJrOVZUa1FBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYMEpCVWtOUFJFVmZSVVJEWDBaQlNVd0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwTlBUa1pKUkVWT1EwVUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUlBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFKZlRWVk1WRWtBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDBoRlZWSkpVMVJKUTE5VVVrOVZRa3hGVTA5TlJWOU5RVlJTU1ZoZlEwOUVSVk1BWVd4c2IyTmhkRzl5UEZRK09qcGhiR3h2WTJGMFpTaHphWHBsWDNRZ2Jpa2dKMjRuSUdWNFkyVmxaSE1nYldGNGFXMTFiU0J6ZFhCd2IzSjBaV1FnYzJsNlpRQkpiV0ZuWlNCd2NtOWpMaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRXhoWW1Wc2FXNW5JRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQjJhV2xtQUZCaGRIUmxjbTRnY21GMGFXOGdjMmw2WlNCelpYUWdkRzhnSldZdUNnQlFZWFIwWlhKdUlHUmxkR1ZqZEdsdmJpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FGUm9jbVZ6YUc5c1pDQnpaWFFnZEc4Z0pXUUtBSFpwYVdrQVZHaHlaWE5vYjJ4a0lHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCa2FXa0FkbWxwWkFCcGFRQjJhV2tBYjI0dUFHOW1aaTRBUkdWaWRXY2diVzlrWlNCelpYUWdkRzhnSlhNS0FGUnlZV05yYVc1bklHeHZjM1F1SUNWa0NnQlVjbUZqYTJWa0lIQmhaMlVnSldRZ0tHMWhlQ0FsWkNrdUNnQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F3T3lCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRLU0I3SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkSUQwZ0tIc2dhV1E2SURBc0lHVnljbTl5T2lBdE1Td2dabTkxYm1RNklEQXNJSEJ2YzJVNklGc3dMREFzTUN3d0xDQXdMREFzTUN3d0xDQXdMREFzTUN3d1hTQjlLVHNnZlNCMllYSWdiV0Z5YTJWeVNXNW1ieUE5SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkT3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2laWEp5YjNJaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1admRXNWtJbDBnUFNBeE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTWwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTlYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJObDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk4xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT0YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1UQmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWNHOXpaU0pkV3pFeFhTQTlJQ1JoVzJrcksxMDdJSDBBZXlCMllYSWdKR0VnUFNCaGNtZDFiV1Z1ZEhNN0lIWmhjaUJwSUQwZ01Ec2dhV1lnS0NGaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUdsa09pQXdMQ0JsY25KdmNqb2dMVEVzSUdadmRXNWtPaUF3TENCd2IzTmxPaUJiTUN3d0xEQXNNQ3dnTUN3d0xEQXNNQ3dnTUN3d0xEQXNNRjBnZlNrN0lIMGdkbUZ5SUcxaGNtdGxja2x1Wm04Z1BTQmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhUc2diV0Z5YTJWeVNXNW1iMXNpYVdRaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1WeWNtOXlJbDBnUFNBdE1Uc2diV0Z5YTJWeVNXNW1iMXNpWm05MWJtUWlYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3dYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3lYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3pYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczBYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczFYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczJYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczNYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczRYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczVYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hNRjBnUFNBd095QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEZkSUQwZ01Ec2dmUUI3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBeE1qc2dhV1lnS0NGaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lIQnZjem9nV3pBc01GMHNJR3hwYm1VNklGdGJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZFhTd2dkbVZ5ZEdWNE9pQmJXekFzTUYwc0lGc3dMREJkTENCYk1Dd3dYU3dnV3pBc01GMWRJSDBwT3lCOUlIWmhjaUJ0WVhKclpYSkpibVp2SUQwZ1lYSjBiMjlzYTJsMFd5SnRZWEpyWlhKSmJtWnZJbDA3SUcxaGNtdGxja2x1Wm05YkltRnlaV0VpWFNBOUlDUXdPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkRFN0lHMWhjbXRsY2tsdVptOWJJbWxrVUdGMGRDSmRJRDBnSkRJN0lHMWhjbXRsY2tsdVptOWJJbWxrVFdGMGNtbDRJbDBnUFNBa016c2diV0Z5YTJWeVNXNW1iMXNpWkdseUlsMGdQU0FrTkRzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5VUdGMGRDSmRJRDBnSkRVN0lHMWhjbXRsY2tsdVptOWJJbVJwY2sxaGRISnBlQ0pkSUQwZ0pEWTdJRzFoY210bGNrbHVabTliSW1ObUlsMGdQU0FrTnpzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpRWVhSMElsMGdQU0FrT0RzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpOWVhSeWFYZ2lYU0E5SUNRNU95QnRZWEpyWlhKSmJtWnZXeUp3YjNNaVhWc3dYU0E5SUNReE1Ec2diV0Z5YTJWeVNXNW1iMXNpY0c5eklsMWJNVjBnUFNBa01URTdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pCZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1GMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekZkV3pGZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6TmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNMTFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUpsY25KdmNrTnZjbkpsWTNSbFpDSmRJRDBnSkdGYmFTc3JYVHNnZlFCN0lHbG1JQ2doWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMHBJSHNnWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMGdQU0FvZTMwcE95QjlJSFpoY2lCdGRXeDBhVVZoWTJoTllYSnJaWElnUFNCaGNuUnZiMnhyYVhSYkltMTFiSFJwUldGamFFMWhjbXRsY2tsdVptOGlYVHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQyYVhOcFlteGxKMTBnUFNBa01Ec2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZHdZWFIwU1dRblhTQTlJQ1F4T3lCdGRXeDBhVVZoWTJoTllYSnJaWEpiSjNCaGRIUlVlWEJsSjEwZ1BTQWtNanNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQzYVdSMGFDZGRJRDBnSkRNN0lIMEFhV2xwQUU1VGRETmZYekl4TW1KaGMybGpYM04wY21sdVowbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZPVTE4NVlXeHNiMk5oZEc5eVNXTkZSVVZGQUU1VGRETmZYekl5TVY5ZlltRnphV05mYzNSeWFXNW5YMk52YlcxdmJrbE1ZakZGUlVVQWJHOWhaRU5oYldWeVlTZ3BPaUJGY25KdmNpQnNiMkZrYVc1bklIQmhjbUZ0WlhSbGNpQm1hV3hsSUNWeklHWnZjaUJqWVcxbGNtRXVDZ0JwYVdscEFFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnVGtaVUlHMWhjbXRsY2k0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZERNS0FHWnpaWFF6QUVWeWNtOXlJSEpsWVdScGJtY2dTMUJOSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwTXdvQUlDQkJjM05wWjI1bFpDQndZV2RsSUc1dkxpQWxaQzRLQUVWeWNtOXlPaUJyY0cxRGFHRnVaMlZRWVdkbFRtOVBabEpsWmtSaGRHRlRaWFFLQUVWeWNtOXlPaUJyY0cxTlpYSm5aVkpsWmtSaGRHRlRaWFFLQUNBZ1JHOXVaUzRLQUZKbFlXUnBibWNnSlhNdVpuTmxkQW9BWm5ObGRBQkZjbkp2Y2lCeVpXRmthVzVuSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwQ2dCRmNuSnZjam9nYTNCdFUyVjBVbVZtUkdGMFlWTmxkQW9BVEc5aFpHbHVaeUJ2WmlCT1JsUWdaR0YwWVNCamIyMXdiR1YwWlM0S0FFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnUVZJZ2JYVnNkR2x0WVhKclpYSXVDZ0JqYjI1bWFXY2daR0YwWVNCc2IyRmtJR1Z5Y205eUlDRWhDZ0JCVWxSdmIyeExhWFJLVXlncE9pQlZibUZpYkdVZ2RHOGdjMlYwSUhWd0lFRlNJRzFoY210bGNpNEtBR3h2WVdSTllYSnJaWElvS1RvZ1JYSnliM0lnYkc5aFpHbHVaeUJ3WVhSMFpYSnVJR1pwYkdVZ0pYTXVDZ0JGY25KdmNqb2dZWEl5UTNKbFlYUmxTR0Z1Wkd4bExnb0FhV2xwYVdrQWMyVjBkWEFvS1RvZ1JYSnliM0k2SUdGeVVHRjBkRU55WldGMFpVaGhibVJzWlM0S0FFRnNiRzlqWVhSbFpDQjJhV1JsYjBaeVlXMWxVMmw2WlNBbFpBb0FleUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbVp5WVcxbFRXRnNiRzlqSWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJtY21GdFpVMWhiR3h2WXlBOUlHRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFRzZ1puSmhiV1ZOWVd4c2IyTmJJbVp5WVcxbGNHOXBiblJsY2lKZElEMGdKREU3SUdaeVlXMWxUV0ZzYkc5ald5Sm1jbUZ0WlhOcGVtVWlYU0E5SUNReU95Qm1jbUZ0WlUxaGJHeHZZMXNpWTJGdFpYSmhJbDBnUFNBa016c2dabkpoYldWTllXeHNiMk5iSW5SeVlXNXpabTl5YlNKZElEMGdKRFE3SUdaeVlXMWxUV0ZzYkc5ald5SjJhV1JsYjB4MWJXRlFiMmx1ZEdWeUlsMGdQU0FrTlRzZ2ZRQXFLaW9nUTJGdFpYSmhJRkJoY21GdFpYUmxjaUJ5WlhOcGVtVmtJR1p5YjIwZ0pXUXNJQ1ZrTGlBcUtpb0tBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjam9nWVhKUVlYSmhiVXhVUTNKbFlYUmxMZ29BYzJWMFEyRnRaWEpoS0NrNklFVnljbTl5T2lCaGNrTnlaV0YwWlVoaGJtUnNaUzRLQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCamNtVmhkR2x1WnlBelJDQm9ZVzVrYkdVQVQzVjBJRzltSUcxbGJXOXllU0VoQ2dCRmNuSnZjam9nYldGc2JHOWpDZ0FqSXlNZ1JtVmhkSFZ5WlNCallXNWthV1JoZEdWeklHWnZjaUIwY21GamEybHVaeUJoY21VZ2IzWmxjbVpzYjNjdUNnQkNiMmQxY3lCdFpYTnpZV2RsSUdOdlpHVWdKV1FBUVV4SlIwNWZWRmxRUlNCcGN5QjNjbTl1Wnl3Z2NHeGxZWE5sSUdacGVBQk5RVmhmUVV4TVQwTmZRMGhWVGtzZ2FYTWdkM0p2Ym1jc0lIQnNaV0Z6WlNCbWFYZ0FRbTluZFhNZ1luVm1abVZ5SUdOdmJuUnliMndnYlc5a1pRQkpiblpoYkdsa0lHTnZiWEJ2Ym1WdWRDQkpSQ0FsWkNCcGJpQlRUMU1BU1c1MllXeHBaQ0JqY205d0lISmxjWFZsYzNRQVJFTlVJR052WldabWFXTnBaVzUwSUc5MWRDQnZaaUJ5WVc1blpRQkVRMVFnYzJOaGJHVmtJR0pzYjJOcklITnBlbVVnSldSNEpXUWdibTkwSUhOMWNIQnZjblJsWkFCRGIyMXdiMjVsYm5RZ2FXNWtaWGdnSldRNklHMXBjMjFoZEdOb2FXNW5JSE5oYlhCc2FXNW5JSEpoZEdsdklDVmtPaVZrTENBbFpEb2xaQ3dnSldNQVFtOW5kWE1nU0hWbVptMWhiaUIwWVdKc1pTQmtaV1pwYm1sMGFXOXVBRUp2WjNWeklHbHVjSFYwSUdOdmJHOXljM0JoWTJVQVFtOW5kWE1nU2xCRlJ5QmpiMnh2Y25Od1lXTmxBRUp2WjNWeklHMWhjbXRsY2lCc1pXNW5kR2dBVjNKdmJtY2dTbEJGUnlCc2FXSnlZWEo1SUhabGNuTnBiMjQ2SUd4cFluSmhjbmtnYVhNZ0pXUXNJR05oYkd4bGNpQmxlSEJsWTNSeklDVmtBRk5oYlhCc2FXNW5JR1poWTNSdmNuTWdkRzl2SUd4aGNtZGxJR1p2Y2lCcGJuUmxjbXhsWVhabFpDQnpZMkZ1QUVsdWRtRnNhV1FnYldWdGIzSjVJSEJ2YjJ3Z1kyOWtaU0FsWkFCVmJuTjFjSEJ2Y25SbFpDQktVRVZISUdSaGRHRWdjSEpsWTJsemFXOXVJQ1ZrQUVsdWRtRnNhV1FnY0hKdlozSmxjM05wZG1VZ2NHRnlZVzFsZEdWeWN5QlRjejBsWkNCVFpUMGxaQ0JCYUQwbFpDQkJiRDBsWkFCSmJuWmhiR2xrSUhCeWIyZHlaWE56YVhabElIQmhjbUZ0WlhSbGNuTWdZWFFnYzJOaGJpQnpZM0pwY0hRZ1pXNTBjbmtnSldRQVFtOW5kWE1nYzJGdGNHeHBibWNnWm1GamRHOXljd0JKYm5aaGJHbGtJSE5qWVc0Z2MyTnlhWEIwSUdGMElHVnVkSEo1SUNWa0FFbHRjSEp2Y0dWeUlHTmhiR3dnZEc4Z1NsQkZSeUJzYVdKeVlYSjVJR2x1SUhOMFlYUmxJQ1ZrQUVwUVJVY2djR0Z5WVcxbGRHVnlJSE4wY25WamRDQnRhWE50WVhSamFEb2diR2xpY21GeWVTQjBhR2x1YTNNZ2MybDZaU0JwY3lBbGRTd2dZMkZzYkdWeUlHVjRjR1ZqZEhNZ0pYVUFRbTluZFhNZ2RtbHlkSFZoYkNCaGNuSmhlU0JoWTJObGMzTUFRblZtWm1WeUlIQmhjM05sWkNCMGJ5QktVRVZISUd4cFluSmhjbmtnYVhNZ2RHOXZJSE50WVd4c0FGTjFjM0JsYm5OcGIyNGdibTkwSUdGc2JHOTNaV1FnYUdWeVpRQkRRMGxTTmpBeElITmhiWEJzYVc1bklHNXZkQ0JwYlhCc1pXMWxiblJsWkNCNVpYUUFWRzl2SUcxaGJua2dZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN6b2dKV1FzSUcxaGVDQWxaQUJWYm5OMWNIQnZjblJsWkNCamIyeHZjaUJqYjI1MlpYSnphVzl1SUhKbGNYVmxjM1FBUW05bmRYTWdSRUZESUdsdVpHVjRJQ1ZrQUVKdlozVnpJRVJCUXlCMllXeDFaU0F3ZUNWNEFFSnZaM1Z6SUVSSVZDQnBibVJsZUNBbFpBQkNiMmQxY3lCRVVWUWdhVzVrWlhnZ0pXUUFSVzF3ZEhrZ1NsQkZSeUJwYldGblpTQW9SRTVNSUc1dmRDQnpkWEJ3YjNKMFpXUXBBRkpsWVdRZ1puSnZiU0JGVFZNZ1ptRnBiR1ZrQUZkeWFYUmxJSFJ2SUVWTlV5Qm1ZV2xzWldRQVJHbGtiaWQwSUdWNGNHVmpkQ0J0YjNKbElIUm9ZVzRnYjI1bElITmpZVzRBU1c1d2RYUWdabWxzWlNCeVpXRmtJR1Z5Y205eUFFOTFkSEIxZENCbWFXeGxJSGR5YVhSbElHVnljbTl5SUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFSbkpoWTNScGIyNWhiQ0J6WVcxd2JHbHVaeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUVoMVptWnRZVzRnWTI5a1pTQnphWHBsSUhSaFlteGxJRzkyWlhKbWJHOTNBRTFwYzNOcGJtY2dTSFZtWm0xaGJpQmpiMlJsSUhSaFlteGxJR1Z1ZEhKNUFFMWhlR2x0ZFcwZ2MzVndjRzl5ZEdWa0lHbHRZV2RsSUdScGJXVnVjMmx2YmlCcGN5QWxkU0J3YVhobGJITUFSVzF3ZEhrZ2FXNXdkWFFnWm1sc1pRQlFjbVZ0WVhSMWNtVWdaVzVrSUc5bUlHbHVjSFYwSUdacGJHVUFRMkZ1Ym05MElIUnlZVzV6WTI5a1pTQmtkV1VnZEc4Z2JYVnNkR2x3YkdVZ2RYTmxJRzltSUhGMVlXNTBhWHBoZEdsdmJpQjBZV0pzWlNBbFpBQlRZMkZ1SUhOamNtbHdkQ0JrYjJWeklHNXZkQ0IwY21GdWMyMXBkQ0JoYkd3Z1pHRjBZUUJKYm5aaGJHbGtJR052Ykc5eUlIRjFZVzUwYVhwaGRHbHZiaUJ0YjJSbElHTm9ZVzVuWlFCT2IzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFGSmxjWFZsYzNSbFpDQm1aV0YwZFhKbElIZGhjeUJ2YldsMGRHVmtJR0YwSUdOdmJYQnBiR1VnZEdsdFpRQkJjbWwwYUcxbGRHbGpJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBUW1GamEybHVaeUJ6ZEc5eVpTQnViM1FnYzNWd2NHOXlkR1ZrQUVoMVptWnRZVzRnZEdGaWJHVWdNSGdsTURKNElIZGhjeUJ1YjNRZ1pHVm1hVzVsWkFCS1VFVkhJR1JoZEdGemRISmxZVzBnWTI5dWRHRnBibk1nYm04Z2FXMWhaMlVBVVhWaGJuUnBlbUYwYVc5dUlIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFUbTkwSUdFZ1NsQkZSeUJtYVd4bE9pQnpkR0Z5ZEhNZ2QybDBhQ0F3ZUNVd01uZ2dNSGdsTURKNEFFbHVjM1ZtWm1samFXVnVkQ0J0WlcxdmNua2dLR05oYzJVZ0pXUXBBRU5oYm01dmRDQnhkV0Z1ZEdsNlpTQnRiM0psSUhSb1lXNGdKV1FnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjd0JEWVc1dWIzUWdjWFZoYm5ScGVtVWdkRzhnWm1WM1pYSWdkR2hoYmlBbFpDQmpiMnh2Y25NQVEyRnVibTkwSUhGMVlXNTBhWHBsSUhSdklHMXZjbVVnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFTVzUyWVd4cFpDQktVRVZISUdacGJHVWdjM1J5ZFdOMGRYSmxPaUFsY3lCaVpXWnZjbVVnVTA5R0FFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFJpQnRZWEpyWlhKekFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2diV2x6YzJsdVp5QlRUMU1nYldGeWEyVnlBRlZ1YzNWd2NHOXlkR1ZrSUVwUVJVY2djSEp2WTJWemN6b2dVMDlHSUhSNWNHVWdNSGdsTURKNEFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFNTQnRZWEpyWlhKekFFWmhhV3hsWkNCMGJ5QmpjbVZoZEdVZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVVtVmhaQ0JtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFVMlZsYXlCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVjNKcGRHVWdabUZwYkdWa0lHOXVJSFJsYlhCdmNtRnllU0JtYVd4bElDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUVhCd2JHbGpZWFJwYjI0Z2RISmhibk5tWlhKeVpXUWdkRzl2SUdabGR5QnpZMkZ1YkdsdVpYTUFWVzV6ZFhCd2IzSjBaV1FnYldGeWEyVnlJSFI1Y0dVZ01IZ2xNREo0QUZacGNuUjFZV3dnWVhKeVlYa2dZMjl1ZEhKdmJHeGxjaUJ0WlhOelpXUWdkWEFBU1cxaFoyVWdkRzl2SUhkcFpHVWdabTl5SUhSb2FYTWdhVzF3YkdWdFpXNTBZWFJwYjI0QVVtVmhaQ0JtY205dElGaE5VeUJtWVdsc1pXUUFWM0pwZEdVZ2RHOGdXRTFUSUdaaGFXeGxaQUJEYjNCNWNtbG5hSFFnS0VNcElESXdNVGdzSUZSb2IyMWhjeUJITGlCTVlXNWxMQ0JIZFdsa2J5QldiMnhzWW1Wa2FXNW5BRGxqSUNBeE5DMUtZVzR0TWpBeE9BQkRZWFYwYVc5dU9pQnhkV0Z1ZEdsNllYUnBiMjRnZEdGaWJHVnpJR0Z5WlNCMGIyOGdZMjloY25ObElHWnZjaUJpWVhObGJHbHVaU0JLVUVWSEFFRmtiMkpsSUVGUVVERTBJRzFoY210bGNqb2dkbVZ5YzJsdmJpQWxaQ3dnWm14aFozTWdNSGdsTURSNElEQjRKVEEwZUN3Z2RISmhibk5tYjNKdElDVmtBRlZ1YTI1dmQyNGdRVkJRTUNCdFlYSnJaWElnS0c1dmRDQktSa2xHS1N3Z2JHVnVaM1JvSUNWMUFGVnVhMjV2ZDI0Z1FWQlFNVFFnYldGeWEyVnlJQ2h1YjNRZ1FXUnZZbVVwTENCc1pXNW5kR2dnSlhVQVJHVm1hVzVsSUVGeWFYUm9iV1YwYVdNZ1ZHRmliR1VnTUhnbE1ESjRPaUF3ZUNVd01uZ0FSR1ZtYVc1bElFaDFabVp0WVc0Z1ZHRmliR1VnTUhnbE1ESjRBRVJsWm1sdVpTQlJkV0Z1ZEdsNllYUnBiMjRnVkdGaWJHVWdKV1FnSUhCeVpXTnBjMmx2YmlBbFpBQkVaV1pwYm1VZ1VtVnpkR0Z5ZENCSmJuUmxjblpoYkNBbGRRQkdjbVZsWkNCRlRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRVZOVXlCb1lXNWtiR1VnSlhVQVJXNWtJRTltSUVsdFlXZGxBQ0FnSUNBZ0lDQWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkFCS1JrbEdJRUZRVURBZ2JXRnlhMlZ5T2lCMlpYSnphVzl1SUNWa0xpVXdNbVFzSUdSbGJuTnBkSGtnSldSNEpXUWdJQ1ZrQUZkaGNtNXBibWM2SUhSb2RXMWlibUZwYkNCcGJXRm5aU0J6YVhwbElHUnZaWE1nYm05MElHMWhkR05vSUdSaGRHRWdiR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ2RIbHdaU0F3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUFnSUNBZ2QybDBhQ0FsWkNCNElDVmtJSFJvZFcxaWJtRnBiQ0JwYldGblpRQk5hWE5qWld4c1lXNWxiM1Z6SUcxaGNtdGxjaUF3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUJWYm1WNGNHVmpkR1ZrSUcxaGNtdGxjaUF3ZUNVd01uZ0FJQ0FnSUNBZ0lDQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxQUZGMVlXNTBhWHBwYm1jZ2RHOGdKV1FnUFNBbFpDb2xaQ29sWkNCamIyeHZjbk1BVVhWaGJuUnBlbWx1WnlCMGJ5QWxaQ0JqYjJ4dmNuTUFVMlZzWldOMFpXUWdKV1FnWTI5c2IzSnpJR1p2Y2lCeGRXRnVkR2w2WVhScGIyNEFRWFFnYldGeWEyVnlJREI0SlRBeWVDd2djbVZqYjNabGNua2dZV04wYVc5dUlDVmtBRkpUVkNWa0FGTnRiMjkwYUdsdVp5QnViM1FnYzNWd2NHOXlkR1ZrSUhkcGRHZ2dibTl1YzNSaGJtUmhjbVFnYzJGdGNHeHBibWNnY21GMGFXOXpBRk4wWVhKMElFOW1JRVp5WVcxbElEQjRKVEF5ZURvZ2QybGtkR2c5SlhVc0lHaGxhV2RvZEQwbGRTd2dZMjl0Y0c5dVpXNTBjejBsWkFBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lBbFpHaDRKV1IySUhFOUpXUUFVM1JoY25RZ2IyWWdTVzFoWjJVQVUzUmhjblFnVDJZZ1UyTmhiam9nSldRZ1kyOXRjRzl1Wlc1MGN3QWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQmtZejBsWkNCaFl6MGxaQUFnSUZOelBTVmtMQ0JUWlQwbFpDd2dRV2c5SldRc0lFRnNQU1ZrQUVOc2IzTmxaQ0IwWlcxd2IzSmhjbmtnWm1sc1pTQWxjd0JQY0dWdVpXUWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCS1VFVkhMV052YlhCeVpYTnpaV1FnZEdoMWJXSnVZV2xzSUdsdFlXZGxMQ0JzWlc1bmRHZ2dKWFVBU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQndZV3hsZEhSbElIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nVWtkQ0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFGVnVjbVZqYjJkdWFYcGxaQ0JqYjIxd2IyNWxiblFnU1VSeklDVmtJQ1ZrSUNWa0xDQmhjM04xYldsdVp5QlpRMkpEY2dCR2NtVmxaQ0JZVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lGaE5VeUJvWVc1a2JHVWdKWFVBVlc1cmJtOTNiaUJCWkc5aVpTQmpiMnh2Y2lCMGNtRnVjMlp2Y20wZ1kyOWtaU0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ1ltRmtJR0Z5YVhSb2JXVjBhV01nWTI5a1pRQkpibU52Ym5OcGMzUmxiblFnY0hKdlozSmxjM05wYjI0Z2MyVnhkV1Z1WTJVZ1ptOXlJR052YlhCdmJtVnVkQ0FsWkNCamIyVm1abWxqYVdWdWRDQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nSlhVZ1pYaDBjbUZ1Wlc5MWN5QmllWFJsY3lCaVpXWnZjbVVnYldGeWEyVnlJREI0SlRBeWVBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2djSEpsYldGMGRYSmxJR1Z1WkNCdlppQmtZWFJoSUhObFoyMWxiblFBUTI5eWNuVndkQ0JLVUVWSElHUmhkR0U2SUdKaFpDQklkV1ptYldGdUlHTnZaR1VBVjJGeWJtbHVaem9nZFc1cmJtOTNiaUJLUmtsR0lISmxkbWx6YVc5dUlHNTFiV0psY2lBbFpDNGxNREprQUZCeVpXMWhkSFZ5WlNCbGJtUWdiMllnU2xCRlJ5Qm1hV3hsQUVOdmNuSjFjSFFnU2xCRlJ5QmtZWFJoT2lCbWIzVnVaQ0J0WVhKclpYSWdNSGdsTURKNElHbHVjM1JsWVdRZ2IyWWdVbE5VSldRQVNXNTJZV3hwWkNCVFQxTWdjR0Z5WVcxbGRHVnljeUJtYjNJZ2MyVnhkV1Z1ZEdsaGJDQktVRVZIQUVGd2NHeHBZMkYwYVc5dUlIUnlZVzV6Wm1WeWNtVmtJSFJ2YnlCdFlXNTVJSE5qWVc1c2FXNWxjd0JLVUVWSFRVVk5BQ1ZzWkNWakFGTlBVd0JNVTBVQUpYTUtBSEozWVFCcGJtWnBibWwwZVFBQUFRSUVCd01HQlFBdEt5QWdJREJZTUhnQUtHNTFiR3dwQUMwd1dDc3dXQ0F3V0Mwd2VDc3dlQ0F3ZUFCcGJtWUFTVTVHQUc1aGJnQk9RVTRBTGdCTVExOUJURXdBVEVGT1J3QkRMbFZVUmkwNEFGQlBVMGxZQUUxVlUweGZURTlEVUVGVVNBQjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6T2lBbGN3QjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6QUhSbGNtMXBibUYwYVc1bklIZHBkR2dnSlhNZ1ptOXlaV2xuYmlCbGVHTmxjSFJwYjI0QWRHVnliV2x1WVhScGJtY0FkVzVqWVhWbmFIUUFVM1E1WlhoalpYQjBhVzl1QUU0eE1GOWZZM2g0WVdKcGRqRXhObDlmYzJocGJWOTBlWEJsWDJsdVptOUZBRk4wT1hSNWNHVmZhVzVtYndCT01UQmZYMk40ZUdGaWFYWXhNakJmWDNOcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEUzWDE5amJHRnpjMTkwZVhCbFgybHVabTlGQUhSbGNtMXBibUYwWlY5b1lXNWtiR1Z5SUhWdVpYaHdaV04wWldSc2VTQnlaWFIxY201bFpBQlRkREV4Ykc5bmFXTmZaWEp5YjNJQVUzUXhNbXhsYm1kMGFGOWxjbkp2Y2dCT01UQmZYMk40ZUdGaWFYWXhNVGRmWDNCaVlYTmxYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTVYMTl3YjJsdWRHVnlYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1USXpYMTltZFc1a1lXMWxiblJoYkY5MGVYQmxYMmx1Wm05RkFIWUFZZ0JqQUdnQVlRQnpBSFFBYVFCcUFHMEFaZ0JrQUU0eE1GOWZZM2g0WVdKcGRqRXlNVjlmZG0xcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQWRtOXBaQUJpYjI5c0FHTm9ZWElBYzJsbmJtVmtJR05vWVhJQWRXNXphV2R1WldRZ1kyaGhjZ0J6YUc5eWRBQjFibk5wWjI1bFpDQnphRzl5ZEFCcGJuUUFkVzV6YVdkdVpXUWdhVzUwQUd4dmJtY0FkVzV6YVdkdVpXUWdiRzl1WndCbWJHOWhkQUJrYjNWaWJHVUFjM1JrT2pwemRISnBibWNBYzNSa09qcGlZWE5wWTE5emRISnBibWM4ZFc1emFXZHVaV1FnWTJoaGNqNEFjM1JrT2pwM2MzUnlhVzVuQUhOMFpEbzZkVEUyYzNSeWFXNW5BSE4wWkRvNmRUTXljM1J5YVc1bkFHVnRjMk55YVhCMFpXNDZPblpoYkFCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhqYUdGeVBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhjMmh2Y25RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUhOb2IzSjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJR2x1ZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4Ykc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ2JHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5ReE5sOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwTVRaZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBNekpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFdsdWRETXlYM1ErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR1pzYjJGMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4a2IzVmliR1UrQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR3h2Ym1jZ1pHOTFZbXhsUGdCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsbFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpaRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1daRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHRSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKYkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXcEZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxwUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmRFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTWE5GUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsb1JVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpZVVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dORlJRQk9NVEJsYlhOamNtbHdkR1Z1TTNaaGJFVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VScFRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWFVVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWFVVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVjMFZGVGxOZk9XRnNiRzlqWVhSdmNrbEVjMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlU1VFh6bGhiR3h2WTJGMGIzSkpkMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TV2hPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVRsTjBNMTlmTWpocGIzTmZZbUZ6WlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRTFZbUZ6YVdOZmMzUnlaV0Z0WW5WbVNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TldKaGMybGpYM04wY21WaGJXSjFaa2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5cGMzUnlaV0Z0U1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhNMkpoYzJsalgybHpkSEpsWVcxSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakV6WW1GemFXTmZiM04wY21WaGJVbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTl2YzNSeVpXRnRTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRkFFNVRkRE5mWHpJeE1WOWZjM1JrYjNWMFluVm1TWGRGUlFCT1UzUXpYMTh5TVRGZlgzTjBaRzkxZEdKMVprbGpSVVVBZFc1emRYQndiM0owWldRZ2JHOWpZV3hsSUdadmNpQnpkR0Z1WkdGeVpDQnBibkIxZEFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNYZEZSUUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1dORlJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSlkwVkZBRTVUZEROZlh6STJiRzlqWVd4bE5XWmhZMlYwUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKZDBWRkFDVndBRU1BVGxOME0xOWZNamR1ZFcxZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDJkbGRFbGpSVVVBVGxOME0xOWZNakUwWDE5dWRXMWZaMlYwWDJKaGMyVkZBRTVUZEROZlh6STNiblZ0WDJkbGRFbDNUbE5mTVRscGMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpsZlgyNTFiVjluWlhSSmQwVkZBQ1Z3QUFBQUFFd0FiR3dBSlFBQUFBQUFiQUJPVTNRelgxOHlOMjUxYlY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJNVgxOXVkVzFmY0hWMFNXTkZSUUJPVTNRelgxOHlNVFJmWDI1MWJWOXdkWFJmWW1GelpVVUFUbE4wTTE5Zk1qZHVkVzFmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYM0IxZEVsM1JVVUFKVWc2SlUwNkpWTUFKVzB2SldRdkpYa0FKVWs2SlUwNkpWTWdKWEFBSldFZ0pXSWdKV1FnSlVnNkpVMDZKVk1nSlZrQVFVMEFVRTBBU21GdWRXRnllUUJHWldKeWRXRnllUUJOWVhKamFBQkJjSEpwYkFCTllYa0FTblZ1WlFCS2RXeDVBRUYxWjNWemRBQlRaWEIwWlcxaVpYSUFUMk4wYjJKbGNnQk9iM1psYldKbGNnQkVaV05sYldKbGNnQktZVzRBUm1WaUFFMWhjZ0JCY0hJQVNuVnVBRXAxYkFCQmRXY0FVMlZ3QUU5amRBQk9iM1lBUkdWakFGTjFibVJoZVFCTmIyNWtZWGtBVkhWbGMyUmhlUUJYWldSdVpYTmtZWGtBVkdoMWNuTmtZWGtBUm5KcFpHRjVBRk5oZEhWeVpHRjVBRk4xYmdCTmIyNEFWSFZsQUZkbFpBQlVhSFVBUm5KcEFGTmhkQUFsYlM4bFpDOGxlU1ZaTFNWdExTVmtKVWs2SlUwNkpWTWdKWEFsU0RvbFRTVklPaVZOT2lWVEpVZzZKVTA2SlZOT1UzUXpYMTh5T0hScGJXVmZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNakJmWDNScGJXVmZaMlYwWDJOZmMzUnZjbUZuWlVsalJVVUFUbE4wTTE5Zk1qbDBhVzFsWDJKaGMyVkZBRTVUZEROZlh6STRkR2x0WlY5blpYUkpkMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlVWRkFFNVRkRE5mWHpJeU1GOWZkR2x0WlY5blpYUmZZMTl6ZEc5eVlXZGxTWGRGUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1dOT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNVEJmWDNScGJXVmZjSFYwUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1dOTVlqQkZSVVVBVGxOME0xOWZNakV3Ylc5dVpYbGZZbUZ6WlVVQVRsTjBNMTlmTWpFd2JXOXVaWGx3ZFc1amRFbGpUR0l4UlVWRkFFNVRkRE5mWHpJeE1HMXZibVY1Y0hWdVkzUkpkMHhpTUVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTWGRNWWpGRlJVVUFNREV5TXpRMU5qYzRPUUFsVEdZQVRsTjBNMTlmTWpsdGIyNWxlVjluWlhSSlkwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmWjJWMFNXTkZSUUF3TVRJek5EVTJOemc1QUU1VGRETmZYekk1Ylc5dVpYbGZaMlYwU1hkT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEZmWDIxdmJtVjVYMmRsZEVsM1JVVUFKUzR3VEdZQVRsTjBNMTlmTWpsdGIyNWxlVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmY0hWMFNXTkZSUUJPVTNRelgxOHlPVzF2Ym1WNVgzQjFkRWwzVGxOZk1UbHZjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qRXhYMTl0YjI1bGVWOXdkWFJKZDBWRkFFNVRkRE5mWHpJNGJXVnpjMkZuWlhOSlkwVkZBRTVUZEROZlh6SXhNMjFsYzNOaFoyVnpYMkpoYzJWRkFFNVRkRE5mWHpJeE4xOWZkMmxrWlc1ZlpuSnZiVjkxZEdZNFNVeHRNekpGUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1VScFl6RXhYMTl0WW5OMFlYUmxYM1JGUlFCT1UzUXpYMTh5TVRKamIyUmxZM1owWDJKaGMyVkZBRTVUZEROZlh6SXhObDlmYm1GeWNtOTNYM1J2WDNWMFpqaEpURzB6TWtWRlJRQk9VM1F6WDE4eU9HMWxjM05oWjJWelNYZEZSUUJPVTNRelgxOHlOMk52WkdWamRuUkpZMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNYZGpNVEZmWDIxaWMzUmhkR1ZmZEVWRkFFNVRkRE5mWHpJM1kyOWtaV04yZEVsRWMyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpac2IyTmhiR1UxWDE5cGJYQkZBRTVUZEROZlh6STFZM1I1Y0dWSlkwVkZBRTVUZEROZlh6SXhNR04wZVhCbFgySmhjMlZGQUU1VGRETmZYekkxWTNSNWNHVkpkMFZGQUdaaGJITmxBSFJ5ZFdVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsalJVVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbDNSVVVBVGxOME0xOWZNakUwWDE5emFHRnlaV1JmWTI5MWJuUkZBRTVUZEROZlh6SXhPVjlmYzJoaGNtVmtYM2RsWVd0ZlkyOTFiblJGQUVId3ZnTUxBUUVBUVpqQUF3dGFYRWdBQUFFQUFBQjhTQUFBQVFBQUFOQlFBQUFCQUFBQUlDSUFBQUFBQUFDVVVRQUFBUUFBQU5oUkFBQUJBQUFBakZBQUFBRUFBQUJNNGdBQUFBQUFBQWhTQUFBQkFBQUFPRklBQUFFQUFBQUVVUUFBQVFBQUFDNHNBRUdBd1FNTERTeFJBQUFCQUFBQUxnQUFBQ3dBUWFEQkF3dkpBcHhJQUFBQkFBQUEzRWdBQUFFQUFBQWNTUUFBQVFBQUFGQkpBQUFCQUFBQW5FNEFBQUVBQUFEVVRnQUFBUUFBQUF4UEFBQUJBQUFBUkU4QUFBRUFBQUI4VHdBQUFRQUFBSmhQQUFBQkFBQUF0RThBQUFFQUFBRFFUd0FBQVFBQUFJUkpBQUFCQUFBQXRFa0FBQUFBQUFEWVNRQUFBUUFBQUFoS0FBQUFBQUFBYkU0QUFBRUFBQUJNNGdBQUFBQUFBSVJPQUFBQkFBQUFUT0lBQUFBQUFBRHNUd0FBQVFBQUFBeFFBQUFCQUFBQUFRQUFBQUFBQUFDOFVBQUFEd0FBQUhEaEFBRGc0UUFBNE9FQUFBQUFBQUFZNEFBQUlPQUFBQ2pnQUFBNDRBQUFRT0FBQUVqZ0FBQlk0QUFBWU9BQUFHamdBQUNBNEFBQW9PQUFBS2pnQUFDdzRBQUF1T0FBQU1EZ0FBREk0QUFBME9BQUFOamdBQURnNEFBQTZPQUFBUERnQUFENDRBQUFBT0VBQUJEaEFBQWc0UUFBTU9FQUFFRGhBQUJJNFFBQUFRQUFBQUFBQUFCREFFSHp3d01MQmdFQUFBQUFBUUJCNk1VREN4R2dSZ0FBQUFBQUFMUkdBQUFDRUFBQUJnQkJpTVlEQ3dhUTVRQUFXT0VBUWJqR0F3c1ptT01BQVAvLy8vL1FSZ0FBQUFBQUFPUkdBQUFDRUFBQUJnQkI0TVlEQ3diUTVRQUFXT0VBUVpESEF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHMHh3TUxCaERtQUFCWTRRQkI2TWNEQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQmlNZ0RDd1pJNWdBQVdPRUFRYnpJQXdzUi8vLy8vd0JIQUFBVVJ3QUFBakFBQUFZQVFkeklBd3NHZ09ZQUFGamhBRUdNeVFNTEZaampBQUQvLy8vL01FY0FBRVJIQUFBQ01BQUFCZ0JCc01rREN3YTQ1Z0FBV09FQVFlREpBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFR0V5Z01MQm9EbUFBQlk0UUJCdU1vREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkIyTW9EQ3dhNDVnQUFXT0VBUVl6TEF3c0svLy8vL3h4SUFBQlk0UUJCc01zREN4YjRPUUFBUU9BQUFNamxBQUFCQUFBQS8vLy8vd0FCQUVIUXl3TUxCdHhIQUFCWTRRQkI4TXNEQ3hUNE9RQUFTT0FBQUFqbUFBQUJBQUFBLy8vLy93QkJrTXdEQ3dhY1J3QUFXT0VBUWJETUF3c05pRG9BQUVEZ0FBQkE1Z0FBQVFCQnlNd0RDd1pjUndBQVdPRUFRZWpNQXdzS2lEb0FBRWpnQUFCNDVnQkJnTTBEQ3dhY1J3QUFXT0VBUWFETkF3c05hRGtBQUVEZ0FBQ3c1Z0FBQVFCQnVNMERDd1pjUndBQVdPRUFRZGpOQXdzS2FEa0FBRWpnQUFEbzVnQkI4TTBEQzFYLy8vLy9BUUFBQVAvLy8vOENBQUFBLy8vLy93TUFBQUJNNGdBQUhBQUFBUC8vLy84SkFBQUEvLy8vL3dzQUFBRC8vLy8vQkFBQUFQLy8vLzhLQUFBQS8vLy8vd3dBQUFELy8vLy9EUUFBQVAvLy8vOE9BRUdFendNTEJmLy8vLzhYQUVISXp3TUxsZ0gvLy8vL0dBQUFBUC8vLy84WkFBQUEvLy8vL3hvQUFBRC8vLy8vRHdBQUFQLy8vLzhRQUFBQS8vLy8veEVBQUFELy8vLy9FZ0FBQVAvLy8vOFRBQUFBLy8vLy94UUFBQUQvLy8vL0ZRQUFBUC8vLy84V0FBQUEvLy8vL3hzQUFBRC8vLy8vSEFBQUFQLy8vLzhGQUFBQS8vLy8vd1lBQUFELy8vLy9Cd0FBQVAvLy8vOElBQUFBV09FQUFGRG9BQUJZNFFBQVdPZ0FRZkRlQXdzQ1dPRUFRWURmQXdzRk9PZ0FBSThBUVpEZkF3c1Jqd0FBQUFBQUFBQ2c3d0FBQUFBQUFJOD1cIjtmdW5jdGlvbiBsQSgpe3RyeXtpZihuKXJldHVybiBuZXcgVWludDhBcnJheShuKTt2YXIgQT1qZyhmQSk7aWYoQSlyZXR1cm4gQTtpZihoKXJldHVybiBoKGZBKTt0aHJvd1wiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWRcIn1jYXRjaChBKXtKQShBKX19ZnVuY3Rpb24gdUEoKXtyZXR1cm4gbnx8IWkmJiFvfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBmZXRjaD9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSxJKXtBKGxBKCkpfSkpOmZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtpZighQS5vayl0aHJvd1wiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnXCIrZkErXCInXCI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbEEoKX0pKX1mdW5jdGlvbiBXQSgpe3ZhciBJPXtlbnY6QkIsd2FzaV9zbmFwc2hvdF9wcmV2aWV3MTpCQixnbG9iYWw6e05hTjpOYU4sSW5maW5pdHk6MS8wfSxcImdsb2JhbC5NYXRoXCI6TWF0aCxhc20yd2FzbTprfTtmdW5jdGlvbiBnKEksZyl7dmFyIEI9SS5leHBvcnRzO0EuYXNtPUIsZUEoKX1mdW5jdGlvbiBCKEEpe2coQS5pbnN0YW5jZSl9ZnVuY3Rpb24gQyhBKXtyZXR1cm4gdUEoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQSxJKX0pKS50aGVuKEEsKGZ1bmN0aW9uKEEpe1MoXCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiBcIitBKSxKQShBKX0pKX1pZihZQSgpLEEuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gQS5pbnN0YW50aWF0ZVdhc20oSSxnKX1jYXRjaChBKXtyZXR1cm4gUyhcIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6IFwiK0EpLCExfXJldHVybiBmdW5jdGlvbigpe2lmKG58fFwiZnVuY3Rpb25cIiE9dHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nfHxMQShmQSl8fFwiZnVuY3Rpb25cIiE9dHlwZW9mIGZldGNoKXJldHVybiBDKEIpO2ZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQSxJKS50aGVuKEIsKGZ1bmN0aW9uKEEpe1MoXCJ3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogXCIrQSksUyhcImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uXCIpLEMoQil9KSl9KSl9KCkse319TEEoZkEpfHwoZkE9eShmQSkpLEEuYXNtPVdBO3ZhciBwQT1bZnVuY3Rpb24oQSxJLGcsQixDLFEpe2FydG9vbGtpdC5mcmFtZU1hbGxvY3x8KGFydG9vbGtpdC5mcmFtZU1hbGxvYz17fSk7dmFyIEU9YXJ0b29sa2l0LmZyYW1lTWFsbG9jO0UuZnJhbWVwb2ludGVyPUksRS5mcmFtZXNpemU9ZyxFLmNhbWVyYT1CLEUudHJhbnNmb3JtPUMsRS52aWRlb0x1bWFQb2ludGVyPVF9LGZ1bmN0aW9uKEEsSSxnLEIpe2FydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm89e30pO3ZhciBDPWFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvO0MudmlzaWJsZT1BLEMucGF0dElkPUksQy5wYXR0VHlwZT1nLEMud2lkdGg9Qn0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwpe3ZhciBxPWFyZ3VtZW50cyxkPTEyO2FydG9vbGtpdC5tYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm1hcmtlckluZm89e3BvczpbMCwwXSxsaW5lOltbMCwwLDBdLFswLDAsMF0sWzAsMCwwXSxbMCwwLDBdXSx2ZXJ0ZXg6W1swLDBdLFswLDBdLFswLDBdLFswLDBdXX0pO3ZhciBmPWFydG9vbGtpdC5tYXJrZXJJbmZvO2YuYXJlYT1BLGYuaWQ9SSxmLmlkUGF0dD1nLGYuaWRNYXRyaXg9QixmLmRpcj1DLGYuZGlyUGF0dD1RLGYuZGlyTWF0cml4PUUsZi5jZj1pLGYuY2ZQYXR0PW8sZi5jZk1hdHJpeD1ELGYucG9zWzBdPWEsZi5wb3NbMV09dyxmLmxpbmVbMF1bMF09cVtkKytdLGYubGluZVswXVsxXT1xW2QrK10sZi5saW5lWzBdWzJdPXFbZCsrXSxmLmxpbmVbMV1bMF09cVtkKytdLGYubGluZVsxXVsxXT1xW2QrK10sZi5saW5lWzFdWzJdPXFbZCsrXSxmLmxpbmVbMl1bMF09cVtkKytdLGYubGluZVsyXVsxXT1xW2QrK10sZi5saW5lWzJdWzJdPXFbZCsrXSxmLmxpbmVbM11bMF09cVtkKytdLGYubGluZVszXVsxXT1xW2QrK10sZi5saW5lWzNdWzJdPXFbZCsrXSxmLnZlcnRleFswXVswXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMV09cVtkKytdLGYudmVydGV4WzFdWzBdPXFbZCsrXSxmLnZlcnRleFsxXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMF09cVtkKytdLGYudmVydGV4WzJdWzFdPXFbZCsrXSxmLnZlcnRleFszXVswXT1xW2QrK10sZi52ZXJ0ZXhbM11bMV09cVtkKytdLGYuZXJyb3JDb3JyZWN0ZWQ9cVtkKytdfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcpe3ZhciBoPWFyZ3VtZW50cyxzPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBSPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO1IuaWQ9aFtzKytdLFIuZXJyb3I9aFtzKytdLFIuZm91bmQ9MSxSLnBvc2VbMF09aFtzKytdLFIucG9zZVsxXT1oW3MrK10sUi5wb3NlWzJdPWhbcysrXSxSLnBvc2VbM109aFtzKytdLFIucG9zZVs0XT1oW3MrK10sUi5wb3NlWzVdPWhbcysrXSxSLnBvc2VbNl09aFtzKytdLFIucG9zZVs3XT1oW3MrK10sUi5wb3NlWzhdPWhbcysrXSxSLnBvc2VbOV09aFtzKytdLFIucG9zZVsxMF09aFtzKytdLFIucG9zZVsxMV09aFtzKytdfSxmdW5jdGlvbihBKXt2YXIgST1hcmd1bWVudHMsZz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgQj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztCLmlkPUlbZysrXSxCLmVycm9yPS0xLEIuZm91bmQ9MCxCLnBvc2VbMF09MCxCLnBvc2VbMV09MCxCLnBvc2VbMl09MCxCLnBvc2VbM109MCxCLnBvc2VbNF09MCxCLnBvc2VbNV09MCxCLnBvc2VbNl09MCxCLnBvc2VbN109MCxCLnBvc2VbOF09MCxCLnBvc2VbOV09MCxCLnBvc2VbMTBdPTAsQi5wb3NlWzExXT0wfV07ZnVuY3Rpb24gWkEoQSxJLGcsQixDLFEsRSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFKX1mdW5jdGlvbiBiQShBLEksZyxCLEMpe3JldHVybiBwQVtBXShJLGcsQixDKX1mdW5jdGlvbiB4QShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl9ZnVuY3Rpb24gbUEoQSxJKXtyZXR1cm4gcEFbQV0oSSl9ZnVuY3Rpb24gWEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKX1mdW5jdGlvbiBWQShBKXtyZXR1cm4gQS5yZXBsYWNlKC9cXGJfX1pbXFx3XFxkX10rL2csKGZ1bmN0aW9uKEEpe3JldHVybiBBPT1BP0E6QStcIiBbXCIrQStcIl1cIn0pKX1mdW5jdGlvbiBPQSgpe3ZhciBBPW5ldyBFcnJvcjtpZighQS5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChJKXtBPUl9aWYoIUEuc3RhY2spcmV0dXJuXCIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKVwifXJldHVybiBBLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVEEoKXt2YXIgST1PQSgpO3JldHVybiBBLmV4dHJhU3RhY2tUcmFjZSYmKEkrPVwiXFxuXCIrQS5leHRyYVN0YWNrVHJhY2UoKSksVkEoSSl9d0EucHVzaCh7ZnVuYzpmdW5jdGlvbigpe0VCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2FCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2lCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe29CKCl9fSk7dmFyIGpBPXt9O2Z1bmN0aW9uIFBBKCl7cmV0dXJuIFF8fFwiLi90aGlzLnByb2dyYW1cIn1mdW5jdGlvbiB2QShBKXt2YXIgSSxnO3ZBLmNhbGxlZD8oZz1BQVtBPj4yXSxJPUFBW2c+PjJdKToodkEuY2FsbGVkPSEwLGpBLlVTRVI9XCJ3ZWJfdXNlclwiLGpBLkxPR05BTUU9XCJ3ZWJfdXNlclwiLGpBLlBBVEg9XCIvXCIsakEuUFdEPVwiL1wiLGpBLkhPTUU9XCIvaG9tZS93ZWJfdXNlclwiLGpBLkxBTkc9KFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5hdmlnYXRvcj9cInVuZGVmaW5lZFwiOkQobmF2aWdhdG9yKSkmJm5hdmlnYXRvci5sYW5ndWFnZXMmJm5hdmlnYXRvci5sYW5ndWFnZXNbMF18fFwiQ1wiKS5yZXBsYWNlKFwiLVwiLFwiX1wiKStcIi5VVEYtOFwiLGpBLl89UEEoKSxJPUwoMTAyNCksZz1MKDI1NiksQUFbZz4+Ml09SSxBQVtBPj4yXT1nKTt2YXIgQj1bXSxDPTA7Zm9yKHZhciBRIGluIGpBKWlmKFwic3RyaW5nXCI9PXR5cGVvZiBqQVtRXSl7dmFyIEU9UStcIj1cIitqQVtRXTtCLnB1c2goRSksQys9RS5sZW5ndGh9aWYoQz4xMDI0KXRocm93IG5ldyBFcnJvcihcIkVudmlyb25tZW50IHNpemUgZXhjZWVkZWQgVE9UQUxfRU5WX1NJWkUhXCIpO2Zvcih2YXIgaT0wO2k8Qi5sZW5ndGg7aSsrKWooRT1CW2ldLEkpLEFBW2crNCppPj4yXT1JLEkrPUUubGVuZ3RoKzE7QUFbZys0KkIubGVuZ3RoPj4yXT0wfWZ1bmN0aW9uIHpBKEEpe3JldHVybiBSQihBKX12YXIgX0E9e307ZnVuY3Rpb24gJEEoQSxJLGcpe3Rocm93IF9BW0FdPXtwdHI6QSxhZGp1c3RlZDpbQV0sdHlwZTpJLGRlc3RydWN0b3I6ZyxyZWZjb3VudDowLGNhdWdodDohMSxyZXRocm93bjohMX0sXCJ1bmNhdWdodF9leGNlcHRpb25cImluIERCP0RCLnVuY2F1Z2h0X2V4Y2VwdGlvbnMrKzpEQi51bmNhdWdodF9leGNlcHRpb25zPTEsQX1mdW5jdGlvbiBBSSgpe31mdW5jdGlvbiBJSShJKXtyZXR1cm4gQS5fX19lcnJub19sb2NhdGlvbiYmKEFBW0EuX19fZXJybm9fbG9jYXRpb24oKT4+Ml09SSksSX1mdW5jdGlvbiBnSShBLEkpe3JldHVybiBJSSg2MyksLTF9dmFyIEJJPXtzcGxpdFBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuL14oXFwvP3wpKFtcXHNcXFNdKj8pKCg/OlxcLnsxLDJ9fFteXFwvXSs/fCkoXFwuW14uXFwvXSp8KSkoPzpbXFwvXSopJC8uZXhlYyhBKS5zbGljZSgxKX0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPUEubGVuZ3RoLTE7Qj49MDtCLS0pe3ZhciBDPUFbQl07XCIuXCI9PT1DP0Euc3BsaWNlKEIsMSk6XCIuLlwiPT09Qz8oQS5zcGxpY2UoQiwxKSxnKyspOmcmJihBLnNwbGljZShCLDEpLGctLSl9aWYoSSlmb3IoO2c7Zy0tKUEudW5zaGlmdChcIi4uXCIpO3JldHVybiBBfSxub3JtYWxpemU6ZnVuY3Rpb24oQSl7dmFyIEk9XCIvXCI9PT1BLmNoYXJBdCgwKSxnPVwiL1wiPT09QS5zdWJzdHIoLTEpO3JldHVybihBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fEl8fChBPVwiLlwiKSxBJiZnJiYoQSs9XCIvXCIpLChJP1wiL1wiOlwiXCIpK0F9LGRpcm5hbWU6ZnVuY3Rpb24oQSl7dmFyIEk9Qkkuc3BsaXRQYXRoKEEpLGc9SVswXSxCPUlbMV07cmV0dXJuIGd8fEI/KEImJihCPUIuc3Vic3RyKDAsQi5sZW5ndGgtMSkpLGcrQik6XCIuXCJ9LGJhc2VuYW1lOmZ1bmN0aW9uKEEpe2lmKFwiL1wiPT09QSlyZXR1cm5cIi9cIjt2YXIgST1BLmxhc3RJbmRleE9mKFwiL1wiKTtyZXR1cm4tMT09PUk/QTpBLnN1YnN0cihJKzEpfSxleHRuYW1lOmZ1bmN0aW9uKEEpe3JldHVybiBCSS5zcGxpdFBhdGgoQSlbM119LGpvaW46ZnVuY3Rpb24oKXt2YXIgQT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIEJJLm5vcm1hbGl6ZShBLmpvaW4oXCIvXCIpKX0sam9pbjI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQkkubm9ybWFsaXplKEErXCIvXCIrSSl9fSxDST17cmVzb2x2ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1cIlwiLEk9ITEsZz1hcmd1bWVudHMubGVuZ3RoLTE7Zz49LTEmJiFJO2ctLSl7dmFyIEI9Zz49MD9hcmd1bWVudHNbZ106aUkuY3dkKCk7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIEIpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzXCIpO2lmKCFCKXJldHVyblwiXCI7QT1CK1wiL1wiK0EsST1cIi9cIj09PUIuY2hhckF0KDApfXJldHVybihJP1wiL1wiOlwiXCIpKyhBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fFwiLlwifSxyZWxhdGl2ZTpmdW5jdGlvbihBLEkpe2Z1bmN0aW9uIGcoQSl7Zm9yKHZhciBJPTA7STxBLmxlbmd0aCYmXCJcIj09PUFbSV07SSsrKTtmb3IodmFyIGc9QS5sZW5ndGgtMTtnPj0wJiZcIlwiPT09QVtnXTtnLS0pO3JldHVybiBJPmc/W106QS5zbGljZShJLGctSSsxKX1BPUNJLnJlc29sdmUoQSkuc3Vic3RyKDEpLEk9Q0kucmVzb2x2ZShJKS5zdWJzdHIoMSk7Zm9yKHZhciBCPWcoQS5zcGxpdChcIi9cIikpLEM9ZyhJLnNwbGl0KFwiL1wiKSksUT1NYXRoLm1pbihCLmxlbmd0aCxDLmxlbmd0aCksRT1RLGk9MDtpPFE7aSsrKWlmKEJbaV0hPT1DW2ldKXtFPWk7YnJlYWt9dmFyIG89W107Zm9yKGk9RTtpPEIubGVuZ3RoO2krKylvLnB1c2goXCIuLlwiKTtyZXR1cm4obz1vLmNvbmNhdChDLnNsaWNlKEUpKSkuam9pbihcIi9cIil9fSxRST17dHR5czpbXSxpbml0OmZ1bmN0aW9uKCl7fSxzaHV0ZG93bjpmdW5jdGlvbigpe30scmVnaXN0ZXI6ZnVuY3Rpb24oQSxJKXtRSS50dHlzW0FdPXtpbnB1dDpbXSxvdXRwdXQ6W10sb3BzOkl9LGlJLnJlZ2lzdGVyRGV2aWNlKEEsUUkuc3RyZWFtX29wcyl9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9UUkudHR5c1tBLm5vZGUucmRldl07aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO0EudHR5PUksQS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5nZXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7Zm9yKHZhciBRPTAsRT0wO0U8QjtFKyspe3ZhciBpO3RyeXtpPUEudHR5Lm9wcy5nZXRfY2hhcihBLnR0eSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PWkmJjA9PT1RKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PWkpYnJlYWs7USsrLElbZytFXT1pfXJldHVybiBRJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5wdXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7dHJ5e2Zvcih2YXIgUT0wO1E8QjtRKyspQS50dHkub3BzLnB1dF9jaGFyKEEudHR5LElbZytRXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBCJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjpmdW5jdGlvbihBKXtpZighQS5pbnB1dC5sZW5ndGgpe3ZhciBJPW51bGw7aWYodyl7dmFyIGc9QnVmZmVyLmFsbG9jP0J1ZmZlci5hbGxvYygyNTYpOm5ldyBCdWZmZXIoMjU2KSxCPTA7dHJ5e0I9cy5yZWFkU3luYyhwcm9jZXNzLnN0ZGluLmZkLGcsMCwyNTYsbnVsbCl9Y2F0Y2goQSl7aWYoLTE9PUEudG9TdHJpbmcoKS5pbmRleE9mKFwiRU9GXCIpKXRocm93IEE7Qj0wfUk9Qj4wP2cuc2xpY2UoMCxCKS50b1N0cmluZyhcInV0Zi04XCIpOm51bGx9ZWxzZVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5wcm9tcHQ/bnVsbCE9PShJPXdpbmRvdy5wcm9tcHQoXCJJbnB1dDogXCIpKSYmKEkrPVwiXFxuXCIpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHJlYWRsaW5lJiZudWxsIT09KEk9cmVhZGxpbmUoKSkmJihJKz1cIlxcblwiKTtpZighSSlyZXR1cm4gbnVsbDtBLmlucHV0PVhnKEksITApfXJldHVybiBBLmlucHV0LnNoaWZ0KCl9LHB1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8odChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYodChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX19LEVJPXtvcHNfdGFibGU6bnVsbCxtb3VudDpmdW5jdGlvbihBKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShudWxsLFwiL1wiLDE2ODk1LDApfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKGlJLmlzQmxrZGV2KGcpfHxpSS5pc0ZJRk8oZykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0VJLm9wc190YWJsZXx8KEVJLm9wc190YWJsZT17ZGlyOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLGxvb2t1cDpFSS5ub2RlX29wcy5sb29rdXAsbWtub2Q6RUkubm9kZV9vcHMubWtub2QscmVuYW1lOkVJLm5vZGVfb3BzLnJlbmFtZSx1bmxpbms6RUkubm9kZV9vcHMudW5saW5rLHJtZGlyOkVJLm5vZGVfb3BzLnJtZGlyLHJlYWRkaXI6RUkubm9kZV9vcHMucmVhZGRpcixzeW1saW5rOkVJLm5vZGVfb3BzLnN5bWxpbmt9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrfX0sZmlsZTp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOntsbHNlZWs6RUkuc3RyZWFtX29wcy5sbHNlZWsscmVhZDpFSS5zdHJlYW1fb3BzLnJlYWQsd3JpdGU6RUkuc3RyZWFtX29wcy53cml0ZSxhbGxvY2F0ZTpFSS5zdHJlYW1fb3BzLmFsbG9jYXRlLG1tYXA6RUkuc3RyZWFtX29wcy5tbWFwLG1zeW5jOkVJLnN0cmVhbV9vcHMubXN5bmN9fSxsaW5rOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLHJlYWRsaW5rOkVJLm5vZGVfb3BzLnJlYWRsaW5rfSxzdHJlYW06e319LGNocmRldjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOmlJLmNocmRldl9zdHJlYW1fb3BzfX0pO3ZhciBDPWlJLmNyZWF0ZU5vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmlzRGlyKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmRpci5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZGlyLnN0cmVhbSxDLmNvbnRlbnRzPXt9KTppSS5pc0ZpbGUoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuZmlsZS5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZmlsZS5zdHJlYW0sQy51c2VkQnl0ZXM9MCxDLmNvbnRlbnRzPW51bGwpOmlJLmlzTGluayhDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5saW5rLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5saW5rLnN0cmVhbSk6aUkuaXNDaHJkZXYoQy5tb2RlKSYmKEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuY2hyZGV2LnN0cmVhbSksQy50aW1lc3RhbXA9RGF0ZS5ub3coKSxBJiYoQS5jb250ZW50c1tJXT1DKSxDfSxnZXRGaWxlRGF0YUFzUmVndWxhckFycmF5OmZ1bmN0aW9uKEEpe2lmKEEuY29udGVudHMmJkEuY29udGVudHMuc3ViYXJyYXkpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLnVzZWRCeXRlczsrK2cpSS5wdXNoKEEuY29udGVudHNbZ10pO3JldHVybiBJfXJldHVybiBBLmNvbnRlbnRzfSxnZXRGaWxlRGF0YUFzVHlwZWRBcnJheTpmdW5jdGlvbihBKXtyZXR1cm4gQS5jb250ZW50cz9BLmNvbnRlbnRzLnN1YmFycmF5P0EuY29udGVudHMuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyk6bmV3IFVpbnQ4QXJyYXkoQS5jb250ZW50cyk6bmV3IFVpbnQ4QXJyYXl9LGV4cGFuZEZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9QS5jb250ZW50cz9BLmNvbnRlbnRzLmxlbmd0aDowO2lmKCEoZz49SSkpe0k9TWF0aC5tYXgoSSxnKihnPDEwNDg1NzY/MjoxLjEyNSl8MCksMCE9ZyYmKEk9TWF0aC5tYXgoSSwyNTYpKTt2YXIgQj1BLmNvbnRlbnRzO0EuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkoSSksQS51c2VkQnl0ZXM+MCYmQS5jb250ZW50cy5zZXQoQi5zdWJhcnJheSgwLEEudXNlZEJ5dGVzKSwwKX19LHJlc2l6ZUZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7aWYoQS51c2VkQnl0ZXMhPUkpe2lmKDA9PUkpcmV0dXJuIEEuY29udGVudHM9bnVsbCx2b2lkKEEudXNlZEJ5dGVzPTApO2lmKCFBLmNvbnRlbnRzfHxBLmNvbnRlbnRzLnN1YmFycmF5KXt2YXIgZz1BLmNvbnRlbnRzO3JldHVybiBBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLGcmJkEuY29udGVudHMuc2V0KGcuc3ViYXJyYXkoMCxNYXRoLm1pbihJLEEudXNlZEJ5dGVzKSkpLHZvaWQoQS51c2VkQnl0ZXM9SSl9aWYoQS5jb250ZW50c3x8KEEuY29udGVudHM9W10pLEEuY29udGVudHMubGVuZ3RoPkkpQS5jb250ZW50cy5sZW5ndGg9STtlbHNlIGZvcig7QS5jb250ZW50cy5sZW5ndGg8STspQS5jb250ZW50cy5wdXNoKDApO0EudXNlZEJ5dGVzPUl9fSxub2RlX29wczp7Z2V0YXR0cjpmdW5jdGlvbihBKXt2YXIgST17fTtyZXR1cm4gSS5kZXY9aUkuaXNDaHJkZXYoQS5tb2RlKT9BLmlkOjEsSS5pbm89QS5pZCxJLm1vZGU9QS5tb2RlLEkubmxpbms9MSxJLnVpZD0wLEkuZ2lkPTAsSS5yZGV2PUEucmRldixpSS5pc0RpcihBLm1vZGUpP0kuc2l6ZT00MDk2OmlJLmlzRmlsZShBLm1vZGUpP0kuc2l6ZT1BLnVzZWRCeXRlczppSS5pc0xpbmsoQS5tb2RlKT9JLnNpemU9QS5saW5rLmxlbmd0aDpJLnNpemU9MCxJLmF0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLm10aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmN0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmJsa3NpemU9NDA5NixJLmJsb2Nrcz1NYXRoLmNlaWwoSS5zaXplL0kuYmxrc2l6ZSksSX0sc2V0YXR0cjpmdW5jdGlvbihBLEkpe3ZvaWQgMCE9PUkubW9kZSYmKEEubW9kZT1JLm1vZGUpLHZvaWQgMCE9PUkudGltZXN0YW1wJiYoQS50aW1lc3RhbXA9SS50aW1lc3RhbXApLHZvaWQgMCE9PUkuc2l6ZSYmRUkucmVzaXplRmlsZVN0b3JhZ2UoQSxJLnNpemUpfSxsb29rdXA6ZnVuY3Rpb24oQSxJKXt0aHJvdyBpSS5nZW5lcmljRXJyb3JzWzQ0XX0sbWtub2Q6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIEVJLmNyZWF0ZU5vZGUoQSxJLGcsQil9LHJlbmFtZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNEaXIoQS5tb2RlKSl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShJLGcpfWNhdGNoKEEpe31pZihCKWZvcih2YXIgQyBpbiBCLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KX1kZWxldGUgQS5wYXJlbnQuY29udGVudHNbQS5uYW1lXSxBLm5hbWU9ZyxJLmNvbnRlbnRzW2ddPUEsQS5wYXJlbnQ9SX0sdW5saW5rOmZ1bmN0aW9uKEEsSSl7ZGVsZXRlIEEuY29udGVudHNbSV19LHJtZGlyOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwTm9kZShBLEkpO2Zvcih2YXIgQiBpbiBnLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTtkZWxldGUgQS5jb250ZW50c1tJXX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1bXCIuXCIsXCIuLlwiXTtmb3IodmFyIGcgaW4gQS5jb250ZW50cylBLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGcpJiZJLnB1c2goZyk7cmV0dXJuIEl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUVJLmNyZWF0ZU5vZGUoQSxJLDQxNDcxLDApO3JldHVybiBCLmxpbms9ZyxCfSxyZWFkbGluazpmdW5jdGlvbihBKXtpZighaUkuaXNMaW5rKEEubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLmxpbmt9fSxzdHJlYW1fb3BzOntyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PUEubm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oQS5ub2RlLnVzZWRCeXRlcy1DLEIpO2lmKEU+OCYmUS5zdWJhcnJheSlJLnNldChRLnN1YmFycmF5KEMsQytFKSxnKTtlbHNlIGZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtyZXR1cm4gRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKCFCKXJldHVybiAwO3ZhciBFPUEubm9kZTtpZihFLnRpbWVzdGFtcD1EYXRlLm5vdygpLEkuc3ViYXJyYXkmJighRS5jb250ZW50c3x8RS5jb250ZW50cy5zdWJhcnJheSkpe2lmKFEpcmV0dXJuIEUuY29udGVudHM9SS5zdWJhcnJheShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKDA9PT1FLnVzZWRCeXRlcyYmMD09PUMpcmV0dXJuIEUuY29udGVudHM9SS5zbGljZShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKEMrQjw9RS51c2VkQnl0ZXMpcmV0dXJuIEUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpLEJ9aWYoRUkuZXhwYW5kRmlsZVN0b3JhZ2UoRSxDK0IpLEUuY29udGVudHMuc3ViYXJyYXkmJkkuc3ViYXJyYXkpRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyk7ZWxzZSBmb3IodmFyIGk9MDtpPEI7aSsrKUUuY29udGVudHNbQytpXT1JW2craV07cmV0dXJuIEUudXNlZEJ5dGVzPU1hdGgubWF4KEUudXNlZEJ5dGVzLEMrQiksQn0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1JO2lmKDE9PT1nP0IrPUEucG9zaXRpb246Mj09PWcmJmlJLmlzRmlsZShBLm5vZGUubW9kZSkmJihCKz1BLm5vZGUudXNlZEJ5dGVzKSxCPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBCfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7RUkuZXhwYW5kRmlsZVN0b3JhZ2UoQS5ub2RlLEkrZyksQS5ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChBLm5vZGUudXNlZEJ5dGVzLEkrZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3ZhciBpLG8sRD1BLm5vZGUuY29udGVudHM7aWYoMiZFfHxELmJ1ZmZlciE9PUkuYnVmZmVyKXsoQz4wfHxDK0I8QS5ub2RlLnVzZWRCeXRlcykmJihEPUQuc3ViYXJyYXk/RC5zdWJhcnJheShDLEMrQik6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoRCxDLEMrQikpLG89ITA7dmFyIGE9SS5idWZmZXI9PXYuYnVmZmVyO2lmKCEoaT1SQihCKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDgpOyhhP3Y6SSkuc2V0KEQsaSl9ZWxzZSBvPSExLGk9RC5ieXRlT2Zmc2V0O3JldHVybntwdHI6aSxhbGxvY2F0ZWQ6b319LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiAyJkN8fEVJLnN0cmVhbV9vcHMud3JpdGUoQSxJLDAsQixnLCExKSwwfX19LGlJPXtyb290Om51bGwsbW91bnRzOltdLGRldmljZXM6e30sc3RyZWFtczpbXSxuZXh0SW5vZGU6MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDpcIi9cIixpbml0aWFsaXplZDohMSxpZ25vcmVQZXJtaXNzaW9uczohMCx0cmFja2luZ0RlbGVnYXRlOnt9LHRyYWNraW5nOntvcGVuRmxhZ3M6e1JFQUQ6MSxXUklURToyfX0sRXJybm9FcnJvcjpudWxsLGdlbmVyaWNFcnJvcnM6e30sZmlsZXN5c3RlbXM6bnVsbCxzeW5jRlNSZXF1ZXN0czowLGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcikpdGhyb3cgQStcIiA6IFwiK1RBKCk7cmV0dXJuIElJKEEuZXJybm8pfSxsb29rdXBQYXRoOmZ1bmN0aW9uKEEsSSl7aWYoST1JfHx7fSwhKEE9Q0kucmVzb2x2ZShpSS5jd2QoKSxBKSkpcmV0dXJue3BhdGg6XCJcIixub2RlOm51bGx9O3ZhciBnPXtmb2xsb3dfbW91bnQ6ITAscmVjdXJzZV9jb3VudDowfTtmb3IodmFyIEIgaW4gZyl2b2lkIDA9PT1JW0JdJiYoSVtCXT1nW0JdKTtpZihJLnJlY3Vyc2VfY291bnQ+OCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMik7Zm9yKHZhciBDPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCExKSxRPWlJLnJvb3QsRT1cIi9cIixpPTA7aTxDLmxlbmd0aDtpKyspe3ZhciBvPWk9PT1DLmxlbmd0aC0xO2lmKG8mJkkucGFyZW50KWJyZWFrO2lmKFE9aUkubG9va3VwTm9kZShRLENbaV0pLEU9Qkkuam9pbjIoRSxDW2ldKSxpSS5pc01vdW50cG9pbnQoUSkmJighb3x8byYmSS5mb2xsb3dfbW91bnQpJiYoUT1RLm1vdW50ZWQucm9vdCksIW98fEkuZm9sbG93KWZvcih2YXIgRD0wO2lJLmlzTGluayhRLm1vZGUpOyl7dmFyIGE9aUkucmVhZGxpbmsoRSk7aWYoRT1DSS5yZXNvbHZlKEJJLmRpcm5hbWUoRSksYSksUT1pSS5sb29rdXBQYXRoKEUse3JlY3Vyc2VfY291bnQ6SS5yZWN1cnNlX2NvdW50fSkubm9kZSxEKys+NDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzIpfX1yZXR1cm57cGF0aDpFLG5vZGU6UX19LGdldFBhdGg6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJOzspe2lmKGlJLmlzUm9vdChBKSl7dmFyIGc9QS5tb3VudC5tb3VudHBvaW50O3JldHVybiBJP1wiL1wiIT09Z1tnLmxlbmd0aC0xXT9nK1wiL1wiK0k6ZytJOmd9ST1JP0EubmFtZStcIi9cIitJOkEubmFtZSxBPUEucGFyZW50fX0saGFzaE5hbWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPTA7QjxJLmxlbmd0aDtCKyspZz0oZzw8NSktZytJLmNoYXJDb2RlQXQoQil8MDtyZXR1cm4oQStnPj4+MCklaUkubmFtZVRhYmxlLmxlbmd0aH0saGFzaEFkZE5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtBLm5hbWVfbmV4dD1pSS5uYW1lVGFibGVbSV0saUkubmFtZVRhYmxlW0ldPUF9LGhhc2hSZW1vdmVOb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7aWYoaUkubmFtZVRhYmxlW0ldPT09QSlpSS5uYW1lVGFibGVbSV09QS5uYW1lX25leHQ7ZWxzZSBmb3IodmFyIGc9aUkubmFtZVRhYmxlW0ldO2c7KXtpZihnLm5hbWVfbmV4dD09PUEpe2cubmFtZV9uZXh0PUEubmFtZV9uZXh0O2JyZWFrfWc9Zy5uYW1lX25leHR9fSxsb29rdXBOb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubWF5TG9va3VwKEEpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyxBKTtmb3IodmFyIEI9aUkuaGFzaE5hbWUoQS5pZCxJKSxDPWlJLm5hbWVUYWJsZVtCXTtDO0M9Qy5uYW1lX25leHQpe3ZhciBRPUMubmFtZTtpZihDLnBhcmVudC5pZD09PUEuaWQmJlE9PT1JKXJldHVybiBDfXJldHVybiBpSS5sb29rdXAoQSxJKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZighaUkuRlNOb2RlKXtpSS5GU05vZGU9ZnVuY3Rpb24oQSxJLGcsQil7QXx8KEE9dGhpcyksdGhpcy5wYXJlbnQ9QSx0aGlzLm1vdW50PUEubW91bnQsdGhpcy5tb3VudGVkPW51bGwsdGhpcy5pZD1pSS5uZXh0SW5vZGUrKyx0aGlzLm5hbWU9SSx0aGlzLm1vZGU9Zyx0aGlzLm5vZGVfb3BzPXt9LHRoaXMuc3RyZWFtX29wcz17fSx0aGlzLnJkZXY9Qn0saUkuRlNOb2RlLnByb3RvdHlwZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpSS5GU05vZGUucHJvdG90eXBlLHtyZWFkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMzY1PT0oMzY1JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MzY1OnRoaXMubW9kZSY9LTM2Nn19LHdyaXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTQ2PT0oMTQ2JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MTQ2OnRoaXMubW9kZSY9LTE0N319LGlzRm9sZGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNEaXIodGhpcy5tb2RlKX19LGlzRGV2aWNlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNDaHJkZXYodGhpcy5tb2RlKX19fSl9dmFyIEM9bmV3IGlJLkZTTm9kZShBLEksZyxCKTtyZXR1cm4gaUkuaGFzaEFkZE5vZGUoQyksQ30sZGVzdHJveU5vZGU6ZnVuY3Rpb24oQSl7aUkuaGFzaFJlbW92ZU5vZGUoQSl9LGlzUm9vdDpmdW5jdGlvbihBKXtyZXR1cm4gQT09PUEucGFyZW50fSxpc01vdW50cG9pbnQ6ZnVuY3Rpb24oQSl7cmV0dXJuISFBLm1vdW50ZWR9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm4gMzI3Njg9PSg2MTQ0MCZBKX0saXNEaXI6ZnVuY3Rpb24oQSl7cmV0dXJuIDE2Mzg0PT0oNjE0NDAmQSl9LGlzTGluazpmdW5jdGlvbihBKXtyZXR1cm4gNDA5NjA9PSg2MTQ0MCZBKX0saXNDaHJkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDgxOTI9PSg2MTQ0MCZBKX0saXNCbGtkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDI0NTc2PT0oNjE0NDAmQSl9LGlzRklGTzpmdW5jdGlvbihBKXtyZXR1cm4gNDA5Nj09KDYxNDQwJkEpfSxpc1NvY2tldDpmdW5jdGlvbihBKXtyZXR1cm4gNDkxNTI9PSg0OTE1MiZBKX0sZmxhZ01vZGVzOntyOjAscnM6MTA1MjY3MixcInIrXCI6Mix3OjU3Nyx3eDo3MDUseHc6NzA1LFwidytcIjo1NzgsXCJ3eCtcIjo3MDYsXCJ4dytcIjo3MDYsYToxMDg5LGF4OjEyMTcseGE6MTIxNyxcImErXCI6MTA5MCxcImF4K1wiOjEyMTgsXCJ4YStcIjoxMjE4fSxtb2RlU3RyaW5nVG9GbGFnczpmdW5jdGlvbihBKXt2YXIgST1pSS5mbGFnTW9kZXNbQV07aWYodm9pZCAwPT09SSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGZpbGUgb3BlbiBtb2RlOiBcIitBKTtyZXR1cm4gSX0sZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmc6ZnVuY3Rpb24oQSl7dmFyIEk9W1wiclwiLFwid1wiLFwicndcIl1bMyZBXTtyZXR1cm4gNTEyJkEmJihJKz1cIndcIiksSX0sbm9kZVBlcm1pc3Npb25zOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIGlJLmlnbm9yZVBlcm1pc3Npb25zfHwoLTE9PT1JLmluZGV4T2YoXCJyXCIpfHwyOTImQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFwid1wiKXx8MTQ2JkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcInhcIil8fDczJkEubW9kZSk/MDoyfSxtYXlMb29rdXA6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLm5vZGVQZXJtaXNzaW9ucyhBLFwieFwiKXx8KEEubm9kZV9vcHMubG9va3VwPzA6Mil9LG1heUNyZWF0ZTpmdW5jdGlvbihBLEkpe3RyeXtyZXR1cm4gaUkubG9va3VwTm9kZShBLEkpLDIwfWNhdGNoKEEpe31yZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKX0sbWF5RGVsZXRlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjt0cnl7Qj1pSS5sb29rdXBOb2RlKEEsSSl9Y2F0Y2goQSl7cmV0dXJuIEEuZXJybm99dmFyIEM9aUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKTtpZihDKXJldHVybiBDO2lmKGcpe2lmKCFpSS5pc0RpcihCLm1vZGUpKXJldHVybiA1NDtpZihpSS5pc1Jvb3QoQil8fGlJLmdldFBhdGgoQik9PT1pSS5jd2QoKSlyZXR1cm4gMTB9ZWxzZSBpZihpSS5pc0RpcihCLm1vZGUpKXJldHVybiAzMTtyZXR1cm4gMH0sbWF5T3BlbjpmdW5jdGlvbihBLEkpe3JldHVybiBBP2lJLmlzTGluayhBLm1vZGUpPzMyOmlJLmlzRGlyKEEubW9kZSkmJihcInJcIiE9PWlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpfHw1MTImSSk/MzE6aUkubm9kZVBlcm1pc3Npb25zKEEsaUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSkpOjQ0fSxNQVhfT1BFTl9GRFM6NDA5NixuZXh0ZmQ6ZnVuY3Rpb24oQSxJKXtBPUF8fDAsST1JfHxpSS5NQVhfT1BFTl9GRFM7Zm9yKHZhciBnPUE7Zzw9STtnKyspaWYoIWlJLnN0cmVhbXNbZ10pcmV0dXJuIGc7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzMpfSxnZXRTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0cmVhbXNbQV19LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihBLEksZyl7aUkuRlNTdHJlYW18fChpSS5GU1N0cmVhbT1mdW5jdGlvbigpe30saUkuRlNTdHJlYW0ucHJvdG90eXBlPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5ub2RlPUF9fSxpc1JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzV3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAwIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzQXBwZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTAyNCZ0aGlzLmZsYWdzfX19KSk7dmFyIEI9bmV3IGlJLkZTU3RyZWFtO2Zvcih2YXIgQyBpbiBBKUJbQ109QVtDXTtBPUI7dmFyIFE9aUkubmV4dGZkKEksZyk7cmV0dXJuIEEuZmQ9USxpSS5zdHJlYW1zW1FdPUEsQX0sY2xvc2VTdHJlYW06ZnVuY3Rpb24oQSl7aUkuc3RyZWFtc1tBXT1udWxsfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1pSS5nZXREZXZpY2UoQS5ub2RlLnJkZXYpO0Euc3RyZWFtX29wcz1JLnN0cmVhbV9vcHMsQS5zdHJlYW1fb3BzLm9wZW4mJkEuc3RyZWFtX29wcy5vcGVuKEEpfSxsbHNlZWs6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9fSxtYWpvcjpmdW5jdGlvbihBKXtyZXR1cm4gQT4+OH0sbWlub3I6ZnVuY3Rpb24oQSl7cmV0dXJuIDI1NSZBfSxtYWtlZGV2OmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE8PDh8SX0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24oQSxJKXtpSS5kZXZpY2VzW0FdPXtzdHJlYW1fb3BzOkl9fSxnZXREZXZpY2U6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLmRldmljZXNbQV19LGdldE1vdW50czpmdW5jdGlvbihBKXtmb3IodmFyIEk9W10sZz1bQV07Zy5sZW5ndGg7KXt2YXIgQj1nLnBvcCgpO0kucHVzaChCKSxnLnB1c2guYXBwbHkoZyxCLm1vdW50cyl9cmV0dXJuIEl9LHN5bmNmczpmdW5jdGlvbihBLEkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIEEmJihJPUEsQT0hMSksaUkuc3luY0ZTUmVxdWVzdHMrKyxpSS5zeW5jRlNSZXF1ZXN0cz4xJiZTKFwid2FybmluZzogXCIraUkuc3luY0ZTUmVxdWVzdHMrXCIgRlMuc3luY2ZzIG9wZXJhdGlvbnMgaW4gZmxpZ2h0IGF0IG9uY2UsIHByb2JhYmx5IGp1c3QgZG9pbmcgZXh0cmEgd29ya1wiKTt2YXIgZz1pSS5nZXRNb3VudHMoaUkucm9vdC5tb3VudCksQj0wO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGlJLnN5bmNGU1JlcXVlc3RzLS0sSShBKX1mdW5jdGlvbiBRKEEpe2lmKEEpcmV0dXJuIFEuZXJyb3JlZD92b2lkIDA6KFEuZXJyb3JlZD0hMCxDKEEpKTsrK0I+PWcubGVuZ3RoJiZDKG51bGwpfWcuZm9yRWFjaCgoZnVuY3Rpb24oSSl7aWYoIUkudHlwZS5zeW5jZnMpcmV0dXJuIFEobnVsbCk7SS50eXBlLnN5bmNmcyhJLEEsUSl9KSl9LG1vdW50OmZ1bmN0aW9uKEEsSSxnKXt2YXIgQixDPVwiL1wiPT09ZyxRPSFnO2lmKEMmJmlJLnJvb3QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFDJiYhUSl7dmFyIEU9aUkubG9va3VwUGF0aChnLHtmb2xsb3dfbW91bnQ6ITF9KTtpZihnPUUucGF0aCxCPUUubm9kZSxpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFpSS5pc0RpcihCLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KX12YXIgaT17dHlwZTpBLG9wdHM6SSxtb3VudHBvaW50OmcsbW91bnRzOltdfSxvPUEubW91bnQoaSk7cmV0dXJuIG8ubW91bnQ9aSxpLnJvb3Q9byxDP2lJLnJvb3Q9bzpCJiYoQi5tb3VudGVkPWksQi5tb3VudCYmQi5tb3VudC5tb3VudHMucHVzaChpKSksb30sdW5tb3VudDpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvd19tb3VudDohMX0pO2lmKCFpSS5pc01vdW50cG9pbnQoSS5ub2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIGc9SS5ub2RlLEI9Zy5tb3VudGVkLEM9aUkuZ2V0TW91bnRzKEIpO09iamVjdC5rZXlzKGlJLm5hbWVUYWJsZSkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBJPWlJLm5hbWVUYWJsZVtBXTtJOyl7dmFyIGc9SS5uYW1lX25leHQ7LTEhPT1DLmluZGV4T2YoSS5tb3VudCkmJmlJLmRlc3Ryb3lOb2RlKEkpLEk9Z319KSksZy5tb3VudGVkPW51bGw7dmFyIFE9Zy5tb3VudC5tb3VudHMuaW5kZXhPZihCKTtnLm1vdW50Lm1vdW50cy5zcGxpY2UoUSwxKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEubm9kZV9vcHMubG9va3VwKEEsSSl9LG1rbm9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQz1CSS5iYXNlbmFtZShBKTtpZighQ3x8XCIuXCI9PT1DfHxcIi4uXCI9PT1DKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT1pSS5tYXlDcmVhdGUoQixDKTtpZihRKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKFEpO2lmKCFCLm5vZGVfb3BzLm1rbm9kKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gQi5ub2RlX29wcy5ta25vZChCLEMsSSxnKX0sY3JlYXRlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjQzOCxJJj00MDk1LEl8PTMyNzY4LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NTExLEkmPTEwMjMsSXw9MTYzODQsaUkubWtub2QoQSxJLDApfSxta2RpclRyZWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9QS5zcGxpdChcIi9cIiksQj1cIlwiLEM9MDtDPGcubGVuZ3RoOysrQylpZihnW0NdKXtCKz1cIi9cIitnW0NdO3RyeXtpSS5ta2RpcihCLEkpfWNhdGNoKEEpe2lmKDIwIT1BLmVycm5vKXRocm93IEF9fX0sbWtkZXY6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB2b2lkIDA9PT1nJiYoZz1JLEk9NDM4KSxJfD04MTkyLGlJLm1rbm9kKEEsSSxnKX0sc3ltbGluazpmdW5jdGlvbihBLEkpe2lmKCFDSS5yZXNvbHZlKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgZz1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBCPUJJLmJhc2VuYW1lKEkpLEM9aUkubWF5Q3JlYXRlKGcsQik7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighZy5ub2RlX29wcy5zeW1saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5zeW1saW5rKGcsQixBKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSl7dmFyIGcsQixDPUJJLmRpcm5hbWUoQSksUT1CSS5kaXJuYW1lKEkpLEU9QkkuYmFzZW5hbWUoQSksaT1CSS5iYXNlbmFtZShJKTt0cnl7Zz1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQj1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGV9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApfWlmKCFnfHwhQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoZy5tb3VudCE9PUIubW91bnQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzUpO3ZhciBvLEQ9aUkubG9va3VwTm9kZShnLEUpLGE9Q0kucmVsYXRpdmUoQSxRKTtpZihcIi5cIiE9PWEuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihcIi5cIiE9PShhPUNJLnJlbGF0aXZlKEksQykpLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7dHJ5e289aUkubG9va3VwTm9kZShCLGkpfWNhdGNoKEEpe31pZihEIT09byl7dmFyIHc9aUkuaXNEaXIoRC5tb2RlKSxGPWlJLm1heURlbGV0ZShnLEUsdyk7aWYoRil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZihGPW8/aUkubWF5RGVsZXRlKEIsaSx3KTppSS5tYXlDcmVhdGUoQixpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZighZy5ub2RlX29wcy5yZW5hbWUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChEKXx8byYmaUkuaXNNb3VudHBvaW50KG8pKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZihCIT09ZyYmKEY9aUkubm9kZVBlcm1pc3Npb25zKGcsXCJ3XCIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxNb3ZlUGF0aCddKCdcIitBK1wiJywgJ1wiK0krXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK2cubWVzc2FnZSl9aUkuaGFzaFJlbW92ZU5vZGUoRCk7dHJ5e2cubm9kZV9vcHMucmVuYW1lKEQsQixpKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuaGFzaEFkZE5vZGUoRCl9dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uTW92ZVBhdGgnXSgnXCIrQStcIicsICdcIitJK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitnLm1lc3NhZ2UpfX19LHJtZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMCk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy5ybWRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnJtZGlyKEksZyksaUkuZGVzdHJveU5vZGUoQik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9fSxyZWFkZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtpZighSS5ub2RlX29wcy5yZWFkZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtyZXR1cm4gSS5ub2RlX29wcy5yZWFkZGlyKEkpfSx1bmxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCExKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnVubGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnVubGluayhJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfX0scmVhZGxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBKS5ub2RlO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighSS5ub2RlX29wcy5yZWFkbGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIENJLnJlc29sdmUoaUkuZ2V0UGF0aChJLnBhcmVudCksSS5ub2RlX29wcy5yZWFkbGluayhJKSl9LHN0YXQ6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFnLm5vZGVfb3BzLmdldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBnLm5vZGVfb3BzLmdldGF0dHIoZyl9LGxzdGF0OmZ1bmN0aW9uKEEpe3JldHVybiBpSS5zdGF0KEEsITApfSxjaG1vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI7aWYoIShCPVwic3RyaW5nXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFnfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtCLm5vZGVfb3BzLnNldGF0dHIoQix7bW9kZTo0MDk1Jkl8LTQwOTYmQi5tb2RlLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG1vZDpmdW5jdGlvbihBLEkpe2lJLmNobW9kKEEsSSwhMCl9LGZjaG1vZDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG1vZChnLm5vZGUsSSl9LGNob3duOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDO2lmKCEoQz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohQn0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qy5ub2RlX29wcy5zZXRhdHRyKEMse3RpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG93bjpmdW5jdGlvbihBLEksZyl7aUkuY2hvd24oQSxJLGcsITApfSxmY2hvd246ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG93bihCLm5vZGUsSSxnKX0sdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXtpZihJPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnO2lmKCEoZz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNEaXIoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIWlJLmlzRmlsZShnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgQj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcIndcIik7aWYoQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihCKTtnLm5vZGVfb3BzLnNldGF0dHIoZyx7c2l6ZTpJLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGZ0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZnLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aUkudHJ1bmNhdGUoZy5ub2RlLEkpfSx1dGltZTpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO0Iubm9kZV9vcHMuc2V0YXR0cihCLHt0aW1lc3RhbXA6TWF0aC5tYXgoSSxnKX0pfSxvcGVuOmZ1bmN0aW9uKEksZyxCLEMsUSl7aWYoXCJcIj09PUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBFO2lmKEI9dm9pZCAwPT09Qj80Mzg6QixCPTY0JihnPVwic3RyaW5nXCI9PXR5cGVvZiBnP2lJLm1vZGVTdHJpbmdUb0ZsYWdzKGcpOmcpPzQwOTUmQnwzMjc2ODowLFwib2JqZWN0XCI9PT1EKEkpKUU9STtlbHNle0k9Qkkubm9ybWFsaXplKEkpO3RyeXtFPWlJLmxvb2t1cFBhdGgoSSx7Zm9sbG93OiEoMTMxMDcyJmcpfSkubm9kZX1jYXRjaChBKXt9fXZhciBpPSExO2lmKDY0JmcpaWYoRSl7aWYoMTI4JmcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjApfWVsc2UgRT1pSS5ta25vZChJLEIsMCksaT0hMDtpZighRSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoaUkuaXNDaHJkZXYoRS5tb2RlKSYmKGcmPS01MTMpLDY1NTM2JmcmJiFpSS5pc0RpcihFLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtpZighaSl7dmFyIG89aUkubWF5T3BlbihFLGcpO2lmKG8pdGhyb3cgbmV3IGlJLkVycm5vRXJyb3Iobyl9NTEyJmcmJmlJLnRydW5jYXRlKEUsMCksZyY9LTY0MTt2YXIgYT1pSS5jcmVhdGVTdHJlYW0oe25vZGU6RSxwYXRoOmlJLmdldFBhdGgoRSksZmxhZ3M6ZyxzZWVrYWJsZTohMCxwb3NpdGlvbjowLHN0cmVhbV9vcHM6RS5zdHJlYW1fb3BzLHVuZ290dGVuOltdLGVycm9yOiExfSxDLFEpO2Euc3RyZWFtX29wcy5vcGVuJiZhLnN0cmVhbV9vcHMub3BlbihhKSwhQS5sb2dSZWFkRmlsZXN8fDEmZ3x8KGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlcz17fSksSSBpbiBpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXNbSV09MSxTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZSBlcnJvciBvbiByZWFkIGZpbGU6IFwiK0kpKSk7dHJ5e2lmKGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZSl7dmFyIHc9MDsxIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5SRUFEKSwwIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5XUklURSksaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk9wZW5GaWxlKEksdyl9fWNhdGNoKEEpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk9wZW5GaWxlJ10oJ1wiK0krXCInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitBLm1lc3NhZ2UpfXJldHVybiBhfSxjbG9zZTpmdW5jdGlvbihBKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtBLmdldGRlbnRzJiYoQS5nZXRkZW50cz1udWxsKTt0cnl7QS5zdHJlYW1fb3BzLmNsb3NlJiZBLnN0cmVhbV9vcHMuY2xvc2UoQSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmNsb3NlU3RyZWFtKEEuZmQpfUEuZmQ9bnVsbH0saXNDbG9zZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PT1BLmZkfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFBLnNlZWthYmxlfHwhQS5zdHJlYW1fb3BzLmxsc2Vlayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCk7aWYoMCE9ZyYmMSE9ZyYmMiE9Zyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEucG9zaXRpb249QS5zdHJlYW1fb3BzLmxsc2VlayhBLEksZyksQS51bmdvdHRlbj1bXSxBLnBvc2l0aW9ufSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy5yZWFkKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT12b2lkIDAhPT1DO2lmKFEpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgRT1BLnN0cmVhbV9vcHMucmVhZChBLEksZyxCLEMpO3JldHVybiBRfHwoQS5wb3NpdGlvbis9RSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMud3JpdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpOzEwMjQmQS5mbGFncyYmaUkubGxzZWVrKEEsMCwyKTt2YXIgRT12b2lkIDAhPT1DO2lmKEUpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgaT1BLnN0cmVhbV9vcHMud3JpdGUoQSxJLGcsQixDLFEpO0V8fChBLnBvc2l0aW9uKz1pKTt0cnl7QS5wYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZShBLnBhdGgpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbldyaXRlVG9GaWxlJ10oJ1wiK0EucGF0aCtcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1yZXR1cm4gaX0sYWxsb2NhdGU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKEk8MHx8Zzw9MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoMD09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkmJiFpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO2lmKCFBLnN0cmVhbV9vcHMuYWxsb2NhdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTM4KTtBLnN0cmVhbV9vcHMuYWxsb2NhdGUoQSxJLGcpfSxtbWFwOmZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUpe2lmKDAhPSgyJlEpJiYwPT0oMiZFKSYmMiE9KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoMT09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoIUEuc3RyZWFtX29wcy5tbWFwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtyZXR1cm4gQS5zdHJlYW1fb3BzLm1tYXAoQSxJLGcsQixDLFEsRSl9LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEmJkEuc3RyZWFtX29wcy5tc3luYz9BLnN0cmVhbV9vcHMubXN5bmMoQSxJLGcsQixDKTowfSxtdW5tYXA6ZnVuY3Rpb24oQSl7cmV0dXJuIDB9LGlvY3RsOmZ1bmN0aW9uKEEsSSxnKXtpZighQS5zdHJlYW1fb3BzLmlvY3RsKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU5KTtyZXR1cm4gQS5zdHJlYW1fb3BzLmlvY3RsKEEsSSxnKX0scmVhZEZpbGU6ZnVuY3Rpb24oQSxJKXtpZigoST1JfHx7fSkuZmxhZ3M9SS5mbGFnc3x8XCJyXCIsSS5lbmNvZGluZz1JLmVuY29kaW5nfHxcImJpbmFyeVwiLFwidXRmOFwiIT09SS5lbmNvZGluZyYmXCJiaW5hcnlcIiE9PUkuZW5jb2RpbmcpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVuY29kaW5nIHR5cGUgXCInK0kuZW5jb2RpbmcrJ1wiJyk7dmFyIGcsQj1pSS5vcGVuKEEsSS5mbGFncyksQz1pSS5zdGF0KEEpLnNpemUsUT1uZXcgVWludDhBcnJheShDKTtyZXR1cm4gaUkucmVhZChCLFEsMCxDLDApLFwidXRmOFwiPT09SS5lbmNvZGluZz9nPWQoUSwwKTpcImJpbmFyeVwiPT09SS5lbmNvZGluZyYmKGc9USksaUkuY2xvc2UoQiksZ30sd3JpdGVGaWxlOmZ1bmN0aW9uKEEsSSxnKXsoZz1nfHx7fSkuZmxhZ3M9Zy5mbGFnc3x8XCJ3XCI7dmFyIEI9aUkub3BlbihBLGcuZmxhZ3MsZy5tb2RlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgSSl7dmFyIEM9bmV3IFVpbnQ4QXJyYXkoVyhJKSsxKSxRPWwoSSxDLDAsQy5sZW5ndGgpO2lJLndyaXRlKEIsQywwLFEsdm9pZCAwLGcuY2FuT3duKX1lbHNle2lmKCFBcnJheUJ1ZmZlci5pc1ZpZXcoSSkpdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgZGF0YSB0eXBlXCIpO2lJLndyaXRlKEIsSSwwLEkuYnl0ZUxlbmd0aCx2b2lkIDAsZy5jYW5Pd24pfWlJLmNsb3NlKEIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuY3VycmVudFBhdGh9LGNoZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSk7aWYobnVsbD09PUkubm9kZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWlJLmlzRGlyKEkubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7dmFyIGc9aUkubm9kZVBlcm1pc3Npb25zKEkubm9kZSxcInhcIik7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnKTtpSS5jdXJyZW50UGF0aD1JLnBhdGh9LGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczpmdW5jdGlvbigpe2lJLm1rZGlyKFwiL3RtcFwiKSxpSS5ta2RpcihcIi9ob21lXCIpLGlJLm1rZGlyKFwiL2hvbWUvd2ViX3VzZXJcIil9LGNyZWF0ZURlZmF1bHREZXZpY2VzOmZ1bmN0aW9uKCl7dmFyIEE7aWYoaUkubWtkaXIoXCIvZGV2XCIpLGlJLnJlZ2lzdGVyRGV2aWNlKGlJLm1ha2VkZXYoMSwzKSx7cmVhZDpmdW5jdGlvbigpe3JldHVybiAwfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBCfX0pLGlJLm1rZGV2KFwiL2Rldi9udWxsXCIsaUkubWFrZWRldigxLDMpKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDUsMCksUUkuZGVmYXVsdF90dHlfb3BzKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDYsMCksUUkuZGVmYXVsdF90dHkxX29wcyksaUkubWtkZXYoXCIvZGV2L3R0eVwiLGlJLm1ha2VkZXYoNSwwKSksaUkubWtkZXYoXCIvZGV2L3R0eTFcIixpSS5tYWtlZGV2KDYsMCkpLFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIGNyeXB0bz9cInVuZGVmaW5lZFwiOkQoY3J5cHRvKSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciBJPW5ldyBVaW50OEFycmF5KDEpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhJKSxJWzBdfX1lbHNlIGlmKHcpdHJ5e3ZhciBCPWcoNjU0KTtBPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmFuZG9tQnl0ZXMoMSlbMF19fWNhdGNoKEEpe31BfHwoQT1mdW5jdGlvbigpe0pBKFwicmFuZG9tX2RldmljZVwiKX0pLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInJhbmRvbVwiLEEpLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInVyYW5kb21cIixBKSxpSS5ta2RpcihcIi9kZXYvc2htXCIpLGlJLm1rZGlyKFwiL2Rldi9zaG0vdG1wXCIpfSxjcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcIi9wcm9jXCIpLGlJLm1rZGlyKFwiL3Byb2Mvc2VsZlwiKSxpSS5ta2RpcihcIi9wcm9jL3NlbGYvZmRcIiksaUkubW91bnQoe21vdW50OmZ1bmN0aW9uKCl7dmFyIEE9aUkuY3JlYXRlTm9kZShcIi9wcm9jL3NlbGZcIixcImZkXCIsMTY4OTUsNzMpO3JldHVybiBBLm5vZGVfb3BzPXtsb29rdXA6ZnVuY3Rpb24oQSxJKXt2YXIgZz0rSSxCPWlJLmdldFN0cmVhbShnKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTt2YXIgQz17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6XCJmYWtlXCJ9LG5vZGVfb3BzOntyZWFkbGluazpmdW5jdGlvbigpe3JldHVybiBCLnBhdGh9fX07cmV0dXJuIEMucGFyZW50PUMsQ319LEF9fSx7fSxcIi9wcm9jL3NlbGYvZmRcIil9LGNyZWF0ZVN0YW5kYXJkU3RyZWFtczpmdW5jdGlvbigpe0Euc3RkaW4/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3RkaW5cIixBLnN0ZGluKTppSS5zeW1saW5rKFwiL2Rldi90dHlcIixcIi9kZXYvc3RkaW5cIiksQS5zdGRvdXQ/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3Rkb3V0XCIsbnVsbCxBLnN0ZG91dCk6aUkuc3ltbGluayhcIi9kZXYvdHR5XCIsXCIvZGV2L3N0ZG91dFwiKSxBLnN0ZGVycj9pSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJzdGRlcnJcIixudWxsLEEuc3RkZXJyKTppSS5zeW1saW5rKFwiL2Rldi90dHkxXCIsXCIvZGV2L3N0ZGVyclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRpblwiLFwiclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRvdXRcIixcIndcIiksaUkub3BlbihcIi9kZXYvc3RkZXJyXCIsXCJ3XCIpfSxlbnN1cmVFcnJub0Vycm9yOmZ1bmN0aW9uKCl7aUkuRXJybm9FcnJvcnx8KGlJLkVycm5vRXJyb3I9ZnVuY3Rpb24oQSxJKXt0aGlzLm5vZGU9SSx0aGlzLnNldEVycm5vPWZ1bmN0aW9uKEEpe3RoaXMuZXJybm89QX0sdGhpcy5zZXRFcnJubyhBKSx0aGlzLm1lc3NhZ2U9XCJGUyBlcnJvclwifSxpSS5FcnJub0Vycm9yLnByb3RvdHlwZT1uZXcgRXJyb3IsaUkuRXJybm9FcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I9aUkuRXJybm9FcnJvcixbNDRdLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lJLmdlbmVyaWNFcnJvcnNbQV09bmV3IGlJLkVycm5vRXJyb3IoQSksaUkuZ2VuZXJpY0Vycm9yc1tBXS5zdGFjaz1cIjxnZW5lcmljIGVycm9yLCBubyBzdGFjaz5cIn0pKSl9LHN0YXRpY0luaXQ6ZnVuY3Rpb24oKXtpSS5lbnN1cmVFcnJub0Vycm9yKCksaUkubmFtZVRhYmxlPW5ldyBBcnJheSg0MDk2KSxpSS5tb3VudChFSSx7fSxcIi9cIiksaUkuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCksaUkuY3JlYXRlRGVmYXVsdERldmljZXMoKSxpSS5jcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXMoKSxpSS5maWxlc3lzdGVtcz17TUVNRlM6RUl9fSxpbml0OmZ1bmN0aW9uKEksZyxCKXtpSS5pbml0LmluaXRpYWxpemVkPSEwLGlJLmVuc3VyZUVycm5vRXJyb3IoKSxBLnN0ZGluPUl8fEEuc3RkaW4sQS5zdGRvdXQ9Z3x8QS5zdGRvdXQsQS5zdGRlcnI9Qnx8QS5zdGRlcnIsaUkuY3JlYXRlU3RhbmRhcmRTdHJlYW1zKCl9LHF1aXQ6ZnVuY3Rpb24oKXtpSS5pbml0LmluaXRpYWxpemVkPSExO3ZhciBJPUEuX2ZmbHVzaDtJJiZJKDApO2Zvcih2YXIgZz0wO2c8aUkuc3RyZWFtcy5sZW5ndGg7ZysrKXt2YXIgQj1pSS5zdHJlYW1zW2ddO0ImJmlJLmNsb3NlKEIpfX0sZ2V0TW9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPTA7cmV0dXJuIEEmJihnfD0zNjUpLEkmJihnfD0xNDYpLGd9LGpvaW5QYXRoOmZ1bmN0aW9uKEEsSSl7dmFyIGc9Qkkuam9pbi5hcHBseShudWxsLEEpO3JldHVybiBJJiZcIi9cIj09Z1swXSYmKGc9Zy5zdWJzdHIoMSkpLGd9LGFic29sdXRlUGF0aDpmdW5jdGlvbihBLEkpe3JldHVybiBDSS5yZXNvbHZlKEksQSl9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbihBKXtyZXR1cm4gQkkubm9ybWFsaXplKEEpfSxmaW5kT2JqZWN0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuYW5hbHl6ZVBhdGgoQSxJKTtyZXR1cm4gZy5leGlzdHM/Zy5vYmplY3Q6KElJKGcuZXJyb3IpLG51bGwpfSxhbmFseXplUGF0aDpmdW5jdGlvbihBLEkpe3RyeXtBPShCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkpLnBhdGh9Y2F0Y2goQSl7fXZhciBnPXtpc1Jvb3Q6ITEsZXhpc3RzOiExLGVycm9yOjAsbmFtZTpudWxsLHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ITEscGFyZW50UGF0aDpudWxsLHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KTtnLnBhcmVudEV4aXN0cz0hMCxnLnBhcmVudFBhdGg9Qi5wYXRoLGcucGFyZW50T2JqZWN0PUIubm9kZSxnLm5hbWU9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLGcuZXhpc3RzPSEwLGcucGF0aD1CLnBhdGgsZy5vYmplY3Q9Qi5ub2RlLGcubmFtZT1CLm5vZGUubmFtZSxnLmlzUm9vdD1cIi9cIj09PUIucGF0aH1jYXRjaChBKXtnLmVycm9yPUEuZXJybm99cmV0dXJuIGd9LGNyZWF0ZUZvbGRlcjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksUT1pSS5nZXRNb2RlKGcsQik7cmV0dXJuIGlJLm1rZGlyKEMsUSl9LGNyZWF0ZVBhdGg6ZnVuY3Rpb24oQSxJLGcsQil7QT1cInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSk7Zm9yKHZhciBDPUkuc3BsaXQoXCIvXCIpLnJldmVyc2UoKTtDLmxlbmd0aDspe3ZhciBRPUMucG9wKCk7aWYoUSl7dmFyIEU9Qkkuam9pbjIoQSxRKTt0cnl7aUkubWtkaXIoRSl9Y2F0Y2goQSl7fUE9RX19cmV0dXJuIEV9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksRT1pSS5nZXRNb2RlKEIsQyk7cmV0dXJuIGlJLmNyZWF0ZShRLEUpfSxjcmVhdGVEYXRhRmlsZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7dmFyIEU9ST9CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk6QSxpPWlJLmdldE1vZGUoQixDKSxvPWlJLmNyZWF0ZShFLGkpO2lmKGcpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBnKXtmb3IodmFyIEQ9bmV3IEFycmF5KGcubGVuZ3RoKSxhPTAsdz1nLmxlbmd0aDthPHc7KythKURbYV09Zy5jaGFyQ29kZUF0KGEpO2c9RH1pSS5jaG1vZChvLDE0NnxpKTt2YXIgRj1pSS5vcGVuKG8sXCJ3XCIpO2lJLndyaXRlKEYsZywwLGcubGVuZ3RoLDAsUSksaUkuY2xvc2UoRiksaUkuY2htb2QobyxpKX1yZXR1cm4gb30sY3JlYXRlRGV2aWNlOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoISFnLCEhQik7aUkuY3JlYXRlRGV2aWNlLm1ham9yfHwoaUkuY3JlYXRlRGV2aWNlLm1ham9yPTY0KTt2YXIgRT1pSS5tYWtlZGV2KGlJLmNyZWF0ZURldmljZS5tYWpvcisrLDApO3JldHVybiBpSS5yZWdpc3RlckRldmljZShFLHtvcGVuOmZ1bmN0aW9uKEEpe0Euc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0ImJkIuYnVmZmVyJiZCLmJ1ZmZlci5sZW5ndGgmJkIoMTApfSxyZWFkOmZ1bmN0aW9uKEEsSSxCLEMsUSl7Zm9yKHZhciBFPTAsaT0wO2k8QztpKyspe3ZhciBvO3RyeXtvPWcoKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09byYmMD09PUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09bylicmVhaztFKyssSVtCK2ldPW99cmV0dXJuIEUmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSl7Zm9yKHZhciBFPTA7RTxDO0UrKyl0cnl7QihJW2crRV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQyYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX19KSxpSS5ta2RldihDLFEsRSl9LGNyZWF0ZUxpbms6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk7cmV0dXJuIGlJLnN5bWxpbmsoZyxRKX0sZm9yY2VMb2FkRmlsZTpmdW5jdGlvbihBKXtpZihBLmlzRGV2aWNlfHxBLmlzRm9sZGVyfHxBLmxpbmt8fEEuY29udGVudHMpcmV0dXJuITA7dmFyIEk9ITA7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXRocm93IG5ldyBFcnJvcihcIkxhenkgbG9hZGluZyBzaG91bGQgaGF2ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBpbiBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtzIGluIHdlYiB3b3JrZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2Mgb24gdGhlIG1haW4gdGhyZWFkLlwiKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQoKSBvciBYTUxIdHRwUmVxdWVzdC5cIik7dHJ5e0EuY29udGVudHM9WGcoRyhBLnVybCksITApLEEudXNlZEJ5dGVzPUEuY29udGVudHMubGVuZ3RofWNhdGNoKEEpe0k9ITF9cmV0dXJuIEl8fElJKDI5KSxJfSxjcmVhdGVMYXp5RmlsZTpmdW5jdGlvbihBLEksZyxCLEMpe2Z1bmN0aW9uIFEoKXt0aGlzLmxlbmd0aEtub3duPSExLHRoaXMuY2h1bmtzPVtdfWlmKFEucHJvdG90eXBlLmdldD1mdW5jdGlvbihBKXtpZighKEE+dGhpcy5sZW5ndGgtMXx8QTwwKSl7dmFyIEk9QSV0aGlzLmNodW5rU2l6ZSxnPUEvdGhpcy5jaHVua1NpemV8MDtyZXR1cm4gdGhpcy5nZXR0ZXIoZylbSV19fSxRLnByb3RvdHlwZS5zZXREYXRhR2V0dGVyPWZ1bmN0aW9uKEEpe3RoaXMuZ2V0dGVyPUF9LFEucHJvdG90eXBlLmNhY2hlTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIEE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEub3BlbihcIkhFQURcIixnLCExKSxBLnNlbmQobnVsbCksIShBLnN0YXR1cz49MjAwJiZBLnN0YXR1czwzMDB8fDMwND09PUEuc3RhdHVzKSl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBsb2FkIFwiK2crXCIuIFN0YXR1czogXCIrQS5zdGF0dXMpO3ZhciBJLEI9TnVtYmVyKEEuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LWxlbmd0aFwiKSksQz0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQWNjZXB0LVJhbmdlc1wiKSkmJlwiYnl0ZXNcIj09PUksUT0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1FbmNvZGluZ1wiKSkmJlwiZ3ppcFwiPT09SSxFPTEwNDg1NzY7Q3x8KEU9Qik7dmFyIGk9dGhpcztpLnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKEEpe3ZhciBJPUEqRSxDPShBKzEpKkUtMTtpZihDPU1hdGgubWluKEMsQi0xKSx2b2lkIDA9PT1pLmNodW5rc1tBXSYmKGkuY2h1bmtzW0FdPWZ1bmN0aW9uKEEsSSl7aWYoQT5JKXRocm93IG5ldyBFcnJvcihcImludmFsaWQgcmFuZ2UgKFwiK0ErXCIsIFwiK0krXCIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCFcIik7aWYoST5CLTEpdGhyb3cgbmV3IEVycm9yKFwib25seSBcIitCK1wiIGJ5dGVzIGF2YWlsYWJsZSEgcHJvZ3JhbW1lciBlcnJvciFcIik7dmFyIEM9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEMub3BlbihcIkdFVFwiLGcsITEpLEIhPT1FJiZDLnNldFJlcXVlc3RIZWFkZXIoXCJSYW5nZVwiLFwiYnl0ZXM9XCIrQStcIi1cIitJKSxcInVuZGVmaW5lZFwiIT10eXBlb2YgVWludDhBcnJheSYmKEMucmVzcG9uc2VUeXBlPVwiYXJyYXlidWZmZXJcIiksQy5vdmVycmlkZU1pbWVUeXBlJiZDLm92ZXJyaWRlTWltZVR5cGUoXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkXCIpLEMuc2VuZChudWxsKSwhKEMuc3RhdHVzPj0yMDAmJkMuc3RhdHVzPDMwMHx8MzA0PT09Qy5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGxvYWQgXCIrZytcIi4gU3RhdHVzOiBcIitDLnN0YXR1cyk7cmV0dXJuIHZvaWQgMCE9PUMucmVzcG9uc2U/bmV3IFVpbnQ4QXJyYXkoQy5yZXNwb25zZXx8W10pOlhnKEMucmVzcG9uc2VUZXh0fHxcIlwiLCEwKX0oSSxDKSksdm9pZCAwPT09aS5jaHVua3NbQV0pdGhyb3cgbmV3IEVycm9yKFwiZG9YSFIgZmFpbGVkIVwiKTtyZXR1cm4gaS5jaHVua3NbQV19KSksIVEmJkJ8fChFPUI9MSxCPXRoaXMuZ2V0dGVyKDApLmxlbmd0aCxFPUIsdChcIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBvZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZFwiKSksdGhpcy5fbGVuZ3RoPUIsdGhpcy5fY2h1bmtTaXplPUUsdGhpcy5sZW5ndGhLbm93bj0hMH0sXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXtpZighbyl0aHJvd1wiQ2Fubm90IGRvIHN5bmNocm9ub3VzIGJpbmFyeSBYSFJzIG91dHNpZGUgd2Vid29ya2VycyBpbiBtb2Rlcm4gYnJvd3NlcnMuIFVzZSAtLWVtYmVkLWZpbGUgb3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jY1wiO3ZhciBFPW5ldyBRO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoS25vd258fHRoaXMuY2FjaGVMZW5ndGgoKSx0aGlzLl9sZW5ndGh9fSxjaHVua1NpemU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fY2h1bmtTaXplfX19KTt2YXIgaT17aXNEZXZpY2U6ITEsY29udGVudHM6RX19ZWxzZSBpPXtpc0RldmljZTohMSx1cmw6Z307dmFyIEQ9aUkuY3JlYXRlRmlsZShBLEksaSxCLEMpO2kuY29udGVudHM/RC5jb250ZW50cz1pLmNvbnRlbnRzOmkudXJsJiYoRC5jb250ZW50cz1udWxsLEQudXJsPWkudXJsKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhELHt1c2VkQnl0ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRzLmxlbmd0aH19fSk7dmFyIGE9e307cmV0dXJuIE9iamVjdC5rZXlzKEQuc3RyZWFtX29wcykuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9RC5zdHJlYW1fb3BzW0FdO2FbQV09ZnVuY3Rpb24oKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7cmV0dXJuIEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfX0pKSxhLnJlYWQ9ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PVEubGVuZ3RoKXJldHVybiAwO3ZhciBFPU1hdGgubWluKFEubGVuZ3RoLUMsQik7aWYoUS5zbGljZSlmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07ZWxzZSBmb3IoaT0wO2k8RTtpKyspSVtnK2ldPVEuZ2V0KEMraSk7cmV0dXJuIEV9LEQuc3RyZWFtX29wcz1hLER9LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24oSSxnLEIsQyxRLEUsaSxvLEQsYSl7QnJvd3Nlci5pbml0KCk7dmFyIHc9Zz9DSS5yZXNvbHZlKEJJLmpvaW4yKEksZykpOkk7ZnVuY3Rpb24gRihCKXtmdW5jdGlvbiBGKEEpe2EmJmEoKSxvfHxpSS5jcmVhdGVEYXRhRmlsZShJLGcsQSxDLFEsRCksRSYmRSgpLGVBKCl9dmFyIEc9ITE7QS5wcmVsb2FkUGx1Z2lucy5mb3JFYWNoKChmdW5jdGlvbihBKXtHfHxBLmNhbkhhbmRsZSh3KSYmKEEuaGFuZGxlKEIsdyxGLChmdW5jdGlvbigpe2kmJmkoKSxlQSgpfSkpLEc9ITApfSkpLEd8fEYoQil9WUEoKSxcInN0cmluZ1wiPT10eXBlb2YgQj9Ccm93c2VyLmFzeW5jTG9hZChCLChmdW5jdGlvbihBKXtGKEEpfSksaSk6RihCKX0saW5kZXhlZERCOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5pbmRleGVkREJ8fHdpbmRvdy5tb3pJbmRleGVkREJ8fHdpbmRvdy53ZWJraXRJbmRleGVkREJ8fHdpbmRvdy5tc0luZGV4ZWREQn0sREJfTkFNRTpmdW5jdGlvbigpe3JldHVyblwiRU1fRlNfXCIrd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6XCJGSUxFX0RBVEFcIixzYXZlRmlsZXNUb0RCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbigpe3QoXCJjcmVhdGluZyBkYlwiKSxDLnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKX0sQy5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgQj1DLnJlc3VsdC50cmFuc2FjdGlvbihbaUkuREJfU1RPUkVfTkFNRV0sXCJyZWFkd3JpdGVcIiksUT1CLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLEU9MCxpPTAsbz1BLmxlbmd0aDtmdW5jdGlvbiBEKCl7MD09aT9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9US5wdXQoaUkuYW5hbHl6ZVBhdGgoQSkub2JqZWN0LmNvbnRlbnRzLEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7KytFK2k9PW8mJkQoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7aSsrLEUraT09byYmRCgpfX0pKSxCLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZyxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0O3RyeXt2YXIgUT1CLnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcInJlYWRvbmx5XCIpfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9dmFyIEU9US5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxpPTAsbz0wLEQ9QS5sZW5ndGg7ZnVuY3Rpb24gYSgpezA9PW8/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUUuZ2V0KEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7aUkuYW5hbHl6ZVBhdGgoQSkuZXhpc3RzJiZpSS51bmxpbmsoQSksaUkuY3JlYXRlRGF0YUZpbGUoQkkuZGlybmFtZShBKSxCSS5iYXNlbmFtZShBKSxJLnJlc3VsdCwhMCwhMCwhMCksKytpK289PUQmJmEoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7bysrLGkrbz09RCYmYSgpfX0pKSxRLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9fSxvST17REVGQVVMVF9QT0xMTUFTSzo1LG1hcHBpbmdzOnt9LHVtYXNrOjUxMSxjYWxjdWxhdGVBdDpmdW5jdGlvbihBLEkpe2lmKFwiL1wiIT09SVswXSl7dmFyIGc7aWYoLTEwMD09PUEpZz1pSS5jd2QoKTtlbHNle3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtnPUIucGF0aH1JPUJJLmpvaW4yKGcsSSl9cmV0dXJuIEl9LGRvU3RhdDpmdW5jdGlvbihBLEksZyl7dHJ5e3ZhciBCPUEoSSl9Y2F0Y2goQSl7aWYoQSYmQS5ub2RlJiZCSS5ub3JtYWxpemUoSSkhPT1CSS5ub3JtYWxpemUoaUkuZ2V0UGF0aChBLm5vZGUpKSlyZXR1cm4tNTQ7dGhyb3cgQX1yZXR1cm4gQUFbZz4+Ml09Qi5kZXYsQUFbZys0Pj4yXT0wLEFBW2crOD4+Ml09Qi5pbm8sQUFbZysxMj4+Ml09Qi5tb2RlLEFBW2crMTY+PjJdPUIubmxpbmssQUFbZysyMD4+Ml09Qi51aWQsQUFbZysyND4+Ml09Qi5naWQsQUFbZysyOD4+Ml09Qi5yZGV2LEFBW2crMzI+PjJdPTAsZEE9W0Iuc2l6ZT4+PjAsKHFBPUIuc2l6ZSwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crNDA+PjJdPWRBWzBdLEFBW2crNDQ+PjJdPWRBWzFdLEFBW2crNDg+PjJdPTQwOTYsQUFbZys1Mj4+Ml09Qi5ibG9ja3MsQUFbZys1Nj4+Ml09Qi5hdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2MD4+Ml09MCxBQVtnKzY0Pj4yXT1CLm10aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzY4Pj4yXT0wLEFBW2crNzI+PjJdPUIuY3RpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNzY+PjJdPTAsZEE9W0IuaW5vPj4+MCwocUE9Qi5pbm8sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzgwPj4yXT1kQVswXSxBQVtnKzg0Pj4yXT1kQVsxXSwwfSxkb01zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9ei5zbGljZShBLEErZyk7aUkubXN5bmMoSSxRLEMsZyxCKX0sZG9Na2RpcjpmdW5jdGlvbihBLEkpe3JldHVyblwiL1wiPT09KEE9Qkkubm9ybWFsaXplKEEpKVtBLmxlbmd0aC0xXSYmKEE9QS5zdWJzdHIoMCxBLmxlbmd0aC0xKSksaUkubWtkaXIoQSxJLDApLDB9LGRvTWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3N3aXRjaCg2MTQ0MCZJKXtjYXNlIDMyNzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuLTI4fXJldHVybiBpSS5ta25vZChBLEksZyksMH0sZG9SZWFkbGluazpmdW5jdGlvbihBLEksZyl7aWYoZzw9MClyZXR1cm4tMjg7dmFyIEI9aUkucmVhZGxpbmsoQSksQz1NYXRoLm1pbihnLFcoQikpLFE9dltJK0NdO3JldHVybiB1KEIsSSxnKzEpLHZbSStDXT1RLEN9LGRvQWNjZXNzOmZ1bmN0aW9uKEEsSSl7aWYoLTgmSSlyZXR1cm4tMjg7dmFyIGc7aWYoIShnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZSkpcmV0dXJuLTQ0O3ZhciBCPVwiXCI7cmV0dXJuIDQmSSYmKEIrPVwiclwiKSwyJkkmJihCKz1cIndcIiksMSZJJiYoQis9XCJ4XCIpLEImJmlJLm5vZGVQZXJtaXNzaW9ucyhnLEIpPy0yOjB9LGRvRHVwOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oZyk7cmV0dXJuIEImJmlJLmNsb3NlKEIpLGlJLm9wZW4oQSxJLDAsZyxnKS5mZH0sZG9SZWFkdjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLnJlYWQoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7aWYoQys9byxvPGkpYnJlYWt9cmV0dXJuIEN9LGRvV3JpdGV2OmZ1bmN0aW9uKEEsSSxnLEIpe2Zvcih2YXIgQz0wLFE9MDtRPGc7USsrKXt2YXIgRT1BQVtJKzgqUT4+Ml0saT1BQVtJKyg4KlErNCk+PjJdLG89aUkud3JpdGUoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7Qys9b31yZXR1cm4gQ30sdmFyYXJnczowLGdldDpmdW5jdGlvbihBKXtyZXR1cm4gb0kudmFyYXJncys9NCxBQVtvSS52YXJhcmdzLTQ+PjJdfSxnZXRTdHI6ZnVuY3Rpb24oKXtyZXR1cm4gZihvSS5nZXQoKSl9LGdldFN0cmVhbUZyb21GRDpmdW5jdGlvbihBKXt2b2lkIDA9PT1BJiYoQT1vSS5nZXQoKSk7dmFyIEk9aUkuZ2V0U3RyZWFtKEEpO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3JldHVybiBJfSxnZXQ2NDpmdW5jdGlvbigpe3ZhciBBPW9JLmdldCgpO3JldHVybiBvSS5nZXQoKSxBfSxnZXRaZXJvOmZ1bmN0aW9uKCl7b0kuZ2V0KCl9fTtmdW5jdGlvbiBESShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCk7c3dpdGNoKG9JLmdldCgpKXtjYXNlIDA6cmV0dXJuKEI9b0kuZ2V0KCkpPDA/LTI4OmlJLm9wZW4oZy5wYXRoLGcuZmxhZ3MsMCxCKS5mZDtjYXNlIDE6Y2FzZSAyOmNhc2UgMTM6Y2FzZSAxNDpyZXR1cm4gMDtjYXNlIDM6cmV0dXJuIGcuZmxhZ3M7Y2FzZSA0OnZhciBCPW9JLmdldCgpO3JldHVybiBnLmZsYWdzfD1CLDA7Y2FzZSAxMjpyZXR1cm4gQj1vSS5nZXQoKSxfW0IrMD4+MV09MiwwO2RlZmF1bHQ6cmV0dXJuLTI4O2Nhc2UgOTpyZXR1cm4gSUkoMjgpLC0xfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gYUkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cigpLEI9b0kuZ2V0KCksQz1vSS5nZXQoKTtyZXR1cm4gaUkub3BlbihnLEIsQykuZmR9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIHdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHJlYW1Gcm9tRkQoKSxCPW9JLmdldCgpO3N3aXRjaChCKXtjYXNlIDIxNTA5OmNhc2UgMjE1MDU6Y2FzZSAyMTUxMDpjYXNlIDIxNTExOmNhc2UgMjE1MTI6Y2FzZSAyMTUwNjpjYXNlIDIxNTA3OmNhc2UgMjE1MDg6Y2FzZSAyMTUyMzpjYXNlIDIxNTI0OnJldHVybiBnLnR0eT8wOi01OTtjYXNlIDIxNTE5OmlmKCFnLnR0eSlyZXR1cm4tNTk7dmFyIEM9b0kuZ2V0KCk7cmV0dXJuIEFBW0M+PjJdPTAsMDtjYXNlIDIxNTIwOnJldHVybiBnLnR0eT8tMjg6LTU5O2Nhc2UgMjE1MzE6cmV0dXJuIEM9b0kuZ2V0KCksaUkuaW9jdGwoZyxCLEMpO2RlZmF1bHQ6SkEoXCJiYWQgaW9jdGwgc3lzY2FsbCBcIitCKX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIEZJKEEsSSl7aWYoLTE9PT1BfHwwPT09SSlyZXR1cm4tMjg7dmFyIGc9b0kubWFwcGluZ3NbQV07aWYoIWcpcmV0dXJuIDA7aWYoST09PWcubGVuKXt2YXIgQj1pSS5nZXRTdHJlYW0oZy5mZCk7b0kuZG9Nc3luYyhBLEIsSSxnLmZsYWdzLGcub2Zmc2V0KSxpSS5tdW5tYXAoQiksb0kubWFwcGluZ3NbQV09bnVsbCxnLmFsbG9jYXRlZCYmc0IoZy5tYWxsb2MpfXJldHVybiAwfWZ1bmN0aW9uIEdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXtyZXR1cm4gRkkob0kuZ2V0KCksb0kuZ2V0KCkpfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBoSSgpe31mdW5jdGlvbiBzSShBKXt0cnl7dmFyIEk9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpO3JldHVybiBpSS5jbG9zZShJKSwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFJJKCl7cmV0dXJuIHNJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBVSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9SZWFkdihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiB5SSgpe3JldHVybiBVSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gdEkoQSxJLGcsQixDKXt0cnl7dmFyIFE9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLEU9NDI5NDk2NzI5NipnKyhJPj4+MCksaT05MDA3MTk5MjU0NzQwOTkyO3JldHVybiBFPD0taXx8RT49aT8tNjE6KGlJLmxsc2VlayhRLEUsQiksZEE9W1EucG9zaXRpb24+Pj4wLChxQT1RLnBvc2l0aW9uLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbQz4+Ml09ZEFbMF0sQUFbQys0Pj4yXT1kQVsxXSxRLmdldGRlbnRzJiYwPT09RSYmMD09PUImJihRLmdldGRlbnRzPW51bGwpLDApfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFNJKCl7cmV0dXJuIHRJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBNSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9Xcml0ZXYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gbkkoKXtyZXR1cm4gTUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGNJKEEpe3N3aXRjaChBKXtjYXNlIDE6cmV0dXJuIDA7Y2FzZSAyOnJldHVybiAxO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDg6cmV0dXJuIDM7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biB0eXBlIHNpemU6IFwiK0EpfX1mdW5jdGlvbiBySSgpe2Zvcih2YXIgQT1uZXcgQXJyYXkoMjU2KSxJPTA7STwyNTY7KytJKUFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShJKTtrST1BfXZhciBrST12b2lkIDA7ZnVuY3Rpb24gS0koQSl7Zm9yKHZhciBJPVwiXCIsZz1BO3pbZ107KUkrPWtJW3pbZysrXV07cmV0dXJuIEl9dmFyIE5JPXt9LFlJPXt9LGVJPXt9LEpJPTQ4LEhJPTU3O2Z1bmN0aW9uIExJKEEpe2lmKHZvaWQgMD09PUEpcmV0dXJuXCJfdW5rbm93blwiO3ZhciBJPShBPUEucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLFwiJFwiKSkuY2hhckNvZGVBdCgwKTtyZXR1cm4gST49SkkmJkk8PUhJP1wiX1wiK0E6QX1mdW5jdGlvbiBxSShBLEkpe3JldHVybiBBPUxJKEEpLG5ldyBGdW5jdGlvbihcImJvZHlcIixcInJldHVybiBmdW5jdGlvbiBcIitBKycoKSB7XFxuICAgIFwidXNlIHN0cmljdFwiOyAgICByZXR1cm4gYm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcbn07XFxuJykoSSl9ZnVuY3Rpb24gZEkoQSxJKXt2YXIgZz1xSShJLChmdW5jdGlvbihBKXt0aGlzLm5hbWU9SSx0aGlzLm1lc3NhZ2U9QTt2YXIgZz1uZXcgRXJyb3IoQSkuc3RhY2s7dm9pZCAwIT09ZyYmKHRoaXMuc3RhY2s9dGhpcy50b1N0cmluZygpK1wiXFxuXCIrZy5yZXBsYWNlKC9eRXJyb3IoOlteXFxuXSopP1xcbi8sXCJcIikpfSkpO3JldHVybiBnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSxnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1nLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMubWVzc2FnZT90aGlzLm5hbWU6dGhpcy5uYW1lK1wiOiBcIit0aGlzLm1lc3NhZ2V9LGd9dmFyIGZJPXZvaWQgMDtmdW5jdGlvbiBsSShBKXt0aHJvdyBuZXcgZkkoQSl9dmFyIHVJPXZvaWQgMDtmdW5jdGlvbiBXSShBKXt0aHJvdyBuZXcgdUkoQSl9ZnVuY3Rpb24gcEkoQSxJLGcpe2Z1bmN0aW9uIEIoSSl7dmFyIEI9ZyhJKTtCLmxlbmd0aCE9PUEubGVuZ3RoJiZXSShcIk1pc21hdGNoZWQgdHlwZSBjb252ZXJ0ZXIgY291bnRcIik7Zm9yKHZhciBDPTA7QzxBLmxlbmd0aDsrK0MpWkkoQVtDXSxCW0NdKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe2VJW0FdPUl9KSk7dmFyIEM9bmV3IEFycmF5KEkubGVuZ3RoKSxRPVtdLEU9MDtJLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7WUkuaGFzT3duUHJvcGVydHkoQSk/Q1tJXT1ZSVtBXTooUS5wdXNoKEEpLE5JLmhhc093blByb3BlcnR5KEEpfHwoTklbQV09W10pLE5JW0FdLnB1c2goKGZ1bmN0aW9uKCl7Q1tJXT1ZSVtBXSwrK0U9PT1RLmxlbmd0aCYmQihDKX0pKSl9KSksMD09PVEubGVuZ3RoJiZCKEMpfWZ1bmN0aW9uIFpJKEEsSSxnKXtpZihnPWd8fHt9LCEoXCJhcmdQYWNrQWR2YW5jZVwiaW4gSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2VcIik7dmFyIEI9SS5uYW1lO2lmKEF8fGxJKCd0eXBlIFwiJytCKydcIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyksWUkuaGFzT3duUHJvcGVydHkoQSkpe2lmKGcuaWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9ucylyZXR1cm47bEkoXCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnXCIrQitcIicgdHdpY2VcIil9aWYoWUlbQV09SSxkZWxldGUgZUlbQV0sTkkuaGFzT3duUHJvcGVydHkoQSkpe3ZhciBDPU5JW0FdO2RlbGV0ZSBOSVtBXSxDLmZvckVhY2goKGZ1bmN0aW9uKEEpe0EoKX0pKX19ZnVuY3Rpb24gYkkoQSxJLGcsQixDKXt2YXIgUT1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiEhQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBJP0I6Q30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpmdW5jdGlvbihBKXt2YXIgQjtpZigxPT09ZylCPXY7ZWxzZSBpZigyPT09ZylCPV87ZWxzZXtpZig0IT09Zyl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogXCIrSSk7Qj1BQX1yZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQltBPj5RXSl9LGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24geEkoSSxnLEIpe0k9S0koSSkscEkoW10sW2ddLChmdW5jdGlvbihnKXtyZXR1cm4gZz1nWzBdLEFbSV09Zy5mcm9tV2lyZVR5cGUoQiksW119KSl9dmFyIG1JPVtdLFhJPVt7fSx7dmFsdWU6dm9pZCAwfSx7dmFsdWU6bnVsbH0se3ZhbHVlOiEwfSx7dmFsdWU6ITF9XTtmdW5jdGlvbiBWSShBKXtBPjQmJjA9PS0tWElbQV0ucmVmY291bnQmJihYSVtBXT12b2lkIDAsbUkucHVzaChBKSl9ZnVuY3Rpb24gT0koKXtmb3IodmFyIEE9MCxJPTU7STxYSS5sZW5ndGg7KytJKXZvaWQgMCE9PVhJW0ldJiYrK0E7cmV0dXJuIEF9ZnVuY3Rpb24gVEkoKXtmb3IodmFyIEE9NTtBPFhJLmxlbmd0aDsrK0EpaWYodm9pZCAwIT09WElbQV0pcmV0dXJuIFhJW0FdO3JldHVybiBudWxsfWZ1bmN0aW9uIGpJKCl7QS5jb3VudF9lbXZhbF9oYW5kbGVzPU9JLEEuZ2V0X2ZpcnN0X2VtdmFsPVRJfWZ1bmN0aW9uIFBJKEEpe3N3aXRjaChBKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlIG51bGw6cmV0dXJuIDI7Y2FzZSEwOnJldHVybiAzO2Nhc2UhMTpyZXR1cm4gNDtkZWZhdWx0OnZhciBJPW1JLmxlbmd0aD9tSS5wb3AoKTpYSS5sZW5ndGg7cmV0dXJuIFhJW0ldPXtyZWZjb3VudDoxLHZhbHVlOkF9LEl9fWZ1bmN0aW9uIHZJKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShJQVtBPj4yXSl9ZnVuY3Rpb24gekkoQSxJKXtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBJPVhJW0FdLnZhbHVlO3JldHVybiBWSShBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIFBJKEkpfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gX0koQSl7aWYobnVsbD09PUEpcmV0dXJuXCJudWxsXCI7dmFyIEk9RChBKTtyZXR1cm5cIm9iamVjdFwiPT09SXx8XCJhcnJheVwiPT09SXx8XCJmdW5jdGlvblwiPT09ST9BLnRvU3RyaW5nKCk6XCJcIitBfWZ1bmN0aW9uICRJKEEsSSl7c3dpdGNoKEkpe2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGdBW0E+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQkFbQT4+M10pfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGZsb2F0IHR5cGU6IFwiK0EpfX1mdW5jdGlvbiBBZyhBLEksZyl7dmFyIEI9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4gQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBJJiZcImJvb2xlYW5cIiE9dHlwZW9mIEkpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXCInK19JKEkpKydcIiB0byAnK3RoaXMubmFtZSk7cmV0dXJuIEl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6JEkoSSxCKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIElnKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJuZXdfIGNhbGxlZCB3aXRoIGNvbnN0cnVjdG9yIHR5cGUgXCIrRChBKStcIiB3aGljaCBpcyBub3QgYSBmdW5jdGlvblwiKTt2YXIgZz1xSShBLm5hbWV8fFwidW5rbm93bkZ1bmN0aW9uTmFtZVwiLChmdW5jdGlvbigpe30pKTtnLnByb3RvdHlwZT1BLnByb3RvdHlwZTt2YXIgQj1uZXcgZyxDPUEuYXBwbHkoQixJKTtyZXR1cm4gQyBpbnN0YW5jZW9mIE9iamVjdD9DOkJ9ZnVuY3Rpb24gZ2coQSl7Zm9yKDtBLmxlbmd0aDspe3ZhciBJPUEucG9wKCk7QS5wb3AoKShJKX19ZnVuY3Rpb24gQmcoQSxJLGcsQixDKXt2YXIgUT1JLmxlbmd0aDtRPDImJmxJKFwiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhXCIpO2Zvcih2YXIgRT1udWxsIT09SVsxXSYmbnVsbCE9PWcsaT0hMSxvPTE7bzxJLmxlbmd0aDsrK28paWYobnVsbCE9PUlbb10mJnZvaWQgMD09PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKXtpPSEwO2JyZWFrfXZhciBEPVwidm9pZFwiIT09SVswXS5uYW1lLGE9XCJcIix3PVwiXCI7Zm9yKG89MDtvPFEtMjsrK28pYSs9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28sdys9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28rXCJXaXJlZFwiO3ZhciBGPVwicmV0dXJuIGZ1bmN0aW9uIFwiK0xJKEEpK1wiKFwiK2ErXCIpIHtcXG5pZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gXCIrKFEtMikrXCIpIHtcXG50aHJvd0JpbmRpbmdFcnJvcignZnVuY3Rpb24gXCIrQStcIiBjYWxsZWQgd2l0aCAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgYXJndW1lbnRzLCBleHBlY3RlZCBcIisoUS0yKStcIiBhcmdzIScpO1xcbn1cXG5cIjtpJiYoRis9XCJ2YXIgZGVzdHJ1Y3RvcnMgPSBbXTtcXG5cIik7dmFyIEc9aT9cImRlc3RydWN0b3JzXCI6XCJudWxsXCIsaD1bXCJ0aHJvd0JpbmRpbmdFcnJvclwiLFwiaW52b2tlclwiLFwiZm5cIixcInJ1bkRlc3RydWN0b3JzXCIsXCJyZXRUeXBlXCIsXCJjbGFzc1BhcmFtXCJdLHM9W2xJLEIsQyxnZyxJWzBdLElbMV1dO2ZvcihFJiYoRis9XCJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKFwiK0crXCIsIHRoaXMpO1xcblwiKSxvPTA7bzxRLTI7KytvKUYrPVwidmFyIGFyZ1wiK28rXCJXaXJlZCA9IGFyZ1R5cGVcIitvK1wiLnRvV2lyZVR5cGUoXCIrRytcIiwgYXJnXCIrbytcIik7IC8vIFwiK0lbbysyXS5uYW1lK1wiXFxuXCIsaC5wdXNoKFwiYXJnVHlwZVwiK28pLHMucHVzaChJW28rMl0pO2lmKEUmJih3PVwidGhpc1dpcmVkXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3cpLEYrPShEP1widmFyIHJ2ID0gXCI6XCJcIikrXCJpbnZva2VyKGZuXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3crXCIpO1xcblwiLGkpRis9XCJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XFxuXCI7ZWxzZSBmb3Iobz1FPzE6MjtvPEkubGVuZ3RoOysrbyl7dmFyIFI9MT09PW8/XCJ0aGlzV2lyZWRcIjpcImFyZ1wiKyhvLTIpK1wiV2lyZWRcIjtudWxsIT09SVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24mJihGKz1SK1wiX2R0b3IoXCIrUitcIik7IC8vIFwiK0lbb10ubmFtZStcIlxcblwiLGgucHVzaChSK1wiX2R0b3JcIikscy5wdXNoKElbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKSl9cmV0dXJuIEQmJihGKz1cInZhciByZXQgPSByZXRUeXBlLmZyb21XaXJlVHlwZShydik7XFxucmV0dXJuIHJldDtcXG5cIiksRis9XCJ9XFxuXCIsaC5wdXNoKEYpLElnKEZ1bmN0aW9uLGgpLmFwcGx5KG51bGwscyl9ZnVuY3Rpb24gQ2coQSxJLGcpe2lmKHZvaWQgMD09PUFbSV0ub3ZlcmxvYWRUYWJsZSl7dmFyIEI9QVtJXTtBW0ldPWZ1bmN0aW9uKCl7cmV0dXJuIEFbSV0ub3ZlcmxvYWRUYWJsZS5oYXNPd25Qcm9wZXJ0eShhcmd1bWVudHMubGVuZ3RoKXx8bEkoXCJGdW5jdGlvbiAnXCIrZytcIicgY2FsbGVkIHdpdGggYW4gaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIChcIithcmd1bWVudHMubGVuZ3RoK1wiKSAtIGV4cGVjdHMgb25lIG9mIChcIitBW0ldLm92ZXJsb2FkVGFibGUrXCIpIVwiKSxBW0ldLm92ZXJsb2FkVGFibGVbYXJndW1lbnRzLmxlbmd0aF0uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxBW0ldLm92ZXJsb2FkVGFibGU9W10sQVtJXS5vdmVybG9hZFRhYmxlW0IuYXJnQ291bnRdPUJ9fWZ1bmN0aW9uIFFnKEksZyxCKXtBLmhhc093blByb3BlcnR5KEkpPygodm9pZCAwPT09Qnx8dm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGVbQl0pJiZsSShcIkNhbm5vdCByZWdpc3RlciBwdWJsaWMgbmFtZSAnXCIrSStcIicgdHdpY2VcIiksQ2coQSxJLEkpLEEuaGFzT3duUHJvcGVydHkoQikmJmxJKFwiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXCIrQitcIikhXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nKTooQVtJXT1nLHZvaWQgMCE9PUImJihBW0ldLm51bUFyZ3VtZW50cz1CKSl9ZnVuY3Rpb24gRWcoQSxJKXtmb3IodmFyIGc9W10sQj0wO0I8QTtCKyspZy5wdXNoKEFBWyhJPj4yKStCXSk7cmV0dXJuIGd9ZnVuY3Rpb24gaWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSl8fFdJKFwiUmVwbGFjaW5nIG5vbmV4aXN0YW50IHB1YmxpYyBzeW1ib2xcIiksdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1CP0FbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nOihBW0ldPWcsQVtJXS5hcmdDb3VudD1CKX1mdW5jdGlvbiBvZyhJLGcpe3ZhciBCO2lmKEk9S0koSSksdm9pZCAwIT09QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldKUI9QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldW2ddO2Vsc2UgaWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZVTkNUSU9OX1RBQkxFKUI9RlVOQ1RJT05fVEFCTEVbZ107ZWxzZXt2YXIgQz1BW1wiZHluQ2FsbF9cIitJXTt2b2lkIDA9PT1DJiZ2b2lkIDA9PT0oQz1BW1wiZHluQ2FsbF9cIitJLnJlcGxhY2UoL2YvZyxcImRcIildKSYmbEkoXCJObyBkeW5DYWxsIGludm9rZXIgZm9yIHNpZ25hdHVyZTogXCIrSSksQj1mdW5jdGlvbihBKXtmb3IodmFyIEI9W10sQz0xO0M8SS5sZW5ndGg7KytDKUIucHVzaChcImFcIitDKTt2YXIgUT1cInJldHVybiBmdW5jdGlvbiBkeW5DYWxsX1wiK0krXCJfXCIrZytcIihcIitCLmpvaW4oXCIsIFwiKStcIikge1xcblwiO3JldHVybiBRKz1cIiAgICByZXR1cm4gZHluQ2FsbChyYXdGdW5jdGlvblwiKyhCLmxlbmd0aD9cIiwgXCI6XCJcIikrQi5qb2luKFwiLCBcIikrXCIpO1xcblwiLFErPVwifTtcXG5cIixuZXcgRnVuY3Rpb24oXCJkeW5DYWxsXCIsXCJyYXdGdW5jdGlvblwiLFEpKEEsZyl9KEMpfXJldHVyblwiZnVuY3Rpb25cIiE9dHlwZW9mIEImJmxJKFwidW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlIFwiK0krXCI6IFwiK2cpLEJ9dmFyIERnPXZvaWQgMDtmdW5jdGlvbiBhZyhBKXt2YXIgST13QihBKSxnPUtJKEkpO3JldHVybiBzQihJKSxnfWZ1bmN0aW9uIHdnKEEsSSl7dmFyIGc9W10sQj17fTt0aHJvdyBJLmZvckVhY2goKGZ1bmN0aW9uIEEoSSl7QltJXXx8WUlbSV18fChlSVtJXT9lSVtJXS5mb3JFYWNoKEEpOihnLnB1c2goSSksQltJXT0hMCkpfSkpLG5ldyBEZyhBK1wiOiBcIitnLm1hcChhZykuam9pbihbXCIsIFwiXSkpfWZ1bmN0aW9uIEZnKEEsSSxnLEIsQyxRKXt2YXIgRT1FZyhJLGcpO0E9S0koQSksQz1vZyhCLEMpLFFnKEEsKGZ1bmN0aW9uKCl7d2coXCJDYW5ub3QgY2FsbCBcIitBK1wiIGR1ZSB0byB1bmJvdW5kIHR5cGVzXCIsRSl9KSxJLTEpLHBJKFtdLEUsKGZ1bmN0aW9uKGcpe3ZhciBCPVtnWzBdLG51bGxdLmNvbmNhdChnLnNsaWNlKDEpKTtyZXR1cm4gaWcoQSxCZyhBLEIsbnVsbCxDLFEpLEktMSksW119KSl9ZnVuY3Rpb24gR2coQSxJLGcpe3N3aXRjaChJKXtjYXNlIDA6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIHZbQV19OmZ1bmN0aW9uKEEpe3JldHVybiB6W0FdfTtjYXNlIDE6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIF9bQT4+MV19OmZ1bmN0aW9uKEEpe3JldHVybiAkW0E+PjFdfTtjYXNlIDI6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIEFBW0E+PjJdfTpmdW5jdGlvbihBKXtyZXR1cm4gSUFbQT4+Ml19O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gaW50ZWdlciB0eXBlOiBcIitBKX19ZnVuY3Rpb24gaGcoQSxJLGcsQixDKXtJPUtJKEkpLC0xPT09QyYmKEM9NDI5NDk2NzI5NSk7dmFyIFE9Y0koZyksRT1mdW5jdGlvbihBKXtyZXR1cm4gQX07aWYoMD09PUIpe3ZhciBpPTMyLTgqZztFPWZ1bmN0aW9uKEEpe3JldHVybiBBPDxpPj4+aX19dmFyIG89LTEhPUkuaW5kZXhPZihcInVuc2lnbmVkXCIpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6RSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsZyl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGcmJlwiYm9vbGVhblwiIT10eXBlb2YgZyl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcIicrX0koZykrJ1wiIHRvICcrdGhpcy5uYW1lKTtpZihnPEJ8fGc+Qyl0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXNzaW5nIGEgbnVtYmVyIFwiJytfSShnKSsnXCIgZnJvbSBKUyBzaWRlIHRvIEMvQysrIHNpZGUgdG8gYW4gYXJndW1lbnQgb2YgdHlwZSBcIicrSSsnXCIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0IrXCIsIFwiK0MrXCJdIVwiKTtyZXR1cm4gbz9nPj4+MDowfGd9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6R2coSSxRLDAhPT1CKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHNnKEEsSSxnKXt2YXIgQj1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldW0ldO2Z1bmN0aW9uIEMoQSl7dmFyIEk9SUEsZz1JW0E+Pj0yXSxDPUlbQSsxXTtyZXR1cm4gbmV3IEIoSS5idWZmZXIsQyxnKX1aSShBLHtuYW1lOmc9S0koZyksZnJvbVdpcmVUeXBlOkMsYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpDfSx7aWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9uczohMH0pfWZ1bmN0aW9uIFJnKEEsSSl7dmFyIGc9XCJzdGQ6OnN0cmluZ1wiPT09KEk9S0koSSkpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEksQj1JQVtBPj4yXTtpZihnKXt2YXIgQz16W0ErNCtCXSxRPTA7MCE9QyYmKFE9Qyx6W0ErNCtCXT0wKTtmb3IodmFyIEU9QSs0LGk9MDtpPD1COysraSl7dmFyIG89QSs0K2k7aWYoMD09eltvXSl7dmFyIEQ9ZihFKTt2b2lkIDA9PT1JP0k9RDooSSs9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxJKz1EKSxFPW8rMX19MCE9USYmKHpbQSs0K0JdPVEpfWVsc2V7dmFyIGE9bmV3IEFycmF5KEIpO2ZvcihpPTA7aTxCOysraSlhW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUoeltBKzQraV0pO0k9YS5qb2luKFwiXCIpfXJldHVybiBzQihBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7SSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiYoST1uZXcgVWludDhBcnJheShJKSk7dmFyIEI9XCJzdHJpbmdcIj09dHlwZW9mIEk7Qnx8SSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fEkgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8SSBpbnN0YW5jZW9mIEludDhBcnJheXx8bEkoXCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIHN0ZDo6c3RyaW5nXCIpO3ZhciBDPShnJiZCP2Z1bmN0aW9uKCl7cmV0dXJuIFcoSSl9OmZ1bmN0aW9uKCl7cmV0dXJuIEkubGVuZ3RofSkoKSxRPVJCKDQrQysxKTtpZihJQVtRPj4yXT1DLGcmJkIpdShJLFErNCxDKzEpO2Vsc2UgaWYoQilmb3IodmFyIEU9MDtFPEM7KytFKXt2YXIgaT1JLmNoYXJDb2RlQXQoRSk7aT4yNTUmJihzQihRKSxsSShcIlN0cmluZyBoYXMgVVRGLTE2IGNvZGUgdW5pdHMgdGhhdCBkbyBub3QgZml0IGluIDggYml0c1wiKSkseltRKzQrRV09aX1lbHNlIGZvcihFPTA7RTxDOysrRSl6W1ErNCtFXT1JW0VdO3JldHVybiBudWxsIT09QSYmQS5wdXNoKHNCLFEpLFF9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIFVnKEEsSSxnKXt2YXIgQixDLFEsRSxpO2c9S0koZyksMj09PUk/KEI9WixDPWIsRT14LFE9ZnVuY3Rpb24oKXtyZXR1cm4gJH0saT0xKTo0PT09SSYmKEI9bSxDPVgsRT1WLFE9ZnVuY3Rpb24oKXtyZXR1cm4gSUF9LGk9MiksWkkoQSx7bmFtZTpnLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgZyxDPUlBW0E+PjJdLEU9USgpLG89RVtBKzQrQypJPj5pXSxEPTA7MCE9byYmKEQ9byxFW0ErNCtDKkk+PmldPTApO2Zvcih2YXIgYT1BKzQsdz0wO3c8PUM7Kyt3KXt2YXIgRj1BKzQrdypJO2lmKDA9PUVbRj4+aV0pe3ZhciBHPUIoYSk7dm9pZCAwPT09Zz9nPUc6KGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksZys9RyksYT1GK0l9fXJldHVybiAwIT1EJiYoRVtBKzQrQypJPj5pXT1EKSxzQihBKSxnfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsQil7XCJzdHJpbmdcIiE9dHlwZW9mIEImJmxJKFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgXCIrZyk7dmFyIFE9RShCKSxvPVJCKDQrUStJKTtyZXR1cm4gSUFbbz4+Ml09UT4+aSxDKEIsbys0LFErSSksbnVsbCE9PUEmJkEucHVzaChzQixvKSxvfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiB5ZyhBLEkpe1pJKEEse2lzVm9pZDohMCxuYW1lOkk9S0koSSksYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXt9fSl9ZnVuY3Rpb24gdGcoKXtKQSgpfWZ1bmN0aW9uIFNnKCl7cmV0dXJuIHoubGVuZ3RofWZ1bmN0aW9uIE1nKEEpe0pBKFwiT09NXCIpfWZ1bmN0aW9uIG5nKEEpe01nKCl9ZnVuY3Rpb24gY2coQSl7ZUIoQSl9ZnVuY3Rpb24gcmcoQSl7cmV0dXJuIDA9PT1BPzA6KEE9ZihBKSxqQS5oYXNPd25Qcm9wZXJ0eShBKT8ocmcucmV0JiZzQihyZy5yZXQpLHJnLnJldD1PKGpBW0FdKSxyZy5yZXQpOjApfWZ1bmN0aW9uIGtnKEEpe3ZhciBJPURhdGUubm93KCk7cmV0dXJuIEFBW0E+PjJdPUkvMWUzfDAsQUFbQSs0Pj4yXT1JJTFlMyoxZTN8MCwwfWZ1bmN0aW9uIEtnKEEpe3JldHVybiBNYXRoLnBvdygyLEEpfWZ1bmN0aW9uIE5nKEEpe3ZhciBJPVlnLGc9SS5MTFZNX1NBVkVEU1RBQ0tTW0FdO0kuTExWTV9TQVZFRFNUQUNLUy5zcGxpY2UoQSwxKSx5QihnKX1mdW5jdGlvbiBZZygpe3ZhciBBPVlnO3JldHVybiBBLkxMVk1fU0FWRURTVEFDS1N8fChBLkxMVk1fU0FWRURTVEFDS1M9W10pLEEuTExWTV9TQVZFRFNUQUNLUy5wdXNoKHRCKCkpLEEuTExWTV9TQVZFRFNUQUNLUy5sZW5ndGgtMX12YXIgZWc9NjExMzY7ZnVuY3Rpb24gSmcoKXtpZighSmcuY2FsbGVkKXtKZy5jYWxsZWQ9ITAsQUFbR0IoKT4+Ml09NjAqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBBPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxJPW5ldyBEYXRlKEEsMCwxKSxnPW5ldyBEYXRlKEEsNiwxKTtBQVtGQigpPj4yXT1OdW1iZXIoSS5nZXRUaW1lem9uZU9mZnNldCgpIT1nLmdldFRpbWV6b25lT2Zmc2V0KCkpO3ZhciBCPWkoSSksQz1pKGcpLFE9TyhCKSxFPU8oQyk7Zy5nZXRUaW1lem9uZU9mZnNldCgpPEkuZ2V0VGltZXpvbmVPZmZzZXQoKT8oQUFbaEIoKT4+Ml09USxBQVtoQigpKzQ+PjJdPUUpOihBQVtoQigpPj4yXT1FLEFBW2hCKCkrND4+Ml09USl9ZnVuY3Rpb24gaShBKXt2YXIgST1BLnRvVGltZVN0cmluZygpLm1hdGNoKC9cXCgoW0EtWmEteiBdKylcXCkkLyk7cmV0dXJuIEk/SVsxXTpcIkdNVFwifX1mdW5jdGlvbiBIZyhBLEkpe0pnKCk7dmFyIGc9bmV3IERhdGUoMWUzKkFBW0E+PjJdKTtBQVtJPj4yXT1nLmdldFNlY29uZHMoKSxBQVtJKzQ+PjJdPWcuZ2V0TWludXRlcygpLEFBW0krOD4+Ml09Zy5nZXRIb3VycygpLEFBW0krMTI+PjJdPWcuZ2V0RGF0ZSgpLEFBW0krMTY+PjJdPWcuZ2V0TW9udGgoKSxBQVtJKzIwPj4yXT1nLmdldEZ1bGxZZWFyKCktMTkwMCxBQVtJKzI0Pj4yXT1nLmdldERheSgpO3ZhciBCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSwwLDEpLEM9KGcuZ2V0VGltZSgpLUIuZ2V0VGltZSgpKS84NjRlNXwwO0FBW0krMjg+PjJdPUMsQUFbSSszNj4+Ml09LTYwKmcuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgUT1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksNiwxKS5nZXRUaW1lem9uZU9mZnNldCgpLEU9Qi5nZXRUaW1lem9uZU9mZnNldCgpLGk9MHwoUSE9RSYmZy5nZXRUaW1lem9uZU9mZnNldCgpPT1NYXRoLm1pbihFLFEpKTtBQVtJKzMyPj4yXT1pO3ZhciBvPUFBW2hCKCkrKGk/NDowKT4+Ml07cmV0dXJuIEFBW0krNDA+PjJdPW8sSX1mdW5jdGlvbiBMZyhBKXtyZXR1cm4gSGcoQSxlZyl9ZnVuY3Rpb24gcWcoQSxJKXt0aHJvdyBVQihBLEl8fDEpLFwibG9uZ2ptcFwifWZ1bmN0aW9uIGRnKEEsSSxnKXt6LnNldCh6LnN1YmFycmF5KEksSStnKSxBKX1mdW5jdGlvbiBmZyhBKXtyZXR1cm4gQSU0PT0wJiYoQSUxMDAhPTB8fEElNDAwPT0wKX1mdW5jdGlvbiBsZyhBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPD1JO2crPUFbQisrXSk7cmV0dXJuIGd9dShcIkdNVFwiLDYxMTg0LDQpO3ZhciB1Zz1bMzEsMjksMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLFdnPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gcGcoQSxJKXtmb3IodmFyIGc9bmV3IERhdGUoQS5nZXRUaW1lKCkpO0k+MDspe3ZhciBCPWZnKGcuZ2V0RnVsbFllYXIoKSksQz1nLmdldE1vbnRoKCksUT0oQj91ZzpXZylbQ107aWYoIShJPlEtZy5nZXREYXRlKCkpKXJldHVybiBnLnNldERhdGUoZy5nZXREYXRlKCkrSSksZztJLT1RLWcuZ2V0RGF0ZSgpKzEsZy5zZXREYXRlKDEpLEM8MTE/Zy5zZXRNb250aChDKzEpOihnLnNldE1vbnRoKDApLGcuc2V0RnVsbFllYXIoZy5nZXRGdWxsWWVhcigpKzEpKX1yZXR1cm4gZ31mdW5jdGlvbiBaZyhBLEksZyxCKXt2YXIgQz1BQVtCKzQwPj4yXSxRPXt0bV9zZWM6QUFbQj4+Ml0sdG1fbWluOkFBW0IrND4+Ml0sdG1faG91cjpBQVtCKzg+PjJdLHRtX21kYXk6QUFbQisxMj4+Ml0sdG1fbW9uOkFBW0IrMTY+PjJdLHRtX3llYXI6QUFbQisyMD4+Ml0sdG1fd2RheTpBQVtCKzI0Pj4yXSx0bV95ZGF5OkFBW0IrMjg+PjJdLHRtX2lzZHN0OkFBW0IrMzI+PjJdLHRtX2dtdG9mZjpBQVtCKzM2Pj4yXSx0bV96b25lOkM/ZihDKTpcIlwifSxFPWYoZyksaT17XCIlY1wiOlwiJWEgJWIgJWQgJUg6JU06JVMgJVlcIixcIiVEXCI6XCIlbS8lZC8leVwiLFwiJUZcIjpcIiVZLSVtLSVkXCIsXCIlaFwiOlwiJWJcIixcIiVyXCI6XCIlSTolTTolUyAlcFwiLFwiJVJcIjpcIiVIOiVNXCIsXCIlVFwiOlwiJUg6JU06JVNcIixcIiV4XCI6XCIlbS8lZC8leVwiLFwiJVhcIjpcIiVIOiVNOiVTXCIsXCIlRWNcIjpcIiVjXCIsXCIlRUNcIjpcIiVDXCIsXCIlRXhcIjpcIiVtLyVkLyV5XCIsXCIlRVhcIjpcIiVIOiVNOiVTXCIsXCIlRXlcIjpcIiV5XCIsXCIlRVlcIjpcIiVZXCIsXCIlT2RcIjpcIiVkXCIsXCIlT2VcIjpcIiVlXCIsXCIlT0hcIjpcIiVIXCIsXCIlT0lcIjpcIiVJXCIsXCIlT21cIjpcIiVtXCIsXCIlT01cIjpcIiVNXCIsXCIlT1NcIjpcIiVTXCIsXCIlT3VcIjpcIiV1XCIsXCIlT1VcIjpcIiVVXCIsXCIlT1ZcIjpcIiVWXCIsXCIlT3dcIjpcIiV3XCIsXCIlT1dcIjpcIiVXXCIsXCIlT3lcIjpcIiV5XCJ9O2Zvcih2YXIgbyBpbiBpKUU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksaVtvXSk7dmFyIEQ9W1wiU3VuZGF5XCIsXCJNb25kYXlcIixcIlR1ZXNkYXlcIixcIldlZG5lc2RheVwiLFwiVGh1cnNkYXlcIixcIkZyaWRheVwiLFwiU2F0dXJkYXlcIl0sYT1bXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIl07ZnVuY3Rpb24gdyhBLEksZyl7Zm9yKHZhciBCPVwibnVtYmVyXCI9PXR5cGVvZiBBP0EudG9TdHJpbmcoKTpBfHxcIlwiO0IubGVuZ3RoPEk7KUI9Z1swXStCO3JldHVybiBCfWZ1bmN0aW9uIEYoQSxJKXtyZXR1cm4gdyhBLEksXCIwXCIpfWZ1bmN0aW9uIEcoQSxJKXtmdW5jdGlvbiBnKEEpe3JldHVybiBBPDA/LTE6QT4wPzE6MH12YXIgQjtyZXR1cm4gMD09PShCPWcoQS5nZXRGdWxsWWVhcigpLUkuZ2V0RnVsbFllYXIoKSkpJiYwPT09KEI9ZyhBLmdldE1vbnRoKCktSS5nZXRNb250aCgpKSkmJihCPWcoQS5nZXREYXRlKCktSS5nZXREYXRlKCkpKSxCfWZ1bmN0aW9uIGgoQSl7c3dpdGNoKEEuZ2V0RGF5KCkpe2Nhc2UgMDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMjkpO2Nhc2UgMTpyZXR1cm4gQTtjYXNlIDI6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDMpO2Nhc2UgMzpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMik7Y2FzZSA0OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwxKTtjYXNlIDU6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMxKTtjYXNlIDY6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMwKX19ZnVuY3Rpb24gcyhBKXt2YXIgST1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSksZz1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCksMCw0KSxCPW5ldyBEYXRlKEkuZ2V0RnVsbFllYXIoKSsxLDAsNCksQz1oKGcpLFE9aChCKTtyZXR1cm4gRyhDLEkpPD0wP0coUSxJKTw9MD9JLmdldEZ1bGxZZWFyKCkrMTpJLmdldEZ1bGxZZWFyKCk6SS5nZXRGdWxsWWVhcigpLTF9dmFyIFI9e1wiJWFcIjpmdW5jdGlvbihBKXtyZXR1cm4gRFtBLnRtX3dkYXldLnN1YnN0cmluZygwLDMpfSxcIiVBXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XX0sXCIlYlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXS5zdWJzdHJpbmcoMCwzKX0sXCIlQlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXX0sXCIlQ1wiOmZ1bmN0aW9uKEEpe3JldHVybiBGKChBLnRtX3llYXIrMTkwMCkvMTAwfDAsMil9LFwiJWRcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXksMil9LFwiJWVcIjpmdW5jdGlvbihBKXtyZXR1cm4gdyhBLnRtX21kYXksMixcIiBcIil9LFwiJWdcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlR1wiOmZ1bmN0aW9uKEEpe3JldHVybiBzKEEpfSxcIiVIXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9ob3VyLDIpfSxcIiVJXCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9ob3VyO3JldHVybiAwPT1JP0k9MTI6ST4xMiYmKEktPTEyKSxGKEksMil9LFwiJWpcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXkrbGcoZmcoQS50bV95ZWFyKzE5MDApP3VnOldnLEEudG1fbW9uLTEpLDMpfSxcIiVtXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tb24rMSwyKX0sXCIlTVwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWluLDIpfSxcIiVuXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIlxcblwifSxcIiVwXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1faG91cj49MCYmQS50bV9ob3VyPDEyP1wiQU1cIjpcIlBNXCJ9LFwiJVNcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX3NlYywyKX0sXCIldFwiOmZ1bmN0aW9uKCl7cmV0dXJuXCJcXHRcIn0sXCIldVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl8fDd9LFwiJVVcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLGc9MD09PUkuZ2V0RGF5KCk/STpwZyhJLDctSS5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XCIwMVwiOlwiMDBcIn0sXCIlVlwiOmZ1bmN0aW9uKEEpe3ZhciBJLGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCw0KSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAxLDAsNCksQz1oKGcpLFE9aChCKSxFPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KTtyZXR1cm4gRyhFLEMpPDA/XCI1M1wiOkcoUSxFKTw9MD9cIjAxXCI6KEk9Qy5nZXRGdWxsWWVhcigpPEEudG1feWVhcisxOTAwP0EudG1feWRheSszMi1DLmdldERhdGUoKTpBLnRtX3lkYXkrMS1DLmdldERhdGUoKSxGKE1hdGguY2VpbChJLzcpLDIpKX0sXCIld1wiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl9LFwiJVdcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIsMCwxKSxnPTE9PT1JLmdldERheSgpP0k6cGcoSSwwPT09SS5nZXREYXkoKT8xOjctSS5nZXREYXkoKSsxKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cIjAxXCI6XCIwMFwifSxcIiV5XCI6ZnVuY3Rpb24oQSl7cmV0dXJuKEEudG1feWVhcisxOTAwKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlWVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3llYXIrMTkwMH0sXCIlelwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1fZ210b2ZmLGc9ST49MDtyZXR1cm4gST0oST1NYXRoLmFicyhJKS82MCkvNjAqMTAwK0klNjAsKGc/XCIrXCI6XCItXCIpK1N0cmluZyhcIjAwMDBcIitJKS5zbGljZSgtNCl9LFwiJVpcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV96b25lfSxcIiUlXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIiVcIn19O2Zvcih2YXIgbyBpbiBSKUUuaW5kZXhPZihvKT49MCYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksUltvXShRKSkpO3ZhciBVPVhnKEUsITEpO3JldHVybiBVLmxlbmd0aD5JPzA6KFQoVSxBKSxVLmxlbmd0aC0xKX1mdW5jdGlvbiBiZyhBLEksZyxCKXtyZXR1cm4gWmcoQSxJLGcsQil9ZnVuY3Rpb24geGcoQSl7dmFyIEk9RGF0ZS5ub3coKS8xZTN8MDtyZXR1cm4gQSYmKEFBW0E+PjJdPUkpLEl9aUkuc3RhdGljSW5pdCgpLHJJKCksZkk9QS5CaW5kaW5nRXJyb3I9ZEkoRXJyb3IsXCJCaW5kaW5nRXJyb3JcIiksdUk9QS5JbnRlcm5hbEVycm9yPWRJKEVycm9yLFwiSW50ZXJuYWxFcnJvclwiKSxqSSgpLERnPUEuVW5ib3VuZFR5cGVFcnJvcj1kSShFcnJvcixcIlVuYm91bmRUeXBlRXJyb3JcIik7dmFyIG1nPSExO2Z1bmN0aW9uIFhnKEEsSSxnKXt2YXIgQj1nPjA/ZzpXKEEpKzEsQz1uZXcgQXJyYXkoQiksUT1sKEEsQywwLEMubGVuZ3RoKTtyZXR1cm4gSSYmKEMubGVuZ3RoPVEpLEN9ZnVuY3Rpb24gVmcoQSl7Zm9yKHZhciBJPVtdLGc9MDtnPEEubGVuZ3RoO2crKyl7dmFyIEI9QVtnXTtCPjI1NSYmKG1nJiZIKCExLFwiQ2hhcmFjdGVyIGNvZGUgXCIrQitcIiAoXCIrU3RyaW5nLmZyb21DaGFyQ29kZShCKStcIikgIGF0IG9mZnNldCBcIitnK1wiIG5vdCBpbiAweDAwLTB4RkYuXCIpLEImPTI1NSksSS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXJldHVybiBJLmpvaW4oXCJcIil9dmFyIE9nPVwiZnVuY3Rpb25cIj09dHlwZW9mIGF0b2I/YXRvYjpmdW5jdGlvbihBKXt2YXIgSSxnLEIsQyxRLEUsaT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XCIsbz1cIlwiLEQ9MDtBPUEucmVwbGFjZSgvW15BLVphLXowLTlcXCtcXC9cXD1dL2csXCJcIik7ZG97ST1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSk8PDJ8KEM9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+NCxnPSgxNSZDKTw8NHwoUT1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpPj4yLEI9KDMmUSk8PDZ8KEU9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKSxvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLDY0IT09USYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoZykpLDY0IT09RSYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXdoaWxlKEQ8QS5sZW5ndGgpO3JldHVybiBvfTtmdW5jdGlvbiBUZyhBKXtpZihcImJvb2xlYW5cIj09dHlwZW9mIHcmJncpe3ZhciBJO3RyeXtJPUJ1ZmZlci5mcm9tKEEsXCJiYXNlNjRcIil9Y2F0Y2goZyl7ST1uZXcgQnVmZmVyKEEsXCJiYXNlNjRcIil9cmV0dXJuIG5ldyBVaW50OEFycmF5KEkuYnVmZmVyLEkuYnl0ZU9mZnNldCxJLmJ5dGVMZW5ndGgpfXRyeXtmb3IodmFyIGc9T2coQSksQj1uZXcgVWludDhBcnJheShnLmxlbmd0aCksQz0wO0M8Zy5sZW5ndGg7KytDKUJbQ109Zy5jaGFyQ29kZUF0KEMpO3JldHVybiBCfWNhdGNoKEEpe3Rocm93IG5ldyBFcnJvcihcIkNvbnZlcnRpbmcgYmFzZTY0IHN0cmluZyB0byBieXRlcyBmYWlsZWQuXCIpfX1mdW5jdGlvbiBqZyhBKXtpZihMQShBKSlyZXR1cm4gVGcoQS5zbGljZShIQS5sZW5ndGgpKX1mdW5jdGlvbiBQZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e3JldHVybiBTQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHZnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyZXR1cm4gTUIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHpnKEEsSSxnLEIpe3ZhciBDPXRCKCk7dHJ5e3JldHVybiBuQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBfZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e2NCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gJGcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JCKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBBQihBLEksZyxCKXt2YXIgQz10QigpO3RyeXtrQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBJQihBLEksZyxCLEMpe3ZhciBRPXRCKCk7dHJ5e0tCKEEsSSxnLEIsQyl9Y2F0Y2goQSl7aWYoeUIoUSksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19dmFyIGdCPXt9LEJCPXskOnZBLGY6ekEsZTokQSxBOkFJLF86Z0ksejpESSxaOmFJLFk6d0ksWDpHSSxvOmhJLHk6UkksVzp5SSxEOlNJLFY6bkksVTpiSSx4OnhJLFQ6ekksdzpBZyxqOkZnLGs6aGcsaTpzZyx2OlJnLHM6VWcsUzp5ZyxfX21lbW9yeV9iYXNlOjEwMjQsX190YWJsZV9iYXNlOjAsYTp0ZyxSOm1BLFE6eEEsUDpiQSxPOlpBLE46WEEsTTpTZyxLOmRnLEo6bmcsYjpjZyxuOnJnLHU6a2csSTpLZyxtOk5nLGw6WWcsSDpMZyxnOnFnLEY6WmcsRTpiZyx0OnhnLGM6SkEsaDpZLHE6UGcsTDp2ZyxHOnpnLHA6X2csQzokZyxCOkFCLHI6SUIsbWVtb3J5OnIsZDpOLHRhYmxlOmV9LENCPUEuYXNtKGdCLEJCLFApO0EuYXNtPUNCO3ZhciBRQixFQj1BLl9fR0xPQkFMX19zdWJfSV9BUlRvb2xLaXRKU19jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpQj1BLl9fR0xPQkFMX19zdWJfSV9iaW5kX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5iYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9CPUEuX19HTE9CQUxfX3N1Yl9JX2lvc3RyZWFtX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5jYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERCPUEuX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhQj0oQS5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksd0I9KEEuX19fZXJybm9fbG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2dldFR5cGVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEZCPUEuX19nZXRfZGF5bGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHQj1BLl9fZ2V0X3RpbWV6b25lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saEI9QS5fX2dldF90em5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ua2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzQj1BLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUkI9QS5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVUI9QS5fc2V0VGhyZXc9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5Qj0oQS5zdGFja0FsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5zdGFja1Jlc3RvcmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uU2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksdEI9QS5zdGFja1NhdmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uVGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTQj0oQS5keW5DYWxsX2RpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2RpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5wYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9pPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLE1CPShBLmR5bkNhbGxfaWlkaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5zYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksbkI9QS5keW5DYWxsX2lpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjQj0oQS5keW5DYWxsX2lpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS53YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS55YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5CYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWo9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5EYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHJCPShBLmR5bkNhbGxfdmlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5IYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksa0I9KEEuZHluQ2FsbF92aWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uS2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5MYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxLQj1BLmR5bkNhbGxfdmlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiBOQihBKXt0aGlzLm5hbWU9XCJFeGl0U3RhdHVzXCIsdGhpcy5tZXNzYWdlPVwiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdChcIitBK1wiKVwiLHRoaXMuc3RhdHVzPUF9ZnVuY3Rpb24gWUIoSSl7ZnVuY3Rpb24gZygpe1FCfHwoUUI9ITAsSnx8KFJBKCksVUEoKSxBLm9uUnVudGltZUluaXRpYWxpemVkJiZBLm9uUnVudGltZUluaXRpYWxpemVkKCkseUEoKSkpfUk9SXx8QyxrQT4wfHwoc0EoKSxrQT4wfHwoQS5zZXRTdGF0dXM/KEEuc2V0U3RhdHVzKFwiUnVubmluZy4uLlwiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7QS5zZXRTdGF0dXMoXCJcIil9KSwxKSxnKCl9KSwxKSk6ZygpKSl9ZnVuY3Rpb24gZUIoSSxnKXtnJiZjJiYwPT09SXx8KGN8fChKPSEwLEEub25FeGl0JiZBLm9uRXhpdChJKSksRShJLG5ldyBOQihJKSkpfWlmKEEuZHluQ2FsbF92aWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5PYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5QYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlqaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmFzbT1DQixBLkZTPWlJLEEudGhlbj1mdW5jdGlvbihJKXtpZihRQilJKEEpO2Vsc2V7dmFyIGc9QS5vblJ1bnRpbWVJbml0aWFsaXplZDtBLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7ZyYmZygpLEkoQSl9fXJldHVybiBBfSxOQT1mdW5jdGlvbiBBKCl7UUJ8fFlCKCksUUJ8fChOQT1BKX0sQS5ydW49WUIsQS5wcmVJbml0KWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZUluaXQmJihBLnByZUluaXQ9W0EucHJlSW5pdF0pO0EucHJlSW5pdC5sZW5ndGg+MDspQS5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIGM9ITAsWUIoKSxBfSk7Y29uc3QgRj13LEc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0Yoe29uUnVudGltZUluaXRpYWxpemVkOmZ1bmN0aW9uKCl7QSh7aW5zdGFuY2U6dGhpc30pfX0pfSkpfTt2YXIgaD1nKDY2OSkscz1nLm4oaCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSl9dmFyIGc7cmV0dXJuIEUoQSxudWxsLFt7a2V5OlwiZmV0Y2hSZW1vdGVEYXRhXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLnByZXY9MCxBLm5leHQ9MyxzKCkuZ2V0KEkse3Jlc3BvbnNlVHlwZTpcImFycmF5YnVmZmVyXCJ9KTtjYXNlIDM6cmV0dXJuIGc9QS5zZW50LEEuYWJydXB0KFwicmV0dXJuXCIsbmV3IFVpbnQ4QXJyYXkoZy5kYXRhKSk7Y2FzZSA3OnRocm93IEEucHJldj03LEEudDA9QS5jYXRjaCgwKSxBLnQwO2Nhc2UgMTA6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsbnVsbCxbWzAsN11dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJzdHJpbmcyVWludDhEYXRhXCIsdmFsdWU6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPW5ldyBVaW50OEFycmF5KEEubGVuZ3RoKSxnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXT0yNTUmQS5jaGFyQ29kZUF0KGcpO3JldHVybiBJfX0se2tleTpcInVpbnQ4RGF0YTJTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsQSl9fSx7a2V5OlwicGFyc2VNdWx0aUZpbGVcIix2YWx1ZTpmdW5jdGlvbihJKXt2YXIgZz1BLnVpbnQ4RGF0YTJTdHJpbmcoSSkuc3BsaXQoXCJcXG5cIiksQj1bXSxDPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7aWYoKEE9QS50cmltKCkpJiYhQS5zdGFydHNXaXRoKFwiI1wiKSlzd2l0Y2goQyl7Y2FzZSAwOnJldHVybiB2b2lkKEM9MSk7Y2FzZSAxOkEubWF0Y2goL15cXGQrJC8pfHxCLnB1c2goQSk7Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6cmV0dXJuIHZvaWQgQysrO2Nhc2UgNTpyZXR1cm4gdm9pZChDPTEpfX0pKSxCfX1dKSxBfSgpLFU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpLHRoaXMuaW5zdGFuY2UsdGhpcy5tYXJrZXJDb3VudD0wLHRoaXMubXVsdGlNYXJrZXJDb3VudD0wLHRoaXMuY2FtZXJhQ291bnQ9MCx0aGlzLnZlcnNpb249XCIwLjEuMFwiLGNvbnNvbGUuaW5mbyhcIkFSVG9vbGtpdCBcIix0aGlzLnZlcnNpb24pfXZhciBCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcImluaXRcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsRygpO2Nhc2UgMjpyZXR1cm4gST1BLnNlbnQsdGhpcy5pbnN0YW5jZT1JLmluc3RhbmNlLHRoaXMuX2RlY29yYXRlKCksKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OmcuZykuYXJ0b29sa2l0PXRoaXMsQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzKTtjYXNlIDg6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfZGVjb3JhdGVcIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXM7Zm9yKHZhciBJIGluW1wic2V0dXBcIixcInRlYXJkb3duXCIsXCJzZXR1cEFSMlwiLFwic2V0TG9nTGV2ZWxcIixcImdldExvZ0xldmVsXCIsXCJzZXREZWJ1Z01vZGVcIixcImdldERlYnVnTW9kZVwiLFwiZ2V0UHJvY2Vzc2luZ0ltYWdlXCIsXCJzZXRNYXJrZXJJbmZvRGlyXCIsXCJzZXRNYXJrZXJJbmZvVmVydGV4XCIsXCJnZXRUcmFuc01hdFNxdWFyZVwiLFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsXCJnZXRNdWx0aU1hcmtlck51bVwiLFwiZ2V0TXVsdGlNYXJrZXJDb3VudFwiLFwiZGV0ZWN0TWFya2VyXCIsXCJnZXRNYXJrZXJOdW1cIixcImRldGVjdE5GVE1hcmtlclwiLFwiZ2V0TkZUTWFya2VyXCIsXCJnZXRNYXJrZXJcIixcImdldE11bHRpRWFjaE1hcmtlclwiLFwic2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwic2V0UHJvamVjdGlvbkZhclBsYW5lXCIsXCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIixcInNldFRocmVzaG9sZE1vZGVcIixcImdldFRocmVzaG9sZE1vZGVcIixcInNldFRocmVzaG9sZFwiLFwiZ2V0VGhyZXNob2xkXCIsXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLFwiZ2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIixcInNldE1hdHJpeENvZGVUeXBlXCIsXCJnZXRNYXRyaXhDb2RlVHlwZVwiLFwic2V0TGFiZWxpbmdNb2RlXCIsXCJnZXRMYWJlbGluZ01vZGVcIixcInNldFBhdHRSYXRpb1wiLFwiZ2V0UGF0dFJhdGlvXCIsXCJzZXRJbWFnZVByb2NNb2RlXCIsXCJnZXRJbWFnZVByb2NNb2RlXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe0FbSV09QS5pbnN0YW5jZVtJXX0pKSx0aGlzLmluc3RhbmNlKUkubWF0Y2goL15BUi8pJiYodGhpc1tJXT10aGlzLmluc3RhbmNlW0ldKX19LHtrZXk6XCJsb2FkQ2FtZXJhXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxCO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoZz1cIi9jYW1lcmFfcGFyYW1fXCIrdGhpcy5jYW1lcmFDb3VudCsrLCEoSSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXtBLm5leHQ9NTticmVha31CPUksQS5uZXh0PTE0O2JyZWFrO2Nhc2UgNTpyZXR1cm4gQS5wcmV2PTUsQS5uZXh0PTgsUi5mZXRjaFJlbW90ZURhdGEoSSk7Y2FzZSA4OkI9QS5zZW50LEEubmV4dD0xNDticmVhaztjYXNlIDExOnRocm93IEEucHJldj0xMSxBLnQwPUEuY2F0Y2goNSksQS50MDtjYXNlIDE0OnJldHVybiB0aGlzLl9zdG9yZURhdGFGaWxlKEIsZyksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9sb2FkQ2FtZXJhKGcpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE1hcmtlclwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSxnKXt2YXIgQixDO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoQj1cIi9tYXJrZXJfXCIrdGhpcy5tYXJrZXJDb3VudCsrLC0xPT09Zy5pbmRleE9mKFwiXFxuXCIpKXtBLm5leHQ9NTticmVha31DPVIuc3RyaW5nMlVpbnQ4RGF0YShnKSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDg6Qz1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxCKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2FkZE1hcmtlcihJLEIpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiYWRkTXVsdGlNYXJrZXJcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGksRCxhLHc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cIi9tdWx0aV9tYXJrZXJfXCIrdGhpcy5tdWx0aU1hcmtlckNvdW50KyssQS5uZXh0PTMsUi5mZXRjaFJlbW90ZURhdGEoQik7Y2FzZSAzOnJldHVybiBRPUEuc2VudCxFPVIucGFyc2VNdWx0aUZpbGUoUSksaT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPW5ldyBVUkwoSSxCKS50b1N0cmluZygpLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgMzpDPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEMsSSk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxEPUUubWFwKGksdGhpcyksQS5uZXh0PTksUHJvbWlzZS5hbGwoRCk7Y2FzZSA5OnJldHVybiBhPXRoaXMuaW5zdGFuY2UuX2FkZE11bHRpTWFya2VyKGcsQyksdz10aGlzLmluc3RhbmNlLmdldE11bHRpTWFya2VyTnVtKGcsYSksQS5hYnJ1cHQoXCJyZXR1cm5cIixbYSx3XSk7Y2FzZSAxMjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE5GVE1hcmtlclwiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoZyxCKXt2YXIgQyxRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBDPVwiL21hcmtlck5GVF9cIit0aGlzLm1hcmtlckNvdW50KyssUT1bXCJmc2V0XCIsXCJpc2V0XCIsXCJmc2V0M1wiXSxFPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxRLEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1CK1wiLlwiK0ksUT1DK1wiLlwiK0ksQS5uZXh0PTQsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSA0OkU9QS5zZW50LHRoaXMuX3N0b3JlRGF0YUZpbGUoRSxRKTtjYXNlIDY6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGk9US5tYXAoRSx0aGlzKSxBLm5leHQ9NixQcm9taXNlLmFsbChpKTtjYXNlIDY6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fYWRkTkZUTWFya2VyKGcsQykpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcIl9zdG9yZURhdGFGaWxlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmluc3RhbmNlLkZTLndyaXRlRmlsZShJLEEse2VuY29kaW5nOlwiYmluYXJ5XCJ9KX19XSxbe2tleTpcIlVOS05PV05fTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuLTF9fSx7a2V5OlwiUEFUVEVSTl9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHtrZXk6XCJCQVJDT0RFX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybiAxfX0se2tleTpcIk5GVF9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMn19XSksQX0oKTtmdW5jdGlvbiB5KEEsSSxnKXtyZXR1cm4gSSBpbiBBP09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpBW0ldPWcsQX1mdW5jdGlvbiB0KEEsSSl7dmFyIGc9T2JqZWN0LmtleXMoQSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIEI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhBKTtJJiYoQj1CLmZpbHRlcigoZnVuY3Rpb24oSSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQSxJKS5lbnVtZXJhYmxlfSkpKSxnLnB1c2guYXBwbHkoZyxCKX1yZXR1cm4gZ31mdW5jdGlvbiBTKEEpe2Zvcih2YXIgST0xO0k8YXJndW1lbnRzLmxlbmd0aDtJKyspe3ZhciBnPW51bGwhPWFyZ3VtZW50c1tJXT9hcmd1bWVudHNbSV06e307SSUyP3QoT2JqZWN0KGcpLCEwKS5mb3JFYWNoKChmdW5jdGlvbihJKXt5KEEsSSxnW0ldKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhBLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGcpKTp0KE9iamVjdChnKSkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGcsSSkpfSkpfXJldHVybiBBfXZhciBNPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQShJLGcsQixRKXtDKHRoaXMsQSksdGhpcy5vcHRpb25zPVMoUyh7fSx7Y2FudmFzOm51bGwsb3JpZW50YXRpb246XCJsYW5kc2NhcGVcIn0pLFEpLHRoaXMuaWQ9LTEsdGhpcy53aWR0aD1JLHRoaXMuaGVpZ2h0PWcsdGhpcy5pbWFnZSx0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbix0aGlzLmNhbWVyYVBhcmFtPUIsdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmFydG9vbGtpdCx0aGlzLmxpc3RlbmVycz17fSx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aD0xLHRoaXMucGF0dGVybk1hcmtlcnM9e30sdGhpcy5iYXJjb2RlTWFya2Vycz17fSx0aGlzLm5mdE1hcmtlcnM9e30sdGhpcy50cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLHRoaXMudHJhbnNmb3JtR0xfUkg9bmV3IEZsb2F0NjRBcnJheSgxNiksdGhpcy52aWRlb1dpZHRoPUksdGhpcy52aWRlb0hlaWdodD1nLHRoaXMudmlkZW9TaXplPXRoaXMudmlkZW9XaWR0aCp0aGlzLnZpZGVvSGVpZ2h0LHRoaXMuZnJhbWVwb2ludGVyPW51bGwsdGhpcy5mcmFtZXNpemU9bnVsbCx0aGlzLmRhdGFIZWFwPW51bGwsdGhpcy52aWRlb0x1bWE9bnVsbCx0aGlzLmNhbWVyYV9tYXQ9bnVsbCx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW51bGwsdGhpcy52aWRlb0x1bWFQb2ludGVyPW51bGwsdGhpcy5vcHRpb25zLmNhbnZhcz90aGlzLmNhbnZhcz10aGlzLm9wdGlvbnMuY2FudmFzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmKHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIikpLHRoaXMuY2FudmFzPyh0aGlzLmNhbnZhcy53aWR0aD1JLHRoaXMuY2FudmFzLmhlaWdodD1nLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoXCIyZFwiKSk6Y29uc29sZS53YXJuKFwiTm8gY2FudmFzIGF2YWlsYWJsZVwiKSx0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPSExLHRoaXMubmZ0TWFya2VyQ291bnQ9MCx0aGlzLl9id3BvaW50ZXI9ITF9dmFyIGcsQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XCJkaXNwb3NlXCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEEgaW4gdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYVBhcmFtPVwiXCIsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5pZD4tMSYmdGhpcy5hcnRvb2xraXQudGVhcmRvd24odGhpcy5pZCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5zcmNPYmplY3QsdGhpcyl0aGlzW0FdPW51bGx9fSx7a2V5OlwicHJvY2Vzc1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMuZGV0ZWN0TWFya2VyKEEpOzAhPUkmJmNvbnNvbGUuZXJyb3IoXCJbQVJDb250cm9sbGVyXVwiLFwiZGV0ZWN0TWFya2VyIGVycm9yOlwiLEkpO3ZhciBnLEIsQz10aGlzLmdldE1hcmtlck51bSgpO2ZvcihnIGluIHRoaXMucGF0dGVybk1hcmtlcnMpKEI9dGhpcy5wYXR0ZXJuTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLmJhcmNvZGVNYXJrZXJzKShCPXRoaXMuYmFyY29kZU1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5uZnRNYXJrZXJzKShCPXRoaXMubmZ0TWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IodmFyIFE9MDtRPEM7USsrKXt2YXIgRT10aGlzLmdldE1hcmtlcihRKSxpPVUuVU5LTk9XTl9NQVJLRVIsbz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKC0xKTtFLmlkUGF0dD4tMSYmKEUuaWQ9PT1FLmlkUGF0dHx8LTE9PT1FLmlkTWF0cml4KT8obz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKEUuaWRQYXR0KSxpPVUuUEFUVEVSTl9NQVJLRVIsRS5kaXIhPT1FLmRpclBhdHQmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyUGF0dCkpOkUuaWRNYXRyaXg+LTEmJihvPXRoaXMudHJhY2tCYXJjb2RlTWFya2VySWQoRS5pZE1hdHJpeCksaT1VLkJBUkNPREVfTUFSS0VSLEUuZGlyIT09RS5kaXJNYXRyaXgmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyTWF0cml4KSksaSE9PVUuVU5LTk9XTl9NQVJLRVImJm8uaW5QcmV2aW91cz90aGlzLmdldFRyYW5zTWF0U3F1YXJlQ29udChRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgsby5tYXRyaXgpOnRoaXMuZ2V0VHJhbnNNYXRTcXVhcmUoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4KSxvLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChvLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OlEsdHlwZTppLG1hcmtlcjpFLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX12YXIgRD10aGlzLm5mdE1hcmtlckNvdW50O3RoaXMuZGV0ZWN0TkZUTWFya2VyKCk7Zm9yKHZhciBhPTA7YTxEO2ErKyl7dmFyIHc9dGhpcy5nZXRORlRNYXJrZXIoYSksRj1VLk5GVF9NQVJLRVI7aWYody5mb3VuZCl7dGhpcy5uZnRNYXJrZXJGb3VuZD1hLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPURhdGUubm93KCk7dmFyIEc9dGhpcy50cmFja05GVE1hcmtlcklkKGEpO0cubWF0cml4LnNldCh3LnBvc2UpLEcuaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KEcubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfWVsc2Ugc2VsZi5uZnRNYXJrZXJGb3VuZD09PWEmJkRhdGUubm93KCktdGhpcy5uZnRNYXJrZXJGb3VuZFRpbWU+MjAwJiYodGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJsb3N0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pKX1mb3IodmFyIGg9dGhpcy5nZXRNdWx0aU1hcmtlckNvdW50KCkscz0wO3M8aDtzKyspe3ZhciBSPXRoaXMuZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnQocykseT0hMTt0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0KHRoaXMuaWQscyksdGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpO2Zvcih2YXIgdD0wO3Q8Ujt0KyspaWYoKE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyx0KSkudmlzaWJsZT49MCl7eT0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSk7YnJlYWt9aWYoeSlmb3IodmFyIFM9MDtTPFI7UysrKXt2YXIgTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLFMpO3RoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclN1YlwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXJrZXJJbmRleDpTLG1hcmtlcjpNLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX19dGhpcy5fYndwb2ludGVyJiZ0aGlzLmRlYnVnRHJhdygpfX0se2tleTpcImRldGVjdE5GVE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuZGV0ZWN0TkZUTWFya2VyKHRoaXMuaWQpfX0se2tleTpcInRyYWNrUGF0dGVybk1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLnBhdHRlcm5NYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5wYXR0ZXJuTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrQmFyY29kZU1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLmJhcmNvZGVNYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5iYXJjb2RlTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrTkZUTWFya2VySWRcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMubmZ0TWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMubmZ0TWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcImdldE11bHRpTWFya2VyQ291bnRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlckNvdW50KHRoaXMuaWQpfX0se2tleTpcImdldE11bHRpTWFya2VyUGF0dGVybkNvdW50XCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE11bHRpTWFya2VyTnVtKHRoaXMuaWQsQSl9fSx7a2V5OlwiYWRkRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5saXN0ZW5lcnNbQV18fCh0aGlzLmxpc3RlbmVyc1tBXT1bXSksdGhpcy5saXN0ZW5lcnNbQV0ucHVzaChJKX19LHtrZXk6XCJyZW1vdmVFdmVudExpc3RlbmVyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZih0aGlzLmxpc3RlbmVyc1tBXSl7dmFyIGc9dGhpcy5saXN0ZW5lcnNbQV0uaW5kZXhPZihJKTtnPi0xJiZ0aGlzLmxpc3RlbmVyc1tBXS5zcGxpY2UoZywxKX19fSx7a2V5OlwiZGlzcGF0Y2hFdmVudFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMubGlzdGVuZXJzW0EubmFtZV07aWYoSSlmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKylJW2ddLmNhbGwodGhpcyxBKX19LHtrZXk6XCJkZWJ1Z1NldHVwXCIsdmFsdWU6ZnVuY3Rpb24oKXtcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/KGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLHRoaXMuc2V0RGVidWdNb2RlKCEwKSx0aGlzLl9id3BvaW50ZXI9dGhpcy5nZXRQcm9jZXNzaW5nSW1hZ2UoKSk6Y29uc29sZS5sb2coXCJkZWJ1Z1NldHVwKCkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgQnJvd3NlciBlbnZpcm9ubWVudHNcIil9fSx7a2V5OlwiZGVidWdEcmF3XCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5fYndwb2ludGVyLHRoaXMuZnJhbWVzaXplKSxJPW5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuY2FudmFzLndpZHRoKnRoaXMuY2FudmFzLmhlaWdodCo0KSx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLGc9MCxCPTA7ZzxBLmxlbmd0aDtnKyssQis9NCl7dmFyIEM9QVtnXTtJLmRhdGFbQiswXT1DLEkuZGF0YVtCKzFdPUMsSS5kYXRhW0IrMl09QyxJLmRhdGFbQiszXT0yNTV9dGhpcy5jdHgucHV0SW1hZ2VEYXRhKEksMCwwKTtmb3IodmFyIFE9dGhpcy5nZXRNYXJrZXJOdW0oKSxFPTA7RTxRO0UrKyl0aGlzLmRyYXdEZWJ1Z01hcmtlcih0aGlzLmdldE1hcmtlcihFKSl9fSx7a2V5OlwiZHJhd0RlYnVnTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9QS52ZXJ0ZXgsZz1BLnBvcyxCPXRoaXMuY3R4O0IubGluZVdpZHRoPTUsQi5zdHJva2VTdHlsZT1cInJlZFwiLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVswXVswXSxJWzBdWzFdKSxCLmxpbmVUbyhJWzFdWzBdLElbMV1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzJdWzBdLElbMl1bMV0pLEIubGluZVRvKElbM11bMF0sSVszXVsxXSksQi5zdHJva2UoKSxCLnN0cm9rZVN0eWxlPVwiZ3JlZW5cIixCLmJlZ2luUGF0aCgpLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5saW5lVG8oSVsyXVswXSxJWzJdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVszXVswXSxJWzNdWzFdKSxCLmxpbmVUbyhJWzBdWzBdLElbMF1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLmFyYyhnWzBdLGdbMV0sOCwwLDIqTWF0aC5QSSksQi5maWxsU3R5bGU9XCJyZWRcIixCLmZpbGwoKX19LHtrZXk6XCJsb2FkTWFya2VyXCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwibG9hZE11bHRpTWFya2VyXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNdWx0aU1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXCJyZXR1cm5cIixBLnNlbnQpO2Nhc2UgMzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJsb2FkTkZUTWFya2VyXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRORlRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIGc9QS5zZW50LHRoaXMubmZ0TWFya2VyQ291bnQ9ZysxLEEuYWJydXB0KFwicmV0dXJuXCIsZyk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImdldFRyYW5zTWF0U3F1YXJlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdFNxdWFyZSh0aGlzLmlkLEEsSSksZy5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksZ319LHtrZXk6XCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcIix2YWx1ZTpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdC5zZXQoZyksdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmVDb250KHRoaXMuaWQsQSxJKSxCLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxCfX0se2tleTpcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlwidHJhbnNNYXRUb0dMTWF0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBudWxsPT1JJiYoST1uZXcgRmxvYXQ2NEFycmF5KDE2KSksSVswXT1BWzBdLElbNF09QVsxXSxJWzhdPUFbMl0sSVsxMl09QVszXSxJWzFdPUFbNF0sSVs1XT1BWzVdLElbOV09QVs2XSxJWzEzXT1BWzddLElbMl09QVs4XSxJWzZdPUFbOV0sSVsxMF09QVsxMF0sSVsxNF09QVsxMV0sSVszXT0wLElbN109MCxJWzExXT0wLElbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihJWzEyXSo9ZyxJWzEzXSo9ZyxJWzE0XSo9ZyksSX19LHtrZXk6XCJhcmdsQ2FtZXJhVmlld1JIZlwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtyZXR1cm4oQj1udWxsPT1JP25ldyBGbG9hdDY0QXJyYXkoMTYpOkkpWzBdPUFbMF0sQls0XT1BWzRdLEJbOF09QVs4XSxCWzEyXT1BWzEyXSxCWzFdPS1BWzFdLEJbNV09LUFbNV0sQls5XT0tQVs5XSxCWzEzXT0tQVsxM10sQlsyXT0tQVsyXSxCWzZdPS1BWzZdLEJbMTBdPS1BWzEwXSxCWzE0XT0tQVsxNF0sQlszXT0wLEJbN109MCxCWzExXT0wLEJbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihCWzEyXSo9ZyxCWzEzXSo9ZyxCWzE0XSo9ZyksQn19LHtrZXk6XCJkZXRlY3RNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fY29weUltYWdlVG9IZWFwKEEpP3RoaXMuYXJ0b29sa2l0LmRldGVjdE1hcmtlcih0aGlzLmlkKTotOTl9fSx7a2V5OlwiZ2V0TWFya2VyTnVtXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyTnVtKHRoaXMuaWQpfX0se2tleTpcImdldE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubWFya2VySW5mb319LHtrZXk6XCJnZXRORlRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TkZUTWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lk5GVE1hcmtlckluZm99fSx7a2V5Olwic2V0TWFya2VySW5mb1ZlcnRleFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMF09SVtnXVswXSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZysxXT1JW2ddWzFdO3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvVmVydGV4KHRoaXMuaWQsQSl9fSx7a2V5OlwiY2xvbmVNYXJrZXJJbmZvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQSkpfX0se2tleTpcImdldE11bHRpRWFjaE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE11bHRpRWFjaE1hcmtlcih0aGlzLmlkLEEsSSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm99fSx7a2V5OlwiZ2V0VHJhbnNmb3JtYXRpb25NYXRyaXhcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybV9tYXR9fSx7a2V5OlwiZ2V0Q2FtZXJhTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW1lcmFfbWF0fX0se2tleTpcImdldE1hcmtlclRyYW5zZm9ybWF0aW9uTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdH19LHtrZXk6XCJzZXREZWJ1Z01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0RGVidWdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0RGVidWdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0RGVidWdNb2RlKHRoaXMuaWQpfX0se2tleTpcImdldFByb2Nlc3NpbmdJbWFnZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2Nlc3NpbmdJbWFnZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMb2dMZXZlbChBKX19LHtrZXk6XCJnZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldExvZ0xldmVsKCl9fSx7a2V5Olwic2V0TWFya2VySW5mb0RpclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hcmtlckluZm9EaXIodGhpcy5pZCxBLEkpfX0se2tleTpcInNldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcInNldFByb2plY3Rpb25GYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZE1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZCh0aGlzLmlkLEEpfX0se2tleTpcImdldFRocmVzaG9sZFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZCh0aGlzLmlkKX19LHtrZXk6XCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0TWF0cml4Q29kZVR5cGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRNYXRyaXhDb2RlVHlwZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQpfX0se2tleTpcInNldExhYmVsaW5nTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMYWJlbGluZ01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRMYWJlbGluZ01vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMYWJlbGluZ01vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0UGF0dFJhdGlvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRSYXRpbyh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRSYXRpb1wiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRSYXRpbyh0aGlzLmlkKX19LHtrZXk6XCJzZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldEltYWdlUHJvY01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0SW1hZ2VQcm9jTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJfaW5pdGlhbGl6ZVwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSSxnPXRoaXM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsKG5ldyBVKS5pbml0KCk7Y2FzZSAyOnJldHVybiB0aGlzLmFydG9vbGtpdD1BLnNlbnQsY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiQVJUb29sa2l0IGluaXRpYWxpemVkXCIpLEEubmV4dD02LHRoaXMuYXJ0b29sa2l0LmxvYWRDYW1lcmEodGhpcy5jYW1lcmFQYXJhbSk7Y2FzZSA2OnJldHVybiB0aGlzLmNhbWVyYUlkPUEuc2VudCxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJDYW1lcmEgcGFyYW1zIGxvYWRlZCB3aXRoIElEXCIsdGhpcy5jYW1lcmFJZCksdGhpcy5pZD10aGlzLmFydG9vbGtpdC5zZXR1cCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LHRoaXMuY2FtZXJhSWQpLGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkdvdCBJRCBmcm9tIHNldHVwXCIsdGhpcy5pZCksdGhpcy5faW5pdE5GVCgpLEk9YXJ0b29sa2l0LmZyYW1lTWFsbG9jLHRoaXMuZnJhbWVwb2ludGVyPUkuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplPUkuZnJhbWVzaXplLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1JLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5kYXRhSGVhcD1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplKSx0aGlzLnZpZGVvTHVtYT1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMudmlkZW9MdW1hUG9pbnRlcix0aGlzLmZyYW1lc2l6ZS80KSx0aGlzLmNhbWVyYV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkuY2FtZXJhLDE2KSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLnRyYW5zZm9ybSwxMiksdGhpcy5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKC4xKSx0aGlzLnNldFByb2plY3Rpb25GYXJQbGFuZSgxZTMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Zy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwibG9hZFwiLHRhcmdldDpnfSl9KSwxKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMpO2Nhc2UgMjM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfaW5pdE5GVFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuc2V0dXBBUjIodGhpcy5pZCl9fSx7a2V5OlwiX2NvcHlJbWFnZVRvSGVhcFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJO2lmKEF8fChBPXRoaXMuaW1hZ2UpLEEuZGF0YT9JPUEuZGF0YToodGhpcy5jdHguc2F2ZSgpLFwicG9ydHJhaXRcIj09PXRoaXMub3JpZW50YXRpb24/dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLmhlaWdodCx0aGlzLmNhbnZhcy53aWR0aCk6dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5jdHgucmVzdG9yZSgpLEk9dGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHRoaXMudmlkZW9MdW1hKWZvcih2YXIgZz0wLEI9MDtCPHRoaXMudmlkZW9TaXplO0IrKyl7dmFyIEM9SVtnKzBdLFE9SVtnKzFdLEU9SVtnKzJdO3RoaXMudmlkZW9MdW1hW0JdPUMrQytDK0UrUStRK1ErUT4+MyxnKz00fXJldHVybiEhdGhpcy5kYXRhSGVhcCYmKHRoaXMuZGF0YUhlYXAuc2V0KEkpLCEwKX19XSxbe2tleTpcImluaXRXaXRoRGltZW5zaW9uc1wiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMsUSl7dmFyIEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihJKXtmb3IoOzspc3dpdGNoKEkucHJldj1JLm5leHQpe2Nhc2UgMDpyZXR1cm4gRT1uZXcgQShnLEIsQyxRKSxJLm5leHQ9MyxFLl9pbml0aWFsaXplKCk7Y2FzZSAzOnJldHVybiBJLmFicnVwdChcInJldHVyblwiLEkuc2VudCk7Y2FzZSA0OmNhc2VcImVuZFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLGcsQyl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJpbml0V2l0aEltYWdlXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gSShnLEIsQyl7dmFyIFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIFE9Zy52aWRlb1dpZHRofHxnLndpZHRoLEU9Zy52aWRlb0hlaWdodHx8Zy5oZWlnaHQsSS5uZXh0PTQsQS5pbml0V2l0aERpbWVuc2lvbnMoUSxFLEIsQyk7Y2FzZSA0OnJldHVybihpPUkuc2VudCkuaW1hZ2U9ZyxJLmFicnVwdChcInJldHVyblwiLGkpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxCKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1dKSxBfSgpO2NvbnN0IG49e0FSVG9vbGtpdDpVLEFSQ29udHJvbGxlcjpNfX0pKCksQi5kZWZhdWx0fSkoKX0pKTsiLCJcbmltcG9ydCB3b3JrZXIgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3dvcmtlci1sb2FkZXIvZGlzdC9ydW50aW1lL2lubGluZS5qc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBXb3JrZXJfZm4oKSB7XG4gIHJldHVybiB3b3JrZXIoXCIvKioqKioqLyAoKCkgPT4geyAvLyB3ZWJwYWNrQm9vdHN0cmFwXFxuLyoqKioqKi8gXFx0dmFyIF9fd2VicGFja19tb2R1bGVzX18gPSAoe1xcblxcbi8qKiovIFxcXCIuL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanNcXFwiOlxcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL0Bhci1qcy1vcmcvYXJ0b29sa2l0NS1qcy9kaXN0L0FSVG9vbGtpdC5qcyAqKiohXFxuICBcXFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xcblxcbiFmdW5jdGlvbihBLEkpeyB0cnVlP21vZHVsZS5leHBvcnRzPUkoKTowfShcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybigoKT0+e3ZhciBBPXs3NTc6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDY2Nil9LDY2OTooQSxJLGcpPT57QS5leHBvcnRzPWcoNjA5KX0sNDQ4OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9ZygyNiksUT1nKDM3MiksRT1nKDMyNyksaT1nKDk3KSxvPWcoMTA5KSxEPWcoOTg1KSxhPWcoNjEpLHc9Zyg2NTUpLEY9ZygyNjMpO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEksZyl7dmFyIEcsaD1BLmRhdGEscz1BLmhlYWRlcnMsUj1BLnJlc3BvbnNlVHlwZTtmdW5jdGlvbiBVKCl7QS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi51bnN1YnNjcmliZShHKSxBLnNpZ25hbCYmQS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcXFwiYWJvcnRcXFwiLEcpfUIuaXNGb3JtRGF0YShoKSYmZGVsZXRlIHNbXFxcIkNvbnRlbnQtVHlwZVxcXCJdO3ZhciB5PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLmF1dGgpe3ZhciB0PUEuYXV0aC51c2VybmFtZXx8XFxcIlxcXCIsUz1BLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEEuYXV0aC5wYXNzd29yZCkpOlxcXCJcXFwiO3MuQXV0aG9yaXphdGlvbj1cXFwiQmFzaWMgXFxcIitidG9hKHQrXFxcIjpcXFwiK1MpfXZhciBNPWkoQS5iYXNlVVJMLEEudXJsKTtmdW5jdGlvbiBuKCl7aWYoeSl7dmFyIEI9XFxcImdldEFsbFJlc3BvbnNlSGVhZGVyc1xcXCJpbiB5P28oeS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk6bnVsbCxRPXtkYXRhOlImJlxcXCJ0ZXh0XFxcIiE9PVImJlxcXCJqc29uXFxcIiE9PVI/eS5yZXNwb25zZTp5LnJlc3BvbnNlVGV4dCxzdGF0dXM6eS5zdGF0dXMsc3RhdHVzVGV4dDp5LnN0YXR1c1RleHQsaGVhZGVyczpCLGNvbmZpZzpBLHJlcXVlc3Q6eX07QygoZnVuY3Rpb24oQSl7SShBKSxVKCl9KSwoZnVuY3Rpb24oQSl7ZyhBKSxVKCl9KSxRKSx5PW51bGx9fWlmKHkub3BlbihBLm1ldGhvZC50b1VwcGVyQ2FzZSgpLEUoTSxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSx5LnRpbWVvdXQ9QS50aW1lb3V0LFxcXCJvbmxvYWRlbmRcXFwiaW4geT95Lm9ubG9hZGVuZD1uOnkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7eSYmND09PXkucmVhZHlTdGF0ZSYmKDAhPT15LnN0YXR1c3x8eS5yZXNwb25zZVVSTCYmMD09PXkucmVzcG9uc2VVUkwuaW5kZXhPZihcXFwiZmlsZTpcXFwiKSkmJnNldFRpbWVvdXQobil9LHkub25hYm9ydD1mdW5jdGlvbigpe3kmJihnKGEoXFxcIlJlcXVlc3QgYWJvcnRlZFxcXCIsQSxcXFwiRUNPTk5BQk9SVEVEXFxcIix5KSkseT1udWxsKX0seS5vbmVycm9yPWZ1bmN0aW9uKCl7ZyhhKFxcXCJOZXR3b3JrIEVycm9yXFxcIixBLG51bGwseSkpLHk9bnVsbH0seS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgST1BLnRpbWVvdXQ/XFxcInRpbWVvdXQgb2YgXFxcIitBLnRpbWVvdXQrXFxcIm1zIGV4Y2VlZGVkXFxcIjpcXFwidGltZW91dCBleGNlZWRlZFxcXCIsQj1BLnRyYW5zaXRpb25hbHx8dy50cmFuc2l0aW9uYWw7QS50aW1lb3V0RXJyb3JNZXNzYWdlJiYoST1BLnRpbWVvdXRFcnJvck1lc3NhZ2UpLGcoYShJLEEsQi5jbGFyaWZ5VGltZW91dEVycm9yP1xcXCJFVElNRURPVVRcXFwiOlxcXCJFQ09OTkFCT1JURURcXFwiLHkpKSx5PW51bGx9LEIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSl7dmFyIGM9KEEud2l0aENyZWRlbnRpYWxzfHxEKE0pKSYmQS54c3JmQ29va2llTmFtZT9RLnJlYWQoQS54c3JmQ29va2llTmFtZSk6dm9pZCAwO2MmJihzW0EueHNyZkhlYWRlck5hbWVdPWMpfVxcXCJzZXRSZXF1ZXN0SGVhZGVyXFxcImluIHkmJkIuZm9yRWFjaChzLChmdW5jdGlvbihBLEkpe3ZvaWQgMD09PWgmJlxcXCJjb250ZW50LXR5cGVcXFwiPT09SS50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBzW0ldOnkuc2V0UmVxdWVzdEhlYWRlcihJLEEpfSkpLEIuaXNVbmRlZmluZWQoQS53aXRoQ3JlZGVudGlhbHMpfHwoeS53aXRoQ3JlZGVudGlhbHM9ISFBLndpdGhDcmVkZW50aWFscyksUiYmXFxcImpzb25cXFwiIT09UiYmKHkucmVzcG9uc2VUeXBlPUEucmVzcG9uc2VUeXBlKSxcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5vbkRvd25sb2FkUHJvZ3Jlc3MmJnkuYWRkRXZlbnRMaXN0ZW5lcihcXFwicHJvZ3Jlc3NcXFwiLEEub25Eb3dubG9hZFByb2dyZXNzKSxcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5vblVwbG9hZFByb2dyZXNzJiZ5LnVwbG9hZCYmeS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcihcXFwicHJvZ3Jlc3NcXFwiLEEub25VcGxvYWRQcm9ncmVzcyksKEEuY2FuY2VsVG9rZW58fEEuc2lnbmFsKSYmKEc9ZnVuY3Rpb24oQSl7eSYmKGcoIUF8fEEmJkEudHlwZT9uZXcgRihcXFwiY2FuY2VsZWRcXFwiKTpBKSx5LmFib3J0KCkseT1udWxsKX0sQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi5zdWJzY3JpYmUoRyksQS5zaWduYWwmJihBLnNpZ25hbC5hYm9ydGVkP0coKTpBLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFxcXCJhYm9ydFxcXCIsRykpKSxofHwoaD1udWxsKSx5LnNlbmQoaCl9KSl9fSw2MDk6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1nKDg0OSksUT1nKDMyMSksRT1nKDE4NSksaT1mdW5jdGlvbiBBKEkpe3ZhciBnPW5ldyBRKEkpLGk9QyhRLnByb3RvdHlwZS5yZXF1ZXN0LGcpO3JldHVybiBCLmV4dGVuZChpLFEucHJvdG90eXBlLGcpLEIuZXh0ZW5kKGksZyksaS5jcmVhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIEEoRShJLGcpKX0saX0oZyg2NTUpKTtpLkF4aW9zPVEsaS5DYW5jZWw9ZygyNjMpLGkuQ2FuY2VsVG9rZW49Zyg5NzIpLGkuaXNDYW5jZWw9Zyg1MDIpLGkuVkVSU0lPTj1nKDI4OCkudmVyc2lvbixpLmFsbD1mdW5jdGlvbihBKXtyZXR1cm4gUHJvbWlzZS5hbGwoQSl9LGkuc3ByZWFkPWcoNzEzKSxpLmlzQXhpb3NFcnJvcj1nKDI2OCksQS5leHBvcnRzPWksQS5leHBvcnRzLmRlZmF1bHQ9aX0sMjYzOkE9PntcXFwidXNlIHN0cmljdFxcXCI7ZnVuY3Rpb24gSShBKXt0aGlzLm1lc3NhZ2U9QX1JLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblxcXCJDYW5jZWxcXFwiKyh0aGlzLm1lc3NhZ2U/XFxcIjogXFxcIit0aGlzLm1lc3NhZ2U6XFxcIlxcXCIpfSxJLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLEEuZXhwb3J0cz1JfSw5NzI6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDI2Myk7ZnVuY3Rpb24gQyhBKXtpZihcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uXFxcIik7dmFyIEk7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtJPUF9KSk7dmFyIGc9dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oQSl7aWYoZy5fbGlzdGVuZXJzKXt2YXIgSSxCPWcuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKEk9MDtJPEI7SSsrKWcuX2xpc3RlbmVyc1tJXShBKTtnLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oQSl7dmFyIEksQj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Zy5zdWJzY3JpYmUoQSksST1BfSkpLnRoZW4oQSk7cmV0dXJuIEIuY2FuY2VsPWZ1bmN0aW9uKCl7Zy51bnN1YnNjcmliZShJKX0sQn0sQSgoZnVuY3Rpb24oQSl7Zy5yZWFzb258fChnLnJlYXNvbj1uZXcgQihBKSxJKGcucmVhc29uKSl9KSl9Qy5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7dGhpcy5yZWFzb24/QSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKEEpOnRoaXMuX2xpc3RlbmVycz1bQV19LEMucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKEEpe2lmKHRoaXMuX2xpc3RlbmVycyl7dmFyIEk9dGhpcy5fbGlzdGVuZXJzLmluZGV4T2YoQSk7LTEhPT1JJiZ0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKEksMSl9fSxDLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBBO3JldHVybnt0b2tlbjpuZXcgQygoZnVuY3Rpb24oSSl7QT1JfSkpLGNhbmNlbDpBfX0sQS5leHBvcnRzPUN9LDUwMjpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4hKCFBfHwhQS5fX0NBTkNFTF9fKX19LDMyMTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPWcoMzI3KSxRPWcoNzgyKSxFPWcoNTcyKSxpPWcoMTg1KSxvPWcoODc1KSxEPW8udmFsaWRhdG9ycztmdW5jdGlvbiBhKEEpe3RoaXMuZGVmYXVsdHM9QSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgUSxyZXNwb25zZTpuZXcgUX19YS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihBKXtcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/KEE9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTpBPUF8fHt9LChBPWkodGhpcy5kZWZhdWx0cyxBKSkubWV0aG9kP0EubWV0aG9kPUEubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/QS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTpBLm1ldGhvZD1cXFwiZ2V0XFxcIjt2YXIgST1BLnRyYW5zaXRpb25hbDt2b2lkIDAhPT1JJiZvLmFzc2VydE9wdGlvbnMoSSx7c2lsZW50SlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxmb3JjZWRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKX0sITEpO3ZhciBnPVtdLEI9ITA7dGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKChmdW5jdGlvbihJKXtcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgSS5ydW5XaGVuJiYhMT09PUkucnVuV2hlbihBKXx8KEI9QiYmSS5zeW5jaHJvbm91cyxnLnVuc2hpZnQoSS5mdWxmaWxsZWQsSS5yZWplY3RlZCkpfSkpO3ZhciBDLFE9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oQSl7US5wdXNoKEEuZnVsZmlsbGVkLEEucmVqZWN0ZWQpfSkpLCFCKXt2YXIgYT1bRSx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShhLGcpLGE9YS5jb25jYXQoUSksQz1Qcm9taXNlLnJlc29sdmUoQSk7YS5sZW5ndGg7KUM9Qy50aGVuKGEuc2hpZnQoKSxhLnNoaWZ0KCkpO3JldHVybiBDfWZvcih2YXIgdz1BO2cubGVuZ3RoOyl7dmFyIEY9Zy5zaGlmdCgpLEc9Zy5zaGlmdCgpO3RyeXt3PUYodyl9Y2F0Y2goQSl7RyhBKTticmVha319dHJ5e0M9RSh3KX1jYXRjaChBKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoQSl9Zm9yKDtRLmxlbmd0aDspQz1DLnRoZW4oUS5zaGlmdCgpLFEuc2hpZnQoKSk7cmV0dXJuIEN9LGEucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihBKXtyZXR1cm4gQT1pKHRoaXMuZGVmYXVsdHMsQSksQyhBLnVybCxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXFxcPy8sXFxcIlxcXCIpfSxCLmZvckVhY2goW1xcXCJkZWxldGVcXFwiLFxcXCJnZXRcXFwiLFxcXCJoZWFkXFxcIixcXFwib3B0aW9uc1xcXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcpe3JldHVybiB0aGlzLnJlcXVlc3QoaShnfHx7fSx7bWV0aG9kOkEsdXJsOkksZGF0YTooZ3x8e30pLmRhdGF9KSl9fSkpLEIuZm9yRWFjaChbXFxcInBvc3RcXFwiLFxcXCJwdXRcXFwiLFxcXCJwYXRjaFxcXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcsQil7cmV0dXJuIHRoaXMucmVxdWVzdChpKEJ8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOmd9KSl9fSkpLEEuZXhwb3J0cz1hfSw3ODI6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQygpe3RoaXMuaGFuZGxlcnM9W119Qy5wcm90b3R5cGUudXNlPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6QSxyZWplY3RlZDpJLHN5bmNocm9ub3VzOiEhZyYmZy5zeW5jaHJvbm91cyxydW5XaGVuOmc/Zy5ydW5XaGVuOm51bGx9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfSxDLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihBKXt0aGlzLmhhbmRsZXJzW0FdJiYodGhpcy5oYW5kbGVyc1tBXT1udWxsKX0sQy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihBKXtCLmZvckVhY2godGhpcy5oYW5kbGVycywoZnVuY3Rpb24oSSl7bnVsbCE9PUkmJkEoSSl9KSl9LEEuZXhwb3J0cz1DfSw5NzooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoNzkzKSxDPWcoMzAzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSYmIUIoSSk/QyhBLEkpOkl9fSw2MTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoNDgxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQyxRKXt2YXIgRT1uZXcgRXJyb3IoQSk7cmV0dXJuIEIoRSxJLGcsQyxRKX19LDU3MjooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPWcoNTI3KSxRPWcoNTAyKSxFPWcoNjU1KSxpPWcoMjYzKTtmdW5jdGlvbiBvKEEpe2lmKEEuY2FuY2VsVG9rZW4mJkEuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpLEEuc2lnbmFsJiZBLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBpKFxcXCJjYW5jZWxlZFxcXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbyhBKSxBLmhlYWRlcnM9QS5oZWFkZXJzfHx7fSxBLmRhdGE9Qy5jYWxsKEEsQS5kYXRhLEEuaGVhZGVycyxBLnRyYW5zZm9ybVJlcXVlc3QpLEEuaGVhZGVycz1CLm1lcmdlKEEuaGVhZGVycy5jb21tb258fHt9LEEuaGVhZGVyc1tBLm1ldGhvZF18fHt9LEEuaGVhZGVycyksQi5mb3JFYWNoKFtcXFwiZGVsZXRlXFxcIixcXFwiZ2V0XFxcIixcXFwiaGVhZFxcXCIsXFxcInBvc3RcXFwiLFxcXCJwdXRcXFwiLFxcXCJwYXRjaFxcXCIsXFxcImNvbW1vblxcXCJdLChmdW5jdGlvbihJKXtkZWxldGUgQS5oZWFkZXJzW0ldfSkpLChBLmFkYXB0ZXJ8fEUuYWRhcHRlcikoQSkudGhlbigoZnVuY3Rpb24oSSl7cmV0dXJuIG8oQSksSS5kYXRhPUMuY2FsbChBLEkuZGF0YSxJLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSksSX0pLChmdW5jdGlvbihJKXtyZXR1cm4gUShJKXx8KG8oQSksSSYmSS5yZXNwb25zZSYmKEkucmVzcG9uc2UuZGF0YT1DLmNhbGwoQSxJLnJlc3BvbnNlLmRhdGEsSS5yZXNwb25zZS5oZWFkZXJzLEEudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoSSl9KSl9fSw0ODE6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQS5jb25maWc9SSxnJiYoQS5jb2RlPWcpLEEucmVxdWVzdD1CLEEucmVzcG9uc2U9QyxBLmlzQXhpb3NFcnJvcj0hMCxBLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnttZXNzYWdlOnRoaXMubWVzc2FnZSxuYW1lOnRoaXMubmFtZSxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9uLG51bWJlcjp0aGlzLm51bWJlcixmaWxlTmFtZTp0aGlzLmZpbGVOYW1lLGxpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbk51bWJlcjp0aGlzLmNvbHVtbk51bWJlcixzdGFjazp0aGlzLnN0YWNrLGNvbmZpZzp0aGlzLmNvbmZpZyxjb2RlOnRoaXMuY29kZSxzdGF0dXM6dGhpcy5yZXNwb25zZSYmdGhpcy5yZXNwb25zZS5zdGF0dXM/dGhpcy5yZXNwb25zZS5zdGF0dXM6bnVsbH19LEF9fSwxODU6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7ST1JfHx7fTt2YXIgZz17fTtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuIEIuaXNQbGFpbk9iamVjdChBKSYmQi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2UoQSxJKTpCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZSh7fSxJKTpCLmlzQXJyYXkoSSk/SS5zbGljZSgpOkl9ZnVuY3Rpb24gUShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKEFbZ10sSVtnXSl9ZnVuY3Rpb24gRShBKXtpZighQi5pc1VuZGVmaW5lZChJW0FdKSlyZXR1cm4gQyh2b2lkIDAsSVtBXSl9ZnVuY3Rpb24gaShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKHZvaWQgMCxJW2ddKX1mdW5jdGlvbiBvKGcpe3JldHVybiBnIGluIEk/QyhBW2ddLElbZ10pOmcgaW4gQT9DKHZvaWQgMCxBW2ddKTp2b2lkIDB9dmFyIEQ9e3VybDpFLG1ldGhvZDpFLGRhdGE6RSxiYXNlVVJMOmksdHJhbnNmb3JtUmVxdWVzdDppLHRyYW5zZm9ybVJlc3BvbnNlOmkscGFyYW1zU2VyaWFsaXplcjppLHRpbWVvdXQ6aSx0aW1lb3V0TWVzc2FnZTppLHdpdGhDcmVkZW50aWFsczppLGFkYXB0ZXI6aSxyZXNwb25zZVR5cGU6aSx4c3JmQ29va2llTmFtZTppLHhzcmZIZWFkZXJOYW1lOmksb25VcGxvYWRQcm9ncmVzczppLG9uRG93bmxvYWRQcm9ncmVzczppLGRlY29tcHJlc3M6aSxtYXhDb250ZW50TGVuZ3RoOmksbWF4Qm9keUxlbmd0aDppLHRyYW5zcG9ydDppLGh0dHBBZ2VudDppLGh0dHBzQWdlbnQ6aSxjYW5jZWxUb2tlbjppLHNvY2tldFBhdGg6aSxyZXNwb25zZUVuY29kaW5nOmksdmFsaWRhdGVTdGF0dXM6b307cmV0dXJuIEIuZm9yRWFjaChPYmplY3Qua2V5cyhBKS5jb25jYXQoT2JqZWN0LmtleXMoSSkpLChmdW5jdGlvbihBKXt2YXIgST1EW0FdfHxRLEM9SShBKTtCLmlzVW5kZWZpbmVkKEMpJiZJIT09b3x8KGdbQV09Qyl9KSksZ319LDI2OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg2MSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQz1nLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztnLnN0YXR1cyYmQyYmIUMoZy5zdGF0dXMpP0koQihcXFwiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSBcXFwiK2cuc3RhdHVzLGcuY29uZmlnLG51bGwsZy5yZXF1ZXN0LGcpKTpBKGcpfX0sNTI3OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9Zyg2NTUpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIFE9dGhpc3x8QztyZXR1cm4gQi5mb3JFYWNoKGcsKGZ1bmN0aW9uKGcpe0E9Zy5jYWxsKFEsQSxJKX0pKSxBfX0sNjU1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9ZygxNiksUT1nKDQ4MSksRT17XFxcIkNvbnRlbnQtVHlwZVxcXCI6XFxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFxcXCJ9O2Z1bmN0aW9uIGkoQSxJKXshQi5pc1VuZGVmaW5lZChBKSYmQi5pc1VuZGVmaW5lZChBW1xcXCJDb250ZW50LVR5cGVcXFwiXSkmJihBW1xcXCJDb250ZW50LVR5cGVcXFwiXT1JKX12YXIgbyxEPXt0cmFuc2l0aW9uYWw6e3NpbGVudEpTT05QYXJzaW5nOiEwLGZvcmNlZEpTT05QYXJzaW5nOiEwLGNsYXJpZnlUaW1lb3V0RXJyb3I6ITF9LGFkYXB0ZXI6KChcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHByb2Nlc3MmJlxcXCJbb2JqZWN0IHByb2Nlc3NdXFxcIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSkmJihvPWcoNDQ4KSksbyksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oQSxJKXtyZXR1cm4gQyhJLFxcXCJBY2NlcHRcXFwiKSxDKEksXFxcIkNvbnRlbnQtVHlwZVxcXCIpLEIuaXNGb3JtRGF0YShBKXx8Qi5pc0FycmF5QnVmZmVyKEEpfHxCLmlzQnVmZmVyKEEpfHxCLmlzU3RyZWFtKEEpfHxCLmlzRmlsZShBKXx8Qi5pc0Jsb2IoQSk/QTpCLmlzQXJyYXlCdWZmZXJWaWV3KEEpP0EuYnVmZmVyOkIuaXNVUkxTZWFyY2hQYXJhbXMoQSk/KGkoSSxcXFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcXFwiKSxBLnRvU3RyaW5nKCkpOkIuaXNPYmplY3QoQSl8fEkmJlxcXCJhcHBsaWNhdGlvbi9qc29uXFxcIj09PUlbXFxcIkNvbnRlbnQtVHlwZVxcXCJdPyhpKEksXFxcImFwcGxpY2F0aW9uL2pzb25cXFwiKSxmdW5jdGlvbihBLEksZyl7aWYoQi5pc1N0cmluZyhBKSl0cnl7cmV0dXJuKDAsSlNPTi5wYXJzZSkoQSksQi50cmltKEEpfWNhdGNoKEEpe2lmKFxcXCJTeW50YXhFcnJvclxcXCIhPT1BLm5hbWUpdGhyb3cgQX1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoQSl9KEEpKTpBfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKEEpe3ZhciBJPXRoaXMudHJhbnNpdGlvbmFsfHxELnRyYW5zaXRpb25hbCxnPUkmJkkuc2lsZW50SlNPTlBhcnNpbmcsQz1JJiZJLmZvcmNlZEpTT05QYXJzaW5nLEU9IWcmJlxcXCJqc29uXFxcIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKEV8fEMmJkIuaXNTdHJpbmcoQSkmJkEubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShBKX1jYXRjaChBKXtpZihFKXtpZihcXFwiU3ludGF4RXJyb3JcXFwiPT09QS5uYW1lKXRocm93IFEoQSx0aGlzLFxcXCJFX0pTT05fUEFSU0VcXFwiKTt0aHJvdyBBfX1yZXR1cm4gQX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcXFwiWFNSRi1UT0tFTlxcXCIseHNyZkhlYWRlck5hbWU6XFxcIlgtWFNSRi1UT0tFTlxcXCIsbWF4Q29udGVudExlbmd0aDotMSxtYXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKEEpe3JldHVybiBBPj0yMDAmJkE8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDpcXFwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXFxcIn19fTtCLmZvckVhY2goW1xcXCJkZWxldGVcXFwiLFxcXCJnZXRcXFwiLFxcXCJoZWFkXFxcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT17fX0pKSxCLmZvckVhY2goW1xcXCJwb3N0XFxcIixcXFwicHV0XFxcIixcXFwicGF0Y2hcXFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPUIubWVyZ2UoRSl9KSksQS5leHBvcnRzPUR9LDI4ODpBPT57QS5leHBvcnRzPXt2ZXJzaW9uOlxcXCIwLjI0LjBcXFwifX0sODQ5OkE9PntcXFwidXNlIHN0cmljdFxcXCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBnPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxCPTA7QjxnLmxlbmd0aDtCKyspZ1tCXT1hcmd1bWVudHNbQl07cmV0dXJuIEEuYXBwbHkoSSxnKX19fSwzMjc6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEEpLnJlcGxhY2UoLyUzQS9naSxcXFwiOlxcXCIpLnJlcGxhY2UoLyUyNC9nLFxcXCIkXFxcIikucmVwbGFjZSgvJTJDL2dpLFxcXCIsXFxcIikucmVwbGFjZSgvJTIwL2csXFxcIitcXFwiKS5yZXBsYWNlKC8lNUIvZ2ksXFxcIltcXFwiKS5yZXBsYWNlKC8lNUQvZ2ksXFxcIl1cXFwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe2lmKCFJKXJldHVybiBBO3ZhciBRO2lmKGcpUT1nKEkpO2Vsc2UgaWYoQi5pc1VSTFNlYXJjaFBhcmFtcyhJKSlRPUkudG9TdHJpbmcoKTtlbHNle3ZhciBFPVtdO0IuZm9yRWFjaChJLChmdW5jdGlvbihBLEkpe251bGwhPUEmJihCLmlzQXJyYXkoQSk/SSs9XFxcIltdXFxcIjpBPVtBXSxCLmZvckVhY2goQSwoZnVuY3Rpb24oQSl7Qi5pc0RhdGUoQSk/QT1BLnRvSVNPU3RyaW5nKCk6Qi5pc09iamVjdChBKSYmKEE9SlNPTi5zdHJpbmdpZnkoQSkpLEUucHVzaChDKEkpK1xcXCI9XFxcIitDKEEpKX0pKSl9KSksUT1FLmpvaW4oXFxcIiZcXFwiKX1pZihRKXt2YXIgaT1BLmluZGV4T2YoXFxcIiNcXFwiKTstMSE9PWkmJihBPUEuc2xpY2UoMCxpKSksQSs9KC0xPT09QS5pbmRleE9mKFxcXCI/XFxcIik/XFxcIj9cXFwiOlxcXCImXFxcIikrUX1yZXR1cm4gQX19LDMwMzpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBJP0EucmVwbGFjZSgvXFxcXC8rJC8sXFxcIlxcXCIpK1xcXCIvXFxcIitJLnJlcGxhY2UoL15cXFxcLysvLFxcXCJcXFwiKTpBfX0sMzcyOihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSxFKXt2YXIgaT1bXTtpLnB1c2goQStcXFwiPVxcXCIrZW5jb2RlVVJJQ29tcG9uZW50KEkpKSxCLmlzTnVtYmVyKGcpJiZpLnB1c2goXFxcImV4cGlyZXM9XFxcIituZXcgRGF0ZShnKS50b0dNVFN0cmluZygpKSxCLmlzU3RyaW5nKEMpJiZpLnB1c2goXFxcInBhdGg9XFxcIitDKSxCLmlzU3RyaW5nKFEpJiZpLnB1c2goXFxcImRvbWFpbj1cXFwiK1EpLCEwPT09RSYmaS5wdXNoKFxcXCJzZWN1cmVcXFwiKSxkb2N1bWVudC5jb29raWU9aS5qb2luKFxcXCI7IFxcXCIpfSxyZWFkOmZ1bmN0aW9uKEEpe3ZhciBJPWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKFxcXCIoXnw7XFxcXFxcXFxzKikoXFxcIitBK1xcXCIpPShbXjtdKilcXFwiKSk7cmV0dXJuIEk/ZGVjb2RlVVJJQ29tcG9uZW50KElbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihBKXt0aGlzLndyaXRlKEEsXFxcIlxcXCIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX19LDc5MzpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcXFxcZFxcXFwrXFxcXC1cXFxcLl0qOik/XFxcXC9cXFxcLy9pLnRlc3QoQSl9fSwyNjg6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIm9iamVjdFxcXCI9PXR5cGVvZiBBJiYhMD09PUEuaXNBeGlvc0Vycm9yfX0sOTg1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgQSxJPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFxcXCJhXFxcIik7ZnVuY3Rpb24gQyhBKXt2YXIgQj1BO3JldHVybiBJJiYoZy5zZXRBdHRyaWJ1dGUoXFxcImhyZWZcXFwiLEIpLEI9Zy5ocmVmKSxnLnNldEF0dHJpYnV0ZShcXFwiaHJlZlxcXCIsQikse2hyZWY6Zy5ocmVmLHByb3RvY29sOmcucHJvdG9jb2w/Zy5wcm90b2NvbC5yZXBsYWNlKC86JC8sXFxcIlxcXCIpOlxcXCJcXFwiLGhvc3Q6Zy5ob3N0LHNlYXJjaDpnLnNlYXJjaD9nLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLFxcXCJcXFwiKTpcXFwiXFxcIixoYXNoOmcuaGFzaD9nLmhhc2gucmVwbGFjZSgvXiMvLFxcXCJcXFwiKTpcXFwiXFxcIixob3N0bmFtZTpnLmhvc3RuYW1lLHBvcnQ6Zy5wb3J0LHBhdGhuYW1lOlxcXCIvXFxcIj09PWcucGF0aG5hbWUuY2hhckF0KDApP2cucGF0aG5hbWU6XFxcIi9cXFwiK2cucGF0aG5hbWV9fXJldHVybiBBPUMod2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKEkpe3ZhciBnPUIuaXNTdHJpbmcoSSk/QyhJKTpJO3JldHVybiBnLnByb3RvY29sPT09QS5wcm90b2NvbCYmZy5ob3N0PT09QS5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sMTY6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7Qi5mb3JFYWNoKEEsKGZ1bmN0aW9uKGcsQil7QiE9PUkmJkIudG9VcHBlckNhc2UoKT09PUkudG9VcHBlckNhc2UoKSYmKEFbSV09ZyxkZWxldGUgQVtCXSl9KSl9fSwxMDk6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1bXFxcImFnZVxcXCIsXFxcImF1dGhvcml6YXRpb25cXFwiLFxcXCJjb250ZW50LWxlbmd0aFxcXCIsXFxcImNvbnRlbnQtdHlwZVxcXCIsXFxcImV0YWdcXFwiLFxcXCJleHBpcmVzXFxcIixcXFwiZnJvbVxcXCIsXFxcImhvc3RcXFwiLFxcXCJpZi1tb2RpZmllZC1zaW5jZVxcXCIsXFxcImlmLXVubW9kaWZpZWQtc2luY2VcXFwiLFxcXCJsYXN0LW1vZGlmaWVkXFxcIixcXFwibG9jYXRpb25cXFwiLFxcXCJtYXgtZm9yd2FyZHNcXFwiLFxcXCJwcm94eS1hdXRob3JpemF0aW9uXFxcIixcXFwicmVmZXJlclxcXCIsXFxcInJldHJ5LWFmdGVyXFxcIixcXFwidXNlci1hZ2VudFxcXCJdO0EuZXhwb3J0cz1mdW5jdGlvbihBKXt2YXIgSSxnLFEsRT17fTtyZXR1cm4gQT8oQi5mb3JFYWNoKEEuc3BsaXQoXFxcIlxcXFxuXFxcIiksKGZ1bmN0aW9uKEEpe2lmKFE9QS5pbmRleE9mKFxcXCI6XFxcIiksST1CLnRyaW0oQS5zdWJzdHIoMCxRKSkudG9Mb3dlckNhc2UoKSxnPUIudHJpbShBLnN1YnN0cihRKzEpKSxJKXtpZihFW0ldJiZDLmluZGV4T2YoSSk+PTApcmV0dXJuO0VbSV09XFxcInNldC1jb29raWVcXFwiPT09ST8oRVtJXT9FW0ldOltdKS5jb25jYXQoW2ddKTpFW0ldP0VbSV0rXFxcIiwgXFxcIitnOmd9fSkpLEUpOkV9fSw3MTM6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KG51bGwsSSl9fX0sODc1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9ZygyODgpLnZlcnNpb24sQz17fTtbXFxcIm9iamVjdFxcXCIsXFxcImJvb2xlYW5cXFwiLFxcXCJudW1iZXJcXFwiLFxcXCJmdW5jdGlvblxcXCIsXFxcInN0cmluZ1xcXCIsXFxcInN5bWJvbFxcXCJdLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7Q1tBXT1mdW5jdGlvbihnKXtyZXR1cm4gdHlwZW9mIGc9PT1BfHxcXFwiYVxcXCIrKEk8MT9cXFwibiBcXFwiOlxcXCIgXFxcIikrQX19KSk7dmFyIFE9e307Qy50cmFuc2l0aW9uYWw9ZnVuY3Rpb24oQSxJLGcpe2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm5cXFwiW0F4aW9zIHZcXFwiK0IrXFxcIl0gVHJhbnNpdGlvbmFsIG9wdGlvbiAnXFxcIitBK1xcXCInXFxcIitJKyhnP1xcXCIuIFxcXCIrZzpcXFwiXFxcIil9cmV0dXJuIGZ1bmN0aW9uKGcsQixFKXtpZighMT09PUEpdGhyb3cgbmV3IEVycm9yKEMoQixcXFwiIGhhcyBiZWVuIHJlbW92ZWRcXFwiKyhJP1xcXCIgaW4gXFxcIitJOlxcXCJcXFwiKSkpO3JldHVybiBJJiYhUVtCXSYmKFFbQl09ITAsY29uc29sZS53YXJuKEMoQixcXFwiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdlxcXCIrSStcXFwiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlXFxcIikpKSwhQXx8QShnLEIsRSl9fSxBLmV4cG9ydHM9e2Fzc2VydE9wdGlvbnM6ZnVuY3Rpb24oQSxJLGcpe2lmKFxcXCJvYmplY3RcXFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0XFxcIik7Zm9yKHZhciBCPU9iamVjdC5rZXlzKEEpLEM9Qi5sZW5ndGg7Qy0tID4wOyl7dmFyIFE9QltDXSxFPUlbUV07aWYoRSl7dmFyIGk9QVtRXSxvPXZvaWQgMD09PWl8fEUoaSxRLEEpO2lmKCEwIT09byl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJvcHRpb24gXFxcIitRK1xcXCIgbXVzdCBiZSBcXFwiK28pfWVsc2UgaWYoITAhPT1nKXRocm93IEVycm9yKFxcXCJVbmtub3duIG9wdGlvbiBcXFwiK1EpfX0sdmFsaWRhdG9yczpDfX0sODY3OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NDkpLEM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBRKEEpe3JldHVyblxcXCJbb2JqZWN0IEFycmF5XVxcXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gRShBKXtyZXR1cm4gdm9pZCAwPT09QX1mdW5jdGlvbiBpKEEpe3JldHVybiBudWxsIT09QSYmXFxcIm9iamVjdFxcXCI9PXR5cGVvZiBBfWZ1bmN0aW9uIG8oQSl7aWYoXFxcIltvYmplY3QgT2JqZWN0XVxcXCIhPT1DLmNhbGwoQSkpcmV0dXJuITE7dmFyIEk9T2JqZWN0LmdldFByb3RvdHlwZU9mKEEpO3JldHVybiBudWxsPT09SXx8ST09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gRChBKXtyZXR1cm5cXFwiW29iamVjdCBGdW5jdGlvbl1cXFwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIGEoQSxJKXtpZihudWxsIT1BKWlmKFxcXCJvYmplY3RcXFwiIT10eXBlb2YgQSYmKEE9W0FdKSxRKEEpKWZvcih2YXIgZz0wLEI9QS5sZW5ndGg7ZzxCO2crKylJLmNhbGwobnVsbCxBW2ddLGcsQSk7ZWxzZSBmb3IodmFyIEMgaW4gQSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQSxDKSYmSS5jYWxsKG51bGwsQVtDXSxDLEEpfUEuZXhwb3J0cz17aXNBcnJheTpRLGlzQXJyYXlCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIltvYmplY3QgQXJyYXlCdWZmZXJdXFxcIj09PUMuY2FsbChBKX0saXNCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGwhPT1BJiYhRShBKSYmbnVsbCE9PUEuY29uc3RydWN0b3ImJiFFKEEuY29uc3RydWN0b3IpJiZcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihBKX0saXNGb3JtRGF0YTpmdW5jdGlvbihBKXtyZXR1cm5cXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIEZvcm1EYXRhJiZBIGluc3RhbmNlb2YgRm9ybURhdGF9LGlzQXJyYXlCdWZmZXJWaWV3OmZ1bmN0aW9uKEEpe3JldHVyblxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoQSk6QSYmQS5idWZmZXImJkEuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9LGlzU3RyaW5nOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQX0saXNOdW1iZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIm51bWJlclxcXCI9PXR5cGVvZiBBfSxpc09iamVjdDppLGlzUGxhaW5PYmplY3Q6byxpc1VuZGVmaW5lZDpFLGlzRGF0ZTpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBEYXRlXVxcXCI9PT1DLmNhbGwoQSl9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBGaWxlXVxcXCI9PT1DLmNhbGwoQSl9LGlzQmxvYjpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBCbG9iXVxcXCI9PT1DLmNhbGwoQSl9LGlzRnVuY3Rpb246RCxpc1N0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaShBKSYmRChBLnBpcGUpfSxpc1VSTFNlYXJjaFBhcmFtczpmdW5jdGlvbihBKXtyZXR1cm5cXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmQSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc30saXNTdGFuZGFyZEJyb3dzZXJFbnY6ZnVuY3Rpb24oKXtyZXR1cm4oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFxcXCJSZWFjdE5hdGl2ZVxcXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXFxcIk5hdGl2ZVNjcmlwdFxcXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXFxcIk5TXFxcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiB3aW5kb3cmJlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZG9jdW1lbnR9LGZvckVhY2g6YSxtZXJnZTpmdW5jdGlvbiBBKCl7dmFyIEk9e307ZnVuY3Rpb24gZyhnLEIpe28oSVtCXSkmJm8oZyk/SVtCXT1BKElbQl0sZyk6byhnKT9JW0JdPUEoe30sZyk6UShnKT9JW0JdPWcuc2xpY2UoKTpJW0JdPWd9Zm9yKHZhciBCPTAsQz1hcmd1bWVudHMubGVuZ3RoO0I8QztCKyspYShhcmd1bWVudHNbQl0sZyk7cmV0dXJuIEl9LGV4dGVuZDpmdW5jdGlvbihBLEksZyl7cmV0dXJuIGEoSSwoZnVuY3Rpb24oSSxDKXtBW0NdPWcmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBJP0IoSSxnKTpJfSkpLEF9LHRyaW06ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJpbT9BLnRyaW0oKTpBLnJlcGxhY2UoL15cXFxccyt8XFxcXHMrJC9nLFxcXCJcXFwiKX0sc3RyaXBCT006ZnVuY3Rpb24oQSl7cmV0dXJuIDY1Mjc5PT09QS5jaGFyQ29kZUF0KDApJiYoQT1BLnNsaWNlKDEpKSxBfX19LDY2NjpBPT57dmFyIEk9ZnVuY3Rpb24oQSl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBJLGc9T2JqZWN0LnByb3RvdHlwZSxCPWcuaGFzT3duUHJvcGVydHksQz1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxRPUMuaXRlcmF0b3J8fFxcXCJAQGl0ZXJhdG9yXFxcIixFPUMuYXN5bmNJdGVyYXRvcnx8XFxcIkBAYXN5bmNJdGVyYXRvclxcXCIsaT1DLnRvU3RyaW5nVGFnfHxcXFwiQEB0b1N0cmluZ1RhZ1xcXCI7ZnVuY3Rpb24gbyhBLEksZyl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSxBW0ldfXRyeXtvKHt9LFxcXCJcXFwiKX1jYXRjaChBKXtvPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gQVtJXT1nfX1mdW5jdGlvbiBEKEEsSSxnLEIpe3ZhciBDPUkmJkkucHJvdG90eXBlIGluc3RhbmNlb2YgUj9JOlIsUT1PYmplY3QuY3JlYXRlKEMucHJvdG90eXBlKSxFPW5ldyBZKEJ8fFtdKTtyZXR1cm4gUS5faW52b2tlPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQj13O3JldHVybiBmdW5jdGlvbihDLFEpe2lmKEI9PT1HKXRocm93IG5ldyBFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1xcXCIpO2lmKEI9PT1oKXtpZihcXFwidGhyb3dcXFwiPT09Qyl0aHJvdyBRO3JldHVybiBKKCl9Zm9yKGcubWV0aG9kPUMsZy5hcmc9UTs7KXt2YXIgRT1nLmRlbGVnYXRlO2lmKEUpe3ZhciBpPWsoRSxnKTtpZihpKXtpZihpPT09cyljb250aW51ZTtyZXR1cm4gaX19aWYoXFxcIm5leHRcXFwiPT09Zy5tZXRob2QpZy5zZW50PWcuX3NlbnQ9Zy5hcmc7ZWxzZSBpZihcXFwidGhyb3dcXFwiPT09Zy5tZXRob2Qpe2lmKEI9PT13KXRocm93IEI9aCxnLmFyZztnLmRpc3BhdGNoRXhjZXB0aW9uKGcuYXJnKX1lbHNlXFxcInJldHVyblxcXCI9PT1nLm1ldGhvZCYmZy5hYnJ1cHQoXFxcInJldHVyblxcXCIsZy5hcmcpO0I9Rzt2YXIgbz1hKEEsSSxnKTtpZihcXFwibm9ybWFsXFxcIj09PW8udHlwZSl7aWYoQj1nLmRvbmU/aDpGLG8uYXJnPT09cyljb250aW51ZTtyZXR1cm57dmFsdWU6by5hcmcsZG9uZTpnLmRvbmV9fVxcXCJ0aHJvd1xcXCI9PT1vLnR5cGUmJihCPWgsZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1vLmFyZyl9fX0oQSxnLEUpLFF9ZnVuY3Rpb24gYShBLEksZyl7dHJ5e3JldHVybnt0eXBlOlxcXCJub3JtYWxcXFwiLGFyZzpBLmNhbGwoSSxnKX19Y2F0Y2goQSl7cmV0dXJue3R5cGU6XFxcInRocm93XFxcIixhcmc6QX19fUEud3JhcD1EO3ZhciB3PVxcXCJzdXNwZW5kZWRTdGFydFxcXCIsRj1cXFwic3VzcGVuZGVkWWllbGRcXFwiLEc9XFxcImV4ZWN1dGluZ1xcXCIsaD1cXFwiY29tcGxldGVkXFxcIixzPXt9O2Z1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gVSgpe31mdW5jdGlvbiB5KCl7fXZhciB0PXt9O28odCxRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpO3ZhciBTPU9iamVjdC5nZXRQcm90b3R5cGVPZixNPVMmJlMoUyhlKFtdKSkpO00mJk0hPT1nJiZCLmNhbGwoTSxRKSYmKHQ9TSk7dmFyIG49eS5wcm90b3R5cGU9Ui5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0KTtmdW5jdGlvbiBjKEEpe1tcXFwibmV4dFxcXCIsXFxcInRocm93XFxcIixcXFwicmV0dXJuXFxcIl0uZm9yRWFjaCgoZnVuY3Rpb24oSSl7byhBLEksKGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9pbnZva2UoSSxBKX0pKX0pKX1mdW5jdGlvbiByKEEsSSl7ZnVuY3Rpb24gZyhDLFEsRSxpKXt2YXIgbz1hKEFbQ10sQSxRKTtpZihcXFwidGhyb3dcXFwiIT09by50eXBlKXt2YXIgRD1vLmFyZyx3PUQudmFsdWU7cmV0dXJuIHcmJlxcXCJvYmplY3RcXFwiPT10eXBlb2YgdyYmQi5jYWxsKHcsXFxcIl9fYXdhaXRcXFwiKT9JLnJlc29sdmUody5fX2F3YWl0KS50aGVuKChmdW5jdGlvbihBKXtnKFxcXCJuZXh0XFxcIixBLEUsaSl9KSwoZnVuY3Rpb24oQSl7ZyhcXFwidGhyb3dcXFwiLEEsRSxpKX0pKTpJLnJlc29sdmUodykudGhlbigoZnVuY3Rpb24oQSl7RC52YWx1ZT1BLEUoRCl9KSwoZnVuY3Rpb24oQSl7cmV0dXJuIGcoXFxcInRocm93XFxcIixBLEUsaSl9KSl9aShvLmFyZyl9dmFyIEM7dGhpcy5faW52b2tlPWZ1bmN0aW9uKEEsQil7ZnVuY3Rpb24gUSgpe3JldHVybiBuZXcgSSgoZnVuY3Rpb24oSSxDKXtnKEEsQixJLEMpfSkpfXJldHVybiBDPUM/Qy50aGVuKFEsUSk6USgpfX1mdW5jdGlvbiBrKEEsZyl7dmFyIEI9QS5pdGVyYXRvcltnLm1ldGhvZF07aWYoQj09PUkpe2lmKGcuZGVsZWdhdGU9bnVsbCxcXFwidGhyb3dcXFwiPT09Zy5tZXRob2Qpe2lmKEEuaXRlcmF0b3IucmV0dXJuJiYoZy5tZXRob2Q9XFxcInJldHVyblxcXCIsZy5hcmc9SSxrKEEsZyksXFxcInRocm93XFxcIj09PWcubWV0aG9kKSlyZXR1cm4gcztnLm1ldGhvZD1cXFwidGhyb3dcXFwiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXFxcIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJ3Rocm93JyBtZXRob2RcXFwiKX1yZXR1cm4gc312YXIgQz1hKEIsQS5pdGVyYXRvcixnLmFyZyk7aWYoXFxcInRocm93XFxcIj09PUMudHlwZSlyZXR1cm4gZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1DLmFyZyxnLmRlbGVnYXRlPW51bGwsczt2YXIgUT1DLmFyZztyZXR1cm4gUT9RLmRvbmU/KGdbQS5yZXN1bHROYW1lXT1RLnZhbHVlLGcubmV4dD1BLm5leHRMb2MsXFxcInJldHVyblxcXCIhPT1nLm1ldGhvZCYmKGcubWV0aG9kPVxcXCJuZXh0XFxcIixnLmFyZz1JKSxnLmRlbGVnYXRlPW51bGwscyk6UTooZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1uZXcgVHlwZUVycm9yKFxcXCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdFxcXCIpLGcuZGVsZWdhdGU9bnVsbCxzKX1mdW5jdGlvbiBLKEEpe3ZhciBJPXt0cnlMb2M6QVswXX07MSBpbiBBJiYoSS5jYXRjaExvYz1BWzFdKSwyIGluIEEmJihJLmZpbmFsbHlMb2M9QVsyXSxJLmFmdGVyTG9jPUFbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKEkpfWZ1bmN0aW9uIE4oQSl7dmFyIEk9QS5jb21wbGV0aW9ufHx7fTtJLnR5cGU9XFxcIm5vcm1hbFxcXCIsZGVsZXRlIEkuYXJnLEEuY29tcGxldGlvbj1JfWZ1bmN0aW9uIFkoQSl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOlxcXCJyb290XFxcIn1dLEEuZm9yRWFjaChLLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGUoQSl7aWYoQSl7dmFyIGc9QVtRXTtpZihnKXJldHVybiBnLmNhbGwoQSk7aWYoXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIEEubmV4dClyZXR1cm4gQTtpZighaXNOYU4oQS5sZW5ndGgpKXt2YXIgQz0tMSxFPWZ1bmN0aW9uIGcoKXtmb3IoOysrQzxBLmxlbmd0aDspaWYoQi5jYWxsKEEsQykpcmV0dXJuIGcudmFsdWU9QVtDXSxnLmRvbmU9ITEsZztyZXR1cm4gZy52YWx1ZT1JLGcuZG9uZT0hMCxnfTtyZXR1cm4gRS5uZXh0PUV9fXJldHVybntuZXh0Okp9fWZ1bmN0aW9uIEooKXtyZXR1cm57dmFsdWU6SSxkb25lOiEwfX1yZXR1cm4gVS5wcm90b3R5cGU9eSxvKG4sXFxcImNvbnN0cnVjdG9yXFxcIix5KSxvKHksXFxcImNvbnN0cnVjdG9yXFxcIixVKSxVLmRpc3BsYXlOYW1lPW8oeSxpLFxcXCJHZW5lcmF0b3JGdW5jdGlvblxcXCIpLEEuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbihBKXt2YXIgST1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQSYmQS5jb25zdHJ1Y3RvcjtyZXR1cm4hIUkmJihJPT09VXx8XFxcIkdlbmVyYXRvckZ1bmN0aW9uXFxcIj09PShJLmRpc3BsYXlOYW1lfHxJLm5hbWUpKX0sQS5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEseSk6KEEuX19wcm90b19fPXksbyhBLGksXFxcIkdlbmVyYXRvckZ1bmN0aW9uXFxcIikpLEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobiksQX0sQS5hd3JhcD1mdW5jdGlvbihBKXtyZXR1cm57X19hd2FpdDpBfX0sYyhyLnByb3RvdHlwZSksbyhyLnByb3RvdHlwZSxFLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLEEuQXN5bmNJdGVyYXRvcj1yLEEuYXN5bmM9ZnVuY3Rpb24oSSxnLEIsQyxRKXt2b2lkIDA9PT1RJiYoUT1Qcm9taXNlKTt2YXIgRT1uZXcgcihEKEksZyxCLEMpLFEpO3JldHVybiBBLmlzR2VuZXJhdG9yRnVuY3Rpb24oZyk/RTpFLm5leHQoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gQS5kb25lP0EudmFsdWU6RS5uZXh0KCl9KSl9LGMobiksbyhuLGksXFxcIkdlbmVyYXRvclxcXCIpLG8obixRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLG8obixcXFwidG9TdHJpbmdcXFwiLChmdW5jdGlvbigpe3JldHVyblxcXCJbb2JqZWN0IEdlbmVyYXRvcl1cXFwifSkpLEEua2V5cz1mdW5jdGlvbihBKXt2YXIgST1bXTtmb3IodmFyIGcgaW4gQSlJLnB1c2goZyk7cmV0dXJuIEkucmV2ZXJzZSgpLGZ1bmN0aW9uIGcoKXtmb3IoO0kubGVuZ3RoOyl7dmFyIEI9SS5wb3AoKTtpZihCIGluIEEpcmV0dXJuIGcudmFsdWU9QixnLmRvbmU9ITEsZ31yZXR1cm4gZy5kb25lPSEwLGd9fSxBLnZhbHVlcz1lLFkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZLHJlc2V0OmZ1bmN0aW9uKEEpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PUksdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD1cXFwibmV4dFxcXCIsdGhpcy5hcmc9SSx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChOKSwhQSlmb3IodmFyIGcgaW4gdGhpcylcXFwidFxcXCI9PT1nLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsZykmJiFpc05hTigrZy5zbGljZSgxKSkmJih0aGlzW2ddPUkpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFxcXCJ0aHJvd1xcXCI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24oQSl7aWYodGhpcy5kb25lKXRocm93IEE7dmFyIGc9dGhpcztmdW5jdGlvbiBDKEIsQyl7cmV0dXJuIGkudHlwZT1cXFwidGhyb3dcXFwiLGkuYXJnPUEsZy5uZXh0PUIsQyYmKGcubWV0aG9kPVxcXCJuZXh0XFxcIixnLmFyZz1JKSwhIUN9Zm9yKHZhciBRPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtRPj0wOy0tUSl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW1FdLGk9RS5jb21wbGV0aW9uO2lmKFxcXCJyb290XFxcIj09PUUudHJ5TG9jKXJldHVybiBDKFxcXCJlbmRcXFwiKTtpZihFLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgbz1CLmNhbGwoRSxcXFwiY2F0Y2hMb2NcXFwiKSxEPUIuY2FsbChFLFxcXCJmaW5hbGx5TG9jXFxcIik7aWYobyYmRCl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfWVsc2UgaWYobyl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCl9ZWxzZXtpZighRCl0aHJvdyBuZXcgRXJyb3IoXFxcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XFxcIik7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2c+PTA7LS1nKXt2YXIgQz10aGlzLnRyeUVudHJpZXNbZ107aWYoQy50cnlMb2M8PXRoaXMucHJldiYmQi5jYWxsKEMsXFxcImZpbmFsbHlMb2NcXFwiKSYmdGhpcy5wcmV2PEMuZmluYWxseUxvYyl7dmFyIFE9QzticmVha319USYmKFxcXCJicmVha1xcXCI9PT1BfHxcXFwiY29udGludWVcXFwiPT09QSkmJlEudHJ5TG9jPD1JJiZJPD1RLmZpbmFsbHlMb2MmJihRPW51bGwpO3ZhciBFPVE/US5jb21wbGV0aW9uOnt9O3JldHVybiBFLnR5cGU9QSxFLmFyZz1JLFE/KHRoaXMubWV0aG9kPVxcXCJuZXh0XFxcIix0aGlzLm5leHQ9US5maW5hbGx5TG9jLHMpOnRoaXMuY29tcGxldGUoRSl9LGNvbXBsZXRlOmZ1bmN0aW9uKEEsSSl7aWYoXFxcInRocm93XFxcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm5cXFwiYnJlYWtcXFwiPT09QS50eXBlfHxcXFwiY29udGludWVcXFwiPT09QS50eXBlP3RoaXMubmV4dD1BLmFyZzpcXFwicmV0dXJuXFxcIj09PUEudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPUEuYXJnLHRoaXMubWV0aG9kPVxcXCJyZXR1cm5cXFwiLHRoaXMubmV4dD1cXFwiZW5kXFxcIik6XFxcIm5vcm1hbFxcXCI9PT1BLnR5cGUmJkkmJih0aGlzLm5leHQ9SSksc30sZmluaXNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLmZpbmFsbHlMb2M9PT1BKXJldHVybiB0aGlzLmNvbXBsZXRlKGcuY29tcGxldGlvbixnLmFmdGVyTG9jKSxOKGcpLHN9fSxjYXRjaDpmdW5jdGlvbihBKXtmb3IodmFyIEk9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO0k+PTA7LS1JKXt2YXIgZz10aGlzLnRyeUVudHJpZXNbSV07aWYoZy50cnlMb2M9PT1BKXt2YXIgQj1nLmNvbXBsZXRpb247aWYoXFxcInRocm93XFxcIj09PUIudHlwZSl7dmFyIEM9Qi5hcmc7TihnKX1yZXR1cm4gQ319dGhyb3cgbmV3IEVycm9yKFxcXCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHRcXFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihBLGcsQil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOmUoQSkscmVzdWx0TmFtZTpnLG5leHRMb2M6Qn0sXFxcIm5leHRcXFwiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1JKSxzfX0sQX0oQS5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPUl9Y2F0Y2goQSl7XFxcIm9iamVjdFxcXCI9PXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXMucmVnZW5lcmF0b3JSdW50aW1lPUk6RnVuY3Rpb24oXFxcInJcXFwiLFxcXCJyZWdlbmVyYXRvclJ1bnRpbWUgPSByXFxcIikoSSl9fSw2NTQ6KCk9Pnt9LDIzMTooKT0+e30sNzAzOigpPT57fX0sST17fTtmdW5jdGlvbiBnKEIpe3ZhciBDPUlbQl07aWYodm9pZCAwIT09QylyZXR1cm4gQy5leHBvcnRzO3ZhciBRPUlbQl09e2V4cG9ydHM6e319O3JldHVybiBBW0JdKFEsUS5leHBvcnRzLGcpLFEuZXhwb3J0c31nLm49QT0+e3ZhciBJPUEmJkEuX19lc01vZHVsZT8oKT0+QS5kZWZhdWx0OigpPT5BO3JldHVybiBnLmQoSSx7YTpJfSksSX0sZy5kPShBLEkpPT57Zm9yKHZhciBCIGluIEkpZy5vKEksQikmJiFnLm8oQSxCKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQix7ZW51bWVyYWJsZTohMCxnZXQ6SVtCXX0pfSxnLmc9ZnVuY3Rpb24oKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oXFxcInJldHVybiB0aGlzXFxcIikoKX1jYXRjaChBKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxnLm89KEEsSSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEkpO3ZhciBCPXt9O3JldHVybigoKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiBBKEEsSSxnLEIsQyxRLEUpe3RyeXt2YXIgaT1BW1FdKEUpLG89aS52YWx1ZX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfWkuZG9uZT9JKG8pOlByb21pc2UucmVzb2x2ZShvKS50aGVuKEIsQyl9ZnVuY3Rpb24gSShJKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz10aGlzLEI9YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oQyxRKXt2YXIgRT1JLmFwcGx5KGcsQik7ZnVuY3Rpb24gaShJKXtBKEUsQyxRLGksbyxcXFwibmV4dFxcXCIsSSl9ZnVuY3Rpb24gbyhJKXtBKEUsQyxRLGksbyxcXFwidGhyb3dcXFwiLEkpfWkodm9pZCAwKX0pKX19ZnVuY3Rpb24gQyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpfWZ1bmN0aW9uIFEoQSxJKXtmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKyl7dmFyIEI9SVtnXTtCLmVudW1lcmFibGU9Qi5lbnVtZXJhYmxlfHwhMSxCLmNvbmZpZ3VyYWJsZT0hMCxcXFwidmFsdWVcXFwiaW4gQiYmKEIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIua2V5LEIpfX1mdW5jdGlvbiBFKEEsSSxnKXtyZXR1cm4gSSYmUShBLnByb3RvdHlwZSxJKSxnJiZRKEEsZyksQX1nLmQoQix7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPWcoNzU3KSxvPWcubihpKTtmdW5jdGlvbiBEKEEpe3JldHVybiBEPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJlxcXCJzeW1ib2xcXFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKEEpe3JldHVybiB0eXBlb2YgQX06ZnVuY3Rpb24oQSl7cmV0dXJuIEEmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJkEuY29uc3RydWN0b3I9PT1TeW1ib2wmJkEhPT1TeW1ib2wucHJvdG90eXBlP1xcXCJzeW1ib2xcXFwiOnR5cGVvZiBBfSxEKEEpfXZhciBhLHc9KGE9KGE9XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuY3VycmVudFNjcmlwdD9kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYzp2b2lkIDApfHxcXFwiL2luZGV4LmpzXFxcIixmdW5jdGlvbihBKXtBPXZvaWQgMCE9PShBPUF8fHt9KT9BOnt9O3ZhciBJLEI9e307Zm9yKEkgaW4gQSlBLmhhc093blByb3BlcnR5KEkpJiYoQltJXT1BW0ldKTt2YXIgQz1bXSxRPVxcXCIuL3RoaXMucHJvZ3JhbVxcXCIsRT1mdW5jdGlvbihBLEkpe3Rocm93IEl9LGk9ITEsbz0hMSx3PSExLEY9ITE7aT1cXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIHdpbmRvdz9cXFwidW5kZWZpbmVkXFxcIjpEKHdpbmRvdykpLG89XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGltcG9ydFNjcmlwdHMsdz1cXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIHByb2Nlc3M/XFxcInVuZGVmaW5lZFxcXCI6RChwcm9jZXNzKSkmJlxcXCJvYmplY3RcXFwiPT09RChwcm9jZXNzLnZlcnNpb25zKSYmXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsRj0haSYmIXcmJiFvO3ZhciBHLGgscyxSLFU9XFxcIlxcXCI7ZnVuY3Rpb24geShJKXtyZXR1cm4gQS5sb2NhdGVGaWxlP0EubG9jYXRlRmlsZShJLFUpOlUrSX13PyhVPW8/Zyg3MDMpLmRpcm5hbWUoVSkrXFxcIi9cXFwiOlxcXCIvL1xcXCIsRz1mdW5jdGlvbihBLEkpe3ZhciBCPWpnKEEpO3JldHVybiBCP0k/QjpCLnRvU3RyaW5nKCk6KHN8fChzPWcoMjMxKSksUnx8KFI9Zyg3MDMpKSxBPVIubm9ybWFsaXplKEEpLHMucmVhZEZpbGVTeW5jKEEsST9udWxsOlxcXCJ1dGY4XFxcIikpfSxoPWZ1bmN0aW9uKEEpe3ZhciBJPUcoQSwhMCk7cmV0dXJuIEkuYnVmZmVyfHwoST1uZXcgVWludDhBcnJheShJKSksSChJLmJ1ZmZlciksSX0scHJvY2Vzcy5hcmd2Lmxlbmd0aD4xJiYoUT1wcm9jZXNzLmFyZ3ZbMV0ucmVwbGFjZSgvXFxcXFxcXFwvZyxcXFwiL1xcXCIpKSxDPXByb2Nlc3MuYXJndi5zbGljZSgyKSxwcm9jZXNzLm9uKFxcXCJ1bmNhdWdodEV4Y2VwdGlvblxcXCIsKGZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIE5CKSl0aHJvdyBBfSkpLHByb2Nlc3Mub24oXFxcInVuaGFuZGxlZFJlamVjdGlvblxcXCIsSkEpLEU9ZnVuY3Rpb24oQSl7cHJvY2Vzcy5leGl0KEEpfSxBLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm5cXFwiW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF1cXFwifSk6Rj8oXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiByZWFkJiYoRz1mdW5jdGlvbihBKXt2YXIgST1qZyhBKTtyZXR1cm4gST9WZyhJKTpyZWFkKEEpfSksaD1mdW5jdGlvbihBKXt2YXIgSTtyZXR1cm4oST1qZyhBKSk/STpcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgcmVhZGJ1ZmZlcj9uZXcgVWludDhBcnJheShyZWFkYnVmZmVyKEEpKTooSChcXFwib2JqZWN0XFxcIj09PUQoST1yZWFkKEEsXFxcImJpbmFyeVxcXCIpKSksSSl9LFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2Ygc2NyaXB0QXJncz9DPXNjcmlwdEFyZ3M6dm9pZCAwIT09YXJndW1lbnRzJiYoQz1hcmd1bWVudHMpLFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBxdWl0JiYoRT1mdW5jdGlvbihBKXtxdWl0KEEpfSksXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBwcmludCYmKFxcXCJ1bmRlZmluZWRcXFwiPT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgcHJpbnRFcnI/cHJpbnRFcnI6cHJpbnQpKTooaXx8bykmJihvP1U9c2VsZi5sb2NhdGlvbi5ocmVmOmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxhJiYoVT1hKSxVPTAhPT1VLmluZGV4T2YoXFxcImJsb2I6XFxcIik/VS5zdWJzdHIoMCxVLmxhc3RJbmRleE9mKFxcXCIvXFxcIikrMSk6XFxcIlxcXCIsRz1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXFxcIkdFVFxcXCIsQSwhMSksSS5zZW5kKG51bGwpLEkucmVzcG9uc2VUZXh0fWNhdGNoKEkpe3ZhciBnPWpnKEEpO2lmKGcpcmV0dXJuIFZnKGcpO3Rocm93IEl9fSxvJiYoaD1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXFxcIkdFVFxcXCIsQSwhMSksSS5yZXNwb25zZVR5cGU9XFxcImFycmF5YnVmZmVyXFxcIixJLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoSS5yZXNwb25zZSl9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gZzt0aHJvdyBJfX0pKTt2YXIgdD1BLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLFM9QS5wcmludEVycnx8Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7Zm9yKEkgaW4gQilCLmhhc093blByb3BlcnR5KEkpJiYoQVtJXT1CW0ldKTtmdW5jdGlvbiBNKEEpe3ZhciBJPUFBW2lBPj4yXSxnPUkrQSsxNSYtMTY7cmV0dXJuIGc+U2coKSYmSkEoKSxBQVtpQT4+Ml09ZyxJfUI9bnVsbCxBLmFyZ3VtZW50cyYmKEM9QS5hcmd1bWVudHMpLEEudGhpc1Byb2dyYW0mJihRPUEudGhpc1Byb2dyYW0pLEEucXVpdCYmKEU9QS5xdWl0KTt2YXIgbixjLHIsaz17XFxcImY2NC1yZW1cXFwiOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEElSX0sZGVidWdnZXI6ZnVuY3Rpb24oKXt9fSxLPShuZXcgQXJyYXkoMCksMCksTj1mdW5jdGlvbihBKXtLPUF9LFk9ZnVuY3Rpb24oKXtyZXR1cm4gS307QS53YXNtQmluYXJ5JiYobj1BLndhc21CaW5hcnkpLEEubm9FeGl0UnVudGltZSYmKGM9QS5ub0V4aXRSdW50aW1lKSxcXFwib2JqZWN0XFxcIiE9PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIFdlYkFzc2VtYmx5P1xcXCJ1bmRlZmluZWRcXFwiOkQoV2ViQXNzZW1ibHkpKSYmUyhcXFwibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZFxcXCIpO3ZhciBlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7aW5pdGlhbDo4NzgsbWF4aW11bTo4NzgsZWxlbWVudDpcXFwiYW55ZnVuY1xcXCJ9KSxKPSExO2Z1bmN0aW9uIEgoQSxJKXtBfHxKQShcXFwiQXNzZXJ0aW9uIGZhaWxlZDogXFxcIitJKX1mdW5jdGlvbiBMKEEpe3JldHVybiBoQT9SQihBKTpNKEEpfXZhciBxPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFxcXCJ1dGY4XFxcIik6dm9pZCAwO2Z1bmN0aW9uIGQoQSxJLGcpe2Zvcih2YXIgQj1JK2csQz1JO0FbQ10mJiEoQz49Qik7KSsrQztpZihDLUk+MTYmJkEuc3ViYXJyYXkmJnEpcmV0dXJuIHEuZGVjb2RlKEEuc3ViYXJyYXkoSSxDKSk7Zm9yKHZhciBRPVxcXCJcXFwiO0k8Qzspe3ZhciBFPUFbSSsrXTtpZigxMjgmRSl7dmFyIGk9NjMmQVtJKytdO2lmKDE5MiE9KDIyNCZFKSl7dmFyIG89NjMmQVtJKytdO2lmKChFPTIyND09KDI0MCZFKT8oMTUmRSk8PDEyfGk8PDZ8bzooNyZFKTw8MTh8aTw8MTJ8bzw8Nnw2MyZBW0krK10pPDY1NTM2KVErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSk7ZWxzZXt2YXIgRD1FLTY1NTM2O1ErPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8RD4+MTAsNTYzMjB8MTAyMyZEKX19ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgzMSZFKTw8NnxpKX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSl9cmV0dXJuIFF9ZnVuY3Rpb24gZihBLEkpe3JldHVybiBBP2QoeixBLEkpOlxcXCJcXFwifWZ1bmN0aW9uIGwoQSxJLGcsQil7aWYoIShCPjApKXJldHVybiAwO2Zvcih2YXIgQz1nLFE9ZytCLTEsRT0wO0U8QS5sZW5ndGg7KytFKXt2YXIgaT1BLmNoYXJDb2RlQXQoRSk7aWYoaT49NTUyOTYmJmk8PTU3MzQzJiYoaT02NTUzNisoKDEwMjMmaSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK0UpKSxpPD0xMjcpe2lmKGc+PVEpYnJlYWs7SVtnKytdPWl9ZWxzZSBpZihpPD0yMDQ3KXtpZihnKzE+PVEpYnJlYWs7SVtnKytdPTE5MnxpPj42LElbZysrXT0xMjh8NjMmaX1lbHNlIGlmKGk8PTY1NTM1KXtpZihnKzI+PVEpYnJlYWs7SVtnKytdPTIyNHxpPj4xMixJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfWVsc2V7aWYoZyszPj1RKWJyZWFrO0lbZysrXT0yNDB8aT4+MTgsSVtnKytdPTEyOHxpPj4xMiY2MyxJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfX1yZXR1cm4gSVtnXT0wLGctQ31mdW5jdGlvbiB1KEEsSSxnKXtyZXR1cm4gbChBLHosSSxnKX1mdW5jdGlvbiBXKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKEI9NjU1MzYrKCgxMDIzJkIpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytnKSksQjw9MTI3PysrSTpJKz1CPD0yMDQ3PzI6Qjw9NjU1MzU/Mzo0fXJldHVybiBJfXZhciBwPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFxcXCJ1dGYtMTZsZVxcXCIpOnZvaWQgMDtmdW5jdGlvbiBaKEEpe2Zvcih2YXIgST1BLGc9ST4+MTtfW2ddOykrK2c7aWYoKEk9Zzw8MSktQT4zMiYmcClyZXR1cm4gcC5kZWNvZGUoei5zdWJhcnJheShBLEkpKTtmb3IodmFyIEI9MCxDPVxcXCJcXFwiOzspe3ZhciBRPV9bQSsyKkI+PjFdO2lmKDA9PVEpcmV0dXJuIEM7KytCLEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUSl9fWZ1bmN0aW9uIGIoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8MilyZXR1cm4gMDtmb3IodmFyIEI9SSxDPShnLT0yKTwyKkEubGVuZ3RoP2cvMjpBLmxlbmd0aCxRPTA7UTxDOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO19bST4+MV09RSxJKz0yfXJldHVybiBfW0k+PjFdPTAsSS1CfWZ1bmN0aW9uIHgoQSl7cmV0dXJuIDIqQS5sZW5ndGh9ZnVuY3Rpb24gbShBKXtmb3IodmFyIEk9MCxnPVxcXCJcXFwiOzspe3ZhciBCPUFBW0ErNCpJPj4yXTtpZigwPT1CKXJldHVybiBnO2lmKCsrSSxCPj02NTUzNil7dmFyIEM9Qi02NTUzNjtnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEM+PjEwLDU2MzIwfDEwMjMmQyl9ZWxzZSBnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpfX1mdW5jdGlvbiBYKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDQpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz1CK2ctNCxRPTA7UTxBLmxlbmd0aDsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtpZihFPj01NTI5NiYmRTw9NTczNDMmJihFPTY1NTM2KygoMTAyMyZFKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrUSkpLEFBW0k+PjJdPUUsKEkrPTQpKzQ+QylicmVha31yZXR1cm4gQUFbST4+Ml09MCxJLUJ9ZnVuY3Rpb24gVihBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJisrZyxJKz00fXJldHVybiBJfWZ1bmN0aW9uIE8oQSl7dmFyIEk9VyhBKSsxLGc9UkIoSSk7cmV0dXJuIGcmJmwoQSx2LGcsSSksZ31mdW5jdGlvbiBUKEEsSSl7di5zZXQoQSxJKX1mdW5jdGlvbiBqKEEsSSxnKXtmb3IodmFyIEI9MDtCPEEubGVuZ3RoOysrQil2W0krKz4+MF09QS5jaGFyQ29kZUF0KEIpO2d8fCh2W0k+PjBdPTApfXZhciBQLHYseixfLCQsQUEsSUEsZ0EsQkEsQ0E9NjU1MzY7ZnVuY3Rpb24gUUEoSSl7UD1JLEEuSEVBUDg9dj1uZXcgSW50OEFycmF5KEkpLEEuSEVBUDE2PV89bmV3IEludDE2QXJyYXkoSSksQS5IRUFQMzI9QUE9bmV3IEludDMyQXJyYXkoSSksQS5IRUFQVTg9ej1uZXcgVWludDhBcnJheShJKSxBLkhFQVBVMTY9JD1uZXcgVWludDE2QXJyYXkoSSksQS5IRUFQVTMyPUlBPW5ldyBVaW50MzJBcnJheShJKSxBLkhFQVBGMzI9Z0E9bmV3IEZsb2F0MzJBcnJheShJKSxBLkhFQVBGNjQ9QkE9bmV3IEZsb2F0NjRBcnJheShJKX12YXIgRUE9NTMwNDE3NixpQT02MTEwNCxvQT1BLlRPVEFMX01FTU9SWXx8MjY4NDM1NDU2O2Z1bmN0aW9uIERBKEkpe2Zvcig7SS5sZW5ndGg+MDspe3ZhciBnPUkuc2hpZnQoKTtpZihcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgZyl7dmFyIEI9Zy5mdW5jO1xcXCJudW1iZXJcXFwiPT10eXBlb2YgQj92b2lkIDA9PT1nLmFyZz9BLmR5bkNhbGxfdihCKTpBLmR5bkNhbGxfdmkoQixnLmFyZyk6Qih2b2lkIDA9PT1nLmFyZz9udWxsOmcuYXJnKX1lbHNlIGcoKX19KHI9QS53YXNtTWVtb3J5P0Eud2FzbU1lbW9yeTpuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOm9BL0NBLG1heGltdW06b0EvQ0F9KSkmJihQPXIuYnVmZmVyKSxvQT1QLmJ5dGVMZW5ndGgsUUEoUCksQUFbaUE+PjJdPUVBO3ZhciBhQT1bXSx3QT1bXSxGQT1bXSxHQT1bXSxoQT0hMTtmdW5jdGlvbiBzQSgpe2lmKEEucHJlUnVuKWZvcihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5wcmVSdW4mJihBLnByZVJ1bj1bQS5wcmVSdW5dKTtBLnByZVJ1bi5sZW5ndGg7KXRBKEEucHJlUnVuLnNoaWZ0KCkpO0RBKGFBKX1mdW5jdGlvbiBSQSgpe2hBPSEwLEEubm9GU0luaXR8fGlJLmluaXQuaW5pdGlhbGl6ZWR8fGlJLmluaXQoKSxRSS5pbml0KCksREEod0EpfWZ1bmN0aW9uIFVBKCl7aUkuaWdub3JlUGVybWlzc2lvbnM9ITEsREEoRkEpfWZ1bmN0aW9uIHlBKCl7aWYoQS5wb3N0UnVuKWZvcihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5wb3N0UnVuJiYoQS5wb3N0UnVuPVtBLnBvc3RSdW5dKTtBLnBvc3RSdW4ubGVuZ3RoOylTQShBLnBvc3RSdW4uc2hpZnQoKSk7REEoR0EpfWZ1bmN0aW9uIHRBKEEpe2FBLnVuc2hpZnQoQSl9ZnVuY3Rpb24gU0EoQSl7R0EudW5zaGlmdChBKX12YXIgTUE9TWF0aC5hYnMsbkE9TWF0aC5jZWlsLGNBPU1hdGguZmxvb3IsckE9TWF0aC5taW4sa0E9MCxLQT1udWxsLE5BPW51bGw7ZnVuY3Rpb24gWUEoSSl7a0ErKyxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSl9ZnVuY3Rpb24gZUEoSSl7aWYoa0EtLSxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSksMD09a0EmJihudWxsIT09S0EmJihjbGVhckludGVydmFsKEtBKSxLQT1udWxsKSxOQSkpe3ZhciBnPU5BO05BPW51bGwsZygpfX1mdW5jdGlvbiBKQShJKXt0aHJvdyBBLm9uQWJvcnQmJkEub25BYm9ydChJKSx0KEkrPVxcXCJcXFwiKSxTKEkpLEo9ITAsST1cXFwiYWJvcnQoXFxcIitJK1xcXCIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLlxcXCIsbmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihJKX1BLnByZWxvYWRlZEltYWdlcz17fSxBLnByZWxvYWRlZEF1ZGlvcz17fTt2YXIgSEE9XFxcImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxcXFwiO2Z1bmN0aW9uIExBKEEpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/QS5zdGFydHNXaXRoKEhBKTowPT09QS5pbmRleE9mKEhBKX12YXIgcUEsZEEsZkE9XFxcImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJqd2h6WUFGL0FYOWdBWDhBWUFKL2Z3Ri9ZQUovZndCZ0EzOS9md0YvWUFWL2YzOS9md0JnQTM5L2Z3QmdCSDkvZjM4QVlBVi9mMzkvZndGL1lBUi9mMzkvQVg5Z0JuOS9mMzkvZndGL1lBQUFZQVovZjM5L2YzOEFZQWQvZjM5L2YzOS9BR0FJZjM5L2YzOS9mMzhCZjJBSGYzOS9mMzkvZndGL1lBQUJmMkFCZlFGOVlBRi9BWHhnQlg5L2YzOThBWDlnQTM5K2Z3RitZQVYvZjM5L2ZnRi9ZQWgvZjM5L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBTi9mMzBBWUFOL2Yzd0FZQUovZkFCZ0JuOS9mMzkvZkFGL1lBTi9mMzhCZldBQ2ZYMEJmV0FDZjM4QmZHQURmMzkvQVh4Z0FueDhBWHhnQ1g5L2YzOS9mMzkvZndGL1lBWi9mSDkvZjM4QmYyQUVmMzkvZndGK1lBRjhBWHhnQlg5L2ZuOS9BR0FDZjMwQVlBcC9mMzkvZjM5L2YzOS9BWDlnREg5L2YzOS9mMzkvZjM5L2Z3Ri9ZQVYvZlgxL2Z3Ri9ZQUY5QVg5Z0FYOEJmV0FHZjM5L2YzOS9BWHhnQW54L0FYeGdEMzkvZjM5L2YzOS9mMzkvZjM5L2Z3QmdEWDkvZjM5L2ZYMTlmWDE5ZlgwQVlBUi9mMzk5QUdBRmYzOTlmWDhBWUFWL2ZYMTlmUUJnQm45OGZIOS9md0JnQzM5L2YzOS9mMzkvZjM5L0FYOWdFWDkvZjM5L2YzOS9mMzE5ZlgxOWZYMTlBWDlnQm45L2ZYMS9md0YvWUFKK2Z3Ri9ZQUY4QVg5Z0JIOS9mMzRCZm1BQ2YzOEJmV0FFZjM5L2Z3RjlZQU4vZlgwQmZXQUJmQUY5WUFsL2YzOS9mMzkvZjM4QVlCRi9mMzkvZjM5L2YzOTlmWDE5ZlgxOWZRQmdCbjkvZjM5L2ZRQmdDSDkvZjM5L2ZYMTlBR0FKZjM5L2YzOTlmWDE5QUdBRmYzOS9mWDBBWUFkL2YzOTlmWDEvQUdBRWYzOS9mQUJnQTM5L2ZnQmdCbjkvZlg5OWZ3QmdBbjkrQUdBRGYzNS9BR0FEZjMxOUFHQUVmMzE5ZndCZ0JuOTlmWDE5ZndCZ0JIOThmSDhBWUF4L2YzOS9mMzkvZjM5L2ZIOEJmMkFPZjM5L2YzOS9mMzkvZjN4L2YzOEJmMkFUZjM5L2YzOS9mMzkvZkg5L2YzOS9mMzkvZndGL1lBeC9mMzkvZjM5L2YzMS9mMzhCZjJBaWYzOS9mMzkvZjM5OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4ZndGL1lBZC9mMzkvZjM5OEFYOWdCMzkvZjM5OGYzOEJmMkFEZjM5OUFYOWdCWDkvZlgxL0FYOWdCMzkvZkg5L2YzOEJmMkFQZjM5OGZIeDhmSHg4Zkh4OGZIeDhBWDlnQkg5K2YzOEJmMkFDZjMwQmYyQUZmMzE5ZlgwQmYyQUNmM3dCZjJBRGZuOS9BWDlnQW4xL0FYOWdBbngvQVg5Z0FYOEJmbUFDZjM4QmZtQUNmbjRCZm1BRmYzOS9mMzhCZldBSGYzOS9mMzkvZndGOVlBZC9mMzkvZjM5OUFYMWdCbjkvZjM5L2ZRRjlZQVovZjM5L2ZYMEJmV0FFZjM5L2ZRRjlZQU4vZjMwQmZXQUZmMzE5ZjM4QmZXQUNmWDhCZldBRGZYMTlBWDFnQkgxOWZYMEJmV0FGZjM5L2YzOEJmR0FFZjM5OGZ3RjhZQU44Zkg4QmZHQURmSHg4QVh4Z0JueDhmSHg4ZkFGOEFwc0VQQU5sYm5ZQllRQUxBMlZ1ZGdGaUFBRURaVzUyQVdNQUFRTmxibllCWkFBQkEyVnVkZ0ZsQUFZRFpXNTJBV1lBQUFObGJuWUJad0FEQTJWdWRnRm9BQkFEWlc1MkFXa0FCZ05sYm5ZQmFnQU1BMlZ1ZGdGckFBVURaVzUyQVd3QUVBTmxibllCYlFBQkEyVnVkZ0Z1QUFBRFpXNTJBVzhBQVFObGJuWUJjQUFEQTJWdWRnRnhBQUlEWlc1MkFYSUFCUU5sYm5ZQmN3QUdBMlZ1ZGdGMEFBQURaVzUyQVhVQUFnTmxibllCZGdBREEyVnVkZ0YzQUFZRFpXNTJBWGdBR1FObGJuWUJlUUFBQTJWdWRnRjZBQUlEWlc1MkFVRUFBUU5sYm5ZQlFnQUhBMlZ1ZGdGREFBWURaVzUyQVVRQUNBaGhjMjB5ZDJGemJRZG1OalF0Y21WdEFDQURaVzUyQVVVQUNBTmxibllCUmdBSkEyVnVkZ0ZIQUFrRFpXNTJBVWdBQUFObGJuWUJTUUFrQTJWdWRnRktBQUFEWlc1MkFVc0FCQU5sYm5ZQlRBQUVBMlZ1ZGdGTkFCQURaVzUyQVU0QVVnTmxibllCVHdBUEEyVnVkZ0ZRQUJNRFpXNTJBVkVBV0FObGJuWUJVZ0FDQTJWdWRnRlRBQU1EWlc1MkFWUUFBd05sYm5ZQlZRQUZBMlZ1ZGdGV0FBa0RaVzUyQVZjQUNRTmxibllCV0FBQ0EyVnVkZ0ZaQUFJRFpXNTJBVm9BQWdObGJuWUJYd0FDQTJWdWRnRWtBQUVEWlc1MkRGOWZkR0ZpYkdWZlltRnpaUU4vQUFabmJHOWlZV3dEVG1GT0Ezd0FCbWRzYjJKaGJBaEpibVpwYm1sMGVRTjhBQU5sYm5ZR2JXVnRiM0o1QWdHQUlJQWdBMlZ1ZGdWMFlXSnNaUUZ3QWU0RzdnWUR5QXZHQ3dJQkFnSURBUWNDQVFNQ0FDb0FCQUVCQWdFREF3UThBZ0lDQUFBQUFBRURBd0JxS3dZUUFnRURBQWtBQVFRR0Nna0NFUUVCQWlrREFRQUFCamdBQlFVSUJ3TUNBd2dFQmdCdEJFZ0VBeHdBQXdFRUFBSURHaXdEUFQwcUNSZ0JBd29JQ0FnSkFCMENMUWdjQXc0T0Npa0dCZ2tHVkFRSkF3Y0NBZ0FDQUFRRE1BWVlBQ29HQURjQ0F3SUdBZ0lBQWdFSEJ3NEdBd1luQVNjQUVTQndCZ0FKQ1FKbFpBTUJIUVlHTVFNZEF6WUNCQUlEQ0FZQ0JnTUNBdzBEQUFZQVlnd0NCd1pPQmdvZE9nTUFBZ01EQWdOcEJ3TUNGUk1DQXdjQUFBME5CQThQQVFNQkFRSURBUVVESHlNRkNRZ0VCQUFBQUFJUUFBUURCQU1BQmdZQkF3TUZBUUFoQndKREF5d0FCd01DQVFNQkFRSVdiREVCQXdFREJ3TUJBUU1IQVFNSEFRd0hEQVVEQUFNSUFRQW9CUjRBS0FVQkFRRUJjZ3h4QndZR0VSRVJBQUFCWGdoZkl3a0dBQUFIQWprQ0FBRUFTUzBDQmdBdElDQmhIemxHQkFJRUFBRUFFQVFCQVFNQUFRY0NBUUlBQVFrQkFnRUFBd01aQmhnQkFRTlpEd1lNQUFFQkF3RUJCZ0FEQVRvbkF3TXJWVUFQQnc0SEJ3RUhBd0VCQVFNREF3RURid0lEQms4QURBQURFQU1EQXdFQ0FRRUJDZ0VHQVJFUkJBTURBd01EQVFNSEFrd0RCZ0VBVmpZTkhBb0pCeVVOQmhvVUR4c0pBd1VXQmhZR0JnVUlBUUVCQVFnQkRnQUVMaGN1RnpRR05BTURBUXdCQVFVTURBTUpCUXdNQUEwSkRRUUtDU01KQ1NNY0h4OEVDZ1lDQWdBQkFRRUJBd0VBQnlVRUF3RUVBUUVCQVFFQkFUTUxCd0VCQkIwa0pBa0dBZ1lHQUFCZ0NBSUJCQVJyQkFBRUJnWUxBeEFKQWdJQkJBSTNYUUlFQXlJNEF3UUNJQ3h1QkFnQ0JBUUNBUUlBQWdRQkNSUUVFQlFFQUFBQUFnRUdBUU1CQXdFQUFBQUhBQUFDQUFBQkFRRUlBQWdCQ2dvSkNRRUVCd2NIQndjQkF3Y0hBUWNCQXdjTkJ3Z05BUVVGQlFVRkJRVUZBQVVIQndjSEJ3MEJEUTBOQXdjSEJ3TUJBd0VCQVFFQkFRRUJBUUFCQWdJQ0FnSUJBZ0lCQWdBQkFRTUJBUUVDQUFFQkFnSUNBQUlDQWdFQkFRSURBd0FCQXdVRkJRVUZCUVVEQlFVRkJRVUZCUVVGQlFnRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFFQkR3Sm1Zd3dGQ0FRREFnQURDUU1CQVFJRUJBa0VCQUVHQWdJQUhnRUJDQUVHQUFNQUF3QURFZ3NtQUFNQUF3QURFaG9TR2dzUVVBc0JBQUFDQWdJRUFBQUdDQUFDQWdRRUFnUUxBQUFDQWdJQ0FBQUVDd3NTQVFFR0F3SUJBd0lCQXc4REF3WUdCand5QmdNMU5UOEhFQUVHSEVvSFFsc0JMd2NITWdFQkF3TUNCZ1lIQmdNQkF3WURBd2NIQXk4TUFnZ0RBQUFBQUFBRUFBQUNCQUlDQWdJQ0FnSUNBajVISVFjQmFBSWhBZzVSQ1RzRUNna0VDUU1EQXdJSEF3TUJBd01EQXdNR0JnWURCZzBEQVFJQkFRRVpDQUVEQXdZR0R3Y0dBd01GRHdNRkJnY0NBUWNDQXdNREFRRUJBUUVDQVFFQkFRb0dDa3NSUVFNRkFRY0FBUU1CQXdNSEF3TURCd0VEQVFjRkJRSUJBUUlEQXdObkRRME5Ld01HQWdJRUR3TmNBd1lXQTBRREFRTUdBd0VEQVFNREF3TUJBZ01EQXdFQkFnWURBUUVEQXdjREF3TUNDQUVJQ0FnSUNnb0RBUUVEQXdNREFnUUNBZ0FDQVFRcEFRb0NGdzBvQXdBQU93QUJDQWdBRFFnQkR4Z1pBQ1lMQUNJUUhoSmFGZzBNQlFjd1JRRWhEZ0FQVXdvYkNBa0VWd0lBQmg4ZUpBTUFBZ1lHQmdNQ0NBWUJBd0VEQ0FRSkFnUUNBUVFDQ1FrSkJBTURBd0FBQVFNREF3QUFBUUlJQkFrQ0JBSUVBZ0VCQVFvS0JBZ09EZ0VBQ0FBSURnNElDZ29FQ0E0T0RBd0tHd29iRndZUER4Y0dEd2dQREE4UEJ3VUZCUU1NQndVRkJRVUZCUU1MQ3dzQUFBQUFBQUFBRGdvS0Nnb0tCd1VGQlF3SEJRVUZCUVVCQlFzTEN3QUFBQVFBQUFBQURnb0tDZ29LQndnVEV4VUlGUWdJQ0FnVEV4VUlGUWdJQ0FnRUNBZ0NDQWdJQ0FvS0Nnb0tDZ29TQ2dvSUNBZ0lDQWdJQ0FFQkJnRUFDZ29LQ2dvS0Nnb0tCQWNJQkFFSENBRUNBQUFEQWdBQUFBTUNCQU1DQkFOTkNBUUVBQVFFQUFRQkFSQUFDd3NMQ3dzekN3c0xDd3NMQ3dzTEN3c0xDeEFRRUFzSEJRd0VBUUFIQlF3RUJ3VU1CQXNIQ0JBQUJoY0Vmd0ZCQUF0L0FVRUFDMzhCUVFBTGZ3RkI4TjREQ3dlVEFpNENZV0VBblFjQ1ltRUE1UXNDWTJFQSt3UUNaR0VBMFFzQ1pXRUE0QVFDWm1FQTZRc0NaMkVBb0FVQ2FHRUEwZ3NDYVdFQTV3c0NhbUVBNWdzQ2EyRUE2QXNDYkdFQU9BSnRZUUJFQW01aEFONEpBbTloQU53SkFuQmhBTnNKQW5GaEFOa0pBbkpoQU5nSkFuTmhBTmNKQW5SaEFOWUpBblZoQU5VSkFuWmhBTlFKQW5kaEFOTUpBbmhoQU5JSkFubGhBTkVKQW5waEFOQUpBa0ZoQU00SkFrSmhBTTBKQWtOaEFMa0pBa1JoQUxjSkFrVmhBTXdKQWtaaEFLNERBa2RoQUs4REFraGhBTEVEQWtsaEFMQURBa3BoQU1zSkFrdGhBTW9KQWt4aEFNa0pBazFoQU1nSkFrNWhBTWNKQWs5aEFNWUpBbEJoQU1VSkFsRmhBTFlKQWxKaEFQd0xBbE5oQUpnSkFsUmhBUHNMQ2FFTEFRQWpBQXZ1QnNNSitnYjRCdThHd2duakJzRUovUVpZeGdpakJYL3ZDMzkvMFFUTkMzOS8wUVRLQzhvRXlnUytDNzBMdVF1NEM3Y0U3QXJyQ3VvSzZRcm5DdVlLNVFxM0JNNEt6UXJNQ3NzS3lnckpDc2dLa1FLUkFuK1JBcEVDZjVBQ2tBSi9rQUtRQW45L2Y2QUVtZ3AvbUFxRENvSUsvUW44Q2Q4QzN3TGZBbjkvb0FTdUJmc0ZSS1FGbWdlWkI1UUhrd2VMQjRnSGh3ZUNCNEVIOWdiMEJ2SUc3UWJyQnVrRzRnYWZCbzhHaHdaL3RnVzFCYk1Gc2dWWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWXdBbUpCWHFWQ0tZSG93ZWJBcHNDbXdLYkFzTUx3QXU3QzdjTGpRcUxDb2tLOUFueENlOEpoUXFtQlpnSGx3ZVdCNVVIa0FlTkI0d0hoUWVFQjRNSDJBYmdCc2tHbkFhWUJwY0dsZ2FVQnBNR2tnYUdCb1FHZ3dhQkJvQUcvd1grQmYwRmVucDZlbnA2ZW5wNmVucDZlbnA2ZW1TaUJaOEZnZ1gzQyswTDFBVE9DOHdMMUFUTEM4a0x4QXZCQzdJTHJ3dWhCS0VFakFxS0NvY0srQW56Q2ZBSjdRbkRCWnNIa1FlUEI0NEhoZ2ZhQnQwR3RRR3ZBcFVGWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkswQmlBcjNDZllKOVFudUNkUUd3UVhBQmEwQnJRR3RBYTBCclFHdEFhMEJqQUwvQ3Y0SzlncjFDb3dDakFLTUFwZ0J0UXV4QzRRTGd3dUJDL3dLK3dyNkN2Z0s5QXJoQXFJS213cVpDb1lLN0FuaEFwNEs0UUtVQ3J3RnVnV1lBWmdCbUFHWUFaZ0JtQUdZQVpnQm1BR09CS29LcUFxT0JHYXVDNjBMckF1ckM4WUV4Z1NxQzZrTHFBdW5DNllMbUF1WEM1VUxsQXU4Qkx3RWt3dVNDNUVMa0F1UEMvSUs4UXJ3Q3U4SzdnclVDdE1LMGdyUkN0QUtxUXFuQ3I4RnZnVm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptYU5CTFlLdFFxekNyRUtyZ3F0Q28wRXlnSHRDczhLcEFxakNwMEtuQXFmQko4RWxncVZDc29CeWdIS0Fjb0J5Z0dMQW9JTGdBdjVDdmNLaXdLTEFvc0NqQVNoQlo0RmpBUytDZmdMUnNjQzJRakdBdGdJN1FQSENHTmVsZ2hlWHFjSFhsNmtCMTVqWG1Oalh1TUU0Z1RpQkY1ZW5RTFBDOVlFN1FMUUJPd0NtZ0xyQXM0RXpRU2FBdXNDemdUTkJKa0M2Z0xNQk1zRW1RTHFBc3dFeXdUc0F1MEM3QUx0QW1OZXRndGpYbU5lWTE1alhtTmVZMTVqWHE0RXJRU3VCSzBFWTE1alhtTmVZMTVqWG1OZVkxNWpYbU5lWTE1alhsNmVCSmNLbkFTUUNwc0VqZ3FhQklRS21RVCtDVjVlWGw1ZXNnbW5CWUFIeGdhZ0JtT2FCcGtHalFhbkE0d0dnZ1pqaVFhSUJ2a0YrQVZqeVFYUEJkWUZZK2NGelFWanZRVzVCYmNGclFXckJha0ZwQXVpQzJNNFJrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1Jvc0Urd2I1Qm9zRXZRbnhCcUlCbkFLY0FzVUx3Z3UvQzdvTGp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxUVN1QWE0Qmp3R1BBWThCcVFTdUFhNEJuQUtjQW9FS2dBci9DZnNKK2duNUNhRUc5d2IxQnZNRzdnYnNCdW9HcmdPZEJzb0YwQVhyQmU4RnJnS3NCYW9GaUFXaUFhSUJvZ0dpQWFJQm9nR2lBYUlCdXdtdkE3b0pzUU9LQktnRnNBT0tCTWtCOUF2d0Mrb0wwZ1RTQkxRTHNBczkwd1hSQmVVRjVBWGpCZUlGNFFYdUJlMEY3QVhPQmN3Rnl3WElCY2NGeGdYRkJjUUZ5UUhKQWNrQnlRSEpBWGIxQy9FTDZ3dWpCcVFHcFFhbUJxY0dxQWFxQnFzR3JBYXRCcTRHcndhd0JyRUdzZ2F6QnJVR3RnYTNCcmdHdVFhNkJyc0d2QWE5QnI0R3Z3YkFCc0VHd2diREJxSUd4QWJGQnVBRjNnWGRCZHdGMndYYUJka0YyQVhYQlhaMmRuWjJkbloyZG5aMmRuWjJkbloyM0FMMkMvSUw3QXVtQ3FVSzNBTGNBb2tFMVFYU0JlWUY2Z1hwQmVnRmlRU0lCTk1FMHdTSUJBcXFpeDdHQ3cwQUlBQWdBU0FCRUdBUW53a0x5UTBCQ1g4Z0FFVUVRQThMUWJ6UkF5Z0NBQ0VFSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0pCZUhFaUFHb2hCU0FDUVFGeEJIOGdBd1VDZnlBREtBSUFJUUVnQWtFRGNVVUVRQThMSUFNZ0FXc2lBeUFFU1FSQUR3c2dBQ0FCYWlFQUlBTkJ3TkVES0FJQVJnUkFJQU1nQlNnQ0JDSUJRUU54UVFOSERRRWFRYlRSQXlBQU5nSUFJQVVnQVVGK2NUWUNCQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBRHdzZ0FVRURkaUVFSUFGQmdBSkpCRUFnQXlnQ0NDSUJJQU1vQWd3aUFrWUVRRUdzMFFOQnJORURLQUlBUVFFZ0JIUkJmM054TmdJQUJTQUJJQUkyQWd3Z0FpQUJOZ0lJQ3lBRERBRUxJQU1vQWhnaEJ5QURJQU1vQWd3aUFVWUVRQUpBSUFOQkVHb2lBa0VFYWlJRUtBSUFJZ0VFUUNBRUlRSUZJQUlvQWdBaUFVVUVRRUVBSVFFTUFnc0xBMEFDUUNBQlFSUnFJZ1FvQWdBaUJrVUVRQ0FCUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VDSUFZaEFRd0JDd3NnQWtFQU5nSUFDd1VnQXlnQ0NDSUNJQUUyQWd3Z0FTQUNOZ0lJQ3lBSEJIOGdBeUFES0FJY0lnSkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBVFlDQUNBQlJRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBQ2RFRi9jM0UyQWdBZ0F3d0RDd1VnQjBFUWFpSUNJQWRCRkdvZ0F5QUNLQUlBUmhzZ0FUWUNBQ0FESUFGRkRRSWFDeUFCSUFjMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNnQXdVZ0F3c0xDeUlISUFWUEJFQVBDeUFGS0FJRUlnaEJBWEZGQkVBUEN5QUlRUUp4QkVBZ0JTQUlRWDV4TmdJRUlBTWdBRUVCY2pZQ0JDQUFJQWRxSUFBMkFnQWdBQ0VDQlNBRlFjVFJBeWdDQUVZRVFFRzQwUU1nQUVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFNMkFnQWdBeUFBUVFGeU5nSUVRY0RSQXlnQ0FDQURSd1JBRHd0QndORURRUUEyQWdCQnRORURRUUEyQWdBUEMwSEEwUU1vQWdBZ0JVWUVRRUcwMFFNZ0FFRzAwUU1vQWdCcUlnQTJBZ0JCd05FRElBYzJBZ0FnQXlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUE4TElBaEJBM1loQkNBSVFZQUNTUVJBSUFVb0FnZ2lBU0FGS0FJTUlnSkdCRUJCck5FRFFhelJBeWdDQUVFQklBUjBRWDl6Y1RZQ0FBVWdBU0FDTmdJTUlBSWdBVFlDQ0FzRkFrQWdCU2dDR0NFSklBVW9BZ3dpQVNBRlJnUkFBa0FnQlVFUWFpSUNRUVJxSWdRb0FnQWlBUVJBSUFRaEFnVWdBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCQ2dDQUNJR1JRUkFJQUZCRUdvaUJDZ0NBQ0lHUlEwQkN5QUVJUUlnQmlFQkRBRUxDeUFDUVFBMkFnQUxCU0FGS0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFDQUZLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFJQVZHQkVBZ0JDQUJOZ0lBSUFGRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFKMFFYOXpjVFlDQUF3REN3VWdDVUVRYWlJQ0lBbEJGR29nQWlnQ0FDQUZSaHNnQVRZQ0FDQUJSUTBDQ3lBQklBazJBaGdnQlNnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dCU2dDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzTEN3c2dBeUFBSUFoQmVIRnFJZ0pCQVhJMkFnUWdBaUFIYWlBQ05nSUFJQU5Cd05FREtBSUFSZ1JBUWJUUkF5QUNOZ0lBRHdzTElBSkJBM1loQVNBQ1FZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdBellDQUNBQklBTTJBZ3dnQXlBQk5nSUlJQU1nQURZQ0RBOExJQUpCQ0hZaUFBUi9JQUpCLy8vL0Iwc0VmMEVmQlNBQUlBQkJnUDQvYWtFUWRrRUljU0lCZENJRVFZRGdIMnBCRUhaQkJIRWhBRUVPSUFBZ0FYSWdCQ0FBZENJQVFZQ0FEMnBCRUhaQkFuRWlBWEpySUFBZ0FYUkJEM1pxSWdCQkFYUWdBaUFBUVFkcWRrRUJjWElMQlVFQUN5SUJRUUowUWR6VEEyb2hBQ0FESUFFMkFod2dBMEVBTmdJVUlBTkJBRFlDRUVHdzBRTW9BZ0FpQkVFQklBRjBJZ1p4QkVBQ1FDQUNJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0FrRUFRUmtnQVVFQmRtc2dBVUVmUmh0MElRUURRQ0FBUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBUkJBWFFoQkNBQ0lBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQU0yQWdBZ0F5QUFOZ0lZSUFNZ0F6WUNEQ0FESUFNMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FETmdJTUlBRWdBellDQ0NBRElBQTJBZ2dnQXlBQk5nSU1JQU5CQURZQ0dBc0ZRYkRSQXlBRUlBWnlOZ0lBSUFBZ0F6WUNBQ0FESUFBMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F0QnpORURRY3pSQXlnQ0FFRi9haUlBTmdJQUlBQUVRQThMUWZUVUF5RUFBMEFnQUNnQ0FDSURRUWhxSVFBZ0F3MEFDMEhNMFFOQmZ6WUNBQXNrQUNBQkJIOGdBRUdBZ0lDQWVFWWdBVUYvUm5FRWYwRUFCU0FBSUFGdEN3VkJBQXNMSUFFQmZ5QUFLQUlBSVFJZ0FSQ2xDeUVCSUFJb0FnZ2dBVUVDZEdvb0FnQUxEQUFnQUNBQlFSeHFFT3NKQ3prQkFYOGdBQ2dDQUNJQUtBSUVJUUVnQUNBQlFYOXFOZ0lFSUFGRkJFQWdBQ2dDQUNnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3czhBQ01HSVFBakJrRVFhaVFHSUFKQkFFZEIwSVVCS0FJQUlBRk1jUVJBSUFJc0FBQUVRQ0FBSUFNMkFnQWdBU0FDSUFBUTJna0xDeUFBSkFZTGlnSUJCMzhqQmlFREl3WkJFR29rQmlBRFFReHFJUUlnQXlBQUVKZ0NJQU1zQUFBRVFDQUNJQUFnQUNnQ0FFRjBhaWdDQUdvUU95QUNRYmpPQXhBNklRY2dBaEE4SUFBZ0FDZ0NBRUYwYWlnQ0FHb2lCU2dDR0NFSVFYOGdCU2dDVEJCQkJFQWdBaUFGRURzZ0FrR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRWdJQVpCUDNGQmlnRnFFUUlBSVFRZ0FoQThJQVVnQkVFWWRFRVlkU0lFTmdKTUJTQUZLQUpNSVFRTElBY29BZ0FvQWhBaEJpQURJQWcyQWdnZ0FpQURLQUlJTmdJQUlBY2dBaUFGSUFSQi93RnhJQUVnQmtFZmNVR2lBbW9SQ0FCRkJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlJQklBRW9BaEJCQlhJUTdnRUxDeUFERUpjQ0lBTWtCaUFBQzRVQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQVJBSUFFZ0FCQ1lBaUFCTEFBQUJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dDSUNLQUlBS0FJWUlRTWdBaUFEUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQVJDWEFnc2dBU1FHQzZnQkFRUi9Jd1loQWlNR1FSQnFKQVlnQWlBQUVKZ0NJQUlzQUFBRVFBSkFJQUFnQUNnQ0FFRjBhaWdDQUdvb0FoZ2lBeUVFSUFNRVFDQUVLQUlZSWdVZ0JDZ0NIRVlFZnlBREtBSUFLQUkwSVFNZ0JDQUJFRUlnQTBFL2NVR0tBV29SQWdBRklBUWdCVUVCYWpZQ0dDQUZJQUU2QUFBZ0FSQkNDMEYvRUVGRkRRRUxJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQWhDWEFpQUNKQVlMQndBZ0FDQUJSZ3NJQUNBQVFmOEJjUXM0QUNBQUlBQmNCSDlCZ0lDQWdIZ0ZJQUJEQUFBQVQyQUVmMEdBZ0lDQWVBVWdBRU1BQUFEUFh3Ui9RWUNBZ0lCNEJTQUFxQXNMQ3d1M05RRU1meU1HSVFvakJrRVFhaVFHSUFCQjlRRkpCRUJCck5FREtBSUFJZ1ZCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ0pCQTNZaUFIWWlBVUVEY1FSQUlBRkJBWEZCQVhNZ0FHb2lBa0VEZEVIVTBRTnFJZ0FvQWdnaUEwRUlhaUlFS0FJQUlRRWdBQ0FCUmdSQVFhelJBMEVCSUFKMFFYOXpJQVZ4TmdJQUJTQUJJQUEyQWd3Z0FDQUJOZ0lJQ3lBRElBSkJBM1FpQUVFRGNqWUNCQ0FBSUFOcUlnQWdBQ2dDQkVFQmNqWUNCQ0FLSkFZZ0JBOExJQUpCdE5FREtBSUFJZ2xMQkg4Z0FRUkFRUUlnQUhRaUEwRUFJQU5yY2lBQklBQjBjU0lBUVFBZ0FHdHhRWDlxSWdCQkRIWkJFSEVpQVNBQUlBRjJJZ0JCQlhaQkNIRWlBWElnQUNBQmRpSUFRUUoyUVFSeElnRnlJQUFnQVhZaUFFRUJka0VDY1NJQmNpQUFJQUYySWdCQkFYWkJBWEVpQVhJZ0FDQUJkbW9pQkVFRGRFSFUwUU5xSWdBb0FnZ2lBVUVJYWlJR0tBSUFJUU1nQUNBRFJnUkFRYXpSQTBFQklBUjBRWDl6SUFWeElnQTJBZ0FGSUFNZ0FEWUNEQ0FBSUFNMkFnZ2dCU0VBQ3lBQklBSkJBM0kyQWdRZ0FTQUNhaUlGSUFSQkEzUWlBeUFDYXlJRVFRRnlOZ0lFSUFFZ0Eyb2dCRFlDQUNBSkJFQkJ3TkVES0FJQUlRRWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEEwRUJJQUowSWdJZ0FIRUVmeUFEUVFocUlnSW9BZ0FGUWF6UkF5QUFJQUp5TmdJQUlBTkJDR29oQWlBREN5RUFJQUlnQVRZQ0FDQUFJQUUyQWd3Z0FTQUFOZ0lJSUFFZ0F6WUNEQXRCdE5FRElBUTJBZ0JCd05FRElBVTJBZ0FnQ2lRR0lBWVBDMEd3MFFNb0FnQWlDd1IvUVFBZ0Myc2dDM0ZCZjJvaUFFRU1ka0VRY1NJQklBQWdBWFlpQUVFRmRrRUljU0lCY2lBQUlBRjJJZ0JCQW5aQkJIRWlBWElnQUNBQmRpSUFRUUYyUVFKeElnRnlJQUFnQVhZaUFFRUJka0VCY1NJQmNpQUFJQUYyYWtFQ2RFSGMwd05xS0FJQUlnUWhBQ0FFS0FJRVFYaHhJQUpySVFnRFFBSkFJQUFvQWhBaUFRUkFJQUVoQUFVZ0FDZ0NGQ0lBUlEwQkN5QUFJQVFnQUNnQ0JFRjRjU0FDYXlJQklBaEpJZ01iSVFRZ0FTQUlJQU1iSVFnTUFRc0xJQUlnQkdvaURDQUVTd1IvSUFRb0FoZ2hCeUFFSUFRb0Fnd2lBRVlFUUFKQUlBUkJGR29pQVNnQ0FDSUFSUVJBSUFSQkVHb2lBU2dDQUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lBeWdDQUNJR1JRUkFJQUJCRUdvaUF5Z0NBQ0lHUlEwQkN5QURJUUVnQmlFQURBRUxDeUFCUVFBMkFnQUxCU0FFS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFjRVFBSkFJQVFnQkNnQ0hDSUJRUUowUWR6VEEyb2lBeWdDQUVZRVFDQURJQUEyQWdBZ0FFVUVRRUd3MFFOQkFTQUJkRUYvY3lBTGNUWUNBQXdDQ3dVZ0IwRVFhaUFIUVJScUlBUWdCeWdDRUVZYklBQTJBZ0FnQUVVTkFRc2dBQ0FITmdJWUlBUW9BaEFpQVFSQUlBQWdBVFlDRUNBQklBQTJBaGdMSUFRb0FoUWlBUVJBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDd3NnQ0VFUVNRUkFJQVFnQWlBSWFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRUJTQUVJQUpCQTNJMkFnUWdEQ0FJUVFGeU5nSUVJQWdnREdvZ0NEWUNBQ0FKQkVCQndORURLQUlBSVFBZ0NVRURkaUlDUVFOMFFkVFJBMm9oQVVFQklBSjBJZ0lnQlhFRWZ5QUJRUWhxSWdJb0FnQUZRYXpSQXlBQ0lBVnlOZ0lBSUFGQkNHb2hBaUFCQ3lFRElBSWdBRFlDQUNBRElBQTJBZ3dnQUNBRE5nSUlJQUFnQVRZQ0RBdEJ0TkVESUFnMkFnQkJ3TkVESUF3MkFnQUxJQW9rQmlBRVFRaHFEd1VnQWdzRklBSUxCU0FDQ3lFQUJTQUFRYjkvU3dSQVFYOGhBQVVDUUNBQVFRdHFJZ0ZCZUhFaEFFR3cwUU1vQWdBaUJRUkFRUUFnQUdzaEJBSkFBa0FnQVVFSWRpSUJCSDhnQUVILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnWkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JpQUJkQ0lHUVlDQUQycEJFSFpCQW5FaUNDQUJJQUp5Y21zZ0JpQUlkRUVQZG1vaUFVRUJkQ0FBSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ2RCQW5SQjNOTURhaWdDQUNJQkJIOUJBQ0VDSUFCQkFFRVpJQWRCQVhacklBZEJIMFliZENFR0EzOGdBU2dDQkVGNGNTQUFheUlJSUFSSkJFQWdDQVIvSUFnaEJDQUJCVUVBSVFRZ0FTRUNEQVFMSVFJTElBTWdBU2dDRkNJRElBTkZJQU1nQVVFUWFpQUdRUjkyUVFKMGFpZ0NBQ0lCUm5JYklRTWdCa0VCZENFR0lBRU5BQ0FDQ3dWQkFBc2lBU0FEY2dSL0lBTUZJQVZCQWlBSGRDSUJRUUFnQVd0eWNTSUNSUTBFUVFBaEFTQUNRUUFnQW10eFFYOXFJZ0pCREhaQkVIRWlBeUFDSUFOMklnSkJCWFpCQ0hFaUEzSWdBaUFEZGlJQ1FRSjJRUVJ4SWdOeUlBSWdBM1lpQWtFQmRrRUNjU0lEY2lBQ0lBTjJJZ0pCQVhaQkFYRWlBM0lnQWlBRGRtcEJBblJCM05NRGFpZ0NBQXNpQWcwQUlBRWhBd3dCQ3lBQklRTWdCQ0VCQTM4Z0FpZ0NCRUY0Y1NBQWF5SUlJQUZKSVFZZ0NDQUJJQVliSVFFZ0FpQURJQVliSVFNZ0FpZ0NFQ0lFUlFSQUlBSW9BaFFoQkFzZ0JBUi9JQVFoQWd3QkJTQUJDd3NoQkFzZ0F3UkFJQVJCdE5FREtBSUFJQUJyU1FSQUlBQWdBMm9pQnlBRFN3UkFJQU1vQWhnaENTQURJQU1vQWd3aUFVWUVRQUpBSUFOQkZHb2lBaWdDQUNJQlJRUkFJQU5CRUdvaUFpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJpZ0NBQ0lJUlFSQUlBRkJFR29pQmlnQ0FDSUlSUTBCQ3lBR0lRSWdDQ0VCREFFTEN5QUNRUUEyQWdBTEJTQURLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUFKQUlBTWdBeWdDSENJQ1FRSjBRZHpUQTJvaUJpZ0NBRVlFUUNBR0lBRTJBZ0FnQVVVRVFFR3cwUU1nQlVFQklBSjBRWDl6Y1NJQk5nSUFEQUlMQlNBSlFSQnFJQWxCRkdvZ0F5QUpLQUlRUmhzZ0FUWUNBQ0FCUlFSQUlBVWhBUXdDQ3dzZ0FTQUpOZ0lZSUFNb0FoQWlBZ1JBSUFFZ0FqWUNFQ0FDSUFFMkFoZ0xJQU1vQWhRaUFnUkFJQUVnQWpZQ0ZDQUNJQUUyQWhnTElBVWhBUXNGSUFVaEFRc2dCRUVRU1FSQUlBTWdBQ0FFYWlJQVFRTnlOZ0lFSUFBZ0Eyb2lBQ0FBS0FJRVFRRnlOZ0lFQlFKQUlBTWdBRUVEY2pZQ0JDQUhJQVJCQVhJMkFnUWdCQ0FIYWlBRU5nSUFJQVJCQTNZaEFpQUVRWUFDU1FSQUlBSkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUJRUUVnQW5RaUFuRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQnpZQ0FDQUJJQWMyQWd3Z0J5QUJOZ0lJSUFjZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFuUWlCa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUdJQUIwSWdaQmdJQVBha0VRZGtFQ2NTSUZJQUFnQW5KeWF5QUdJQVYwUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFBZ0J5QUNOZ0ljSUFkQkFEWUNGQ0FIUVFBMkFoQkJBU0FDZENJR0lBRnhSUVJBUWJEUkF5QUJJQVp5TmdJQUlBQWdCellDQUNBSElBQTJBaGdnQnlBSE5nSU1JQWNnQnpZQ0NBd0JDeUFFSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdCRUVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUUlEUUNBQVFSQnFJQUpCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQUpCQVhRaEFpQUVJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFjMkFnQWdCeUFBTmdJWUlBY2dCellDRENBSElBYzJBZ2dNQWdzTElBRW9BZ2dpQUNBSE5nSU1JQUVnQnpZQ0NDQUhJQUEyQWdnZ0J5QUJOZ0lNSUFkQkFEWUNHQXNMSUFva0JpQURRUWhxRHdzTEN3c0xDd3NDUUFKQVFiVFJBeWdDQUNJQ0lBQlBCRUJCd05FREtBSUFJUUVnQWlBQWF5SURRUTlMQkVCQndORURJQUFnQVdvaUJEWUNBRUcwMFFNZ0F6WUNBQ0FFSUFOQkFYSTJBZ1FnQVNBQ2FpQUROZ0lBSUFFZ0FFRURjallDQkFWQnRORURRUUEyQWdCQndORURRUUEyQWdBZ0FTQUNRUU55TmdJRUlBRWdBbW9pQUNBQUtBSUVRUUZ5TmdJRUN3d0JDd0pBUWJqUkF5Z0NBQ0lCSUFCTEJFQU1BUXNnQUVFdmFpSUZRWVRWQXlnQ0FBUi9RWXpWQXlnQ0FBVkJqTlVEUVlBZ05nSUFRWWpWQTBHQUlEWUNBRUdRMVFOQmZ6WUNBRUdVMVFOQmZ6WUNBRUdZMVFOQkFEWUNBRUhvMUFOQkFEWUNBRUdFMVFNZ0NrRndjVUhZcXRXcUJYTTJBZ0JCZ0NBTElnSnFJZ05CQUNBQ2F5SUljU0lHSUFCTkJFQU1Bd3RCNU5RREtBSUFJZ0lFUUNBR1FkelVBeWdDQUNJRWFpSUhJQVJOSUFjZ0FrdHlCRUFNQkFzTElBQkJNR29oQndKQUFrQkI2TlFES0FJQVFRUnhCRUJCQUNFQ0JRSkFBa0FDUUVIRTBRTW9BZ0FpQWtVTkFFSHMxQU1oQkFOQUFrQWdCQ2dDQUNJSklBSk5CRUFnQ1NBRUtBSUVhaUFDU3cwQkN5QUVLQUlJSWdRTkFRd0NDd3NnQ0NBRElBRnJjU0lDUWYvLy8vOEhTUVJBSUFJUXVnRWlBU0FFS0FJQUlBUW9BZ1JxUmdSQUlBRkJmMGNOQmdVTUF3c0ZRUUFoQWdzTUFndEJBQkM2QVNJQlFYOUdCSDlCQUFWQjNOUURLQUlBSWdRZ0JpQUJRWWpWQXlnQ0FDSUNRWDlxSWdOcVFRQWdBbXR4SUFGclFRQWdBU0FEY1J0cUlnSnFJUU1nQWtILy8vLy9CMGtnQWlBQVMzRUVmMEhrMUFNb0FnQWlDQVJBSUFNZ0JFMGdBeUFJUzNJRVFFRUFJUUlNQlFzTElBRWdBaEM2QVNJRFJnMEZJQU1oQVF3Q0JVRUFDd3NoQWd3QkN5QUJRWDlISUFKQi8vLy8vd2RKY1NBSElBSkxjVVVFUUNBQlFYOUdCRUJCQUNFQ0RBSUZEQVFMQUF0QmpOVURLQUlBSWdNZ0JTQUNhMnBCQUNBRGEzRWlBMEgvLy8vL0IwOE5Ba0VBSUFKcklRUWdBeEM2QVVGL1JnUi9JQVFRdWdFYVFRQUZJQUlnQTJvaEFnd0RDeUVDQzBIbzFBTkI2TlFES0FJQVFRUnlOZ0lBQ3lBR1FmLy8vLzhIU1FSQUlBWVF1Z0VoQVVFQUVMb0JJZ01nQVdzaUJpQUFRU2hxU3lFRUlBWWdBaUFFR3lFQ0lBUkJBWE1nQVVGL1JuSWdBVUYvUnlBRFFYOUhjU0FCSUFOSmNVRUJjM0pGRFFFTERBRUxRZHpVQXlBQ1FkelVBeWdDQUdvaUF6WUNBQ0FEUWVEVUF5Z0NBRXNFUUVIZzFBTWdBellDQUF0QnhORURLQUlBSWdNRVFBSkFRZXpVQXlFRUFrQUNRQU5BSUFFZ0JDZ0NBQ0lHSUFRb0FnUWlCV3BHRFFFZ0JDZ0NDQ0lFRFFBTERBRUxJQVFvQWd4QkNIRkZCRUFnQmlBRFRTQUJJQU5MY1FSQUlBUWdBaUFGYWpZQ0JDQURRUUFnQTBFSWFpSUJhMEVIY1VFQUlBRkJCM0ViSWdScUlRRWdBa0c0MFFNb0FnQnFJZ1lnQkdzaEFrSEUwUU1nQVRZQ0FFRzQwUU1nQWpZQ0FDQUJJQUpCQVhJMkFnUWdBeUFHYWtFb05nSUVRY2pSQTBHVTFRTW9BZ0EyQWdBTUF3c0xDeUFCUWJ6UkF5Z0NBRWtFUUVHODBRTWdBVFlDQUFzZ0FTQUNhaUVHUWV6VUF5RUVBa0FDUUFOQUlBWWdCQ2dDQUVZTkFTQUVLQUlJSWdRTkFBc01BUXNnQkNnQ0RFRUljVVVFUUNBRUlBRTJBZ0FnQkNBQ0lBUW9BZ1JxTmdJRUlBQWdBVUVBSUFGQkNHb2lBbXRCQjNGQkFDQUNRUWR4RzJvaUIyb2hCU0FHUVFBZ0JrRUlhaUlCYTBFSGNVRUFJQUZCQjNFYmFpSUNJQWRySUFCcklRUWdCeUFBUVFOeU5nSUVJQUlnQTBZRVFFRzQwUU1nQkVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFVMkFnQWdCU0FBUVFGeU5nSUVCUUpBSUFKQndORURLQUlBUmdSQVFiVFJBeUFFUWJUUkF5Z0NBR29pQURZQ0FFSEEwUU1nQlRZQ0FDQUZJQUJCQVhJMkFnUWdBQ0FGYWlBQU5nSUFEQUVMSUFJb0FnUWlDVUVEY1VFQlJnUkFJQWxCQTNZaEF5QUpRWUFDU1FSQUlBSW9BZ2dpQUNBQ0tBSU1JZ0ZHQkVCQnJORURRYXpSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQVVnQUNBQk5nSU1JQUVnQURZQ0NBc0ZBa0FnQWlnQ0dDRUlJQUlnQWlnQ0RDSUFSZ1JBQWtBZ0FrRVFhaUlCUVFScUlnTW9BZ0FpQUFSQUlBTWhBUVVnQWlnQ0VDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQmlnQ0FDSURSUVJBSUFCQkVHb2lCaWdDQUNJRFJRMEJDeUFHSVFFZ0F5RUFEQUVMQ3lBQlFRQTJBZ0FMQlNBQ0tBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBaEZEUUFnQWlBQ0tBSWNJZ0ZCQW5SQjNOTURhaUlES0FJQVJnUkFBa0FnQXlBQU5nSUFJQUFOQUVHdzBRTkJzTkVES0FJQVFRRWdBWFJCZjNOeE5nSUFEQUlMQlNBSVFSQnFJQWhCRkdvZ0FpQUlLQUlRUmhzZ0FEWUNBQ0FBUlEwQkN5QUFJQWcyQWhnZ0FpZ0NFQ0lCQkVBZ0FDQUJOZ0lRSUFFZ0FEWUNHQXNnQWlnQ0ZDSUJSUTBBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDeUFDSUFsQmVIRWlBR29oQWlBQUlBUnFJUVFMSUFJZ0FpZ0NCRUYrY1RZQ0JDQUZJQVJCQVhJMkFnUWdCQ0FGYWlBRU5nSUFJQVJCQTNZaEFTQUVRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQlRZQ0FDQUJJQVUyQWd3Z0JTQUJOZ0lJSUFVZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFYUWlBa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUNJQUIwSWdKQmdJQVBha0VRZGtFQ2NTSURJQUFnQVhKeWF5QUNJQU4wUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQVVFQ2RFSGMwd05xSVFBZ0JTQUJOZ0ljSUFWQkFEWUNGQ0FGUVFBMkFoQkJzTkVES0FJQUlnSkJBU0FCZENJRGNVVUVRRUd3MFFNZ0FpQURjallDQUNBQUlBVTJBZ0FnQlNBQU5nSVlJQVVnQlRZQ0RDQUZJQVUyQWdnTUFRc2dCQ0FBS0FJQUlnQW9BZ1JCZUhGR0JFQWdBQ0VCQlFKQUlBUkJBRUVaSUFGQkFYWnJJQUZCSDBZYmRDRUNBMEFnQUVFUWFpQUNRUjkyUVFKMGFpSURLQUlBSWdFRVFDQUNRUUYwSVFJZ0JDQUJLQUlFUVhoeFJnMENJQUVoQUF3QkN3c2dBeUFGTmdJQUlBVWdBRFlDR0NBRklBVTJBZ3dnQlNBRk5nSUlEQUlMQ3lBQktBSUlJZ0FnQlRZQ0RDQUJJQVUyQWdnZ0JTQUFOZ0lJSUFVZ0FUWUNEQ0FGUVFBMkFoZ0xDeUFLSkFZZ0IwRUlhZzhMQzBIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lHSUFOTkJFQWdCaUFFS0FJRWFpSUdJQU5MRFFFTElBUW9BZ2doQkF3QkN3dEJ4TkVESUFGQkFDQUJRUWhxSWdSclFRZHhRUUFnQkVFSGNSc2lCR29pQlRZQ0FFRzQwUU1nQWtGWWFpSUlJQVJySWdRMkFnQWdCU0FFUVFGeU5nSUVJQUVnQ0dwQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUlBTkJBQ0FHUVZGcUlnUkJDR29pQld0QkIzRkJBQ0FGUVFkeEd5QUVhaUlFSUFRZ0EwRVFha2tiSWdSQkd6WUNCQ0FFUWV6VUF5a0NBRGNDQ0NBRVFmVFVBeWtDQURjQ0VFSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSDAxQU1nQkVFSWFqWUNBQ0FFUVJocUlRRURRQ0FCUVFScUlnSkJCellDQUNBQlFRaHFJQVpKQkVBZ0FpRUJEQUVMQ3lBRElBUkhCRUFnQkNBRUtBSUVRWDV4TmdJRUlBTWdCQ0FEYXlJR1FRRnlOZ0lFSUFRZ0JqWUNBQ0FHUVFOMklRSWdCa0dBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlCRUVCSUFKMElnSnhCSDhnQVVFSWFpSUVLQUlBQlVHczBRTWdBaUFFY2pZQ0FDQUJRUWhxSVFRZ0FRc2hBaUFFSUFNMkFnQWdBaUFETmdJTUlBTWdBallDQ0NBRElBRTJBZ3dNQWdzZ0JrRUlkaUlCQkg4Z0JrSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1JCZ09BZmFrRVFka0VFY1NFQlFRNGdCQ0FCZENJRVFZQ0FEMnBCRUhaQkFuRWlCU0FCSUFKeWNtc2dCQ0FGZEVFUGRtb2lBVUVCZENBR0lBRkJCMnAyUVFGeGNnc0ZRUUFMSWdKQkFuUkIzTk1EYWlFQklBTWdBallDSENBRFFRQTJBaFFnQTBFQU5nSVFRYkRSQXlnQ0FDSUVRUUVnQW5RaUJYRkZCRUJCc05FRElBUWdCWEkyQWdBZ0FTQUROZ0lBSUFNZ0FUWUNHQ0FESUFNMkFnd2dBeUFETmdJSURBSUxJQVlnQVNnQ0FDSUJLQUlFUVhoeFJnUkFJQUVoQWdVQ1FDQUdRUUJCR1NBQ1FRRjJheUFDUVI5R0czUWhCQU5BSUFGQkVHb2dCRUVmZGtFQ2RHb2lCU2dDQUNJQ0JFQWdCRUVCZENFRUlBWWdBaWdDQkVGNGNVWU5BaUFDSVFFTUFRc0xJQVVnQXpZQ0FDQURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdEQ3dzZ0FpZ0NDQ0lCSUFNMkFnd2dBaUFETmdJSUlBTWdBVFlDQ0NBRElBSTJBZ3dnQTBFQU5nSVlDd3NGUWJ6UkF5Z0NBQ0lEUlNBQklBTkpjZ1JBUWJ6UkF5QUJOZ0lBQzBIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIUTBRTkJoTlVES0FJQU5nSUFRY3pSQTBGL05nSUFRZURSQTBIVTBRTTJBZ0JCM05FRFFkVFJBellDQUVIbzBRTkIzTkVETmdJQVFlVFJBMEhjMFFNMkFnQkI4TkVEUWVUUkF6WUNBRUhzMFFOQjVORUROZ0lBUWZqUkEwSHMwUU0yQWdCQjlORURRZXpSQXpZQ0FFR0EwZ05COU5FRE5nSUFRZnpSQTBIMDBRTTJBZ0JCaU5JRFFmelJBellDQUVHRTBnTkIvTkVETmdJQVFaRFNBMEdFMGdNMkFnQkJqTklEUVlUU0F6WUNBRUdZMGdOQmpOSUROZ0lBUVpUU0EwR00wZ00yQWdCQm9OSURRWlRTQXpZQ0FFR2MwZ05CbE5JRE5nSUFRYWpTQTBHYzBnTTJBZ0JCcE5JRFFaelNBellDQUVHdzBnTkJwTklETmdJQVFhelNBMEdrMGdNMkFnQkJ1TklEUWF6U0F6WUNBRUcwMGdOQnJOSUROZ0lBUWNEU0EwRzAwZ00yQWdCQnZOSURRYlRTQXpZQ0FFSEkwZ05Cdk5JRE5nSUFRY1RTQTBHODBnTTJBZ0JCME5JRFFjVFNBellDQUVITTBnTkJ4TklETmdJQVFkalNBMEhNMGdNMkFnQkIxTklEUWN6U0F6WUNBRUhnMGdOQjFOSUROZ0lBUWR6U0EwSFUwZ00yQWdCQjZOSURRZHpTQXpZQ0FFSGswZ05CM05JRE5nSUFRZkRTQTBIazBnTTJBZ0JCN05JRFFlVFNBellDQUVINDBnTkI3TklETmdJQVFmVFNBMEhzMGdNMkFnQkJnTk1EUWZUU0F6WUNBRUg4MGdOQjlOSUROZ0lBUVlqVEEwSDgwZ00yQWdCQmhOTURRZnpTQXpZQ0FFR1Ewd05CaE5NRE5nSUFRWXpUQTBHRTB3TTJBZ0JCbU5NRFFZelRBellDQUVHVTB3TkJqTk1ETmdJQVFhRFRBMEdVMHdNMkFnQkJuTk1EUVpUVEF6WUNBRUdvMHdOQm5OTUROZ0lBUWFUVEEwR2Mwd00yQWdCQnNOTURRYVRUQXpZQ0FFR3Mwd05CcE5NRE5nSUFRYmpUQTBHczB3TTJBZ0JCdE5NRFFhelRBellDQUVIQTB3TkJ0Tk1ETmdJQVFielRBMEcwMHdNMkFnQkJ5Tk1EUWJ6VEF6WUNBRUhFMHdOQnZOTUROZ0lBUWREVEEwSEUwd00yQWdCQnpOTURRY1RUQXpZQ0FFSFkwd05Cek5NRE5nSUFRZFRUQTBITTB3TTJBZ0JCeE5FRElBRkJBQ0FCUVFocUlnTnJRUWR4UVFBZ0EwRUhjUnNpQTJvaUJEWUNBRUc0MFFNZ0FrRllhaUlDSUFOcklnTTJBZ0FnQkNBRFFRRnlOZ0lFSUFFZ0FtcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFDMEc0MFFNb0FnQWlBU0FBU3dSQURBSUxDMEdreFFOQk1EWUNBQXdDQzBHNDBRTWdBU0FBYXlJQ05nSUFRY1RSQXlBQVFjVFJBeWdDQUNJQmFpSUROZ0lBSUFNZ0FrRUJjallDQkNBQklBQkJBM0kyQWdRTElBb2tCaUFCUVFocUR3c2dDaVFHUVFBTG1BSUJCSDhnQUNBQ2FpRUVJQUZCL3dGeElRTWdBa0hEQUU0RVFBTkFJQUJCQTNFRVFDQUFJQU02QUFBZ0FFRUJhaUVBREFFTEN5QURRUWgwSUFOeUlBTkJFSFJ5SUFOQkdIUnlJUUVnQkVGOGNTSUZRVUJxSVFZRFFDQUFJQVpNQkVBZ0FDQUJOZ0lBSUFBZ0FUWUNCQ0FBSUFFMkFnZ2dBQ0FCTmdJTUlBQWdBVFlDRUNBQUlBRTJBaFFnQUNBQk5nSVlJQUFnQVRZQ0hDQUFJQUUyQWlBZ0FDQUJOZ0lrSUFBZ0FUWUNLQ0FBSUFFMkFpd2dBQ0FCTmdJd0lBQWdBVFlDTkNBQUlBRTJBamdnQUNBQk5nSThJQUJCUUdzaEFBd0JDd3NEUUNBQUlBVklCRUFnQUNBQk5nSUFJQUJCQkdvaEFBd0JDd3NMQTBBZ0FDQUVTQVJBSUFBZ0F6b0FBQ0FBUVFGcUlRQU1BUXNMSUFRZ0Ftc0xCZ0JCRVJBQ0N4b0FJQUFzQUF0QkFFZ0VRQ0FBS0FJSUdpQUFLQUlBRURnTEN3OEFJQUVFZnlBQUlBRnVCVUVBQ3dzU0FDQUFCRUFnQUNnQ0FCQTRJQUFRT0FzTGZ3RUVmeU1HSVFJakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJRUJIOGdBQ2dDQkFVZ0EwSC9BWEVMSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1E1QWtGSUFRRVFBSi9JQUVnQUNnQ0FHb2hCU0FDUVFBNkFBQWdCUXNnQWhCZklBQWdBVFlDQkFVZ0FrRUFPZ0FBSUFBZ0FXb2dBaEJmSUFBZ0FUb0FDd3NMSUFJa0Jnc1FBQ0FBUWZENEFDQUJLQUlBdHhBWEM4WURBUU4vSUFKQmdNQUFUZ1JBSUFBZ0FTQUNFQ1VhSUFBUEN5QUFJUVFnQUNBQ2FpRURJQUJCQTNFZ0FVRURjVVlFUUFOQUlBQkJBM0VFUUNBQ1JRUkFJQVFQQ3lBQUlBRXNBQUE2QUFBZ0FFRUJhaUVBSUFGQkFXb2hBU0FDUVFGcklRSU1BUXNMSUFOQmZIRWlBa0ZBYWlFRkEwQWdBQ0FGVEFSQUlBQWdBU2dDQURZQ0FDQUFJQUVvQWdRMkFnUWdBQ0FCS0FJSU5nSUlJQUFnQVNnQ0REWUNEQ0FBSUFFb0FoQTJBaEFnQUNBQktBSVVOZ0lVSUFBZ0FTZ0NHRFlDR0NBQUlBRW9BaHcyQWh3Z0FDQUJLQUlnTmdJZ0lBQWdBU2dDSkRZQ0pDQUFJQUVvQWlnMkFpZ2dBQ0FCS0FJc05nSXNJQUFnQVNnQ01EWUNNQ0FBSUFFb0FqUTJBalFnQUNBQktBSTROZ0k0SUFBZ0FTZ0NQRFlDUENBQVFVQnJJUUFnQVVGQWF5RUJEQUVMQ3dOQUlBQWdBa2dFUUNBQUlBRW9BZ0EyQWdBZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzRklBTkJCR3NoQWdOQUlBQWdBa2dFUUNBQUlBRXNBQUE2QUFBZ0FDQUJMQUFCT2dBQklBQWdBU3dBQWpvQUFpQUFJQUVzQUFNNkFBTWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0xBMEFnQUNBRFNBUkFJQUFnQVN3QUFEb0FBQ0FBUVFGcUlRQWdBVUVCYWlFQkRBRUxDeUFFQ3gwQUlBQW9BaGdnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBU0FDRU40SUN3OEFJQUVFZnlBQUlBRndCVUVBQ3dzUEFDQUJCSDhnQUNBQmJ3VkJBQXNMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQi9BQVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQ3hVQUlBQkJBU0FBR3hCRUlnQUVmeUFBQlVFQUN3dXFCQUlKZndKOUl3WWhCU01HUVNCcUpBWWdCVUVFYWlFRUlBVWdBRFlDQUNBQUtBSUFJUU1DUUFKQVFhREVBeWdDQUNJQlJTSUpCRUJCQUNFQURBRUZJQUVnQVVGL2FpSUljVVVpQndSL0lBTWdDSEVGSUFNZ0FVa0VmeUFEQlNBRElBRVFUZ3NMSWdCQkFuUkJuTVFES0FJQWFpZ0NBQ0lDQkVBRFFDQUNLQUlBSWdKRkRRTWdBeUFDS0FJRUlnWkhCRUFnQndSL0lBWWdDSEVGSUFZZ0FVOEVmeUFHSUFFUVRnVWdCZ3NMSUFCSERRUUxJQU1nQWlnQ0NFY05BQXNGREFJTEN3d0JDeUFFSUFNZ0JSRG9Ca0dzeEFNcUFnQWlDaUFCczVSQnFNUURLQUlBUVFGcXN5SUxYU0FKY2dSQUFuOGdDeUFLbFkwUWtnRWlBaUFCUVg5cUlBRnhRUUJISUFGQkEwbHlJQUZCQVhSeUlnQWdBQ0FDU1JzUTV3WkJvTVFES0FJQUlnSkJmMm9pQUNBRGNTQUFJQUp4UlEwQUdpQURJQUpKQkg4Z0F3VWdBeUFDRUU0TEN5RUFCU0FCSVFJTFFaekVBeWdDQUNBQVFRSjBhaWdDQUNJQkJIOGdCQ2dDQUNBQktBSUFOZ0lBSUFFZ0JDZ0NBRFlDQUNBRUJTQUVLQUlBUWFURUF5Z0NBRFlDQUVHa3hBTWdCQ2dDQURZQ0FFR2N4QU1vQWdBZ0FFRUNkR3BCcE1RRE5nSUFJQVFvQWdBaUJ5Z0NBQ0lBQkVBZ0FDZ0NCQ0VBSUFJZ0FrRi9haUlCY1FSL0lBQWdBazhFZnlBQUlBSVFUZ1VnQUFzRklBQWdBWEVMSVFCQm5NUURLQUlBSUFCQkFuUnFJQWMyQWdBTElBUUxJZ0FvQWdBaEFrR294QU5CcU1RREtBSUFRUUZxTmdJQUlBQkJBRFlDQUFzZ0JTUUdJQUpCRUdvTHVnRUJCbjhnQUNnQ0FDRUJRYURFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUVp6RUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2Q0FRSURmd0YrQWtBQ1FDQUFLUU53SWdSUVJRUkFJQUFwQTNnZ0JGa05BUXNnQUJEMUFTSUNRUUJJRFFBZ0FDZ0NDQ0VCQWtBQ1FDQUFLUU53SWdSUURRQWdCQ0FBS1FONGZTSUVJQUVnQUNnQ0JDSURhNnhWRFFBZ0FDQURJQVNuUVg5cWFqWUNhQXdCQ3lBQklRTWdBQ0FCTmdKb0N5QUNJQUVFZnlBQUlBQXBBM2dnQVVFQmFpQUFLQUlFSWdGcnJIdzNBM2dnQVFVZ0FDZ0NCQXRCZjJvaUFDMEFBRWNFUUNBQUlBSTZBQUFMREFFTElBQkJBRFlDYUVGL0lRSUxJQUlMSXdFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQXNMRGdBZ0FDQUJJQUVRdEFFUTRna0xEUUFnQUNBQklBRVFZQkRuQ1FzSUFFRURFQUpCQUF0R0FnSi9BWDBqQmlFRkl3WkJFR29rQmdKL0lBQWdBeUFFRUt3QklRWWdCVUVFYWlBRklBRWdBaUFERU1zQ0lBWUxJQVVxQWdRZ0JTb0NBQkN2QnlFSElBVWtCaUFIQ3drQUlBQWdBQkREQXd0R0FDQUFJQUVxQWdnZ0FTb0NBQ0FDS2dJQWxDQUJLZ0lFSUFJcUFnU1VrcEk0QWdBZ0FDQUJLZ0lVSUFFcUFnd2dBaW9DQUpRZ0FTb0NFQ0FDS2dJRWxKS1NPQUlFQ3kwQVFmQytBeXdBQUVVRVFFSHd2Z01RY0FSQVFZak9BeEQ5QkRZQ0FFSHd2Z01RYndzTFFZak9BeWdDQUF1ekJRRUlmeUFBS0FMVUF5SUVLQUlRSWdKQmdJQUNTQVJBSUFSQkRHb2hCU0FFS0FJVUlRTURmeUFFSUFOQmYyb2lBallDRkNBRFFRRklCRUFnQUNnQ3VBTUVRRUVBSVFNRklBQW9BaGdpQWlnQ0JFVUVRQ0FDS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdOQkdUWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUNJQUlvQWdSQmYybzJBZ1FnQWlBQ0tBSUFJZ0pCQVdvMkFnQWdBaXdBQUNJRFFmOEJjU0VDSUFOQmYwWUVRQUovQTBBQ1FDQUFLQUlZSWdJb0FnUkZCRUFnQWlnQ0RDRURJQUFnQTBIL0FIRkJDR29SQUFCRkJFQWdBQ2dDQUNJRFFSazJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN3c2dBaUFDS0FJRVFYOXFOZ0lFSUFJZ0FpZ0NBQ0lDUVFGcU5nSUFBa0FDUUNBQ0xBQUFJZ0pCZjJzT0FnRUFBZ3RCL3dFTUF3c01BUXNMSUFBZ0FrSC9BWEUyQXJnRFFRQUxJUUlMSUFJaEF5QUVLQUlVSVFJTElBVWdBeUFGS0FJQVFRaDBjallDQUNBRUlBSkJDR29pQXpZQ0ZDQUNRWGhJQkVBZ0JDQUNRUWxxSWdJMkFoUWdBa1VFUUNBRVFZQ0FBallDRUVFQUlRSUxCU0FESVFJTEN5QUVJQVFvQWhCQkFYUWlBellDRUNBRFFZQ0FBa2dFZnlBQ0lRTU1BUVVnQXdzTElRQUZJQUloQUNBRVFReHFJUVVnQkNnQ0ZDRUNDeUFCTFFBQUlnTkIvd0J4UVFKMFFaQW1haWdDQUNJR1FRaDFJUWdnQkNBQUlBWkJFSFVpQjJzaUFEWUNFQ0FGS0FJQUlna2dBQ0FDZENJQ1RnUkFJQVVnQ1NBQ2F6WUNBQ0FFSUFjMkFoQWdBMEdBQVhFaEFpQUFJQWRJQkVBZ0FTQUNJQWh6T2dBQUlBTkJCM1VQQlNBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVUEN3QUxJQUJCZ0lBQ1RnUkFJQU5CQjNVUEN5QURRWUFCY1NFQ0lBQWdCMGdFZnlBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVRklBRWdBaUFJY3pvQUFDQURRUWQxQ3dzR0FDQUFFRGdMREFBZ0FDQUJMQUFBT2dBQUM0MEJBUU4vQWtBQ1FDQUFJZ0pCQTNGRkRRQWdBaUlCSVFBQ1FBTkFJQUVzQUFCRkRRRWdBVUVCYWlJQklnQkJBM0VOQUFzZ0FTRUFEQUVMREFFTEEwQWdBRUVFYWlFQklBQW9BZ0FpQTBILy9mdDNhaUFEUVlDQmdvUjRjVUdBZ1lLRWVITnhSUVJBSUFFaEFBd0JDd3NnQTBIL0FYRUVRQU5BSUFCQkFXb2lBQ3dBQUEwQUN3c0xJQUFnQW1zTDJBRUJBMzhnQXlnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFCSUFKc0lRVWdBeUFETEFCS0lnUWdCRUgvQVdweU9nQktJQUpCQUNBQkd5RUNBa0FnQXlnQ0NDQURLQUlFSWdacklnUkJBRW9FZnlBQUlBWWdCQ0FGSUFRZ0JVa2JJZ1FRVEJvZ0F5QUVJQU1vQWdScU5nSUVJQUFnQkdvaEFDQUZJQVJyQlNBRkN5SUVSUTBBSUFBaEJpQUVJUUFEUUFKQUlBTVFwd0lOQUNBRElBWWdBQ0FES0FJZ1FUOXhRY29CYWhFRUFDSUVRUUZxUVFKSkRRQWdBQ0FFYXlJQVJRMENJQVFnQm1vaEJnd0JDd3NnQlNBQWF5QUJFRWdoQWdzZ0Fnc3hBUUYvUWVpSkFTZ0NBQ0VCSUFBRVFFSG9pUUZCak1VRElBQWdBRUYvUmhzMkFnQUxRWDhnQVNBQlFZekZBMFliQ3dNQUFRc0lBRUVHRUFKQkFBdTRBUUVCZlNBQ0lBRVF3d01oQXlBQUlBQXFBZ0FnQXlBQktnSUFsSk00QWdBZ0FDQUFLZ0lFSUFNZ0FTb0NCSlNUT0FJRUlBQWdBQ29DQ0NBRElBRXFBZ2lVa3pnQ0NDQUFJQUFxQWd3Z0F5QUJLZ0lNbEpNNEFnd2dBQ0FBS2dJUUlBTWdBU29DRUpTVE9BSVFJQUFnQUNvQ0ZDQURJQUVxQWhTVWt6Z0NGQ0FBSUFBcUFoZ2dBeUFCS2dJWWxKTTRBaGdnQUNBQUtnSWNJQU1nQVNvQ0hKU1RPQUljSUFBZ0FDb0NJQ0FESUFFcUFpQ1VremdDSUFzSUFFRUxFQUpCQUF2WEF3RUdmeUFBS0FJQUlRUWdBQ2dDQkNFSEFrQUNRQ0FBS0FJUUlnVW9BcmdEQkVBZ0FTRUlJQUloQmlBSElRSWdCQ0VCREFFRklBSkJHVWdFUUFKQUlBRWhDQ0FDSVFZQ1FBTkFBa0FnQjBVRVFDQUZLQUlZS0FJTUlRRWdCU0FCUWY4QWNVRUlhaEVBQUVVTkF5QUZLQUlZSWdFb0FnUWhCeUFCS0FJQUlRUUxJQWRCZjJvaEFpQUVRUUZxSVFFZ0JDd0FBQ0lIUWY4QmNTRUVJQWRCZjBZRVFBTkFBa0FnQWdSL0lBRUZJQVVvQWhnb0Fnd2hBU0FGSUFGQi93QnhRUWhxRVFBQVJRMEdJQVVvQWhnaUFTZ0NCQ0VDSUFFb0FnQUxJUVFnQWtGL2FpRUNJQVJCQVdvaEFRSkFBa0FnQkN3QUFDSUVRWDlyRGdJQkFBVUxRZjhCSVFRTUFRc01BUXNMQ3lBRUlBaEJDSFJ5SVFnZ0JrRUlhaUVKSUFaQkVVZ0VRQ0FDSVFjZ0FTRUVJQWtoQmd3Q0JTQUpJUVlNQkFzQUN3c2dCU0FFUWY4QmNUWUN1QU1NQkF0QkFBOExCU0FCSVFnZ0FpRUdJQWNoQWlBRUlRRUxDd3dCQ3lBR0lBTklCRUFnQlNnQzFBTW9BaWhGQkVBZ0JTZ0NBQ0lEUWZnQU5nSVVJQU1vQWdRaEF5QUZRWDhnQTBFL2NVR3lCV29SQXdBZ0JTZ0MxQU5CQVRZQ0tBc2dDRUVaSUFacmRDRUlRUmtoQmdzTElBQWdBVFlDQUNBQUlBSTJBZ1FnQUNBSU5nSUlJQUFnQmpZQ0RFRUJDdzRBSUFFZ0FFRi9hbW9nQVJBNUN3Y0FJQUFnQUpRTG5RRUJCSDhnQUNnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFBRUp3RklBQW9BZ0JCQVhGQkFFY2lCRVVFUUJDckFpRUJJQUFvQWpRaUFnUkFJQUlnQUNnQ09EWUNPQXNnQUNnQ09DSURCRUFnQXlBQ05nSTBDeUFBSUFFb0FnQkdCRUFnQVNBRE5nSUFDMEdveFFNUURnc2dBQkNwQWhvZ0FDQUFLQUlNUWY4QWNVRUlhaEVBQUJvZ0FDZ0NZQ0lCQkVBZ0FSQTRDeUFFUlFSQUlBQVFPQXNMcVFFQ0NIOEJmQ01HSVFNakJrRXdhaVFHSUFBUW53Y0NmeERqQXlFSUlBTkJHR29pQVJDN0F5QUJMQUFMSVFVZ0FTZ0NBQ0VHSUFCQkVHb2lBaXdBQzBFQVNBUi9JQUlvQWdBRklBSUxJUWNnQUJDZUIwUUFBQUFBQUVDUFFLSWhDU0FESWdCQjhLTUNOZ0lBSUFBZ0JpQUJJQVZCQUVnYk5nSUVJQUJCK0tNQ05nSUlJQUFnQnpZQ0RDQUFJQWs1QXhBZ0NBdEIxYU1DSUFBUXR3TWdBUkJISUFJUVJ5QUFKQVlMUkFBZ0FDQUJjeUlBSUFCQkFYWkIxYXJWcWdWeGF5SUFRYlBtekprRGNTQUFRUUoyUWJQbXpKa0RjV29pQUVFRWRpQUFha0dQbnJ6NEFIRkJnWUtFQ0d4QkdIWUxmZ0VEZnlBQlF3QUFBRCtTRUVNZ0FDZ0NFR29oQlNBQ1F3QUFBRCtTRUVNZ0FDZ0NGR29oQmlBRlFRQklCSDlCZndVZ0JrRUFTQ0FGSUFBb0FnZ2lCMDV5Qkg5QmZ3VWdCaUFBS0FJTVNBUi9JQU1nQUNnQ0FDQUdJQWRzSUFWcVFRTjBhaUlBS0FJQU5nSUFJQVFnQUNnQ0JEWUNBRUVBQlVGL0N3c0xDd3dBSUFBZ0FTZ0NBRFlDQUFzV0FDQUFRUUEyQWdBZ0FDQUFLQUlBUVFGeU5nSUFDdzBBSUFBc0FBQkJBRWRCQVhNTEVRQWdBQ2dDRkNBQUtBSVFhMEVVRURrTEdBQWdBQ2dDQUVFZ2NVVUVRQ0FCSUFJZ0FCQ1hBeG9MQzBBQUlBQWdBR0lFZjBHQWdJQ0FlQVVnQUVRQUFBQUFBQURnUVdZRWYwR0FnSUNBZUFVZ0FFUUFBQ0FBQUFEZ3dXVUVmMEdBZ0lDQWVBVWdBS29MQ3dzTEJ3QWdBRUVFYWd0OUFRSi9Jd1loQlNNR1FZQUNhaVFHSUFSQmdNQUVjVVVnQWlBRFNuRUVRQ0FGSUFGQkdIUkJHSFVnQWlBRGF5SUJRWUFDSUFGQmdBSkpHeEJGR2lBQlFmOEJTd1JBSUFJZ0Eyc2hCZ05BSUFBZ0JVR0FBaEJ5SUFGQmdINXFJZ0ZCL3dGTERRQUxJQVpCL3dGeElRRUxJQUFnQlNBQkVISUxJQVVrQmdzR0FFRVpFQUlMT1FFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQkRZQ0FDQUNFR0loQWlBQUlBRWdBeUFGRUtrQklRWWdBZ1JBSUFJUVlob0xJQVVrQmlBR0M1WUNBUVIvSUFBb0FnUWlCaUFBTEFBTElnUkIvd0Z4SWdVZ0JFRUFTQnNFUUFKQUlBRWdBa2NFUUNBQ0lRUWdBU0VGQTBBZ0JTQUVRWHhxSWdSSkJFQWdCU2dDQUNFR0lBVWdCQ2dDQURZQ0FDQUVJQVkyQWdBZ0JVRUVhaUVGREFFTEN5QUFMQUFMSWdSQi93RnhJUVVnQUNnQ0JDRUdDeUFDUVh4cUlRY2dBQ2dDQUNBQUlBUkJHSFJCR0hWQkFFZ2lBaHNpQUNBR0lBVWdBaHRxSVFVQ1FBSkFBMEFDUUNBQUxBQUFJZ0pCQUVvZ0FrSC9BRWR4SVFRZ0FTQUhUdzBBSUFRRVFDQUJLQUlBSUFKSERRTUxJQUZCQkdvaEFTQUFRUUZxSUFBZ0JTQUFhMEVCU2hzaEFBd0JDd3NNQVFzZ0EwRUVOZ0lBREFFTElBUUVRQ0FIS0FJQVFYOXFJQUpQQkVBZ0EwRUVOZ0lBQ3dzTEN3dENBUUYvSUFCRUFBQUFBQUFBOEw4NUF3QWdBRVFBQUFBQUFBRHd2emtEQ0NBQVFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBQVFvQWNMQ0FCQkJSQUNRUUFMcmdVQ0MzOENmU01HSVFjakJrRWdhaVFHSUFkQkNHb2hCU0FCUVg5TUJFQWdCVUhBeUFOQjlJMENFRGRCczRvQ0VEZEI3NklDRURkQm9nSVFQa0gyb2dJUU4wR1dqZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUUlnQkVFS0lBSkJQM0ZCaWdGcUVRSUFJUUlnQlJBOElBTWdBaEJBSUFNUVB4QUFDeUFGSUFFMkFnQWdBRUhjQUdvaUJpQUZFT2dESWdJRVFDQUNJQUlvQWd4QkFXbzJBZ3dGSUFjZ0FUWUNBQ0FIUVFFMkFnUUNRQUpBSUFBb0FtQWlCRVVpQ2dSQVFRQWhBZ3dCQlNBRUlBUkJmMm9pQ1hGRklnc0VmeUFCSUFseEJTQUVJQUZMQkg4Z0FRVWdBU0FFRUU0TEN5SUNRUUowSUFZb0FnQnFLQUlBSWdNRVFBTkFJQU1vQWdBaUEwVU5BeUFES0FJRUlnZ2dBVWNFUUNBTEJIOGdDQ0FKY1FVZ0NDQUVUd1IvSUFnZ0JCQk9CU0FJQ3dzZ0FrY05CQXNnQXlnQ0NDQUJSdzBBQ3dVTUFnc0xEQUVMSUFVZ0JpQUJJQWNRdkFjZ0NpQUFLZ0pzSWcwZ0JMT1VJQUFvQW1oQkFXcXpJZzVkY2dSL0FuOGdCaUFPSUEyVmpSQ1NBU0lESUFRZ0JFRi9hbkZCQUVjZ0JFRURTWElnQkVFQmRISWlBaUFDSUFOSkd4REZBaUFBS0FKZ0lnTkJmMm9oQWlBQklBSnhJQUlnQTNGRkRRQWFJQU1nQVUwRWZ5QUJJQU1RVGdVZ0FRc0xCU0FFSVFNZ0Fnc2hBU0FHS0FJQUlBRkJBblJxS0FJQUlnSUVmeUFGS0FJQUlBSW9BZ0EyQWdBZ0FpQUZLQUlBTmdJQUlBVUZJQVVvQWdBZ0FDZ0NaRFlDQUNBQUlBVW9BZ0EyQW1RZ0JpZ0NBQ0FCUVFKMGFpQUFRZVFBYWpZQ0FDQUZLQUlBSWdRb0FnQWlBUVJBSUFFb0FnUWhBU0FESUFOQmYyb2lBbkVFZnlBQklBTlBCSDhnQVNBREVFNEZJQUVMQlNBQklBSnhDeUVCSUFZb0FnQWdBVUVDZEdvZ0JEWUNBQXNnQlFzaERDQUFJQUFvQW1oQkFXbzJBbWdnREVFQU5nSUFDd3NnQnlRR0MvWUlBUWQvSXdZaEJpTUdRUkJxSkFZZ0FVRi9UQVJBSUFaQndNZ0RRYW1PQWhBM1FiT0tBaEEzUWUraUFoQTNRYVVCRUQ1QjlxSUNFRGRCeW80Q0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FISUFVUVFDQUhFRDhRQUFzZ0FDZ0NOQ0lLSUFGTUJFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnBnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFDUVg5TUJFQWdCa0hBeUFOQmhJOENFRGRCczRvQ0VEZEI3NklDRURkQnB3RVFQa0gyb2dJUU4wR2xqd0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFBS0FJNElnc2dBa3dFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdvQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBTkJmMHdFUUNBR1FjRElBMEhmandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdwQVJBK1FmYWlBaEEzUVlTUUFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBQW9BandpQnlBRFRBUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhb0JFRDVCOXFJQ0VEZEJoSkFDRURjaUNTZ0NBRUYwYWlnQ0FDQUphaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQkVGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhc0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQUVGQWF5Z0NBQ0FFVEFSQUlBWkJ3TWdEUVlXUkFoQTNRYk9LQWhBM1FlK2lBaEEzUWF3QkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBU0FDSUFwc2FpSUJJQU1nQUNnQ1ZHeHFJQVFnQUNnQ1dHeHFJZ0FnQVNBRElBUWdCMnhxSUFvZ0MyeHNha29FUUNBR1FjRElBMEcxa1FJUU4wR3ppZ0lRTjBIdm9nSVFOMEd3QVJBK1FmYWlBaEEzUVphT0FoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUdFRHdnQWlBQUVFQWdBaEEvRUFBRklBWWtCaUFBRHd0QkFBdEZBUUovQTBBQ1FDQURJQUpPRFFBZ0EwRURkQ0FCYWlnQ0FDSUVSUTBBSUFBZ0JFWUVRQ0FEUVFOMFFRUnFJQUZxS0FJQUR3VWdBMEVCYWlFRERBSUxBQXNMUVFBTGNnRURmeU1HSVFNakJrRVFhaVFHSUFKQmIwc0VRQkFBQ3lBQ1FRdEpCRUFnQUNBQ09nQUxCU0FBSUFKQkVHcEJjSEVpQkJCUklnVTJBZ0FnQUNBRVFZQ0FnSUI0Y2pZQ0NDQUFJQUkyQWdRZ0JTRUFDeUFBSUFFZ0FoQ29BU0FEUVFBNkFBQWdBQ0FDYWlBREVGOGdBeVFHQ3dRQVFRQUxEUUFnQUNBRGxDQUJJQUtVa3dzYkFDQUNCSDhnQUNnQ0JDQUJLQUlFRUxNQlJRVWdBQ0FCUmdzTFJRSUNmd0YrSUFBZ0FUY0RjQ0FBSUFBb0FnZ2lBaUFBS0FJRUlnTnJyQ0lFTndONElBRkNBRklnQkNBQlZYRUVRQ0FBSUFNZ0FhZHFOZ0pvQlNBQUlBSTJBbWdMQ3ljQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBQ0FCSUFNUWxRTWhCQ0FESkFZZ0JBc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUUpCekljQlFaalBBa0VlSUFFUUNTQURDeVFHQ3pFQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTUxCd0FnQUVFSWFnczhBUUovSUFBb0FnUWdBQ2dDQUNJRGEwRUNkU0lDSUFGSkJFQWdBQ0FCSUFKckVQOElCU0FDSUFGTEJFQWdBQ0FCUVFKMElBTnFOZ0lFQ3dzTEV3QWdBRUdnaXdFMkFnQWdBRUVFYWhEb0NRdUJBUUFDUUFKQUlBSW9BZ1JCc0FGeFFSaDBRUmgxUVJCcklnSUVRQ0FDUVJCR0JFQU1BZ1VNQXdzQUN3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFBUVFGcUlRQU1BZ3NnQWtFd1JpQUJJQUJyUVFGS2NVVU5BU0FBTEFBQlFkZ0FheUlCUVFBZ0FVRWdSeHNOQVNBQVFRSnFJUUFNQVFzZ0FTRUFDeUFBQ3dvQUlBQkJVR3BCQ2trTFFRRUNmMEVNRUVRaUFnUkFJQUlnQVNBQVFRTjBiQkJFSWdNMkFnQWdBd1JBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0ZJQUlRT0VFQUlRSUxCVUVBSVFJTElBSUwzQUVCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnZ0FDZ0NEQ0VDSUFBZ0FTZ0NERFlDRENBQklBSTJBZ3dnQUNnQ0VDRUNJQUFnQVNnQ0VEWUNFQ0FCSUFJMkFoQWdBQ2dDRkNFQ0lBQWdBU2dDRkRZQ0ZDQUJJQUkyQWhRZ0FDZ0NHQ0VDSUFBZ0FTZ0NHRFlDR0NBQklBSTJBaGdnQUNnQ0hDRUNJQUFnQVNnQ0hEWUNIQ0FCSUFJMkFod2dBQ2dDSUNFQ0lBQWdBU2dDSURZQ0lDQUJJQUkyQWlBTEZRQWdBQVIvSUFBZ0FUa0RnQUZCQUFWQmZ3c2FDN2dDQWdWL0Fud2pCaUVISXdaQklHb2tCaUFIUVFocUlRWWdCMEVVYWlJSUlBUkJCSFFRUkNJS05nSUFJQXBGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBSFFSQnFJUVlnQ0NBRVFSaHNFRVFpQ1RZQ0JDQUpSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFR0EwQWdCaUFFU0FSQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzREFEa0RBQ0FHUVFSMElBcHFJQVpCQkhRZ0Ftb3JBd2c1QXdnZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNQU9RTUFJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXhBNUF4QWdCa0VCYWlFR0RBRUxDeUFJSUFRMkFnZ2dBQ2dDQUNBSUlBRWdCU0FIRUowRVFRQklCRUFnQjBRQUFBQUFoTmVYUVRrREFBc2dDQ2dDQUJBNElBZ29BZ1FRT0NBSEt3TUFJUXdnQnlRR0lBd0xOUUFnQUVJQU53SUFJQUJCQURZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUFha0VBTmdJQUlBRkJBV29oQVF3QkN3c0xVUUVCZkNBQUlBQ2lJZ0FnQUtJaEFVUUFBQUFBQUFEd1B5QUFSSUZlRFAzLy85OC9vcUVnQVVSQ09nWGhVMVdsUDZLZ0lBQWdBYUlnQUVScFVPN2dRcFA1UHFKRUp4NFA2SWZBVnIrZ29xQzJDMHNCQW53Z0FDQUFvaUlCSUFDaUlnSWdBU0FCb3FJZ0FVU25SanVNaDgzR1BxSkVkT2ZLNHZrQUtyK2dvaUFDSUFGRXN2dHVpUkFSZ1QraVJIZXN5MVJWVmNXL29LSWdBS0NndGdzc0FDQUFJQUJjQkg5QkFBVWdBRU1BQUlCUFlBUi9RUUFGSUFCREFBQ0F2MThFZjBFQUJTQUFxUXNMQ3dzMEFRRi9JQUVnQW13aEJDQUNRUUFnQVJzaEFpQURLQUpNR2lBRUlBQWdCQ0FERUpjRElnQkhCSDhnQUNBQkVFZ0ZJQUlMQzNjQUlBQWdBU29DQUNBQ2xEZ0NBQ0FBSUFFcUFnUWdBcFE0QWdRZ0FDQUJLZ0lJSUFLVU9BSUlJQUFnQVNvQ0RDQUNsRGdDRENBQUlBRXFBaEFnQXBRNEFoQWdBQ0FCS2dJVUlBS1VPQUlVSUFBZ0FTb0NHQ0FDbERnQ0dDQUFJQUVxQWh3Z0FwUTRBaHdnQUNBQktnSWdJQUtVT0FJZ0MwRUJBWDhnQUNnQ0JDSUFCRUFnQUNBQUtBSUVJZ0ZCZjJvMkFnUWdBVVVFUUNBQUtBSUFLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJEcUNRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dFZ0FDZ0NCQ0FBS0FJQWEwRURkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQ2RTSUdJQVlnQTBrYlFmLy8vLzhCSUFWQkEzVkIvLy8vL3dCSkd5QUFLQUlFSUFSclFRTjFJQUJCQ0dvUWlBSWdBaWdDQ0NBQktRSUFOd0lBSUFJZ0FpZ0NDRUVJYWpZQ0NDQUFJQUlRelFJZ0FoRE1BaUFDSkFZTEM2UUNBUVYvSXdZaEJ5TUdRUkJxSkFZZ0FDZ0NBQ0lHQkVBQ1FDQUVLQUlNSVFnZ0FpQUJheUlKUVFCS0JFQWdCaWdDQUNnQ01DRUtJQVlnQVNBSklBcEJQM0ZCeWdGcUVRUUFJQWxIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ0NBRElBRnJJZ0ZyUVFBZ0NDQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRbGdRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ0ZCQUVvRVFDQUdLQUlBS0FJd0lRTWdCaUFDSUFFZ0EwRS9jVUhLQVdvUkJBQWdBVWNFUUNBQVFRQTJBZ0JCQUNFR0RBSUxDeUFFUVFBMkFnd0xCVUVBSVFZTElBY2tCaUFHQ3dnQVFRa1FBa0VBQzdVSEFRaC9JQUFvQWdBaUJ3Ui9JQWNvQWd3aUJpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRWUNRQUpBQWtBZ0FTZ0NBQ0lIQkVBZ0J5Z0NEQ0lGSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUdCRUFNQkFVTUF3c0FDd3NnQmtVRVFFRUFJUWNNQWdzTElBSWdBaWdDQUVFR2NqWUNBRUVBSVFjTUFRc2dBMEdBRUNBQUtBSUFJZ1lvQWd3aUJTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTElnWWdBeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZCRUFnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCd3dCQ3lBRElBWkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFRWFqWUNEQ0FGS0FJQUdnc2dDMEVZZEVFWWRTRUZJQVFoQmlBSElnUWhDQU5BQWtBZ0JVRlFhaUVISUFBb0FnQWlCUVIvSUFVb0Fnd2lDU0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxBbjhnQ0FSL0lBZ29BZ3dpQlNBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUVJCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoRENBQUtBSUFJUVVnREF0eklBWkJBVXB4UlEwQUlBTkJnQkFnQlNnQ0RDSUpJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBc2lCU0FES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRElBVkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VLSUFBb0FnQWlCU2dDRENJSklBVW9BaEJHQkVBZ0JTQUZLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVVnQ1VFRWFqWUNEQ0FKS0FJQUdnc2dCMEVLYkNBS1FSaDBRUmgxYWlFRklBWkJmMm9oQmd3QkN3c2dCUVIvSUFVb0Fnd2lBeUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQU5Bd3NNQVFzZ0FFVU5BUXNnQWlBQ0tBSUFRUUp5TmdJQUN5QUhDK3dIQVFoL0lBQW9BZ0FpQlFSL0lBVW9BZ3dpQ0NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ2tFUUNBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VKREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0JCQUNFRURBRUxJQUFvQWdBaUJTZ0NEQ0lJSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQ3lJRlFmOEJjU0lJUVJoMFFSaDFRWDlLQkVBZ0F5Z0NDQ0FGUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEVFUUNBRElBaEJBQ0FES0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFMUVJoMFFSaDFJUVlnQkNFSUlBa2hCUU5BQWtBZ0JrRlFhaUVFSUFBb0FnQWlDZ1IvSUFvb0Fnd2lCaUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2lBRkJIOGdCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSlFRQWhCVUVCQlVFQUN3VkJBQ0VGUVFFTElRd2dBQ2dDQUNFSElBd2dDbk1nQ0VFQlNuRkZEUUFnQnlnQ0RDSUdJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlLUWY4QmNTSUdRUmgwUVJoMVFYOU1EUVFnQXlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUVFnQXlBR1FRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQWhCaUFBS0FJQUlnY29BZ3dpQ2lBSEtBSVFSZ1JBSUFjZ0J5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUhJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVLYkNBR1FSaDBRUmgxYWlFR0lBaEJmMm9oQ0F3QkN3c2dCd1IvSUFjb0Fnd2lBeUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdDVVVOQUNBSktBSU1JZ0FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBQUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FERFFVTERBRUxJQU5GRFFNTElBSWdBaWdDQUVFQ2NqWUNBQXdDQ3dzZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQkFzZ0JBczNBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUROZ0lBSUFFUVlpRUJJQUFnQWlBRUVQUUVJUVVnQVFSQUlBRVFZaG9MSUFRa0JpQUZDMndBQW44Q1FBSkFBa0FDUUNBQUtBSUVRY29BY1E1QkFnTURBd01EQXdNQkF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3QURDMEVJREFNTFFSQU1BZ3RCQUF3QkMwRUtDd3Z6QXdFR2Z3SkFBa0FnQWJ3aUJVSC8vLy8vQjNFaUJrR0FnSUQ4QjBzTkFDQUF2Q0lDUWYvLy8vOEhjU0lEUVlDQWdQd0hTdzBBQWtBZ0JVR0FnSUQ4QTBZRVFDQUFFUFFDSVFBTUFRc2dBa0VmZGlJSElBVkJIblpCQW5GeUlRSWdBMFVFUUFKQUFrQUNRQ0FDUVFOeERnUUVCQUFCQWd0RDJ3OUpRQ0VBREFNTFE5c1BTY0FoQUF3Q0N3c0NRQ0FGUWYvLy8vOEhjU0lFUVlDQWdQd0hTQVJBSUFRTkFVUGJEOG0vUTlzUHlUOGdCeHNoQUF3Q0JTQUVRWUNBZ1B3SGF3MEJJQUpCL3dGeElRUWdBMEdBZ0lEOEIwWUVRQUpBQWtBQ1FBSkFBa0FnQkVFRGNRNEVBQUVDQXdRTFE5c1BTVDhoQUF3SEMwUGJEMG0vSVFBTUJndEQ1TXNXUUNFQURBVUxRK1RMRnNBaEFBd0VDd1VDUUFKQUFrQUNRQUpBSUFSQkEzRU9CQUFCQWdNRUMwTUFBQUFBSVFBTUJ3dERBQUFBZ0NFQURBWUxROXNQU1VBaEFBd0ZDMFBiRDBuQUlRQU1CQXNMQ3dzZ0EwR0FnSUQ4QjBZZ0JrR0FnSURvQUdvZ0EwbHlCRUJEMncvSnYwUGJEOGsvSUFjYklRQU1BUXNnQlVFQVNDQURRWUNBZ09nQWFpQUdTWEVFZlVNQUFBQUFCU0FBSUFHVml4RDBBZ3NoQUFKQUFrQUNRQ0FDUVFOeERnTURBQUVDQ3lBQWpDRUFEQUlMUTlzUFNVQWdBRU11dmJzemtwTWhBQXdCQ3lBQVF5Njl1ek9TUTlzUFNjQ1NJUUFMREFFTElBQWdBWkloQUFzZ0FBdWpBZ0FnQUFSL0FuOGdBVUdBQVVrRVFDQUFJQUU2QUFCQkFRd0JDMEhvaVFFb0FnQW9BZ0JGQkVBZ0FVR0FmM0ZCZ0w4RFJnUkFJQUFnQVRvQUFFRUJEQUlGUWFURkEwRVpOZ0lBUVg4TUFnc0FDeUFCUVlBUVNRUkFJQUFnQVVFR2RrSEFBWEk2QUFBZ0FDQUJRVDl4UVlBQmNqb0FBVUVDREFFTElBRkJnRUJ4UVlEQUEwWWdBVUdBc0FOSmNnUkFJQUFnQVVFTWRrSGdBWEk2QUFBZ0FDQUJRUVoyUVQ5eFFZQUJjam9BQVNBQUlBRkJQM0ZCZ0FGeU9nQUNRUU1NQVFzZ0FVR0FnSHhxUVlDQXdBQkpCSDhnQUNBQlFSSjJRZkFCY2pvQUFDQUFJQUZCREhaQlAzRkJnQUZ5T2dBQklBQWdBVUVHZGtFL2NVR0FBWEk2QUFJZ0FDQUJRVDl4UVlBQmNqb0FBMEVFQlVHa3hRTkJHVFlDQUVGL0N3c0ZRUUVMQzZrQkFRSi9JQUZCL3dkS0JFQWdBRVFBQUFBQUFBRGdmNklpQUVRQUFBQUFBQURnZjZJZ0FDQUJRZjRQU2lJQ0d5RUFJQUZCZ25CcUlnTkIvd2NnQTBIL0IwZ2JJQUZCZ1hocUlBSWJJUUVGSUFGQmduaElCRUFnQUVRQUFBQUFBQUFRQUtJaUFFUUFBQUFBQUFBUUFLSWdBQ0FCUVlSd1NDSUNHeUVBSUFGQi9BOXFJZ05CZ25nZ0EwR0NlRW9iSUFGQi9nZHFJQUliSVFFTEN5QUFJQUZCL3dkcXJVSTBocitpQzVzQ0FRSi9JQUlnQkVnRVFDQUFJQUVnQWlBRUVHY0VmeUFBS0FJSUlRVWdBQ2dDREFWQmZ3OExJUUlGSUFFaEJRc2dCRUVDZEVId01Xb29BZ0FnQlNBQ0lBUnJJZ0YxY1NJR0lBUkJBblFnQTJvb0FnQktCRUFDUUNBRklRSURRQUpBSUFGQkFVZ0VRQ0FBSUFJZ0FVRUJFR2RGRFFFZ0FDZ0NDQ0VDSUFBb0Fnd2hBUXNnQWlBQlFYOXFJZ0YyUVFGeElBWkJBWFJ5SWdZZ0JFRUJhaUlFUVFKMElBTnFLQUlBU2cwQkRBSUxDMEYvRHdzRklBVWhBZ3NnQUNBQ05nSUlJQUFnQVRZQ0RDQUVRUkJLQkg4Z0FDZ0NFQ0lBS0FJQUlnRkIrUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVBQlNBR0lBTkJ5QUJxSUFSQkFuUnFLQUlBYWlBREtBS01BVUVSYW1vdEFBQUxDNU1DQWdGL0FuMGdBQ0FCSUFKQkFuUWdBV29xQWdDTUVKUUJJQUpCQW5RZ0FHb2lBeUFES2dJQVF3QUFnRCtTT0FJQUlBQWdBVUVrYWlBQ1FRbHFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ5QUJxSUFKQkVtcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSHNBR29nQWtFYmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFaQUJhaUFDUVNScVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnRBRnFJQUpCTFdwQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIWUFXb2dBa0UyYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUWZ3QmFpQUNRVDlxUVFKMElBRnFLZ0lBakJDNUFTQUFFRm9pQlpFaEJDQUZRd0FBQUFCYkJFQkRBQUFBQUNFRUJTQUFJQUJEQUFDQVB5QUVsUkNVQVFzZ0JBc0dBRUVVRUFJTC9na0JDbjhqQmlFTkl3WkJFR29rQmlBTlFRaHFJUkFnRFVFTWFpSU9JQU1RT3lBT1FhRE9BeEE2SVFzZ0RoQThJQVJCQURZQ0FBSkFBa0FEUUFKQUlBRW9BZ0FoQ0NBSlJTQUdJQWRIY1VVTkFDQUlJZ2tFZnlBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFTRU1RUUFoQ1VFQUJVRUFJUXdnQ1FzRlFRRWhERUVBQ3lFSUlBSW9BZ0FpQ2lFUkFrQUNRQ0FLUlEwQUlBb29BZ3dpRHlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBOG9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0RFVU5CUXNNQVFzZ0RBMERRUUFoQ2dzZ0N5QUdLQUlBUVFBZ0N5Z0NBQ2dDTkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUVJxSWd4R0RRTUNRQ0FMSUF3b0FnQkJBQ0FMS0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQ0dwR0RRVWdDaUVJSUFzZ0JpZ0NDRUVBSUFzb0FnQW9BalJCUDNGQnlnRnFFUVFBSVFvZ0RDRUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRU1JQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQU1RUTl4UVk0RGFoRU9BRFlDQUNBR1FRaHFJUVlGQWtBZ0MwR0F3QUFnQmlnQ0FDQUxLQUlBS0FJTVFUOXhRY29CYWhFRUFFVUVRQ0FMSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUWtnQ3lBR0tBSUFJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJQWxIQkVBZ0JFRUVOZ0lBREFJTElBZ29BZ3dpQ1NBSUtBSVFSZ1JBSUFnZ0NDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUlJQWxCQkdvMkFnd2dDU2dDQUJvTElBWkJCR29oQmd3QkN3TkFBa0FnQnlBR1FRUnFJZ1pHQkVBZ0J5RUdEQUVMSUF0QmdNQUFJQVlvQWdBZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFBTkFRc0xJQW9oQ1FOQUlBZ0VmeUFJS0FJTUlnb2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQ2dKQUFrQWdDVVVOQUNBSktBSU1JZ3dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQkFzTUFRc2dDZzBDUVFBaENRc2dDMEdBd0FBZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0NDZ0NEQ0lLSUFnb0FoQkdCRUFnQ0NBSUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBZ2dDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFFQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUJSUTBDQ3d3Q0N5QUJEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFOSkFZZ0NBdXRDZ0VLZnlNR0lRMGpCa0VRYWlRR0lBMUJDR29oRUNBTlFReHFJZzRnQXhBN0lBNUJnTTRERURvaERDQU9FRHdnQkVFQU5nSUFBa0FDUUFOQUFrQWdBU2dDQUNFSUlBbEZJQVlnQjBkeFJRMEFJQWdpQ1FSL0lBa29BZ3dpQ0NBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVoQzBFQUlRbEJBQVZCQUNFTElBa0xCVUVCSVF0QkFBc2hDQ0FDS0FJQUlnb2hFUUpBQWtBZ0NrVU5BQ0FLS0FJTUlnOGdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FQTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnQzBVTkJRc01BUXNnQ3cwRFFRQWhDZ3NnRENBR0xBQUFRUUFnRENnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRRnFJZ3RHRFFNQ1FDQU1JQXNzQUFCQkFDQU1LQUlBS0FJa1FUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJBbXBHRFFVZ0NpRUlJQXdnQml3QUFrRUFJQXdvQWdBb0FpUkJQM0ZCeWdGcUVRUUFJUW9nQ3lFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTElBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTFFROXhRWTREYWhFT0FEWUNBQ0FHUVFKcUlRWUZBa0FnQml3QUFDSUpRWDlLQkVBZ0RDZ0NDQ0lMSUFsQkFYUnFMZ0VBUVlEQUFIRUVRQU5BQWtBZ0J5QUdRUUZxSWdaR0JFQWdCeUVHREFFTElBWXNBQUFpQ1VGL1RBMEFJQWxCQVhRZ0Myb3VBUUJCZ01BQWNRMEJDd3NnQ2lFSkEwQWdDQVIvSUFnb0Fnd2lDaUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRb0NRQUpBSUFsRkRRQWdDU2dDRENJTElBa29BaEJHQkg4Z0NTQUpLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CZ3NNQVFzZ0NnMEVRUUFoQ1FzZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJS1FmOEJjVUVZZEVFWWRVRi9UQTBESUF3b0FnZ2dDa0VZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQXlBSUtBSU1JZ29nQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUtRUUZxTmdJTUlBb3NBQUFRUWhvTERBQUFDd0FMQ3lBTUlBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhJQXdvQWdBb0FneEJQM0ZCaWdGcUVRSUFRZjhCY1NBTUlBWXNBQUFnRENnQ0FDZ0NERUUvY1VHS0FXb1JBZ0JCL3dGeFJ3UkFJQVJCQkRZQ0FBd0JDeUFJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRRnFOZ0lNSUFrc0FBQVFRaG9MSUFaQkFXb2hCZ3NMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaEFRSkFBa0FDUUNBQ0tBSUFJZ0JGRFFBZ0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQVVVTkFnc01BZ3NnQVEwQURBRUxJQVFnQkNnQ0FFRUNjallDQUFzZ0RTUUdJQWdMdFFJQkJYOGpCaUVISXdaQkVHb2tCaUFBS0FJQUlnWUVRQUpBSUFRb0Fnd2hDU0FDSUFGcklnaEJBblVoQ2lBSVFRQktCRUFnQmlnQ0FDZ0NNQ0VJSUFZZ0FTQUtJQWhCUDNGQnlnRnFFUVFBSUFwSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NTQURJQUZyUVFKMUlnRnJRUUFnQ1NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFrd1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnTkJBblVoQVNBRFFRQktCRUFnQmlnQ0FDZ0NNQ0VESUFZZ0FpQUJJQU5CUDNGQnlnRnFFUVFBSUFGSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0JFRUFOZ0lNQ3dWQkFDRUdDeUFISkFZZ0JndCtBUU4vSUFGREFBQUFQNUlRUXlBQUtBSVFhaUVGSUFKREFBQUFQNUlRUXlBQUtBSVVhaUVHSUFWQkFFZ0VmMEYvQlNBR1FRQklJQVVnQUNnQ0NDSUhUbklFZjBGL0JTQUdJQUFvQWd4SUJIOGdBeUFBS0FJRUlBWWdCMndnQldwQkEzUnFJZ0FvQWdBMkFnQWdCQ0FBS0FJRU5nSUFRUUFGUVg4TEN3c0xFQUFnQWdSQUlBQWdBU0FDRVBvRUN3c1FBQ0FDQkVBZ0FDQUJJQUlRVEJvTEM3OEJBUUovSXdZaEJDTUdRYUFCYWlRR0lBUkJrQUZxSVFVZ0JFR1k5Z0JCa0FFUVRCb0NRQUpBSUFGQmYycEIvdi8vL3dkTkRRQWdBUVIvUWFURkEwRTlOZ0lBUVg4RklBVWhBRUVCSVFFTUFRc2hBQXdCQ3lBRVFYNGdBR3NpQlNBQklBRWdCVXNiSWdFMkFqQWdCQ0FBTmdJVUlBUWdBRFlDTENBRUlBQWdBV29pQURZQ0VDQUVJQUEyQWh3Z0JDQUNJQU1RcFFJaEFDQUJCRUFnQkNnQ0ZDSUJJQUVnQkNnQ0VFWkJIM1JCSDNWcVFRQTZBQUFMQ3lBRUpBWWdBQXRyQVFOOUlBRXFBaUFnQVNvQ0dDQUNLZ0lBSWdTVUlBRXFBaHdnQWlvQ0JDSUZsSktTSVFNZ0FDQUJLZ0lJSUFRZ0FTb0NBSlFnQlNBQktnSUVsSktTSUFPVk9BSUFJQUFnQVNvQ0ZDQUJLZ0lNSUFJcUFnQ1VJQUVxQWhBZ0Fpb0NCSlNTa2lBRGxUZ0NCQXVmQWdJRWZ3VjhJQU5CQW5RZ0FXb29BZ0FpQ2lBQ1FRSjBJQUZxS0FJQUlnaHJ0eUVNSUFKQkFuUWdBR29vQWdBaUNTQURRUUowSUFCcUtBSUFJZ2RydHlFTklBY2dDR3dnQ1NBS2JHdTNJUThnQWtFQmFpSUhJUWdEUUNBSElBTklCRUFnQnlBSUlBd2dCMEVDZENBQWFpZ0NBTGVpSUEwZ0IwRUNkQ0FCYWlnQ0FMZWlvQ0FQb0NJT0lBNmlJZzRnQzJRaUNSc2hDQ0FIUVFGcUlRY2dEaUFMSUFrYklRc01BUXNMQW44Q1FDQUxJQXdnREtJZ0RTQU5vcUNqSUFSa1JRMEFJQUFnQVNBQ0lBZ2dCQ0FGSUFZUXF3RkJBRTRFUUNBR0tBSUFJZ0pCQlV3RVFDQUNRUUowSUFWcUlBZzJBZ0FnQmlBR0tBSUFRUUZxTmdJQUlBQWdBU0FJSUFNZ0JDQUZJQVlRcXdGQkFFNE5BZ3NMUVg4TUFRdEJBQXNMbmdJQkJYOGpCaUVESXdaQkVHb2tCaUFBS0FJUUlBRk5CRUFnQTBIQXlBTkJ4cG9DRURkQnFKa0NFRGRCNzZJQ0VEZEIyZ0VRUGtIMm9nSVFOMEhodlFFUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVJZ1FnQWtzRVFDQUFLQUlFSUFJZ0FTQUViR3BCQlhScUlRY2dBeVFHSUFjUEJTQURRY0RJQTBIV213SVFOMEdvbVFJUU4wSHZvZ0lRTjBIYkFSQStRZmFpQWhBM1FmVzlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFEUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FERUR3Z0FpQUFFRUFnQWhBL0VBQUxRUUFMQ0FCQkJ4QUNRUUFMREFBZ0FFR0Nob0FnTmdBQUM1SUJBUUYvSUFOQmdCQnhCRUFnQUVFck9nQUFJQUJCQVdvaEFBc2dBMEdBQkhFRVFDQUFRU002QUFBZ0FFRUJhaUVBQ3dOQUlBRXNBQUFpQkFSQUlBQWdCRG9BQUNBQlFRRnFJUUVnQUVFQmFpRUFEQUVMQ3lBQUFuOENRQ0FEUWNvQWNVRUlheUlCQkVBZ0FVRTRSdzBCUWU4QURBSUxJQU5CQ1haQklIRkIrQUJ6REFFTFFlUUFRZlVBSUFJYkN6b0FBQXQrQVFOL0l3WWhBaU1HUVJCcUpBWkIrdjBDSUFFc0FBQVF2d0VFZnlBQkVKa0ZRWUNBQW5JaEF5QUNJQUEyQWdBZ0FpQUROZ0lFSUFKQnRnTTJBZ2hCQlNBQ0VEUVFtZ01pQTBFQVNBUi9RUUFGSUFNZ0FSQ1lCU0lBQkg4Z0FBVWdBeEFZR2tFQUN3c0ZRYVRGQTBFY05nSUFRUUFMSVFRZ0FpUUdJQVFMREFBZ0FCRGZDU0FBSUFFYkN4QUFJQUJCSUVZZ0FFRjNha0VGU1hJTFhBRUNmeUFBTEFBQUlnSWdBU3dBQUNJRFJ5QUNSWElFZnlBQ0lRRWdBd1VEZnlBQVFRRnFJZ0FzQUFBaUFpQUJRUUZxSWdFc0FBQWlBMGNnQWtWeUJIOGdBaUVCSUFNRkRBRUxDd3NoQUNBQlFmOEJjU0FBUWY4QmNXc0xLQUVDZnlBQUlRRURRQ0FCUVFScUlRSWdBU2dDQUFSQUlBSWhBUXdCQ3dzZ0FTQUFhMEVDZFF2SUF3RUhmeUFBS0FJRUlRVWdBa0h3ayt2Y0Ewc0VRQ0FBS0FJQUlnTkJPRFlDRkNBRFFRRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBRkJBVXNFUUNBQUtBSUFJZ05CRHpZQ0ZDQURJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUpCQ0NBQ1FRZHhJZ05yUVFBZ0F4dHFJUVFDUUFKQUlBVkJOR29nQVVFQ2RHb2lDQ2dDQUNJQ0JFQURRQUpBSUFJb0FnZ2dCRThFUUNBQ0lRQU1BUXNnQWlnQ0FDSURCRUFnQXlFQ0RBSUZJQUloQXd3RUN3QUxDd1ZCQUNFRERBRUxEQUVMSUFSQjhKUHIzQU1nQkdzaUFpQUJRUUowUWVDSEFVSG9od0VnQTBVaUNSdHFLQUlBSWdFZ0FTQUNTeHNpQVdvaUFrRVFhaUlHRUVRaUJ3Ui9JQVloQVNBSEJRTi9JQUZCNUFCSkJFQWdBQ2dDQUNJQ1FUZzJBaFFnQWtFQ05nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBRUlBRkJBWFlpQVdvaUFrRVFhaUlHRUVRaUIwVU5BQ0FHSVFFZ0J3c0xJUUFnQlNBQklBVW9Ba3hxTmdKTUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUNBQ05nSUlJQWtFUUNBSUlBQTJBZ0FGSUFNZ0FEWUNBQXNMSUFBZ0JDQUFLQUlFSWdGcU5nSUVJQUFnQUNnQ0NDQUVhellDQ0NBQVFSQnFJQUZxQ3lnQkFuOENmeU1HSVFNakJrRVFhaVFHSUFCQkEwRzBod0ZCdk5BQ1FTQWdBUkFKSUFNTEpBWUxsd1VCQkg4akJpRUVJd1pCRUdva0JpQUJJQU1ROFFPT0VFTWlCallDQUNBRFFRRWdCblN5bFJEU0FTRURJQUlnQUNvQ0hDQURsQkR3QXhCRElnWTJBZ0FnQmlBQUtBSVVRWDlxUmdSQUlBRWdBU2dDQUVFQmFqWUNBQ0FDUVFBMkFnQkJBQ0VHQ3dKQUFrQWdBU2dDQUNJRlFRQklCRUFnQVVFQU5nSUFRUUFoQmd3QkJTQUZJQUFvQWhBaUJVNEVRQ0FCSUFWQmYybzJBZ0FnQUNnQ0ZFRi9haUVHREFJTEN3d0JDeUFDSUFZMkFnQUxJQUVvQWdBaUJVRi9UQVJBSUFSQndNZ0RRWVdaQWhBM1FhaVpBaEEzUWUraUFoQTNRWXdDRUQ1QjlxSUNFRGRCcnBvQ0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FISUFFUVFDQUhFRDhRQUFzZ0JTQUFLQUlRVGdSQUlBUkJ3TWdEUWNhYUFoQTNRYWlaQWhBM1FlK2lBaEEzUVkwQ0VENUI5cUlDRURkQjhwb0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCa0YvVEFSQUlBUkJ3TWdEUVoyYkFoQTNRYWlaQWhBM1FlK2lBaEEzUVk0Q0VENUI5cUlDRURkQnY1c0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCaUFBS0FJVVNBUkFJQVFrQmdVZ0JFSEF5QU5CMXBzQ0VEZEJxSmtDRURkQjc2SUNFRGRCandJUVBrSDJvZ0lRTjBHSm5BSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCQkE4SUFJZ0FCQkFJQUlRUHhBQUN3c09BQ0FBSUFFZ0FrRUNkQkJNR2d1dEFRQWdBQ0FBS2dJQUlBRXFBZ0FnQXBTU09BSUFJQUFnQUNvQ0JDQUJLZ0lFSUFLVWtqZ0NCQ0FBSUFBcUFnZ2dBU29DQ0NBQ2xKSTRBZ2dnQUNBQUtnSU1JQUVxQWd3Z0FwU1NPQUlNSUFBZ0FDb0NFQ0FCS2dJUUlBS1VramdDRUNBQUlBQXFBaFFnQVNvQ0ZDQUNsSkk0QWhRZ0FDQUFLZ0lZSUFFcUFoZ2dBcFNTT0FJWUlBQWdBQ29DSENBQktnSWNJQUtVa2pnQ0hDQUFJQUFxQWlBZ0FTb0NJQ0FDbEpJNEFpQUxVUUVCZjBHdzNRTW9BZ0FpQVNBQVFRTnFRWHh4YWlJQVFRQklCRUJCcE1VRFFUQTJBZ0JCZnc4TElBQVFKMHNFUUNBQUVDUkZCRUJCcE1VRFFUQTJBZ0JCZnc4TEMwR3czUU1nQURZQ0FDQUJDd3NBSUFDN0VOMEp0aEJEQ3lvQkFYOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBRUgvLy8vL0J5QUJJQU1RcVFFYUlBTWtCZ3NPQUNBQVFlaUpBU2dDQUJEL0JBdUdBUUlDZndGK0lBQ25JUUlnQUVMLy8vLy9EMVlFUUFOQUlBRkJmMm9pQVNBQUlBQkNDaEQyQVNJRVFncCtmYWRCL3dGeFFUQnlPZ0FBSUFCQy8vLy8vNThCVmdSQUlBUWhBQXdCQ3dzZ0JLY2hBZ3NnQWdSQUEwQWdBVUYvYWlJQklBSWdBa0VLRUVnaUEwRUtiR3RCTUhJNkFBQWdBa0VLVHdSQUlBTWhBZ3dCQ3dzTElBRUxHZ0FnQUNBQkVLb0NJZ0JCQUNBQUxRQUFJQUZCL3dGeFJoc0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVlDSEFVR3V0d0pCQWlBQkVBa2dBd3NrQmdzTkFDQUFLQUlFSUFFb0FnUkxDeEFBSUFBZ0FUWUNBQ0FBSUFJMkFnUUxEUUFnQUNnQ0VDQUJRUlJzYWdzUUFDQUFLQUlFSUFFZ0FDZ0NBR3hxQ3dnQUlBQkI5QUJxQ3d3QUlBQWdBU0FBSUFGS0d3cy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVh4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVDZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFKMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUNkQ0FFYWpZQ0RBc0dBRUVZRUFJTENBQkJEUkFDUVFBTGl3RUJBMzhqQmlFREl3WkJFR29rQmlBQ1FlLy8vLzhEU3dSQUVBQUxJQUpCQWtrRVFDQUFJQUk2QUFzZ0FDRUVCU0FDUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBallDQkFzTElBUWdBU0FDRUtjQklBTkJBRFlDQUNBQ1FRSjBJQVJxSUFNUWJpQURKQVlMdVFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFNkFBQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJDZ3NoQVNBRFFRRnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUTNRSWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FDQUNhaUlBSUFNUVh5QUVRUUE2QUFBZ0FFRUJhaUFFRUY4Z0F5UUdDN2dCQVFWL0lBSW9BZ0FnQUNnQ0FDSURJZ1pySWdWQkFYUWlCRUVFSUFRYlFYOGdCVUgvLy8vL0Iwa2JJUVVnQVNnQ0FDRUhJQU5CQUNBQUtBSUVRWkVCUnlJRUd5QUZFT2dCSWdORkJFQVFBQXNnQkFSQUlBQWdBellDQUFVZ0FDZ0NBQ0VFSUFBZ0F6WUNBQ0FFQkVBZ0JDQUFLQUlFUWY4QmNVR3NBMm9SQVFBZ0FDZ0NBQ0VEQ3dzZ0FFR1NBVFlDQkNBQklBY2dCbXRCQW5WQkFuUWdBMm8yQWdBZ0FpQUFLQUlBSUFWQkFuWkJBblJxTmdJQUM2UURBUU4vQW44Q1FDQUNJQU1vQWdBaUNrWWlDMFVOQUNBQUlBa29BbUJHSWd4RkJFQWdDU2dDWkNBQVJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBQ0FGUmlBR0tBSUVJQVlzQUFzaUJrSC9BWEVnQmtFQVNCdEJBRWR4QkVCQkFDQUlLQUlBSWdBZ0IydEJvQUZPRFFFYUlBUW9BZ0FoQVNBSUlBQkJCR28yQWdBZ0FDQUJOZ0lBSUFSQkFEWUNBRUVBREFFTElBbEI2QUJxSVFkQkFDRUZBMzhnQlVFYVJnUi9JQWNGSUFWQkFXb2hCaUFBSUFWQkFuUWdDV29pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBSmF5SUZRUUoxSVFBZ0JVSGNBRW9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dCVUhZQUU0RVFFRi9JQXNOQXhwQmZ5QUtJQUpyUVFOT0RRTWFRWDhnQ2tGL2Fpd0FBRUV3UncwREdpQUVRUUEyQWdBZ0FFSHc3d0JxTEFBQUlRQWdBeUFLUVFGcU5nSUFJQW9nQURvQUFFRUFEQU1MQ3lBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQUlBUWdCQ2dDQUVFQmFqWUNBRUVBQ3dzTERRQWdBQ2dDQUJBNElBQVFPQXVyQXdFRGZ3Si9Ba0FnQWlBREtBSUFJZ3BHSWd0RkRRQWdDUzBBR0NBQVFmOEJjVVlpREVVRVFDQUpMUUFaSUFCQi93RnhSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUVIL0FYRWdCVUgvQVhGR0lBWW9BZ1FnQml3QUN5SUdRZjhCY1NBR1FRQklHMEVBUjNFRVFFRUFJQWdvQWdBaUFDQUhhMEdnQVU0TkFSb2dCQ2dDQUNFQklBZ2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0JFRUFOZ0lBUVFBTUFRc2dDVUVhYWlFSFFRQWhCUU4vSUFWQkdrWUVmeUFIQlNBRlFRRnFJUVlnQlNBSmFpSUZMUUFBSUFCQi93RnhSZ1IvSUFVRklBWWhCUXdDQ3dzTElBbHJJZ0JCRjBvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQUVFV1RnUkFRWDhnQ3cwREdrRi9JQW9nQW10QkEwNE5BeHBCZnlBS1FYOXFMQUFBUVRCSERRTWFJQVJCQURZQ0FDQUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFRUUFNQXdzTElBQkI4TzhBYWl3QUFDRUFJQU1nQ2tFQmFqWUNBQ0FLSUFBNkFBQWdCQ0FFS0FJQVFRRnFOZ0lBUVFBTEN3dW9GUUVKZnlNR0lRSWpCa0VRYWlRR0lBSWlCVUVFYWlFRElBSkJDR29pQmlBQU5nSUFJQUJCMUFGSkJFQkI4T3dBUWJEdUFDQUdFTmNFS0FJQUlRQUZBa0FnQXlBQUlBQkIwZ0VRU0NJSVFkSUJiQ0lDYXpZQ0FFRUFJUUJCc080QVFmRHZBQ0FERU5jRVFiRHVBR3RCQW5VaEJ3SkFBMEFDUUNBQ0lBZEJBblJCc080QWFpZ0NBR29oQTBFRklRSUNRQUpBQTBBZ0FrRXZUdzBCSUFNZ0FrRUNkRUh3N0FCcUtBSUFJZ0VRU0NJRUlBRkpEUU1nQWtFQmFpRUNJQUVnQkd3Z0EwY05BQXNNQVF0QjB3RWhBZ05BQWtBZ0F5QUNFRWdpQVNBQ1NRUi9JQU1oQUVFQkJTQURJQUVnQW14R0JIOUJDUVVnQXlBQ1FRcHFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRU1haUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJFR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVZ0F5QUNRUkpxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VXYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCSEdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVUNmeUFESUFKQkhtb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0VrYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FTaHFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCS21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRXVhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVRScUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJPbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFOGFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYzRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZUFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlUUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZW9BYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fld0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZmdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZb0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVk0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVp3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYXdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYm9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNBQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRBQmFpSUJFRWdpQ1NBQlNTRUVJQUVnQWtIU0FXb2dCQ0FESUFFZ0NXeEdJZ0Z5R3lFQ0lBTWdBQ0FFR3lFQVFRRkJDVUVBSUFFYklBUWJDd3NMQ3dzTEN3c0xDd3NMQ3dzTElnRkJEM0VPQ2dFQUFBQUFBQUFBQUFJQUN3c2dBUTBEQ3lBSUlBZEJBV29pQTBFd1JpSUJhaUlDSVFnZ0FrSFNBV3doQWtFQUlBTWdBUnNoQnd3QkN3c2dCaUFETmdJQUlBTWhBQXdCQ3lBR0lBTTJBZ0FMQ3lBRkpBWWdBQXVRQWdJQ2Z3UjlJQUM4SWdGQkFFZ2hBaUFCUVlDQWdBUkpJQUp5QkVBQ1FDQUJRZi8vLy84SGNVVUVRRU1BQUlDL0lBQWdBSlNWRHdzZ0FrVUVRRUhvZmlFQ0lBQkRBQUFBVEpTOElRRU1BUXNnQUNBQWswTUFBQUFBbFE4TEJTQUJRZi8vLy9zSFN3UkFJQUFQQ3lBQlFZQ0FnUHdEUmdSL1F3QUFBQUFQQlVHQmZ3c2hBZ3NnQVVHTjlxc0NhaUlCUWYvLy93TnhRZk9KMVBrRGFyNURBQUNBdjVJaUF5QURRd0FBQUVDU2xTSUZJQVdVSWdZZ0JwUWhCQ0FDSUFGQkYzWnFzaUlBUTRCeE1UK1VJQU1nQUVQUjl4YzNsQ0FGSUFNZ0EwTUFBQUEvbEpRaUFDQUdJQVJEN3VtUlBwUkRxcW9xUDVLVUlBUWdCRU1tbm5nK2xFTVR6c3cra3BTU2twU1NJQUNUa3BJTGxBRUJCSHdnQUNBQW9pSUNJQUtpSVFORUFBQUFBQUFBOEQ4Z0FrUUFBQUFBQUFEZ1A2SWlCS0VpQlVRQUFBQUFBQUR3UHlBRm9TQUVvU0FDSUFJZ0FpQUNSSkFWeXhtZ0Fmbytva1IzVWNFV2JNRld2NkNpUkV4VlZWVlZWYVUvb0tJZ0F5QURvaUFDUk1TeHRMMmU3aUUrSUFKRTFEaUl2dW42cUQyaW9hSkVyVktjZ0U5K2tyNmdvcUNpSUFBZ0FhS2hvS0FMbFFFQkEzd2dBQ0FBb2lJRElBTWdBNktpSUFORWZOWFBXanJaNVQyaVJPdWNLNHJtNVZxK29LSWdBeUFEUkgzK3NWZmpIY2Mrb2tUVlljRVpvQUVxdjZDaVJLYjRFQkVSRVlFL29LQWhCU0FESUFDaUlRUWdBQ0FFUkVsVlZWVlZWY1Uvb2lBRElBRkVBQUFBQUFBQTREK2lJQVFnQmFLaG9pQUJvYUNoSUFRZ0F5QUZva1JKVlZWVlZWWEZ2NkNpSUFDZ0lBSWJDd3NBSUFBZ0FTQUNFUGtFQ3hvQUlBQW9BZ0FnQUNnQ0JDSUFJQUFRK0FSRlFSOTBRUjkxQzRnREFRWi9Jd1loQnlNR1FSQnFKQVlnQTBHMHhRTWdBeHNpQlNnQ0FDRURBbjhDUUNBQkJIOENmeUFBSUFjZ0FCc2hCaUFDQkVBQ1FBSkFJQU1FUUNBRElRQWdBaUVEREFFRklBRXNBQUFpQUVGL1NnUkFJQVlnQUVIL0FYRTJBZ0FnQUVFQVJ3d0ZDeUFCTEFBQUlRQkI2SWtCS0FJQUtBSUFSUVJBSUFZZ0FFSC92d054TmdJQVFRRU1CUXNnQUVIL0FYRkJ2bjVxSWdCQk1rc05CaUFCUVFGcUlRRWdBRUVDZEVIUU5Hb29BZ0FoQUNBQ1FYOXFJZ01OQVFzTUFRc2dBUzBBQUNJSVFRTjJJZ1JCY0dvZ0JDQUFRUnAxYW5KQkIwc05CQ0FEUVg5cUlRUWdDRUdBZjJvZ0FFRUdkSElpQUVFQVNBUkFJQUVoQXlBRUlRRURRQ0FCUlEwQ0lBTkJBV29pQXl3QUFDSUVRY0FCY1VHQUFVY05CaUFCUVg5cUlRRWdCRUgvQVhGQmdIOXFJQUJCQm5SeUlnQkJBRWdOQUFzRklBUWhBUXNnQlVFQU5nSUFJQVlnQURZQ0FDQUNJQUZyREFJTElBVWdBRFlDQUF0QmZnc0ZJQU1OQVVFQUN3d0JDeUFGUVFBMkFnQkJwTVVEUVJrMkFnQkJmd3NoQ1NBSEpBWWdDUXZJQ3dFSWZ5QUFLQUlZSWdRb0FnQWhCaUFFS0FJRUlRVWdBQ0FCTmdMY0FTQUFJQUkyQXVBQklBQWdBellDNUFFQ1FDQUZCSDhnQmdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUZJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUVlnQlVGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUW9nQWtGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUEyQXRRQklBSkJmMm9pQWdSL0lBTUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQWlBRUtBSUFDeUlCUVFGcUlRTWdBQ0FCTFFBQVFRaDBJZ1UyQWlBZ0FrRi9haUlDQkVBZ0F5RUJJQVVoQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQUFvQWlBaEF5QUVLQUlBSVFFTElBRkJBV29oQlNBQUlBRXRBQUFnQTJvMkFpQWdBa0YvYWlJQ0JIOGdCUVVnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQkJDSFFpQlRZQ0hDQUNRWDlxSWdJRVFDQURJUUVnQlNFREJTQUVLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUUlnQUNnQ0hDRURJQVFvQWdBaEFRc2dBVUVCYWlFRklBQWdBUzBBQUNBRGFqWUNIQ0FDUVg5cUlnRUVRQ0FGSVFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnQWhBaUFFS0FJRUlRRUxJQUFnQWkwQUFEWUNKQ0FBS0FJQUlnTWdBQ2dDdUFNMkFoZ2dBeUFBS0FJY05nSWNJQU1nQUNnQ0lEWUNJQ0FESUFBb0FpUTJBaVFnQTBIbUFEWUNGQ0FES0FJRUlRTWdBRUVCSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFES0FJUUJFQWdBQ2dDQUNJRFFUMDJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN5QUtRZjhCY1NBR1FmOEJjVUVJZEhKQmVHb2hCUUpBQWtBZ0FDZ0NJRVVOQUNBQUtBSWNSUTBBSUFBb0FpUWlBMEVCU0EwQURBRUxJQUFvQWdBaUEwRWhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFDQUFLQUlrSVFNTElBTkJBMndnQlVjRVFDQUFLQUlBSWdOQkREWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQW9BdGdCUlFSQUlBQW9BZ1FvQWdBaEF5QUFJQUJCQVNBQUtBSWtRZGdBYkNBRFFUOXhRY29CYWhFRUFEWUMyQUVMSUFGQmYyb2hBU0FDUVFGcUlRSWdBQ2dDSkVFQVNnUkFBa0JCQUNFRkEwQUNRQ0FCQkg4Z0FTRUlJQUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaENDQUVLQUlBQ3lJSExRQUFJUUlnQUNnQzJBRWhBeUFGQkVBQ1FDQURJUUZCQUNFR0EwQWdBU2dDQUNBQ1J3UkFJQUZCMkFCcUlRRWdCa0VCYWlJR0lBVkpEUUVNQWdzTElBTW9BZ0FoQVNBRFFkZ0FhaUVDSUFWQkFVc0VmMEVCSVFZRFFDQUNLQUlBSWdrZ0FTQUpJQUZLR3lFQklBSkIyQUJxSVFJZ0JrRUJhaUlHSUFWSERRQUxJQVZCMkFCc0lBTnFCU0FDQ3lFTElBRkJBV29oQWlBTElRRUxCU0FESVFFTElBZEJBV29oQmlBQklBSTJBZ0FnQVNBRk5nSUVJQWhCZjJvaUF3Ui9JQVlGSUFRb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBQ3lJQ1FRRnFJUVlnQVNBQ0xRQUFJZ0pCQkhZMkFnZ2dBU0lISUFKQkQzRTJBZ3dnQVNBRFFYOXFJZ01FZnlBR0JTQUVLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUU1nQkNnQ0FBc2lBaTBBQURZQ0VDQUFLQUlBSWdZZ0J5Z0NBRFlDR0NBR0lBRW9BZ2cyQWh3Z0JpQUhLQUlNTmdJZ0lBWWdCeWdDRURZQ0pDQUdRZWNBTmdJVUlBWW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQTBGL2FpRUJJQUpCQVdvaEFpQUZRUUZxSWdVZ0FDZ0NKRWdOQVF3Q0N3c01BZ3NMSUFBb0F0QURRUUUyQWhBZ0JDQUNOZ0lBSUFRZ0FUWUNCRUVCRHd0QkFBczBBUUYvSUFBb0FnUWdBU2dDQ0JDTEFTSUNCRUFnQWlBQUlBRVFyUUpCQUVnRVFDQUNFRWxCQUNFQ0N3VkJBQ0VDQ3lBQ0N5UUFJQVVFZlNBQUlBRWdBaUFESUFRZ0JoREtCZ1VnQUNBQklBSWdBeUFFRU1zR0N3djNCZ01IZndWOUEzd2pCaUVJSXdaQjRBRnFKQVlnQ0VISUFXb2hCeUFJUWRRQmFpSUpJQVJCQkhRUVJDSU5OZ0lBSUExRkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkN5QUlRZEFCYWlFSElBa2dCRUVZYkJCRUlndzJBZ1FnREVVRVFFRUFRUU5CdWRnQ0lBY1FQVUVCRUFFTElBaEI0QUJxSVFvZ0NFSEFBV29oQzBFQUlRY0RRQ0FISUFSSUJFQWdFQ0FIUVF4c0lBTnFLZ0lBa2lFUUlBOGdCMEVNYkNBRGFpb0NCSkloRHlBT0lBZEJER3dnQTJvcUFnaVNJUTRnQjBFQmFpRUhEQUVMQ3lBUUlBU3lJaEdWSVJBZ0R5QVJsU0VQSUE0Z0VaVWhEa0VBSVFjRFFDQUhJQVJJQkVBZ0IwRUVkQ0FOYWlBSFFRTjBJQUpxS2dJQXV6a0RBQ0FIUVFSMElBMXFJQWRCQTNRZ0Ftb3FBZ1M3T1FNSUlBZEJHR3dnREdvZ0IwRU1iQ0FEYWlvQ0FDQVFrN3M1QXdBZ0IwRVliQ0FNYWlBSFFReHNJQU5xS2dJRUlBK1R1emtEQ0NBSFFSaHNJQXhxSUFkQkRHd2dBMm9xQWdnZ0RwTzdPUU1RSUFkQkFXb2hCd3dCQ3dzZ0NTQUVOZ0lJUVFBaEFnTkFJQUpCQTBjRVFFRUFJUU1EUUNBRFFRTkhCRUFnQWtFRmRDQUthaUFEUVFOMGFpQUNRUVIwSUFGcUlBTkJBblJxS2dJQXV6a0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0NpQUJLZ0lNSUJBZ0FTb0NBSlFnRHlBQktnSUVsSklnRGlBQktnSUlsSktTdXprREdDQUtJQUVxQWh3Z0VDQUJLZ0lRbENBUElBRXFBaFNVa2lBT0lBRXFBaGlVa3BLN09RTTRJQW9nQVNvQ0xDQVFJQUVxQWlDVUlBOGdBU29DSkpTU0lBNGdBU29DS0pTU2tyczVBMWdnQmdSQUlBQWdDU0FLSUFnZ0N4Q2RCRUVBU0FSQUlBdEVBQUFBQUlUWGwwRTVBd0FMQlNBQUlBa2dDaUFJSUFzUTZnRkJBRWdFUUNBTFJBQUFBQUNFMTVkQk9RTUFDd3NnQ1NnQ0FCQTRJQWtvQWdRUU9FRUFJUUFEUUNBQVFRTkhCRUJCQUNFQkEwQWdBVUVEUndSQUlBQkJCSFFnQldvZ0FVRUNkR29nQUVFRmRDQUlhaUFCUVFOMGFpc0RBTFk0QWdBZ0FVRUJhaUVCREFFTEN5QUFRUUZxSVFBTUFRc0xJQVVnQ0NzREdDQUlLd01BSUJDN0loT2lvU0FJS3dNSUlBKzdJaFNpb1NBSUt3TVFJQTY3SWhXaW9iWTRBZ3dnQlNBSUt3TTRJQWdyQXlBZ0U2S2hJQWdyQXlnZ0ZLS2hJQWdyQXpBZ0ZhS2h0amdDSENBRklBZ3JBMWdnQ0VGQWF5c0RBQ0FUb3FFZ0NDc0RTQ0FVb3FFZ0NDc0RVQ0FWb3FHMk9BSXNJQXNyQXdDMklSSWdDQ1FHSUJJTEp3RUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUVRZkFYUWJ2VUFrRUdJQUVRQ1NBREN5UUdDd29BSUFCQkdHb1FsUUVMRlFBZ0FFTUFBSUEvSUFFZ0FVTUFBQUFBV3h1VkN5SUFJQUFnQVNvQ0FDQUNLZ0lBa3pnQ0FDQUFJQUVxQWdRZ0Fpb0NCSk00QWdRTHlRSUJCSDhqQmlFREl3WkJFR29rQmlBQktBSUFRUUpIQkVBZ0EwSEF5QU5COE9RQkVEZEJtZUFCRURkQjc2SUNFRGRCNVFJUVBrSDJvZ0lRTjBHZjVRRVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdBeEE4SUFRZ0JSQkFJQVFRUHhBQUN3SkFBa0FDUUFKQUFrQWdBaWdDQUE0REFnQUJBd3NnQVNnQ0dDQUFLQUlnSUFJb0FoZ2dBaWdDQkNBQ0tBSUlFTllJREFNTElBRW9BaGdnQUNnQ0xDQUNLQUlZSUFJb0FnUWdBaWdDQ0JEVkNBd0NDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQncrVUJRY1BsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBd0JDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQjF1VUJRZGJsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBc2dBeVFHQzBBQkFYMGdBRUVCSUFSMHNpSUZJQUtVUkFBQUFBQUFBUEEvSUFSQmYyb1Fud0ZFQUFBQUFBQUE0TCtndGlJQ2tqZ0NBQ0FCSUFVZ0E1UWdBcEk0QWdBTHhBRUJCWDhqQmlFREl3WkJJR29rQmtISDQvRTRJQUFvQWdRZ0FDZ0NBR3RCSkJBNVFRRnFJZ0pKQkVBUUFBVWdBeUFDSUFBb0FnZ2dBQ2dDQUNJRWEwRWtFRGtpQlVFQmRDSUdJQVlnQWtrYlFjZmo4VGdnQlVIajhiZ2NTUnNnQUNnQ0JDQUVhMEVrRURrZ0FFRUlhaERRQWlBREtBSUlJZ0lnQVNrQ0FEY0NBQ0FDSUFFcEFnZzNBZ2dnQWlBQktRSVFOd0lRSUFJZ0FTa0NHRGNDR0NBQ0lBRW9BaUEyQWlBZ0F5QUNRU1JxTmdJSUlBQWdBeERQQWlBREVNNENJQU1rQmdzTEdnQkRBQUFBQUNBQklBQWdBQ0FCWGhzZ0FFTUFBQUFBWFJzTGx3RUJCSDhnQVVFRWFpSURLQUlBUVFBZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCQW5WclFRSjBhaUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTDRBRUNBbjhCZlNNR0lRWWpCa0V3YWlRR0lBQUVmeUFBUVFocUlBRWdCaEQ2QVNBQVFiZ0JhaUFHS2dJTUlBWXFBZ0FnQXBRZ0Jpb0NCQ0FEbEpLU0lBWXFBaXdnQmlvQ0lDQUNsQ0FHS2dJa0lBT1VrcElpQ0pVZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFJbFNBRUlBVVFiVUVmZFFVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVJSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NDQUNsVGdDQUVFQUN5RUhJQVlrQmlBSEN6UUJBbjhEUUFKQUlBQWdBUkNXQXlJQ1JRUkFRUUFoQWd3QkN5QUFMQUFBUVFwcklnTkJBQ0FEUVJsSEcwVU5BUXNMSUFJTFhRRUJmeUFCSUFCSUlBQWdBU0FDYWtoeEJFQWdBU0FDYWlFQklBQWlBeUFDYWlFQUEwQWdBa0VBU2dSQUlBSkJBV3NoQWlBQVFRRnJJZ0FnQVVFQmF5SUJMQUFBT2dBQURBRUxDeUFESVFBRklBQWdBU0FDRUV3YUN5QUFDNE1CQVFKL0lBQkZCRUFnQVJCRUR3c2dBVUcvZjBzRVFFR2t4UU5CTURZQ0FFRUFEd3NnQUVGNGFrRVFJQUZCQzJwQmVIRWdBVUVMU1JzUTRBa2lBZ1JBSUFKQkNHb1BDeUFCRUVRaUFrVUVRRUVBRHdzZ0FpQUFJQUJCZkdvb0FnQWlBMEY0Y1VFRVFRZ2dBMEVEY1J0cklnTWdBU0FESUFGSkd4Qk1HaUFBRURnZ0FndFpBUUovQTBBZ0FDQUJFSllEQkVBZ0FCQmdJUUlEUUFKQUlBSkZEUUFDUUNBQUlBSkJmMm9pQW1vaUF5d0FBRUVLYXc0RUFBRUJBQUVMSUFOQkFEb0FBQXdCQ3dzZ0FDd0FBQ0lDUVFBZ0FrRWpSeHRGRFFFTEN3dm1CQUlJZndSOEl3WWhDQ01HUWJBQmFpUUdJQWhCcUFGcUlRVWdDRUdnQVdvaEJpQUlRWkFCYWlFS0lBaEJNR29oQ3lBQktBSUlJZ2RCQTBnRWYwRi9CUUovSUFkQjRBQnNFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBWVFQVUYvREFFTElBZEJCSFFRUkNJSFJRUkFRUUJCQTBISzJBSWdCUkE5SUFrUU9FRi9EQUVMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQlVFRmRDQURhaUFHUVFOMGFpQUZRUVYwSUFKcUlBWkJBM1JxS3dNQU9RTUFJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQzBFQUlRWUNRQUpBQWtBRFFBSkFJQUFnQXlBTEVMTUNSQUFBQUFBQUFBQUFJUTFCQUNFRkEwQWdCU0FCS0FJSUlnSklCRUFnQ2lBTElBRW9BZ1FnQlVFWWJHb1F1d1JCQUVnTkFpQUJLQUlBSWdJZ0JVRUVkR29yQXdBZ0Npc0RBS0VoRGlBRlFRUjBJQUpxS3dNSUlBb3JBd2loSVE4Z0JVRUJkQ0lDUVFOMElBZHFJQTQ1QXdBZ0FrRUJja0VEZENBSGFpQVBPUU1BSUEwZ0RpQU9vaUFQSUEraW9LQWhEU0FGUVFGcUlRVU1BUXNMSUEwZ0FyZWpJZzBnQUNzRGFHTU5CQ0FHQkVBZ0RTQUFLd040WXdSQUlBMGdFS01nQUNzRGNHUU5CZ3NMSUFZZ0FDZ0NZRVlOQkVFQUlRVURRQ0FGSUFKSUJFQWdCVUVNYkVFRGRDQUphaUFBSUFNZ0FTZ0NCQ0FGUVJoc2FoQzVCRUVBU0EwRUlBVkJBV29oQlNBQktBSUlJUUlNQVFzTElBZ2dCeUFKSUFKQkFYUVFzd1JCQUVnTkF5QURJQWdRc2dRZ0RTRVFJQVpCQVdvaEJnd0JDd3NnQ1NBSEVPQUNRWDhNQXdzZ0NTQUhFT0FDUVg4TUFnc2dDU0FIRU9BQ1FYOE1BUXNnQkNBTk9RTUFJQWtRT0NBSEVEaEJBQXNMSVF3Z0NDUUdJQXdMWEFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVJBN0lBTkJxTTRERURvaUFTZ0NBQ2dDRUNFRUlBSWdBU0FFUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBTVFQQ0FESkFZTENRQWdBQ0FCRUlvTEMxd0JBbjhqQmlFREl3WkJFR29rQmlBRElBRVFPeUFEUVpET0F4QTZJZ0VvQWdBb0FoQWhCQ0FDSUFFZ0JFSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FERUR3Z0F5UUdDeEFBSUFBZ0FTQUFLQUlZUlhJMkFoQUxld0VCZnlBQVFYOUdCRUJCZnlFQUJRSkFJQUVvQWt4QmYwb0VmMEVCQlVFQUN4b0NRQUpBSUFFb0FnUWlBZzBBSUFFUXB3SWFJQUVvQWdRaUFnMEFEQUVMSUFJZ0FTZ0NMRUY0YWtzRVFDQUJJQUpCZjJvaUFqWUNCQ0FDSUFBNkFBQWdBU0FCS0FJQVFXOXhOZ0lBREFJTEMwRi9JUUFMQ3lBQUMxUUJBbjhnQVVFZlN3Ui9JQUFnQUNnQ0FDSUNOZ0lFSUFCQkFEWUNBQ0FCUVdCcUlRRkJBQVVnQUNnQ0JDRUNJQUFvQWdBTElRTWdBQ0FDSUFGMElBTkJJQ0FCYTNaeU5nSUVJQUFnQXlBQmREWUNBQXVYQXdFRmZ5TUdJUWdqQmtId0FXb2tCaUFJUWVnQmFpSUpJQU1vQWdBaUJ6WUNBQ0FKSUFNb0FnUWlBellDQkNBSUlBQTJBZ0FDUUFKQUlBTWdCMEVCUjNJRVFFRUFJQUZySVFzZ0FDQUVRUUowSUFacUtBSUFheUlLSUFBZ0FrRS9jVUdLQVdvUkFnQkJBVWdFUUVFQklRTUZRUUVoQnlBRlJTRUZJQUFoQXlBS0lRQURmeUFGSUFSQkFVcHhCRUFnQkVGK2FrRUNkQ0FHYWlnQ0FDRUtJQU1nQzJvaUJTQUFJQUpCUDNGQmlnRnFFUUlBUVg5S0JFQWdCeUVGSUFNaEFBd0ZDeUFGSUFwcklBQWdBa0UvY1VHS0FXb1JBZ0JCZjBvRVFDQUhJUVVnQXlFQURBVUxDeUFIUVFGcUlRVWdCMEVDZENBSWFpQUFOZ0lBSUFrZ0NSQ0JBeUlERVBJQklBTWdCR29oQkNBSktBSUFRUUZISUFrb0FnUkJBRWR5UlEwRElBQWdCRUVDZENBR2FpZ0NBR3NpQ2lBSUtBSUFJQUpCUDNGQmlnRnFFUUlBUVFGSUJIOGdCU0VEUVFBRklBQWhBeUFGSVFkQkFTRUZJQW9oQUF3QkN3c2hCUXNGUVFFaEF3c2dCVVVFUUNBRElRVU1BUXNNQVFzZ0FTQUlJQVVRL3dJZ0FDQUJJQUlnQkNBR0VLSUNDeUFJSkFZTFZBRUNmeUFCUVI5TEJIOGdBQ0FBS0FJRUlnSTJBZ0FnQUVFQU5nSUVJQUZCWUdvaEFVRUFCU0FBS0FJQUlRSWdBQ2dDQkFzaEF5QUFJQU5CSUNBQmEzUWdBaUFCZG5JMkFnQWdBQ0FESUFGMk5nSUVDMTRCQVg4Q2Z5QUFLQUpNUVFCT0JFQWdBQ2dDQkNJQklBQW9BZ2hKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUTlRRUxEQUVMSUFBb0FnUWlBU0FBS0FJSVNRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFUFVCQ3dzTEVnQWdBQ2dDVEJvZ0FDQUJyQ0FDRUlrREMwa0JBMzhqQmlFQkl3WkJFR29rQmlBQUVLY0NCSDlCZndVZ0FDZ0NJQ0VDSUFBZ0FVRUJJQUpCUDNGQnlnRnFFUVFBUVFGR0JIOGdBUzBBQUFWQmZ3c0xJUU1nQVNRR0lBTUxFQUFnQVZBRWZrSUFCU0FBSUFHQUN3dGVBUUYvSUFSQkFFd0VRQThMSUFGQkFuUWdBR29oQUNBRFFRSjBJQUpxSVFFRFFDQUFRUVJxSVFJZ0FVRUVhaUVESUFFb0FnQWdBQ2dDQUNBRkVFd2FJQVJCZjJvaEJpQUVRUUZLQkVBZ0FpRUFJQU1oQVNBR0lRUU1BUXNMQ3hNQUlBRWdBRUYvYW1vaUFDQUFJQUVRVDJzTHZDMEJDWDhqQmlFS0l3WkJvQXBxSkFZZ0FrRURTd1JBSUFBb0FnQWlCVUUwTmdJVUlBVWdBallDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQUpCQW5ScUlBQkJ4QUZxSUFKQkFuUnFJQUZCQUVjaURCc29BZ0FpQmtVRVFDQUFLQUlBSWdGQk5EWUNGQ0FCSUFJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QURLQUlBSWdSRkJFQWdBQ2dDQkNnQ0FDRUJJQU1nQUVFQlFaQUxJQUZCUDNGQnlnRnFFUVFBSWdRMkFnQUxJQUFoQ3lBS1FaQUlhaUVKSUFRZ0JqWUNqQUVnQml3QUFTSUNRZjhCY1NFQklBSUVRQ0FKUVFFZ0FSQkZHZ1ZCQUNFQkN5QUJJQVlzQUFJaUEwSC9BWEVpQldvaUFrR0FBa3NFUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFJZ0JSQkZHaUFDSVFFTElBRWdCaXdBQXlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQXlBRkVFVWFJQUloQVFzZ0FTQUdMQUFFSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VFSUFVUVJSb2dBaUVCQ3lBQklBWXNBQVVpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUVVnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FCaUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJCaUFGRUVVYUlBSWhBUXNnQVNBR0xBQUhJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUhJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBZ2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRZ2dCUkJGR2lBQ0lRRUxJQUVnQml3QUNTSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkNTQUZFRVVhSUFJaEFRc2dBU0FHTEFBS0lnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFS0lBVVFSUm9nQWlFQkN5QUJJQVlzQUFzaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFzZ0JSQkZHaUFDSVFFTElBRWdCaXdBRENJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRENBRkVFVWFJQUloQVFzZ0FTQUdMQUFOSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VOSUFVUVJSb2dBaUVCQ3lBQklBWXNBQTRpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUTRnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEeUFGRUVVYUlBSWhBUXNnQVNBR0xBQVFJZ0pCL3dGeElnTnFJZ2hCZ0FKS0JFQWdBQ2dDQUNJRlFRazJBaFFnQlNnQ0FDRUZJQXNnQlVIL0FYRkJyQU5xRVFFQUN5QUNCRUFnQVNBSmFrRVFJQU1RUlJvRklBRWhDQXNnQ0NBSmFrRUFPZ0FBSUFrc0FBQWlCUVJBUVFBaEFVRUFJUUlnQlNFREEwQWdCU0FEUVJoMFFSaDFSZ1JBQTBBZ0FrRUNkQ0FLYWlBQk5nSUFJQUZCQVdvaEFTQUZJQWtnQWtFQmFpSUNhaXdBQUNJRFJnMEFDd3NnQVVFQklBVjBUZ1JBSUFBb0FnQWlCMEVKTmdJVUlBY29BZ0FoQnlBTElBZEIvd0Z4UWF3RGFoRUJBQXNnQVVFQmRDRUJJQVZCQVdvaEJTQURRZjhCY1EwQUN3c2dCQ0FHTEFBQkJIOGdCRUVBSUFvb0FnQnJOZ0pNSUFZdEFBRWlBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRUUFoQVVGL0N6WUNCQ0FFSUFZc0FBSUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbEFnQVNBR0xRQUNhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFnZ2dCQ0FHTEFBREJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSlVJQUVnQmkwQUEyb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJTUlBUWdCaXdBQkFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1dDQUJJQVl0QUFScUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDRUNBRUlBWXNBQVVFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWx3Z0FTQUdMUUFGYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaFFnQkNBR0xBQUdCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pnSUFFZ0JpMEFCbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSVlJQVFnQml3QUJ3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNaQ0FCSUFZdEFBZHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0hDQUVJQVlzQUFnRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFtZ2dBU0FHTFFBSWFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWlBZ0JDQUdMQUFKQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKc0lBRWdCaTBBQ1dvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lrSUFRZ0Jpd0FDZ1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDY0NBQklBWXRBQXBxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNLQ0FFSUFZc0FBc0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBblFnQVNBR0xRQUxhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpd2dCQ0FHTEFBTUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSjRJQUVnQmkwQURHb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJd0lBUWdCaXdBRFFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2ZDQUJJQVl0QUExcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDTkNBRUlBWXNBQTRFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW9BQklBRWdCaTBBRG1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0k0SUFRZ0Jpd0FEd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDaEFFZ0FTQUdMUUFQYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBandnQkVGQWF5QUdMQUFRQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdLSUFTQUJJQVl0QUJCcVFYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0FDQUVRZi8vUHpZQ1JDQUVRWkFCYWtFQVFZQUlFRVVhSUFZc0FBRUVRRUVCSVFOQkFDRUJBMEFnQVNBR1FSRnFhaUVIUVlBQklRVWdBVUVDZENBS2FpZ0NBRUVIZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQVRZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUZKQkVBZ0FpRUREQUVMQ3dWQkFDRUJDeUFHTEFBQ0JFQkJBU0VEQTBBZ0FTQUdRUkZxYWlFSFFjQUFJUVVnQVVFQ2RDQUthaWdDQUVFR2RDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFqWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFKSkJFQWdBaUVEREFFTEN3c2dCaXdBQXdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQlhRaUNVRUNkR3BCQXpZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUlhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVKYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFS2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUxhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVNYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU9haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVQYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFZmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQU5KQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCSFFpQ1VFQ2RHcEJCRFlDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFSSkJFQWdBeUVDREFFTEN3c2dCaXdBQlFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQTNRaUJVRUNkR3BCQlRZQ0FDQUZJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUNhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGNpSUZRUUowYWtFRk5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVZKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCZ1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBblFpQTBFQ2RHcEJCallDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0EwRURjaUlEUVFKMGFrRUdOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFaSkJFQWdBeUVDREFFTEN3c2dCaXdBQndSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQVhRaUEwRUNkR3BCQnpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSURRUUowYWtFSE5nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQWRKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FDQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQWlBMEVDZEdwQkNEWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFMQUFBT2dBQUlBSkJBV29oQXlBQlFRRnFJUUVnQWlBR0xRQUlTUVJBSUFNaEFnd0JDd3NMSUF3Z0NFRUFTbkZGQkVBZ0NpUUdEd3RCQUNFQkEwQWdBU0FHUVJGcWFpMEFBRUVQU2dSQUlBQW9BZ0FpQWtFSk5nSVVJQUlvQWdBaEFpQUxJQUpCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUlCSUFoSERRQUxJQW9rQmd1OEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRFFRSjBJQUZxS2dJQUlBVXJBd0MybENBQlFSQnFJQU5CQW5ScUtnSUFJQVlyQXdpMmxKSWdBVUVnYWlBRFFRSjBhaW9DQUNBSEt3TVF0cFNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQU1xQWd3Z0JFRUZkQ0FBYWlzREdMYVNPQUlNSUFSQkFXb2hCQXdCQ3dzTCtsY0REbjhEZlFsOEl3WWhEU01HUVlBQ2FpUUdJQTFCMEFCcUlSSWdEVUdRQVdvaUQwUUFBQUFBQUFCWlFEa0RBQ0FQUkFBQUFBQUFBRmxBT1FNSUlBOUVBQUFBQUFDQVcwQTVBeEFnRDBRQUFBQUFBQUJaUURrREdDQVBSQUFBQUFBQWdGdEFPUU1nSUE5RUFBQUFBQUNBVzBBNUF5Z2dEMFFBQUFBQUFBQlpRRGtETUNBUFJBQUFBQUFBZ0Z0QU9RTTRBMEFnRUVFRVJ3UkFJQkJCQkhRZ0Vtb2dFRUVFZENBSmFpc0RBRGtEQUNBUVFRUjBJQkpxSUJCQkJIUWdDV29yQXdnNUF3Z2dFRUVCYWlFUURBRUxDeUFQSUJJZ0RSQ0pCeUFTS3dNQUloMGdFaXNERUNJZW9TSWZJQitpSUJJckF3Z2lIeUFTS3dNWUlpQ2hJaUVnSWFLZ0VITWhDU0FTS3dNZ0lpRWdFaXNETUNJaW9TSWpJQ09pSUJJckF5Z2lJeUFTS3dNNElpU2hJaVVnSmFLZ0VITWhFaUFlSUNHaEloNGdIcUlnSUNBam9TSWVJQjZpb0JCeklROGdJaUFkb1NJZElCMmlJQ1FnSDZFaUhTQWRvcUFRY3lFUUlCSWdDU0FTSUFsS0c3Y2dDcUlnQ3FJUWN5RVZJQkFnRHlBUUlBOUtHN2NnQ3FJZ0NxSVFjeUVRSUFBRVFDQUNJUWtEUUNBSlFRRjBJUklnQ1NBSlFRSjBiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFa0VDZEd3Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEJTQUNJUWtEUUNBSlFRRjBJUklnQ1NBSmJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0Vtd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xDeUFOUWVnQmFpRU1JQTFCNEFGcUlRNGdEVUhZQVdvaEV5QU5RZEFCYWlFUklBMUI4QUZxSVJBZ0RVSHNBV29oRHlBRElBa2dDU0FEU2hzaUNTQUNFRGtoRlNBRElCSWdFaUFEU2hzaUF5QUNFRGtoRWtRQUFBQUFBQUR3UHlBS29VUUFBQUFBQUFEZ1A2SkVBQUFBQUFBQUpFQ2lJUjBnQ2tRQUFBQUFBQUFrUUtJaENpQUNJQUpzSVJRQ2Z3SkFJQUVFUUNBVVFRUVFqUUlpQVVVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTEFrQWdCMEVDU1FSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRURiQ0lNYWkwQUFDQUVJQXhCQVdwcUxRQUFhaUFFSUF4QkFtcHFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBVWdCMEVCY2tFRFJnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTWFpMEFBQ0FFSUF4QkFYSnFMUUFBYWlBRUlBeEJBbkpxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnQjBFQ2NrRUdSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUUZ5YWkwQUFDQUVJQXhCQW5KcUxRQUFhaUFFSUF4QkEzSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSFFRVnJEZ29BQmdFQ0F3UUZBQUFBQmdzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VDZENBQmFpSU9JQXdnRGlnQ0FHbzJBZ0FMQ3lBSFFRRnFJUWNNQVFzTElBQkJBV29oQUF3QUFBc0FDeUFkUkFBQUFBQUFBRmxBb0NFZUlBTzNJU0VnQ2JjaElpQU5RVUJySVJNZ0FFRUJSaUVSUVFBaEFBTkFJQUFnQTA0TkJ5QWVJQW9nQUxkRUFBQUFBQUFBNEQrZ29pQWhvNkFoSFVFQUlRY0RRQ0FISUFsSUJFQWdFeXNEQUNBZUlBb2dCN2RFQUFBQUFBQUE0RCtnb2lBaW82QWlIeUFOS3dNd29pQWRJQTByQXppaW9LQWlJRVFBQUFBQUFBQUFBR0VOQ3lBUUlBMHJBeEFnSHlBTkt3TUFvaUFkSUEwckF3aWlvS0FnSUtPMklobzRBZ0FnRHlBTkt3TW9JQjhnRFNzREdLSWdIU0FOS3dNZ29xQ2dJQ0NqdGlJYk9BSUFJQWdnR2lBYklCQWdEeEJ0R2lBUUtnSUFJUm9nRVFSL0lCcERBQUNBUDVJUVEwRUNFRGxCQVhRaERDQVBLZ0lBUXdBQWdEK1NFRU5CQWhBNVFRRjBCU0FhUXdBQUFEK1NFRU1oRENBUEtnSUFRd0FBQUQrU0VFTUxJUTRnREVGL1NnUkFJQXdnQlVnZ0RrRi9TbkVnRGlBR1NIRUVRQ0FFSUF3Z0JTQU9iR3BCQVhSQkFYSnFMUUFBSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRHb3RBQUFoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRVWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFrZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VjY1hKQkFuSnFJQXhCQTNSQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFRZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRVljWEpCQkhKcUlBeEJBblJCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUU1nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRY2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUI4QUZ4UVFoeUlBNUJCSFJCOEFGeFFRaHlhaUFFSUF4QkFYSnFMQUFBUVhCeFFRaHlRZjhCY1dwQkF4QklJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxRUUJCQTBIeXFBRWdEQkE5REFNTEFBc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0ZFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0ZJQlJCQTJ3aUdFRUVFSTBDSWdGRkJFQkJBRUVEUWJuWUFpQVJFRDFCQVJBQkN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCdzRQQUFFQ0F3UUZCZ2NJQ1FvTEJRVUZEQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRMGdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJFZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneEJBbXBxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRd2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJBZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFtcHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRc2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE4Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBbkpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRb2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE0Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFuSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRa2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFEwZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBWEpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQW5KcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBM0pxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwSElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBMSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRTnlhaTBBQUNFUklBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdFU0FXS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0JDQU1RUUp5YWkwQUFDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnQkNBTVFRRnlhaTBBQUNBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZHb3RBQUJCZ0g5cXNpRWFJQVFnRkVFQ2Ftb3RBQUJCZ0g5cXNpRWJJQnBEVGhvQlJKUWdCQ0FNSUE1cVFRRjBRUUZ5YWkwQUFFRndhckpEZndxVlE1UWlISklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEZJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSklCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZFRUJjbW90QUFCQmdIOXFzaUVhSUFRZ0ZFRURhbW90QUFCQmdIOXFzaUViSUFRZ0RDQU9ha0VCZEdvdEFBQkJjR3F5UTM4S2xVT1VJaHdnR2tOT0dnRkVsSklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEVJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSUlCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUU4wUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFlQUJjVUVEZG5KQkFuSnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRSjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWNBQmNVRURkbkpCQkhKcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lPUVFGeWFpd0FBRUZ3Y1VFSWNrSC9BWEVoRVNBQUlCSVFPU0FDYkNBSElCVVFPV3BCQTJ3aURFRUNkQ0FCYWlJV0lCRWdGaWdDQUdvMkFnQWdERUVCYWtFQ2RDQUJhaUlSSUJFb0FnQWdCQ0FPYWl3QUFDSU9RUVIwUWY4QmNVRUljbW8yQWdBZ0RFRUNha0VDZENBQmFpSU1JQXdvQWdBZ0RrRndjVUVJY2tIL0FYRnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXRCQUVFRFFmS29BU0FURUQwTUFnc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0dFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0xJQUVRT0VFQURBRUxJQUVRT0VGL0N5RVpJQTBrQmlBWkM2a0JBQ0FBSUFFcUFnQ01PQUlBSUFBZ0FTb0NCSXc0QWdRZ0FFTUFBSUMvT0FJSUlBQkJER29Rd2dNZ0FDQUNLZ0lBSUFFcUFnQ1VPQUlZSUFBZ0Fpb0NBQ0FCS2dJRWxEZ0NIQ0FBSUFJb0FnQTJBaUFnQUVFa2FoRENBeUFBSUFFcUFnQ01PQUl3SUFBZ0FTb0NCSXc0QWpRZ0FFTUFBSUMvT0FJNElBQWdBaW9DQkNBQktnSUFsRGdDUENBQVFVQnJJQUlxQWdRZ0FTb0NCSlE0QWdBZ0FDQUNLQUlFTmdKRUN5UUFJQUFnQVNBQ0VJVUJRd0FBQUFCZUlBTWdCQ0FGRUlVQlF3QUFBQUJlYzBFQmN3c01BQ0FBSUFFZ0FDQUJYUnNMSUFBZ0FDb0NBQ0FCS2dJRWxDQUFLZ0lFSUFFcUFnQ1VrNHREQUFBQVA1UUxUQUVDZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0FDSURhMEVEZFNBQlNRUkFJQUlnQVNBQUtBSUVJQU5yUVFOMUlBQkJDR29RaUFJZ0FDQUNFTTBDSUFJUXpBSUxJQUlrQmdzSEFDQUFRUkJxQ3drQUlBQWdBUkRiQXdzTUFDQUFJQUZCQVhFNkFHUUxLZ0FnQUVFQU5nSUFJQUJCQURZQ0JDQUFRUUEyQWdnZ0FRUkFJQUFnQVJDZENDQUFJQUVROWdNTEN3d0FJQUFnQVNBQUlBRklHd3NWQUNBQVFmeUZBVFlDQUNBQVFRUnFJQUVRM2dJTG93SUNCSDhCZlNNR0lRTWpCa0VRYWlRR0lBSkRBQUFBQUdCRkJFQWdBMEhBeUFOQm5ac0NFRGRCcUprQ0VEZEI3NklDRURkQjZBRVFQa0gyb2dJUU4wRy9td0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVXNpQUNYZ1JBSUFBcUFoZ2dBaERsQkVFQklBRjBzcFFoQnlBREpBWWdCdzhGSUFOQndNZ0RRZGFiQWhBM1FhaVpBaEEzUWUraUFoQTNRZWtCRUQ1QjlxSUNFRGRCaVp3Q0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBTkJnTTRERURvaUFTZ0NBQ2dDSENFQUlBRkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBTVFQQ0FFSUFBUVFDQUVFRDhRQUF0REFBQUFBQXR6QVFGL0lBQkJBRFlDRENBQUlBTTJBaEFnQVFSQUlBRkIvLy8vL3dGTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVFOMEVGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkEzUWdCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRUU4wSUFScU5nSU1DMHdCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnTEhBQWdBRUVBUnlBQlFRVkpjUVIvSUFBZ0FUWUNHRUVBQlVGL0N3c0lBRUVPRUFKQkFBc0lBRUVJRUFKQkFBdFhBUUYvSUFBRVFDQUFJQUZzSVFJZ0FDQUJja0gvL3dOTEJFQWdBa0YvSUFJZ0FCQklJQUZHR3lFQ0N3c2dBaEJFSWdCRkJFQWdBQThMSUFCQmZHb29BZ0JCQTNGRkJFQWdBQThMSUFCQkFDQUNFRVVhSUFBTHZBRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTJBZ0FnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQVFzaEFTQURRUVJxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVFrUVFnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBa0VDZENBQWFpSUFJQU1RYmlBRVFRQTJBZ0FnQUVFRWFpQUVFRzRnQXlRR0N4SUFJQUFRT0NBQkVEZ2dBaEE0SUFNUU9Bc0lBRUgvLy8vL0J3c0ZBRUgvQUF1SkJnRUlmeU1HSVFrakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWdzb0FnQW9BaFFoQmlBSklBc2dCa0UvY1VHeUJXb1JBd0FnQ1NnQ0JDQUpMQUFMSWdaQi93RnhJQVpCQUVnYkJFQWdCU0FETmdJQUlBSUNmd0pBQWtBZ0FDd0FBQ0lHUVN0ckRnTUFBUUFCQ3lBS0tBSUFLQUlzSVFjZ0NpQUdJQWRCUDNGQmlnRnFFUUlBSVFZZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBR05nSUFJQUJCQVdvTUFRc2dBQXNpQm10QkFVb0VRQ0FHTEFBQVFUQkdCRUFnQml3QUFVSFlBR3NpQjBFQUlBZEJJRWNiUlFSQUlBb29BZ0FvQWl3aEJ5QUtRVEFnQjBFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUVhallDQUNBSUlBYzJBZ0FnQ2lnQ0FDZ0NMQ0VISUFvZ0Jpd0FBU0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0J6WUNBQ0FHUVFKcUlRWUxDd3NnQWlBR1J3UkFBa0FnQWlFSElBWWhDQU5BSUFnZ0IwRi9haUlIVHcwQklBZ3NBQUFoRFNBSUlBY3NBQUE2QUFBZ0J5QU5PZ0FBSUFoQkFXb2hDQXdBQUFzQUN3c2dDeWdDQUNnQ0VDRUhJQXNnQjBIL0FIRkJDR29SQUFBaERTQUdJUWhCQUNFSFFRQWhDd05BSUFnZ0Fra0VRQ0FISUFrb0FnQWdDU0FKTEFBTFFRQklHMm9zQUFBaURFRUFSeUFMSUF4R2NRUkFJQVVnQlNnQ0FDSUxRUVJxTmdJQUlBc2dEVFlDQUNBSElBY2dDU2dDQkNBSkxBQUxJZ2RCL3dGeElBZEJBRWdiUVg5cVNXb2hCMEVBSVFzTElBb29BZ0FvQWl3aERDQUtJQWdzQUFBZ0RFRS9jVUdLQVdvUkFnQWhEQ0FGSUFVb0FnQWlEa0VFYWpZQ0FDQU9JQXcyQWdBZ0NFRUJhaUVJSUF0QkFXb2hDd3dCQ3dzZ0JpQUFhMEVDZENBRGFpSUhJQVVvQWdBaUJrWUVmeUFIQlFOQUlBY2dCa0Y4YWlJR1NRUkFJQWNvQWdBaENDQUhJQVlvQWdBMkFnQWdCaUFJTmdJQUlBZEJCR29oQnd3QkN3c2dCU2dDQUFzaEJRVWdDaWdDQUNnQ01DRUdJQW9nQUNBQ0lBTWdCa0VQY1VHS0Ftb1JDUUFhSUFVZ0FpQUFhMEVDZENBRGFpSUZOZ0lBQ3lBRUlBVWdBU0FBYTBFQ2RDQURhaUFCSUFKR0d6WUNBQ0FKRUVjZ0NTUUdDNEFHQVFoL0l3WWhDU01HUVJCcUpBWWdCa0dBemdNUU9pRUtJQVpCa000REVEb2lDeWdDQUNnQ0ZDRUdJQWtnQ3lBR1FUOXhRYklGYWhFREFDQUpLQUlFSUFrc0FBc2lCa0gvQVhFZ0JrRUFTQnNFUUNBRklBTTJBZ0FnQWdKL0FrQUNRQ0FBTEFBQUlnWkJLMnNPQXdBQkFBRUxJQW9vQWdBb0Fod2hCeUFLSUFZZ0IwRS9jVUdLQVdvUkFnQWhCaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQVk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCU2dSQUlBWXNBQUJCTUVZRVFDQUdMQUFCUWRnQWF5SUhRUUFnQjBFZ1J4dEZCRUFnQ2lnQ0FDZ0NIQ0VISUFwQk1DQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnQnpvQUFDQUtLQUlBS0FJY0lRY2dDaUFHTEFBQklBZEJQM0ZCaWdGcUVRSUFJUWNnQlNBRktBSUFJZ2hCQVdvMkFnQWdDQ0FIT2dBQUlBWkJBbW9oQmdzTEN5QUNJQVpIQkVBQ1FDQUNJUWNnQmlFSUEwQWdDQ0FIUVg5cUlnZFBEUUVnQ0N3QUFDRU5JQWdnQnl3QUFEb0FBQ0FISUEwNkFBQWdDRUVCYWlFSURBQUFDd0FMQ3lBTEtBSUFLQUlRSVFjZ0N5QUhRZjhBY1VFSWFoRUFBQ0VOSUFZaENFRUFJUWRCQUNFTEEwQWdDQ0FDU1FSQUlBY2dDU2dDQUNBSklBa3NBQXRCQUVnYmFpd0FBQ0lNUVFCSElBc2dERVp4QkVBZ0JTQUZLQUlBSWd0QkFXbzJBZ0FnQ3lBTk9nQUFJQWNnQnlBSktBSUVJQWtzQUFzaUIwSC9BWEVnQjBFQVNCdEJmMnBKYWlFSFFRQWhDd3NnQ2lnQ0FDZ0NIQ0VNSUFvZ0NDd0FBQ0FNUVQ5eFFZb0JhaEVDQUNFTUlBVWdCU2dDQUNJT1FRRnFOZ0lBSUE0Z0REb0FBQ0FJUVFGcUlRZ2dDMEVCYWlFTERBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFjRkEwQWdCeUFHUVg5cUlnWkpCRUFnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUxDeUFGS0FJQUN5RUZCU0FLS0FJQUtBSWdJUVlnQ2lBQUlBSWdBeUFHUVE5eFFZb0NhaEVKQUJvZ0JTQURJQUlnQUd0cUlnVTJBZ0FMSUFRZ0JTQURJQUVnQUd0cUlBRWdBa1liTmdJQUlBa1FSeUFKSkFZTDdRRUJCWDhnQWtHQUVIRUVRQ0FBUVNzNkFBQWdBRUVCYWlFQUN5QUNRWUFJY1FSQUlBQkJJem9BQUNBQVFRRnFJUUFMSUFKQmhBSnhJZ05CaEFKR0lnUUVmMEVBQlNBQVFTNDZBQUFnQUVFcU9nQUJJQUJCQW1vaEFFRUJDeUVISUFKQmdJQUJjU0VDQTBBZ0FTd0FBQ0lHQkVBZ0FDQUdPZ0FBSUFGQkFXb2hBU0FBUVFGcUlRQU1BUXNMSUFBQ2Z3SkFBa0FnQTBFRWF5SUJCRUFnQVVIOEFVWUVRQXdDQlF3REN3QUxJQUpCQ1haQi93RnhRZVlBY3d3Q0N5QUNRUWwyUWY4QmNVSGxBSE1NQVFzZ0FrRUpka0gvQVhFaEFTQUJRZUVBY3lBQlFlY0FjeUFFR3dzNkFBQWdCd3VlQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFrZ0F5QUNhMEVNRURraUIwSGtBRXNFUUNBSEVFUWlDUVJBSUFraURTRVNCUkFBQ3dVZ0NTRU5DeUFDSVFvZ0RTRUpBMEFnQXlBS1J3UkFJQW9zQUFzaUNFRUFTQVIvSUFvb0FnUUZJQWhCL3dGeEN3UkFJQWxCQVRvQUFBVWdDVUVDT2dBQUlBeEJBV29oRENBSFFYOXFJUWNMSUFwQkRHb2hDaUFKUVFGcUlRa01BUXNMSUF3aENTQUhJUXdEUUFKQUlBQW9BZ0FpQ0FSL0lBZ29BZ3dpQnlBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFvZ0FTZ0NBQ0lIQkg4Z0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhCMEVCQlVFQUN3VkJBQ0VIUVFFTElSTWdBQ2dDQUNFTElCTWdDbk1nREVFQVIzRkZEUUFnQ3lnQ0RDSUhJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2hEeUFHUlFSQUlBUWdEeUFFS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VQQ3lBUlFRRnFJUXNnQWlFSVFRQWhDaUFOSVE0Z0NTRUhBMEFnQXlBSVJ3UkFJQTRzQUFCQkFVWUVRQUpBSUFnc0FBdEJBRWdFZnlBSUtBSUFCU0FJQ3lBUlFRSjBhaWdDQUNFSklBWUVmeUFKQlNBRUlBa2dCQ2dDQUNnQ0hFRS9jVUdLQVdvUkFnQUxJQTlIQkVBZ0RrRUFPZ0FBSUF4QmYyb2hEQXdCQ3lBSUxBQUxJZ2xCQUVnRWZ5QUlLQUlFQlNBSlFmOEJjUXNnQzBZRVFDQU9RUUk2QUFBZ0RFRi9haUVNSUFkQkFXb2hCd3RCQVNFS0N3c2dDRUVNYWlFSUlBNUJBV29oRGd3QkN3c2dDZ1JBQWtBZ0FDZ0NBQ0lJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRUnFOZ0lNSUFrb0FnQWFDeUFISUF4cVFRRkxCRUFnQWlFS0lBMGhDUU5BSUFNZ0NrWU5BaUFKTEFBQVFRSkdCRUFnQ2l3QUN5SUlRUUJJQkg4Z0NpZ0NCQVVnQ0VIL0FYRUxJQXRIQkVBZ0NVRUFPZ0FBSUFkQmYyb2hCd3NMSUFwQkRHb2hDaUFKUVFGcUlRa01BQUFMQUFzTEN5QUxJUkVnQnlFSkRBRUxDeUFMQkg4Z0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQUNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwQ0N3d0NDeUFFRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURRQ0FDSUFOR0RRRWdEU3dBQUVFQ1J3UkFJQUpCREdvaEFpQU5RUUZxSVEwTUFRc0xEQUVMSUFVZ0JTZ0NBRUVFY2pZQ0FDQURJUUlMSUJJUU9DQVFKQVlnQWd1ckNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRY2dBeUFDYTBFTUVEa2lDVUhrQUVzRVFDQUpFRVFpQndSQUlBY2lDeUVTQlJBQUN3VWdCeUVMQ3lBQ0lRY2dDeUVLQTBBZ0F5QUhSd1JBSUFjc0FBc2lERUVBU0FSL0lBY29BZ1FGSUF4Qi93RnhDd1JBSUFwQkFUb0FBQVVnQ2tFQ09nQUFJQWxCZjJvaENTQUlRUUZxSVFnTElBZEJER29oQnlBS1FRRnFJUW9NQVFzTElBa2hDaUFJSVFrRFFBSkFJQUFvQWdBaUJ3Ui9JQWNvQWd3aUNDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc0NmeUFCS0FJQUlnZ0VmeUFJS0FJTUlnY2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRaEJBUVZCQUFzRlFRQWhDRUVCQ3lFVElBQW9BZ0FoQnlBVEMzTWdDa0VBUjNGRkRRQWdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVoRGlBR1JRUkFJQVFnRGlBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUNFT0N5QVBRUUZxSVF3Z0FpRUhRUUFoQ0NBTElRMERRQ0FESUFkSEJFQWdEU3dBQUVFQlJnUkFBa0FnQnl3QUMwRUFTQVIvSUFjb0FnQUZJQWNMSUE5cUxBQUFJUkVnRGtIL0FYRWdCZ1IvSUJFRklBUWdFU0FFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQXRCL3dGeFJ3UkFJQTFCQURvQUFDQUtRWDlxSVFvTUFRc2dCeXdBQ3lJSVFRQklCSDhnQnlnQ0JBVWdDRUgvQVhFTElBeEdCRUFnRFVFQ09nQUFJQXBCZjJvaENpQUpRUUZxSVFrTFFRRWhDQXNMSUFkQkRHb2hCeUFOUVFGcUlRME1BUXNMSUFnRVFBSkFJQUFvQWdBaUJ5Z0NEQ0lJSUFjb0FoQkdCRUFnQnlBSEtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBY2dDRUVCYWpZQ0RDQUlMQUFBRUVJYUN5QUpJQXBxUVFGTEJFQWdBaUVISUFzaENBTkFJQU1nQjBZTkFpQUlMQUFBUVFKR0JFQWdCeXdBQ3lJUFFRQklCSDhnQnlnQ0JBVWdEMEgvQVhFTElBeEhCRUFnQ0VFQU9nQUFJQWxCZjJvaENRc0xJQWRCREdvaEJ5QUlRUUZxSVFnTUFBQUxBQXNMQ3lBTUlROE1BUXNMSUFjRWZ5QUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBQWtBZ0NFVU5BQ0FJS0FJTUlnUWdDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRGZ5QUNJQU5HRFFFZ0N5d0FBRUVDUmdSL0lBSUZJQUpCREdvaEFpQUxRUUZxSVFzTUFRc0xJUU1NQVFzZ0JTQUZLQUlBUVFSeU5nSUFDeUFTRURnZ0VDUUdJQU1MaVFFQkFuOGdBQ2dDQkNJQklBRW9BZ0JCZEdvb0FnQnFJZ0VvQWhnRVFDQUJLQUlRUlFSQUlBRW9BZ1JCZ01BQWNRUkFJQUFvQWdRaUFTQUJLQUlBUVhScUtBSUFhaWdDR0NJQktBSUFLQUlZSVFJZ0FTQUNRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQW9BZ1FpQUNBQUtBSUFRWFJxS0FJQWFpSUFJQUFvQWhCQkFYSVE3Z0VMQ3dzTEN6d0FJQUJCQURvQUFDQUFJQUUyQWdRZ0FTQUJLQUlBUVhScUtBSUFhaUlCS0FJUVJRUkFJQUVvQWtnaUFRUkFJQUVRUHdzZ0FFRUJPZ0FBQ3dzS0FDQUFRUVJxRUowQ0N3b0FJQUJCQ0dvUW5RSUxCQUJCZndzREFBRUxNd0FnQUVHTWpBRTJBZ0FnQUJEUUN5QUFRUnhxRUR3Z0FDZ0NJQkE0SUFBb0FpUVFPQ0FBS0FJd0VEZ2dBQ2dDUEJBNEMxVUJBMzhnQUNnQ0JDSUdRUWgxSVFVZ0JrRUJjUVJBSUFJb0FnQWdCV29vQWdBaEJRc2dBQ2dDQUNJQUtBSUFLQUlZSVFjZ0FDQUJJQUlnQldvZ0EwRUNJQVpCQW5FYklBUWdCMEUvY1VHYUJtb1JCUUFMTGdFQmZ5TUdJUUlqQmtFUWFpUUdJQUlnQVRZQ0FFR2tpQUVvQWdBaUFTQUFJQUlRcFFJYUlBRVE4Z1FRQUF0OEF3Ri9BWDRDZkNNR0lRTWpCa0dRQVdva0JpQURRUUJCa0FFUVJSb2dBeUFBTmdJRUlBTkJmellDQ0NBRElBQTJBaXdnQTBGL05nSk1JQU5DQUJDQ0FTQURJQUpCQVJDU0F5RUdJQU1wQTNnZ0F5Z0NCQ0FES0FJSWE2eDhJUVFnQVFSQUlBRWdBQ0FBSUFTbmFpQUVVQnMyQWdBTElBTWtCaUFHQ3cwQUlBQWdBU0FDUW44UWhBTUwzd0VCQm44akJpRUdJd1pCOEFGcUpBWWdCaUFBTmdJQUlBTkJBVW9FUUFKQVFRQWdBV3NoQ1NBRElRZEJBU0VESUFBaEJRTkFJQVVnQUNBSmFpSUFJQWRCZm1vaUNrRUNkQ0FFYWlnQ0FHc2lDQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUkFJQVVnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZzBDQ3lBRFFRSjBJQVpxSVFVZ0EwRUJhaUVESUFnZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2dSL0lBVWdDRFlDQUNBSUlRQWdCMEYvYWdVZ0JTQUFOZ0lBSUFvTElnZEJBVW9FUUNBR0tBSUFJUVVNQVFzTEN3VkJBU0VEQ3lBQklBWWdBeEQvQWlBR0pBWUxLUUVDZnlNR0lRUWpCa0VRYWlRR0lBUWdBellDQUNBQUlBRWdBaUFFRUtrQklRVWdCQ1FHSUFVTDZoSUNGSDhCZmlNR0lROGpCa0ZBYXlRR0lBOUJLR29oQ2lBUFFUQnFJUmdnRDBFOGFpRVdJQTlCT0dvaURDQUJOZ0lBSUFCQkFFY2hFaUFQUVNocUloVWhFeUFQUVNkcUlSZEJBQ0VCQWtBQ1FBTkFBa0FEUUNBSlFYOUtCRUFnQVVILy8vLy9CeUFKYTBvRWYwR2t4UU5CUFRZQ0FFRi9CU0FCSUFscUN5RUpDeUFNS0FJQUlnc3NBQUFpQ0VVTkF5QUxJUUVDUUFKQUEwQUNRQUpBSUFoQkdIUkJHSFVpQ0FSQUlBaEJKVWNOQVF3RUN3d0JDeUFNSUFGQkFXb2lBVFlDQUNBQkxBQUFJUWdNQVFzTERBRUxJQUVoQ0FOQUlBZ3NBQUZCSlVjTkFTQUJRUUZxSVFFZ0RDQUlRUUpxSWdnMkFnQWdDQ3dBQUVFbFJnMEFDd3NnQVNBTGF5RUJJQklFUUNBQUlBc2dBUkJ5Q3lBQkRRQUxJQXdvQWdBc0FBRVFpZ0ZGSVFnZ0RDQU1LQUlBSWdFZ0NBUi9RWDhoRFVFQkJTQUJMQUFDUVNSR0JIOGdBU3dBQVVGUWFpRU5RUUVoQlVFREJVRi9JUTFCQVFzTGFpSUJOZ0lBSUFFc0FBQWlCa0ZnYWlJSVFSOUxRUUVnQ0hSQmlkRUVjVVZ5QkVCQkFDRUlCVUVBSVFZRFFDQUdRUUVnQ0hSeUlRZ2dEQ0FCUVFGcUlnRTJBZ0FnQVN3QUFDSUdRV0JxSWdkQkgwdEJBU0FIZEVHSjBRUnhSWEpGQkVBZ0NDRUdJQWNoQ0F3QkN3c0xJQVpCL3dGeFFTcEdCRUFnREFKL0FrQWdBU3dBQVJDS0FVVU5BQ0FNS0FJQUlnY3NBQUpCSkVjTkFDQUhMQUFCUVZCcVFRSjBJQVJxUVFvMkFnQWdCeXdBQVVGUWFrRURkQ0FEYWlrREFLY2hBVUVCSVFZZ0IwRURhZ3dCQ3lBRkJFQkJmeUVKREFNTElCSUVRQ0FDS0FJQVFRTnFRWHh4SWdVb0FnQWhBU0FDSUFWQkJHbzJBZ0FGUVFBaEFRdEJBQ0VHSUF3b0FnQkJBV29MSWdVMkFnQkJBQ0FCYXlBQklBRkJBRWdpQVJzaEVDQUlRWURBQUhJZ0NDQUJHeUVPSUFZaENBVWdEQkNOQXlJUVFRQklCRUJCZnlFSkRBSUxJQWdoRGlBRklRZ2dEQ2dDQUNFRkN5QUZMQUFBUVM1R0JFQUNRQ0FGUVFGcUlRRWdCU3dBQVVFcVJ3UkFJQXdnQVRZQ0FDQU1FSTBESVFFZ0RDZ0NBQ0VGREFFTElBVXNBQUlRaWdFRVFDQU1LQUlBSWdVc0FBTkJKRVlFUUNBRkxBQUNRVkJxUVFKMElBUnFRUW8yQWdBZ0JTd0FBa0ZRYWtFRGRDQURhaWtEQUtjaEFTQU1JQVZCQkdvaUJUWUNBQXdDQ3dzZ0NBUkFRWDhoQ1F3REN5QVNCRUFnQWlnQ0FFRURha0Y4Y1NJRktBSUFJUUVnQWlBRlFRUnFOZ0lBQlVFQUlRRUxJQXdnRENnQ0FFRUNhaUlGTmdJQUN3VkJmeUVCQzBFQUlRY0RRQ0FGTEFBQVFiOS9ha0U1U3dSQVFYOGhDUXdDQ3lBTUlBVkJBV29pQmpZQ0FDQUZMQUFBSUFkQk9teHFRWS9XQUdvc0FBQWlFVUgvQVhFaUJVRi9ha0VJU1FSQUlBVWhCeUFHSVFVTUFRc0xJQkZGQkVCQmZ5RUpEQUVMSUExQmYwb2hGQUpBQWtBZ0VVRVRSZ1JBSUJRRVFFRi9JUWtNQkFzRkFrQWdGQVJBSUExQkFuUWdCR29nQlRZQ0FDQUtJQTFCQTNRZ0Eyb3BBd0EzQXdBTUFRc2dFa1VFUUVFQUlRa01CUXNnQ2lBRklBSVFqQU1nRENnQ0FDRUdEQUlMQ3lBU0RRQkJBQ0VCREFFTElBNUIvLzk3Y1NJTklBNGdEa0dBd0FCeEd5RUZBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUdRWDlxTEFBQUlnWkJYM0VnQmlBR1FROXhRUU5HSUFkQkFFZHhHeUlHUWNFQWF3NDRDUW9IQ2drSkNRb0tDZ29LQ2dvS0Nnb0tDQW9LQ2dvTENnb0tDZ29LQ2dvSkNnVURDUWtKQ2dNS0Nnb0tBQUlCQ2dvR0NnUUtDZ3NLQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBIL0FYRkJHSFJCR0hVT0NBQUJBZ01FQndVR0J3c2dDaWdDQUNBSk5nSUFRUUFoQVF3WEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJZTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJVTElBb29BZ0FnQ1RzQkFFRUFJUUVNRkFzZ0NpZ0NBQ0FKT2dBQVFRQWhBUXdUQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQklMSUFvb0FnQWdDYXczQXdCQkFDRUJEQkVMUVFBaEFRd1FDMEg0QUNFR0lBRkJDQ0FCUVFoTEd5RUJJQVZCQ0hJaEJRd0pDMEVBSVF0QmtQNENJUTRnQVNBVElBb3BBd0FnRlJDRUJTSUhheUlHUVFGcUlBVkJDSEZGSUFFZ0JrcHlHeUVCREFzTElBb3BBd0FpR1VJQVV3Ui9JQXBDQUNBWmZTSVpOd01BUVFFaEMwR1EvZ0lGSUFWQmdSQnhRUUJISVF0QmtmNENRWkwrQWtHUS9nSWdCVUVCY1JzZ0JVR0FFSEViQ3lFT0RBZ0xRUUFoQzBHUS9nSWhEaUFLS1FNQUlSa01Cd3NnRnlBS0tRTUFQQUFBSUJjaEJrRUFJUXRCa1A0Q0lRNUJBU0VISUEwaEJTQVRJUUVNQ2dzZ0NpZ0NBQ0lGUVpyK0FpQUZHeUlHUVFBZ0FSQ21BaUlSUlNFVVFRQWhDMEdRL2dJaERpQUJJQkVnQm1zZ0ZCc2hCeUFOSVFVZ0FTQUdhaUFSSUJRYklRRU1DUXNnRHlBS0tRTUFQZ0l3SUE5QkFEWUNOQ0FLSUJnMkFnQkJmeUVMREFVTElBRUVRQ0FCSVFzTUJRVWdBRUVnSUJCQkFDQUZFSFZCQUNFQkRBY0xBQXNnQUNBS0t3TUFJQkFnQVNBRklBWkJpUUVSSWdBaEFRd0hDeUFMSVFaQkFDRUxRWkQrQWlFT0lBRWhCeUFUSVFFTUJRc2dDaWtEQUNBVklBWkJJSEVRaFFVaEIwRUFRUUlnQlVFSWNVVWdDaWtEQUZCeUlnMGJJUXRCa1A0Q0lBWkJCSFpCa1A0Q2FpQU5HeUVPREFJTElCa2dGUkMrQVNFSERBRUxJQW9vQWdBaEJrRUFJUUVDUUFKQUEwQWdCaWdDQUNJSEJFQWdGaUFIRUlzRElnZEJBRWdpRFNBSElBc2dBV3RMY2cwQ0lBWkJCR29oQmlBTElBRWdCMm9pQVVzTkFRc0xEQUVMSUEwRVFFRi9JUWtNQmdzTElBQkJJQ0FRSUFFZ0JSQjFJQUVFUUNBS0tBSUFJUVpCQUNFTEEwQWdCaWdDQUNJSFJRMERJQXNnRmlBSEVJc0RJZ2RxSWdzZ0FVb05BeUFHUVFScUlRWWdBQ0FXSUFjUWNpQUxJQUZKRFFBTEJVRUFJUUVMREFFTElBY2dGU0FLS1FNQVFnQlNJZzBnQVVFQVIzSWlFUnNoQmlBQklCTWdCMnNnRFVFQmMyb2lCeUFCSUFkS0cwRUFJQkViSVFjZ0JVSC8vM3R4SUFVZ0FVRi9TaHNoQlNBVElRRU1BUXNnQUVFZ0lCQWdBU0FGUVlEQUFITVFkU0FRSUFFZ0VDQUJTaHNoQVF3QkN5QUFRU0FnQ3lBQklBWnJJZzBnQnlBSElBMUlHeUlSYWlJSElCQWdFQ0FIU0JzaUFTQUhJQVVRZFNBQUlBNGdDeEJ5SUFCQk1DQUJJQWNnQlVHQWdBUnpFSFVnQUVFd0lCRWdEVUVBRUhVZ0FDQUdJQTBRY2lBQVFTQWdBU0FISUFWQmdNQUFjeEIxQ3lBSUlRVU1BUXNMREFFTElBQkZCRUFnQlFSL1FRRWhBQU5BSUFCQkFuUWdCR29vQWdBaUFRUkFJQUJCQTNRZ0Eyb2dBU0FDRUl3RElBQkJBV29pQUVFS1NRMEJRUUVoQ1F3RUN3c0RmeUFBUVFKMElBUnFLQUlBQkVCQmZ5RUpEQVFMSUFCQkFXb2lBRUVLU1EwQVFRRUxCVUVBQ3lFSkN3c2dEeVFHSUFrTEN3QWdBQ0FCSUFJUWh3VUwvUUVCQTM4Z0FVSC9BWEVoQkFKQUFrQUNRQ0FDUVFCSElnTWdBRUVEY1VFQVIzRUVRQ0FCUWY4QmNTRUZBMEFnQlNBQUxRQUFSZzBDSUFKQmYyb2lBa0VBUnlJRElBQkJBV29pQUVFRGNVRUFSM0VOQUFzTElBTkZEUUVMSUFGQi93RnhJZ0VnQUMwQUFFWUVRQ0FDUlEwQkRBSUxJQVJCZ1lLRUNHd2hBd0pBQWtBZ0FrRURUUTBBQTBBZ0F5QUFLQUlBY3lJRVFmLzkrM2RxSUFSQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBZ0FFRUVhaUVBSUFKQmZHb2lBa0VEU3cwQkRBSUxDd3dCQ3lBQ1JRMEJDd05BSUFBdEFBQWdBVUgvQVhGR0RRSWdBa0YvYWlJQ1JRMEJJQUJCQVdvaEFBd0FBQXNBQzBFQUlRQUxJQUFMandFQkFuOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWhRZ0FDZ0NIRXNFUUNBQUtBSWtJUUVnQUVFQVFRQWdBVUUvY1VIS0FXb1JCQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFLQUlBSWdGQkJIRUVmeUFBSUFGQklISTJBZ0JCZndVZ0FDQUFLQUlzSUFBb0FqQnFJZ0kyQWdnZ0FDQUNOZ0lFSUFGQkczUkJIM1VMQzVFQkFRTi9BbjhDUUNBQUtBSVVJQUFvQWh4TkRRQWdBQ2dDSkNFQklBQkJBRUVBSUFGQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFCQmZ3d0JDeUFBS0FJRUlnRWdBQ2dDQ0NJQ1NRUkFJQUFvQWlnaEF5QUFJQUVnQW11c1FRRWdBMEVEY1VHbUEyb1JGQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFRUUEyQWdnZ0FFRUFOZ0lFUVFBTEM0Y0JBUUYvSUFBRVFBSi9JQUFvQWt4QmYwd0VRQ0FBRUtnQ0RBRUxJQUFRcUFJTElRQUZRYkNJQVNnQ0FBUi9RYkNJQVNnQ0FCQ3BBZ1ZCQUFzaEFCQ3JBaWdDQUNJQkJFQURRQ0FCS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUVvQWhRZ0FTZ0NIRXNFUUNBQkVLZ0NJQUJ5SVFBTElBRW9BamdpQVEwQUN3dEJxTVVERUE0TElBQUwrZ0VCQTM4Z0FVSC9BWEVpQWdSQUFrQWdBRUVEY1FSQUlBRkIvd0Z4SVFNRFFDQUFMQUFBSWdSRklBTkJHSFJCR0hVZ0JFWnlEUUlnQUVFQmFpSUFRUU54RFFBTEN5QUNRWUdDaEFoc0lRTWdBQ2dDQUNJQ1FmLzkrM2RxSUFKQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBRFFDQUNJQU56SWdKQi8vMzdkMm9nQWtHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQVFRUnFJZ0FvQWdBaUFrSC8vZnQzYWlBQ1FZQ0Jnb1I0Y1VHQWdZS0VlSE54UlEwQkN3c0xJQUZCL3dGeElRSURRQ0FBUVFGcUlRRWdBQ3dBQUNJRFJTQUNRUmgwUVJoMUlBTkdja1VFUUNBQklRQU1BUXNMQ3dVZ0FCQmdJQUJxSVFBTElBQUxEQUJCcU1VREVCcEJzTVVEQ3g4QUlBQkIvLzhEY1FSL1FhVEZBeUFBUWYvL0EzRTJBZ0JCZndWQkFBc0w5QUVDQ1g4QmZDQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFSQUFBQUFBQUFBQUFPUU1BSUFJb0FnQWdCRUVEZEdvaEJTQUJLQUlBSUF0QkEzUnFJUVpCQUNFSFJBQUFBQUFBQUFBQUlRd0RRQ0FISUFoSUJFQWdBQ0FNSUFZckF3QWdCU3NEQUtLZ0lndzVBd0FnQ1VFRGRDQUZhaUVGSUFaQkNHb2hCaUFIUVFGcUlRY01BUXNMSUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFOQkFXb2hBd3dCQlVFQUN3c0ZRWDhMQlVGL0N3VkJmd3NMOGdJQkEzOGdBQ2dDQkNFRElBRkJBVXNFUUNBQUtBSUFJZ0pCRHpZQ0ZDQUNJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUZJQUZCQVVZRVFDQURLQUpFSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNSQ0FES0FKSUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDU0FzTElBTkJQR29nQVVFQ2RHb2lBQ2dDQUNFQ0lBQkJBRFlDQUNBQ0JFQURRQ0FDS0FJQUlRQWdBaWdDQ0NBQ0tBSUVRUkJxYWlFRUlBSVFPQ0FESUFNb0Frd2dCR3MyQWt3Z0FBUkFJQUFoQWd3QkN3c0xJQU5CTkdvZ0FVRUNkR29pQUNnQ0FDRUJJQUJCQURZQ0FDQUJSUVJBRHdzRFFDQUJLQUlBSVFBZ0FTZ0NDQ0FCS0FJRVFSQnFhaUVDSUFFUU9DQURJQU1vQWt3Z0FtczJBa3dnQUFSQUlBQWhBUXdCQ3dzTDlBRUJCSDhnQUNnQ0JDRUVJQUpCOEpQcjNBTkxCRUFnQUNnQ0FDSURRVGcyQWhRZ0EwRUROZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUJRUUZMQkVBZ0FDZ0NBQ0lEUVE4MkFoUWdBeUFCTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFDUVFnZ0FrRUhjU0lEYTBFQUlBTWJhaUlEUVJCcUlnVVFSQ0lDUlFSQUlBQW9BZ0FpQmtFNE5nSVVJQVpCQkRZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQkNBRklBUW9Ba3hxTmdKTUlBSWdCRUU4YWlBQlFRSjBhaUlBS0FJQU5nSUFJQUlnQXpZQ0JDQUNRUUEyQWdnZ0FDQUNOZ0lBSUFKQkVHb0wyZ2tCRVg4Z0FDZ0M1QU1vQWhnaERDQUJLQUlFSWdnZ0FTZ0NBQ0lDVENBQktBSUlJZ2tnQVNnQ0RDSUtTbklnQVNnQ0VDSUdJQUVvQWhRaUIwcHlCRUFnQWlFQUJRSkFJQUloQUFOQUFrQWdBRUVDZENBTWFpZ0NBQ0VOSUFraEF3TkFJQU5CQm5RZ0RXb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBS1NBUkFJQVFoQXd3QkN3c2dBRUVCYWlFRElBQWdDRWdFUUNBRElRQU1BZ1VnQWlFQURBTUxBQXNMSUFFZ0FEWUNBQXNMSUFnZ0FFd2dDU0FLU25JZ0JpQUhTbkpGQkVBQ1FDQUlJUUlEUUFKQUlBSkJBblFnREdvb0FnQWhEU0FKSVFNRFFDQURRUVowSUExcUlBWkJBWFJxSVFVZ0JpRUVBMEFnQlM0QkFBMENJQVZCQW1vaEJTQUVRUUZxSVFzZ0JDQUhTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ2tnRVFDQUVJUU1NQVFzTElBSkJmMm9oRGlBQ0lBQk1EUUlnRGlFQ0RBRUxDeUFCSUFJMkFnUWdBaUVJQ3dzZ0NDQUFTQ0FLSUFsTWNpQUdJQWRLY2tVRVFBSkFJQWtoQWdOQUFrQWdBQ0VEQTBBZ0EwRUNkQ0FNYWlnQ0FDQUNRUVowYWlBR1FRRjBhaUVGSUFZaEJBTkFJQVV1QVFBTkFpQUZRUUpxSVFVZ0JFRUJhaUVMSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUThnQWlBS1RnMENJQThoQWd3QkN3c2dBU0FDTmdJSUlBSWhDUXNMSUFnZ0FFZ2dDaUFKVEhJZ0JpQUhTbkpGQkVBQ1FDQUtJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0FrRUdkR29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUlTQVJBSUFRaEF3d0JDd3NnQWtGL2FpRVFJQUlnQ1V3TkFpQVFJUUlNQVFzTElBRWdBallDRENBQ0lRb0xDeUFJSUFCSUlBY2dCa3h5SUFvZ0NVaHlSUVJBQWtBZ0JpRUNBMEFDUUNBQUlRTURRQ0FEUVFKMElBeHFLQUlBSUFraUJFRUdkR29nQWtFQmRHb2hCUU5BSUFVdUFRQU5BaUFFUVFGcUlRc2dCVUZBYXlFRklBUWdDa2dFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVJFZ0FpQUhUZzBDSUJFaEFnd0JDd3NnQVNBQ05nSVFJQUloQmdzTElBZ2dBRWdnQnlBR1RISWdDaUFKU0hKRkJFQUNRQ0FISVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdDU0lFUVFaMGFpQUNRUUYwYWlFRkEwQWdCUzRCQUEwQ0lBUkJBV29oQ3lBRlFVQnJJUVVnQkNBS1NBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDRWdFUUNBRUlRTU1BUXNMSUFKQmYyb2hFaUFDSUFaTURRSWdFaUVDREFFTEN5QUJJQUkyQWhRZ0FpRUhDd3NnQVNBSUlBQnJRUVIwSWdJZ0Ftd2dDaUFKYTBFTWJDSUNJQUpzYWlBSElBWnJRUU4wSWdJZ0FteHFOZ0lZSUFnZ0FFZ2dDaUFKU0hJZ0J5QUdTSElFUUNBQlFRQTJBaHdQQzBFQUlRTWdBQ0VDQTBBZ0FrRUNkQ0FNYWlnQ0FDRU5JQU1oQUNBSklRTURRQ0FEUVFaMElBMXFJQVlpQkVFQmRHb2hCUU5BSUFBZ0JTNEJBRUVBUjJvaEFDQUVRUUZxSVFzZ0JVRUNhaUVGSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQXBJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUVFnQWlBSVNBUkFJQUFoQXlBRUlRSU1BUXNMSUFFZ0FEWUNIQXV4QXdFR2Z5QUFLQUlZSWdJb0FnUWhBU0FDS0FJQUlRUUNRQU5BSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY0VRQU5BSUFBb0F0QURJZ01nQXlnQ0dFRUJhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQkNBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjTkFBc0xBMEFnQVFSL0lBUUZJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwRElBSW9BZ1FoQVNBQ0tBSUFDeUVESUFGQmYyb2hBU0FEUVFGcUlRUWdBeXdBQUNJRlFYOUdEUUFMSUFBb0F0QURJZ1lvQWhnaEF5QUZSUVJBSUFZZ0EwRUNhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVEQUVMQ3lBRlFmOEJjU0VGSUFNRVFDQUFLQUlBSWdaQjl3QTJBaFFnQmlBRE5nSVlJQUFvQWdBZ0JUWUNIQ0FBS0FJQUtBSUVJUU1nQUVGL0lBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBRFFRQTJBaGdMSUFBZ0JUWUN1QU1nQWlBRU5nSUFJQUlnQVRZQ0JFRUJEd3RCQUF1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFSMElBQnFJUVVnQkVFRWRDQUFhaUVHSUFSQkJIUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRktnSUFJQU5CQW5RZ0FXb3FBZ0NVSUFZcUFnUWdBVUVRYWlBRFFRSjBhaW9DQUpTU0lBY3FBZ2dnQVVFZ2FpQURRUUowYWlvQ0FKU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBUkJCSFFnQUdvcUFnd2dBeW9DREpJNEFnd2dCRUVCYWlFRURBRUxDd3U0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUZkQ0FDYWlBRFFRTjBhaUFGS3dNQUlBTkJBM1FnQVdvckF3Q2lJQVlyQXdnZ0FVRWdhaUFEUVFOMGFpc0RBS0tnSUFjckF4QWdBVUZBYXlBRFFRTjBhaXNEQUtLZ09RTUFJQU5CQVdvaEF3d0JDd3NnQkVFRmRDQUNhaUlESUFSQkJYUWdBR29yQXhnZ0F5c0RHS0E1QXhnZ0JFRUJhaUVFREFFTEN3dFVBUUovQTBBZ0FrRURSd1JBUVFBaEFRTkFJQUZCQkVjRVFDQUNRUVYwUVlDa0Eyb2dBVUVEZEdvZ0FrRUZkQ0FBYWlBQlFRTjBhaXNEQURrREFDQUJRUUZxSVFFTUFRc0xJQUpCQVdvaEFnd0JDd3NMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFQ1FZeUhBVUhOdHdKQkFTQUJFQWtnQXdza0Jnc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUU5Cd0ljQlFielFBa0VmSUFFUUNTQURDeVFHQy8wRkFRWi9Jd1loQ1NNR1FTQnFKQVlnQ1VFUWFpRUlJQUpGQkVBZ0NFSEF5QU5CenB3Q0VEZEI3NXdDRURkQjc2SUNFRGRCL3dBUVBrSDJvZ0lRTjBIZ25RSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUdLQUlBS0FJY0lRY2dCa0VLSUFkQlAzRkJpZ0ZxRVFJQUlRWWdDQkE4SUFVZ0JoQkFJQVVRUHhBQUN5QURSUVJBSUFoQndNZ0RRZldkQWhBM1FlK2NBaEEzUWUraUFoQTNRWUFCRUQ1QjlxSUNFRGRCbDU0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUF0QmZ5QUNTUVJBSUFoQndNZ0RRYTJlQWhBM1FlK2NBaEEzUWUraUFoQTNRWUVCRUQ1QjlxSUNFRGRCMHA0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUFzZ0JFVUVRQ0FJUWNESUEwSC9uZ0lRTjBIdm5BSVFOMEh2b2dJUU4wR0NBUkErUWZhaUFoQTNRYU9mQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdZb0FnQW9BaHdoQnlBR1FRb2dCMEUvY1VHS0FXb1JBZ0FoQmlBSUVEd2dCU0FHRUVBZ0JSQS9FQUFMSUFsQkNHb2hCU0FBSUFFUXVRTWdBaUFFYkd3aUJqWUNEQ0FESUFac0lnWWdBQ2dDRkVjRVFDQUdFRkVoQnlBSlFRQTJBZ0FnQ0NBSktBSUFOZ0lBSUFVZ0J4Q29CeUFGS0FJQUlRY2dCU0FBS0FJWU5nSUFJQUFnQnpZQ0dDQUZLQUlFSVFjZ0JTQUFLQUljTmdJRUlBQWdCellDSENBRkVKVUJJQUFvQWhoRkJFQWdDRUhBeUFOQnhaOENFRGRCNzV3Q0VEZEI3NklDRURkQmxRRVFQa0gyb2dJUU4wSG9ud0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUW9nQjBFS0lBcEJQM0ZCaWdGcUVRSUFJUWNnQ0JBOElBVWdCeEJBSUFVUVB4QUFDd3NnQUNBQk5nSUFJQUFnQWpZQ0JDQUFJQU0yQWdnZ0FDQUVOZ0lRSUFBZ0JqWUNGQ0FKSkFZTHFRRUJCSDhnQUFSL0EwQWdBU0FBS0FJRVNBUkFJQUFvQWdnZ0FVRUNkR29vQWdBRVFDQUFJQUVRMEFZTElBRkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBQ2dDRENBQ0lBTnFJZ1JCQW5ScUtBSUFFRGdnQUNnQ0ZDQUVRUUowYWlnQ0FCQTRJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBQUtBSU1FRGdnQUNnQ0ZCQTRJQUFvQWdnUU9DQUFLQUlRRURnZ0FDZ0NHQkE0SUFBUU9FRUFCVUYvQ3hvTE5BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FDZ0NBQ2dDQUJER0J5QUJLQUlBRUlZQkVJRUNJUUlnQVJDVkFTQUJKQVlnQWd2M0FRRUJmeUFFUVFGR0lRa2dDRUVBUnlFRUFuOGdBd1IvSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRVAwS0RBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUStnc0ZJQUFnQVNBQ0lBVWdCeERIQ3dzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRdEFrTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDeUNnVWdBQ0FCSUFJZ0JTQUhFT1lKQ3dzRklBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVJb0hEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1FtZ2dGSUFBZ0FTQUNJQVVnQnhEWkJ3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUWtnVU1Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4QzBCZ1VnQUNBQklBSWdCU0FIRU5RRkN3c0xDd3ZHQXdJSWZ3RitJd1loQkNNR1FVQnJKQVlnQkVFSWFpRUhJQVJCT0dvaENpQUVRVFJxSVFnZ0JFRVFhaUVHSUFJc0FHUUVRQ0FFSUFBb0FrdzJBakFnQkNBQ0VNVUJLQUlBTmdJb0lBUWdBaERGQVNnQ0JEWUNJQ0FJSUFRb0FqQTJBZ0FnQ2lBRUtBSW9OZ0lBSUFjZ0JDZ0NJRFlDQUNBQVFjZ0FhaUFJSUFvZ0J4RFVCd1VnQmtFQU5nSUFJQVpCQURZQ0JDQUdRUUEyQWdnZ0FpQUdJQUVnQXhEVEJ3TkFJQVVnQmlnQ0JDQUdLQUlBSWdKclFRSjFTUVJBSUFBZ0FTQUZRUUowSUFKcUtBSUFJQU1RdXdJZ0JVRUJhaUVGREFFTEN5QUFLQUprSUFBb0FtaElCRUFnQVNnQ0FDSUNJQUVvQWdSSEJFQWdBaWdDQUNFTElBRW9BZ1FpQlNBQktBSUFJZ2xySWdKQkNFb0VRQ0FISUFrcEFnQWlERGNEQUNBSklBVkJlR29pQlNrQ0FEY0NBQ0FGSUF3M0FnQWdCQ0FKTmdJc0lBUWdCVFlDSkNBRUlBazJBaHdnQ0NBRUtBSXNOZ0lBSUFvZ0JDZ0NKRFlDQUNBSElBUW9BaHcyQWdBZ0NDQUNRUU4yUVg5cUlBY1F2d01nQVNnQ0JDRUZDMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUJJQVZCZUdvMkFnUWdBQ0FBS0FKa1FRRnFOZ0prSUFBZ0FTQUxJQU1RdXdJTEN5QUdFRlVMSUFRa0JndGtBUUovSUFCQkFFY2dBVUVBUjNFRWZ5QUFRUXhxUVFCQmdBZ1FSUm9nQVNBQUtBSUVJQUFvQWdoc2FpRUNBMzhnQVNBQ1NRUi9JQUJCREdvZ0FTMEFBRUVDZEdvaUF5QURLQUlBUVFGcU5nSUFJQUZCQVdvaEFRd0JCVUVBQ3dzRlFYOExDMWtCQVgwZ0FDQUNLZ0lJSUFJcUFnQWdBNVFnQWlvQ0JDQUVsSktTSUFJcUFpQWdBaW9DR0NBRGxDQUNLZ0ljSUFTVWtwSWlCWlU0QWdBZ0FTQUNLZ0lVSUFJcUFnd2dBNVFnQWlvQ0VDQUVsSktTSUFXVk9BSUFDelFBSUFBZ0FTa0NBRGNDQUNBQUlBRXBBZ2czQWdnZ0FDQUJLUUlRTndJUUlBQWdBU2tDR0RjQ0dDQUFJQUVvQWlBMkFpQUx1QUlDQlg4Q2ZDTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJpQUhRUlJxSWdnZ0JFRUVkQkJFSWdvMkFnQWdDa1VFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFkQkVHb2hCaUFJSUFSQkdHd1FSQ0lKTmdJRUlBbEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDMEVBSVFZRFFDQUdJQVJJQkVBZ0JrRUVkQ0FLYWlBR1FRUjBJQUpxS3dNQU9RTUFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXdBNUF3QWdCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUlPUU1JSUFaQkdHd2dDV29nQmtFWWJDQURhaXNERURrREVDQUdRUUZxSVFZTUFRc0xJQWdnQkRZQ0NDQUFLQUlBSUFnZ0FTQUZJQWNRNmdGQkFFZ0VRQ0FIUkFBQUFBQ0UxNWRCT1FNQUN5QUlLQUlBRURnZ0NDZ0NCQkE0SUFjckF3QWhEQ0FISkFZZ0RBc0hBQ0FBUVR4cUMyVUJCSDhEUUNBRklBSklCRUFnQXlBREtBSUFRZjJIRFd4Qnc3MmFBV29pQkRZQ0FDQUVRUkIyUWYvL0FYRWdBUkJQUVFKMElBQnFJUVFnQlVFQ2RDQUFhaUlHS0FJQUlRY2dCaUFFS0FJQU5nSUFJQVFnQnpZQ0FDQUZRUUZxSVFVTUFRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dNZ0FDZ0NCQ0FBS0FJQWEwRUNkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaWdDQ0NBQktBSUFOZ0lBSUFJZ0FpZ0NDRUVFYWpZQ0NDQUFJQUlRNUFFZ0FoREhBU0FDSkFZTEM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUW9RZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFV3RURmeUFBUWVnQWFpRURBMEFnQWlBQUtBSnNJQU1vQWdBaUFXdEJBblZKQkVBZ0FrRUNkQ0FCYWlnQ0FDSUJCRUFnQVJERUFpQUJFRGdMSUFKQkFXb2hBZ3dCQ3dzZ0FFSDBBR29RVlNBREVGVUxsd0VCQW44Z0FVRUJSZ1JBUVFJaEFRVWdBU0FCUVg5cWNRUkFJQUVRMFFFaEFRc0xJQUVnQUNnQ0JDSURTd1JBSUFBZ0FSRGlBd1VnQVNBRFNRUkFJQUFvQWd5eklBQXFBaENWalJDU0FTRUNJQU5CZjJvZ0EzRkZJQU5CQWt0eEJIOGdBa0VCUVNBZ0FrRi9hbWRyZENBQ1FRSkpHd1VnQWhEUkFRc2lBaUFCSUFFZ0Fra2JJZ0VnQTBrRVFDQUFJQUVRNGdNTEN3c0xFd0FnQUVIc2hRRTJBZ0FnQUVFRWFoRFNBZ3NsQUNBQVFkeUZBVFlDQUNBQVFUaHFFRlVnQUVFc2FoQlZJQUJCSUdvUVZTQUFFTVlDQ3cwQUlBQW9BZ0FnQVVFRmRHb0wzZ01CQTM4akJpRUlJd1pCRUdva0JpQUdRUUJLQkVBZ0JrRUJhaUFGS0FJRVNRUkFJQWRCZjJvaENTQUhRUUJLQkVBZ0IwRUJhaUlLSUFVb0FnaEpCRUFnQlNBSkVGQWdCa0VDZEdvaENTQUZJQWNRVUNBR1FRSjBhaUVISUFVZ0NoQlFJQVpCQW5ScUlRVWdBQ0FIS2dJRUlBZEJmR29pQUNvQ0FKTkRBQUFBUDVRNEFnQWdBU0FGS2dJQUlBa3FBZ0NUUXdBQUFEK1VPQUlBSUFJZ0J5b0NCQ0FBS2dJQUlBY3FBZ0JEQUFBQVFKU1RramdDQUNBRElBVXFBZ0FnQ1NvQ0FDQUhLZ0lBUXdBQUFFQ1VrNUk0QWdBZ0JDQUpRWHhxS2dJQUlBVXFBZ1NTSUFrcUFnUWdCVUY4YWlvQ0FKS1RRd0FBZ0Q2VU9BSUFJQWdrQmc4TEN5QUlRY0RJQTBHNTJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHZEFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFJUWNESUEwR0IyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2NBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMRFFBZ0FDQUNsQ0FCSUFHVWt3czZBUUo5UXdBQWdEOUJBU0FFZExLVklnVkRBQUFBUDVSREFBQUF2NUloQmlBQUlBVWdBcFFnQnBJNEFnQWdBU0FGSUFPVUlBYVNPQUlBQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJlR29pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVEZFd0QkEzUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRVnhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGx3RUJCSDhnQVVFRWFpSURLQUlBSVFJZ0F5QUFLQUlFSUFBb0FnQWlCR3NpQlVGY0VEbEJKR3dnQW1vaUFqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTGNnRUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWNmajhUaExCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFTUnNFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJKR3dnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVNSc0lBUnFOZ0lNQzA0QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkpCQTVJQUZKQkVBZ0FpQUJJQUFvQWdRZ0EydEJKQkE1SUFCQkNHb1EwQUlnQUNBQ0VNOENJQUlRemdJTElBSWtCZ3RBQVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXQnFJZ0VRM1FFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3o4QkFuOGdBQ2dDQUNJQ0JFQWdBQ2dDQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d0ZEFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRVjFJZ01nQVVrRVFDQUFJQUVnQTJzUWpBa0ZJQU1nQVVzRVFDQUJRUVYwSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQllHb2lBUkRkQVF3QkN3c2dBQ0FDTmdJRUN3c0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFkV3ExYW9CU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVNYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVF4c0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRU1iQ0FFYWpZQ0RBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVg5cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xqZ0VCQkg4Z0FVRUVhaUlES0FJQUlBQW9BZ1FnQUNnQ0FDSUVheUlGYXlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxRQUFnQUVFQU5nSU1JQUFnQXpZQ0VDQUFJQUVFZnlBQkVGRUZRUUFMSWdNMkFnQWdBQ0FDSUFOcUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVNBRGFqWUNEQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDOVFDQWdaL0FuMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSklBWkJER29oQ3lBR1FRaHFJUWdnQmtFRWFpRUtJQVFxQWdnaERDQUVLZ0lNSVEwZ0JRSi9Ba0FDUUFKQUlBRkZEUUFnQUNBQklBd2dEU0FISUFnUTVRRkJBRWdOQUNBRklBY3FBZ0FRUXpZQ0FDQUZJQWdxQWdBUVF6WUNCQ0FDUlEwQklBQWdBaUFNSUEwZ0NTQUtFT1VCUVFCSURRRWdCU0FIS2dJQVF3QUFBRUNVSUFrcUFnQ1RFRU0yQWdnZ0JTQUlLZ0lBUXdBQUFFQ1VJQW9xQWdDVEVFTTJBZ3dnQTBVTkFpQUFJQU1nRENBTklBc2dCaERsQVVFQVNBMENJQVVnQ3lvQ0FDQUhLZ0lBUXdBQVFFQ1VJQWtxQWdCREFBQkFRSlNUa2hCRE5nSVFJQVlxQWdBZ0NDb0NBRU1BQUVCQWxDQUtLZ0lBUXdBQVFFQ1VrNUlRUXd3REN5QUZRWDgyQWdBZ0JVRi9OZ0lFQ3lBRlFYODJBZ2dnQlVGL05nSU1DeUFGUVg4MkFoQkJmd3MyQWhRZ0JpUUdDMDRCQW4wZ0FTb0NBQ0FBS2dJQWt5SUVJQVNVSUFFcUFnUWdBQ29DQkpNaUJDQUVsSktSSWdWREFBQUFBRndFUUNBQ0lBUWdCWlU0QWdBZ0F5QUJLZ0lBSUFBcUFnQ1RJQVdWT0FJQUN3c0dBRUVhRUFJTHB3RUJBbjlCYnlBQmF5QUNTUVJBRUFBTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5RUZJQUZCNS8vLy93ZEpCSDlCQ3lBQlFRRjBJZ1lnQVNBQ2FpSUNJQUlnQmtrYklnSkJFR3BCY0hFZ0FrRUxTUnNGUVc4TElnWVFVU0VDSUFRRVFDQUNJQVVnQkJDb0FRc2dBeUFFYXlJREJFQWdBaUFFYWlBRUlBVnFJQU1RcUFFTElBRkJDa2NFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQ3o0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQVN3QUMwRUFTQVJBSUFBZ0FTZ0NBQ0FCS0FJRUVINEZJQUFnQVNrQ0FEY0NBQ0FBSUFFb0FnZzJBZ2dMQ3dRQVFRRUxDZ0FnQUJBNElBRVFPQXNMQUNBRUlBSTJBZ0JCQXdzZkFRRi9JQUFvQWdBaUFRUi9JQUVRT0NBQVFRQTJBZ0JCQUFWQmZ3c2FDNk1CQVFOL1FZZ0JFRVFpQVFSQUEwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FDUVFWMElBRnFJQU5CQTNScUlBSkJCWFFnQUdvZ0EwRURkR29yQXdBNUF3QWdBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFGQkNqWUNZQ0FCUkFBQUFLQ1ptYmsvT1FOb0lBRkVBQUFBZ0JTdTd6ODVBM0FnQVVRQUFBQUFBQUFRUURrRGVDQUJSQUFBQUFBQUFPQS9PUU9BQVFWQkFDRUJDeUFCQzc4RUFRRi9JQUFnQlVZRWZ5QUJMQUFBQkg4Z0FVRUFPZ0FBSUFRZ0JDZ0NBQ0lBUVFGcU5nSUFJQUJCTGpvQUFDQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNFUUNBSktBSUFJZ0FnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQUxDMEVBQlVGL0N3VUNmeUFBSUFaR0JFQWdCeWdDQkNBSExBQUxJZ1ZCL3dGeElBVkJBRWdiQkVCQmZ5QUJMQUFBUlEwQ0drRUFJQWtvQWdBaUFDQUlhMEdnQVU0TkFob2dDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0NrRUFOZ0lBUVFBTUFnc0xJQXRCZ0FGcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBQUlBVkJBblFnQzJvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUxheUlBUWZ3QVNnUi9RWDhGSUFCQkFuVkI4TzhBYWl3QUFDRUZBa0FDUUFKQUFrQWdBRUdvZjJvaUJrRUNkaUFHUVI1MGNnNEVBUUVBQUFJTElBUW9BZ0FpQUNBRFJ3UkFRWDhnQUVGL2Fpd0FBRUhmQUhFZ0Fpd0FBRUgvQUhGSERRVWFDeUFFSUFCQkFXbzJBZ0FnQUNBRk9nQUFRUUFNQkFzZ0FrSFFBRG9BQUF3QkN5QUZRZDhBY1NJRElBSXNBQUJHQkVBZ0FpQURRWUFCY2pvQUFDQUJMQUFBQkVBZ0FVRUFPZ0FBSUFjb0FnUWdCeXdBQ3lJQlFmOEJjU0FCUVFCSUd3UkFJQWtvQWdBaUFTQUlhMEdnQVVnRVFDQUtLQUlBSVFJZ0NTQUJRUVJxTmdJQUlBRWdBallDQUFzTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdCVG9BQUNBQVFkUUFUQVJBSUFvZ0NpZ0NBRUVCYWpZQ0FBdEJBQXNMQ3d1a0FRRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0FSQTdJQVZCb000REVEb2lBU2dDQUNnQ01DRUdJQUZCOE84QVFaRHdBQ0FDSUFaQkQzRkJpZ0pxRVFrQUdpQUZRYWpPQXhBNklnRW9BZ0FvQWd3aEFpQURJQUVnQWtIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNnQ0VDRUNJQVFnQVNBQ1FmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQVVRUENBRkpBWUxVZ0lDZndGOElBQW9BZ1FpQXlBQktBSUVSd1JBUVFBUUFRc0RRQ0FDSUFOSUJFQWdCQ0FBS0FJQUlBSkJBM1JxS3dNQUlBRW9BZ0FnQWtFRGRHb3JBd0Npb0NFRUlBSkJBV29oQWd3QkN3c2dCQXMzQVFKL1FRZ1FSQ0lCQkVBZ0FTQUFRUU4wRUVRaUFqWUNBQ0FDQkVBZ0FTQUFOZ0lFQlNBQkVEaEJBQ0VCQ3dWQkFDRUJDeUFCQzlVRUFRRi9JQUJCL3dGeElBVkIvd0Z4UmdSL0lBRXNBQUFFZnlBQlFRQTZBQUFnQkNBRUtBSUFJZ0JCQVdvMkFnQWdBRUV1T2dBQUlBY29BZ1FnQnl3QUN5SUFRZjhCY1NBQVFRQklHd1JBSUFrb0FnQWlBQ0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRRWdDU0FBUVFScU5nSUFJQUFnQVRZQ0FBc0xRUUFGUVg4TEJRSi9JQUJCL3dGeElBWkIvd0Z4UmdSQUlBY29BZ1FnQnl3QUN5SUZRZjhCY1NBRlFRQklHd1JBUVg4Z0FTd0FBRVVOQWhwQkFDQUpLQUlBSWdBZ0NHdEJvQUZPRFFJYUlBb29BZ0FoQVNBSklBQkJCR28yQWdBZ0FDQUJOZ0lBSUFwQkFEWUNBRUVBREFJTEN5QUxRU0JxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFGSUF0cUlnVXRBQUFnQUVIL0FYRkdCSDhnQlFVZ0JpRUZEQUlMQ3dzZ0Myc2lCVUVmU2dSL1FYOEZJQVZCOE84QWFpd0FBQ0VBQWtBQ1FBSkFJQVZCRm1zT0JBRUJBQUFDQ3lBRUtBSUFJZ0VnQTBjRVFFRi9JQUZCZjJvc0FBQkIzd0J4SUFJc0FBQkIvd0J4UncwRUdnc2dCQ0FCUVFGcU5nSUFJQUVnQURvQUFFRUFEQU1MSUFKQjBBQTZBQUFnQkNBRUtBSUFJZ0ZCQVdvMkFnQWdBU0FBT2dBQVFRQU1BZ3NnQUVIZkFIRWlBeUFDTEFBQVJnUkFJQUlnQTBHQUFYSTZBQUFnQVN3QUFBUkFJQUZCQURvQUFDQUhLQUlFSUFjc0FBc2lBVUgvQVhFZ0FVRUFTQnNFUUNBSktBSUFJZ0VnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUNJQWtnQVVFRWFqWUNBQ0FCSUFJMkFnQUxDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQURvQUFFRUFJQVZCRlVvTkFSb2dDaUFLS0FJQVFRRnFOZ0lBUVFBTEN3c0xwQUVCQW44akJpRUZJd1pCRUdva0JpQUZJQUVRT3lBRlFZRE9BeEE2SWdFb0FnQW9BaUFoQmlBQlFmRHZBRUdROEFBZ0FpQUdRUTl4UVlvQ2FoRUpBQm9nQlVHUXpnTVFPaUlCS0FJQUtBSU1JUUlnQXlBQklBSkIvd0J4UVFocUVRQUFPZ0FBSUFFb0FnQW9BaEFoQWlBRUlBRWdBa0gvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBRkVEd2dCU1FHQ3dzQUlBQVFtUUlnQUJBNEN3c0FJQUFRbWdJZ0FCQTRDd3NBSUFBUTBBUWdBQkE0Q3dzQUlBQVExZ1FnQUJBNEN4TUFJQUFnQTZJZ0FTQUVvcUFnQWlBRm9xQUxWd0VEZnlBQUtBSUVJZ2RCQ0hVaEJpQUhRUUZ4QkVBZ0F5Z0NBQ0FHYWlnQ0FDRUdDeUFBS0FJQUlnQW9BZ0FvQWhRaENDQUFJQUVnQWlBRElBWnFJQVJCQWlBSFFRSnhHeUFGSUFoQkIzRkIyZ1pxRVF3QUN4UUFJQUFnQUtJZ0FTQUJvcUFnQWlBQ29xQ2ZDNmNCQUNBQVFRRTZBRFVnQWlBQUtBSUVSZ1JBQWtBZ0FFRUJPZ0EwSUFBb0FoQWlBa1VFUUNBQUlBRTJBaEFnQUNBRE5nSVlJQUJCQVRZQ0pDQUFLQUl3UVFGR0lBTkJBVVp4UlEwQklBQkJBVG9BTmd3QkN5QUJJQUpIQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQVRvQU5nd0JDeUFBS0FJWUlnRkJBa1lFUUNBQUlBTTJBaGdGSUFFaEF3c2dBQ2dDTUVFQlJpQURRUUZHY1FSQUlBQkJBVG9BTmdzTEN3c2ZBQ0FCSUFBb0FnUkdCRUFnQUNnQ0hFRUJSd1JBSUFBZ0FqWUNIQXNMQzE0QkFYOGdBQ2dDRUNJREJFQUNRQ0FCSUFOSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFqWUNHQ0FBUVFFNkFEWU1BUXNnQUNnQ0dFRUNSZ1JBSUFBZ0FqWUNHQXNMQlNBQUlBRTJBaEFnQUNBQ05nSVlJQUJCQVRZQ0pBc0w1QUlDQW44Q2ZTQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUgvLy8vakJFc0VRQ0FBUTlvUHliOUQyZy9KUHlBQ0d5QUJRWUNBZ1B3SFN4c1BDeUFCUVlDQWdQY0RTUVJBSUFGQmdJQ0F6QU5KQkg4Z0FBOEZRWDhMSVFFRklBQ0xJUUFnQVVHQWdPRDhBMGtFZlNBQlFZQ0F3UGtEU1FSOVFRQWhBU0FBUXdBQUFFQ1VRd0FBZ0wrU0lBQkRBQUFBUUpLVkJVRUJJUUVnQUVNQUFJQy9raUFBUXdBQWdEK1NsUXNGSUFGQmdJRHdnQVJKQkgxQkFpRUJJQUJEQUFEQXY1SWdBRU1BQU1BL2xFTUFBSUEva3BVRlFRTWhBVU1BQUlDL0lBQ1ZDd3NoQUFzZ0FDQUFsQ0lFSUFTVUlRTWdCQ0FESUFOREpheDhQWlJERGZVUlBwS1VRNm1xcWo2U2xDRUVJQU5EbU1wTXZpQURRMGNTMmoyVWs1UWhBeUFCUVFCSUJIMGdBQ0FBSUFNZ0JKS1Vrd1VnQVVFQ2RFSFE3QUJxS2dJQUlBQWdBeUFFa3BRZ0FVRUNkRUhnN0FCcUtnSUFreUFBazVNaUFDQUFqQ0FDUlJzTEMvd0NBZ04vQVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VRQ0FCUVlDQWdNd0RUd1JBSUFDN0VKRUJJUUFMQlFKOUlBRkIwcWZ0Z3dSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIa2w5dUFCRThFUUVRWUxVUlUreUVKUUVRWUxVUlUreUVKd0NBQ0d5QUVvSm9Ra1FFTUFnc2dBZ1JBSUFSRUdDMUVWUHNoK1QrZ0VKQUJqQXdDQlNBRVJCZ3RSRlQ3SWZtL29CQ1FBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIZzI3K0ZCRThFUUVRWUxVUlUreUVaUUVRWUxVUlUreUVad0NBQ0d5QUVvQkNSQVF3Q0N5QUNCRUFnQkVUU0lUTi9mTmtTUUtBUWtBRU1BZ1VnQkVUU0lUTi9mTmtTd0tBUWtBR01EQUlMQUFzZ0FDQUFreUFCUWYvLy8vc0hTdzBBR2dKQUFrQUNRQUpBSUFBZ0F4RDZBa0VEY1E0REFBRUNBd3NnQXlzREFCQ1JBUXdEQ3lBREt3TUFFSkFCREFJTElBTXJBd0NhRUpFQkRBRUxJQU1yQXdBUWtBR01DeUVBQ3lBREpBWWdBQXYvQWdNRGZ3RjlBWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRWZTQUJRWUNBZ013RFNRUjlRd0FBZ0Q4RklBQzdFSkFCQ3dVQ2ZTQUJRZEtuN1lNRVNRUkFJQUpCQUVjaEFpQUF1eUVGSUFGQjQ1ZmJnQVJMQkVCRUdDMUVWUHNoQ1VCRUdDMUVWUHNoQ2NBZ0Foc2dCYUFRa0FHTURBSUxJQUlFUUNBRlJCZ3RSRlQ3SWZrL29CQ1JBUXdDQlVRWUxVUlUreUg1UHlBRm9SQ1JBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBRkIzOXUvaFFSTEJFQkVHQzFFVlBzaEdVQkVHQzFFVlBzaEdjQWdBaHNnQUx1Z0VKQUJEQUlMSUFJRVFDQUFqTHRFMGlFemYzelpFc0NnRUpFQkRBSUZJQUM3Uk5JaE0zOTgyUkxBb0JDUkFRd0NDd0FMSUFBZ0FKTWdBVUgvLy8vN0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFNUStnSkJBM0VPQXdBQkFnTUxJQU1yQXdBUWtBRU1Bd3NnQXlzREFKb1FrUUVNQWdzZ0F5c0RBQkNRQVl3TUFRc2dBeXNEQUJDUkFRc0xJUVFnQXlRR0lBUUxkd0VCZndKQUFrQWdBQTBBUWNURkF5Z0NBQ0lBRFFCQkFDRUFEQUVMSUFBUTl3UWdBR29pQUN3QUFFVUVRRUhFeFFOQkFEWUNBRUVBSVFBTUFRdEJ4TVVESUFBUTdRUWdBR29pQVRZQ0FDQUJMQUFBQkVCQnhNVURJQUZCQVdvMkFnQWdBVUVBT2dBQUJVSEV4UU5CQURZQ0FBc0xJQUFMS2dFQmZpQUFLQUpNR2lBQUVPOEVJZ0ZDLy8vLy93ZFZCSDlCcE1VRFFUMDJBZ0JCZndVZ0FhY0xDeDRBSUFBb0Frd2FJQUJDQUVFQUVJa0RJQUFnQUNnQ0FFRmZjVFlDQUF2d0FRSUdmd0o4SXdZaEF5TUdRUkJxSkFZZ0EwRUlhaUVFSUFDOElnVkIvLy8vL3dkeElnSkIyNStrN2dSSkJIOGdBTHNpQ0VTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSUpFSE1oQmlBQklBZ2dDVVFBQUFCUSt5SDVQNktoSUFsRVkySWFZYlFRVVQ2aW9Ua0RBQ0FHQlFKL0lBSkIvLy8vK3dkTEJFQWdBU0FBSUFDVHV6a0RBRUVBREFFTElBUWdBaUFDUVJkMlFlcCthaUlDUVJkMGE3NjdPUU1BSUFRZ0F5QUNRUUZCQUJEN0FpRUNJQU1yQXdBaENDQUZRUUJJQkg4Z0FTQUltamtEQUVFQUlBSnJCU0FCSUFnNUF3QWdBZ3NMQ3lFSElBTWtCaUFIQzRNUkFoWi9BM3dqQmlFTkl3WkJzQVJxSkFZZ0RVSEFBbW9oRHlBRVFRSjBRZkRwQUdvb0FnQWhEaUFDUVgxcVFSZ1FPU0lGUVFBZ0JVRUFTaHNoRVNBT0lBTkJmMm9pQjJwQkFFNEVRQ0FESUE1cUlRa2dFU0FIYXlFRkEwQWdCa0VEZENBUGFpQUZRUUJJQkh4RUFBQUFBQUFBQUFBRklBVkJBblJCZ09vQWFpZ0NBTGNMT1FNQUlBVkJBV29oQlNBR1FRRnFJZ1lnQ1VjTkFBc0xJQTFCNEFOcUlRd2dEVUdnQVdvaENpQVJRV2hzSWhVZ0FrRm9hbW9oQ1NBRFFRQktJUWhCQUNFRkEwQWdDQVJBSUFVZ0Iyb2hDMFFBQUFBQUFBQUFBQ0ViUVFBaEJnTkFJQnNnQmtFRGRDQUFhaXNEQUNBTElBWnJRUU4wSUE5cUt3TUFvcUFoR3lBR1FRRnFJZ1lnQTBjTkFBc0ZSQUFBQUFBQUFBQUFJUnNMSUFWQkEzUWdEV29nR3prREFDQUZRUUZxSVFZZ0JTQU9TQVJBSUFZaEJRd0JDd3NnQ1VFQVNpRVNRUmdnQ1dzaEUwRVhJQWxySVJZZ0NVVWhGeUFEUVFCS0lSZ2dEaUVGQWtBQ1FBTkFBa0FnQlVFRGRDQU5haXNEQUNFYklBVkJBRW9pQ3dSQUlBVWhCa0VBSVFjRFFDQUhRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRYzdjaUcwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0JrRi9haUlJUVFOMElBMXFLd01BSUJ1Z0lSc2dCMEVCYWlFSElBWkJBVW9FUUNBSUlRWU1BUXNMQ3lBYklBa1Fud0VpR3lBYlJBQUFBQUFBQU1BL29weEVBQUFBQUFBQUlFQ2lvU0liRUhNaEJpQWJJQWEzb1NFYkFrQUNRQUpBSUJJRWZ5QUZRWDlxUVFKMElBeHFJZ2dvQWdBaUVDQVRkU0VISUFnZ0VDQUhJQk4wYXlJSU5nSUFJQWdnRm5VaENDQUdJQWRxSVFZTUFRVWdGd1IvSUFWQmYycEJBblFnREdvb0FnQkJGM1VoQ0F3Q0JTQWJSQUFBQUFBQUFPQS9aZ1IvUVFJaENBd0VCVUVBQ3dzTElRZ01BZ3NnQ0VFQVNnMEFEQUVMSUFZaEdpQUxCSDlCQUNFR1FRQWhDd04vSUF0QkFuUWdER29pR1NnQ0FDRVFBa0FDUUNBR0JIOUIvLy8vQnlFVURBRUZJQkFFZjBFQklRWkJnSUNBQ0NFVURBSUZRUUFMQ3lFR0RBRUxJQmtnRkNBUWF6WUNBQXNnQzBFQmFpSUxJQVZIRFFBZ0Jnc0ZRUUFMSVFzZ0VnUkFBa0FDUUFKQUlBbEJBV3NPQWdBQkFnc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQTNFMkFnQU1BUXNnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0FYRTJBZ0FMQ3lBYVFRRnFJUVlnQ0VFQ1JnUkFSQUFBQUFBQUFQQS9JQnVoSVJzZ0N3UkFJQnRFQUFBQUFBQUE4RDhnQ1JDZkFhRWhHd3RCQWlFSUN3c2dHMFFBQUFBQUFBQUFBR0lOQWlBRklBNUtCRUJCQUNFTElBVWhCd05BSUFzZ0IwRi9haUlIUVFKMElBeHFLQUlBY2lFTElBY2dEa29OQUFzZ0N3MEJDMEVCSVFZRFFDQUdRUUZxSVFjZ0RpQUdhMEVDZENBTWFpZ0NBRVVFUUNBSElRWU1BUXNMSUFVZ0Jtb2hCd05BSUFNZ0JXb2lDRUVEZENBUGFpQUZRUUZxSWdZZ0VXcEJBblJCZ09vQWFpZ0NBTGM1QXdBZ0dBUkFSQUFBQUFBQUFBQUFJUnRCQUNFRkEwQWdHeUFGUVFOMElBQnFLd01BSUFnZ0JXdEJBM1FnRDJvckF3Q2lvQ0ViSUFWQkFXb2lCU0FEUncwQUN3VkVBQUFBQUFBQUFBQWhHd3NnQmtFRGRDQU5haUFiT1FNQUlBWWdCMGdFUUNBR0lRVU1BUXNMSUFjaEJRd0JDd3NnQ1NFQUEzOGdBRUZvYWlFQUlBVkJmMm9pQlVFQ2RDQU1haWdDQUVVTkFDQUFJUUlnQlFzaEFBd0JDeUFiUVFBZ0NXc1Fud0VpRzBRQUFBQUFBQUJ3UVdZRWZ5QUZRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRY3lJRHQwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0FpQVZhaUVDSUFWQkFXb0ZJQWtoQWlBYkVITWhBeUFGQ3lJQVFRSjBJQXhxSUFNMkFnQUxSQUFBQUFBQUFQQS9JQUlRbndFaEd5QUFRWDlLSWdjRVFDQUFJUUlEUUNBQ1FRTjBJQTFxSUJzZ0FrRUNkQ0FNYWlnQ0FMZWlPUU1BSUJ0RUFBQUFBQUFBY0Q2aUlSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMSUFjRVFDQUFJUUlEUUNBQUlBSnJJUWxCQUNFRFJBQUFBQUFBQUFBQUlSc0RRQ0FiSUFOQkEzUkJrT3dBYWlzREFDQUNJQU5xUVFOMElBMXFLd01Bb3FBaEd5QURRUUZxSVFVZ0F5QU9UaUFESUFsUGNrVUVRQ0FGSVFNTUFRc0xJQWxCQTNRZ0Ntb2dHemtEQUNBQ1FYOXFJUU1nQWtFQVNnUkFJQU1oQWd3QkN3c0xDd0pBQWtBQ1FBSkFJQVFPQkFBQkFRSURDeUFIQkVCRUFBQUFBQUFBQUFBaEd3TkFJQnNnQUVFRGRDQUthaXNEQUtBaEd5QUFRWDlxSVFJZ0FFRUFTZ1JBSUFJaEFBd0JDd3NGUkFBQUFBQUFBQUFBSVJzTElBRWdHNW9nR3lBSUd6a0RBQXdDQ3lBSEJFQkVBQUFBQUFBQUFBQWhHeUFBSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBQklCc2dHNW9nQ0VVaUJCczVBd0FnQ2lzREFDQWJvU0ViSUFCQkFVNEVRRUVCSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRUJhaUVESUFBZ0FrY0VRQ0FESVFJTUFRc0xDeUFCSUJzZ0c1b2dCQnM1QXdnTUFRc2dBRUVBU2dSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1FyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRUlCdzVBd0FnQWtFQlNnUkFJQU1oQWlBY0lSc01BUXNMSUFCQkFVb2lCQVJBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnVXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FGSUJ3NUF3QWdBa0VDU2dSQUlBTWhBaUFjSVJzTUFRc0xJQVFFUUVRQUFBQUFBQUFBQUNFYkEwQWdHeUFBUVFOMElBcHFLd01Bb0NFYklBQkJmMm9oQWlBQVFRSktCRUFnQWlFQURBRUxDd1ZFQUFBQUFBQUFBQUFoR3dzRlJBQUFBQUFBQUFBQUlSc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBS0t3TUFJUndnQ0FSQUlBRWdISm81QXdBZ0FTQUtLd01JbWprRENDQUJJQnVhT1FNUUJTQUJJQnc1QXdBZ0FTQUtLd01JT1FNSUlBRWdHemtERUFzTElBMGtCaUFHUVFkeEM0QUpBd2gvQVg0RWZDTUdJUVFqQmtFd2FpUUdJQVJCRUdvaEJTQUF2U0lLUWorSXB5RUdBbjhDUUNBS1FpQ0lweUlDUWYvLy8vOEhjU0lEUWZ2VXZZQUVTUVIvSUFKQi8vOC9jVUg3d3lSR0RRRWdCa0VBUnlFQ0lBTkIvYktMZ0FSSkJIOGdBZ1IvSUFFZ0FFUUFBRUJVK3lINVA2QWlBRVF4WTJJYVliVFFQYUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEQyZ09RTUlRWDhGSUFFZ0FFUUFBRUJVK3lINXY2QWlBRVF4WTJJYVliVFF2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEwyZ09RTUlRUUVMQlNBQ0JIOGdBU0FBUkFBQVFGVDdJUWxBb0NJQVJERmpZaHBodE9BOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGdQYUE1QXdoQmZnVWdBU0FBUkFBQVFGVDdJUW5Bb0NJQVJERmpZaHBodE9DOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGd2YUE1QXdoQkFnc0xCUUovSUFOQnZJenhnQVJKQkVBZ0EwRzkrOWVBQkVrRVFDQURRZnl5eTRBRVJnMEVJQVlFUUNBQklBQkVBQUF3ZjN6WkVrQ2dJZ0JFeXBTVHA1RU82VDJnSWdzNUF3QWdBU0FBSUF1aFJNcVVrNmVSRHVrOW9Ea0RDRUY5REFNRklBRWdBRVFBQURCL2ZOa1N3S0FpQUVUS2xKT25rUTdwdmFBaUN6a0RBQ0FCSUFBZ0M2RkV5cFNUcDVFTzZiMmdPUU1JUVFNTUF3c0FCU0FEUWZ2RDVJQUVSZzBFSUFZRVFDQUJJQUJFQUFCQVZQc2hHVUNnSWdCRU1XTmlHbUcwOEQyZ0lnczVBd0FnQVNBQUlBdWhSREZqWWhwaHRQQTlvRGtEQ0VGOERBTUZJQUVnQUVRQUFFQlUreUVad0tBaUFFUXhZMklhWWJUd3ZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzA4TDJnT1FNSVFRUU1Bd3NBQ3dBTElBTkIrOFBraVFSSkRRSWdBMEgvLzcvL0Iwc0VRQ0FCSUFBZ0FLRWlBRGtEQ0NBQklBQTVBd0JCQUF3QkN5QUtRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FzTUVBaEw4aEFFRUFJUUlEUUNBQ1FRTjBJQVZxSUFBUWM3Y2lDemtEQUNBQUlBdWhSQUFBQUFBQUFIQkJvaUVBSUFKQkFXb2lBa0VDUncwQUN5QUZJQUE1QXhBZ0FFUUFBQUFBQUFBQUFHRUVRRUVCSVFJRFFDQUNRWDlxSVFjZ0FrRURkQ0FGYWlzREFFUUFBQUFBQUFBQUFHRUVRQ0FISVFJTUFRc0xCVUVDSVFJTElBVWdCQ0FEUVJSMlFlcDNhaUFDUVFGcVFRRVErd0loQWlBRUt3TUFJUUFnQmdSL0lBRWdBSm81QXdBZ0FTQUVLd01JbWprRENFRUFJQUpyQlNBQklBQTVBd0FnQVNBRUt3TUlPUU1JSUFJTEN3c01BUXNnQUVTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSU1FSE1oQ0NBQklBQWdERVFBQUVCVSt5SDVQNktoSWdzZ0RFUXhZMklhWWJUUVBhSWlBS0VpRFRrREFDQURRUlIySWdjZ0RiMUNOSWluUWY4UGNXdEJFRW9FUUNBTVJITndBeTZLR2FNN29pQUxJQXNnREVRQUFHQWFZYlRRUGFJaUFLRWlDNkVnQUtHaElRQWdBU0FMSUFDaElnMDVBd0FnREVUQlNTQWxtb043T2FJZ0N5QUxJQXhFQUFBQUxvb1pvenVpSWc2aElneWhJQTZob1NFT0lBY2dEYjFDTklpblFmOFBjV3RCTVVvRVFDQUJJQXdnRHFFaURUa0RBQ0FPSVFBZ0RDRUxDd3NnQVNBTElBMmhJQUNoT1FNSUlBZ0xJUWtnQkNRR0lBa0xGZ0FnQUNBQklBSkNnSUNBZ0lDQWdJQ0FmeENFQXd2bENnRVNmeUFCS0FJQUlRVUNmd0pBSUFORkRRQWdBeWdDQUNJRVJRMEFJQUFFZnlBRFFRQTJBZ0FnQkNFT0lBQWhEeUFDSVJBZ0JTRUlRVEFGSUFRaENTQUZJUWNnQWlFTFFSb0xEQUVMSUFCQkFFY2hBMEhvaVFFb0FnQW9BZ0FFUUNBREJFQWdBQ0VTSUFJaEVTQUZJUXhCSVF3Q0JTQUNJUk1nQlNFVVFROE1BZ3NBQ3lBRFJRUkFJQVVRWUNFS1FUOE1BUXNnQWdSQUFrQWdBQ0VHSUFJaEJDQUZJUU1EUUNBRExBQUFJZ1VFUUNBRFFRRnFJUU1nQmlBRlFmKy9BM0UyQWdBZ0JFRi9haUlFUlEwQ0lBWkJCR29oQmd3QkN3c2dCa0VBTmdJQUlBRkJBRFlDQUNBQ0lBUnJJUXBCUHd3Q0N3VWdCU0VEQ3lBQklBTTJBZ0FnQWlFS1FUOExJUU1EUUFKQUFrQUNRQUpBSUFOQkQwWUVRQ0FUSVFNZ0ZDRUZBMEFnQlN3QUFDSUVRZjhCY1VGL2FrSC9BRWtFZnlBRlFRTnhCSDhnQkFVZ0JTZ0NBQ0lHUWY4QmNTRUVJQVlnQmtILy9mdDNhbkpCZ0lHQ2hIaHhCSDhnQkFVRFFDQURRWHhxSVFNZ0JVRUVhaUlGS0FJQUlnUWdCRUgvL2Z0M2FuSkJnSUdDaEhoeFJRMEFDeUFFUWY4QmNRc0xCU0FFQzBIL0FYRWlCRUYvYWtIL0FFa0VRQ0FEUVg5cUlRTWdCVUVCYWlFRkRBRUxDeUFFUWI1K2FpSUVRVEpMQkVBZ0JTRUVJQUFoQmd3REJTQUVRUUowUWRBMGFpZ0NBQ0VKSUFWQkFXb2hCeUFESVF0QkdpRUREQVlMQUFVZ0EwRWFSZ1JBSUFjdEFBQkJBM1lpQTBGd2FpQURJQWxCR25WcWNrRUhTd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdEQlNBSFFRRnFJUU1nQ1VHQWdJQVFjUVIvSUFNc0FBQkJ3QUZ4UVlBQlJ3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0ZDeUFIUVFKcUlRTWdDVUdBZ0NCeEJIOGdBeXdBQUVIQUFYRkJnQUZIQkVBZ0FDRURJQWtoQmlBSElRUWdDeUVGREFZTElBZEJBMm9GSUFNTEJTQURDeUVVSUF0QmYyb2hFMEVQSVFNTUJ3c0FCU0FEUVNGR0JFQWdFUVJBQWtBZ0VpRUZJQkVoQXlBTUlRUURRQUpBQWtBQ1FDQUVMUUFBSWdaQmYyb2lEVUgvQUU4TkFDQUVRUU54UlNBRFFRUkxjUVJBQW44Q1FBTkFJQVFvQWdBaUJpQUdRZi85KzNkcWNrR0FnWUtFZUhFTkFTQUZJQVpCL3dGeE5nSUFJQVVnQkMwQUFUWUNCQ0FGSUFRdEFBSTJBZ2dnQkVFRWFpRU5JQVZCRUdvaEJpQUZJQVF0QUFNMkFnd2dBMEY4YWlJRFFRUkxCRUFnQmlFRklBMGhCQXdCQ3dzZ0JpRUZJQTBpQkN3QUFBd0JDeUFHUWY4QmNRdEIvd0Z4SWdaQmYyb2hEUXdCQ3d3QkN5QU5RZjhBVHcwQkN5QUVRUUZxSVFRZ0JTQUdOZ0lBSUFOQmYyb2lBMFVOQWlBRlFRUnFJUVVNQVFzTElBWkJ2bjVxSWdaQk1rc0VRQ0FGSVFZTUJ3c2dCa0VDZEVIUU5Hb29BZ0FoRGlBRklROGdBeUVRSUFSQkFXb2hDRUV3SVFNTUNRc0ZJQXdoQkFzZ0FTQUVOZ0lBSUFJaENrRS9JUU1NQndVZ0EwRXdSZ1JBSUFndEFBQWlCRUVEZGlJRFFYQnFJQU1nRGtFYWRXcHlRUWRMQkVBZ0R5RURJQTRoQmlBSUlRUWdFQ0VGREFVRkFrQWdDRUVCYWlFRklBUkJnSDlxSUE1QkJuUnlJZ05CQUVnRVFBSkFJQVV0QUFCQmdIOXFJZ1JCUDAwRVFDQUlRUUpxSVFVZ0JDQURRUVowY2lJRFFRQk9CRUFnQlNFTURBSUxJQVV0QUFCQmdIOXFJZ1ZCUDAwRVFDQUlRUU5xSVF3Z0JTQURRUVowY2lFRERBSUxDMEdreFFOQkdUWUNBQ0FJUVg5cUlSVU1BZ3NGSUFVaERBc2dEeUFETmdJQUlBOUJCR29oRWlBUVFYOXFJUkZCSVNFRERBb0xDd1VnQTBFL1JnUkFJQW9QQ3dzTEN3c01Bd3NnQkVGL2FpRUVJQVlOQVNBRElRWWdCU0VEQ3lBRUxBQUFCSDhnQmdVZ0JnUkFJQVpCQURZQ0FDQUJRUUEyQWdBTElBSWdBMnNoQ2tFL0lRTU1Bd3NoQXd0QnBNVURRUmsyQWdBZ0F3Ui9JQVFGUVg4aENrRS9JUU1NQWdzaEZRc2dBU0FWTmdJQVFYOGhDa0UvSVFNTUFBQUxBQXVrQVFFRmZ5TUdJUVVqQmtHQUFtb2tCaUFGSVFNZ0FrRUNUZ1JBQWtBZ0FrRUNkQ0FCYWlJSElBTTJBZ0FnQUFSQUEwQWdBeUFCS0FJQUlBQkJnQUlnQUVHQUFra2JJZ1FRVEJwQkFDRURBMEFnQTBFQ2RDQUJhaUlHS0FJQUlBTkJBV29pQTBFQ2RDQUJhaWdDQUNBRUVFd2FJQVlnQmlnQ0FDQUVhallDQUNBQ0lBTkhEUUFMSUFBZ0JHc2lBRVVOQWlBSEtBSUFJUU1NQUFBTEFBc0xDeUFGSkFZTE9RRUNmeUFBQkVBZ0FFRUJjVVVFUUFOQUlBRkJBV29oQVNBQVFRRjJJUUlnQUVFQ2NVVUVRQ0FDSVFBTUFRc0xDd1ZCSUNFQkN5QUJDeWtCQVg4Z0FDZ0NBRUYvYWhDQUF5SUJCSDhnQVFVZ0FDZ0NCQkNBQXlJQVFTQnFRUUFnQUJzTEM1c0VBUWQvSXdZaEJpTUdRZEFCYWlRR0lBWkJ3QUZxSWdSQ0FUY0RBQ0FCSUFKc0lna0VRQUpBUVFBZ0Ftc2hDQ0FHSUFJMkFnUWdCaUFDTmdJQVFRSWhCeUFDSWdVaEFRTkFJQWRCQW5RZ0Jtb2dBaUFGYWlBQmFpSUtOZ0lBSUFkQkFXb2hCeUFLSUFsSkJFQWdBU0VGSUFvaEFRd0JDd3NnQUNBSmFpQUlhaUlCSUFCTEJIOGdBU0VIUVFFaEFVRUJJUVVEZnlBRlFRTnhRUU5HQkg4Z0FDQUNJQU1nQVNBR0VLSUNJQVJCQWhEeUFTQUJRUUpxQlNBQlFYOXFJZ1ZCQW5RZ0Jtb29BZ0FnQnlBQWEwa0VRQ0FBSUFJZ0F5QUJJQVlRb2dJRklBQWdBaUFESUFRZ0FVRUFJQVlROFFFTElBRkJBVVlFZnlBRVFRRVE4QUZCQUFVZ0JDQUZFUEFCUVFFTEN5RUJJQVFnQkNnQ0FFRUJjaUlGTmdJQUlBQWdBbW9pQUNBSFNRMEFJQUVMQlVFQklRVkJBUXNoQnlBQUlBSWdBeUFFSUFkQkFDQUdFUEVCSUFBaEFTQUhJUUFEUUFKL0FrQWdBRUVCUmlBRlFRRkdjUVIvSUFRb0FnUkZEUVFNQVFVZ0FFRUNTQTBCSUFSQkFoRHdBU0FFSUFRb0FnQkJCM00yQWdBZ0JFRUJFUElCSUFFZ0FFRithaUlGUVFKMElBWnFLQUlBYXlBSWFpQUNJQU1nQkNBQVFYOXFRUUVnQmhEeEFTQUVRUUVROEFFZ0JDQUVLQUlBUVFGeUlnYzJBZ0FnQVNBSWFpSUJJQUlnQXlBRUlBVkJBU0FHRVBFQklBVWhBQ0FIQ3d3QkN5QUVJQVFRZ1FNaUJSRHlBU0FCSUFocUlRRWdBQ0FGYWlFQUlBUW9BZ0FMSVFVTUFBQUxBQXNMSUFZa0Jnc1hBQ0FBRUlvQlFRQkhJQUJCSUhKQm4zOXFRUVpKY2d0OUFnRi9BWDRqQmlFRUl3WkJrQUZxSkFZZ0JFRUFOZ0lBSUFRZ0FEWUNCQ0FFSUFBMkFpd2dCRUYvSUFCQi8vLy8vd2RxSUFCQkFFZ2JOZ0lJSUFSQmZ6WUNUQ0FFUWdBUWdnRWdCQ0FDUVFFZ0F4Q1RBeUVGSUFFRVFDQUJJQUFnQkNnQ0JDQUVLUU40cDJvZ0JDZ0NDR3RxTmdJQUN5QUVKQVlnQlF2ZkJRRUpmeU1HSVFVakJrR1FBbW9rQmlBQkxBQUFSUVJBQWtCQnh2NENFQTBpQVFSQUlBRXNBQUFOQVFzZ0FFRU1iRUdnNlFCcUVBMGlBUVJBSUFFc0FBQU5BUXRCemY0Q0VBMGlBUVJBSUFFc0FBQU5BUXRCMHY0Q0lRRUxDeUFGUVlBQ2FpRUdBMzhDZnlBQ0lBRWdBbW9zQUFBaUEwRUFJQU5CTDBjYlJRMEFHaUFDUVFGcUlnSkJEMGtOQVVFUEN3c2hBd0pBQWtBQ1FDQUJMQUFBSWdKQkxrWUVRRUhTL2dJaEFRVWdBU0FEYWl3QUFBUkFRZEwrQWlFQkJTQUNRY01BUncwQ0N3c2dBU3dBQVVVTkFRc2dBVUhTL2dJUXN3RkZEUUFnQVVIYS9nSVFzd0ZGRFFCQnVNVURLQUlBSWdJRVFBTkFJQUVnQWtFSWFoQ3pBVVVOQXlBQ0tBSVlJZ0lOQUFzTFFiekZBeEFhUWJqRkF5Z0NBQ0lDQkVBQ1FBTkFJQUVnQWtFSWFoQ3pBUVJBSUFJb0FoZ2lBa1VOQWd3QkN3dEJ2TVVERUE0TUF3c0xBbjhDUUVIc3hBTW9BZ0FOQUVIZy9nSVFEU0lDUlEwQUlBSXNBQUJGRFFCQi9nRWdBMnNoQ1NBRFFRRnFJUW9EUUFKQUlBSkJPaENxQWlJSExBQUFJZ1JCQUVkQkgzUkJIM1VnQnlBQ2Eyb2lDQ0FKU1FSL0lBVWdBaUFJRUV3YUlBVWdDR29pQWtFdk9nQUFJQUpCQVdvZ0FTQURFRXdhSUFVZ0NDQUthbXBCQURvQUFDQUZJQVlRTlNJRURRRWdCeXdBQUFVZ0JBc2hBaUFISUFKQi93RnhRUUJIYWlJQ0xBQUFEUUVNQWdzTFFSd1FSQ0lDQkg4Z0FpQUVOZ0lBSUFJZ0JpZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUNBQ0JTQUVJQVlvQWdBUS9BUU1BUXNNQVF0QkhCQkVJZ0lFUUNBQ1FmQ0hBU2dDQURZQ0FDQUNRZlNIQVNnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQXNnQWdzaEFVRzh4UU1RRGlBQlFmQ0hBU0FBSUFGeUd5RUNEQUVMSUFCRkJFQWdBU3dBQVVFdVJnUkFRZkNIQVNFQ0RBSUxDMEVBSVFJTElBVWtCaUFDQ3hjQUlBQkJBRWNnQUVITXhBTkhjU0FBUVl5SUFVZHhDdzRBSUFBUWhnTUVRQ0FBRURnTEN4OEJBbjhnQUJCZ1FRRnFJZ0VRUkNJQ0JIOGdBaUFBSUFFUVRBVkJBQXNMbmdFQUlBSkJBVVlFUUNBQklBQW9BZ2dnQUNnQ0JHdXNmU0VCQ3dKQUFrQWdBQ2dDRkNBQUtBSWNUUTBBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFBTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQklBSWdBQ2dDS0VFRGNVR21BMm9SRkFCQ0FGTUVmMEYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0FFRnZjVFlDQUVFQUN4b0xDNUVCQWdGL0FuNENRQUpBSUFDOUlnTkNOSWdpQktkQi93OXhJZ0lFUUNBQ1FmOFBSZ1JBREFNRkRBSUxBQXNnQVNBQVJBQUFBQUFBQUFBQVlnUi9JQUJFQUFBQUFBQUE4RU9pSUFFUWlnTWhBQ0FCS0FJQVFVQnFCVUVBQ3pZQ0FBd0JDeUFCSUFTblFmOFBjVUdDZUdvMkFnQWdBMEwvLy8vLy8vLy9oNEIvZzBLQWdJQ0FnSUNBOEQrRXZ5RUFDeUFBQ3hFQUlBQUVmeUFBSUFFUW5nRUZRUUFMQzc0REF3Ri9BWDRCZkNBQlFSUk5CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJDV3NPQ2dBQkFnTUVCUVlIQ0FrS0N5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FETmdJQURBa0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPc053TUFEQWdMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3ROd01BREFjTElBSW9BZ0JCQjJwQmVIRWlBU2tEQUNFRUlBSWdBVUVJYWpZQ0FDQUFJQVEzQXdBTUJnc2dBaWdDQUVFRGFrRjhjU0lCS0FJQUlRTWdBaUFCUVFScU5nSUFJQUFnQTBILy93TnhRUkIwUVJCMXJEY0RBQXdGQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZi8vQTNHdE53TUFEQVFMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBTkIvd0Z4UVJoMFFSaDFyRGNEQUF3REN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWY4QmNhMDNBd0FNQWdzZ0FpZ0NBRUVIYWtGNGNTSUJLd01BSVFVZ0FpQUJRUWhxTmdJQUlBQWdCVGtEQUF3QkN5QUFJQUpCNlFVUkF3QUxDd3RBQVFKL0lBQW9BZ0FzQUFBUWlnRUVRQU5BSUFBb0FnQWlBaXdBQUNBQlFRcHNRVkJxYWlFQklBQWdBa0VCYWpZQ0FDQUNMQUFCRUlvQkRRQUxDeUFCQ3drQUlBQWdBUkNmQVFzSkFDQUFJQUVRamdVTElnQWdBTDFDLy8vLy8vLy8vLy8vQUlNZ0FiMUNnSUNBZ0lDQWdJQ0FmNE9Fdnd2Z0F3SURmd0YrQW40Q1FBSkFBa0FDUUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FTdHJEZ01BQVFBQkN5QUNRUzFHSVFRZ0FVRUFSeUFBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUlEUVZCcUlnSkJDVXR4Qkg0Z0FDZ0NhQVIrSUFBZ0FDZ0NCRUYvYWpZQ0JBd0VCVUtBZ0lDQWdJQ0FnSUIvQ3dVZ0F5RUJEQUlMREFNTElBSWlBVUZRYWlFQ0N5QUNRUWxMRFFCQkFDRUNBMEFnQVVGUWFpQUNRUXBzYWlFQ0lBSkJ6Sm16NWdCSUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQTBFS1NYRU5BQXNnQXF3aEJTQURRUXBKQkVBRFFDQUJyRUpRZkNBRlFncCtmQ0VGSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBa0VLU1NBRlFxNlBoZGZId3V1akFWTnhEUUFMSUFKQkNra0VRQU5BSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMUVZCcVFRcEpEUUFMQ3dzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQ0FGZlNBRklBUWJEQUVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFvQ0FnSUNBZ0lDQWdIOExDOGtIQVFWL0Fud0NRQUpBQWtBQ1FBSkFJQUVPQXdBQkFnTUxRZXQrSVFSQkdDRUZEQU1MUWM1M0lRUkJOU0VGREFJTFFjNTNJUVJCTlNFRkRBRUxSQUFBQUFBQUFBQUFEQUVMQTBBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFSQ3lBUTBBQ3dKQUFrQUNRQ0FCUVN0ckRnTUFBUUFCQzBFQklBRkJMVVpCQVhScklRWWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXdCQzBFQklRWUxBa0FDUUFKQUEzOGdBMEgrL1FKcUxBQUFJQUZCSUhKR0JIOGdBMEVIU1FSQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRUxJQU5CQVdvaUEwRUlTUTBCUVFnRklBTUxDeUlEUWYvLy8vOEhjVUVEYXc0R0FRQUFBQUFDQUFzZ0FrRUFSeUlISUFOQkEwdHhCRUFnQTBFSVJnMENEQUVMSUFORkJFQUNRRUVBSVFNRGZ5QURRYnorQW1vc0FBQWdBVUVnY2tjTkFTQURRUUpKQkVBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRc2dBMEVCYWlJRFFRTkpEUUJCQXdzaEF3c0xBa0FDUUFKQUlBTU9CQUVDQWdBQ0N5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwRW9Sd1JBSXdFZ0FDZ0NhRVVOQlJvZ0FDQUFLQUlFUVg5cU5nSUVJd0VNQlF0QkFTRUJBMEJCQUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FWQnFRUXBKSUFKQnYzOXFRUnBKY2tVZ0FrSGZBRVlnQWtHZmYycEJHa2x5RzBVRVFDQUJRUUZxSVFFTUFRc0xJd0VnQWtFcFJnMEVHaUFBS0FKb1JTSUNSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCMFVFUUVHa3hRTkJIRFlDQUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQlFzakFTQUJSUTBFR2dOQUlBSkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5TUJJQUZCZjJvaUFVVU5CUm9NQUFBTEFBc2dBQ0FCUVRCR0JIOGdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBdEJJSEpCK0FCR0JFQWdBQ0FGSUFRZ0JpQUNFSkFGREFVTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRVEFGSUFFTElBVWdCQ0FHSUFJUWp3VU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0QnBNVURRUncyQWdBZ0FFSUFFSUlCUkFBQUFBQUFBQUFBREFJTElBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1FRQkhJQU5CQTB0eEJFQURRQ0FCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQTBGL2FpSURRUU5MRFFBTEN3c2dCcklqQXJhVXV3c0x2Z3NDQlg4RmZpQUJRU1JMQkVCQnBNVURRUncyQWdCQ0FDRURCUUpBQTBBZ0FDZ0NCQ0lFSUFBb0FtaEpCSDhnQUNBRVFRRnFOZ0lFSUFRdEFBQUZJQUFRVkFzaUJCQ3lBUTBBQ3dKQUFrQWdCRUVyYXc0REFBRUFBUXNnQkVFdFJrRWZkRUVmZFNFSElBQW9BZ1FpQkNBQUtBSm9TUVIvSUFBZ0JFRUJhallDQkNBRUxRQUFCU0FBRUZRTElRUU1BQXNnQVVVaEJRSkFBa0FDUUNBQlFSQnlRUkJHSUFSQk1FWnhCRUFDUUNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRVFTQnlRZmdBUndSQUlBVUVRQ0FFSVFKQkNDRUJEQVFGSUFRaEFnd0NDd0FMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQndkUUFhaTBBQUVFUFNnUkFJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNSUVJBSUFCQ0FCQ0NBVUlBSVFNTUJ3c2dBUVJBUWdBaEF3d0hDeUFBSUFBb0FnUkJmMm8yQWdSQ0FDRUREQVlGSUFFaEFrRVFJUUVNQXdzQUN3VkJDaUFCSUFVYklnRWdCRUhCMUFCcUxRQUFTd1IvSUFRRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQUJDQUJDQ0FVR2t4UU5CSERZQ0FFSUFJUU1NQlFzaEFnc2dBVUVLUncwQUlBSkJVR29pQWtFS1NRUkFRUUFoQVFOQUlBRkJDbXdnQW1vaEFTQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUVRVkJxSWdKQkNra2dBVUdacytiTUFVbHhEUUFMSUFHdElRa2dBa0VLU1FSQUlBUWhBUU5BSUFsQ0NuNGlDaUFDckNJTFFuK0ZWZ1JBUVFvaEFnd0ZDeUFLSUF0OElRa2dBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBVUZRYWlJQ1FRcEpJQWxDbXJQbXpKbXo1c3daVkhFTkFBc2dBa0VKVFFSQVFRb2hBZ3dFQ3dzTERBSUxJQUVnQVVGL2FuRkZCRUFnQVVFWGJFRUZka0VIY1VHSC9nSnFMQUFBSVFZZ0FTQUNRY0hVQUdvc0FBQWlDRUgvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQkNBR2RDQUNjaUlFUVlDQWdNQUFTU0FCSUFBb0FnUWlBaUFBS0FKb1NRUi9JQUFnQWtFQmFqWUNCQ0FDTFFBQUJTQUFFRlFMSWdWQndkUUFhaXdBQUNJSVFmOEJjU0lDUzNFTkFBc2dCSzBoQ1NBRklRUWdBaUVGQlNBQ0lRUUxJQWdoQWlBQklBVk5RbjhnQnEwaUNvZ2lDeUFKVkhJRVFDQUJJUUlnQkNFQkRBSUxBMEFnQVNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRlFjSFVBR29zQUFBaUJFSC9BWEZOSUFKQi93RnhyU0FKSUFxR2hDSUpJQXRXY2dSQUlBRWhBaUFGSVFFTUF3VWdCQ0VDREFFTEFBQUxBQXNnQVNBQ1FjSFVBR29zQUFBaUJrSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdBU0FFYkNBQ2FpSUVRY2ZqOFRoSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCVUhCMUFCcUxBQUFJZ1pCL3dGeElnSkxjUTBBQ3lBRXJTRUpJQVVoQkNBQ0lRVUZJQUloQkFzZ0JpRUNJQUd0SVFvZ0FTQUZTd1IvUW44Z0NoRDJBU0VMQTM4Z0NTQUxWZ1JBSUFFaEFpQUVJUUVNQXdzZ0NTQUtmaUlNSUFKQi93RnhyU0lOUW4rRlZnUkFJQUVoQWlBRUlRRU1Bd3NnRENBTmZDRUpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQkVIQjFBQnFMQUFBSWdKQi93RnhTdzBBSUFFaEFpQUVDd1VnQVNFQ0lBUUxJUUVMSUFJZ0FVSEIxQUJxTFFBQVN3UkFBMEFnQWlBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBIQjFBQnFMUUFBU3cwQUMwR2t4UU5CeEFBMkFnQWdCMEVBSUFOQ0FZTlFHeUVISUFNaENRc0xJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFrZ0Exb0VRQ0FIUVFCSElBTkNBWU5DQUZKeVJRUkFRYVRGQTBIRUFEWUNBQ0FEUW45OElRTU1BZ3NnQ1NBRFZnUkFRYVRGQTBIRUFEWUNBQXdDQ3dzZ0NTQUhyQ0lEaFNBRGZTRURDd3NnQXd0U0FDQUFCRUFDUUFKQUFrQUNRQUpBQWtBZ0FVRithdzRHQUFFQ0F3VUVCUXNnQUNBQ1BBQUFEQVFMSUFBZ0FqMEJBQXdEQ3lBQUlBSStBZ0FNQWdzZ0FDQUNQZ0lBREFFTElBQWdBamNEQUFzTEMwY0JBbjhqQmlFREl3WkJrQUZxSkFZZ0EwRUFRWkFCRUVVYUlBTkJJellDSUNBRElBQTJBaXdnQTBGL05nSk1JQU1nQURZQ1ZDQURJQUVnQWhDVUJTRUVJQU1rQmlBRUM1d0NBUWQvSUFFb0FreEJmMG9FZjBFQkJVRUFDeHBCL3dFaEJTQUFJUVFDUUFKQUEwQUNRQ0FCS0FJSUlBRW9BZ1FpQWlJR2F5RURJQUpCQ2lBREVLWUNJZ2hGSVFjZ0JDQUNJQU1nQ0VFQklBWnJhaUFIR3lJQ0lBVWdBaUFGU1JzaUF4Qk1HaUFCSUFNZ0FTZ0NCR29pQmpZQ0JDQURJQVJxSVFJZ0J5QUZJQU5ySWdWQkFFZHhSUVJBSUFJaEJBd0RDeUFHSUFFb0FnaEpCSDhnQVNBR1FRRnFOZ0lFSUFZdEFBQUZJQUVROVFFaUJFRUFTQTBCSUFRTElRTWdBa0VCYWlFRUlBSWdBem9BQUNBRlFYOXFJZ1ZGSUFOQi93RnhRUXBHY2tVTkFRd0NDd3NnQUNBQ1JnUi9RUUFGSUFFb0FnQkJFSEVFZnlBQ0lRUU1BZ1ZCQUFzTElRQU1BUXNnQUFSQUlBUkJBRG9BQUFWQkFDRUFDd3NnQUF2d0FRRURmd0pBQWtBZ0FpZ0NFQ0lERFFBZ0FoQ1lBd1IvUVFBRklBSW9BaEFoQXd3QkN5RUVEQUVMSUFNZ0FpZ0NGQ0lFYXlBQlNRUkFJQUlvQWlRaEF5QUNJQUFnQVNBRFFUOXhRY29CYWhFRUFDRUVEQUVMSUFGRklBSXNBRXRCQUVoeUJFQkJBQ0VEQlFKQUlBRWhBd05BSUFBZ0EwRi9haUlGYWl3QUFFRUtSd1JBSUFVRVFDQUZJUU1NQWdWQkFDRUREQU1MQUFzTElBSW9BaVFoQkNBQ0lBQWdBeUFFUVQ5eFFjb0JhaEVFQUNJRUlBTkpEUUlnQUNBRGFpRUFJQUVnQTJzaEFTQUNLQUlVSVFRTEN5QUVJQUFnQVJCTUdpQUNJQUVnQWlnQ0ZHbzJBaFFnQVNBRGFpRUVDeUFFQzJFQkFYOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWdBaUFVRUljUVIvSUFBZ0FVRWdjallDQUVGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NMQ0lCTmdJY0lBQWdBVFlDRkNBQUlBRWdBQ2dDTUdvMkFoQkJBQXNMakFFQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFvNkFBQUNRQUpBSUFBb0FoQWlBZzBBSUFBUW1BTkZCRUFnQUNnQ0VDRUNEQUVMREFFTElBQW9BaFFpQXlBQ1NRUkFJQUFzQUV0QkNrY0VRQ0FBSUFOQkFXbzJBaFFnQTBFS09nQUFEQUlMQ3lBQUlBRkJBU0FBS0FJa1FUOXhRY29CYWhFRUFFRUJSZ1IvSUFFdEFBQUZRWDhMR2dzZ0FTUUdDeHdBSUFCQmdHQkxCSDlCcE1VRFFRQWdBR3MyQWdCQmZ3VWdBQXNMRVFCQkJFRUJRZWlKQVNnQ0FDZ0NBQnNMN0FFQ0NYOEJmU0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUXdBQUFBQTRBZ0FnQWlnQ0FDQUVRUUowYWlFRklBRW9BZ0FnQzBFQ2RHb2hCa0VBSVFkREFBQUFBQ0VNQTBBZ0J5QUlTQVJBSUFBZ0RDQUdLZ0lBSUFVcUFnQ1VraUlNT0FJQUlBbEJBblFnQldvaEJTQUdRUVJxSVFZZ0IwRUJhaUVIREFFTEN5QUVRUUZxSVFRZ0FFRUVhaUVBREFFTEN5QURRUUZxSVFNTUFRVkJBQXNMQlVGL0N3VkJmd3NGUVg4TEMwZ0JBWDhnQUNnQ0JDSUJSUVJBRHdzZ0FTZ0NKQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FJUUJFQWdBRUhJQVRZQ0ZDQUFRUUEyQXJnQ0JTQUFRZVFBTmdJVUN3c3lBUUYvSUFBb0FnUWlBUVJBSUFFb0FpZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUVBTmdJRUlBQkJBRFlDRkFzZ0FDQUFLQUlBSWdGQk16WUNGQ0FBSUFFb0FnQkIvd0Z4UWF3RGFoRUJBQXN5QVFGL0lBQW9BZ2dnQUNnQ0JCQ0xBU0lCQkVBZ0FTQUFFUEVFUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRdUNCQUVKZnlBQUtBTGtBeUlGSUFBb0FsaEJBVVlpQWpZQ0hDQUFLQUlFS0FJSUlRRWdCU0FBUVFGQi9nVkJnQUlnQWhzZ0FDZ0NlQ0FCUVE5eFFZb0NhaEVKQUNJRU5nSVlJQVVvQWhRaEFTQUFLQUo0UVFCTUJFQVBDeUFDUlFSQUEwQWdBU0FGUVNCcUlBTkJBblJxS0FJQUlnSVFPU0VISUFOQkFuUWdCR29vQWdBaEJrRUFJUUVnQWtIK0FXb2dBa0YvYWlJSVFRRjBJZ2tRT1NFRVFRQWhBZ05BSUFJZ0JFb0VRQU5BSUFJZ0NDQUJRUUZxSWdGQkFYUkJBWEpCL3dGc2FpQUpFRGtpQkVvTkFBc0xJQUlnQm1vZ0FTQUhiRG9BQUNBQ1FRRnFJZ0pCZ0FKSERRQUxJQU5CQVdvaUF5QUFLQUo0U0FSQUlBY2hBU0FGS0FJWUlRUU1BUXNMRHd0QkFDRUNBMEFnQVNBRlFTQnFJQUpCQW5ScUtBSUFJZ01RT1NFSElBSkJBblFnQkdvaUFTQUJLQUlBUWY4QmFqWUNBQ0FGS0FJWUlBSkJBblJxS0FJQUlRWkJBQ0VCSUFOQi9nRnFJQU5CZjJvaUNFRUJkQ0lKRURraEJFRUFJUU1EUUNBRElBUktCRUFEUUNBRElBZ2dBVUVCYWlJQlFRRjBRUUZ5UWY4QmJHb2dDUkE1SWdSS0RRQUxDeUFESUFacUlBRWdCMnc2QUFBZ0EwRUJhaUlEUVlBQ1J3MEFDMEVCSVFFRFFDQUdJQUZySUFZc0FBQTZBQUFnQmlBQlFmOEJhbW9nQml3QS93RTZBQUFnQVVFQmFpSUJRWUFDUncwQUN5QUNRUUZxSWdJZ0FDZ0NlRWdFUUNBSElRRWdCU2dDR0NFRURBRUxDd3ZqSHdFZGZ5TUdJUmNqQmtHQUMyb2tCaUFYUVlBRGFpRUVJQmRCZ0FGcUlSa2dBQ2dDNUFNb0FoZ2hHaUFCUVFKMlFRVjBJZ1ZCQkhJaUZDQUZRUnh5SWd4cVFRRjFJUTRnQWtFRGRrRUZkQ0lGUVFKeUloVWdCVUVlY2lJUGFrRUJkU0VRSUFOQkFuWkJCWFFpQlVFRWNpSVdJQVZCSEhJaUVXcEJBWFVoRWlBQUtBS0VBU0lMUVFCS0JIOGdBQ2dDaUFFaUJTZ0NBQ0VLSUFVb0FnUWhDU0FGS0FJSUlSaEIvLy8vL3djaEJ3TkFJQlFnQ0NBS2FpMEFBQ0lGU2dSL0lBVWdER3RCQVhRaUJpQUdiQ0VOSUFVZ0ZHdEJBWFFpQlNBRmJBVUNmeUFNSUFWSUJFQWdCU0FVYTBFQmRDSUdJQVpzSVEwZ0JTQU1hMEVCZENJRklBVnNEQUVMSUE0Z0JVZ0VRQ0FGSUJSclFRRjBJZ1VnQld3aERRVWdCU0FNYTBFQmRDSUZJQVZzSVEwTFFRQUxDeUVGSUJVZ0NDQUphaTBBQUNJR1NnUi9JQVVnQmlBVmEwRURiQ0lGSUFWc2FpRUZJQVlnRDJ0QkEyd2lCaUFHYkFVQ2Z5QVBJQVpJQkVBZ0JTQUdJQTlyUVFOc0lnVWdCV3hxSVFVZ0JpQVZhMEVEYkNJR0lBWnNEQUVMSUJBZ0JrZ0VmeUFHSUJWclFRTnNJZ1lnQm13RklBWWdEMnRCQTJ3aUJpQUdiQXNMQ3lFVElCWWdDQ0FZYWkwQUFDSUdTZ1IvSUFVZ0JpQVdheUlGSUFWc2FpRUZJQVlnRVdzaUJpQUdiQVVDZnlBUklBWklCRUFnQlNBR0lCRnJJZ1VnQld4cUlRVWdCaUFXYXlJR0lBWnNEQUVMSUJJZ0JrZ0VmeUFHSUJacklnWWdCbXdGSUFZZ0VXc2lCaUFHYkFzTEN5RUdJQWhCQW5RZ0JHb2dCVFlDQUNBTklCTnFJQVpxSWdVZ0J5QUZJQWRJR3lFSElBc2dDRUVCYWlJSVJ3MEFDMEVBSVFWQkFDRUlBMzhnQ0VFQ2RDQUVhaWdDQUNBSFRBUkFJQVVnR1dvZ0NEb0FBQ0FGUVFGcUlRVUxJQXNnQ0VFQmFpSUlSdzBBSUFVTEJVRUFDeUVUSUJjaENDQUVRZi8vLy84SE5nSUFJQVJCLy8vLy93YzJBZ1FnQkVILy8vLy9CellDQ0NBRVFmLy8vLzhITmdJTUlBUkIvLy8vL3djMkFoQWdCRUgvLy8vL0J6WUNGQ0FFUWYvLy8vOEhOZ0lZSUFSQi8vLy8vd2MyQWh3Z0JFSC8vLy8vQnpZQ0lDQUVRZi8vLy84SE5nSWtJQVJCLy8vLy93YzJBaWdnQkVILy8vLy9CellDTENBRVFmLy8vLzhITmdJd0lBUkIvLy8vL3djMkFqUWdCRUgvLy8vL0J6WUNPQ0FFUWYvLy8vOEhOZ0k4SUFSQlFHdEIvLy8vL3djMkFnQWdCRUgvLy8vL0J6WUNSQ0FFUWYvLy8vOEhOZ0pJSUFSQi8vLy8vd2MyQWt3Z0JFSC8vLy8vQnpZQ1VDQUVRZi8vLy84SE5nSlVJQVJCLy8vLy93YzJBbGdnQkVILy8vLy9CellDWENBRVFmLy8vLzhITmdKZ0lBUkIvLy8vL3djMkFtUWdCRUgvLy8vL0J6WUNhQ0FFUWYvLy8vOEhOZ0pzSUFSQi8vLy8vd2MyQW5BZ0JFSC8vLy8vQnpZQ2RDQUVRZi8vLy84SE5nSjRJQVJCLy8vLy93YzJBbndnQkVILy8vLy9CellDZ0FFZ0JFSC8vLy8vQnpZQ2hBRWdCRUgvLy8vL0J6WUNpQUVnQkVILy8vLy9CellDakFFZ0JFSC8vLy8vQnpZQ2tBRWdCRUgvLy8vL0J6WUNsQUVnQkVILy8vLy9CellDbUFFZ0JFSC8vLy8vQnpZQ25BRWdCRUgvLy8vL0J6WUNvQUVnQkVILy8vLy9CellDcEFFZ0JFSC8vLy8vQnpZQ3FBRWdCRUgvLy8vL0J6WUNyQUVnQkVILy8vLy9CellDc0FFZ0JFSC8vLy8vQnpZQ3RBRWdCRUgvLy8vL0J6WUN1QUVnQkVILy8vLy9CellDdkFFZ0JFSC8vLy8vQnpZQ3dBRWdCRUgvLy8vL0J6WUN4QUVnQkVILy8vLy9CellDeUFFZ0JFSC8vLy8vQnpZQ3pBRWdCRUgvLy8vL0J6WUMwQUVnQkVILy8vLy9CellDMUFFZ0JFSC8vLy8vQnpZQzJBRWdCRUgvLy8vL0J6WUMzQUVnQkVILy8vLy9CellDNEFFZ0JFSC8vLy8vQnpZQzVBRWdCRUgvLy8vL0J6WUM2QUVnQkVILy8vLy9CellDN0FFZ0JFSC8vLy8vQnpZQzhBRWdCRUgvLy8vL0J6WUM5QUVnQkVILy8vLy9CellDK0FFZ0JFSC8vLy8vQnpZQy9BRWdCRUgvLy8vL0J6WUNnQUlnQkVILy8vLy9CellDaEFJZ0JFSC8vLy8vQnpZQ2lBSWdCRUgvLy8vL0J6WUNqQUlnQkVILy8vLy9CellDa0FJZ0JFSC8vLy8vQnpZQ2xBSWdCRUgvLy8vL0J6WUNtQUlnQkVILy8vLy9CellDbkFJZ0JFSC8vLy8vQnpZQ29BSWdCRUgvLy8vL0J6WUNwQUlnQkVILy8vLy9CellDcUFJZ0JFSC8vLy8vQnpZQ3JBSWdCRUgvLy8vL0J6WUNzQUlnQkVILy8vLy9CellDdEFJZ0JFSC8vLy8vQnpZQ3VBSWdCRUgvLy8vL0J6WUN2QUlnQkVILy8vLy9CellDd0FJZ0JFSC8vLy8vQnpZQ3hBSWdCRUgvLy8vL0J6WUN5QUlnQkVILy8vLy9CellDekFJZ0JFSC8vLy8vQnpZQzBBSWdCRUgvLy8vL0J6WUMxQUlnQkVILy8vLy9CellDMkFJZ0JFSC8vLy8vQnpZQzNBSWdCRUgvLy8vL0J6WUM0QUlnQkVILy8vLy9CellDNUFJZ0JFSC8vLy8vQnpZQzZBSWdCRUgvLy8vL0J6WUM3QUlnQkVILy8vLy9CellDOEFJZ0JFSC8vLy8vQnpZQzlBSWdCRUgvLy8vL0J6WUMrQUlnQkVILy8vLy9CellDL0FJZ0JFSC8vLy8vQnpZQ2dBTWdCRUgvLy8vL0J6WUNoQU1nQkVILy8vLy9CellDaUFNZ0JFSC8vLy8vQnpZQ2pBTWdCRUgvLy8vL0J6WUNrQU1nQkVILy8vLy9CellDbEFNZ0JFSC8vLy8vQnpZQ21BTWdCRUgvLy8vL0J6WUNuQU1nQkVILy8vLy9CellDb0FNZ0JFSC8vLy8vQnpZQ3BBTWdCRUgvLy8vL0J6WUNxQU1nQkVILy8vLy9CellDckFNZ0JFSC8vLy8vQnpZQ3NBTWdCRUgvLy8vL0J6WUN0QU1nQkVILy8vLy9CellDdUFNZ0JFSC8vLy8vQnpZQ3ZBTWdCRUgvLy8vL0J6WUN3QU1nQkVILy8vLy9CellDeEFNZ0JFSC8vLy8vQnpZQ3lBTWdCRUgvLy8vL0J6WUN6QU1nQkVILy8vLy9CellDMEFNZ0JFSC8vLy8vQnpZQzFBTWdCRUgvLy8vL0J6WUMyQU1nQkVILy8vLy9CellDM0FNZ0JFSC8vLy8vQnpZQzRBTWdCRUgvLy8vL0J6WUM1QU1nQkVILy8vLy9CellDNkFNZ0JFSC8vLy8vQnpZQzdBTWdCRUgvLy8vL0J6WUM4QU1nQkVILy8vLy9CellDOUFNZ0JFSC8vLy8vQnpZQytBTWdCRUgvLy8vL0J6WUMvQU1nRTBFQVNnUkFRUUFoRHdOQUlCUWdEeUFaYWl3QUFDSUxRZjhCY1NJSElBQW9Bb2dCSWdZb0FnQnFMUUFBYXlJTlFRRjBJUXdnRlNBSElBWW9BZ1JxTFFBQWF5SUZRUU5zSVFvZ0JVSElBR3dpQlVHUUFXb2hHQ0FXSUFjZ0JpZ0NDR290QUFCcklnZEJCSFFpQmtGQWF5RU9JQVpCd0FGcUlSQWdCa0hBQW1vaEVpQUZRYkFEYWlFYklBVkIwQVZxSVJ3Z0JVSHdCMm9oSFNBRlFaQUthaUVlSUFWQnNBeHFJUjhnQlVIUURtb2hJRUVESVJFZ0RVRUdkRUdBQW1vaERTQU1JQXhzSUFvZ0NteHFJQWNnQjJ4cUlRd2dDQ0VISUFRaEJRTkFJQXdnQlNnQ0FFZ0VRQ0FGSUF3MkFnQWdCeUFMT2dBQUN5QU1JQTVxSWdvZ0JTSUdLQUlFU0FSQUlBWWdDallDQkNBSElBczZBQUVMSUFvZ0VHb2lDaUFHS0FJSVNBUkFJQVlnQ2pZQ0NDQUhJQXM2QUFJTElBb2dFbW9pQ2lBR0tBSU1TQVJBSUFZZ0NqWUNEQ0FISUFzNkFBTUxJQXdnR0dvaUNpQUZLQUlRU0FSQUlBVWdDallDRUNBSElBczZBQVFMSUFvZ0Rtb2lDU0FHS0FJVVNBUkFJQVVnQ1RZQ0ZDQUhJQXM2QUFVTElBa2dFR29pQ1NBRktBSVlTQVJBSUFVZ0NUWUNHQ0FISUFzNkFBWUxJQWtnRW1vaUNTQUZLQUljU0FSQUlBVWdDVFlDSENBSElBczZBQWNMSUFvZ0cyb2lDaUFHS0FJZ1NBUkFJQVlnQ2pZQ0lDQUhJQXM2QUFnTElBb2dEbW9pQ1NBRktBSWtTQVJBSUFZZ0NUWUNKQ0FISUFzNkFBa0xJQWtnRUdvaUNTQUdLQUlvU0FSQUlBWWdDVFlDS0NBSElBczZBQW9MSUFrZ0Vtb2lDU0FHS0FJc1NBUkFJQVlnQ1RZQ0xDQUhJQXM2QUFzTElBb2dIR29pQ2lBRktBSXdTQVJBSUFVZ0NqWUNNQ0FISUFzNkFBd0xJQW9nRG1vaUJTQUdLQUkwU0FSQUlBWWdCVFlDTkNBSElBczZBQTBMSUFVZ0VHb2lCU0FHS0FJNFNBUkFJQVlnQlRZQ09DQUhJQXM2QUE0TElBVWdFbW9pQ1NBR0lnVW9BanhJQkVBZ0JTQUpOZ0k4SUFjZ0N6b0FEd3NnQ2lBZGFpSUtJQVZCUUdzaUJpZ0NBRWdFUUNBR0lBbzJBZ0FnQnlBTE9nQVFDeUFLSUE1cUlna2dCU0lHS0FKRVNBUkFJQVlnQ1RZQ1JDQUhJQXM2QUJFTElBa2dFR29pQ1NBR0tBSklTQVJBSUFZZ0NUWUNTQ0FISUFzNkFCSUxJQWtnRW1vaUNTQUdLQUpNU0FSQUlBWWdDVFlDVENBSElBczZBQk1MSUFvZ0htb2lDaUFGS0FKUVNBUkFJQVVnQ2pZQ1VDQUhJQXM2QUJRTElBb2dEbW9pQ1NBR0tBSlVTQVJBSUFVZ0NUWUNWQ0FISUFzNkFCVUxJQWtnRUdvaUNTQUZLQUpZU0FSQUlBVWdDVFlDV0NBSElBczZBQllMSUFrZ0Vtb2lDU0FGS0FKY1NBUkFJQVVnQ1RZQ1hDQUhJQXM2QUJjTElBb2dIMm9pQ2lBR0tBSmdTQVJBSUFZZ0NqWUNZQ0FISUFzNkFCZ0xJQW9nRG1vaUNTQUZLQUprU0FSQUlBWWdDVFlDWkNBSElBczZBQmtMSUFrZ0VHb2lDU0FHS0FKb1NBUkFJQVlnQ1RZQ2FDQUhJQXM2QUJvTElBa2dFbW9pQ1NBR0tBSnNTQVJBSUFZZ0NUWUNiQ0FISUFzNkFCc0xJQW9nSUdvaUNpQUZLQUp3U0FSQUlBVWdDallDY0NBSElBczZBQndMSUFvZ0Rtb2lCU0FHS0FKMFNBUkFJQVlnQlRZQ2RDQUhJQXM2QUIwTElBVWdFR29pQlNBR0tBSjRTQVJBSUFZZ0JUWUNlQ0FISUFzNkFCNExJQVVnRW1vaUJTQUdLQUo4U0FSQUlBWWdCVFlDZkNBSElBczZBQjhMSUFaQmdBRnFJUVVnQjBFZ2FpRUhJQXdnRFdvaERDQU5RWUFFYWlFTklCRkJmMm9oQmlBUkJFQWdCaUVSREFFTEN5QVBRUUZxSWc4Z0UwY05BQXNMSUFGQmZIRWhCeUFEUVh4eElRRWdBa0Y0Y1NJRFFRRnlJUVlnQTBFQ2NpRU1JQU5CQTNJaER5QURRUVJ5SVJFZ0EwRUZjaUVOSUFOQkJuSWhCQ0FDUVFkeUlSTkJBQ0VBQTBBZ0FDQUhha0VDZENBYWFpSUxLQUlBSWdJZ0EwRUdkR29nQVVFQmRHb2lCU0FJTFFBQVFRRnFPd0VBSUFVZ0NDMEFBVUVCYWpzQkFpQUZJQWd0QUFKQkFXbzdBUVFnQlNBSUxRQURRUUZxT3dFR0lBWkJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUVRUUZxT3dFQUlBVWdDQzBBQlVFQmFqc0JBaUFGSUFndEFBWkJBV283QVFRZ0JTQUlMUUFIUVFGcU93RUdJQXhCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFJUVFGcU93RUFJQVVnQ0MwQUNVRUJhanNCQWlBRklBZ3RBQXBCQVdvN0FRUWdCU0FJTFFBTFFRRnFPd0VHSUE5QkJuUWdBbW9nQVVFQmRHb2lBaUFJTFFBTVFRRnFPd0VBSUFJZ0NDMEFEVUVCYWpzQkFpQUNJQWd0QUE1QkFXbzdBUVFnQWlBSUxRQVBRUUZxT3dFR0lBc29BZ0FpQWlBUlFRWjBhaUFCUVFGMGFpSUZJQWd0QUJCQkFXbzdBUUFnQlNBSUxRQVJRUUZxT3dFQ0lBVWdDQzBBRWtFQmFqc0JCQ0FGSUFndEFCTkJBV283QVFZZ0RVRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCUkJBV283QVFBZ0JTQUlMUUFWUVFGcU93RUNJQVVnQ0MwQUZrRUJhanNCQkNBRklBZ3RBQmRCQVdvN0FRWWdCRUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQmhCQVdvN0FRQWdCU0FJTFFBWlFRRnFPd0VDSUFVZ0NDMEFHa0VCYWpzQkJDQUZJQWd0QUJ0QkFXbzdBUVlnRTBFR2RDQUNhaUFCUVFGMGFpSUNJQWd0QUJ4QkFXbzdBUUFnQWlBSUxRQWRRUUZxT3dFQ0lBSWdDQzBBSGtFQmFqc0JCQ0FDSUFndEFCOUJBV283QVFZZ0NFRWdhaUVJSUFCQkFXb2lBRUVFUncwQUN5QVhKQVlMTkFFQmZ5QUFLQUlFSUFFb0FnZ1FwUU1pQWdSQUlBSWdBQ0FCRUp3RFFRQklCRUFnQWhCSlFRQWhBZ3NGUVFBaEFnc2dBZ3ZTQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ2dDNUFNZ0FFRUJRZndQSUFGQlAzRkJ5Z0ZxRVFRQUlnQkIvQWRxSWdJMkFpZ2dBa0VBTmdJQUlBQkJnQWhxUVFFMkFnQWdBRUYvTmdMNEJ5QUFRWVFJYWtFQ05nSUFJQUJCZmpZQzlBY2dBRUdJQ0dwQkF6WUNBQ0FBUVgwMkF2QUhJQUJCakFocVFRUTJBZ0FnQUVGOE5nTHNCeUFBUVpBSWFrRUZOZ0lBSUFCQmV6WUM2QWNnQUVHVUNHcEJCallDQUNBQVFYbzJBdVFISUFCQm1BaHFRUWMyQWdBZ0FFRjVOZ0xnQnlBQVFad0lha0VJTmdJQUlBQkJlRFlDM0FjZ0FFR2dDR3BCQ1RZQ0FDQUFRWGMyQXRnSElBQkJwQWhxUVFvMkFnQWdBRUYyTmdMVUJ5QUFRYWdJYWtFTE5nSUFJQUJCZFRZQzBBY2dBRUdzQ0dwQkREWUNBQ0FBUVhRMkFzd0hJQUJCc0FocVFRMDJBZ0FnQUVGek5nTElCeUFBUWJRSWFrRU9OZ0lBSUFCQmNqWUN4QWNnQUVHNENHcEJEellDQUNBQVFYRTJBc0FIUVJBaEFFRVFJUUVEUUNBQVFRSjBJQUpxSUFFMkFnQkJBQ0FBYTBFQ2RDQUNha0VBSUFGck5nSUFJQUVnQUVFQmFpSUFRUUZ4UVFGemFpRUJJQUJCTUVjTkFBdEJBQ0FCYXlFRFFUQWhBQU5BSUFCQkFuUWdBbW9nQVRZQ0FFRUFJQUJyUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVlBQ1J3MEFDd3RCQVFKL1FRd1FSQ0lDQkVBZ0FpQUJJQUJCQW5Sc0VFUWlBellDQUNBREJFQWdBaUFBTmdJRUlBSWdBVFlDQ0FVZ0FoQTRRUUFoQWdzRlFRQWhBZ3NnQWd2Y0FRRUNmd0pBSUFBb0FyUUNEUUFDUUNBQUtBSW9RUU5yRGdVQUFRRUJBQUVMSUFBb0FpUkJBMGNOQUNBQUtBSXNRUUpIRFFBZ0FDZ0NlRUVEUncwQUlBQW9BckFDRFFBZ0FDZ0MyQUVpQVNnQ0NFRUNSdzBBSUFFb0FtQkJBVWNOQUNBQktBSzRBVUVCUncwQUlBRW9BZ3hCQWtvTkFDQUJLQUprUVFGSERRQWdBU2dDdkFGQkFVY05BQ0FCS0FJa0lnSWdBQ2dDeEFKSERRQWdBU2dDZkNBQ1J3MEFJQUVvQXRRQklBSkhEUUFnQVNnQ0tDSUNJQUFvQXNnQ1J3MEFJQUlnQVNnQ2dBRkdCSDhnQWlBQktBTFlBVVlGUVFBTER3dEJBQXZqQmdFR2Z3SkFJQUFvQXRRQ0lnRkJBVVlFUUNBQUlBQW9BdGdDSWdFb0FodzJBdWdDSUFBZ0FTZ0NJQ0lETmdMc0FpQUJRUUUyQWpnZ0FVRUJOZ0k4SUFGQlFHdEJBVFlDQUNBQklBRW9BaVEyQWtRZ0FVRUJOZ0pJSUFNZ0FTZ0NEQ0lDRUU0aEF5QUJJQU1nQWlBREd6WUNUQ0FBUVFFMkF2QUNJQUJCQURZQzlBSkJBU0VCQlNBQlFYOXFRUU5MQkVBZ0FDZ0NBQ0lEUVJzMkFoUWdBeUFCTmdJWUlBQW9BZ0JCQkRZQ0hDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQWdBQ2dDSENBQUtBSzhBaUFBS0FLc0Eyd1FhRFlDNkFJZ0FDQUFLQUlnSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0xzQWlBQVFRQTJBdkFDSUFBb0F0UUNRUUJNRFFGQkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDQ0NFRUlBSWdCRFlDT0NBQ0lBSW9BZ3dpQlRZQ1BDQUNRVUJySUFRZ0JXd2lBVFlDQUNBQ0lBUWdBaWdDSkd3MkFrUWdBaUFFSUFJb0Fod2dCQkJPSWdRZ0JFVWJOZ0pJSUFJZ0FpZ0NJQ0FGRUU0aUFpQUZJQUliTmdKTUlBRWdCbXBCQ2tvRVFDQUFLQUlBSWdKQkRqWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBRkJBRW9FUUFOQUlBRkJmMm9oQWlBQUlBQW9BdkFDSWdSQkFXbzJBdkFDSUFCQjlBSnFJQVJCQW5ScUlBTTJBZ0FnQVVFQlNnUkFJQUloQVF3QkN3c0xJQU5CQVdvaUF5QUFLQUxVQWlJQlNBUkFJQUFvQXZBQ0lRWU1BUXNMSUFGQkFFd05BUXRCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NVRVVFUUNBQVFhUUJhaUFDS0FJUUlnRkJBblJxSVFRQ1FBSkFJQUZCQTBzTkFDQUVLQUlBUlEwQURBRUxJQUFvQWdBaUJVRTJOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBUVFGQmhBRWdBVUUvY1VIS0FXb1JCQUFpQVNBRUtBSUFRWVFCRUV3YUlBSWdBVFlDVUNBQUtBTFVBaUVCQ3lBRFFRRnFJZ01nQVVnTkFBc2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUR3c2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUM4b0JBUUovSXdZaEJDTUdRVEJxSkFZZ0JFRVlhaUlGUVFnMkFnUWdCVUVCTmdJSUlBVWdBRFlDQUNBRVFReHFJZ0FnQXpZQ0JDQUFRUUUyQWdnZ0FDQUJOZ0lBSUFRZ0F6WUNCQ0FFUVFnMkFnZ2dCQ0FDTmdJQUlBUVF1d1VpQWdSQUlBSWdCQkNqQXlJQkJFQWdBaUFBRUtNRElnTUVRQ0FCS0FJQUlBRW9BZ1FpQUNBQUVQWUVSVUVmZEVFZmRVRUFTQVIvUVg4RklBVWdBU0FERUp3REdrRUFDeUVBSUFNUVNRVkJmeUVBQ3lBQkVFa0ZRWDhoQUFzZ0FoQkpCVUYvSVFBTElBUWtCaUFBQzFrQkFYOGdBQ2dDMkFFaUFRUkFJQUVRdndjZ0FDZ0MyQUVRaHdrZ0FFRUFOZ0xZQVFzZ0FFSGtBV29pQVNnQ0FBUkFJQUVRcHdrZ0FVRUFOZ0lBQ3lBQVFjQUJhaUlBS0FJQUJFQWdBQkN6Q3lBQVFRQTJBZ0FMQzNNQkEzOGpCaUVDSXdaQkVHb2tCaUFDUVFocUlRTWdBUkRQQ1NJRUJFQWdBQ0FFRU9FR0lRQWdCQkE0QlNBQ0lBRTJBZ0JCQUVFRFFaR3FBU0FDRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRWDhoQUFzZ0FpUUdJQUFMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRYkRFQXlnQ0FDRUNRYkRFQXlBQk5nSUFJQUlFUUVHMHhBTW9BZ0FhSUFJUU9BdEJ0TVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUWJERUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnVNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUd3eEFNb0FnQWdCVUVDZEdwQnVNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFiREVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0d3eEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQnNNUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUWJERUF5Z0NBQ0VBUWJERUEwRUFOZ0lBSUFBRVFFRzB4QU1vQWdBYUlBQVFPQXRCdE1RRFFRQTJBZ0FMQzZvRUFnbC9BbjBqQmlFRkl3WkJJR29rQmlBRlFRUnFJUVFnQlNBQU5nSUFJQUFvQWdBaEF3SkFBa0JCdE1RREtBSUFJZ0ZGSWdrRVFFRUFJUUFNQVFVZ0FTQUJRWDlxSWdoeFJTSUhCSDhnQXlBSWNRVWdBeUFCU1FSL0lBTUZJQU1nQVJCT0N3c2lBRUVDZEVHd3hBTW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUhCSDhnQmlBSWNRVWdCaUFCVHdSL0lBWWdBUkJPQlNBR0N3c2dBRWNOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBUWdBeUFGRU44R1FjREVBeW9DQUNJS0lBR3psRUc4eEFNb0FnQkJBV3F6SWd0ZElBbHlCRUFDZnlBTElBcVZqUkNTQVNJQ0lBRkJmMm9nQVhGQkFFY2dBVUVEU1hJZ0FVRUJkSElpQUNBQUlBSkpHeERlQmtHMHhBTW9BZ0FpQWtGL2FpSUFJQU54SUFBZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFBRklBRWhBZ3RCc01RREtBSUFJQUJCQW5ScUtBSUFJZ0VFZnlBRUtBSUFJQUVvQWdBMkFnQWdBU0FFS0FJQU5nSUFJQVFGSUFRb0FnQkJ1TVFES0FJQU5nSUFRYmpFQXlBRUtBSUFOZ0lBUWJERUF5Z0NBQ0FBUVFKMGFrRzR4QU0yQWdBZ0JDZ0NBQ0lIS0FJQUlnQUVRQ0FBS0FJRUlRQWdBaUFDUVg5cUlnRnhCSDhnQUNBQ1R3Ui9JQUFnQWhCT0JTQUFDd1VnQUNBQmNRc2hBRUd3eEFNb0FnQWdBRUVDZEdvZ0J6WUNBQXNnQkFzaUFDZ0NBQ0VDUWJ6RUEwRzh4QU1vQWdCQkFXbzJBZ0FnQUVFQU5nSUFDeUFGSkFZZ0FrRVFhZ3NrQVFGL0lBRW9BZ0FoQWlBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVVFRWFpQUNFSDRMRVFBZ0FTQUFRZjhCY1VHc0Eyb1JBUUFMRWdBZ0FTQUNJQUJCQTNGQnJBVnFFUm9BQ3hJQUlBRWdBaUFBUVQ5eFFiSUZhaEVEQUFzU0FDQUJJQUlnQUVFQmNVR3dCV29SSmdBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUVp6RUF5Z0NBQ0VDUVp6RUF5QUJOZ0lBSUFJRVFFR2d4QU1vQWdBYUlBSVFPQXRCb01RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFaekVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJwTVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHY3hBTW9BZ0FnQlVFQ2RHcEJwTVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRWnpFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHY3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJuTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFaekVBeWdDQUNFQVFaekVBMEVBTmdJQUlBQUVRRUdneEFNb0FnQWFJQUFRT0F0Qm9NUURRUUEyQWdBTEN4TUFJQUJCeUFKcUVGVWdBRUdnQW1vUTVRWUxLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVpTSEFVSFJ0d0pCQVNBQkVBa2dBd3NrQmd2Z0hRSWFmd0YrSXdZaEJDTUdRZEFTYWlRR0lBUkJrQkpxSVJFZ0JFSHdCbW9oQ0NBRVFhQUdhaUVQSUFSQjBBVnFJUkFnQkVHQUJXb2hFaUFFUWJBRWFpRVRJQVJCTUdvaEZ5QUVJUllDZndKL0FuOENRQUpBQWtBQ1FBSkFBa0FDUUNBQVFZUUdhdzZMRUFFRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUNBd1VGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFRRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUFGQ3lBQ0lSRkJvQkVoQ1VHZ0RTRUxRZmdBSVExQi93QWhERUVKSVJSQndBQU1Cd3RCNEF3aENVR2dDeUVMUVEwaERVRUpJUUJCQVNFQ1FROE1CUXRCNEF3aENVR2dDeUVMUVEwaERVRUZJUUJCQWlFQ1FROE1CQXRCRENFQVFRSWhBZ3dDQzBFSElRQkJBeUVDREFFTFFYOE1Bd3RCNEFzaENVR2dDaUVMUVJZaERVRWZDeUVNUVFBaEJBTi9JQVFnRFVZRWZ5QUNJUlFnQUFVZ0JDQVJhaUFCcDBFQmNUb0FBQ0FFUVFGcUlRUWdBVUlCaUNFQkRBRUxDd3NoR0NBVVFRRjBJUlZCQVNFQ0EwQWdBaUFWVEFSQUlBSkJBblFnRTJvaUJrRUFOZ0lBUVFBaEJFRUFJUUFEUUNBRUlBMUlCRUFnQkNBUmFpd0FBQVJBSUFZZ0FpQUViQ0FNRUU5QkFuUWdDMm9vQWdBZ0FITWlBRFlDQUFzZ0JFRUJhaUVFREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0EyQWdCQkFTQUZJQUFiSVFVZ0FrRUJhaUVDREFFTEN5QUZRUUJISWhrRVFDQVBRUUEyQWdBZ0R5QVRLQUlFSWdVMkFnUWdDRUVBTmdJQUlBaEJBVFlDU0VFQklRQURRQ0FBSUJWSUJFQWdBRUVDZENBSWFrRi9OZ0lBSUFoQnlBQnFJQUJCQW5ScVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBUVFRQTJBZ0FnRUVFQU5nSUVJQkpCZnpZQ0FDQVNRUUEyQWdSQkFDRUVRUUFoQWdOQUFrQWdCRUVCYWlFS0lBVkJmMFlFUUNBRVFRSnFJZ1JCQW5RZ0VHb2dBallDQUVFQUlRQURRQ0FBSUFKTUJFQWdCRUhJQUd3Z0NHb2dBRUVDZEdvZ0NrSElBR3dnQ0dvZ0FFRUNkR29pQlNnQ0FDSUdOZ0lBSUFVZ0JrRUNkQ0FKYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMQlNBRUlRQURRQ0FBUVg5cUlRWWdBRUVBU2lJSElBQkJBblFnRDJvb0FnQkJmMFp4QkVBZ0JpRUFEQUVMQ3lBSEJFQWdBQ0VHQTBBZ0JrRi9haUlIUVFKMElBOXFLQUlBUVg5SEJFQWdCeUFBSUFCQkFuUWdFbW9vQWdBZ0IwRUNkQ0FTYWlnQ0FFZ2JJUUFMSUFaQkFVb0VRQ0FISVFZTUFRc0xDeUFFUVFKcUlnUkJBblFnRUdvZ0FpQUtJQUJySWhvZ0FFRUNkQ0FRYWlJT0tBSUFhaUlHSUFJZ0Jrb2JJZ1kyQWdCQkFDRUhBMEFnQnlBVlNBUkFJQVJCeUFCc0lBaHFJQWRCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQ3lBRklBeHFJUWNnQUVFQ2RDQVBhaUViSUE0b0FnQWhEa0VBSVFVRFFDQUZJQTVNQkVBZ0FFSElBR3dnQ0dvZ0JVRUNkR29vQWdBaUhFRi9Sd1JBSUFSQnlBQnNJQWhxSUFVZ0dtcEJBblJxSUFjZ0hHb2dHeWdDQUdzZ0RCQlBRUUowSUF0cUtBSUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQWhBQU4vSUFBZ0Frb0VmeUFHQlNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFwQnlBQnNJQWhxSUFCQkFuUnFJZ2NvQWdBaURpQUZLQUlBY3pZQ0FDQUhJQTVCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEN5RUNDeUFFUVFKMElCSnFJQW9nQW1zMkFnQWdDaUFWVGcwQUlBUkJBblFnRDJvaUJpQUVRUUowSUJOcUtBSUFJZ0JCZjBZRWYwRUFCU0FBUVFKMElBdHFLQUlBQ3lJQU5nSUFRUUVoQlFOQUlBVWdBa3dFUUNBRUlBVnJRUUowSUJOcUtBSUFJZ2RCZjBjRVFDQUVRY2dBYkNBSWFpQUZRUUowYWlnQ0FDSU9CRUFnQmlBSElBNUJBblFnQ1dvb0FnQnFJQXdRVDBFQ2RDQUxhaWdDQUNBQWN5SUFOZ0lBQ3dzZ0JVRUJhaUVGREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0FpQlRZQ0FDQUNJQlJNQkVBZ0NpRUVEQUlMQ3d0QmZ5QUNJQlJLRFFFYVFRQWhBQU5BSUFBZ0Frd0VRQ0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQVVvQWdCQkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDMEVCSVFBRFFDQUFJQUpNQkVBZ0FFRUNkQ0FXYWlBRVFjZ0FiQ0FJYWlBQVFRSjBhaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xRUUFoQUVFQklRb0RRQ0FNSUFwT0JFQkJBU0VHUVFFaEJRTkFJQVlnQWt3RVFDQUdRUUowSUJacUlnY29BZ0FpQ1VGL1J3UkFJQWNnQmlBSmFpQU1FRThpQnpZQ0FDQUZJQWRCQW5RZ0Myb29BZ0J6SVFVTElBWkJBV29oQmd3QkN3c2dCVVVFUUNBQVFRSjBJQmRxSUF3Z0NtczJBZ0FnQUVFQmFpRUFDeUFLUVFGcUlRb01BUXNMUVg4Z0FDQUNSdzBCR2tFQUlRQURRQ0FBSUFKSUJFQWdFU0FBUVFKMElCZHFLQUlBYWlJRklBVXNBQUJCQVhNNkFBQWdBRUVCYWlFQURBRUxDd1ZCQUNFRUN5QURRZ0EzQXdCQ0FTRWVJQTBnR0dzaEFFSUFJUUVEUUNBQUlBMUlCRUFnQXlBZUlBQWdFV290QUFDdGZpQUJmQ0lCTndNQUlCNUNBWVloSGlBQVFRRnFJUUFNQVFzTElCa0VmeUFFUVFKMElCQnFLQUlBQlVFQUN3c2hIU0FXSkFZZ0hRdkpDQUlMZndOOEl3WWhEaU1HUVJCcUpBWWdEa0VJYWlFSElBQkZJQU5CQVVoeUJIOGdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFRWDhGQW44Q1FBSkFBa0FnQVE0Q0FBRUNDeUFESUFOc0lnRkJER3dRUkNJS1JRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dBVUVEYkNFTFFRQWhCMEVBSVFFRFFDQUhJQXRIQkVBZ0FTQUNJQWRxTEFBQVFYOXpRZjhCY1dvaEFTQUhRUUZxSVFjTUFRc0xJQUVnQ3hCSUlRbEJBQ0VIUVFBaEFRTkFJQUVnQzBjRVFDQUJRUUowSUFwcUlBRWdBbW9zQUFCQmYzTkIvd0Z4SUFscklnZzJBZ0FnQnlBSUlBaHNhaUVISUFGQkFXb2hBUXdCQ3dzZ0I3ZWZJaE1nQTdkRWtTdFE1bnEyK3oraW8wUUFBQUFBQUFBdVFHTUVRQ0FFUVFBMkFnQWdCVUVBTmdJQUlBWkVBQUFBQUFBQThMODVBd0FnQ2hBNFFYNE1Bd3NnQUNnQ0FDRVBRUUFoQ1VGL0lRTkJmeUVCUVg4aEFnTkFJQWtnRDBnRVFDQUFLQUlJSVFjQ1FBSkFBMEFDUUNBRFFRRnFJZ05CQW5RZ0Iyb29BZ0FPQXdFQ0FBSUxDd3dCQ3lBRFFRSjBJUkJCQUNFSEEwQWdCMEVFUndSQUlBY2dFR29oRFVFQUlReEJBQ0VJQTBBZ0NDQUxSd1JBSUF3Z0NFRUNkQ0FLYWlnQ0FDQUFLQUlNSUExQkFuUnFLQUlBSUFoQkFuUnFLQUlBYkdvaERDQUlRUUZxSVFnTUFRc0xJQWNnQWlBTXR5QUFLQUlRSUExQkEzUnFLd01Bb3lBVG95SVVJQkprSWdnYklRSWdCMEVCYWlFSElCUWdFaUFJR3lFU0lBTWdBU0FJR3lFQkRBRUxDd3NnQ1VFQmFpRUpEQUVMQ3lBRklBSTJBZ0FnQkNBQk5nSUFJQVlnRWprREFDQUtFRGhCQUF3Q0N5QURJQU5zSWdwQkFuUVFSQ0lMUlFSQVFRQkJBMEc1MkFJZ0J4QTlRUUVRQVF0QkFDRUhRUUFoQVFOQUlBRWdDa2NFUUNBSElBRWdBbW9zQUFCQmYzTkIvd0Z4YWlFSElBRkJBV29oQVF3QkN3c2dCeUFLRUVnaENVRUFJUWRCQUNFQkEwQWdBU0FLUndSQUlBRkJBblFnQzJvZ0FTQUNhaXdBQUVGL2MwSC9BWEVnQ1dzaUNEWUNBQ0FISUFnZ0NHeHFJUWNnQVVFQmFpRUJEQUVMQ3lBSHQ1OGlFeUFEdDZORUFBQUFBQUFBTGtCakJFQWdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFJQXNRT0VGK0RBSUxJQUFvQWdBaEQwRUFJUWxCZnlFRFFYOGhBVUYvSVFJRFFDQUpJQTlJQkVBZ0FDZ0NDQ0VIQWtBQ1FBTkFBa0FnQTBFQmFpSURRUUowSUFkcUtBSUFEZ01CQWdBQ0N3c01BUXNnQTBFQ2RDRVFRUUFoQndOQUlBZEJCRWNFUUNBSElCQnFJUTFCQUNFTVFRQWhDQU5BSUFnZ0NrY0VRQ0FNSUFoQkFuUWdDMm9vQWdBZ0FDZ0NGQ0FOUVFKMGFpZ0NBQ0FJUVFKMGFpZ0NBR3hxSVF3Z0NFRUJhaUVJREFFTEN5QUhJQUlnRExjZ0FDZ0NHQ0FOUVFOMGFpc0RBS01nRTZNaUZDQVNaQ0lJR3lFQ0lBZEJBV29oQnlBVUlCSWdDQnNoRWlBRElBRWdDQnNoQVF3QkN3c0xJQWxCQVdvaENRd0JDd3NnQlNBQ05nSUFJQVFnQVRZQ0FDQUdJQkk1QXdBZ0N4QTRRUUFNQVF0QmZ3c0xJUkVnRGlRR0lCRUxWQUVCZnlNR0lRTWpCa0V3YWlRR0lBTWdBallDQUNBRFFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBTkJIR29pQVNBQ0lBTVFvUWNnQUNBQkVLSUhJQUVRUnlBQ0VFY2dBeVFHQzN3QkFYOGpCaUVHSXdaQkVHb2tCaUFBSUFJMkFnQWdBQ0FETmdJRUlBQWdCRFlDQ0NBQVFRRTJBaEFnQUNBRUlBVnNOZ0lVSUFaQkFEWUNBQ0FHUVFScUlBWXNBQXc2QUFBZ0JrRUlhaUFHS0FJQU5nSUFJQUJCR0dvZ0FSQ2xCeUFBSUFWQkFFZ0VmeUFDRUxrRElBTnNCU0FGQ3pZQ0RDQUdKQVlMYWdFQ2Z5TUdJUUVqQmtFUWFpUUdBa0FDUUFKQUFrQWdBRUVCYXc0Q0FBRUNDeUFBSVFJTUFndEJCQ0VDREFFTFFSQVFCU0VBSUFGQ0FEY0NBQ0FCUVFBMkFnZ2dBVUhrb0FKQjVLQUNFR0FRZmlBQUlBRVFoZ0lnQUVHSThnQkJCUkFFQ3lBQkpBWWdBZ3NlQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnTFJ3RUNmeU1HSVFFakJrR1FBbW9rQmlBQlFZQUNhaUlDRUJNYUlBRkJnQUpCdkp3Q0lBSVFJaEFnR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVNBQkVHQVFmaUFCSkFZTE9nRUNmeU1HSVFJakJrRVFhaVFHSUFFZ0FDZ0NBR3doQXlBQ1FRQTZBQUFnQUVFRWFpQURJQUlRcmdjZ0FFRVFhaUFCRU5FRElBSWtCZ3ROQVFKL0lBQW9BZ3dFUUNBQUtBSUlFTDRESUFCQkFEWUNDQ0FBS0FJRUlRSURRQ0FCSUFKSEJFQWdBQ2dDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dBRUVBTmdJTUN3c2RBUUovQTBBZ0FBUkFJQUFvQWdBaEFpQUFFRGdnQWlFQURBRUxDd3VIQWdFSGZ5TUdJUWNqQmtFUWFpUUdJQUlvQWdBaUJpQUFLQUlBSWdocklRQWdBVUVDVGdSQUlBRkJmbXBCQWhBNUlna2dBRUVEZFU0RVFDQUFRUUoxUVFGeUlnTkJBM1FnQ0dvaUJDRUFJQU5CQVdvaUJTQUJTQVJBSUFVZ0F5QUVJQVJCQ0dvaUJCREJBU0lGR3lFRElBUWdBQ0FGR3lFQUN5QUFJQVlRd1FGRkJFQWdCeUFHS1FJQU53TUFBMEFDUUNBR0lBQWlCaWtDQURjQ0FDQUNJQUEyQWdBZ0NTQURTQTBBSUFOQkFYUkJBWElpQTBFRGRDQUlhaUlFSVFBZ0EwRUJhaUlGSUFGSUJFQWdCU0FESUFRZ0JFRUlhaUlFRU1FQklnVWJJUU1nQkNBQUlBVWJJUUFMSUFBZ0J4REJBVVVOQVFzTElBWWdCeWtEQURjQ0FBc0xDeUFISkFZTENBQWdBRUg4QUdvTFhRRUJmMEgvLy8vL0FTQUJTUVJBRUFBTElBRkIvLy8vL3dGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkEzUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBM1FnQW1vMkFnZ0xDeEFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ0xiUUFnQUNvQ0FDQUJLZ0lBbENBQUtnSUVJQUVxQWdTVWtpQUFLZ0lJSUFFcUFnaVVraUFBS2dJTUlBRXFBZ3lVa2lBQUtnSVFJQUVxQWhDVWtpQUFLZ0lVSUFFcUFoU1VraUFBS2dJWUlBRXFBaGlVa2lBQUtnSWNJQUVxQWh5VWtpQUFLZ0lnSUFFcUFpQ1VrZ3ZWQWdFSmZTQUZJQVlxQWdBZ0J5b0NBSklnQ0NvQ0FKSWdDU29DQUpKREFBQ0FQcFFpQ2pnQ0FDQUZJQVlxQWdRZ0J5b0NCSklnQ0NvQ0JKSWdDU29DQkpKREFBQ0FQcFFpQ3pnQ0JDQUdLZ0lBSUFxVElnMGdEWlFnQmlvQ0JDQUxreUlPSUE2VWtwRWdCeW9DQUNBS2t5SVBJQStVSUFjcUFnUWdDNU1pRUNBUWxKS1JraUFJS2dJQUlBcVRJaEVnRVpRZ0NDb0NCQ0FMa3lJU0lCS1VrcEdTSUFrcUFnQWdDcE1pQ2lBS2xDQUpLZ0lFSUF1VElnc2dDNVNTa1pKREFBQ0FQcFFpREVNQUFBQUFXd1IvUVFBRklBUkRBQUNBUHlBTWxidEV6VHQvWnA2ZzlqK2l0aUlNT0FJQUlBQWdEU0FNbERnQ0FDQUFJQTRnQkNvQ0FKUTRBZ1FnQVNBUElBUXFBZ0NVT0FJQUlBRWdFQ0FFS2dJQWxEZ0NCQ0FDSUJFZ0JDb0NBSlE0QWdBZ0FpQVNJQVFxQWdDVU9BSUVJQU1nQ2lBRUtnSUFsRGdDQUNBRElBc2dCQ29DQUpRNEFnUkJBUXNMREFBZ0FDQUJLUUlBTndJQUN5b0FJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFFRVFDQUFJQUVRd1FNZ0FDQUJFTm9IQ3d0cEFRUjlJQUFxQWhBZ0FDb0NGQ0FBS2dJY0lBQXFBaUFRZ0FFaEJDQUFLZ0lNSUFBcUFoUWdBQ29DR0NBQUtnSWdFSUFCSVFJZ0FDb0NEQ0FBS2dJUUlBQXFBaGdnQUNvQ0hCQ0FBU0VESUFRZ0FDb0NBSlFnQWlBQUtnSUVsSk1nQXlBQUtnSUlsSklMdGdJQkFYMGdBUkRIQXlJRGl5QUNYd1IvUVFBRklBQkRBQUNBUHlBRGxTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJY0lBRXFBaUFRZ0FHVU9BSUFJQUFnQWlBQktnSUlJQUVxQWdRZ0FTb0NJQ0FCS2dJY0VJQUJsRGdDQkNBQUlBSWdBU29DQkNBQktnSUlJQUVxQWhBZ0FTb0NGQkNBQVpRNEFnZ2dBQ0FDSUFFcUFoUWdBU29DRENBQktnSWdJQUVxQWhnUWdBR1VPQUlNSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DR0NBQktnSWdFSUFCbERnQ0VDQUFJQUlnQVNvQ0NDQUJLZ0lBSUFFcUFoUWdBU29DREJDQUFaUTRBaFFnQUNBQ0lBRXFBZ3dnQVNvQ0VDQUJLZ0lZSUFFcUFod1FnQUdVT0FJWUlBQWdBaUFCS2dJRUlBRXFBZ0FnQVNvQ0hDQUJLZ0lZRUlBQmxEZ0NIQ0FBSUFJZ0FTb0NBQ0FCS2dJRUlBRXFBZ3dnQVNvQ0VCQ0FBWlE0QWlCQkFRc0xpd0lCQlg4akJpRUlJd1pCRUdva0JpQUZFR2toQlNBQUlBUW9BZ1FnQkNnQ0FHdEJBM1VRZ0FJZ0NFRUVhaUVLQTBBZ0JpQUVLQUlFSUFRb0FnQWlCMnRCQTNWSkJFQWdDQ0FLSUFFZ0F5Z0NBQ0lKSUFaQkEzUWdCMm9vQWdRaUIwRVViR29xQWdBZ0IwRVViQ0FKYWlvQ0JCQzlBaUFJS2dJQUlBSW9BZ0FnQkNnQ0FDQUdRUU4wYWlnQ0FFRVViR29xQWdDVEVHa2dDaW9DQUNBQ0tBSUFJQVFvQWdBZ0JrRURkR29vQWdCQkZHeHFLZ0lFa3hCcGtpQUZYd1JBSUFRb0FnQWdCa0VEZEdvaEJ5QUFLQUlFSWdrZ0FDZ0NDRVlFUUNBQUlBY1FsZ0VGSUFrZ0J5a0NBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUxDeUFHUVFGcUlRWU1BUXNMSUFna0JndnBBZ0lKZndGOUl3WWhCeU1HUVVCckpBWWdCMEVzYWlJTElBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0IwRWdhaUlNSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQXlnQ0JDQURLQUlBSWdOclFRTjFJUTBnQVNnQ0FDRU9JQXdvQWdBaENTQUNLQUlBSVFJZ0N5Z0NBQ0VLQTBBZ0NDQU5Sd1JBSUFoQkEzUWdDV29nQ0VFRGRDQURhaWdDQUNJQlFSUnNJQTVxS0FJQU5nSUFJQWhCQTNRZ0NXb2dBVUVVYkNBT2FpZ0NCRFlDQkNBSVFRTjBJQXBxSUFoQkEzUWdBMm9vQWdRaUFVRVViQ0FDYWlnQ0FEWUNBQ0FJUVFOMElBcHFJQUZCRkd3Z0Ftb29BZ1EyQWdRZ0NFRUJhaUVJREFFTEN5QUhRd0FBQUFBNEFnQWdCME1BQUFBQU9BSUVJQWNnQmJJaUVEZ0NDQ0FIUXdBQUFBQTRBZ3dnQnlBUU9BSVFJQWNnQnJJaUVEZ0NGQ0FIUXdBQUFBQTRBaGdnQnlBUU9BSWNJQVFnQUNBS0lBa2dEU0FIRVB3SEJIOGdBQ0FGSUFZUSt3Y0ZRUUFMSVE4Z0RCQlZJQXNRVlNBSEpBWWdEd3Y4QXdFS2Z5TUdJUVFqQmtFd2FpUUdJQVJCSUdvaEJTQUJJQVJCREdvZ0JFRUlhaUFFUVFScUlBUWdBeERYQnlBQUlBQW9BZ0EyQWdRZ0FVSHdBR29oRFNBQkVNQURJZ01vQWdRZ0F5Z0NBR3RCQW5VaUN5QUNLQUlFSUFJb0FnQnJRUU4xU3dSQUlBVkJ3TWdEUVphSUFoQTNRWkQ1QVJBM1FlK2lBaEEzUWRZQ0VENUI5cUlDRURkQnhJZ0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVVRUENBRElBWVFRQ0FERUQ4UUFBc2dCRUVjYWlFR0lBUkJHR29oQ0NBRVFSUnFJUWtnQkVFUWFpRUtJQTBvQWdBaEEwRUFJUVVEUUNBRklBdElCRUFnQVNBR0lBZ2dDU0FLSUFNcUFnQWdBeW9DQkNBREtnSUlJQU1xQWd3Z0JDZ0NETGRFQUFBQUFBQUE0RCtndGlBRUtBSUl0MFFBQUFBQUFBRGdQNkMySUFRb0FnUzNSQUFBQUFBQUFPQS9vTFlnQkNnQ0FMZEVBQUFBQUFBQTREK2d0aERXQnlBR0tnSUFRd0FBZ0Q5ZElBZ3FBZ0JEQUFDQVAxMXhJQWtxQWdCREFBQ0FQMTF4SUFvcUFnQkRBQUNBUDExeEJFQWdBUkRBQXlnQ0FDQUZRUUowYWlnQ0FFRURkQ0FDS0FJQWFpRUhJQUFvQWdRaURDQUFLQUlJUmdSQUlBQWdCeENXQVFVZ0RDQUhLUUlBTndJQUlBQWdBQ2dDQkVFSWFqWUNCQXNMSUFOQkVHb2hBeUFGUVFGcUlRVU1BUXNMSUFRa0JndlBBd0lPZndGOUl3WWhDU01HUVNCcUpBWWdDVUVFYWlFUElBbEJGR29pRENBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFsQkNHb2lEU0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQU1vQWdRZ0F5Z0NBQ0lRYTBFRGRTRVJJQUVvQWdBaEFTQUNLQUlBSVFJZ0RDZ0NBQ0VTSUEwb0FnQWhFd05BSUFvZ0VVY0VRQ0FLUVFOMElCQnFLQUlFSVFzZ0NrRUNkQ0lVUVFKMElCSnFJZ2dnQ2tFRGRDQVFhaWdDQUNJT1FSUnNJQUZxS0FJQU5nSUFJQWdnRGtFVWJDQUJhaWdDQkRZQ0JDQUlJQTVCRkd3Z0FXb29BZ2cyQWdnZ0NDQU9RUlJzSUFGcUtBSU1OZ0lNSUJSQkFuUWdFMm9pQ0NBTFFSUnNJQUpxS0FJQU5nSUFJQWdnQzBFVWJDQUNhaWdDQkRZQ0JDQUlJQXRCRkd3Z0Ftb29BZ2cyQWdnZ0NDQUxRUlJzSUFKcUtBSU1OZ0lNSUFwQkFXb2hDZ3dCQ3dzZ0FDQUVzaUlXUTgzTVRENlVJQmFTSWhhTUlCWWdCYklpRmtQTnpFdytsQ0FXa2lJV2pDQVdFTU1ISUFBZ0JrRUJkYkk0QWdnZ0FDQUhRUUYxc2pnQ0RDQUFJQVkyQWdBZ0FDQUhOZ0lFSUFBZ0RDZ0NBQ0FOS0FJQUlBTW9BZ1FnQXlnQ0FHdEJBM1VRd2djZ0FDQVBJQWtRdVFkQmZ5QUpLQUlBSUE4cUFnQkRBQUJBUUYwYklSVWdEUkJWSUF3UVZTQUpKQVlnRlF0R0FBTkFJQUVnQWtjRVFDQUFLQUlFSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBQWdBQ2dDQkVFVWFqWUNCQ0FCUVJScUlRRU1BUXNMQ3lnQUlBSWdBV3NpQWtFQVNnUkFJQUFvQWdRZ0FTQUNFRXdhSUFBZ0FDZ0NCQ0FDYWpZQ0JBc0xPQUVDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9DQUFRUUEyQWdnZ0FFRUFOZ0lFSUFCQkFEWUNBQXNMTXdBZ0FpQUJheUlDUVFCS0JFQWdBa0VNRUVnaEF5QUFLQUlFSUFFZ0FoQk1HaUFBSUFBb0FnUWdBMEVNYkdvMkFnUUxDMXNCQTM4Z0FDZ0NCQ0lESUFBb0FnQWlCR3RCRkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRaGdnRklBSWdBVXNFUUNBQlFSUnNJQVJxSVFJZ0F5RUJBMEFnQVNBQ1J3UkFJQUZCYkdvaEFRd0JDd3NnQUNBQ05nSUVDd3NMQ2dBZ0FFSGdBRFlDQUFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRWGhxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3hjQUlBQkNBRGNDQUNBQVFnQTNBZ2dnQUVFQk9nQVFDeXNCQVg4Z0FDZ0NCQ0VDQTBBZ0FoRFVBeUFBSUFBb0FnUkJGR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xYUUVCZjBITW1iUG1BQ0FCU1FSQUVBQUxJQUZCekptejVnQkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJGR3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCRkd3Z0FtbzJBZ2dMQ3drQUlBQWdBVFlDQ0FzVEFDQUFRUWcyQWdRZ0FFRU1ha0VJRUljQkN3c0FJQUJCQUNBQkVFVWFDL3dEQWdWL0Fud2pCaUVHSXdaQm9BSnFKQVlnQmtHQUFtb2hDQ0FHUWNBQmFpSUVJQUZCcUFGcVFRUWdBU2dDREVFQVNBUi9JQUZCRkdvRklBRW9BZ2hCQUVnRWZ5QUJRUmhxQlNBQlFSQnFDd3NvQWdBaUJXdEJCQkJQSWdkQkJIUnFLd01BT1FNQUlBUWdBU0FIUVFSMGFpc0RzQUU1QXdnZ0JDQUJRYWdCYWtFRklBVnJRUVFRVHlJSFFRUjBhaXNEQURrREVDQUVJQUVnQjBFRWRHb3JBN0FCT1FNWUlBUWdBVUdvQVdwQkJpQUZhMEVFRUU4aUIwRUVkR29yQXdBNUF5QWdCQ0FCSUFkQkJIUnFLd093QVRrREtDQUVJQUZCcUFGcVFRY2dCV3RCQkJCUElnVkJCSFJxS3dNQU9RTXdJQVFnQVNBRlFRUjBhaXNEc0FFNUF6Z2dCa0hnQUdvaUFTQUNSQUFBQUFBQUFPQy9vaUlKT1FNQUlBRWdBa1FBQUFBQUFBRGdQNklpQWprRENDQUJSQUFBQUFBQUFBQUFPUU1RSUFFZ0Fqa0RHQ0FCSUFJNUF5QWdBVVFBQUFBQUFBQUFBRGtES0NBQklBSTVBekFnQVNBSk9RTTRJQUZCUUd0RUFBQUFBQUFBQUFBNUF3QWdBU0FKT1FOSUlBRWdDVGtEVUNBQlJBQUFBQUFBQUFBQU9RTllJQVpCaUFKcUlnVWdCRFlDQUNBRklBRTJBZ1FnQlVFRU5nSUlJQUFvQWdBZ0JDQUJRUVFnQmhDWUJFRUFTQVI4UkFBQUFBQ0UxNWRCQlNBQUtBSUFJQVVnQmlBRElBZ1E2Z0ZCQUVnaEFFUUFBQUFBaE5lWFFTQUlLd01BSUFBYkN5RUtJQVlrQmlBS0M3OENBQ0FBS0FJQUlBRW9BZ0FRYkNBQUtBSUVJQUVvQWdRUWJHb2dBQ2dDQ0NBQktBSUlFR3hxSUFBb0Fnd2dBU2dDREJCc2FpQUFLQUlRSUFFb0FoQVFiR29nQUNnQ0ZDQUJLQUlVRUd4cUlBQW9BaGdnQVNnQ0dCQnNhaUFBS0FJY0lBRW9BaHdRYkdvZ0FDZ0NJQ0FCS0FJZ0VHeHFJQUFvQWlRZ0FTZ0NKQkJzYWlBQUtBSW9JQUVvQWlnUWJHb2dBQ2dDTENBQktBSXNFR3hxSUFBb0FqQWdBU2dDTUJCc2FpQUFLQUkwSUFFb0FqUVFiR29nQUNnQ09DQUJLQUk0RUd4cUlBQW9BandnQVNnQ1BCQnNhaUFBUVVCcktBSUFJQUZCUUdzb0FnQVFiR29nQUNnQ1JDQUJLQUpFRUd4cUlBQW9Ba2dnQVNnQ1NCQnNhaUFBS0FKTUlBRW9Ba3dRYkdvZ0FDZ0NVQ0FCS0FKUUVHeHFJQUFvQWxRZ0FTZ0NWQkJzYWlBQUtBSllJQUVvQWxnUWJHb2dBQ2dDWENBQktBSmNFR3hxQzBFQkFuOGdBVUVCVGdSQUFrQWdBRUVBTmdJQVFRRWhBZ05BSUFFZ0FrWU5BU0FDUVFKMElBQnFJQU5CQVdvaUF6WUNBQ0FDUVFGcUlRSU1BQUFMQUFzTEN6NEJBbjhnQUNnQ0JDQUFLQUlBSWdSclFRSjFJZ01nQVVrRVFDQUFJQUVnQTJzZ0FoQ2ZDQVVnQXlBQlN3UkFJQUFnQVVFQ2RDQUVhallDQkFzTEM4b0VBUTEvSXdZaEVTTUdRUkJxSkFZZ0VVRUVhaUVTSUFoQkFra2hGQ0FJUVFKR0lSVURRQ0FRSUFWSUJFQWdEa0VJZENBTGFpQVFRYkR4Qkd3Z0JHb29BZ0EyQWdBZ0NTQVFRYkR4Qkd3Z0JHb3JBd2kySUJCQnNQRUViQ0FFYWlzREVMWWdFaUFSRUtZQlFRQk9CRUFnRGtFSWRDQUxhaUFTS2dJQXV6a0RPQ0FPUVFoMElBdHFRVUJySUJFcUFnQzdPUU1BSUJCQnNQRUViQ0FFYWtFY2FpQVFRYkR4Qkd3Z0JHcEIzTGdDYWlBUVFiRHhCR3dnQkdvb0FoZ2dFRUd3OFFSc0lBUnFRWnp4QkdvZ0NTQU9RUWgwSUF0cVFjZ0FhaUFPUVFoMElBdHFRYWdCYWlJUEVLWUlRUUJPQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFZZ0J5QUlJQUFnQVNBQ0lBTWdDU0FQSUFvZ0RrRUlkQ0FMYWtFSWFpSVdJQTVCQ0hRZ0MycEJGR29pRnlBT1FRaDBJQXRxUVNocUloZ2dEa0VJZENBTGFrRU1haUlaSUE1QkNIUWdDMnBCR0dvaUdpQU9RUWgwSUF0cVFUQnFJaE1nRFNBT1FRaDBJQXRxUWZBQmFpQU9RUWgwSUF0cVFmZ0JhaEQrQmlJUFFYcHJEZ2NGQkFNQ0FRQUdCd3RCQWlFUERBVUxRUU1oRHd3RUMwRUVJUThNQXd0QkJTRVBEQUlMUVFraER3d0JDMEVCSVE4TElBNUJDSFFnQzJvZ0R6WUM3QUVMQWtBQ1FDQVVCRUFnRGtFSWRDQUxhaUFXS0FJQU5nSUVJQmdoRXlBWElROE1BUVVnRlFSQUlBNUJDSFFnQzJvZ0dTZ0NBRFlDQkNBYUlROE1BZ3NMREFFTElBNUJDSFFnQzJvZ0R5Z0NBRFlDRUNBT1FRaDBJQXRxSUJNckF3QTVBeUFMSUE1QkFXb2hEZ3NMSUJCQkFXb2hFQXdCQ3dzZ0RDQU9OZ0lBSUJFa0JrRUFDd2dBSUFCQjZBQnFDNjhJQVFoL0l3WWhDU01HUVNCcUpBWWdBRUVNYWlJSEtBSUVJQUFvQW13UXhnRWdCVTRFUUNBQlFRRVFnd0lnQVJERkFTQUZFSWNCUVFBaEFBTkFJQUFnQlVnRVFDQUFRUUowSUFScUtBSUFJUUlnQVJERkFTZ0NBQ0FBUVFKMGFpQUNOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NTUUdEd3NnQ1VFVWFpRUdJQWxDQURjQ0FDQUpRZ0EzQWdnZ0NVR0FnSUQ4QXpZQ0VDQUhJQUlnQXlBRUlBVVFwUWdnQjBFWWFpSU1LQUlFSWdzZ0RDZ0NBQ0lJYTBFQ2RTQUZSd1JBSUFaQndNZ0RRWm54QVJBM1FkSHhBUkEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCMlBJQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNpZ0NBQ2dDSENFTklBcEJDaUFOUVQ5eFFZb0JhaEVDQUNFS0lBWVFQQ0FISUFvUVFDQUhFRDhRQUF0QkFDRUhBa0FDUUFKQUFrQURRQ0FISUFzZ0NHdEJBblZKQkVBZ0IwRUNkQ0FJYWlnQ0FDSUlRWDlHRFFJZ0NDQUZUZzBESUFoQkFuUWdCR29pQ0NnQ0FDQURUZzBFSUFkQkFuUWdCR29oQ3lBSklBZ1F3d0lpQ0NnQ0JDSUtJQWdvQWdoR0JFQWdDQ0FMRUtRSUJTQUtJQXNvQWdBMkFnQWdDQ0FLUVFScU5nSUVDeUFIUVFGcUlRY2dEQ2dDQUNFSUlBd29BZ1FoQ3d3QkN3c0NRQ0FKS0FJTVFRRkdCRUFnQVVFQkVJTUNJQUVReFFFZ0JSQ0hBVUVBSVFBRFFDQUFJQVZPRFFJZ0FFRUNkQ0FFYWlnQ0FDRUNJQUVReFFFb0FnQWdBRUVDZEdvZ0FqWUNBQ0FBUVFGcUlRQU1BQUFMQUFVZ0FSRGZBeUFKS0FJTUVLTUlJQWxCQ0dvaEJBTkFBa0FnQkNnQ0FDSUVSUTBESUFRb0FoQWdCQ2dDREVZTkFFR0FBUkJSSWdVZ0FCRGhBeUFDSUFRb0FnaEI0QUJzYWhDaUNDQUdJQVUyQWdBZ0JVRUFFSU1DSUFFUTN3TWlCU2dDQkNJSElBVW9BZ2hHQkVBZ0JTQUdFTUlDQlNBSElBWW9BZ0EyQWdBZ0JTQUZLQUlFUVFScU5nSUVDeUFBSUFZb0FnQWdBaUFESUFRb0Fnd2lCU0FFS0FJUUlBVnJRUUoxRU9BRERBRUxDeUFHUWNESUEwRzM5QUVRTjBIUjhRRVFOMEh2b2dJUU4wR0RBeEErUWZhaUFoQTNRZVgwQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSkVPa0RJQWtrQmc4TElBWkJ3TWdEUWU3eUFSQTNRZEh4QVJBM1FlK2lBaEEzUWUwQ0VENUI5cUlDRURkQm1mTUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUlMSUFaQndNZ0RRYS96QVJBM1FkSHhBUkEzUWUraUFoQTNRZTRDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBRUxJQVpCd01nRFFmcnpBUkEzUWRIeEFSQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3Q3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMRXdBZ0FDQUFLQUlFSWdCQkFXbzJBZ1FnQUF2RkF3RUlmeUFCQkVBQ1FDQUJRZi8vLy84RFN3UkFRUWdRQlNJQ0VJZ0JJQUpCdElzQk5nSUFJQUpCK1BjQVFSWVFCQXNnQVVFQ2RCQlJJUUlnQUNnQ0FDRURJQUFnQWpZQ0FDQURCRUFnQUNnQ0JCb2dBeEE0Q3lBQUlBRTJBZ1JCQUNFQ0EwQWdBU0FDUndSQUlBQW9BZ0FnQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJDR29oQXlBQUtBSUlJZ0lFUUNBQ0tBSUVJUVFnQVNBQlFYOXFJZ2h4UlNJSkJIOGdCQ0FJY1FVZ0JDQUJUd1IvSUFRZ0FSQk9CU0FFQ3dzaEJpQUFLQUlBSUFaQkFuUnFJQU0yQWdBRFFDQUNJUVFEUUFKQUEwQUNRQ0FFS0FJQUlnSkZEUVlnQWlnQ0JDRURJQVlnQ1FSL0lBTWdDSEVGSUFNZ0FVOEVmeUFESUFFUVRnVWdBd3NMSWdWR0RRQWdBQ2dDQUNBRlFRSjBhaUlES0FJQVJRMENJQUloQXdOQUlBTW9BZ0FpQndSQUlBSW9BZ2dnQnlnQ0NFWUVRQ0FISVFNTUFnc0xDeUFFSUFjMkFnQWdBeUFBS0FJQUlBVkJBblJxS0FJQUtBSUFOZ0lBSUFBb0FnQWdCVUVDZEdvb0FnQWdBallDQUF3QkN3c2dBaUVFREFFTEN5QURJQVEyQWdBZ0JTRUdEQUFBQ3dBTEN3VWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDeUFBUVFBMkFnUUxDenNBUWVDOEF5d0FBRVVFUUVIZ3ZBTVFjQVJBUVlqRUEwRUFOZ0lBUVl6RUEwRUFOZ0lBUVpERUEwRUFOZ0lBUWVDOEF4QnZDd3RCaU1RREN3a0FJQUFnQVRZQ0JBc0pBQ0FBSUFFMkFnQUxVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FaeUdBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDelFBSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUJCSkdvUWxBZ0x1UUVCQlg4Z0FTZ0NBQ0VCSUFBb0FnUWlBZ1JBQWtBZ0FpQUNRWDlxSWdSeFJTSUZCSDhnQVNBRWNRVWdBU0FDU1FSL0lBRUZJQUVnQWhCT0N3c2lCa0VDZENBQUtBSUFhaWdDQUNJQUJIOERRQ0FBS0FJQUlnQkZCRUJCQUNFQURBTUxJQUFvQWdRaUF5QUJSZ1JBSUFFZ0FDZ0NDRVlOQXdVZ0JRUkFJQU1nQkhFaEF3VWdBeUFDVHdSQUlBTWdBaEJPSVFNTEN5QURJQVpIQkVCQkFDRUFEQVFMQ3d3QUFBc0FCVUVBQ3lFQUN3VkJBQ0VBQ3lBQUN5a0JBWDhnQUNnQ0NCQzJDQ0FBS0FJQUlRRWdBRUVBTmdJQUlBRUVRQ0FBS0FJRUdpQUJFRGdMQzIwQkFYOGdBRUdVQm1vaUFVRVlhaEJWSUFGQkRHb1FWU0FCRUZVZ0FFR01CV29pQVVIOEFHb1FWU0FCUWZBQWFoQlZJQUZCM0FCcUVNUUhJQUJCL0FScUVGVWdBRUdnQVdvUS9BZ2dBRUhjQUdvUXh3SWdBRUhJQUdvUXVRZ2dBRUZBYXhDVkFTQUFRUXhxRUZVTEtBRUJmeUFBUVFScUVPa0RJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUVRNmdNZ0FSQTRDd3V3QndJSGZ3RjhRY1lBSVFaQndJUTlJUWNnQTBFQlJpSUxCRUJCeGdCQkJCQTVJUVpCd0lROVFRUVFPU0VISUFCQkFoQTVJUUFnQVVFQ0VEa2hBUXNnQlVFQU5nSUFJQUJCZm1vaENDQUJRWDVxSVFrZ0FrR1FnTWdBYWlFTVFRQWhBUUpBQWtBRFFBSkFJQUVnQWlnQ0NFNE5BaUFDUVF4cUlBRkJBblJxSWdNb0FnQWlDaUFHU0NBS0lBZEtja1VFUUNBQ1FZeUFDR29nQVVFRWRHb2lDaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJrSUFJYWlnQ0FDQUlSd1JBSUFJZ0FVRUVkR3BCbElBSWFpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQm1JQUlhaWdDQUNBSlJ3UkFJQUlvQWdBZ0FDQU1JQUZCQVdvZ0NpQUZLQUlBUWJEeEJHd2dCR29RdmdoQkFFNEVRQ0FES0FJQUlBVW9BZ0JCc1BFRWJDQUVhaEMzQ0VFQVRnUkFJQVVvQWdCQnNQRUViQ0FFYWlBREtBSUFOZ0lBSUFVb0FnQWlBMEd3OFFSc0lBUnFJQUpCa0lBb2FpQUJRUVIwYWlzREFEa0RDQ0FEUWJEeEJHd2dCR29nQWlBQlFRUjBha0dZZ0NocUt3TUFPUU1RSUFVZ0EwRUJhaUlETmdJQUlBTkJQRVlFUUVFOElRQU1DQXNMQ3dzTEN3c0xJQUZCQVdvaEFRd0JDd3NNQVFzZ0JTZ0NBQ0VBQzBFQUlRRURRQ0FCSUFCSUJFQWdBVUd3OFFSc0lBUnFJUVlnQVVHdzhRUnNJQVJxSVFjZ0FVR3c4UVJzSUFScUlRTWdBVUVCYWlJQklRSURRQ0FDSUFCSUJFQWdCaXNEQ0NBQ1FiRHhCR3dnQkdvckF3aWhJZzBnRGFJZ0J5c0RFQ0FDUWJEeEJHd2dCR29yQXhDaElnMGdEYUtnSVEwZ0F5Z0NBQ0lBSUFKQnNQRUViQ0FFYWlJSUtBSUFJZ2xLQkVBZ0RTQUFRUVFRT2JkakJFQWdDRUVBTmdJQUN3VWdEU0FKUVFRUU9iZGpCRUFnQTBFQU5nSUFDd3NnQWtFQmFpRUNJQVVvQWdBaEFBd0JDd3NNQVFzTFFRQWhBZ05BSUFJZ0FFZ0VRQ0FDUWJEeEJHd2dCR29vQWdCRkJFQWdBaUVCSUFBaEF3TkFJQUZCQVdvaUFDQURTQVJBSUFGQnNQRUViQ0FFYWlBQVFiRHhCR3dnQkdwQnNQRUVFRXdhSUFBaEFTQUZLQUlBSVFNTUFRc0xJQVVnQTBGL2FpSUFOZ0lBQ3lBQ1FRRnFJUUlNQVFzTElBc0VRQUpBUVFBaEFRTkFJQUVnQUU0TkFTQUVJQVFvQWdCQkFuUTJBZ0FnQkNBRUt3TUlSQUFBQUFBQUFBQkFvamtEQ0NBRUlBUXJBeEJFQUFBQUFBQUFBRUNpT1FNUUlBUW9BaGdoQWtFQUlRQURRQ0FBSUFKSUJFQWdCRUVjYWlBQVFRSjBhaUlESUFNb0FnQkJBWFEyQWdBZ0JFSGN1QUpxSUFCQkFuUnFJZ01nQXlnQ0FFRUJkRFlDQUNBQVFRRnFJUUFNQVFzTElBUkJzUEVFYWlFRUlBRkJBV29oQVNBRktBSUFJUUFNQUFBTEFBc0xRUUFMRWdBZ0FFSDhoUUUyQWdBZ0FFRUVhaEJIQzBnQkFYOGpCaUVESXdaQklHb2tCaUFESUFBb0FqZ2dBaWdDQUNBQ0tBSUVJQUlvQWdnZ0FpZ0NEQkM0QXlBQUlBTWdBaERnQVNBQUlBRWdBeERnQVNBREVOMEJJQU1rQmd1TEF3RUVmd0pBQWtBQ1FBSkFJQUFvQWhnT0F3QUFBUUlMSUFBb0Fpd2hBZ05BSUFFZ0FrNE5BeUFBSUFGQkNIUnFJZ01vQWpSQmYwb0VRQ0FBSUFGQkNIUnFLd05RUkFBQUFBQUFBT0EvWXdSQUlBQWdBVUVJZEdwQmZ6WUNPQ0FEUVg4MkFqUWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTElBRkJBV29oQVF3QUFBc0FDeUFBS0FJc0lRSURRQ0FCSUFKT0RRSWdBQ0FCUVFoMGFpSURLQUkwUVg5S0JFQWdBQ0FCUVFoMGFpc0RVRVFBQUFBQUFBRGdQMk1FUUNBQUlBRkJDSFJxUVg4MkFqd2dBMEYvTmdJMElBQWdBVUVJZEdwQkJqWUNuQUlMQ3lBQlFRRnFJUUVNQUFBTEFBc2dBQ2dDTENFREEwQWdBU0FEVGcwQklBQWdBVUVJZEdvaUFpZ0NPRUYvU2dSL0lBQWdBVUVJZEdvckExaEVBQUFBQUFBQTREOWpCSDhnQWtGL05nSTRRUUFGUVFFTEJVRUJDeUVDSUFBZ0FVRUlkR29pQkNnQ1BFRi9TZ1JBSUFBZ0FVRUlkR29yQTJCRUFBQUFBQUFBNEQ5akJFQWdCRUYvTmdJOElBSkZCRUFnQUNBQlFRaDBha0VHTmdLY0Fnc0xDeUFCUVFGcUlRRU1BQUFMQUFzTEN3QWdBRU1BQUFBL2tvNExEUUFnQUJEU0FVTVljakUvbFF1M0F3SURmd045SUFBb0FnQWlCQ29DQUNJSElBRW9BZ0FpQXlvQ0FDSUdYUVIvUVFFRklBWWdCMTBFZjBFQUJTQUVLQUlFSUFNb0FnUkpDd3NoQVNBR0lBSW9BZ0FpQWlvQ0FDSUlYUVIvUVFFRklBZ2dCbDBFZjBFQUJTQURLQUlFSUFJb0FnUkpDd3NoQUFKL0lBRUVmeUFBQkVBZ0JDQUlPQUlBSUFJZ0J6Z0NBQ0FFS0FJRUlRQWdCQ0FDS0FJRU5nSUVJQUlnQURZQ0JFRUJEQUlMSUFRZ0JqZ0NBQ0FESUFjNEFnQWdCQ2dDQkNFRklBUWdBeWdDQkRZQ0JDQURJQVUyQWdRZ0J5QUNLZ0lBSWdaZEJFQWdBa0VFYWlFQUlBSW9BZ1FoQVFWQkFTQUdJQWRkRFFJYVFRRWdCU0FDUVFScUlnQW9BZ0FpQVU4TkFob0xJQU1nQmpnQ0FDQUNJQWM0QWdBZ0F5QUJOZ0lFSUFBZ0JUWUNBRUVDQlNBQUJIOGdBeUFJT0FJQUlBSWdCamdDQUNBREtBSUVJUUFnQXlBQ0tBSUVOZ0lFSUFJZ0FEWUNCQ0FFS2dJQUlnY2dBeW9DQUNJR1hRUkFJQVJCQkdvaEFDQURLQUlFSVFFZ0JDZ0NCQ0VDQlVFQklBWWdCMTBOQXhwQkFTQUVRUVJxSWdBb0FnQWlBaUFES0FJRUlnRlBEUU1hQ3lBRUlBWTRBZ0FnQXlBSE9BSUFJQUFnQVRZQ0FDQURJQUkyQWdSQkFnVkJBQXNMQ3d2dEFRRUZmeUFBS0FJQUlRWWdBQ2dDQkNFREEwQWdBeUFHUndSQUlBRW9BZ1FpQkVGMGFpSUNRUUEyQWdBZ0JFRjRhaUlGUVFBMkFnQWdCRUY4YWlJRVFRQTJBZ0FnQWlBRFFYUnFJZ0lvQWdBMkFnQWdCU0FEUVhocUlnVW9BZ0EyQWdBZ0JDQURRWHhxSWdNb0FnQTJBZ0FnQTBFQU5nSUFJQVZCQURZQ0FDQUNRUUEyQWdBZ0FTQUJLQUlFUVhScU5nSUVJQUloQXd3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRU1iQkJGR2lBQUlBRkJER3dnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFReHNFRVVhSUFBZ0FVRU1iQ0FDYWpZQ0JBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJRUN4TUFJQUFnQVRZQ1ZDQUFRVHhxSUFFUTBRSUxPd0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCYkdvMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTHFRRUJBMzhnQUNnQ0FDRUVJQUFvQWdRaEFnTkFJQUlnQkVjRVFDQUJLQUlFUVd4cUlnTWdBa0ZzYWlJQ0tRSUFOd0lBSUFNZ0Fpa0NDRGNDQ0NBRElBSW9BaEEyQWhBZ0FTQUJLQUlFUVd4cU5nSUVEQUVMQ3lBQUtBSUFJUUlnQUNBQktBSUVOZ0lBSUFFZ0FqWUNCQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBRW9BZ1EyQWdBTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWN5WnMrWUFTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRVViQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUlJzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFVWJDQUVhallDREF2a0FRRUdmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hBeUFBQkg4Z0FTQUFRZlNHcndOcUlnVW9BZ0JHQkg5QkFBVWdBRUdJaDY4RGFpSUVLQUlBSWdZRVFDQUdFRWtnQkVFQU5nSUFDd0pBQWtBQ1FBSkFJQUVPQlFNQUFBQUJBZ3NnQkNBQUtBSWtJQUFvQWlnUWd3ZzJBZ0FNQWdzZ0FFR0VoNjhEYWtFQk5nSUFJQUJCZ0lldkEycEJBVFlDQUVFRUlRRU1BUXRCQUVFRFFjaWxBU0FDRUQxQkFDRUJDeUFGSUFFMkFnQWdBQ2dDQUVFQlJnUkFJQU1nQVVFQ2RFR0FDR29vQWdBMkFnQkJBRUVEUVpLbUFTQURFRDBMUVFBTEJVRi9DeUVISUFJa0JpQUhDeWdBSUFBZ0FUZ0NBQ0FBSUFJNEFnUWdBQ0FET0FJSUlBQWdCRGdDRENBQUlBVkJBWEU2QUJBTGV3RUJmeU1HSVFJakJrRVFhaVFHSUFBRVFDQUFLQUlBSUFGSEJFQUNRQ0FBSUFFMkFnQWdBVVVFUUNBQVFlU0dwd0pxSWdBb0FnQVFPQ0FBUVFBMkFnQU1BUXNnQUVIa2hxY0NhaUFBS0FJb0lBQW9BaVJzRUVRaUFEWUNBQ0FBUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzTEN3c2dBaVFHQzVvQkFRUi9Jd1loQlNNR1FSQnFKQVlnQWlBQmF5SUVRVzlMQkVBUUFBc2dCRUVMU1FSQUlBQWdCRG9BQ3dVZ0FDQUVRUkJxUVhCeElnWVFVU0lETmdJQUlBQWdCa0dBZ0lDQWVISTJBZ2dnQUNBRU5nSUVJQU1oQUFzZ0FpQUJheUVHSUFBaEF3TkFJQUVnQWtjRVFDQURJQUVRWHlBQlFRRnFJUUVnQTBFQmFpRUREQUVMQ3lBRlFRQTZBQUFnQUNBR2FpQUZFRjhnQlNRR0M0SUJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FBUkFJQUFvQWdBaUFRUkFJQUVvQWdBaUFRUkFJQUVRT0F0QkFDRUJBMEFnQVNBQUtBSUFJZ01vQWd4SUJFQWdBeWdDQ0NBQlFReHNhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dBeWdDQ0JBNElBQW9BZ0FRT0NBQVFRQTJBZ0FMQlVFQVFRTkIzTGdCSUFJUVBRc2dBaVFHQ3hFQUlBQWdBQ2dDQUNBQUtBSUVFS1VKQzY0QkFRVi9Jd1loQlNNR1FSQnFKQVlnQUNBQ0lBTWdCVUVFYWlBRkVLWUpRUUJJQkg5QmZ3VWdCU29DQkNBQktnSU1JZ0tVUXpNenkwR1ZRd0FBQUQrU0VFTWlBRUVBU0FSL1FYOEZJQUVvQWdRaUJ5QUFTZ1IvSUFFb0FnZ2lDTElnQWlBRktnSUFsRU16TTh0QmxaTkRBQUFBUDVJUVF5SUdRWDlLSUFnZ0JrcHhCSDhnQkNBQktBSUFJQUFnQmlBSGJHcHFMQUFBT2dBQVFRQUZRWDhMQlVGL0N3c0xJUWtnQlNRR0lBa0x2UUlDQkg4Q2ZTTUdJUVlqQmtGQWF5UUdJQVpCTkdvaEJ5QUdRVEJxSVFnZ0FBUi9JQUJCQ0dvZ0FTQUdFUG9CSUFCQnVBRnFJZ0FnQmlvQ0RDQUdLZ0lBSUFLVUlBWXFBZ1FnQTVTU2tpQUdLZ0lzSUFZcUFpQWdBcFFnQmlvQ0pDQURsSktTSWd1Vklnb2dCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBTGxTSURJQVFnQlJCdFFRQklCSDlCZndVZ0FDQUVLZ0lBSUFVcUFnQWdCeUFJRUtZQlFRQklCSDlCZndVZ0NpQUhLZ0lBa3lJQ0lBS1VJQU1nQ0NvQ0FKTWlBaUFDbEpKREFBQ0FQMTVCSDNSQkgzVUxDd1VnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUtJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ2lBQ2xUZ0NBRUVBQ3lFSklBWWtCaUFKQzRZTEFRcC9JQU1vQWhnaENBSkFBa0FDUUNBQ1FRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0F5Z0NEQ0VMSUFNb0FoUWhEU0FCUVFGMElRNGdBQ0FFUVFBZ0F5Z0NDR3NpQjBFQmRHb2dBU0FGUVFBZ0F5Z0NFR3NpQlVFQmRHcHNhbW9oQkVFQUlRQkJBQ0VCUVFBaEFnTkFJQVVnRFVvRVFBd0RCU0FISVF3Z0JDRUpBMEFnRENBTFRBUkFJQWd1QVFBaUQwR0FJRWNFUUNBQUlBa3RBQUFpQ21vaEFDQUJJQW9nQ214cUlRRWdBaUFQUWYvL0EzRWdDbXhxSVFJTElBeEJBV29oRENBSVFRSnFJUWdnQ1VFQ2FpRUpEQUVMQ3lBRUlBNXFJUVFnQlVFQmFpRUZEQUVMQUFBTEFBc2dBa0VDU1FSQUlBTW9BaFFoRGtFQUlBTW9BaEJySVFvZ0NDRUpRUUFoQWtFQUlRZ0RRQ0FLSUE1S0JFQWdBaUVBSUFnaEFTQU1JUUlNQXdVZ0F5Z0NEQ0VQUVFBZ0F5Z0NDQ0lIYXlFTElBQWdCQ0FCSUFVZ0NrRUJkR3BzYWlBSFFRRjBhMEVEYkdvaEJ3TkFJQXNnRDB3RVFDQUpMZ0VBSWhCQmdDQkhCRUFnQWlBSExRQUNJQWN0QUFBZ0J5MEFBV3BxUVFNUVNDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQzBFQmFpRUxJQWRCQm1vaEJ5QUpRUUpxSVFrTUFRc0xJQXBCQVdvaENnd0JDd0FBQ3dBTElBSkJBWEpCQTBZRVFDQURLQUlVSVE1QkFDQURLQUlRYXlFS0lBZ2hDVUVBSVFKQkFDRUlBMEFnQ2lBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQjJzaEN5QUFJQVFnQVNBRklBcEJBWFJxYkdvZ0IwRUJkR3RCQW5ScUlRY0RRQ0FMSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0J5MEFBaUFITFFBQUlBY3RBQUZxYWtFREVFZ2lEV29oQWlBSUlBMGdEV3hxSVFnZ0RDQVFRZi8vQTNFZ0RXeHFJUXdMSUF0QkFXb2hDeUFIUVFocUlRY2dDVUVDYWlFSkRBRUxDeUFLUVFGcUlRb01BUXNBQUFzQUN5QUNRUUp5UVFaR0JFQWdBeWdDRkNFT1FRQWdBeWdDRUdzaENpQUlJUWxCQUNFQ1FRQWhDQU5BSUFvZ0Rrb0VRQ0FDSVFBZ0NDRUJJQXdoQWd3REJTQURLQUlNSVE5QkFDQURLQUlJSWdkcklRc2dBQ0FFSUFFZ0JTQUtRUUYwYW14cUlBZEJBWFJyUVFKMGFpRUhBMEFnQ3lBUFRBUkFJQWt1QVFBaUVFR0FJRWNFUUNBQ0lBY3RBQU1nQnkwQUFTQUhMUUFDYW1wQkF4QklJZzFxSVFJZ0NDQU5JQTFzYWlFSUlBd2dFRUgvL3dOeElBMXNhaUVNQ3lBTFFRRnFJUXNnQjBFSWFpRUhJQWxCQW1vaENRd0JDd3NnQ2tFQmFpRUtEQUVMQUFBTEFBc0NRQUpBQWtBZ0FrRUhhdzRDQUFFQ0N5QURLQUlVSVE1QkFDRUNRUUFnQXlnQ0VHc2hDaUFJSVFjRFFDQUtJQTVLQkVBZ0FpRUFJQWtoQVNBTUlRSU1CQVVnQXlnQ0RDRVBJQWtoQ0VFQUlBTW9BZ2dpQzJzaENTQUFJQVFnQVNBRklBcEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FKSUE5TUJFQWdCeTRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBU0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUJhaUVKSUF0QkJHb2hDeUFIUVFKcUlRY01BUXNMSUFnaENTQUtRUUZxSVFvTUFRc0FBQXNBQ3lBREtBSVVJUTRnQ0NFSlFRQWhBa0VBSVFoQkFDQURLQUlRYXlFSEEwQWdCeUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lDMnNoQ2lBQUlBUWdBU0FGSUFkQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUtJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQ2FpRUpJQXBCQVdvaENpQUxRUVJxSVFzTUFRc0xJQWRCQVdvaEJ3d0JDd0FBQ3dBTFFRQWhBRUVBSVFGQkFDRUNDeUFHSUFFZ0FDQUFiQ0FES0FJa0lnRVFPV3NpQkFSL0lBSWdBQ0FES0FJZ2JDQUJFRGxyUWVRQWJDQURLQUljRURsQjVBQnNJQVN5a1JCREVEa0ZRUUFMTmdJQUMwVUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk5EQUFBQVA1UWlBNHdnQXlBRFF3QUFBQUJkR3d1SURnTUlmd0YrRFgwakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVJSUFaQkRHb2hDU0FHUVFocUlRb2dCa0VFYWlFTElBSkJBRWdFUUVGL0lRRUZBa0FDUUFKQUFrQUNRQUpBSUFJT0JBQUJBZ01FQ3lBRVFRZ1FPYkloRWlBRVFRZHNRUWdRT2JJaEV5QUZRUWdRT2JJaEZDQUZRUWRzUVFnUU9iSWhGU0FFUVFJUU9iSWhGaUFGUVFJUU9iSWhGMEVBSVFKQmZ5RUJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0VsMGdEeUFUWG5KRkJFQWdBa0VZYkNBQWFpb0NGQ0lRSUJSZElCQWdGVjV5UlFSQUlBOGdGcE1pRHlBUGxDQVFJQmVUSWc4Z0Q1U1NJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUJRc2dBVUVZYkNBQWFrRUJOZ0lNREFRTElBUkJDQkE1c2lFU0lBUkJCMnhCQ0JBNXNpRVRJQVZCQ0JBNXNpRVVJQVZCQjJ4QkNCQTVzaUVWUVg4aEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFKQkdHd2dBR29xQWhBaUR5QVNYU0FQSUJOZWNrVUVRQ0FDUVJoc0lBQnFLZ0lVSWhBZ0ZGMGdFQ0FWWG5KRkJFQWdEeUFES2dJQWt5SVBJQStVSUJBZ0F5b0NCSk1pRHlBUGxKSWlEeUFSWGdSQUlBOGhFU0FDSVFFTEN3c0xJQUpCQVdvaEFnd0JDd3NnQVVGL1JnUkFRWDhoQVF3RUN5QUJRUmhzSUFCcVFRRTJBZ3dNQXdzZ0JFRUlFRG15SVJJZ0JFRUhiRUVJRURteUlSTWdCVUVJRURteUlSUWdCVUVIYkVFSUVEbXlJUlZCZnlFQlFRQWhBZ05BQWtBQ1FBSkFJQUpCR0d3Z0FHb29BZ3hCZjJzT0FnSUFBUXNnQWtFWWJDQUFhaW9DRUNJUElCSmRJQThnRTE1eVJRUkFJQUpCR0d3Z0FHb3FBaFFpRUNBVlhpQVFJQlJkY2tVRVFDQVBJQU1xQWdBaUQ1TWdBeW9DRENBREtnSUVJaGFUbENBUUlCYVRJQU1xQWdnZ0Q1T1VreUlQSUErVUlnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQXdzZ0FVRVliQ0FBYWtFQk5nSU1EQUlMSUFNZ0EwRUlhaUFISUFnUTJ3SWdBeUFEUVJCcUlBa2dDaERiQWlBRVFRZ1FPYkloRmlBRVFRZHNRUWdRT2JJaEZ5QUZRUWdRT2JJaEdDQUZRUWRzUVFnUU9iSWhHU0FEUVJocUlRd2dDU29DQUNJVUlBZ3FBZ0FpRXBRaUVTQUtLZ0lBSWhVZ0J5b0NBQ0lUbENJUGswTUFBQUFBWUVVaENTQVBJQkdUUXdBQUFBQmdSU0VOUVFKQkFTQUpHeUVIUVFGQkFpQUpHeUVJUVg4aEFVRUFJUUpEQUFBQUFDRVJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0ZsMGdEeUFYWG5KRkJFQWdBa0VZYkNBQWFpSUVLZ0lVSWhBZ0dGMGdFQ0FaWG5KRkJFQWdEQ0FQT0FJQUlBTWdCQ2dDRkRZQ0hDQURJQXdnQ3lBR0VOc0NJQXNxQWdBaER3Si9Ba0FnQ1FSL0lBWXFBZ0FoRUF3QkJTQVNJQStVSUJNZ0Jpb0NBQ0lRbEpOREFBQUFBR0FFZjBFQ1FRTWdGU0FQbENBVUlCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQklRcEJBMEVDSUFVYkJRd0NDd3NNQVFzZ0RTQVZJQStVSWhvZ0ZDQVFsQ0liazBNQUFBQUFZRVZ5Qkg4Z0V5QVFsQ0FTSUErVWswTUFBQUFBWUVVZ0d5QWFrME1BQUFBQVlFVnlEUVJCQXlFS0lBZ2hCQ0FIQlVFQlFRTWdFaUFQbENBVElCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQ0lRcEJBMEVCSUFVYkN3c2hCU0FESUFvZ0JTQUVFTEFKSWc4Z0VWNEVmeUFQSVJFZ0FnVWdBUXNoQVFzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUJRUmhzSUFCcVFRRTJBZ3dMREFFTFFRQWhBd0pBQWtBRFFBSkFBa0FDUUNBRFFSaHNJQUZxSWdJb0FneEJmMnNPQWdJQUFRc2dBa0VCTmdJTUlBTkJHR3dnQVdvaEJDQURRUmhzSUFGcUlRVWdBMEVZYkNBQmFpRUhRUUFoQWdOQUFrQUNRQ0FDUVJoc0lBQnFJZ2dvQWd4QmYyc09BZ01BQVFzZ0JDZ0NBQ0FDUVJoc0lBQnFLQUlBUmdSQUlBVW9BZ1FnQWtFWWJDQUFhaWdDQkVZRVFDQUhLQUlJSUFKQkdHd2dBR29vQWdoR0RRY0xDd3NnQWtFQmFpRUNEQUFBQ3dBTElBTkJBV29oQXd3QkN3c01BUXNnQ0VFQk5nSU1JQUloQVF3QkN5QUJRWDgyQWd4QmhNUURRUUJCaE1RREtBSUFJZ0VFZnlBQkJVSG92Z05CQUJBVFFYOXFyVGNEQUVHRXhBTW9BZ0FMUVFGcUlnRWdBVUdBQVVZYk5nSUFRUUFoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFCUlFSQVFYOGhBUXdCQzBIb3ZnTkI2TDRES1FNQVFxMysxZVRVaGYybzJBQitRZ0Y4SWc0M0F3QWdBYklnRGtJaGlLZXlsRU1BQUFBd2xCQkRJUVJCQUNFQ1FRQWhBUU5BQWtBQ1FBSkFBa0FnQWtFWWJDQUFhaUlGS0FJTUlnTkJmMnNPQWdBQkFnc2dBeUVCREFRTElBRWdCRVlOQVNBQlFRRnFJUUVMSUFKQkFXb2hBZ3dCQ3dzZ0JVRUJOZ0lNSUFJaEFRc0xJQVlrQmlBQkM1Z0VBZ0YvRVgwakJpRUVJd1pCTUdva0JpQUFCRUFnQUVFSWFpQUJJQVFRK2dFZ0Fpb0NBQ0lMSUFRcUFnQWlGSlFoRGlBQ0tnSUVJZ1lnQkNvQ0JDSU1sQ0VQSUFZZ0JDb0NGQ0lObENFUUlBUXFBaXdpQ2lBTElBUXFBaUFpQjVRaUNTQUdJQVFxQWlRaUNKUWlCWktTSVJFZ0NpQUxRd0FBSUVHU0loSWdCNVFnQlpLU0lSTWdDaUFKSUFaREFBQWdRWklpQmlBSWxKS1NJUW9nQkNvQ0hDSUhJQXNnQkNvQ0VDSUlsQ0lGSUFZZ0RaU1NraUFLbFNFTElBUXFBZ3dpQ1NBT0lBWWdESlNTa2lBS2xTRU1CU0FDS2dJQUlnc2dBU29DQUNJVWxDRU9JQUlxQWdRaUJpQUJLZ0lFSWd5VUlROGdCaUFCS2dJVUlnMlVJUkFnQVNvQ0xDSUtJQXNnQVNvQ0lDSUhsQ0lKSUFZZ0FTb0NKQ0lJbENJRmtwSWhFU0FLSUF0REFBQWdRWklpRWlBSGxDQUZrcEloRXlBS0lBa2dCa01BQUNCQmtpSUdJQWlVa3BJaENpQUJLZ0ljSWdjZ0N5QUJLZ0lRSWdpVUlnVWdCaUFObEpLU0lBcVZJUXNnQVNvQ0RDSUpJQTRnQmlBTWxKS1NJQXFWSVF3TElBY2dFaUFJbENBUWtwSWdFNVVoRFNBSklCSWdGSlFnRDVLU0lCT1ZJUlVnQnlBRklCQ1NraUFSbFNFSElBa2dEaUFQa3BJZ0VaVWhDU0FWSUFtVElnVWdCWlFnRFNBSGt5SUZJQVdVa2lJSUlBd2dDWk1pQlNBRmxDQUxJQWVUSWdVZ0JaU1NJZ1ZkSVFBZ0F5QUZJQWdnQUJ1UlExeVBJa0NVT0FJQUlBTWdDQ0FGSUFBYmtVTmNqeUpBbERnQ0JDQUVKQVpCQUFzZkFDQUFCSDhnQUNBQklBSWdBeENHQkFWQkFDQUJJQUlnQXhDR0JBc2FDd1lBUVJ3UUFnc0dBRUViRUFJTEJnQkJGeEFDQ3dZQVFSSVFBZ3NJQUVFUEVBSkNBQXNJQUVFTUVBSkJBQXNJQUVFS0VBSkJBQXVNQVFFQ2Z5TUZRUUZxSkFVZ0FDTUZOZ0lBQTBBZ0JDQURTQVJBSUFSQkEzUWdBbW9vQWdCRkJFQWdCRUVEZENBQ2FpTUZOZ0lBSUFSQkEzUkJCR29nQW1vZ0FUWUNBQ0FFUVFOMFFRaHFJQUpxUVFBMkFnQWdBeEFESUFJUEN5QUVRUUZxSVFRTUFRc0xJQUFnQVNBQ0lBTkJBWFFpQUVFQmFrRURkQkRvQVNBQUVJOEVJUVVnQUJBRElBVUxyd3dCQjM4Z0FDQUJhaUVGSUFBb0FnUWlBMEVCY1VVRVFBSkFJQUFvQWdBaEFpQURRUU54UlFSQUR3c2dBU0FDYWlFQklBQWdBbXNpQUVIQTBRTW9BZ0JHQkVBZ0JTZ0NCQ0lDUVFOeFFRTkhEUUZCdE5FRElBRTJBZ0FnQlNBQ1FYNXhOZ0lFSUFBZ0FVRUJjallDQkNBRklBRTJBZ0FQQ3lBQ1FRTjJJUVFnQWtHQUFra0VRQ0FBS0FJSUlnSWdBQ2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMREFFTElBQW9BaGdoQnlBQUlBQW9BZ3dpQWtZRVFBSkFJQUJCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdBQ2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFIQkVBZ0FDQUFLQUljSWdOQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBZEJFR29pQXlBSFFSUnFJQUFnQXlnQ0FFWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSE5nSVlJQUFvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBQW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBVW9BZ1FpQjBFQ2NRUkFJQVVnQjBGK2NUWUNCQ0FBSUFGQkFYSTJBZ1FnQUNBQmFpQUJOZ0lBSUFFaEF3VWdCVUhFMFFNb0FnQkdCRUJCdU5FRElBRkJ1TkVES0FJQWFpSUJOZ0lBUWNUUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkVIQTBRTW9BZ0FnQUVjRVFBOExRY0RSQTBFQU5nSUFRYlRSQTBFQU5nSUFEd3NnQlVIQTBRTW9BZ0JHQkVCQnRORURJQUZCdE5FREtBSUFhaUlCTmdJQVFjRFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQVBDeUFIUVFOMklRUWdCMEdBQWtrRVFDQUZLQUlJSWdJZ0JTZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xCUUpBSUFVb0FoZ2hDQ0FGS0FJTUlnSWdCVVlFUUFKQUlBVkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0JTZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUlCRUFnQlNnQ0hDSURRUUowUWR6VEEyb2lCQ2dDQUNBRlJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFoQkVHb2lBeUFJUVJScUlBTW9BZ0FnQlVZYklBSTJBZ0FnQWtVTkFnc2dBaUFJTmdJWUlBVW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFVb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFBZ0FTQUhRWGh4YWlJRFFRRnlOZ0lFSUFBZ0Eyb2dBellDQUNBQVFjRFJBeWdDQUVZRVFFRzAwUU1nQXpZQ0FBOExDeUFEUVFOMklRSWdBMEdBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlBMEVCSUFKMElnSnhCSDhnQVVFSWFpSURLQUlBQlVHczBRTWdBaUFEY2pZQ0FDQUJRUWhxSVFNZ0FRc2hBaUFESUFBMkFnQWdBaUFBTmdJTUlBQWdBallDQ0NBQUlBRTJBZ3dQQ3lBRFFRaDJJZ0VFZnlBRFFmLy8vd2RMQkg5Qkh3VWdBU0FCUVlEK1AycEJFSFpCQ0hFaUFuUWlCRUdBNEI5cVFSQjJRUVJ4SVFGQkRpQUJJQUp5SUFRZ0FYUWlBVUdBZ0E5cVFSQjJRUUp4SWdKeWF5QUJJQUowUVE5MmFpSUJRUUYwSUFNZ0FVRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFFZ0FDQUNOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFoQUNRRUd3MFFNb0FnQWlCRUVCSUFKMElnWnhSUVJBUWJEUkF5QUVJQVp5TmdJQUlBRWdBRFlDQUF3QkN5QURJQUVvQWdBaUFTZ0NCRUY0Y1VZRVFDQUJJUUlGQWtBZ0EwRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRUURRQ0FCUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQWdSQUlBUkJBWFFoQkNBRElBSW9BZ1JCZUhGR0RRSWdBaUVCREFFTEN5QUdJQUEyQWdBTUFnc0xJQUlvQWdnaUFTQUFOZ0lNSUFJZ0FEWUNDQ0FBSUFFMkFnZ2dBQ0FDTmdJTUlBQkJBRFlDR0E4TElBQWdBVFlDR0NBQUlBQTJBZ3dnQUNBQU5nSUlDODBCQVFOL1FlLy8vLzhESUFGcklBSkpCRUFRQUFzZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElRVWdBVUhuLy8vL0FVa0VRRUVDSUFGQkFYUWlCeUFCSUFKcUlnSWdBaUFIU1JzaUFrRUVha0Y4Y1NBQ1FRSkpHeUlDUWYvLy8vOERTd1JBRUFBRklBSWhCZ3NGUWUvLy8vOERJUVlMSUFaQkFuUVFVU0VDSUFRRVFDQUNJQVVnQkJDbkFRc2dBeUFFYXlJREJFQWdBaUFFUVFKMGFpQUZJQVJCQW5ScUlBTVFwd0VMSUFGQkFVY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDNkFDQVFSL0l3WWhDQ01HUVJCcUpBWkI3di8vL3dNZ0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEJTUVJBUVFJZ0FVRUJkQ0lMSUFFZ0Ftb2lBaUFDSUF0Skd5SUNRUVJxUVh4eElBSkJBa2tiSWdKQi8vLy8vd05MQkVBUUFBVWdBaUVLQ3dWQjcvLy8vd01oQ2dzZ0NrRUNkQkJSSVFJZ0JBUkFJQUlnQ1NBRUVLY0JDeUFHQkVBZ0JFRUNkQ0FDYWlBSElBWVFwd0VMSUFNZ0JXc2lBeUFFYXlJSEJFQWdCRUVDZENBQ2FpQUdRUUowYWlBRVFRSjBJQWxxSUFWQkFuUnFJQWNRcHdFTElBRkJBVWNFUUNBSkVEZ0xJQUFnQWpZQ0FDQUFJQXBCZ0lDQWdIaHlOZ0lJSUFBZ0F5QUdhaUlBTmdJRUlBaEJBRFlDQUNBQVFRSjBJQUpxSUFnUWJpQUlKQVlMa0FFQkEzOGpCaUVESXdaQkVHb2tCaUFCUWUvLy8vOERTd1JBRUFBTElBRkJBa2tFUUNBQUlBRTZBQXNnQUNFRUJTQUJRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FUWUNCQXNMSUFFRVFDQUVJQUlnQVJEckJBc2dBMEVBTmdJQUlBRkJBblFnQkdvZ0F4QnVJQU1rQmd2dUFRRURmeU1HSVFnakJrRVFhaVFHUVc0Z0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEhTUVIvUVFzZ0FVRUJkQ0lLSUFFZ0Ftb2lBaUFDSUFwSkd5SUNRUkJxUVhCeElBSkJDMGtiQlVGdkN5SUtFRkVoQWlBRUJFQWdBaUFKSUFRUXFBRUxJQVlFUUNBQ0lBUnFJQWNnQmhDb0FRc2dBeUFGYXlJRElBUnJJZ2NFUUNBR0lBSWdCR3BxSUFVZ0JDQUphbW9nQnhDb0FRc2dBVUVLUndSQUlBa1FPQXNnQUNBQ05nSUFJQUFnQ2tHQWdJQ0FlSEkyQWdnZ0FDQURJQVpxSWdBMkFnUWdDRUVBT2dBQUlBQWdBbW9nQ0JCZklBZ2tCZ3NXQUNBQkJFQWdBQ0FDRUVKQi93RnhJQUVRUlJvTEMzSUJBMzhqQmlFREl3WkJFR29rQmlBQlFXOUxCRUFRQUFzZ0FVRUxTUVJBSUFBZ0FUb0FDd1VnQUNBQlFSQnFRWEJ4SWdRUVVTSUZOZ0lBSUFBZ0JFR0FnSUNBZUhJMkFnZ2dBQ0FCTmdJRUlBVWhBQXNnQUNBQklBSVFsUVFnQTBFQU9nQUFJQUFnQVdvZ0F4QmZJQU1rQmd2NkZRTU1md0YrQW53akJpRUxJd1pCMEFGcUpBWWdDMEhJQVdvaERTQUxRY0FCYWlFT0lBdEI0QUJxSVF3Z0F5Z0NCQ0VLQTBBZ0J5QUtTQVJBSUFNb0FnQWlDQ0FIUWNBQ2JHb2hDU0FIUWNBQ2JDQUlhaWdDQkFSQUlBZEJ3QUpzSUFocUlSQkJBQ0VGUVg4aEJnTkFJQVVnQWtnRVFBSkFBa0FDUUNBRlFRaDBJQUZxS0FJTUlnOE5BQ0FGUVFoMElBRnFLUVA0QVNJUlVBMEFJQkVnRUNrRHVBSlJEUUVNQWdzZ0R5QUpLQUlBUmcwQURBRUxJQVZCQ0hRZ0FXb3JBekFpRWlBREt3TjRZMFVFUUNBR1FYOUdCSDhnQlFVZ0JrRUlkQ0FCYWlzRE1DQVNZd1IvSUFVRklBWUxDeUVHQ3dzZ0JVRUJhaUVGREFFTEN5QUhRY0FDYkNBSWFpQUdOZ0t3QWlBR1FYOUtCRUFnQmtFSWRDQUJhaUFHUVFoMElBRnFLQUlZTmdJUUN3VkJmeUVHUVFBaEJRTkFJQVVnQWtnRVFDQUZRUWgwSUFGcUtBSUlJQWtvQWdCR0JFQWdCVUVJZENBQmFpc0RLQ0lTSUFNckEzQmpSUVJBSUFaQmYwWUVmeUFGQlNBR1FRaDBJQUZxS3dNb0lCSmpCSDhnQlFVZ0Jnc0xJUVlMQ3lBRlFRRnFJUVVNQVFzTElBZEJ3QUpzSUFocUlBWTJBckFDSUFaQmYwb0VRQ0FHUVFoMElBRnFJQVpCQ0hRZ0FXb29BaFEyQWhBTEN5QUhRUUZxSVFjTUFRc0xRUUFoQlVFQUlRSkJBQ0VHUVFBaEJ3TkFJQWNnQ2tnRVFDQURLQUlBSWdvZ0IwSEFBbXhxS0FLd0FpSUlRUUJPQkVBQ1FDQUFJQWhCQ0hRZ0FXb2lDU0FIUWNBQ2JDQUthaXNEQ0NBTEVOb0RSQUFBQUFBQUFCQkFaQVJBSUFNb0FnQWdCMEhBQW14cVFYODJBckFDSUFoQkNIUWdBV29pQ0NnQzdBRU5BU0FJUVFjMkF1d0JEQUVMSUFWRklBSWdDU2dDQUNJSVNISUVRRUVBSVFJRGZ5QUNRUU5HQkg4Z0J5RUdJQWdGUVFBaEJnTkFJQVpCQkVjRVFDQUNRUVYwSUF4cUlBWkJBM1JxSUFKQkJYUWdDMm9nQmtFRGRHb3JBd0E1QXdBZ0JrRUJhaUVHREFFTEN5QUNRUUZxSVFJTUFRc0xJUUlMSUFWQkFXb2hCUXNMSUFkQkFXb2hCeUFES0FJRUlRb01BUXNMQWtBQ1FDQUZSUTBBSUFVZ0F5Z0NnQUZJRFFBZ0RDQURLQUlBSUFaQndBSnNha0h3QUdvZ0N4Q3pBaUFGUVFaMEVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMSUFWQjRBQnNFRVFpQmtVRVFFRUFRUU5CdWRnQ0lBMFFQVUVCRUFFTElBVkJBblFoQ0NBREtBSUVJUkJCQUNFRlFRQWhBZ05BSUFVZ0VFZ0VRQ0FES0FJQUlnb2dCVUhBQW14cUtBS3dBaUlKUVFCT0JFQWdBa0VEZENJTlFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRUWdDVUVJZENBQmFpZ0NFQ0lPYTBFRUVFOGlEMEVFZEdvckF3QTVBd0FnRFVFQmNrRURkQ0FIYWlBSlFRaDBJQUZxSUE5QkJIUnFLd093QVRrREFDQU5RUUp5UVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFVZ0RtdEJCQkJQSWc5QkJIUnFLd01BT1FNQUlBMUJBM0pCQTNRZ0Iyb2dDVUVJZENBQmFpQVBRUVIwYWlzRHNBRTVBd0FnRFVFRWNrRURkQ0FIYWlBSlFRaDBJQUZxUWFnQmFrRUdJQTVyUVFRUVR5SVBRUVIwYWlzREFEa0RBQ0FOUVFWeVFRTjBJQWRxSUFsQkNIUWdBV29nRDBFRWRHb3JBN0FCT1FNQUlBMUJCbkpCQTNRZ0Iyb2dDVUVJZENBQmFrR29BV3BCQnlBT2EwRUVFRThpRGtFRWRHb3JBd0E1QXdBZ0RVRUhja0VEZENBSGFpQUpRUWgwSUFGcUlBNUJCSFJxS3dPd0FUa0RBQ0FDUVF4c0lnbEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5QUJPUU1BSUFsQkFYSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5Z0JPUU1BSUFsQkFuSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErQUJPUU1BSUFsQkEzSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErZ0JPUU1BSUFsQkJHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvQUJPUU1BSUFsQkJXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvZ0JPUU1BSUFsQkJtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0QUNPUU1BSUFsQkIycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0Z0NPUU1BSUFsQkNHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1QUNPUU1BSUFsQkNXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1Z0NPUU1BSUFsQkNtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2QUNPUU1BSUFsQkMycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2Z0NPUU1BSUFKQkFXb2hBZ3NnQlVFQmFpRUZEQUVMQ3lBRVFRQkhJUVFnQXlnQ2FBUkFJQUFnQ3lBSElBWWdDQ0FNRUw4Q0loSWdBQ0FEUVFocUlnSWdCeUFHSUFnZ0FoQy9BaUlUWXlFRklBUUVRQ0FGQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpucFB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1ablpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUUFBQUFBQUFBQUFCQ05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FEUVFocUlBQkJCWFJxSUFKQkEzUnFJQUJCQlhRZ0RHb2dBa0VEZEdvckF3QTVBd0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEJTQVRJUklMQ3dzTEN3VWdCUVJBUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQTBFSWFpQUFRUVYwYWlBQ1FRTjBhaUFBUVFWMElBeHFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN3VWdFeUVTQ3dzRklBUWdBQ0FMSUFjZ0JpQUlJQU5CQ0dvaUFoQy9BaUlTUkFBQUFBQUFBRFJBWm5FRVFDQUFLQUlBUkpxWm1abVptZWsvRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCSWhKRUFBQUFBQUFBTkVCbUJId2dBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dBaENPQVNJU1JBQUFBQUFBQURSQVpnUjhJQUFvQWdCRW1wbVptWm1aMlQ4UWpRRWdBQ0FMSUFjZ0JpQUlJQUlRamdFaUVrUUFBQUFBQUFBMFFHWUVmQ0FBS0FJQVJBQUFBQUFBQUFBQUVJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkJTQVNDd1VnRWdzRklCSUxJUklMQ3lBR0VEZ2dCeEE0QWtBZ0VrUUFBQUFBQUFBMFFHTUVRQ0FEUVFFMkFtZ01BUXNnQTBFQU5nSm9JQU1vQWdRaEFrRUFJUUFEUUNBQUlBSk9EUUVnQXlnQ0FDQUFRY0FDYkdvb0FyQUNJZ1JCQUU0RVFDQUVRUWgwSUFGcUlnUW9BdXdCUlFSQUlBUkJDRFlDN0FFTEN5QUFRUUZxSVFBTUFBQUxBQXNNQVFzZ0EwRUFOZ0pvQ3lBTEpBWUx5UXdDRUg4UmZDTUdJUVlqQmtHQUFXb2tCaUFHUWZnQWFpRU9JQVpCOEFCcUlROGdCa0hvQUdvaEVDQUdRZUFBYWlFUklBWkIyQUJxSVJJZ0JrSFFBR29oQ0NBR1FjZ0FhaUVKSUFOQkJFZ0VmMEYvQlFKL0EwQWdCU0FEU0FSQUlBVkJBV29oRTBGL0lBVkJHR3dnQW1vckF4QkVBQUFBQUFBQUFBQmlEUUlhSUJNaEJRd0JDd3NnQUNzREFFUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUt3TWdSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBeWhFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBRUZBYXlzREFFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TklSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMUJFQUFBQUFBQUE4RDlpQkg5QmZ3VWdBQ3NER0VRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dNNFJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExaEVBQUFBQUFBQUFBQmlCSDlCZndVZ0EwRUJkQ0lGUVFnUWl3RWlDa1VFUUVFQVFRTkI5YXdCSUFrUVBVRi9EQW9MSUFWQkFSQ0xBU0lKUlFSQUlBb1FTVUVBUVFOQmo2MEJJQWdRUFVGL0RBb0xRUUFoQ0FOQUlBTWdDRWNFUUNBS0tBSUFJZ2NnQ0VFRWRDSUZRUU4wYWlBSVFSaHNJQUpxSWdzckF3QTVBd0FnQlVFQmNrRURkQ0FIYWlBSVFSaHNJQUpxSWd3ckF3ZzVBd0FnQlVFQ2NrRURkQ0FIYWtRQUFBQUFBQUR3UHprREFDQUZRUU55UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkJISkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVGY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRWnlRUU4wSUFkcUlBc3JBd0FnQ0VFRWRDQUJhaUlOS3dNQW9wbzVBd0FnQlVFSGNrRURkQ0FIYWlBTUt3TUlJQTByQXdDaW1qa0RBQ0FGUVFoeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJDWEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFS2NrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUXR5UVFOMElBZHFJQXNyQXdBNUF3QWdCVUVNY2tFRGRDQUhhaUFNS3dNSU9RTUFJQVZCRFhKQkEzUWdCMnBFQUFBQUFBQUE4RDg1QXdBZ0JVRU9ja0VEZENBSGFpQUxLd01BSUFoQkJIUWdBV29pQ3lzRENLS2FPUU1BSUFWQkQzSkJBM1FnQjJvZ0RDc0RDQ0FMS3dNSW9wbzVBd0FnQ1NnQ0FDSUhJQWhCQVhRaUJVRURkR29nRFNzREFEa0RBQ0FGUVFGeVFRTjBJQWRxSUFzckF3ZzVBd0FnQ0VFQmFpRUlEQUVMQ3lBS0VLQURJZ0ZGQkVBZ0NoQkpJQWtRU1VFQVFRTkJxYTBCSUJJUVBVRi9EQW9MSUFFZ0NoRFpBU0lEUlFSQUlBb1FTU0FKRUVrZ0FSQkpRUUJCQTBIRHJRRWdFUkE5UVg4TUNnc2dBU0FKRU5rQklnVkZCRUFnQ2hCSklBa1FTU0FCRUVrZ0F4QkpRUUJCQTBIZHJRRWdFQkE5UVg4TUNnc2dBeERXQVVFQVNBUkFJQW9RU1NBSkVFa2dBUkJKSUFNUVNTQUZFRWxCQUVFRFFmZXRBU0FQRUQxQmZ3d0tDeUFESUFVUTJRRWlCd1IvSUFjb0FnQWlBaXNETUNFV0lBSXJBd0FnRmlBQUt3TVFJaDJpb1NBQ0t3TVlJQllnQUNzRE1DSWJvcUVnQUNzREtDSWNveUlaSUFBckF3Z2lIcUtoSUFBckF3QWlINk1oR0NBQ0t3TWdJQnNnQWlzRE9DSVZvcUVnSEtNaEZ5QUNLd01JSUIwZ0ZhS2hJQjRnRjZLaElCK2pJUm9nQWlzREtDQWJvU0Fjb3lFYklBSXJBeEFoSkNBS0VFa2dDUkJKSUFFUVNTQURFRWtnQlJCSklBY1FTU0FHSUJnZ0ZpQVdvaUFaSUJtaUlCZ2dHS0tnb0o4aUdLTTVBd0FnQmlBWklCaWpPUU1JSUFZZ0ZpQVlvemtERUNBR0lCb2dGU0FWb2lBWElCZWlJQm9nR3FLZ29KOGlGcU01QXhnZ0JpQVhJQmFqT1FNZ0lBWWdGU0FXb3prREtDQUdFUElKSUFZckF3Z2lHU0FHS3dNb0locWlJQVlyQXhBaUhDQUdLd01nSWlDaW9TRVZJQndnQmlzREdDSWhvaUFhSUFZckF3QWlJcUtoSVJjZ0JpQVZJQ0FnSXFJZ0dTQWhvcUVpSXlBam9pQVZJQldpSUJjZ0Y2S2dvSjhpRmFNaUpUa0RNQ0FHSUJjZ0ZhTWlGemtET0NBR1FVQnJJQ01nRmFNaUZUa0RBQ0FFSUNJNUF3QWdCQ0FaT1FNZ0lBUkJRR3NnSERrREFDQUVJQ0U1QXdnZ0JDQWdPUU1vSUFRZ0dqa0RTQ0FFSUNVNUF4QWdCQ0FYT1FNd0lBUWdGVGtEVUNBRUlDUWdIYUVnSGlBYm9xRWdINk1nR0NBV29FUUFBQUFBQUFEZ1A2SWlGcU01QXhnZ0JDQWJJQmFqT1FNNElBUkVBQUFBQUFBQThEOGdGcU01QTFoQkFBVWdDaEJKSUFrUVNTQUJFRWtnQXhCSklBVVFTVUVBUVFOQmthNEJJQTRRUFVGL0N3c0xDd3NMQ3dzTEN3c0xJUlFnQmlRR0lCUUxFZ0FnQUVHc29nRTJBZ0FnQUVFUWFoQkhDeElBSUFCQmhLSUJOZ0lBSUFCQkRHb1FSd3NqQVFGL0lBQkIwS0VCTmdJQUlBQW9BZ2dpQVFSQUlBQXNBQXdFUUNBQkVEZ0xDd3Q5QVFSL0lBQkJ2S0VCTmdJQUlBQkJDR29oQXdOQUlBSWdBQ2dDRENBREtBSUFJZ0ZyUVFKMVNRUkFJQUpCQW5RZ0FXb29BZ0FpQVFSQUlBRWdBU2dDQkNJRVFYOXFOZ0lFSUFSRkJFQWdBU0FCS0FJQUtBSUlRZjhCY1VHc0Eyb1JBUUFMQ3lBQ1FRRnFJUUlNQVFzTElBQkJrQUZxRUVjZ0F4Q1BDZ3ZVQ2dJUGZ3UjhJd1loQ3lNR1FjQUJhaVFHSUF0QnVBRnFJUWdnQzBHd0FXb2hEaUFMUWFnQmFpRUtJQXRCb0FGcUlRVWdDMEdRQVdvaER5QUxRVEJxSVJBZ0FTZ0NDQ0lKUVFSSUJIOUJmd1VDZndKL0lBQXJBNEFCSUFtM29oQnpJUkVnQ1VIZ0FHd1FSQ0lHUlFSQVFRQkJBMEhLMkFJZ0JSQTlRWDhNQWdzZ0NVRUVkQkJFSWdkRkJFQkJBRUVEUWNyWUFpQUtFRDBnQmhBNFFYOE1BZ3NnQ1VFRGRDSUZFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBNFFQU0FHRURnZ0J4QTRRWDhNQWdzZ0JSQkVJZzFGQkVCQkFFRURRY3JZQWlBSUVEMGdCaEE0SUFjUU9DQUpFRGhCZnd3Q0N5QVJRWDlxSWdVTFFRTWdCVUVEU2hzaEVrRUFJUW9EUUNBS1FRTkhCRUJCQUNFTUEwQWdERUVFUndSQUlBcEJCWFFnQTJvZ0RFRURkR29nQ2tFRmRDQUNhaUFNUVFOMGFpc0RBRGtEQUNBTVFRRnFJUXdNQVFzTElBcEJBV29oQ2d3QkN3c2dFa0VEZENBTmFpRU1RUUFoQ2dKQUFrQUNRQUpBQTBBQ1FDQUFJQU1nRUJDekFrRUFJUVVEUUNBRklBRW9BZ2dpQWtnRVFDQVBJQkFnQVNnQ0JDQUZRUmhzYWhDN0JFRUFTQTBDSUFFb0FnQWlBaUFGUVFSMGFpc0RBQ0FQS3dNQW9TRVdJQVZCQkhRZ0Ftb3JBd2dnRHlzRENLRWhGQ0FGUVFGMElnSkJBM1FnQjJvZ0Zqa0RBQ0FDUVFGeVFRTjBJQWRxSUJRNUF3QWdCVUVEZENBTmFpQVdJQmFpSUJRZ0ZLS2dJaFE1QXdBZ0JVRURkQ0FKYWlBVU9RTUFJQVZCQVdvaEJRd0JDd3NnRFNBQ1FRaEJFaENDQXlBQktBSUlJUUpFQUFBQUFBQUFNRUFnRENzREFFUUFBQUFBQUFBUVFLSWlGQ0FVUkFBQUFBQUFBREJBWXhzaUYwUUFBQUFBQUFBWVFLTWhGa1FBQUFBQUFBQUFBQ0VVUVFBaEJRTkFJQVVnQWtnRVFDQVVJQVZCQTNRZ0RXb3JBd0FpRkNBWFpBUjhJQllGSUJaRUFBQUFBQUFBOEQ5RUFBQUFBQUFBOEQ4Z0ZDQVhvNkVpRkNBVUlCU2lvcUdpQzZBaEZDQUZRUUZxSVFVTUFRc0xJQlFnQXJlakloUWdBQ3NEYUdNTkJTQUtCRUFnRkNBQUt3TjRZd1JBSUJRZ0ZhTWdBQ3NEY0dRTkJ3c0xJQW9nQUNnQ1lFWU5CVUVBSVFWQkFDRU9BMEFnRGlBQ1NBUkFJQTVCQTNRZ0NXb3JBd0FpRlNBWFpRUkFJQVZCQm13aUNFRURkQ0FHYWlJQ0lBQWdBeUFCS0FJRUlBNUJHR3hxRUxrRVFRQklEUVVnQWtRQUFBQUFBQUR3UHlBVklCZWpvU0lWSUJXaUloVWdBaXNEQUtJNUF3QWdDRUVCY2tFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUNha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVFYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUZha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFR2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVIYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUlha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVLYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUxha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQlVFRGRDQUhhaUFWSUE1QkFYUWlBa0VEZENBSGFpc0RBS0k1QXdBZ0JVRUJha0VEZENBSGFpQVZJQUpCQVhKQkEzUWdCMm9yQXdDaU9RTUFJQVZCQW1vaEJTQUJLQUlJSVFJTElBNUJBV29oRGd3QkN3c2dCVUVHU0EwRElBc2dCeUFHSUFVUXN3UkJBRWdOQkNBRElBc1FzZ1FnRkNFVklBcEJBV29oQ2d3QkN3c2dCaUFISUFrZ0RSQ1BBa0YvREFRTElBWWdCeUFKSUEwUWp3SkJmd3dEQ3lBR0lBY2dDU0FORUk4Q1FYOE1BZ3NnQmlBSElBa2dEUkNQQWtGL0RBRUxJQVFnRkRrREFDQUdFRGdnQnhBNElBa1FPQ0FORURoQkFBc0xJUk1nQ3lRR0lCTUxIZ0FnQUVHTW9RRTJBZ0FnQUNnQ0NCQmNSd1JBSUFBb0FnZ1Fod01MQ3hJQUlBUWdBallDQUNBSElBVTJBZ0JCQXdzRUFFRUVDeFVBSUFFb0FnQWdBU0FCTEFBTFFRQklHeHBCZnd2K0NBRU1meUFDSUFBMkFnQWdEVUVFYWlFWUlBTkJnQVJ4UlNFWklBNUJBRW9oR2dOQUlCZEJCRWNFUUFKQUFrQUNRQUpBQWtBQ1FDQUlJQmRxTEFBQURnVUFBUU1DQkFVTElBRWdBaWdDQURZQ0FBd0VDeUFCSUFJb0FnQTJBZ0FnQmlnQ0FDZ0NMQ0VQSUFaQklDQVBRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScU5nSUFJQThnRURZQ0FBd0RDeUFOTEFBTElnOUJBRWdoRUNBWUtBSUFJQTlCL3dGeElCQWJCRUFnRFNnQ0FDQU5JQkFiS0FJQUlSQWdBaUFDS0FJQUlnOUJCR28yQWdBZ0R5QVFOZ0lBQ3d3Q0N5QU1MQUFMSWc5QkFFZ2hFQ0FaSUF3b0FnUWdEMEgvQVhFZ0VCc2lFMFZ5UlFSQUlBd29BZ0FnRENBUUd5SVBJQk5CQW5ScUlSRWdBaWdDQUNJUUlSSURRQ0FQSUJGSEJFQWdFaUFQS0FJQU5nSUFJQkpCQkdvaEVpQVBRUVJxSVE4TUFRc0xJQUlnRTBFQ2RDQVFhallDQUFzTUFRc2dBaWdDQUNFVUlBUkJCR29nQkNBSEd5SVdJUVFEUUFKQUlBUWdCVThOQUNBR0tBSUFLQUlNSVE4Z0JrR0FFQ0FFS0FJQUlBOUJQM0ZCeWdGcUVRUUFSUTBBSUFSQkJHb2hCQXdCQ3dzZ0dnUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCWkxjUVJBSUFSQmZHb2lCQ2dDQUNFUklBSWdBaWdDQUNJUVFRUnFOZ0lBSUJBZ0VUWUNBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJc0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVUSUE4aEVTQUNLQUlBSVJBRFFDQVFRUVJxSVE4Z0VVRUFTZ1JBSUJBZ0V6WUNBQ0FSUVg5cUlSRWdEeUVRREFFTEN5QUNJQTgyQWdBZ0VDQUpOZ0lBQ3lBRUlCWkdCRUFnQmlnQ0FDZ0NMQ0VFSUFaQk1DQUVRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScUlnUTJBZ0FnRHlBUU5nSUFCU0FMTEFBTElnOUJBRWdoRUNBTEtBSUVJQTlCL3dGeElCQWJCSDhnQ3lnQ0FDQUxJQkFiTEFBQUJVRi9DeUVQUVFBaEVFRUFJUklnQkNFUkEwQWdFU0FXUndSQUlBSW9BZ0FoRlNBUElCSkdCSDhnQWlBVlFRUnFJaE0yQWdBZ0ZTQUtOZ0lBSUFzc0FBc2lEMEVBU0NFVklCQkJBV29pQkNBTEtBSUVJQTlCL3dGeElCVWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZSdHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCSWhEd3RCQUNFU0lCTUZJQkFoQkNBVkN5RVFJQkZCZkdvaUVTZ0NBQ0VUSUFJZ0VFRUVhallDQUNBUUlCTTJBZ0FnQkNFUUlCSkJBV29oRWd3QkN3c2dBaWdDQUNFRUN5QUVJQlJHQkg4Z0ZnVURRQ0FVSUFSQmZHb2lCRWtFUUNBVUtBSUFJUThnRkNBRUtBSUFOZ0lBSUFRZ0R6WUNBQ0FVUVFScUlSUU1BUVVnRmlFRURBTUxBQUFMQUFzaEJBc2dGMEVCYWlFWERBRUxDeUFOTEFBTElnUkJBRWdoQnlBWUtBSUFJQVJCL3dGeElBY2JJZ1pCQVVzRVFDQU5LQUlBSWdWQkJHb2dHQ0FIR3lFRUlBWkJBblFnQlNBTklBY2JhaUlISUFScklRWWdBaWdDQUNJRklRZ0RRQ0FFSUFkSEJFQWdDQ0FFS0FJQU5nSUFJQWhCQkdvaENDQUVRUVJxSVFRTUFRc0xJQUlnQmtFQ2RrRUNkQ0FGYWpZQ0FBc0NRQ0FEUWJBQmNVRVlkRUVZZFVFUWF5SURSUTBBSUFOQkVFWUVRQ0FCSUFJb0FnQTJBZ0FNQVFzZ0FTQUFOZ0lBQ3d2WkJRRUZmeU1HSVFvakJrRVFhaVFHSUFwQkRHb2hDeUFLSUFBRWZ5QUNRZmpQQXhBNkJTQUNRZkRQQXhBNkN5SUFJQUVFZnlBTElBQWdBQ2dDQUNnQ0xFRS9jVUd5QldvUkF3QWdBeUFMS0FJQU5nQUFJQUFvQWdBb0FpQUZJQXNnQUNBQUtBSUFLQUlvUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSEF0QlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUVJQUFnQUNnQ0FDZ0NERUgvQUhGQkNHb1JBQUEyQWdBZ0JTQUFJQUFvQWdBb0FoQkIvd0J4UVFocUVRQUFOZ0lBSUFvZ0FDQUFLQUlBS0FJVVFUOXhRYklGYWhFREFDQUdMQUFMUVFCSUJFQUNmeUFHS0FJQUlRMGdDMEVBT2dBQUlBMExJQXNRWHlBR1FRQTJBZ1FnQml3QUMwRUFTQVJBSUFZb0FnZ2FJQVlvQWdBUU9DQUdRUUEyQWdnTEJTQUxRUUE2QUFBZ0JpQUxFRjhnQmtFQU9nQUxDeUFHSUFvcEFnQTNBZ0FnQmlBS0tBSUlOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFwcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBS0VFY2dDaUFBSUFBb0FnQW9BaGhCUDNGQnNnVnFFUU1BSUFjc0FBdEJBRWdFUUFKL0lBY29BZ0FoRGlBTFFRQTJBZ0FnRGdzZ0N4QnVJQWRCQURZQ0JDQUhMQUFMUVFCSUJFQWdCeWdDQ0JvZ0J5Z0NBQkE0SUFkQkFEWUNDQXNGSUF0QkFEWUNBQ0FISUFzUWJpQUhRUUE2QUFzTElBY2dDaWtDQURjQ0FDQUhJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBSklBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lRR0M3WUlBUXAvSUFJZ0FEWUNBQ0FEUVlBRWNVVWhGeUFPUVFCS0lSZ0RRQ0FWUVFSSEJFQUNRQUpBQWtBQ1FBSkFBa0FnQ0NBVmFpd0FBQTRGQUFFREFnUUZDeUFCSUFJb0FnQTJBZ0FNQkFzZ0FTQUNLQUlBTmdJQUlBWW9BZ0FvQWh3aER5QUdRU0FnRDBFL2NVR0tBV29SQWdBaEVDQUNJQUlvQWdBaUQwRUJhallDQUNBUElCQTZBQUFNQXdzZ0RTd0FDeUlQUVFCSUlSQWdEU2dDQkNBUFFmOEJjU0FRR3dSQUlBMG9BZ0FnRFNBUUd5d0FBQ0VRSUFJZ0FpZ0NBQ0lQUVFGcU5nSUFJQThnRURvQUFBc01BZ3NnREN3QUN5SVBRUUJJSVJBZ0Z5QU1LQUlFSUE5Qi93RnhJQkFiSWc5RmNrVUVRQ0FQSUF3b0FnQWdEQ0FRR3lJUGFpRVFJQUlvQWdBaEVRTkFJQThnRUVjRVFDQVJJQThzQUFBNkFBQWdFVUVCYWlFUklBOUJBV29oRHd3QkN3c2dBaUFSTmdJQUN3d0JDeUFDS0FJQUlSSWdCRUVCYWlBRUlBY2JJaE1oQkFOQUFrQWdCQ0FGVHcwQUlBUXNBQUFpRDBGL1RBMEFJQVlvQWdnZ0QwRUJkR291QVFCQmdCQnhSUTBBSUFSQkFXb2hCQXdCQ3dzZ0dBUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCTkxjUVJBSUFSQmYyb2lCQ3dBQUNFUklBSWdBaWdDQUNJUVFRRnFOZ0lBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJY0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVSQTBBZ0FpQUNLQUlBSWhCQkFXbzJBZ0FnRDBFQVNnUkFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFnQ1RvQUFBc2dCQ0FUUmdSQUlBWW9BZ0FvQWh3aEJDQUdRVEFnQkVFL2NVR0tBV29SQWdBaER5QUNJQUlvQWdBaUJFRUJhallDQUNBRUlBODZBQUFGQWtBZ0N5d0FDeUlQUVFCSUlSQWdDeWdDQkNBUFFmOEJjU0FRR3dSL0lBc29BZ0FnQ3lBUUd5d0FBQVZCZndzaEQwRUFJUkZCQUNFVUlBUWhFQU5BSUJBZ0UwWU5BU0FQSUJSR0JFQWdBaUFDS0FJQUlnUkJBV28yQWdBZ0JDQUtPZ0FBSUFzc0FBc2lEMEVBU0NFV0lCRkJBV29pQkNBTEtBSUVJQTlCL3dGeElCWWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZodHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCUWhEd3RCQUNFVUJTQVJJUVFMSUJCQmYyb2lFQ3dBQUNFV0lBSWdBaWdDQUNJUlFRRnFOZ0lBSUJFZ0Zqb0FBQ0FFSVJFZ0ZFRUJhaUVVREFBQUN3QUxDeUFDS0FJQUlnUWdFa1lFZnlBVEJRTkFJQklnQkVGL2FpSUVTUVJBSUJJc0FBQWhEeUFTSUFRc0FBQTZBQUFnQkNBUE9nQUFJQkpCQVdvaEVnd0JCU0FUSVFRTUF3c0FBQXNBQ3lFRUN5QVZRUUZxSVJVTUFRc0xJQTBzQUFzaUJFRUFTQ0VHSUEwb0FnUWdCRUgvQVhFZ0Joc2lCVUVCU3dSQUlBMG9BZ0FnRFNBR0d5SUVJQVZxSVFVZ0FpZ0NBQ0VHQTBBZ0JTQUVRUUZxSWdSSEJFQWdCaUFFTEFBQU9nQUFJQVpCQVdvaEJnd0JDd3NnQWlBR05nSUFDd0pBSUFOQnNBRnhRUmgwUVJoMVFSQnJJZ05GRFFBZ0EwRVFSZ1JBSUFFZ0FpZ0NBRFlDQUF3QkN5QUJJQUEyQWdBTEM5a0ZBUVYvSXdZaENpTUdRUkJxSkFZZ0NrRU1haUVMSUFvZ0FBUi9JQUpCNk04REVEb0ZJQUpCNE04REVEb0xJZ0FnQVFSL0lBc2dBQ0FBS0FJQUtBSXNRVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NJQVVnQ3lBQUlBQW9BZ0FvQWloQlAzRkJzZ1ZxRVFNQUlBTWdDeWdDQURZQUFDQUFLQUlBS0FJY0MwRS9jVUd5QldvUkF3QWdDQ3dBQzBFQVNBUkFBbjhnQ0NnQ0FDRU1JQXRCQURvQUFDQU1DeUFMRUY4Z0NFRUFOZ0lFSUFnc0FBdEJBRWdFUUNBSUtBSUlHaUFJS0FJQUVEZ2dDRUVBTmdJSUN3VWdDMEVBT2dBQUlBZ2dDeEJmSUFoQkFEb0FDd3NnQ0NBS0tRSUFOd0lBSUFnZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQVFnQUNBQUtBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUZJQUFnQUNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUFJQUFvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FMUVFBNkFBQWdEUXNnQ3hCZklBWkJBRFlDQkNBR0xBQUxRUUJJQkVBZ0JpZ0NDQm9nQmlnQ0FCQTRJQVpCQURZQ0NBc0ZJQXRCQURvQUFDQUdJQXNRWHlBR1FRQTZBQXNMSUFZZ0Npa0NBRGNDQUNBR0lBb29BZ2cyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0NtcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBb1FSeUFLSUFBZ0FDZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFT0lBdEJBRG9BQUNBT0N5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBa2dBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUx0U01CRzM4akJpRVBJd1pCZ0FScUpBWWdEMEgwQTJvaEdTQVBRZGdEYWlFZklBOUIxQU5xSVNBZ0QwRzhBMm9oRENBUFFiQURhaUVOSUE5QnBBTnFJUTRnRDBHWUEyb2hFU0FQUVpRRGFpRVhJQTlCa0FOcUlSd2dEMEh3QTJvaUdpQUtOZ0lBSUE5QjZBTnFJaFFnRHpZQ0FDQVVRWkVCTmdJRUlBOUI0QU5xSWhJZ0R6WUNBQ0FQUWR3RGFpSWJJQTlCa0FOcU5nSUFJQTlCeUFOcUloWkNBRGNDQUNBV1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRm1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUF4Q0FEY0NBQ0FNUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdER3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTFDQURjQ0FDQU5RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBNUNBRGNDQUNBT1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRG1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUJGQ0FEY0NBQ0FSUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdFV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQUlnQXlBWklCOGdJQ0FXSUF3Z0RTQU9JQmNRcXdvZ0NTQUlLQUlBTmdJQUlBUkJnQVJ4UVFCSElTRkJBQ0VDQW44Q1FBSkFBa0FDUUFKQUFrQURRQUpBSUJOQkJFOE5CeUFBS0FJQUlnTUVmeUFES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBQktBSUFJZ3RGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRc0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0V5QVphaXdBQUE0RkFRQURBZ1FHQ3lBVFFRTkhCRUFnQjBHQXdBQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQnlBUklBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQVVnQXlBRVFRUnFOZ0lNSUFRb0FnQUxFSTRDREFVTERBVUxJQk5CQTBjTkF3d0VDeUFOS0FJRUlBMHNBQXNpQTBIL0FYRWdBMEVBU0JzaUMwRUFJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJUWEwY0VRQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSaUVLSUF0Rklnc2dFRVZ5QkVBZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJUU1nQ3dSQUlBNG9BZ0FnRGlBT0xBQUxRUUJJR3lnQ0FDQURSdzBHSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dCa0VCT2dBQUlBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQmdzZ0RTZ0NBQ0FOSUEwc0FBdEJBRWdiS0FJQUlBTkhCRUFnQmtFQk9nQUFEQVlMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dEU0FDSUEwb0FnUWdEU3dBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN3Si9JQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lFa0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dKQ0FOS0FJQUlBMGdEU3dBQzBFQVNCc29BZ0JHQ3dSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBTklBSWdEU2dDQkNBTkxBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVVMSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QU9LQUlBSUE0Z0Rpd0FDMEVBU0Jzb0FnQkhEUWNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QUdRUUU2QUFBZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3NNQXdzQ1FBSkFJQk5CQWtrZ0FuSUVRQ0FNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNZ0V3MEJCU0FUUVFKR0lCa3NBQU5CQUVkeElDRnlSUVJBUVFBaEFnd0dDeUFNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNTUFRc01BUXNnR1NBVFFYOXFhaTBBQUVFQ1NBUkFBa0FDUUFOQUlBTWdEQ2dDQkNBS1FmOEJjU0FLUVJoMFFSaDFRUUJJSWhBYlFRSjBJQVFnRENBUUcycEhCRUFnQjBHQXdBQWdBeWdDQUNBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzTUFRc2dEQ3dBQ3lFS0lBd29BZ0FoQkFzZ0VTd0FDeUlZUVFCSUlSVWdBeUFFSUF3Z0NrRVlkRUVZZFVFQVNCc2lIU0lRYTBFQ2RTSWlJQkVvQWdRaUhpQVlRZjhCY1NJWUlCVWJTd1IvSUJBRklCRW9BZ0FnSGtFQ2RHb2lIaUFZUVFKMElCRnFJaGdnRlJzaEkwRUFJQ0pyUVFKMElCNGdHQ0FWRzJvaEZRTi9JQlVnSTBZTkF5QVZLQUlBSUIwb0FnQkdCSDhnSFVFRWFpRWRJQlZCQkdvaEZRd0JCU0FRQ3dzTElRTUxDd05BQWtBZ0F5QU1LQUlFSUFwQi93RnhJQXBCR0hSQkdIVkJBRWdpQ2h0QkFuUWdCQ0FNSUFvYmFrWU5BQ0FBS0FJQUlnUUVmeUFFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBTFJRMEFJQXNvQWd3aUNpQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMERDd3dCQ3lBRURRRkJBQ0VMQ3lBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTElBTW9BZ0JIRFFBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRVFDQUVJQVFvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQkNBS1FRUnFOZ0lNSUFvb0FnQWFDeUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c2dJUVJBSUF3c0FBc2lDa0VBU0NFRUlBd29BZ1FnQ2tIL0FYRWdCQnRCQW5RZ0RDZ0NBQ0FNSUFRYmFpQURSdzBIQ3d3Q0MwRUFJUVFnQ3lFREEwQUNRQ0FBS0FJQUlnb0VmeUFLS0FJTUloQWdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUtBa0FDUUNBTFJRMEFJQXNvQWd3aUVDQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaEN3c2dCMEdBRUNBQUtBSUFJZ29vQWd3aUVDQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTEloQWdCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQUVmeUFKS0FJQUlnb2dHaWdDQUVZRVFDQUlJQWtnR2hETkFTQUpLQUlBSVFvTElBa2dDa0VFYWpZQ0FDQUtJQkEyQWdBZ0JFRUJhZ1VnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElCQWdJQ2dDQUVaeFJRMEJJQklvQWdBaUNpQWJLQUlBUmdSQUlCUWdFaUFiRU0wQklCSW9BZ0FoQ2dzZ0VpQUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lRSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dFRUVFYWpZQ0RDQVFLQUlBR2dzTUFRc0xJQklvQWdBaUNpQVVLQUlBUnlBRVFRQkhjUVJBSUFvZ0d5Z0NBRVlFUUNBVUlCSWdHeEROQVNBU0tBSUFJUW9MSUJJZ0NrRUVhallDQUNBS0lBUTJBZ0FMSUJjb0FnQkJBRW9FUUFKQUlBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnSHlnQ0FFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQkdvMkFnd2dDaWdDQUJvTEEwQWdGeWdDQUVFQVRBMEJJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFkQmdCQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQ2lBSktBSUFJQm9vQWdCR0JFQWdDQ0FKSUJvUXpRRUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNoQkNBSklBa29BZ0FpQ2tFRWFqWUNBQ0FLSUFRMkFnQWdGeUFYS0FJQVFYOXFOZ0lBSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkVBZ0JDQUVLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVFnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFNQ1FBSkFJQXRGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFRTERBRUxJQU1OQWtFQUlRc0xJQWRCZ01BQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBc2dCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFRWFqWUNEQ0FFS0FJQUN4Q09BZ3dBQUFzQUN5QVRRUUZxSVJNTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBRW9BZ0FpQTBVTkFDQURLQUlNSWdnZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQkVVTkF3c01BUXNnQkEwQkN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJQUlzQUF0QkFFZ0VmeUFDS0FJQUJTQUNDeUFIUVFKMGFpZ0NBRWNOQUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkJHbzJBZ3dnQkNnQ0FCb0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJRb0FnQWlBQ0FTS0FJQUlnRkdCSDlCQVFVZ0hFRUFOZ0lBSUJZZ0FDQUJJQndRZUNBY0tBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpTQVJFRWNnRGhCSElBMFFSeUFNRUVjZ0ZoQkhJQlFvQWdBaEFDQVVRUUEyQWdBZ0FBUkFJQUFnRkNnQ0JFSC9BWEZCckFOcUVRRUFDeUFQSkFZZ0pRdXNBUUVGZnlBQ0tBSUFJQUFvQWdBaUF5SUdheUlGUVFGMElnUkJBU0FFRzBGL0lBVkIvLy8vL3dkSkd5RUZJQUVvQWdBaEJ5QURRUUFnQUNnQ0JFR1JBVWNpQkJzZ0JSRG9BU0lEUlFSQUVBQUxJQVFFUUNBQUlBTTJBZ0FGSUFBb0FnQWhCQ0FBSUFNMkFnQWdCQVJBSUFRZ0FDZ0NCRUgvQVhGQnJBTnFFUUVBSUFBb0FnQWhBd3NMSUFCQmtnRTJBZ1FnQVNBSElBWnJJQU5xTmdJQUlBSWdCU0FBS0FJQWFqWUNBQXVjSkFFYWZ5TUdJUkFqQmtHQUJHb2tCaUFRUWZBRGFpRWFJQkJCN1FOcUlTQWdFRUhzQTJvaElTQVFRYndEYWlFTklCQkJzQU5xSVE0Z0VFR2tBMm9oRHlBUVFaZ0RhaUVSSUJCQmxBTnFJUmNnRUVHUUEyb2hIaUFRUWVnRGFpSWJJQW8yQWdBZ0VFSGdBMm9pRlNBUU5nSUFJQlZCa1FFMkFnUWdFRUhZQTJvaUV5QVFOZ0lBSUJCQjFBTnFJaHdnRUVHUUEybzJBZ0FnRUVISUEyb2lGa0lBTndJQUlCWkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBV2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RVSUFOd0lBSUExQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FOYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRGtJQU53SUFJQTVCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU9ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEMElBTndJQUlBOUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUGFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0VVSUFOd0lBSUJGQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FSYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnQWlBRElCb2dJQ0FoSUJZZ0RTQU9JQThnRnhDdkNpQUpJQWdvQWdBMkFnQWdCRUdBQkhGQkFFY2hJa0VBSVFJQ2Z3SkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0ZFRUVUdzBISUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdBU2dDQUNJTVJRMEFJQXdvQWd3aUJDQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVF3TEFrQUNRQUpBQWtBQ1FBSkFBa0FnRkNBYWFpd0FBQTRGQVFBREFnUUdDeUFVUVFOSEJFQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMSWdOQi93RnhRUmgwUVJoMVFYOU1EUWNnQnlnQ0NDQURRUmgwUVJoMVFRRjBhaTRCQUVHQXdBQnhSUTBISUJFZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNDMEgvQVhFUXpBRU1CUXNNQlFzZ0ZFRURSdzBEREFRTElBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlMUVFBZ0R5Z0NCQ0FQTEFBTElnTkIvd0Z4SUFOQkFFZ2JJZ3hyUndSQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dDMFVpQ3lBTVJYSUVRQ0FLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwSC9BWEVoQXlBTEJFQWdEeWdDQUNBUElBOHNBQXRCQUVnYkxRQUFJQU5IRFFZZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFaQkFUb0FBQ0FQSUFJZ0R5Z0NCQ0FQTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBWUxJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5MEFBQ0FEUndSQUlBWkJBVG9BQUF3R0N5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3lBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDeUVMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0RpZ0NBQ0FPSUE0c0FBdEJBRWdiTFFBQUlBdEIvd0Z4UmdSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQlFzZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCL3dGeElBOG9BZ0FnRHlBUExBQUxRUUJJR3kwQUFFY05CeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dCa0VCT2dBQUlBOGdBaUFQS0FJRUlBOHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlMREFNTEFrQUNRQ0FVUVFKSklBSnlCRUFnRFNnQ0FDSUtJQTBnRFN3QUN5SURRUUJJSWdzYkloZ2hCQ0FVRFFFRklCUkJBa1lnR2l3QUEwRUFSM0VnSW5KRkJFQkJBQ0VDREFZTElBMG9BZ0FpQ2lBTklBMHNBQXNpQTBFQVNDSUxHeUlZSVFRTUFRc01BUXNnR2lBVVFYOXFhaTBBQUVFQ1NBUkFJQTBvQWdRZ0EwSC9BWEVnQ3hzZ0dHb2hFaUFFSVFzRFFBSkFJQXNnRWtZTkFDQUxMQUFBSWgxQmYwd05BQ0FIS0FJSUlCMUJBWFJxTGdFQVFZREFBSEZGRFFBZ0MwRUJhaUVMREFFTEN5QVJMQUFMSWhsQkFFZ2hFaUFMSUFSckloMGdFU2dDQkNJZklCbEIvd0Z4SWhrZ0VodE5CRUFnSHlBUktBSUFhaUlmSUJFZ0dXb2lHU0FTR3lFaklCOGdIV3NnR1NBZGF5QVNHeUVTQTBBZ0VpQWpSZ1JBSUFzaEJBd0VDeUFTTEFBQUlCZ3NBQUJHQkVBZ0dFRUJhaUVZSUJKQkFXb2hFZ3dCQ3dzTEN3c0RRQUpBSUFRZ0NpQU5JQU5CR0hSQkdIVkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBHRFFBZ0FDZ0NBQ0lEQkg4Z0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FNUlEwQUlBd29BZ3dpQ2lBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRTUxEQUVMSUFNTkFVRUFJUXdMSUFBb0FnQWlBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnQkMwQUFFY05BQ0FBS0FJQUlnTW9BZ3dpQ2lBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVCYWlFRUlBMHNBQXNoQXlBTktBSUFJUW9NQVFzTElDSUVRQ0FFSUEwb0FnQWdEU0FOTEFBTElnTkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBIRFFjTERBSUxRUUFoQkNBTUlRTURRQUpBSUFBb0FnQWlDZ1IvSUFvb0Fnd2lDeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFzc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2dKQUFrQWdERVVOQUNBTUtBSU1JZ3NnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTExBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoREFzQ2Z3SkFJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCSDhnQ2lBS0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQ3lJS1FmOEJjU0lMUVJoMFFSaDFRWDlNRFFBZ0J5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFBZ0NTZ0NBQ0lLSUJzb0FnQkdCRUFnQ0NBSklCc1Fwd1FnQ1NnQ0FDRUtDeUFKSUFwQkFXbzJBZ0FnQ2lBTE9nQUFJQVJCQVdvTUFRc2dGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUNFdEFBQWdDMFp4UlEwQklCTW9BZ0FpQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0MwRUJhallDRENBTExBQUFFRUlhQ3d3QkN3c2dFeWdDQUNJS0lCVW9BZ0JISUFSQkFFZHhCRUFnQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBQXNnRnlnQ0FFRUFTZ1JBQWtBZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnSUMwQUFFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc0RRQ0FYS0FJQVFRQk1EUUVnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJRVFmOEJjVUVZZEVFWWRVRi9UQTBLSUFjb0FnZ2dCRUVZZEVFWWRVRUJkR291QVFCQmdCQnhSUTBLSUFrb0FnQWdHeWdDQUVZRVFDQUlJQWtnR3hDbkJBc2dBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0xBQUFFRUlMSVFRZ0NTQUpLQUlBSWdwQkFXbzJBZ0FnQ2lBRU9nQUFJQmNnRnlnQ0FFRi9hallDQUNBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0RFVU5BQ0FNS0FJTUlnUWdEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQURSUTBFQ3d3QkN5QUREUUpCQUNFTUN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3NpQTBIL0FYRkJHSFJCR0hWQmYwd05BU0FIS0FJSUlBTkJHSFJCR0hWQkFYUnFMZ0VBUVlEQUFIRkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFQmFqWUNEQ0FFTEFBQUVFSUxRZjhCY1JETUFRd0FBQXNBQ3lBVVFRRnFJUlFNQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBZ0FTZ0NBQ0lEUlEwQUlBTW9BZ3dpQ0NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRTUxEQUVMSUFRTkFRc2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUWY4QmNTQUNMQUFMUVFCSUJIOGdBaWdDQUFVZ0Fnc2dCMm90QUFCSERRQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlVvQWdBaUFDQVRLQUlBSWdGR0JIOUJBUVVnSGtFQU5nSUFJQllnQUNBQklCNFFlQ0FlS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSkNBUkVFY2dEeEJISUE0UVJ5QU5FRWNnRmhCSElCVW9BZ0FoQUNBVlFRQTJBZ0FnQUFSQUlBQWdGU2dDQkVIL0FYRkJyQU5xRVFFQUN5QVFKQVlnSkFzWkFDQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFCQkFVRXRFSk1FQ3hrQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVFQlFTMFFsZ1FMRlFBZ0FDZ0NBQkJjUndSQUlBQW9BZ0FRaHdNTEMyTUJBWDhqQmlFR0l3WkJFR29rQmlBR1FTVTZBQUFnQmlBRU9nQUJJQVlnQlRvQUFpQUdRUUE2QUFNZ0JVSC9BWEVFUUNBR0lBVTZBQUVnQmlBRU9nQUNDeUFDSUFFZ0FpZ0NBQ0FCYXlBR0lBTWdBQ2dDQUJBZklBRnFOZ0lBSUFZa0Jnc09BQ0FBUVFocUVLc0VJQUFRT0FzS0FDQUFRUWhxRUtzRUMyd0JBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUprQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQjBBOXFJQUZCN0E1cUlBRWdBVUhrQUVnYklBRkJ4UUJJRzBHVWNXbzJBZ0FMSUFVa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUVJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhQUNhaUFGSUFSQkFCQ1ZBaUFBYXlJQVFhQUNTQVJBSUFFZ0FFRU1FRGxCREJCUE5nSUFDeUFHSkFZTGV3RUNmeU1HSVFZakJrRVFhaVFHSUFCQkNHb2lBQ2dDQUNnQ0FDRUhJQUFnQjBIL0FIRkJDR29SQUFBaEFDQUdJQU1vQWdBMkFnQWdCa0VFYWlJRElBWW9BZ0EyQWdBZ0FpQURJQUFnQUVHb0FXb2dCU0FFUVFBUWxRSWdBR3NpQUVHb0FVZ0VRQ0FCSUFCQkRCQTVRUWNRVHpZQ0FBc2dCaVFHQzdnQ0FRWi9Jd1loQXlNR1FZQUNhaVFHSUFOQndBRnFJZ0lnQVJERUNpQURRZUFBYWlJRUlBSVF1d3BCQUNFQkEwQWdBVUVEUndSQUlBRkJCWFFnQUdvaEJTQUJRUVYwSUFCcUlRWWdBVUVGZENBQWFpRUhRUUFoQWdOQUlBSkJCRWNFUUNBQlFRVjBJQU5xSUFKQkEzUnFJQVVyQXdBZ0FrRURkQ0FFYWlzREFLSWdCaXNEQ0NBRVFTQnFJQUpCQTNScUt3TUFvcUFnQnlzREVDQUVRVUJySUFKQkEzUnFLd01Bb3FBNUF3QWdBa0VCYWlFQ0RBRUxDeUFCUVFWMElBTnFJZ0lnQVVFRmRDQUFhaXNER0NBQ0t3TVlvRGtER0NBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFGQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0FVRUZkQ0FBYWlBQ1FRTjBhaUFCUVFWMElBTnFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QURKQVlMMEFFQkJIOGpCaUVFSXdaQk1Hb2tCaUFFUVJocUlnVkJCallDQkNBRlFRRTJBZ2dnQlNBQU5nSUFJQVJCREdvaUJpQUROZ0lFSUFaQkFUWUNDQ0FHSUFFMkFnQWdCQ0FETmdJRUlBUkJCallDQ0NBRUlBSTJBZ0FnQkJDZ0F5SUFCSDhDZnlBQUlBUVEyUUVpQVVVRVFDQUFFRWxCZnd3QkN5QUFJQVlRMlFFaUFrVUVRQ0FBRUVrZ0FSQkpRWDhNQVFzZ0FSRFdBVUVBU0FSL0lBQVFTU0FCRUVrZ0FoQkpRWDhGSUFVZ0FTQUNFSzBDR2lBQUVFa2dBUkJKSUFJUVNVRUFDd3NGUVg4TElRY2dCQ1FHSUFjTGJBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbWdFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVIUUQyb2dBVUhzRG1vZ0FTQUJRZVFBU0JzZ0FVSEZBRWdiUVpSeGFqWUNBQXNnQlNRR0Mzc0JBbjhqQmlFR0l3WkJFR29rQmlBQVFRaHFJZ0FvQWdBb0FnUWhCeUFBSUFkQi93QnhRUWhxRVFBQUlRQWdCaUFES0FJQU5nSUFJQVpCQkdvaUF5QUdLQUlBTmdJQUlBSWdBeUFBSUFCQm9BSnFJQVVnQkVFQUVKWUNJQUJySWdCQm9BSklCRUFnQVNBQVFRd1FPVUVNRUU4MkFnQUxJQVlrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJQUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFnQmFpQUZJQVJCQUJDV0FpQUFheUlBUWFnQlNBUkFJQUVnQUVFTUVEbEJCeEJQTmdJQUN5QUdKQVlMQkFCQkFndVhDQUVMZnlNR0lRc2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnMG9BZ0FvQWhRaEJpQUxJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3dDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUtJQUlnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFRWFqWUNBQ0FHSUFJMkFnQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBS1FUQWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVFYWpZQ0FDQUhJQUkyQWdBZ0NpQUdMQUFCSUFvb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBQ05nSUFJQVpCQW1vaUJpRUNBMEFnQWlBTVNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdERThOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQXNvQWdRZ0N5d0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRa2dDQ0FITEFBQU9nQUFJQWNnQ1RvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUWxCQUNFSFFRQWhDQU5BSUFrZ0Fra0VRQ0FISUFzb0FnQWdDeUFMTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dEellDQUNBSElBY2dDeWdDQkNBTExBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBb2dDU3dBQUNBS0tBSUFLQUlzUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRUnFOZ0lBSUJBZ0RqWUNBQ0FKUVFGcUlRa2dDRUVCYWlFSURBRUxDeUFHSUFCclFRSjBJQU5xSWdrZ0JTZ0NBQ0lJUmdSL0lBb2hCeUFKQlNBSUlRWURmeUFKSUFaQmZHb2lCa2tFZnlBSktBSUFJUWNnQ1NBR0tBSUFOZ0lBSUFZZ0J6WUNBQ0FKUVFScUlRa01BUVVnQ2lFSElBZ0xDd3NoQmdVZ0NpQUdJQUlnQlNnQ0FDQUtLQUlBS0FJd1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBSWdCbXRCQW5ScUlnWTJBZ0FnQ2lFSEN3SkFBa0FEUUNBQ0lBeEpCRUFnQWl3QUFDSUdRUzVHRFFJZ0NpQUdJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUWtnQlNBRktBSUFJZ2hCQkdvaUJqWUNBQ0FJSUFrMkFnQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRY2dCU0FGS0FJQUlnbEJCR29pQmpZQ0FDQUpJQWMyQWdBZ0FrRUJhaUVDQ3lBS0lBSWdEQ0FHSUFvb0FnQW9BakJCRDNGQmlnSnFFUWtBR2lBRklBVW9BZ0FnRENBQ2EwRUNkR29pQWpZQ0FDQUVJQUlnQVNBQWEwRUNkQ0FEYWlBQklBeEdHellDQUNBTEVFY2dDeVFHQy9VQkFnVi9BWHdqQmlFRUl3WkI0QUZxSkFZZ0JFSFlBV29oQlNBRVFUQnFJZ1lnQkVIQUFXb2lCeUFDSUFNUTh3b2dCQ0FCSUFjUTZBcEJBRWdFZjBFQVFRTkI0YXdCSUFVUVBVRi9CVUVBSVFFRGZ5QUJRUUpHQkg5QkFBVkJBQ0VDQTBBZ0FrRUdSd1JBSUFGQk1Hd2dBR29nQWtFRGRHb2lCVVFBQUFBQUFBQUFBRGtEQUVFQUlRTkVBQUFBQUFBQUFBQWhDUU5BSUFOQkEwY0VRQ0FGSUFrZ0FVRVliQ0FFYWlBRFFRTjBhaXNEQUNBRFFUQnNJQVpxSUFKQkEzUnFLd01Bb3FBaUNUa0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN3c2hDQ0FFSkFZZ0NBdjZCd0VMZnlNR0lRb2pCa0VRYWlRR0lBWkJnTTRERURvaENTQUdRWkRPQXhBNklnMG9BZ0FvQWhRaEJpQUtJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3NDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUpJQUlnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFJNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBSlFUQWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQUk2QUFBZ0NTQUdMQUFCSUFrb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBQ09nQUFJQVpCQW1vaUJpRUNBMEFnQWlBTFNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdDMDhOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSL0lBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRd2dDQ0FITEFBQU9nQUFJQWNnRERvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUXhCQUNFSVFRQWhCd05BSUF3Z0Fra0VRQ0FISUFvb0FnQWdDaUFLTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dEem9BQUNBSElBY2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBa2dEQ3dBQUNBSktBSUFLQUljUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRRnFOZ0lBSUJBZ0Rqb0FBQ0FNUVFGcUlRd2dDRUVCYWlFSURBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFrRkEzOGdCeUFHUVg5cUlnWkpCSDhnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUZJQWtMQ3dzRklBa2dCaUFDSUFVb0FnQWdDU2dDQUNnQ0lFRVBjVUdLQW1vUkNRQWFJQVVnQlNnQ0FDQUNJQVpyYWpZQ0FDQUpDeUVHQWtBQ1FBTkFJQUlnQzBrRVFDQUNMQUFBSWdkQkxrWU5BaUFKSUFjZ0JpZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUJhallDQUNBSUlBYzZBQUFnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUVlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHT2dBQUlBSkJBV29oQWdzZ0NTQUNJQXNnQlNnQ0FDQUpLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBc2dBbXRxSWdJMkFnQWdCQ0FDSUFNZ0FTQUFhMm9nQVNBTFJoczJBZ0FnQ2hCSElBb2tCZ3VlQVFFRmZDQUJLd05ZSUFJckF3QWlBeUFCUVVCckt3TUFvaUFDS3dNSUlnUWdBU3NEU0tLZ0lBSXJBeEFpQlNBQkt3TlFvcUNnSWdaRUFBQUFBQUFBQUFCaEJIOUJmd1VnQVNzRE9DQURJQUVyQXlDaUlBUWdBU3NES0tLZ0lBVWdBU3NETUtLZ29DRUhJQUFnQVNzREdDQURJQUVyQXdDaUlBUWdBU3NEQ0tLZ0lBVWdBU3NERUtLZ29DQUdvemtEQUNBQUlBY2dCcU01QXdoQkFBc0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlrTElRY2dCaVFHSUFjTDB3RUNBMzhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFZnlBQ1FRUTJBZ0JCQUFWQnBNVURLQUlBSVFWQnBNVURRUUEyQWdBZ0FDQUVJQU1RWEJEOUFpRUhRYVRGQXlnQ0FDSUFSUVJBUWFURkF5QUZOZ0lBQ3lBQklBUW9BZ0JHQkg4Q2Z5QUFRY1FBUmdSQUlBSkJCRFlDQUVILy8vLy9CeUFIUWdCVkRRRWFCUUpBSUFkQ2dJQ0FnSGhUQkVBZ0FrRUVOZ0lBREFFTElBZW5JQWRDLy8vLy93ZFhEUUlhSUFKQkJEWUNBRUgvLy8vL0J3d0NDd3RCZ0lDQWdIZ0xCU0FDUVFRMkFnQkJBQXNMSVFZZ0JDUUdJQVlMb2dFQ0FuOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUZRYVRGQTBFQU5nSUFJQUFnQkNBREVGd1EvUUloQmtHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQlRZQ0FBc2dBU0FFS0FJQVJnUitJQUJCeEFCR0JINGdBa0VFTmdJQVF2Ly8vLy8vLy8vLy93QkNnSUNBZ0lDQWdJQ0FmeUFHUWdCVkd3VWdCZ3NGSUFKQkJEWUNBRUlBQ3lFR0N5QUVKQVlnQmd2V0FRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ3Si9JQUJCeEFCR0lBaEMvLzhEVm5JRVFDQUNRUVEyQWdCQmZ3d0JDeUFJcDBILy93TnhJUUJCQUNBSXAydEIvLzhEY1NBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd2SEFRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ5QUFRY1FBUmlBSVF2Ly8vLzhQVm5JRWZ5QUNRUVEyQWdCQmZ3VkJBQ0FJcHlJQWF5QUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dTZBUUlEZndKK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSK0lBSkJCRFlDQUVJQUJRSitJQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVJQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFkQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmaUFBUWNRQVJnUitJQUpCQkRZQ0FFSi9CVUlBSUFkOUlBY2dCUnNMQlNBQ1FRUTJBZ0JDQUFzTEN5RUlJQVFrQmlBSUM0b0JBZ0ovQVgwakJpRURJd1pCRUdva0JpQUFJQUZHQkVBZ0FrRUVOZ0lBQlVHa3hRTW9BZ0FoQkVHa3hRTkJBRFlDQUJCY0dpQUFJQU5CQUJDZ0FyWWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVU1BQUFBQUlRVU1BUXNNQVFzZ0FrRUVOZ0lBQ3dzZ0F5UUdJQVVMalFFQ0FuOEJmQ01HSVFNakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUVRYVRGQTBFQU5nSUFFRndhSUFBZ0EwRUJFS0FDSVFWQnBNVURLQUlBSWdCRkJFQkJwTVVESUFRMkFnQUxBa0FDUUNBQklBTW9BZ0JHQkVBZ0FFSEVBRVlOQVFWRUFBQUFBQUFBQUFBaEJRd0JDd3dCQ3lBQ1FRUTJBZ0FMQ3lBREpBWWdCUXVOQVFJQ2Z3RjhJd1loQXlNR1FSQnFKQVlnQUNBQlJnUkFJQUpCQkRZQ0FBVkJwTVVES0FJQUlRUkJwTVVEUVFBMkFnQVFYQm9nQUNBRFFRSVFvQUloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVRQUFBQUFBQUFBQUNFRkRBRUxEQUVMSUFKQkJEWUNBQXNMSUFNa0JpQUZDemtCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FSQmlJUUVnQUVHRGt3TWdBeENWQXlFRUlBRUVRQ0FCRUdJYUN5QURKQVlnQkF0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuQXNoQnlBR0pBWWdCd3VsQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUlnQVd0QkFuVWlCRUh2Ly8vL0Ewc0VRQkFBQ3lBRVFRSkpCRUFnQUNBRU9nQUxJQUFoQXdVZ0JFRUVha0Y4Y1NJR1FmLy8vLzhEU3dSQUVBQUZJQUFnQmtFQ2RCQlJJZ00yQWdBZ0FDQUdRWUNBZ0lCNGNqWUNDQ0FBSUFRMkFnUUxDd05BSUFFZ0FrY0VRQ0FESUFFUWJpQUJRUVJxSVFFZ0EwRUVhaUVEREFFTEN5QUZRUUEyQWdBZ0F5QUZFRzRnQlNRR0M2c0RBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURvQUFBd0JCUUpBSUFSQkFXb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTZBQUFNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVMQUFBRUVJMkFqQUZBa0FEUUNBQ1FRQk1EUUVnQXlBQ1FYOXFJZ0pxTEFBQUVFSWdBQ2dDSUJEdkFVRi9SdzBBQzBGL0lRQU1BZ3NMSUFRc0FBQVFRaUVBQ3dzTElBVWtCaUFBQzZVREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRFlDQUF3QkJRSkFJQVJCQkdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBMkFnQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUtBSUFOZ0l3QlFKQUEwQWdBa0VBVEEwQklBTWdBa0YvYWlJQ2Fpd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTFFYOGhBQXdDQ3dzZ0JDZ0NBQ0VBQ3dzTElBVWtCaUFBQzVvQkFRVi9Jd1loQVNNR1FSQnFKQVlnQVVFSWFpSUNRUWhxSVFVQ1FBSkFBMEFnQUNnQ0pDSURLQUlBS0FJVUlRUWdBeUFBS0FJb0lBSWdCU0FCSUFSQkgzRkJvZ0pxRVFnQUlRTUNRQ0FCS0FJQUlBSnJJZ1FnQWtFQklBUWdBQ2dDSUJDVEFVY05BQUpBSUFOQkFXc09BZ0FCQXdzTUFRc0xRWDhoQUF3QkN5QUFLQUlnRUtrQ1FRQkhRUjkwUVI5MUlRQUxJQUVrQmlBQUN4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUTZnSUxFd0FnQUNBQUtBSUFRWFJxS0FJQWFoQ1pBZ3NUQUNBQUlBQW9BZ0JCZEdvb0FnQnFFT3NDQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RbWdJTEt3RUJmd05BSUFKQkNFY0VRQ0FCSUFKcUlBQkJCeUFDYTJvc0FBQTZBQUFnQWtFQmFpRUNEQUVMQ3dzU0FDQUFRZHlNQVRZQ0FDQUFRUVJxRUR3TEJBQkJmd3NRQUNBQVFnQTNBd0FnQUVKL053TUlDeEFBSUFCQ0FEY0RBQ0FBUW44M0F3Z0xCQUFnQUFzckFRRi9BMEFnQWtFRVJ3UkFJQUVnQW1vZ0FFRURJQUpyYWl3QUFEb0FBQ0FDUVFGcUlRSU1BUXNMQ3hJQUlBQkJuSXdCTmdJQUlBQkJCR29RUEF0VEFRTi9JQUlvQWdBaEJDQUJJQUJyUVFKMUlRRURRQ0FCQkVBZ0FVRUJkaUlDUVFKMElBQnFJZ1VvQWdBZ0JFa2hBeUFGUVFScUlBQWdBeHNoQUNBQlFYOXFJQUpySUFJZ0F4c2hBUXdCQ3dzZ0FBdk9BUUVEZnlNR0lRSWpCa0hBQVdva0JpQUFJQUlRMVFRZ0FFRUVhaUFDUVFScUVOVUVBMEFnQVVFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQVFRaHFJQUZCQlhScUlBTkJBM1JxSUFKQkNHb2dBVUVGZEdvZ0EwRURkR29RendRZ0EwRUJhaUVEREFFTEN5QUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBQ2dDc0FFaUEwRURkRUdZRldvb0FnQklCRUFnQUVIb0FHb2dBVUVEZEdvZ0FrSG9BR29nQVVFRGRHb1F6d1FnQVVFQmFpRUJEQUVMQ3lBQ0lBTTJBckFCSUFBZ0FrRzRBUkJNR2lBQ0pBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIWStRQkJCU0FCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkI0UGtBUVFRZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUWVqNUFFRURJQUVvQWdBUUNDQUJKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSHcrUUJCQWlBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCK1BrQVFRRWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFZRDZBRUVBSUFFb0FnQVFDQ0FCSkFZTG1Bc0JGWHdDZndKQUFrQUNRQUpBQWtBQ1FDQUZRUUZyRGdRREFnRUFCQXNnQUNzREFDRUpJQUFyQXdnaENpQUFRVUJyS3dNQUlRMGdBQ3NERUNJT1JBQUFBQUFBQUFCQW9pRVBJQUFyQXhnaUVFUUFBQUFBQUFBWVFLSWhFeUFRUkFBQUFBQUFBQUJBb2lFVUlBNUVBQUFBQUFBQUdFQ2lJUlVnQVNBQUt3TXdJaGFoSUFBckF5QWlGNk1pQ3lFQklBSWdBQ3NET0NJWW9TQUFLd01vSWhtaklnd2hBaUFMSUF1aUlRWWdEQ0FNb2lFSFFRRWhBQU5BQWtBZ0JrUUFBQUFBQUFBQUFHSWdCMFFBQUFBQUFBQUFBR0p5UlFSQVJBQUFBQUFBQUFBQUlRRkVBQUFBQUFBQUFBQWhBZ3dCQ3lBSklBY2dCcUFpQ0tKRUFBQUFBQUFBOEQrZ0lBZ2dDaUFJb3FLZ0lSRWdCeUFHUkFBQUFBQUFBQWhBb2lJYW9pRVNJQUlnRGlBSFJBQUFBQUFBQUFCQW9pQUlvS0lnQWlBUm9xQWdBaUFVSUFFZ0VDQUlJQVpFQUFBQUFBQUFBRUNpb0tJZ0FpQVBJQUdpb2lBQklCR2lvS0FnQzZFZ0V5QUJvaUFQSUFLaUlBa2dCeUFhb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIb2lBR0lBWkVBQUFBQUFBQUZFQ2lvaUFTb0tDaW9LQ2dvNkVpQWFJaUNLS2dJQXloSUJVZ0FxSWdDU0FHSUFkRUFBQUFBQUFBQ0VDaW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSFJBQUFBQUFBQUJSQW9xSWdCaUFHb2lBU29LQ2lvS0FnQ0tDam9TRUNJQUJCQkVjRVFDQUJJQUdpSVFZZ0FpQUNvaUVISUFCQkFXb2hBQXdDQ3dzTElBTWdGaUFYSUFHaUlBMmpvRGtEQUNBWUlCa2dBcUlnRGFPZ0lRRU1CQXNnQUNzRElFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSUFBckF4aWpJZ0VnQWFJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lIbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBRWdCaUFHUkFBQUFBQUFBUEEvSUFnZ0I2S2hJQWNnQ2lBSG9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBZWlvU0FISUFzZ0I2S2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FCSUFHaUlBSWdBcUtnSWdZaEJ5QUZRUUZxSVFVZ0JwOGhCZ3dDQ3dzTElBTWdEQ0FCSUFBckF4Q2pvRGtEQUNBQ0lBQXJBeENqSUFBckF3aWdJUUVNQXdzZ0FDc0RHRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElnY2dCNklnQWlBQUt3TUlvU0lDSUFLaW9DSUJueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFjZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQWFLaElBRWdDaUFCb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFHaW9TQUJJQXNnQWFLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUZRUUZxSVFVZ0FTSUhJQUdpSUFJZ0FxS2dJZ0dmSVFZTUFnc0xDeUFESUF3Z0FTQUFLd01RbzZBNUF3QWdBaUFBS3dNUW95QUFLd01Jb0NFQkRBSUxJQUFyQXhoRUFBQUFBSVRYbDBHaklnaEVBQUFBQUFBQUNFQ2lJUWxCQVNFRklBRWdBQ3NEQUNJS29TSUhJQWVpSUFJZ0FDc0RDS0VpQWlBQ29xQWlBWjhpQ3lFR0EwQUNRQ0FHUkFBQUFBQUFBQUFBWVFSQVJBQUFBQUFBQUFBQUlRSkVBQUFBQUFBQUFBQWhBUXdCQ3lBSElBWWdCa1FBQUFBQUFBRHdQeUFJSUFHaW9hSWdDNkZFQUFBQUFBQUE4RDhnQ1NBQm9xR2pvU0lIb2lBR295RUJJQUlnQjZJZ0JxTWhBaUFGUVFOSEJFQWdCVUVCYWlFRklBRWlCeUFCb2lBQ0lBS2lvQ0lCbnlFR0RBSUxDd3NnQXlBS0lBRWdBQ3NERUtPZ09RTUFJQUlnQUNzREVLTWdBQ3NEQ0tBaEFRd0JDMEYvREFFTElBUWdBVGtEQUVFQUN4b0w1UUVBUWJqNEFFSDFnZ01RTFVIQStBQkIrb0lEUVFGQkFVRUFFQzhRNUFzUTR3c1E0Z3NRNFFzUTRBc1Ezd3NRM2dzUTNRc1EzQXNRMndzUTJndEJ5UElBUWVTREF4QVZRZUQ2QUVId2d3TVFGVUhJK2dCQkJFR1JoQU1RRWtHdytnQkJBa0dlaEFNUUVrR1krZ0JCQkVHdGhBTVFFa0dRK2dCQnZJUURFQzRRMlF0QjZvUURFTjRFUVkrRkF4RGRCRUcyaFFNUTNBUkIxWVVERU5zRVFmMkZBeERhQkVHYWhnTVEyUVFRMXdzUTFndEJoWWNERU40RVFhV0hBeERkQkVIR2h3TVEzQVJCNTRjREVOc0VRWW1JQXhEYUJFR3FpQU1RMlFRUTFRc1ExQXNRMHdzTFdnRURmeUFBS0FJRUlRVWdBZ1JBSUFWQkNIVWhCQ0FGUVFGeEJFQWdCQ0FDS0FJQWFpZ0NBQ0VFQ3dzZ0FDZ0NBQ0lBS0FJQUtBSWNJUVlnQUNBQklBSWdCR29nQTBFQ0lBVkJBbkViSUFaQkgzRkIrZ1ZxRVFjQUN3c0FJQUFRNHdRZ0FCQTRDeE1BSUFCQm9Jc0JOZ0lBSUFCQkJHb1E3Z3NMeHdJQkJIOGpCaUVESXdaQlFHc2tCaUFBSUFBb0FnQWlCRUY0YWlnQ0FHb2hCU0FFUVh4cUtBSUFJUVFnQXlBQ05nSUFJQU1nQURZQ0JDQURJQUUyQWdnZ0EwRUFOZ0lNSUFOQ0FEY0NFQ0FEUWdBM0FoZ2dBMElBTndJZ0lBTkNBRGNDS0NBRFFRQTJBakFnQTBFQU93RTBJQU5CQURvQU5pQUVJQUpCQUJDQkFRUi9JQU5CQVRZQ01DQUVJQU1nQlNBRlFRRkJBQ0FFS0FJQUtBSVVRUWR4UWRvR2FoRU1BQ0FGUVFBZ0F5Z0NHRUVCUmhzRkFuOGdCQ0FESUFWQkFVRUFJQVFvQWdBb0FoaEJQM0ZCbWdacUVRVUFBa0FDUUFKQUlBTW9BaVFPQWdBQ0FRc2dBeWdDRkVFQUlBTW9BaWhCQVVZZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5FYkRBSUxRUUFNQVFzZ0F5Z0NHRUVCUndSQVFRQWdBeWdDS0VVZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5GRkRRRWFDeUFES0FJUUN3c2hCaUFESkFZZ0JndW5EQUlIZndoOUlBRzhJZ1ZCLy8vLy93ZHhJZ0pGSUFDOElnWkJnSUNBL0FOR2NnUkFRd0FBZ0Q4UEN5QUdRZi8vLy84SGNTSURRWUNBZ1B3SFN5QUNRWUNBZ1B3SFMzSUVRQ0FBSUFHU0R3c2dCa0VBU0NJSUJIOGdBa0gvLy8vYkJFc0VmMEVDQlNBQ1FmLy8vL3NEU3dSL1FRSWdBa0dXQVNBQ1FSZDJheUlFZGlJSFFRRnhhMEVBSUFjZ0JIUWdBa1liQlVFQUN3c0ZRUUFMSVFRQ1FDQUZRZi8vLy84SGNTSUhRWUNBZ1B3SFNBUkFJQWRCZ0lDQS9BTnJEUUVnQUVNQUFJQS9JQUNWSUFWQmYwb2JEd1VnQjBHQWdJRDhCMnNOQVNBRFFZQ0FnUHdEUmdSQVF3QUFnRDhQQ3lBRlFYOUtJUUlnQTBHQWdJRDhBMHNFUUNBQlF3QUFBQUFnQWhzUEJVTUFBQUFBSUFHTUlBSWJEd3NBQ3dBTElBVkJnSUNBZ0FSR0JFQWdBQ0FBbEE4TElBVkJnSUNBK0FOR0lBWkJmMHB4QkVBZ0FKRVBDeUFBaXlFSkFrQUNRQUpBSUFORklBTkJnSUNBZ0FSeVFZQ0FnUHdIUm5JRVFFTUFBSUEvSUFtVklBa2dCVUVBU0JzaEFDQUlSUVJBSUFBUEN5QUVJQU5CZ0lDQWhIeHFjZ1JBSUFDTUlBQWdCRUVCUmhzUEN3d0JDeUFJQkVBQ1FBSkFBa0FnQkE0Q0JBQUJDME1BQUlDL0lRc01BUXREQUFDQVB5RUxDd1ZEQUFDQVB5RUxDeUFDUVlDQWdPZ0VTd1JBQWtBZ0EwSDQvLy83QTBrRVFDQUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU0JzUEN5QURRWWVBZ1B3RFRRUkFJQWxEQUFDQXY1SWlBRU1BcXJnL2xDSUtJQUJEY0tYc05wUWdBQ0FBbEVNQUFBQS9JQUJEcTZxcVBpQUFRd0FBZ0Q2VWs1U1RsRU03cXJnL2xKTWlBSks4UVlCZ2NiNGlEQ0VKSUF3Z0NwTWhDZ3dCQ3lBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTaHNQQ3dVZ0NVTUFBSUJMbEx3Z0F5QURRWUNBZ0FSSklnTWJJZ1JCRjNWQjZYNUJnWDhnQXh0cUlRSWdCRUgvLy84RGNTSUVRWUNBZ1B3RGNpRURJQVJCOG9qekFFa0VRRUVBSVFRRklBUkIxK2YyQWtraUJpRUVJQUlnQmtFQmMwRUJjV29oQWlBRElBTkJnSUNBZkdvZ0Joc2hBd3NnQkVFQ2RFSEFpZ0ZxS2dJQUlnNGdBNzRpQ2lBRVFRSjBRYkNLQVdvcUFnQWlESk1pRFVNQUFJQS9JQXdnQ3BLVklnK1VJZ204UVlCZ2NiNGlBQ0FBSUFDVUloQkRBQUJBUUpJZ0NTQUFraUFQSUEwZ0EwRUJkVUdBNFAvL2ZYRkJnSUNBZ0FKeVFZQ0FnQUpxSUFSQkZYUnF2aUlOSUFDVWt5QUtJQTBnREpPVElBQ1VrNVFpQ3BRZ0NTQUpsQ0lBSUFDVUlBQWdBQ0FBSUFBZ0FFTkM4Vk0rbEVOVk1tdytrcFJEQmFPTFBwS1VRNnVxcWo2U2xFTzNiZHMra3BSRG1wa1pQNUtVa2lJTWtyeEJnR0J4dmlJQWxDSU5JQW9nQUpRZ0NTQU1JQUJEQUFCQXdKSWdFSk9UbEpJaUNaSzhRWUJnY2I0aUFFTUFRSFkvbENJS0lBUkJBblJCdUlvQmFpb0NBQ0FKSUFBZ0RaT1RRMDg0ZGorVUlBQkR4aVAyT0pTVGtpSUFrcElnQXJJaURKSzhRWUJnY2I0aURTRUpJQTBnREpNZ0RwTWdDcE1oQ2dzZ0FDQUtreUFCbENBQklBVkJnR0J4dmlJQWt5QUpsSkloQVNBSklBQ1VJZ0FnQVpJaUNid2lBMEdBZ0lDWUJFb05BUUpBQWtBZ0EwR0FnSUNZQkVZRVFDQUJRenlxT0RPU0lBa2dBSk5lQkVBTUJRVkJnSUNBbUFRaEFnd0NDd0FGQWtBZ0EwSC8vLy8vQjNFaUFrR0FnTmlZQkVzTkJpQUJJQWtnQUpOZlJTQURRWUNBMkpoOFIzSUVRQ0FDUVlDQWdQZ0RTd1JBREFRRlFRQWhBZ3dDQ3dBTERBWUxDd3dCQ3lBRFFZQ0FnQVFnQWtFWGRrR0NmMnAyYWlJQ1FSZDJRZjhCY1NFRklBQWdBa0dBZ0lCOElBVkJnWDlxZFhHK2t5SUpJUUJCQUNBQ1FmLy8vd054UVlDQWdBUnlRWllCSUFWcmRpSUNheUFDSUFOQkFFZ2JJUUlnQVNBSmtyd2hBd3NnQzBNQUFJQS9JQU5CZ0lCK2NiNGlDVU1BY2pFL2xDSUtJQWxEakw2L05aUWdBU0FKSUFDVGswTVljakUvbEpJaUNaSWlBQ0FBSUFBZ0FKUWlBU0FCSUFFZ0FTQUJRMHk3TVRPVVF3N3EzYldTbEVOVnM0bzRrcFJEWVFzMnU1S1VRNnVxS2o2U2xKTWlBWlFnQVVNQUFBREFrcFVnQ1NBQUlBcVRreUlCSUFBZ0FaU1NreUFBazVNaUFMd2dBa0VYZEdvaUEwR0FnSUFFU0FSOUlBQWdBaEQxQkFVZ0E3NExsQThMSUFBZ0FKTWlBQ0FBbFE4TElBdER5dkpKY1pSRHl2SkpjWlFQQ3lBTFEyQkNvZzJVUTJCQ29nMlVDOEFCQVFKL0l3WWhBU01HUVJCcUpBWWdBTDFDSUlpblFmLy8vLzhIY1NJQ1FmekRwUDhEU1FSQUlBSkJnSURBOGdOUEJFQWdBRVFBQUFBQUFBQUFBRUVBRU5RQklRQUxCUUo4SUFBZ0FLRWdBa0gvLzcvL0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFFUS9BSkJBM0VPQXdBQkFnTUxJQUVyQXdBZ0FTc0RDRUVCRU5RQkRBTUxJQUVyQXdBZ0FTc0RDQkRUQVF3Q0N5QUJLd01BSUFFckF3aEJBUkRVQVpvTUFRc2dBU3NEQUNBQkt3TUlFTk1CbWdzaEFBc2dBU1FHSUFBTHlBRUNBbjhCZkNNR0lRRWpCa0VRYWlRR0lBQzlRaUNJcDBILy8vLy9CM0VpQWtIOHc2VC9BMGtFZkNBQ1FaN0JtdklEU1FSOFJBQUFBQUFBQVBBL0JTQUFSQUFBQUFBQUFBQUFFTk1CQ3dVQ2ZDQUFJQUNoSUFKQi8vKy8vd2RMRFFBYUFrQUNRQUpBQWtBZ0FDQUJFUHdDUVFOeERnTUFBUUlEQ3lBQkt3TUFJQUVyQXdnUTB3RU1Bd3NnQVNzREFDQUJLd01JUVFFUTFBR2FEQUlMSUFFckF3QWdBU3NEQ0JEVEFab01BUXNnQVNzREFDQUJLd01JUVFFUTFBRUxDeUVESUFFa0JpQURDOWtDQVFaL0l3WWhDQ01HUVpBQ2FpUUdJQWhCZ0FKcUlnY2dBU2dDQUNJRU5nSUFJQU5CZ0FJZ0FFRUFSeUlKR3lFRklBQWdDQ0FKR3lFQUlBVkJBRWNnQkVFQVIzRUVRQUpBUVFBaEF3TkFBa0FnQWlBRlR5SUdJQUpCSUV0eVJRMENJQUlnQlNBQ0lBWWJJZ1JySVFJZ0FDQUhJQVFROHdRaUJFRi9SZzBBSUFWQkFDQUVJQUFnQ0VZaUJodHJJUVVnQUNBQUlBUnFJQVliSVFBZ0F5QUVhaUVESUFjb0FnQWlCRUVBUnlBRlFRQkhjUTBCREFJTEMwRi9JUU5CQUNFRklBY29BZ0FoQkFzRlFRQWhBd3NnQkFSQUlBVkJBRWNnQWtFQVIzRUVRQUpBQTBBZ0FDQUVLQUlBRUo0QklnWkJBV3BCQWs4RVFDQUhJQWNvQWdCQkJHb2lCRFlDQUNBQUlBWnFJUUFnQXlBR2FpRURJQVVnQm1zaUJVRUFSeUFDUVg5cUlnSkJBRWR4RFFFTUFnc0xJQVlFUUVGL0lRTUZJQWRCQURZQ0FBc0xDd3NnQ1FSQUlBRWdCeWdDQURZQ0FBc2dDQ1FHSUFNTGFRRUNmeUFBSUFGclFRSjFJQUpKQkVBRFFDQUNRWDlxSWdKQkFuUWdBR29nQWtFQ2RDQUJhaWdDQURZQ0FDQUNEUUFMQlNBQ0JFQURRQ0FCUVFScUlRTWdBRUVFYWlFRUlBQWdBU2dDQURZQ0FDQUNRWDlxSWdJRVFDQURJUUVnQkNFQURBRUxDd3NMQzRnQkFRVi9JQUFvQWdRaUJTQUJLQUlJUmdSL0lBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmeUFCS0FJQUlBSkJBblJxSVFOQkFDRUVBMEFnQkNBR1NBUkFJQUFnQXlnQ0FEWUNBQ0FGUVFKMElBTnFJUU1nQkVFQmFpRUVJQUJCQkdvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEN5b0JBWDhnQWdSQUEwQWdBRUVFYWlFRElBQWdBVFlDQUNBQ1FYOXFJZ0lFUUNBRElRQU1BUXNMQ3d0a0FRSi9JQUFRWUNBQWFpRUFJQUlFUUFKQUlBSWhBeUFCSVFJZ0FDRUJBMzhnQWl3QUFDSUVSUTBCSUFKQkFXb2hBaUFCUVFGcUlRQWdBU0FFT2dBQUlBTkJmMm9pQXdSL0lBQWhBUXdCQlNBQUN3c2hBUXNGSUFBaEFRc2dBVUVBT2dBQUM5VUJBUVIvUWZHcEFTRUNJd1loQXlNR1FTQnFKQVlDUUFKQVFmR3BBU3dBQUNJQlJRMEFRZktwQVN3QUFFVU5BQ0FEUVFCQklCQkZHa0h4cVFFc0FBQWlBUVJBQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlJRUlBUW9BZ0JCQVNBQlFSOXhkSEkyQWdBZ0FrRUJhaUlDTEFBQUlnRU5BQXNMSUFBc0FBQWlBUVJBQWtBZ0FDRUNBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaWdDQUVFQklBRkJIM0YwY1EwQklBSkJBV29pQWl3QUFDSUJEUUFMQ3dVZ0FDRUNDd3dCQ3lBQUlBRVFxZ0loQWdzZ0F5UUdJQUlnQUdzTGxBRUJBMzhEUUNBQVFRRnFJUUVnQUN3QUFCQ3lBUVJBSUFFaEFBd0JDd3NDZndKQUFrQUNRQUpBSUFBc0FBQWlBMEVyYXc0REFRSUFBZ3RCQVNFQURBSUxRUUFoQUF3QkN5QUREQUVMSUFBaEFpQUJJZ0FzQUFBTEVJb0JCRUJCQUNFQkEwQWdBVUVLYkVFd2FpQUFMQUFBYXlFQklBQkJBV29pQUN3QUFCQ0tBUTBBQ3dWQkFDRUJDeUFCUVFBZ0FXc2dBaHNMWkFJQmZ3RitJQUFvQWlnaEFTQUFRZ0FnQUNnQ0FFR0FBWEVFZjBFQ1FRRWdBQ2dDRkNBQUtBSWNTeHNGUVFFTElBRkJBM0ZCcGdOcUVSUUFJZ0pDQUZrRVFDQUFLQUlVSUFBb0FoeHJyQ0FDSUFBb0FnZ2dBQ2dDQkd1c2ZYd2hBZ3NnQWd1QkF3RUhmeU1HSVFVakJrR1FDR29rQmlBRlFZQUlhaUlJSUFFb0FnQWlCallDQUNBRFFZQUNJQUJCQUVjaUNSc2hCeUFBSUFVaUNpQUpHeUVESUFkQkFFY2dCaUlGUVFCSGNRUkFBa0JCQUNFQUEwQUNRQ0FDUVFKMklnWWdCMDhpQ3lBQ1FZTUJTM0pGRFFJZ0FpQUhJQVlnQ3hzaUJXc2hBaUFESUFnZ0JTQUVFUDRDSWdWQmYwWU5BQ0FIUVFBZ0JTQURJQXBHSWdZYmF5RUhJQU1nQlVFQ2RDQURhaUFHR3lFRElBQWdCV29oQUNBSUtBSUFJZ1ZCQUVjZ0IwRUFSM0VOQVF3Q0N3dEJmeUVBUVFBaEJ5QUlLQUlBSVFVTEJVRUFJUUFMSUFVRVFDQUhRUUJISUFKQkFFZHhCRUFDUUFOQUlBTWdCU0FDSUFRUTF3RWlCa0VDYWtFRFR3UkFJQWdnQmlBSUtBSUFhaUlGTmdJQUlBTkJCR29oQXlBQVFRRnFJUUFnQjBGL2FpSUhRUUJISUFJZ0Jtc2lBa0VBUjNFTkFRd0NDd3NDUUFKQUFrQWdCa0YvYXc0Q0FBRUNDeUFHSVFBTUFnc2dDRUVBTmdJQURBRUxJQVJCQURZQ0FBc0xDeUFKQkVBZ0FTQUlLQUlBTmdJQUN5QUtKQVlnQUF1SUFRRUZmeUFBS0FJRUlnVWdBU2dDQ0VZRWZ5QUFLQUlJSWdZZ0FTZ0NCRVlFZnlBQUtBSUFJUUFEZnlBQ0lBVklCSDhnQVNnQ0FDQUNRUU4wYWlFRFFRQWhCQU5BSUFRZ0JrZ0VRQ0FBSUFNckF3QTVBd0FnQlVFRGRDQURhaUVESUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFKQkFXb2hBZ3dCQlVFQUN3c0ZRWDhMQlVGL0N3dDdBUUYvQWtBZ0FDZ0NURUVBVGdSQUFrQWdBQ3dBUzBFS1JnMEFJQUFvQWhRaUFTQUFLQUlRVHcwQUlBQWdBVUVCYWpZQ0ZDQUJRUW82QUFBTUFnc2dBQkNaQXd3QkN5QUFMQUJMUVFwSEJFQWdBQ2dDRkNJQklBQW9BaEJKQkVBZ0FDQUJRUUZxTmdJVUlBRkJDam9BQUF3Q0N3c2dBQkNaQXdzTHhRTUJCSDhqQmlFR0l3WkJFR29rQmdKQUlBQUVRQ0FDUVFOTEJFQUNRQ0FDSVFNZ0FTZ0NBQ0VFQTBBQ1FDQUVLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FBSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRElBVnJJUU1nQUNBRmFnVWdBQ0FGT2dBQUlBTkJmMm9oQXlBQktBSUFJUVFnQUVFQmFnc2hBQ0FCSUFSQkJHb2lCRFlDQUNBRFFRTkxEUUVnQXlFRURBSUxDeUFBUVFBNkFBQWdBVUVBTmdJQUlBSWdBMnNoQWd3REN3VWdBaUVFQ3lBRUJFQWdBQ0VESUFFb0FnQWhBQUpBQTBBQ1FDQUFLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FHSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRUlBVkpEUU1nQXlBQUtBSUFFSjRCR2lBRElBVnFJUU1nQkNBRmF3VWdBeUFGT2dBQUlBTkJBV29oQXlBQktBSUFJUUFnQkVGL2Fnc2hCQ0FCSUFCQkJHb2lBRFlDQUNBRURRRU1CUXNMSUFOQkFEb0FBQ0FCUVFBMkFnQWdBaUFFYXlFQ0RBTUxJQUlnQkdzaEFnc0ZJQUVvQWdBaUFDZ0NBQ0lCQkVCQkFDRUNBMEFnQVVIL0FFc0VRQ0FHSUFFUW5nRWlBVUYvUmdSQVFYOGhBZ3dGQ3dWQkFTRUJDeUFCSUFKcUlRSWdBRUVFYWlJQUtBSUFJZ0VOQUFzRlFRQWhBZ3NMQ3lBR0pBWWdBZ3RhQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFDS0FJQU5nSUFRUUJCQUNBQklBTVFxUUVpQkVFQVNBUi9RWDhGSUFBZ0JFRUJhaUlFRUVRaUFEWUNBQ0FBQkg4Z0FDQUVJQUVnQWhDcEFRVkJmd3NMSVFVZ0F5UUdJQVVMbXdFQkFuOGdBVUgvQUVvRVFDQUFRd0FBQUgrVUlnQkRBQUFBZjVRZ0FDQUJRZjRCU2lJQ0d5RUFJQUZCZ241cUlnTkIvd0FnQTBIL0FFZ2JJQUZCZ1g5cUlBSWJJUUVGSUFGQmduOUlCRUFnQUVNQUFJQUFsQ0lBUXdBQWdBQ1VJQUFnQVVHRWZrZ2lBaHNoQUNBQlFmd0JhaUlEUVlKL0lBTkJnbjlLR3lBQlFmNEFhaUFDR3lFQkN3c2dBQ0FCUVJkMFFZQ0FnUHdEYXI2VUM0TUdBZ3AvQW4wakJpRUpJd1pCMEE5cUpBWWdBVUgwQTBvRVFFRUFJUUFGQWtBQ1FBSkFBa0FnQVE0Q0FBRUNDMEVBSVFBTUFnc2dBRU1BQUlBL0lBQXFBZ0NWT0FJQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQW5RZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUXdBQUFBQWhEU0FDSUFac1FRSjBJQUJxSWdVaEIwRi9JUVFnQmlFREEwQWdBU0FEUndSQUlBMGdCeW9DQUlzaURsMGhDQ0FPSUEwZ0NCc2hEU0FDUVFKMElBZHFJUWNnQXlBRUlBZ2JJUVFnQTBFQmFpRUREQUVMQ3lBRVFYOUdJQTFELytiYkxsOXlCRUJCQUNFQURBTUZJQVJCQW5RZ0NXb2lBeWdDQUNFSElBTWdCa0VDZENBSmFpSURLQUlBTmdJQUlBTWdCellDQUVFQUlRY2dCU0VESUFJZ0JHeEJBblFnQUdvaEJBTkFJQUVnQjBjRVFDQUVLQUlBSVFnZ0JDQURLQUlBTmdJQUlBTWdDRFlDQUNBSFFRRnFJUWNnQTBFRWFpRURJQVJCQkdvaEJBd0JDd3NnQlNvQ0FDRU5RUUVoQkNBRklRTURRQ0FCSUFSSEJFQWdBeUFEUVFScUlnTXFBZ0FnRFpVNEFnQWdCRUVCYWlFRURBRUxDeUFLUXdBQWdEOGdEWlU0QWdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRUNkQ0FBYWlJREtnSUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkJHb2lBeW9DQUNBTklBY3FBZ0NVa3pnQ0FDQUhRUVJxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lvQ0FKU01PQUlBQ3lBSVFRRnFJUWdnQWtFQ2RDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRUNkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFKMElBQnFJUVlnQTBFQ2RDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNb0FnQWhCeUFESUFZb0FnQTJBZ0FnQmlBSE5nSUFJQVJCQVdvaEJDQUNRUUowSUFacUlRWWdBa0VDZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTC9RRUJCWDlCOGFrQklRRWpCaUVESXdaQklHb2tCaUFEUWdBM0F3QWdBMElBTndNSUlBTkNBRGNERUNBRFFnQTNBeGhCOGFrQkxBQUFJZ0lFZndKL1FmS3BBU3dBQUVVRVFDQUFJUUVEUUNBQlFRRnFJUVFnQWlBQkxBQUFSZ1JBSUFRaEFRd0JDd3NnQVNBQWF3d0JDd05BSUFKQi93RnhJZ0pCQlhaQkFuUWdBMm9pQkNBRUtBSUFRUUVnQWtFZmNYUnlOZ0lBSUFGQkFXb2lBU3dBQUNJQ0RRQUxJQUFzQUFBaUFnUkFBa0FnQUNFQkEwQWdBa0gvQVhFaUJFRUZka0VDZENBRGFpZ0NBRUVCSUFSQkgzRjBjVVVOQVNBQlFRRnFJZ0VzQUFBaUFnMEFDd3NGSUFBaEFRc2dBU0FBYXdzRlFRQUxJUVVnQXlRR0lBVUxrd1lDQ244Q2ZDTUdJUWtqQmtIUUQyb2tCaUFCUWZRRFNnUkFRUUFoQUFVQ1FBSkFBa0FDUUNBQkRnSUFBUUlMUVFBaEFBd0NDeUFBUkFBQUFBQUFBUEEvSUFBckF3Q2pPUU1BREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBM1FnQUdvaURDRUtBMEFnQmlBQlNBUkFSQUFBQUFBQUFBQUFJUTBnQWlBR2JFRURkQ0FBYWlJRklRZEJmeUVFSUFZaEF3TkFJQUVnQTBjRVFDQU5JQWNyQXdDWklnNWpJUWdnRGlBTklBZ2JJUTBnQWtFRGRDQUhhaUVISUFNZ0JDQUlHeUVFSUFOQkFXb2hBd3dCQ3dzZ0JFRi9SaUFOUkx1OTE5bmZmTnM5WlhJRVFFRUFJUUFNQXdVZ0JFRUNkQ0FKYWlJREtBSUFJUWNnQXlBR1FRSjBJQWxxSWdNb0FnQTJBZ0FnQXlBSE5nSUFRUUFoQnlBRklRTWdBaUFFYkVFRGRDQUFhaUVFQTBBZ0FTQUhSd1JBSUFRckF3QWhEU0FFSUFNckF3QTVBd0FnQXlBTk9RTUFJQWRCQVdvaEJ5QURRUWhxSVFNZ0JFRUlhaUVFREFFTEN5QUZLd01BSVExQkFTRUVJQVVoQXdOQUlBRWdCRWNFUUNBRElBTkJDR29pQXlzREFDQU5vemtEQUNBRVFRRnFJUVFNQVFzTElBcEVBQUFBQUFBQThEOGdEYU01QXdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRURkQ0FBYWlJREt3TUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkNHb2lBeXNEQUNBTklBY3JBd0Npb1RrREFDQUhRUWhxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lzREFLS2FPUU1BQ3lBSVFRRnFJUWdnQWtFRGRDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRURkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFOMElBQnFJUVlnQTBFRGRDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNckF3QWhEU0FESUFZckF3QTVBd0FnQmlBTk9RTUFJQVJCQVdvaEJDQUNRUU4wSUFacUlRWWdBa0VEZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTGxBSUJBWDhDUUFKQUlBQWdBWE5CQTNFTkFBSkFJQUpCQUVjaUF5QUJRUU54UVFCSGNRUkFBMEFnQUNBQkxBQUFJZ002QUFBZ0EwVU5BaUFBUVFGcUlRQWdBa0YvYWlJQ1FRQkhJZ01nQVVFQmFpSUJRUU54UVFCSGNRMEFDd3NnQXdSQUlBRXNBQUFFUUNBQ1FRTkxCRUFEUUNBQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBSUFNMkFnQWdBVUVFYWlFQklBQkJCR29oQUNBQ1FYeHFJZ0pCQTBzTkFRc0xDd3dEQ3dWQkFDRUNDd3NNQVFzZ0FnUi9JQUVoQXlBQ0lRRURmeUFBSUFNc0FBQWlBam9BQUNBQ1JRUkFJQUVoQWd3REN5QURRUUZxSVFNZ0FFRUJhaUVBSUFGQmYyb2lBUTBBUVFBTEJVRUFDeUVDQ3lBQVFRQWdBaEJGR2d0QUFRSi9JQUlFUUNBQklRTWdBQ0VCQTBBZ0EwRUVhaUVBSUFGQkJHb2hCQ0FCSUFNb0FnQTJBZ0FnQWtGL2FpSUNCRUFnQUNFRElBUWhBUXdCQ3dzTEN3TUFBUXNzQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSWdBVFlDQkVIYkFDQUNFRElRbWdNYUlBSWtCZ3ZXQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRUUFRaGdNRVFBTkFRUUVnQUhSQi8vLy8vd2R4QkVBZ0FFRUNkQ0FBUVlhVEF4Q0ZBellDQUFzZ0FFRUJhaUlBUVFaSERRQUxCUUpBQTBBZ0JFRUJJQUIwUWYvLy8vOEhjU0lEUlVFQWNRUi9JQUJCQW5Rb0FnQUZJQUJCaHBNRFFhZlZBeUFER3hDRkF3c2lBMEVBUjJvaEJDQUFRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRUVpIRFFBTEFrQUNRQUpBSUFSQi8vLy8vd2R4RGdJQUFRSUxRY3pFQXlFQkRBSUxJQUlvQWdCQjhJY0JSZ1JBUVl5SUFTRUJDd3NMQ3lBQ0pBWWdBUXVyQXdJSmZ3SjhJQUFvQWdRaUJVRUJTQ0FBS0FJSUlnWkJBVWh5Qkg5QmZ3VWdBU2dDQkNBRlJnUi9JQUVvQWdnZ0JVWUVmeUFDS0FJRUlBVkdCSDhnQWlnQ0NDQUdSZ1IvSUFNb0FnUWdCVVlFZnlBQ0tBSUFJUUlEUUFKQUlBUWdCVTROQUNBREtBSUFJQVJCQTNScUt3TUFJZzFFdkluWWw3TFNuRHhqRFFCRUFBQUFBQUFBOEQ4Z0RabWZveUVPSUFRZ0JXd2hERUVBSVFjZ0FpRUlBMEFnQmlBSFJ3UkFRUUFoQ1NBQktBSUFJQXhCQTNScUlRcEVBQUFBQUFBQUFBQWhEU0FBS0FJQUlBZEJBM1JxSVFzRFFDQUZJQWxIQkVBZ0RTQUtLd01BSUFzckF3Q2lvQ0VOSUFsQkFXb2hDU0FLUVFocUlRb2dCa0VEZENBTGFpRUxEQUVMQ3lBSUlBNGdEYUk1QXdBZ0IwRUJhaUVISUFoQkNHb2hDQXdCQ3dzZ0JFRUJhaUVFSUFaQkEzUWdBbW9oQWd3QkN3c2dBaUVBQTM4Z0JDQUZTQVIvSUFNb0FnQWdCRUVEZEdwRUFBQUFBQUFBQUFBNUF3QkJBQ0VCQTBBZ0FTQUdTQVJBSUFCRUFBQUFBQUFBQUFBNUF3QWdBVUVCYWlFQklBQkJDR29oQUF3QkN3c2dCRUVCYWlFRURBRUZRUUFMQ3dWQmZ3c0ZRWDhMQlVGL0N3VkJmd3NGUVg4TEN3dU9BUUVDZndKQUFrQURRQ0FDUWJEYUFHb3RBQUFnQUVjRVFDQUNRUUZxSWdKQjF3QkhEUUZCMXdBaEFnd0NDd3NnQWcwQVFaRGJBQ0VBREFFTFFaRGJBQ0VBQTBBZ0FDRURBMEFnQTBFQmFpRUFJQU1zQUFBRVFDQUFJUU1NQVFzTElBSkJmMm9pQWcwQUN3c2dBU2dDRkNJQkJIOGdBU2dDQUNBQktBSUVJQUFRbXdVRlFRQUxJZ0VnQUNBQkd3czFBQ0FCQkg4Q2Z3TkFJQUFnQVVGL2FpSUJhaTBBQUVFdlJ3UkFJQUVFUUF3Q0JVRUFEQU1MQUFzTElBQWdBV29MQlVFQUN3dXNBUUVEZjBHY3VBRWhBaUFBUVp5NEFYTkJBM0ZGQkVCQm5MZ0JLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUFOL0lBQkJCR29oQVNBQUlBTTJBZ0FnQWtFRWFpSUNLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjUVIvSUFFRklBRWhBQXdCQ3dzaEFBc0xJQUFnQWl3QUFDSUJPZ0FBSUFFRVFBTkFJQUJCQVdvaUFDQUNRUUZxSWdJc0FBQWlBVG9BQUNBQkRRQUxDd3MxQVFKL0lBSWdBQ2dDRUNBQUtBSVVJZ1JySWdNZ0F5QUNTeHNoQXlBRUlBRWdBeEJNR2lBQUlBQW9BaFFnQTJvMkFoUWdBZ3VVQ1FJWWZ3ZDhJd1loR0NNR1FSQnFKQVlnR0NFTUlBQW9BZ1FpQmlBQUtBSUlSeUFHUVFKSWNnUi9RWDhGSUFFb0FnUWdCa1lFZnlBR0VPY0NJZzBFZndKL0lBd2dCa0YvYWlJUk5nSUVJQXdnRFNnQ0FFRUlhallDQUNBQUlBRWdEQkNIQzBFQVNBUkFJQTBRendGQmZ3d0JDeUFOS0FJQUlnaEVBQUFBQUFBQUFBQTVBd0FnRVNFREEwQWdBMEVBU2dSQUlBTWhCd05BSUFkQkFFb0VRQ0FIUVFOMElBaHFLd01BbVNBQktBSUFJZ1VnQjBGL2FpSUNRUU4wYWlzREFKa2dCMEVEZENBRmFpc0RBSm1nUkkzdHRhRDN4ckErb21RRVFDQUNJUWNNQWdzTEN5QURRWDlxSVFrZ0F5QUhSd1JBQWtBZ0EwRURkQ0FJYWlFU0lBZEJBV3BCQTNRZ0NHb2hFMEVBSVFVRFFDQUZRZU1BU3cwQklBVkJBV29oQlNBU0t3TUFJaHNnRzZJaUdpQUJLQUlBSWc0Z0NVRURkR29pRkNzREFDQURRUU4wSUE1cUloVXJBd0FpRzZGRUFBQUFBQUFBNEQraUloOGdINktnbnlFY0lCTXJBd0FoSFNBSElnSkJBM1FnRG1vckF3QWdHNkVnR2lBZklCeWFJQndnSDBRQUFBQUFBQUFBQUdNYm9LT2dJUnNEUUNBQ0lBTklCRUFnRzVraUdpQWRtV1lFUUNBYVJMeUoySmV5MHB3OFpBUjhSQUFBQUFBQUFQQS9JQjJhSUJ1aklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaUdpRWVJQndnR3FJRlJBQUFBQUFBQVBBL0lSNUVBQUFBQUFBQUFBQUxJUm9GUkFBQUFBQUFBUEEvSUJ1YUlCMmpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWhHaUFjSUJxaUlSNExJQUpCQTNRZ0Rtb2lEeXNEQUNJY0lBSkJBV29pQ2tFRGRDQU9haUlFS3dNQUloK2hJU0FnRHlBY0lCb2dHaUFnb2lBZVJBQUFBQUFBQUFCQW9pQUtRUU4wSUFocUloQXJBd0Npb0tJaUhLRTVBd0FnQkNBZklCeWdPUU1BSUFKQkEzUWdDR29oQkNBQ0lBZEtCRUFnQkNBZUlBUXJBd0NpSUIwZ0dxS2hPUU1BQ3lBUUlCQXJBd0FpSENBYUlCNGdJS0lnR2tRQUFBQUFBQUFBUUtJZ0hLS2hvcUE1QXdBZ0FpQUdiQ0VXSUFZZ0Ntd2hGMEVBSVFzRFFDQUdJQXRIQkVBZ0FDZ0NBQ0lQSUFzZ0ZtcEJBM1JxSWdRckF3QWhHeUFFSUI0Z0c2SWdHaUFMSUJkcVFRTjBJQTlxSWdRckF3QWlIYUtoT1FNQUlBUWdHaUFib2lBZUlCMmlvRGtEQUNBTFFRRnFJUXNNQVFzTElBSWdDVWdFUUNBUUt3TUFJUnNnQWtFQ2FrRURkQ0FJYWlJQ0t3TUFJUjBnQWlBZUlCMmlPUU1BSUJvZ0hhS2FJUjBMSUFvaEFnd0JDd3NnRWlzREFKa2dGQ3NEQUprZ0ZTc0RBSm1nUkkzdHRhRDN4ckErb21RTkFBc0xDeUFKSVFNTUFRc0xRUUFoQXdOQUlBTWdFVWNFUUNBQktBSUFJZ2tnQTBFRGRHb2lCU3NEQUNJZElSb2dBeUlDUVFGcUlnY2hCQU5BSUFRZ0JrZ0VRQ0FFUVFOMElBbHFLd01BSWhzZ0dtUWhDaUFiSUJvZ0Noc2hHaUFFSUFJZ0Noc2hBaUFFUVFGcUlRUU1BUXNMSUFKQkEzUWdDV29nSFRrREFDQUZJQm81QXdBZ0F5QUdiRUVEZENBQUtBSUFJZ05xSVFVZ0FpQUdiRUVEZENBRGFpRUNRUUFoQXdOQUlBTWdCa2NFUUNBQ0t3TUFJUnNnQWlBRkt3TUFPUU1BSUFVZ0d6a0RBQ0FGUVFocUlRVWdBa0VJYWlFQ0lBTkJBV29oQXd3QkN3c2dCeUVEREFFTEN5QU5FTThCUVFBTEJVRi9Dd1ZCZndzTElSa2dEQ1FHSUJrTExBQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FLZEJCM0ZCTUhJNkFBQWdBRUlEaUNJQVVFVU5BQXNMSUFFTE5BQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FpQUFwMEVQY1VHZzJnQnFMUUFBY2pvQUFDQUFRZ1NJSWdCUVJRMEFDd3NnQVF1aEFnSUpmd0Y4SUFBb0FnUWhDU0FBS0FJSUlnSWdBU2dDQkVZRVFDQUJLQUlJSUFKR0JFQUNRQ0FCS0FJQUlnb2hCZ05BSUFNZ0FrNEVRRUVBSVFBTUFndEJBQ0VFSUFZaEFRTkFJQUlnQkVjRVFDQUVJQU5KQkVBZ0FTQURJQUlnQkd4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCU0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhCeUFEUVFOMElBVnFJUWdnQkVFRGRDQUZhaUVGUkFBQUFBQUFBQUFBSVFzRFFDQUhJQWxPRFFFZ0FTQUxJQWdyQXdBZ0JTc0RBS0tnSWdzNUF3QWdCMEVCYWlFSElBSkJBM1FnQ0dvaENDQUNRUU4wSUFWcUlRVU1BQUFMQUFzTElBUkJBV29oQkNBQlFRaHFJUUVNQVFzTElBTkJBV29oQXlBQ1FRTjBJQVpxSVFZTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdldBZ0VHZnlNR0lRTWpCa0hnQVdva0JpQURRYUFCYWlJRVFnQTNBd0FnQkVJQU53TUlJQVJDQURjREVDQUVRZ0EzQXhnZ0JFSUFOd01nSUFOQjBBRnFJZ1VnQWlnQ0FEWUNBRUVBSUFFZ0JTQURRZEFBYWlJQ0lBUVFwQUpCQUVnRWYwRi9CU0FBS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUFvQWdBaEJpQUFMQUJLUVFGSUJFQWdBQ0FHUVY5eE5nSUFDeUFBS0FJd0JFQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFRklBQW9BaXdoQnlBQUlBTTJBaXdnQUNBRE5nSWNJQUFnQXpZQ0ZDQUFRZEFBTmdJd0lBQWdBMEhRQUdvMkFoQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFZ0J3UkFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQlFYOGdBQ2dDRkJzaEFTQUFJQWMyQWl3Z0FFRUFOZ0l3SUFCQkFEWUNFQ0FBUVFBMkFod2dBRUVBTmdJVUN3c2dBQ0FBS0FJQUlnQWdCa0VnY1hJMkFnQkJmeUFCSUFCQklIRWJDeUVJSUFNa0JpQUlDeWtDQVg4QmZDQUJLQUlBUVFkcVFYaHhJZ0lyQXdBaEF5QUJJQUpCQ0dvMkFnQWdBQ0FET1FNQUM4d1hBeFIvQTM0QmZDTUdJUlFqQmtHd0JHb2tCaUFVUVpnRWFpSU1RUUEyQWdBZ0FiMGlHa0lBVXdSL0lBR2FJaDBoQVVHaC9nSWhFaUFkdlNFYVFRRUZRYVQrQWtHbi9nSkJvdjRDSUFSQkFYRWJJQVJCZ0JCeEd5RVNJQVJCZ1JCeFFRQkhDeUVUSUJSQklHb2hCaUFVSWc0aEVTQU9RWndFYWlJS1FReHFJUThnR2tLQWdJQ0FnSUNBK1A4QWcwS0FnSUNBZ0lDQStQOEFVUVIvSUFCQklDQUNJQk5CQTJvaUF5QUVRZi8vZTNFUWRTQUFJQklnRXhCeUlBQkJ2UDRDUWNEK0FpQUZRU0J4UVFCSElnVWJRYlQrQWtHNC9nSWdCUnNnQVNBQllodEJBeEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXdVQ2Z5QUJJQXdRaWdORUFBQUFBQUFBQUVDaUlnRkVBQUFBQUFBQUFBQmlJZ2NFUUNBTUlBd29BZ0JCZjJvMkFnQUxJQVZCSUhJaUMwSGhBRVlFUUNBU1FRbHFJQklnQlVFZ2NTSUpHeUVJUVF3Z0Eyc2lCMFVnQTBFTFMzSkZCRUJFQUFBQUFBQUFJRUFoSFFOQUlCMUVBQUFBQUFBQU1FQ2lJUjBnQjBGL2FpSUhEUUFMSUFnc0FBQkJMVVlFZkNBZElBR2FJQjJob0pvRklBRWdIYUFnSGFFTElRRUxJQTlCQUNBTUtBSUFJZ1pySUFZZ0JrRUFTQnVzSUE4UXZnRWlCMFlFUUNBS1FRdHFJZ2RCTURvQUFBc2dFMEVDY2lFS0lBZEJmMm9nQmtFZmRVRUNjVUVyYWpvQUFDQUhRWDVxSWdjZ0JVRVBham9BQUNBRFFRRklJUXdnQkVFSWNVVWhEU0FPSVFVRFFDQUZJQWtnQVJCeklnWkJvTm9BYWkwQUFISTZBQUFnQVNBR3Q2RkVBQUFBQUFBQU1FQ2lJUUVnQlVFQmFpSUdJQkZyUVFGR0JIOGdEU0FNSUFGRUFBQUFBQUFBQUFCaGNYRUVmeUFHQlNBR1FTNDZBQUFnQlVFQ2Fnc0ZJQVlMSVFVZ0FVUUFBQUFBQUFBQUFHSU5BQXNDZnlBRFJTQUZRWDRnRVd0cUlBTk9ja1VFUUNBUElBTkJBbXBxSUFkcklRc2dCd3dCQ3lBRklBOGdFV3NnQjJ0cUlRc2dCd3NoQmlBQVFTQWdBaUFLSUF0cUlnTWdCQkIxSUFBZ0NDQUtFSElnQUVFd0lBSWdBeUFFUVlDQUJITVFkU0FBSUE0Z0JTQVJheUlGRUhJZ0FFRXdJQXNnQlNBUElBWnJJZ1pxYTBFQVFRQVFkU0FBSUFjZ0JoQnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd3dCQ3lBSEJFQWdEQ0FNS0FJQVFXUnFJZ2cyQWdBZ0FVUUFBQUFBQUFDd1FhSWhBUVVnRENnQ0FDRUlDeUFHSUFaQm9BSnFJQWhCQUVnYklnb2hCZ05BSUFZZ0FSQ0tCU0lITmdJQUlBWkJCR29oQmlBQklBZTRvVVFBQUFBQVpjM05RYUlpQVVRQUFBQUFBQUFBQUdJTkFBc2dDRUVBU2dSQUlBb2hCd05BSUFoQkhTQUlRUjFJR3lFTklBWkJmR29pQ0NBSFR3UkFJQTJ0SVJ0QkFDRUpBMEFnQ2EwZ0NDZ0NBSzBnRzRaOEloeENnSlRyM0FNUTlnRWhHaUFJSUJ3Z0drS0FsT3ZjQTM1OVBnSUFJQnFuSVFrZ0NFRjhhaUlJSUFkUERRQUxJQWtFUUNBSFFYeHFJZ2NnQ1RZQ0FBc0xJQVlnQjBzRVFBSkFBMzhnQmtGOGFpSUlLQUlBRFFFZ0NDQUhTd1IvSUFnaEJnd0JCU0FJQ3dzaEJnc0xJQXdnRENnQ0FDQU5heUlJTmdJQUlBaEJBRW9OQUFzRklBb2hCd3RCQmlBRElBTkJBRWdiSVEwZ0NFRUFTQVJBSUExQkdXcEJDUkE1UVFGcUlSQWdDMEhtQUVZaEZTQUdJUU1EUUVFQUlBaHJJZ1pCQ1NBR1FRbElHeUVKSUFvZ0J5QURTUVIvUVFFZ0NYUkJmMm9oRmtHQWxPdmNBeUFKZGlFWFFRQWhDQ0FISVFZRFFDQUdJQWdnQmlnQ0FDSVlJQWwyYWpZQ0FDQVhJQllnR0hGc0lRZ2dCa0VFYWlJR0lBTkpEUUFMSUFjZ0IwRUVhaUFIS0FJQUd5RVpJQWdFZnlBRElBZzJBZ0FnQTBFRWFnVWdBd3NoQmlBWkJTQURJUVlnQnlBSFFRUnFJQWNvQWdBYkN5SURJQlViSWdjZ0VFRUNkR29nQmlBR0lBZHJRUUoxSUJCS0d5RUlJQXdnQ1NBTUtBSUFhaUlHTmdJQUlBWkJBRWdFUUNBRElRY2dDQ0VESUFZaENBd0JDd3NGSUFjaEF5QUdJUWdMSUFvaERDQURJQWhKQkVBZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEJnTkFJQWRCQVdvaEJ5QUtJQVpCQ213aUJrOE5BQXNMQlVFQUlRY0xJQTFCQUNBSElBdEI1Z0JHRzJzZ0MwSG5BRVlpRlNBTlFRQkhJaFp4UVI5MFFSOTFhaUlHSUFnZ0RHdEJBblZCQ1d4QmQycElCSDhnQmtHQXlBQnFJZ1pCQ1JBNUlRa2dCaUFKUVFsc2F5SUdRUWhJQkVCQkNpRUxBMEFnQmtFQmFpRUtJQXRCQ213aEN5QUdRUWRJQkVBZ0NpRUdEQUVMQ3dWQkNpRUxDeUFKUVFKMElBeHFRWVJnYWlJR0tBSUFJZ2tnQ3hCSUlSQWdDQ0FHUVFScVJpSVhJQWtnQ3lBUWJHc2lDa1Z4UlFSQVJBRUFBQUFBQUVCRFJBQUFBQUFBQUVCRElCQkJBWEViSVFGRUFBQUFBQUFBNEQ5RUFBQUFBQUFBOEQ5RUFBQUFBQUFBK0Q4Z0Z5QUtJQXRCQVhZaUVFWnhHeUFLSUJCSkd5RWRJQk1FUUNBZG1pQWRJQklzQUFCQkxVWWlFQnNoSFNBQm1pQUJJQkFiSVFFTElBWWdDU0FLYXlJS05nSUFJQUVnSGFBZ0FXSUVRQ0FHSUFvZ0Myb2lCellDQUNBSFFmK1Q2OXdEU3dSQUEwQWdCa0VBTmdJQUlBWkJmR29pQmlBRFNRUkFJQU5CZkdvaUEwRUFOZ0lBQ3lBR0lBWW9BZ0JCQVdvaUJ6WUNBQ0FIUWYrVDY5d0RTdzBBQ3dzZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEN3TkFJQWRCQVdvaEJ5QUtJQXRCQ213aUMwOE5BQXNMQ3dzZ0J5RUpJQVpCQkdvaUJpQUlJQWdnQmtzYklRWWdBd1VnQnlFSklBZ2hCaUFEQ3lFS0lBWWdDa3NFZndKL0lBWWhBd04vSUFOQmZHb2lCaWdDQUFSQUlBTWhCa0VCREFJTElBWWdDa3NFZnlBR0lRTU1BUVZCQUFzTEN3VkJBQXNoQnlBVkJIOGdGa0VCY3lBTmFpSURJQWxLSUFsQmUwcHhCSDhnQTBGL2FpQUpheUVJSUFWQmYyb0ZJQU5CZjJvaENDQUZRWDVxQ3lFRklBUkJDSEVFZnlBSUJTQUhCRUFnQmtGOGFpZ0NBQ0lOQkVBZ0RVRUtFRTRFUUVFQUlRTUZRUUFoQTBFS0lRc0RRQ0FEUVFGcUlRTWdEU0FMUVFwc0lnc1FUa1VOQUFzTEJVRUpJUU1MQlVFSklRTUxJQVlnREd0QkFuVkJDV3hCZDJvaERTQUZRU0J5UWVZQVJnUi9JQWdnRFNBRGF5SURRUUFnQTBFQVNoc2lBeUFJSUFOSUd3VWdDQ0FKSUExcUlBTnJJZ05CQUNBRFFRQktHeUlESUFnZ0EwZ2JDd3NGSUEwTElRTkJBQ0FKYXlFSUlBQkJJQ0FDSUFWQklISkI1Z0JHSWhBRWYwRUFJUWdnQ1VFQUlBbEJBRW9iQlNBUElBZ2dDU0FKUVFCSUc2d2dEeEMrQVNJTGEwRUNTQVJBQTBBZ0MwRi9haUlMUVRBNkFBQWdEeUFMYTBFQ1NBMEFDd3NnQzBGL2FpQUpRUjkxUVFKeFFTdHFPZ0FBSUF0QmZtb2lDQ0FGT2dBQUlBOGdDR3NMSUFNZ0UwRUJhbXBCQVNBRVFRTjJRUUZ4SUFOQkFFY2lDeHRxYWlJTklBUVFkU0FBSUJJZ0V4QnlJQUJCTUNBQ0lBMGdCRUdBZ0FSekVIVWdFQVJBSUE1QkNXb2lDU0VQSUE1QkNHb2hDQ0FNSUFvZ0NpQU1TeHNpQ2lFSEEwQWdCeWdDQUswZ0NSQytBU0VGSUFjZ0NrWUVRQ0FGSUFsR0JFQWdDRUV3T2dBQUlBZ2hCUXNGSUFVZ0Rrc0VRQ0FPUVRBZ0JTQVJheEJGR2dOQUlBVkJmMm9pQlNBT1N3MEFDd3NMSUFBZ0JTQVBJQVZyRUhJZ0IwRUVhaUlGSUF4TkJFQWdCU0VIREFFTEN5QUVRUWh4UlNBTFFRRnpjVVVFUUNBQVFjVCtBa0VCRUhJTElBQkJNQ0FGSUFaSklBTkJBRXB4Qkg4RGZ5QUZLQUlBclNBSkVMNEJJZ2NnRGtzRVFDQU9RVEFnQnlBUmF4QkZHZ05BSUFkQmYyb2lCeUFPU3cwQUN3c2dBQ0FISUFOQkNTQURRUWxJR3hCeUlBTkJkMm9oQnlBRlFRUnFJZ1VnQmtrZ0EwRUpTbkVFZnlBSElRTU1BUVVnQndzTEJTQURDMEVKYWtFSlFRQVFkUVVnQUVFd0lBb2dCaUFLUVFScUlBY2JJZ3RKSUFOQmYwcHhCSDhnQkVFSWNVVWhFaUFPUVFscUlnd2hFMEVBSUJGcklSRWdEa0VJYWlFSklBTWhCU0FLSVFZRGZ5QU1JQVlvQWdDdElBd1F2Z0VpQTBZRVFDQUpRVEE2QUFBZ0NTRURDd0pBSUFZZ0NrWUVRQ0FEUVFGcUlRY2dBQ0FEUVFFUWNpQVNJQVZCQVVoeEJFQWdCeUVEREFJTElBQkJ4UDRDUVFFUWNpQUhJUU1GSUFNZ0RrME5BU0FPUVRBZ0F5QVJhaEJGR2dOQUlBTkJmMm9pQXlBT1N3MEFDd3NMSUFBZ0F5QVRJQU5ySWdNZ0JTQUZJQU5LR3hCeUlBWkJCR29pQmlBTFNTQUZJQU5ySWdWQmYwcHhEUUFnQlFzRklBTUxRUkpxUVJKQkFCQjFJQUFnQ0NBUElBaHJFSElMSUFCQklDQUNJQTBnQkVHQXdBQnpFSFVnRFFzTElRQWdGQ1FHSUFJZ0FDQUFJQUpJR3dzMEFDQUFJQUJpQkg5QkFBVWdBRVFBQUFBQUFBRHdRV1lFZjBFQUJTQUFSQUFBQUFBQUFQQy9aUVIvUVFBRklBQ3JDd3NMQ3lZQkFYOGpCaUVDSXdaQkVHb2tCaUFDSUFFMkFnQWdBRUgyL1FJZ0FoQ2xBaG9nQWlRR0MxWUJBMzhnQUNnQ1ZDSURRUUFnQWtHQUFtb2lCUkNtQWlFRUlBRWdBeUFFSUFOcklBVWdCQnNpQVNBQ0lBRWdBa2tiSWdJUVRCb2dBQ0FDSUFOcU5nSUVJQUFnQVNBRGFpSUJOZ0lJSUFBZ0FUWUNWQ0FDQzZVQ0FncC9BWHdnQUNnQ0NDRUdJQUFvQWdRaUJTQUJLQUlFUmdSQUlBRW9BZ2dnQlVZRVFBSkFJQUVvQWdBaUNpRUhBMEFnQWlBRlRnUkFRUUFoQUF3Q0N5QUNJQVpzSVF0QkFDRURJQWNoQVFOQUlBTWdCVWNFUUNBRElBSkpCRUFnQVNBQ0lBTWdCV3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJDQUJSQUFBQUFBQUFBQUFPUU1BUVFBaENDQUxRUU4wSUFScUlRa2dBeUFHYkVFRGRDQUVhaUVFUkFBQUFBQUFBQUFBSVF3RFFDQUlJQVpPRFFFZ0FTQU1JQWtyQXdBZ0JDc0RBS0tnSWd3NUF3QWdDRUVCYWlFSUlBbEJDR29oQ1NBRVFRaHFJUVFNQUFBTEFBc0xJQU5CQVdvaEF5QUJRUWhxSVFFTUFRc0xJQUpCQVdvaEFpQUZRUU4wSUFkcUlRY01BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXY3QXdJRGZ3VitJQUM5SWdkQ05JaW5RZjhQY1NFQ0lBRzlJZ1pDTklpblFmOFBjU0VFSUFkQ2dJQ0FnSUNBZ0lDQWY0TWhDUUo4QWtBZ0JrSUJoaUlGVUEwQUFud2dBa0gvRDBZZ0FiMUMvLy8vLy8vLy8vLy9BSU5DZ0lDQWdJQ0FnUGovQUZaeURRRWdCMElCaGlJSUlBVllCRUFnQUVRQUFBQUFBQUFBQUtJZ0FDQUZJQWhSR3c4TElBSUVmaUFIUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBQ0lRRklBZENESVlpQlVKL1ZRUkFRUUFoQWdOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZjFVTkFBc0ZRUUFoQWdzZ0IwRUJJQUpycllZTElnZ2dCQVIrSUFaQy8vLy8vLy8vL3dlRFFvQ0FnSUNBZ0lBSWhBVWdCa0lNaGlJRlFuOVZCRUFEUUNBRFFYOXFJUU1nQlVJQmhpSUZRbjlWRFFBTEN5QUdRUUVnQXlJRWE2MkdDeUlHZlNJRlFuOVZJUU1nQWlBRVNnUkFBa0FEUUFKQUlBTUVRQ0FGVUEwQkJTQUlJUVVMSUFWQ0FZWWlDQ0FHZlNJRlFuOVZJUU1nQWtGL2FpSUNJQVJLRFFFTUFnc0xJQUJFQUFBQUFBQUFBQUNpREFJTEN5QURCRUFnQUVRQUFBQUFBQUFBQUtJZ0JWQU5BUm9GSUFnaEJRc2dCVUtBZ0lDQWdJQ0FDRlFFUUFOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZ0lDQWdJQ0FnQWhVRFFBTEN5QUZRb0NBZ0lDQWdJQjRmQ0FDclVJMGhvUWdCVUVCSUFKcnJZZ2dBa0VBU2hzZ0NZUy9Dd3dCQ3lBQUlBR2lJZ0FnQUtNTEMva1RBdzUvQW40SGZDTUdJUW9qQmtHQUJHb2tCa0VBSUFJZ0Eyb2lFR3NoRVFKQUFrQURRQUpBQWtBQ1FDQUJRUzVyRGdNRUFBRUFDeUFCSVFZZ0J5RUJEQUVMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFGQkFTRUhEQUVMQ3d3QkN5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUN5SUdRVEJHQkg4RGZ5QVVRbjk4SVJRZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUJrRXdSZzBBUVFFaEMwRUJDd1ZCQVNFTElBY0xJUUVMSUFwQkFEWUNBQUo4QWtBQ1FBSkFBa0FnQmtFdVJpSU9JQVpCVUdvaURVRUtTWElFUUFKQVFRQWhCeUFHSVFrZ0RTRUdBMEFDUUNBT0JFQWdDdzBCUVFFaEN5QVZJUlFGQWtBZ0ZVSUJmQ0VWSUFsQk1FY2hEU0FJUWYwQVRnUkFJQTFGRFFFZ0NpQUtLQUx3QTBFQmNqWUM4QU1NQVFzZ0NFRUNkQ0FLYWlJQklBd0VmeUFKUVZCcUlBRW9BZ0JCQ214cUJTQUdDellDQUNBTVFRRnFJZ1pCQ1VZaEFVRUFJQVlnQVJzaERDQUJJQWhxSVFnZ0ZhY2dCeUFOR3lFSFFRRWhBUXNMSUFBb0FnUWlCaUFBS0FKb1NRUi9JQUFnQmtFQmFqWUNCQ0FHTFFBQUJTQUFFRlFMSWdsQlVHb2lCa0VLU1NBSlFTNUdJZzV5RFFFZ0NTRUdEQUlMQ3lBQlFRQkhJUUVNQWdzRlFRQWhCd3NnRkNBVklBc2JJUlFnQVVFQVJ5SUJJQVpCSUhKQjVRQkdjVVVFUUNBR1FYOUtCRUFNQWdVTUF3c0FDeUFVSUFBZ0JSQ1JBeUlVUW9DQWdJQ0FnSUNBZ0g5UkJINGdCVVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQmdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRkF0OElSUU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkNBQlJRMENEQU1MQ3lBQlJRMEFEQUVMUWFURkEwRWNOZ0lBSUFCQ0FCQ0NBVVFBQUFBQUFBQUFBQXdCQ3lBRXQwUUFBQUFBQUFBQUFLSWdDaWdDQUNJQVJRMEFHaUFVSUJWUklCVkNDbE54QkVBZ0JMY2dBTGlpSUFBZ0FuWkZJQUpCSGtweURRRWFDeUFVSUFOQmZoQTVyRlVFUUVHa3hRTkJ4QUEyQWdBZ0JMZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBVUlBTkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdCTGRFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QU1CRUFnREVFSlNBUkFJQWhCQW5RZ0Ntb2lCU2dDQUNFQkEwQWdBVUVLYkNFQklBeEJBV29oQUNBTVFRaElCRUFnQUNFTURBRUxDeUFGSUFFMkFnQUxJQWhCQVdvaENBc2dGS2NoQVNBSFFRbElCRUFnQVVFU1NDQUhJQUZNY1FSQUlBRkJDVVlFUUNBRXR5QUtLQUlBdUtJTUF3c2dBVUVKU0FSQUlBUzNJQW9vQWdDNG9rRUFJQUZyUVFKMFFjRFVBR29vQWdDM293d0RDeUFDUVJ0cUlBRkJmV3hxSWdCQkhrb2dDaWdDQUNJRklBQjJSWElFUUNBRXR5QUZ1S0lnQVVFQ2RFSDQwd0JxS0FJQXQ2SU1Bd3NMQ3lBQlFRa1FUeUlBQkg5QkFDQUFJQUJCQ1dvZ0FVRi9TaHNpREd0QkFuUkJ3TlFBYWlnQ0FDRUdJQWdFZjBHQWxPdmNBeUFHRURraEMwRUFJUWRCQUNFQVFRQWhCUU5BSUFjZ0JVRUNkQ0FLYWlJTktBSUFJZzRnQmhCSUlnOXFJUWtnRFNBSk5nSUFJQXNnRGlBR0lBOXNhMndoQnlBQlFYZHFJQUVnQ1VVZ0FDQUZSbkVpQ1JzaEFTQUFRUUZxUWY4QWNTQUFJQWtiSVFBZ0JVRUJhaUlGSUFoSERRQUxJQWNFZnlBSVFRSjBJQXBxSUFjMkFnQWdBQ0VGSUFoQkFXb0ZJQUFoQlNBSUN3VkJBQ0VGUVFBTElRQWdBVUVKSUF4cmFpRUJJQVVGSUFnaEFFRUFDeUVIUVFBaEJRTkFBa0FnQVVFU1NDRU1JQUZCRWtZaERTQUhRUUowSUFwcUlRNERRQ0FNUlFSQUlBMUZEUUlnRGlnQ0FFSGY0S1VFVHdSQVFSSWhBUXdEQ3d0QkFDRUlJQUJCL3dCcUlRc0RRQ0FJclNBTFFmOEFjU0lKUVFKMElBcHFJZ1lvQWdDdFFoMkdmQ0lVcHlFTElCUkNnSlRyM0FOV0JFQWdGRUtBbE92Y0F4RDJBU0lWcHlFSUlCUWdGVUtBbE92Y0EzNTlweUVMQlVFQUlRZ0xJQVlnQ3pZQ0FDQUFJQUFnQ1NBTEd5QUhJQWxHSWc4Z0NTQUFRZjhBYWtIL0FIRkhjaHNoQmlBSlFYOXFJUXNnRDBVRVFDQUdJUUFNQVFzTElBVkJZMm9oQlNBSVJRMEFDeUFHUWY4QWFrSC9BSEVoQ1NBR1FmNEFha0gvQUhGQkFuUWdDbW9oRENBSFFmOEFha0gvQUhFaUJ5QUdSZ1JBSUF3Z0NVRUNkQ0FLYWlnQ0FDQU1LQUlBY2pZQ0FDQUpJUUFMSUFkQkFuUWdDbW9nQ0RZQ0FDQUJRUWxxSVFFTUFRc0xBMEFDUUNBQVFRRnFRZjhBY1NFR0lBQkIvd0JxUWY4QWNVRUNkQ0FLYWlFTUEwQUNRQ0FCUVJKR0lRaEJDVUVCSUFGQkcwb2JJUWtEUUVFQUlRNENRQUpBQTBBQ1FDQUFJQWNnRG1wQi93QnhJZ3RHRFFJZ0MwRUNkQ0FLYWlnQ0FDSUxJQTVCQW5SQnFJb0JhaWdDQUNJTlNRMENJQXNnRFVzTkFDQU9RUUZxUVFKUERRSkJBU0VPREFFTEN3d0JDeUFJRFFRTElBVWdDV29oQlNBQUlBZEdCRUFnQUNFSERBRUxDMEVCSUFsMFFYOXFJUTVCZ0pUcjNBTWdDWFloRDBFQUlRZ2dCeUVMQTBBZ0NDQUxRUUowSUFwcUloSW9BZ0FpRXlBSmRtb2hEU0FTSUEwMkFnQWdEeUFPSUJOeGJDRUlJQUZCZDJvZ0FTQU5SU0FISUF0R2NTSU5HeUVCSUFkQkFXcEIvd0J4SUFjZ0RSc2hCeUFMUVFGcVFmOEFjU0lMSUFCSERRQUxJQWdFUUNBR0lBZEhEUUVnRENBTUtBSUFRUUZ5TmdJQUN3d0JDd3NnQUVFQ2RDQUthaUFJTmdJQUlBWWhBQXdCQ3d0QkFDRUJBMEFnQUVFQmFrSC9BSEVoQmlBQUlBRWdCMnBCL3dCeElnbEdCRUFnQmtGL2FrRUNkQ0FLYWtFQU5nSUFJQVloQUFzZ0ZrUUFBQUFBWmMzTlFhSWdDVUVDZENBS2FpZ0NBTGlnSVJZZ0FVRUJhaUlCUVFKSERRQUxJQllnQkxjaUdLSWhGeUFGUVRWcUlnWWdBMnNpQXlBQ1NDRUVJQU5CQUNBRFFRQktHeUFDSUFRYklnRkJOVWdFUUVRQUFBQUFBQUR3UDBIcEFDQUJheENmQVNBWEVKQURJaGtoR2lBWFJBQUFBQUFBQVBBL1FUVWdBV3NRbndFUWp3TWlHeUVXSUJrZ0Z5QWJvYUFoRndWRUFBQUFBQUFBQUFBaEZnc2dCMEVDYWtIL0FIRWlBaUFBUndSQUFrQWdBa0VDZENBS2FpZ0NBQ0lDUVlES3RlNEJTUVI4SUFKRlFRQWdBQ0FIUVFOcVFmOEFjVVliRFFFZ0dFUUFBQUFBQUFEUVA2SWdGcUFGSUFKQmdNcTE3Z0ZIQkVBZ0dFUUFBQUFBQUFEb1A2SWdGcUFoRmd3Q0N5QVlSQUFBQUFBQUFPQS9vaUFXb0NBWVJBQUFBQUFBQU9nL29pQVdvQ0FBSUFkQkEycEIvd0J4UmhzTElSWUxRVFVnQVd0QkFVb0VmQ0FXUkFBQUFBQUFBUEEvRUk4RFJBQUFBQUFBQUFBQVlRUjhJQlpFQUFBQUFBQUE4RCtnQlNBV0N3VWdGZ3NoRmdzZ0Z5QVdvQ0Fhb1NFWElBWkIvLy8vL3dkeFFYNGdFR3RLQkh3Q2ZDQUZJQmVaUkFBQUFBQUFBRUJEWmtVaUFFRUJjMm9oQlNBWElCZEVBQUFBQUFBQTREK2lJQUFiSVJjZ0JVRXlhaUFSVEFSQUlCY2dCQ0FBSUFFZ0EwZHljU0FXUkFBQUFBQUFBQUFBWW5GRkRRRWFDMEdreFFOQnhBQTJBZ0FnRndzRklCY0xJQVVRamdNTElSd2dDaVFHSUJ3TDhnZ0RDSDhGZmdOOElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVUNRQUpBQTBBQ1FBSkFJQVZCTG1zT0F3TUJBQUVMSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFWQkFTRUlEQUVMQ3d3QkN5QUFLQUlFSWdVZ0FDZ0NhRWtFZnlBQUlBVkJBV28yQWdRZ0JTMEFBQVVnQUJCVUN5SUZRVEJHQkg4RGZ5QU5Rbjk4SVEwZ0FDZ0NCQ0lGSUFBb0FtaEpCSDhnQUNBRlFRRnFOZ0lFSUFVdEFBQUZJQUFRVkFzaUJVRXdSZzBBUVFFaENFRUJDd1ZCQVFzaENRdEVBQUFBQUFBQThEOGhFeUFGSVFjZ0NDRUZBMEFDUUNBSFFTQnlJUWdDUUFKQUlBZEJVR29pQzBFS1NRMEFJQWRCTGtZaURDQUlRWjkvYWtFR1NYSkZEUUlnREVVTkFDQUpCSDVCTGlFSERBTUZRUUVoQ1NBUEN5RU5EQUVMSUFoQnFYOXFJQXNnQjBFNVNoc2hCU0FQUWdoVEJFQWdCU0FHUVFSMGFpRUdCU0FQUWc1VEJId2dFMFFBQUFBQUFBQ3dQNklpRkNFVElCSWdGQ0FGdDZLZ0JTQUtRUUVnQlVVZ0NrRUFSM0lpQlJzaENpQVNJQklnRTBRQUFBQUFBQURnUDZLZ0lBVWJDeUVTQ3lBUFFnRjhJUTlCQVNFRkN5QUFLQUlFSWdjZ0FDZ0NhRWtFZnlBQUlBZEJBV28yQWdRZ0J5MEFBQVVnQUJCVUN5RUhEQUVMQ3lBRkJId0NmQ0FQUWdoVEJFQWdEeUVPQTBBZ0JrRUVkQ0VHSUE1Q0FYd2hFQ0FPUWdkVEJFQWdFQ0VPREFFTEN3c0NmeUFIUVNCeVFmQUFSZ1IrSUFBZ0JCQ1JBeUlPUW9DQWdJQ0FnSUNBZ0g5UkJINGdCRVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQkFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRGdzRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRZ0FMSVJFZ0E3ZEVBQUFBQUFBQUFBQ2lJQVpGRFFFYUlCRWdEU0FQSUFrYlFnS0dRbUI4ZkNJTlFRQWdBbXVzVlFzRVFFR2t4UU5CeEFBMkFnQWdBN2RFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QU5JQUpCbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQTdkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFHUVg5S0JFQURRQ0FTUkFBQUFBQUFBT0EvWmtVaUFFRUJjeUFHUVFGMGNpRUdJQklnRWlBU1JBQUFBQUFBQVBDL29DQUFHNkFoRWlBTlFuOThJUTBnQmtGL1NnMEFDd3NDZkFKQUlBMUNJQ0FDckgxOElnNGdBYXhUQkVBZ0RxY2lBVUVBVEFSQVFRQWhBVUhVQUNFQURBSUxDMEhVQUNBQmF5RUFJQUZCTlVnTkFDQUR0eUVUUkFBQUFBQUFBQUFBREFFTFJBQUFBQUFBQVBBL0lBQVFud0VnQTdjaUV4Q1FBd3NoRkVRQUFBQUFBQUFBQUNBU0lBWkJBWEZGSUFGQklFZ2dFa1FBQUFBQUFBQUFBR0p4Y1NJQUd5QVRvaUFVSUJNZ0FDQUdhcmlpb0tBZ0ZLRWlFa1FBQUFBQUFBQUFBR0VFUUVHa3hRTkJ4QUEyQWdBTElCSWdEYWNRamdNTEJTQUFLQUpvUlNJQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0JBUkFJQUZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVJQUVnQ1VWeVJRUkFJQUFnQUNnQ0JFRi9hallDQkFzTEJTQUFRZ0FRZ2dFTElBTzNSQUFBQUFBQUFBQUFvZ3NMdmdNQkJIOGdBQ2dDQ0NJRklBQW9BZ1FpQXlBRklBTklHeUVHSUFWQkFrZ2dBMEVDU0hJRWYwRi9CU0FCS0FJSUlBVkdCSDhnQVNnQ0JDQUdSZ1IvSUFJb0FnUWdCa1lFZndKL0lBWWdCaENMQVNJRUtBSUVJQVpHQkVBZ0JDZ0NDQ0FHUmdSQUlBTWdCVWdpQXdSQUlBQWdCQkNOQlVFQVNBUkFJQVFRU1VGL0RBUUxCU0FBSUFRUWhnVkJBRWdFUUNBRUVFbEJmd3dFQ3dzZ0JDQUNFSU1GUVFCSUJFQWdCQkJKUVg4TUF3c2dBd1JBSUFBZ0JDQUJJQUlRL2dSQkFFZ0VRQ0FFRUVsQmZ3d0VDd1VDUUVFQUlRVWdCQ2dDQUNFRElBRW9BZ0FoQUFOQUFrQWdCU0FHVGcwQUlBSW9BZ0FnQlVFRGRHb3JBd0JFdkluWWw3TFNuRHhqRFFCQkFDRUJBMEFnQVNBR1NBUkFJQUFnQXlzREFEa0RBQ0FCUVFGcUlRRWdBMEVJYWlFRElBQkJDR29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFGSVFFRFFDQUJJQVpPRFFFZ0FpZ0NBQ0FCUVFOMGFrUUFBQUFBQUFBQUFEa0RBRUVBSVFNRFFDQURJQVpJQkVBZ0FFUUFBQUFBQUFBQUFEa0RBQ0FEUVFGcUlRTWdBRUVJYWlFQURBRUxDeUFCUVFGcUlRRU1BQUFMQUFzTElBUVFTVUVBREFJTEN5QUVFRWxCZndzRlFYOExCVUYvQ3dWQmZ3c0xDOUlUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnY2hEQ0FCSUFKQmYyb2lFR3hCQVhRZ0Iyb2hCZ05BSUFVZ0FVZ0VRQ0FHUVFBN0FRQWdERUVBT3dFQUlBeEJBbW9oRENBRlFRRnFJUVVnQmtFQ2FpRUdEQUVMQzBFQUlRd2dCeUlHSUFGQmYyb2lFVUVCZEdvaEJRTkFJQXdnQWtnRVFDQUZRUUE3QVFBZ0JrRUFPd0VBSUFGQkFYUWdCbW9oQmlBTVFRRnFJUXdnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRWkJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERFRUJJUXBCQUNFRklBQkJBWFFnQjJvaEF3Si9Ba0FEUUFKQUlBb2dFRTROQWlBRklRQkJBU0VJSUFNaEN3TkFJQWdnRVVnRVFDQU5MUUFBSUF3dEFBQktCRUFDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEJTQUxRUUE3QVFBTElBMUJBV29oRFNBTVFRRnFJUXdnQ0VFQmFpRUlJQXRCQW1vaEN3d0JDd3NnRFVFQ2FpRU5JQXhCQW1vaERDQUtRUUZxSVFvZ0FDRUZJQXRCQkdvaEF3d0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaEJ3TkFJQWNnQlV3RVFDQUhJQVlvQWdBaURFWUVRQ0FBUVFGcUlRTUZJQUFoQXlBTVFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBRElRQWdCMEVCYWlFSElBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnWTJBZ2dnQmdSL0lBMUJBQ0FHUVFKMEVFVWFJQVJCa0lBb2FrRUFJQVpCQkhRUVJScEJBQ0VEQTBBZ0F5QUdTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnWkJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTFV3RUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FDZ0NBRFlDQUFOQUlBSW9BZ0JCQTJwQmZIRWlBQ2dDQUNFRElBSWdBRUVFYWpZQ0FDQUJRWDlxSVFBZ0FVRUJTd1JBSUFBaEFRd0JDd3NnQWlRR0lBTUx4aFFERVg4RGZnRjhJd1loQ1NNR1FhQUNhaVFHSUFBb0FreEJmMG9FZjBFQkJVRUFDeG9nQ1VHSUFtb2hEU0FKUVlRQ2FpRVNJQWxCa0FKcUlSTWdBU3dBQUNJTEJFQUNRQUpBQWtBQ1FBSkFBMEFDUUNBTFFmOEJjUkN5QVFSQUEwQWdBVUVCYWlJRExRQUFFTElCQkVBZ0F5RUJEQUVMQ3lBQVFnQVFnZ0VEUUNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3hDeUFRMEFDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ3MyQWdRRklBQW9BZ1FoQ3dzZ0N5QUFLQUlJYTZ3Z0ZDQUFLUU40Zkh3aEZBVUNRQ0FCTEFBQVFTVkdJZ2NFUUFKQUFuOENRQUpBSUFGQkFXb2lCQ3dBQUNJRFFTVnJEZ1lEQVFFQkFRQUJDMEVBSVFvZ0FVRUNhZ3dCQ3lBRFFmOEJjUkNLQVFSQUlBRXNBQUpCSkVZRVFDQUNJQVF0QUFCQlVHb1Frd1VoQ2lBQlFRTnFEQUlMQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQ2lBQ0lBRkJCR28yQWdBZ0JBc2lBUzBBQUJDS0FRUkFRUUFoQkFOQUlBRXRBQUFnQkVFS2JFRlFhbW9oQkNBQlFRRnFJZ0V0QUFBUWlnRU5BQXNGUVFBaEJBc2dBVUVCYWlFSElBRXNBQUFpQ0VIdEFFWUVmMEVBSVFZZ0FVRUNhaUVCSUFjaUF5d0FBQ0VJUVFBaEJTQUtRUUJIQlNBQklRTWdCeUVCUVFBTElRc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSVFSaDBRUmgxUWNFQWF3NDZCUTRGRGdVRkJRNE9EZzRFRGc0T0RnNE9CUTRPRGc0RkRnNEZEZzRPRGc0RkRnVUZCUVVGQUFVQ0RnRU9CUVVGRGc0RkF3VU9EZ1VPQXc0TFFYNUJmeUFCTEFBQVFlZ0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVVMUVFOQkFTQUJMQUFBUWV3QVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBUUxRUU1oQ0F3REMwRUJJUWdNQWd0QkFpRUlEQUVMUVFBaENDQURJUUVMUVFFZ0NDQUJMUUFBSWdkQkwzRkJBMFlpQXhzaERpQUFBbjhDUUFKQUFrQUNRQ0FIUVNCeUlBY2dBeHNpREVIL0FYRWlCMEVZZEVFWWRVSGJBR3NPRkFFREF3TURBd01EQUFNREF3TURBd01EQXdNQ0F3c2dCRUVCSUFSQkFVb2JEQU1MSUFRTUFnc2dDaUFPSUJRUWxBTU1CQXNnQUVJQUVJSUJBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNRc2dFTkFBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FpSUlOZ0lFQlNBQUtBSUVJUWdMSUFnZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRZ0JBc2lFYXdpRmhDQ0FTQUFLQUlFSWdNZ0FDZ0NhQ0lFU1FSQUlBQWdBMEVCYWpZQ0JBVWdBQkJVUVFCSURRZ2dBQ2dDYUNFRUN5QUVCRUFnQUNBQUtBSUVRWDlxTmdJRUN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwRVlkRUVZZFVIQkFHc09PQVVIQndjRkJRVUhCd2NIQndjSEJ3Y0hCd2NIQndjSEFRY0hBQWNIQndjSEJRY0FBd1VGQlFjRUJ3Y0hCd2NDQVFjSEFBY0RCd2NCQndzZ0RFRVFja0h6QUVZRVFDQUpRWDlCZ1FJUVJSb2dDVUVBT2dBQUlBeEI4d0JHQkVBZ0NVRUFPZ0FoSUFsQkFEWUJDaUFKUVFBNkFBNExCUUpBSUFrZ0FVRUJhaUlITEFBQVFkNEFSaUlESWdSQmdRSVFSUm9nQ1VFQU9nQUFBa0FDUUFKQUlBRkJBbW9nQnlBREd5SUJMQUFBUVMxcklnTUVRQ0FEUVRCR0JFQU1BZ1VNQXdzQUN5QUpJQVJCQVhNaUNEb0FMaUFCUVFGcUlRRU1BZ3NnQ1NBRVFRRnpJZ2c2QUY0Z0FVRUJhaUVCREFFTElBUkJBWE1oQ0FzRFFBSkFBa0FnQVN3QUFDSUVEbDRUQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFREFRc2dBVUVCYWlJRExBQUFJZ1FpQjBFQUlBZEIzUUJIRzBVRVFFRXRJUVFNQVFzZ0FVRi9haTBBQUNJQklBUkIvd0Z4U0FSL0EzOGdBVUVCYWlJQklBbHFJQWc2QUFBZ0FTQURMQUFBSWdkQi93RnhTUTBBSUFNaEFTQUhDd1VnQXlFQklBUUxJUVFMSUFSQi93RnhRUUZxSUFscUlBZzZBQUFnQVVFQmFpRUJEQUFBQ3dBTEN5QVJRUUZxUVI4Z0RFSGpBRVlpREJzaEJDQUxRUUJISVJBZ0RrRUJSaUlSQkVBZ0VBUkFJQVJCQW5RUVJDSUZSUVJBUVFBaEJrRUFJUVVNRVFzRklBb2hCUXNnRFVFQU5nSUFJQTFCQURZQ0JFRUFJUVlEUUFKQUlBVkZJUWNEUUFOQUFrQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVOQXlBVElBTTZBQUFDUUFKQUlCSWdFMEVCSUEwUTF3RkJmbXNPQWdFQUFndEJBQ0VHREJVTERBRUxDeUFIUlFSQUlBWkJBblFnQldvZ0VpZ0NBRFlDQUNBR1FRRnFJUVlMSUJBZ0JDQUdSbkZGRFFBTElBVWdCRUVCZEVFQmNpSUVRUUowRU9nQklnTUVRQ0FESVFVTUFnVkJBQ0VHREJJTEFBc0xJQTBFZnlBTktBSUFSUVZCQVFzRWZ5QUdJUVFnQlNFRFFRQUZRUUFoQmd3UUN5RUdCUUpBSUJBRVFDQUVFRVFpQmtVRVFFRUFJUVpCQUNFRkRCSUxRUUFoQlFOQUEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVFUUNBRklRUkJBQ0VEUVFBaEJRd0VDeUFGSUFacUlBTTZBQUFnQlVFQmFpSUZJQVJIRFFBTElBWWdCRUVCZEVFQmNpSUVFT2dCSWdNRVFDQURJUVlNQVFWQkFDRUZEQk1MQUFBTEFBc2dDa1VFUUFOQUlBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTFFRRnFJQWxxTEFBQURRQkJBQ0VFUVFBaEJrRUFJUU5CQUNFRkRBSUFDd0FMUVFBaEJBTi9JQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJZ1ZCQVdvZ0NXb3NBQUFFZnlBRUlBcHFJQVU2QUFBZ0JFRUJhaUVFREFFRlFRQWhBMEVBSVFVZ0Nnc0xJUVlMQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdnMkFnUUZJQUFvQWdRaENBc2dBQ2tEZUNBSUlBQW9BZ2hyckh3aUZWQWdERUVCY3lBVklCWlJja1Z5RFFzZ0VBUkFJQkVFUUNBS0lBTTJBZ0FGSUFvZ0JqWUNBQXNMSUF4RkJFQWdBd1JBSUFSQkFuUWdBMnBCQURZQ0FBc2dCa1VFUUVFQUlRWU1DQXNnQkNBR2FrRUFPZ0FBQ3d3R0MwRVFJUVFNQkF0QkNDRUVEQU1MUVFvaEJBd0NDMEVBSVFRTUFRc2dBQ0FPUVFBUWtnTWhGeUFBS1FONFFnQWdBQ2dDQkNBQUtBSUlhNng5VVEwR0lBb0VRQUpBQWtBQ1FDQU9EZ01BQVFJRkN5QUtJQmUyT0FJQURBUUxJQW9nRnprREFBd0RDeUFLSUJjNUF3QU1BZ3NNQVFzZ0FDQUVRUUJDZnhDVEF5RVZJQUFwQTNoQ0FDQUFLQUlFSUFBb0FnaHJySDFSRFFVZ0RFSHdBRVlnQ2tFQVIzRUVRQ0FLSUJVK0FnQUZJQW9nRGlBVkVKUURDd3NnRHlBS1FRQkhhaUVQSUFBb0FnUWdBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUU1BZ3NMSUFCQ0FCQ0NBU0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUVESUFNZ0FTQUhhaUlCTFFBQVJ3MEVJQlJDQVh3aEZBc0xJQUZCQVdvaUFTd0FBQ0lMRFFFTUJnc0xEQU1MSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBTkJmMG9nRDNJTkEwRUFJUXNNQVFzZ0QwVU5BQXdCQzBGL0lROExJQXNFUUNBR0VEZ2dCUkE0Q3dzTElBa2tCaUFQQ3dzQUlBQWdBU0FDRUl3RkMza0JCWDhnQUNnQ0JDRUZJQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZjBFQUlRTWdBU2dDQUNFRUEwQWdBeUFHU0FSQUlBQWdBQ3NEQUNBRUt3TUFvVGtEQUNBRFFRRnFJUU1nQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NMTHdFQ2Z5QUFFS3NDSWdFb0FnQTJBamdnQVNnQ0FDSUNCRUFnQWlBQU5nSTBDeUFCSUFBMkFnQkJxTVVERUE0TDZ3SUJCMzhqQmlFREl3WkJNR29rQmlBRFFSaHFJUVFnQTBFSWFpRUZJQU5CS0dvaEJrSDYvUUlnQVN3QUFCQy9BUVJBUVpnSkVFUWlBZ1JBSUFKQkFFR1FBUkJGR2dKL0lBRkJLeEMvQVVVaENDQUJMQUFBSVFFZ0NBc0VRQ0FDUVFoQkJDQUJRZklBUmhzMkFnQUxJQUZCNFFCR0JFQWdBeUFBTmdJQUlBTkJBellDQkVIZEFTQURFQmtpQVVHQUNIRkZCRUFnQlNBQU5nSUFJQVZCQkRZQ0JDQUZJQUZCZ0FoeU5nSUlRZDBCSUFVUUdSb0xJQUlnQWlnQ0FFR0FBWElpQVRZQ0FBVWdBaWdDQUNFQkN5QUNJQUEyQWp3Z0FpQUNRWmdCYWpZQ0xDQUNRWUFJTmdJd0lBSkJmem9BU3lBQlFRaHhSUVJBSUFRZ0FEWUNBQ0FFUVpPb0FUWUNCQ0FFSUFZMkFnaEJOaUFFRURORkJFQWdBa0VLT2dCTEN3c2dBa0VDTmdJZ0lBSkJBVFlDSkNBQ1FRRTJBaWdnQWtFQ05nSU1RZWpFQXlnQ0FFVUVRQ0FDUVg4MkFrd0xJQUlRbHdVRlFRQWhBZ3NGUWFURkEwRWNOZ0lBQ3lBREpBWWdBZ3R3QVFKL0lBQkJLeEMvQVVVaEFTQUFMQUFBSWdKQjhnQkhRUUlnQVJzaUFTQUJRWUFCY2lBQVFmZ0FFTDhCUlJzaUFTQUJRWUNBSUhJZ0FFSGxBQkMvQVVVYklnQWdBRUhBQUhJZ0FrSHlBRVliSWdCQmdBUnlJQUFnQWtIM0FFWWJJZ0JCZ0FoeUlBQWdBa0hoQUVZYkMvZ0JBZ1ovQVh3Z0FDZ0NCQ0lIUVFGSUlBQW9BZ2dpQTBFQlNISUVmMEYvQlNBRElBRW9BZ1JHQkg4RFFDQUNJQU5IQkVBZ0FTZ0NBQ0FDUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FDUVFGcUlRSU1BUXNMSUFBb0FnQWhBQU5BSUFVZ0IwY0VRRUVBSVFZZ0FTZ0NBQ0VFSUFBaEFnTkFJQU1nQmtjRVFDQUVJQUlyQXdBZ0JDc0RBS0E1QXdBZ0JrRUJhaUVHSUFSQkNHb2hCQ0FDUVFocUlRSU1BUXNMSUFOQkEzUWdBR29oQUNBRlFRRnFJUVVNQVFzTElBZTNJUWhCQUNFQUEzOGdBQ0FEUmdSL1FRQUZJQUVvQWdBZ0FFRURkR29pQWlBQ0t3TUFJQWlqT1FNQUlBQkJBV29oQUF3QkN3c0ZRWDhMQ3d2c0FnRUxmeUFBS0FJSUlBQW9BZ0JCb3RydjF3WnFJZ1lRc1FFaEJDQUFLQUlNSUFZUXNRRWhCU0FBS0FJUUlBWVFzUUVoQXlBRUlBRkJBblpKQkg4Z0JTQUJJQVJCQW5ScklnZEpJQU1nQjBseEJIOGdBeUFGY2tFRGNRUi9RUUFGQW44Z0JVRUNkaUVKQW44Z0EwRUNkaUVOUVFBaEJRTkFBa0FnQ1NBRklBUkJBWFlpQjJvaUMwRUJkQ0lNYWlJRFFRSjBJQUJxS0FJQUlBWVFzUUVoQ0VFQUlBTkJBV3BCQW5RZ0FHb29BZ0FnQmhDeEFTSURJQUZKSUFnZ0FTQURhMGx4UlEwREdrRUFJQUFnQXlBSWFtb3NBQUFOQXhvZ0FpQUFJQU5xRUxNQklnTkZEUUFnQTBFQVNDRURRUUFnQkVFQlJnMERHaUFGSUFzZ0F4c2hCU0FISUFRZ0Iyc2dBeHNoQkF3QkN3c2dEU0FNYWlJQ1FRSjBJQUJxS0FJQUN5QUdFTEVCSVFRZ0FrRUJha0VDZENBQWFpZ0NBQ0FHRUxFQklnSWdBVWtnQkNBQklBSnJTWEVFZjBFQUlBQWdBbW9nQUNBQ0lBUnFhaXdBQUJzRlFRQUxDd3NGUVFBTEJVRUFDd3MrQVFGL0lBQW9Ba1FFUUNBQUtBS0VBU0lCQkVBZ0FTQUFLQUtBQVRZQ2dBRUxJQUFvQW9BQklnQUVmeUFBUVlRQmFnVkJsSW9CQ3lBQk5nSUFDd3ZxQWdJRGZ3RjhJQUFvQWdRaUJpQUFLQUlJSWdVZ0JpQUZTQnNoQkNBR1FRSklJQVZCQWtoeUJFQkJmeUVBQlNBQktBSUlJQVZHQkVBZ0FTZ0NCQ0FFUmdSQUlBSW9BZ1FnQkVZRVFDQURLQUlFSUFWR0JFQWdBQkRmQlNJRUJFQUNRQ0FFSUFNUW1nVkJBRWdFUUNBRUVFbEJmeUVBREFFTElBUWdBeENXQlVFQVNBUkFJQVFRU1VGL0lRQU1BUXNnQnJlZklRY2dCU0FHYkNFRFFRQWhBQU5BSUFBZ0EwZ0VRQ0FFS0FJQUlBQkJBM1JxSWdVZ0JTc0RBQ0FIb3prREFDQUFRUUZxSVFBTUFRc0xJQVFnQVNBQ0VKRUZJUUFnQkJCSklBSW9BZ1FoQTBRQUFBQUFBQUFBQUNFSFFRQWhBUU5BSUFFZ0EwZ0VRQ0FISUFJb0FnQWdBVUVEZEdvckF3Q2dJUWNnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdBaWdDQUNBQlFRTjBhaUlFSUFRckF3QWdCNk01QXdBZ0FVRUJhaUVCREFFTEN3c0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNMSUFBTEJBQkNBQXZoQVFFRWZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVRZQ0FDQUVJQUlnQUNnQ01DSURRUUJIYXpZQ0JDQUVJQUFvQWl3MkFnZ2dCQ0FETmdJTUFrQUNRQ0FBS0FJOElBUkJBaUFFUVJCcUlnTVFNUkNzQWdSQUlBTkJmellDQUVGL0lRSU1BUVVnQXlnQ0FDSURRUUZJQkVBZ0F5RUNEQUlGSUFNZ0JDZ0NCQ0lHU3dSQUlBQWdBQ2dDTENJRk5nSUVJQUFnQlNBRElBWnJhallDQ0NBQUtBSXdCRUFnQUNBRlFRRnFOZ0lFSUFFZ0FrRi9hbW9nQlN3QUFEb0FBQXNGSUFNaEFnc0xDd3dCQ3lBQUlBQW9BZ0FnQWtFd2NVRVFjM0kyQWdBTElBUWtCaUFDQ3dZQVFhVEZBd3RHQWdGL0FYNGpCaUVESXdaQkVHb2tCaUFBS0FJOElBR25JQUZDSUlpbklBSkIvd0Z4SUFNUUhSQ3NBZ1IrSUFOQ2Z6Y0RBRUovQlNBREtRTUFDeUVFSUFNa0JpQUVDN2NDQVFkL0l3WWhCaU1HUVNCcUpBWWdCa0VRYWlFSElBWWlBeUFBS0FJY0lnUTJBZ0FnQXlBQUtBSVVJQVJySWdVMkFnUWdBeUFCTmdJSUlBTWdBallDREVFQ0lRUWdBaUFGYWlFRklBTWhBUUpBQWtBRFFDQUFLQUk4SUFFZ0JDQUhFREFRckFJRWZ5QUhRWDgyQWdCQmZ3VWdCeWdDQUFzaUF5QUZSd1JBSUFOQkFFZ05BaUFCUVFocUlBRWdBeUFCS0FJRUlnaExJZ2tiSWdFZ0F5QUlRUUFnQ1J0cklnZ2dBU2dDQUdvMkFnQWdBU0FCS0FJRUlBaHJOZ0lFSUFRZ0NVRWZkRUVmZFdvaEJDQUZJQU5ySVFVTUFRc0xJQUFnQUNnQ0xDSUJJQUFvQWpCcU5nSVFJQUFnQVRZQ0hDQUFJQUUyQWhRTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQUtBSUFRU0J5TmdJQUlBUkJBa1lFZjBFQUJTQUNJQUVvQWdSckN5RUNDeUFHSkFZZ0Fnc09BQ0FBS0FJOEVCaEIvLzhEY1F1bUFnRUNmd0pBQWtBZ0FDZ0NGQ0lCUWJOK2FrRUNUdzBBSUFCQlFHc29BZ0FOQUNBQUtBS01BU0FBS0FKMFNRUkFJQUFvQWdBaUFVSEZBRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXJ3REtBSUVJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBRUhTQVRZQ0ZBd0JDd0pBQWtBZ0FVSFBBV3NPQkFBQkFRSUJDeUFBUWRJQk5nSVVEQUVMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RJZ0VvQWhSRkJFQUNRQU5BQWtBZ0FTZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ3pBTWlBU2dDRkVVTkFRd0NDd3RCQUE4TEN5QUFLQUlZS0FJWUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCQ2RBMEVCQy8wR0FRUi9Ba0FDUUFKQUFrQUNRQUpBSUFBb0FoUWlBVUhJQVdzT0N3QUJBd0lDQWdJQ0FnUUNCQXNnQUVITUEyb2lBU2dDQUNnQ0JDRUNJQUFnQWtIL0FYRkJyQU5xRVFFQUlBQW9BaGdvQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUNBQVFja0JOZ0lVREFRTElBQkJ6QU5xSVFFTUF3c2dBQ2dDekFNb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUR3dEJBUThMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQUE4TElBRW9BZ0FvQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFVY0VRQ0FCRHdzQ1FBSkFBa0FDUUFKQUlBQW9BaVFpQVVFQmF3NEVBQU1CQWdNTElBRWhBZ3dEQ3lBQUtBTFlBU0lES0FJQUlRRWdBeWdDc0FFaUFrRURSaUFCUVFGR0lnUWdBeWdDV0NJRFFRSkdjWEVFZjBFRElRSkJBZ1VnQkNBRFFTSkdjU0FDUVNOR2NRUi9RUWNoQWtFQ0JTQUJRZElBUmlBRFFjY0FSbkVnQWtIQ0FFWnhCSDlCQWlFQ1FRSUZJQUZCOGdCR0lBTkI1d0JHY1NBQ1FlSUFSbkVFZjBFR0lRSkJBZ1VnQUNnQ25BSUVmMEVESVFKQkFnVWdBQ2dDcUFKRkJFQWdBQ2dDQUNJRUlBRTJBaGdnQkNBRE5nSWNJQVFnQWpZQ0lDQUVRZkVBTmdJVUlBUW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0JCQWlFQlFRTWhBZ3dJQ3dKQUFrQUNRQ0FBTEFDc0FpSUJEZ0lBQVFJTFFRSWhBVUVDSVFJTUNRdEJBaUVCUVFNaEFnd0lDeUFBS0FJQUlnSkI5QUEyQWhRZ0FpQUJRZjhCY1RZQ0dDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQVFRSWhBVUVESVFJTUJ3c0xDd3NMSVFFTUFnc2dBQ2dDcUFJRWZ3SkFBa0FDUUNBQUxBQ3NBaUlCRGdNQUFnRUNDMEVFSVFGQkJDRUNEQVFMUVFRaEFVRUZJUUlNQXdzZ0FDZ0NBQ0lDUWZRQU5nSVVJQUlnQVVIL0FYRTJBaGdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVFSVFGQkJTRUNEQUlGUVFRaEFrRUVDeUVCREFFTFFRQWhBVUVBSVFJTElBQWdBallDS0NBQUlBRTJBaXdnQUNBQUtBS3NBeUlCTmdJd0lBQWdBVFlDTkNBQVJBQUFBQUFBQVBBL09RTTRJQUJCUUd0QkFEWUNBQ0FBUVFBMkFrUWdBRUVBTmdKSUlBQkJBVFlDVENBQVFRRTJBbEFnQUVFQU5nSlVJQUJCQWpZQ1dDQUFRUUUyQWx3Z0FFR0FBallDWUNBQVFRQTJBb2dCSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0lBQkJ5Z0UyQWhSQkFRdU5BUUVDZnlBQUtBSVVJZ0pCZm5GQnlBRkhCRUFnQUNnQ0FDSURRUlUyQWhRZ0F5QUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUFrQWdBQkNsQlNJQ1FRRnJEZ0lBQVFJTFFRRVBDeUFCQkVBZ0FDZ0NBQ0lCUVRVMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUVKMERRUUlQQ3lBQ0N3Y0FJQUFRbmdNTG53SUJBbjhnQUVFQU5nSUVJQUZCMmdCSEJFQWdBQ2dDQUNJRFFRMDJBaFFnQTBIYUFEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUWVnRFJ3UkFJQUFvQWdBaUFVRVdOZ0lVSUFGQjZBTTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNDZnlBQUlRUWdBQ2dDQUNFQ0lBQW9BZ3doQXlBQVFRUnFRUUJCNUFNUVJSb2dBQ0FDTmdJQUlBQWdBellDRENBQVFRRTJBaEFnQkFzUXdnVWdBRUVBTmdJSUlBQkJBRFlDR0NBQVFRQTJBcmdDSUFCQ0FEY0NwQUVnQUVJQU53S3NBU0FBUWdBM0FyUUJJQUJDQURjQ3ZBRWdBRUlBTndMRUFTQUFRZ0EzQXN3QklBQVF1QVVnQUJDUUJpQUFRY2dCTmdJVUN4VUFJQUFvQWdBaUFFRUFOZ0pzSUFCQkFEWUNGQXZwQWdFS2Z5TUdJUVlqQmtFd2FpUUdJQVpCQ0dvaEJBSkFBa0FDZnlBQUtBSUFJZ0lvQWhRaUEwRUFTZ1JBSUFNZ0FpZ0NkRXdFUUNBQ0tBSndJQU5CQW5ScURBSUxDeUFDS0FKNElnVkZEUUVnQXlBQ0tBSjhJZ0JJRFFFZ0F5QUNLQUtBQVVvTkFTQURJQUJyUVFKMElBVnFDeWdDQUNJRlJRMEFEQUVMSUFJZ0F6WUNHQ0FDS0FKd0tBSUFJUVVMSUFVaEFBSkFBa0FEUUFKQUlBQkJBV29oQXdKQUlBQXNBQUFpQUFSQUlBQkJKVVlFUUF3RkJRd0NDd0FMREFFTElBTWhBQXdCQ3dzTUFRc2dBeXdBQUVIekFFWUVRQ0FHSUFKQkdHbzJBZ0FnQVNBRklBWVF2QUVnQmlRR0R3c0xJQUlvQWh3aEJ5QUNLQUlnSVFnZ0FpZ0NKQ0VKSUFJb0FpZ2hDaUFDS0FJc0lRc2dBaWdDTUNFRElBSW9BalFoQUNBRUlBSW9BaGcyQWdBZ0JDQUhOZ0lFSUFRZ0NEWUNDQ0FFSUFrMkFnd2dCQ0FLTmdJUUlBUWdDellDRkNBRUlBTTJBaGdnQkNBQU5nSWNJQUVnQlNBRUVMd0JJQVlrQmd0T0FRTi9Jd1loQVNNR1FkQUJhaVFHSUFBb0FnQW9BZ3doQWlBQUlBRWdBa0UvY1VHeUJXb1JBd0FDZjBHa2lBRW9BZ0FoQXlBQlFjZ0JhaUlDSUFFMkFnQWdBd3NnQWhDTEJTQUJKQVlMZVFFQmZ5QUFLQUlBSVFJZ0FVRUFUZ1JBSUFJb0FtZ2dBVWdFUUE4TElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQThMQWtBQ1FDQUNLQUpzSWdGRkRRQWdBaWdDYUVFQ1NnMEFEQUVMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUNLQUpzSVFFTElBSWdBVUVCYWpZQ2JBc21BUUYvSUFBb0FnQW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBRUo0RFFRRVFBUXRsQUNBQVFZd0JOZ0lBSUFCQk5UWUNCQ0FBUVkwQk5nSUlJQUJCTmpZQ0RDQUFRWTRCTmdJUUlBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nSVVJQUJCZ0JnMkFuQWdBRUgrQURZQ2RDQUFRUUEyQW5nZ0FFRUFOZ0o4SUFCQkFEWUNnQUVnQUFzckFRRi9JQUFvQWdRb0FnQWhBU0FBUVFCQmhBRWdBVUUvY1VIS0FXb1JCQUFpQUVFQU5nS0FBU0FBQ3lzQkFYOGdBQ2dDQkNnQ0FDRUJJQUJCQUVHWUFpQUJRVDl4UWNvQmFoRUVBQ0lBUVFBMkFwUUNJQUFMdHdZQkJuOGdBaUFEYWlFRUFrQUNRQUpBQWtBZ0FrRU5Td1JBSUFFc0FBQkJ5Z0JHQkVBZ0FTd0FBVUhHQUVjTkFpQUJMQUFDUWNrQVJ3MENJQUVzQUFOQnhnQkhEUUlnQVN3QUJBMENJQUJCQVRZQ25BSWdBQ0FCTEFBRklnYzZBS0FDSUFBZ0FTd0FCaUlJT2dDaEFpQUFJQUVzQUFjaUNUb0FvZ0lnQUNBQkxRQUpJQUV0QUFoQkNIUnlJZ1k3QWFRQ0lBQWdBUzBBQ3lBQkxRQUtRUWgwY2lJRE93R21BaUFIUVg5cVFSaDBRUmgxUWY4QmNVRUNUZ1JBSUFBb0FnQWlBa0g2QURZQ0ZDQUNJQWRCL3dGeE5nSVlJQUFvQWdBZ0FDMEFvUUkyQWh3Z0FDZ0NBQ2dDQkNFQ0lBQkJmeUFDUVQ5eFFiSUZhaEVEQUNBQUxBQ2dBaUVISUFBc0FLRUNJUWdnQUM0QnBBSWhCaUFBTGdHbUFpRURJQUFzQUtJQ0lRa0xJQUFoQWlBQUtBSUFJZ1VnQjBIL0FYRTJBaGdnQlNBSVFmOEJjVFlDSENBRklBWkIvLzhEY1RZQ0lDQUZJQU5CLy84RGNUWUNKQ0FGSUFsQi93RnhOZ0lvSUFWQjJRQTJBaFFnQlNnQ0JDRURJQUpCQVNBRFFUOXhRYklGYWhFREFDQUJMQUFNSWdZZ0FTd0FEU0lEY2tIL0FYRUVRQ0FBS0FJQUlnTkIzQUEyQWhRZ0F5QUJMUUFNTmdJWUlBQW9BZ0FnQVMwQURUWUNIQ0FBS0FJQUtBSUVJUU1nQWtFQklBTkJQM0ZCc2dWcUVRTUFJQUVzQUF3aEJpQUJMQUFOSVFNTElBWkIvd0Z4UVFOc0lBTkIvd0Z4YkNBRVFYSnFJZ05HQkVBUEN5QUFLQUlBSWdGQjJnQTJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnUWhBQ0FDUVFFZ0FFRS9jVUd5QldvUkF3QVBDd1VnQWtFRlN3UkFJQUVzQUFCQnlnQkdEUUlMQ3d3QkN5QUJMQUFCUWNZQVJnUkFJQUVzQUFKQjJBQkdCRUFnQVN3QUEwSFlBRVlFUUNBQkxBQUVSUVJBQWtBQ1FBSkFBa0FnQVN3QUJVRVFhdzRFQUFFREFnTUxJQUFvQWdBaUFVSHVBRFlDRkF3SUN5QUFLQUlBSWdGQjd3QTJBaFFNQndzZ0FDZ0NBQ0lCUWZBQU5nSVVEQVlMSUFBb0FnQWlBa0hiQURZQ0ZDQUNJQUV0QUFVMkFoZ2dBQ2dDQUNBRU5nSWNEQVlMQ3dzTEN5QUFLQUlBSWdGQnp3QTJBaFFnQVNBRU5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QVBDeUFCSUFRMkFoZ0xJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QUx5Z1VCQ1g4akJpRUNJd1pCRUdva0JnSkFJQUFvQWhnaUJDZ0NCQ0lEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBd3NnQkNnQ0FDSUdRUUZxSVFFZ0JpMEFBQ0VGSUFOQmYyb2lBMFVFUUNBRUtBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJQUlRRWdCQ2dDQkNFREN5QURRWDlxSVFNZ0FVRUJhaUVHUVE0Z0FTMEFBQ0FGUWY4QmNVRUlkSElpQVVGK2FpSUhRUUFnQVVFQ1N4c2dBVUVQU3hzaUJRUkFBa0JCQUNFQkEwQUNRQ0FEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUlRWUxJQUVnQW1vZ0Jpd0FBRG9BQUNBRFFYOXFJUU1nQmtFQmFpRUdJQUZCQVdvaUFTQUZTUTBCREFJTEN3d0NDd3NnQnlBRmF5RUlBa0FDUUFKQUlBQW9BcmdESWdGQjRBRnJJZ2tFUUNBSlFRNUdCRUFNQWdVTUF3c0FDeUFBSUFJZ0JTQUlFTEVGREFJTElBSXNBQUJCd1FCR0lBVkJDMHR4QkVBZ0Fpd0FBVUhrQUVZRVFDQUNMQUFDUWU4QVJnUkFJQUlzQUFOQjRnQkdCRUFnQWl3QUJFSGxBRVlFUUNBQ0xRQUlJQUl0QUFkQkNIUnlJUWNnQWkwQUNpQUNMUUFKUVFoMGNpRUpJQUlzQUFzaEJTQUFLQUlBSWdFZ0FpMEFCaUFDTFFBRlFRaDBjallDR0NBQklBYzJBaHdnQVNBSk5nSWdJQUVnQlVIL0FYRTJBaVFnQVVIT0FEWUNGQ0FCS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQkJBVFlDcUFJZ0FDQUZPZ0NzQWd3R0N3c0xDd3NnQUNnQ0FDSUJRZEFBTmdJVUlBRWdCellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BREFFTElBQW9BZ0FpQlVIR0FEWUNGQ0FGSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUVJQVkyQWdBZ0JDQUROZ0lFSUFoQkFFd0VRQ0FDSkFaQkFROExJQUFvQWhnb0FoQWhBeUFBSUFnZ0EwRS9jVUd5QldvUkF3QWdBaVFHUVFFUEN5QUNKQVpCQUF1TUFnRUdmeUFBS0FJWUlnSW9BZ1FpQVVVRVFDQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBQVIvSUFJb0FnUUZRUUFQQ3lFQkN5QUNLQUlBSWdOQkFXb2hCQ0FETFFBQUlRTWdBVUYvYWlJQlJRUkFJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBQkg4Z0FpZ0NBQ0VFSUFJb0FnUUZRUUFQQ3lFQkN5QUVMUUFBSUFOQi93RnhRUWgwY2lJR1FYNXFJUVVnQUNnQ0FDSURRZDBBTmdJVUlBTWdBQ2dDdUFNMkFoZ2dBQ2dDQUNBRk5nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBaUFFUVFGcU5nSUFJQUlnQVVGL2FqWUNCQ0FHUVFKTkJFQkJBUThMSUFBb0FoZ29BaEFoQVNBQUlBVWdBVUUvY1VHeUJXb1JBd0JCQVF1QkFRRUdmeUFBS0FJRUlnVWdBU2dDQkVZRWZ5QUFLQUlJSWdRZ0FTZ0NDRVlFZndOL0lBSWdCVWdFZnlBQ0lBUnNJUVpCQUNFREEwQWdBeUFFU0FSQUlBQW9BZ0FnQXlBR2FpSUhRUU4wYWlBQktBSUFJQWRCQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDNmtCQVFKL0lBQW9BcmdESWdGRkJFQWdBQkN4QWdSL0lBQW9BcmdEQlVFQUR3c2hBUXNnQUNnQzBBTW9BaFFpQWtIUUFXb2dBVVlFUUNBQUtBSUFJZ0ZCNUFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUU1nQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXdVZ0FDZ0NHQ2dDRkNFQklBQWdBaUFCUVQ5eFFZb0JhaEVDQUVVRVFFRUFEd3NMSUFBb0F0QURJZ0FnQUNnQ0ZFRUJha0VIY1RZQ0ZFRUJDNlJVQVNsL0l3WWhLU01HUVlBQ2FpUUdJQ2toQ2lBQUtBSzRBeUVCQTBBQ1FDQUJSUVJBQW44Z0FDZ0MwQU1vQWd3RVFDQUFFTEVDUlFSQVFkNENJUUVNQkFzZ0FDZ0N1QU1NQVFzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQkVFQmFpRUNJQVFzQUFBaEF5QUJRWDlxSWdRRWZ5QUNCU0FHS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFRTElBWW9BZ1FoQkNBR0tBSUFDeUVCSUFOQi93RnhJUVVnQVN3QUFDSUhRZjhCY1NFQ0lBTkJmMGNnQjBGWVIzSUVRQ0FBS0FJQUlnTkJOellDRkNBRElBVTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNBQ05nSzRBeUFHSUFGQkFXbzJBZ0FnQmlBRVFYOXFOZ0lFSUFJTElRRUxBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQlFRRnJEdjRCRUJJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJREJBVUlDZ2dJQ0FnR0J3Z0pDQWdJRUJBUUVCQVFFQkFDQVFBTEVRd1NFZzRPRGc0T0RnNE9EZzRPRGc0T0RnNFNFaElTRWhJU0VnMFNFaElTRWc4U0MwRVpJUUVNRXd0Qnl3QWhBUXdTQ3lBQUtBSUFJZ0ZCNkFBMkFoUWdBU2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVNYWlJQktBSUFCRUFnQUNnQ0FDSUJRY0FBTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUEwRU1haUVCQ3lBQVFnQTNBT2dCSUFCQ0FEY0E4QUVnQUVLQmdvU0lrS0RBZ0FFM0FQZ0JJQUJDZ1lLRWlKQ2d3SUFCTndDQUFpQUFRb1dLbEtqUW9NR0NCVGNBaUFJZ0FFS0ZpcFNvMEtEQmdnVTNBSkFDSUFCQkFEWUNtQUlnQUVFQU5nSW9JQUJCQURZQ3NBSWdBRUVBTmdLMEFpQUFRUUEyQXB3Q0lBQkJBVG9Bb0FJZ0FFRUJPZ0NoQWlBQVFRQTZBS0lDSUFCQkFUc0JwQUlnQUVFQk93R21BaUFBUVFBMkFxZ0NJQUJCQURvQXJBSWdBVUVCTmdJQURCQUxJQUJCQVVFQVFRQVEyQUZGQkVCQjNnSWhBUXdSQ3d3UEN5QUFRUUJCQUVFQUVOZ0JSUVJBUWQ0Q0lRRU1FQXNNRGdzZ0FFRUFRUUZCQUJEWUFVVUVRRUhlQWlFQkRBOExEQTBMSUFCQkFFRUFRUUVRMkFGRkJFQkIzZ0loQVF3T0N3d01DeUFBUVFCQkFVRUJFTmdCUlFSQVFkNENJUUVNRFFzTUN3c2dBQ2dDQUNJQ1FUODJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0tDeUFBS0FJWUlnTW9BZ1FpQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBUXNnQXlnQ0FDSUVRUUZxSVFJZ0JDMEFBQ0VFSUFGQmYyb2lBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFTQURLQUlBSVFJTElBSXRBQUFnQkVIL0FYRkJDSFJ5SWdaQmZtb2hCQ0FCUVg5cUlRRWdBa0VCYWlFQ0lBWkJBa3NFUUFOL0lBRkZCRUFnQXlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QURLQUlFSVFFZ0F5Z0NBQ0VDQ3lBQ1FRRnFJUVlnQWkwQUFDRUZJQUZCZjJvaUFrVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREE0TElBTW9BZ1FoQWlBREtBSUFJUVlMSUFZc0FBQWlDVUgvQVhFaEJ5QUFLQUlBSWdGQjBRQTJBaFFnQVNBRlFmOEJjU0lCTmdJWUlBQW9BZ0FnQnpZQ0hDQUFLQUlBS0FJRUlRZ2dBRUVCSUFoQlAzRkJzZ1ZxRVFNQUFrQUNRQ0FGUWY4QmNVRWZTZ1JBSUFBb0FnQWlCVUVkTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFNQVFVZ0JVSC9BWEZCRDBvTkFTQUJJQUJCNkFGcWFpQUhRUTl4SWdVNkFBQWdBU0FBUWZnQmFtb2dDVUgvQVhGQkJIWWlBVG9BQUNBRklBRkxCRUFnQUNnQ0FDSUJRUjQyQWhRZ0FTQUhOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMREFFTElBQWdBV3BCK0FGcUlBazZBQUFMSUFSQmZtb2hBU0FDUVg5cUlRSWdCa0VCYWlFR0lBUkJBa29FZnlBQklRUWdBaUVCSUFZaEFnd0JCU0FCSVFRZ0FpRUJJQVlMQ3lFQ0N5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFESUFJMkFnQWdBeUFCTmdJRURBa0xJQUFvQWhnaUJTZ0NCQ0lCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJDeUFGS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRVNTd1JBQTBBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFJdEFBQWhCeUFBS0FJQUlnWkIwZ0EyQWhRZ0JpQUhOZ0lZSUFBb0FnQW9BZ1FoQmlBQVFRRWdCa0UvY1VHeUJXb1JBd0FnQWtFQmFpRUdJQUZCZjJvaUFnUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFc0FBQWhDU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRUlJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlRc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaERTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFUUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJFZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRWlBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VUSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUlFnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhGU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVdJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSY2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEdDQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFWklBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJvZ0FVRUJhaUVHSUFKQmYyb2lBUVIvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUJJQVVvQWdBTElRSWdBaXdBQUNJblFmOEJjU0lvSUJwQi93RnhJaVlnR1VIL0FYRWlKU0FZUWY4QmNTSWtJQmRCL3dGeElpTWdGa0gvQVhFaUlpQVZRZjhCY1NJaElCUkIvd0Z4SWlBZ0UwSC9BWEVpSHlBU1FmOEJjU0llSUJGQi93RnhJaDBnRUVIL0FYRWlIQ0FOUWY4QmNTSWJJQXRCL3dGeElnOGdDVUgvQVhFaURpQUlRZjhCY1NJTWFtcHFhbXBxYW1wcWFtcHFhbXBxSVFZZ0FDZ0NBQ0lESUE0MkFoZ2dBeUFNTmdJY0lBTWdEellDSUNBRElCczJBaVFnQXlBY05nSW9JQU1nSFRZQ0xDQURJQjQyQWpBZ0F5QWZOZ0kwSUFOQjJBQTJBaFFnQXlnQ0JDRURJQUJCQWlBRFFUOXhRYklGYWhFREFDQUFLQUlBSWdNZ0lEWUNHQ0FESUNFMkFod2dBeUFpTmdJZ0lBTWdJellDSkNBRElDUTJBaWdnQXlBbE5nSXNJQU1nSmpZQ01DQURJQ2cyQWpRZ0EwSFlBRFlDRkNBREtBSUVJUU1nQUVFQ0lBTkJQM0ZCc2dWcUVRTUFJQVJCYjJvaURpQUdTQ0FHUVlBQ1MzSUVRQ0FBS0FJQUlnUkJDVFlDRkNBRUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0NrRUFRWUFDRUVVYUlBWUVRRUVBSVFRRFFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd1BDeUFGS0FJRUlRRWdCU2dDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVDSUFRZ0Ntb2dBeXdBQURvQUFDQUVRUUZxSWdRZ0Jra05BQXNGUVFBaEJnc2dCeUFIUVhCcUlnUWdCMEVRY1VVaUF4c2lERUVEU3dSQUlBQW9BZ0FpRDBFZk5nSVVJQThnRERZQ0dDQUFLQUlBS0FJQUlRd2dBQ0FNUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFkQkFuUnFJQUJCeEFGcUlBUkJBblJxSUFNYklnTW9BZ0FpQkVVRVFDQURJQUFRc0FVaUJEWUNBQXNnQkVFQU9nQUFJQVFnQ1RvQUFTQUVJQWc2QUFJZ0JDQUxPZ0FESUFRZ0RUb0FCQ0FFSUJBNkFBVWdCQ0FST2dBR0lBUWdFam9BQnlBRUlCTTZBQWdnQkNBVU9nQUpJQVFnRlRvQUNpQUVJQlk2QUFzZ0JDQVhPZ0FNSUFRZ0dEb0FEU0FFSUJrNkFBNGdCQ0FhT2dBUElBUWdKem9BRUNBREtBSUFRUkZxSUFwQmdBSVFUQm9nRGlBR2F5SUVRUkJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFGSUFJMkFnQWdCU0FCTmdJRURBZ0xJQUFvQWhnaUNDZ0NCQ0lCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJDeUFJS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQklBZ29BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRUNTd1JBQTBBZ0FRUi9JQUVoQlNBQ0JTQUlLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFnb0FnUWhCU0FJS0FJQUN5SUdMUUFBSWdGQkJIWWhBaUFBS0FJQUlnTkIwd0EyQWhRZ0F5QUJRUTl4SWdFMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBVUVEU3dSQUlBQW9BZ0FpQTBFZ05nSVVJQU1nQVRZQ0dDQUFLQUlBS0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQkJwQUZxSUFGQkFuUnFJZ0VvQWdBaUEwVUVRQ0FCSUFBUXJ3VWlBellDQUFzZ0JFRi9haUVKQW44Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUJISWdzRWZ5QUVRWUVCVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpRUUYxQlNBRVFjRUFUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSkN5SUJRUVJyRGk0QUJnWUdCZ0VHQmdZR0JnWUNCZ1lHQmdZR0JnWURCZ1lHQmdZR0JnWUdCZ1FHQmdZR0JnWUdCZ1lHQmdZRkJndEJ3Q1VoQWd3R0MwSFFKQ0VDREFVTFFkQWpJUUlNQkF0Qm9DSWhBZ3dEQzBIUUlDRUNEQUlMUWNBZUlRSU1BUXNnQlVGL2FpRUNJQVpCQVdvaEJpQUJRUUJLQkVCQmdCd2hCeUFHREFNRklBRWhCQ0FDSVFFZ0Jnd0VDd0FMSUFJaEJ5QUZRWDlxSVFJZ0JrRUJhZ3dCQzBHQUhDRUhRY0FBSVFFZ0JVRi9haUVDSUFaQkFXb0xJUVFnQzBVRVFFRUFJUVVEUUNBQ1JRUkFJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRHdzZ0NDZ0NCQ0VDSUFnb0FnQWhCQXNnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQU93RUFJQUpCZjJvaEFpQUVRUUZxSVFZZ0JVRUJhaUlGSUFGSUJFQWdCaUVFREFFRklBRWhCQ0FDSVFFZ0Jnd0RDd0FBQ3dBTFFRQWhCUU4vSUFKRkJFQWdDQ2dDRENFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBSUtBSUVJUUlnQ0NnQ0FDRUVDeUFFUVFGcUlRWWdCQzBBQUNFTklBSkJmMm9pQWdSL0lBWUZJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRGdzZ0NDZ0NCQ0VDSUFnb0FnQUxJUVFnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQUlBMUIvd0Z4UVFoMGNqc0JBQ0FDUVg5cUlRSWdCRUVCYWlFR0lBVkJBV29pQlNBQlNBUi9JQVloQkF3QkJTQUJJUVFnQWlFQklBWUxDd3NoQWlBQUtBSUFJZ1VvQW1oQkFVb0VRQUpBUVFBaEJnTkFJQVVnQmtFQmRDQURhaThCQURZQ0dDQUZJQVpCQVhKQkFYUWdBMm92QVFBMkFod2dCU0FHUVFKeVFRRjBJQU5xTHdFQU5nSWdJQVVnQmtFRGNrRUJkQ0FEYWk4QkFEWUNKQ0FGSUFaQkJISkJBWFFnQTJvdkFRQTJBaWdnQlNBR1FRVnlRUUYwSUFOcUx3RUFOZ0lzSUFVZ0JrRUdja0VCZENBRGFpOEJBRFlDTUNBRklBWkJCM0pCQVhRZ0Eyb3ZBUUEyQWpRZ0JVSGZBRFlDRkNBRktBSUVJUVVnQUVFQ0lBVkJQM0ZCc2dWcUVRTUFJQVpCQ0dvaUJrSEFBRThOQVNBQUtBSUFJUVVNQUFBTEFBc0xJQWtnQkd0QkFDQUVhMEVBSUFzYmFpSUVRUUJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFJSUFJMkFnQWdDQ0FCTmdJRURBY0xJQUFvQWhnaUJpZ0NCQ0lCUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUJDeUFHS0FJQUlnSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBTElnRXRBQUJ5UVFSSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBaEFRc2dBVUVCYWlFRUlBRXRBQUJCQ0hRZ0FrRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdKQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaEJDQUFLQUlBSWdOQjFBQTJBaFFnQXlBRU5nSVlJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBQ0FFTmdLWUFpQUdJQUZCQVdvMkFnQWdCaUFDUVg5cU5nSUVEQVlMSUFBb0FoZ2lCU2dDQUNFQ0lBVW9BZ1FoQVNBQUtBTFFBeWdDRUVVRVFDQUFLQUlBSWdSQlBEWUNGQ0FFUVJocVFmTDlBa0hRQUJEVkFTQUFLQUlBS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTEFrQUNRQ0FBS0FJa1FRTklEUUFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0V0QUFCeVFSaEhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFFRU5Sd1JBSUFBb0FnQWlCRUhHQURZQ0ZDQUVJQUFvQXJnRE5nSVlJQUFvQWdBb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUZCQVdvaEJDQUJMUUFBSVFZZ0FrRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0gvQVVjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQkJBMGNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0FDZ0MyQUVpQXlnQ1dFY05BQ0FCQkg4Z0FTRUVJQUloQmlBREJTQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhCQ0FGS0FJQUlRWWdBQ2dDMkFFTElRRWdCRUYvYWlFQ0lBWkJBV29oQkNBR0xRQUFJQUVvQWdCR0JFQWdBZ1IvSUFFRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUNJQVVvQWdBaEJDQUFLQUxZQVFzaEJpQUNRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCaWdDc0FGSERRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFRWUIvUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeURRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0VCUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlRUUZIRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2cwQkJTQUNJUUVnQkNFQ0RBRUxEQUVMSUFBb0FnQWlCRUVjTmdJVUlBUW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQUVFQk5nS3dBaUFGSUFJMkFnQWdCU0FCTmdJRURBVUxJQUFvQXRBRElBRkJBblJxUWFCNWFpZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0dDd3dFQ3lBQUtBTFFBeWdDSENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdGQ3d3REN5QUFLQUlBSWdKQjNnQTJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QU1BZ3NnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlBa0VCYWlFRUlBSXRBQUJCQ0hRZ0FVRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaUEwRithaUVFSUFBb0FnQWlCVUhkQURZQ0ZDQUZJQUFvQXJnRE5nSVlJQUFvQWdBZ0JEWUNIQ0FBS0FJQUtBSUVJUVVnQUVFQklBVkJQM0ZCc2dWcUVRTUFJQVlnQVVFQmFqWUNBQ0FHSUFKQmYybzJBZ1FnQTBFQ1N3UkFJQUFvQWhnb0FoQWhBU0FBSUFRZ0FVRS9jVUd5QldvUkF3QUxEQUVMSUFBb0FnQWlBa0hHQURZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQVFRQTJBcmdEUVFBaEFRd0JDd3NDUUNBQlFSbEdCRUFnQUNnQ0dDSUhLQUlBSVFRZ0J5Z0NCQ0VCSUFBb0F0QURLQUlRUlFSQUlBQW9BZ0FpQWtFOE5nSVVJQUpCR0dwQjd2MENRZEFBRU5VQklBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FRUi9JQUVoQWlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFRUlBRXRBQUFoQlNBQ1FYOXFJZ0lFZnlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFR0lBRXRBQUFoQ0NBQ1FYOXFJZ1FFZnlBR0JTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUVFnQnlnQ0FBc2lBU3dBQUNJRFFmOEJjU0VKSUFBb0FnQWlBa0hwQURZQ0ZDQUNJQWsyQWhnZ0FDZ0NBQ2dDQkNFQ0lBQkJBU0FDUVQ5eFFiSUZhaEVEQUFKQUFrQUNRQUovQWtBZ0NVRUJkRUVHYWlBSVFmOEJjU0FGUWY4QmNVRUlkSEpISUFOQi93RnhRUVJLY2cwQUlBTUVRQ0FBSUFrMkF0UUNJQUZCQVdvaEFTQUVRWDlxSWdRaEFpQUVSUXdDQ3lBQUtBTGdBVVVOQUNBQUlBazJBdFFDSUFGQkFXb2hBaUFFUVg5cUlnRUVmMEVCQlVFQklRUU1CQXNoQkF3RUN5QUFLQUlBSWdKQkREWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBZ0FDQUpOZ0xVQWlBQlFRRnFJUUlnQkVGL2FpSUVSU0VHSUFNRWZ5QUNJUUVnQkNFQ0lBWUZJQVFoQVVFQklRUU1BZ3NMSVFSQkFDRURBMEFDUUNBRUJIOGdCeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0J5Z0NCQ0VHSUFjb0FnQUZJQUloQmlBQkN5SUVMUUFBSVFJZ0F3UkFBa0JCQUNFQkEwQWdBRUhZQW1vZ0FVRUNkR29vQWdBb0FnQWdBa2NFUUNBQlFRRnFJZ0VnQTBrRVFBd0NCUXdEQ3dBTEN5QUFLQUxZQWlnQ0FDRUJJQU5CQVVzRVFFRUJJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ2dDQUNJRklBRWdCU0FCU2hzaEFTQUNRUUZxSWdJZ0EwY05BQXNMSUFGQkFXb2hBZ3NMSUFaQmYyb2hCaUFFUVFGcUlRVWdBQ2dDMkFFaEFRSkFBa0FnQUNnQ0pDSUlRUUJNRFFCQkFDRUVBa0FEUUNBQ0lBRW9BZ0JHRFFFZ0FVSFlBR29oQVNBRVFRRnFJZ1FnQ0VnTkFBc01BUXNNQVFzZ0FDZ0NBQ0lFUVFRMkFoUWdCQ0FDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FFSFlBbW9nQTBFQ2RHb2dBVFlDQUNBQklBWUVmeUFGQlNBSEtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FIS0FJRUlRWWdCeWdDQUFzaUFpMEFBQ0lFUVFSMk5nSVVJQUVnQkVFUGNUWUNHQ0FBS0FJQUlnUWdBU2dDQURZQ0dDQUVJQUVvQWhRMkFod2dCQ0FCS0FJWU5nSWdJQVJCNmdBMkFoUWdCQ2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQ1FRRnFJUUlnQmtGL2FpSUVSU0VHSUFOQkFXb2lBeUFKU1FSQUlBSWhBU0FFSVFJZ0JpRUVEQUlGSUFRaEFVRUFJUVFNQXdzQUN3c01CQXNnQmcwQURBRUxJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ0FoQWlBSEtBSUVJUUVMSUFKQkFXb2hCaUFBSUFJdEFBQTJBcHdESUFGQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJRUUZxSVFZZ0FDQUJMUUFBTmdLZ0F5QUFJQUpCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQkxRQUFJZ1pCQkhZMkFxUURJQUFnQmtFUGNUWUNxQU1nQUNnQ0FDSUdJQUFvQXB3RE5nSVlJQVlnQUNnQ29BTTJBaHdnQmlBQUtBS2tBellDSUNBR0lBQW9BcWdETmdJa0lBWkI2d0EyQWhRZ0JpZ0NCQ0VHSUFCQkFTQUdRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRUFOZ0lVSUFSRkJFQWdBQ0FBS0FLUUFVRUJhallDa0FFTElBY2dBVUVCYWpZQ0FDQUhJQUpCZjJvMkFnUWdBRUVBTmdLNEF5QUtKQVpCQVE4RklBRkJ5d0JHQkVBZ0FDZ0NBQ0lCUWRjQU5nSVVJQUVvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXlBS0pBWkJBZzhGSUFGQnJnRkdCRUFNQXdVZ0FVSGVBa1lOQXdzTEMwRUFEd3NnQ2lRR1FRQUxRUUVCZnlBQUtBTFFBeUVCSUFCQkFEWUMyQUVnQUVFQU5nS1FBU0FBUVFBMkFyZ0RJQUZCQURZQ0RDQUJRUUEyQWhBZ0FVRUFOZ0lZSUFGQkFEWUNwQUVMaVFNQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFhd0JJQUZCUDNGQnlnRnFFUVFBSWdFMkF0QURJQUZCaXdFMkFnQWdBVUhYQURZQ0JDQUJRZGdBTmdJSUlBRkIyUUEyQWh3Z0FVRUFOZ0pnSUFGQkFEWUNaQ0FCUWRrQU5nSWtJQUZCQURZQ2FDQUJRZGtBTmdJb0lBRkJBRFlDYkNBQlFka0FOZ0lzSUFGQkFEWUNjQ0FCUWRrQU5nSXdJQUZCQURZQ2RDQUJRZGtBTmdJMElBRkJBRFlDZUNBQlFka0FOZ0k0SUFGQkFEWUNmQ0FCUWRrQU5nSThJQUZCQURZQ2dBRWdBVUZBYTBIWkFEWUNBQ0FCUVFBMkFvUUJJQUZCMlFBMkFrUWdBVUVBTmdLSUFTQUJRZGtBTmdKSUlBRkJBRFlDakFFZ0FVSFpBRFlDVENBQlFRQTJBcEFCSUFGQjJRQTJBbEFnQVVFQU5nS1VBU0FCUWRrQU5nSlVJQUZCQURZQ21BRWdBVUVBTmdLY0FTQUJRZGtBTmdKY0lBRkJBRFlDb0FFZ0FVSGFBRFlDSUNBQlFkb0FOZ0pZSUFBb0F0QURJUUVnQUVFQU5nTFlBU0FBUVFBMkFwQUJJQUJCQURZQ3VBTWdBVUVBTmdJTUlBRkJBRFlDRUNBQlFRQTJBaGdnQVVFQU5nS2tBUXNlQUNBQVFRRVFyZ0lnQUVFQUVLNENJQUFvQWdRUU9DQUFRUUEyQWdRTDJRY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJUVFkMElRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2hCQjNRaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdoQkIzUWhCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MTWdFQmZ5QUFLQUlJSUFBb0FnUVFwUU1pQVFSQUlBRWdBQkRxQkVFQVNBUkFJQUVRU1VFQUlRRUxCVUVBSVFFTElBRUwwQWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSUlRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2doQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2doQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTDRBb0JFMzhnQUNnQ0JDSUtLQUpFSWdFRWZ3Ti9JQUVvQWdCRkJFQWdBeUFCS0FJSUlnUWdBU2dDREd4cUlRTWdBaUFFSUFFb0FnUnNhaUVDQ3lBQktBSXNJZ0VOQUNBRElRRWdBZ3NGUVFBaEFVRUFDeUVESUFvb0FrZ2lCQVJBSUFFaEFnTkFJQVFvQWdCRkJFQWdBaUFFS0FJSUlnRWdCQ2dDREVFSGRHeHFJUUlnQXlBRUtBSUVJQUZCQjNSc2FpRURDeUFFS0FJc0lnUU5BQXNGSUFFaEFnc2dBa0VCU0FSQUR3c2dDaWdDVEJvZ0F5SUJJQU5JQkg4Z0FTQUNFRGtpQVVFQklBRkJBVW9iQlVHQWxPdmNBd3NoRHlBS0tBSkVJZ0lFUUFOQUlBSW9BZ0JGQkVBZ0FpZ0NCQ0lGUVg5cUlBSW9BZ3dpQVJCSVFRRnFJQTlLQkVBZ0FpQUJJQTlzTmdJUUlBQWdCU0FDUVFocUlnTW9BZ0JzRUo4RElBSkJBVFlDS0NBQ0tBSVFJUVVGSUFJZ0JUWUNFQ0FDUVFocUlRTUxJQUFvQWdRaEVrSHdrK3ZjQXlBREtBSUFJZ3NRU0NFQklBdEI4SlByM0FOTEJFQWdBQ2dDQUNJRFFjZ0FOZ0lVSUFBZ0F5Z0NBRUgvQVhGQnJBTnFFUUVBQ3lBU0lBRWdCU0FCSUFWSUd5SUJOZ0pRSUFCQkFTQUZRUUowRUxVQklRd2dCUVJBSUFWQmYzTWhFRUVBSVFNRFFDQUFLQUlFSVFjZ0FTQUZJQU5ySWdRZ0FTQUVTUnNpQkNBTGJDSUdRZkNUNjl3RFN3UkFJQUFvQWdBaUNFRTROZ0lVSUFoQkF6WUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JrRUlJQVpCQjNFaUNHdEJBQ0FJRzJvaUNFRVFhaUlORUVRaUJrVUVRQ0FBS0FJQUlnbEJPRFlDRkNBSlFRUTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBY2dCeWdDVENBTmFqWUNUQ0FHSUFkQlFHc2lCeWdDQURZQ0FDQUdJQWcyQWdRZ0JrRUFOZ0lJSUFjZ0JqWUNBQ0FFQkVBZ0F5QVFhaUlOSUFGQmYzTWlDVXNoRGlBRUlRY2dCa0VRYWlFSUlBTWhBUU5BSUFGQkFXb2hCaUFCUVFKMElBeHFJQWcyQWdBZ0NDQUxhaUVJSUFkQmYyb2lCd1JBSUFZaEFRd0JDd3NnQTBGL2FpQU5JQWtnRGh0cklRTUxJQU1nQlVrRVFDQUVJUUVNQVFzTEN5QUNJQXcyQWdBZ0FpQUtLQUpRTmdJVUlBSkJBRFlDR0NBQ1FRQTJBaHdnQWtFQU5nSWtDeUFDS0FJc0lnSU5BQXNMSUFvb0FrZ2lBa1VFUUE4TEEwQWdBaWdDQUVVRVFDQUNLQUlFSWdWQmYyb2dBaWdDRENJQkVFaEJBV29nRDBvRVFDQUNJQUVnRDJ3MkFoQWdBQ0FDUVFocUlnTW9BZ0FnQlVFSGRHd1Fud01nQWtFQk5nSW9JQUlvQWhBaEJRVWdBaUFGTmdJUUlBSkJDR29oQXdzZ0FDZ0NCQ0VUUWZDVDY5d0RJQU1vQWdBaUVFRUhkQ0lMRUVnaEFTQUxRZkNUNjl3RFN3UkFJQUFvQWdBaUEwSElBRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0V5QUJJQVVnQVNBRlNCc2lBVFlDVUNBQVFRRWdCVUVDZEJDMUFTRU1JQVVFUUNBRlFYOXpJUTFCQUNFREEwQWdBQ2dDQkNFSElBRWdCU0FEYXlJRUlBRWdCRWtiSWdRZ0Myd2lDRUh3ayt2Y0Ewc0VRQ0FBS0FJQUlnWkJPRFlDRkNBR1FRTTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBaEJFSElpQ1JCRUlnWkZCRUFnQUNnQ0FDSU9RVGcyQWhRZ0RrRUVOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUhJQWtnQnlnQ1RHbzJBa3dnQmlBSFFVQnJJZ2NvQWdBMkFnQWdCaUFJTmdJRUlBWkJBRFlDQ0NBSElBWTJBZ0FnQkFSQUlBTWdEV29pQ1NBQlFYOXpJZzVMSVJFZ0JDRUhJQVpCRUdvaENDQURJUUVEUUNBQlFRRnFJUVlnQVVFQ2RDQU1haUFJTmdJQUlCQkJCM1FnQ0dvaENDQUhRWDlxSWdjRVFDQUdJUUVNQVFzTElBTkJmMm9nQ1NBT0lCRWJheUVEQ3lBRElBVkpCRUFnQkNFQkRBRUxDd3NnQWlBTU5nSUFJQUlnQ2lnQ1VEWUNGQ0FDUVFBMkFoZ2dBa0VBTmdJY0lBSkJBRFlDSkFzZ0FpZ0NMQ0lDRFFBTEM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSklOZ0lzSUFjZ0FEWUNTQ0FBQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKRU5nSXNJQWNnQURZQ1JDQUFDNHdDQVF0L0lBQW9BZ1FoRGtId2srdmNBeUFDUVFkMElnb1FTQ0VGSUFwQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lHUWNnQU5nSVVJQVlvQWdBaEJpQUFJQVpCL3dGeFFhd0RhaEVCQUFzZ0RpQUZJQU1nQlNBRFNCc2lCRFlDVUNBQUlBRWdBMEVDZEJDMUFTRUhJQU5GQkVBZ0J3OExJQU5CZjNNaEMwRUFJUVlEUUNBQUlBRWdCQ0FESUFacklnVWdCQ0FGU1JzaUNDQUtiQkN2QWlFSklBZ0VRQ0FHSUF0cUlnVWdCRUYvY3lJRUlBVWdCRXNiSVF3Z0NDRUVJQVloQlFOQUlBVkJBV29oRFNBRlFRSjBJQWRxSUFrMkFnQWdBa0VIZENBSmFpRUpJQVJCZjJvaUJBUkFJQTBoQlF3QkN3c2dCa0YvYWlBTWF5RUdDeUFHSUFOSkJFQWdDQ0VFREFFTEN5QUhDNFFDQVFwL0lBQW9BZ1FoRFVId2srdmNBeUFDRUVnaEJTQUNRZkNUNjl3RFN3UkFJQUFvQWdBaUJrSElBRFlDRkNBR0tBSUFJUVlnQUNBR1FmOEJjVUdzQTJvUkFRQUxJQTBnQlNBRElBVWdBMGdiSWdRMkFsQWdBQ0FCSUFOQkFuUVF0UUVoQnlBRFJRUkFJQWNQQ3lBRFFYOXpJUXBCQUNFR0EwQWdBQ0FCSUFJZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0d3UXJ3SWhDU0FJQkVBZ0JpQUthaUlGSUFSQmYzTWlCQ0FGSUFSTEd5RUxJQWdoQkNBR0lRVURRQ0FGUVFGcUlRd2dCVUVDZENBSGFpQUpOZ0lBSUFJZ0NXb2hDU0FFUVg5cUlnUUVRQ0FNSVFVTUFRc0xJQVpCZjJvZ0Myc2hCZ3NnQmlBRFNRUkFJQWdoQkF3QkN3c2dCd3Z0QWdFRGZ5TUdJUUlqQmtFUWFpUUdJQUJCQURZQ0JDQUNRUUEyQWdoQjFBQVFSQ0lCUlFSQUlBQW9BZ0FpQTBFNE5nSVVJQU5CQURZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQVVFaE5nSUFJQUZCSWpZQ0JDQUJRUWMyQWdnZ0FVRUlOZ0lNSUFGQkl6WUNFQ0FCUVNRMkFoUWdBVUdKQVRZQ0dDQUJRUlUyQWh3Z0FVRVdOZ0lnSUFGQk5EWUNKQ0FCUVlvQk5nSW9JQUZCZ0pUcjNBTTJBakFnQVVFQU5nSXNJQUZCQURZQ09DQUJRVUJyUVFBMkFnQWdBVUVBTmdJMElBRkJBRFlDUENBQlFRQTJBa1FnQVVFQU5nSklJQUZCMUFBMkFrd2dBQ0FCTmdJRVFlRDlBaEFOSWdCRkJFQWdBaVFHRHdzZ0FrSDRBRG9BRENBQ0lBSkJDR28yQWdBZ0FpQUNRUXhxTmdJRUlBQkI2UDBDSUFJUWd3RkJBRW9FUUFKQUlBSXNBQXhCelFCcklnQkJBQ0FBUVNCSEcwVUVRQ0FDSUFJb0FnaEI2QWRzSWdBMkFnZ01BUXNnQWlnQ0NDRUFDeUFCSUFCQjZBZHNOZ0lzQ3lBQ0pBWUw5UUVCQkg4akJpRUVJd1pCRUdva0JpQUFLQUlVSWdOQnpRRkhCRUFnQUNnQ0FDSUZRUlUyQWhRZ0JTQUROZ0lZSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ2pBRWlCU0FBS0FKMElnWlBCRUFnQUNnQ0FDSUJRZjRBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FnQkNRR1FRQVBDeUFBS0FJSUlnTUVRQ0FESUFVMkFnUWdBeUFHTmdJSUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQkVFQU5nSUFJQUFvQXNBREtBSUVJUU1nQUNBQklBUWdBaUFEUVI5eFFmb0ZhaEVIQUNBQUlBUW9BZ0FpQVNBQUtBS01BV28yQW93QklBUWtCaUFCQzVJRUFSMS9JQUFvQXVRRElRUWdBQ2dDZUNFSUlBQW9BbkFoQ1NBQUtBTFFBaUVTSUFOQkFFd0VRQThMSUFoQkFFb2hFeUFKUlNFVUlBbEJmMm9pRlNBSWJDRVdRUUFnQ0dzaEZ5QUpRUUZxSVE4RFFDQUtRUUowSUFKcUloZ29BZ0JCQUNBSkVFVWFJQk1FUUFKQUlCUUVRQ0FFS0FKVVJTRUdRUUFoQUFOQUlBUkJ4QUJxSUFCQkFuUnFLQUlBSWdVZ0QwRUJkQ0FGYWlBR0cwRUFPd0VBSUFnZ0FFRUJhaUlBUncwQUN3d0JDeUFLUVFKMElBRnFJUmxCQUNFSEEwQWdCeUFaS0FJQWFpRUdJQmdvQWdBaEFDQUVLQUpVQkg5QmZ5RUxJQVJCeEFCcUlBZEJBblJxS0FJQUlBOUJBWFJxSVEwZ0JpQVdhaUVHSUFBZ0ZXb2hBQ0FYQlVFQklRc2dCRUhFQUdvZ0IwRUNkR29vQWdBaERTQUlDeUVhSUFRb0FoZ2dCMEVDZEdvb0FnQWhHeUFFS0FJUUlBZEJBblJxS0FJQUlSd2dDU0FMYkNFZ1FRQWhFQ0FKSVJGQkFDRU9RUUFoRENBTklRVURRQ0FBSUJzZ0VpQUdMUUFBSUF0QkFYUWdCV29pSGk0QkFDQU1RUWhxYWtFRWRXcHFMUUFBSWd4cUxRQUFJaDhnQUMwQUFHbzZBQUFnQlNBT0lBd2dIQ0FmYWkwQUFHc2lCVUVEYkdvN0FRQWdFQ0FGUVFWc2FpRU9JQVZCQjJ3aERDQUdJQnBxSVFZZ0FDQUxhaUVBSUJGQmYyb2lFUVJBSUFVaEVDQWVJUVVNQVFzTElDQkJBWFFnRFdvZ0Rqc0JBQ0FIUVFGcUlnY2dDRWNOQUFzTEN5QUVJQVFvQWxSRk5nSlVJQXBCQVdvaUNpQURSdzBBQ3d2RkFnRU9meUFBS0FMa0F5RUVJQUFvQW5naENTQUFLQUp3SVFZZ0EwRUFUQVJBRHdzZ0NVRUFUQVJBUVFBaEFBTkFJQUJCQW5RZ0Ftb29BZ0JCQUNBR0VFVWFJQVFnQkNnQ01FRUJha0VQY1RZQ01DQUFRUUZxSWdBZ0EwY05BQXNQQ3lBR1JTRU5BMEFnQjBFQ2RDQUNhaUlPS0FJQVFRQWdCaEJGR2lBRUtBSXdJUXdnQjBFQ2RDQUJhaUVQSUExRkJFQkJBQ0VGQTBBZ0JDZ0NHQ0FGUVFKMGFpZ0NBQ0VRSUFSQk5Hb2dCVUVDZEdvb0FnQWhFU0FHSVFBZ0RpZ0NBQ0VJUVFBaENpQUZJQThvQWdCcUlRc0RRQ0FJSUJBZ0N5MEFBQ0FNUVFaMElCRnFJQXBCQW5ScUtBSUFhbW90QUFBZ0NDMEFBR282QUFBZ0NTQUxhaUVMSUFoQkFXb2hDQ0FLUVFGcVFROXhJUW9nQUVGL2FpSUFEUUFMSUFrZ0JVRUJhaUlGUncwQUN3c2dCQ0FNUVFGcVFROXhOZ0l3SUFkQkFXb2lCeUFEUncwQUN3dklBZ0VQZnlBQUtBTGtBeUlFS0FJWUlnVW9BZ0FoQ3lBRktBSUVJUXdnQlNnQ0NDRU5JQUFvQW5BaENpQURRUUJNQkVBUEN5QUVLQUl3SVFBZ0NrVUVRRUVBSVFFRFFDQUFRUUZxUVE5eElRQWdBVUVCYWlJQklBTkhEUUFMSUFRZ0FEWUNNQThMQTBBZ0JDZ0NOQ0VPSUFRb0FqZ2hEeUFFS0FJOElSQWdDaUVGUVFBaEJpQUlRUUowSUFKcUtBSUFJUWtnQ0VFQ2RDQUJhaWdDQUNFSEEwQWdCMEVEYWlFUklBbEJBV29oRWlBSklBMGdCeTBBQWlBQVFRWjBJQkJxSUFaQkFuUnFLQUlBYW1vdEFBQWdCeTBBQUNBQVFRWjBJQTVxSUFaQkFuUnFLQUlBYWlBTGFpMEFBQ0FNSUFjdEFBRWdBRUVHZENBUGFpQUdRUUowYWlnQ0FHcHFMUUFBYW1vNkFBQWdCa0VCYWtFUGNTRUdJQVZCZjJvaUJRUkFJQkloQ1NBUklRY01BUXNMSUFRZ0FFRUJha0VQY1NJQU5nSXdJQWhCQVdvaUNDQURSdzBBQ3d2dEFRRUtmeUFBS0FMa0F5Z0NHQ0VNSUFBb0FuZ2hCaUFBS0FKd0lncEZJQU5CQVVoeUJFQVBDeUFHUVFCTUJFQkJBQ0VBQTBBZ0FFRUNkQ0FDYWlnQ0FFRUFJQW9RUlJvZ0FFRUJhaUlBSUFOSERRQUxEd3NEUUNBS0lRc2dCVUVDZENBQ2FpZ0NBQ0VISUFWQkFuUWdBV29vQWdBaEFBTkFRUUFoQ0VFQUlRa2dBQ0VFQTBBZ0JFRUJhaUVOSUFrZ0NFRUNkQ0FNYWlnQ0FDQUVMUUFBYWkwQUFHb2hDU0FJUVFGcUlnZ2dCa2NFUUNBTklRUU1BUXNMSUFBZ0Jtb2hBQ0FIUVFGcUlRUWdCeUFKT2dBQUlBdEJmMm9pQ3dSQUlBUWhCd3dCQ3dzZ0JVRUJhaUlGSUFOSERRQUxDNjRCQVFsL0lBQW9BdVFES0FJWUlnUW9BZ0FoQnlBRUtBSUVJUWdnQkNnQ0NDRUpJQUFvQW5BaUNrVWdBMEVCU0hJRVFBOExBMEFnQ2lFQUlBVkJBblFnQW1vb0FnQWhCaUFGUVFKMElBRnFLQUlBSVFRRFFDQUVRUU5xSVFzZ0JrRUJhaUVNSUFZZ0NTQUVMUUFDYWkwQUFDQUVMUUFBSUFkcUxRQUFJQWdnQkMwQUFXb3RBQUJxYWpvQUFDQUFRWDlxSWdBRVFDQU1JUVlnQ3lFRURBRUxDeUFGUVFGcUlnVWdBMGNOQUFzTEpnRUJmeUFBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUx2UVVCQ1g4Z0FDQUFLQUxrQXlJQ0tBSVFOZ0tJQVNBQUlBSW9BaFEyQW9RQkFrQUNRQUpBQWtBZ0FDZ0NXQTREQUFFQ0F3c2dBQ2dDZUVFRFJnUkFJQUpCRmpZQ0JBVWdBa0VYTmdJRUN3OExJQUpCR0VFWklBQW9BbmhCQTBZYk5nSUVJQUpCQURZQ01DQUNLQUljUlFSQUlBQVFvUU1MSUFJb0FqUUVRQThMSUFBb0F1UURJUUlnQUNnQ2VDSUJRUUJNQkVBUEN3TkFJQUpCSUdvZ0JFRUNkR29vQWdBaEJRSkFBa0FnQkVVTkFFRUFJUU1EUUNBQ1FTQnFJQU5CQW5ScUtBSUFJQVZIQkVBZ0EwRUJhaUlESUFSUERRSU1BUXNMSUFKQk5Hb2dBMEVDZEdvb0FnQWlBMFVOQUF3QkN5QUFLQUlFS0FJQUlRRWdBRUVCUVlBSUlBRkJQM0ZCeWdGcUVRUUFJUVlnQlVFSmRFR0FmR29oQlVFQUlRRURRRUVBSVFNRFFFSC9BU0FESUFGQkJIUkJzREpxYWkwQUFFRUJkR3NpQ0VIL0FXd2hCeUFCUVFaMElBWnFJQU5CQW5ScUlBaEJBRWdFZjBFQVFRQWdCMnNnQlJBNWF3VWdCeUFGRURrTE5nSUFJQU5CQVdvaUEwRVFSdzBBQ3lBQlFRRnFJZ0ZCRUVjTkFBc2dCaUVESUFBb0FuZ2hBUXNnQWtFMGFpQUVRUUowYWlBRE5nSUFJQVJCQVdvaUJDQUJTQTBBQ3c4TElBSkJHallDQkNBQ1FRQTJBbFFnQWlnQ1JBUi9JQUJCK0FCcUlnRWhBeUFCS0FJQUlRRWdBRUh3QUdvRklBQkI4QUJxSWdRb0FnQWhDU0FBUWZnQWFpSURLQUlBUVFCTUJFQVBDeUFKUVFGMFFRUnFJUVZCQUNFQkEzOGdBQ2dDQkNnQ0JDRUdJQUpCeEFCcUlBRkJBblJxSUFCQkFTQUZJQVpCUDNGQnlnRnFFUVFBTmdJQUlBRkJBV29pQVNBREtBSUFJZ1pJRFFBZ0JpRUJJQVFMQ3lnQ0FDRUtJQUZCQUV3RVFBOExJQXBCQVhSQkJHb2hBVUVBSVFBRFFDQUNRY1FBYWlBQVFRSjBhaWdDQUVFQUlBRVFSUm9nQUVFQmFpSUFJQU1vQWdCSURRQUxEd3NnQUNnQ0FDSUJRVEUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDOHNCQVF0L0lBQW9BdVFES0FJWUlRb2dBQ2dDY0NJTFJTQURRUUZJY2dSQUR3c0RRQ0FMSVFnZ0JVRUNkQ0FDYWlnQ0FDRUdJQVZCQW5RZ0FXb29BZ0FoQkFOQUlBUXRBQUJCQTNZaURFRUNkQ0FLYWlnQ0FDQUVMUUFCUVFKMklnZEJCblJxSUFRdEFBSkJBM1lpRFVFQmRHb2lEaTRCQUNJSlJRUkFJQUFnRENBSElBMFFvZ01nRGk0QkFDRUpDeUFFUVFOcUlRUWdCa0VCYWlFSElBWWdDVUgvL3dOeFFmOEJham9BQUNBSVFYOXFJZ2dFUUNBSElRWU1BUXNMSUFWQkFXb2lCU0FEUncwQUN3dktCUUVuZnlBQUtBTGtBeUlMS0FJWUlSd2dBQ2dDY0NFTUlBQW9BdEFDSVJNZ0N5Z0NLQ0VVSUFBb0FvZ0JJZ1FvQWdBaEhTQUVLQUlFSVI0Z0JDZ0NDQ0VmSUFOQkFFd0VRQThMSUF4RklTQWdERUYvYWlJaFFRTnNJU0lnREVFRGJFRURhaUVqQTBBZ0RrRUNkQ0FCYWlnQ0FDRUhJQTVCQW5RZ0Ftb29BZ0FoRFNBTElBc29BaVFFZjBGOUlRbEJmeUVXSUFzb0FpQWdJMEVCZEdvaENDQU5JQ0ZxSVEwZ0J5QWlhaUVIUVFBRlFRTWhDVUVCSVJZZ0N5Z0NJQ0VJUVFFTE5nSWtJQ0FFUUVFQUlROUJBQ0VRUVFBaEJBVWdDVUVCYWlFa0lBbEJBbW9oSlNBSklBeHNJU3BCQUNFUlFRQWhFa0VBSVJkQkFDRVlRUUFoR1VFQUlROUJBQ0VRUVFBaEdpQU1JUnRCQUNFRklBZ2hCQU5BSUJNZ0pFRUJkQ0FFYWk0QkFDQVJRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFCYW1vdEFBQWlDa0VDZGlJR1FRWjBJQk1nQ1VFQmRDQUVhaUluTGdFQUlBVkJDR3BxUVFSMVFRSjBJQlJxS0FJQUlBY3RBQUJxYWkwQUFDSVJRUU4ySWhWQkFuUWdIR29vQWdCcUlCTWdKVUVCZENBRWFpNEJBQ0FTUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQ2Ftb3RBQUFpRWtFRGRpSW9RUUYwYWlJcExnRUFJZ1ZGQkVBZ0FDQVZJQVlnS0JDaUF5QXBMZ0VBSVFVTElBMGdCVUgvL3dOeFFYOXFJZ1k2QUFBZ0NpQUdJQjVxTFFBQWF5RUZJQklnQmlBZmFpMEFBR3NoQ2lBRUlBOGdFU0FHSUIxcUxRQUFheUlHUVFOc2Fqc0JBQ0FYSUFaQkJXeHFJUThnQmtFSGJDRVZJQVFnRUNBRlFRTnNhanNCQWlBWUlBVkJCV3hxSVJBZ0JVRUhiQ0VSSUFRZ0dpQUtRUU5zYWpzQkJDQVpJQXBCQld4cUlRUWdDa0VIYkNFU0lBY2dDV29oQnlBTklCWnFJUTBnRzBGL2FpSWJCRUFnQmlFWElBVWhHQ0FLSVJrZ0JDRWFJQlVoQlNBbklRUU1BUXNMSUNwQkFYUWdDR29oQ0FzZ0NDQVBPd0VBSUFnZ0VEc0JBaUFJSUFRN0FRUWdEa0VCYWlJT0lBTkhEUUFMQzlnSUFSZC9JQUFnQUNnQzVBTWlFeWdDRURZQ2lBRWdBQ2dDQkNnQ0FDRUJJQUJCQVNBVEtBSVVJZ3RCQlhRZ0FVRS9jVUhLQVdvUkJBQWlCVUVBTmdJQUlBVkJIellDQkNBRlFRQTJBZ2dnQlVFL05nSU1JQVZCQURZQ0VDQUZRUjgyQWhRZ0FDQUZFTEFDSUF0QkFVb0Vmd0ovUVFFaEJBTi9JQVJCQVhRZ0Mwb0VRRUVBSVFaQkFDRUNJQVVoQVVFQUlRTURmeUFCS0FJWUlna2dCa29oQnlBSklBWWdCeHNoQmlBQklBTWdCeHNoQXlBQlFTQnFJUUVnQWtFQmFpSUNJQVJIRFFBZ0F3c2hBUVZCQUNFR1FRQWhBaUFGSVFOQkFDRUJBMEFnQXlnQ0hDSUhJQVpLQkVBZ0F5QUJJQU1vQWhoQkFFb2lDUnNoQVNBSElBWWdDUnNoQmdzZ0EwRWdhaUVESUFKQkFXb2lBaUFFUncwQUN3c2dCQ0FCUlEwQkdpQUVRUVYwSUFWcUlBRW9BZ1EyQWdRZ0JFRUZkQ0FGYWlBQklnTW9BZ3cyQWd3Z0JFRUZkQ0FGYWlBQklnSW9BaFEyQWhRZ0JFRUZkQ0FGYWlJR0lBSW9BZ0EyQWdBZ0JFRUZkQ0FGYWtFSWFpSUhJQUlvQWdnMkFnQWdCRUVGZENBRmFrRVFhaUlKSUFJb0FoQTJBZ0FDUUFKL0FrQUNRQUpBUVFJZ0FpZ0NCQ0lJSUFJb0FnQWlER3RCQkhRaUNpQUNLQUlNSWcwZ0FpZ0NDQ0lPYTBFTWJDSVBTaUlRUVFGeklBSW9BaFFpRVNBQ0tBSVFJaEpyUVFOMElBb2dEeUFRRzBvYlFRTnhEZ01BQVFJRUN5QUJJQWdnREdwQkFoQTVJZ00yQWdRZ0Jnd0NDeUFESUEwZ0RtcEJBaEE1SWdNMkFnd2dCd3dCQ3lBQ0lCRWdFbXBCQWhBNUlnTTJBaFFnQ1FzZ0EwRUJhallDQUFzZ0FDQUNFTEFDSUFBZ0JoQ3dBaUFFUVFGcUlnUWdDMGdOQUNBRUN3c0ZRUUVMSVF0QkFDRUlBMEFnQUNnQzVBTW9BaGdoRHlBSVFRVjBJQVZxS0FJQUlnSWdDRUVGZENBRmFpZ0NCQ0lSU2lBSVFRVjBJQVZxS0FJSUlnNGdDRUVGZENBRmFpZ0NEQ0lTU25JZ0NFRUZkQ0FGYWlnQ0VDSU5JQWhCQlhRZ0JXb29BaFFpRUVweUJFQkJBQ0VCUVFBaEEwRUFJUVJCQUNFR0JVRUFJUUZCQUNFRFFRQWhCRUVBSVFZRFFDQUNRUUowSUE5cUtBSUFJUlFnQWtFRGRFRUVjaUVWSUE0aEJ3TkFJQWRCQW5SQkFuSWhGaUFIUVFaMElCUnFJQTFCQVhScUlRd2dEU0VKQTBBZ0RDNEJBQ0lYUWYvL0EzRWhDaUFYQkVBZ0FTQUtJQWxCQTNSQkJISnNhaUVCSUFNZ0NpQVdiR29oQXlBRUlBb2dGV3hxSVFRZ0JpQUthaUVHQ3lBTVFRSnFJUXdnQ1VFQmFpRUtJQWtnRUVnRVFDQUtJUWtNQVFzTElBZEJBV29oQ1NBSElCSklCRUFnQ1NFSERBRUxDeUFDUVFGcUlRY2dBaUFSU0FSQUlBY2hBZ3dCQ3dzTElBUWdCa0VCZFNJRWFpQUdFRGxCL3dGeElRSWdDQ0FBS0FLSUFTZ0NBR29nQWpvQUFDQURJQVJxSUFZUU9VSC9BWEVoQXlBSUlBQW9Bb2dCS0FJRWFpQURPZ0FBSUFFZ0JHb2dCaEE1UWY4QmNTRUJJQWdnQUNnQ2lBRW9BZ2hxSUFFNkFBQWdDRUVCYWlJSUlBdElEUUFMSUFBZ0N6WUNoQUVnQUNnQ0FDSUJRZUlBTmdJVUlBRWdDellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUJOQkFUWUNIQXViQVFFR2Z5QUFLQUxrQXlnQ0dDRUdJQUFvQW5BaUIwVWdBMEVCU0hJRVFBOExBMEFnQnlFQUlBUkJBblFnQVdvb0FnQWhBZ05BSUFJdEFBQkJBM1pCQW5RZ0Jtb29BZ0FnQWkwQUFVRUNka0VHZEdvZ0FpMEFBa0VEZGtFQmRHb2lDQzRCQUNJSlFRRnFRUkIwUVJCMUlRVWdDQ0FGSUFrZ0JSczdBUUFnQWtFRGFpRUNJQUJCZjJvaUFBMEFDeUFFUVFGcUlnUWdBMGNOQUFzTERRQWdBQ2dDNUFOQkFUWUNIQXZqQlFFRGZ5QUFLQUxrQXlJREtBSVlJUUlnQUNnQ1dBUi9JQUJCQWpZQ1dFRUNCVUVBQ3lFRUlBRUVRQ0FEUVJNMkFnUWdBMEdIQVRZQ0NDQURRUUUyQWh3RklBTkJGRUVWSUFSQkFrWWJOZ0lFSUFOQmlBRTJBZ2dnQUNnQ2hBRWlBVUVCU0FSQUlBQW9BZ0FpQVVFNk5nSVVJQUZCQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lCUVRzMkFoUWdBVUdBQWpZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpZUVFKR0JFQWdBQ2dDY0VFR2JFRU1haUVFSUFNb0FpQWlBVVVFUUNBQUtBSUVLQUlFSVFFZ0F5QUFRUUVnQkNBQlFUOXhRY29CYWhFRUFDSUJOZ0lnQ3lBQlFRQWdCQkJGR2lBREtBSW9SUVJBSUFBUXBBTUxJQU5CQURZQ0pBc0xJQU1vQWh4RkJFQVBDeUFDS0FJQVFRQkJnQ0FRUlJvZ0FpZ0NCRUVBUVlBZ0VFVWFJQUlvQWdoQkFFR0FJQkJGR2lBQ0tBSU1RUUJCZ0NBUVJSb2dBaWdDRUVFQVFZQWdFRVVhSUFJb0FoUkJBRUdBSUJCRkdpQUNLQUlZUVFCQmdDQVFSUm9nQWlnQ0hFRUFRWUFnRUVVYUlBSW9BaUJCQUVHQUlCQkZHaUFDS0FJa1FRQkJnQ0FRUlJvZ0FpZ0NLRUVBUVlBZ0VFVWFJQUlvQWl4QkFFR0FJQkJGR2lBQ0tBSXdRUUJCZ0NBUVJSb2dBaWdDTkVFQVFZQWdFRVVhSUFJb0FqaEJBRUdBSUJCRkdpQUNLQUk4UVFCQmdDQVFSUm9nQWtGQWF5Z0NBRUVBUVlBZ0VFVWFJQUlvQWtSQkFFR0FJQkJGR2lBQ0tBSklRUUJCZ0NBUVJSb2dBaWdDVEVFQVFZQWdFRVVhSUFJb0FsQkJBRUdBSUJCRkdpQUNLQUpVUVFCQmdDQVFSUm9nQWlnQ1dFRUFRWUFnRUVVYUlBSW9BbHhCQUVHQUlCQkZHaUFDS0FKZ1FRQkJnQ0FRUlJvZ0FpZ0NaRUVBUVlBZ0VFVWFJQUlvQW1oQkFFR0FJQkJGR2lBQ0tBSnNRUUJCZ0NBUVJSb2dBaWdDY0VFQVFZQWdFRVVhSUFJb0FuUkJBRUdBSUJCRkdpQUNLQUo0UVFCQmdDQVFSUm9nQWlnQ2ZFRUFRWUFnRUVVYUlBTkJBRFlDSEF1VkJBRVRmeUFBS0FMUUFpRUZJQUFvQXR3RElnUW9BaEFoRENBRUtBSVVJUTBnQkNnQ0dDRU9JQVFvQWh3aER5QUJLQUlBSUFKQkFuUnFLQUlBSVFnZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VFSUFFb0FnZ2dBa0VDZEdvb0FnQWhDU0FES0FJQUlRWWdBQ2dDY0NJQlFRRjJJZ29FUUNBRUlBcHFJUllnQVVGK2NTRVNJQXBCQm13aEV5QUpJUU1nQ0NFQ0lBWWhBU0FLSVJBRFFDQUVRUUZxSVJRZ0EwRUJhaUVWSUFNdEFBQWlCMEVDZENBTWFpZ0NBQ0VESUFRdEFBQWlDMEVDZENBUGFpZ0NBQ0FIUVFKMElBNXFLQUlBYWtFUWRTRUVJQXRCQW5RZ0RXb29BZ0FoQ3lBQklBTWdBaTBBQUNJSGFpQUZhaXdBQURvQUFDQUJJQVFnQjJvZ0JXb3NBQUE2QUFFZ0FTQUhJQXRxSUFWcUxBQUFPZ0FDSUFKQkFtb2hCeUFCSUFNZ0FpMEFBU0lDYWlBRmFpd0FBRG9BQXlBQklBVWdBaUFFYW1vc0FBQTZBQVFnQVNBRklBSWdDMnBxTEFBQU9nQUZJQUZCQm1vaEFTQVFRWDlxSWhBRVFDQVZJUU1nRkNFRUlBY2hBZ3dCQ3dzZ0NTQUthaUVKSUJZaEJDQUlJQkpxSVFnZ0JpQVRhaUVHSUFBb0FuQWhBUXNnQVVFQmNVVUVRQThMSUFRdEFBQWlBRUVDZENBUGFpZ0NBQ0FKTFFBQUlnRkJBblFnRG1vb0FnQnFRUkIxSVFJZ0FFRUNkQ0FOYWlnQ0FDRURJQVlnQ0MwQUFDSUFJQUZCQW5RZ0RHb29BZ0JxSUFWcUxBQUFPZ0FBSUFZZ0FDQUNhaUFGYWl3QUFEb0FBU0FHSUFBZ0Eyb2dCV29zQUFBNkFBSUxSd0FnQUNnQzNBTW9BZ3doQXlBQUlBRWdBaWdDQUNBRktBSUFRUUowSUFScUlBTkJIM0ZCK2dWcUVRY0FJQVVnQlNnQ0FFRUJhallDQUNBQ0lBSW9BZ0JCQVdvMkFnQUxnQVlCRjM4Z0FDZ0MwQUloQlNBQUtBTGNBeUlFS0FJUUlROGdCQ2dDRkNFUUlBUW9BaGdoRVNBRUtBSWNJUklnQVNnQ0FDSUhJQUpCQVhRaUJFRUNkR29vQWdBaERDQUVRUUZ5UVFKMElBZHFLQUlBSVFRZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VHSUFFb0FnZ2dBa0VDZEdvb0FnQWhEU0FES0FJQUlRZ2dBeWdDQkNFSklBQW9BbkFpQVVFQmRpSU9CRUFnQmlBT2FpRWFJQTVCQm13aEV5QUVJQUZCZm5FaUZtb2hGeUFOSVFjZ0JDRURJQXdoQkNBSklRRWdDQ0VDSUE0aEZBTkFJQVpCQVdvaEdDQUhRUUZxSVJrZ0J5MEFBQ0lLUVFKMElBOXFLQUlBSVFjZ0JpMEFBQ0lMUVFKMElCSnFLQUlBSUFwQkFuUWdFV29vQWdCcVFSQjFJUVlnQzBFQ2RDQVFhaWdDQUNFTElBSWdCeUFFTFFBQUlncHFJQVZxTEFBQU9nQUFJQUlnQmlBS2FpQUZhaXdBQURvQUFTQUNJQW9nQzJvZ0JXb3NBQUE2QUFJZ0JFRUNhaUVLSUFJZ0JTQUhJQVF0QUFFaUJHcHFMQUFBT2dBRElBSWdCU0FFSUFacWFpd0FBRG9BQkNBQ0lBVWdCQ0FMYW1vc0FBQTZBQVVnQWtFR2FpRUNJQUVnQlNBSElBTXRBQUFpQkdwcUxBQUFPZ0FBSUFFZ0JTQUVJQVpxYWl3QUFEb0FBU0FCSUFVZ0JDQUxhbW9zQUFBNkFBSWdBMEVDYWlFRUlBRWdBeTBBQVNJRElBZHFJQVZxTEFBQU9nQURJQUVnQXlBR2FpQUZhaXdBQURvQUJDQUJJQU1nQzJvZ0JXb3NBQUE2QUFVZ0FVRUdhaUVCSUJSQmYyb2lGQVJBSUJraEJ5QVlJUVlnQkNFRElBb2hCQXdCQ3dzZ0RTQU9haUVOSUJvaEJpQVhJUVFnRENBV2FpRU1JQWtnRTJvaENTQUlJQk5xSVFnZ0FDZ0NjQ0VCQ3lBQlFRRnhSUVJBRHdzZ0RTMEFBQ0lCUVFKMElBOXFLQUlBSVFBZ0JpMEFBQ0lDUVFKMElCSnFLQUlBSUFGQkFuUWdFV29vQWdCcVFSQjFJUUVnQWtFQ2RDQVFhaWdDQUNFQ0lBZ2dBQ0FNTFFBQUlnTnFJQVZxTEFBQU9nQUFJQWdnQVNBRGFpQUZhaXdBQURvQUFTQUlJQUlnQTJvZ0JXb3NBQUE2QUFJZ0NTQUFJQVF0QUFBaUFHb2dCV29zQUFBNkFBQWdDU0FBSUFGcUlBVnFMQUFBT2dBQklBa2dBQ0FDYWlBRmFpd0FBRG9BQWd1OEV3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lHSVEwZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUhJQUZJQkVBZ0JVRUFPd0VBSUExQkFEc0JBQ0FOUVFKcUlRMGdCVUVDYWlFRklBZEJBV29oQnd3QkN3c2dCaUVISUFGQmYyb2lFVUVCZENBR2FpRU5RUUFoQlFOQUlBVWdBa2dFUUNBTlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFCUVFGMElBMXFJUTBnQlVFQmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTlFRRWhDMEVBSVFVZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtnQmlFTUEwQWdDU0FSU0FSQUlBMHRBQUFnQTBvRVFBSkFJQkpCQVhRZ0RHb2lEeTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQTlCZm1vdUFRQWlDaUVJSUFwQkFFb2hCaUFQTGdFQ0lnVkJBRXdFUUNBR0JFQWdEQ0FLT3dFQUlBaEJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsSUJFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnREVGK2FpNEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQU1JQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFHQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUZJQVlvQWdCR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQ0FHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0RFRithaTRCQUNJR1FRQk1CRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBbEtCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUdLQUlBSUFWR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNGSUF4QkFEc0JBQXNnRFVFQmFpRU5JQWxCQVdvaENTQU1RUUpxSVF3TUFRc0xJQTFCQW1vaERTQUxRUUZxSVFzZ0FDRUZJQXhCQkdvaEJnd0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnYzJBZ2dnQndSL0lBMUJBQ0FIUVFKMEVFVWFJQVJCa0lBb2FrRUFJQWRCQkhRUVJScEJBQ0VEQTBBZ0F5QUhTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnZEJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTG5nSUJCSDhqQmlFREl3WkJFR29rQmlBQUtBTGNBeUlIS0FJa0JFQWdCMEVnYWtFQUlBVW9BZ0JCQW5RZ0JHcEJBRUVCSUFjb0FpZ1E5d0VnQjBFQU5nSWtJQVVnQlNnQ0FFRUJhallDQUNBSElBY29BaXhCZjJvMkFpd0ZJQVlnQlNnQ0FDSUpheUlHSUFjb0Fpd2lDRUVDSUFoQkFra2JJZ2dnQ0NBR1N4c2hCaUFESUFsQkFuUWdCR29vQWdBMkFnQWdCa0VCU3dSQUlBTWdDVUVCYWtFQ2RDQUVhaWdDQURZQ0JBVWdBeUFIS0FJZ05nSUVJQWRCQVRZQ0pBc2dCeWdDRENFRUlBQWdBU0FDS0FJQUlBTWdCRUVmY1VINkJXb1JCd0FDZnlBSEtBSWtSU0VLSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQWNvQWl3Z0JtczJBaXdnQ2tVTEJFQWdBeVFHRHdzTElBSWdBaWdDQUVFQmFqWUNBQ0FESkFZTEd3RUJmeUFBS0FMY0F5SUJRUUEyQWlRZ0FTQUFLQUowTmdJc0M3b0JBUWQvSUFBb0FpUWhCU0FBS0FKd0lRZ2dCRUVBVEFSQUR3c2dCVUVBVEFSQUR3c2dDRVVoQ2dOQUlBcEZCRUJCQUNFQUEwQkJBQ0VKSUFCQkFuUWdBV29vQWdBZ0FrRUNkR29vQWdBaEJpQUFJQU1vQWdCcUlRY0RRQ0FHUVFGcUlRc2dCeUFHTEFBQU9nQUFJQVVnQjJvaEJ5QUlJQWxCQVdvaUNVY0VRQ0FMSVFZTUFRc0xJQVVnQUVFQmFpSUFSdzBBQ3dzZ0JFRi9haUVBSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBQWhCQXdCQ3dzTDJBSUJEMzhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUJLQUlNSUFKQkFuUnFLQUlBSVJFZ0FrRUJhaUVTSUFNb0FnQWhBa0VBSVFBRFFDQUFJQTlxTFFBQUlRY2dBaUFGSUFBZ0Rtb3NBQUJCZjNOQi93RnhJZ2dnQUNBUWFpMEFBQ0lUUVFKMElBbHFLQUlBYTJvc0FBQTZBQUFnQWlBRklBZ2dCMEVDZENBTWFpZ0NBQ0FUUVFKMElBdHFLQUlBYWtFUWRXdHFMQUFBT2dBQklBSWdCU0FJSUFkQkFuUWdDbW9vQWdCcmFpd0FBRG9BQWlBQ0lBQWdFV29zQUFBNkFBTWdBa0VFYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCSWhBaUFOSVFRTUFRc0xDOU1CQVFsL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUFJQWxxTFFBQUlRc2dBaUFBSUFocUxBQUFJZ3hCL3dGeFFZQUJhaUlOSUFBZ0Iyb3RBQUJxT2dBQUlBSWdERG9BQVNBQ0lBc2dEV282QUFJZ0FrRURhaUVDSUFVZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFvaEFpQUdJUVFNQVFzTEM3MEJBUVovSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQ0lBQWdCMm9zQUFBNkFBQWdBaUFBSUFocUxBQUFPZ0FCSUFJZ0FDQUphaXdBQURvQUFpQUNRUU5xSVFJZ0JTQUFRUUZxSWdCSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0NpRUNJQVloQkF3QkN3c0x0QUlCRG44Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FDUVFGcUlSRWdBeWdDQUNFQ1FRQWhBQU5BSUFBZ0Qyb3RBQUFoQnlBQ0lBVWdBQ0FPYWkwQUFDSUlJQUFnRUdvdEFBQWlFa0VDZENBSmFpZ0NBR3BxTEFBQU9nQUFJQUlnQlNBSUlBZEJBblFnREdvb0FnQWdFa0VDZENBTGFpZ0NBR3BCRUhWcWFpd0FBRG9BQVNBQ0lBVWdDQ0FIUVFKMElBcHFLQUlBYW1vc0FBQTZBQUlnQWtFRGFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkVoQWlBTklRUU1BUXNMQzRvQkFRVi9JQUFvQW5BaUIwVWdCRUVCU0hJRVFBOExBMEFnQkVGL2FpRUlJQUVvQWdBZ0FrRUNkR29vQWdBaENVRUFJUUFnQXlnQ0FDRUZBMEFnQlNBQUlBbHFMQUFBSWdZNkFBSWdCU0FHT2dBQklBVWdCam9BQUNBRlFRTnFJUVVnQnlBQVFRRnFJZ0JIRFFBTElBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQWdoQkF3QkN3c0w5QUVCQ1g4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBbHFMUUFBSWd4QmdBRnFJZzBnQUNBSWFpMEFBR3BCL3dGeFFRSjBJQVZxS0FJQUlBeEJnQUp5UVFKMElBVnFLQUlBYWlBQUlBcHFMUUFBSUExcVFmOEJjVUdBQkhKQkFuUWdCV29vQWdCcVFSQjJPZ0FBSUFCQkFXb2lBQ0FHUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFjaEJBd0JDd3NMM2dFQkIzOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQXBxTFFBQVFZQUVja0VDZENBRmFpZ0NBQ0FBSUFocUxRQUFRUUowSUFWcUtBSUFJQUFnQ1dvdEFBQkJnQUp5UVFKMElBVnFLQUlBYW1wQkVIWTZBQUFnQUVFQmFpSUFJQVpIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQnlFRURBRUxDd3N5QVFGL0lBQW9BZ1FnQUNnQ0NCQ0xBU0lCQkVBZ0FTQUFFTFFGUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRc1hBQ0FCS0FJQUlBSWdBMEVBSUFRZ0FDZ0NjQkQzQVF1SEJBRU1meUFES0FJQUlRZ2dBU2dDQkNJRElBQW9BdHdESWdWQmpBRnFhaXdBQUNFQklBTWdCVUdXQVdwcUxRQUFJUU1nQUNnQ3dBSWlCRUVBVEFSQUR3c2dBVUgvQVhFaEJTQUJRUUJISVF3Z0EwSC9BWEVpQ2tGL2FpRU5JQU5CL3dGeFFRRktCRUFnQlVGK0lBVkJmM01nQVJ0cVFRSnFJUTVCQUNFRUEwQUNRQ0FFUVFKMElBaHFLQUlBSWdNZ0FDZ0NjQ0lCYWlFUElBRkJBRW9FUUNBTVJRMEJJQVpCQW5RZ0Ftb29BZ0FoQnlBRElRRURRQ0FCSUFjc0FBQWdEaEJGR2lBRklRTURRQ0FCUVFGcUlRRWdBMEYvYWlFTElBTkJBVW9FUUNBTElRTU1BUXNMSUFkQkFXb2hCeUFCSUE5SkRRQUxJQUFvQW5BaEFRc2dDQ0FFSUFnZ0JFRUJhaUFOSUFFUTl3RWdCa0VCYWlFR0lBUWdDbW9pQkNBQUtBTEFBa2dOQVVFYklRa0xDeUFKUVJ0R0JFQVBDd05BREFBQUN3QUxJQXhGQkVBZ0FDZ0NjRUVBU2lFQlFRQWhBQU4vSUFFRWYwRUFCU0FBSUFwcUlnQWdCRWdFZnd3Q0JVRWJDd3NMUVJ0R0JFQVBDd05BREFBQUN3QUxRUUFoQkFOQUlBWkJBblFnQ0dvb0FnQWlBU0FBS0FKd0lnTnFJUWtnQTBFQVNnUkFJQVJCQW5RZ0Ftb29BZ0FoQndOQUlBRWdCeXdBQUNBRkVFVWFJQVVoQXdOQUlBRkJBV29oQVNBRFFYOXFJUXNnQTBFQlNnUkFJQXNoQXd3QkN3c2dCMEVCYWlFSElBRWdDVWtOQUFzTElBUkJBV29oQkNBR0lBcHFJZ1lnQUNnQ3dBSklEUUFMQzY4QkFRVi9JQU1vQWdBaEJTQUFLQUxBQWtFQVRBUkFEd3RCQUNFREEwQWdBMEVDZENBRmFpZ0NBQ0lISUFBb0FuQWlBV29oQ0NBQlFRQktCRUFnQmtFQ2RDQUNhaWdDQUNFRUlBY2hBUU5BSUFSQkFXb2hCeUFCSUFRc0FBQWlCRG9BQUNBQklBUTZBQUVnQVVFQ2FpSUJJQWhKQkVBZ0J5RUVEQUVMQ3lBQUtBSndJUUVMSUFVZ0F5QUZJQU5CQVhKQkFTQUJFUGNCSUFaQkFXb2hCaUFEUVFKcUlnTWdBQ2dDd0FKSURRQUxDNVVCQVFSL0lBTW9BZ0FoQmlBQUtBTEFBaUlCUVFCTUJFQVBDMEVBSVFNRFFDQURRUUowSUFacUtBSUFJZ1VnQUNnQ2NDSUVhaUVISUFSQkFFb0VRQ0FEUVFKMElBSnFLQUlBSVFRZ0JTRUJBMEFnQkVFQmFpRUZJQUVnQkN3QUFDSUVPZ0FBSUFFZ0JEb0FBU0FCUVFKcUlnRWdCMGtFUUNBRklRUU1BUXNMSUFBb0FzQUNJUUVMSUFOQkFXb2lBeUFCU0EwQUN3c0pBQ0FESUFJMkFnQUxDUUFnQTBFQU5nSUFDOG9DQVFOL0lBQW9BdHdESWdjb0Fsd2lDQ0FBS0FMQUFpSURTQVIvSUFnRklBQW9BaVJCQUVvRVFDQUFLQUxZQVNFSVFRQWhBd05BSUFkQk5Hb2dBMEVDZEdvb0FnQWhDU0FBSUFnZ0EwRUNkQ0FCYWlnQ0FDQUNLQUlBSUFkQjVBQnFJQU5CQW5ScUtBSUFiRUVDZEdvZ0IwRU1haUFEUVFKMGFpQUpRUjl4UWZvRmFoRUhBQ0FJUWRnQWFpRUlJQU5CQVdvaUF5QUFLQUlrU0EwQUN5QUFLQUxBQWlFREN5QUhRUUEyQWx4QkFBc2hBU0FHSUFVb0FnQWlCbXNpQ0NBSEtBSmdJZ2tnQXlBQmF5SURJQU1nQ1VzYklnTWdBeUFJU3hzaEF5QUFLQUxnQXlnQ0JDRUlJQUFnQjBFTWFpQUJJQVpCQW5RZ0JHb2dBeUFJUVQ5eFFab0dhaEVGQUNBRklBTWdCU2dDQUdvMkFnQWdCeUFIS0FKZ0lBTnJOZ0pnSUFjZ0F5QUhLQUpjYWlJQk5nSmNJQUVnQUNnQ3dBSklCRUFQQ3lBQ0lBSW9BZ0JCQVdvMkFnQUxId0VCZnlBQUtBTGNBeUlCSUFBb0FzQUNOZ0pjSUFFZ0FDZ0NkRFlDWUF1SEFnRUZmeUFBS0FMSUF5SUhLQUlZSWdNRVFDQUhRUlJxSVFFZ0IwRVFhaUVDSUFjb0Fnd2hDUVVnQUNnQ0JDZ0NIQ0VESUFjZ0FDQUhLQUlJSUFkQkZHb2lBU2dDQUNBSFFSQnFJZ0lvQWdCQkFDQURRUjl4UWFJQ2FoRUlBQ0lKTmdJTUlBY29BaGdoQXdzZ0FDZ0NkQ0FCS0FJQWF5SUlJQVlnQlNnQ0FDSUtheUlHSUFJb0FnQWdBMnNpQ3lBTElBWkxHeUlHSUFZZ0NFc2JJUVlnQUNnQzVBTW9BZ1FoQ0NBQUlBTkJBblFnQ1dvZ0NrRUNkQ0FFYWlBR0lBaEJIM0ZCK2dWcUVRY0FJQVVnQmlBRktBSUFhallDQUNBSElBWWdCeWdDR0dvaUFEWUNHQ0FBSUFJb0FnQWlBRWtFUUE4TElBRWdBQ0FCS0FJQWFqWUNBQ0FIUVFBMkFoZ0xpZ0lCQlg4Z0FDZ0N5QU1pQjBFWWFpSUlLQUlBSWdRRVFDQUhRUkJxSVFZZ0IwRU1haUlKSVFvZ0NTZ0NBQ0VKQlNBQUtBSUVLQUljSVFRZ0IwRU1haUlLSUFBZ0J5Z0NDQ0FIS0FJVUlBZEJFR29pQmlnQ0FFRUJJQVJCSDNGQm9nSnFFUWdBSWdrMkFnQWdDQ2dDQUNFRUN5QUFLQUxjQXlnQ0JDRUxJQUFnQVNBQ0lBTWdDU0FJSUFZb0FnQWdDMEVIY1VIaUJtb1JEUUFnQ0NnQ0FDSUJJQVJMQkVBZ0FDZ0M1QU1vQWdRaEFpQUFJQW9vQWdBZ0JFRUNkR3BCQUNBQklBUnJJZ0FnQWtFZmNVSDZCV29SQndBZ0JTQUFJQVVvQWdCcU5nSUFJQWdvQWdBaEFRc2dBU0FHS0FJQUlnQkpCRUFQQ3lBSElBQWdCeWdDRkdvMkFoUWdDRUVBTmdJQUM1OEJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JpQUZLQUlBYXlFSUlBQW9Bc2dESWdrb0FoQWhDaUFIUVFBMkFnQWdBQ2dDM0FNb0FnUWhCaUFBSUFFZ0FpQURJQWtvQWd3Z0J5QUtJQWdnQ0NBS1N4c2dCa0VIY1VIaUJtb1JEUUFnQUNnQzVBTW9BZ1FoQVNBQUlBa29BZ3dnQlNnQ0FFRUNkQ0FFYWlBSEtBSUFJQUZCSDNGQitnVnFFUWNBSUFVZ0J5Z0NBQ0FGS0FJQWFqWUNBQ0FISkFZTGtnSUJBWDhnQUNnQ3lBTWhBZ0pBQWtBQ1FBSkFBa0FnQVE0RUFBTUNBUU1MSUFBb0FsUkZCRUFnQWlBQUtBTGNBeWdDQkRZQ0JBd0VDeUFDUVFRMkFnUWdBaWdDREVVRVFDQUFLQUlFS0FJY0lRRWdBaUFBSUFJb0FnaEJBQ0FDS0FJUVFRRWdBVUVmY1VHaUFtb1JDQUEyQWd3TERBTUxJQUlvQWdoRkJFQWdBQ2dDQUNJQlFRTTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRUVUyQWdRTUFnc2dBaWdDQ0VVRVFDQUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJCallDQkF3QkN5QUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJBRFlDR0NBQ1FRQTJBaFFMS1FFQmZ5QUFLQUxJQXlnQ0JDRUVJQUJCQUVFQVFRQWdBU0FDSUFNZ0JFRUhjVUhpQm1vUkRRQUxmd0VFZnlBQUtBTEFBeUlFUVRCcUlnWW9BZ0FnQkNnQ05DSUZTUVJBSUFSQkNHb2hCd1VnQUNnQ3hBTW9BZ3doQlNBQUlBUkJDR29pQnlBRlFUOXhRWW9CYWhFQ0FBUi9JQVpCQURZQ0FDQUVLQUkwQlE4TElRVUxJQUFvQXNnREtBSUVJUVFnQUNBSElBWWdCU0FCSUFJZ0F5QUVRUWR4UWVJR2FoRU5BQXVWQndFUGZ5QUFLQUxBQXlJRUtBSTRSUVJBSUFBb0FzUURLQUlNSVFnZ0FDQUVRVHhxSUFRb0FrUkJBblJxS0FJQUlBaEJQM0ZCaWdGcUVRSUFCRUFnQkVFQk5nSTRJQVFnQkNnQ1RFRUJhallDVEFVUEN3c0NRQUpBQWtBQ1FBSkFBa0FnQkNnQ1NBNERBUUlBQXdzZ0FDZ0N5QU1vQWdRaEJTQUFJQVJCUEdvZ0JDZ0NSRUVDZEdvb0FnQWdCRUV3YWlJSUlBUkJOR29pQ2lnQ0FDQUJJQUlnQXlBRlFRZHhRZUlHYWhFTkFDQUlLQUlBSUFvb0FnQkpCRUFQQ3lBRVFRQTJBa2dnQWlnQ0FDQURTUTBERHdzZ0JFRXdhaUVJSUFSQk5Hb2hDZ3dDQ3lBRVFUQnFJUWdnQkVFMGFpRUtEQUlMRHdzZ0NFRUFOZ0lBSUFvZ0FDZ0N5QUlpRGtGL2FqWUNBQ0FFS0FKTUlBQW9Bc3dDUmdSQUlBQW9Bc0FESVFzZ0FDZ0NKQ0lQUVFCS0JFQWdDMEU4YWlBTEtBSkVRUUowYWlFUUlBQW9BdGdCSVFVRFFDQUZLQUlNSUFVb0FpaHNJZ2NnRGhBNUlRWWdCeUFGS0FJd0lBY1FUaUlISUFkRkd5RUhJQWxGQkVBZ0N5QUhRWDlxSUFZUU9VRUJhallDTkFzZ0VDZ0NBQ0FKUVFKMGFpZ0NBQ0VOSUFaQkFYUWhFU0FHUVFCS0JFQWdCMEYvYWtFQ2RDQU5haUVNUVFBaEJnTkFJQVlnQjJwQkFuUWdEV29nRENnQ0FEWUNBQ0FHUVFGcUlnWWdFVWdOQUFzTElBVkIyQUJxSVFVZ0NVRUJhaUlKSUE5SERRQUxDd3NnQkVFQk5nSklDeUFBS0FMSUF5Z0NCQ0VGSUFBZ0JFRThhaUFFS0FKRVFRSjBhaWdDQUNBSUlBb29BZ0FnQVNBQ0lBTWdCVUVIY1VIaUJtb1JEUUFnQ0NnQ0FDQUtLQUlBU1FSQUR3c2dCQ2dDVEVFQlJnUkFJQUFvQXNBRElRc2dBQ2dDeUFJaEFTQUFLQUlrSWdkQkFFb0VRQ0FMUVVCcklRMGdBVUVCYWlFT0lBRkJBbW9oRHlBQUtBTFlBU0VDUVFBaEF3TkFJQUlvQWd3Z0FpZ0NLR3dnQVJBNUlRVWdDeWdDUENBRFFRSjBhaWdDQUNFSklBMG9BZ0FnQTBFQ2RHb29BZ0FoQmlBRlFRQktCRUFnQlNBT2JDRVFJQVVnRDJ3aEVVRUFJUUFEUUNBQUlBVnJJZ3hCQW5RZ0NXb2dBQ0FRYWlJU1FRSjBJQWxxS0FJQU5nSUFJQXhCQW5RZ0Jtb2dFa0VDZENBR2FpZ0NBRFlDQUNBQUlCRnFJZ3hCQW5RZ0NXb2dBRUVDZENBSmFpZ0NBRFlDQUNBTVFRSjBJQVpxSUFCQkFuUWdCbW9vQWdBMkFnQWdBRUVCYWlJQUlBVkhEUUFMQ3lBQ1FkZ0FhaUVDSUFOQkFXb2lBeUFIUncwQUN3c0ZJQUFvQXNnQ0lRRUxJQVFnQkNnQ1JFRUJjellDUkNBRVFRQTJBamdnQ0NBQlFRRnFOZ0lBSUFvZ0FVRUNhallDQUNBRVFRSTJBa2dMNlFNQkVIOGdBQ2dDd0FNaEFnSkFBa0FDUUNBQkRnTUFBZ0VDQ3lBQUtBTGNBeWdDQ0VVRVFDQUNRUkUyQWdRZ0FpQUNLQUkwTmdJd0R3c2dBa0VRTmdJRUlBQW9Bc2dDSVFRZ0FDZ0NKQ0lMUVFCS0JFQWdBa0ZBYXlFTUlBUkJBbW9oRFNBRVFYNXFJUTRnQUNnQzJBRWhCVUVBSVFBRFFDQUZLQUlNSUFVb0FpaHNJQVFRT1NFRElBSW9BandnQUVFQ2RHb29BZ0FoQmlBTUtBSUFJQUJCQW5ScUtBSUFJUWNnQWtFSWFpQUFRUUowYWlnQ0FDRUlJQU1nRFd3aUNVRUFTZ1JBUVFBaEFRTkFJQUZCQW5RZ0Iyb2dBVUVDZENBSWFpZ0NBQ0lLTmdJQUlBRkJBblFnQm1vZ0NqWUNBQ0FCUVFGcUlnRWdDVWNOQUFzTElBTkJBWFFoQ1NBRFFRQktCRUFnQXlBRWJDRUtJQU1nRG13aEQwRUFJUUVEUUNBQklBOXFJaEJCQW5RZ0Iyb2dBU0FLYWlJUlFRSjBJQWhxS0FJQU5nSUFJQkZCQW5RZ0Iyb2dFRUVDZENBSWFpZ0NBRFlDQUNBQlFRRnFJZ0VnQ1VnTkFBdEJBQ0VCQTBBZ0FTQURhMEVDZENBR2FpQUdLQUlBTmdJQUlBRkJBV29pQVNBRFJ3MEFDd3NnQlVIWUFHb2hCU0FBUVFGcUlnQWdDMGNOQUFzTElBSkJBRFlDUkNBQ1FRQTJBa2dnQWtFQU5nSk1JQUpCQURZQ09BOExJQUpCRWpZQ0JBOExJQUFvQWdBaUFVRUROZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBdUJCQUVKZnlBQUlBQkJBVUhRQUNBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNJRU5nTEFBeUFFUVRNMkFnQWdBQ2dDeUFJaEFpQUFLQUxjQXlnQ0NBUi9JQUpCQWtnRVFDQUFLQUlBSWdOQk1EWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQ0FBS0FMSUFpRUNDeUFBS0FMQUF5SURJQUJCQVNBQVFTUnFJZ1lvQWdCQkEzUWdBQ2dDQkNnQ0FFRS9jVUhLQVdvUkJBQWlBVFlDUENBRFFVQnJJZ2NnQVNBQUtBSWtJZ0ZCQW5ScU5nSUFJQUZCQUVvRVFDQUNRUVJxSVFnZ0FDZ0MyQUVoQWtFQUlRRURmeUFBUVFFZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlnVWdDR3dpQ1VFRGRDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDQUZRUUowYWlFRklBTW9BandnQVVFQ2RHb2dCVFlDQUNBSEtBSUFJQUZCQW5ScUlBbEJBblFnQldvMkFnQWdBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKQ0lGU0EwQUlBVUxJUUVMSUFBb0FzZ0NJZ1ZCQW1vaEFpQUJJUU1nQlFVZ0JDQUNOZ0kwSUFCQkpHb2hCaUFBS0FJa0lRTWdBZ3NoQVNBRFFRQk1CRUFQQ3lBRVFRaHFJUVZCQUNFRElBQW9BdGdCSVFRRFFDQUVLQUlNSUFRb0FpaHNJQUVRT1NFQklBTkJBblFnQldvZ0FFRUJJQVFvQWh3Z0JDZ0NKR3dnQVNBQ2JDQUFLQUlFS0FJSVFROXhRWW9DYWhFSkFEWUNBQ0FEUVFGcUlnTWdCaWdDQUVnRVFDQUVRZGdBYWlFRUlBQW9Bc2dDSVFFTUFRc0xDOElCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVFY0lBSkJQM0ZCeWdGcUVRUUFJZ0kyQXNnRElBSkJNallDQUNBQ1FRQTJBZ2dnQWtFQU5nSU1JQUFvQWxSRkJFQVBDeUFDSUFBb0FzQUNJZ00yQWhBZ0FDZ0NCQ0VFSUFFRVFDQUVLQUlRSVFFZ0FpQUFRUUZCQUNBQUtBSndJQUFvQW5oc0lBQW9BblFnQXhENEFTQUNLQUlRSUFGQlAzRkJ4Z0pxRVFvQU5nSUlCU0FFS0FJSUlRRWdBaUFBUVFFZ0FDZ0NjQ0FBS0FKNGJDQURJQUZCRDNGQmlnSnFFUWtBTmdJTUN3dWhCQUVNZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCb0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDM0FNZ0FrR0dBVFlDQUNBQ1FRTTJBZ1FnQWtFQU5nSUlJQUFvQXJRQ0JFQWdBQ2dDQUNJQlFSbzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFLQUlrUVFCTUJFQVBDeUFDUWVRQWFpRUpJQUpCTkdvaEJTQUNRUXhxSVFvZ0FrR01BV29oQ3lBQ1FaWUJhaUVNSUFBb0F0Z0JJUUpCQUNFQkEwQWdBaWdDQ0NBQ0tBSWtiQ0FBS0FMRUFoQTVJUWNnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SVFZZ0FDZ0N2QUloQkNBQUtBTEFBaUVJSUFGQkFuUWdDV29nQmpZQ0FDQUNLQUkwQkVBQ1FDQUdJQWhHSWdNZ0JDQUhSbkVFUUNBQlFRSjBJQVZxUVF3MkFnQU1BUXNnQXlBRUlBZEJBWFJHSWdOeEJFQWdBVUVDZENBRmFrRU5OZ0lBQlFKQUlBTWdDQ0FHUVFGMFJuRUVRQ0FCUVFKMElBVnFRUTQyQWdBTUFRc2dCQ0FISUFRZ0J4QTVJZ1JzYTBVRVFDQUlJQVlnQ0NBR0VEa2lBMnhyUlFSQUlBRkJBblFnQldwQkR6WUNBQ0FCSUF0cUlBUTZBQUFnQVNBTWFpQURPZ0FBREFJTEN5QUFLQUlBSWdOQkp6WUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRTWdBVUVDZENBS2FpQUFRUUVnQUNnQ2NDQUFLQUs4QWhENEFTQUFLQUxBQWlBRFFROXhRWW9DYWhFSkFEWUNBQXNGSUFGQkFuUWdCV3BCQ3pZQ0FBc2dBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKRWdOQUFzTGtoQUJCbjhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFUWUM0QU1nQVVHRkFUWUNBQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQkFnSUJBUU1MSUFBb0FpUkJBVWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFNTElBQW9BaVJCQTBjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBSUxJQUFvQWlSQkJFY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUVMSUFBb0FpUkJBVWdFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBS3dBZ1JBQWtBQ1FDQUFLQUlvUVFKckRnVUJBQUFBQVFBTElBQW9BZ0FpQWtFY05nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzTEFrQUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFrRUJhdzRHQUFFRUF3UUNCQXNnQUVFQk5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVBQWdJQ0FBSUxJQUZCSmpZQ0JDQUFLQUlrSWdKQkFVd05CeUFBS0FMWUFTRURRUUVoQVFOQUlBRkIyQUJzSUFOcVFRQTJBalFnQVVFQmFpSUJJQUpJRFFBTERBSUxBa0FDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFbk5nSUVEQUlMSUFGQktEWUNCQXdCQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQUtBTGdBeUFBUVFGQmdCZ2dBVUUvY1VIS0FXb1JCQUFpQWpZQ0dFRUFJUUVEUUNBQlFRSjBJQUpxSUFGQmk1a0JiRFlDQUNBQlFZQUNha0VDZENBQ2FpQUJRY2FzQW13MkFnQWdBVUdBQkdwQkFuUWdBbW9nQVVHdk9teEJnSUFDYWpZQ0FDQUJRUUZxSWdGQmdBSkhEUUFMREFFTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN3d0VDeUFBUVFNMkFuZ0NRQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFNQkJBUUVBZ1FMSUFGQktUWUNCQXdJQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3REN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCMDVzTGJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0hFbGc1c1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRZDJrZW13MkFnQWdBVUVDZENBRGFpQUNRYzJmZld4QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDd0pBQWtBQ1FDQUFLQUt3QWc0Q0FBRUNDeUFCUVNzMkFnUU1Cd3NnQVVFc05nSUVEQVlMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQkFzTUF3c2dBRUVETmdKNElBQW9BaWhCQmtjRVFDQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUF3c0NRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVyTmdJRURBUUxJQUZCTERZQ0JBd0RDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1BZ3NnQUVFRU5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFRWF3NENBUUFDQ3lBQlFTMDJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N5QUJRUzQyQWdRTUF3c2dBQ2dDQUNJQlFSdzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBSUxEQUVMSUFBb0FpZ2dBa1lFUUNBQUlBQW9BaVEyQW5nZ0FVRXVOZ0lFQlNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSlVCRUFnQUVFQk5nSjhEd3NnQUNBQUtBSjROZ0o4Qzg0RUFRZC9JQUFvQWdRb0FnQWhBU0FBSUFCQkFVRXdJQUZCUDNGQnlnRnFFUVFBSWdFMkF0d0RJQUZCaEFFMkFnQWdBVUVBTmdJSUlBRWdBQ2dDZUNBQUtBSndiQ0lDTmdJb0lBQW9Bc0FDUVFKR0JFQWdBVUVCTmdJRUlBRkJDVFlDRENBQUtBSUVLQUlFSVFNZ0FTQUFRUUVnQWlBRFFUOXhRY29CYWhFRUFEWUNJQ0FBS0FMY0F5RUJCU0FCUVFJMkFnUWdBVUVLTmdJTUlBRkJBRFlDSUFzQ2Z5QUFLQUlvUVFkR0lRY2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJUUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRkNBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaGdnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBaHdnQVNnQ0VDRURJQUVvQWhRaEJDQUJLQUlZSVFVZ0J3c0VRRUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIVG13dHNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWNTV0RteEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCM2FSNmJEWUNBQ0FBUVFKMElBSnFJQUZCelo5OWJFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxCVUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIcHpRVnNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWFLTEIyeEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCcnBKOWJEWUNBQ0FBUVFKMElBSnFJQUZCNTg5K2JFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxDd3ZIQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQkxDQUJRVDl4UWNvQmFoRUVBQ0lETmdMa0F5QURRVEUyQWdBZ0EwR0RBVFlDRENBRFFRQTJBaUFnQTBFQU5nSW9JQUFvQW5oQkEwY0VRQ0FBS0FJQUlnRkJNRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FESUFCQkFVR0FBU0FCUVQ5eFFjb0JhaEVFQURZQ0dFRUFJUUVEUUNBQUtBSUVLQUlFSVFJZ0FFRUJRWUFnSUFKQlAzRkJ5Z0ZxRVFRQUlRSWdBeWdDR0NBQlFRSjBhaUFDTmdJQUlBRkJBV29pQVVFZ1J3MEFDeUFEUVFFMkFod2dBQ2dDYkFSQUlBQW9BbUFpQVVFSVNBUkFJQUFvQWdBaUFrRTZOZ0lVSUFKQkNEWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQ1FUczJBaFFnQWtHQUFqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUUlnQXlBQVFRRWdBVUVESUFKQkQzRkJpZ0pxRVFrQU5nSVFJQU1nQVRZQ0ZBVWdBMEVBTmdJUUN5QUFLQUpZUlFSQUR3c2dBRUVDTmdKWUlBQW9BZ1FvQWdRaEFTQURJQUJCQVNBQUtBSndRUVpzUVF4cUlBRkJQM0ZCeWdGcUVRUUFOZ0lnSUFBUXBBTUxqUWtCRDM4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUWRnQUlBRkJQM0ZCeWdGcUVRUUFJZ0UyQXVRRElBRkJNRFlDQUNBQlFZRUJOZ0lJSUFGQmdnRTJBZ3dnQVVFQU5nSkVJQUZCQURZQ05DQUFLQUo0UVFSS0JFQWdBQ2dDQUNJQlFUazJBaFFnQVVFRU5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDWUNJRlFZQUNTZ1JBSUFBb0FnQWlBVUU3TmdJVUlBRkJnQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FtQWhCUXNnQUNnQzVBTWhCeUFBS0FKNElnWkJBVW9FUUVFQklRRURmMEVCSVFNZ0FVRUJhaUlFSVFJRFFDQUNJQVJzSVFJZ0EwRUJhaUlESUFaSERRQUxJQUlnQlVvRWZ5QUNJUU1nQVFVZ0JDRUJEQUVMQ3lFQ0JTQUZRUUVnQlVFQlNoc2lBa0VCYWlFREN5QUNRUUpKQkVBZ0FDZ0NBQ0lCUVRvMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0JrRUFTZ1JBUVFFaEFVRUFJUU1EUUNBSFFTQnFJQU5CQW5ScUlBSTJBZ0FnQVNBQ2JDRUJJQU5CQVdvaUF5QUdSdzBBQ3dKQUlBQW9BaXhCQWtZRVFFRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBRZFNIQVdvb0FnQkJBblJxSWdrb0FnQWlCRUVCYWlFSUFrQUNRQ0FCSUFRUU9TQUliQ0lFSUFWS0RRQWdDU0FJTmdJQUlBTkJBV29pQXlBR1NBUi9RUUVoQWlBRUJVRUJJUUlnQkNFQkRBRUxJUUVNQVFzZ0FrVU5BMEVBSVFOQkFDRUNDd3dBQUFzQUJVRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBhaUlKS0FJQUlnUkJBV29oQ0FKQUFrQWdBU0FFRURrZ0NHd2lCQ0FGU2cwQUlBa2dDRFlDQUNBRFFRRnFJZ01nQmtnRWYwRUJJUUlnQkFWQkFTRUNJQVFoQVF3QkN5RUJEQUVMSUFKRkRRTkJBQ0VEUVFBaEFnc01BQUFMQUFzQUN5QUJJUUlGUVFFaEFnc2dBQ2dDQUNFQklBQW9BbmhCQTBZRVFDQUJJQUkyQWhnZ0FTQUhLQUlnTmdJY0lBRWdCeWdDSkRZQ0lDQUJJQWNvQWlnMkFpUWdBVUhnQURZQ0ZDQUJLQUlFSVFFRklBRkI0UUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVFzZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFBb0FnUW9BZ2doQVNBQVFRRWdBaUFBS0FKNElBRkJEM0ZCaWdKcUVRa0FJUW9nQUNnQ2VDSUJRUUJLQkVCQkFDRUVJQUloQXdOQUlBTWdCMEVnYWlBRVFRSjBhaWdDQUNJSkVEa2hCU0FKUVFCS0JFQWdDVUYvYWlJTFFRSVFPU0VNSUFSQkFuUWdDbW9oRFNBRlFRQktCRUJCQUNFR0EwQWdCU0FHYkNJQklBSklCRUFnRENBR1FmOEJiR29nQ3hBNVFmOEJjU0VPQTBCQkFDRUlBMEFnRFNnQ0FDQUJJQWhxYWlBT09nQUFJQVVnQ0VFQmFpSUlSdzBBQ3lBQklBTnFJZ0VnQWtnTkFBc0xJQWtnQmtFQmFpSUdSdzBBQ3lBQUtBSjRJUUVMQ3lBRVFRRnFJZ1FnQVVnRVFDQUZJUU1NQVFzTEN5QUhJQW8yQWhBZ0J5QUNOZ0lVSUFBUW9RTWdBQ2dDV0VFQ1J3UkFEd3NnQUNnQzVBTWhBaUFBS0FKd0lROGdBQ2dDZUVFQVRBUkFEd3NnRDBFQmRFRUVhaUVEUVFBaEFRTkFJQUFvQWdRb0FnUWhCQ0FDUWNRQWFpQUJRUUowYWlBQVFRRWdBeUFFUVQ5eFFjb0JhaEVFQURZQ0FDQUJRUUZxSWdFZ0FDZ0NlRWdOQUFzTDJ3VUJEMzhnQUNnQ0ZDSUNRY29CUndSQUlBQW9BZ0FpQVVFVk5nSVVJQUVnQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQVFrUVlnQUNnQzJBRWhCQ0FBS0FJa0lneEJBRW9pRGdSL0lBQW9Bc2dDSVFJZ0FDZ0N4QUlpQ0VFSVFRUWdBQ2dDVEJzaUNVb0VRQ0FDSUFsS0lRMGdDRUVCZENFRElBUWhBUU5BSUFFaUJ5QUlOZ0lrSUEwRVFDQUNJUUVGQWtBZ0FDZ0N3QUloQ2lBSEtBSU1JUXRCQVNFR0lBSWhBUU5BSUFvZ0JrRUJkQ0lHSUF0c0VFOE5BU0FDSUFac0lnRWdDVXdOQUFzTEN5QUhJZ1lnQVRZQ0tDQUlJQUZCQVhRaUNrb0VRQ0FISUFvMkFpUUZJQUVnQTBvRVFDQUdJQU0yQWlnTEN5QUdRZGdBYWlFQklBVkJBV29pQlNBTVNBMEFDd1VnQUNnQ3ZBSWhEU0FDSUFsS0lRb2dCQ0VCQTBBZ0FTZ0NDQ0VEUVFFaEJTQUlJUWNEUUNBTklBTWdCVUVCZENJRmJCQlBSUVJBSUFVZ0NHd2lCeUFKVEEwQkN3c2dBU0lGSUFjMkFpUWdDZ1JBSUFJaEFRVUNRQ0FBS0FMQUFpRUxJQVVvQWd3aEQwRUJJUU1nQWlFQkEwQWdDeUFQSUFOQkFYUWlBMndRVHcwQklBSWdBMndpQVNBSlRBMEFDd3NMSUFVaUF5QUJOZ0lvSUFjZ0FVRUJkQ0lMU2dSQUlBVWdDellDSkFVZ0FTQUhRUUYwSWdGS0JFQWdBeUFCTmdJb0N3c2dBMEhZQUdvaEFTQUdRUUZxSWdZZ0RFZ05BQXNMSUE0RWYwRUFJUUlEZnlBRUlBUW9BaVFnQUNnQ0hDQUVLQUlJYkd3Z0FDZ0N2QUlnQUNnQ3JBTnNFR2cyQWl3Z0JDQUVLQUlvSUFBb0FpQWdCQ2dDREd4c0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdJd0lBUkIyQUJxSVFRZ0FrRUJhaUlDSUFBb0FpUWlBVWdOQUNBQkN3VWdEQXNGSUF3TElRSUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFVRUJhdzRIQUFFQ0F3TUJBZ1FMSUFFaEFnd0RDMEVESVFJTUFndEJBeUVDREFFTFFRUWhBZ3NnQUNBQ05nSjRJQUJCQVNBQ0lBQW9BbFFiTmdKOElBQVFwZ05GQkVBZ0FFRUJOZ0tBQVE4TElBQWdBQ2dDd0FJMkFvQUJDenNCQW44Z0FDZ0N2QU1oQVNBQUtBSlVCRUFnQUNnQzVBTW9BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVNBQktBSU1RUUZxTmdJTUM1QUVBUU4vSUFBb0Fyd0RJZ0lvQWdnRVFDQUNRUUEyQWdnZ0FDZ0M1QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBZ0FDZ0N5QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBRklBQW9BbFFFUUNBQUtBS0lBVVVFUUFKQUlBQW9BbHdFUUNBQUtBSnNCRUFnQUNBQ0tBSVlOZ0xrQXlBQ1FRRTJBZ2dNQWdzTElBQW9BbVFFUUNBQUlBSW9BaFEyQXVRREJTQUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN3c0xJQUFvQXRnREtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDeEFNb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpFUlFSQUlBSW9BaEJGQkVBZ0FDZ0M0QU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MzQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSlVCRUFnQUNnQzVBTW9BZ0FoQVNBQUlBSW9BZ2dnQVVFL2NVR3lCV29SQXdBTElBQW9Bc2dES0FJQUlRRWdBRUVEUVFBZ0FpZ0NDQnNnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBTEN5QUFLQUlJSWdGRkJFQVBDeUFCSUFJb0Fnd2lBellDRENBQklBTkJBa0VCSUFJb0FnZ2JhaUlDTmdJUUlBQkJRR3NvQWdCRkJFQVBDeUFBS0FMTUF5Z0NGQVJBRHdzZ0FTQUNRUUpCQVNBQUtBSnNHMm8yQWhBTDh3WUJCSDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFqWUN2QU1nQWtIL0FEWUNBQ0FDUVlBQk5nSUVJQUpCQURZQ0NDQUFLQUxVQVNJQlFRaEhCRUFnQUNnQ0FDSURRUkEyQWhRZ0F5QUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUJEM0JTQUFLQUlFS0FJQUlRRWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ05CQUVHQUJCQkZHaUFBSUFOQmdBUnFJZ1EyQXRBQ1FRQWhBUU5BSUFFZ0JHb2dBVG9BQUNBQlFRRnFJZ0ZCZ0FKSERRQUxJQU5CZ0FacVFYOUJnQVFRUlJvQ1FBSkFJQUFvQW5SRkRRQWdBQ2dDY0VVTkFDQUFRZmdBYWlJREtBSUFRUUZJRFFBTUFRc2dBQ2dDQUNJQlFTRTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkIrQUJxSVFNTElBSkJBRFlDRENBQ0lBQVFwZ00yQWhBZ0FrRUFOZ0lVSUFKQkFEWUNHQ0FBS0FKVUJFQUNRQ0FBUVVCcktBSUFSUVJBSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0N5QUFRY1FBYWlJQktBSUFCRUFnQUNnQ0FDSUVRVEEyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFES0FJQVFRTkdCRUFDUUNBQUtBS0lBUVJBSUFCQkFUWUNhQXdCQ3lBQUtBSmNCRUFnQUVFQk5nSnNCU0FBUVFFMkFtUUxDd1VnQUVFQk5nSmtJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0tJQVFzZ0FDZ0NaQVJBSUFBUTlnVWdBaUFBS0FMa0F6WUNGQXNnQUNnQ2JFVUVRQ0FBS0FKb1JRMEJDeUFBRVBVRklBSWdBQ2dDNUFNMkFoZ0xCU0FBUVFBMkFtUWdBRUVBTmdKb0lBQkJBRFlDYkNBQVFjUUFhaUVCQ3lBQktBSUFSUVJBSUFJb0FoQUVRQ0FBRVBRRkJTQUFFUE1GSUFBUThnVUxJQUFnQUNnQ2JCRHhCUXNnQUJESEJpQUFLQUxrQVFSQUlBQVFpd1lGSUFBUW13WUxJQUFnQUNnQ3pBTW9BaEFFZjBFQkJTQUFRVUJyS0FJQVFRQkhDeENLQmlBQktBSUFSUVJBSUFBUThBVUxJQUFvQWdRb0FoZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxNQXlnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BZ2dpQVVVRVFBOExJQUJCUUdzb0FnQUVRQThMSUFBb0Fzd0RLQUlRUlFSQUR3c2dBQ2dDSkNJRElBTkJBMnhCQW1vZ0FDZ0M0QUZGR3lFRElBRkJBRFlDQkNBQklBTWdBQ2dDekFKc05nSUlJQUZCQURZQ0RDQUJRUU5CQWlBQUtBSnNHellDRUNBQ0lBSW9BZ3hCQVdvMkFnd0wvZ1FCQlg4Q1FBSkFBa0FDUUFKQUFrQWdBQ2dDRkNJQlFjb0JhdzREQUFNQkFnc2dBQkQ2QlNBQVFVQnJLQUlBUlFSQUlBQkJ5d0UyQWhRTUF3c2dBRUhQQVRZQ0ZFRUJEd3NnQUVHOEEyb2hBd3dEQ3lBQUtBSUFJZ0pCRlRZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFFTElBQW9Bc3dES0FJUUJFQUNRQ0FBS0FJSUlRRURRQUpBSUFFRVFDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RLQUlBSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdJT0F3RUFBd0FMSUFKQkFuSkJBMFlnQUNnQ0NDSUJRUUJIY1FSQUlBRWdBU2dDQkVFQmFpSUNOZ0lFSUFJZ0FTZ0NDQ0lDVGdSQUlBRWdBaUFBS0FMTUFtbzJBZ2dMQ3d3QkN3c2dBZzhMQ3lBQUlBQW9BcEFCTmdLWUFRc2dBRUc4QTJvaEF5QUFLQUlVUWN3QlJ3UkFJQU1vQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFRUUEyQW93QklBQkJ6QUUyQWhRTEN5QURLQUlBSWdFb0FnZ0VRQUpBSUFCQmpBRnFJZ1VvQWdBaEFnTkFBa0FnQWlBQUtBSjBJZ1JKQkVBZ0FpRUJJQVFoQWdOQUlBQW9BZ2dpQkFSL0lBUWdBVFlDQkNBRUlBSTJBZ2dnQkNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBVW9BZ0FGSUFFTElRSWdBQ2dDd0FNb0FnUWhBU0FBUVFBZ0JVRUFJQUZCSDNGQitnVnFFUWNBSUFVb0FnQWlBU0FDUmcwQ0lBRWdBQ2dDZENJQ1NRMEFDeUFES0FJQUlRRUxJQUVvQWdRaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBREtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQlVFQU5nSUFJQU1vQWdBaUFTZ0NDRVVOQWtFQUlRSU1BUXNMUVFBUEN3c2dBRUhPQVVITkFTQUFLQUpFR3pZQ0ZFRUJDMUFCQTM5QmZ5RUJBMEFDUUFKQUFrQWdBQ0FDYWl3QUFDSURCRUFnQTBFdVJnUkFEQUlGREFNTEFBc01BZ3NnQWlFQkN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUFJQUZxUVFBNkFBQUxDOG9KQVExL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFTklBQW9BdkFDUVFCTUJFQkJBUThMSUFWQnZBRnFJUTRDUUFKQUEwQUNRQ0FJUVFKMElBRnFLQUlBSVF3Z0FDQUZRVHhxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlndEJBblJxS0FJQUlnWW9BaFFpQjBFQ2RHb2lBeWdDQUNBRlFTaHFJQXRCQW5ScUlna29BZ0JxSWdJUVhRUkFJQUFnQUNBQ1FRRnFFRjBpQ2lBQ1FRSnFhaUlFRUYwaUFnUkFJQUFnQXlnQ0FFRVVhaUlFRUYwRVFBTkFJQUpCQVhRaUFrR0FnQUpHRFFRZ0FDQUVRUUZxSWdRUVhRMEFDd3NGUVFBaEFnc2dDU0FDUVFFZ0J5QUFRZWdCYW1vdEFBQjBRUUYxU0FSL1FRQUZJQXBCQW5RaEF5QUNRUUVnQnlBQVFmZ0JhbW90QUFCMFFRRjFTZ1IvSUFOQkRHb0ZJQU5CQkdvTEN6WUNBQ0FFUVE1cUlRTWdBa0VCZFNJRUJFQURRQ0FDSUFSQkFDQUFJQU1RWFJ0eUlRSWdCRUVCZFNJRURRQUxDeUFGUVJocUlBdEJBblJxSWdRb0FnQWdBa0YvY3lBQ1FRRnFJQW9iYWlFQ0lBUWdBallDQUFVZ0NVRUFOZ0lBSUFWQkdHb2dDMEVDZEdvb0FnQWhBZ3NnRENBQ093RUFJQUFvQXJRREJFQUNRQ0FGUWZ3QWFpQUdLQUlZSWdKQkFuUnFJUWNnQWlBQVFZZ0NhbW9oQ1VFQUlRUURRQ0FBSUFjb0FnQWdCRUVEYkdvaUF4QmREUUVnQkVFQmFpRUNJQUFnQTBFQmFoQmRCRUFnQkNFR0lBSWhCQVVnQXlFR0EzOGdBaUFBS0FLMEEwNE5DQ0FHUVFOcUlRTWdBa0VCYWlFRUlBQWdCa0VFYWhCZEJIOGdBZ1VnQXlFR0lBUWhBZ3dCQ3dzaEJnc2dBQ0FPRUYwaENpQUFJQU5CQW1vaUF4QmRJZ0lFUUNBQUlBTVFYUVJBSUFKQkFYUWhBaUFBSUFjb0FnQkJ2UUZCMlFFZ0JpQUpMUUFBU0J0cUlnTVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5DaUFBSUFOQkFXb2lBeEJkRFFBTEN3c2dBMEVPYWlFR0lBSkJBWFVpQXdSQUEwQWdBaUFEUVFBZ0FDQUdFRjBiY2lFQ0lBTkJBWFVpQXcwQUN3c0ZRUUFoQWdzZ0JFRUNkQ0FOYWlnQ0FFRUJkQ0FNYWlBQ1FmLy9BM01nQWtFQmFpQUtHenNCQUNBRUlBQW9BclFEU0EwQUN3c0xJQWhCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUWdNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF1NkJnRU5meUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQ3NBTWhCaUFCS0FJQUlRY2dBQ2dDMkFJb0FoZ2hBa0VCSUFBb0FxZ0RJZ0YwSVFoQmZ5QUJkQ0VKSUFBb0FxQURJUUVEZndKL0lBRWdBVUVDZENBR2FpZ0NBRUVCZENBSGFpNEJBQTBBR2lBQlFYOXFJZ0VOQVVFQUN3c2hCU0FEUWZ3QWFpQUNRUUowYWlFS0lBTkJ2QUZxSVFzZ0NFSC8vd054SVF3Z0NVSC8vd054SVEwZ0FDZ0NuQU5CZjJvaEFRSkFBMEFDUUNBS0tBSUFJQUZCQTJ4cUlRSWdBU0FGVGdSQUlBQWdBaEJkRFFNTEFrQUNRQ0FCUVFGcUlnRkJBblFnQm1vb0FnQkJBWFFnQjJvaUJDNEJBQTBBQTBBZ0FDQUNRUUZxRUYxRkJFQWdBU0FBS0FLZ0EwNE5CQ0FDUVFOcUlRSWdBVUVCYWlJQlFRSjBJQVpxS0FJQVFRRjBJQWRxSWdRdUFRQkZEUUVNQWdzTElBQWdDeEJkQkVBZ0JDQU5Pd0VBQlNBRUlBdzdBUUFMREFFTElBQWdBa0VDYWhCZEJFQWdCQzRCQUNJT0lRSWdEa0VBU0FSQUlBUWdBaUFKYWpzQkFBVWdCQ0FDSUFocU93RUFDd3NMSUFFZ0FDZ0NvQU5JRFFFTUFnc0xJQUFvQWdBaUFVSDFBRFlDRkNBQktBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQU5CZnpZQ0ZFRUJEd3RCQVF2akF3RUVmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBQW9BcWdESVFJZ0FDZ0M4QUpCQUV3RVFFRUJEd3NnQTBHOEFXb2hBMEVCSUFKMElRUkJBQ0VDQTBBZ0FDQURFRjBFUUNBQ1FRSjBJQUZxS0FJQUlnVWdCQ0FGTHdFQWNqc0JBQXNnQWtFQmFpSUNJQUFvQXZBQ1NBMEFDMEVCQzgwR0FRcC9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RUhJQUVvQWdBaENDQUZRZndBYWlBQUtBTFlBaWdDR0NJQlFRSjBhaUVHSUFWQnZBRnFJUWtnQVNBQVFZZ0NhbW9oQ2lBQUtBS2NBMEYvYWlFQ0FrQUNRQU5BQWtBZ0FDQUdLQUlBSUFKQkEyeHFJZ01RWFEwQ0lBSkJBV29oQVNBQUlBTkJBV29RWFFSQUlBSWhCQ0FCSVFJRkEzOGdBU0FBS0FLZ0EwNE5BaUFEUVFOcUlRUWdBVUVCYWlFQ0lBQWdBMEVFYWhCZEJIOGdCQ0VESUFFRklBUWhBeUFDSVFFTUFRc0xJUVFMSUFBZ0NSQmRJUXNnQUNBRFFRSnFJZ01RWFNJQkJFQWdBQ0FERUYwRVFDQUJRUUYwSVFFZ0FDQUdLQUlBUWIwQlFka0JJQVFnQ2kwQUFFZ2JhaUlFRUYwRVFBTkFJQUZCQVhRaUFVR0FnQUpHRFFjZ0FDQUVRUUZxSWdRUVhRMEFDd3NGSUFNaEJBc2dCRUVPYWlFRElBRkJBWFVpQkFSQUEwQWdBU0FFUVFBZ0FDQURFRjBiY2lFQklBUkJBWFVpQkEwQUN3c0ZRUUFoQVFzZ0FrRUNkQ0FIYWlnQ0FFRUJkQ0FJYWlBQlFYOXpJQUZCQVdvZ0N4c2dBQ2dDcUFOME93RUFJQUlnQUNnQ29BTklEUUVNQWdzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF2a0JnRUxmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQkNnQ0ZFRUNkR29vQWdBaUJVSUFOd0FBSUFWQ0FEY0FDQ0FGUWdBM0FCQWdCVUlBTndBWUlBVkNBRGNBSUNBRlFnQTNBQ2dnQlVJQU53QXdJQVZDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQkNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQzhBSkJBRXdFUUVFQkR3dEJBQ0VGQWtBQ1FBTkFBa0FnQlVFQ2RDQUJhaWdDQUNFTUlBQWdBMEU4YWlBQVFkZ0NhaUFBUWZRQ2FpQUZRUUowYWlnQ0FDSUhRUUowYWlnQ0FDZ0NGQ0lJUVFKMGFpSUdLQUlBSUFOQktHb2dCMEVDZEdvaUNTZ0NBR29pQWhCZEJFQWdBQ0FBSUFKQkFXb1FYU0lLSUFKQkFtcHFJZ1FRWFNJQ0JFQWdBQ0FHS0FJQVFSUnFJZ1FRWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQkNBQUlBUkJBV29pQkJCZERRQUxDd1ZCQUNFQ0N5QUpJQUpCQVNBSUlBQkI2QUZxYWkwQUFIUkJBWFZJQkg5QkFBVWdDa0VDZENFR0lBSkJBU0FJSUFCQitBRnFhaTBBQUhSQkFYVktCSDhnQmtFTWFnVWdCa0VFYWdzTE5nSUFJQVJCRG1vaEJpQUNRUUYxSWdRRVFBTkFJQUlnQkVFQUlBQWdCaEJkRzNJaEFpQUVRUUYxSWdRTkFBc0xJQU5CR0dvZ0IwRUNkR29pQkNnQ0FDQUNRWDl6SUFKQkFXb2dDaHRxSVFJZ0JDQUNOZ0lBQlNBSlFRQTJBZ0FnQTBFWWFpQUhRUUowYWlnQ0FDRUNDeUFNSUFJZ0FDZ0NxQU4wT3dFQUlBVkJBV29pQWlBQUtBTHdBazROQWlBQ0lRVU1BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FEUVg4MkFoUkJBUXZLQ1FFSmZ5QUFLQUxVQXlFQ0lBQW9BcHdESWdaRklRTWdBQ2dDNEFFRVFDQUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFaSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FHTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVIVUFtb2lCaWdDQUNJQlFRQktCRUFnQUVHa0Eyb2hCVUVBSVFNRFFDQUFRZGdDYWlBRFFRSjBhaWdDQUNnQ0JDRUlJQUFvQXFBQklRa2dBQ2dDbkFNaUFRUkFJQWhCQ0hRZ0NXb29BZ0JCQUVnRVFDQUFLQUlBSWdGQjlnQTJBaFFnQVNBSU5nSVlJQUFvQWdCQkFEWUNIQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQUFvQXB3RElRRUxCVUVBSVFFTElBRWdBQ2dDb0FOTUJFQURRQ0FGS0FJQUlBaEJDSFFnQ1dvZ0FVRUNkR29pQkNnQ0FDSUhRUUFnQjBFQVNodEhCRUFnQUNnQ0FDSUhRZllBTmdJVUlBY2dDRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQkNFSElBQkJmeUFIUVQ5eFFiSUZhaEVEQUFzZ0JDQUFLQUtvQXpZQ0FDQUJRUUZxSVFRZ0FTQUFLQUtnQTBnRVFDQUVJUUVNQVFzTEN5QURRUUZxSWdNZ0JpZ0NBQ0lCU0EwQUN3VWdBRUdrQTJvaEJRc2dBQ2dDbkFORklRTWdCU2dDQUFSQUlBTUVRQ0FDUVMwMkFnUUZJQUpCTGpZQ0JBc0ZJQU1FUUNBQ1FTczJBZ1FGSUFKQkxEWUNCQXNMQlFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQ29BTWlBVUhBQUVnRVFDQUFLQUswQXlBQlJ3MEJDd3dCQ3lBQUtBSUFJZ0ZCL1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUFzZ0FrRXZOZ0lFSUFCQjFBSnFJZ0VoQmlBQktBSUFJUUVMSUFGQkFFd0VRQ0FDUVFBMkFnd2dBa0VBTmdJUUlBSkJjRFlDRkNBQ0lBQW9BcGdDTmdJNER3dEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFRb0FoUWlBVUVQU3dSQUlBQW9BZ0FpQlVFeU5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBSkJQR29nQVVFQ2RHb2lCU2dDQUNJQlJRUkFJQUFvQWdRb0FnQWhBU0FGSUFCQkFVSEFBQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSUFDeUFCUWdBM0FBQWdBVUlBTndBSUlBRkNBRGNBRUNBQlFnQTNBQmdnQVVJQU53QWdJQUZDQURjQUtDQUJRZ0EzQURBZ0FVSUFOd0E0SUFKQkdHb2dBMEVDZEdwQkFEWUNBQ0FDUVNocUlBTkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFFS0FJWUlnRkJEMHNFUUNBQUtBSUFJZ1JCTWpZQ0ZDQUVJQUUyQWhnZ0FDZ0NBQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQ1Fmd0FhaUFCUVFKMGFpSUVLQUlBSWdGRkJFQWdBQ2dDQkNnQ0FDRUJJQVFnQUVFQlFZQUNJQUZCUDNGQnlnRnFFUVFBSWdFMkFnQUxJQUZCQUVHQUFoQkZHZ3NnQTBFQmFpSURJQVlvQWdCSURRQUxJQUpCQURZQ0RDQUNRUUEyQWhBZ0FrRndOZ0lVSUFJZ0FDZ0NtQUkyQWpnTG1nd0JNbjhqQmlFSEl3WkJnQUZxSkFZZ0FDZ0N4QU1oRnlBQUtBTE1BaUV4SUFBb0FwQUJJZ1FnQUNnQ21BRWlCVXdFUUFKQUEwQUNRQ0FBS0FMTUF5SUNLQUlVRFFJZ0JDQUZSZ1JBSUFBb0FwUUJJQUFvQXB3QklBQW9BcHdEUldwTERRTUxJQUFnQWlnQ0FFSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ2tBRWlCQ0FBS0FLWUFTSUZUQTBCREFJTEN5QUhKQVpCQUE4TEN5QXhRWDlxSVNvZ0FDZ0NKRUVBU2dSL0lBQkJuQUZxSVJ3Z0FDZ0MyQUVoQ2dOL0lBb29BalFFUUNBY0tBSUFJZ2dnS2trRWZ5QUtLQUlNSWhGQkFYUWhCU0FSSVFSQkFBVWdDaWdDSUNBS0tBSU1JZ1FRVGlJRklBUWdCUnNpRVNFRlFRRUxJUWtnQ0FSL0lBQWdGMEhJQUdvZ0RVRUNkR29vQWdBZ0JDQUlRWDlxYkNBRUlBVnFRUUFnQUNnQ0JDZ0NJRUVmY1VHaUFtb1JDQUFnQ2lnQ0RFRUNkR29oRkVFQUJTQUFJQmRCeUFCcUlBMUJBblJxS0FJQVFRQWdCVUVBSUFBb0FnUW9BaUJCSDNGQm9nSnFFUWdBSVJSQkFRc2hFaUFYS0FKd0lBMUJCbXhCQW5ScUlSTWdDaWdDVUNJRUx3RUFJUWdnQkM4QkFpRUZJQVF2QVJBaEFpQUVMd0VnSVE0Z0JDOEJFaUVQSUFRdkFRUWhCQ0FBS0FMWUEwRUVhaUFOUVFKMGFpZ0NBQ0VySUJGQkFFb0VRQ0FTUVFCSElTd2dDVUVBUnlFdElCRkJmMm9oTGlBSVFTUnNJUjBnQlVFSGRDRWVJQUpCQjNRaEh5QUZRUWgwSVNBZ0NFRUpiQ0VoSUE1QkIzUWhJaUFDUVFoMElTTWdDaUV2SUFoQkJXd2hNQ0FQUVFkMElTUWdEa0VJZENFbElBUkJCM1FoSmlBUFFRaDBJU2NnQkVFSWRDRW9RUUFoRENBTlFRSjBJQUZxS0FJQUlSZ0RRQ0FNUVFKMElCUnFLQUlBSVFJZ0xDQU1SWEVFZnlBQ0JTQU1RWDlxUVFKMElCUnFLQUlBQ3lFVklBb29BaHhCZjJvaEtTQXRJQXdnTGtaeEJIOGdBZ1VnREVFQmFrRUNkQ0FVYWlnQ0FBc2lHUzRCQUNJR0lRUWdBaTRCQUNJSklRVWdGUzRCQUNJUUlRaEJBQ0VhSUFJaEZrRUFJUnNEUUNBSElCWkJnQUVRVEJvZ0dpQXBTUVIvSUJrdUFZQUJJUTRnRlM0QmdBRWhEeUFXTGdHQUFRVWdCQ0VPSUFnaER5QUZDeUVTSUFjdUFRSkZJQk1vQWdRaUFrRUFSM0VFUUNBSElCMGdDU0FTYTJ3aUEwRi9TZ1IvSUFNZ0htb2dJQkE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHNGUVFBZ0hpQURheUFnRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLRzJzTE93RUNDeUFITGdFUVJTQVRLQUlJSWdKQkFFZHhCRUFnQnlBZElBZ2dCR3RzSWdOQmYwb0VmeUFESUI5cUlDTVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2JCVUVBSUI4Z0Eyc2dJeEE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHRyQ3pzQkVBc2dCeTRCSUVVZ0V5Z0NEQ0lDUVFCSGNRUkFJQWNnSVNBRUlBZ2dCVUVCZEd0cWJDSURRWDlLQkg4Z0F5QWlhaUFsRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLR3dWQkFDQWlJQU5ySUNVUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYmF3czdBU0FMSUFjdUFSSkZJQk1vQWhBaUFrRUFSM0VFUUNBSElEQWdEaUFRSUFacklBOXJhbXdpQmtGL1NnUi9JQVlnSkdvZ0p4QTVJZ1pCQVNBQ2RDSVFRWDlxSUFZZ0VFZ2JJQVlnQWtFQVNoc0ZRUUFnSkNBR2F5QW5FRGtpQmtFQklBSjBJaEJCZjJvZ0JpQVFTQnNnQmlBQ1FRQktHMnNMT3dFU0N5QUhMZ0VFUlNBVEtBSVVJZ0pCQUVkeEJFQWdCeUFoSUJJZ0NTQUZRUUYwYTJwc0lnbEJmMG9FZnlBSklDWnFJQ2dRT1NJSlFRRWdBblFpQmtGL2FpQUpJQVpJR3lBSklBSkJBRW9iQlVFQUlDWWdDV3NnS0JBNUlnbEJBU0FDZENJR1FYOXFJQWtnQmtnYklBa2dBa0VBU2h0ckN6c0JCQXNnQUNBS0lBY2dHQ0FiSUN0QlAzRkJtZ1pxRVFVQUlCWkJnQUZxSVJZZ0ZVR0FBV29oRlNBWlFZQUJhaUVaSUJzZ0x5Z0NKR29oR3lBYVFRRnFJaG9nS1UwRVFDQUlJVElnQlNFSklBUWhCaUFPSVFRZ0VpRUZJQThoQ0NBeUlSQU1BUXNMSUFvb0FpaEJBblFnR0dvaEdDQU1RUUZxSWd3Z0VVY05BQXNMQ3lBS1FkZ0FhaUVLSUExQkFXb2lEU0FBS0FJa1NBMEFJQndMQlNBQVFad0JhZ3NpQVNBQktBSUFRUUZxSWdFMkFnQkJBMEVFSUFFZ0FDZ0N6QUpKR3lFeklBY2tCaUF6QzVVR0FSVi9JQUFvQXVnQ1FYOXFJUW9nQUNnQ3pBSWlBa0YvYWlFVElBQW9Bc1FESWdZb0FoZ2lDQ0FHS0FJY0lnTklCRUFDUUNBR1FTQnFJUTBnQUVHVUFXb2hEaUFESVFJZ0JpZ0NGQ0VIQWtBQ1FBTkFBa0FnQnlBS1RRUkFBMEFnQUNnQ3RBTUVRQ0FOS0FJQVFRQWdBQ2dDOEFKQkIzUVFSUm9MSUFBb0F0UURLQUlFSVFJZ0FDQU5JQUpCUDNGQmlnRnFFUUlBUlEwQ0lBQW9BdFFDSWdKQkFFb0VRQ0FISUFwSklSUkJBQ0VEUVFBaEN3TkFJQUJCMkFKcUlBdEJBblJxS0FJQUlnUW9BalFFUUFKQUlBQW9BdGdEUVFScUlBUW9BZ1FpQlVFQ2RHb29BZ0FoRlNBRVFUaHFJZzhnQkVISUFHb2dGQnNvQWdBaEVDQUVLQUlvSVJFZ0J5QUVLQUpFYkNFV0lBUW9BandpRWtFQVNnUkFJQkJCQUV3RVFDQVBLQUlBSVFsQkFDRUZBMEFnQXlBSmFpRURJQVZCQVdvaUJTQVNTQTBBQ3d3Q0N5QUZRUUowSUFGcUtBSUFJQWdnRVd4QkFuUnFJUWxCQUNFTUlBTWhCU0FTSVFJZ0VTRURBMEFDUUFKQUlBNG9BZ0FnRTBrTkFDQUlJQXhxSUFRb0FreElEUUFNQVFzZ0ZpRUNRUUFoQXdOQUlBQWdCQ0FHUVNCcUlBTWdCV3BCQW5ScUtBSUFJQWtnQWlBVlFUOXhRWm9HYWhFRkFDQUNJQVFvQWlScUlRSWdBMEVCYWlJRElCQkhEUUFMSUFRb0FpZ2hBeUFFS0FJOElRSUxJQVVnRHlnQ0FHb2hCU0FEUVFKMElBbHFJUWtnREVFQmFpSU1JQUpJRFFBTElBVWhBeUFBS0FMVUFpRUNDd3NGSUFNZ0JFRkFheWdDQUdvaEF3c2dDMEVCYWlJTElBSklEUUFMQ3lBSFFRRnFJZ2NnQ2swTkFBc2dCaWdDSENFQ0N5QUdRUUEyQWhRZ0NFRUJhaUlJSUFKT0RRSkJBQ0VIREFFTEN3d0JDeUFPSVFFZ0FDZ0N6QUloQWd3QkN5QUdJQWcyQWhnZ0JpQUhOZ0lVUVFBUEN3VWdBRUdVQVdvaEFRc2dBQ0FBS0FLY0FVRUJhallDbkFFZ0FTQUJLQUlBUVFGcUlnTTJBZ0FnQXlBQ1R3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJCQThMSUFBb0FzUURJZ0VnQUNnQzFBSkJBVW9FZjBFQkJTQUFLQUxZQWlJQVFReHFJQUJCekFCcUlBTWdBa0YvYWtrYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlRUU1Mb1FFQkJIOERRQUpBQWtBQ1FDQUFJQUZxTEFBQUlnTUVRQ0FEUVM1R0JFQU1BZ1VNQXdzQUN3d0NDeUFCSVFJTElBRkJBV29oQVF3QkN3c2dBQ0FCYWlFRFFaeTRBUkJnUVFKcUlRUUNmd0pBSUFJRWZ5QUNJQVJxUVlBQ1NnUi9RWDhGREFJTEJTQUJJQVJxUVlBQ1NnUi9RWDhGSUFOQkxqb0FBQ0FCSVFJTUFnc0xEQUVMSUFBZ0FrRUJhbXBCQURvQUFDQUFFR0FnQUdvUWdRVkJBQXNhQzlvREFROS9JQUFvQXNRRElRc2dBQ2dDekFKQmYyb2hEQUpBQWtBRFFBSkFJQUFvQXBBQklnSWdBQ2dDbUFFaUEwNEVRQ0FDSUFOSERRRWdBQ2dDbEFFZ0FDZ0NuQUZMRFFFTElBQW9Bc3dES0FJQUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUEwQkRBSUxDd3dCQzBFQUR3c2dBQ2dDSkVFQVNnUkFJQUFvQXRnQklRSURRQ0FDS0FJMEJFQWdBQ2dDQkNnQ0lDRURJQUFnQzBISUFHb2dCRUVDZEdvb0FnQWdBaWdDRENJRklBQW9BcHdCYkNBRlFRQWdBMEVmY1VHaUFtb1JDQUFoRFNBQUtBS2NBU0FNU1FSL0lBSW9BZ3dGSUFJb0FpQWdBaWdDRENJRkVFNGhBeUFESUFVZ0F4c0xJUWtnQUNnQzJBTkJCR29nQkVFQ2RHb29BZ0FoRGlBSlFRQktCRUFnQkVFQ2RDQUJhaWdDQUNFR1FRQWhCeUFDSWdVaUR5Z0NIQ0VEQTBBZ0F3Ui9RUUFoQXlBSFFRSjBJQTFxS0FJQUlRaEJBQ0VLQTM4Z0FDQUNJQWdnQmlBRElBNUJQM0ZCbWdacUVRVUFJQWhCZ0FGcUlRZ2dBeUFQS0FJa2FpRURJQXBCQVdvaUNpQUNLQUljSWhCSkRRQWdFQXNGUVFBTElRTWdCU2dDS0VFQ2RDQUdhaUVHSUFkQkFXb2lCeUFKUncwQUN3c0xJQUpCMkFCcUlRSWdCRUVCYWlJRUlBQW9BaVJJRFFBTEN5QUFJQUFvQXB3QlFRRnFJZ0UyQXB3QlFRTkJCQ0FCSUFBb0Fzd0NTUnNMblFVQkUzOGpCaUVUSXdaQkVHb2tCaUFUSVFZZ0FDZ0N4QU1oQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFBb0FnUW9BaUFoQlNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lES0FJTUlRSWdBVUVDZENBR2FpQUFJQVJCeUFCcUlBTW9BZ1JCQW5ScUtBSUFJQUFvQXBRQklBSnNJQUpCQVNBRlFSOXhRYUlDYWhFSUFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKSURRQUxDeUFFS0FJWUlnVWdCQ2dDSENJQlNBUkFBa0FnQkVFZ2FpRU1JQVFvQWhRaEF5QUFLQUxvQWlFQ0EwQUNRQ0FESUFKSkJFQWdBeUVDQTBBZ0FDZ0MxQUlpRFVFQVNnUkFRUUFoQVVFQUlRY0RRQ0FDSUFCQjJBSnFJQWRCQW5ScUtBSUFJZ01vQWpnaUNHd2hEaUFES0FJOElnOUJBRW9FUUNBSFFRSjBJQVpxS0FJQUlSQWdDRUVBU2dSQVFRQWhDUU5BUVFBaEN5QUZJQWxxUVFKMElCQnFLQUlBSUE1QkIzUnFJUW9nQVNFREEwQWdDa0dBQVdvaEVTQURRUUZxSVJJZ0JFRWdhaUFEUVFKMGFpQUtOZ0lBSUF0QkFXb2lDeUFJUndSQUlCRWhDaUFTSVFNTUFRc0xJQUVnQ0dvaEFTQUpRUUZxSWdrZ0QwZ05BQXNMQ3lBSFFRRnFJZ2NnRFVnTkFBc0xJQUFvQXRRREtBSUVJUUVnQUNBTUlBRkJQM0ZCaWdGcUVRSUFSUTBDSUFKQkFXb2lBaUFBS0FMb0FpSUJTUTBBQ3lBQklRSWdCQ2dDSENFQkN5QUVRUUEyQWhRZ0JVRUJhaUlGSUFGT0RRSkJBQ0VEREFFTEN5QUVJQVUyQWhnZ0JDQUNOZ0lVSUFZa0JrRUFEd3NMSUFBZ0FDZ0NsQUZCQVdvaUFqWUNsQUVnQWlBQUtBTE1BaUlGVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JpUUdRUVFQQ3lBQUtBTEVBeUlCSUFBb0F0UUNRUUZLQkg5QkFRVWdBQ2dDMkFJaUFFRU1haUFBUWN3QWFpQUNJQVZCZjJwSkd5Z0NBQXMyQWh3Z0FVRUFOZ0lVSUFGQkFEWUNHQ0FHSkFaQkF3dWxBd0VMZnlBQUtBTEVBeUlCS0FJUVJRUkFJQUJCQURZQ25BRVBDeUFCQW44Q1FDQUFLQUpRUlEwQUlBQW9BdUFCUlEwQUlBQW9BcUFCUlEwQUlBRW9BbkFpQWdSQUlBQkJKR29oQmdVZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCSUFCQkpHb2lCaWdDQUVFWWJDQUNRVDl4UWNvQmFoRUVBQ0lDTmdKd0N5QUdLQUlBUVFCTURRQWdBQ2dDMkFFaENBTkFJQWdvQWxBaUFVVU5BU0FCTGdFQVJRMEJJQUV1QVFKRkRRRWdBUzRCRUVVTkFTQUJMZ0VnUlEwQklBRXVBUkpGRFFFZ0FTNEJCRVVOQVNBQUtBS2dBU0lCSUFSQkNIUnFLQUlBUVFCSURRRWdBaUFFUVFoMElBRnFJZ01vQWdRMkFnUWdBeWdDQkNFSklBSWdCRUVJZENBQmFpSUZLQUlJTmdJSUlBa2dCU2dDQ0hJaENpQUNJQVJCQ0hRZ0FXb2lCU2dDRERZQ0RDQUtJQVVvQWd4eUlRc2dBaUFFUVFoMElBRnFJZ1VvQWhBMkFoQWdDeUFGS0FJUWNpRURJQUlnQkVFSWRDQUJhaUlCS0FJVU5nSVVRUUVnQnlBRElBRW9BaFJ5R3lFSElBSkJHR29oQWlBSVFkZ0FhaUVJSUFSQkFXb2lCQ0FHS0FJQVNBMEFDeUFIUlEwQVFTb01BUXRCS0FzMkFnd2dBRUVBTmdLY0FRdFNBUUovSUFCQkFEWUNsQUVnQUNnQ3hBTWlBU0FBS0FMVUFrRUJTZ1IvUVFFRklBQW9BdGdDSWdKQnpBQnFJQUpCREdvZ0FDZ0N6QUpCQVVZYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlDNndEQVFWL0lBQW9BZ1FvQWdBaEF5QUFJQUJCQVVIMEFDQURRVDl4UWNvQmFoRUVBQ0lDTmdMRUF5QUNRZjBBTmdJQUlBSkIvZ0EyQWdnZ0FrRUFOZ0p3SUFGRkJFQWdBQ2dDQkNnQ0JDRUJJQUlnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdFMkFpQWdBaUFCUVlBQmFqWUNKQ0FDSUFGQmdBSnFOZ0lvSUFJZ0FVR0FBMm8yQWl3Z0FpQUJRWUFFYWpZQ01DQUNJQUZCZ0FWcU5nSTBJQUlnQVVHQUJtbzJBamdnQWlBQlFZQUhhallDUENBQ1FVQnJJQUZCZ0FocU5nSUFJQUlnQVVHQUNXbzJBa1FnQUNnQ3RBTkZCRUFnQVVFQVFZQUtFRVVhQ3lBQ1FkWUFOZ0lFSUFKQktUWUNEQ0FDUVFBMkFoQVBDeUFBS0FJa1FRQktCRUFnQWtISUFHb2hCRUVBSVFNZ0FDZ0MyQUVoQVFOQUlBRW9BZ3dpQlNBRlFRTnNJQUFvQXVBQlJSc2hCU0FBS0FJRUtBSVVJUVlnQTBFQ2RDQUVhaUFBUVFGQkFTQUJLQUljSUFFb0FnZ1ErQUVnQVNnQ0lDQUJLQUlNRVBnQklBVWdCa0UvY1VIR0Ftb1JDZ0EyQWdBZ0FVSFlBR29oQVNBRFFRRnFJZ01nQUNnQ0pFZ05BQXNGSUFKQnlBQnFJUVFMSUFKQjFRQTJBZ1FnQWtFb05nSU1JQUlnQkRZQ0VBdWhBZ0VDZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCd0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDMUFNZ0FrSDdBRFlDQUNBQ1Fmd0FOZ0lJSUFKQlBHb2lBVUlBTndJQUlBRkNBRGNDQ0NBQlFnQTNBaEFnQVVJQU53SVlJQUZDQURjQ0lDQUJRZ0EzQWlnZ0FVSUFOd0l3SUFGQ0FEY0NPQ0FCUVVCclFnQTNBZ0FnQVVJQU53SklJQUZDQURjQ1VDQUJRZ0EzQWxnZ0FVSUFOd0pnSUFGQ0FEY0NhQ0FCUWdBM0FuQWdBVUlBTndKNElBSkI4UUE2QUx3QklBQW9BdUFCUlFSQUR3c2dBQ2dDQkNnQ0FDRUJJQUFnQUVFQklBQW9BaVJCQ0hRZ0FVRS9jVUhLQVdvUkJBQWlBallDb0FFZ0FDZ0NKRUVBVEFSQUR3dEJBQ0VCQTBBZ0FpQUJRUWgwYWtGL1FZQUNFRVVhSUFGQkFXb2lBU0FBS0FJa1NBMEFDd3NxQVFGL0lBQW9BdFFES0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N6QU5CMUFBMkFnQUxZZ0VCZnlBQUtBTE1BeUlCUWRRQU5nSUFJQUZCQURZQ0VDQUJRUUEyQWhRZ0FVRUJOZ0lZSUFBb0FnQW9BaEFoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCQURZQ29BRUxZd0VCZnlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FCSUFFUVlFRUJhaENBQlNJQ1JRUkFJQUJCQURvQUFBd0JDeUFDUVFGcUlBRnJJZ0pCQVdwQmdCQkxCRUJCQUNFQUJTQUFJQUVnQWhEVkFTQUFJQUpxUVFBNkFBQUxDd1ZCQUNFQUN5QUFDNlVQQVFsL0lBQW9Bc3dESWdRb0FoUUVRRUVDRHdzQ1FBSkFBa0FEUUFKQUlBQW9BdEFES0FJRUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBV3NPQWdBRUJRc0NRQUpBQWtBQ1FBSkFJQVFvQWhnT0FnQUJBZ3NnQkNnQ0VFVUVRQ0FBS0FJQUlnRkJKRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ0RRWU1Bd3NDUUFKQUlBQW9BaUJCM1A4RFNnMEFJQUFvQWh4QjNQOERTZzBBREFFTElBQW9BZ0FpQVVFcU5nSVVJQUZCM1A4RE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFFaUFVRjRha0VFU3dSQUlBQW9BZ0FpQWtFUU5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BaVFpQVVFS1NnUkFJQUFvQWdBaUFrRWJOZ0lVSUFJZ0FUWUNHQ0FBS0FJQVFRbzJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFRc2dBRUVCTmdLOEFpQUFRUUUyQXNBQ0lBRkJBRW9FUUVFQUlRY2dBQ2dDMkFFaEFrRUJJUU5CQVNFRkEwQUNmd0pBSUFJaUNDZ0NDQ0lHUVg5cVFRTkxEUUFnQWlnQ0RDSUpRWDlxUVFOTERRQWdDUXdCQ3lBQUtBSUFJZ0ZCRXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3ZBSWhCU0FJS0FJSUlRWWdBQ2dDd0FJaEF5QUFLQUlrSVFFZ0FpZ0NEQXNoQWlBQUlBVWdCaUFGSUFaS0d5SUZOZ0s4QWlBQUlBTWdBaUFESUFKS0d5SUROZ0xBQWlBSVFkZ0FhaUVDSUFkQkFXb2lCeUFCU0EwQUN3c2dBQUovQWtBZ0FDZ0MzQUVOQUFKL0lBQW9BdUFCQkVBZ0FDZ0MxQUlOQWdzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FxQUREb0FDQUJBUUFSQVFFQkFDRUJBUUVCQVFBeEFRRUJBUUVCQVFCQkFRRUJBUUVCQVFFQkFGRUJBUUVCQVFFQkFRRUJBUUJoQVFFQkFRRUJBUUVCQVFFQkFRQnhBUUVCQVFFQkFRRUJBUUVCQVFFQkFJRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ1JBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNoQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFMRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFPRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUR4QUxJQUJCQVRZQ3JBTWdBRUdBSERZQ3NBTWdBRUVBTmdLMEEwRUJEQkFMSUFCQkFqWUNyQU1nQUVIQUpUWUNzQU1nQUVFRE5nSzBBMEVDREE4TElBQkJBellDckFNZ0FFSFFKRFlDc0FNZ0FFRUlOZ0swQTBFRERBNExJQUJCQkRZQ3JBTWdBRUhRSXpZQ3NBTWdBRUVQTmdLMEEwRUVEQTBMSUFCQkJUWUNyQU1nQUVHZ0lqWUNzQU1nQUVFWU5nSzBBMEVGREF3TElBQkJCallDckFNZ0FFSFFJRFlDc0FNZ0FFRWpOZ0swQTBFR0RBc0xJQUJCQnpZQ3JBTWdBRUhBSGpZQ3NBTWdBRUV3TmdLMEEwRUhEQW9MSUFCQkNEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVJREFrTElBQkJDVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSkRBZ0xJQUJCQ2pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUtEQWNMSUFCQkN6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVMREFZTElBQkJERFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTURBVUxJQUJCRFRZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU5EQVFMSUFCQkRqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVPREFNTElBQkJEellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUERBSUxJQUJCRURZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVFEQUVMSUFBb0FnQWlBVUVSTmdJVUlBRWdBQ2dDbkFNMkFoZ2dBQ2dDQUNBQUtBS2dBellDSENBQUtBSUFJQUFvQXFRRE5nSWdJQUFvQWdBZ0FDZ0NxQU0yQWlRZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBU0FBS0FLc0F3c01BUXNnQUVFSU5nS3NBeUFBUVlBY05nS3dBeUFBUVQ4MkFyUURRUWdMSWdJMkFzUUNJQUFnQWpZQ3lBSWdBVUVBU2dSQVFRQWhBU0FBS0FMWUFTRURBMEFnQXlBQ05nSWtJQU1nQWpZQ0tDQURJQUFvQWh3Z0F5Z0NDR3dnQWlBQUtBSzhBbXdRYURZQ0hDQURJQUFvQWlBZ0F5Z0NER3dnQUNnQ3dBSWdBQ2dDckFOc0VHZzJBaUFnQXlBQUtBSWNJQU1vQWdoc0lBQW9BcndDRUdnMkFpd2dBeUFBS0FJZ0lBTW9BZ3hzSUFBb0FzQUNFR2cyQWpBZ0EwRUJOZ0kwSUFOQkFEWUNVQ0FCUVFGcUlnRWdBQ2dDSkVnRVFDQURRZGdBYWlFRElBQW9BcXdESVFJTUFRc0xJQUFvQXF3RElRSUxJQUFnQUNnQ0lDQUFLQUxBQWlBQ2JCQm9OZ0xNQWlBQUtBTFVBaUlCSUFBb0FpUk9CRUFnQUNnQzRBRkZCRUFnQUNnQ3pBTkJBRFlDRUF3REN3c2dBQ2dDekFOQkFUWUNFQXdCQ3lBQUtBTFVBaUVCQ3lBQkRRRWdCRUVDTmdJWUN3d0JDd3NnQkVFQU5nSVlRUUVQQ3lBQUVLY0RRUUVQQ3lBRVFRRTJBaFFnQkNnQ0dBUkFJQUFvQXRBREtBSVFSUVJBUVFJUEN5QUFLQUlBSWdGQlBqWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBQW9BcGdCSUFBb0FwQUJJZ0ZNQkVCQkFnOExJQUFnQVRZQ21BRUxRUUlQQ3lBQkMxMEJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRUndnQVVFL2NVSEtBV29SQkFBaUFEWUN6QU1nQUVIVUFEWUNBQ0FBUWZnQU5nSUVJQUJCK1FBMkFnZ2dBRUg2QURZQ0RDQUFRUUEyQWhBZ0FFRUFOZ0lVSUFCQkFUWUNHQXYvQlFFRWZ5QUFJQUFvQXF3RElnSWdBQ2dDTUd3aUFTQUFLQUkwSWdOTEJIOENmeUFCSUFOQkFYUk5CRUFnQUNBQUtBSWNRUUYwSUFJUWFEWUNjRUVDSVFFZ0FDZ0NJRUVCZEF3QkN5QUJJQU5CQTJ4TkJFQWdBQ0FBS0FJY1FRTnNJQUlRYURZQ2NFRURJUUVnQUNnQ0lFRURiQXdCQ3lBQklBTkJBblJOQkVBZ0FDQUFLQUljUVFKMElBSVFhRFlDY0VFRUlRRWdBQ2dDSUVFQ2RBd0JDeUFCSUFOQkJXeE5CRUFnQUNBQUtBSWNRUVZzSUFJUWFEWUNjRUVGSVFFZ0FDZ0NJRUVGYkF3QkN5QUJJQU5CQm14TkJFQWdBQ0FBS0FJY1FRWnNJQUlRYURZQ2NFRUdJUUVnQUNnQ0lFRUdiQXdCQ3lBQklBTkJCMnhOQkVBZ0FDQUFLQUljUVFkc0lBSVFhRFlDY0VFSElRRWdBQ2dDSUVFSGJBd0JDeUFCSUFOQkEzUk5CRUFnQUNBQUtBSWNRUU4wSUFJUWFEWUNjRUVJSVFFZ0FDZ0NJRUVEZEF3QkN5QUJJQU5CQ1d4TkJFQWdBQ0FBS0FJY1FRbHNJQUlRYURZQ2NFRUpJUUVnQUNnQ0lFRUpiQXdCQ3lBQklBTkJDbXhOQkVBZ0FDQUFLQUljUVFwc0lBSVFhRFlDY0VFS0lRRWdBQ2dDSUVFS2JBd0JDeUFCSUFOQkMyeE5CRUFnQUNBQUtBSWNRUXRzSUFJUWFEWUNjRUVMSVFFZ0FDZ0NJRUVMYkF3QkN5QUJJQU5CREd4TkJFQWdBQ0FBS0FJY1FReHNJQUlRYURZQ2NFRU1JUUVnQUNnQ0lFRU1iQXdCQ3lBQklBTkJEV3hOQkVBZ0FDQUFLQUljUVExc0lBSVFhRFlDY0VFTklRRWdBQ2dDSUVFTmJBd0JDeUFCSUFOQkRteE5CRUFnQUNBQUtBSWNRUTVzSUFJUWFEWUNjRUVPSVFFZ0FDZ0NJRUVPYkF3QkN5QUFLQUljSVFRZ0FTQURRUTlzU3dSL0lBQWdCRUVFZENBQ0VHZzJBbkJCRUNFQklBQW9BaUJCQkhRRklBQWdCRUVQYkNBQ0VHZzJBbkJCRHlFQklBQW9BaUJCRDJ3TEN3VWdBQ0FBS0FJY0lBSVFhRFlDY0VFQklRRWdBQ2dDSUFzZ0FDZ0NyQU1RYURZQ2RDQUFJQUUyQXNRQ0lBQWdBVFlDeUFJZ0FDZ0NKQ0lEUVFCTUJFQVBDMEVBSVFJZ0FDZ0MyQUVoQUFOQUlBQWdBVFlDSkNBQUlBRTJBaWdnQUVIWUFHb2hBQ0FDUVFGcUlnSWdBMGdOQUFzTHRBc0JEMzhqQmlFSUl3WkJNR29rQmlBQUtBTFVBeUVISUFBb0FwZ0NCRUFnQnlnQ0xFVUVRQ0FIS0FJUVFRZ1FPU0VDSUFBb0F0QURJZ1VnQWlBRktBSVlhallDR0NBSFFRQTJBaEFnQlNnQ0NDRUZJQUFnQlVIL0FIRkJDR29SQUFCRkJFQWdDQ1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQlFOQUlBZEJHR29nQlVFQ2RHcEJBRFlDQUNBRlFRRnFJZ1VnQUNnQzFBSklEUUFMQ3lBSFFRQTJBaFFnQnlBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSFFRQTJBaWdMQ3dzZ0NFRVVhaUVHSUFjb0FpaEZCRUFnQUNnQ3NBTWhEeUFBS0FLMEF5RU5JQVlnQURZQ0VDQUdJQUFvQWhnaUJDZ0NBQ0lKTmdJQUlBWWdCQ2dDQkNJRE5nSUVJQWNvQWd3aEJTQUhLQUlRSVFJZ0NDQUhLUUlVTndJQUlBZ2dCeWtDSERjQ0NDQUlJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENRSkFBMEFnQ1VFQ2RDQUJhaWdDQUNFS0lBZEI1QUJxSUFsQkFuUnFLQUlBSVFRQ2Z3SkFJQUpCQ0VnRVFDQUdJQVVnQWtFQUVHZEZEUVFnQmlnQ0NDRUZJQVlvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQkVHUUFXb2dCU0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ3dSL0lBTWdCRUdRQ1dwcUxRQUFJUVFnQWlBTGF3VkJDU0VEREFFTERBRUxJQVlnQlNBQ0lBUWdBeENnQVNJRVFRQklEUUlnQmlnQ0NDRUZJQVlvQWd3TElRSWdCMEdNQVdvZ0NVRUNkR29vQWdBaEN5QUVRUUJISVFNQ1FBSkFJQWRCdEFGcUlBbEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVJJQkVBZ0JpQUZJQUlnQkJCblJRMEhJQVlvQWdnaEJTQUdLQUlNSVFJTElBUkJBblJCOERGcUtBSUFJZ01nQlNBQ0lBUnJJZ0oxY1NJTVFRQWdBeUFNSUFSQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSVFRUnFJQUJCOUFKcUlBbEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUVJQU1nQkRZQ0FDQUtJQVE3QVFBZ0RrRUJTZ1JBUVFFaEJBTkFBbjhDUUNBQ1FRaElCRUFnQmlBRklBSkJBQkJuUlEwS0lBWW9BZ2doQlNBR0tBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFVZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnd0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdER3NGUVFraEF3d0JDd3dCQ3lBR0lBVWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBWW9BZ2doQlNBR0tBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnTUVRQ0FDSUFOSUJFQWdCaUFGSUFJZ0F4Qm5SUTBKSUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVFnREdvaUJFRUNkQ0FQYWlnQ0FFRUJkQ0FLYWlBRFFRSjBRZkF4YWlnQ0FDSU1JQVVnQWlBRGF5SUNkWEVpRUVFQUlBd2dFQ0FEUVFKMFFld3hhaWdDQUVvYmF6c0JBQVVnREVFUFJ3MERJQVJCRDJvaEJBc2dCRUVCYWlJRUlBNUlEUUFMREFNRlFRRWhCQXdEQ3dBTEJTQURCRUFnQWlBRVNBUkFJQVlnQlNBQ0lBUVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFScklRSUxRUUVoQkF3QkN3d0JDeUFFSUExTUJFQURRQUovQWtBZ0FrRUlTQVJBSUFZZ0JTQUNRUUFRWjBVTkJ5QUdLQUlJSVFVZ0JpZ0NEQ0lDUVFoSUJFQkJBU0VEREFJTEN5QUxRWkFCYWlBRklBSkJlR3AxUWY4QmNTSURRUUowYWlnQ0FDSUtCSDhnQXlBTFFaQUphbW90QUFBaEF5QUNJQXByQlVFSklRTU1BUXNNQVFzZ0JpQUZJQUlnQ3lBREVLQUJJZ05CQUVnTkJTQUdLQUlJSVFVZ0JpZ0NEQXNoQWlBRFFRUjJJUW9nQTBFUGNTSURCRUFnQWlBRFNBUkFJQVlnQlNBQ0lBTVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFOcklRSUZJQXBCRDBjTkEwRVBJUW9MSUFSQkFXb2dDbW9pQkNBTlRBMEFDd3NMSUFsQkFXb2lDU0FBS0FMd0FrZ05BQXNnQUNnQ0dDRUFJQVlvQWdBaEFTQUdLQUlFSVFRTUFRc2dDQ1FHUVFBUEN3VWdCQ0VBSUFraEFTQURJUVFMSUFBZ0FUWUNBQ0FBSUFRMkFnUWdCeUFGTmdJTUlBY2dBallDRUNBSElBZ3BBZ0EzQWhRZ0J5QUlLUUlJTndJY0lBY2dDQ2dDRURZQ0pBc2dCeUFIS0FJc1FYOXFOZ0lzSUFna0JrRUJDNklMQVExL0l3WWhDU01HUVRCcUpBWWdBQ2dDMUFNaEJ5QUFLQUtZQWdSQUlBY29BaXhGQkVBZ0J5Z0NFRUVJRURraEFpQUFLQUxRQXlJRUlBSWdCQ2dDR0dvMkFoZ2dCMEVBTmdJUUlBUW9BZ2doQkNBQUlBUkIvd0J4UVFocUVRQUFSUVJBSUFra0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRUURRQ0FIUVJocUlBUkJBblJxUVFBMkFnQWdCRUVCYWlJRUlBQW9BdFFDU0EwQUN3c2dCMEVBTmdJVUlBY2dBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdCMEVBTmdJb0N3c0xJQWxCRkdvaEJTQUhLQUlvUlFSQUlBVWdBRFlDRUNBRklBQW9BaGdpQmlnQ0FDSUtOZ0lBSUFVZ0JpZ0NCQ0lETmdJRUlBY29BZ3doQkNBSEtBSVFJUUlnQ1NBSEtRSVVOd0lBSUFrZ0J5a0NIRGNDQ0NBSklBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ2dKQUEwQWdDa0VDZENBQmFpZ0NBQ0VOSUFkQjVBQnFJQXBCQW5ScUtBSUFJUVlDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRUWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCa0dRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0JrR1FDV3BxTFFBQUlRWWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFZZ0F4Q2dBU0lHUVFCSURRSWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0IwR01BV29nQ2tFQ2RHb29BZ0FoQ3lBR1FRQkhJUU1DUUFKQUlBZEJ0QUZxSUFwQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwSElBVW9BZ2doQkNBRktBSU1JUUlMSUFaQkFuUkI4REZxS0FJQUlnTWdCQ0FDSUFacklnSjFjU0lJUVFBZ0F5QUlJQVpCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFKUVFScUlBQkI5QUpxSUFwQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFR0lBTWdCallDQUNBTklBWTdBUUFnRGtFQlNnUkFRUUVoQmdOQUFuOENRQ0FDUVFoSUJFQWdCU0FFSUFKQkFCQm5SUTBLSUFVb0FnZ2hCQ0FGS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVFnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdnRWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0NHc0ZRUWtoQXd3QkN3d0JDeUFGSUFRZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFVb0FnZ2hCQ0FGS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdnRVFDQUNJQWhJQkVBZ0JTQUVJQUlnQ0JCblJRMEpJQVVvQWdnaEJDQUZLQUlNSVFJTElBWWdER29pQTBFQ2RFR0FIR29vQWdCQkFYUWdEV29nQ0VFQ2RFSHdNV29vQWdBaUJpQUVJQUlnQ0dzaUFuVnhJZ3hCQUNBR0lBd2dDRUVDZEVIc01Xb29BZ0JLRzJzN0FRQUZJQXhCRDBjTkF5QUdRUTlxSVFNTElBTkJBV29pQmlBT1NBMEFDeUFEUVQ5SURRTUZRUUVoQmd3REN3c0ZJQU1FUUNBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwR0lBVW9BZ2doQkNBRktBSU1JUUlMSUFJZ0Jtc2hBZ3RCQVNFR0RBRUxEQUVMQTBBQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVlnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQzBHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdDMEdRQ1dwcUxRQUFJUU1nQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBc2dBeENnQVNJRFFRQklEUVFnQlNnQ0NDRUVJQVVvQWd3TElRSWdBMEVFZGlFSUlBTkJEM0VpQXdSQUlBSWdBMGdFUUNBRklBUWdBaUFERUdkRkRRVWdCU2dDQ0NFRUlBVW9BZ3doQWdzZ0FpQURheUVDQlNBSVFROUhEUUpCRHlFSUN5QUdRUUZxSUFocUlnWkJ3QUJJRFFBTEN5QUtRUUZxSWdvZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQUNBRktBSUFJUUVnQlNnQ0JDRUdEQUVMSUFra0JrRUFEd3NGSUFZaEFDQUtJUUVnQXlFR0N5QUFJQUUyQWdBZ0FDQUdOZ0lFSUFjZ0JEWUNEQ0FISUFJMkFoQWdCeUFKS1FJQU53SVVJQWNnQ1NrQ0NEY0NIQ0FISUFrb0FoQTJBaVFMSUFjZ0J5Z0NMRUYvYWpZQ0xDQUpKQVpCQVF1ZUNnRVJmeU1HSVFVakJrR2dBbW9rQmlBQUtBTFVBeUVJSUFBb0FwZ0NCRUFnQ0NnQ0xFVUVRQ0FJS0FJUVFRZ1FPU0VFSUFBb0F0QURJZ0lnQkNBQ0tBSVlhallDR0NBSVFRQTJBaEFnQWlnQ0NDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQWdCU1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBaEJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBSVFRQTJBaFFnQ0NBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSVFRQTJBaWdMQ3dzZ0JVR0FBbW9oQnlBRklRb2dDQ2dDS0VVRVFBSkFJQUFvQXFBRElRNUJBU0FBS0FLb0F5SUNkQ0VMUVg4Z0FuUWhEeUFBS0FLd0F5RVFJQWNnQURZQ0VDQUhJQUFvQWhnaUFpZ0NBRFlDQUNBSElBSW9BZ1EyQWdRZ0NDZ0NEQ0VGSUFnb0FoQWhCQ0FCS0FJQUlRMGdDRUZBYXlnQ0FDRU1JQUFvQXB3RElRSUNRQUovQWtBZ0NDZ0NGQ0lKRFFCQkFDRUJBa0FEUUFKQUFuOENRQ0FFUVFoSUJFQWdCeUFGSUFSQkFCQm5SUTBGSUFjb0FnZ2hCU0FIS0FJTUlnUkJDRWdFUUVFQklRTU1BZ3NMSUF4QmtBRnFJQVVnQkVGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQXhCa0FscWFpMEFBQ0VHSUFRZ0NXc0ZRUWtoQXd3QkN3d0JDeUFISUFVZ0JDQU1JQU1Rb0FFaUJrRUFTQTBESUFjb0FnZ2hCU0FIS0FJTUN5RUVJQVpCQkhZaEF3Si9Ba0FDUUFKQUlBWkJEM0VPQWdBQ0FRc2dBMEVQUncwRElBUWhCa0VBREFJTElBQW9BZ0FpQmtINUFEWUNGQ0FHS0FJRUlRWWdBRUYvSUFaQlAzRkJzZ1ZxRVFNQUN5QUVRUUZJQkVBZ0J5QUZJQVJCQVJCblJRMEVJQWNvQWd3aEJDQUhLQUlJSVFVTElBc2dEeUFGUVFFZ0JFRi9haUlHZEhFYkN5RUpJQU1oQkNBQ0lRTWdCaUVDQTM4Q2Z5QURRUUowSUJCcUtBSUFRUUYwSUExcUlnWXVBUUFFUUNBQ1FRRklCRUFnQnlBRklBSkJBUkJuUlEwR0lBY29BZ3doQWlBSEtBSUlJUVVMSUFWQkFTQUNRWDlxSWdKMGNRUkFJQVl1QVFBaUVpSVJJQXR4UlFSQUlCSkJmMG9FUUNBR0lBc2dFV283QVFBRklBWWdEeUFSYWpzQkFBc0xDd1VnQkVGL2FpRUdJQVJCQVVnRWZ5QUNEQUlGSUFZTElRUUxJQU5CQVdvaEJpQURJQTVJQkg4Z0JpRUREQUlGSUFZaEF5QUNDd3NMSVFRZ0NRUkFJQU5CQW5RZ0VHb29BZ0FpQWtFQmRDQU5haUFKT3dFQUlBRkJBblFnQ21vZ0FqWUNBQ0FCUVFGcUlRRUxJQU5CQVdvaEFpQURJQTVJRFFFZ0JDRUJRUUFNQkFzTFFRRWdBM1FoQmlBREJFQWdCQ0FEU0FSQUlBY2dCU0FFSUFNUVowVU5BaUFIS0FJTUlRUWdCeWdDQ0NFRkN5QUdJQU5CQW5SQjhERnFLQUlBSUFVZ0JDQURheUlFZFhGcUlna0VRQ0FCSVFZTUF3VWdCQ0VCUVFBTUJBc0FCVUVCSVFrZ0FTRUdEQUlMQUFzTUFnc2dBaUVESUFRaEFTQUZJUUlEUUNBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdVdUFRQUVRQ0FCUVFGSUJFQWdCeUFDSUFGQkFSQm5SUVJBSUFZaEFRd0ZDeUFIS0FJTUlRRWdCeWdDQ0NFQ0N5QUNRUUVnQVVGL2FpSUJkSEVFUUNBRkxnRUFJZ3dpQkNBTGNVVUVRQ0FNUVg5S0JFQWdCU0FFSUF0cU93RUFCU0FGSUFRZ0QybzdBUUFMQ3dzTElBTkJBV29oQlNBRElBNUlCRUFnQlNFRERBRUxDeUFDSVFVZ0NVRi9hZ3NoQXlBQUtBSVlJZ0FnQnlnQ0FEWUNBQ0FBSUFjb0FnUTJBZ1FnQ0NBRk5nSU1JQWdnQVRZQ0VDQUlJQU0yQWhRTUFRc2dBVVVFUUNBS0pBWkJBQThMQTBBZ0FVRi9haUlCUVFKMElBcHFLQUlBUVFGMElBMXFRUUE3QVFBZ0FRMEFDeUFLSkFaQkFBOExDeUFJSUFnb0FpeEJmMm8yQWl3Z0NpUUdRUUVMT2dBQ2Z3SkFBa0FDUUFKQUFrQWdBQTRQQUFBQkFRRUNBUU1EQXdNREFnSUNCQXRCQXd3RUMwRUVEQU1MUVFFTUFndEJBZ3dCQzBFQUN3dkVBd0VJZnlNR0lRUWpCa0VnYWlRR0lBQW9BdFFESVFJZ0FDZ0NtQUlFUUNBQ0tBSXNSUVJBSUFJb0FoQkJDQkE1SVFNZ0FDZ0MwQU1pQlNBRElBVW9BaGhxTmdJWUlBSkJBRFlDRUNBRktBSUlJUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FFSkFaQkFBOExJQUFvQXRRQ1FRQktCRUJCQUNFREEwQWdBa0VZYWlBRFFRSjBha0VBTmdJQUlBTkJBV29pQXlBQUtBTFVBa2dOQUFzTElBSkJBRFlDRkNBQ0lBQW9BcGdDTmdJc0lBQW9BcmdEUlFSQUlBSkJBRFlDS0FzTEN5QUVJZ1lnQURZQ0VDQUdJQUFvQWhnaUJ5Z0NBQ0lJTmdJQUlBWWdCeWdDQkNJRk5nSUVJQUlvQWd3aEF5QUNLQUlRSVFSQkFTQUFLQUtvQTNRaENTQUFLQUx3QWtFQVNnUkFBa0JCQUNFRkFrQURRQ0FFUVFGSUJFQWdCaUFESUFSQkFSQm5SUTBDSUFZb0Fnd2hCQ0FHS0FJSUlRTUxJQU5CQVNBRVFYOXFJZ1IwY1FSQUlBVkJBblFnQVdvb0FnQWlDQ0FKSUFndkFRQnlPd0VBQ3lBRlFRRnFJZ1VnQUNnQzhBSklEUUFMSUFBb0FoZ2hCeUFHS0FJQUlRZ2dCaWdDQkNFRkRBRUxJQVlrQmtFQUR3c0xJQWNnQ0RZQ0FDQUhJQVUyQWdRZ0FpQUROZ0lNSUFJZ0JEWUNFQ0FDSUFJb0FpeEJmMm8yQWl3Z0JpUUdRUUVMdGdZQkRIOGpCaUVFSXdaQklHb2tCaUFBS0FMVUF5RUZBa0FnQUNnQ21BSUVRQ0FGS0FJc1JRUkFJQVVvQWhCQkNCQTVJUVlnQUNnQzBBTWlBaUFHSUFJb0FoaHFOZ0lZSUFWQkFEWUNFQ0FDS0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFpQUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBVkJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBaFFnQlNBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBRlFRQTJBaWdMQ3dzZ0JTZ0NLRVVFUUNBRktBSVVJZ0lFUUNBQ1FYOXFJUU1GSUFRZ0FEWUNFQ0FFSUFBb0FoZ2lBaWdDQURZQ0FDQUVJQUlvQWdRMkFnUWdCU2dDRENFR0lBVW9BaEFoQWlBQUtBS29BeUVLSUFBb0FyQURJUXNnQVNnQ0FDRU1JQVZCUUdzb0FnQWhDQ0FBS0FLY0F5SURJQUFvQXFBRElnMUtCRUJCQUNFRElBWWhBUVVDUUNBR0lRRWdBeUVHQWtBRFFBSkFBbjhDUUNBQ1FRaElCRUFnQkNBQklBSkJBQkJuUlEwRklBUW9BZ2doQVNBRUtBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBaEJrQUZxSUFFZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUFoQmtBbHFhaTBBQUNFSElBSWdDV3NGUVFraEF3d0JDd3dCQ3lBRUlBRWdBaUFJSUFNUW9BRWlCMEVBU0EwRElBUW9BZ2doQVNBRUtBSU1DeUVDSUFkQkJIWWhBeUFIUVE5eElnY0VRQ0FDSUFkSUJFQWdCQ0FCSUFJZ0J4Qm5SUTBFSUFRb0Fnd2hBaUFFS0FJSUlRRUxJQU1nQm1vaUEwRUNkQ0FMYWlnQ0FFRUJkQ0FNYWlBSFFRSjBRZkF4YWlnQ0FDSUdJQUVnQWlBSGF5SUNkWEVpQ1VFQUlBWWdDU0FIUVFKMFFld3hhaWdDQUVvYmF5QUtkRHNCQUFVQ1FDQURCRUFnQTBFUFJnUkFEQUlGREFRTEFBdEJBQ0VEREFVTElBWkJEMm9oQXdzZ0EwRUJhaUVHSUFNZ0RVZ05BVUVBSVFNTUF3c0xJQUlnQTBnRVFDQUVJQUVnQWlBREVHZEZEUVlnQkNnQ0RDRUNJQVFvQWdnaEFRdEJBU0FEZEVGL2FpQURRUUowUWZBeGFpZ0NBQ0FCSUFJZ0Eyc2lBblZ4YWlFRERBRUxEQVFMQ3lBQUtBSVlJZ0FnQkNnQ0FEWUNBQ0FBSUFRb0FnUTJBZ1FnQlNBQk5nSU1JQVVnQWpZQ0VBc2dCU0FETmdJVUN5QUZJQVVvQWl4QmYybzJBaXdnQkNRR1FRRVBDeUFFSkFaQkFBdVdCZ0VOZnlNR0lRUWpCa0V3YWlRR0lBQW9BdFFESVFJZ0FDZ0NxQU1oQ3lBQUtBS1lBZ1JBSUFJb0FpeEZCRUFnQWlnQ0VFRUlFRGtoQXlBQUtBTFFBeUlJSUFNZ0NDZ0NHR28yQWhnZ0FrRUFOZ0lRSUFnb0FnZ2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRUkFJQVFrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFNRFFDQUNRUmhxSUFOQkFuUnFRUUEyQWdBZ0EwRUJhaUlESUFBb0F0UUNTQTBBQ3dzZ0FrRUFOZ0lVSUFJZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0FrRUFOZ0lvQ3dzTElBUkJGR29oQmlBRUlRa2dBaWdDS0VVRVFDQUdJQUEyQWhBZ0JpQUFLQUlZSWdjb0FnQWlCVFlDQUNBR0lBY29BZ1FpQ0RZQ0JDQUNLQUlNSVFNZ0FpZ0NFQ0VFSUFrZ0Fpa0NGRGNDQUNBSklBSXBBaHczQWdnZ0NTQUNLQUlrTmdJUUlBQW9BdkFDUVFCS0JFQUNRRUVBSVFnQ1FBTkFJQWhCQW5RZ0FXb29BZ0FoRGlBQ1FUQnFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWcxQkFuUnFLQUlBS0FJVVFRSjBhaWdDQUNFS0FuOENRQ0FFUVFoSUJFQWdCaUFESUFSQkFCQm5SUTBFSUFZb0FnZ2hBeUFHS0FJTUlnUkJDRWdFUUVFQklRVU1BZ3NMSUFwQmtBRnFJQU1nQkVGNGFuVkIvd0Z4SWdWQkFuUnFLQUlBSWdjRWZ5QUZJQXBCa0FscWFpMEFBQ0VGSUFRZ0Iyc0ZRUWtoQlF3QkN3d0JDeUFHSUFNZ0JDQUtJQVVRb0FFaUEwRUFTQTBDSUFNaEJTQUdLQUlJSVFNZ0JpZ0NEQXNoQkNBRkJIOGdCQ0FGU0FSQUlBWWdBeUFFSUFVUVowVU5BeUFHS0FJTUlRUWdCaWdDQ0NFREN5QUZRUUowUWZBeGFpZ0NBQ0lLSUFNZ0JDQUZheUlFZFhFaUIwRUFJQW9nQnlBRlFRSjBRZXd4YWlnQ0FFb2Jhd1ZCQUFzZ0NVRUVhaUFOUVFKMGFpSUZLQUlBYWlFSElBVWdCellDQUNBT0lBY2dDM1E3QVFBZ0NFRUJhaUlJSUFBb0F2QUNTQTBBQ3lBQUtBSVlJUWNnQmlnQ0FDRUZJQVlvQWdRaENBd0JDeUFKSkFaQkFBOExDeUFISUFVMkFnQWdCeUFJTmdJRUlBSWdBellDRENBQ0lBUTJBaEFnQWlBSktRSUFOd0lVSUFJZ0NTa0NDRGNDSENBQ0lBa29BaEEyQWlRTElBSWdBaWdDTEVGL2FqWUNMQ0FKSkFaQkFRc3ZBUUovSUFBb0F0UURJZ0VvQWhCQkNCQTVJUUlnQUNnQzBBTWlBQ0FDSUFBb0FoaHFOZ0lZSUFGQkFEWUNFQXZzREFFSWZ5QUFLQUxVQXlFRUlBQW9BcHdESWdKRklRTUNRQ0FBS0FMZ0FVVUVRQUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDM0FFZ0FDZ0NvQU1pQVVIQUFFaHlCRUFnQUNnQ3RBTWdBVWNOQVFzTUFRc2dBQ2dDQUNJQlFmMEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QUxJQVJCSmtFbklBQW9BclFEUVQ5R0d6WUNCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUJCQVNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lDS0FJVUlnTWdCRUhFQUdvZ0EwRUNkR29RK1FFZ0FDZ0N0QU1FUUNBQVFRQWdBaWdDR0NJQ0lBUkIxQUJxSUFKQkFuUnFFUGtCQ3lBRVFSaHFJQUZCQW5ScVFRQTJBZ0FnQVVFQmFpSUJJQUFvQXRRQ1NBMEFDd3NnQUNnQzhBSkJBRXdOQVVFQUlRRURRQ0FFUWVRQWFpQUJRUUowYWlBRVFjUUFhaUFBUWRnQ2FpQUFRZlFDYWlBQlFRSjBhaWdDQUVFQ2RHb29BZ0FpQXlnQ0ZFRUNkR29vQWdBMkFnQWdCRUdNQVdvZ0FVRUNkR29nQkVIVUFHb2dBeWdDR0VFQ2RHb29BZ0EyQWdBZ0JFRzBBV29nQVVFQ2RHb2dBeWdDTkFSL0FuOGdBeWdDS0NFQ0lBTW9BaVFoQXdKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQUNnQ3RBTU9NUUFIQndFSEJ3Y0hBZ2NIQndjSEJ3TUhCd2NIQndjSEJ3UUhCd2NIQndjSEJ3Y0hCUWNIQndjSEJ3Y0hCd2NIQndZSEMwRUJEQWNMSUFKQkFVZEJBM1JCb0N0cUlBTkJBVWRCQW5ScUtBSUFRUUZxREFZTElBSkJmMm9pQWtFQ0lBSkJBa2tiUVF4c1FiQXJhaUFEUVg5cUlnSkJBaUFDUVFKSkcwRUNkR29vQWdCQkFXb01CUXNnQWtGL2FpSUNRUU1nQWtFRFNSdEJCSFJCNEN0cUlBTkJmMm9pQWtFRElBSkJBMGtiUVFKMGFpZ0NBRUVCYWd3RUN5QUNRWDlxSWdKQkJDQUNRUVJKRzBFVWJFR2dMR29nQTBGL2FpSUNRUVFnQWtFRVNSdEJBblJxS0FJQVFRRnFEQU1MSUFKQmYyb2lBa0VGSUFKQkJVa2JRUmhzUVpBdGFpQURRWDlxSWdKQkJTQUNRUVZKRzBFQ2RHb29BZ0JCQVdvTUFnc2dBa0YvYWlJQ1FRWWdBa0VHU1J0QkhHeEJvQzVxSUFOQmYyb2lBa0VHSUFKQkJra2JRUUowYWlnQ0FFRUJhZ3dCQ3lBQ1FYOXFJZ0pCQnlBQ1FRZEpHMEVGZEVId0wyb2dBMEYvYWlJQ1FRY2dBa0VIU1J0QkFuUnFLQUlBUVFGcUN3VkJBQXMyQWdBZ0FVRUJhaUlCSUFBb0F2QUNTQTBBQ3d3QkN5QUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFKSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FDTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSWlBVUVBU2dSL0lBQkJwQU5xSVFWQkFDRUNBMzhnQUVIWUFtb2dBa0VDZEdvb0FnQW9BZ1FoQmlBQUtBS2dBU0VJSUFBb0Fwd0RJZ0VFUUNBR1FRaDBJQWhxS0FJQVFRQklCRUFnQUNnQ0FDSUJRZllBTmdJVUlBRWdCallDR0NBQUtBSUFRUUEyQWh3Z0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBQUtBS2NBeUVCQ3dWQkFDRUJDeUFCSUFBb0FxQURUQVJBQTBBZ0JTZ0NBQ0FHUVFoMElBaHFJQUZCQW5ScUlnTW9BZ0FpQjBFQUlBZEJBRW9iUndSQUlBQW9BZ0FpQjBIMkFEWUNGQ0FISUFZMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhCeUFBUVg4Z0IwRS9jVUd5QldvUkF3QUxJQU1nQUNnQ3FBTTJBZ0FnQVVFQmFpRURJQUVnQUNnQ29BTklCRUFnQXlFQkRBRUxDd3NnQWtFQmFpSUNJQUFvQXRRQ0lnRklEUUFnQlFzRklBQkJwQU5xQ3lFQ0lBUkJJa0VqSUFBb0Fwd0RJZ05GSWdVYlFTUkJKU0FGR3lBQ0tBSUFSUnMyQWdRZ0FVRUFTZ1JBQWtBZ0JFRkFheUVHUVFBaEFRTkFJQUJCMkFKcUlBRkJBblJxS0FJQUlRVWdBd1JBSUFSQk1Hb2dCU2dDR0NJRlFRSjBhaUVESUFCQkFDQUZJQU1RK1FFZ0JpQURLQUlBTmdJQUJTQUNLQUlBUlFSQUlBQkJBU0FGS0FJVUlnTWdCRUV3YWlBRFFRSjBhaEQ1QVFzTElBUkJHR29nQVVFQ2RHcEJBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSk9EUUVnQUNnQ25BTWhBd3dBQUFzQUN3c2dCRUVBTmdJVUlBUkJBRFlDRUNBRVFRQTJBZ3dnQkVFQU5nSW9JQVFnQUNnQ21BSTJBaXdQQ3lBRVFRQTJBaEFnQkVFQU5nSU1JQVJCQURZQ0tDQUVJQUFvQXBnQ05nSXNDOWNCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVIY0FTQUNRVDl4UWNvQmFoRUVBQ0lCTmdMVUF5QUJRZllBTmdJQUlBRkI5d0EyQWdnZ0FDZ0M0QUZGQkVBZ0FVSUFOd0pFSUFGQ0FEY0NUQ0FCUVFBMkFsUWdBVUVBTmdKWUlBRkJBRFlDWENBQlFRQTJBbUFQQ3lBQUtBSUVLQUlBSVFJZ0FDQUFRUUVnQUNnQ0pFRUlkQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nS2dBU0FBS0FJa1FRQktCRUJCQUNFQ0EwQWdBeUFDUVFoMGFrRi9RWUFDRUVVYUlBSkJBV29pQWlBQUtBSWtTQTBBQ3dzZ0FVSUFOd0l3SUFGQ0FEY0NPQXZEQWdFSmZ5QUFLQUs0QXlFQ0lBQW9BZ0FpQTBIOEFEWUNGQ0FESUFJMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhBeUFBUVg4Z0EwRS9jVUd5QldvUkF3QWdBVUVCYWtFSGNVSFFBWEloQkNBQlFRSnFRUWR4UWRBQmNpRUZJQUZCQjJwQkIzRkIwQUZ5SVFZZ0FVRUdha0VIY1VIUUFYSWhCd0pBQTBBQ1FDQUNRY0FCU0NFSUlBSWdCRVlnQWtGNGNVSFFBVWR5SUFJZ0JVWnlJUWxCQWtFQklBSWdCa1lnQWlBSFJuSWJJUW9EUUFKQUlBQW9BZ0FpQVVIakFEWUNGQ0FCSUFJMkFoZ2dBQ2dDQUVFQ1FRTWdDaUFKR3lBSUd5SUROZ0ljSUFBb0FnQW9BZ1FoQVNBQVFRUWdBVUUvY1VHeUJXb1JBd0FDUUFKQUlBTkJBM0ZCQVdzT0F3UUNBQUVMUVFFaEFBd0ZDd3dCQ3dzZ0FCQ3hBZ1JBSUFBb0FyZ0RJUUlNQWdWQkFDRUFEQU1MQUFzTElBQkJBRFlDdUFOQkFROExJQUFMWWdFRGZ5QUFLQUlZSVFJZ0FVRUFUQVJBRHdzZ0FpZ0NCQ0lESUFGSUJFQURRQ0FDS0FJTUlRUWdBQ0FFUWY4QWNVRUlhaEVBQUJvZ0FTQURheUlCSUFJb0FnUWlBMG9OQUFzTElBSWdBU0FDS0FJQWFqWUNBQ0FDSUFNZ0FXczJBZ1FMN3dFQkJIOUJCRUVFRUlzQklRUURRQ0FDUVFOSEJFQWdBa0VDZENFRlFRQWhBd05BSUFOQkJFY0VRQ0FFS0FJQUlBTWdCV3BCQTNScUlBSkJCSFFnQUdvZ0EwRUNkR29xQWdDN09RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRWRDQUJhaUFDUVFKMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQXRqZ0NBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0JCQkpDNzBCQVFOL0lBQW9BaGdpQVNnQ0lFRUJRWUFnSUFFb0Fod1FZU0lDQkVBZ0FTQUJLQUlnTmdJQUlBRWdBallDQkNBQlFRQTJBaVJCQVE4TElBRW9BaVFFUUNBQUtBSUFJZ0pCS3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQW44Z0FDRURJQUFvQWdBaUFFSDdBRFlDRkNBQUtBSUVJUUFnQXd0QmZ5QUFRVDl4UWJJRmFoRURBQ0FCS0FJZ1FYODZBQUFnQVNnQ0lFRlpPZ0FCSUFFZ0FTZ0NJRFlDQUNBQlFRSTJBZ1FnQVVFQU5nSWtRUUVMREFBZ0FDZ0NHRUVCTmdJa0M1WUJBUUovSUFBb0FoZ2lBa1VFUUNBQUtBSUVLQUlBSVFJZ0FDQUFRUUJCS0NBQ1FUOXhRY29CYWhFRUFDSUROZ0lZSUFBb0FnUW9BZ0FoQWlBRElBQkJBRUdBSUNBQ1FUOXhRY29CYWhFRUFEWUNJQ0FBS0FJWUlRSUxJQUpCOUFBMkFnZ2dBa0hUQURZQ0RDQUNRUzgyQWhBZ0FrRWhOZ0lVSUFKQjlRQTJBaGdnQWlBQk5nSWNJQUpCQURZQ0JDQUNRUUEyQWdBTDZna0JFbjhqQmlFVEl3WkJnQUpxSkFZZ0FDZ0MwQUloRmlBVElnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFCS0FJQUlBSXVBUUJCQW5Sc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lJSUFJdUFUQWdBU2dDWUd3aUMyb2lEQ0FDTGdGUUlBRW9BcUFCYkNJTklBY2dBU2dDSUd3aUIyb2lDbXBCb2NzQWJDSU9JQXhCdTRKL2JHb2lEQ0FISUFocVFiTkdiQ0lRSUFoQmpoTnNhbW9oQ0NBT0lBcEJoR2RzYWlJS0lCQWdCMEdMNEFCc2Ftb2hCeUFLSUFzZ0RXcEIvZHQrYkNJS0lBMUJzNE1CYkdwcUlRMGdCaUFISUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc0Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUVHb2lFU0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJZ1VnQWk0QllDQUJLQUxBQVd3aUVtcEIwU0pzSWhRZ0JVSCtNR3hxSWdWcUloVnFRUXQxTmdJQUlBWWdGU0FIYTBFTGRUWUM0QUVnQmlBTUlBb2dDMEhVeEFGc2Ftb2lDeUFRSUE1cklnY2dGQ0FTUWQrSmYyeHFJZ3hxSWdwcVFRdDFOZ0lnSUFZZ0NpQUxhMEVMZFRZQ3dBRWdCa0ZBYXlBTklBY2dER3NpQzJwQkMzVTJBZ0FnQmlBTElBMXJRUXQxTmdLZ0FTQUdJQWdnRVNBRmF5SUZha0VMZFRZQ1lDQUZJQWhyUVF0MUlRVkJJQXRCQW5RZ0Jtb2dCVFlDQUNBR1FRUnFJUVlnQVVFRWFpRUJJQUpCQW1vaEFpQUpRWDlxSVFVZ0NVRUJTd1JBSUFVaENRd0JDd3NnRmtHQWZXb2hDVUVBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSVFZZ0FDZ0NBRUdRZ0FGcUlRVUNRQUpBSUFBb0FnUWlDQ0FBS0FJSUlnSnlEUUFnQUNnQ0RBUkFRUUFoQWd3QkJTQUFLQUlRQkVCQkFDRUNEQUlGSUFBb0FoUUVRRUVBSVFJTUF3VWdBQ2dDR0FSQVFRQWhBZ3dFQlNBQUtBSWNCRUJCQUNFQ0RBVUZJQVlnQ1NBRlFRVjJRZjhIY1dvc0FBQWlBam9BQUNBR1FRRnFJQUpCQnhCRkdnc0xDd3NMREFFTElBQW9BaHdpQ3lBQUtBSU1JZzFxSWc4Z0NDQUFLQUlVSWdkcUlneHFRYUhMQUd3aUNpQVBRYnVDZjJ4cUlnOGdDQ0FMYWtHelJtd2lEaUFMUVk0VGJHcHFJUXNnQ2lBTVFZUm5iR29pRENBT0lBaEJpK0FBYkdwcUlRZ2dEQ0FISUExcVFmM2JmbXdpRENBSFFiT0RBV3hxYWlFSElBWWdDU0FGSUFBb0FoQWlDbXBCRFhRaURpQUFLQUlZSWhBZ0FtcEIwU0pzSWhFZ0FrSCtNR3hxSWdKcUloSWdDR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWtnRWlBSWEwRVNka0gvQjNGcUxBQUFPZ0FISUFZZ0NTQUZJQXByUVExMElnVWdFU0FRUWQrSmYyeHFJZ2hxSWdvZ0R5QU1JQTFCMU1RQmJHcHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFKSUFvZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBR0lBa2dCU0FJYXlJRklBZHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JpQUpJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCU0FHSUFrZ0RpQUNheUlDSUF0cVFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSklBSWdDMnRCRW5aQi93ZHhhaXdBQURvQUJBc2dBRUVnYWlFQUlBRkJBV29pQVVFSVJ3MEFDeUFUSkFZTE5BQWdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2dBaTRCQUNBQktBSlVLQUlBYkVHRUlHcEJBM1pCL3dkeGFpd0FBRG9BQUF2REFRRUZmeUFFSUFNb0FnQnFJZ1VnQUNnQzBBSkJnSDFxSWdBZ0FpNEJFQ0FCS0FKVUlnRW9BaUJzSWdZZ0FpNEJBQ0FCS0FJQWJFR0VJR29pQjJvaUNDQUNMZ0VDSUFFb0FnUnNJZ2tnQWk0QkVpQUJLQUlrYkNJQmFpSUNha0VEZGtIL0IzRnFMQUFBT2dBQUlBVWdDQ0FDYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUVnQkNBREtBSUVhaUlDSUFjZ0Jtc2lBeUFKSUFGcklnRnFRUU4yUWY4SGNTQUFhaXdBQURvQUFDQUNJQU1nQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzZnRkFRbC9Jd1loQlNNR1FUQnFKQVlnQUNnQzBBSWhDQ0FGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lIYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkU0lMTmdJQUlBVWdBU0FBYTBFTGRUWUNHQ0FGSUFrZ0IwRitiR3BCQzNVMkFnd2dCU0FHS0FJRUlBSXVBUUpCRFhSc1FZQUljaUlKSUFZb0FrUWdBaTRCSWtHaExXeHNJZ2RxSWdFZ0JpZ0NKQ0FDTGdFU1FiSE9BR3hzSWdCcVFRdDFJZ3cyQWdRZ0JTQUJJQUJyUVF0MU5nSWNJQVVnQ1NBSFFYNXNha0VMZFNJTk5nSVFJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQ1NBR0tBSklJQUl1QVNSQm9TMXNiQ0lIYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkU0lLTmdJSUlBVWdBU0FBYTBFTGRTSUdOZ0lnSUFVZ0NTQUhRWDVzYWtFTGRTSUpOZ0lVSUFRZ0F5Z0NBR29pQnlBSVFZQjlhaUlJSUF0QkRYUkJnSUNJd0FCcUlnSWdDa0doTFd4cUlnRWdERUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUlJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFnZ0FpQUtRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSUVhaUlISUFnZ0JTZ0NERUVOZEVHQWdJakFBR29pQWlBSlFhRXRiR29pQVNBTlFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFnZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dDQ0FDSUFsQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdocUlnTWdDQ0FGS0FJWVFRMTBRWUNBaU1BQWFpSUNJQVpCb1Mxc2FpSUJJQVVvQWh4QnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQU1nQ0NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0F5QUlJQUlnQmtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBVWtCZ3ZzQ1FFSWZ5TUdJUVVqQmtGQWF5UUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQ1NnQ0FHd2lDQ0FDTGdFZ0lBbEJRR3NvQWdCc0lndHFRUUowSWdFZ0FpNEJFQ0FKS0FJZ2JDSUFJQUl1QVRBZ0NTZ0NZR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQUNBRklBRWdBR3MyQWpBZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVFJQVVnQVNBQWF6WUNJQ0FGSUFJdUFRSWdDU2dDQkd3aUNDQUNMZ0VpSUFrb0FrUnNJZ3RxUVFKMElnRWdBaTRCRWlBSktBSWtiQ0lBSUFJdUFUSWdDU2dDWkd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0JDQUZJQUVnQUdzMkFqUWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lVSUFVZ0FTQUFhellDSkNBRklBSXVBUVFnQ1NnQ0NHd2lDQ0FDTGdFa0lBa29Ba2hzSWd0cVFRSjBJZ0VnQWk0QkZDQUpLQUlvYkNJQUlBSXVBVFFnQ1NnQ2FHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFpSU1OZ0lJSUFVZ0FTQUFhellDT0NBRklBZ2dDMnRCQW5RaUFTQUtJQVpCMzRsL2JHcEJDM1VpQUdvMkFoZ2dCU0FCSUFCck5nSW9JQVVnQWk0QkJpQUpLQUlNYkNJTElBSXVBU1lnQ1NnQ1RHd2lCbXBCQW5RaUFTQUNMZ0VXSUFrb0FpeHNJZ0FnQWk0Qk5pQUpLQUpzYkNJS2FrSFJJbXhCZ0FocUlnSWdBRUgrTUd4cVFRdDFJZ0JxSWdnMkFnd2dCU0FCSUFCck5nSThJQVVnQ3lBR2EwRUNkQ0lCSUFJZ0NrSGZpWDlzYWtFTGRTSUFhaUlMTmdJY0lBVWdBU0FBYXpZQ0xDQUVJQU1vQWdCcUlnWWdCMEdBZldvaUJ5QU1JQVVvQWdCQmtJQUJhaUlLYWtFTmRDSUJJQWdnQlNnQ0JDSUFha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBS0lBeHJRUTEwSWdFZ0FpQUlRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FnUnFJZ2dnQnlBRktBSVFRWkNBQVdvaUJpQUZLQUlZSWdwcVFRMTBJZ0VnQ3lBRktBSVVJZ0JxUWRFaWJDSUNJQUJCL2pCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBZ2dCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQ0NBSElBWWdDbXRCRFhRaUFTQUNJQXRCMzRsL2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQ0NBSElBVW9BaUJCa0lBQmFpSUxJQVVvQWlnaUJtcEJEWFFpQVNBRktBSWtJZ0FnQlNnQ0xDSUtha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQWdnQnlBTElBWnJRUTEwSWdFZ0FpQUtRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NDQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSXdRWkNBQVdvaUNpQUZLQUk0SWdScVFRMTBJZ0VnQlNnQ05DSUFJQVVvQWp3aUEycEIwU0pzSWdJZ0FFSCtNR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ2lBRWEwRU5kQ0lCSUFJZ0EwSGZpWDlzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4UUFRcC9Jd1loQlNNR1FmQUFhaVFHSUFBb0F0QUNJUTRnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpRUdJQVVnQWk0QklDQUlRVUJyS0FJQWJDSUJJQUpCUUdzdUFRQWdDQ2dDZ0FGc0lnQnFRY3d5YkNJTklBWWdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VRSUFnb0FpQnNJZ0FnQWk0Qk1DQUlLQUpnYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ0FnQlNBQklBQnJRUXQxTmdKUUlBVWdDaUFOYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBandnQlNBR0lBbEJ3S1YvYkdwQkMzVTJBaWdnQlNBQ0xnRVNJQWdvQWlSc0lnQWdBaTRCTWlBSUtBSmtiQ0lIYWtHYU5Xd2lCaUFBUWZFZ2JHb2lEU0FDTGdFaUlBZ29Ba1JzSWdFZ0FpNEJRaUFJS0FLRUFXd2lBR3BCekRKc0lna2dDQ2dDQkNBQ0xnRUNRUTEwYkVHQUNISWlDaUFCSUFCcklndEIwQlpzYWlJTWFpSUFha0VMZFRZQ0JDQUZJQUFnRFd0QkMzVTJBbFFnQlNBR0lBZEIzUFIrYkdvaUFTQU1JQWxySWdCcVFRdDFOZ0lZSUFWQlFHc2dBQ0FCYTBFTGRUWUNBQ0FGSUFvZ0MwSEFwWDlzYWtFTGRUWUNMQ0FGSUFJdUFTUWdDQ2dDU0d3aUFTQUNMZ0ZFSUFnb0FvZ0JiQ0lBYWtITU1td2lCaUFJS0FJSUlBSXVBUVJCRFhSc1FZQUljaUlOSUFFZ0FHc2lDVUhRRm14cUlncHFJZ0VnQWk0QkZDQUlLQUlvYkNJQUlBSXVBVFFnQ0NnQ2FHd2lDMnBCbWpWc0lnd2dBRUh4SUd4cUlnQnFRUXQxTmdJSUlBVWdBU0FBYTBFTGRUWUNXQ0FGSUFvZ0Jtc2lBU0FNSUF0QjNQUitiR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdKRUlBVWdEU0FKUWNDbGYyeHFRUXQxTmdJd0lBVWdBaTRCSmlBSUtBSk1iQ0lCSUFJdUFVWWdDQ2dDakFGc0lnQnFRY3d5YkNJR0lBZ29BZ3dnQWk0QkJrRU5kR3hCZ0FoeUlnMGdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VXSUFnb0FpeHNJZ0FnQWk0Qk5pQUlLQUpzYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ3dnQlNBQklBQnJRUXQxTmdKY0lBVWdDaUFHYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0lDQUZJQUVnQUd0QkMzVTJBa2dnQlNBTklBbEJ3S1YvYkdwQkMzVTJBalFnQlNBQ0xnRW9JQWdvQWxCc0lnRWdBaTRCU0NBSUtBS1FBV3dpQUdwQnpESnNJZzBnQ0NnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFJdUFSZ2dDQ2dDTUd3aUFDQUNMZ0U0SUFnb0FuQnNJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VMZFRZQ0VDQUZJQUVnQUd0QkMzVTJBbUFnQlNBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFRdDFOZ0lrSUFVZ0FTQUFhMEVMZFRZQ1RDQUZJQWtnQ2tIQXBYOXNha0VMZFRZQ09DQUVJQU1vQWdCcUlnWWdEa0dBZldvaUJ5QUZLQUlJSWdFZ0JTZ0NFQ0lBYWtITU1td2lEU0FGS0FJQVFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCU2dDQkNJQUlBVW9BZ3dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQmlBSElBVW9BaHdpQVNBRktBSWtJZ0JxUWN3eWJDSU5JQVVvQWhSQkRYUkJnSUNJd0FCcUlna2dBU0FBYXlJS1FkQVdiR29pQzJvaUFTQUZLQUlZSWdBZ0JTZ0NJQ0lNYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFZZ0J5QUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NTQUtRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUlhaUlHSUFjZ0JTZ0NNQ0lCSUFVb0FqZ2lBR3BCekRKc0lnMGdCU2dDS0VFTmRFR0FnSWpBQUdvaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBVW9BaXdpQUNBRktBSTBJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnQmlBSElBc2dEV3NpQVNBQ0lBeEIzUFIrYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBSklBcEJ3S1YvYkdwQkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSkVJZ0VnQlNnQ1RDSUFha0hNTW13aURTQUZLQUk4UVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JVRkFheWdDQUNJQUlBVW9Ba2dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NFR29pQ1NBSElBVW9BbGdpQVNBRktBSmdJZ0JxUWN3eWJDSUtJQVVvQWxCQkRYUkJnSUNJd0FCcUlnc2dBU0FBYXlJTVFkQVdiR29pQkdvaUFTQUZLQUpVSWdBZ0JTZ0NYQ0lEYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFrZ0J5QUVJQXBySWdFZ0FpQURRZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NTQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFKSUFjZ0N5QU1RY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OEVBUTkvSXdZaEVDTUdRWkFCYWlRR0lBQW9BdEFDSVJNZ0VDSUFJUVVnQVNnQ1ZDRUJBMEFnQlNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJS0lBRW9Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSU1haUlOSUFGQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJT2FpSVBJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRlFJQUVvQXFBQmJDSUlha0cyRjJ3aUVTQUdJQUl1QVRBZ0FTZ0NZR3dpQ1dwQkRYUnFJaEpxUVF0MU5nSUFJQVVnRHlBU2EwRUxkVFlDZUNBRklBb2dERUYrYkdwQkMzVWlDaUFHSUFscklBaHJRUUowSWdacU5nSVlJQVVnQ2lBR2F6WUNZQ0FGSUEwZ0Rtc2lCaUFSSUFnZ0NXdEJEWFJxSWdocVFRdDFOZ0l3SUFVZ0JpQUlhMEVMZFRZQ1NDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FIUVFGcUlnZEJCa2NOQUFzZ0UwR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBQ2dDQkNJSElBQW9BaFFpQm1wQnRoZHNJZ3NnQnlBQUtBSU1JZ2hxUVExMGFpSUtJQUFvQWdCQkRYUkJnSUNJd0FCcUlnd2dBQ2dDRUVHaExXd2lDV29pRFNBQUtBSUlRYkhPQUd3aURtb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRHlBS2EwRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUhJQWhySUFaclFRMTBJZ2NnRENBSmF5QUpheUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUVnQlNBSklBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJDQUZJQTBnRG1zaUJ5QUxJQVlnQ0d0QkRYUnFJZ1pxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUFjZ0JtdEJFblpCL3dkeElBSnFMQUFBT2dBRElBQkJHR29oQUNBQlFRRnFJZ0ZCQmtjTkFBc2dFQ1FHQyswQkFRUi9RUVJCQkJDTEFTRUVBMEFnQWtFRFJ3UkFJQUpCQW5RaEJVRUFJUU1EUUNBRFFRUkhCRUFnQkNnQ0FDQURJQVZxUVFOMGFpQUNRUVYwSUFCcUlBTkJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRmRDQUJhaUFDUVFOMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3lBRUVFa0x0UVlCRkg4akJpRVZJd1pCMEFGcUpBWWdBQ2dDMEFJaEdDQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lISUFJdUFXQWdBU2dDd0FGc0lnWnJRYmM0YkNJT0lBSXVBU0FnQVVGQWF5Z0NBR3dpQ1NBSGEwR1NGR3dpRVNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUElBZEJsWXAvYkdwcWFpRUtJQUl1QVJBZ0FTZ0NJR3dpQ3lBQ0xnRXdJQUVvQW1Cc0lnaHFRZTg3YkNJU0lBc2dDR3RCOHdwc0loTnFJQWdnQWk0QlVDQUJLQUtnQVd3aUNHcEI0YWQvYkNJVWFpRU5JQVVnRHlBR0lBbHFJaFpCeHRFQWJHb2lGeUFPSUFaQmczdHNhbW9pQmlBSUlBdHFRYU1uYkNJTElCSWdFMnRxSWc1cVFRdDFOZ0lBSUFVZ0JpQU9hMEVMZFRZQ3FBRWdCU0FLSUExcVFRdDFOZ0ljSUFVZ0NpQU5hMEVMZFRZQ2pBRWdCU0FYSUJFZ0NVSHg0WDVzYW1vaUJpQVVJQXNnQ0VIZTl3QnNhbW9pQ1dwQkMzVTJBamdnQlNBR0lBbHJRUXQxTmdKd0lBVWdEeUFISUJaclFjSGFBR3hxUVF0MU5nSlVJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVIUncwQUN5QVlRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJWUlnZHJRYmM0YkNJTklBQW9BZ2dpQmlBTWEwR1NGR3dpRUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUF4QmxZcC9iR3BxYWlFUElBQW9BZ1FpQ2lBQUtBSU1JZ1ZxUWU4N2JDSU9JQW9nQld0Qjh3cHNJaEZxSUFVZ0FDZ0NGQ0lMYWtIaHAzOXNJaEpxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0NTQUdJQWRxSWhOQnh0RUFiR29pRkNBTklBZEJnM3RzYW1vaUJ5QUtJQXRxUWFNbmJDSUtJQTRnRVd0cUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQWNnRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFGSUFJZ0NDQVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFQSUFoclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCUWdFQ0FHUWZIaGZteHFhaUlISUJJZ0NpQUxRZDczQUd4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBa2dEQ0FUYTBIQjJnQnNha0VTZGtIL0IzRnFMQUFBT2dBRElBQkJIR29oQUNBQlFRRnFJZ0ZCQjBjTkFBc2dGU1FHQzZJSEFSUi9Jd1loRlNNR1FhQUNhaVFHSUFBb0F0QUNJUmdnRlNJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFCS0FMQUFTQUNMZ0ZnUWFFdGJHd2lCbW9oQ0NBSElBWnJJQVpySWhBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lHSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2RySWhGQm9TMXNhaUVKSUFJdUFSQWdBU2dDSUd3aUNpQUNMZ0ZRSUFFb0FxQUJiQ0lNYWtHWE9td2hEU0FGSUFnZ0JpQUhha0dIMVFCc0loSWdCMEhjRDJ3aUUydHFJaFFnQ2lBQ0xnRndJQUVvQXVBQmJDSUhha0g2SG13aUZpQU5JQUVvQW1BZ0FpNEJNRUhQc1g5c2JDSU9hMm9pRjJwQkMzVTJBZ0FnQlNBVUlCZHJRUXQxTmdLQUFpQUZJQWtnQ2lBTWF5QUhhMEd4emdCc0lncHFRUXQxTmdJZ0lBVWdDU0FLYTBFTGRUWUM0QUVnQlVGQWF5QUdRYXZGQUd3aUJpQUlJQkpyYWlJSklBMGdEaUFNSUFkclFaSFpBR3dpQjJ0cUlncHFRUXQxTmdJQUlBVWdDU0FLYTBFTGRUWUN3QUVnQlNBVElBZ2dCbXRxSWdnZ0ZpQUhJQTVxYWlJR2FrRUxkVFlDWUNBRklBZ2dCbXRCQzNVMkFxQUJJQVVnRUNBUlFiNmxmMnhxUVF0MU5nS0FBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTFFRRnFJZ3RCQ0VjTkFBc2dHRUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlJSUFBb0FoaEJvUzFzSWdWcUlRc2dDQ0FGYXlBRmF5SU9JQUFvQWdnaUNDQUFLQUlRSWdacklnOUJvUzFzYWlFSElBQW9BZ1FpQ1NBQUtBSVVJZ3BxUVpjNmJDRU1JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQXNnQmlBSWFrR0gxUUJzSWhBZ0JrSGNEMndpRVd0cUloSWdDU0FBS0FJY0lnWnFRZm9lYkNJVElBd2dBQ2dDREVIUHNYOXNJZzFyYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVNJQlJyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NTQUtheUFHYTBHeHpnQnNJZ2xxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDRUdyeFFCc0lnZ2dDeUFRYTJvaUJ5QU1JQTBnQ2lBR2EwR1IyUUJzSWdacmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCRWdDeUFJYTJvaUN5QVRJQVlnRFdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0RpQVBRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUpSdzBBQ3lBVkpBWUwvZ2NCRlg4akJpRVZJd1pCd0FKcUpBWWdBQ2dDMEFJaEdTQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRXdJQUVvQW1Cc0lnWWdBaTRCY0NBQktBTGdBV3dpQ21vaEJ5QUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2tnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDMEdkeVFCc2FpSVFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lSYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER29pRGlBR0lBcHJJZ3BCNHhOc0loSWdBaTRCVUNBQktBS2dBV3dpRkVFTmRDSVBhaUlXSUFkQjd6eHNJaGNnQWk0QkVDQUJLQUlnYkNJR1FiUFpBR3hxYWlJWWFrRUxkVFlDQUNBRklBNGdHR3RCQzNVMkFxQUNJQVVnQ1NBTFFZUmtiR29pRGlBTklCRkIzUFIrYkdvaUVXb2lEU0FHUWRQUUFHd2dCMEhQSld3aUIyc2dEeUFTYXlBS1FReDBheUlTYXlJUGFrRUxkVFlDSUNBRklBMGdEMnRCQzNVMkFvQUNJQVZCUUdzZ0NTQUxRYjZsZjJ4cVFRdDFJZ2tnQmlBVWF5QUthMEVDZENJTGFqWUNBQ0FGSUFrZ0MyczJBdUFCSUFVZ0RpQVJheUlKSUJJZ0JrR01LV3dnQjJ0cUlnZHFRUXQxTmdKZ0lBVWdDU0FIYTBFTGRUWUN3QUVnQlNBUUlBeHJJZ2NnRmlBR1FaUU9iQ0FYYTJvaUJtcEJDM1UyQW9BQklBVWdCeUFHYTBFTGRUWUNvQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NFRUJhaUlJUVFoSERRQUxJQmxCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NEQ0lJSUFBb0Fod2lDbW9oQmlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlDVUdkeVFCc2FpSVRJQUFvQWdnaUN5QUFLQUlZSWhCcVFabzFiQ0lNSUF0QjhTQnNhaUlSYWlJTklBQW9BaFJCRFhRaUN5QUlJQXBySWdwQjR4TnNJZzVxSWhJZ0JrSHZQR3dpRkNBQUtBSUVJZ2hCczlrQWJHcHFJZzlxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUEwZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdCeUFKUVlSa2JHb2lEU0FNSUJCQjNQUitiR29pRUdvaURDQUlRZFBRQUd3Z0JrSFBKV3dpQm1zZ0N5QU9heUFLUVF4MGF5SU9heUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBTUlBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1VHK3BYOXNhaUlISUFnZ0NtdEJEWFFnQzJzaUNXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCeUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCQnJJZ2NnRGlBSVFZd3BiQ0FHYTJvaUJtcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBVElCRnJJZ1lnRWlBSVFaUU9iQ0FVYTJvaUNHcEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRlNRR0M5NEpBUmwvSXdZaEdTTUdRZUFDYWlRR0lBQW9BdEFDSVIwZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdFZ0lBRkJRR3NvQWdCc0lnbHJRY2tiYkNFVUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloWWdDU0FDTGdGZ0lBRW9Bc0FCYkNJSGFpSVFJQVpySWhkQjdOWUFiR29oRGlBVUlBWWdCMnRCL3FJQmJDQU9haUlSSUFaQnRJdC9iR3BxSVFvZ0FpNEJjQ0FCS0FMZ0FXd2lDeUFDTGdGUUlBRW9BcUFCYkNJTklBSXVBUkFnQVNnQ0lHd2lDQ0FDTGdFd0lBRW9BbUJzSWc5cUloTnFha0hBR1d3aUVpQUlJQXRxUWJnWGJHb2lHQ0FJSUExcVFmUXFiQ0lhSUJOQjZqaHNJaHNnQ0VIMlJHeHFhbW9oQ0NBTklBOXFRY20xZjJ3Z0Vtb2lIQ0FOUWRxemYyd2dHbXBxSVJNZ0JTQVJJQWRCdFljQmJHb2lFU0FJYWtFTGRUWUNBQ0FGSUJFZ0NHdEJDM1UyQXNBQ0lBVWdIQ0FMSUE5cVFmV01mMndpQ0NBUFFkaUVBV3dnRzJwcWFpSVJJQXBxUVF0MU5nSWdJQVVnQ2lBUmEwRUxkVFlDb0FJZ0JVRkFheUFUSUJCQmhiWi9iQ0FPYWlJS0lBZEJ3MDFzYWlJSGFrRUxkVFlDQUNBRklBY2dFMnRCQzNVMkFvQUNJQVVnQ0NBTFFjZUdBV3hxSUJocUlnY2dEaUFVYWlBSlFaR2ZmMnhxSWc1cVFRdDFOZ0pnSUFVZ0RpQUhhMEVMZFRZQzRBRWdCU0FQUVkyaWYyd2dEVUdMd0FCc2FpQUxRWmFVZjJ4cUlCSnFJZ3NnQ2lBR1FibjhBR3dnQ1VIOXBuOXNhbW9pQm1wQkMzVTJBb0FCSUFVZ0JpQUxhMEVMZFRZQ3dBRWdCU0FXSUJkQnY2Vi9iR3BCQzNVMkFxQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWRRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJSUlnOXJRY2tiYkNFT0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWhNZ0R5QUFLQUlZSWdscUloVWdER3NpRmtIczFnQnNhaUVISUE0Z0RDQUphMEgrb2dGc0lBZHFJaEFnREVHMGkzOXNhbW9oQ0NBQUtBSWNJZ1lnQUNnQ0ZDSUxJQUFvQWdRaUJTQUFLQUlNSWcxcUlncHFha0hBR1d3aUZDQUZJQVpxUWJnWGJHb2lGeUFGSUF0cVFmUXFiQ0lTSUFwQjZqaHNJaEVnQlVIMlJHeHFhbW9oQ2lBVUlBc2dEV3BCeWJWL2JHb2lHQ0FTSUF0QjJyTi9iR3BxSVJJZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0VDQUpRYldIQVd4cUloQWdDbXBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRUNBS2EwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQUlJQmdnQmlBTmFrSDFqSDlzSWdvZ0VTQU5RZGlFQVd4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ0NBUWEwRVNka0gvQjNGcUxBQUFPZ0FKSUFVZ0FpQVZRWVcyZjJ3Z0Iyb2lDQ0FKUWNOTmJHb2lDU0FTYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSklCSnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnRG1vZ0QwR1JuMzlzYWlJSklCY2dDaUFHUWNlR0FXeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSklBZHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnREVHNS9BQnNJQTlCL2FaL2JHcHFJZ3dnRkNBTlFZMmlmMndnQzBHTHdBQnNhaUFHUVphVWYyeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQk1nRmtHL3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQzBjTkFBc2dHU1FHQzVrSkFSZC9Jd1loR1NNR1FZQURhaVFHSUFBb0F0QUNJUnNnR1NJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FCS0FLQUFTQUNRVUJyTGdFQVFiSE9BR3hzSWhKcUlRMGdDU0FDTGdFZ0lBRkJRR3NvQWdCc0lncEJEWFFnQVNnQ3dBRWdBaTRCWUVFTmRHd2lEbXNpRUdvaEVTQUZJQTBnQ2tHMjF3QnNJQTVxSWhkcUloTWdBaTRCY0NBQktBTGdBV3dpQmlBQ0xnRVFJQUVvQWlCc0lnY2dBaTRCVUNBQktBS2dBV3dpQ0dvaUMycEJqVGRzSWc4Z0MwSGJFR3hxSWhRZ0FpNEJNQ0FCS0FKZ2JDSUxRYy9UQUd3aUdDQUhRZmNSYkdwcUloVnFRUXQxTmdJQUlBVWdFeUFWYTBFTGRUWUM0QUlnQlNBTElBaHJJaE1nQnlBR2F5SVZha0hSSW13aUdpQVZRZjR3YkdvaUZTQVJha0VMZFRZQ0lDQUZJQkVnRld0QkMzVTJBc0FDSUFWQlFHc2dDU0FTYXlJUklBcEJ0aGRzSUE1cklncHFJZzRnRkNBR0lBaHFRWXU5ZjJ3aUVpQUxRYTlkYkNJTElBaEJzS0YvYkdwcWFpSUlha0VMZFRZQ0FDQUZJQTRnQ0d0QkMzVTJBcUFDSUFVZ0VTQUtheUlJSUJJZ0R5QUdRY2JsQUd3Z0dHdHFhaUlLYWtFTGRUWUNZQ0FGSUFnZ0NtdEJDM1UyQW9BQ0lBVWdHaUFUUWQrSmYyeHFJZ2dnQ1NBUWF5SUpha0VMZFRZQ2dBRWdCU0FKSUFoclFRdDFOZ0xnQVNBRklBMGdGMnNpQ1NBUElBc2dCMEhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdLZ0FTQUZJQWtnQm10QkMzVTJBc0FCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFiUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFRUd4emdCc0lndHFJUWdnQmlBQUtBSUlJZzFCRFhRZ0FDZ0NHRUVOZENJS2F5SVdhaUVPSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFnZ0RVRzIxd0JzSUFwcUloSnFJaEFnQUNnQ0hDSU1JQUFvQWdRaUNTQUFLQUlVSWdkcUlnOXFRWTAzYkNJUklBOUIyeEJzYWlJWElBQW9BZ3dpRDBIUDB3QnNJaE1nQ1VIM0VXeHFhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBUUlCUnJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQTRnQ1NBTWF5SVFJQThnQjJzaUZHcEIwU0pzSWhnZ0VFSCtNR3hxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBNGdFR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnQmlBTGF5SU9JQTFCdGhkc0lBcHJJZzFxSWdvZ0Z5QUhJQXhxUVl1OWYyd2lDeUFQUWE5ZGJDSVBJQWRCc0tGL2JHcHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBS0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQTRnRFdzaUJ5QUxJQkVnREVIRzVRQnNJQk5yYW1vaURXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQUlJQVVnQWlBR0lCWnJJZ1lnR0NBVVFkK0pmMnhxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBWWdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0NBU2F5SUdJQkVnRHlBSlFkeFViR29nREVHTWdYOXNhbW9pREdwQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0JpQU1hMEVTZGtIL0IzRnFMQUFBT2dBR0lBQkJJR29oQUNBQlFRRnFJZ0ZCREVjTkFBc2dHU1FHQyt3S0FSaC9Jd1loR1NNR1FhQURhaVFHSUFBb0F0QUNJUndnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlFTklBSXVBUkFnQVNnQ0lHd2lEaUFDTGdFd0lBRW9BbUJzSWdocVFkRFVBR3doQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloRWdCaUFIYXlJS1Faa0diR29pRHlBTlFmbkpBR3dpRWlBQ0xnRWdJQUZCUUdzb0FnQnNJZ1pCOGRjQWJHcHFJaE1nRGlBQ0xnRndJQUVvQXVBQmJDSUxhaUlYUVlJOGJDSVVJQTRnQWk0QlVDQUJLQUtnQVd3aUIycEJ2c29BYkNJVklBa2dEa0hiL241c2FtcHFJaFpxUVF0MU5nSUFJQVVnRXlBV2EwRUxkVFlDZ0FNZ0JTQUlJQXRxUWNLMWYyd2lFeUFISUFocVFhdHFiQ0lXSUFoQnl6VnNJQWxxYW1vaUNTQVJJQXBCbFI5c2FpSVlJQVpCNE1NQWJDQU5RYUFVYkNJYWEyb2lHMnBCQzNVMkFpQWdCU0FiSUFsclFRdDFOZ0xnQWlBRlFVQnJJQWNnQzJwQitGVnNJZ2tnRmlBSFFiR2JmMnhxSUJWcWFpSVZJQThnQmtHTUlHd2dFbXRxSWc5cVFRdDFOZ0lBSUFVZ0R5QVZhMEVMZFRZQ3dBSWdCU0FUSUF0QmxJMEJiR29nRkdvZ0NXb2lDU0FSSUFwQmdrUnNhaUlQSUFaQmpIVnNJQTFCOGh0c0lnMXJhaUlTYWtFTGRUWUNZQ0FGSUJJZ0NXdEJDM1UyQXFBQ0lBVWdDRUdXWW13Z0YwSFZGV3dnQnlBSWEwR0NQR3hxSWdnZ0RrR3pGR3hxYWlJT0lBOGdEU0FHUWN0TWJHcHFJZzFxUVF0MU5nS0FBU0FGSUEwZ0RtdEJDM1UyQW9BQ0lBVWdDQ0FIUWM0WWJHb2dDMEcva0g5c2FpSUlJQmdnR2lBR1FlNnZmMnhxYWlJSGFrRUxkVFlDb0FFZ0JTQUhJQWhyUVF0MU5nTGdBU0FGSUJFZ0NpQUdhMEhCMmdCc2FrRUxkVFlDd0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdERUVCYWlJTVFRaEhEUUFMSUJ4QmdIMXFJUUpCQUNFQkEwQWdBQ2dDRUNJTUlBQW9BaGdpQ0dvaEN5QUFLQUlFSWdjZ0FDZ0NEQ0lHYWtIUTFBQnNJUW9nQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEU0FNSUFockloRkJtUVpzYWlJSklBdEIrY2tBYkNJUUlBQW9BZ2dpREVIeDF3QnNhbW9pRHlBSElBQW9BaHdpRG1vaUVrR0NQR3dpRXlBSElBQW9BaFFpQ0dwQnZzb0FiQ0lYSUFvZ0IwSGIvbjVzYW1wcUloUnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnRkd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0RTQVJRWlVmYkdvaUR5QU1RZUREQUd3Z0MwR2dGR3dpRkd0cUloVWdCaUFPYWtIQ3RYOXNJaFlnQmlBSWFrR3JhbXdpR0NBS0lBWkJ5elZzYW1wcUlncHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQlVnQ210QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0NTQU1RWXdnYkNBUWEyb2lDaUFJSUE1cVFmaFZiQ0lKSUJjZ0dDQUlRYkdiZjJ4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ2lBUWEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQU5JQkZCZ2tSc2FpSUtJQXhCakhWc0lBdEI4aHRzSWd0cmFpSVFJQk1nRmlBT1FaU05BV3hxYWlBSmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFRSUFsclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBb2dDeUFNUWN0TWJHcHFJZ3NnQmtHV1ltd2dFa0hWRld3Z0NDQUdhMEdDUEd4cUlnWWdCMEd6Rkd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFMSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBOGdGQ0FNUWU2dmYyeHFhaUlISUFZZ0NFSE9HR3hxSUE1QnY1Qi9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJFZ0RHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRMUhEUUFMSUJra0JndkNDZ0VaZnlNR0lSb2pCa0hBQTJva0JpQUFLQUxRQWlFZElCb2lBQ0VGSUFFb0FsUWhBUU5BSUFJdUFYQWdBU2dDNEFGc0loWkJEWFFpQ1NBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaURFSFN6QUJzSWhFZ0JpQUNMZ0V3SUFFb0FtQnNJZ3BxUWJmVkFHd2lFaUFHUWZDM2YyeHFhbW9oQ3lBR0lBcHJJaE5COGgxc0lBbHJJaGdnREVHVU1Hd2lGeUFHUVl1OGYyeHFhaUVRSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTVFjYlJBR3hxSWhRZ0FpNEJJQ0FCUVVCcktBSUFiQ0lOSUFJdUFXQWdBU2dDd0FGc0lnNXFRZUxHQUd3aUZTQU5RYjBSYkdvaUcyb2lHU0FMYWtFTGRUWUNBQ0FGSUJrZ0MydEJDM1UyQXFBRElBVWdCeUFLYWtIdmRXd2dDV3NpQ3lBS1FlNWtiQ0FTYW1vaUVpQUdJQXhCa2hSc2FpSVpJQlVnRGtIOGtYOXNhaUlWYWlJY2FrRUxkVFlDSUNBRklCd2dFbXRCQzNVMkFvQURJQVZCUUdzZ0N5QUhRWW5vZm13Z0VXcHFJZ3NnQmlBTVFjbEhiR29pRVNBTlFhTW5iQ0FPUWVHbmYyeHFJZzFxSWc1cVFRdDFOZ0lBSUFVZ0RpQUxhMEVMZFRZQzRBSWdCU0FUSUFkcklCWnFRUUowSWdzZ0JpQU1RYjZsZjJ4cVFRdDFJZ1pxTmdKZ0lBVWdCaUFMYXpZQ3dBSWdCU0FISUFwclFmalpBR3dpQmlBSFFlYVRmMnhxSUJkcUlBbHFJZ2NnRVNBTmF5SUpha0VMZFRZQ2dBRWdCU0FKSUFkclFRdDFOZ0tnQWlBRklBWWdDa0daSzJ4cUlCaHFJZ2NnR1NBVmF5SUtha0VMZFRZQ29BRWdCU0FLSUFkclFRdDFOZ0tBQWlBRklCUWdHMnNpQnlBUWFrRUxkVFlDd0FFZ0JTQUhJQkJyUVF0MU5nTGdBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSVFRRnFJZ2hCQ0VjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSWNRUTEwSWdvZ0FDZ0NCQ0lGSUFBb0FoUWlDR29pQmtIU3pBQnNJZzRnQlNBQUtBSU1JZ2RxUWJmVkFHd2lEeUFGUWZDM2YyeHFhbW9oRENBRklBZHJJaEZCOGgxc0lBcHJJaElnQmtHVU1Hd2lGaUFGUVl1OGYyeHFhaUVMSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VDSUpRY2JSQUd4cUloY2dBQ2dDQ0NJUUlBQW9BaGdpRFdwQjRzWUFiQ0lUSUJCQnZSRnNhaUlZYWlJVUlBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlFnREd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0JpQUpRWklVYkdvaURDQVRJQTFCL0pGL2JHb2lFMm9pRkNBSElBaHFRZTkxYkNBS2F5SVZJQThnQjBIdVpHeHFhaUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBVUlBOXJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQVlnQ1VISlIyeHFJZzhnRUVHakoyd2dEVUhocDM5c2FpSVFhaUlOSUJVZ0RpQUlRWW5vZm14cWFpSU9ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUE1clFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBWWdDVUcrcFg5c2FpSUdJQW9nRVNBSWEwRU5kR29pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0JpQUphMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFQSUJCcklnWWdGaUFJSUFkclFmalpBR3dpQ1NBS0lBaEI1cE4vYkdwcWFpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFHSUFoclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBd2dFMnNpQ0NBU0lBa2dCMEdaSzJ4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFJSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lCY2dHR3NpQ0NBTGFrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUlJQXRyUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFT1J3MEFDeUFhSkFZTG5nc0JHMzhqQmlFZEl3WkI0QU5xSkFZZ0FDZ0MwQUloSHlBZElnQWhCU0FCS0FKVUlRRURRQ0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlMSUFJdUFXQWdBU2dDd0FGc0lnaEJoR1JzYWlFUklBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lUYXlFSElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJjQ0FCS0FMZ0FXd2lEV3NpRm1wQm1qVnNJaGNnQmtIeElHeHFJUWtnQVNnQ29BRWdBaTRCVUVHeHpnQnNiQ0lPSUFZZ0RXc2lHRUdDMmdCc2FpSVBJQTFCbzUwQmJDQUtRZmFwZjJ3aUdXdHFJUklnRHlBS1FlWktiQ0lhSUFaQjU3aC9iR3BxSVFvZ0JTQVNJQXNnQ0VHZHlRQnNhaUlQSUF3Z0Uyb2lFMEhPMVFCc0loUWdCMEgyQW13aUcycHFJaHhxUVF0MU5nSUFJQVVnSENBU2EwRUxkVFlDd0FNZ0JTQVJJQk5CekRKc0loSWdCMEhRRm13aUhHcHFJaDRnQ1dwQkMzVTJBaUFnQlNBZUlBbHJRUXQxTmdLZ0F5QUZRVUJySUJoQnNjNEFiQ0FPYXlJSklBc2dDRUcrcFg5c2FpSUxJQWRCb0Mxc2FpSUlha0VMZFRZQ0FDQUZJQWdnQ1d0QkMzVTJBb0FESUFVZ0JpQU5ha0hvSkd3aUNDQUdRYmtlYkNBYWFpQU9hMm9pQmlBUklCc2dERUdUM0FCc0lnd2dGR3RxYWlJSmFrRUxkVFlDWUNBRklBa2dCbXRCQzNVMkF1QUNJQVVnSENBUElCSnJhaUlHSUJjZ0ZrSGM5SDVzYWlJSmFrRUxkVFlDZ0FFZ0JTQUdJQWxyUVF0MU5nTEFBaUFGSUFnZ0RpQVphaUFOUWE5SWJHcHFJZ1lnQjBHNVptd2lEU0FQSUJOQmdpTnNJZzVyYWlJSWFrRUxkVFlDb0FFZ0JTQUlJQVpyUVF0MU5nS2dBaUFGSUFvZ0VTQU5JQTRnREd0cWFpSUdha0VMZFRZQ3dBRWdCU0FHSUFwclFRdDFOZ0tBQWlBRklBc2dCMEhBcFg5c2FrRUxkVFlDNEFFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdFRUVCYWlJUVFRaEhEUUFMSUI5QmdIMXFJUUpCQUNFQkEwQWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURpQUFLQUlZSWd0QmhHUnNhaUVOSUFBb0FnZ2lDQ0FBS0FJUUlnOXJJUkFnQUNnQ0JDSUhJQUFvQWd3aUJTQUFLQUljSWdackloTnFRWm8xYkNJVklBZEI4U0JzYWlFTUlBQW9BaFJCc2M0QWJDSVJJQWNnQm1zaUZrR0MyZ0JzYWlJSklBWkJvNTBCYkNBRlFmYXBmMndpRjJ0cUlRb2dDU0FGUWVaS2JDSVlJQWRCNTdoL2JHcHFJUWtnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRGlBTFFaM0pBR3hxSWhJZ0NDQVBhaUlQUWM3VkFHd2lHU0FRUWZZQ2JDSWFhbW9pRkNBS2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVVJQXByUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUEwZ0QwSE1NbXdpQ2lBUVFkQVdiQ0lVYW1vaUd5QU1ha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFiSUF4clFSSjJRZjhIY1dvc0FBQTZBQTBnQlNBQ0lBNGdDMEcrcFg5c2FpSU9JQkJCb0Mxc2FpSUxJQlpCc2M0QWJDQVJheUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBeHJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQTBnR2lBSVFaUGNBR3dpQ3lBWmEycHFJZ2dnQmlBSGFrSG9KR3dpRENBWUlBZEJ1UjVzYWlBUmEyb2lCMnBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ0NBSGEwRVNka0gvQjNGcUxBQUFPZ0FMSUFVZ0FpQVVJQklnQ210cUlnY2dGU0FUUWR6MGZteHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdFRUc1Wm13aUJ5QVNJQTlCZ2lOc0lnaHJhaUlLSUF3Z0VTQVhhaUFHUWE5SWJHcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFvZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FISUFnZ0MydHFhaUlISUFscVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRGlBUVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFUFJ3MEFDeUFkSkFZTDJ3d0JIbjhqQmlFZ0l3WkJnQVJxSkFZZ0FDZ0MwQUloSWlBZ0lnQWhCU0FCS0FKVUlRRURRQ0FDTGdFZ0lBRkJRR3NvQWdCc0loQWdBaTRCWUNBQktBTEFBV3dpRDJzaUVVSFVFV3doRENBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaENpQUdJQUl1QVhBZ0FTZ0M0QUZzSWcxcVFmekZBR3dpRnlBS1FlblBBR3dpRXlBR0lBSXVBVEFnQVNnQ1lHd2lDR3BCenRZQWJDSUxJQVpCMXUxK2JHcHFhaUVPSUFZZ0RXdEJ0amxzSWhrZ0NrSFZLbXdpR0NBR0lBaHJRYU1hYkNJU0lBWkJ3b3AvYkdwcWFpRUtJQWdnRFdvaUJrR3JWV3dpR2lBSElBaHFRZkFJYkNJVUlBaEJ6UVJzSUF0cWFtb2hDeUFHUVpld2Yyd2lHeUFISUFoclFZbmFBR3dpSENBSVFacitBR3dnRW1wcWFpRUlJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lTUWMvVEFHd2lIV29pRlNBUlFlUFlBR3dpRVNBUFFZT2tBV3hxSWg1cUloOGdEbXBCQzNVMkFnQWdCU0FmSUE1clFRdDFOZ0xnQXlBRklBc2dCaUFTUWRFaWJDSU9haUlTSUF3Z0VFSE5PV3hxSWg5cUlpRnFRUXQxTmdJZ0lBVWdJU0FMYTBFTGRUWUN3QU1nQlVGQWF5QUhJQTFxUWJLcGYyd2lDeUFVSUFkQityZC9iR29nRTJwcUloTWdCaUFPYXlJT0lCRWdFRUhDV1d4cUloQnFJaEZxUVF0MU5nSUFJQVVnRVNBVGEwRUxkVFlDb0FNZ0JTQWFJQTFCbU1RQWJHb2dGMm9nQzJvaUN5QUdJQjFySWdZZ0RDQVBRYkJmYkdvaUQyb2lER3BCQzNVMkFtQWdCU0FNSUF0clFRdDFOZ0tBQXlBRklCc2dEVUdGeVFGc2FpQVphaUFOSUFkclFhTWFiQ0lOYWlJTUlBWWdEMnNpQm1wQkMzVTJBb0FCSUFVZ0JpQU1hMEVMZFRZQzRBSWdCU0FjSUFkQitrNXNhaUFZYWlBTmFpSUdJQTRnRUdzaUIycEJDM1UyQXFBQklBVWdCeUFHYTBFTGRUWUN3QUlnQlNBSUlCSWdIMnNpQm1wQkMzVTJBc0FCSUFVZ0JpQUlhMEVMZFRZQ29BSWdCU0FLSUJVZ0htc2lCbXBCQzNVMkF1QUJJQVVnQmlBS2EwRUxkVFlDZ0FJZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRaEhEUUFMSUNKQmdIMXFJUUpCQUNFQkEwQWdBQ2dDQ0NJTklBQW9BaGdpQ0dzaUMwSFVFV3doRUNBQUtBSUVJZ1VnQUNnQ0ZDSUphaUVQSUFVZ0FDZ0NIQ0lHYWtIOHhRQnNJaFlnRDBIcHp3QnNJaEVnQlNBQUtBSU1JZ2RxUWM3V0FHd2lDaUFGUWRidGZteHFhbW9oRENBRklBWnJRYlk1YkNJWElBOUIxU3BzSWhNZ0JTQUhhMEdqR213aURpQUZRY0tLZjJ4cWFtb2hEeUFHSUFkcUlnVkJxMVZzSWhnZ0J5QUpha0h3Q0d3aUVpQUtJQWRCelFSc2FtcHFJUW9nQlVHWHNIOXNJaGtnQ1NBSGEwR0oyZ0JzSWhvZ0RpQUhRWnIrQUd4cWFtb2hEaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUZFSFAwd0JzSWh0cUlod2dDMEhqMkFCc0lnc2dDRUdEcEFGc2FpSWRhaUlWSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCVWdER3RCRW5aQi93ZHhhaXdBQURvQUR5QUZJQUlnQnlBVVFkRWliQ0lNYWlJVUlCQWdEVUhOT1d4cUloVnFJaDRnQ21wQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0hpQUthMEVTZGtIL0IzRnFMQUFBT2dBT0lBVWdBaUFISUF4cklnd2dDeUFOUWNKWmJHb2lEV29pQ2lBR0lBbHFRYktwZjJ3aUN5QVJJQklnQ1VINnQzOXNhbXBxSWhGcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBb2dFV3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQnlBYmF5SUhJQkFnQ0VHd1gyeHFJZ2hxSWhBZ0ZpQVlJQVpCbU1RQWJHcHFJQXRxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lCQWdDbXRCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBSWF5SUhJQmNnR1NBR1FZWEpBV3hxYWlBR0lBbHJRYU1hYkNJR2FpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUFoclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBd2dEV3NpQnlBVElCb2dDVUg2VG14cWFpQUdhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQlFnRldzaUNTQU9ha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFKSUE1clFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lCd2dIV3NpQ1NBUGFrRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQUpJQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFnSkFZTDdnc0JISDhqQmlFWEl3WkJnQUpxSkFZZ0FDZ0MwQUloSUNBWElnQWhCU0FCS0FKVUlRRkJDQ0VJQTBBQ2Z3SkFJQUl1QVJBaUNpQUNMZ0VnSWdaeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUdEQUlGSUFKQlFHc3VBUUFFZjBFQUlRWU1Bd1VnQWk0QlVBUi9RUUFoQmd3RUJTQUNMZ0ZnQkg5QkFDRUdEQVVGSUFJdUFYQUVmMEVBSVFZTUJnVWdCU0FCS0FJQUlBSXVBUUJCQW5Sc0lnWTJBZ0FnQlNBR05nSWdJQVZCUUdzZ0JqWUNBQ0FGSUFZMkFtQWdCU0FHTmdLQUFTQUZJQVkyQXFBQklBVWdCallDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lISUFJdUFUQWdBU2dDWUd3aURXb2lDeUFDTGdGUUlBRW9BcUFCYkNJTUlBb2dBU2dDSUd3aUNtb2lDV3BCb2NzQWJDSVBJQXRCdTRKL2JHb2lDeUFISUFwcVFiTkdiQ0lPSUFkQmpoTnNhbW9oQnlBUElBbEJoR2RzYWlJSklBNGdDa0dMNEFCc2Ftb2hDaUFKSUF3Z0RXcEIvZHQrYkNJSklBeEJzNE1CYkdwcUlRd2dCU0FLSUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc4Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaURtb2lFaUFCUVVCcktBSUFJQVpCRUhSQkVIVnNJZ1lnQWk0QllDQUJLQUxBQVd3aUVXcEIwU0pzSWhNZ0JrSCtNR3hxSWdacUloUnFRUXQxTmdJQUlBVWdGQ0FLYTBFTGRUWUM0QUVnQlNBTElBa2dEVUhVeEFGc2Ftb2lEU0FPSUE5cklnb2dFeUFSUWQrSmYyeHFJZ3RxSWdscVFRdDFOZ0lnSUFVZ0NTQU5hMEVMZFRZQ3dBRWdCVUZBYXlBTUlBb2dDMnNpRFdwQkMzVTJBZ0FnQlNBTklBeHJRUXQxTmdLZ0FTQUZJQWNnRWlBR2F5SUdha0VMZFRZQ1lDQUdJQWRyUVF0MUlRWkJJQXRCQW5RZ0JXb2dCallDQUNBRlFRUnFJUVVnQVVFRWFpRUJJQUpCQW1vaEFpQUlRWDlxSVFZZ0NFRUJTd1JBSUFZaENBd0JDd3NnSUVHQWZXb2hBa0VBSVFFRFFDQUFLQUlJSWcwZ0FDZ0NHQ0lNYXlJT1FkUVJiQ0VLSUFBb0FnUWlCU0FBS0FJVUlnaHFJUkFnQlNBQUtBSWNJZ1pxUWZ6RkFHd2lFaUFRUWVuUEFHd2lFU0FGSUFBb0Fnd2lCMnBCenRZQWJDSUpJQVZCMXUxK2JHcHFhaUVMSUFVZ0JtdEJ0amxzSWhNZ0VFSFZLbXdpRkNBRklBZHJRYU1hYkNJUElBVkJ3b3AvYkdwcWFpRVFJQVlnQjJvaUJVR3JWV3dpR0NBSElBaHFRZkFJYkNJWklBa2dCMEhOQkd4cWFtb2hDU0FGUVpld2Yyd2lHaUFJSUFkclFZbmFBR3dpR3lBUElBZEJtdjRBYkdwcWFpRVBJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnY2dBQ2dDRUNJVlFjL1RBR3dpSEdvaUhTQU9RZVBZQUd3aURpQU1RWU9rQVd4cUloNXFJaFlnQzJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0ZpQUxhMEVTZGtIL0IzRnFMQUFBT2dBUElBVWdBaUFISUJWQjBTSnNJZ3RxSWhVZ0NpQU5RYzA1YkdvaUZtb2lIeUFKYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBZklBbHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQWNnQzJzaUN5QU9JQTFCd2xsc2FpSU5haUlKSUFZZ0NHcEJzcWwvYkNJT0lCRWdHU0FJUWZxM2YyeHFhbW9pRVdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NTQVJhMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUJ4cklnY2dDaUFNUWJCZmJHb2lER29pQ2lBU0lCZ2dCa0dZeEFCc2Ftb2dEbW9pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NpQUphMEVTZGtIL0IzRnFMQUFBT2dBTUlBVWdBaUFISUF4cklnY2dFeUFhSUFaQmhja0JiR3BxSUFZZ0NHdEJveHBzSWdacUlneHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnREd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0N5QU5heUlISUJRZ0d5QUlRZnBPYkdwcUlBWnFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdGU0FXYXlJSUlBOXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWdnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0hTQWVheUlJSUJCcVFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dFR3RCRW5aQi93ZHhhaXdBQURvQUNDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQmNrQmd2VEV3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQUZCQWhBNUlRd2dBa0VDRURraERpQUVLQUlBSWdjaEFpQU1JQTVCZjJvaUVHeEJBWFFnQjJvaEJRTkFJQVlnREVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdCa0VCYWlFR0RBRUxDeUFISVFJZ0RFRi9haUlSUVFGMElBZHFJUVZCQUNFR0EwQWdCaUFPU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnREVFQmRDQUNhaUVDSUF4QkFYUWdCV29oQlNBR1FRRnFJUVlNQVFzTElBUkJrSURJQUdvaEFrRUFJQXhySVJJZ0FDQUJRUUYwUVFKcWFpRU5RUUVoQzBFQUlRVWdERUVCYWtFQmRDQUhhaUVIQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFBa0FnRWtFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dDellDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFMSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBQ3lBTlFRSnFJUTBnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBTmFrRUVhaUVOSUF0QkFXb2hDeUFBSVFVZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lHUmdSQUlBQkJBV29oQVFVZ0FDRUJJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dERFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0RqWUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXZhQ0FFV2Z5TUdJUmdqQmtIZ0FXb2tCaUFBS0FMUUFpRWFJQmdpQUNFRklBRW9BbFFoQVFOQUlBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdnZ0FpNEJZQ0FCS0FMQUFXd2lDV3RCdHpoc0lnd2dBaTRCSUNBQlFVQnJLQUlBYkNJSElBaHJRWklVYkNJU0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnb2dDRUdWaW45c2FtcHFJUTBnQWk0QkVDQUJLQUlnYkNJT0lBSXVBVEFnQVNnQ1lHd2lDMnBCN3p0c0loTWdEaUFMYTBIekNtd2lGR29nQ3lBQ0xnRlFJQUVvQXFBQmJDSUxha0hocDM5c0loVnFJUThnQlNBS0lBY2dDV29pRVVIRzBRQnNhaUlXSUF3Z0NVR0RlMnhxYWlJSklBc2dEbXBCb3lkc0lnNGdFeUFVYTJvaURHcEJDM1UyQWdBZ0JTQUpJQXhyUVF0MU5nTEFBU0FGSUEwZ0QycEJDM1UyQWlBZ0JTQU5JQTlyUVF0MU5nS2dBU0FGUVVCcklCWWdFaUFIUWZIaGZteHFhaUlKSUJVZ0RpQUxRZDczQUd4cWFpSUhha0VMZFRZQ0FDQUZJQWtnQjJ0QkMzVTJBb0FCSUFVZ0NpQUlJQkZyUWNIYUFHeHFRUXQxTmdKZ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQVpCQVdvaUJrRUlSdzBBQ3lBYVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh4QkRYUWlDU0FBS0FJRUlnVWdBQ2dDRkNJR2FpSUhRZExNQUd3aUVDQUZJQUFvQWd3aUNHcEJ0OVVBYkNJTUlBVkI4TGQvYkdwcWFpRU5JQVVnQ0dzaUUwSHlIV3dnQ1dzaUZDQUhRWlF3YkNJU0lBVkJpN3gvYkdwcUlRNGdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRSWdwQnh0RUFiR29pRlNBQUtBSUlJZ3NnQUNnQ0dDSVBha0hpeGdCc0loRWdDMEc5RVd4cUloWnFJaGNnRFdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0Z5QU5hMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUFwQmtoUnNhaUlOSUJFZ0QwSDhrWDlzYWlJUmFpSVhJQVlnQ0dwQjczVnNJQWxySWhrZ0RDQUlRZTVrYkdwcUlneHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQmNnREd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUtRY2xIYkdvaURDQUxRYU1uYkNBUFFlR25mMnhxSWd0cUlnOGdHU0FRSUFaQmllaCtiR3BxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBOGdFR3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQnlBS1FiNmxmMnhxSWdjZ0NTQVRJQVpyUVExMGFpSUtha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFISUFwclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lBd2dDMnNpQnlBU0lBWWdDR3RCK05rQWJDSUtJQWtnQmtIbWszOXNhbXBxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBUmF5SUdJQlFnQ2lBSVFaa3JiR3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBWWdDR3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRlNBV2F5SUdJQTVxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFZZ0RtdEJFblpCL3dkeGFpd0FBRG9BQnlBQVFTQnFJUUFnQVVFQmFpSUJRUWRIRFFBTElCZ2tCZ3VSQndFVmZ5TUdJUlFqQmtIQUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDQ0FCS0FLQUFTQUNRVUJyTGdFQVFhRXRiR3dpREdvaURTQUJRVUJyS0FJQUlBSXVBU0JCc2M0QWJHd2lFV29pQ2lBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQzJwQnRoZHNJZzRnQmlBQ0xnRXdJQUVvQW1Cc0lnZHFRUTEwYWlJU2FrRUxkVFlDQUNBRklBb2dFbXRCQzNVMkFxQUJJQVVnQ0NBTVFYNXNha0VMZFNJSUlBWWdCMnNnQzJ0QkFuUWlCbW8yQWlBZ0JTQUlJQVpyTmdLQUFTQUZRVUJySUEwZ0VXc2lCaUFPSUFzZ0IydEJEWFJxSWd0cVFRdDFOZ0lBSUFVZ0JpQUxhMEVMZFRZQ1lDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FKUVFGcUlnbEJDRWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUdJQUFvQWhCQnNjNEFiQ0lPYWlFUUlBQW9BZ2dpQ0VFTmRDQUFLQUlZUVExMElneHJJaElnQm1vaERTQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0RDQUlRYmJYQUd4cUloVWdFR29pRHlBQUtBSWNJZ2tnQUNnQ0JDSUxJQUFvQWhRaUIyb2lDbXBCalRkc0loRWdDa0hiRUd4cUloWWdBQ2dDRENJS1FjL1RBR3dpRnlBTFFmY1JiR3BxSWhOcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQUNBRklBOGdFMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUxJQVVnRFNBTElBbHJJZzhnQ2lBSGF5SVRha0hSSW13aUdDQVBRZjR3YkdvaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQklBVWdEU0FQYTBFU2RrSC9CM0VnQW1vc0FBQTZBQW9nQlNBSVFiWVhiQ0FNYXlJSUlBWWdEbXNpREdvaURTQVdJQWNnQ1dwQmk3MS9iQ0lPSUFwQnIxMXNJZ29nQjBHd29YOXNhbXBxSWdkcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBMGdCMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUpJQVVnRENBSWF5SUhJQTRnRVNBSlFjYmxBR3dnRjJ0cWFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FISUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQ0NBRklBWWdFbXNpQmlBWUlCTkIzNGwvYkdvaUIycEJFblpCL3dkeElBSnFMQUFBT2dBRUlBVWdCaUFIYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWNnQlNBUUlCVnJJZ1lnRVNBS0lBdEIzRlJzYWlBSlFZeUJmMnhxYWlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRWkhEUUFMSUJRa0JndWNCZ0VTZnlNR0lSUWpCa0dnQVdva0JpQUFLQUxRQWlFV0lCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FpNEJJQ0FCUVVCcktBSUFiQ0lKSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ1pxUWN3eWJDSUtJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZzRnQ1NBR2F5SUpRZEFXYkdvaUJtb2lDeUFDTGdFUUlBRW9BaUJzSWd3Z0FpNEJNQ0FCS0FKZ2JDSVBha0dhTld3aURTQU1RZkVnYkdvaURHcEJDM1UyQWdBZ0JTQUxJQXhyUVF0MU5nS0FBU0FGSUFZZ0Ntc2lCaUFOSUE5QjNQUitiR29pQ21wQkMzVTJBaUFnQlNBR0lBcHJRUXQxTmdKZ0lBVkJRR3NnRGlBSlFjQ2xmMnhxUVF0MU5nSUFJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFkQkFXb2lCMEVJUncwQUN5QVdRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fnd2lCeUFBS0FJY0lnWnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUFvQWhSQkRYUWlDU0FISUFacklnWkI0eE5zSWd0cUlnd2dDRUh2UEd3aUR5QUFLQUlFSWdkQnM5a0FiR3BxSWcwZ0FDZ0NBRUVOZEVHQWdJakFBR29pQ2lBQUtBSVFJZzVCbmNrQWJHb2lGU0FBS0FJSUloQWdBQ2dDR0NJUmFrR2FOV3dpRWlBUVFmRWdiR29pRUdvaUUycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdFeUFOYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWtnQlNBSFFkUFFBR3dnQ0VIUEpXd2lDR3NnQ1NBTGF5QUdRUXgwYXlJTGF5SU5JQW9nRGtHRVpHeHFJaE1nRWlBUlFkejBmbXhxSWhGcUloSnFRUkoyUWY4SGNTQUNhaXdBQURvQUFTQUZJQklnRFd0QkVuWkIvd2R4SUFKcUxBQUFPZ0FJSUFVZ0J5QUdhMEVOZENBSmF5SUpJQW9nRGtHK3BYOXNhaUlHYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUlnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJ5QUZJQk1nRVdzaUNTQUxJQWRCakNsc0lBaHJhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSklBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUZJQXdnQjBHVURtd2dEMnRxSWdjZ0ZTQVFheUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVFnQlNBSUlBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJTQUFRU0JxSVFBZ0FVRUJhaUlCUVFWSERRQUxJQlFrQmd2QkRBRVFmeU1HSVE0akJrR0FBV29rQmlBQUtBTFFBaUVVSUE0aUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd3aUJTQUNMZ0VnSUFGQlFHc29BZ0JzSWdkcVFRSjBJZ2dnQWk0QkVDQUJLQUlnYkNJR0lBSXVBVEFnQVNnQ1lHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNBQ0FBSUFnZ0JtczJBbUFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJZ0lBQkJRR3NnQlNBSGF6WUNBQ0FBSUFJdUFRSWdBU2dDQkd3aUJTQUNMZ0VpSUFFb0FrUnNJZ2RxUVFKMElnZ2dBaTRCRWlBQktBSWtiQ0lHSUFJdUFUSWdBU2dDWkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0JDQUFJQWdnQm1zMkFtUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lrSUFBZ0JTQUhhellDUkNBQUlBSXVBUVFnQVNnQ0NHd2lCU0FDTGdFa0lBRW9Ba2hzSWdkcVFRSjBJZ2dnQWk0QkZDQUJLQUlvYkNJR0lBSXVBVFFnQVNnQ2FHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNDQ0FBSUFnZ0JtczJBbWdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJb0lBQWdCU0FIYXpZQ1NDQUFJQUl1QVFZZ0FTZ0NER3dpQlNBQ0xnRW1JQUVvQWt4c0lnZHFRUUowSWdnZ0FpNEJGaUFCS0FJc2JDSUdJQUl1QVRZZ0FTZ0NiR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRENBQUlBZ2dCbXMyQW13Z0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXNJQUFnQlNBSGF6WUNUQ0FBSUFJdUFRZ2dBU2dDRUd3aUJTQUNMZ0VvSUFFb0FsQnNJZ2RxUVFKMElnZ2dBaTRCR0NBQktBSXdiQ0lHSUFJdUFUZ2dBU2dDY0d3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0VDQUFJQWdnQm1zMkFuQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0l3SUFBZ0JTQUhhellDVUNBQUlBSXVBUW9nQVNnQ0ZHd2lCU0FDTGdFcUlBRW9BbFJzSWdkcVFRSjBJZ2dnQWk0QkdpQUJLQUkwYkNJR0lBSXVBVG9nQVNnQ2RHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNGQ0FBSUFnZ0JtczJBblFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJMElBQWdCU0FIYXpZQ1ZDQUFJQUl1QVF3Z0FTZ0NHR3dpQlNBQ0xnRXNJQUVvQWxoc0lnZHFRUUowSWdnZ0FpNEJIQ0FCS0FJNGJDSUdJQUl1QVR3Z0FTZ0NlR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDR0NBQUlBZ2dCbXMyQW5nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTRJQUFnQlNBSGF6WUNXQ0FBSUFJdUFRNGdBU2dDSEd3aUJTQUNMZ0V1SUFFb0FseHNJZ2RxUVFKMElnZ2dBaTRCSGlBQktBSThiQ0lHSUFJdUFUNGdBU2dDZkd3aUFXcEIwU0pzUVlBSWFpSUNJQVpCL2pCc2FrRUxkU0lHYWpZQ0hDQUFJQWdnQm1zMkFud2dBQ0FGSUFkclFRSjBJZ1VnQWlBQlFkK0pmMnhxUVF0MUlnRnFOZ0k4SUFBZ0JTQUJhellDWENBVVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUN5QUFLQUlNSWdWcUlnWWdBQ2dDRkNJSElBQW9BZ1FpQ0dvaUNtcEJvY3NBYkNJSklBWkJ1NEovYkdvaUR5QUlJQXRxUWJOR2JDSU1JQXRCamhOc2Ftb2hCaUFKSUFwQmhHZHNhaUlMSUF3Z0NFR0w0QUJzYW1vaENDQUxJQVVnQjJwQi9kdCtiQ0lLSUFkQnM0TUJiR3BxSVFjZ0JDQUJRUUowSUFOcUtBSUFhaUlMSUFJZ0FDZ0NBRUdRZ0FGcUlna2dBQ2dDRUNJTWFrRU5kQ0lRSUFBb0FnZ2lEU0FBS0FJWUloRnFRZEVpYkNJU0lBMUIvakJzYWlJTmFpSVRJQWhxUVJKMlFmOEhjV29zQUFBNkFBQWdDeUFDSUJNZ0NHdEJFblpCL3dkeGFpd0FBRG9BQnlBTElBSWdDU0FNYTBFTmRDSUlJQklnRVVIZmlYOXNhaUlKYWlJTUlBOGdDaUFGUWRURUFXeHFhaUlGYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXNnQWlBTUlBVnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0N5QUNJQWdnQ1dzaUJTQUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBc2dBaUFGSUFkclFSSjJRZjhIY1dvc0FBQTZBQVVnQ3lBQ0lCQWdEV3NpQlNBR2FrRVNka0gvQjNGcUxBQUFPZ0FESUFzZ0FpQUZJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFRVJ3MEFDeUFPSkFZTCtRb0JDMzhqQmlFRkl3WkIwQUJxSkFZZ0FDZ0MwQUloQ3lBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSWFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFRZQ0FDQUZJQUVnQUd0QkMzVTJBakFnQlNBSElBaEJmbXhxUVF0MU5nSVlJQVVnQmlnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQnlBR0tBSkVJQUl1QVNKQm9TMXNiQ0lJYWlJQklBWW9BaVFnQWk0QkVrR3h6Z0JzYkNJQWFrRUxkVFlDQkNBRklBRWdBR3RCQzNVMkFqUWdCU0FISUFoQmZteHFRUXQxTmdJY0lBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlCeUFHS0FKSUlBSXVBU1JCb1Mxc2JDSUlhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRUWUNDQ0FGSUFFZ0FHdEJDM1UyQWpnZ0JTQUhJQWhCZm14cVFRdDFOZ0lnSUFVZ0JpZ0NEQ0FDTGdFR1FRMTBiRUdBQ0hJaUJ5QUdLQUpNSUFJdUFTWkJvUzFzYkNJSWFpSUJJQVlvQWl3Z0FpNEJGa0d4emdCc2JDSUFha0VMZFRZQ0RDQUZJQUVnQUd0QkMzVTJBandnQlNBSElBaEJmbXhxUVF0MU5nSWtJQVVnQmlnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQnlBR0tBSlFJQUl1QVNoQm9TMXNiQ0lJYWlJQklBWW9BakFnQWk0QkdFR3h6Z0JzYkNJQWFrRUxkVFlDRUNBRlFVQnJJQUVnQUd0QkMzVTJBZ0FnQlNBSElBaEJmbXhxUVF0MU5nSW9JQVVnQmlnQ0ZDQUNMZ0VLUVExMGJFR0FDSElpQnlBR0tBSlVJQUl1QVNwQm9TMXNiQ0lJYWlJQklBWW9BalFnQWk0QkdrR3h6Z0JzYkNJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFrUWdCU0FISUFoQmZteHFRUXQxSWc4MkFpd2dCQ0FES0FJQWFpSU9JQXRCZ0gxcUlna2dCU2dDQUVFTmRFR0FnSWpBQUdvaUN5QUZLQUlRUWFFdGJDSU1haUlISUFVb0FnaEJzYzRBYkNJSWFpSUJJQVVvQWdRaUNpQUZLQUlVSWcxcVFiWVhiQ0lDSUFvZ0JTZ0NEQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU9JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUE0Z0NTQUxJQXhySUF4cklnRWdDaUFHYXlBTmEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQTRnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RpQUpJQWNnQ0dzaUFTQUNJQTBnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ1JxSWd3Z0NTQUZLQUlZUVExMFFZQ0FpTUFBYWlJTElBVW9BaWhCb1Mxc0lncHFJZ2NnQlNnQ0lFR3h6Z0JzSWdocUlnRWdEeUFGS0FJY0lnMXFRYllYYkNJQ0lBMGdCU2dDSkNJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FNSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBd2dDU0FMSUFwcklBcHJJZ0VnRFNBR2F5QVBhMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUF3Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEQ0FKSUFjZ0NHc2lBU0FDSUE4Z0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRENBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdocUlnb2dDU0FGS0FJd1FRMTBRWUNBaU1BQWFpSUlJQVZCUUdzb0FnQkJvUzFzSWcxcUlnUWdCU2dDT0VHeHpnQnNJZ05xSWdFZ0JTZ0NOQ0lHSUFVb0FrUWlDMnBCdGhkc0lnSWdCaUFGS0FJOElnZHFRUTEwYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFvZ0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBVWdDaUFKSUFnZ0RXc2dEV3NpQVNBR0lBZHJJQXRyUVExMElnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FLSUFrZ0JDQURheUlCSUFJZ0N5QUhhMEVOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQWlBS0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVVrQmd1TEJBRUtmeU1HSVFVakJrRWdhaVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUJpZ0NBR3dpQVNBQ0xnRVFJQVlvQWlCc0lnQnFJZ2cyQWdBZ0JTQUJJQUJyTmdJUUlBVWdBaTRCQWlBR0tBSUViQ0lCSUFJdUFSSWdCaWdDSkd3aUFHb2lDallDQkNBRklBRWdBR3NpQ3pZQ0ZDQUZJQUl1QVFRZ0JpZ0NDR3dpQVNBQ0xnRVVJQVlvQWloc0lnQnFJZ3cyQWdnZ0JTQUJJQUJySWcwMkFoZ2dCU0FDTGdFR0lBWW9BZ3hzSWdFZ0FpNEJGaUFHS0FJc2JDSUFhaUlPTmdJTUlBVWdBU0FBYXlJR05nSWNJQVFnQXlnQ0FHb2lDU0FIUVlCOWFpSUhJQXdnQ0VHRUlHb2lDR3BCRFhRaUFTQUtJQTVxUWRFaWJDSUNJQXBCL2pCc2FpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBa2dCeUFCSUFCclFSQjJRZjhIY1dvc0FBQTZBQU1nQ1NBSElBZ2dER3RCRFhRaUFTQUNJQTVCMzRsL2JHb2lBR3BCRUhaQi93ZHhhaXdBQURvQUFTQUpJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQkNBRktBSVFRWVFnYWlJRElBMXFRUTEwSWdFZ0JpQUxha0hSSW13aUFpQUxRZjR3YkdvaUFHcEJFSFpCL3dkeElBZHFMQUFBT2dBQUlBUWdBU0FBYTBFUWRrSC9CM0VnQjJvc0FBQTZBQU1nQkNBRElBMXJRUTEwSWdFZ0FpQUdRZCtKZjJ4cUlnQnFRUkIyUWY4SGNTQUhhaXdBQURvQUFTQUVJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFVa0JndGhBQ0FFSUFNb0FnQnFJZ01nQUNnQzBBSkJnSDFxSWdBZ0FpNEJBQ0FCS0FKVUlnRW9BZ0JzUVlRZ2FpSUVJQUl1QVFJZ0FTZ0NCR3dpQVdwQkEzWkIvd2R4YWl3QUFEb0FBQ0FESUFRZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM5Y0pBUjUvSXdZaEZpTUdRWUFFYWlRR0lBQW9BdEFDSVNJZ0ZpSUFJUVVnQVNnQ1ZDRUJBMEFnQWk0QklDQUJRVUJyS0FJQWJDSU1JQUl1QVdBZ0FTZ0N3QUZzSWhGcklnOUIxQkZzSVFvZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVZBZ0FTZ0NvQUZzSWdkcUlSQWdCaUFDTGdGd0lBRW9BdUFCYkNJSWFrSDh4UUJzSWhjZ0VFSHB6d0JzSWhRZ0JpQUNMZ0V3SUFFb0FtQnNJZ2xxUWM3V0FHd2lEU0FHUWRidGZteHFhbW9oRGlBR0lBaHJRYlk1YkNJWklCQkIxU3BzSWhnZ0JpQUphMEdqR213aUVpQUdRY0tLZjJ4cWFtb2hFQ0FJSUFscUlnWkJxMVZzSWhvZ0J5QUpha0h3Q0d3aUd5QUpRYzBFYkNBTmFtcHFJUTBnQmtHWHNIOXNJaHdnQnlBSmEwR0oyZ0JzSWgwZ0NVR2EvZ0JzSUJKcWFtb2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdZZ0FrRkFheTRCQUNBQktBS0FBV3dpRWtIUDB3QnNJaDVxSWg4Z0QwSGoyQUJzSWc4Z0VVR0RwQUZzYWlJZ2FpSVZJQTVxUVF0MU5nSUFJQVVnRlNBT2EwRUxkVFlDNEFNZ0JTQU5JQVlnRWtIUkltd2lEbW9pRWlBS0lBeEJ6VGxzYWlJVmFpSWhha0VMZFRZQ0lDQUZJQ0VnRFd0QkMzVTJBc0FESUFWQlFHc2dCeUFJYWtHeXFYOXNJZzBnR3lBSFFmcTNmMnhxSUJScWFpSVVJQVlnRG1zaURpQVBJQXhCd2xsc2FpSU1haUlQYWtFTGRUWUNBQ0FGSUE4Z0ZHdEJDM1UyQXFBRElBVWdHaUFJUVpqRUFHeHFJQmRxSUExcUlnMGdCaUFlYXlJR0lBb2dFVUd3WDJ4cUloRnFJZ3BxUVF0MU5nSmdJQVVnQ2lBTmEwRUxkVFlDZ0FNZ0JTQWNJQWhCaGNrQmJHb2dHV29nQ0NBSGEwR2pHbXdpQ0dvaUNpQUdJQkZySWdacVFRdDFOZ0tBQVNBRklBWWdDbXRCQzNVMkF1QUNJQVVnSFNBSFFmcE9iR29nR0dvZ0NHb2lCaUFPSUF4cklnZHFRUXQxTmdLZ0FTQUZJQWNnQm10QkMzVTJBc0FDSUFVZ0NTQVNJQlZySWdacVFRdDFOZ0xBQVNBRklBWWdDV3RCQzNVMkFxQUNJQVVnRUNBZklDQnJJZ1pxUVF0MU5nTGdBU0FGSUFZZ0VHdEJDM1UyQW9BQ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXRCQVdvaUMwRUlSdzBBQ3lBaVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUJTQUFLQUlNSWd0cUlnZ2dBQ2dDRkNJR0lBQW9BZ1FpQjJvaUNXcEJvY3NBYkNJTUlBaEJ1NEovYkdvaUVTQUZJQWRxUWJOR2JDSUtJQVZCamhOc2Ftb2hDQ0FNSUFsQmhHZHNhaUlGSUFvZ0IwR0w0QUJzYW1vaEJ5QUZJQVlnQzJwQi9kdCtiQ0lKSUFaQnM0TUJiR3BxSVFZZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUdRZ0FGcUlnd2dBQ2dDRUNJS2FrRU5kQ0lRSUFBb0FnZ2lEaUFBS0FJWUlnMXFRZEVpYkNJVElBNUIvakJzYWlJT2FpSVBJQWRxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdEQ0FLYTBFTmRDSUhJQk1nRFVIZmlYOXNhaUlNYWlJS0lCRWdDU0FMUWRURUFXeHFhaUlMYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBS0lBdHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnREdzaUN5QUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUFaclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCQWdEbXNpQ3lBSWFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUxJQWhyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFXSkFZTG5RZ0JHWDhqQmlFWEl3WkJrQU5xSkFZZ0FDZ0MwQUloSFNBWElnQWhCU0FCS0FKVUlRRURRQ0FDTGdGd0lBRW9BdUFCYkNJVFFRMTBJZ3NnQWk0QkVDQUJLQUlnYkNJSElBSXVBVkFnQVNnQ29BRnNJZ1pxSWdwQjBzd0FiQ0lQSUFjZ0FpNEJNQ0FCS0FKZ2JDSUlha0czMVFCc0loQWdCMEh3dDM5c2FtcHFJUWtnQnlBSWF5SVlRZklkYkNBTGF5SVpJQXBCbERCc0loUWdCMEdMdkg5c2Ftb2hFU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdjZ0FrRkFheTRCQUNBQktBS0FBV3dpQ2tIRzBRQnNhaUlhSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJT2FrSGl4Z0JzSWhVZ0RFRzlFV3hxSWh0cUloWWdDV3BCQzNVMkFnQWdCU0FXSUFsclFRdDFOZ0xzQWlBRklBWWdDR3BCNzNWc0lBdHJJZ2tnQ0VIdVpHd2dFR3BxSWhBZ0J5QUtRWklVYkdvaUZpQVZJQTVCL0pGL2JHb2lGV29pSEdwQkMzVTJBaHdnQlNBY0lCQnJRUXQxTmdMUUFpQUZJQWtnQmtHSjZINXNJQTlxYWlJSklBY2dDa0hKUjJ4cUlnOGdERUdqSjJ3Z0RrSGhwMzlzYWlJTWFpSU9ha0VMZFRZQ09DQUZJQTRnQ1d0QkMzVTJBclFDSUFVZ0dDQUdheUFUYWtFQ2RDSUpJQWNnQ2tHK3BYOXNha0VMZFNJSGFqWUNWQ0FGSUFjZ0NXczJBcGdDSUFVZ0JpQUlhMEg0MlFCc0lnY2dCa0htazM5c2FpQVVhaUFMYWlJR0lBOGdER3NpQzJwQkMzVTJBbkFnQlNBTElBWnJRUXQxTmdMOEFTQUZJQWNnQ0VHWksyeHFJQmxxSWdZZ0ZpQVZheUlJYWtFTGRUWUNqQUVnQlNBSUlBWnJRUXQxTmdMZ0FTQUZJQm9nRzJzaUJpQVJha0VMZFRZQ3FBRWdCU0FHSUJGclFRdDFOZ0xFQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQU5RUUZxSWcxQkIwY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUlRSWcwZ0FDZ0NHQ0lHYTBHM09Hd2lEQ0FBS0FJSUlnZ2dEV3RCa2hSc0lnNGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QU5RWldLZjJ4cWFtb2hDeUFBS0FJRUlnb2dBQ2dDRENJRmFrSHZPMndpRWlBS0lBVnJRZk1LYkNJVGFpQUZJQUFvQWhRaUNXcEI0YWQvYkNJUGFpRVJJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWNnQmlBSWFpSVFRY2JSQUd4cUloUWdEQ0FHUVlON2JHcHFJZ1lnQ1NBS2FrR2pKMndpQ2lBU0lCTnJhaUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBR0lBeHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQXNnRVdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFVSUE0Z0NFSHg0WDVzYW1vaUJpQVBJQW9nQ1VIZTl3QnNhbW9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUEwZ0VHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJ4cUlRQWdBVUVCYWlJQlFRNUhEUUFMSUJja0Jndm5CZ0VYZnlNR0lSUWpCa0dnQW1va0JpQUFLQUxRQWlFYklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdnZ0FTZ0NnQUVnQWtGQWF5NEJBRUd4emdCc2JDSVNhaUVRSUFnZ0FpNEJJQ0FCUVVCcktBSUFiQ0lLUVExMElBRW9Bc0FCSUFJdUFXQkJEWFJzSWd0ckloWnFJUXdnQlNBUUlBcEJ0dGNBYkNBTGFpSVhhaUlUSUFJdUFYQWdBU2dDNEFGc0lnWWdBaTRCRUNBQktBSWdiQ0lOSUFJdUFWQWdBU2dDb0FGc0lnZHFJZzVxUVkwM2JDSVJJQTVCMnhCc2FpSVlJQUl1QVRBZ0FTZ0NZR3dpRGtIUDB3QnNJaGtnRFVIM0VXeHFhaUlQYWtFTGRUWUNBQ0FGSUJNZ0QydEJDM1UyQW9nQ0lBVWdEaUFIYXlJVElBMGdCbXNpRDJwQjBTSnNJaG9nRDBIK01HeHFJZzhnREdwQkMzVTJBaGdnQlNBTUlBOXJRUXQxTmdMd0FTQUZJQWdnRW1zaURDQUtRYllYYkNBTGF5SUthaUlMSUJnZ0JpQUhha0dMdlg5c0loSWdEa0d2WFd3aURpQUhRYkNoZjJ4cWFtb2lCMnBCQzNVMkFqQWdCU0FMSUFkclFRdDFOZ0xZQVNBRklBd2dDbXNpQnlBU0lCRWdCa0hHNVFCc0lCbHJhbW9pQ21wQkMzVTJBa2dnQlNBSElBcHJRUXQxTmdMQUFTQUZJQm9nRTBIZmlYOXNhaUlISUFnZ0Ztc2lDR3BCQzNVMkFtQWdCU0FJSUFkclFRdDFOZ0tvQVNBRklCQWdGMnNpQ0NBUklBNGdEVUhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdKNElBVWdDQ0FHYTBFTGRUWUNrQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFaSERRQUxJQnRCZ0gxcUlRSkJBQ0VCQTBBZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFRYUV0YkNJSmFpSVFJQUFvQWdoQnNjNEFiQ0lLYWlJTElBQW9BZ1FpQmlBQUtBSVVJZ2hxUWJZWGJDSU1JQVlnQUNnQ0RDSU5ha0VOZEdvaUVXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJJQWxySWdrZ0JpQU5heUFJYTBFTmRDSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFKSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lCQWdDbXNpQ1NBTUlBZ2dEV3RCRFhScUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQWtnQm10QkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJocUlRQWdBVUVCYWlJQlFReEhEUUFMSUJRa0JndjlCUUVWZnlNR0lSUWpCa0hRQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFJdUFUQWdBU2dDWUd3aUJpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWlFSElBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FDUVVCckxnRUFJQUVvQW9BQmJDSUxRWjNKQUd4cUlnMGdBaTRCSUNBQlFVQnJLQUlBYkNJT0lBSXVBV0FnQVNnQ3dBRnNJZzlxUVpvMWJDSVFJQTVCOFNCc2FpSU9haUlSSUFZZ0NHc2lDRUhqRTJ3aUVpQUNMZ0ZRSUFFb0FxQUJiQ0lWUVExMEloTnFJaFlnQjBIdlBHd2lGeUFDTGdFUUlBRW9BaUJzSWdaQnM5a0FiR3BxSWhocVFRdDFOZ0lBSUFVZ0VTQVlhMEVMZFRZQ3RBRWdCU0FKSUF0QmhHUnNhaUlSSUJBZ0QwSGM5SDVzYWlJUGFpSVFJQVpCMDlBQWJDQUhRYzhsYkNJSGF5QVRJQkpySUFoQkRIUnJJaEpySWhOcVFRdDFOZ0lVSUFVZ0VDQVRhMEVMZFRZQ29BRWdCU0FKSUF0QnZxVi9iR3BCQzNVaUNTQUdJQlZySUFoclFRSjBJZ3RxTmdJb0lBVWdDU0FMYXpZQ2pBRWdCU0FSSUE5cklna2dFaUFHUVl3cGJDQUhhMm9pQjJwQkMzVTJBandnQlNBSklBZHJRUXQxTmdKNElBVWdEU0FPYXlJSElCWWdCa0dVRG13Z0YydHFJZ1pxUVF0MU5nSlFJQVVnQnlBR2EwRUxkVFlDWkNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUtRUUZxSWdwQkJVY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlJSWdvZ0FDZ0NFQ0lHYWtITU1td2lCeUFBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQW9nQm1zaUNrSFFGbXhxSWdacUlnc2dBQ2dDQkNJSUlBQW9BZ3dpREdwQm1qVnNJZzBnQ0VIeElHeHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFIYXlJR0lBMGdERUhjOUg1c2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFHSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFCQkZHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZDUUdDK2dQQVJCL0l3WWhDQ01HUVlBQmFpUUdJQUFvQXRBQ0lSQWdDQ0VBSUFFb0FsUWhBVUVFSVFZRFFBSi9Ba0FnQWk0QkVDSUxJQUl1QVNBaUJYSkIvLzhEY1FSL0RBRUZJQUl1QVRBRWYwRUFJUVVNQWdVZ0FrRkFheTRCQUFSL1FRQWhCUXdEQlNBQ0xnRlFCSDlCQUNFRkRBUUZJQUl1QVdBRWYwRUFJUVVNQlFVZ0FpNEJjQVIvUVFBaEJRd0dCU0FBSUFFb0FnQWdBaTRCQUVFQ2RHd2lCVFlDQUNBQUlBVTJBaEFnQUNBRk5nSWdJQUFnQlRZQ01DQUFRVUJySUFVMkFnQWdBQ0FGTmdKUUlBQWdCVFlDWUVFY0N3c0xDd3NMREFFTElBSXVBWEFnQVNnQzRBRnNJZ2NnQWk0Qk1DQUJLQUpnYkNJSmFpSU5JQUl1QVZBZ0FTZ0NvQUZzSWdvZ0N5QUJLQUlnYkNJTGFpSU1ha0doeXdCc0lnNGdEVUc3Z245c2FpSU5JQWNnQzJwQnMwWnNJZzhnQjBHT0UyeHFhaUVISUE0Z0RFR0VaMnhxSWd3Z0R5QUxRWXZnQUd4cWFpRUxJQXdnQ1NBS2FrSDkyMzVzSWd3Z0NrR3pnd0ZzYW1vaENpQUFJQXNnQVNnQ2dBRWdBa0ZBYXk0QkFFRU5kR3dpRGlBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUGFpSVJJQUZCUUdzb0FnQWdCVUVRZEVFUWRXd2lCU0FDTGdGZ0lBRW9Bc0FCYkNJU2FrSFJJbXdpRXlBRlFmNHdiR29pQldvaUZHcEJDM1UyQWdBZ0FDQVVJQXRyUVF0MU5nSndJQUFnRFNBTUlBbEIxTVFCYkdwcUlna2dEeUFPYXlJTElCTWdFa0hmaVg5c2FpSU5haUlNYWtFTGRUWUNFQ0FBSUF3Z0NXdEJDM1UyQW1BZ0FDQUtJQXNnRFdzaUNXcEJDM1UyQWlBZ0FDQUpJQXByUVF0MU5nSlFJQUFnQnlBUklBVnJJZ1ZxUVF0MU5nSXdJQVVnQjJ0QkMzVWhCVUVRQzBFQ2RDQUFhaUFGTmdJQUlBQkJCR29oQUNBQlFRUnFJUUVnQWtFQ2FpRUNJQVpCZjJvaEJTQUdRUUZMQkVBZ0JTRUdEQUVMQ3lBRUlBTW9BZ0JxSWdFZ0VFR0FmV29pQUNBSUtBSUFRWkNBQVdvaUFpQUlLQUlJSWdacVFRMTBJZ1VnQ0NnQ0JDSUhJQWdvQWd3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJRWFpSUJJQUFnQ0NnQ0VFR1FnQUZxSWdJZ0NDZ0NHQ0lHYWtFTmRDSUZJQWdvQWhRaUJ5QUlLQUljSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUFTQUFJQWdvQWlCQmtJQUJhaUlDSUFnb0FpZ2lCbXBCRFhRaUJTQUlLQUlrSWdjZ0NDZ0NMQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdFZ0FDQUlLQUl3UVpDQUFXb2lBaUFJS0FJNElnWnFRUTEwSWdVZ0NDZ0NOQ0lISUFnb0Fqd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSVFhaUlCSUFBZ0NFRkFheWdDQUVHUWdBRnFJZ0lnQ0NnQ1NDSUdha0VOZENJRklBZ29Ba1FpQnlBSUtBSk1JZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NGR29pQVNBQUlBZ29BbEJCa0lBQmFpSUNJQWdvQWxnaUJtcEJEWFFpQlNBSUtBSlVJZ2NnQ0NnQ1hDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FoaHFJZ0VnQUNBSUtBSmdRWkNBQVdvaUFpQUlLQUpvSWdacVFRMTBJZ1VnQ0NnQ1pDSUhJQWdvQW13aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJY2FpSUJJQUFnQ0NnQ2NFR1FnQUZxSWdJZ0NDZ0NlQ0lEYWtFTmRDSUVJQWdvQW5RaUJpQUlLQUo4SWdWcVFkRWliQ0lISUFaQi9qQnNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQTJ0QkRYUWlBaUFISUFWQjM0bC9iR29pQTJwQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQURhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBZ2tCZ3VnQ3dFTGZ5TUdJUVVqQmtIUUFHb2tCaUFBS0FMUUFpRVBJQVVnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSU9JQWdvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lLYWlJR0lBaEJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSUphaUlCSUFJdUFSQWdDQ2dDSUd3aUN5QUNMZ0ZRSUFnb0FxQUJiQ0lNYWtHMkYyd2lCeUFMSUFJdUFUQWdDQ2dDWUd3aURXcEJEWFJxSWdCcVFRdDFOZ0lBSUFVZ0FTQUFhMEVMZFRZQ1BDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBMXJJQXhyUVFKMElnQnFOZ0lNSUFVZ0FTQUFhellDTUNBRklBWWdDV3NpQVNBSElBd2dEV3RCRFhScUlnQnFRUXQxTmdJWUlBVWdBU0FBYTBFTGRUWUNKQ0FGSUFnb0FrUWdBaTRCSWtHeHpnQnNiQ0lPSUFnb0FnUWdBaTRCQWtFTmRHeEJnQWh5SWdvZ0NDZ0NoQUVnQWk0QlFrR2hMV3hzSWdacUlnbHFJZ0VnQWk0QkVpQUlLQUlrYkNJTElBSXVBVklnQ0NnQ3BBRnNJZ3hxUWJZWGJDSUhJQXNnQWk0Qk1pQUlLQUprYkNJTmFrRU5kR29pQUdwQkMzVTJBZ1FnQlVGQWF5QUJJQUJyUVF0MU5nSUFJQVVnQ3lBTmF5QU1hMEVDZENJQklBb2dCa0YrYkdwQkMzVWlBR28yQWhBZ0JTQUFJQUZyTmdJMElBVWdDU0FPYXlJQklBY2dEQ0FOYTBFTmRHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0lvSUFVZ0NDZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaURpQUlLQUtJQVNBQ0xnRkVRYUV0Ykd3aUNtb2lCaUFJS0FKSUlBSXVBU1JCc2M0QWJHd2lDV29pQVNBQ0xnRVVJQWdvQWloc0lnc2dBaTRCVkNBSUtBS29BV3dpREdwQnRoZHNJZ2NnQ3lBQ0xnRTBJQWdvQW1oc0lnSnFRUTEwYWlJQWFrRUxkU0lOTmdJSUlBVWdBU0FBYTBFTGRUWUNSQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQUpySUF4clFRSjBJZ0JxSWdvMkFoUWdCU0FCSUFCck5nSTRJQVVnQmlBSmF5SUJJQWNnRENBQ2EwRU5kR29pQUdwQkMzVWlDVFlDSUNBRklBRWdBR3RCQzNVMkFpd2dCQ0FES0FJQWFpSUhJQTlCZ0gxcUlnWWdCU2dDQUVFTmRFR0FnSWpBQUdvaUFpQU5RYUV0YkdvaUFTQUZLQUlFUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0JpQUNJQTFCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ1JxSWdjZ0JpQUZLQUlNUVExMFFZQ0FpTUFBYWlJQ0lBcEJvUzFzYWlJQklBVW9BaEJCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBY2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQnlBR0lBSWdDa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NDR29pQnlBR0lBVW9BaGhCRFhSQmdJQ0l3QUJxSWdJZ0NVR2hMV3hxSWdFZ0JTZ0NIRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFZZ0FpQUpRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSU1haUlKSUFZZ0JTZ0NKRUVOZEVHQWdJakFBR29pQnlBRktBSXNJZ0pCb1Mxc2FpSUJJQVVvQWloQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWtnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0NTQUdJQWNnQWtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDRUdvaUNTQUdJQVVvQWpCQkRYUkJnSUNJd0FCcUlnY2dCU2dDT0NJQ1FhRXRiR29pQVNBRktBSTBRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWtnQmlBSElBSkJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FoUnFJZ1FnQmlBRktBSThRUTEwUVlDQWlNQUFhaUlESUFVb0FrUWlBa0doTFd4cUlnRWdCVUZBYXlnQ0FFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQkNBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQVlnQXlBQ1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCU1FHQzdJRUFRcC9Jd1loQmlNR1FTQnFKQVlnQUNnQzBBSWhEQ0FHSUFJdUFRQWdBU2dDVkNJSEtBSUFiQ0lKSUFJdUFTQWdCMEZBYXlnQ0FHd2lDbXBCRFhRaUFTQUNMZ0VRSUFjb0FpQnNJZ0FnQWk0Qk1DQUhLQUpnYkNJRmFrSFJJbXdpQ0NBQVFmNHdiR29pQUdvaURUWUNBQ0FHSUFFZ0FHczJBaGdnQmlBSklBcHJRUTEwSWdFZ0NDQUZRZCtKZjJ4cUlnQnFJZzQyQWdnZ0JpQUJJQUJySWdrMkFoQWdCaUFDTGdFQ0lBY29BZ1JzSWdvZ0FpNEJJaUFIS0FKRWJDSUZha0VOZENJQklBSXVBUklnQnlnQ0pHd2lBQ0FDTGdFeUlBY29BbVJzSWdocVFkRWliQ0lDSUFCQi9qQnNhaUlBYWlJTE5nSUVJQVlnQVNBQWF5SUhOZ0ljSUFZZ0NpQUZhMEVOZENJQklBSWdDRUhmaVg5c2FpSUFhaUlJTmdJTUlBWWdBU0FBYXlJQ05nSVVJQVFnQXlnQ0FHb2lBU0FNUVlCOWFpSUZJQXNnRFVHQWdJSVFhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBTGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JDQURLQUlFYWlJQklBNUJnSUNDRUdvaUFDQUlha0VRZGtIL0IzRWdCV29zQUFBNkFBQWdBU0FBSUFoclFSQjJRZjhIY1NBRmFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdFZ0NVR0FnSUlRYWlJQUlBSnFRUkIyUWY4SGNTQUZhaXdBQURvQUFDQUJJQUFnQW10QkVIWkIvd2R4SUFWcUxBQUFPZ0FCSUFRZ0F5Z0NER29pQVNBR0tBSVlRWUNBZ2hCcUlnQWdCMnBCRUhaQi93ZHhJQVZxTEFBQU9nQUFJQUVnQUNBSGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JpUUdDMmNCQVg4Z0JDQURLQUlBYWlBQUtBTFFBa0dBZldvaUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd4QmhDQnFJZ1VnQWk0QkVDQUJLQUlnYkNJQmFrRURka0gvQjNGcUxBQUFPZ0FBSUFRZ0F5Z0NCR29nQlNBQmEwRURka0gvQjNFZ0FHb3NBQUE2QUFBTDhRZ0JFWDhqQmlFU0l3WkJnQUpxSkFZZ0FDZ0MwQUloRlNBU0lnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFDTGdFQUlBRW9BZ0JzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBSElBRW9BaUJzSWdjZ0FpNEJjQ0FCS0FMZ0FXd2lDR29pQ3lBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCVUNBQktBS2dBV3dpRFdvaURtdEI2Z0pzUVFoMUlBMGdDbXNpQ2lBSElBaHJJZzFxUWRrRGJFRUlkU0lQSUFwQm5RVnNRUWgxYXlBTElBNXFJZ2hySWd0cklRY2dCaUFDTGdFQUlBRW9BZ0JzSWdvZ0FrRkFheTRCQUNBQktBS0FBV3dpRG1vaUVDQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0loRWdBaTRCWUNBQktBTEFBV3dpRTJvaUJXb2lGQ0FJYWpZQ0FDQUdJQlFnQ0dzMkF1QUJJQVlnQ3lBS0lBNXJJZ2dnRVNBVGEwSHFBbXhCQ0hVZ0JXc2lDbW9pRG1vMkFpQWdCaUFPSUF0ck5nTEFBU0FHUVVCcklBY2dDQ0FLYXlJSWFqWUNBQ0FHSUFnZ0IyczJBcUFCSUFZZ0R5QU5RWlVDYkVFSWRXc2dCMnNpQnlBUUlBVnJJZ1ZxTmdKZ0lBVWdCMnNoQlVFZ0MwRUNkQ0FHYWlBRk5nSUFJQVpCQkdvaEJpQUJRUVJxSVFFZ0FrRUNhaUVDSUFsQmYyb2hCU0FKUVFGTEJFQWdCU0VKREFFTEN5QVZRWUI5YWlFSlFRQWhBUU5BSUFRZ0FVRUNkQ0FEYWlnQ0FHb2hCaUFBS0FJQVFaQ0FBV29oQlFKQUFrQWdBQ2dDQkNJSElBQW9BZ2dpQW5JTkFDQUFLQUlNQkVCQkFDRUNEQUVGSUFBb0FoQUVRRUVBSVFJTUFnVWdBQ2dDRkFSQVFRQWhBZ3dEQlNBQUtBSVlCRUJCQUNFQ0RBUUZJQUFvQWh3RVFFRUFJUUlNQlFVZ0JpQUpJQVZCQlhaQi93ZHhhaXdBQUNJQ09nQUFJQVpCQVdvZ0FrRUhFRVVhQ3dzTEN3c01BUXNnQnlBQUtBSWNJZ2hxSWdzZ0FDZ0NGQ0lNSUFBb0Fnd2lDbW9pRFd0QjZnSnNRUWgxSUF3Z0Ntc2lEQ0FISUFocklncHFRZGtEYkVFSWRTSU9JQXhCblFWc1FRaDFheUFMSUExcUlnaHJJZ3RySVFjZ0JpQUpJQVVnQUNnQ0VDSU5haUlQSUFBb0FoZ2lFQ0FDYWlJTWFpSVJJQWhxUVFWMlFmOEhjV29zQUFBNkFBQWdCaUFKSUJFZ0NHdEJCWFpCL3dkeGFpd0FBRG9BQnlBR0lBa2dCU0FOYXlJRklBSWdFR3RCNmdKc1FRaDFJQXhySWdKcUlnZ2dDMnBCQlhaQi93ZHhhaXdBQURvQUFTQUdJQWtnQ0NBTGEwRUZka0gvQjNGcUxBQUFPZ0FHSUFZZ0NTQUZJQUpySWdJZ0IycEJCWFpCL3dkeGFpd0FBRG9BQWlBR0lBa2dBaUFIYTBFRmRrSC9CM0ZxTEFBQU9nQUZJQVlnQ1NBUElBeHJJZ0lnRGlBS1FaVUNiRUVJZFdzZ0Iyc2lCV3BCQlhaQi93ZHhhaXdBQURvQUF5QUdJQWtnQWlBRmEwRUZka0gvQjNGcUxBQUFPZ0FFQ3lBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCSWtCZ3ZyQndJSGZ3eDlJd1loQ0NNR1FZQUNhaVFHSUFBb0F0QUNJUXNnQ0NJQUlRVWdBU2dDVkNFQlFRZ2hCd05BQW44Q1FDQUNMZ0VRSWdvZ0FpNEJJQ0lHY2tILy93TnhCSDhNQVFVZ0FpNEJNQVIvUVFBaEJnd0NCU0FDUVVCckxnRUFCSDlCQUNFR0RBTUZJQUl1QVZBRWYwRUFJUVlNQkFVZ0FpNEJZQVIvUVFBaEJnd0ZCU0FDTGdGd0JIOUJBQ0VHREFZRklBVWdBU29DQUNBQ0xnRUFzcFFpRERnQ0FDQUZJQXc0QWlBZ0JVRkFheUFNT0FJQUlBVWdERGdDWUNBRklBdzRBb0FCSUFVZ0REZ0NvQUVnQlNBTU9BTEFBVUU0Q3dzTEN3c0xEQUVMSUFFcUFpQWdDcktVSWd3Z0FTb0M0QUVnQWk0QmNMS1VJZzJTSWhBZ0FTb0NZQ0FDTGdFd3NwUWlEaUFCS2dLZ0FTQUNMZ0ZRc3BRaUVaSWlENU5EOHdTMVA1UWdFU0FPa3lJT0lBd2dEWk1pRVpKRFhvUHNQNVFpRXlBT1EzVTlKMENVa3lBUElCQ1NJZzJUSWhDVElRd2dCU0FCS2dJQUlBSXVBUUN5bENJUElBRXFBb0FCSUFKQlFHc3VBUUN5bENJU2tpSVVJQUZCUUdzcUFnQWdCa0VRZEVFUWRiS1VJaFVnQVNvQ3dBRWdBaTRCWUxLVUloYVNJZzZTSWhjZ0RaSTRBZ0FnQlNBWElBMlRPQUxnQVNBRklBOGdFcE1pRFNBVklCYVRRL01FdFQrVUlBNlRJZytTSWhJZ0VKSTRBaUFnQlNBU0lCQ1RPQUxBQVNBRlFVQnJJQTBnRDVNaURTQU1ramdDQUNBRklBMGdESk00QXFBQklBVWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJNEFtQWdEU0FNa3lFTVFTQUxRUUowSUFWcUlBdzRBZ0FnQlVFRWFpRUZJQUZCQkdvaEFTQUNRUUpxSVFJZ0IwRi9haUVHSUFkQkFVc0VRQ0FHSVFjTUFRc0xJQXRCZ0gxcUlRSkJBQ0VCQTBBZ0FDb0NCQ0lNSUFBcUFod2lEWklpRUNBQUtnSVVJZzRnQUNvQ0RDSVJraUlQazBQekJMVS9sQ0FPSUJHVElnNGdEQ0FOa3lJUmtrTmVnK3cvbENJVElBNURkVDBuUUpTVElBOGdFSklpRFpNaUVKTWhEQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS2dJQVF3QWdBRVNTSWc4Z0FDb0NFQ0lTa2lJVUlBQXFBZ2dpRlNBQUtnSVlJaGFTSWc2U0loY2dEWklRUTBIL0IzRnFMQUFBT2dBQUlBVWdBaUFYSUEyVEVFTkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0R5QVNreUlOSUJVZ0ZwTkQ4d1MxUDVRZ0RwTWlENUlpRWlBUWtoQkRRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCSWdFSk1RUTBIL0IzRnFMQUFBT2dBR0lBVWdBaUFOSUErVElnMGdESklRUTBIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESklRUTBIL0IzRnFMQUFBT2dBRElBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUFna0Jndk5LQUlMZndGOElBQW9BdGdESVFzZ0FDZ0NKRUVBVEFSQUR3c2dBQ2dDMkFFaEFRTkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FTSUlLQUlvSUFFb0FpUWlCRUVJZEdwQmdRSnJEcEFlQUI0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCWUJJQjBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFJZ0lCd2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCVWdBeUFnSUJzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBRUlDQWdJQm9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCUWdJQVVnSUNBZ0lCa2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0JpQWdJQ0FnSUJnZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCTWdJQ0FmSUNBZ0lDQWdJQmNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCSWdJQ0FnQ0NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCRWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCQWdJQ0FnSUNBTUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQTBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBOGdJQ0FnSUNBZ0RpQUxRUUFoQWtFRUlRTU1JQXRCQUNFQ1FRVWhBd3dmQzBFQUlRSkJCaUVEREI0TFFRQWhBa0VISVFNTUhRdEJBQ0VDUVFnaEF3d2NDMEVBSVFKQkNTRUREQnNMUVFBaEFrRUtJUU1NR2d0QkFDRUNRUXNoQXd3WkMwRUFJUUpCRENFRERCZ0xRUUFoQWtFTklRTU1Gd3RCQUNFQ1FRNGhBd3dXQzBFQUlRSkJEeUVEREJVTFFRQWhBa0VRSVFNTUZBdEJBQ0VDUVJFaEF3d1RDMEVBSVFKQkVpRUREQklMUVFBaEFrRVRJUU1NRVF0QkFDRUNRUlFoQXd3UUMwRUFJUUpCRlNFRERBOExRUUFoQWtFV0lRTU1EZ3RCQUNFQ1FSY2hBd3dOQzBFQUlRSkJHQ0VEREF3TFFRQWhBa0VaSVFNTUN3dEJBQ0VDUVJvaEF3d0tDMEVBSVFKQkd5RUREQWtMUVFBaEFrRWNJUU1NQ0F0QkFDRUNRUjBoQXd3SEMwRUFJUUpCSGlFRERBWUxRUUFoQWtFZklRTU1CUXRCQUNFQ1FTQWhBd3dFQzBFQUlRSkJJU0VEREFNTFFRQWhBa0VpSVFNTUFnc0NRQUpBQWtBQ1FDQUFLQUpJSWdFT0F3QUJBZ01MSUFFaEFrRWpJUU1NQkFzZ0FTRUNRU1FoQXd3REN5QUJJUUpCSlNFRERBSUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0JDeUFBS0FJQUlnRkJCellDRkNBQklBUTJBaGdnQUNnQ0FDQUlLQUlvTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0MwRUVhaUFKUVFKMGFpQUROZ0lBSUFnb0FqUUVRQ0FMUVN4cUlBbEJBblJxSWdFb0FnQWdBa2NFUUNBSUtBSlFJZ1lFUUNBQklBSTJBZ0FDUUFKQUFrQUNRQUpBSUFJT0F3QUJBZ01MSUFnb0FsUWhCRUVBSVFFRFFDQUJRUUowSUFScUlBRkJBWFFnQm1vdkFRQTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0RDeUFJS0FKVUlRUkJBQ0VCQTBBZ0FVRUNkQ0FFYWlBQlFRRjBJQVpxTHdFQUlBRkJBWFJCNENscUxnRUFiRUdBRUdwQkRIVTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0NDeUFJS0FKVUlRZEJBQ0VCUVFBaEJBTkFJQVJCQW5RZ0Iyb2dBVUVEZEVIZ0ttb3JBd0FpRENBRVFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRRnlJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRTcyRklzVkF4OWoraVJBQUFBQUFBQU1BL29yWTRBZ0FnQlVFQmFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUk1wdlRaR3U1L1Evb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQTNJaUNrRUNkQ0FIYWlBTUlBcEJBWFFnQm1vdkFRQzNva1NxRVd6dll0RHlQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUZxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRSnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRU83K253R2trNlQraVJBQUFBQUFBQU1BL29yWTRBZ0FnQ2tFRGFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUkxzZ3gzdDZVZUUvb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQjNJaUJVRUNkQ0FIYWlBTUlBVkJBWFFnQm1vdkFRQzNva1JkcTNMZVZhalJQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUWhxSVFRZ0FVRUJhaUlCUVFoSERRQUxEQUVMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMQ3dzZ0NFSFlBR29oQkNBSlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FCSVFrZ0JDRUJEQUVMQ3d1bEFRRUVmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkIxQUFnQVVFL2NVSEtBV29SQkFBaUFUWUMyQU1nQVVIekFEWUNBQ0FBS0FJa1FRQk1CRUFQQ3lBQlFTeHFJUVJCQUNFQklBQW9BdGdCSVFJRFFDQUFLQUlFS0FJQUlRTWdBaUFBUVFGQmdBSWdBMEUvY1VIS0FXb1JCQUFpQXpZQ1ZDQURRUUJCZ0FJUVJSb2dBVUVDZENBRWFrRi9OZ0lBSUFKQjJBQnFJUUlnQVVFQmFpSUJJQUFvQWlSSURRQUxDOHNGQVF0L0l3WWhEU01HUVNCcUpBWWdBaWdDQUNFSElBSW9BZ1FoQ3lBQ0tBSUlJUW9nQlNnQ0FDSUlSUVJBSUFVZ0FDZ0NIQ0FBS0FJZ0VLa0pJZ2cyQWdBTElBMGlBa0VjYWlFT0lBSkJHR29oRHlBQUtBSU1JQUJCTUdvZ0IwRXdiR29pRENBQktBSUFJZ2tnQjBId0FHeHFLQUlBSUFkQjhBQnNJQWxxS0FJRUtBSUFJQXRCRkd4cUlBb2dDQkNvQ1VFQVNBUi9RWDhGSUFVb0FnQWlDQ2dDSENFSklBZ29BZ3dnQ0NnQ0NFRUJhbW9nQ0NnQ0ZDQUlLQUlRUVFGcWFteXlRd0FBb0VDVVF3QUFvRUNVSUFrZ0NXeXlYZ1IvUVg4RklBRW9BcGdCSWhCQkFVWUVRQ0FBS0FJTUlBeEJBRUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBQW9BZ3doQ0NBQVFaQUVhaUFIUVRCc2FpRUpJQkJCQWtZRVFDQUlJQXdnQ1VFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQWdnRENBSklBQkI4QWRxSUFkQk1HeHFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lMQ3lBRElBUWdBQ2dDQkNBQUtBSUlJQUFvQWhRZ0JTZ0NBQ0FBS0FJWUlnQWdBQ0FDSUE0Z0R5QUdFS3dKUVFCSUJIOUJmd1VnQmlBT0tBSUFzamdDQkNBR0lBOG9BZ0N5T0FJSUlBRW9BZ0FpQUNBSFFmQUFiR29vQWdRb0FnQWdDMEVVYkdvb0FnQWlBaUFLUVJSc2FpRUJJQVlnQjBId0FHd2dBR29xQWhnZ0IwSHdBR3dnQUdvcUFnd2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFoQWdDa0VVYkNBQ2FpSUNLZ0lNbEpLU09BSU1JQVlnQjBId0FHd2dBR29xQWlnZ0IwSHdBR3dnQUdvcUFod2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFpQWdBaW9DREpTU2tqZ0NFQ0FHSUFkQjhBQnNJQUJxS2dJNElBZEI4QUJzSUFCcUtnSXNJQUVxQWdpVUlBZEI4QUJzSUFCcUtnSXdJQUlxQWd5VWtwSTRBaFJCQUFzTEN5RVJJQTBrQmlBUkN5SUJBWDFCZnlBQUtnSUFJQUVxQWdDVElnSkRBQUFBQUY0Z0FrTUFBQUFBWFJzTGloQUNESDhLZlNNR0lRb2pCa0ZBYXlRR0lBcEJPR29oQnlBS1FUQnFJUWdnQ2tFb2FpRUxJQXBCSUdvaENTQURRUVJJQkVCRElMeStUQ0VGQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFRkJRSkFBbjhnQTdJaUdpQUZsQkJESVJBZ0EwRUdkQkJFSWdaRkJFQkJBRUVEUWNyWUFpQUpFRDFEQUFDQXZ5RUZEQUlMSUFOQkEzUVFSQ0lKUlFSQVFRQkJBMEhLMkFJZ0N4QTlJQVlRT0VNQUFJQy9JUVVNQWdzZ0EwRUNkQ0lMRUVRaURVVUVRRUVBUVFOQnl0Z0NJQWdRUFNBR0VEZ2dDUkE0UXdBQWdMOGhCUXdDQ3lBTEVFUWlDMFVFUUVFQVFRTkJ5dGdDSUFjUVBTQUdFRGdnQ1JBNElBMFFPRU1BQUlDL0lRVU1BZ3NnRUVGL2FpSUhDMEVFSUFkQkJFb2JJUkZCQUNFSEEwQWdCMEVEUndSQVFRQWhDQU5BSUFoQkJFY0VRQ0FIUVFSMElBUnFJQWhCQW5ScUlBZEJCSFFnQUdvZ0NFRUNkR29xQWdBZ0FDb0NMSlU0QWdBZ0NFRUJhaUVJREFFTEN5QUhRUUZxSVFjTUFRc0xJQkZCQW5RZ0Myb2hEd0pBQWtBQ1FBTkFBa0JCQUNFSEEwQWdCeUFEU0FSQUlBUXFBZ0FoRnlBRUtnSUVJUllnQkNvQ0RDRVpJQVFxQWhBaEV5QUVLZ0lVSVJnZ0JDb0NIQ0ViSUFkQkRHd2dBbW9xQWdBaUZDQUVLZ0lnbENBSFFReHNJQUpxS2dJRUloVWdCQ29DSkpTU1F3QUFnRCtTSWdWREFBQUFBRnNOQWlBSFFRTjBJQUZxS2dJRUlCc2dGQ0FUbENBVklCaVVrcElpR0NBRmxaTWhFeUFIUVFGMElnQkJBblFnQ1dvZ0IwRURkQ0FCYWlvQ0FDQVpJQmNnRkpRZ0ZpQVZsSktTSWhjZ0JaV1RJaFk0QWdBZ0FFRUJja0VDZENBSmFpQVRPQUlBSUFkQkFuUWdDMm9nRmlBV2xDQVRJQk9Va2lJVE9BSUFJQWRCQW5RZ0RXb2dFemdDQUNBSFFRUjBJZ0JCQW5RZ0Jtb2dGQ0FGbFNJVE9BSUFJQUJCQVhKQkFuUWdCbW9nRlNBRmxTSVdPQUlBSUFCQkFuSkJBblFnQm1wREFBQ0FQeUFGbFNJWk9BSUFJQUJCQTNKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFSeVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFRmNrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkJuSkJBblFnQm1vZ0ZDQVhsSXdnQlNBRmxDSUZsVGdDQUNBQVFRZHlRUUowSUFacUlCVWdGNVNNSUFXVk9BSUFJQUJCQ0hKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFseVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFS2NrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkMzSkJBblFnQm1vZ0V6Z0NBQ0FBUVF4eVFRSjBJQVpxSUJZNEFnQWdBRUVOY2tFQ2RDQUdhaUFaT0FJQUlBQkJEbkpCQW5RZ0Jtb2dGQ0FZbEl3Z0JaVTRBZ0FnQUVFUGNrRUNkQ0FHYWlBVklCaVVqQ0FGbFRnQ0FDQUhRUUZxSVFjTUFRc0xJQXNnQTBFRVFTQVFnZ05EQUFDQVFTQVBLZ0lBUXdBQWdFQ1VJZ1VnQlVNQUFJQkJYUnNpRlVNQUFNQkFsU0VGUXdBQUFBQWhFMEVBSVFBRFFDQUFJQU5IQkVBZ0V5QUFRUUowSUF0cUtnSUFJaFFnRlY0RWZTQUZCU0FGUXdBQWdEOURBQUNBUHlBVUlCV1ZreUlVSUJRZ0ZKU1VrNVFMa2lFVElBQkJBV29oQUF3QkN3c2dFeUFhbFNJRlE4M016RDFkRFFRZ0RrRUFSeUFGUXdBQWdFQmRjUVJBSUE1QkNrWWdCU0FTbFVPa2NIMC9YbklOQlFVZ0RrRUtSZzBGQzBFQUlRQkJBQ0VNQTBBZ0F5QU1Sd1JBSUF4QkFuUWdEV29xQWdBaUVpQVZYd1JBSUFCQkEzUWlCMEVDZENBR2FrTUFBSUEvSUJJZ0ZaV1RJaElnRXBRaUVpQU1RUVIwSWdoQkFuUWdCbW9xQWdDVU9BSUFJQWRCQVhKQkFuUWdCbW9nRWlBSVFRRnlRUUowSUFacUtnSUFsRGdDQUNBSFFRSnlRUUowSUFacUlCSWdDRUVDY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVEY2tFQ2RDQUdhaUFTSUFoQkEzSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkJISkJBblFnQm1vZ0VpQUlRUVJ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUVZ5UVFKMElBWnFJQklnQ0VFRmNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFR2NrRUNkQ0FHYWlBU0lBaEJCbkpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCM0pCQW5RZ0Jtb2dFaUFJUVFkeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFocVFRSjBJQVpxSUJJZ0NFRUlja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUpha0VDZENBR2FpQVNJQWhCQ1hKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQ21wQkFuUWdCbW9nRWlBSVFRcHlRUUowSUFacUtnSUFsRGdDQUNBSFFRdHFRUUowSUFacUlCSWdDRUVMY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVNYWtFQ2RDQUdhaUFTSUFoQkRISkJBblFnQm1vcUFnQ1VPQUlBSUFkQkRXcEJBblFnQm1vZ0VpQUlRUTF5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUTVxUVFKMElBWnFJQklnQ0VFT2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFUGFrRUNkQ0FHYWlBU0lBaEJEM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBQkJBblFnQ1dvZ0VpQU1RUUYwSWdkQkFuUWdDV29xQWdDVU9BSUFJQUJCQVdwQkFuUWdDV29nRWlBSFFRRnlRUUowSUFscUtnSUFsRGdDQUNBQVFRSnFJUUFMSUF4QkFXb2hEQXdCQ3dzZ0FFRUdTQTBDSUFvZ0NTQUdJQUFRcUFOQkFFZ05BeUFFSUFvcUFnQWdCQ29DQUpJNEFnQWdCQ0FLS2dJRUlBUXFBZ1NTT0FJRUlBUWdDaW9DQ0NBRUtnSU1ramdDRENBRUlBb3FBZ3dnQkNvQ0VKSTRBaEFnQkNBS0tnSVFJQVFxQWhTU09BSVVJQVFnQ2lvQ0ZDQUVLZ0lja2pnQ0hDQUVJQW9xQWhnZ0JDb0NJSkk0QWlBZ0JDQUtLZ0ljSUFRcUFpU1NPQUlrSUFVaEVpQU9RUUZxSVE0TUFRc0xJQVlRT0NBSkVEZ2dEUkE0SUFzUU9FTWd2TDVNSVFVTUF3c2dCaEE0SUFrUU9DQU5FRGdnQ3hBNFF3QUFnTDhoQlF3Q0N5QUdFRGdnQ1JBNElBMFFPQ0FMRURoRElMeStUQ0VGREFFTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0FzTEN5QUtKQVlnQlF2RkNBSUdmdzU5SXdZaEJ5TUdRVEJxSkFZZ0IwRW9haUVHSUFkQklHb2hDQ0FEUVFSSUJFQkRJTHkrVENFTEJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUxCUUpBSUFOQkJuUVFSQ0lGUlFSQVFRQkJBMEhLMkFJZ0NCQTlRd0FBZ0w4aEN3d0JDeUFEUVFOMEVFUWlDa1VFUUVFQVFRTkJ5dGdDSUFZUVBTQUZFRGhEQUFDQXZ5RUxEQUVMUVFBaEJnTkFJQVpCQTBjRVFFRUFJUWdEUUNBSVFRUkhCRUFnQmtFRWRDQUVhaUFJUVFKMGFpQUdRUVIwSUFCcUlBaEJBblJxS2dJQUlBQXFBaXlWT0FJQUlBaEJBV29oQ0F3QkN3c2dCa0VCYWlFR0RBRUxDeUFEc2lFWUlBTkJBWFFoQ0VFQUlRWUNRQUpBQTBBQ1FFTUFBQUFBSVJKQkFDRUpBMEFnQ1NBRFNBUkFJQVFxQWdBaERTQUVLZ0lFSVJBZ0JDb0NEQ0VSSUFRcUFoQWhFeUFFS2dJVUlSUWdCQ29DSENFTElBbEJER3dnQW1vcUFnQWlEaUFFS2dJZ2xDQUpRUXhzSUFKcUtnSUVJZzhnQkNvQ0pKU1NRd0FBZ0QrU0lneERBQUFBQUZzTkFpQUpRUU4wSUFGcUtnSUVJQXNnRGlBVGxDQVBJQlNVa3BJaUZ5QU1sWk1oRlNBSlFRRjBJZ0JCQW5RZ0Ntb2dDVUVEZENBQmFpb0NBQ0FSSUEwZ0RwUWdFQ0FQbEpLU0loQWdESldUSWhFNEFnQWdBRUVCY2tFQ2RDQUthaUFWT0FJQUlBbEJCSFFpQUVFQ2RDQUZhaUFPSUF5VkloTTRBZ0FnQUVFQmNrRUNkQ0FGYWlBUElBeVZJaFE0QWdBZ0FFRUNja0VDZENBRmFrTUFBSUEvSUF5VklnczRBZ0FnQUVFRGNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkJISkJBblFnQldwREFBQUFBRGdDQUNBQVFRVnlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUdja0VDZENBRmFpQU9JQkNVakNBTUlBeVVJZzJWT0FJQUlBQkJCM0pCQW5RZ0JXb2dEeUFRbEl3Z0RaVTRBZ0FnQUVFSWNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkNYSkJBblFnQldwREFBQUFBRGdDQUNBQVFRcHlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUxja0VDZENBRmFpQVRPQUlBSUFCQkRISkJBblFnQldvZ0ZEZ0NBQ0FBUVExeVFRSjBJQVZxSUFzNEFnQWdBRUVPY2tFQ2RDQUZhaUFPSUJlVWpDQU5sVGdDQUNBQVFROXlRUUowSUFWcUlBOGdGNVNNSUEyVk9BSUFJQklnRVNBUmxDQVZJQldVa3BJaEVpQUpRUUZxSVFrTUFRc0xJQklnR0pVaUMwUE56TXc5WFEwRElBWkJBRWNnQzBNQUFJQkFYWEVFUUNBR1FRcEdJQXNnRnBWRHBIQjlQMTV5RFFRRklBWkJDa1lOQkFzZ0J5QUtJQVVnQ0JDb0EwRUFTQTBDSUFRZ0J5b0NBQ0FFS2dJQWtqZ0NBQ0FFSUFjcUFnUWdCQ29DQkpJNEFnUWdCQ0FIS2dJSUlBUXFBZ3lTT0FJTUlBUWdCeW9DRENBRUtnSVFramdDRUNBRUlBY3FBaEFnQkNvQ0ZKSTRBaFFnQkNBSEtnSVVJQVFxQWh5U09BSWNJQVFnQnlvQ0dDQUVLZ0lna2pnQ0lDQUVJQWNxQWh3Z0JDb0NKSkk0QWlRZ0N5RVdJQVpCQVdvaEJnd0JDd3NnQlJBNElBb1FPRU1ndkw1TUlRc01BZ3NnQlJBNElBb1FPRU1ndkw1TUlRc01BUXNnQlJBNElBb1FPQXNMQ3lBSEpBWWdDd3U3QmdJTWZ3UjlJd1loQ1NNR1FkQUFhaVFHSUFsQk1Hb2hFQ0FKUWN3QWFpRU1JQWxCeUFCcUlRMGdDVUZBYXlFT0lBbEJPR29oRHlBQXNpRVVJQUd5SVJVZ0JVSE1KV29oRVVFQUlRRkJBQ0VBQW44Q1FBTkFBa0FnQ0NBREtBSUVUZzBDUVFBaEN3TkFJQXRCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQzBFRWRDQUphaUFHUVFKMGFpQUlRVEJzSUFKcUlBdEJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dDMEVCYWlFTERBRUxDMEVBSVFjZ0F5Z0NBQ0FJUWZBQWJHb29BZ1FoQmdOQUlBY2dCaWdDQkVnRVFFRUFJUW9EUUNBS0lBWW9BZ0FpQ3lBSFFSUnNhaWdDQkVnRVFFRUFJQWtnQjBFVWJDQUxhaWdDQUNJR0lBcEJGR3hxS2dJSUlBcEJGR3dnQm1vcUFnd2dEQ0FORUlJRVFRQklJQXdxQWdBaUVrTUFBQUFBWFhKRkJFQWdEU29DQUNJVElCVmdJQk5EQUFBQUFGMGdFaUFVWUhKeVJRUkFBa0FnRGlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNBSFFSUnNhaWdDQUNJR0lBcEJGR3hxS0FJSU5nSUFJQTRnQ2tFVWJDQUdhaWdDRERZQ0JFRUFJQWtnRGlBUEVJY0VJQThxQWdRaUVpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDSUdJQWRCRkd4cUtnSU1JaE5mQkVBZ0VpQUhRUlJzSUFacUtnSVFZQVJBSUFCQnlBRkdEUWtnQUVFWWJDQUVhaUFJTmdJQUlBQkJHR3dnQkdvZ0J6WUNCQ0FBUVJoc0lBUnFJQW8yQWdnZ0FFRVliQ0FFYWlBTUtBSUFOZ0lRSUFCQkdHd2dCR29nRFNnQ0FEWUNGQ0FBUVJoc0lBUnFRUUEyQWd3Z0FFRUJhaUVBREFJTEN5QVNJQk5EQUFBQVFKUmZCRUFnRWlBSFFSUnNJQVpxS2dJUVF3QUFBRCtVWUFSQUlBRkJ5QUZHQkg4Z0VVRi9OZ0lBUWNnQkJTQUJRUmhzSUFWcUlBZzJBZ0FnQVVFWWJDQUZhaUFITmdJRUlBRkJHR3dnQldvZ0NqWUNDQ0FCUVJoc0lBVnFJQXdvQWdBMkFoQWdBVUVZYkNBRmFpQU5LQUlBTmdJVUlBRkJHR3dnQldwQkFEWUNEQ0FCUVFGcUN5RUJDd3NMQ3dzZ0NrRUJhaUVLSUFNb0FnQWdDRUh3QUd4cUtBSUVJUVlNQVFzTElBZEJBV29oQnd3QkN3c2dDRUVCYWlFSURBRUxDMEVBUVFOQjJkZ0NJQkFRUFNBRVFjd2xhZ3dCQ3lBQVFSaHNJQVJxUVg4MkFnd2dBVUVZYkNBRmFrRU1hZ3RCZnpZQ0FDQUpKQVlMd3djQ0RuOElmU01HSVFVakJrSFFBR29rQmlBRlFUQnFJUkFnQlVITUFHb2hEQ0FGUWNnQWFpRU5JQVZCUUdzaERpQUZRVGhxSVE4Z0FDZ0NBTEloR1NBQUtBSUVzaUVhSUFSQnpDVnFJUkVDZndKQUEwQUNRQ0FLSUFJb0FnUk9EUUpCQUNFSEEwQWdCMEVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FIUVFSMElBVnFJQVpCQW5ScUlBcEJNR3dnQVdvZ0IwRUVkR29nQmtFQ2RHb29BZ0EyQWdBZ0JrRUJhaUVHREFFTEN5QUhRUUZxSVFjTUFRc0xRUUFoQmlBQ0tBSUFJQXBCOEFCc2FpZ0NCQ0VIQTBBZ0JpQUhLQUlFU0FSQVFRQWhDd05BSUFzZ0J5Z0NBQ0lTSUFaQkZHeHFLQUlFU0FSQUlBQWdCU0FHUVJSc0lCSnFLQUlBSWdjZ0MwRVViR29xQWdnZ0MwRVViQ0FIYWlvQ0RDQU1JQTBRZ2dSQkFFZ2dEQ29DQUNJVFF3QUFBQUJkY2tVRVFDQU5LZ0lBSWhRZ0dtQWdGRU1BQUFBQVhTQVRJQmxnY25KRkJFQUNRQ0FGS2dJTUlBVXFBZ0FnQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FnQmtFVWJHb29BZ0FpQnlBTFFSUnNhaW9DQ0NJVGxDQUZLZ0lFSUF0QkZHd2dCMm9xQWd3aUZKU1NraUlXSUJhVUlBVXFBaHdnRXlBRktnSVFsQ0FVSUFVcUFoU1VrcElpRnlBWGxKSWdCU29DTENBVElBVXFBaUNVSUJRZ0JTb0NKSlNTa2lJWUlCaVVrcEVoRlNBRktnSW9JQmdnRlpXVUlBVXFBZ2dnRmlBVmxaUWdCU29DR0NBWElCV1ZsSktTUTgzTXpMMWVSUVJBSUE0Z0V6Z0NBQ0FPSUJRNEFnUWdBQ0FGSUE0Z0R4Q0hCQ0FQS2dJRUloTWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWlCeUFHUVJSc2Fpb0NEQ0lVWHdSQUlCTWdCa0VVYkNBSGFpb0NFR0FFUUNBSlFjZ0JSZzBLSUFsQkdHd2dBMm9nQ2pZQ0FDQUpRUmhzSUFOcUlBWTJBZ1FnQ1VFWWJDQURhaUFMTmdJSUlBbEJHR3dnQTJvZ0RDZ0NBRFlDRUNBSlFSaHNJQU5xSUEwb0FnQTJBaFFnQ1VFWWJDQURha0VBTmdJTUlBbEJBV29oQ1F3REN3c2dFeUFVUXdBQUFFQ1VYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VFTUFBQUEvbEdBRVFDQUlRY2dCUmdSL0lCRkJmellDQUVISUFRVWdDRUVZYkNBRWFpQUtOZ0lBSUFoQkdHd2dCR29nQmpZQ0JDQUlRUmhzSUFScUlBczJBZ2dnQ0VFWWJDQUVhaUFNS0FJQU5nSVFJQWhCR0d3Z0JHb2dEU2dDQURZQ0ZDQUlRUmhzSUFScVFRQTJBZ3dnQ0VFQmFnc2hDQXNMQ3dzTEN5QUxRUUZxSVFzZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FoQnd3QkN3c2dCa0VCYWlFR0RBRUxDeUFLUVFGcUlRb01BUXNMUVFCQkEwSFoyQUlnRUJBOUlBTkJ6Q1ZxREFFTElBbEJHR3dnQTJwQmZ6WUNEQ0FJUVJoc0lBUnFRUXhxQzBGL05nSUFJQVVrQmd2VkVRSVVmd0Y5SXdZaEJTTUdRVEJxSkFZZ0JTSU1RU2hxSVJJZ0JVRWdhaUVUSUFCQkFFY2dBVUVBUjNFZ0FrRUFSM0VnQTBFQVIzRWdCRUVBUjNFRWZ5QUJLQUtZQVVFQlNBUi9RWDRGQW44Z0JFTUFBQUFBT0FJQUlBRkJDR29oRFNBQlFUaHFJUWdnQVVIb0FHb2hDa0VBSVFVRFFDQUZJQUVvQWdSSUJFQWdEU0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRVEJxSUFWQk1HeHFFTElDSUFFb0FwZ0JRUUZLQkVBZ0NDQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFaQUVhaUFGUVRCc2FoQ3lBaUFCS0FLWUFVRUNTZ1JBSUFvZ0FTZ0NBQ0FGUWZBQWJHcEJER29nQUVId0Iyb2dCVUV3YkdvUXNnSUxDeUFGUVFGcUlRVU1BUXNMSUFBb0FnQkJBVVlFUUNBQVFReHFJaFFvQWdBZ0FFRXdhaUFCSUFCQjhCUnFJZzRnQUVISU9tb2lDaEROQmlBQVFRUnFJUThnQUVFSWFpRVFCU0FBUVFScUlnOG9BZ0FnQUVFSWFpSVFLQUlBSUFCQk1Hb2dBU0FBUWZBVWFpSU9JQUJCeURwcUlnb1F6QVlnQUVFTWFpRVVDeUFBUWVEbkFHb2hGeUFCUVp3QmFpRVZJQUJCMEF0cUlSWWdEaUVJQTBBQ1FDQUxJQUFvQWlST0RRQkJBQ0VKSUFZaEJ5QUlJUVVEUUFKQUlBa2dGeWdDQUU0RVFDQUZJUWdNQVFzZ0N5QUFLQUlrUmdSQUlBVWhDQXdCQ3lBRklCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkVBZ0JTQU9Sd1JBSUFVaENBd0NDeUFLSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCSDhnQ2lFSURBSUZJQW9MSVFVTElBbEJBblFnREdvZ0NFRVliQ0FGYWlJUk5nSUFJQUJCMEF0cUlBZEJBM1JxSUFoQkdHd2dCV29vQWhBMkFnQWdBQ0FIUVFOMGFrSFVDMm9nQ0VFWWJDQUZhaWdDRkRZQ0FDQUFRZVRuQUdvZ0NVRTBiR29nQURZQ0FDQUFJQWxCTkd4cVFlam5BR29nQVRZQ0FDQUFJQWxCTkd4cVFlem5BR29nRVRZQ0FDQUFJQWxCTkd4cVFmRG5BR29nQWpZQ0FDQUpRUUZxSVFrZ0JpQUhRUUZxSWdnZ0NFRUZSaHNoQnlBTFFRRnFJUXNNQVFzTElBbEZEUUJCQUNFSElBWWhCUU5BSUFjZ0NVY0VRQ0FBSUFkQk5HeHFRWlRvQUdvZ0FFSGs1d0JxSUFkQk5HeHFLQUlBSUFBZ0IwRTBiR3BCNk9jQWFpZ0NBQ0FBSUFkQk5HeHFRZXpuQUdvb0FnQWdBQ0FIUVRSc2FrSHc1d0JxS0FJQUlBQWdCMEUwYkdwQjlPY0FhaWdDQUNBQUlBZEJOR3hxUWZqbkFHb2dBQ0FIUVRSc2FrSDg1d0JxSWdZUXlBWWlFVFlDQUNBUlJRUkFJQVlxQWdBZ0FDb0NLRjRFUUNBQUtBSUFRUUZHQkVBZ0ZDZ0NBQ0lHUWVnQWFpQUFJQWRCTkd4cVFZRG9BR29xQWdDN0lBQWdCMEUwYkdwQmhPZ0FhaW9DQUxzZ0VpQVRJQVlvQXJBQkVOOEVJQUJCMEE1cUlBVkJBM1JxSUJJckF3QzJPQUlBSUFBZ0JVRURkR3BCMUE1cUlCTXJBd0MyT0FJQUJTQUFRZEFPYWlBRlFRTjBhaUFBSUFkQk5HeHFRWURvQUdvb0FnQTJBZ0FnQUNBRlFRTjBha0hVRG1vZ0FDQUhRVFJzYWtHRTZBQnFLQUlBTmdJQUN5QUFRWkFSYWlBRlFReHNhaUFBSUFkQk5HeHFRWWpvQUdvb0FnQTJBZ0FnQUNBRlFReHNha0dVRVdvZ0FDQUhRVFJzYWtHTTZBQnFLQUlBTmdJQUlBQWdCVUVNYkdwQm1CRnFJQUFnQjBFMGJHcEJrT2dBYWlnQ0FEWUNBQ0FBUWRBTGFpQUZRUU4wYWlBSFFRSjBJQXhxS0FJQUlnWW9BaEEyQWdBZ0FDQUZRUU4wYWtIVUMyb2dCaWdDRkRZQ0FDQUFRYURnQUdvZ0JVRVliR29nQmlnQ0FEWUNBQ0FBSUFWQkdHeHFRYVRnQUdvZ0JpZ0NCRFlDQUNBQUlBVkJHR3hxUWFqZ0FHb2dCaWdDQ0RZQ0FDQUFJQVZCR0d4cVFhemdBR3BCQURZQ0FDQUZRUUZxSVFVTEN5QUhRUUZxSVFjTUFRc0xJQVVoQmd3QkN3dEJBQ0VDQTBBZ0FpQUdTQVJBSUFGQm5BRnFJQUpCR0d4cUlnVWdBRUdnNEFCcUlBSkJHR3hxSWdncEFnQTNBZ0FnQlNBSUtRSUlOd0lJSUFVZ0NDa0NFRGNDRUNBQ1FRRnFJUUlNQVFzTElBRWdCa0VZYkdwQmZ6WUNxQUVnQmtFRFNDRUNJQUFvQWdCQkFVWUVRQ0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnQUNnQ0VDQU5JQUJCMEE1cUlnSWdBRUdRRVdvaUJTQUdJQU5CQUJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1lay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUVBek0rTS9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1kay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUFBQUFBQUFFSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQlFRQTJBcGdCUVh3TUJnc0xDd3NMQlNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0RTQUFRZEFPYWlJQ0lBQkJrQkZxSWdVZ0JpQURRUUJEQUFDQVB4RGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUTgzTVREOFEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdCQ0FESUFJZ0JTQUdJQU5CQVVPYW1Say9FTm9CSWhrNEFnQWdHU0FBS2dJc1hnUkFJQVFnQXlBQ0lBVWdCaUFEUVFGRHpjek1QaERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlF3QUFBQUFRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQVVFQU5nS1lBVUY4REFZTEN3c0xDd3NnQVNBQktBS1lBVUVCYWpZQ21BRkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQUJRZWdBYWlBQVFRUjBhaUFDUVFKMGFpQUJRVGhxSUFCQkJIUnFJQUpCQW5ScUtBSUFOZ0lBSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEMwRUFJUUFEUUNBQVFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBRkJPR29nQUVFRWRHb2dBa0VDZEdvZ0FVRUlhaUFBUVFSMGFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3d0QkFDRUFBMzhnQUVFRFJnUi9RUUFGUVFBaEFnTkFJQUpCQkVjRVFDQUJRUWhxSUFCQkJIUnFJQUpCQW5ScUlBQkJCSFFnQTJvZ0FrRUNkR29vQWdBMkFnQWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQ3dzRlFYOExJUmdnRENRR0lCZ0x3UUVCQTM4akJpRUVJd1pCRUdva0JrR2s2d0FRUkNJRFJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dCRUVJYWlFRklBTWdBRFlDRkNBRElBRTJBZ1FnQXlBQ05nSUlJQU5CR1RZQ0dDQURRUXMyQWh3Z0EwRUxOZ0lnSUFOQkNqWUNKQ0FEUTVxWkdUODRBaWdnQTBNQUFBQkFPQUlzSUFOQjRPY0Fha0VCTmdJQUlBTkI5T2NBYWlBQklBSnNFRVFpQURZQ0FDQUFCRUFnQTBINDV3QnFRUUEyQWdBZ0JDUUdJQU1QQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTEx3QWdBQ2dDQ0NBQlFRSjBhaUlCS0FJQUJIOGdBVUVBTmdJQUlBQWdBQ2dDQUVGL2FqWUNBRUVBQlVGL0N4b0xQZ0FnQVNBQUtBSUFJQUFvQWdRUXp3WWlBVUVCTmdJQUlBRWdBRFlDRENBQklBQkJDR29RNHdJaUFEWUNFQ0FBUkFBQUFBQUFBQUFBRUkwQklBRUx1Z0VCQm44Z0FDZ0NBQ0VCUWJURUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFiREVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdjdBZ0VHZnlNR0lRTWpCa0V3YWlRR0lBTkJHR29oQlNBRFFSQnFJUVlnQTBFSWFpRUhJQU5CSUdvaUFpQUFOZ0lBSUFOQkhHb2lCQ0FCTmdJQUlBSVFVd1IvQW44Z0FoQlNJUUFnQkJEU0JnUi9JQUJCQ0dvaUFTQUVFS3dEUWJnQkVFd2FJQUFvQWd3aEFnSkFBa0FnQVNnQ0FDSUVJQUFvQXRBQlJ3MEFJQUFvQXRRQklBSkhEUUFNQVFzZ0F5QUVOZ0lBSUFNZ0FqWUNCRUVBUVFKQm1kY0NJQU1RUFNBQklBQW9BdEFCSUFBb0F0UUJJQUVRK1FzTElBQVFxUU1nQUNBQkVMd0xJZ0kyQXNBQklBSkZCRUJCQUVFRFFjalhBaUFIRUQxQmZ3d0NDeUFBSUFJUW9na2lBallDMkFFZ0FrVUVRRUVBUVFOQjd0Y0NJQVlRUFVGL0RBSUxJQUlnQUNnQzJBTVE0d2dnQUNBQlFRaHFFSzhKSWdFMkF1UUJJQUVFUUNBQUtBTFlBU0FBS0FMY0FSREhCeUFBS0FMQUFTQUFLd080QWlBQUt3UEFBaUFBUWRnQ2FoREdDeUFBSUFBb0FzQUJFSUFFTmdMb0FRVkJBRUVEUVpQWUFpQUZFRDBMUVFBRlFYOExDd1ZCZndzYUlBTWtCZ3N6QVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBRFlDQUNBRUtBSUFJUVVnQkNRR0lBVUw3d0lCQ0g4Z0FTZ0NBQ0lGS0FJRUlRTkJvTVFES0FJQUlnUkJmMm9oQmlBRUlBWnhSU0lJQkg4Z0F5QUdjUVVnQXlBRVR3Ui9JQU1nQkJCT0JTQURDd3NoQTBHY3hBTW9BZ0FnQTBFQ2RHb2lCeWdDQUNFQkEwQWdCU0FCS0FJQUlnSkhCRUFnQWlFQkRBRUxDd0ovQWtBZ0FVR2t4QU5HRFFBZ0FTZ0NCQ0VDSUFnRWZ5QUNJQVp4QlNBQ0lBUlBCSDhnQWlBRUVFNEZJQUlMQ3lBRFJ3MEFJQVVNQVFzZ0JTZ0NBQ0lDQkVBZ0FpZ0NCQ0VDSUFVZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElBTkdEUUVhQ3lBSFFRQTJBZ0FnQlFzaUNTZ0NBQ0lDSVFjZ0FTQUNCSDhnQWlnQ0JDRUNJQU1nQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSWdKSEJIOUJuTVFES0FJQUlBSkJBblJxSUFFMkFnQWdCU2dDQUFVZ0J3c0ZJQWNMTmdJQUlBbEJBRFlDQUVHb3hBTkJxTVFES0FJQVFYOXFOZ0lBSUFBZ0JUWUNBQ0FBUWFURUF6WUNCQ0FBUVFFNkFBZ0xaUUVCZnlNR0lRRWpCa0VnYWlRR0lBQW9BZ0FpQUNnQ0FCb2dBU0FBTmdJQUlBRkJFR29pQUNBQktBSUFOZ0lBSUFGQkJHb2dBQkRWQmlBQktBSUVJUUFnQVVFQU5nSUVJQUFFUUNBQkxBQU1CRUFnQUVFUWFoQ3pBd3NnQUJBNEN5QUJKQVlMT1FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUFFRk1pQUFSQUlBRWdBRFlDQUNBQ0lBRW9BZ0EyQWdBZ0FoRFdCZ3NnQVNRR0N5OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FpZ0NBQ0VESUFJa0JpQURDMUFCQW44akJpRURJd1pCRUdva0JpQUJJQUlvQWdBZ0FCQ3FBeUlCTmdJQUlBRkJBRWdFZnlBRElBQTJBZ0JCQUVFRFFmVFRBaUFERUQwZ0FpZ0NBQkM0QWtFQUJVRUJDeUVFSUFNa0JpQUVDMEVCQW44akJpRURJd1pCRUdva0JpQURJQUlRclFNZ0EwRU1haUlDSUFFZ0F5QUFRVDl4UVlvQmFoRUNBRFlDQUNBQ0tBSUFJUVFnQXhCSElBTWtCaUFFQzN3QkFuOGpCaUVFSXdaQkVHb2tCaUFESUFBZ0FpZ0NBQkRsQ1NJQU5nSUFJQUFFZndKL0FrQUNRQUpBSUFBb0Ftd09BZ0FCQWdzZ0FVRUFFSW9DR2tFQkRBSUxJQUZCQWhDS0FocEJBUXdCQ3lBQlFRTVFpZ0lhUVFFTEJVRUFRUU5CcmRNQ0lBUVFQU0FDS0FJQUVMZ0NRUUFMSVFVZ0JDUUdJQVVMbkFNQkQzOGpCaUVESXdaQjRBQnFKQVlnQTBIUUFHb2hDaUFEUWNnQWFpRUxJQU5CUUdzaERDQURRVGhxSVFVZ0EwRXdhaUVHSUFOQktHb2hEU0FEUVNCcUlRNGdBMEVZYWlFUElBTkJFR29oQnlBRFFRaHFJUWdnQUNnQzZBRWhFQ0FEUWRnQWFpSUVRUUEyQWdBZ0F5QUNOZ0lBUVFCQkFVSHUwQUlnQXhBOUlBSWdBMEhVQUdvaUNSQ2hDVUVBU0FSL0lBZ2dBallDQUVFQVFRTkJodEVDSUFnUVBVRUFCUUovSUFjZ0FUWUNBRUVBUVFGQnJORUNJQWNRUFNBSktBSUFJQUVRb0FsQkFFZ0VRRUVBUVFOQnhkRUNJQThRUFVFQURBRUxJQVFnQ1JDakNVRUFTQVJBUVFCQkEwSHAwUUlnRGhBOVFRQU1BUXRCQUVFQlFZVFNBaUFORUQwZ0JpQUNOZ0lBUVFCQkFVR04wZ0lnQmhBOUlBQkIrQUZxSUFGQkFuUnFJQUlRcmdraUFEWUNBQ0FBUlFSQUlBVWdBallDQUVFQVFRTkJvOUlDSUFVUVBRdEJBRUVCUVlUU0FpQU1FRDBnQVVFS1JnUkFRWDhRQVFzZ0VDQUVLQUlBRUo0SlFRQklCSDlCQUVFRFFjVFNBaUFMRUQxQkFBVWdCQkQvQTBFQVFRRkIzZElDSUFvUVBVRUJDd3NMSVJFZ0F5UUdJQkVMTVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVNBQ0lBQkJQM0ZCaWdGcUVRSUFOZ0lBSUFNb0FnQWhCQ0FESkFZZ0JBdVlBUUVDZnlBQVFRRkdCSDlCQWdVZ0FDQUFRWDlxY1FSL0lBQVEwUUVGSUFBTEN5SUFRYlRFQXlnQ0FDSUNTd1JBSUFBUXF3TUZJQUFnQWtrRVFFRzh4QU1vQWdDelFjREVBeW9DQUpXTkVKSUJJUUVnQWtGL2FpQUNjVVVnQWtFQ1MzRUVmeUFCUVFGQklDQUJRWDlxWjJ0MElBRkJBa2tiQlNBQkVORUJDeUlCSUFBZ0FDQUJTUnNpQUNBQ1NRUkFJQUFRcXdNTEN3c0xTQUVCZnlBQVFjZ0JFRkVpQXpZQ0FDQUFRYmpFQXpZQ0JDQURJQUlvQWdBb0FnQTJBZ2dnQTBFUWFrRUFRYmdCRUVVYUlBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDejhCQW44akJpRUNJd1pCRUdva0JpQUNJQUVRclFNZ0FrRU1haUlCSUFJZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDRURJQUlRUnlBQ0pBWWdBd3ZEQmdJUWZ3RjhJd1loQWlNR1FTQnFKQVlnQWtFWWFpRU5JQUpCRUdvaEF5QUNRUWhxSVFRZ0FpRU1JQUFFUUFKQUlBRkZCRUJCQUVFRFFhMnBBU0FFRUQxQmZ5RUVEQUVMSUFBb0FnUWhBa0VBSVFRRFFBSkFJQVFnQWs0TkFDQUFLQUlJSUFSQkFuUnFLQUlBUlEwQUlBUkJBV29oQkF3QkN3c2dBaUFFUmdSQVFYOGhCQVVnQVJDSUF5SUxSUVJBUVFCQkEwSGFxUUVnQXhBOVFYOGhCQXdDQ3lBRVFRSjBJUTRnQ3hEM0FpRUJBa0FEUUFKQUlBcEJCRThOQWlBS0lBNXFJUWhCQUNFQ1FRQWhCUU5BSUFWQkEwa0VRQ0FGUlNFUElBVkJBa1loRUVFQUlRY2dBQ2dDSENFREEwQWdCeUFEU0FSQVFRQWhCZ05BSUFZZ0EwZ0VRQ0FCUlEwR0lBRVE3Z1FoQTBFQUVQY0NJUUVnQUNnQ0RDQUlRUUowYWlnQ0FDQUZJQVlnQnlBQUtBSWNiR3BCQTJ4cVFRSjBha0gvQVNBRGF5SUROZ0lBSUFBb0FoUWdDRUVDZEdvb0FnQWlFU0FHSUFjZ0FDZ0NIR3hxUVFKMGFpRUpJQThFUUNBSklBTTJBZ0FGSUFrZ0F5QUpLQUlBYWpZQ0FDQVFCRUFnQmlBSElBQW9BaHhzYWtFQ2RDQVJhaUlKSUFrb0FnQkJBeEE1TmdJQUN3c2dCa0VCYWlFR0lBSWdBMm9oQWlBQUtBSWNJUU1NQVFzTElBZEJBV29oQnd3QkN3c2dCVUVCYWlFRkRBRUxDeUFDSUFBb0Fod2lBaUFDUVFOc2JCQTVJUWRCQUNFRlFRQWhBd05BSUFNZ0FrRURiQ0FDYkVrRVFDQUFLQUlNSUFoQkFuUnFLQUlBSUFOQkFuUnFJZ1lvQWdBZ0Iyc2hBaUFHSUFJMkFnQWdCU0FDSUFKc2FpRUZJQU5CQVdvaEF5QUFLQUljSVFJTUFRc0xJQUFvQWhBZ0NFRURkR3BFU0srOG12TFhlajRnQmJlZkloSWdFa1FBQUFBQUFBQUFBR0ViT1FNQVFRQWhCVUVBSVFNRFFDQURJQUlnQW14SkJFQWdBQ2dDRkNBSVFRSjBhaWdDQUNBRFFRSjBhaUlHS0FJQUlBZHJJUUlnQmlBQ05nSUFJQVVnQWlBQ2JHb2hCU0FEUVFGcUlRTWdBQ2dDSENFQ0RBRUxDeUFBS0FJWUlBaEJBM1JxUkVpdnZKcnkxM28rSUFXM255SVNJQkpFQUFBQUFBQUFBQUJoR3prREFDQUtRUUZxSVFvTUFRc0xRUUJCQTBIMnFRRWdEUkE5SUFzUU9FRi9JUVFNQWdzZ0N4QTRJQUFvQWdnZ0JFRUNkR3BCQVRZQ0FDQUFJQUFvQWdCQkFXbzJBZ0FMQ3dWQkFFRURRWlNwQVNBTUVEMUJmeUVFQ3lBTUpBWWdCQXNzQVFKL0l3WWhBU01HUVJCcUpBWWdBU0FBUVFGeFFRWnFFUkFBTmdJQUlBRW9BZ0FoQWlBQkpBWWdBZ3N0QWdGL0Fud2pCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFRURjUkVTQURrREFDQUNLd01BSVFRZ0FpUUdJQVFMakFFQUlBQkJBRFlDd0FFZ0FFRUFOZ0xFQVNBQVFnQTNBc3dCSUFCQ0FEY0MxQUVnQUVJQU53TGNBU0FBUVg0MkF2QUJJQUJCQURZQzlBRWdBRUlBTndLZ0FpQUFRZ0EzQXFnQ0lBQkJnSUNBL0FNMkFyQUNJQUJFTFVNYzYrSTJHajg1QTdnQ0lBQkVBQUFBQUFCQWowQTVBOEFDSUFCQ0FEY0N5QUlnQUVJQU53TFFBaUFBUVFJMkF0Z0RDMEVCQTM4Z0FDZ0NDQ0VCQTBBZ0FRUkFJQUVvQWdBaEF5QUJFRGdnQXlFQkRBRUxDeUFBS0FJQUlRSWdBRUVBTmdJQUlBSUVRQ0FBS0FJRUdpQUNFRGdMQzZ3S0FRMS9Jd1loQ3lNR1FhQUJhaVFHSUF0Qm1BRnFJUVVnQzBHUUFXb2hEeUFMUVlBQmFpSUlRUUEyQWdBZ0NFRzJBVFlDQkNBSVFjTUJOZ0lJSUFoQkRUWUNERUYvSVFZRFFDQUhRUVJIQkVBZ0FDQUhRUUowSUFocUtBSUFhaXdBQUNFS0lBZEJBV29oQnlBS0lBa2dDa0gvQVhFZ0NVSC9BWEZLR3lFSklBb2dCaUFLUWY4QmNTQUdRZjhCY1VnYklRWU1BUXNMSUFsQi93RnhJZ2NnQmtIL0FYRWlDV3RCSGtnRWZ5QUNRUUEyQWdBZ0EwUUFBQUFBQUFEd3Z6a0RBRUYrQlFKL0lBY2dDV3BCQVhZaENrRUFJUWNEUUNBSFFRUkhCRUFnQlNBSGFpQUtJQUFnQjBFQ2RDQUlhaWdDQUdvdEFBQkxPZ0FBSUFkQkFXb2hCd3dCQ3d0QkFDRUpBMEFDUUNBSlFRUlBEUUFnQ1VFQmFpRUlJQVVnQ1dvc0FBQkJBVVlFUUNBSVFRTnhJQVZxTEFBQVFRRkdCRUFnQ1VFQ2FrRURjU0FGYWl3QUFFVU5BZ3NMSUFnaENRd0JDd3NnQXdKOEFrQUNRQUpBQWtBQ1FBSkFBa0FnQ1VILy8vLy9CM0VPQlFFQ0F3UUFCUXNnQWtFQU5nSUFJQU5FQUFBQUFBQUE4TDg1QXdCQmZRd0hDMEgzQUNFSVFRQWhCVUgvQVNFSEEwQWdCVUVPUmdSQURBWUZJQVZCZldvaERDQUZRZjcvLy84SGNVRU1SaUVOSUFWQkRtd2hEa0VBSVFZRFFDQUdRUTVIQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCL3YvLy93ZHhJUU1nQlNBR2NrSCsvLy8vQjNFRVFDQU5JQU5GSUFOQkRFWnljVVVFUUNBSUlBdHFJQUFnQmlBT2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEFBQUxBQXRCOXdBaENFSC9BU0VIUVFBaEJnTkFJQVpCRGtZRVFBd0ZCU0FHUVgxcUlRd2dCa0grLy8vL0IzRWlCVVVoRFNBRlFReEdJUTVCRFNFRkEwQWdCVUYvU2dSQUlBVkJmV29nREhKQkNFOEVRQ0FOSUFWQmZuRkJERVlpQTNGRkJFQWdEaUFESUFWQkFrbHljVVVFUUNBSUlBdHFJQUFnQmlBRlFRNXNhbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBVkJmMm9oQlF3QkN3c2dCa0VCYWlFR0RBRUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRd2dCVUYrY1VFTVJpQUZRUUpKY2lFTklBVkJEbXdoRGtFTklRWURRQ0FHUVg5S0JFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQmZuRkJERVlnRFhFZ0JTQUdja0VDU1hKRkJFQWdDQ0FMYWlBQUlBWWdEbXBxTFFBQUlBcHJJZ05CSDNZNkFBQWdDRUYvYWlFSUlBTkJBQ0FEYXlBRFFYOUtHeUlESUFjZ0F5QUhTQnNoQndzTElBWkJmMm9oQmd3QkN3c2dCVUYvYWlFRkRBRUZEQVFMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUTBnQlVGK2NTSU1RUXhHSVE0Z0RFVWhFRUVBSVFZRFFDQUdRUTVIQkVBZ0JrRjlhaUFOY2tFSVR3UkFJQTRnQmtIKy8vLy9CM0VpQTBWeFJRUkFJQU1nREhKRklCQWdBMEVNUm5GeVJRUkFJQWdnQzJvZ0FDQUZJQVpCRG14cWFpMEFBQ0FLYXlJRFFSOTJPZ0FBSUFoQmYyb2hDQ0FEUVFBZ0Eyc2dBMEYvU2hzaUF5QUhJQU1nQjBnYklRY0xDd3NnQmtFQmFpRUdEQUVMQ3lBRlFYOXFJUVVNQVFVTUF3c0FBQXNBQ3lBQ0lBazJBZ0JFQUFBQUFBQUE4RDhNQVFzZ0J5RUFJQUlnQ1RZQ0FFUUFBQUFBQUFEd1B5QUF0MFFBQUFBQUFBQStRS01nQUVFZVNoc0xPUU1BUVk0V1FnQWdDeUFQRUxVRElnQkJBRWdFZjBGOEJTQUVCRUFnQkNBQU5nSUFDeUFCSUE4cEF3QTNBd0JCQUFzTEN5RVJJQXNrQmlBUkM1Z0JBUUovSUFCQkFVWUVmMEVDQlNBQUlBQkJmMnB4Qkg4Z0FCRFJBUVVnQUFzTElnQkJvTVFES0FJQUlnSkxCRUFnQUJDeUF3VWdBQ0FDU1FSQVFhakVBeWdDQUxOQnJNUURLZ0lBbFkwUWtnRWhBU0FDUVg5cUlBSnhSU0FDUVFKTGNRUi9JQUZCQVVFZ0lBRkJmMnBuYTNRZ0FVRUNTUnNGSUFFUTBRRUxJZ0VnQUNBQUlBRkpHeUlBSUFKSkJFQWdBQkN5QXdzTEN3dFBBUUYvSUFCQjhBTVFVU0lETmdJQUlBQkJwTVFETmdJRUlBTWdBaWdDQUNnQ0FEWUNDQ0FEUVJCcUlnSkJBRUhnQXhCRkdpQUNFT1FHSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUMxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0ZEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFh3RUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVpQUVFQVJ5QUJRUUpKY1FSL0lBQWdBVFlDRkVFQUJVRi9DMFVFUUNBQ0lBRTJBZ0JCQUVFQlFaeTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlNTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RmQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTSUFRUUJISUFGQkFrbHhCSDhnQUNBQk5nSU1RUUFGUVg4TFJRUkFJQUlnQVRZQ0FFRUFRUUZCdWJZQ0lBSVFQUXNMSUFJa0JndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVE3Z2dnQWlnQ0FBVkJmd3NoQXlBQkpBWWdBd3RCQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpZ0MyQUVpQUFSL0lBQkJtSWV2QTJvZ0FUWUNBRUVBQlVGL0N4b0xJQUlrQmd0N0FnSi9BbndqQmlFQkl3WkJFR29rQmlBQlFRaHFJZ0lnQURZQ0FDQUNFRk1FZkNBQ0VGSW9BdGdCSWdBRWZDQUFCSDhnQVNBQVFaQ0hyd05xS3dNQU9RTUFRUUFGUVg4TFJTRUFJQUVyQXdCRUFBQUFBQUFBOEw4Z0FCc0ZSQUFBQUFBQUFQQy9Dd1ZFQUFBQUFBQUE4TDhMSVFRZ0FTUUdJQVFMS2dFQ2Z3Si9Jd1loQVNNR1FSQnFKQVpCNzZnQ1FRTkI5SVlCUWRLMkFrRUJRUUVRQ1NBQkN5UUdDM0VDQW44QmZDTUdJUUlqQmtFUWFpUUdJQUpCQ0dvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlFQUlBRkRBQUFBQUY4Z0FVTUFBSUEvWUhKRkJFQWdBYnNoQkNBQUtBTFlBU0lBQkVBZ0FDQUVFT29JUlFSQUlBSWdCRGtEQUVFQVFRRkIxN1lDSUFJUVBRc0xDd3NnQWlRR0MxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0dEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVnQVJDS0FrVUVRQ0FDSUFFMkFnQkJBRUVCUWZhMkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSVFOZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dHJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNJUUFnQVVIL0FVMEVRQ0FBS0FMWUFTSUFSU0FCUWY4QlMzSUVmMEYvQlNBQUlBRTJBaEJCQUF0RkJFQWdBaUFCTmdJQVFRQkJBVUdadHdJZ0FoQTlDd3NMSUFJa0JndEpBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVEvUWhGSVFBZ0FpZ0NBRUYvSUFBYkJVRi9DeUVESUFFa0JpQURDMG9CQW44akJpRUNJd1pCRUdva0JpQUNRUVJxSWdNZ0FEWUNBQ0FERUZNRVFDQURFRklvQXRnQklBRVErd05GQkVBZ0FpQUJOZ0lBUVFCQkFVR3p0d0lnQWhBOUN3c2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQThBQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RUEFBZ3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE3Z0NCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUU80QWdzZ0FpUUdDeXNCQW44Q2Z5TUdJUUVqQmtFUWFpUUdRWjJuQWtFQlFhQ0hBVUhXdHdKQjBnQkJBUkFKSUFFTEpBWUxDUUJCMElVQktBSUFDNXNFQWdKL0FYNGpCaUVUSXdaQmtPQUFhaVFHSUJOQmdPQUFhaUVVSUFKQmZtcEJBMGtFUUFKQUlCQkJqaFpIQkVBZ0FVRUNJQkJCL3dGeEloUWdGRUVEYkNBRElBUWdCU0FHSUFjZ0NDQUpJQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFJTElCTWdGQ0FOSUE0Z0R5QVFJQkVRcVFjaERTQVNSUTBCSUJKQ0FEY0RBQXdCQ3lBQlFRSkJEa0VxSUFNZ0JDQUZJQVlnQnlBSVJBQUFBQUFBQU93L0lCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUVMSUJNZ0ZDQU9JQThnRVJEbUJpSU9RUUJJQkVBZ0RVRi9OZ0lBSUE0aERRd0JDeUFVS1FNQUloVkNmMUVFUUNBTlFYODJBZ0JCZXlFTkRBRUxJQTBnRmFkQi8vOEJjVUVBSUJWQ2dJRCsvdytEVUJzMkFnQWdFZ1JBSUJJZ0ZUY0RBQXNnRGlFTkN3VkJBU0VOQ3dKL0FrQUNRQ0FDRGdVQUFBRUFBQUVMSUFCRkJFQWdDa0YvTmdJQVFYOE1BZ3NnQUNnQ0hDSU9RUUowSVE4Q1FBSkFJQUlPQkFBQkFRQUJDeUFCUVFBZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBTUZJQUJCQUNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQXdzQUN5QUJRUUVnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFJRklBQkJBU0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1BZ3NBQzBFQkN5RUFJQTFCQVVjRVFDQU5JQUJCQUNBQUlBMXhRUUJJR3lBQVFRRkdHeUVBQ3lBVEpBWWdBQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dScHdKQkFrR2tod0ZCMmJjQ1FTNUI4Z0FRQ1NBQkN5UUdDd3NBUWRDRkFTQUFOZ0lBQ3prQkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVVIa2hxY0NhaWdDQUFWQkFBc2hBaUFCSkFZZ0FndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVFnQWtnQWlnQ0FBVkJBQXNoQXlBQkpBWWdBd3RiQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTQUJRUUJISWdBUS9RTWdBa0hkdHdKQjRiY0NJQUFiTmdJQVFRQkJBVUhtdHdJZ0FoQTlCVUVBSVFFTElBSWtCaUFCQytFRkFncC9BWDBqQmlFQ0l3WkIwQUJxSkFZZ0FrRTRhaUVJSUFKQk1Hb2hDU0FDUWN3QWFpRUVJQUpCeEFCcUlRVWdBa0ZBYXlFSElBSkJ5QUJxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlJREtBTDBBU0FCVEFSQVFmQ0dBU2dDQUF3QkN5QUVRUUEyQWdBZ0JVRi9OZ0lBSUFkREFBQ0F2emdDQUFKQUFrQWdBeWdDOEFFaUFFRitSZ1JBSUFNb0F1Z0JJQU1vQXN3QkVKY0pJQU1vQXVnQklnQUVmeUFFSUFBb0FqUTJBZ0FnQlNBQUtBSTROZ0lBUVFBRlFYOExHaUFGS0FJQUlRWWdCQ2dDQUNFRlFYOGhBRUVBSVFRRFFDQUVJQVpJQkVBZ0FTQUVRY1FBYkNBRmFpZ0NNRVlFUUNBRVFjUUFiQ0FGYWlnQ1BFVUVRQUpBSUFjZ0FFRi9SZ1IvSUFSQnhBQnNJQVZxS0FJMEJTQUhLZ0lBSUFSQnhBQnNJQVZxS2dJMElneGVSUTBCSUF5OEN6WUNBQ0FFSVFBTEN3c2dCRUVCYWlFRURBRUxDeUFBUVg5TUJFQWdBMEYrTmdMd0FRd0NDeUFESUFVb0FqQWlDallDOEFGQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBRVFRUjBJQUpxSUFaQkFuUnFJQUJCeEFCc0lBVnFJQVJCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQkVFQmFpRUVEQUVMQ3lBRFFmZ0JhaUFLUVFKMGFpZ0NBQ0FDRUswSklBTW9BdkFCSVFBTElBQkJmMHdOQUNBREtBTHNBU0FEUWZnQmFpQUFRUUowYWlnQ0FDQURLQUxFQVNBQ0lBY1F6Z1lpQUVFQVNBUkFJQWtnQURZQ0FFRUFRUUZCL0xjQ0lBa1FQU0FEUVg0MkF2QUJEQUVMSUFNb0F2UUJRWDlxSVFBZ0NDQURRZmdCYWlBREtBTHdBVUVDZEdvb0FnQTJBZ0FnQ0NBQU5nSUVRUUJCQVVHUHVBSWdDQkE5SUFNb0F2QUJRWDlNRFFCQkF5QUJJQWNxQWdDN0lBSXFBZ0M3SUFJcUFnUzdJQUlxQWdpN0lBSXFBZ3k3SUFJcUFoQzdJQUlxQWhTN0lBSXFBaGk3SUFJcUFoeTdJQUlxQWlDN0lBSXFBaVM3SUFJcUFpaTdJQUlxQWl5N0VDc2FEQUVMUVFRZ0FSQXNHZ3RCQUFzRlFlaUdBU2dDQUFzaEN5QUNKQVlnQ3d1YUFnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklvQXRnQklnQW9BaXdnQVVvRWYwRUNRZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdBb0FnQWdBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FDZ0NFQ0FBS0FJVUlBQW9BaGdnQUNzRElDQUFLd01vSUFBckF6QWdBQ3NET0NBQVFVQnJLd01BSUFBckEwZ2dBQ3NEVUNBQUt3TllJQUFyQTJBZ0FDc0RhQ0FBS3dOd0lBQXJBM2dnQUNzRGdBRWdBQ3NEaUFFZ0FDc0RrQUVnQUNzRG1BRWdBQ3NEb0FFZ0FDc0RxQUVnQUNzRHNBRWdBQ3NEdUFFZ0FDc0R3QUVnQUNzRHlBRWdBQ3NEMEFFZ0FDc0QyQUVnQUNzRDRBRWdBQ2dDOEFFUUtCcEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVESUFJa0JpQURDODBCQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvQW44Z0F4QlNJZ1FvQXNnQ0lRQWdBVUVBU0NBRUtBTE1BaUFBYTBFRGRTQUJUWElFUUVIc2hnRW9BZ0FNQVFzZ0FrRUFTQ0FCUVFOMElBQnFLQUlFSWdBb0FnUWdBa3h5Qkg5QjhJWUJLQUlBQlNBQUtBSUFJZ0FnQWtIQUFteHFRUkJxRUxRQ1FRRWdBa0hBQW13Z0FHb29BckFDSUFKQndBSnNJQUJxS0FJQUlBSkJ3QUpzSUFCcUtBSUVJQUpCd0FKc0lBQnFLd01JRUNvYVFRQUxDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDeWdCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCRUFnQVJCU0dnc2dBU1FHUVg4TE9BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQlFTeHFCVUhvaGdFTEtBSUFJUUlnQVNRR0lBSUxvQVVCQ1g5QkNFRUlFSXNCSVFkQkNFRUJFSXNCSVFoQkNFRUJFSXNCSVFrRFFDQUZRUVJIQkVBZ0J5Z0NBQ0lFSUFWQkJIUWlBMEVEZEdvZ0JVRUVkQ0FBYWlJR0t3TUFPUU1BSUFOQkFYSkJBM1FnQkdvZ0JVRUVkQ0FBYWlJS0t3TUlPUU1BSUFOQkFuSkJBM1FnQkdwRUFBQUFBQUFBOEQ4NUF3QWdBMEVEY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRUnlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQlhKQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUdja0VEZENBRWFpQUdLd01BSUFWQkJIUWdBV29pQ3lzREFLS2FPUU1BSUFOQkIzSkJBM1FnQkdvZ0Npc0RDQ0FMS3dNQW9wbzVBd0FnQTBFSWNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUWx5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkNuSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVMY2tFRGRDQUVhaUFHS3dNQU9RTUFJQU5CREhKQkEzUWdCR29nQ2lzRENEa0RBQ0FEUVExeVFRTjBJQVJxUkFBQUFBQUFBUEEvT1FNQUlBTkJEbkpCQTNRZ0JHb2dCaXNEQUNBRlFRUjBJQUZxSWdZckF3aWltamtEQUNBRFFROXlRUU4wSUFScUlBb3JBd2dnQmlzRENLS2FPUU1BSUFnb0FnQWlCQ0FGUVFGMElnTkJBM1JxSUFzckF3QTVBd0FnQTBFQmNrRURkQ0FFYWlBR0t3TUlPUU1BSUFWQkFXb2hCUXdCQ3dzZ0J4RFdBUm9nQ1NBSElBZ1FyUUlhSUFrb0FnQWhBVUVBSVFBRFFDQUFRUUpIQkVBZ0FFRVliQ0FDYWlBQVFRTnNJZ05CQTNRZ0FXb3JBd0E1QXdBZ0FFRVliQ0FDYWlBRFFRRnFRUU4wSUFGcUt3TUFPUU1JSUFCQkdHd2dBbW9nQTBFQ2FrRURkQ0FCYWlzREFEa0RFQ0FBUVFGcUlRQU1BUXNMSUFJZ0FTc0RNRGtETUNBQ0lBRXJBemc1QXpnZ0FrRkFhMFFBQUFBQUFBRHdQemtEQUNBSEVFa2dDQkJKSUFrUVNRdlNFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJSElRd2dBU0FDUVg5cUloQnNRUUYwSUFkcUlRWURRQ0FGSUFGSUJFQWdCa0VBT3dFQUlBeEJBRHNCQUNBTVFRSnFJUXdnQlVFQmFpRUZJQVpCQW1vaEJnd0JDd3RCQUNFTUlBY2lCaUFCUVg5cUloRkJBWFJxSVFVRFFDQU1JQUpJQkVBZ0JVRUFPd0VBSUFaQkFEc0JBQ0FCUVFGMElBWnFJUVlnREVFQmFpRU1JQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFR1FRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVF4QkFTRUtRUUFoQlNBQVFRRjBJQWRxSVFNQ2Z3SkFBMEFDUUNBS0lCQk9EUUlnQlNFQVFRRWhDQ0FESVFzRFFDQUlJQkZJQkVBZ0RTMEFBQ0FNTFFBQVNnUkFJQXRCQURzQkFBVUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnREVFQmFpRU1JQWhCQVdvaENDQUxRUUpxSVFzTUFRc0xJQTFCQW1vaERTQU1RUUpxSVF3Z0NrRUJhaUVLSUFBaEJTQUxRUVJxSVFNTUFRc0xRUUJCQTBHb3BRRWdEaEE5UVg4TUFRc2dCRUVNYWlFTlFRRWhBRUVCSVFjRFFDQUhJQVZNQkVBZ0J5QUdLQUlBSWd4R0JFQWdBRUVCYWlFREJTQUFJUU1nREVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBR0lBQTJBZ0FnQXlFQUlBZEJBV29oQnlBR1FRUnFJUVlNQVFzTElBUWdBRUYvYWlJR05nSUlJQVlFZnlBTlFRQWdCa0VDZEJCRkdpQUVRWkNBS0dwQkFDQUdRUVIwRUVVYVFRQWhBd05BSUFNZ0JrZ0VRQ0FFUVl5QUNHb2dBMEVDZENJQVFRSjBhaUFCTmdJQUlBUkJqSUFJYWlBQVFRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUFRUUp5UVFKMGFpQUNOZ0lBSUFSQmpJQUlhaUFBUVFOeVFRSjBha0VBTmdJQUlBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQURRUUowYWlnQ0FFRi9haUlDUVFKMGFpSUFJQVJCa0lEUUFHb2dBMEVIYkNJR1FRSjBhaWdDQUNBQUtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0djZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2dnTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHa2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0EwRUJhaUVEREFFTEN5QUVLQUlJSVFKQkFDRURBMzhnQXlBQ1NBUi9JQVJCa0lBb2FpQURRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUVRUXhxSUFOQkFuUnFLQUlBdHlJVW96a0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlCU2pPUU1BSUFOQkFXb2hBd3dCQlVFQUN3c0ZRUUFMQ3lFVElBNGtCaUFUQzRNQkFRTi9Jd1loQVNNR1FUQnFKQVlnQVVFb2FpSUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lRQWdBVUlBTndNQUlBRkNBRGNEQ0NBQlFnQTNBeEFnQVVJQU53TVlJQUZDQURjRElDQUJJQUFvQXNRQk5nSUFJQUZCQVRZQ0VDQUJJQUFvQXN3Qk5nSU1JQUFvQXRnQklBRVExd2dGUWVpR0FTZ0NBQXNoQXlBQkpBWWdBd3VMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVCRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUFFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF0dEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0lBTVFVaUlFS0FMWUFTSUFLQUlzSUFGS0JIOGdCQ2dDNUFGQjZMd0RJQUJCTUdvZ0FVRUlkR29nQVVFQVNCc2dBcmNRbVFoQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkMzSUJBMzhqQmlFREl3WkJFR29rQmlBRElBQTJBZ0FnQXhCVEJIOGdBeEJTSWdRb0F0Z0JJZ0FvQWl3Z0FVb0VmeUFFS0FMa0FVSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDdDBHQXBBTVEyZ01hUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJTQURKQVlnQlF1UUFnSUNmd2g4SXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlnQzJBRWlBQ2dDTENBQlNnUi9RZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdCQmdLUURLd01BSWdRNUE2Z0JJQUJCaUtRREt3TUFJZ1U1QTdBQklBQkJrS1FES3dNQUlnWTVBN2dCSUFCQm1LUURLd01BSWdjNUE4QUJJQUJCb0tRREt3TUFJZ2c1QThnQklBQkJxS1FES3dNQUlnazVBOUFCSUFCQnNLUURLd01BSWdvNUE5Z0JJQUJCdUtRREt3TUFJZ3M1QStBQklBQWdCQ0FHb0NBSW9DQUtvRVFBQUFBQUFBRFFQNkk1QXpnZ0FFRkFheUFGSUFlZ0lBbWdJQXVnUkFBQUFBQUFBTkEvb2prREFFRUFCVUh3aGdFb0FnQUxCVUhvaGdFb0FnQUxJUU1nQWlRR0lBTUxaQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBRFlDQUNBREVGTUVmeUFERUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ05nSVFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQkNBREpBWWdCQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dEcFFKQkFrR3Nod0ZCbU04Q1FSOUJ4Z0FRQ1NBQkN5UUdDNW9CQVFSL0l3WWhBU01HUWRBQmFpUUdJQUZCd0FGcUlRTWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJQUVnQVVHNEFXb2lBaERJQzBFQVNBUi9JQUFzQUF0QkFFZ0VRQ0FBS0FJQUlRQUxJQU1nQURZQ0FFRUFRUU5CZ2RBQ0lBTVFQVUYvQlVIRXhBTkJ4TVFES0FJQUlnQkJBV28yQWdBZ0FpQUFOZ0lBSUFJUXJBTWdBVUc0QVJCTUdpQUNLQUlBQ3lFRUlBRWtCaUFFQ3p3QkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0FvQXN3Q0lBQW9Bc2dDYTBFRGRRVkJmd3NoQWlBQkpBWWdBZ3RpQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUFJQUZCQUVnRWYwRi9CU0FBS0FMTUFpQUFLQUxJQWlJQWEwRURkU0FCU3dSL0lBRkJBM1FnQUdvb0FnUW9BZ1FGUVg4TEN3VkJmd3NoQXlBQ0pBWWdBd3QzQVFKL0l3WWhBeU1HUVJCcUpBWWdBMEVFYWlJQ0lBQTJBZ0FnQWhCVEJFQWdBaEJTSWdJb0F2UUJJUUFnQVN3QUMwRUFTQVJBSUFFb0FnQWhBUXNnQWlBQUlBRVEzQVlFUUNBQ0lBSW9BdlFCUVFGcU5nTDBBUVZCQUVFRFFjSFFBaUFERUQxQmZ5RUFDd1ZCZnlFQUN5QURKQVlnQUF2VUFRRUVmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hCQ0FDUVF4cUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpRUFJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQUNnQzJBRWdBRUhjQVdvZ0FFSGdBV29pQXhEYkJrVUVRRUVBUVFOQi9OSUNJQVFRUFVGL0RBRUxJQUlnQUNnQ3pBSWlBU0FBUWNnQ2FpSUVLQUlBYTBFRGRUWUNBQ0FDSUFNb0FnQTJBZ1FnQVNBQUtBTFFBa1lFUUNBRUlBSVFsZ0VGSUFFZ0Fpa0RBRGNDQUNBQUlBQW9Bc3dDUVFocU5nTE1BZ3NnQWlnQ0FBc0ZRWDhMSVFVZ0FpUUdJQVVMYndFRGZ5TUdJUU1qQmtFUWFpUUdJQU5CQkdvaUFpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQ0lBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBa0hVQW1vaUFDQUNRZHdCYWhEWkJnUi9JQUFvQWdBRlFRQkJBMEhJMHdJZ0F4QTlRWDhMQlVGL0N5RUVJQU1rQmlBRUM1Y0NBUVIvSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0VvQXNBQklBRW9BdGdERU5FR0lRQWdBU0FBTmdMc0FTQUFCRUFnQVVIb0FXb2hBd1ZCQUVFRFFhTFVBaUFDRUQwZ0FVSG9BV29pQXhDa0NTQUJLQUxzQVNFQUN5QUFCSDhnQUVNQUFLQkFPQUlzUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVNQUFBQS9PQUlvUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFUU5nSWtRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJWVFRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0ljUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWdRUUFGUVg4TEdpQURJQUVvQXNBQkVJQUVOZ0lBUVFBRlFYOExJUVFnQWlRR0lBUUx0Z0VCQlg4akJpRUNJd1pCRUdva0JpQUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lnQW9Bc1FCSWdFRVFDQUJFRGdnQUVFQU5nTEVBU0FBUVFBMkFzZ0JDeUFBRUtrRElBQW9BdHdCRUxnQ0lBSVExd1lnQUVISUFtb2hBMEVBSVFFRFFDQUJJQUFvQXN3Q0lBTW9BZ0FpQkd0QkEzVkpCRUFnQVVFRGRDQUVhaWdDQkNJRUtBSUFFRGdnQkJBNElBRkJBV29oQVF3QkN3c2dBeEJWSUFNUU9DQUFFTE1ESUFBUU9FRUFCVUYvQ3lFRklBSWtCaUFGQys0QkFRUi9Jd1loQkNNR1FSQnFKQVpCeU1RRFFjakVBeWdDQUNJRFFRRnFOZ0lBSUFSQkRHb2lCU0FETmdJQUlBVVFVaUlESUFVb0FnQTJBZ0FnQXlBQU5nTFFBU0FESUFFMkF0UUJJQU1nQVNBQVFRSjBiQ0lBTmdMSUFTQURJQUFRUkRZQ3hBRWdBeUFES0FMSUFVRUVFRGtRUkRZQ3pBRWdBeEMzQnlJQU5nTGNBU0FBUlFSQVFRQkJBMEhCMUFJZ0JCQTlDeUFGS0FJQUlBSVEwd1lnQkVFSWFpSUFJQU1vQXNnQk5nSUFRUUJCQVVIbTFBSWdBQkE5UVFBZ0F5Z0NBQ0FES0FMRUFTQURLQUxJQVNBRFFkZ0Nha0dBcEFNZ0F5Z0N6QUVRS1JvZ0F5Z0NBQ0VHSUFRa0JpQUdDNGNKQVFGL0l3WWhBQ01HUVJCcUpBWkJuS1FDUVJvUTNBRkJvcVFDUWNNQUVJUUJRYXVrQWtIRUFCQ0VBVUcwcEFKQkZCQzJBa0cvcEFKQkZSQzJBa0hQcEFKQkZoQzJBa0hkcEFKQkZ4QzJBVUh2cEFKQnhRQVFoQUVRa2dkQmo2VUNRUnNRM0FGQm9LVUNRUmdRdGdGQnRLVUNRUndRM0FGQnhxVUNRUjBRM0FGQjNLVUNRUmtRdGdGQjg2VUNRUm9RdGdGQmtLWUNRY2NBRUlRQlFaMm1Ba0hJQUJDRUFVR3FwZ0pCeVFBUWhBRkJ1cVlDUVI0UTNBRkJ6YVlDUVJzUXRnRkIxNllDUVJ3UXRnRkI1S1lDUVIwUXRnRkI4YVlDUWNvQUVJUUJRZjZtQWtITEFCQ0VBUkQvQmhEOEJrR3Bwd0pCQVJDMEEwSEFwd0pCQVJDMUFrSFhwd0pCQWhDMEEwSHRwd0pCQWhDMUFrR0RxQUpCS0JEQUFVR1VxQUpCekFBUWhBRkJwYWdDUVNrUXdBRkJzcWdDUWMwQUVJUUJRYitvQWtFcUVNQUJRZGVvQWtIT0FCQ0VBUkR3QmtIOHFBSkJBeEMxQWtHSnFRSkJLeERBQVVHYnFRSkJ6d0FRaEFGQnJha0NRU3dRd0FGQnZha0NRZEFBRUlRQlFjMnBBa0V0RU1BQlFkNnBBa0hSQUJDRUFVSHZxUUpCNklZQkVFdEJqS29DUWV5R0FSQkxRYWlxQWtId2hnRVFTeUFBUVFBMkFnQkJ5YW9DSUFBUVN5QUFRUUUyQWdCQjJxb0NJQUFRU3lBQVFRQTJBZ0JCNnFvQ0lBQVFTeUFBUVFBMkFnQkJnS3NDSUFBUVN5QUFRUUUyQWdCQm1hc0NJQUFRU3lBQVFRRTJBZ0JCc3FzQ0lBQVFTeUFBUWVRQU5nSUFRY3VyQWlBQUVFc2dBRUVBTmdJQVFlYXJBaUFBRUVzZ0FFRUJOZ0lBUVlDc0FpQUFFRXNnQUVFQU5nSUFRWnFzQWlBQUVFc2dBRUVBTmdJQVFiV3NBaUFBRUVzZ0FFRUJOZ0lBUWRDc0FpQUFFRXNnQUVFQ05nSUFRZXFzQWlBQUVFc2dBRUVETmdJQVFZT3RBaUFBRUVzZ0FFRUVOZ0lBUWFtdEFpQUFFRXNnQUVFQU5nSUFRYzZ0QWlBQUVFc2dBRUVBTmdJQVFmQ3RBaUFBRUVzZ0FFRUJOZ0lBUVlpdUFpQUFFRXNnQUVFQ05nSUFRYUt1QWlBQUVFc2dBRUVDTmdJQVFiMnVBaUFBRUVzZ0FFRUZOZ0lBUWQrdUFpQUFFRXNnQUVRQUFBQUFBQURnUHprREFFSHhyZ0pCbVBrQUlBQXJBd0FRRnlBQVFRQTJBZ0JCaHE4Q0lBQVFTeUFBUVFFMkFnQkJtYThDSUFBUVN5QUFRUUkyQWdCQnE2OENJQUFRU3lBQVFRTTJBZ0JCdmE4Q0lBQVFTeUFBUVFRMkFnQkIwSzhDSUFBUVN5QUFRUU0yQWdCQjVxOENJQUFRU3lBQVFZTUVOZ0lBUWZtdkFpQUFFRXNnQUVHREFqWUNBRUdXc0FJZ0FCQkxJQUJCQkRZQ0FFR3lzQUlnQUJCTElBQkJoQVkyQWdCQnhiQUNJQUFRU3lBQVFZUUlOZ0lBUWVPd0FpQUFFRXNnQUVFQU5nSUFRWUd4QWlBQUVFc2dBRUVCTmdJQVFhQ3hBaUFBRUVzZ0FFRUNOZ0lBUWNTeEFpQUFFRXNnQUVFRE5nSUFRZWF4QWlBQUVFc2dBRUVBTmdJQVFZeXlBaUFBRUVzZ0FFRUJOZ0lBUWEyeUFpQUFFRXNnQUVFQ05nSUFRZHl5QWlBQUVFc2dBRUVETmdJQVFZYXpBaUFBRUVzZ0FFRUVOZ0lBUWJHekFpQUFFRXNnQUVFRk5nSUFRZVd6QWlBQUVFc2dBRUVHTmdJQVFaaTBBaUFBRUVzZ0FFRUhOZ0lBUWNXMEFpQUFFRXNnQUVFSU5nSUFRZXkwQWlBQUVFc2dBRUVKTmdJQVFabTFBaUFBRUVzZ0FDUUdDME1BUVp6RUEwSUFOd0lBUWFURUEwSUFOd0lBUWF6RUEwR0FnSUQ4QXpZQ0FFR3d4QU5DQURjQ0FFRzR4QU5DQURjQ0FFSEF4QU5CZ0lDQS9BTTJBZ0FRbkFjTHFBSUNCSDhDZkNNR0lRRWpCa0VRYWlRR0lBQXJBd0FpQlVRQUFBQUFBQUFBQUdaRkJFQWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQjBBQVFQa0gyb2dJUU4wSDVvZ0lRTnlJRUtBSUFRWFJxS0FJQUlBUnFFRHNnQVVHQXpnTVFPaUlDS0FJQUtBSWNJUU1nQWtFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQVJBOElBUWdBeEJBSUFRUVB4QUFDeUFBS3dNSUlnWkVBQUFBQUFBQUFBQm1CRUFnQVNRR0lBWWdCYUVQQlNBQlFjRElBMEdVb3dJUU4wSDlvUUlRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWJxakFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUJFRHdnQWlBQUVFQWdBaEEvRUFBTFJBQUFBQUFBQUFBQUM3WUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDc0RBRVFBQUFBQUFBQUFBR1lFUUNBQlFRQVFGQm9nQUNBQktBSUV0MFNON2JXZzk4YXdQcUlnQVNnQ0FMZWdPUU1JSUFFa0JnVWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQnd3QVFQa0gyb2dJUU4wSDVvZ0lRTnlJQ0tBSUFRWFJxS0FJQUlBSnFFRHNnQVVHQXpnTVFPaUlES0FJQUtBSWNJUUFnQTBFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQVJBOElBSWdBQkJBSUFJUVB4QUFDd3MyQVFGL0l3WWhBU01HUVJCcUpBWWdBVUVBRUJRYUlBQWdBU2dDQkxkRWplMjFvUGZHc0Q2aUlBRW9BZ0Mzb0RrREFDQUJKQVlMUndFQmZ5TUdJUU1qQmtHQUVHb2tCaUFEUVlBUUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3lBQ0VLa0JHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBeUFERUdBUWZpQURKQVlMVFFFRGZ3TkFJQUlnQUNnQ0JDQUFLQUlBSWdOclFRTjFTUVJBSUFKQkEzUWdBMm9vQWdBaUF5Z0NBQ2dDQ0NFRUlBTkJDQ0FCSUFSQkEzRkI5Z1ZxRVFZQUlBSkJBV29oQWd3QkN3c0xGQUFnQUVFTWFrRUFJQUVvQWdSQjk2QUNSaHNMQ0FBZ0FDZ0NEQm9MVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRZFNHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3hRQUlBQkJER3BCQUNBQktBSUVRZjJmQWtZYkN3a0FJQUFvQWd3UU9BdFJBUUovSXdZaEF5TUdRUkJxSkFZZ0FDQUJOZ0lBUVJBUVVTSUNRUUEyQWdRZ0FrRUFOZ0lJSUFKQnVJWUJOZ0lBSUFJZ0FUWUNEQ0FBSUFJMkFnUWdBeUFCTmdJQUlBTWdBVFlDQkNBREpBWUxsUklDQzM4QmZpTUdJUXdqQmtFZ2FpUUdJQXhCR0dvaENDQU1RUkJxSVE0Z0FVRjlha0VGU3dSL0lBSkJmellDQUNBRFFRQTJBZ0FnQkVRQUFBQUFBQUR3dnprREFFRi9CUUovSUF4QkFEWUNBQ0FNSUFFZ0FVRi9haUlMYkRZQ0JDQU1JQUVnQVd3aUQwRi9hallDQ0NBTUlBczJBZ3hCZnlFSkEwQWdCMEVFUndSQUlBQWdCMEVDZENBTWFpZ0NBR29zQUFBaERTQUhRUUZxSVFjZ0RTQUtJQTFCL3dGeElBcEIvd0Z4U2hzaENpQU5JQWtnRFVIL0FYRWdDVUgvQVhGSUd5RUpEQUVMQ3lBS1FmOEJjU0lISUFsQi93RnhJZ3ByUVI1SUJFQWdBa0YvTmdJQUlBTkJBRFlDQUNBRVJBQUFBQUFBQVBDL09RTUFRWDRNQVFzZ0J5QUtha0VCZGlFSlFRQWhCd05BSUFkQkJFY0VRQ0FISUFocUlBa2dBQ0FIUVFKMElBeHFLQUlBYWkwQUFFczZBQUFnQjBFQmFpRUhEQUVMQzBFQUlRY0NRQUpBQTBBQ1FDQUhRUVJQRFFJZ0IwRUJhaUVLSUFjZ0NHb3NBQUJCQVVZRVFDQUtRUU54SUFocUxBQUFRUUZHQkVBZ0IwRUNha0VEY1NBSWFpd0FBRVVOQWdzTElBb2hCd3dCQ3dzZ0F5QUhOZ0lBREFFTElBZEJCRVlFUUNBQ1FYODJBZ0FnQTBFQU5nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZRd0NDd3RCL3dFaENrRUFJUWNEUUNBSElBOUhCRUJCQUNBQUlBZHFJZzB0QUFBaUVDQUpheUlJYXlBSUlBaEJBRWdiSVFnZ0RTQUpJQkJMT2dBQUlBZ2dDaUFJSUFwSUd5RUtJQWRCQVdvaEJ3d0JDd3NDUUFKQUFrQUNRQUpBSUFNb0FnQWlBdzRFQUFFQ0F3UUxBMEFnQXlBQlNBUkFJQU1nQzBZaENDQUJJQU5zSVFsQkFDRUhBMEFnQVNBSFJ3UkFJQU1nQjNJRVFDQUlJQWRGSUFjZ0MwWnljVVVFUUNBQUlBY2dDV3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQjBFQmFpRUhEQUVMQ3lBRFFRRnFJUU1NQVFVTUJRc0FBQXNBQzBFQUlRY0RRQ0FISUFGSUJFQWdCMFVoQ0NBSElBdEdJUWtnQ3lFREEwQWdBMEYvU2dSQUlBZ2dBeUFMUmlJTmNVVUVRQ0FKSUEwZ0EwVnljVVVFUUNBQUlBY2dBU0FEYkdwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0EwRi9haUVEREFFTEN5QUhRUUZxSVFjTUFRVU1CQXNBQUFzQUN5QUxJUU1EUUNBRFFYOUtCRUFnQTBVZ0F5QUxSbkloQ0NBQklBTnNJUWtnQ3lFSEEwQWdCMEYvU2dSQUlBTWdCM0pGSUFjZ0MwWWdDSEZ5UlFSQUlBQWdCeUFKYW1vc0FBQkJBRWV0SUJKQ0FZYUVJUklMSUFkQmYyb2hCd3dCQ3dzZ0EwRi9haUVEREFFRkRBTUxBQUFMQUFzZ0N5RURBMEFnQTBGL1NnUkFJQU1nQzBZaENDQURSU0VKUVFBaEJ3TkFJQWNnQVVnRVFDQUpJQWNnQzBaeElBTWdCM0pGSUFnZ0IwVnhjbkpGQkVBZ0FDQURJQUVnQjJ4cWFpd0FBRUVBUjYwZ0VrSUJob1FoRWdzZ0IwRUJhaUVIREFFTEN5QURRWDlxSVFNTUFRc0xDeUFFUkFBQUFBQUFBUEEvSUFxM1JBQUFBQUFBQUQ1QW95QUtRUjVLR3prREFBSkFBa0FDUUFKQUFrQWdCVUdEQW1zT2d3Z0FBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQVFNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQWdJREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd3NnRGlBU3AwSGdDV29zQUFBaUFLdzNBd0FnQUVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJRc01Bd3NnRGlBU3B5SUFRZUFJYWl3QUFDSUJyRGNEQUNBR0JFQWdCaUFBUWFBSmFpMEFBRFlDQUFzZ0FVRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CQXNNQWdzZ0JTQVNRUUFnRGhDMUF5SUFRUUJJQkVBZ0FrRi9OZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmQXdEQ3lBQVFRQkhJQVpCQUVkeEJFQWdCaUFBTmdJQUN3d0JDeUFPSUJJM0F3QUxJQUlnRGlrREFENENBRUVBQ3dzaEVTQU1KQVlnRVFzbEFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBQ0FCRUtzSEM2OEJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDQUJLQUlBTmdJQUlBQWdBU2dDQkRZQ0JDQUFJQUVvQWdnMkFnZ2dBQ0FCS0FJTU5nSU1JQUFnQVNnQ0VEWUNFQ0FBSUFFb0FoUTJBaFFnQWlBQktBSVlJZ1EyQWdBZ0FrRUVhaUlESUFFb0Fod2lBVFlDQUNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnQUZRUUFMSVFFZ0FpQUFLQUlZTmdJQUlBQWdCRFlDR0NBRElBQW9BaHcyQWdBZ0FDQUJOZ0ljSUFJUWxRRWdBaVFHQ3pBQkFYOGdBQ2dDQ0NFREEwQWdBeUFDTEFBQU9nQUFJQUFnQUNnQ0NFRUJhaUlETmdJSUlBRkJmMm9pQVEwQUN3dTVBUUVGZnlNR0lRUWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURheUFCU1FSQVFmLy8vLzhISUFFZ0F5QUFLQUlBYTJvaUEwa0VRQkFBQlNBRUlBTWdBQ2dDQ0NBQUtBSUFJZ1ZySWdaQkFYUWlCeUFISUFOSkcwSC8vLy8vQnlBR1FmLy8vLzhEU1JzZ0FDZ0NCQ0FGYXlBQVFRaHFFTmdDSUFRZ0FTQUNFS3dISUFBZ0JCRFhBaUFFRU5ZQ0N3VURRQ0FESUFJc0FBQTZBQUFnQUNBQUtBSUVRUUZxSWdNMkFnUWdBVUYvYWlJQkRRQUxDeUFFSkFZTE9BRUNmeUFBS0FJRUlBQW9BZ0FpQkdzaUF5QUJTUVJBSUFBZ0FTQURheUFDRUswSEJTQURJQUZMQkVBZ0FDQUJJQVJxTmdJRUN3c0xJZ0FnQUNBQklBQW9BZ1JCZm1xekVPTUJJQUlnQUNnQ0NFRithck1RNHdFUVRRdGhBUUY5SUFNUTlnSWdCSlFoQlNBREVQVUNJQVNVSVFNZ0FDQUZPQUlBSUFBZ0E0dzRBZ1FnQUNBQk9BSUlJQUFnQXpnQ0RDQUFJQVU0QWhBZ0FDQUNPQUlVSUFCREFBQUFBRGdDR0NBQVF3QUFBQUE0QWh3Z0FFTUFBSUEvT0FJZ0N5SUFJQUZCQ0JBNUlBQnFJZ0FnQUMwQUFDQUNRZjhCY1NBQlFRZHhkSEk2QUFBTGl3RUJDSDhnQUVIVUFCRFpBMEVrSVFWQkl5RUdRU1FoQndOQUlBSkJKVWNFUUNBQ1FRSjBJQUZxSVFrZ0FrRUJhaUlDSVFnZ0JDRURBMEFnQXlBSFJ3UkFJQUFnQXlBSktnSUFJQWhCQW5RZ0FXb3FBZ0JkRUxFSElBaEJBV29oQ0NBRFFRRnFJUU1NQVFzTElBWWdCMm9oQnlBRUlBVnFJUVFnQlVGL2FpRUZJQVpCZjJvaEJnd0JDd3NMcUE0Q0lIOENmU01HSVJJakJrSFFBbW9rQmlBU1FhQUNhaUlSSUFJcUFnQWdBaW9DQkNBQ0tnSUlRd0FBZ0Q4Z0Fpb0NEQ0FRbENJUUlCQkRBQUNBUDEwYklqRVFzQWNnRVNvQ0NDRXlJQkVxQWhRaEVDQVNRZkFCYWlJVElCRWdBeEJiSUJOQkNHb2lHQ0FSSUFOQkNHb1FXeUFUUVJCcUloa2dFU0FEUVJCcUVGc2dFMEVZYWlJYUlCRWdBMEVZYWhCYklCTkJJR29pR3lBUklBTkJJR29RV3lBVFFTaHFJaHdnRVNBRFFTaHFFRnNnRWtIQUFXb2lGQ0FSSUFRUVd5QVVRUWhxSWgwZ0VTQUVRUWhxRUZzZ0ZFRVFhaUllSUJFZ0JFRVFhaEJiSUJSQkdHb2lIeUFSSUFSQkdHb1FXeUFVUVNCcUlpQWdFU0FFUVNCcUVGc2dGRUVvYWlJaElCRWdCRUVvYWhCYklCSkJrQUZxSWhVZ0VTQUZFRnNnRlVFSWFpSWlJQkVnQlVFSWFoQmJJQlZCRUdvaUl5QVJJQVZCRUdvUVd5QVZRUmhxSWlRZ0VTQUZRUmhxRUZzZ0ZVRWdhaUlsSUJFZ0JVRWdhaEJiSUJWQktHb2lKaUFSSUFWQktHb1FXeUFTUWVBQWFpSVdJQkVnQmhCYklCWkJDR29pSnlBUklBWkJDR29RV3lBV1FSQnFJaWdnRVNBR1FSQnFFRnNnRmtFWWFpSXBJQkVnQmtFWWFoQmJJQlpCSUdvaUtpQVJJQVpCSUdvUVd5QVdRU2hxSWlzZ0VTQUdRU2hxRUZzZ0VrRXdhaUlYSUJFZ0J4QmJJQmRCQ0dvaUxDQVJJQWRCQ0dvUVd5QVhRUkJxSWkwZ0VTQUhRUkJxRUZzZ0YwRVlhaUl1SUJFZ0IwRVlhaEJiSUJkQklHb2lMeUFSSUFkQklHb1FXeUFYUVNocUlqQWdFU0FIUVNocUVGc2dFaUFSSUFnUVd5QVNRUWhxSWdZZ0VTQUlRUWhxRUZzZ0VrRVFhaUlGSUJFZ0NFRVFhaEJiSUJKQkdHb2lCQ0FSSUFoQkdHb1FXeUFTUVNCcUlnTWdFU0FJUVNCcUVGc2dFa0VvYWlJQ0lCRWdDRUVvYWhCYklBRWdFa0hJQW1vaUNDQVNRY1FDYWlJSElERWdENVFRdHdFZ0FDQUJJQklxQWdBZ0Vpb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnQmlvQ0FDQVNLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSUVJQUFnQVNBRktnSUFJQklxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBZ2dnQUNBQklBUXFBZ0FnRWlvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDRENBQUlBRWdBeW9DQUNBU0tnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FJUUlBQWdBU0FDS2dJQUlCSXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFoUWdBU0FJSUFjZ01TQU9sQkMzQVNBQUlBRWdGeW9DQUNBWEtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FJWUlBQWdBU0FzS2dJQUlCY3FBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFod2dBQ0FCSUMwcUFnQWdGeW9DRkNBSUtBSUFJQWNvQWdBUVdUZ0NJQ0FBSUFFZ0xpb0NBQ0FYS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUlrSUFBZ0FTQXZLZ0lBSUJjcUFpUWdDQ2dDQUNBSEtBSUFFRms0QWlnZ0FDQUJJREFxQWdBZ0Z5b0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ0xDQUJJQWdnQnlBeElBMlVFTGNCSUFBZ0FTQVdLZ0lBSUJZcUFnUWdDQ2dDQUNBSEtBSUFFRms0QWpBZ0FDQUJJQ2NxQWdBZ0Zpb0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ05DQUFJQUVnS0NvQ0FDQVdLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BSTRJQUFnQVNBcEtnSUFJQllxQWh3Z0NDZ0NBQ0FIS0FJQUVGazRBandnQUVGQWF5QUJJQ29xQWdBZ0Zpb0NKQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnS3lvQ0FDQVdLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BSkVJQUVnQ0NBSElERWdESlFRdHdFZ0FDQUJJQlVxQWdBZ0ZTb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ1NDQUFJQUVnSWlvQ0FDQVZLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSk1JQUFnQVNBaktnSUFJQlVxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBbEFnQUNBQklDUXFBZ0FnRlNvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDVkNBQUlBRWdKU29DQUNBVktnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FKWUlBQWdBU0FtS2dJQUlCVXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFsd2dBU0FJSUFjZ01TQUxsQkMzQVNBQUlBRWdGQ29DQUNBVUtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FKZ0lBQWdBU0FkS2dJQUlCUXFBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFtUWdBQ0FCSUI0cUFnQWdGQ29DRkNBSUtBSUFJQWNvQWdBUVdUZ0NhQ0FBSUFFZ0h5b0NBQ0FVS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUpzSUFBZ0FTQWdLZ0lBSUJRcUFpUWdDQ2dDQUNBSEtBSUFFRms0QW5BZ0FDQUJJQ0VxQWdBZ0ZDb0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ2RDQUJJQWdnQnlBeElBcVVFTGNCSUFBZ0FTQVRLZ0lBSUJNcUFnUWdDQ2dDQUNBSEtBSUFFRms0QW5nZ0FDQUJJQmdxQWdBZ0V5b0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ2ZDQUFJQUVnR1NvQ0FDQVRLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BS0FBU0FBSUFFZ0dpb0NBQ0FUS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUtFQVNBQUlBRWdHeW9DQUNBVEtnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FLSUFTQUFJQUVnSENvQ0FDQVRLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BS01BU0FCSUFnZ0J5QXhJQW1VRUxjQklBQWdBU0F5SUJBZ0NDZ0NBQ0FIS0FJQUVGazRBcEFCSUJJa0JrRUJDMHdCQW44akJpRVJJd1pCb0FGcUpBWWdFU0FCSUFJZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMTUhCSDhnQUNBUkVMSUhRUUVGUVFBTElSSWdFU1FHSUJJTHRnUUJCbjhqQmlFVEl3WkJFR29rQmlBQlJRUkFJQk5Cd01nRFFjZVdBaEEzUWVhV0FoQTNRZStpQWhBM1Faa0VFRDVCOXFJQ0VEZEIxSmNDRURjaUVTQVJLQUlBUVhScUtBSUFhaEE3SUJOQmdNNERFRG9pRWlnQ0FDZ0NIQ0VVSUJKQkNpQVVRVDl4UVlvQmFoRUNBQ0VTSUJNUVBDQVJJQklRUUNBUkVEOFFBQXNnQUJCeElBSW9BZ1FpRkNBQ0tBSUFJaFZyUVJRUU9VY0VRQ0FUUWNESUEwSGtsd0lRTjBIbWxnSVFOMEh2b2dJUU4wR2FCQkErUWZhaUFoQTNRWm1ZQWhBM0loRWdFU2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWhJb0FnQW9BaHdoRmlBU1FRb2dGa0UvY1VHS0FXb1JBZ0FoRWlBVEVEd2dFU0FTRUVBZ0VSQS9FQUFMUVFBaEVrRUFJUkVEUUNBU0lCUWdGV3RCRkJBNUloUkpCRUFnQUNnQ0JDQVJJQUFvQWdCc2FpQUJJQUlvQWdBZ0VrRVViR29nQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxRSEJFQWdBQ2dDRUNBUlFSUnNhaUlVSUFJb0FnQWdFa0VVYkdvaUZTa0NBRGNDQUNBVUlCVXBBZ2czQWdnZ0ZDQVZMQUFRT2dBUUlCRkJBV29oRVFzZ0VrRUJhaUVTSUFJb0FnUWhGQ0FDS0FJQUlSVU1BUXNMSUJFZ0ZFWUVRQ0FBSUJFUXZBTWdFeVFHQlNBVFFjRElBMEcrbUFJUU4wSG1sZ0lRTjBIdm9nSVFOMEhwQkJBK1FmYWlBaEEzUWZHWUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQVRFRHdnQUNBQkVFQWdBQkEvRUFBTEMzTUFJQUVRMGdNZ0FTQURLQUlFSUFNb0FnQnJRUlFRT1JDOEF5QUJJQUlnQXlBQUlBQkJNR29nQUVIZ0FHb2dBRUdRQVdvZ0FFSEFBV29nQUVId0FXb2dBQ29Db0FJZ0FDb0NwQUlnQUNvQ3FBSWdBQ29DckFJZ0FDb0NzQUlnQUNvQ3RBSWdBQ29DdUFJZ0FDb0N2QUlRdFFjTHh3TUJEWDhqQmlFQ0l3WkJRR3NrQmlBQ1FUaHFJUWtnQWtFd2FpRUtJQUpCS0dvaEN5QUNRU0JxSVFNZ0FrRVlhaUVGSUFKQkVHb2hCaUFDUVFocUlRQkJJQkJFSWdGRkJFQkJBRUVEUWJuWUFpQUNFRDFCQVJBQkN5QUJRUUEyQWdBZ0FVRXlOZ0lFSUFGQkVEWUNIQ0FCUWNnQkVFUWlCellDQ0NBSFJRUkFRUUJCQTBHNTJBSWdBQkE5UVFFUUFRc2dBVUdnQmhCRUlnZzJBZ3dnQ0VVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBRkJvQVlRUkNJQU5nSVVJQUJGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQlFjQU1FRVFpQURZQ0VDQUFSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQVVIQURCQkVJZ0EyQWhnZ0FFVUVRRUVBUVFOQnVkZ0NJQXNRUFVFQkVBRUxBa0FDUUFKQUEwQUNRQ0FFUVRKT0JFQWdBU0VNREFVTElBUkJBblFnQjJwQkFEWUNBQ0FFUVFKMElRVkJBQ0VEQTBBZ0EwRUVTUVJBSUFNZ0JXb2lCa0VDZENBSWFrR0FHQkJFSWdBMkFnQWdBRVVOQWtHQUNCQkVJUUFnQVNnQ0ZDQUdRUUowYWlBQU5nSUFJQUJGRFFRZ0EwRUJhaUVEREFFTEN5QUVRUUZxSVFRTUFRc0xRUUJCQTBHNTJBSWdDaEE5REFFTFFRQkJBMEc1MkFJZ0NSQTlDMEVCRUFFTElBSWtCaUFNQzZrQkFDQUFRZEFWUVF3UXVBRWdBRUV3YWtHQUZrRU1FTGdCSUFCQjRBQnFRYkFXUVF3UXVBRWdBRUdRQVdwQjRCWkJEQkM0QVNBQVFjQUJha0dRRjBFTUVMZ0JJQUJCOEFGcVFjQVhRUXdRdUFFZ0FFUE56TXc5T0FLZ0FpQUFRek16TXo0NEFxUUNJQUJEQUFDQVBqZ0NxQUlnQUVObVpxWStPQUtzQWlBQVE4M016RDQ0QXJBQ0lBQkRNelB6UGpnQ3RBSWdBRVBOekF3L09BSzRBaUFBUXdBQTRFQTRBcndDQzA4QkFYMGdBVU1BQUFBQU9BSUFJQUpCZnpZQ0FDQUFRZVFBYWlFQUEwQWdBQ2dDQUNJQUJFQWdBeUFBS0FJTXMxMEVRQ0FDSUFBb0FnZzJBZ0FnQVNBQUtBSU1zeUlET0FJQUN3d0JDd3NMdXdNQ0NuOERmU01HSVFVakJrRVFhaVFHSUFGQkFFd0VRQ0FGUWNESUEwSDFsQUlRTjBHU2xRSVFOMEh2b2dJUU4wRTFFRDVCOXFJQ0VEZEJoSllDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWtFQVRBUkFJQVZCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FUWVFQa0gyb2dJUU4wRzBsZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFS0lBWkJQM0ZCaWdGcUVRSUFJUVFnQlJBOElBTWdCQkJBSUFNUVB4QUFDeUFDUVg5cUlnbEJBblFnQUdvaENpQUJRWDlxSVFjRFFDQUtLZ0lBSVEwZ0NDQUhTQVJBSUFnaEFTQUhJUU1EUUFOQUlBRkJBV29oQkNBQlFRSjBJQUJxSWdzcUFnQWlEaUFOWFFSQUlBUWhBUXdCQ3dzRFFDQURRWDlxSVFZZ0RTQURRUUowSUFCcUlnd3FBZ0FpRDEwRVFDQUdJUU1NQVFzTElBRWdBMHdFUUNBTElBODRBZ0FnRENBT09BSUFJQVFoQVNBR0lRTUxJQUVnQTB3TkFBc2dCeUFESUFFZ0FrZ2JJUWNnQVNBSUlBTWdDVWdiSVFnTUFRc0xJQVVrQmlBTkN6VUJBWDBnQVJEMkFpQUNsQ0VESUFFUTlRSWdBcFFoQVNBQUlBTTRBZ0FnQUNBQmpEZ0NCQ0FBSUFFNEFnZ2dBQ0FET0FJTUMwSUJBWDhnQUVFUUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBTmdJSUlBUWdBeWdDQkRZQ0RDQUFRUUU2QUFnZ0JDQUNOZ0lFSUFSQkFEWUNBQXVhQVFFQmZTQUFLQUkwc2lFSklBRWdCU0FBS2dJVUlnV1RJQUFxQWhnZ0JaTVEzZ0VnQ1pRNEFnQWdBQ2dDT0xJaEJTQUNJQVlnQUNvQ0hDSUdreUFBS2dJZ0lBYVRFTjRCSUFXVU9BSUFJQU1nQjd0RUdDMUVWUHNoQ1VDZ1JJUEl5VzB3WDhRL29pQUFLQUk4dDZLMk9BSUFJQUJCUUdzb0FnQ3lJUVVnQkNBSUlBQXFBaVFpQnBNZ0FDb0NLQ0FHa3hEZUFTQUZsRGdDQUF1N0RBTUxmd1o5QVh3akJpRUlJd1pCRUdva0JpQUFLZ0lVSWhBZ0FWNEVmMEVBQlNBQUtnSVlJaEVnQVY4RWYwRUFCU0FBS2dJY0loSWdBbDRFZjBFQUJTQUFLZ0lnSWhNZ0FsOEVmMEVBQlNBRHV5SVdSQmd0UkZUN0lRbkFaU0FXUkJndFJGVDdJUWxBWkhJRWYwRUFCU0FBS2dJa0loUWdCRjRFZjBFQUJTQUFLZ0lvSWhVZ0JGOEVmMEVBQlNBUUlBRmZSUVJBSUFoQndNZ0RRWkdLQWhBM1FiT0tBaEEzUWUraUFoQTNRZWdDRUQ1QjlxSUNFRGRCczRzQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0VTQUJYa1VFUUNBSVFjRElBMEhDaXdJUU4wR3ppZ0lRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUWJPTEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCSWdBbDlGQkVBZ0NFSEF5QU5CNDRzQ0VEZEJzNG9DRURkQjc2SUNFRGRCNmdJUVBrSDJvZ0lRTjBHRmpBSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVRJQUplUlFSQUlBaEJ3TWdEUVpTTUFoQTNRYk9LQWhBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQmhZd0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dGa1FZTFVSVSt5RUp3R1JGQkVBZ0NFSEF5QU5CdFl3Q0VEZEJzNG9DRURkQjc2SUNFRGRCN0FJUVBrSDJvZ0lRTjBIWWpBSVFOeUlHS0FJQVFYUnFLQUlBSUFacUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVdSQmd0UkZUN0lRbEFaVVVFUUNBSVFjRElBMEhyakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEh0QWhBK1FmYWlBaEEzUWRpTUFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCUWdCRjlGQkVBZ0NFSEF5QU5Cam8wQ0VEZEJzNG9DRURkQjc2SUNFRGRCN2dJUVBrSDJvZ0lRTjBHNGpRSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVZJQVJlUlFSQUlBaEJ3TWdEUWN1TkFoQTNRYk9LQWhBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQnVJMENFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dBQ0FBUWNRQWFpSUpJQUJCeUFCcUlnWWdBRUhNQUdvaUJTQUFRZEFBYWlJSElBRWdBaUFESUFRUXZRY2dDU29DQUVNQUFBQy9rbzRRUXlFS0lBWXFBZ0JEQUFBQXY1S09FRU1oQ3dKL0lBVXFBZ0JEQUFBQXY1S09FRU1oRGlBSEtnSUFRd0FBQUwrU2poQkRJUXdnRGlBQUtBSThJZ1ZxQ3lBRkVFOGhEU0FLUVFCSUJIOUJBQVVnQzBFQVNDQUtRUUZxSWdrZ0FDZ0NORTV5Qkg5QkFBVWdERUVBU0NBTFFRRnFJZ1lnQUNnQ09FNXlCSDlCQUFVZ0RFRUJhaUlISUFCQlFHc29BZ0JJQkg4Z0RVRUJhaUFGRUU4aEJTQUFJQUFnQ2lBTElBMGdEQkI4RUhzZ0FDQUFJQWtnQ3lBTklBd1FmQkI3SUFBZ0FDQUpJQVlnRFNBTUVId1FleUFBSUFBZ0NTQUdJQVVnREJCOEVIc2dBQ0FBSUFrZ0JpQUZJQWNRZkJCN0lBQWdBQ0FKSUFZZ0RTQUhFSHdRZXlBQUlBQWdDU0FMSUFVZ0RCQjhFSHNnQUNBQUlBa2dDeUFGSUFjUWZCQjdJQUFnQUNBSklBc2dEU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdEQkI4RUhzZ0FDQUFJQW9nQmlBRklBd1FmQkI3SUFBZ0FDQUtJQVlnQlNBSEVId1FleUFBSUFBZ0NpQUdJQTBnQnhCOEVIc2dBQ0FBSUFvZ0N5QUZJQXdRZkJCN0lBQWdBQ0FLSUFzZ0JTQUhFSHdRZXlBQUlBQWdDaUFMSUEwZ0J4QjhFSHRCQVFWQkFBc0xDd3NMQ3dzTEN3c0xJUThnQ0NRR0lBOExKd0FnQUFSL0lBQkI4SWF2QTJvaUFDZ0NBQVIvSUFCQkFEWUNBRUVBQlVGL0N3VkJmd3NhQzRjRUFnVi9BWHdqQmlFTkl3WkJJR29rQmlBTlFSQnFJUTRnQXlBSElBdVRJZ2M0QWdBQ1FBSkFJQWU3SWhKRUdDMUVWUHNoQ2NCbEJFQWdFa1FZTFVSVSt5RVpRS0MySVFjTUFRVWdFa1FZTFVSVSt5RUpRR1FFUUNBU1JCZ3RSRlQ3SVJuQW9MWWhCd3dDQ3dzTUFRc2dBeUFIT0FJQUN5QUh1eUlTUkJndFJGVDdJUW5BWkVVRVFDQU9RY0RJQTBHMWpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIVUF4QStRZmFpQWhBM1FkaU1BaEEzSWc4Z0R5Z0NBRUYwYWlnQ0FHb1FPeUFPUVlET0F4QTZJaEFvQWdBb0Fod2hFU0FRUVFvZ0VVRS9jVUdLQVdvUkFnQWhFQ0FPRUR3Z0R5QVFFRUFnRHhBL0VBQUxJQkpFR0MxRVZQc2hDVUJsQkVBZ0JDQUlJQXdRM2dFaUJ6Z0NBQ0FOSUFNcUFnQWdCeEM3QnlBRUlBUXFBZ0FRMGdFZ0FDb0NNSlE0QWdBZ0RTb0NDQ0VISUEwcUFnd2hDQ0FCSUFVZ0RTb0NBQ0lGSUFtVUlBMHFBZ1FpQ3lBS2xKS1RJQVVnQUNvQ0NKUWdDeUFBS2dJTWxKS1NPQUlBSUFJZ0JpQUhJQW1VSUFnZ0NwU1NreUFISUFBcUFnaVVJQWdnQUNvQ0RKU1NramdDQUNBTkpBWUZJQTVCd01nRFFldU1BaEEzUWJPS0FoQTNRZStpQWhBM1FkVURFRDVCOXFJQ0VEZEIySXdDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUE1QmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUE0UVBDQUFJQUVRUUNBQUVEOFFBQXNMN1FRQ0IzOENmU01HSVFjakJrRVFhaVFHSUFkQkRHb2hCQ0FBS0FJQUlBQW9BZ1FReGdFaENpQUhJQU1RaEFJZ0EwRUFUQVJBSUFSQndNZ0RRYm1TQWhBM1FkbVNBaEEzUWUraUFoQTNRZEFCRUQ1QjlxSUNFRGRCMjVNQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NBRUVBVEFSQUlBUkJ3TWdEUWZHVEFoQTNRZG1TQWhBM1FlK2lBaEEzUWRFQkVENUI5cUlDRURkQm01UUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQkVFQVRBUkFJQVJCd01nRFFiS1VBaEEzUWRtU0FoQTNRZStpQWhBM1FkSUJFRDVCOXFJQ0VEZEIzWlFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQ3JJaEMwRUFJUVFEUUNBRElBUkhCRUFnQkVFQ2RDSUZRUUowSUFGcUtnSU1JQVZCQW5RZ0Ftb3FBZ3dRM2dFZ0M1UWhEQ0FIS0FJQUlBUkJBblJxSUF3NEFnQWdCRUVCYWlFRURBRUxDeUFIS0FJQUlnRWdCeWdDQkNBQmEwRUNkU0lCSUFGQkFoQTVJQUZCQVhGQmYycHFFTG9IUXdBQWdENlVJUXNnQUVFRklBQXFBaGdnQUNvQ0ZKTWdDNVdORUVNUXhnRTJBalFnQUVFRklBQXFBaUFnQUNvQ0hKTWdDNVdORUVNUXhnRWlBVFlDT0NBQUlBRWdBQ2dDTkd3aUFUWUNWQ0FBSUFFZ0FDZ0NQR3cyQWxnZ0J4QlZJQWNrQmd1N0FnRUtmeU1HSVFVakJrRVFhaVFHSUFWQkRHb2hDU0FGUVFocUlRb2dCVUVFYWlFTElBQkIzQUJxRUwwRElBTUVRQ0FBUWZBQWFpSU1JQU5CQW5RUWh3RWdBRUg4QUdvaURTQURFSWNCSUFBc0FCQUVRQ0FBSUFFZ0FpQURFTUVIQ3dOQUlBY2dBMGdFUUNBQUlBa2dDaUFMSUFVZ0IwRUNkQ0lFUVFKMElBRnFJZ2dxQWdBZ0NDb0NCQ0FJS2dJSUlBZ3FBZ3dnQkVFQ2RDQUNhaUlFS2dJQUlBUXFBZ1FnQkNvQ0NDQUVLZ0lNRU1BSElBQWdDU29DQUNBS0tnSUFJQXNxQWdBZ0JTb0NBQkMrQndSQUlBd29BZ0FnQmtFRWRHb2lCQ0FBS0FKRU5nSUFJQVFnQUNnQ1NEWUNCQ0FFSUFBb0FrdzJBZ2dnQkNBQUtBSlFOZ0lNSUEwb0FnQWdCa0VDZEdvZ0J6WUNBQ0FHUVFGcUlRWUxJQWRCQVdvaEJ3d0JDd3NnRENBR1FRSjBFSWNCSUEwZ0JoQ0hBUXNnQlNRR0M0TUJBQ0FBSUFFNEFoUWdBQ0FDT0FJWUlBQWdBemdDSENBQUlBUTRBaUFnQUVNQUFJQy9PQUlrSUFCREFBQ0FQemdDS0NBQVFRQTJBalFnQUVFQU5nSTRJQUJCRERZQ1BDQUFRVUJyUVFvMkFnQWdBRUVBTmdKVUlBQkJBRFlDV0NBQVF3QUFJRUU0QWl3Z0FFUFlXOTQrT0FJd0lBQkJBVG9BRUNBQVFkd0FhaEM5QXdzcEFRRi9JQUFvQWdnUXZnTWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDd3VQQVFFQmZ5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFUb0FFQ0FBUVJScUlnRkNBRGNDQUNBQlFnQTNBZ2dnQVVJQU53SVFJQUZDQURjQ0dDQUJRZ0EzQWlBZ0FVSUFOd0lvSUFGQ0FEY0NNQ0FCUWdBM0FqZ2dBVUZBYTBJQU53SUFJQUZDQURjQ1NDQUJRZ0EzQWxBZ0FFR0FnSUQ4QXpZQ2JDQUFRZ0EzQW5BZ0FFSUFOd0o0SUFCQ0FEY0NnQUVMTFFBZ0FDQUJRVUJyS0FJQU5nSUFJQUFnQVNnQ1JDSUFOZ0lFSUFBRVFDQUFJQUFvQWdSQkFXbzJBZ1FMQ3ljQUlBQUVmeUFBUWZDR3J3TnFJZ0FvQWdBRWYwRi9CU0FBSUFFMkFnQkJBQXNGUVg4TEdnc3JBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUJOZ0lBSUFBb0FnQkJCR29nQWhEREFpRURJQUlrQmlBREM3Z0JBUU4vSUFFZ0FTZ0NCRUVBSUFJZ0FDZ0NBQ0lFYXlJRFFRSjFhMEVDZEdvaUJUWUNCQ0FEUVFCS0JFQWdCU0FFSUFNUVRCb0xJQUFvQWdRZ0Ftc2lBMEVBU2dSQUlBRW9BZ2dnQWlBREVFd2FJQUVnQVNnQ0NDQURRUUoyUVFKMGFqWUNDQXNnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzBRQkFuOGdBaWdDQUNFRElBRW9BZ0FoQWdOQUlBSWdBMGNFUUNBQUtBSUlJZ1FnQWlnQ0FEWUNBQ0FBSUFSQkJHbzJBZ2dnQVNBQ1FRUnFJZ0kyQWdBTUFRc0xDMk1CQkg4Z0FDZ0NCQ0lGSUFOcklnWkJBblVpQjBFQ2RDQUJhaUVFSUFVaEF3TkFJQVFnQWtrRVFDQURJQVFvQWdBMkFnQWdBQ0FEUVFScUlnTTJBZ1FnQkVFRWFpRUVEQUVMQ3lBR0JFQkJBQ0FIYTBFQ2RDQUZhaUFCSUFZUTV3RWFDd3MvQVFGL0lBSW9BZ0FoQWlBQktBSUFJUUVEUUNBQklBSkhCRUFnQUNnQ0JDSURJQUVvQWdBMkFnQWdBQ0FEUVFScU5nSUVJQUZCQkdvaEFRd0JDd3NMTkFFQmZ5QUFLQUlFSVFJRFFDQUNRUUEyQWdBZ0FrRUFOZ0lFSUFBZ0FDZ0NCRUVJYWlJQ05nSUVJQUZCZjJvaUFRMEFDd3M3QVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGNGFqWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVRBUUVDZnlBQUtBSUFJUU1nQUNnQ0JDRUNBMEFnQWlBRFJ3UkFJQUVvQWdSQmVHb2dBa0Y0YWlJQ0tRSUFOd0lBSUFFZ0FTZ0NCRUY0YWpZQ0JBd0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzZFQkFRUi9Jd1loQXlNR1FSQnFKQVlnQWtFQlNnUkFJQUpCZm1wQkFoQTVJZ0pCQTNRZ0FDZ0NBQ0lGYWlFQUlBRWdBU2dDQUVGNGFpSUVOZ0lBSUFBZ0JCREJBUVJBSUFNZ0JDa0NBRGNEQUFOQUFrQWdCQ0FBS1FJQU53SUFJQUVnQURZQ0FDQUNSUTBBSUFKQmYycEJBaEE1SWdKQkEzUWdCV29pQmlBREVNRUJCRUFnQUNFRUlBWWhBQXdDQ3dzTElBQWdBeWtEQURjQ0FBc0xJQU1rQmd1ZEFRRUZmeU1HSVFJakJrRWdhaVFHUWYvLy8vOEJJQUFvQWdRZ0FDZ0NBR3RCQTNWQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJb0FnZ2dBU2tDQURjQ0FDQUNJQUlvQWdoQkNHbzJBZ2dnQUNBQ0VNOEhJQUlRemdjZ0FpUUdDd3NxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVNRURJQUFnQVJETkJ3c0xoQVVCQ0g4akJpRUlJd1pCTUdva0JpQUlRUWhxSVFVZ0NFRVFhaUlKSUFBb0Ftd2dBQ2dDYUd0QkFuVVEwZ2RCZnlFRVFYOGhDZ05BSUFZZ0NTZ0NCQ0FKS0FJQWEwRURkVWtFUUNBQUtBSm9JQVpCQW5ScUtBSUFRUVJxSUFNUWdnSWhCeUFGSUFBb0FtZ2dCa0VDZEdvb0FnQTJBZ0FnQlNBSE5nSUVJQWtvQWdBZ0JrRURkR29nQlNrREFEY0NBQ0FHSUFvZ0J5QUVTU0lMR3lFS0lBY2dCQ0FMR3lFRUlBWkJBV29oQmd3QkN3c2dDa0YvUmdSQUlBVkJ3TWdEUWRtSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQis0a0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dCU0FBS0FKb0lBcEJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUVJQUVvQWdoSkJFQWdCQ0FETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDeUFJUVNScUlRWkJBQ0VFQTBBZ0NTZ0NBQ0lESVFjZ0JDQUpLQUlFSUFOclFRTjFTUVJBSUFRZ0NrY0VRQ0FFUVFOMElBZHFLQUlFSUFrb0FnQWdDa0VEZEdvb0FnUkdCRUFnQlNBQUtBSm9JQVJCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lISUFFb0FnaEpCRUFnQnlBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3dVZ0NTZ0NBQ0FFUVFOMGFpRURJQUlvQWdRaUJ5QUNLQUlJUmdSQUlBSWdBeERSQnlBQ0tBSUVJUU1GSUFjZ0F5a0NBRGNDQUNBQ0lBSW9BZ1JCQ0dvaUF6WUNCQXNnQ0NBQ0tBSUFJZ2MyQWlBZ0NDQUROZ0ljSUFZZ0NDZ0NJRFlDQUNBRklBZ29BaHcyQWdBZ0JpQUZJQU1nQjJ0QkEzVVEwQWNMQ3lBRVFRRnFJUVFNQVFzTElBa1Ewd01nQ0NRR0M1NERBUWgvSXdZaEJDTUdRVEJxSkFZZ0JFRW9haUVJSUFSQkpHb2hDU0FFUVFocUlRVWdBU2dDQUNBQUtBSUFJZ0VpQm10QkFuVkJBblFnQVdvaEFTQURLQUlBSWdvZ0FpZ0NBQ0lEYXlJQ1FRSjFJUWNnQWtFQVNnUkFBa0FnQnlBQUtBSUlJQUFvQWdRaUN5SUNhMEVDZFVvRVFFSC8vLy8vQXlBSElBSWdCbXRCQW5WcUlnWkpCRUFRQUFVZ0JTQUdJQUFvQWdnZ0FDZ0NBQ0lDYXlJSFFRRjFJZ3NnQ3lBR1NSdEIvLy8vL3dNZ0IwRUNkVUgvLy8vL0FVa2JJQUVnQW10QkFuVWdBRUVJYWhESUFTQUVJQU0yQWdRZ0JDQUtOZ0lBSUFrZ0JDZ0NCRFlDQUNBSUlBUW9BZ0EyQWdBZ0JTQUpJQWdReWdjZ0FDQUZJQUVReVFjZ0JSREhBUXdDQ3dzZ0FpQUJheUlGUVFKMUlnWkJBblFnQTJvaEFpQUhJQVpLQkVBZ0JDQUNOZ0lnSUFRZ0NqWUNIQ0FKSUFRb0FpQTJBZ0FnQ0NBRUtBSWNOZ0lBSUFBZ0NTQUlFTXdISUFWQkFFd05BUVVnQ2lFQ0N5QUFJQUVnQ3lBSFFRSjBJQUZxRU1zSElBRWhBQU5BSUFJZ0EwY0VRQ0FBSUFNb0FnQTJBZ0FnQUVFRWFpRUFJQU5CQkdvaEF3d0JDd3NMQ3lBRUpBWUxoQU1DQjM4QmZpTUdJUVFqQmtFd2FpUUdJQVJCQ0dvaEJTQUFLQUlJUlFSQUlBVkJ3TWdEUWFLSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpVREVENUI5cUlDRURkQnhZa0NFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUdJQU5CQ2lBR1FUOXhRWW9CYWhFQ0FDRURJQVVRUENBQ0lBTVFRQ0FDRUQ4UUFBc2dCRUVjYWlFR0lBQkJBRFlDWkNBQUlBQW9Ba2cyQWt3Z0FFSFVBR29oQnlBQUtBSllJUUlEUUNBQ0lBY29BZ0FpQTBjRVFDQUNJQU5ySWdoQkNFb0VmeUFGSUFNcEFnQWlDVGNEQUNBRElBSkJlR29pQWlrQ0FEY0NBQ0FDSUFrM0FnQWdCQ0FETmdJWUlBUWdBallDRkNBRUlBTTJBaEFnQmlBRUtBSVlOZ0lBSUFRZ0JDZ0NGRFlDSUNBRklBUW9BaEEyQWdBZ0JpQUlRUU4yUVg5cUlBVVF2d01nQUNnQ1dBVWdBZ3NoQTBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFBSUFOQmVHb2lBallDV0F3QkN3c2dBQ0FISUFBb0FnZ2dBUkM3QWlBQUtBSk1JQUFvQWtockdpQUVKQVlMeUFFQkFYOGpCaUVOSXdaQkVHb2tCaUFCSUFVZ0NaT0xPQUlBSUFJZ0JpQUtrNHM0QWdBZ0JDQUlJQXlUaXpnQ0FDQURJQWNnQzVPTElnVWdBQ2dDUExJZ0JaTVEvZ0VpQlRnQ0FDQUZRd0FBQUFCZ0JFQWdEU1FHQlNBTlFjRElBMEhYaUFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUVlDSkFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QU5RWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQU5FRHdnQWlBQUVFQWdBaEEvRUFBTEMrb0lBUU4vSXdZaEJpTUdRUkJxSkFZZ0FTQUZJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkJQSWdjMkFnQWdBaUFGSUFkcklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQTVJZ2MyQWdBZ0F5QUZJQUVvQWdCcklBY2dBQ2dDTkd4cklBQW9BbGdRVHlBQUtBSlVFRGtpQnpZQ0FDQUVJQVVnQVNnQ0FHc2dBaWdDQUNBQUtBSTBiQ0FISUFBb0FsUnNhbXNnQUNnQ1dCQTVJZ2MyQWdBZ0FTZ0NBQ0lGUVg5TUJFQWdCa0hBeUFOQnFZNENFRGRCczRvQ0VEZEI3NklDRURkQnZnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBZ2dBUkJBSUFnUVB4QUFDeUFGSUFBb0FqUk9CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2d0VRUGtIMm9nSVFOMEhLamdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQVVnQVJCQUlBVVFQeEFBQ3lBQ0tBSUFJZ1JCZjB3RVFDQUdRY0RJQTBHRWp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FhV1BBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JTQUJFRUFnQlJBL0VBQUxJQVFnQUNnQ09FNEVRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRYVdQQWhBM0lnUW9BZ0JCZEdvb0FnQWdCR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCQ0FCRUVBZ0JCQS9FQUFMSUFNb0FnQWlBMEYvVEFSQUlBWkJ3TWdEUWQrUEFoQTNRYk9LQWhBM1FlK2lBaEEzUWNJQkVENUI5cUlDRURkQmhKQUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRUlBRVFRQ0FFRUQ4UUFBc2dBeUFBS0FJOFRnUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjTUJFRDVCOXFJQ0VEZEJoSkFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQjBGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjUUJFRDVCOXFJQ0VEZEI3NUFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQnlBQVFVQnJLQUlBU0FSQUlBWWtCZ1VnQmtIQXlBTkJoWkVDRURkQnM0b0NFRGRCNzZJQ0VEZEJ4UUVRUGtIMm9nSVFOMEh2a0FJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JoQThJQUlnQUJCQUlBSVFQeEFBQ3d2eEFnRUxmeUFBSUFFUXZBSWlBa0VBU0FSL0lBSUZBbjhnQUNnQ0FBUkFJQUJCQkdvaENDQUFRUWhxSVFVRklBQWdBRUVJYWlJRktBSUFJQUJCQkdvaUNDZ0NBR3dRUkNJQ05nSUFRWDhnQWtVTkFSb0xBMEFnQmlBRktBSUFJZ0pJQkVCQkFDRUNBMEFnQWlBSUtBSUFJZ2xJQkVCQmZDRUhRUUFoQ2tFQUlRTURRQ0FIUVFSTUJFQWdCaUFIYWlJRVFRQk9CRUFnQkNBRktBSUFTQVJBQWtBZ0JDQUpiQ0VNUVh3aEJBTkFJQVJCQkVvTkFTQUNJQVJxSWd0QmYwb2dDeUFKU0hFRVFDQUtRUUZxSVFvZ0F5QUJJQXNnREdwcUxRQUFhaUVEQ3lBRVFRRnFJUVFNQUFBTEFBc0xDeUFIUVFGcUlRY01BUXNMSUFNZ0NoQTVRZjhCY1NFRElBQW9BZ0FnQWlBR0lBbHNhbW9nQXpvQUFDQUNRUUZxSVFJTUFRc0xJQVpCQVdvaEJnd0JDd3RCQUNFRElBSWhBUU4vSUFNZ0NDZ0NBQ0FCYkVnRWZ5QURJQUFvQWdCcUlnRWdBUzBBQUVGNWFqb0FBQ0FEUVFGcUlRTWdCU2dDQUNFQkRBRUZRUUFMQ3dzTEM3d1RBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdZaERTQUJJQUpCZjJvaUVHeEJBWFFnQm1vaEJRTkFJQWNnQVVnRVFDQUZRUUE3QVFBZ0RVRUFPd0VBSUExQkFtb2hEU0FGUVFKcUlRVWdCMEVCYWlFSERBRUxDeUFHSVFjZ0FVRi9haUlSUVFGMElBWnFJUTFCQUNFRkEwQWdCU0FDU0FSQUlBMUJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdEV29oRFNBRlFRRnFJUVVNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRMUJBU0VMUVFBaEJTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1NBR0lRd0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFJQXhCQURzQkFBVUNRQ0FTUVFGMElBeHFJZzh1QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFQUVg1cUxnRUFJZ29oQ0NBS1FRQktJUVlnRHk0QkFpSUZRUUJNQkVBZ0JnUkFJQXdnQ2pzQkFDQUlRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlNBUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUlMSUF4QmZtb3VBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlRnMENJQVVnQ1RZQ0FBVWdBRUgvL3dGS0RRWWdEQ0FBUVFGcUlnVTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQUZRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFzMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUxOZ0lBSUFVaEFBc01BUXNnQmdSQUFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQWhCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCU0FHS0FJQVJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBeEJmbW91QVFBaUJrRUFUQVJBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmdJRFFBR29pQlNnQ0FDQUpTZ1JBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTEFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCaWdDQUNBRlJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnQ1VFQmFpRUpJQXhCQW1vaERBd0JDd3NnRFVFQ2FpRU5JQXRCQVdvaEN5QUFJUVVnREVFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE0UVBVRi9EQUVMSUFSQkRHb2hEVUVCSVFCQkFTRUlBMEFnQ0NBRlRBUkFJQWdnQnlnQ0FDSUdSZ1JBSUFCQkFXb2hBd1VnQUNFRElBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCeUFBTmdJQUlBTWhBQ0FJUVFGcUlRZ2dCMEVFYWlFSERBRUxDeUFFSUFCQmYyb2lCellDQ0NBSEJIOGdEVUVBSUFkQkFuUVFSUm9nQkVHUWdDaHFRUUFnQjBFRWRCQkZHa0VBSVFNRFFDQURJQWRJQkVBZ0JFR01nQWhxSUFOQkFuUWlBRUVDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dBRUVCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQUVFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0FFRURja0VDZEdwQkFEWUNBQ0FEUVFGcUlRTU1BUXNMUVFBaEF3TkFJQU1nQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQTBFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQUNBRVFaQ0EwQUJxSUFOQkIyd2lCMEVDZEdvb0FnQWdBQ2dDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm5JRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCb0lEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJwSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQU5CQVdvaEF3d0JDd3NnQkNnQ0NDRUNRUUFoQXdOL0lBTWdBa2dFZnlBRVFaQ0FLR29nQTBFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQkVFTWFpQURRUUowYWlnQ0FMY2lGS001QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FVb3prREFDQURRUUZxSVFNTUFRVkJBQXNMQlVFQUN3c2hFeUFPSkFZZ0V3czZBUUYvSUFBb0FnUWhBZ05BSUFKREFBQUFBRGdDQUNBQ1F3QUFBQUE0QWdRZ0FDQUFLQUlFUVFocUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVNQkFRRi9RUWRCQmtFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaGdnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DSENBQlFRSjBJQUJxS2dJQVhoc0xmUUVCZjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc0xad0VCZjBFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3d0UkFRRi9RUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzTE93RUJmMEVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNMOEFFQ0EzOEhmU0FBSUFFUXZBSWlBVUVBVGdSQVFRRWhBUU5BSUFjZ0FFRU1haUFCUVFKMGFpZ0NBQ0FCYkxPU0lRY2dBVUVCYWlJQlFZQUNSdzBBQ3lBQUtBSUVJQUFvQWdoc3NpRU1RUUFoQVFOQUFrQWdCaUFBUVF4cUlBTkJBblJxS0FJQUlnU3praUlHUXdBQUFBQmNCRUFnRENBR2t5SUxRd0FBQUFCYkRRRWdDU0FESUFSc3M1SWlDU0FHbFNBSElBbVRJQXVWa3lJS0lBWWdDNVFnQ3BTVUlnb2dDRjRoQlNBRFFmOEJjU0lFSUFFZ0JSc2hBU0FLSUFnZ0JSc2hDQVVnQTBIL0FYRWhCQXNnQTBFQmFpRURJQVJCL3dGeFFmOEJSdzBCQ3dzZ0FpQUJPZ0FBUVFBaEFRc2dBUXNsQVFGL1FRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiQzZrQkFRRi9RUWhCQjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJY0lBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFpQWdBVUVDZENBQWFpb0NBRjRiQytrQkFRTi9Jd1loQWlNR1FZQURhaVFHSUFKQjBBSnFJZ01nQWlBQlFRQVFvUUU0QWdBZ0F5QUNRU1JxSUFGQkFSQ2hBVGdDQkNBRElBSkJ5QUJxSUFGQkFoQ2hBVGdDQ0NBRElBSkI3QUJxSUFGQkF4Q2hBVGdDRENBRElBSkJrQUZxSUFGQkJCQ2hBVGdDRUNBRElBSkJ0QUZxSUFGQkJSQ2hBVGdDRkNBRElBSkIyQUZxSUFGQkJoQ2hBVGdDR0NBRElBSkIvQUZxSUFGQkJ4Q2hBVGdDSENBRElBSkJvQUpxSUFGQkNCQ2hBVGdDSUNBREVPSUhJZ0ZCQW5RZ0Eyb3FBZ0JEQUFBQUFGc0VmMEVBQlNBQUlBRkJDV3hCQW5RZ0Ftb1F2Z0pCQVFzaEJDQUNKQVlnQkF1b0FRRUVmeUFBSUFFUTlnY2lBVUVBU0FSL0lBRUZJQUFvQWdnZ0FDZ0NCR3l5UXdBQUFEK1VFSklCSVFSQkFDRUJBMEFnQVVFQmFrRVlkRUVZZFNFRElBQkJqQWhxSUFGQi93RnhJZ1pCQW5ScUtBSUFJZ1VnQkVrRVFDQURJUUVNQVFzTEEwQWdBVUVCYWtFWWRFRVlkU0VESUFRZ0JVWUVRQ0FBUVl3SWFpQURJZ0ZCL3dGeFFRSjBhaWdDQUNFRkRBRUxDeUFDSUFZZ0FVSC9BWEZxUVFGMk9nQUFRUUFMQzBBQ0FYOEJmU0FBUWZ3QmFpSUNJQUJCMkFGcUlBRkIvQUZxRUdVZ0FoQmFJZ05EQUFBQUFGc0VmMEVBQlNBQ0lBSkRBQUNBUHlBRGtaVVFsQUZCQVFzTHJRRUJCWDhqQmlFQ0l3WkJFR29rQmlBQVFkZ0JhaUlESUFCQnRBRnFJZ1VnQVVIWUFXb2lCQkJsSUFCQi9BRnFJZ0FnQlNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0FCQmFPQUlFSUFJcUFnUWdBaW9DQUY0aUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQkNBQVFRSjBJQVJxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVHSUFJa0JpQUdDOElCQVFaL0l3WWhBaU1HUVJCcUpBWWdBRUcwQVdvaUF5QUFRWkFCYWlJRUlBRkJ0QUZxSWdVUVpTQUFRZGdCYWlJR0lBUWdBVUhZQVdvUVpTQUFRZndCYWlJQUlBUWdBVUg4QVdvUVpTQUNJQU1RV2pnQ0FDQUNJQVlRV2pnQ0JDQUNJQUFRV2pnQ0NDQUNFT0VISWdCQkFuUWdBbW9pQVNvQ0FFTUFBQUFBV3dSL1FRQUZJQU1nQUVFSmJDSUFRUUowSUFOcUVJd0JJQVVnQUVFQ2RDQUZhaENNQVNBRElBTkRBQUNBUHlBQktnSUFrWlVRbEFGQkFRc2hCeUFDSkFZZ0J3dmRBUUVIZnlNR0lRSWpCa0VRYWlRR0lBQkJrQUZxSWdNZ0FFSHNBR29pQkNBQlFaQUJhaUlGRUdVZ0FFRzBBV29pQmlBRUlBRkJ0QUZxRUdVZ0FFSFlBV29pQnlBRUlBRkIyQUZxRUdVZ0FFSDhBV29pQUNBRUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUdFRm80QWdRZ0FpQUhFRm80QWdnZ0FpQUFFRm80QWd3Z0FoRGZCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUZJQUJCQW5RZ0JXb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRZ2dBaVFHSUFnTCtBRUJDSDhqQmlFQ0l3WkJJR29rQmlBQVFld0FhaUlESUFCQnlBQnFJZ1FnQVVIc0FHb2lCUkJsSUFCQmtBRnFJZ1lnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2NnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2dnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0FCQmFPQUlRSUFJUTNnY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFSklBSWtCaUFKQzVJQ0FRbC9Jd1loQWlNR1FTQnFKQVlnQUVISUFHb2lBeUFBUVNScUlnUWdBVUhJQUdvaUJSQmxJQUJCN0FCcUlnWWdCQ0FCUWV3QWFoQmxJQUJCa0FGcUlnY2dCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnZ2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlna2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQ1JCYU9BSVFJQUlnQUJCYU9BSVVJQUlRM1FjaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVLSUFJa0JpQUtDNllDQVFwL0l3WWhBaU1HUVNCcUpBWWdBRUVrYWlJRElBQWdBVUVrYWlJRUVHVWdBRUhJQUdvaUJTQUFJQUZCeUFCcUVHVWdBRUhzQUdvaUJpQUFJQUZCN0FCcUVHVWdBRUdRQVdvaUJ5QUFJQUZCa0FGcUVHVWdBRUcwQVdvaUNDQUFJQUZCdEFGcUVHVWdBRUhZQVdvaUNTQUFJQUZCMkFGcUVHVWdBRUg4QVdvaUNpQUFJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFGRUZvNEFnUWdBaUFHRUZvNEFnZ2dBaUFIRUZvNEFnd2dBaUFJRUZvNEFoQWdBaUFKRUZvNEFoUWdBaUFLRUZvNEFoZ2dBaERjQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FFSUFCQkFuUWdCR29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUXNnQWlRR0lBc0x5d0VCQlg4akJpRUNJd1pCSUdva0JpQUNJQUVRV2pnQ0FDQUNJQUZCSkdvaUF4QmFPQUlFSUFJZ0FVSElBR29RV2pnQ0NDQUNJQUZCN0FCcUVGbzRBZ3dnQWlBQlFaQUJhaEJhT0FJUUlBSWdBVUcwQVdvUVdqZ0NGQ0FDSUFGQjJBRnFFRm80QWhnZ0FpQUJRZndCYWhCYU9BSWNJQUlRMndjaUJFRUNkQ0FDYWlJRktnSUFRd0FBQUFCYkJIOUJBQVVnQVNBRVFRbHNRUUowSUFGcUVJd0JJQUFnQVVNQUFJQS9JQVVxQWdDUmxSQ1VBU0FBUVNScUlBTkJQeEM0QVVFQkN5RUdJQUlrQmlBR0M0Y0JBUUovSXdZaEFpTUdRYUFDYWlRR0lBSWdBUkRzQndSL0lBSWdBUkRyQndSL0lBSWdBUkRxQndSL0lBSWdBUkRwQndSL0lBSWdBUkRvQndSL0lBSWdBUkRuQndSL0lBSWdBUkRtQndSL0lBSWdBUkRsQndSL0lBQWdBaERqQndWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxJUU1nQWlRR0lBTUxNZ0FnQUNBQklBVVEvQUVnQUVISUFHb2dBaUFHRVB3QklBQkJrQUZxSUFNZ0J4RDhBU0FBUWRnQmFpQUVJQWdRL0FFTG1BSUJCbjBnQVNvQ0dDSUdJQVVxQWdBaUI1UWdBU29DQUNBRWxaSWhDaUFISUFFcUFod2lDSlFnQVNvQ0JDQUVsWkloQnlBR0lBVXFBZ1FpQ1pRZ0FTb0NEQ0FFbFpJaEJpQUlJQW1VSUFFcUFoQWdCSldTSVFnZ0F5b0NBQ0FDbENFSklBTXFBZ1FnQXBRaEN5QUFJQW9nQXBRNEFnQWdBQ0FISUFLVU9BSUVJQUFnQVNvQ0lDQUZLZ0lBbENBQktnSUlJQVNWa2lBS0lBbVVreUFISUF1VWt6Z0NDQ0FBSUFZZ0FwUTRBZ3dnQUNBSUlBS1VPQUlRSUFBZ0FTb0NJQ0FGS2dJRWxDQUJLZ0lVSUFTVmtpQUdJQW1Va3lBSUlBdVVremdDRkNBQUlBRXFBaGdnQXBRaUJEZ0NHQ0FBSUFFcUFod2dBcFFpQWpnQ0hDQUFJQUVxQWlBZ0JDQURLZ0lBbEpNZ0FpQURLZ0lFbEpNNEFpQUxUQUVDZnlNR0lRa2pCa0dnQW1va0JpQUpJQUVnQWlBRElBUWdCU0FHSUFjZ0NCRHVCeUFBSUFrUTdRY0VmeUFBRU1jRGk3dEU4V2pqaUxYNDVENWpSUVZCQUFzaENpQUpKQVlnQ2d1MkJBSUtmd045SXdZaEJ5TUdRUkJxSkFZZ0FrRUFUQVJBSUFkQndNZ0RRZldVQWhBM1FaS1ZBaEEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCaEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRUFUQVJBSUFkQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRZE1BRUQ1QjlxSUNFRGRCdEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRi9haUlLUVFOMElBRnFJUXNnQ2tFRGRDQUJhaUVOSUFKQmYyb2hCVUVBSVFZRFFDQUdJQVZJQkVBZ0N5b0NBQ0VPSUEwb0FnUWhEQ0FHSVFJZ0JTRUVBMEFEUUFKQUlBSkJBM1FnQVdvaUNDb0NBQ0lQSUE1ZFJRUkFJQTRnRDEwTkFTQUNRUU4wSUFGcUtBSUVJQXhPRFFFTElBSkJBV29oQWd3QkN3c0RRQUpBSUE0Z0JFRURkQ0FCYWlJSktnSUFJaEJkUlFSQUlCQWdEbDBOQVNBTUlBUkJBM1FnQVdvb0FnUk9EUUVMSUFSQmYyb2hCQXdCQ3dzZ0FpQUVUQVJBSUFnZ0VEZ0NBQ0FKSUE4NEFnQWdBa0VEZENBQmFpSUlLQUlFSVFrZ0NDQUVRUU4wSUFGcUlnZ29BZ1EyQWdRZ0NDQUpOZ0lFSUFKQkFXb2hBaUFFUVg5cUlRUUxJQUlnQkV3TkFBc2dCU0FFSUFJZ0EwZ2JJUVVnQWlBR0lBUWdDa2diSVFZTUFRc0xJQUFnQ3lrQ0FEY0NBQ0FISkFZTGdRRUJBWDBnQUNBQUtnSUFRd0FBZ0Q4Z0FDb0NJSlVpQVpRNEFnQWdBQ0FCSUFBcUFnU1VPQUlFSUFBZ0FTQUFLZ0lJbERnQ0NDQUFJQUVnQUNvQ0RKUTRBZ3dnQUNBQklBQXFBaENVT0FJUUlBQWdBU0FBS2dJVWxEZ0NGQ0FBSUFFZ0FDb0NHSlE0QWhnZ0FDQUJJQUFxQWh5VU9BSWNJQUJEQUFDQVB6Z0NJQXQ1QWdOL0FuMGpCaUVFSXdaQkVHb2tCaUFFUVFocUlnVkJCR29oQmlBRklBWWdBQ0FCS2dJQUlBRXFBZ1FRdlFJZ0JDQUZLZ0lBSUFJcUFnQ1RPQUlBSUFRZ0Jpb0NBQ0FDS2dJRWt6Z0NCQ0FFS2dJQUlnY2dCNVFnQkNvQ0JDSUhJQWVVa2lBRGxFTUFBSUEva2hEU0FTRUlJQVFrQmlBSUMvY0JBUTEvSXdZaEFpTUdRVEJxSkFZQ2Z5QUNRU0JxSWdNZ0FDQUJFS29CSUFKQkdHb2lCQ0FBSUFGQkNHb2lCeENxQVNBQ1FSQnFJZ1VnQUNBQlFSQnFJZ1lRcWdFZ0FrRUlhaUlLSUFNUXhRTWdBaUFFRU1VRElBRWdCeUFHSUFNZ0JDQUZFUDBCQkg5QkF5RUlJQWNoQ1NBQklRc0RRQ0FJUVFSSUJFQWdBeUFBSUFaQkNHb2lCaENxQVVFQUlBdEJDR29pQ3lBSlFRaHFJZ2tnQmlBRUlBVWdBeEQ5QVVVTkF4b2dBeUVOSUFoQkFXb2hDQ0FFSVFNZ0JTRUVJQTBoQlF3QkN3c2dDU0FHSUFFZ0JDQUZJQW9RL1FFRWZ5QUdJQUVnQnlBRklBb2dBaEQ5QVFWQkFBc0ZRUUFMQ3lFT0lBSWtCaUFPQzlRQkFRNS9Jd1loQ1NNR1FZQUJhaVFHSUFsQitBQnFJUW9nQ1VIb0FHb2hDeUFKUVVCcklRd2dDVUU0YWlFTklBbEJNR29oRGlBSlFTaHFJUThnQ1VIZ0FHb2lFQ0FKUWRnQWFpSVJJQWxCMEFCcUloSWdDVUhJQUdvaUV5QUpRZndBYWlJVUlBbEI4QUJxSWhVZ0FTQUNJQU1nQkJERUF3Ui9JQXdnRFNBT0lBOGdDaUFMSUFVZ0JpQUhJQWdReEFNRWZ5QUpJQkFnRVNBU0lCTWdEQ0FOSUE0Z0R4RHdCd1IvSUFBZ0NTQVVLZ0lBSUJVZ0Npb0NBQ0FMRU84SFFRRUZRUUFMQlVFQUN3VkJBQXNoRmlBSkpBWWdGZ3RQQVFGL0lBQWdBUkM4QWlJQlFRQk9CRUJCQUNFQkEzOGdBRUdNQ0dvZ0FVRUNkR29nQWlBQVFReHFJQUZCQW5ScUtBSUFhaUlDTmdJQUlBRkJBV29pQVVHQUFrY05BRUVBQ3lFQkN5QUJDNWtCQVFGL0lBQWdBU0FDRUlVQlF3QUFBQUJlSVFnZ0JDQUZJQVlRaFFGREFBQUFBRjRnQ0hNRWYwRUFCU0FCSUFJZ0F4Q0ZBVU1BQUFBQVhpQUZJQVlnQnhDRkFVTUFBQUFBWG5NRWYwRUFCU0FDSUFNZ0FCQ0ZBVU1BQUFBQVhpQUdJQWNnQkJDRkFVTUFBQUFBWG5NRWYwRUFCU0FESUFBZ0FSQ0ZBVU1BQUFBQVhpQUhJQVFnQlJDRkFVTUFBQUFBWG5OQkFYTUxDd3NMa0FrQ0NuOEJmU01HSVJFakJrRVFhaVFHSUJGQkNHb2hEeUFGS0FJRUlBVW9BZ0JyUVFKMUlBbEJDV3hKQkVBZ0QwSEF5QU5CMDRRQ0VEZEJqWVVDRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHVWhnSVFOeUlNSUF3b0FnQkJkR29vQWdCcUVEc2dEMEdBemdNUU9pSU5LQUlBS0FJY0lRNGdEVUVLSUE1QlAzRkJpZ0ZxRVFJQUlRMGdEeEE4SUF3Z0RSQkFJQXdRUHhBQUN5QUdLQUlFSUFZb0FnQWlER3RCQW5VZ0Ewa0VRQ0FQUWNESUEwSEdoZ0lRTjBHTmhRSVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZmlHQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFjb0FnUWdCeWdDQUd0QkEzVWdDVWtFUUNBUFFjRElBMEdpaHdJUU4wR05oUUlRTjBIdm9nSVFOMEg1QUJBK1FmYWlBaEEzUWVDSEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBTkJCRWdFZjBFQUJTQVJRZElKTmdJQUlBZ1FhU0VJSUFzZ0F4Q0ZBaUVOSUF3Z0F4RGNBeUFNSUFNZ0F5QVJFTUVDUVFBaEJnTkFJQkFnQ2tnZ0JpQUpTSEVFUUNBTUlBTkJCQ0FSRU1FQ0lBd29BZ0JCQVhRaUMwRUNkQ0FCYWlBTUtBSUVRUUYwSWc1QkFuUWdBV29nRENnQ0NFRUJkQ0lTUVFKMElBRnFJQXdvQWd4QkFYUWlFMEVDZENBQmFpQUxRUUowSUFKcUlBNUJBblFnQW1vZ0VrRUNkQ0FDYWlBVFFRSjBJQUpxRVBjSEJFQWdCU2dDQUNBR1FRbHNJZ3RCQW5ScUlBd29BZ0JCQVhRaURrRUNkQ0FCYWlBTUtBSUVRUUYwSWhKQkFuUWdBV29nRENnQ0NFRUJkQ0lUUVFKMElBRnFJQXdvQWd4QkFYUWlGRUVDZENBQmFpQU9RUUowSUFKcUlCSkJBblFnQW1vZ0UwRUNkQ0FDYWlBVVFRSjBJQUpxRVBVSEJFQWdCU2dDQUNBTFFRSjBhaUFFRVBRSEJFQWdCa0VCYWlFR0N3c0xJQkJCQVdvaEVBd0JDd3REQUFDQVB5QUlsU0VJSUFZRWZ5QUhLQUlBSVFSQkFDRUxBMEFnQ3lBR1NBUkFJQXRCQTNRZ0JHcERBQUFBQURnQ0FDQUxRUU4wSUFScUlBczJBZ1FnQzBFQmFpRUxEQUVMQzBFQUlRc2dCaUVLQTBBZ0N5QURTQ0FLUVFKS2NRUkFJQTBnQXlBTGF4Q0ZBaUFMYWlFR1FRQWhFQ0FIS0FJQUlRUURRQ0FLSUJCSEJFQWdCU2dDQUNBUVFRTjBJQVJxS0FJRVFRbHNRUUowYWlFT0lBc2hDUU5BSUFrZ0JrZ0VRQ0FPSUFsQkFuUWdER29vQWdCQkFYUWlCRUVDZENBQmFpQUVRUUowSUFKcUlBZ1E4d2NoRmlBSEtBSUFJZ1FnRUVFRGRHb2lFaUFXSUJJcUFnQ1NPQUlBSUFsQkFXb2hDUXdCQ3dzZ0VFRUJhaUVRREFFTEN5QVBJQVFnQ2lBS1FRSVFPU0FLUVFGeFFYOXFhaER4QnlBR0lRc2dDa0VCZFNFS0RBRUxDMEVCSVFNZ0J5Z0NBQ0lDS2dJQUlRZ2dBaWdDQkNFQkEwQWdBeUFLU0FSQUlBTkJBM1FnQW1vcUFnQWlGaUFJWFFSQUlCWWhDQ0FEUVFOMElBSnFLQUlFSVFFTElBTkJBV29oQXd3QkN3c2dBQ0FGS0FJQUlBRkJDV3hCQW5ScUVMNENJQUFROGdkQkFRVkJBQXNMSVJVZ0VTUUdJQlVMWlFCQkFVRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUcwRUJRWDhnQVNBQ0lBTVFoUUZEQUFBQUFGNGJha0VCUVg4Z0FpQURJQUFRaFFGREFBQUFBRjRiYWtFQlFYOGdBeUFBSUFFUWhRRkRBQUFBQUY0YmFpSUFRUUFnQUdzZ0FFRi9TaHRCQkVZTGpnRUNCSDhHZlNNR0lRUWpCa0V3YWlRR0lBUkJJR29pQlNBQklBQVEzd0VnQkVFWWFpSUdJQUlnQUJEZkFTQUVRUkJxSWdjZ0F5QUFFTjhCSUFSQkNHb2lBQ0FCSUFJUTN3RWdCQ0FESUFJUTN3RWdCU0FHRVA4QkFuMGdCaUFIRVA4QklRd2dCU0FIRVA4QklRb2dBQ0FFRVA4QklRc2dEQXNRL2dFZ0NoRCtBU0FMRVA0QklRMGdCQ1FHSUEwTDZnRUNDWDhCZlNNR0lRTWpCa0hnQUdva0JpQURRZGdBYWlFRUlBTkIwQUJxSVFVZ0EwSElBR29oQmlBRFFVQnJJUWNnQTBFNGFpRUlJQU5CTUdvaENTQURRU2hxSVFvZ0F5QUFRNnpGSnpjUXlBTUVmeUFJSUFHeUlndzRBZ0FnQ0VNQUFBQUFPQUlFSUFrZ0REZ0NBQ0FKSUFLeUlndzRBZ1FnQ2tNQUFBQUFPQUlBSUFvZ0REZ0NCQ0FFSUFOQmxNUURFS29CSUFVZ0F5QUlFS29CSUFZZ0F5QUpFS29CSUFjZ0F5QUtFS29CSUFRZ0JTQUdJQWNRK2djZ0FTQUNiTGRFTFVNYzYrSTJHaitpdGwwRWYwRUFCU0FFSUFVZ0JpQUhFUGtIQ3dWQkFBc2hDeUFESkFZZ0N3czZBUUYvSUFCQkRHb2lCaUFFRUljQklBRWdBaUFESUFRZ0JTQUFJQVlnQUVFWWFpQUFLZ0lrSUFBb0FpZ2dBQ2dDTENBQUtBSXdFUGdIQzhvR0FnMS9BWDBqQmlFSUl3WkJRR3NrQmlBSVFTaHFJUVFnQ0VFMGFpRU1JQWhCTUdvaERTQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUJEQUFBZ1FSQnBJUkVnQ0NBRFF3QUFBQUFReUFORkJFQWdCRUhBeUFOQjRvRUNFRGRCKzRFQ0VEZEI3NklDRURkQnhBRVFQa0gyb2dJUU4wSDZnZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQkJBOElBTWdCUkJBSUFNUVB4QUFDeUFBSUFFUWNSQ0FBZ0pBQWtBRFFDQUpJQUVRY1VrRVFDQUJJQWtReEFFaER5QU1JQTBnQ0NBQklBa1F3d0VpRGlvQ0FDQU9LZ0lFRUwwQ1FRQWhCa0YvSVFWQmZ5RUtRZi8vLy84SElRTURRQ0FHSUFJUWNVa0VRQ0FDSUFZUXd3RWhCeUFPTEFBUUlBY3NBQkJHQkVBZ0RDb0NBQ0FIS2dJQWt4QnBJQTBxQWdBZ0J5b0NCSk1RYVpJZ0VWNUZCRUFnRHlBQ0lBWVF4QUVRMndNaUJ5QUZTU0VMSUFVZ0J5QUtJQWNnQ2trYklBc2JJUW9nQmlBRElBc2JJUU1nQnlBRklBc2JJUVVMQ3lBR1FRRnFJUVlNQVFzTElBVkJmMGNFUUFKQUlBTkJmMFlOQkNBS1FYOUdCRUFnQkNBSklBTVF3Z0VnQUNnQ0JDSURJQUFvQWdoSkJFQWdBeUFFS1FNQU53SUFJQUFnQUNnQ0JFRUlhallDQkFVZ0FDQUVFSllCQ3d3QkN5QUZzeUFLczVVZ0FDb0NERjBFUUNBRUlBa2dBeERDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTEN3c0xJQWxCQVdvaENRd0JDd3NNQVFzZ0JFSEF5QU5CbTRNQ0VEZEIrNEVDRURkQjc2SUNFRGRCOFFFUVBrSDJvZ0lRTjBIamd3SVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR0FBaEErUWZhaUFoQTNRYkdFQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBRUVEd2dBQ0FCRUVBZ0FCQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhFQXNMQ3lBSUpBWWdFQXY4QXdFTWZ5TUdJUTRqQmtFUWFpUUdJQTRoQkNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQWdBQ0FCRUhFUWdBSURRQ0FGSUFFUWNVa0VRQ0FCSUFVUXhBRWhEQ0FCSUFVUXd3RWhEVUVBSVFkQmZ5RUdRZi8vLy84SElRaEJmeUVEQTBBZ0J5QUNFSEZKQkVBZ0RTd0FFQ0FDSUFjUXd3RXNBQkJHQkVBZ0J5QUlJQXdnQWlBSEVNUUJFSUlDSWdvZ0Jra2lDeHNoQ0NBR0lBb2dBeUFLSUFOSkd5QUxHeUVESUFvZ0JpQUxHeUVHQ3lBSFFRRnFJUWNNQVFzTElBWkJmMGNFUUFKQUlBTkJmMFlFUUNBRUlBVWdDQkRDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQWF6SUFPemxTQUFLZ0lNWFFSQUlBUWdCU0FJRU1JQklBQW9BZ1FpQXlBQUtBSUlTUVJBSUFNZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQlVFQmFpRUZEQUVMQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBId0FCQStRZmFpQWhBM1FiR0VBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FFRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaENRc0xDeUFFSkFZZ0NRdXBCUUVMZnlNR0lRUWpCa0VRYWlRR0lBQWdBQ2dDQURZQ0JDQUJFSEVFUUNBQ0VIRUVRQ0FBSUFFUWNSQ0FBZ0pBQWtBRFFDQUdJQUVRY1VrRVFDQURJQUVnQmhERUFTSU1FTlVISUFFZ0JoRERBU0VOSUFOQnlBQnFJUXBCQUNFSFFYOGhCVUYvSVFoQi8vLy8vd2NoQ3dOQUlBY2dDaWdDQkNBS0tBSUFJZ2xyUVFKMVNRUkFJQTBzQUJBZ0FpQUhRUUowSUFscUtBSUFFTU1CTEFBUVJnUkFJQXdnQWlBS0tBSUFJQWRCQW5ScUtBSUFFTVFCRUlJQ0lna2dCVWtFZnlBRklRZ2dDaWdDQUNBSFFRSjBhaWdDQUNFTElBa0ZJQWtnQ0NBSklBaEpHeUVJSUFVTElRVUxJQWRCQVdvaEJ3d0JDd3NnQlVGL1J3UkFBa0FnQzBGL1JnMEVJQWhCZjBZRVFDQUVJQVlnQ3hEQ0FTQUFLQUlFSWdVZ0FDZ0NDRWtFUUNBRklBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFXeklBaXpsU0FBS2dJTVhRUkFJQVFnQmlBTEVNSUJJQUFvQWdRaUJTQUFLQUlJU1FSQUlBVWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JrRUJhaUVHREFFTEN3d0JDeUFFUWNESUEwR2Jnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR2dBUkErUWZhaUFoQTNRZU9EQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FnUWdBQ2dDQUd0QkEzVWdBUkJ4U3dSQUlBUkJ3TWdEUWZXREFoQTNRZnVCQWhBM1FlK2lBaEEzUWE4QkVENUI5cUlDRURkQnNZUUNFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBVWdBQ2dDQkNBQUtBSUFhMEVEZFNFT0N3c0xJQVFrQmlBT0M1c0dBUTkvSXdZaEJTTUdRWkFCYWlRR0lBVkI2QUJxSVFJZ0JVSElBR29oQXlBRlFTaHFJUVFnQUNBQVFReHFJZzBvQWdBMkFoQWdBRUYvTmdJWUlBRVFoZ0ZCRUdvaENTQUFRZndFYWlFSUlBQkJqQVZxSVF3Z0FFR1VCbW9oRGlBQVFSeHFJUThnQUVIUUFHb2hDd05BSUFzb0FnQWlDd1JBSUFKQm5vQUNFSGtnQUN3QUNFVWhFQ0FCRUlZQklRY2dDMEVNYWlJR0tBSUFFSVlCSVFvQ1FBSkFJQkFFUUNBSUlBY2dDaEQrQnlBQUtBSUFUdzBCQlNBSUlBY2dDaUFMS0FJTVFTUnFFUDhISUFBb0FnQlBEUUVMSUFJUWF3d0JDeUFDRUdzZ0JpZ0NBQkNHQVJDQkFpRUhJQUpCcjRBQ0VIa2dEQ0FKSUFjZ0NDQUJLQUlBSUFFb0FnUWdCaWdDQUNnQ0FDQUdLQUlBS0FJRUVNd0RJZ3BCQUVnRVFDQUNFR3NNQVFzZ0FoQnJJQUpCQURZQ0FDQUNRUUEyQWdRZ0FrRUFOZ0lJSUFWQndJQUNFSGtnQWlBTUlBZ2dDaERMQXlBRkVHc2dBMEhYZ0FJUWVRSkFJQVVnQ1NBSElBSWdEaUFHS0FJQUtBSUFJQVlvQWdBb0FnUVF5Z05GQkVBZ0F4QnJEQUVMSUFNUWF5QURRUUEyQWdBZ0EwRUFOZ0lFSUFOQkFEWUNDQ0FFUWUrQUFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RBa0FnQXlnQ0JDQURLQUlBYTBFRGRTQUFLQUlBU1FSQUlBUVFhd3dCQ3lBRUVHc2dCRUdBZ1FJUWVTQUlJQUVRaGdFZ0JpZ0NBQkNHQVNBRkVQMEhJQUFvQWdCSkJFQWdCQkJyREFFTElBUVFheUFFUVpHQkFoQjVJQXdnQ1NBSElBZ2dBU2dDQUNBQktBSUVJQVlvQWdBb0FnQWdCaWdDQUNnQ0JCRE1BeUlLUVFCSUJFQWdCQkJyREFFTElBUVFheUFFUWFLQkFoQjVJQUlnRENBSUlBb1F5d01nQkJCcklBUkJ1WUVDRUhrZ0JTQUpJQWNnQWlBT0lBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJES0EwVUVRQ0FFRUdzTUFRc2dCQkJySUFNZ0F5Z0NBRFlDQkNBRVFkR0JBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtESUFRUWF5QURLQUlFSUFNb0FnQnJRUU4xSWdZZ0FDZ0NBRThFUUNBR0lBQW9BaEFnRFNnQ0FHdEJBM1ZMQkVBZ0R5QUZFTDRDSUEwZ0F4Q0pBaUFBSUFzb0FnZzJBaGdMQ3dzZ0F4QlZDeUFDRUZVTERBRUxDeUFBS0FJWUdpQUZKQVlMM0FJQkIzOGpCaUVDSXdaQlFHc2tCaUFDUVJCcUlRTWdBa0U0YWlFRUFrQUNRQ0FBUWFBQmFpSUdLQUlBSUFFUWRDZ0NBQ2dDQkVjTkFDQUdLQUlFSUFFUWRDZ0NBQ2dDQ0VjTkFBd0JDeUFHSUFFUSt3Z0xRWlFCRUZFaUJSRG5BeUFDUVFBMkFqQWdBeUFDS0FJd05nSUFJQVFnQlJEbUF5QUVLQUlBSVFjZ0JDQUFRVUJySWdVb0FnQTJBZ0FnQlNBSE5nSUFJQVFvQWdRaEJ5QUVJQUFvQWtRMkFnUWdBQ0FITmdKRUlBUVFsUUVnQlNnQ0FDQUJFSFFvQWdBb0FnUVE1UU1nQlNnQ0FDQUJFSFFvQWdBb0FnZ1E1QU1nQTBHSThRRVFlU0FGS0FJQUlBRWdCaUFBUWJ3Q2FoQ3RDQ0FERUdzQ2Z4RGpBeUVJSUFNUXV3TWdBeWdDQUNBRElBTXNBQXRCQUVnYklRUWdCU2dDQUJDR0FSQnhJUVlnQWtId293STJBZ0FnQWlBRU5nSUVJQUpCL1AwQk5nSUlJQUlnQmpZQ0RDQUlDMEhRL1FFZ0FoQzNBeUFERUVjZ0FDQUZLQUlBRUlBSUlBSWtCZ3VRQVFFRGZ5TUdJUU1qQmtFZ2FpUUdBa0FDUUNBQVFkd0FhaUlDRUhRaUJDZ0NCQ0FFS0FJQVJnMEFJQUlRZENnQ0FDZ0NCQ0FCS0FJRVJ3MEFJQUlRZENnQ0FDZ0NDQ0FCS0FJSVJ3MEFEQUVMSUFFb0FnUWdBU2dDQ0JDdUNDRUVJQUlnQVNnQ0JDQUJLQUlJSUFRUTBBZ0xJQU5CK3ZBQkVIa2dBaUFCRU1nSUlBTVFheUFBSUFJUWdRZ2dBeVFHQ3lVQkFYOUJrQkFRUkNJQ0JFQWdBa0VBTmdJQUlBSWdBRFlDQkNBQ0lBRTJBZ2dMSUFJTE5BRUJmeU1HSVFRakJrRWdhaVFHSUFRZ0FVRUJJQUlnQXlBQ0VMZ0RJQUFvQWdBb0FnQWdCQkNDQ0NBRUVOMEJJQVFrQmdzckFRRi9JQUFvQWdnaEFnTkFJQUlRMUFNZ0FDQUFLQUlJUVJScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzZnQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFSUVFPU0FCU1FSQVFjeVpzK1lBSUFNZ0FDZ0NBR3RCRkJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRVVFRGtpQlVFQmRDSUdJQVlnQTBrYlFjeVpzK1lBSUFWQjVzeVpNMGtiSUFBb0FnUWdCR3RCRkJBNUlBQkJDR29RK2dNZ0FpQUJFSVVJSUFBZ0FoRDVBeUFDRVBnREN3VWdBQ0FCRU5VREN5QUNKQVlMVWdFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRnNhaUVCREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRJQUJCQURZQ0NDQUFRUUEyQWdRZ0FFRUFOZ0lBQ3dzdEFRRi9JQUFvQWdnaEFnTkFJQUpCQURvQUFDQUFJQUFvQWdoQkFXb2lBallDQ0NBQlFYOXFJZ0VOQUFzTExRRUJmeUFBS0FJRUlRSURRQ0FDUVFBNkFBQWdBQ0FBS0FJRVFRRnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlBQkVJZ0lJQUFnQWhEWEFpQUNFTllDQ3dVZ0FDQUJFSWtJQ3lBQ0pBWUxMd0VCZjBILy8vLy9CeUFCU1FSQUVBQUZJQUFnQVJCUklnSTJBZ1FnQUNBQ05nSUFJQUFnQVNBQ2FqWUNDQXNMWFFFQmYwSFZxdFdxQVNBQlNRUkFFQUFMSUFGQjFhclZxZ0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCREd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkRHd2dBbW8yQWdnTEMrY0JBUWQvSUFJZ0FXdEJEQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFRd1FPVXNFUUNBQUVNOERRZFdxMWFvQklBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCREJBNUlnUkJBWFFpQlNBRklBTkpHMEhWcXRXcUFTQUVRYXJWcXRVQVNSc1FqQWdnQUNBQklBSWdBeERRQXdzRklBTWdBQ2dDQkNBRWEwRU1FRGtpQmtzaEJTQUdRUXhzSUFGcUlBSWdCUnNpQ0NBQmF5SUdRUXdRT1NFSklBWUVRQ0FFSUFFZ0JoRG5BUm9MSUFVRVFDQUFJQWdnQWlBRElBQW9BZ1FnQUNnQ0FHdEJEQkE1YXhEUUF3VWdBQ0FKUVF4c0lBZHFOZ0lFQ3dzTHlBRUJBbjhqQmlFRUl3WkJFR29rQmlBRVFRUnFJUU1nQkNBQ05nSUFJQUJCeUFCcUlnSWdCQkRvQXdSQVFSQVFCU0VBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBMEhvOEFGQjZQQUJFR0FRZmlBQUlBTVFoZ0lnQUVHSThnQkJCUkFFQ3lBQ0lBUVFxd2doQUNBRElBRW9BZ0FpQWpZQ0FDQURJQUVvQWdRaUFUWUNCQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdRRlFRQUxJUUVnQXlBQUtBSUFOZ0lBSUFBZ0FqWUNBQ0FESUFBb0FnUTJBZ1FnQUNBQk5nSUVJQU1RbFFFZ0JDUUdDOE1CQVFWL0lBQW9BZ0FpQXlFRklBSWdBV3NpQkNBQUtBSUlJQU5yU3dSQUlBQVF6d05CLy8vLy93Y2dCRWtFUUJBQUJTQUFJQVFnQUNnQ0NDQUFLQUlBYXlJRFFRRjBJZ1VnQlNBRVNSdEIvLy8vL3djZ0EwSC8vLy8vQTBrYkVJc0lJQUFnQVNBQ0lBUVF6Z01MQlNBRUlBQW9BZ1FnQTJzaUJrc2hBeUFCSUFacUlBSWdBeHNpQnlBQmF5SUdCRUFnQlNBQklBWVE1d0VhQ3lBREJFQWdBQ0FISUFJZ0FDZ0NBQ0FFSUFBb0FnUnJhaERPQXdVZ0FDQUZJQVpxTmdJRUN3c0xOZ0VDZnlBQUtBSUVJQUFvQWdBaUEyc2lBaUFCU1FSQUlBQWdBU0FDYXhDS0NBVWdBaUFCU3dSQUlBQWdBU0FEYWpZQ0JBc0xDNGtDQVFoL0lBSWdBV3RCRkJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUlFRT1VzRVFDQUFFSWNJUWN5WnMrWUFJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkZCQTVJZ1JCQVhRaUJTQUZJQU5KRzBITW1iUG1BQ0FFUWViTW1UTkpHeERXQXlBQUlBRWdBaUFERU0wREN3VUNRQ0FESUFBb0FnUWdCR3RCRkJBNUlnWkxJUVVnQmtFVWJDQUJhaUFDSUFVYklnZ2dBV3NpQmtFVUVEa2hDaUFHQkVBZ0JDQUJJQVlRNXdFYUN5QUZCRUFnQUNBSUlBSWdBeUFBS0FJRUlBQW9BZ0JyUVJRUU9Xc1F6UU1NQVFzZ0NrRVViQ0FIYWlFQ0lBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkFzTEM5a0NBUVYvSXdZaEJ5TUdRU0JxSkFZZ0IwRU1haUlJSUFZMkFnQkJsQUVRVVNJSkVPY0RJQWRCQURZQ0NDQUhRUmhxSWdvZ0J5Z0NDRFlDQUNBSFFSQnFJZ1lnQ1JEbUF5QUdLQUlBSUFRUTVRTWdCaWdDQUNBRkVPUURJQVlvQWdBUWhnRVEwZ01nQmlnQ0FCQ0dBUkNCQWlBQktBSUVJQUVvQWdCclFSUVFPUkRSQXlBR0tBSUFFSVlCRUlFQ0lnUWdBVWNFUUNBRUlBRW9BZ0FnQVNnQ0JCQ1JDQXNnQmlnQ0FCQ0dBUkIwSUFJb0FnUWdBaWdDQUdzUWtBZ2dCaWdDQUJDR0FSQjBJZ0VnQWtjRVFDQUJJQUlvQWdBZ0FpZ0NCQkNQQ0FzZ0JpZ0NBQkNzQ0FKL0lBQW9BZ0FvQWdBaEN5QUhJQVlvQWdBMkFnQWdCeUFHS0FJRUlnRTJBZ1FnQVFSQUlBRWdBU2dDQkVFQmFqWUNCQXNnQ3dzZ0J5QUlLQUlBRUk0SUlBY1FsUUVnQUNnQ0FFRUVhaUFJRU1NQ0lnQWdBMGNFUUNBQUlBTW9BZ0FnQXlnQ0JCQ05DQXNnQmhDVkFTQUhKQVlMUHdBZ0FDQUJOZ0lBSUFCQkJHb2lBRUlBTndJQUlBQkNBRGNDQ0NBQVFnQTNBaEFnQUVJQU53SVlJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFSUFOd0l3QzF3QkFYOGdBRUhTQ1RZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFCQkRHb2lBU0FBRUpNSUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVJQU53SklJQUJDQURjQ1VDQUFRZ0EzQWxnZ0FFRVFOZ0pzSUFFUTJBTWdBVUVCRU5jREN4UUFJQUJCREdwQkFDQUJLQUlFUWJYOEFVWWJDeFVBSUFBb0Fnd2lBQVJBSUFBUW13Z2dBQkE0Q3dzZUFDQUFRVEJxRUZVZ0FFRWthaEJWSUFCQkdHb1FWU0FBUVF4cUVGVUxPUUVCZnlBQVFkUUFhaERUQXlBQVFjZ0FhaEJWSUFCQkRHb1Fsd2dnQUNnQ0NDRUJJQUJCQURZQ0NDQUJCRUFnQVJERUFpQUJFRGdMQzhZREFnTi9BWHdqQmlFREl3WkJ3QUZxSkFZZ0F5QUJRYWdCYWtFRUlBRW9BZ3hCQUVnRWZ5QUJRUlJxQlNBQktBSUlRUUJJQkg4Z0FVRVlhZ1VnQVVFUWFnc0xLQUlBSWdSclFRUVFUeUlGUVFSMGFpc0RBRGtEWUNBRElBRWdCVUVFZEdvckE3QUJPUU5vSUFNZ0FVR29BV3BCQlNBRWEwRUVFRThpQlVFRWRHb3JBd0E1QTNBZ0F5QUJJQVZCQkhScUt3T3dBVGtEZUNBRElBRkJxQUZxUVFZZ0JHdEJCQkJQSWdWQkJIUnFLd01BT1FPQUFTQURJQUVnQlVFRWRHb3JBN0FCT1FPSUFTQURJQUZCcUFGcVFRY2dCR3RCQkJCUElnUkJCSFJxS3dNQU9RT1FBU0FESUFFZ0JFRUVkR29yQTdBQk9RT1lBU0FESUFKRUFBQUFBQUFBNEwraUlnWTVBd0FnQXlBQ1JBQUFBQUFBQU9BL29pSUNPUU1JSUFORUFBQUFBQUFBQUFBNUF4QWdBeUFDT1FNWUlBTWdBamtESUNBRFJBQUFBQUFBQUFBQU9RTW9JQU1nQWprRE1DQURJQVk1QXpnZ0EwRkFhMFFBQUFBQUFBQUFBRGtEQUNBRElBWTVBMGdnQXlBR09RTlFJQU5FQUFBQUFBQUFBQUE1QTFnZ0EwR29BV29pQVNBRFFlQUFhallDQUNBQklBTTJBZ1FnQVVFRU5nSUlJQUFvQWdBZ0FVR0FwQU5CZ0tRRElBTkJvQUZxRU9vQkdpQURLd09nQVJvZ0F5UUdDOU1UQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0FVRUNFRGtoRENBQ1FRSVFPU0VPSUFRb0FnQWlCeUVDSUF3Z0RrRi9haUlRYkVFQmRDQUhhaUVGQTBBZ0JpQU1TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBR1FRRnFJUVlNQVFzTElBY2hBaUFNUVg5cUloRkJBWFFnQjJvaEJVRUFJUVlEUUNBR0lBNUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU1RUUYwSUFKcUlRSWdERUVCZENBRmFpRUZJQVpCQVdvaEJnd0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RHc2hFaUFBSUFGQkFYUkJBbXBxSVExQkFTRUxRUUFoQlNBTVFRRnFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFVWdFUUNBTkxRQUFJQU5LQkVBZ0IwRUFPd0VBQlFKQUlCSkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0xJQTFCQW1vaERTQUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTFxUVFScUlRMGdDMEVCYWlFTElBQWhCU0FIUVFScUlRY01BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUhRUUVoQUVFQklRTURRQ0FESUFWTUJFQWdBeUFDS0FJQUlnWkdCRUFnQUVFQmFpRUJCU0FBSVFFZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUNJQUEyQWdBZ0FTRUFJQU5CQVdvaEF5QUNRUVJxSVFJTUFRc0xJQVFnQUVGL2FpSUFOZ0lJSUFBRWZ5QUhRUUFnQUVFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FBUVFSMEVFVWFRUUFoQVFOQUlBRWdBRWdFUUNBRVFZeUFDR29nQVVFQ2RDSUNRUUowYWlBTU5nSUFJQVJCaklBSWFpQUNRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUFPTmdJQUlBUkJqSUFJYWlBQ1FRTnlRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCQUNFQkEwQWdBU0FGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFCUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlESUFSQmtJRFFBR29nQVVFSGJDSUFRUUowYWlnQ0FDQURLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lEUVFOMGFpSUhJQWNyQXdBZ0FFRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQURRUUZ5UVFOMGFpSURJQU1yQXdBZ0FFRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lIU0FSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2tnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0lvQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUlnQURZQ0FBc2dBVUVCYWlFQkRBRUxDeUFFS0FJSUlRRkJBQ0VBQTM4Z0FDQUJTQVIvSUFSQmtJQW9haUFBUVFGMElnSkJBM1JxSWdNZ0F5c0RBQ0FFUVF4cUlBQkJBblJxS0FJQXR5SVZvemtEQUNBRVFaQ0FLR29nQWtFQmNrRURkR29pQWlBQ0t3TUFJQldqT1FNQUlBQkJBV29oQUF3QkJVRUFDd3NGUVFBTEN5RVVJQThrQmlBVUN4NEFJQUJCSkdvUW1BZ2dBRUVJYWlJQVFSQnFFTmtDSUFCQkJHb1FWUXNxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVOWURJQUFnQVJEVkF3c0xYUUVCZjBILy8vLy9BeUFCU1FSQUVBQUxJQUZCLy8vLy93TkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBblFRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQW5RZ0FtbzJBZ2dMQ3pzQkEzOGdBU0VFSUFBb0FnZ2lCU0VEQTBBZ0F5QUNLQUlBTmdJQUlBTkJCR29oQXlBRVFYOXFJZ1FOQUFzZ0FDQUJRUUowSUFWcU5nSUlDOW9CQVFaL0l3WWhDQ01HUVNCcUpBWWdDQ0VFSUFBb0FnUWlBeUVHSUFBb0FnZ2dBMnRCQW5VZ0FVa0VRRUgvLy8vL0F5QUJJQU1nQUNnQ0FHdEJBblZxSWdkSkJFQVFBQVVnQkNBSElBQW9BZ2dnQUNnQ0FDSUZheUlHUVFGMUlnTWdBeUFIU1J0Qi8vLy8vd01nQmtFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQld0QkFuVWdBRUVJYWhESUFTQUVJQUVnQWhDZUNDQUFJQVFRNUFFZ0JCREhBUXNGSUFFaEF5QUdJUVVEUUNBRklBSW9BZ0EyQWdBZ0JVRUVhaUVGSUFOQmYyb2lBdzBBQ3lBQUlBRkJBblFnQm1vMkFnUUxJQVFrQmd1RkJRRUhmeU1HSVFrakJrRVFhaVFHSUFBb0FnUWdBQ2dDQUd0QkFuVWdCRWNFUUNBSlFjRElBMEdaOFFFUU4wRzM5UUVRTjBIdm9nSVFOMEhHQVJBK1FmYWlBaEEzUWF6NEFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBSkJBRXdFUUNBSlFjRElBMEhWOWdFUU4wRzM5UUVRTjBIdm9nSVFOMEhIQVJBK1FmYWlBaEEzUWYzMkFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBUWdBa29FUUNBSlFjRElBMEdoOXdFUU4wRzM5UUVRTjBIdm9nSVFOMEhJQVJBK1FmYWlBaEEzUWRUM0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTElBWkJBRXdFUUNBSlFjRElBMEhKK0FFUU4wRzM5UUVRTjBIdm9nSVFOMEhKQVJBK1FmYWlBaEEzUWZENEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTFFRQWhDQU5BSUFnZ0JFZ0VRQ0FJUVFKMElBTnFJUXhCQUNFS1FYOGhBZ05BSUFZZ0NrY0VRQ0FCSUF3b0FnQkI0QUJzYWlBQklBcEJBblFnQldvaURTZ0NBRUVDZENBRGFpZ0NBRUhnQUd4cUVJSUNJZ2NnQWtrRVFDQUFLQUlBSUFoQkFuUnFJQTBvQWdBMkFnQWdCeUVDQ3lBS1FRRnFJUW9NQVFzTElBSWdDMm9oQ3lBSVFRRnFJUWdNQVFzTElBa2tCaUFMQzFBQkFYOGdBRUVZRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFLQUlBTmdJSUlBUkJBRFlDRENBRVFRQTJBaEFnQkVFQU5nSVVJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQ3pJQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVhaUFDUWVBQUVFd2FDMHdCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCQW5VZ0FVa0VRQ0FDSUFFZ0FDZ0NCQ0FEYTBFQ2RTQUFRUWhxRU1nQklBQWdBaERrQVNBQ0VNY0JDeUFDSkFZTG5BRUJCWDhqQmlFQ0l3WkJJR29rQmtILy8vLy9BeUFBS0FJRUlBQW9BZ0JyUVFKMVFRRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUUYxSWdZZ0JpQURTUnRCLy8vLy93TWdCVUVDZFVILy8vLy9BVWtiSUFBb0FnUWdCR3RCQW5VZ0FFRUlhaERJQVNBQ0tBSUlJZ01nQVNnQ0FEWUNBQ0FDSUFOQkJHbzJBZ2dnQUNBQ0VPUUJJQUlReHdFZ0FpUUdDd3ZEQmdFR2Z5TUdJUVlqQmtFUWFpUUdJQUFvQWdRaUNDQUFLQUlRSUFBb0FneHJRUUoxUndSQUlBWkJ3TWdEUVlyMUFSQTNRYmYxQVJBM1FlK2lBaEEzUVpvQkVENUI5cUlDRURkQnFQWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dBa0VBVEFSQUlBWkJ3TWdEUWRYMkFSQTNRYmYxQVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQi9mWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dCQ0FDU2dSQUlBWkJ3TWdEUWFIM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVp3QkVENUI5cUlDRURkQjFQY0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dDQ0FFU2dSQUlBWkJ3TWdEUWUvM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVowQkVENUI5cUlDRURkQm1QZ0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUhJQWhCQ2lBSFFUOXhRWW9CYWhFQ0FDRUlJQVlRUENBRklBZ1FRQ0FGRUQ4UUFBc2dCa0YvTmdJQUlBQkJHR29pQ2lBRUlBWVEzUU1nQmtGL05nSUFJQUJCSkdvaUNTQUVJQVlRM1FNZ0FFRXdhaUFFRUljQklBQW9BakFpQlNBQUtBSTBJQVZyUVFKMUVOd0RRWDhoQlVFQUlRY0RRQ0FISUFBb0FnaElCRUFnQUNnQ01DSUlJQUFvQWpRZ0NHdEJBblVnQUNnQ0JDQUFLQUlBRU1FQ0lBa2dBU0FDSUFNZ0JDQUFLQUl3SUFBb0FnUVFvQWdpQ0NBRlNRUkFJQW9nQ1JDSkFpQUFLQUlNSUFBb0FqQWdBQ2dDQkVFQ2RCQk1HaUFJSVFVTElBZEJBV29oQnd3QkN3c2dBQ2dDQkNBQUtBSVFJQUFvQWd4clFRSjFSZ1JBSUFZa0JnVWdCa0hBeUFOQml2VUJFRGRCdC9VQkVEZEI3NklDRURkQnV3RVFQa0gyb2dJUU4wR285Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBQWdBUkJBSUFBUVB4QUFDd3ZrQkFJTmZ3TjhJd1loQ2lNR1FSQnFKQVlnQ2tFRWFpRVFRUUlRNXdJaERrRUNFT2NDSVF0QkFrRUNFSXNCSVF3Q2Z3SkFBa0FEUUFKQUlBZEJCRThOQWlBSFFRRnFJZ0pCQW5RZ0Eyb29BZ0FpRDBFQmFpQUhRUUowSUFOcUtBSUFJZ2hydDBTYW1abVptWm1wUDZKRUFBQUFBQUFBNEQrZ0loUWdDTGVnRUhNaEVTQVB0eUFVb1JCeklCRnJJaEpCQVdwQkFoQ0xBU0VOUVFBaENRTkFJQWtnRWt3RVFDQUVJQWtnRVdvaUNFRUNkQ0FBYWlnQ0FMSWdDRUVDZENBQmFpZ0NBTElnRUNBS0VLWUJRUUJJRFFJZ0RTZ0NBQ0lJSUFsQkFYUWlEMEVEZEdvZ0VDb0NBTHM1QXdBZ0QwRUJja0VEZENBSWFpQUtLZ0lBdXprREFDQUpRUUZxSVFrTUFRc0xJQTBnRENBT0lBc1FuUVZCQUVnTkF5QUhRUmhzSUFWcUlBd29BZ0FpQ0NzRENDSVZPUU1BSUFkQkdHd2dCV29nQ0NzREFKb2lGRGtEQ0NBSFFSaHNJQVZxSUJVZ0N5Z0NBQ0lIS3dNQW9pQUhLd01JSUJTaW9KbzVBeEFnRFJCSklBSWhCd3dCQ3dzTUFRc2dEQkJKSUFzUXp3RWdEaERQQVVFQUlRUURmMEVBSUFSQkJFOE5BaG9nQkVFRGFrRURjU0lBUVJoc0lBVnFJZ01yQXdBZ0JFRVliQ0FGYWlzRENDSVZvaUFFUVJoc0lBVnFJZ0lyQXdBZ0FFRVliQ0FGYWlzRENDSVVvcUVpRnBsRUxVTWM2K0kyR2o5akJIOUJmd1VnQkVFRWRDQUdhaUFVSUFSQkdHd2dCV29pQVNzREVLSWdGU0FBUVJoc0lBVnFJZ0FyQXhDaW9TQVdvemtEQUNBRVFRUjBJQVpxSUFJckF3QWdBQ3NERUtJZ0F5c0RBQ0FCS3dNUW9xRWdGcU01QXdnZ0JFRUJhaUVFREFFTEN3d0JDeUFORUVrZ0RCQkpJQXNRendFZ0RoRFBBVUYvQ3lFVElBb2tCaUFUQ3pBQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVha0hnQUJEWkF3dE9BUUovUVlBQkVGRWlCaUFBRU9FREVLY0lJQUFvQWdnaEJTQUFJQVkyQWdnZ0JRUi9JQVVReEFJZ0JSQTRJQUFvQWdnRklBWUxRUUFRZ3dJZ0FDQUFLQUlJSUFFZ0FpQURJQVFRNEFNTFhnRUVmeU1HSVFNakJrRVFhaVFHSUFNZ0FoQ0VBaUFES0FJRUlBTW9BZ0FpQld0QkFuVWhCZ05BSUFRZ0JrY0VRQ0FFUVFKMElBVnFJQVEyQWdBZ0JFRUJhaUVFREFFTEN5QUFJQUVnQWlBRklBWVFxQWdnQXhCVklBTWtCZ3RKQVFGL0lBQkJGQkJSSWdRMkFnQWdBQ0FCUVFocU5nSUVJQVFnQXlnQ0FDZ0NBRFlDQ0NBRVFRQTJBZ3dnQkVFQU5nSVFJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRcWdnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MUHdFQmZ5QUFRU1JxSWdGQkRHcEJnQUVRMXdNZ0FVRU1haERZQXlBQlFRZzJBbWdnQVVFUU5nSnNJQUVnQUVFSWFpSUFFSFFvQWdBZ0FCQnhFS2tJQzg4R0FRVi9Jd1loQ0NNR1FTQnFKQVlnQ0VFVWFpRUdJQUZGQkVBZ0JrSEF5QU5CeDVZQ0VEZEJrUGtCRURkQjc2SUNFRGRCMUFFUVBrSDJvZ0lRTjBIVWx3SVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNSUVJBSUFaQndNZ0RRWWo2QVJBM1FaRDVBUkEzUWUraUFoQTNRZFVCRUQ1QjlxSUNFRGRCcVBvQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBJZ1FvQWdRZ0JDZ0NBRVlFUUNBR1FjRElBMEc1K2dFUU4wR1ErUUVRTjBIdm9nSVFOMEhXQVJBK1FmYWlBaEEzUWUzNkFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRkVFQWdCQkEvRUFBTElBRVFkQ2dDQUNnQ0JDQUNLQUlBUndSQUlBWkJ3TWdEUWY3NkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRjQkVENUI5cUlDRURkQngvc0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwS0FJQUtBSUlJQUlvQWdSSEJFQWdCa0hBeUFOQjZ2c0JFRGRCa1BrQkVEZEI3NklDRURkQjJBRVFQa0gyb2dJUU4wSEgrd0VRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDSUFFUTlBZ2dCaUFDRU1BQ0lnUW9BZ1FnQkNnQ0FHdEJKQkE1RUp3SVFRQWhCQU5BSUFRZ0FoREFBaUlGS0FJRUlBVW9BZ0JyUVNRUU9Va0VRQ0FJSUFJUXdBSW9BZ0FpQlNBRVFTUnNhaW9DQUNBRVFTUnNJQVZxS2dJRUlBUkJKR3dnQldvcUFnZ2dCRUVrYkNBRmFpb0NIQ0FFUVNSc0lBVnFLZ0lZUXdBQUFBQmVFUHdESUFZb0FnQWdCRUVVYkdvaUJTQUlLUUlBTndJQUlBVWdDQ2tDQ0RjQ0NDQUZJQWdzQUJBNkFCQWdCRUVCYWlFRURBRUxDeUFESUFBUWhnRWdBU0FHRUxZSElBWVEyUUlnQ0NRR0N5OEJBWDhEUUNBQVFRaElJQUZCQ0VoeVJRUkFJQUpCQVdvaEFpQUJRUUYxSVFFZ0FFRUJkU0VBREFFTEN5QUNDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRURkQkJGR2lBQUlBRkJBM1FnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFRTjBFRVVhSUFBZ0FVRURkQ0FDYWpZQ0JBdWxBUUVGZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURhMEVEZFNBQlNRUkFRZi8vLy84QklBRWdBeUFBS0FJQWEwRURkV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSWdBUkN2Q0NBQUlBSVF6UUlnQWhETUFnc0ZJQUFnQVJDd0NBc2dBaVFHQ3owQkFuOGdBQ2dDQkNBQUtBSUFJZ0pyUVFOMUlnRkJnQWhKQkVBZ0FFR0FDQ0FCYXhDeENBVWdBVUdBQ0VzRVFDQUFJQUpCZ0VCck5nSUVDd3NMTkFBZ0FFR0F5QUFRaHdFZ0FFRVlhaEN5Q0NBQVF3clhJenc0QWlRZ0FFR0FDRFlDS0NBQVFhZ0lOZ0lzSUFCQk1qWUNNQXNxQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFBUXN3Z0x4QUVCQVg4Z0FFRUFOZ0lNSUFCQkFEWUNFQ0FBUVFBMkFoUWdBRUZBYXlJQlFnQTNBZ0FnQVVJQU53SUlJQUZDQURjQ0VDQUFRWUNBZ1B3RE5nSllJQUJCM0FCcUVORUlJQUJCb0FGcUlnRVFnZ2tnQUVHOEFtb1F1QWNnQUVFQU5nTDhCQ0FBUVFBMkFvQUZJQUJCQURZQ2hBVWdBRU16TXpNL09BS0lCU0FBUVl3RmFoREZCeUFBUVpRR2FoQzBDQ0FCUXdBQVFFQTRBalFnQVVNQUFJQkFPQUk0SUFGQjlBTVE5d01nQUVNQUFFQkFPQUlFSUFCQkNEWUNBQ0FBUVFFNkFBZ0xKQUVDZndOQUlBQUVRQ0FBS0FJQUlRSWdBRUVNYWhCVklBQVFPQ0FDSVFBTUFRc0xDNDhGQWc5L0FYd2pCaUVFSXdaQjRBQnFKQVlnQkVFd2FpRUhJQVJCM0FCcUlRTWdCRUhZQUdvaEJTQUJRUnhxSWdnb0FnQWhDeUFCUWR5NEFtb2lDU2dDQUNFTUlBRW9BaGhCZjJvaERVRUJJUVlEUUNBR0lBMUlCRUFnQmlBQ0lBRkJIR29nQmtFQ2RHb29BZ0FnQzJzaUFpQUNiQ0FCUWR5NEFtb2dCa0VDZEdvb0FnQWdER3NpQWlBQ2JHb2lEaUFLU2lJUEd5RUNJQVpCQVdvaEJpQU9JQW9nRHhzaENnd0JDd3NnQTBFQU5nSUFJQVZCQURZQ0FDQUlJQWxCQUNBQ0lBQzNSQUFBQUFBQUFPZy9vMFI3Rks1SDRYcUVQNklpRVNBSElBTVFxd0ZCQUVnRWYwRi9CU0FJSUFrZ0FpQUJLQUlZUVg5cUlCRWdCQ0FGRUtzQlFRQklCSDlCZndVQ2Z5QURLQUlBSWdCQkFVWWdCU2dDQUNJR1FRRkdjUVJBSUFRb0FnQWhBQ0FIS0FJQUlRTUZBbjhnQmtVZ0FFRUJTbkVFUUNBQ1FRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFsQkFDQUFJQkVnQnlBREVLc0JRUUJJRFFNYVFYOGdDQ0FKSUFBZ0FpQVJJQVFnQlJDckFVRUFTQTBER2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRTWFJQUloQUNBSEtBSUFJUU1nQkNnQ0FBd0JDMEYvSUFCRklBWkJBVXB4UlEwQ0dpQUJLQUlZSUFKQmYycHFRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBa2dBaUFBSUJFZ0J5QURFS3NCUVFCSURRSWFRWDhnQ0NBSklBQWdBU2dDR0VGL2FpQVJJQVFnQlJDckFVRUFTQTBDR2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRSWFJQVFvQWdBaEFDQUNJUU1nQnlnQ0FBc2hBZ3NnQVVHYzhRUnFRUUEyQWdBZ0FVR2c4UVJxSUFNMkFnQWdBVUdrOFFScUlBSTJBZ0FnQVVHbzhRUnFJQUEyQWdBZ0FVR3M4UVJxSUFFb0FoaEJmMm8yQWdCQkFBc0xDeUVRSUFRa0JpQVFDeVVCQW44RFFDQUFCRUFnQUNnQ0FDRUNJQUJCREdvUWxRRWdBQkE0SUFJaEFBd0JDd3NMS1FFQmZ5QUFLQUlJRUxnSUlBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBQW9BZ1FhSUFFUU9Bc0xTZ0VDZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQURZQ0VDQUFRWUNBZ1B3RE5nSVVRY2dHRUZFaUFoQzFDQ0FBS0FJQUlRRWdBQ0FDTmdJQUlBRUVRQ0FCRU9vRElBRVFPQXNMTUFFQ2Z5QUFRUUEyQWdCQkdCQlJJZ0lRdWdnZ0FDZ0NBQ0VCSUFBZ0FqWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTEM5d0JBZ0YvQm4wZ0JTb0NBQ0lJSUFNcUFnQWlCNU1oQ1NBSUlBUXFBZ0FpQ0pNZ0NaUWhDaUFISUFpVElnc2dDWlFoQ1NBS1F3QUFBQUJiSUFsREFBQUFBRnR5SUF0REFBQUFBRnR5Qkg4Z0FFTUFBQUFBT0FJQUlBRkRBQUFBQURnQ0FFTUFBQUFBSVFkQkFBVWdBQ0FGS2dJRUlBUXFBZ1FpREpNZ0NwVWdBeW9DQkNBTWt5QUpsWk1pQ1RnQ0FDQUJJQU1xQWdRZ0JDb0NCSk1nQ0NBSWxDQUhJQWVVSWdlVElBbVVraUFMbFNJSU9BSUFJQU1xQWdRZ0J5QUFLZ0lBbEpNZ0NDQURLZ0lBbEpNaEIwRUJDeUVHSUFJZ0J6Z0NBQ0FHQzZRQkFnSi9BbjBnQVNvQ0FDRUdJQUpCZjJvaUEwRUNkQ0FCYWlJRUtnSUFJUVZCQUNFQ0EwQWdBaUFEUndSQUlBSkJBblFnQUdvZ0JVR0loZ0VxQWdDVUlBSkJBblFnQVdvcUFnQWlCVUdNaGdFcUFnQ1Vra0dRaGdFcUFnQWdBa0VCYWlJQ1FRSjBJQUZxS2dJQWxKSTRBZ0FNQVFzTElBTkJBblFnQUdvZ0JVR0loZ0VxQWdDVVFZeUdBU29DQUNBRUtnSUFsSklnQmtHUWhnRXFBZ0NVa2pnQ0FBdjJCd0VNZnlNR0lRY2pCa0dnOFFScUpBWWdCMEdROFFScUlRMGdCMEdJOFFScUlRNGdCMEdBOFFScUlRZ2dCMEhBdUFKcUlRd2dCeUVMSUFRb0FnUWhDaUFFS0FJQUlna2hCeUFKSUFFZ0JDZ0NDQ0lKYkdwQkFYUWdBR29oQmdKL0FrQURRQUpBSUFjZ0Nrb05BaUFHTGdFQUlnUkJBRW9FUUNBRElBUkJmMnBCQW5RZ0Ftb29BZ0JHRFFFTElBZEJBV29oQnlBR1FRSnFJUVlNQVFzTElBZEJmMFlOQUNBRlFRRTJBaGdnQlNBSE5nSWNJQVZCM0xnQ2FpSVBJQWsyQWdCQkJTRUdJQWtoQkNBSElRTkJBU0VDQWtBQ1FBTkFBa0FnQVNBRWJDQURha0VCZENBQWFpRVFRUUFoQ0NBR1FRVnFJUVlDUUFKQUEwQWdCa0VJRUU4aEJpQUlRUWhQRFFFZ0JrRUNkRUhBQ0dvb0FnQWlCQ0FCSUFaQkFuUkJvQWhxS0FJQUlncHNha0VCZENBUWFpNEJBRUVBVEFSQUlBaEJBV29oQ0NBR1FRRnFJUVlNQVFzTERBRUxJQWhCQ0VZTkFTQUdRUUowUWNBSWFpZ0NBQ0VFSUFaQkFuUkJvQWhxS0FJQUlRb0xJQVZCSEdvZ0FrRUNkR29nQXlBRWFqWUNBQ0FGUWR5NEFtb2dCU2dDR0NJQ1FRSjBhaUFDUVFKMElBVnFRZGk0QW1vb0FnQWdDbW8yQWdBZ0J5QUZRUnhxSUFVb0FoZ2lBMEVDZEdvaUNDZ0NBRVlFUUNBSklBVkIzTGdDYWlBRFFRSjBhaWdDQUVZTkF3c2dCU0FEUVFGcUlnSTJBaGdnQWtHUHpnQkdEUU1nQlVIY3VBSnFJQU5CQW5ScUtBSUFJUVFnQ0NnQ0FDRUREQUVMQzBFQVFRTkI1S2dCSUE0UVBVRi9EQU1MUVFBaEFFRUFJUVpCQVNFQkEwQWdBU0FEU0FSQUlBRWdBQ0FGUVJ4cUlBRkJBblJxS0FJQUlBZHJJZ0FnQUd3Z0JVSGN1QUpxSUFGQkFuUnFLQUlBSUFscklnQWdBR3hxSWdJZ0Jrb2lCQnNoQUNBQ0lBWWdCQnNoQmlBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FFZ0VRQ0FCUVFKMElBeHFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdBVUVDZENBTGFpQUZRZHk0QW1vZ0FVRUNkR29vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFBSVFFRFFDQUJJQU5JQkVBZ0JVRWNhaUFCSUFCcklnSkJBblJxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQlVIY3VBSnFJQUpCQW5ScUlBVkIzTGdDYWlBQlFRSjBhaWdDQURZQ0FDQUJRUUZxSVFFZ0JTZ0NHQ0VEREFFTEMwRUFJUUVEUUNBQklBQklCRUFnQlVFY2FpQUJJQUJySWdJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnREdvb0FnQTJBZ0FnQlVIY3VBSnFJQUlnQlNnQ0dHcEJBblJxSUFGQkFuUWdDMm9vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFGUVJ4cUlBVW9BaGhCQW5ScUlBVW9BaHcyQWdBZ0JVSGN1QUpxSUFVb0FoaEJBblJxSUE4b0FnQTJBZ0FnQlNBRktBSVlRUUZxTmdJWVFRQU1BZ3RCQUVFRFFldW9BU0FORUQxQmZ3d0JDMEVBUVFOQjNhZ0JJQWdRUFVGL0N5RVJJQXNrQmlBUkM4UUlBZ1YvQVgwakJpRUZJd1pCRUdva0JpQUFSUVJBSUFWQndNZ0RRY0xyQVJBM1FlYnJBUkEzUWUraUFoQTNRWXNCRUQ1QjlxSUNFRGRCNXV3QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0FVTUFBQUEva2tNQUFBQUFYZ1JBSUFGREFBQUF2NUlpQ1NBRHNsMEVRQ0FDUXdBQUFBQmdSUVJBSUFWQndNZ0RRZW50QVJBM1FlYnJBUkEzUWUraUFoQTNRWTBCRUQ1QjlxSUNFRGRCais0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0EwRi9UQVJBSUFWQndNZ0RRYXp1QVJBM1FlYnJBUkEzUWUraUFoQTNRWTRCRUQ1QjlxSUNFRGRCMGU0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUF0REFBQ0FQeUFCSUFtT0VFTWlCTEtUUXdBQUFMK1NJZ21USVFFZ0F5QUVhaUFERUU4aEJpQUVRUUZxSUFNUVR5RUlJQUZEQUFBQUFHQkZCRUFnQlVIQXlBTkI3dTRCRURkQjV1c0JFRGRCNzZJQ0VEZEJsZ0VRUGtIMm9nSVFOMEdON3dFUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFNZ0JFRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0JSQThJQWNnQXhCQUlBY1FQeEFBQ3lBSlF3QUFBQUJnUlFSQUlBVkJ3TWdEUWFIdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpjQkVENUI5cUlDRURkQndPOEJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dCa0YvVEFSQUlBVkJ3TWdEUWRUdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpnQkVENUI5cUlDRURkQmhQQUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dDRUYvU2dSQUlBWkJBblFnQUdvaUF5QUJJQUtVSUFNcUFnQ1NPQUlBSUFoQkFuUWdBR29pQUNBSklBS1VJQUFxQWdDU09BSUFJQVVrQmc4RklBVkJ3TWdEUVo3d0FSQTNRZWJyQVJBM1FlK2lBaEEzUVprQkVENUI5cUlDRURkQnp2QUJFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUFJQU5CQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQVVRUENBRUlBQVFRQ0FFRUQ4UUFBc0xDeUFGUWNESUEwR0E3UUVRTjBIbTZ3RVFOMEh2b2dJUU4wR01BUkErUWZhaUFoQTNRY0h0QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBRlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRkVEd2dCQ0FBRUVBZ0JCQS9FQUFMUXdBZ0FFTUFBTUJBa2lBQWxFTUFBUEJCa2lBQWxFTUFBUEJDa2lBQWxFTUFBTFJEa2lBQWxFTUFBRFJFa2lBQWxFTUFBRFJFa3J0RU9XeFMvbXZCVmoraXRndjREQUlPZndOOUl3WWhEQ01HUVRCcUpBWWdERUVnYWlFS0lBVkRBQUFBQUdCRkJFQWdDa0hBeUFOQjZlY0JFRGRCdnVZQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0g2QUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJRXN5QUZYa1VFUUNBS1FjRElBMEdhNkFFUU4wRys1Z0VRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWVyb0FSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBWkRBQUFBQUdCRkJFQWdDa0hBeUFOQmp1a0JFRGRCdnVZQkVEZEI3NklDRURkQitRQVFQa0gyb2dJUU4wR3M2UUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJSXN5QUdYa1VFUUNBS1FjRElBMEcvNlFFUU4wRys1Z0VRTjBIdm9nSVFOMEg2QUJBK1FmYWlBaEEzUVpEcUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBQW9BaWdnQkNBRElBQW9BZ1JzYWtFRmRHb2lDU2dDRUVFQ1J3UkFJQXBCd01nRFFiWHFBUkEzUWI3bUFSQTNRZStpQWhBM1FmNEFFRDVCOXFJQ0VEZEIzdW9CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFwQmdNNERFRG9pQkNnQ0FDZ0NIQ0VJSUFSQkNpQUlRVDl4UVlvQmFoRUNBQ0VFSUFvUVBDQURJQVFRUUNBREVEOFFBQXNnREVFWWFpRUxJQXhCRUdvaER5QU1RUXhxSVJBZ0RFRUlhaUVSSUF4QkJHb2hFaUFDUVFBMkFnQWdCVU1BQUFBL2toQkRJUU1nQmtNQUFBQS9raEJESVFRZ0EwRUFUZ1JBSUFSQkFFZ2dDU2dDQkNBRFRYSkZCRUFnQ1NnQ0NDQUVTd1JBQWtCREFBQ0F2ME1BQUlBL0lBQXFBZ3dnQjVRaUIwTUFBSUEvSUFkZUd5SUhFR2xEQUFBQVFKU1ZJUmNnQnlBQUtnSVFsQ0lIRUdtTklSaEJBQ0FESUFkREFBQUFQNUlRUXlJTmF4REdBU0VJSUFNZ0RXb2dDU2dDQkVGL2FoQ0ZBaUVPUVFBZ0JDQU5heERHQVNFRElBUWdEV29nQ1NnQ0NFRi9haENGQWlFTklBQW9BaHdpQkVFQUlBQW9BaUFnQkd0QkFuVkJBblFRUlJvRFFDQURJQTFNQkVBZ0E3SWdCcE1RYVNFSElBa2dBeEJRSVJNZ0NDRUVBMEFnQkNBT1RBUkFJQWNnQkxJZ0JaTVFhWklpRmlBWVhrVUVRQ0FYSUJhVUVNQUlJUllnQUNnQ0hDQUVRUU4wSUJOcUloUXFBZ0FnQUNnQ0NDSVZzcFM3UkhmSXlXMHdYOFEvb3JZZ0ZpQVVLZ0lFbENBVkVMOElDeUFFUVFGcUlRUU1BUXNMSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBQUtBSVVTQVJBSUFBb0Fod2lCQ0FFSUFBb0FnZ1F2UWdnQTBFQmFpRUREQUVMQ3lBQUtBSUlJUU5CQUNFRVF3QUFBQUFoQlFOQUlBUWdBMGdFUUNBQUtBSWNJQVJCQW5ScUtnSUFJUVlnQkVFQmFpRUVJQVlnQlNBR0lBVmVHeUVGREFFTEN5QUZRd0FBQUFCY0JFQWdCVU1BQUFBQVhrVUVRQ0FLUWNESUEwSDk2Z0VRTjBHKzVnRVFOMEh2b2dJUU4wSGFBUkErUWZhaUFoQTNRYVByQVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdnb0FnQW9BaHdoQ1NBSVFRb2dDVUUvY1VHS0FXb1JBZ0FoQ0NBS0VEd2dCQ0FJRUVBZ0JCQS9FQUFMUVFBaEJBTkFJQVFnQTA0TkFpQUtJQVN5SWdjNEFnQWdDaUFBS0FJY0lnZ2dCRUVDZEdvaUNTZ0NBQ0lOTmdJRUlBc2dCRUYvYWlJT3NqZ0NBQ0FMSUFNZ0Rtb2dBeEJQUVFKMElBaHFLQUlBSWc0MkFnUWdEeUFFUVFGcUlnU3lPQUlBSUE4Z0F5QUVhaUFERUU5QkFuUWdDR29vQWdBaUNEWUNCQ0FOdmlFR0lBa3FBZ0FnQlNBQUtnSVlsRjRFUUNBR0lBNitYaUFHSUFpK1huRUVRQ0FNSUFjNEFnQWdFQ0FSSUJJZ0N5QUtJQThRdkFnRVFDQVJLZ0lBSVFZZ0Vpb0NBQm9nRUNvQ0FDSUhRd0FBQUFCY0JFQWdEQ0FHakNBSFF3QUFBRUNVbFRnQ0FBc0xJQXdxQWdCREFBQUFQNUlnQUNnQ0NMSWlCcElnQnBXN1JCZ3RSRlQ3SVJsQW9rUVlMVVJVK3lFWlFCQWV0aUVHSUFJb0FnQWlBMEVDZENBQmFpQUdPQUlBSUFJZ0EwRUJhallDQUNBQUtBSUlJUU1MQ3d3QUFBc0FDd3NMQ3dzZ0RDUUdDK1VCQVFOL0l3WWhCQ01HUVJCcUpBWUNRQU5BSUFJZ0FSQjBJZ01vQWdRZ0F5Z0NBR3RCQlhWSkJFQWdBUkIwS0FJQUlBSkJCWFJxSWdNb0FnUWdBeWdDREVFQ2RrY05BaUFBS0FJb0lBSkJCWFJxS0FJWUlBTW9BaGdnQXlnQ0JDQURLQUlJRU1VSUlBSkJBV29oQWd3QkN3c2dCQ1FHRHdzZ0JFSEF5QU5CZ2VZQkVEZEJ2dVlCRURkQjc2SUNFRGRCNEFBUVBrSDJvZ0lRTjBIQTV3RVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCQkE4SUFBZ0FSQkFJQUFRUHhBQUM3c0JBUVYvSUFBZ0F6WUNBQ0FBSUFRMkFnUWdBRUVrTmdJSUlBQkRBQUJBUURnQ0RDQUFRd0FBd0Q4NEFoQWdBRUVGTmdJVUlBQkR6Y3hNUHpnQ0dDQUFRUnhxUVNRUWh3RWdBQ0lHUVNocUlBQW9BZ0FnQUNnQ0JHd1ExQUpCQUNFQUEwQWdBQ0FEUndSQUlBQWdCR3doQnlBQklBQjJJUWdnQWlBQWRpRUpRUUFoQlFOQUlBUWdCVWNFUUNBR0tBSW9JQVVnQjJwQkJYUnFRUUlnQ0NBSlFRSVF0d0lnQlVFQmFpRUZEQUVMQ3lBQVFRRnFJUUFNQVFzTEN6TUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lNSUFCQ0FEY0NGQ0FBUWdBM0Fod2dBRUlBTndJa0lBQkNBRGNDTEF1TkJ3SUpmd0o5SUFKQmYyb2hDU0FCUVFScUlnUXFBZ0FnQVNvQ0FDSU5reUVPSUFBZ0FrRUNkQ0FCYWlJR0tnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJRVFRRWhDQ0FHSVFjRFFDQUFRUWhxSVFVZ0IwRUVhaUVISUFnZ0NVa0VRQ0FGSUFjcUFnQWdCQ29DQUpNaURpQUVRUVJxSWdvcUFnQWdCRUY4YWlvQ0FKTWlEUkNkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUEwZ0RaUWdEaUFPbEpLUk9BSU1JQWhCQVdvaENDQUtJUVFnQlNFQURBRUxDeUFEUVg5cUlRd2dCQ29DQUNJTklBUkJmR29xQWdDVElRNGdCU0FIS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaENDQUZJUU1nQWtFQ2RDQUdhaUVFSUFFaEJRTkFJQU5CQ0dvaEFDQUlJQXhKQkVBZ0FDQUVLZ0lBSUFVcUFnQ1RJZzRnQmtFRWFpSUFLZ0lBSUFZcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NERUVCSVFzZ0EwRVFhaUVEQTBBZ0JFRUVhaUVISUFWQkJHb2hCaUFMSUFsSkJFQWdBeUFIS2dJQUlBWXFBZ0NUSWc0Z0FFRUVhaUlLS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUxRUUZxSVFzZ0J5RUVJQVloQlNBS0lRQWdBMEVJYWlFRERBRUxDeUFESUFjcUFnQWdCaW9DQUpNaURpQUFLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBSVFRRnFJUWdnQkVFSWFpRUVJQVZCQ0dvaEJTQUFRUVJxSVFZTUFRc0xJQUlnREd4QkFuUWdBV29pQVVFQUlBSnJRUUowYWlFQ0lBRkJCR29pQkNvQ0FDQUJLZ0lBSWcyVElRNGdBQ0FOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBRElBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaEJTQUFJUUVnQkNFQUEwQWdBVUVJYWlFRElBSkJCR29oQWlBRklBbEpCRUFnQXlBQUtnSUFJQUlxQWdDVElnNGdBRUVFYWlJRUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQVNBTklBMlVJQTRnRHBTU2tUZ0NEQ0FGUVFGcUlRVWdBeUVCSUFRaEFBd0JDd3NnQUNvQ0FDSU5JQUJCZkdvcUFnQ1RJUTRnQXlBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUJJQTRnRHBRZ0RTQU5sSktST0FJTUN4c0FJQUJCQkdvaUFDd0FDMEVBU0FSQUlBQW9BZ0FoQUFzZ0FBc0xBQ0FBRU8wRElBQVFPQXYrQmdFRWZ5TUdJUVFqQmtFUWFpUUdJQUVvQWdCQkFVY0VRQ0FFUWNESUEwSFg0UUVRTjBHWjRBRVFOMEh2b2dJUU4wSEtBaEErUWZhaUFoQTNRWXJpQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FoQkJBVWNFUUNBRVFjRElBMEdpNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhMQWhBK1FmYWlBaEEzUWMvaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BaEFnQUNnQ0ZHd2dBQ2dDQ0NBQUtBSUVhMEVGZFVjRVFDQUVRY0RJQTBIcDRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FiUGpBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdRZ0FDZ0NCQ2dDQkVjRVFDQUVRY0RJQTBIVzR3RVFOMEdaNEFFUU4wSHZvZ0lRTjBIT0FoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdnZ0FDZ0NCQ2dDQ0VjRVFDQUVRY0RJQTBHeTVBRVFOMEdaNEFFUU4wSHZvZ0lRTjBIUEFoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFnQUNnQ0JDQUJFT0FCSUFBZ0FDZ0NCQ0lCUVNCcUlBRVE0QUVnQUNBQUtBSUVJZ0ZCUUdzZ0FVRWdhaER1QTBFQklRRURRQ0FCSUFBb0FoQkpCRUFnQUNnQ0JDQUJJQUFvQWhSc1FRVjBhaWdDR0NBQUtBSUVJQUVnQUNnQ0ZHeEJmMnBCQlhScUtBSVlJQUFvQWdRZ0FTQUFLQUlVYkVGL2FrRUZkR29vQWdRZ0FDZ0NCQ0FCSUFBb0FoUnNRWDlxUVFWMGFpZ0NDQkRVQ0NBQUlBQW9BZ1FpQWlBQklBQW9BaFJzSWdOQkFXcEJCWFJxSUFOQkJYUWdBbW9RNEFFZ0FDQUFLQUlFSWdJZ0FTQUFLQUlVYkNJRFFRSnFRUVYwYWlBRFFRRnFRUVYwSUFKcUVPNERJQUZCQVdvaEFRd0JDd3NnQkNRR0N6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZm1vaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFQmRXdEJBWFJxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBc2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJSUMyOEJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVFQVNBUkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRRjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVCZENBRWFqWUNEQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUVDNkFCQVFSL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFGMUlBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJRUUYxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCV3NpQkNBRUlBTkpHMEgvLy8vL0J5QUVRUUYxUWYvLy8vOERTUnNnQUNnQ0JDQUZhMEVCZFNBQVFRaHFFTXdJSUFJZ0FSRExDQ0FBSUFJUXlnZ2dBaERKQ0FzRklBQWdBUkROQ0FzZ0FpUUdDendCQW44Z0FDZ0NCQ0FBS0FJQUlnTnJRUUYxSWdJZ0FVa0VRQ0FBSUFFZ0Ftc1F6Z2dGSUFJZ0FVc0VRQ0FBSUFGQkFYUWdBMm8yQWdRTEN3dWJBUUVHZnlBQUlBTVEwZ2dnQUVFRWFpSUdJQU1nQUNnQ0ZHd1ExQUlEUUNBRUlBTklCRUFnQVNBRWRpRUhJQUlnQkhZaENFRUFJUVVEUUNBRklBQW9BaFFpQ1VrRVFDQUdLQUlBSUFVZ0JDQUpiR3BCQlhScVFRSWdCeUFJUVFFUXR3SWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMSUFCQklHb2dBU0FDYkNJQkVNOElJQUJCTEdvZ0FSQ0hBU0FBUVRocUlBRVFod0VMT0FBZ0FCRFRDQ0FBUWR5RkFUWUNBQ0FBUVNCcUlnQkNBRGNDQUNBQVFnQTNBZ2dnQUVJQU53SVFJQUJDQURjQ0dDQUFRUUEyQWlBTE5RRUJmU0FBSUFFMkFoQWdBRUVETmdJVUlBQkVBQUFBQUFBQTREOFFJN1lpQWpnQ0dDQUFRd0FBZ0Q4Z0FoRFNBWlU0QWh3TExBQWdBRUhzaFFFMkFnQWdBRUVFYWlJQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRUUEyQWhnTG53RUJCMzhnQWtFQmRpRUlJQU5CQVhZaENTQUNRUUYwSVFvRFFDQUVJQWxIQkVCQkFDRUdJQVFnQ214QkFuUWdBV29pQXlBQ1FRSjBhaUVGSUFBaEJ3TkFJQVlnQ0VjRVFDQUhJQU1xQWdBZ0F5b0NCSklnQlNvQ0FKSWdCU29DQkpKREFBQ0FQcFE0QWdBZ0JrRUJhaUVHSUFWQkNHb2hCU0FEUVFocUlRTWdCMEVFYWlFSERBRUxDeUFFUVFGcUlRUWdDRUVDZENBQWFpRUFEQUVMQ3d1dUN3SUxmd0Y5SXdZaEN5TUdRUkJxSkFZZ0EwRUVUUVJBSUF0QndNZ0RRZmZmQVJBM1FabmdBUkEzUWUraUFoQTNRYWdCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JFRUVUUVJBSUF0QndNZ0RRYlRoQVJBM1FabmdBUkEzUWUraUFoQTNRYWtCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVNSUFOQmZtb2hDU0FEUVgxcUlRMGdBMEY4YWlFT0lBRWhCd05BSUFRZ0NFY0VRQ0FESUFoc1FRSjBJQUpxSWdZcUFnQWhFQ0FISUFZcUFnZ2dFQ0FRUXdBQXdFQ1VJQkFnQmlvQ0JKSkRBQUNBUUpTU2twSTRBZ0FnQnlBR0tnSU1JQVlxQWdBaUVDQUdLZ0lFUXdBQXdFQ1VJQkFnQmlvQ0NKSkRBQUNBUUpTU2twSTRBZ1JCQWlFRklBZEJDR29oQ2dOQUlBVWdDVWNFUUNBS0lBVkJBbXBCQW5RZ0Jtb3FBZ0FnQlVGK2FrRUNkQ0FHYWlvQ0FDQUZRUUowSUFacUtnSUFRd0FBd0VDVUlBVkJmMnBCQW5RZ0Jtb3FBZ0FnQlVFQmFpSUZRUUowSUFacUtnSUFra01BQUlCQWxKS1NramdDQUNBS1FRUnFJUW9NQVFzTElBbEJBblFnQjJvaUJTQU1RUUowSUFacUlnb3FBZ0FpRUNBT1FRSjBJQVpxS2dJQUlBbEJBblFnQm1vaUR5b0NBRU1BQU1CQWxDQU5RUUowSUFacUlnWXFBZ0FnRUpKREFBQ0FRSlNTa3BJNEFnQWdCU0FLS2dJQUloQWdCaW9DQUNBUVF3QUF3RUNVSUJBZ0R5b0NBSkpEQUFDQVFKU1NrcEk0QWdRZ0EwRUNkQ0FIYWlFSElBaEJBV29oQ0F3QkN3c2dCRUYrYWlFTlFRQWhDU0FEUVFKMElBRnFJZ0lnQTBFQ2RHb2lDQ0VLSUFJaEJTQUJJUWNnQUNFR0EwQWdBeUFKUndSQUlBWWdDaW9DQUNBSEtnSUFJaEFnRUVNQUFNQkFsQ0FRSUFVcUFnQ1NRd0FBZ0VDVWtwS1NRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUVJxSVFvZ0JVRUVhaUVGSUFkQkJHb2hCeUFHUVFScUlRWU1BUXNMUVFBaEJpQURRUUowSUFocUlRa2dDQ0VGSUFFaEJ5QURRUUowSUFCcUlRZ0RRQ0FESUFaSEJFQWdDQ0FKS2dJQUlBY3FBZ0FpRUNBQ0tnSUFRd0FBd0VDVUlCQWdCU29DQUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFsQkJHb2hDU0FGUVFScUlRVWdBa0VFYWlFQ0lBZEJCR29oQnlBSVFRUnFJUWdNQVFzTFFRSWhDQU5BSUFnZ0RVY0VRRUVBSVFrZ0F5QUlRWDVxYkVFQ2RDQUJhaUlHSUFOQkFuUnFJZ2NnQTBFQ2RHb2lCU0FEUVFKMGFpSUNJQU5CQW5ScUlRb2dBeUFJYkVFQ2RDQUFhaUVNQTBBZ0F5QUpSd1JBSUF3Z0Npb0NBQ0FHS2dJQUlBVXFBZ0JEQUFEQVFKUWdCeW9DQUNBQ0tnSUFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FKUVFGcUlRa2dDa0VFYWlFS0lBSkJCR29oQWlBRlFRUnFJUVVnQjBFRWFpRUhJQVpCQkdvaEJpQU1RUVJxSVF3TUFRc0xJQWhCQVdvaENBd0JDd3RCQUNFR0lBTWdCRUY4YW14QkFuUWdBV29pQnlBRFFRSjBhaUlGSUFOQkFuUnFJZ0lnQTBFQ2RHb2hDQ0FESUExc1FRSjBJQUJxSVFrRFFDQURJQVpIQkVBZ0NTQUlLZ0lBSWhBZ0J5b0NBQ0FDS2dJQVF3QUF3RUNVSUFVcUFnQWdFSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWhCQkdvaENDQUNRUVJxSVFJZ0JVRUVhaUVGSUFkQkJHb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRSjBJQUZxSWdJZ0EwRUNkR29pQVNBRFFRSjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjcUFnQWlFQ0FDS2dJQUlCQkRBQURBUUpRZ0FTb0NBQ0FRa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBRlFRRnFJUVVnQjBFRWFpRUhJQUZCQkdvaEFTQUNRUVJxSVFJZ0FFRUVhaUVBREFFTEN5QUxKQVlMemdvQkRIOGpCaUVNSXdaQkVHb2tCaUFEUVFSTkJFQWdERUhBeUFOQjk5OEJFRGRCbWVBQkVEZEI3NklDRURkQk54QStRZmFpQWhBM1FhSGhBUkEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFNUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFNRUR3Z0JTQUhFRUFnQlJBL0VBQUxJQVJCQkUwRVFDQU1RY0RJQTBHMDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBFNEVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXhCZ000REVEb2lCeWdDQUNnQ0hDRUlJQWRCQ2lBSVFUOXhRWW9CYWhFQ0FDRUhJQXdRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTklBTkJmbW9oQ2lBRFFYMXFJUTRnQTBGOGFpRVBJQUVoQ0FOQUlBUWdDVWNFUUNBSUlBSWdBeUFKYkdvaUJpMEFBQ0lGSUFZdEFBRnFRUUowSUFZdEFBSWdCVUVIYkdwcU93RUFJQWdnQmkwQUFDSUZJQVl0QUFKcVFRSjBJQVl0QUFNZ0JpMEFBVUVHYkNBRmFtcHFPd0VDUVFJaEJTQUlRUVJxSVFzRFFDQUZJQXBIQkVBZ0N5QUZRUUpxSUFacUxRQUFJQVZCZm1vZ0Jtb3RBQUFnQlNBR2FpMEFBRUVHYkdvZ0JVRi9haUFHYWkwQUFDQUZRUUZxSWdjZ0Jtb3RBQUJxUVFKMGFtbzdBUUFnQnlFRklBdEJBbW9oQ3d3QkN3c2dDa0VCZENBSWFpSUZJQVlnRFdvaUN5MEFBQ0lRSUFZZ0Rtb2lCeTBBQUdwQkFuUWdCaUFQYWkwQUFDQUdJQXBxSWdZdEFBQkJCbXdnRUdwcWFqc0JBQ0FGSUFzdEFBQWlCU0FHTFFBQWFrRUNkQ0FITFFBQUlBVkJCMnhxYWpzQkFpQURRUUYwSUFocUlRZ2dDVUVCYWlFSkRBRUxDeUFFUVg1cUlRMUJBQ0VKSUFOQkFYUWdBV29pQWlBRFFRRjBhaUlHSVFvZ0FpRUZJQUVoQnlBQUlRZ0RRQ0FESUFsSEJFQWdDQ0FLTHdFQUlBY3ZBUUFpQ3lBRkx3RUFha0VDZENBTFFRZHNhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dCVUVDYWlFRklBZEJBbW9oQnlBSVFRUnFJUWdNQVFzTFFRQWhDQ0FEUVFGMElBWnFJUWtnQmlFRklBRWhCeUFEUVFKMElBQnFJUVlEUUNBRElBaEhCRUFnQmlBSkx3RUFJQWN2QVFBaUNpQUZMd0VBYWtFQ2RDQUNMd0VBUVFac0lBcHFhbXF5UXdBQWdEdVVPQUlBSUFoQkFXb2hDQ0FKUVFKcUlRa2dCVUVDYWlFRklBSkJBbW9oQWlBSFFRSnFJUWNnQmtFRWFpRUdEQUVMQzBFQ0lRWURRQ0FHSUExSEJFQkJBQ0VKSUFNZ0JrRithbXhCQVhRZ0FXb2lDQ0FEUVFGMGFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFS0lBTWdCbXhCQW5RZ0FHb2hDd05BSUFNZ0NVY0VRQ0FMSUFvdkFRQWdDQzhCQUNBRkx3RUFRUVpzYWlBSEx3RUFJQUl2QVFCcVFRSjBhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dBa0VDYWlFQ0lBVkJBbW9oQlNBSFFRSnFJUWNnQ0VFQ2FpRUlJQXRCQkdvaEN3d0JDd3NnQmtFQmFpRUdEQUVMQzBFQUlRZ2dBeUFFUVh4cWJFRUJkQ0FCYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVHSUFNZ0RXeEJBblFnQUdvaENRTkFJQU1nQ0VjRVFDQUpJQVl2QVFBaUNpQUhMd0VBSUFJdkFRQkJCbXhxSUFVdkFRQWdDbXBCQW5ScWFySkRBQUNBTzVRNEFnQWdDRUVCYWlFSUlBWkJBbW9oQmlBQ1FRSnFJUUlnQlVFQ2FpRUZJQWRCQW1vaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFGMElBRnFJZ0lnQTBFQmRHb2lBU0FEUVFGMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWN2QVFBaUJDQUNMd0VBSUFSQkJteHFJQVFnQVM4QkFHcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0JVRUJhaUVGSUFkQkFtb2hCeUFCUVFKcUlRRWdBa0VDYWlFQ0lBQkJCR29oQUF3QkN3c2dEQ1FHQzVRWkFoWi9CWHdqQmlFSUl3WkJRR3NrQmlBSVFTQnFJUW9nQ0VFWWFpRU5JQWhCTkdvaEJDQUlRU2hxSVFVZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUVFc2FpSUxRUUEyQWdBQ1FBSkFJQUJCOUlhdkEyb2lEeWdDQUNJQ1FRUkhEUUFDUUNBQVFmeUdyd05xSWd3b0FnQWlBa0VBU2dSQUlBd2dBa0YvYWpZQ0FBVUNRQ0FFSUFBb0FoQWlCeUFBUVlDSHJ3TnFJZ1lvQWdCcUlnSkIvd0VnQWtIL0FVZ2JJaEEyQWdBZ0JDQUhJQUJCaElldkEyb2lDU2dDQUdzaUFrRUFJQUpCQUVvYkloRTJBZ1FnQkNBSE5nSUlJQUJCNElhbkFtb2hBeUFBUWJqNEFHb2hEaUFBUWJENEFHb2hFaUFBUWZDR3J3TnFJUk1nQUVHUWg2OERhaUVVSUFCQk1Hb2hGU0FBUVppSHJ3TnFJUlpCQUNFQ0FrQUNRQU5BSUFKQkEwa0VRQ0FCS0FJTUlBQW9BaVFnQUNnQ0tDQUFLQUlBSUFBb0Fnd2dBa0VDZENBRWFpZ0NBQ0FBS0FJVUlBTkJBQkM2QWtFQVNBMENJQUFvQWlRZ0FDZ0NLQ0FESUFBb0FoUWdEaUFTRU93RFFRQklEUUlnQVNnQ0FDQUFLQUlrSUFBb0FpZ2dBQ2dDQkNBT0lCSW9BZ0FnRXlnQ0FDQUFLQUlVSUFBb0FoZ2dBQ2dDSUVHNEFXb2dGQ3NEQUNBVklBc2dGaWdDQUJEZUEwRUFTQTBDSUFKQkFuUWdCV29nQ3lnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMREFFTFFYOE1CZ3NnQUNnQ0FFRUJSZ1JBSUFVb0FnUWhEaUFGS0FJSUlRTWdCU2dDQUNFQ0lBZ2dFVFlDQUNBSUlBNDJBZ1FnQ0NBSE5nSUlJQWdnQXpZQ0RDQUlJQkEyQWhBZ0NDQUNOZ0lVUVFCQkEwR2lwd0VnQ0JBOUJTQUZLQUlBSVFJZ0JTZ0NDQ0VEQ3lBQ0lBTktJQVVvQWdRaUJTQURTbklFUUNBQUlCRWdFQ0FDSUFWSUd5SUNOZ0lRSUFrZ0FpQUhheUlEUVFCS0JIOGdCaUFETmdJQVFRRUZJQVpCQVRZQ0FFRUFJQU5yQ3pZQ0FDQUFLQUlBUVFGR0JFQWdEU0FDTmdJQVFRQkJBMEh1cHdFZ0RSQTlDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BUXNnQmlnQ0FDSUJJQWtvQWdBaUFrZ0VRQ0FHSUFGQkFXb2lBVFlDQUFVZ0FTQUNUQVJBSUFZZ0FVRUJhaUlCTmdJQUN5QUpJQUpCQVdvMkFnQUxJQWNnQVNBSGFrSCtBVW9FZnlBR1FRRTJBZ0JCQVFVZ0FRdE1CRUFnQ1VFQk5nSUFDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BZ3NMSUE4b0FnQWhBZ3dCQ3d3QkN3SkFBa0FDUUFKQUlBSkJBV3NPQXdFQkFBSUxJQUJCaUlldkEyb2lBaWdDQUNBQktBSU1FTmdISWdOQkFFZ0VRQ0FEREFVTElBRW9BZ3dnQWlnQ0FDSURLQUlFSUFNb0FnZ2dBQ2dDQUNBQUtBSU1RUUJCQUNBQVFlQ0dwd0pxSWdJZ0F5Z0NBQkM2QWlJRFFRQklCRUFnQXd3RkN5QUFRU1JxSVFNZ0FFRW9haUVFSUFCQkZHb2hCUXdDQ3lBQVFmeUdyd05xSWdNb0FnQWlCVUVBU2dSQUlBTWdCVUYvYWpZQ0FBd0JDeUFBUVlpSHJ3TnFLQUlBSVFVZ0FTZ0NEQ0VISUFKQkFVWUVmeUFGSUFjZ0JCRGtCd1VnQlNBSElBUVE0QWNMSWdKQkFFZ0VRQ0FDREFRTElBQW9BZ0JCQVVZRVFDQUVMUUFBSWdJZ0FDZ0NFRWNFUUNBS1FhS29BVUdwcUFFZ0R5Z0NBRUVCUmhzMkFnQWdDaUFDTmdJRVFRQkJBMEd1cUFFZ0NoQTlDd3NnQUNBRUxRQUFOZ0lRSUFNZ0FFSDRocThEYWlnQ0FEWUNBQXRCZnlBQktBSU1JQUJCSkdvaUF5Z0NBQ0FBUVNocUlnUW9BZ0FnQUNnQ0FDQUFLQUlNSUFBb0FoQWdBRUVVYWlJRktBSUFJQUJCNElhbkFtb2lBa0VBRUxvQ1FRQklEUUlhQzBGL0lBTW9BZ0FnQkNnQ0FDQUNJQVVvQWdBZ0FFRzQrQUJxSWdJZ0FFR3crQUJxSWdjUTdBTkJBRWdOQVJwQmZ5QUJLQUlBSUFNb0FnQWdCQ2dDQUNBQUtBSUVJQUlnQnlnQ0FDQUFRZkNHcndOcUtBSUFJQVVvQWdBZ0FDZ0NHQ0FBS0FJZ1FiZ0JhaUFBUVpDSHJ3TnFLd01BSUFCQk1Hb2dDeUFBUVppSHJ3TnFLQUlBRU40RFFRQklEUUVhQ3lBQUtBSWNRUUZHQkVBZ0FCRHZBMEVBREFFTElBQkIrSXFtQW1vaUJ5Z0NBQ0VKUVFBaEF3TkFJQU1nQ1VnRVFDQUxLQUlBSVFRZ0FFR0FpNllDYWlBRFFZZ0NiR29oQlNBQUlBTkJpQUpzYWtHNGk2WUNhaUVHSUFBZ0EwR0lBbXhxUWNDTHBnSnFJUXBCQUNFQ1FYOGhBVVFBQUFBQUFBRGdQeUVaQTBBZ0FpQUVTQVJBSUFVb0FnQzNJQUJCTUdvZ0FrRUlkR29vQWdDM0loaWpJaHBFWm1abVptWm01ajlqSUJwRTRYb1Vya2ZoOWo5a2NrVUVRQ0FBSUFKQkNIUnFLd05vSUFZckF3Q2hJaG9nR3FJZ0FDQUNRUWgwYWlzRGNDQUtLd01Bb1NJYUlCcWlvQ0FZb3lJWUlCbGpCRUFnR0NFWklBSWhBUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9TZ1JBQWtBQ1FBSkFBa0FnQUNnQ0dDSUtEZ1VDQWdJQUFBRUxJQUFnQVVFSWRHb2lCQ3NEV0NBQUlBTkJpQUpzYWtHb2k2WUNhaXNEQUNJWVl3UkFJQUFnQVVFSWRHcEI0QUJxSVFJZ0FDQURRWWdDYkdwQnNJdW1BbW9yQXdBaEdRVWdBQ0FCUVFoMGFrSGdBR29pQWlzREFDQUFJQU5CaUFKc2FrR3dpNllDYWlzREFDSVpZMFVOQXdzZ0JDQVlPUU5ZSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCaUl1bUFtb29BZ0EyQWpnZ0FpQVpPUU1BSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCakl1bUFtb29BZ0EyQWp4QkFDRUZRWDhoQWtRQUFBQUFoTmVYUVNFWUEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VaQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpQmtFRWRHb3JBd0NoSVJvZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFHUVFSMGFpc0Q0QUdoSVJzZ0JFRUJhaUVFSUJrZ0dpQWFvaUFiSUJ1aW9LQWhHUXdCQ3dzZ0JTQUNJQmtnR0dNaUJCc2hBaUFGUVFGcUlRVWdHU0FZSUFRYklSZ01BUXNMSUFBZ0FVRUlkR3BCQkNBQ2F5SUNJQUFnQTBHSUFteHFRWlNMcGdKcUtBSUFha0VFRUU4MkFrUWdBQ0FCUVFoMGFpQUNJQUFnQTBHSUFteHFRWmlMcGdKcUtBSUFha0VFRUU4MkFrZ01BZ3RCZnd3RkN5QUFJQUZCQ0hScUlnSXJBMUFnQUNBRFFZZ0NiR3BCb0l1bUFtb3JBd0FpR21NRVFDQUNJQm81QTFBZ0FDQUJRUWgwYWlBQUlBTkJpQUpzYWtHRWk2WUNhaWdDQUNJR05nSTBJQUFnQTBHSUFteHFRWkNMcGdKcUlReEJmeUVDUkFBQUFBQ0UxNWRCSVJsQkFDRUZBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWUEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaURVRUVkR29yQXdDaElSc2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBTlFRUjBhaXNENEFHaElSd2dCRUVCYWlFRUlCZ2dHeUFib2lBY0lCeWlvS0FoR0F3QkN3c2dHQ0FaWXdSQUlCZ2hHU0FNS0FJQVFRUWdCV3RxUVFRUVR5RUNDeUFGUVFGcUlRVU1BUXNMSUFBZ0FVRUlkR3BCUUdzZ0FqWUNBQ0FLUVFKSkJFQWdBQ0FCUVFoMGFpQUdOZ0k0SUFBZ0FVRUlkR29nR2prRFdDQUFJQUZCQ0hScUlBSTJBa1FGSUFBZ0FVRUlkR29nQmpZQ1BDQUFJQUZCQ0hScUlCbzVBMkFnQUNBQlFRaDBhaUFDTmdKSUN3c0xDeUFEUVFGcUlRTU1BUXNMSUFBUTd3TkJBQ0VDUVFBaEFRTkFJQUlnQnlnQ0FFZ0VRQ0FBSUFKQmlBSnNha0dBamFZQ2FpSUVLQUlBSVFNZ0JDQURRUUZxTmdJQUlBTkJBMGdFUUNBQklBSkhCRUFnQUVHQWk2WUNhaUFCUVlnQ2JHb2dBRUdBaTZZQ2FpQUNRWWdDYkdwQmlBSVFUQm9MSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBSElBRTJBZ0FnQ3lnQ0FDRURRUUFoQkFOQUFrQWdCQ0FEVGcwQUlBQkJNR29nQkVFSWRHb2hCU0FBSUFSQkNIUnFLQUkwSWdaQkFFNEVRRUVBSVFJRFFBSkFJQUlnQVU0TkFDQUdJQUFnQWtHSUFteHFRWVNMcGdKcUtBSUFSZzBBSUFKQkFXb2hBZ3dCQ3dzZ0FTQUNSZ1JBSUFGQlBFWU5BaUFISUFGQkFXb2lBVFlDQUFzZ0FFR0FpNllDYWlBQ1FZZ0NiR29nQlVHQUFoQk1HaUFBSUFKQmlBSnNha0dBamFZQ2FrRUJOZ0lBQ3lBRVFRRnFJUVFNQVFzTElBQW9BaHhCQWtZRWYwRUFCVUVBSVFRZ0FTRUNJQU1oQVFOQVFRQWdCQ0FDVGcwQ0dpQUFRWUNMcGdKcUlBUkJpQUpzYWlFRklBQWdCRUdJQW14cVFiaUxwZ0pxSVFZZ0FDQUVRWWdDYkdwQndJdW1BbW9oQ1VFQUlRTURRQUpBSUFNZ0FVNE5BQ0FGS0FJQXR5QUFRVEJxSUFOQkNIUnFLQUlBdHlJWm95SVlSR1ptWm1abVp1WS9ZeUFZUk9GNkZLNUg0ZlkvWkhKRkJFQWdBQ0FEUVFoMGFpc0RhQ0FHS3dNQW9TSVlJQmlpSUFBZ0EwRUlkR29yQTNBZ0NTc0RBS0VpR0NBWW9xQWdHYU5FQUFBQUFBQUE0RDlqRFFFTElBTkJBV29oQXd3QkN3c2dBU0FEUmdSQUlBQkJNR29nQVVFSWRHb2dBRUdBaTZZQ2FpQUVRWWdDYkdwQmdBSVFUQm9nQ3lBQlFRRnFJZ0UyQWdBZ0J5Z0NBQ0VDQ3lBRVFRRnFJUVFNQUFBTEFBc0xCVUYvQ3lFWElBZ2tCaUFYQ3dzQUlBQVF4Z0lnQUJBNEN3c0FJQUFReHdJZ0FCQTRDN3dCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ2dDQkNBQUtBSUFJZ05yUVFWMUlBRkxCRUFnQXlnQ0JDQUFLQUlBSUFGQkJYUnFLQUlFRUVpekVQRURFUEFERUVNaEJDQUNKQVlnQkE4RklBSkJ3TWdEUVpYZkFSQTNRYzdMQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnc5OEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lBU2dDQUNnQ0hDRURJQUZCQ2lBRFFUOXhRWW9CYWhFQ0FDRUJJQUlRUENBQUlBRVFRQ0FBRUQ4UUFBdEJBQXRKQVFGL0lBQW9BZ2doQWdOQUlBSkNBRGNDQUNBQ1FnQTNBZ2dnQWtJQU53SVFJQUpDQURjQ0dDQUNRUUEyQWlBZ0FDQUFLQUlJUVNScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzBrQkFYOGdBQ2dDQkNFQ0EwQWdBa0lBTndJQUlBSkNBRGNDQ0NBQ1FnQTNBaEFnQWtJQU53SVlJQUpCQURZQ0lDQUFJQUFvQWdSQkpHb2lBallDQkNBQlFYOXFJZ0VOQUFzTHBnRUJCWDhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdRaUEydEJKQkE1SUFGSkJFQkJ4K1B4T0NBRElBQW9BZ0JyUVNRUU9TQUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHdEJKQkE1SWdWQkFYUWlCaUFHSUFOSkcwSEg0L0U0SUFWQjQvRzRIRWtiSUFBb0FnUWdCR3RCSkJBNUlBQkJDR29RMEFJZ0FpQUJFTnNJSUFBZ0FoRFBBaUFDRU00Q0N3VWdBQ0FCRU53SUN5QUNKQVlMb0F3Q0JuOEZmU01HSVFjakJrRVFhaVFHSUFTT0VFTWlDaUFFRUVOSEJFQWdCMEhBeUFOQjZ0RUJFRGRCbnRJQkVEZEI3NklDRURkQnhRQVFQa0gyb2dJUU4wR1Qwd0VRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUVlnQ1VFS0lBWkJQM0ZCaWdGcUVRSUFJUVlnQnhBOElBZ2dCaEJBSUFnUVB4QUFDeUFGamhCRElnc2dCUkJEUndSQUlBZEJ3TWdEUWJIVEFSQTNRWjdTQVJBM1FlK2lBaEEzUWNZQUVENUI5cUlDRURkQms5TUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUdJQWxCQ2lBR1FUOXhRWW9CYWhFQ0FDRUdJQWNRUENBSUlBWVFRQ0FJRUQ4UUFBc2dDeUFDU1NBTFFYOUtjVVVFUUNBSFFjRElBMEhsMHdFUU4wR2UwZ0VRTjBIdm9nSVFOMEhQQUJBK1FmYWlBaEEzUVpQVUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aEJpQUpRUW9nQmtFL2NVR0tBV29SQWdBaEJpQUhFRHdnQ0NBR0VFQWdDQkEvRUFBTElBdEJBV29pQ1NBQ1R3UkFJQWRCd01nRFFhVFVBUkEzUVo3U0FSQTNRZStpQWhBM1FkQUFFRDVCOXFJQ0VEZEI0TlFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQmlnQ0FDZ0NIQ0VDSUFaQkNpQUNRVDl4UVlvQmFoRUNBQ0VDSUFjUVBDQUlJQUlRUUNBSUVEOFFBQXNnQ2lBQlNTQUtRWDlLY1VVRVFDQUhRY0RJQTBINDFBRVFOMEdlMGdFUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FhWFZBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ1lvQWdBb0Fod2hBaUFHUVFvZ0FrRS9jVUdLQVdvUkFnQWhBaUFIRUR3Z0NDQUNFRUFnQ0JBL0VBQUxJQXBCQVdvaUNDQUJUd1JBSUFkQndNZ0RRYmJWQVJBM1FaN1NBUkEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCOGRVQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0NMSWdCSk1pRGlBSnNpQUZreUlNbENJTlF3QUFBQUJnUlNBTnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRWW5XQVJBM1FaN1NBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0JDQUtzcE1pRHlBTWxDSU1Rd0FBQUFCZ1JTQU11MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWNYV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEaUFGSUF1eWt5SUVsQ0lGUXdBQUFBQmdSU0FGdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFmVFdBUkEzUVo3U0FSQTNRZStpQWhBM1FlQUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRHlBRWxDSUVRd0FBQUFCZ1JTQUV1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWFQWEFSQTNRWjdTQVJBM1FlK2lBaEEzUWVFQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dBeUFBSUFNZ0MyeHFJZ0ZxSVFBZ0JDQUZJQTBnREpLU2tydEVjYXlMMjJnQThEOWxCRUFnRFNBS1FRSjBJQUZxS2dJQWxDQU1JQWhCQW5RZ0FXb3FBZ0NVa2lBRklBcEJBblFnQUdvcUFnQ1VraUFFSUFoQkFuUWdBR29xQWdDVWtpRVFJQWNrQmlBUUR3VWdCMEhBeUFOQjB0Y0JFRGRCbnRJQkVEZEI3NklDRURkQjRnQVFQa0gyb2dJUU4wRzQxZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQnhBOElBSWdBQkJBSUFJUVB4QUFDME1BQUFBQUM3OEpBZzEvQlgwakJpRUtJd1pCSUdva0JpQUtRUnhxSVFjZ0NrRVlhaUVMSUFwQkZHb2hEQ0FLUVJCcUlROGdDa0VNYWlFUUlBcEJDR29oRVNBS1FRUnFJUklnQlVFQVNnUkFJQVZCQVdvZ0F5Z0NCRWtFUUNBR1FYOXFJUTRnQmtFQVNnUkFJQVpCQVdvaUV5QURLQUlJU1FSQUlBTW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEhrendFUU4wSE95d0VRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEc3MEFFUU4wSE95d0VRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBTW9BZ2dnQWlnQ0NFRUJka2NFUUNBSFFjRElBMEgwMEFFUU4wSE95d0VRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ2dnQWlnQ0NFRUJka1lFUUNBRElBWVFVQ0FGUVFKMGFpRUlJQVFnRGhCUUlBVkJBblJxSVE0Z0JDQUdFRkFnQlVFQ2RHb2hCeUFFSUJNUVVDQUZRUUowYWlFRUlBc2dEQ0FGc2lBR3NrRUJFT0VCSUE4Z0VDQVJJQklnQ2lBRElBVWdCaERKQWlBQ0lBc3FBZ0FnRENvQ0FCQk5JUlFnQnlvQ0FDSVhJQlFnQ0NvQ0FFTUFBQUJBbEpPU0lSZ2dBaUFMS2dJQVF3QUFBTUNTSUF3cUFnQVFUU0FIS2dJRWtpQUNJQXNxQWdCREFBQUFRSklnRENvQ0FCQk5JQWRCZkdvcUFnQ1NrME1BQUlBK2xDRVZJQUlnQ3lvQ0FDQU1LZ0lBUXdBQUFNQ1NFRTBnQkNvQ0FKSWdBaUFMS2dJQUlBd3FBZ0JEQUFBQVFKSVFUU0FPS2dJQWtwTkRBQUNBUHBRaEZpQUFJQkVvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVk9BSUlJQUFnQWpZQ0RDQUFJQklvQWdBMkFoQWdBQ0FXT0FJVUlBQWdGVGdDR0NBQUlCWTRBaHdnQUNBWU9BSWdJQUVnRHlvQ0FJdzRBZ0FnQVNBUUtnSUFqRGdDQkNBQklCY2dGSk5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1Fld0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEhvQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBIbkFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUx6dzBDRG44RmZTTUdJUXNqQmtFZ2FpUUdJQXRCSEdvaEJ5QUxRUmhxSVEwZ0MwRVVhaUVNSUF0QkVHb2hFU0FMUVF4cUlSSWdDMEVJYWlFVElBdEJCR29oRkNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRGlBR1FRQktCRUFnQmtFQmFpSVBJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRWjhERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NCQ0FDS0FJRVFRRjJSd1JBSUFkQndNZ0RRYnZRQVJBM1FjN0xBUkEzUWUraUFoQTNRYUFERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1FhRURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDZ0NBRUYwYWlnQ0FDQUlhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0NDQUNLQUlJUVFGMlJ3UkFJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1FhSURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlBT0VGQWhDQ0FDSUFZUVVDRU9JQUlnRHhCUUlROGdBeUFHRUZBaENpQU5JQXdnQmJJZ0JySkJBUkRMQWlBTktnSUFJaFZEQUFBQXY1SkRBQUFBQUdCRkJFQWdCMEhBeUFOQjNOa0JFRGRCenNzQkVEZEI3NklDRURkQnJBTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFNS2dJQVF3QUFBTCtTUXdBQUFBQmdSUVJBSUFkQndNZ0RRYnZhQVJBM1FjN0xBUkEzUWUraUFoQTNRYTBERUQ1QjlxSUNFRGRCNU5vQkVEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFUUlBbEJDaUFRUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FDSUFrUVFDQUNFRDhRQUFzZ0ZVTUFBQUEva2lBRUtBSUVzMTFGQkVBZ0IwSEF5QU5CbXRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcmdNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QUZRUUowSUFocUlRZ2dCVUVDZENBT2FpRUNJQVZCQW5RZ0Qyb2hEaUFGUVFKMElBcHFJUThnRENvQ0FFTUFBQUEva2lBRUtBSUlzMTBFUUNBUklCSWdFeUFVSUFzZ0F5QUZJQVlReVFJZ0JDQU5LZ0lBSUF3cUFnQVFUU0lYSUFJcUFnQWlHQ0FQS2dJQVF3QUFBRUNVazVJaEdTQUNRWHhxS2dJQUlBUWdEU29DQUVNQUFBQS9raUFNS2dJQUVFMlNJQUlxQWdRZ0JDQU5LZ0lBUXdBQUFMK1NJQXdxQWdBUVRaS1RRd0FBZ0Q2VUlSVWdDQ29DQUNBRUlBMHFBZ0FnRENvQ0FFTUFBQUEva2hCTmtpQU9LZ0lBSUFRZ0RTb0NBQ0FNS2dJQVF3QUFBTCtTRUUyU2swTUFBSUErbENFV0lBQWdFeWdDQURZQ0FDQUFJQXNvQWdBaUFqWUNCQ0FBSUJVNEFnZ2dBQ0FDTmdJTUlBQWdGQ2dDQURZQ0VDQUFJQlk0QWhRZ0FDQVZPQUlZSUFBZ0ZqZ0NIQ0FBSUJrNEFpQWdBU0FSS2dJQWpEZ0NBQ0FCSUJJcUFnQ01PQUlFSUFFZ0Z5QVlrME1BQUFBL2xJdzRBZ2dnQ3lRR0R3VWdCMEhBeUFOQnpkc0JFRGRCenNzQkVEZEI3NklDRURkQnJ3TVFQa0gyb2dJUU4wSGsyZ0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NMSUFkQndNZ0RRWm5QQVJBM1FjN0xBUkEzUWUraUFoQTNRWjRERUQ1QjlxSUNFRGRCMU04QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTElBZEJ3TWdEUWMvT0FSQTNRYzdMQVJBM1FlK2lBaEEzUVowREVENUI5cUlDRURkQmljOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBdjhDQUlNZndWOUl3WWhDaU1HUVNCcUpBWWdDa0VVYWlFSElBcEJFR29oRFNBS1FReHFJUTRnQ2tFSWFpRVBJQXBCQkdvaEVDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERDQUdRUUJLQkVBZ0JrRUJhaUlSSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUWJjQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQkNBRUtBSUVSd1JBSUFkQndNZ0RRWUhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYmdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1Fia0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQUVLQUlJUmdSQUlBSWdEQkJRSUFWQkFuUnFJUklnQWlBR0VGQWdCVUVDZEdvaEJ5QUNJQkVRVUNBRlFRSjBhaUVKSUFNZ0JoQlFJQVZCQW5ScUlRc2dCQ0FNRUZBZ0JVRUNkR29oRENBRUlBWVFVQ0FGUVFKMGFpRUNJQVFnRVJCUUlBVkJBblJxSVFRZ0RTQU9JQThnRUNBS0lBTWdCU0FHRU1rQ0lBSXFBZ0FpRlNBSEtnSUFJaFlnQ3lvQ0FFTUFBQUJBbEpPU0lSY2dCMEY4YWlvQ0FDQUhLZ0lFa3lBQ0tnSUVJQUpCZkdvcUFnQ1Rra01BQUlBK2xDRVRJQklxQWdBZ0NTb0NBSk1nQkNvQ0FDQU1LZ0lBazVKREFBQ0FQcFFoRkNBQUlBOG9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FUT0FJSUlBQWdBallDRENBQUlCQW9BZ0EyQWhBZ0FDQVVPQUlVSUFBZ0V6Z0NHQ0FBSUJRNEFod2dBQ0FYT0FJZ0lBRWdEU29DQUl3NEFnQWdBU0FPS2dJQWpEZ0NCQ0FCSUJVZ0ZwTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWJYY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJvQ0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wRzJBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEcxQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTFdnRUNmU0FBS2dJZ0lBQXFBZ1FRYVpRaEFTQUFLZ0lFUXdBQUFFQ1VJQUFxQWdnaUFwUWdBQ29DRkpRZ0FaTWdBQ29DRUNBQ0VHbVVreUFBS2dJQUlBQXFBaFFRYVpTVElBQXFBZ0FnQUNvQ0VKUWdBQ29DSUpTU0M4d0JBUUovSXdZaEFpTUdRUkJxSkFZZ0FBUi9JQUVnQUNnQ0JFWUVmMEVBQlFKL0lBRkJEMDhFUUNBQ0lBRTJBZ0JCQUVFRFFmR21BU0FDRUQxQmZ3d0JDeUFBSUFFMkFnUWdBQ0FCRUpVR05nSUlJQUFvQWhnaEEwR2c0QUVnQVVILy93Rnhka0VCY1FSQUFrQUNRQUpBSUFNT0JBQUNBZ0VDQ3lBQVFRRTJBaGhCQUF3REN5QUFRUVEyQWhoQkFBd0NDd1VDUUFKQUFrQWdBMEVCYXc0RUFBSUNBUUlMSUFCQkJEWUNHRUVBREFNTElBQkJBellDR0VFQURBSUxDMEVBQ3dzRlFYOExHaUFDSkFZTGVnQWdBQ0FCS2dJQUlBSXFBZ0NVSUFFcUFnUWdBaW9DQkpTU0lBRXFBZ2dnQWlvQ0NKU1NPQUlBSUFBZ0FTb0NEQ0FDS2dJQWxDQUJLZ0lRSUFJcUFnU1VraUFCS2dJVUlBSXFBZ2lVa2pnQ0JDQUFJQUVxQWhnZ0Fpb0NBSlFnQVNvQ0hDQUNLZ0lFbEpJZ0FTb0NJQ0FDS2dJSWxKSTRBZ2dMNndFQkFYMGdBUkRpQ0NJQ2kwTUFBQUEwWHdSL1FRQUZJQUJEQUFDQVB5QUNsU0lDSUFFcUFoQWdBU29DRkNBQktnSWdFTW9DbERnQ0FDQUFJQUlnQVNvQ0NDQUJLZ0lFSUFFcUFpQWdBU29DSEJDQUFaUTRBZ1FnQUNBQ0lBRXFBZ1FnQVNvQ0NDQUJLZ0lRSUFFcUFoUVFnQUdVT0FJSUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0lCREtBcFE0QWhBZ0FDQUNJQUVxQWdnZ0FTb0NBQ0FCS2dJVUlBRXFBZ3dRZ0FHVU9BSVVJQUFnQWlBQktnSUFJQUVxQWdRZ0FTb0NFQkRLQXBRNEFpQWdBQ0FBS0FJRU5nSU1JQUFnQUNnQ0NEWUNHQ0FBSUFBb0FoUTJBaHhCQVFzTFBBRUJmU0FCS2dJQUlBRXFBaENVSUFFcUFnUVFhWk1pQWtNQUFBQUFXd1IvUVFBRklBQWdBU29DQUNBQktnSVFraEJwSUFLVk9BSUFRUUVMQ3k4QkFuOGpCaUVESXdaQk1Hb2tCaUFESUFFUTVRZ0VmeUFBSUFNZ0FoRGtDRUVCQlVFQUN5RUVJQU1rQmlBRUM2a0ZBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JDZ0NCQ0FDS0FJRUlBTW9BZ1JHUmdSQUlBUW9BZ2dnQWlnQ0NDQURLQUlJUmtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9FSUJTQUhRY0RJQTBHSHl3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIU0F4QStRZmFpQWhBM1FkVE1BUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxCUUpBSUFJb0FnUWdBeWdDQkVZRVFDQUVLQUlFSUFNb0FnUkJBWFpHQkVBZ0FpZ0NDQ0FES0FJSVJnUkFJQVFvQWdnZ0F5Z0NDRUVCZGtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9BSURBUUxDeUFIUWNESUEwSDB6QUVRTjBIT3l3RVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZFRNQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQ2lBSlFRb2dDa0UvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMQ3lBREtBSUVJQUlvQWdSQkFYWkdCRUFnQXlnQ0JDQUVLQUlFUmdSQUlBTW9BZ1FnQWlnQ0JFRUJka1lFUUNBREtBSUVJQVFvQWdSR0JFQWdBQ0FCSUFJZ0F5QUVJQVVnQmhEZkNBd0VDd3NnQjBIQXlBTkIxYzBCRURkQnpzc0JFRGRCNzZJQ0VEZEIyQU1RUGtIMm9nSVFOMEhVekFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0IwSEF5QU5CNG9FQ0VEZEJ6c3NCRURkQjc2SUNFRGRCMndNUVBrSDJvZ0lRTjBHeXpnRVFOeUlBS0FJQVFYUnFLQUlBSUFCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCeVFHUVFFTFBRRUNmeUFBS0FJRUlBQW9BZ0FpQTJ0QkpCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUTNRZ0ZJQUlnQVVzRVFDQUFJQUZCSkd3Z0EybzJBZ1FMQ3dzNEFDQUFCSDhnQVVRQUFBQUFBQUFBQUdVZ0FVUUFBQUFBQUFEd1AyWnlCSDlCZndVZ0FFR1FoNjhEYWlBQk9RTUFRUUFMQlVGL0N3dk1BUUlGZndKOUlBRW9BZ0FpQkVGNGFpRUdJQUFvQWdBaEFnTkFJQUlnQmtjRVFDQUNJQVJHQkVBZ0JDRUJCUUpBSUFJaEFRTkFJQUVoQlFOQUFrQWdCQ0FGUVFocUlnTkdEUU1nQVNvQ0FDSUhJQU1xQWdBaUNGME5BQ0FJSUFkZFJRUkFJQUVvQWdRZ0JTZ0NERWtOQVFzZ0F5RUZEQUVMQ3lBRElRRU1BQUFMQUFzTElBRWdBa2NFUUNBQ0tBSUFJUU1nQWlBQktBSUFOZ0lBSUFFZ0F6WUNBQ0FDS0FJRUlRTWdBaUFCS0FJRU5nSUVJQUVnQXpZQ0JBc2dBQ0FDUVFocUlnSTJBZ0FNQVFzTEM5ME1BaEYvQTMwakJpRUlJd1pCTUdva0JpQUlRU2hxSVFzZ0NFRWthaUVNSUFoQklHb2hFU0FCS0FJQUlRMENRQUpBQWtBQ1FBTkFBa0FnQWlnQ0FDSU9RWGhxSVFZZ0RrRjhhaUVLSUEwZ0RrWU5BQ0FHSVFjZ0FDZ0NBQ0lCSVFRQ2Z3SkFBa0FDUUFOQUFrQUNRQ0FPSUFScklnTkJBM1VpQ1E0RUJ3Y0pDZ0FMSUFOQndBQklEUW9nQ0NBRU5nSUlJQWdnQ1VFQmRpSURRUU4wSUFGcUlnazJBZ1FnQ0NBSE5nSUFJQkVnQ0NnQ0NEWUNBQ0FNSUFnb0FnUTJBZ0FnQ3lBSUtBSUFOZ0lBSUJFZ0RDQUxFUElESVE4Z0NTb0NBQ0lVSUFRcUFnQWlGVjBOQXlBRFFRTjBJQUZxSVJJZ0ZTQVVYVVVFUUNBU0tBSUVJQVFvQWdSSkRRUUxJQVloQXdOQUlBTkJlR29pQlNBRVJ3UkFJQlFnQlNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnRWlnQ0JDQURRWHhxS0FJQUloQkpEUVVMSUFVaEF3d0JDd3NnQkVFSWFpSUZJUVFnQmlvQ0FDSVZJQUVxQWdBaUZGMUZCRUFDUUNBVUlCVmRCRUFnQVVFRWFpRURCU0FLS0FJQUlBRkJCR29pQXlnQ0FFa05BUXNDZndKQUEwQUNRQ0FGSUFaR0RRd2dCU29DQUNJV0lCUmREUUFnRkNBV1hVVUVRQ0FGS0FJRUlnUWdBeWdDQUVrTkF3c2dCVUVJYWlFRkRBRUxDeUFGS0FJRUlRUWdCVUVFYWd3QkN5QUZRUVJxQ3lFVElBVWdGVGdDQUNBR0lCWTRBZ0FnRXlBS0tBSUFOZ0lBSUFvZ0JEWUNBQ0FGUVFocUlRUUxDeUFFSUFaR0RRWWdBU0VKSUFjaEFRTkFJQWtxQWdBaEZBTkFBa0FnQkNvQ0FDSVZJQlJkRFFBZ0ZDQVZYVVVFUUNBRUtBSUVJQWtvQWdSSkRRRUxJQVJCQ0dvaEJBd0JDd3NnQkNFRElBRWhCQU5BQWtBZ0JFRjRhaUlCS2dJQUloVWdGRjFGQkVBZ0ZDQVZYUTBCSUFSQmZHb29BZ0FnQ1NnQ0JFOE5BUXNnQVNFRURBRUxDeUFCSUFOTEJFQWdBeWdDQUNFRklBTWdGVGdDQUNBQklBVTJBZ0FnQXlnQ0JDRUZJQU1nQkVGOGFpSUVLQUlBTmdJRUlBUWdCVFlDQUNBRFFRaHFJUVFNQVFzTElBMGdBeUlCU1EwR0lBQWdBVFlDQUNBQklRUU1BUXNMSUFOQmZHb2lBU0VESUFFb0FnQWhFQXdDQ3lBRFFYeHFJUU1NQVFzZ0R5RURJQVlNQVFzZ0JDZ0NBQ0VCSUFRZ0ZUZ0NBQ0FGSUFFMkFnQWdCQ2dDQkNFQklBUWdFRFlDQkNBRElBRTJBZ0FnRDBFQmFpRURJQVVMSVFFZ0JFRUlhaUlISVFZZ0J5QUJTUVIvSUFNaEJTQUdJUU1EUUNBSktnSUFJUlFEUUFKQUlCUWdBeW9DQUNJVlhVVUVRQ0FWSUJSZERRRWdDU2dDQkNBREtBSUVUdzBCQ3lBRFFRaHFJUU1NQVFzTElBTWhCeUFCSVFNRFFBSkFJQlFnQTBGNGFpSUJLZ0lBSWhWZERRQWdGU0FVWFVVRVFDQUpLQUlFSUFOQmZHb29BZ0JKRFFFTElBRWhBd3dCQ3dzZ0FTQUhTd1JBSUFjb0FnQWhCaUFISUJVNEFnQWdBU0FHTmdJQUlBY29BZ1FoQmlBSElBTkJmR29pQXlnQ0FEWUNCQ0FESUFZMkFnQWdCVUVCYWlFRklBRWdDU0FISUFsR0d5RUpJQWRCQ0dvaEF3d0JDd3NnQnlFR0lBVUZJQU1MSVFFZ0J5QUpSd1JBQWtBZ0J5b0NBQ0lWSUFrcUFnQWlGRjBFUUNBSlFRUnFJUVVnQjBFRWFpRVBJQWtvQWdRaEF5QUhLQUlFSVJBRklCUWdGVjBOQVNBSFFRUnFJZzhvQWdBaUVDQUpRUVJxSWdVb0FnQWlBMDhOQVFzZ0JpZ0NBQ0VLSUFZZ0ZEZ0NBQ0FKSUFvMkFnQWdEeUFETmdJQUlBVWdFRFlDQUNBQlFRRnFJUUVMQ3lBSElBMUdEUUFnQmlFRElBRkZCRUFDUUNBTklBZEpCRUFEUUNBSElBUkJDR29pQVVZTkJDQUVLZ0lBSWhRZ0FTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0JDZ0NCQ0FFS0FJTVNRMERDeUFCSVFRTUFBQUxBQVVnQXlFQkEwQWdEaUFCUVFocUlnTkdEUVFnQVNvQ0FDSVVJQU1xQWdBaUZWME5BaUFWSUJSZFJRUkFJQUVvQWdRZ0FTZ0NERWtOQXdzZ0F5RUJEQUFBQ3dBTEFBc0xJQTBnQjBrRVFDQUNJQVkyQWdBRklBQWdCMEVJYWpZQ0FBc01BUXNMREFNTElBSWdCallDQUNBQktnSUFJaFFnQmlvQ0FDSVZYUVJBSUFGQkJHb2hBeUFLS0FJQUlRQWdBU2dDQkNFQ0JTQVZJQlJkRFFNZ0FVRUVhaUlES0FJQUlnSWdDaWdDQUNJQVR3MERDeUFCSUJVNEFnQWdCaUFVT0FJQUlBTWdBRFlDQUNBS0lBSTJBZ0FNQWdzZ0NDQUVOZ0ljSUFnZ0JFRUlhallDR0NBQ0lBWTJBZ0FnQ0NBR05nSVVJQkVnQ0NnQ0hEWUNBQ0FNSUFnb0FoZzJBZ0FnQ3lBSUtBSVVOZ0lBSUJFZ0RDQUxFUElER2d3QkN5QUlJQVEyQWhBZ0NDQU9OZ0lNSUF3Z0NDZ0NFRFlDQUNBTElBZ29BZ3cyQWdBZ0RDQUxFT3NJQ3lBSUpBWUxwZ2NDQ0g4RGZTTUdJUWdqQmtFd2FpUUdJQWhCQ0dvaENTQUlRU0JxSVEwZ0NFRWNhaUVPSUFNZ0JHd2hDZ0o5SUFXeUlBT3lsWTBoRWlBR3NpQUVzcFdOSVJFZ0FTQUJLQUlBTmdJRUlBRWdCeERSQWlBQUtBSUVJQUFvQWdBaUEydEJEQkE1SVF0QkFDRUZBMEFnQlNBTFJ3UkFJQVZCREd3Z0Eyb29BZ1FnQlVFTWJDQURhaWdDQUNJRWEwRU1FRGtoREVFQUlRWURRQ0FHSUF4SEJFQWdCa0VNYkNBRWFpQUdRUXhzSUFScUtBSUFOZ0lFSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUhJQW9RT1NFTElCSUxFRU95SVJBZ0VSQkRzaUVSUVFBaEJBTkFJQVFnQWlnQ0JDQUNLQUlBSWdOclFTUVFPVWtFUUNBRVFTUnNJQU5xS2dJQUlCQ1ZFRU1oQmlBRVFTUnNJQU5xS2dJRUlCR1ZFRU1oQlNBQUtBSUFJQVpCREd4cUtBSUFJUVlnQ1NBRVFTUnNJQU5xS2dJWWl6Z0NBQ0FKSUFRMkFnUWdCVUVNYkNBR2FpSURLQUlFSWdjZ0JVRU1iQ0FHYWlnQ0NFa0VRQ0FISUFrcEF3QTNBZ0FnQXlBREtBSUVRUWhxTmdJRUJTQUZRUXhzSUFacUlBa1FsZ0VMSUFSQkFXb2hCQXdCQ3d0QkFDRUdJQUFvQWdBaUJTSUVJUU1DUUFOQUlBWWdBQ2dDQkNBRmEwRU1FRGxKQkVCQkFDRUZBMEFnQlNBR1FReHNJQVJxS0FJRUlBWkJER3dnQkdvb0FnQWlCMnRCREJBNVNRUkFJQXNnQlVFTWJDQUhhaUlLS0FJRUlnOGdCVUVNYkNBSGFpSU1LQUlBSWdSclFRTjFJZ2NnQ3lBSFNSc2lCd1JBSUFnZ0JEWUNHQ0FJSUFkQkEzUWdCR28yQWhRZ0NDQVBOZ0lRSUE0Z0NDZ0NHRFlDQUNBTklBZ29BaFEyQWdBZ0NTQUlLQUlRTmdJQUlBNGdEU0FKRU93SUlBd29BZ0FpQkNFRElBY2dDaWdDQkNBRWEwRURkVXNFUUNBREtnSUFJQWRCQTNRZ0Eyb3FBZ0JnUlEwR0MwRUFJUW9EUUNBS0lBZEpCRUFnQWlnQ0FDQU1LQUlBSUFwQkEzUnFLQUlFUVNSc2FpRURJQUVvQWdRaUJDQUJLQUlJUmdSQUlBRWdBeERpQVFVZ0JDQURLUUlBTndJQUlBUWdBeWtDQ0RjQ0NDQUVJQU1wQWhBM0FoQWdCQ0FES1FJWU53SVlJQVFnQXlnQ0lEWUNJQ0FCSUFFb0FnUkJKR28yQWdRTElBcEJBV29oQ2d3QkN3c2dBQ2dDQUNFREN5QUZRUUZxSVFVZ0F5RUVEQUVMQ3lBR1FRRnFJUVlnQkNFRkRBRUxDeUFJSkFZUEN5QUpRY0RJQTBIcHlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkJSQStRZmFpQWhBM1FhUEpBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FKRUR3Z0FDQUJFRUFnQUJBL0VBQUxKZ0FnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUdZaDY4RGFpZ0NBRFlDQUVFQUJVRi9DeG9MUkFFQ2ZVTUFBSUEvUVFFZ0JuU3lsU0lIUXdBQUFEK1VRd0FBQUwrU0lRZ2dBQ0FISUFPVUlBaVNPQUlBSUFFZ0J5QUVsQ0FJa2pnQ0FDQUNJQWNnQlpRNEFnQUwzUVFDREg4QmZTTUdJUUlqQmtGQWF5UUdJQUpCTUdvaENpQUNRU3hxSVFjZ0FrRW9haUVJSUFKQkpHb2hDeUFBTEFBY0JFQWdBQ0FBUWNnQWFpSUpLQUlBTmdKTUlBa2dBRUZBYXlJTUtBSUFJQUJCUEdvaUJTZ0NBR3NRMFFJZ0FFSGNBR29pRFNBQkVNSUlBMEFnQlNnQ0FDSUdJUU1nQkNBTUtBSUFJQVpyUVNRUU9Va0VRQ0FISUFnZ0N5QUVRU1JzSUFOcUtnSUFJQVJCSkd3Z0Eyb3FBZ1FnQkVFa2JDQURhaW9DSENBRVFTUnNJQU5xS0FJTUVPOElJQWNnQnlvQ0FDQUJJQVVvQWdBZ0JFRWtiR29vQWd4QkFCQ3NBU2dDQkVGL2FyTVE0d0U0QWdBZ0NDQUlLZ0lBSUFFZ0JTZ0NBQ0FFUVNSc2FpZ0NERUVBRUt3QktBSUlRWDlxc3hEakFTSU9PQUlBSUEwZ0FDZ0NrQUVnQ2lBRktBSUFJZ01nQkVFa2JHb29BZ3dnQkVFa2JDQURhaWdDRUNBSEtnSUFJQTRnQ3lvQ0FCREJDRUVBSVFZRFFDQUdJQW9vQWdCSUJFQWdBaUFGS0FJQUlBUkJKR3hxSWdNcEFnQTNBZ0FnQWlBREtRSUlOd0lJSUFJZ0F5a0NFRGNDRUNBQ0lBTXBBaGczQWhnZ0FpQURLQUlnTmdJZ0lBSWdBQ2dDa0FFZ0JrRUNkR29vQWdBMkFnZ2dBQ2dDVENJRElBQW9BbEJHQkVBZ0NTQUNFT0lCQlNBRElBSXBBZ0EzQWdBZ0F5QUNLUUlJTndJSUlBTWdBaWtDRURjQ0VDQURJQUlwQWhnM0FoZ2dBeUFDS0FJZ05nSWdJQUFnQUNnQ1RFRWthallDVEFzZ0JrRUJhaUVHREFFTEN5QUVRUUZxSVFRTUFRc0xJQVVnQ1JDSkFnVUNRQ0FBUVVCcktBSUFJQUFvQWp3aUFHdEJKQkE1SVFFRFFDQUJJQVZHRFFFZ0JVRWtiQ0FBYWtNQUFBQUFPQUlJSUFWQkFXb2hCUXdBQUFzQUN3c2dBaVFHQzVJRUFRdC9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUJJQUJCUUdzaUNDZ0NBQ0FBUVR4cUlnUW9BZ0JyUVNRUU9TQUFLQUpVSWdsTEJFQWdBQ2dDRkNBQVFSQnFJZ29vQWdBaUJtdEJEQkE1SWdzZ0FDZ0NDRWNFUUNBQlFjRElBMEdCeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhHQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBWW9BZ1FnQmlnQ0FHdEJEQkE1SWdZZ0FDZ0NERWNFUUNBQlFjRElBMEhTeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhIQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBTkJBRFlDQUNBRFFRQTJBZ1FnQTBFQU5nSUlJQW9nQXlBRUlBc2dCaUFBS0FJQUlBQW9BZ1FnQ1JEdENDQUVJQU1RaVFJZ0NDZ0NBQ0FFS0FJQWEwRWtFRGtnQUNnQ1ZFc0VRQ0FCUWNESUEwR015QUVRTjBIQXZBRVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZEhJQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdRb0FnQW9BaHdoQWlBRVFRb2dBa0UvY1VHS0FXb1JBZ0FoQkNBQkVEd2dBQ0FFRUVBZ0FCQS9FQUFGSUFNUVZRc0xJQU1rQmd1YUJ3SVZmd1I5SXdZaEJTTUdRZEFBYWlRR0lBVkJ4QUJxSVFrZ0JVRTRhaUVNSUFWQkxHb2hCeUFGUVNocUlRMGdCVUVrYWlFT0lBQXFBalFRYVNFWUlBQXFBamhEQUFDQVA1SVFhU0FBS2dJNGxTRVpJQUJCUEdvaER5QUFRVUJySVJVZ0FFRWdhaUVHQWtBQ1FBSkFBMEFnQWlBVktBSUFJQThvQWdBaUEydEJKQkE1U1FSQUlBSkJKR3dnQTJvaUVpZ0NFQ0FHS0FJUVRnMENJQklvQWhBZ0JpZ0NFQ0FDUVNSc0lBTnFJaEFvQWd4c2FpRUtJQTBnRGlBQ1FTUnNJQU5xSWdncUFnQWdBa0VrYkNBRGFrRUVhaUlUS2dJQUlCQW9BZ3dReXdJZ0RTb0NBRU1BQUFBL2toQkRJUXNnRGlvQ0FFTUFBQUEva2hCRElSRWdCU0FNSUFZb0FnQWdDa0YvYWtFRmRHb2dCaWdDQUNBS1FRVjBhaUlVSUFZb0FnQWdDa0VCYWtFRmRHb2dDeUFSRU9nSUJFQWdCeUFGSUF3UTV3Z0VRQ0FIS2dJQUVHa2dCeW9DQkJCcGtpQUFLZ0pZWGtVRVFDQUNRU1JzSUFOcUloWkJJR29nQlJEbUNBUkFJQUpCSkd3Z0Eyb2lDaW9DR0NBVUlCRVFVQ0FMUVFKMGFpb0NBRndOQnlBS0lCUWdFUkJRSUF0QkFuUnFLZ0lBSUF3cUFnQWdCeW9DQUNJWGxDQU1LZ0lFSUFjcUFnUWlHcFNTSUF3cUFnZ2dCeW9DQ0pTU2t6Z0NHQ0FJSUJNZ0Z5QU5LZ0lBa2lBYUlBNHFBZ0NTSUJBb0Fnd1E0UUVnQWtFa2JDQURhaUlMSUFjcUFnZ2dFaWdDRUxLU0loYzRBaFFnQ3lBWElBWW9BaEN5RU9NQk9BSVVJQllxQWlDTElCbGRCSDhnQ2lvQ0dCQnBJQmhnQkg4Z0NDb0NBQ0lYUXdBQUFBQmdCSDhnRnlBR0tBSUFLQUlFczEwRWZ5QVRLZ0lBSWhkREFBQUFBR0FFZnlBWElBWW9BZ0FvQWdpelhRUi9JQUpCSkd3Z0Eyb2dBU0FRS0FJTUlBc3FBaFFRaHdJNEFod2dEeWdDQUNBRVFTUnNhaUlESUFncEFnQTNBZ0FnQXlBSUtRSUlOd0lJSUFNZ0NDa0NFRGNDRUNBRElBZ3BBaGczQWhnZ0F5QUlLQUlnTmdJZ0lBUkJBV29GSUFRTEJTQUVDd1VnQkFzRklBUUxCU0FFQ3dVZ0JBc2hCQXNMQ3dzZ0FrRUJhaUVDREFFTEN5QVBJQVFRNlFnZ0JTUUdEd3NnQ1VIQXlBTkJ0c2tCRURkQndMd0JFRGRCNzZJQ0VEZEI2UU1RUGtIMm9nSVFOMEgreVFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTUFRc2dDVUhBeUFOQm84b0JFRGRCd0x3QkVEZEI3NklDRURkQmpnUVFQa0gyb2dJUU4wSGN5Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNMSUFsQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFrUVBDQUFJQUVRUUNBQUVEOFFBQXVNSkFJY2Z3cDlJd1loQlNNR1FUQnFKQVlnQUVGQWF5SVJJQUJCUEdvaUdDZ0NBRFlDQUNBQUtnSTBFR2toSlNBQVFTQnFJUmtnQlVFRWFpRWFJQVZCQkdvaEd5QUZRUVJxSVJ4QkFTRURBa0FDUUFKQUFrQUNRQUpBQWtBRFFDQURJQmtvQWdRZ0dTZ0NBR3RCQlhWQmYycEpCRUFnQWlBRFFYOXFFTWdDSVFjZ0FpQURFTWdDSVFvZ0FpQURRUUZxSWgwUXlBSWhDQ0FDSUFNUTJnZ2hFaUFESUFJb0FoQVFUeUVXQWtBQ1FDQUhLQUlFSUFvb0FnUkhEUUFnQnlnQ0JDQUlLQUlFUncwQUlBY29BZ2dnQ2lnQ0NFY05CQ0FIS0FJSUlBZ29BZ2hIRFFVZ0NpZ0NCRUYvYWlFWElBb29BZ2hCZjJvaEhpQVdzaUVnUVFFaEF3TkFJQU1nSGtrRVFDQUhJQU5CZjJvaUJCQlFJUk1nQnlBREVGQWhDeUFISUFOQkFXb2lGQkJRSVF3Z0NpQUVFRkFoRFNBS0lBTVFVQ0VWSUFvZ0ZCQlFJUTRnQ0NBRUVGQWhEeUFJSUFNUVVDRVFJQWdnRkJCUUlRa2dBN01oSVVFQklRTURRQ0FESUJkSkJFQWdBMEVDZENBVmFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUFKQUFrQWdCQ29DQUNJZklBTkJmMm9pQkVFQ2RDQVRhaW9DQUNJaVhrVU5BQ0FmSUFOQkFuUWdFMm9xQWdCZVJRMEFJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRldvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FWYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEbW9xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUGFpb0NBRjVGRFFBZ0h5QUVRUUowSUJCcUtnSUFYa1VOQUNBZklBTkJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQWxxS2dJQVhrVU5BQ0FmSUFOQkFuUWdDV29xQWdCZVJRMEFJQjhnQmtFQ2RDQUphaW9DQUY1RkRRQU1BUXNnSHlBaVhVVU5BU0FmSUFOQkFuUWdFMm9xQWdCZFJRMEJJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRldvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FWYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFOQkFuUWdEbW9xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUGFpb0NBRjFGRFFFZ0h5QUVRUUowSUJCcUtnSUFYVVVOQVNBZklBTkJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQWxxS2dJQVhVVU5BU0FmSUFOQkFuUWdDV29xQWdCZFJRMEJJQjhnQmtFQ2RDQUphaW9DQUYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQWZPQUlZSUFVZ0FTQVNJQ0FRaHdJNEFod2dCU0FhSUFPeklDRWdFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUVMQ3d3QkN5QUhLQUlFSUFvb0FnUkdCRUFnQ0NnQ0JDQUtLQUlFUVFGMlJnUkFJQWNvQWdnZ0NpZ0NDRWNOQnlBSUtBSUlJQW9vQWdoQkFYWkhEUWdnQ0NnQ0JFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSTWdDQ2dDQ0VGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJVZ0ZySWhKa0VDSVFNRFFDQURJQlZQRFFNZ0J5QURRWDlxSWdRUVVDRVBJQWNnQXhCUUlRc2dCeUFEUVFGcUloUVFVQ0VNSUFvZ0JCQlFJUTBnQ2lBREVGQWhFQ0FLSUJRUVVDRU9JQU96SWlkREFBQUFQNVJEQUFDQXZwSWlJVU1BQUFDL2tpRWlJQ0ZEQUFBQVA1SWhJMEVDSVFRRFFDQUVJQk5KQkVBZ0JFRUNkQ0FRYWlJREtnSUFFR2tnSlYxRkJFQUNRQ0FFc3lJb1F3QUFBRCtVUXdBQWdMNlNJU0FDUUFKQUlBTXFBZ0FpSHlBRVFYOXFJZ1pCQW5RZ0Qyb2lGeW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQ1VFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdDVUVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQkJxS2dJQVhrVU5BQ0FmSUFsQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhrVU5BQ0FES2dJQUlBZ2dJQ0FpRUUxZVJRMEFJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWGtVTkFDQURLZ0lBSUFnZ0h5QWhFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDRVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0lSQk5Ya1VOQUNBREtnSUFJQWdnSHlBakVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNNUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSXhCTlhrVU5BQXdCQ3lBREtnSUFJaDhnRnlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdDVUVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUJCcUtnSUFYVVVOQVNBZklBbEJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFsQkFuUWdEbW9xQWdCZFJRMEJJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5YVVVOQVNBREtnSUFJQWdnSUNBaUVFMWRSUTBCSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhVVU5BU0FES2dJQUlBZ2dIeUFoRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ0VRVFYxRkRRRWdBeW9DQUNBSUlDUWdJUkJOWFVVTkFTQURLZ0lBSUFnZ0h5QWpFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDTVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0l4Qk5YVVVOQVFzZ0JTQVNOZ0lNSUFVZ0ZqWUNFQ0FGSUFNb0FnQTJBaGdnQlNBQklCSWdKaENIQWpnQ0hDQUZJQnNnS0NBbklCSVE0UUVnRVNnQ0FDSURJQUFvQWtSR0JFQWdHQ0FGRU9JQkJTQURJQVVwQWdBM0FnQWdBeUFGS1FJSU53SUlJQU1nQlNrQ0VEY0NFQ0FESUFVcEFoZzNBaGdnQXlBRktBSWdOZ0lnSUJFZ0VTZ0NBRUVrYWpZQ0FBc0xDeUFFUVFGcUlRUU1BUXNMSUJRaEF3d0FBQXNBQ3dzZ0NpZ0NCQ0FIS0FJRVFRRjJSZ1JBSUFnb0FnUWdCeWdDQkVFQmRrWUVRQ0FLS0FJSUlBY29BZ2hCQVhaSERRa2dDQ2dDQ0NBSEtBSUlRUUYyUncwS0lBb29BZ1JCZjJvaEV5QUtLQUlJUVg5cUlSVWdGckloSmtFQklRTURRQ0FESUJWUERRTWdDaUFEUVg5cUlnUVFVQ0VQSUFvZ0F4QlFJUkFnQ2lBRFFRRnFJaFFRVUNFTElBZ2dCQkJRSVF3Z0NDQURFRkFoRFNBSUlCUVFVQ0VPSUFPeklTY2dBMEVCZExOREFBQUFQNUlpSVVNQUFBREFraUVpSUNGREFBQUFRSkloSTBFQklRTURRQ0FESUJOSkJFQWdBMEVDZENBUWFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUNBRFFRRjBzME1BQUFBL2tpRWdBa0FDUUNBRUtnSUFJaDhnQTBGL2FpSUdRUUowSUE5cUloY3FBZ0JlUlEwQUlCOGdBMEVDZENBUGFpb0NBRjVGRFFBZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFKUVFKMElCQnFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUpRUUowSUF0cUtnSUFYa1VOQUNBZklBWkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXhxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFKUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdBMEVDZENBT2Fpb0NBRjVGRFFBZ0h5QUpRUUowSUE1cUtnSUFYa1VOQUNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFY1RkRRQWdCQ29DQUNBSElDQWdJaEJOWGtVTkFDQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0lSQk5Ya1VOQUNBRUtnSUFJQWNnSUNBaEVFMWVSUTBBSUFRcUFnQWdCeUFrSUNFUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSXhCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FqRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ01RVFY1RkRRQU1BUXNnQkNvQ0FDSWZJQmNxQWdCZFJRMEJJQjhnQTBFQ2RDQVBhaW9DQUYxRkRRRWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQkJxS2dJQVhVVU5BU0FmSUFaQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFKUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUpRUUowSUF4cUtnSUFYVVVOQVNBZklBWkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTFxS2dJQVhVVU5BU0FmSUFaQkFuUWdEbW9xQWdCZFJRMEJJQjhnQTBFQ2RDQU9haW9DQUYxRkRRRWdIeUFKUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQ0FnSWhCTlhVVU5BU0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFYxRkRRRWdCQ29DQUNBSElCOGdJUkJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWhFRTFkUlEwQklBUXFBZ0FnQnlBa0lDRVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0l4Qk5YVVVOQVNBRUtnSUFJQWNnSUNBakVFMWRSUTBCSUFRcUFnQWdCeUFrSUNNUVRWMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FFS0FJQU5nSVlJQVVnQVNBU0lDWVFod0k0QWh3Z0JTQWNJQU96SUNjZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBQUFDd0FMQ3dzZ0hTRUREQUVMQ3lBRkpBWVBDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RkN5QUZRY0RJQTBHMjNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dFQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0RDeUFGUWNESUEwSHEzUUVRTjBIQXZBRVFOMEh2b2dJUU4wR1dBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3Q0N5QUZRY0RJQTBHajNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dCQ3lBRlFjRElBMEhjM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93c2dCVUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCUkE4SUFBZ0FSQkFJQUFRUHhBQUMvQUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FTZ0NFRUVBVEFSQUlBSkJ3TWdEUWR1K0FSQTNRY0M4QVJBM1FlK2lBaEEzUVpNQkVENUI5cUlDRURkQmpMOEJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lCQ2dDQUNnQ0hDRUZJQVJCQ2lBRlFUOXhRWW9CYWhFQ0FDRUVJQUlRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0c0eGdFUWVTQUFRU0JxSUFFUWhRa2dBaEJySUFKQnhNWUJFSGtnQUNBQklBQkJJR29ROHdnZ0FoQnJJQUpCMk1ZQkVIa2dBQ0FCRVBJSUlBSVFheUFDUWVIR0FSQjVJQUFROFFnZ0FoQnJJQUpCNzhZQkVIa2dBQ0FCRVBBSUlBSVFheUFDSkFZTFFnRUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJkR29pQWpZQ0NDQUNFTk1DREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQxQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMEVCQW44Z0FDZ0NCQ0VCQTBBZ0FDZ0NDQ0lDSUFGSEJFQWdBQ0FDUVhScUlnSTJBZ2dnQWhCVkRBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEM0NBc0ZJQUFnQVJEMUF3c2dBaVFHQzEwQkEzOGdBQ2dDQkNJRUlBQW9BZ0FpQW10QkRCQTVJZ01nQVVrRVFDQUFJQUVnQTJzUStBZ0ZJQU1nQVVzRVFDQUJRUXhzSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRTEN3dGVBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUXdRT1NJRElBRkpCRUFnQUNBQklBTnJFUFlJQlNBRElBRkxCRUFnQVVFTWJDQUNhaUVDSUFRaEFRTkFJQUVnQWtjRVFDQUJRWFJxSWdFUTB3SU1BUXNMSUFBZ0FqWUNCQXNMQzVjQkFRRi9JQUJCSUdvZ0FSQ05DU0FBUWR3QWFpQUJFSFFvQWdBb0FnUWdBUkIwS0FJQUtBSUlJQUVvQWhBZ0FTZ0NGQkREQ0NBQUlBRVFkQ2dDQUNnQ0JEWUNBQ0FBSUFFUWRDZ0NBQ2dDQ0RZQ0JDQUFRUkJxSUFBb0FnZ1ErZ2hCQUNFQkEwQWdBU0FBS0FJVUlBQW9BaEFpQW10QkRCQTVTUVJBSUFGQkRHd2dBbW9nQUNnQ0RCRDVDQ0FCUVFGcUlRRU1BUXNMQzBBQkFYOGdBRUdRQVdvUVZTQUFRZHdBYWlJQlFTaHFFTklDSUFGQkhHb1FWU0FBUWNnQWFoQlZJQUJCUEdvUVZTQUFRU0JxRU5JQ0lBQkJFR29RZ1FrTEpRQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFSDBocThEYWlnQ0FEWUNBRUVBQlVGL0N3c2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJSUM2VUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUoxSUFGSkJFQkIvLy8vL3dNZ0FTQURJQUFvQWdCclFRSjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpQUJFUDRJSUFBZ0FoRGtBU0FDRU1jQkN3VWdBQ0FCRVBZREN5QUNKQVlMSUFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUNnQ0FEWUNBRUVBQlVGL0N4b0xRQUVDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGMGFpSUJFTk1DREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3U1QVFFQmZ5QUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkNqWUNDQ0FBUVFvMkFnd2dBRUVBTmdJUUlBQkJBRFlDRkNBQVFRQTJBaGdnQUVFQk9nQWNJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFRUFOZ0l3SUFCREFBQUFBRGdDTkNBQVF3QUFJRUU0QWpnZ0FFSUFOd0k4SUFCQ0FEY0NSQ0FBUWdBM0Frd2dBRU1BQUJCQk9BSllJQUJCM0FCcUVNUUlJQUJCa0FGcUlnRkJBRFlDQUNBQVFRQTJBcFFCSUFCQkFEWUNtQUVnQUVHSUp4RDNBeUFCUVNRUWh3RUxvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDOEFLQVFaL0l3WWhCU01HUVJCcUpBWWdBQ2dDQUVFQ1J3UkFJQVZCd01nRFFadkFBUkEzUWNDOEFSQTNRZStpQWhBM1FkWUFFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0FFRUNSd1JBSUFWQndNZ0RRZUxBQVJBM1FjQzhBUkEzUWUraUFoQTNRZGNBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NBRUVDUndSQUlBVkJ3TWdEUVpIQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRnQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDRUVFQlJ3UkFJQVZCd01nRFFjREJBUkEzUWNDOEFSQTNRZStpQWhBM1Fka0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0VFRUJSd1JBSUFWQndNZ0RRWTdDQVJBM1FjQzhBUkEzUWUraUFoQTNRZG9BRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NFRUVCUndSQUlBVkJ3TWdEUWJuQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRzQUVENUI5cUlDRURkQjZjRUJFRGNpQXlnQ0FFRjBhaWdDQUNBRGFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRZVRDQVJBM1FjQzhBUkEzUWUraUFoQTNRZHdBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFiVERBUkEzUWNDOEFSQTNRZStpQWhBM1FkMEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUVlmRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYm5FQVJBM1FjQzhBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUF0QkFDRURBMEFnQXlBQktBSUlTUVJBSUFBZ0F4Q0RDU0VHSUFFZ0F4QlFJUWNnQWlBREVGQWhDRUVBSVFRRFFDQUVJQUVvQWdSSkJFQWdCRUVDZENBR2FpQUVRUUowSUFkcUtnSUFJQVJCQW5RZ0NHb3FBZ0NUT0FJQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFGSkFZTDVnTUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSUVJQUFvQWdCR0JFQWdCRUhBeUFOQmlMNEJFRGRCd0x3QkVEZEI3NklDRURkQnlBQVFQa0gyb2dJUU4wR3l2Z0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCS0FJUVFRQk1CRUFnQkVIQXlBTkIyNzRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5UUFRUGtIMm9nSVFOMEdNdndFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQkJFQWdBVUh3OFFCQitQRUFFT1FFQkVCQkFDRUNBMEFnQWlBQUtBSU1TUVJBUVFBaEF3TkFJQU1nQUNnQ0VFa0VRQ0FBS0FJQUlBTWdBaUFBS0FJUWJHcEJCWFJxSUFFZ0FpQURFS3dCSUFFZ0FpQURRUUZxSWdNUXJBRVFoQWtNQVFzTElBSkJBV29oQWd3QkN3c2dCQ1FHRHdzTElBUkJ3TWdEUWJDL0FSQTNRY0M4QVJBM1FlK2lBaEEzUWNvQUVENUI5cUlDRURkQitMOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBdENBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0ZnYWlJQ05nSUlJQUlRM1FFTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMU2dFQ2Z5QUFCSDhnQUVHSWg2OERhaUlCS0FJQUlnSUVRQ0FDRUVrZ0FVRUFOZ0lBQ3lBQVFlQ0dwd0pxS0FJQUVEZ2dBRUhraHFjQ2FpZ0NBQkE0SUFBUU9FRUFCVUYvQ3hvTGtBRUJBbjhnQUNnQ0FDRURJQUFvQWdRaEFnTkFJQUlnQTBjRVFDQUJLQUlFUVdCcUlBSkJZR29pQWhDcUJ5QUJJQUVvQWdSQllHbzJBZ1FNQVFzTElBQW9BZ0FoQWlBQUlBRW9BZ1EyQWdBZ0FTQUNOZ0lFSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBU2dDQkRZQ0FBc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUXVnTWdBQ0FBS0FJSVFTQnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMzSUJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVILy8vOC9Td1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUZkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUVYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFRmRDQUVhallDREFzckFRRi9JQUFvQWdRaEFnTkFJQUlRdWdNZ0FDQUFLQUlFUVNCcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzZJQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRVjFJQUZKQkVCQi8vLy9QeUFCSUFNZ0FDZ0NBR3RCQlhWcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRUjFJZ1lnQmlBRFNSdEIvLy8vUHlBRlFRVjFRZi8vL3g5Skd5QUFLQUlFSUFSclFRVjFJQUJCQ0dvUWlna2dBaUFCRUlrSklBQWdBaENJQ1NBQ0VJWUpDd1VnQUNBQkVJc0pDeUFDSkFZTHd3SUJDSDhqQmlFRUl3WkJFR29rQmlBQktBSUlJQUVvQWdSclFRVjFSUVJBSUFSQndNZ0RRWlc4QVJBM1FjQzhBUkEzUWUraUFoQTNRVFVRUGtIMm9nSVFOMEhJdlFFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQlFRQkJBQkNzQVNnQ0FDRURJQUZCQUVFQUVLd0JLQUlFSVFVZ0FVRUFRUUFRckFFb0FnZ2hCaUFBSUFFb0FoQTJBZ3dnQUNBQktBSVVRWDlxSWdFMkFoQWdBQ0FCSUFBb0FneHNFTlFDUVFBaEFRTkFJQUVnQUNnQ0RFa0VRQ0FGSUFGMklRY2dCaUFCZGlFSVFRQWhBZ05BSUFJZ0FDZ0NFQ0lKU1FSQUlBQW9BZ0FnQWlBQklBbHNha0VGZEdvZ0F5QUhJQWhCQVJDM0FpQUNRUUZxSVFJTUFRc0xJQUZCQVdvaEFRd0JDd3NnQkNRR0MzTUJCSDhqQmlFREl3WkJFR29rQmlBRFFRaHFJUVFnQUFSQUlBQVFZQ0VDUVlEUkFoQmdJQUpCQW1wcUVFUWlBZ1JBSUFRZ0FEWUNBQ0FFUVlEUkFqWUNCQ0FDUVkrOEFTQUVFTHdCSUFJZ0FSQ3dBU0VGSUFJUU9BVkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3c2dBeVFHSUFVTHZRSUJDSDhqQmlFS0l3WkJFR29rQmlBRElBRkJCQkE1SWdzMkFnQWdCQ0FDUVFRUU9TSU1OZ0lBSUFzZ0RHd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NoQTlRUUVRQVFzZ0F5RUNBMEFnQ0NBTVNBUkFRUUFoQ1NBQUlBRWdDRUVDZENJRmJHb2hCQ0FBSUFFZ0JVRURjbXhxSVFZZ0FDQUJJQVZCQW5Kc2FpRUhJQUFnQVNBRlFRRnliR29oQlFOQUlBa2dDMGdFUUNBQ0lBWXRBQU1nQmkwQUFpQUdMUUFCSUFZdEFBQWdCeTBBQXlBSExRQUNJQWN0QUFFZ0J5MEFBQ0FGTFFBRElBVXRBQUlnQlMwQUFTQUZMUUFBSUFRdEFBTWdCQzBBQWlBRUxRQUFJQVF0QUFGcWFtcHFhbXBxYW1wcWFtcHFhbXBCRUJBNU9nQUFJQWxCQVdvaENTQUVRUVJxSVFRZ0JrRUVhaUVHSUFkQkJHb2hCeUFGUVFScUlRVWdBa0VCYWlFQ0RBRUxDeUFJUVFGcUlRZ01BUXNMSUFva0JpQURDeWNBSUFBRWZ5QUFRZmlHcndOcVFRYzJBZ0FnQUVIOGhxOERha0VBTmdJQVFRQUZRWDhMR2d2L0FRRUhmeU1HSVFrakJrRVFhaVFHSUFNZ0FVRURFRGtpQ2pZQ0FDQUVJQUpCQXhBNUlnczJBZ0FnQ2lBTGJCQkVJZ05GQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBRElRSURRQ0FISUF0SUJFQkJBQ0VJSUFBZ0FTQUhRUU5zSWdWc2FpRUVJQUFnQVNBRlFRSnFiR29oQmlBQUlBRWdCVUVCYW14cUlRVURRQ0FJSUFwSUJFQWdBaUFHTFFBQ0lBWXRBQUVnQmkwQUFDQUZMUUFDSUFVdEFBRWdCUzBBQUNBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFRUWtRT1RvQUFDQUlRUUZxSVFnZ0JFRURhaUVFSUFaQkEyb2hCaUFGUVFOcUlRVWdBa0VCYWlFQ0RBRUxDeUFIUVFGcUlRY01BUXNMSUFra0JpQURDOUFCQVFaL0l3WWhDQ01HUVJCcUpBWWdBeUFCUVFJUU9TSUpOZ0lBSUFRZ0FrRUNFRGtpQ2pZQ0FDQUpJQXBzRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQWdRUFVFQkVBRUxRUUFoQkNBRElRSURRQ0FFSUFwSUJFQkJBQ0VISUFBZ0FTQUVRUUYwSWdWc2FpRUdJQUFnQVNBRlFRRnliR29oQlFOQUlBY2dDVWdFUUNBQ0lBVXRBQUVnQlMwQUFDQUdMUUFBSUFZdEFBRnFhbXBCQW5ZNkFBQWdCMEVCYWlFSElBWkJBbW9oQmlBRlFRSnFJUVVnQWtFQmFpRUNEQUVMQ3lBRVFRRnFJUVFNQVFzTElBZ2tCaUFEQzZZREFRbC9Jd1loQ3lNR1FSQnFKQVlnQXlBQlFRTVFPU0lNUVFGMElnazJBZ0FnQkNBQ1FRTVFPU0lOUVFGMElnSTJBZ0FnQWlBSmJCQkVJZ1JGQkVCQkFFRURRYm5ZQWlBTEVEMUJBUkFCQ3lBRUlnSWhBd05BSUFnZ0RVZ0VRRUVBSVFvZ0FDQUJJQWhCQTJ3aUJrRUNhbXhxSVFjZ0FDQUJJQVpCQVdwc2FpRUZJQUFnQVNBR2JHb2hCaUFESUFscUlRTURRQ0FLSUF4SUJFQWdBaUFHTFFBQUlBWXRBQUZCQVhacUlBVXRBQUJCQVhacUlBVXRBQUZCQW5acVFRSjBRUWtRU0RvQUFDQURJQWN0QUFBZ0JTMEFBRUVCZGlBRkxRQUJRUUoyYWtFWWRFRVlkVUgvQVhGcUlBY3RBQUZCQVhacVFRSjBRUWtRU0RvQUFDQUNJQVl0QUFJZ0JpMEFBVUVCZG1vZ0JTMEFBVUVDZG1vZ0JTMEFBa0VCZG1wQkFuUkJDUkJJT2dBQklBTWdCeTBBQWlBRkxRQUJRUUoySUFVdEFBSkJBWFpxUVJoMFFSaDFRZjhCY1NBSExRQUJRUUYyYW1wQkFuUkJDUkJJT2dBQklBcEJBV29oQ2lBSFFRTnFJUWNnQlVFRGFpRUZJQVpCQTJvaEJpQUNRUUpxSVFJZ0EwRUNhaUVEREFFTEN5QUlRUUZxSVFnZ0FpQUphaUVDREFFTEN5QUxKQVlnQkF0T0FRRi9Jd1loQlNNR1FSQnFKQVlnQXlBQk5nSUFJQVFnQWpZQ0FDQUJJQUpzSWdFUVJDSUNCRUFnQWlBQUlBRVFUQm9nQlNRR0lBSVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMYWdBQ2Z3SkFBa0FDUUFKQUFrQWdBMEVCYXc0RkFBSUVBd0VFQ3lBQUlBRWdBaUFFSUFVUWxBa01CQXNnQUNBQklBSWdCQ0FGRUpNSkRBTUxJQUFnQVNBQ0lBUWdCUkNTQ1F3Q0N5QUFJQUVnQWlBRUlBVVFrUWtNQVFzZ0FDQUJJQUlnQkNBRkVJOEpDd3ZGQkFJTGZ3RjlJd1loQ0NNR1FmQUJhaVFHSUFoQjBBRnFJUWtnQ0VISUFXb2hCaUFJUWVBQmFpRU1JQWhCMUFGcUlRb2dDRUhnQUdvaERpQUlRY0FCYWlFUElBRW9BZ1FnQVNnQ0FDSUJheUlIUVFOMUlndEJCRWtFZjBGL0JRSi9JQWRCQVhRUVJDSUhSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXNnQzBFWWJCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBREtBSUFJUU1nQWlnQ0FDRUpRUUFoQWdOQUlBSWdDMGNFUUNBQ1FRUjBJQWRxSUFKQkEzUWdBV29vQWdBaURVRVViQ0FEYWlvQ0FMczVBd0FnQWtFRWRDQUhhaUFOUVJSc0lBTnFLZ0lFdXprRENDQUNRUmhzSUFacUlBSkJBM1FnQVdvb0FnUWlEVUVNYkNBSmFpb0NBTHM1QXdBZ0FrRVliQ0FHYWlBTlFReHNJQWxxS2dJRXV6a0RDQ0FDUVJoc0lBWnFSQUFBQUFBQUFBQUFPUU1RSUFKQkFXb2hBZ3dCQ3dzZ0NpQUxOZ0lJSUFvZ0J6WUNBQ0FLSUFZMkFnUWdBRUVJYWlJQUlBY2dCaUFMSUE0UW1BUkJBRWdFUUNBSEVEZ2dCaEE0UVg4TUFRc2dEQ0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUhFRGdnQmhBNFFYOE1BUXNnQUNBS0lBNGdDQ0FQRU9vQlFRQklCSDhnQnhBNElBWVFPQ0FNRU9JQ1FYOEZRUUFoQUFOQUlBQkJBMGNFUUVFQUlRRURRQ0FCUVFSSEJFQWdBRUVFZENBRWFpQUJRUUowYWlBQVFRVjBJQWhxSUFGQkEzUnFLd01BdGpnQ0FDQUJRUUZxSVFFTUFRc0xJQUJCQVdvaEFBd0JDd3NnREJEaUFpQUhFRGdnQmhBNElBVWdEeXNEQUxZaUVUZ0NBQ0FSUXdBQUlFRmVRUjkwUVI5MUN3c0xJUkFnQ0NRR0lCQUxyUXdEQzM4Q2ZRRjhJd1loQmlNR1FUQnFKQVlnQmtFUWFpRUhJQVpCQ0dvaEJTQUdRU3hxSVFnZ0JrRW9haUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUFvQWd3aEJDQUFLQUlRSVFJQ2Z5QUFLQUlVSWdOQkFVWWlDZ1IvSUFFaENFRUFCU0FCSUFRZ0FpQURJQWdnQ1JDVkNTSUlCSDlCQVFWQmZ3d0RDd3NoRENBQUtBSUFJQWdnQkNBQ0VJUUlJQUFnQUNnQ0FCQzVBaUlCS0FJRUlBRW9BZ0JySWdGQkZCQTVJZ1EyQWpBZ0FRUkFBa0FnQUNBQUtBSXNJZ0VFZnlBQkVEZ2dBQ2dDTUFVZ0JBdEJBM1FRUkNJQk5nSXNJQUZGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQUtBSUFFTGtDSVFRQ1FDQUtCRUFnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEU0FPSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTA0QWdBZ0FrRURkQ0FEYWlBT09BSUVDeUFDUVFGcUlRSU1BQUFMQUFVQ1FBSkFBa0FDUUNBRFFRSnJEZ1FCQXdJQUF3c2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQlNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBTUEvbENBT1F3QUF3RCtVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFEQVA1UTRBZ0FnQWtFRGRDQURhaUFPUXdBQXdEK1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQkNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBQUJBbENBT1F3QUFBRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFBQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQUFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQXlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBRUJBbENBT1F3QUFRRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFCQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQVFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBSUJBbENBT1F3QUFnRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFDQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQWdFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc0FDeUFBUVRScUlRUkJBQ0VEQTBBZ0F5QUFLQUk0SWdKT0JFQWdCQ0VBSUFJaEFRd0NDeUFFS0FJQUlnSWdBMEhFQUd4cUlBQW9BaVFnQTBFTWJHb29BZ2cyQWpBZ0EwSEVBR3dnQW1wQmZ6WUNQQ0FEUWNRQWJDQUNha0ZBYXlnQ0FFVUVRQ0FBS0FJQUtBSUFLQUlBUVF4cUlRSWdBQ2dDQUNnQ0FDZ0NBQ2dDR0NJSlFRQk9CRUFnQVNnQ0FDQUNJQUFvQWdBZ0NSRElCeUFBS0FJQUVMa0NJQVFvQWdBaUJTQURRY1FBYkdvZ0EwSEVBR3dnQldwQk5Hb1FsZ2xGQkVBZ0JDZ0NBQ0lGSUFOQnhBQnNha0VBTmdJOElBTkJ4QUJzSUFWcUlBSW9BZ1FnQWlnQ0FHdEJBM1VpQWpZQ09DQURRY1FBYkNBRmFpQUFRVHhxSUFsQkFuUnFLQUlBTmdJd0lBTkJ4QUJzSUFWcUtnSTB1eUVQSUFjZ0F6WUNBQ0FISUFJMkFnUWdCeUFDTmdJSUlBY2dEemtERUVFQVFRRkI1N3NCSUFjUVBRc0xDeUFEUVFGcUlRTU1BQUFMQUFzRklBQW9BamdoQVNBQUlnUkJOR29oQUVFQUlRSURRQ0FDSUFGSUJFQWdCQ2dDTkNBQ1FjUUFiR3BCZnpZQ1BDQUNRUUZxSVFJTUFRc0xDMEVBSVFJRFFDQUNJQUZJQkVBZ0FDZ0NBQ0FDUWNRQWJHcEJRR3RCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXdMQkVBZ0NCQTRDMEVBQ3dWQkFFRURRYnU3QVNBR0VEMUJBQXNhSUFZa0Jnc0dBQ0FBSkFZTFB3RUNmeUFBS0FJRUlRSWdBQ2dDQ0NFQkEwQWdBU0FDUndSQUlBQWdBVUYwYWlJQk5nSUlEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM1Y0JBUVIvSUFGQkJHb2lBeWdDQUNFQ0lBTWdBQ2dDQkNBQUtBSUFJZ1JySWdWQmRCQTVRUXhzSUFKcUlnSTJBZ0FnQlVFQVNnUkFJQUlnQkNBRkVFd2FJQU1vQWdBaEFnc2dBQ2dDQUNFRUlBQWdBallDQUNBRElBUTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQURLQUlBTmdJQUM1UUJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd2NnQUNnQ0JDQUFLQUlBYTBFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpZ0NDQ0FCTEFBQU9nQUFJQUlnQWlnQ0NFRUJhallDQ0NBQUlBSVExd0lnQWhEV0FpQUNKQVlMQzZ3QkFRVi9Jd1loQWlNR1FTQnFKQVpCMWFyVnFnRWdBQ2dDQkNBQUtBSUFhMEVNRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFRd1FPU0lGUVFGMElnWWdCaUFEU1J0QjFhclZxZ0VnQlVHcTFhclZBRWtiSUFBb0FnUWdCR3RCREJBNUlBQkJDR29RMVFJZ0FpZ0NDQ0lESUFFcEFnQTNBZ0FnQXlBQktBSUlOZ0lJSUFJZ0FpZ0NDRUVNYWpZQ0NDQUFJQUlRbWdrZ0FoQ1pDU0FDSkFZTEM3VUJBUVYvSXdZaEFpTUdRU0JxSkFaQnpKbXo1Z0FnQUNnQ0JDQUFLQUlBYTBFVUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUlFRT1NJRlFRRjBJZ1lnQmlBRFNSdEJ6Sm16NWdBZ0JVSG16Smt6U1JzZ0FDZ0NCQ0FFYTBFVUVEa2dBRUVJYWhENkF5QUNLQUlJSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBSWdBaWdDQ0VFVWFqWUNDQ0FBSUFJUStRTWdBaEQ0QXlBQ0pBWUxDNGNNQWc5L0FuMGpCaUVISXdaQjhBQnFKQVlnQjBFd2FpRVBJQWRCS0dvaERTQUhRU0JxSVE0Z0IwRVlhaUVNSUFkQkVHb2hCQ0FIUVFocUlRTWdCMEhnQUdvaENDQUhRZFFBYWlFS0lBZEJ5QUJxSVFzZ0IwRTBhaUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUVvQWdRaUFrVUVRRUVBUVFOQmo3c0JJQU1RUFVGL0RBRUxBa0FDUUNBQUtBSWNJZ05GRFFBZ0F4QTRJQUVvQWdRaUFnMEFJQUJCQURZQ0hFRUFJUUlNQVFzZ0FDQUNRWVFCYkJCRUlnTTJBaHdnQTBVRVFFRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQWhCQU5BSUFRZ0FrZ0VRQ0FBS0FJY0lBUkJoQUZzYWlBQktBSUFJQVJCaEFGc2FrR0VBUkJNR2lBRVFRRnFJUVFnQVNnQ0JDRUNEQUVMQ3dzZ0FDQUNOZ0lnSUFBb0FpUWlBZ1JBUVFBaEF3TkFJQU1nQUNnQ0tFZ0VRQ0FEUVF4c0lBSnFLQUlBSWdRRVFDQUVFRGdnQUNnQ0pDRUNDeUFEUVFGcUlRTU1BUXNMSUFJUU9Bc2dBU2dDRENJQ0JFQUNRQ0FBSUFKQkRHd1FSQ0lFTmdJa0lBUkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDd05BQWtBZ0JTQUNUZ1JBSUFJaEJnd0RDeUFBS0FJa0lnTWdCVUVNYkdvZ0FTZ0NDQ0lFSUFWQkRHeHFLQUlJTmdJSUlBVkJER3dnQTJvZ0JVRU1iQ0FFYWlJTUtBSUVOZ0lFSUF3b0FnUWlEQVJBSUFWQkRHd2dBMm9nREVFTWJCQkVJZ0kyQWdBZ0FrVU5BVUVBSVFNZ0JDRUNBMEFnQXlBRlFReHNJQUpxS0FJRVNBUkFJQUFvQWlRZ0JVRU1iR29vQWdBZ0EwRU1iR29pQkNBRlFReHNJQUpxS0FJQUlBTkJER3hxSWdJcEFnQTNBZ0FnQkNBQ0tBSUlOZ0lJSUFOQkFXb2hBeUFCS0FJSUlRSU1BUXNMSUFFb0Fnd2hBZ1VnQlVFTWJDQUVha0VBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc0ZJQUJCQURZQ0pBc2dBQ0FHTmdJb0lBQW9BalFpQWdSQUlBSVFPQ0FBUVFBMkFqUWdBRUVBTmdJNEN5QUJLQUlNSWdGQkFFb0VRQUpBSUFBZ0FUWUNPQ0FBSUFGQnhBQnNFRVFpQWpZQ05DQUNSUVJBUVFCQkEwRzUyQUlnRFJBOVFRRVFBUXRCQUNFR0EwQWdBU0FHUmcwQklBWkJ4QUJzSUFKcVFVQnJRUUEyQWdBZ0JrRUJhaUVHREFBQUN3QUxDeUFBS0FJZ0lnMEVmMEVBSVFaQkFDRUJBMEJCQUNBR0lBQW9BaWhPRFFJYVFRQWhCQU5BSUFRZ0FDZ0NKQ0FHUVF4c2FpZ0NCRWdFUUNBSVFRQTJBZ0FnQ0VFQU5nSUVJQWhCQURZQ0NDQUtRUUEyQWdBZ0NrRUFOZ0lFSUFwQkFEWUNDQ0FMUVFBMkFnQWdDMEVBTmdJRUlBdEJBRFlDQ0VFQUlRSURRQ0FDSUExSUJFQWdBQ2dDSENJRElBSkJoQUZzYWlnQ2dBRWdBQ2dDSkNJRklBWkJER3hxS0FJQUlBUkJER3hxS0FJSVJnUkFJQUpCaEFGc0lBTnFLQUo4SUFaQkRHd2dCV29vQWdoR0JFQUNRQ0FKSUFKQmhBRnNJQU5xS2dJQUlBSkJoQUZzSUFOcUtnSUVJQUpCaEFGc0lBTnFLZ0p3SUFKQmhBRnNJQU5xS2dKMElBSkJoQUZzSUFOcUtBSjRRUUJIRVB3RElBZ29BZ1FpQXlBSUtBSUlTUVJBSUFNZ0NTa0NBRGNDQUNBRElBa3BBZ2czQWdnZ0F5QUpLQUlRTmdJUUlBZ2dBMEVVYWpZQ0JBVWdDQ0FKRUowSkN5QUFLQUljSWdNZ0FrR0VBV3hxS2dJSUlSRWdBa0dFQVd3Z0Eyb3FBZ3doRWlBSklCRTRBZ0FnQ1NBU09BSUVJQWxEQUFBQUFEZ0NDQ0FLS0FJRUlnTWdDaWdDQ0VrRVFDQURJQWtwQWdBM0FnQWdBeUFKS0FJSU5nSUlJQW9nQ2lnQ0JFRU1hallDQkFVZ0NpQUpFSndKQzBFQUlRTURRQ0FEUWVBQVR3MEJJQU1nQUNnQ0hDQUNRWVFCYkdwQkVHcHFJUVVnQ3lnQ0JDSU9JQXNvQWdoR0JFQWdDeUFGRUpzSkJTQU9JQVVzQUFBNkFBQWdDeUFMS0FJRVFRRnFOZ0lFQ3lBRFFRRnFJUU1NQUFBTEFBc0xDeUFDUVFGcUlRSU1BUXNMSUE4Z0NDZ0NCQ0FJS0FJQWEwRVVFRGsyQWdCQkFFRUJRYkM3QVNBUEVEMGdBRUU4YWlBQlFRSjBhaUFBS0FJa0lnSWdCa0VNYkdvb0FnZzJBZ0FnQUNnQ0FDQUlJQXNnQ2lBR1FReHNJQUpxS0FJQUlnSWdCRUVNYkdvb0FnQWdCRUVNYkNBQ2FpZ0NCQ0FCRUpJSUlBc1FWU0FLRUZVZ0NCRFpBaUFFUVFGcUlRUWdBVUVCYWlFQkRBRUxDeUFHUVFGcUlRWU1BQUFMQUFWQkFBc0xCVUVBUVFOQjM3b0JJQWNRUFVGL0N5RVFJQWNrQmlBUUMvVUJBUVovSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVHSUFNZ0FCQ1lBaUFETEFBQUJFQWdBeUFBSUFBb0FnQkJkR29pQkNnQ0FHb29BaGcyQWdnZ0FDQUVLQUlBYWlJRUtBSUVJUWRCZnlBRUtBSk1FRUVFUUNBR0lBUVFPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hDQ0FGUVNBZ0NFRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZRUmgwUVJoMUlnVTJBa3dGSUFRb0Frd2hCUXNnQmlBREtBSUlOZ0lBSUFZZ0FTQUJJQUpxSWdJZ0FTQUhRYkFCY1VFZ1Joc2dBaUFFSUFWQi93RnhFSmNCUlFSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQVNBQktBSVFRUVZ5RU80QkN3c2dBeENYQWlBREpBWWdBQXU3QVFFRmZ5TUdJUVlqQmtFUWFpUUdJQUFFUUFKQUlBQW9BZ1FoQXdOQUlBSWdBMGdFUUNBQUtBSUFJQUpCaEFGc2FpSUVLQUo4SWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQW53TElBSkJBV29oQWd3QkN3c2dBQ2dDRENFRFFRQWhBZ05BSUFJZ0EwNEVRRUVBSVFBTUFnc2dBQ2dDQ0NBQ1FReHNhaUlFS0FJSUlnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFnZ0xJQUpCQVdvaEFnd0FBQXNBQ3dWQkFFRURRYTY2QVNBR0VEMUJmeUVBQ3lBR0pBWWdBQXY3QlFFS2Z5TUdJUVVqQmtGQWF5UUdJQVZCT0dvaENDQUZRVEJxSVFrZ0JVRW9haUVHSUFWQklHb2hCeUFGUVJocUlRb2dCVUVJYWlFQ0lBVkJQR29pQTBHSXVRRXVBQUE3QUFBZ0EwR0t1UUVzQUFBNkFBSWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FDQURFSTRKSWdSRkJFQWdBaUFBTmdJQUlBSkJ4UDRDTmdJRUlBSkJnTkVDTmdJSVFRQkJBMEcrdVFFZ0FoQTlRWDhNQVF0QkFVRVFFSTBDSWdKRkJFQkJBRUVEUWJuWUFpQUtFRDFCQVJBQkN5QUNRUVJxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlFSWdCQkFVNEVRQUpBSUFJZ0FFR0VBV3dRUkNJRE5nSUFJQU5GQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQzBFQUlRTURRQ0FESUFCSUJFQWdBaWdDQUNBRFFZUUJiR3BCQ0VFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRUWhxUVFoQkFTQUVFR0ZCQVVjTkFpQUNLQUlBSUFOQmhBRnNha0VRYWtIc0FFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUWZ3QWFrRUVRUUVnQkJCaFFRRkhEUUlnQWlnQ0FDQURRWVFCYkdwQmdBRnFRUVJCQVNBRUVHRkJBVWNOQWlBRFFRRnFJUU1nQWlnQ0JDRUFEQUVMQ3lBQ1FReHFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSU1JZ0JCQVVnRVFDQUNRUUEyQWdnTUFnc2dBaUFBUVF4c0VFUWlBellDQ0NBRFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VEQWtBQ1FBTkFBa0FnQXlBQVRnMENJQUlvQWdnZ0EwRU1iR3BCQ0dwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnZ0EwRU1iR3BCQkdwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnaUJ5QURRUXhzYWlnQ0JDSUdRUXhzRUVRaEFDQURRUXhzSUFkcUlBQTJBZ0FnQUVVTkFDQUFRUXdnQmlBRUVHRWdCa2NOQlNBRFFRRnFJUU1nQWlnQ0RDRUFEQUVMQzBFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVNQVFzZ0FTQUNOZ0lBSUFRUWFrRUFEQVVMQ3dzTEMwRUFRUU5CZ2JvQklBZ1FQU0FDS0FJSUlnQUVRQ0FBRURnTElBSW9BZ0FpQUFSQUlBQVFPQXNnQWhBNElBUVFha0YvQ3dWQkFFRURRWXU1QVNBRkVEMUJmd3NoQ3lBRkpBWWdDd3ZYQWdFRWZ5TUdJUUlqQmtFUWFpUUdRYUNIcndNUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQWtFSWFpRURJQUZCQURZQ0FDQUJRZVNHcHdKcVFRQTJBZ0FnQVVHSWg2OERha0VBTmdJQUlBRkJmellDQkNBQlFRQTJBZ2dnQVVFQk5nSU1JQUZCNUFBMkFoQWdBVUVBTmdJVUlBRkJBRFlDR0NBQlFRSTJBaHdnQVVHUWg2OERha1FBQUFBQUFBRGdQemtEQUNBQlFaaUhyd05xUVFNMkFnQWdBU0FBTmdJZ0lBRWdBQ2dDQUNJRU5nSWtJQUVnQUNnQ0JDSUFOZ0lvSUFGQkFEWUNMQ0FCUWJENEFHcEJBRFlDQUNBQlFlaUdwd0pxUVFBMkFnQWdBVUg0aXFZQ2FrRUFOZ0lBSUFGQjRJYW5BbW9nQUNBRVFRRjBiQkJFSWdBMkFnQWdBQVJBSUFGQjhJYXZBMnBCQURZQ0FDQUJRUUFRL1FNZ0FVSDBocThEYWtGL05nSUFJQUZCQUJEN0F4b2dBUkNRQ1NBQ0pBWWdBUThGUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXRCQUF2c0NnRVFmeU1HSVEwakJrRXdhaVFHSUExQktHb2hFQ0FOUVNCcUlROGdEVUVZYWlFSklBMUJFR29oQmlBTlFRaHFJUWNnQUVFQVJ5QUJRUUJIY1FSL0lBQW9BZ0FpQWdSQUlBSWlCQ0VEQlNBQVFSQVFSQ0lDTmdJQUlBSUVRQ0FDUVFBMkFnUWdBa0VBTmdJQUlBSkJBRFlDRENBQ1FRQTJBZ2dnQWlJRUlRTUZRUUJCQTBHNTJBSWdCeEE5UVFFUUFRc0xJQUVvQWdBaURBUkFJQVFvQWdRaUJTQU1LQUlFSWdkcUlnSkJoQUZzRUVRaUMwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxRUUFoQmdOQUlBWWdCVWdFUUNBR1FZUUJiQ0FMYWlBRUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTFFRQWhCZ05BSUFZZ0IwZ0VRQ0FGSUFacVFZUUJiQ0FMYWlBTUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTElBUW9BZ0FpQkFSQUlBUVFPQ0FBS0FJQUlRTUxJQU1nQ3pZQ0FDQUFLQUlBSWdjZ0FqWUNCQ0FIS0FJTUlRc2dBU2dDQUNJREtBSU1JUXhCQUNFRVFRQWhCZ05BSUFZZ0RFZ0VRRUVBSVFJQ1FBSkFBMEFnQWlBTFNBUkFJQU1vQWdnZ0JrRU1iR29vQWdnZ0J5Z0NDQ0FDUVF4c2FpZ0NDRVlOQWlBQ1FRRnFJUUlNQVFzTERBRUxJQVJCQVdvaEJBc2dCa0VCYWlFR0RBRUxDeUFMSUF4cUlBUnJJZ1pCREd3UVJDSU9SUVJBUVFCQkEwRzUyQUlnQ1JBOVFRRVFBUXNDUUFKQUEwQWdDaUFMU0FSQUlBcEJER3dnRG1vZ0FDZ0NBQ0lIS0FJSUlnUWdDa0VNYkdvaUFpZ0NDRFlDQ0NBS1FReHNJQVJxS0FJRUlRUkJBQ0VKQTBBZ0NTQU1TQVJBSUFFb0FnQW9BZ2dpQXlBSlFReHNhaWdDQ0NBQ0tBSUlSZ1JBSUFRZ0NVRU1iQ0FEYWlnQ0JHb2hCQXNnQ1VFQmFpRUpEQUVMQ3lBS1FReHNJQTVxSWdrZ0JFRU1iQkJFSWdNMkFnQWdBMFVOQWlBSEtBSUlJQXBCREd4cUtBSUVJUWRCQUNFRkEwQWdCU0FIU0FSQUlBa29BZ0FnQlVFTWJHb2lBaUFBS0FJQUtBSUlJQXBCREd4cUtBSUFJQVZCREd4cUlnTXBBZ0EzQWdBZ0FpQURLQUlJTmdJSUlBVkJBV29oQlF3QkN3dEJBQ0VJQWtBQ1FBTkFJQWdnREVnRVFDQUJLQUlBS0FJSUlnTWdDRUVNYkdvb0FnZ2dBQ2dDQUNnQ0NDQUtRUXhzYWlnQ0NFWU5BaUFJUVFGcUlRZ01BUXNMREFFTFFRQWhCUU5BSUFVZ0NFRU1iQ0FEYWlnQ0JFNE5BU0FKS0FJQUlBVWdCMnBCREd4cUlnSWdDRUVNYkNBRGFpZ0NBQ0FGUVF4c2FpSURLUUlBTndJQUlBSWdBeWdDQ0RZQ0NDQUZRUUZxSVFVZ0FTZ0NBQ2dDQ0NFRERBQUFDd0FMSUFwQkRHd2dEbW9nQkRZQ0JDQUtRUUZxSVFvTUFRc0xEQUVMUVFCQkEwRzUyQUlnRHhBOVFRRVFBUXRCQUNFRVFRQWhDQUpBQWtBRFFDQUlJQXhJQkVBZ0FTZ0NBQ2dDQ0NJSElBaEJER3hxS0FJSUlRVkJBQ0VDQWtBQ1FBTkFJQUlnQzA0TkFTQUNRUUZxSVFNZ0FDZ0NBQ2dDQ0NBQ1FReHNhaWdDQ0NBRlJ3UkFJQU1oQWd3QkN3c2dCRUVCYWlFRURBRUxJQWdnQzJvZ0JHc2lEMEVNYkNBT2FpRUpJQTlCREd3Z0Rtb2dCVFlDQ0NBSklBaEJER3dnQjJvb0FnUWlCMEVNYkJCRUlnTTJBZ0FnQTBVTkEwRUFJUVVEUUNBRklBZElCRUFnQ1NnQ0FDQUZRUXhzYWlJQ0lBRW9BZ0FvQWdnZ0NFRU1iR29vQWdBZ0JVRU1iR29pQXlrQ0FEY0NBQ0FDSUFNb0FnZzJBZ2dnQlVFQmFpRUZEQUVMQ3lBUFFReHNJQTVxSUFjMkFnUUxJQWhCQVdvaENBd0JDd3NNQVF0QkFFRURRYm5ZQWlBUUVEMUJBUkFCQ3lBQUtBSUFJZ0pCQ0dvaUF5Z0NBQ0lFQkVCQkFDRURBMEFnQXlBQ0tBSU1TQVJBSUFOQkRHd2dCR29vQWdBUU9DQURRUUZxSVFNZ0FDZ0NBQ0lFSVFJZ0JDZ0NDQ0VFREFFTEN5QUVFRGdnQUNnQ0FFRUlhaUVEQ3lBRElBNDJBZ0FnQUNnQ0FDQUdOZ0lNSUFFUS93TUxRUUFGUVFCQkEwR2d1QUVnRFJBOVFYOExJUkVnRFNRR0lCRUxvd0VCQW44Z0FDZ0NBQ0lCQkg4Z0FTZ0NBQ0lDQkVBZ0FpZ0NBQ0VCSUFKQkFEWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTElBSVFPQ0FBS0FJQUlRRUxJQUVvQWh3aUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FpUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BalFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWl3aUFnUi9JQUlRT0NBQUtBSUFCU0FCQ3hBNElBQkJBRFlDQUVFQUJVRi9DeG9MakFFQkEzOGpCaUVFSXdaQkVHb2tCa0VCUWJ3Z0VJMENJZ01FUUVFRUVGRWlCUkM3Q0NBRElBVTJBZ0FnQXlBQU5nSUVJQU5CQVRZQ0NDQURJQUUyQWd3Z0F5QUNOZ0lRSUFOQkFUWUNGQ0FEUVg4MkFoZ2dBMElBTndJY0lBTkNBRGNDSkNBRFFnQTNBaXdnQTBJQU53STBJQVFrQmlBRER3VkJBRUVEUWJuWUFpQUVFRDFCQVJBQkMwRUFDOGNCQWdKL0IzMENmeU1HSVFZakJrRkFheVFHSUFBcUFnd2dBQ29DTENJTUlBR1VreUVKSUFBcUFpUWlCeUFDbENBQUtnSVVreUVLSUFBcUFpQWlDQ0FDbENBQUtnSVFreUVMSUFjZ0FaUWdBQ29DQkpNaEJ5QUlJQUdVSUFBcUFnQ1RJUWdnQUNvQ0hDRU5JQXdnQXBRaEFRSkFEQUFMSUEwZ0FaTWhBU0FJSUFxVUlBY2dDNVNUSWdKREFBQUFBRnNFZjBGL0JTQURJQW9nQ1pRZ0J5QUJsSk1nQXBVNEFnQWdCQ0FJSUFHVUlBc2dDWlNUSUFLVk9BSUFRUUFMSVFBZ0Jnc2tCaUFBQ3ljQkFYOGdBQ2dDQUNJQkJIOGdBUkRpQWlBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEdndlZCZ0lQZndGOUl3WWhDU01HUWRBQWFpUUdJQWxCUEdvaENDQUpRVGhxSVFZZ0NVRTBhaUVPSUFsQk1Hb2hEeUFKUVVCcklSQUNmd0pBSUFBRWZ5QUFRUWhxSUFFZ0NSRDZBU0FJSUFNb0FnQWlCeUFFUVJSc2FpZ0NDQ0lCTmdJQUlBWWdCRUVVYkNBSGFpb0NEQ0lWT0FJQVFRQWdDU0FCdmlBVklBZ2dCaERsQVVFQVNBUi9RWDhGSUFCQnVBRnFJaEVnQ0NvQ0FDQUdLZ0lBSUE0Z0R4QnRRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVFnZ0R5b0NBRU1BQUFBL2toQkRJUkpCQUNFRVFRQWdCU2dDRUNJQWF5RUtJQklnQUVFQmRHc2hDMEVBSVFGQkFDRUFJQVVvQWhnaEJ3TkFJQW9nQlNnQ0ZFb0VRQ0FFSVFjTUJRVWdDN0loRlVFQUlBVW9BZ2dpQm1zaERDQUlJQVpCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnRVNBTnNpQVZJQTRnRHhDbUFVRUFTQVJBSUFkQmdDQTdBUUFGSUFrZ0FpZ0NBQ0FES0FJSVFRSjBhaWdDQUNBT0tnSUFJQThxQWdBZ0VCQ0JCRUVBU0FSQUlBZEJnQ0E3QVFBRklBY2dFQzBBQUNJR093RUFJQVJCQVdvaEJDQUJJQVpCL3dGeElnWWdCbXhxSVFFZ0FDQUdhaUVBQ3dzZ0RFRUJhaUVNSUExQkFtb2hEU0FIUVFKcUlRY01BUXNMSUFwQkFXb2hDaUFMUVFKcUlRc01BUXNBQUFzQUN3c0ZJQWdnQXlnQ0FDSUhJQVJCRkd4cUtBSUlJZ0EyQWdBZ0JpQUVRUlJzSUFkcUtnSU1JaFU0QWdCQkFDQUJJQUMrSUJVZ0RpQVBFT1VCUVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElSRWdEeW9DQUVNQUFBQS9raEJESVJOQkFDQUZLQUlRSWdCcklRb2dFeUFBUVFGMGF5RUxRUUFoQjBFQUlRUkJBQ0VBSUFVb0FoZ2hCZ05BSUFvZ0JTZ0NGRW9FUUNBRUlRRU1CQVVnQzdJaEZVRUFJQVVvQWdnaUNHc2hEQ0FSSUFoQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0FTQUNLQUlBSUFNb0FnaEJBblJxS0FJQUlBMnlJQlVnRUJDQkJFRUFTQVJBSUFaQmdDQTdBUUFGSUFZZ0VDMEFBQ0lJT3dFQUlBZEJBV29oQnlBRUlBaEIvd0Z4SWdnZ0NHeHFJUVFnQUNBSWFpRUFDeUFNUVFGcUlRd2dEVUVDYWlFTklBWkJBbW9oQmd3QkN3c2dDa0VCYWlFS0lBdEJBbW9oQ3d3QkN3QUFDd0FMQ3d3QkN5QUhCSDhnQlNBQklBQWdBR3dnQnhBNWE3S1JFRU0yQWh3Z0JTQUFOZ0lnSUFVZ0J6WUNKRUVBQlVGL0N3c2hGQ0FKSkFZZ0ZBdVNBUUVEZnlNR0lRTWpCa0VRYWlRR1FTZ1FSQ0lDUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0EwRUlhaUVFSUFJZ0FEWUNFQ0FDSUFBMkFnZ2dBaUFCTmdJVUlBSWdBVFlDRENBQ0lBRWdBRUVCYW1vaUFEWUNBQ0FDSUFBMkFnUWdBaUFBUVFGMElBQnNFRVFpQURZQ0dDQUFCRUFnQXlRR0lBSVBCVUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFMNXdJQkJYOGdCQ2dDQkNFTklBRkJBWFFoQ3lBRUtBSUFJUTRnQkNnQ0dDRUtJQUFnQWlBQklBTnNhbW9oQWtFQUlRQURRQ0FNSUExSUJFQkJBQ0VESUFJaEFRTkFJQU1nRGtnRVFDQUFJQUV0QUFBZ0NpOEJBR3hxSVFBZ0EwRUJhaUVESUFwQkFtb2hDaUFCUVFKcUlRRU1BUXNMSUF4QkFXb2hEQ0FDSUF0cUlRSU1BUXNMSUE1QkFYUWlBMEVJYWlJQ0lBaEJmbW9pQVNBTlFRRjBhbXdoQ3lBRElBZEJmbW9pQ21vaUNDQUxhaUlIUVFKMElBVnFLQUlBSUFvZ0FTQUNiQ0lCYWlJRFFRSjBJQVZxS0FJQWFpQUtJQXRxSWdKQkFuUWdCV29vQWdCcklBRWdDR29pQVVFQ2RDQUZhaWdDQUdzaEJTQUpJQWRCQW5RZ0Jtb29BZ0FnQTBFQ2RDQUdhaWdDQUdvZ0FrRUNkQ0FHYWlnQ0FHc2dBVUVDZENBR2FpZ0NBR3NnQlNBRmJDQUVLQUlrSWdJUU9Xc2lBUVIvSUFBZ0JTQUVLQUlnYkNBQ0VEbHJRZVFBYkNBRUtBSWNFRGxCNUFCc0lBR3lrUkJERURrRlFRQUxOZ0lBQzdFQ0FRSi9JQU1vQWdBaUJ3UkFBa0FEUUFKQUlBZ2dCMDROQUNBSVFRSjBJQVpxS0FJQUlBSklEUUFnQ0VFQmFpRUlEQUVMQ3lBSElBaEdCRUFnQjBFRFR3MEJJQWRCQW5RZ0JHb2dBRFlDQUNBSFFRSjBJQVZxSUFFMkFnQWdCMEVDZENBR2FpQUNOZ0lBSUFNZ0F5Z0NBRUVCYWpZQ0FBd0JDeUFIUVFOR0JIOUJBZ1VnQXlBSFFRRnFOZ0lBSUFjTElRTURRQ0FESUFoS0JFQWdBMEVDZENBRWFpQURRWDlxSWdkQkFuUWdCR29vQWdBMkFnQWdBMEVDZENBRmFpQUhRUUowSUFWcUtBSUFOZ0lBSUFOQkFuUWdCbW9nQjBFQ2RDQUdhaWdDQURZQ0FDQUhJUU1NQVFzTElBTkJBblFnQkdvZ0FEWUNBQ0FEUVFKMElBVnFJQUUyQWdBZ0EwRUNkQ0FHYWlBQ05nSUFDd1VnQkNBQU5nSUFJQVVnQVRZQ0FDQUdJQUkyQWdBZ0EwRUJOZ0lBQ3d1b0RRRWNmeU1HSVF3akJrSFFBR29rQmlBTVFRaHFJUk1nRENJZVFjZ0FhaUViSUF4QlBHb2hIQ0FNUVRCcUlSMGdERUVrYWlFVUlBeEJJR29oRnlBTVFSaHFJUjhnREVFUWFpRWdJQVVvQWhBaEppQUZLQUlVSVNVZ0FrRi9haUVXSUFOQmYyb2hHQU5BQWtBZ0VVRURUdzBBSUJGQkEzUWdDR29vQWdBaURFRUFTQTBBSUF4QmZIRkJBbklpRENBR2F5SU5RUUFnRFVFQVNoc2hEU0FHSUF4cUlnd2dGaUFNSUFKSUd5RVpJQkZCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc0Z0Iyc2hEQ0FISUE1cUlnNGdHQ0FPSUFOSUd5RVZJQXhCQUNBTVFRQktHeUVPQTBBZ0RpQVZUQVJBSUFFZ0RTSU1JQUlnRG14cWFpRVBBMEFnRENBWlRBUkFJQTlCQURvQUFDQU1RUUZxSVF3Z0QwRUJhaUVQREFFTEN5QU9RUUZxSVE0TUFRc0xJQkZCQVdvaEVRd0JDd3NnRzBFQU5nSUFJQ1ZCQVhRaEVDQW1RUUYwSVJKQkFTRU1RUUFoRHdKQUFrQURRQUpBSUE5QkEwOE5BaUFQUVFOMElBaHFLQUlBSWcxQkFFZ05BQ0FISUE5QkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNXFJUllnRFVGOGNVRUNjaUlOSUFacklSRWdCaUFOYWlFWUlBNGdCMnNoRGdOQUFrQWdEaUFXU2cwQUlBNGdFazRFUUFKQUlBNGdFR29nQTA0TkFpQUNJQTVzSVJrZ0VTRU5BMEFnRFNBWVNnMEJJQTBnQlNnQ0NFRUJkRTRFUUNBTklBVW9BZ3hCQVhScUlBSk9EUUlnQVNBTklCbHFhaUlWTEFBQVJRUkFJQlZCQVRvQUFDQUFJQUlnQkNBRklBMGdEaUFYRUlNRUlBMGdEaUFYS0FJQUlCc2dIQ0FkSUJRUXF3bEJBQ0VNQ3dzZ0RVRUVhaUVOREFBQUN3QUxDeUFPUVFScUlRNE1BUXNMSUE5QkFXb2hEd3dCQ3dzZ0RFVU5BRUYvSVFZTUFRc2dCU2dDQUVFRGRFRWdhaUFGS0FJRVFRRjBRUWhxYkNJQkVFUWlFVVVFUUVFQVFRTkJ1ZGdDSUI0UVBVRUJFQUVMSUFFUVJDSU9SUVJBUVFCQkEwRzUyQUlnRXhBOVFRRVFBUXRCQUNFQlFRQWhFa0YvSVFZRFFDQVNJQnNvQWdCSUJFQUNRQUpBSUFVb0FpUWdCU2dDQUNJTklBVW9BZ1FpQjJ4SERRQUNRQ0FFUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnRWtFQ2RDQWRhaUloS0FJQUlnaEJmV29nQlNnQ0VFRUJkR3NpR0VFQVNBMEFJQWhCQTJvZ0JTZ0NGRUVCZEdvZ0EwNE5BQ0FTUVFKMElCeHFJaUlvQWdBaUNFRjlhaUFGS0FJSVFRRjBheUlaUVFCSURRQWdDRUVEYWlBRktBSU1RUUYwYWlBQ1RnMEFJQWRCQVhSQkJtb2hJeUFOUVFKMFFSQnFJUThnRGlFSElCRWhDRUVBSVF3RFFDQU1JQTlJQkVBZ0NFRUFOZ0lBSUFkQkFEWUNBQ0FIUVFScUlRY2dDRUVFYWlFSUlBeEJBV29oREF3QkN3c2dEVUVCZEVFR2FpRWtJQUFnR1NBQ0lCaHNhbW9oRXlBT0lRd2dFU0VOUVFBaEZnTkFJQllnSTBnRVFDQUlRUWhxSVNjZ0J5RVBRUUFoRUFOQUlCQkJBa2NFUUNBSVFRQTJBZ0FnRDBFQU5nSUFJQkJCQW5RZ0gycEJBRFlDQUNBUVFRSjBJQ0JxUVFBMkFnQWdEMEVFYWlFUElBaEJCR29oQ0NBUVFRRnFJUkFNQVFzTElCTWhEeUFNUVFocUlRd2dEVUVJYWlFTklBZEJDR29oQnlBbklRaEJBQ0VVQTBBZ0ZDQWtTQVJBSUE4dEFBQWdGRUVCY1NJVlFRSjBJQjlxSWhvb0FnQnFJUkFnR2lBUU5nSUFJQTh0QUFBaUdpQWFiQ0FWUVFKMElDQnFJaG9vQWdCcUlSVWdHaUFWTmdJQUlBZ2dFQ0FOS0FJQWFqWUNBQ0FISUJVZ0RDZ0NBR28yQWdBZ0QwRUJhaUVQSUF4QkJHb2hEQ0FOUVFScUlRMGdCMEVFYWlFSElBaEJCR29oQ0NBVVFRRnFJUlFNQVFzTElBSWdFMm9oRXlBV1FRRnFJUllNQVFzTFFRQWhDQU5BSUFoQkIwY0VRQ0FJSUJocUlRMGdDRUVDYWlFUElBaEJmV29oRTBFQUlRd0RRQ0FNUVFkSEJFQWdBQ0FDSUF3Z0dXb2dEU0FGSUJFZ0RpQU1RUUpxSUE4Z0Z4Q3FDU0FYS0FJQUlnY2dBVW9FUUNBSklDSW9BZ0FnREVGOWFtbzJBZ0FnQ2lBVElDRW9BZ0JxTmdJQUlBc2dCN0pEQUVBY1JwVTRBZ0JCQUNFR0lBY2hBUXNnREVFQmFpRU1EQUVMQ3lBSVFRRnFJUWdNQVFzTERBRUxJQkpCQW5RZ0hXb29BZ0FpQjBFRGFpRU5JQkpCQW5RZ0hHb2hEeUFIUVgxcUlRZ0RRQ0FJSUExS0RRRWdDQ0FGS0FJUVFRRjBUZ1JBQWtBZ0NDQUZLQUlVUVFGMGFpQURUZzBESUE4b0FnQWlCMEVEYWlFVElBZEJmV29oREFOQUlBd2dFMG9OQVNBTUlBVW9BZ2hCQVhST0JFQWdEQ0FGS0FJTVFRRjBhaUFDVGcwQ0lBQWdBaUFFSUFVZ0RDQUlJQmNRZ3dRZ0Z5Z0NBQ0lISUFGS0JFQWdDU0FNTmdJQUlBb2dDRFlDQUNBTElBZXlRd0JBSEVhVk9BSUFJQWNoQVVFQUlRWUxDeUFNUVFGcUlRd01BQUFMQUFzTElBaEJBV29oQ0F3QUFBc0FDeUFTUVFGcUlSSU1BUXNMSUJFUU9DQU9FRGdMSUI0a0JpQUdDM0FCQW44Z0FBUi9JQUJCQVRZQ21BRURRQ0FEUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFCQkNHb2dBMEVFZEdvZ0FrRUNkR29nQTBFRWRDQUJhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dBRUYvTmdLb0FVRUFCVUYvQ3hvTHlnc0JHMzhqQmlFQkl3WkI0QWxxSkFZZ0FVSFFDV29oRkNBQlFjZ0phaUVWSUFGQnVBbHFJUXNnQVVHd0NXb2hGaUFCUWFBSmFpRU1JQUZCbUFscUlSY2dBVUdJQ1dvaERTQUJRZWdJYWlFWUlBRkI0QWhxSVE4Z0FVSFlDR29oR1NBQlFkQUlhaUVhSUFGQnlBaHFJUkFnQVVIQUNHb2hHeUFCUWJnSWFpRVJJQUZCc0FocUlSSWdBVUdvQ0dvaENTQUJRYUFJYWlFS0lBRkJtQWhxSVE0Z0FVR1FDR29oQWlBQlFZZ0lhaUVGSUFGQmdBaHFJUWdnQVVHQUJtb2hCaUFCUVlBRWFpRUhJQUZCMUFscUlRUUNRQUovQWtCQm50SUNMQUFBUlEwQVFaN1NBa0dlMGdJUXN3RkZEUUFnQ0NBQU5nSUFJQWhCbnRJQ05nSUVJQUZCajd3QklBZ1F2QUVnQVVHSnRnRVFzQUVpQXdSL1FRRU1BZ1VnQlNBQU5nSUFRUUJCQTBHTHRnRWdCUkE5UWFURkF5Z0NBQkM5QVNFQUlBSkJwOVVETmdJQUlBSWdBRFlDQkVFQVFRTkJwYllCSUFJUVBVRUFDeUVUREFJTElBY2dBRUgvQVJEVkFTQUhRUUE2QVA4QlFRQUxJUUJCOUFnUVJDSUZSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQlNBQVFRQkhJZzRFZnlBR0lBTVE1Z0ZGQkVBZ0F4QnFJQVVRT0F3Q0N5QUtJQVEyQWdBZ0JrR3J0Z0VnQ2hDREFVRUJSd1JBSUFNUWFpQUZFRGdNQWdzZ0JDZ0NBQ0lBUVFGSUJIOGdBeEJxSUFVUU9Bd0NCU0FBQ3dWQkFRc2lDallDQkNBRlFRQTJBcGdCSUFVZ0NrSHdBR3dRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQzBFQUlRQUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FBTmdJQUlBQWdDazROQnlBU0lBQkJBV28yQWdCQkFFRUJRYTYyQVNBU0VEMGdEZ1JBSUFZZ0F4RG1BVVVOQ0NBUklBYzJBZ0FnQmtIR3RnRWdFUkNEQVVFQlJ3MElJQWNRL0FVTFFRQkJBVUhKdGdFZ0d4QTlJQWNRdndraEFDQUVLQUlBUWZBQWJDQUNhaUFBTmdJQUlBQkZEUUJCQUVFQlFmcTJBU0FhRUQxQkFFRUJRWVMzQVNBWkVEMGdCeEN4Q1NFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQWdRZ0FFVU5Ba0VBUVFGQityWUJJQmdRUFNBRUtBSUFRZkFBYkNBQ2FrRUFOZ0lJSUE0RVFDQUdJQU1RNWdGRkRRZ2dEU0FFS0FJQUlnQkI4QUJzSUFKcVFReHFOZ0lBSUEwZ0FFSHdBR3dnQW1wQkVHbzJBZ1FnRFNBQVFmQUFiQ0FDYWtFVWFqWUNDQ0FOSUFCQjhBQnNJQUpxUVJocU5nSU1JQVpCN0xjQklBMFFnd0ZCQkVjTkJDQUdJQU1RNWdGRkRRZ2dEQ0FFS0FJQUlnQkI4QUJzSUFKcVFSeHFOZ0lBSUF3Z0FFSHdBR3dnQW1wQklHbzJBZ1FnRENBQVFmQUFiQ0FDYWtFa2FqWUNDQ0FNSUFCQjhBQnNJQUpxUVNocU5nSU1JQVpCN0xjQklBd1Fnd0ZCQkVjTkJTQUdJQU1RNWdGRkRRZ2dDeUFFS0FJQUlnQkI4QUJzSUFKcVFTeHFOZ0lBSUFzZ0FFSHdBR3dnQW1wQk1HbzJBZ1FnQ3lBQVFmQUFiQ0FDYWtFMGFqWUNDQ0FMSUFCQjhBQnNJQUpxUVRocU5nSU1JQVpCN0xjQklBc1Fnd0ZCQkVjTkJpQUVLQUlBSVFBRklBUW9BZ0FoQUVFQUlRZ0RRQ0FJUVFOSEJFQkJBQ0VKQTBBZ0NVRUVSd1JBSUFCQjhBQnNJQUpxUVF4cUlBaEJCSFJxSUFsQkFuUnFRd0FBZ0Q5REFBQUFBQ0FJSUFsR0d6Z0NBQ0FKUVFGcUlRa01BUXNMSUFoQkFXb2hDQXdCQ3dzTElBQkI4QUJzSUFKcVFReHFJQUJCOEFCc0lBSnFRVHhxRUo0R0lBY1FoUVpCZ0FJUVJDRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFtd2dBRVVOQmlBQUlBZEJnQUlRMVFFZ0JDZ0NBRUVCYWlFQURBRUxDeUFRSUFjMkFnQkJBRUVEUWR1MkFTQVFFRDBnQWhBNElBVVFPQ0FEUlEwSElBTVFhZ3dIQ3lBUElBYzJBZ0JCQUVFRFFaaTNBU0FQRUQwZ0JDZ0NBRUh3QUd3Z0Ftb1F1QWtnQWhBNElBVVFPQ0FEUlEwR0lBTVFhZ3dHQzBFQVFRTkIrTGNCSUJjUVBTQURFR3BCQUJBQkRBUUxRUUJCQTBINHR3RWdGaEE5SUFNUWFrRUFFQUVNQXd0QkFFRURRZmkzQVNBVkVEMGdBeEJxUVFBUUFRd0NDMEVBUVFOQnVkZ0NJQlFRUFVFQkVBRU1BUXNnQXdSQUlBTVFhZ3NnQkNnQ0FDQUtUZ1JBSUFVaEV3d0NDMEVBRUFFTEN5QUJKQVlnRXd0TkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FRUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFFT01DSWdBMkFnQWdBRVVFUUNBQkVEaEJBQ0VCQ3lBQ0pBWWdBUXNwQUNBQUlBRkJBM1FnQUdvZ0FrRURkQ0FBYWlJQkVJUUVJQUFnQVNBRFFRTjBJQUJxRUlRRWtndkpCd0VUZnlNR0lRSWpCa0dBQldva0JpQUNRZkFFYWlFSklBSkI2QVJxSVFvZ0FrSGdCR29oQ3lBQ1FkZ0VhaUVNSUFKQjBBUnFJUTBnQWtISUJHb2hEaUFDUWNBRWFpRVBJQUpCdUFScUlSQWdBa0d3QkdvaEVTQUNRYWdFYWlFU0lBSkJvQVJxSVFVZ0FrR1lCR29oQmlBQ1FaQUVhaUVFSUFKQmlBUnFJUUVnQWtHQUJHb2lBeUFBTmdJQUlBTkJudElDTmdJRUlBSkJqN3dCSUFNUXZBRWdBa0dJdVFFUXNBRWlBd1JBUVFnUVJDSUFSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNDUUFKQUlBQkJCR3BCQkVFQklBTVFZVUVCUmdSQUFrQWdBQ0FBS0FJRUloTkJGR3dRUkNJR05nSUFJQVpGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQzBFQUlRVURRQUpBSUFVZ0UwNE5BaUFGUVJSc0lBWnFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRU1JUUVNQVFzZ0JVRVViQ0FHYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCRHlFQkRBRUxJQVZCRkd3Z0JtcEJFR3BCQkVFQklBTVFZVUVCUndSQVFSRWhBUXdCQ3lBRlFSUnNJQVpxSWdoQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJNaEFRd0JDeUFGUVJSc0lBWnFJZ2NnQ0NnQ0JDSUJRUlJzRUVRaUJEWUNBQ0FFUlFSQVFSWWhBUXdCQzBFQUlRUURRQ0FFSUFGSUJFQWdCeWdDQUNBRVFSUnNha0VFUVFFZ0F4QmhRUUZIQkVCQkdTRUJEQU1MSUFjb0FnQWdCRUVVYkdwQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJzaEFRd0RDeUFIS0FJQUlBUkJGR3hxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVkSVFFTUF3c2dCeWdDQUNBRVFSUnNha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJIeUVCREFNTElBY29BZ0FnQkVFVWJHcEJFR3BCQkVFQklBTVFZVUVCUmdSQUlBUkJBV29oQkNBSUtBSUVJUUVNQWdWQklpRUJEQU1MQUFzTElBVkJBV29oQlF3QkN3c0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkRHc09Gd0FLQ2dFS0Fnb0RDZ29FQ2dvRkNnWUtCd29JQ2dvSkNndEJBRUVEUWZ1MUFTQVNFRDBNQ1F0QkFFRURRZnUxQVNBUkVEME1DQXRCQUVFRFFmdTFBU0FRRUQwTUJ3dEJBRUVEUWZ1MUFTQVBFRDBNQmd0QkFFRURRYm5ZQWlBT0VEMUJBUkFCREFVTFFRQkJBMEg3dFFFZ0RSQTlEQVFMUVFCQkEwSDd0UUVnREJBOURBTUxRUUJCQTBIN3RRRWdDeEE5REFJTFFRQkJBMEg3dFFFZ0NoQTlEQUVMUVFCQkEwSDd0UUVnQ1JBOUMwRUFJUUVEUUNBQklBVkhCRUFnQVVFVWJDQUdhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dCaEE0REFJTEJVRUFRUU5CKzdVQklBWVFQUXdCQ3d3QkN5QUFFRGhCQUNFQUN5QURFR29GSUFFZ0FEWUNBRUVBUVFOQjVyVUJJQUVRUFVFQUlRQUxJQUlrQmlBQUN3OEFJQUFvQWdCQmhBRnFRUUVRQmd2NURRRVFmeU1HSVFzakJrSEFCbW9rQmtFRUlRbEJLQkJFSWdoQkFEWUNBQ0FMUVJocUlnZEJBRUhvQXhCRkdrRUFKQU5CUHlBTFFaZ0VhaUlNRUJBaEJpTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBaEJCQkI5SWdwRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFS0N5QUxRWkFFYWlFUElBdEJpQVJxSVJBZ0MwR0FCR29oRVFKL0VBY2dDa0VCYTBVTkFCb2dCeUFHTmdJQUlBeEI4QUEyQWdBZ0RFR0VBV3BCQVNBSVFRUVFqd1FoQ0JBSElRbEJBQ1FEUVFBa0EwRUFJZ1ZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISUFaQkFXdEZEUUFhUVFBTElRVUNRQUpBQWtBQ1FBTkFBa0FnQlFSQVFRQWtBMEh4QUNBSEVBOGpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFRaEJBRUVEUWFpMUFTQVJFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3NOQVF3Q0MwRUFKQU5CQVNBSFFkb0FRZWdERUJzakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEUVNjZ0J5QUFFQndqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURBbjlCRXlBSFFRRVFKaUVTSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlDa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJTQUtRUUZyUlEwQ0lCSkJBVWNMQkVCQkFDUURRUWhCQUVFRFFjSzFBU0FRRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUWZFQUlBY1FEeU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhdzBEREFJTFFRQWtBMEhBQUNBSEVCQWFJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJSUTBCSUFjb0FpUWdCeWdDSEd3aURDQUhLQUlnYkNFRlFRQWtBMEhCQUNBRkVCQWhCU01ESVFaQkFDUURJQVpCQUVjakJFRUFSM0VFUUNBR0tBSUFJQWdnQ1JCOUlncEZCRUFnQmlNRUVBWUxJd1FRQXdWQmZ5RUtDeEFISVFZZ0NrRUJhMFVFUUNBR0lRVU1BZ3NnQlVVRVFFRUFKQU5CQ0VFQVFRTkJ1ZGdDSUE4UUVTTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmEwVU5Ba0VBSkFOQjhRQWdCeEFQSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyRFFRTUFndEJBQ0VOQTBBZ0J5Z0NqQUVnQnlnQ2RFa0VRRUVBSVFZRFFDQUdRUVZIQkVBZ0JrRUNkQ0FMYWlBRklBd2dCaUFOYW14cU5nSUFJQVpCQVdvaEJnd0JDd3RCQUNRRFFSa2dCeUFMUVFVUUlTRVRJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaURrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRNExFQWNoQmlBT1FRRnJSUVJBSUFZaEJRd0VDeUFUSUExcUlRME1BUXNMUVFBa0EwSENBQ0FIRUJBYUl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCaUFLUVFGclJRUkFJQVloQlF3Q0MwRUFKQU5COFFBZ0J4QVBJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoRkNBS1FRRnJEUVFnRkNFRkRBRUxDMEVBSVFVTUF3dEJBQ0VGREFJTFFRQWhCUXdCQ3lBQkJFQWdBU0FIS0FJY05nSUFDeUFDQkVBZ0FpQUhLQUlnTmdJQUN5QURCRUFnQXlBSEtBSWtOZ0lBQ3lBRUJFQUNRQUpBQWtBQ1FDQUhMQUNpQWlJQVFRRnJEZ0lBQVFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeU9BSUFEQVVMREFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeVExeVBJa0NVT0FJQURBUUxEQUVMSUFCQi93RnhRUUpLQkVBZ0J5NEJwQUpGQkVBZ0J5NEJwZ0pGQkVBZ0JDQUFRZjhCY2JJNEFnQU1CUXNMQ3dzZ0JFTUFBQUFBT0FJQUN3c2dDQkE0SUFza0JpQUZDLzRUQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0JDZ0NBQ0lHSVFjZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUpJQUZJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FIUVFKcUlRY2dDVUVCYWlFSklBVkJBbW9oQlF3QkN3c2dCaUVIUVFBaENTQUJRWDlxSWhGQkFYUWdCbW9oQlFOQUlBa2dBa2dFUUNBRlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFKUVFGcUlRa2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oRGtFQklReEJBQ0VESUFBZ0JDZ0NCR29oQ1NBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTUlCQk9EUUlnQXlFQVFRRWhDZ05BSUFvZ0VVZ0VRQ0FOTFFBQUlBNHRBQUJLQkVBQ1FDQUpRWDg2QUFBZ0VrRUJkQ0FHYWlJRExnRUFJZ1ZCQUVvRVFDQUdJQVU3QVFBZ0JVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0EwRithaTRCQUNJRklRZ2dCVUVBU2lFTElBTXVBUUlpQTBFQVRBUkFJQXNFUUNBR0lBVTdBUUFnQ0VFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDa2dFUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUdRWDVxTGdFQUlnTkJBRW9FUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdNb0FnQWdDazROQWlBRElBbzJBZ0FGSUFCQi8vOEJTZzBHSUFZZ0FFRUJhaUlET3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQTBFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDallDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQURJUUFMREFFTElBc0VRQUpBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFHUVg1cUxnRUFJZ1ZCQUV3RVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWUNBMEFCcUlnVW9BZ0FnQ2tvRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQXlBTUlBTW9BZ0JxTmdJQUN3VWdCa0VBT3dFQUlBbEJBRG9BQUFzZ0RVRUJhaUVOSUE1QkFXb2hEaUFKUVFGcUlRa2dDa0VCYWlFS0lBWkJBbW9oQmd3QkN3c2dEVUVDYWlFTklBNUJBbW9oRGlBTVFRRnFJUXdnQUNFRElBbEJBbW9oQ1NBR1FRUnFJUVlNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVGUVFFaEFFRUJJUWtnQnlFR0EwQWdDU0FEVEFSQUlBa2dCaWdDQUNJTlJnUkFJQUJCQVdvaEJ3VWdBQ0VISUExQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0JpQUFOZ0lBSUFjaEFDQUpRUUZxSVFrZ0JrRUVhaUVHREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0JVRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUWNEUUNBSElBQklCRUFnQkVHTWdBaHFJQWRCQW5RaUJrRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0JrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dCa0VDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQmtFRGNrRUNkR3BCQURZQ0FDQUhRUUZxSVFjTUFRc0xRUUFoQVFOQUlBRWdBMGdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lCeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0J5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlCMEVEZEdvaUJpQUdLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0IwRUJja0VEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCa2dFUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF0aEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FSUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFJQUZCQ0dvZ0FVRU1haUFCUVFScUlBRkJFR29Rc3draUFEWUNBQ0FBUlFSQUlBRVFPRUVBSVFFTElBSWtCaUFCQ3lBQUlBRWdBaUFEclNBRXJVSWdob1FnQlNBR0lBQkJBM0ZCNmdacUVTVUFDeWtCQVg0Z0FTQUNyU0FEclVJZ2hvUWdCQ0FBUVFOeFFhWURhaEVVQUNJRlFpQ0lweEFESUFXbkMzWUJBMzhnQUFSL0lBQW9BZ0FpQWdSL0EwQWdBaWdDQUNFRElBRWdBaWdDQkVnRVFDQUJRUUowSUFOcUtBSUFLQUlBRURnZ0FDZ0NBQ2dDQUNBQlFRSjBhaWdDQUJBNElBRkJBV29oQVNBQUtBSUFJUUlNQVFzTElBTVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xJQUFnQVNBQ0lBTWdCQ0FGclNBR3JVSWdob1FnQUVFSGNVR2VBMm9SRlFBTEJnQkJGaEFDQ3dZQVFSVVFBZ3VaQmdFSmZ5TUdJUWtqQmtFd2FpUUdJQWtoQmtFSUVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFaQklHb2hDQ0FHUVJocUlRSWdCa0VRYWlFQklBWkJDR29oQXdKQUFrQUNRQ0FIUVFScUlnUkJCRUVCSUFBUVlVRUJSdzBBSUFRb0FnQWlCRUVCU0EwQUlBY2dCRUVDZEJCRUlnTTJBZ0FnQTBVRVFFRUFRUU5CdWRnQ0lBRVFQVUVCRUFFTFFRQWhBUUpBQWtBRFFDQUJJQVJJQkVBZ0FVRUNkQ0FEYWtFUUVFUWlCVFlDQUNBRlJRMENJQUZCQVdvaEFRd0JDd3NNQVF0QkFFRURRYm5ZQWlBQ0VEMUJBUkFCQzBFQUlRRUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdBU0FFVGcwR0lBRkJBblFnQTJvaUFpZ0NBRUVFYWtFRVFRRWdBQkJoUVFGSERRQWdBaWdDQUVFSWFrRUVRUUVnQUJCaFFRRkhEUUlnQWlnQ0FFRU1ha0VFUVFFZ0FCQmhRUUZIRFFNZ0FpZ0NBQ0lGS0FJRUlBVW9BZ2hzRUVRaEJTQUNLQUlBSUFVMkFnQWdCVVVOQkNBQlFRRnFJUUVnQWlnQ0FDSUZLQUlBUVFFZ0JTZ0NCQ0FGS0FJSWJDQUFFR0VnQWlnQ0FDSUNLQUlFSUFJb0FnaHNSZzBCREFVTEMwRUFJUUlEUUNBQklBSkhCRUFnQWtFQ2RDQURhaWdDQUNnQ0FCQTRJQUpCQVdvaEFnd0JDd3RCQUNFQkEwQWdBU0FFUmcwR0lBRkJBblFnQTJvb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQlNBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMUVFBaEFnTkFJQUVnQWtjRVFDQUNRUUowSUFOcUtBSUFLQUlBRURnZ0FrRUJhaUVDREFFTEMwRUFJUUVEUUNBQklBUkdEUVFnQVVFQ2RDQURhaWdDQUJBNElBRkJBV29oQVF3QUFBc0FDMEVBUVFOQnVkZ0NJQWdRUFVFQkVBRU1BZ3RCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5BaUFCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxJQUFRYWd3QkN5QURFRGdNQWdzTUFndEJBRUVEUWJlMEFTQURFRDBMSUFjUU9DQUFFR3BCQUNFSEN5QUdKQVlnQndzR0FFRVRFQUlMQmdCQkVCQUNDNElHQVE1L0l3WWhBeU1HUWVBQWFpUUdJQUFRWUVFR2FoQkVJZ2hGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3lBRFFjZ0FhaUVKSUFOQlFHc2hDaUFEUVRocUlRd2dBMEV3YWlFTklBTkJLR29oQWlBRFFTQnFJUVFnQTBFWWFpRUJJQU5CRUdvaEJ5QURRZEFBYWlFTElBTkJDR29pQmlBQU5nSUFJQVpCZ2JRQk5nSUVJQWhCL0xNQklBWVF2QUVnQ0VHSXVRRVFzQUVoQlNBSUVEZ2dCUVIvQW45QkNCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBQkVEMUJBUkFCQ3dKQUFrQWdCa0VFYWlJQlFRUkJBU0FGRUdGQkFVY05BQ0FCS0FJQUlnZEJBVWdOQUNBQ0lBYzJBZ0JCQUVFQlFkQzBBU0FDRUQwZ0JpQUhRUUowSWdRUVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQU5FRDFCQVJBQkN5QUNRUkFRUkNJQk5nSUFJQUZGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3lBRkVMVUpJZ0ZGQkVBZ0NpQUFOZ0lBSUFwQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ2hBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFVUStRSWdCUkM4Q1F3REN5QUJLQUlFUVFGSEJFQWdDU0FBTmdJQUlBbEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NSQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBRVFPQ0FGRUdwQkFBd0RDeUFDS0FJQUlnQWdBU2dDQ0RZQ0JDQUFJQUVvQWd3MkFnZ2dBQ0FCS0FJUU5nSU1JQUFnQVNnQ0FEWUNBQ0FCRURnZ0JVRUVJQVJyUVFJUTlBRkJBU0VFQWtBQ1FBSkFBMEFDUUNBRUlBZE9EUU1nQzBFRVFRRWdCUkJoUVFGSERRQWdCRUVDZENBQ2FpQUNLQUlBSUFzcUFnQVF4QWtpQURZQ0FDQUFSUTBDSUFSQkFXb2hCQXdCQ3d0QkFDRUJBMEFnQVNBRVJnMERJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQkEwQWdBU0FFUmcwQ0lBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBc2dCUkJxSUFZTUF3c2dBaEE0REFFTFFRQkJBMEczdEFFZ0JCQTlDeUFHRURnZ0JSQnFRUUFMQlNBSElBQTJBZ0FnQjBHQnRBRTJBZ1JCQUVFRFFZZTBBU0FIRUQxQkFBc2hEaUFESkFZZ0Rnc0lBRUVFRUFKQkFBc0lBRUVDRUFKQkFBc1BBRUVCRUFKRUFBQUFBQUFBQUFBTER3QkJBQkFDUkFBQUFBQUFBQUFBQzV3REFoRi9BWDBqQmlFSkl3WkJFR29rQmlBQUtBSUVzaUFCbENBQUtnSU1JaE9WRUxzQklRb2dBQ2dDQ0xJZ0FaUWdFNVVRdXdFaEMwRVFFRVFpQlVVRVFFRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTElBbEJDR29oQXlBRklBbzJBZ1FnQlNBTE5nSUlJQVVnQVRnQ0RDQUZJQW9nQzJ3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3TkFJQVlnQzBnRVFDQUFLZ0lNSWhNZ0JyS1VJQUdWRUxzQklROGdFeUFHUVFGcUlnYXlsQ0FCbFJDN0FTRUVJQUFvQWdnaUF5QUVJQVFnQTBvYklSQkJBQ0VISUFJaEJBTkFJQWNnQ2tnRVFDQUFLZ0lNSWhNZ0I3S1VJQUdWRUxzQklSRWdFeUFIUVFGcUlnZXlsQ0FCbFJDN0FTRUNJQUFvQWdRaURpQUNJQUlnRGtvYklSSkJBQ0VDUVFBaEF5QVBJUWdEUUNBSUlCQklCRUFnQUNnQ0FDQVJJZ3dnQ0NBT2JHcHFJUTBEUUNBTUlCSklCRUFnQWlBTkxRQUFhaUVDSUF4QkFXb2hEQ0FOUVFGcUlRMGdBMEVCYWlFRERBRUxDeUFJUVFGcUlRZ01BUXNMSUFRZ0FpQURFRGs2QUFBZ0JFRUJhaUVFREFFTEN5QUVJUUlNQVFzTElBa2tCaUFGQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVSGlCbW9SRFFBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFSGNVSGFCbW9SREFBTEdBQWdBU0FDSUFNZ0JDQUZJQUJCUDNGQm1nWnFFUVVBQ3hZQUlBRWdBaUFESUFRZ0FFRWZjVUg2QldvUkJ3QUxGQUFnQVNBQ0lBTWdBRUVEY1VIMkJXb1JCZ0FMRkFBZ0FTQUNJQU1nQUVFQmNVSDBCV29SR0FBTEZBQWdBU0FDSUFNZ0FFRUJjVUh5QldvUkdRQUxEZ0FnQUVFQmNVR3FBMm9SQ3dBTEhnQWdBU0FDSUFNZ0JDQUZJQVlnQnlBSUlBQkJEM0ZCamdOcUVRNEFDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VHR0Eyb1JEd0FMa2dFQkFuOGdBQVJBSUFCQmlMa0JFTEFCSWdFRVFBSkFJQUZCQUVFQ0VQUUJJQUVRK0FJaEFpQUJRUUJCQUJEMEFTQUNRUUZxRUVRaUFFVUVRQ0FCRUdwQnBNVURRVEEyQWdCQkFDRUFEQUVMSUFBZ0FrRUJJQUVRWVVVRVFDQUFFRGdnQVJCcVFRQWhBQXdCQ3lBQUlBSnFRUUE2QUFBZ0FSQnFDd1ZCQUNFQUN3VkJwTVVEUVJ3MkFnQkJBQ0VBQ3lBQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQlAzRkJ4Z0pxRVFvQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQkEzRkJ3Z0pxRVJzQUN4Z0FJQUVnQWlBRElBUWdCU0FBUVI5eFFhSUNhaEVJQUFzWUFDQUJJQUlnQXlBRUlBVWdBRUVIY1VHYUFtb1JFd0FMRmdBZ0FTQUNJQU1nQkNBQVFROXhRWW9DYWhFSkFBc1VBQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBQXNTQUNBQklBSWdBRUUvY1VHS0FXb1JBZ0FMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVCY1VHSUFXb1JJZ0FMRUFBZ0FTQUFRZjhBY1VFSWFoRUFBQXNOQUNBQVFRRnhRUVpxRVJBQUM4OEJBUVYvSXdZaEJDTUdRU0JxSkFZZ0JFRVFhaUVHSUFGRlFkQ0ZBU2dDQUNBQVNuSkZCRUFnQVN3QUFBUkFJQVFnQWlnQ0FEWUNBRUVBUVFBZ0FTQUVFS2tCSWdjRVFDQUFRUVJKQkg4Z0FFRUNkRUhBRldvb0FnQVFZRUVEYWdWQkFBc2lCU0FIYWtFQmFoQkVJUU1nQlFSQUlBWWdBRUVDZEVIQUZXb29BZ0EyQWdBZ0F5QUZRUUZxUWQyekFTQUdFS01DR2dzZ0F5QUZhaUFIUVFGcUlBRWdBaENwQVJwQnBJZ0JLQUlBSVFBZ0F4QmdJZ0VnQTBFQklBRWdBQkNUQVVjYUlBTVFPQXNMQ3lBRUpBWUxFUUFnQVNBQ0lBQkJBWEZCQkdvUkhnQUxEQUFnQVNBQVFRTnhFUklBQ3lrQUlBQkVBQUFBQUFBQTREK2duQ0FBUkFBQUFBQUFBT0Evb1pzZ0FFUUFBQUFBQUFBQUFHWWJDeEFBSXdORkJFQWdBQ1FESUFFa0JBc0xLd0FnQUVIL0FYRkJHSFFnQUVFSWRVSC9BWEZCRUhSeUlBQkJFSFZCL3dGeFFRaDBjaUFBUVJoMmNndVJCd0VJZnlBQUtBSUVJZ1pCZUhFaEFnSkFJQVpCQTNGRkJFQWdBVUdBQWtrTkFTQUNJQUZCQkdwUEJFQWdBaUFCYTBHTTFRTW9BZ0JCQVhSTkJFQWdBQThMQ3d3QkN5QUFJQUpxSVFRZ0FpQUJUd1JBSUFJZ0FXc2lBa0VQVFFSQUlBQVBDeUFBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0JDQUVLQUlFUVFGeU5nSUVJQUVnQWhDUUJDQUFEd3RCeE5FREtBSUFJQVJHQkVCQnVORURLQUlBSUFKcUlnSWdBVTBOQVNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSURJQUlnQVdzaUFVRUJjallDQkVIRTBRTWdBellDQUVHNDBRTWdBVFlDQUNBQUR3dEJ3TkVES0FJQUlBUkdCRUFnQWtHMDBRTW9BZ0JxSWdNZ0FVa05BU0FESUFGcklnSkJEMHNFUUNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQVhJMkFnUWdBQ0FEYWlJRElBSTJBZ0FnQXlBREtBSUVRWDV4TmdJRUJTQUFJQU1nQmtFQmNYSkJBbkkyQWdRZ0FDQURhaUlCSUFFb0FnUkJBWEkyQWdSQkFDRUJRUUFoQWd0QnRORURJQUkyQWdCQndORURJQUUyQWdBZ0FBOExJQVFvQWdRaUEwRUNjUTBBSUFJZ0EwRjRjV29pQnlBQlNRMEFJQU5CQTNZaEJTQURRWUFDU1FSQUlBUW9BZ2dpQWlBRUtBSU1JZ05HQkVCQnJORURRYXpSQXlnQ0FFRUJJQVYwUVg5emNUWUNBQVVnQWlBRE5nSU1JQU1nQWpZQ0NBc0ZBa0FnQkNnQ0dDRUlJQVFnQkNnQ0RDSUNSZ1JBQWtBZ0JFRVFhaUlEUVFScUlnVW9BZ0FpQWdSQUlBVWhBd1VnQXlnQ0FDSUNSUVJBUVFBaEFnd0NDd3NEUUFKQUlBSkJGR29pQlNnQ0FDSUpSUVJBSUFKQkVHb2lCU2dDQUNJSlJRMEJDeUFGSVFNZ0NTRUNEQUVMQ3lBRFFRQTJBZ0FMQlNBRUtBSUlJZ01nQWpZQ0RDQUNJQU0yQWdnTElBZ0VRQ0FFS0FJY0lnTkJBblJCM05NRGFpSUZLQUlBSUFSR0JFQWdCU0FDTmdJQUlBSkZCRUJCc05FRFFiRFJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBd0RDd1VnQ0VFUWFpSURJQWhCRkdvZ0F5Z0NBQ0FFUmhzZ0FqWUNBQ0FDUlEwQ0N5QUNJQWcyQWhnZ0JDZ0NFQ0lEQkVBZ0FpQUROZ0lRSUFNZ0FqWUNHQXNnQkNnQ0ZDSURCRUFnQWlBRE5nSVVJQU1nQWpZQ0dBc0xDd3NnQnlBQmF5SUNRUkJKQkVBZ0FDQUdRUUZ4SUFkeVFRSnlOZ0lFSUFBZ0Iyb2lBU0FCS0FJRVFRRnlOZ0lFQlNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdBQ0FIYWlJRElBTW9BZ1JCQVhJMkFnUWdBU0FDRUpBRUN5QUFEd3RCQUF1L0FRRUVmeU1HSVFVakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJR0JIOGdBQ2dDQ0VILy8vLy9CM0ZCZjJvaEJDQUFLQUlFQlVFQklRUWdBMEgvQVhFTElRTWdCQ0FEYXlBQ1NRUkFJQUFnQkNBQ0lBTnFJQVJySUFNZ0EwRUFJQUlnQVJDU0JBVWdBZ1JBSUFZRWZ5QUFLQUlBQlNBQUN5SUVJQU5CQW5ScUlBRWdBaENuQVNBQ0lBTnFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDeUFGUVFBMkFnQWdBVUVDZENBRWFpQUZFRzRMQ3lBRkpBWUxzQUVCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVCQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRa2dRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPa0VDeUFGUVFBMkFnQWdBa0VDZENBRGFpQUZFRzRnQUN3QUMwRUFTQVJBSUFBZ0FqWUNCQVVnQUNBQ09nQUxDd3NnQlNRR0M3a0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FDd0FDeUlEUVFCSUlnWUVmeUFBS0FJSVFmLy8vLzhIY1VGL2FpRUVJQUFvQWdRRlFRb2hCQ0FEUWY4QmNRc2hBeUFFSUFOcklBSkpCRUFnQUNBRUlBSWdBMm9nQkdzZ0F5QURRUUFnQWlBQkVKUUVCU0FDQkVBZ0F5QUdCSDhnQUNnQ0FBVWdBQXNpQkdvZ0FTQUNFS2dCSUFJZ0Eyb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVZCQURvQUFDQUJJQVJxSUFVUVh3c0xJQVVrQmd1M0FRRUVmeU1HSVFRakJrRVFhaVFHSUFFRVFDQUFMQUFMSWdOQkFFZ0VmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBTkIvd0Z4SVFKQkNnc2lCU0FDYXlBQlNRUi9JQUFnQlNBQklBSnFJQVZySUFJZ0FoRGRBaUFBTEFBTEJTQURDMEVBU0FSL0lBQW9BZ0FGSUFBTElnTWdBbW9nQVVFQUVKVUVJQUVnQW1vaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBUkJBRG9BQUNBQklBTnFJQVFRWHdzZ0JDUUdDNjBNQXlKL0FYNENmQ01HSVFJakJrSGdFMm9rQmlBQ1FkQVRhaUVhSUFKQnlCTnFJUTRnQWtHNEUyb2hDeUFDUWJBVGFpRVBJQUpCcUJOcUlSQWdBa0dZRTJvaERDQUNRWkFUYWlFUklBSkJpQk5xSVJjZ0FrR0FFMm9oRWlBQ1FmZ1NhaUVZSUFKQjhCSnFJUk1nQWtIb0Vtb2hGQ0FDUWVBU2FpRUlJQUpCMkJKcUlRVWdBa0hRRW1vaEZTQUNRY2dTYWlFRElBSkJ3QkpxSVFvZ0FrR0FFbW9oQnlBQ1FZQVFhaUVHSUFKQjNCTnFJUnNnQWtIWUUyb2hEU0FDUWRRVGFpRWNJQUJCaWJZQkVMQUJJZ2tFUUFKQUlBWWdDUkRwQVNBVklBMDJBZ0FnQmtHcnRnRWdGUkNEQVVFQlJ3UkFJQVVnQURZQ0FFRUFRUU5CNEs0QklBVVFQU0FKRUdwQkFDRUFEQUVMSUEwb0FnQWlCVUhBQW13UVJDSURSUVJBUVFCQkEwRzUyQUlnQ0JBOVFRRVFBUXNnQVVVaEhVRUFJUW9DUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBRlRnMEhJQVlnQ1JEcEFTQUVRY0FDYkNBRGFpRUZJQlFnQkVIQUFtd2dBMm9pQ0VHNEFtbzJBZ0FnRkNBYk5nSUVJQVJCd0FKc0lBTnFJQVpCeGE4QklCUVFnd0ZCQVVZRWZ5QUZJQWdwQTdnQ0lpU25RZi8vQVhGQkFDQWtRb0NBL3Y4UGcxQWJOZ0lBUVFJaENFRUJCU0FkRFFFZ0FpQUFFSTRHUlEwRElBSWdCa0gvRHlBQ0VHQnJFT3dFSUFVZ0FTQUNFS29ESWdVMkFnQWdCVUVBU0EwRVFRRWhDRUVBQ3pZQ0JDQUdJQWtRNlFFZ0Z5QUVRY0FDYkNBRGFpSVdRUWhxTmdJQUlBWkI3YkVCSUJjUWd3RkJBVWNOQkNBR0lBa1E2UUVnRENBRVFjQUNiQ0FEYWtFUWFpSVpOZ0lBSUF3Z0JFSEFBbXdnQTJvaUhrRVlhallDQkNBTUlBUkJ3QUpzSUFOcVFTQnFOZ0lJSUF3Z0JFSEFBbXdnQTJvaUgwRW9hallDRENBR1FkcXlBU0FNRUlNQlFRUkdCSDlCQVFVZ0VDQVZOZ0lBSUJBZ0hEWUNCQ0FHUWVxeUFTQVFFSU1CUVFKSERRWkJBQXNoQlNBSUlBcHlJUW9EUUNBR0lBa1E2UUVnQ3lBRVFjQUNiQ0FEYWtFUWFpQUZRUVYwYWpZQ0FDQUxJQVJCd0FKc0lBTnFJQVZCQlhScVFSaHFOZ0lFSUFzZ0JFSEFBbXdnQTJvZ0JVRUZkR3BCSUdvMkFnZ2dDeUFFUWNBQ2JDQURhaUFGUVFWMGFrRW9hallDRENBR1FkcXlBU0FMRUlNQlFRUkhEUWNnQlVFQmFpSUZRUU5KRFFBTElCa2dCRUhBQW13Z0EycEI4QUJxRUtrR0lBY2dGaXNEQ0NJbFJBQUFBQUFBQU9DL29pSW1PUU1BSUFjZ0pVUUFBQUFBQUFEZ1A2SWlKVGtEQ0NBSElDVTVBeEFnQnlBbE9RTVlJQWNnSlRrRElDQUhJQ1k1QXlnZ0J5QW1PUU13SUFjZ0pqa0RPQ0FFUWNBQ2JDQURhaUVJSUFSQndBSnNJQU5xSVJZZ0JFSEFBbXdnQTJvaElDQUVRY0FDYkNBRGFpRWhJQVJCd0FKc0lBTnFJU0lnQkVIQUFtd2dBMm9oSTBFQUlRVURRQ0FGUVFSSEJFQWdCRUhBQW13Z0EycEIwQUZxSUFWQkdHeHFJQjhyQXlnZ0dTc0RBQ0FGUVFSMElBZHFLd01BSWlhaUlCNHJBeGdnQlVFRWRDQUhhaXNEQ0NJbG9xQ2dPUU1BSUFSQndBSnNJQU5xSUFWQkdHeHFJQ0FyQTBnZ0ppQUlLd013b2lBbElCWXJBemlpb0tBNUE5Z0JJQVJCd0FKc0lBTnFJQVZCR0d4cUlDTXJBMmdnSmlBaEt3TlFvaUFsSUNJckExaWlvS0E1QStBQklBVkJBV29oQlF3QkN3c2dCRUVCYWlFRUlBMG9BZ0FoQlF3QkN3c2dFeUFBTmdJQUlCTWdCallDQkVFQVFRTkJ6SzhCSUJNUVBRd0dDeUFZSUFBMkFnQkJBRUVEUWN5d0FTQVlFRDBNQlFzZ0VpQUFOZ0lBSUJJZ0FqWUNCRUVBUVFOQm9MRUJJQklRUFF3RUN5QVJJQUEyQWdBZ0VTQUVRUUZxTmdJRVFRQkJBMEh4c1FFZ0VSQTlEQU1MSUE4Z0FEWUNBQ0FQSUFSQkFXbzJBZ1JCQUVFRFFmQ3lBU0FQRUQwTUFnc2dEaUFBTmdJQUlBNGdCRUVCYWpZQ0JFRUFRUU5COExJQklBNFFQUXdCQ3lBSkVHcEJpQUVRUkNJQVJRUkFRUUJCQTBHNTJBSWdHaEE5UVFFUUFRc2dBQ0FETmdJQUlBQWdEU2dDQURZQ0JDQUFRUUEyQW9BQklBQkJBRFlDYUNBS1FRTnhRUU5HQkVBZ0FFRUNOZ0pzQlNBS1FRRnhCRUFnQUVFQU5nSnNCU0FBUVFFMkFtd0xDeUFBUkFBQUFBQUFBT0EvT1FOd0lBQkVBQUFBQUFBQTREODVBM2dNQVFzZ0NSQnFJQU1RT0VFQUlRQUxCU0FLSUFBMkFnQkJBRUVEUWF1dUFTQUtFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFRQWhBQXNnQWlRR0lBQUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzRklBaEJBRHNCQUNBTVFRQTZBQUFMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcmdFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWxBUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2NCR2dzZ0JVRUFPZ0FBSUFJZ0Eyb2dCUkJmSUFBc0FBdEJBRWdFUUNBQUlBSTJBZ1FGSUFBZ0Fqb0FDd3NMSUFVa0JndEFBUUovUWRpMUFoQmdJZ0pCRFdvUVVTSUJJQUkyQWdBZ0FTQUNOZ0lFSUFGQkFEWUNDQ0FCUVF4cUlnRkIyTFVDSUFKQkFXb1FUQm9nQUNBQk5nSUFDeTRBQTBBZ0FDZ0NBRUVCUmcwQUN5QUFLQUlBUlFSQUlBQkJBVFlDQUNBQlFid0VFUUVBSUFCQmZ6WUNBQXNMVkFFQmZ5QUFLQUlJQkVBZ0FDQUFLQUlJSWdGQmYybzJBZ2dnQVVVRVFDQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEJTQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN4c0FJQUFnQVNnQ0FDSUFOZ0lBSUFBZ0FDZ0NCRUVCYWpZQ0JBdE9BUU4vSUFJZ0FXdEJBblloQnlBQklRQURRQ0FBSUFKSEJFQWdCQ0FBS0FJQUlnWkIvd0Z4SUFNZ0JrR0FBVWtiT2dBQUlBUkJBV29oQkNBQVFRUnFJUUFNQVFzTElBZEJBblFnQVdvTEVRQWdBVUgvQVhFZ0FpQUJRWUFCU1JzTEtRQURRQ0FCSUFKSEJFQWdBeUFCTEFBQU5nSUFJQU5CQkdvaEF5QUJRUUZxSVFFTUFRc0xJQUlMQ2dBZ0FVRVlkRUVZZFF0QkFBTkFJQUVnQWtjRVFDQUJJQUVvQWdBaUFFR0FBVWtFZjBHMGlBRW9BZ0FnQVNnQ0FFRUNkR29vQWdBRklBQUxOZ0lBSUFGQkJHb2hBUXdCQ3dzZ0Fnc2VBQ0FCUVlBQlNRUi9RYlNJQVNnQ0FDQUJRUUowYWlnQ0FBVWdBUXNMblF3Q0FuOFVmQ0FBS3dNSUlnb2dBQ3NES0NJTG9pQUFLd01RSWdrZ0FDc0RJQ0lRb3FFaEJDQUpJQUFyQXhnaURhSWdBQ3NEQUNJSUlBdWlvU0VISUFnZ0VLSWdDaUFOb3FFaUF5QURvaUFFSUFTaUlBY2dCNktnb0o4aUJVUUFBQUFBQUFBQUFHSUVRQ0FESUFXaklRWWdDQ0FISUFXakloR2lJZ01nQ2lBRUlBV2pJZytpSWhPaEloSkVBQUFBQUFBQUFBQmlCSHdnRHlFRUlBZ2hCU0FLSVE0Z0VTRUhJQWtGSUFrZ0NpQUlJQWFpSUFrZ0Q2S2hSQUFBQUFBQUFBQUFZaUlCR3lFT1FRRkJBaUFCR3lFQ0lBNGdEeUFHSUFFYklnU2lJaEloRXlBSUlBa2dBUnNpQlNBR0lCRWdBUnNpQjZJaUF5QVNvU0VTSUJFZ0R5QUJHeUVHSUFvZ0NDQUJHd3NoRENBSUlBMmlJQW9nRUtLZ0lBa2dDNktnSWdpYUlBZ2dDRVFBQUFBQUFBQUFBR01iSWdoRUFBQUFBQUFBOEQrZ24wUUFBQUFBQUFEd1B5QUlvWitnUkFBQUFBQUFBT0Evb2lFVUlCSkVBQUFBQUFBQUFBQmlCRUFnRGlBR29pQU1JQWVpb1NBU295SU9JQTZpSUFVZ0JxSWdEQ0FFb3FFZ0V5QURvU0lEb3lJSUlBaWlvRVFBQUFBQUFBRHdQNkFoQ2lBT0lCUWdCNklnRXFNaUJhSWdDQ0FVSUFTaUlBT2pJZ21pb0NJUElBK2lJQW9nQlNBRm9pQUpJQW1pb0VRQUFBQUFBQUR3djZDaW9TSURSQUFBQUFBQUFBQUFZMFVFUUNBRklBNGdBNThpRENBUG9TQUtveUlSb3FBaEF5QUpJQWdnRWFLZ0lSSWdCU0FPSUErYUlBeWhJQXFqSWdxaW9DRUZJQWtnQ0NBS29xQWhDQ0FOQW53Q1FBSkFBa0FnQWtFRGNVRUJhdzRDQUFFQ0N5QUlJUTRnQ2lFSUlBVWhDaUFTSVE4Z0VTRVNJQU1oRVNBRUlRTWdCeUVFSUFZTUFnc2dCU0VPSUFNaER5QUdJUU1nQnd3QkN5QUtJUTRnQlNFS0lCRWhEeUFESVJFZ0JDRURJQVloQkNBSEN5SUZvaUlWSUJBZ0E2SWlGcUVpRTBRQUFBQUFBQUFBQUdJRWZ5QURJUWNnRFNFSklCQWhEQ0FGSVFaQkFBVWdDeUFRSUEwZ0JLSWdDeUFEb3FGRUFBQUFBQUFBQUFCaUlnRWJJUXdnRFNBTElBRWJJZ2tnQkNBRklBRWJJZ2FpSWdzaEZTQU1JQU1nQkNBQkd5SUhvaUlFSVJZZ0N5QUVvU0VUSUJBZ0RTQUJHeUVMSUFVZ0F5QUJHeUVFUVFGQkFpQUJHd3NoQWlBVFJBQUFBQUFBQUFBQVlnUkFJQXdnQktJZ0N5QUdvcUVnRTZNaUF5QURvaUFKSUFTaUlBc2dCNktoSUJZZ0ZhRWlCYU1pQkNBRW9xQkVBQUFBQUFBQThEK2dJUTBnQXlBVUlBYWlJQk9qSWdhaUlBUWdGQ0FIb2lBRm95SUhvcUFpQ3lBTG9pQU5JQVlnQnFJZ0J5QUhvcUJFQUFBQUFBQUE4TCtnb3FFaUJVUUFBQUFBQUFBQUFHTkZCRUFnQmlBRElBV2ZJaEFnQzZFZ0RhTWlDYUtnSVF3Z0J5QUVJQW1pb0NFRklBWWdBeUFMbWlBUW9TQU5veUlEb3FBaEJpQUhJQVFnQTZLZ0lRY0NRQUpBQWtBQ1FDQUNRUU54UVFGckRnSUFBUUlMSUFjaEJDQURJUWNnQmlFRElBVWhCaUFKSVFVZ0RDRUpEQUlMSUFZaEJDQU1JUVlNQVFzZ0F5RUVJQVloQXlBSklRWWdEQ0VKQ3lBS0lBbWlJQWdnQmFLZ0lBNGdCcUtnSWd5YUlBd2dERVFBQUFBQUFBQUFBR01iSVF3Z0NpQURvaUFJSUFlaW9DQU9JQVNpb0NJTm1pQU5JQTFFQUFBQUFBQUFBQUJqR3lFTklCRWdDYUlnRWlBRm9xQWdEeUFHb3FBaUM1b2dDeUFMUkFBQUFBQUFBQUFBWXhzaUN5QVJJQU9pSUJJZ0I2S2dJQThnQktLZ0loQ2FJQkFnRUVRQUFBQUFBQUFBQUdNYkloQmpCRUFnQ3lBTVl3UkFJQXNnRFdNRVFDQUFJQkU1QXdBZ0FDQVNPUU1JSUFBZ0R6a0RFQ0FBSUFrNUF4Z2dBQ0FGT1FNZ0lBQWdCamtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdBQ0FET1FNWUlBQWdCemtESUNBQUlBUTVBeWdMQlNBQUlBbzVBd0FnQUNBSU9RTUlJQUFnRGprREVDQU1JQTFqQkVBZ0FDQUpPUU1ZSUFBZ0JUa0RJQ0FBSUFZNUF5Z0ZJQUFnQXprREdDQUFJQWM1QXlBZ0FDQUVPUU1vQ3dzRklCQWdER01FUUNBUUlBMWpCRUFnQUNBUk9RTUFJQUFnRWprRENDQUFJQTg1QXhBRklBQWdDamtEQUNBQUlBZzVBd2dnQUNBT09RTVFDeUFBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdEQ0FOWXdSQUlBQWdDVGtER0NBQUlBVTVBeUFnQUNBR09RTW9CU0FBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FzTEN3c0xDd3NMQzBFQUEwQWdBU0FDUndSQUlBRWdBU2dDQUNJQVFZQUJTUVIvUWFTS0FTZ0NBQ0FCS0FJQVFRSjBhaWdDQUFVZ0FBczJBZ0FnQVVFRWFpRUJEQUVMQ3lBQ0N4NEFJQUZCZ0FGSkJIOUJwSW9CS0FJQUlBRkJBblJxS0FJQUJTQUJDd3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCVHcwQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeEJFQWdBa0VFYWlFQ0RBSUxDd3NnQWd0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlNRUkFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhEUUVMSUFKQkJHb2hBZ3dCQ3dzZ0FndEdBQU5BSUFFZ0FrY0VRQ0FESUFFb0FnQkJnQUZKQkg5Qm9Jb0JLQUlBSUFFb0FnQkJBWFJxTHdFQUJVRUFDenNCQUNBRFFRSnFJUU1nQVVFRWFpRUJEQUVMQ3lBQ0N5a0FJQUpCZ0FGSkJIOGdBVUdnaWdFb0FnQWdBa0VCZEdvdUFRQnhRZi8vQTNGQkFFY0ZRUUFMQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVITW9nRkJ6S0lCRUxRQkVNc0JDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhrb2dGQjVLSUJFTFFCRU1zQkN3d0FJQUFnQVVFUWFoRGVBZ3NIQUNBQUtBSU1Dd2NBSUFBb0FnZ0xDd0FnQUJDWkJDQUFFRGdMSGdBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBUVkyakEwR05vd01RWUJCK0N4NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFR1Rvd05CazZNREVHQVFmZ3NNQUNBQUlBRkJER29RM2dJTEJ3QWdBQ3dBQ1FzSEFDQUFMQUFJQ3dzQUlBQVFtZ1FnQUJBNEN5b0JBWHhCZnlBQUt3TUFJQUVyQXdDaElnSkVBQUFBQUFBQUFBQmtJQUpFQUFBQUFBQUFBQUJqR3dzekFBTkFJQUVnQWtjRVFDQUVJQUVzQUFBaUFDQURJQUJCZjBvYk9nQUFJQVJCQVdvaEJDQUJRUUZxSVFFTUFRc0xJQUlMRWdBZ0FTQUNJQUZCR0hSQkdIVkJmMG9iQ3lrQUEwQWdBU0FDUndSQUlBTWdBU3dBQURvQUFDQURRUUZxSVFNZ0FVRUJhaUVCREFFTEN5QUNDd1FBSUFFTFJBQURRQ0FCSUFKSEJFQWdBU0FCTEFBQUlnQkJmMG9FZjBHMGlBRW9BZ0FnQVN3QUFFRUNkR29vQWdCQi93RnhCU0FBQ3pvQUFDQUJRUUZxSVFFTUFRc0xJQUlMTFFBZ0FVRVlkRUVZZFVGL1NnUi9RYlNJQVNnQ0FDQUJRUmgwUVJoMVFRSjBhaWdDQUVIL0FYRUZJQUVMQzBRQUEwQWdBU0FDUndSQUlBRWdBU3dBQUNJQVFYOUtCSDlCcElvQktBSUFJQUVzQUFCQkFuUnFLQUlBUWY4QmNRVWdBQXM2QUFBZ0FVRUJhaUVCREFFTEN5QUNDeXNBSUFGQkdIUkJHSFZCZjBvRWYwR2tpZ0VvQWdBZ0FVSC9BWEZCQW5ScUtBSUFRZjhCY1FVZ0FRc0xDd0FnQUJDYkJDQUFFRGdMTndFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUVnQUVFUWFrWUVRQ0FBUVFBNkFJQUJCU0FBS0FJSUdpQUJFRGdMQ3dzTEFDQUFFSndFSUFBUU9BdVFCZ0VDZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFMZ0VBSWdaQi8vOERjU0lEUWYvL3d3QkxCRUJCQWlFQURBRUxJQVpCLy84RGNVR0FBVWdFUUNBRUlBVW9BZ0FpQUd0QkFVZ0VRRUVCSVFBTUFnc2dCU0FBUVFGcU5nSUFJQUFnQmpvQUFBVUNRQ0FHUWYvL0EzRkJnQkJJQkVBZ0JDQUZLQUlBSWdCclFRSklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkJuWkJ3QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRS9jVUdBQVhJNkFBQU1BUXNnQmtILy93TnhRWUN3QTBnRVFDQUVJQVVvQWdBaUFHdEJBMGdFUUVFQklRQU1CQXNnQlNBQVFRRnFOZ0lBSUFBZ0EwRU1ka0hnQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRUVoyUVQ5eFFZQUJjam9BQUNBRklBVW9BZ0FpQUVFQmFqWUNBQ0FBSUFOQlAzRkJnQUZ5T2dBQURBRUxJQVpCLy84RGNVR0F1QU5PQkVBZ0JrSC8vd054UVlEQUEwZ0VRRUVDSVFBTUJBc2dCQ0FGS0FJQUlnQnJRUU5JQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJESFpCNEFGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEVHZGtFL2NVR0FBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFUOXhRWUFCY2pvQUFBd0JDeUFCSUFCclFRUklCRUJCQVNFQURBTUxJQUJCQW1vaEJpQUFMd0VDSWdCQmdQZ0RjVUdBdUFOSEJFQkJBaUVBREFNTElBUWdCU2dDQUd0QkJFZ0VRRUVCSVFBTUF3c2dBRUgvQjNFZ0EwSEFCM0VpQjBFS2RFR0FnQVJxSUFOQkNuUkJnUGdEY1hKeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFJZ0JqWUNBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQWRCQm5aQkFXb2lCa0VDZGtId0FYSTZBQUFnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHUVFSMFFUQnhJQU5CQW5aQkQzRnlRWUFCY2pvQUFDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBTkJCSFJCTUhFZ0FFRUdka0VQY1hKQmdBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTEN5QUNJQUlvQWdCQkFtb2lBRFlDQUF3QkN3c2dBQXU4QmdFRmZ5QUNJQUEyQWdBZ0JTQUROZ0lBQTBBQ1FDQUNLQUlBSWdNZ0FVOEVRRUVBSVFBTUFRc2dCU2dDQUNJSUlBUlBCRUJCQVNFQURBRUxJQU1zQUFBaUJrSC9BWEVpQ1VILy84TUFTd1JBUVFJaEFBd0JDeUFDSUFaQmYwb0VmeUFJSUFaQi93RnhPd0VBSUFOQkFXb0ZBbjhnQmtIL0FYRkJ3Z0ZJQkVCQkFpRUFEQU1MSUFaQi93RnhRZUFCU0FSQUlBRWdBMnRCQWtnRVFFRUJJUUFNQkFzZ0F5MEFBU0lBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNnQ1VFR2RFSEFEM0VnQUVFL2NYSWlBRUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRUNhZ3dCQ3lBR1FmOEJjVUh3QVVnRVFDQUJJQU5yUVFOSUJFQkJBU0VBREFRTElBTXNBQUVoQnlBRExRQUNJUUFDUUFKQUFrQWdCa0ZnYXlJR0JFQWdCa0VOUmdSQURBSUZEQU1MQUFzZ0IwSGdBWEZCb0FGSEJFQkJBaUVBREFjTERBSUxJQWRCNEFGeFFZQUJSd1JBUVFJaEFBd0dDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQlFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3RUN5QUFRVDl4SUFsQkRIUWdCMEUvY1VFR2RISnlJZ0JCLy84RGNVSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFRGFnd0JDeUFHUWY4QmNVSDFBVTRFUUVFQ0lRQU1Bd3NnQVNBRGEwRUVTQVJBUVFFaEFBd0RDeUFETEFBQklRY2dBeTBBQWlFQUlBTXRBQU1oQXdKQUFrQUNRQUpBSUFaQmNHc09CUUFDQWdJQkFnc2dCMEh3QUdwQkdIUkJHSFZCL3dGeFFUQk9CRUJCQWlFQURBWUxEQUlMSUFkQjhBRnhRWUFCUndSQVFRSWhBQXdGQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0RDeUFEUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQkNBSWEwRUVTQVJBUVFFaEFBd0RDeUFEUVQ5eElnWWdBRUVHZENJS1FjQWZjU0FIUWY4QmNTSURRUXgwUVlEZ0QzRWdDVUVIY1NJSFFSSjBjbkp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQWdnQTBFRWRrRURjU0FIUVFKMGNrRUdkRUhBL3dCcUlBTkJBblJCUEhFZ0FFRUVka0VEY1hKeVFZQ3dBM0k3QVFBZ0JTQUlRUUpxTmdJQUlBZ2dCaUFLUWNBSGNYSkJnTGdEY2pzQkFpQUNLQUlBUVFScUN3czJBZ0FnQlNBRktBSUFRUUpxTmdJQURBRUxDeUFBQzVNRUFRZC9JQUVoQnlBQUlRRURRQUpBSUFFZ0Iwa2dCaUFDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0lJUWYvL3d3QkxEUUFnQTBGL1NnUi9JQUZCQVdvRkFuOGdBMEgvQVhGQndnRklEUUlnQTBIL0FYRkI0QUZJQkVBZ0J5QUJhMEVDU0EwRElBRXRBQUVpQkVIQUFYRkJnQUZISUFoQkJuUkJ3QTl4SUFSQlAzRnlRZi8vd3dCTGNnMERJQUZCQW1vTUFRc2dBMEgvQVhGQjhBRklCRUFnQnlBQmEwRURTQTBESUFFc0FBRWhCQ0FCTFFBQ0lRVUNRQUpBQWtBZ0EwRmdheUlEQkVBZ0EwRU5SZ1JBREFJRkRBTUxBQXNnQkVIZ0FYRkJvQUZIRFFZTUFnc2dCRUhnQVhGQmdBRkhEUVVNQVFzZ0JFSEFBWEZCZ0FGSERRUUxJQVZCd0FGeFFZQUJSeUFGUVQ5eElBaEJESFJCZ09BRGNTQUVRVDl4UVFaMGNuSkIvLy9EQUV0eURRTWdBVUVEYWd3QkN5QUhJQUZyUVFSSUlBSWdCbXRCQWtseUlBTkIvd0Z4UWZVQlRuSU5BaUFCTEFBQklRVWdBUzBBQWlFRUlBRXRBQU1oQ1FKQUFrQUNRQUpBSUFOQmNHc09CUUFDQWdJQkFnc2dCVUh3QUdwQkdIUkJHSFZCL3dGeFFUQk9EUVVNQWdzZ0JVSHdBWEZCZ0FGSERRUU1BUXNnQlVIQUFYRkJnQUZIRFFNTElBbEJ3QUZ4UVlBQlJ5QUpRVDl4SUFSQkJuUkJ3Qjl4SUFoQkVuUkJnSUR3QUhFZ0JVRS9jVUVNZEhKeWNrSC8vOE1BUzNJZ0JFSEFBWEZCZ0FGSGNnMENJQVpCQVdvaEJpQUJRUVJxQ3dzaEFTQUdRUUZxSVFZTUFRc0xJQUVnQUdzTEN3QWdBaUFESUFRUWt3b0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNTQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1JDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMQ3dBZ0FCQ2VCQ0FBRURnTEtnRUJmeUFBS0FJSUlnQUVRQ0FBRUdJaEFSQ2JBeUVBSUFFRVFDQUJFR0lhQ3dWQkFTRUFDeUFBQzNNQkJIOGdBeUVGQTBBQ1FDQUNJQVZHSUFZZ0JFOXlEUUFnQUNnQ0NCQmlJUWRCQUNBQ0lBVWdBbXNnQVVISXhRTWdBUnNRMXdFaEF5QUhCRUFnQnhCaUdnc0NRQUpBSUFOQmZtc09Bd0lDQUFFTFFRRWhBd3NnQmtFQmFpRUdJQU1nQ0dvaENDQUNJQU5xSVFJTUFRc0xJQWdMVUFFRWZ5QUFLQUlJRUdJaEFRSi9Jd1loQXlNR1FSQnFKQVlnQXdza0JpQUJCRUFnQVJCaUdnc2dBQ2dDQ0NJQUJIOGdBQkJpSVFBUW13TWhCQ0FBQkVBZ0FCQmlHZ3NnQkVFQlJnVkJBUXNMbUFFQkFuOGpCaUVGSXdaQkVHb2tCaUFFSUFJMkFnQWdBQ2dDQ0JCaUlRSWdCU0lBUVFBUW5nRWhBU0FDQkVBZ0FoQmlHZ3NnQVVFQmFrRUNTUVIvUVFJRklBRkJmMm9pQVNBRElBUW9BZ0JyU3dSL1FRRUZBMzhnQVFSL0lBQXNBQUFoQWlBRUlBUW9BZ0FpQTBFQmFqWUNBQ0FESUFJNkFBQWdBRUVCYWlFQUlBRkJmMm9oQVF3QkJVRUFDd3NMQ3lFR0lBVWtCaUFHQy9rREFRWi9Jd1loRENNR1FSQnFKQVlnRENFSklBSWhDQU5BQWtBZ0F5QUlSZ1JBSUFNaENBd0JDeUFJTEFBQUJFQWdDRUVCYWlFSURBSUxDd3NnQnlBRk5nSUFJQVFnQWpZQ0FDQUdJUW9nQ0NFR0FrQUNRQUpBQTBBQ1FDQUNJQU5HSUFVZ0NrWnlEUU1nQ1NBQktRSUFOd01BSUFBb0FnZ1FZaUVJSUFVZ0JDQUdJQUpySUFvZ0JXdEJBblVnQVJEd0JDRUxJQWdFUUNBSUVHSWFDeUFMUVg5R0RRQWdCeUFIS0FJQUlBdEJBblJxSWdVMkFnQWdCU0FLUmcwQ0lBUW9BZ0FoQWlBRElBWkdCRUFnQXlFR0JTQUFLQUlJRUdJaEJnSi9JQVVnQWtFQklBRVExd0VoRFNBR0JFQWdCaEJpR2dzZ0RRc0VRRUVDSVFBTUJnc2dCeUFIS0FJQVFRUnFOZ0lBSUFRZ0JDZ0NBRUVCYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0xBQUFCRUFnQmtFQmFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c0NRQUpBQTBBQ1FDQUhJQVUyQWdBZ0FpQUVLQUlBUmcwRElBQW9BZ2dRWWlFSUlBVWdBaUFHSUFKcklBa1Exd0VoQVNBSUJFQWdDQkJpR2dzQ1FBSkFJQUZCZm1zT0F3UUNBQUVMUVFFaEFRc2dBU0FDYWlFQ0lBY29BZ0JCQkdvaEJRd0JDd3NnQkNBQ05nSUFRUUloQUF3RUN5QUVJQUkyQWdCQkFTRUFEQU1MSUFRZ0FqWUNBQ0FDSUFOSElRQU1BZ3NnQkNnQ0FDRUNDeUFDSUFOSElRQUxJQWtrQmlBQUM1Z0VBUVovSXdZaERTTUdRUkJxSkFZZ0RTSUtRUWhxSVFzZ0FpRUlBMEFDUUNBRElBaEdCRUFnQXlFSURBRUxJQWdvQWdBRVFDQUlRUVJxSVFnTUFnc0xDeUFISUFVMkFnQWdCQ0FDTmdJQUlBWWhDU0FJSVFZQ1FBSkFBa0FEUUFKQUlBSWdBMFlnQlNBSlJuSU5BeUFLSUFFcEFnQTNBd0FnQUNnQ0NCQmlJUWdnQlNBRUlBWWdBbXRCQW5VZ0NTQUZheERvQkNFTUlBZ0VRQ0FJRUdJYUN3SkFBa0FnREVGL2F3NENBZ0FCQzBFQklRQU1CUXNnQnlBTUlBY29BZ0JxSWdVMkFnQWdCU0FKUmcwQ0lBTWdCa1lFUUNBRElRWWdCQ2dDQUNFQ0JTQUFLQUlJRUdJaEJTQUxRUUFRbmdFaEFpQUZCRUFnQlJCaUdnc2dBa0YvUmdSQVFRSWhBQXdHQ3lBQ0lBa2dCeWdDQUd0TEJFQkJBU0VBREFZTElBc2hCUU5BSUFJRVFDQUZMQUFBSVFZZ0J5QUhLQUlBSWdoQkFXbzJBZ0FnQ0NBR09nQUFJQVZCQVdvaEJTQUNRWDlxSVFJTUFRc0xJQVFnQkNnQ0FFRUVhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHS0FJQUJFQWdCa0VFYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzZ0J5QUZOZ0lBQTBBQ1FDQUNJQVFvQWdCR0RRQWdBaWdDQUNFRElBQW9BZ2dRWWlFQklBVWdBeENlQVNFRElBRUVRQ0FCRUdJYUN5QURRWDlHRFFBZ0J5QURJQWNvQWdCcUlnVTJBZ0FnQWtFRWFpRUNEQUVMQ3lBRUlBSTJBZ0JCQWlFQURBSUxJQVFvQWdBaEFnc2dBaUFEUnlFQUN5QUtKQVlnQUFzUkFDQURJQUpySWdBZ0JDQUFJQVJKR3d1UEF3RUJmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUtBSUFJZ0JCZ0hCeFFZQ3dBMFlnQUVILy84TUFTM0lFUUVFQ0lRQU1BUXNnQUVHQUFVa0VRQ0FFSUFVb0FnQWlBMnRCQVVnRVFFRUJJUUFNQWdzZ0JTQURRUUZxTmdJQUlBTWdBRG9BQUFVQ1FDQUFRWUFRU1FSQUlBUWdCU2dDQUNJRGEwRUNTQVJBUVFFaEFBd0VDeUFGSUFOQkFXbzJBZ0FnQXlBQVFRWjJRY0FCY2pvQUFBd0JDeUFFSUFVb0FnQWlBMnNoQmlBQVFZQ0FCRWtFUUNBR1FRTklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkRIWkI0QUZ5T2dBQUJTQUdRUVJJQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJFblpCOEFGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVNZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRUdka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTElBSWdBaWdDQUVFRWFpSUFOZ0lBREFFTEN5QUFDN2tGQVFWL0lBSWdBRFlDQUNBRklBTTJBZ0FEUUFKQUlBSW9BZ0FpQmlBQlR3UkFRUUFoQUF3QkN5QUZLQUlBSWdvZ0JFOEVRRUVCSVFBTUFRc2dCaXdBQUNJSFFmOEJjU0VESUFkQmYwb0VmeUFEUWYvL3d3QkxCSDlCQWlFQURBSUZRUUVMQlFKL0lBZEIvd0Z4UWNJQlNBUkFRUUloQUF3REN5QUhRZjhCY1VIZ0FVZ0VRQ0FCSUFaclFRSklCRUJCQVNFQURBUUxJQVl0QUFFaUFFSEFBWEZCZ0FGSEJFQkJBaUVBREFRTFFRSWdBMEVHZEVIQUQzRWdBRUUvY1hJaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOEFGSUJFQWdBU0FHYTBFRFNBUkFRUUVoQUF3RUN5QUdMQUFCSVFnZ0JpMEFBaUVBQWtBQ1FBSkFJQWRCWUdzaUJ3UkFJQWRCRFVZRVFBd0NCUXdEQ3dBTElBaEI0QUZ4UWFBQlJ3UkFRUUloQUF3SEN3d0NDeUFJUWVBQmNVR0FBVWNFUUVFQ0lRQU1CZ3NNQVFzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFVTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBdEJBeUFBUVQ5eElBTkJESFJCZ09BRGNTQUlRVDl4UVFaMGNuSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjlRRk9CRUJCQWlFQURBTUxJQUVnQm10QkJFZ0VRRUVCSVFBTUF3c2dCaXdBQVNFSklBWXRBQUloQUNBR0xRQURJUWdDUUFKQUFrQUNRQ0FIUVhCckRnVUFBZ0lDQVFJTElBbEI4QUJxUVJoMFFSaDFRZjhCY1VFd1RnUkFRUUloQUF3R0N3d0NDeUFKUWZBQmNVR0FBVWNFUUVFQ0lRQU1CUXNNQVFzZ0NVSEFBWEZCZ0FGSEJFQkJBaUVBREFRTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBTUxJQWhCUDNFZ0FFRUdkRUhBSDNFZ0EwRVNkRUdBZ1BBQWNTQUpRVDl4UVF4MGNuSnlJZ05CLy8vREFFc0VmMEVDSVFBTUF3VkJCQXNMQ3lFQUlBb2dBellDQUNBQ0lBQWdCbW8yQWdBZ0JTQUZLQUlBUVFScU5nSUFEQUVMQ3lBQUM0VUVBUWQvSUFFaEJpQUFJUUVEUUFKQUlBRWdCa2tnQ0NBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NFSElBTkJmMG9FZnlBSFFmLy93d0JMRFFFZ0FVRUJhZ1VDZnlBRFFmOEJjVUhDQVVnTkFpQURRZjhCY1VIZ0FVZ0VRQ0FHSUFGclFRSklEUU1nQVMwQUFTSUVRY0FCY1VHQUFVY2dCMEVHZEVIQUQzRWdCRUUvY1hKQi8vL0RBRXR5RFFNZ0FVRUNhZ3dCQ3lBRFFmOEJjVUh3QVVnRVFDQUdJQUZyUVFOSURRTWdBU3dBQVNFRUlBRXRBQUloQlFKQUFrQUNRQ0FEUVdCcklnTUVRQ0FEUVExR0JFQU1BZ1VNQXdzQUN5QUVRZUFCY1VHZ0FVY05CZ3dDQ3lBRVFlQUJjVUdBQVVjTkJRd0JDeUFFUWNBQmNVR0FBVWNOQkFzZ0JVSEFBWEZCZ0FGSElBVkJQM0VnQjBFTWRFR0E0QU54SUFSQlAzRkJCblJ5Y2tILy84TUFTM0lOQXlBQlFRTnFEQUVMSUFZZ0FXdEJCRWdnQTBIL0FYRkI5UUZPY2cwQ0lBRXNBQUVoQlNBQkxRQUNJUVFnQVMwQUF5RUpBa0FDUUFKQUFrQWdBMEZ3YXc0RkFBSUNBZ0VDQ3lBRlFmQUFha0VZZEVFWWRVSC9BWEZCTUU0TkJRd0NDeUFGUWZBQmNVR0FBVWNOQkF3QkN5QUZRY0FCY1VHQUFVY05Bd3NnQ1VIQUFYRkJnQUZISUFsQlAzRWdCRUVHZEVIQUgzRWdCMEVTZEVHQWdQQUFjU0FGUVQ5eFFReDBjbkp5UWYvL3d3QkxjaUFFUWNBQmNVR0FBVWR5RFFJZ0FVRUVhZ3NMSVFFZ0NFRUJhaUVJREFFTEN5QUJJQUJyQ3dzQUlBSWdBeUFFRUtFS0MwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFvQW9oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW53b2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDOE1FQVFoL0l3WWhCQ01HUWJBQmFpUUdJQVJCcUFGcUlRd2dCQ0VCSUFSQnBBRnFJUW9nQkVHZ0FXb2hCeUFFUVpnQmFpRUNJQVJCa0FGcUlRc2dCRUdBQVdvaUNFSUFOd0lBSUFoQkFEWUNDQU5BSUFaQkEwY0VRQ0FHUVFKMElBaHFRUUEyQWdBZ0JrRUJhaUVHREFFTEN5QUNRUUEyQWdRZ0FrR3NvQUUyQWdBZ0JTZ0NBQ0FGSUFVc0FBc2lBMEVBU0NJSkd5SUdJQVVvQWdRZ0EwSC9BWEVnQ1J0QkFuUnFJUU1nQVVFZ2FpRUpRUUFoQlFKQUFrQURRQ0FGUVFKSElBWWdBMGx4QkVBZ0J5QUdOZ0lBSUFJZ0RDQUdJQU1nQnlBQklBa2dDaUFDS0FJQUtBSU1RUTl4UVk0RGFoRU9BQ0lGUVFKR0lBWWdCeWdDQUVaeURRSWdBU0VHQTBBZ0JpQUtLQUlBU1FSQUlBZ2dCaXdBQUJETUFTQUdRUUZxSVFZTUFRc0xJQWNvQWdBaEJnd0JDd3NNQVFzUUFBc0NmeUFJS0FJQUlBZ2dDQ3dBQzBFQVNCc2lBeUVOSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdBR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXRCQURZQ0JDQUxRZHlnQVRZQ0FDQU5DeEJnSUFOcUlnVWhCaUFCUVlBQmFpRUpRUUFoQWdKQUFrQURRQ0FDUVFKSElBTWdCVWx4UlEwQklBY2dBellDQUNBTElBd2dBeUFEUVNCcUlBVWdCaUFEYTBFZ1Noc2dCeUFCSUFrZ0NpQUxLQUlBS0FJUVFROXhRWTREYWhFT0FDSUNRUUpHSUFNZ0J5Z0NBRVp5UlFSQUlBRWhBd05BSUFNZ0NpZ0NBRWtFUUNBQUlBTW9BZ0FRamdJZ0EwRUVhaUVEREFFTEN5QUhLQUlBSVFNTUFRc0xFQUFNQVFzZ0NCQkhJQVFrQmdzTGdBSUJBbjhqQmlFQkl3WkJFR29rQmlBQlFnQTNBZ0FnQVVFQU5nSUlBMEFnQmtFRFJ3UkFJQVpCQW5RZ0FXcEJBRFlDQUNBR1FRRnFJUVlNQVFzTElBVW9BZ0FnQlNBRkxBQUxJZ05CQUVnaUJCc2lBaUFGS0FJRUlBTkIvd0Z4SUFRYmFpRURJQUloQlFOQUlBVWdBMGtFUUNBQklBVXNBQUFRekFFZ0JVRUJhaUVGREFFTEN3Si9JQUVvQWdBZ0FTQUJMQUFMUVFCSUd5SUNJUWNnQUVJQU53SUFJQUJCQURZQ0NFRUFJUU1EUUNBRFFRTkhCRUFnQTBFQ2RDQUFha0VBTmdJQUlBTkJBV29oQXd3QkN3c2dCd3NRWUNBQ2FpRURBMEFnQWlBRFNRUkFJQUFnQWl3QUFCRE1BU0FDUVFGcUlRSU1BUXNMSUFFUVJ5QUJKQVlMd2dVQkVuOGpCaUVHSXdaQjRBTnFKQVlnQmtITUEyb2lDeUFERURzZ0MwR2d6Z01RT2lFTUlBVXNBQXNpQjBFQVNDRUFJQVVvQWdRZ0IwSC9BWEVnQUJzRWZ5QUZLQUlBSUFVZ0FCc29BZ0FnREVFdElBd29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQVJnVkJBQXNoRGlBR1FkUURhaUVQSUFaQnlBTnFJUkFnQmtIRUEyb2hFU0FHUWF3RGFpRUhJQVpCb0FOcUlRZ2dCa0djQTJvaENTQUdRYmdEYWlJS1FnQTNBZ0FnQ2tFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXBxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFIUWdBM0FnQWdCMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBZHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUlRZ0EzQWdBZ0NFRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFocVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBQ0lBNGdDeUFQSUJBZ0VTQUtJQWNnQ0NBSkVLTUVJQVVzQUFzaUFFRUFTQ0VTSUFVb0FnUWdBRUgvQVhFZ0Voc2lFeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUJhaUFUSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUNhZ3NoRmlBR0lRQWdBaUFVSUJacWFpSUNRZVFBU3dSQUlBSkJBblFRUkNJQUlRSWdBQVJBSUFBaERTQUNJUlVGRUFBTEJTQUFJUTBMSUEwZ0JrR1lBMm9nQmtHVUEyb2dBeWdDQkNBRktBSUFJQVVnRWhzaUFDQVRRUUowSUFCcUlBd2dEaUFQSUJBb0FnQWdFU2dDQUNBS0lBY2dDQ0FKRUtJRUlBWWdBU2dDQURZQ2tBTWdCaWdDbUFNaEFDQUdLQUtVQXlFQklBWkIwQU5xSWdJZ0JpZ0NrQU0yQWdBZ0FpQU5JQUFnQVNBRElBUVFwUUVoRnlBVkJFQWdGUkE0Q3lBSUVFY2dCeEJISUFvUVJ5QUxFRHdnQmlRR0lCY0x1QVlCRlg4akJpRUdJd1pCNEFkcUpBWWdCa0dJQjJvaENDQUdRWkFEYWlFQUlBWkIyQWRxSWdrZ0JrR2dCbW9pQnpZQ0FDQUdRWkFIYWlJTklBVTVBd0FnQjBIa0FFSFNuZ01nRFJDakFpSUhRZU1BU3dSQUVGd2hBQ0FJSUFVNUF3QWdDU0FBUWRLZUF5QUlFSnNCSVFBZ0NTZ0NBQ0lJUlFSQUVBQUxJQUJCQW5RUVJDSUhJUW9nQndSQUlBY2hEQ0FBSVFzZ0NpRVFJQWdoRVFVUUFBc0ZJQUFoRENBSElRc0xJQVpCMUFkcUlnNGdBeEE3SUE1Qm9NNERFRG9pRWlnQ0FDZ0NNQ0VBSUJJZ0NTZ0NBQ0lISUFjZ0Myb2dEQ0FBUVE5eFFZb0NhaEVKQUJvZ0N3Ui9JQWtvQWdBc0FBQkJMVVlGUVFBTElSTWdCa0hjQjJvaEZDQUdRZEFIYWlFVklBWkJ6QWRxSVJZZ0JrRzBCMm9oQnlBR1FhZ0hhaUVJSUFaQnBBZHFJUWtnQmtIQUIyb2lDa0lBTndJQUlBcEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0IwSUFOd0lBSUFkQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FIYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ0VJQU53SUFJQWhCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUlha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dBaUFUSUE0Z0ZDQVZJQllnQ2lBSElBZ2dDUkNqQkNBTElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFGcUlBc2dDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFKcUN5RVpJQVloQUNBQ0lCY2dHV3BxSWdKQjVBQkxCRUFnQWtFQ2RCQkVJZ0FoQWlBQUJFQWdBQ0VQSUFJaEdBVVFBQXNGSUFBaER3c2dEeUFHUWFBSGFpQUdRWndIYWlBREtBSUVJQXdnQzBFQ2RDQU1haUFTSUJNZ0ZDQVZLQUlBSUJZb0FnQWdDaUFISUFnZ0NSQ2lCQ0FHSUFFb0FnQTJBcGdISUFZb0FxQUhJUUFnQmlnQ25BY2hBU0FOSUFZb0FwZ0hOZ0lBSUEwZ0R5QUFJQUVnQXlBRUVLVUJJUm9nR0FSQUlCZ1FPQXNnQ0JCSElBY1FSeUFLRUVjZ0RoQThJQkFFUUNBUUVEZ0xJQkVFUUNBUkVEZ0xJQVlrQmlBYUM3d0ZBUkovSXdZaEJpTUdRYkFCYWlRR0lBWkJtQUZxSWdzZ0F4QTdJQXRCZ000REVEb2hEQ0FGTEFBTElnZEJBRWdoQUNBRktBSUVJQWRCL3dGeElBQWJCSDhnQlNnQ0FDQUZJQUFiTFFBQUlBeEJMU0FNS0FJQUtBSWNRVDl4UVlvQmFoRUNBRUgvQVhGR0JVRUFDeUVPSUFaQnBBRnFJUThnQmtHaEFXb2hFQ0FHUWFBQmFpRVJJQVpCZ0FGcUlRY2dCa0gwQUdvaENDQUdRZkFBYWlFSklBWkJqQUZxSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0RpQUxJQThnRUNBUklBb2dCeUFJSUFrUXBRUWdCU3dBQ3lJQVFRQklJUklnQlNnQ0JDQUFRZjhCY1NBU0d5SVRJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRRnFJQk1nQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRSnFDeUVXSUFZaEFDQUNJQlFnRm1wcUlnSkI1QUJMQkVBZ0FoQkVJZ0FoQWlBQUJFQWdBQ0VOSUFJaEZRVVFBQXNGSUFBaERRc2dEU0FHUWV3QWFpQUdRZWdBYWlBREtBSUVJQVVvQWdBZ0JTQVNHeUlBSUFBZ0Uyb2dEQ0FPSUE4Z0VDd0FBQ0FSTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nSmtJQVlvQW13aEFDQUdLQUpvSVFFZ0JrR2NBV29pQWlBR0tBSmtOZ0lBSUFJZ0RTQUFJQUVnQXlBRUVKY0JJUmNnRlFSQUlCVVFPQXNnQ0JCSElBY1FSeUFLRUVjZ0N4QThJQVlrQmlBWEM2OEdBUlYvSXdZaEJpTUdRYUFEYWlRR0lBWkJ5QUpxSVFnZ0JrSHdBR29oQUNBR1FaQURhaUlKSUFaQjRBRnFJZ2MyQWdBZ0JrSFFBbW9pRFNBRk9RTUFJQWRCNUFCQjBwNERJQTBRb3dJaUIwSGpBRXNFUUJCY0lRQWdDQ0FGT1FNQUlBa2dBRUhTbmdNZ0NCQ2JBU0VBSUFrb0FnQWlDRVVFUUJBQUN5QUFFRVFpQnlFS0lBY0VRQ0FISVF3Z0FDRUxJQW9oRUNBSUlSRUZFQUFMQlNBQUlRd2dCeUVMQ3lBR1FZd0RhaUlPSUFNUU95QU9RWURPQXhBNkloSW9BZ0FvQWlBaEFDQVNJQWtvQWdBaUJ5QUhJQXRxSUF3Z0FFRVBjVUdLQW1vUkNRQWFJQXNFZnlBSktBSUFMQUFBUVMxR0JVRUFDeUVUSUFaQm1BTnFJUlFnQmtHVkEyb2hGU0FHUVpRRGFpRVdJQVpCOUFKcUlRY2dCa0hvQW1vaENDQUdRZVFDYWlFSklBWkJnQU5xSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0V5QU9JQlFnRlNBV0lBb2dCeUFJSUFrUXBRUWdDeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUJhaUFMSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUNhZ3NoR1NBR0lRQWdBaUFYSUJscWFpSUNRZVFBU3dSQUlBSVFSQ0lBSVFJZ0FBUkFJQUFoRHlBQ0lSZ0ZFQUFMQlNBQUlROExJQThnQmtIZ0Ftb2dCa0hjQW1vZ0F5Z0NCQ0FNSUFzZ0RHb2dFaUFUSUJRZ0ZTd0FBQ0FXTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nTFlBaUFHS0FMZ0FpRUFJQVlvQXR3Q0lRRWdEU0FHS0FMWUFqWUNBQ0FOSUE4Z0FDQUJJQU1nQkJDWEFTRWFJQmdFUUNBWUVEZ0xJQWdRUnlBSEVFY2dDaEJISUE0UVBDQVFCRUFnRUJBNEN5QVJCRUFnRVJBNEN5QUdKQVlnR2d2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZmpQQXhBNklnRW9BZ0FvQWl3RklBRkI4TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEWUNBQ0FOQ3lBTEVHNGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU5nSUFJQWNnQ3hCdUlBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEWUNBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBMkFnQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURZQ0FDQVBDeUFMRUc0Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBTmdJQUlBWWdDeEJ1SUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMlFJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQVNFRUlBWkIvd0Z4Q3lFRklBSWdBV3NpQ0VFQ2RTRUpJQWdFUUFKQUlBY0VmeUFBS0FJRUlRWWdBQ2dDQUFVZ0JrSC9BWEVoQmlBQUN5SUhJUWdnQVNBR1FRSjBJQWRxU1NBSUlBRk5jUVJBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBeUFCSUFJUXh3UWdBQ0FES0FJQUlBTWdBeXdBQ3lJQVFRQklJZ0ViSUFNb0FnUWdBRUgvQVhFZ0FSc1E0UWtnQXhCSERBRUxJQVFnQldzZ0NVa0VRQ0FBSUFRZ0JTQUphaUFFYXlBRklBVVFrUVFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lBRlFRSjBhaUVFQTBBZ0FTQUNSd1JBSUFRZ0FSQnVJQVJCQkdvaEJDQUJRUVJxSVFFTUFRc0xJQU5CQURZQ0FDQUVJQU1RYmlBRklBbHFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDd3NMSUFNa0JndXdCQUVJZnlNR0lRQWpCa0d3QTJva0JpQUFRYUFEYWlJSUlBQTJBZ0FnQ0VHUkFUWUNCQ0FBUVpBRGFpSUxJQVFRT3lBTFFhRE9BeEE2SVFjZ0FFR3NBMm9pQ2tFQU9nQUFJQUFnQWlnQ0FDSUpOZ0tVQXlBRUtBSUVJUXdnQUVHb0Eyb2lCQ0FBS0FLVUF6WUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUVpnRGFpQUFRWkFEYWhDbUJBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBMkFnQWdEUXNnQkJCdUlBWkJBRFlDQkFVZ0JFRUFOZ0lBSUFZZ0JCQnVJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBRUk0Q0N5QUhRVEFnQnlnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQkNBQUtBS1lBeUlIUVh4cUlRb2dDQ2dDQUNFREEwQUNRQ0FESUFwUERRQWdBeWdDQUNBRVJ3MEFJQU5CQkdvaEF3d0JDd3NnQmlBRElBY1FyQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdDVVVOQUNBSktBSU1JZ1FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBMFVOQWdzTUFnc2dBdzBBREFFTElBVWdCU2dDQUVFQ2NqWUNBQXNnQVNnQ0FDRU9JQXNRUENBSUtBSUFJUUVnQ0VFQU5nSUFJQUVFUUNBQklBZ29BZ1JCL3dGeFFhd0RhaEVCQUFzZ0FDUUdJQTRMb0FVQkMzOGpCaUVISXdaQjBBUnFKQVlnQjBHb0JHb2hEaUFISVE4Z0IwRzRCR29pQ1NBSFFmQUFhaUlLTmdJQUlBbEJrUUUyQWdRZ0IwR3dCR29pRFNBRUVEc2dEVUdnemdNUU9pRUFJQWRCd0FScUlneEJBRG9BQUNBSElBSW9BZ0EyQXF3RUlBUW9BZ1FoQ3lBSFFZQUVhaUlFSUFjb0Fxd0VOZ0lBSUFFZ0JDQURJQTBnQ3lBRklBd2dBQ0FKSUFkQnRBUnFJQXBCa0FOcUVLWUVCRUFnQUVIb25RTkI4cDBESUFRZ0FDZ0NBQ2dDTUVFUGNVR0tBbW9SQ1FBYUlBY29BclFFSWdzZ0NTZ0NBQ0lLYXlJQVFZZ0RTZ1JBSUFCQkFuWkJBbW9RUkNJQUlRTWdBQVJBSUFBaENDQURJUkFGRUFBTEJTQVBJUWdMSUF3c0FBQUVRQ0FJUVMwNkFBQWdDRUVCYWlFSUN5QUVRU2hxSVFNZ0JDRU1BMEFnQ2lBTFNRUkFJQW9vQWdBaEN5QUVJUUFEUUFKQUlBQWdBMFlFUUNBRElRQU1BUXNnQUNnQ0FDQUxSd1JBSUFCQkJHb2hBQXdDQ3dzTElBZ2dBQ0FNYTBFQ2RVSG9uUU5xTEFBQU9nQUFJQXBCQkdvaENpQUlRUUZxSVFnZ0J5Z0N0QVFoQ3d3QkN3c2dDRUVBT2dBQUlBNGdCallDQUNBUFFZV2RBeUFPRUlNQlFRRkhCRUFRQUFzZ0VBUkFJQkFRT0FzTElBRW9BZ0FpQUFSL0lBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lCQ0FBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFlalBBeEE2SWdFb0FnQW9BaXdGSUFGQjRNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTZBQUFnREFzZ0N4QmZJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEb0FBQ0FJSUFzUVh5QUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURvQUFDQU5DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRG9BQUNBUEN5QUxFRjhnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFZZ0N4QmZJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyd0lCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdWQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJDaUVFSUFWQi93RnhDeUVHSUFJZ0FXc2lDQVJBQWtBZ0J3Ui9JQUFvQWdRaEJTQUFLQUlBQlNBRlFmOEJjU0VGSUFBTElnY2hDU0FCSUFVZ0IycEpJQWtnQVUxeEJFQWdBMElBTndJQUlBTkJBRFlDQ0NBRElBRWdBaEQrQXlBQUlBTW9BZ0FnQXlBRExBQUxJZ0JCQUVnaUFSc2dBeWdDQkNBQVFmOEJjU0FCR3hEakNTQURFRWNNQVFzZ0JDQUdheUFJU1FSQUlBQWdCQ0FHSUFocUlBUnJJQVlnQmhEZEFnc2dBaUFHSUFGcmFpRUhJQVlnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSWdWcUlRUURRQ0FCSUFKSEJFQWdCQ0FCRUY4Z0JFRUJhaUVFSUFGQkFXb2hBUXdCQ3dzZ0EwRUFPZ0FBSUFVZ0Iyb2dBeEJmSUFZZ0NHb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xDd3NnQXlRR0M3VUVBUWgvSXdZaEFDTUdRWUFCYWlRR0lBQkI4QUJxSWdnZ0FEWUNBQ0FJUVpFQk5nSUVJQUJCNUFCcUlnc2dCQkE3SUF0QmdNNERFRG9oQnlBQVFmd0FhaUlLUVFBNkFBQWdBQ0FDS0FJQUlnazJBbWdnQkNnQ0JDRU1JQUJCK0FCcUlnUWdBQ2dDYURZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRZXdBYWlBQVFlUUFhaENvQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUE2QUFBZ0RRc2dCQkJmSUFaQkFEWUNCQVVnQkVFQU9nQUFJQVlnQkJCZklBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFFTXdCQ3lBSFFUQWdCeWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCQ0FBS0FKc0lnZEJmMm9oQ2lBSUtBSUFJUU1EUUFKQUlBTWdDazhOQUNBRExRQUFJQVJCL3dGeFJ3MEFJQU5CQVdvaEF3d0JDd3NnQmlBRElBY1FzQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRUZJQUVvQWdCRkN3VkJBUXNoQXdKQUFrQUNRQ0FKUlEwQUlBa29BZ3dpQkNBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFORkRRSUxEQUlMSUFNTkFBd0JDeUFGSUFVb0FnQkJBbkkyQWdBTElBRW9BZ0FoRGlBTEVEd2dDQ2dDQUNFQklBaEJBRFlDQUNBQkJFQWdBU0FJS0FJRVFmOEJjVUdzQTJvUkFRQUxJQUFrQmlBT0Mvc1RBaEYvQVh3akJpRVVJd1pCRUdva0JpQVVJUkFnQVVFQ0VEa2hEU0FDUVFJUU9TRVBJQVFvQWdBaUJ5RUNJQTBnRDBGL2FpSVJiRUVCZENBSGFpRUZBMEFnQ3lBTlNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FMUVFGcUlRc01BUXNMSUFjaEFpQU5RWDlxSWhKQkFYUWdCMm9oQlVFQUlRc0RRQ0FMSUE5SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTlFRRjBJQUpxSVFJZ0RVRUJkQ0FGYWlFRklBdEJBV29oQ3d3QkN3c2dCRUdRZ01nQWFpRUNRUUFnRFdzaEV5QUFJQUZCQVhSQkFtcHFJUTVCQVNFTVFRQWhCU0FOUVFGcUlnQWdCQ2dDQkdvaEN5QUFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQU1JQkZPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFa2dFUUNBT0xRQUFJQU5LQkVBQ1FDQUxRWDg2QUFBZ0UwRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTUlBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUlBdEJBRG9BQUFzZ0RrRUNhaUVPSUF0QkFXb2hDeUFKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUE1cVFRUnFJUTRnREVFQmFpRU1JQUFoQlNBTFFRSnFJUXNnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUJBUVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUxSZ1JBSUFCQkFXb2hBUVVnQUNFQklBdEJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0RUWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRHpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGcU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FXb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGU0FRSkFZZ0ZRdWVCUUVMZnlNR0lRY2pCa0dBQW1va0JpQUhRZGdCYWlFT0lBY2hEeUFIUWVnQmFpSUpJQWRCOEFCcUlnbzJBZ0FnQ1VHUkFUWUNCQ0FIUWVBQmFpSU5JQVFRT3lBTlFZRE9BeEE2SVFBZ0IwSDZBV29pREVFQU9nQUFJQWNnQWlnQ0FEWUMzQUVnQkNnQ0JDRUxJQWRCOEFGcUlnUWdCeWdDM0FFMkFnQWdBU0FFSUFNZ0RTQUxJQVVnRENBQUlBa2dCMEhrQVdvZ0NrSGtBR29RcUFRRVFDQUFRZnFjQTBHRW5RTWdCQ0FBS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQnlnQzVBRWlDeUFKS0FJQUlncHJJZ0JCNGdCS0JFQWdBRUVDYWhCRUlnQWhBeUFBQkVBZ0FDRUlJQU1oRUFVUUFBc0ZJQThoQ0FzZ0RDd0FBQVJBSUFoQkxUb0FBQ0FJUVFGcUlRZ0xJQVJCQ21vaEF5QUVJUXdEUUNBS0lBdEpCRUFnQ2l3QUFDRUxJQVFoQUFOQUFrQWdBQ0FEUmdSQUlBTWhBQXdCQ3lBQUxBQUFJQXRIQkVBZ0FFRUJhaUVBREFJTEN3c2dDQ0FBSUF4clFmcWNBMm9zQUFBNkFBQWdDa0VCYWlFS0lBaEJBV29oQ0NBSEtBTGtBU0VMREFFTEN5QUlRUUE2QUFBZ0RpQUdOZ0lBSUE5QmhaMERJQTRRZ3dGQkFVY0VRQkFBQ3lBUUJFQWdFQkE0Q3dzZ0FTZ0NBQ0lBQkg4Z0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVVnQVNnQ0FFVUxCVUVCQ3lFREFrQUNRQUpBSUFJb0FnQWlBRVVOQUNBQUtBSU1JZ1FnQUNnQ0VFWUVmeUFBSUFBb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF1VEFRRUNmeU1HSVFZakJrR0FBV29rQmlBR1FmUUFhaUlISUFaQjVBQnFOZ0lBSUFBZ0JpQUhJQU1nQkNBRkVLd0VJQVpCNkFCcUlnTkNBRGNEQUNBR1FmQUFhaUlFSUFZMkFnQWdBaWdDQUNBQmEwRUNkU0VGSUFBb0FnQVFZaUVBSUFFZ0JDQUZJQU1RL2dJaEF5QUFCRUFnQUJCaUdnc2dBMEYvUmdSQUVBQUZJQUlnQTBFQ2RDQUJhallDQUNBR0pBWUxDN0VCQUNNR0lRSWpCa0dnQTJva0JpQUNRWkFEYWlJRElBSkJrQU5xTmdJQUlBQkJDR29nQWlBRElBUWdCU0FHRUxRS0lBTW9BZ0FoQlNBQ0lRTWdBU2dDQUNFQUEwQWdBeUFGUndSQUlBTW9BZ0FoQVNBQUJIOUJBQ0FBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFnQVNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUVJxTmdJWUlBUWdBVFlDQUNBQkMwRi9FRUViQlVFQUN5RUFJQU5CQkdvaEF3d0JDd3NnQWlRR0lBQUx1UUVBSXdZaEFpTUdRZkFBYWlRR0lBSkI1QUJxSWdNZ0FrSGtBR28yQWdBZ0FFRUlhaUFDSUFNZ0JDQUZJQVlRckFRZ0F5Z0NBQ0VGSUFJaEF5QUJLQUlBSVFBRFFDQURJQVZIQkVBZ0F5d0FBQ0VCSUFBRWYwRUFJQUFnQUNnQ0dDSUVJQUFvQWh4R0JIOGdBQ2dDQUNnQ05DRUVJQUFnQVJCQ0lBUkJQM0ZCaWdGcUVRSUFCU0FBSUFSQkFXbzJBaGdnQkNBQk9nQUFJQUVRUWd0QmZ4QkJHd1ZCQUFzaEFDQURRUUZxSVFNTUFRc0xJQUlrQmlBQUM0MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUFrQWdBU2dDQUNJRUJFQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FGQkVBTUJBVU1Bd3NBQ3dzZ0JVVUVRRUVBSVFRTUFnc0xJQUlnQWlnQ0FFRUdjallDQUF3QkN5QURJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUVIL0FYRkJKVWNFUUNBQ0lBSW9BZ0JCQkhJMkFnQU1BUXNnQUNnQ0FDSURLQUlNSWdVZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFGUVFScU5nSU1JQVVvQWdBYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBRFFNTERBRUxJQUJGRFFFTElBSWdBaWdDQUVFQ2NqWUNBQXNMVWdFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtUUVoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUdVY1dvMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBUkNaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUVIU0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVDFJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMcXdJQkJIeEVBQUFBQUFBQThEOGdBU3NER0NJREVPY0VJZ1NoSVFJZ0F4RG1CQ0VESUFBZ0JDQUJLd01BSWdVZ0JhSWdBcUtnT1FNQUlBQWdBaUFCS3dNQUlBRXJBd2lpb2lBRElBRXJBeENpb1RrRENDQUFJQUlnQVNzREFDQUJLd01Rb3FJZ0F5QUJLd01Jb3FBNUF4QWdBQ0FCS3dNZ09RTVlJQUFnQWlBQkt3TUlJQUVyQXdDaW9pQURJQUVyQXhDaW9Ea0RJQ0FBSUFRZ0FpQUJLd01JSWdVZ0JhS2lvRGtES0NBQUlBSWdBU3NEQ0NBQkt3TVFvcUlnQXlBQkt3TUFvcUU1QXpBZ0FDQUJLd01vT1FNNElBQkJRR3NnQWlBQkt3TVFJQUVyQXdDaW9pQURJQUVyQXdpaW9Ua0RBQ0FBSUFJZ0FTc0RFQ0FCS3dNSW9xSWdBeUFCS3dNQW9xQTVBMGdnQUNBRUlBSWdBU3NERUNJQ0lBS2lvcUE1QTFBZ0FDQUJLd013T1FOWUMrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNWQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDL1lEQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUZBa0FDUUNBQktBSUFJZ1JGRFFBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVZGRFFNTERBRUxJQVVFZjBFQUlRUU1BZ1ZCQUFzaEJBc2dBMEdBd0FBZ0FDZ0NBQ0lGS0FJTUlnWWdCU2dDRUVZRWZ5QUZJQVVvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUN5QURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQkdvMkFnd2dCU2dDQUJvTERBRUxDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd1d0FRRUNmQ0FBSUFFckF3QWlBeUFEb2lBQkt3TUlJZ0lnQXFLZ0lBRXJBeEFpQWlBQ29xQWlBa1FBQUFBQUFBQUFBR0VFZkNBQVJBQUFBQUFBQVBBL09RTUFJQUJFQUFBQUFBQUFBQUE1QXdoRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFBVWdBQ0FESUFLZklnS2pPUU1BSUFBZ0FTc0RDQ0FDb3prRENDQUJLd01RSUFLakN6a0RFQ0FBSUFJNUF4Z2dBQ0FCS3dNWU9RTWdJQUFnQVNzRElEa0RLQ0FBSUFFckF5ZzVBekFMOUFFQkFuOUJrTUFETEFBQVJRUkFRWkRBQXhCd0JFQkJzTHNESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCMkx3RFJ3MEFDMEdRd0FNUWJ3c0xRYkM3QTBHUW1nRVFWa0c4dXdOQnJKb0JFRlpCeUxzRFFjaWFBUkJXUWRTN0EwSG9tZ0VRVmtIZ3V3TkJrSnNCRUZaQjdMc0RRYlNiQVJCV1FmaTdBMEhRbXdFUVZrR0V2QU5COUpzQkVGWkJrTHdEUVlTY0FSQldRWnk4QTBHVW5BRVFWa0dvdkFOQnBKd0JFRlpCdEx3RFFiU2NBUkJXUWNDOEEwSEVuQUVRVmtITXZBTkIxSndCRUZZTDJBSUJBbjlCZ01BRExBQUFSUVJBUVlEQUF4QndCRUJCa0xrRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQnNMc0RSdzBBQzBHQXdBTVFid3NMUVpDNUEwR0lsZ0VRVmtHY3VRTkJxSllCRUZaQnFMa0RRY3lXQVJCV1FiUzVBMEhrbGdFUVZrSEF1UU5CL0pZQkVGWkJ6TGtEUVl5WEFSQldRZGk1QTBHZ2x3RVFWa0hrdVFOQnRKY0JFRlpCOExrRFFkQ1hBUkJXUWZ5NUEwSDRsd0VRVmtHSXVnTkJtSmdCRUZaQmxMb0RRYnlZQVJCV1FhQzZBMEhnbUFFUVZrR3N1Z05COEpnQkVGWkJ1TG9EUVlDWkFSQldRY1M2QTBHUW1RRVFWa0hRdWdOQi9KWUJFRlpCM0xvRFFhQ1pBUkJXUWVpNkEwR3dtUUVRVmtIMHVnTkJ3SmtCRUZaQmdMc0RRZENaQVJCV1FZeTdBMEhnbVFFUVZrR1l1d05COEprQkVGWkJwTHNEUVlDYUFSQldDM3dCQW45QjhMOERMQUFBUlFSQVFmQy9BeEJ3QkVCQjhMZ0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJpTGtEUncwQUMwSHd2d01RYndzTFFmQzRBMEh3bFFFUVZrSDh1QU5CL0pVQkVGWUxSQUJCeUw4RExBQUFSUVJBUWNpL0F4QndCRUJCak04RFFnQTNBZ0JCbE04RFFRQTJBZ0JCak04RFFhU1VBVUdrbEFFUXRBRVF5d0ZCeUw4REVHOExDMEdNendNTFJBQkIwTDhETEFBQVJRUkFRZEMvQXhCd0JFQkJtTThEUWdBM0FnQkJvTThEUVFBMkFnQkJtTThEUWNpVUFVSElsQUVRdEFFUXl3RkIwTDhERUc4TEMwR1l6d01MUkFCQjJMOERMQUFBUlFSQVFkaS9BeEJ3QkVCQnBNOERRZ0EzQWdCQnJNOERRUUEyQWdCQnBNOERRZXlVQVVIc2xBRVF0QUVReXdGQjJMOERFRzhMQzBHa3p3TUxSQUJCNEw4RExBQUFSUVJBUWVDL0F4QndCRUJCc004RFFnQTNBZ0JCdU04RFFRQTJBZ0JCc004RFFaeVZBVUdjbFFFUXRBRVF5d0ZCNEw4REVHOExDMEd3endNTE1RQkI2TDhETEFBQVJRUkFRZWkvQXhCd0JFQVF4d3BCdk04RFFmQzRBellDQUVIb3Z3TVFid3NMUWJ6UEF5Z0NBQXN4QUVINHZ3TXNBQUJGQkVCQitMOERFSEFFUUJER0NrSEF6d05Ca0xrRE5nSUFRZmkvQXhCdkN3dEJ3TThES0FJQUN6RUFRWWpBQXl3QUFFVUVRRUdJd0FNUWNBUkFFTVVLUWNUUEEwR3d1d00yQWdCQmlNQURFRzhMQzBIRXp3TW9BZ0FMZ2d3QkJYOGpCaUVISXdaQmtBRnFKQVlnQjBId0FHb2hDaUFIUVVCcklRc2dCRUVBTmdJQUlBZEJnQUZxSWdnZ0F4QTdJQWhCb000REVEb2hDU0FJRUR3Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFaQkdIUkJHSFZCSldzT1ZSWVhGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y0FBUmNFRndVWEJnY1hGeGNLRnhjWEZ3NFBFQmNYRnhNVkZ4Y1hGeGNYRndBQkFnTURGeGNCRndnWEZ3a0xGd3dYRFJjTEZ4Y1JFaFFYQ3lBSElBSW9BZ0EyQW53Z0NDQUhLQUo4TmdJQUlBQWdCVUVZYWlBQklBZ2dCQ0FKRUxFRURCY0xJQWNnQWlnQ0FEWUNlQ0FJSUFjb0FuZzJBZ0FnQUNBRlFSQnFJQUVnQ0NBRUlBa1FzQVFNRmdzZ0FFRUlhaUlHS0FJQUtBSU1JUWtnQmlBSlFmOEFjVUVJYWhFQUFDRUdJQWNnQVNnQ0FEWUNkQ0FISUFJb0FnQTJBbXdnQmlnQ0FDQUdJQVlzQUFzaUNVRUFTQ0lMR3lFQ0lBWW9BZ1FnQ1VIL0FYRWdDeHRCQW5RZ0Ftb2hCaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdBaUFHRUtNQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFTU1LREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFhRHdBRUhBOEFBUW93RTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQndQQUFRZUR3QUJDakFUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRDQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQkNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSREFDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkMvQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JDK0Nnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdlFvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSQzhDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIZzhBQkJqUEVBRUtNQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUVpEeEFFR2s4UUFRb3dFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUXVnb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCc1BFQVFkRHhBQkNqQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSQzVDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ2xCQUVnaUN4c2hBaUFHS0FJRUlBbEIvd0Z4SUFzYlFRSjBJQUpxSVFZZ0NpQUhLQUlRTmdJQUlBZ2dCeWdDRERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGSUFJZ0JoQ2pBVFlDQUF3RUN5QUhJQUlvQWdBMkFnZ2dDQ0FIS0FJSU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDdkJBd0RDeUFISUFJb0FnQTJBZ1FnQ0NBSEtBSUVOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQzRDZ3dDQ3lBSElBSW9BZ0EyQWdBZ0NDQUhLQUlBTmdJQUlBRWdDQ0FFSUFrUXR3b01BUXNnQkNBRUtBSUFRUVJ5TmdJQUN5QUJLQUlBQ3lFTUlBY2tCaUFNQzFrQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FGUVJScUlBRWdCeUFFSUFNUXJ3UWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkVHb2dBU0FISUFRZ0F4Q3dCQ0FCS0FJQUlRZ2dCaVFHSUFnTFd3RURmeU1HSVFZakJrRVFhaVFHSUFaQkJHb2lCeUFERURzZ0IwR2d6Z01RT2lFRElBY1FQQ0FHSUFJb0FnQTJBZ0FnQnlBR0tBSUFOZ0lBSUFBZ0JVRVlhaUFCSUFjZ0JDQURFTEVFSUFFb0FnQWhDQ0FHSkFZZ0NBdW5BUUVFZnlNR0lRY2pCa0VRYWlRR0lBQkJDR29pQmlnQ0FDZ0NGQ0VJSUFZZ0NFSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBZ1FnQnlBQ0tBSUFOZ0lBSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ0JzaEFTQUdLQUlFSUFKQi93RnhJQWdiUVFKMElBRnFJUUlnQjBFSWFpSUdJQWNvQWdRMkFnQWdCMEVNYWlJSUlBY29BZ0EyQWdBZ0FDQUdJQWdnQXlBRUlBVWdBU0FDRUtNQklRa2dCeVFHSUFrTFlBRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBQ0FCSUFJZ0F5QUVJQVZCMFBFQVFmRHhBQkNqQVNFSElBWWtCaUFIQzUwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdRRVFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFRURBSUxDeUFDSUFJb0FnQkJCbkkyQWdBTUFRc2dBeUFBS0FJQUlnVW9BZ3dpQmlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0Qi93RnhRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkhCRUFnQWlBQ0tBSUFRUVJ5TmdJQURBRUxJQUFvQWdBaUF5Z0NEQ0lGSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FBMERDd3dCQ3lBQVJRMEJDeUFDSUFJb0FnQkJBbkkyQWdBTEMxSUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUpvQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQmxIRnFOZ0lBQ3lBRkpBWUxZUUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFFUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkIwaHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFOVNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNXQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDNVFFQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUlBRW9BZ0FpQkVVTkFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRlJRMERDd3dCQ3lBRkJIOUJBQ0VFREFJRlFRQUxJUVFMSUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUZRZjhCY1VFWWRFRVlkVUYvVEEwQUlBTW9BZ2dnQlVFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJBV28yQWd3Z0JTd0FBQkJDR2dzTUFRc0xJQUFvQWdBaUF3Ui9JQU1vQWd3aUJTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBQUpBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTDhRUUJBWDhnQUVJQU53TUFJQUJDQURjRENDQUFRZ0EzQXhBZ0FFSUFOd01ZSUFCQ0FEY0RJQ0FBUWdBM0F5Z2dBRUlBTndNd0lBQkNBRGNET0NBQVFVQnJSQUFBQUFBQUFQQy9PUU1BSUFCQ0FEY0RTQ0FBUWdBM0ExQWdBRUlBTndOWUlBQkNBRGNEWUNBQVJBQUFBQUFBQVBBL09RTm9JQUJDQURjRGNDQUFRZ0EzQTNnZ0FFSUFOd09BQVNBQVFnQTNBNGdCSUFCQ0FEY0RrQUVnQUVJQU53T1lBU0FBUkFBQUFBQUFBUEEvT1FPZ0FTQUFRYWdCYWlJQlFnQTNBd0FnQVVJQU53TUlJQUZDQURjREVDQUJRZ0EzQXhnZ0FVSUFOd01nSUFGQ0FEY0RLQ0FCUWdBM0F6QWdBVUlBTndNNElBRkJRR3RDQURjREFDQUFSQUFBQUFBQUFQQy9PUVB3QVNBQVFnQTNBL2dCSUFCQ0FEY0RnQUlnQUVJQU53T0lBaUFBUWdBM0E1QUNJQUJDQURjRG1BSWdBRUlBTndPZ0FpQUFSQUFBQUFBQUFQQy9PUU9vQWlBQVFnQTNBN0FDSUFCQ0FEY0R1QUlnQUVJQU53UEFBaUFBUWdBM0E4Z0NJQUJFQUFBQUFBQUE4RDg1QTlBQ0lBQkIyQUpxSWdGQ0FEY0RBQ0FCUWdBM0F3Z2dBVUlBTndNUUlBRkNBRGNER0NBQlFnQTNBeUFnQVVJQU53TW9JQUZDQURjRE1DQUJRZ0EzQXpnZ0FVRkFhMElBTndNQUlBRkNBRGNEU0NBQlFnQTNBMUFnQVVJQU53TllJQUZDQURjRFlDQUJRZ0EzQTJnZ0FFUUFBQUFBQUFEd1B6a0R5QU1nQUVJQU53UFFBeUFBUWdBM0E5Z0RJQUJDQURjRDRBTWdBRUlBTndQb0F5QUFRZ0EzQS9BRElBQkNBRGNEK0FNZ0FFUUFBQUFBQUFEd1B6a0RnQVFnQUVJQU53T0lCQ0FBUWdBM0E1QUVJQUJDQURjRG1BUWdBRUlBTndPZ0JDQUFRZ0EzQTZnRUlBQkNBRGNEc0FRZ0FFUUFBQUFBQUFEd1B6a0R1QVFMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd2MEFRRUNmMEhBdndNc0FBQkZCRUJCd0w4REVIQUVRRUhBdHdNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIb3VBTkhEUUFMUWNDL0F4QnZDd3RCd0xjRFFmQ1hBeEJYUWN5M0EwSDNsd01RVjBIWXR3TkIvcGNERUZkQjVMY0RRWWFZQXhCWFFmQzNBMEdRbUFNUVYwSDh0d05CbVpnREVGZEJpTGdEUWFDWUF4QlhRWlM0QTBHcG1BTVFWMEdndUFOQnJaZ0RFRmRCckxnRFFiR1lBeEJYUWJpNEEwRzFtQU1RVjBIRXVBTkJ1WmdERUZkQjBMZ0RRYjJZQXhCWFFkeTRBMEhCbUFNUVZ3dllBZ0VDZjBHd3Z3TXNBQUJGQkVCQnNMOERFSEFFUUVHZ3RRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSEF0d05IRFFBTFFiQy9BeEJ2Q3d0Qm9MVURRZTZXQXhCWFFheTFBMEgybGdNUVYwRzR0UU5CLzVZREVGZEJ4TFVEUVlXWEF4QlhRZEMxQTBHTGx3TVFWMEhjdFFOQmo1Y0RFRmRCNkxVRFFaU1hBeEJYUWZTMUEwR1psd01RVjBHQXRnTkJvSmNERUZkQmpMWURRYXFYQXhCWFFaaTJBMEd5bHdNUVYwR2t0Z05CdTVjREVGZEJzTFlEUWNTWEF4QlhRYnkyQTBISWx3TVFWMEhJdGdOQnpKY0RFRmRCMUxZRFFkQ1hBeEJYUWVDMkEwR0xsd01RVjBIc3RnTkIxSmNERUZkQitMWURRZGlYQXhCWFFZUzNBMEhjbHdNUVYwR1F0d05CNEpjREVGZEJuTGNEUWVTWEF4QlhRYWkzQTBIb2x3TVFWMEcwdHdOQjdKY0RFRmNMZkFFQ2YwR2d2d01zQUFCRkJFQkJvTDhERUhBRVFFR0F0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUdZdFFOSERRQUxRYUMvQXhCdkN3dEJnTFVEUWVpV0F4QlhRWXkxQTBIcmxnTVFWd3RDQUVINHZnTXNBQUJGQkVCQitMNERFSEFFUUVISXpnTkNBRGNDQUVIUXpnTkJBRFlDQUVISXpnTkJ0WllEUWJXV0F4QmdFSDVCK0w0REVHOExDMEhJemdNTFFnQkJnTDhETEFBQVJRUkFRWUMvQXhCd0JFQkIxTTREUWdBM0FnQkIzTTREUVFBMkFnQkIxTTREUWI2V0EwRytsZ01RWUJCK1FZQy9BeEJ2Q3d0QjFNNERDMElBUVlpL0F5d0FBRVVFUUVHSXZ3TVFjQVJBUWVET0EwSUFOd0lBUWVqT0EwRUFOZ0lBUWVET0EwSEhsZ05CeDVZREVHQVFma0dJdndNUWJ3c0xRZURPQXd1cEFnRUdmQ0FCS3dNWUlBRXJBd0FpQ0NBQ0t3TUFJZ1NpSUFFckF3Z2dBaXNEQ0NJSG9xQWdBU3NERUNBQ0t3TVFJZ09pb0tBaEJTQUJLd000SUFRZ0FTc0RJS0lnQnlBQkt3TW9vcUFnQXlBQkt3TXdvcUNnSVFZZ0FTc0RXQ0FFSUFGQlFHc2lBaXNEQUNJRW9pQUhJQUVyQTBpaW9DQURJQUVyQTFDaW9LQWlBMFFBQUFBQUFBQUFBR0VFZjBGL0JTQUFJQWdnQTZJZ0JTQUVvcUVnQXlBRG9pSUVvemtEQUNBQUlBTWdBU3NEQ0tJZ0JTQUJLd05Jb3FFZ0JLTTVBd2dnQUNBRElBRXJBeENpSUFVZ0FTc0RVS0toSUFTak9RTVFJQUFnQXlBQkt3TWdvaUFHSUFJckF3Q2lvU0FFb3prREdDQUFJQU1nQVNzREtLSWdCaUFCS3dOSW9xRWdCS001QXlBZ0FDQURJQUVyQXpDaUlBWWdBU3NEVUtLaElBU2pPUU1vUVFBTEMwSUFRWkMvQXl3QUFFVUVRRUdRdndNUWNBUkFRZXpPQTBJQU53SUFRZlRPQTBFQU5nSUFRZXpPQTBIVGxnTkIwNVlERUdBUWZrR1F2d01RYndzTFFlek9Bd3N4QUVHWXZ3TXNBQUJGQkVCQm1MOERFSEFFUUJEa0NrSDR6Z05CZ0xVRE5nSUFRWmkvQXhCdkN3dEIrTTRES0FJQUN6RUFRYWkvQXl3QUFFVUVRRUdvdndNUWNBUkFFT01LUWZ6T0EwR2d0UU0yQWdCQnFMOERFRzhMQzBIOHpnTW9BZ0FMTVFCQnVMOERMQUFBUlFSQVFiaS9BeEJ3QkVBUTRncEJnTThEUWNDM0F6WUNBRUc0dndNUWJ3c0xRWURQQXlnQ0FBdjRDd0VGZnlNR0lRY2pCa0dRQVdva0JpQUhRZkFBYWlFS0lBZEJRR3NoQ3lBRVFRQTJBZ0FnQjBHQUFXb2lDQ0FERURzZ0NFR0F6Z01RT2lFSklBZ1FQQUovQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCa0VZZEVFWWRVRWxhdzVWRmhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRndBQkZ3UVhCUmNHQnhjWEZ3b1hGeGNYRGc4UUZ4Y1hFeFVYRnhjWEZ4Y1hBQUVDQXdNWEZ3RVhDQmNYQ1FzWERCY05Gd3NYRnhFU0ZCY0xJQWNnQWlnQ0FEWUNmQ0FJSUFjb0FudzJBZ0FnQUNBRlFSaHFJQUVnQ0NBRUlBa1F0Z1FNRndzZ0J5QUNLQUlBTmdKNElBZ2dCeWdDZURZQ0FDQUFJQVZCRUdvZ0FTQUlJQVFnQ1JDMUJBd1dDeUFBUVFocUlnWW9BZ0FvQWd3aENTQUdJQWxCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdKMElBY2dBaWdDQURZQ2JDQUdLQUlBSUFZZ0Jpd0FDeUlDUVFCSUlna2JJZ3NnQmlnQ0JDQUNRZjhCY1NBSkcyb2hBaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdDeUFDRUtRQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFT0VLREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFjV1lBMEhObUFNUXBBRTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnpaZ0RRZFdZQXhDa0FUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRmQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZUNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSRGRDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkRjQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JEYkNnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRMmdvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSRFpDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIVm1BTkI0SmdERUtRQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWVDWUEwSGxtQU1RcEFFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUTJBb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCNVpnRFFlMllBeENrQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSRFhDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNSc2lDeUFHS0FJRUlBSkIvd0Z4SUFrYmFpRUNJQW9nQnlnQ0VEWUNBQ0FJSUFjb0FndzJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JTQUxJQUlRcEFFMkFnQU1CQXNnQnlBQ0tBSUFOZ0lJSUFnZ0J5Z0NDRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1F0QVFNQXdzZ0J5QUNLQUlBTmdJRUlBZ2dCeWdDQkRZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRMWdvTUFnc2dCeUFDS0FJQU5nSUFJQWdnQnlnQ0FEWUNBQ0FCSUFnZ0JDQUpFTlVLREFFTElBUWdCQ2dDQUVFRWNqWUNBQXNnQVNnQ0FBc2hEQ0FISkFZZ0RBdFpBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0JVRVVhaUFCSUFjZ0JDQURFTFFFSUFFb0FnQWhDQ0FHSkFZZ0NBdGJBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0FDQUZRUkJxSUFFZ0J5QUVJQU1RdFFRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCZ000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCR0dvZ0FTQUhJQVFnQXhDMkJDQUJLQUlBSVFnZ0JpUUdJQWdMb2dFQkJIOGpCaUVISXdaQkVHb2tCaUFBUVFocUlnWW9BZ0FvQWhRaENDQUdJQWhCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdJRUlBY2dBaWdDQURZQ0FDQUdLQUlBSUFZZ0Jpd0FDeUlCUVFCSUlnSWJJZ2dnQmlnQ0JDQUJRZjhCY1NBQ0cyb2hBU0FIUVFocUlnSWdCeWdDQkRZQ0FDQUhRUXhxSWdZZ0J5Z0NBRFlDQUNBQUlBSWdCaUFESUFRZ0JTQUlJQUVRcEFFaENTQUhKQVlnQ1F0Z0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUFJQUVnQWlBRElBUWdCVUh0bUFOQjlaZ0RFS1FCSVFjZ0JpUUdJQWNMM3dVQ0EzOEdmQ01HSVFVakJrSGdCbW9rQmlBQklBSXJBeGdnQWlzREFDQURLd01Bb2lBQ0t3TUlJQU1yQXdnaUNLS2dJQUlyQXhBZ0F5c0RFQ0lKb3FDZ09RTUFJQUVnQWlzRE9DQUNLd01nSUFNckF3QWlCNklnQ0NBQ0t3TW9vcUFnQ1NBQ0t3TXdvcUNnT1FNSUlBRWdBaXNEV0NBSElBSkJRR3NpQkNzREFLSWdBaXNEU0NBREt3TUlJZ2lpb0NBSklBSXJBMUNpb0tBNUF4QWdCVUhBQkdvaUFTQUhJQUlyQXdBaUNxSTVBd0FnQVNBSUlBcWlPUU1JSUFFZ0NpQURLd01RSWdtaU9RTVFJQUVnQnlBQ0t3TUlJZ3VpT1FNWUlBRWdDQ0FMb2prRElDQUJJQWtnQzZJNUF5Z2dBU0FISUFJckF4QWlES0k1QXpBZ0FTQUlJQXlpT1FNNElBRkJRR3NnQ1NBTW9qa0RBQ0FCSUFvNUEwZ2dBU0FMT1FOUUlBRWdERGtEV0NBQklBY2dBaXNESUNJS29qa0RZQ0FCSUFnZ0NxSTVBMmdnQVNBSklBcWlPUU53SUFFZ0J5QUNLd01vSWd1aU9RTjRJQUVnQ0NBTG9qa0RnQUVnQVNBSklBdWlPUU9JQVNBQklBY2dBaXNETUNJTW9qa0RrQUVnQVNBSUlBeWlPUU9ZQVNBQklBa2dES0k1QTZBQklBRWdDamtEcUFFZ0FTQUxPUU93QVNBQklBdzVBN2dCSUFFZ0J5QUVLd01BSWdxaU9RUEFBU0FCSUFnZ0NxSTVBOGdCSUFFZ0NTQUtvamtEMEFFZ0FTQUhJQUlyQTBnaUM2STVBOWdCSUFFZ0NDQUxvamtENEFFZ0FTQUpJQXVpT1FQb0FTQUJJQWNnQWlzRFVDSUhvamtEOEFFZ0FTQUlJQWVpT1FQNEFTQUJJQWtnQjZJNUE0QUNJQUVnQ2prRGlBSWdBU0FMT1FPUUFpQUJJQWM1QTVnQ0lBVVE0QXBCQUNFQ0EwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJrY0VRQ0FDUVRCc0lBQnFJQU5CQTNScUlnWkVBQUFBQUFBQUFBQTVBd0JCQUNFRVJBQUFBQUFBQUFBQUlRY0RRQ0FFUVF4SEJFQWdCaUFISUFKQjRBQnNJQUZxSUFSQkEzUnFLd01BSUFSQk1Hd2dCV29nQTBFRGRHb3JBd0Npb0NJSE9RTUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBVWtCZ3ZjQVFFSGZ5TUdJUUFqQmtIUUFXb2tCaUFBUWNBQmFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUc0QVdvaUJpQUVOZ0lBSUFCQm9BRnFJZ1JCRkNBSElBVWdCaEIzSWdrZ0JHb2hCU0FFSUFVZ0FoQ0pBU0VISUFZZ0FoQTdJQVpCb000REVEb2hDQ0FHRUR3Z0NDZ0NBQ2dDTUNFS0lBZ2dCQ0FGSUFBZ0NrRVBjVUdLQW1vUkNRQWFJQUFnQVNnQ0FEWUN2QUVnQmlBQUtBSzhBVFlDQUNBR0lBQWdDVUVDZENBQWFpSUJJQWNnQkd0QkFuUWdBR29nQlNBSFJoc2dBU0FDSUFNUXBRRWhDeUFBSkFZZ0N3dTFBd0VQZnlNR0lRVWpCa0hnQW1va0JpQUZRYWdDYWlFTklBVkJtQUpxSVFBZ0JVR1FBbW9pQmtJbE53TUFJQVpCQVdwQjI1UURJQUlvQWdRUWxBSWhEaUFGUWRRQ2FpSUhJQVZCOEFGcUlnbzJBZ0FRWENFUElBVkJ3QUpxSVJBZ0JVR3dBbW9oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhERUVCSVJJRklBaEJBM1FRUkNJQUJFQWdBQ0lNSVJNRkVBQUxDeUFGUWRnQ2FpSUFJQUlRT3lBSklBY2dCaUFNSUFWQjBBSnFJQVZCekFKcUlBQVF1QVFnQUJBOElBVWdBU2dDQURZQ3lBSWdCU2dDMEFJaENDQUZLQUxNQWlFR0lBQWdCU2dDeUFJMkFnQWdBU0FBSUF3Z0NDQUdJQUlnQXhDbEFTSUFOZ0lBSUJKRkJFQWdFeEE0Q3lBUkVEZ2dCU1FHSUFBTHRRTUJEMzhqQmlFRkl3WkI0QUpxSkFZZ0JVR29BbW9oRFNBRlFaZ0NhaUVBSUFWQmtBSnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUhVQW1vaUJ5QUZRZkFCYWlJS05nSUFFRndoRHlBRlFjQUNhaUVRSUFWQnNBSnFJUXNnRGdSL0lBQWdBaWdDQ0RZQ0FDQUFJQVE1QXdnZ0NrRWVJQThnQmlBQUVIY0ZJQTBnQkRrREFDQUtRUjRnRHlBR0lBMFFkd3NpQUVFZFNnUkFFRndoQUNBT0JIOGdDeUFDS0FJSU5nSUFJQXNnQkRrRENDQUhJQUFnQmlBTEVKc0JCU0FRSUFRNUF3QWdCeUFBSUFZZ0VCQ2JBUXNoQUNBSEtBSUFJZ1lFUUNBQUlRZ2dCaUlSSVFrRkVBQUxCU0FBSVFnZ0J5Z0NBQ0VKQ3lBRklRQWdDU0FJSUFscUlnWWdBaENKQVNFSElBa2dDa1lFUUNBQUlReEJBU0VTQlNBSVFRTjBFRVFpQUFSQUlBQWlEQ0VUQlJBQUN3c2dCVUhZQW1vaUFDQUNFRHNnQ1NBSElBWWdEQ0FGUWRBQ2FpQUZRY3dDYWlBQUVMZ0VJQUFRUENBRklBRW9BZ0EyQXNnQ0lBVW9BdEFDSVFnZ0JTZ0N6QUloQmlBQUlBVW9Bc2dDTmdJQUlBRWdBQ0FNSUFnZ0JpQUNJQU1RcFFFaUFEWUNBQ0FTUlFSQUlCTVFPQXNnRVJBNElBVWtCaUFBQy9ZQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4UVJaeUlnaEJBV29oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkEzUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRISWhCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUlZ5UVFKMFFROXFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkMva0JBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJGMm9oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkFYUkJMSEpCQW5SQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRFdvaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSaHlRUUowUVF0cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQzlnQ0FRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpRUZJQUlvQWdSQkFYRUVRQ0FGSUFJUU95QUZRYWpPQXhBNklRQWdCUkE4SUFBb0FnQWhBaUFGSUFBZ0JBUi9JQUlvQWhnRklBSW9BaHdMUVQ5eFFiSUZhaEVEQUNBRktBSUFJZ0lnQlNBRkxBQUxJZ0JCQUVnYklRTURRQ0FGS0FJRUlBQkIvd0Z4SUFCQkdIUkJHSFZCQUVnaUFCdEJBblFnQWlBRklBQWJhaUFEUndSQUlBTW9BZ0FoQWlBQktBSUFJZ0FFUUNBQUtBSVlJZ1FnQUNnQ0hFWUVmeUFBSUFJZ0FDZ0NBQ2dDTkVFL2NVR0tBV29SQWdBRklBQWdCRUVFYWpZQ0dDQUVJQUkyQWdBZ0FndEJmeEJCQkVBZ0FVRUFOZ0lBQ3dzZ0EwRUVhaUVESUFVc0FBc2hBQ0FGS0FJQUlRSU1BUXNMSUFFb0FnQWhBQ0FGRUVjRklBQW9BZ0FvQWhnaEJ5QUdJQUVvQWdBMkFnQWdCU0FHS0FJQU5nSUFJQUFnQlNBQ0lBTWdCRUVCY1NBSFFSOXhRYUlDYWhFSUFDRUFDeUFHSkFZZ0FBdlRBUUVIZnlNR0lRQWpCa0hnQUdva0JpQUFRZEFBYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFSElBR29pQmlBRU5nSUFJQUJCTUdvaUJFRVVJQWNnQlNBR0VIY2lDU0FFYWlFRklBUWdCU0FDRUlrQklRY2dCaUFDRURzZ0JrR0F6Z01RT2lFSUlBWVFQQ0FJS0FJQUtBSWdJUW9nQ0NBRUlBVWdBQ0FLUVE5eFFZb0NhaEVKQUJvZ0FDQUJLQUlBTmdKTUlBWWdBQ2dDVERZQ0FDQUdJQUFnQUNBSmFpSUJJQWNnQkdzZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RbHdFaEN5QUFKQVlnQ3d2K0V3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQVFvQWdBaUJpRUhJQUVnQWtGL2FpSVFiRUVCZENBR2FpRUZBMEFnQ1NBQlNBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0IwRUNhaUVISUFsQkFXb2hDU0FGUVFKcUlRVU1BUXNMSUFZaEIwRUFJUWtnQVVGL2FpSVJRUUYwSUFacUlRVURRQ0FKSUFKSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBQlFRRjBJQWRxSVFjZ0NVRUJhaUVKSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUhRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlRNUJBU0VNUVFBaEF5QUFJQVFvQWdScUlRa2dBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdEQ0FRVGcwQ0lBTWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RTMEFBQ0FPTFFBQVNnUkFJQVpCQURzQkFDQUpRUUE2QUFBRkFrQWdDVUYvT2dBQUlCSkJBWFFnQm1vaUF5NEJBQ0lGUVFCS0JFQWdCaUFGT3dFQUlBVkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBTkJmbW91QVFBaUJTRUlJQVZCQUVvaEN5QURMZ0VDSWdOQkFFd0VRQ0FMQkVBZ0JpQUZPd0VBSUFoQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBJQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCa0YrYWk0QkFDSURRUUJLQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJREtBSUFJQXBPRFFJZ0F5QUtOZ0lBQlNBQVFmLy9BVW9OQmlBR0lBQkJBV29pQXpzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFOQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdBeUVBQ3d3QkN5QUxCRUFDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQmtGK2FpNEJBQ0lGUVFCTUJFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFwS0JFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdNZ0RDQURLQUlBYWpZQ0FBc0xJQTFCQVdvaERTQU9RUUZxSVE0Z0NVRUJhaUVKSUFwQkFXb2hDaUFHUVFKcUlRWU1BUXNMSUExQkFtb2hEU0FPUVFKcUlRNGdERUVCYWlFTUlBQWhBeUFKUVFKcUlRa2dCa0VFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEJVRUJJUUJCQVNFSklBY2hCZ05BSUFrZ0Ewd0VRQ0FKSUFZb0FnQWlEVVlFUUNBQVFRRnFJUWNGSUFBaEJ5QU5RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQUhJUUFnQ1VFQmFpRUpJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQVZCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFSEEwQWdCeUFBU0FSQUlBUkJqSUFJYWlBSFFRSjBJZ1pCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQVpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFaQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBWkJBM0pCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdjZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQWNvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdkQkEzUnFJZ1lnQmlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQWRCQVhKQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdaSUJFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFkdVVBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRkJGbklpQ0VFQmFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVNY2lFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkZYSkJEMnBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVYYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVzY2tFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVOYWlFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkdISkJEbXBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUwzUUlCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSVFVZ0FpZ0NCRUVCY1FSQUlBVWdBaEE3SUFWQmtNNERFRG9oQUNBRkVEd2dBQ2dDQUNFQ0lBVWdBQ0FFQkg4Z0FpZ0NHQVVnQWlnQ0hBdEJQM0ZCc2dWcUVRTUFJQVVvQWdBaUFpQUZJQVVzQUFzaUFFRUFTQnNoQXdOQUlBSWdCU0FBUVJoMFFSaDFRUUJJSWdJYklBVW9BZ1FnQUVIL0FYRWdBaHRxSUFOSEJFQWdBeXdBQUNFQ0lBRW9BZ0FpQUFSQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBb0FnQW9BalFoQkNBQUlBSVFRaUFFUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUUZxTmdJWUlBUWdBam9BQUNBQ0VFSUxRWDhRUVFSQUlBRkJBRFlDQUFzTElBTkJBV29oQXlBRkxBQUxJUUFnQlNnQ0FDRUNEQUVMQ3lBQktBSUFJUUFnQlJCSEJTQUFLQUlBS0FJWUlRY2dCaUFCS0FJQU5nSUFJQVVnQmlnQ0FEWUNBQ0FBSUFVZ0FpQURJQVJCQVhFZ0IwRWZjVUdpQW1vUkNBQWhBQXNnQmlRR0lBQUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRUwwRU5nSUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMrQkRjREFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1K0NBSVFmd1I4SXdZaENTTUdRUkJxSkFZZ0NVRUlhaUVJSUFBb0FnZ2lBeUFBS0FJRVJnUkFJQUVvQWdRZ0EwWUVRQ0FDS0FJRVFRRnFJQU5HQkVBQ1FDQURRWDVxSVF3RFFDQUhJQXhJQkVBZ0FTZ0NBQ0FIUVFOMGFpQUFLQUlBSUFNZ0IyeEJBM1JxSWdzZ0IwRURkR29yQXdBNUF3QWdDQ0FESUFkclFYOXFJZzQyQWdRZ0NDQUhRUUZxSWdaQkEzUWdDMm9pRHpZQ0FDQUlFSllMSVJNZ0FpZ0NBQ0FIUVFOMGFpQVRPUU1BSUJORUFBQUFBQUFBQUFCaUJFQUNRQ0FHSVFVRFFDQUZJQU5JQkVBZ0JpRUVSQUFBQUFBQUFBQUFJUk1EUUNBRUlBVkpCRUFnRXlBQUtBSUFJQVVnQXlBRWJHcEJBM1JxS3dNQUlBUkJBM1FnQzJvckF3Q2lvQ0VUSUFSQkFXb2hCQXdCQ3dzZ0F5QUZiQ0VRSUFVaEJBTkFJQVFnQTBnRVFDQVRJQUFvQWdBZ0JDQVFha0VEZEdvckF3QWdCRUVEZENBTGFpc0RBS0tnSVJNZ0JFRUJhaUVFREFFTEN5QUJLQUlBSUFWQkEzUnFJQk01QXdBZ0JVRUJhaUVGREFFTEN5QUpJQTQyQWdRZ0NDQU9OZ0lFSUFnZ0R6WUNBQ0FKSUFFb0FnQWdCa0VEZEdvMkFnQWdDQ0FKRU9ZQ1JBQUFBQUFBQU9BL29pRVZJQU1oQlFOQUlBVkJmMm9pQlNBSFRBMEJJQUVvQWdBaURpQUZRUU4wYWlJRUt3TUFJQlVnQlVFRGRDQUxhaXNEQUNJV29xRWhFeUFFSUJNNUF3QWdBeUFGYkNFUElBVWhCQU5BSUFRZ0EwZ0VRQ0FBS0FJQUlBUWdEMnBCQTNScUloQWdFQ3NEQUNBV0lBUkJBM1FnRG1vckF3Q2lJQk1nQkVFRGRDQUxhaXNEQUtLZ29Ua0RBQ0FFUVFGcUlRUU1BUXNMREFBQUN3QUxDeUFHSVFjTUFRc0xBa0FDUUNBRFFRRktCSDhnQVNnQ0FDSU5JQXhCQTNScUlBQW9BZ0FpQVNBTUlBTWdER3dpQm1wQkEzUnFLd01BT1FNQUlBSW9BZ0FnREVFRGRHb2dCaUFEUVg5cUlnSnFRUU4wSUFGcUt3TUFPUU1BSUFFaEJpQU5JUUVNQVFVZ0EwRUJSZ1IvUVFBaEFpQUFLQUlBSVFZZ0FTZ0NBQ0VCREFJRklBTUxDeUVLREFFTElBTWhEU0FDSUFJZ0EyeHFRUU4wSUFacUt3TUFJUlFnQWtFRGRDQUJhaUVSUVJ3aEVnc0RRQ0FTUVJ4R0JFQWdFU0FVT1FNQUlBMGhDZ3NnQ2tFQVRBUkFRUUFoQUF3Q0N5QUFLQUlBSUFwQmYyb2lEU0FEYkVFRGRHb2hCaUFLSUF4TUJFQUNRQ0FESUExclFYOXFJUVVnQ2tFRGRDQUdhaUVISUFvaEFnTkFJQUlnQTA0TkFTQUpJQVUyQWdRZ0NDQUZOZ0lFSUFnZ0J6WUNBQ0FKSUFBb0FnQWdDaUFDSUFOc0lnUnFRUU4wYWpZQ0FDQUlJQWtRNWdJaEV5QUtJUUVEUUNBQklBTklCRUFnQUNnQ0FDQUJJQVJxUVFOMGFpSUxJQXNyQXdBZ0V5QUJRUU4wSUFacUt3TUFvcUU1QXdBZ0FVRUJhaUVCREFFTEN5QUNRUUZxSVFJTUFBQUxBQXNMUVFBaEFRTkFJQUVnQTBnRVFDQUJRUU4wSUFacVJBQUFBQUFBQUFBQU9RTUFJQUZCQVdvaEFRd0JDd3RFQUFBQUFBQUE4RDhoRkNBTlFRTjBJQVpxSVJGQkhDRVNEQUFBQ3dBTEJVRi9JUUFMQlVGL0lRQUxCVUYvSVFBTElBa2tCaUFBQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4Qy9CRHNCQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3VTQndFT2Z5TUdJUWdqQmtHd0Ftb2tCaUFDRUp3QklROGdBaUFJUWFBQmFoRHNBU0VRSUFoQm9BSnFJZ29nQWlBSVFhd0NhaERyQVNBSVFaUUNhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQWhCa0FKcUlnc2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQ0VHTUFtb2lEQ0FJTmdJQUlBaEJpQUpxSWcxQkFEWUNBQ0FBS0FJQUlnSWhEZ05BQWtBZ0FnUi9JQUlvQWd3aUJpQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhFZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVJLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQjBVTkF3c01BUXNnQndSL1FRQWhCZ3dDQlVFQUN5RUdDeUFMS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2RCL3dGeElBZEJBRWdiSWdkcVJnUkFJQVVnQjBFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBc2dCeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMSUE4Z0NTQUxJQTBnQ0NnQ3JBSWdDaUFJSUF3Z0VCRE9BUTBBSUFJb0Fnd2lCaUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBWkJCR28yQWd3Z0JpZ0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQmtVTkFDQUdLQUlNSWdRZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VTSUFVUVJ5QUtFRWNnQ0NRR0lCSUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQkE3SUFKQm9NNERFRG9pQUNnQ0FDZ0NNQ0VESUFCQjhPOEFRWXJ3QUNBQklBTkJEM0ZCaWdKcUVRa0FHaUFDRUR3Z0FpUUdJQUVMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVNRUVOd01BSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDN1lIQVE5L0l3WWhCaU1HUWRBQ2FpUUdJQVpCdUFKcUlnb2dBaUFHUWFBQmFpSVFJQVpCeUFKcUlBWkJ4QUpxRU9VQ0lBWkJyQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtHb0Ftb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FhUUNhaUlOSUFZMkFnQWdCa0dnQW1vaURrRUFOZ0lBSUFaQnpRSnFJZ3RCQVRvQUFDQUdRY3dDYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUFzZ0N5QVJJQWtnRENBR0tBTElBaUFHS0FMRUFpQUtJQVlnRFNBT0lCQVE1QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dTJCd0VQZnlNR0lRWWpCa0hRQW1va0JpQUdRYmdDYWlJS0lBSWdCa0dnQVdvaUVDQUdRY2dDYWlBR1FjUUNhaERsQWlBR1Fhd0NhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCcUFKcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtHa0Ftb2lEU0FHTmdJQUlBWkJvQUpxSWc1QkFEWUNBQ0FHUWMwQ2FpSUxRUUU2QUFBZ0JrSE1BbW9pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ29BZ0FMSUFzZ0VTQUpJQXdnQmlnQ3lBSWdCaWdDeEFJZ0NpQUdJQTBnRGlBUUVPUUNEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUVhallDRENBSEtBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1Rd3dRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHRnY0JEMzhqQmlFR0l3WkIwQUpxSkFZZ0JrRzRBbW9pQ2lBQ0lBWkJvQUZxSWhBZ0JrSElBbW9nQmtIRUFtb1E1UUlnQmtHc0Ftb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRYWdDYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCcEFKcUlnMGdCallDQUNBR1FhQUNhaUlPUVFBMkFnQWdCa0hOQW1vaUMwRUJPZ0FBSUFaQnpBSnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDeUFMSUJFZ0NTQU1JQVlvQXNnQ0lBWW9Bc1FDSUFvZ0JpQU5JQTRnRUJEa0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkJHbzJBZ3dnQnlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTVFFT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzhjSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFoQm9BRnFJUTBnQ0VHWUFtb2hCaUFJUWFRQ2FpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUWFET0F4QTZJZ0FvQWdBb0FqQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCaUFKcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1VBbW9pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRWkFDYWlJUElBZzJBZ0FnQ0VHTUFtb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhERUVBSVFOQkFRVkJBQXNGUVFBaERFRUFJUU5CQVFzaENRSkFBa0FnQWlnQ0FDSUhSUTBBSUFjb0Fnd2lFU0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUpSUTBEQ3d3QkN5QUpCSDlCQUNFSERBSUZRUUFMSVFjTElBb29BZ0FnQUNBR0tBSUVJQVlzQUFzaUNVSC9BWEVnQ1VFQVNCc2lDV3BHQkVBZ0JpQUpRUUYwRUVvZ0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ2lBSklBWW9BZ0FnQmlBR0xBQUxRUUJJR3lJQWFqWUNBQXNnQXlnQ0RDSUpJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBdEJFQ0FBSUFvZ0VFRUFJQXNnQ0NBUElBMFF6Z0VOQUNBREtBSU1JZ2NnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQUFrQUNRQUpBSUFkRkRRQWdCeWdDRENJRElBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFFSUFRb0FnQkJBbkkyQWdBTElBRW9BZ0FoRXlBR0VFY2dDeEJISUFna0JpQVRDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDT0N5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNOQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ01DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTEN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNJQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0dDeUVISUFZa0JpQUhDNUFCQWdOL0Fud2dBQ0FBRU9ZQ255SUVSQUFBQUFBQUFBQUFZZ1JBSUFTYUlBUWdBQ2dDQUNJQkt3TUFJZ1ZFQUFBQUFBQUFBQUJqR3lFRUlBRWdCU0FFb0NJRk9RTUFSQUFBQUFBQUFQQS9JQVFnQmFLZm95RUZJQUFvQWdRaEFrRUFJUUFEUUNBQUlBSklCRUFnQUVFRGRDQUJhaUlESUFVZ0F5c0RBS0k1QXdBZ0FFRUJhaUVBREFFTEN3c2dCSm9MVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJVUxJUWNnQmlRR0lBY0w3UUlCQkg4akJpRUdJd1pCTUdva0JpQUdRU2hxSVFjZ0JrRWdhaUVJSUFNb0FnUkJBWEVFUUNBSElBTVFPeUFIUWFET0F4QTZJUWtnQnhBOElBY2dBeEE3SUFkQnFNNERFRG9oQXlBSEVEd2dBeWdDQUNnQ0dDRUFJQVlnQXlBQVFUOXhRYklGYWhFREFDQURLQUlBS0FJY0lRQWdCa0VNYWlBRElBQkJQM0ZCc2dWcUVRTUFJQVlnQWlnQ0FEWUNHQ0FISUFZb0FoZzJBZ0FnQlNBQklBY2dCaUFHUVJocUlnQWdDU0FFUVFFUWxRSWdCa1k2QUFBZ0FTZ0NBQ0VCQTBBZ0FFRjBhaUlBRUVjZ0FDQUdSdzBBQ3dVZ0NFRi9OZ0lBSUFBb0FnQW9BaEFoQ1NBR0lBRW9BZ0EyQWlRZ0JpQUNLQUlBTmdJY0lBWWdCaWdDSkRZQ0FDQUhJQVlvQWh3MkFnQWdBU0FBSUFZZ0J5QURJQVFnQ0NBSlFUOXhRY1lDYWhFS0FEWUNBQUpBQWtBQ1FBSkFJQWdvQWdBT0FnQUJBZ3NnQlVFQU9nQUFEQUlMSUFWQkFUb0FBQXdCQ3lBRlFRRTZBQUFnQkVFRU5nSUFDeUFCS0FJQUlRRUxJQVlrQmlBQkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdlFRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZnUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2d1E3QVFBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdRUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzhZSEFROS9Jd1loQmlNR1FmQUJhaVFHSUFaQjJBRnFJZ29nQWlBR1FhQUJhaUlRSUFaQjV3RnFJQVpCNWdGcUVPa0NJQVpCekFGcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrSElBV29pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRY1FCYWlJTklBWTJBZ0FnQmtIQUFXb2lEa0VBTmdJQUlBWkI1UUZxSWd0QkFUb0FBQ0FHUWVRQmFpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Vpd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0Qi93RnhJQXNnRVNBSklBd2dCaXdBNXdFZ0Jpd0E1Z0VnQ2lBR0lBMGdEaUFRRU9nQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx4Z2NCRDM4akJpRUdJd1pCOEFGcUpBWWdCa0hZQVdvaUNpQUNJQVpCb0FGcUloQWdCa0huQVdvZ0JrSG1BV29RNlFJZ0JrSE1BV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWNnQmFpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnhBRnFJZzBnQmpZQ0FDQUdRY0FCYWlJT1FRQTJBZ0FnQmtIbEFXb2lDMEVCT2dBQUlBWkI1QUZxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFZ0N5QVJJQWtnRENBR0xBRG5BU0FHTEFEbUFTQUtJQVlnRFNBT0lCQVE2QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUUZxTmdJTUlBY3NBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNTUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd2R0J3RVBmeU1HSVFZakJrSHdBV29rQmlBR1FkZ0JhaUlLSUFJZ0JrR2dBV29pRUNBR1FlY0JhaUFHUWVZQmFoRHBBaUFHUWN3QmFpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJ5QUZxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0hFQVdvaURTQUdOZ0lBSUFaQndBRnFJZzVCQURZQ0FDQUdRZVVCYWlJTFFRRTZBQUFnQmtIa0FXb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFmOEJjU0FMSUJFZ0NTQU1JQVlzQU9jQklBWXNBT1lCSUFvZ0JpQU5JQTRnRUJEb0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkFXbzJBZ3dnQnl3QUFCQkNHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1ReEFRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDMEVCQW44Z0FDZ0NCQ0VCSUFBb0FnQWdBQ2dDQ0NJQ1FRRjFhaUVBSUFKQkFYRUVRQ0FCSUFBb0FnQnFLQUlBSVFFTElBQWdBVUgvQVhGQnJBTnFFUUVBQ3cwQUlBQW9BZ0FvQWdBUW9Rc0xKd0VCZnlBQktBSUFJUU1nQVNnQ0JDRUJJQUFnQWpZQ0FDQUFJQU0yQWdRZ0FDQUJOZ0lJQ3lFQkFYOUJqTTREUVl6T0F5Z0NBQ0lCUVFGcU5nSUFJQUFnQVVFQmFqWUNCQXR0QVFSL0l3WWhBU01HUVRCcUpBWWdBVUVZYWlFRElBRkJqd0UyQWhBZ0FVRUFOZ0lVSUFGQklHb2lBaUFCS1FJUU53SUFJQUVnQWlBQUVLTUxJQUFvQWdCQmYwY0VRQ0FDSUFFMkFnQWdBeUFDTmdJQUlBQWdBeERwQ1FzZ0FDZ0NCRUYvYWlFRUlBRWtCaUFFQzljSEFRNS9Jd1loQ0NNR1FmQUJhaVFHSUFoQm9BRnFJUTBnQ0VIUUFXb2hCaUFJUWR3QmFpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUVlET0F4QTZJZ0FvQWdBb0FpQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCd0FGcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFSE1BV29pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRY2dCYWlJUElBZzJBZ0FnQ0VIRUFXb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VNUVFBaEEwRUJCVUVBQ3dWQkFDRU1RUUFoQTBFQkN5RUpBa0FDUUNBQ0tBSUFJZ2RGRFFBZ0J5Z0NEQ0lSSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTd0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ1VVTkF3c01BUXNnQ1FSL1FRQWhCd3dDQlVFQUN5RUhDeUFLS0FJQUlBQWdCaWdDQkNBR0xBQUxJZ2xCL3dGeElBbEJBRWdiSWdscVJnUkFJQVlnQ1VFQmRCQktJQVlnQml3QUMwRUFTQVIvSUFZb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBb2dDU0FHS0FJQUlBWWdCaXdBQzBFQVNCc2lBR28yQWdBTElBTW9BZ3dpQ1NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhRUkFnQUNBS0lCQkJBQ0FMSUFnZ0R5QU5FTkFCRFFBZ0F5Z0NEQ0lISUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUFDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ01nQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUk1nQmhCSElBc1FSeUFJSkFZZ0V3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRb0FzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFud3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRblFzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtd3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbVFzaEJ5QUdKQVlnQnd2dEFnRUVmeU1HSVFZakJrRXdhaVFHSUFaQktHb2hCeUFHUVNCcUlRZ2dBeWdDQkVFQmNRUkFJQWNnQXhBN0lBZEJnTTRERURvaENTQUhFRHdnQnlBREVEc2dCMEdRemdNUU9pRURJQWNRUENBREtBSUFLQUlZSVFBZ0JpQURJQUJCUDNGQnNnVnFFUU1BSUFNb0FnQW9BaHdoQUNBR1FReHFJQU1nQUVFL2NVR3lCV29SQXdBZ0JpQUNLQUlBTmdJWUlBY2dCaWdDR0RZQ0FDQUZJQUVnQnlBR0lBWkJHR29pQUNBSklBUkJBUkNXQWlBR1Jqb0FBQ0FCS0FJQUlRRURRQ0FBUVhScUlnQVFSeUFBSUFaSERRQUxCU0FJUVg4MkFnQWdBQ2dDQUNnQ0VDRUpJQVlnQVNnQ0FEWUNKQ0FHSUFJb0FnQTJBaHdnQmlBR0tBSWtOZ0lBSUFjZ0JpZ0NIRFlDQUNBQklBQWdCaUFISUFNZ0JDQUlJQWxCUDNGQnhnSnFFUW9BTmdJQUFrQUNRQUpBQWtBZ0NDZ0NBQTRDQUFFQ0N5QUZRUUE2QUFBTUFnc2dCVUVCT2dBQURBRUxJQVZCQVRvQUFDQUVRUVEyQWdBTElBRW9BZ0FoQVFzZ0JpUUdJQUVMUVFFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVNnQ0FDQUFRUVIwYWlJRFFZQ0FnSUIvY1NFQUlBTWdBQ0FBUVJoMmNuTWhBQ0FCUVFScUlRRU1BUXNMSUFBTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeERIQkF0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVvQWdBaUFDQURLQUlBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFScUlRTWdBVUVFYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMUHdFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVN3QUFDQUFRUVIwYWlJQVFZQ0FnSUIvY1NJRElBTkJHSFp5SUFCeklRQWdBVUVCYWlFQkRBRUxDeUFBQ3owQkFYOGdBQVIvSUFBb0FnQWlBUVIvSUFFb0FyZ0JFRGdnQUNnQ0FDZ0N2QUVRT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4RCtBd3RYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRXNBQUFpQUNBRExBQUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUUZxSVFNZ0FVRUJhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xJZ0VCZnlBQUJFQWdBQ2dDQUNnQ0JDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3dTFBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRUnFJUU1nQlVFSWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFFRUk2QUFBZ0FDZ0NKQ0lIS0FJQUtBSU1JUWdDZndKQUFrQUNRQ0FISUFBb0FpZ2dCQ0FFUVFGcUlBVWdBaUFDUVFocUlBTWdDRUVQY1VHT0Eyb1JEZ0JCQVdzT0F3SUNBQUVMSUFJZ0JpZ0NBRG9BQUNBRElBSkJBV28yQWdBTEEwQWdBeWdDQUNJRUlBSk5CRUJCQVNFRFFRQU1Bd3NnQXlBRVFYOXFJZ1EyQWdBZ0JDd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTEMwRUFJUU5CZndzaEFpQURCSDhnQmdVZ0FpRUJEQUlMQlNBQVFUQnFDeUFCTmdJQUlBQkJBVG9BTkFzTElBVWtCaUFCQ3drQUlBQkJBUkRJQkFzSkFDQUFRUUFReUFRTFhnRUJmeUFBSUFGQnNOQURFRG9pQVRZQ0pDQUFJQUVnQVNnQ0FDZ0NHRUgvQUhGQkNHb1JBQUEyQWl3Z0FDZ0NKQ0lCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBMUlBQW9BaXhCQ0VvRVFCQUFDd3V6QWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUWhxSVFNZ0JVRUVhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBTmdJQUlBQW9BaVFpQnlnQ0FDZ0NEQ0VJQW44Q1FBSkFBa0FnQnlBQUtBSW9JQVFnQkVFRWFpQUZJQUlnQWtFSWFpQURJQWhCRDNGQmpnTnFFUTRBUVFGckRnTUNBZ0FCQ3lBQ0lBWW9BZ0E2QUFBZ0F5QUNRUUZxTmdJQUN3TkFJQU1vQWdBaUJDQUNUUVJBUVFFaEEwRUFEQU1MSUFNZ0JFRi9haUlFTmdJQUlBUXNBQUFnQUNnQ0lCRHZBVUYvUncwQUN3dEJBQ0VEUVg4TElRSWdBd1IvSUFZRklBSWhBUXdDQ3dVZ0FFRXdhZ3NnQVRZQ0FDQUFRUUU2QURRTEN5QUZKQVlnQVF1S0F3SU1md0o4SXdZaEFTTUdRVUJySkFZZ0FVRWdhaUVDUWRBQkVFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFJUVBVRUJFQUVMSUFGQktHb2hCQ0FESUFCQnVBRVFUQm9nQXlBQUtBSUFRUjVxSWdnMkFzQUJJQU1nQUNnQ0JFRWVhaUlKTmdMRUFTQURRUTgyQXNnQklBTkJEellDekFFZ0F5QUpJQWhCQTNSc0lnVVFSQ0lDTmdLNEFTQUNSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQVVFd2FpRUdJQU1nQlJCRUlnUTJBcndCSUFSRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUJRUmhxSVFVZ0FVRVFhaUVHSUFGQkNHb2hDaUFBUWVnQWFpRUxJQUFvQXJBQklRd2dBaUVBQTBBZ0J5QUpTQVJBSUFkQkQydXl1eUVOUVFBaEFnTkFJQUlnQ0VnRVFDQUxJQUpCRDJ1eXV5SU9JQTBnQ2lBQklBd1EyQXNnQUNBS0t3TUF0amdDQUNBQUlBRXJBd0MyT0FJRUlBc2dEaUFOSUFVZ0JpQU1FTjhFSUFRZ0JTc0RBTFk0QWdBZ0JDQUdLd01BdGpnQ0JDQUNRUUZxSVFJZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0IwRUJhaUVIREFFTEN5QUJKQVlnQXdzSkFDQUFRUUVReVFRTENRQWdBRUVBRU1rRUMxNEJBWDhnQUNBQlFialFBeEE2SWdFMkFpUWdBQ0FCSUFFb0FnQW9BaGhCL3dCeFFRaHFFUUFBTmdJc0lBQW9BaVFpQVNnQ0FDZ0NIQ0VDSUFBZ0FTQUNRZjhBY1VFSWFoRUFBRUVCY1RvQU5TQUFLQUlzUVFoS0JFQVFBQXNMblFJQkNYOGpCaUVESXdaQklHb2tCaUFEUVJCcUlRUWdBMEVJYWlFQ0lBTkJCR29oQmdKL0FrQWdBVUYvRUVFTkFBSi9JQUlnQVJCQ09nQUFJQUFzQUN3RVFDQUNRUUZCQVNBQUtBSWdFSk1CUVFGR0RRSkJmd3dCQ3lBR0lBUTJBZ0FnQWtFQmFpRUhJQVJCQ0dvaENBSkFBMEFDUUNBQUtBSWtJZ1VvQWdBb0Fnd2hDU0FGSUFBb0FpZ2dBaUFISUFNZ0JDQUlJQVlnQ1VFUGNVR09BMm9SRGdBaEJTQUNJQU1vQWdCR0RRSWdCVUVEUmcwQUlBVkJBazhOQWlBR0tBSUFJQVJySWdJZ0JFRUJJQUlnQUNnQ0lCQ1RBVWNOQWlBREtBSUFJUUlnQlVFQlJnMEJEQVFMQ3lBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZIRFFBTUFndEJmd3NNQVFzZ0FVRi9FRUVFZjBFQUJTQUJDd3NoQ2lBREpBWWdDZ3RmQVFKL0lBQXNBQ3dFUUNBQlFRRWdBaUFBS0FJZ0VKTUJJUU1GQTBBZ0F5QUNTQVJBSUFBb0FnQW9BalFoQkNBQUlBRXNBQUFRUWlBRVFUOXhRWW9CYWhFQ0FFRi9Sd1JBSUFOQkFXb2hBeUFCUVFGcUlRRU1BZ3NMQ3dzZ0F3dE1BUUYvSUFBb0FnQW9BaGdoQWlBQUlBSkIvd0J4UVFocUVRQUFHaUFBSUFGQnNOQURFRG9pQVRZQ0pDQUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0FzQzVzQ0FRbC9Jd1loQXlNR1FTQnFKQVlnQTBFUWFpRUVJQU5CQ0dvaEFpQURRUVJxSVFZQ2Z3SkFJQUZCZnhCQkRRQUNmeUFDSUFFMkFnQWdBQ3dBTEFSQUlBSkJCRUVCSUFBb0FpQVFrd0ZCQVVZTkFrRi9EQUVMSUFZZ0JEWUNBQ0FDUVFScUlRY2dCRUVJYWlFSUFrQURRQUpBSUFBb0FpUWlCU2dDQUNnQ0RDRUpJQVVnQUNnQ0tDQUNJQWNnQXlBRUlBZ2dCaUFKUVE5eFFZNERhaEVPQUNFRklBSWdBeWdDQUVZTkFpQUZRUU5HRFFBZ0JVRUNUdzBDSUFZb0FnQWdCR3NpQWlBRVFRRWdBaUFBS0FJZ0VKTUJSdzBDSUFNb0FnQWhBaUFGUVFGR0RRRU1CQXNMSUFKQkFVRUJJQUFvQWlBUWt3RkJBVWNOQUF3Q0MwRi9Dd3dCQ3lBQlFYOFFRUVIvUVFBRklBRUxDeUVLSUFNa0JpQUtDMWtCQVg4Z0FDd0FMQVJBSUFGQkJDQUNJQUFvQWlBUWt3RWhBd1VEUUNBRElBSklCRUFnQUNBQktBSUFJQUFvQWdBb0FqUkJQM0ZCaWdGcUVRSUFRWDlIQkVBZ0EwRUJhaUVESUFGQkJHb2hBUXdDQ3dzTEN5QURDMHdCQVg4Z0FDZ0NBQ2dDR0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUFhSUFBZ0FVRzQwQU1RT2lJQk5nSWtJQUVvQWdBb0Fod2hBaUFBSUFFZ0FrSC9BSEZCQ0dvUkFBQkJBWEU2QUN3TDdBVUNCMzhDZkNNR0lRUWpCa0dnQTJva0JpQUVRWkFEYWlFR0lBUkJnQUZxSVFnZ0FDZ0NBQ0VISUFBb0FnUWhCU0FBUVFocUlBUkJzQUpxSWdvZ0JFSFFBV29pQ1JEekMwRUFTQVJBUVFCQkEwR2JyQUVnQmhBOUJRSkFJQVZCZjJxM0lReEJBQ0VGQTBBZ0JVRUVSd1JBSUFwQklHb2dCVUVEZEdvaUFDQUtRVUJySUFWQkEzUnFLd01BSUF5aUlBQXJBd0NoT1FNQUlBVkJBV29oQlF3QkN3c2dDaXNEVUNFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFBRFFDQUFRUU5IQkVBZ0JVRVliQ0FJYWlBQVFRTjBhaUFGUVFWMElBcHFJQUJCQTNScUt3TUFJQXVqT1FNQUlBQkJBV29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFFSUFnckF3QkVBQUFBQUFBQUFFQ2lJQWRCZjJxM0lndWpPUU1BSUFRZ0NDc0RDRVFBQUFBQUFBQUFRS0lnQzZNNUF3Z2dCQ0FJS3dNUVJBQUFBQUFBQUFCQW9pQUxvMFFBQUFBQUFBRHd2NkNhT1FNUUlBUkNBRGNER0NBRVFnQTNBeUFnQkNBSUt3TWdSQUFBQUFBQUFBQkFvaUFNbzVvNUF5Z2dCQ0FJS3dNb1JBQUFBQUFBQUFCQW9pQU1vMFFBQUFBQUFBRHd2NkNhT1FNd0lBUkNBRGNET0NBRVFnQTNBMEFnQkVJQU53TklJQVFnQVNBQ29DQUJJQUtoSWd1ak9RTlFJQVFnQWtRQUFBQUFBQUFBUUtJZ0FhSWdDNk01QTFnZ0JFSUFOd05nSUFSQ0FEY0RhQ0FFUkFBQUFBQUFBUEMvT1FOd0lBUkVBQUFBQUFBQUFBQTVBM2dnQ1NzREdDRUxJQWtyQXpnaEFpQUpLd05ZSVFGQkFDRUdBMEFnQmtFRVJnMEJJQVpCQlhRZ0JHb3JBd0FoRENBR1FRVjBJQVJxSVFVZ0JrRUZkQ0FFYWlFQVFRQWhCd05BSUFkQkEwY0VRQ0FHSUFkQkFuUnFRUU4wSUFOcUlBd2dCMEVEZENBSmFpc0RBS0lnQlNzRENDQUpRU0JxSUFkQkEzUnFLd01Bb3FBZ0FDc0RFQ0FKUVVCcklBZEJBM1JxS3dNQW9xQTVBd0FnQjBFQmFpRUhEQUVMQ3lBR1FReHFRUU4wSUFOcUlBWkJCWFFnQkdvckF4Z2dEQ0FMb2lBRkt3TUlJQUtpb0NBQUt3TVFJQUdpb0tBNUF3QWdCa0VCYWlFR0RBQUFDd0FMQ3lBRUpBWUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBSUFoQkFEc0JBQ0FNUVFBNkFBQUZBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMNkFVQ0NuOEJmQ01HSVFRakJrR0FBbW9rQmlBRVFmZ0JhaUVJSUFSQjhBRnFJUW9nQkVIb0FXb2hEQ0FFUWVBQmFpRUZJQVJCMkFGcUlRc2dCRUhRQVdvaEJ5QUVRY2dCYWlFSklBUkJFR29oQXlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FBUVlpNUFSQ3dBU0lHUlFSQUlBbEJwTVVES0FJQU5nSUFJQWtnQURZQ0JFRUFRUU5CczZvQklBa1FQVUdreFFNb0FnQVF2UUVoQUNBSFFhZlZBellDQUNBSElBQTJBZ1JCQUVFRFFhVzJBU0FIRUQxQmZ5RUFEQUVMSUFaQkFFRUNFUFFCSUFZb0Frd2FJQVlvQWdCQkJYWkJBWEVFUUNBTFFhVEZBeWdDQURZQ0FFRUFRUU5CK0tvQklBc1FQVUdreFFNb0FnQVF2UUVoQUNBRlFhZlZBellDQUNBRklBQTJBZ1JCQUVFRFFhVzJBU0FGRUQxQmZ5RUFCUUpBSUFZUStBSWhCeUFHRVBrQ1FRQWhBQUpBQWtBRGZ5QUFRUVJQRFFFZ0FFRUJhaUVGSUFjZ0FFRURkRUdrRldvb0FnQWlBQkJQQkg4Z0JTRUFEQUVGSUFVTEN5RUZEQUVMSUFCQkJFWUVmMEVBUVFOQnBhc0JJQXdRUFVGL0lRQU1BZ1ZCQUNFRlFhUVZLQUlBQ3lFQUN5QURJQUJCQVNBR0VHRkJBVWNFUUNBS1FhVEZBeWdDQURZQ0FFRUFRUU5COWFzQklBb1FQVUdreFFNb0FnQVF2UUVoQUNBSVFhZlZBellDQUNBSUlBQTJBZ1JCQUVFRFFhVzJBU0FJRUQxQmZ5RUFEQUVMSUFNZ0JUWUNzQUVnQXhEWUJDQUZRUUZHSWdjRVFDQURLd040SVEwZ0F5QURRWUFCYWlJQUt3TUFPUU40SUFNZ0RUa0RnQUVGSUFOQmdBRnFJUUFMSUFFZ0EwRzRBUkJNR2lBRUlBSTJBZ0JCQVNFQ0EwQWdBa0VCVGdSQVFRQWhBQXdDQ3lBRUtBSUFRUU5xUVh4eElna29BZ0FoQ0NBRUlBbEJCR28yQWdBZ0NDQUJLQUt3QVRZQ3NBRWdBeUFCS0FLd0FVRURkRUdjRldvb0FnQkJBU0FHRUdGQkFVY0VRRUYvSVFBTUFnc2dBeUFGTmdLd0FTQURFTmdFSUFjRVFDQURLd040SVEwZ0F5QUFLd01BT1FONElBQWdEVGtEQUFzZ0NDQURRYmdCRUV3YUlBSkJBV29oQWd3QUFBc0FDd3NnQmhCcUN3VkJmeUVBQ3lBRUpBWWdBQXVUQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BaGdnQTBFQ2RHbzJBaGdnQXlBRWFpRUVJQU5CQW5RZ0FXb0ZJQUFnQVNnQ0FDQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFScUN5RUJEQUVMQ3lBRUN6TUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVFYWpZQ0RDQUFLQUlBQ3d1VUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0Fnd2lBeUFBS0FJUUlnVkpCSDhnQVNBRElBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWd3Z0EwRUNkR28yQWd3Z0EwRUNkQ0FCYWdVZ0FDQUFLQUlBS0FJb1FmOEFjVUVJYWhFQUFDSURRWDlHRFFFZ0FTQUROZ0lBUVFFaEF5QUJRUVJxQ3lFQklBTWdCR29oQkF3QkN3c2dCQXVRQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOcklnTWdCaUFEU0JzaUF4Q29BU0FBSUFNZ0FDZ0NHR28yQWhnZ0F5QUVhaUVFSUFFZ0Eyb0ZJQUFvQWdBb0FqUWhBeUFBSUFFc0FBQVFRaUFEUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUUZxQ3lFQkRBRUxDeUFFQ3pVQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUJhallDRENBQUxBQUFFRUlMQzQwQkFRUi9BMEFDUUNBRUlBSk9EUUFnQUNnQ0RDSURJQUFvQWhBaUJVa0VmeUFCSUFNZ0FpQUVheUlHSUFVZ0Eyc2lBeUFHSUFOSUd5SURFS2dCSUFBZ0F5QUFLQUlNYWpZQ0RDQUJJQU5xQlNBQUlBQW9BZ0FvQWloQi93QnhRUWhxRVFBQUlnTkJmMFlOQVNBQklBTVFRam9BQUVFQklRTWdBVUVCYWdzaEFTQURJQVJxSVFRTUFRc0xJQVFMQ3dBZ0FCQ2RBaUFBRURnTFNBRUNmeUFBS0FJb0lRRURRQ0FCQkVBZ0FDZ0NJQ0FCUVg5cUlnRkJBblJxS0FJQUlRSkJBQ0FBSUFBb0FpUWdBVUVDZEdvb0FnQWdBa0VEY1VIMkJXb1JCZ0FNQVFzTEN3UUFRUUFMTXdFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJJQUVvQWdBMkFnUWdBU2dDQkNnQ0JCQ0lBeUVDSUFFa0JpQUNDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRWXVKQXpZQ0FFR3crUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFldUlBellDQUVHNCtRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWN5SUF6WUNBRUhBK1FCQkJpQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZDZHQXpZQ0FFSEkrUUJCQlNBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjQ0dBellDQUVIUStRQkJCQ0FBS0FJQUVBZ2dBQ1FHQytvRkFRWjhBbjhDUUFKQUFrQUNRQUpBQWtBZ0JVRUJhdzRFQXdJQkFBUUxJQUFyQXdBZ0FTQUFLd013SWdpaElBQkJRR3NyQXdBaUJxSWdBQ3NESUNJSm95SUJJQUdpSUFJZ0FDc0RPQ0lLb1NBR29pQUFLd01vSWd1aklnSWdBcUtnSWdhaVJBQUFBQUFBQVBBL29DQUdJQUFyQXdnZ0JxS2lvQ0VISUFNZ0NDQUpJQUFyQXhnaUNDQUdJQUVnQVVRQUFBQUFBQUFBUUtLaW9LSWdBaUFBS3dNUUlnbEVBQUFBQUFBQUFFQ2lJQUdpb2lBQklBZWlvS0Npb0RrREFDQUtJQXNnQWlBSVJBQUFBQUFBQUFCQW9pQUJvcUlnQ1NBR0lBSWdBa1FBQUFBQUFBQUFRS0tpb0tJZ0FpQUhvcUNnb3FBaEFRd0VDeUFCSUFBckF3QWlCcUVnQUNzREVDSUhvaUlCUkFBQUFBQUFBQUFBWVNBSElBSWdBQ3NEQ0tHaUlnSkVBQUFBQUFBQUFBQmhjUVI4SUFNZ0Jqa0RBQ0FBS3dNSUJTQURJQVlnQUNzREdDQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TWdSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFNTElBRWdBQ3NEQUNJR29TQUFLd01RSWdlaUlnRkVBQUFBQUFBQUFBQmhJQWNnQWlBQUt3TUlvYUlpQWtRQUFBQUFBQUFBQUdGeEJId2dBeUFHT1FNQUlBQXJBd2dGSUFNZ0JpQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtnT1FNQUlBQXJBd2dnQWlBQm9xQUxJUUVNQWdzZ0FTQUFLd01BSWdhaElBQXJBeEFpQjZJaUFVUUFBQUFBQUFBQUFHRWdCeUFDSUFBckF3aWhvaUlDUkFBQUFBQUFBQUFBWVhFRWZDQURJQVk1QXdBZ0FDc0RDQVVnQXlBR0lBRkVBQUFBQUFBQThEOGdBU0FCb2lBQ0lBS2lvQ0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJZ0dpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFFTFFYOE1BUXNnQkNBQk9RTUFRUUFMR2dzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVITWhBTTJBZ0JCaVBvQVFRQWdBQ2dDQUJBSUlBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhkZ3dNMkFnQkJtUGtBSUFBb0FnQkJDQkFXSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSFhnd00yQWdCQmtQa0FJQUFvQWdCQkJCQVdJQUFrQmdzdEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVISmd3TTJBZ0JCaVBrQUlBQW9BZ0JCQkVFQVFYOFFDaUFBSkFZTE5RRUJmeU1HSVFBakJrRVFhaVFHSUFCQnhJTUROZ0lBUVlENUFDQUFLQUlBUVFSQmdJQ0FnSGhCLy8vLy93Y1FDaUFBSkFZTExRRUJmeU1HSVFBakJrRVFhaVFHSUFCQnQ0TUROZ0lBUWZqNEFDQUFLQUlBUVFSQkFFRi9FQW9nQUNRR0N6VUJBWDhqQmlFQUl3WkJFR29rQmlBQVFiT0RBellDQUVIdytBQWdBQ2dDQUVFRVFZQ0FnSUI0UWYvLy8vOEhFQW9nQUNRR0N5OEJBWDhqQmlFQUl3WkJFR29rQmlBQVFhU0RBellDQUVIbytBQWdBQ2dDQUVFQ1FRQkIvLzhERUFvZ0FDUUdDekVCQVg4akJpRUFJd1pCRUdva0JpQUFRWjZEQXpZQ0FFSGcrQUFnQUNnQ0FFRUNRWUNBZmtILy93RVFDaUFBSkFZTExnRUJmeU1HSVFBakJrRVFhaVFHSUFCQmtJTUROZ0lBUWRENEFDQUFLQUlBUVFGQkFFSC9BUkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR0Vnd00yQWdCQjJQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUgvZ2dNMkFnQkJ5UGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzZkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHbTFRTTJBZ0FRNEFRZ0FDUUdDd1lBUWVERkF3c0dBRUhjeFFNTEJnQkIxTVVEQ3dnQVFlVEZBeEEyQzNBQkFuOGdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdVQ1FDQUFRUkJxSUFBb0Fnd2lCRUVEZEdvaEJTQUFRUkJxSUFFZ0FpQURFT0VFSUFSQkFVb0VRQ0FBUVJocUlRQURRQ0FBSUFFZ0FpQURFT0VFSUFFc0FEWU5BaUFBUVFocUlnQWdCVWtOQUFzTEN3c0x4UVFCQTM4Z0FDQUJLQUlJSUFRUWdRRUVRQ0FCSUFJZ0F4RHlBZ1VDUUNBQUlBRW9BZ0FnQkJDQkFVVUVRQ0FBS0FJTUlRVWdBRUVRYWlBQklBSWdBeUFFRUo0Q0lBVkJBVXdOQVNBQVFSQnFJQVZCQTNScUlRWWdBRUVZYWlFRklBQW9BZ2dpQUVFQ2NVVUVRQ0FCS0FJa1FRRkhCRUFnQUVFQmNVVUVRQU5BSUFFc0FEWU5CU0FCS0FJa1FRRkdEUVVnQlNBQklBSWdBeUFFRUo0Q0lBVkJDR29pQlNBR1NRMEFEQVVBQ3dBTEEwQWdBU3dBTmcwRUlBRW9BaVJCQVVZRVFDQUJLQUlZUVFGR0RRVUxJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01Bd3NMQTBBZ0FTd0FOZzBDSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQVFzZ0FTZ0NFQ0FDUndSQUlBRW9BaFFnQWtjRVFDQUJJQU0yQWlBZ0FTZ0NMRUVFUndSQUlBQkJFR29nQUNnQ0RFRURkR29oQjBFQUlRTWdBRUVRYWlFR0lBRUNmd0pBQTBBQ1FDQUdJQWRQRFFBZ0FVRUFPZ0EwSUFGQkFEb0FOU0FHSUFFZ0FpQUNRUUVnQkJEdkFpQUJMQUEyRFFBZ0FTd0FOUVJBQWtBZ0FTd0FORVVFUUNBQUtBSUlRUUZ4QkVCQkFTRUZEQUlGREFZTEFBc2dBU2dDR0VFQlJnUkFRUUVoQXd3RkN5QUFLQUlJUVFKeEJIOUJBU0VGUVFFRlFRRWhBd3dGQ3lFREN3c2dCa0VJYWlFR0RBRUxDeUFGQkg4TUFRVkJCQXNNQVF0QkF3czJBaXdnQTBFQmNRMERDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMvUUNBUWwvSUFBZ0FTZ0NDQ0FGRUlFQkJFQWdBU0FDSUFNZ0JCRHhBZ1VnQVN3QU5DRU9JQUVzQURVaEJpQUFRUkJxSUFBb0Fnd2lCMEVEZEdvaERDQUJRUUE2QURRZ0FVRUFPZ0ExSUFCQkVHb2dBU0FDSUFNZ0JDQUZFTzhDSUE0Z0FTd0FOQ0lMY2lFSklBWWdBU3dBTlNJSWNpRUdJQWRCQVVvRWZ3Si9JQUJCR0dvaENnTi9JQVpCQVhFaEJ5QUpRUUZ4SVFZZ0FTd0FOZ1JBSUFZaEFpQUhEQUlMSUF0Qi93RnhCRUFnQVNnQ0dFRUJSZ1JBSUFZaEFpQUhEQU1MSUFBb0FnaEJBbkZGQkVBZ0JpRUNJQWNNQXdzRklBaEIvd0Z4QkVBZ0FDZ0NDRUVCY1VVRVFDQUdJUUlnQnd3RUN3c0xJQUZCQURvQU5DQUJRUUE2QURVZ0NpQUJJQUlnQXlBRUlBVVE3d0lnQmlBQkxBQTBJZ3R5SVFnZ0J5QUJMQUExSWcxeUlRWWdDa0VJYWlJSElBeEpCSDhnQnlFS0lBZ2hDU0FOSVFnTUFRVWdDQ0VDSUFZTEN3c0ZJQWtoQWlBR0N5RUFJQUVnQWtIL0FYRkJBRWM2QURRZ0FTQUFRZjhCY1VFQVJ6b0FOUXNMQ3dBZ0FDQUJRUUFRZ1FFTEtRRUJmeUFBS0FJQVFYUnFJZ0FvQWdnaEFTQUFJQUZCZjJvMkFnZ2dBVUVCU0FSQUlBQVFPQXNMQndBZ0FDZ0NCQXRBQVFGL0lBQWdBU2dDQ0VFQUVJRUJCRUFnQVNBQ0lBTVE4d0lGSUFBb0FnZ2lBQ2dDQUNnQ0hDRUVJQUFnQVNBQ0lBTWdCRUVmY1VINkJXb1JCd0FMQzVnQ0FRSi9JQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRkFrQWdBQ0FCS0FJQUlBUVFnUUZGQkVBZ0FDZ0NDQ0lBS0FJQUtBSVlJUVVnQUNBQklBSWdBeUFFSUFWQlAzRkJtZ1pxRVFVQURBRUxJQUVvQWhBZ0FrY0VRQ0FCS0FJVUlBSkhCRUFnQVNBRE5nSWdJQUVvQWl4QkJFY0VRQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQW9BZ2dpQUNnQ0FDZ0NGQ0VESUFBZ0FTQUNJQUpCQVNBRUlBTkJCM0ZCMmdacUVRd0FJQUVzQURVRVFDQUJMQUEwUlNFR0lBRkJBellDTENBR1JRMEVCU0FCUVFRMkFpd0xDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMwWUJBWDhnQUNBQktBSUlJQVVRZ1FFRVFDQUJJQUlnQXlBRUVQRUNCU0FBS0FJSUlnQW9BZ0FvQWhRaEJpQUFJQUVnQWlBRElBUWdCU0FHUVFkeFFkb0dhaEVNQUFzTHdBWUNBMzhHZkNNR0lRUWpCa0hnQUdva0JnSkFJQUFyQTFoRUFBQUFBQUFBQUFCbUJFQURRQ0FGUVFOR0RRSkJBQ0VEQTBBZ0EwRUVSd1JBSUFWQkJYUWdCR29nQTBFRGRHb2dCVUVGZENBQWFpQURRUU4wYWlzREFEa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUJRTkFJQVZCQTBZTkFrRUFJUU1EUUNBRFFRUkhCRUFnQlVFRmRDQUVhaUFEUVFOMGFpQUZRUVYwSUFCcUlBTkJBM1JxS3dNQW1qa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUN3QUxRUUFoQXdOQUlBTkJBMGNFUUVFQUlRQURRQ0FBUVFSSEJFQWdBMEVGZENBQmFpQUFRUU4wYWtRQUFBQUFBQUFBQURrREFDQUFRUUZxSVFBTUFRc0xJQU5CQVdvaEF3d0JDd3NnQVNBRVFVQnJLd01BSWdnZ0JDc0RTQ0lHSUFRckExQWlDaER3QWlJSE9RTlFJQUpCUUdzaUFDQUlJQWVqSWdnNUF3QWdBaUFHSUFFckExQ2pJZ1k1QTBnZ0FpQUtJQUVyQTFDaklnYzVBMUFnQWlBRUt3TllJQUVyQTFDak9RTllJQUVnQ0NBR0lBY2dCQ3NESUNJSUlBUXJBeWdpQmlBRUt3TXdJZ2NRN2dJaUNUa0RNQ0FCSUFnZ0NTQUFLd01Bb3FFaUNpQUdJQWtnQWlzRFNLS2hJZ2dnQnlBSklBSXJBMUNpb1NJR0VQQUNJZ2M1QXlnZ0FpQUtJQWVqT1FNZ0lBSWdDQ0FCS3dNb296a0RLQ0FDSUFZZ0FTc0RLS001QXpBZ0FTQUFLd01BSUFJckEwZ2dBaXNEVUNBRUt3TUFJZ2dnQkNzRENDSUdJQVFyQXhBaUJ4RHVBaUlMT1FNUUlBRWdBaXNESUNBQ0t3TW9JQUlyQXpBZ0NDQUdJQWNRN2dJaUNUa0RDQ0FCSUFnZ0NTQUNLd01nb3FFZ0N5QUFLd01Bb3FFaUNpQUdJQWtnQWlzREtLS2hJQXNnQWlzRFNLS2hJZ2dnQnlBSklBSXJBekNpb1NBTElBSXJBMUNpb1NJR0VQQUNJZ2M1QXdBZ0FpQUtJQWVqT1FNQUlBSWdDQ0FCS3dNQW96a0RDQ0FDSUFZZ0FTc0RBS001QXhBZ0FpQUVLd000SUFFckF6QWdBaXNEV0NJR29xRWdBU3NES0tNaUJ6a0RPQ0FDSUFRckF4Z2dCeUFCS3dNSW9xRWdCaUFCS3dNUW9xRWdBU3NEQUtNNUF4aEJBQ0VEQTBBZ0EwRURSd1JBUVFBaEFnTkFJQUpCQTBjRVFDQURRUVYwSUFGcUlBSkJBM1JxSWdBZ0FDc0RBQ0FCS3dOUW96a0RBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0JDUUdRUUFMR2dBZ0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ3NMa3dFQUlBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGSUFBZ0FTZ0NBQ0FFRUlFQkJFQUNRQ0FCS0FJUUlBSkhCRUFnQVNnQ0ZDQUNSd1JBSUFFZ0F6WUNJQ0FCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVVlFUUNBQktBSVlRUUpHQkVBZ0FVRUJPZ0EyQ3dzZ0FVRUVOZ0lzREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEN3c2NBQ0FBSUFFb0FnZ2dCUkNCQVFSQUlBRWdBaUFESUFRUThRSUxDOUlCQVFKL0l3WWhBeU1HUVVCckpBWWdBQ0FCUVFBUWdRRUVmMEVCQlNBQkJIOGdBVUhBOXdCQnNQY0FFT1FFSWdFRWZ5QURJQUUyQWdBZ0EwRUFOZ0lFSUFNZ0FEWUNDQ0FEUVg4MkFnd2dBMElBTndJUUlBTkNBRGNDR0NBRFFnQTNBaUFnQTBJQU53SW9JQU5CQURZQ01DQURRUUE3QVRRZ0EwRUFPZ0EySUFOQkFUWUNNQ0FCS0FJQUtBSWNJUUFnQVNBRElBSW9BZ0JCQVNBQVFSOXhRZm9GYWhFSEFDQURLQUlZUVFGR0JIOGdBaUFES0FJUU5nSUFRUUVGUVFBTEJVRUFDd1ZCQUFzTElRUWdBeVFHSUFRTDNRRUJCWDhqQmlFQUl3WkJNR29rQmlBQVFSaHFJUUlnQUVFUWFpRUJJQUJCSkdvaEEwSE14UU1vQWdBaUJBUkFJQUpCOWY4Q05nSUFRY1AvQWlBQ0VKOENJQU1nQkVIUUFHbzJBZ0FnQkNnQ0FDSUVLQUlFSVFKQnFQY0FJQVFnQTBHbzl3QW9BZ0FvQWhCQlAzRkJ5Z0ZxRVFRQUJFQWdBeWdDQUNJQktBSUFLQUlJSVFNZ0FTQURRZjhBY1VFSWFoRUFBQ0VCSUFCQjlmOENOZ0lBSUFBZ0FqWUNCQ0FBSUFFMkFnaEI3ZjRDSUFBUW53SUZJQUZCOWY4Q05nSUFJQUVnQWpZQ0JFR2Evd0lnQVJDZkFnc0xRZW4vQWlBQVFTQnFFSjhDQzZjRUFRSjhJQUczSUFBb0FnQzNveUVFSUFLM0lBQW9BZ1Mzb3lFRklBTWdBVFlDQUNBRElBSTJBZ1JCQUNFQkEwQWdBVUVFUndSQUlBTkJDR29nQVVFRGRHb2dCQ0FBUVFocUlBRkJBM1JxS3dNQW9qa0RBQ0FEUVNocUlBRkJBM1JxSUFVZ0FFRW9haUFCUVFOMGFpc0RBS0k1QXdBZ0EwSElBR29nQVVFRGRHb2dBRUhJQUdvZ0FVRURkR29yQXdBNUF3QWdBVUVCYWlFQkRBRUxDd0pBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BckFCSWdGQkFXc09CQU1DQVFBRUN5QURJQUFyQTJnNUEyZ2dBeUFBS3dOd09RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBUWdBQ3NEaUFHaU9RT0lBU0FESUFVZ0FDc0RrQUdpT1FPUUFTQURJQVFnQUNzRG1BR2lPUU9ZQVNBRElBVWdBQ3NEb0FHaU9RT2dBU0FESUFBckE2Z0JPUU9vQVF3RUN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFBckE0Z0JJQVFnQmFLak9RT0lBU0FESUFBckE1QUJJQVVnQkNBRW9pQUZvcUtqT1FPUUFRd0RDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBU0FESUFBckE0Z0JJQVVnQkNBRW9pQUZvcUtqT1FPSUFRd0NDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBUXdCQ3d3QkN5QURJQUUyQXJBQkN3djdFd0lSZndGOEl3WWhGQ01HUVJCcUpBWWdGQ0VRSUFGQkFoQTVJUTBnQWtFQ0VEa2hEeUFFS0FJQUlnY2hBaUFOSUE5QmYyb2lFV3hCQVhRZ0Iyb2hCUU5BSUFzZ0RVZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQzBFQmFpRUxEQUVMQ3lBSElRSWdEVUYvYWlJU1FRRjBJQWRxSVFWQkFDRUxBMEFnQ3lBUFNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RVRUJkQ0FDYWlFQ0lBMUJBWFFnQldvaEJTQUxRUUZxSVFzTUFRc0xJQVJCa0lESUFHb2hBa0VBSUExcklSTWdBQ0FCUVFGMFFRSnFhaUVPUVFFaERFRUFJUVVnRFVFQmFpSUFJQVFvQWdScUlRc2dBRUVCZENBSGFpRUhBbjhDUUFOQUFrQWdEQ0FSVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkpJQkVBZ0RpMEFBQ0FEU2dSQUlBZEJBRHNCQUNBTFFRQTZBQUFGQWtBZ0MwRi9PZ0FBSUJOQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUFzTElBNUJBbW9oRGlBTFFRRnFJUXNnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBT2FrRUVhaUVPSUF4QkFXb2hEQ0FBSVFVZ0MwRUNhaUVMSUFkQkJHb2hCd3dCQ3d0QkFFRURRYWlsQVNBUUVEMUJmd3dCQ3lBRVFReHFJUWRCQVNFQVFRRWhBd05BSUFNZ0JVd0VRQ0FESUFJb0FnQWlDMFlFUUNBQVFRRnFJUUVGSUFBaEFTQUxRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQUlnQURZQ0FDQUJJUUFnQTBFQmFpRURJQUpCQkdvaEFnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQWRCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFQkEwQWdBU0FBU0FSQUlBUkJqSUFJYWlBQlFRSjBJZ0pCQW5ScUlBMDJBZ0FnQkVHTWdBaHFJQUpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFKQkFuSkJBblJxSUE4MkFnQWdCRUdNZ0FocUlBSkJBM0pCQW5ScVFRQTJBZ0FnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaGFqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRnFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlVnRUNRR0lCVUxCQUFqQmdzYkFRSi9Jd1loQWlBQUl3WnFKQVlqQmtFUGFrRndjU1FHSUFJTEM2R0xBMkVBUVlBSUN4STJVd0FBUFZNQUFFbFRBQUJUVXdBQVlWTUFRYUFJQzlvVC8vLy8vLy8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vLy8vLy8vLy8vLy93QUFBQUVBQVFFQkFBSUUvLzhGQXdFQUF2OEdCLzhEQVFJQ0F3SURBZ01EQVA4RUJnY0Yvd0VFQlFRRUJRVUVCUWNHQmdZSEJ3Y0cvd0lFQmdjRkEvOEFBUUVCQVFFQkFBRUJBUUFBQVFFQkFRRUFBUUVBQVFFQkFBRUJBUUVBQVFFQUFRRUJBUUFCQVFFQUFRRUFBUUVCQVFFQUFBRUJBUUFCQVFFQkFRRUFBUC8vQS84RkJ2Ly9DUXIvRFAvL0QvOFJFdjhVLy84WEdQLy9HLzhkSHYvL0FRTC9CUC8vQndqLy93di9EUTcvRVAvL0UvOFZGdi8vR1JyL0hQLy9Id0VBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBQlFBQUFBb0FBQUFVQUFBQURRQUFBQm9BQUFBUkFBQUFCd0FBQUE0QUFBQWNBQUFBSFFBQUFCOEFBQUFiQUFBQUV3QUFBQU1BQUFBR0FBQUFEQUFBQUJnQUFBQVZBQUFBRHdBQUFCNEFBQUFaQUFBQUZ3QUFBQXNBQUFBV0FBQUFDUUFBQUJJQUFBQUFBQUFBQVFBQUFBSUFBQUFFQUFBQUNBQUFBQU1BQUFBR0FBQUFEQUFBQUFzQUFBQUZBQUFBQ2dBQUFBY0FBQUFPQUFBQUR3QUFBQTBBQUFBSkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFCSUFBQUFDQUFBQUJRQUFBQk1BQUFBTEFBQUFBd0FBQUIwQUFBQUdBQUFBR3dBQUFCUUFBQUFJQUFBQURBQUFBQmNBQUFBRUFBQUFDZ0FBQUI0QUFBQVJBQUFBQndBQUFCWUFBQUFjQUFBQUdnQUFBQlVBQUFBWkFBQUFDUUFBQUJBQUFBQU5BQUFBRGdBQUFCZ0FBQUFQQUFBQS8vLy8vd0FBQUFBQkFBQUFCQUFBQUFJQUFBQUlBQUFBQlFBQUFBb0FBQUFEQUFBQURnQUFBQWtBQUFBSEFBQUFCZ0FBQUEwQUFBQUxBQUFBREFBQUFBRUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFJQUFBQUVBQUFBQURBQUFBQmdBQUFBd0FBQUFZQUFBQU1BQUFBR0FBQUFCREFBQUFCUUFBQUFvQUFBQVVBQUFBS0FBQUFGQUFBQUFqQUFBQVJnQUFBQThBQUFBZUFBQUFQQUFBQUhnQUFBQnpBQUFBWlFBQUFFa0FBQUFSQUFBQUlnQUFBRVFBQUFBTEFBQUFGZ0FBQUN3QUFBQllBQUFBTXdBQUFHWUFBQUJQQUFBQUhRQUFBRG9BQUFCMEFBQUFhd0FBQUZVQUFBQXBBQUFBVWdBQUFDY0FBQUJPQUFBQUh3QUFBRDRBQUFCOEFBQUFld0FBQUhVQUFBQnBBQUFBVVFBQUFDRUFBQUJDQUFBQUJ3QUFBQTRBQUFBY0FBQUFPQUFBQUhBQUFBQmpBQUFBUlFBQUFBa0FBQUFTQUFBQUpBQUFBRWdBQUFBVEFBQUFKZ0FBQUV3QUFBQWJBQUFBTmdBQUFHd0FBQUJiQUFBQU5RQUFBR29BQUFCWEFBQUFMUUFBQUZvQUFBQTNBQUFBYmdBQUFGOEFBQUE5QUFBQWVnQUFBSGNBQUFCdEFBQUFXUUFBQURFQUFBQmlBQUFBUndBQUFBMEFBQUFhQUFBQU5BQUFBR2dBQUFCVEFBQUFKUUFBQUVvQUFBQVhBQUFBTGdBQUFGd0FBQUE3QUFBQWRnQUFBRzhBQUFCZEFBQUFPUUFBQUhJQUFBQm5BQUFBVFFBQUFCa0FBQUF5QUFBQVpBQUFBRXNBQUFBVkFBQUFLZ0FBQUZRQUFBQXJBQUFBVmdBQUFDOEFBQUJlQUFBQVB3QUFBSDRBQUFCL0FBQUFmUUFBQUhrQUFBQnhBQUFBWVFBQUFFRUFBQUFBQUFBQS8vLy8vd0FBQUFBQkFBQUFCd0FBQUFJQUFBQU9BQUFBQ0FBQUFEZ0FBQUFEQUFBQVB3QUFBQThBQUFBZkFBQUFDUUFBQUZvQUFBQTVBQUFBRlFBQUFBUUFBQUFjQUFBQVFBQUFBRU1BQUFBUUFBQUFjQUFBQUNBQUFBQmhBQUFBQ2dBQUFHd0FBQUJiQUFBQVJnQUFBRG9BQUFBbUFBQUFGZ0FBQUM4QUFBQUZBQUFBTmdBQUFCMEFBQUFUQUFBQVFRQUFBRjhBQUFCRUFBQUFMUUFBQUJFQUFBQXJBQUFBY1FBQUFITUFBQUFoQUFBQVRRQUFBR0lBQUFCMUFBQUFDd0FBQUZjQUFBQnRBQUFBSXdBQUFGd0FBQUJLQUFBQVJ3QUFBRThBQUFBN0FBQUFhQUFBQUNjQUFBQmtBQUFBRndBQUFGSUFBQUF3QUFBQWR3QUFBQVlBQUFCK0FBQUFOd0FBQUEwQUFBQWVBQUFBUGdBQUFCUUFBQUJaQUFBQVFnQUFBQnNBQUFCZ0FBQUFid0FBQUVVQUFBQnJBQUFBTGdBQUFDVUFBQUFTQUFBQU5RQUFBQ3dBQUFCZUFBQUFjZ0FBQUNvQUFBQjBBQUFBVEFBQUFDSUFBQUJXQUFBQVRnQUFBRWtBQUFCakFBQUFad0FBQUhZQUFBQlJBQUFBREFBQUFIMEFBQUJZQUFBQVBRQUFBRzRBQUFBYUFBQUFKQUFBQUdvQUFBQmRBQUFBTkFBQUFFc0FBQUFwQUFBQVNBQUFBRlVBQUFCUUFBQUFaZ0FBQUR3QUFBQjhBQUFBYVFBQUFCa0FBQUFvQUFBQU13QUFBR1VBQUFCVUFBQUFHQUFBQUhzQUFBQlRBQUFBTWdBQUFERUFBQUI2QUFBQWVBQUFBSGtBQUFBRUFBQUFpQUFBQUFVQUFBQ1FBQUFBQmdBQUFKZ0FBQUFKQUFBQXNBQUFBT05aQUFEcFdRQUE3bGtBQVBaWkFBQUFBQUFBc3I2NVBoTGNvTDZRdmprK0V0eWd2cEMrT2I0QUFBQ0FzcjY1dmhMY29ENlF2am0rRXR5Z1BwQytPVDdTY2hpL0FBQUFBTkp5bUw0NkJnUy8wbktZUGpvR0JML1NjaGcvQUFBQWdOSnltRDQ2QmdRLzBuS1l2am9HQkQ4QUFBQ0FWcmc5djJaTkpEOVd1TDIrWmswa1AxYTR2VDRBQUFBQVZyZzlQMlpOSkw5V3VMMCtaazBrdjFhNHZiNE02VmcvQUFBQWdBenAyRDZaMlRzL0RPbll2cG5aT3o4TTZWaS9BQUFBQUF6cDJMNloyVHUvRE9uWVBwblpPNzhBQUFBQS9GTnVQL0ZsVHI4TlZPNCs4V1ZPdncxVTdyNEFBQUNBL0ZOdXYvRmxUajhOVk82KzhXVk9QdzFVN2o0QUFJQy9BQUFBQUFBQUFML1FzMTIvQUFBQVA5Q3pYYjhBQUlBL0FBQUFnQUFBQUQvUXMxMC9BQUFBdjlDelhUOXdQQUFBY0R3QUFIQThBQUJ3UEFBQWpLd0FBS0tzQUFEQ3JBQUE1NndBQUFHdEFBQWdyUUFBTmEwQUFGS3RBQUI4clFBQXZLMEFBTnV0QUFEeXJRQUFDSzRBQUJ5dUFBQlpyZ0FBaWE0QUFLV3VBQURJcmdBQS82NEFBRGF2QUFCTnJ3QUFiYThBQUpldkFBRGtyd0FBLzY4QUFDcXdBQUJHc0FBQWE3QUFBSkd3QUFDMnNBQUF5YkFBQU42d0FBRHhzQUFBQkxFQUFDbXhBQUErc1FBQVVyRUFBSE94QUFDSnNRQUF1TEVBQU9DeEFBQUJzZ0FBSXJJQUFGR3lBQUJpc2dBQWZySUFBTHl5QUFEanNnQUFDck1BQUI2ekFBQk1zd0FBZExNQUFKQ3pBQUMxc3dBQTE3TUFBQUcwQUFBc3RBQUFTclFBQUhpMEFBQ2d0QUFBeDdRQUFQSzBBQUFmdFFBQVQ3VUFBSG0xQUFDbXRRQUF5YlVBQU9lMUFBQUZ0Z0FBTzdZQUFHVzJBQUNFdGdBQXA3WUFBTTYyQUFEanRnQUE5N1lBQUN5M0FBQTh0d0FBZXJjQUFMeTNBQURtdHdBQUVyZ0FBRG00QUFCVnVBQUFnTGdBQUp1NEFBQ3Z1QUFBeHJnQUFOTzRBQUQ3dUFBQU1Ma0FBR3k1QUFDYXVRQUF1N2tBQU9LNUFBRDd1UUFBSTdvQUFFYTZBQUJldWdBQWdyb0FBS2U2QUFDdHVnQUE1cm9BQUNDN0FBQS91d0FBVHJzQUFHdTdBQUNKdXdBQXByc0FBTCs3QUFEWXV3QUFHcndBQUZTOEFBQ0t2QUFBdnJ3QUFOSzhBQURwdkFBQUQ3MEFBRGE5QUFCNHZRQUF0TDBBQU9XOUFBQUp2Z0FBTjc0QUFGSytBQUNLdmdBQXRiNEFRWVFjQzcwRUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQURBQUFBQ2dBQUFCRUFBQUFZQUFBQUlBQUFBQmtBQUFBU0FBQUFDd0FBQUFRQUFBQUZBQUFBREFBQUFCTUFBQUFhQUFBQUlRQUFBQ2dBQUFBd0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFHQUFBQUJ3QUFBQTRBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBTVFBQUFEZ0FBQUE1QUFBQU1nQUFBQ3NBQUFBa0FBQUFIUUFBQUJZQUFBQVBBQUFBRndBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBNkFBQUFPd0FBQURRQUFBQXRBQUFBSmdBQUFCOEFBQUFuQUFBQUxnQUFBRFVBQUFBOEFBQUFQUUFBQURZQUFBQXZBQUFBTndBQUFENEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUFVQUFBQU1BQUFBRXdBQUFCb0FBQUFoQUFBQUtBQUFBREFBQUFBcEFBQUFJZ0FBQUJzQUFBQVVBQUFBRFFBQUFBWUFBQUFPQUFBQUZRQUFBQndBQUFBakFBQUFLZ0FBQURFQUFBQXlBQUFBS3dBQUFDUUFBQUFkQUFBQUZnQUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTBBQUFBTFFBQUFDWUFBQUF1QUFBQU5RQUFBRFlBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUlBdnRBZ0VBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQ0FBQUFBWkFBQUFFZ0FBQUFzQUFBQUVBQUFBQlFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBb0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFLd0FBQUNRQUFBQWRBQUFBSlFBQUFDd0FBQUF0QUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFpQUFBQUd3QUFBQlFBQUFBY0FBQUFJd0FBQUNRQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJd3ZkQVFFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUJrQUFBQVNBQUFBQ3dBQUFCTUFBQUFhQUFBQUd3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUFBQUFBQUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQUtBQUFBRVFBQUFCSUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhFSlF1VUJBRUFBQUFJQUFBQUNRQUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUNCQVIxYURnS0dKUkFERkJFU0JBc0lGQVhZQXhjRzJnRVpCK1VBSEFodkFCNEpOZ0FoQ2hvQUl3c05BQWtNQmdBS0RRTUFEQTBCQUk4UGYxb2tFQ1UvSmhIeUxDY1NmQ0FvRTdrWEtoU0NFU3NWN3d3dEZxRUpMaGN2QnpBWVhBVXhHUVlFTXhvREF6UWJRQUkySExFQk9CMUVBVGtlOVFBN0g3Y0FQQ0NLQUQ0aGFBQS9JazRBSUNNN0FDRUpMQUNsSmVGYVFDWk1TRUVuRFRwREtQRXVSQ2tmSmtVcU14OUdLNmdaU0N3WUZVa3RkeEZLTG5RT1N5LzdDMDB3K0FsT01XRUlUeklHQnpBenpRVXlOTjRFTWpVUEJETTJZd00wTjlRQ05UaGNBalk1K0FFM09xUUJPRHRnQVRrOEpRRTZQZllBT3o3TEFEMC9xd0E5SUk4QXdVRVNXMUJDQkUxUlF5eEJVa1RZTjFORjZDOVVSandwVmtkNUkxZEkzeDVYU2FrYVNFcE9GMGhMSkJSS1RKd1JTazFyRDB0T1VRMU5UN1lMVFRCQUN0QlJNbGhZVWh4TldWT09RMXBVM1R0YlZlNDBYRmF1TGwxWG1pbFdSeFlsMkZsd1ZWOWFxVXhnVzlsRVlWd2lQbU5kSkRoalhyUXlYVllYTHQ5Z3FGWmxZVVpQWm1MbFIyZGp6MEZvWkQwOFkxMWVOMmxtTVZKcVp3OU1hMmc1Um1kalhrSHBhaWRXYkd2blVHMW5oVXR1YlpkVmIydFBVTzV2RUZwd2JTSlY4Ry9yV1hGeEhWb0FRZUVwQy9BQlFNVlluMU5DU3dCQVNUS2pJcWdSeFZnaGUveHpZbWpGV0w5RkN6QitHSjlUL0hOQmJWUmluMU96UVVFdEVoZENTMkpvVkdKK1dFSkxJVHU2S01NVUFFREZXSjlUUWtzQVFFa3lveUtvRVVreXYwV3pRU0U3U1RLQ0p6Y2I0QTJqSWdzd1FTMjZLS01pTnh1L0VvNEpxQkYrR0JJWHd4U29FZUFOamduZkJBQUFBQUFBQVBBLzcyRklzVkF4OWovS2IwMlJydWYwUDZvUmJPOWkwUEkvQUFBQUFBQUE4RDg3djZmQWFTVHBQN3NneDN0NlVlRS9YYXR5M2xXbzBUOEFBQUFBQVFBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBRkFBQUFBZ0FBQUFRQUFBQUdBQUFBQXdBQUFBY0FBQUFJQUVIa0t3dWRBUUVBQUFBRkFBQUFCZ0FBQUFJQUFBQUVBQUFBQndBQUFBd0FBQUFEQUFBQUNBQUFBQXNBQUFBTkFBQUFDUUFBQUFvQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUJRQUFBQVlBQUFBT0FBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFBOEFBQUFEQUFBQUNBQUFBQXdBQUFBUUFBQUFGUUFBQUFrQUFBQUxBQUFBRVFBQUFCUUFBQUFXQUFBQUNnQUFBQklBQUFBVEFBQUFGd0FBQUJnQVFaUXRDODBDQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCa0FBQUFEQUFBQUNBQUFBQXdBQUFBUkFBQUFHQUFBQUJvQUFBQUpBQUFBQ3dBQUFCSUFBQUFYQUFBQUd3QUFBQ0FBQUFBS0FBQUFFd0FBQUJZQUFBQWNBQUFBSHdBQUFDRUFBQUFVQUFBQUZRQUFBQjBBQUFBZUFBQUFJZ0FBQUNNQUFBQUFBQUFBQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBYkFBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFCQUFBQUFhQUFBQUhBQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSFFBQUFDWUFBQUFKQUFBQUN3QUFBQklBQUFBWUFBQUFIZ0FBQUNVQUFBQW5BQUFBQ2dBQUFCTUFBQUFYQUFBQUh3QUFBQ1FBQUFBb0FBQUFMUUFBQUJRQUFBQVdBQUFBSUFBQUFDTUFBQUFwQUFBQUxBQUFBQzRBQUFBVkFBQUFJUUFBQUNJQUFBQXFBQUFBS3dBQUFDOEFBQUF3QUVIMEx3dlFCQUVBQUFBRkFBQUFCZ0FBQUE0QUFBQVBBQUFBR3dBQUFCd0FBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJvQUFBQWRBQUFBS2dBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIZ0FBQUNrQUFBQXJBQUFBQ1FBQUFBc0FBQUFTQUFBQUdBQUFBQjhBQUFBb0FBQUFMQUFBQURVQUFBQUtBQUFBRXdBQUFCY0FBQUFnQUFBQUp3QUFBQzBBQUFBMEFBQUFOZ0FBQUJRQUFBQVdBQUFBSVFBQUFDWUFBQUF1QUFBQU13QUFBRGNBQUFBOEFBQUFGUUFBQUNJQUFBQWxBQUFBTHdBQUFESUFBQUE0QUFBQU93QUFBRDBBQUFBakFBQUFKQUFBQURBQUFBQXhBQUFBT1FBQUFEb0FBQUErQUFBQVB3QUFBQUFBQUFBQkFBQUFBd0FBQUFjQUFBQVBBQUFBSHdBQUFEOEFBQUIvQUFBQS93QUFBUDhCQUFEL0F3QUEvd2NBQVA4UEFBRC9Id0FBL3o4QUFQOS9BQUFBd0REd0RNdzgvQVBETS9NUHp6Ly9nRUN3Y0l4TXZIeURRN056ajArL2Z5RGdFTkFzN0J6Y0krTVQweS92SDkrZ1lKQlFyR3ljWEtOamsxT3ZiNTlmQ01nNCtBVEVOUFFMeXp2N0I4YzM5NGhJdUhpRVJMUjBpMHU3ZTRkSHQzY282QmpZSk9RVTFDdnJHOXNuNXhmWHFHaVlXS1JrbEZTcmE1dGJwMmVYVndMQ012SU96ajcrQWNFeDhRM05QZjJDUXJKeWprNitmb0ZCc1hHTlRiMTlJdUlTMGk3dUh0NGg0UkhSTGUwZDNhSmlrbEt1YnA1ZW9XR1JVYTF0blYwS3lqcjZCc1kyOWduSk9ma0Z4VFgxaWtxNmVvWkd0bmFKU2JsNWhVVzFkU3JxR3RvbTVoYldLZWtaMlNYbEZkV3FhcHBhcG1hV1ZxbHBtVm1sWlpWVjNoSUVsUUFBQUFELy8vLy8vLy8vLy8vLy8vOEFRZEEwQzh3QkFnQUF3QU1BQU1BRUFBREFCUUFBd0FZQUFNQUhBQURBQ0FBQXdBa0FBTUFLQUFEQUN3QUF3QXdBQU1BTkFBREFEZ0FBd0E4QUFNQVFBQURBRVFBQXdCSUFBTUFUQUFEQUZBQUF3QlVBQU1BV0FBREFGd0FBd0JnQUFNQVpBQURBR2dBQXdCc0FBTUFjQUFEQUhRQUF3QjRBQU1BZkFBREFBQUFBc3dFQUFNTUNBQUREQXdBQXd3UUFBTU1GQUFEREJnQUF3d2NBQU1NSUFBRERDUUFBd3dvQUFNTUxBQUREREFBQXd3MEFBTk1PQUFERER3QUF3d0FBRExzQkFBekRBZ0FNd3dNQURNTUVBQXpUQUVHa09ndjVBd0VBQUFBQ0FBQUFBd0FBQUFRQUFBQUZBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQW9BQUFBTEFBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBSVFBQUFDSUFBQUFqQUFBQUpBQUFBQ1VBQUFBbUFBQUFKd0FBQUNnQUFBQXBBQUFBS2dBQUFDc0FBQUFzQUFBQUxRQUFBQzRBQUFBdkFBQUFNQUFBQURFQUFBQXlBQUFBTXdBQUFEUUFBQUExQUFBQU5nQUFBRGNBQUFBNEFBQUFPUUFBQURvQUFBQTdBQUFBUEFBQUFEMEFBQUErQUFBQVB3QUFBRUFBQUFCaEFBQUFZZ0FBQUdNQUFBQmtBQUFBWlFBQUFHWUFBQUJuQUFBQWFBQUFBR2tBQUFCcUFBQUFhd0FBQUd3QUFBQnRBQUFBYmdBQUFHOEFBQUJ3QUFBQWNRQUFBSElBQUFCekFBQUFkQUFBQUhVQUFBQjJBQUFBZHdBQUFIZ0FBQUI1QUFBQWVnQUFBRnNBQUFCY0FBQUFYUUFBQUY0QUFBQmZBQUFBWUFBQUFHRUFBQUJpQUFBQVl3QUFBR1FBQUFCbEFBQUFaZ0FBQUdjQUFBQm9BQUFBYVFBQUFHb0FBQUJyQUFBQWJBQUFBRzBBQUFCdUFBQUFid0FBQUhBQUFBQnhBQUFBY2dBQUFITUFBQUIwQUFBQWRRQUFBSFlBQUFCM0FBQUFlQUFBQUhrQUFBQjZBQUFBZXdBQUFId0FBQUI5QUFBQWZnQUFBSDhBUWFERUFBdi9BUUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU1nQWlBQ0lBSWdBaUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FCWUFUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBallDTmdJMkFqWUNOZ0kyQWpZQ05nSTJBallCTUFFd0FUQUJNQUV3QVRBQk1BSTFRalZDTlVJMVFqVkNOVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQk1BRXdBVEFCTUFFd0FUQUNOWUkxZ2pXQ05ZSTFnaldDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdUQUJNQUV3QVRBQWdCQnBNd0FDL2tEQVFBQUFBSUFBQUFEQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFBc0FBQUFNQUFBQURRQUFBQTRBQUFBUEFBQUFFQUFBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFWQUFBQUZnQUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNNQUFBQWtBQUFBSlFBQUFDWUFBQUFuQUFBQUtBQUFBQ2tBQUFBcUFBQUFLd0FBQUN3QUFBQXRBQUFBTGdBQUFDOEFBQUF3QUFBQU1RQUFBRElBQUFBekFBQUFOQUFBQURVQUFBQTJBQUFBTndBQUFEZ0FBQUE1QUFBQU9nQUFBRHNBQUFBOEFBQUFQUUFBQUQ0QUFBQS9BQUFBUUFBQUFFRUFBQUJDQUFBQVF3QUFBRVFBQUFCRkFBQUFSZ0FBQUVjQUFBQklBQUFBU1FBQUFFb0FBQUJMQUFBQVRBQUFBRTBBQUFCT0FBQUFUd0FBQUZBQUFBQlJBQUFBVWdBQUFGTUFBQUJVQUFBQVZRQUFBRllBQUFCWEFBQUFXQUFBQUZrQUFBQmFBQUFBV3dBQUFGd0FBQUJkQUFBQVhnQUFBRjhBQUFCZ0FBQUFRUUFBQUVJQUFBQkRBQUFBUkFBQUFFVUFBQUJHQUFBQVJ3QUFBRWdBQUFCSkFBQUFTZ0FBQUVzQUFBQk1BQUFBVFFBQUFFNEFBQUJQQUFBQVVBQUFBRkVBQUFCU0FBQUFVd0FBQUZRQUFBQlZBQUFBVmdBQUFGY0FBQUJZQUFBQVdRQUFBRm9BQUFCN0FBQUFmQUFBQUgwQUFBQitBQUFBZndCQm9OUUFDNkVDQ2dBQUFHUUFBQURvQXdBQUVDY0FBS0NHQVFCQVFnOEFnSmFZQUFEaDlRWC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUFFQ0F3UUZCZ2NJQ2YvLy8vLy8vLzhLQ3d3TkRnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJLy8vLy8vLy93b0xEQTBPRHhBUkVoTVVGUllYR0JrYUd4d2RIaDhnSVNJai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3dCQjBOWUFDeGdSQUFvQUVSRVJBQUFBQUFVQUFBQUFBQUFKQUFBQUFBc0FRZkRXQUFzaEVRQVBDaEVSRVFNS0J3QUJFd2tMQ3dBQUNRWUxBQUFMQUFZUkFBQUFFUkVSQUVHaDF3QUxBUXNBUWFyWEFBc1lFUUFLQ2hFUkVRQUtBQUFDQUFrTEFBQUFDUUFMQUFBTEFFSGIxd0FMQVF3QVFlZlhBQXNWREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFFR1YyQUFMQVE0QVFhSFlBQXNWRFFBQUFBUU5BQUFBQUFrT0FBQUFBQUFPQUFBT0FFSFAyQUFMQVJBQVFkdllBQXNlRHdBQUFBQVBBQUFBQUFrUUFBQUFBQUFRQUFBUUFBQVNBQUFBRWhJU0FFR1MyUUFMRGhJQUFBQVNFaElBQUFBQUFBQUpBRUhEMlFBTEFRc0FRYy9aQUFzVkNnQUFBQUFLQUFBQUFBa0xBQUFBQUFBTEFBQUxBRUg5MlFBTEFRd0FRWW5hQUF0K0RBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BQUF3TVRJek5EVTJOemc1UVVKRFJFVkdHUkpFT3dJL0xFY1VQVE13Q2hzR1JrdEZOdzlKRG80WEEwQWRQR2tyTmg5S0xSd0JJQ1VwSVFnTUZSWWlMaEE0UGdzME1SaGtkSFYyTDBFSmZ6a1JJME15UW9tS2l3VUVKaWduRFNvZU5Zd0hHa2lURTVTVkFFR1Eyd0FMMXc1SmJHeGxaMkZzSUdKNWRHVWdjMlZ4ZFdWdVkyVUFSRzl0WVdsdUlHVnljbTl5QUZKbGMzVnNkQ0J1YjNRZ2NtVndjbVZ6Wlc1MFlXSnNaUUJPYjNRZ1lTQjBkSGtBVUdWeWJXbHpjMmx2YmlCa1pXNXBaV1FBVDNCbGNtRjBhVzl1SUc1dmRDQndaWEp0YVhSMFpXUUFUbThnYzNWamFDQm1hV3hsSUc5eUlHUnBjbVZqZEc5eWVRQk9ieUJ6ZFdOb0lIQnliMk5sYzNNQVJtbHNaU0JsZUdsemRITUFWbUZzZFdVZ2RHOXZJR3hoY21kbElHWnZjaUJrWVhSaElIUjVjR1VBVG04Z2MzQmhZMlVnYkdWbWRDQnZiaUJrWlhacFkyVUFUM1YwSUc5bUlHMWxiVzl5ZVFCU1pYTnZkWEpqWlNCaWRYTjVBRWx1ZEdWeWNuVndkR1ZrSUhONWMzUmxiU0JqWVd4c0FGSmxjMjkxY21ObElIUmxiWEJ2Y21GeWFXeDVJSFZ1WVhaaGFXeGhZbXhsQUVsdWRtRnNhV1FnYzJWbGF3QkRjbTl6Y3kxa1pYWnBZMlVnYkdsdWF3QlNaV0ZrTFc5dWJIa2dabWxzWlNCemVYTjBaVzBBUkdseVpXTjBiM0o1SUc1dmRDQmxiWEIwZVFCRGIyNXVaV04wYVc5dUlISmxjMlYwSUdKNUlIQmxaWElBVDNCbGNtRjBhVzl1SUhScGJXVmtJRzkxZEFCRGIyNXVaV04wYVc5dUlISmxablZ6WldRQVNHOXpkQ0JwY3lCa2IzZHVBRWh2YzNRZ2FYTWdkVzV5WldGamFHRmliR1VBUVdSa2NtVnpjeUJwYmlCMWMyVUFRbkp2YTJWdUlIQnBjR1VBU1M5UElHVnljbTl5QUU1dklITjFZMmdnWkdWMmFXTmxJRzl5SUdGa1pISmxjM01BUW14dlkyc2daR1YyYVdObElISmxjWFZwY21Wa0FFNXZJSE4xWTJnZ1pHVjJhV05sQUU1dmRDQmhJR1JwY21WamRHOXllUUJKY3lCaElHUnBjbVZqZEc5eWVRQlVaWGgwSUdacGJHVWdZblZ6ZVFCRmVHVmpJR1p2Y20xaGRDQmxjbkp2Y2dCSmJuWmhiR2xrSUdGeVozVnRaVzUwQUVGeVozVnRaVzUwSUd4cGMzUWdkRzl2SUd4dmJtY0FVM2x0WW05c2FXTWdiR2x1YXlCc2IyOXdBRVpwYkdWdVlXMWxJSFJ2YnlCc2IyNW5BRlJ2YnlCdFlXNTVJRzl3Wlc0Z1ptbHNaWE1nYVc0Z2MzbHpkR1Z0QUU1dklHWnBiR1VnWkdWelkzSnBjSFJ2Y25NZ1lYWmhhV3hoWW14bEFFSmhaQ0JtYVd4bElHUmxjMk55YVhCMGIzSUFUbThnWTJocGJHUWdjSEp2WTJWemN3QkNZV1FnWVdSa2NtVnpjd0JHYVd4bElIUnZieUJzWVhKblpRQlViMjhnYldGdWVTQnNhVzVyY3dCT2J5QnNiMk5yY3lCaGRtRnBiR0ZpYkdVQVVtVnpiM1Z5WTJVZ1pHVmhaR3h2WTJzZ2QyOTFiR1FnYjJOamRYSUFVM1JoZEdVZ2JtOTBJSEpsWTI5MlpYSmhZbXhsQUZCeVpYWnBiM1Z6SUc5M2JtVnlJR1JwWldRQVQzQmxjbUYwYVc5dUlHTmhibU5sYkdWa0FFWjFibU4wYVc5dUlHNXZkQ0JwYlhCc1pXMWxiblJsWkFCT2J5QnRaWE56WVdkbElHOW1JR1JsYzJseVpXUWdkSGx3WlFCSlpHVnVkR2xtYVdWeUlISmxiVzkyWldRQVJHVjJhV05sSUc1dmRDQmhJSE4wY21WaGJRQk9ieUJrWVhSaElHRjJZV2xzWVdKc1pRQkVaWFpwWTJVZ2RHbHRaVzkxZEFCUGRYUWdiMllnYzNSeVpXRnRjeUJ5WlhOdmRYSmpaWE1BVEdsdWF5Qm9ZWE1nWW1WbGJpQnpaWFpsY21Wa0FGQnliM1J2WTI5c0lHVnljbTl5QUVKaFpDQnRaWE56WVdkbEFFWnBiR1VnWkdWelkzSnBjSFJ2Y2lCcGJpQmlZV1FnYzNSaGRHVUFUbTkwSUdFZ2MyOWphMlYwQUVSbGMzUnBibUYwYVc5dUlHRmtaSEpsYzNNZ2NtVnhkV2x5WldRQVRXVnpjMkZuWlNCMGIyOGdiR0Z5WjJVQVVISnZkRzlqYjJ3Z2QzSnZibWNnZEhsd1pTQm1iM0lnYzI5amEyVjBBRkJ5YjNSdlkyOXNJRzV2ZENCaGRtRnBiR0ZpYkdVQVVISnZkRzlqYjJ3Z2JtOTBJSE4xY0hCdmNuUmxaQUJUYjJOclpYUWdkSGx3WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRTV2ZENCemRYQndiM0owWldRQVVISnZkRzlqYjJ3Z1ptRnRhV3g1SUc1dmRDQnpkWEJ3YjNKMFpXUUFRV1JrY21WemN5Qm1ZVzFwYkhrZ2JtOTBJSE4xY0hCdmNuUmxaQ0JpZVNCd2NtOTBiMk52YkFCQlpHUnlaWE56SUc1dmRDQmhkbUZwYkdGaWJHVUFUbVYwZDI5eWF5QnBjeUJrYjNkdUFFNWxkSGR2Y21zZ2RXNXlaV0ZqYUdGaWJHVUFRMjl1Ym1WamRHbHZiaUJ5WlhObGRDQmllU0J1WlhSM2IzSnJBRU52Ym01bFkzUnBiMjRnWVdKdmNuUmxaQUJPYnlCaWRXWm1aWElnYzNCaFkyVWdZWFpoYVd4aFlteGxBRk52WTJ0bGRDQnBjeUJqYjI1dVpXTjBaV1FBVTI5amEyVjBJRzV2ZENCamIyNXVaV04wWldRQVEyRnVibTkwSUhObGJtUWdZV1owWlhJZ2MyOWphMlYwSUhOb2RYUmtiM2R1QUU5d1pYSmhkR2x2YmlCaGJISmxZV1I1SUdsdUlIQnliMmR5WlhOekFFOXdaWEpoZEdsdmJpQnBiaUJ3Y205bmNtVnpjd0JUZEdGc1pTQm1hV3hsSUdoaGJtUnNaUUJTWlcxdmRHVWdTUzlQSUdWeWNtOXlBRkYxYjNSaElHVjRZMlZsWkdWa0FFNXZJRzFsWkdsMWJTQm1iM1Z1WkFCWGNtOXVaeUJ0WldScGRXMGdkSGx3WlFCT2J5Qmxjbkp2Y2lCcGJtWnZjbTFoZEdsdmJnQUFBQUFBQUV4RFgwTlVXVkJGQUFBQUFFeERYMDVWVFVWU1NVTUFBRXhEWDFSSlRVVUFBQUFBQUV4RFgwTlBURXhCVkVVQUFFeERYMDFQVGtWVVFWSlpBRXhEWDAxRlUxTkJSMFZUQUVIdzZRQUxsd0lEQUFBQUJBQUFBQVFBQUFBR0FBQUFnL21pQUVST2JnRDhLUlVBMFZjbkFOMDA5UUJpMjhBQVBKbVZBRUdRUXdCalVmNEF1OTZyQUxkaHhRQTZiaVFBMGsxQ0FFa0c0QUFKNmk0QUhKTFJBT3NkL2dBcHNSd0E2RDZuQVBVMWdnQkV1eTRBbk9tRUFMUW1jQUJCZmw4QTFwRTVBRk9ET1FDYzlEa0FpMStFQUNqNXZRRDRIenNBM3YrWEFBK1lCUUFSTCs4QUNscUxBRzBmYlFEUGZqWUFDY3NuQUVaUHR3Q2VaajhBTGVwZkFMb25kUURsNjhjQVBYdnhBUGM1QndDU1Vvb0ErMnZxQUIreFh3QUlYWTBBTUFOV0FIdjhSZ0R3cTJzQUlMelBBRGIwbWdEanFSMEFYbUdSQUFnYjVnQ0ZtV1VBb0JSZkFJMUFhQUNBMlA4QUozTk5BQVlHTVFES1ZoVUF5YWh6QUh2aVlBQnJqTUFBUVpQc0FBdjlBMEQ3SWZrL0FBQUFBQzFFZEQ0QUFBQ0FtRWI0UEFBQUFHQlJ6SGc3QUFBQWdJTWI4RGtBQUFCQUlDVjZPQUFBQUlBaWd1TTJBQUFBQUIzemFUVTRZKzArMmc5SlAxNlllei9hRDhrL2FUZXNNV2doSWpPMER4UXphQ0dpTXdBQUFBQUNBQUFBQXdBQUFBVUFBQUFIQUFBQUN3QUFBQTBBQUFBUkFBQUFFd0FBQUJjQUFBQWRBQUFBSHdBQUFDVUFBQUFwQUFBQUt3QUFBQzhBQUFBMUFBQUFPd0FBQUQwQUFBQkRBQUFBUndBQUFFa0FBQUJQQUFBQVV3QUFBRmtBQUFCaEFBQUFaUUFBQUdjQUFBQnJBQUFBYlFBQUFIRUFBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFsUUFBQUpjQUFBQ2RBQUFBb3dBQUFLY0FBQUN0QUFBQXN3QUFBTFVBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMHdBQUFBRUFBQUFMQUFBQURRQUFBQkVBQUFBVEFBQUFGd0FBQUIwQUFBQWZBQUFBSlFBQUFDa0FBQUFyQUFBQUx3QUFBRFVBQUFBN0FBQUFQUUFBQUVNQUFBQkhBQUFBU1FBQUFFOEFBQUJUQUFBQVdRQUFBR0VBQUFCbEFBQUFad0FBQUdzQUFBQnRBQUFBY1FBQUFIa0FBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFqd0FBQUpVQUFBQ1hBQUFBblFBQUFLTUFBQUNuQUFBQXFRQUFBSzBBQUFDekFBQUF0UUFBQUxzQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTBRQUFBREF4TWpNME5UWTNPRGxoWW1Oa1pXWkJRa05FUlVaNFdDc3RjRkJwU1c1T0FFR2c4QUFMZ1FFbEFBQUFiUUFBQUM4QUFBQWxBQUFBWkFBQUFDOEFBQUFsQUFBQWVRQUFBQ1VBQUFCWkFBQUFMUUFBQUNVQUFBQnRBQUFBTFFBQUFDVUFBQUJrQUFBQUpRQUFBRWtBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUFnQUFBQUpRQUFBSEFBQUFBQUFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFRYkR4QUF1NUFTVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQlFSUUFBRTJNQUFIaEZBQURaYndBQThEZ0FBQUFBQUFCNFJRQUE3WElBQUtnN0FBQUFBQUFBZUVVQUFHbCtBQUM0UWdBQUFBQUFBSGhGQUFBWmtBQUF1RUlBQUFBQUFBQjRSUUFBalpBQUFMaENBQUFBQUFBQTVFVUFBSnluQUFBQUFBQUFBUUFBQUdBNUFBQUFBQUFBVUVVQUFOdW5BQUFGQUVIMDhnQUxBUUlBUVl6ekFBc0tBUUFBQUFFQUFBQ202Z0JCcFBNQUN3RUNBRUd6OHdBTEJmLy8vLy8vQUVINDh3QUxBUWtBUVlUMEFBc0JBZ0JCbVBRQUN4SUNBQUFBQUFBQUFBRUFBQUJvMGdBQUFBUUFRY1QwQUFzRS8vLy8vd0JCaVBVQUN3RUZBRUdVOVFBTEFRTUFRYXoxQUFzT0FRQUFBQUlBQUFCNDFnQUFBQVFBUWNUMUFBc0JBUUJCMC9VQUN3VUsvLy8vL3dCQnZQWUFDd0VEQUVIajlnQUxCZi8vLy8vL0FFR285d0FMMXhCUVJRQUEvcjhBQUhoRkFBQmV3QUFBd0RzQUFBQUFBQUI0UlFBQUM4QUFBTkE3QUFBQUFBQUFVRVVBQUN6QUFBQjRSUUFBT2NBQUFMQTdBQUFBQUFBQWVFVUFBS2pBQUFDb093QUFBQUFBQUhoRkFBQzR3QUFBNkRzQUFBQUFBQUI0UlFBQXljQUFBTUE3QUFBQUFBQUFlRVVBQU92QUFBQUlQQUFBQUFBQUFIaEZBQUFQd1FBQXdEc0FBQUFBQUFESVJRQUFOOEVBQU1oRkFBQTV3UUFBeUVVQUFEdkJBQURJUlFBQVBjRUFBTWhGQUFBL3dRQUF5RVVBQUVIQkFBRElSUUFBUThFQUFNaEZBQUJGd1FBQXlFVUFBRWZCQUFESVJRQUFac29BQU1oRkFBQkp3UUFBeUVVQUFFdkJBQURJUlFBQVRjRUFBSGhGQUFCUHdRQUFzRHNBQUFBQUFBQlFSUUFBc01RQUFGQkZBQURQeEFBQVVFVUFBTzdFQUFCUVJRQUFEY1VBQUZCRkFBQXN4UUFBVUVVQUFFdkZBQUJRUlFBQWFzVUFBRkJGQUFDSnhRQUFVRVVBQUtqRkFBQlFSUUFBeDhVQUFGQkZBQURteFFBQVVFVUFBQVhHQUFCUVJRQUFKTVlBQU9SRkFBQTN4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFCNXhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUM3eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBRDZ4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBSGhGQUFCTHh3QUFpRDBBQUFBQUFBQlFSUUFBT2NjQUFIaEZBQUIxeHdBQWlEMEFBQUFBQUFCUVJRQUFuOGNBQUZCRkFBRFF4d0FBNUVVQUFBSElBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQURESUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvLzVFVUFBRi9JQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFJN0lBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy9lRVVBQUwzSUFBQ29QUUFBQUFBQUFIaEZBQURXeUFBQW9EMEFBQUFBQUFCNFJRQUFGY2tBQUtnOUFBQUFBQUFBZUVVQUFDM0pBQUNnUFFBQUFBQUFBSGhGQUFCRnlRQUFZRDRBQUFBQUFBQjRSUUFBV2NrQUFMQkNBQUFBQUFBQWVFVUFBRy9KQUFCZ1BnQUFBQUFBQU9SRkFBQ0l5UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBS0ErQUFBQUFBQUE1RVVBQU16SkFBQUFBQUFBQVFBQUFMZytBQUFBQUFBQVVFVUFBT0xKQUFEa1JRQUErOGtBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURnUGdBQUFBQUFBT1JGQUFBL3lnQUFBQUFBQUFFQUFBQzRQZ0FBQUFBQUFPUkZBQUJveWdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUJnL0FBQUFBQUFBNUVVQUFLektBQUFBQUFBQUFRQUFBREEvQUFBQUFBQUFVRVVBQU1MS0FBRGtSUUFBMjhvQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCWVB3QUFBQUFBQU9SRkFBQWZ5d0FBQUFBQUFBRUFBQUF3UHdBQUFBQUFBT1JGQUFCMXpBQUFBQUFBQUFNQUFBQmdQZ0FBQWdBQUFKZy9BQUFDQUFBQW9EOEFBQUFJQUFCUVJRQUEzTXdBQUZCRkFBQzZ6QUFBNUVVQUFPL01BQUFBQUFBQUF3QUFBR0ErQUFBQ0FBQUFtRDhBQUFJQUFBRFFQd0FBQUFnQUFGQkZBQUEwelFBQTVFVUFBRmJOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBK0Q4QUFBQUlBQUJRUlFBQW04MEFBT1JGQUFDd3pRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFQZy9BQUFBQ0FBQTVFVUFBUFhOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQUJRUlFBQUVjNEFBT1JGQUFBbXpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkFBQUFDQUFBQTVFVUFBRUxPQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQURrUlFBQVhzNEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQkFRQUFBQWdBQUFPUkZBQUNKemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1oQUFBQUFBQUFBVUVVQUFNL09BQURrUlFBQTg4NEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRHdRQUFBQUFBQUFGQkZBQUE1endBQTVFVUFBRmpQQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBR0VFQUFBQUFBQUJRUlFBQW5zOEFBT1JGQUFDM3p3QUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkJBQUFBQUFBQVVFVUFBUDNQQUFEa1JRQUFGdEFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJvUVFBQUFnQUFBRkJGQUFBcjBBQUE1RVVBQU1MUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFRUFBQUlBQUFCNFJRQUFROUFBQUtCQkFBQUFBQUFBNUVVQUFHYlFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQlFSUUFBaWRBQUFIaEZBQUNnMEFBQW9FRUFBQUFBQUFEa1JRQUExOUFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURBUVFBQUFnQUFBT1JGQUFENTBBQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNQkJBQUFDQUFBQTVFVUFBQnZSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUI0UlFBQVB0RUFBR0ErQUFBQUFBQUE1RVVBQUZUUkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFSUFBQUlBQUFCUVJRQUFadEVBQU9SRkFBQjcwUUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBR2hDQUFBQ0FBQUFlRVVBQUpqUkFBQmdQZ0FBQUFBQUFIaEZBQUN0MFFBQVlENEFBQUFBQUFCUVJRQUF3dEVBQU9SRkFBRGIwUUFBQUFBQUFBRUFBQUN3UWdBQUFBQUFBQUVBQUFBQUFBQUErRGdBQUFFQUFBQUNBQUFBQUFBQUFQQTRBQUFEQUFBQUJBQUFBQUFBQUFBSU9RQUFCUUFBQUFZQUFBQUJBQUFBdVZLTVBvNWE1ejY1VW93K0FBQUFBQmc1QUFBSEFBQUFDQUFBQUFrQUFBQUJBQUFBQ2dBQUFBQUFBQUFvT1FBQUJ3QUFBQXNBQUFBTUFBQUFBZ0FBQUEwQUFBQUFBQUFBT0RrQUFBY0FBQUFPQUFBQUR3QUFBQU1BQUFBUUFBQUEvLy8vLy83Ly8vLzkvLy8vT0R3QUFIQThBQUNRUEFBQU9Ed0FBSEE4QUFCd1BBQUFtRHdBQUhBOEFBQTRQQUFBY0R3QUFKZzhBQUJ3UEFBQU9Ed0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBY0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFBUUFBQUFBQUFBQUNBQUFBUUFZQUFJQStBQUFBQUFBQWlCTUFBREFhQUFBVUFBQUFReTVWVkVZdE9BQkJqSWdCQ3dMd1F3QkJwSWdCQ3hKb09RQUErRGtBQUlnNkFBQ0lPZ0FBSUIwQVFlaUpBUXNDak9JQVFhQ0tBUXU5RWlBaUFBQWdKZ0FBWDNDSkFQOEpMdzhBQUlBL0FBREFQd0FBQUFEY3o5RTFBQUFBQUFEQUZUOEFBQUFBc0RzQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBRUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFOZzdBQUFSQUFBQUZRQUFBQk1BQUFBVUFBQUFCQUFBQUFJQUFBQUNBQUFBQWdBQUFBQUFBQURvT3dBQUZnQUFBQmNBQUFBRUFBQUFBQUFBQVBnN0FBQVdBQUFBR0FBQUFBUUFBQUFBQUFBQUtEd0FBQkVBQUFBWkFBQUFFd0FBQUJRQUFBQUZBQUFBQUFBQUFLQThBQUFSQUFBQUdnQUFBQk1BQUFBVUFBQUFCQUFBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUNJUFFBQUd3QUFBQndBQUFBQUFBQUFvRDBBQUIwQUFBQWVBQUFBQVFBQUFBWUFBQUFCQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBZ0FBQUFGQUFBQUFBQUFBS2c5QUFBZkFBQUFJQUFBQUFJQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBTEFBQUFEQUFBQUFZQUFBQUxBQUFBQndBQUFBZ0FBQUFBQUFBQXNEMEFBQ0VBQUFBaUFBQUErUC8vLy9qLy8vK3dQUUFBSXdBQUFDUUFBQUNnUmdBQXRFWUFBQWdBQUFBQUFBQUF5RDBBQUNVQUFBQW1BQUFBK1AvLy8vai8vLy9JUFFBQUp3QUFBQ2dBQUFEUVJnQUE1RVlBQUFRQUFBQUFBQUFBNEQwQUFDa0FBQUFxQUFBQS9QLy8vL3ovLy8vZ1BRQUFLd0FBQUN3QUFBQUFSd0FBRkVjQUFBUUFBQUFBQUFBQStEMEFBQzBBQUFBdUFBQUEvUC8vLy96Ly8vLzRQUUFBTHdBQUFEQUFBQUF3UndBQVJFY0FBQUFBQUFBUVBnQUFId0FBQURFQUFBQURBQUFBQ1FBQUFBSUFBQUFGQUFBQURRQUFBQW9BQUFBS0FBQUFDd0FBQUF3QUFBQUdBQUFBREFBQUFBZ0FBQUFBQUFBQUlENEFBQjBBQUFBeUFBQUFCQUFBQUFZQUFBQUJBQUFBQkFBQUFBNEFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUEwQUFBQUpBQUFBQUFBQUFEQStBQUFmQUFBQU13QUFBQVVBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFQQUFBQUVBQUFBQW9BQUFBTEFBQUFCd0FBQUFBQUFBQkFQZ0FBSFFBQUFEUUFBQUFHQUFBQUJnQUFBQUVBQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBRVFBQUFCSUFBQUFMQUFBQUNBQUFBQVVBQUFBQUFBQUFVRDRBQURVQUFBQTJBQUFBTndBQUFBRUFBQUFHQUFBQURnQUFBQUFBQUFCd1BnQUFPQUFBQURrQUFBQTNBQUFBQWdBQUFBY0FBQUFQQUFBQUFBQUFBSUErQUFBNkFBQUFPd0FBQURjQUFBQUJBQUFBQWdBQUFBTUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFDQUFBQUFrQUFBQUtBQUFBQ3dBQUFBQUFBQURBUGdBQVBBQUFBRDBBQUFBM0FBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQUFBQUFBK0Q0QUFENEFBQUEvQUFBQU53QUFBQU1BQUFBRUFBQUFBUUFBQUFVQUFBQUNBQUFBQVFBQUFBSUFBQUFHQUFBQUFBQUFBRGcvQUFCQUFBQUFRUUFBQURjQUFBQUhBQUFBQ0FBQUFBTUFBQUFKQUFBQUJBQUFBQU1BQUFBRUFBQUFDZ0FBQUFBQUFBQndQd0FBUWdBQUFFTUFBQUEzQUFBQUV3QUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBQVFBQUFQai8vLzl3UHdBQUZBQUFBQlVBQUFBV0FBQUFGd0FBQUJnQUFBQVpBQUFBR2dBQUFBQUFBQUNvUHdBQVJBQUFBRVVBQUFBM0FBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUFnQUFBUGovLy8rb1B3QUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUFBQUFBQ1VBQUFCdEFBQUFMd0FBQUNVQUFBQmtBQUFBTHdBQUFDVUFBQUI1QUFBQUFBQUFBQ1VBQUFCSkFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCd0FBQUFBQUFBQUNVQUFBQmhBQUFBSUFBQUFDVUFBQUJpQUFBQUlBQUFBQ1VBQUFCa0FBQUFJQUFBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQlpBQUFBQUFBQUFFRUFBQUJOQUFBQUFBQUFBRkFBQUFCTkFBQUFBQUFBQUVvQUFBQmhBQUFBYmdBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFSZ0FBQUdVQUFBQmlBQUFBY2dBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFUUUFBQUdFQUFBQnlBQUFBWXdBQUFHZ0FBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFhUUFBQUd3QUFBQUFBQUFBVFFBQUFHRUFBQUI1QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUdVQUFBQUFBQUFBU2dBQUFIVUFBQUJzQUFBQWVRQUFBQUFBQUFCQkFBQUFkUUFBQUdjQUFBQjFBQUFBY3dBQUFIUUFBQUFBQUFBQVV3QUFBR1VBQUFCd0FBQUFkQUFBQUdVQUFBQnRBQUFBWWdBQUFHVUFBQUJ5QUFBQUFBQUFBRThBQUFCakFBQUFkQUFBQUc4QUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVJBQUFBR1VBQUFCakFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVNnQUFBR0VBQUFCdUFBQUFBQUFBQUVZQUFBQmxBQUFBWWdBQUFBQUFBQUJOQUFBQVlRQUFBSElBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBQUFBQUFCS0FBQUFkUUFBQUd3QUFBQUFBQUFBUVFBQUFIVUFBQUJuQUFBQUFBQUFBRk1BQUFCbEFBQUFjQUFBQUFBQUFBQlBBQUFBWXdBQUFIUUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFBQUFBQUVRQUFBQmxBQUFBWXdBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFITUFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFWd0FBQUdVQUFBQmtBQUFBYmdBQUFHVUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQm9BQUFBZFFBQUFISUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQUFBQjFBQUFBY2dBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUFBQUFBQlhBQUFBWlFBQUFHUUFBQUFBQUFBQVZBQUFBR2dBQUFCMUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBUWVpY0FRc1IyRDhBQUVZQUFBQkhBQUFBTndBQUFBRUFRWUdkQVF2d0JVQUFBRWdBQUFCSkFBQUFOd0FBQUFJQUFBQUFBQUFBSUVBQUFFb0FBQUJMQUFBQU53QUFBQ01BQUFBa0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFDVUFBQUFMQUFBQURBQUFBQUFBQUFCSVFBQUFUQUFBQUUwQUFBQTNBQUFBSmdBQUFDY0FBQUFOQUFBQURnQUFBQThBQUFBUUFBQUFLQUFBQUJFQUFBQVNBQUFBQUFBQUFHaEFBQUJPQUFBQVR3QUFBRGNBQUFBcEFBQUFLZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFyQUFBQUZ3QUFBQmdBQUFBQUFBQUFpRUFBQUZBQUFBQlJBQUFBTndBQUFDd0FBQUF0QUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUM0QUFBQWRBQUFBSGdBQUFBQUFBQUNvUUFBQVVnQUFBRk1BQUFBM0FBQUFBd0FBQUFRQUFBQUFBQUFBMEVBQUFGUUFBQUJWQUFBQU53QUFBQVVBQUFBR0FBQUFBQUFBQVBoQUFBQldBQUFBVndBQUFEY0FBQUFCQUFBQUlRQUFBQUFBQUFBZ1FRQUFXQUFBQUZrQUFBQTNBQUFBQWdBQUFDSUFBQUFBQUFBQVNFRUFBRm9BQUFCYkFBQUFOd0FBQUJBQUFBQUVBQUFBSHdBQUFBQUFBQUJ3UVFBQVhBQUFBRjBBQUFBM0FBQUFFUUFBQUFVQUFBQWdBQUFBQUFBQUFNaEJBQUJlQUFBQVh3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBSkJCQUFCZUFBQUFZQUFBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQVBoQkFBQmhBQUFBWWdBQUFEY0FBQUFGQUFBQUJnQUFBQTBBQUFBeUFBQUFNd0FBQUE0QUFBQTBBQUFBQUFBQUFEaENBQUJqQUFBQVpBQUFBRGNBQUFBQUFBQUFTRUlBQUdVQUFBQm1BQUFBTndBQUFBd0FBQUFTQUFBQURRQUFBQk1BQUFBT0FBQUFBUUFBQUJRQUFBQVBBQUFBQUFBQUFKQkNBQUJuQUFBQWFBQUFBRGNBQUFBMUFBQUFOZ0FBQUNFQUFBQWlBQUFBSXdBQUFBQUFBQUNnUWdBQWFRQUFBR29BQUFBM0FBQUFOd0FBQURnQUFBQWtBQUFBSlFBQUFDWUFBQUJtQUFBQVlRQUFBR3dBQUFCekFBQUFaUUFBQUFBQUFBQjBBQUFBY2dBQUFIVUFBQUJsQUVIOG9nRUwvSUFDWUQ0QUFGNEFBQUJyQUFBQU53QUFBQUFBQUFCd1FnQUFYZ0FBQUd3QUFBQTNBQUFBRlFBQUFBSUFBQUFEQUFBQUJBQUFBQThBQUFBV0FBQUFFQUFBQUJjQUFBQVJBQUFBQlFBQUFCZ0FBQUFRQUFBQUFBQUFBTmhCQUFCZUFBQUFiUUFBQURjQUFBQUhBQUFBQ0FBQUFCRUFBQUE1QUFBQU9nQUFBQklBQUFBN0FBQUFBQUFBQUJoQ0FBQmVBQUFBYmdBQUFEY0FBQUFKQUFBQUNnQUFBQk1BQUFBOEFBQUFQUUFBQUJRQUFBQStBQUFBQUFBQUFLQkJBQUJlQUFBQWJ3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBS0EvQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUFBQUFBTkEvQUFBY0FBQUFIUUFBQUI0QUFBQWZBQUFBSUFBQUFDRUFBQUFpQUFBQVJYSnliM0k2SUd4aFltVnNhVzVuSUhkdmNtc2diM1psY21ac2IzY3VDZ0JWYm10dWIzZHVJRzl5SUhWdWMzVndjRzl5ZEdWa0lHeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhKbGNYVmxjM1JsWkM0Z1UyVjBJSFJ2SUcxaGJuVmhiQzRLQUV4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSE5sZENCMGJ5QWxjeTRLQUUxQlRsVkJUQUJCVlZSUFgwMUZSRWxCVGdCQlZWUlBYMDlVVTFVQVFWVlVUMTlCUkVGUVZFbFdSUUJCVlZSUFgwSlNRVU5MUlZSSlRrY0FSWEp5YjNJNklGVnVjM1Z3Y0c5eWRHVmtJSEJwZUdWc0lHWnZjbTFoZENBb0pXUXBJSEpsY1hWbGMzUmxaQzRLQUVGMWRHOGdkR2h5WlhOb2IyeGtJQ2hpY21GamEyVjBLU0J0WVhKclpYSWdZMjkxYm5SeklDMWJKVE5rT2lBbE0yUmRJRnNsTTJRNklDVXpaRjBnV3lVelpEb2dKVE5rWFNzdUNnQkJkWFJ2SUhSb2NtVnphRzlzWkNBb1luSmhZMnRsZENrZ1lXUnFkWE4wWldRZ2RHaHlaWE5vYjJ4a0lIUnZJQ1ZrTGdvQWJXVmthV0Z1QUU5MGMzVUFRWFYwYnlCMGFISmxjMmh2YkdRZ0tDVnpLU0JoWkdwMWMzUmxaQ0IwYUhKbGMyaHZiR1FnZEc4Z0pXUXVDZ0EvUHo4Z01Rb0FQejgvSURJS0FEOC9QeUF6Q2dCRmNuSnZjam9nZFc1emRYQndiM0owWldRZ2NHbDRaV3dnWm05eWJXRjBMZ29BUlhKeWIzSTZJRTVWVEV3Z2NHRjBkRWhoYm1Sc1pTNEtBRVZ5Y205eU9pQmpZVzRuZENCc2IyRmtJSEJoZEhSbGNtNGdabkp2YlNCT1ZVeE1JR0oxWm1abGNpNEtBRVZ5Y205eU9pQnZkWFFnYjJZZ2JXVnRiM0o1TGdvQUlBa0tEUUJRWVhSMFpYSnVJRVJoZEdFZ2NtVmhaQ0JsY25KdmNpRWhDZ0JGY25KdmNpQnlaV0ZrYVc1bklIQmhkSFJsY200Z1ptbHNaU0FuSlhNbkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUc5d1pXNGdZMkZ0WlhKaElIQmhjbUZ0WlhSbGNuTWdabWxzWlNBaUpYTWlJR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JtYVd4bElHeGxibWQwYUM0QVJYSnliM0k2SUhOMWNIQnNhV1ZrSUdacGJHVWdaRzlsY3lCdWIzUWdZWEJ3WldGeUlIUnZJR0psSUdGdUlFRlNWRzl2YkV0cGRDQmpZVzFsY21FZ2NHRnlZVzFsZEdWeUlHWnBiR1V1Q2dCRmNuSnZjaUFvSldRcE9pQjFibUZpYkdVZ2RHOGdjbVZoWkNCbWNtOXRJR1pwYkdVdUFHRnlaMnhEWVcxbGNtRkdjblZ6ZEhWdFVrZ29LVG9nWVhKUVlYSmhiVVJsWTI5dGNFMWhkQ2dwSUdsdVpHbGpZWFJsWkNCd1lYSmhiV1YwWlhJZ1pYSnliM0l1Q2dCRmNuSnZjam9nYVdOd1IyVjBTbDlWWDFoakFFVnljbTl5SURFNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTWpvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUF6T2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRFE2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdOVG9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQTJPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEYzZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljdUNnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJRVpwY25OMElHeHBibVVnYlhWemRDQmlaU0J1ZFcxaVpYSWdiMllnYldGeWEyVnlJR052Ym1acFozTWdkRzhnY21WaFpDNEtBQ1ZzYkhVbFl3QkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJSEJoZEhSbGNtNGdKeVZ6SnlCemNHVmphV1pwWldRZ2FXNGdiWFZzZEdsdFlYSnJaWElnWTI5dVptbG5kWEpoZEdsdmJpQjNhR2xzWlNCcGJpQmlZWEpqYjJSbExXOXViSGtnYlc5a1pTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCa2FYSmxZM1J2Y25rZ2JtRnRaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHeHZZV1FnY0dGMGRHVnliaUFuSlhNbkxnb0FKV3htQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6Snl3Z2JXRnlhMlZ5SUdSbFptbHVhWFJwYjI0Z0pUTmtPaUJHYVhKemRDQnNhVzVsSUcxMWMzUWdZbVVnY0dGMGRHVnliaUIzYVdSMGFDNEtBQ1ZzWmlBbGJHWWdKV3htSUNWc1pnQWxaaUFsWmdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljc0lHMWhjbXRsY2lCa1pXWnBibWwwYVc5dUlDVXpaRG9nVEdsdVpYTWdNaUF0SURRZ2JYVnpkQ0JpWlNCdFlYSnJaWElnZEhKaGJuTm1iM0p0TGdvQVd5VnpYU0FBWkdWaWRXY0FhVzVtYndCM1lYSnVhVzVuQUdWeWNtOXlBQ1Z6SlhNQUxtbHpaWFFBUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHWnBiR1VnSnlWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnY21WaFpHbHVaeUJwYldGblpWTmxkQzRLQUVsdFlXZGxjMlYwSUdOdmJuUmhhVzV6SUNWa0lHbHRZV2RsY3k0S0FFWmhiR3hwYm1jZ1ltRmpheUIwYnlCeVpXRmthVzVuSUNjbGN5VnpKeUJwYmlCQlVsUnZiMnhMYVhRZ2RqUXVlQ0JtYjNKdFlYUXVDZ0JGY25KdmNpQnlaV0ZrYVc1bklFcFFSVWNnWm1sc1pTNEtBRVZ5Y205eUlISmxZV1JwYm1jZ1NsQkZSeUJtYVd4bElHaGxZV1JsY2k0S0FDVm1BRVpwYkdVZ2IzQmxiaUJsY25KdmNpNGdKWE1LQUZKbFlXUWdaWEp5YjNJaElRb0FjZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekp6b2dBQ1Z6SlhNS0FDVmtBQW9qSXlNZ1UzVnlabUZqWlNCT2J5NGxaQ0FqSXlNS0FDVnpBQ0FnVW1WaFpDQkpiV0ZuWlZObGRDNEtBRVZ5Y205eUlHOXdaVzVwYm1jZ1ptbHNaU0FuSlhNdWFYTmxkQ2N1Q2dBZ0lDQWdaVzVrTGdvQUlDQlNaV0ZrSUVabFlYUjFjbVZUWlhRdUNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG1aelpYUW5MZ29BSUNCU1pXRmtJRTFoY210bGNsTmxkQzRLQUcxeWF3QkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG0xeWF5Y3VDZ0FsWmlBbFppQWxaaUFsWmdCVWNtRnVjMlp2Y20xaGRHbHZiaUJ0WVhSeWFYZ2djbVZoWkNCbGNuSnZjaUVoQ2dCcWNHY0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJeEwzSmxaa1JoZEdGVFpYUlFkSEl5TGdvQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl1Q2dCeVlnQnJjRzFNYjJGa1VtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlHWnBiR1Z1WVcxbEwzSmxaa1JoZEdGVFpYUlFkSEl1Q2dCRmNuSnZjaUJzYjJGa2FXNW5JRXRRVFNCa1lYUmhPaUIxYm1GaWJHVWdkRzhnYjNCbGJpQm1hV3hsSUNjbGN5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2JHOWhaR2x1WnlCTFVFMGdaR0YwWVRvZ1pYSnliM0lnY21WaFpHbHVaeUJrWVhSaExnb0FhM0J0UTJoaGJtZGxVR0ZuWlU1dlQyWlNaV1pFWVhSaFUyVjBLQ2s2SUU1VlRFd2djbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2Y21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2djbVZtUkdGMFlWTmxkQzRLQUhCdmFXNTBjeTBsWkFvQWEzQnRUV0YwWTJocGJtY29LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZhVzVKYldGblpVeDFiV0V1Q2dCUVlXZGxXeVZrWFNBZ2NISmxPaVV6WkN3Z1lXWjBPaVV6WkN3Z1pYSnliM0lnUFNBbFpnb0FKWE11SlhNQVFYTnpaWEowYVc5dUlHQndlWEpoYldsa0xUNXphWHBsS0NrZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OUViMGRmYzJOaGJHVmZhVzUyWVhKcFlXNTBYMlJsZEdWamRHOXlMbU53Y0FCUWVYSmhiV2xrSUdseklHNXZkQ0JoYkd4dlkyRjBaV1FBVDJOMFlYWmxJRzkxZENCdlppQnlZVzVuWlFCVFkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnRTVzFoWjJWekxuTnBlbVVvS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVEdGd2JHRmphV0Z1SUhCNWNtRnRhV1FnYUdGeklHNXZkQ0JpWldWdUlHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUXRQbTUxYlU5amRHRjJaWE1vS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JrYjJWeklHNXZkQ0JqYjI1MFlXbHVJR0Z1ZVNCc1pYWmxiSE1BUVhOelpYSjBhVzl1SUdCa2VXNWhiV2xqWDJOaGMzUThZMjl1YzNRZ1FtbHViMjFwWVd4UWVYSmhiV2xrTXpKbUtqNG9jSGx5WVcxcFpDbGdJR1poYVd4bFpDQnBiaUFBVDI1c2VTQmlhVzV2YldsaGJDQndlWEpoYldsa0lHbHpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJQYm14NUlFWXpNaUJwYldGblpYTWdjM1Z3Y0c5eWRHVmtBRUZ6YzJWeWRHbHZiaUJnYVcweExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5R016SmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHUXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRTl1YkhrZ2MybHVaMnhsSUdOb1lXNXVaV3dnYVcxaFoyVnpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdsdE1TNWphR0Z1Ym1Wc2N5Z3BJRDA5SURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdaQzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRWx0WVdkbGN5QnRkWE4wSUdoaGRtVWdkR2hsSUhOaGJXVWdkMmxrZEdnQVFYTnpaWEowYVc5dUlHQmtMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpYTWdiWFZ6ZENCb1lYWmxJSFJvWlNCellXMWxJR2hsYVdkb2RBQkJjM05sY25ScGIyNGdZR2x0TVM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXMHhMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhKdmR5QThJRzFJWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1nQWNtOTNJRzkxZENCdlppQmliM1Z1WkhNQVRqWjJhWE5wYjI0eU5VZGhkWE56YVdGdVUyTmhiR1ZUY0dGalpWQjVjbUZ0YVdSRkFFUnZSeUJRZVhKaGJXbGtBRTV2YmkxdFlYZ2djM1Z3Y0hKbGMzTnBiMjRBVTNWaWNHbDRaV3dBY0hKMWJtVkdaV0YwZFhKbGN3QkdhVzVrSUU5eWFXVnVkR0YwYVc5dWN3QkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFoZ0lHWmhhV3hsWkNCcGJpQUFRblZqYTJWMGN5QmhjbVVnYm05MElHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpXekJkTG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCdFJtVmhkSFZ5WlZCdmFXNTBjeTV6YVhwbEtDa2dQRDBnYlUxaGVFNTFiVVpsWVhSMWNtVlFiMmx1ZEhOZ0lHWmhhV3hsWkNCcGJpQUFWRzl2SUcxaGJua2dabVZoZEhWeVpTQndiMmx1ZEhNQVFYTnpaWEowYVc5dUlHQmlkV05yWlhSYk1GMHVabWx5YzNRZ1BqMGdZblZqYTJWMFcyNWRMbVpwY25OMFlDQm1ZV2xzWldRZ2FXNGdBRzUwYUY5bGJHVnRaVzUwSUdaaGFXeGxaQUJCYzNObGNuUnBiMjRnWUd0d0xuTmpZV3hsSUR3Z2JVeGhjR3hoWTJsaGJsQjVjbUZ0YVdRdWJuVnRVMk5oYkdWUVpYSlBZM1JoZG1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSEJ2YVc1MElITmpZV3hsSUdseklHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCcmNDNXpZMjl5WlNBOVBTQnNZWEF4TG1kbGREeG1iRzloZEQ0b2VTbGJlRjFnSUdaaGFXeGxaQ0JwYmlBQVUyTnZjbVVnYVhNZ2JtOTBJR052Ym5OcGMzUmxiblFnZDJsMGFDQjBhR1VnUkc5SElHbHRZV2RsQUVGemMyVnlkR2x2YmlCZ2JHRndNQzVvWldsbmFIUW9LU0E5UFNCc1lYQXhMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpHVjBaV04wYjNKekwwUnZSMTl6WTJGc1pWOXBiblpoY21saGJuUmZaR1YwWldOMGIzSXVhQUJYYVdSMGFDOW9aV2xuYUhRZ1lYSmxJRzV2ZENCamIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLR3hoY0RBdWFHVnBaMmgwS0NrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1NrZ0ppWWdLQ2hzWVhBeExtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDZ29iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NrcElDWW1JQ2hzWVhBeExuZHBaSFJvS0NrZ1BUMGdiR0Z3TWk1M2FXUjBhQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCemFYcGxjeUJoY21VZ2FXNWpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0hndE1Ta2dQajBnTUNBbUppQW9lQ3N4S1NBOElHeGhjREV1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2VTMHhLU0ErUFNBd0lDWW1JQ2g1S3pFcElEd2diR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQjVJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFTVzFoWjJVZ1pHbHRaVzV6YVc5dWN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoc1lYQXdMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x1ZENsemRHUTZPbVpzYjI5eUtIZ3BJRDA5SUNocGJuUXBlR0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZhVzUwWlhKd2IyeGhkR1V1YUFCbWJHOXZjaWdwSUdGdVpDQmpZWE4wSUc1dmRDQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZQ2hwYm5RcGMzUmtPanBtYkc5dmNpaDVLU0E5UFNBb2FXNTBLWGxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjVjQ0ErUFNBd0lDWW1JSGx3SUR3Z2FHVnBaMmgwWUNCbVlXbHNaV1FnYVc0Z0FIbHdJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjVjRjl3YkhWelh6RWdQajBnTUNBbUppQjVjRjl3YkhWelh6RWdQQ0JvWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBZVhCZmNHeDFjMTh4SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I0Y0NBK1BTQXdJQ1ltSUhod0lEd2dkMmxrZEdoZ0lHWmhhV3hsWkNCcGJpQUFlSEFnYjNWMElHOW1JR0p2ZFc1a2N3QkJjM05sY25ScGIyNGdZSGh3WDNCc2RYTmZNU0ErUFNBd0lDWW1JSGh3WDNCc2RYTmZNU0E4SUhkcFpIUm9ZQ0JtWVdsc1pXUWdhVzRnQUhod1gzQnNkWE5mTVNCdmRYUWdiMllnWW05MWJtUnpBRUZ6YzJWeWRHbHZiaUJnZHpBZ1BqMGdNQ0FtSmlCM01DQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBVDNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdkekVnUGowZ01DQW1KaUIzTVNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdJQ1ltSUhjeUlEdzlJREV1TURBd01XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhjeklENDlJREFnSmlZZ2R6TWdQRDBnTVM0d01EQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tIY3dLM2N4SzNjeUszY3pLU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9lQzB4S1NBK1BTQXdJQ1ltSUNoNEt6RXBJRHdnYVcwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2g1TFRFcElENDlJREFnSmlZZ0tIa3JNU2tnUENCcGJTNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RFdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I0WDJScGRsOHlMVEF1TldZZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNFgyUnBkbDh5SUc5MWRDQnZaaUJpYjNWdVpITWdiM1YwSUc5bUlHSnZkVzVrY3lCbWIzSWdhVzUwWlhKd2IyeGhkR2x2YmdCQmMzTmxjblJwYjI0Z1lIbGZaR2wyWHpJdE1DNDFaaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGxmWkdsMlh6SWdiM1YwSUc5bUlHSnZkVzVrY3lCdmRYUWdiMllnWW05MWJtUnpJR1p2Y2lCcGJuUmxjbkJ2YkdGMGFXOXVBRUZ6YzJWeWRHbHZiaUJnZUY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdlVjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRWhsYVdkb2RDQnBjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNUzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUENCdFNXMWhaMlZ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJtUmxlQ0JwY3lCdmRYUWdiMllnY21GdVoyVUFUaloyYVhOcGIyNHhPRUpwYm05dGFXRnNVSGx5WVcxcFpETXlaa1VBUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErUFNBMVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtTndjQUJKYldGblpTQnBjeUIwYjI4Z2MyMWhiR3dBUVhOelpYSjBhVzl1SUdCb1pXbG5hSFFnUGowZ05XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOVZTVTVVT0dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR0psSUdkeVlYbHpZMkZzWlFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG1Ob1lXNXVaV3h6S0NrZ1BUMGdNV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHaGhkbVVnTVNCamFHRnVibVZzQUVGemMyVnlkR2x2YmlCZ2JWQjVjbUZ0YVdRdWMybDZaU2dwSUQwOUlHMU9kVzFQWTNSaGRtVnpLbTFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCb1lYTWdibTkwSUdKbFpXNGdZV3hzYjJOaGRHVmtJSGxsZEFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5kcFpIUm9LQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnZaaUIzY205dVp5QnphWHBsSUdadmNpQndlWEpoYldsa0FFRnpjMlZ5ZEdsdmJpQmdhVzFoWjJVdWFHVnBaMmgwS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmtjM1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkVaWE4wYVc1aGRHbHZiaUJwYldGblpTQnphRzkxYkdRZ1ltVWdZU0JtYkc5aGRBQlZibXR1YjNkdUlHbHRZV2RsSUhSNWNHVUFWVzV6ZFhCd2IzSjBaV1FnYVcxaFoyVWdkSGx3WlFCT05uWnBjMmx2YmpsRmVHTmxjSFJwYjI1RkFFRnpjMlZ5ZEdsdmJpQmdhVzB1ZDJsa2RHZ29LU0E5UFNCcGJTNXpkR1Z3S0NrdmMybDZaVzltS0dac2IyRjBLV0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZiM0pwWlc1MFlYUnBiMjVmWVhOemFXZHViV1Z1ZEM1amNIQUFVM1JsY0NCemFYcGxJRzExYzNRZ1ltVWdaWEYxWVd3Z2RHOGdkMmxrZEdnZ1ptOXlJRzV2ZHdCQmMzTmxjblJwYjI0Z1lIZ2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I0SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdiR1Z6Y3lCMGFHRnVJSFJvWlNCcGJXRm5aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZSGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI1SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNUlEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBZVNCdGRYTjBJR0psSUd4bGMzTWdkR2hoYmlCMGFHVWdhVzFoWjJVZ2FHVnBaMmgwQUVGemMyVnlkR2x2YmlCZ1p5NWphR0Z1Ym1Wc2N5Z3BJRDA5SURKZ0lHWmhhV3hsWkNCcGJpQUFUblZ0WW1WeUlHOW1JR05vWVc1dVpXeHpJSE5vYjNWc1pDQmlaU0F5QUVGemMyVnlkR2x2YmlCZ2JXRjRYMmhsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRXRjRhVzExYlNCaWFXNGdjMmh2ZFd4a0lHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYUdsemRDQWhQU0JPVlV4TVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5dmNtbGxiblJoZEdsdmJsOWhjM05wWjI1dFpXNTBMbWdBU0dsemRHOW5jbUZ0SUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJCYzNObGNuUnBiMjRnWUNobVltbHVLekF1TldZcElENGdNQ0FtSmlBb1ptSnBiaTB3TGpWbUtTQThJRzUxYlY5aWFXNXpZQ0JtWVdsc1pXUWdhVzRnQUVSbFkybHRZV3dnWW1sdUlIQnZjMmwwYVc5dUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZRzFoWjI1cGRIVmtaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTFoWjI1cGRIVmtaU0JqWVc1dWIzUWdZbVVnYm1WbllYUnBkbVVBUVhOelpYSjBhVzl1SUdCdWRXMWZZbWx1Y3lBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJpYVc1eklHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN4SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3lJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0JpTVNBK1BTQXdJQ1ltSUdJeElEd2diblZ0WDJKcGJuTmdJR1poYVd4bFpDQnBiaUFBWWpFZ1ltbHVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdJeUlENDlJREFnSmlZZ1lqSWdQQ0J1ZFcxZlltbHVjMkFnWm1GcGJHVmtJR2x1SUFCaU1pQmlhVzRnYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVsRUlHRnNjbVZoWkhrZ1pYaHBjM1J6QUVKMWFXeGtJRkI1Y21GdGFXUUFSWGgwY21GamRDQkdaV0YwZFhKbGN3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblF1YzJsNlpTZ3BJRDA5SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJKcGJtRnllVjlvYVdWeVlYSmphR2xqWVd4ZlkyeDFjM1JsY21sdVp5NW9BRUZ6YzJsbmJtMWxiblFnYzJsNlpTQjNjbTl1WndCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUmJhVjBnSVQwZ0xURmdJR1poYVd4bFpDQnBiaUFBUVhOemFXZHViV1Z1ZENCcGN5QnBiblpoYkdsa0FFRnpjMlZ5ZEdsdmJpQmdZWE56YVdkdWJXVnVkRnRwWFNBOElHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUVGemMybG5ibTFsYm5RZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYVc1a2FXTmxjMXRoYzNOcFoyNXRaVzUwVzJsZFhTQThJRzUxYlY5bVpXRjBkWEpsYzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2wwTFQ1elpXTnZibVF1YzJsNlpTZ3BJQ0U5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMngxYzNSbGNpQnRkWE4wSUdoaGRtVWdZWFJzWldGelpYUWdNU0JtWldGMGRYSmxBRUZ6YzJWeWRHbHZiaUJnYlVzZ1BUMGdiVU5sYm5SbGNuTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJ0dFpXUnZhV1J6TG1nQWF5QnphRzkxYkdRZ2JXRjBZMmdnZEdobElHNTFiV0psY2lCdlppQmpiSFZ6ZEdWeUlHTmxiblJsY25NQVFYTnpaWEowYVc5dUlHQnVkVzFmWm1WaGRIVnlaWE1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJtWldGMGRYSmxjeUJ0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BEMGdiblZ0WDJabFlYUjFjbVZ6WUNCbVlXbHNaV1FnYVc0Z0FFMXZjbVVnYVc1a2FXTmxjeUIwYUdGdUlHWmxZWFIxY21WekFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUGowZ2JVdGdJR1poYVd4bFpDQnBiaUFBVG05MElHVnViM1ZuYUNCbVpXRjBkWEpsY3dCQmMzTnBaMjV0Wlc1MElITnBlbVVnYVhNZ2FXNWpiM0p5WldOMEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJObGJuUmxjbk1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRlJvWlhKbElHMTFjM1FnWW1VZ1lYUWdiR1ZoYzNRZ01TQmpaVzUwWlhJQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZkbWx6ZFdGc1gyUmhkR0ZpWVhObExtZ0FRWE56WlhKMGFXOXVJR0JrWlhSbFkzUnZjbUFnWm1GcGJHVmtJR2x1SUFCRVpYUmxZM1J2Y2lCcGN5Qk9WVXhNQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NrdWMybDZaU2dwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR2x6SUdWdGNIUjVBRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWQybGtkR2dvS1NBOVBTQmtaWFJsWTNSdmNpMCtkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR0Z1WkNCa1pYUmxZM1J2Y2lCemFYcGxJRzFwYzIxaGRHTm9BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWFHVnBaMmgwS0NrZ1BUMGdaR1YwWldOMGIzSXRQbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1VGRETmZYekl4TkdSbFptRjFiSFJmWkdWc1pYUmxTVTQyZG1semFXOXVPRXRsZVdaeVlXMWxTVXhwT1RaRlJVVkZSUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUVRqWjJhWE5wYjI0NFMyVjVabkpoYldWSlRHazVOa1ZGUlU1VFh6RTBaR1ZtWVhWc2RGOWtaV3hsZEdWSlV6TmZSVVZPVTE4NVlXeHNiMk5oZEc5eVNWTXpYMFZGUlVVQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lCR2IzVnVaQ0FsWkNCbVpXRjBkWEpsY3lCcGJpQnhkV1Z5ZVFCaWIyOXNJSFpwYzJsdmJqbzZWbWx6ZFdGc1JHRjBZV0poYzJVOGRtbHphVzl1T2pwR1VrVkJTMFY0ZEhKaFkzUnZjaXdnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFUzUnZjbVVzSUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpVMWhkR05vWlhJOE9UWStJRDQ2T25GMVpYSjVLR052Ym5OMElIWnBjMmx2YmpvNlIyRjFjM05wWVc1VFkyRnNaVk53WVdObFVIbHlZVzFwWkNBcUtTQmJSa1ZCVkZWU1JWOUZXRlJTUVVOVVQxSWdQU0IyYVhOcGIyNDZPa1pTUlVGTFJYaDBjbUZqZEc5eUxDQlRWRTlTUlNBOUlIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVk4wYjNKbExDQk5RVlJEU0VWU0lEMGdkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVFdGMFkyaGxjanc1Tmo1ZEFFWnBibVFnVFdGMFkyaGxjeUFvTVNrQVNHOTFaMmdnVm05MGFXNW5JQ2d4S1FCR2FXNWtJRWh2ZFdkb0lFMWhkR05vWlhNZ0tERXBBRVZ6ZEdsdFlYUmxJRWh2Ylc5bmNtRndhSGtnS0RFcEFFWnBibVFnU1c1c2FXVnljeUFvTVNrQVJtbHVaQ0JOWVhSamFHVnpJQ2d5S1FCSWIzVm5hQ0JXYjNScGJtY2dLRElwQUVacGJtUWdTRzkxWjJnZ1RXRjBZMmhsY3lBb01pa0FSWE4wYVcxaGRHVWdTRzl0YjJkeVlYQm9lU0FvTWlrQVJtbHVaQ0JKYm14cFpYSnpJQ2d5S1FCQmMzTmxjblJwYjI0Z1lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlptVmhkSFZ5WlY5dFlYUmphR1Z5TFdsdWJHbHVaUzVvQUVaaGFXeGxaQ0IwYnlCamIyMXdkWFJsSUcxaGRISnBlQ0JwYm5abGNuTmxBRUZ6YzJWeWRHbHZiaUJnWW1WemRGOXBibVJsZUNBaFBTQnpkR1E2T201MWJXVnlhV05mYkdsdGFYUnpQSE5wZW1WZmRENDZPbTFoZUNncFlDQm1ZV2xzWldRZ2FXNGdBRk52YldWMGFHbHVaeUJ6ZEhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYlUxaGRHTm9aWE11YzJsNlpTZ3BJRHc5SUdabFlYUjFjbVZ6TVMwK2MybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQnRZWFJqYUdWeklITm9iM1ZzWkNCaVpTQnNiM2RsY2dCQmMzTmxjblJwYjI0Z1lHaDVjQzV6YVhwbEtDa2dQajBnT1NwdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YUc5dGIyZHlZWEJvZVY5bGMzUnBiV0YwYVc5dUwzSnZZblZ6ZEY5b2IyMXZaM0poY0doNUxtZ0FhSGx3SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0E1S20xaGVGOXVkVzFmYUhsd2IzUm9aWE5sY3dCQmMzTmxjblJwYjI0Z1lIUnRjRjlwTG5OcGVtVW9LU0ErUFNCdWRXMWZjRzlwYm5SellDQm1ZV2xzWldRZ2FXNGdBSFJ0Y0Y5cElIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdWRXMWZjRzlwYm5SekFFRnpjMlZ5ZEdsdmJpQmdhSGx3WDJOdmMzUnpMbk5wZW1Vb0tTQStQU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQWFIbHdYMk52YzNSeklIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhNQVFYTnpaWEowYVc5dUlHQnVJRHc5SUdsdVgyMWhkR05vWlhNdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FGTm9iM1ZzWkNCaVpTQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZR1JwYzNSQ2FXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdScGMzUkNhVzVCYm1kc1pTQnRkWE4wSUc1dmRDQmlaU0J1WldkaGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU2IyOTBMbWRsZENncFlDQm1ZV2xzWldRZ2FXNGdBRkp2YjNRZ1kyRnVibTkwSUdKbElFNVZURXdBUVhOelpYSjBhVzl1SUdCdGFXNXBJQ0U5SUMweFlDQm1ZV2xzWldRZ2FXNGdBRTFwYm1sdGRXMGdhVzVrWlhnZ2JtOTBJSE5sZEFCQmMzTmxjblJwYjI0Z1lIZ2dQajBnYlUxcGJsaGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1YUFCNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUhnZ1BDQnRUV0Y0V0dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGtnUGowZ2JVMXBibGxnSUdaaGFXeGxaQ0JwYmlBQWVTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCNUlEd2diVTFoZUZsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQStJQzFRU1dBZ1ptRnBiR1ZrSUdsdUlBQmhibWRzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQThQU0JRU1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSE5qWVd4bElENDlJRzFOYVc1VFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCelkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU5ZWGhUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdVpHVjRJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBibGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBOElHMU9kVzFZUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQmlhVzVaSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BDQnRUblZ0V1VKcGJuTmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaWFXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJrRnVaMnhsSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmtGdVoyeGxJRHdnYlU1MWJVRnVaMnhsUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsTmpZV3hsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBWW1sdVUyTmhiR1VnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1VTJOaGJHVWdQQ0J0VG5WdFUyTmhiR1ZDYVc1ellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQRDBnS0dKcGJsZ2dLeUJpYVc1WkttMU9kVzFZUW1sdWN5QXJJR0pwYmtGdVoyeGxLbTFPZFcxWVFtbHVjeXB0VG5WdFdVSnBibk1nS3lCaWFXNVRZMkZzWlNwdFRuVnRXRUpwYm5NcWJVNTFiVmxDYVc1ekttMU9kVzFCYm1kc1pVSnBibk1wWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdjMmw2WlNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1WTNCd0FITnBlbVVnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU1pXWkpiV0ZuWlZkcFpIUm9JRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQjNhV1IwYUNCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JWSmxaa2x0WVdkbFNHVnBaMmgwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJvWldsbmFIUWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzRnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDNWMGFXeHpMM0JoY25ScFlXeGZjMjl5ZEM1b0FHNGdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZR3NnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBR3NnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1JnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabkpsWVdzdWFBQlFlWEpoYldsa0lHbHpJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnpkRzl5WlM1emFYcGxLQ2tnUFQwZ2NHOXBiblJ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhOMGIzSmxJR2hoY3lCdWIzUWdZbVZsYmlCaGJHeHZZMkYwWldRQVFYTnpaWEowYVc5dUlHQnVkVzFmY0c5cGJuUnpJRDA5SUhCdmFXNTBjeTV6YVhwbEtDbGdJR1poYVd4bFpDQnBiaUFBVTJodmRXeGtJR0psSUhOaGJXVWdjMmw2WlFCQmMzTmxjblJwYjI0Z1lHOWpkR0YyWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbWdBVDJOMFlYWmxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J2WTNSaGRtVWdQQ0J0VG5WdFQyTjBZWFpsYzJBZ1ptRnBiR1ZrSUdsdUlBQlBZM1JoZG1VZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlHOWpkR0YyWlhNQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUZOallXeGxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVUyTmhiR1VnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUhOallXeGxJSEJsY2lCdlkzUmhkbVVBSlcwdEpXUXRKVmt0SlVndEpVMHRKVk1BUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbU53Y0FCWGFXUjBhQ0JqWVc1dWIzUWdZbVVnZW1WeWJ3QkJjM05sY25ScGIyNGdZR2hsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVNHVnBaMmgwSUdOaGJtNXZkQ0JpWlNCNlpYSnZBRUZ6YzJWeWRHbHZiaUJnYzNSbGNDQStQU0IzYVdSMGFHQWdabUZwYkdWa0lHbHVJQUJUZEdWd0lHMTFjM1FnWW1VZ1ozSmxZWFJsY2lCMGFHRnVJRzl5SUdWeGRXRnNJSFJvWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUdOb1lXNXVaV3h6SUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJPZFcxaVpYSWdiMllnWTJoaGJtNWxiSE1nWTJGdWJtOTBJR0psSUhwbGNtOEFRWE56WlhKMGFXOXVJR0J0UkdGMFlTNW5aWFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkVZWFJoSUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJPVTNRelgxOHlNVFJrWldaaGRXeDBYMlJsYkdWMFpVbG9SVVVBVGxOME0xOWZNakl3WDE5emFHRnlaV1JmY0hSeVgzQnZhVzUwWlhKSlVHaE9VMTh4TkdSbFptRjFiSFJmWkdWc1pYUmxTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVNXNTJZV3hwWkNCcGJXRm5aU0IwZVhCbEFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUWFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBUVhOelpYSjBhVzl1SUdCdFUzUmhjblJVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMM1JwYldWeWN5NWpjSEFBSUd4cGJtVWdBRG9nQUVOc2IyTnJJR2hoY3lCdWIzUWdZbVZsYmlCemRHRnlkR1ZrQUVGemMyVnlkR2x2YmlCZ2JWTjBiM0JVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeHZZMnNnYUdGeklHNXZkQ0JpWldWdUlITjBiM0J3WldRQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lBbGN6b2dKV1lnYlhNQUlFbE9SazhnSUFCMmFYTnBiMjQ2T2xOamIzQmxaRlJwYldWeU9qcCtVMk52Y0dWa1ZHbHRaWElvS1FCelpYUjFjQUIwWldGeVpHOTNiZ0J6WlhSMWNFRlNNZ0JmWVdSa1RXRnlhMlZ5QUY5aFpHUk5kV3gwYVUxaGNtdGxjZ0JmWVdSa1RrWlVUV0Z5YTJWeUFHZGxkRTExYkhScFRXRnlhMlZ5VG5WdEFHZGxkRTExYkhScFRXRnlhMlZ5UTI5MWJuUUFYMnh2WVdSRFlXMWxjbUVBYzJWMFRXRnlhMlZ5U1c1bWIwUnBjZ0J6WlhSTllYSnJaWEpKYm1adlZtVnlkR1Y0QUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsUTI5dWRBQm5aWFJVY21GdWMwMWhkRTExYkhScFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFRYVnNkR2xUY1hWaGNtVlNiMkoxYzNRQVpHVjBaV04wVFdGeWEyVnlBR2RsZEUxaGNtdGxjazUxYlFCa1pYUmxZM1JPUmxSTllYSnJaWElBWjJWMFRYVnNkR2xGWVdOb1RXRnlhMlZ5QUdkbGRFMWhjbXRsY2dCblpYUk9SbFJOWVhKclpYSUFjMlYwUkdWaWRXZE5iMlJsQUdkbGRFUmxZblZuVFc5a1pRQm5aWFJRY205alpYTnphVzVuU1cxaFoyVUFjMlYwVEc5blRHVjJaV3dBWjJWMFRHOW5UR1YyWld3QWMyVjBVSEp2YW1WamRHbHZiazVsWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVRtVmhjbEJzWVc1bEFITmxkRkJ5YjJwbFkzUnBiMjVHWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVJtRnlVR3hoYm1VQWMyVjBWR2h5WlhOb2IyeGtUVzlrWlFCblpYUlVhSEpsYzJodmJHUk5iMlJsQUhObGRGUm9jbVZ6YUc5c1pBQm5aWFJVYUhKbGMyaHZiR1FBYzJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFaMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQWMyVjBVR0YwZEZKaGRHbHZBR2RsZEZCaGRIUlNZWFJwYndCelpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCblpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCelpYUk1ZV0psYkdsdVowMXZaR1VBWjJWMFRHRmlaV3hwYm1kTmIyUmxBSE5sZEVsdFlXZGxVSEp2WTAxdlpHVUFaMlYwU1cxaFoyVlFjbTlqVFc5a1pRQkZVbEpQVWw5QlVrTlBUbFJTVDB4TVJWSmZUazlVWDBaUFZVNUVBRVZTVWs5U1gwMVZURlJKVFVGU1MwVlNYMDVQVkY5R1QxVk9SQUJGVWxKUFVsOU5RVkpMUlZKZlNVNUVSVmhmVDFWVVgwOUdYMEpQVlU1RVV3QkJVbDlFUlVKVlIxOUVTVk5CUWt4RkFFRlNYMFJGUWxWSFgwVk9RVUpNUlFCQlVsOUVSVVpCVlV4VVgwUkZRbFZIWDAxUFJFVUFRVkpmVEVGQ1JVeEpUa2RmVjBoSlZFVmZVa1ZIU1U5T0FFRlNYMHhCUWtWTVNVNUhYMEpNUVVOTFgxSkZSMGxQVGdCQlVsOUVSVVpCVlV4VVgweEJRa1ZNU1U1SFgwMVBSRVVBUVZKZlJFVkdRVlZNVkY5TVFVSkZURWxPUjE5VVNGSkZVMGdBUVZKZlNVMUJSMFZmVUZKUFExOUdVa0ZOUlY5SlRVRkhSUUJCVWw5SlRVRkhSVjlRVWs5RFgwWkpSVXhFWDBsTlFVZEZBRUZTWDBSRlJrRlZURlJmU1UxQlIwVmZVRkpQUTE5TlQwUkZBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDAxUFRrOEFRVkpmVFVGVVVrbFlYME5QUkVWZlJFVlVSVU5VU1U5T0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U1gwRk9SRjlOUVZSU1NWZ0FRVkpmVkVWTlVFeEJWRVZmVFVGVVEwaEpUa2RmVFU5T1QxOUJUa1JmVFVGVVVrbFlBRUZTWDBSRlJrRlZURlJmVUVGVVZFVlNUbDlFUlZSRlExUkpUMDVmVFU5RVJRQkJVbDlWVTBWZlZGSkJRMHRKVGtkZlNFbFRWRTlTV1FCQlVsOU9UMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaQUVGU1gxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpYMVl5QUVGU1gwUkZSa0ZWVEZSZlRVRlNTMFZTWDBWWVZGSkJRMVJKVDA1ZlRVOUVSUUJCVWw5TlFWaGZURTlQVUY5RFQxVk9WQUJCVWw5TVQwOVFYMEpTUlVGTFgxUklVa1ZUU0FCQlVsOU1UMGRmVEVWV1JVeGZSRVZDVlVjQVFWSmZURTlIWDB4RlZrVk1YMGxPUms4QVFWSmZURTlIWDB4RlZrVk1YMWRCVWs0QVFWSmZURTlIWDB4RlZrVk1YMFZTVWs5U0FFRlNYMHhQUjE5TVJWWkZURjlTUlV4ZlNVNUdUd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE1BUVZKZlRVRlVVa2xZWDBOUFJFVmZNM2d6WDBoQlRVMUpUa2MyTXdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZUROZlVFRlNTVlJaTmpVQVFWSmZUVUZVVWtsWVgwTlBSRVZmTkhnMEFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk9WOHpBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZOVjgxQUVGU1gweEJRa1ZNU1U1SFgxUklVa1ZUU0Y5TlQwUkZYMDFCVGxWQlRBQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDFGUkVsQlRnQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDlVVTFVQVFWSmZURUZDUlV4SlRrZGZWRWhTUlZOSVgwMVBSRVZmUVZWVVQxOUJSRUZRVkVsV1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUazlPUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlVFRlVWRVZTVGw5RldGUlNRVU5VU1U5T0FFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5SFJVNUZVa2xEQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlEVDA1VVVrRlRWQUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVFVGVVEwaGZRa0ZTUTA5RVJWOU9UMVJmUms5VlRrUUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwSkJVa05QUkVWZlJVUkRYMFpCU1V3QVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBOUFRrWkpSRVZPUTBVQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUpmVFZWTVZFa0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMGhGVlZKSlUxUkpRMTlVVWs5VlFreEZVMDlOUlY5TlFWUlNTVmhmUTA5RVJWTUFZV3hzYjJOaGRHOXlQRlErT2pwaGJHeHZZMkYwWlNoemFYcGxYM1FnYmlrZ0oyNG5JR1Y0WTJWbFpITWdiV0Y0YVcxMWJTQnpkWEJ3YjNKMFpXUWdjMmw2WlFCSmJXRm5aU0J3Y205akxpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FFeGhZbVZzYVc1bklHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCMmFXbG1BRkJoZEhSbGNtNGdjbUYwYVc4Z2MybDZaU0J6WlhRZ2RHOGdKV1l1Q2dCUVlYUjBaWEp1SUdSbGRHVmpkR2x2YmlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUZSb2NtVnphRzlzWkNCelpYUWdkRzhnSldRS0FIWnBhV2tBVkdoeVpYTm9iMnhrSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0JrYVdrQWRtbHBaQUJwYVFCMmFXa0FiMjR1QUc5bVppNEFSR1ZpZFdjZ2JXOWtaU0J6WlhRZ2RHOGdKWE1LQUZSeVlXTnJhVzVuSUd4dmMzUXVJQ1ZrQ2dCVWNtRmphMlZrSUhCaFoyVWdKV1FnS0cxaGVDQWxaQ2t1Q2dCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXdPeUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZEtTQjdJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRJRDBnS0hzZ2FXUTZJREFzSUdWeWNtOXlPaUF0TVN3Z1ptOTFibVE2SURBc0lIQnZjMlU2SUZzd0xEQXNNQ3d3TENBd0xEQXNNQ3d3TENBd0xEQXNNQ3d3WFNCOUtUc2dmU0IyWVhJZ2JXRnlhMlZ5U1c1bWJ5QTlJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaVpYSnliM0lpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVp2ZFc1a0lsMGdQU0F4T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNbDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk0xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTkYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTjEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpY0c5elpTSmRXekV4WFNBOUlDUmhXMmtySzEwN0lIMEFleUIyWVhJZ0pHRWdQU0JoY21kMWJXVnVkSE03SUhaaGNpQnBJRDBnTURzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNBOUlDaDdJR2xrT2lBd0xDQmxjbkp2Y2pvZ0xURXNJR1p2ZFc1a09pQXdMQ0J3YjNObE9pQmJNQ3d3TERBc01Dd2dNQ3d3TERBc01Dd2dNQ3d3TERBc01GMGdmU2s3SUgwZ2RtRnlJRzFoY210bGNrbHVabThnUFNCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFRzZ2JXRnlhMlZ5U1c1bWIxc2lhV1FpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVZ5Y205eUlsMGdQU0F0TVRzZ2JXRnlhMlZ5U1c1bWIxc2labTkxYm1RaVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzd1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzelhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMlhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzM1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeE1GMGdQU0F3T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1URmRJRDBnTURzZ2ZRQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F4TWpzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUhCdmN6b2dXekFzTUYwc0lHeHBibVU2SUZ0Yk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkWFN3Z2RtVnlkR1Y0T2lCYld6QXNNRjBzSUZzd0xEQmRMQ0JiTUN3d1hTd2dXekFzTUYxZElIMHBPeUI5SUhaaGNpQnRZWEpyWlhKSmJtWnZJRDBnWVhKMGIyOXNhMmwwV3lKdFlYSnJaWEpKYm1adklsMDdJRzFoY210bGNrbHVabTliSW1GeVpXRWlYU0E5SUNRd095QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKREU3SUcxaGNtdGxja2x1Wm05YkltbGtVR0YwZENKZElEMGdKREk3SUcxaGNtdGxja2x1Wm05YkltbGtUV0YwY21sNElsMGdQU0FrTXpzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5SWwwZ1BTQWtORHNnYldGeWEyVnlTVzVtYjFzaVpHbHlVR0YwZENKZElEMGdKRFU3SUcxaGNtdGxja2x1Wm05YkltUnBjazFoZEhKcGVDSmRJRDBnSkRZN0lHMWhjbXRsY2tsdVptOWJJbU5tSWwwZ1BTQWtOenNnYldGeWEyVnlTVzVtYjFzaVkyWlFZWFIwSWwwZ1BTQWtPRHNnYldGeWEyVnlTVzVtYjFzaVkyWk5ZWFJ5YVhnaVhTQTlJQ1E1T3lCdFlYSnJaWEpKYm1adld5SndiM01pWFZzd1hTQTlJQ1F4TURzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6SWwxYk1WMGdQU0FrTVRFN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekJkV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTUYxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6RmRXekZkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pOZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk0xMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5Smxjbkp2Y2tOdmNuSmxZM1JsWkNKZElEMGdKR0ZiYVNzclhUc2dmUUI3SUdsbUlDZ2hZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwcElIc2dZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJ0ZFd4MGFVVmhZMmhOWVhKclpYSWdQU0JoY25SdmIyeHJhWFJiSW0xMWJIUnBSV0ZqYUUxaGNtdGxja2x1Wm04aVhUc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDJhWE5wWW14bEoxMGdQU0FrTURzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkd1lYUjBTV1FuWFNBOUlDUXhPeUJ0ZFd4MGFVVmhZMmhOWVhKclpYSmJKM0JoZEhSVWVYQmxKMTBnUFNBa01qc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDNhV1IwYUNkZElEMGdKRE03SUgwQWFXbHBBRTVUZEROZlh6SXhNbUpoYzJsalgzTjBjbWx1WjBsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVk9VMTg1WVd4c2IyTmhkRzl5U1dORlJVVkZBRTVUZEROZlh6SXlNVjlmWW1GemFXTmZjM1J5YVc1blgyTnZiVzF2YmtsTVlqRkZSVVVBYkc5aFpFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCc2IyRmthVzVuSUhCaGNtRnRaWFJsY2lCbWFXeGxJQ1Z6SUdadmNpQmpZVzFsY21FdUNnQnBhV2xwQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdUa1pVSUcxaGNtdGxjaTRLQUZKbFlXUnBibWNnSlhNdVpuTmxkRE1LQUdaelpYUXpBRVZ5Y205eUlISmxZV1JwYm1jZ1MxQk5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBNd29BSUNCQmMzTnBaMjVsWkNCd1lXZGxJRzV2TGlBbFpDNEtBRVZ5Y205eU9pQnJjRzFEYUdGdVoyVlFZV2RsVG05UFpsSmxaa1JoZEdGVFpYUUtBRVZ5Y205eU9pQnJjRzFOWlhKblpWSmxaa1JoZEdGVFpYUUtBQ0FnUkc5dVpTNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRBb0Fabk5sZEFCRmNuSnZjaUJ5WldGa2FXNW5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBDZ0JGY25KdmNqb2dhM0J0VTJWMFVtVm1SR0YwWVZObGRBb0FURzloWkdsdVp5QnZaaUJPUmxRZ1pHRjBZU0JqYjIxd2JHVjBaUzRLQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdRVklnYlhWc2RHbHRZWEpyWlhJdUNnQmpiMjVtYVdjZ1pHRjBZU0JzYjJGa0lHVnljbTl5SUNFaENnQkJVbFJ2YjJ4TGFYUktVeWdwT2lCVmJtRmliR1VnZEc4Z2MyVjBJSFZ3SUVGU0lHMWhjbXRsY2k0S0FHeHZZV1JOWVhKclpYSW9LVG9nUlhKeWIzSWdiRzloWkdsdVp5QndZWFIwWlhKdUlHWnBiR1VnSlhNdUNnQkZjbkp2Y2pvZ1lYSXlRM0psWVhSbFNHRnVaR3hsTGdvQWFXbHBhV2tBYzJWMGRYQW9LVG9nUlhKeWIzSTZJR0Z5VUdGMGRFTnlaV0YwWlVoaGJtUnNaUzRLQUVGc2JHOWpZWFJsWkNCMmFXUmxiMFp5WVcxbFUybDZaU0FsWkFvQWV5QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYU2tnZXlCaGNuUnZiMnhyYVhSYkltWnlZVzFsVFdGc2JHOWpJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQm1jbUZ0WlUxaGJHeHZZeUE5SUdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYVHNnWm5KaGJXVk5ZV3hzYjJOYkltWnlZVzFsY0c5cGJuUmxjaUpkSUQwZ0pERTdJR1p5WVcxbFRXRnNiRzlqV3lKbWNtRnRaWE5wZW1VaVhTQTlJQ1F5T3lCbWNtRnRaVTFoYkd4dlkxc2lZMkZ0WlhKaElsMGdQU0FrTXpzZ1puSmhiV1ZOWVd4c2IyTmJJblJ5WVc1elptOXliU0pkSUQwZ0pEUTdJR1p5WVcxbFRXRnNiRzlqV3lKMmFXUmxiMHgxYldGUWIybHVkR1Z5SWwwZ1BTQWtOVHNnZlFBcUtpb2dRMkZ0WlhKaElGQmhjbUZ0WlhSbGNpQnlaWE5wZW1Wa0lHWnliMjBnSldRc0lDVmtMaUFxS2lvS0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNqb2dZWEpRWVhKaGJVeFVRM0psWVhSbExnb0FjMlYwUTJGdFpYSmhLQ2s2SUVWeWNtOXlPaUJoY2tOeVpXRjBaVWhoYm1Sc1pTNEtBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjaUJqY21WaGRHbHVaeUF6UkNCb1lXNWtiR1VBVDNWMElHOW1JRzFsYlc5eWVTRWhDZ0JGY25KdmNqb2diV0ZzYkc5akNnQWpJeU1nUm1WaGRIVnlaU0JqWVc1a2FXUmhkR1Z6SUdadmNpQjBjbUZqYTJsdVp5QmhjbVVnYjNabGNtWnNiM2N1Q2dCQ2IyZDFjeUJ0WlhOellXZGxJR052WkdVZ0pXUUFRVXhKUjA1ZlZGbFFSU0JwY3lCM2NtOXVaeXdnY0d4bFlYTmxJR1pwZUFCTlFWaGZRVXhNVDBOZlEwaFZUa3NnYVhNZ2QzSnZibWNzSUhCc1pXRnpaU0JtYVhnQVFtOW5kWE1nWW5WbVptVnlJR052Ym5SeWIyd2diVzlrWlFCSmJuWmhiR2xrSUdOdmJYQnZibVZ1ZENCSlJDQWxaQ0JwYmlCVFQxTUFTVzUyWVd4cFpDQmpjbTl3SUhKbGNYVmxjM1FBUkVOVUlHTnZaV1ptYVdOcFpXNTBJRzkxZENCdlppQnlZVzVuWlFCRVExUWdjMk5oYkdWa0lHSnNiMk5ySUhOcGVtVWdKV1I0SldRZ2JtOTBJSE4xY0hCdmNuUmxaQUJEYjIxd2IyNWxiblFnYVc1a1pYZ2dKV1E2SUcxcGMyMWhkR05vYVc1bklITmhiWEJzYVc1bklISmhkR2x2SUNWa09pVmtMQ0FsWkRvbFpDd2dKV01BUW05bmRYTWdTSFZtWm0xaGJpQjBZV0pzWlNCa1pXWnBibWwwYVc5dUFFSnZaM1Z6SUdsdWNIVjBJR052Ykc5eWMzQmhZMlVBUW05bmRYTWdTbEJGUnlCamIyeHZjbk53WVdObEFFSnZaM1Z6SUcxaGNtdGxjaUJzWlc1bmRHZ0FWM0p2Ym1jZ1NsQkZSeUJzYVdKeVlYSjVJSFpsY25OcGIyNDZJR3hwWW5KaGNua2dhWE1nSldRc0lHTmhiR3hsY2lCbGVIQmxZM1J6SUNWa0FGTmhiWEJzYVc1bklHWmhZM1J2Y25NZ2RHOXZJR3hoY21kbElHWnZjaUJwYm5SbGNteGxZWFpsWkNCelkyRnVBRWx1ZG1Gc2FXUWdiV1Z0YjNKNUlIQnZiMndnWTI5a1pTQWxaQUJWYm5OMWNIQnZjblJsWkNCS1VFVkhJR1JoZEdFZ2NISmxZMmx6YVc5dUlDVmtBRWx1ZG1Gc2FXUWdjSEp2WjNKbGMzTnBkbVVnY0dGeVlXMWxkR1Z5Y3lCVGN6MGxaQ0JUWlQwbFpDQkJhRDBsWkNCQmJEMGxaQUJKYm5aaGJHbGtJSEJ5YjJkeVpYTnphWFpsSUhCaGNtRnRaWFJsY25NZ1lYUWdjMk5oYmlCelkzSnBjSFFnWlc1MGNua2dKV1FBUW05bmRYTWdjMkZ0Y0d4cGJtY2dabUZqZEc5eWN3QkpiblpoYkdsa0lITmpZVzRnYzJOeWFYQjBJR0YwSUdWdWRISjVJQ1ZrQUVsdGNISnZjR1Z5SUdOaGJHd2dkRzhnU2xCRlJ5QnNhV0p5WVhKNUlHbHVJSE4wWVhSbElDVmtBRXBRUlVjZ2NHRnlZVzFsZEdWeUlITjBjblZqZENCdGFYTnRZWFJqYURvZ2JHbGljbUZ5ZVNCMGFHbHVhM01nYzJsNlpTQnBjeUFsZFN3Z1kyRnNiR1Z5SUdWNGNHVmpkSE1nSlhVQVFtOW5kWE1nZG1seWRIVmhiQ0JoY25KaGVTQmhZMk5sYzNNQVFuVm1abVZ5SUhCaGMzTmxaQ0IwYnlCS1VFVkhJR3hwWW5KaGNua2dhWE1nZEc5dklITnRZV3hzQUZOMWMzQmxibk5wYjI0Z2JtOTBJR0ZzYkc5M1pXUWdhR1Z5WlFCRFEwbFNOakF4SUhOaGJYQnNhVzVuSUc1dmRDQnBiWEJzWlcxbGJuUmxaQ0I1WlhRQVZHOXZJRzFoYm5rZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3pvZ0pXUXNJRzFoZUNBbFpBQlZibk4xY0hCdmNuUmxaQ0JqYjJ4dmNpQmpiMjUyWlhKemFXOXVJSEpsY1hWbGMzUUFRbTluZFhNZ1JFRkRJR2x1WkdWNElDVmtBRUp2WjNWeklFUkJReUIyWVd4MVpTQXdlQ1Y0QUVKdlozVnpJRVJJVkNCcGJtUmxlQ0FsWkFCQ2IyZDFjeUJFVVZRZ2FXNWtaWGdnSldRQVJXMXdkSGtnU2xCRlJ5QnBiV0ZuWlNBb1JFNU1JRzV2ZENCemRYQndiM0owWldRcEFGSmxZV1FnWm5KdmJTQkZUVk1nWm1GcGJHVmtBRmR5YVhSbElIUnZJRVZOVXlCbVlXbHNaV1FBUkdsa2JpZDBJR1Y0Y0dWamRDQnRiM0psSUhSb1lXNGdiMjVsSUhOallXNEFTVzV3ZFhRZ1ptbHNaU0J5WldGa0lHVnljbTl5QUU5MWRIQjFkQ0JtYVd4bElIZHlhWFJsSUdWeWNtOXlJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVJuSmhZM1JwYjI1aGJDQnpZVzF3YkdsdVp5QnViM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRWgxWm1adFlXNGdZMjlrWlNCemFYcGxJSFJoWW14bElHOTJaWEptYkc5M0FFMXBjM05wYm1jZ1NIVm1abTFoYmlCamIyUmxJSFJoWW14bElHVnVkSEo1QUUxaGVHbHRkVzBnYzNWd2NHOXlkR1ZrSUdsdFlXZGxJR1JwYldWdWMybHZiaUJwY3lBbGRTQndhWGhsYkhNQVJXMXdkSGtnYVc1d2RYUWdabWxzWlFCUWNtVnRZWFIxY21VZ1pXNWtJRzltSUdsdWNIVjBJR1pwYkdVQVEyRnVibTkwSUhSeVlXNXpZMjlrWlNCa2RXVWdkRzhnYlhWc2RHbHdiR1VnZFhObElHOW1JSEYxWVc1MGFYcGhkR2x2YmlCMFlXSnNaU0FsWkFCVFkyRnVJSE5qY21sd2RDQmtiMlZ6SUc1dmRDQjBjbUZ1YzIxcGRDQmhiR3dnWkdGMFlRQkpiblpoYkdsa0lHTnZiRzl5SUhGMVlXNTBhWHBoZEdsdmJpQnRiMlJsSUdOb1lXNW5aUUJPYjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUZKbGNYVmxjM1JsWkNCbVpXRjBkWEpsSUhkaGN5QnZiV2wwZEdWa0lHRjBJR052YlhCcGJHVWdkR2x0WlFCQmNtbDBhRzFsZEdsaklIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFRbUZqYTJsdVp5QnpkRzl5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRWgxWm1adFlXNGdkR0ZpYkdVZ01IZ2xNREo0SUhkaGN5QnViM1FnWkdWbWFXNWxaQUJLVUVWSElHUmhkR0Z6ZEhKbFlXMGdZMjl1ZEdGcGJuTWdibThnYVcxaFoyVUFVWFZoYm5ScGVtRjBhVzl1SUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVRtOTBJR0VnU2xCRlJ5Qm1hV3hsT2lCemRHRnlkSE1nZDJsMGFDQXdlQ1V3TW5nZ01IZ2xNREo0QUVsdWMzVm1abWxqYVdWdWRDQnRaVzF2Y25rZ0tHTmhjMlVnSldRcEFFTmhibTV2ZENCeGRXRnVkR2w2WlNCdGIzSmxJSFJvWVc0Z0pXUWdZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN3QkRZVzV1YjNRZ2NYVmhiblJwZW1VZ2RHOGdabVYzWlhJZ2RHaGhiaUFsWkNCamIyeHZjbk1BUTJGdWJtOTBJSEYxWVc1MGFYcGxJSFJ2SUcxdmNtVWdkR2hoYmlBbFpDQmpiMnh2Y25NQVNXNTJZV3hwWkNCS1VFVkhJR1pwYkdVZ2MzUnlkV04wZFhKbE9pQWxjeUJpWldadmNtVWdVMDlHQUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QUmlCdFlYSnJaWEp6QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2JXbHpjMmx1WnlCVFQxTWdiV0Z5YTJWeUFGVnVjM1Z3Y0c5eWRHVmtJRXBRUlVjZ2NISnZZMlZ6Y3pvZ1UwOUdJSFI1Y0dVZ01IZ2xNREo0QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QU1NCdFlYSnJaWEp6QUVaaGFXeGxaQ0IwYnlCamNtVmhkR1VnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BVW1WaFpDQm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVUyVmxheUJtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFWM0pwZEdVZ1ptRnBiR1ZrSUc5dUlIUmxiWEJ2Y21GeWVTQm1hV3hsSUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFRWEJ3YkdsallYUnBiMjRnZEhKaGJuTm1aWEp5WldRZ2RHOXZJR1psZHlCelkyRnViR2x1WlhNQVZXNXpkWEJ3YjNKMFpXUWdiV0Z5YTJWeUlIUjVjR1VnTUhnbE1ESjRBRlpwY25SMVlXd2dZWEp5WVhrZ1kyOXVkSEp2Ykd4bGNpQnRaWE56WldRZ2RYQUFTVzFoWjJVZ2RHOXZJSGRwWkdVZ1ptOXlJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRBVW1WaFpDQm1jbTl0SUZoTlV5Qm1ZV2xzWldRQVYzSnBkR1VnZEc4Z1dFMVRJR1poYVd4bFpBQkRiM0I1Y21sbmFIUWdLRU1wSURJd01UZ3NJRlJvYjIxaGN5QkhMaUJNWVc1bExDQkhkV2xrYnlCV2IyeHNZbVZrYVc1bkFEbGpJQ0F4TkMxS1lXNHRNakF4T0FCRFlYVjBhVzl1T2lCeGRXRnVkR2w2WVhScGIyNGdkR0ZpYkdWeklHRnlaU0IwYjI4Z1kyOWhjbk5sSUdadmNpQmlZWE5sYkdsdVpTQktVRVZIQUVGa2IySmxJRUZRVURFMElHMWhjbXRsY2pvZ2RtVnljMmx2YmlBbFpDd2dabXhoWjNNZ01IZ2xNRFI0SURCNEpUQTBlQ3dnZEhKaGJuTm1iM0p0SUNWa0FGVnVhMjV2ZDI0Z1FWQlFNQ0J0WVhKclpYSWdLRzV2ZENCS1JrbEdLU3dnYkdWdVozUm9JQ1YxQUZWdWEyNXZkMjRnUVZCUU1UUWdiV0Z5YTJWeUlDaHViM1FnUVdSdlltVXBMQ0JzWlc1bmRHZ2dKWFVBUkdWbWFXNWxJRUZ5YVhSb2JXVjBhV01nVkdGaWJHVWdNSGdsTURKNE9pQXdlQ1V3TW5nQVJHVm1hVzVsSUVoMVptWnRZVzRnVkdGaWJHVWdNSGdsTURKNEFFUmxabWx1WlNCUmRXRnVkR2w2WVhScGIyNGdWR0ZpYkdVZ0pXUWdJSEJ5WldOcGMybHZiaUFsWkFCRVpXWnBibVVnVW1WemRHRnlkQ0JKYm5SbGNuWmhiQ0FsZFFCR2NtVmxaQ0JGVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lFVk5VeUJvWVc1a2JHVWdKWFVBUlc1a0lFOW1JRWx0WVdkbEFDQWdJQ0FnSUNBZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQUJLUmtsR0lFRlFVREFnYldGeWEyVnlPaUIyWlhKemFXOXVJQ1ZrTGlVd01tUXNJR1JsYm5OcGRIa2dKV1I0SldRZ0lDVmtBRmRoY201cGJtYzZJSFJvZFcxaWJtRnBiQ0JwYldGblpTQnphWHBsSUdSdlpYTWdibTkwSUcxaGRHTm9JR1JoZEdFZ2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nZEhsd1pTQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQWdJQ0FnZDJsMGFDQWxaQ0I0SUNWa0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlFCTmFYTmpaV3hzWVc1bGIzVnpJRzFoY210bGNpQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQlZibVY0Y0dWamRHVmtJRzFoY210bGNpQXdlQ1V3TW5nQUlDQWdJQ0FnSUNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFBRkYxWVc1MGFYcHBibWNnZEc4Z0pXUWdQU0FsWkNvbFpDb2xaQ0JqYjJ4dmNuTUFVWFZoYm5ScGVtbHVaeUIwYnlBbFpDQmpiMnh2Y25NQVUyVnNaV04wWldRZ0pXUWdZMjlzYjNKeklHWnZjaUJ4ZFdGdWRHbDZZWFJwYjI0QVFYUWdiV0Z5YTJWeUlEQjRKVEF5ZUN3Z2NtVmpiM1psY25rZ1lXTjBhVzl1SUNWa0FGSlRWQ1ZrQUZOdGIyOTBhR2x1WnlCdWIzUWdjM1Z3Y0c5eWRHVmtJSGRwZEdnZ2JtOXVjM1JoYm1SaGNtUWdjMkZ0Y0d4cGJtY2djbUYwYVc5ekFGTjBZWEowSUU5bUlFWnlZVzFsSURCNEpUQXllRG9nZDJsa2RHZzlKWFVzSUdobGFXZG9kRDBsZFN3Z1kyOXRjRzl1Wlc1MGN6MGxaQUFnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUFsWkdoNEpXUjJJSEU5SldRQVUzUmhjblFnYjJZZ1NXMWhaMlVBVTNSaGNuUWdUMllnVTJOaGJqb2dKV1FnWTI5dGNHOXVaVzUwY3dBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lCa1l6MGxaQ0JoWXowbFpBQWdJRk56UFNWa0xDQlRaVDBsWkN3Z1FXZzlKV1FzSUVGc1BTVmtBRU5zYjNObFpDQjBaVzF3YjNKaGNua2dabWxzWlNBbGN3QlBjR1Z1WldRZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJLVUVWSExXTnZiWEJ5WlhOelpXUWdkR2gxYldKdVlXbHNJR2x0WVdkbExDQnNaVzVuZEdnZ0pYVUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCd1lXeGxkSFJsSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dVa2RDSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUZWdWNtVmpiMmR1YVhwbFpDQmpiMjF3YjI1bGJuUWdTVVJ6SUNWa0lDVmtJQ1ZrTENCaGMzTjFiV2x1WnlCWlEySkRjZ0JHY21WbFpDQllUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUZoTlV5Qm9ZVzVrYkdVZ0pYVUFWVzVyYm05M2JpQkJaRzlpWlNCamIyeHZjaUIwY21GdWMyWnZjbTBnWTI5a1pTQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nWW1Ga0lHRnlhWFJvYldWMGFXTWdZMjlrWlFCSmJtTnZibk5wYzNSbGJuUWdjSEp2WjNKbGMzTnBiMjRnYzJWeGRXVnVZMlVnWm05eUlHTnZiWEJ2Ym1WdWRDQWxaQ0JqYjJWbVptbGphV1Z1ZENBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dKWFVnWlhoMGNtRnVaVzkxY3lCaWVYUmxjeUJpWldadmNtVWdiV0Z5YTJWeUlEQjRKVEF5ZUFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ2NISmxiV0YwZFhKbElHVnVaQ0J2WmlCa1lYUmhJSE5sWjIxbGJuUUFRMjl5Y25Wd2RDQktVRVZISUdSaGRHRTZJR0poWkNCSWRXWm1iV0Z1SUdOdlpHVUFWMkZ5Ym1sdVp6b2dkVzVyYm05M2JpQktSa2xHSUhKbGRtbHphVzl1SUc1MWJXSmxjaUFsWkM0bE1ESmtBRkJ5WlcxaGRIVnlaU0JsYm1RZ2IyWWdTbEJGUnlCbWFXeGxBRU52Y25KMWNIUWdTbEJGUnlCa1lYUmhPaUJtYjNWdVpDQnRZWEpyWlhJZ01IZ2xNREo0SUdsdWMzUmxZV1FnYjJZZ1VsTlVKV1FBU1c1MllXeHBaQ0JUVDFNZ2NHRnlZVzFsZEdWeWN5Qm1iM0lnYzJWeGRXVnVkR2xoYkNCS1VFVkhBRUZ3Y0d4cFkyRjBhVzl1SUhSeVlXNXpabVZ5Y21Wa0lIUnZieUJ0WVc1NUlITmpZVzVzYVc1bGN3QktVRVZIVFVWTkFDVnNaQ1ZqQUZOUFV3Qk1VMFVBSlhNS0FISjNZUUJwYm1acGJtbDBlUUFBQVFJRUJ3TUdCUUF0S3lBZ0lEQllNSGdBS0c1MWJHd3BBQzB3V0Nzd1dDQXdXQzB3ZUNzd2VDQXdlQUJwYm1ZQVNVNUdBRzVoYmdCT1FVNEFMZ0JNUTE5QlRFd0FURUZPUndCRExsVlVSaTA0QUZCUFUwbFlBRTFWVTB4ZlRFOURVRUZVU0FCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpPaUFsY3dCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpBSFJsY20xcGJtRjBhVzVuSUhkcGRHZ2dKWE1nWm05eVpXbG5iaUJsZUdObGNIUnBiMjRBZEdWeWJXbHVZWFJwYm1jQWRXNWpZWFZuYUhRQVUzUTVaWGhqWlhCMGFXOXVBRTR4TUY5ZlkzaDRZV0pwZGpFeE5sOWZjMmhwYlY5MGVYQmxYMmx1Wm05RkFGTjBPWFI1Y0dWZmFXNW1id0JPTVRCZlgyTjRlR0ZpYVhZeE1qQmZYM05wWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTNYMTlqYkdGemMxOTBlWEJsWDJsdVptOUZBSFJsY20xcGJtRjBaVjlvWVc1a2JHVnlJSFZ1Wlhod1pXTjBaV1JzZVNCeVpYUjFjbTVsWkFCVGRERXhiRzluYVdOZlpYSnliM0lBVTNReE1teGxibWQwYUY5bGNuSnZjZ0JPTVRCZlgyTjRlR0ZpYVhZeE1UZGZYM0JpWVhObFgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFNVgxOXdiMmx1ZEdWeVgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRJelgxOW1kVzVrWVcxbGJuUmhiRjkwZVhCbFgybHVabTlGQUhZQVlnQmpBR2dBWVFCekFIUUFhUUJxQUcwQVpnQmtBRTR4TUY5ZlkzaDRZV0pwZGpFeU1WOWZkbTFwWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBZG05cFpBQmliMjlzQUdOb1lYSUFjMmxuYm1Wa0lHTm9ZWElBZFc1emFXZHVaV1FnWTJoaGNnQnphRzl5ZEFCMWJuTnBaMjVsWkNCemFHOXlkQUJwYm5RQWRXNXphV2R1WldRZ2FXNTBBR3h2Ym1jQWRXNXphV2R1WldRZ2JHOXVad0JtYkc5aGRBQmtiM1ZpYkdVQWMzUmtPanB6ZEhKcGJtY0FjM1JrT2pwaVlYTnBZMTl6ZEhKcGJtYzhkVzV6YVdkdVpXUWdZMmhoY2o0QWMzUmtPanAzYzNSeWFXNW5BSE4wWkRvNmRURTJjM1J5YVc1bkFITjBaRG82ZFRNeWMzUnlhVzVuQUdWdGMyTnlhWEIwWlc0Nk9uWmhiQUJsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGphR0Z5UGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenh6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGMyaHZjblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJSE5vYjNKMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lHbHVkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnYkc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblF4Tmw5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBNVFpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME16SmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkV2x1ZERNeVgzUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHWnNiMkYwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhrYjNWaWJHVStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHeHZibWNnWkc5MVlteGxQZ0JPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxsUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSlpFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV1pGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsdFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpiRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dwRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHBSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKZEVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NYTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxvUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSllVVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV05GUlFCT01UQmxiWE5qY21sd2RHVnVNM1poYkVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJwVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYVVWRlRsTmZPV0ZzYkc5allYUnZja2xFYVVWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VSelRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWMwVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWMwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVTVUWHpsaGJHeHZZMkYwYjNKSmQwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNXaE9VMTh4TVdOb1lYSmZkSEpoYVhSelNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBVGxOME0xOWZNamhwYjNOZlltRnpaVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFMVltRnphV05mYzNSeVpXRnRZblZtU1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhOV0poYzJsalgzTjBjbVZoYldKMVprbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTlwYzNSeVpXRnRTV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE0ySmhjMmxqWDJsemRISmxZVzFKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRXpZbUZ6YVdOZmIzTjBjbVZoYlVsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXZjM1J5WldGdFNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGQUU1VGRETmZYekl4TVY5ZmMzUmtiM1YwWW5WbVNYZEZSUUJPVTNRelgxOHlNVEZmWDNOMFpHOTFkR0oxWmtsalJVVUFkVzV6ZFhCd2IzSjBaV1FnYkc5allXeGxJR1p2Y2lCemRHRnVaR0Z5WkNCcGJuQjFkQUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1hkRlJRQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TV05GUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKWTBWRkFFNVRkRE5mWHpJMmJHOWpZV3hsTldaaFkyVjBSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpkMFZGQUNWd0FFTUFUbE4wTTE5Zk1qZHVkVzFmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYMmRsZEVsalJVVUFUbE4wTTE5Zk1qRTBYMTl1ZFcxZloyVjBYMkpoYzJWRkFFNVRkRE5mWHpJM2JuVnRYMmRsZEVsM1RsTmZNVGxwYzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNamxmWDI1MWJWOW5aWFJKZDBWRkFDVndBQUFBQUV3QWJHd0FKUUFBQUFBQWJBQk9VM1F6WDE4eU4yNTFiVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekk1WDE5dWRXMWZjSFYwU1dORlJRQk9VM1F6WDE4eU1UUmZYMjUxYlY5d2RYUmZZbUZ6WlVVQVRsTjBNMTlmTWpkdWRXMWZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgzQjFkRWwzUlVVQUpVZzZKVTA2SlZNQUpXMHZKV1F2SlhrQUpVazZKVTA2SlZNZ0pYQUFKV0VnSldJZ0pXUWdKVWc2SlUwNkpWTWdKVmtBUVUwQVVFMEFTbUZ1ZFdGeWVRQkdaV0p5ZFdGeWVRQk5ZWEpqYUFCQmNISnBiQUJOWVhrQVNuVnVaUUJLZFd4NUFFRjFaM1Z6ZEFCVFpYQjBaVzFpWlhJQVQyTjBiMkpsY2dCT2IzWmxiV0psY2dCRVpXTmxiV0psY2dCS1lXNEFSbVZpQUUxaGNnQkJjSElBU25WdUFFcDFiQUJCZFdjQVUyVndBRTlqZEFCT2IzWUFSR1ZqQUZOMWJtUmhlUUJOYjI1a1lYa0FWSFZsYzJSaGVRQlhaV1J1WlhOa1lYa0FWR2gxY25Oa1lYa0FSbkpwWkdGNUFGTmhkSFZ5WkdGNUFGTjFiZ0JOYjI0QVZIVmxBRmRsWkFCVWFIVUFSbkpwQUZOaGRBQWxiUzhsWkM4bGVTVlpMU1Z0TFNWa0pVazZKVTA2SlZNZ0pYQWxTRG9sVFNWSU9pVk5PaVZUSlVnNkpVMDZKVk5PVTNRelgxOHlPSFJwYldWZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM1JwYldWZloyVjBYMk5mYzNSdmNtRm5aVWxqUlVVQVRsTjBNMTlmTWpsMGFXMWxYMkpoYzJWRkFFNVRkRE5mWHpJNGRHbHRaVjluWlhSSmQwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSVVZGQUU1VGRETmZYekl5TUY5ZmRHbHRaVjluWlhSZlkxOXpkRzl5WVdkbFNYZEZSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTV05PVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1UQmZYM1JwYldWZmNIVjBSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTV05NWWpCRlJVVUFUbE4wTTE5Zk1qRXdiVzl1WlhsZlltRnpaVVVBVGxOME0xOWZNakV3Ylc5dVpYbHdkVzVqZEVsalRHSXhSVVZGQUU1VGRETmZYekl4TUcxdmJtVjVjSFZ1WTNSSmQweGlNRVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNYZE1ZakZGUlVVQU1ERXlNelExTmpjNE9RQWxUR1lBVGxOME0xOWZNamx0YjI1bGVWOW5aWFJKWTA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZaMlYwU1dORlJRQXdNVEl6TkRVMk56ZzVBRTVUZEROZlh6STViVzl1WlhsZloyVjBTWGRPVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1URmZYMjF2Ym1WNVgyZGxkRWwzUlVVQUpTNHdUR1lBVGxOME0xOWZNamx0YjI1bGVWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZjSFYwU1dORlJRQk9VM1F6WDE4eU9XMXZibVY1WDNCMWRFbDNUbE5mTVRsdmMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpFeFgxOXRiMjVsZVY5d2RYUkpkMFZGQUU1VGRETmZYekk0YldWemMyRm5aWE5KWTBWRkFFNVRkRE5mWHpJeE0yMWxjM05oWjJWelgySmhjMlZGQUU1VGRETmZYekl4TjE5ZmQybGtaVzVmWm5KdmJWOTFkR1k0U1V4dE16SkZSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTVVJwWXpFeFgxOXRZbk4wWVhSbFgzUkZSUUJPVTNRelgxOHlNVEpqYjJSbFkzWjBYMkpoYzJWRkFFNVRkRE5mWHpJeE5sOWZibUZ5Y205M1gzUnZYM1YwWmpoSlRHMHpNa1ZGUlFCT1UzUXpYMTh5T0cxbGMzTmhaMlZ6U1hkRlJRQk9VM1F6WDE4eU4yTnZaR1ZqZG5SSlkyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1hkak1URmZYMjFpYzNSaGRHVmZkRVZGQUU1VGRETmZYekkzWTI5a1pXTjJkRWxFYzJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNalpzYjJOaGJHVTFYMTlwYlhCRkFFNVRkRE5mWHpJMVkzUjVjR1ZKWTBWRkFFNVRkRE5mWHpJeE1HTjBlWEJsWDJKaGMyVkZBRTVUZEROZlh6STFZM1I1Y0dWSmQwVkZBR1poYkhObEFIUnlkV1VBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWxqUlVVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsM1JVVUFUbE4wTTE5Zk1qRTBYMTl6YUdGeVpXUmZZMjkxYm5SRkFFNVRkRE5mWHpJeE9WOWZjMmhoY21Wa1gzZGxZV3RmWTI5MWJuUkZBRUh3dmdNTEFRRUFRWmpBQXd0YVhFZ0FBQUVBQUFCOFNBQUFBUUFBQU5CUUFBQUJBQUFBSUNJQUFBQUFBQUNVVVFBQUFRQUFBTmhSQUFBQkFBQUFqRkFBQUFFQUFBQk00Z0FBQUFBQUFBaFNBQUFCQUFBQU9GSUFBQUVBQUFBRVVRQUFBUUFBQUM0c0FFR0F3UU1MRFN4UkFBQUJBQUFBTGdBQUFDd0FRYURCQXd2SkFweElBQUFCQUFBQTNFZ0FBQUVBQUFBY1NRQUFBUUFBQUZCSkFBQUJBQUFBbkU0QUFBRUFBQURVVGdBQUFRQUFBQXhQQUFBQkFBQUFSRThBQUFFQUFBQjhUd0FBQVFBQUFKaFBBQUFCQUFBQXRFOEFBQUVBQUFEUVR3QUFBUUFBQUlSSkFBQUJBQUFBdEVrQUFBQUFBQURZU1FBQUFRQUFBQWhLQUFBQUFBQUFiRTRBQUFFQUFBQk00Z0FBQUFBQUFJUk9BQUFCQUFBQVRPSUFBQUFBQUFEc1R3QUFBUUFBQUF4UUFBQUJBQUFBQVFBQUFBQUFBQUM4VUFBQUR3QUFBSERoQUFEZzRRQUE0T0VBQUFBQUFBQVk0QUFBSU9BQUFDamdBQUE0NEFBQVFPQUFBRWpnQUFCWTRBQUFZT0FBQUdqZ0FBQ0E0QUFBb09BQUFLamdBQUN3NEFBQXVPQUFBTURnQUFESTRBQUEwT0FBQU5qZ0FBRGc0QUFBNk9BQUFQRGdBQUQ0NEFBQUFPRUFBQkRoQUFBZzRRQUFNT0VBQUVEaEFBQkk0UUFBQVFBQUFBQUFBQUJEQUVIend3TUxCZ0VBQUFBQUFRQkI2TVVEQ3hHZ1JnQUFBQUFBQUxSR0FBQUNFQUFBQmdCQmlNWURDd2FRNVFBQVdPRUFRYmpHQXdzWm1PTUFBUC8vLy8vUVJnQUFBQUFBQU9SR0FBQUNFQUFBQmdCQjRNWURDd2JRNVFBQVdPRUFRWkRIQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUcweHdNTEJoRG1BQUJZNFFCQjZNY0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCaU1nREN3Wkk1Z0FBV09FQVFieklBd3NSLy8vLy93QkhBQUFVUndBQUFqQUFBQVlBUWR6SUF3c0dnT1lBQUZqaEFFR015UU1MRlpqakFBRC8vLy8vTUVjQUFFUkhBQUFDTUFBQUJnQkJzTWtEQ3dhNDVnQUFXT0VBUWVESkF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHRXlnTUxCb0RtQUFCWTRRQkJ1TW9EQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQjJNb0RDd2E0NWdBQVdPRUFRWXpMQXdzSy8vLy8veHhJQUFCWTRRQkJzTXNEQ3hiNE9RQUFRT0FBQU1qbEFBQUJBQUFBLy8vLy93QUJBRUhReXdNTEJ0eEhBQUJZNFFCQjhNc0RDeFQ0T1FBQVNPQUFBQWptQUFBQkFBQUEvLy8vL3dCQmtNd0RDd2FjUndBQVdPRUFRYkRNQXdzTmlEb0FBRURnQUFCQTVnQUFBUUJCeU13REN3WmNSd0FBV09FQVFlak1Bd3NLaURvQUFFamdBQUI0NWdCQmdNMERDd2FjUndBQVdPRUFRYUROQXdzTmFEa0FBRURnQUFDdzVnQUFBUUJCdU0wREN3WmNSd0FBV09FQVFkak5Bd3NLYURrQUFFamdBQURvNWdCQjhNMERDMVgvLy8vL0FRQUFBUC8vLy84Q0FBQUEvLy8vL3dNQUFBQk00Z0FBSEFBQUFQLy8vLzhKQUFBQS8vLy8vd3NBQUFELy8vLy9CQUFBQVAvLy8vOEtBQUFBLy8vLy93d0FBQUQvLy8vL0RRQUFBUC8vLy84T0FFR0V6d01MQmYvLy8vOFhBRUhJendNTGxnSC8vLy8vR0FBQUFQLy8vLzhaQUFBQS8vLy8veG9BQUFELy8vLy9Ed0FBQVAvLy8vOFFBQUFBLy8vLy94RUFBQUQvLy8vL0VnQUFBUC8vLy84VEFBQUEvLy8vL3hRQUFBRC8vLy8vRlFBQUFQLy8vLzhXQUFBQS8vLy8veHNBQUFELy8vLy9IQUFBQVAvLy8vOEZBQUFBLy8vLy93WUFBQUQvLy8vL0J3QUFBUC8vLy84SUFBQUFXT0VBQUZEb0FBQlk0UUFBV09nQVFmRGVBd3NDV09FQVFZRGZBd3NGT09nQUFJOEFRWkRmQXdzUmp3QUFBQUFBQUFDZzd3QUFBQUFBQUk4PVxcXCI7ZnVuY3Rpb24gbEEoKXt0cnl7aWYobilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobik7dmFyIEE9amcoZkEpO2lmKEEpcmV0dXJuIEE7aWYoaClyZXR1cm4gaChmQSk7dGhyb3dcXFwiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWRcXFwifWNhdGNoKEEpe0pBKEEpfX1mdW5jdGlvbiB1QSgpe3JldHVybiBufHwhaSYmIW98fFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBmZXRjaD9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSxJKXtBKGxBKCkpfSkpOmZldGNoKGZBLHtjcmVkZW50aWFsczpcXFwic2FtZS1vcmlnaW5cXFwifSkudGhlbigoZnVuY3Rpb24oQSl7aWYoIUEub2spdGhyb3dcXFwiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnXFxcIitmQStcXFwiJ1xcXCI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbEEoKX0pKX1mdW5jdGlvbiBXQSgpe3ZhciBJPXtlbnY6QkIsd2FzaV9zbmFwc2hvdF9wcmV2aWV3MTpCQixnbG9iYWw6e05hTjpOYU4sSW5maW5pdHk6MS8wfSxcXFwiZ2xvYmFsLk1hdGhcXFwiOk1hdGgsYXNtMndhc206a307ZnVuY3Rpb24gZyhJLGcpe3ZhciBCPUkuZXhwb3J0cztBLmFzbT1CLGVBKCl9ZnVuY3Rpb24gQihBKXtnKEEuaW5zdGFuY2UpfWZ1bmN0aW9uIEMoQSl7cmV0dXJuIHVBKCkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEEsSSl9KSkudGhlbihBLChmdW5jdGlvbihBKXtTKFxcXCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiBcXFwiK0EpLEpBKEEpfSkpfWlmKFlBKCksQS5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBBLmluc3RhbnRpYXRlV2FzbShJLGcpfWNhdGNoKEEpe3JldHVybiBTKFxcXCJNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiBcXFwiK0EpLCExfXJldHVybiBmdW5jdGlvbigpe2lmKG58fFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZ3x8TEEoZkEpfHxcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgZmV0Y2gpcmV0dXJuIEMoQik7ZmV0Y2goZkEse2NyZWRlbnRpYWxzOlxcXCJzYW1lLW9yaWdpblxcXCJ9KS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQSxJKS50aGVuKEIsKGZ1bmN0aW9uKEEpe1MoXFxcIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiBcXFwiK0EpLFMoXFxcImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uXFxcIiksQyhCKX0pKX0pKX0oKSx7fX1MQShmQSl8fChmQT15KGZBKSksQS5hc209V0E7dmFyIHBBPVtmdW5jdGlvbihBLEksZyxCLEMsUSl7YXJ0b29sa2l0LmZyYW1lTWFsbG9jfHwoYXJ0b29sa2l0LmZyYW1lTWFsbG9jPXt9KTt2YXIgRT1hcnRvb2xraXQuZnJhbWVNYWxsb2M7RS5mcmFtZXBvaW50ZXI9SSxFLmZyYW1lc2l6ZT1nLEUuY2FtZXJhPUIsRS50cmFuc2Zvcm09QyxFLnZpZGVvTHVtYVBvaW50ZXI9UX0sZnVuY3Rpb24oQSxJLGcsQil7YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm98fChhcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbz17fSk7dmFyIEM9YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm87Qy52aXNpYmxlPUEsQy5wYXR0SWQ9SSxDLnBhdHRUeXBlPWcsQy53aWR0aD1CfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCl7dmFyIHE9YXJndW1lbnRzLGQ9MTI7YXJ0b29sa2l0Lm1hcmtlckluZm98fChhcnRvb2xraXQubWFya2VySW5mbz17cG9zOlswLDBdLGxpbmU6W1swLDAsMF0sWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLHZlcnRleDpbWzAsMF0sWzAsMF0sWzAsMF0sWzAsMF1dfSk7dmFyIGY9YXJ0b29sa2l0Lm1hcmtlckluZm87Zi5hcmVhPUEsZi5pZD1JLGYuaWRQYXR0PWcsZi5pZE1hdHJpeD1CLGYuZGlyPUMsZi5kaXJQYXR0PVEsZi5kaXJNYXRyaXg9RSxmLmNmPWksZi5jZlBhdHQ9byxmLmNmTWF0cml4PUQsZi5wb3NbMF09YSxmLnBvc1sxXT13LGYubGluZVswXVswXT1xW2QrK10sZi5saW5lWzBdWzFdPXFbZCsrXSxmLmxpbmVbMF1bMl09cVtkKytdLGYubGluZVsxXVswXT1xW2QrK10sZi5saW5lWzFdWzFdPXFbZCsrXSxmLmxpbmVbMV1bMl09cVtkKytdLGYubGluZVsyXVswXT1xW2QrK10sZi5saW5lWzJdWzFdPXFbZCsrXSxmLmxpbmVbMl1bMl09cVtkKytdLGYubGluZVszXVswXT1xW2QrK10sZi5saW5lWzNdWzFdPXFbZCsrXSxmLmxpbmVbM11bMl09cVtkKytdLGYudmVydGV4WzBdWzBdPXFbZCsrXSxmLnZlcnRleFswXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMF09cVtkKytdLGYudmVydGV4WzFdWzFdPXFbZCsrXSxmLnZlcnRleFsyXVswXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMV09cVtkKytdLGYudmVydGV4WzNdWzBdPXFbZCsrXSxmLnZlcnRleFszXVsxXT1xW2QrK10sZi5lcnJvckNvcnJlY3RlZD1xW2QrK119LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyl7dmFyIGg9YXJndW1lbnRzLHM9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIFI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Ui5pZD1oW3MrK10sUi5lcnJvcj1oW3MrK10sUi5mb3VuZD0xLFIucG9zZVswXT1oW3MrK10sUi5wb3NlWzFdPWhbcysrXSxSLnBvc2VbMl09aFtzKytdLFIucG9zZVszXT1oW3MrK10sUi5wb3NlWzRdPWhbcysrXSxSLnBvc2VbNV09aFtzKytdLFIucG9zZVs2XT1oW3MrK10sUi5wb3NlWzddPWhbcysrXSxSLnBvc2VbOF09aFtzKytdLFIucG9zZVs5XT1oW3MrK10sUi5wb3NlWzEwXT1oW3MrK10sUi5wb3NlWzExXT1oW3MrK119LGZ1bmN0aW9uKEEpe3ZhciBJPWFyZ3VtZW50cyxnPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBCPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO0IuaWQ9SVtnKytdLEIuZXJyb3I9LTEsQi5mb3VuZD0wLEIucG9zZVswXT0wLEIucG9zZVsxXT0wLEIucG9zZVsyXT0wLEIucG9zZVszXT0wLEIucG9zZVs0XT0wLEIucG9zZVs1XT0wLEIucG9zZVs2XT0wLEIucG9zZVs3XT0wLEIucG9zZVs4XT0wLEIucG9zZVs5XT0wLEIucG9zZVsxMF09MCxCLnBvc2VbMTFdPTB9XTtmdW5jdGlvbiBaQShBLEksZyxCLEMsUSxFKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUpfWZ1bmN0aW9uIGJBKEEsSSxnLEIsQyl7cmV0dXJuIHBBW0FdKEksZyxCLEMpfWZ1bmN0aW9uIHhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKX1mdW5jdGlvbiBtQShBLEkpe3JldHVybiBwQVtBXShJKX1mdW5jdGlvbiBYQShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpfWZ1bmN0aW9uIFZBKEEpe3JldHVybiBBLnJlcGxhY2UoL1xcXFxiX19aW1xcXFx3XFxcXGRfXSsvZywoZnVuY3Rpb24oQSl7cmV0dXJuIEE9PUE/QTpBK1xcXCIgW1xcXCIrQStcXFwiXVxcXCJ9KSl9ZnVuY3Rpb24gT0EoKXt2YXIgQT1uZXcgRXJyb3I7aWYoIUEuc3RhY2spe3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goSSl7QT1JfWlmKCFBLnN0YWNrKXJldHVyblxcXCIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKVxcXCJ9cmV0dXJuIEEuc3RhY2sudG9TdHJpbmcoKX1mdW5jdGlvbiBUQSgpe3ZhciBJPU9BKCk7cmV0dXJuIEEuZXh0cmFTdGFja1RyYWNlJiYoSSs9XFxcIlxcXFxuXFxcIitBLmV4dHJhU3RhY2tUcmFjZSgpKSxWQShJKX13QS5wdXNoKHtmdW5jOmZ1bmN0aW9uKCl7RUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7YUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7aUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7b0IoKX19KTt2YXIgakE9e307ZnVuY3Rpb24gUEEoKXtyZXR1cm4gUXx8XFxcIi4vdGhpcy5wcm9ncmFtXFxcIn1mdW5jdGlvbiB2QShBKXt2YXIgSSxnO3ZBLmNhbGxlZD8oZz1BQVtBPj4yXSxJPUFBW2c+PjJdKToodkEuY2FsbGVkPSEwLGpBLlVTRVI9XFxcIndlYl91c2VyXFxcIixqQS5MT0dOQU1FPVxcXCJ3ZWJfdXNlclxcXCIsakEuUEFUSD1cXFwiL1xcXCIsakEuUFdEPVxcXCIvXFxcIixqQS5IT01FPVxcXCIvaG9tZS93ZWJfdXNlclxcXCIsakEuTEFORz0oXFxcIm9iamVjdFxcXCI9PT0oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBuYXZpZ2F0b3I/XFxcInVuZGVmaW5lZFxcXCI6RChuYXZpZ2F0b3IpKSYmbmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlc1swXXx8XFxcIkNcXFwiKS5yZXBsYWNlKFxcXCItXFxcIixcXFwiX1xcXCIpK1xcXCIuVVRGLThcXFwiLGpBLl89UEEoKSxJPUwoMTAyNCksZz1MKDI1NiksQUFbZz4+Ml09SSxBQVtBPj4yXT1nKTt2YXIgQj1bXSxDPTA7Zm9yKHZhciBRIGluIGpBKWlmKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgakFbUV0pe3ZhciBFPVErXFxcIj1cXFwiK2pBW1FdO0IucHVzaChFKSxDKz1FLmxlbmd0aH1pZihDPjEwMjQpdGhyb3cgbmV3IEVycm9yKFxcXCJFbnZpcm9ubWVudCBzaXplIGV4Y2VlZGVkIFRPVEFMX0VOVl9TSVpFIVxcXCIpO2Zvcih2YXIgaT0wO2k8Qi5sZW5ndGg7aSsrKWooRT1CW2ldLEkpLEFBW2crNCppPj4yXT1JLEkrPUUubGVuZ3RoKzE7QUFbZys0KkIubGVuZ3RoPj4yXT0wfWZ1bmN0aW9uIHpBKEEpe3JldHVybiBSQihBKX12YXIgX0E9e307ZnVuY3Rpb24gJEEoQSxJLGcpe3Rocm93IF9BW0FdPXtwdHI6QSxhZGp1c3RlZDpbQV0sdHlwZTpJLGRlc3RydWN0b3I6ZyxyZWZjb3VudDowLGNhdWdodDohMSxyZXRocm93bjohMX0sXFxcInVuY2F1Z2h0X2V4Y2VwdGlvblxcXCJpbiBEQj9EQi51bmNhdWdodF9leGNlcHRpb25zKys6REIudW5jYXVnaHRfZXhjZXB0aW9ucz0xLEF9ZnVuY3Rpb24gQUkoKXt9ZnVuY3Rpb24gSUkoSSl7cmV0dXJuIEEuX19fZXJybm9fbG9jYXRpb24mJihBQVtBLl9fX2Vycm5vX2xvY2F0aW9uKCk+PjJdPUkpLEl9ZnVuY3Rpb24gZ0koQSxJKXtyZXR1cm4gSUkoNjMpLC0xfXZhciBCST17c3BsaXRQYXRoOmZ1bmN0aW9uKEEpe3JldHVybi9eKFxcXFwvP3wpKFtcXFxcc1xcXFxTXSo/KSgoPzpcXFxcLnsxLDJ9fFteXFxcXC9dKz98KShcXFxcLlteLlxcXFwvXSp8KSkoPzpbXFxcXC9dKikkLy5leGVjKEEpLnNsaWNlKDEpfSxub3JtYWxpemVBcnJheTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9QS5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEM9QVtCXTtcXFwiLlxcXCI9PT1DP0Euc3BsaWNlKEIsMSk6XFxcIi4uXFxcIj09PUM/KEEuc3BsaWNlKEIsMSksZysrKTpnJiYoQS5zcGxpY2UoQiwxKSxnLS0pfWlmKEkpZm9yKDtnO2ctLSlBLnVuc2hpZnQoXFxcIi4uXFxcIik7cmV0dXJuIEF9LG5vcm1hbGl6ZTpmdW5jdGlvbihBKXt2YXIgST1cXFwiL1xcXCI9PT1BLmNoYXJBdCgwKSxnPVxcXCIvXFxcIj09PUEuc3Vic3RyKC0xKTtyZXR1cm4oQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFxcXCIvXFxcIikuZmlsdGVyKChmdW5jdGlvbihBKXtyZXR1cm4hIUF9KSksIUkpLmpvaW4oXFxcIi9cXFwiKSl8fEl8fChBPVxcXCIuXFxcIiksQSYmZyYmKEErPVxcXCIvXFxcIiksKEk/XFxcIi9cXFwiOlxcXCJcXFwiKStBfSxkaXJuYW1lOmZ1bmN0aW9uKEEpe3ZhciBJPUJJLnNwbGl0UGF0aChBKSxnPUlbMF0sQj1JWzFdO3JldHVybiBnfHxCPyhCJiYoQj1CLnN1YnN0cigwLEIubGVuZ3RoLTEpKSxnK0IpOlxcXCIuXFxcIn0sYmFzZW5hbWU6ZnVuY3Rpb24oQSl7aWYoXFxcIi9cXFwiPT09QSlyZXR1cm5cXFwiL1xcXCI7dmFyIEk9QS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybi0xPT09ST9BOkEuc3Vic3RyKEkrMSl9LGV4dG5hbWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEJJLnNwbGl0UGF0aChBKVszXX0sam9pbjpmdW5jdGlvbigpe3ZhciBBPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gQkkubm9ybWFsaXplKEEuam9pbihcXFwiL1xcXCIpKX0sam9pbjI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQkkubm9ybWFsaXplKEErXFxcIi9cXFwiK0kpfX0sQ0k9e3Jlc29sdmU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9XFxcIlxcXCIsST0hMSxnPWFyZ3VtZW50cy5sZW5ndGgtMTtnPj0tMSYmIUk7Zy0tKXt2YXIgQj1nPj0wP2FyZ3VtZW50c1tnXTppSS5jd2QoKTtpZihcXFwic3RyaW5nXFxcIiE9dHlwZW9mIEIpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3NcXFwiKTtpZighQilyZXR1cm5cXFwiXFxcIjtBPUIrXFxcIi9cXFwiK0EsST1cXFwiL1xcXCI9PT1CLmNoYXJBdCgwKX1yZXR1cm4oST9cXFwiL1xcXCI6XFxcIlxcXCIpKyhBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXFxcIi9cXFwiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcXFwiL1xcXCIpKXx8XFxcIi5cXFwifSxyZWxhdGl2ZTpmdW5jdGlvbihBLEkpe2Z1bmN0aW9uIGcoQSl7Zm9yKHZhciBJPTA7STxBLmxlbmd0aCYmXFxcIlxcXCI9PT1BW0ldO0krKyk7Zm9yKHZhciBnPUEubGVuZ3RoLTE7Zz49MCYmXFxcIlxcXCI9PT1BW2ddO2ctLSk7cmV0dXJuIEk+Zz9bXTpBLnNsaWNlKEksZy1JKzEpfUE9Q0kucmVzb2x2ZShBKS5zdWJzdHIoMSksST1DSS5yZXNvbHZlKEkpLnN1YnN0cigxKTtmb3IodmFyIEI9ZyhBLnNwbGl0KFxcXCIvXFxcIikpLEM9ZyhJLnNwbGl0KFxcXCIvXFxcIikpLFE9TWF0aC5taW4oQi5sZW5ndGgsQy5sZW5ndGgpLEU9USxpPTA7aTxRO2krKylpZihCW2ldIT09Q1tpXSl7RT1pO2JyZWFrfXZhciBvPVtdO2ZvcihpPUU7aTxCLmxlbmd0aDtpKyspby5wdXNoKFxcXCIuLlxcXCIpO3JldHVybihvPW8uY29uY2F0KEMuc2xpY2UoRSkpKS5qb2luKFxcXCIvXFxcIil9fSxRST17dHR5czpbXSxpbml0OmZ1bmN0aW9uKCl7fSxzaHV0ZG93bjpmdW5jdGlvbigpe30scmVnaXN0ZXI6ZnVuY3Rpb24oQSxJKXtRSS50dHlzW0FdPXtpbnB1dDpbXSxvdXRwdXQ6W10sb3BzOkl9LGlJLnJlZ2lzdGVyRGV2aWNlKEEsUUkuc3RyZWFtX29wcyl9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9UUkudHR5c1tBLm5vZGUucmRldl07aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO0EudHR5PUksQS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5nZXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7Zm9yKHZhciBRPTAsRT0wO0U8QjtFKyspe3ZhciBpO3RyeXtpPUEudHR5Lm9wcy5nZXRfY2hhcihBLnR0eSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PWkmJjA9PT1RKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PWkpYnJlYWs7USsrLElbZytFXT1pfXJldHVybiBRJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5wdXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7dHJ5e2Zvcih2YXIgUT0wO1E8QjtRKyspQS50dHkub3BzLnB1dF9jaGFyKEEudHR5LElbZytRXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBCJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjpmdW5jdGlvbihBKXtpZighQS5pbnB1dC5sZW5ndGgpe3ZhciBJPW51bGw7aWYodyl7dmFyIGc9QnVmZmVyLmFsbG9jP0J1ZmZlci5hbGxvYygyNTYpOm5ldyBCdWZmZXIoMjU2KSxCPTA7dHJ5e0I9cy5yZWFkU3luYyhwcm9jZXNzLnN0ZGluLmZkLGcsMCwyNTYsbnVsbCl9Y2F0Y2goQSl7aWYoLTE9PUEudG9TdHJpbmcoKS5pbmRleE9mKFxcXCJFT0ZcXFwiKSl0aHJvdyBBO0I9MH1JPUI+MD9nLnNsaWNlKDAsQikudG9TdHJpbmcoXFxcInV0Zi04XFxcIik6bnVsbH1lbHNlXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiB3aW5kb3cmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiB3aW5kb3cucHJvbXB0P251bGwhPT0oST13aW5kb3cucHJvbXB0KFxcXCJJbnB1dDogXFxcIikpJiYoSSs9XFxcIlxcXFxuXFxcIik6XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIHJlYWRsaW5lJiZudWxsIT09KEk9cmVhZGxpbmUoKSkmJihJKz1cXFwiXFxcXG5cXFwiKTtpZighSSlyZXR1cm4gbnVsbDtBLmlucHV0PVhnKEksITApfXJldHVybiBBLmlucHV0LnNoaWZ0KCl9LHB1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8odChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYodChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX19LEVJPXtvcHNfdGFibGU6bnVsbCxtb3VudDpmdW5jdGlvbihBKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShudWxsLFxcXCIvXFxcIiwxNjg5NSwwKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZihpSS5pc0Jsa2RldihnKXx8aUkuaXNGSUZPKGcpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtFSS5vcHNfdGFibGV8fChFSS5vcHNfdGFibGU9e2Rpcjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixsb29rdXA6RUkubm9kZV9vcHMubG9va3VwLG1rbm9kOkVJLm5vZGVfb3BzLm1rbm9kLHJlbmFtZTpFSS5ub2RlX29wcy5yZW5hbWUsdW5saW5rOkVJLm5vZGVfb3BzLnVubGluayxybWRpcjpFSS5ub2RlX29wcy5ybWRpcixyZWFkZGlyOkVJLm5vZGVfb3BzLnJlYWRkaXIsc3ltbGluazpFSS5ub2RlX29wcy5zeW1saW5rfSxzdHJlYW06e2xsc2VlazpFSS5zdHJlYW1fb3BzLmxsc2Vla319LGZpbGU6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrLHJlYWQ6RUkuc3RyZWFtX29wcy5yZWFkLHdyaXRlOkVJLnN0cmVhbV9vcHMud3JpdGUsYWxsb2NhdGU6RUkuc3RyZWFtX29wcy5hbGxvY2F0ZSxtbWFwOkVJLnN0cmVhbV9vcHMubW1hcCxtc3luYzpFSS5zdHJlYW1fb3BzLm1zeW5jfX0sbGluazp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixyZWFkbGluazpFSS5ub2RlX29wcy5yZWFkbGlua30sc3RyZWFtOnt9fSxjaHJkZXY6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTppSS5jaHJkZXZfc3RyZWFtX29wc319KTt2YXIgQz1pSS5jcmVhdGVOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5pc0RpcihDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5kaXIubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmRpci5zdHJlYW0sQy5jb250ZW50cz17fSk6aUkuaXNGaWxlKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmZpbGUubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmZpbGUuc3RyZWFtLEMudXNlZEJ5dGVzPTAsQy5jb250ZW50cz1udWxsKTppSS5pc0xpbmsoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUubGluay5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUubGluay5zdHJlYW0pOmlJLmlzQ2hyZGV2KEMubW9kZSkmJihDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5jaHJkZXYubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5zdHJlYW0pLEMudGltZXN0YW1wPURhdGUubm93KCksQSYmKEEuY29udGVudHNbSV09QyksQ30sZ2V0RmlsZURhdGFBc1JlZ3VsYXJBcnJheTpmdW5jdGlvbihBKXtpZihBLmNvbnRlbnRzJiZBLmNvbnRlbnRzLnN1YmFycmF5KXtmb3IodmFyIEk9W10sZz0wO2c8QS51c2VkQnl0ZXM7KytnKUkucHVzaChBLmNvbnRlbnRzW2ddKTtyZXR1cm4gSX1yZXR1cm4gQS5jb250ZW50c30sZ2V0RmlsZURhdGFBc1R5cGVkQXJyYXk6ZnVuY3Rpb24oQSl7cmV0dXJuIEEuY29udGVudHM/QS5jb250ZW50cy5zdWJhcnJheT9BLmNvbnRlbnRzLnN1YmFycmF5KDAsQS51c2VkQnl0ZXMpOm5ldyBVaW50OEFycmF5KEEuY29udGVudHMpOm5ldyBVaW50OEFycmF5fSxleHBhbmRGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe3ZhciBnPUEuY29udGVudHM/QS5jb250ZW50cy5sZW5ndGg6MDtpZighKGc+PUkpKXtJPU1hdGgubWF4KEksZyooZzwxMDQ4NTc2PzI6MS4xMjUpfDApLDAhPWcmJihJPU1hdGgubWF4KEksMjU2KSk7dmFyIEI9QS5jb250ZW50cztBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLEEudXNlZEJ5dGVzPjAmJkEuY29udGVudHMuc2V0KEIuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyksMCl9fSxyZXNpemVGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe2lmKEEudXNlZEJ5dGVzIT1JKXtpZigwPT1JKXJldHVybiBBLmNvbnRlbnRzPW51bGwsdm9pZChBLnVzZWRCeXRlcz0wKTtpZighQS5jb250ZW50c3x8QS5jb250ZW50cy5zdWJhcnJheSl7dmFyIGc9QS5jb250ZW50cztyZXR1cm4gQS5jb250ZW50cz1uZXcgVWludDhBcnJheShJKSxnJiZBLmNvbnRlbnRzLnNldChnLnN1YmFycmF5KDAsTWF0aC5taW4oSSxBLnVzZWRCeXRlcykpKSx2b2lkKEEudXNlZEJ5dGVzPUkpfWlmKEEuY29udGVudHN8fChBLmNvbnRlbnRzPVtdKSxBLmNvbnRlbnRzLmxlbmd0aD5JKUEuY29udGVudHMubGVuZ3RoPUk7ZWxzZSBmb3IoO0EuY29udGVudHMubGVuZ3RoPEk7KUEuY29udGVudHMucHVzaCgwKTtBLnVzZWRCeXRlcz1JfX0sbm9kZV9vcHM6e2dldGF0dHI6ZnVuY3Rpb24oQSl7dmFyIEk9e307cmV0dXJuIEkuZGV2PWlJLmlzQ2hyZGV2KEEubW9kZSk/QS5pZDoxLEkuaW5vPUEuaWQsSS5tb2RlPUEubW9kZSxJLm5saW5rPTEsSS51aWQ9MCxJLmdpZD0wLEkucmRldj1BLnJkZXYsaUkuaXNEaXIoQS5tb2RlKT9JLnNpemU9NDA5NjppSS5pc0ZpbGUoQS5tb2RlKT9JLnNpemU9QS51c2VkQnl0ZXM6aUkuaXNMaW5rKEEubW9kZSk/SS5zaXplPUEubGluay5sZW5ndGg6SS5zaXplPTAsSS5hdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5tdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5jdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5ibGtzaXplPTQwOTYsSS5ibG9ja3M9TWF0aC5jZWlsKEkuc2l6ZS9JLmJsa3NpemUpLEl9LHNldGF0dHI6ZnVuY3Rpb24oQSxJKXt2b2lkIDAhPT1JLm1vZGUmJihBLm1vZGU9SS5tb2RlKSx2b2lkIDAhPT1JLnRpbWVzdGFtcCYmKEEudGltZXN0YW1wPUkudGltZXN0YW1wKSx2b2lkIDAhPT1JLnNpemUmJkVJLnJlc2l6ZUZpbGVTdG9yYWdlKEEsSS5zaXplKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7dGhyb3cgaUkuZ2VuZXJpY0Vycm9yc1s0NF19LG1rbm9kOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiBFSS5jcmVhdGVOb2RlKEEsSSxnLEIpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzRGlyKEEubW9kZSkpe3ZhciBCO3RyeXtCPWlJLmxvb2t1cE5vZGUoSSxnKX1jYXRjaChBKXt9aWYoQilmb3IodmFyIEMgaW4gQi5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSl9ZGVsZXRlIEEucGFyZW50LmNvbnRlbnRzW0EubmFtZV0sQS5uYW1lPWcsSS5jb250ZW50c1tnXT1BLEEucGFyZW50PUl9LHVubGluazpmdW5jdGlvbihBLEkpe2RlbGV0ZSBBLmNvbnRlbnRzW0ldfSxybWRpcjpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cE5vZGUoQSxJKTtmb3IodmFyIEIgaW4gZy5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7ZGVsZXRlIEEuY29udGVudHNbSV19LHJlYWRkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9W1xcXCIuXFxcIixcXFwiLi5cXFwiXTtmb3IodmFyIGcgaW4gQS5jb250ZW50cylBLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGcpJiZJLnB1c2goZyk7cmV0dXJuIEl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUVJLmNyZWF0ZU5vZGUoQSxJLDQxNDcxLDApO3JldHVybiBCLmxpbms9ZyxCfSxyZWFkbGluazpmdW5jdGlvbihBKXtpZighaUkuaXNMaW5rKEEubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLmxpbmt9fSxzdHJlYW1fb3BzOntyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PUEubm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oQS5ub2RlLnVzZWRCeXRlcy1DLEIpO2lmKEU+OCYmUS5zdWJhcnJheSlJLnNldChRLnN1YmFycmF5KEMsQytFKSxnKTtlbHNlIGZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtyZXR1cm4gRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKCFCKXJldHVybiAwO3ZhciBFPUEubm9kZTtpZihFLnRpbWVzdGFtcD1EYXRlLm5vdygpLEkuc3ViYXJyYXkmJighRS5jb250ZW50c3x8RS5jb250ZW50cy5zdWJhcnJheSkpe2lmKFEpcmV0dXJuIEUuY29udGVudHM9SS5zdWJhcnJheShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKDA9PT1FLnVzZWRCeXRlcyYmMD09PUMpcmV0dXJuIEUuY29udGVudHM9SS5zbGljZShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKEMrQjw9RS51c2VkQnl0ZXMpcmV0dXJuIEUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpLEJ9aWYoRUkuZXhwYW5kRmlsZVN0b3JhZ2UoRSxDK0IpLEUuY29udGVudHMuc3ViYXJyYXkmJkkuc3ViYXJyYXkpRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyk7ZWxzZSBmb3IodmFyIGk9MDtpPEI7aSsrKUUuY29udGVudHNbQytpXT1JW2craV07cmV0dXJuIEUudXNlZEJ5dGVzPU1hdGgubWF4KEUudXNlZEJ5dGVzLEMrQiksQn0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1JO2lmKDE9PT1nP0IrPUEucG9zaXRpb246Mj09PWcmJmlJLmlzRmlsZShBLm5vZGUubW9kZSkmJihCKz1BLm5vZGUudXNlZEJ5dGVzKSxCPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBCfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7RUkuZXhwYW5kRmlsZVN0b3JhZ2UoQS5ub2RlLEkrZyksQS5ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChBLm5vZGUudXNlZEJ5dGVzLEkrZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3ZhciBpLG8sRD1BLm5vZGUuY29udGVudHM7aWYoMiZFfHxELmJ1ZmZlciE9PUkuYnVmZmVyKXsoQz4wfHxDK0I8QS5ub2RlLnVzZWRCeXRlcykmJihEPUQuc3ViYXJyYXk/RC5zdWJhcnJheShDLEMrQik6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoRCxDLEMrQikpLG89ITA7dmFyIGE9SS5idWZmZXI9PXYuYnVmZmVyO2lmKCEoaT1SQihCKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDgpOyhhP3Y6SSkuc2V0KEQsaSl9ZWxzZSBvPSExLGk9RC5ieXRlT2Zmc2V0O3JldHVybntwdHI6aSxhbGxvY2F0ZWQ6b319LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiAyJkN8fEVJLnN0cmVhbV9vcHMud3JpdGUoQSxJLDAsQixnLCExKSwwfX19LGlJPXtyb290Om51bGwsbW91bnRzOltdLGRldmljZXM6e30sc3RyZWFtczpbXSxuZXh0SW5vZGU6MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDpcXFwiL1xcXCIsaW5pdGlhbGl6ZWQ6ITEsaWdub3JlUGVybWlzc2lvbnM6ITAsdHJhY2tpbmdEZWxlZ2F0ZTp7fSx0cmFja2luZzp7b3BlbkZsYWdzOntSRUFEOjEsV1JJVEU6Mn19LEVycm5vRXJyb3I6bnVsbCxnZW5lcmljRXJyb3JzOnt9LGZpbGVzeXN0ZW1zOm51bGwsc3luY0ZTUmVxdWVzdHM6MCxoYW5kbGVGU0Vycm9yOmZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3IpKXRocm93IEErXFxcIiA6IFxcXCIrVEEoKTtyZXR1cm4gSUkoQS5lcnJubyl9LGxvb2t1cFBhdGg6ZnVuY3Rpb24oQSxJKXtpZihJPUl8fHt9LCEoQT1DSS5yZXNvbHZlKGlJLmN3ZCgpLEEpKSlyZXR1cm57cGF0aDpcXFwiXFxcIixub2RlOm51bGx9O3ZhciBnPXtmb2xsb3dfbW91bnQ6ITAscmVjdXJzZV9jb3VudDowfTtmb3IodmFyIEIgaW4gZyl2b2lkIDA9PT1JW0JdJiYoSVtCXT1nW0JdKTtpZihJLnJlY3Vyc2VfY291bnQ+OCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMik7Zm9yKHZhciBDPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXFxcIi9cXFwiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhMSksUT1pSS5yb290LEU9XFxcIi9cXFwiLGk9MDtpPEMubGVuZ3RoO2krKyl7dmFyIG89aT09PUMubGVuZ3RoLTE7aWYobyYmSS5wYXJlbnQpYnJlYWs7aWYoUT1pSS5sb29rdXBOb2RlKFEsQ1tpXSksRT1CSS5qb2luMihFLENbaV0pLGlJLmlzTW91bnRwb2ludChRKSYmKCFvfHxvJiZJLmZvbGxvd19tb3VudCkmJihRPVEubW91bnRlZC5yb290KSwhb3x8SS5mb2xsb3cpZm9yKHZhciBEPTA7aUkuaXNMaW5rKFEubW9kZSk7KXt2YXIgYT1pSS5yZWFkbGluayhFKTtpZihFPUNJLnJlc29sdmUoQkkuZGlybmFtZShFKSxhKSxRPWlJLmxvb2t1cFBhdGgoRSx7cmVjdXJzZV9jb3VudDpJLnJlY3Vyc2VfY291bnR9KS5ub2RlLEQrKz40MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMil9fXJldHVybntwYXRoOkUsbm9kZTpRfX0sZ2V0UGF0aDpmdW5jdGlvbihBKXtmb3IodmFyIEk7Oyl7aWYoaUkuaXNSb290KEEpKXt2YXIgZz1BLm1vdW50Lm1vdW50cG9pbnQ7cmV0dXJuIEk/XFxcIi9cXFwiIT09Z1tnLmxlbmd0aC0xXT9nK1xcXCIvXFxcIitJOmcrSTpnfUk9ST9BLm5hbWUrXFxcIi9cXFwiK0k6QS5uYW1lLEE9QS5wYXJlbnR9fSxoYXNoTmFtZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPEkubGVuZ3RoO0IrKylnPShnPDw1KS1nK0kuY2hhckNvZGVBdChCKXwwO3JldHVybihBK2c+Pj4wKSVpSS5uYW1lVGFibGUubGVuZ3RofSxoYXNoQWRkTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO0EubmFtZV9uZXh0PWlJLm5hbWVUYWJsZVtJXSxpSS5uYW1lVGFibGVbSV09QX0saGFzaFJlbW92ZU5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtpZihpSS5uYW1lVGFibGVbSV09PT1BKWlJLm5hbWVUYWJsZVtJXT1BLm5hbWVfbmV4dDtlbHNlIGZvcih2YXIgZz1pSS5uYW1lVGFibGVbSV07Zzspe2lmKGcubmFtZV9uZXh0PT09QSl7Zy5uYW1lX25leHQ9QS5uYW1lX25leHQ7YnJlYWt9Zz1nLm5hbWVfbmV4dH19LGxvb2t1cE5vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5tYXlMb29rdXAoQSk7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnLEEpO2Zvcih2YXIgQj1pSS5oYXNoTmFtZShBLmlkLEkpLEM9aUkubmFtZVRhYmxlW0JdO0M7Qz1DLm5hbWVfbmV4dCl7dmFyIFE9Qy5uYW1lO2lmKEMucGFyZW50LmlkPT09QS5pZCYmUT09PUkpcmV0dXJuIEN9cmV0dXJuIGlJLmxvb2t1cChBLEkpfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKCFpSS5GU05vZGUpe2lJLkZTTm9kZT1mdW5jdGlvbihBLEksZyxCKXtBfHwoQT10aGlzKSx0aGlzLnBhcmVudD1BLHRoaXMubW91bnQ9QS5tb3VudCx0aGlzLm1vdW50ZWQ9bnVsbCx0aGlzLmlkPWlJLm5leHRJbm9kZSsrLHRoaXMubmFtZT1JLHRoaXMubW9kZT1nLHRoaXMubm9kZV9vcHM9e30sdGhpcy5zdHJlYW1fb3BzPXt9LHRoaXMucmRldj1CfSxpSS5GU05vZGUucHJvdG90eXBlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTTm9kZS5wcm90b3R5cGUse3JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAzNjU9PSgzNjUmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0zNjU6dGhpcy5tb2RlJj0tMzY2fX0sd3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAxNDY9PSgxNDYmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0xNDY6dGhpcy5tb2RlJj0tMTQ3fX0saXNGb2xkZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0Rpcih0aGlzLm1vZGUpfX0saXNEZXZpY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0NocmRldih0aGlzLm1vZGUpfX19KX12YXIgQz1uZXcgaUkuRlNOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5oYXNoQWRkTm9kZShDKSxDfSxkZXN0cm95Tm9kZTpmdW5jdGlvbihBKXtpSS5oYXNoUmVtb3ZlTm9kZShBKX0saXNSb290OmZ1bmN0aW9uKEEpe3JldHVybiBBPT09QS5wYXJlbnR9LGlzTW91bnRwb2ludDpmdW5jdGlvbihBKXtyZXR1cm4hIUEubW91bnRlZH0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVybiAzMjc2OD09KDYxNDQwJkEpfSxpc0RpcjpmdW5jdGlvbihBKXtyZXR1cm4gMTYzODQ9PSg2MTQ0MCZBKX0saXNMaW5rOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2MD09KDYxNDQwJkEpfSxpc0NocmRldjpmdW5jdGlvbihBKXtyZXR1cm4gODE5Mj09KDYxNDQwJkEpfSxpc0Jsa2RldjpmdW5jdGlvbihBKXtyZXR1cm4gMjQ1NzY9PSg2MTQ0MCZBKX0saXNGSUZPOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2PT0oNjE0NDAmQSl9LGlzU29ja2V0OmZ1bmN0aW9uKEEpe3JldHVybiA0OTE1Mj09KDQ5MTUyJkEpfSxmbGFnTW9kZXM6e3I6MCxyczoxMDUyNjcyLFxcXCJyK1xcXCI6Mix3OjU3Nyx3eDo3MDUseHc6NzA1LFxcXCJ3K1xcXCI6NTc4LFxcXCJ3eCtcXFwiOjcwNixcXFwieHcrXFxcIjo3MDYsYToxMDg5LGF4OjEyMTcseGE6MTIxNyxcXFwiYStcXFwiOjEwOTAsXFxcImF4K1xcXCI6MTIxOCxcXFwieGErXFxcIjoxMjE4fSxtb2RlU3RyaW5nVG9GbGFnczpmdW5jdGlvbihBKXt2YXIgST1pSS5mbGFnTW9kZXNbQV07aWYodm9pZCAwPT09SSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVua25vd24gZmlsZSBvcGVuIG1vZGU6IFxcXCIrQSk7cmV0dXJuIEl9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1bmN0aW9uKEEpe3ZhciBJPVtcXFwiclxcXCIsXFxcIndcXFwiLFxcXCJyd1xcXCJdWzMmQV07cmV0dXJuIDUxMiZBJiYoSSs9XFxcIndcXFwiKSxJfSxub2RlUGVybWlzc2lvbnM6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gaUkuaWdub3JlUGVybWlzc2lvbnN8fCgtMT09PUkuaW5kZXhPZihcXFwiclxcXCIpfHwyOTImQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFxcXCJ3XFxcIil8fDE0NiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXFxcInhcXFwiKXx8NzMmQS5tb2RlKT8wOjJ9LG1heUxvb2t1cDpmdW5jdGlvbihBKXtyZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXFxcInhcXFwiKXx8KEEubm9kZV9vcHMubG9va3VwPzA6Mil9LG1heUNyZWF0ZTpmdW5jdGlvbihBLEkpe3RyeXtyZXR1cm4gaUkubG9va3VwTm9kZShBLEkpLDIwfWNhdGNoKEEpe31yZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXFxcInd4XFxcIil9LG1heURlbGV0ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShBLEkpfWNhdGNoKEEpe3JldHVybiBBLmVycm5vfXZhciBDPWlJLm5vZGVQZXJtaXNzaW9ucyhBLFxcXCJ3eFxcXCIpO2lmKEMpcmV0dXJuIEM7aWYoZyl7aWYoIWlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDU0O2lmKGlJLmlzUm9vdChCKXx8aUkuZ2V0UGF0aChCKT09PWlJLmN3ZCgpKXJldHVybiAxMH1lbHNlIGlmKGlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDMxO3JldHVybiAwfSxtYXlPcGVuOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE/aUkuaXNMaW5rKEEubW9kZSk/MzI6aUkuaXNEaXIoQS5tb2RlKSYmKFxcXCJyXFxcIiE9PWlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpfHw1MTImSSk/MzE6aUkubm9kZVBlcm1pc3Npb25zKEEsaUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSkpOjQ0fSxNQVhfT1BFTl9GRFM6NDA5NixuZXh0ZmQ6ZnVuY3Rpb24oQSxJKXtBPUF8fDAsST1JfHxpSS5NQVhfT1BFTl9GRFM7Zm9yKHZhciBnPUE7Zzw9STtnKyspaWYoIWlJLnN0cmVhbXNbZ10pcmV0dXJuIGc7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzMpfSxnZXRTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0cmVhbXNbQV19LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihBLEksZyl7aUkuRlNTdHJlYW18fChpSS5GU1N0cmVhbT1mdW5jdGlvbigpe30saUkuRlNTdHJlYW0ucHJvdG90eXBlPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5ub2RlPUF9fSxpc1JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzV3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAwIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzQXBwZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTAyNCZ0aGlzLmZsYWdzfX19KSk7dmFyIEI9bmV3IGlJLkZTU3RyZWFtO2Zvcih2YXIgQyBpbiBBKUJbQ109QVtDXTtBPUI7dmFyIFE9aUkubmV4dGZkKEksZyk7cmV0dXJuIEEuZmQ9USxpSS5zdHJlYW1zW1FdPUEsQX0sY2xvc2VTdHJlYW06ZnVuY3Rpb24oQSl7aUkuc3RyZWFtc1tBXT1udWxsfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1pSS5nZXREZXZpY2UoQS5ub2RlLnJkZXYpO0Euc3RyZWFtX29wcz1JLnN0cmVhbV9vcHMsQS5zdHJlYW1fb3BzLm9wZW4mJkEuc3RyZWFtX29wcy5vcGVuKEEpfSxsbHNlZWs6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9fSxtYWpvcjpmdW5jdGlvbihBKXtyZXR1cm4gQT4+OH0sbWlub3I6ZnVuY3Rpb24oQSl7cmV0dXJuIDI1NSZBfSxtYWtlZGV2OmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE8PDh8SX0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24oQSxJKXtpSS5kZXZpY2VzW0FdPXtzdHJlYW1fb3BzOkl9fSxnZXREZXZpY2U6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLmRldmljZXNbQV19LGdldE1vdW50czpmdW5jdGlvbihBKXtmb3IodmFyIEk9W10sZz1bQV07Zy5sZW5ndGg7KXt2YXIgQj1nLnBvcCgpO0kucHVzaChCKSxnLnB1c2guYXBwbHkoZyxCLm1vdW50cyl9cmV0dXJuIEl9LHN5bmNmczpmdW5jdGlvbihBLEkpe1xcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBJiYoST1BLEE9ITEpLGlJLnN5bmNGU1JlcXVlc3RzKyssaUkuc3luY0ZTUmVxdWVzdHM+MSYmUyhcXFwid2FybmluZzogXFxcIitpSS5zeW5jRlNSZXF1ZXN0cytcXFwiIEZTLnN5bmNmcyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRvaW5nIGV4dHJhIHdvcmtcXFwiKTt2YXIgZz1pSS5nZXRNb3VudHMoaUkucm9vdC5tb3VudCksQj0wO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGlJLnN5bmNGU1JlcXVlc3RzLS0sSShBKX1mdW5jdGlvbiBRKEEpe2lmKEEpcmV0dXJuIFEuZXJyb3JlZD92b2lkIDA6KFEuZXJyb3JlZD0hMCxDKEEpKTsrK0I+PWcubGVuZ3RoJiZDKG51bGwpfWcuZm9yRWFjaCgoZnVuY3Rpb24oSSl7aWYoIUkudHlwZS5zeW5jZnMpcmV0dXJuIFEobnVsbCk7SS50eXBlLnN5bmNmcyhJLEEsUSl9KSl9LG1vdW50OmZ1bmN0aW9uKEEsSSxnKXt2YXIgQixDPVxcXCIvXFxcIj09PWcsUT0hZztpZihDJiZpSS5yb290KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighQyYmIVEpe3ZhciBFPWlJLmxvb2t1cFBhdGgoZyx7Zm9sbG93X21vdW50OiExfSk7aWYoZz1FLnBhdGgsQj1FLm5vZGUsaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighaUkuaXNEaXIoQi5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCl9dmFyIGk9e3R5cGU6QSxvcHRzOkksbW91bnRwb2ludDpnLG1vdW50czpbXX0sbz1BLm1vdW50KGkpO3JldHVybiBvLm1vdW50PWksaS5yb290PW8sQz9pSS5yb290PW86QiYmKEIubW91bnRlZD1pLEIubW91bnQmJkIubW91bnQubW91bnRzLnB1c2goaSkpLG99LHVubW91bnQ6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3dfbW91bnQ6ITF9KTtpZighaUkuaXNNb3VudHBvaW50KEkubm9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnPUkubm9kZSxCPWcubW91bnRlZCxDPWlJLmdldE1vdW50cyhCKTtPYmplY3Qua2V5cyhpSS5uYW1lVGFibGUpLmZvckVhY2goKGZ1bmN0aW9uKEEpe2Zvcih2YXIgST1pSS5uYW1lVGFibGVbQV07STspe3ZhciBnPUkubmFtZV9uZXh0Oy0xIT09Qy5pbmRleE9mKEkubW91bnQpJiZpSS5kZXN0cm95Tm9kZShJKSxJPWd9fSkpLGcubW91bnRlZD1udWxsO3ZhciBRPWcubW91bnQubW91bnRzLmluZGV4T2YoQik7Zy5tb3VudC5tb3VudHMuc3BsaWNlKFEsMSl9LGxvb2t1cDpmdW5jdGlvbihBLEkpe3JldHVybiBBLm5vZGVfb3BzLmxvb2t1cChBLEkpfSxta25vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEM9QkkuYmFzZW5hbWUoQSk7aWYoIUN8fFxcXCIuXFxcIj09PUN8fFxcXCIuLlxcXCI9PT1DKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT1pSS5tYXlDcmVhdGUoQixDKTtpZihRKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKFEpO2lmKCFCLm5vZGVfb3BzLm1rbm9kKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gQi5ub2RlX29wcy5ta25vZChCLEMsSSxnKX0sY3JlYXRlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjQzOCxJJj00MDk1LEl8PTMyNzY4LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NTExLEkmPTEwMjMsSXw9MTYzODQsaUkubWtub2QoQSxJLDApfSxta2RpclRyZWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9QS5zcGxpdChcXFwiL1xcXCIpLEI9XFxcIlxcXCIsQz0wO0M8Zy5sZW5ndGg7KytDKWlmKGdbQ10pe0IrPVxcXCIvXFxcIitnW0NdO3RyeXtpSS5ta2RpcihCLEkpfWNhdGNoKEEpe2lmKDIwIT1BLmVycm5vKXRocm93IEF9fX0sbWtkZXY6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB2b2lkIDA9PT1nJiYoZz1JLEk9NDM4KSxJfD04MTkyLGlJLm1rbm9kKEEsSSxnKX0sc3ltbGluazpmdW5jdGlvbihBLEkpe2lmKCFDSS5yZXNvbHZlKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgZz1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBCPUJJLmJhc2VuYW1lKEkpLEM9aUkubWF5Q3JlYXRlKGcsQik7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighZy5ub2RlX29wcy5zeW1saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5zeW1saW5rKGcsQixBKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSl7dmFyIGcsQixDPUJJLmRpcm5hbWUoQSksUT1CSS5kaXJuYW1lKEkpLEU9QkkuYmFzZW5hbWUoQSksaT1CSS5iYXNlbmFtZShJKTt0cnl7Zz1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQj1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGV9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApfWlmKCFnfHwhQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoZy5tb3VudCE9PUIubW91bnQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzUpO3ZhciBvLEQ9aUkubG9va3VwTm9kZShnLEUpLGE9Q0kucmVsYXRpdmUoQSxRKTtpZihcXFwiLlxcXCIhPT1hLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoXFxcIi5cXFwiIT09KGE9Q0kucmVsYXRpdmUoSSxDKSkuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTt0cnl7bz1pSS5sb29rdXBOb2RlKEIsaSl9Y2F0Y2goQSl7fWlmKEQhPT1vKXt2YXIgdz1pSS5pc0RpcihELm1vZGUpLEY9aUkubWF5RGVsZXRlKGcsRSx3KTtpZihGKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKEY9bz9pSS5tYXlEZWxldGUoQixpLHcpOmlJLm1heUNyZWF0ZShCLGkpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKCFnLm5vZGVfb3BzLnJlbmFtZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEQpfHxvJiZpSS5pc01vdW50cG9pbnQobykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKEIhPT1nJiYoRj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcXFwid1xcXCIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbE1vdmVQYXRoJ10oJ1xcXCIrQStcXFwiJywgJ1xcXCIrSStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK2cubWVzc2FnZSl9aUkuaGFzaFJlbW92ZU5vZGUoRCk7dHJ5e2cubm9kZV9vcHMucmVuYW1lKEQsQixpKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuaGFzaEFkZE5vZGUoRCl9dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Nb3ZlUGF0aCddKCdcXFwiK0ErXFxcIicsICdcXFwiK0krXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitnLm1lc3NhZ2UpfX19LHJtZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMCk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy5ybWRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsRGVsZXRlUGF0aCddKCdcXFwiK0ErXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfUkubm9kZV9vcHMucm1kaXIoSSxnKSxpSS5kZXN0cm95Tm9kZShCKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcXFwiK0ErXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7aWYoIUkubm9kZV9vcHMucmVhZGRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7cmV0dXJuIEkubm9kZV9vcHMucmVhZGRpcihJKX0sdW5saW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMSk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy51bmxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXFxcIitBK1xcXCInKSB0aHJldyBhbiBleGNlcHRpb246IFxcXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnVubGluayhJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1xcXCIrQStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0kubWVzc2FnZSl9fSxyZWFkbGluazpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEpLm5vZGU7aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFJLm5vZGVfb3BzLnJlYWRsaW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQ0kucmVzb2x2ZShpSS5nZXRQYXRoKEkucGFyZW50KSxJLm5vZGVfb3BzLnJlYWRsaW5rKEkpKX0sc3RhdDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkubm9kZTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWcubm9kZV9vcHMuZ2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIGcubm9kZV9vcHMuZ2V0YXR0cihnKX0sbHN0YXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0YXQoQSwhMCl9LGNobW9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtpZighKEI9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFnfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtCLm5vZGVfb3BzLnNldGF0dHIoQix7bW9kZTo0MDk1Jkl8LTQwOTYmQi5tb2RlLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG1vZDpmdW5jdGlvbihBLEkpe2lJLmNobW9kKEEsSSwhMCl9LGZjaG1vZDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG1vZChnLm5vZGUsSSl9LGNob3duOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDO2lmKCEoQz1cXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUJ9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Mubm9kZV9vcHMuc2V0YXR0cihDLHt0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2hvd246ZnVuY3Rpb24oQSxJLGcpe2lJLmNob3duKEEsSSxnLCEwKX0sZmNob3duOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2hvd24oQi5ub2RlLEksZyl9LHRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7aWYoSTwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgZztpZighKGc9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc0RpcihnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighaUkuaXNGaWxlKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBCPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFxcXCJ3XFxcIik7aWYoQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihCKTtnLm5vZGVfb3BzLnNldGF0dHIoZyx7c2l6ZTpJLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGZ0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZnLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aUkudHJ1bmNhdGUoZy5ub2RlLEkpfSx1dGltZTpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO0Iubm9kZV9vcHMuc2V0YXR0cihCLHt0aW1lc3RhbXA6TWF0aC5tYXgoSSxnKX0pfSxvcGVuOmZ1bmN0aW9uKEksZyxCLEMsUSl7aWYoXFxcIlxcXCI9PT1JKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgRTtpZihCPXZvaWQgMD09PUI/NDM4OkIsQj02NCYoZz1cXFwic3RyaW5nXFxcIj09dHlwZW9mIGc/aUkubW9kZVN0cmluZ1RvRmxhZ3MoZyk6Zyk/NDA5NSZCfDMyNzY4OjAsXFxcIm9iamVjdFxcXCI9PT1EKEkpKUU9STtlbHNle0k9Qkkubm9ybWFsaXplKEkpO3RyeXtFPWlJLmxvb2t1cFBhdGgoSSx7Zm9sbG93OiEoMTMxMDcyJmcpfSkubm9kZX1jYXRjaChBKXt9fXZhciBpPSExO2lmKDY0JmcpaWYoRSl7aWYoMTI4JmcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjApfWVsc2UgRT1pSS5ta25vZChJLEIsMCksaT0hMDtpZighRSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoaUkuaXNDaHJkZXYoRS5tb2RlKSYmKGcmPS01MTMpLDY1NTM2JmcmJiFpSS5pc0RpcihFLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtpZighaSl7dmFyIG89aUkubWF5T3BlbihFLGcpO2lmKG8pdGhyb3cgbmV3IGlJLkVycm5vRXJyb3Iobyl9NTEyJmcmJmlJLnRydW5jYXRlKEUsMCksZyY9LTY0MTt2YXIgYT1pSS5jcmVhdGVTdHJlYW0oe25vZGU6RSxwYXRoOmlJLmdldFBhdGgoRSksZmxhZ3M6ZyxzZWVrYWJsZTohMCxwb3NpdGlvbjowLHN0cmVhbV9vcHM6RS5zdHJlYW1fb3BzLHVuZ290dGVuOltdLGVycm9yOiExfSxDLFEpO2Euc3RyZWFtX29wcy5vcGVuJiZhLnN0cmVhbV9vcHMub3BlbihhKSwhQS5sb2dSZWFkRmlsZXN8fDEmZ3x8KGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlcz17fSksSSBpbiBpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXNbSV09MSxTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlIGVycm9yIG9uIHJlYWQgZmlsZTogXFxcIitJKSkpO3RyeXtpZihpSS50cmFja2luZ0RlbGVnYXRlLm9uT3BlbkZpbGUpe3ZhciB3PTA7MSE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuUkVBRCksMCE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuV1JJVEUpLGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZShJLHcpfX1jYXRjaChBKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk9wZW5GaWxlJ10oJ1xcXCIrSStcXFwiJywgZmxhZ3MpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitBLm1lc3NhZ2UpfXJldHVybiBhfSxjbG9zZTpmdW5jdGlvbihBKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtBLmdldGRlbnRzJiYoQS5nZXRkZW50cz1udWxsKTt0cnl7QS5zdHJlYW1fb3BzLmNsb3NlJiZBLnN0cmVhbV9vcHMuY2xvc2UoQSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmNsb3NlU3RyZWFtKEEuZmQpfUEuZmQ9bnVsbH0saXNDbG9zZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PT1BLmZkfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFBLnNlZWthYmxlfHwhQS5zdHJlYW1fb3BzLmxsc2Vlayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCk7aWYoMCE9ZyYmMSE9ZyYmMiE9Zyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEucG9zaXRpb249QS5zdHJlYW1fb3BzLmxsc2VlayhBLEksZyksQS51bmdvdHRlbj1bXSxBLnBvc2l0aW9ufSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy5yZWFkKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT12b2lkIDAhPT1DO2lmKFEpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgRT1BLnN0cmVhbV9vcHMucmVhZChBLEksZyxCLEMpO3JldHVybiBRfHwoQS5wb3NpdGlvbis9RSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMud3JpdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpOzEwMjQmQS5mbGFncyYmaUkubGxzZWVrKEEsMCwyKTt2YXIgRT12b2lkIDAhPT1DO2lmKEUpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgaT1BLnN0cmVhbV9vcHMud3JpdGUoQSxJLGcsQixDLFEpO0V8fChBLnBvc2l0aW9uKz1pKTt0cnl7QS5wYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZShBLnBhdGgpfWNhdGNoKEkpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uV3JpdGVUb0ZpbGUnXSgnXFxcIitBLnBhdGgrXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfXJldHVybiBpfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoSTwwfHxnPD0wKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSYmIWlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7aWYoIUEuc3RyZWFtX29wcy5hbGxvY2F0ZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMzgpO0Euc3RyZWFtX29wcy5hbGxvY2F0ZShBLEksZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoMCE9KDImUSkmJjA9PSgyJkUpJiYyIT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZigxPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZighQS5zdHJlYW1fb3BzLm1tYXApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiBBLnN0cmVhbV9vcHMubW1hcChBLEksZyxCLEMsUSxFKX0sbXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQSYmQS5zdHJlYW1fb3BzLm1zeW5jP0Euc3RyZWFtX29wcy5tc3luYyhBLEksZyxCLEMpOjB9LG11bm1hcDpmdW5jdGlvbihBKXtyZXR1cm4gMH0saW9jdGw6ZnVuY3Rpb24oQSxJLGcpe2lmKCFBLnN0cmVhbV9vcHMuaW9jdGwpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTkpO3JldHVybiBBLnN0cmVhbV9vcHMuaW9jdGwoQSxJLGcpfSxyZWFkRmlsZTpmdW5jdGlvbihBLEkpe2lmKChJPUl8fHt9KS5mbGFncz1JLmZsYWdzfHxcXFwiclxcXCIsSS5lbmNvZGluZz1JLmVuY29kaW5nfHxcXFwiYmluYXJ5XFxcIixcXFwidXRmOFxcXCIhPT1JLmVuY29kaW5nJiZcXFwiYmluYXJ5XFxcIiE9PUkuZW5jb2RpbmcpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVuY29kaW5nIHR5cGUgXFxcIicrSS5lbmNvZGluZysnXFxcIicpO3ZhciBnLEI9aUkub3BlbihBLEkuZmxhZ3MpLEM9aUkuc3RhdChBKS5zaXplLFE9bmV3IFVpbnQ4QXJyYXkoQyk7cmV0dXJuIGlJLnJlYWQoQixRLDAsQywwKSxcXFwidXRmOFxcXCI9PT1JLmVuY29kaW5nP2c9ZChRLDApOlxcXCJiaW5hcnlcXFwiPT09SS5lbmNvZGluZyYmKGc9USksaUkuY2xvc2UoQiksZ30sd3JpdGVGaWxlOmZ1bmN0aW9uKEEsSSxnKXsoZz1nfHx7fSkuZmxhZ3M9Zy5mbGFnc3x8XFxcIndcXFwiO3ZhciBCPWlJLm9wZW4oQSxnLmZsYWdzLGcubW9kZSk7aWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBJKXt2YXIgQz1uZXcgVWludDhBcnJheShXKEkpKzEpLFE9bChJLEMsMCxDLmxlbmd0aCk7aUkud3JpdGUoQixDLDAsUSx2b2lkIDAsZy5jYW5Pd24pfWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhJKSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVuc3VwcG9ydGVkIGRhdGEgdHlwZVxcXCIpO2lJLndyaXRlKEIsSSwwLEkuYnl0ZUxlbmd0aCx2b2lkIDAsZy5jYW5Pd24pfWlJLmNsb3NlKEIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuY3VycmVudFBhdGh9LGNoZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSk7aWYobnVsbD09PUkubm9kZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWlJLmlzRGlyKEkubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7dmFyIGc9aUkubm9kZVBlcm1pc3Npb25zKEkubm9kZSxcXFwieFxcXCIpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyk7aUkuY3VycmVudFBhdGg9SS5wYXRofSxjcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcXFwiL3RtcFxcXCIpLGlJLm1rZGlyKFxcXCIvaG9tZVxcXCIpLGlJLm1rZGlyKFxcXCIvaG9tZS93ZWJfdXNlclxcXCIpfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbigpe3ZhciBBO2lmKGlJLm1rZGlyKFxcXCIvZGV2XFxcIiksaUkucmVnaXN0ZXJEZXZpY2UoaUkubWFrZWRldigxLDMpLHtyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIDB9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEJ9fSksaUkubWtkZXYoXFxcIi9kZXYvbnVsbFxcXCIsaUkubWFrZWRldigxLDMpKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDUsMCksUUkuZGVmYXVsdF90dHlfb3BzKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDYsMCksUUkuZGVmYXVsdF90dHkxX29wcyksaUkubWtkZXYoXFxcIi9kZXYvdHR5XFxcIixpSS5tYWtlZGV2KDUsMCkpLGlJLm1rZGV2KFxcXCIvZGV2L3R0eTFcXFwiLGlJLm1ha2VkZXYoNiwwKSksXFxcIm9iamVjdFxcXCI9PT0oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBjcnlwdG8/XFxcInVuZGVmaW5lZFxcXCI6RChjcnlwdG8pKSYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciBJPW5ldyBVaW50OEFycmF5KDEpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhJKSxJWzBdfX1lbHNlIGlmKHcpdHJ5e3ZhciBCPWcoNjU0KTtBPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmFuZG9tQnl0ZXMoMSlbMF19fWNhdGNoKEEpe31BfHwoQT1mdW5jdGlvbigpe0pBKFxcXCJyYW5kb21fZGV2aWNlXFxcIil9KSxpSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJyYW5kb21cXFwiLEEpLGlJLmNyZWF0ZURldmljZShcXFwiL2RldlxcXCIsXFxcInVyYW5kb21cXFwiLEEpLGlJLm1rZGlyKFxcXCIvZGV2L3NobVxcXCIpLGlJLm1rZGlyKFxcXCIvZGV2L3NobS90bXBcXFwiKX0sY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzOmZ1bmN0aW9uKCl7aUkubWtkaXIoXFxcIi9wcm9jXFxcIiksaUkubWtkaXIoXFxcIi9wcm9jL3NlbGZcXFwiKSxpSS5ta2RpcihcXFwiL3Byb2Mvc2VsZi9mZFxcXCIpLGlJLm1vdW50KHttb3VudDpmdW5jdGlvbigpe3ZhciBBPWlJLmNyZWF0ZU5vZGUoXFxcIi9wcm9jL3NlbGZcXFwiLFxcXCJmZFxcXCIsMTY4OTUsNzMpO3JldHVybiBBLm5vZGVfb3BzPXtsb29rdXA6ZnVuY3Rpb24oQSxJKXt2YXIgZz0rSSxCPWlJLmdldFN0cmVhbShnKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTt2YXIgQz17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6XFxcImZha2VcXFwifSxub2RlX29wczp7cmVhZGxpbms6ZnVuY3Rpb24oKXtyZXR1cm4gQi5wYXRofX19O3JldHVybiBDLnBhcmVudD1DLEN9fSxBfX0se30sXFxcIi9wcm9jL3NlbGYvZmRcXFwiKX0sY3JlYXRlU3RhbmRhcmRTdHJlYW1zOmZ1bmN0aW9uKCl7QS5zdGRpbj9pSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJzdGRpblxcXCIsQS5zdGRpbik6aUkuc3ltbGluayhcXFwiL2Rldi90dHlcXFwiLFxcXCIvZGV2L3N0ZGluXFxcIiksQS5zdGRvdXQ/aUkuY3JlYXRlRGV2aWNlKFxcXCIvZGV2XFxcIixcXFwic3Rkb3V0XFxcIixudWxsLEEuc3Rkb3V0KTppSS5zeW1saW5rKFxcXCIvZGV2L3R0eVxcXCIsXFxcIi9kZXYvc3Rkb3V0XFxcIiksQS5zdGRlcnI/aUkuY3JlYXRlRGV2aWNlKFxcXCIvZGV2XFxcIixcXFwic3RkZXJyXFxcIixudWxsLEEuc3RkZXJyKTppSS5zeW1saW5rKFxcXCIvZGV2L3R0eTFcXFwiLFxcXCIvZGV2L3N0ZGVyclxcXCIpLGlJLm9wZW4oXFxcIi9kZXYvc3RkaW5cXFwiLFxcXCJyXFxcIiksaUkub3BlbihcXFwiL2Rldi9zdGRvdXRcXFwiLFxcXCJ3XFxcIiksaUkub3BlbihcXFwiL2Rldi9zdGRlcnJcXFwiLFxcXCJ3XFxcIil9LGVuc3VyZUVycm5vRXJyb3I6ZnVuY3Rpb24oKXtpSS5FcnJub0Vycm9yfHwoaUkuRXJybm9FcnJvcj1mdW5jdGlvbihBLEkpe3RoaXMubm9kZT1JLHRoaXMuc2V0RXJybm89ZnVuY3Rpb24oQSl7dGhpcy5lcnJubz1BfSx0aGlzLnNldEVycm5vKEEpLHRoaXMubWVzc2FnZT1cXFwiRlMgZXJyb3JcXFwifSxpSS5FcnJub0Vycm9yLnByb3RvdHlwZT1uZXcgRXJyb3IsaUkuRXJybm9FcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I9aUkuRXJybm9FcnJvcixbNDRdLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lJLmdlbmVyaWNFcnJvcnNbQV09bmV3IGlJLkVycm5vRXJyb3IoQSksaUkuZ2VuZXJpY0Vycm9yc1tBXS5zdGFjaz1cXFwiPGdlbmVyaWMgZXJyb3IsIG5vIHN0YWNrPlxcXCJ9KSkpfSxzdGF0aWNJbml0OmZ1bmN0aW9uKCl7aUkuZW5zdXJlRXJybm9FcnJvcigpLGlJLm5hbWVUYWJsZT1uZXcgQXJyYXkoNDA5NiksaUkubW91bnQoRUkse30sXFxcIi9cXFwiKSxpSS5jcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXMoKSxpSS5jcmVhdGVEZWZhdWx0RGV2aWNlcygpLGlJLmNyZWF0ZVNwZWNpYWxEaXJlY3RvcmllcygpLGlJLmZpbGVzeXN0ZW1zPXtNRU1GUzpFSX19LGluaXQ6ZnVuY3Rpb24oSSxnLEIpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITAsaUkuZW5zdXJlRXJybm9FcnJvcigpLEEuc3RkaW49SXx8QS5zdGRpbixBLnN0ZG91dD1nfHxBLnN0ZG91dCxBLnN0ZGVycj1CfHxBLnN0ZGVycixpSS5jcmVhdGVTdGFuZGFyZFN0cmVhbXMoKX0scXVpdDpmdW5jdGlvbigpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITE7dmFyIEk9QS5fZmZsdXNoO0kmJkkoMCk7Zm9yKHZhciBnPTA7ZzxpSS5zdHJlYW1zLmxlbmd0aDtnKyspe3ZhciBCPWlJLnN0cmVhbXNbZ107QiYmaUkuY2xvc2UoQil9fSxnZXRNb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9MDtyZXR1cm4gQSYmKGd8PTM2NSksSSYmKGd8PTE0NiksZ30sam9pblBhdGg6ZnVuY3Rpb24oQSxJKXt2YXIgZz1CSS5qb2luLmFwcGx5KG51bGwsQSk7cmV0dXJuIEkmJlxcXCIvXFxcIj09Z1swXSYmKGc9Zy5zdWJzdHIoMSkpLGd9LGFic29sdXRlUGF0aDpmdW5jdGlvbihBLEkpe3JldHVybiBDSS5yZXNvbHZlKEksQSl9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbihBKXtyZXR1cm4gQkkubm9ybWFsaXplKEEpfSxmaW5kT2JqZWN0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuYW5hbHl6ZVBhdGgoQSxJKTtyZXR1cm4gZy5leGlzdHM/Zy5vYmplY3Q6KElJKGcuZXJyb3IpLG51bGwpfSxhbmFseXplUGF0aDpmdW5jdGlvbihBLEkpe3RyeXtBPShCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkpLnBhdGh9Y2F0Y2goQSl7fXZhciBnPXtpc1Jvb3Q6ITEsZXhpc3RzOiExLGVycm9yOjAsbmFtZTpudWxsLHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ITEscGFyZW50UGF0aDpudWxsLHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KTtnLnBhcmVudEV4aXN0cz0hMCxnLnBhcmVudFBhdGg9Qi5wYXRoLGcucGFyZW50T2JqZWN0PUIubm9kZSxnLm5hbWU9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLGcuZXhpc3RzPSEwLGcucGF0aD1CLnBhdGgsZy5vYmplY3Q9Qi5ub2RlLGcubmFtZT1CLm5vZGUubmFtZSxnLmlzUm9vdD1cXFwiL1xcXCI9PT1CLnBhdGh9Y2F0Y2goQSl7Zy5lcnJvcj1BLmVycm5vfXJldHVybiBnfSxjcmVhdGVGb2xkZXI6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoZyxCKTtyZXR1cm4gaUkubWtkaXIoQyxRKX0sY3JlYXRlUGF0aDpmdW5jdGlvbihBLEksZyxCKXtBPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSk7Zm9yKHZhciBDPUkuc3BsaXQoXFxcIi9cXFwiKS5yZXZlcnNlKCk7Qy5sZW5ndGg7KXt2YXIgUT1DLnBvcCgpO2lmKFEpe3ZhciBFPUJJLmpvaW4yKEEsUSk7dHJ5e2lJLm1rZGlyKEUpfWNhdGNoKEEpe31BPUV9fXJldHVybiBFfSxjcmVhdGVGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxFPWlJLmdldE1vZGUoQixDKTtyZXR1cm4gaUkuY3JlYXRlKFEsRSl9LGNyZWF0ZURhdGFGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXt2YXIgRT1JP0JJLmpvaW4yKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk6QSxpPWlJLmdldE1vZGUoQixDKSxvPWlJLmNyZWF0ZShFLGkpO2lmKGcpe2lmKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgZyl7Zm9yKHZhciBEPW5ldyBBcnJheShnLmxlbmd0aCksYT0wLHc9Zy5sZW5ndGg7YTx3OysrYSlEW2FdPWcuY2hhckNvZGVBdChhKTtnPUR9aUkuY2htb2QobywxNDZ8aSk7dmFyIEY9aUkub3BlbihvLFxcXCJ3XFxcIik7aUkud3JpdGUoRixnLDAsZy5sZW5ndGgsMCxRKSxpSS5jbG9zZShGKSxpSS5jaG1vZChvLGkpfXJldHVybiBvfSxjcmVhdGVEZXZpY2U6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoISFnLCEhQik7aUkuY3JlYXRlRGV2aWNlLm1ham9yfHwoaUkuY3JlYXRlRGV2aWNlLm1ham9yPTY0KTt2YXIgRT1pSS5tYWtlZGV2KGlJLmNyZWF0ZURldmljZS5tYWpvcisrLDApO3JldHVybiBpSS5yZWdpc3RlckRldmljZShFLHtvcGVuOmZ1bmN0aW9uKEEpe0Euc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0ImJkIuYnVmZmVyJiZCLmJ1ZmZlci5sZW5ndGgmJkIoMTApfSxyZWFkOmZ1bmN0aW9uKEEsSSxCLEMsUSl7Zm9yKHZhciBFPTAsaT0wO2k8QztpKyspe3ZhciBvO3RyeXtvPWcoKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09byYmMD09PUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09bylicmVhaztFKyssSVtCK2ldPW99cmV0dXJuIEUmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSl7Zm9yKHZhciBFPTA7RTxDO0UrKyl0cnl7QihJW2crRV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQyYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX19KSxpSS5ta2RldihDLFEsRSl9LGNyZWF0ZUxpbms6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpO3JldHVybiBpSS5zeW1saW5rKGcsUSl9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24oQSl7aWYoQS5pc0RldmljZXx8QS5pc0ZvbGRlcnx8QS5saW5rfHxBLmNvbnRlbnRzKXJldHVybiEwO3ZhciBJPSEwO2lmKFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3QpdGhyb3cgbmV3IEVycm9yKFxcXCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3JtZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC5cXFwiKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoXFxcIkNhbm5vdCBsb2FkIHdpdGhvdXQgcmVhZCgpIG9yIFhNTEh0dHBSZXF1ZXN0LlxcXCIpO3RyeXtBLmNvbnRlbnRzPVhnKEcoQS51cmwpLCEwKSxBLnVzZWRCeXRlcz1BLmNvbnRlbnRzLmxlbmd0aH1jYXRjaChBKXtJPSExfXJldHVybiBJfHxJSSgyOSksSX0sY3JlYXRlTGF6eUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtmdW5jdGlvbiBRKCl7dGhpcy5sZW5ndGhLbm93bj0hMSx0aGlzLmNodW5rcz1bXX1pZihRLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oQSl7aWYoIShBPnRoaXMubGVuZ3RoLTF8fEE8MCkpe3ZhciBJPUEldGhpcy5jaHVua1NpemUsZz1BL3RoaXMuY2h1bmtTaXplfDA7cmV0dXJuIHRoaXMuZ2V0dGVyKGcpW0ldfX0sUS5wcm90b3R5cGUuc2V0RGF0YUdldHRlcj1mdW5jdGlvbihBKXt0aGlzLmdldHRlcj1BfSxRLnByb3RvdHlwZS5jYWNoZUxlbmd0aD1mdW5jdGlvbigpe3ZhciBBPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLm9wZW4oXFxcIkhFQURcXFwiLGcsITEpLEEuc2VuZChudWxsKSwhKEEuc3RhdHVzPj0yMDAmJkEuc3RhdHVzPDMwMHx8MzA0PT09QS5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcXFwiQ291bGRuJ3QgbG9hZCBcXFwiK2crXFxcIi4gU3RhdHVzOiBcXFwiK0Euc3RhdHVzKTt2YXIgSSxCPU51bWJlcihBLmdldFJlc3BvbnNlSGVhZGVyKFxcXCJDb250ZW50LWxlbmd0aFxcXCIpKSxDPShJPUEuZ2V0UmVzcG9uc2VIZWFkZXIoXFxcIkFjY2VwdC1SYW5nZXNcXFwiKSkmJlxcXCJieXRlc1xcXCI9PT1JLFE9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcXFwiQ29udGVudC1FbmNvZGluZ1xcXCIpKSYmXFxcImd6aXBcXFwiPT09SSxFPTEwNDg1NzY7Q3x8KEU9Qik7dmFyIGk9dGhpcztpLnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKEEpe3ZhciBJPUEqRSxDPShBKzEpKkUtMTtpZihDPU1hdGgubWluKEMsQi0xKSx2b2lkIDA9PT1pLmNodW5rc1tBXSYmKGkuY2h1bmtzW0FdPWZ1bmN0aW9uKEEsSSl7aWYoQT5JKXRocm93IG5ldyBFcnJvcihcXFwiaW52YWxpZCByYW5nZSAoXFxcIitBK1xcXCIsIFxcXCIrSStcXFwiKSBvciBubyBieXRlcyByZXF1ZXN0ZWQhXFxcIik7aWYoST5CLTEpdGhyb3cgbmV3IEVycm9yKFxcXCJvbmx5IFxcXCIrQitcXFwiIGJ5dGVzIGF2YWlsYWJsZSEgcHJvZ3JhbW1lciBlcnJvciFcXFwiKTt2YXIgQz1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQy5vcGVuKFxcXCJHRVRcXFwiLGcsITEpLEIhPT1FJiZDLnNldFJlcXVlc3RIZWFkZXIoXFxcIlJhbmdlXFxcIixcXFwiYnl0ZXM9XFxcIitBK1xcXCItXFxcIitJKSxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihDLnJlc3BvbnNlVHlwZT1cXFwiYXJyYXlidWZmZXJcXFwiKSxDLm92ZXJyaWRlTWltZVR5cGUmJkMub3ZlcnJpZGVNaW1lVHlwZShcXFwidGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZFxcXCIpLEMuc2VuZChudWxsKSwhKEMuc3RhdHVzPj0yMDAmJkMuc3RhdHVzPDMwMHx8MzA0PT09Qy5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcXFwiQ291bGRuJ3QgbG9hZCBcXFwiK2crXFxcIi4gU3RhdHVzOiBcXFwiK0Muc3RhdHVzKTtyZXR1cm4gdm9pZCAwIT09Qy5yZXNwb25zZT9uZXcgVWludDhBcnJheShDLnJlc3BvbnNlfHxbXSk6WGcoQy5yZXNwb25zZVRleHR8fFxcXCJcXFwiLCEwKX0oSSxDKSksdm9pZCAwPT09aS5jaHVua3NbQV0pdGhyb3cgbmV3IEVycm9yKFxcXCJkb1hIUiBmYWlsZWQhXFxcIik7cmV0dXJuIGkuY2h1bmtzW0FdfSkpLCFRJiZCfHwoRT1CPTEsQj10aGlzLmdldHRlcigwKS5sZW5ndGgsRT1CLHQoXFxcIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBvZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZFxcXCIpKSx0aGlzLl9sZW5ndGg9Qix0aGlzLl9jaHVua1NpemU9RSx0aGlzLmxlbmd0aEtub3duPSEwfSxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXtpZighbyl0aHJvd1xcXCJDYW5ub3QgZG8gc3luY2hyb25vdXMgYmluYXJ5IFhIUnMgb3V0c2lkZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjXFxcIjt2YXIgRT1uZXcgUTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fbGVuZ3RofX0sY2h1bmtTaXplOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGhLbm93bnx8dGhpcy5jYWNoZUxlbmd0aCgpLHRoaXMuX2NodW5rU2l6ZX19fSk7dmFyIGk9e2lzRGV2aWNlOiExLGNvbnRlbnRzOkV9fWVsc2UgaT17aXNEZXZpY2U6ITEsdXJsOmd9O3ZhciBEPWlJLmNyZWF0ZUZpbGUoQSxJLGksQixDKTtpLmNvbnRlbnRzP0QuY29udGVudHM9aS5jb250ZW50czppLnVybCYmKEQuY29udGVudHM9bnVsbCxELnVybD1pLnVybCksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRCx7dXNlZEJ5dGVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50cy5sZW5ndGh9fX0pO3ZhciBhPXt9O3JldHVybiBPYmplY3Qua2V5cyhELnN0cmVhbV9vcHMpLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUQuc3RyZWFtX29wc1tBXTthW0FdPWZ1bmN0aW9uKCl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3JldHVybiBJLmFwcGx5KG51bGwsYXJndW1lbnRzKX19KSksYS5yZWFkPWZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1RLmxlbmd0aClyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihRLmxlbmd0aC1DLEIpO2lmKFEuc2xpY2UpZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO2Vsc2UgZm9yKGk9MDtpPEU7aSsrKUlbZytpXT1RLmdldChDK2kpO3JldHVybiBFfSxELnN0cmVhbV9vcHM9YSxEfSxjcmVhdGVQcmVsb2FkZWRGaWxlOmZ1bmN0aW9uKEksZyxCLEMsUSxFLGksbyxELGEpe0Jyb3dzZXIuaW5pdCgpO3ZhciB3PWc/Q0kucmVzb2x2ZShCSS5qb2luMihJLGcpKTpJO2Z1bmN0aW9uIEYoQil7ZnVuY3Rpb24gRihBKXthJiZhKCksb3x8aUkuY3JlYXRlRGF0YUZpbGUoSSxnLEEsQyxRLEQpLEUmJkUoKSxlQSgpfXZhciBHPSExO0EucHJlbG9hZFBsdWdpbnMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7R3x8QS5jYW5IYW5kbGUodykmJihBLmhhbmRsZShCLHcsRiwoZnVuY3Rpb24oKXtpJiZpKCksZUEoKX0pKSxHPSEwKX0pKSxHfHxGKEIpfVlBKCksXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBCP0Jyb3dzZXIuYXN5bmNMb2FkKEIsKGZ1bmN0aW9uKEEpe0YoQSl9KSxpKTpGKEIpfSxpbmRleGVkREI6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmluZGV4ZWREQnx8d2luZG93Lm1vekluZGV4ZWREQnx8d2luZG93LndlYmtpdEluZGV4ZWREQnx8d2luZG93Lm1zSW5kZXhlZERCfSxEQl9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuXFxcIkVNX0ZTX1xcXCIrd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6XFxcIkZJTEVfREFUQVxcXCIsc2F2ZUZpbGVzVG9EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZnVuY3Rpb24oKXt0KFxcXCJjcmVhdGluZyBkYlxcXCIpLEMucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpfSxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0LnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcXFwicmVhZHdyaXRlXFxcIiksUT1CLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLEU9MCxpPTAsbz1BLmxlbmd0aDtmdW5jdGlvbiBEKCl7MD09aT9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9US5wdXQoaUkuYW5hbHl6ZVBhdGgoQSkub2JqZWN0LmNvbnRlbnRzLEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7KytFK2k9PW8mJkQoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7aSsrLEUraT09byYmRCgpfX0pKSxCLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZyxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0O3RyeXt2YXIgUT1CLnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcXFwicmVhZG9ubHlcXFwiKX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfXZhciBFPVEub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksaT0wLG89MCxEPUEubGVuZ3RoO2Z1bmN0aW9uIGEoKXswPT1vP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1FLmdldChBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpe2lJLmFuYWx5emVQYXRoKEEpLmV4aXN0cyYmaUkudW5saW5rKEEpLGlJLmNyZWF0ZURhdGFGaWxlKEJJLmRpcm5hbWUoQSksQkkuYmFzZW5hbWUoQSksSS5yZXN1bHQsITAsITAsITApLCsraStvPT1EJiZhKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe28rKyxpK289PUQmJmEoKX19KSksUS5vbmVycm9yPWd9LEMub25lcnJvcj1nfX0sb0k9e0RFRkFVTFRfUE9MTE1BU0s6NSxtYXBwaW5nczp7fSx1bWFzazo1MTEsY2FsY3VsYXRlQXQ6ZnVuY3Rpb24oQSxJKXtpZihcXFwiL1xcXCIhPT1JWzBdKXt2YXIgZztpZigtMTAwPT09QSlnPWlJLmN3ZCgpO2Vsc2V7dmFyIEI9aUkuZ2V0U3RyZWFtKEEpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2c9Qi5wYXRofUk9Qkkuam9pbjIoZyxJKX1yZXR1cm4gSX0sZG9TdGF0OmZ1bmN0aW9uKEEsSSxnKXt0cnl7dmFyIEI9QShJKX1jYXRjaChBKXtpZihBJiZBLm5vZGUmJkJJLm5vcm1hbGl6ZShJKSE9PUJJLm5vcm1hbGl6ZShpSS5nZXRQYXRoKEEubm9kZSkpKXJldHVybi01NDt0aHJvdyBBfXJldHVybiBBQVtnPj4yXT1CLmRldixBQVtnKzQ+PjJdPTAsQUFbZys4Pj4yXT1CLmlubyxBQVtnKzEyPj4yXT1CLm1vZGUsQUFbZysxNj4+Ml09Qi5ubGluayxBQVtnKzIwPj4yXT1CLnVpZCxBQVtnKzI0Pj4yXT1CLmdpZCxBQVtnKzI4Pj4yXT1CLnJkZXYsQUFbZyszMj4+Ml09MCxkQT1bQi5zaXplPj4+MCwocUE9Qi5zaXplLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys0MD4+Ml09ZEFbMF0sQUFbZys0ND4+Ml09ZEFbMV0sQUFbZys0OD4+Ml09NDA5NixBQVtnKzUyPj4yXT1CLmJsb2NrcyxBQVtnKzU2Pj4yXT1CLmF0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzYwPj4yXT0wLEFBW2crNjQ+PjJdPUIubXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjg+PjJdPTAsQUFbZys3Mj4+Ml09Qi5jdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys3Nj4+Ml09MCxkQT1bQi5pbm8+Pj4wLChxQT1CLmlubywrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crODA+PjJdPWRBWzBdLEFBW2crODQ+PjJdPWRBWzFdLDB9LGRvTXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT16LnNsaWNlKEEsQStnKTtpSS5tc3luYyhJLFEsQyxnLEIpfSxkb01rZGlyOmZ1bmN0aW9uKEEsSSl7cmV0dXJuXFxcIi9cXFwiPT09KEE9Qkkubm9ybWFsaXplKEEpKVtBLmxlbmd0aC0xXSYmKEE9QS5zdWJzdHIoMCxBLmxlbmd0aC0xKSksaUkubWtkaXIoQSxJLDApLDB9LGRvTWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3N3aXRjaCg2MTQ0MCZJKXtjYXNlIDMyNzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuLTI4fXJldHVybiBpSS5ta25vZChBLEksZyksMH0sZG9SZWFkbGluazpmdW5jdGlvbihBLEksZyl7aWYoZzw9MClyZXR1cm4tMjg7dmFyIEI9aUkucmVhZGxpbmsoQSksQz1NYXRoLm1pbihnLFcoQikpLFE9dltJK0NdO3JldHVybiB1KEIsSSxnKzEpLHZbSStDXT1RLEN9LGRvQWNjZXNzOmZ1bmN0aW9uKEEsSSl7aWYoLTgmSSlyZXR1cm4tMjg7dmFyIGc7aWYoIShnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZSkpcmV0dXJuLTQ0O3ZhciBCPVxcXCJcXFwiO3JldHVybiA0JkkmJihCKz1cXFwiclxcXCIpLDImSSYmKEIrPVxcXCJ3XFxcIiksMSZJJiYoQis9XFxcInhcXFwiKSxCJiZpSS5ub2RlUGVybWlzc2lvbnMoZyxCKT8tMjowfSxkb0R1cDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkuZ2V0U3RyZWFtKGcpO3JldHVybiBCJiZpSS5jbG9zZShCKSxpSS5vcGVuKEEsSSwwLGcsZykuZmR9LGRvUmVhZHY6ZnVuY3Rpb24oQSxJLGcsQil7Zm9yKHZhciBDPTAsUT0wO1E8ZztRKyspe3ZhciBFPUFBW0krOCpRPj4yXSxpPUFBW0krKDgqUSs0KT4+Ml0sbz1pSS5yZWFkKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO2lmKEMrPW8sbzxpKWJyZWFrfXJldHVybiBDfSxkb1dyaXRldjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLndyaXRlKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO0MrPW99cmV0dXJuIEN9LHZhcmFyZ3M6MCxnZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG9JLnZhcmFyZ3MrPTQsQUFbb0kudmFyYXJncy00Pj4yXX0sZ2V0U3RyOmZ1bmN0aW9uKCl7cmV0dXJuIGYob0kuZ2V0KCkpfSxnZXRTdHJlYW1Gcm9tRkQ6ZnVuY3Rpb24oQSl7dm9pZCAwPT09QSYmKEE9b0kuZ2V0KCkpO3ZhciBJPWlJLmdldFN0cmVhbShBKTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtyZXR1cm4gSX0sZ2V0NjQ6ZnVuY3Rpb24oKXt2YXIgQT1vSS5nZXQoKTtyZXR1cm4gb0kuZ2V0KCksQX0sZ2V0WmVybzpmdW5jdGlvbigpe29JLmdldCgpfX07ZnVuY3Rpb24gREkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cmVhbUZyb21GRCgpO3N3aXRjaChvSS5nZXQoKSl7Y2FzZSAwOnJldHVybihCPW9JLmdldCgpKTwwPy0yODppSS5vcGVuKGcucGF0aCxnLmZsYWdzLDAsQikuZmQ7Y2FzZSAxOmNhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6cmV0dXJuIDA7Y2FzZSAzOnJldHVybiBnLmZsYWdzO2Nhc2UgNDp2YXIgQj1vSS5nZXQoKTtyZXR1cm4gZy5mbGFnc3w9QiwwO2Nhc2UgMTI6cmV0dXJuIEI9b0kuZ2V0KCksX1tCKzA+PjFdPTIsMDtkZWZhdWx0OnJldHVybi0yODtjYXNlIDk6cmV0dXJuIElJKDI4KSwtMX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGFJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHIoKSxCPW9JLmdldCgpLEM9b0kuZ2V0KCk7cmV0dXJuIGlJLm9wZW4oZyxCLEMpLmZkfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiB3SShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCksQj1vSS5nZXQoKTtzd2l0Y2goQil7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1OmNhc2UgMjE1MTA6Y2FzZSAyMTUxMTpjYXNlIDIxNTEyOmNhc2UgMjE1MDY6Y2FzZSAyMTUwNzpjYXNlIDIxNTA4OmNhc2UgMjE1MjM6Y2FzZSAyMTUyNDpyZXR1cm4gZy50dHk/MDotNTk7Y2FzZSAyMTUxOTppZighZy50dHkpcmV0dXJuLTU5O3ZhciBDPW9JLmdldCgpO3JldHVybiBBQVtDPj4yXT0wLDA7Y2FzZSAyMTUyMDpyZXR1cm4gZy50dHk/LTI4Oi01OTtjYXNlIDIxNTMxOnJldHVybiBDPW9JLmdldCgpLGlJLmlvY3RsKGcsQixDKTtkZWZhdWx0OkpBKFxcXCJiYWQgaW9jdGwgc3lzY2FsbCBcXFwiK0IpfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gRkkoQSxJKXtpZigtMT09PUF8fDA9PT1JKXJldHVybi0yODt2YXIgZz1vSS5tYXBwaW5nc1tBXTtpZighZylyZXR1cm4gMDtpZihJPT09Zy5sZW4pe3ZhciBCPWlJLmdldFN0cmVhbShnLmZkKTtvSS5kb01zeW5jKEEsQixJLGcuZmxhZ3MsZy5vZmZzZXQpLGlJLm11bm1hcChCKSxvSS5tYXBwaW5nc1tBXT1udWxsLGcuYWxsb2NhdGVkJiZzQihnLm1hbGxvYyl9cmV0dXJuIDB9ZnVuY3Rpb24gR0koQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3JldHVybiBGSShvSS5nZXQoKSxvSS5nZXQoKSl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGhJKCl7fWZ1bmN0aW9uIHNJKEEpe3RyeXt2YXIgST1vSS5nZXRTdHJlYW1Gcm9tRkQoQSk7cmV0dXJuIGlJLmNsb3NlKEkpLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gUkkoKXtyZXR1cm4gc0kuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIFVJKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1JlYWR2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIHlJKCl7cmV0dXJuIFVJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB0SShBLEksZyxCLEMpe3RyeXt2YXIgUT1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksRT00Mjk0OTY3Mjk2KmcrKEk+Pj4wKSxpPTkwMDcxOTkyNTQ3NDA5OTI7cmV0dXJuIEU8PS1pfHxFPj1pPy02MTooaUkubGxzZWVrKFEsRSxCKSxkQT1bUS5wb3NpdGlvbj4+PjAsKHFBPVEucG9zaXRpb24sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtDPj4yXT1kQVswXSxBQVtDKzQ+PjJdPWRBWzFdLFEuZ2V0ZGVudHMmJjA9PT1FJiYwPT09QiYmKFEuZ2V0ZGVudHM9bnVsbCksMCl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gU0koKXtyZXR1cm4gdEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIE1JKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1dyaXRldihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBuSSgpe3JldHVybiBNSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gY0koQSl7c3dpdGNoKEEpe2Nhc2UgMTpyZXR1cm4gMDtjYXNlIDI6cmV0dXJuIDE7Y2FzZSA0OnJldHVybiAyO2Nhc2UgODpyZXR1cm4gMztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlVua25vd24gdHlwZSBzaXplOiBcXFwiK0EpfX1mdW5jdGlvbiBySSgpe2Zvcih2YXIgQT1uZXcgQXJyYXkoMjU2KSxJPTA7STwyNTY7KytJKUFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShJKTtrST1BfXZhciBrST12b2lkIDA7ZnVuY3Rpb24gS0koQSl7Zm9yKHZhciBJPVxcXCJcXFwiLGc9QTt6W2ddOylJKz1rSVt6W2crK11dO3JldHVybiBJfXZhciBOST17fSxZST17fSxlST17fSxKST00OCxIST01NztmdW5jdGlvbiBMSShBKXtpZih2b2lkIDA9PT1BKXJldHVyblxcXCJfdW5rbm93blxcXCI7dmFyIEk9KEE9QS5yZXBsYWNlKC9bXmEtekEtWjAtOV9dL2csXFxcIiRcXFwiKSkuY2hhckNvZGVBdCgwKTtyZXR1cm4gST49SkkmJkk8PUhJP1xcXCJfXFxcIitBOkF9ZnVuY3Rpb24gcUkoQSxJKXtyZXR1cm4gQT1MSShBKSxuZXcgRnVuY3Rpb24oXFxcImJvZHlcXFwiLFxcXCJyZXR1cm4gZnVuY3Rpb24gXFxcIitBKycoKSB7XFxcXG4gICAgXFxcInVzZSBzdHJpY3RcXFwiOyAgICByZXR1cm4gYm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcXFxufTtcXFxcbicpKEkpfWZ1bmN0aW9uIGRJKEEsSSl7dmFyIGc9cUkoSSwoZnVuY3Rpb24oQSl7dGhpcy5uYW1lPUksdGhpcy5tZXNzYWdlPUE7dmFyIGc9bmV3IEVycm9yKEEpLnN0YWNrO3ZvaWQgMCE9PWcmJih0aGlzLnN0YWNrPXRoaXMudG9TdHJpbmcoKStcXFwiXFxcXG5cXFwiK2cucmVwbGFjZSgvXkVycm9yKDpbXlxcXFxuXSopP1xcXFxuLyxcXFwiXFxcIikpfSkpO3JldHVybiBnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSxnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1nLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMubWVzc2FnZT90aGlzLm5hbWU6dGhpcy5uYW1lK1xcXCI6IFxcXCIrdGhpcy5tZXNzYWdlfSxnfXZhciBmST12b2lkIDA7ZnVuY3Rpb24gbEkoQSl7dGhyb3cgbmV3IGZJKEEpfXZhciB1ST12b2lkIDA7ZnVuY3Rpb24gV0koQSl7dGhyb3cgbmV3IHVJKEEpfWZ1bmN0aW9uIHBJKEEsSSxnKXtmdW5jdGlvbiBCKEkpe3ZhciBCPWcoSSk7Qi5sZW5ndGghPT1BLmxlbmd0aCYmV0koXFxcIk1pc21hdGNoZWQgdHlwZSBjb252ZXJ0ZXIgY291bnRcXFwiKTtmb3IodmFyIEM9MDtDPEEubGVuZ3RoOysrQylaSShBW0NdLEJbQ10pfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7ZUlbQV09SX0pKTt2YXIgQz1uZXcgQXJyYXkoSS5sZW5ndGgpLFE9W10sRT0wO0kuZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtZSS5oYXNPd25Qcm9wZXJ0eShBKT9DW0ldPVlJW0FdOihRLnB1c2goQSksTkkuaGFzT3duUHJvcGVydHkoQSl8fChOSVtBXT1bXSksTklbQV0ucHVzaCgoZnVuY3Rpb24oKXtDW0ldPVlJW0FdLCsrRT09PVEubGVuZ3RoJiZCKEMpfSkpKX0pKSwwPT09US5sZW5ndGgmJkIoQyl9ZnVuY3Rpb24gWkkoQSxJLGcpe2lmKGc9Z3x8e30sIShcXFwiYXJnUGFja0FkdmFuY2VcXFwiaW4gSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwicmVnaXN0ZXJUeXBlIHJlZ2lzdGVyZWRJbnN0YW5jZSByZXF1aXJlcyBhcmdQYWNrQWR2YW5jZVxcXCIpO3ZhciBCPUkubmFtZTtpZihBfHxsSSgndHlwZSBcXFwiJytCKydcXFwiIG11c3QgaGF2ZSBhIHBvc2l0aXZlIGludGVnZXIgdHlwZWlkIHBvaW50ZXInKSxZSS5oYXNPd25Qcm9wZXJ0eShBKSl7aWYoZy5pZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zKXJldHVybjtsSShcXFwiQ2Fubm90IHJlZ2lzdGVyIHR5cGUgJ1xcXCIrQitcXFwiJyB0d2ljZVxcXCIpfWlmKFlJW0FdPUksZGVsZXRlIGVJW0FdLE5JLmhhc093blByb3BlcnR5KEEpKXt2YXIgQz1OSVtBXTtkZWxldGUgTklbQV0sQy5mb3JFYWNoKChmdW5jdGlvbihBKXtBKCl9KSl9fWZ1bmN0aW9uIGJJKEEsSSxnLEIsQyl7dmFyIFE9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4hIUF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9COkN9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6ZnVuY3Rpb24oQSl7dmFyIEI7aWYoMT09PWcpQj12O2Vsc2UgaWYoMj09PWcpQj1fO2Vsc2V7aWYoNCE9PWcpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogXFxcIitJKTtCPUFBfXJldHVybiB0aGlzLmZyb21XaXJlVHlwZShCW0E+PlFdKX0sZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiB4SShJLGcsQil7ST1LSShJKSxwSShbXSxbZ10sKGZ1bmN0aW9uKGcpe3JldHVybiBnPWdbMF0sQVtJXT1nLmZyb21XaXJlVHlwZShCKSxbXX0pKX12YXIgbUk9W10sWEk9W3t9LHt2YWx1ZTp2b2lkIDB9LHt2YWx1ZTpudWxsfSx7dmFsdWU6ITB9LHt2YWx1ZTohMX1dO2Z1bmN0aW9uIFZJKEEpe0E+NCYmMD09LS1YSVtBXS5yZWZjb3VudCYmKFhJW0FdPXZvaWQgMCxtSS5wdXNoKEEpKX1mdW5jdGlvbiBPSSgpe2Zvcih2YXIgQT0wLEk9NTtJPFhJLmxlbmd0aDsrK0kpdm9pZCAwIT09WElbSV0mJisrQTtyZXR1cm4gQX1mdW5jdGlvbiBUSSgpe2Zvcih2YXIgQT01O0E8WEkubGVuZ3RoOysrQSlpZih2b2lkIDAhPT1YSVtBXSlyZXR1cm4gWElbQV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gakkoKXtBLmNvdW50X2VtdmFsX2hhbmRsZXM9T0ksQS5nZXRfZmlyc3RfZW12YWw9VEl9ZnVuY3Rpb24gUEkoQSl7c3dpdGNoKEEpe2Nhc2Ugdm9pZCAwOnJldHVybiAxO2Nhc2UgbnVsbDpyZXR1cm4gMjtjYXNlITA6cmV0dXJuIDM7Y2FzZSExOnJldHVybiA0O2RlZmF1bHQ6dmFyIEk9bUkubGVuZ3RoP21JLnBvcCgpOlhJLmxlbmd0aDtyZXR1cm4gWElbSV09e3JlZmNvdW50OjEsdmFsdWU6QX0sSX19ZnVuY3Rpb24gdkkoQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKElBW0E+PjJdKX1mdW5jdGlvbiB6SShBLEkpe1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEk9WElbQV0udmFsdWU7cmV0dXJuIFZJKEEpLEl9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gUEkoSSl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBfSShBKXtpZihudWxsPT09QSlyZXR1cm5cXFwibnVsbFxcXCI7dmFyIEk9RChBKTtyZXR1cm5cXFwib2JqZWN0XFxcIj09PUl8fFxcXCJhcnJheVxcXCI9PT1JfHxcXFwiZnVuY3Rpb25cXFwiPT09ST9BLnRvU3RyaW5nKCk6XFxcIlxcXCIrQX1mdW5jdGlvbiAkSShBLEkpe3N3aXRjaChJKXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShnQVtBPj4yXSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJBW0E+PjNdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJVbmtub3duIGZsb2F0IHR5cGU6IFxcXCIrQSl9fWZ1bmN0aW9uIEFnKEEsSSxnKXt2YXIgQj1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiBBfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7aWYoXFxcIm51bWJlclxcXCIhPXR5cGVvZiBJJiZcXFwiYm9vbGVhblxcXCIhPXR5cGVvZiBJKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFxcXCInK19JKEkpKydcXFwiIHRvICcrdGhpcy5uYW1lKTtyZXR1cm4gSX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjokSShJLEIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gSWcoQSxJKXtpZighKEEgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlIFxcXCIrRChBKStcXFwiIHdoaWNoIGlzIG5vdCBhIGZ1bmN0aW9uXFxcIik7dmFyIGc9cUkoQS5uYW1lfHxcXFwidW5rbm93bkZ1bmN0aW9uTmFtZVxcXCIsKGZ1bmN0aW9uKCl7fSkpO2cucHJvdG90eXBlPUEucHJvdG90eXBlO3ZhciBCPW5ldyBnLEM9QS5hcHBseShCLEkpO3JldHVybiBDIGluc3RhbmNlb2YgT2JqZWN0P0M6Qn1mdW5jdGlvbiBnZyhBKXtmb3IoO0EubGVuZ3RoOyl7dmFyIEk9QS5wb3AoKTtBLnBvcCgpKEkpfX1mdW5jdGlvbiBCZyhBLEksZyxCLEMpe3ZhciBRPUkubGVuZ3RoO1E8MiYmbEkoXFxcImFyZ1R5cGVzIGFycmF5IHNpemUgbWlzbWF0Y2ghIE11c3QgYXQgbGVhc3QgZ2V0IHJldHVybiB2YWx1ZSBhbmQgJ3RoaXMnIHR5cGVzIVxcXCIpO2Zvcih2YXIgRT1udWxsIT09SVsxXSYmbnVsbCE9PWcsaT0hMSxvPTE7bzxJLmxlbmd0aDsrK28paWYobnVsbCE9PUlbb10mJnZvaWQgMD09PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKXtpPSEwO2JyZWFrfXZhciBEPVxcXCJ2b2lkXFxcIiE9PUlbMF0ubmFtZSxhPVxcXCJcXFwiLHc9XFxcIlxcXCI7Zm9yKG89MDtvPFEtMjsrK28pYSs9KDAhPT1vP1xcXCIsIFxcXCI6XFxcIlxcXCIpK1xcXCJhcmdcXFwiK28sdys9KDAhPT1vP1xcXCIsIFxcXCI6XFxcIlxcXCIpK1xcXCJhcmdcXFwiK28rXFxcIldpcmVkXFxcIjt2YXIgRj1cXFwicmV0dXJuIGZ1bmN0aW9uIFxcXCIrTEkoQSkrXFxcIihcXFwiK2ErXFxcIikge1xcXFxuaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IFxcXCIrKFEtMikrXFxcIikge1xcXFxudGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uIFxcXCIrQStcXFwiIGNhbGxlZCB3aXRoICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBhcmd1bWVudHMsIGV4cGVjdGVkIFxcXCIrKFEtMikrXFxcIiBhcmdzIScpO1xcXFxufVxcXFxuXFxcIjtpJiYoRis9XFxcInZhciBkZXN0cnVjdG9ycyA9IFtdO1xcXFxuXFxcIik7dmFyIEc9aT9cXFwiZGVzdHJ1Y3RvcnNcXFwiOlxcXCJudWxsXFxcIixoPVtcXFwidGhyb3dCaW5kaW5nRXJyb3JcXFwiLFxcXCJpbnZva2VyXFxcIixcXFwiZm5cXFwiLFxcXCJydW5EZXN0cnVjdG9yc1xcXCIsXFxcInJldFR5cGVcXFwiLFxcXCJjbGFzc1BhcmFtXFxcIl0scz1bbEksQixDLGdnLElbMF0sSVsxXV07Zm9yKEUmJihGKz1cXFwidmFyIHRoaXNXaXJlZCA9IGNsYXNzUGFyYW0udG9XaXJlVHlwZShcXFwiK0crXFxcIiwgdGhpcyk7XFxcXG5cXFwiKSxvPTA7bzxRLTI7KytvKUYrPVxcXCJ2YXIgYXJnXFxcIitvK1xcXCJXaXJlZCA9IGFyZ1R5cGVcXFwiK28rXFxcIi50b1dpcmVUeXBlKFxcXCIrRytcXFwiLCBhcmdcXFwiK28rXFxcIik7IC8vIFxcXCIrSVtvKzJdLm5hbWUrXFxcIlxcXFxuXFxcIixoLnB1c2goXFxcImFyZ1R5cGVcXFwiK28pLHMucHVzaChJW28rMl0pO2lmKEUmJih3PVxcXCJ0aGlzV2lyZWRcXFwiKyh3Lmxlbmd0aD4wP1xcXCIsIFxcXCI6XFxcIlxcXCIpK3cpLEYrPShEP1xcXCJ2YXIgcnYgPSBcXFwiOlxcXCJcXFwiKStcXFwiaW52b2tlcihmblxcXCIrKHcubGVuZ3RoPjA/XFxcIiwgXFxcIjpcXFwiXFxcIikrdytcXFwiKTtcXFxcblxcXCIsaSlGKz1cXFwicnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO1xcXFxuXFxcIjtlbHNlIGZvcihvPUU/MToyO288SS5sZW5ndGg7KytvKXt2YXIgUj0xPT09bz9cXFwidGhpc1dpcmVkXFxcIjpcXFwiYXJnXFxcIisoby0yKStcXFwiV2lyZWRcXFwiO251bGwhPT1JW29dLmRlc3RydWN0b3JGdW5jdGlvbiYmKEYrPVIrXFxcIl9kdG9yKFxcXCIrUitcXFwiKTsgLy8gXFxcIitJW29dLm5hbWUrXFxcIlxcXFxuXFxcIixoLnB1c2goUitcXFwiX2R0b3JcXFwiKSxzLnB1c2goSVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24pKX1yZXR1cm4gRCYmKEYrPVxcXCJ2YXIgcmV0ID0gcmV0VHlwZS5mcm9tV2lyZVR5cGUocnYpO1xcXFxucmV0dXJuIHJldDtcXFxcblxcXCIpLEYrPVxcXCJ9XFxcXG5cXFwiLGgucHVzaChGKSxJZyhGdW5jdGlvbixoKS5hcHBseShudWxsLHMpfWZ1bmN0aW9uIENnKEEsSSxnKXtpZih2b2lkIDA9PT1BW0ldLm92ZXJsb2FkVGFibGUpe3ZhciBCPUFbSV07QVtJXT1mdW5jdGlvbigpe3JldHVybiBBW0ldLm92ZXJsb2FkVGFibGUuaGFzT3duUHJvcGVydHkoYXJndW1lbnRzLmxlbmd0aCl8fGxJKFxcXCJGdW5jdGlvbiAnXFxcIitnK1xcXCInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXFxcIithcmd1bWVudHMubGVuZ3RoK1xcXCIpIC0gZXhwZWN0cyBvbmUgb2YgKFxcXCIrQVtJXS5vdmVybG9hZFRhYmxlK1xcXCIpIVxcXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVthcmd1bWVudHMubGVuZ3RoXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LEFbSV0ub3ZlcmxvYWRUYWJsZT1bXSxBW0ldLm92ZXJsb2FkVGFibGVbQi5hcmdDb3VudF09Qn19ZnVuY3Rpb24gUWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSk/KCh2b2lkIDA9PT1CfHx2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGUmJnZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZVtCXSkmJmxJKFxcXCJDYW5ub3QgcmVnaXN0ZXIgcHVibGljIG5hbWUgJ1xcXCIrSStcXFwiJyB0d2ljZVxcXCIpLENnKEEsSSxJKSxBLmhhc093blByb3BlcnR5KEIpJiZsSShcXFwiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXFxcIitCK1xcXCIpIVxcXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nKTooQVtJXT1nLHZvaWQgMCE9PUImJihBW0ldLm51bUFyZ3VtZW50cz1CKSl9ZnVuY3Rpb24gRWcoQSxJKXtmb3IodmFyIGc9W10sQj0wO0I8QTtCKyspZy5wdXNoKEFBWyhJPj4yKStCXSk7cmV0dXJuIGd9ZnVuY3Rpb24gaWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSl8fFdJKFxcXCJSZXBsYWNpbmcgbm9uZXhpc3RhbnQgcHVibGljIHN5bWJvbFxcXCIpLHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09Qj9BW0ldLm92ZXJsb2FkVGFibGVbQl09ZzooQVtJXT1nLEFbSV0uYXJnQ291bnQ9Qil9ZnVuY3Rpb24gb2coSSxnKXt2YXIgQjtpZihJPUtJKEkpLHZvaWQgMCE9PUFbXFxcIkZVTkNUSU9OX1RBQkxFX1xcXCIrSV0pQj1BW1xcXCJGVU5DVElPTl9UQUJMRV9cXFwiK0ldW2ddO2Vsc2UgaWYoXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBGVU5DVElPTl9UQUJMRSlCPUZVTkNUSU9OX1RBQkxFW2ddO2Vsc2V7dmFyIEM9QVtcXFwiZHluQ2FsbF9cXFwiK0ldO3ZvaWQgMD09PUMmJnZvaWQgMD09PShDPUFbXFxcImR5bkNhbGxfXFxcIitJLnJlcGxhY2UoL2YvZyxcXFwiZFxcXCIpXSkmJmxJKFxcXCJObyBkeW5DYWxsIGludm9rZXIgZm9yIHNpZ25hdHVyZTogXFxcIitJKSxCPWZ1bmN0aW9uKEEpe2Zvcih2YXIgQj1bXSxDPTE7QzxJLmxlbmd0aDsrK0MpQi5wdXNoKFxcXCJhXFxcIitDKTt2YXIgUT1cXFwicmV0dXJuIGZ1bmN0aW9uIGR5bkNhbGxfXFxcIitJK1xcXCJfXFxcIitnK1xcXCIoXFxcIitCLmpvaW4oXFxcIiwgXFxcIikrXFxcIikge1xcXFxuXFxcIjtyZXR1cm4gUSs9XFxcIiAgICByZXR1cm4gZHluQ2FsbChyYXdGdW5jdGlvblxcXCIrKEIubGVuZ3RoP1xcXCIsIFxcXCI6XFxcIlxcXCIpK0Iuam9pbihcXFwiLCBcXFwiKStcXFwiKTtcXFxcblxcXCIsUSs9XFxcIn07XFxcXG5cXFwiLG5ldyBGdW5jdGlvbihcXFwiZHluQ2FsbFxcXCIsXFxcInJhd0Z1bmN0aW9uXFxcIixRKShBLGcpfShDKX1yZXR1cm5cXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgQiYmbEkoXFxcInVua25vd24gZnVuY3Rpb24gcG9pbnRlciB3aXRoIHNpZ25hdHVyZSBcXFwiK0krXFxcIjogXFxcIitnKSxCfXZhciBEZz12b2lkIDA7ZnVuY3Rpb24gYWcoQSl7dmFyIEk9d0IoQSksZz1LSShJKTtyZXR1cm4gc0IoSSksZ31mdW5jdGlvbiB3ZyhBLEkpe3ZhciBnPVtdLEI9e307dGhyb3cgSS5mb3JFYWNoKChmdW5jdGlvbiBBKEkpe0JbSV18fFlJW0ldfHwoZUlbSV0/ZUlbSV0uZm9yRWFjaChBKTooZy5wdXNoKEkpLEJbSV09ITApKX0pKSxuZXcgRGcoQStcXFwiOiBcXFwiK2cubWFwKGFnKS5qb2luKFtcXFwiLCBcXFwiXSkpfWZ1bmN0aW9uIEZnKEEsSSxnLEIsQyxRKXt2YXIgRT1FZyhJLGcpO0E9S0koQSksQz1vZyhCLEMpLFFnKEEsKGZ1bmN0aW9uKCl7d2coXFxcIkNhbm5vdCBjYWxsIFxcXCIrQStcXFwiIGR1ZSB0byB1bmJvdW5kIHR5cGVzXFxcIixFKX0pLEktMSkscEkoW10sRSwoZnVuY3Rpb24oZyl7dmFyIEI9W2dbMF0sbnVsbF0uY29uY2F0KGcuc2xpY2UoMSkpO3JldHVybiBpZyhBLEJnKEEsQixudWxsLEMsUSksSS0xKSxbXX0pKX1mdW5jdGlvbiBHZyhBLEksZyl7c3dpdGNoKEkpe2Nhc2UgMDpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gdltBXX06ZnVuY3Rpb24oQSl7cmV0dXJuIHpbQV19O2Nhc2UgMTpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gX1tBPj4xXX06ZnVuY3Rpb24oQSl7cmV0dXJuICRbQT4+MV19O2Nhc2UgMjpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gQUFbQT4+Ml19OmZ1bmN0aW9uKEEpe3JldHVybiBJQVtBPj4yXX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJVbmtub3duIGludGVnZXIgdHlwZTogXFxcIitBKX19ZnVuY3Rpb24gaGcoQSxJLGcsQixDKXtJPUtJKEkpLC0xPT09QyYmKEM9NDI5NDk2NzI5NSk7dmFyIFE9Y0koZyksRT1mdW5jdGlvbihBKXtyZXR1cm4gQX07aWYoMD09PUIpe3ZhciBpPTMyLTgqZztFPWZ1bmN0aW9uKEEpe3JldHVybiBBPDxpPj4+aX19dmFyIG89LTEhPUkuaW5kZXhPZihcXFwidW5zaWduZWRcXFwiKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOkUsdG9XaXJlVHlwZTpmdW5jdGlvbihBLGcpe2lmKFxcXCJudW1iZXJcXFwiIT10eXBlb2YgZyYmXFxcImJvb2xlYW5cXFwiIT10eXBlb2YgZyl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcXFwiJytfSShnKSsnXFxcIiB0byAnK3RoaXMubmFtZSk7aWYoZzxCfHxnPkMpdGhyb3cgbmV3IFR5cGVFcnJvcignUGFzc2luZyBhIG51bWJlciBcXFwiJytfSShnKSsnXFxcIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlIFxcXCInK0krJ1xcXCIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0IrXFxcIiwgXFxcIitDK1xcXCJdIVxcXCIpO3JldHVybiBvP2c+Pj4wOjB8Z30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpHZyhJLFEsMCE9PUIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gc2coQSxJLGcpe3ZhciBCPVtJbnQ4QXJyYXksVWludDhBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheV1bSV07ZnVuY3Rpb24gQyhBKXt2YXIgST1JQSxnPUlbQT4+PTJdLEM9SVtBKzFdO3JldHVybiBuZXcgQihJLmJ1ZmZlcixDLGcpfVpJKEEse25hbWU6Zz1LSShnKSxmcm9tV2lyZVR5cGU6QyxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkN9LHtpZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zOiEwfSl9ZnVuY3Rpb24gUmcoQSxJKXt2YXIgZz1cXFwic3RkOjpzdHJpbmdcXFwiPT09KEk9S0koSSkpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEksQj1JQVtBPj4yXTtpZihnKXt2YXIgQz16W0ErNCtCXSxRPTA7MCE9QyYmKFE9Qyx6W0ErNCtCXT0wKTtmb3IodmFyIEU9QSs0LGk9MDtpPD1COysraSl7dmFyIG89QSs0K2k7aWYoMD09eltvXSl7dmFyIEQ9ZihFKTt2b2lkIDA9PT1JP0k9RDooSSs9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxJKz1EKSxFPW8rMX19MCE9USYmKHpbQSs0K0JdPVEpfWVsc2V7dmFyIGE9bmV3IEFycmF5KEIpO2ZvcihpPTA7aTxCOysraSlhW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUoeltBKzQraV0pO0k9YS5qb2luKFxcXCJcXFwiKX1yZXR1cm4gc0IoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe0kgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKEk9bmV3IFVpbnQ4QXJyYXkoSSkpO3ZhciBCPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgSTtCfHxJIGluc3RhbmNlb2YgVWludDhBcnJheXx8SSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxJIGluc3RhbmNlb2YgSW50OEFycmF5fHxsSShcXFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZ1xcXCIpO3ZhciBDPShnJiZCP2Z1bmN0aW9uKCl7cmV0dXJuIFcoSSl9OmZ1bmN0aW9uKCl7cmV0dXJuIEkubGVuZ3RofSkoKSxRPVJCKDQrQysxKTtpZihJQVtRPj4yXT1DLGcmJkIpdShJLFErNCxDKzEpO2Vsc2UgaWYoQilmb3IodmFyIEU9MDtFPEM7KytFKXt2YXIgaT1JLmNoYXJDb2RlQXQoRSk7aT4yNTUmJihzQihRKSxsSShcXFwiU3RyaW5nIGhhcyBVVEYtMTYgY29kZSB1bml0cyB0aGF0IGRvIG5vdCBmaXQgaW4gOCBiaXRzXFxcIikpLHpbUSs0K0VdPWl9ZWxzZSBmb3IoRT0wO0U8QzsrK0UpeltRKzQrRV09SVtFXTtyZXR1cm4gbnVsbCE9PUEmJkEucHVzaChzQixRKSxRfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiBVZyhBLEksZyl7dmFyIEIsQyxRLEUsaTtnPUtJKGcpLDI9PT1JPyhCPVosQz1iLEU9eCxRPWZ1bmN0aW9uKCl7cmV0dXJuICR9LGk9MSk6ND09PUkmJihCPW0sQz1YLEU9VixRPWZ1bmN0aW9uKCl7cmV0dXJuIElBfSxpPTIpLFpJKEEse25hbWU6Zyxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIGcsQz1JQVtBPj4yXSxFPVEoKSxvPUVbQSs0K0MqST4+aV0sRD0wOzAhPW8mJihEPW8sRVtBKzQrQypJPj5pXT0wKTtmb3IodmFyIGE9QSs0LHc9MDt3PD1DOysrdyl7dmFyIEY9QSs0K3cqSTtpZigwPT1FW0Y+PmldKXt2YXIgRz1CKGEpO3ZvaWQgMD09PWc/Zz1HOihnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLGcrPUcpLGE9RitJfX1yZXR1cm4gMCE9RCYmKEVbQSs0K0MqST4+aV09RCksc0IoQSksZ30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEIpe1xcXCJzdHJpbmdcXFwiIT10eXBlb2YgQiYmbEkoXFxcIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gQysrIHN0cmluZyB0eXBlIFxcXCIrZyk7dmFyIFE9RShCKSxvPVJCKDQrUStJKTtyZXR1cm4gSUFbbz4+Ml09UT4+aSxDKEIsbys0LFErSSksbnVsbCE9PUEmJkEucHVzaChzQixvKSxvfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiB5ZyhBLEkpe1pJKEEse2lzVm9pZDohMCxuYW1lOkk9S0koSSksYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXt9fSl9ZnVuY3Rpb24gdGcoKXtKQSgpfWZ1bmN0aW9uIFNnKCl7cmV0dXJuIHoubGVuZ3RofWZ1bmN0aW9uIE1nKEEpe0pBKFxcXCJPT01cXFwiKX1mdW5jdGlvbiBuZyhBKXtNZygpfWZ1bmN0aW9uIGNnKEEpe2VCKEEpfWZ1bmN0aW9uIHJnKEEpe3JldHVybiAwPT09QT8wOihBPWYoQSksakEuaGFzT3duUHJvcGVydHkoQSk/KHJnLnJldCYmc0IocmcucmV0KSxyZy5yZXQ9TyhqQVtBXSkscmcucmV0KTowKX1mdW5jdGlvbiBrZyhBKXt2YXIgST1EYXRlLm5vdygpO3JldHVybiBBQVtBPj4yXT1JLzFlM3wwLEFBW0ErND4+Ml09SSUxZTMqMWUzfDAsMH1mdW5jdGlvbiBLZyhBKXtyZXR1cm4gTWF0aC5wb3coMixBKX1mdW5jdGlvbiBOZyhBKXt2YXIgST1ZZyxnPUkuTExWTV9TQVZFRFNUQUNLU1tBXTtJLkxMVk1fU0FWRURTVEFDS1Muc3BsaWNlKEEsMSkseUIoZyl9ZnVuY3Rpb24gWWcoKXt2YXIgQT1ZZztyZXR1cm4gQS5MTFZNX1NBVkVEU1RBQ0tTfHwoQS5MTFZNX1NBVkVEU1RBQ0tTPVtdKSxBLkxMVk1fU0FWRURTVEFDS1MucHVzaCh0QigpKSxBLkxMVk1fU0FWRURTVEFDS1MubGVuZ3RoLTF9dmFyIGVnPTYxMTM2O2Z1bmN0aW9uIEpnKCl7aWYoIUpnLmNhbGxlZCl7SmcuY2FsbGVkPSEwLEFBW0dCKCk+PjJdPTYwKihuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgQT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCksST1uZXcgRGF0ZShBLDAsMSksZz1uZXcgRGF0ZShBLDYsMSk7QUFbRkIoKT4+Ml09TnVtYmVyKEkuZ2V0VGltZXpvbmVPZmZzZXQoKSE9Zy5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgQj1pKEkpLEM9aShnKSxRPU8oQiksRT1PKEMpO2cuZ2V0VGltZXpvbmVPZmZzZXQoKTxJLmdldFRpbWV6b25lT2Zmc2V0KCk/KEFBW2hCKCk+PjJdPVEsQUFbaEIoKSs0Pj4yXT1FKTooQUFbaEIoKT4+Ml09RSxBQVtoQigpKzQ+PjJdPVEpfWZ1bmN0aW9uIGkoQSl7dmFyIEk9QS50b1RpbWVTdHJpbmcoKS5tYXRjaCgvXFxcXCgoW0EtWmEteiBdKylcXFxcKSQvKTtyZXR1cm4gST9JWzFdOlxcXCJHTVRcXFwifX1mdW5jdGlvbiBIZyhBLEkpe0pnKCk7dmFyIGc9bmV3IERhdGUoMWUzKkFBW0E+PjJdKTtBQVtJPj4yXT1nLmdldFNlY29uZHMoKSxBQVtJKzQ+PjJdPWcuZ2V0TWludXRlcygpLEFBW0krOD4+Ml09Zy5nZXRIb3VycygpLEFBW0krMTI+PjJdPWcuZ2V0RGF0ZSgpLEFBW0krMTY+PjJdPWcuZ2V0TW9udGgoKSxBQVtJKzIwPj4yXT1nLmdldEZ1bGxZZWFyKCktMTkwMCxBQVtJKzI0Pj4yXT1nLmdldERheSgpO3ZhciBCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSwwLDEpLEM9KGcuZ2V0VGltZSgpLUIuZ2V0VGltZSgpKS84NjRlNXwwO0FBW0krMjg+PjJdPUMsQUFbSSszNj4+Ml09LTYwKmcuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgUT1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksNiwxKS5nZXRUaW1lem9uZU9mZnNldCgpLEU9Qi5nZXRUaW1lem9uZU9mZnNldCgpLGk9MHwoUSE9RSYmZy5nZXRUaW1lem9uZU9mZnNldCgpPT1NYXRoLm1pbihFLFEpKTtBQVtJKzMyPj4yXT1pO3ZhciBvPUFBW2hCKCkrKGk/NDowKT4+Ml07cmV0dXJuIEFBW0krNDA+PjJdPW8sSX1mdW5jdGlvbiBMZyhBKXtyZXR1cm4gSGcoQSxlZyl9ZnVuY3Rpb24gcWcoQSxJKXt0aHJvdyBVQihBLEl8fDEpLFxcXCJsb25nam1wXFxcIn1mdW5jdGlvbiBkZyhBLEksZyl7ei5zZXQoei5zdWJhcnJheShJLEkrZyksQSl9ZnVuY3Rpb24gZmcoQSl7cmV0dXJuIEElND09MCYmKEElMTAwIT0wfHxBJTQwMD09MCl9ZnVuY3Rpb24gbGcoQSxJKXtmb3IodmFyIGc9MCxCPTA7Qjw9STtnKz1BW0IrK10pO3JldHVybiBnfXUoXFxcIkdNVFxcXCIsNjExODQsNCk7dmFyIHVnPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sV2c9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXTtmdW5jdGlvbiBwZyhBLEkpe2Zvcih2YXIgZz1uZXcgRGF0ZShBLmdldFRpbWUoKSk7ST4wOyl7dmFyIEI9ZmcoZy5nZXRGdWxsWWVhcigpKSxDPWcuZ2V0TW9udGgoKSxRPShCP3VnOldnKVtDXTtpZighKEk+US1nLmdldERhdGUoKSkpcmV0dXJuIGcuc2V0RGF0ZShnLmdldERhdGUoKStJKSxnO0ktPVEtZy5nZXREYXRlKCkrMSxnLnNldERhdGUoMSksQzwxMT9nLnNldE1vbnRoKEMrMSk6KGcuc2V0TW9udGgoMCksZy5zZXRGdWxsWWVhcihnLmdldEZ1bGxZZWFyKCkrMSkpfXJldHVybiBnfWZ1bmN0aW9uIFpnKEEsSSxnLEIpe3ZhciBDPUFBW0IrNDA+PjJdLFE9e3RtX3NlYzpBQVtCPj4yXSx0bV9taW46QUFbQis0Pj4yXSx0bV9ob3VyOkFBW0IrOD4+Ml0sdG1fbWRheTpBQVtCKzEyPj4yXSx0bV9tb246QUFbQisxNj4+Ml0sdG1feWVhcjpBQVtCKzIwPj4yXSx0bV93ZGF5OkFBW0IrMjQ+PjJdLHRtX3lkYXk6QUFbQisyOD4+Ml0sdG1faXNkc3Q6QUFbQiszMj4+Ml0sdG1fZ210b2ZmOkFBW0IrMzY+PjJdLHRtX3pvbmU6Qz9mKEMpOlxcXCJcXFwifSxFPWYoZyksaT17XFxcIiVjXFxcIjpcXFwiJWEgJWIgJWQgJUg6JU06JVMgJVlcXFwiLFxcXCIlRFxcXCI6XFxcIiVtLyVkLyV5XFxcIixcXFwiJUZcXFwiOlxcXCIlWS0lbS0lZFxcXCIsXFxcIiVoXFxcIjpcXFwiJWJcXFwiLFxcXCIlclxcXCI6XFxcIiVJOiVNOiVTICVwXFxcIixcXFwiJVJcXFwiOlxcXCIlSDolTVxcXCIsXFxcIiVUXFxcIjpcXFwiJUg6JU06JVNcXFwiLFxcXCIleFxcXCI6XFxcIiVtLyVkLyV5XFxcIixcXFwiJVhcXFwiOlxcXCIlSDolTTolU1xcXCIsXFxcIiVFY1xcXCI6XFxcIiVjXFxcIixcXFwiJUVDXFxcIjpcXFwiJUNcXFwiLFxcXCIlRXhcXFwiOlxcXCIlbS8lZC8leVxcXCIsXFxcIiVFWFxcXCI6XFxcIiVIOiVNOiVTXFxcIixcXFwiJUV5XFxcIjpcXFwiJXlcXFwiLFxcXCIlRVlcXFwiOlxcXCIlWVxcXCIsXFxcIiVPZFxcXCI6XFxcIiVkXFxcIixcXFwiJU9lXFxcIjpcXFwiJWVcXFwiLFxcXCIlT0hcXFwiOlxcXCIlSFxcXCIsXFxcIiVPSVxcXCI6XFxcIiVJXFxcIixcXFwiJU9tXFxcIjpcXFwiJW1cXFwiLFxcXCIlT01cXFwiOlxcXCIlTVxcXCIsXFxcIiVPU1xcXCI6XFxcIiVTXFxcIixcXFwiJU91XFxcIjpcXFwiJXVcXFwiLFxcXCIlT1VcXFwiOlxcXCIlVVxcXCIsXFxcIiVPVlxcXCI6XFxcIiVWXFxcIixcXFwiJU93XFxcIjpcXFwiJXdcXFwiLFxcXCIlT1dcXFwiOlxcXCIlV1xcXCIsXFxcIiVPeVxcXCI6XFxcIiV5XFxcIn07Zm9yKHZhciBvIGluIGkpRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChvLFxcXCJnXFxcIiksaVtvXSk7dmFyIEQ9W1xcXCJTdW5kYXlcXFwiLFxcXCJNb25kYXlcXFwiLFxcXCJUdWVzZGF5XFxcIixcXFwiV2VkbmVzZGF5XFxcIixcXFwiVGh1cnNkYXlcXFwiLFxcXCJGcmlkYXlcXFwiLFxcXCJTYXR1cmRheVxcXCJdLGE9W1xcXCJKYW51YXJ5XFxcIixcXFwiRmVicnVhcnlcXFwiLFxcXCJNYXJjaFxcXCIsXFxcIkFwcmlsXFxcIixcXFwiTWF5XFxcIixcXFwiSnVuZVxcXCIsXFxcIkp1bHlcXFwiLFxcXCJBdWd1c3RcXFwiLFxcXCJTZXB0ZW1iZXJcXFwiLFxcXCJPY3RvYmVyXFxcIixcXFwiTm92ZW1iZXJcXFwiLFxcXCJEZWNlbWJlclxcXCJdO2Z1bmN0aW9uIHcoQSxJLGcpe2Zvcih2YXIgQj1cXFwibnVtYmVyXFxcIj09dHlwZW9mIEE/QS50b1N0cmluZygpOkF8fFxcXCJcXFwiO0IubGVuZ3RoPEk7KUI9Z1swXStCO3JldHVybiBCfWZ1bmN0aW9uIEYoQSxJKXtyZXR1cm4gdyhBLEksXFxcIjBcXFwiKX1mdW5jdGlvbiBHKEEsSSl7ZnVuY3Rpb24gZyhBKXtyZXR1cm4gQTwwPy0xOkE+MD8xOjB9dmFyIEI7cmV0dXJuIDA9PT0oQj1nKEEuZ2V0RnVsbFllYXIoKS1JLmdldEZ1bGxZZWFyKCkpKSYmMD09PShCPWcoQS5nZXRNb250aCgpLUkuZ2V0TW9udGgoKSkpJiYoQj1nKEEuZ2V0RGF0ZSgpLUkuZ2V0RGF0ZSgpKSksQn1mdW5jdGlvbiBoKEEpe3N3aXRjaChBLmdldERheSgpKXtjYXNlIDA6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDI5KTtjYXNlIDE6cmV0dXJuIEE7Y2FzZSAyOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwzKTtjYXNlIDM6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDIpO2Nhc2UgNDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMSk7Y2FzZSA1OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMSk7Y2FzZSA2OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMCl9fWZ1bmN0aW9uIHMoQSl7dmFyIEk9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpLGc9bmV3IERhdGUoSS5nZXRGdWxsWWVhcigpLDAsNCksQj1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCkrMSwwLDQpLEM9aChnKSxRPWgoQik7cmV0dXJuIEcoQyxJKTw9MD9HKFEsSSk8PTA/SS5nZXRGdWxsWWVhcigpKzE6SS5nZXRGdWxsWWVhcigpOkkuZ2V0RnVsbFllYXIoKS0xfXZhciBSPXtcXFwiJWFcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBEW0EudG1fd2RheV0uc3Vic3RyaW5nKDAsMyl9LFxcXCIlQVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XX0sXFxcIiViXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl0uc3Vic3RyaW5nKDAsMyl9LFxcXCIlQlxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIGFbQS50bV9tb25dfSxcXFwiJUNcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKChBLnRtX3llYXIrMTkwMCkvMTAwfDAsMil9LFxcXCIlZFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5LDIpfSxcXFwiJWVcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiB3KEEudG1fbWRheSwyLFxcXCIgXFxcIil9LFxcXCIlZ1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFxcXCIlR1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSl9LFxcXCIlSFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9ob3VyLDIpfSxcXFwiJUlcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1faG91cjtyZXR1cm4gMD09ST9JPTEyOkk+MTImJihJLT0xMiksRihJLDIpfSxcXFwiJWpcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWRheStsZyhmZyhBLnRtX3llYXIrMTkwMCk/dWc6V2csQS50bV9tb24tMSksMyl9LFxcXCIlbVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tb24rMSwyKX0sXFxcIiVNXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21pbiwyKX0sXFxcIiVuXFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCJcXFxcblxcXCJ9LFxcXCIlcFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1faG91cj49MCYmQS50bV9ob3VyPDEyP1xcXCJBTVxcXCI6XFxcIlBNXFxcIn0sXFxcIiVTXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX3NlYywyKX0sXFxcIiV0XFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCJcXFxcdFxcXCJ9LFxcXCIldVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fd2RheXx8N30sXFxcIiVVXFxcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLGc9MD09PUkuZ2V0RGF5KCk/STpwZyhJLDctSS5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XFxcIjAxXFxcIjpcXFwiMDBcXFwifSxcXFwiJVZcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJLGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCw0KSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAxLDAsNCksQz1oKGcpLFE9aChCKSxFPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KTtyZXR1cm4gRyhFLEMpPDA/XFxcIjUzXFxcIjpHKFEsRSk8PTA/XFxcIjAxXFxcIjooST1DLmdldEZ1bGxZZWFyKCk8QS50bV95ZWFyKzE5MDA/QS50bV95ZGF5KzMyLUMuZ2V0RGF0ZSgpOkEudG1feWRheSsxLUMuZ2V0RGF0ZSgpLEYoTWF0aC5jZWlsKEkvNyksMikpfSxcXFwiJXdcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl9LFxcXCIlV1xcXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyLDAsMSksZz0xPT09SS5nZXREYXkoKT9JOnBnKEksMD09PUkuZ2V0RGF5KCk/MTo3LUkuZ2V0RGF5KCkrMSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XFxcIjAxXFxcIjpcXFwiMDBcXFwifSxcXFwiJXlcXFwiOmZ1bmN0aW9uKEEpe3JldHVybihBLnRtX3llYXIrMTkwMCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFxcXCIlWVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1feWVhcisxOTAwfSxcXFwiJXpcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1fZ210b2ZmLGc9ST49MDtyZXR1cm4gST0oST1NYXRoLmFicyhJKS82MCkvNjAqMTAwK0klNjAsKGc/XFxcIitcXFwiOlxcXCItXFxcIikrU3RyaW5nKFxcXCIwMDAwXFxcIitJKS5zbGljZSgtNCl9LFxcXCIlWlxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fem9uZX0sXFxcIiUlXFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCIlXFxcIn19O2Zvcih2YXIgbyBpbiBSKUUuaW5kZXhPZihvKT49MCYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcXFwiZ1xcXCIpLFJbb10oUSkpKTt2YXIgVT1YZyhFLCExKTtyZXR1cm4gVS5sZW5ndGg+ST8wOihUKFUsQSksVS5sZW5ndGgtMSl9ZnVuY3Rpb24gYmcoQSxJLGcsQil7cmV0dXJuIFpnKEEsSSxnLEIpfWZ1bmN0aW9uIHhnKEEpe3ZhciBJPURhdGUubm93KCkvMWUzfDA7cmV0dXJuIEEmJihBQVtBPj4yXT1JKSxJfWlJLnN0YXRpY0luaXQoKSxySSgpLGZJPUEuQmluZGluZ0Vycm9yPWRJKEVycm9yLFxcXCJCaW5kaW5nRXJyb3JcXFwiKSx1ST1BLkludGVybmFsRXJyb3I9ZEkoRXJyb3IsXFxcIkludGVybmFsRXJyb3JcXFwiKSxqSSgpLERnPUEuVW5ib3VuZFR5cGVFcnJvcj1kSShFcnJvcixcXFwiVW5ib3VuZFR5cGVFcnJvclxcXCIpO3ZhciBtZz0hMTtmdW5jdGlvbiBYZyhBLEksZyl7dmFyIEI9Zz4wP2c6VyhBKSsxLEM9bmV3IEFycmF5KEIpLFE9bChBLEMsMCxDLmxlbmd0aCk7cmV0dXJuIEkmJihDLmxlbmd0aD1RKSxDfWZ1bmN0aW9uIFZnKEEpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLmxlbmd0aDtnKyspe3ZhciBCPUFbZ107Qj4yNTUmJihtZyYmSCghMSxcXFwiQ2hhcmFjdGVyIGNvZGUgXFxcIitCK1xcXCIgKFxcXCIrU3RyaW5nLmZyb21DaGFyQ29kZShCKStcXFwiKSAgYXQgb2Zmc2V0IFxcXCIrZytcXFwiIG5vdCBpbiAweDAwLTB4RkYuXFxcIiksQiY9MjU1KSxJLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShCKSl9cmV0dXJuIEkuam9pbihcXFwiXFxcIil9dmFyIE9nPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBhdG9iP2F0b2I6ZnVuY3Rpb24oQSl7dmFyIEksZyxCLEMsUSxFLGk9XFxcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XFxcIixvPVxcXCJcXFwiLEQ9MDtBPUEucmVwbGFjZSgvW15BLVphLXowLTlcXFxcK1xcXFwvXFxcXD1dL2csXFxcIlxcXCIpO2Rve0k9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpPDwyfChDPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSk+PjQsZz0oMTUmQyk8PDR8KFE9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+MixCPSgzJlEpPDw2fChFPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSksbys9U3RyaW5nLmZyb21DaGFyQ29kZShJKSw2NCE9PVEmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGcpKSw2NCE9PUUmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX13aGlsZShEPEEubGVuZ3RoKTtyZXR1cm4gb307ZnVuY3Rpb24gVGcoQSl7aWYoXFxcImJvb2xlYW5cXFwiPT10eXBlb2YgdyYmdyl7dmFyIEk7dHJ5e0k9QnVmZmVyLmZyb20oQSxcXFwiYmFzZTY0XFxcIil9Y2F0Y2goZyl7ST1uZXcgQnVmZmVyKEEsXFxcImJhc2U2NFxcXCIpfXJldHVybiBuZXcgVWludDhBcnJheShJLmJ1ZmZlcixJLmJ5dGVPZmZzZXQsSS5ieXRlTGVuZ3RoKX10cnl7Zm9yKHZhciBnPU9nKEEpLEI9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpLEM9MDtDPGcubGVuZ3RoOysrQylCW0NdPWcuY2hhckNvZGVBdChDKTtyZXR1cm4gQn1jYXRjaChBKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkNvbnZlcnRpbmcgYmFzZTY0IHN0cmluZyB0byBieXRlcyBmYWlsZWQuXFxcIil9fWZ1bmN0aW9uIGpnKEEpe2lmKExBKEEpKXJldHVybiBUZyhBLnNsaWNlKEhBLmxlbmd0aCkpfWZ1bmN0aW9uIFBnKEEsSSl7dmFyIGc9dEIoKTt0cnl7cmV0dXJuIFNCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHZnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyZXR1cm4gTUIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlxcXCJsb25nam1wXFxcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB6ZyhBLEksZyxCKXt2YXIgQz10QigpO3RyeXtyZXR1cm4gbkIoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIF9nKEEsSSl7dmFyIGc9dEIoKTt0cnl7Y0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gJGcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JCKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gQUIoQSxJLGcsQil7dmFyIEM9dEIoKTt0cnl7a0IoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIElCKEEsSSxnLEIsQyl7dmFyIFE9dEIoKTt0cnl7S0IoQSxJLGcsQixDKX1jYXRjaChBKXtpZih5QihRKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19dmFyIGdCPXt9LEJCPXskOnZBLGY6ekEsZTokQSxBOkFJLF86Z0ksejpESSxaOmFJLFk6d0ksWDpHSSxvOmhJLHk6UkksVzp5SSxEOlNJLFY6bkksVTpiSSx4OnhJLFQ6ekksdzpBZyxqOkZnLGs6aGcsaTpzZyx2OlJnLHM6VWcsUzp5ZyxfX21lbW9yeV9iYXNlOjEwMjQsX190YWJsZV9iYXNlOjAsYTp0ZyxSOm1BLFE6eEEsUDpiQSxPOlpBLE46WEEsTTpTZyxLOmRnLEo6bmcsYjpjZyxuOnJnLHU6a2csSTpLZyxtOk5nLGw6WWcsSDpMZyxnOnFnLEY6WmcsRTpiZyx0OnhnLGM6SkEsaDpZLHE6UGcsTDp2ZyxHOnpnLHA6X2csQzokZyxCOkFCLHI6SUIsbWVtb3J5OnIsZDpOLHRhYmxlOmV9LENCPUEuYXNtKGdCLEJCLFApO0EuYXNtPUNCO3ZhciBRQixFQj1BLl9fR0xPQkFMX19zdWJfSV9BUlRvb2xLaXRKU19jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpQj1BLl9fR0xPQkFMX19zdWJfSV9iaW5kX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5iYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9CPUEuX19HTE9CQUxfX3N1Yl9JX2lvc3RyZWFtX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5jYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERCPUEuX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhQj0oQS5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksd0I9KEEuX19fZXJybm9fbG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2dldFR5cGVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEZCPUEuX19nZXRfZGF5bGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHQj1BLl9fZ2V0X3RpbWV6b25lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saEI9QS5fX2dldF90em5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ua2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzQj1BLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUkI9QS5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVUI9QS5fc2V0VGhyZXc9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5Qj0oQS5zdGFja0FsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5zdGFja1Jlc3RvcmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uU2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksdEI9QS5zdGFja1NhdmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uVGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTQj0oQS5keW5DYWxsX2RpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2RpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5wYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9pPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLE1CPShBLmR5bkNhbGxfaWlkaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5zYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksbkI9QS5keW5DYWxsX2lpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjQj0oQS5keW5DYWxsX2lpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS53YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS55YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5CYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWo9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5EYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHJCPShBLmR5bkNhbGxfdmlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5IYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksa0I9KEEuZHluQ2FsbF92aWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uS2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5MYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxLQj1BLmR5bkNhbGxfdmlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiBOQihBKXt0aGlzLm5hbWU9XFxcIkV4aXRTdGF0dXNcXFwiLHRoaXMubWVzc2FnZT1cXFwiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdChcXFwiK0ErXFxcIilcXFwiLHRoaXMuc3RhdHVzPUF9ZnVuY3Rpb24gWUIoSSl7ZnVuY3Rpb24gZygpe1FCfHwoUUI9ITAsSnx8KFJBKCksVUEoKSxBLm9uUnVudGltZUluaXRpYWxpemVkJiZBLm9uUnVudGltZUluaXRpYWxpemVkKCkseUEoKSkpfUk9SXx8QyxrQT4wfHwoc0EoKSxrQT4wfHwoQS5zZXRTdGF0dXM/KEEuc2V0U3RhdHVzKFxcXCJSdW5uaW5nLi4uXFxcIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe0Euc2V0U3RhdHVzKFxcXCJcXFwiKX0pLDEpLGcoKX0pLDEpKTpnKCkpKX1mdW5jdGlvbiBlQihJLGcpe2cmJmMmJjA9PT1JfHwoY3x8KEo9ITAsQS5vbkV4aXQmJkEub25FeGl0KEkpKSxFKEksbmV3IE5CKEkpKSl9aWYoQS5keW5DYWxsX3ZpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5OYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlBhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWppaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5RYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuYXNtPUNCLEEuRlM9aUksQS50aGVuPWZ1bmN0aW9uKEkpe2lmKFFCKUkoQSk7ZWxzZXt2YXIgZz1BLm9uUnVudGltZUluaXRpYWxpemVkO0Eub25SdW50aW1lSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtnJiZnKCksSShBKX19cmV0dXJuIEF9LE5BPWZ1bmN0aW9uIEEoKXtRQnx8WUIoKSxRQnx8KE5BPUEpfSxBLnJ1bj1ZQixBLnByZUluaXQpZm9yKFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLnByZUluaXQmJihBLnByZUluaXQ9W0EucHJlSW5pdF0pO0EucHJlSW5pdC5sZW5ndGg+MDspQS5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIGM9ITAsWUIoKSxBfSk7Y29uc3QgRj13LEc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0Yoe29uUnVudGltZUluaXRpYWxpemVkOmZ1bmN0aW9uKCl7QSh7aW5zdGFuY2U6dGhpc30pfX0pfSkpfTt2YXIgaD1nKDY2OSkscz1nLm4oaCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSl9dmFyIGc7cmV0dXJuIEUoQSxudWxsLFt7a2V5OlxcXCJmZXRjaFJlbW90ZURhdGFcXFwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5wcmV2PTAsQS5uZXh0PTMscygpLmdldChJLHtyZXNwb25zZVR5cGU6XFxcImFycmF5YnVmZmVyXFxcIn0pO2Nhc2UgMzpyZXR1cm4gZz1BLnNlbnQsQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsbmV3IFVpbnQ4QXJyYXkoZy5kYXRhKSk7Y2FzZSA3OnRocm93IEEucHJldj03LEEudDA9QS5jYXRjaCgwKSxBLnQwO2Nhc2UgMTA6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLG51bGwsW1swLDddXSl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJzdHJpbmcyVWludDhEYXRhXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtmb3IodmFyIEk9bmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpLGc9MDtnPEkubGVuZ3RoO2crKylJW2ddPTI1NSZBLmNoYXJDb2RlQXQoZyk7cmV0dXJuIEl9fSx7a2V5OlxcXCJ1aW50OERhdGEyU3RyaW5nXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsQSl9fSx7a2V5OlxcXCJwYXJzZU11bHRpRmlsZVxcXCIsdmFsdWU6ZnVuY3Rpb24oSSl7dmFyIGc9QS51aW50OERhdGEyU3RyaW5nKEkpLnNwbGl0KFxcXCJcXFxcblxcXCIpLEI9W10sQz0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lmKChBPUEudHJpbSgpKSYmIUEuc3RhcnRzV2l0aChcXFwiI1xcXCIpKXN3aXRjaChDKXtjYXNlIDA6cmV0dXJuIHZvaWQoQz0xKTtjYXNlIDE6QS5tYXRjaCgvXlxcXFxkKyQvKXx8Qi5wdXNoKEEpO2Nhc2UgMjpjYXNlIDM6Y2FzZSA0OnJldHVybiB2b2lkIEMrKztjYXNlIDU6cmV0dXJuIHZvaWQoQz0xKX19KSksQn19XSksQX0oKSxVPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKSx0aGlzLmluc3RhbmNlLHRoaXMubWFya2VyQ291bnQ9MCx0aGlzLm11bHRpTWFya2VyQ291bnQ9MCx0aGlzLmNhbWVyYUNvdW50PTAsdGhpcy52ZXJzaW9uPVxcXCIwLjEuMFxcXCIsY29uc29sZS5pbmZvKFxcXCJBUlRvb2xraXQgXFxcIix0aGlzLnZlcnNpb24pfXZhciBCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcXFwiaW5pdFxcXCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLEcoKTtjYXNlIDI6cmV0dXJuIEk9QS5zZW50LHRoaXMuaW5zdGFuY2U9SS5pbnN0YW5jZSx0aGlzLl9kZWNvcmF0ZSgpLChcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6Zy5nKS5hcnRvb2xraXQ9dGhpcyxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzKTtjYXNlIDg6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJfZGVjb3JhdGVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcztmb3IodmFyIEkgaW5bXFxcInNldHVwXFxcIixcXFwidGVhcmRvd25cXFwiLFxcXCJzZXR1cEFSMlxcXCIsXFxcInNldExvZ0xldmVsXFxcIixcXFwiZ2V0TG9nTGV2ZWxcXFwiLFxcXCJzZXREZWJ1Z01vZGVcXFwiLFxcXCJnZXREZWJ1Z01vZGVcXFwiLFxcXCJnZXRQcm9jZXNzaW5nSW1hZ2VcXFwiLFxcXCJzZXRNYXJrZXJJbmZvRGlyXFxcIixcXFwic2V0TWFya2VySW5mb1ZlcnRleFxcXCIsXFxcImdldFRyYW5zTWF0U3F1YXJlXFxcIixcXFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XFxcIixcXFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVxcXCIsXFxcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3RcXFwiLFxcXCJnZXRNdWx0aU1hcmtlck51bVxcXCIsXFxcImdldE11bHRpTWFya2VyQ291bnRcXFwiLFxcXCJkZXRlY3RNYXJrZXJcXFwiLFxcXCJnZXRNYXJrZXJOdW1cXFwiLFxcXCJkZXRlY3RORlRNYXJrZXJcXFwiLFxcXCJnZXRORlRNYXJrZXJcXFwiLFxcXCJnZXRNYXJrZXJcXFwiLFxcXCJnZXRNdWx0aUVhY2hNYXJrZXJcXFwiLFxcXCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIixcXFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVxcXCIsXFxcInNldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsXFxcImdldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsXFxcInNldFRocmVzaG9sZE1vZGVcXFwiLFxcXCJnZXRUaHJlc2hvbGRNb2RlXFxcIixcXFwic2V0VGhyZXNob2xkXFxcIixcXFwiZ2V0VGhyZXNob2xkXFxcIixcXFwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcXFwiLFxcXCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsXFxcInNldE1hdHJpeENvZGVUeXBlXFxcIixcXFwiZ2V0TWF0cml4Q29kZVR5cGVcXFwiLFxcXCJzZXRMYWJlbGluZ01vZGVcXFwiLFxcXCJnZXRMYWJlbGluZ01vZGVcXFwiLFxcXCJzZXRQYXR0UmF0aW9cXFwiLFxcXCJnZXRQYXR0UmF0aW9cXFwiLFxcXCJzZXRJbWFnZVByb2NNb2RlXFxcIixcXFwiZ2V0SW1hZ2VQcm9jTW9kZVxcXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe0FbSV09QS5pbnN0YW5jZVtJXX0pKSx0aGlzLmluc3RhbmNlKUkubWF0Y2goL15BUi8pJiYodGhpc1tJXT10aGlzLmluc3RhbmNlW0ldKX19LHtrZXk6XFxcImxvYWRDYW1lcmFcXFwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQjtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKGc9XFxcIi9jYW1lcmFfcGFyYW1fXFxcIit0aGlzLmNhbWVyYUNvdW50KyssIShJIGluc3RhbmNlb2YgVWludDhBcnJheSkpe0EubmV4dD01O2JyZWFrfUI9SSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShJKTtjYXNlIDg6Qj1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQixnKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzLmluc3RhbmNlLl9sb2FkQ2FtZXJhKGcpKTtjYXNlIDE2OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE1hcmtlclxcXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJLGcpe3ZhciBCLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDppZihCPVxcXCIvbWFya2VyX1xcXCIrdGhpcy5tYXJrZXJDb3VudCsrLC0xPT09Zy5pbmRleE9mKFxcXCJcXFxcblxcXCIpKXtBLm5leHQ9NTticmVha31DPVIuc3RyaW5nMlVpbnQ4RGF0YShnKSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDg6Qz1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxCKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzLmluc3RhbmNlLl9hZGRNYXJrZXIoSSxCKSk7Y2FzZSAxNjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyxbWzUsMTFdXSl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE11bHRpTWFya2VyXFxcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGksRCxhLHc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cXFwiL211bHRpX21hcmtlcl9cXFwiK3RoaXMubXVsdGlNYXJrZXJDb3VudCsrLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKEIpO2Nhc2UgMzpyZXR1cm4gUT1BLnNlbnQsRT1SLnBhcnNlTXVsdGlGaWxlKFEpLGk9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1uZXcgVVJMKEksQikudG9TdHJpbmcoKSxBLm5leHQ9MyxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDM6Qz1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShDLEkpO2Nhc2UgNTpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLEQ9RS5tYXAoaSx0aGlzKSxBLm5leHQ9OSxQcm9taXNlLmFsbChEKTtjYXNlIDk6cmV0dXJuIGE9dGhpcy5pbnN0YW5jZS5fYWRkTXVsdGlNYXJrZXIoZyxDKSx3PXRoaXMuaW5zdGFuY2UuZ2V0TXVsdGlNYXJrZXJOdW0oZyxhKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIixbYSx3XSk7Y2FzZSAxMjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE5GVE1hcmtlclxcXCIsdmFsdWU6KEI9SShvKCkubWFyaygoZnVuY3Rpb24gQShnLEIpe3ZhciBDLFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEM9XFxcIi9tYXJrZXJORlRfXFxcIit0aGlzLm1hcmtlckNvdW50KyssUT1bXFxcImZzZXRcXFwiLFxcXCJpc2V0XFxcIixcXFwiZnNldDNcXFwiXSxFPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxRLEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1CK1xcXCIuXFxcIitJLFE9QytcXFwiLlxcXCIrSSxBLm5leHQ9NCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDQ6RT1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShFLFEpO2Nhc2UgNjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGk9US5tYXAoRSx0aGlzKSxBLm5leHQ9NixQcm9taXNlLmFsbChpKTtjYXNlIDY6cmV0dXJuIEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLHRoaXMuaW5zdGFuY2UuX2FkZE5GVE1hcmtlcihnLEMpKTtjYXNlIDc6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBCLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJfc3RvcmVEYXRhRmlsZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmluc3RhbmNlLkZTLndyaXRlRmlsZShJLEEse2VuY29kaW5nOlxcXCJiaW5hcnlcXFwifSl9fV0sW3trZXk6XFxcIlVOS05PV05fTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4tMX19LHtrZXk6XFxcIlBBVFRFUk5fTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHtrZXk6XFxcIkJBUkNPREVfTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMX19LHtrZXk6XFxcIk5GVF9NQVJLRVJcXFwiLGdldDpmdW5jdGlvbigpe3JldHVybiAyfX1dKSxBfSgpO2Z1bmN0aW9uIHkoQSxJLGcpe3JldHVybiBJIGluIEE/T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOkFbSV09ZyxBfWZ1bmN0aW9uIHQoQSxJKXt2YXIgZz1PYmplY3Qua2V5cyhBKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgQj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEEpO0kmJihCPUIuZmlsdGVyKChmdW5jdGlvbihJKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBLEkpLmVudW1lcmFibGV9KSkpLGcucHVzaC5hcHBseShnLEIpfXJldHVybiBnfWZ1bmN0aW9uIFMoQSl7Zm9yKHZhciBJPTE7STxhcmd1bWVudHMubGVuZ3RoO0krKyl7dmFyIGc9bnVsbCE9YXJndW1lbnRzW0ldP2FyZ3VtZW50c1tJXTp7fTtJJTI/dChPYmplY3QoZyksITApLmZvckVhY2goKGZ1bmN0aW9uKEkpe3koQSxJLGdbSV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEEsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZykpOnQoT2JqZWN0KGcpKS5mb3JFYWNoKChmdW5jdGlvbihJKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZyxJKSl9KSl9cmV0dXJuIEF9dmFyIE09ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKEksZyxCLFEpe0ModGhpcyxBKSx0aGlzLm9wdGlvbnM9UyhTKHt9LHtjYW52YXM6bnVsbCxvcmllbnRhdGlvbjpcXFwibGFuZHNjYXBlXFxcIn0pLFEpLHRoaXMuaWQ9LTEsdGhpcy53aWR0aD1JLHRoaXMuaGVpZ2h0PWcsdGhpcy5pbWFnZSx0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbix0aGlzLmNhbWVyYVBhcmFtPUIsdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmFydG9vbGtpdCx0aGlzLmxpc3RlbmVycz17fSx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aD0xLHRoaXMucGF0dGVybk1hcmtlcnM9e30sdGhpcy5iYXJjb2RlTWFya2Vycz17fSx0aGlzLm5mdE1hcmtlcnM9e30sdGhpcy50cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLHRoaXMudHJhbnNmb3JtR0xfUkg9bmV3IEZsb2F0NjRBcnJheSgxNiksdGhpcy52aWRlb1dpZHRoPUksdGhpcy52aWRlb0hlaWdodD1nLHRoaXMudmlkZW9TaXplPXRoaXMudmlkZW9XaWR0aCp0aGlzLnZpZGVvSGVpZ2h0LHRoaXMuZnJhbWVwb2ludGVyPW51bGwsdGhpcy5mcmFtZXNpemU9bnVsbCx0aGlzLmRhdGFIZWFwPW51bGwsdGhpcy52aWRlb0x1bWE9bnVsbCx0aGlzLmNhbWVyYV9tYXQ9bnVsbCx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW51bGwsdGhpcy52aWRlb0x1bWFQb2ludGVyPW51bGwsdGhpcy5vcHRpb25zLmNhbnZhcz90aGlzLmNhbnZhcz10aGlzLm9wdGlvbnMuY2FudmFzOlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZG9jdW1lbnQmJih0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFxcXCJjYW52YXNcXFwiKSksdGhpcy5jYW52YXM/KHRoaXMuY2FudmFzLndpZHRoPUksdGhpcy5jYW52YXMuaGVpZ2h0PWcsdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dChcXFwiMmRcXFwiKSk6Y29uc29sZS53YXJuKFxcXCJObyBjYW52YXMgYXZhaWxhYmxlXFxcIiksdGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT0hMSx0aGlzLm5mdE1hcmtlckNvdW50PTAsdGhpcy5fYndwb2ludGVyPSExfXZhciBnLEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlxcXCJkaXNwb3NlXFxcIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQSBpbiB0aGlzLmNhbWVyYUlkPS0xLHRoaXMuY2FtZXJhUGFyYW09XFxcIlxcXCIsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5pZD4tMSYmdGhpcy5hcnRvb2xraXQudGVhcmRvd24odGhpcy5pZCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5zcmNPYmplY3QsdGhpcyl0aGlzW0FdPW51bGx9fSx7a2V5OlxcXCJwcm9jZXNzXFxcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmRldGVjdE1hcmtlcihBKTswIT1JJiZjb25zb2xlLmVycm9yKFxcXCJbQVJDb250cm9sbGVyXVxcXCIsXFxcImRldGVjdE1hcmtlciBlcnJvcjpcXFwiLEkpO3ZhciBnLEIsQz10aGlzLmdldE1hcmtlck51bSgpO2ZvcihnIGluIHRoaXMucGF0dGVybk1hcmtlcnMpKEI9dGhpcy5wYXR0ZXJuTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLmJhcmNvZGVNYXJrZXJzKShCPXRoaXMuYmFyY29kZU1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5uZnRNYXJrZXJzKShCPXRoaXMubmZ0TWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IodmFyIFE9MDtRPEM7USsrKXt2YXIgRT10aGlzLmdldE1hcmtlcihRKSxpPVUuVU5LTk9XTl9NQVJLRVIsbz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKC0xKTtFLmlkUGF0dD4tMSYmKEUuaWQ9PT1FLmlkUGF0dHx8LTE9PT1FLmlkTWF0cml4KT8obz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKEUuaWRQYXR0KSxpPVUuUEFUVEVSTl9NQVJLRVIsRS5kaXIhPT1FLmRpclBhdHQmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyUGF0dCkpOkUuaWRNYXRyaXg+LTEmJihvPXRoaXMudHJhY2tCYXJjb2RlTWFya2VySWQoRS5pZE1hdHJpeCksaT1VLkJBUkNPREVfTUFSS0VSLEUuZGlyIT09RS5kaXJNYXRyaXgmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyTWF0cml4KSksaSE9PVUuVU5LTk9XTl9NQVJLRVImJm8uaW5QcmV2aW91cz90aGlzLmdldFRyYW5zTWF0U3F1YXJlQ29udChRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgsby5tYXRyaXgpOnRoaXMuZ2V0VHJhbnNNYXRTcXVhcmUoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4KSxvLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChvLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwiZ2V0TWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDpRLHR5cGU6aSxtYXJrZXI6RSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9dmFyIEQ9dGhpcy5uZnRNYXJrZXJDb3VudDt0aGlzLmRldGVjdE5GVE1hcmtlcigpO2Zvcih2YXIgYT0wO2E8RDthKyspe3ZhciB3PXRoaXMuZ2V0TkZUTWFya2VyKGEpLEY9VS5ORlRfTUFSS0VSO2lmKHcuZm91bmQpe3RoaXMubmZ0TWFya2VyRm91bmQ9YSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT1EYXRlLm5vdygpO3ZhciBHPXRoaXMudHJhY2tORlRNYXJrZXJJZChhKTtHLm1hdHJpeC5zZXQody5wb3NlKSxHLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChHLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwiZ2V0TkZUTWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDphLHR5cGU6RixtYXJrZXI6dyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9ZWxzZSBzZWxmLm5mdE1hcmtlckZvdW5kPT09YSYmRGF0ZS5ub3coKS10aGlzLm5mdE1hcmtlckZvdW5kVGltZT4yMDAmJih0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwibG9zdE5GVE1hcmtlclxcXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pKX1mb3IodmFyIGg9dGhpcy5nZXRNdWx0aU1hcmtlckNvdW50KCkscz0wO3M8aDtzKyspe3ZhciBSPXRoaXMuZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnQocykseT0hMTt0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0KHRoaXMuaWQscyksdGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpO2Zvcih2YXIgdD0wO3Q8Ujt0KyspaWYoKE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyx0KSkudmlzaWJsZT49MCl7eT0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XFxcImdldE11bHRpTWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pO2JyZWFrfWlmKHkpZm9yKHZhciBTPTA7UzxSO1MrKyl7dmFyIE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyxTKTt0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJnZXRNdWx0aU1hcmtlclN1YlxcXCIsdGFyZ2V0OnRoaXMsZGF0YTp7bXVsdGlNYXJrZXJJZDpzLG1hcmtlckluZGV4OlMsbWFya2VyOk0sbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfX10aGlzLl9id3BvaW50ZXImJnRoaXMuZGVidWdEcmF3KCl9fSx7a2V5OlxcXCJkZXRlY3RORlRNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuZGV0ZWN0TkZUTWFya2VyKHRoaXMuaWQpfX0se2tleTpcXFwidHJhY2tQYXR0ZXJuTWFya2VySWRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5wYXR0ZXJuTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMucGF0dGVybk1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XFxcInRyYWNrQmFyY29kZU1hcmtlcklkXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMuYmFyY29kZU1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLmJhcmNvZGVNYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlxcXCJ0cmFja05GVE1hcmtlcklkXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMubmZ0TWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMubmZ0TWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcXFwiZ2V0TXVsdGlNYXJrZXJDb3VudFxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJDb3VudCh0aGlzLmlkKX19LHtrZXk6XFxcImdldE11bHRpTWFya2VyUGF0dGVybkNvdW50XFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJOdW0odGhpcy5pZCxBKX19LHtrZXk6XFxcImFkZEV2ZW50TGlzdGVuZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5saXN0ZW5lcnNbQV18fCh0aGlzLmxpc3RlbmVyc1tBXT1bXSksdGhpcy5saXN0ZW5lcnNbQV0ucHVzaChJKX19LHtrZXk6XFxcInJlbW92ZUV2ZW50TGlzdGVuZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYodGhpcy5saXN0ZW5lcnNbQV0pe3ZhciBnPXRoaXMubGlzdGVuZXJzW0FdLmluZGV4T2YoSSk7Zz4tMSYmdGhpcy5saXN0ZW5lcnNbQV0uc3BsaWNlKGcsMSl9fX0se2tleTpcXFwiZGlzcGF0Y2hFdmVudFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy5saXN0ZW5lcnNbQS5uYW1lXTtpZihJKWZvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ10uY2FsbCh0aGlzLEEpfX0se2tleTpcXFwiZGVidWdTZXR1cFxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIGRvY3VtZW50Pyhkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSx0aGlzLnNldERlYnVnTW9kZSghMCksdGhpcy5fYndwb2ludGVyPXRoaXMuZ2V0UHJvY2Vzc2luZ0ltYWdlKCkpOmNvbnNvbGUubG9nKFxcXCJkZWJ1Z1NldHVwKCkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgQnJvd3NlciBlbnZpcm9ubWVudHNcXFwiKX19LHtrZXk6XFxcImRlYnVnRHJhd1xcXCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5fYndwb2ludGVyLHRoaXMuZnJhbWVzaXplKSxJPW5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuY2FudmFzLndpZHRoKnRoaXMuY2FudmFzLmhlaWdodCo0KSx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLGc9MCxCPTA7ZzxBLmxlbmd0aDtnKyssQis9NCl7dmFyIEM9QVtnXTtJLmRhdGFbQiswXT1DLEkuZGF0YVtCKzFdPUMsSS5kYXRhW0IrMl09QyxJLmRhdGFbQiszXT0yNTV9dGhpcy5jdHgucHV0SW1hZ2VEYXRhKEksMCwwKTtmb3IodmFyIFE9dGhpcy5nZXRNYXJrZXJOdW0oKSxFPTA7RTxRO0UrKyl0aGlzLmRyYXdEZWJ1Z01hcmtlcih0aGlzLmdldE1hcmtlcihFKSl9fSx7a2V5OlxcXCJkcmF3RGVidWdNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPUEudmVydGV4LGc9QS5wb3MsQj10aGlzLmN0eDtCLmxpbmVXaWR0aD01LEIuc3Ryb2tlU3R5bGU9XFxcInJlZFxcXCIsQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzBdWzBdLElbMF1bMV0pLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMl1bMF0sSVsyXVsxXSksQi5saW5lVG8oSVszXVswXSxJWzNdWzFdKSxCLnN0cm9rZSgpLEIuc3Ryb2tlU3R5bGU9XFxcImdyZWVuXFxcIixCLmJlZ2luUGF0aCgpLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5saW5lVG8oSVsyXVswXSxJWzJdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVszXVswXSxJWzNdWzFdKSxCLmxpbmVUbyhJWzBdWzBdLElbMF1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLmFyYyhnWzBdLGdbMV0sOCwwLDIqTWF0aC5QSSksQi5maWxsU3R5bGU9XFxcInJlZFxcXCIsQi5maWxsKCl9fSx7a2V5OlxcXCJsb2FkTWFya2VyXFxcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwibG9hZE11bHRpTWFya2VyXFxcIix2YWx1ZTooRD1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE11bHRpTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcXFwicmV0dXJuXFxcIixBLnNlbnQpO2Nhc2UgMzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJsb2FkTkZUTWFya2VyXFxcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE5GVE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gZz1BLnNlbnQsdGhpcy5uZnRNYXJrZXJDb3VudD1nKzEsQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsZyk7Y2FzZSA1OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImdldFRyYW5zTWF0U3F1YXJlXFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0U3F1YXJlKHRoaXMuaWQsQSxJKSxnLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxnfX0se2tleTpcXFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdC5zZXQoZyksdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmVDb250KHRoaXMuaWQsQSxJKSxCLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxCfX0se2tleTpcXFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlxcXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XFxcInRyYW5zTWF0VG9HTE1hdFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBudWxsPT1JJiYoST1uZXcgRmxvYXQ2NEFycmF5KDE2KSksSVswXT1BWzBdLElbNF09QVsxXSxJWzhdPUFbMl0sSVsxMl09QVszXSxJWzFdPUFbNF0sSVs1XT1BWzVdLElbOV09QVs2XSxJWzEzXT1BWzddLElbMl09QVs4XSxJWzZdPUFbOV0sSVsxMF09QVsxMF0sSVsxNF09QVsxMV0sSVszXT0wLElbN109MCxJWzExXT0wLElbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihJWzEyXSo9ZyxJWzEzXSo9ZyxJWzE0XSo9ZyksSX19LHtrZXk6XFxcImFyZ2xDYW1lcmFWaWV3UkhmXFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7cmV0dXJuKEI9bnVsbD09ST9uZXcgRmxvYXQ2NEFycmF5KDE2KTpJKVswXT1BWzBdLEJbNF09QVs0XSxCWzhdPUFbOF0sQlsxMl09QVsxMl0sQlsxXT0tQVsxXSxCWzVdPS1BWzVdLEJbOV09LUFbOV0sQlsxM109LUFbMTNdLEJbMl09LUFbMl0sQls2XT0tQVs2XSxCWzEwXT0tQVsxMF0sQlsxNF09LUFbMTRdLEJbM109MCxCWzddPTAsQlsxMV09MCxCWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoQlsxMl0qPWcsQlsxM10qPWcsQlsxNF0qPWcpLEJ9fSx7a2V5OlxcXCJkZXRlY3RNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9jb3B5SW1hZ2VUb0hlYXAoQSk/dGhpcy5hcnRvb2xraXQuZGV0ZWN0TWFya2VyKHRoaXMuaWQpOi05OX19LHtrZXk6XFxcImdldE1hcmtlck51bVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyTnVtKHRoaXMuaWQpfX0se2tleTpcXFwiZ2V0TWFya2VyXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm1hcmtlckluZm99fSx7a2V5OlxcXCJnZXRORlRNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRORlRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQuTkZUTWFya2VySW5mb319LHtrZXk6XFxcInNldE1hcmtlckluZm9WZXJ0ZXhcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMF09SVtnXVswXSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZysxXT1JW2ddWzFdO3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvVmVydGV4KHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJjbG9uZU1hcmtlckluZm9cXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEEpKX19LHtrZXk6XFxcImdldE11bHRpRWFjaE1hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlFYWNoTWFya2VyKHRoaXMuaWQsQSxJKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb319LHtrZXk6XFxcImdldFRyYW5zZm9ybWF0aW9uTWF0cml4XFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybV9tYXR9fSx7a2V5OlxcXCJnZXRDYW1lcmFNYXRyaXhcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FtZXJhX21hdH19LHtrZXk6XFxcImdldE1hcmtlclRyYW5zZm9ybWF0aW9uTWF0cml4XFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0fX0se2tleTpcXFwic2V0RGVidWdNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0RGVidWdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXREZWJ1Z01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldERlYnVnTW9kZSh0aGlzLmlkKX19LHtrZXk6XFxcImdldFByb2Nlc3NpbmdJbWFnZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvY2Vzc2luZ0ltYWdlKHRoaXMuaWQpfX0se2tleTpcXFwic2V0TG9nTGV2ZWxcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMb2dMZXZlbChBKX19LHtrZXk6XFxcImdldExvZ0xldmVsXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMb2dMZXZlbCgpfX0se2tleTpcXFwic2V0TWFya2VySW5mb0RpclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWFya2VySW5mb0Rpcih0aGlzLmlkLEEsSSl9fSx7a2V5OlxcXCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFByb2plY3Rpb25GYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRUaHJlc2hvbGRNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0VGhyZXNob2xkTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldFRocmVzaG9sZFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZCh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0VGhyZXNob2xkXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGQodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRNYXRyaXhDb2RlVHlwZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRNYXRyaXhDb2RlVHlwZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRMYWJlbGluZ01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMYWJlbGluZ01vZGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldExhYmVsaW5nTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwic2V0UGF0dFJhdGlvXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dFJhdGlvKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQYXR0UmF0aW9cXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRSYXRpbyh0aGlzLmlkKX19LHtrZXk6XFxcInNldEltYWdlUHJvY01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRJbWFnZVByb2NNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwiX2luaXRpYWxpemVcXFwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSSxnPXRoaXM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsKG5ldyBVKS5pbml0KCk7Y2FzZSAyOnJldHVybiB0aGlzLmFydG9vbGtpdD1BLnNlbnQsY29uc29sZS5sb2coXFxcIltBUkNvbnRyb2xsZXJdXFxcIixcXFwiQVJUb29sa2l0IGluaXRpYWxpemVkXFxcIiksQS5uZXh0PTYsdGhpcy5hcnRvb2xraXQubG9hZENhbWVyYSh0aGlzLmNhbWVyYVBhcmFtKTtjYXNlIDY6cmV0dXJuIHRoaXMuY2FtZXJhSWQ9QS5zZW50LGNvbnNvbGUubG9nKFxcXCJbQVJDb250cm9sbGVyXVxcXCIsXFxcIkNhbWVyYSBwYXJhbXMgbG9hZGVkIHdpdGggSURcXFwiLHRoaXMuY2FtZXJhSWQpLHRoaXMuaWQ9dGhpcy5hcnRvb2xraXQuc2V0dXAodGhpcy53aWR0aCx0aGlzLmhlaWdodCx0aGlzLmNhbWVyYUlkKSxjb25zb2xlLmxvZyhcXFwiW0FSQ29udHJvbGxlcl1cXFwiLFxcXCJHb3QgSUQgZnJvbSBzZXR1cFxcXCIsdGhpcy5pZCksdGhpcy5faW5pdE5GVCgpLEk9YXJ0b29sa2l0LmZyYW1lTWFsbG9jLHRoaXMuZnJhbWVwb2ludGVyPUkuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplPUkuZnJhbWVzaXplLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1JLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5kYXRhSGVhcD1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplKSx0aGlzLnZpZGVvTHVtYT1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMudmlkZW9MdW1hUG9pbnRlcix0aGlzLmZyYW1lc2l6ZS80KSx0aGlzLmNhbWVyYV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkuY2FtZXJhLDE2KSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLnRyYW5zZm9ybSwxMiksdGhpcy5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKC4xKSx0aGlzLnNldFByb2plY3Rpb25GYXJQbGFuZSgxZTMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Zy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJsb2FkXFxcIix0YXJnZXQ6Z30pfSksMSksQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsdGhpcyk7Y2FzZSAyMzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcIl9pbml0TkZUXFxcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LnNldHVwQVIyKHRoaXMuaWQpfX0se2tleTpcXFwiX2NvcHlJbWFnZVRvSGVhcFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk7aWYoQXx8KEE9dGhpcy5pbWFnZSksQS5kYXRhP0k9QS5kYXRhOih0aGlzLmN0eC5zYXZlKCksXFxcInBvcnRyYWl0XFxcIj09PXRoaXMub3JpZW50YXRpb24/dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLmhlaWdodCx0aGlzLmNhbnZhcy53aWR0aCk6dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5jdHgucmVzdG9yZSgpLEk9dGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHRoaXMudmlkZW9MdW1hKWZvcih2YXIgZz0wLEI9MDtCPHRoaXMudmlkZW9TaXplO0IrKyl7dmFyIEM9SVtnKzBdLFE9SVtnKzFdLEU9SVtnKzJdO3RoaXMudmlkZW9MdW1hW0JdPUMrQytDK0UrUStRK1ErUT4+MyxnKz00fXJldHVybiEhdGhpcy5kYXRhSGVhcCYmKHRoaXMuZGF0YUhlYXAuc2V0KEkpLCEwKX19XSxbe2tleTpcXFwiaW5pdFdpdGhEaW1lbnNpb25zXFxcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBJKGcsQixDLFEpe3ZhciBFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIEU9bmV3IEEoZyxCLEMsUSksSS5uZXh0PTMsRS5faW5pdGlhbGl6ZSgpO2Nhc2UgMzpyZXR1cm4gSS5hYnJ1cHQoXFxcInJldHVyblxcXCIsSS5zZW50KTtjYXNlIDQ6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLGcsQyl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImluaXRXaXRoSW1hZ2VcXFwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMpe3ZhciBRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEkpe2Zvcig7Oylzd2l0Y2goSS5wcmV2PUkubmV4dCl7Y2FzZSAwOnJldHVybiBRPWcudmlkZW9XaWR0aHx8Zy53aWR0aCxFPWcudmlkZW9IZWlnaHR8fGcuaGVpZ2h0LEkubmV4dD00LEEuaW5pdFdpdGhEaW1lbnNpb25zKFEsRSxCLEMpO2Nhc2UgNDpyZXR1cm4oaT1JLnNlbnQpLmltYWdlPWcsSS5hYnJ1cHQoXFxcInJldHVyblxcXCIsaSk7Y2FzZSA3OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxCKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1dKSxBfSgpO2NvbnN0IG49e0FSVG9vbGtpdDpVLEFSQ29udHJvbGxlcjpNfX0pKCksQi5kZWZhdWx0fSkoKX0pKTtcXG5cXG4vKioqLyB9KVxcblxcbi8qKioqKiovIFxcdH0pO1xcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxuLyoqKioqKi8gXFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxcbi8qKioqKiovIFxcdHZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqLyBcXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxcbi8qKioqKiovIFxcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcXG4vKioqKioqLyBcXHRcXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcXG4vKioqKioqLyBcXHRcXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcXG4vKioqKioqLyBcXHRcXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcXG4vKioqKioqLyBcXHRcXHRcXHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XFxuLyoqKioqKi8gXFx0XFx0fVxcbi8qKioqKiovIFxcdFxcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXFxuLyoqKioqKi8gXFx0XFx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XFxuLyoqKioqKi8gXFx0XFx0XFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxcbi8qKioqKiovIFxcdFxcdFxcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXFxuLyoqKioqKi8gXFx0XFx0XFx0ZXhwb3J0czoge31cXG4vKioqKioqLyBcXHRcXHR9O1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdFxcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdFxcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXFxuLyoqKioqKi8gXFx0XFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xcbi8qKioqKiovIFxcdH1cXG4vKioqKioqLyBcXHRcXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0ICovXFxuLyoqKioqKi8gXFx0KCgpID0+IHtcXG4vKioqKioqLyBcXHRcXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcXG4vKioqKioqLyBcXHRcXHRcXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cXG4vKioqKioqLyBcXHRcXHRcXHRcXHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcXG4vKioqKioqLyBcXHRcXHRcXHRcXHQoKSA9PiAobW9kdWxlKTtcXG4vKioqKioqLyBcXHRcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcXG4vKioqKioqLyBcXHRcXHRcXHRyZXR1cm4gZ2V0dGVyO1xcbi8qKioqKiovIFxcdFxcdH07XFxuLyoqKioqKi8gXFx0fSkoKTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqLyBcXHQvKiB3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcXG4vKioqKioqLyBcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xcbi8qKioqKiovIFxcdFxcdFxcdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcXG4vKioqKioqLyBcXHRcXHRcXHRcXHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcXG4vKioqKioqLyBcXHRcXHRcXHRcXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdH1cXG4vKioqKioqLyBcXHRcXHRcXHR9XFxuLyoqKioqKi8gXFx0XFx0fTtcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSlcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcXG4vKioqKioqLyBcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xcbi8qKioqKiovIFxcdFxcdFxcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xcbi8qKioqKiovIFxcdFxcdFxcdH1cXG4vKioqKioqLyBcXHRcXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xcbi8qKioqKiovIFxcdFxcdH07XFxuLyoqKioqKi8gXFx0fSkoKTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0ge307XFxuLy8gVGhpcyBlbnRyeSBuZWVkIHRvIGJlIHdyYXBwZWQgaW4gYW4gSUlGRSBiZWNhdXNlIGl0IG5lZWQgdG8gYmUgaW4gc3RyaWN0IG1vZGUuXFxuKCgpID0+IHtcXG5cXFwidXNlIHN0cmljdFxcXCI7XFxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxcXFxuICAhKioqIC4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC53b3JrZXIuanMgKioqIVxcbiAgXFxcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGpzYXJ0b29sa2l0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBqc2FydG9vbGtpdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFyLWpzLW9yZy9hcnRvb2xraXQ1LWpzL2Rpc3QvQVJUb29sa2l0LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGpzYXJ0b29sa2l0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oanNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogZXNsaW50LWVudiB3b3JrZXIgKi9cXG5cXG5jb25zdCB7IEFSVG9vbGtpdCwgQVJDb250cm9sbGVyIH0gPSAoanNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0KCkpO1xcbmNvbnN0IGFydG9vbGtpdCA9IG5ldyBBUlRvb2xraXQoKTtcXG5cXG5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkge1xcbiAgICB2YXIgbXNnID0gZS5kYXRhO1xcbiAgICBzd2l0Y2ggKG1zZy50eXBlKSB7XFxuICAgICAgICBjYXNlIFxcXCJpbml0XFxcIjoge1xcbiAgICAgICAgICAgIGxvYWQobXNnKTtcXG4gICAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuICAgICAgICBjYXNlIFxcXCJwcm9jZXNzXFxcIjoge1xcbiAgICAgICAgICAgIG5leHQgPSBtc2cuaW1hZ2VkYXRhO1xcbiAgICAgICAgICAgIHByb2Nlc3MoKTtcXG4gICAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuICAgIH1cXG59O1xcblxcbnZhciBuZXh0ID0gbnVsbDtcXG5cXG52YXIgYXIgPSBudWxsO1xcbnZhciBtYXJrZXJSZXN1bHQgPSBudWxsO1xcblxcbmZ1bmN0aW9uIGxvYWQobXNnKSB7XFxuICAgIHZhciBjYW1VcmwsIG5mdE1hcmtlclVybDtcXG4gICAgdmFyIGJhc2VQYXRoID0gc2VsZi5vcmlnaW47XFxuICAgIGNvbnNvbGUubG9nKCdiYXNlIHBhdGg6JywgYmFzZVBhdGgpO1xcbiAgICAvLyB0ZXN0IGlmIHRoZSBtc2cucGFyYW0gKHRoZSBpbmNvbWluZyB1cmwpIGlzIGFuIGh0dHAgb3IgaHR0cHMgcGF0aFxcbiAgICB2YXIgcmVnZXhDID0gL2h0dHBzPzpcXFxcL1xcXFwvKHd3d1xcXFwuKT9bLWEtekEtWjAtOUA6JS5fXFxcXCt+Iz1dezIsMjU2fVxcXFwuW2Etel17Miw2fVxcXFxiKFstYS16QS1aMC05QDolX1xcXFwrLn4jKCk/Ji8vPV0qKS9pZ21cXG4gICAgdmFyIHJlQyA9IHJlZ2V4Qy50ZXN0KG1zZy5wYXJhbSk7XFxuICAgIGlmIChyZUMgPT0gdHJ1ZSkge1xcbiAgICAgICAgY2FtVXJsID0gbXNnLnBhcmFtO1xcbiAgICB9IGVsc2UgaWYgKHJlQyA9PSBmYWxzZSkge1xcbiAgICAgICAgY2FtVXJsID0gYmFzZVBhdGggKyAnLycgKyBtc2cucGFyYW07XFxuICAgIH1cXG4gICAgdmFyIG9uTG9hZCA9IGZ1bmN0aW9uIChhckNvbnRyb2xsZXIpIHtcXG4gICAgICAgIGFyID0gYXJDb250cm9sbGVyO1xcbiAgICAgICAgdmFyIGNhbWVyYU1hdHJpeCA9IGFyLmdldENhbWVyYU1hdHJpeCgpO1xcblxcbiAgICAgICAgLy8gYWZ0ZXIgdGhlIEFSQ29udHJvbGxlciBpcyBzZXQgdXAsIHdlIGxvYWQgdGhlIE5GVCBNYXJrZXJcXG4gICAgICAgIHZhciByZWdleE0gPSAvaHR0cHM/OlxcXFwvXFxcXC8od3d3XFxcXC4pP1stYS16QS1aMC05QDolLl9cXFxcK34jPV17MiwyNTZ9XFxcXC5bYS16XXsyLDZ9XFxcXGIoWy1hLXpBLVowLTlAOiVfXFxcXCsufiMoKT8mLy89XSopL2lnbVxcbiAgICAgICAgdmFyIHJlTSA9IHJlZ2V4TS50ZXN0KG1zZy5tYXJrZXIpO1xcbiAgICAgICAgaWYgKHJlTSA9PSB0cnVlKSB7XFxuICAgICAgICAgICAgbmZ0TWFya2VyVXJsID0gbXNnLm1hcmtlcjtcXG4gICAgICAgIH0gZWxzZSBpZiAocmVNID09IGZhbHNlKSB7XFxuICAgICAgICAgICAgbmZ0TWFya2VyVXJsID0gYmFzZVBhdGggKyAnLycgKyBtc2cubWFya2VyO1xcbiAgICAgICAgfVxcbiAgICAgICAgYXIubG9hZE5GVE1hcmtlcihuZnRNYXJrZXJVcmwpLnRoZW4oZnVuY3Rpb24gKG1hcmtlcklkKSB7XFxuICAgICAgICAgICAgYXIudHJhY2tORlRNYXJrZXJJZChtYXJrZXJJZCk7XFxuICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyB0eXBlOiAnZW5kTG9hZGluZycgfSlcXG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgaW4gbG9hZGluZyBtYXJrZXIgb24gV29ya2VyJywgZXJyKVxcbiAgICAgICAgfSk7XFxuXFxuICAgICAgICAvLyAuLi5hbmQgd2UgbGlzdGVuIGZvciBldmVudCB3aGVuIG1hcmtlciBoYXMgYmVlbiBmb3VuZCBmcm9tIGNhbWVyYVxcbiAgICAgICAgYXIuYWRkRXZlbnRMaXN0ZW5lcignZ2V0TkZUTWFya2VyJywgZnVuY3Rpb24gKGV2KSB7XFxuICAgICAgICAgICAgLy8gbGV0IEFSLmpzIGtub3cgdGhhdCBhIE5GVCBtYXJrZXIgaGFzIGJlZW4gZm91bmQsIHdpdGggaXRzIG1hdHJpeCBmb3IgcG9zaXRpb25pbmdcXG4gICAgICAgICAgICBtYXJrZXJSZXN1bHQgPSB7XFxuICAgICAgICAgICAgICAgIHR5cGU6ICdmb3VuZCcsXFxuICAgICAgICAgICAgICAgIG1hdHJpeDogSlNPTi5zdHJpbmdpZnkoZXYuZGF0YS5tYXRyaXgpLFxcbiAgICAgICAgICAgIH07XFxuICAgICAgICB9KTtcXG5cXG4gICAgICAgIHBvc3RNZXNzYWdlKHsgdHlwZTogXFxcImxvYWRlZFxcXCIsIHByb2o6IEpTT04uc3RyaW5naWZ5KGNhbWVyYU1hdHJpeCkgfSk7XFxuICAgIH07XFxuXFxuICAgIHZhciBvbkVycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XFxuICAgICAgICBjb25zb2xlLmVycm9yKFxcXCJFcnJvciB3aGlsZSBpbnRpemFsaXppbmcgYXJDb250cm9sbGVyXFxcIiwgZXJyb3IpO1xcbiAgICB9O1xcblxcbiAgICBhcnRvb2xraXQuaW5pdCgpLnRoZW4oXyA9PiB7XFxuICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhtc2cucHcsIG1zZy5waCwgY2FtVXJsKS50aGVuKG9uTG9hZCkuY2F0Y2gob25FcnJvcik7XFxuICAgIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcm9jZXNzKCkge1xcbiAgICBtYXJrZXJSZXN1bHQgPSBudWxsO1xcblxcbiAgICBpZiAoYXIgJiYgYXIucHJvY2Vzcykge1xcbiAgICAgICAgYXIucHJvY2VzcyhuZXh0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobWFya2VyUmVzdWx0KSB7XFxuICAgICAgICBwb3N0TWVzc2FnZShtYXJrZXJSZXN1bHQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcG9zdE1lc3NhZ2Uoe1xcbiAgICAgICAgICAgIHR5cGU6IFxcXCJub3QgZm91bmRcXFwiLFxcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgbmV4dCA9IG51bGw7XFxufVxcblxcbn0pKCk7XFxuXFxuLyoqKioqKi8gfSkoKVxcbjtcXG5cIiwgXCJXb3JrZXJcIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xufVxuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGVzbGludC1lbnYgYnJvd3NlciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiwgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIG5ldy1jYXAgKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNvbnRlbnQsIHdvcmtlckNvbnN0cnVjdG9yLCB3b3JrZXJPcHRpb25zLCB1cmwpIHtcbiAgdmFyIGdsb2JhbFNjb3BlID0gc2VsZiB8fCB3aW5kb3c7XG5cbiAgdHJ5IHtcbiAgICB0cnkge1xuICAgICAgdmFyIGJsb2I7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIE5ldyBBUElcbiAgICAgICAgYmxvYiA9IG5ldyBnbG9iYWxTY29wZS5CbG9iKFtjb250ZW50XSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEJsb2JCdWlsZGVyID0gRGVwcmVjYXRlZCwgYnV0IHdpZGVseSBpbXBsZW1lbnRlZFxuICAgICAgICB2YXIgQmxvYkJ1aWxkZXIgPSBnbG9iYWxTY29wZS5CbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5XZWJLaXRCbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5Nb3pCbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5NU0Jsb2JCdWlsZGVyO1xuICAgICAgICBibG9iID0gbmV3IEJsb2JCdWlsZGVyKCk7XG4gICAgICAgIGJsb2IuYXBwZW5kKGNvbnRlbnQpO1xuICAgICAgICBibG9iID0gYmxvYi5nZXRCbG9iKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBVUkwgPSBnbG9iYWxTY29wZS5VUkwgfHwgZ2xvYmFsU2NvcGUud2Via2l0VVJMO1xuICAgICAgdmFyIG9iamVjdFVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICB2YXIgd29ya2VyID0gbmV3IGdsb2JhbFNjb3BlW3dvcmtlckNvbnN0cnVjdG9yXShvYmplY3RVUkwsIHdvcmtlck9wdGlvbnMpO1xuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVUkwpO1xuICAgICAgcmV0dXJuIHdvcmtlcjtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlW3dvcmtlckNvbnN0cnVjdG9yXShcImRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxcIi5jb25jYXQoZW5jb2RlVVJJQ29tcG9uZW50KGNvbnRlbnQpKSwgd29ya2VyT3B0aW9ucyk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IEVycm9yKFwiSW5saW5lIHdvcmtlciBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgZ2xvYmFsU2NvcGVbd29ya2VyQ29uc3RydWN0b3JdKHVybCwgd29ya2VyT3B0aW9ucyk7XG4gIH1cbn07IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMnO1xuaW1wb3J0IEFyTXVsdGlNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5cbmNvbnN0IE1hcmtlcnNBcmVhQ29udHJvbHMgPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHRpZiggYXJndW1lbnRzLmxlbmd0aCA+IDMgKVx0Y29uc29sZS5hc3NlcnQoJ3dyb25nIGFwaSBmb3InLCBNYXJrZXJzQXJlYUNvbnRyb2xzKVxuXG5cdC8vIGhhdmUgYSBwYXJhbWV0ZXJzIGluIGFyZ3VtZW50XG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBsaXN0IG9mIGNvbnRyb2xzIGZvciBlYWNoIHN1Yk1hcmtlclxuXHRcdHN1Yk1hcmtlcnNDb250cm9sczogcGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMsXG5cdFx0Ly8gbGlzdCBvZiBwb3NlIGZvciBlYWNoIHN1Yk1hcmtlciByZWxhdGl2ZSB0byB0aGUgb3JpZ2luXG5cdFx0c3ViTWFya2VyUG9zZXM6IHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMsXG5cdFx0Ly8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuXHRcdGNoYW5nZU1hdHJpeE1vZGUgOiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgIT09IHVuZGVmaW5lZCA/IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHR9XG5cdFxuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHQvLyBob25vciBvYnNvbGV0ZSBzdHVmZiAtIGFkZCBhIHdhcm5pbmcgdG8gdXNlXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9sc1xuXHR0aGlzLnN1Yk1hcmtlclBvc2VzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzXG5cblx0Ly8gbGlzdGVuIHRvIGFyVG9vbGtpdENvbnRleHQgZXZlbnQgJ3NvdXJjZVByb2Nlc3NlZCdcblx0Ly8gLSBhZnRlciB3ZSBmdWxseSBwcm9jZXNzZWQgb25lIGltYWdlLCBha2Egd2hlbiB3ZSBrbm93IGFsbCBkZXRlY3RlZCBwb3NlcyBpbiBpdFxuXHRhclRvb2xraXRDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ3NvdXJjZVByb2Nlc3NlZCcsIGZ1bmN0aW9uKCl7XG5cdFx0X3RoaXMuX29uU291cmNlUHJvY2Vzc2VkKClcblx0fSlcbn1cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2Vyc0FyZWFDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBpbWFnZSBzb3VyY2UgaXMgZnVsbHkgcHJvY2Vzc2VkXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLl9vblNvdXJjZVByb2Nlc3NlZCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50OiAwLFxuXHRcdHBvc2l0aW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0fSxcblx0XHRxdWF0ZXJuaW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdH0sXG5cdFx0c2NhbGUgOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHR9XG5cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IF90aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLm9iamVjdDNkLnF1YXRlcm5pb25cblxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHRcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdC8vIGlmIHRoaXMgbWFya2VyIGlzIG5vdCB2aXNpYmxlLCBpZ25vcmUgaXRcblx0XHRpZiggbWFya2VyT2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHQvLyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggb2YgdGhpcy5vYmplY3QzZCBhY2NvcmRpbmcgdG8gdGhpcyBzdWItbWFya2Vyc1xuXHRcdHZhciBtYXRyaXggPSBtYXJrZXJPYmplY3QzZC5tYXRyaXguY2xvbmUoKVxuXHRcdHZhciBtYXJrZXJQb3NlID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlc1ttYXJrZXJJbmRleF1cblx0XHRtYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG1hcmtlclBvc2UpKVxuXG5cdFx0Ly8gZGVjb21wb3NlIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHRcdHZhciBzY2FsZSA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0bWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblxuXHQvLyBob25vciBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHR9ZWxzZXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0fVxuXG5cdC8vIGlmIGF0IGxlYXN0IG9uZSBzdWItbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkLCBtYWtlIHRoZSBhdmVyYWdlIG9mIGFsbCBkZXRlY3RlZCBtYXJrZXJzXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHQvLyBjb21wdXRlIG1vZGVsVmlld01hdHJpeFxuXHRcdHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG5cdFx0bW9kZWxWaWV3TWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdFx0Ly8gY2hhbmdlIF90aGlzLm9iamVjdDNkLm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0XHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmdldEludmVyc2UoIG1vZGVsVmlld01hdHJpeCApXG5cdFx0fWVsc2Uge1xuXHRcdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdFx0fVxuXG5cdFx0Ly8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5kZWNvbXBvc2UoX3RoaXMub2JqZWN0M2QucG9zaXRpb24sIF90aGlzLm9iamVjdDNkLnF1YXRlcm5pb24sIF90aGlzLm9iamVjdDNkLnNjYWxlKVxuXHR9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24gPSBmdW5jdGlvbihxdWF0ZXJuaW9uU3VtLCBuZXdRdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIGNvdW50LCBxdWF0ZXJuaW9uQXZlcmFnZSl7XG5cdHF1YXRlcm5pb25BdmVyYWdlID0gcXVhdGVybmlvbkF2ZXJhZ2UgfHwgbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHQvLyBzYW5pdHkgY2hlY2tcblx0Y29uc29sZS5hc3NlcnQoZmlyc3RRdWF0ZXJuaW9uIGluc3RhbmNlb2YgVEhSRUUuUXVhdGVybmlvbiA9PT0gdHJ1ZSlcblx0XG5cdC8vIGZyb20gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRpZiggbmV3UXVhdGVybmlvbi5kb3QoZmlyc3RRdWF0ZXJuaW9uKSA+IDAgKXtcblx0XHRuZXdRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oLW5ld1F1YXRlcm5pb24ueCwgLW5ld1F1YXRlcm5pb24ueSwgLW5ld1F1YXRlcm5pb24ueiwgLW5ld1F1YXRlcm5pb24udylcblx0fVxuXG5cdHF1YXRlcm5pb25TdW0ueCArPSBuZXdRdWF0ZXJuaW9uLnhcblx0cXVhdGVybmlvblN1bS55ICs9IG5ld1F1YXRlcm5pb24ueVxuXHRxdWF0ZXJuaW9uU3VtLnogKz0gbmV3UXVhdGVybmlvbi56XG5cdHF1YXRlcm5pb25TdW0udyArPSBuZXdRdWF0ZXJuaW9uLndcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLnggPSBxdWF0ZXJuaW9uU3VtLngvY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueSA9IHF1YXRlcm5pb25TdW0ueS9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS56ID0gcXVhdGVybmlvblN1bS56L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLncgPSBxdWF0ZXJuaW9uU3VtLncvY291bnRcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLm5vcm1hbGl6ZSgpXG5cblx0cmV0dXJuIHF1YXRlcm5pb25BdmVyYWdlXG59XG5cblxuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyA9IGZ1bmN0aW9uKHZlY3RvcjNTdW0sIHZlY3RvcjMsIGNvdW50LCB2ZWN0b3IzQXZlcmFnZSl7XG5cdHZlY3RvcjNBdmVyYWdlID0gdmVjdG9yM0F2ZXJhZ2UgfHwgbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHRcblx0dmVjdG9yM1N1bS54ICs9IHZlY3RvcjMueFxuXHR2ZWN0b3IzU3VtLnkgKz0gdmVjdG9yMy55XG5cdHZlY3RvcjNTdW0ueiArPSB2ZWN0b3IzLnpcblx0XG5cdHZlY3RvcjNBdmVyYWdlLnggPSB2ZWN0b3IzU3VtLnggLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS55ID0gdmVjdG9yM1N1bS55IC8gY291bnRcblx0dmVjdG9yM0F2ZXJhZ2UueiA9IHZlY3RvcjNTdW0ueiAvIGNvdW50XG5cdFxuXHRyZXR1cm4gdmVjdG9yM0F2ZXJhZ2Vcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBjb21wdXRlIHRoZSBjZW50ZXIgb2YgdGhpcyBtdWx0aW1hcmtlciBmaWxlXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUNlbnRlciA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBzdGF0cyA9IHtcblx0XHRjb3VudCA6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdH1cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkgLy8gRklYTUUgPz8/XG5cdFxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cdFx0XG5cdFx0Ly8gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRcdHN0YXRzLmNvdW50KytcblxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMucG9zaXRpb24uc3VtLCBwb3NpdGlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbihzdGF0cy5xdWF0ZXJuaW9uLnN1bSwgcXVhdGVybmlvbiwgZmlyc3RRdWF0ZXJuaW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMuc2NhbGUuc3VtLCBzY2FsZSwgc3RhdHMuY291bnQsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdH0pXG5cdFxuXHR2YXIgYXZlcmFnZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0YXZlcmFnZU1hdHJpeC5jb21wb3NlKHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblxuXHRyZXR1cm4gYXZlcmFnZU1hdHJpeFxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmNvbXB1dGVCb3VuZGluZ0JveCA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBib3VuZGluZ0JveCA9IG5ldyBUSFJFRS5Cb3gzKClcblxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHRib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KHBvc2l0aW9uKVxuXHR9KVxuXG5cdHJldHVybiBib3VuZGluZ0JveFxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGVTbW9vdGhlZENvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUudXBkYXRlU21vb3RoZWRDb250cm9scyA9IGZ1bmN0aW9uKHNtb290aGVkQ29udHJvbHMsIGxlcnBzVmFsdWVzKXtcblx0Ly8gaGFuZGxlIGRlZmF1bHQgdmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlcyA9PT0gdW5kZWZpbmVkICl7XG5cdFx0Ly8gRklYTUUgdGhpcyBwYXJhbWV0ZXIgZm9ybWF0IGlzIHVzZWxlc3NseSBjcnlwdGljXG5cdFx0Ly8gbGVycFZhbHVlcyA9IFtcblx0XHQvLyB7bGVycFBvc2l0aW9uOiAwLjUsIGxlcnBRdWF0ZXJuaW9uOiAwLjIsIGxlcnBRdWF0ZXJuaW9uOiAwLjd9XG5cdFx0Ly8gXVxuXHRcdGxlcnBzVmFsdWVzID0gW1xuXHRcdFx0WzAuMysuMSwgMC4xLCAwLjNdLFxuXHRcdFx0WzAuNCsuMSwgMC4xLCAwLjRdLFxuXHRcdFx0WzAuNCsuMSwgMC4yLCAwLjVdLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdF1cblx0fVxuXHQvLyBjb3VudCBob3cgbWFueSBzdWJNYXJrZXJzQ29udHJvbHMgYXJlIHZpc2libGVcblx0dmFyIG5WaXNpYmxlID0gMFxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSB0cnVlIClcdG5WaXNpYmxlICsrXG5cdH0pXG5cblx0Ly8gZmluZCB0aGUgZ29vZCBsZXJwVmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXSAhPT0gdW5kZWZpbmVkICl7XG5cdFx0dmFyIGxlcnBWYWx1ZXMgPSBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXVxuXHR9ZWxzZXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW2xlcnBzVmFsdWVzLmxlbmd0aC0xXVxuXHR9XG5cblx0Ly8gbW9kaWZ5IGxlcnBWYWx1ZXMgaW4gc21vb3RoZWRDb250cm9sc1xuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFBvc2l0aW9uID0gbGVycFZhbHVlc1swXVxuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24gPSBsZXJwVmFsdWVzWzFdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwU2NhbGUgPSBsZXJwVmFsdWVzWzJdXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDcmVhdGUgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gSlNPTlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuZnJvbUpTT04gPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBwYXJlbnQzRCwgbWFya2VyUm9vdCwganNvbkRhdGEsIHBhcmFtZXRlcnMpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0Ly8gZGVjbGFyZSB2YXJpYWJsZXNcblx0dmFyIHN1Yk1hcmtlcnNDb250cm9scyA9IFtdXG5cdHZhciBzdWJNYXJrZXJQb3NlcyA9IFtdXG5cdC8vIGhhbmRsZSBkZWZhdWx0IGFyZ3VtZW50c1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXG5cdC8vIHByZXBhcmUgdGhlIHBhcmFtZXRlcnNcblx0bXVsdGlNYXJrZXJGaWxlLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xuXHRcdC8vIGNyZWF0ZSBhIG1hcmtlclJvb3Rcblx0XHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpXG5cdFx0cGFyZW50M0QuYWRkKG1hcmtlclJvb3QpXG5cblx0XHQvLyBjcmVhdGUgbWFya2VyQ29udHJvbHMgZm9yIG91ciBtYXJrZXJSb290XG5cdFx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gbmV3IEFyTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgaXRlbS5wYXJhbWV0ZXJzKVxuXG4vLyBpZiggdHJ1ZSApe1xuXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0c3ViTWFya2VyUG9zZXMucHVzaChuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpKVx0XG4vLyB9ZWxzZXtcbi8vIFx0XHQvLyBidWlsZCBhIHNtb290aGVkQ29udHJvbHNcbi8vIFx0XHR2YXIgc21vb3RoZWRSb290ID0gbmV3IFRIUkVFLkdyb3VwKClcbi8vIFx0XHRwYXJlbnQzRC5hZGQoc21vb3RoZWRSb290KVxuLy8gXHRcdHZhciBzbW9vdGhlZENvbnRyb2xzID0gbmV3IFRIUkVFeC5BclNtb290aGVkQ29udHJvbHMoc21vb3RoZWRSb290LCB7XG4vLyBcdFx0XHRsZXJwUG9zaXRpb24gOiAwLjEsXG4vLyBcdFx0XHRsZXJwUXVhdGVybmlvbiA6IDAuMSwgXG4vLyBcdFx0XHRsZXJwU2NhbGUgOiAwLjEsXG4vLyBcdFx0XHRtaW5WaXNpYmxlRGVsYXk6IDAsXG4vLyBcdFx0XHRtaW5VbnZpc2libGVEZWxheTogMCxcbi8vIFx0XHR9KVxuLy8gXHRcdG9uUmVuZGVyRmN0cy5wdXNoKGZ1bmN0aW9uKGRlbHRhKXtcbi8vIFx0XHRcdHNtb290aGVkQ29udHJvbHMudXBkYXRlKG1hcmtlclJvb3QpXHQvLyBUT0RPIHRoaXMgaXMgYSBnbG9iYWxcbi8vIFx0XHR9KVxuLy8gXHRcbi8vIFxuLy8gXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG4vLyBcdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc21vb3RoZWRDb250cm9scylcbi8vIFx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXG4vLyB9XG5cdH0pXG5cdFxuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyA9IHN1Yk1hcmtlcnNDb250cm9sc1xuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzID0gc3ViTWFya2VyUG9zZXNcblx0Ly8gY3JlYXRlIGEgbmV3IEFyTXVsdGlNYXJrZXJDb250cm9sc1xuXHR2YXIgbXVsdGlNYXJrZXJDb250cm9scyA9IG5ldyBBck11bHRpTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgcGFyYW1ldGVycylcblxuXHQvLyByZXR1cm4gaXRcblx0cmV0dXJuIG11bHRpTWFya2VyQ29udHJvbHNcdFxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJzQXJlYUNvbnRyb2xzOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL3RocmVleC9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbmNvbnN0IE1hcmtlcnNBcmVhVXRpbHMgPSB7fTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRuYXZpZ2F0ZVRvTGVhcm5lclBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBtdWx0aS1tYXJrZXIgbGVhcm5lciBwYWdlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGxlYXJuZXJCYXNlVVJMICAtIHRoZSBiYXNlIHVybCBmb3IgdGhlIGxlYXJuZXJcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5uYXZpZ2F0ZVRvTGVhcm5lclBhZ2UgPSBmdW5jdGlvbihsZWFybmVyQmFzZVVSTCwgdHJhY2tpbmdCYWNrZW5kKXtcblx0dmFyIGxlYXJuZXJQYXJhbWV0ZXJzID0ge1xuXHRcdGJhY2tVUkwgOiBsb2NhdGlvbi5ocmVmLFxuXHRcdHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnM6IE1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnModHJhY2tpbmdCYWNrZW5kKSxcblx0fVxuXHRsb2NhdGlvbi5ocmVmID0gbGVhcm5lckJhc2VVUkwgKyAnPycgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobGVhcm5lclBhcmFtZXRlcnMpKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdERlZmF1bHRNdWx0aU1hcmtlckZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgc3RvcmUgYSBkZWZhdWx0IG11bHRpLW1hcmtlciBmaWxlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdHZhciBmaWxlID0gTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlKHRyYWNraW5nQmFja2VuZClcblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoZmlsZSkpXG59XG5cblxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgbXVsdGktbWFya2VyIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSBqc29uIG9iamVjdCBvZiB0aGUgbXVsdGktbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0Y29uc29sZS5hc3NlcnQodHJhY2tpbmdCYWNrZW5kKVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSB1bmRlZmluZWQgKVx0ZGVidWdnZXJcblxuXHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblx0Ly8gY3JlYXRlIHRoZSBiYXNlIGZpbGVcblx0dmFyIGZpbGUgPSB7XG5cdFx0bWV0YSA6IHtcblx0XHRcdGNyZWF0ZWRCeSA6ICdBUi5qcyAnICsgQ29udGV4dC5SRVZJU0lPTiArICcgLSBEZWZhdWx0IE1hcmtlcicsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi4gYmVpbmcgZmlsbGVkXG5cdFx0XVxuXHR9XG5cdC8vIGFkZCBhIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXSA9IHtcblx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRwb3NlTWF0cml4OiBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbigwLDAsIDApLnRvQXJyYXkoKSxcblx0fVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMucGF0dGVyblVybCA9IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCdcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdHJldHVybiBmaWxlXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Y3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY29udHJvbHMgcGFyYW1ldGVycyBmb3IgdGhlIG11bHRpLW1hcmtlciBsZWFybmVyXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIGpzb24gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xzIHBhcmFtZXRlcnNcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gcGF0dGVybiBoaXJvL2thbmppL2EvYi9jL2Zcblx0XHR2YXIgbWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IFtcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4ta2FuamkucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckMucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyRi5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblx0cmV0dXJuIG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZ2VuZXJhdGUgYXJlYUZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKSB7XG5cdC8vIGdlbmVyYXRlIGFyZWFGaWxlXG5cdHZhciBhcmVhRmlsZSA9IHRoaXMuYnVpbGRNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSClcblx0Ly8gc3RvcmUgYXJlYUZpbGUgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoYXJlYUZpbGUpKVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYVV0aWxzLmJ1aWxkTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24gPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSCl7XG5cdC8vIGNyZWF0ZSB0aGUgYmFzZSBmaWxlXG5cdHZhciBmaWxlID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiAnQVIuanMgLSBBdWdtZW50ZWQgV2Vic2l0ZScsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi5cblx0XHRdXG5cdH1cblxuXHR2YXIgd2hpdGVNYXJnaW4gPSAwLjFcblx0aWYoIHJlc29sdXRpb25XID4gcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbkhcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XIDwgcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbldcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XID09PSByZXNvbHV0aW9uSCApe1xuXHRcdC8vIHNwZWNpZmljIGZvciB0d2l0dGVyIHBsYXllciAtIGh0dHBzOi8vZGV2LnR3aXR0ZXIuY29tL2NhcmRzL3R5cGVzL3BsYXllclxuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjMzICogcmVzb2x1dGlvbldcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY29uc29sZS53YXJuKCd1c2luZyBuZXcgbWFya2VySW1hZ2VTaXplIGNvbXB1dGF0aW9uJylcblx0dmFyIGFjdHVhbE1hcmtlclNpemUgPSBtYXJrZXJJbWFnZVNpemUgKiAoMSAtIDIqd2hpdGVNYXJnaW4pXG5cblx0dmFyIGRlbHRhWCA9IChyZXNvbHV0aW9uVyAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblx0dmFyIGRlbHRhWiA9IChyZXNvbHV0aW9uSCAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdjZW50ZXInLCAwLCAwKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcGxlZnQnLCAtZGVsdGFYLCAtZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcHJpZ2h0JywgK2RlbHRhWCwgLWRlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21sZWZ0JywgLWRlbHRhWCwgK2RlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21yaWdodCcsICtkZWx0YVgsICtkZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0cmV0dXJuIGZpbGVcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0Q29kZSBTZXBhcmF0b3Jcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0ZnVuY3Rpb24gYnVpbGRTdWJNYXJrZXJDb250cm9scyhsYXlvdXQsIHBvc2l0aW9uWCwgcG9zaXRpb25aKXtcblx0XHRjb25zb2xlLmxvZygnYnVpbGRTdWJNYXJrZXJDb250cm9scycsIGxheW91dCwgcG9zaXRpb25YLCBwb3NpdGlvblopXG5cdFx0Ly8gY3JlYXRlIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRcdHZhciBzdWJNYXJrZXJzQ29udHJvbHMgPSB7XG5cdFx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRcdHBvc2VNYXRyaXg6IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKHBvc2l0aW9uWCwwLCBwb3NpdGlvblopLnRvQXJyYXkoKSxcblx0XHR9XG5cdFx0Ly8gZmlsbCB0aGUgcGFyYW1ldGVyc1xuXHRcdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0XHRsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChzdWJNYXJrZXJzQ29udHJvbHMucGFyYW1ldGVycywgbGF5b3V0KVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHRcdC8vIHJldHVybiBzdWJNYXJrZXJzQ29udHJvbHNcblx0XHRyZXR1cm4gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdH1cblxuXHRmdW5jdGlvbiBsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChwYXJhbWV0ZXJzLCBsYXlvdXQpe1xuXHRcdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0XHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRcdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHRcdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXHRcdHZhciBsYXlvdXQyUGF0dGVyblVybCA9IHtcblx0XHRcdCdjZW50ZXInIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnKSxcblx0XHRcdCd0b3BsZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0JyksXG5cdFx0XHQndG9wcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnKSxcblx0XHRcdCdib3R0b21sZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQy5wYXR0JyksXG5cdFx0XHQnYm90dG9tcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJGLnBhdHQnKSxcblx0XHR9XG5cdFx0Y29uc29sZS5hc3NlcnQobGF5b3V0MlBhdHRlcm5VcmxbbGF5b3V0XSAhPT0gdW5kZWZpbmVkIClcblx0XHRwYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcblx0XHRwYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBsYXlvdXQyUGF0dGVyblVybFtsYXlvdXRdXG5cdFx0cmV0dXJuXG5cdFx0ZnVuY3Rpb24gY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShyZWxhdGl2ZVVybCl7XG5cdFx0XHR2YXIgdG1wTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblx0XHRcdHRtcExpbmsuaHJlZiA9IHJlbGF0aXZlVXJsXG5cdFx0XHRyZXR1cm4gdG1wTGluay5ocmVmXG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICd0aHJlZXhBcm1hcmtlcmNvbnRyb2xzJzsgLy8gQWxpYXMgZm9yIGR5bmFtaWMgaW1wb3J0aW5nXG5pbXBvcnQgQXJNYXJrZXJIZWxwZXIgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlcic7XG5pbXBvcnQgQXJTbW9vdGhlZENvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzJztcbmltcG9ydCBNYXJrZXJzQXJlYUNvbnRyb2xzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMnO1xuaW1wb3J0IE1hcmtlcnNBcmVhVXRpbHMgZnJvbSAnLi4vbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscyc7XG5cbi8vIFRPRE8gdGhpcyBpcyBhIGNvbnRyb2xzLi4uIHNob3VsZCBpIGdpdmUgdGhlIG9iamVjdDNkIGhlcmUgP1xuLy8gbm90IGFjY29yZGluZyB0byAnbm8gdGhyZWUuanMgZGVwZW5kYW5jeSdcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBBbmNob3IgPSBmdW5jdGlvbihhclNlc3Npb24sIG1hcmtlclBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdHZhciBhckNvbnRleHQgPSBhclNlc3Npb24uYXJDb250ZXh0XG5cdHZhciBzY2VuZSA9IGFyU2Vzc2lvbi5wYXJhbWV0ZXJzLnNjZW5lXG5cdHZhciBjYW1lcmEgPSBhclNlc3Npb24ucGFyYW1ldGVycy5jYW1lcmFcblxuXHR0aGlzLmFyU2Vzc2lvbiA9IGFyU2Vzc2lvblxuXHR0aGlzLnBhcmFtZXRlcnMgPSBtYXJrZXJQYXJhbWV0ZXJzXG5cblx0Ly8gbG9nIHRvIGRlYnVnXG5cdGNvbnNvbGUubG9nKCdBUmpzLkFuY2hvciAtJywgJ2NoYW5nZU1hdHJpeE1vZGU6JywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUsICcvIG1hcmtlcnNBcmVhRW5hYmxlZDonLCBtYXJrZXJQYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZClcblxuXHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5Hcm91cCgpXG5cdHNjZW5lLmFkZChtYXJrZXJSb290KVxuXG5cdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBtYXJrZXJSb290XG5cdH1lbHNlIGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBjYW1lcmFcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0aWYoIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID09PSBmYWxzZSApe1xuXHRcdHZhciBtYXJrZXJDb250cm9scyA9IG5ldyBBck1hcmtlckNvbnRyb2xzKGFyQ29udGV4dCwgY29udHJvbGxlZE9iamVjdCwgbWFya2VyUGFyYW1ldGVycylcblx0XHR0aGlzLmNvbnRyb2xzID0gbWFya2VyQ29udHJvbHNcblx0fWVsc2V7XG5cdFx0Ly8gc2FuaXR5IGNoZWNrIC0gTVVTVCBiZSBhIHRyYWNraW5nQmFja2VuZCB3aXRoIG1hcmtlcnNcblx0XHRjb25zb2xlLmFzc2VydCggYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApXG5cblx0XHQvLyBob25vciBtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbiBmb3IgaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZVxuXHRcdGlmKCBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKS5zdGFydHNXaXRoKCdtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbj0nKSA9PT0gdHJ1ZSApe1xuXHRcdFx0Ly8gZ2V0IHJlc29sdXRpb25XL3Jlc29sdXRpb25IIGZyb20gdXJsXG5cdFx0XHR2YXIgbWFya2VyUGFnZVJlc29sdXRpb24gPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKVxuXHRcdFx0dmFyIG1hdGNoZXMgPSBtYXJrZXJQYWdlUmVzb2x1dGlvbi5tYXRjaCgvbWFya2Vycy1wYWdlLXJlc29sdXRpb249KFxcZCspeChcXGQrKS8pXG5cdFx0XHRjb25zb2xlLmFzc2VydChtYXRjaGVzLmxlbmd0aCA9PT0gMylcblx0XHRcdHZhciByZXNvbHV0aW9uVyA9IHBhcnNlSW50KG1hdGNoZXNbMV0pXG5cdFx0XHR2YXIgcmVzb2x1dGlvbkggPSBwYXJzZUludChtYXRjaGVzWzJdKVxuXHRcdFx0dmFyIGFyQ29udGV4dCA9IGFyU2Vzc2lvbi5hckNvbnRleHRcblx0XHRcdC8vIGdlbmVyYXRlIGFuZCBzdG9yZSB0aGUgQVJqc011bHRpTWFya2VyRmlsZVxuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uKGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKVxuXHRcdH1cblxuXHRcdC8vIGlmIHRoZXJlIGlzIG5vIEFSanNNdWx0aU1hcmtlckZpbGUsIGJ1aWxkIGEgZGVmYXVsdCBvbmVcblx0XHRpZiggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSA9PT0gbnVsbCApe1xuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZURlZmF1bHRNdWx0aU1hcmtlckZpbGUoYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuXHRcdH1cblxuXHRcdC8vIGdldCBtdWx0aU1hcmtlckZpbGUgZnJvbSBsb2NhbFN0b3JhZ2Vcblx0XHRjb25zb2xlLmFzc2VydCggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSAhPT0gbnVsbCApXG5cdFx0dmFyIG11bHRpTWFya2VyRmlsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJylcblxuXHRcdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdFx0aWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IHNjZW5lXG5cdFx0fWVsc2UgaWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IGNhbWVyYVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdFx0Ly8gYnVpbGQgYSBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0dmFyIG11bHRpTWFya2VyQ29udHJvbHMgPSBNYXJrZXJzQXJlYUNvbnRyb2xzLmZyb21KU09OKGFyQ29udGV4dCwgcGFyZW50M0QsIGNvbnRyb2xsZWRPYmplY3QsIG11bHRpTWFya2VyRmlsZSlcblx0XHR0aGlzLmNvbnRyb2xzID0gbXVsdGlNYXJrZXJDb250cm9sc1xuXG5cdFx0Ly8gaG9ub3IgbWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG5cdFx0bXVsdGlNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPSBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblxuLy8gVE9ETyBwdXQgc3ViTWFya2VyQ29udHJvbHMgdmlzaWJpbGl0eSBpbnRvIGFuIGV4dGVybmFsIGZpbGUuIHdpdGggMiBoYW5kbGluZyBmb3IgdGhyZWUuanMgYW5kIGJhYnlsb24uanNcblx0XHQvLyBjcmVhdGUgQXJNYXJrZXJIZWxwZXIgLSB1c2VmdWwgdG8gZGVidWcgLSBzdXBlciB0aHJlZS5qcyBzcGVjaWZpY1xuXHRcdHZhciBtYXJrZXJIZWxwZXJzID0gW11cblx0XHRtdWx0aU1hcmtlckNvbnRyb2xzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblx0XHRcdC8vIGFkZCBhbiBoZWxwZXIgdG8gdmlzdWFibGUgZWFjaCBzdWItbWFya2VyXG5cdFx0XHR2YXIgbWFya2VySGVscGVyID0gbmV3IEFyTWFya2VySGVscGVyKHN1Yk1hcmtlckNvbnRyb2xzKVxuXHRcdFx0bWFya2VySGVscGVyLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHRcdFx0Ly8gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0c3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0Ly8gYWRkIGl0IHRvIG1hcmtlckhlbHBlcnNcblx0XHRcdG1hcmtlckhlbHBlcnMucHVzaChtYXJrZXJIZWxwZXIpXG5cdFx0fSlcblx0XHQvLyBkZWZpbmUgQVBJIHNwZWNpZmljIHRvIG1hcmtlcnNBcmVhXG5cdFx0dGhpcy5tYXJrZXJzQXJlYSA9IHt9XG5cdFx0dGhpcy5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eSA9IGZ1bmN0aW9uKHZpc2libGUpe1xuXHRcdFx0bWFya2VySGVscGVycy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckhlbHBlcil7XG5cdFx0XHRcdG1hcmtlckhlbHBlci5vYmplY3QzZC52aXNpYmxlID0gdmlzaWJsZVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cblxuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwKClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0VEhSRUV4LkFyU21vb3RoZWRDb250cm9sc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHR2YXIgc2hvdWxkQmVTbW9vdGhlZCA9IHRydWVcblxuXHRpZiggc2hvdWxkQmVTbW9vdGhlZCA9PT0gdHJ1ZSApe1xuXHRcdC8vIGJ1aWxkIGEgc21vb3RoZWRDb250cm9sc1xuXHRcdHZhciBzbW9vdGhlZFJvb3QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuXHRcdHNjZW5lLmFkZChzbW9vdGhlZFJvb3QpXG5cdFx0dmFyIHNtb290aGVkQ29udHJvbHMgPSBuZXcgQXJTbW9vdGhlZENvbnRyb2xzKHNtb290aGVkUm9vdClcblx0XHRzbW9vdGhlZFJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1lbHNle1xuXHRcdG1hcmtlclJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1cblxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dGhpcy51cGRhdGUgPSBmdW5jdGlvbigpe1xuXHRcdC8vIHVwZGF0ZSBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdFx0X3RoaXMub2JqZWN0M2QudmlzaWJsZSA9IF90aGlzLm9iamVjdDNkLnBhcmVudC52aXNpYmxlXG5cblx0XHQvLyBjb25zb2xlLmxvZygnY29udHJvbGxlZE9iamVjdC52aXNpYmxlJywgX3RoaXMub2JqZWN0M2QucGFyZW50LnZpc2libGUpXG5cdFx0aWYoIHNtb290aGVkQ29udHJvbHMgIT09IHVuZGVmaW5lZCApe1xuXHRcdFx0Ly8gdXBkYXRlIHNtb290aGVkQ29udHJvbHMgcGFyYW1ldGVycyBkZXBlbmRpbmcgb24gaG93IG1hbnkgbWFya2VycyBhcmUgdmlzaWJsZSBpbiBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0XHRpZiggbXVsdGlNYXJrZXJDb250cm9scyAhPT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdG11bHRpTWFya2VyQ29udHJvbHMudXBkYXRlU21vb3RoZWRDb250cm9scyhzbW9vdGhlZENvbnRyb2xzKVxuXHRcdFx0fVxuXG5cdFx0XHQvLyB1cGRhdGUgc21vb3RoZWRDb250cm9sc1xuXHRcdFx0c21vb3RoZWRDb250cm9scy51cGRhdGUobWFya2VyUm9vdClcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5jaG9yOyIsImltcG9ydCBNYXJrZXJzQXJlYVV0aWxzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMnO1xuaW1wb3J0IENvbnRleHQgZnJvbSAnLi4vdGhyZWV4L2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgU2Vzc2lvbkRlYnVnVUkgPSBmdW5jdGlvbiAoYXJTZXNzaW9uKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwwLDAsMC45KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmxlZnQgPSAnNXB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMTBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUudGV4dEFsaWduID0gJ3JpZ2h0J1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Y3VycmVudC10cmFja2luZy1iYWNrZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICBkb21FbGVtZW50LmlubmVySFRNTCA9ICc8Yj50cmFja2luZ0JhY2tlbmQ8L2I+IDogJyArIHRyYWNraW5nQmFja2VuZFxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxufVxuXG4vKipcbiAqIFVybCBvZiBhdWdtZW50ZWQtd2Vic2l0ZSBzZXJ2aWNlIC0gaWYgPT09ICcnIHRoZW4gZG9udCBpbmNsdWRlIGF1Z21lbnRlZC13ZWJzaXRlIGxpbmtcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cblNlc3Npb25EZWJ1Z1VJLkF1Z21lbnRlZFdlYnNpdGVVUkwgPSAnaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZSdcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRBbmNob3JEZWJ1Z1VJXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgQW5jaG9yRGVidWdVSSA9IGZ1bmN0aW9uIChhckFuY2hvcikge1xuICAgIHZhciBhclNlc3Npb24gPSBhckFuY2hvci5hclNlc3Npb25cbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJTZXNzaW9uLmFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgxMjcsMTI3LDEyNywwLjUpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luID0gJzAuNWVtJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50ZXh0QWxpZ24gPSAnbGVmdCdcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdGN1cnJlbnQtdHJhY2tpbmctYmFja2VuZFxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgICBkb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgZG9tRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuNWVtJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICBkb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUubGVmdCA9ICc1cHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnNDBweCdcblxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxuICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJzxiPm1hcmtlcnNBcmVhRW5hYmxlZDwvYj4gOicgKyBhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZFxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0dG9nZ2xlLW1hcmtlci1oZWxwZXJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBhZGRpbmcgPSAnMC41ZW0nXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRleHRBbGlnbiA9ICdsZWZ0J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvblRvZ2dsZU1hcmtlckhlbHBlcnMnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ3RvZ2dsZS1tYXJrZXItaGVscGVyJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIHZhciBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlID8gZmFsc2UgOiB0cnVlXG4gICAgICAgICAgICBhckFuY2hvci5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eShzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRMZWFybi1uZXctbWFya2VyLWFyZWFcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW1lbnQpXG5cbiAgICAgICAgZG9tRWxlbWVudC5pZCA9ICdidXR0b25NYXJrZXJzQXJlYUxlYXJuZXInXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ0xlYXJuLW5ldy1tYXJrZXItYXJlYSdcbiAgICAgICAgZG9tRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSdcblxuICAgICAgICBkb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKEFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxlYXJuZXJVUkwgPSBBbmNob3JEZWJ1Z1VJLk1hcmtlcnNBcmVhTGVhcm5lclVSTFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgbGVhcm5lclVSTCA9IENvbnRleHQuYmFzZVVSTCArICdleGFtcGxlcy9tdWx0aS1tYXJrZXJzL2V4YW1wbGVzL2xlYXJuZXIuaHRtbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIE1hcmtlcnNBcmVhVXRpbHMubmF2aWdhdGVUb0xlYXJuZXJQYWdlKGxlYXJuZXJVUkwsIHRyYWNraW5nQmFja2VuZClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRSZXNldC1tYXJrZXItYXJlYVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJylcbiAgICAgICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvbk1hcmtlcnNBcmVhUmVzZXQnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ1Jlc2V0LW1hcmtlci1hcmVhJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBNYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSh0cmFja2luZ0JhY2tlbmQpXG4gICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuLyoqXG4gKiB1cmwgZm9yIHRoZSBtYXJrZXJzLWFyZWEgbGVhcm5lci4gaWYgbm90IHNldCwgdGFrZSB0aGUgZGVmYXVsdCBvbmVcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cbkFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMID0gbnVsbFxuXG5leHBvcnQge1xuICBTZXNzaW9uRGVidWdVSSxcbiAgQW5jaG9yRGVidWdVSVxufTtcbiIsImltcG9ydCBIaXRUZXN0aW5nUGxhbmUgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1oaXR0ZXN0aW5nLXBsYW5lJztcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBIaXRUZXN0aW5nID0gZnVuY3Rpb24gKGFyU2Vzc2lvbikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICB2YXIgYXJDb250ZXh0ID0gYXJTZXNzaW9uLmFyQ29udGV4dFxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZW5hYmxlZCA9IHRydWVcbiAgICB0aGlzLl9hclNlc3Npb24gPSBhclNlc3Npb25cbiAgICB0aGlzLl9oaXRUZXN0aW5nUGxhbmUgPSBudWxsXG4gICAgX3RoaXMuX2hpdFRlc3RpbmdQbGFuZSA9IG5ldyBIaXRUZXN0aW5nUGxhbmUoYXJTZXNzaW9uLmFyU291cmNlLmRvbUVsZW1lbnQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogdXBkYXRlXG4gKlxuICogQHBhcmFtIHtUSFJFRS5DYW1lcmF9IGNhbWVyYSAgIC0gdGhlIGNhbWVyYSB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuT2JqZWN0M0R9IG9iamVjdDNkIC1cbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpIHtcbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuXG5cblxuICAgIGlmICh0aGlzLl9oaXRUZXN0aW5nUGxhbmUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5faGl0VGVzdGluZ1BsYW5lLnVwZGF0ZShjYW1lcmEsIHBpY2tpbmdSb290LCBjaGFuZ2VNYXRyaXhNb2RlKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhY3R1YWwgaGl0IHRlc3Rpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRlc3QgdGhlIHJlYWwgd29ybGQgZm9yIGludGVyc2VjdGlvbnMgZGlyZWN0bHkgZnJvbSBhIERvbUV2ZW50XG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWCAtIHBvc2l0aW9uIFggb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWSAtIHBvc2l0aW9uIFkgb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdERvbUV2ZW50ID0gZnVuY3Rpb24gKGRvbUV2ZW50KSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMuX2FyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcbiAgICB2YXIgYXJTb3VyY2UgPSB0aGlzLl9hclNlc3Npb24uYXJTb3VyY2VcblxuICAgIC8vIGlmIGl0IGlzbnQgZW5hYmxlZCwgZG8gbm90aGluZ1xuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSByZXR1cm4gW11cbiAgICB2YXIgbW91c2VYID0gZG9tRXZlbnQuY2xpZW50WCAvIGFyU291cmNlLmRvbUVsZW1lbnRXaWR0aCgpXG4gICAgdmFyIG1vdXNlWSA9IGRvbUV2ZW50LmNsaWVudFkgLyBhclNvdXJjZS5kb21FbGVtZW50SGVpZ2h0KClcblxuICAgIHJldHVybiB0aGlzLnRlc3QobW91c2VYLCBtb3VzZVkpXG59XG5cbi8qKlxuICogVGVzdCB0aGUgcmVhbCB3b3JsZCBmb3IgaW50ZXJzZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbW91c2VYIC0gcG9zaXRpb24gWCBvZiB0aGUgaGl0IFswLCArMV1cbiAqIEBwYXJhbSB7TnVtYmVyfSBtb3VzZVkgLSBwb3NpdGlvbiBZIG9mIHRoZSBoaXQgWzAsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uIChtb3VzZVgsIG1vdXNlWSkge1xuICAgIHZhciBhckNvbnRleHQgPSB0aGlzLl9hclNlc3Npb24uYXJDb250ZXh0XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuICAgIHZhciBoaXRUZXN0UmVzdWx0cyA9IFtdXG5cbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuIFtdXG5cbiAgICB2YXIgcmVzdWx0ID0gdGhpcy5faGl0VGVzdGluZ1BsYW5lLnRlc3QobW91c2VYLCBtb3VzZVkpXG5cbiAgICAvLyBpZiBubyByZXN1bHQgaXMgZm91bmQsIHJldHVybiBub3dcbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSByZXR1cm4gaGl0VGVzdFJlc3VsdHNcblxuICAgIC8vIGJ1aWxkIGEgSGl0VGVzdGluZy5SZXN1bHRcbiAgICB2YXIgaGl0VGVzdFJlc3VsdCA9IG5ldyBIaXRUZXN0aW5nLlJlc3VsdChyZXN1bHQucG9zaXRpb24sIHJlc3VsdC5xdWF0ZXJuaW9uLCByZXN1bHQuc2NhbGUpXG4gICAgaGl0VGVzdFJlc3VsdHMucHVzaChoaXRUZXN0UmVzdWx0KVxuXG4gICAgcmV0dXJuIGhpdFRlc3RSZXN1bHRzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0SGl0VGVzdGluZy5SZXN1bHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBDb250YWlucyB0aGUgcmVzdWx0IG9mIEhpdFRlc3RpbmcudGVzdCgpXG4gKlxuICogQHBhcmFtIHtUSFJFRS5WZWN0b3IzfSBwb3NpdGlvbiAtIHBvc2l0aW9uIHRvIHVzZVxuICogQHBhcmFtIHtUSFJFRS5RdWF0ZXJuaW9ufSBxdWF0ZXJuaW9uIC0gcXVhdGVybmlvbiB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuVmVjdG9yM30gc2NhbGUgLSBzY2FsZVxuICovXG5IaXRUZXN0aW5nLlJlc3VsdCA9IGZ1bmN0aW9uIChwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpIHtcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb25cbiAgICB0aGlzLnF1YXRlcm5pb24gPSBxdWF0ZXJuaW9uXG4gICAgdGhpcy5zY2FsZSA9IHNjYWxlXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseSA9IGZ1bmN0aW9uIChvYmplY3QzZCkge1xuICAgIG9iamVjdDNkLnBvc2l0aW9uLmNvcHkodGhpcy5wb3NpdGlvbilcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuICAgIG9iamVjdDNkLnNjYWxlLmNvcHkodGhpcy5zY2FsZSlcblxuICAgIG9iamVjdDNkLnVwZGF0ZU1hdHJpeCgpXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVBvc2l0aW9uID0gZnVuY3Rpb24gKG9iamVjdDNkKSB7XG4gICAgb2JqZWN0M2QucG9zaXRpb24uY29weSh0aGlzLnBvc2l0aW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVF1YXRlcm5pb24gPSBmdW5jdGlvbiAob2JqZWN0M2QpIHtcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbmV4cG9ydCBkZWZhdWx0IEhpdFRlc3Rpbmc7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgU291cmNlIGZyb20gJy4uL3RocmVleC9hcmpzLXNvdXJjZSc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi90aHJlZXgvYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG4vKipcbiAqICAqIGRlZmluZSBhIFNlc3Npb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1ldGVycyAtIHBhcmFtZXRlcnMgZm9yIHRoaXMgc2Vzc2lvblxuICovXG5jb25zdCBTZXNzaW9uID0gZnVuY3Rpb24ocGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0cmVuZGVyZXI6IG51bGwsXG5cdFx0Y2FtZXJhOiBudWxsLFxuXHRcdHNjZW5lOiBudWxsLFxuXHRcdHNvdXJjZVBhcmFtZXRlcnM6IHt9LFxuXHRcdGNvbnRleHRQYXJhbWV0ZXJzOiB7fSxcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblx0Ly8gc2FuaXR5IGNoZWNrXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5yZW5kZXJlciBpbnN0YW5jZW9mIFRIUkVFLldlYkdMUmVuZGVyZXIpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5jYW1lcmEgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5zY2VuZSBpbnN0YW5jZW9mIFRIUkVFLlNjZW5lKVxuXG5cblx0Ly8gYmFja3dhcmQgZW11bGF0aW9uXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAncmVuZGVyZXInLCB7Z2V0OiBmdW5jdGlvbigpe1xuXHRcdGNvbnNvbGUud2FybigndXNlIC5wYXJhbWV0ZXJzLnJlbmRlcmVyIHJlbmRlcmVyJylcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyO1xuXHR9fSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY2FtZXJhJywge2dldDogZnVuY3Rpb24oKXtcblx0XHRjb25zb2xlLndhcm4oJ3VzZSAucGFyYW1ldGVycy5jYW1lcmEgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5jYW1lcmE7XG5cdH19KTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY2VuZScsIHtnZXQ6IGZ1bmN0aW9uKCl7XG5cdFx0Y29uc29sZS53YXJuKCd1c2UgLnBhcmFtZXRlcnMuc2NlbmUgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5zY2VuZTtcblx0fX0pO1xuXG5cblx0Ly8gbG9nIHRoZSB2ZXJzaW9uXG5cdGNvbnNvbGUubG9nKCdBUi5qcycsIENvbnRleHQuUkVWSVNJT04sICctIHRyYWNraW5nQmFja2VuZDonLCBwYXJhbWV0ZXJzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhclNvdXJjZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dmFyIGFyU291cmNlID0gX3RoaXMuYXJTb3VyY2UgPSBuZXcgU291cmNlKHBhcmFtZXRlcnMuc291cmNlUGFyYW1ldGVycylcblxuXHRhclNvdXJjZS5pbml0KGZ1bmN0aW9uIG9uUmVhZHkoKXtcblx0XHRhclNvdXJjZS5vblJlc2l6ZShhckNvbnRleHQsIF90aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhKVxuXHR9KVxuXG5cdC8vIGhhbmRsZSByZXNpemVcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7XG5cdFx0YXJTb3VyY2Uub25SZXNpemUoYXJDb250ZXh0LCBfdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSlcblx0fSlcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhckNvbnRleHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0Ly8gY3JlYXRlIGF0VG9vbGtpdENvbnRleHRcblx0dmFyIGFyQ29udGV4dCA9IF90aGlzLmFyQ29udGV4dCA9IG5ldyBDb250ZXh0KHBhcmFtZXRlcnMuY29udGV4dFBhcmFtZXRlcnMpXG5cblx0Ly8gaW5pdGlhbGl6ZSBpdFxuXHRfdGhpcy5hckNvbnRleHQuaW5pdCgpXG5cblx0YXJDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2luaXRpYWxpemVkJywgZnVuY3Rpb24oZXZlbnQpe1xuXHRcdGFyU291cmNlLm9uUmVzaXplKGFyQ29udGV4dCwgX3RoaXMucGFyYW1ldGVycy5yZW5kZXJlciwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmEpXG5cdH0pXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHVwZGF0ZSBmdW5jdGlvblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gdXBkYXRlIGFydG9vbGtpdCBvbiBldmVyeSBmcmFtZVxuXHR0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG5cdFx0aWYoIGFyU291cmNlLnJlYWR5ID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdGFyQ29udGV4dC51cGRhdGUoIGFyU291cmNlLmRvbUVsZW1lbnQgKVxuXHR9XG59XG5cblNlc3Npb24ucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKCkge1xuXHR0aGlzLmFyU291cmNlLm9uUmVzaXplKHRoaXMuYXJDb250ZXh0LCB0aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIHRoaXMucGFyYW1ldGVycy5jYW1lcmEpXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXNzaW9uOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgVXRpbHMgPSB7fTtcblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHJlbmRlcmluZyBjYW1lcmEgZm9yIHRoaXMgdHJhY2tpbmdCYWNrZW5kLiBUaGV5IG1heSBiZSBtb2RpZmllZCBsYXRlci4gdG8gZml0IHBoeXNpY2FsIGNhbWVyYSBwYXJhbWV0ZXJzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMucGFyc2VUcmFja2luZ01ldGhvZCh0cmFja2luZ01ldGhvZCkudHJhY2tpbmdCYWNrZW5kXG4gICAgLy8gQ3JlYXRlIGEgY2FtZXJhXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdmFyIGNhbWVyYSA9IG5ldyBUSFJFRS5DYW1lcmEoKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmtub3duIHRyYWNraW5nQmFja2VuZDogJyArIHRyYWNraW5nQmFja2VuZClcblxuICAgIHJldHVybiBjYW1lcmFcbn1cblxuLyoqXG4gKiBwYXJzZSB0cmFja2luZyBtZXRob2RcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdNZXRob2QgLSB0aGUgdHJhY2tpbmcgbWV0aG9kIHRvIHBhcnNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdmFyaW91cyBmaWVsZCBvZiB0aGUgdHJhY2tpbmcgbWV0aG9kXG4gKi9cblV0aWxzLnBhcnNlVHJhY2tpbmdNZXRob2QgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcblxuICAgIGlmICh0cmFja2luZ01ldGhvZCA9PT0gJ2Jlc3QnKSB7XG4gICAgICAgIHRyYWNraW5nTWV0aG9kID0gJ2FyZWEtYXJ0b29sa2l0JztcbiAgICB9XG5cbiAgICBpZiAodHJhY2tpbmdNZXRob2Quc3RhcnRzV2l0aCgnYXJlYS0nKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiB0cmFja2luZ01ldGhvZC5yZXBsYWNlKCdhcmVhLScsICcnKSxcbiAgICAgICAgICAgIG1hcmtlcnNBcmVhRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nTWV0aG9kLFxuICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2VyY29udHJvbHMtbmZ0JztcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycywgc291cmNlUGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBMYWJlbGluZyBtb2RlIGZvciBtYXJrZXJzIC0gWydibGFja19yZWdpb24nLCAnd2hpdGVfcmVnaW9uJ11cbiAgICAgICAgLy8gYmxhY2tfcmVnaW9uOiBCbGFjayBib3JkZXJlZCBtYXJrZXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZCwgd2hpdGVfcmVnaW9uOiBXaGl0ZSBib3JkZXJlZCBtYXJrZXJzIG9uIGEgYmxhY2sgYmFja2dyb3VuZFxuICAgICAgICBsYWJlbGluZ01vZGU6ICdibGFja19yZWdpb24nLFxuXG4gICAgICAgIC8vIGVuYWJsZSBpbWFnZSBzbW9vdGhpbmcgb3Igbm90IGZvciBjYW52YXMgY29weSAtIGRlZmF1bHQgdG8gdHJ1ZVxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEL2ltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICBpbWFnZVNtb290aGluZ0VuYWJsZWQ6IGZhbHNlLFxuICAgIH1cbiAgICAvLyBwYXJhbWV0ZXJzIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KFsnYXJ0b29sa2l0J10uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciB0cmFja2luZ0JhY2tlbmQnLCB0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuICAgIGNvbnNvbGUuYXNzZXJ0KFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpICE9PSAtMSwgJ2ludmFsaWQgcGFyYW1ldGVyIGRldGVjdGlvbk1vZGUnLCB0aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSlcbiAgICBjb25zb2xlLmFzc2VydChbXCJibGFja19yZWdpb25cIiwgXCJ3aGl0ZV9yZWdpb25cIl0uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMubGFiZWxpbmdNb2RlKSAhPT0gLTEsIFwiaW52YWxpZCBwYXJhbWV0ZXIgbGFiZWxpbmdNb2RlXCIsIHRoaXMucGFyYW1ldGVycy5sYWJlbGluZ01vZGUpO1xuXG4gICAgdGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG5cbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRzZXRQYXJhbWV0ZXJzXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuICAgIGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICAgICAgICBpZiAocGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm5cbiAgICAgICAgZm9yICh2YXIga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNvbnRleHQ6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQ29udGV4dC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudDtcbkNvbnRleHQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyO1xuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcblxuLy8gZGVmYXVsdCB0byBnaXRodWIgcGFnZVxuQ29udGV4dC5iYXNlVVJMID0gJ2h0dHBzOi8vYXItanMtb3JnLmdpdGh1Yi5pby9BUi5qcy90aHJlZS5qcy8nXG5Db250ZXh0LlJFVklTSU9OID0gJzMuMy4zLWVzNi1iZXRhLTAxJztcblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgdG8gdXNlclxuICogQHJldHVybiB7VEhSRUUuQ2FtZXJhfSB0aGUgY3JlYXRlZCBjYW1lcmFcbiAqL1xuQ29udGV4dC5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndXNlIEFSanMuVXRpbHMuY3JlYXRlRGVmYXVsdENhbWVyYSBpbnN0ZWFkJylcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpXG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICAgICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICAgICAgX3RoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiAnaW5pdGlhbGl6ZWQnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIF90aGlzLmluaXRpYWxpemVkID0gdHJ1ZVxuXG4gICAgICAgIG9uQ29tcGxldGVkICYmIG9uQ29tcGxldGVkKClcbiAgICB9XG5cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICB1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuXG4gICAgLy8gYmUgc3VyZSBhckNvbnRyb2xsZXIgaXMgZnVsbHkgaW5pdGlhbGl6ZWRcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgJiYgdGhpcy5hckNvbnRyb2xsZXIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlXG4gICAgdmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgIGlmICh0aGlzLl91cGRhdGVkQXQgIT09IG51bGwgJiYgcHJlc2VudCAtIHRoaXMuX3VwZGF0ZWRBdCA8IDEwMDAgLyB0aGlzLnBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlZEF0ID0gcHJlc2VudFxuXG4gICAgdmFyIHByZXZWaXNpYmxlTWFya2VycyA9IFtdXG5cbiAgICAvLyBtYXJrIGFsbCBtYXJrZXJzIHRvIGludmlzaWJsZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGlzIGZyYW1lXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgaWYgKG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUpIHtcbiAgICAgICAgICAgIHByZXZWaXNpYmxlTWFya2Vycy5wdXNoKG1hcmtlckNvbnRyb2xzKVxuICAgICAgICB9XG4gICAgICAgIGlmICghbWFya2VyQ29udHJvbHMuY29udGV4dC5hckNvbnRyb2xsZXIuc2hvd09iamVjdCkge1xuICAgICAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gcHJvY2VzcyB0aGlzIGZyYW1lXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUFydG9vbGtpdChzcmNFbGVtZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGRpc3BhdGNoIGV2ZW50XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgdHlwZTogJ3NvdXJjZVByb2Nlc3NlZCdcbiAgICB9KTtcblxuICAgIC8vIEFmdGVyIGZyYW1lIGlzIHByb2Nlc3NlZCwgY2hlY2sgdmlzaWJpbGl0eSBvZiBlYWNoIG1hcmtlciB0byBkZXRlcm1pbmUgaWYgaXQgd2FzIGZvdW5kIG9yIGxvc3RcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICB2YXIgd2FzVmlzaWJsZSA9IHByZXZWaXNpYmxlTWFya2Vycy5pbmNsdWRlcyhtYXJrZXJDb250cm9scyk7XG4gICAgICAgIHZhciBpc1Zpc2libGUgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZC52aXNpYmxlO1xuXG4gICAgICAgIGlmIChpc1Zpc2libGUgPT09IHRydWUgJiYgd2FzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFya2VyRm91bmQnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSA9PT0gZmFsc2UgJiYgd2FzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJMb3N0Jywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2VyQ29udHJvbHMsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyByZXR1cm4gdHJ1ZSBhcyB3ZSBwcm9jZXNzZWQgdGhlIGZyYW1lXG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBBZGQvUmVtb3ZlIG1hcmtlckNvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuYWRkTWFya2VyID0gZnVuY3Rpb24gKGFyTWFya2VyQ29udHJvbHMpIHtcbiAgICBjb25zb2xlLmFzc2VydChhck1hcmtlckNvbnRyb2xzIGluc3RhbmNlb2YgQXJNYXJrZXJDb250cm9scylcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5wdXNoKGFyTWFya2VyQ29udHJvbHMpXG59XG5cbkNvbnRleHQucHJvdG90eXBlLnJlbW92ZU1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZSBtYXJrZXIgZm9yJywgYXJNYXJrZXJDb250cm9scylcbiAgICB2YXIgaW5kZXggPSB0aGlzLmFyTWFya2VyQ29udHJvbHMuaW5kZXhPZihhcnRvb2xraXRNYXJrZXIpO1xuICAgIGNvbnNvbGUuYXNzZXJ0KGluZGV4ICE9PSBpbmRleClcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5zcGxpY2UoaW5kZXgsIDEpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0YXJ0b29sa2l0IHNwZWNpZmljXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgLy8gc2V0IHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4IHRvIGNoYW5nZSBhcnRvb2xraXQgcHJvamVjdGlvbiBtYXRyaXggYXhpcyB0byBtYXRjaCB1c3VhbCB3ZWJnbCBvbmVcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblkoTWF0aC5QSSkpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25aKE1hdGguUEkpKVxuXG4gICAgdmFyIG9uRXJyb3IgPSBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH07XG5cbiAgICAvLyBpbml0IEFSVG9vbGtpdFxuICAgIGFydG9vbGtpdC5pbml0KCkudGhlbihfID0+IHtcbiAgICAgICAgLy8gaW5pdCBjb250cm9sbGVyXG4gICAgICAgIEFSQ29udHJvbGxlci5pbml0V2l0aERpbWVuc2lvbnMoX3RoaXMucGFyYW1ldGVycy5jYW52YXNXaWR0aCwgX3RoaXMucGFyYW1ldGVycy5jYW52YXNIZWlnaHQsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCkudGhlbigoYXJDb250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgICBfdGhpcy5hckNvbnRyb2xsZXIgPSBhckNvbnRyb2xsZXJcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5tb3pJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1zSW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuZGVidWdcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLmRlYnVnID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmRlYnVnU2V0dXAoKTtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUudG9wID0gJzBweCdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLm9wYWNpdHkgPSAnMC42J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuekluZGV4ID0gJy0xJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxuICAgICAgICAgICAgdmFyIGRldGVjdGlvbk1vZGVzID0ge1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUixcbiAgICAgICAgICAgICAgICAnY29sb3JfYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYLFxuICAgICAgICAgICAgICAgICdtb25vJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk8sXG4gICAgICAgICAgICAgICAgJ21vbm9fYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19NT05PX0FORF9NQVRSSVgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZSA9IGRldGVjdGlvbk1vZGVzW190aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRldGVjdGlvbk1vZGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZShkZXRlY3Rpb25Nb2RlKTtcblxuICAgICAgICAgICAgLy8gc2V0TWF0cml4Q29kZVR5cGVcbiAgICAgICAgICAgIHZhciBtYXRyaXhDb2RlVHlwZXMgPSB7XG4gICAgICAgICAgICAgICAgJzN4Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDMsXG4gICAgICAgICAgICAgICAgJzN4M19IQU1NSU5HNjMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MyxcbiAgICAgICAgICAgICAgICAnM3gzX1BBUklUWTY1JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4M19QQVJJVFk2NSxcbiAgICAgICAgICAgICAgICAnNHg0JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NCxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM185XzMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM185XzMsXG4gICAgICAgICAgICAgICAgJzR4NF9CQ0hfMTNfNV81JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlID0gbWF0cml4Q29kZVR5cGVzW190aGlzLnBhcmFtZXRlcnMubWF0cml4Q29kZVR5cGVdXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChtYXRyaXhDb2RlVHlwZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldE1hdHJpeENvZGVUeXBlKG1hdHJpeENvZGVUeXBlKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRoZSBwYXR0ZXJuUmF0aW8gZm9yIGFydG9vbGtpdFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRSYXRpbyhfdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aGUgbGFiZWxpbmdNb2RlIGZvciBhcnRvb2xraXRcbiAgICAgICAgICAgIHZhciBsYWJlbGluZ01vZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICBcImJsYWNrX3JlZ2lvblwiOiBhcnRvb2xraXQuQVJfTEFCRUxJTkdfQkxBQ0tfUkVHSU9OLFxuICAgICAgICAgICAgICAgIFwid2hpdGVfcmVnaW9uXCI6IGFydG9vbGtpdC5BUl9MQUJFTElOR19XSElURV9SRUdJT05cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBsYWJlbGluZ01vZGVUeXBlID0gbGFiZWxpbmdNb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5sYWJlbGluZ01vZGVdO1xuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQobGFiZWxpbmdNb2RlVHlwZSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRMYWJlbGluZ01vZGUobGFiZWxpbmdNb2RlVHlwZSk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aHJlc2hvbGRpbmcgaW4gYXJ0b29sa2l0XG4gICAgICAgICAgICAvLyB0aGlzIHNlZW1zIHRvIGJlIHRoZSBkZWZhdWx0XG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfTUFOVUFMKVxuICAgICAgICAgICAgLy8gYWRhdGF0aXZlIGNvbnN1bWUgYSBMT1Qgb2YgY3B1Li4uXG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRSlcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UpXG5cbiAgICAgICAgICAgIC8vIG5vdGlmeVxuICAgICAgICAgICAgb25Db21wbGV0ZWQoKVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIHJldHVybiB0aGUgcHJvamVjdGlvbiBtYXRyaXhcbiAqL1xuQ29udGV4dC5wcm90b3R5cGUuZ2V0UHJvamVjdGlvbk1hdHJpeCA9IGZ1bmN0aW9uICgpIHtcbiAgICAvLyBGSVhNRSByZW5hbWUgdGhpcyBmdW5jdGlvbiB0byBzYXkgaXQgaXMgYXJ0b29sa2l0IHNwZWNpZmljIC0gZ2V0QXJ0b29sa2l0UHJvamVjdE1hdHJpeFxuICAgIC8vIGtlZXAgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggYSBjb25zb2xlLndhcm5cblxuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKVxuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuYXJDb250cm9sbGVyLCAnYXJDb250cm9sbGVyIE1VU1QgYmUgaW5pdGlhbGl6ZWQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uJylcblxuICAgIC8vIGdldCBwcm9qZWN0aW9uTWF0cml4QXJyIGZyb20gYXJ0b29sa2l0XG4gICAgdmFyIHByb2plY3Rpb25NYXRyaXhBcnIgPSB0aGlzLmFyQ29udHJvbGxlci5nZXRDYW1lcmFNYXRyaXgoKTtcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KHByb2plY3Rpb25NYXRyaXhBcnIpXG5cbiAgICAvLyBwcm9qZWN0aW9uTWF0cml4Lm11bHRpcGx5KHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4KVxuXG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb250ZXh0OyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJ3RocmVleEFybWFya2VyY29udHJvbHMnOyAvLyBBbGlhcyBmb3IgZHluYW1pYyBpbXBvcnRpbmdcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBlbmFibGUgaW1hZ2Ugc21vb3RoaW5nIG9yIG5vdCBmb3IgY2FudmFzIGNvcHkgLSBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkOiBmYWxzZSxcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVycyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChbJ2FydG9vbGtpdCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgdHJhY2tpbmdCYWNrZW5kJywgdGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcbiAgICBjb25zb2xlLmFzc2VydChbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciBkZXRlY3Rpb25Nb2RlJywgdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpXG5cbiAgICB0aGlzLmFyQ29udHJvbGxlciA9IG51bGw7XG5cbiAgICBfdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlXG5cblxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzID0gW11cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb250ZXh0OiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50ID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50O1xuQ29udGV4dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcjtcbkNvbnRleHQucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyO1xuXG4vLyBkZWZhdWx0IHRvIGdpdGh1YiBwYWdlXG5Db250ZXh0LmJhc2VVUkwgPSAnaHR0cHM6Ly9hci1qcy1vcmcuZ2l0aHViLmlvL0FSLmpzL3RocmVlLmpzLydcbkNvbnRleHQuUkVWSVNJT04gPSAnMy4zLjMtZXM2LWJldGEtMDEnXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY2FtZXJhIGZvciB0aGlzIHRyYWNraW5nQmFja2VuZFxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5Db250ZXh0LmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1c2UgQVJqcy5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhIGluc3RlYWQnKVxuICAgIC8vIENyZWF0ZSBhIGNhbWVyYVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHZhciBjYW1lcmEgPSBuZXcgVEhSRUUuQ2FtZXJhKCk7XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuXG5cbiAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgICAgICBfdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6ICdpbml0aWFsaXplZCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlXG5cbiAgICAgICAgb25Db21wbGV0ZWQgJiYgb25Db21wbGV0ZWQoKVxuICAgIH1cblxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cbiAgICAvLyBiZSBzdXJlIGFyQ29udHJvbGxlciBpcyBmdWxseSBpbml0aWFsaXplZFxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyAmJiB0aGlzLmFyQ29udHJvbGxlciA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGVcbiAgICB2YXIgcHJlc2VudCA9IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgaWYgKHRoaXMuX3VwZGF0ZWRBdCAhPT0gbnVsbCAmJiBwcmVzZW50IC0gdGhpcy5fdXBkYXRlZEF0IDwgMTAwMCAvIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICB0aGlzLl91cGRhdGVkQXQgPSBwcmVzZW50XG5cbiAgICB2YXIgcHJldlZpc2libGVNYXJrZXJzID0gW11cblxuICAgIC8vIG1hcmsgYWxsIG1hcmtlcnMgdG8gaW52aXNpYmxlIGJlZm9yZSBwcm9jZXNzaW5nIHRoaXMgZnJhbWVcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICBpZiAobWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSkge1xuICAgICAgICAgICAgcHJldlZpc2libGVNYXJrZXJzLnB1c2gobWFya2VyQ29udHJvbHMpXG4gICAgICAgIH1cbiAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgfSlcblxuICAgIC8vIHByb2Nlc3MgdGhpcyBmcmFtZVxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl91cGRhdGVBcnRvb2xraXQoc3JjRWxlbWVudCk7XG4gICAgfSAgZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHR5cGU6ICdzb3VyY2VQcm9jZXNzZWQnXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBmcmFtZSBpcyBwcm9jZXNzZWQsIGNoZWNrIHZpc2liaWxpdHkgb2YgZWFjaCBtYXJrZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBmb3VuZCBvciBsb3N0XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBwcmV2VmlzaWJsZU1hcmtlcnMuaW5jbHVkZXMobWFya2VyQ29udHJvbHMpO1xuICAgICAgICB2YXIgaXNWaXNpYmxlID0gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZTtcbiAgICBcbiAgICAgICAgaWYgKGlzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB3YXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJGb3VuZCcsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IG1hcmtlckNvbnRyb2xzLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0gZWxzZSBpZiAoaXNWaXNpYmxlID09PSBmYWxzZSAmJiB3YXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21hcmtlckxvc3QnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9XG4gICAgfSlcblxuXG4gICAgLy8gcmV0dXJuIHRydWUgYXMgd2UgcHJvY2Vzc2VkIHRoZSBmcmFtZVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgQWRkL1JlbW92ZSBtYXJrZXJDb250cm9sc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmFkZE1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMucHVzaChhck1hcmtlckNvbnRyb2xzKVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHZhciBpbmRleCA9IHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmluZGV4T2YoYXJNYXJrZXJDb250cm9scyk7XG4gICAgaWYoIGluZGV4IDwgMCApIHtcbiAgICBcdHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuc3BsaWNlKGluZGV4LCAxKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFydG9vbGtpdCBzcGVjaWZpY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIHNldCB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCB0byBjaGFuZ2UgYXJ0b29sa2l0IHByb2plY3Rpb24gbWF0cml4IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25ZKE1hdGguUEkpKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWihNYXRoLlBJKSlcblxuICAgIC8vIGluaXQgQVJUb29sa2l0XG4gICAgYXJ0b29sa2l0LmluaXQoKS50aGVuKF8gPT4ge1xuICAgICAgICAvLyBpbml0IGNvbnRyb2xsZXJcbiAgICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc1dpZHRoLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmFQYXJhbWV0ZXJzVXJsKS50aGVuKChhckNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIF90aGlzLmFyQ29udHJvbGxlciA9IGFyQ29udHJvbGxlclxuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1vekltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgubXNJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG5cbiAgICAgICAgICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5kZWJ1Z1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcmFtZXRlcnMuZGVidWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuZGVidWdTZXR1cCgpO1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS50b3AgPSAnMHB4J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUub3BhY2l0eSA9ICcwLjYnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS56SW5kZXggPSAnLTEnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZXMgPSB7XG4gICAgICAgICAgICAgICAgJ2NvbG9yJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SLFxuICAgICAgICAgICAgICAgICdjb2xvcl9hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgsXG4gICAgICAgICAgICAgICAgJ21vbm8nOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OTyxcbiAgICAgICAgICAgICAgICAnbW9ub19hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBkZXRlY3Rpb25Nb2RlID0gZGV0ZWN0aW9uTW9kZXNbX3RoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlXVxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZGV0ZWN0aW9uTW9kZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKGRldGVjdGlvbk1vZGUpO1xuXG4gICAgICAgICAgICAvLyBzZXRNYXRyaXhDb2RlVHlwZVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICAnM3gzJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4MyxcbiAgICAgICAgICAgICAgICAnM3gzX0hBTU1JTkc2Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDNfSEFNTUlORzYzLFxuICAgICAgICAgICAgICAgICczeDNfUEFSSVRZNjUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1LFxuICAgICAgICAgICAgICAgICc0eDQnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0LFxuICAgICAgICAgICAgICAgICc0eDRfQkNIXzEzXzlfMyc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMyxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM181XzUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM181XzUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbWF0cml4Q29kZVR5cGUgPSBtYXRyaXhDb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5tYXRyaXhDb2RlVHlwZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG1hdHJpeENvZGVUeXBlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0TWF0cml4Q29kZVR5cGUobWF0cml4Q29kZVR5cGUpO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIHBhdHRlcm5SYXRpbyBmb3IgYXJ0b29sa2l0XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0UGF0dFJhdGlvKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblJhdGlvKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRocmVzaG9sZGluZyBpbiBhcnRvb2xraXRcbiAgICAgICAgICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgdGhlIGRlZmF1bHRcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwpXG4gICAgICAgICAgICAvLyBhZGF0YXRpdmUgY29uc3VtZSBhIExPVCBvZiBjcHUuLi5cbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX0FEQVBUSVZFKVxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fT1RTVSlcblxuICAgICAgICAgICAgLy8gbm90aWZ5XG4gICAgICAgICAgICBvbkNvbXBsZXRlZCgpXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogcmV0dXJuIHRoZSBwcm9qZWN0aW9uIG1hdHJpeFxuICovXG5Db250ZXh0LnByb3RvdHlwZS5nZXRQcm9qZWN0aW9uTWF0cml4ID0gZnVuY3Rpb24gKHNyY0VsZW1lbnQpIHtcblxuXG4gICAgLy8gRklYTUUgcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc2F5IGl0IGlzIGFydG9vbGtpdCBzcGVjaWZpYyAtIGdldEFydG9vbGtpdFByb2plY3RNYXRyaXhcbiAgICAvLyBrZWVwIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGEgY29uc29sZS53YXJuXG5cbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JylcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmFyQ29udHJvbGxlciwgJ2FyQ29udHJvbGxlciBNVVNUIGJlIGluaXRpYWxpemVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpXG4gICAgLy8gZ2V0IHByb2plY3Rpb25NYXRyaXhBcnIgZnJvbSBhcnRvb2xraXRcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeEFyciA9IHRoaXMuYXJDb250cm9sbGVyLmdldENhbWVyYU1hdHJpeCgpO1xuICAgIHZhciBwcm9qZWN0aW9uTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkocHJvamVjdGlvbk1hdHJpeEFycilcblxuICAgIC8vIHJldHVybiB0aGUgcmVzdWx0XG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdC8vIG1hcmtlcnNcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcblx0XHRjb25zb2xlLmFzc2VydChtYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpO1xuXHRcdG1hcmtlckNvbnRyb2xzLmRpc3Bvc2UoKTtcblx0fSApO1xuXHR0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdO1xuXG5cdC8vIGNhbWVyYVBhcmFtXG5cdGlmICh0aGlzLmFyQ29udHJvbGxlciAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbSAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbS5kaXNwb3NlKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSgpO1xuXHR9XG5cblx0XG5cdC8vIEFSQ29udHJvbGxlclxuXHRpZiggdGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSApIHtcblx0XHR0aGlzLmFyQ29udHJvbGxlci5kaXNwb3NlKCk7XG5cdH1cblx0dGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgLy8gY2xhc3MgcHJvcGVydGllc1xuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbnVsbDtcblxuXHQvLyBhcnRvb2xraXRcblx0Ly8gTk9URTogc2luY2UgdGhlIGluc3RhbmNlIG9mIEFSVG9vbGtpdCBpcyBjcmVhdGVkIGdsb2JhbGx5IFxuXHQvLyB3ZSBzaG91bGQgcHJvYmFibHkgZG8gbm90IGNhbGwgLnRlYXJkb3duKCkgLi4uID9cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IFdvcmtlciBmcm9tICcuL2FyanMtbWFya2VyY29udHJvbHMtbmZ0Lndvcmtlci5qcyc7XG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0IH0gPSBqc2FydG9vbGtpdDtcblxuY29uc3QgTWFya2VyQ29udHJvbHMgPSBmdW5jdGlvbiAoY29udGV4dCwgb2JqZWN0M2QsIHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dFxuICAgIC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB7XG4gICAgICAgIC8vIHNpemUgb2YgdGhlIG1hcmtlciBpbiBtZXRlclxuICAgICAgICBzaXplOiAxLFxuICAgICAgICAvLyB0eXBlIG9mIG1hcmtlciAtIFsncGF0dGVybicsICdiYXJjb2RlJywgJ25mdCcsICd1bmtub3duJyBdXG4gICAgICAgIHR5cGU6ICd1bmtub3duJyxcbiAgICAgICAgLy8gdXJsIG9mIHRoZSBwYXR0ZXJuIC0gSUlGIHR5cGU9J3BhdHRlcm4nXG4gICAgICAgIHBhdHRlcm5Vcmw6IG51bGwsXG4gICAgICAgIC8vIHZhbHVlIG9mIHRoZSBiYXJjb2RlIC0gSUlGIHR5cGU9J2JhcmNvZGUnXG4gICAgICAgIGJhcmNvZGVWYWx1ZTogbnVsbCxcbiAgICAgICAgLy8gdXJsIG9mIHRoZSBkZXNjcmlwdG9ycyBvZiBpbWFnZSAtIElJRiB0eXBlPSduZnQnXG4gICAgICAgIGRlc2NyaXB0b3JzVXJsOiBudWxsLFxuICAgICAgICAvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG4gICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgICAgICAvLyBtaW5pbWFsIGNvbmZpZGVuY2UgaW4gdGhlIG1hcmtlIHJlY29nbml0aW9uIC0gYmV0d2VlbiBbMCwgMV0gLSBkZWZhdWx0IHRvIDFcbiAgICAgICAgbWluQ29uZmlkZW5jZTogMC42LFxuICAgICAgICAvLyB0dXJuIG9uL29mZiBjYW1lcmEgc21vb3RoaW5nXG4gICAgICAgIHNtb290aDogZmFsc2UsXG4gICAgICAgIC8vIG51bWJlciBvZiBtYXRyaWNlcyB0byBzbW9vdGggdHJhY2tpbmcgb3ZlciwgbW9yZSA9IHNtb290aGVyIGJ1dCBzbG93ZXIgZm9sbG93XG4gICAgICAgIHNtb290aENvdW50OiA1LFxuICAgICAgICAvLyBkaXN0YW5jZSB0b2xlcmFuY2UgZm9yIHNtb290aGluZywgaWYgc21vb3RoVGhyZXNob2xkICMgb2YgbWF0cmljZXMgYXJlIHVuZGVyIHRvbGVyYW5jZSwgdHJhY2tpbmcgd2lsbCBzdGF5IHN0aWxsXG4gICAgICAgIHNtb290aFRvbGVyYW5jZTogMC4wMSxcbiAgICAgICAgLy8gdGhyZXNob2xkIGZvciBzbW9vdGhpbmcsIHdpbGwga2VlcCBzdGlsbCB1bmxlc3MgZW5vdWdoIG1hdHJpY2VzIGFyZSBvdmVyIHRvbGVyYW5jZVxuICAgICAgICBzbW9vdGhUaHJlc2hvbGQ6IDIsXG4gICAgfVxuXG4gICAgLy8gc2FuaXR5IGNoZWNrXG4gICAgdmFyIHBvc3NpYmxlVmFsdWVzID0gWydwYXR0ZXJuJywgJ2JhcmNvZGUnLCAnbmZ0JywgJ3Vua25vd24nXVxuICAgIGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnR5cGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMudHlwZSlcbiAgICB2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ21vZGVsVmlld01hdHJpeCcsICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnXVxuICAgIGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSlcblxuICAgIC8vIGNyZWF0ZSB0aGUgbWFya2VyIFJvb3RcbiAgICB0aGlzLm9iamVjdDNkID0gb2JqZWN0M2RcbiAgICB0aGlzLm9iamVjdDNkLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICB0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0c2V0UGFyYW1ldGVyc1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcbiAgICBmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgaWYgKHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyTWFya2VyQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIF90aGlzLnBhcmFtZXRlcnNba2V5XSA9IG5ld1ZhbHVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuICAgICAgICB0aGlzLnNtb290aE1hdHJpY2VzID0gW107IC8vIGxhc3QgREVCT1VOQ0VfQ09VTlQgbW9kZWxWaWV3TWF0cml4XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Q29kZSBTZXBhcmF0b3JcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZGQgdGhpcyBtYXJrZXIgdG8gYXJ0b29sa2l0c3lzdGVtXG4gICAgLy8gVE9ETyByZW5hbWUgdGhhdCAuYWRkTWFya2VyQ29udHJvbHNcbiAgICBjb250ZXh0LmFkZE1hcmtlcih0aGlzKVxuXG4gICAgaWYgKF90aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuX2luaXRBcnRvb2xraXQoKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShBckJhc2VDb250cm9scy5wcm90b3R5cGUpO1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2VyQ29udHJvbHM7XG5cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuY29udGV4dC5yZW1vdmVNYXJrZXIodGhpcylcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgY29udHJvbHMgd2l0aCBuZXcgbW9kZWxWaWV3TWF0cml4XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBXaGVuIHlvdSBhY3R1YWxseSBnb3QgYSBuZXcgbW9kZWxWaWV3TWF0cml4LCB5b3UgbmVlZCB0byBwZXJmb20gYSB3aG9sZSBidW5jaFxuICogb2YgdGhpbmdzLiBpdCBpcyBkb25lIGhlcmUuXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4ID0gZnVuY3Rpb24gKG1vZGVsVmlld01hdHJpeCkge1xuICAgIHZhciBtYXJrZXJPYmplY3QzRCA9IHRoaXMub2JqZWN0M2Q7XG5cbiAgICAvLyBtYXJrIG9iamVjdCBhcyB2aXNpYmxlXG4gICAgbWFya2VyT2JqZWN0M0QudmlzaWJsZSA9IHRydWVcblxuICAgIGlmICh0aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIC8vIGFwcGx5IGNvbnRleHQuX2F4aXNUcmFuc2Zvcm1NYXRyaXggLSBjaGFuZ2UgYXJ0b29sa2l0IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgICAgIHZhciB0bXBNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmNvcHkodGhpcy5jb250ZXh0Ll9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeClcbiAgICAgICAgdG1wTWF0cml4Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeClcblxuICAgICAgICBtb2RlbFZpZXdNYXRyaXguY29weSh0bXBNYXRyaXgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGF4aXMgb3JpZW50YXRpb24gb24gbWFya2VyIC0gYXJ0b29sa2l0IHNheSBaIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyIC0gYXIuanMgc2F5IFkgaXMgbm9ybWFsIHRvIHRoZSBtYXJrZXJcbiAgXHR2YXIgbWFya2VyQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWChNYXRoLlBJLzIpXG4gIFx0bW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5KG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cbiAgICB2YXIgcmVuZGVyUmVxZCA9IGZhbHNlO1xuXG4gICAgLy8gY2hhbmdlIG1hcmtlck9iamVjdDNELm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoKSB7XG4gICAgICAgICAgICB2YXIgc3VtLFxuICAgICAgICAgICAgICAgIGksIGosXG4gICAgICAgICAgICAgICAgYXZlcmFnZXMsIC8vIGF2ZXJhZ2UgdmFsdWVzIGZvciBtYXRyaXggb3ZlciBsYXN0IHNtb290aENvdW50XG4gICAgICAgICAgICAgICAgZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPSAwO1xuXG4gICAgICAgICAgICB0aGlzLnNtb290aE1hdHJpY2VzLnB1c2gobW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzLnNsaWNlKCkpOyAvLyBhZGQgbGF0ZXN0XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNtb290aE1hdHJpY2VzLmxlbmd0aCA8ICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQgKyAxKSkge1xuICAgICAgICAgICAgICAgIG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7IC8vIG5vdCBlbm91Z2ggZm9yIGF2ZXJhZ2VcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zbW9vdGhNYXRyaWNlcy5zaGlmdCgpOyAvLyByZW1vdmUgb2xkZXN0IGVudHJ5XG4gICAgICAgICAgICAgICAgYXZlcmFnZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHsgLy8gbG9vcCBvdmVyIGVudHJpZXMgaW4gbWF0cml4XG4gICAgICAgICAgICAgICAgICAgIHN1bSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoaiBpbiB0aGlzLnNtb290aE1hdHJpY2VzKSB7IC8vIGNhbGN1bGF0ZSBhdmVyYWdlIGZvciB0aGlzIGVudHJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW0gKz0gdGhpcy5zbW9vdGhNYXRyaWNlc1tqXVtpXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhdmVyYWdlc1tpXSA9IHN1bSAvIHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaG93IG1hbnkgZWxlbWVudHMgdmFyeSBmcm9tIHRoZSBhdmVyYWdlIGJ5IGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRVxuICAgICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoYXZlcmFnZXNbaV0gLSBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0pID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlKys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBpZiBtb3ZpbmcgKGkuZS4gYXQgbGVhc3QgQVZFUkFHRV9NQVRSSVhfVEhSRVNIT0xEIGVudHJpZXMgYXJlIG92ZXIgQVZFUkFHRV9NQVRSSVhfVE9MRVJBTkNFKVxuICAgICAgICAgICAgICAgIGlmIChleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA+PSB0aGlzLnBhcmFtZXRlcnMuc21vb3RoVGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZW4gdXBkYXRlIG1hdHJpeCB2YWx1ZXMgdG8gYXZlcmFnZSwgb3RoZXJ3aXNlLCBkb24ndCByZW5kZXIgdG8gbWluaW1pemUgaml0dGVyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSA9IGF2ZXJhZ2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlclJlcWQgPSB0cnVlOyAvLyByZW5kZXIgcmVxdWlyZWQgaW4gYW5pbWF0aW9uIGxvb3BcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4Jykge1xuICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpLmludmVydCgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXG4gICAgbWFya2VyT2JqZWN0M0QubWF0cml4LmRlY29tcG9zZShtYXJrZXJPYmplY3QzRC5wb3NpdGlvbiwgbWFya2VyT2JqZWN0M0QucXVhdGVybmlvbiwgbWFya2VyT2JqZWN0M0Quc2NhbGUpXG5cbiAgICAvLyBkaXNwYXRjaEV2ZW50XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ21hcmtlckZvdW5kJyB9KTtcblxuICAgIHJldHVybiByZW5kZXJSZXFkO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5hbWUgPSAnJztcbiAgICBuYW1lICs9IHRoaXMucGFyYW1ldGVycy50eXBlO1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgdmFyIHVybCA9IHRoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsO1xuICAgICAgICB2YXIgYmFzZW5hbWUgPSB1cmwucmVwbGFjZSgvXi4qXFwvL2csICcnKTtcbiAgICAgICAgbmFtZSArPSAnIC0gJyArIGJhc2VuYW1lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJykge1xuICAgICAgICBuYW1lICs9ICcgLSAnICsgdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy50eXBlID09PSAnbmZ0Jykge1xuICAgICAgICB2YXIgdXJsID0gdGhpcy5wYXJhbWV0ZXJzLmRlc2NyaXB0b3JzVXJsO1xuICAgICAgICB2YXIgYmFzZW5hbWUgPSB1cmwucmVwbGFjZSgvXi4qXFwvL2csICcnKTtcbiAgICAgICAgbmFtZSArPSAnIC0gJyArIGJhc2VuYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAnbm8gLm5hbWUoKSBpbXBsZW1lbnRlZCBmb3IgdGhpcyBtYXJrZXIgY29udHJvbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZvciBBcnRvb2xraXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIHZhciBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblxuICAgIHZhciBkZWxheWVkSW5pdFRpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG4gICAgICAgIHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuICAgICAgICBpZiAoYXJDb250cm9sbGVyID09PSBudWxsKSByZXR1cm5cbiAgICAgICAgLy8gc3RvcCBsb29waW5nIGlmIGl0IGlzIGluaXRcbiAgICAgICAgY2xlYXJJbnRlcnZhbChkZWxheWVkSW5pdFRpbWVySWQpXG4gICAgICAgIGRlbGF5ZWRJbml0VGltZXJJZCA9IG51bGxcbiAgICAgICAgLy8gbGF1bmNoIHRoZSBfcG9zdEluaXRBcnRvb2xraXRcbiAgICAgICAgcG9zdEluaXQoKVxuICAgIH0sIDEwMDAgLyA1MClcblxuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gcG9zdEluaXQoKSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG4gICAgICAgIHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuICAgICAgICBjb25zb2xlLmFzc2VydChhckNvbnRyb2xsZXIgIT09IG51bGwpXG5cbiAgICAgICAgLy8gc3RhcnQgdHJhY2tpbmcgdGhpcyBwYXR0ZXJuXG4gICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJykge1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmxvYWRNYXJrZXIoX3RoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsKS50aGVuKGZ1bmN0aW9uIChtYXJrZXJJZCkge1xuICAgICAgICAgICAgICAgIGFydG9vbGtpdE1hcmtlcklkID0gbWFya2VySWRcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIudHJhY2tQYXR0ZXJuTWFya2VySWQoYXJ0b29sa2l0TWFya2VySWQsIF90aGlzLnBhcmFtZXRlcnMuc2l6ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJykge1xuICAgICAgICAgICAgYXJ0b29sa2l0TWFya2VySWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnRyYWNrQmFyY29kZU1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuICAgICAgICB9IGVsc2UgaWYgKF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ25mdCcpIHtcbiAgICAgICAgICAgIC8vIHVzZSB3b3JrZXJzIGFzIGRlZmF1bHRcbiAgICAgICAgICAgIGhhbmRsZU5GVChfdGhpcy5wYXJhbWV0ZXJzLmRlc2NyaXB0b3JzVXJsLCBhckNvbnRyb2xsZXIpO1xuICAgICAgICB9IGVsc2UgaWYgKF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nKSB7XG4gICAgICAgICAgICBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGZhbHNlLCAnaW52YWxpZCBtYXJrZXIgdHlwZScsIF90aGlzLnBhcmFtZXRlcnMudHlwZSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpc3RlbiB0byB0aGUgZXZlbnRcbiAgICAgICAgYXJDb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsKSByZXR1cm5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5tYXJrZXIuaWRQYXR0ID09PSBhcnRvb2xraXRNYXJrZXJJZCkgb25NYXJrZXJGb3VuZChldmVudClcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJ0b29sa2l0TWFya2VySWQgPT09IG51bGwpIHJldHVyblxuICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCA9PT0gYXJ0b29sa2l0TWFya2VySWQpIG9uTWFya2VyRm91bmQoZXZlbnQpXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlVOS05PV05fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nKSB7XG4gICAgICAgICAgICAgICAgb25NYXJrZXJGb3VuZChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0TWF0cml4KG1hdHJpeCwgdmFsdWUpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gW107XG4gICAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgYXJyYXlba2V5XSA9IHZhbHVlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBtYXRyaXguZWxlbWVudHMuc2V0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIG1hdHJpeC5lbGVtZW50cy5zZXQoYXJyYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWF0cml4LmVsZW1lbnRzID0gW10uc2xpY2UuY2FsbChhcnJheSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTkZUKGRlc2NyaXB0b3JzVXJsLCBhckNvbnRyb2xsZXIpIHtcbiAgICAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoKTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYXJqcy12aWRlby1sb2FkZWQnLCBmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgIHZhciB2aWRlbyA9IGV2LmRldGFpbC5jb21wb25lbnQ7XG4gICAgICAgICAgICB2YXIgdncgPSB2aWRlby5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgIHZhciB2aCA9IHZpZGVvLmNsaWVudEhlaWdodDtcblxuICAgICAgICAgICAgdmFyIHBzY2FsZSA9IDMyMCAvIE1hdGgubWF4KHZ3LCB2aCAvIDMgKiA0KTtcblxuICAgICAgICAgICAgY29uc3QgdyA9IHZ3ICogcHNjYWxlO1xuICAgICAgICAgICAgY29uc3QgaCA9IHZoICogcHNjYWxlO1xuICAgICAgICAgICAgY29uc3QgcHcgPSBNYXRoLm1heCh3LCBoIC8gMyAqIDQpO1xuICAgICAgICAgICAgY29uc3QgcGggPSBNYXRoLm1heChoLCB3IC8gNCAqIDMpO1xuICAgICAgICAgICAgY29uc3Qgb3ggPSAocHcgLSB3KSAvIDI7XG4gICAgICAgICAgICBjb25zdCBveSA9IChwaCAtIGgpIC8gMjtcblxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5jbGllbnRXaWR0aCA9IHB3ICsgXCJweFwiO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5jbGllbnRIZWlnaHQgPSBwaCArIFwicHhcIjtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMud2lkdGggPSBwdztcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuaGVpZ2h0ID0gcGg7XG5cbiAgICAgICAgICAgIHZhciBjb250ZXh0X3Byb2Nlc3MgPSBhckNvbnRyb2xsZXIuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIHByb2Nlc3MoKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dF9wcm9jZXNzLmZpbGxTdHlsZSA9IFwiYmxhY2tcIjtcbiAgICAgICAgICAgICAgICBjb250ZXh0X3Byb2Nlc3MuZmlsbFJlY3QoMCwgMCwgcHcsIHBoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0X3Byb2Nlc3MuZHJhd0ltYWdlKHZpZGVvLCAwLCAwLCB2dywgdmgsIG94LCBveSwgdywgaCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgaW1hZ2VEYXRhID0gY29udGV4dF9wcm9jZXNzLmdldEltYWdlRGF0YSgwLCAwLCBwdywgcGgpO1xuICAgICAgICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IHR5cGU6IFwicHJvY2Vzc1wiLCBpbWFnZWRhdGE6IGltYWdlRGF0YSB9LCBbaW1hZ2VEYXRhLmRhdGEuYnVmZmVyXSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGluaXRpYWxpemUgdGhlIHdvcmtlclxuICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5pdCcsXG4gICAgICAgICAgICAgICAgcHc6IHB3LFxuICAgICAgICAgICAgICAgIHBoOiBwaCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6IGRlc2NyaXB0b3JzVXJsLFxuICAgICAgICAgICAgICAgIHBhcmFtOiBhckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2VuZExvYWRpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBsb2FkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXJqcy1sb2FkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBlbmRMb2FkaW5nRXZlbnQgPSBuZXcgRXZlbnQoJ2FyanMtbmZ0LWxvYWRlZCcpO1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChlbmRMb2FkaW5nRXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2xvYWRlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByb2ogPSBKU09OLnBhcnNlKGV2LmRhdGEucHJvaik7XG4gICAgICAgICAgICAgICAgICAgIHZhciByYXRpb1cgPSBwdyAvIHc7XG4gICAgICAgICAgICAgICAgICAgIHZhciByYXRpb0ggPSBwaCAvIGg7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMF0gKj0gcmF0aW9XO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzRdICo9IHJhdGlvVztcbiAgICAgICAgICAgICAgICAgICAgcHJvals4XSAqPSByYXRpb1c7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMTJdICo9IHJhdGlvVztcbiAgICAgICAgICAgICAgICAgICAgcHJvalsxXSAqPSByYXRpb0g7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbNV0gKj0gcmF0aW9IO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzldICo9IHJhdGlvSDtcbiAgICAgICAgICAgICAgICAgICAgcHJvalsxM10gKj0gcmF0aW9IO1xuXG4gICAgICAgICAgICAgICAgICAgIHNldE1hdHJpeChfdGhpcy5vYmplY3QzZC5tYXRyaXgsIHByb2opO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2ZvdW5kJykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbWF0cml4ID0gSlNPTi5wYXJzZShldi5kYXRhLm1hdHJpeCk7XG5cbiAgICAgICAgICAgICAgICAgICAgb25NYXJrZXJGb3VuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVJUb29sa2l0Lk5GVF9NQVJLRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4OiBtYXRyaXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnOiBldi5kYXRhLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnNob3dPYmplY3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnNob3dPYmplY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwcm9jZXNzKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG9uTWFya2VyRm91bmQoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmUGF0dCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSkgcmV0dXJuXG4gICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZk1hdHJpeCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSkgcmV0dXJuXG5cbiAgICAgICAgdmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGV2ZW50LmRhdGEubWF0cml4KVxuICAgICAgICBfdGhpcy51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4KG1vZGVsVmlld01hdHJpeClcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlckNvbnRyb2xzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQgfSA9IGpzYXJ0b29sa2l0O1xuXG5jb25zdCBNYXJrZXJDb250cm9scyA9IGZ1bmN0aW9uKGNvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdEFyQmFzZUNvbnRyb2xzLmNhbGwodGhpcywgb2JqZWN0M2QpXG5cblx0dGhpcy5jb250ZXh0ID0gY29udGV4dFxuXHQvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBzaXplIG9mIHRoZSBtYXJrZXIgaW4gbWV0ZXJcblx0XHRzaXplIDogMSxcblx0XHQvLyB0eXBlIG9mIG1hcmtlciAtIFsncGF0dGVybicsICdiYXJjb2RlJywgJ3Vua25vd24nIF1cblx0XHR0eXBlIDogJ3Vua25vd24nLFxuXHRcdC8vIHVybCBvZiB0aGUgcGF0dGVybiAtIElJRiB0eXBlPSdwYXR0ZXJuJ1xuXHRcdHBhdHRlcm5VcmwgOiBudWxsLFxuXHRcdC8vIHZhbHVlIG9mIHRoZSBiYXJjb2RlIC0gSUlGIHR5cGU9J2JhcmNvZGUnXG5cdFx0YmFyY29kZVZhbHVlIDogbnVsbCxcblx0XHQvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG5cdFx0Y2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHRcdC8vIG1pbmltYWwgY29uZmlkZW5jZSBpbiB0aGUgbWFya2UgcmVjb2duaXRpb24gLSBiZXR3ZWVuIFswLCAxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdG1pbkNvbmZpZGVuY2U6IDAuNixcblx0XHQvLyB0dXJuIG9uL29mZiBjYW1lcmEgc21vb3RoaW5nXG5cdFx0c21vb3RoOiBmYWxzZSxcblx0XHQvLyBudW1iZXIgb2YgbWF0cmljZXMgdG8gc21vb3RoIHRyYWNraW5nIG92ZXIsIG1vcmUgPSBzbW9vdGhlciBidXQgc2xvd2VyIGZvbGxvd1xuXHRcdHNtb290aENvdW50OiA1LFxuXHRcdC8vIGRpc3RhbmNlIHRvbGVyYW5jZSBmb3Igc21vb3RoaW5nLCBpZiBzbW9vdGhUaHJlc2hvbGQgIyBvZiBtYXRyaWNlcyBhcmUgdW5kZXIgdG9sZXJhbmNlLCB0cmFja2luZyB3aWxsIHN0YXkgc3RpbGxcblx0XHRzbW9vdGhUb2xlcmFuY2U6IDAuMDEsXG5cdFx0Ly8gdGhyZXNob2xkIGZvciBzbW9vdGhpbmcsIHdpbGwga2VlcCBzdGlsbCB1bmxlc3MgZW5vdWdoIG1hdHJpY2VzIGFyZSBvdmVyIHRvbGVyYW5jZVxuXHRcdHNtb290aFRocmVzaG9sZDogMixcblx0fVxuXG5cdC8vIHNhbml0eSBjaGVja1xuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ3BhdHRlcm4nLCAnYmFyY29kZScsICd1bmtub3duJ11cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMudHlwZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy50eXBlKVxuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ21vZGVsVmlld01hdHJpeCcsICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnIF1cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKVxuXG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSBtYXJrZXIgUm9vdFxuXHR0aGlzLm9iamVjdDNkID0gb2JqZWN0M2Rcblx0dGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJNYXJrZXJDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblxuXHRpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuXHRcdHRoaXMuc21vb3RoTWF0cmljZXMgPSBbXTsgLy8gbGFzdCBERUJPVU5DRV9DT1VOVCBtb2RlbFZpZXdNYXRyaXhcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gYWRkIHRoaXMgbWFya2VyIHRvIGFydG9vbGtpdHN5c3RlbVxuXHQvLyBUT0RPIHJlbmFtZSB0aGF0IC5hZGRNYXJrZXJDb250cm9sc1xuXHRjb250ZXh0LmFkZE1hcmtlcih0aGlzKVxuXG5cdGlmKCBfdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdHRoaXMuX2luaXRBcnRvb2xraXQoKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggQXJCYXNlQ29udHJvbHMucHJvdG90eXBlICk7XG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBNYXJrZXJDb250cm9scztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgaW5zdGFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbigpe1xuXHRpZiggdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5hckNvbnRyb2xsZXIgKSB7XG5cdFx0dGhpcy5jb250ZXh0LmFyQ29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCB0aGlzLm9uR2V0TWFya2VyKTtcblx0fVxuXG5cdHRoaXMuY29udGV4dC5yZW1vdmVNYXJrZXIodGhpcyk7XG5cdFxuXHR0aGlzLm9iamVjdDNkID0gbnVsbDtcblx0dGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZSBjb250cm9scyB3aXRoIG5ldyBtb2RlbFZpZXdNYXRyaXhcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFdoZW4geW91IGFjdHVhbGx5IGdvdCBhIG5ldyBtb2RlbFZpZXdNYXRyaXgsIHlvdSBuZWVkIHRvIHBlcmZvbSBhIHdob2xlIGJ1bmNoXG4gKiBvZiB0aGluZ3MuIGl0IGlzIGRvbmUgaGVyZS5cbiAqL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXggPSBmdW5jdGlvbihtb2RlbFZpZXdNYXRyaXgpe1xuXHR2YXIgbWFya2VyT2JqZWN0M0QgPSB0aGlzLm9iamVjdDNkO1xuXG5cdC8vIG1hcmsgb2JqZWN0IGFzIHZpc2libGVcblx0bWFya2VyT2JqZWN0M0QudmlzaWJsZSA9IHRydWVcblxuXHRpZiggdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdC8vIGFwcGx5IGNvbnRleHQuX2F4aXNUcmFuc2Zvcm1NYXRyaXggLSBjaGFuZ2UgYXJ0b29sa2l0IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG5cdFx0dmFyIHRtcE1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuY29weSh0aGlzLmNvbnRleHQuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4KVxuXHRcdHRtcE1hdHJpeC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgpXG5cblx0XHRtb2RlbFZpZXdNYXRyaXguY29weSh0bXBNYXRyaXgpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdC8vIGNoYW5nZSBheGlzIG9yaWVudGF0aW9uIG9uIG1hcmtlciAtIGFydG9vbGtpdCBzYXkgWiBpcyBub3JtYWwgdG8gdGhlIG1hcmtlciAtIGFyLmpzIHNheSBZIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyXG5cdHZhciBtYXJrZXJBeGlzVHJhbnNmb3JtTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25YKE1hdGguUEkvMilcblx0bW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5KG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cblx0dmFyIHJlbmRlclJlcWQgPSBmYWxzZTtcblxuXHQvLyBjaGFuZ2UgbWFya2VyT2JqZWN0M0QubWF0cml4IGJhc2VkIG9uIHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0aWYgKHRoaXMucGFyYW1ldGVycy5zbW9vdGgpIHtcblx0XHRcdHZhciBzdW0sXG5cdFx0XHRcdFx0aSwgaixcblx0XHRcdFx0XHRhdmVyYWdlcywgLy8gYXZlcmFnZSB2YWx1ZXMgZm9yIG1hdHJpeCBvdmVyIGxhc3Qgc21vb3RoQ291bnRcblx0XHRcdFx0XHRleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA9IDA7XG5cblx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMucHVzaChtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMuc2xpY2UoKSk7IC8vIGFkZCBsYXRlc3RcblxuXHRcdFx0aWYgKHRoaXMuc21vb3RoTWF0cmljZXMubGVuZ3RoIDwgKHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudCArIDEpKSB7XG5cdFx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7IC8vIG5vdCBlbm91Z2ggZm9yIGF2ZXJhZ2Vcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMuc2hpZnQoKTsgLy8gcmVtb3ZlIG9sZGVzdCBlbnRyeVxuXHRcdFx0XHRhdmVyYWdlcyA9IFtdO1xuXG5cdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHsgLy8gbG9vcCBvdmVyIGVudHJpZXMgaW4gbWF0cml4XG5cdFx0XHRcdFx0c3VtID0gMDtcblx0XHRcdFx0XHRmb3IgKGogaW4gdGhpcy5zbW9vdGhNYXRyaWNlcykgeyAvLyBjYWxjdWxhdGUgYXZlcmFnZSBmb3IgdGhpcyBlbnRyeVxuXHRcdFx0XHRcdFx0c3VtICs9IHRoaXMuc21vb3RoTWF0cmljZXNbal1baV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGF2ZXJhZ2VzW2ldID0gc3VtIC8gdGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50O1xuXHRcdFx0XHRcdC8vIGNoZWNrIGhvdyBtYW55IGVsZW1lbnRzIHZhcnkgZnJvbSB0aGUgYXZlcmFnZSBieSBhdCBsZWFzdCBBVkVSQUdFX01BVFJJWF9UT0xFUkFOQ0Vcblx0XHRcdFx0XHRpZiAoTWF0aC5hYnMoYXZlcmFnZXNbaV0gLSBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0pID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UpIHtcblx0XHRcdFx0XHRcdGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlKys7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaWYgbW92aW5nIChpLmUuIGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RIUkVTSE9MRCBlbnRyaWVzIGFyZSBvdmVyIEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRSlcblx0XHRcdFx0aWYgKGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUaHJlc2hvbGQpIHtcblx0XHRcdFx0XHQvLyB0aGVuIHVwZGF0ZSBtYXRyaXggdmFsdWVzIHRvIGF2ZXJhZ2UsIG90aGVyd2lzZSwgZG9uJ3QgcmVuZGVyIHRvIG1pbmltaXplIGppdHRlclxuXHRcdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHtcblx0XHRcdFx0XHRcdG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSA9IGF2ZXJhZ2VzW2ldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpO1xuXHRcdFx0XHRcdHJlbmRlclJlcWQgPSB0cnVlOyAvLyByZW5kZXIgcmVxdWlyZWQgaW4gYW5pbWF0aW9uIGxvb3Bcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fVxuXHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KS5pbnZlcnQoKVxuXHR9ZWxzZSB7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdH1cblxuXHQvLyBkZWNvbXBvc2UgLSB0aGUgbWF0cml4IGludG8gLnBvc2l0aW9uLCAucXVhdGVybmlvbiwgLnNjYWxlXG5cdG1hcmtlck9iamVjdDNELm1hdHJpeC5kZWNvbXBvc2UobWFya2VyT2JqZWN0M0QucG9zaXRpb24sIG1hcmtlck9iamVjdDNELnF1YXRlcm5pb24sIG1hcmtlck9iamVjdDNELnNjYWxlKVxuXG5cdC8vIGRpc3BhdGNoRXZlbnRcblx0dGhpcy5kaXNwYXRjaEV2ZW50KCB7IHR5cGU6ICdtYXJrZXJGb3VuZCcgfSApO1xuXG5cdHJldHVybiByZW5kZXJSZXFkO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBwcm92aWRlIGEgbmFtZSBmb3IgYSBtYXJrZXJcbiAqIC0gc2lsbHkgaGV1cmlzdGljIGZvciBub3dcbiAqIC0gc2hvdWxkIGJlIGltcHJvdmVkXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0dmFyIG5hbWUgPSAnJ1xuXHRuYW1lICs9IHRoaXMucGFyYW1ldGVycy50eXBlO1xuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdHZhciB1cmwgPSB0aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybFxuXHRcdHZhciBiYXNlbmFtZSA9IHVybC5yZXBsYWNlKC9eLipcXC8vZywgJycpXG5cdFx0bmFtZSArPSAnIC0gJyArIGJhc2VuYW1lXG5cdH1lbHNlIGlmKCB0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0bmFtZSArPSAnIC0gJyArIHRoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcblx0fWVsc2V7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICdubyAubmFtZSgpIGltcGxlbWVudGVkIGZvciB0aGlzIG1hcmtlciBjb250cm9scycpXG5cdH1cblx0cmV0dXJuIG5hbWVcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZvciBBcnRvb2xraXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdHZhciBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblxuXHR2YXIgZGVsYXllZEluaXRUaW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGlmKCBhckNvbnRyb2xsZXIgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0Ly8gc3RvcCBsb29waW5nIGlmIGl0IGlzIGluaXRcblx0XHRjbGVhckludGVydmFsKGRlbGF5ZWRJbml0VGltZXJJZClcblx0XHRkZWxheWVkSW5pdFRpbWVySWQgPSBudWxsXG5cdFx0Ly8gbGF1bmNoIHRoZSBfcG9zdEluaXRBcnRvb2xraXRcblx0XHRwb3N0SW5pdCgpXG5cdH0sIDEwMDAvNTApXG5cblx0cmV0dXJuXG5cblx0ZnVuY3Rpb24gcG9zdEluaXQoKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGNvbnNvbGUuYXNzZXJ0KGFyQ29udHJvbGxlciAhPT0gbnVsbCApXG5cblx0XHQvLyBzdGFydCB0cmFja2luZyB0aGlzIHBhdHRlcm5cblx0XHRpZiggX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0ICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5sb2FkTWFya2VyKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybCkudGhlbihmdW5jdGlvbihtYXJrZXJJZCkge1xuXHRcdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IG1hcmtlcklkXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci50cmFja1BhdHRlcm5NYXJrZXJJZChhcnRvb2xraXRNYXJrZXJJZCwgX3RoaXMucGFyYW1ldGVycy5zaXplKTtcblx0ICAgICAgICAgICAgICAgIH0pO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHRcdFx0YXJDb250cm9sbGVyLnRyYWNrQmFyY29kZU1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG5cdFx0fWVsc2V7XG5cdFx0XHRjb25zb2xlLmxvZyhmYWxzZSwgJ2ludmFsaWQgbWFya2VyIHR5cGUnLCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG5cdFx0fVxuXG5cdFx0Ly8gbGlzdGVuIHRvIHRoZSBldmVudFxuXHRcdGFyQ29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCBvbkdldE1hcmtlcilcblxuXHR9XG5cblx0ZnVuY3Rpb24gb25NYXJrZXJGb3VuZChldmVudCl7XG5cdFx0Ly8gaG9ub3IgaGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZVxuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZlBhdHQgPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgKVx0cmV0dXJuXG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmTWF0cml4IDwgX3RoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlIClcdHJldHVyblxuXG5cdFx0dmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGV2ZW50LmRhdGEubWF0cml4KVxuXHRcdF90aGlzLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXgobW9kZWxWaWV3TWF0cml4KVxuXHR9XG5cblx0ZnVuY3Rpb24gb25HZXRNYXJrZXIoZXZlbnQpe1xuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdFx0aWYoIGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsIClcdHJldHVyblxuXHRcdFx0aWYoIGV2ZW50LmRhdGEubWFya2VyLmlkUGF0dCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSBvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1lbHNlIGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0Ly8gY29uc29sZS5sb2coJ0JBUkNPREVfTUFSS0VSIGlkTWF0cml4JywgZXZlbnQuZGF0YS5tYXJrZXIuaWRNYXRyaXgsIGFydG9vbGtpdE1hcmtlcklkIClcblx0XHRcdGlmKCBhcnRvb2xraXRNYXJrZXJJZCA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHRcdGlmKCBldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSAgb25NYXJrZXJGb3VuZChldmVudClcblx0XHR9ZWxzZSBpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuVU5LTk9XTl9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAndW5rbm93bicpe1xuXHRcdFx0b25NYXJrZXJGb3VuZChldmVudClcblx0XHR9XG5cdH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJDb250cm9scztcbiIsImltcG9ydCBVdGlscyBmcm9tICcuLi9uZXctYXBpL2FyanMtdXRpbHMnO1xuaW1wb3J0IEFyVG9vbGtpdENvbnRleHQgZnJvbSAnLi9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbi8qKlxuICogQXJUb29sa2l0UHJvZmlsZSBoZWxwcyB5b3UgYnVpbGQgcGFyYW1ldGVycyBmb3IgYXJ0b29sa2l0XG4gKiAtIGl0IGlzIGZ1bGx5IGluZGVwZW5kZW50IG9mIHRoZSByZXN0IG9mIHRoZSBjb2RlXG4gKiAtIGFsbCB0aGUgb3RoZXIgY2xhc3NlcyBhcmUgc3RpbGwgZXhwZWN0aW5nIG5vcm1hbCBwYXJhbWV0ZXJzXG4gKiAtIHlvdSBjYW4gdXNlIHRoaXMgY2xhc3MgdG8gdW5kZXJzdGFuZCBob3cgdG8gdHVuZSB5b3VyIHNwZWNpZmljIHVzZWNhc2VcbiAqIC0gaXQgaXMgbWFkZSB0byBoZWxwIHBlb3BsZSB0byBidWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdW5kZXJzdGFuZGluZyBhbGwgdGhlIHVuZGVybHlpbmcgZGV0YWlscy5cbiAqL1xuY29uc3QgUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlc2V0KClcblxuICAgIHRoaXMucGVyZm9ybWFuY2UoJ2RlZmF1bHQnKVxufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5fZ3Vlc3NQZXJmb3JtYW5jZUxhYmVsID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBpc01vYmlsZSA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvd2ViT1MvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQYWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9CbGFja0JlcnJ5L2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dpbmRvd3MgUGhvbmUvaSlcbiAgICAgICAgPyB0cnVlIDogZmFsc2VcbiAgICBpZiAoaXNNb2JpbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuICdwaG9uZS1ub3JtYWwnXG4gICAgfVxuICAgIHJldHVybiAnZGVza3RvcC1ub3JtYWwnXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHJlc2V0IGFsbCBwYXJhbWV0ZXJzXG4gKi9cblByb2ZpbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdG8gcmVhZCBmcm9tIHRoZSB3ZWJjYW1cbiAgICAgICAgc291cmNlVHlwZTogJ3dlYmNhbScsXG4gICAgfVxuXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycyA9IHtcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLCAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICAgICAgZGV0ZWN0aW9uTW9kZTogJ21vbm8nLFxuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgIHBhdHRlcm5Vcmw6IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJywgLy8gVE9ETyBkZXBlbmRlbnQgb2YgYnVpbGQ/XG4gICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xufTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtYW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG5Qcm9maWxlLnByb3RvdHlwZS5wZXJmb3JtYW5jZSA9IGZ1bmN0aW9uIChsYWJlbCkge1xuXG4gICAgaWYgKGxhYmVsID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgbGFiZWwgPSB0aGlzLl9ndWVzc1BlcmZvcm1hbmNlTGFiZWwoKVxuICAgIH1cblxuICAgIGlmIChsYWJlbCA9PT0gJ2Rlc2t0b3AtZmFzdCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDY0MCAqIDNcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnZGVza3RvcC1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA2NDBcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODBcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSA2MFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA4MCAqIDRcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA2MCAqIDRcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1zbG93Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gODAgKiAzXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNjAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3Vua25vbnduIGxhYmVsICcgKyBsYWJlbClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRNYXJrZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblByb2ZpbGUucHJvdG90eXBlLmRlZmF1bHRNYXJrZXIgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgdHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kIHx8IHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUgPSAnbW9ubydcbiAgICAgICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG4gICAgICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMucGF0dGVyblVybCA9IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJyAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cbiAgICByZXR1cm4gdGhpc1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRTb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlV2ViY2FtID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3dlYmNhbSdcbiAgICBkZWxldGUgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybFxuICAgIHJldHVybiB0aGlzXG59XG5cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZVZpZGVvID0gZnVuY3Rpb24gKHVybCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3ZpZGVvJ1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmwgPSB1cmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VJbWFnZSA9IGZ1bmN0aW9uICh1cmwpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9ICdpbWFnZSdcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUudHJhY2tpbmdCYWNrZW5kID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUud2Fybignc3RvcCBwcm9maWxlLnRyYWNraW5nQmFja2VuZCgpIG9ic29sZXRlIGZ1bmN0aW9uLiB1c2UgLnRyYWNraW5nTWV0aG9kIGluc3RlYWQnKVxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuY2hhbmdlTWF0cml4TW9kZSA9IGZ1bmN0aW9uIChjaGFuZ2VNYXRyaXhNb2RlKSB7XG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID0gY2hhbmdlTWF0cml4TW9kZVxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dHJhY2tpbmdCYWNrZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLnRyYWNraW5nTWV0aG9kID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIGRhdGEgPSBVdGlscy5wYXJzZVRyYWNraW5nTWV0aG9kKHRyYWNraW5nTWV0aG9kKVxuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZGF0YS5tYXJrZXJzQXJlYUVuYWJsZWRcbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9IGRhdGEudHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLyoqXG4gKiBjaGVjayBpZiB0aGUgcHJvZmlsZSBpcyB2YWxpZC4gVGhyb3cgYW4gZXhjZXB0aW9uIGlzIG5vdCB2YWxpZFxuICovXG5Qcm9maWxlLnByb3RvdHlwZS5jaGVja0lmVmFsaWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvZmlsZTtcbiIsImNvbnN0IFNvdXJjZSA9IGZ1bmN0aW9uIChwYXJhbWV0ZXJzKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgdGhpcy5yZWFkeSA9IGZhbHNlXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdHlwZSBvZiBzb3VyY2UgLSBbJ3dlYmNhbScsICdpbWFnZScsICd2aWRlbyddXG4gICAgICAgIHNvdXJjZVR5cGU6ICd3ZWJjYW0nLFxuICAgICAgICAvLyB1cmwgb2YgdGhlIHNvdXJjZSAtIHZhbGlkIGlmIHNvdXJjZVR5cGUgPSBpbWFnZXx2aWRlb1xuICAgICAgICBzb3VyY2VVcmw6IG51bGwsXG5cbiAgICAgICAgLy8gRGV2aWNlIGlkIG9mIHRoZSBjYW1lcmEgdG8gdXNlIChvcHRpb25hbClcbiAgICAgICAgZGV2aWNlSWQ6IG51bGwsXG5cbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBpbml0aWFsaXplIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgc291cmNlV2lkdGg6IDY0MCxcbiAgICAgICAgc291cmNlSGVpZ2h0OiA0ODAsXG4gICAgICAgIC8vIHJlc29sdXRpb24gZGlzcGxheWVkIGZvciB0aGUgc291cmNlXG4gICAgICAgIGRpc3BsYXlXaWR0aDogNjQwLFxuICAgICAgICBkaXNwbGF5SGVpZ2h0OiA0ODAsXG4gICAgfVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJUb29sa2l0U291cmNlOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyVG9vbGtpdFNvdXJjZTogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub25Jbml0aWFsQ2xpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYoIHRoaXMuZG9tRWxlbWVudCAmJiB0aGlzLmRvbUVsZW1lbnQucGxheSApIHtcbiAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5wbGF5KCkudGhlbiggKCkgPT4ge30pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvblJlYWR5LCBvbkVycm9yKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZUltYWdlKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VWaWRlbyhvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICd3ZWJjYW0nKSB7XG4gICAgICAgIC8vIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVdlYmNhbU9sZChvblNvdXJjZVJlYWR5KVxuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VXZWJjYW0ob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyBhdHRhY2hcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50XG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50b3AgPSAnMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5sZWZ0ID0gJzBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuekluZGV4ID0gJy0yJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2FyanMtdmlkZW8nKTtcblxuICAgIHJldHVybiB0aGlzXG4gICAgZnVuY3Rpb24gb25Tb3VyY2VSZWFkeSgpIHtcbiAgICAgICAgaWYoICFfdGhpcy5kb21FbGVtZW50ICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChfdGhpcy5kb21FbGVtZW50KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdhcmpzLXZpZGVvLWxvYWRlZCcsIHtcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcblxuICAgICAgICBfdGhpcy5yZWFkeSA9IHRydWVcblxuICAgICAgICBvblJlYWR5ICYmIG9uUmVhZHkoKVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VJbWFnZSA9IGZ1bmN0aW9uIChvblJlYWR5KSB7XG4gICAgLy8gVE9ETyBtYWtlIGl0IHN0YXRpY1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aDtcbiAgICBkb21FbGVtZW50LmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQ7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnO1xuXG4gICAgZG9tRWxlbWVudC5vbmxvYWQgPSBvblJlYWR5O1xuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IHZpZGVvIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlVmlkZW8gPSBmdW5jdGlvbiAob25SZWFkeSkge1xuICAgIC8vIFRPRE8gbWFrZSBpdCBzdGF0aWNcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC5zdHlsZS5vYmplY3RGaXQgPSAnaW5pdGlhbCc7XG5cbiAgICBkb21FbGVtZW50LmF1dG9wbGF5ID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LndlYmtpdFBsYXlzaW5saW5lID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LmNvbnRyb2xzID0gZmFsc2U7XG4gICAgZG9tRWxlbWVudC5sb29wID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50Lm11dGVkID0gdHJ1ZTtcblxuICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTtcblxuICAgIGRvbUVsZW1lbnQud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGg7XG4gICAgZG9tRWxlbWVudC5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0O1xuICAgIGRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheVdpZHRoICsgJ3B4JztcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4JztcblxuICAgIGRvbUVsZW1lbnQub25sb2FkZWRkYXRhID0gb25SZWFkeTtcbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCB3ZWJjYW0gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlV2ViY2FtID0gZnVuY3Rpb24gKG9uUmVhZHksIG9uRXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAvLyBpbml0IGRlZmF1bHQgdmFsdWVcbiAgICBvbkVycm9yID0gb25FcnJvciB8fCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtZXJyb3InLCB7IGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5pbm5lckhUTUwgPSAnV2ViY2FtIEVycm9yXFxuTmFtZTogJyArIGVycm9yLm5hbWUgKyAnXFxuTWVzc2FnZTogJyArIGVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAxMDAwKTtcbiAgICB9XG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2F1dG9wbGF5JywgJycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdtdXRlZCcsICcnKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgncGxheXNpbmxpbmUnLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCdcblxuICAgIC8vIGNoZWNrIEFQSSBpcyBhdmFpbGFibGVcbiAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSB1bmRlZmluZWQpIHZhciBmY3ROYW1lID0gJ25hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnXG4gICAgICAgIGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnV2ViUlRDIGlzc3VlLSEgJyArIGZjdE5hbWUgKyAnIG5vdCBwcmVzZW50IGluIHlvdXIgYnJvd3NlcidcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgLy8gZ2V0IGF2YWlsYWJsZSBkZXZpY2VzXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbihmdW5jdGlvbiAoZGV2aWNlcykge1xuICAgICAgICB2YXIgdXNlck1lZGlhQ29uc3RyYWludHMgPSB7XG4gICAgICAgICAgICBhdWRpbzogZmFsc2UsXG4gICAgICAgICAgICB2aWRlbzoge1xuICAgICAgICAgICAgICAgIGZhY2luZ01vZGU6ICdlbnZpcm9ubWVudCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbjogMTAyNCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxOTIwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAvLyBtaW46IDc3NixcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxMDgwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChudWxsICE9PSBfdGhpcy5wYXJhbWV0ZXJzLmRldmljZUlkKSB7XG4gICAgICAgICAgICB1c2VyTWVkaWFDb25zdHJhaW50cy52aWRlby5kZXZpY2VJZCA9IHtcbiAgICAgICAgICAgICAgICBleGFjdDogX3RoaXMucGFyYW1ldGVycy5kZXZpY2VJZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdldCBhIGRldmljZSB3aGljaCBzYXRpc2Z5IHRoZSBjb25zdHJhaW50c1xuICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh1c2VyTWVkaWFDb25zdHJhaW50cykudGhlbihmdW5jdGlvbiBzdWNjZXNzKHN0cmVhbSkge1xuICAgICAgICAgICAgLy8gc2V0IHRoZSAuc3JjIG9mIHRoZSBkb21FbGVtZW50XG4gICAgICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdCA9IHN0cmVhbTtcblxuICAgICAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtaW5pdCcsIHsgc3RyZWFtOiBzdHJlYW0gfSk7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cbiAgICAgICAgICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgX3RoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTsgICAgICAgICAgICBcblxuICAgICAgICAgICAgb25SZWFkeSgpO1xuICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlYWR5ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgICAgIHRoaXMuX2Rpc3Bvc2VTb3VyY2VJbWFnZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAndmlkZW8nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVZpZGVvKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICd3ZWJjYW0nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVdlYmNhbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcblxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uSW5pdGlhbENsaWNrLCB7b25jZTp0cnVlfSk7ICAgICAgICAgICAgXG59XHRcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgdmlkZW8gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlVmlkZW8gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuICAgIFxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL21lZGlhLmh0bWwjYmVzdC1wcmFjdGljZXMtZm9yLWF1dGhvcnMtdXNpbmctbWVkaWEtZWxlbWVudHNcbiAgICBkb21FbGVtZW50LnBhdXNlKCk7XG4gICAgZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3NyYycpOyBcbiAgICBkb21FbGVtZW50LmxvYWQoKTsgXG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpOyAgICBcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2Ugd2ViY2FtIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5fZGlzcG9zZVNvdXJjZVdlYmNhbSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG5cbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTI0MzY3NzJcbiAgICBpZiggZG9tRWxlbWVudC5zcmNPYmplY3QgJiYgZG9tRWxlbWVudC5zcmNPYmplY3QuZ2V0VHJhY2tzICkge1xuICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdC5nZXRUcmFja3MoKS5tYXAoKHRyYWNrKSA9PiB0cmFjay5zdG9wKCkpOyAgICBcbiAgICB9XHRcblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRIYW5kbGUgTW9iaWxlIFRvcmNoXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaGFzTW9iaWxlVG9yY2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN0cmVhbSA9IGFyVG9vbGtpdFNvdXJjZS5kb21FbGVtZW50LnNyY09iamVjdFxuICAgIGlmIChzdHJlYW0gaW5zdGFuY2VvZiBNZWRpYVN0cmVhbSA9PT0gZmFsc2UpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IGZhbHNlXG4gICAgfVxuXG4gICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTtcblxuICAgIC8vIGlmIHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKCkgZG9lc250IGV4aXN0LCByZXR1cm4gZmFsc2Ugbm93XG4gICAgaWYgKHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZVxuXG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIHJldHVybiBjYXBhYmlsaXRpZXMudG9yY2ggPyB0cnVlIDogZmFsc2Vcbn1cblxuLyoqXG4gKiB0b2dnbGUgdGhlIGZsYXNoL3RvcmNoIG9mIHRoZSBtb2JpbGUgZnVuIGlmIGFwcGxpY2FibGUuXG4gKiBHcmVhdCBwb3N0IGFib3V0IGl0IGh0dHBzOi8vd3d3Lm9iZXJob2Zlci5jby9tZWRpYXN0cmVhbXRyYWNrLWFuZC1pdHMtY2FwYWJpbGl0aWVzL1xuICovXG5Tb3VyY2UucHJvdG90eXBlLnRvZ2dsZU1vYmlsZVRvcmNoID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaGFzTW9iaWxlVG9yY2goKSA9PT0gdHJ1ZSlcblxuICAgIHZhciBzdHJlYW0gPSBhclRvb2xraXRTb3VyY2UuZG9tRWxlbWVudC5zcmNPYmplY3RcbiAgICBpZiAoc3RyZWFtIGluc3RhbmNlb2YgTWVkaWFTdHJlYW0gPT09IGZhbHNlKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdlbmFibGluZyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9ubHkgb24gd2ViY2FtJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPSBmYWxzZVxuICAgIH1cblxuICAgIHZhciB2aWRlb1RyYWNrID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07XG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIGlmICghY2FwYWJpbGl0aWVzLnRvcmNoKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdubyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9uIHlvdXIgY2FtZXJhJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2VcbiAgICB2aWRlb1RyYWNrLmFwcGx5Q29uc3RyYWludHMoe1xuICAgICAgICBhZHZhbmNlZDogW3tcbiAgICAgICAgICAgIHRvcmNoOiB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXNcbiAgICAgICAgfV1cbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgfSk7XG59XG5cblNvdXJjZS5wcm90b3R5cGUuZG9tRWxlbWVudFdpZHRoID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBwYXJzZUludCh0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGgpXG59XG5Tb3VyY2UucHJvdG90eXBlLmRvbUVsZW1lbnRIZWlnaHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBoYW5kbGUgcmVzaXplXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG4gICAgdmFyIHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGhcbiAgICB2YXIgc2NyZWVuSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0XG5cbiAgICAvLyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxuXG4gICAgLy8gY29tcHV0ZSBzb3VyY2VXaWR0aCwgc291cmNlSGVpZ2h0XG4gICAgaWYgKHRoaXMuZG9tRWxlbWVudC5ub2RlTmFtZSA9PT0gXCJJTUdcIikge1xuICAgICAgICB2YXIgc291cmNlV2lkdGggPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbFdpZHRoXG4gICAgICAgIHZhciBzb3VyY2VIZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbEhlaWdodFxuICAgIH0gZWxzZSBpZiAodGhpcy5kb21FbGVtZW50Lm5vZGVOYW1lID09PSBcIlZJREVPXCIpIHtcbiAgICAgICAgdmFyIHNvdXJjZVdpZHRoID0gdGhpcy5kb21FbGVtZW50LnZpZGVvV2lkdGhcbiAgICAgICAgdmFyIHNvdXJjZUhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC52aWRlb0hlaWdodFxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgc291cmNlQXNwZWN0XG4gICAgdmFyIHNvdXJjZUFzcGVjdCA9IHNvdXJjZVdpZHRoIC8gc291cmNlSGVpZ2h0XG4gICAgLy8gY29tcHV0ZSBzY3JlZW5Bc3BlY3RcbiAgICB2YXIgc2NyZWVuQXNwZWN0ID0gc2NyZWVuV2lkdGggLyBzY3JlZW5IZWlnaHRcblxuICAgIC8vIGlmIHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCwgdGhlbiBjaGFuZ2UgdGhlIHdpZHRoLCBlbHNlIGNoYW5nZSB0aGUgaGVpZ2h0XG4gICAgaWYgKHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCkge1xuICAgICAgICAvLyBjb21wdXRlIG5ld1dpZHRoIGFuZCBzZXQgLndpZHRoLy5tYXJnaW5MZWZ0XG4gICAgICAgIHZhciBuZXdXaWR0aCA9IHNvdXJjZUFzcGVjdCAqIHNjcmVlbkhlaWdodFxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAtKG5ld1dpZHRoIC0gc2NyZWVuV2lkdGgpIC8gMiArICdweCdcblxuICAgICAgICAvLyBpbml0IHN0eWxlLmhlaWdodC8ubWFyZ2luVG9wIHRvIG5vcm1hbCB2YWx1ZVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc2NyZWVuSGVpZ2h0ICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gJzBweCdcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBjb21wdXRlIG5ld0hlaWdodCBhbmQgc2V0IC5oZWlnaHQvLm1hcmdpblRvcFxuICAgICAgICB2YXIgbmV3SGVpZ2h0ID0gMSAvIChzb3VyY2VBc3BlY3QgLyBzY3JlZW5XaWR0aClcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IG5ld0hlaWdodCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IC0obmV3SGVpZ2h0IC0gc2NyZWVuSGVpZ2h0KSAvIDIgKyAncHgnXG5cbiAgICAgICAgLy8gaW5pdCBzdHlsZS53aWR0aC8ubWFyZ2luTGVmdCB0byBub3JtYWwgdmFsdWVcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoID0gc2NyZWVuV2lkdGggKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gJzBweCdcbiAgICB9XG59XG4vKlxuU291cmNlLnByb3RvdHlwZS5jb3B5RWxlbWVudFNpemVUbyA9IGZ1bmN0aW9uKG90aGVyRWxlbWVudCl7XG5cdG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuXHRvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuXHRvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG5cdG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG59XG4qL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlFbGVtZW50U2l6ZVRvID0gZnVuY3Rpb24gKG90aGVyRWxlbWVudCkge1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICAgIC8vbGFuZHNjYXBlXG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvL3BvcnRyYWl0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IChwYXJzZUludChvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0KSAqIDQgLyAzKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAoKHdpbmRvdy5pbm5lcldpZHRoIC0gcGFyc2VJbnQob3RoZXJFbGVtZW50LnN0eWxlLndpZHRoKSkgLyAyKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IDA7XG4gICAgfVxuXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlTaXplVG8gPSBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS53YXJuKCdvYnNvbGV0ZSBmdW5jdGlvbiBhclRvb2xraXRTb3VyY2UuY29weVNpemVUby4gVXNlIGFyVG9vbGtpdFNvdXJjZS5jb3B5RWxlbWVudFNpemVUbycpXG4gICAgdGhpcy5jb3B5RWxlbWVudFNpemVUby5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKGFyVG9vbGtpdENvbnRleHQsIHJlbmRlcmVyLCBjYW1lcmEpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ29ic29sZXRlIGZ1bmN0aW9uIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZS4gVXNlIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZUVsZW1lbnQnKVxuICAgICAgICByZXR1cm4gdGhpcy5vblJlc2l6ZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIH1cblxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhclRvb2xraXRDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cblxuICAgIC8vIFJFU0laRSBET01FTEVNRU5UXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcblxuICAgICAgICB0aGlzLm9uUmVzaXplRWxlbWVudCgpXG5cbiAgICAgICAgdmFyIGlzQWZyYW1lID0gcmVuZGVyZXIuZG9tRWxlbWVudC5kYXRhc2V0LmFmcmFtZUNhbnZhcyA/IHRydWUgOiBmYWxzZVxuICAgICAgICBpZiAoaXNBZnJhbWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvKHJlbmRlcmVyLmRvbUVsZW1lbnQpXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jb3B5RWxlbWVudFNpemVUbyhhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlci5jYW52YXMpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmhhbmRsZWQgdHJhY2tpbmdCYWNrZW5kICcgKyB0cmFja2luZ0JhY2tlbmQpXG5cblxuICAgIC8vIFVQREFURSBDQU1FUkFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICBpZiAoYXJUb29sa2l0Q29udGV4dC5hckNvbnRyb2xsZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbWVyYS5wcm9qZWN0aW9uTWF0cml4LmNvcHkoYXJUb29sa2l0Q29udGV4dC5nZXRQcm9qZWN0aW9uTWF0cml4KCkpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5oYW5kbGVkIHRyYWNraW5nQmFja2VuZCAnICsgdHJhY2tpbmdCYWNrZW5kKVxufVxuXG5leHBvcnQgZGVmYXVsdCBTb3VyY2U7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBBckJhc2VDb250cm9scyA9IGZ1bmN0aW9uKG9iamVjdDNkKSB7XG5cdHRoaXMuaWQgPSBBckJhc2VDb250cm9scy5pZCsrXG5cblx0dGhpcy5vYmplY3QzZCA9IG9iamVjdDNkXG5cdHRoaXMub2JqZWN0M2QubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG5cdC8vIEV2ZW50cyB0byBob25vclxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ21hcmtlclZpc2libGUnIH0pXHQvLyByZXBsYWNlIG1hcmtlckZvdW5kXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVVblZpc2libGUnIH0pXG59XG5cbkFyQmFzZUNvbnRyb2xzLmlkID0gMFxuXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIGVycm9yIGNhdGNoaW5nIGZ1bmN0aW9uIGZvciB1cGRhdGUoKVxuICovXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gdXBkYXRlJylcbn1cblxuLyoqXG4gKiBlcnJvciBjYXRjaGluZyBmdW5jdGlvbiBmb3IgbmFtZSgpXG4gKi9cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gLm5hbWUoKScpXG5cdHJldHVybiAnTm90IHlldCBpbXBsZW1lbnRlZCAtIG5hbWUoKSdcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJCYXNlQ29udHJvbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEFyTWFya2VySGVscGVyID0gZnVuY3Rpb24obWFya2VyQ29udHJvbHMpe1xuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwXG5cblx0dmFyIG1lc2ggPSBuZXcgVEhSRUUuQXhlc0hlbHBlcigpXG5cdHRoaXMub2JqZWN0M2QuYWRkKG1lc2gpXG5cblx0dmFyIHRleHQgPSBtYXJrZXJDb250cm9scy5pZFxuXHQvLyBkZWJ1Z2dlclxuXHQvLyB2YXIgdGV4dCA9IG1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMucGF0dGVyblVybC5zbGljZSgtMSkudG9VcHBlckNhc2UoKTtcblxuXHR2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2NhbnZhcycgKTtcblx0Y2FudmFzLndpZHRoID0gIDY0O1xuXHRjYW52YXMuaGVpZ2h0ID0gNjQ7XG5cblx0dmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCggJzJkJyApO1xuXHR2YXIgdGV4dHVyZSA9IG5ldyBUSFJFRS5DYW52YXNUZXh0dXJlKCBjYW52YXMgKTtcblxuXHQvLyBwdXQgdGhlIHRleHQgaW4gdGhlIHNwcml0ZVxuXHRjb250ZXh0LmZvbnQgPSAnNDhweCBtb25vc3BhY2UnO1xuXHRjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDE5MiwxOTIsMjU1LCAwLjUpJztcblx0Y29udGV4dC5maWxsUmVjdCggMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0ICk7XG5cdGNvbnRleHQuZmlsbFN0eWxlID0gJ2RhcmtibHVlJztcblx0Y29udGV4dC5maWxsVGV4dCh0ZXh0LCBjYW52YXMud2lkdGgvNCwgMypjYW52YXMuaGVpZ2h0LzQgKVxuXHR0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZVxuXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5DdWJlR2VvbWV0cnkoMSwgMSwgMSlcblx0dmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkoMSwgMSlcblx0dmFyIG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcblx0XHRtYXA6IHRleHR1cmUsXG5cdFx0dHJhbnNwYXJlbnQ6IHRydWVcblx0fSk7XG5cdHZhciBtZXNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHRtZXNoLnJvdGF0aW9uLnggPSAtTWF0aC5QSS8yXG5cblx0dGhpcy5vYmplY3QzZC5hZGQobWVzaClcblxufVxuXG5leHBvcnQgZGVmYXVsdCBBck1hcmtlckhlbHBlcjtcbiIsImltcG9ydCBBckJhc2VDb250cm9scyBmcm9tICcuL3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5cbi8qKlxuICogLSBsZXJwIHBvc2l0aW9uL3F1YXRlcm5pbm8vc2NhbGVcbiAqIC0gbWluRGVsYXlEZXRlY3RlZFxuICogLSBtaW5EZWxheVVuZGV0ZWN0ZWRcbiAqIEBwYXJhbSB7W3R5cGVdfSBvYmplY3QzZCAgIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSB7W3R5cGVdfSBwYXJhbWV0ZXJzIFtkZXNjcmlwdGlvbl1cbiAqL1xuY29uc3QgQXJTbW9vdGhlZENvbnRyb2xzID0gZnVuY3Rpb24ob2JqZWN0M2QsIHBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdFxuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXHRcblx0Ly8gY29weSBwYXJhbWV0ZXJzXG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdFxuXHR0aGlzLl9sYXN0TGVycFN0ZXBBdCA9IG51bGxcblx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcblx0cGFyYW1ldGVycyA9IHBhcmFtZXRlcnMgfHwge31cblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHBvc2l0aW9uIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBQb3NpdGlvbjogMC44LFxuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHF1YXRlcm5pb24gLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFF1YXRlcm5pb246IDAuMixcblx0XHQvLyBsZXJwIGNvZWZpY2llbnQgZm9yIHRoZSBzY2FsZSAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwU2NhbGU6IDAuNyxcblx0XHQvLyBkZWxheSBmb3IgbGVycCBmaXhlZCBzdGVwcyAtIGluIHNlY29uZHMgLSBkZWZhdWx0IHRvIDEvMTIwXG5cdFx0bGVycFN0ZXBEZWxheTogMS82MCxcblx0XHQvLyBtaW5pbXVtIGRlbGF5IHRoZSBzdWItY29udHJvbCBtdXN0IGJlIHZpc2libGUgYmVmb3JlIHRoaXMgY29udHJvbHMgYmVjb21lIHZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblZpc2libGVEZWxheTogMC4wLFxuXHRcdC8vIG1pbmltdW0gZGVsYXkgdGhlIHN1Yi1jb250cm9sIG11c3QgYmUgdW52aXNpYmxlIGJlZm9yZSB0aGlzIGNvbnRyb2xzIGJlY29tZSB1bnZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblVudmlzaWJsZURlbGF5OiAwLjIsXG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyU21vb3RoZWRDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBclNtb290aGVkQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxufVxuXHRcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBBclNtb290aGVkQ29udHJvbHM7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0YXJnZXRPYmplY3QzZCl7XG5cdHZhciBvYmplY3QzZCA9IHRoaXMub2JqZWN0M2Rcblx0dmFyIHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcblx0dmFyIHdhc1Zpc2libGUgPSBvYmplY3QzZC52aXNpYmxlXG5cdHZhciBwcmVzZW50ID0gcGVyZm9ybWFuY2Uubm93KCkvMTAwMFxuXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGhhbmRsZSBvYmplY3QzZC52aXNpYmxlIHdpdGggbWluVmlzaWJsZURlbGF5L21pblVudmlzaWJsZURlbGF5XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKVx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSB0cnVlICYmIHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPT09IG51bGwgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IHByZXNlbnRcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICYmIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9PT0gbnVsbCApXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBwcmVzZW50XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR2YXIgdmlzaWJsZUZvciA9IHByZXNlbnQgLSB0aGlzLl92aXNpYmxlU3RhcnRlZEF0XG5cdFx0aWYoIHZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblZpc2libGVEZWxheSApe1xuXHRcdFx0b2JqZWN0M2QudmlzaWJsZSA9IHRydWVcblx0XHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0XHR9XG5cdFx0Ly8gY29uc29sZS5sb2coJ3Zpc2libGVGb3InLCB2aXNpYmxlRm9yKVxuXHR9XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR2YXIgdW52aXNpYmxlRm9yID0gcHJlc2VudCAtIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdFxuXHRcdGlmKCB1bnZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblVudmlzaWJsZURlbGF5ICl7XG5cdFx0XHRvYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0XHR9XG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRhcHBseSBsZXJwIG9uIHBvc2l0b24vcXVhdGVybmlvbi9zY2FsZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHQvLyBhcHBseSBsZXJwIHN0ZXBzIC0gcmVxdWlyZSBmaXggdGltZSBzdGVwcyB0byBiZWhhdmUgdGhlIHNhbWUgbm8gbWF0dGVyIHRoZSBmcHNcblx0aWYoIHRoaXMuX2xhc3RMZXJwU3RlcEF0ID09PSBudWxsICl7XG5cdFx0YXBwbHlPbmVTbGVycFN0ZXAoKVxuXHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ID0gcHJlc2VudFxuXHR9ZWxzZXtcblx0XHR2YXIgblN0ZXBzVG9EbyA9IE1hdGguZmxvb3IoIChwcmVzZW50IC0gdGhpcy5fbGFzdExlcnBTdGVwQXQpL3RoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5IClcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgblN0ZXBzVG9EbzsgaSsrKXtcblx0XHRcdGFwcGx5T25lU2xlcnBTdGVwKClcblx0XHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ICs9IHRoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5XG5cdFx0fVxuXHR9XG5cblx0Ly8gZGlzYWJsZSB0aGUgbGVycCBieSBkaXJlY3RseSBjb3B5aW5nIHRhcmdldE9iamVjdDNkIHBvc2l0aW9uL3F1YXRlcm5pb24vc2NhbGVcblx0aWYoIGZhbHNlICl7XHRcdFxuXHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0fVxuXG5cdC8vIHVwZGF0ZSB0aGUgbWF0cml4XG5cdHRoaXMub2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aG9ub3IgYmVjYW1lVmlzaWJsZS9iZWNhbWVVblZpc2libGUgZXZlbnRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vIGhvbm9yIGJlY2FtZVZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIG9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0fVxuXHQvLyBob25vciBiZWNhbWVVblZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgb2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVW5WaXNpYmxlJyB9KVxuXHR9XG5cdHJldHVyblxuXG5cdGZ1bmN0aW9uIHNuYXBEaXJlY3RseVRvVGFyZ2V0KCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24uY29weSggdGFyZ2V0T2JqZWN0M2QucG9zaXRpb24gKVxuXHRcdG9iamVjdDNkLnF1YXRlcm5pb24uY29weSggdGFyZ2V0T2JqZWN0M2QucXVhdGVybmlvbiApXG5cdFx0b2JqZWN0M2Quc2NhbGUuY29weSggdGFyZ2V0T2JqZWN0M2Quc2NhbGUgKVxuXHR9XHRcblx0XG5cdGZ1bmN0aW9uIGFwcGx5T25lU2xlcnBTdGVwKCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24ubGVycCh0YXJnZXRPYmplY3QzZC5wb3NpdGlvbiwgcGFyYW1ldGVycy5sZXJwUG9zaXRpb24pXG5cdFx0b2JqZWN0M2QucXVhdGVybmlvbi5zbGVycCh0YXJnZXRPYmplY3QzZC5xdWF0ZXJuaW9uLCBwYXJhbWV0ZXJzLmxlcnBRdWF0ZXJuaW9uKVxuXHRcdG9iamVjdDNkLnNjYWxlLmxlcnAodGFyZ2V0T2JqZWN0M2Quc2NhbGUsIHBhcmFtZXRlcnMubGVycFNjYWxlKVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyU21vb3RoZWRDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLy8gVE9ETyB0aGlzIGlzIHVzZWxlc3MgLSBwcmVmZXJlIGFyanMtSGl0VGVzdGluZy5qc1xuXG4vKipcbiAqIC0gbWF5YmUgc3VwcG9ydCAub25DbGlja0ZjdHMgaW4gZWFjaCBvYmplY3QzZFxuICogLSBzZWVtcyBhbiBlYXN5IGxpZ2h0IGxheWVyIGZvciBjbGlja2FibGUgb2JqZWN0XG4gKiAtIHVwIHRvIFxuICovXG5jb25zdCBIaXRUZXN0aW5nUGxhbmUgPSBmdW5jdGlvbihzb3VyY2VFbGVtZW50KXtcblx0dGhpcy5fc291cmNlRWxlbWVudCA9IHNvdXJjZUVsZW1lbnRcblxuXHQvLyBjcmVhdGUgX3BpY2tpbmdTY2VuZVxuXHR0aGlzLl9waWNraW5nU2NlbmUgPSBuZXcgVEhSRUUuU2NlbmVcblx0XG5cdC8vIGNyZWF0ZSBfcGlja2luZ1BsYW5lXG5cdHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwLDE5LDE5KS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwKS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdHZhciBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG5cdFx0Ly8gb3BhY2l0eTogMC41LFxuXHRcdC8vIHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdHdpcmVmcmFtZTogdHJ1ZVxuXHR9KVxuXHQvLyBtYXRlcmlhbC52aXNpYmxlID0gZmFsc2Vcblx0dGhpcy5fcGlja2luZ1BsYW5lID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHR0aGlzLl9waWNraW5nU2NlbmUuYWRkKHRoaXMuX3BpY2tpbmdQbGFuZSlcblxuXHQvLyBDcmVhdGUgcGlja2luZ0NhbWVyYVxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0Ly8gVE9ETyBoYXJkY29kZWQgZm92IC0gY291Y2hcblx0dGhpcy5fcGlja2luZ0NhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSg0MiwgZnVsbFdpZHRoIC8gZnVsbEhlaWdodCwgMC4xLCAzMCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpe1xuXG5cdHRoaXMub25SZXNpemUoKVxuXHRcblxuXHRpZiggY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHQvLyBzZXQgcGlja2luZ1BsYW5lIHBvc2l0aW9uXG5cdFx0dmFyIHBpY2tpbmdQbGFuZSA9IHRoaXMuX3BpY2tpbmdQbGFuZVxuXHRcdHBpY2tpbmdSb290LnBhcmVudC51cGRhdGVNYXRyaXhXb3JsZCgpXG5cdFx0cGlja2luZ1BsYW5lLm1hdHJpeC5jb3B5KHBpY2tpbmdSb290LnBhcmVudC5tYXRyaXhXb3JsZClcblx0XHQvLyBzZXQgcG9zaXRpb24vcXVhdGVybmlvbi9zY2FsZSBmcm9tIHBpY2tpbmdQbGFuZS5tYXRyaXhcblx0XHRwaWNraW5nUGxhbmUubWF0cml4LmRlY29tcG9zZShwaWNraW5nUGxhbmUucG9zaXRpb24sIHBpY2tpbmdQbGFuZS5xdWF0ZXJuaW9uLCBwaWNraW5nUGxhbmUuc2NhbGUpXG5cdH1lbHNlIGlmKCBjaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdC8vIHNldCBwaWNraW5nUGxhbmUgcG9zaXRpb25cblx0XHR2YXIgcGlja2luZ0NhbWVyYSA9IHRoaXMuX3BpY2tpbmdDYW1lcmFcblx0XHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoKVxuXHRcdHBpY2tpbmdDYW1lcmEubWF0cml4LmNvcHkoY2FtZXJhLm1hdHJpeFdvcmxkKVxuXHRcdC8vIHNldCBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlIGZyb20gcGlja2luZ0NhbWVyYS5tYXRyaXhcblx0XHRwaWNraW5nQ2FtZXJhLm1hdHJpeC5kZWNvbXBvc2UocGlja2luZ0NhbWVyYS5wb3NpdGlvbiwgcGlja2luZ0NhbWVyYS5xdWF0ZXJuaW9uLCBwaWNraW5nQ2FtZXJhLnNjYWxlKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXG4vLyB2YXIgcG9zaXRpb24gPSB0aGlzLl9waWNraW5nUGxhbmUucG9zaXRpb25cbi8vIGNvbnNvbGUubG9nKCdwaWNraW5nUGxhbmUgcG9zaXRpb24nLCBwb3NpdGlvbi54LnRvRml4ZWQoMiksIHBvc2l0aW9uLnkudG9GaXhlZCgyKSwgcG9zaXRpb24uei50b0ZpeGVkKDIpKVxuLy8gdmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ0NhbWVyYS5wb3NpdGlvblxuLy8gY29uc29sZS5sb2coJ2hpcy5fcGlja2luZ0NhbWVyYSBwb3NpdGlvbicsIHBvc2l0aW9uLngudG9GaXhlZCgyKSwgcG9zaXRpb24ueS50b0ZpeGVkKDIpLCBwb3NpdGlvbi56LnRvRml4ZWQoMikpXG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlc2l6ZSBjYW1lcmFcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24oKXtcblx0dmFyIHNvdXJjZUVsZW1lbnQgPSB0aGlzLl9zb3VyY2VFbGVtZW50XG5cdHZhciBwaWNraW5nQ2FtZXJhID0gdGhpcy5fcGlja2luZ0NhbWVyYVxuXHRcbi8vIEZJWE1FIHdoeSB1c2luZyBjc3MgaGVyZSA/Pz8gbm90IGV2ZW4gY29tcHV0ZWQgc3R5bGVcbi8vIHNob3VsZCBnZXQgdGhlIHNpemUgb2YgdGhlIGVsbWVudCBkaXJlY3RseSBpbmRlcGVuZGFudGx5IFxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0cGlja2luZ0NhbWVyYS5hc3BlY3QgPSBmdWxsV2lkdGggLyBmdWxsSGVpZ2h0XG5cblx0cGlja2luZ0NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtIHRlc3Rcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuSGl0VGVzdGluZ1BsYW5lLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24obW91c2VYLCBtb3VzZVkpe1xuXHQvLyBjb252ZXJ0IG1vdXNlWCwgbW91c2VZIHRvIFstMSwgKzFdXG5cdG1vdXNlWCA9IChtb3VzZVgtMC41KSoyXG5cdG1vdXNlWSA9LShtb3VzZVktMC41KSoyXG5cdFxuXHR0aGlzLl9waWNraW5nU2NlbmUudXBkYXRlTWF0cml4V29ybGQodHJ1ZSlcblxuXHQvLyBjb21wdXRlIGludGVyc2VjdGlvbnMgYmV0d2VlbiBtb3VzZVZlY3RvcjMgYW5kIHBpY2tpbmdQbGFuZVxuXHR2YXIgcmF5Y2FzdGVyID0gbmV3IFRIUkVFLlJheWNhc3RlcigpO1xuXHR2YXIgbW91c2VWZWN0b3IzID0gbmV3IFRIUkVFLlZlY3RvcjMobW91c2VYLCBtb3VzZVksIDEpO1xuXHRyYXljYXN0ZXIuc2V0RnJvbUNhbWVyYSggbW91c2VWZWN0b3IzLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcblx0dmFyIGludGVyc2VjdHMgPSByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyggW3RoaXMuX3BpY2tpbmdQbGFuZV0gKVxuXG5cdGlmKCBpbnRlcnNlY3RzLmxlbmd0aCA9PT0gMCApXHRyZXR1cm4gbnVsbFxuXG5cdC8vIHNldCBuZXcgZGVtb1Jvb3QgcG9zaXRpb25cblx0dmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ1BsYW5lLndvcmxkVG9Mb2NhbCggaW50ZXJzZWN0c1swXS5wb2ludC5jbG9uZSgpIClcblx0Ly8gVE9ETyBoZXJlIGRvIGEgbG9vayBhdCB0aGUgY2FtZXJhID9cblx0dmFyIHF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvblxuXHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yMygxLDEsMSkvLy5tdWx0aXBseVNjYWxhcigxKVxuXHRcblx0cmV0dXJuIHtcblx0XHRwb3NpdGlvbiA6IHBvc2l0aW9uLFxuXHRcdHF1YXRlcm5pb24gOiBxdWF0ZXJuaW9uLFxuXHRcdHNjYWxlIDogc2NhbGVcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlbmRlciB0aGUgcGlja2luZ1BsYW5lIGZvciBkZWJ1Z1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkhpdFRlc3RpbmdQbGFuZS5wcm90b3R5cGUucmVuZGVyRGVidWcgPSBmdW5jdGlvbihyZW5kZXJlcil7XG5cdC8vIHJlbmRlciBzY2VuZU9ydGhvXG5cdHJlbmRlcmVyLnJlbmRlciggdGhpcy5fcGlja2luZ1NjZW5lLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgSGl0VGVzdGluZ1BsYW5lO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX2FmcmFtZV9fOyIsIm1vZHVsZS5leHBvcnRzID0gX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV90aHJlZV9fOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCIvLyBDb21wb25lbnRzXG5pbXBvcnQgJy4vY29tcG9uZW50LWFuY2hvci1uZnQnO1xuaW1wb3J0ICcuL2NvbXBvbmVudC1oaXQtdGVzdGluZyc7XG5cbi8vIExvY2F0aW9uLWJhc2VkIGNvbXBvbmVudHNcbmltcG9ydCAnLi9sb2NhdGlvbi1iYXNlZC9hcmpzLWxvb2stY29udHJvbHMnXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvYXJqcy13ZWJjYW0tdGV4dHVyZSdcbmltcG9ydCAnLi9sb2NhdGlvbi1iYXNlZC9BcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scydcbmltcG9ydCAnLi9sb2NhdGlvbi1iYXNlZC9ncHMtY2FtZXJhJ1xuaW1wb3J0ICcuL2xvY2F0aW9uLWJhc2VkL2dwcy1lbnRpdHktcGxhY2UnXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1jYW1lcmEnXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2UnXG5cbi8vIFN5c3RlbVxuaW1wb3J0ICcuL3N5c3RlbS1hcmpzJztcbiJdLCJzb3VyY2VSb290IjoiIn0= diff --git a/aframe/build/aframe-ar.js b/aframe/build/aframe-ar.js index bddce7a8..e5d5e304 100644 --- a/aframe/build/aframe-ar.js +++ b/aframe/build/aframe-ar.js @@ -1,7509 +1,5916 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("aframe"), require("three")); + else if(typeof define === 'function' && define.amd) + define(["aframe", "three"], factory); + else if(typeof exports === 'object') + exports["ARjs"] = factory(require("aframe"), require("three")); + else + root["ARjs"] = factory(root["AFRAME"], root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_aframe__, __WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./aframe/src/component-anchor.js": +/*!****************************************!*\ + !*** ./aframe/src/component-anchor.js ***! + \****************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-anchor */ "./three.js/src/new-api/arjs-anchor.js"); +/* harmony import */ var _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); +/* harmony import */ var _three_js_src_threex_arjs_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../three.js/src/threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + + + + +// ////////////////////////////////////////////////////////////////////////////// +// arjs-anchor +////////////////////////////////////////////////////////////////////////////// +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-anchor', { + dependencies: ['arjs', 'artoolkit'], + schema: { + preset: { + type: 'string', + }, + markerhelpers: { // IIF preset === 'area' + type: 'boolean', + default: false, + }, -((function(){"use strict";var ARController=(function(width,height,camera){var id;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;camera=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.transform_mat=new Float32Array(16);this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d");this.videoWidth=w;this.videoHeight=h;if(typeof camera==="string"){var self=this;this.cameraParam=new ARCameraParam(camera,(function(){self._initialize()}),(function(err){console.error("ARController: Failed to load ARCameraParam",err)}))}else{this.cameraParam=camera;this._initialize()}});ARController.prototype.dispose=(function(){artoolkit.teardown(this.id);for(var t in this){this[t]=null}});ARController.prototype.process=(function(image){this.detectMarker(image);var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat}})}var multiMarkerCount=this.getMultiMarkerCount();for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}});ARController.prototype.dispatchEvent=(function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function($0,$1,$2,$3){{if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3}}),(function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){{var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]}}),(function($0,$1,$2,$3,$4){{if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4}})];function _emscripten_asm_const_33(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}function _emscripten_asm_const_4(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_5(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}STATIC_BASE=8;STATICTOP=STATIC_BASE+16496;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_ARToolKitJS_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,9,0,0,53,42,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,116,42,0,0,52,9,0,0,136,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,52,9,0,0,73,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,54,47,0,0,228,8,0,0,23,47,0,0,228,8,0,0,62,46,0,0,228,8,0,0,31,46,0,0,228,8,0,0,0,46,0,0,228,8,0,0,225,45,0,0,228,8,0,0,194,45,0,0,228,8,0,0,93,46,0,0,228,8,0,0,124,46,0,0,228,8,0,0,155,46,0,0,228,8,0,0,186,46,0,0,228,8,0,0,217,46,0,0,228,8,0,0,248,46,0,0,12,9,0,0,199,47,0,0,48,2,0,0,0,0,0,0,228,8,0,0,212,47,0,0,228,8,0,0,225,47,0,0,12,9,0,0,238,47,0,0,56,2,0,0,0,0,0,0,12,9,0,0,15,48,0,0,64,2,0,0,0,0,0,0,12,9,0,0,49,48,0,0,64,2,0,0,0,0,0,0,200,8,0,0,89,48,0,0,200,8,0,0,91,48,0,0,200,8,0,0,93,48,0,0,200,8,0,0,95,48,0,0,200,8,0,0,97,48,0,0,200,8,0,0,99,48,0,0,200,8,0,0,101,48,0,0,200,8,0,0,103,48,0,0,200,8,0,0,105,48,0,0,200,8,0,0,107,48,0,0,200,8,0,0,109,48,0,0,200,8,0,0,111,48,0,0,200,8,0,0,113,48,0,0,12,9,0,0,115,48,0,0,80,2,0,0,0,0,0,0,12,9,0,0,152,48,0,0,80,2,0,0,0,0,0,0,255,15,0,0,6,16,0,0,18,16,0,0,28,16,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,11,0,0,0,5,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0,0,67,0,0,0,5,0,0,0,10,0,0,0,20,0,0,0,40,0,0,0,80,0,0,0,35,0,0,0,70,0,0,0,15,0,0,0,30,0,0,0,60,0,0,0,120,0,0,0,115,0,0,0,101,0,0,0,73,0,0,0,17,0,0,0,34,0,0,0,68,0,0,0,11,0,0,0,22,0,0,0,44,0,0,0,88,0,0,0,51,0,0,0,102,0,0,0,79,0,0,0,29,0,0,0,58,0,0,0,116,0,0,0,107,0,0,0,85,0,0,0,41,0,0,0,82,0,0,0,39,0,0,0,78,0,0,0,31,0,0,0,62,0,0,0,124,0,0,0,123,0,0,0,117,0,0,0,105,0,0,0,81,0,0,0,33,0,0,0,66,0,0,0,7,0,0,0,14,0,0,0,28,0,0,0,56,0,0,0,112,0,0,0,99,0,0,0,69,0,0,0,9,0,0,0,18,0,0,0,36,0,0,0,72,0,0,0,19,0,0,0,38,0,0,0,76,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,91,0,0,0,53,0,0,0,106,0,0,0,87,0,0,0,45,0,0,0,90,0,0,0,55,0,0,0,110,0,0,0,95,0,0,0,61,0,0,0,122,0,0,0,119,0,0,0,109,0,0,0,89,0,0,0,49,0,0,0,98,0,0,0,71,0,0,0,13,0,0,0,26,0,0,0,52,0,0,0,104,0,0,0,83,0,0,0,37,0,0,0,74,0,0,0,23,0,0,0,46,0,0,0,92,0,0,0,59,0,0,0,118,0,0,0,111,0,0,0,93,0,0,0,57,0,0,0,114,0,0,0,103,0,0,0,77,0,0,0,25,0,0,0,50,0,0,0,100,0,0,0,75,0,0,0,21,0,0,0,42,0,0,0,84,0,0,0,43,0,0,0,86,0,0,0,47,0,0,0,94,0,0,0,63,0,0,0,126,0,0,0,127,0,0,0,125,0,0,0,121,0,0,0,113,0,0,0,97,0,0,0,65,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,8,0,0,0,5,0,0,0,10,0,0,0,3,0,0,0,14,0,0,0,9,0,0,0,7,0,0,0,6,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,56,0,0,0,3,0,0,0,63,0,0,0,15,0,0,0,31,0,0,0,9,0,0,0,90,0,0,0,57,0,0,0,21,0,0,0,4,0,0,0,28,0,0,0,64,0,0,0,67,0,0,0,16,0,0,0,112,0,0,0,32,0,0,0,97,0,0,0,10,0,0,0,108,0,0,0,91,0,0,0,70,0,0,0,58,0,0,0,38,0,0,0,22,0,0,0,47,0,0,0,5,0,0,0,54,0,0,0,29,0,0,0,19,0,0,0,65,0,0,0,95,0,0,0,68,0,0,0,45,0,0,0,17,0,0,0,43,0,0,0,113,0,0,0,115,0,0,0,33,0,0,0,77,0,0,0,98,0,0,0,117,0,0,0,11,0,0,0,87,0,0,0,109,0,0,0,35,0,0,0,92,0,0,0,74,0,0,0,71,0,0,0,79,0,0,0,59,0,0,0,104,0,0,0,39,0,0,0,100,0,0,0,23,0,0,0,82,0,0,0,48,0,0,0,119,0,0,0,6,0,0,0,126,0,0,0,55,0,0,0,13,0,0,0,30,0,0,0,62,0,0,0,20,0,0,0,89,0,0,0,66,0,0,0,27,0,0,0,96,0,0,0,111,0,0,0,69,0,0,0,107,0,0,0,46,0,0,0,37,0,0,0,18,0,0,0,53,0,0,0,44,0,0,0,94,0,0,0,114,0,0,0,42,0,0,0,116,0,0,0,76,0,0,0,34,0,0,0,86,0,0,0,78,0,0,0,73,0,0,0,99,0,0,0,103,0,0,0,118,0,0,0,81,0,0,0,12,0,0,0,125,0,0,0,88,0,0,0,61,0,0,0,110,0,0,0,26,0,0,0,36,0,0,0,106,0,0,0,93,0,0,0,52,0,0,0,75,0,0,0,41,0,0,0,72,0,0,0,85,0,0,0,80,0,0,0,102,0,0,0,60,0,0,0,124,0,0,0,105,0,0,0,25,0,0,0,40,0,0,0,51,0,0,0,101,0,0,0,84,0,0,0,24,0,0,0,123,0,0,0,83,0,0,0,50,0,0,0,49,0,0,0,122,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,136,0,0,0,5,0,0,0,144,0,0,0,6,0,0,0,152,0,0,0,9,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,112,2,0,0,168,2,0,0,200,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,0,0,0,0,32,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,96,2,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,80,2,0,0,3,0,0,0,7,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,216,2,0,0,3,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,2,0,0,3,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,240,10,0,0,96,11,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,81,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,73,58,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,69,114,114,111,114,58,32,108,97,98,101,108,105,110,103,32,119,111,114,107,32,111,118,101,114,102,108,111,119,46,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,40,37,100,41,32,114,101,113,117,101,115,116,101,100,46,10,0,85,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,108,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,114,101,113,117,101,115,116,101,100,46,32,83,101,116,32,116,111,32,109,97,110,117,97,108,46,10,0,76,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,46,10,0,77,65,78,85,65,76,0,65,85,84,79,95,77,69,68,73,65,78,0,65,85,84,79,95,79,84,83,85,0,65,85,84,79,95,65,68,65,80,84,73,86,69,65,85,84,79,95,66,82,65,67,75,69,84,73,78,71,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,109,97,114,107,101,114,32,99,111,117,110,116,115,32,45,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,43,46,10,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,109,101,100,105,97,110,0,79,116,115,117,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,37,115,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,63,63,63,32,49,10,0,63,63,63,32,50,10,0,63,63,63,32,51,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,112,97,115,115,101,100,32,116,111,32,97,114,73,109,97,103,101,80,114,111,99,72,105,115,116,40,41,46,10,0,0,0,0,1,0,1,1,1,0,2,4,255,255,5,3,1,0,2,255,6,7,255,3,1,2,2,3,2,3,2,3,3,0,255,4,6,7,5,255,1,4,5,4,4,5,5,4,5,7,6,6,6,7,7,7,6,255,2,4,6,7,5,3,255,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,255,255,3,255,5,6,255,255,9,10,255,12,255,255,15,255,17,18,255,20,255,255,23,24,255,255,27,255,29,30,255,255,1,2,255,4,255,255,7,8,255,255,11,255,13,14,255,16,255,255,19,255,21,22,255,255,25,26,255,28,255,255,31,69,114,114,111,114,58,32,117,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,46,10,0,69,114,114,111,114,58,32,78,85,76,76,32,112,97,116,116,72,97,110,100,108,101,46,10,0,69,114,114,111,114,58,32,99,97,110,39,116,32,108,111,97,100,32,112,97,116,116,101,114,110,32,102,114,111,109,32,78,85,76,76,32,98,117,102,102,101,114,46,10,0,69,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46,10,0,32,9,10,13,0,80,97,116,116,101,114,110,32,68,97,116,97,32,114,101,97,100,32,101,114,114,111,114,33,33,10,0,69,114,114,111,114,32,111,112,101,110,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,46,10,0,114,98,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,115,32,102,105,108,101,32,34,37,115,34,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,102,105,108,101,32,108,101,110,103,116,104,46,0,69,114,114,111,114,58,32,115,117,112,112,108,105,101,100,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,97,112,112,101,97,114,32,116,111,32,98,101,32,97,110,32,65,82,84,111,111,108,75,105,116,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,114,111,109,32,102,105,108,101,46,0,69,114,114,111,114,58,32,105,99,112,71,101,116,74,95,85,95,88,99,0,69,114,114,111,114,58,32,109,97,108,108,111,99,10,0,69,114,114,111,114,32,49,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,50,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,51,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,52,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,53,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,54,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,55,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,114,0,69,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,46,10,0,37,115,37,115,10,0,0,37,100,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,110,117,109,98,101,114,32,111,102,32,109,97,114,107,101,114,32,99,111,110,102,105,103,115,32,116,111,32,114,101,97,100,46,10,0,79,117,116,32,111,102,32,109,101,109,111,114,121,33,33,10,0,37,108,108,117,37,99,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,112,97,116,116,101,114,110,32,39,37,115,39,32,115,112,101,99,105,102,105,101,100,32,105,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,119,104,105,108,101,32,105,110,32,98,97,114,99,111,100,101,45,111,110,108,121,32,109,111,100,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,108,111,97,100,32,112,97,116,116,101,114,110,32,39,37,115,39,46,10,0,37,108,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,112,97,116,116,101,114,110,32,119,105,100,116,104,46,10,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,37,102,32,37,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,76,105,110,101,115,32,50,32,45,32,52,32,109,117,115,116,32,98,101,32,109,97,114,107,101,114,32,116,114,97,110,115,102,111,114,109,46,10,0,97,114,103,108,67,97,109,101,114,97,70,114,117,115,116,117,109,40,41,58,32,97,114,80,97,114,97,109,68,101,99,111,109,112,77,97,116,40,41,32,105,110,100,105,99,97,116,101,100,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,46,10,0,108,111,97,100,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,32,37,115,32,102,111,114,32,99,97,109,101,114,97,46,10,0,42,42,42,32,67,97,109,101,114,97,32,80,97,114,97,109,101,116,101,114,32,114,101,115,105,122,101,100,32,102,114,111,109,32,37,100,44,32,37,100,46,32,42,42,42,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,114,97,109,76,84,67,114,101,97,116,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,99,114,101,97,116,105,110,103,32,51,68,32,104,97,110,100,108,101,0,108,111,97,100,77,97,114,107,101,114,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,37,115,46,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,97,114,107,101,114,46,10,0,99,111,110,102,105,103,32,100,97,116,97,32,108,111,97,100,32,101,114,114,111,114,32,33,33,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,117,108,116,105,109,97,114,107,101,114,46,10,0,80,97,116,116,101,114,110,32,100,101,116,101,99,116,105,111,110,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,80,97,116,116,101,114,110,32,114,97,116,105,111,32,115,105,122,101,32,115,101,116,32,116,111,32,37,102,46,10,0,76,97,98,101,108,105,110,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,111,110,46,0,111,102,102,46,0,68,101,98,117,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,10,0,73,109,97,103,101,32,112,114,111,99,46,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,118,105,115,105,98,108,101,39,93,32,61,32,36,48,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,73,100,39,93,32,61,32,36,49,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,84,121,112,101,39,93,32,61,32,36,50,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,119,105,100,116,104,39,93,32,61,32,36,51,59,32,125,0,123,32,118,97,114,32,36,97,32,61,32,97,114,103,117,109,101,110,116,115,59,32,118,97,114,32,105,32,61,32,49,50,59,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,32,112,111,115,58,32,91,48,44,48,93,44,32,108,105,110,101,58,32,91,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,93,44,32,118,101,114,116,101,120,58,32,91,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,93,32,125,41,59,32,125,32,118,97,114,32,109,97,114,107,101,114,73,110,102,111,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,97,114,101,97,34,93,32,61,32,36,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,34,93,32,61,32,36,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,80,97,116,116,34,93,32,61,32,36,50,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,77,97,116,114,105,120,34,93,32,61,32,36,51,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,34,93,32,61,32,36,52,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,80,97,116,116,34,93,32,61,32,36,53,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,77,97,116,114,105,120,34,93,32,61,32,36,54,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,34,93,32,61,32,36,55,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,80,97,116,116,34,93,32,61,32,36,56,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,77,97,116,114,105,120,34,93,32,61,32,36,57,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,48,93,32,61,32,36,49,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,49,93,32,61,32,36,49,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,101,114,114,111,114,67,111,114,114,101,99,116,101,100,34,93,32,61,32,36,97,91,105,43,43,93,59,32,125,0,115,101,116,117,112,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,116,116,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,65,108,108,111,99,97,116,101,100,32,118,105,100,101,111,70,114,97,109,101,83,105,122,101,32,37,100,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,102,114,97,109,101,77,97,108,108,111,99,32,61,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,112,111,105,110,116,101,114,34,93,32,61,32,36,49,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,115,105,122,101,34,93,32,61,32,36,50,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,99,97,109,101,114,97,34,93,32,61,32,36,51,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,116,114,97,110,115,102,111,114,109,34,93,32,61,32,36,52,59,32,125,0,115,101,116,117,112,0,116,101,97,114,100,111,119,110,0,95,97,100,100,77,97,114,107,101,114,0,95,97,100,100,77,117,108,116,105,77,97,114,107,101,114,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,67,111,117,110,116,0,95,108,111,97,100,67,97,109,101,114,97,0,115,101,116,77,97,114,107,101,114,73,110,102,111,68,105,114,0,115,101,116,77,97,114,107,101,114,73,110,102,111,86,101,114,116,101,120,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,67,111,110,116,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,82,111,98,117,115,116,0,100,101,116,101,99,116,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,69,97,99,104,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,0,115,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,80,114,111,99,101,115,115,105,110,103,73,109,97,103,101,0,115,101,116,76,111,103,76,101,118,101,108,0,103,101,116,76,111,103,76,101,118,101,108,0,115,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,115,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,115,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,103,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,115,101,116,84,104,114,101,115,104,111,108,100,0,103,101,116,84,104,114,101,115,104,111,108,100,0,115,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,103,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,115,101,116,80,97,116,116,82,97,116,105,111,0,103,101,116,80,97,116,116,82,97,116,105,111,0,115,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,103,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,115,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,103,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,115,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,103,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,69,82,82,79,82,95,65,82,67,79,78,84,82,79,76,76,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,85,76,84,73,77,65,82,75,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,65,82,75,69,82,95,73,78,68,69,88,95,79,85,84,95,79,70,95,66,79,85,78,68,83,0,65,82,95,68,69,66,85,71,95,68,73,83,65,66,76,69,0,65,82,95,68,69,66,85,71,95,69,78,65,66,76,69,0,65,82,95,68,69,70,65,85,76,84,95,68,69,66,85,71,95,77,79,68,69,0,65,82,95,76,65,66,69,76,73,78,71,95,87,72,73,84,69,95,82,69,71,73,79,78,0,65,82,95,76,65,66,69,76,73,78,71,95,66,76,65,67,75,95,82,69,71,73,79,78,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,77,79,68,69,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,82,65,77,69,95,73,77,65,71,69,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,73,69,76,68,95,73,77,65,71,69,0,65,82,95,68,69,70,65,85,76,84,95,73,77,65,71,69,95,80,82,79,67,95,77,79,68,69,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,68,69,84,69,67,84,73,79,78,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,68,69,70,65,85,76,84,95,80,65,84,84,69,82,78,95,68,69,84,69,67,84,73,79,78,95,77,79,68,69,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,78,79,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,95,86,50,0,65,82,95,68,69,70,65,85,76,84,95,77,65,82,75,69,82,95,69,88,84,82,65,67,84,73,79,78,95,77,79,68,69,0,65,82,95,77,65,88,95,76,79,79,80,95,67,79,85,78,84,0,65,82,95,76,79,79,80,95,66,82,69,65,75,95,84,72,82,69,83,72,0,65,82,95,76,79,71,95,76,69,86,69,76,95,68,69,66,85,71,0,65,82,95,76,79,71,95,76,69,86,69,76,95,73,78,70,79,0,65,82,95,76,79,71,95,76,69,86,69,76,95,87,65,82,78,0,65,82,95,76,79,71,95,76,69,86,69,76,95,69,82,82,79,82,0,65,82,95,76,79,71,95,76,69,86,69,76,95,82,69,76,95,73,78,70,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,72,65,77,77,73,78,71,54,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,80,65,82,73,84,89,54,53,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,57,95,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,53,95,53,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,77,65,78,85,65,76,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,77,69,68,73,65,78,0,65,82,95,76,65],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,79,84,83,85,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,65,68,65,80,84,73,86,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,78,79,78,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,65,84,84,69,82,78,95,69,88,84,82,65,67,84,73,79,78,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,71,69,78,69,82,73,67,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,84,82,65,83,84,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,78,79,84,95,70,79,85,78,68,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,69,68,67,95,70,65,73,76,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,70,73,68,69,78,67,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,95,77,85,76,84,73,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,72,69,85,82,73,83,84,73,67,95,84,82,79,85,66,76,69,83,79,77,69,95,77,65,84,82,73,88,95,67,79,68,69,83,0,118,105,105,102,0,118,105,105,105,0,100,105,105,0,118,105,105,100,0,105,105,0,118,105,105,0,105,105,105,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,105,105,105,105,0,105,105,105,105,105,0,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,115,116,100,58,58,115,116,114,105,110,103,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115,116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+15945);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _llvm_ctlz_i32=true;function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var argsList="";var argsListWired="";for(var i=0;i0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value}}function requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _cos=Math_cos;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _ceilf=Math_ceil;function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function jd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function kd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function ld(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function md(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function nd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function od(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function pd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function qd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function rd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function sd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function td(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ud(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function vd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function wd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function xd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function yd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function ec(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function fc(){return i|0}function gc(a){a=a|0;i=a}function hc(a,b){a=a|0;b=b|0;i=a;j=b}function ic(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function jc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function kc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function lc(a){a=a|0;D=a}function mc(){return D|0}function nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function zc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ac(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Bc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Cc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Dc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ec(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Fc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){b[a>>1]=0;k=q}else{k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Gc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Hc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Ic(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0} -function Jc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Kc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Lc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Mc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[a>>1]=0;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Zc(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function _c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function $c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)th(a,b)}}else th(a,b);return}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;h=g+16|0;f=g+4|0;j=g;d=c[d>>2]|0;e=c[d>>2]|0;c[j>>2]=d;c[h>>2]=c[j>>2];vh(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d){if(a[f+8>>0]|0)Fg(d+264|0);Lh(d)}i=g;return e|0}function vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;n=(m&l|0)==0;if(n)k=m&e;else k=(e>>>0)%(l>>>0)|0;g=(c[d>>2]|0)+(k<<2)|0;f=c[g>>2]|0;while(1){e=c[f>>2]|0;if((e|0)==(o|0)){j=f;break}else f=e}i=d+8|0;if((j|0)!=(i|0)){e=c[j+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0))g=o;else h=12}else h=12;do if((h|0)==12){e=c[o>>2]|0;if(e){e=c[e+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0)){g=o;break}}c[g>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(n)f=f&m;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(k|0)){c[(c[d>>2]|0)+(f<<2)>>2]=j;e=c[o>>2]|0}}c[j>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=i;a[b+8>>0]=1;return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(408)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,392)|0;h[e+248>>3]=.0001;h[e+256>>3]=1.0e3;d=e+264|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function xh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;yh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)zh(a,b)}}else zh(a,b);return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function Ah(a){a=a|0;return Aj(c[a+4>>2]|0)|0}function Bh(a){a=a|0;Ka(624,10917);Ya(632,10922,1,1,0);Ga(640,10927,1,-128,127);Ga(656,10932,1,-128,127);Ga(648,10944,1,0,255);Ga(664,10958,2,-32768,32767);Ga(672,10964,2,0,65535);Ga(680,10979,4,-2147483648,2147483647);Ga(688,10983,4,0,-1);Ga(696,10996,4,-2147483648,2147483647);Ga(704,11001,4,0,-1);kb(712,11015,4);kb(720,11021,8);sb(360,11028);sb(392,11040);bb(416,4,11073);db(440,11086);Aa(448,0,11102);Dh(11132);Eh(11169);Fh(11208);Gh(11239);Hh(11279);Ih(11308);Aa(456,4,11346);Aa(464,5,11376);Dh(11415);Eh(11447);Fh(11480);Gh(11513);Hh(11547);Ih(11580);Aa(472,6,11614);Aa(480,7,11645);Aa(488,7,11677);return}function Ch(){Bh(0);return}function Dh(a){a=a|0;Aa(536,0,a|0);return}function Eh(a){a=a|0;Aa(528,1,a|0);return}function Fh(a){a=a|0;Aa(520,2,a|0);return}function Gh(a){a=a|0;Aa(512,3,a|0);return}function Hh(a){a=a|0;Aa(504,4,a|0);return}function Ih(a){a=a|0;Aa(496,5,a|0);return}function Jh(a){a=a|0;Ia(12478,12501,303,12589)}function Kh(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Uj(b)|0;a:do if(!a){while(1){a=Ph()|0;if(!a)break;_b[a&0]();a=Uj(b)|0;if(a)break a}b=Wa(4)|0;c[b>>2]=2224;wb(b|0,544,1)}while(0);return a|0}function Lh(a){a=a|0;Vj(a);return}function Mh(a){a=a|0;return}function Nh(a){a=a|0;Lh(a);return}function Oh(a){a=a|0;return 12610}function Ph(){var a=0;a=c[559]|0;c[559]=a+0;return a|0}function Qh(a){a=a|0;return}function Rh(a){a=a|0;return}function Sh(a){a=a|0;return}function Th(a){a=a|0;return}function Uh(a){a=a|0;return}function Vh(a){a=a|0;Lh(a);return}function Wh(a){a=a|0;Lh(a);return}function Xh(a){a=a|0;Lh(a);return}function Yh(a){a=a|0;Lh(a);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=ei(b,576,592,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;dc[c[(c[f>>2]|0)+28>>2]&3](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);else{a=c[a+8>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,(g&2|0)!=0?e:2);return}function di(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;ci(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{ci(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else $h(0,d,e,f);while(0);return}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;bc[c[(c[f>>2]|0)+20>>2]&3](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{Rb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function fi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function gi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;ii(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;hi(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function hi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Rb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function ji(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Rb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;bc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function ki(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function li(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))fi(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;hi(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;hi(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function mi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);else{a=c[a+8>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function ni(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);return}function oi(a){a=a|0;Ia(12625,12654,1164,12589)}function pi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function qi(){var a=0;if(!(c[597]|0))a=2644;else a=c[(gb()|0)+60>>2]|0;return a|0}function ri(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[12742+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=12830;e=5;break}}if((e|0)==2)if(!c)b=12830;else{b=12830;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function si(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0}while((pi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=vi(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[14634+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[16477+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=vi(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=vi(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;k=gk(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=gk(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=vi(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else ui(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=gk(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=Hj(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=fk(o|0,n|0,2)|0;H=gk(H|0,D|0,-32,-1)|0;e=gk(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=gk(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=dk(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=gk(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yi(+Di(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(qi()|0)>>2]=34;g=+Ei(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){h=0;e=0;while(1){h=gk(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=gk(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=Hj(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=gk(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(qi()|0)>>2]=22;ui(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[2648+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[2648+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[2648+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=fk(c[p>>2]|0,0,29)|0;o=gk(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=pk(o|0,n|0,1e9,0)|0;o=qk(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yi(+Di(1.0,105-o|0),j);m=+Ai(j,+Di(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ai(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(qi()|0)>>2]=34}while(0);g=+Ei(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function ti(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(qi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((pi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=vi(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;if((d[14643+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){ui(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[14643+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;ui(b,0);c[(qi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ok(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=gk(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[14900+((e*23|0)>>>5&7)>>0]|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=hk(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=fk(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=pk(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ok(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=gk(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[14643+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((d[14643+(i+1)>>0]|0)>>>0>>0);c[(qi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(qi()|0)>>2]=34;g=gk(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(qi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=dk(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function vi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Vi(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function wi(a){a=a|0;if(a>>>0>4294963200){c[(qi()|0)>>2]=0-a;a=-1}return a|0}function xi(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function yi(a,b){a=+a;b=+b;return +(+xi(a,b))}function zi(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=hk(d|0,m|0,52)|0;e=e&2047;j=hk(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=fk(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=fk(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=fk(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=fk(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=fk(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=fk(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=fk(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=fk(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=gk(d|0,f|0,0,-1048576)|0;d=D;e=fk(e|0,0,52)|0;d=d|D;e=o|e}else{e=hk(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ai(a,b){a=+a;b=+b;return +(+zi(a,b))}function Bi(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=hk(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Bi(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Ci(a,b){a=+a;b=b|0;return +(+Bi(a,b))}function Di(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=fk(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Ei(a,b){a=+a;b=b|0;return +(+Di(a,b))}function Fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?2680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[2432+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(qi()|0)>>2]=84;f=-1}i=l;return f|0}function Gi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Hi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(qi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ii(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Hi(a,b,0)|0;return a|0}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sj(14909,f<<24>>24,4)|0){e=Uj(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wj(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wj(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;va(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=va(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;va(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(mb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=14;c[e+36>>2]=4;c[e+40>>2]=5;c[e+12>>2]=2;if(!(c[598]|0))c[e+76>>2]=-1;yb(2416);f=c[603]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[603]=e;nb(2416)}}else{c[(qi()|0)>>2]=22;e=0}i=o;return e|0}function Ki(b){b=b|0;var c=0,d=0,e=0;d=(wj(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wj(b,120)|0)==0;d=e?d:d|128;b=(wj(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Li(a){a=a|0;return 0}function Mi(a){a=a|0;return}function Ni(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=wi(zb(6,d|0)|0)|0;i=b;return a|0}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[597]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=wi(Nb(145,h|0)|0)|0}else{Fa(13,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=wi(Nb(145,g|0)|0)|0;pb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((wi(Ib(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[597]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=wi(Ob(146,n|0)|0)|0}else{Fa(14,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=wi(Ob(146,m|0)|0)|0;pb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(mb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Qi(b,d,e)|0;i=g;return f|0}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sj(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;ik(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Ti(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Qb[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Vi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Ti(a)|0)!=0:0)b=-1;else if((Qb[c[a+32>>2]&15](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Wi(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){yb(2416);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[603]|0)==(a|0))c[603]=b;nb(2416)}b=Yi(a)|0;b=Yb[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d)Vj(d);if(!e)Vj(a);return b|0}function Xi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Yi(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Kj(a)|0;break}d=(Li(a)|0)==0;b=Kj(a)|0;if(!d)Mi(a)}else{if(!(c[660]|0))b=0;else b=Yi(c[660]|0)|0;yb(2416);a=c[603]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Li(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Kj(a)|0|b;if(d)Mi(a);a=c[a+56>>2]|0}while((a|0)!=0);nb(2416)}while(0);return b|0}function Zi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[f+76>>2]|0)>-1)o=Li(f)|0;else o=0;g=e+-1|0;if((e|0)<2){p=f+74|0;n=a[p>>0]|0;a[p>>0]=n+255|n;if(o)Mi(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){m=f+4|0;n=f+8|0;h=b;while(1){i=c[m>>2]|0;q=i;k=(c[n>>2]|0)-q|0;j=sj(i,10,k)|0;r=(j|0)==0;j=r?k:1-q+j|0;q=j>>>0>>0;j=q?j:g;ik(h|0,i|0,j|0)|0;i=c[m>>2]|0;k=i+j|0;c[m>>2]=k;e=h+j|0;l=g-j|0;if(!(r&q)){p=18;break a}if(k>>>0<(c[n>>2]|0)>>>0){j=j+1|0;c[m>>2]=i+j;i=d[k>>0]|0}else{g=Vi(f)|0;if((g|0)<0)break;j=j+1|0;i=g}g=l+-1|0;h=h+j|0;a[e>>0]=i;if(!((g|0)!=0&(i&255|0)!=10)){e=h;p=18;break a}}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)p=18;else b=0}else{e=b;p=18}while(0);if((p|0)==18)if(!b)b=0;else a[e>>0]=0;if(o)Mi(f)}return b|0}function _i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sj(14909,a[d>>0]|0,4)|0){h=Ki(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=wi(Ab(5,e|0)|0)|0;if((e|0)>=0){b=Ji(e,d)|0;if(!b){c[f>>2]=e;zb(6,f|0)|0;b=0}}else b=0}else{c[(qi()|0)>>2]=22;b=0}i=g;return b|0}function $i(a,b){a=a|0;b=b|0;return (ij(a,Bj(a)|0,1,b)|0)+-1|0}function aj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=$(e,d)|0;if((c[f+76>>2]|0)>-1)k=Li(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;ik(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Ti(f)|0){e=h;break}g=Qb[c[i>>2]&15](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Mi(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Mi(f);return e|0}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Qb[c[a+40>>2]&15](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Li(a)|0)==0;b=bj(a,b,d)|0;if(!e)Mi(a)}else b=bj(a,b,d)|0;return b|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return cj(a,b,c)|0}function ej(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Qb[c[a+40>>2]&15](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function fj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=ej(a)|0}else a=ej(a)|0;return a|0}function gj(a){a=a|0;return fj(a)|0}function hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Ui(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Qb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Qb[c[e+36>>2]&15](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);ik(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Li(e)|0)==0;a=hj(a,f,e)|0;if(!g)Mi(e)}else a=hj(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function jj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Mi(a)}else{bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pj(a,b,f)|0;i=e;return d|0}function lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Uj(240)|0;do if(f){c[e>>2]=c[d>>2];e=oj(f,240,b,e)|0;if(e>>>0<240){b=Xj(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Vj(f);if((e|0)>=0?(h=e+1|0,g=Uj(h)|0,c[a>>2]=g,(g|0)!=0):0)e=oj(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Lj(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Li(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Lj(b,d,o,q,r)|0;if(h){Qb[c[b+36>>2]&15](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Lj(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Mi(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function nj(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Li(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(pi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{ui(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0}while((pi(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}ui(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((vi(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){ek(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;ek(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Uj(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Fi(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Xj(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Gi(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Uj(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Xj(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+si(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=ti(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;ui(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(pi(d[m>>0]|0)|0))break;else n=m}ui(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0}while((pi(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Vj(l);Vj(f)}}else k=0;while(0);if(O)Mi(e);i=P;return k|0}function oj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2684;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(qi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=mj(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=15;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=nj(e,b,d)|0;i=g;return h|0}function qj(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(pi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return ((e|0)!=0?b:0-b|0)|0}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=$(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){Nj(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Nj(a,d,e,h,o);else Oj(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}Oj(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;Oj(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;Oj(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function tj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function uj(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);ek(b|0,0,e|0)|0;return b|0}function wj(b,c){b=b|0;c=c|0;b=xj(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Bj(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=$(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0);while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function yj(a,b){a=a|0;b=b|0;uj(a,b)|0;return a|0}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31))break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(xj(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Aj(a){a=a|0;var b=0,c=0;c=(Bj(a)|0)+1|0;b=Uj(c)|0;if(!b)b=0;else ik(b|0,a|0,c|0)|0;return b|0}function Bj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Cj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Bj(b)|0)|0;a:do if(d)while(1){f=a[c>>0]|0;if(!(f<<24>>24))break a;d=d+-1|0;g=e+1|0;a[e>>0]=f;if(!d){e=g;break}else{c=c+1|0;e=g}}while(0);a[e>>0]=0;return b|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;vj(a,b,c)|0;return a|0}function Ej(a,b){a=a|0;b=b|0;return tj(a,b,(Bj(a)|0)+1|0)|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0;if(!b){b=c[699]|0;if(!b)b=0;else{f=b;e=3}}else{f=b;e=3}do if((e|0)==3){e=Fj(f,d)|0;b=f+e|0;if(!(a[b>>0]|0)){c[699]=0;b=0;break}e=(zj(b,d)|0)+e|0;d=f+e|0;c[699]=d;if(!(a[d>>0]|0)){c[699]=0;break}else{c[699]=f+(e+1);a[d>>0]=0;break}}while(0);return b|0}function Hj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ok(f|0,b|0,10,0)|0;f=D;e=gk(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=gk(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=dk(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function Ij(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Jj(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Qb[c[a+40>>2]&15](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Lj(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(qi()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)hj(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[15953+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Rj(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=hk(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=16433;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=16433;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=dk(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=16433;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?16433:16435;L=76}else{p=1;s=16434;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=16433;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=16433;n=N;break}case 109:{n=ri(c[(qi()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:16443;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Tj(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?16451:16456}else{G=1;H=16453}else{q=-q;G=1;H=16450}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Ci(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Sj(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[16417+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Tj(e,32,K,p,I);if(!(c[e>>2]&32))hj(y,x,e)|0;Tj(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))hj(da,n,e)|0;o=_-t|0;Tj(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))hj(t,o,e)|0;Tj(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=fk(c[r>>2]|0,0,t|0)|0;B=gk(B|0,D|0,o|0,0)|0;o=D;A=qk(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=pk(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Sj(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;Tj(e,32,K,y,I);if(!(c[e>>2]&32))hj(H,G,e)|0;Tj(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Sj(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))hj(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;hj(16485,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Sj(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))hj(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Tj(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Sj(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))hj(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}hj(16485,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))hj(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Tj(e,48,n+18|0,18,0);if(c[e>>2]&32)break;hj(u,_-u|0,e)|0}while(0);Tj(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Tj(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){hj(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))hj(s?(t?16477:16481):t?16469:16473,3,e)|0;Tj(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=16433;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[16417+(o&15)>>0]|s;o=hk(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=16433;L=77}else{o=t;t=2;s=16433+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=16433;L=77}}else if((L|0)==76){n=Sj(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sj(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=16433;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ii(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Tj(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ii(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))hj(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Tj(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Tj(e,32,n,r,p);if(!(c[e>>2]&32))hj(u,t,e)|0;Tj(e,48,n,r,p^65536);Tj(e,48,o,s,0);if(!(c[e>>2]&32))hj(w,s,e)|0;Tj(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Rj(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function Nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((cc[d&15](k,j)|0)>-1?(cc[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((cc[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Pj(b,o,e);i=p;return}function Oj(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(cc[d&15](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((cc[d&15](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((cc[d&15](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((cc[d&15](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){Pj(b,p,e);Nj(a,b,d,g,h)}i=r;return}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;ik(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;ik(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;ik(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Sj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=qk(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=pk(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Tj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;ek(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){hj(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;hj(h,f,a)|0}while(0);i=j;return}function Uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[756]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[760]|0)>>>0)Da();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Da()}else c[756]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[758]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[760]|0)>>>0)Da();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[758]|0;break}else Da()}else{c[756]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[761]|0;d=k>>>3;b=d<<1;e=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(b>>>0<(c[760]|0)>>>0)Da();else{l=a;m=b}}else{c[756]=a|d;l=3064+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[758]=h;c[761]=i;M=j;return M|0}a=c[757]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3328+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[760]|0;if(e>>>0>>0)Da();i=e+o|0;if(e>>>0>=i>>>0)Da();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(e|0))Da();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Da()}while(0);do if(h){b=c[e+28>>2]|0;a=3328+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[760]|0;if(n>>>0>>0)Da();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[758]|0;if(b){g=c[761]|0;d=b>>>3;b=d<<1;f=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{p=b;q=a}}else{c[756]=a|d;p=3064+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[758]=j;c[761]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[757]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3328+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3328+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[758]|0)-m|0)>>>0:0){f=c[760]|0;if(j>>>0>>0)Da();h=j+m|0;if(j>>>0>=h>>>0)Da();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Da();b=e+12|0;if((c[b>>2]|0)!=(j|0))Da();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Da()}while(0);do if(g){b=c[j+28>>2]|0;a=3328+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[760]|0;if(o>>>0>>0)Da();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{s=b;t=a}}else{c[756]=d|b;s=3064+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3328+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Da()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[758]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[761]|0;if(b>>>0>15){c[761]=a+q;c[758]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[758]=0;c[761]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[759]|0;if(a>>>0>q>>>0){L=a-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[874]|0)){a=$a(30)|0;if(!(a+-1&a)){c[876]=a;c[875]=a;c[877]=-1;c[878]=-1;c[879]=0;c[867]=0;c[874]=(Db(0)|0)&-16^1431655768;break}else Da()}while(0);j=q+48|0;i=c[876]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[866]|0;if((a|0)!=0?(t=c[864]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[867]&4)){a=c[762]|0;e:do if(a){f=3472;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[759]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[875]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[864]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[866]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[876]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[867]=c[867]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[864]|0)+p|0;c[864]=a;if(a>>>0>(c[865]|0)>>>0)c[865]=a;h=c[762]|0;g:do if(h){g=3472;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[759]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[762]=h+L;c[759]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[763]=c[878];break}a=c[760]|0;if(w>>>0>>0){c[760]=w;a=w}d=w+p|0;g=3472;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3472;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[761]|0)){M=(c[758]|0)+l|0;c[758]=M;c[761]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Da();a=f+12|0;if((c[a>>2]|0)!=(b|0))Da();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Da()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3328+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[760]|0)>>>0)Da();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[757]=c[757]&~(1<>>0>>0)Da();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Da();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[760]|0)>>>0)Da();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=3064+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)==(b|0))break;Da()}while(0);if((f|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Da()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0>=(c[760]|0)>>>0){K=b;L=a;break}Da()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3328+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[760]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Da()}else{M=(c[759]|0)+l|0;c[759]=M;c[762]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=3472;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[762]=w+d;c[759]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[763]=c[878];d=a+4|0;c[d>>2]=27;c[b>>2]=c[868];c[b+4>>2]=c[869];c[b+8>>2]=c[870];c[b+12>>2]=c[871];c[868]=w;c[869]=p;c[871]=0;c[870]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{G=b;H=a}}else{c[756]=d|b;G=3064+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3328+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[757]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Da()}}else{M=c[760]|0;if((M|0)==0|w>>>0>>0)c[760]=w;c[868]=w;c[869]=p;c[871]=0;c[765]=c[874];c[764]=-1;b=0;do{M=b<<1;L=3064+(M<<2)|0;c[3064+(M+3<<2)>>2]=L;c[3064+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[762]=w+M;c[759]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[763]=c[878]}while(0);b=c[759]|0;if(b>>>0>q>>>0){L=b-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(qi()|0)>>2]=12;M=0;return M|0}function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[760]|0;if(b>>>0>>0)Da();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Da();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Da();if((l|0)==(c[761]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[758]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)!=(l|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Da()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Da();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(l|0))Da();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Da()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3328+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Da();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Da();if(!(d&2)){if((q|0)==(c[762]|0)){t=(c[759]|0)+g|0;c[759]=t;c[762]=u;c[u+4>>2]=t|1;if((u|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){t=(c[758]|0)+g|0;c[758]=t;c[761]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();e=d+12|0;if((c[e>>2]|0)!=(q|0))Da();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Da()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3328+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[760]|0)>>>0)Da();if((c[e+12>>2]|0)!=(q|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0<(c[760]|0)>>>0)Da();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Da()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[761]|0)){c[758]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=3064+(d<<2)|0;e=c[756]|0;b=1<>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();else{r=b;s=d}}else{c[756]=e|b;r=3064+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3328+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[757]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[760]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Da()}else{c[757]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[764]|0)+-1|0;c[764]=u;if(!u)b=3480;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[764]=-1;return}function Wj(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Uj(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;ek(b|0,0,d|0)|0;return b|0}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Uj(b)|0;return a|0}if(b>>>0>4294967231){c[(qi()|0)>>2]=12;a=0;return a|0}d=Yj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Uj(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;ik(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Vj(a);a=d;return a|0}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[760]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Da();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Da();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[876]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Zj(a+b|0,d);return a|0}if((l|0)==(c[762]|0)){d=(c[759]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[762]=a+b;c[759]=n;return a|0}if((l|0)==(c[761]|0)){e=(c[758]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[758]=d;c[761]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();d=f+12|0;if((c[d>>2]|0)!=(l|0))Da();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Da()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3328+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(l|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Da()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Zj(a+b|0,n);return a|0}return 0}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[760]|0;if(n>>>0>>0)Da();if((n|0)==(c[761]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[758]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(n|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Da()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(n|0))Da();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Da()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3328+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[760]|0;if(l>>>0>>0)Da();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Da();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[760]|0;if(q>>>0>>0)Da();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[762]|0)){s=(c[759]|0)+h|0;c[759]=s;c[762]=t;c[t+4>>2]=s|1;if((t|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){s=(c[758]|0)+h|0;c[758]=s;c[761]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(q|0))Da();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Da()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3328+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(q|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Da()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[761]|0)){c[758]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=3064+(e<<2)|0;f=c[756]|0;d=1<>2]|0;if(e>>>0<(c[760]|0)>>>0)Da();else{r=d;s=e}}else{c[756]=f|d;r=3064+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3328+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[757]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[760]|0)>>>0)Da();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[760]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Da();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return} -function Ee(b,e,f,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=+q;r=r|0;var s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;T=i;i=i+240|0;x=T+224|0;w=T+216|0;C=T+208|0;B=T+200|0;s=T+136|0;N=T+72|0;P=T;Q=T+232|0;R=T+228|0;h[s>>3]=100.0;h[s+8>>3]=100.0;h[s+16>>3]=110.0;h[s+24>>3]=100.0;h[s+32>>3]=110.0;h[s+40>>3]=110.0;h[s+48>>3]=100.0;h[s+56>>3]=110.0;h[N>>3]=+h[p>>3];h[N+8>>3]=+h[p+8>>3];h[N+16>>3]=+h[p+16>>3];h[N+24>>3]=+h[p+24>>3];h[N+32>>3]=+h[p+32>>3];h[N+40>>3]=+h[p+40>>3];h[N+48>>3]=+h[p+48>>3];h[N+56>>3]=+h[p+56>>3];He(s,N,P);A=+h[N>>3];V=+h[N+16>>3];y=A-V;J=+h[N+8>>3];U=+h[N+24>>3];u=J-U;s=~~(y*y+u*u);u=+h[N+32>>3];y=+h[N+48>>3];X=u-y;v=+h[N+40>>3];z=+h[N+56>>3];W=v-z;N=~~(X*X+W*W);u=V-u;v=U-v;t=~~(u*u+v*v);A=y-A;J=z-J;O=~~(A*A+J*J);s=~~(+(((N|0)>(s|0)?N:s)|0)*q*q);t=~~(+(((O|0)>(t|0)?O:t)|0)*q*q);if(!b){p=f;while(1)if((p|0)<(j|0)&($(p,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s,s)|0)<(t|0))s=s<<1;else break}else{p=f;while(1)if((p|0)<(j|0)&($(p<<2,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s<<2,s)|0)<(t|0))s=s<<1;else break}O=(p|0)>(j|0)?j:p;M=(s|0)>(j|0)?j:s;L=(O|0)/(f|0)|0;K=(M|0)/(f|0)|0;u=(1.0-q)*.5*10.0;J=q*10.0;N=$(f,f)|0;a:do if(!e){I=N*3|0;p=Wj(I,4)|0;if(!p){Me(3,5472,B);rb(1)}do switch(n|0){case 0:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 1:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t+2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 2:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 3:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 4:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|3)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=d[k+(($(t,l)|0)+s)>>0]|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 6:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|3)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|1)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Z=$(t,l)|0;Y=(s&65534)+Z<<1;V=+((d[k+Y>>0]|0)+-128|0);X=+((d[k+(Y+2)>>0]|0)+-128|0);W=+((d[k+(Z+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;Z=~~(V*516.4110107421875+W)>>8;Y=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;t=~~(W+X*408.5830078125)>>8;Z=(Z|0)>0?Z:0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=((Z|0)<255?Z:255)+(c[s>>2]|0);Y=(Y|0)>0?Y:0;s=p+(b+1<<2)|0;c[s>>2]=((Y|0)<255?Y:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=p+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=$(t,l)|0;Y=(s&65534)+t<<1;V=+((d[k+(Y|1)>>0]|0)+-128|0);X=+((d[k+(Y+3)>>0]|0)+-128|0);W=+((d[k+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(W+V*516.4110107421875)>>8;t=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;Y=~~(W+X*408.5830078125)>>8;s=(s|0)>0?s:0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=p+(Z+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);Y=(Y|0)>0?Y:0;Z=p+(Z+2<<2)|0;c[Z>>2]=((Y|0)<255?Y:255)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<3&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&28|2)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<2&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&24|4)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(c[b>>2]|0)+((d[k+(Y|1)>>0]|0)&240|8);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<4&240|8)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&240|8)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}default:{Me(3,4615,C);S=278;break a}}while(0);t=$(K,L)|0;if(N){s=0;do{a[r+s>>0]=((c[p+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}while((s|0)<(I|0))}Vj(p);p=0}else{p=Wj(N,4)|0;if(!p){Me(3,5472,w);rb(1)}b:do if(n>>>0<2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=(($(t,l)|0)+s|0)*3|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y+1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y+2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}}else{if((n&-2|0)==2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y|2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}if((n&-3|0)==4){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|2)>>0]|0)+(d[k+(Y|1)>>0]|0)+(d[k+(Y|3)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}switch(n|0){case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<3&248|4)+(I&248|4)+(I<<5&224|Y>>>3&28|2)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<2&248|4)+(I&248|4)+(I<<5&224|Y>>>3&24|4)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((I<<4&240|8)+(I&240|8)+((d[k+(Y|1)>>0]|0)&240|8)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}default:{Me(3,4615,x);S=278;break a}}}while(0);s=$(K,L)|0;if(N){t=0;do{a[r+t>>0]=((c[p+(t<<2)>>2]|0)>>>0)/(s>>>0)|0;t=t+1|0}while((t|0)<(N|0))}Vj(p);p=0}while(0);if((S|0)==278){Vj(p);p=-1}i=T;return p|0}function Fe(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+32|0;p=v+24|0;o=v+8|0;u=v;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-1}else{c[o>>2]=0;t=e+-1|0;c[o+4>>2]=$(t,e)|0;r=$(e,e)|0;c[o+8>>2]=r+-1;c[o+12>>2]=t;n=a[b+(c[o>>2]|0)>>0]|0;m=(n&255)>0?n:0;n=(n&255)<255?n:-1;s=a[b+(c[o+4>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+8>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+12>>2]|0)>>0]|0;m=((s&255)>(m&255)?s:m)&255;n=((s&255)<(n&255)?s:n)&255;if((m-n|0)<30){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-2;break}q=(m+n|0)>>>1;a[p>>0]=(d[b+(c[o>>2]|0)>>0]|0)>>>0>>0&1;a[p+1>>0]=(d[b+(c[o+4>>2]|0)>>0]|0)>>>0>>0&1;a[p+2>>0]=(d[b+(c[o+8>>2]|0)>>0]|0)>>>0>>0&1;a[p+3>>0]=(d[b+(c[o+12>>2]|0)>>0]|0)>>>0>>0&1;n=0;while(1){m=n+1|0;if(((a[p+n>>0]|0)==1?(a[p+((m|0)%4|0)>>0]|0)==1:0)?(a[p+((n+2|0)%4|0)>>0]|0)==0:0){m=n;n=10;break}if((m|0)<4)n=m;else{n=12;break}}if((n|0)==10)c[g>>2]=m;else if((n|0)==12?(m|0)==4:0){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-3;break}if(!r)s=255;else{m=255;n=0;do{s=b+n|0;p=d[s>>0]|0;o=p-q|0;o=(o|0)<0?0-o|0:o;m=(o|0)<(m|0)?o:m;a[s>>0]=p>>>0>>0&1;n=n+1|0}while((n|0)<(r|0));s=m}switch(c[g>>2]|0){case 0:{if((e|0)>0){r=(e|0)==0;n=0;m=0;g=0;do{p=(g|0)==(t|0);q=$(g,e)|0;if(!r){o=0;do{if((o|g|0)!=0?!(p&((o|0)==0|(o|0)==(t|0))):0){n=fk(n|0,m|0,1)|0;n=(a[b+(o+q)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)!=(e|0))}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 1:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=0;do{p=(g|0)==0;q=(g|0)==(t|0);if(r){o=t;while(1){w=(o|0)==(t|0);if(!(p&w)?!(q&(w|(o|0)==0)):0){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 2:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){q=(g|0)==(t|0)|(g|0)==0;p=$(g,e)|0;if(r){o=t;while(1){if(!(q&(o|0)==(t|0)|(o|g|0)==0)){n=fk(n|0,m|0,1)|0;n=(a[b+(o+p)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}case 3:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){p=(g|0)==(t|0);q=(g|0)==0;if(r){o=0;do{if(!(p&(o|0)==0|(o|g|0)==0|q&(o|0)==(t|0))){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)<(e|0))}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}default:{n=0;m=0}}h[j>>3]=(s|0)>30?1.0:+(s|0)/30.0;switch(k|0){case 259:{w=a[4551+n>>0]|0;k=w<<24>>24;l=u;c[l>>2]=k;c[l+4>>2]=((k|0)<0)<<31>>31;if(w<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 515:{m=a[4423+n>>0]|0;k=m<<24>>24;w=u;c[w>>2]=k;c[w+4>>2]=((k|0)<0)<<31>>31;if(l)c[l>>2]=d[4487+n>>0];if(m<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 772:case 1028:{m=Ie(k,n,m,0,u)|0;if((m|0)<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}if((l|0)!=0&(m|0)>0)c[l>>2]=m;break}default:{w=u;c[w>>2]=n;c[w+4>>2]=m}}c[f>>2]=c[u>>2];m=0}while(0);i=v;return m|0}function Ge(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0;C=i;i=i+16|0;l=C+8|0;n=C;a:do if(!a){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;b=-1}else switch(b|0){case 0:{o=$(f,f)|0;z=o*3|0;A=Uj(o*12|0)|0;if(!A){Me(3,5472,n);rb(1)}if(!o)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!o)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/(+(f|0)*1.7320508)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+12|0;x=a+16|0;if((v|0)>0){u=c[a+8>>2]|0;s=(o|0)==0;n=-1;t=0;m=0.0;l=-1;b=-1;do{b:while(1){n=n+1|0;switch(c[u+(n<<2)>>2]|0){case 0:break;case 2:break b;default:{B=17;break b}}}if((B|0)==17){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(s)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}t=t+1|0}while((t|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}case 1:{z=$(f,f)|0;A=Uj(z<<2)|0;if(!A){Me(3,5472,l);rb(1)}if(!z)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!z)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/+(f|0)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+20|0;x=a+24|0;if((v|0)>0){s=c[a+8>>2]|0;t=(z|0)==0;n=-1;u=0;m=0.0;l=-1;b=-1;do{c:while(1){n=n+1|0;switch(c[s+(n<<2)>>2]|0){case 0:break;case 2:break c;default:{B=37;break c}}}if((B|0)==37){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(t)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}u=u+1|0}while((u|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}default:{b=-1;break a}}while(0);i=C;return b|0}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Re(8,8)|0;f=Re(8,1)|0;g=Re(8,1)|0;i=c[e>>2]|0;j=c[f>>2]|0;k=0;do{p=a+(k<<4)|0;l=k<<4;h[i+(l<<3)>>3]=+h[p>>3];o=a+(k<<4)+8|0;h[i+((l|1)<<3)>>3]=+h[o>>3];h[i+((l|2)<<3)>>3]=1.0;h[i+((l|3)<<3)>>3]=0.0;h[i+((l|4)<<3)>>3]=0.0;h[i+((l|5)<<3)>>3]=0.0;n=b+(k<<4)|0;h[i+((l|6)<<3)>>3]=-(+h[p>>3]*+h[n>>3]);h[i+((l|7)<<3)>>3]=-(+h[o>>3]*+h[n>>3]);h[i+((l|8)<<3)>>3]=0.0;h[i+((l|9)<<3)>>3]=0.0;h[i+((l|10)<<3)>>3]=0.0;h[i+((l|11)<<3)>>3]=+h[p>>3];h[i+((l|12)<<3)>>3]=+h[o>>3];h[i+((l|13)<<3)>>3]=1.0;m=b+(k<<4)+8|0;h[i+((l|14)<<3)>>3]=-(+h[p>>3]*+h[m>>3]);h[i+((l|15)<<3)>>3]=-(+h[o>>3]*+h[m>>3]);l=k<<1;h[j+(l<<3)>>3]=+h[n>>3];h[j+((l|1)<<3)>>3]=+h[m>>3];k=k+1|0}while((k|0)!=4);_e(e)|0;Xe(g,e,f)|0;p=c[g>>2]|0;h[d>>3]=+h[p>>3];h[d+8>>3]=+h[p+8>>3];h[d+16>>3]=+h[p+16>>3];p=c[g>>2]|0;h[d+24>>3]=+h[p+24>>3];h[d+32>>3]=+h[p+32>>3];h[d+40>>3]=+h[p+40>>3];p=c[g>>2]|0;h[d+48>>3]=+h[p+48>>3];h[d+56>>3]=+h[p+56>>3];h[d+64>>3]=1.0;We(e)|0;We(f)|0;We(g)|0;return}function Ie(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+2320|0;k=I+2304|0;y=I+864|0;u=I+784|0;H=I+704|0;w=I+624|0;v=I+548|0;G=I+40|0;E=I;switch(b|0){case 772:{g=9;j=1;l=3;break}case 1028:{g=5;j=2;l=3;break}case 2830:{A=900;s=1472;C=64;F=120;z=127;B=g;j=9;l=6;break}default:f=-1}if((l|0)==3){b=0;while(1){a[k+b>>0]=e&1;e=hk(e|0,f|0,1)|0;b=b+1|0;if((b|0)==13)break;else f=D}A=840;s=1408;C=g;F=13;z=15;B=k;l=6}do if((l|0)==6){r=j<<1;k=1;f=0;while(1){g=v+(k<<2)|0;c[g>>2]=0;b=0;e=0;do{if(a[B+e>>0]|0){b=b^c[A+((($(e,k)|0)%(z|0)|0)<<2)>>2];c[g>>2]=b}e=e+1|0}while((e|0)<(F|0));f=(b|0)==0?f:1;c[g>>2]=c[s+(b<<2)>>2];if((k|0)<(r|0))k=k+1|0;else break}x=(f|0)!=0;if(x){c[u>>2]=0;f=c[v+4>>2]|0;c[u+4>>2]=f;c[y>>2]=0;c[y+72>>2]=1;if((r|0)>1){b=1;do{c[y+(b<<2)>>2]=-1;c[y+72+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(r|0))}c[H>>2]=0;c[H+4>>2]=0;c[w>>2]=-1;c[w+4>>2]=0;p=0;q=0;while(1){g=q;q=q+1|0;o=u+(q<<2)|0;if((f|0)==-1){k=g+2|0;c[H+(k<<2)>>2]=p;if((p|0)<0)n=p;else{f=0;while(1){o=y+(q*72|0)+(f<<2)|0;n=c[o>>2]|0;c[y+(k*72|0)+(f<<2)>>2]=n;c[o>>2]=c[s+(n<<2)>>2];if((f|0)<(p|0))f=f+1|0;else{n=p;break}}}}else{b=g;while(1){f=(b|0)>0;if(f&(c[u+(b<<2)>>2]|0)==-1)b=b+-1|0;else break}if(f){e=b;do{f=e;e=e+-1|0;if((c[u+(e<<2)>>2]|0)!=-1)b=(c[w+(b<<2)>>2]|0)<(c[w+(e<<2)>>2]|0)?e:b}while((f|0)>1)}e=H+(b<<2)|0;m=q-b|0;n=m+(c[e>>2]|0)|0;k=g+2|0;n=(p|0)>(n|0)?p:n;c[H+(k<<2)>>2]=n;f=0;do{c[y+(k*72|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(r|0));f=c[e>>2]|0;e=u+(b<<2)|0;if((f|0)>=0){l=0;while(1){g=c[y+(b*72|0)+(l<<2)>>2]|0;if((g|0)!=-1)c[y+(k*72|0)+(m+l<<2)>>2]=c[A+(((g+z+(c[o>>2]|0)-(c[e>>2]|0)|0)%(z|0)|0)<<2)>>2];if((l|0)<(f|0))l=l+1|0;else break}}if((p|0)>=0){f=0;while(1){o=y+(q*72|0)+(f<<2)|0;m=c[o>>2]|0;l=y+(k*72|0)+(f<<2)|0;c[l>>2]=c[l>>2]^m;c[o>>2]=c[s+(m<<2)>>2];if((f|0)<(p|0))f=f+1|0;else break}}}c[w+(k<<2)>>2]=q-n;if((q|0)>=(r|0))break;f=c[v+(k<<2)>>2]|0;if((f|0)==-1)f=0;else f=c[A+(f<<2)>>2]|0;g=u+(k<<2)|0;c[g>>2]=f;if((n|0)>=1){e=1;while(1){b=c[v+(k-e<<2)>>2]|0;if((b|0)!=-1?(t=c[y+(k*72|0)+(e<<2)>>2]|0,(t|0)!=0):0){f=f^c[A+((((c[s+(t<<2)>>2]|0)+b|0)%(z|0)|0)<<2)>>2];c[g>>2]=f}if((e|0)<(n|0))e=e+1|0;else break}}f=c[s+(f<<2)>>2]|0;c[g>>2]=f;if((n|0)>(j|0))break;else p=n}if((n|0)>(j|0)){f=-1;break}if((n|0)>=0){f=0;while(1){w=y+(k*72|0)+(f<<2)|0;c[w>>2]=c[s+(c[w>>2]<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}if((n|0)>=1){f=1;while(1){c[E+(f<<2)>>2]=c[y+(k*72|0)+(f<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}l=(n|0)<1;f=0;m=1;do{if(l)b=1;else{j=1;b=1;while(1){e=E+(j<<2)|0;g=c[e>>2]|0;if((g|0)!=-1){y=(g+j|0)%(z|0)|0;c[e>>2]=y;b=c[A+(y<<2)>>2]^b}if((j|0)<(n|0))j=j+1|0;else break}}if(!b){c[G+(f<<2)>>2]=z-m;f=f+1|0}m=m+1|0}while((z|0)>=(m|0));if((f|0)!=(n|0)){f=-1;break}if((n|0)>0){f=0;do{E=B+(c[G+(f<<2)>>2]|0)|0;a[E>>0]=d[E>>0]^1;f=f+1|0}while((f|0)<(n|0))}}else k=0;b=h;c[b>>2]=0;c[b+4>>2]=0;b=1;e=0;g=0;j=0;f=F-C|0;while(1){G=ok(d[B+f>>0]|0,0,b|0,e|0)|0;g=gk(G|0,D|0,g|0,j|0)|0;j=D;G=h;c[G>>2]=g;c[G+4>>2]=j;b=fk(b|0,e|0,1)|0;f=f+1|0;if((f|0)>=(F|0))break;else e=D}if(x)f=c[H+(k<<2)>>2]|0;else f=0}while(0);i=I;return f|0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=i;i=i+32|0;z=A+24|0;g=A+16|0;d=A+8|0;do if(a){if(!b){Me(3,4674,d);d=-1;break}y=a+8|0;f=c[a+4>>2]|0;a:do if((f|0)>0){e=c[y>>2]|0;d=0;do{if(!(c[e+(d<<2)>>2]|0))break a;d=d+1|0}while((d|0)<(f|0))}else d=0;while(0);if((d|0)!=(f|0)){x=Aj(b)|0;if(!x){Me(3,4719,g);d=-1;break}r=a+28|0;s=d<<2;t=a+12|0;u=a+20|0;v=a+16|0;w=a+24|0;f=Gj(x,4742)|0;e=0;b:while(1){q=e+s|0;p=0;b=0;do{n=(p|0)==0;o=(p|0)==2;g=c[r>>2]|0;if((g|0)>0){m=0;do{if((g|0)>0){l=0;do{if(!f){e=17;break b}g=qj(f)|0;f=Gj(0,4742)|0;g=255-g|0;k=((($(c[r>>2]|0,m)|0)+l|0)*3|0)+p|0;c[(c[(c[t>>2]|0)+(q<<2)>>2]|0)+(k<<2)>>2]=g;k=($(c[r>>2]|0,m)|0)+l|0;j=c[(c[u>>2]|0)+(q<<2)>>2]|0;k=j+(k<<2)|0;if(!n){c[k>>2]=(c[k>>2]|0)+g;if(o){k=j+(($(c[r>>2]|0,m)|0)+l<<2)|0;c[k>>2]=(c[k>>2]|0)/3|0}}else c[k>>2]=g;b=g+b|0;l=l+1|0;g=c[r>>2]|0}while((l|0)<(g|0))}m=m+1|0}while((m|0)<(g|0))}p=p+1|0}while((p|0)<3);g=c[r>>2]|0;l=(b|0)/($(g*3|0,g)|0)|0;if(($(g*3|0,g)|0)>0){j=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=0;b=0;do{p=j+(k<<2)|0;g=(c[p>>2]|0)-l|0;c[p>>2]=g;b=($(g,g)|0)+b|0;k=k+1|0;g=c[r>>2]|0}while((k|0)<($(g*3|0,g)|0))}else b=0;B=+P(+(+(b|0)));h[(c[v>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;if(!($(g,g)|0))b=0;else{g=c[(c[u>>2]|0)+(q<<2)>>2]|0;j=0;b=0;do{o=g+(j<<2)|0;p=(c[o>>2]|0)-l|0;c[o>>2]=p;b=($(p,p)|0)+b|0;j=j+1|0;p=c[r>>2]|0}while((j|0)<($(p,p)|0))}B=+P(+(+(b|0)));h[(c[w>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;e=e+1|0;if((e|0)>=4){e=32;break}}if((e|0)==17){Me(3,4747,z);Vj(x);d=-1;break}else if((e|0)==32){Vj(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Me(3,4649,A);d=-1}while(0);i=A;return d|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;h=k+8|0;e=k;g=_i(d,4854)|0;do if(g){dj(g,0,2)|0;e=gj(g)|0;dj(g,0,0)|0;f=Uj(e+1|0)|0;if(!f){Me(3,5472,h);Wi(g)|0;e=-1;break}h=aj(f,e,1,g)|0;Wi(g)|0;if(!h){c[j>>2]=d;Me(3,4820,j);Vj(f);e=-1;break}else{a[f+e>>0]=0;e=Je(b,f)|0;Vj(f);break}}else{c[e>>2]=d;Me(3,4774,e);e=-1}while(0);i=k;return e|0}function Le(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;f=j;c[h>>2]=0;if(((d|0)!=0&(c[496]|0)<=(b|0)?(a[d>>0]|0)!=0:0)?(c[f>>2]=e,g=lj(h,d,f)|0,(g|0)>-1):0){f=c[497]|0;do if(f){if(!(c[498]|0)){Wb[f&15](c[h>>2]|0);break}e=gb()|0;b=c[500]|0;if((e|0)==(c[499]|0)){if((b|0)>0){Wb[f&15](c[502]|0);c[500]=0;f=c[497]|0}Wb[f&15](c[h>>2]|0);break}f=c[501]|0;if((b|0)<(f|0)){d=(c[502]|0)+b|0;if((g|0)<(-3-b+f|0)){yj(d,c[h>>2]|0)|0;c[500]=(c[500]|0)+g;break}else{a[d>>0]=46;a[d+1>>0]=46;a[d+2>>0]=46;a[d+3>>0]=0;c[500]=c[501];break}}}else $i(c[h>>2]|0,c[659]|0)|0;while(0);Vj(c[h>>2]|0)}i=j;return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;i=0;do{d=a+(i<<5)|0;e=a+(i<<5)+8|0;f=a+(i<<5)+16|0;g=0;do{h[c+(i<<5)+(g<<3)>>3]=+h[d>>3]*+h[b+(g<<3)>>3]+ +h[e>>3]*+h[b+32+(g<<3)>>3]+ +h[f>>3]*+h[b+64+(g<<3)>>3];g=g+1|0}while((g|0)!=4);g=c+(i<<5)+24|0;h[g>>3]=+h[a+(i<<5)+24>>3]+ +h[g>>3];i=i+1|0}while((i|0)!=3);return 0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Re(4,4)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[d+(k<<3)>>3]=+h[a+(i<<5)>>3];h[e+(1+k<<3)>>3]=+h[a+(i<<5)+8>>3];h[f+(2+k<<3)>>3]=+h[a+(i<<5)+16>>3];h[g+(3+k<<3)>>3]=+h[a+(i<<5)+24>>3];i=i+1|0}while((i|0)!=3);d=c[j>>2]|0;e=d+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[d+120>>3]=1.0;_e(j)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[b+(i<<5)>>3]=+h[d+(k<<3)>>3];h[b+(i<<5)+8>>3]=+h[e+(1+k<<3)>>3];h[b+(i<<5)+16>>3]=+h[f+(2+k<<3)>>3];h[b+(i<<5)+24>>3]=+h[g+(3+k<<3)>>3];i=i+1|0}while((i|0)!=3);We(j)|0;return 0}function Pe(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Qe(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Ej(c,47)|0;if(!f){a[b>>0]=0;break}f=f+((e|0)!=0&1)-c|0;if((f+1|0)>>>0<=d>>>0){Dj(b,c,f)|0;a[b+f>>0]=0}else b=0}else b=0;while(0);return b|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0;d=Uj(12)|0;do if(d){e=Uj($(a<<3,b)|0)|0;c[d>>2]=e;if(!e){Vj(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Se(a){a=a|0;var b=0;b=Re(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Ve(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Te(a,b){a=a|0;b=b|0;var d=0;d=Re(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Xe(d,a,b)|0)<0){We(d)|0;d=0}}else d=0;return d|0}function Ue(a){a=a|0;var b=0;b=Re(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($e(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;d=c[a+4>>2]|0;if((d|0)==(c[b+4>>2]|0)?(j=c[a+8>>2]|0,(j|0)==(c[b+8>>2]|0)):0)if((d|0)>0){e=(j|0)>0;l=0;do{f=$(j,l)|0;if(e){g=c[b>>2]|0;i=c[a>>2]|0;k=0;do{m=f+k|0;h[i+(m<<3)>>3]=+h[g+(m<<3)>>3];k=k+1|0}while((k|0)<(j|0))}l=l+1|0}while((l|0)<(d|0));d=0}else d=0;else d=-1;return d|0}function We(a){a=a|0;if(a){Vj(c[a>>2]|0);Vj(a)}return 0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+8>>2]|0;if(((n|0)==(c[d+4>>2]|0)?(r=c[a+4>>2]|0,(r|0)==(c[b+4>>2]|0)):0)?(o=c[a+8>>2]|0,(o|0)==(c[d+8>>2]|0)):0){s=(o|0)>0?o:0;if((r|0)>0){p=(o|0)>0;q=(n|0)>0;k=c[a>>2]|0;m=0;while(1){a=$(n,m)|0;if(p){f=0;l=k;while(1){h[l>>3]=0.0;if(q){e=0.0;g=0;i=(c[b>>2]|0)+(a<<3)|0;j=(c[d>>2]|0)+(f<<3)|0;while(1){e=e+ +h[i>>3]*+h[j>>3];h[l>>3]=e;g=g+1|0;if((g|0)>=(n|0))break;else{i=i+8|0;j=j+(o<<3)|0}}}f=f+1|0;if((f|0)>=(o|0))break;else l=l+8|0}}m=m+1|0;if((m|0)>=(r|0)){a=0;break}else k=k+(s<<3)|0}}else a=0}else a=-1;return a|0}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0;q=c[a+4>>2]|0;s=c[a+8>>2]|0;f=(q|0)<(s|0)?q:s;a:do if(((((!((q|0)<2|(s|0)<2)?(c[b+8>>2]|0)==(s|0):0)?(c[b+4>>2]|0)==(f|0):0)?(t=d+4|0,(c[t>>2]|0)==(f|0)):0)?(g=e+4|0,(c[g>>2]|0)==(s|0)):0)?(u=Se(a)|0,(u|0)!=0):0){r=+P(+(+(q|0)));o=c[u+4>>2]|0;p=c[u+8>>2]|0;if(!((o|0)<1|(p|0)<1)?(c[g>>2]|0)==(p|0):0){if(p){f=c[e>>2]|0;a=0;do{h[f+(a<<3)>>3]=0.0;a=a+1|0}while((a|0)!=(p|0))}n=c[u>>2]|0;if(o){f=(p|0)==0;a=0;j=n;while(1){if(!f){g=0;k=j;l=c[e>>2]|0;while(1){h[l>>3]=+h[k>>3]+ +h[l>>3];g=g+1|0;if((g|0)==(p|0))break;else{k=k+8|0;l=l+8|0}}}a=a+1|0;if((a|0)==(o|0))break;else j=j+(p<<3)|0}}i=+(o|0);if(p){f=c[e>>2]|0;a=0;do{m=f+(a<<3)|0;h[m>>3]=+h[m>>3]/i;a=a+1|0}while((a|0)!=(p|0))}l=(p|0)>0?p:0;if((o|0)>0){f=(p|0)>0;a=0;j=n;while(1){if(f){g=0;k=j;m=c[e>>2]|0;while(1){h[k>>3]=+h[k>>3]-+h[m>>3];g=g+1|0;if((g|0)>=(p|0))break;else{k=k+8|0;m=m+8|0}}}a=a+1|0;if((a|0)>=(o|0))break;else j=j+(l<<3)|0}}f=$(s,q)|0;if((f|0)>0){a=0;do{e=n+(a<<3)|0;h[e>>3]=+h[e>>3]/r;a=a+1|0}while((a|0)<(f|0))}f=Ze(u,b,d)|0;We(u)|0;j=c[t>>2]|0;if((j|0)>0){a=c[d>>2]|0;g=0;i=0.0;do{i=i+ +h[a+(g<<3)>>3];g=g+1|0}while((g|0)<(j|0))}else i=0.0;if((j|0)<=0)break;a=c[d>>2]|0;g=0;while(1){d=a+(g<<3)|0;h[d>>3]=+h[d>>3]/i;g=g+1|0;if((g|0)>=(j|0))break a}}We(u)|0;f=-1}else f=-1;while(0);return f|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;U=i;i=i+16|0;w=U;F=a+4|0;I=c[F>>2]|0;J=a+8|0;K=c[J>>2]|0;S=(K|0)<(I|0)?K:I;a:do if(((!((I|0)<2|(K|0)<2)?(R=b+8|0,(c[R>>2]|0)==(K|0)):0)?(L=b+4|0,(c[L>>2]|0)==(S|0)):0)?(M=d+4|0,(c[M>>2]|0)==(S|0)):0){T=Re(S,S)|0;N=T+4|0;if((c[N>>2]|0)==(S|0)?(Q=T+8|0,(c[Q>>2]|0)==(S|0)):0){G=(I|0)<(K|0);s=c[F>>2]|0;t=c[J>>2]|0;if(G){if((S|0)!=(s|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){m=(S|0)==0;j=(t|0)>0;n=0;r=g;while(1){l=$(n,t)|0;if(!m){p=0;s=r;while(1){if((p|0)>=(n|0)){e=c[a>>2]|0;h[s>>3]=0.0;if(j){k=0.0;o=e+(l<<3)|0;e=e+(($(p,t)|0)<<3)|0;f=0;while(1){k=k+ +h[o>>3]*+h[e>>3];h[s>>3]=k;f=f+1|0;if((f|0)>=(t|0))break;else{o=o+8|0;e=e+8|0}}}}else h[s>>3]=+h[g+(($(p,S)|0)+n<<3)>>3];p=p+1|0;if((p|0)==(S|0))break;else s=s+8|0}}n=n+1|0;if((n|0)>=(S|0))break;else r=r+(S<<3)|0}}}else{if((S|0)!=(t|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){l=(S|0)==0;j=(s|0)>0;m=0;p=g;while(1){if(!l){o=0;r=p;while(1){if((o|0)>=(m|0)){e=c[a>>2]|0;h[r>>3]=0.0;if(j){k=0.0;n=e+(m<<3)|0;e=e+(o<<3)|0;f=0;while(1){k=k+ +h[n>>3]*+h[e>>3];h[r>>3]=k;f=f+1|0;if((f|0)>=(s|0))break;else{n=n+(S<<3)|0;e=e+(S<<3)|0}}}}else h[r>>3]=+h[g+(($(o,S)|0)+m<<3)>>3];o=o+1|0;if((o|0)==(S|0))break;else r=r+8|0}}m=m+1|0;if((m|0)>=(S|0))break;else p=p+(S<<3)|0}}}do if(((S|0)>=2?(c[M>>2]|0)==(S|0):0)?(H=nf(S)|0,(H|0)!=0):0){E=S+-1|0;c[w+4>>2]=E;c[w>>2]=(c[H>>2]|0)+8;if((rf(T,d,w)|0)<0){of(H)|0;break}B=c[H>>2]|0;h[B>>3]=0.0;if((E|0)>0){C=(S|0)==0;D=E;do{f=D;while(1){if((f|0)<=0)break;v=+O(+(+h[B+(f<<3)>>3]));e=f+-1|0;A=c[d>>2]|0;x=+O(+(+h[A+(e<<3)>>3]));if(v>(x+ +O(+(+h[A+(f<<3)>>3])))*1.0e-06)f=e;else break}y=D;D=D+-1|0;b:do if((f|0)!=(y|0)){o=B+(y<<3)|0;p=B+(f+1<<3)|0;r=(f|0)<(y|0);z=0;do{if((z|0)>99)break b;z=z+1|0;s=c[d>>2]|0;t=s+(D<<3)|0;w=s+(y<<3)|0;k=+h[w>>3];q=(+h[t>>3]-k)*.5;u=+h[o>>3];u=u*u;v=+P(+(u+q*q));if(r){A=f;q=+h[s+(f<<3)>>3]-k+u/(q+(q<0.0?-v:v));u=+h[p>>3];while(1){k=+O(+q);do if(!(k>=+O(+u))){v=-q/u;x=1.0/+P(+(v*v+1.0));v=v*x}else{if(!(k>1.0e-16)){v=1.0;x=0.0;break}k=-u/q;x=1.0/+P(+(k*k+1.0));v=x;x=k*x}while(0);j=s+(A<<3)|0;X=+h[j>>3];n=A;A=A+1|0;l=s+(A<<3)|0;W=+h[l>>3];k=X-W;m=B+(A<<3)|0;V=x*(x*k+v*2.0*+h[m>>3]);h[j>>3]=X-V;h[l>>3]=W+V;if((n|0)>(f|0)){l=B+(n<<3)|0;h[l>>3]=v*+h[l>>3]-u*x}X=+h[m>>3];h[m>>3]=X+x*(v*k-x*2.0*X);j=$(n,S)|0;l=$(A,S)|0;if(C)k=u;else{e=c[T>>2]|0;g=0;do{Z=e+(g+j<<3)|0;q=+h[Z>>3];Y=e+(g+l<<3)|0;k=+h[Y>>3];h[Z>>3]=v*q-x*k;h[Y>>3]=x*q+v*k;g=g+1|0}while((g|0)!=(S|0))}if((n|0)<(D|0)){q=+h[m>>3];Z=B+(n+2<<3)|0;k=+h[Z>>3];h[Z>>3]=v*k;k=-(x*k)}if((A|0)>=(y|0))break;else u=k}}W=+O(+(+h[o>>3]));X=+O(+(+h[t>>3]))}while(W>(X+ +O(+(+h[w>>3])))*1.0e-06)}while(0)}while((y|0)>1)}if(E){l=c[d>>2]|0;m=c[T>>2]|0;n=(S|0)==0;o=0;do{g=l+(o<<3)|0;q=+h[g>>3];j=o;o=o+1|0;if((o|0)<(S|0)){e=j;f=o;k=q;do{X=+h[l+(f<<3)>>3];Z=X>k;k=Z?X:k;e=Z?f:e;f=f+1|0}while((f|0)<(S|0))}else{e=j;k=q}h[l+(e<<3)>>3]=q;h[g>>3]=k;if(!n){g=0;f=m+(($(e,S)|0)<<3)|0;e=m+(($(j,S)|0)<<3)|0;while(1){X=+h[f>>3];h[f>>3]=+h[e>>3];h[e>>3]=X;g=g+1|0;if((g|0)==(S|0))break;else{f=f+8|0;e=e+8|0}}}}while((o|0)!=(E|0))}of(H)|0;c:do if(!G){g=c[b>>2]|0;p=(I|0)>(K|0)?K:I;d:do if((S|0)>0){m=c[d>>2]|0;n=(p|0)==0;e=0;o=c[T>>2]|0;do{if(+h[m+(e<<3)>>3]<1.0e-16)break d;if(!n){f=0;j=o;l=g;while(1){h[l>>3]=+h[j>>3];f=f+1|0;if((f|0)==(p|0))break;else{j=j+8|0;l=l+8|0}}}o=o+(p<<3)|0;g=g+(p<<3)|0;e=e+1|0}while((e|0)<(S|0))}else e=0;while(0);n=(p|0)>0?p:0;if((e|0)<(S|0)){l=c[d>>2]|0;m=(S|0)>0;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(S|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(S|0))break;else g=g+(n<<3)|0}}}else{w=c[F>>2]|0;t=c[J>>2]|0;do if(!((w|0)<1|(t|0)<1)){if((c[N>>2]|0)!=(w|0))break;if((c[Q>>2]|0)!=(w|0))break;if((c[L>>2]|0)!=(w|0))break;if((c[R>>2]|0)!=(t|0))break;if((c[M>>2]|0)!=(w|0))break;f=c[b>>2]|0;e:do if((w|0)>0){p=c[d>>2]|0;s=(t|0)==0;r=(w|0)==0;e=0;do{k=+h[p+(e<<3)>>3];if(k<1.0e-16)break e;q=1.0/+P(+(+O(+k)));m=$(e,w)|0;if(!s){n=0;o=f;while(1){if(r)k=0.0;else{g=0;j=(c[T>>2]|0)+(m<<3)|0;l=(c[a>>2]|0)+(n<<3)|0;k=0.0;while(1){k=k+ +h[j>>3]*+h[l>>3];g=g+1|0;if((g|0)==(w|0))break;else{j=j+8|0;l=l+(t<<3)|0}}}h[o>>3]=q*k;n=n+1|0;if((n|0)==(t|0))break;else o=o+8|0}}f=f+(t<<3)|0;e=e+1|0}while((e|0)<(w|0))}else e=0;while(0);n=(t|0)>0?t:0;if((e|0)>=(w|0))break c;l=c[d>>2]|0;m=(t|0)>0;g=f;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(t|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(w|0))break c;else g=g+(n<<3)|0}}while(0);We(T)|0;e=-1;break a}while(0);We(T)|0;e=0;break a}while(0);We(T)|0;e=-1;break}We(T)|0;e=-1}else e=-1;while(0);i=U;return e|0}function _e(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;v=i;i=i+2e3|0;u=v;b=c[a>>2]|0;t=c[a+4>>2]|0;a:do if((t|0)<=500){switch(t|0){case 0:{b=0;break a}case 1:{h[b>>3]=1.0/+h[b>>3];break a}default:{}}if((t|0)>0){a=0;do{c[u+(a<<2)>>2]=a;a=a+1|0}while((a|0)<(t|0))}s=b+(t+-1<<3)|0;if((t|0)>0){m=(t|0)==0;p=(t|0)==1;o=(t|0)==0;n=(t|0)==1;q=s;a=0;r=0;while(1){l=b+(($(r,t)|0)<<3)|0;if((r|0)<(t|0)){e=r;f=0.0;d=l;while(1){w=+O(+(+h[d>>3]));k=f=(t|0))break;else d=d+(t<<3)|0}}else f=0.0;if(f<=1.0e-10){b=0;break a}g=u+(a<<2)|0;j=c[g>>2]|0;k=u+(r<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;if(!m){d=0;e=b+(($(a,t)|0)<<3)|0;g=l;while(1){w=+h[e>>3];h[e>>3]=+h[g>>3];h[g>>3]=w;d=d+1|0;if((d|0)==(t|0))break;else{e=e+8|0;g=g+8|0}}}f=+h[l>>3];if(!p){d=1;e=l;do{k=e;e=e+8|0;h[k>>3]=+h[e>>3]/f;d=d+1|0}while((d|0)!=(t|0))}h[q>>3]=1.0/f;if(!o){g=0;j=s;while(1){if((g|0)!=(r|0)){d=b+(($(g,t)|0)<<3)|0;f=+h[d>>3];if(!n){k=1;e=l;while(1){x=d;d=d+8|0;h[x>>3]=+h[d>>3]-f*+h[e>>3];k=k+1|0;if((k|0)==(t|0))break;else e=e+8|0}}h[j>>3]=-(f*+h[q>>3])}g=g+1|0;if((g|0)==(t|0))break;else j=j+(t<<3)|0}}r=r+1|0;if((r|0)>=(t|0))break;else q=q+(t<<3)|0}}if((t|0)>0){g=(t|0)>0;j=0;do{a=u+(j<<2)|0;b:do if((j|0)<(t|0)){d=j;do{if((c[a>>2]|0)==(j|0))break b;d=d+1|0;a=u+(d<<2)|0}while((d|0)<(t|0))}else d=j;while(0);c[a>>2]=c[u+(j<<2)>>2];if(g){e=0;a=b+(d<<3)|0;d=b+(j<<3)|0;while(1){w=+h[a>>3];h[a>>3]=+h[d>>3];h[d>>3]=w;e=e+1|0;if((e|0)>=(t|0))break;else{a=a+(t<<3)|0;d=d+(t<<3)|0}}}j=j+1|0}while((j|0)<(t|0))}}else b=0;while(0);i=v;return ((b|0)==0)<<31>>31|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(k=c[a+8>>2]|0,(k|0)==(c[b+4>>2]|0)):0){l=(k|0)>0?k:0;if((i|0)>0){j=(k|0)>0;e=c[a>>2]|0;g=0;while(1){if(j){a=0;d=(c[b>>2]|0)+(g<<3)|0;f=e;while(1){h[f>>3]=+h[d>>3];a=a+1|0;if((a|0)>=(k|0))break;else{d=d+(i<<3)|0;f=f+8|0}}}g=g+1|0;if((g|0)>=(i|0)){a=0;break}else e=e+(l<<3)|0}}else a=0}else a=-1;return a|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0;f=+(b|0)/+(c[a>>2]|0);g=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;do{h[e+8+(b<<3)>>3]=f*+h[a+8+(b<<3)>>3];h[e+40+(b<<3)>>3]=g*+h[a+40+(b<<3)>>3];h[e+72+(b<<3)>>3]=+h[a+72+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=c[a+176>>2]|0;switch(b|0){case 4:{h[e+104>>3]=+h[a+104>>3];h[e+112>>3]=+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=f*+h[a+136>>3];h[e+144>>3]=g*+h[a+144>>3];h[e+152>>3]=f*+h[a+152>>3];h[e+160>>3]=g*+h[a+160>>3];h[e+168>>3]=+h[a+168>>3];i=8;break}case 3:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=+h[a+136>>3]/(f*g);h[e+144>>3]=+h[a+144>>3]/(g*(f*f*g));i=8;break}case 2:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);h[e+136>>3]=+h[a+136>>3]/(g*(f*f*g));i=8;break}case 1:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);i=8;break}default:b=-1}if((i|0)==8){c[e+176>>2]=b;b=0}return b|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0.0;f=i;i=i+96|0;e=f;if(!(+h[a+88>>3]>=0.0)){d=0;do{h[e+(d<<5)>>3]=-+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=-+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=-+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=-+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}else{d=0;do{h[e+(d<<5)>>3]=+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}h[b>>3]=0.0;h[b+8>>3]=0.0;h[b+16>>3]=0.0;h[b+24>>3]=0.0;h[b+32>>3]=0.0;h[b+40>>3]=0.0;h[b+48>>3]=0.0;h[b+56>>3]=0.0;h[b+64>>3]=0.0;h[b+72>>3]=0.0;h[b+80>>3]=0.0;h[b+88>>3]=0.0;g=+h[e+64>>3];o=+h[e+72>>3];p=+h[e+80>>3];x=+P(+(g*g+o*o+p*p));a=b+80|0;h[a>>3]=x;x=g/x;v=c+64|0;h[v>>3]=x;o=o/+h[a>>3];t=c+72|0;h[t>>3]=o;p=p/+h[a>>3];q=c+80|0;h[q>>3]=p;n=c+88|0;h[n>>3]=+h[e+88>>3]/+h[a>>3];g=+h[e+32>>3];k=+h[e+40>>3];s=+h[e+48>>3];p=x*g+o*k+p*s;m=b+48|0;h[m>>3]=p;g=g-p*+h[v>>3];k=k-p*+h[t>>3];p=s-p*+h[q>>3];s=+P(+(g*g+k*k+p*p));l=b+40|0;h[l>>3]=s;w=c+32|0;h[w>>3]=g/s;u=c+40|0;h[u>>3]=k/+h[l>>3];r=c+48|0;h[r>>3]=p/+h[l>>3];p=+h[e>>3];k=+h[e+8>>3];s=+h[e+16>>3];g=+h[v>>3]*p+ +h[t>>3]*k+ +h[q>>3]*s;d=b+16|0;h[d>>3]=g;o=+h[w>>3]*p+ +h[u>>3]*k+ +h[r>>3]*s;j=b+8|0;h[j>>3]=o;p=p-o*+h[w>>3]-g*+h[v>>3];k=k-o*+h[u>>3]-g*+h[t>>3];g=s-o*+h[r>>3]-g*+h[q>>3];o=+P(+(p*p+k*k+g*g));h[b>>3]=o;h[c>>3]=p/o;h[c+8>>3]=k/+h[b>>3];h[c+16>>3]=g/+h[b>>3];g=+h[n>>3];k=(+h[e+56>>3]-+h[m>>3]*g)/+h[l>>3];h[c+56>>3]=k;h[c+24>>3]=(+h[e+24>>3]-k*+h[j>>3]-+h[d>>3]*g)/+h[b>>3];d=0;do{w=b+(d<<5)|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+8|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+16|0;h[w>>3]=+h[w>>3]/+h[a>>3];d=d+1|0}while((d|0)!=3);i=f;return 0}function cf(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;switch(f|0){case 4:{q=+h[a>>3];r=+h[a+8>>3];s=+h[a+16>>3];t=+h[a+24>>3];y=+h[a+32>>3];v=+h[a+40>>3];w=+h[a+48>>3];x=+h[a+56>>3];u=+h[a+64>>3];p=(b-w)/y;j=(c-x)/v;c=p*p;i=j*j;k=s*2.0;l=t*6.0;m=t*2.0;n=s*6.0;a:do if(i!=0.0|c!=0.0){f=1;g=p;b=j;while(1){C=i+c;B=q*C+1.0+C*(r*C);z=c*3.0;A=i*z;g=g-(t*(C+c*2.0)+(b*(k*g)+g*B)-p)/(l*g+(k*b+(q*(i+z)+1.0+r*(i*i+(c*(c*5.0)+A)))));z=m*g;b=b-(s*(i*2.0+C)+b*B+b*z-j)/(n*b+(q*(c+i*3.0)+1.0+r*(i*(i*5.0)+(c*c+A)))+z);if((f|0)==4)break a;c=g*g;i=b*b;if(!(i!=0.0|c!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);h[d>>3]=w+y*g/u;h[e>>3]=x+v*b/u;f=0;break}case 3:{p=+h[a>>3];g=(b-p)/+h[a+24>>3];o=a+8|0;b=c-+h[o>>3];j=+h[a+32>>3]/1.0e8;k=+h[a+40>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;b:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break b;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 2:{p=+h[a>>3];g=b-p;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;k=+h[a+32>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;c:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break c;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 1:{m=+h[a>>3];g=b-m;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;c=g*g+b*b;k=+P(+c);l=j*3.0;d:do if(k!=0.0){f=1;i=k;while(1){C=i-(i*(1.0-j*c)-k)/(1.0-l*c);g=g*C/i;b=b*C/i;if((f|0)==3)break d;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+m;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}default:f=-1}return f|0}function df(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;switch(f|0){case 4:{j=+h[a+16>>3];k=+h[a+24>>3];n=+h[a+32>>3];l=+h[a+40>>3];o=+h[a+48>>3];m=+h[a+56>>3];i=+h[a+64>>3];b=(b-o)*i/n;i=(c-m)*i/l;g=b*b+i*i;c=+h[a>>3]*g+1.0+g*(+h[a+8>>3]*g);h[d>>3]=o+n*(k*(b*(b*2.0)+g)+(j*2.0*b*i+b*c));h[e>>3]=m+l*(k*2.0*b*i+(j*(g+i*(i*2.0))+i*c));f=0;break}case 3:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+32>>3]/1.0e8)-o*(o*(+h[a+40>>3]/1.0e8/1.0e5));h[d>>3]=i+ +h[a+24>>3]*(g*o);b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 2:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+24>>3]/1.0e8)-o*(o*(+h[a+32>>3]/1.0e8/1.0e5));h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 1:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=1.0-(g*g+b*b)*(+h[a+24>>3]/1.0e8);h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}default:f=-1}return f|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+256|0;n=s+232|0;m=s+224|0;l=s+216|0;k=s+208|0;j=s+200|0;g=s+192|0;f=s+184|0;p=s+240|0;q=s;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=_i(a,4854)|0;if(!r){r=qi()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Me(3,4857,f);a=ri(c[r>>2]|0)|0;c[g>>2]=5367;c[g+4>>2]=a;Me(3,5361,g);a=-1;break}dj(r,0,2)|0;a:do if(!(Xi(r)|0)){g=gj(r)|0;jj(r);a=0;do{if((a|0)>=4){o=9;break}f=c[2012+(a<<3)+4>>2]|0;a=a+1|0}while(((g|0)%(f|0)|0|0)!=0);do if((o|0)==9)if((a|0)==4){Me(3,4971,l);a=-1;break a}else{f=c[2012+(0<<3)+4>>2]|0;a=0;break}while(0);if((aj(q,f,1,r)|0)!=1){a=qi()|0;c[m>>2]=c[a>>2];Me(3,5051,m);a=ri(c[a>>2]|0)|0;c[n>>2]=5367;c[n+4>>2]=a;Me(3,5361,n);a=-1;break}l=q+176|0;c[l>>2]=a;ff(q);m=(a|0)==1;n=q+120|0;if(m){t=+h[n>>3];k=q+128|0;h[n>>3]=+h[k>>3];h[k>>3]=t}else k=q+128|0;ik(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;if((b|0)>1){j=1;while(1){e=(c[p>>2]|0)+(4-1)&~(4-1);g=c[e>>2]|0;c[p>>2]=e+4;c[g+176>>2]=c[f>>2];if((aj(q,c[2012+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[l>>2]=a;ff(q);if(m){t=+h[n>>3];h[n>>3]=+h[k>>3];h[k>>3]=t}ik(g|0,q|0,184)|0;j=j+1|0;if((j|0)>=(b|0)){a=0;break}}}else a=0}else{a=qi()|0;c[j>>2]=c[a>>2];Me(3,4926,j);a=ri(c[a>>2]|0)|0;c[k>>2]=5367;c[k+4>>2]=a;Me(3,5361,k);a=-1}while(0);Wi(r)|0}else a=-1;while(0);i=s;return a|0}function ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+192|0;f=g;hf(a,f);hf(a+4|0,f+4|0);b=0;do{gf(a+8+(b<<5)|0,f+8+(b<<5)|0);gf(a+8+(b<<5)+8|0,f+8+(b<<5)+8|0);gf(a+8+(b<<5)+16|0,f+8+(b<<5)+16|0);gf(a+8+(b<<5)+24|0,f+8+(b<<5)+24|0);b=b+1|0}while((b|0)!=3);d=a+176|0;e=0;do{gf(a+104+(e<<3)|0,f+104+(e<<3)|0);e=e+1|0;b=c[d>>2]|0}while((e|0)<(c[2012+(b+-1<<3)>>2]|0));c[f+176>>2]=b;ik(a|0,f|0,184)|0;i=g;return}function gf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+7>>0]|0;a[c+1>>0]=a[b+6>>0]|0;a[c+2>>0]=a[b+5>>0]|0;a[c+3>>0]=a[b+4>>0]|0;a[c+4>>0]=a[b+3>>0]|0;a[c+5>>0]=a[b+2>>0]|0;a[c+6>>0]=a[b+1>>0]|0;a[c+7>>0]=a[b>>0]|0;return}function hf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+3>>0]|0;a[c+1>>0]=a[b+2>>0]|0;a[c+2>>0]=a[b+1>>0]|0;a[c+3>>0]=a[b>>0]|0;return}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=i;i=i+64|0;t=x+24|0;u=x+16|0;v=x+8|0;w=x;q=Uj(208)|0;if(!q){Me(3,5472,x+32|0);rb(1)}ik(q|0,a|0,184)|0;s=b<<1;r=(c[a>>2]|0)+s|0;c[q+192>>2]=r;s=(c[a+4>>2]|0)+s|0;c[q+196>>2]=s;c[q+200>>2]=b;c[q+204>>2]=b;d=$(r<<3,s)|0;e=Uj(d)|0;c[q+184>>2]=e;if(!e){Me(3,5472,x+40|0);rb(1)}d=Uj(d)|0;c[q+188>>2]=d;if(!d){Me(3,5472,x+48|0);rb(1)}p=a+104|0;m=c[a+176>>2]|0;n=(r|0)>0?r<<1:0;if((s|0)>0){o=(r|0)>0;l=0;while(1){f=+(l-b|0);if(o){a=0;j=e;k=d;while(1){y=+(a-b|0);df(p,y,f,v,w,m)|0;g[j>>2]=+h[v>>3];g[j+4>>2]=+h[w>>3];cf(p,y,f,t,u,m)|0;g[k>>2]=+h[t>>3];g[k+4>>2]=+h[u>>3];a=a+1|0;if((a|0)>=(r|0))break;else{j=j+8|0;k=k+8|0}}}d=d+(n<<2)|0;l=l+1|0;if((l|0)>=(s|0))break;else e=e+(n<<2)|0}}i=x;return q|0}function kf(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){Vj(c[b+184>>2]|0);Vj(c[(c[a>>2]|0)+188>>2]|0);Vj(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function lf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function mf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a+4>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function nf(a){a=a|0;var b=0,d=0;b=Uj(8)|0;do if(b){d=Uj(a<<3)|0;c[b>>2]=d;if(!d){Vj(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function of(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function pf(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,g=0;b=+P(+(+qf(a,a)));if(b!=0.0){f=c[a>>2]|0;e=+h[f>>3];b=e<0.0?-b:b;e=e+b;h[f>>3]=e;e=1.0/+P(+(e*b));a=c[a+4>>2]|0;if((a|0)>0){d=0;do{g=f+(d<<3)|0;h[g>>3]=e*+h[g>>3];d=d+1|0}while((d|0)<(a|0))}}return +-b}function qf(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))rb(0);if((f|0)>0){e=c[a>>2]|0;a=c[b>>2]|0;b=0;d=0.0;do{d=d+ +h[e+(b<<3)>>3]*+h[a+(b<<3)>>3];b=b+1|0}while((b|0)<(f|0))}else d=0.0;return +d}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E+8|0;D=E;w=c[a+8>>2]|0;if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){z=w+-2|0;A=C+4|0;B=D+4|0;if((w|0)>2){s=w+-1|0;t=0;do{o=$(t,w)|0;p=c[a>>2]|0;h[(c[b>>2]|0)+(t<<3)>>3]=+h[p+(o+t<<3)>>3];k=w-t+-1|0;c[A>>2]=k;u=t;t=t+1|0;l=p+(o+t<<3)|0;c[C>>2]=l;r=+pf(C);h[(c[d>>2]|0)+(u<<3)>>3]=r;if(!(r==0.0)){if((t|0)<(w|0)){m=c[b>>2]|0;n=t;do{if((t|0)<(n|0)){e=c[a>>2]|0;f=t;j=0.0;do{r=+h[e+(($(f,w)|0)+n<<3)>>3];j=j+r*+h[p+(f+o<<3)>>3];f=f+1|0}while((f|0)<(n|0))}else j=0.0;e=$(n,w)|0;if((n|0)<(w|0)){f=c[a>>2]|0;g=n;do{j=j+ +h[f+(g+e<<3)>>3]*+h[p+(g+o<<3)>>3];g=g+1|0}while((g|0)<(w|0))}h[m+(n<<3)>>3]=j;n=n+1|0}while((n|0)<(w|0))}c[B>>2]=k;c[A>>2]=k;c[C>>2]=l;c[D>>2]=(c[b>>2]|0)+(t<<3);j=+qf(C,D)*.5;if((s|0)>(u|0)){e=c[b>>2]|0;k=s;do{q=+h[p+(k+o<<3)>>3];f=e+(k<<3)|0;r=+h[f>>3]-j*q;h[f>>3]=r;f=$(k,w)|0;if((k|0)<(w|0)){g=c[a>>2]|0;l=k;do{n=g+(l+f<<3)|0;h[n>>3]=+h[n>>3]-(q*+h[e+(l<<3)>>3]+r*+h[p+(l+o<<3)>>3]);l=l+1|0}while((l|0)<(w|0))}k=k+-1|0}while((k|0)>(u|0))}}}while((t|0)<(z|0))}if((w|0)<=1){if((w|0)>0){f=0;g=c[a>>2]|0;e=c[b>>2]|0;v=27}}else{v=$(z,w)|0;g=c[a>>2]|0;e=c[b>>2]|0;h[e+(z<<3)>>3]=+h[g+(v+z<<3)>>3];f=w+-1|0;h[(c[d>>2]|0)+(z<<3)>>3]=+h[g+(f+v<<3)>>3];v=27}if((v|0)==27)h[e+(f<<3)>>3]=+h[g+(($(f,w)|0)+f<<3)>>3];if((w|0)>0){m=(w|0)>0;p=w;do{d=p;p=p+-1|0;n=$(p,w)|0;o=c[a>>2]|0;if((d|0)<=(z|0)?(x=w-p+-1|0,y=o+(n+d<<3)|0,(d|0)<(w|0)):0){e=(d|0)<(w|0);k=d;do{c[B>>2]=x;c[A>>2]=x;c[C>>2]=y;f=$(k,w)|0;c[D>>2]=(c[a>>2]|0)+(f+d<<3);j=+qf(C,D);if(e){g=c[a>>2]|0;l=d;do{v=g+(l+f<<3)|0;h[v>>3]=+h[v>>3]-j*+h[o+(l+n<<3)>>3];l=l+1|0}while((l|0)<(w|0))}k=k+1|0}while((k|0)<(w|0))}if(m){e=0;do{h[o+(e+n<<3)>>3]=0.0;e=e+1|0}while((e|0)<(w|0))}h[o+(n+p<<3)>>3]=1.0}while((d|0)>1);e=0}else e=0}else e=-1;i=E;return e|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[c>>3];g=+h[c+8>>3];e=+h[c+16>>3];d=+h[b+88>>3]+(f*+h[b+64>>3]+g*+h[b+72>>3]+e*+h[b+80>>3]);if(d==0.0)c=-1;else{i=+h[b+56>>3]+(f*+h[b+32>>3]+g*+h[b+40>>3]+e*+h[b+48>>3]);h[a>>3]=(+h[b+24>>3]+(f*+h[b>>3]+g*+h[b+8>>3]+e*+h[b+16>>3]))/d;h[a+8>>3]=i/d;c=0}return c|0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;B=i;i=i+1072|0;y=B+1056|0;x=B+768|0;w=B+192|0;A=B+48|0;z=B;K=+h[d>>3];F=+h[e>>3];s=K*F;J=+h[d+8>>3];t=e+8|0;E=+h[t>>3];v=J*E;j=+h[d+16>>3];G=+h[e+16>>3];l=j*G;m=+h[d+24>>3];I=+h[d+32>>3];H=+h[d+40>>3];n=E*H;k=+h[d+48>>3];o=G*k;p=+h[d+56>>3];D=+h[d+64>>3];C=+h[d+72>>3];q=E*C;f=+h[d+80>>3];r=G*f;g=+h[d+88>>3];h[x>>3]=s;h[x+8>>3]=K*E;h[x+16>>3]=K*G;h[x+24>>3]=F*J;h[x+32>>3]=v;h[x+40>>3]=G*J;h[x+48>>3]=F*j;h[x+56>>3]=E*j;h[x+64>>3]=l;h[x+72>>3]=K;h[x+80>>3]=J;h[x+88>>3]=j;j=F*I;h[x+96>>3]=j;h[x+104>>3]=E*I;h[x+112>>3]=G*I;h[x+120>>3]=F*H;h[x+128>>3]=n;h[x+136>>3]=G*H;h[x+144>>3]=F*k;h[x+152>>3]=E*k;h[x+160>>3]=o;h[x+168>>3]=I;h[x+176>>3]=H;h[x+184>>3]=k;k=D*F;h[x+192>>3]=k;h[x+200>>3]=E*D;h[x+208>>3]=G*D;h[x+216>>3]=F*C;E=+h[t>>3];h[x+224>>3]=C*E;h[x+232>>3]=G*C;h[x+240>>3]=F*f;h[x+248>>3]=E*f;h[x+256>>3]=r;h[x+264>>3]=D;h[x+272>>3]=C;h[x+280>>3]=f;e=w+64|0;d=w;t=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+72|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+104>>3]=1.0;e=w+160|0;d=w+112|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+240|0;d=w+168|0;t=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+296|0;d=w+248|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+304|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+336>>3]=1.0;e=w+456|0;d=w+344|0;t=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+512|0;d=w+464|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+568|0;d=w+520|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;u=0;do{t=0;do{d=A+(u*48|0)+(t<<3)|0;h[d>>3]=0.0;f=0.0;e=0;do{f=f+ +h[x+(u*96|0)+(e<<3)>>3]*+h[w+(e*48|0)+(t<<3)>>3];e=e+1|0}while((e|0)!=12);h[d>>3]=f;t=t+1|0}while((t|0)!=6);u=u+1|0}while((u|0)!=3);J=m+(s+v+l);K=p+(j+n+o);f=g+(k+q+r);g=+h[b>>3];j=+h[b+8>>3];k=+h[b+16>>3];l=+h[b+24>>3]+(J*g+K*j+f*k);m=+h[b+32>>3];n=+h[b+40>>3];o=+h[b+48>>3];p=+h[b+56>>3]+(J*m+K*n+f*o);q=+h[b+64>>3];r=+h[b+72>>3];s=+h[b+80>>3];f=+h[b+88>>3]+(J*q+K*r+f*s);if(f==0.0){Me(3,5089,y);e=-1}else{K=f*f;h[z>>3]=(g*f-l*q)/K;h[z+8>>3]=(f*j-l*r)/K;h[z+16>>3]=(f*k-l*s)/K;h[z+24>>3]=(f*m-p*q)/K;h[z+32>>3]=(f*n-p*r)/K;h[z+40>>3]=(f*o-p*s)/K;d=0;do{f=+h[z+(d*24|0)>>3];g=+h[z+(d*24|0)+8>>3];j=+h[z+(d*24|0)+16>>3];e=0;do{y=a+(d*48|0)+(e<<3)|0;h[y>>3]=0.0;K=f*+h[A+(e<<3)>>3]+0.0;h[y>>3]=K;K=K+g*+h[A+48+(e<<3)>>3];h[y>>3]=K;h[y>>3]=K+j*+h[A+96+(e<<3)>>3];e=e+1|0}while((e|0)!=6);d=d+1|0}while((d|0)!=2);e=0}i=B;return e|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+48|0;h=j+24|0;g=j+12|0;f=j;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;b=Ue(f)|0;do if(b){a=Te(b,f)|0;if(!a){We(b)|0;d=-1;break}d=Te(b,g)|0;if(!d){We(b)|0;We(a)|0;d=-1;break}if((_e(a)|0)<0){We(b)|0;We(a)|0;We(d)|0;d=-1;break}else{Xe(h,a,d)|0;We(b)|0;We(a)|0;We(d)|0;d=0;break}}else d=-1;while(0);i=j;return d|0}function vf(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;n=i;i=i+192|0;l=n+96|0;m=n;g=+h[b>>3];k=+h[b+8>>3];d=+h[b+16>>3];c=g*g+k*k+d*d;if(c==0.0){j=0.0;e=0.0;d=1.0;c=0.0}else{c=+P(+c);j=c;e=d/c;d=g/c;c=k/c}u=+h[b+24>>3];r=+h[b+32>>3];k=+h[b+40>>3];o=+R(+j);g=1.0-o;j=+S(+j);h[l>>3]=o+d*d*g;t=c*d*g;s=e*j;h[l+8>>3]=t-s;q=d*e*g;p=c*j;h[l+16>>3]=q+p;h[l+24>>3]=u;h[l+32>>3]=t+s;h[l+40>>3]=o+c*c*g;c=c*e*g;j=d*j;h[l+48>>3]=c-j;h[l+56>>3]=r;h[l+64>>3]=q-p;h[l+72>>3]=c+j;h[l+80>>3]=o+e*e*g;h[l+88>>3]=k;f=0;do{c=+h[a+(f<<5)>>3];d=+h[a+(f<<5)+8>>3];e=+h[a+(f<<5)+16>>3];b=0;do{h[m+(f<<5)+(b<<3)>>3]=c*+h[l+(b<<3)>>3]+d*+h[l+32+(b<<3)>>3]+e*+h[l+64+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=m+(f<<5)+24|0;h[b>>3]=+h[a+(f<<5)+24>>3]+ +h[b>>3];f=f+1|0}while((f|0)!=3);b=0;do{h[a+(b<<5)>>3]=+h[m+(b<<5)>>3];h[a+(b<<5)+8>>3]=+h[m+(b<<5)+8>>3];h[a+(b<<5)+16>>3]=+h[m+(b<<5)+16>>3];h[a+(b<<5)+24>>3]=+h[m+(b<<5)+24>>3];b=b+1|0}while((b|0)!=3);i=n;return 0}function wf(a){a=a|0;var b=0,d=0;b=Uj(136)|0;if(!b)b=0;else{d=0;do{h[b+(d<<5)>>3]=+h[a+(d<<5)>>3];h[b+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[b+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[b+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3);c[b+96>>2]=10;h[b+104>>3]=.10000000149011612;h[b+112>>3]=.9900000095367432;h[b+120>>3]=4.0;h[b+128>>3]=.5}return b|0}function xf(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{Vj(b);c[a>>2]=0;b=0}return b|0}function yf(a,b){a=a|0;b=+b;if(!a)a=-1;else{h[a+128>>3]=b;a=0}return a|0}function zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=i;i=i+176|0;l=y+168|0;k=y+160|0;u=y+48|0;w=y+64|0;v=y;s=b+8|0;g=c[s>>2]|0;do if((g|0)>=3){x=Uj(g*96|0)|0;if(!x){Me(3,5109,k);g=-1;break}t=Uj(g<<4)|0;if(!t){Me(3,5109,l);Vj(x);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);q=b+4|0;l=u+8|0;d=a+104|0;n=a+120|0;o=a+112|0;p=a+96|0;m=0.0;r=0;a:while(1){Ne(a,e,w)|0;g=c[s>>2]|0;if((g|0)>0){j=0.0;k=0;do{if((sf(u,w,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=10;break a}g=c[b>>2]|0;A=+h[g+(k<<4)>>3]-+h[u>>3];z=+h[g+(k<<4)+8>>3]-+h[l>>3];j=j+(A*A+z*z);g=k<<1;h[t+(g<<3)>>3]=A;h[t+((g|1)<<3)>>3]=z;k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}else j=0.0;j=j/+(g|0);if(j<+h[d>>3]){k=24;break}if(((r|0)>0?j<+h[n>>3]:0)?j/m>+h[o>>3]:0){k=24;break}if((r|0)==(c[p>>2]|0)){k=24;break}if((g|0)>0){k=0;do{if((tf(x+(k*12<<3)|0,a,e,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=20;break a}k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}if((uf(v,t,x,g<<1)|0)<0){k=22;break}vf(e,v)|0;m=j;r=r+1|0}if((k|0)==10){Af(x,t);g=-1;break}else if((k|0)==20){Af(x,t);g=-1;break}else if((k|0)==22){Af(x,t);g=-1;break}else if((k|0)==24){h[f>>3]=j;Vj(x);Vj(t);g=0;break}}else g=-1;while(0);i=y;return g|0}function Af(a,b){a=a|0;b=b|0;Vj(a);Vj(b);return}function Bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+192|0;n=G+184|0;m=G+176|0;l=G+168|0;g=G+160|0;B=G+48|0;D=G+64|0;C=G;A=b+8|0;k=c[A>>2]|0;do if((k|0)>=4){o=~~(+(k|0)*+h[a+128>>3])+-1|0;o=(o|0)<3?3:o;F=Uj(k*96|0)|0;if(!F){Me(3,5109,g);g=-1;break}E=Uj(k<<4)|0;if(!E){Me(3,5109,l);Vj(F);g=-1;break}g=k<<3;z=Uj(g)|0;if(!z){Me(3,5109,m);Vj(F);Vj(E);g=-1;break}y=Uj(g)|0;if(!y){Me(3,5109,n);Vj(F);Vj(E);Vj(z);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);w=b+4|0;x=B+8|0;n=y+(o<<3)|0;d=a+104|0;o=a+120|0;t=a+112|0;u=a+96|0;r=0.0;v=0;a:while(1){Ne(a,e,D)|0;g=c[A>>2]|0;if((g|0)>0){k=0;do{if((sf(B,D,(c[w>>2]|0)+(k*24|0)|0)|0)<0){k=14;break a}g=c[b>>2]|0;q=+h[g+(k<<4)>>3]-+h[B>>3];s=+h[g+(k<<4)+8>>3]-+h[x>>3];g=k<<1;h[E+(g<<3)>>3]=q;h[E+((g|1)<<3)>>3]=s;s=q*q+s*s;h[y+(k<<3)>>3]=s;h[z+(k<<3)>>3]=s;k=k+1|0;g=c[A>>2]|0}while((k|0)<(g|0))}rj(y,g,8,1);s=+h[n>>3]*4.0;s=s<16.0?16.0:s;k=c[A>>2]|0;q=s/6.0;if((k|0)>0){j=0.0;g=0;do{p=+h[y+(g<<3)>>3];if(p>s)p=q;else{p=1.0-p/s;p=q*(1.0-p*(p*p))}j=j+p;g=g+1|0}while((g|0)<(k|0))}else j=0.0;j=j/+(k|0);if(j<+h[d>>3]){k=36;break}if(((v|0)>0?j<+h[o>>3]:0)?j/r>+h[t>>3]:0){k=36;break}if((v|0)==(c[u>>2]|0)){k=36;break}if((k|0)>0){m=0;g=0;do{p=+h[z+(m<<3)>>3];if(p<=s){k=g*6|0;l=F+(k<<3)|0;if((tf(l,a,e,(c[w>>2]|0)+(m*24|0)|0)|0)<0){k=28;break a}r=1.0-p/s;r=r*r;h[l>>3]=+h[l>>3]*r;l=F+((k|1)<<3)|0;h[l>>3]=+h[l>>3]*r;l=F+(k+2<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+3<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+4<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+5<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+6<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+7<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+8<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+9<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+10<<3)|0;h[l>>3]=r*+h[l>>3];k=F+(k+11<<3)|0;h[k>>3]=r*+h[k>>3];k=m<<1;h[E+(g<<3)>>3]=r*+h[E+(k<<3)>>3];h[E+(g+1<<3)>>3]=r*+h[E+((k|1)<<3)>>3];k=c[A>>2]|0;g=g+2|0}m=m+1|0}while((m|0)<(k|0))}else g=0;if((g|0)<6){k=32;break}if((uf(C,E,F,g)|0)<0){k=34;break}vf(e,C)|0;r=j;v=v+1|0}if((k|0)==14){Cf(F,E,z,y);g=-1;break}else if((k|0)==28){Cf(F,E,z,y);g=-1;break}else if((k|0)==32){Cf(F,E,z,y);g=-1;break}else if((k|0)==34){Cf(F,E,z,y);g=-1;break}else if((k|0)==36){h[f>>3]=j;Vj(F);Vj(E);Vj(z);Vj(y);g=0;break}}else g=-1;while(0);i=G;return g|0}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vj(a);Vj(b);Vj(c);Vj(d);return}function Df(a,b){a=a|0;b=b|0;var c=0.0;c=+h[a>>3]-+h[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0;U=i;i=i+64|0;D=U+48|0;z=U+40|0;y=U+32|0;x=U+24|0;u=U+16|0;o=U+8|0;l=U;a:do if((e|0)>=4){g=0;while(1){if((g|0)>=(e|0))break;if(+h[d+(g*24|0)+16>>3]!=0.0){g=-1;break a}else g=g+1|0}if((((((((!(+h[a>>3]==0.0)?!(+h[a+32>>3]!=0.0):0)?(B=a+40|0,!(+h[B>>3]==0.0)):0)?!(+h[a+64>>3]!=0.0):0)?!(+h[a+72>>3]!=0.0):0)?!(+h[a+80>>3]!=1.0):0)?!(+h[a+24>>3]!=0.0):0)?!(+h[a+56>>3]!=0.0):0)?!(+h[a+88>>3]!=0.0):0){g=e<<1;C=Re(g,8)|0;if(!C){Me(3,5124,l);g=-1;break}w=Re(g,1)|0;if(!w){We(C)|0;Me(3,5150,o);g=-1;break}if(e){g=c[C>>2]|0;l=c[w>>2]|0;o=0;do{Z=d+(o*24|0)|0;V=o<<4;h[g+(V<<3)>>3]=+h[Z>>3];Y=d+(o*24|0)+8|0;h[g+((V|1)<<3)>>3]=+h[Y>>3];h[g+((V|2)<<3)>>3]=1.0;h[g+((V|3)<<3)>>3]=0.0;h[g+((V|4)<<3)>>3]=0.0;h[g+((V|5)<<3)>>3]=0.0;X=b+(o<<4)|0;h[g+((V|6)<<3)>>3]=-(+h[Z>>3]*+h[X>>3]);h[g+((V|7)<<3)>>3]=-(+h[Y>>3]*+h[X>>3]);h[g+((V|8)<<3)>>3]=0.0;h[g+((V|9)<<3)>>3]=0.0;h[g+((V|10)<<3)>>3]=0.0;h[g+((V|11)<<3)>>3]=+h[Z>>3];h[g+((V|12)<<3)>>3]=+h[Y>>3];h[g+((V|13)<<3)>>3]=1.0;W=b+(o<<4)+8|0;h[g+((V|14)<<3)>>3]=-(+h[Z>>3]*+h[W>>3]);h[g+((V|15)<<3)>>3]=-(+h[Y>>3]*+h[W>>3]);V=o<<1;h[l+(V<<3)>>3]=+h[X>>3];h[l+((V|1)<<3)>>3]=+h[W>>3];o=o+1|0}while((o|0)!=(e|0))}e=Ue(C)|0;if(!e){We(C)|0;We(w)|0;Me(3,5176,u);g=-1;break}o=Te(e,C)|0;if(!o){We(C)|0;We(w)|0;We(e)|0;Me(3,5202,x);g=-1;break}l=Te(e,w)|0;if(!l){We(C)|0;We(w)|0;We(e)|0;We(o)|0;Me(3,5228,y);g=-1;break}if((_e(o)|0)<0){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5254,z);g=-1;break}g=Te(o,l)|0;if(!g){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5280,D);g=-1;break}Z=c[g>>2]|0;p=+h[Z+48>>3];S=+h[a+48>>3];t=+h[B>>3];j=(+h[Z+24>>3]-p*S)/t;s=+h[a+16>>3];T=+h[a+8>>3];r=+h[a>>3];q=(+h[Z>>3]-p*s-j*T)/r;k=+h[Z+56>>3];m=(+h[Z+32>>3]-S*k)/t;n=(+h[Z+8>>3]-s*k-T*m)/r;t=(+h[Z+40>>3]-S)/t;r=(+h[Z+16>>3]-s-T*t)/r;We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;We(g)|0;T=+P(+(p*p+(j*j+q*q)));s=+P(+(k*k+(m*m+n*n)));q=q/T;j=j/T;p=p/T;n=n/s;m=m/s;k=k/s;s=(T+s)*.5;r=r/s;T=1.0/s;if(T<0.0){O=-j;k=-k;m=-m;p=-p;n=-n;Q=-q;S=-r;R=-T}else{O=j;Q=q;S=r;R=t/s}j=k*O-m*p;q=n*p-k*Q;r=m*Q-n*O;s=+P(+(r*r+(j*j+q*q)));do if(!(s==0.0)){t=j/s;q=q/s;j=r/s;N=k*p+(m*O+n*Q);N=N<0.0?-N:N;N=(+P(+(N+1.0))+ +P(+(1.0-N)))*.5;if(Q*q-O*t!=0.0){g=0;E=Q;v=O;F=p;I=t;H=q}else{Z=Q*j-p*t!=0.0;g=Z?1:2;E=Z?Q:p;v=Z?p:O;F=Z?O:Q;I=Z?t:j;H=Z?j:q;j=Z?q:t}r=E*H;s=v*I;q=r-s;if(q==0.0){q=O;j=Q;break}G=(v*j-F*H)/q;A=N*H/q;r=s-r;q=(E*j-F*I)/r;r=N*I/r;s=G*G+q*q+1.0;t=G*A+q*r;v=t*t-s*(A*A+r*r+-1.0);if(v<0.0){q=O;j=Q;break}M=+P(+v);L=(M-t)/s;F=A+G*L;K=r+q*L;M=(-t-M)/s;G=A+G*M;r=r+q*M;Z=(g|0)==1;q=Z?H:j;s=Z?j:H;J=Z?L:K;L=Z?K:L;K=Z?M:r;H=Z?r:M;Z=(g|0)==2&(Z^1);r=Z?I:q;q=Z?q:I;M=Z?L:F;L=Z?F:L;j=Z?H:G;I=Z?G:H;if(n*s-m*q!=0.0){g=0;E=n;v=m;F=k;H=q;A=s}else{Z=n*r-k*q!=0.0;g=Z?1:2;E=Z?n:k;v=Z?k:m;F=Z?m:n;H=Z?q:r;A=Z?r:s;r=Z?s:q}s=E*A;t=v*H;q=s-t;if(q==0.0){q=O;j=Q;break}G=(v*r-F*A)/q;A=N*A/q;q=t-s;v=(E*r-F*H)/q;q=N*H/q;r=G*G+v*v+1.0;s=G*A+v*q;t=s*s-r*(A*A+q*q+-1.0);if(t<0.0){q=O;j=Q;break}t=+P(+t);k=(t-s)/r;Q=A+G*k;O=q+v*k;t=(-s-t)/r;p=A+G*t;n=q+v*t;Z=(g|0)==1;m=Z?k:O;k=Z?O:k;v=Z?t:n;t=Z?n:t;Z=(g|0)==2&(Z^1);n=Z?k:Q;k=Z?Q:k;A=Z?t:p;t=Z?p:t;p=L*k+(J*m+M*n);p=p<0.0?-p:p;q=L*t+(J*v+M*A);q=q<0.0?-q:q;r=I*k+(K*m+j*n);r=r<0.0?-r:r;s=I*t+(K*v+j*A);s=s<0.0?-s:s;if(p>3]=j;h[f+32>>3]=q;h[f+64>>3]=p;h[f+8>>3]=n;h[f+40>>3]=m;h[f+72>>3]=k;h[f+16>>3]=M/Q;h[f+48>>3]=N/Q;h[f+80>>3]=O/Q;h[f+24>>3]=S;h[f+56>>3]=R;h[f+88>>3]=T;g=0}else g=-1}else g=-1;while(0);i=U;return g|0}function Ff(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,0))}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,1))}function If(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+208|0;z=F+200|0;y=F+192|0;A=F+96|0;B=F;C=e+4|0;p=c[C>>2]|0;q=e+112|0;r=e+120|0;if((p|0)>0){u=c[e>>2]|0;v=(d|0)>0;w=(d|0)>0;x=0;do{if(!(c[u+(x*320|0)+4>>2]|0)){if(v){k=c[u+(x*320|0)>>2]|0;l=0;j=-1;do{if((c[b+(l<<8)+8>>2]|0)==(k|0)?(n=+h[b+(l<<8)+40>>3],!(n<+h[q>>3])):0)if(!((j|0)!=-1?!(+h[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{l=u+(x*320|0)+312|0;m=u+(x*320|0)|0;if(w){o=0;j=-1;do{k=c[b+(o<<8)+12>>2]|0;if((k|0)==0?(t=b+(o<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=l;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)E=20}else if((k|0)==(c[m>>2]|0))E=20;if((E|0)==20){E=0;g=+h[b+(o<<8)+48>>3];if(!(g<+h[r>>3]))if(!((j|0)!=-1?!(+h[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}x=x+1|0}while((x|0)<(p|0))}if((p|0)>0){q=0;j=0;p=0;k=0;while(1){l=c[e>>2]|0;m=c[l+(q*320|0)+304>>2]|0;do if((m|0)<0)l=p;else{o=b+(m<<8)|0;if(+ke(a,o,+h[l+(q*320|0)+8>>3],B)>4.0){c[(c[e>>2]|0)+(q*320|0)+304>>2]=-1;l=b+(m<<8)+236|0;if(c[l>>2]|0){l=p;break}c[l>>2]=7;l=p;break}l=c[o>>2]|0;if((k|0)==0|(p|0)<(l|0)){j=0;do{h[A+(j<<5)>>3]=+h[B+(j<<5)>>3];h[A+(j<<5)+8>>3]=+h[B+(j<<5)+8>>3];h[A+(j<<5)+16>>3]=+h[B+(j<<5)+16>>3];h[A+(j<<5)+24>>3]=+h[B+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3);j=q}else l=p;k=k+1|0}while(0);q=q+1|0;if((q|0)>=(c[C>>2]|0))break;else p=l}}else{j=0;k=0}do if((k|0)!=0?(k|0)>=(c[e+128>>2]|0):0){Ne(A,(c[e>>2]|0)+(j*320|0)+112|0,B)|0;p=k<<2;r=Uj(k<<6)|0;if(!r){Me(3,5472,y);rb(1)}q=Uj(k*96|0)|0;if(!q){Me(3,5472,z);rb(1)}l=c[C>>2]|0;if((l|0)>0){m=c[e>>2]|0;o=0;j=0;do{k=c[m+(o*320|0)+304>>2]|0;if((k|0)>=0){y=c[b+(k<<8)+16>>2]|0;d=(4-y|0)%4|0;z=j<<3;h[r+(z<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|1)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(5-y|0)%4|0;h[r+((z|2)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|3)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(6-y|0)%4|0;h[r+((z|4)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|5)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];y=(7-y|0)%4|0;h[r+((z|6)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)>>3];h[r+((z|7)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)+8>>3];z=j*12|0;h[q+(z<<3)>>3]=+h[m+(o*320|0)+208>>3];h[q+((z|1)<<3)>>3]=+h[m+(o*320|0)+216>>3];h[q+((z|2)<<3)>>3]=+h[m+(o*320|0)+224>>3];h[q+((z|3)<<3)>>3]=+h[m+(o*320|0)+232>>3];h[q+(z+4<<3)>>3]=+h[m+(o*320|0)+240>>3];h[q+(z+5<<3)>>3]=+h[m+(o*320|0)+248>>3];h[q+(z+6<<3)>>3]=+h[m+(o*320|0)+256>>3];h[q+(z+7<<3)>>3]=+h[m+(o*320|0)+264>>3];h[q+(z+8<<3)>>3]=+h[m+(o*320|0)+272>>3];h[q+(z+9<<3)>>3]=+h[m+(o*320|0)+280>>3];y=c[e>>2]|0;h[q+(z+10<<3)>>3]=+h[y+(o*320|0)+288>>3];h[q+(z+11<<3)>>3]=+h[y+(o*320|0)+296>>3];j=j+1|0}o=o+1|0}while((o|0)<(l|0))}m=e+104|0;k=(f|0)!=0;if(!(c[m>>2]|0)){j=e+8|0;g=+me(a,B,r,q,p,j);if(k&g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,j)}}}}Vj(q);Vj(r)}else{g=+me(a,B,r,q,p,A);l=e+8|0;n=+me(a,l,r,q,p,l);j=g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}}}}}else if(j){j=0;do{h[e+8+(j<<5)>>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;while(0);Vj(q);Vj(r)}if(g<20.0){c[m>>2]=1;break}c[m>>2]=0;m=c[C>>2]|0;if((m|0)>0){j=c[e>>2]|0;l=0;do{k=c[j+(l*320|0)+304>>2]|0;if((k|0)>=0?(D=b+(k<<8)+236|0,(c[D>>2]|0)==0):0)c[D>>2]=8;l=l+1|0}while((l|0)<(m|0))}}else E=38;while(0);if((E|0)==38){c[e+104>>2]=0;g=-1.0}i=F;return +g}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;U=i;i=i+2544|0;S=U+208|0;R=U+200|0;G=U+184|0;Q=U+176|0;F=U+168|0;E=U+152|0;P=U+144|0;D=U+136|0;M=U+128|0;L=U+120|0;K=U+112|0;C=U+104|0;j=U+96|0;g=U+88|0;f=U+80|0;e=U+72|0;d=U+64|0;H=U;I=U+2280|0;J=U+232|0;z=U+224|0;O=U+220|0;A=U+216|0;B=U+212|0;T=_i(a,5306)|0;a:do if(!T){c[d>>2]=a;Me(3,5308,d);d=ri(c[(qi()|0)>>2]|0)|0;c[e>>2]=5367;c[e+4>>2]=d;Me(3,5361,e);d=0}else{Kf(I,T);c[f>>2]=O;if((kj(I,5368,f)|0)!=1){c[g>>2]=a;Me(3,5371,g);Wi(T)|0;d=0;break}d=c[O>>2]|0;N=Uj(d*320|0)|0;if(!N){Me(3,5472,j);rb(1)}r=H+8|0;s=H+16|0;t=H+24|0;u=H+32|0;v=H+40|0;w=H+48|0;x=H+56|0;y=(b|0)==0;b:do if((d|0)>0){d=0;f=0;c:while(1){Kf(I,T);e=N+(d*320|0)|0;g=N+(d*320|0)+312|0;c[C>>2]=g;c[C+4>>2]=z;if((kj(I,5489,C)|0)==1){q=c[g>>2]|0;c[e>>2]=(q&-32768|0)==0&0==0?q&32767:0;c[N+(d*320|0)+4>>2]=1;f=f|2}else{if(y){e=10;break}if(!(Qe(J,a,2048,1)|0)){e=12;break}Cj(J,I,2047-(Bj(J)|0)|0)|0;q=Ke(b,J)|0;c[e>>2]=q;if((q|0)<0){e=14;break}c[N+(d*320|0)+4>>2]=0;f=f|1}Kf(I,T);e=N+(d*320|0)+8|0;c[D>>2]=e;if((kj(I,5785,D)|0)!=1){e=18;break}Kf(I,T);o=N+(d*320|0)+16|0;p=N+(d*320|0)+24|0;q=N+(d*320|0)+40|0;c[E>>2]=o;c[E+4>>2]=p;c[E+8>>2]=N+(d*320|0)+32;c[E+12>>2]=q;if((kj(I,5894,E)|0)!=4){c[F>>2]=A;c[F+4>>2]=B;if((kj(I,5910,F)|0)==2)g=0;else{e=21;break}}else g=1;do{Kf(I,T);c[G>>2]=N+(d*320|0)+16+(g<<5);c[G+4>>2]=N+(d*320|0)+16+(g<<5)+8;c[G+8>>2]=N+(d*320|0)+16+(g<<5)+16;c[G+12>>2]=N+(d*320|0)+16+(g<<5)+24;if((kj(I,5894,G)|0)!=4){e=23;break c}g=g+1|0}while((g|0)<3);Oe(o,N+(d*320|0)+112|0)|0;W=+h[e>>3];V=W*-.5;h[H>>3]=V;W=W*.5;h[r>>3]=W;h[s>>3]=W;h[t>>3]=W;h[u>>3]=W;h[v>>3]=V;h[w>>3]=V;h[x>>3]=V;e=N+(d*320|0)+48|0;g=N+(d*320|0)+56|0;j=N+(d*320|0)+72|0;k=N+(d*320|0)+80|0;l=N+(d*320|0)+88|0;m=N+(d*320|0)+104|0;n=0;do{V=+h[H+(n<<4)>>3];W=+h[H+(n<<4)+8>>3];h[N+(d*320|0)+208+(n*24|0)>>3]=+h[q>>3]+(+h[o>>3]*V+ +h[p>>3]*W);h[N+(d*320|0)+208+(n*24|0)+8>>3]=+h[j>>3]+(+h[e>>3]*V+ +h[g>>3]*W);h[N+(d*320|0)+208+(n*24|0)+16>>3]=+h[m>>3]+(+h[k>>3]*V+ +h[l>>3]*W);n=n+1|0}while((n|0)!=4);d=d+1|0;if((d|0)>=(c[O>>2]|0))break b}if((e|0)==10){c[K>>2]=a;c[K+4>>2]=I;Me(3,5496,K)}else if((e|0)==12){c[L>>2]=a;Me(3,5624,L)}else if((e|0)==14){c[M>>2]=a;c[M+4>>2]=J;Me(3,5708,M)}else if((e|0)==18){c[P>>2]=a;c[P+4>>2]=d+1;Me(3,5789,P)}else if((e|0)==21){c[Q>>2]=a;c[Q+4>>2]=d+1;Me(3,5916,Q)}else if((e|0)==23){c[R>>2]=a;c[R+4>>2]=d+1;Me(3,5916,R)}Wi(T)|0;Vj(N);d=0;break a}else f=0;while(0);Wi(T)|0;d=Uj(136)|0;if(!d){Me(3,5472,S);rb(1)}c[d>>2]=N;c[d+4>>2]=c[O>>2];c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);h[d+112>>3]=.5;h[d+120>>3]=.5}while(0);i=U;return d|0}function Kf(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if(Zi(b,256,c)|0)while(1){d=Bj(b)|0;b:do if(d)while(1){d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0;if(!d)break b}while(0);switch(a[b>>0]|0){case 0:case 35:break;default:break a}if(!(Zi(b,256,c)|0))break a}while(0);return}function Lf(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+400|0;n=r+296|0;q=r+200|0;o=r+128|0;p=r;k=c[a>>2]|0;f=c[a+4>>2]|0;if((bf(a+8|0,n,q)|0)<0)Me(3,6025,r+392|0);else{j=+(f+-1|0);f=n+32|0;h[f>>3]=j*+h[n+64>>3]-+h[f>>3];f=n+40|0;h[f>>3]=j*+h[n+72>>3]-+h[f>>3];f=n+48|0;h[f>>3]=j*+h[n+80>>3]-+h[f>>3];f=n+56|0;h[f>>3]=j*+h[n+88>>3]-+h[f>>3];g=+h[n+80>>3];f=0;do{h[o+(f*24|0)>>3]=+h[n+(f<<5)>>3]/g;h[o+(f*24|0)+8>>3]=+h[n+(f<<5)+8>>3]/g;h[o+(f*24|0)+16>>3]=+h[n+(f<<5)+16>>3]/g;f=f+1|0}while((f|0)!=3);g=+(k+-1|0);h[p>>3]=+h[o>>3]*2.0/g;h[p+8>>3]=+h[o+8>>3]*2.0/g;h[p+16>>3]=+h[o+16>>3]*2.0/g+-1.0;k=p+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+40>>3]=+h[o+32>>3]*2.0/j;h[p+48>>3]=+h[o+40>>3]*2.0/j+-1.0;k=p+56|0;g=d-b;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;h[p+80>>3]=(b+d)/g;h[p+88>>3]=d*-2.0*b/g;k=p+96|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+112>>3]=1.0;h[p+120>>3]=0.0;g=+h[q+24>>3];j=+h[q+56>>3];d=+h[q+88>>3];k=0;do{b=+h[p+(k<<5)>>3];f=p+(k<<5)+8|0;a=p+(k<<5)+16|0;l=+h[f>>3];m=+h[a>>3];n=0;do{h[e+((n<<2)+k<<3)>>3]=b*+h[q+(n<<3)>>3]+l*+h[q+32+(n<<3)>>3]+m*+h[q+64+(n<<3)>>3];n=n+1|0}while((n|0)!=3);h[e+(k+12<<3)>>3]=+h[p+(k<<5)+24>>3]+(b*g+ +h[f>>3]*j+ +h[a>>3]*d);k=k+1|0}while((k|0)!=4)}i=r;return}function Mf(a){a=a|0;c[496]=a;return}function Nf(){return c[496]|0}function Of(a){a=a|0;var b=0,d=0;b=a+212|0;d=c[b>>2]|0;if(d){ze(d)|0;Qd(c[b>>2]|0)|0;c[b>>2]=0}b=a+224|0;if(c[b>>2]|0){Ld(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){kf(b)|0;c[b>>2]=0}return}function Pf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(!(Cg(2044,d)|0))a=-1;else{f=Dg(2044,d)|0;a=f+196|0;b=c[a>>2]|0;if(b){Vj(b);c[a>>2]=0;c[f+200>>2]=0}Of(f);Ce(c[f+216>>2]|0)|0;Eg(2044,d)|0;d=f+248|0;e=f+252|0;a=c[d>>2]|0;if((c[e>>2]|0)!=(a|0)){b=0;do{Ff(c[a+(b<<3)+4>>2]|0)|0;b=b+1|0;a=c[d>>2]|0}while(b>>>0<(c[e>>2]|0)-a>>3>>>0)}Fg(d);Lh(d);Fg(f+248|0);Lh(f);a=0}i=g;return a|0}function Qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+208|0;g=h+192|0;f=h;e=h+196|0;if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;if((ef(d,1,f,h+184|0)|0)<0){if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;c[g>>2]=d;Me(3,6093,g);d=-1}else{d=c[521]|0;c[521]=d+1;c[e>>2]=d;ik(Gg(2064,e)|0,f|0,184)|0}i=h;return d|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;m=n+24|0;l=n+16|0;j=n+8|0;f=n;d=n+32|0;e=n+28|0;c[d>>2]=a;c[e>>2]=b;do if((Cg(2044,d)|0)!=0?(k=Dg(2044,d)|0,(Hg(2064,e)|0)!=0):0){g=k+8|0;ik(g|0,Gg(2064,e)|0,184)|0;e=c[g>>2]|0;d=k+204|0;b=c[k+12>>2]|0;a=k+208|0;if(!((e|0)==(c[d>>2]|0)?(b|0)==(c[a>>2]|0):0)){c[f>>2]=e;c[f+4>>2]=b;Me(2,6152,f);af(g,c[d>>2]|0,c[a>>2]|0,g)|0}Of(k);d=jf(g,15)|0;a=k+192|0;c[a>>2]=d;if(!d){Me(3,6199,j);d=-1;break}d=Md(d)|0;b=k+212|0;c[b>>2]=d;if(!d){Me(3,6237,l);d=-1;break}Nd(d,2)|0;l=Jd(g)|0;c[k+224>>2]=l;if(!l){Me(3,6274,m);d=-1;break}else{ye(c[b>>2]|0,c[k+216>>2]|0)|0;Lf(c[a>>2]|0,+h[k+232>>3],+h[k+240>>3],k+264|0);d=0;break}}else d=-1;while(0);i=n;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;e=j+12|0;c[e>>2]=b;if(Cg(2044,e)|0){f=Dg(2044,e)|0;if(!(a[d>>0]&1))d=d+1|0;else d=c[d+8>>2]|0;b=f+216|0;e=Ke(c[b>>2]|0,d)|0;c[f+260>>2]=e;if((e|0)<0){c[g>>2]=d;Me(3,6312,g);Ce(c[b>>2]|0)|0;Me(3,6358,h);e=-1}}else e=-1;i=j;return e|0}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;f=l+8|0;e=l+20|0;k=l;c[e>>2]=b;do if(Cg(2044,e)|0){j=Dg(2044,e)|0;if(!(a[d>>0]&1))e=d+1|0;else e=c[d+8>>2]|0;b=c[j+212>>2]|0;d=j+216|0;h=j+220|0;e=Jf(e,c[d>>2]|0)|0;c[h>>2]=e;if(!e){Me(3,6402,f);Ce(c[d>>2]|0)|0;Me(3,6429,g);e=-1;break}switch(c[e+108>>2]|0){case 0:{Zd(b,0)|0;break}case 1:{Zd(b,2)|0;break}default:Zd(b,3)|0}b=j+248|0;d=j+252|0;f=c[d>>2]|0;e=f-(c[b>>2]|0)>>3;g=k;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=e;c[k+4>>2]=c[h>>2];if((f|0)==(c[j+256>>2]|0)){Ig(b,k);break}else{j=k;e=c[j>>2]|0;j=c[j+4>>2]|0;k=f;c[k>>2]=e;c[k+4>>2]=j;c[d>>2]=(c[d>>2]|0)+8;break}}else e=-1;while(0);i=l;return e|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,(b|0)>=0):0)?(f=c[e+248>>2]|0,(c[e+252>>2]|0)-f>>3>>>0>b>>>0):0)d=c[(c[f+(b<<3)+4>>2]|0)+4>>2]|0;else d=-1;i=g;return d|0}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{b=Dg(2044,b)|0;b=(c[b+252>>2]|0)-(c[b+248>>2]|0)>>3}i=d;return b|0}function Wf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+232>>3]=b;i=e;return}function Xf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+232>>3];i=e;return +b}function Yf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+240>>3]=b;i=e;return}function Zf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+240>>3];i=e;return +b}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Zd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6478,e)}i=f;return}function $f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(ae(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ag(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,g=0,j=0,k=0;k=i;i=i+16|0;j=k;d=k+8|0;c[d>>2]=a;if((((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,!(b<=0.0|b>=1.0)):0)?(f=b,g=c[e+212>>2]|0,(g|0)!=0):0)?(be(g,f)|0)==0:0){h[j>>3]=f;Me(1,6513,j)}i=k;return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f;c[b>>2]=a;if((Cg(2044,b)|0)!=0?(d=c[(Dg(2044,b)|0)+212>>2]|0,(d|0)!=0):0){a=(ce(d,e)|0)==0;i=f;return +(a?+h[e>>3]:-1.0)}i=f;return -1.0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)_d(c[(Dg(2044,d)|0)+212>>2]|0,b)|0;i=e;return}function dg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{$d(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Sd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6544,e)}i=f;return}function fg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Td(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+4|0;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,b>>>0<=255):0)?(Ud(c[e+212>>2]|0,b)|0)==0:0){c[f>>2]=b;Me(1,6569,f)}i=g;return}function hg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Vd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Pd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6590,e)}i=f;return}function jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Wd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Cg(2044,d)|0))b=0;else{a=(b|0)!=0;Od(c[(Dg(2044,d)|0)+212>>2]|0,a&1)|0;c[e>>2]=a?6616:6620;Me(1,6625,e)}i=f;return b|0}function lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else b=c[(c[(Dg(2044,b)|0)+212>>2]|0)+4834148>>2]|0;i=d;return b|0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else{Rd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Xd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6647,e)}i=f;return}function og(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Yd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0;c=0;do{h[b+(c<<5)>>3]=+h[a+(c<<5)>>3];h[b+(c<<5)+8>>3]=+h[a+(c<<5)+8>>3];h[b+(c<<5)+16>>3]=+h[a+(c<<5)+16>>3];h[b+(c<<5)+24>>3]=+h[a+(c<<5)+24>>3];c=c+1|0}while((c|0)!=3);return}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+ke(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+le(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,264,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=c[(Dg(2044,e)|0)+212>>2]|0;if((c[e+44>>2]|0)>(b|0)){c[((b|0)<0?8:e+48+(b<<8)|0)+16>>2]=d;e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;o=+h[33];h[d+168>>3]=o;k=+h[34];h[d+176>>3]=k;n=+h[35];h[d+184>>3]=n;j=+h[36];h[d+192>>3]=j;m=+h[37];h[d+200>>3]=m;g=+h[38];h[d+208>>3]=g;l=+h[39];h[d+216>>3]=l;f=+h[40];h[d+224>>3]=f;h[d+56>>3]=(o+n+m+l)*.25;h[d+64>>3]=(k+j+g+f)*.25;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Hf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Gf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=c[522]|0;else{b=Dg(2044,b)|0;b=de(c[b+212>>2]|0,c[b+196>>2]|0)|0}i=d;return b|0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=2088;else b=(c[(Dg(2044,b)|0)+212>>2]|0)+44|0;i=d;return c[b>>2]|0}function yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){a=Dg(2044,e)|0;e=c[a+248>>2]|0;if((b|0)<0?1:(c[a+252>>2]|0)-e>>3>>>0<=b>>>0){e=c[524]|0;break}e=c[e+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[e+4>>2]|0)<=(d|0)){e=c[523]|0;break}else{e=c[e>>2]|0;pg(e+(d*320|0)+16|0,264);Lb(0,c[e+(d*320|0)+304>>2]|0,c[e+(d*320|0)>>2]|0,c[e+(d*320|0)+4>>2]|0,+(+h[e+(d*320|0)+8>>3]))|0;e=0;break}}else e=c[522]|0;while(0);i=f;return e|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;Qa(1,c[d>>2]|0,c[d+4>>2]|0,c[d+8>>2]|0,c[d+12>>2]|0,c[d+16>>2]|0,c[d+20>>2]|0,c[d+24>>2]|0,+(+h[d+32>>3]),+(+h[d+40>>3]),+(+h[d+48>>3]),+(+h[d+56>>3]),+(+h[d+64>>3]),+(+h[d+72>>3]),+(+h[d+80>>3]),+(+h[d+88>>3]),+(+h[d+96>>3]),+(+h[d+104>>3]),+(+h[d+112>>3]),+(+h[d+120>>3]),+(+h[d+128>>3]),+(+h[d+136>>3]),+(+h[d+144>>3]),+(+h[d+152>>3]),+(+h[d+160>>3]),+(+h[d+168>>3]),+(+h[d+176>>3]),+(+h[d+184>>3]),+(+h[d+192>>3]),+(+h[d+200>>3]),+(+h[d+208>>3]),+(+h[d+216>>3]),+(+h[d+224>>3]),c[d+240>>2]|0)|0;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+12|0;e=c[525]|0;c[525]=e+1;c[f>>2]=e;f=Dg(2044,f)|0;c[f>>2]=e;c[f+204>>2]=a;c[f+208>>2]=b;j=$(a<<2,b)|0;b=f+200|0;c[b>>2]=j;a=f+196|0;c[a>>2]=Uj(j)|0;j=Ae()|0;c[f+216>>2]=j;if(!j)Me(3,8285,h);Rf(e,d)|0;c[g>>2]=c[b>>2];Me(1,8322,g);Kb(2,c[f>>2]|0,c[a>>2]|0,c[b>>2]|0,f+264|0,264)|0;i=h;return c[f>>2]|0}function Bg(a){a=a|0;var b=0;a=i;i=i+16|0;b=a;Jg(8591,7);Kg(8597,3);Lg(8606,2);Lg(8617,3);Mg(8633,4);Kg(8651,4);Ng(8671,5);Jg(8683,8);Mg(8700,5);Jg(8720,9);Jg(8738,10);Mg(8760,6);Mg(8783,7);Kg(8812,6);Kg(8825,7);Jg(8838,11);Mg(8857,8);Mg(8867,9);Kg(8880,8);Kg(8893,9);Og(8912,10);Pg(8924,1);Qg(8936,1);Rg(8959,1);Qg(8982,2);Rg(9004,2);Sg(9026,1);Kg(9043,10);Sg(9060,2);Kg(9073,11);Sg(9086,3);Kg(9110,12);Tg(9134,3);Rg(9147,3);Sg(9160,4);Kg(9178,13);Sg(9196,5);Kg(9212,14);Sg(9228,6);Kg(9245,15);Ug(9262,2088);Ug(9291,2096);Ug(9319,2092);Cb(9352,680,0);Cb(9369,680,1);Cb(9385,680,0);Cb(9407,680,0);Cb(9432,680,1);Cb(9457,680,1);Cb(9482,680,100);Cb(9509,680,0);Cb(9535,680,1);Cb(9561,680,0);Cb(9588,680,0);Cb(9615,680,1);Cb(9641,680,2);Cb(9666,680,3);Cb(9704,680,4);Cb(9741,680,0);Cb(9775,680,0);Cb(9799,680,1);Cb(9825,680,2);Cb(9852,680,2);Cb(9886,680,5);h[b>>3]=.5;Vg(9904,b);Cb(9925,680,0);Cb(9944,680,1);Cb(9962,680,2);Cb(9980,680,3);Cb(9999,680,4);Cb(10021,680,3);Cb(10040,680,515);Cb(10069,680,259);Cb(10097,680,4);Cb(10116,680,772);Cb(10146,680,1028);Cb(10176,680,0);Cb(10207,680,1);Cb(10243,680,2);Cb(10277,680,3);Cb(10315,680,0);Cb(10348,680,1);Cb(10395,680,2);Cb(10437,680,3);Cb(10480,680,4);Cb(10532,680,5);Cb(10583,680,6);Cb(10628,680,7);Cb(10667,680,8);Cb(10712,680,9);i=a;return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Cg(a,b)|0;if(!d){wh(f,a,b);xh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;b=Cg(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];uh(a,d)|0;b=1}i=f;return b|0}function Fg(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=a+4|0;a=c[b>>2]|0;if((a|0)!=(d|0)){do a=a+-8|0;while((a|0)!=(d|0));c[b>>2]=a}Lh(d)}return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Hg(a,b)|0;if(!d){qh(f,a,b);rh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;g=a+4|0;d=c[a>>2]|0;f=((c[g>>2]|0)-d>>3)+1|0;if(f>>>0>536870911)Jh(a);e=d;d=(c[a+8>>2]|0)-e|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?f:d}else d=536870911;nh(h,d,(c[g>>2]|0)-e>>3,a+8|0);g=h+8|0;f=c[g>>2]|0;d=b;e=c[d+4>>2]|0;b=f;c[b>>2]=c[d>>2];c[b+4>>2]=e;c[g>>2]=f+8;oh(a,h);ph(h);i=j;return}function Jg(a,b){a=a|0;b=b|0;Oa(a|0,4,2200,10911,1,b|0);return}function Kg(a,b){a=a|0;b=b|0;Oa(a|0,2,2192,10801,10,b|0);return}function Lg(a,b){a=a|0;b=b|0;Oa(a|0,3,2180,10906,12,b|0);return}function Mg(a,b){a=a|0;b=b|0;Oa(a|0,3,2168,10906,13,b|0);return}function Ng(a,b){a=a|0;b=b|0;Oa(a|0,2,2160,10801,11,b|0);return}function Og(a,b){a=a|0;b=b|0;Oa(a|0,2,2152,10797,7,b|0);return}function Pg(a,b){a=a|0;b=b|0;Oa(a|0,1,2148,10794,16,b|0);return}function Qg(a,b){a=a|0;b=b|0;Oa(a|0,3,2136,10789,1,b|0);return}function Rg(a,b){a=a|0;b=b|0;Oa(a|0,2,2128,10785,1,b|0);return}function Sg(a,b){a=a|0;b=b|0;Oa(a|0,3,2116,10780,1,b|0);return}function Tg(a,b){a=a|0;b=b|0;Oa(a|0,3,2104,10775,2,b|0);return}function Ug(a,b){a=a|0;b=b|0;Cb(a|0,680,c[b>>2]|0);return}function Vg(a,b){a=a|0;b=b|0;Cb(a|0,720,~~+h[b>>3]>>>0|0);return}function Wg(){c[511]=0;c[512]=0;c[513]=0;c[514]=0;g[515]=1.0;ub(11,2044,n|0)|0;c[516]=0;c[517]=0;c[518]=0;c[519]=0;g[520]=1.0;ub(12,2064,n|0)|0;Bg(0);return}function Xg(a){a=a|0;$g(a);return}function Yg(a){a=a|0;Zg(a);return}function Zg(a){a=a|0;var b=0;_g(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function _g(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Lh(a)}while((b|0)!=0);return}function $g(a){a=a|0;var b=0;ah(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function ah(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Fg(a+264|0);Lh(a)}while((b|0)!=0);return}function bh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function ch(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b,c);return}function dh(a,b){a=a|0;b=b|0;return +(+Ub[a&3](b))}function eh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function fh(a){a=a|0;return Vb[a&1]()|0}function gh(a,b){a=a|0;b=b|0;Wb[a&15](b);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;i=i+16|0;d=c;ih(d,b);a=Yb[a&31](d)|0;bk(d);i=c;return a|0}function ih(a,b){a=a|0;b=b|0;ak(a,b+4|0,c[b>>2]|0);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b,c)|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+16|0;e=d;ih(e,c);a=cc[a&15](b,e)|0;bk(e);i=d;return a|0}function lh(a,b){a=a|0;b=b|0;return Yb[a&31](b)|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b,c,d)|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=Kh(b<<3)|0;c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<3);return}function oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>3)<<3)|0;c[d>>2]=h;ik(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function ph(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-8|0;while((b|0)!=(d|0));c[e>>2]=b}b=c[a>>2]|0;if(b)Lh(b);return}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(200)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,184)|0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function rh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;sh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return} -function zd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Dd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Jd(a){a=a|0;return Kd(a+8|0)|0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=Uj(4)|0;if(!b){Me(3,5472,d);rb(1)}a=wf(a)|0;c[b>>2]=a;if(!a){Vj(b);b=0}i=d;return b|0}function Ld(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{xf(b)|0;Vj(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function Md(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=Uj(7062432)|0;if(!b){Me(3,5472,d);rb(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;h[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=Uj($(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Me(3,5472,d+8|0);rb(1)}else{c[b+7062384>>2]=0;Nd(b,2)|0;Od(b,0)|0;c[b+7062388>>2]=-1;Pd(b,0)|0;c[b+7062392>>2]=7;c[b+7062396>>2]=0;i=d;return b|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;a:do if(a){e=a+4|0;if((c[e>>2]|0)!=(b|0)){switch(b|0){case 11:case 10:case 9:case 8:case 7:case 6:case 4:case 3:case 2:case 1:case 0:{f=0;break}case 14:case 13:case 12:case 5:{f=1;break}default:{c[d>>2]=b;Me(3,3936,d);d=-1;break a}}c[e>>2]=b;c[a+8>>2]=Pe(b)|0;d=a+7062408|0;b=c[d>>2]|0;if(b){pe(b);c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[e>>2]|0,0)|0}d=a+24|0;b=c[d>>2]|0;if(!f)switch(b|0){case 1:{c[d>>2]=4;d=0;break a}case 4:{c[d>>2]=3;d=0;break a}default:{d=0;break a}}else switch(b|0){case 0:{c[d>>2]=1;d=0;break a}case 3:{c[d>>2]=4;d=0;break a}default:{d=0;break a}}}else d=0}else d=-1;while(0);i=g;return d|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;Vj(c[d>>2]|0);c[d>>2]=0;d=0;break}b=Uj($(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Me(3,5472,e);rb(1)}else d=0}else d=0;else d=-1;while(0);i=f;return d|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e){pe(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[a+4>>2]|0,0)|0;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:{b=0;break}default:{Me(3,3985,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[760+(b<<2)>>2];Me(3,4059,h);b=0}else b=0}else b=0}else b=-1;i=j;return b|0}function Qd(a){a=a|0;var b=0,d=0;if(!a)b=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d){pe(d);c[b>>2]=0}Vj(c[a+4834144>>2]|0);Vj(c[a+4834148>>2]|0);Vj(a);b=0}return b|0}function Rd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function Sd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function Td(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ud(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Vd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Wd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Xd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Yd(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Zd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function _d(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function $d(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function ae(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function be(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){h[a+7062416>>3]=b;a=0}else a=-1;return a|0}function ce(a,b){a=a|0;b=b|0;if(!a)a=-1;else{h[b>>3]=+h[a+7062416>>3];a=0}return a|0}function de(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0.0,S=0.0;Q=i;i=i+80|0;M=Q+32|0;G=Q+24|0;z=Q;y=Q+52|0;D=Q+40|0;L=Q+64|0;P=a+44|0;c[P>>2]=0;J=a+7062388|0;f=c[J>>2]|0;a:do if((f|0)==4){I=a+7062396|0;e=c[I>>2]|0;do if((e|0)>0){f=4;e=e+-1|0}else{C=a+16|0;F=c[C>>2]|0;E=a+7062400|0;A=(c[E>>2]|0)+F|0;A=(A|0)>255?255:A;c[y>>2]=A;H=a+7062404|0;B=F-(c[H>>2]|0)|0;B=(B|0)<0?0:B;c[y+4>>2]=B;c[y+8>>2]=F;e=a+36|0;f=a+40|0;g=a+4|0;k=a+12|0;l=a+20|0;m=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+7062384|0;s=a+24|0;t=a+32|0;u=a+7062416|0;v=a+48|0;w=a+7062424|0;x=0;do{if((xe(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[a>>2]|0,c[k>>2]|0,c[y+(x<<2)>>2]|0,c[l>>2]|0,m,0)|0)<0){e=-1;break a}if((fe(c[e>>2]|0,c[f>>2]|0,m,c[l>>2]|0,1e6,70,1.0,p,q)|0)<0){e=-1;break a}if((je(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,p,c[q>>2]|0,c[r>>2]|0,c[l>>2]|0,c[s>>2]|0,(c[t>>2]|0)+184|0,+h[u>>3],v,P,c[w>>2]|0)|0)<0){e=-1;break a}c[D+(x<<2)>>2]=c[P>>2];x=x+1|0}while((x|0)<3);if((c[a>>2]|0)==1){N=c[D+4>>2]|0;g=c[D+8>>2]|0;f=c[D>>2]|0;c[z>>2]=B;c[z+4>>2]=N;c[z+8>>2]=F;c[z+12>>2]=g;c[z+16>>2]=A;c[z+20>>2]=f;Me(3,4153,z)}else{f=c[D>>2]|0;g=c[D+8>>2]|0}e=c[D+4>>2]|0;if((f|0)>(g|0)|(e|0)>(g|0)){f=(f|0)>=(e|0)?A:B;c[C>>2]=f;e=f-F|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[H>>2]=e;if((c[a>>2]|0)==1){c[G>>2]=f;Me(3,4229,G)}f=c[J>>2]|0;e=c[a+7062392>>2]|0;break}e=c[E>>2]|0;f=c[H>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+F|0)>254){c[E>>2]=1;e=1}if((F|0)<=(e|0))c[H>>2]=1;c[I>>2]=c[a+7062392>>2];N=47;break a}while(0);c[I>>2]=e;N=30}else N=30;while(0);b:do if((N|0)==30){c:do switch(f|0){case 3:{f=a+7062408|0;e=we(c[f>>2]|0,b,9,-7)|0;if((e|0)<0)break b;e=c[f>>2]|0;f=a+4834144|0;e=xe(c[e>>2]|0,c[e+8>>2]|0,c[e+12>>2]|0,5,c[a>>2]|0,c[a+12>>2]|0,0,0,f,c[e+4>>2]|0)|0;if((e|0)<0)break b;e=a+36|0;g=a+40|0;k=a+20|0;break}case 2:case 1:{g=a+7062396|0;e=c[g>>2]|0;if((e|0)>0){c[g>>2]=e+-1;N=44;break c}e=c[a+7062408>>2]|0;if((f|0)==1)e=ue(e,b,L)|0;else e=ve(e,b,L)|0;if((e|0)<0)break b;e=a+16|0;if((c[a>>2]|0)==1?(K=d[L>>0]|0,(c[e>>2]|0)!=(K|0)):0){c[M>>2]=(c[J>>2]|0)==1?4281:4288;c[M+4>>2]=K;Me(3,4293,M)}c[e>>2]=d[L>>0];c[g>>2]=c[a+7062392>>2];N=44;break}default:N=44}while(0);if((N|0)==44){e=a+36|0;g=a+40|0;k=a+20|0;f=a+4834144|0;if((xe(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[k>>2]|0,f,0)|0)<0){e=-1;break}}l=a+15416|0;m=a+15408|0;if((fe(c[e>>2]|0,c[g>>2]|0,f,c[k>>2]|0,1e6,70,1.0,l,m)|0)>=0?(je(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,l,c[m>>2]|0,c[a+7062384>>2]|0,c[k>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+h[a+7062416>>3],a+48|0,P,c[a+7062424>>2]|0)|0)>=0:0)N=47;else e=-1}while(0);d:do if((N|0)==47){t=a+28|0;if((c[t>>2]|0)==1){ee(a);e=0;break}u=a+4818296|0;r=a+24|0;q=c[u>>2]|0;if((q|0)>0){s=0;do{f=c[P>>2]|0;g=a+4818304+(s*264|0)+56|0;k=a+4818304+(s*264|0)+64|0;if((f|0)>0){o=+(c[a+4818304+(s*264|0)>>2]|0);e=-1;l=0;n=.5;while(1){j=+(c[a+48+(l<<8)>>2]|0);R=o/j;if(!(R<.7|R>1.43)?(R=+h[a+48+(l<<8)+56>>3]-+h[g>>3],O=+h[a+48+(l<<8)+64>>3]-+h[k>>3],O=(R*R+O*O)/j,O=(f|0)){p=e;break}else n=j}}else p=-1;e:do if((p|0)>-1){m=c[r>>2]|0;switch(m|0){case 2:case 1:case 0:break;case 4:case 3:{g=a+48+(p<<8)+40|0;j=+h[a+4818304+(s*264|0)+40>>3];if(!(+h[g>>3]>3]<+h[f>>3]))break e}else{f=a+4818304+(s*264|0)+48|0;e=a+48+(p<<8)+48|0}h[g>>3]=j;c[a+48+(p<<8)+8>>2]=c[a+4818304+(s*264|0)+8>>2];h[e>>3]=+h[f>>3];c[a+48+(p<<8)+12>>2]=c[a+4818304+(s*264|0)+12>>2];e=-1;n=1.0e8;g=0;while(1){j=0.0;f=0;do{b=(f+g|0)%4|0;o=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(o*o+R*R);f=f+1|0}while((f|0)!=4);f=j>2]=(b+(c[a+4818304+(s*264|0)+20>>2]|0)|0)%4|0;c[a+48+(p<<8)+24>>2]=(b+(c[a+4818304+(s*264|0)+24>>2]|0)|0)%4|0;break e}default:{e=-1;break d}}e=a+48+(p<<8)+32|0;o=+h[a+4818304+(s*264|0)+32>>3];if(+h[e>>3]>3]=o;l=c[a+4818304+(s*264|0)+4>>2]|0;c[a+48+(p<<8)+4>>2]=l;g=a+4818304+(s*264|0)+16|0;e=-1;n=1.0e8;k=0;while(1){j=0.0;f=0;do{b=(f+k|0)%4|0;S=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(S*S+R*R);f=f+1|0}while((f|0)!=4);if(j>2]|0)|0)%4|0;else j=n;k=k+1|0;if((k|0)==4)break;else n=j}c[a+48+(p<<8)+16>>2]=e;if(m>>>0<2){c[a+48+(p<<8)+8>>2]=l;h[a+48+(p<<8)+40>>3]=o;c[a+48+(p<<8)+20>>2]=e;break}else{c[a+48+(p<<8)+12>>2]=l;h[a+48+(p<<8)+48>>3]=o;c[a+48+(p<<8)+24>>2]=e;break}}}while(0);s=s+1|0}while((s|0)<(q|0))}ee(a);if((c[u>>2]|0)>0){g=0;e=0;do{f=a+4818304+(g*264|0)|0;N=a+4818304+(g*264|0)+256|0;b=(c[N>>2]|0)+1|0;c[N>>2]=b;if((b|0)<4){if((g|0)!=(e|0))ik(a+4818304+(e*264|0)|0,f|0,264)|0;e=e+1|0}g=g+1|0}while((g|0)<(c[u>>2]|0))}else e=0;c[u>>2]=e;e=c[P>>2]|0;f:do if((e|0)>0){m=0;do{k=a+48+(m<<8)|0;g=c[a+48+(m<<8)+4>>2]|0;if((g|0)>=0){l=c[u>>2]|0;g:do if((l|0)>0){f=0;do{if((c[a+4818304+(f*264|0)+4>>2]|0)==(g|0))break g;f=f+1|0}while((f|0)<(l|0))}else f=0;while(0);if((f|0)==(l|0)){if((l|0)==60)break f;c[u>>2]=l+1}ik(a+4818304+(f*264|0)|0,k|0,256)|0;c[a+4818304+(f*264|0)+256>>2]=1}m=m+1|0;e=c[P>>2]|0}while((m|0)<(e|0))}while(0);if((c[t>>2]|0)!=2?(c[u>>2]|0)>0:0){l=0;while(1){g=a+4818304+(l*264|0)+56|0;k=a+4818304+(l*264|0)+64|0;h:do if((e|0)>0){n=+(c[a+4818304+(l*264|0)>>2]|0);f=0;do{j=+(c[a+48+(f<<8)>>2]|0);S=n/j;if(!(S<.7|S>1.43)?(R=+h[a+48+(f<<8)+56>>3]-+h[g>>3],S=+h[a+48+(f<<8)+64>>3]-+h[k>>3],(R*R+S*S)/j<.5):0)break h;f=f+1|0}while((f|0)<(e|0))}else f=0;while(0);if((f|0)==(e|0)){ik(a+48+(e<<8)|0,a+4818304+(l*264|0)|0,256)|0;e=(c[P>>2]|0)+1|0;c[P>>2]=e}l=l+1|0;if((l|0)>=(c[u>>2]|0)){e=0;break}}}else e=0}while(0);i=Q;return e|0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+8>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}case 2:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+12>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}default:{e=c[a+44>>2]|0;if((e|0)>0){f=0;do{b=a+48+(f<<8)+8|0;if((c[b>>2]|0)>-1?+h[a+48+(f<<8)+40>>3]<.5:0){c[b>>2]=-1;d=0}else d=1;b=a+48+(f<<8)+12|0;if(((c[b>>2]|0)>-1?+h[a+48+(f<<8)+48>>3]<.5:0)?(c[b>>2]=-1,(d|0)==0):0)c[a+48+(f<<8)+236>>2]=6;f=f+1|0}while((f|0)<(e|0))}}}return}function fe(a,b,d,e,f,g,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+96|0;F=L+56|0;H=L+48|0;G=L+8|0;I=L;K=(e|0)==1;if(K){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;g=(g|0)/4|0}c[l>>2]=0;C=d+8|0;D=a+-2|0;z=b+-2|0;A=d+1179664|0;a:do if((c[C>>2]|0)>0){B=0;while(1){w=d+12+(B<<2)|0;y=c[w>>2]|0;b:do if(((((!((y|0)<(g|0)|(y|0)>(f|0))?(E=d+131084+(B<<4)|0,(c[E>>2]|0)!=1):0)?(c[d+131084+(B<<4)+4>>2]|0)!=(D|0):0)?(c[d+131084+(B<<4)+8>>2]|0)!=1:0)?(c[d+131084+(B<<4)+12>>2]|0)!=(z|0):0)?(ge(c[d>>2]|0,a,0,A,B+1|0,E,k+((c[l>>2]|0)*80048|0)|0)|0)>=0:0){t=c[w>>2]|0;x=c[l>>2]|0;u=k+(x*80048|0)+28|0;b=c[u>>2]|0;v=k+(x*80048|0)+40028|0;n=c[v>>2]|0;y=k+(x*80048|0)+24|0;o=(c[y>>2]|0)+-1|0;if((o|0)>1){r=0;s=1;e=0;while(1){p=(c[k+(x*80048|0)+28+(s<<2)>>2]|0)-b|0;p=$(p,p)|0;q=(c[k+(x*80048|0)+40028+(s<<2)>>2]|0)-n|0;p=($(q,q)|0)+p|0;q=(p|0)>(r|0);e=q?s:e;s=s+1|0;if((s|0)>=(o|0))break;else r=q?p:r}}else e=0;m=+(t|0)/.75*.01*j;c[H>>2]=0;c[I>>2]=0;c:do if((he(u,v,0,e,m,F,H)|0)>=0?(he(u,v,e,(c[y>>2]|0)+-1|0,m,G,I)|0)>=0:0){b=c[H>>2]|0;n=c[I>>2]|0;do if((b|0)==1&(n|0)==1){b=c[G>>2]|0;n=c[F>>2]|0}else{if((b|0)>1&(n|0)==0){b=(e|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,0,b,m,F,H)|0)<0)break c;if((he(u,v,b,e,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=e;n=c[F>>2]|0;e=c[G>>2]|0;break}if(!((b|0)==0&(n|0)>1))break c;b=(e+-1+(c[y>>2]|0)|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,e,b,m,F,H)|0)<0)break c;if((he(u,v,b,(c[y>>2]|0)+-1|0,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=c[G>>2]|0;n=e;e=c[F>>2]|0}while(0);c[k+(x*80048|0)+80028>>2]=0;c[k+(x*80048|0)+80032>>2]=n;c[k+(x*80048|0)+80036>>2]=e;c[k+(x*80048|0)+80040>>2]=b;c[k+(x*80048|0)+80044>>2]=(c[y>>2]|0)+-1;c[k+((c[l>>2]|0)*80048|0)>>2]=c[w>>2];y=c[l>>2]|0;h[k+(y*80048|0)+8>>3]=+h[d+655376+(B<<4)>>3];h[k+(y*80048|0)+16>>3]=+h[d+655376+(B<<4)+8>>3];y=y+1|0;c[l>>2]=y;if((y|0)==60){e=60;break a}else break b}while(0)}while(0);B=B+1|0;if((B|0)>=(c[C>>2]|0)){J=4;break}}}else J=4;while(0);if((J|0)==4)e=c[l>>2]|0;if((e|0)>0){o=0;do{a=o;o=o+1|0;g=k+(a*80048|0)+16|0;n=k+(a*80048|0)|0;if((o|0)<(e|0)){j=+h[k+(a*80048|0)+8>>3];f=o;do{M=j-+h[k+(f*80048|0)+8>>3];m=+h[g>>3]-+h[k+(f*80048|0)+16>>3];m=M*M+m*m;e=c[n>>2]|0;a=k+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(m<+((e|0)/4|0|0))c[a>>2]=0}else if(m<+((b|0)/4|0|0))c[n>>2]=0;f=f+1|0;e=c[l>>2]|0}while((f|0)<(e|0))}}while((o|0)<(e|0))}if((e|0)>0){f=0;do{if(!(c[k+(f*80048|0)>>2]|0)){a=f+1|0;if((a|0)<(e|0)){e=f;b=a;while(1){ik(k+(e*80048|0)|0,k+(b*80048|0)|0,80048)|0;e=c[l>>2]|0;a=b+1|0;if((a|0)<(e|0)){e=b;b=a}else break}}e=e+-1|0;c[l>>2]=e}f=f+1|0}while((f|0)<(e|0))}if(K&(e|0)>0){b=0;while(1){c[k>>2]=c[k>>2]<<2;e=k+8|0;h[e>>3]=+h[e>>3]*2.0;e=k+16|0;h[e>>3]=+h[e>>3]*2.0;e=k+24|0;if((c[e>>2]|0)>0){a=0;do{K=k+28+(a<<2)|0;c[K>>2]=c[K>>2]<<1;K=k+40028+(a<<2)|0;c[K>>2]=c[K>>2]<<1;a=a+1|0}while((a|0)<(c[e>>2]|0))}b=b+1|0;if((b|0)>=(c[l>>2]|0))break;else k=k+80048|0}}i=L;return 0}function ge(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80032|0;p=w+16|0;o=w+8|0;l=w;u=w+40024|0;v=w+24|0;t=c[h+8>>2]|0;e=c[h>>2]|0;h=c[h+4>>2]|0;a:do if((e|0)<=(h|0)){k=e;e=a+(($(t,d)|0)+e<<1)|0;while(1){s=b[e>>1]|0;if(s<<16>>16>0?(c[f+((s<<16>>16)+-1<<2)>>2]|0)==(g|0):0){n=k;break}if((k|0)<(h|0)){k=k+1|0;e=e+2|0}else{x=6;break a}}q=j+24|0;c[q>>2]=1;r=j+28|0;c[r>>2]=n;s=j+40028|0;c[s>>2]=t;f=t;m=n;k=1;e=5;while(1){h=(e+5|0)%8|0;e=0;while(1){g=c[776+(h<<2)>>2]|0;l=c[808+(h<<2)>>2]|0;if((b[a+(l+m+($(g+f|0,d)|0)<<1)>>1]|0)>0){e=g;g=h;break}e=e+1|0;h=(h+1|0)%8|0;if((e|0)>=8){x=11;break}}if((x|0)==11){x=0;if((e|0)==8){x=13;break}l=c[808+(h<<2)>>2]|0;e=c[776+(h<<2)>>2]|0;g=h}c[j+28+(k<<2)>>2]=l+m;h=c[q>>2]|0;c[j+40028+(h<<2)>>2]=e+(c[j+40028+(h+-1<<2)>>2]|0);e=c[q>>2]|0;h=j+28+(e<<2)|0;if((c[h>>2]|0)==(n|0)?(c[j+40028+(e<<2)>>2]|0)==(t|0):0){f=e;x=16;break}k=e+1|0;c[q>>2]=k;if((k|0)==9999){x=19;break}f=c[j+40028+(e<<2)>>2]|0;m=c[h>>2]|0;e=g}if((x|0)==13){Me(3,4347,o);e=-1;break}else if((x|0)==16){if((f|0)>1){l=0;g=1;h=0;while(1){e=(c[j+28+(g<<2)>>2]|0)-n|0;e=$(e,e)|0;k=(c[j+40028+(g<<2)>>2]|0)-t|0;e=($(k,k)|0)+e|0;k=(e|0)>(l|0);h=k?g:h;g=g+1|0;if((g|0)>=(f|0))break;else l=k?e:l}}else h=0;if((h|0)>0){e=0;do{c[u+(e<<2)>>2]=c[j+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}if((h|0)<(f|0)){e=h;do{t=e-h|0;c[j+28+(t<<2)>>2]=c[j+28+(e<<2)>>2];c[j+40028+(t<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(c[q>>2]|0))}if((h|0)>0){e=0;do{t=e-h|0;c[j+28+((c[q>>2]|0)+t<<2)>>2]=c[u+(e<<2)>>2];c[j+40028+((c[q>>2]|0)+t<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}c[j+28+(c[q>>2]<<2)>>2]=c[r>>2];c[j+40028+(c[q>>2]<<2)>>2]=c[s>>2];c[q>>2]=(c[q>>2]|0)+1;e=0;break}else if((x|0)==19){Me(3,4354,p);e=-1;break}}else x=6;while(0);if((x|0)==6){Me(3,4340,l);e=-1}i=w;return e|0}function he(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0;i=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;o=+(i-q|0);l=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(l-r|0);k=+(($(r,q)|0)-($(l,i)|0)|0);i=d+1|0;if((i|0)<(e|0)){j=0.0;l=i;do{s=k+(o*+(c[a+(l<<2)>>2]|0)+m*+(c[b+(l<<2)>>2]|0));s=s*s;r=s>j;j=r?s:j;i=r?l:i;l=l+1|0}while((l|0)<(e|0))}else j=0.0;if(j/(o*o+m*m)>f)if(((he(a,b,d,i,f,g,h)|0)>=0?(n=c[h>>2]|0,(n|0)<=5):0)?(c[g+(n<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(he(a,b,i,e,f,g,h)|0)>=0):0)p=7;else i=-1;else p=7;if((p|0)==7)i=0;return i|0}function ie(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;t=y+4|0;u=y;v=nf(2)|0;w=nf(2)|0;x=Re(2,2)|0;q=0;a:while(1){r=q;q=q+1|0;s=c[e+(q<<2)>>2]|0;l=c[e+(r<<2)>>2]|0;p=+(s+1-l|0)*.05+.5;l=~~(+(l|0)+p);s=~~(+(s|0)-p)-l|0;n=s+1|0;d=Re(n,2)|0;if((s|0)>-1){s=0;do{z=s+l|0;if((mf(f,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),t,u)|0)<0){l=10;break a}z=s<<1;A=c[d>>2]|0;h[A+(z<<3)>>3]=+g[t>>2];h[A+((z|1)<<3)>>3]=+g[u>>2];s=s+1|0}while((s|0)<(n|0))}if((Ye(d,x,v,w)|0)<0){l=10;break}A=c[x>>2]|0;o=+h[A+8>>3];h[j+(r*24|0)>>3]=o;p=-+h[A>>3];h[j+(r*24|0)+8>>3]=p;A=c[w>>2]|0;h[j+(r*24|0)+16>>3]=-(o*+h[A>>3]+ +h[A+8>>3]*p);We(d)|0;if((q|0)>=4){l=7;break}}b:do if((l|0)==7){We(x)|0;of(w)|0;of(v)|0;q=0;while(1){d=(q+3|0)%4|0;l=j+(d*24|0)|0;m=+h[j+(q*24|0)+8>>3];n=j+(q*24|0)|0;o=+h[j+(d*24|0)+8>>3];p=+h[l>>3]*m-+h[n>>3]*o;if(+O(+p)<.0001){d=-1;break b}A=j+(q*24|0)+16|0;z=j+(d*24|0)+16|0;h[k+(q<<4)>>3]=(o*+h[A>>3]-m*+h[z>>3])/p;h[k+(q<<4)+8>>3]=(+h[n>>3]*+h[z>>3]-+h[l>>3]*+h[A>>3])/p;q=q+1|0;if((q|0)>=4){d=0;break}}}else if((l|0)==10){We(d)|0;We(x)|0;of(w)|0;of(v)|0;d=-1}while(0);i=y;return d|0}function je(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;D=F+4|0;E=F;z=m>>>0<2;A=(m|0)==2;if((j|0)>0){C=0;s=0;do{c[p+(s<<8)>>2]=c[f+(C*80048|0)>>2];if((mf(n,+h[f+(C*80048|0)+8>>3],+h[f+(C*80048|0)+16>>3],D,E)|0)>=0?(h[p+(s<<8)+56>>3]=+g[D>>2],h[p+(s<<8)+64>>3]=+g[E>>2],B=p+(s<<8)+168|0,(ie(f+(C*80048|0)+28|0,f+(C*80048|0)+40028|0,c[f+(C*80048|0)+24>>2]|0,f+(C*80048|0)+80028|0,n,p+(s<<8)+72|0,B)|0)>=0):0){t=p+(s<<8)+8|0;u=p+(s<<8)+20|0;v=p+(s<<8)+40|0;w=p+(s<<8)+12|0;x=p+(s<<8)+24|0;y=p+(s<<8)+48|0;switch(De(k,l,m,a,b,d,e,n,B,o,t,u,v,w,x,y,r,p+(s<<8)+240|0,p+(s<<8)+248|0)|0){case 0:{c[p+(s<<8)+236>>2]=0;break}case -1:{c[p+(s<<8)+236>>2]=2;break}case -2:{c[p+(s<<8)+236>>2]=3;break}case -3:{c[p+(s<<8)+236>>2]=4;break}case -4:{c[p+(s<<8)+236>>2]=5;break}case -5:{c[p+(s<<8)+236>>2]=9;break}case -6:{c[p+(s<<8)+236>>2]=1;break}default:{}}if(!z){if(A){c[p+(s<<8)+4>>2]=c[w>>2];c[p+(s<<8)+16>>2]=c[x>>2];h[p+(s<<8)+32>>3]=+h[y>>3]}}else{c[p+(s<<8)+4>>2]=c[t>>2];c[p+(s<<8)+16>>2]=c[u>>2];h[p+(s<<8)+32>>3]=+h[v>>3]}s=s+1|0}C=C+1|0}while((C|0)<(j|0))}else s=0;c[q>>2]=s;i=F;return 0}function ke(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;k=i;i=i+288|0;m=k+200|0;l=k+104|0;f=k+264|0;j=k+8|0;g=k;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=d*-.5;h[l>>3]=n;d=d*.5;h[l+8>>3]=d;h[l+16>>3]=0.0;h[l+24>>3]=d;h[l+32>>3]=d;h[l+40>>3]=0.0;h[l+48>>3]=d;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=4;if((Ef(c[a>>2]|0,m,l,4,j)|0)<0)d=1.0e8;else{p=(zf(c[a>>2]|0,f,j,e,g)|0)<0;d=p?1.0e8:+h[g>>3]}i=k;return +d}function le(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;j=i;i=i+192|0;m=j+104|0;l=j+8|0;k=j+168|0;g=j;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=e*-.5;h[l>>3]=n;e=e*.5;h[l+8>>3]=e;h[l+16>>3]=0.0;h[l+24>>3]=e;h[l+32>>3]=e;h[l+40>>3]=0.0;h[l+48>>3]=e;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[k>>2]=m;c[k+4>>2]=l;c[k+8>>2]=4;b=(zf(c[a>>2]|0,k,d,f,g)|0)<0;i=j;return +(b?1.0e8:+h[g>>3])}function me(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((zf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function ne(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((Bf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Uj(2080)|0;a:do if(f){c[f+2068>>2]=d;b:do if(!e){switch(d|0){case 5:case 12:case 13:case 14:break;default:{g=4;break b}}c[f+2076>>2]=0}else g=4;while(0);do if((g|0)==4){g=Uj($(b,a)|0)|0;c[f>>2]=g;if(!g){Vj(f);f=0;break a}else{c[f+2076>>2]=1;break}}while(0);c[f+2072>>2]=e;c[f+4>>2]=0;c[f+8>>2]=a;c[f+12>>2]=b}while(0);return f|0}function pe(a){a=a|0;if(a){if(c[a+2076>>2]|0)Vj(c[a>>2]|0);Vj(c[a+4>>2]|0);Vj(a)}return}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;g=k;f=c[b+2068>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:if(!(c[b+2072>>2]|0)){c[b>>2]=e;f=0;break a}else{ik(c[b>>2]|0,e|0,$(c[b+12>>2]|0,c[b+8>>2]|0)|0)|0;f=0;break a}default:{if((f&-2|0)==2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j|2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if((f&-3|0)==4){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|2)>>0]|0)+(d[e+(j|1)>>0]|0)+(d[e+(j|3)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if(f>>>0<2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j+1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j+2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+3|0}}switch(f|0){case 8:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+j>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 7:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+(j|1)>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 9:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;l=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&248)+10+(m<<5&224)+(l>>>3&28)+(l<<3&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 10:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){l=d[e+j>>0]|0;m=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((l&248)+12+(l<<5&224)+(m>>>3&24)+(m<<2&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 11:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&240)+24+(m<<4&240)+((d[e+(j|1)>>0]|0)&240)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}default:{Me(3,4361,g);f=-1;break a}}}}while(0);i=k;return f|0}function re(a,b){a=a|0;b=b|0;var e=0,f=0;if((a|0)!=0&(b|0)!=0?(qe(a,b)|0)>=0:0){ek(a+16|0,0,1024)|0;b=c[a>>2]|0;f=$(c[a+12>>2]|0,c[a+8>>2]|0)|0;e=b+f|0;if((f|0)>0){do{f=a+16+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}while(b>>>0>>0);b=0}else b=0}else b=-1;return b|0}function se(a,b){a=a|0;b=b|0;var d=0;b=re(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+16+(d<<2)>>2]|0)+b|0;c[a+1040+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function te(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0;if(!(e<0.0|e>1.0)){d=se(b,d)|0;if((d|0)>=0){i=~~(+($(c[b+12>>2]|0,c[b+8>>2]|0)|0)*e)>>>0;d=0;while(1){h=d&255;g=c[b+1040+(h<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}if((g|0)==(i|0))do d=d+1<<24>>24;while((c[b+1040+((d&255)<<2)>>2]|0)==(i|0));a[f>>0]=((d&255)+h|0)>>>1;d=0}}else d=-1;return d|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;return te(a,b,.5,c)|0}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0;d=re(b,d)|0;if((d|0)>=0){d=1;f=0.0;do{f=f+ +(($(c[b+16+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+($(c[b+12>>2]|0,c[b+8>>2]|0)|0);l=0;h=0.0;d=0;j=0.0;m=0.0;while(1){g=c[b+16+(l<<2)>>2]|0;m=m+ +(g>>>0);if(m!=0.0){i=k-m;if(i==0.0)break;h=h+ +(($(l,g)|0)>>>0);n=h/m-(f-h)/i;i=n*(m*i*n);if(i>j)d=l&255;else i=j}else i=j;if((l&255)<<24>>24==-1)break;else{l=l+1|0;j=i}}a[e>>0]=d;d=0}return d|0}function we(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=re(b,e)|0;do if((e|0)>=0){t=b+4|0;if(!(c[t>>2]|0)){e=b+8|0;h=b+12|0;s=Uj($(c[h>>2]|0,c[e>>2]|0)|0)|0;c[t>>2]=s;if(!s){e=-1;break}else s=e}else{s=b+8|0;h=b+12|0}q=f>>1;r=0-q|0;e=c[h>>2]|0;if((e|0)>0){n=(q|0)<(r|0);o=(q|0)<(r|0);p=0;do{e=c[s>>2]|0;if((e|0)>0){m=0;do{if(n){i=0;f=0}else{i=0;l=r;f=0;while(1){j=l+p|0;if(((j|0)>=0?(j|0)<(c[h>>2]|0):0)?(u=$(e,j)|0,!o):0){k=r;while(1){j=k+m|0;if((j|0)>-1&(j|0)<(e|0)){i=i+1|0;f=(d[(c[b>>2]|0)+(u+j)>>0]|0)+f|0}if((k|0)<(q|0))k=k+1|0;else break}}if((l|0)<(q|0))l=l+1|0;else break}}l=($(e,p)|0)+m|0;a[(c[t>>2]|0)+l>>0]=(f|0)/(i|0)|0;m=m+1|0;e=c[s>>2]|0}while((m|0)<(e|0))}p=p+1|0;e=c[h>>2]|0}while((p|0)<(e|0))}if((g|0)!=0?($(e,c[s>>2]|0)|0)>0:0){e=0;do{b=(c[t>>2]|0)+e|0;a[b>>0]=(d[b>>0]|0)+g;e=e+1|0}while((e|0)<($(c[h>>2]|0,c[s>>2]|0)|0));e=0}else e=0}while(0);return e|0}function xe(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;a:do switch(e|0){case 0:{switch(f|0){case 1:{if(j){k=Fc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=wc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=yc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Bc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Cc(a,b,c,g,i)|0;break a}case 8:{k=Ec(a,b,c,g,i)|0;break a}case 7:{k=Dc(a,b,c,g,i)|0;break a}case 9:{k=xc(a,b,c,g,i)|0;break a}case 10:{k=Ac(a,b,c,g,i)|0;break a}case 11:{k=zc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=nc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=pc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=sc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=tc(a,b,c,g,i)|0;break a}case 8:{k=vc(a,b,c,g,i)|0;break a}case 7:{k=uc(a,b,c,g,i)|0;break a}case 9:{k=oc(a,b,c,g,i)|0;break a}case 10:{k=rc(a,b,c,g,i)|0;break a}case 11:{k=qc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Yc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=Pc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Rc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Uc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Vc(a,b,c,g,i)|0;break a}case 8:{k=Xc(a,b,c,g,i)|0;break a}case 7:{k=Wc(a,b,c,g,i)|0;break a}case 9:{k=Qc(a,b,c,g,i)|0;break a}case 10:{k=Tc(a,b,c,g,i)|0;break a}case 11:{k=Sc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Gc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Ic(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Lc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Mc(a,b,c,g,i)|0;break a}case 8:{k=Oc(a,b,c,g,i)|0;break a}case 7:{k=Nc(a,b,c,g,i)|0;break a}case 9:{k=Hc(a,b,c,g,i)|0;break a}case 10:{k=Kc(a,b,c,g,i)|0;break a}case 11:{k=Jc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}case 1:{switch(f|0){case 1:{if(j){k=pd(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=gd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=id(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=ld(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=md(a,b,c,g,i)|0;break a}case 8:{k=od(a,b,c,g,i)|0;break a}case 7:{k=nd(a,b,c,g,i)|0;break a}case 9:{k=hd(a,b,c,g,i)|0;break a}case 10:{k=kd(a,b,c,g,i)|0;break a}case 11:{k=jd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Zc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=$c(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=cd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=dd(a,b,c,g,i)|0;break a}case 8:{k=fd(a,b,c,g,i)|0;break a}case 7:{k=ed(a,b,c,g,i)|0;break a}case 9:{k=_c(a,b,c,g,i)|0;break a}case 10:{k=bd(a,b,c,g,i)|0;break a}case 11:{k=ad(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Id(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=zd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Bd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Ed(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Fd(a,b,c,g,i)|0;break a}case 8:{k=Hd(a,b,c,g,i)|0;break a}case 7:{k=Gd(a,b,c,g,i)|0;break a}case 9:{k=Ad(a,b,c,g,i)|0;break a}case 10:{k=Dd(a,b,c,g,i)|0;break a}case 11:{k=Cd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=qd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=sd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=vd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=wd(a,b,c,g,i)|0;break a}case 8:{k=yd(a,b,c,g,i)|0;break a}case 7:{k=xd(a,b,c,g,i)|0;break a}case 9:{k=rd(a,b,c,g,i)|0;break a}case 10:{k=ud(a,b,c,g,i)|0;break a}case 11:{k=td(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}default:rb(0)}while(0);return k|0}function ye(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;d=0}else d=-1;return d|0}function ze(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;b=0}else b=-1;return b|0}function Ae(){return Be(16,50)|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+56|0;p=r+48|0;j=r+40|0;h=r+32|0;g=r+24|0;f=r+16|0;e=r+8|0;d=r;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){n=Uj(32)|0;if(!n){Me(3,5472,d);rb(1)}c[n>>2]=0;c[n+4>>2]=b;c[n+28>>2]=a;m=Uj(b<<2)|0;c[n+8>>2]=m;if(!m){Me(3,5472,e);rb(1)}d=b<<4;l=Uj(d)|0;c[n+12>>2]=l;if(!l){Me(3,5472,f);rb(1)}f=Uj(d)|0;k=n+20|0;c[k>>2]=f;if(!f){Me(3,5472,g);rb(1)}d=b<<5;g=Uj(d)|0;c[n+16>>2]=g;if(!g){Me(3,5472,h);rb(1)}h=Uj(d)|0;c[n+24>>2]=h;if(!h){Me(3,5472,j);rb(1)}e=$(a,a)|0;d=e*12|0;e=e<<2;if((b|0)>0){a=0;b:while(1){c[m+(a<<2)>>2]=0;f=a<<2;h=0;while(1){if((h|0)>=4)break;j=Uj(d)|0;g=h+f|0;c[l+(g<<2)>>2]=j;if(!j){d=18;break b}j=Uj(e)|0;c[(c[k>>2]|0)+(g<<2)>>2]=j;if(!j){d=20;break b}else h=h+1|0}a=a+1|0;if((a|0)>=(b|0)){o=n;break a}}if((d|0)==18){Me(3,5472,p);rb(1)}else if((d|0)==20){Me(3,5472,q);rb(1)}}else o=n}else o=0;while(0);i=r;return o|0}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)b=-1;else{b=a+4|0;d=a+8|0;e=a+12|0;f=a+20|0;if((c[b>>2]|0)>0){g=0;do{if(c[(c[d>>2]|0)+(g<<2)>>2]|0)Le(a,g)|0;h=g<<2;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);i=1+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);i=2+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);h=3+h|0;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);g=g+1|0}while((g|0)<(c[b>>2]|0))}Vj(a);b=0}return b|0}function De(b,e,f,g,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+12448|0;A=L+12440|0;z=L+8|0;J=L;I=L+12312|0;K=L+24|0;do if((f+-2|0)>>>0<3){if((v|0)!=2830){y=v&255;if((Ee(e,2,y,y*3|0,g,j,k,l,m,n,o,K)|0)<0){c[s>>2]=-1;y=-6;break}y=Fe(K,y,s,t,u,v,w)|0;if(!x)break;c[x>>2]=0;c[x+4>>2]=0;break}if((Ee(e,2,14,42,g,j,k,l,m,n,.875,K)|0)<0){c[s>>2]=-1;y=-6;break}c[z>>2]=0;c[z+4>>2]=182;c[z+8>>2]=195;c[z+12>>2]=13;v=a[K+(c[z>>2]|0)>>0]|0;y=(v&255)>0?v:0;v=(v&255)<255?v:-1;H=a[K+(c[z+4>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+8>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+12>>2]|0)>>0]|0;y=((H&255)>(y&255)?H:y)&255;v=((H&255)<(v&255)?H:v)&255;a:do if((y-v|0)>=30){H=(y+v|0)>>>1;a[A>>0]=(d[K+(c[z>>2]|0)>>0]|0)>>>0>>0&1;a[A+1>>0]=(d[K+(c[z+4>>2]|0)>>0]|0)>>>0>>0&1;a[A+2>>0]=(d[K+(c[z+8>>2]|0)>>0]|0)>>>0>>0&1;a[A+3>>0]=(d[K+(c[z+12>>2]|0)>>0]|0)>>>0>>0&1;v=0;while(1){y=v+1|0;if(((a[A+v>>0]|0)==1?(a[A+((y|0)%4|0)>>0]|0)==1:0)?(a[A+((v+2|0)%4|0)>>0]|0)==0:0){G=v;break}if((y|0)<4)v=y;else{G=y;break}}switch(G|0){case 4:{c[t>>2]=0;h[u>>3]=-1.0;y=-3;v=0;z=0;break a}case 0:{z=119;y=255;v=0;do{D=v+-3|0;B=(v&-2|0)==12;C=v*14|0;A=0;do{if(((A+-3|D)>>>0>=8?(F=A&-2,(A|v)>>>0>=2):0)?!(B&((F|0)==0|(F|0)==12)):0){E=(d[K+(A+C)>>0]|0)-H|0;a[I+z>>0]=E>>>31;E=(E|0)>-1?E:0-E|0;z=z+-1|0;y=(E|0)<(y|0)?E:y}A=A+1|0}while((A|0)!=14);v=v+1|0}while((v|0)!=14);break}case 1:{z=119;y=255;v=0;do{D=v+-3|0;C=v&-2;B=(C|0)==0;C=(C|0)==12;A=13;while(1){if(((A+-3|D)>>>0>=8?(E=(A&-2|0)==12,!(B&E)):0)?!(C&(A>>>0<2|E)):0){F=(d[K+((A*14|0)+v)>>0]|0)-H|0;a[I+z>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;z=z+-1|0;y=(F|0)<(y|0)?F:y}if((A|0)>0)A=A+-1|0;else break}v=v+1|0}while((v|0)!=14);break}case 2:{v=119;y=255;D=13;while(1){B=D+-3|0;C=D>>>0<2|(D&-2|0)==12;A=D*14|0;z=13;while(1){if((z+-3|B)>>>0>=8?!((z|D)>>>0<2|C&(z&-2|0)==12):0){F=(d[K+(z+A)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}if((z|0)>0)z=z+-1|0;else break}if((D|0)>0)D=D+-1|0;else break}break}case 3:{v=119;y=255;D=13;while(1){C=D+-3|0;B=D&-2;A=(B|0)==12;B=(B|0)==0;z=0;do{if(((z+-3|C)>>>0>=8?!(A&z>>>0<2|(z|D)>>>0<2):0)?!(B&(z&-2|0)==12):0){F=(d[K+((z*14|0)+D)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}z=z+1|0}while((z|0)!=14);if((D|0)>0)D=D+-1|0;else break}break}default:y=255}c[t>>2]=G;h[u>>3]=(y|0)>30?1.0:+(y|0)/30.0;y=Ie(2830,0,0,I,J)|0;if((y|0)<0){y=-4;v=0;z=0}else{if(w)c[w>>2]=y;z=J;y=0;v=c[z>>2]|0;z=c[z+4>>2]|0}}else{c[t>>2]=0;h[u>>3]=-1.0;y=-2;v=0;z=0}while(0);if((y|0)<0){c[s>>2]=-1;break}if((v|0)==-1&(z|0)==-1){c[s>>2]=-1;y=-5;break}c[s>>2]=(v&-32768|0)==0&0==0?v&32767:0;if(!x)y=0;else{y=x;c[y>>2]=v;c[y+4>>2]=z;y=0}}else y=1;while(0);b:do switch(f|0){case 0:case 1:case 3:case 4:{if(!b){c[p>>2]=-1;v=-1;break b}v=b+28|0;z=c[v>>2]|0;A=z<<2;switch(f|0){case 0:case 3:if((Ee(e,0,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,0,K,c[v>>2]|0,p,q,r)|0;break b}default:if((Ee(e,1,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,1,K,c[v>>2]|0,p,q,r)|0;break b}}}default:v=1}while(0);if((y|0)!=1){if((v|0)!=1)y=(v&y|0)<0?v:0}else y=v;i=L;return y|0} -function _j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;b=k+8|0;h=k+4|0;d=k;c[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;c[d>>2]=a-e;b=($j(3712,3904,d,b)|0)-3712>>2;f=b;b=(c[3712+(b<<2)>>2]|0)+e|0;a:while(1){e=5;while(1){if(e>>>0>=47){e=211;j=8;break}d=c[3520+(e<<2)>>2]|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=106;break a}if((b|0)==($(a,d)|0))break;else e=e+1|0}b:do if((j|0)==8)while(1){j=0;d=(b>>>0)/(e>>>0)|0;if(d>>>0>>0){j=105;break a}if((b|0)==($(d,e)|0))break b;d=e+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+208|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break;else{e=e+210|0;j=8}}while(0);e=f+1|0;b=(e|0)==48;e=b?0:e;b=(b&1)+g|0;f=e;g=b;b=(c[3712+(e<<2)>>2]|0)+(b*210|0)|0}if((j|0)==105){c[h>>2]=b;break}else if((j|0)==106){c[h>>2]=b;break}}else b=c[($j(3520,3712,h,b)|0)>>2]|0;while(0);i=k;return b|0}function $j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a;d=b-a>>2;a:while(1){while(1){if(!d)break a;a=(d|0)/2|0;if((c[e+(a<<2)>>2]|0)>>>0>>0)break;else d=a}e=e+(a+1<<2)|0;d=d+-1-a|0}return e|0}function ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)oi(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=Kh(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ik(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function bk(b){b=b|0;if(a[b>>0]&1)Lh(c[b+8>>2]|0);return}function ck(){}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Xa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function kk(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=dk(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return dk((rk(h,g,dk(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=dk(h^a,g^b,h,g)|0;b=D;rk(a,b,dk(l^d,k^e,l,k)|0,D,j)|0;e=dk(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=lk(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rk(a,b,c,d,0)|0}function qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;rk(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function rk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=kk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kk(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gk(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;dk(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=dk(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b|0,c|0,d|0)|0}function tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Rb[a&3](b|0,c|0,d|0,e|0,f|0)}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return +Sb[a&1](b|0,c|0)}function vk(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function wk(a,b){a=a|0;b=b|0;return +Ub[a&3](b|0)}function xk(a){a=a|0;return Vb[a&1]()|0}function yk(a,b){a=a|0;b=b|0;Wb[a&15](b|0)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b|0,c|0)}function Ak(a,b){a=a|0;b=b|0;return Yb[a&31](b|0)|0}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zb[a&1](b|0,c|0,d|0)}function Ck(a){a=a|0;_b[a&0]()}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$b[a&3](b|0,c|0,+d)}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ac[a&1](b|0,c|0,d|0,e|0)|0}function Fk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;bc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b|0,c|0)|0}function Hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dc[a&3](b|0,c|0,d|0,e|0)}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}function Jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Kk(a,b){a=a|0;b=b|0;ca(2);return 0.0}function Lk(a,b){a=a|0;b=+b;ca(3)}function Mk(a){a=a|0;ca(4);return 0.0}function Nk(){ca(5);return 0}function Ok(a){a=a|0;ca(6)}function Pk(a,b){a=a|0;b=b|0;ca(7)}function Qk(a){a=a|0;ca(8);return 0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;ca(9)}function Sk(){ca(10)}function Tk(a,b,c){a=a|0;b=b|0;c=+c;ca(11)}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(12);return 0}function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(13)}function Wk(a,b){a=a|0;b=b|0;ca(14);return 0}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(15)} - -// EMSCRIPTEN_END_FUNCS -var Qb=[Ik,Zh,_h,Qj,Qi,Pi,Ri,Ag,sg,qg,rg,yg,kh,jh,Oi,Mj];var Rb=[Jk,ki,ji,gi];var Sb=[Kk,dh];var Tb=[Lk,Wf,Yf,ag];var Ub=[Mk,Xf,Zf,bg];var Vb=[Nk,Nf];var Wb=[Ok,Mh,Nh,Sh,Vh,Th,Uh,Wh,Xh,Yh,Mf,Xg,Yg,Ij,Jj,Ok];var Xb=[Pk,ig,gg,_f,cg,eg,ng,gh];var Yb=[Qk,Oh,Ni,Pf,Vf,Qf,wg,xg,mg,lg,jg,hg,$f,dg,fg,og,fh,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk];var Zb=[Rk,ch];var _b=[Sk];var $b=[Tk,eh,bh,Tk];var ac=[Uk,mh];var bc=[Vk,ni,mi,li];var cc=[Wk,Df,Sf,Tf,Uf,tg,vg,ug,zg,kg,lh,hh,Wk,Wk,Wk,Wk];var dc=[Xk,ai,bi,di];return{_i64Subtract:dk,_fflush:Yi,_i64Add:gk,_memset:ek,_malloc:Uj,_memcpy:ik,___getTypeName:Ah,_bitshift64Lshr:hk,_free:Vj,___errno_location:qi,_bitshift64Shl:fk,__GLOBAL__sub_I_ARToolKitJS_cpp:Wg,__GLOBAL__sub_I_bind_cpp:Ch,runPostSets:ck,stackAlloc:ec,stackSave:fc,stackRestore:gc,establishStackSpace:hc,setThrew:ic,setTempRet0:lc,getTempRet0:mc,dynCall_iiii:sk,dynCall_viiiii:tk,dynCall_dii:uk,dynCall_vid:vk,dynCall_di:wk,dynCall_i:xk,dynCall_vi:yk,dynCall_vii:zk,dynCall_ii:Ak,dynCall_viii:Bk,dynCall_v:Ck,dynCall_viid:Dk,dynCall_iiiii:Ek,dynCall_viiiiii:Fk,dynCall_iii:Gk,dynCall_viiii:Hk}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var _fflush=Module["_fflush"]=asm["_fflush"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memset=Module["_memset"]=asm["_memset"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _free=Module["_free"]=asm["_free"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() -;(function() { - 'use strict' - - /** - The ARController is the main object for doing AR marker detection with JSARToolKit. - - To use an ARController, you need to tell it the dimensions to use for the AR processing canvas and - pass it an ARCameraParam to define the camera parameters to use when processing images. - The ARCameraParam defines the lens distortion and aspect ratio of the camera used. - See https://www.artoolworks.com/support/library/Calibrating_your_camera for more information about AR camera parameteters and how to make and use them. - - If you pass an image as the first argument, the ARController uses that as the image to process, - using the dimensions of the image as AR processing canvas width and height. If the first argument - to ARController is an image, the second argument is used as the camera param. - - The camera parameters argument can be either an ARCameraParam or an URL to a camera definition file. - If the camera argument is an URL, it is loaded into a new ARCameraParam, and the ARController dispatches - a 'load' event and calls the onload method if it is defined. - - @exports ARController - @constructor - - @param {number} width The width of the images to process. - @param {number} height The height of the images to process. - @param {ARCameraParam | string} camera The ARCameraParam to use for image processing. If this is a string, the ARController treats it as an URL and tries to load it as a ARCameraParam definition file, calling ARController#onload on success. - */ - var ARController = function(width, height, camera) { - var id; - var w = width, h = height; - - this.orientation = 'landscape'; - - this.listeners = {}; - - if (typeof width !== 'number') { - var image = width; - camera = height; - w = image.videoWidth || image.width; - h = image.videoHeight || image.height; - this.image = image; - } - - this.defaultMarkerWidth = 1; - this.patternMarkers = {}; - this.barcodeMarkers = {}; - this.transform_mat = new Float32Array(16); - - this.canvas = document.createElement('canvas'); - this.canvas.width = w; - this.canvas.height = h; - this.ctx = this.canvas.getContext('2d'); - - this.videoWidth = w; - this.videoHeight = h; - - if (typeof camera === 'string') { + // controls parameters + size: { + type: 'number', + default: 1 + }, + type: { + type: 'string', + }, + patternUrl: { + type: 'string', + }, + barcodeValue: { + type: 'number' + }, + changeMatrixMode: { + type: 'string', + default: 'modelViewMatrix', + }, + minConfidence: { + type: 'number', + default: 0.6, + }, + smooth: { + type: 'boolean', + default: false, + }, + smoothCount: { + type: 'number', + default: 5, + }, + smoothTolerance: { + type: 'number', + default: 0.01, + }, + smoothThreshold: { + type: 'number', + default: 2, + }, + }, + init: function () { + var _this = this - var self = this; - this.cameraParam = new ARCameraParam(camera, function() { - self._initialize(); - }, function(err) { - console.error("ARController: Failed to load ARCameraParam", err); - }); + // get arjsSystem + var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - } else { + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - this.cameraParam = camera; - this._initialize(); + _this.isReady = false + _this._arAnchor = null - } - }; + // honor object visibility + if (_this.data.changeMatrixMode === 'modelViewMatrix') { + _this.el.object3D.visible = false + } else if (_this.data.changeMatrixMode === 'cameraTransformMatrix') { + _this.el.sceneEl.object3D.visible = false + } else console.assert(false) - /** - Destroys the ARController instance and frees all associated resources. - After calling dispose, the ARController can't be used any longer. Make a new one if you need one. + // trick to wait until arjsSystem is isReady + var startedAt = Date.now() + var timerId = setInterval(function () { + // wait until the system is isReady + if (arjsSystem.isReady === false) return - Calling this avoids leaking Emscripten memory, which may be important if you're using multiple ARControllers. - */ - ARController.prototype.dispose = function() { - artoolkit.teardown(this.id); + clearInterval(timerId) - for (var t in this) { - this[t] = null; - } - }; - - /** - Detects markers in the given image. The process method dispatches marker detection events during its run. - - The marker detection process proceeds by first dispatching a markerNum event that tells you how many - markers were found in the image. Next, a getMarker event is dispatched for each found marker square. - Finally, getMultiMarker is dispatched for every found multimarker, followed by getMultiMarkerSub events - dispatched for each of the markers in the multimarker. - - arController.addEventListener('markerNum', function(ev) { - console.log("Detected " + ev.data + " markers.") - }); - arController.addEventListener('getMarker', function(ev) { - console.log("Detected marker with ids:", ev.data.marker.id, ev.data.marker.idPatt, ev.data.marker.idMatrix); - console.log("Marker data", ev.data.marker); - console.log("Marker transform matrix:", [].join.call(ev.data.matrix, ', ')); - }); - arController.addEventListener('getMultiMarker', function(ev) { - console.log("Detected multimarker with id:", ev.data.multiMarkerId); - }); - arController.addEventListener('getMultiMarkerSub', function(ev) { - console.log("Submarker for " + ev.data.multiMarkerId, ev.data.markerIndex, ev.data.marker); - }); - - arController.process(image); - - - If no image is given, defaults to this.image. - - If the debugSetup has been called, draws debug markers on the debug canvas. - - @param {ImageElement | VideoElement} image The image to process [optional]. - */ - ARController.prototype.process = function(image) { - this.detectMarker(image); - - var markerNum = this.getMarkerNum(); - var k,o; - for (k in this.patternMarkers) { - o = this.patternMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } - for (k in this.barcodeMarkers) { - o = this.barcodeMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } + ////////////////////////////////////////////////////////////////////////////// + // update arProfile + ////////////////////////////////////////////////////////////////////////////// + var arProfile = arjsSystem._arProfile - for (var i=0; i -1 && (markerInfo.id === markerInfo.idPatt || markerInfo.idMatrix === -1)) { - visible = this.trackPatternMarkerId(markerInfo.idPatt); - markerType = artoolkit.PATTERN_MARKER; + if (_this.data.preset === 'hiro') { + markerParameters.type = 'pattern' + markerParameters.patternUrl = _three_js_src_threex_arjs_context__WEBPACK_IMPORTED_MODULE_3__.default.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + markerParameters.markersAreaEnabled = false + } else if (_this.data.preset === 'kanji') { + markerParameters.type = 'pattern' + markerParameters.patternUrl = _three_js_src_threex_arjs_context__WEBPACK_IMPORTED_MODULE_3__.default.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' + markerParameters.markersAreaEnabled = false + } else if (_this.data.preset === 'area') { + markerParameters.type = 'barcode' + markerParameters.barcodeValue = 1001 + markerParameters.markersAreaEnabled = true + } else if (_this.data.type === 'barcode') { + markerParameters = { + type: _this.data.type, + changeMatrixMode: 'modelViewMatrix', + barcodeValue: _this.data.barcodeValue, + markersAreaEnabled: false + } + } else if (_this.data.type === 'pattern') { + markerParameters.type = _this.data.type + markerParameters.patternUrl = _this.data.patternUrl; + markerParameters.markersAreaEnabled = false + } + + markerParameters.minConfidence = _this.data.minConfidence; + markerParameters.smooth = _this.data.smooth; + markerParameters.smoothCount = _this.data.smoothCount; + markerParameters.smoothTolerance = _this.data.smoothTolerance; + markerParameters.smoothThreshold = _this.data.smoothThreshold; - if (markerInfo.dir !== markerInfo.dirPatt) { - this.setMarkerInfoDir(i, markerInfo.dirPatt); - } + ////////////////////////////////////////////////////////////////////////////// + // create arAnchor + ////////////////////////////////////////////////////////////////////////////// - } else if (markerInfo.idMatrix > -1) { - visible = this.trackBarcodeMarkerId(markerInfo.idMatrix); - markerType = artoolkit.BARCODE_MARKER; + var arSession = arjsSystem._arSession + var arAnchor = _this._arAnchor = new _three_js_src_new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_1__.default(arSession, markerParameters) - if (markerInfo.dir !== markerInfo.dirMatrix) { - this.setMarkerInfoDir(i, markerInfo.dirMatrix); - } - } + // it is now considered isReady + _this.isReady = true - if (markerType !== artoolkit.UNKNOWN_MARKER && visible.inPrevious) { - this.getTransMatSquareCont(i, visible.markerWidth, visible.matrix, visible.matrix); - } else { - this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - } -// this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - - visible.inCurrent = true; - this.transMatToGLMat(visible.matrix, this.transform_mat); - this.dispatchEvent({ - name: 'getMarker', - target: this, - data: { - index: i, - type: markerType, - marker: markerInfo, - matrix: this.transform_mat - } - }); - } + ////////////////////////////////////////////////////////////////////////////// + // honor .debugUIEnabled + ////////////////////////////////////////////////////////////////////////////// + if (arjsSystem.data.debugUIEnabled) { + // get or create containerElement + var containerElement = document.querySelector('#arjsDebugUIContainer') + if (containerElement === null) { + containerElement = document.createElement('div') + containerElement.id = 'arjsDebugUIContainer' + containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1; color: grey;') + document.body.appendChild(containerElement) + } + // create anchorDebugUI + var anchorDebugUI = new _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.AnchorDebugUI(arAnchor) + containerElement.appendChild(anchorDebugUI.domElement) + } + }, 1000 / 60) + }, + remove: function () { + }, + update: function () { + }, + tick: function () { + var _this = this + // if not yet isReady, do nothing + if (this.isReady === false) return - var multiMarkerCount = this.getMultiMarkerCount(); - for (var i=0; i= 0) { - visible = true; - this.dispatchEvent({ - name: 'getMultiMarker', - target: this, - data: { - multiMarkerId: i, - matrix: this.transform_mat - } - }); - break; - } - } - if (visible) { - for (var j=0; j -1) { - this.listeners[name].splice(index, 1); - } - } - }; - - /** - Dispatches the given event to all registered listeners on event.name. - - @param {Object} event Event to dispatch. - */ - ARController.prototype.dispatchEvent = function(event) { - var listeners = this.listeners[event.name]; - if (listeners) { - for (var i=0; i= 0) if marker is valid, or -1 if invalid. - @field idPatt If pattern detection mode includes a pattern mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field idMatrix If pattern detection mode includes a matrix mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field dir If pattern detection mode is either pattern mode OR matrix but not both, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirPatt If pattern detection mode includes a pattern mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirMatrix If pattern detection mode includes a matrix mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field cf If pattern detection mode is either pattern mode OR matrix but not both, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfPatt If pattern detection mode includes a pattern mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfMatrix If pattern detection mode includes a matrix mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field pos 2D position (in camera image coordinates, origin at top-left) of the centre of the marker. - @field line Line equations for the 4 sides of the marker. - @field vertex 2D positions (in camera image coordinates, origin at top-left) of the corners of the marker. vertex[(4 - dir)%4][] is the top-left corner of the marker. Other vertices proceed clockwise from this. These are idealised coordinates (i.e. the onscreen position aligns correctly with the undistorted camera image.) - - - @param {number} markerIndex The index of the marker to query. - @returns {Object} The markerInfo struct. - */ - ARController.prototype.getMarker = function(markerIndex) { - if (0 === artoolkit.getMarker(this.id, markerIndex)) { - return artoolkit.markerInfo; - } - }; + ////////////////////////////////////////////////////////////////////////////// + // honor pose + ////////////////////////////////////////////////////////////////////////////// + var arWorldRoot = this._arAnchor.object3d + arWorldRoot.updateMatrixWorld(true) + arWorldRoot.matrixWorld.decompose(this.el.object3D.position, this.el.object3D.quaternion, this.el.object3D.scale) - /** - Set marker vertices to the given vertexData[4][2] array. + ////////////////////////////////////////////////////////////////////////////// + // honor visibility + ////////////////////////////////////////////////////////////////////////////// + if (_this._arAnchor.parameters.changeMatrixMode === 'modelViewMatrix') { + var wasVisible = _this.el.object3D.visible + _this.el.object3D.visible = this._arAnchor.object3d.visible + } else if (_this._arAnchor.parameters.changeMatrixMode === 'cameraTransformMatrix') { + var wasVisible = _this.el.sceneEl.object3D.visible + _this.el.sceneEl.object3D.visible = this._arAnchor.object3d.visible + } else console.assert(false) - Sets the marker pos to the center of the vertices. + // emit markerFound markerLost + if (_this._arAnchor.object3d.visible === true && wasVisible === false) { + _this.el.emit('markerFound') + } else if (_this._arAnchor.object3d.visible === false && wasVisible === true) { + _this.el.emit('markerLost') + } + } +}) - Useful for building custom markers for getTransMatSquare. +////////////////////////////////////////////////////////////////////////////// +// define some primitives shortcuts +////////////////////////////////////////////////////////////////////////////// - A markerIndex of -1 is used to access the global custom marker. +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-anchor', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'arjs-anchor': {}, + 'arjs-hit-testing': {}, + }, + mappings: { + 'type': 'arjs-anchor.type', + 'size': 'arjs-anchor.size', + 'url': 'arjs-anchor.patternUrl', + 'value': 'arjs-anchor.barcodeValue', + 'preset': 'arjs-anchor.preset', + 'min-confidence': 'arjs-anchor.minConfidence', + 'marker-helpers': 'arjs-anchor.markerhelpers', + 'smooth': 'arjs-anchor.smooth', + 'smooth-count': 'arjs-anchor.smoothCount', + 'smooth-tolerance': 'arjs-anchor.smoothTolerance', + 'smooth-threshold': 'arjs-anchor.smoothThreshold', - @param {number} markerIndex The index of the marker to edit. - */ - ARController.prototype.setMarkerInfoVertex = function(markerIndex, vertexData) { - for (var i=0; i { - @param {number} multiMarkerId The multimarker to query. - @param {number} markerIndex The index of the marker to query. - @returns {Object} The markerInfo struct. - */ - ARController.prototype.getMultiEachMarker = function(multiMarkerId, markerIndex) { - if (0 === artoolkit.getMultiEachMarker(this.id, multiMarkerId, markerIndex)) { - return artoolkit.multiEachMarkerInfo; - } - }; - - - /** - Returns the 16-element WebGL transformation matrix used by ARController.process to - pass marker WebGL matrices to event listeners. - - Unique to each ARController. - - @return {Float64Array} The 16-element WebGL transformation matrix used by the ARController. - */ - ARController.prototype.getTransformationMatrix = function() { - return this.transform_mat; - }; - - /** - * Returns the projection matrix computed from camera parameters for the ARController. - * - * @return {Float64Array} The 16-element WebGL camera matrix for the ARController camera parameters. - */ - ARController.prototype.getCameraMatrix = function() { - return this.camera_mat; - }; - - /** - Returns the shared ARToolKit 3x4 marker transformation matrix, used for passing and receiving - marker transforms to/from the Emscripten side. - - @return {Float64Array} The 12-element 3x4 row-major marker transformation matrix used by ARToolKit. - */ - ARController.prototype.getMarkerTransformationMatrix = function() { - return this.marker_transform_mat; - }; - - - /* Setter / Getter Proxies */ - - /** - * Enables or disables debug mode in the tracker. When enabled, a black and white debug - * image is generated during marker detection. The debug image is useful for visualising - * the binarization process and choosing a threshold value. - * @param {number} debug true to enable debug mode, false to disable debug mode - * @see getDebugMode() - */ - ARController.prototype.setDebugMode = function(mode) { - return artoolkit.setDebugMode(this.id, mode); - }; - - /** - * Returns whether debug mode is currently enabled. - * @return true when debug mode is enabled, false when debug mode is disabled - * @see setDebugMode() - */ - ARController.prototype.getDebugMode = function() { - return artoolkit.getDebugMode(this.id); - }; - - /** - Returns the Emscripten HEAP offset to the debug processing image used by ARToolKit. - - @return {number} HEAP offset to the debug processing image. - */ - ARController.prototype.getProcessingImage = function() { - return artoolkit.getProcessingImage(this.id); - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-hittesting */ "./three.js/src/new-api/arjs-hittesting.js"); - /** - Sets the logging level to use by ARToolKit. - - @param - */ - ARController.prototype.setLogLevel = function(mode) { - return artoolkit.setLogLevel(mode); - }; - - ARController.prototype.getLogLevel = function() { - return artoolkit.getLogLevel(); - }; - - ARController.prototype.setMarkerInfoDir = function(markerIndex, dir) { - return artoolkit.setMarkerInfoDir(this.id, markerIndex, dir); - }; - - ARController.prototype.setProjectionNearPlane = function(value) { - return artoolkit.setProjectionNearPlane(this.id, value); - }; - - ARController.prototype.getProjectionNearPlane = function() { - return artoolkit.getProjectionNearPlane(this.id); - }; - - ARController.prototype.setProjectionFarPlane = function(value) { - return artoolkit.setProjectionFarPlane(this.id, value); - }; - - ARController.prototype.getProjectionFarPlane = function() { - return artoolkit.getProjectionFarPlane(this.id); - }; - - - /** - Set the labeling threshold mode (auto/manual). - - @param {number} mode An integer specifying the mode. One of: - AR_LABELING_THRESH_MODE_MANUAL, - AR_LABELING_THRESH_MODE_AUTO_MEDIAN, - AR_LABELING_THRESH_MODE_AUTO_OTSU, - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE, - AR_LABELING_THRESH_MODE_AUTO_BRACKETING - */ - ARController.prototype.setThresholdMode = function(mode) { - return artoolkit.setThresholdMode(this.id, mode); - }; - - /** - * Gets the current threshold mode used for image binarization. - * @return {number} The current threshold mode - * @see getVideoThresholdMode() - */ - ARController.prototype.getThresholdMode = function() { - return artoolkit.getThresholdMode(this.id); - }; - - /** - Set the labeling threshhold. - - This function forces sets the threshold value. - The default value is AR_DEFAULT_LABELING_THRESH which is 100. - - The current threshold mode is not affected by this call. - Typically, this function is used when labeling threshold mode - is AR_LABELING_THRESH_MODE_MANUAL. - - The threshold value is not relevant if threshold mode is - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. - - Background: The labeling threshold is the value which - the AR library uses to differentiate between black and white - portions of an ARToolKit marker. Since the actual brightness, - contrast, and gamma of incoming images can vary signficantly - between different cameras and lighting conditions, this - value typically needs to be adjusted dynamically to a - suitable midpoint between the observed values for black - and white portions of the markers in the image. - - @param {number} thresh An integer in the range [0,255] (inclusive). - */ - ARController.prototype.setThreshold = function(threshold) { - return artoolkit.setThreshold(this.id, threshold); - }; - - /** - Get the current labeling threshold. - - This function queries the current labeling threshold. For, - AR_LABELING_THRESH_MODE_AUTO_MEDIAN, AR_LABELING_THRESH_MODE_AUTO_OTSU, - and AR_LABELING_THRESH_MODE_AUTO_BRACKETING - the threshold value is only valid until the next auto-update. - - The current threshold mode is not affected by this call. - - The threshold value is not relevant if threshold mode is - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. - - @return {number} The current threshold value. - */ - ARController.prototype.getThreshold = function() { - return artoolkit.getThreshold(this.id); - }; - - - /** - Set the pattern detection mode - - The pattern detection determines the method by which ARToolKit - matches detected squares in the video image to marker templates - and/or IDs. ARToolKit v4.x can match against pictorial "template" markers, - whose pattern files are created with the mk_patt utility, in either colour - or mono, and additionally can match against 2D-barcode-type "matrix" - markers, which have an embedded marker ID. Two different two-pass modes - are also available, in which a matrix-detection pass is made first, - followed by a template-matching pass. - - @param {number} mode - Options for this field are: - AR_TEMPLATE_MATCHING_COLOR - AR_TEMPLATE_MATCHING_MONO - AR_MATRIX_CODE_DETECTION - AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX - AR_TEMPLATE_MATCHING_MONO_AND_MATRIX - The default mode is AR_TEMPLATE_MATCHING_COLOR. - */ - ARController.prototype.setPatternDetectionMode = function(value) { - return artoolkit.setPatternDetectionMode(this.id, value); - }; - - /** - Returns the current pattern detection mode. - - @return {number} The current pattern detection mode. - */ - ARController.prototype.getPatternDetectionMode = function() { - return artoolkit.getPatternDetectionMode(this.id); - }; - - /** - Set the size and ECC algorithm to be used for matrix code (2D barcode) marker detection. - - When matrix-code (2D barcode) marker detection is enabled (see arSetPatternDetectionMode) - then the size of the barcode pattern and the type of error checking and correction (ECC) - with which the markers were produced can be set via this function. - - This setting is global to a given ARHandle; It is not possible to have two different matrix - code types in use at once. - - @param type The type of matrix code (2D barcode) in use. Options include: - AR_MATRIX_CODE_3x3 - AR_MATRIX_CODE_3x3_HAMMING63 - AR_MATRIX_CODE_3x3_PARITY65 - AR_MATRIX_CODE_4x4 - AR_MATRIX_CODE_4x4_BCH_13_9_3 - AR_MATRIX_CODE_4x4_BCH_13_5_5 - The default mode is AR_MATRIX_CODE_3x3. - */ - ARController.prototype.setMatrixCodeType = function(value) { - return artoolkit.setMatrixCodeType(this.id, value); - }; - - /** - Returns the current matrix code (2D barcode) marker detection type. - - @return {number} The current matrix code type. - */ - ARController.prototype.getMatrixCodeType = function() { - return artoolkit.getMatrixCodeType(this.id); - }; - - /** - Select between detection of black markers and white markers. - - ARToolKit's labelling algorithm can work with both black-bordered - markers on a white background (AR_LABELING_BLACK_REGION) or - white-bordered markers on a black background (AR_LABELING_WHITE_REGION). - This function allows you to specify the type of markers to look for. - Note that this does not affect the pattern-detection algorith - which works on the interior of the marker. - - @param {number} mode - Options for this field are: - AR_LABELING_WHITE_REGION - AR_LABELING_BLACK_REGION - The default mode is AR_LABELING_BLACK_REGION. - */ - ARController.prototype.setLabelingMode = function(value) { - return artoolkit.setLabelingMode(this.id, value); - }; - - /** - Enquire whether detection is looking for black markers or white markers. - - See discussion for setLabelingMode. - - @result {number} The current labeling mode. - */ - ARController.prototype.getLabelingMode = function() { - return artoolkit.getLabelingMode(this.id); - }; - - /** - Set the width/height of the marker pattern space, as a proportion of marker width/height. - - @param {number} pattRatio The the width/height of the marker pattern space, as a proportion of marker - width/height. To set the default, pass AR_PATT_RATIO. - If compatibility with ARToolKit verions 1.0 through 4.4 is required, this value - must be 0.5. - */ - ARController.prototype.setPattRatio = function(value) { - return artoolkit.setPattRatio(this.id, value); - }; - - /** - Returns the current ratio of the marker pattern to the total marker size. - - @return {number} The current pattern ratio. - */ - ARController.prototype.getPattRatio = function() { - return artoolkit.getPattRatio(this.id); - }; - - /** - Set the image processing mode. - - When the image processing mode is AR_IMAGE_PROC_FRAME_IMAGE, - ARToolKit processes all pixels in each incoming image - to locate markers. When the mode is AR_IMAGE_PROC_FIELD_IMAGE, - ARToolKit processes pixels in only every second pixel row and - column. This is useful both for handling images from interlaced - video sources (where alternate lines are assembled from alternate - fields and thus have one field time-difference, resulting in a - "comb" effect) such as Digital Video cameras. - The effective reduction by 75% in the pixels processed also - has utility in accelerating tracking by effectively reducing - the image size to one quarter size, at the cost of pose accuraccy. - - @param {number} mode - Options for this field are: - AR_IMAGE_PROC_FRAME_IMAGE - AR_IMAGE_PROC_FIELD_IMAGE - The default mode is AR_IMAGE_PROC_FRAME_IMAGE. - */ - ARController.prototype.setImageProcMode = function(value) { - return artoolkit.setImageProcMode(this.id, value); - }; - - /** - Get the image processing mode. - - See arSetImageProcMode() for a complete description. - - @return {number} The current image processing mode. - */ - ARController.prototype.getImageProcMode = function() { - return artoolkit.getImageProcMode(this.id); - }; - - - /** - Draw the black and white image and debug markers to the ARController canvas. - - See setDebugMode. - */ - ARController.prototype.debugDraw = function() { - var debugBuffer = new Uint8ClampedArray(Module.HEAPU8.buffer, this._bwpointer, this.framesize); - var id = new ImageData(debugBuffer, this.canvas.width, this.canvas.height) - this.ctx.putImageData(id, 0, 0) - - var marker_num = this.getMarkerNum(); - for (var i=0; i image.height ) || - (image.nodeName === 'VIDEO' && image.videoWidth > image.videoHeight) ){ - // if landscape - this.ctx.drawImage(image, 0, 0, this.canvas.width, this.canvas.height); // draw video - }else{ - // if portrait - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - var scale = this.canvas.height / this.canvas.width; - var scaledHeight = this.canvas.width*scale; - var scaledWidth = this.canvas.height*scale; - var marginLeft = ( this.canvas.width - scaledWidth)/2; - this.ctx.drawImage(image, marginLeft, 0, scaledWidth, scaledHeight); // draw video - } +/***/ }), - var imageData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); - var data = imageData.data; +/***/ "./aframe/src/location-based/ArjsDeviceOrientationControls.js": +/*!********************************************************************!*\ + !*** ./aframe/src/location-based/ArjsDeviceOrientationControls.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (this.dataHeap) { - this.dataHeap.set( data ); - return true; - } - return false; - }; - - ARController.prototype._debugMarker = function(marker) { - var vertex, pos; - vertex = marker.vertex; - var ctx = this.ctx; - ctx.strokeStyle = 'red'; - - ctx.beginPath() - ctx.moveTo(vertex[0][0], vertex[0][1]) - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[2][0], vertex[2][1]) - ctx.lineTo(vertex[3][0], vertex[3][1]) - ctx.stroke() - - ctx.strokeStyle = 'green'; - ctx.beginPath() - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.lineTo(vertex[2][0], vertex[2][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[3][0], vertex[3][1]) - ctx.lineTo(vertex[0][0], vertex[0][1]) - ctx.stroke(); - - pos = marker.pos - ctx.beginPath() - ctx.arc(pos[0], pos[1], 8, 0, Math.PI * 2) - ctx.fillStyle = 'red' - ctx.fill() - }; - - - // static - - /** - ARController.getUserMedia gets a device camera video feed and calls the given onSuccess callback with it. - - Tries to start playing the video. Playing the video can fail on Chrome for Android, - so ARController.getUserMedia adds user input event listeners to the window - that try to start playing the video. On success, the event listeners are removed. - - To use ARController.getUserMedia, call it with an object with the onSuccess attribute set to a callback function. - - ARController.getUserMedia({ - onSuccess: function(video) { - console.log("Got video", video); - } - }); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - The configuration object supports the following attributes: +/** + * @author richt / http://richt.me + * @author WestLangley / http://github.com/WestLangley + * + * W3C Device Orientation control (http://w3c.github.io/deviceorientation/spec-source-orientation.html) + */ - { - onSuccess : function(video), - onError : function(error), +/* NOTE that this is a modified version of THREE.DeviceOrientationControls to + * allow exponential smoothing, for use in AR.js. + * + * Modifications Nick Whitelegg (nickw1 github) + */ - width : number | {min: number, ideal: number, max: number}, - height : number | {min: number, ideal: number, max: number}, - facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } - } - See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the - width, height and facingMode attributes. +const ArjsDeviceOrientationControls = function ( object ) { - @param {object} configuration The configuration object. - @return {VideoElement} Returns the created video element. - */ - ARController.getUserMedia = function(configuration) { - var facing = configuration.facingMode || 'environment'; + var scope = this; - var onSuccess = configuration.onSuccess; - var onError = configuration.onError || function(err) { console.error("ARController.getUserMedia", err); }; + this.object = object; + this.object.rotation.reorder( 'YXZ' ); - var video = document.createElement('video'); + this.enabled = true; - var initProgress = function() { - if (this.videoWidth !== 0) { - onSuccess(video); - } - }; - - var readyToPlay = false; - var eventNames = [ - 'touchstart', 'touchend', 'touchmove', 'touchcancel', - 'click', 'mousedown', 'mouseup', 'mousemove', - 'keydown', 'keyup', 'keypress', 'scroll' - ]; - var play = function(ev) { - if (readyToPlay) { - video.play(); - if (!video.paused) { - eventNames.forEach(function(eventName) { - window.removeEventListener(eventName, play, true); - }); - } - } - }; - eventNames.forEach(function(eventName) { - window.addEventListener(eventName, play, true); - }); - - var success = function(stream) { - video.addEventListener('loadedmetadata', initProgress, false); - video.src = window.URL.createObjectURL(stream); - readyToPlay = true; - play(); // Try playing without user input, should work on non-Android Chrome - }; - - var constraints = {}; - var mediaDevicesConstraints = {}; - if (configuration.width) { - mediaDevicesConstraints.width = configuration.width; - if (typeof configuration.width === 'object') { - if (configuration.width.max) { - constraints.maxWidth = configuration.width.max; - } - if (configuration.width.min) { - constraints.minWidth = configuration.width.max; - } - } else { - constraints.maxWidth = configuration.width; - } - } + this.deviceOrientation = {}; + this.screenOrientation = 0; - if (configuration.height) { - mediaDevicesConstraints.height = configuration.height; - if (typeof configuration.height === 'object') { - if (configuration.height.max) { - constraints.maxHeight = configuration.height.max; - } - if (configuration.height.min) { - constraints.minHeight = configuration.height.max; - } - } else { - constraints.maxHeight = configuration.height; - } - } + this.alphaOffset = 0; // radians - mediaDevicesConstraints.facingMode = facing; - - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; - var hdConstraints = { - audio: false, - video: { - mandatory: constraints - } - }; - - if ( false ) { - // if ( navigator.mediaDevices || window.MediaStreamTrack) { - if (navigator.mediaDevices) { - navigator.mediaDevices.getUserMedia({ - audio: false, - video: mediaDevicesConstraints - }).then(success, onError); - } else { - MediaStreamTrack.getSources(function(sources) { - var facingDir = mediaDevicesConstraints.facingMode; - if (facing && facing.exact) { - facingDir = facing.exact; - } - for (var i=0; i a && Math.abs(b - a) < range / 2) || (a > b && Math.abs(b - a) > range / 2)) { + return { left: a, right: b } + } else { + return { left: b, right: a } + } + }; - 'setThresholdMode', - 'getThresholdMode', + // NW Added + this._getSmoothedAngle = function(a, b, k, range = this.TWO_PI) { + const angles = this._orderAngle(a, b, range); + const angleshift = angles.left; + const origAnglesRight = angles.right; + angles.left = 0; + angles.right -= angleshift; + if(angles.right < 0) angles.right += range; + let newangle = origAnglesRight == b ? (1 - k)*angles.right + k * angles.left : k * angles.right + (1 - k) * angles.left; + newangle += angleshift; + if(newangle >= range) newangle -= range; + return newangle; + }; - 'setThreshold', - 'getThreshold', + this.dispose = function () { + scope.disconnect(); + }; - 'setPatternDetectionMode', - 'getPatternDetectionMode', + this.connect(); - 'setMatrixCodeType', - 'getMatrixCodeType', +}; - 'setLabelingMode', - 'getLabelingMode', +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArjsDeviceOrientationControls); - 'setPattRatio', - 'getPattRatio', - 'setImageProcMode', - 'getImageProcMode', - ]; +/***/ }), - function runWhenLoaded() { - FUNCTIONS.forEach(function(n) { - artoolkit[n] = Module[n]; - }) +/***/ "./aframe/src/location-based/arjs-look-controls.js": +/*!*********************************************************!*\ + !*** ./aframe/src/location-based/arjs-look-controls.js ***! + \*********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - for (var m in Module) { - if (m.match(/^AR/)) - artoolkit[m] = Module[m]; - } - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); +// To avoid recalculation at every mouse movement tick +var PI_2 = Math.PI / 2; - var marker_count = 0; - function addMarker(arId, url, callback) { - var filename = '/marker_' + marker_count++; - ajax(url, filename, function() { - var id = Module._addMarker(arId, filename); - if (callback) callback(id); - }); - } - function bytesToString(array) { - return String.fromCharCode.apply(String, array); - } +/** + * look-controls. Update entity pose, factoring mouse, touch, and WebVR API data. + */ - function parseMultiFile(bytes) { - var str = bytesToString(bytes); +/* NOTE that this is a modified version of A-Frame's look-controls to + * allow exponential smoothing, for use in AR.js. + * + * Modifications Nick Whitelegg (nickw1 github) + */ - var lines = str.split('\n'); - var files = []; - var state = 0; // 0 - read, - var markers = 0; - lines.forEach(function(line) { - line = line.trim(); - if (!line || line.startsWith('#')) return; +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-look-controls', { + dependencies: ['position', 'rotation'], - switch (state) { - case 0: - markers = +line; - state = 1; - return; - case 1: // filename or barcode - if (!line.match(/^\d+$/)) { - files.push(line); - } - case 2: // width - case 3: // matrices - case 4: - state++; - return; - case 5: - state = 1; - return; - } - }); + schema: { + enabled: {default: true}, + magicWindowTrackingEnabled: {default: true}, + pointerLockEnabled: {default: false}, + reverseMouseDrag: {default: false}, + reverseTouchDrag: {default: false}, + touchEnabled: {default: true}, + smoothingFactor: { type: 'number', default: 1 } + }, - return files; - } - - var multi_marker_count = 0; - - function addMultiMarker(arId, url, callback) { - var filename = '/multi_marker_' + multi_marker_count++; - ajax(url, filename, function(bytes) { - var files = parseMultiFile(bytes); - - function ok() { - var markerID = Module._addMultiMarker(arId, filename); - var markerNum = Module.getMultiMarkerNum(arId, markerID); - if (callback) callback(markerID, markerNum); - } - - if (!files.length) return ok(); - - var path = url.split('/').slice(0, -1).join('/') - files = files.map(function(file) { - // FIXME super kludge - remove it - // console.assert(file !== '') - if( file === 'patt.hiro' || file === 'patt.kanji' || file === 'patt2.hiro' || file === 'patt2.kanji' ){ - // debugger - return ['http://127.0.0.1:8080/data/data/' + file, file] - } - return [path + '/' + file, file] - }) - ajaxDependencies(files, ok); - }); - } - - var camera_count = 0; - function loadCamera(url, callback) { - var filename = '/camera_param_' + camera_count++; - var writeCallback = function() { - var id = Module._loadCamera(filename); - if (callback) callback(id); - }; - if (typeof url === 'object') { // Maybe it's a byte array - writeByteArrayToFS(filename, url, writeCallback); - } else if (url.indexOf("\n") > -1) { // Or a string with the camera param - writeStringToFS(filename, url, writeCallback); - } else { - ajax(url, filename, writeCallback); - } - } - - - // transfer image - - function writeStringToFS(target, string, callback) { - var byteArray = new Uint8Array(string.length); - for (var i=0; i= this.parameters.smoothTolerance) { - exceedsAverageTolerance++; - } - } + if (!sceneEl.canvas) { + if (enabled) { + sceneEl.addEventListener('render-target-loaded', enableGrabCursor); + } else { + sceneEl.addEventListener('render-target-loaded', disableGrabCursor); + } + return; + } - // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) - if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { - // then update matrix values to average, otherwise, don't render to minimize jitter - for (i in modelViewMatrix.elements) { - modelViewMatrix.elements[i] = averages[i]; - } - markerObject3D.matrix.copy(modelViewMatrix); - renderReqd = true; // render required in animation loop - } - } - } else { - markerObject3D.matrix.copy(modelViewMatrix) - } - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - markerObject3D.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } + if (enabled) { + enableGrabCursor(); + return; + } + disableGrabCursor(); + }, - // decompose - the matrix into .position, .quaternion, .scale - markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + /** + * Save camera pose before entering VR to restore later if exiting. + */ + saveCameraPose: function () { + var el = this.el; - // dispatchEvent - this.dispatchEvent( { type: 'markerFound' } ); + this.savedPose.position.copy(el.object3D.position); + this.savedPose.rotation.copy(el.object3D.rotation); + this.hasSavedPose = true; + }, - return renderReqd; -} + /** + * Reset camera pose to before entering VR. + */ + restoreCameraPose: function () { + var el = this.el; + var savedPose = this.savedPose; -////////////////////////////////////////////////////////////////////////////// -// utility functions -////////////////////////////////////////////////////////////////////////////// + if (!this.hasSavedPose) { return; } -/** - * provide a name for a marker - * - silly heuristic for now - * - should be improved - */ -ARjs.MarkerControls.prototype.name = function(){ - var name = '' - name += this.parameters.type; - if( this.parameters.type === 'pattern' ){ - var url = this.parameters.patternUrl - var basename = url.replace(/^.*\//g, '') - name += ' - ' + basename - }else if( this.parameters.type === 'barcode' ){ - name += ' - ' + this.parameters.barcodeValue - }else{ - console.assert(false, 'no .name() implemented for this marker controls') - } - return name -} + // Reset camera orientation. + el.object3D.position.copy(savedPose.position); + el.object3D.rotation.copy(savedPose.rotation); + this.hasSavedPose = false; + } +}); -////////////////////////////////////////////////////////////////////////////// -// init for Artoolkit -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function(){ - var _this = this - var artoolkitMarkerId = null +/***/ }), - var delayedInitTimerId = setInterval(function(){ - // check if arController is init - var arController = _this.context.arController - if( arController === null ) return - // stop looping if it is init - clearInterval(delayedInitTimerId) - delayedInitTimerId = null - // launch the _postInitArtoolkit - postInit() - }, 1000/50) +/***/ "./aframe/src/location-based/arjs-webcam-texture.js": +/*!**********************************************************!*\ + !*** ./aframe/src/location-based/arjs-webcam-texture.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); - function postInit(){ - // check if arController is init - var arController = _this.context.arController - console.assert(arController !== null ) - // start tracking this pattern - if( _this.parameters.type === 'pattern' ){ - arController.loadMarker(_this.parameters.patternUrl, function(markerId) { - artoolkitMarkerId = markerId - arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); - }); - }else if( _this.parameters.type === 'barcode' ){ - artoolkitMarkerId = _this.parameters.barcodeValue - arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); - }else if( _this.parameters.type === 'unknown' ){ - artoolkitMarkerId = null - }else{ - console.log(false, 'invalid marker type', _this.parameters.type) - } - // listen to the event - arController.addEventListener('getMarker', function(event){ - if( event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ - if( artoolkitMarkerId === null ) return - if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ - // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) - if( artoolkitMarkerId === null ) return - if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ - onMarkerFound(event) - } - }) +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-webcam-texture', { - } + init: function() { + this.scene = this.el.sceneEl; + this.texCamera = new three__WEBPACK_IMPORTED_MODULE_1__.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); + this.texScene = new three__WEBPACK_IMPORTED_MODULE_1__.Scene(); - function onMarkerFound(event){ - // honor his.parameters.minConfidence - if( event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return - if( event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + this.scene.renderer.autoClear = false; + this.video = document.createElement("video"); + this.video.setAttribute("autoplay", true); + this.video.setAttribute("playsinline", true); + this.video.setAttribute("display", "none"); + document.body.appendChild(this.video); + this.geom = new three__WEBPACK_IMPORTED_MODULE_1__.PlaneBufferGeometry(); //0.5, 0.5); + this.texture = new three__WEBPACK_IMPORTED_MODULE_1__.VideoTexture(this.video); + this.material = new three__WEBPACK_IMPORTED_MODULE_1__.MeshBasicMaterial( { map: this.texture } ); + const mesh = new three__WEBPACK_IMPORTED_MODULE_1__.Mesh(this.geom, this.material); + this.texScene.add(mesh); + }, - var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) - _this.updateWithModelViewMatrix(modelViewMatrix) - } -} -var THREEx = THREEx || {} + play: function() { + if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { + const constraints = { video: { + facingMode: 'environment' } + }; + navigator.mediaDevices.getUserMedia(constraints).then( stream=> { + this.video.srcObject = stream; + this.video.play(); + }) + .catch(e => { + this.el.sceneEl.systems['arjs']._displayErrorPopup(`Webcam error: ${e}`); + }); + } else { + this.el.sceneEl.systems['arjs']._displayErrorPopup('sorry - media devices API not supported'); + } + }, -THREEx.ArMarkerHelper = function(markerControls){ - this.object3d = new THREE.Group + tick: function() { + this.scene.renderer.clear(); + this.scene.renderer.render(this.texScene, this.texCamera); + this.scene.renderer.clearDepth(); + }, - var mesh = new THREE.AxesHelper() - this.object3d.add(mesh) + pause: function() { + this.video.srcObject.getTracks().forEach ( track => { + track.stop(); + }); + }, - var text = markerControls.id - // debugger - // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + remove: function() { + this.material.dispose(); + this.texture.dispose(); + this.geom.dispose(); + } +}); - var canvas = document.createElement( 'canvas' ); - canvas.width = 64; - canvas.height = 64; - var context = canvas.getContext( '2d' ); - var texture = new THREE.CanvasTexture( canvas ); +/***/ }), - // put the text in the sprite - context.font = '48px monospace'; - context.fillStyle = 'rgba(192,192,255, 0.5)'; - context.fillRect( 0, 0, canvas.width, canvas.height ); - context.fillStyle = 'darkblue'; - context.fillText(text, canvas.width/4, 3*canvas.height/4 ) - texture.needsUpdate = true +/***/ "./aframe/src/location-based/gps-camera.js": +/*!*************************************************!*\ + !*** ./aframe/src/location-based/gps-camera.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // var geometry = new THREE.CubeGeometry(1, 1, 1) - var geometry = new THREE.PlaneGeometry(1, 1) - var material = new THREE.MeshBasicMaterial({ - map: texture, - transparent: true - }); - var mesh = new THREE.Mesh(geometry, material) - mesh.rotation.x = -Math.PI/2 +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_1__); +/* + * UPDATES 28/08/20: + * + * - add gpsMinDistance and gpsTimeInterval properties to control how + * frequently GPS updates are processed. Aim is to prevent 'stuttering' + * effects when close to AR content due to continuous small changes in + * location. + */ - this.object3d.add(mesh) -} -var THREEx = THREEx || {} -/** - * - lerp position/quaternino/scale - * - minDelayDetected - * - minDelayUndetected - * @param {[type]} object3d [description] - * @param {[type]} parameters [description] - */ -THREEx.ArSmoothedControls = function(object3d, parameters){ - var _this = this - - THREEx.ArBaseControls.call(this, object3d) - - // copy parameters - this.object3d.visible = false - - this._lastLerpStepAt = null - this._visibleStartedAt = null - this._unvisibleStartedAt = null - // handle default parameters - parameters = parameters || {} - this.parameters = { - // lerp coeficient for the position - between [0,1] - default to 1 - lerpPosition: 0.8, - // lerp coeficient for the quaternion - between [0,1] - default to 1 - lerpQuaternion: 0.2, - // lerp coeficient for the scale - between [0,1] - default to 1 - lerpScale: 0.7, - // delay for lerp fixed steps - in seconds - default to 1/120 - lerpStepDelay: 1/60, - // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds - minVisibleDelay: 0.0, - // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds - minUnvisibleDelay: 0.2, - } - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-camera', { + _watchPositionId: null, + originCoords: null, + currentCoords: null, + lookControls: null, + heading: null, + schema: { + simulateLatitude: { + type: 'number', + default: 0, + }, + simulateLongitude: { + type: 'number', + default: 0, + }, + simulateAltitude: { + type: 'number', + default: 0, + }, + positionMinAccuracy: { + type: 'int', + default: 100, + }, + alert: { + type: 'boolean', + default: false, + }, + minDistance: { + type: 'int', + default: 0, + }, + maxDistance: { + type: 'int', + default: 0, + }, + gpsMinDistance: { + type: 'number', + default: 5, + }, + gpsTimeInterval: { + type: 'number', + default: 0, + }, + }, + update: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.longitude = this.data.simulateLongitude; + localPosition.latitude = this.data.simulateLatitude; + localPosition.altitude = this.data.simulateAltitude; + this.currentCoords = localPosition; - if( newValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' parameter is undefined." ) - continue - } + // re-trigger initialization for new origin + this.originCoords = null; + this._updatePosition(); + } + }, + init: function () { + if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { + return; + } - var currentValue = _this.parameters[ key ] + this.lastPosition = { + latitude: 0, + longitude: 0 + }; - if( currentValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' is not a property of this material." ) - continue - } + this.loader = document.createElement('DIV'); + this.loader.classList.add('arjs-loader'); + document.body.appendChild(this.loader); - _this.parameters[ key ] = newValue - } - } -} - -THREEx.ArSmoothedControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -THREEx.ArSmoothedControls.prototype.constructor = THREEx.ArSmoothedControls; + this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); + window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// + this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; -THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ - var object3d = this.object3d - var parameters = this.parameters - var wasVisible = object3d.visible - var present = performance.now()/1000 + // listen to deviceorientation event + var eventName = this._getDeviceOrientationEventName(); + this._onDeviceOrientation = this._onDeviceOrientation.bind(this); + // if Safari + if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { + // iOS 13+ + if (typeof DeviceOrientationEvent.requestPermission === 'function') { + var handler = function () { + console.log('Requesting device orientation permissions...') + DeviceOrientationEvent.requestPermission(); + document.removeEventListener('touchend', handler); + }; - ////////////////////////////////////////////////////////////////////////////// - // handle object3d.visible with minVisibleDelay/minUnvisibleDelay - ////////////////////////////////////////////////////////////////////////////// - if( targetObject3d.visible === false ) this._visibleStartedAt = null - if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + document.addEventListener('touchend', function () { handler() }, false); - if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present - if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); + } else { + var timeout = setTimeout(function () { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + }, 750); + window.addEventListener(eventName, function () { + clearTimeout(timeout); + }); + } + } - if( wasVisible === false && targetObject3d.visible === true ){ - var visibleFor = present - this._visibleStartedAt - if( visibleFor >= this.parameters.minVisibleDelay ){ - object3d.visible = true - snapDirectlyToTarget() - } - // console.log('visibleFor', visibleFor) - } + window.addEventListener(eventName, this._onDeviceOrientation, false); - if( wasVisible === true && targetObject3d.visible === false ){ - var unvisibleFor = present - this._unvisibleStartedAt - if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ - object3d.visible = false - } - } - - ////////////////////////////////////////////////////////////////////////////// - // apply lerp on positon/quaternion/scale - ////////////////////////////////////////////////////////////////////////////// + }, - // apply lerp steps - require fix time steps to behave the same no matter the fps - if( this._lastLerpStepAt === null ){ - applyOneSlerpStep() - this._lastLerpStepAt = present - }else{ - var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) - for(var i = 0; i < nStepsToDo; i++){ - applyOneSlerpStep() - this._lastLerpStepAt += this.parameters.lerpStepDelay - } - } + play: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.latitude = this.data.simulateLatitude; + localPosition.longitude = this.data.simulateLongitude; + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + this.currentCoords = localPosition; + this._updatePosition(); + } else { + this._watchPositionId = this._initWatchGPS(function (position) { + var localPosition = { + latitude: position.coords.latitude, + longitude: position.coords.longitude, + altitude: position.coords.altitude, + accuracy: position.coords.accuracy, + altitudeAccuracy: position.coords.altitudeAccuracy, + }; + + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + + this.currentCoords = localPosition; + var distMoved = this._haversineDist( + this.lastPosition, + this.currentCoords + ); - // disable the lerp by directly copying targetObject3d position/quaternion/scale - if( false ){ - snapDirectlyToTarget() - } + if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { + this._updatePosition(); + this.lastPosition = { + longitude: this.currentCoords.longitude, + latitude: this.currentCoords.latitude + }; + } + }.bind(this)); + } + }, - // update the matrix - this.object3d.updateMatrix() + tick: function () { + if (this.heading === null) { + return; + } + this._updateRotation(); + }, - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible/becameUnVisible event - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible event - if( wasVisible === false && object3d.visible === true ){ - this.dispatchEvent({ type: 'becameVisible' }) - } - // honor becameUnVisible event - if( wasVisible === true && object3d.visible === false ){ - this.dispatchEvent({ type: 'becameUnVisible' }) - } - return + pause: function() { + if (this._watchPositionId) { + navigator.geolocation.clearWatch(this._watchPositionId); + } + this._watchPositionId = null; + }, - function snapDirectlyToTarget(){ - object3d.position.copy( targetObject3d.position ) - object3d.quaternion.copy( targetObject3d.quaternion ) - object3d.scale.copy( targetObject3d.scale ) - } - - function applyOneSlerpStep(){ - object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) - object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) - object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + remove: function () { -ARjs.Context = THREEx.ArToolkitContext = function (parameters) { - var _this = this + var eventName = this._getDeviceOrientationEventName(); + window.removeEventListener(eventName, this._onDeviceOrientation, false); - _this._updatedAt = null + window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + }, - // handle default parameters - this.parameters = { - // AR backend - ['artoolkit'] - trackingBackend: 'artoolkit', - // debug - true if one should display artoolkit debug canvas, false otherwise - debug: false, - // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] - detectionMode: 'mono', - // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] - matrixCodeType: '3x3', + /** + * Get device orientation event name, depends on browser implementation. + * @returns {string} event name + */ + _getDeviceOrientationEventName: function () { + if ('ondeviceorientationabsolute' in window) { + var eventName = 'deviceorientationabsolute' + } else if ('ondeviceorientation' in window) { + var eventName = 'deviceorientation' + } else { + var eventName = '' + console.error('Compass not supported') + } - // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', + return eventName + }, - // tune the maximum rate of pose detection in the source image - maxDetectionRate: 60, - // resolution of at which we detect pose in the source image - canvasWidth: 640, - canvasHeight: 480, + /** + * Get current user position. + * + * @param {function} onSuccess + * @param {function} onError + * @returns {Promise} + */ + _initWatchGPS: function (onSuccess, onError) { + if (!onError) { + onError = function (err) { + console.warn('ERROR(' + err.code + '): ' + err.message) - // the patternRatio inside the artoolkit marker - artoolkit only - patternRatio: 0.5, + if (err.code === 1) { + // User denied GeoLocation, let their know that + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + return; + } - // enable image smoothing or not for canvas copy - default to true - // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled - imageSmoothingEnabled: false, - } - // parameters sanity check - console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) - console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + if (err.code === 3) { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); + return; + } + }; + } - this.arController = null; + if ('geolocation' in navigator === false) { + onError({ code: 0, message: 'Geolocation is not supported by your browser' }); + return Promise.resolve(); + } - _this.initialized = false + // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition + return navigator.geolocation.watchPosition(onSuccess, onError, { + enableHighAccuracy: true, + maximumAge: this.data.gpsTimeInterval, + timeout: 27000, + }); + }, + /** + * Update user position. + * + * @returns {void} + */ + _updatePosition: function () { + // don't update if accuracy is not good enough + if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { + if (this.data.alert && !document.getElementById('alert-popup')) { + var popup = document.createElement('div'); + popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' + popup.setAttribute('id', 'alert-popup'); + document.body.appendChild(popup); + } + return; + } - this._arMarkersControls = [] + var alertPopup = document.getElementById('alert-popup'); + if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { + document.body.removeChild(alertPopup); + } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] + if (!this.originCoords) { + // first camera initialization + this.originCoords = this.currentCoords; + this._setPosition(); - if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") - continue + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); } + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } else { + this._setPosition(); + } + }, + _setPosition: function () { + var position = this.el.getAttribute('position'); - var currentValue = _this.parameters[key] + // compute position.x + var dstCoords = { + longitude: this.currentCoords.longitude, + latitude: this.originCoords.latitude, + }; - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") - continue - } + position.x = this.computeDistanceMeters(this.originCoords, dstCoords); + position.x *= this.currentCoords.longitude > this.originCoords.longitude ? 1 : -1; - _this.parameters[key] = newValue + // compute position.z + var dstCoords = { + longitude: this.originCoords.longitude, + latitude: this.currentCoords.latitude, } - } -} -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); + position.z = this.computeDistanceMeters(this.originCoords, dstCoords); + position.z *= this.currentCoords.latitude > this.originCoords.latitude ? -1 : 1; -// default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; + // update position + this.el.setAttribute('position', position); -/** - * Create a default camera for this trackingBackend - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera - */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { - console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false); - return camera -} + window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); + }, + /** + * Returns distance in meters between source and destination inputs. + * + * Calculate distance, bearing and more between Latitude/Longitude points + * Details: https://www.movable-type.co.uk/scripts/latlong.html + * + * @param {Position} src + * @param {Position} dest + * @param {Boolean} isPlace + * + * @returns {number} distance | Number.MAX_SAFE_INTEGER + */ + computeDistanceMeters: function (src, dest, isPlace) { + var distance = this._haversineDist (src, dest); + // if function has been called for a place, and if it's too near and a min distance has been set, + // return max distance possible - to be handled by the caller + if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { + return Number.MAX_SAFE_INTEGER; + } -////////////////////////////////////////////////////////////////////////////// -// init functions -////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { - var _this = this - if (this.parameters.trackingBackend === 'artoolkit') { - this._initArtoolkit(done); - } else console.assert(false); - return + // if function has been called for a place, and if it's too far and a max distance has been set, + // return max distance possible - to be handled by the caller + if (isPlace && this.data.maxDistance && this.data.maxDistance > 0 && distance > this.data.maxDistance) { + return Number.MAX_SAFE_INTEGER; + } - function done() { - // dispatch event - _this.dispatchEvent({ - type: 'initialized' - }); + return distance; + }, - _this.initialized = true + _haversineDist: function (src, dest) { + var dlongitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.longitude - src.longitude); + var dlatitude = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude - src.latitude); - onCompleted && onCompleted() - } + var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(src.latitude)) * Math.cos(three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); + var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + return angle * 6371000; + }, -} -//////////////////////////////////////////////////////////////////////////////// -// update function -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { + /** + * Compute compass heading. + * + * @param {number} alpha + * @param {number} beta + * @param {number} gamma + * + * @returns {number} compass heading + */ + _computeCompassHeading: function (alpha, beta, gamma) { - // be sure arController is fully initialized - if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; + // Convert degrees to radians + var alphaRad = alpha * (Math.PI / 180); + var betaRad = beta * (Math.PI / 180); + var gammaRad = gamma * (Math.PI / 180); - // honor this.parameters.maxDetectionRate - var present = performance.now() - if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { - return false - } - this._updatedAt = present + // Calculate equation components + var cA = Math.cos(alphaRad); + var sA = Math.sin(alphaRad); + var sB = Math.sin(betaRad); + var cG = Math.cos(gammaRad); + var sG = Math.sin(gammaRad); - var prevVisibleMarkers = [] + // Calculate A, B, C rotation components + var rA = - cA * sG - sA * sB * cG; + var rB = - sA * sG + cA * sB * cG; - // mark all markers to invisible before processing this frame & store prev state - this._arMarkersControls.forEach(function (markerControls) { - if (markerControls.object3d.visible) { - prevVisibleMarkers.push(markerControls) - } - markerControls.object3d.visible = false - }) + // Calculate compass heading + var compassHeading = Math.atan(rA / rB); - // process this frame - if (this.parameters.trackingBackend === 'artoolkit') { - this._updateArtoolkit(srcElement); - } else { - console.assert(false); - } + // Convert from half unit circle to whole unit circle + if (rB < 0) { + compassHeading += Math.PI; + } else if (rA < 0) { + compassHeading += 2 * Math.PI; + } - // dispatch event - this.dispatchEvent({ - type: 'sourceProcessed' - }); + // Convert radians to degrees + compassHeading *= 180 / Math.PI; - // After frame is processed, check visibility of each marker to determine if it was found or lost - this._arMarkersControls.forEach(function (markerControls) { - var wasVisible = prevVisibleMarkers.includes(markerControls); - var isVisible = markerControls.object3d.visible; + return compassHeading; + }, - if (isVisible === true && wasVisible === false) { - window.dispatchEvent(new CustomEvent('markerFound', { - detail: markerControls, - })) - } else if (isVisible === false && wasVisible === true) { - window.dispatchEvent(new CustomEvent('markerLost', { - detail: markerControls, - })) + /** + * Handler for device orientation event. + * + * @param {Event} event + * @returns {void} + */ + _onDeviceOrientation: function (event) { + if (event.webkitCompassHeading !== undefined) { + if (event.webkitCompassAccuracy < 50) { + this.heading = event.webkitCompassHeading; + } else { + console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); + } + } else if (event.alpha !== null) { + if (event.absolute === true || event.absolute === undefined) { + this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); + } else { + console.warn('event.absolute === false'); + } + } else { + console.warn('event.alpha === null'); } -}) - + }, - // return true as we processed the frame - return true; -} + /** + * Update user rotation data. + * + * @returns {void} + */ + _updateRotation: function () { + var heading = 360 - this.heading; + var cameraRotation = this.el.getAttribute('rotation').y; + var yawRotation = three__WEBPACK_IMPORTED_MODULE_1__.Math.radToDeg(this.lookControls.yawObject.rotation.y); + var offset = (heading - (cameraRotation - yawRotation)) % 360; + this.lookControls.yawObject.rotation.y = three__WEBPACK_IMPORTED_MODULE_1__.Math.degToRad(offset); + }, + + _onGpsEntityPlaceAdded: function() { + // if places are added after camera initialization is finished + if (this.originCoords) { + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } + if (this.loader && this.loader.parentElement) { + document.body.removeChild(this.loader) + } + } +}); -//////////////////////////////////////////////////////////////////////////////// -// Add/Remove markerControls -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - this._arMarkersControls.push(arMarkerControls) -} +/***/ }), -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); - console.assert(index !== index) - this._arMarkersControls.splice(index, 1) -} +/***/ "./aframe/src/location-based/gps-entity-place.js": +/*!*******************************************************!*\ + !*** ./aframe/src/location-based/gps-entity-place.js ***! + \*******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -////////////////////////////////////////////////////////////////////////////// -// artoolkit specific -////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { - var _this = this +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); - // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one - this._artoolkitProjectionAxisTransformMatrix = new THREE.Matrix4() - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationY(Math.PI)) - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationZ(Math.PI)) - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, function () { - // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); - _this.arController = arController - - // honor this.parameters.imageSmoothingEnabled - arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - - // honor this.parameters.debug - if (_this.parameters.debug === true) { - arController.debugSetup(); - arController.canvas.style.position = 'absolute' - arController.canvas.style.top = '0px' - arController.canvas.style.opacity = '0.6' - arController.canvas.style.pointerEvents = 'none' - arController.canvas.style.zIndex = '-1' +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-entity-place', { + _cameraGps: null, + schema: { + longitude: { + type: 'number', + default: 0, + }, + latitude: { + type: 'number', + default: 0, } + }, + remove: function() { + // cleaning listeners when the entity is removed from the DOM + window.removeEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.removeEventListener('gps-camera-update-position', this.updatePositionListener); + }, + init: function() { + this.coordSetListener = () => { + if (!this._cameraGps) { + var camera = document.querySelector('[gps-camera]'); + if (!camera.components['gps-camera']) { + console.error('gps-camera not initialized') + return; + } + this._cameraGps = camera.components['gps-camera']; + } + this._updatePosition(); + }; - // setPatternDetectionMode - var detectionModes = { - 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, - 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, - 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, - 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, - } - var detectionMode = detectionModes[_this.parameters.detectionMode] - console.assert(detectionMode !== undefined) - arController.setPatternDetectionMode(detectionMode); - - // setMatrixCodeType - var matrixCodeTypes = { - '3x3': artoolkit.AR_MATRIX_CODE_3x3, - '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, - '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, - '4x4': artoolkit.AR_MATRIX_CODE_4x4, - '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, - '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, - } - var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] - console.assert(matrixCodeType !== undefined) - arController.setMatrixCodeType(matrixCodeType); - - // set the patternRatio for artoolkit - arController.setPattRatio(_this.parameters.patternRatio); - - // set thresholding in artoolkit - // this seems to be the default - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) - // adatative consume a LOT of cpu... - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) - - // notify - onCompleted() - }) - return this -} + this.updatePositionListener = (ev) => { + if (!this.data || !this._cameraGps) { + return; + } -/** - * return the projection matrix - */ -ARjs.Context.prototype.getProjectionMatrix = function (srcElement) { + var dstCoords = { + longitude: this.data.longitude, + latitude: this.data.latitude, + }; + // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property + var distanceForMsg = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords); - // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix - // keep a backward compatibility with a console.warn + this.el.setAttribute('distance', distanceForMsg); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); + this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); - console.assert(this.parameters.trackingBackend === 'artoolkit') - console.assert(this.arController, 'arController MUST be initialized to call this function') - // get projectionMatrixArr from artoolkit - var projectionMatrixArr = this.arController.getCameraMatrix(); - var projectionMatrix = new THREE.Matrix4().fromArray(projectionMatrixArr) + var actualDistance = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords, true); - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) + if (actualDistance === Number.MAX_SAFE_INTEGER) { + this.hideForMinDistance(this.el, true); + } else { + this.hideForMinDistance(this.el, false); + } + }; - // return the result - return projectionMatrix -} + window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.addEventListener('gps-camera-update-position', this.updatePositionListener); -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { - this.arController.process(srcElement) -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + this._positionXDebug = 0; -/** - * ArToolkitProfile helps you build parameters for artoolkit - * - it is fully independent of the rest of the code - * - all the other classes are still expecting normal parameters - * - you can use this class to understand how to tune your specific usecase - * - it is made to help people to build parameters without understanding all the underlying details. - */ -ARjs.Profile = THREEx.ArToolkitProfile = function () { - this.reset() + window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); + }, + /** + * Hide entity according to minDistance property + * @returns {void} + */ + hideForMinDistance: function(el, hideEntity) { + if (hideEntity) { + el.setAttribute('visible', 'false'); + } else { + el.setAttribute('visible', 'true'); + } + }, + /** + * Update place position + * @returns {void} + */ + _updatePosition: function() { + var position = { x: 0, y: this.el.getAttribute('position').y || 0, z: 0 } - this.performance('default') -} + // update position.x + var dstCoords = { + longitude: this.data.longitude, + latitude: this._cameraGps.originCoords.latitude, + }; + position.x = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); -ARjs.Profile.prototype._guessPerformanceLabel = function () { - var isMobile = navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) - ? true : false - if (isMobile === true) { - return 'phone-normal' - } - return 'desktop-normal' -} + this._positionXDebug = position.x; -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + position.x *= this.data.longitude > this._cameraGps.originCoords.longitude ? 1 : -1; -/** - * reset all parameters - */ -ARjs.Profile.prototype.reset = function () { - this.sourceParameters = { - // to read from the webcam - sourceType: 'webcam', - } + // update position.z + var dstCoords = { + longitude: this._cameraGps.originCoords.longitude, + latitude: this.data.latitude, + }; - this.contextParameters = { - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - detectionMode: 'mono', - } - this.defaultMarkerParameters = { - type: 'pattern', - patternUrl: THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro', - changeMatrixMode: 'modelViewMatrix', - } - return this -}; + position.z = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); -////////////////////////////////////////////////////////////////////////////// -// Performance -////////////////////////////////////////////////////////////////////////////// + position.z *= this.data.latitude > this._cameraGps.originCoords.latitude ? -1 : 1; + if (position.y !== 0) { + var altitude = this._cameraGps.originCoords.altitude !== undefined ? this._cameraGps.originCoords.altitude : 0; + position.y = position.y - altitude; + } + // update element's position in 3D world + this.el.setAttribute('position', position); + }, +}); -ARjs.Profile.prototype.performance = function (label) { +/** + * Format distances string + * + * @param {String} distance + */ +function formatDistance(distance) { + distance = distance.toFixed(0); - if (label === 'default') { - label = this._guessPerformanceLabel() + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; } - if (label === 'desktop-fast') { - this.contextParameters.canvasWidth = 640 * 3 - this.contextParameters.canvasHeight = 480 * 3 + return distance + ' meters'; +}; - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'desktop-normal') { - this.contextParameters.canvasWidth = 640 - this.contextParameters.canvasHeight = 480 - this.contextParameters.maxDetectionRate = 60 - } else if (label === 'phone-normal') { - this.contextParameters.canvasWidth = 80 * 4 - this.contextParameters.canvasHeight = 60 * 4 +/***/ }), - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'phone-slow') { - this.contextParameters.canvasWidth = 80 * 3 - this.contextParameters.canvasHeight = 60 * 3 - - this.contextParameters.maxDetectionRate = 30 - } else { - console.assert(false, 'unknonwn label ' + label) - } - return this -} - -////////////////////////////////////////////////////////////////////////////// -// Marker -////////////////////////////////////////////////////////////////////////////// - - -ARjs.Profile.prototype.defaultMarker = function (trackingBackend) { - trackingBackend = trackingBackend || this.contextParameters.trackingBackend - - if (trackingBackend === 'artoolkit') { - this.contextParameters.detectionMode = 'mono' - this.defaultMarkerParameters.type = 'pattern' - this.defaultMarkerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro' - } else console.assert(false) +/***/ "./aframe/src/location-based/gps-projected-camera.js": +/*!***********************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-camera.js ***! + \***********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return this -} -////////////////////////////////////////////////////////////////////////////// -// Source -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.sourceWebcam = function () { - this.sourceParameters.sourceType = 'webcam' - delete this.sourceParameters.sourceUrl - return this -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/** gps-projected-camera + * + * based on the original gps-camera, modified by nickw 02/04/20 + * + * Rather than keeping track of position by calculating the distance of + * entities or the current location to the original location, this version + * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. + * + * The original position (lat/lon) is projected into Spherical Mercator and + * stored. + * + * Then, when we receive a new position (lat/lon), this new position is + * projected into Spherical Mercator and then its world position calculated + * by comparing against the original position. + * + * The same is also the case for 'entity-places'; when these are added, their + * Spherical Mercator coords are calculated (see gps-projected-entity-place). + * + * Spherical Mercator units are close to, but not exactly, metres, and are + * heavily distorted near the poles. Nonetheless they are a good approximation + * for many areas of the world and appear not to cause unacceptable distortions + * when used as the units for AR apps. + * + * UPDATES 28/08/20: + * + * - add gpsMinDistance and gpsTimeInterval properties to control how + * frequently GPS updates are processed. Aim is to prevent 'stuttering' + * effects when close to AR content due to continuous small changes in + * location. + */ -ARjs.Profile.prototype.sourceVideo = function (url) { - this.sourceParameters.sourceType = 'video' - this.sourceParameters.sourceUrl = url - return this -} -ARjs.Profile.prototype.sourceImage = function (url) { - this.sourceParameters.sourceType = 'image' - this.sourceParameters.sourceUrl = url - return this -} -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingBackend = function (trackingBackend) { - console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') - this.contextParameters.trackingBackend = trackingBackend - return this -} +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-camera', { + _watchPositionId: null, + originCoords: null, // original coords now in Spherical Mercator + currentCoords: null, + lookControls: null, + heading: null, + schema: { + simulateLatitude: { + type: 'number', + default: 0, + }, + simulateLongitude: { + type: 'number', + default: 0, + }, + simulateAltitude: { + type: 'number', + default: 0, + }, + positionMinAccuracy: { + type: 'int', + default: 100, + }, + alert: { + type: 'boolean', + default: false, + }, + minDistance: { + type: 'int', + default: 0, + }, + gpsMinDistance: { + type: 'number', + default: 0 + }, + gpsTimeInterval: { + type: 'number', + default: 0 + }, + }, + update: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.longitude = this.data.simulateLongitude; + localPosition.latitude = this.data.simulateLatitude; + localPosition.altitude = this.data.simulateAltitude; + this.currentCoords = localPosition; -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.changeMatrixMode = function (changeMatrixMode) { - this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode - return this -} + // re-trigger initialization for new origin + this.originCoords = null; + this._updatePosition(); + } + }, + init: function() { + if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { + return; + } -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingMethod = function (trackingMethod) { - var data = ARjs.Utils.parseTrackingMethod(trackingMethod) - this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled - this.contextParameters.trackingBackend = data.trackingBackend - return this -} + this.lastPosition = { + latitude: 0, + longitude: 0 + }; -/** - * check if the profile is valid. Throw an exception is not valid - */ -ARjs.Profile.prototype.checkIfValid = function () { - return this -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + this.loader = document.createElement('DIV'); + this.loader.classList.add('arjs-loader'); + document.body.appendChild(this.loader); -ARjs.Source = THREEx.ArToolkitSource = function (parameters) { - var _this = this + this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); + window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - this.ready = false - this.domElement = null + this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; - // handle default parameters - this.parameters = { - // type of source - ['webcam', 'image', 'video'] - sourceType: 'webcam', - // url of the source - valid if sourceType = image|video - sourceUrl: null, + // listen to deviceorientation event + var eventName = this._getDeviceOrientationEventName(); + this._onDeviceOrientation = this._onDeviceOrientation.bind(this); - // Device id of the camera to use (optional) - deviceId: null, + // if Safari + if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { + // iOS 13+ + if (typeof DeviceOrientationEvent.requestPermission === 'function') { + var handler = function() { + console.log('Requesting device orientation permissions...') + DeviceOrientationEvent.requestPermission(); + document.removeEventListener('touchend', handler); + }; - // resolution of at which we initialize in the source image - sourceWidth: 640, - sourceHeight: 480, - // resolution displayed for the source - displayWidth: 640, - displayHeight: 480, - } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] + document.addEventListener('touchend', function() { handler() }, false); - if (newValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' parameter is undefined.") - continue + this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); + } else { + var timeout = setTimeout(function() { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + }, 750); + window.addEventListener(eventName, function() { + clearTimeout(timeout); + }); } + } - var currentValue = _this.parameters[key] + window.addEventListener(eventName, this._onDeviceOrientation, false); + }, - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' is not a property of this material.") - continue + play: function() { + if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); + localPosition.latitude = this.data.simulateLatitude; + localPosition.longitude = this.data.simulateLongitude; + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; } + this.currentCoords = localPosition; + this._updatePosition(); + } else { + this._watchPositionId = this._initWatchGPS(function (position) { + var localPosition = { + latitude: position.coords.latitude, + longitude: position.coords.longitude, + altitude: position.coords.altitude, + accuracy: position.coords.accuracy, + altitudeAccuracy: position.coords.altitudeAccuracy, + }; + + if (this.data.simulateAltitude !== 0) { + localPosition.altitude = this.data.simulateAltitude; + } + + this.currentCoords = localPosition; + var distMoved = this._haversineDist( + this.lastPosition, + this.currentCoords + ); - _this.parameters[key] = newValue + if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { + this._updatePosition(); + this.lastPosition = { + longitude: this.currentCoords.longitude, + latitude: this.currentCoords.latitude + }; + } + }.bind(this)); } - } -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.init = function (onReady, onError) { - var _this = this - - if (this.parameters.sourceType === 'image') { - var domElement = this._initSourceImage(onSourceReady, onError) - } else if (this.parameters.sourceType === 'video') { - var domElement = this._initSourceVideo(onSourceReady, onError) - } else if (this.parameters.sourceType === 'webcam') { - // var domElement = this._initSourceWebcamOld(onSourceReady) - var domElement = this._initSourceWebcam(onSourceReady, onError) - } else { - console.assert(false) - } - - // attach - this.domElement = domElement - this.domElement.style.position = 'absolute' - this.domElement.style.top = '0px' - this.domElement.style.left = '0px' - this.domElement.style.zIndex = '-2' - this.domElement.setAttribute('id', 'arjs-video'); - - return this - function onSourceReady() { - document.body.appendChild(_this.domElement); - window.dispatchEvent(new CustomEvent('arjs-video-loaded', { - detail: { - component: document.querySelector('#arjs-video'), - }, - })); - - _this.ready = true - - onReady && onReady() - } -} - -//////////////////////////////////////////////////////////////////////////////// -// init image source -//////////////////////////////////////////////////////////////////////////////// - - -ARjs.Source.prototype._initSourceImage = function (onReady) { - // TODO make it static - var domElement = document.createElement('img'); - domElement.src = this.parameters.sourceUrl; - - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; - - domElement.onload = onReady; - return domElement -} - -//////////////////////////////////////////////////////////////////////////////// -// init video source -//////////////////////////////////////////////////////////////////////////////// + }, + tick: function() { + if (this.heading === null) { + return; + } + this._updateRotation(); + }, -ARjs.Source.prototype._initSourceVideo = function (onReady) { - // TODO make it static - var domElement = document.createElement('video'); - domElement.src = this.parameters.sourceUrl; + pause: function() { + if (this._watchPositionId) { + navigator.geolocation.clearWatch(this._watchPositionId); + } + this._watchPositionId = null; + }, - domElement.style.objectFit = 'initial'; + remove: function() { + var eventName = this._getDeviceOrientationEventName(); + window.removeEventListener(eventName, this._onDeviceOrientation, false); + window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + }, - domElement.autoplay = true; - domElement.webkitPlaysinline = true; - domElement.controls = false; - domElement.loop = true; - domElement.muted = true; + /** + * Get device orientation event name, depends on browser implementation. + * @returns {string} event name + */ + _getDeviceOrientationEventName: function() { + if ('ondeviceorientationabsolute' in window) { + var eventName = 'deviceorientationabsolute' + } else if ('ondeviceorientation' in window) { + var eventName = 'deviceorientation' + } else { + var eventName = '' + console.error('Compass not supported') + } - // trick to trigger the video on android - document.body.addEventListener('click', function onClick() { - document.body.removeEventListener('click', onClick); - domElement.play() - }); + return eventName + }, - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + /** + * Get current user position. + * + * @param {function} onSuccess + * @param {function} onError + * @returns {Promise} + */ + _initWatchGPS: function(onSuccess, onError) { + if (!onError) { + onError = function(err) { + console.warn('ERROR(' + err.code + '): ' + err.message) - domElement.onloadeddata = onReady; - return domElement -} + if (err.code === 1) { + // User denied GeoLocation, let their know that + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + return; + } -//////////////////////////////////////////////////////////////////////////////// -// handle webcam source -//////////////////////////////////////////////////////////////////////////////// + if (err.code === 3) { + this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); + return; + } + }; + } -ARjs.Source.prototype._initSourceWebcam = function (onReady, onError) { - var _this = this + if ('geolocation' in navigator === false) { + onError({ code: 0, message: 'Geolocation is not supported by your browser' }); + return Promise.resolve(); + } - // init default value - onError = onError || function (error) { - var event = new CustomEvent('camera-error', { error: error }); - window.dispatchEvent(event); + // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition + return navigator.geolocation.watchPosition(onSuccess, onError, { + enableHighAccuracy: true, + maximumAge: this.data.gpsTimeInterval, + timeout: 27000, + }); + }, - setTimeout(() => { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + /** + * Update user position. + * + * @returns {void} + */ + _updatePosition: function() { + // don't update if accuracy is not good enough + if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { + if (this.data.alert && !document.getElementById('alert-popup')) { + var popup = document.createElement('div'); + popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' + popup.setAttribute('id', 'alert-popup'); + document.body.appendChild(popup); } - }, 1000); - } + return; + } - var domElement = document.createElement('video'); - domElement.setAttribute('autoplay', ''); - domElement.setAttribute('muted', ''); - domElement.setAttribute('playsinline', ''); - domElement.style.width = this.parameters.displayWidth + 'px' - domElement.style.height = this.parameters.displayHeight + 'px' + var alertPopup = document.getElementById('alert-popup'); + if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { + document.body.removeChild(alertPopup); + } - // check API is available - if (navigator.mediaDevices === undefined - || navigator.mediaDevices.enumerateDevices === undefined - || navigator.mediaDevices.getUserMedia === undefined) { - if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' - else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' - else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' - else console.assert(false) - onError({ - name: '', - message: 'WebRTC issue-! ' + fctName + ' not present in your browser' - }); - return null - } + if (!this.originCoords) { + // first camera initialization + // Now store originCoords as PROJECTED original lat/lon, so that + // we can set the world origin to the original position in "metres" + this.originCoords = this._project(this.currentCoords.latitude, this.currentCoords.longitude); + this._setPosition(); - // get available devices - navigator.mediaDevices.enumerateDevices().then(function (devices) { - var userMediaConstraints = { - audio: false, - video: { - facingMode: 'environment', - width: { - ideal: _this.parameters.sourceWidth, - // min: 1024, - // max: 1920 - }, - height: { - ideal: _this.parameters.sourceHeight, - // min: 776, - // max: 1080 - } + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); } - }; - - if (null !== _this.parameters.deviceId) { - userMediaConstraints.video.deviceId = { - exact: _this.parameters.deviceId - }; + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } else { + this._setPosition(); } + }, + /** + * Set the current position (in world coords, based on Spherical Mercator) + * + * @returns {void} + */ + _setPosition: function() { + var position = this.el.getAttribute('position'); - // get a device which satisfy the constraints - navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { - // set the .src of the domElement - domElement.srcObject = stream; + var worldCoords = this.latLonToWorld(this.currentCoords.latitude, this.currentCoords.longitude); - var event = new CustomEvent('camera-init', { stream: stream }); - window.dispatchEvent(event); - // to start the video, when it is possible to start it only on userevent. like in android - document.body.addEventListener('click', function () { - domElement.play(); - }); - // domElement.play(); + position.x = worldCoords[0]; + position.z = worldCoords[1]; - onReady(); - }).catch(function (error) { - onError({ - name: error.name, - message: error.message - }); - }); - }).catch(function (error) { - onError({ - message: error.message - }); - }); + // update position + this.el.setAttribute('position', position); - return domElement -} + // add the sphmerc position to the event (for testing only) + window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); + }, + /** + * Returns distance in meters between camera and destination input. + * + * Assume we are using a metre-based projection. Not all 'metre-based' + * projections give exact metres, e.g. Spherical Mercator, but it appears + * close enough to be used for AR at least in middle temperate + * latitudes (40 - 55). It is heavily distorted near the poles, however. + * + * @param {Position} dest + * @param {Boolean} isPlace + * + * @returns {number} distance | Number.MAX_SAFE_INTEGER + */ + computeDistanceMeters: function(dest, isPlace) { + var src = this.el.getAttribute("position"); + var dx = dest.x - src.x; + var dz = dest.z - src.z; + var distance = Math.sqrt(dx * dx + dz * dz); -////////////////////////////////////////////////////////////////////////////// -// Handle Mobile Torch -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.hasMobileTorch = function () { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) return false + // if function has been called for a place, and if it's too near and a min distance has been set, + // return max distance possible - to be handled by the method caller + if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { + return Number.MAX_SAFE_INTEGER; + } - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } + return distance; + }, + /** + * Converts latitude/longitude to OpenGL world coordinates. + * + * First projects lat/lon to absolute Spherical Mercator and then + * calculates the world coordinates by comparing the Spherical Mercator + * coordinates with the Spherical Mercator coordinates of the origin point. + * + * @param {Number} lat + * @param {Number} lon + * + * @returns {array} world coordinates + */ + latLonToWorld: function(lat, lon) { + var projected = this._project(lat, lon); + // Sign of z needs to be reversed compared to projected coordinates + return [projected[0] - this.originCoords[0], -(projected[1] - this.originCoords[1])]; + }, + /** + * Converts latitude/longitude to Spherical Mercator coordinates. + * Algorithm is used in several OpenStreetMap-related applications. + * + * @param {Number} lat + * @param {Number} lon + * + * @returns {array} Spherical Mercator coordinates + */ + _project: function(lat, lon) { + const HALF_EARTH = 20037508.34; - var videoTrack = stream.getVideoTracks()[0]; + // Convert the supplied coords to Spherical Mercator (EPSG:3857), also + // known as 'Google Projection', using the algorithm used extensively + // in various OpenStreetMap software. + var y = Math.log(Math.tan((90 + lat) * Math.PI / 360.0)) / (Math.PI / 180.0); + return [(lon / 180.0) * HALF_EARTH, y * HALF_EARTH / 180.0]; + }, + /** + * Converts Spherical Mercator coordinates to latitude/longitude. + * Algorithm is used in several OpenStreetMap-related applications. + * + * @param {Number} spherical mercator easting + * @param {Number} spherical mercator northing + * + * @returns {object} lon/lat + */ + _unproject: function(e, n) { + const HALF_EARTH = 20037508.34; + var yp = (n / HALF_EARTH) * 180.0; + return { + longitude: (e / HALF_EARTH) * 180.0, + latitude: 180.0 / Math.PI * (2 * Math.atan(Math.exp(yp * Math.PI / 180.0)) - Math.PI / 2) + }; + }, + /** + * Compute compass heading. + * + * @param {number} alpha + * @param {number} beta + * @param {number} gamma + * + * @returns {number} compass heading + */ + _computeCompassHeading: function(alpha, beta, gamma) { - // if videoTrack.getCapabilities() doesnt exist, return false now - if (videoTrack.getCapabilities === undefined) return false + // Convert degrees to radians + var alphaRad = alpha * (Math.PI / 180); + var betaRad = beta * (Math.PI / 180); + var gammaRad = gamma * (Math.PI / 180); - var capabilities = videoTrack.getCapabilities() + // Calculate equation components + var cA = Math.cos(alphaRad); + var sA = Math.sin(alphaRad); + var sB = Math.sin(betaRad); + var cG = Math.cos(gammaRad); + var sG = Math.sin(gammaRad); - return capabilities.torch ? true : false -} + // Calculate A, B, C rotation components + var rA = - cA * sG - sA * sB * cG; + var rB = - sA * sG + cA * sB * cG; -/** - * toggle the flash/torch of the mobile fun if applicable. - * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ - */ -ARjs.Source.prototype.toggleMobileTorch = function () { - // sanity check - console.assert(this.hasMobileTorch() === true) + // Calculate compass heading + var compassHeading = Math.atan(rA / rB); - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + // Convert from half unit circle to whole unit circle + if (rB < 0) { + compassHeading += Math.PI; + } else if (rA < 0) { + compassHeading += 2 * Math.PI; } - return - } - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } + // Convert radians to degrees + compassHeading *= 180 / Math.PI; - var videoTrack = stream.getVideoTracks()[0]; - var capabilities = videoTrack.getCapabilities() + return compassHeading; + }, - if (!capabilities.torch) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'no mobile torch is available on your camera' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); + /** + * Handler for device orientation event. + * + * @param {Event} event + * @returns {void} + */ + _onDeviceOrientation: function(event) { + if (event.webkitCompassHeading !== undefined) { + if (event.webkitCompassAccuracy < 50) { + this.heading = event.webkitCompassHeading; + } else { + console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); + } + } else if (event.alpha !== null) { + if (event.absolute === true || event.absolute === undefined) { + this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); + } else { + console.warn('event.absolute === false'); + } + } else { + console.warn('event.alpha === null'); } - return - } - - this._currentTorchStatus = this._currentTorchStatus === false ? true : false - videoTrack.applyConstraints({ - advanced: [{ - torch: this._currentTorchStatus - }] - }).catch(function (error) { - console.log(error) - }); -} - -ARjs.Source.prototype.domElementWidth = function () { - return parseInt(this.domElement.style.width) -} -ARjs.Source.prototype.domElementHeight = function () { - return parseInt(this.domElement.style.height) -} + }, -//////////////////////////////////////////////////////////////////////////////// -// handle resize -//////////////////////////////////////////////////////////////////////////////// + /** + * Update user rotation data. + * + * @returns {void} + */ + _updateRotation: function() { + var heading = 360 - this.heading; + var cameraRotation = this.el.getAttribute('rotation').y; + var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); + var offset = (heading - (cameraRotation - yawRotation)) % 360; + this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); + }, -ARjs.Source.prototype.onResizeElement = function () { - var _this = this - var screenWidth = window.innerWidth - var screenHeight = window.innerHeight + /** + * Calculate haversine distance between two lat/lon pairs. + * + * Taken from gps-camera + */ + _haversineDist: function(src, dest) { + var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); + var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); - // sanity check - console.assert(arguments.length === 0) + var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); + var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); + return angle * 6371000; + }, - // compute sourceWidth, sourceHeight - if (this.domElement.nodeName === "IMG") { - var sourceWidth = this.domElement.naturalWidth - var sourceHeight = this.domElement.naturalHeight - } else if (this.domElement.nodeName === "VIDEO") { - var sourceWidth = this.domElement.videoWidth - var sourceHeight = this.domElement.videoHeight - } else { - console.assert(false) + _onGpsEntityPlaceAdded: function() { + // if places are added after camera initialization is finished + if (this.originCoords) { + window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); + } + if (this.loader && this.loader.parentElement) { + document.body.removeChild(this.loader) + } } +}); - // compute sourceAspect - var sourceAspect = sourceWidth / sourceHeight - // compute screenAspect - var screenAspect = screenWidth / screenHeight - // if screenAspect < sourceAspect, then change the width, else change the height - if (screenAspect < sourceAspect) { - // compute newWidth and set .width/.marginLeft - var newWidth = sourceAspect * screenHeight - this.domElement.style.width = newWidth + 'px' - this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' +/***/ }), - // init style.height/.marginTop to normal value - this.domElement.style.height = screenHeight + 'px' - this.domElement.style.marginTop = '0px' - } else { - // compute newHeight and set .height/.marginTop - var newHeight = 1 / (sourceAspect / screenWidth) - this.domElement.style.height = newHeight + 'px' - this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' - - // init style.width/.marginLeft to normal value - this.domElement.style.width = screenWidth + 'px' - this.domElement.style.marginLeft = '0px' - } -} -/* -ARjs.Source.prototype.copyElementSizeTo = function(otherElement){ - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop -} -*/ - -ARjs.Source.prototype.copyElementSizeTo = function (otherElement) { - - if (window.innerWidth > window.innerHeight) { - //landscape - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop - } - else { - //portrait - otherElement.style.height = this.domElement.style.height - otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; - otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; - otherElement.style.marginTop = 0; - } +/***/ "./aframe/src/location-based/gps-projected-entity-place.js": +/*!*****************************************************************!*\ + !*** ./aframe/src/location-based/gps-projected-entity-place.js ***! + \*****************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/** gps-projected-entity-place + * + * based on the original gps-entity-place, modified by nickw 02/04/20 + * + * Rather than keeping track of position by calculating the distance of + * entities or the current location to the original location, this version + * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. + * + * The original location on startup (lat/lon) is projected into Spherical + * Mercator and stored. + * + * When 'entity-places' are added, their Spherical Mercator coords are + * calculated and converted into world coordinates, relative to the original + * position, using the Spherical Mercator projection calculation in + * gps-projected-camera. + * + * Spherical Mercator units are close to, but not exactly, metres, and are + * heavily distorted near the poles. Nonetheless they are a good approximation + * for many areas of the world and appear not to cause unacceptable distortions + * when used as the units for AR apps. + */ -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.copySizeTo = function () { - console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') - this.copyElementSizeTo.apply(this, arguments) -} +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('gps-projected-entity-place', { + _cameraGps: null, + schema: { + longitude: { + type: 'number', + default: 0, + }, + latitude: { + type: 'number', + default: 0, + } + }, + remove: function() { + // cleaning listeners when the entity is removed from the DOM + window.removeEventListener('gps-camera-update-position', this.updatePositionListener); + }, + init: function() { + // Used now to get the GPS camera when it's been setup + this.coordSetListener = () => { + if (!this._cameraGps) { + var camera = document.querySelector('[gps-projected-camera]'); + if (!camera.components['gps-projected-camera']) { + console.error('gps-projected-camera not initialized') + return; + } + this._cameraGps = camera.components['gps-projected-camera']; + this._updatePosition(); + } + }; + -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.onResize = function (arToolkitContext, renderer, camera) { - if (arguments.length !== 3) { - console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') - return this.onResizeElement.apply(this, arguments) - } + // update position needs to worry about distance but nothing else? + this.updatePositionListener = (ev) => { + if (!this.data || !this._cameraGps) { + return; + } - var trackingBackend = arToolkitContext.parameters.trackingBackend + var dstCoords = this.el.getAttribute('position'); + // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property + // _computeDistanceMeters is now going to use the projected + var distanceForMsg = this._cameraGps.computeDistanceMeters(dstCoords); - // RESIZE DOMELEMENT - if (trackingBackend === 'artoolkit') { + this.el.setAttribute('distance', distanceForMsg); + this.el.setAttribute('distanceMsg', formatDistance(distanceForMsg)); - this.onResizeElement() + this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); - var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false - if (isAframe === false) { - this.copyElementSizeTo(renderer.domElement) - } else { + var actualDistance = this._cameraGps.computeDistanceMeters(dstCoords, true); - } + if (actualDistance === Number.MAX_SAFE_INTEGER) { + this.hideForMinDistance(this.el, true); + } else { + this.hideForMinDistance(this.el, false); + } + }; - if (arToolkitContext.arController !== null) { - this.copyElementSizeTo(arToolkitContext.arController.canvas) - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + // Retain as this event is fired when the GPS camera is set up + window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); + window.addEventListener('gps-camera-update-position', this.updatePositionListener); + this._positionXDebug = 0; - // UPDATE CAMERA - if (trackingBackend === 'artoolkit') { - if (arToolkitContext.arController !== null) { - camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); + }, + /** + * Hide entity according to minDistance property + * @returns {void} + */ + hideForMinDistance: function(el, hideEntity) { + if (hideEntity) { + el.setAttribute('visible', 'false'); + } else { + el.setAttribute('visible', 'true'); } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) -} -var THREEx = THREEx || {} - -THREEx.ArVideoInWebgl = function(videoTexture){ - var _this = this - - ////////////////////////////////////////////////////////////////////////////// - // plane always in front of the camera, exactly as big as the viewport - ////////////////////////////////////////////////////////////////////////////// - var geometry = new THREE.PlaneGeometry(2, 2); - var material = new THREE.MeshBasicMaterial({ - // map : new THREE.TextureLoader().load('images/water.jpg'), - map : videoTexture, - // side: THREE.DoubleSide, - // opacity: 0.5, - // color: 'pink', - // transparent: true, - }); - var seethruPlane = new THREE.Mesh(geometry, material); - this.object3d = seethruPlane - // scene.add(seethruPlane); - - // arToolkitSource.domElement.style.visibility = 'hidden' - - // TODO extract the fov from the projectionMatrix - // camera.fov = 43.1 - this.update = function(camera){ - camera.updateMatrixWorld(true) - - // get seethruPlane position - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - seethruPlane.position.copy(position) - camera.localToWorld(seethruPlane.position) - - // get seethruPlane quaternion - camera.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); - seethruPlane.quaternion.copy( camera.quaternion ) - - // extract the fov from the projectionMatrix - var fov = THREE.Math.radToDeg(Math.atan(1/camera.projectionMatrix.elements[5]))*2; - // console.log('fov', fov) - - var elementWidth = parseFloat( arToolkitSource.domElement.style.width.replace(/px$/,''), 10 ) - var elementHeight = parseFloat( arToolkitSource.domElement.style.height.replace(/px$/,''), 10 ) - - var aspect = elementWidth / elementHeight - - // camera.fov = fov - // if( vrDisplay.isPresenting ){ - // fov *= 2 - // aspect *= 2 - // } - - // get seethruPlane height relative to fov - seethruPlane.scale.y = Math.tan(THREE.Math.DEG2RAD * fov/2)*position.length() - // get seethruPlane aspect - seethruPlane.scale.x = seethruPlane.scale.y * aspect - } - - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // var video = arToolkitSource.domElement; - // - // window.addEventListener('resize', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // video.addEventListener('canplaythrough', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // function updateSeeThruAspectUv(plane){ - // - // // if video isnt yet ready to play - // if( video.videoWidth === 0 || video.videoHeight === 0 ) return - // - // var faceVertexUvs = plane.geometry.faceVertexUvs[0] - // var screenAspect = window.innerWidth / window.innerHeight - // var videoAspect = video.videoWidth / video.videoHeight - // - // plane.geometry.uvsNeedUpdate = true - // if( screenAspect >= videoAspect ){ - // var actualHeight = videoAspect / screenAspect; - // // faceVertexUvs y 0 - // faceVertexUvs[0][1].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][0].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][1].y = 0.5 - actualHeight/2 - // // faceVertexUvs y 1 - // faceVertexUvs[0][0].y = 0.5 + actualHeight/2 - // faceVertexUvs[0][2].y = 0.5 + actualHeight/2 - // faceVertexUvs[1][2].y = 0.5 + actualHeight/2 - // }else{ - // var actualWidth = screenAspect / videoAspect; - // // faceVertexUvs x 0 - // faceVertexUvs[0][0].x = 0.5 - actualWidth/2 - // faceVertexUvs[0][1].x = 0.5 - actualWidth/2 - // faceVertexUvs[1][0].x = 0.5 - actualWidth/2 - // - // // faceVertexUvs x 1 - // faceVertexUvs[0][2].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][1].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][2].x = 0.5 + actualWidth/2 - // } - // } + }, + /** + * Update place position + * @returns {void} + */ -} -var THREEx = THREEx || {} + // set position to world coords using the lat/lon + _updatePosition: function() { + var worldPos = this._cameraGps.latLonToWorld(this.data.latitude, this.data.longitude); + var position = this.el.getAttribute('position'); -// TODO this is useless - prefere arjs-HitTesting.js + // update element's position in 3D world + //this.el.setAttribute('position', position); + this.el.setAttribute('position', { + x: worldPos[0], + y: position.y, + z: worldPos[1] + }); + }, +}); /** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to + * Format distances string + * + * @param {String} distance */ -THREEx.HitTestingPlane = function(sourceElement){ - this._sourceElement = sourceElement - - // create _pickingScene - this._pickingScene = new THREE.Scene - - // create _pickingPlane - var geometry = new THREE.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) - // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) - var material = new THREE.MeshBasicMaterial({ - // opacity: 0.5, - // transparent: true, - wireframe: true - }) - // material.visible = false - this._pickingPlane = new THREE.Mesh(geometry, material) - this._pickingScene.add(this._pickingPlane) +function formatDistance(distance) { + distance = distance.toFixed(0); - // Create pickingCamera - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - // TODO hardcoded fov - couch - this._pickingCamera = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); -} + if (distance >= 1000) { + return (distance / 1000) + ' kilometers'; + } -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// + return distance + ' meters'; +}; -THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ - this.onResize() - +/***/ }), - if( changeMatrixMode === 'modelViewMatrix' ){ - // set pickingPlane position - var pickingPlane = this._pickingPlane - pickingRoot.parent.updateMatrixWorld() - pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) - // set position/quaternion/scale from pickingPlane.matrix - pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) - }else if( changeMatrixMode === 'cameraTransformMatrix' ){ - // set pickingPlane position - var pickingCamera = this._pickingCamera - camera.updateMatrixWorld() - pickingCamera.matrix.copy(camera.matrixWorld) - // set position/quaternion/scale from pickingCamera.matrix - pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) - }else console.assert(false) +/***/ "./aframe/src/system-arjs.js": +/*!***********************************!*\ + !*** ./aframe/src/system-arjs.js ***! + \***********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_threex_arjs_profile__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _three_js_src_new_api_arjs_session__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-session */ "./three.js/src/new-api/arjs-session.js"); +/* harmony import */ var _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); -// var position = this._pickingPlane.position -// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) -// var position = this._pickingCamera.position -// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) - -} -////////////////////////////////////////////////////////////////////////////// -// resize camera -////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.onResize = function(){ - var sourceElement = this._sourceElement - var pickingCamera = this._pickingCamera - -// FIXME why using css here ??? not even computed style -// should get the size of the elment directly independantly - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - pickingCamera.aspect = fullWidth / fullHeight - pickingCamera.updateProjectionMatrix() -} -////////////////////////////////////////////////////////////////////////////// -// Perform test -////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ - // convert mouseX, mouseY to [-1, +1] - mouseX = (mouseX-0.5)*2 - mouseY =-(mouseY-0.5)*2 - - this._pickingScene.updateMatrixWorld(true) +aframe__WEBPACK_IMPORTED_MODULE_0__.registerSystem('arjs', { + schema: { + trackingMethod: { + type: 'string', + default: 'best', + }, + debugUIEnabled: { + type: 'boolean', + default: false, + }, + areaLearningButton: { + type: 'boolean', + default: true, + }, + performanceProfile: { + type: 'string', + default: 'default', + }, + labelingMode: { + type: 'string', + default: '', + }, + // new video texture mode (location based only) + videoTexture: { + type: 'boolean', + default: false + }, + // old parameters + debug: { + type: 'boolean', + default: false + }, + detectionMode: { + type: 'string', + default: '', + }, + matrixCodeType: { + type: 'string', + default: '', + }, + patternRatio: { + type: 'number', + default: -1, + }, + cameraParametersUrl: { + type: 'string', + default: '', + }, + maxDetectionRate: { + type: 'number', + default: -1 + }, + sourceType: { + type: 'string', + default: '', + }, + sourceUrl: { + type: 'string', + default: '', + }, + sourceWidth: { + type: 'number', + default: -1 + }, + sourceHeight: { + type: 'number', + default: -1 + }, + deviceId: { + type: 'string', + default: '' + }, + displayWidth: { + type: 'number', + default: -1 + }, + displayHeight: { + type: 'number', + default: -1 + }, + canvasWidth: { + type: 'number', + default: -1 + }, + canvasHeight: { + type: 'number', + default: -1 + }, + errorPopup: { + type: 'string', + default: '' + } + }, - // compute intersections between mouseVector3 and pickingPlane - var raycaster = new THREE.Raycaster(); - var mouseVector3 = new THREE.Vector3(mouseX, mouseY, 1); - raycaster.setFromCamera( mouseVector3, this._pickingCamera ) - var intersects = raycaster.intersectObjects( [this._pickingPlane] ) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - if( intersects.length === 0 ) return null + init: function () { + var _this = this - // set new demoRoot position - var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) - // TODO here do a look at the camera ? - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3(1,1,1)//.multiplyScalar(1) - - return { - position : position, - quaternion : quaternion, - scale : scale - } -} + // If videoTexture is set, skip the remainder of the setup entirely and just use the arjs-webcam-texture component + if(this.data.videoTexture === true && this.data.sourceType === 'webcam') { + var webcamEntity = document.createElement("a-entity"); + webcamEntity.setAttribute("arjs-webcam-texture", true); + this.el.sceneEl.appendChild(webcamEntity); + return; + } -////////////////////////////////////////////////////////////////////////////// -// render the pickingPlane for debug -////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // setup arProfile + ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.renderDebug = function(renderer){ - // render sceneOrtho - renderer.render( this._pickingScene, this._pickingCamera ) -} -// @namespace -var ARjs = ARjs || {} + var arProfile = this._arProfile = new _three_js_src_threex_arjs_profile__WEBPACK_IMPORTED_MODULE_1__.default() + .trackingMethod(this.data.trackingMethod) + .performance(this.data.performanceProfile) + .defaultMarker() -// TODO this is a controls... should i give the object3d here ? -// not according to 'no three.js dependancy' + ////////////////////////////////////////////////////////////////////////////// + // honor this.data and setup arProfile with it + ////////////////////////////////////////////////////////////////////////////// -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.Anchor = function(arSession, markerParameters){ - var _this = this - var arContext = arSession.arContext - var scene = arSession.parameters.scene - var camera = arSession.parameters.camera + // honor this.data and push what has been modified into arProfile + if (this.data.debug !== false) arProfile.contextParameters.debug = this.data.debug + if (this.data.detectionMode !== '') arProfile.contextParameters.detectionMode = this.data.detectionMode + if (this.data.matrixCodeType !== '') arProfile.contextParameters.matrixCodeType = this.data.matrixCodeType + if (this.data.patternRatio !== -1) arProfile.contextParameters.patternRatio = this.data.patternRatio + if (this.data.labelingMode !== '') arProfile.contextParameters.labelingMode = this.data.labelingMode + if (this.data.cameraParametersUrl !== '') arProfile.contextParameters.cameraParametersUrl = this.data.cameraParametersUrl + if (this.data.maxDetectionRate !== -1) arProfile.contextParameters.maxDetectionRate = this.data.maxDetectionRate + if (this.data.canvasWidth !== -1) arProfile.contextParameters.canvasWidth = this.data.canvasWidth + if (this.data.canvasHeight !== -1) arProfile.contextParameters.canvasHeight = this.data.canvasHeight - this.arSession = arSession - this.parameters = markerParameters + if (this.data.sourceType !== '') arProfile.sourceParameters.sourceType = this.data.sourceType + if (this.data.sourceUrl !== '') arProfile.sourceParameters.sourceUrl = this.data.sourceUrl + if (this.data.sourceWidth !== -1) arProfile.sourceParameters.sourceWidth = this.data.sourceWidth + if (this.data.sourceHeight !== -1) arProfile.sourceParameters.sourceHeight = this.data.sourceHeight + if (this.data.deviceId !== '') arProfile.sourceParameters.deviceId = this.data.deviceId + if (this.data.displayWidth !== -1) arProfile.sourceParameters.displayWidth = this.data.displayWidth + if (this.data.displayHeight !== -1) arProfile.sourceParameters.displayHeight = this.data.displayHeight - // log to debug - console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) + arProfile.checkIfValid() - var markerRoot = new THREE.Group - scene.add(markerRoot) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var controlledObject = markerRoot - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var controlledObject = camera - }else console.assert(false) + this._arSession = null - if( markerParameters.markersAreaEnabled === false ){ - var markerControls = new THREEx.ArMarkerControls(arContext, controlledObject, markerParameters) - this.controls = markerControls - }else{ - // sanity check - MUST be a trackingBackend with markers - console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) + _this.isReady = false + _this.needsOverride = true - // honor markers-page-resolution for https://webxr.io/augmented-website - if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ - // get resolutionW/resolutionH from url - var markerPageResolution = location.hash.substring(1) - var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) - console.assert(matches.length === 3) - var resolutionW = parseInt(matches[1]) - var resolutionH = parseInt(matches[2]) - var arContext = arSession.arContext - // generate and store the ARjsMultiMarkerFile - ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) - } + // wait until the renderer is isReady + this.el.sceneEl.addEventListener('renderstart', function () { + var scene = _this.el.sceneEl.object3D + var camera = _this.el.sceneEl.camera + var renderer = _this.el.sceneEl.renderer - // if there is no ARjsMultiMarkerFile, build a default one - if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) - } + ////////////////////////////////////////////////////////////////////////////// + // build ARjs.Session + ////////////////////////////////////////////////////////////////////////////// + var arSession = _this._arSession = new _three_js_src_new_api_arjs_session__WEBPACK_IMPORTED_MODULE_2__.default({ + scene: scene, + renderer: renderer, + camera: camera, + sourceParameters: arProfile.sourceParameters, + contextParameters: arProfile.contextParameters + }) - // get multiMarkerFile from localStorage - console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) - var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var parent3D = scene - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var parent3D = camera - }else console.assert(false) + _this.isReady = true - // build a multiMarkerControls - var multiMarkerControls = ARjs.MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) - this.controls = multiMarkerControls + ////////////////////////////////////////////////////////////////////////////// + // awful resize trick + ////////////////////////////////////////////////////////////////////////////// + // KLUDGE + window.addEventListener('resize', onResize) + function onResize() { + var arSource = _this._arSession.arSource - // honor markerParameters.changeMatrixMode - multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode + // ugly kludge to get resize on aframe... not even sure it works + if (arProfile.contextParameters.trackingBackend !== 'tango') { + arSource.copyElementSizeTo(document.body) + } -// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js - // create ArMarkerHelper - useful to debug - super three.js specific - var markerHelpers = [] - multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ - // add an helper to visuable each sub-marker - var markerHelper = new THREEx.ArMarkerHelper(subMarkerControls) - markerHelper.object3d.visible = false - // subMarkerControls.object3d.add( markerHelper.object3d ) - subMarkerControls.object3d.add( markerHelper.object3d ) - // add it to markerHelpers - markerHelpers.push(markerHelper) - }) - // define API specific to markersArea - this.markersArea = {} - this.markersArea.setSubMarkersVisibility = function(visible){ - markerHelpers.forEach(function(markerHelper){ - markerHelper.object3d.visible = visible - }) - } - } - - this.object3d = new THREE.Group() - - ////////////////////////////////////////////////////////////////////////////// - // THREEx.ArSmoothedControls - ////////////////////////////////////////////////////////////////////////////// - - var shouldBeSmoothed = true - - if( shouldBeSmoothed === true ){ - // build a smoothedControls - var smoothedRoot = new THREE.Group() - scene.add(smoothedRoot) - var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot) - smoothedRoot.add(this.object3d) - }else{ - markerRoot.add(this.object3d) - } + // fixing a-frame css + var buttonElement = document.querySelector('.a-enter-vr') + if (buttonElement) { + buttonElement.style.position = 'fixed' + } + } + ////////////////////////////////////////////////////////////////////////////// + // honor .debugUIEnabled + ////////////////////////////////////////////////////////////////////////////// + if (_this.data.debugUIEnabled) initDebugUI() + function initDebugUI() { + // get or create containerElement + var containerElement = document.querySelector('#arjsDebugUIContainer') + if (containerElement === null) { + containerElement = document.createElement('div') + containerElement.id = 'arjsDebugUIContainer' + containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;') + document.body.appendChild(containerElement) + } - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - this.update = function(){ - // update _this.object3d.visible - _this.object3d.visible = _this.object3d.parent.visible + // create sessionDebugUI + var sessionDebugUI = new _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_3__.SessionDebugUI(arSession) + containerElement.appendChild(sessionDebugUI.domElement) + } + }) - // console.log('controlledObject.visible', _this.object3d.parent.visible) - if( smoothedControls !== undefined ){ - // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls - if( multiMarkerControls !== undefined ){ - multiMarkerControls.updateSmoothedControls(smoothedControls) - } + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // TODO this is crappy - code an exponential backoff - max 1 seconds + // KLUDGE: kludge to write a 'resize' event + // var startedAt = Date.now() + // var timerId = setInterval(function () { + // if (Date.now() - startedAt > 10000 * 1000) { + // clearInterval(timerId) + // return + // } + // // onResize() + // window.dispatchEvent(new Event('resize')); + // }, 1000 / 30) - // update smoothedControls - smoothedControls.update(markerRoot) - } - } -} -// @namespace -var ARjs = ARjs || {} + function setBackoff(func, millisDuration = Infinity, limit = 1000) { + if(func == null || !(Object.prototype.toString.call(func) == '[object Function]')) { + return; + } + let backoff = 33.3 + let start = Date.now() + let repeat = function() { + return (millisDuration == Infinity || (Date.now() - start) < millisDuration) + } + let next = function() { + backoff = (backoff * 2) < limit ? (backoff * 2) : limit + setTimeout(function() { + func() + if(repeat()) { + next() + } + }, backoff) + }; + next() + } -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.SessionDebugUI = function (arSession) { - var trackingBackend = arSession.arContext.parameters.trackingBackend + setBackoff(() => { + window.dispatchEvent(new Event('resize')) + }) + }, - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.left = '5px' - this.domElement.style.bottom = '10px' - this.domElement.style.textAlign = 'right' + tick: function () { + // skip it if not yet isInitialised + if (this.isReady === false || this.data.videoTexture === true) return - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// + // update arSession + this._arSession.update() - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.innerHTML = 'trackingBackend : ' + trackingBackend - this.domElement.appendChild(domElement) -} + // copy projection matrix to camera + this._arSession.onResize() + }, -/** - * Url of augmented-website service - if === '' then dont include augmented-website link - * @type {String} - */ -ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' + _displayErrorPopup: function(msg) { + if (this.data.errorPopup !== '') { + let errorPopup = document.getElementById(this.data.errorPopup); + if (!errorPopup) { + errorPopup = document.createElement('div'); + errorPopup.setAttribute('id', this.data.errorPopup); + document.body.appendChild(errorPopup); + } + errorPopup.innerHTML = msg; + } else { + alert(msg); + } + } +}) -////////////////////////////////////////////////////////////////////////////// -// ARjs.AnchorDebugUI -////////////////////////////////////////////////////////////////////////////// -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.AnchorDebugUI = function (arAnchor) { - var arSession = arAnchor.arSession - var trackingBackend = arSession.arContext.parameters.trackingBackend +/***/ }), - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'inline-block' - this.domElement.style.padding = '0.5em' - this.domElement.style.margin = '0.5em' - this.domElement.style.textAlign = 'left' +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRAQQAhAUEAIQcDQCACIABB2AJqIAdBAnRqKAIAIgMoAjgiCGwhDiADKAI8Ig9BAEoEQCAHQQJ0IAZqKAIAIRAgCEEASgRAQQAhCQNAQQAhCyAFIAlqQQJ0IBBqKAIAIA5BB3RqIQogASEDA0AgCkGAAWohESADQQFqIRIgBEEgaiADQQJ0aiAKNgIAIAtBAWoiCyAIRwRAIBEhCiASIQMMAQsLIAEgCGohASAJQQFqIgkgD0gNAAsLCyAHQQFqIgcgDUgNAAsLIAAoAtQDKAIEIQEgACAMIAFBP3FBigFqEQIARQ0CIAJBAWoiAiAAKALoAiIBSQ0ACyABIQIgBCgCHCEBCyAEQQA2AhQgBUEBaiIFIAFODQJBACEDDAELCyAEIAU2AhggBCACNgIUIAYkBkEADwsLIAAgACgClAFBAWoiAjYClAEgAiAAKALMAiIFTwRAIAAoAswDKAIMIQEgACABQf8BcUGsA2oRAQAgBiQGQQQPCyAAKALEAyIBIAAoAtQCQQFKBH9BAQUgACgC2AIiAEEMaiAAQcwAaiACIAVBf2pJGygCAAs2AhwgAUEANgIUIAFBADYCGCAGJAZBAwulAwELfyAAKALEAyIBKAIQRQRAIABBADYCnAEPCyABAn8CQCAAKAJQRQ0AIAAoAuABRQ0AIAAoAqABRQ0AIAEoAnAiAgRAIABBJGohBgUgACgCBCgCACECIAEgAEEBIABBJGoiBigCAEEYbCACQT9xQcoBahEEACICNgJwCyAGKAIAQQBMDQAgACgC2AEhCANAIAgoAlAiAUUNASABLgEARQ0BIAEuAQJFDQEgAS4BEEUNASABLgEgRQ0BIAEuARJFDQEgAS4BBEUNASAAKAKgASIBIARBCHRqKAIAQQBIDQEgAiAEQQh0IAFqIgMoAgQ2AgQgAygCBCEJIAIgBEEIdCABaiIFKAIINgIIIAkgBSgCCHIhCiACIARBCHQgAWoiBSgCDDYCDCAKIAUoAgxyIQsgAiAEQQh0IAFqIgUoAhA2AhAgCyAFKAIQciEDIAIgBEEIdCABaiIBKAIUNgIUQQEgByADIAEoAhRyGyEHIAJBGGohAiAIQdgAaiEIIARBAWoiBCAGKAIASA0ACyAHRQ0AQSoMAQtBKAs2AgwgAEEANgKcAQtSAQJ/IABBADYClAEgACgCxAMiASAAKALUAkEBSgR/QQEFIAAoAtgCIgJBzABqIAJBDGogACgCzAJBAUYbKAIACzYCHCABQQA2AhQgAUEANgIYC6wDAQV/IAAoAgQoAgAhAyAAIABBAUH0ACADQT9xQcoBahEEACICNgLEAyACQf0ANgIAIAJB/gA2AgggAkEANgJwIAFFBEAgACgCBCgCBCEBIAIgAEEBQYAKIAFBP3FBygFqEQQAIgE2AiAgAiABQYABajYCJCACIAFBgAJqNgIoIAIgAUGAA2o2AiwgAiABQYAEajYCMCACIAFBgAVqNgI0IAIgAUGABmo2AjggAiABQYAHajYCPCACQUBrIAFBgAhqNgIAIAIgAUGACWo2AkQgACgCtANFBEAgAUEAQYAKEEUaCyACQdYANgIEIAJBKTYCDCACQQA2AhAPCyAAKAIkQQBKBEAgAkHIAGohBEEAIQMgACgC2AEhAQNAIAEoAgwiBSAFQQNsIAAoAuABRRshBSAAKAIEKAIUIQYgA0ECdCAEaiAAQQFBASABKAIcIAEoAggQ+AEgASgCICABKAIMEPgBIAUgBkE/cUHGAmoRCgA2AgAgAUHYAGohASADQQFqIgMgACgCJEgNAAsFIAJByABqIQQLIAJB1QA2AgQgAkEoNgIMIAIgBDYCEAuhAgECfyAAKAIEKAIAIQEgACAAQQFBwAEgAUE/cUHKAWoRBAAiAjYC1AMgAkH7ADYCACACQfwANgIIIAJBPGoiAUIANwIAIAFCADcCCCABQgA3AhAgAUIANwIYIAFCADcCICABQgA3AiggAUIANwIwIAFCADcCOCABQUBrQgA3AgAgAUIANwJIIAFCADcCUCABQgA3AlggAUIANwJgIAFCADcCaCABQgA3AnAgAUIANwJ4IAJB8QA6ALwBIAAoAuABRQRADwsgACgCBCgCACEBIAAgAEEBIAAoAiRBCHQgAUE/cUHKAWoRBAAiAjYCoAEgACgCJEEATARADwtBACEBA0AgAiABQQh0akF/QYACEEUaIAFBAWoiASAAKAIkSA0ACwsqAQF/IAAoAtQDKAIIIQEgACABQf8BcUGsA2oRAQAgACgCzANB1AA2AgALYgEBfyAAKALMAyIBQdQANgIAIAFBADYCECABQQA2AhQgAUEBNgIYIAAoAgAoAhAhASAAIAFB/wFxQawDahEBACAAKALQAygCACEBIAAgAUH/AXFBrANqEQEAIABBADYCoAELYwEBfyAAQQBHIAFBAEdxBEACQCABIAEQYEEBahCABSICRQRAIABBADoAAAwBCyACQQFqIAFrIgJBAWpBgBBLBEBBACEABSAAIAEgAhDVASAAIAJqQQA6AAALCwVBACEACyAAC6UPAQl/IAAoAswDIgQoAhQEQEECDwsCQAJAAkADQAJAIAAoAtADKAIEIQECQCAAIAFB/wBxQQhqEQAAIgFBAWsOAgAEBQsCQAJAAkACQAJAIAQoAhgOAgABAgsgBCgCEEUEQCAAKAIAIgFBJDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAtQCDQYMAwsCQAJAIAAoAiBB3P8DSg0AIAAoAhxB3P8DSg0ADAELIAAoAgAiAUEqNgIUIAFB3P8DNgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgACgC1AEiAUF4akEESwRAIAAoAgAiAkEQNgIUIAIgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAiQiAUEKSgRAIAAoAgAiAkEbNgIUIAIgATYCGCAAKAIAQQo2AhwgACgCACgCACEBIAAgAUH/AXFBrANqEQEAIAAoAiQhAQsgAEEBNgK8AiAAQQE2AsACIAFBAEoEQEEAIQcgACgC2AEhAkEBIQNBASEFA0ACfwJAIAIiCCgCCCIGQX9qQQNLDQAgAigCDCIJQX9qQQNLDQAgCQwBCyAAKAIAIgFBEzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAgACgCvAIhBSAIKAIIIQYgACgCwAIhAyAAKAIkIQEgAigCDAshAiAAIAUgBiAFIAZKGyIFNgK8AiAAIAMgAiADIAJKGyIDNgLAAiAIQdgAaiECIAdBAWoiByABSA0ACwsgAAJ/AkAgACgC3AENAAJ/IAAoAuABBEAgACgC1AINAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAqADDoACABAQARAQEBACEBAQEBAQAxAQEBAQEBAQBBAQEBAQEBAQEBAFEBAQEBAQEBAQEBAQBhAQEBAQEBAQEBAQEBAQBxAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAQEBAQEBAQCRAQEBAQEBAQEBAQEBAQEBAQEBAQChAQEBAQEBAQEBAQEBAQEBAQEBAQEBALEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAOEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDxALIABBATYCrAMgAEGAHDYCsAMgAEEANgK0A0EBDBALIABBAjYCrAMgAEHAJTYCsAMgAEEDNgK0A0ECDA8LIABBAzYCrAMgAEHQJDYCsAMgAEEINgK0A0EDDA4LIABBBDYCrAMgAEHQIzYCsAMgAEEPNgK0A0EEDA0LIABBBTYCrAMgAEGgIjYCsAMgAEEYNgK0A0EFDAwLIABBBjYCrAMgAEHQIDYCsAMgAEEjNgK0A0EGDAsLIABBBzYCrAMgAEHAHjYCsAMgAEEwNgK0A0EHDAoLIABBCDYCrAMgAEGAHDYCsAMgAEE/NgK0A0EIDAkLIABBCTYCrAMgAEGAHDYCsAMgAEE/NgK0A0EJDAgLIABBCjYCrAMgAEGAHDYCsAMgAEE/NgK0A0EKDAcLIABBCzYCrAMgAEGAHDYCsAMgAEE/NgK0A0ELDAYLIABBDDYCrAMgAEGAHDYCsAMgAEE/NgK0A0EMDAULIABBDTYCrAMgAEGAHDYCsAMgAEE/NgK0A0ENDAQLIABBDjYCrAMgAEGAHDYCsAMgAEE/NgK0A0EODAMLIABBDzYCrAMgAEGAHDYCsAMgAEE/NgK0A0EPDAILIABBEDYCrAMgAEGAHDYCsAMgAEE/NgK0A0EQDAELIAAoAgAiAUERNgIUIAEgACgCnAM2AhggACgCACAAKAKgAzYCHCAAKAIAIAAoAqQDNgIgIAAoAgAgACgCqAM2AiQgACgCACgCACEBIAAgAUH/AXFBrANqEQEAIAAoAiQhASAAKAKsAwsMAQsgAEEINgKsAyAAQYAcNgKwAyAAQT82ArQDQQgLIgI2AsQCIAAgAjYCyAIgAUEASgRAQQAhASAAKALYASEDA0AgAyACNgIkIAMgAjYCKCADIAAoAhwgAygCCGwgAiAAKAK8AmwQaDYCHCADIAAoAiAgAygCDGwgACgCwAIgACgCrANsEGg2AiAgAyAAKAIcIAMoAghsIAAoArwCEGg2AiwgAyAAKAIgIAMoAgxsIAAoAsACEGg2AjAgA0EBNgI0IANBADYCUCABQQFqIgEgACgCJEgEQCADQdgAaiEDIAAoAqwDIQIMAQsLIAAoAqwDIQILIAAgACgCICAAKALAAiACbBBoNgLMAiAAKALUAiIBIAAoAiROBEAgACgC4AFFBEAgACgCzANBADYCEAwDCwsgACgCzANBATYCEAwBCyAAKALUAiEBCyABDQEgBEECNgIYCwwBCwsgBEEANgIYQQEPCyAAEKcDQQEPCyAEQQE2AhQgBCgCGARAIAAoAtADKAIQRQRAQQIPCyAAKAIAIgFBPjYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAFIAAoApgBIAAoApABIgFMBEBBAg8LIAAgATYCmAELQQIPCyABC10BAX8gACgCBCgCACEBIAAgAEEAQRwgAUE/cUHKAWoRBAAiADYCzAMgAEHUADYCACAAQfgANgIEIABB+QA2AgggAEH6ADYCDCAAQQA2AhAgAEEANgIUIABBATYCGAv/BQEEfyAAIAAoAqwDIgIgACgCMGwiASAAKAI0IgNLBH8CfyABIANBAXRNBEAgACAAKAIcQQF0IAIQaDYCcEECIQEgACgCIEEBdAwBCyABIANBA2xNBEAgACAAKAIcQQNsIAIQaDYCcEEDIQEgACgCIEEDbAwBCyABIANBAnRNBEAgACAAKAIcQQJ0IAIQaDYCcEEEIQEgACgCIEECdAwBCyABIANBBWxNBEAgACAAKAIcQQVsIAIQaDYCcEEFIQEgACgCIEEFbAwBCyABIANBBmxNBEAgACAAKAIcQQZsIAIQaDYCcEEGIQEgACgCIEEGbAwBCyABIANBB2xNBEAgACAAKAIcQQdsIAIQaDYCcEEHIQEgACgCIEEHbAwBCyABIANBA3RNBEAgACAAKAIcQQN0IAIQaDYCcEEIIQEgACgCIEEDdAwBCyABIANBCWxNBEAgACAAKAIcQQlsIAIQaDYCcEEJIQEgACgCIEEJbAwBCyABIANBCmxNBEAgACAAKAIcQQpsIAIQaDYCcEEKIQEgACgCIEEKbAwBCyABIANBC2xNBEAgACAAKAIcQQtsIAIQaDYCcEELIQEgACgCIEELbAwBCyABIANBDGxNBEAgACAAKAIcQQxsIAIQaDYCcEEMIQEgACgCIEEMbAwBCyABIANBDWxNBEAgACAAKAIcQQ1sIAIQaDYCcEENIQEgACgCIEENbAwBCyABIANBDmxNBEAgACAAKAIcQQ5sIAIQaDYCcEEOIQEgACgCIEEObAwBCyAAKAIcIQQgASADQQ9sSwR/IAAgBEEEdCACEGg2AnBBECEBIAAoAiBBBHQFIAAgBEEPbCACEGg2AnBBDyEBIAAoAiBBD2wLCwUgACAAKAIcIAIQaDYCcEEBIQEgACgCIAsgACgCrAMQaDYCdCAAIAE2AsQCIAAgATYCyAIgACgCJCIDQQBMBEAPC0EAIQIgACgC2AEhAANAIAAgATYCJCAAIAE2AiggAEHYAGohACACQQFqIgIgA0gNAAsLtAsBD38jBiEIIwZBMGokBiAAKALUAyEHIAAoApgCBEAgBygCLEUEQCAHKAIQQQgQOSECIAAoAtADIgUgAiAFKAIYajYCGCAHQQA2AhAgBSgCCCEFIAAgBUH/AHFBCGoRAABFBEAgCCQGQQAPCyAAKALUAkEASgRAQQAhBQNAIAdBGGogBUECdGpBADYCACAFQQFqIgUgACgC1AJIDQALCyAHQQA2AhQgByAAKAKYAjYCLCAAKAK4A0UEQCAHQQA2AigLCwsgCEEUaiEGIAcoAihFBEAgACgCsAMhDyAAKAK0AyENIAYgADYCECAGIAAoAhgiBCgCACIJNgIAIAYgBCgCBCIDNgIEIAcoAgwhBSAHKAIQIQIgCCAHKQIUNwIAIAggBykCHDcCCCAIIAcoAiQ2AhAgACgC8AJBAEoEQAJAQQAhCQJAA0AgCUECdCABaigCACEKIAdB5ABqIAlBAnRqKAIAIQQCfwJAIAJBCEgEQCAGIAUgAkEAEGdFDQQgBigCCCEFIAYoAgwiAkEISARAQQEhAwwCCwsgBEGQAWogBSACQXhqdUH/AXEiA0ECdGooAgAiCwR/IAMgBEGQCWpqLQAAIQQgAiALawVBCSEDDAELDAELIAYgBSACIAQgAxCgASIEQQBIDQIgBigCCCEFIAYoAgwLIQIgB0GMAWogCUECdGooAgAhCyAEQQBHIQMCQAJAIAdBtAFqIAlBAnRqKAIAIg4EQAJAIAMEfyACIARIBEAgBiAFIAIgBBBnRQ0HIAYoAgghBSAGKAIMIQILIARBAnRB8DFqKAIAIgMgBSACIARrIgJ1cSIMQQAgAyAMIARBAnRB7DFqKAIAShtrBUEACyAIQQRqIABB9AJqIAlBAnRqKAIAQQJ0aiIDKAIAaiEEIAMgBDYCACAKIAQ7AQAgDkEBSgRAQQEhBANAAn8CQCACQQhIBEAgBiAFIAJBABBnRQ0KIAYoAgghBSAGKAIMIgJBCEgEQEEBIQMMAgsLIAtBkAFqIAUgAkF4anVB/wFxIgNBAnRqKAIAIgwEfyADIAtBkAlqai0AACEDIAIgDGsFQQkhAwwBCwwBCyAGIAUgAiALIAMQoAEiA0EASA0IIAYoAgghBSAGKAIMCyECIANBBHYhDCADQQ9xIgMEQCACIANIBEAgBiAFIAIgAxBnRQ0JIAYoAgghBSAGKAIMIQILIAQgDGoiBEECdCAPaigCAEEBdCAKaiADQQJ0QfAxaigCACIMIAUgAiADayICdXEiEEEAIAwgECADQQJ0QewxaigCAEobazsBAAUgDEEPRw0DIARBD2ohBAsgBEEBaiIEIA5IDQALDAMFQQEhBAwDCwALBSADBEAgAiAESARAIAYgBSACIAQQZ0UNBiAGKAIIIQUgBigCDCECCyACIARrIQILQQEhBAwBCwwBCyAEIA1MBEADQAJ/AkAgAkEISARAIAYgBSACQQAQZ0UNByAGKAIIIQUgBigCDCICQQhIBEBBASEDDAILCyALQZABaiAFIAJBeGp1Qf8BcSIDQQJ0aigCACIKBH8gAyALQZAJamotAAAhAyACIAprBUEJIQMMAQsMAQsgBiAFIAIgCyADEKABIgNBAEgNBSAGKAIIIQUgBigCDAshAiADQQR2IQogA0EPcSIDBEAgAiADSARAIAYgBSACIAMQZ0UNBiAGKAIIIQUgBigCDCECCyACIANrIQIFIApBD0cNA0EPIQoLIARBAWogCmoiBCANTA0ACwsLIAlBAWoiCSAAKALwAkgNAAsgACgCGCEAIAYoAgAhASAGKAIEIQQMAQsgCCQGQQAPCwUgBCEAIAkhASADIQQLIAAgATYCACAAIAQ2AgQgByAFNgIMIAcgAjYCECAHIAgpAgA3AhQgByAIKQIINwIcIAcgCCgCEDYCJAsgByAHKAIsQX9qNgIsIAgkBkEBC6ILAQ1/IwYhCSMGQTBqJAYgACgC1AMhByAAKAKYAgRAIAcoAixFBEAgBygCEEEIEDkhAiAAKALQAyIEIAIgBCgCGGo2AhggB0EANgIQIAQoAgghBCAAIARB/wBxQQhqEQAARQRAIAkkBkEADwsgACgC1AJBAEoEQEEAIQQDQCAHQRhqIARBAnRqQQA2AgAgBEEBaiIEIAAoAtQCSA0ACwsgB0EANgIUIAcgACgCmAI2AiwgACgCuANFBEAgB0EANgIoCwsLIAlBFGohBSAHKAIoRQRAIAUgADYCECAFIAAoAhgiBigCACIKNgIAIAUgBigCBCIDNgIEIAcoAgwhBCAHKAIQIQIgCSAHKQIUNwIAIAkgBykCHDcCCCAJIAcoAiQ2AhAgACgC8AJBAEoEQAJAQQAhCgJAA0AgCkECdCABaigCACENIAdB5ABqIApBAnRqKAIAIQYCfwJAIAJBCEgEQCAFIAQgAkEAEGdFDQQgBSgCCCEEIAUoAgwiAkEISARAQQEhAwwCCwsgBkGQAWogBCACQXhqdUH/AXEiA0ECdGooAgAiCAR/IAMgBkGQCWpqLQAAIQYgAiAIawVBCSEDDAELDAELIAUgBCACIAYgAxCgASIGQQBIDQIgBSgCCCEEIAUoAgwLIQIgB0GMAWogCkECdGooAgAhCyAGQQBHIQMCQAJAIAdBtAFqIApBAnRqKAIAIg4EQAJAIAMEfyACIAZIBEAgBSAEIAIgBhBnRQ0HIAUoAgghBCAFKAIMIQILIAZBAnRB8DFqKAIAIgMgBCACIAZrIgJ1cSIIQQAgAyAIIAZBAnRB7DFqKAIAShtrBUEACyAJQQRqIABB9AJqIApBAnRqKAIAQQJ0aiIDKAIAaiEGIAMgBjYCACANIAY7AQAgDkEBSgRAQQEhBgNAAn8CQCACQQhIBEAgBSAEIAJBABBnRQ0KIAUoAgghBCAFKAIMIgJBCEgEQEEBIQMMAgsLIAtBkAFqIAQgAkF4anVB/wFxIgNBAnRqKAIAIggEfyADIAtBkAlqai0AACEDIAIgCGsFQQkhAwwBCwwBCyAFIAQgAiALIAMQoAEiA0EASA0IIAUoAgghBCAFKAIMCyECIANBBHYhDCADQQ9xIggEQCACIAhIBEAgBSAEIAIgCBBnRQ0JIAUoAgghBCAFKAIMIQILIAYgDGoiA0ECdEGAHGooAgBBAXQgDWogCEECdEHwMWooAgAiBiAEIAIgCGsiAnVxIgxBACAGIAwgCEECdEHsMWooAgBKG2s7AQAFIAxBD0cNAyAGQQ9qIQMLIANBAWoiBiAOSA0ACyADQT9IDQMFQQEhBgwDCwsFIAMEQCACIAZIBEAgBSAEIAIgBhBnRQ0GIAUoAgghBCAFKAIMIQILIAIgBmshAgtBASEGDAELDAELA0ACfwJAIAJBCEgEQCAFIAQgAkEAEGdFDQYgBSgCCCEEIAUoAgwiAkEISARAQQEhAwwCCwsgC0GQAWogBCACQXhqdUH/AXEiA0ECdGooAgAiCAR/IAMgC0GQCWpqLQAAIQMgAiAIawVBCSEDDAELDAELIAUgBCACIAsgAxCgASIDQQBIDQQgBSgCCCEEIAUoAgwLIQIgA0EEdiEIIANBD3EiAwRAIAIgA0gEQCAFIAQgAiADEGdFDQUgBSgCCCEEIAUoAgwhAgsgAiADayECBSAIQQ9HDQJBDyEICyAGQQFqIAhqIgZBwABIDQALCyAKQQFqIgogACgC8AJIDQALIAAoAhghACAFKAIAIQEgBSgCBCEGDAELIAkkBkEADwsFIAYhACAKIQEgAyEGCyAAIAE2AgAgACAGNgIEIAcgBDYCDCAHIAI2AhAgByAJKQIANwIUIAcgCSkCCDcCHCAHIAkoAhA2AiQLIAcgBygCLEF/ajYCLCAJJAZBAQueCgERfyMGIQUjBkGgAmokBiAAKALUAyEIIAAoApgCBEAgCCgCLEUEQCAIKAIQQQgQOSEEIAAoAtADIgIgBCACKAIYajYCGCAIQQA2AhAgAigCCCECIAAgAkH/AHFBCGoRAABFBEAgBSQGQQAPCyAAKALUAkEASgRAQQAhAgNAIAhBGGogAkECdGpBADYCACACQQFqIgIgACgC1AJIDQALCyAIQQA2AhQgCCAAKAKYAjYCLCAAKAK4A0UEQCAIQQA2AigLCwsgBUGAAmohByAFIQogCCgCKEUEQAJAIAAoAqADIQ5BASAAKAKoAyICdCELQX8gAnQhDyAAKAKwAyEQIAcgADYCECAHIAAoAhgiAigCADYCACAHIAIoAgQ2AgQgCCgCDCEFIAgoAhAhBCABKAIAIQ0gCEFAaygCACEMIAAoApwDIQICQAJ/AkAgCCgCFCIJDQBBACEBAkADQAJAAn8CQCAEQQhIBEAgByAFIARBABBnRQ0FIAcoAgghBSAHKAIMIgRBCEgEQEEBIQMMAgsLIAxBkAFqIAUgBEF4anVB/wFxIgNBAnRqKAIAIgkEfyADIAxBkAlqai0AACEGIAQgCWsFQQkhAwwBCwwBCyAHIAUgBCAMIAMQoAEiBkEASA0DIAcoAgghBSAHKAIMCyEEIAZBBHYhAwJ/AkACQAJAIAZBD3EOAgACAQsgA0EPRw0DIAQhBkEADAILIAAoAgAiBkH5ADYCFCAGKAIEIQYgAEF/IAZBP3FBsgVqEQMACyAEQQFIBEAgByAFIARBARBnRQ0EIAcoAgwhBCAHKAIIIQULIAsgDyAFQQEgBEF/aiIGdHEbCyEJIAMhBCACIQMgBiECA38CfyADQQJ0IBBqKAIAQQF0IA1qIgYuAQAEQCACQQFIBEAgByAFIAJBARBnRQ0GIAcoAgwhAiAHKAIIIQULIAVBASACQX9qIgJ0cQRAIAYuAQAiEiIRIAtxRQRAIBJBf0oEQCAGIAsgEWo7AQAFIAYgDyARajsBAAsLCwUgBEF/aiEGIARBAUgEfyACDAIFIAYLIQQLIANBAWohBiADIA5IBH8gBiEDDAIFIAYhAyACCwsLIQQgCQRAIANBAnQgEGooAgAiAkEBdCANaiAJOwEAIAFBAnQgCmogAjYCACABQQFqIQELIANBAWohAiADIA5IDQEgBCEBQQAMBAsLQQEgA3QhBiADBEAgBCADSARAIAcgBSAEIAMQZ0UNAiAHKAIMIQQgBygCCCEFCyAGIANBAnRB8DFqKAIAIAUgBCADayIEdXFqIgkEQCABIQYMAwUgBCEBQQAMBAsABUEBIQkgASEGDAILAAsMAgsgAiEDIAQhASAFIQIDQCADQQJ0IBBqKAIAQQF0IA1qIgUuAQAEQCABQQFIBEAgByACIAFBARBnRQRAIAYhAQwFCyAHKAIMIQEgBygCCCECCyACQQEgAUF/aiIBdHEEQCAFLgEAIgwiBCALcUUEQCAMQX9KBEAgBSAEIAtqOwEABSAFIAQgD2o7AQALCwsLIANBAWohBSADIA5IBEAgBSEDDAELCyACIQUgCUF/agshAyAAKAIYIgAgBygCADYCACAAIAcoAgQ2AgQgCCAFNgIMIAggATYCECAIIAM2AhQMAQsgAUUEQCAKJAZBAA8LA0AgAUF/aiIBQQJ0IApqKAIAQQF0IA1qQQA7AQAgAQ0ACyAKJAZBAA8LCyAIIAgoAixBf2o2AiwgCiQGQQELOgACfwJAAkACQAJAAkAgAA4PAAABAQECAQMDAwMDAgICBAtBAwwEC0EEDAMLQQEMAgtBAgwBC0EACwvEAwEIfyMGIQQjBkEgaiQGIAAoAtQDIQIgACgCmAIEQCACKAIsRQRAIAIoAhBBCBA5IQMgACgC0AMiBSADIAUoAhhqNgIYIAJBADYCECAFKAIIIQMgACADQf8AcUEIahEAAEUEQCAEJAZBAA8LIAAoAtQCQQBKBEBBACEDA0AgAkEYaiADQQJ0akEANgIAIANBAWoiAyAAKALUAkgNAAsLIAJBADYCFCACIAAoApgCNgIsIAAoArgDRQRAIAJBADYCKAsLCyAEIgYgADYCECAGIAAoAhgiBygCACIINgIAIAYgBygCBCIFNgIEIAIoAgwhAyACKAIQIQRBASAAKAKoA3QhCSAAKALwAkEASgRAAkBBACEFAkADQCAEQQFIBEAgBiADIARBARBnRQ0CIAYoAgwhBCAGKAIIIQMLIANBASAEQX9qIgR0cQRAIAVBAnQgAWooAgAiCCAJIAgvAQByOwEACyAFQQFqIgUgACgC8AJIDQALIAAoAhghByAGKAIAIQggBigCBCEFDAELIAYkBkEADwsLIAcgCDYCACAHIAU2AgQgAiADNgIMIAIgBDYCECACIAIoAixBf2o2AiwgBiQGQQELtgYBDH8jBiEEIwZBIGokBiAAKALUAyEFAkAgACgCmAIEQCAFKAIsRQRAIAUoAhBBCBA5IQYgACgC0AMiAiAGIAIoAhhqNgIYIAVBADYCECACKAIIIQIgACACQf8AcUEIahEAAEUNAiAAKALUAkEASgRAQQAhAgNAIAVBGGogAkECdGpBADYCACACQQFqIgIgACgC1AJIDQALCyAFQQA2AhQgBSAAKAKYAjYCLCAAKAK4A0UEQCAFQQA2AigLCwsgBSgCKEUEQCAFKAIUIgIEQCACQX9qIQMFIAQgADYCECAEIAAoAhgiAigCADYCACAEIAIoAgQ2AgQgBSgCDCEGIAUoAhAhAiAAKAKoAyEKIAAoArADIQsgASgCACEMIAVBQGsoAgAhCCAAKAKcAyIDIAAoAqADIg1KBEBBACEDIAYhAQUCQCAGIQEgAyEGAkADQAJAAn8CQCACQQhIBEAgBCABIAJBABBnRQ0FIAQoAgghASAEKAIMIgJBCEgEQEEBIQMMAgsLIAhBkAFqIAEgAkF4anVB/wFxIgNBAnRqKAIAIgkEfyADIAhBkAlqai0AACEHIAIgCWsFQQkhAwwBCwwBCyAEIAEgAiAIIAMQoAEiB0EASA0DIAQoAgghASAEKAIMCyECIAdBBHYhAyAHQQ9xIgcEQCACIAdIBEAgBCABIAIgBxBnRQ0EIAQoAgwhAiAEKAIIIQELIAMgBmoiA0ECdCALaigCAEEBdCAMaiAHQQJ0QfAxaigCACIGIAEgAiAHayICdXEiCUEAIAYgCSAHQQJ0QewxaigCAEobayAKdDsBAAUCQCADBEAgA0EPRgRADAIFDAQLAAtBACEDDAULIAZBD2ohAwsgA0EBaiEGIAMgDUgNAUEAIQMMAwsLIAIgA0gEQCAEIAEgAiADEGdFDQYgBCgCDCECIAQoAgghAQtBASADdEF/aiADQQJ0QfAxaigCACABIAIgA2siAnVxaiEDDAELDAQLCyAAKAIYIgAgBCgCADYCACAAIAQoAgQ2AgQgBSABNgIMIAUgAjYCEAsgBSADNgIUCyAFIAUoAixBf2o2AiwgBCQGQQEPCyAEJAZBAAuWBgENfyMGIQQjBkEwaiQGIAAoAtQDIQIgACgCqAMhCyAAKAKYAgRAIAIoAixFBEAgAigCEEEIEDkhAyAAKALQAyIIIAMgCCgCGGo2AhggAkEANgIQIAgoAgghAyAAIANB/wBxQQhqEQAARQRAIAQkBkEADwsgACgC1AJBAEoEQEEAIQMDQCACQRhqIANBAnRqQQA2AgAgA0EBaiIDIAAoAtQCSA0ACwsgAkEANgIUIAIgACgCmAI2AiwgACgCuANFBEAgAkEANgIoCwsLIARBFGohBiAEIQkgAigCKEUEQCAGIAA2AhAgBiAAKAIYIgcoAgAiBTYCACAGIAcoAgQiCDYCBCACKAIMIQMgAigCECEEIAkgAikCFDcCACAJIAIpAhw3AgggCSACKAIkNgIQIAAoAvACQQBKBEACQEEAIQgCQANAIAhBAnQgAWooAgAhDiACQTBqIABB2AJqIABB9AJqIAhBAnRqKAIAIg1BAnRqKAIAKAIUQQJ0aigCACEKAn8CQCAEQQhIBEAgBiADIARBABBnRQ0EIAYoAgghAyAGKAIMIgRBCEgEQEEBIQUMAgsLIApBkAFqIAMgBEF4anVB/wFxIgVBAnRqKAIAIgcEfyAFIApBkAlqai0AACEFIAQgB2sFQQkhBQwBCwwBCyAGIAMgBCAKIAUQoAEiA0EASA0CIAMhBSAGKAIIIQMgBigCDAshBCAFBH8gBCAFSARAIAYgAyAEIAUQZ0UNAyAGKAIMIQQgBigCCCEDCyAFQQJ0QfAxaigCACIKIAMgBCAFayIEdXEiB0EAIAogByAFQQJ0QewxaigCAEobawVBAAsgCUEEaiANQQJ0aiIFKAIAaiEHIAUgBzYCACAOIAcgC3Q7AQAgCEEBaiIIIAAoAvACSA0ACyAAKAIYIQcgBigCACEFIAYoAgQhCAwBCyAJJAZBAA8LCyAHIAU2AgAgByAINgIEIAIgAzYCDCACIAQ2AhAgAiAJKQIANwIUIAIgCSkCCDcCHCACIAkoAhA2AiQLIAIgAigCLEF/ajYCLCAJJAZBAQsvAQJ/IAAoAtQDIgEoAhBBCBA5IQIgACgC0AMiACACIAAoAhhqNgIYIAFBADYCEAvsDAEIfyAAKALUAyEEIAAoApwDIgJFIQMCQCAAKALgAUUEQAJAAkAgA0UNACAAKAKkAw0AIAAoAqgDDQAgACgC3AEgACgCoAMiAUHAAEhyBEAgACgCtAMgAUcNAQsMAQsgACgCACIBQf0ANgIUIAEoAgQhASAAQX8gAUE/cUGyBWoRAwALIARBJkEnIAAoArQDQT9GGzYCBCAAKALUAkEASgRAQQAhAQNAIABBASAAQdgCaiABQQJ0aigCACICKAIUIgMgBEHEAGogA0ECdGoQ+QEgACgCtAMEQCAAQQAgAigCGCICIARB1ABqIAJBAnRqEPkBCyAEQRhqIAFBAnRqQQA2AgAgAUEBaiIBIAAoAtQCSA0ACwsgACgC8AJBAEwNAUEAIQEDQCAEQeQAaiABQQJ0aiAEQcQAaiAAQdgCaiAAQfQCaiABQQJ0aigCAEECdGooAgAiAygCFEECdGooAgA2AgAgBEGMAWogAUECdGogBEHUAGogAygCGEECdGooAgA2AgAgBEG0AWogAUECdGogAygCNAR/An8gAygCKCECIAMoAiQhAwJAAkACQAJAAkACQAJAAkAgACgCtAMOMQAHBwEHBwcHAgcHBwcHBwMHBwcHBwcHBwQHBwcHBwcHBwcHBQcHBwcHBwcHBwcHBwYHC0EBDAcLIAJBAUdBA3RBoCtqIANBAUdBAnRqKAIAQQFqDAYLIAJBf2oiAkECIAJBAkkbQQxsQbAraiADQX9qIgJBAiACQQJJG0ECdGooAgBBAWoMBQsgAkF/aiICQQMgAkEDSRtBBHRB4CtqIANBf2oiAkEDIAJBA0kbQQJ0aigCAEEBagwECyACQX9qIgJBBCACQQRJG0EUbEGgLGogA0F/aiICQQQgAkEESRtBAnRqKAIAQQFqDAMLIAJBf2oiAkEFIAJBBUkbQRhsQZAtaiADQX9qIgJBBSACQQVJG0ECdGooAgBBAWoMAgsgAkF/aiICQQYgAkEGSRtBHGxBoC5qIANBf2oiAkEGIAJBBkkbQQJ0aigCAEEBagwBCyACQX9qIgJBByACQQdJG0EFdEHwL2ogA0F/aiICQQcgAkEHSRtBAnRqKAIAQQFqCwVBAAs2AgAgAUEBaiIBIAAoAvACSA0ACwwBCyAAKAKgAyEBAkACQCADBEAgAQ0BBSABIAJIDQEgASAAKAK0A0oNASAAKALUAkEBRw0BCyAAKAKkAyIBBEAgAUF/aiIBIAAoAqgDRw0BBSAAKAKoAyEBCyABQQ1KDQAMAQsgACgCACIBQRE2AhQgASACNgIYIAAoAgAgACgCoAM2AhwgACgCACAAKAKkAzYCICAAKAIAIAAoAqgDNgIkIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgACgC1AIiAUEASgR/IABBpANqIQVBACECA38gAEHYAmogAkECdGooAgAoAgQhBiAAKAKgASEIIAAoApwDIgEEQCAGQQh0IAhqKAIAQQBIBEAgACgCACIBQfYANgIUIAEgBjYCGCAAKAIAQQA2AhwgACgCACgCBCEBIABBfyABQT9xQbIFahEDACAAKAKcAyEBCwVBACEBCyABIAAoAqADTARAA0AgBSgCACAGQQh0IAhqIAFBAnRqIgMoAgAiB0EAIAdBAEobRwRAIAAoAgAiB0H2ADYCFCAHIAY2AhggACgCACABNgIcIAAoAgAoAgQhByAAQX8gB0E/cUGyBWoRAwALIAMgACgCqAM2AgAgAUEBaiEDIAEgACgCoANIBEAgAyEBDAELCwsgAkEBaiICIAAoAtQCIgFIDQAgBQsFIABBpANqCyECIARBIkEjIAAoApwDIgNFIgUbQSRBJSAFGyACKAIARRs2AgQgAUEASgRAAkAgBEFAayEGQQAhAQNAIABB2AJqIAFBAnRqKAIAIQUgAwRAIARBMGogBSgCGCIFQQJ0aiEDIABBACAFIAMQ+QEgBiADKAIANgIABSACKAIARQRAIABBASAFKAIUIgMgBEEwaiADQQJ0ahD5AQsLIARBGGogAUECdGpBADYCACABQQFqIgEgACgC1AJODQEgACgCnAMhAwwAAAsACwsgBEEANgIUIARBADYCECAEQQA2AgwgBEEANgIoIAQgACgCmAI2AiwPCyAEQQA2AhAgBEEANgIMIARBADYCKCAEIAAoApgCNgIsC9cBAQN/IAAoAgQoAgAhAiAAIABBAUHcASACQT9xQcoBahEEACIBNgLUAyABQfYANgIAIAFB9wA2AgggACgC4AFFBEAgAUIANwJEIAFCADcCTCABQQA2AlQgAUEANgJYIAFBADYCXCABQQA2AmAPCyAAKAIEKAIAIQIgACAAQQEgACgCJEEIdCACQT9xQcoBahEEACIDNgKgASAAKAIkQQBKBEBBACECA0AgAyACQQh0akF/QYACEEUaIAJBAWoiAiAAKAIkSA0ACwsgAUIANwIwIAFCADcCOAvDAgEJfyAAKAK4AyECIAAoAgAiA0H8ADYCFCADIAI2AhggACgCACABNgIcIAAoAgAoAgQhAyAAQX8gA0E/cUGyBWoRAwAgAUEBakEHcUHQAXIhBCABQQJqQQdxQdABciEFIAFBB2pBB3FB0AFyIQYgAUEGakEHcUHQAXIhBwJAA0ACQCACQcABSCEIIAIgBEYgAkF4cUHQAUdyIAIgBUZyIQlBAkEBIAIgBkYgAiAHRnIbIQoDQAJAIAAoAgAiAUHjADYCFCABIAI2AhggACgCAEECQQMgCiAJGyAIGyIDNgIcIAAoAgAoAgQhASAAQQQgAUE/cUGyBWoRAwACQAJAIANBA3FBAWsOAwQCAAELQQEhAAwFCwwBCwsgABCxAgRAIAAoArgDIQIMAgVBACEADAMLAAsLIABBADYCuANBAQ8LIAALYgEDfyAAKAIYIQIgAUEATARADwsgAigCBCIDIAFIBEADQCACKAIMIQQgACAEQf8AcUEIahEAABogASADayIBIAIoAgQiA0oNAAsLIAIgASACKAIAajYCACACIAMgAWs2AgQL7wEBBH9BBEEEEIsBIQQDQCACQQNHBEAgAkECdCEFQQAhAwNAIANBBEcEQCAEKAIAIAMgBWpBA3RqIAJBBHQgAGogA0ECdGoqAgC7OQMAIANBAWohAwwBCwsgAkEBaiECDAELCyAEKAIAIgBCADcDYCAAQgA3A2ggAEIANwNwIABEAAAAAAAA8D85A3ggBBDWARpBACEAA0AgAEEDRwRAIABBAnQhA0EAIQIDQCACQQRHBEAgAEEEdCABaiACQQJ0aiAEKAIAIAIgA2pBA3RqKwMAtjgCACACQQFqIQIMAQsLIABBAWohAAwBCwsgBBBJC70BAQN/IAAoAhgiASgCIEEBQYAgIAEoAhwQYSICBEAgASABKAIgNgIAIAEgAjYCBCABQQA2AiRBAQ8LIAEoAiQEQCAAKAIAIgJBKzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALAn8gACEDIAAoAgAiAEH7ADYCFCAAKAIEIQAgAwtBfyAAQT9xQbIFahEDACABKAIgQX86AAAgASgCIEFZOgABIAEgASgCIDYCACABQQI2AgQgAUEANgIkQQELDAAgACgCGEEBNgIkC5YBAQJ/IAAoAhgiAkUEQCAAKAIEKAIAIQIgACAAQQBBKCACQT9xQcoBahEEACIDNgIYIAAoAgQoAgAhAiADIABBAEGAICACQT9xQcoBahEEADYCICAAKAIYIQILIAJB9AA2AgggAkHTADYCDCACQS82AhAgAkEhNgIUIAJB9QA2AhggAiABNgIcIAJBADYCBCACQQA2AgAL6gkBEn8jBiETIwZBgAJqJAYgACgC0AIhFiATIgAhBiABKAJUIQFBCCEJA0ACfwJAIAIuARAiByACLgEgIgVyQf//A3EEfwwBBSACLgEwBH9BACEFDAIFIAJBQGsuAQAEf0EAIQUMAwUgAi4BUAR/QQAhBQwEBSACLgFgBH9BACEFDAUFIAIuAXAEf0EAIQUMBgUgBiABKAIAIAIuAQBBAnRsIgU2AgAgBiAFNgIgIAZBQGsgBTYCACAGIAU2AmAgBiAFNgKAASAGIAU2AqABIAYgBTYCwAFBOAsLCwsLCwwBCyACLgFwIAEoAuABbCIIIAIuATAgASgCYGwiC2oiDCACLgFQIAEoAqABbCINIAcgASgCIGwiB2oiCmpBocsAbCIOIAxBu4J/bGoiDCAHIAhqQbNGbCIQIAhBjhNsamohCCAOIApBhGdsaiIKIBAgB0GL4ABsamohByAKIAsgDWpB/dt+bCIKIA1Bs4MBbGpqIQ0gBiAHIAEoAoABIAJBQGsuAQBBDXRsIg4gASgCACACLgEAQQ10bEGACHIiEGoiESABQUBrKAIAIAVBEHRBEHVsIgUgAi4BYCABKALAAWwiEmpB0SJsIhQgBUH+MGxqIgVqIhVqQQt1NgIAIAYgFSAHa0ELdTYC4AEgBiAMIAogC0HUxAFsamoiCyAQIA5rIgcgFCASQd+Jf2xqIgxqIgpqQQt1NgIgIAYgCiALa0ELdTYCwAEgBkFAayANIAcgDGsiC2pBC3U2AgAgBiALIA1rQQt1NgKgASAGIAggESAFayIFakELdTYCYCAFIAhrQQt1IQVBIAtBAnQgBmogBTYCACAGQQRqIQYgAUEEaiEBIAJBAmohAiAJQX9qIQUgCUEBSwRAIAUhCQwBCwsgFkGAfWohCUEAIQEDQCAEIAFBAnQgA2ooAgBqIQYgACgCAEGQgAFqIQUCQAJAIAAoAgQiCCAAKAIIIgJyDQAgACgCDARAQQAhAgwBBSAAKAIQBEBBACECDAIFIAAoAhQEQEEAIQIMAwUgACgCGARAQQAhAgwEBSAAKAIcBEBBACECDAUFIAYgCSAFQQV2Qf8HcWosAAAiAjoAACAGQQFqIAJBBxBFGgsLCwsLDAELIAAoAhwiCyAAKAIMIg1qIg8gCCAAKAIUIgdqIgxqQaHLAGwiCiAPQbuCf2xqIg8gCCALakGzRmwiDiALQY4TbGpqIQsgCiAMQYRnbGoiDCAOIAhBi+AAbGpqIQggDCAHIA1qQf3bfmwiDCAHQbODAWxqaiEHIAYgCSAFIAAoAhAiCmpBDXQiDiAAKAIYIhAgAmpB0SJsIhEgAkH+MGxqIgJqIhIgCGpBEnZB/wdxaiwAADoAACAGIAkgEiAIa0ESdkH/B3FqLAAAOgAHIAYgCSAFIAprQQ10IgUgESAQQd+Jf2xqIghqIgogDyAMIA1B1MQBbGpqIg1qQRJ2Qf8HcWosAAA6AAEgBiAJIAogDWtBEnZB/wdxaiwAADoABiAGIAkgBSAIayIFIAdqQRJ2Qf8HcWosAAA6AAIgBiAJIAUgB2tBEnZB/wdxaiwAADoABSAGIAkgDiACayICIAtqQRJ2Qf8HcWosAAA6AAMgBiAJIAIgC2tBEnZB/wdxaiwAADoABAsgAEEgaiEAIAFBAWoiAUEIRw0ACyATJAYLNAAgBCADKAIAaiAAKALQAkGAfWogAi4BACABKAJUKAIAbEGEIGpBA3ZB/wdxaiwAADoAAAvDAQEFfyAEIAMoAgBqIgUgACgC0AJBgH1qIgAgAi4BECABKAJUIgEoAiBsIgYgAi4BACABKAIAbEGEIGoiB2oiCCACLgECIAEoAgRsIgkgAi4BEiABKAIkbCIBaiICakEDdkH/B3FqLAAAOgAAIAUgCCACa0EDdkH/B3EgAGosAAA6AAEgBCADKAIEaiICIAcgBmsiAyAJIAFrIgFqQQN2Qf8HcSAAaiwAADoAACACIAMgAWtBA3ZB/wdxIABqLAAAOgABC6gFAQl/IwYhBSMGQTBqJAYgACgC0AIhCCAFIAEoAlQiBigCACACLgEAQQ10bEGACHIiCSAGQUBrKAIAIAIuASBBoS1sbCIHaiIBIAYoAiAgAi4BEEGxzgBsbCIAakELdSILNgIAIAUgASAAa0ELdTYCGCAFIAkgB0F+bGpBC3U2AgwgBSAGKAIEIAIuAQJBDXRsQYAIciIJIAYoAkQgAi4BIkGhLWxsIgdqIgEgBigCJCACLgESQbHOAGxsIgBqQQt1Igw2AgQgBSABIABrQQt1NgIcIAUgCSAHQX5sakELdSINNgIQIAUgBigCCCACLgEEQQ10bEGACHIiCSAGKAJIIAIuASRBoS1sbCIHaiIBIAYoAiggAi4BFEGxzgBsbCIAakELdSIKNgIIIAUgASAAa0ELdSIGNgIgIAUgCSAHQX5sakELdSIJNgIUIAQgAygCAGoiByAIQYB9aiIIIAtBDXRBgICIwABqIgIgCkGhLWxqIgEgDEGxzgBsIgBqQRJ2Qf8HcWosAAA6AAAgByAIIAEgAGtBEnZB/wdxaiwAADoAAiAHIAggAiAKQb6lf2xqQRJ2Qf8HcWosAAA6AAEgBCADKAIEaiIHIAggBSgCDEENdEGAgIjAAGoiAiAJQaEtbGoiASANQbHOAGwiAGpBEnZB/wdxaiwAADoAACAHIAggASAAa0ESdkH/B3FqLAAAOgACIAcgCCACIAlBvqV/bGpBEnZB/wdxaiwAADoAASAEIAMoAghqIgMgCCAFKAIYQQ10QYCAiMAAaiICIAZBoS1saiIBIAUoAhxBsc4AbCIAakESdkH/B3FqLAAAOgAAIAMgCCABIABrQRJ2Qf8HcWosAAA6AAIgAyAIIAIgBkG+pX9sakESdkH/B3FqLAAAOgABIAUkBgvsCQEIfyMGIQUjBkFAayQGIAAoAtACIQcgBSACLgEAIAEoAlQiCSgCAGwiCCACLgEgIAlBQGsoAgBsIgtqQQJ0IgEgAi4BECAJKAIgbCIAIAIuATAgCSgCYGwiBmpB0SJsQYAIaiIKIABB/jBsakELdSIAajYCACAFIAEgAGs2AjAgBSAIIAtrQQJ0IgEgCiAGQd+Jf2xqQQt1IgBqNgIQIAUgASAAazYCICAFIAIuAQIgCSgCBGwiCCACLgEiIAkoAkRsIgtqQQJ0IgEgAi4BEiAJKAIkbCIAIAIuATIgCSgCZGwiBmpB0SJsQYAIaiIKIABB/jBsakELdSIAajYCBCAFIAEgAGs2AjQgBSAIIAtrQQJ0IgEgCiAGQd+Jf2xqQQt1IgBqNgIUIAUgASAAazYCJCAFIAIuAQQgCSgCCGwiCCACLgEkIAkoAkhsIgtqQQJ0IgEgAi4BFCAJKAIobCIAIAIuATQgCSgCaGwiBmpB0SJsQYAIaiIKIABB/jBsakELdSIAaiIMNgIIIAUgASAAazYCOCAFIAggC2tBAnQiASAKIAZB34l/bGpBC3UiAGo2AhggBSABIABrNgIoIAUgAi4BBiAJKAIMbCILIAIuASYgCSgCTGwiBmpBAnQiASACLgEWIAkoAixsIgAgAi4BNiAJKAJsbCIKakHRImxBgAhqIgIgAEH+MGxqQQt1IgBqIgg2AgwgBSABIABrNgI8IAUgCyAGa0ECdCIBIAIgCkHfiX9sakELdSIAaiILNgIcIAUgASAAazYCLCAEIAMoAgBqIgYgB0GAfWoiByAMIAUoAgBBkIABaiIKakENdCIBIAggBSgCBCIAakHRImwiAiAAQf4wbGoiAGpBEnZB/wdxaiwAADoAACAGIAcgASAAa0ESdkH/B3FqLAAAOgADIAYgByAKIAxrQQ10IgEgAiAIQd+Jf2xqIgBqQRJ2Qf8HcWosAAA6AAEgBiAHIAEgAGtBEnZB/wdxaiwAADoAAiAEIAMoAgRqIgggByAFKAIQQZCAAWoiBiAFKAIYIgpqQQ10IgEgCyAFKAIUIgBqQdEibCICIABB/jBsaiIAakESdkH/B3FqLAAAOgAAIAggByABIABrQRJ2Qf8HcWosAAA6AAMgCCAHIAYgCmtBDXQiASACIAtB34l/bGoiAGpBEnZB/wdxaiwAADoAASAIIAcgASAAa0ESdkH/B3FqLAAAOgACIAQgAygCCGoiCCAHIAUoAiBBkIABaiILIAUoAigiBmpBDXQiASAFKAIkIgAgBSgCLCIKakHRImwiAiAAQf4wbGoiAGpBEnZB/wdxaiwAADoAACAIIAcgASAAa0ESdkH/B3FqLAAAOgADIAggByALIAZrQQ10IgEgAiAKQd+Jf2xqIgBqQRJ2Qf8HcWosAAA6AAEgCCAHIAEgAGtBEnZB/wdxaiwAADoAAiAEIAMoAgxqIgYgByAFKAIwQZCAAWoiCiAFKAI4IgRqQQ10IgEgBSgCNCIAIAUoAjwiA2pB0SJsIgIgAEH+MGxqIgBqQRJ2Qf8HcWosAAA6AAAgBiAHIAEgAGtBEnZB/wdxaiwAADoAAyAGIAcgCiAEa0ENdCIBIAIgA0HfiX9saiIAakESdkH/B3FqLAAAOgABIAYgByABIABrQRJ2Qf8HcWosAAA6AAIgBSQGC98QAQp/IwYhBSMGQfAAaiQGIAAoAtACIQ4gASgCVCIIKAIAIAIuAQBBDXRsQYAIciEGIAUgAi4BICAIQUBrKAIAbCIBIAJBQGsuAQAgCCgCgAFsIgBqQcwybCINIAYgASAAayIJQdAWbGoiCmoiASACLgEQIAgoAiBsIgAgAi4BMCAIKAJgbCILakGaNWwiDCAAQfEgbGoiAGpBC3U2AgAgBSABIABrQQt1NgJQIAUgCiANayIBIAwgC0Hc9H5saiIAakELdTYCFCAFIAEgAGtBC3U2AjwgBSAGIAlBwKV/bGpBC3U2AiggBSACLgESIAgoAiRsIgAgAi4BMiAIKAJkbCIHakGaNWwiBiAAQfEgbGoiDSACLgEiIAgoAkRsIgEgAi4BQiAIKAKEAWwiAGpBzDJsIgkgCCgCBCACLgECQQ10bEGACHIiCiABIABrIgtB0BZsaiIMaiIAakELdTYCBCAFIAAgDWtBC3U2AlQgBSAGIAdB3PR+bGoiASAMIAlrIgBqQQt1NgIYIAVBQGsgACABa0ELdTYCACAFIAogC0HApX9sakELdTYCLCAFIAIuASQgCCgCSGwiASACLgFEIAgoAogBbCIAakHMMmwiBiAIKAIIIAIuAQRBDXRsQYAIciINIAEgAGsiCUHQFmxqIgpqIgEgAi4BFCAIKAIobCIAIAIuATQgCCgCaGwiC2pBmjVsIgwgAEHxIGxqIgBqQQt1NgIIIAUgASAAa0ELdTYCWCAFIAogBmsiASAMIAtB3PR+bGoiAGpBC3U2AhwgBSABIABrQQt1NgJEIAUgDSAJQcClf2xqQQt1NgIwIAUgAi4BJiAIKAJMbCIBIAIuAUYgCCgCjAFsIgBqQcwybCIGIAgoAgwgAi4BBkENdGxBgAhyIg0gASAAayIJQdAWbGoiCmoiASACLgEWIAgoAixsIgAgAi4BNiAIKAJsbCILakGaNWwiDCAAQfEgbGoiAGpBC3U2AgwgBSABIABrQQt1NgJcIAUgCiAGayIBIAwgC0Hc9H5saiIAakELdTYCICAFIAEgAGtBC3U2AkggBSANIAlBwKV/bGpBC3U2AjQgBSACLgEoIAgoAlBsIgEgAi4BSCAIKAKQAWwiAGpBzDJsIg0gCCgCECACLgEIQQ10bEGACHIiCSABIABrIgpB0BZsaiILaiIBIAIuARggCCgCMGwiACACLgE4IAgoAnBsIgxqQZo1bCICIABB8SBsaiIAakELdTYCECAFIAEgAGtBC3U2AmAgBSALIA1rIgEgAiAMQdz0fmxqIgBqQQt1NgIkIAUgASAAa0ELdTYCTCAFIAkgCkHApX9sakELdTYCOCAEIAMoAgBqIgYgDkGAfWoiByAFKAIIIgEgBSgCECIAakHMMmwiDSAFKAIAQQ10QYCAiMAAaiIJIAEgAGsiCkHQFmxqIgtqIgEgBSgCBCIAIAUoAgwiDGpBmjVsIgIgAEHxIGxqIgBqQRJ2Qf8HcWosAAA6AAAgBiAHIAEgAGtBEnZB/wdxaiwAADoABCAGIAcgCyANayIBIAIgDEHc9H5saiIAakESdkH/B3FqLAAAOgABIAYgByABIABrQRJ2Qf8HcWosAAA6AAMgBiAHIAkgCkHApX9sakESdkH/B3FqLAAAOgACIAQgAygCBGoiBiAHIAUoAhwiASAFKAIkIgBqQcwybCINIAUoAhRBDXRBgICIwABqIgkgASAAayIKQdAWbGoiC2oiASAFKAIYIgAgBSgCICIMakGaNWwiAiAAQfEgbGoiAGpBEnZB/wdxaiwAADoAACAGIAcgASAAa0ESdkH/B3FqLAAAOgAEIAYgByALIA1rIgEgAiAMQdz0fmxqIgBqQRJ2Qf8HcWosAAA6AAEgBiAHIAEgAGtBEnZB/wdxaiwAADoAAyAGIAcgCSAKQcClf2xqQRJ2Qf8HcWosAAA6AAIgBCADKAIIaiIGIAcgBSgCMCIBIAUoAjgiAGpBzDJsIg0gBSgCKEENdEGAgIjAAGoiCSABIABrIgpB0BZsaiILaiIBIAUoAiwiACAFKAI0IgxqQZo1bCICIABB8SBsaiIAakESdkH/B3FqLAAAOgAAIAYgByABIABrQRJ2Qf8HcWosAAA6AAQgBiAHIAsgDWsiASACIAxB3PR+bGoiAGpBEnZB/wdxaiwAADoAASAGIAcgASAAa0ESdkH/B3FqLAAAOgADIAYgByAJIApBwKV/bGpBEnZB/wdxaiwAADoAAiAEIAMoAgxqIgYgByAFKAJEIgEgBSgCTCIAakHMMmwiDSAFKAI8QQ10QYCAiMAAaiIJIAEgAGsiCkHQFmxqIgtqIgEgBUFAaygCACIAIAUoAkgiDGpBmjVsIgIgAEHxIGxqIgBqQRJ2Qf8HcWosAAA6AAAgBiAHIAEgAGtBEnZB/wdxaiwAADoABCAGIAcgCyANayIBIAIgDEHc9H5saiIAakESdkH/B3FqLAAAOgABIAYgByABIABrQRJ2Qf8HcWosAAA6AAMgBiAHIAkgCkHApX9sakESdkH/B3FqLAAAOgACIAQgAygCEGoiCSAHIAUoAlgiASAFKAJgIgBqQcwybCIKIAUoAlBBDXRBgICIwABqIgsgASAAayIMQdAWbGoiBGoiASAFKAJUIgAgBSgCXCIDakGaNWwiAiAAQfEgbGoiAGpBEnZB/wdxaiwAADoAACAJIAcgASAAa0ESdkH/B3FqLAAAOgAEIAkgByAEIAprIgEgAiADQdz0fmxqIgBqQRJ2Qf8HcWosAAA6AAEgCSAHIAEgAGtBEnZB/wdxaiwAADoAAyAJIAcgCyAMQcClf2xqQRJ2Qf8HcWosAAA6AAIgBSQGC98EAQ9/IwYhECMGQZABaiQGIAAoAtACIRMgECIAIQUgASgCVCEBA0AgBSABKAIAIAIuAQBBDXRsQYAIciIKIAEoAoABIAJBQGsuAQBBoS1sbCIMaiINIAFBQGsoAgAgAi4BIEGxzgBsbCIOaiIPIAIuARAgASgCIGwiBiACLgFQIAEoAqABbCIIakG2F2wiESAGIAIuATAgASgCYGwiCWpBDXRqIhJqQQt1NgIAIAUgDyASa0ELdTYCeCAFIAogDEF+bGpBC3UiCiAGIAlrIAhrQQJ0IgZqNgIYIAUgCiAGazYCYCAFIA0gDmsiBiARIAggCWtBDXRqIghqQQt1NgIwIAUgBiAIa0ELdTYCSCACQQJqIQIgAUEEaiEBIAVBBGohBSAHQQFqIgdBBkcNAAsgE0GAfWohAkEAIQEDQCAEIAFBAnQgA2ooAgBqIgUgACgCBCIHIAAoAhQiBmpBthdsIgsgByAAKAIMIghqQQ10aiIKIAAoAgBBDXRBgICIwABqIgwgACgCEEGhLWwiCWoiDSAAKAIIQbHOAGwiDmoiD2pBEnZB/wdxIAJqLAAAOgAAIAUgDyAKa0ESdkH/B3EgAmosAAA6AAUgBSAHIAhrIAZrQQ10IgcgDCAJayAJayIJakESdkH/B3EgAmosAAA6AAEgBSAJIAdrQRJ2Qf8HcSACaiwAADoABCAFIA0gDmsiByALIAYgCGtBDXRqIgZqQRJ2Qf8HcSACaiwAADoAAiAFIAcgBmtBEnZB/wdxIAJqLAAAOgADIABBGGohACABQQFqIgFBBkcNAAsgECQGC+0BAQR/QQRBBBCLASEEA0AgAkEDRwRAIAJBAnQhBUEAIQMDQCADQQRHBEAgBCgCACADIAVqQQN0aiACQQV0IABqIANBA3RqKwMAOQMAIANBAWohAwwBCwsgAkEBaiECDAELCyAEKAIAIgBCADcDYCAAQgA3A2ggAEIANwNwIABEAAAAAAAA8D85A3ggBBDWARpBACEAA0AgAEEDRwRAIABBAnQhA0EAIQIDQCACQQRHBEAgAEEFdCABaiACQQN0aiAEKAIAIAIgA2pBA3RqKwMAOQMAIAJBAWohAgwBCwsgAEEBaiEADAELCyAEEEkLtQYBFH8jBiEVIwZB0AFqJAYgACgC0AIhGCAVIgAhBSABKAJUIQEDQCACQUBrLgEAIAEoAoABbCIHIAIuAWAgASgCwAFsIgZrQbc4bCIOIAIuASAgAUFAaygCAGwiCSAHa0GSFGwiESABKAIAIAIuAQBBDXRsQYAIciIPIAdBlYp/bGpqaiEKIAIuARAgASgCIGwiCyACLgEwIAEoAmBsIghqQe87bCISIAsgCGtB8wpsIhNqIAggAi4BUCABKAKgAWwiCGpB4ad/bCIUaiENIAUgDyAGIAlqIhZBxtEAbGoiFyAOIAZBg3tsamoiBiAIIAtqQaMnbCILIBIgE2tqIg5qQQt1NgIAIAUgBiAOa0ELdTYCqAEgBSAKIA1qQQt1NgIcIAUgCiANa0ELdTYCjAEgBSAXIBEgCUHx4X5samoiBiAUIAsgCEHe9wBsamoiCWpBC3U2AjggBSAGIAlrQQt1NgJwIAUgDyAHIBZrQcHaAGxqQQt1NgJUIAJBAmohAiABQQRqIQEgBUEEaiEFIAxBAWoiDEEHRw0ACyAYQYB9aiECQQAhAQNAIAAoAhAiDCAAKAIYIgdrQbc4bCINIAAoAggiBiAMa0GSFGwiECAAKAIAQQ10QYCAiMAAaiIJIAxBlYp/bGpqaiEPIAAoAgQiCiAAKAIMIgVqQe87bCIOIAogBWtB8wpsIhFqIAUgACgCFCILakHhp39sIhJqIQggBCABQQJ0IANqKAIAaiIFIAIgCSAGIAdqIhNBxtEAbGoiFCANIAdBg3tsamoiByAKIAtqQaMnbCIKIA4gEWtqIg1qQRJ2Qf8HcWosAAA6AAAgBSACIAcgDWtBEnZB/wdxaiwAADoABiAFIAIgCCAPakESdkH/B3FqLAAAOgABIAUgAiAPIAhrQRJ2Qf8HcWosAAA6AAUgBSACIBQgECAGQfHhfmxqaiIHIBIgCiALQd73AGxqaiIGakESdkH/B3FqLAAAOgACIAUgAiAHIAZrQRJ2Qf8HcWosAAA6AAQgBSACIAkgDCATa0HB2gBsakESdkH/B3FqLAAAOgADIABBHGohACABQQFqIgFBB0cNAAsgFSQGC6IHARR/IwYhFSMGQaACaiQGIAAoAtACIRggFSIAIQUgASgCVCEBA0AgASgCACACLgEAQQ10bEGACHIiByABKALAASACLgFgQaEtbGwiBmohCCAHIAZrIAZrIhAgAi4BICABQUBrKAIAbCIGIAJBQGsuAQAgASgCgAFsIgdrIhFBoS1saiEJIAIuARAgASgCIGwiCiACLgFQIAEoAqABbCIMakGXOmwhDSAFIAggBiAHakGH1QBsIhIgB0HcD2wiE2tqIhQgCiACLgFwIAEoAuABbCIHakH6HmwiFiANIAEoAmAgAi4BMEHPsX9sbCIOa2oiF2pBC3U2AgAgBSAUIBdrQQt1NgKAAiAFIAkgCiAMayAHa0GxzgBsIgpqQQt1NgIgIAUgCSAKa0ELdTYC4AEgBUFAayAGQavFAGwiBiAIIBJraiIJIA0gDiAMIAdrQZHZAGwiB2tqIgpqQQt1NgIAIAUgCSAKa0ELdTYCwAEgBSATIAggBmtqIgggFiAHIA5qaiIGakELdTYCYCAFIAggBmtBC3U2AqABIAUgECARQb6lf2xqQQt1NgKAASACQQJqIQIgAUEEaiEBIAVBBGohBSALQQFqIgtBCEcNAAsgGEGAfWohAkEAIQEDQCAAKAIAQQ10QYCAiMAAaiIIIAAoAhhBoS1sIgVqIQsgCCAFayAFayIOIAAoAggiCCAAKAIQIgZrIg9BoS1saiEHIAAoAgQiCSAAKAIUIgpqQZc6bCEMIAQgAUECdCADaigCAGoiBSACIAsgBiAIakGH1QBsIhAgBkHcD2wiEWtqIhIgCSAAKAIcIgZqQfoebCITIAwgACgCDEHPsX9sIg1raiIUakESdkH/B3FqLAAAOgAAIAUgAiASIBRrQRJ2Qf8HcWosAAA6AAggBSACIAcgCSAKayAGa0GxzgBsIglqQRJ2Qf8HcWosAAA6AAEgBSACIAcgCWtBEnZB/wdxaiwAADoAByAFIAIgCEGrxQBsIgggCyAQa2oiByAMIA0gCiAGa0GR2QBsIgZraiIJakESdkH/B3FqLAAAOgACIAUgAiAHIAlrQRJ2Qf8HcWosAAA6AAYgBSACIBEgCyAIa2oiCyATIAYgDWpqIghqQRJ2Qf8HcWosAAA6AAMgBSACIAsgCGtBEnZB/wdxaiwAADoABSAFIAIgDiAPQb6lf2xqQRJ2Qf8HcWosAAA6AAQgAEEgaiEAIAFBAWoiAUEJRw0ACyAVJAYL/gcBFX8jBiEVIwZBwAJqJAYgACgC0AIhGSAVIgAhBSABKAJUIQEDQCACLgEwIAEoAmBsIgYgAi4BcCABKALgAWwiCmohByAFIAEoAgAgAi4BAEENdGxBgAhyIgkgAkFAay4BACABKAKAAWwiC0GdyQBsaiIQIAIuASAgAUFAaygCAGwiDCACLgFgIAEoAsABbCIRakGaNWwiDSAMQfEgbGoiDGoiDiAGIAprIgpB4xNsIhIgAi4BUCABKAKgAWwiFEENdCIPaiIWIAdB7zxsIhcgAi4BECABKAIgbCIGQbPZAGxqaiIYakELdTYCACAFIA4gGGtBC3U2AqACIAUgCSALQYRkbGoiDiANIBFB3PR+bGoiEWoiDSAGQdPQAGwgB0HPJWwiB2sgDyASayAKQQx0ayISayIPakELdTYCICAFIA0gD2tBC3U2AoACIAVBQGsgCSALQb6lf2xqQQt1IgkgBiAUayAKa0ECdCILajYCACAFIAkgC2s2AuABIAUgDiARayIJIBIgBkGMKWwgB2tqIgdqQQt1NgJgIAUgCSAHa0ELdTYCwAEgBSAQIAxrIgcgFiAGQZQObCAXa2oiBmpBC3U2AoABIAUgByAGa0ELdTYCoAEgAkECaiECIAFBBGohASAFQQRqIQUgCEEBaiIIQQhHDQALIBlBgH1qIQJBACEBA0AgACgCDCIIIAAoAhwiCmohBiAEIAFBAnQgA2ooAgBqIgUgAiAAKAIAQQ10QYCAiMAAaiIHIAAoAhAiCUGdyQBsaiITIAAoAggiCyAAKAIYIhBqQZo1bCIMIAtB8SBsaiIRaiINIAAoAhRBDXQiCyAIIAprIgpB4xNsIg5qIhIgBkHvPGwiFCAAKAIEIghBs9kAbGpqIg9qQRJ2Qf8HcWosAAA6AAAgBSACIA0gD2tBEnZB/wdxaiwAADoACSAFIAIgByAJQYRkbGoiDSAMIBBB3PR+bGoiEGoiDCAIQdPQAGwgBkHPJWwiBmsgCyAOayAKQQx0ayIOayIPakESdkH/B3FqLAAAOgABIAUgAiAMIA9rQRJ2Qf8HcWosAAA6AAggBSACIAcgCUG+pX9saiIHIAggCmtBDXQgC2siCWpBEnZB/wdxaiwAADoAAiAFIAIgByAJa0ESdkH/B3FqLAAAOgAHIAUgAiANIBBrIgcgDiAIQYwpbCAGa2oiBmpBEnZB/wdxaiwAADoAAyAFIAIgByAGa0ESdkH/B3FqLAAAOgAGIAUgAiATIBFrIgYgEiAIQZQObCAUa2oiCGpBEnZB/wdxaiwAADoABCAFIAIgBiAIa0ESdkH/B3FqLAAAOgAFIABBIGohACABQQFqIgFBCkcNAAsgFSQGC94JARl/IwYhGSMGQeACaiQGIAAoAtACIR0gGSIAIQUgASgCVCEBA0AgAkFAay4BACABKAKAAWwiBiACLgEgIAFBQGsoAgBsIglrQckbbCEUIAEoAgAgAi4BAEENdGxBgAhyIhYgCSACLgFgIAEoAsABbCIHaiIQIAZrIhdB7NYAbGohDiAUIAYgB2tB/qIBbCAOaiIRIAZBtIt/bGpqIQogAi4BcCABKALgAWwiCyACLgFQIAEoAqABbCINIAIuARAgASgCIGwiCCACLgEwIAEoAmBsIg9qIhNqakHAGWwiEiAIIAtqQbgXbGoiGCAIIA1qQfQqbCIaIBNB6jhsIhsgCEH2RGxqamohCCANIA9qQcm1f2wgEmoiHCANQdqzf2wgGmpqIRMgBSARIAdBtYcBbGoiESAIakELdTYCACAFIBEgCGtBC3U2AsACIAUgHCALIA9qQfWMf2wiCCAPQdiEAWwgG2pqaiIRIApqQQt1NgIgIAUgCiARa0ELdTYCoAIgBUFAayATIBBBhbZ/bCAOaiIKIAdBw01saiIHakELdTYCACAFIAcgE2tBC3U2AoACIAUgCCALQceGAWxqIBhqIgcgDiAUaiAJQZGff2xqIg5qQQt1NgJgIAUgDiAHa0ELdTYC4AEgBSAPQY2if2wgDUGLwABsaiALQZaUf2xqIBJqIgsgCiAGQbn8AGwgCUH9pn9samoiBmpBC3U2AoABIAUgBiALa0ELdTYCwAEgBSAWIBdBv6V/bGpBC3U2AqABIAJBAmohAiABQQRqIQEgBUEEaiEFIAxBAWoiDEEIRw0ACyAdQYB9aiECQQAhAQNAIAAoAhAiDCAAKAIIIg9rQckbbCEOIAAoAgBBDXRBgICIwABqIhMgDyAAKAIYIglqIhUgDGsiFkHs1gBsaiEHIA4gDCAJa0H+ogFsIAdqIhAgDEG0i39samohCCAAKAIcIgYgACgCFCILIAAoAgQiBSAAKAIMIg1qIgpqakHAGWwiFCAFIAZqQbgXbGoiFyAFIAtqQfQqbCISIApB6jhsIhEgBUH2RGxqamohCiAUIAsgDWpBybV/bGoiGCASIAtB2rN/bGpqIRIgBCABQQJ0IANqKAIAaiIFIAIgECAJQbWHAWxqIhAgCmpBEnZB/wdxaiwAADoAACAFIAIgECAKa0ESdkH/B3FqLAAAOgAKIAUgAiAIIBggBiANakH1jH9sIgogESANQdiEAWxqamoiEGpBEnZB/wdxaiwAADoAASAFIAIgCCAQa0ESdkH/B3FqLAAAOgAJIAUgAiAVQYW2f2wgB2oiCCAJQcNNbGoiCSASakESdkH/B3FqLAAAOgACIAUgAiAJIBJrQRJ2Qf8HcWosAAA6AAggBSACIAcgDmogD0GRn39saiIJIBcgCiAGQceGAWxqaiIHakESdkH/B3FqLAAAOgADIAUgAiAJIAdrQRJ2Qf8HcWosAAA6AAcgBSACIAggDEG5/ABsIA9B/aZ/bGpqIgwgFCANQY2if2wgC0GLwABsaiAGQZaUf2xqaiIGakESdkH/B3FqLAAAOgAEIAUgAiAMIAZrQRJ2Qf8HcWosAAA6AAYgBSACIBMgFkG/pX9sakESdkH/B3FqLAAAOgAFIABBIGohACABQQFqIgFBC0cNAAsgGSQGC5kJARd/IwYhGSMGQYADaiQGIAAoAtACIRsgGSIAIQUgASgCVCEBA0AgASgCACACLgEAQQ10bEGACHIiCSABKAKAASACQUBrLgEAQbHOAGxsIhJqIQ0gCSACLgEgIAFBQGsoAgBsIgpBDXQgASgCwAEgAi4BYEENdGwiDmsiEGohESAFIA0gCkG21wBsIA5qIhdqIhMgAi4BcCABKALgAWwiBiACLgEQIAEoAiBsIgcgAi4BUCABKAKgAWwiCGoiC2pBjTdsIg8gC0HbEGxqIhQgAi4BMCABKAJgbCILQc/TAGwiGCAHQfcRbGpqIhVqQQt1NgIAIAUgEyAVa0ELdTYC4AIgBSALIAhrIhMgByAGayIVakHRImwiGiAVQf4wbGoiFSARakELdTYCICAFIBEgFWtBC3U2AsACIAVBQGsgCSASayIRIApBthdsIA5rIgpqIg4gFCAGIAhqQYu9f2wiEiALQa9dbCILIAhBsKF/bGpqaiIIakELdTYCACAFIA4gCGtBC3U2AqACIAUgESAKayIIIBIgDyAGQcblAGwgGGtqaiIKakELdTYCYCAFIAggCmtBC3U2AoACIAUgGiATQd+Jf2xqIgggCSAQayIJakELdTYCgAEgBSAJIAhrQQt1NgLgASAFIA0gF2siCSAPIAsgB0HcVGxqIAZBjIF/bGpqIgZqQQt1NgKgASAFIAkgBmtBC3U2AsABIAJBAmohAiABQQRqIQEgBUEEaiEFIAxBAWoiDEEIRw0ACyAbQYB9aiECQQAhAQNAIAAoAgBBDXRBgICIwABqIgYgACgCEEGxzgBsIgtqIQggBiAAKAIIIg1BDXQgACgCGEENdCIKayIWaiEOIAQgAUECdCADaigCAGoiBSACIAggDUG21wBsIApqIhJqIhAgACgCHCIMIAAoAgQiCSAAKAIUIgdqIg9qQY03bCIRIA9B2xBsaiIXIAAoAgwiD0HP0wBsIhMgCUH3EWxqaiIUakESdkH/B3FqLAAAOgAAIAUgAiAQIBRrQRJ2Qf8HcWosAAA6AAsgBSACIA4gCSAMayIQIA8gB2siFGpB0SJsIhggEEH+MGxqIhBqQRJ2Qf8HcWosAAA6AAEgBSACIA4gEGtBEnZB/wdxaiwAADoACiAFIAIgBiALayIOIA1BthdsIAprIg1qIgogFyAHIAxqQYu9f2wiCyAPQa9dbCIPIAdBsKF/bGpqaiIHakESdkH/B3FqLAAAOgACIAUgAiAKIAdrQRJ2Qf8HcWosAAA6AAkgBSACIA4gDWsiByALIBEgDEHG5QBsIBNramoiDWpBEnZB/wdxaiwAADoAAyAFIAIgByANa0ESdkH/B3FqLAAAOgAIIAUgAiAGIBZrIgYgGCAUQd+Jf2xqIgdqQRJ2Qf8HcWosAAA6AAQgBSACIAYgB2tBEnZB/wdxaiwAADoAByAFIAIgCCASayIGIBEgDyAJQdxUbGogDEGMgX9samoiDGpBEnZB/wdxaiwAADoABSAFIAIgBiAMa0ESdkH/B3FqLAAAOgAGIABBIGohACABQQFqIgFBDEcNAAsgGSQGC+wKARh/IwYhGSMGQaADaiQGIAAoAtACIRwgGSIAIQUgASgCVCEBA0AgAkFAay4BACABKAKAAWwiBiACLgFgIAEoAsABbCIHaiENIAIuARAgASgCIGwiDiACLgEwIAEoAmBsIghqQdDUAGwhCSAFIAEoAgAgAi4BAEENdGxBgAhyIhEgBiAHayIKQZkGbGoiDyANQfnJAGwiEiACLgEgIAFBQGsoAgBsIgZB8dcAbGpqIhMgDiACLgFwIAEoAuABbCILaiIXQYI8bCIUIA4gAi4BUCABKAKgAWwiB2pBvsoAbCIVIAkgDkHb/n5sampqIhZqQQt1NgIAIAUgEyAWa0ELdTYCgAMgBSAIIAtqQcK1f2wiEyAHIAhqQatqbCIWIAhByzVsIAlqamoiCSARIApBlR9saiIYIAZB4MMAbCANQaAUbCIaa2oiG2pBC3U2AiAgBSAbIAlrQQt1NgLgAiAFQUBrIAcgC2pB+FVsIgkgFiAHQbGbf2xqIBVqaiIVIA8gBkGMIGwgEmtqIg9qQQt1NgIAIAUgDyAVa0ELdTYCwAIgBSATIAtBlI0BbGogFGogCWoiCSARIApBgkRsaiIPIAZBjHVsIA1B8htsIg1raiISakELdTYCYCAFIBIgCWtBC3U2AqACIAUgCEGWYmwgF0HVFWwgByAIa0GCPGxqIgggDkGzFGxqaiIOIA8gDSAGQctMbGpqIg1qQQt1NgKAASAFIA0gDmtBC3U2AoACIAUgCCAHQc4YbGogC0G/kH9saiIIIBggGiAGQe6vf2xqaiIHakELdTYCoAEgBSAHIAhrQQt1NgLgASAFIBEgCiAGa0HB2gBsakELdTYCwAEgAkECaiECIAFBBGohASAFQQRqIQUgDEEBaiIMQQhHDQALIBxBgH1qIQJBACEBA0AgACgCECIMIAAoAhgiCGohCyAAKAIEIgcgACgCDCIGakHQ1ABsIQogBCABQQJ0IANqKAIAaiIFIAIgACgCAEENdEGAgIjAAGoiDSAMIAhrIhFBmQZsaiIJIAtB+ckAbCIQIAAoAggiDEHx1wBsamoiDyAHIAAoAhwiDmoiEkGCPGwiEyAHIAAoAhQiCGpBvsoAbCIXIAogB0Hb/n5sampqIhRqQRJ2Qf8HcWosAAA6AAAgBSACIA8gFGtBEnZB/wdxaiwAADoADCAFIAIgDSARQZUfbGoiDyAMQeDDAGwgC0GgFGwiFGtqIhUgBiAOakHCtX9sIhYgBiAIakGramwiGCAKIAZByzVsampqIgpqQRJ2Qf8HcWosAAA6AAEgBSACIBUgCmtBEnZB/wdxaiwAADoACyAFIAIgCSAMQYwgbCAQa2oiCiAIIA5qQfhVbCIJIBcgGCAIQbGbf2xqamoiEGpBEnZB/wdxaiwAADoAAiAFIAIgCiAQa0ESdkH/B3FqLAAAOgAKIAUgAiANIBFBgkRsaiIKIAxBjHVsIAtB8htsIgtraiIQIBMgFiAOQZSNAWxqaiAJaiIJakESdkH/B3FqLAAAOgADIAUgAiAQIAlrQRJ2Qf8HcWosAAA6AAkgBSACIAogCyAMQctMbGpqIgsgBkGWYmwgEkHVFWwgCCAGa0GCPGxqIgYgB0GzFGxqaiIHakESdkH/B3FqLAAAOgAEIAUgAiALIAdrQRJ2Qf8HcWosAAA6AAggBSACIA8gFCAMQe6vf2xqaiIHIAYgCEHOGGxqIA5Bv5B/bGoiBmpBEnZB/wdxaiwAADoABSAFIAIgByAGa0ESdkH/B3FqLAAAOgAHIAUgAiANIBEgDGtBwdoAbGpBEnZB/wdxaiwAADoABiAAQSBqIQAgAUEBaiIBQQ1HDQALIBkkBgvCCgEZfyMGIRojBkHAA2okBiAAKALQAiEdIBoiACEFIAEoAlQhAQNAIAIuAXAgASgC4AFsIhZBDXQiCSACLgEQIAEoAiBsIgYgAi4BUCABKAKgAWwiB2oiDEHSzABsIhEgBiACLgEwIAEoAmBsIgpqQbfVAGwiEiAGQfC3f2xqamohCyAGIAprIhNB8h1sIAlrIhggDEGUMGwiFyAGQYu8f2xqaiEQIAUgASgCACACLgEAQQ10bEGACHIiBiACQUBrLgEAIAEoAoABbCIMQcbRAGxqIhQgAi4BICABQUBrKAIAbCINIAIuAWAgASgCwAFsIg5qQeLGAGwiFSANQb0RbGoiG2oiGSALakELdTYCACAFIBkgC2tBC3U2AqADIAUgByAKakHvdWwgCWsiCyAKQe5kbCASamoiEiAGIAxBkhRsaiIZIBUgDkH8kX9saiIVaiIcakELdTYCICAFIBwgEmtBC3U2AoADIAVBQGsgCyAHQYnofmwgEWpqIgsgBiAMQclHbGoiESANQaMnbCAOQeGnf2xqIg1qIg5qQQt1NgIAIAUgDiALa0ELdTYC4AIgBSATIAdrIBZqQQJ0IgsgBiAMQb6lf2xqQQt1IgZqNgJgIAUgBiALazYCwAIgBSAHIAprQfjZAGwiBiAHQeaTf2xqIBdqIAlqIgcgESANayIJakELdTYCgAEgBSAJIAdrQQt1NgKgAiAFIAYgCkGZK2xqIBhqIgcgGSAVayIKakELdTYCoAEgBSAKIAdrQQt1NgKAAiAFIBQgG2siByAQakELdTYCwAEgBSAHIBBrQQt1NgLgASACQQJqIQIgAUEEaiEBIAVBBGohBSAIQQFqIghBCEcNAAsgHUGAfWohAkEAIQEDQCAAKAIcQQ10IgogACgCBCIFIAAoAhQiCGoiBkHSzABsIg4gBSAAKAIMIgdqQbfVAGwiDyAFQfC3f2xqamohDCAFIAdrIhFB8h1sIAprIhIgBkGUMGwiFiAFQYu8f2xqaiELIAQgAUECdCADaigCAGoiBSACIAAoAgBBDXRBgICIwABqIgYgACgCECIJQcbRAGxqIhcgACgCCCIQIAAoAhgiDWpB4sYAbCITIBBBvRFsaiIYaiIUIAxqQRJ2Qf8HcWosAAA6AAAgBSACIBQgDGtBEnZB/wdxaiwAADoADSAFIAIgBiAJQZIUbGoiDCATIA1B/JF/bGoiE2oiFCAHIAhqQe91bCAKayIVIA8gB0HuZGxqaiIPakESdkH/B3FqLAAAOgABIAUgAiAUIA9rQRJ2Qf8HcWosAAA6AAwgBSACIAYgCUHJR2xqIg8gEEGjJ2wgDUHhp39saiIQaiINIBUgDiAIQYnofmxqaiIOakESdkH/B3FqLAAAOgACIAUgAiANIA5rQRJ2Qf8HcWosAAA6AAsgBSACIAYgCUG+pX9saiIGIAogESAIa0ENdGoiCWpBEnZB/wdxaiwAADoAAyAFIAIgBiAJa0ESdkH/B3FqLAAAOgAKIAUgAiAPIBBrIgYgFiAIIAdrQfjZAGwiCSAKIAhB5pN/bGpqaiIIakESdkH/B3FqLAAAOgAEIAUgAiAGIAhrQRJ2Qf8HcWosAAA6AAkgBSACIAwgE2siCCASIAkgB0GZK2xqaiIHakESdkH/B3FqLAAAOgAFIAUgAiAIIAdrQRJ2Qf8HcWosAAA6AAggBSACIBcgGGsiCCALakESdkH/B3FqLAAAOgAGIAUgAiAIIAtrQRJ2Qf8HcWosAAA6AAcgAEEgaiEAIAFBAWoiAUEORw0ACyAaJAYLngsBG38jBiEdIwZB4ANqJAYgACgC0AIhHyAdIgAhBSABKAJUIQEDQCABKAIAIAIuAQBBDXRsQYAIciILIAIuAWAgASgCwAFsIghBhGRsaiERIAIuASAgAUFAaygCAGwiDCACQUBrLgEAIAEoAoABbCITayEHIAIuARAgASgCIGwiBiACLgEwIAEoAmBsIgogAi4BcCABKALgAWwiDWsiFmpBmjVsIhcgBkHxIGxqIQkgASgCoAEgAi4BUEGxzgBsbCIOIAYgDWsiGEGC2gBsaiIPIA1Bo50BbCAKQfapf2wiGWtqIRIgDyAKQeZKbCIaIAZB57h/bGpqIQogBSASIAsgCEGdyQBsaiIPIAwgE2oiE0HO1QBsIhQgB0H2AmwiG2pqIhxqQQt1NgIAIAUgHCASa0ELdTYCwAMgBSARIBNBzDJsIhIgB0HQFmwiHGpqIh4gCWpBC3U2AiAgBSAeIAlrQQt1NgKgAyAFQUBrIBhBsc4AbCAOayIJIAsgCEG+pX9saiILIAdBoC1saiIIakELdTYCACAFIAggCWtBC3U2AoADIAUgBiANakHoJGwiCCAGQbkebCAaaiAOa2oiBiARIBsgDEGT3ABsIgwgFGtqaiIJakELdTYCYCAFIAkgBmtBC3U2AuACIAUgHCAPIBJraiIGIBcgFkHc9H5saiIJakELdTYCgAEgBSAGIAlrQQt1NgLAAiAFIAggDiAZaiANQa9IbGpqIgYgB0G5ZmwiDSAPIBNBgiNsIg5raiIIakELdTYCoAEgBSAIIAZrQQt1NgKgAiAFIAogESANIA4gDGtqaiIGakELdTYCwAEgBSAGIAprQQt1NgKAAiAFIAsgB0HApX9sakELdTYC4AEgAkECaiECIAFBBGohASAFQQRqIQUgEEEBaiIQQQhHDQALIB9BgH1qIQJBACEBA0AgACgCAEENdEGAgIjAAGoiDiAAKAIYIgtBhGRsaiENIAAoAggiCCAAKAIQIg9rIRAgACgCBCIHIAAoAgwiBSAAKAIcIgZrIhNqQZo1bCIVIAdB8SBsaiEMIAAoAhRBsc4AbCIRIAcgBmsiFkGC2gBsaiIJIAZBo50BbCAFQfapf2wiF2tqIQogCSAFQeZKbCIYIAdB57h/bGpqIQkgBCABQQJ0IANqKAIAaiIFIAIgDiALQZ3JAGxqIhIgCCAPaiIPQc7VAGwiGSAQQfYCbCIaamoiFCAKakESdkH/B3FqLAAAOgAAIAUgAiAUIAprQRJ2Qf8HcWosAAA6AA4gBSACIA0gD0HMMmwiCiAQQdAWbCIUamoiGyAMakESdkH/B3FqLAAAOgABIAUgAiAbIAxrQRJ2Qf8HcWosAAA6AA0gBSACIA4gC0G+pX9saiIOIBBBoC1saiILIBZBsc4AbCARayIMakESdkH/B3FqLAAAOgACIAUgAiALIAxrQRJ2Qf8HcWosAAA6AAwgBSACIA0gGiAIQZPcAGwiCyAZa2pqIgggBiAHakHoJGwiDCAYIAdBuR5saiARa2oiB2pBEnZB/wdxaiwAADoAAyAFIAIgCCAHa0ESdkH/B3FqLAAAOgALIAUgAiAUIBIgCmtqIgcgFSATQdz0fmxqIghqQRJ2Qf8HcWosAAA6AAQgBSACIAcgCGtBEnZB/wdxaiwAADoACiAFIAIgEEG5ZmwiByASIA9BgiNsIghraiIKIAwgESAXaiAGQa9IbGpqIgZqQRJ2Qf8HcWosAAA6AAUgBSACIAogBmtBEnZB/wdxaiwAADoACSAFIAIgDSAHIAggC2tqaiIHIAlqQRJ2Qf8HcWosAAA6AAYgBSACIAcgCWtBEnZB/wdxaiwAADoACCAFIAIgDiAQQcClf2xqQRJ2Qf8HcWosAAA6AAcgAEEgaiEAIAFBAWoiAUEPRw0ACyAdJAYL2wwBHn8jBiEgIwZBgARqJAYgACgC0AIhIiAgIgAhBSABKAJUIQEDQCACLgEgIAFBQGsoAgBsIhAgAi4BYCABKALAAWwiD2siEUHUEWwhDCACLgEQIAEoAiBsIgYgAi4BUCABKAKgAWwiB2ohCiAGIAIuAXAgASgC4AFsIg1qQfzFAGwiFyAKQenPAGwiEyAGIAIuATAgASgCYGwiCGpBztYAbCILIAZB1u1+bGpqaiEOIAYgDWtBtjlsIhkgCkHVKmwiGCAGIAhrQaMabCISIAZBwop/bGpqaiEKIAggDWoiBkGrVWwiGiAHIAhqQfAIbCIUIAhBzQRsIAtqamohCyAGQZewf2wiGyAHIAhrQYnaAGwiHCAIQZr+AGwgEmpqaiEIIAUgASgCACACLgEAQQ10bEGACHIiBiACQUBrLgEAIAEoAoABbCISQc/TAGwiHWoiFSARQePYAGwiESAPQYOkAWxqIh5qIh8gDmpBC3U2AgAgBSAfIA5rQQt1NgLgAyAFIAsgBiASQdEibCIOaiISIAwgEEHNOWxqIh9qIiFqQQt1NgIgIAUgISALa0ELdTYCwAMgBUFAayAHIA1qQbKpf2wiCyAUIAdB+rd/bGogE2pqIhMgBiAOayIOIBEgEEHCWWxqIhBqIhFqQQt1NgIAIAUgESATa0ELdTYCoAMgBSAaIA1BmMQAbGogF2ogC2oiCyAGIB1rIgYgDCAPQbBfbGoiD2oiDGpBC3U2AmAgBSAMIAtrQQt1NgKAAyAFIBsgDUGFyQFsaiAZaiANIAdrQaMabCINaiIMIAYgD2siBmpBC3U2AoABIAUgBiAMa0ELdTYC4AIgBSAcIAdB+k5saiAYaiANaiIGIA4gEGsiB2pBC3U2AqABIAUgByAGa0ELdTYCwAIgBSAIIBIgH2siBmpBC3U2AsABIAUgBiAIa0ELdTYCoAIgBSAKIBUgHmsiBmpBC3U2AuABIAUgBiAKa0ELdTYCgAIgAkECaiECIAFBBGohASAFQQRqIQUgCUEBaiIJQQhHDQALICJBgH1qIQJBACEBA0AgACgCCCINIAAoAhgiCGsiC0HUEWwhECAAKAIEIgUgACgCFCIJaiEPIAUgACgCHCIGakH8xQBsIhYgD0HpzwBsIhEgBSAAKAIMIgdqQc7WAGwiCiAFQdbtfmxqamohDCAFIAZrQbY5bCIXIA9B1SpsIhMgBSAHa0GjGmwiDiAFQcKKf2xqamohDyAGIAdqIgVBq1VsIhggByAJakHwCGwiEiAKIAdBzQRsampqIQogBUGXsH9sIhkgCSAHa0GJ2gBsIhogDiAHQZr+AGxqamohDiAEIAFBAnQgA2ooAgBqIgUgAiAAKAIAQQ10QYCAiMAAaiIHIAAoAhAiFEHP0wBsIhtqIhwgC0Hj2ABsIgsgCEGDpAFsaiIdaiIVIAxqQRJ2Qf8HcWosAAA6AAAgBSACIBUgDGtBEnZB/wdxaiwAADoADyAFIAIgByAUQdEibCIMaiIUIBAgDUHNOWxqIhVqIh4gCmpBEnZB/wdxaiwAADoAASAFIAIgHiAKa0ESdkH/B3FqLAAAOgAOIAUgAiAHIAxrIgwgCyANQcJZbGoiDWoiCiAGIAlqQbKpf2wiCyARIBIgCUH6t39sampqIhFqQRJ2Qf8HcWosAAA6AAIgBSACIAogEWtBEnZB/wdxaiwAADoADSAFIAIgByAbayIHIBAgCEGwX2xqIghqIhAgFiAYIAZBmMQAbGpqIAtqIgpqQRJ2Qf8HcWosAAA6AAMgBSACIBAgCmtBEnZB/wdxaiwAADoADCAFIAIgByAIayIHIBcgGSAGQYXJAWxqaiAGIAlrQaMabCIGaiIIakESdkH/B3FqLAAAOgAEIAUgAiAHIAhrQRJ2Qf8HcWosAAA6AAsgBSACIAwgDWsiByATIBogCUH6TmxqaiAGaiIJakESdkH/B3FqLAAAOgAFIAUgAiAHIAlrQRJ2Qf8HcWosAAA6AAogBSACIBQgFWsiCSAOakESdkH/B3FqLAAAOgAGIAUgAiAJIA5rQRJ2Qf8HcWosAAA6AAkgBSACIBwgHWsiCSAPakESdkH/B3FqLAAAOgAHIAUgAiAJIA9rQRJ2Qf8HcWosAAA6AAggAEEgaiEAIAFBAWoiAUEQRw0ACyAgJAYL7gsBHH8jBiEXIwZBgAJqJAYgACgC0AIhICAXIgAhBSABKAJUIQFBCCEIA0ACfwJAIAIuARAiCiACLgEgIgZyQf//A3EEfwwBBSACLgEwBH9BACEGDAIFIAJBQGsuAQAEf0EAIQYMAwUgAi4BUAR/QQAhBgwEBSACLgFgBH9BACEGDAUFIAIuAXAEf0EAIQYMBgUgBSABKAIAIAIuAQBBAnRsIgY2AgAgBSAGNgIgIAVBQGsgBjYCACAFIAY2AmAgBSAGNgKAASAFIAY2AqABIAUgBjYCwAFBOAsLCwsLCwwBCyACLgFwIAEoAuABbCIHIAIuATAgASgCYGwiDWoiCyACLgFQIAEoAqABbCIMIAogASgCIGwiCmoiCWpBocsAbCIPIAtBu4J/bGoiCyAHIApqQbNGbCIOIAdBjhNsamohByAPIAlBhGdsaiIJIA4gCkGL4ABsamohCiAJIAwgDWpB/dt+bCIJIAxBs4MBbGpqIQwgBSAKIAEoAoABIAJBQGsuAQBBDXRsIg8gASgCACACLgEAQQ10bEGACHIiDmoiEiABQUBrKAIAIAZBEHRBEHVsIgYgAi4BYCABKALAAWwiEWpB0SJsIhMgBkH+MGxqIgZqIhRqQQt1NgIAIAUgFCAKa0ELdTYC4AEgBSALIAkgDUHUxAFsamoiDSAOIA9rIgogEyARQd+Jf2xqIgtqIglqQQt1NgIgIAUgCSANa0ELdTYCwAEgBUFAayAMIAogC2siDWpBC3U2AgAgBSANIAxrQQt1NgKgASAFIAcgEiAGayIGakELdTYCYCAGIAdrQQt1IQZBIAtBAnQgBWogBjYCACAFQQRqIQUgAUEEaiEBIAJBAmohAiAIQX9qIQYgCEEBSwRAIAYhCAwBCwsgIEGAfWohAkEAIQEDQCAAKAIIIg0gACgCGCIMayIOQdQRbCEKIAAoAgQiBSAAKAIUIghqIRAgBSAAKAIcIgZqQfzFAGwiEiAQQenPAGwiESAFIAAoAgwiB2pBztYAbCIJIAVB1u1+bGpqaiELIAUgBmtBtjlsIhMgEEHVKmwiFCAFIAdrQaMabCIPIAVBwop/bGpqaiEQIAYgB2oiBUGrVWwiGCAHIAhqQfAIbCIZIAkgB0HNBGxqamohCSAFQZewf2wiGiAIIAdrQYnaAGwiGyAPIAdBmv4AbGpqaiEPIAQgAUECdCADaigCAGoiBSACIAAoAgBBDXRBgICIwABqIgcgACgCECIVQc/TAGwiHGoiHSAOQePYAGwiDiAMQYOkAWxqIh5qIhYgC2pBEnZB/wdxaiwAADoAACAFIAIgFiALa0ESdkH/B3FqLAAAOgAPIAUgAiAHIBVB0SJsIgtqIhUgCiANQc05bGoiFmoiHyAJakESdkH/B3FqLAAAOgABIAUgAiAfIAlrQRJ2Qf8HcWosAAA6AA4gBSACIAcgC2siCyAOIA1BwllsaiINaiIJIAYgCGpBsql/bCIOIBEgGSAIQfq3f2xqamoiEWpBEnZB/wdxaiwAADoAAiAFIAIgCSARa0ESdkH/B3FqLAAAOgANIAUgAiAHIBxrIgcgCiAMQbBfbGoiDGoiCiASIBggBkGYxABsamogDmoiCWpBEnZB/wdxaiwAADoAAyAFIAIgCiAJa0ESdkH/B3FqLAAAOgAMIAUgAiAHIAxrIgcgEyAaIAZBhckBbGpqIAYgCGtBoxpsIgZqIgxqQRJ2Qf8HcWosAAA6AAQgBSACIAcgDGtBEnZB/wdxaiwAADoACyAFIAIgCyANayIHIBQgGyAIQfpObGpqIAZqIghqQRJ2Qf8HcWosAAA6AAUgBSACIAcgCGtBEnZB/wdxaiwAADoACiAFIAIgFSAWayIIIA9qQRJ2Qf8HcWosAAA6AAYgBSACIAggD2tBEnZB/wdxaiwAADoACSAFIAIgHSAeayIIIBBqQRJ2Qf8HcWosAAA6AAcgBSACIAggEGtBEnZB/wdxaiwAADoACCAAQSBqIQAgAUEBaiIBQQhHDQALIBckBgvTEwIQfwF8IwYhEyMGQRBqJAYgEyEPIAFBAhA5IQwgAkECEDkhDiAEKAIAIgchAiAMIA5Bf2oiEGxBAXQgB2ohBQNAIAYgDEgEQCAFQQA7AQAgAkEAOwEAIAJBAmohAiAFQQJqIQUgBkEBaiEGDAELCyAHIQIgDEF/aiIRQQF0IAdqIQVBACEGA0AgBiAOSARAIAVBADsBACACQQA7AQAgDEEBdCACaiECIAxBAXQgBWohBSAGQQFqIQYMAQsLIARBkIDIAGohAkEAIAxrIRIgACABQQF0QQJqaiENQQEhC0EAIQUgDEEBakEBdCAHaiEHAn8CQANAAkAgCyAQTg0CIAUhAEEBIQkDQCAJIBFIBEAgDS0AACADSgRAAkAgEkEBdCAHaiIFLgEAIgZBAEoEQCAHIAY7AQAgBkEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgCyAGKAIAajYCACAFQQJ0IARqQYyA0ABqIAs2AgAMAQsgBUF+ai4BACIGIQggBkEASiEKIAUuAQIiBUEATARAIAoEQCAHIAY7AQAgCEEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgCyAGKAIAajYCACAFQQJ0IARqQYSA0ABqIgYoAgAgCUgEQCAGIAk2AgALIAVBAnQgBGpBjIDQAGogCzYCAAwCCyAHQX5qLgEAIgVBAEoEQCAHIAU7AQAgBUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgCyAGKAIAajYCACAFQQJ0IARqQYSA0ABqIgUoAgAgCU4NAiAFIAk2AgAFIABB//8BSg0GIAcgAEEBaiIFOwEAIARBkIDIAGogAEECdGogBUEQdEEQdTYCACAEQZCA0ABqIABBB2wiAEECdGpBATYCACAAQQJ0IARqQZSA0ABqIAk2AgAgAEECdCAEakGYgNAAaiALNgIAIABBAnQgBGpBnIDQAGogCTYCACAAQQJ0IARqQaCA0ABqIAk2AgAgAEECdCAEakGkgNAAaiALNgIAIABBAnQgBGpBqIDQAGogCzYCACAFIQALDAELIAoEQAJAIAVBAnQgBGpBjIDIAGooAgAiBSAIQQJ0IARqQYyAyABqKAIAIgZKBEAgByAGOwEAIAIhCEEAIQoDQCAKIABOBEAgBiEFDAMLIAUgCCgCAEYEQCAIIAY2AgALIAhBBGohCCAKQQFqIQoMAAALAAUgByAFOwEAIAUgBkgEQCACIQhBACEKA0AgCiAATg0DIAYgCCgCAEYEQCAIIAU2AgALIAhBBGohCCAKQQFqIQoMAAALAAsLCyAFQRB0QRB1QQdsIgVBAnQgBGpB9P/PAGoiBiAGKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiBiAJIAYoAgBqNgIAIAVBAnQgBGpB/P/PAGoiBiALIAYoAgBqNgIAIAVBAnQgBGpBjIDQAGogCzYCAAwBCyAHQX5qLgEAIgZBAEwEQCAHIAU7AQAgBUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgCyAGKAIAajYCACAFQQJ0IARqQYCA0ABqIgYoAgAgCUoEQCAGIAk2AgALIAVBAnQgBGpBjIDQAGogCzYCAAwBCwJAIAVBAnQgBGpBjIDIAGooAgAiBSAGQQJ0IARqQYyAyABqKAIAIgZKBEAgByAGOwEAIAIhCEEAIQoDQCAKIABOBEAgBiEFDAMLIAUgCCgCAEYEQCAIIAY2AgALIAhBBGohCCAKQQFqIQoMAAALAAUgByAFOwEAIAUgBkgEQCACIQhBACEKA0AgCiAATg0DIAYgCCgCAEYEQCAIIAU2AgALIAhBBGohCCAKQQFqIQoMAAALAAsLCyAFQRB0QRB1QQdsIgVBAnQgBGpB9P/PAGoiBiAGKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiBiAJIAYoAgBqNgIAIAVBAnQgBGpB/P/PAGoiBSALIAUoAgBqNgIACwUgB0EAOwEACyANQQJqIQ0gCUEBaiEJIAdBAmohBwwBCwsgASANakEEaiENIAtBAWohCyAAIQUgB0EEaiEHDAELC0EAQQNBqKUBIA8QPUF/DAELIARBDGohB0EBIQBBASEDA0AgAyAFTARAIAMgAigCACIGRgRAIABBAWohAQUgACEBIAZBAnQgBGpBjIDIAGooAgAhAAsgAiAANgIAIAEhACADQQFqIQMgAkEEaiECDAELCyAEIABBf2oiADYCCCAABH8gB0EAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQEDQCABIABIBEAgBEGMgAhqIAFBAnQiAkECdGogDDYCACAEQYyACGogAkEBckECdGpBADYCACAEQYyACGogAkECckECdGogDjYCACAEQYyACGogAkEDckECdGpBADYCACABQQFqIQEMAQsLQQAhAQNAIAEgBUgEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiAyAEQZCA0ABqIAFBB2wiAEECdGooAgAgAygCAGo2AgAgBEGQgChqIAJBAXQiA0EDdGoiByAHKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogA0EBckEDdGoiAyADKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIDKAIAIABBAnQgBGpBnIDQAGooAgAiB0oEQCADIAc2AgALIARBjIAIaiACQQFyQQJ0aiIDKAIAIABBAnQgBGpBoIDQAGooAgAiB0gEQCADIAc2AgALIARBjIAIaiACQQJyQQJ0aiIDKAIAIABBAnQgBGpBpIDQAGooAgAiB0oEQCADIAc2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAvaCAEWfyMGIRgjBkHgAWokBiAAKALQAiEaIBgiACEFIAEoAlQhAQNAIAJBQGsuAQAgASgCgAFsIgggAi4BYCABKALAAWwiCWtBtzhsIgwgAi4BICABQUBrKAIAbCIHIAhrQZIUbCISIAEoAgAgAi4BAEENdGxBgAhyIgogCEGVin9sampqIQ0gAi4BECABKAIgbCIOIAIuATAgASgCYGwiC2pB7ztsIhMgDiALa0HzCmwiFGogCyACLgFQIAEoAqABbCILakHhp39sIhVqIQ8gBSAKIAcgCWoiEUHG0QBsaiIWIAwgCUGDe2xqaiIJIAsgDmpBoydsIg4gEyAUa2oiDGpBC3U2AgAgBSAJIAxrQQt1NgLAASAFIA0gD2pBC3U2AiAgBSANIA9rQQt1NgKgASAFQUBrIBYgEiAHQfHhfmxqaiIJIBUgDiALQd73AGxqaiIHakELdTYCACAFIAkgB2tBC3U2AoABIAUgCiAIIBFrQcHaAGxqQQt1NgJgIAJBAmohAiABQQRqIQEgBUEEaiEFIAZBAWoiBkEIRw0ACyAaQYB9aiECQQAhAQNAIAAoAhxBDXQiCSAAKAIEIgUgACgCFCIGaiIHQdLMAGwiECAFIAAoAgwiCGpBt9UAbCIMIAVB8Ld/bGpqaiENIAUgCGsiE0HyHWwgCWsiFCAHQZQwbCISIAVBi7x/bGpqIQ4gBCABQQJ0IANqKAIAaiIFIAIgACgCAEENdEGAgIjAAGoiByAAKAIQIgpBxtEAbGoiFSAAKAIIIgsgACgCGCIPakHixgBsIhEgC0G9EWxqIhZqIhcgDWpBEnZB/wdxaiwAADoAACAFIAIgFyANa0ESdkH/B3FqLAAAOgANIAUgAiAHIApBkhRsaiINIBEgD0H8kX9saiIRaiIXIAYgCGpB73VsIAlrIhkgDCAIQe5kbGpqIgxqQRJ2Qf8HcWosAAA6AAEgBSACIBcgDGtBEnZB/wdxaiwAADoADCAFIAIgByAKQclHbGoiDCALQaMnbCAPQeGnf2xqIgtqIg8gGSAQIAZBieh+bGpqIhBqQRJ2Qf8HcWosAAA6AAIgBSACIA8gEGtBEnZB/wdxaiwAADoACyAFIAIgByAKQb6lf2xqIgcgCSATIAZrQQ10aiIKakESdkH/B3FqLAAAOgADIAUgAiAHIAprQRJ2Qf8HcWosAAA6AAogBSACIAwgC2siByASIAYgCGtB+NkAbCIKIAkgBkHmk39sampqIgZqQRJ2Qf8HcWosAAA6AAQgBSACIAcgBmtBEnZB/wdxaiwAADoACSAFIAIgDSARayIGIBQgCiAIQZkrbGpqIghqQRJ2Qf8HcWosAAA6AAUgBSACIAYgCGtBEnZB/wdxaiwAADoACCAFIAIgFSAWayIGIA5qQRJ2Qf8HcWosAAA6AAYgBSACIAYgDmtBEnZB/wdxaiwAADoAByAAQSBqIQAgAUEBaiIBQQdHDQALIBgkBguRBwEVfyMGIRQjBkHAAWokBiAAKALQAiEZIBQiACEFIAEoAlQhAQNAIAUgASgCACACLgEAQQ10bEGACHIiCCABKAKAASACQUBrLgEAQaEtbGwiDGoiDSABQUBrKAIAIAIuASBBsc4AbGwiEWoiCiACLgEQIAEoAiBsIgYgAi4BUCABKAKgAWwiC2pBthdsIg4gBiACLgEwIAEoAmBsIgdqQQ10aiISakELdTYCACAFIAogEmtBC3U2AqABIAUgCCAMQX5sakELdSIIIAYgB2sgC2tBAnQiBmo2AiAgBSAIIAZrNgKAASAFQUBrIA0gEWsiBiAOIAsgB2tBDXRqIgtqQQt1NgIAIAUgBiALa0ELdTYCYCACQQJqIQIgAUEEaiEBIAVBBGohBSAJQQFqIglBCEcNAAsgGUGAfWohAkEAIQEDQCAAKAIAQQ10QYCAiMAAaiIGIAAoAhBBsc4AbCIOaiEQIAAoAggiCEENdCAAKAIYQQ10IgxrIhIgBmohDSAEIAFBAnQgA2ooAgBqIgUgDCAIQbbXAGxqIhUgEGoiDyAAKAIcIgkgACgCBCILIAAoAhQiB2oiCmpBjTdsIhEgCkHbEGxqIhYgACgCDCIKQc/TAGwiFyALQfcRbGpqIhNqQRJ2Qf8HcSACaiwAADoAACAFIA8gE2tBEnZB/wdxIAJqLAAAOgALIAUgDSALIAlrIg8gCiAHayITakHRImwiGCAPQf4wbGoiD2pBEnZB/wdxIAJqLAAAOgABIAUgDSAPa0ESdkH/B3EgAmosAAA6AAogBSAIQbYXbCAMayIIIAYgDmsiDGoiDSAWIAcgCWpBi71/bCIOIApBr11sIgogB0GwoX9sampqIgdqQRJ2Qf8HcSACaiwAADoAAiAFIA0gB2tBEnZB/wdxIAJqLAAAOgAJIAUgDCAIayIHIA4gESAJQcblAGwgF2tqaiIIakESdkH/B3EgAmosAAA6AAMgBSAHIAhrQRJ2Qf8HcSACaiwAADoACCAFIAYgEmsiBiAYIBNB34l/bGoiB2pBEnZB/wdxIAJqLAAAOgAEIAUgBiAHa0ESdkH/B3EgAmosAAA6AAcgBSAQIBVrIgYgESAKIAtB3FRsaiAJQYyBf2xqaiIJakESdkH/B3EgAmosAAA6AAUgBSAGIAlrQRJ2Qf8HcSACaiwAADoABiAAQSBqIQAgAUEBaiIBQQZHDQALIBQkBgucBgESfyMGIRQjBkGgAWokBiAAKALQAiEWIBQiACEFIAEoAlQhAQNAIAUgAi4BICABQUBrKAIAbCIJIAJBQGsuAQAgASgCgAFsIgZqQcwybCIKIAEoAgAgAi4BAEENdGxBgAhyIg4gCSAGayIJQdAWbGoiBmoiCyACLgEQIAEoAiBsIgwgAi4BMCABKAJgbCIPakGaNWwiDSAMQfEgbGoiDGpBC3U2AgAgBSALIAxrQQt1NgKAASAFIAYgCmsiBiANIA9B3PR+bGoiCmpBC3U2AiAgBSAGIAprQQt1NgJgIAVBQGsgDiAJQcClf2xqQQt1NgIAIAJBAmohAiABQQRqIQEgBUEEaiEFIAdBAWoiB0EIRw0ACyAWQYB9aiECQQAhAQNAIAAoAgwiByAAKAIcIgZqIQggBCABQQJ0IANqKAIAaiIFIAAoAhRBDXQiCSAHIAZrIgZB4xNsIgtqIgwgCEHvPGwiDyAAKAIEIgdBs9kAbGpqIg0gACgCAEENdEGAgIjAAGoiCiAAKAIQIg5BnckAbGoiFSAAKAIIIhAgACgCGCIRakGaNWwiEiAQQfEgbGoiEGoiE2pBEnZB/wdxIAJqLAAAOgAAIAUgEyANa0ESdkH/B3EgAmosAAA6AAkgBSAHQdPQAGwgCEHPJWwiCGsgCSALayAGQQx0ayILayINIAogDkGEZGxqIhMgEiARQdz0fmxqIhFqIhJqQRJ2Qf8HcSACaiwAADoAASAFIBIgDWtBEnZB/wdxIAJqLAAAOgAIIAUgByAGa0ENdCAJayIJIAogDkG+pX9saiIGakESdkH/B3EgAmosAAA6AAIgBSAGIAlrQRJ2Qf8HcSACaiwAADoAByAFIBMgEWsiCSALIAdBjClsIAhraiIIakESdkH/B3EgAmosAAA6AAMgBSAJIAhrQRJ2Qf8HcSACaiwAADoABiAFIAwgB0GUDmwgD2tqIgcgFSAQayIIakESdkH/B3EgAmosAAA6AAQgBSAIIAdrQRJ2Qf8HcSACaiwAADoABSAAQSBqIQAgAUEBaiIBQQVHDQALIBQkBgvBDAEQfyMGIQ4jBkGAAWokBiAAKALQAiEUIA4iACACLgEAIAEoAlQiASgCAGwiBSACLgEgIAFBQGsoAgBsIgdqQQJ0IgggAi4BECABKAIgbCIGIAIuATAgASgCYGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCACAAIAggBms2AmAgACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgIgIABBQGsgBSAHazYCACAAIAIuAQIgASgCBGwiBSACLgEiIAEoAkRsIgdqQQJ0IgggAi4BEiABKAIkbCIGIAIuATIgASgCZGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCBCAAIAggBms2AmQgACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgIkIAAgBSAHazYCRCAAIAIuAQQgASgCCGwiBSACLgEkIAEoAkhsIgdqQQJ0IgggAi4BFCABKAIobCIGIAIuATQgASgCaGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCCCAAIAggBms2AmggACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgIoIAAgBSAHazYCSCAAIAIuAQYgASgCDGwiBSACLgEmIAEoAkxsIgdqQQJ0IgggAi4BFiABKAIsbCIGIAIuATYgASgCbGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCDCAAIAggBms2AmwgACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgIsIAAgBSAHazYCTCAAIAIuAQggASgCEGwiBSACLgEoIAEoAlBsIgdqQQJ0IgggAi4BGCABKAIwbCIGIAIuATggASgCcGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCECAAIAggBms2AnAgACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgIwIAAgBSAHazYCUCAAIAIuAQogASgCFGwiBSACLgEqIAEoAlRsIgdqQQJ0IgggAi4BGiABKAI0bCIGIAIuATogASgCdGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCFCAAIAggBms2AnQgACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgI0IAAgBSAHazYCVCAAIAIuAQwgASgCGGwiBSACLgEsIAEoAlhsIgdqQQJ0IgggAi4BHCABKAI4bCIGIAIuATwgASgCeGwiCmpB0SJsQYAIaiIJIAZB/jBsakELdSIGajYCGCAAIAggBms2AnggACAFIAdrQQJ0IgUgCSAKQd+Jf2xqQQt1IgdqNgI4IAAgBSAHazYCWCAAIAIuAQ4gASgCHGwiBSACLgEuIAEoAlxsIgdqQQJ0IgggAi4BHiABKAI8bCIGIAIuAT4gASgCfGwiAWpB0SJsQYAIaiICIAZB/jBsakELdSIGajYCHCAAIAggBms2AnwgACAFIAdrQQJ0IgUgAiABQd+Jf2xqQQt1IgFqNgI8IAAgBSABazYCXCAUQYB9aiECQQAhAQNAIAAoAhwiCyAAKAIMIgVqIgYgACgCFCIHIAAoAgQiCGoiCmpBocsAbCIJIAZBu4J/bGoiDyAIIAtqQbNGbCIMIAtBjhNsamohBiAJIApBhGdsaiILIAwgCEGL4ABsamohCCALIAUgB2pB/dt+bCIKIAdBs4MBbGpqIQcgBCABQQJ0IANqKAIAaiILIAIgACgCAEGQgAFqIgkgACgCECIMakENdCIQIAAoAggiDSAAKAIYIhFqQdEibCISIA1B/jBsaiINaiITIAhqQRJ2Qf8HcWosAAA6AAAgCyACIBMgCGtBEnZB/wdxaiwAADoAByALIAIgCSAMa0ENdCIIIBIgEUHfiX9saiIJaiIMIA8gCiAFQdTEAWxqaiIFakESdkH/B3FqLAAAOgABIAsgAiAMIAVrQRJ2Qf8HcWosAAA6AAYgCyACIAggCWsiBSAHakESdkH/B3FqLAAAOgACIAsgAiAFIAdrQRJ2Qf8HcWosAAA6AAUgCyACIBAgDWsiBSAGakESdkH/B3FqLAAAOgADIAsgAiAFIAZrQRJ2Qf8HcWosAAA6AAQgAEEgaiEAIAFBAWoiAUEERw0ACyAOJAYL+QoBC38jBiEFIwZB0ABqJAYgACgC0AIhCyAFIAEoAlQiBigCACACLgEAQQ10bEGACHIiByAGQUBrKAIAIAIuASBBoS1sbCIIaiIBIAYoAiAgAi4BEEGxzgBsbCIAakELdTYCACAFIAEgAGtBC3U2AjAgBSAHIAhBfmxqQQt1NgIYIAUgBigCBCACLgECQQ10bEGACHIiByAGKAJEIAIuASJBoS1sbCIIaiIBIAYoAiQgAi4BEkGxzgBsbCIAakELdTYCBCAFIAEgAGtBC3U2AjQgBSAHIAhBfmxqQQt1NgIcIAUgBigCCCACLgEEQQ10bEGACHIiByAGKAJIIAIuASRBoS1sbCIIaiIBIAYoAiggAi4BFEGxzgBsbCIAakELdTYCCCAFIAEgAGtBC3U2AjggBSAHIAhBfmxqQQt1NgIgIAUgBigCDCACLgEGQQ10bEGACHIiByAGKAJMIAIuASZBoS1sbCIIaiIBIAYoAiwgAi4BFkGxzgBsbCIAakELdTYCDCAFIAEgAGtBC3U2AjwgBSAHIAhBfmxqQQt1NgIkIAUgBigCECACLgEIQQ10bEGACHIiByAGKAJQIAIuAShBoS1sbCIIaiIBIAYoAjAgAi4BGEGxzgBsbCIAakELdTYCECAFQUBrIAEgAGtBC3U2AgAgBSAHIAhBfmxqQQt1NgIoIAUgBigCFCACLgEKQQ10bEGACHIiByAGKAJUIAIuASpBoS1sbCIIaiIBIAYoAjQgAi4BGkGxzgBsbCIAakELdTYCFCAFIAEgAGtBC3U2AkQgBSAHIAhBfmxqQQt1Ig82AiwgBCADKAIAaiIOIAtBgH1qIgkgBSgCAEENdEGAgIjAAGoiCyAFKAIQQaEtbCIMaiIHIAUoAghBsc4AbCIIaiIBIAUoAgQiCiAFKAIUIg1qQbYXbCICIAogBSgCDCIGakENdGoiAGpBEnZB/wdxaiwAADoAACAOIAkgASAAa0ESdkH/B3FqLAAAOgAFIA4gCSALIAxrIAxrIgEgCiAGayANa0ENdCIAakESdkH/B3FqLAAAOgABIA4gCSABIABrQRJ2Qf8HcWosAAA6AAQgDiAJIAcgCGsiASACIA0gBmtBDXRqIgBqQRJ2Qf8HcWosAAA6AAIgDiAJIAEgAGtBEnZB/wdxaiwAADoAAyAEIAMoAgRqIgwgCSAFKAIYQQ10QYCAiMAAaiILIAUoAihBoS1sIgpqIgcgBSgCIEGxzgBsIghqIgEgDyAFKAIcIg1qQbYXbCICIA0gBSgCJCIGakENdGoiAGpBEnZB/wdxaiwAADoAACAMIAkgASAAa0ESdkH/B3FqLAAAOgAFIAwgCSALIAprIAprIgEgDSAGayAPa0ENdCIAakESdkH/B3FqLAAAOgABIAwgCSABIABrQRJ2Qf8HcWosAAA6AAQgDCAJIAcgCGsiASACIA8gBmtBDXRqIgBqQRJ2Qf8HcWosAAA6AAIgDCAJIAEgAGtBEnZB/wdxaiwAADoAAyAEIAMoAghqIgogCSAFKAIwQQ10QYCAiMAAaiIIIAVBQGsoAgBBoS1sIg1qIgQgBSgCOEGxzgBsIgNqIgEgBSgCNCIGIAUoAkQiC2pBthdsIgIgBiAFKAI8IgdqQQ10aiIAakESdkH/B3FqLAAAOgAAIAogCSABIABrQRJ2Qf8HcWosAAA6AAUgCiAJIAggDWsgDWsiASAGIAdrIAtrQQ10IgBqQRJ2Qf8HcWosAAA6AAEgCiAJIAEgAGtBEnZB/wdxaiwAADoABCAKIAkgBCADayIBIAIgCyAHa0ENdGoiAGpBEnZB/wdxaiwAADoAAiAKIAkgASAAa0ESdkH/B3FqLAAAOgADIAUkBguLBAEKfyMGIQUjBkEgaiQGIAAoAtACIQcgBSACLgEAIAEoAlQiBigCAGwiASACLgEQIAYoAiBsIgBqIgg2AgAgBSABIABrNgIQIAUgAi4BAiAGKAIEbCIBIAIuARIgBigCJGwiAGoiCjYCBCAFIAEgAGsiCzYCFCAFIAIuAQQgBigCCGwiASACLgEUIAYoAihsIgBqIgw2AgggBSABIABrIg02AhggBSACLgEGIAYoAgxsIgEgAi4BFiAGKAIsbCIAaiIONgIMIAUgASAAayIGNgIcIAQgAygCAGoiCSAHQYB9aiIHIAwgCEGEIGoiCGpBDXQiASAKIA5qQdEibCICIApB/jBsaiIAakEQdkH/B3FqLAAAOgAAIAkgByABIABrQRB2Qf8HcWosAAA6AAMgCSAHIAggDGtBDXQiASACIA5B34l/bGoiAGpBEHZB/wdxaiwAADoAASAJIAEgAGtBEHZB/wdxIAdqLAAAOgACIAQgAygCBGoiBCAFKAIQQYQgaiIDIA1qQQ10IgEgBiALakHRImwiAiALQf4wbGoiAGpBEHZB/wdxIAdqLAAAOgAAIAQgASAAa0EQdkH/B3EgB2osAAA6AAMgBCADIA1rQQ10IgEgAiAGQd+Jf2xqIgBqQRB2Qf8HcSAHaiwAADoAASAEIAEgAGtBEHZB/wdxIAdqLAAAOgACIAUkBgthACAEIAMoAgBqIgMgACgC0AJBgH1qIgAgAi4BACABKAJUIgEoAgBsQYQgaiIEIAIuAQIgASgCBGwiAWpBA3ZB/wdxaiwAADoAACADIAQgAWtBA3ZB/wdxIABqLAAAOgABC9cJAR5/IwYhFiMGQYAEaiQGIAAoAtACISIgFiIAIQUgASgCVCEBA0AgAi4BICABQUBrKAIAbCIMIAIuAWAgASgCwAFsIhFrIg9B1BFsIQogAi4BECABKAIgbCIGIAIuAVAgASgCoAFsIgdqIRAgBiACLgFwIAEoAuABbCIIakH8xQBsIhcgEEHpzwBsIhQgBiACLgEwIAEoAmBsIglqQc7WAGwiDSAGQdbtfmxqamohDiAGIAhrQbY5bCIZIBBB1SpsIhggBiAJa0GjGmwiEiAGQcKKf2xqamohECAIIAlqIgZBq1VsIhogByAJakHwCGwiGyAJQc0EbCANampqIQ0gBkGXsH9sIhwgByAJa0GJ2gBsIh0gCUGa/gBsIBJqamohCSAFIAEoAgAgAi4BAEENdGxBgAhyIgYgAkFAay4BACABKAKAAWwiEkHP0wBsIh5qIh8gD0Hj2ABsIg8gEUGDpAFsaiIgaiIVIA5qQQt1NgIAIAUgFSAOa0ELdTYC4AMgBSANIAYgEkHRImwiDmoiEiAKIAxBzTlsaiIVaiIhakELdTYCICAFICEgDWtBC3U2AsADIAVBQGsgByAIakGyqX9sIg0gGyAHQfq3f2xqIBRqaiIUIAYgDmsiDiAPIAxBwllsaiIMaiIPakELdTYCACAFIA8gFGtBC3U2AqADIAUgGiAIQZjEAGxqIBdqIA1qIg0gBiAeayIGIAogEUGwX2xqIhFqIgpqQQt1NgJgIAUgCiANa0ELdTYCgAMgBSAcIAhBhckBbGogGWogCCAHa0GjGmwiCGoiCiAGIBFrIgZqQQt1NgKAASAFIAYgCmtBC3U2AuACIAUgHSAHQfpObGogGGogCGoiBiAOIAxrIgdqQQt1NgKgASAFIAcgBmtBC3U2AsACIAUgCSASIBVrIgZqQQt1NgLAASAFIAYgCWtBC3U2AqACIAUgECAfICBrIgZqQQt1NgLgASAFIAYgEGtBC3U2AoACIAJBAmohAiABQQRqIQEgBUEEaiEFIAtBAWoiC0EIRw0ACyAiQYB9aiECQQAhAQNAIAAoAhwiBSAAKAIMIgtqIgggACgCFCIGIAAoAgQiB2oiCWpBocsAbCIMIAhBu4J/bGoiESAFIAdqQbNGbCIKIAVBjhNsamohCCAMIAlBhGdsaiIFIAogB0GL4ABsamohByAFIAYgC2pB/dt+bCIJIAZBs4MBbGpqIQYgBCABQQJ0IANqKAIAaiIFIAIgACgCAEGQgAFqIgwgACgCECIKakENdCIQIAAoAggiDiAAKAIYIg1qQdEibCITIA5B/jBsaiIOaiIPIAdqQRJ2Qf8HcWosAAA6AAAgBSACIA8gB2tBEnZB/wdxaiwAADoAByAFIAIgDCAKa0ENdCIHIBMgDUHfiX9saiIMaiIKIBEgCSALQdTEAWxqaiILakESdkH/B3FqLAAAOgABIAUgAiAKIAtrQRJ2Qf8HcWosAAA6AAYgBSACIAcgDGsiCyAGakESdkH/B3FqLAAAOgACIAUgAiALIAZrQRJ2Qf8HcWosAAA6AAUgBSACIBAgDmsiCyAIakESdkH/B3FqLAAAOgADIAUgAiALIAhrQRJ2Qf8HcWosAAA6AAQgAEEgaiEAIAFBAWoiAUEQRw0ACyAWJAYLnQgBGX8jBiEXIwZBkANqJAYgACgC0AIhHSAXIgAhBSABKAJUIQEDQCACLgFwIAEoAuABbCITQQ10IgsgAi4BECABKAIgbCIHIAIuAVAgASgCoAFsIgZqIgpB0swAbCIPIAcgAi4BMCABKAJgbCIIakG31QBsIhAgB0Hwt39sampqIQkgByAIayIYQfIdbCALayIZIApBlDBsIhQgB0GLvH9samohESAFIAEoAgAgAi4BAEENdGxBgAhyIgcgAkFAay4BACABKAKAAWwiCkHG0QBsaiIaIAIuASAgAUFAaygCAGwiDCACLgFgIAEoAsABbCIOakHixgBsIhUgDEG9EWxqIhtqIhYgCWpBC3U2AgAgBSAWIAlrQQt1NgLsAiAFIAYgCGpB73VsIAtrIgkgCEHuZGwgEGpqIhAgByAKQZIUbGoiFiAVIA5B/JF/bGoiFWoiHGpBC3U2AhwgBSAcIBBrQQt1NgLQAiAFIAkgBkGJ6H5sIA9qaiIJIAcgCkHJR2xqIg8gDEGjJ2wgDkHhp39saiIMaiIOakELdTYCOCAFIA4gCWtBC3U2ArQCIAUgGCAGayATakECdCIJIAcgCkG+pX9sakELdSIHajYCVCAFIAcgCWs2ApgCIAUgBiAIa0H42QBsIgcgBkHmk39saiAUaiALaiIGIA8gDGsiC2pBC3U2AnAgBSALIAZrQQt1NgL8ASAFIAcgCEGZK2xqIBlqIgYgFiAVayIIakELdTYCjAEgBSAIIAZrQQt1NgLgASAFIBogG2siBiARakELdTYCqAEgBSAGIBFrQQt1NgLEASACQQJqIQIgAUEEaiEBIAVBBGohBSANQQFqIg1BB0cNAAsgHUGAfWohAkEAIQEDQCAAKAIQIg0gACgCGCIGa0G3OGwiDCAAKAIIIgggDWtBkhRsIg4gACgCAEENdEGAgIjAAGoiByANQZWKf2xqamohCyAAKAIEIgogACgCDCIFakHvO2wiEiAKIAVrQfMKbCITaiAFIAAoAhQiCWpB4ad/bCIPaiERIAQgAUECdCADaigCAGoiBSACIAcgBiAIaiIQQcbRAGxqIhQgDCAGQYN7bGpqIgYgCSAKakGjJ2wiCiASIBNraiIMakESdkH/B3FqLAAAOgAAIAUgAiAGIAxrQRJ2Qf8HcWosAAA6AAYgBSACIAsgEWpBEnZB/wdxaiwAADoAASAFIAIgCyARa0ESdkH/B3FqLAAAOgAFIAUgAiAUIA4gCEHx4X5samoiBiAPIAogCUHe9wBsamoiCGpBEnZB/wdxaiwAADoAAiAFIAIgBiAIa0ESdkH/B3FqLAAAOgAEIAUgAiAHIA0gEGtBwdoAbGpBEnZB/wdxaiwAADoAAyAAQRxqIQAgAUEBaiIBQQ5HDQALIBckBgvnBgEXfyMGIRQjBkGgAmokBiAAKALQAiEbIBQiACEFIAEoAlQhAQNAIAEoAgAgAi4BAEENdGxBgAhyIgggASgCgAEgAkFAay4BAEGxzgBsbCISaiEQIAggAi4BICABQUBrKAIAbCIKQQ10IAEoAsABIAIuAWBBDXRsIgtrIhZqIQwgBSAQIApBttcAbCALaiIXaiITIAIuAXAgASgC4AFsIgYgAi4BECABKAIgbCINIAIuAVAgASgCoAFsIgdqIg5qQY03bCIRIA5B2xBsaiIYIAIuATAgASgCYGwiDkHP0wBsIhkgDUH3EWxqaiIPakELdTYCACAFIBMgD2tBC3U2AogCIAUgDiAHayITIA0gBmsiD2pB0SJsIhogD0H+MGxqIg8gDGpBC3U2AhggBSAMIA9rQQt1NgLwASAFIAggEmsiDCAKQbYXbCALayIKaiILIBggBiAHakGLvX9sIhIgDkGvXWwiDiAHQbChf2xqamoiB2pBC3U2AjAgBSALIAdrQQt1NgLYASAFIAwgCmsiByASIBEgBkHG5QBsIBlramoiCmpBC3U2AkggBSAHIAprQQt1NgLAASAFIBogE0HfiX9saiIHIAggFmsiCGpBC3U2AmAgBSAIIAdrQQt1NgKoASAFIBAgF2siCCARIA4gDUHcVGxqIAZBjIF/bGpqIgZqQQt1NgJ4IAUgCCAGa0ELdTYCkAEgAkECaiECIAFBBGohASAFQQRqIQUgCUEBaiIJQQZHDQALIBtBgH1qIQJBACEBA0AgBCABQQJ0IANqKAIAaiIFIAIgACgCAEENdEGAgIjAAGoiByAAKAIQQaEtbCIJaiIQIAAoAghBsc4AbCIKaiILIAAoAgQiBiAAKAIUIghqQbYXbCIMIAYgACgCDCINakENdGoiEWpBEnZB/wdxaiwAADoAACAFIAIgCyARa0ESdkH/B3FqLAAAOgAFIAUgAiAHIAlrIAlrIgkgBiANayAIa0ENdCIGakESdkH/B3FqLAAAOgABIAUgAiAJIAZrQRJ2Qf8HcWosAAA6AAQgBSACIBAgCmsiCSAMIAggDWtBDXRqIgZqQRJ2Qf8HcWosAAA6AAIgBSACIAkgBmtBEnZB/wdxaiwAADoAAyAAQRhqIQAgAUEBaiIBQQxHDQALIBQkBgv9BQEVfyMGIRQjBkHQAWokBiAAKALQAiEZIBQiACEFIAEoAlQhAQNAIAIuATAgASgCYGwiBiACLgFwIAEoAuABbCIIaiEHIAUgASgCACACLgEAQQ10bEGACHIiCSACQUBrLgEAIAEoAoABbCILQZ3JAGxqIg0gAi4BICABQUBrKAIAbCIOIAIuAWAgASgCwAFsIg9qQZo1bCIQIA5B8SBsaiIOaiIRIAYgCGsiCEHjE2wiEiACLgFQIAEoAqABbCIVQQ10IhNqIhYgB0HvPGwiFyACLgEQIAEoAiBsIgZBs9kAbGpqIhhqQQt1NgIAIAUgESAYa0ELdTYCtAEgBSAJIAtBhGRsaiIRIBAgD0Hc9H5saiIPaiIQIAZB09AAbCAHQc8lbCIHayATIBJrIAhBDHRrIhJrIhNqQQt1NgIUIAUgECATa0ELdTYCoAEgBSAJIAtBvqV/bGpBC3UiCSAGIBVrIAhrQQJ0IgtqNgIoIAUgCSALazYCjAEgBSARIA9rIgkgEiAGQYwpbCAHa2oiB2pBC3U2AjwgBSAJIAdrQQt1NgJ4IAUgDSAOayIHIBYgBkGUDmwgF2tqIgZqQQt1NgJQIAUgByAGa0ELdTYCZCACQQJqIQIgAUEEaiEBIAVBBGohBSAKQQFqIgpBBUcNAAsgGUGAfWohAkEAIQEDQCAEIAFBAnQgA2ooAgBqIgUgAiAAKAIIIgogACgCECIGakHMMmwiByAAKAIAQQ10QYCAiMAAaiIJIAogBmsiCkHQFmxqIgZqIgsgACgCBCIIIAAoAgwiDGpBmjVsIg0gCEHxIGxqIghqQRJ2Qf8HcWosAAA6AAAgBSACIAsgCGtBEnZB/wdxaiwAADoABCAFIAIgBiAHayIGIA0gDEHc9H5saiIHakESdkH/B3FqLAAAOgABIAUgAiAGIAdrQRJ2Qf8HcWosAAA6AAMgBSACIAkgCkHApX9sakESdkH/B3FqLAAAOgACIABBFGohACABQQFqIgFBCkcNAAsgFCQGC+gPARB/IwYhCCMGQYABaiQGIAAoAtACIRAgCCEAIAEoAlQhAUEEIQYDQAJ/AkAgAi4BECILIAIuASAiBXJB//8DcQR/DAEFIAIuATAEf0EAIQUMAgUgAkFAay4BAAR/QQAhBQwDBSACLgFQBH9BACEFDAQFIAIuAWAEf0EAIQUMBQUgAi4BcAR/QQAhBQwGBSAAIAEoAgAgAi4BAEECdGwiBTYCACAAIAU2AhAgACAFNgIgIAAgBTYCMCAAQUBrIAU2AgAgACAFNgJQIAAgBTYCYEEcCwsLCwsLDAELIAIuAXAgASgC4AFsIgcgAi4BMCABKAJgbCIJaiINIAIuAVAgASgCoAFsIgogCyABKAIgbCILaiIMakGhywBsIg4gDUG7gn9saiINIAcgC2pBs0ZsIg8gB0GOE2xqaiEHIA4gDEGEZ2xqIgwgDyALQYvgAGxqaiELIAwgCSAKakH9235sIgwgCkGzgwFsamohCiAAIAsgASgCgAEgAkFAay4BAEENdGwiDiABKAIAIAIuAQBBDXRsQYAIciIPaiIRIAFBQGsoAgAgBUEQdEEQdWwiBSACLgFgIAEoAsABbCISakHRImwiEyAFQf4wbGoiBWoiFGpBC3U2AgAgACAUIAtrQQt1NgJwIAAgDSAMIAlB1MQBbGpqIgkgDyAOayILIBMgEkHfiX9saiINaiIMakELdTYCECAAIAwgCWtBC3U2AmAgACAKIAsgDWsiCWpBC3U2AiAgACAJIAprQQt1NgJQIAAgByARIAVrIgVqQQt1NgIwIAUgB2tBC3UhBUEQC0ECdCAAaiAFNgIAIABBBGohACABQQRqIQEgAkECaiECIAZBf2ohBSAGQQFLBEAgBSEGDAELCyAEIAMoAgBqIgEgEEGAfWoiACAIKAIAQZCAAWoiAiAIKAIIIgZqQQ10IgUgCCgCBCIHIAgoAgwiCWpB0SJsIgogB0H+MGxqIgdqQRJ2Qf8HcWosAAA6AAAgASAAIAUgB2tBEnZB/wdxaiwAADoAAyABIAAgAiAGa0ENdCICIAogCUHfiX9saiIGakESdkH/B3FqLAAAOgABIAEgACACIAZrQRJ2Qf8HcWosAAA6AAIgBCADKAIEaiIBIAAgCCgCEEGQgAFqIgIgCCgCGCIGakENdCIFIAgoAhQiByAIKAIcIglqQdEibCIKIAdB/jBsaiIHakESdkH/B3FqLAAAOgAAIAEgACAFIAdrQRJ2Qf8HcWosAAA6AAMgASAAIAIgBmtBDXQiAiAKIAlB34l/bGoiBmpBEnZB/wdxaiwAADoAASABIAAgAiAGa0ESdkH/B3FqLAAAOgACIAQgAygCCGoiASAAIAgoAiBBkIABaiICIAgoAigiBmpBDXQiBSAIKAIkIgcgCCgCLCIJakHRImwiCiAHQf4wbGoiB2pBEnZB/wdxaiwAADoAACABIAAgBSAHa0ESdkH/B3FqLAAAOgADIAEgACACIAZrQQ10IgIgCiAJQd+Jf2xqIgZqQRJ2Qf8HcWosAAA6AAEgASAAIAIgBmtBEnZB/wdxaiwAADoAAiAEIAMoAgxqIgEgACAIKAIwQZCAAWoiAiAIKAI4IgZqQQ10IgUgCCgCNCIHIAgoAjwiCWpB0SJsIgogB0H+MGxqIgdqQRJ2Qf8HcWosAAA6AAAgASAAIAUgB2tBEnZB/wdxaiwAADoAAyABIAAgAiAGa0ENdCICIAogCUHfiX9saiIGakESdkH/B3FqLAAAOgABIAEgACACIAZrQRJ2Qf8HcWosAAA6AAIgBCADKAIQaiIBIAAgCEFAaygCAEGQgAFqIgIgCCgCSCIGakENdCIFIAgoAkQiByAIKAJMIglqQdEibCIKIAdB/jBsaiIHakESdkH/B3FqLAAAOgAAIAEgACAFIAdrQRJ2Qf8HcWosAAA6AAMgASAAIAIgBmtBDXQiAiAKIAlB34l/bGoiBmpBEnZB/wdxaiwAADoAASABIAAgAiAGa0ESdkH/B3FqLAAAOgACIAQgAygCFGoiASAAIAgoAlBBkIABaiICIAgoAlgiBmpBDXQiBSAIKAJUIgcgCCgCXCIJakHRImwiCiAHQf4wbGoiB2pBEnZB/wdxaiwAADoAACABIAAgBSAHa0ESdkH/B3FqLAAAOgADIAEgACACIAZrQQ10IgIgCiAJQd+Jf2xqIgZqQRJ2Qf8HcWosAAA6AAEgASAAIAIgBmtBEnZB/wdxaiwAADoAAiAEIAMoAhhqIgEgACAIKAJgQZCAAWoiAiAIKAJoIgZqQQ10IgUgCCgCZCIHIAgoAmwiCWpB0SJsIgogB0H+MGxqIgdqQRJ2Qf8HcWosAAA6AAAgASAAIAUgB2tBEnZB/wdxaiwAADoAAyABIAAgAiAGa0ENdCICIAogCUHfiX9saiIGakESdkH/B3FqLAAAOgABIAEgACACIAZrQRJ2Qf8HcWosAAA6AAIgBCADKAIcaiIBIAAgCCgCcEGQgAFqIgIgCCgCeCIDakENdCIEIAgoAnQiBiAIKAJ8IgVqQdEibCIHIAZB/jBsaiIGakESdkH/B3FqLAAAOgAAIAEgACAEIAZrQRJ2Qf8HcWosAAA6AAMgASAAIAIgA2tBDXQiAiAHIAVB34l/bGoiA2pBEnZB/wdxaiwAADoAASABIAAgAiADa0ESdkH/B3FqLAAAOgACIAgkBgugCwELfyMGIQUjBkHQAGokBiAAKALQAiEPIAUgASgCVCIIKAIAIAIuAQBBDXRsQYAIciIOIAgoAoABIAJBQGsuAQBBoS1sbCIKaiIGIAhBQGsoAgAgAi4BIEGxzgBsbCIJaiIBIAIuARAgCCgCIGwiCyACLgFQIAgoAqABbCIMakG2F2wiByALIAIuATAgCCgCYGwiDWpBDXRqIgBqQQt1NgIAIAUgASAAa0ELdTYCPCAFIA4gCkF+bGpBC3UiASALIA1rIAxrQQJ0IgBqNgIMIAUgASAAazYCMCAFIAYgCWsiASAHIAwgDWtBDXRqIgBqQQt1NgIYIAUgASAAa0ELdTYCJCAFIAgoAkQgAi4BIkGxzgBsbCIOIAgoAgQgAi4BAkENdGxBgAhyIgogCCgChAEgAi4BQkGhLWxsIgZqIglqIgEgAi4BEiAIKAIkbCILIAIuAVIgCCgCpAFsIgxqQbYXbCIHIAsgAi4BMiAIKAJkbCINakENdGoiAGpBC3U2AgQgBUFAayABIABrQQt1NgIAIAUgCyANayAMa0ECdCIBIAogBkF+bGpBC3UiAGo2AhAgBSAAIAFrNgI0IAUgCSAOayIBIAcgDCANa0ENdGoiAGpBC3U2AhwgBSABIABrQQt1NgIoIAUgCCgCCCACLgEEQQ10bEGACHIiDiAIKAKIASACLgFEQaEtbGwiCmoiBiAIKAJIIAIuASRBsc4AbGwiCWoiASACLgEUIAgoAihsIgsgAi4BVCAIKAKoAWwiDGpBthdsIgcgCyACLgE0IAgoAmhsIgJqQQ10aiIAakELdSINNgIIIAUgASAAa0ELdTYCRCAFIA4gCkF+bGpBC3UiASALIAJrIAxrQQJ0IgBqIgo2AhQgBSABIABrNgI4IAUgBiAJayIBIAcgDCACa0ENdGoiAGpBC3UiCTYCICAFIAEgAGtBC3U2AiwgBCADKAIAaiIHIA9BgH1qIgYgBSgCAEENdEGAgIjAAGoiAiANQaEtbGoiASAFKAIEQbHOAGwiAGpBEnZB/wdxaiwAADoAACAHIAYgASAAa0ESdkH/B3FqLAAAOgACIAcgBiACIA1BvqV/bGpBEnZB/wdxaiwAADoAASAEIAMoAgRqIgcgBiAFKAIMQQ10QYCAiMAAaiICIApBoS1saiIBIAUoAhBBsc4AbCIAakESdkH/B3FqLAAAOgAAIAcgBiABIABrQRJ2Qf8HcWosAAA6AAIgByAGIAIgCkG+pX9sakESdkH/B3FqLAAAOgABIAQgAygCCGoiByAGIAUoAhhBDXRBgICIwABqIgIgCUGhLWxqIgEgBSgCHEGxzgBsIgBqQRJ2Qf8HcWosAAA6AAAgByAGIAEgAGtBEnZB/wdxaiwAADoAAiAHIAYgAiAJQb6lf2xqQRJ2Qf8HcWosAAA6AAEgBCADKAIMaiIJIAYgBSgCJEENdEGAgIjAAGoiByAFKAIsIgJBoS1saiIBIAUoAihBsc4AbCIAakESdkH/B3FqLAAAOgAAIAkgBiABIABrQRJ2Qf8HcWosAAA6AAIgCSAGIAcgAkG+pX9sakESdkH/B3FqLAAAOgABIAQgAygCEGoiCSAGIAUoAjBBDXRBgICIwABqIgcgBSgCOCICQaEtbGoiASAFKAI0QbHOAGwiAGpBEnZB/wdxaiwAADoAACAJIAYgASAAa0ESdkH/B3FqLAAAOgACIAkgBiAHIAJBvqV/bGpBEnZB/wdxaiwAADoAASAEIAMoAhRqIgQgBiAFKAI8QQ10QYCAiMAAaiIDIAUoAkQiAkGhLWxqIgEgBUFAaygCAEGxzgBsIgBqQRJ2Qf8HcWosAAA6AAAgBCAGIAEgAGtBEnZB/wdxaiwAADoAAiAEIAYgAyACQb6lf2xqQRJ2Qf8HcWosAAA6AAEgBSQGC7IEAQp/IwYhBiMGQSBqJAYgACgC0AIhDCAGIAIuAQAgASgCVCIHKAIAbCIJIAIuASAgB0FAaygCAGwiCmpBDXQiASACLgEQIAcoAiBsIgAgAi4BMCAHKAJgbCIFakHRImwiCCAAQf4wbGoiAGoiDTYCACAGIAEgAGs2AhggBiAJIAprQQ10IgEgCCAFQd+Jf2xqIgBqIg42AgggBiABIABrIgk2AhAgBiACLgECIAcoAgRsIgogAi4BIiAHKAJEbCIFakENdCIBIAIuARIgBygCJGwiACACLgEyIAcoAmRsIghqQdEibCICIABB/jBsaiIAaiILNgIEIAYgASAAayIHNgIcIAYgCiAFa0ENdCIBIAIgCEHfiX9saiIAaiIINgIMIAYgASAAayICNgIUIAQgAygCAGoiASAMQYB9aiIFIAsgDUGAgIIQaiIAakEQdkH/B3FqLAAAOgAAIAEgACALa0EQdkH/B3EgBWosAAA6AAEgBCADKAIEaiIBIA5BgICCEGoiACAIakEQdkH/B3EgBWosAAA6AAAgASAAIAhrQRB2Qf8HcSAFaiwAADoAASAEIAMoAghqIgEgCUGAgIIQaiIAIAJqQRB2Qf8HcSAFaiwAADoAACABIAAgAmtBEHZB/wdxIAVqLAAAOgABIAQgAygCDGoiASAGKAIYQYCAghBqIgAgB2pBEHZB/wdxIAVqLAAAOgAAIAEgACAHa0EQdkH/B3EgBWosAAA6AAEgBiQGC2cBAX8gBCADKAIAaiAAKALQAkGAfWoiACACLgEAIAEoAlQiASgCAGxBhCBqIgUgAi4BECABKAIgbCIBakEDdkH/B3FqLAAAOgAAIAQgAygCBGogBSABa0EDdkH/B3EgAGosAAA6AAAL8QgBEX8jBiESIwZBgAJqJAYgACgC0AIhFSASIgAhBiABKAJUIQFBCCEJA0ACfwJAIAIuARAiByACLgEgIgVyQf//A3EEfwwBBSACLgEwBH9BACEFDAIFIAJBQGsuAQAEf0EAIQUMAwUgAi4BUAR/QQAhBQwEBSACLgFgBH9BACEFDAUFIAIuAXAEf0EAIQUMBgUgBiACLgEAIAEoAgBsIgU2AgAgBiAFNgIgIAZBQGsgBTYCACAGIAU2AmAgBiAFNgKAASAGIAU2AqABIAYgBTYCwAFBOAsLCwsLCwwBCyAHIAEoAiBsIgcgAi4BcCABKALgAWwiCGoiCyACLgEwIAEoAmBsIgogAi4BUCABKAKgAWwiDWoiDmtB6gJsQQh1IA0gCmsiCiAHIAhrIg1qQdkDbEEIdSIPIApBnQVsQQh1ayALIA5qIghrIgtrIQcgBiACLgEAIAEoAgBsIgogAkFAay4BACABKAKAAWwiDmoiECABQUBrKAIAIAVBEHRBEHVsIhEgAi4BYCABKALAAWwiE2oiBWoiFCAIajYCACAGIBQgCGs2AuABIAYgCyAKIA5rIgggESATa0HqAmxBCHUgBWsiCmoiDmo2AiAgBiAOIAtrNgLAASAGQUBrIAcgCCAKayIIajYCACAGIAggB2s2AqABIAYgDyANQZUCbEEIdWsgB2siByAQIAVrIgVqNgJgIAUgB2shBUEgC0ECdCAGaiAFNgIAIAZBBGohBiABQQRqIQEgAkECaiECIAlBf2ohBSAJQQFLBEAgBSEJDAELCyAVQYB9aiEJQQAhAQNAIAQgAUECdCADaigCAGohBiAAKAIAQZCAAWohBQJAAkAgACgCBCIHIAAoAggiAnINACAAKAIMBEBBACECDAEFIAAoAhAEQEEAIQIMAgUgACgCFARAQQAhAgwDBSAAKAIYBEBBACECDAQFIAAoAhwEQEEAIQIMBQUgBiAJIAVBBXZB/wdxaiwAACICOgAAIAZBAWogAkEHEEUaCwsLCwsMAQsgByAAKAIcIghqIgsgACgCFCIMIAAoAgwiCmoiDWtB6gJsQQh1IAwgCmsiDCAHIAhrIgpqQdkDbEEIdSIOIAxBnQVsQQh1ayALIA1qIghrIgtrIQcgBiAJIAUgACgCECINaiIPIAAoAhgiECACaiIMaiIRIAhqQQV2Qf8HcWosAAA6AAAgBiAJIBEgCGtBBXZB/wdxaiwAADoAByAGIAkgBSANayIFIAIgEGtB6gJsQQh1IAxrIgJqIgggC2pBBXZB/wdxaiwAADoAASAGIAkgCCALa0EFdkH/B3FqLAAAOgAGIAYgCSAFIAJrIgIgB2pBBXZB/wdxaiwAADoAAiAGIAkgAiAHa0EFdkH/B3FqLAAAOgAFIAYgCSAPIAxrIgIgDiAKQZUCbEEIdWsgB2siBWpBBXZB/wdxaiwAADoAAyAGIAkgAiAFa0EFdkH/B3FqLAAAOgAECyAAQSBqIQAgAUEBaiIBQQhHDQALIBIkBgvrBwIHfwx9IwYhCCMGQYACaiQGIAAoAtACIQsgCCIAIQUgASgCVCEBQQghBwNAAn8CQCACLgEQIgogAi4BICIGckH//wNxBH8MAQUgAi4BMAR/QQAhBgwCBSACQUBrLgEABH9BACEGDAMFIAIuAVAEf0EAIQYMBAUgAi4BYAR/QQAhBgwFBSACLgFwBH9BACEGDAYFIAUgASoCACACLgEAspQiDDgCACAFIAw4AiAgBUFAayAMOAIAIAUgDDgCYCAFIAw4AoABIAUgDDgCoAEgBSAMOALAAUE4CwsLCwsLDAELIAEqAiAgCrKUIgwgASoC4AEgAi4BcLKUIg2SIhAgASoCYCACLgEwspQiDiABKgKgASACLgFQspQiEZIiD5ND8wS1P5QgESAOkyIOIAwgDZMiEZJDXoPsP5QiEyAOQ3U9J0CUkyAPIBCSIg2TIhCTIQwgBSABKgIAIAIuAQCylCIPIAEqAoABIAJBQGsuAQCylCISkiIUIAFBQGsqAgAgBkEQdEEQdbKUIhUgASoCwAEgAi4BYLKUIhaSIg6SIhcgDZI4AgAgBSAXIA2TOALgASAFIA8gEpMiDSAVIBaTQ/MEtT+UIA6TIg+SIhIgEJI4AiAgBSASIBCTOALAASAFQUBrIA0gD5MiDSAMkjgCACAFIA0gDJM4AqABIAUgFCAOkyINIBMgEUPUi4o/lJMgDJMiDJI4AmAgDSAMkyEMQSALQQJ0IAVqIAw4AgAgBUEEaiEFIAFBBGohASACQQJqIQIgB0F/aiEGIAdBAUsEQCAGIQcMAQsLIAtBgH1qIQJBACEBA0AgACoCBCIMIAAqAhwiDZIiECAAKgIUIg4gACoCDCIRkiIPk0PzBLU/lCAOIBGTIg4gDCANkyIRkkNeg+w/lCITIA5DdT0nQJSTIA8gEJIiDZMiEJMhDCAEIAFBAnQgA2ooAgBqIgUgAiAAKgIAQwAgAESSIg8gACoCECISkiIUIAAqAggiFSAAKgIYIhaSIg6SIhcgDZIQQ0H/B3FqLAAAOgAAIAUgAiAXIA2TEENB/wdxaiwAADoAByAFIAIgDyASkyINIBUgFpND8wS1P5QgDpMiD5IiEiAQkhBDQf8HcWosAAA6AAEgBSACIBIgEJMQQ0H/B3FqLAAAOgAGIAUgAiANIA+TIg0gDJIQQ0H/B3FqLAAAOgACIAUgAiANIAyTEENB/wdxaiwAADoABSAFIAIgFCAOkyINIBMgEUPUi4o/lJMgDJMiDJIQQ0H/B3FqLAAAOgADIAUgAiANIAyTEENB/wdxaiwAADoABCAAQSBqIQAgAUEBaiIBQQhHDQALIAgkBgvNKAILfwF8IAAoAtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlBAnRqIgEoAgAgAkcEQCAIKAJQIgYEQCABIAI2AgACQAJAAkACQAJAIAIOAwABAgMLIAgoAlQhBEEAIQEDQCABQQJ0IARqIAFBAXQgBmovAQA2AgAgAUEBaiIBQcAARw0ACwwDCyAIKAJUIQRBACEBA0AgAUECdCAEaiABQQF0IAZqLwEAIAFBAXRB4ClqLgEAbEGAEGpBDHU2AgAgAUEBaiIBQcAARw0ACwwCCyAIKAJUIQdBACEBQQAhBANAIARBAnQgB2ogAUEDdEHgKmorAwAiDCAEQQF0IAZqLwEAt6JEAAAAAAAAwD+itjgCACAEQQFyIgVBAnQgB2ogDCAFQQF0IAZqLwEAt6JE72FIsVAx9j+iRAAAAAAAAMA/orY4AgAgBUEBaiIFQQJ0IAdqIAwgBUEBdCAGai8BALeiRMpvTZGu5/Q/okQAAAAAAADAP6K2OAIAIARBA3IiCkECdCAHaiAMIApBAXQgBmovAQC3okSqEWzvYtDyP6JEAAAAAAAAwD+itjgCACAKQQFqIgVBAnQgB2ogDCAFQQF0IAZqLwEAt6JEAAAAAAAAwD+itjgCACAKQQJqIgVBAnQgB2ogDCAFQQF0IAZqLwEAt6JEO7+nwGkk6T+iRAAAAAAAAMA/orY4AgAgCkEDaiIFQQJ0IAdqIAwgBUEBdCAGai8BALeiRLsgx3t6UeE/okQAAAAAAADAP6K2OAIAIARBB3IiBUECdCAHaiAMIAVBAXQgBmovAQC3okRdq3LeVajRP6JEAAAAAAAAwD+itjgCACAEQQhqIQQgAUEBaiIBQQhHDQALDAELIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAsLCwsgCEHYAGohBCAJQQFqIgEgACgCJEgEQCABIQkgBCEBDAELCwulAQEEfyAAKAIEKAIAIQEgACAAQQFB1AAgAUE/cUHKAWoRBAAiATYC2AMgAUHzADYCACAAKAIkQQBMBEAPCyABQSxqIQRBACEBIAAoAtgBIQIDQCAAKAIEKAIAIQMgAiAAQQFBgAIgA0E/cUHKAWoRBAAiAzYCVCADQQBBgAIQRRogAUECdCAEakF/NgIAIAJB2ABqIQIgAUEBaiIBIAAoAiRIDQALC8sFAQt/IwYhDSMGQSBqJAYgAigCACEHIAIoAgQhCyACKAIIIQogBSgCACIIRQRAIAUgACgCHCAAKAIgEKkJIgg2AgALIA0iAkEcaiEOIAJBGGohDyAAKAIMIABBMGogB0EwbGoiDCABKAIAIgkgB0HwAGxqKAIAIAdB8ABsIAlqKAIEKAIAIAtBFGxqIAogCBCoCUEASAR/QX8FIAUoAgAiCCgCHCEJIAgoAgwgCCgCCEEBamogCCgCFCAIKAIQQQFqamyyQwAAoECUQwAAoECUIAkgCWyyXgR/QX8FIAEoApgBIhBBAUYEQCAAKAIMIAxBAEEAIAEoAgAgB0HwAGxqKAIEKAIAIAtBFGxqKAIAIApBFGxqIAIQ2gIFIAAoAgwhCCAAQZAEaiAHQTBsaiEJIBBBAkYEQCAIIAwgCUEAIAEoAgAgB0HwAGxqKAIEKAIAIAtBFGxqKAIAIApBFGxqIAIQ2gIFIAggDCAJIABB8AdqIAdBMGxqIAEoAgAgB0HwAGxqKAIEKAIAIAtBFGxqKAIAIApBFGxqIAIQ2gILCyADIAQgACgCBCAAKAIIIAAoAhQgBSgCACAAKAIYIgAgACACIA4gDyAGEKwJQQBIBH9BfwUgBiAOKAIAsjgCBCAGIA8oAgCyOAIIIAEoAgAiACAHQfAAbGooAgQoAgAgC0EUbGooAgAiAiAKQRRsaiEBIAYgB0HwAGwgAGoqAhggB0HwAGwgAGoqAgwgASoCCJQgB0HwAGwgAGoqAhAgCkEUbCACaiICKgIMlJKSOAIMIAYgB0HwAGwgAGoqAiggB0HwAGwgAGoqAhwgASoCCJQgB0HwAGwgAGoqAiAgAioCDJSSkjgCECAGIAdB8ABsIABqKgI4IAdB8ABsIABqKgIsIAEqAgiUIAdB8ABsIABqKgIwIAIqAgyUkpI4AhRBAAsLCyERIA0kBiARCyIBAX1BfyAAKgIAIAEqAgCTIgJDAAAAAF4gAkMAAAAAXRsLihACDH8KfSMGIQojBkFAayQGIApBOGohByAKQTBqIQggCkEoaiELIApBIGohCSADQQRIBEBDILy+TCEFBSAAKgIsQwAAAABbBEBDILy+TCEFBQJAAn8gA7IiGiAFlBBDIRAgA0EGdBBEIgZFBEBBAEEDQcrYAiAJED1DAACAvyEFDAILIANBA3QQRCIJRQRAQQBBA0HK2AIgCxA9IAYQOEMAAIC/IQUMAgsgA0ECdCILEEQiDUUEQEEAQQNBytgCIAgQPSAGEDggCRA4QwAAgL8hBQwCCyALEEQiC0UEQEEAQQNBytgCIAcQPSAGEDggCRA4IA0QOEMAAIC/IQUMAgsgEEF/aiIHC0EEIAdBBEobIRFBACEHA0AgB0EDRwRAQQAhCANAIAhBBEcEQCAHQQR0IARqIAhBAnRqIAdBBHQgAGogCEECdGoqAgAgACoCLJU4AgAgCEEBaiEIDAELCyAHQQFqIQcMAQsLIBFBAnQgC2ohDwJAAkACQANAAkBBACEHA0AgByADSARAIAQqAgAhFyAEKgIEIRYgBCoCDCEZIAQqAhAhEyAEKgIUIRggBCoCHCEbIAdBDGwgAmoqAgAiFCAEKgIglCAHQQxsIAJqKgIEIhUgBCoCJJSSQwAAgD+SIgVDAAAAAFsNAiAHQQN0IAFqKgIEIBsgFCATlCAVIBiUkpIiGCAFlZMhEyAHQQF0IgBBAnQgCWogB0EDdCABaioCACAZIBcgFJQgFiAVlJKSIhcgBZWTIhY4AgAgAEEBckECdCAJaiATOAIAIAdBAnQgC2ogFiAWlCATIBOUkiITOAIAIAdBAnQgDWogEzgCACAHQQR0IgBBAnQgBmogFCAFlSITOAIAIABBAXJBAnQgBmogFSAFlSIWOAIAIABBAnJBAnQgBmpDAACAPyAFlSIZOAIAIABBA3JBAnQgBmpDAAAAADgCACAAQQRyQQJ0IAZqQwAAAAA4AgAgAEEFckECdCAGakMAAAAAOAIAIABBBnJBAnQgBmogFCAXlIwgBSAFlCIFlTgCACAAQQdyQQJ0IAZqIBUgF5SMIAWVOAIAIABBCHJBAnQgBmpDAAAAADgCACAAQQlyQQJ0IAZqQwAAAAA4AgAgAEEKckECdCAGakMAAAAAOAIAIABBC3JBAnQgBmogEzgCACAAQQxyQQJ0IAZqIBY4AgAgAEENckECdCAGaiAZOAIAIABBDnJBAnQgBmogFCAYlIwgBZU4AgAgAEEPckECdCAGaiAVIBiUjCAFlTgCACAHQQFqIQcMAQsLIAsgA0EEQSAQggNDAACAQSAPKgIAQwAAgECUIgUgBUMAAIBBXRsiFUMAAMBAlSEFQwAAAAAhE0EAIQADQCAAIANHBEAgEyAAQQJ0IAtqKgIAIhQgFV4EfSAFBSAFQwAAgD9DAACAPyAUIBWVkyIUIBQgFJSUk5QLkiETIABBAWohAAwBCwsgEyAalSIFQ83MzD1dDQQgDkEARyAFQwAAgEBdcQRAIA5BCkYgBSASlUOkcH0/XnINBQUgDkEKRg0FC0EAIQBBACEMA0AgAyAMRwRAIAxBAnQgDWoqAgAiEiAVXwRAIABBA3QiB0ECdCAGakMAAIA/IBIgFZWTIhIgEpQiEiAMQQR0IghBAnQgBmoqAgCUOAIAIAdBAXJBAnQgBmogEiAIQQFyQQJ0IAZqKgIAlDgCACAHQQJyQQJ0IAZqIBIgCEECckECdCAGaioCAJQ4AgAgB0EDckECdCAGaiASIAhBA3JBAnQgBmoqAgCUOAIAIAdBBHJBAnQgBmogEiAIQQRyQQJ0IAZqKgIAlDgCACAHQQVyQQJ0IAZqIBIgCEEFckECdCAGaioCAJQ4AgAgB0EGckECdCAGaiASIAhBBnJBAnQgBmoqAgCUOAIAIAdBB3JBAnQgBmogEiAIQQdyQQJ0IAZqKgIAlDgCACAHQQhqQQJ0IAZqIBIgCEEIckECdCAGaioCAJQ4AgAgB0EJakECdCAGaiASIAhBCXJBAnQgBmoqAgCUOAIAIAdBCmpBAnQgBmogEiAIQQpyQQJ0IAZqKgIAlDgCACAHQQtqQQJ0IAZqIBIgCEELckECdCAGaioCAJQ4AgAgB0EMakECdCAGaiASIAhBDHJBAnQgBmoqAgCUOAIAIAdBDWpBAnQgBmogEiAIQQ1yQQJ0IAZqKgIAlDgCACAHQQ5qQQJ0IAZqIBIgCEEOckECdCAGaioCAJQ4AgAgB0EPakECdCAGaiASIAhBD3JBAnQgBmoqAgCUOAIAIABBAnQgCWogEiAMQQF0IgdBAnQgCWoqAgCUOAIAIABBAWpBAnQgCWogEiAHQQFyQQJ0IAlqKgIAlDgCACAAQQJqIQALIAxBAWohDAwBCwsgAEEGSA0CIAogCSAGIAAQqANBAEgNAyAEIAoqAgAgBCoCAJI4AgAgBCAKKgIEIAQqAgSSOAIEIAQgCioCCCAEKgIMkjgCDCAEIAoqAgwgBCoCEJI4AhAgBCAKKgIQIAQqAhSSOAIUIAQgCioCFCAEKgIckjgCHCAEIAoqAhggBCoCIJI4AiAgBCAKKgIcIAQqAiSSOAIkIAUhEiAOQQFqIQ4MAQsLIAYQOCAJEDggDRA4IAsQOEMgvL5MIQUMAwsgBhA4IAkQOCANEDggCxA4QwAAgL8hBQwCCyAGEDggCRA4IA0QOCALEDhDILy+TCEFDAELIAYQOCAJEDggDRA4IAsQOAsLCyAKJAYgBQvFCAIGfw59IwYhByMGQTBqJAYgB0EoaiEGIAdBIGohCCADQQRIBEBDILy+TCELBSAAKgIsQwAAAABbBEBDILy+TCELBQJAIANBBnQQRCIFRQRAQQBBA0HK2AIgCBA9QwAAgL8hCwwBCyADQQN0EEQiCkUEQEEAQQNBytgCIAYQPSAFEDhDAACAvyELDAELQQAhBgNAIAZBA0cEQEEAIQgDQCAIQQRHBEAgBkEEdCAEaiAIQQJ0aiAGQQR0IABqIAhBAnRqKgIAIAAqAiyVOAIAIAhBAWohCAwBCwsgBkEBaiEGDAELCyADsiEYIANBAXQhCEEAIQYCQAJAA0ACQEMAAAAAIRJBACEJA0AgCSADSARAIAQqAgAhDSAEKgIEIRAgBCoCDCERIAQqAhAhEyAEKgIUIRQgBCoCHCELIAlBDGwgAmoqAgAiDiAEKgIglCAJQQxsIAJqKgIEIg8gBCoCJJSSQwAAgD+SIgxDAAAAAFsNAiAJQQN0IAFqKgIEIAsgDiATlCAPIBSUkpIiFyAMlZMhFSAJQQF0IgBBAnQgCmogCUEDdCABaioCACARIA0gDpQgECAPlJKSIhAgDJWTIhE4AgAgAEEBckECdCAKaiAVOAIAIAlBBHQiAEECdCAFaiAOIAyVIhM4AgAgAEEBckECdCAFaiAPIAyVIhQ4AgAgAEECckECdCAFakMAAIA/IAyVIgs4AgAgAEEDckECdCAFakMAAAAAOAIAIABBBHJBAnQgBWpDAAAAADgCACAAQQVyQQJ0IAVqQwAAAAA4AgAgAEEGckECdCAFaiAOIBCUjCAMIAyUIg2VOAIAIABBB3JBAnQgBWogDyAQlIwgDZU4AgAgAEEIckECdCAFakMAAAAAOAIAIABBCXJBAnQgBWpDAAAAADgCACAAQQpyQQJ0IAVqQwAAAAA4AgAgAEELckECdCAFaiATOAIAIABBDHJBAnQgBWogFDgCACAAQQ1yQQJ0IAVqIAs4AgAgAEEOckECdCAFaiAOIBeUjCANlTgCACAAQQ9yQQJ0IAVqIA8gF5SMIA2VOAIAIBIgESARlCAVIBWUkpIhEiAJQQFqIQkMAQsLIBIgGJUiC0PNzMw9XQ0DIAZBAEcgC0MAAIBAXXEEQCAGQQpGIAsgFpVDpHB9P15yDQQFIAZBCkYNBAsgByAKIAUgCBCoA0EASA0CIAQgByoCACAEKgIAkjgCACAEIAcqAgQgBCoCBJI4AgQgBCAHKgIIIAQqAgySOAIMIAQgByoCDCAEKgIQkjgCECAEIAcqAhAgBCoCFJI4AhQgBCAHKgIUIAQqAhySOAIcIAQgByoCGCAEKgIgkjgCICAEIAcqAhwgBCoCJJI4AiQgCyEWIAZBAWohBgwBCwsgBRA4IAoQOEMgvL5MIQsMAgsgBRA4IAoQOEMgvL5MIQsMAQsgBRA4IAoQOAsLCyAHJAYgCwu7BgIMfwR9IwYhCSMGQdAAaiQGIAlBMGohECAJQcwAaiEMIAlByABqIQ0gCUFAayEOIAlBOGohDyAAsiEUIAGyIRUgBUHMJWohEUEAIQFBACEAAn8CQANAAkAgCCADKAIETg0CQQAhCwNAIAtBA0cEQEEAIQYDQCAGQQRHBEAgC0EEdCAJaiAGQQJ0aiAIQTBsIAJqIAtBBHRqIAZBAnRqKAIANgIAIAZBAWohBgwBCwsgC0EBaiELDAELC0EAIQcgAygCACAIQfAAbGooAgQhBgNAIAcgBigCBEgEQEEAIQoDQCAKIAYoAgAiCyAHQRRsaigCBEgEQEEAIAkgB0EUbCALaigCACIGIApBFGxqKgIIIApBFGwgBmoqAgwgDCANEIIEQQBIIAwqAgAiEkMAAAAAXXJFBEAgDSoCACITIBVgIBNDAAAAAF0gEiAUYHJyRQRAAkAgDiADKAIAIAhB8ABsaigCBCgCACAHQRRsaigCACIGIApBFGxqKAIINgIAIA4gCkEUbCAGaigCDDYCBEEAIAkgDiAPEIcEIA8qAgQiEiADKAIAIAhB8ABsaigCBCgCACIGIAdBFGxqKgIMIhNfBEAgEiAHQRRsIAZqKgIQYARAIABByAFGDQkgAEEYbCAEaiAINgIAIABBGGwgBGogBzYCBCAAQRhsIARqIAo2AgggAEEYbCAEaiAMKAIANgIQIABBGGwgBGogDSgCADYCFCAAQRhsIARqQQA2AgwgAEEBaiEADAILCyASIBNDAAAAQJRfBEAgEiAHQRRsIAZqKgIQQwAAAD+UYARAIAFByAFGBH8gEUF/NgIAQcgBBSABQRhsIAVqIAg2AgAgAUEYbCAFaiAHNgIEIAFBGGwgBWogCjYCCCABQRhsIAVqIAwoAgA2AhAgAUEYbCAFaiANKAIANgIUIAFBGGwgBWpBADYCDCABQQFqCyEBCwsLCwsgCkEBaiEKIAMoAgAgCEHwAGxqKAIEIQYMAQsLIAdBAWohBwwBCwsgCEEBaiEIDAELC0EAQQNB2dgCIBAQPSAEQcwlagwBCyAAQRhsIARqQX82AgwgAUEYbCAFakEMagtBfzYCACAJJAYLwwcCDn8IfSMGIQUjBkHQAGokBiAFQTBqIRAgBUHMAGohDCAFQcgAaiENIAVBQGshDiAFQThqIQ8gACgCALIhGSAAKAIEsiEaIARBzCVqIRECfwJAA0ACQCAKIAIoAgRODQJBACEHA0AgB0EDRwRAQQAhBgNAIAZBBEcEQCAHQQR0IAVqIAZBAnRqIApBMGwgAWogB0EEdGogBkECdGooAgA2AgAgBkEBaiEGDAELCyAHQQFqIQcMAQsLQQAhBiACKAIAIApB8ABsaigCBCEHA0AgBiAHKAIESARAQQAhCwNAIAsgBygCACISIAZBFGxqKAIESARAIAAgBSAGQRRsIBJqKAIAIgcgC0EUbGoqAgggC0EUbCAHaioCDCAMIA0QggRBAEggDCoCACITQwAAAABdckUEQCANKgIAIhQgGmAgFEMAAAAAXSATIBlgcnJFBEACQCAFKgIMIAUqAgAgAigCACAKQfAAbGooAgQoAgAgBkEUbGooAgAiByALQRRsaioCCCITlCAFKgIEIAtBFGwgB2oqAgwiFJSSkiIWIBaUIAUqAhwgEyAFKgIQlCAUIAUqAhSUkpIiFyAXlJIgBSoCLCATIAUqAiCUIBQgBSoCJJSSkiIYIBiUkpEhFSAFKgIoIBggFZWUIAUqAgggFiAVlZQgBSoCGCAXIBWVlJKSQ83MzL1eRQRAIA4gEzgCACAOIBQ4AgQgACAFIA4gDxCHBCAPKgIEIhMgAigCACAKQfAAbGooAgQoAgAiByAGQRRsaioCDCIUXwRAIBMgBkEUbCAHaioCEGAEQCAJQcgBRg0KIAlBGGwgA2ogCjYCACAJQRhsIANqIAY2AgQgCUEYbCADaiALNgIIIAlBGGwgA2ogDCgCADYCECAJQRhsIANqIA0oAgA2AhQgCUEYbCADakEANgIMIAlBAWohCQwDCwsgEyAUQwAAAECUXwRAIBMgBkEUbCAHaioCEEMAAAA/lGAEQCAIQcgBRgR/IBFBfzYCAEHIAQUgCEEYbCAEaiAKNgIAIAhBGGwgBGogBjYCBCAIQRhsIARqIAs2AgggCEEYbCAEaiAMKAIANgIQIAhBGGwgBGogDSgCADYCFCAIQRhsIARqQQA2AgwgCEEBagshCAsLCwsLCyALQQFqIQsgAigCACAKQfAAbGooAgQhBwwBCwsgBkEBaiEGDAELCyAKQQFqIQoMAQsLQQBBA0HZ2AIgEBA9IANBzCVqDAELIAlBGGwgA2pBfzYCDCAIQRhsIARqQQxqC0F/NgIAIAUkBgvVEQIUfwF9IwYhBSMGQTBqJAYgBSIMQShqIRIgBUEgaiETIABBAEcgAUEAR3EgAkEAR3EgA0EAR3EgBEEAR3EEfyABKAKYAUEBSAR/QX4FAn8gBEMAAAAAOAIAIAFBCGohDSABQThqIQggAUHoAGohCkEAIQUDQCAFIAEoAgRIBEAgDSABKAIAIAVB8ABsakEMaiAAQTBqIAVBMGxqELICIAEoApgBQQFKBEAgCCABKAIAIAVB8ABsakEMaiAAQZAEaiAFQTBsahCyAiABKAKYAUECSgRAIAogASgCACAFQfAAbGpBDGogAEHwB2ogBUEwbGoQsgILCyAFQQFqIQUMAQsLIAAoAgBBAUYEQCAAQQxqIhQoAgAgAEEwaiABIABB8BRqIg4gAEHIOmoiChDNBiAAQQRqIQ8gAEEIaiEQBSAAQQRqIg8oAgAgAEEIaiIQKAIAIABBMGogASAAQfAUaiIOIABByDpqIgoQzAYgAEEMaiEUCyAAQeDnAGohFyABQZwBaiEVIABB0AtqIRYgDiEIA0ACQCALIAAoAiRODQBBACEJIAYhByAIIQUDQAJAIAkgFygCAE4EQCAFIQgMAQsgCyAAKAIkRgRAIAUhCAwBCyAFIBUgByAWIA8oAgAgECgCABCFBCIIQQBIBEAgBSAORwRAIAUhCAwCCyAKIBUgByAWIA8oAgAgECgCABCFBCIIQQBIBH8gCiEIDAIFIAoLIQULIAlBAnQgDGogCEEYbCAFaiIRNgIAIABB0AtqIAdBA3RqIAhBGGwgBWooAhA2AgAgACAHQQN0akHUC2ogCEEYbCAFaigCFDYCACAAQeTnAGogCUE0bGogADYCACAAIAlBNGxqQejnAGogATYCACAAIAlBNGxqQeznAGogETYCACAAIAlBNGxqQfDnAGogAjYCACAJQQFqIQkgBiAHQQFqIgggCEEFRhshByALQQFqIQsMAQsLIAlFDQBBACEHIAYhBQNAIAcgCUcEQCAAIAdBNGxqQZToAGogAEHk5wBqIAdBNGxqKAIAIAAgB0E0bGpB6OcAaigCACAAIAdBNGxqQeznAGooAgAgACAHQTRsakHw5wBqKAIAIAAgB0E0bGpB9OcAaigCACAAIAdBNGxqQfjnAGogACAHQTRsakH85wBqIgYQyAYiETYCACARRQRAIAYqAgAgACoCKF4EQCAAKAIAQQFGBEAgFCgCACIGQegAaiAAIAdBNGxqQYDoAGoqAgC7IAAgB0E0bGpBhOgAaioCALsgEiATIAYoArABEN8EIABB0A5qIAVBA3RqIBIrAwC2OAIAIAAgBUEDdGpB1A5qIBMrAwC2OAIABSAAQdAOaiAFQQN0aiAAIAdBNGxqQYDoAGooAgA2AgAgACAFQQN0akHUDmogACAHQTRsakGE6ABqKAIANgIACyAAQZARaiAFQQxsaiAAIAdBNGxqQYjoAGooAgA2AgAgACAFQQxsakGUEWogACAHQTRsakGM6ABqKAIANgIAIAAgBUEMbGpBmBFqIAAgB0E0bGpBkOgAaigCADYCACAAQdALaiAFQQN0aiAHQQJ0IAxqKAIAIgYoAhA2AgAgACAFQQN0akHUC2ogBigCFDYCACAAQaDgAGogBUEYbGogBigCADYCACAAIAVBGGxqQaTgAGogBigCBDYCACAAIAVBGGxqQajgAGogBigCCDYCACAAIAVBGGxqQazgAGpBADYCACAFQQFqIQULCyAHQQFqIQcMAQsLIAUhBgwBCwtBACECA0AgAiAGSARAIAFBnAFqIAJBGGxqIgUgAEGg4ABqIAJBGGxqIggpAgA3AgAgBSAIKQIINwIIIAUgCCkCEDcCECACQQFqIQIMAQsLIAEgBkEYbGpBfzYCqAEgBkEDSCECIAAoAgBBAUYEQCACBEAgAUEANgKYAUF9DAILIAQgACgCECANIABB0A5qIgIgAEGQEWoiBSAGIANBABDbASIZOAIAIBkgACoCLF4EQCAAKAIQRAAAAKCZmek/EI0BIAQgACgCECADIAIgBSAGIANBARDbASIZOAIAIBkgACoCLF4EQCAAKAIQRAAAAEAzM+M/EI0BIAQgACgCECADIAIgBSAGIANBARDbASIZOAIAIBkgACoCLF4EQCAAKAIQRAAAAKCZmdk/EI0BIAQgACgCECADIAIgBSAGIANBARDbASIZOAIAIBkgACoCLF4EQCAAKAIQRAAAAAAAAAAAEI0BIAQgACgCECADIAIgBSAGIANBARDbASIZOAIAIBkgACoCLF4EQCABQQA2ApgBQXwMBgsLCwsLBSACBEAgAUEANgKYAUF9DAILIAQgDSAAQdAOaiICIABBkBFqIgUgBiADQQBDAACAPxDaASIZOAIAIBkgACoCLF4EQCAEIAMgAiAFIAYgA0EBQ83MTD8Q2gEiGTgCACAZIAAqAixeBEAgBCADIAIgBSAGIANBAUOamRk/ENoBIhk4AgAgGSAAKgIsXgRAIAQgAyACIAUgBiADQQFDzczMPhDaASIZOAIAIBkgACoCLF4EQCAEIAMgAiAFIAYgA0EBQwAAAAAQ2gEiGTgCACAZIAAqAixeBEAgAUEANgKYAUF8DAYLCwsLCwsgASABKAKYAUEBajYCmAFBACEAA0AgAEEDRwRAQQAhAgNAIAJBBEcEQCABQegAaiAAQQR0aiACQQJ0aiABQThqIABBBHRqIAJBAnRqKAIANgIAIAJBAWohAgwBCwsgAEEBaiEADAELC0EAIQADQCAAQQNHBEBBACECA0AgAkEERwRAIAFBOGogAEEEdGogAkECdGogAUEIaiAAQQR0aiACQQJ0aigCADYCACACQQFqIQIMAQsLIABBAWohAAwBCwtBACEAA38gAEEDRgR/QQAFQQAhAgNAIAJBBEcEQCABQQhqIABBBHRqIAJBAnRqIABBBHQgA2ogAkECdGooAgA2AgAgAkEBaiECDAELCyAAQQFqIQAMAQsLCwsFQX8LIRggDCQGIBgLwQEBA38jBiEEIwZBEGokBkGk6wAQRCIDRQRAQQBBA0G52AIgBBA9QQEQAQsgBEEIaiEFIAMgADYCFCADIAE2AgQgAyACNgIIIANBGTYCGCADQQs2AhwgA0ELNgIgIANBCjYCJCADQ5qZGT84AiggA0MAAABAOAIsIANB4OcAakEBNgIAIANB9OcAaiABIAJsEEQiADYCACAABEAgA0H45wBqQQA2AgAgBCQGIAMPBUEAQQNBudgCIAUQPUEBEAELQQALLwAgACgCCCABQQJ0aiIBKAIABH8gAUEANgIAIAAgACgCAEF/ajYCAEEABUF/CxoLPgAgASAAKAIAIAAoAgQQzwYiAUEBNgIAIAEgADYCDCABIABBCGoQ4wIiADYCECAARAAAAAAAAAAAEI0BIAELugEBBn8gACgCACEBQbTEAygCACICBEACQCACIAJBf2oiBHFFIgUEfyABIARxBSABIAJJBH8gAQUgASACEE4LCyIGQQJ0QbDEAygCAGooAgAiAAR/A0AgACgCACIARQRAQQAhAAwDCyAAKAIEIgMgAUYEQCABIAAoAghGDQMFIAUEfyADIARxBSADIAJPBH8gAyACEE4FIAMLCyAGRwRAQQAhAAwECwsMAAALAAVBAAshAAsFQQAhAAsgAAv7AgEGfyMGIQMjBkEwaiQGIANBGGohBSADQRBqIQYgA0EIaiEHIANBIGoiAiAANgIAIANBHGoiBCABNgIAIAIQUwR/An8gAhBSIQAgBBDSBgR/IABBCGoiASAEEKwDQbgBEEwaIAAoAgwhAgJAAkAgASgCACIEIAAoAtABRw0AIAAoAtQBIAJHDQAMAQsgAyAENgIAIAMgAjYCBEEAQQJBmdcCIAMQPSABIAAoAtABIAAoAtQBIAEQ+QsLIAAQqQMgACABELwLIgI2AsABIAJFBEBBAEEDQcjXAiAHED1BfwwCCyAAIAIQogkiAjYC2AEgAkUEQEEAQQNB7tcCIAYQPUF/DAILIAIgACgC2AMQ4wggACABQQhqEK8JIgE2AuQBIAEEQCAAKALYASAAKALcARDHByAAKALAASAAKwO4AiAAKwPAAiAAQdgCahDGCyAAIAAoAsABEIAENgLoAQVBAEEDQZPYAiAFED0LQQAFQX8LCwVBfwsaIAMkBgszAQJ/IwYhBCMGQRBqJAYgBCABIAIgAyAAQT9xQcoBahEEADYCACAEKAIAIQUgBCQGIAUL7wIBCH8gASgCACIFKAIEIQNBoMQDKAIAIgRBf2ohBiAEIAZxRSIIBH8gAyAGcQUgAyAETwR/IAMgBBBOBSADCwshA0GcxAMoAgAgA0ECdGoiBygCACEBA0AgBSABKAIAIgJHBEAgAiEBDAELCwJ/AkAgAUGkxANGDQAgASgCBCECIAgEfyACIAZxBSACIARPBH8gAiAEEE4FIAILCyADRw0AIAUMAQsgBSgCACICBEAgAigCBCECIAUgCAR/IAIgBnEFIAIgBE8EfyACIAQQTgUgAgsLIANGDQEaCyAHQQA2AgAgBQsiCSgCACICIQcgASACBH8gAigCBCECIAMgCAR/IAIgBnEFIAIgBE8EfyACIAQQTgUgAgsLIgJHBH9BnMQDKAIAIAJBAnRqIAE2AgAgBSgCAAUgBwsFIAcLNgIAIAlBADYCAEGoxANBqMQDKAIAQX9qNgIAIAAgBTYCACAAQaTEAzYCBCAAQQE6AAgLZQEBfyMGIQEjBkEgaiQGIAAoAgAiACgCABogASAANgIAIAFBEGoiACABKAIANgIAIAFBBGogABDVBiABKAIEIQAgAUEANgIEIAAEQCABLAAMBEAgAEEQahCzAwsgABA4CyABJAYLOQECfyMGIQEjBkEQaiQGIAFBBGohAiAAEFMiAARAIAEgADYCACACIAEoAgA2AgAgAhDWBgsgASQGCy8BAn8jBiECIwZBEGokBiACIAEgAEH/AHFBCGoRAAA2AgAgAigCACEDIAIkBiADC1ABAn8jBiEDIwZBEGokBiABIAIoAgAgABCqAyIBNgIAIAFBAEgEfyADIAA2AgBBAEEDQfTTAiADED0gAigCABC4AkEABUEBCyEEIAMkBiAEC0EBAn8jBiEDIwZBEGokBiADIAIQrQMgA0EMaiICIAEgAyAAQT9xQYoBahECADYCACACKAIAIQQgAxBHIAMkBiAEC3wBAn8jBiEEIwZBEGokBiADIAAgAigCABDlCSIANgIAIAAEfwJ/AkACQAJAIAAoAmwOAgABAgsgAUEAEIoCGkEBDAILIAFBAhCKAhpBAQwBCyABQQMQigIaQQELBUEAQQNBrdMCIAQQPSACKAIAELgCQQALIQUgBCQGIAULnAMBD38jBiEDIwZB4ABqJAYgA0HQAGohCiADQcgAaiELIANBQGshDCADQThqIQUgA0EwaiEGIANBKGohDSADQSBqIQ4gA0EYaiEPIANBEGohByADQQhqIQggACgC6AEhECADQdgAaiIEQQA2AgAgAyACNgIAQQBBAUHu0AIgAxA9IAIgA0HUAGoiCRChCUEASAR/IAggAjYCAEEAQQNBhtECIAgQPUEABQJ/IAcgATYCAEEAQQFBrNECIAcQPSAJKAIAIAEQoAlBAEgEQEEAQQNBxdECIA8QPUEADAELIAQgCRCjCUEASARAQQBBA0Hp0QIgDhA9QQAMAQtBAEEBQYTSAiANED0gBiACNgIAQQBBAUGN0gIgBhA9IABB+AFqIAFBAnRqIAIQrgkiADYCACAARQRAIAUgAjYCAEEAQQNBo9ICIAUQPQtBAEEBQYTSAiAMED0gAUEKRgRAQX8QAQsgECAEKAIAEJ4JQQBIBH9BAEEDQcTSAiALED1BAAUgBBD/A0EAQQFB3dICIAoQPUEBCwsLIREgAyQGIBELMQECfyMGIQMjBkEQaiQGIAMgASACIABBP3FBigFqEQIANgIAIAMoAgAhBCADJAYgBAuYAQECfyAAQQFGBH9BAgUgACAAQX9qcQR/IAAQ0QEFIAALCyIAQbTEAygCACICSwRAIAAQqwMFIAAgAkkEQEG8xAMoAgCzQcDEAyoCAJWNEJIBIQEgAkF/aiACcUUgAkECS3EEfyABQQFBICABQX9qZ2t0IAFBAkkbBSABENEBCyIBIAAgACABSRsiACACSQRAIAAQqwMLCwsLSAEBfyAAQcgBEFEiAzYCACAAQbjEAzYCBCADIAIoAgAoAgA2AgggA0EQakEAQbgBEEUaIABBAToACCADIAE2AgQgA0EANgIACz8BAn8jBiECIwZBEGokBiACIAEQrQMgAkEMaiIBIAIgAEH/AHFBCGoRAAA2AgAgASgCACEDIAIQRyACJAYgAwvDBgIQfwF8IwYhAiMGQSBqJAYgAkEYaiENIAJBEGohAyACQQhqIQQgAiEMIAAEQAJAIAFFBEBBAEEDQa2pASAEED1BfyEEDAELIAAoAgQhAkEAIQQDQAJAIAQgAk4NACAAKAIIIARBAnRqKAIARQ0AIARBAWohBAwBCwsgAiAERgRAQX8hBAUgARCIAyILRQRAQQBBA0HaqQEgAxA9QX8hBAwCCyAEQQJ0IQ4gCxD3AiEBAkADQAJAIApBBE8NAiAKIA5qIQhBACECQQAhBQNAIAVBA0kEQCAFRSEPIAVBAkYhEEEAIQcgACgCHCEDA0AgByADSARAQQAhBgNAIAYgA0gEQCABRQ0GIAEQ7gQhA0EAEPcCIQEgACgCDCAIQQJ0aigCACAFIAYgByAAKAIcbGpBA2xqQQJ0akH/ASADayIDNgIAIAAoAhQgCEECdGooAgAiESAGIAcgACgCHGxqQQJ0aiEJIA8EQCAJIAM2AgAFIAkgAyAJKAIAajYCACAQBEAgBiAHIAAoAhxsakECdCARaiIJIAkoAgBBAxA5NgIACwsgBkEBaiEGIAIgA2ohAiAAKAIcIQMMAQsLIAdBAWohBwwBCwsgBUEBaiEFDAELCyACIAAoAhwiAiACQQNsbBA5IQdBACEFQQAhAwNAIAMgAkEDbCACbEkEQCAAKAIMIAhBAnRqKAIAIANBAnRqIgYoAgAgB2shAiAGIAI2AgAgBSACIAJsaiEFIANBAWohAyAAKAIcIQIMAQsLIAAoAhAgCEEDdGpESK+8mvLXej4gBbefIhIgEkQAAAAAAAAAAGEbOQMAQQAhBUEAIQMDQCADIAIgAmxJBEAgACgCFCAIQQJ0aigCACADQQJ0aiIGKAIAIAdrIQIgBiACNgIAIAUgAiACbGohBSADQQFqIQMgACgCHCECDAELCyAAKAIYIAhBA3RqREivvJry13o+IAW3nyISIBJEAAAAAAAAAABhGzkDACAKQQFqIQoMAQsLQQBBA0H2qQEgDRA9IAsQOEF/IQQMAgsgCxA4IAAoAgggBEECdGpBATYCACAAIAAoAgBBAWo2AgALCwVBAEEDQZSpASAMED1BfyEECyAMJAYgBAssAQJ/IwYhASMGQRBqJAYgASAAQQFxQQZqERAANgIAIAEoAgAhAiABJAYgAgstAgF/AnwjBiECIwZBEGokBiACIAEgAEEDcRESADkDACACKwMAIQQgAiQGIAQLjAEAIABBADYCwAEgAEEANgLEASAAQgA3AswBIABCADcC1AEgAEIANwLcASAAQX42AvABIABBADYC9AEgAEIANwKgAiAAQgA3AqgCIABBgICA/AM2ArACIABELUMc6+I2Gj85A7gCIABEAAAAAABAj0A5A8ACIABCADcCyAIgAEIANwLQAiAAQQI2AtgDC0EBA38gACgCCCEBA0AgAQRAIAEoAgAhAyABEDggAyEBDAELCyAAKAIAIQIgAEEANgIAIAIEQCAAKAIEGiACEDgLC6wKAQ1/IwYhCyMGQaABaiQGIAtBmAFqIQUgC0GQAWohDyALQYABaiIIQQA2AgAgCEG2ATYCBCAIQcMBNgIIIAhBDTYCDEF/IQYDQCAHQQRHBEAgACAHQQJ0IAhqKAIAaiwAACEKIAdBAWohByAKIAkgCkH/AXEgCUH/AXFKGyEJIAogBiAKQf8BcSAGQf8BcUgbIQYMAQsLIAlB/wFxIgcgBkH/AXEiCWtBHkgEfyACQQA2AgAgA0QAAAAAAADwvzkDAEF+BQJ/IAcgCWpBAXYhCkEAIQcDQCAHQQRHBEAgBSAHaiAKIAAgB0ECdCAIaigCAGotAABLOgAAIAdBAWohBwwBCwtBACEJA0ACQCAJQQRPDQAgCUEBaiEIIAUgCWosAABBAUYEQCAIQQNxIAVqLAAAQQFGBEAgCUECakEDcSAFaiwAAEUNAgsLIAghCQwBCwsgAwJ8AkACQAJAAkACQAJAAkAgCUH/////B3EOBQECAwQABQsgAkEANgIAIANEAAAAAAAA8L85AwBBfQwHC0H3ACEIQQAhBUH/ASEHA0AgBUEORgRADAYFIAVBfWohDCAFQf7///8HcUEMRiENIAVBDmwhDkEAIQYDQCAGQQ5HBEAgDCAGQX1qckEITwRAIAZB/v///wdxIQMgBSAGckH+////B3EEQCANIANFIANBDEZycUUEQCAIIAtqIAAgBiAOamotAAAgCmsiA0EfdjoAACAIQX9qIQggA0EAIANrIANBf0obIgMgByADIAdIGyEHCwsLIAZBAWohBgwBCwsgBUEBaiEFDAELAAALAAtB9wAhCEH/ASEHQQAhBgNAIAZBDkYEQAwFBSAGQX1qIQwgBkH+////B3EiBUUhDSAFQQxGIQ5BDSEFA0AgBUF/SgRAIAVBfWogDHJBCE8EQCANIAVBfnFBDEYiA3FFBEAgDiADIAVBAklycUUEQCAIIAtqIAAgBiAFQQ5samotAAAgCmsiA0EfdjoAACAIQX9qIQggA0EAIANrIANBf0obIgMgByADIAdIGyEHCwsLIAVBf2ohBQwBCwsgBkEBaiEGDAELAAALAAtBDSEFQfcAIQhB/wEhBwNAIAVBf0oEQCAFQX1qIQwgBUF+cUEMRiAFQQJJciENIAVBDmwhDkENIQYDQCAGQX9KBEAgDCAGQX1qckEITwRAIAZBfnFBDEYgDXEgBSAGckECSXJFBEAgCCALaiAAIAYgDmpqLQAAIAprIgNBH3Y6AAAgCEF/aiEIIANBACADayADQX9KGyIDIAcgAyAHSBshBwsLIAZBf2ohBgwBCwsgBUF/aiEFDAEFDAQLAAALAAtBDSEFQfcAIQhB/wEhBwNAIAVBf0oEQCAFQX1qIQ0gBUF+cSIMQQxGIQ4gDEUhEEEAIQYDQCAGQQ5HBEAgBkF9aiANckEITwRAIA4gBkH+////B3EiA0VxRQRAIAMgDHJFIBAgA0EMRnFyRQRAIAggC2ogACAFIAZBDmxqai0AACAKayIDQR92OgAAIAhBf2ohCCADQQAgA2sgA0F/ShsiAyAHIAMgB0gbIQcLCwsgBkEBaiEGDAELCyAFQX9qIQUMAQUMAwsAAAsACyACIAk2AgBEAAAAAAAA8D8MAQsgByEAIAIgCTYCAEQAAAAAAADwPyAAt0QAAAAAAAA+QKMgAEEeShsLOQMAQY4WQgAgCyAPELUDIgBBAEgEf0F8BSAEBEAgBCAANgIACyABIA8pAwA3AwBBAAsLCyERIAskBiARC5gBAQJ/IABBAUYEf0ECBSAAIABBf2pxBH8gABDRAQUgAAsLIgBBoMQDKAIAIgJLBEAgABCyAwUgACACSQRAQajEAygCALNBrMQDKgIAlY0QkgEhASACQX9qIAJxRSACQQJLcQR/IAFBAUEgIAFBf2pna3QgAUECSRsFIAEQ0QELIgEgACAAIAFJGyIAIAJJBEAgABCyAwsLCwtPAQF/IABB8AMQUSIDNgIAIABBpMQDNgIEIAMgAigCACgCADYCCCADQRBqIgJBAEHgAxBFGiACEOQGIABBAToACCADIAE2AgQgA0EANgIAC1gBA38jBiEBIwZBEGokBiABQQRqIQIgASAANgIAIAEQUwR/IAEQUigC2AEiAAR/IAIgACgCFDYCAEEABUF/C0UhACACKAIAQX8gABsFQX8LIQMgASQGIAMLXwECfyMGIQIjBkEQaiQGIAJBBGoiAyAANgIAIAMQUwRAIAMQUigC2AEiAEEARyABQQJJcQR/IAAgATYCFEEABUF/C0UEQCACIAE2AgBBAEEBQZy2AiACED0LCyACJAYLYQEDfyMGIQEjBkEQaiQGIAFBBGohAiABIAA2AgAgARBTBH8gARBSKALYASIAQQBHIAJBAEdxBH8gAiAAKAIMNgIAQQAFQX8LRSEAIAIoAgBBfyAAGwVBfwshAyABJAYgAwtfAQJ/IwYhAiMGQRBqJAYgAkEEaiIDIAA2AgAgAxBTBEAgAxBSKALYASIAQQBHIAFBAklxBH8gACABNgIMQQAFQX8LRQRAIAIgATYCAEEAQQFBubYCIAIQPQsLIAIkBgtBAQN/IwYhASMGQRBqJAYgAUEEaiECIAEgADYCACABEFMEfyABEFIoAtgBIAIQ7gggAigCAAVBfwshAyABJAYgAwtBAQF/IwYhAiMGQRBqJAYgAiAANgIAIAIQUwRAIAIQUigC2AEiAAR/IABBmIevA2ogATYCAEEABUF/CxoLIAIkBgt7AgJ/AnwjBiEBIwZBEGokBiABQQhqIgIgADYCACACEFMEfCACEFIoAtgBIgAEfCAABH8gASAAQZCHrwNqKwMAOQMAQQAFQX8LRSEAIAErAwBEAAAAAAAA8L8gABsFRAAAAAAAAPC/CwVEAAAAAAAA8L8LIQQgASQGIAQLKgECfwJ/IwYhASMGQRBqJAZB76gCQQNB9IYBQdK2AkEBQQEQCSABCyQGC3ECAn8BfCMGIQIjBkEQaiQGIAJBCGoiAyAANgIAIAMQUwRAIAMQUiEAIAFDAAAAAF8gAUMAAIA/YHJFBEAgAbshBCAAKALYASIABEAgACAEEOoIRQRAIAIgBDkDAEEAQQFB17YCIAIQPQsLCwsgAiQGC1gBA38jBiEBIwZBEGokBiABQQRqIQIgASAANgIAIAEQUwR/IAEQUigC2AEiAAR/IAIgACgCGDYCAEEABUF/C0UhACACKAIAQX8gABsFQX8LIQMgASQGIAMLSgECfyMGIQIjBkEQaiQGIAJBBGoiAyAANgIAIAMQUwRAIAMQUigC2AEgARCKAkUEQCACIAE2AgBBAEEBQfa2AiACED0LCyACJAYLYQEDfyMGIQEjBkEQaiQGIAFBBGohAiABIAA2AgAgARBTBH8gARBSKALYASIAQQBHIAJBAEdxBH8gAiAAKAIQNgIAQQAFQX8LRSEAIAIoAgBBfyAAGwVBfwshAyABJAYgAwtrAQJ/IwYhAiMGQRBqJAYgAkEEaiIDIAA2AgAgAxBTBEAgAxBSIQAgAUH/AU0EQCAAKALYASIARSABQf8BS3IEf0F/BSAAIAE2AhBBAAtFBEAgAiABNgIAQQBBAUGZtwIgAhA9CwsLIAIkBgtJAQN/IwYhASMGQRBqJAYgAUEEaiECIAEgADYCACABEFMEfyABEFIoAtgBIAIQ/QhFIQAgAigCAEF/IAAbBUF/CyEDIAEkBiADC0oBAn8jBiECIwZBEGokBiACQQRqIgMgADYCACADEFMEQCADEFIoAtgBIAEQ+wNFBEAgAiABNgIAQQBBAUGztwIgAhA9CwsgAiQGCzkCAX8CfCMGIQEjBkEQaiQGIAEgADYCACABEFMEfCABEFIrA8ACBUQAAAAAAADwvwshAyABJAYgAwsrAQF/IwYhAiMGQRBqJAYgAiAANgIAIAIQUwRAIAIQUiABOQPAAgsgAiQGCzkCAX8CfCMGIQEjBkEQaiQGIAEgADYCACABEFMEfCABEFIrA7gCBUQAAAAAAADwvwshAyABJAYgAwsrAQF/IwYhAiMGQRBqJAYgAiAANgIAIAIQUwRAIAIQUiABOQO4AgsgAiQGCysBAn8CfyMGIQEjBkEQaiQGQZ2nAkEBQaCHAUHWtwJB0gBBARAJIAELJAYLCQBB0IUBKAIAC5sEAgJ/AX4jBiETIwZBkOAAaiQGIBNBgOAAaiEUIAJBfmpBA0kEQAJAIBBBjhZHBEAgAUECIBBB/wFxIhQgFEEDbCADIAQgBSAGIAcgCCAJIBMQ+wFBAEgEQCANQX82AgBBeiENDAILIBMgFCANIA4gDyAQIBEQqQchDSASRQ0BIBJCADcDAAwBCyABQQJBDkEqIAMgBCAFIAYgByAIRAAAAAAAAOw/IBMQ+wFBAEgEQCANQX82AgBBeiENDAELIBMgFCAOIA8gERDmBiIOQQBIBEAgDUF/NgIAIA4hDQwBCyAUKQMAIhVCf1EEQCANQX82AgBBeyENDAELIA0gFadB//8BcUEAIBVCgID+/w+DUBs2AgAgEgRAIBIgFTcDAAsgDiENCwVBASENCwJ/AkACQCACDgUAAAEAAAELIABFBEAgCkF/NgIAQX8MAgsgACgCHCIOQQJ0IQ8CQAJAIAIOBAABAQABCyABQQAgDiAPIAMgBCAFIAYgByAIIAkgExD7AUEASARAIApBfzYCAEF6DAMFIABBACATIAAoAhwgCiALIAwQtgMMAwsACyABQQEgDiAPIAMgBCAFIAYgByAIIAkgExD7AUEASARAIApBfzYCAEF6DAIFIABBASATIAAoAhwgCiALIAwQtgMMAgsAC0EBCyEAIA1BAUcEQCANIABBACAAIA1xQQBIGyAAQQFGGyEACyATJAYgAAsrAQJ/An8jBiEBIwZBEGokBkGRpwJBAkGkhwFB2bcCQS5B8gAQCSABCyQGCwsAQdCFASAANgIACzkBAn8jBiEBIwZBEGokBiABIAA2AgAgARBTBH8gARBSKALYAUHkhqcCaigCAAVBAAshAiABJAYgAgtBAQN/IwYhASMGQRBqJAYgAUEEaiECIAEgADYCACABEFMEfyABEFIoAtgBIAIQgAkgAigCAAVBAAshAyABJAYgAwtbAQJ/IwYhAiMGQRBqJAYgAkEEaiIDIAA2AgAgAxBTBEAgAxBSKALYASABQQBHIgAQ/QMgAkHdtwJB4bcCIAAbNgIAQQBBAUHmtwIgAhA9BUEAIQELIAIkBiABC+EFAgp/AX0jBiECIwZB0ABqJAYgAkE4aiEIIAJBMGohCSACQcwAaiEEIAJBxABqIQUgAkFAayEHIAJByABqIgMgADYCACADEFMEfwJ/IAMQUiIDKAL0ASABTARAQfCGASgCAAwBCyAEQQA2AgAgBUF/NgIAIAdDAACAvzgCAAJAAkAgAygC8AEiAEF+RgRAIAMoAugBIAMoAswBEJcJIAMoAugBIgAEfyAEIAAoAjQ2AgAgBSAAKAI4NgIAQQAFQX8LGiAFKAIAIQYgBCgCACEFQX8hAEEAIQQDQCAEIAZIBEAgASAEQcQAbCAFaigCMEYEQCAEQcQAbCAFaigCPEUEQAJAIAcgAEF/RgR/IARBxABsIAVqKAI0BSAHKgIAIARBxABsIAVqKgI0IgxeRQ0BIAy8CzYCACAEIQALCwsgBEEBaiEEDAELCyAAQX9MBEAgA0F+NgLwAQwCCyADIAUoAjAiCjYC8AFBACEEA0AgBEEDRwRAQQAhBgNAIAZBBEcEQCAEQQR0IAJqIAZBAnRqIABBxABsIAVqIARBBHRqIAZBAnRqKAIANgIAIAZBAWohBgwBCwsgBEEBaiEEDAELCyADQfgBaiAKQQJ0aigCACACEK0JIAMoAvABIQALIABBf0wNACADKALsASADQfgBaiAAQQJ0aigCACADKALEASACIAcQzgYiAEEASARAIAkgADYCAEEAQQFB/LcCIAkQPSADQX42AvABDAELIAMoAvQBQX9qIQAgCCADQfgBaiADKALwAUECdGooAgA2AgAgCCAANgIEQQBBAUGPuAIgCBA9IAMoAvABQX9MDQBBAyABIAcqAgC7IAIqAgC7IAIqAgS7IAIqAgi7IAIqAgy7IAIqAhC7IAIqAhS7IAIqAhi7IAIqAhy7IAIqAiC7IAIqAiS7IAIqAii7IAIqAiy7ECsaDAELQQQgARAsGgtBAAsFQeiGASgCAAshCyACJAYgCwuaAgECfyMGIQIjBkEQaiQGIAIgADYCACACEFMEfyACEFIoAtgBIgAoAiwgAUoEf0ECQei8AyAAQTBqIAFBCHRqIAFBAEgbIgAoAgAgACgCBCAAKAIIIAAoAgwgACgCECAAKAIUIAAoAhggACsDICAAKwMoIAArAzAgACsDOCAAQUBrKwMAIAArA0ggACsDUCAAKwNYIAArA2AgACsDaCAAKwNwIAArA3ggACsDgAEgACsDiAEgACsDkAEgACsDmAEgACsDoAEgACsDqAEgACsDsAEgACsDuAEgACsDwAEgACsDyAEgACsD0AEgACsD2AEgACsD4AEgACgC8AEQKBpBAAVB8IYBKAIACwVB6IYBKAIACyEDIAIkBiADC80BAQN/IwYhAyMGQRBqJAYgAyAANgIAIAMQUwR/An8gAxBSIgQoAsgCIQAgAUEASCAEKALMAiAAa0EDdSABTXIEQEHshgEoAgAMAQsgAkEASCABQQN0IABqKAIEIgAoAgQgAkxyBH9B8IYBKAIABSAAKAIAIgAgAkHAAmxqQRBqELQCQQEgAkHAAmwgAGooArACIAJBwAJsIABqKAIAIAJBwAJsIABqKAIEIAJBwAJsIABqKwMIECoaQQALCwVB6IYBKAIACyEFIAMkBiAFCygBAX8jBiEBIwZBEGokBiABIAA2AgAgARBTBEAgARBSGgsgASQGQX8LOAECfyMGIQEjBkEQaiQGIAEgADYCACABEFMEfyABEFIoAtgBQSxqBUHohgELKAIAIQIgASQGIAILoAUBCX9BCEEIEIsBIQdBCEEBEIsBIQhBCEEBEIsBIQkDQCAFQQRHBEAgBygCACIEIAVBBHQiA0EDdGogBUEEdCAAaiIGKwMAOQMAIANBAXJBA3QgBGogBUEEdCAAaiIKKwMIOQMAIANBAnJBA3QgBGpEAAAAAAAA8D85AwAgA0EDckEDdCAEakQAAAAAAAAAADkDACADQQRyQQN0IARqRAAAAAAAAAAAOQMAIANBBXJBA3QgBGpEAAAAAAAAAAA5AwAgA0EGckEDdCAEaiAGKwMAIAVBBHQgAWoiCysDAKKaOQMAIANBB3JBA3QgBGogCisDCCALKwMAopo5AwAgA0EIckEDdCAEakQAAAAAAAAAADkDACADQQlyQQN0IARqRAAAAAAAAAAAOQMAIANBCnJBA3QgBGpEAAAAAAAAAAA5AwAgA0ELckEDdCAEaiAGKwMAOQMAIANBDHJBA3QgBGogCisDCDkDACADQQ1yQQN0IARqRAAAAAAAAPA/OQMAIANBDnJBA3QgBGogBisDACAFQQR0IAFqIgYrAwiimjkDACADQQ9yQQN0IARqIAorAwggBisDCKKaOQMAIAgoAgAiBCAFQQF0IgNBA3RqIAsrAwA5AwAgA0EBckEDdCAEaiAGKwMIOQMAIAVBAWohBQwBCwsgBxDWARogCSAHIAgQrQIaIAkoAgAhAUEAIQADQCAAQQJHBEAgAEEYbCACaiAAQQNsIgNBA3QgAWorAwA5AwAgAEEYbCACaiADQQFqQQN0IAFqKwMAOQMIIABBGGwgAmogA0ECakEDdCABaisDADkDECAAQQFqIQAMAQsLIAIgASsDMDkDMCACIAErAzg5AzggAkFAa0QAAAAAAADwPzkDACAHEEkgCBBJIAkQSQvSEwIPfwF8IwYhDiMGQRBqJAYgBCgCACIHIQwgASACQX9qIhBsQQF0IAdqIQYDQCAFIAFIBEAgBkEAOwEAIAxBADsBACAMQQJqIQwgBUEBaiEFIAZBAmohBgwBCwtBACEMIAciBiABQX9qIhFBAXRqIQUDQCAMIAJIBEAgBUEAOwEAIAZBADsBACABQQF0IAZqIQYgDEEBaiEMIAFBAXQgBWohBQwBCwsgBEGQgMgAaiEGQQAgAWshEiAAIAFBAWoiAGohDSAAIANqIQxBASEKQQAhBSAAQQF0IAdqIQMCfwJAA0ACQCAKIBBODQIgBSEAQQEhCCADIQsDQCAIIBFIBEAgDS0AACAMLQAASgRAIAtBADsBAAUCQCASQQF0IAtqIg8uAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBjIDQAGogCjYCAAwBCyAPQX5qLgEAIgkhByAJQQBKIQUgDy4BAiIDQQBMBEAgBQRAIAsgCTsBACAHQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAISARAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAILIAtBfmouAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAITg0CIAMgCDYCAAUgAEH//wFKDQYgCyAAQQFqIgM7AQAgBEGQgMgAaiAAQQJ0aiADQRB0QRB1NgIAIARBkIDQAGogAEEHbCIAQQJ0akEBNgIAIABBAnQgBGpBlIDQAGogCDYCACAAQQJ0IARqQZiA0ABqIAo2AgAgAEECdCAEakGcgNAAaiAINgIAIABBAnQgBGpBoIDQAGogCDYCACAAQQJ0IARqQaSA0ABqIAo2AgAgAEECdCAEakGogNAAaiAKNgIAIAMhAAsMAQsgBQRAAkAgA0ECdCAEakGMgMgAaigCACIDIAdBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgAgBUECdCAEakGMgNAAaiAKNgIADAELIAtBfmouAQAiBUEATARAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBgIDQAGoiAygCACAISgRAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAELAkAgA0ECdCAEakGMgMgAaigCACIDIAVBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgALCyANQQFqIQ0gDEEBaiEMIAhBAWohCCALQQJqIQsMAQsLIA1BAmohDSAMQQJqIQwgCkEBaiEKIAAhBSALQQRqIQMMAQsLQQBBA0GopQEgDhA9QX8MAQsgBEEMaiENQQEhAEEBIQcDQCAHIAVMBEAgByAGKAIAIgxGBEAgAEEBaiEDBSAAIQMgDEECdCAEakGMgMgAaigCACEACyAGIAA2AgAgAyEAIAdBAWohByAGQQRqIQYMAQsLIAQgAEF/aiIGNgIIIAYEfyANQQAgBkECdBBFGiAEQZCAKGpBACAGQQR0EEUaQQAhAwNAIAMgBkgEQCAEQYyACGogA0ECdCIAQQJ0aiABNgIAIARBjIAIaiAAQQFyQQJ0akEANgIAIARBjIAIaiAAQQJyQQJ0aiACNgIAIARBjIAIaiAAQQNyQQJ0akEANgIAIANBAWohAwwBCwtBACEDA0AgAyAFSARAIARBDGogBEGQgMgAaiADQQJ0aigCAEF/aiICQQJ0aiIAIARBkIDQAGogA0EHbCIGQQJ0aigCACAAKAIAajYCACAEQZCAKGogAkEBdCIBQQN0aiIAIAArAwAgBkECdCAEakGUgNAAaigCALegOQMAIARBkIAoaiABQQFyQQN0aiIAIAArAwAgBkECdCAEakGYgNAAaigCALegOQMAIARBjIAIaiACQQJ0IgJBAnRqIgEoAgAgBkECdCAEakGcgNAAaigCACIASgRAIAEgADYCAAsgBEGMgAhqIAJBAXJBAnRqIgEoAgAgBkECdCAEakGggNAAaigCACIASARAIAEgADYCAAsgBEGMgAhqIAJBAnJBAnRqIgEoAgAgBkECdCAEakGkgNAAaigCACIASgRAIAEgADYCAAsgBEGMgAhqIAJBA3JBAnRqIgEoAgAgBkECdCAEakGogNAAaigCACIASARAIAEgADYCAAsgA0EBaiEDDAELCyAEKAIIIQJBACEDA38gAyACSAR/IARBkIAoaiADQQF0IgFBA3RqIgAgACsDACAEQQxqIANBAnRqKAIAtyIUozkDACAEQZCAKGogAUEBckEDdGoiACAAKwMAIBSjOQMAIANBAWohAwwBBUEACwsFQQALCyETIA4kBiATC4MBAQN/IwYhASMGQTBqJAYgAUEoaiICIAA2AgAgAhBTBH8gAhBSIQAgAUIANwMAIAFCADcDCCABQgA3AxAgAUIANwMYIAFCADcDICABIAAoAsQBNgIAIAFBATYCECABIAAoAswBNgIMIAAoAtgBIAEQ1wgFQeiGASgCAAshAyABJAYgAwuLAQEDfyMGIQIjBkEQaiQGIAIgADYCACACEFMEfyACEFIiACgCyAIhAyABQQBIIAAoAswCIANrQQN1IAFNcgR/QeyGASgCAAUgACgC5AEgACgC2AEiAEEwaiAAKAIsIAFBA3QgA2ooAgQiAEEBEJcEIABBCGoQtAJBAAsFQeiGASgCAAshBCACJAYgBAuLAQEDfyMGIQIjBkEQaiQGIAIgADYCACACEFMEfyACEFIiACgCyAIhAyABQQBIIAAoAswCIANrQQN1IAFNcgR/QeyGASgCAAUgACgC5AEgACgC2AEiAEEwaiAAKAIsIAFBA3QgA2ooAgQiAEEAEJcEIABBCGoQtAJBAAsFQeiGASgCAAshBCACJAYgBAttAQN/IwYhAyMGQRBqJAYgAyAANgIAIAMQUwR/IAMQUiIEKALYASIAKAIsIAFKBH8gBCgC5AFB6LwDIABBMGogAUEIdGogAUEASBsgArcQmQhBAAVB8IYBKAIACwVB6IYBKAIACyEFIAMkBiAFC3IBA38jBiEDIwZBEGokBiADIAA2AgAgAxBTBH8gAxBSIgQoAtgBIgAoAiwgAUoEfyAEKALkAUHovAMgAEEwaiABQQh0aiABQQBIGyACt0GApAMQ2gMaQQAFQfCGASgCAAsFQeiGASgCAAshBSADJAYgBQuQAgICfwh8IwYhAiMGQRBqJAYgAiAANgIAIAIQUwR/IAIQUigC2AEiACgCLCABSgR/Qei8AyAAQTBqIAFBCHRqIAFBAEgbIgBBgKQDKwMAIgQ5A6gBIABBiKQDKwMAIgU5A7ABIABBkKQDKwMAIgY5A7gBIABBmKQDKwMAIgc5A8ABIABBoKQDKwMAIgg5A8gBIABBqKQDKwMAIgk5A9ABIABBsKQDKwMAIgo5A9gBIABBuKQDKwMAIgs5A+ABIAAgBCAGoCAIoCAKoEQAAAAAAADQP6I5AzggAEFAayAFIAegIAmgIAugRAAAAAAAANA/ojkDAEEABUHwhgEoAgALBUHohgEoAgALIQMgAiQGIAMLZAECfyMGIQMjBkEQaiQGIAMgADYCACADEFMEfyADEFIoAtgBIgAoAiwgAUoEf0HovAMgAEEwaiABQQh0aiABQQBIGyACNgIQQQAFQfCGASgCAAsFQeiGASgCAAshBCADJAYgBAsrAQJ/An8jBiEBIwZBEGokBkGDpQJBAkGshwFBmM8CQR9BxgAQCSABCyQGC5oBAQR/IwYhASMGQdABaiQGIAFBwAFqIQMgACwAC0EASAR/IAAoAgAFIAALIAEgAUG4AWoiAhDIC0EASAR/IAAsAAtBAEgEQCAAKAIAIQALIAMgADYCAEEAQQNBgdACIAMQPUF/BUHExANBxMQDKAIAIgBBAWo2AgAgAiAANgIAIAIQrAMgAUG4ARBMGiACKAIACyEEIAEkBiAECzwBAn8jBiEBIwZBEGokBiABIAA2AgAgARBTBH8gARBSIgAoAswCIAAoAsgCa0EDdQVBfwshAiABJAYgAgtiAQJ/IwYhAiMGQRBqJAYgAiAANgIAIAIQUwR/IAIQUiEAIAFBAEgEf0F/BSAAKALMAiAAKALIAiIAa0EDdSABSwR/IAFBA3QgAGooAgQoAgQFQX8LCwVBfwshAyACJAYgAwt3AQJ/IwYhAyMGQRBqJAYgA0EEaiICIAA2AgAgAhBTBEAgAhBSIgIoAvQBIQAgASwAC0EASARAIAEoAgAhAQsgAiAAIAEQ3AYEQCACIAIoAvQBQQFqNgL0AQVBAEEDQcHQAiADED1BfyEACwVBfyEACyADJAYgAAvUAQEEfyMGIQIjBkEQaiQGIAJBCGohBCACQQxqIgMgADYCACADEFMEfwJ/IAMQUiEAIAEsAAtBAEgEQCABKAIAIQELIAEgACgC2AEgAEHcAWogAEHgAWoiAxDbBkUEQEEAQQNB/NICIAQQPUF/DAELIAIgACgCzAIiASAAQcgCaiIEKAIAa0EDdTYCACACIAMoAgA2AgQgASAAKALQAkYEQCAEIAIQlgEFIAEgAikDADcCACAAIAAoAswCQQhqNgLMAgsgAigCAAsFQX8LIQUgAiQGIAULbwEDfyMGIQMjBkEQaiQGIANBBGoiAiAANgIAIAIQUwR/IAIQUiECIAEsAAtBAEgEQCABKAIAIQELIAEgAkHUAmoiACACQdwBahDZBgR/IAAoAgAFQQBBA0HI0wIgAxA9QX8LBUF/CyEEIAMkBiAEC5cCAQR/IwYhAiMGQRBqJAYgAkEEaiIBIAA2AgAgARBTBH8gARBSIgEoAsABIAEoAtgDENEGIQAgASAANgLsASAABEAgAUHoAWohAwVBAEEDQaLUAiACED0gAUHoAWoiAxCkCSABKALsASEACyAABH8gAEMAAKBAOAIsQQAFQX8LGiABKALsASIABH8gAEMAAAA/OAIoQQAFQX8LGiABKALsASIABH8gAEEQNgIkQQAFQX8LGiABKALsASIABH8gAEEGNgIYQQAFQX8LGiABKALsASIABH8gAEEGNgIcQQAFQX8LGiABKALsASIABH8gAEEGNgIgQQAFQX8LGiADIAEoAsABEIAENgIAQQAFQX8LIQQgAiQGIAQLtgEBBX8jBiECIwZBEGokBiACIAA2AgAgAhBTBH8gAhBSIgAoAsQBIgEEQCABEDggAEEANgLEASAAQQA2AsgBCyAAEKkDIAAoAtwBELgCIAIQ1wYgAEHIAmohA0EAIQEDQCABIAAoAswCIAMoAgAiBGtBA3VJBEAgAUEDdCAEaigCBCIEKAIAEDggBBA4IAFBAWohAQwBCwsgAxBVIAMQOCAAELMDIAAQOEEABUF/CyEFIAIkBiAFC+4BAQR/IwYhBCMGQRBqJAZByMQDQcjEAygCACIDQQFqNgIAIARBDGoiBSADNgIAIAUQUiIDIAUoAgA2AgAgAyAANgLQASADIAE2AtQBIAMgASAAQQJ0bCIANgLIASADIAAQRDYCxAEgAyADKALIAUEEEDkQRDYCzAEgAxC3ByIANgLcASAARQRAQQBBA0HB1AIgBBA9CyAFKAIAIAIQ0wYgBEEIaiIAIAMoAsgBNgIAQQBBAUHm1AIgABA9QQAgAygCACADKALEASADKALIASADQdgCakGApAMgAygCzAEQKRogAygCACEGIAQkBiAGC4cJAQF/IwYhACMGQRBqJAZBnKQCQRoQ3AFBoqQCQcMAEIQBQaukAkHEABCEAUG0pAJBFBC2AkG/pAJBFRC2AkHPpAJBFhC2AkHdpAJBFxC2AUHvpAJBxQAQhAEQkgdBj6UCQRsQ3AFBoKUCQRgQtgFBtKUCQRwQ3AFBxqUCQR0Q3AFB3KUCQRkQtgFB86UCQRoQtgFBkKYCQccAEIQBQZ2mAkHIABCEAUGqpgJByQAQhAFBuqYCQR4Q3AFBzaYCQRsQtgFB16YCQRwQtgFB5KYCQR0QtgFB8aYCQcoAEIQBQf6mAkHLABCEARD/BhD8BkGppwJBARC0A0HApwJBARC1AkHXpwJBAhC0A0HtpwJBAhC1AkGDqAJBKBDAAUGUqAJBzAAQhAFBpagCQSkQwAFBsqgCQc0AEIQBQb+oAkEqEMABQdeoAkHOABCEARDwBkH8qAJBAxC1AkGJqQJBKxDAAUGbqQJBzwAQhAFBrakCQSwQwAFBvakCQdAAEIQBQc2pAkEtEMABQd6pAkHRABCEAUHvqQJB6IYBEEtBjKoCQeyGARBLQaiqAkHwhgEQSyAAQQA2AgBByaoCIAAQSyAAQQE2AgBB2qoCIAAQSyAAQQA2AgBB6qoCIAAQSyAAQQA2AgBBgKsCIAAQSyAAQQE2AgBBmasCIAAQSyAAQQE2AgBBsqsCIAAQSyAAQeQANgIAQcurAiAAEEsgAEEANgIAQearAiAAEEsgAEEBNgIAQYCsAiAAEEsgAEEANgIAQZqsAiAAEEsgAEEANgIAQbWsAiAAEEsgAEEBNgIAQdCsAiAAEEsgAEECNgIAQeqsAiAAEEsgAEEDNgIAQYOtAiAAEEsgAEEENgIAQamtAiAAEEsgAEEANgIAQc6tAiAAEEsgAEEANgIAQfCtAiAAEEsgAEEBNgIAQYiuAiAAEEsgAEECNgIAQaKuAiAAEEsgAEECNgIAQb2uAiAAEEsgAEEFNgIAQd+uAiAAEEsgAEQAAAAAAADgPzkDAEHxrgJBmPkAIAArAwAQFyAAQQA2AgBBhq8CIAAQSyAAQQE2AgBBma8CIAAQSyAAQQI2AgBBq68CIAAQSyAAQQM2AgBBva8CIAAQSyAAQQQ2AgBB0K8CIAAQSyAAQQM2AgBB5q8CIAAQSyAAQYMENgIAQfmvAiAAEEsgAEGDAjYCAEGWsAIgABBLIABBBDYCAEGysAIgABBLIABBhAY2AgBBxbACIAAQSyAAQYQINgIAQeOwAiAAEEsgAEEANgIAQYGxAiAAEEsgAEEBNgIAQaCxAiAAEEsgAEECNgIAQcSxAiAAEEsgAEEDNgIAQeaxAiAAEEsgAEEANgIAQYyyAiAAEEsgAEEBNgIAQa2yAiAAEEsgAEECNgIAQdyyAiAAEEsgAEEDNgIAQYazAiAAEEsgAEEENgIAQbGzAiAAEEsgAEEFNgIAQeWzAiAAEEsgAEEGNgIAQZi0AiAAEEsgAEEHNgIAQcW0AiAAEEsgAEEINgIAQey0AiAAEEsgAEEJNgIAQZm1AiAAEEsgACQGC0MAQZzEA0IANwIAQaTEA0IANwIAQazEA0GAgID8AzYCAEGwxANCADcCAEG4xANCADcCAEHAxANBgICA/AM2AgAQnAcLqAICBH8CfCMGIQEjBkEQaiQGIAArAwAiBUQAAAAAAAAAAGZFBEAgAUHAyANB1qECEDdB/aECEDdB76ICEDdB0AAQPkH2ogIQN0H5ogIQNyIEKAIAQXRqKAIAIARqEDsgAUGAzgMQOiICKAIAKAIcIQMgAkEKIANBP3FBigFqEQIAIQMgARA8IAQgAxBAIAQQPxAACyAAKwMIIgZEAAAAAAAAAABmBEAgASQGIAYgBaEPBSABQcDIA0GUowIQN0H9oQIQN0HvogIQN0HRABA+QfaiAhA3QbqjAhA3IgIgAigCAEF0aigCAGoQOyABQYDOAxA6IgMoAgAoAhwhACADQQogAEE/cUGKAWoRAgAhACABEDwgAiAAEEAgAhA/EAALRAAAAAAAAAAAC7YBAQN/IwYhASMGQRBqJAYgACsDAEQAAAAAAAAAAGYEQCABQQAQFBogACABKAIEt0SN7bWg98awPqIgASgCALegOQMIIAEkBgUgAUHAyANB1qECEDdB/aECEDdB76ICEDdBwwAQPkH2ogIQN0H5ogIQNyICKAIAQXRqKAIAIAJqEDsgAUGAzgMQOiIDKAIAKAIcIQAgA0EKIABBP3FBigFqEQIAIQAgARA8IAIgABBAIAIQPxAACws2AQF/IwYhASMGQRBqJAYgAUEAEBQaIAAgASgCBLdEje21oPfGsD6iIAEoAgC3oDkDACABJAYLRwEBfyMGIQMjBkGAEGokBiADQYAQIAEoAgAgASABLAALQQBIGyACEKkBGiAAQgA3AgAgAEEANgIIIAAgAyADEGAQfiADJAYLTQEDfwNAIAIgACgCBCAAKAIAIgNrQQN1SQRAIAJBA3QgA2ooAgAiAygCACgCCCEEIANBCCABIARBA3FB9gVqEQYAIAJBAWohAgwBCwsLFAAgAEEMakEAIAEoAgRB96ACRhsLCAAgACgCDBoLUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQdSGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCxQAIABBDGpBACABKAIEQf2fAkYbCwkAIAAoAgwQOAtRAQJ/IwYhAyMGQRBqJAYgACABNgIAQRAQUSICQQA2AgQgAkEANgIIIAJBuIYBNgIAIAIgATYCDCAAIAI2AgQgAyABNgIAIAMgATYCBCADJAYLlRICC38BfiMGIQwjBkEgaiQGIAxBGGohCCAMQRBqIQ4gAUF9akEFSwR/IAJBfzYCACADQQA2AgAgBEQAAAAAAADwvzkDAEF/BQJ/IAxBADYCACAMIAEgAUF/aiILbDYCBCAMIAEgAWwiD0F/ajYCCCAMIAs2AgxBfyEJA0AgB0EERwRAIAAgB0ECdCAMaigCAGosAAAhDSAHQQFqIQcgDSAKIA1B/wFxIApB/wFxShshCiANIAkgDUH/AXEgCUH/AXFIGyEJDAELCyAKQf8BcSIHIAlB/wFxIgprQR5IBEAgAkF/NgIAIANBADYCACAERAAAAAAAAPC/OQMAQX4MAQsgByAKakEBdiEJQQAhBwNAIAdBBEcEQCAHIAhqIAkgACAHQQJ0IAxqKAIAai0AAEs6AAAgB0EBaiEHDAELC0EAIQcCQAJAA0ACQCAHQQRPDQIgB0EBaiEKIAcgCGosAABBAUYEQCAKQQNxIAhqLAAAQQFGBEAgB0ECakEDcSAIaiwAAEUNAgsLIAohBwwBCwsgAyAHNgIADAELIAdBBEYEQCACQX82AgAgA0EANgIAIAREAAAAAAAA8L85AwBBfQwCCwtB/wEhCkEAIQcDQCAHIA9HBEBBACAAIAdqIg0tAAAiECAJayIIayAIIAhBAEgbIQggDSAJIBBLOgAAIAggCiAIIApIGyEKIAdBAWohBwwBCwsCQAJAAkACQAJAIAMoAgAiAw4EAAECAwQLA0AgAyABSARAIAMgC0YhCCABIANsIQlBACEHA0AgASAHRwRAIAMgB3IEQCAIIAdFIAcgC0ZycUUEQCAAIAcgCWpqLAAAQQBHrSASQgGGhCESCwsgB0EBaiEHDAELCyADQQFqIQMMAQUMBQsAAAsAC0EAIQcDQCAHIAFIBEAgB0UhCCAHIAtGIQkgCyEDA0AgA0F/SgRAIAggAyALRiINcUUEQCAJIA0gA0VycUUEQCAAIAcgASADbGpqLAAAQQBHrSASQgGGhCESCwsgA0F/aiEDDAELCyAHQQFqIQcMAQUMBAsAAAsACyALIQMDQCADQX9KBEAgA0UgAyALRnIhCCABIANsIQkgCyEHA0AgB0F/SgRAIAMgB3JFIAcgC0YgCHFyRQRAIAAgByAJamosAABBAEetIBJCAYaEIRILIAdBf2ohBwwBCwsgA0F/aiEDDAEFDAMLAAALAAsgCyEDA0AgA0F/SgRAIAMgC0YhCCADRSEJQQAhBwNAIAcgAUgEQCAJIAcgC0ZxIAMgB3JFIAggB0VxcnJFBEAgACADIAEgB2xqaiwAAEEAR60gEkIBhoQhEgsgB0EBaiEHDAELCyADQX9qIQMMAQsLCyAERAAAAAAAAPA/IAq3RAAAAAAAAD5AoyAKQR5KGzkDAAJAAkACQAJAAkAgBUGDAmsOgwgAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAQMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBASEEIAZB/wFxCyEFIAIgAWsiCEECdSEJIAgEQAJAIAcEfyAAKAIEIQYgACgCAAUgBkH/AXEhBiAACyIHIQggASAGQQJ0IAdqSSAIIAFNcQRAIANCADcCACADQQA2AgggAyABIAIQxwQgACADKAIAIAMgAywACyIAQQBIIgEbIAMoAgQgAEH/AXEgARsQ4QkgAxBHDAELIAQgBWsgCUkEQCAAIAQgBSAJaiAEayAFIAUQkQQLIAAsAAtBAEgEfyAAKAIABSAACyAFQQJ0aiEEA0AgASACRwRAIAQgARBuIARBBGohBCABQQRqIQEMAQsLIANBADYCACAEIAMQbiAFIAlqIQEgACwAC0EASARAIAAgATYCBAUgACABOgALCwsLIAMkBguwBAEIfyMGIQAjBkGwA2okBiAAQaADaiIIIAA2AgAgCEGRATYCBCAAQZADaiILIAQQOyALQaDOAxA6IQcgAEGsA2oiCkEAOgAAIAAgAigCACIJNgKUAyAEKAIEIQwgAEGoA2oiBCAAKAKUAzYCACABIAQgAyALIAwgBSAKIAcgCCAAQZgDaiAAQZADahCmBARAIAYsAAtBAEgEQAJ/IAYoAgAhDSAEQQA2AgAgDQsgBBBuIAZBADYCBAUgBEEANgIAIAYgBBBuIAZBADoACwsgCiwAAARAIAYgB0EtIAcoAgAoAixBP3FBigFqEQIAEI4CCyAHQTAgBygCACgCLEE/cUGKAWoRAgAhBCAAKAKYAyIHQXxqIQogCCgCACEDA0ACQCADIApPDQAgAygCACAERw0AIANBBGohAwwBCwsgBiADIAcQrAoLIAEoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQR/IAFBADYCAEEBBSABKAIARQsFQQELIQMCQAJAAkAgCUUNACAJKAIMIgQgCSgCEEYEfyAJIAkoAgAoAiRB/wBxQQhqEQAABSAEKAIAC0F/EEEEQCACQQA2AgAMAQUgA0UNAgsMAgsgAw0ADAELIAUgBSgCAEECcjYCAAsgASgCACEOIAsQPCAIKAIAIQEgCEEANgIAIAEEQCABIAgoAgRB/wFxQawDahEBAAsgACQGIA4LoAUBC38jBiEHIwZB0ARqJAYgB0GoBGohDiAHIQ8gB0G4BGoiCSAHQfAAaiIKNgIAIAlBkQE2AgQgB0GwBGoiDSAEEDsgDUGgzgMQOiEAIAdBwARqIgxBADoAACAHIAIoAgA2AqwEIAQoAgQhCyAHQYAEaiIEIAcoAqwENgIAIAEgBCADIA0gCyAFIAwgACAJIAdBtARqIApBkANqEKYEBEAgAEHonQNB8p0DIAQgACgCACgCMEEPcUGKAmoRCQAaIAcoArQEIgsgCSgCACIKayIAQYgDSgRAIABBAnZBAmoQRCIAIQMgAARAIAAhCCADIRAFEAALBSAPIQgLIAwsAAAEQCAIQS06AAAgCEEBaiEICyAEQShqIQMgBCEMA0AgCiALSQRAIAooAgAhCyAEIQADQAJAIAAgA0YEQCADIQAMAQsgACgCACALRwRAIABBBGohAAwCCwsLIAggACAMa0ECdUHonQNqLAAAOgAAIApBBGohCiAIQQFqIQggBygCtAQhCwwBCwsgCEEAOgAAIA4gBjYCACAPQYWdAyAOEIMBQQFHBEAQAAsgEARAIBAQOAsLIAEoAgAiAAR/IAAoAgwiAyAAKAIQRgR/IAAgACgCACgCJEH/AHFBCGoRAAAFIAMoAgALQX8QQQR/IAFBADYCAEEBBSABKAIARQsFQQELIQMCQAJAAkAgAigCACIARQ0AIAAoAgwiBCAAKAIQRgR/IAAgACgCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQRAIAJBADYCAAwBBSADRQ0CCwwCCyADDQAMAQsgBSAFKAIAQQJyNgIACyABKAIAIREgDRA8IAkoAgAhACAJQQA2AgAgAARAIAAgCSgCBEH/AXFBrANqEQEACyAHJAYgEQvlBgEGfyMGIQojBkEQaiQGIAAEfyABQejPAxA6IgEoAgAoAiwFIAFB4M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA6AAAgDAsgCxBfIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADoAACAIIAsQXyAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.style.padding = '0.5em' - domElement.style.color = 'rgba(0,0,0,0.9)' - domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - domElement.style.position = 'fixed' - domElement.style.left = '5px' - domElement.style.bottom = '40px' +/***/ }), - this.domElement.appendChild(domElement) - domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - ////////////////////////////////////////////////////////////////////////////// - // toggle-marker-helper - ////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.textAlign = 'left' - this.domElement.appendChild(domElement) - domElement.id = 'buttonToggleMarkerHelpers' - domElement.innerHTML = 'toggle-marker-helper' - domElement.href = 'javascript:void(0)' - var subMarkerHelpersVisible = false - domElement.addEventListener('click', function () { - subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true - arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) - }) - } - ////////////////////////////////////////////////////////////////////////////// - // Learn-new-marker-area - ////////////////////////////////////////////////////////////////////////////// - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ + var _this = this + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) - domElement.id = 'buttonMarkersAreaLearner' - domElement.innerHTML = 'Learn-new-marker-area' - domElement.href = 'javascript:void(0)' + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) - domElement.addEventListener('click', function () { - if (ARjs.AnchorDebugUI.MarkersAreaLearnerURL !== null) { - var learnerURL = ARjs.AnchorDebugUI.MarkersAreaLearnerURL - } else { - var learnerURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' - } - ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) - }) - } + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', + } + + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses - ////////////////////////////////////////////////////////////////////////////// - // Reset-marker-area - ////////////////////////////////////////////////////////////////////////////// + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) +MarkersAreaControls.prototype = Object.create( _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; - domElement.id = 'buttonMarkersAreaReset' - domElement.innerHTML = 'Reset-marker-area' - domElement.href = 'javascript:void(0)' +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - domElement.addEventListener('click', function () { - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) - location.reload() - }) - } -} /** - * url for the markers-area learner. if not set, take the default one - * @type {String} + * What to do when a image source is fully processed */ -ARjs.AnchorDebugUI.MarkersAreaLearnerURL = null -// @namespace -var ARjs = ARjs || {} +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.HitTesting = function (arSession) { - var _this = this - var arContext = arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion - this.enabled = true - this._arSession = arSession - this._hitTestingPlane = null - _this._hitTestingPlane = new THREEx.HitTestingPlane(arSession.arSource.domElement) -} + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// -/** - * update - * - * @param {THREE.Camera} camera - the camera to use - * @param {THREE.Object3D} object3d - - */ -ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { - // if it isnt enabled, do nothing - if (this.enabled === false) return + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) - if (this._hitTestingPlane !== null) { - this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) - } else console.assert(false) -} + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ -////////////////////////////////////////////////////////////////////////////// -// actual hit testing -////////////////////////////////////////////////////////////////////////////// + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) -/** - * Test the real world for intersections directly from a DomEvent - * - * @param {Number} mouseX - position X of the hit [-1, +1] - * @param {Number} mouseY - position Y of the hit [-1, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { - var trackingBackend = this._arSession.arContext.parameters.trackingBackend - var arSource = this._arSession.arSource + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } - // if it isnt enabled, do nothing - if (this.enabled === false) return [] - var mouseX = domEvent.clientX / arSource.domElementWidth() - var mouseY = domEvent.clientY / arSource.domElementHeight() + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + // change _this.object3d.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + _this.object3d.matrix.copy(modelViewMatrix) + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + _this.object3d.matrix.getInverse( modelViewMatrix ) + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) + } - return this.test(mouseX, mouseY) } +////////////////////////////////////////////////////////////////////////////// +// Utility functions +////////////////////////////////////////////////////////////////////////////// + /** - * Test the real world for intersections. - * - * @param {Number} mouseX - position X of the hit [0, +1] - * @param {Number} mouseY - position Y of the hit [0, +1] - * @return {[ARjs.HitTesting.Result]} - array of result + * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors */ -ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { - var arContext = this._arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - var hitTestResults = [] - - // if it isnt enabled, do nothing - if (this.enabled === false) return [] +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ + quaternionAverage = quaternionAverage || new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + // sanity check + console.assert(firstQuaternion instanceof three__WEBPACK_IMPORTED_MODULE_0__.Quaternion === true) + + // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + if( newQuaternion.dot(firstQuaternion) > 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) + } - var result = this._hitTestingPlane.test(mouseX, mouseY) + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w + + quaternionAverage.x = quaternionSum.x/count + quaternionAverage.y = quaternionSum.y/count + quaternionAverage.z = quaternionSum.z/count + quaternionAverage.w = quaternionSum.w/count + + quaternionAverage.normalize() - // if no result is found, return now - if (result === null) return hitTestResults + return quaternionAverage +} - // build a ARjs.HitTesting.Result - var hitTestResult = new ARjs.HitTesting.Result(result.position, result.quaternion, result.scale) - hitTestResults.push(hitTestResult) - return hitTestResults +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ + vector3Average = vector3Average || new three__WEBPACK_IMPORTED_MODULE_0__.Vector3() + + vector3Sum.x += vector3.x + vector3Sum.y += vector3.y + vector3Sum.z += vector3.z + + vector3Average.x = vector3Sum.x / count + vector3Average.y = vector3Sum.y / count + vector3Average.z = vector3Sum.z / count + + return vector3Average } ////////////////////////////////////////////////////////////////////////////// -// ARjs.HitTesting.Result +// Utility function ////////////////////////////////////////////////////////////////////////////// -/** - * Contains the result of ARjs.HitTesting.test() - * - * @param {THREE.Vector3} position - position to use - * @param {THREE.Quaternion} quaternion - quaternion to use - * @param {THREE.Vector3} scale - scale - */ -ARjs.HitTesting.Result = function (position, quaternion, scale) { - this.position = position - this.quaternion = quaternion - this.scale = scale -} /** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply + * compute the center of this multimarker file */ -ARjs.HitTesting.Result.prototype.apply = function (object3d) { - object3d.position.copy(this.position) - object3d.quaternion.copy(this.quaternion) - object3d.scale.copy(this.scale) +MarkersAreaControls.computeCenter = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var stats = { + count : 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + var firstQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() // FIXME ??? + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ - object3d.updateMatrix() + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + var averageMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + return averageMatrix } -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { - object3d.position.copy(this.position) +MarkersAreaControls.computeBoundingBox = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var boundingBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3() - object3d.updateMatrix() + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) - return this + boundingBox.expandByPoint(position) + }) + + return boundingBox } +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyQuaternion = function (object3d) { - object3d.quaternion.copy(this.quaternion) +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) - object3d.updateMatrix() + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } - return this + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] } -var ARjs = ARjs || {} -/** - * define a ARjs.Session - * - * @param {Object} parameters - parameters for this session - */ -ARjs.Session = function(parameters){ - var _this = this - // handle default parameters - this.parameters = { - renderer: null, - camera: null, - scene: null, - sourceParameters: {}, - contextParameters: {}, - } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] - - if( newValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) - continue - } - - var currentValue = _this.parameters[ key ] - - if( currentValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) - continue - } - - _this.parameters[ key ] = newValue - } - } - // sanity check - console.assert(this.parameters.renderer instanceof THREE.WebGLRenderer) - console.assert(this.parameters.camera instanceof THREE.Camera) - console.assert(this.parameters.scene instanceof THREE.Scene) +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON +////////////////////////////////////////////////////////////////////////////// +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} - // backward emulation - Object.defineProperty(this, 'renderer', {get: function(){ - console.warn('use .parameters.renderer renderer') - return this.parameters.renderer; - }}); - Object.defineProperty(this, 'camera', {get: function(){ - console.warn('use .parameters.camera instead') - return this.parameters.camera; - }}); - Object.defineProperty(this, 'scene', {get: function(){ - console.warn('use .parameters.scene instead') - return this.parameters.scene; - }}); + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) - // log the version - console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } + }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) - ////////////////////////////////////////////////////////////////////////////// - // init arSource - ////////////////////////////////////////////////////////////////////////////// - var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters) + // return it + return multiMarkerControls +} - arSource.init(function onReady(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaControls); - // handle resize - window.addEventListener('resize', function(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +/***/ }), - ////////////////////////////////////////////////////////////////////////////// - // init arContext - ////////////////////////////////////////////////////////////////////////////// +/***/ "./three.js/src/markers-area/arjs-markersareautils.js": +/*!************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareautils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // create atToolkitContext - var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); - // initialize it - _this.arContext.init() + // TODO context build-dependent - arContext.addEventListener('initialized', function(event){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +const MarkersAreaUtils = {}; - ////////////////////////////////////////////////////////////////////////////// - // update function - ////////////////////////////////////////////////////////////////////////////// - // update artoolkit on every frame - this.update = function(){ - if( arSource.ready === false ) return +////////////////////////////////////////////////////////////////////////////// +// navigateToLearnerPage +////////////////////////////////////////////////////////////////////////////// - arContext.update( arSource.domElement ) +/** + * Navigate to the multi-marker learner page + * + * @param {String} learnerBaseURL - the base url for the learner + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ + var learnerParameters = { + backURL : location.href, + trackingBackend: trackingBackend, + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), } + location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) } -ARjs.Session.prototype.onResize = function () { - this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) -}; -var ARjs = ARjs || {} -ARjs.Utils = {} +////////////////////////////////////////////////////////////////////////////// +// DefaultMultiMarkerFile +////////////////////////////////////////////////////////////////////////////// /** - * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * Create and store a default multi-marker file * - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera + * @param {String} trackingBackend - the tracking backend to use */ -ARjs.Utils.createDefaultCamera = function (trackingMethod) { - var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) - - return camera +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) + // json.strinfy the value and store it in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) } + + /** - * parse tracking method - * - * @param {String} trackingMethod - the tracking method to parse - * @return {Object} - various field of the tracking method + * Create a default multi-marker file + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object of the multi-marker file */ -ARjs.Utils.parseTrackingMethod = function (trackingMethod) { +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ + console.assert(trackingBackend) + if( trackingBackend === undefined ) debugger - if (trackingMethod === 'best') { - trackingMethod = 'area-artoolkit'; - } + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - if (trackingMethod.startsWith('area-')) { - return { - trackingBackend: trackingMethod.replace('area-', ''), - markersAreaEnabled: true, - } - } else { - return { - trackingBackend: trackingMethod, - markersAreaEnabled: false, - } - } + // create the base file + var file = { + meta : { + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... being filled + ] + } + // add a subMarkersControls + file.subMarkersControls[0] = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), + } + if( trackingBackend === 'artoolkit' ){ + file.subMarkersControls[0].parameters.type = 'pattern' + file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + }else console.assert(false) + + // json.strinfy the value and store it in localStorage + return file } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.MarkersAreaControls = THREEx.ArMultiMarkerControls = function(arToolkitContext, object3d, parameters){ - var _this = this - THREEx.ArBaseControls.call(this, object3d) +////////////////////////////////////////////////////////////////////////////// +// createDefaultMarkersControlsParameters +////////////////////////////////////////////////////////////////////////////// - if( arguments.length > 3 ) console.assert('wrong api for', THREEx.ArMultiMarkerControls) +/** + * Create a default controls parameters for the multi-marker learner + * + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object containing the controls parameters + */ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - // have a parameters in argument - this.parameters = { - // list of controls for each subMarker - subMarkersControls: parameters.subMarkersControls, - // list of pose for each subMarker relative to the origin - subMarkerPoses: parameters.subMarkerPoses, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', - } - - this.object3d.visible = false - // honor obsolete stuff - add a warning to use - this.subMarkersControls = this.parameters.subMarkersControls - this.subMarkerPoses = this.parameters.subMarkerPoses - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) + if( trackingBackend === 'artoolkit' ){ + // pattern hiro/kanji/a/b/c/f + var markersControlsParameters = [ + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', + }, + ] + }else console.assert(false) + return markersControlsParameters } -ARjs.MarkersAreaControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; ////////////////////////////////////////////////////////////////////////////// // Code Separator ////////////////////////////////////////////////////////////////////////////// - - /** - * What to do when a image source is fully processed + * generate areaFile */ -ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ - var _this = this - var stats = { - count: 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { + // generate areaFile + var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) + // store areaFile in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) +} - var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - - var markerObject3d = markerControls.object3d - // if this marker is not visible, ignore it - if( markerObject3d.visible === false ) return +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - // transformation matrix of this.object3d according to this sub-markers - var matrix = markerObject3d.matrix.clone() - var markerPose = _this.parameters.subMarkerPoses[markerIndex] - matrix.multiply(new THREE.Matrix4().getInverse(markerPose)) +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ + // create the base file + var file = { + meta : { + createdBy : 'AR.js - Augmented Website', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... + ] + } - // decompose the matrix into .position, .quaternion, .scale - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion() - var scale = new THREE.Vector3 - matrix.decompose(position, quaternion, scale) + var whiteMargin = 0.1 + if( resolutionW > resolutionH ){ + var markerImageSize = 0.4 * resolutionH + }else if( resolutionW < resolutionH ){ + var markerImageSize = 0.4 * resolutionW + }else if( resolutionW === resolutionH ){ + // specific for twitter player - https://dev.twitter.com/cards/types/player + var markerImageSize = 0.33 * resolutionW + }else console.assert(false) - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + // console.warn('using new markerImageSize computation') + var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) + var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize + var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize - // honor _this.object3d.visible - if( stats.count > 0 ){ - _this.object3d.visible = true - }else{ - _this.object3d.visible = false - } + var subMarkerControls = buildSubMarkerControls('center', 0, 0) + file.subMarkersControls.push(subMarkerControls) - // if at least one sub-marker has been detected, make the average of all detected markers - if( stats.count > 0 ){ - // compute modelViewMatrix - var modelViewMatrix = new THREE.Matrix4() - modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - // change _this.object3d.matrix based on parameters.changeMatrixMode - if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ - _this.object3d.matrix.copy(modelViewMatrix) - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - _this.object3d.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } + var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - // decompose - the matrix into .position, .quaternion, .scale - _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) - } + var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) -} + var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) -////////////////////////////////////////////////////////////////////////////// -// Utility functions -////////////////////////////////////////////////////////////////////////////// + return file -/** - * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - */ -ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ - quaternionAverage = quaternionAverage || new THREE.Quaternion() - // sanity check - console.assert(firstQuaternion instanceof THREE.Quaternion === true) - - // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - if( newQuaternion.dot(firstQuaternion) > 0 ){ - newQuaternion = new THREE.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + + function buildSubMarkerControls(layout, positionX, positionZ){ + console.log('buildSubMarkerControls', layout, positionX, positionZ) + // create subMarkersControls + var subMarkersControls = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + } + // fill the parameters + if( trackingBackend === 'artoolkit' ){ + layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) + }else console.assert(false) + // return subMarkersControls + return subMarkersControls } - quaternionSum.x += newQuaternion.x - quaternionSum.y += newQuaternion.y - quaternionSum.z += newQuaternion.z - quaternionSum.w += newQuaternion.w - - quaternionAverage.x = quaternionSum.x/count - quaternionAverage.y = quaternionSum.y/count - quaternionAverage.z = quaternionSum.z/count - quaternionAverage.w = quaternionSum.w/count - - quaternionAverage.normalize() + function layout2MarkerParametersArtoolkit(parameters, layout){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - return quaternionAverage + var layout2PatternUrl = { + 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), + 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), + 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), + 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), + 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), + } + console.assert(layout2PatternUrl[layout] !== undefined ) + parameters.type = 'pattern' + parameters.patternUrl = layout2PatternUrl[layout] + return + function convertRelativeUrlToAbsolute(relativeUrl){ + var tmpLink = document.createElement('a'); + tmpLink.href = relativeUrl + return tmpLink.href + } + } } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); -ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ - vector3Average = vector3Average || new THREE.Vector3() - - vector3Sum.x += vector3.x - vector3Sum.y += vector3.y - vector3Sum.z += vector3.z - - vector3Average.x = vector3Sum.x / count - vector3Average.y = vector3Sum.y / count - vector3Average.z = vector3Sum.z / count - - return vector3Average -} -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// +/***/ }), -/** - * compute the center of this multimarker file - */ -ARjs.MarkersAreaControls.computeCenter = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var stats = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - var firstQuaternion = new THREE.Quaternion() // FIXME ??? - - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ +/***/ "./three.js/src/new-api/arjs-anchor.js": +/*!*********************************************!*\ + !*** ./three.js/src/new-api/arjs-anchor.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); - return averageMatrix -} + // Alias for dynamic importing -ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var boundingBox = new THREE.Box3() - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - boundingBox.expandByPoint(position) - }) - return boundingBox -} -////////////////////////////////////////////////////////////////////////////// -// updateSmoothedControls -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ - // handle default values - if( lerpsValues === undefined ){ - // FIXME this parameter format is uselessly cryptic - // lerpValues = [ - // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} - // ] - lerpsValues = [ - [0.3+.1, 0.1, 0.3], - [0.4+.1, 0.1, 0.4], - [0.4+.1, 0.2, 0.5], - [0.5+.1, 0.2, 0.7], - [0.5+.1, 0.2, 0.7], - ] - } - // count how many subMarkersControls are visible - var nVisible = 0 - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - var markerObject3d = markerControls.object3d - if( markerObject3d.visible === true ) nVisible ++ - }) +// TODO this is a controls... should i give the object3d here ? +// not according to 'no three.js dependancy' - // find the good lerpValues - if( lerpsValues[nVisible-1] !== undefined ){ - var lerpValues = lerpsValues[nVisible-1] - }else{ - var lerpValues = lerpsValues[lerpsValues.length-1] - } +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const Anchor = function(arSession, markerParameters){ + var _this = this + var arContext = arSession.arContext + var scene = arSession.parameters.scene + var camera = arSession.parameters.camera - // modify lerpValues in smoothedControls - smoothedControls.parameters.lerpPosition = lerpValues[0] - smoothedControls.parameters.lerpQuaternion = lerpValues[1] - smoothedControls.parameters.lerpScale = lerpValues[2] -} + this.arSession = arSession + this.parameters = markerParameters + // log to debug + console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) -////////////////////////////////////////////////////////////////////////////// -// Create THREEx.ArMultiMarkerControls from JSON -////////////////////////////////////////////////////////////////////////////// + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(markerRoot) -ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ - var multiMarkerFile = JSON.parse(jsonData) - // declare variables - var subMarkersControls = [] - var subMarkerPoses = [] - // handle default arguments - parameters = parameters || {} + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var controlledObject = markerRoot + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var controlledObject = camera + }else console.assert(false) - // prepare the parameters - multiMarkerFile.subMarkersControls.forEach(function(item){ - // create a markerRoot - var markerRoot = new THREE.Object3D() - parent3D.add(markerRoot) - - // create markerControls for our markerRoot - var subMarkerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, item.parameters) - -// if( true ){ - // store it in the parameters - subMarkersControls.push(subMarkerControls) - subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// }else{ -// // build a smoothedControls -// var smoothedRoot = new THREE.Group() -// parent3D.add(smoothedRoot) -// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { -// lerpPosition : 0.1, -// lerpQuaternion : 0.1, -// lerpScale : 0.1, -// minVisibleDelay: 0, -// minUnvisibleDelay: 0, -// }) -// onRenderFcts.push(function(delta){ -// smoothedControls.update(markerRoot) // TODO this is a global -// }) -// -// -// // store it in the parameters -// subMarkersControls.push(smoothedControls) -// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// } - }) - - parameters.subMarkersControls = subMarkersControls - parameters.subMarkerPoses = subMarkerPoses - // create a new THREEx.ArMultiMarkerControls - var multiMarkerControls = new THREEx.ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) - - // return it - return multiMarkerControls -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitContext, subMarkersControls){ - var _this = this - this._arToolkitContext = arToolkitContext - - // Init variables - this.subMarkersControls = subMarkersControls - this.enabled = true - - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) -} - - -////////////////////////////////////////////////////////////////////////////// -// statistic collection -////////////////////////////////////////////////////////////////////////////// - -/** - * What to do when a image source is fully processed - */ -ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ - var originQuaternion = this.subMarkersControls[0].object3d.quaternion - // here collect the statistic on relative positioning - - // honor this.enabled - if( this.enabled === false ) return + if( markerParameters.markersAreaEnabled === false ){ + var markerControls = new threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default(arContext, controlledObject, markerParameters) + this.controls = markerControls + }else{ + // sanity check - MUST be a trackingBackend with markers + console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - // keep only the visible markers - var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ - return markerControls.object3d.visible === true - }) + // honor markers-page-resolution for https://webxr.io/augmented-website + if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ + // get resolutionW/resolutionH from url + var markerPageResolution = location.hash.substring(1) + var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) + console.assert(matches.length === 3) + var resolutionW = parseInt(matches[1]) + var resolutionH = parseInt(matches[2]) + var arContext = arSession.arContext + // generate and store the ARjsMultiMarkerFile + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) + } - var count = Object.keys(visibleMarkerControls).length + // if there is no ARjsMultiMarkerFile, build a default one + if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) + } - var positionDelta = new THREE.Vector3() - var quaternionDelta = new THREE.Quaternion() - var scaleDelta = new THREE.Vector3() - var tmpMatrix = new THREE.Matrix4() - - // go thru all the visibleMarkerControls - for(var i = 0; i < count; i++){ - var markerControls1 = visibleMarkerControls[i] - for(var j = 0; j < count; j++){ - var markerControls2 = visibleMarkerControls[j] + // get multiMarkerFile from localStorage + console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) + var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') - // if markerControls1 is markerControls2, then skip it - if( i === j ) continue + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var parent3D = scene + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var parent3D = camera + }else console.assert(false) + // build a multiMarkerControls + var multiMarkerControls = _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__.default.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) + this.controls = multiMarkerControls - ////////////////////////////////////////////////////////////////////////////// - // create data in markerControls1.object3d.userData if needed - ////////////////////////////////////////////////////////////////////////////// - // create seenCouples for markerControls1 if needed - if( markerControls1.object3d.userData.seenCouples === undefined ){ - markerControls1.object3d.userData.seenCouples = {} - } - var seenCouples = markerControls1.object3d.userData.seenCouples - // create the multiMarkerPosition average if needed` - if( seenCouples[markerControls2.id] === undefined ){ - // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) - seenCouples[markerControls2.id] = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - } + // honor markerParameters.changeMatrixMode + multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode - - ////////////////////////////////////////////////////////////////////////////// - // Compute markerControls2 position relative to markerControls1 - ////////////////////////////////////////////////////////////////////////////// - - // compute markerControls2 position/quaternion/scale in relation with markerControls1 - tmpMatrix.getInverse(markerControls1.object3d.matrix) - tmpMatrix.multiply(markerControls2.object3d.matrix) - tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) - - ////////////////////////////////////////////////////////////////////////////// - // update statistics - ////////////////////////////////////////////////////////////////////////////// - var stats = seenCouples[markerControls2.id] - // update the count - stats.count++ - - // update the average of position/rotation/scale - THREEx.ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) - THREEx.ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) - THREEx.ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) +// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js + // create ArMarkerHelper - useful to debug - super three.js specific + var markerHelpers = [] + multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ + // add an helper to visuable each sub-marker + var markerHelper = new _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__.default(subMarkerControls) + markerHelper.object3d.visible = false + // subMarkerControls.object3d.add( markerHelper.object3d ) + subMarkerControls.object3d.add( markerHelper.object3d ) + // add it to markerHelpers + markerHelpers.push(markerHelper) + }) + // define API specific to markersArea + this.markersArea = {} + this.markersArea.setSubMarkersVisibility = function(visible){ + markerHelpers.forEach(function(markerHelper){ + markerHelper.object3d.visible = visible + }) } } -} -////////////////////////////////////////////////////////////////////////////// -// Compute markers transformation matrix from current stats -////////////////////////////////////////////////////////////////////////////// + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group() -ARjs.MarkersAreaLearning.prototype.computeResult = function(){ - var _this = this - var originSubControls = this.subMarkersControls[0] + ////////////////////////////////////////////////////////////////////////////// + // THREEx.ArSmoothedControls + ////////////////////////////////////////////////////////////////////////////// - this.deleteResult() + var shouldBeSmoothed = true - // special case of originSubControls averageMatrix - originSubControls.object3d.userData.result = { - averageMatrix : new THREE.Matrix4(), - confidenceFactor: 1, + if( shouldBeSmoothed === true ){ + // build a smoothedControls + var smoothedRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(smoothedRoot) + var smoothedControls = new _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__.default(smoothedRoot) + smoothedRoot.add(this.object3d) + }else{ + markerRoot.add(this.object3d) } - // TODO here check if the originSubControls has been seen at least once!! - - - /** - * ALGO in pseudo code - * - * - Set confidenceFactor of origin sub markers as 1 - * - * Start Looping - * - For a given sub marker, skip it if it already has a result. - * - if no result, check all seen couple and find n ones which has a progress of 1 or more. - * - So the other seen sub markers, got a valid transformation matrix. - * - So take local averages position/orientation/scale, compose a transformation matrix. - * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale - * - Multiple it by the other seen marker matrix. - * - Loop on the array until one pass could not compute any new sub marker - */ - - do{ - var resultChanged = false - // loop over each subMarkerControls - this.subMarkersControls.forEach(function(subMarkerControls){ - - // if subMarkerControls already has a result, do nothing - var result = subMarkerControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === true ) return - - // console.log('compute subMarkerControls', subMarkerControls.name()) - var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) - if( otherSubControlsID === null ){ - // console.log('no learnedCoupleStats') - return - } - - var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) - - var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) - - var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix - - var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) - matrix = new THREE.Matrix4().getInverse(matrix) - - console.assert( subMarkerControls.object3d.userData.result === undefined ) - subMarkerControls.object3d.userData.result = { - averageMatrix: matrix, - confidenceFactor: 1 - } - - resultChanged = true - }) - // console.log('loop') - }while(resultChanged === true) - - // debugger - // console.log('json:', this.toJSON()) - // this.subMarkersControls.forEach(function(subMarkerControls){ - // var hasResult = subMarkerControls.object3d.userData.result !== undefined - // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') - // }) -} - -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// -/** - * get a _this.subMarkersControls id based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ - // if this subMarkerControls has never been seen with another subMarkerControls - if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null - - var seenCouples = subMarkerControls.object3d.userData.seenCouples - var coupleControlsIDs = Object.keys(seenCouples).map(Number) - - for(var i = 0; i < coupleControlsIDs.length; i++){ - var otherSubControlsID = coupleControlsIDs[i] - // get otherSubControls - var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) - - // if otherSubControls isnt learned, skip it - var result = otherSubControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === false ) continue - - // return this seenCouplesStats - return otherSubControlsID - } - - // if none is found, return null - return null -} + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + this.update = function(){ + // update _this.object3d.visible + _this.object3d.visible = _this.object3d.parent.visible -/** - * get a _this.subMarkersControls based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + // console.log('controlledObject.visible', _this.object3d.parent.visible) + if( smoothedControls !== undefined ){ + // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls + if( multiMarkerControls !== undefined ){ + multiMarkerControls.updateSmoothedControls(smoothedControls) + } - for(var i = 0; i < this.subMarkersControls.length; i++){ - var subMarkerControls = this.subMarkersControls[i] - if( subMarkerControls.id === controlsID ){ - return subMarkerControls + // update smoothedControls + smoothedControls.update(markerRoot) } } - - return null } - ////////////////////////////////////////////////////////////////////////////// -// JSON file building -////////////////////////////////////////////////////////////////////////////// - -ARjs.MarkersAreaLearning.prototype.toJSON = function(){ - - // compute the average matrix before generating the file - this.computeResult() - - ////////////////////////////////////////////////////////////////////////////// - // actually build the json - ////////////////////////////////////////////////////////////////////////////// - var data = { - meta : { - createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, - createdAt : new Date().toJSON(), - - }, - trackingBackend: this._arToolkitContext.parameters.trackingBackend, - subMarkersControls : [], - } - - var originSubControls = this.subMarkersControls[0] - var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) - this.subMarkersControls.forEach(function(subMarkerControls, index){ - - // if a subMarkerControls has no result, ignore it - if( subMarkerControls.object3d.userData.result === undefined ) return - var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix - console.assert(poseMatrix instanceof THREE.Matrix4) - +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Anchor); - // build the info - var info = { - parameters : { - // to fill ... - }, - poseMatrix : poseMatrix.toArray(), - } - if( subMarkerControls.parameters.type === 'pattern' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.patternUrl = subMarkerControls.parameters.patternUrl - }else if( subMarkerControls.parameters.type === 'barcode' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue - }else console.assert(false) +/***/ }), - data.subMarkersControls.push(info) - }) +/***/ "./three.js/src/new-api/arjs-debugui.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-debugui.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var strJSON = JSON.stringify(data, null, '\t'); - - - ////////////////////////////////////////////////////////////////////////////// - // round matrix elements to ease readability - for debug - ////////////////////////////////////////////////////////////////////////////// - var humanReadable = false - if( humanReadable === true ){ - var tmp = JSON.parse(strJSON) - tmp.subMarkersControls.forEach(function(markerControls){ - markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ - var roundingFactor = 100 - return Math.round(value*roundingFactor)/roundingFactor - }) - }) - strJSON = JSON.stringify(tmp, null, '\t'); - } - - return strJSON; -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "SessionDebugUI": () => (/* binding */ SessionDebugUI), +/* harmony export */ "AnchorDebugUI": () => (/* binding */ AnchorDebugUI) +/* harmony export */ }); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); -////////////////////////////////////////////////////////////////////////////// -// utility function -////////////////////////////////////////////////////////////////////////////// + // TODO context build-dependent /** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.resetStats = function(){ - this.deleteResult() - - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.seenCouples - }) -} -/** - * reset all collected statistics + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user */ -ARjs.MarkersAreaLearning.prototype.deleteResult = function(){ - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.result - }) -} -var THREEx = THREEx || {} +const SessionDebugUI = function (arSession) { + var trackingBackend = arSession.arContext.parameters.trackingBackend -var ARjs = ARjs || {} -var THREEx = THREEx || {} + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.left = '5px' + this.domElement.style.bottom = '10px' + this.domElement.style.textAlign = 'right' -ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -// navigateToLearnerPage -////////////////////////////////////////////////////////////////////////////// + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.innerHTML = 'trackingBackend : ' + trackingBackend + this.domElement.appendChild(domElement) +} /** - * Navigate to the multi-marker learner page - * - * @param {String} learnerBaseURL - the base url for the learner - * @param {String} trackingBackend - the tracking backend to use + * Url of augmented-website service - if === '' then dont include augmented-website link + * @type {String} */ -ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ - var learnerParameters = { - backURL : location.href, - trackingBackend: trackingBackend, - markersControlsParameters: ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), - } - location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) -} +SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' ////////////////////////////////////////////////////////////////////////////// -// DefaultMultiMarkerFile +// AnchorDebugUI ////////////////////////////////////////////////////////////////////////////// /** - * Create and store a default multi-marker file + * Create an debug UI for an ARjs.Anchor * - * @param {String} trackingBackend - the tracking backend to use + * @param {ARjs.Anchor} arAnchor - the anchor to user */ -ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ - var file = ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) - // json.strinfy the value and store it in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) -} +const AnchorDebugUI = function (arAnchor) { + var arSession = arAnchor.arSession + var trackingBackend = arSession.arContext.parameters.trackingBackend + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'inline-block' + this.domElement.style.padding = '0.5em' + this.domElement.style.margin = '0.5em' + this.domElement.style.textAlign = 'left' + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// -/** - * Create a default multi-marker file - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object of the multi-marker file - */ -ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ - console.assert(trackingBackend) - if( trackingBackend === undefined ) debugger + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.style.padding = '0.5em' + domElement.style.color = 'rgba(0,0,0,0.9)' + domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + domElement.style.position = 'fixed' + domElement.style.left = '5px' + domElement.style.bottom = '40px' - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href + this.domElement.appendChild(domElement) + domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled - // create the base file - var file = { - meta : { - createdBy : 'AR.js ' + ARjs.Context.REVISION + ' - Default Marker', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... being filled - ] - } - // add a subMarkersControls - file.subMarkersControls[0] = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(0,0, 0).toArray(), - } - if( trackingBackend === 'artoolkit' ){ - file.subMarkersControls[0].parameters.type = 'pattern' - file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' - }else console.assert(false) + ////////////////////////////////////////////////////////////////////////////// + // toggle-marker-helper + ////////////////////////////////////////////////////////////////////////////// - // json.strinfy the value and store it in localStorage - return file + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.textAlign = 'left' + this.domElement.appendChild(domElement) + + domElement.id = 'buttonToggleMarkerHelpers' + domElement.innerHTML = 'toggle-marker-helper' + domElement.href = 'javascript:void(0)' + + var subMarkerHelpersVisible = false + domElement.addEventListener('click', function () { + subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true + arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) + }) + } + + ////////////////////////////////////////////////////////////////////////////// + // Learn-new-marker-area + ////////////////////////////////////////////////////////////////////////////// + + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) + + domElement.id = 'buttonMarkersAreaLearner' + domElement.innerHTML = 'Learn-new-marker-area' + domElement.href = 'javascript:void(0)' + + domElement.addEventListener('click', function () { + if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { + var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL + } else { + var learnerURL = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + 'examples/multi-markers/examples/learner.html' + } + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.navigateToLearnerPage(learnerURL, trackingBackend) + }) + } + + ////////////////////////////////////////////////////////////////////////////// + // Reset-marker-area + ////////////////////////////////////////////////////////////////////////////// + + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) + + domElement.id = 'buttonMarkersAreaReset' + domElement.innerHTML = 'Reset-marker-area' + domElement.href = 'javascript:void(0)' + + domElement.addEventListener('click', function () { + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.storeDefaultMultiMarkerFile(trackingBackend) + location.reload() + }) + } } -////////////////////////////////////////////////////////////////////////////// -// createDefaultMarkersControlsParameters -////////////////////////////////////////////////////////////////////////////// +/** + * url for the markers-area learner. if not set, take the default one + * @type {String} + */ +AnchorDebugUI.MarkersAreaLearnerURL = null + + + + +/***/ }), + +/***/ "./three.js/src/new-api/arjs-hittesting.js": +/*!*************************************************!*\ + !*** ./three.js/src/new-api/arjs-hittesting.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../threex/threex-hittesting-plane */ "./three.js/src/threex/threex-hittesting-plane.js"); + /** - * Create a default controls parameters for the multi-marker learner + * Create an anchor in the real world * - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object containing the controls parameters + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor */ -ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href - +const HitTesting = function (arSession) { + var _this = this + var arContext = arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend - if( trackingBackend === 'artoolkit' ){ - // pattern hiro/kanji/a/b/c/f - var markersControlsParameters = [ - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', - }, - ] - }else console.assert(false) - return markersControlsParameters + this.enabled = true + this._arSession = arSession + this._hitTestingPlane = null + _this._hitTestingPlane = new _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__.default(arSession.arSource.domElement) } - ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// update function ////////////////////////////////////////////////////////////////////////////// /** - * generate areaFile + * update + * + * @param {THREE.Camera} camera - the camera to use + * @param {THREE.Object3D} object3d - */ -ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { - // generate areaFile - var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) - // store areaFile in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) -} +HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { + // if it isnt enabled, do nothing + if (this.enabled === false) return + + if (this._hitTestingPlane !== null) { + this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) + } else console.assert(false) +} ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// actual hit testing ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ - // create the base file - var file = { - meta : { - createdBy : 'AR.js - Augmented Website', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... - ] - } +/** + * Test the real world for intersections directly from a DomEvent + * + * @param {Number} mouseX - position X of the hit [-1, +1] + * @param {Number} mouseY - position Y of the hit [-1, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.testDomEvent = function (domEvent) { + var trackingBackend = this._arSession.arContext.parameters.trackingBackend + var arSource = this._arSession.arSource - var whiteMargin = 0.1 - if( resolutionW > resolutionH ){ - var markerImageSize = 0.4 * resolutionH - }else if( resolutionW < resolutionH ){ - var markerImageSize = 0.4 * resolutionW - }else if( resolutionW === resolutionH ){ - // specific for twitter player - https://dev.twitter.com/cards/types/player - var markerImageSize = 0.33 * resolutionW - }else console.assert(false) + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + var mouseX = domEvent.clientX / arSource.domElementWidth() + var mouseY = domEvent.clientY / arSource.domElementHeight() - // console.warn('using new markerImageSize computation') - var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) + return this.test(mouseX, mouseY) +} - var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize - var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize +/** + * Test the real world for intersections. + * + * @param {Number} mouseX - position X of the hit [0, +1] + * @param {Number} mouseY - position Y of the hit [0, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.test = function (mouseX, mouseY) { + var arContext = this._arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend + var hitTestResults = [] - var subMarkerControls = buildSubMarkerControls('center', 0, 0) - file.subMarkersControls.push(subMarkerControls) + // if it isnt enabled, do nothing + if (this.enabled === false) return [] - var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) + var result = this._hitTestingPlane.test(mouseX, mouseY) - var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) + // if no result is found, return now + if (result === null) return hitTestResults - var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) + // build a HitTesting.Result + var hitTestResult = new HitTesting.Result(result.position, result.quaternion, result.scale) + hitTestResults.push(hitTestResult) - var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) + return hitTestResults +} - return file +////////////////////////////////////////////////////////////////////////////// +// HitTesting.Result +////////////////////////////////////////////////////////////////////////////// +/** + * Contains the result of HitTesting.test() + * + * @param {THREE.Vector3} position - position to use + * @param {THREE.Quaternion} quaternion - quaternion to use + * @param {THREE.Vector3} scale - scale + */ +HitTesting.Result = function (position, quaternion, scale) { + this.position = position + this.quaternion = quaternion + this.scale = scale +} - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.apply = function (object3d) { + object3d.position.copy(this.position) + object3d.quaternion.copy(this.quaternion) + object3d.scale.copy(this.scale) - function buildSubMarkerControls(layout, positionX, positionZ){ - console.log('buildSubMarkerControls', layout, positionX, positionZ) - // create subMarkersControls - var subMarkersControls = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), - } - // fill the parameters - if( trackingBackend === 'artoolkit' ){ - layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) - }else console.assert(false) - // return subMarkersControls - return subMarkersControls - } + object3d.updateMatrix() +} - function layout2MarkerParametersArtoolkit(parameters, layout){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyPosition = function (object3d) { + object3d.position.copy(this.position) - var layout2PatternUrl = { - 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), - 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), - 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), - 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), - 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), - } - console.assert(layout2PatternUrl[layout] !== undefined ) - parameters.type = 'pattern' - parameters.patternUrl = layout2PatternUrl[layout] - return - function convertRelativeUrlToAbsolute(relativeUrl){ - var tmpLink = document.createElement('a'); - tmpLink.href = relativeUrl - return tmpLink.href - } - } -} -////////////////////////////////////////////////////////////////////////////// -// arjs-anchor -////////////////////////////////////////////////////////////////////////////// -AFRAME.registerComponent('arjs-anchor', { - dependencies: ['arjs', 'artoolkit'], - schema: { - preset: { - type: 'string', - }, - markerhelpers: { // IIF preset === 'area' - type: 'boolean', - default: false, - }, + object3d.updateMatrix() - // controls parameters - size: { - type: 'number', - default: 1 - }, - type: { - type: 'string', - }, - patternUrl: { - type: 'string', - }, - barcodeValue: { - type: 'number' - }, - changeMatrixMode: { - type: 'string', - default: 'modelViewMatrix', - }, - minConfidence: { - type: 'number', - default: 0.6, - }, - smooth: { - type: 'boolean', - default: false, - }, - smoothCount: { - type: 'number', - default: 5, - }, - smoothTolerance: { - type: 'number', - default: 0.01, - }, - smoothThreshold: { - type: 'number', - default: 2, - }, - }, - init: function () { - var _this = this + return this +} - // get arjsSystem - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyQuaternion = function (object3d) { + object3d.quaternion.copy(this.quaternion) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + object3d.updateMatrix() - _this.isReady = false - _this._arAnchor = null + return this +} - // honor object visibility - if (_this.data.changeMatrixMode === 'modelViewMatrix') { - _this.el.object3D.visible = false - } else if (_this.data.changeMatrixMode === 'cameraTransformMatrix') { - _this.el.sceneEl.object3D.visible = false - } else console.assert(false) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTesting); - // trick to wait until arjsSystem is isReady - var startedAt = Date.now() - var timerId = setInterval(function () { - // wait until the system is isReady - if (arjsSystem.isReady === false) return - clearInterval(timerId) +/***/ }), - ////////////////////////////////////////////////////////////////////////////// - // update arProfile - ////////////////////////////////////////////////////////////////////////////// - var arProfile = arjsSystem._arProfile +/***/ "./three.js/src/new-api/arjs-session.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-session.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // arProfile.changeMatrixMode('modelViewMatrix') - arProfile.changeMatrixMode(_this.data.changeMatrixMode) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); - // honor this.data.preset - var markerParameters = Object.assign({}, arProfile.defaultMarkerParameters) - if (_this.data.preset === 'hiro') { - markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' - markerParameters.markersAreaEnabled = false - } else if (_this.data.preset === 'kanji') { - markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' - markerParameters.markersAreaEnabled = false - } else if (_this.data.preset === 'area') { - markerParameters.type = 'barcode' - markerParameters.barcodeValue = 1001 - markerParameters.markersAreaEnabled = true - } else if (_this.data.type === 'barcode') { - markerParameters = { - type: _this.data.type, - changeMatrixMode: 'modelViewMatrix', - barcodeValue: _this.data.barcodeValue, - markersAreaEnabled: false - } - } else if (_this.data.type === 'pattern') { - markerParameters.type = _this.data.type - markerParameters.patternUrl = _this.data.patternUrl; - markerParameters.markersAreaEnabled = false - } + // TODO context build-dependent - markerParameters.minConfidence = _this.data.minCondidence; - markerParameters.smooth = _this.data.smooth; - markerParameters.smoothCount = _this.data.smoothCount; - markerParameters.smoothTolerance = _this.data.smoothTolerance; - markerParameters.smoothThreshold = _this.data.smoothThreshold; +/** + * * define a Session + * + * @param {Object} parameters - parameters for this session + */ +const Session = function(parameters){ + var _this = this + // handle default parameters + this.parameters = { + renderer: null, + camera: null, + scene: null, + sourceParameters: {}, + contextParameters: {}, + } - ////////////////////////////////////////////////////////////////////////////// - // create arAnchor - ////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] - var arSession = arjsSystem._arSession - var arAnchor = _this._arAnchor = new ARjs.Anchor(arSession, markerParameters) + if( newValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) + continue + } - // it is now considered isReady - _this.isReady = true + var currentValue = _this.parameters[ key ] - ////////////////////////////////////////////////////////////////////////////// - // honor .debugUIEnabled - ////////////////////////////////////////////////////////////////////////////// - if (arjsSystem.data.debugUIEnabled) { - // get or create containerElement - var containerElement = document.querySelector('#arjsDebugUIContainer') - if (containerElement === null) { - containerElement = document.createElement('div') - containerElement.id = 'arjsDebugUIContainer' - containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1; color: grey;') - document.body.appendChild(containerElement) - } - // create anchorDebugUI - var anchorDebugUI = new ARjs.AnchorDebugUI(arAnchor) - containerElement.appendChild(anchorDebugUI.domElement) - } - }, 1000 / 60) - }, - remove: function () { - }, - update: function () { - }, - tick: function () { - var _this = this - // if not yet isReady, do nothing - if (this.isReady === false) return + if( currentValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) + continue + } - ////////////////////////////////////////////////////////////////////////////// - // update arAnchor - ////////////////////////////////////////////////////////////////////////////// - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - this._arAnchor.update() + _this.parameters[ key ] = newValue + } + } + // sanity check + console.assert(this.parameters.renderer instanceof three__WEBPACK_IMPORTED_MODULE_0__.WebGLRenderer) + console.assert(this.parameters.camera instanceof three__WEBPACK_IMPORTED_MODULE_0__.Camera) + console.assert(this.parameters.scene instanceof three__WEBPACK_IMPORTED_MODULE_0__.Scene) - ////////////////////////////////////////////////////////////////////////////// - // honor pose - ////////////////////////////////////////////////////////////////////////////// - var arWorldRoot = this._arAnchor.object3d - arWorldRoot.updateMatrixWorld(true) - arWorldRoot.matrixWorld.decompose(this.el.object3D.position, this.el.object3D.quaternion, this.el.object3D.scale) - ////////////////////////////////////////////////////////////////////////////// - // honor visibility - ////////////////////////////////////////////////////////////////////////////// - if (_this._arAnchor.parameters.changeMatrixMode === 'modelViewMatrix') { - var wasVisible = _this.el.object3D.visible - _this.el.object3D.visible = this._arAnchor.object3d.visible - } else if (_this._arAnchor.parameters.changeMatrixMode === 'cameraTransformMatrix') { - var wasVisible = _this.el.sceneEl.object3D.visible - _this.el.sceneEl.object3D.visible = this._arAnchor.object3d.visible - } else console.assert(false) + // backward emulation + Object.defineProperty(this, 'renderer', {get: function(){ + console.warn('use .parameters.renderer renderer') + return this.parameters.renderer; + }}); + Object.defineProperty(this, 'camera', {get: function(){ + console.warn('use .parameters.camera instead') + return this.parameters.camera; + }}); + Object.defineProperty(this, 'scene', {get: function(){ + console.warn('use .parameters.scene instead') + return this.parameters.scene; + }}); - // emit markerFound markerLost - if (_this._arAnchor.object3d.visible === true && wasVisible === false) { - _this.el.emit('markerFound') - } else if (_this._arAnchor.object3d.visible === false && wasVisible === true) { - _this.el.emit('markerLost') - } - } -}) -////////////////////////////////////////////////////////////////////////////// -// define some primitives shortcuts -////////////////////////////////////////////////////////////////////////////// + // log the version + console.log('AR.js', _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) -AFRAME.registerPrimitive('a-anchor', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': {}, - 'arjs-hit-testing': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - 'smooth': 'arjs-anchor.smooth', - 'smooth-count': 'arjs-anchor.smoothCount', - 'smooth-tolerance': 'arjs-anchor.smoothTolerance', - 'smooth-threshold': 'arjs-anchor.smoothThreshold', + ////////////////////////////////////////////////////////////////////////////// + // init arSource + ////////////////////////////////////////////////////////////////////////////// + var arSource = _this.arSource = new _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__.default(parameters.sourceParameters) - 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', - 'hit-testing-enabled': 'arjs-hit-testing.enabled', - } -})) + arSource.init(function onReady(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) -AFRAME.registerPrimitive('a-camera-static', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'camera': {}, - }, - mappings: { - } -})) + // handle resize + window.addEventListener('resize', function(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) -////////////////////////////////////////////////////////////////////////////// -// backward compatibility -////////////////////////////////////////////////////////////////////////////// -// FIXME -AFRAME.registerPrimitive('a-marker', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': {}, - 'arjs-hit-testing': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - 'smooth': 'arjs-anchor.smooth', - 'smooth-count': 'arjs-anchor.smoothCount', - 'smooth-tolerance': 'arjs-anchor.smoothTolerance', - 'smooth-threshold': 'arjs-anchor.smoothThreshold', + ////////////////////////////////////////////////////////////////////////////// + // init arContext + ////////////////////////////////////////////////////////////////////////////// - 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', - 'hit-testing-enabled': 'arjs-hit-testing.enabled', - } -})) + // create atToolkitContext + var arContext = _this.arContext = new _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default(parameters.contextParameters) -AFRAME.registerPrimitive('a-marker-camera', AFRAME.utils.extendDeep({}, AFRAME.primitives.getMeshMixin(), { - defaultComponents: { - 'arjs-anchor': { - changeMatrixMode: 'cameraTransformMatrix' - }, - 'camera': {}, - }, - mappings: { - 'type': 'arjs-anchor.type', - 'size': 'arjs-anchor.size', - 'url': 'arjs-anchor.patternUrl', - 'value': 'arjs-anchor.barcodeValue', - 'preset': 'arjs-anchor.preset', - 'min-confidence': 'arjs-anchor.minConfidence', - 'marker-helpers': 'arjs-anchor.markerhelpers', - } -})) -////////////////////////////////////////////////////////////////////////////// -// arjs-hit-testing -////////////////////////////////////////////////////////////////////////////// -AFRAME.registerComponent('arjs-hit-testing', { - dependencies: ['arjs', 'artoolkit'], - schema: { - enabled : { - type: 'boolean', - default: false, - }, - renderDebug : { - type: 'boolean', - default: false, - }, - }, - init: function () { - var _this = this - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit + // initialize it + _this.arContext.init() -// TODO make it work on cameraTransformMatrix too -// - _this.isReady = false - _this._arAnchor = null - _this._arHitTesting = null + arContext.addEventListener('initialized', function(event){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - // trick to wait until arjsSystem is isReady - var startedAt = Date.now() - var timerId = setInterval(function(){ - var anchorEl = _this.el - var anchorComponent = anchorEl.components['arjs-anchor'] - // wait until anchorComponent is isReady - if( anchorComponent === undefined || anchorComponent.isReady === false ) return + ////////////////////////////////////////////////////////////////////////////// + // update function + ////////////////////////////////////////////////////////////////////////////// + // update artoolkit on every frame + this.update = function(){ + if( arSource.ready === false ) return - clearInterval(timerId) + arContext.update( arSource.domElement ) + } +} - ////////////////////////////////////////////////////////////////////////////// - // create arAnchor - ////////////////////////////////////////////////////////////////////////////// - var arAnchor = anchorComponent._arAnchor - var arSession = arjsSystem._arSession - var renderer = arSession.parameters.renderer +Session.prototype.onResize = function () { + this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) +}; - var hitTesting = _this._arHitTesting = new ARjs.HitTesting(arSession) - hitTesting.enabled = _this.data.enabled +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Session); - _this.isReady = true - }, 1000/60) - }, - remove : function(){ - }, - update: function () { - }, - tick: function(){ - var _this = this - // if not yet isReady, do nothing - if( this.isReady === false ) return +/***/ }), - var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit - var arSession = arjsSystem._arSession +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var anchorEl = _this.el - var anchorComponent = anchorEl.components['arjs-anchor'] - var arAnchor = anchorComponent._arAnchor +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - var hitTesting = this._arHitTesting - var camera = arSession.parameters.camera -// console.log(camera.position) - hitTesting.update(camera, arAnchor.object3d, arAnchor.parameters.changeMatrixMode) - } -}); +const Utils = {}; /** - * @author richt / http://richt.me - * @author WestLangley / http://github.com/WestLangley + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters * - * W3C Device Orientation control (http://w3c.github.io/deviceorientation/spec-source-orientation.html) + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) -/* NOTE that this is a modified version of THREE.DeviceOrientationControls to - * allow exponential smoothing, for use in AR.js. + return camera +} + +/** + * parse tracking method * - * Modifications Nick Whitelegg (nickw1 github) + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method */ +Utils.parseTrackingMethod = function (trackingMethod) { -ArjsDeviceOrientationControls = function ( object ) { - - var scope = this; + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } - this.object = object; - this.object.rotation.reorder( 'YXZ' ); + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } +} - this.enabled = true; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); - this.deviceOrientation = {}; - this.screenOrientation = 0; - this.alphaOffset = 0; // radians +/***/ }), - this.smoothingFactor = 1; +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - this.TWO_PI = 2 * Math.PI; - this.HALF_PI = 0.5 * Math.PI; +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); - var onDeviceOrientationChangeEvent = function ( event ) { + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); - scope.deviceOrientation = event; +const Context = function (parameters) { + var _this = this - }; + _this._updatedAt = null - var onScreenOrientationChangeEvent = function () { + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - scope.screenOrientation = window.orientation || 0; + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', - }; + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, - // The angles alpha, beta and gamma form a set of intrinsic Tait-Bryan angles of type Z-X'-Y'' + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, - var setObjectQuaternion = function () { + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - var zee = new THREE.Vector3( 0, 0, 1 ); + this.arController = null; - var euler = new THREE.Euler(); + _this.initialized = false - var q0 = new THREE.Quaternion(); - var q1 = new THREE.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt( 0.5 ) ); // - PI/2 around the x-axis + this._arMarkersControls = [] - return function ( quaternion, alpha, beta, gamma, orient ) { + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - euler.set( beta, alpha, - gamma, 'YXZ' ); // 'ZXY' for the device, but 'YXZ' for us + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } - quaternion.setFromEuler( euler ); // orient the device + var currentValue = _this.parameters[key] - quaternion.multiply( q1 ); // camera looks out the back of the device, not the top + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } - quaternion.multiply( q0.setFromAxisAngle( zee, - orient ) ); // adjust for screen orientation + _this.parameters[key] = newValue + } + } +} - }; +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; - }(); +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} - this.connect = function () { - - onScreenOrientationChangeEvent(); - window.addEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); - window.addEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done); + } else console.assert(false); + return - scope.enabled = true; + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); - }; + _this.initialized = true - this.disconnect = function () { + onCompleted && onCompleted() + } - window.removeEventListener( 'orientationchange', onScreenOrientationChangeEvent, false ); - window.removeEventListener( 'deviceorientation', onDeviceOrientationChangeEvent, false ); +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { - scope.enabled = false; + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; - }; + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present - this.update = function () { + var prevVisibleMarkers = [] - if ( scope.enabled === false ) return; + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + markerControls.object3d.visible = false + }) - var device = scope.deviceOrientation; + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement); + } else { + console.assert(false); + } - if ( device ) { + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); - var alpha = device.alpha ? THREE.Math.degToRad( device.alpha ) + scope.alphaOffset : 0; // Z + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) - var beta = device.beta ? THREE.Math.degToRad( device.beta ) : 0; // X' - var gamma = device.gamma ? THREE.Math.degToRad( device.gamma ) : 0; // Y'' + // return true as we processed the frame + return true; +} - var orient = scope.screenOrientation ? THREE.Math.degToRad( scope.screenOrientation ) : 0; // O +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} - // NW Added smoothing code - var k = this.smoothingFactor; +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } + this._arMarkersControls.splice(index, 1) +} - if(this.lastOrientation) { - alpha = this._getSmoothedAngle(alpha, this.lastOrientation.alpha, k); - beta = this._getSmoothedAngle(beta + Math.PI, this.lastOrientation.beta, k); - gamma = this._getSmoothedAngle(gamma + this.HALF_PI, this.lastOrientation.gamma, k, Math.PI); - - } else { - beta += Math.PI; - gamma += this.HALF_PI; - } +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this - this.lastOrientation = { - alpha: alpha, - beta: beta, - gamma: gamma - }; - setObjectQuaternion( scope.object.quaternion, alpha, beta - Math.PI, gamma - this.HALF_PI, orient ); + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) - } - }; + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } - - // NW Added - this._orderAngle = function(a, b, range = this.TWO_PI) { - if ((b > a && Math.abs(b - a) < range / 2) || (a > b && Math.abs(b - a) > range / 2)) { - return { left: a, right: b } - } else { - return { left: b, right: a } - } - }; + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); + return this +} - // NW Added - this._getSmoothedAngle = function(a, b, k, range = this.TWO_PI) { - const angles = this._orderAngle(a, b, range); - const angleshift = angles.left; - const origAnglesRight = angles.right; - angles.left = 0; - angles.right -= angleshift; - if(angles.right < 0) angles.right += range; - let newangle = origAnglesRight == b ? (1 - k)*angles.right + k * angles.left : k * angles.right + (1 - k) * angles.left; - newangle += angleshift; - if(newangle >= range) newangle -= range; - return newangle; - }; +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function (srcElement) { - this.dispose = function () { - scope.disconnect(); - }; - this.connect(); + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn -}; -// To avoid recalculation at every mouse movement tick -var PI_2 = Math.PI / 2; + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) + // return the result + return projectionMatrix +} -/** - * look-controls. Update entity pose, factoring mouse, touch, and WebVR API data. - */ +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} -/* NOTE that this is a modified version of A-Frame's look-controls to - * allow exponential smoothing, for use in AR.js. - * - * Modifications Nick Whitelegg (nickw1 github) - */ +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; + + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } -AFRAME.registerComponent('arjs-look-controls', { - dependencies: ['position', 'rotation'], + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; - schema: { - enabled: {default: true}, - magicWindowTrackingEnabled: {default: true}, - pointerLockEnabled: {default: false}, - reverseMouseDrag: {default: false}, - reverseTouchDrag: {default: false}, - touchEnabled: {default: true}, - smoothingFactor: { type: 'number', default: 1 } - }, + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; - init: function () { - this.deltaYaw = 0; - this.previousHMDPosition = new THREE.Vector3(); - this.hmdQuaternion = new THREE.Quaternion(); - this.magicWindowAbsoluteEuler = new THREE.Euler(); - this.magicWindowDeltaEuler = new THREE.Euler(); - this.position = new THREE.Vector3(); - this.magicWindowObject = new THREE.Object3D(); - this.rotation = {}; - this.deltaRotation = {}; - this.savedPose = null; - this.pointerLocked = false; - this.setupMouseControls(); - this.bindMethods(); - this.previousMouseEvent = {}; + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} - this.setupMagicWindowControls(); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); - // To save / restore camera pose - this.savedPose = { - position: new THREE.Vector3(), - rotation: new THREE.Euler() - }; +/***/ }), - // Call enter VR handler if the scene has entered VR before the event listeners attached. - if (this.el.sceneEl.is('vr-mode')) { this.onEnterVR(); } - }, +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - setupMagicWindowControls: function () { - var magicWindowControls; - var data = this.data; +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); - // Only on mobile devices and only enabled if DeviceOrientation permission has been granted. - if (AFRAME.utils.device.isMobile()) { - magicWindowControls = this.magicWindowControls = new ArjsDeviceOrientationControls(this.magicWindowObject); - if (typeof DeviceOrientationEvent !== 'undefined' && DeviceOrientationEvent.requestPermission) { - magicWindowControls.enabled = false; - if (this.el.sceneEl.components['device-orientation-permission-ui'].permissionGranted) { - magicWindowControls.enabled = data.magicWindowTrackingEnabled; - } else { - this.el.sceneEl.addEventListener('deviceorientationpermissiongranted', function () { - magicWindowControls.enabled = data.magicWindowTrackingEnabled; - }); - } - } - } - }, - update: function (oldData) { - var data = this.data; + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); - // Disable grab cursor classes if no longer enabled. - if (data.enabled !== oldData.enabled) { - this.updateGrabCursor(data.enabled); - } +const MarkerControls = function(context, object3d, parameters){ + var _this = this - // Reset magic window eulers if tracking is disabled. - if (oldData && !data.magicWindowTrackingEnabled && oldData.magicWindowTrackingEnabled) { - this.magicWindowAbsoluteEuler.set(0, 0, 0); - this.magicWindowDeltaEuler.set(0, 0, 0); - } + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) - // Pass on magic window tracking setting to magicWindowControls. - if (this.magicWindowControls) { - this.magicWindowControls.enabled = data.magicWindowTrackingEnabled; - this.magicWindowControls.smoothingFactor = data.smoothingFactor; - } + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } - if (oldData && !data.pointerLockEnabled !== oldData.pointerLockEnabled) { - this.removeEventListeners(); - this.addEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - } - }, + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) - tick: function (t) { - var data = this.data; - if (!data.enabled) { return; } - this.updateOrientation(); - }, - play: function () { - this.addEventListeners(); - }, + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false - pause: function () { - this.removeEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - }, + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] - remove: function () { - this.removeEventListeners(); - if (this.pointerLocked) { this.exitPointerLock(); } - }, + if( newValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) + continue + } - bindMethods: function () { - this.onMouseDown = AFRAME.utils.bind(this.onMouseDown, this); - this.onMouseMove = AFRAME.utils.bind(this.onMouseMove, this); - this.onMouseUp = AFRAME.utils.bind(this.onMouseUp, this); - this.onTouchStart = AFRAME.utils.bind(this.onTouchStart, this); - this.onTouchMove = AFRAME.utils.bind(this.onTouchMove, this); - this.onTouchEnd = AFRAME.utils.bind(this.onTouchEnd, this); - this.onEnterVR = AFRAME.utils.bind(this.onEnterVR, this); - this.onExitVR = AFRAME.utils.bind(this.onExitVR, this); - this.onPointerLockChange = AFRAME.utils.bind(this.onPointerLockChange, this); - this.onPointerLockError = AFRAME.utils.bind(this.onPointerLockError, this); - }, + var currentValue = _this.parameters[ key ] - /** - * Set up states and Object3Ds needed to store rotation data. - */ - setupMouseControls: function () { - this.mouseDown = false; - this.pitchObject = new THREE.Object3D(); - this.yawObject = new THREE.Object3D(); - this.yawObject.position.y = 10; - this.yawObject.add(this.pitchObject); - }, + if( currentValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) + continue + } - /** - * Add mouse and touch event listeners to canvas. - */ - addEventListeners: function () { - var sceneEl = this.el.sceneEl; - var canvasEl = sceneEl.canvas; + _this.parameters[ key ] = newValue + } + } - // Wait for canvas to load. - if (!canvasEl) { - sceneEl.addEventListener('render-target-loaded', AFRAME.utils.bind(this.addEventListeners, this)); - return; - } + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } - // Mouse events. - canvasEl.addEventListener('mousedown', this.onMouseDown, false); - window.addEventListener('mousemove', this.onMouseMove, false); - window.addEventListener('mouseup', this.onMouseUp, false); + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) - // Touch events. - canvasEl.addEventListener('touchstart', this.onTouchStart); - window.addEventListener('touchmove', this.onTouchMove); - window.addEventListener('touchend', this.onTouchEnd); + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) +} - // sceneEl events. - sceneEl.addEventListener('enter-vr', this.onEnterVR); - sceneEl.addEventListener('exit-vr', this.onExitVR); +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; - // Pointer Lock events. - if (this.data.pointerLockEnabled) { - document.addEventListener('pointerlockchange', this.onPointerLockChange, false); - document.addEventListener('mozpointerlockchange', this.onPointerLockChange, false); - document.addEventListener('pointerlockerror', this.onPointerLockError, false); - } - }, - /** - * Remove mouse and touch event listeners from canvas. - */ - removeEventListeners: function () { - var sceneEl = this.el.sceneEl; - var canvasEl = sceneEl && sceneEl.canvas; +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } - if (!canvasEl) { return; } + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; +} - // Mouse events. - canvasEl.removeEventListener('mousedown', this.onMouseDown); - window.removeEventListener('mousemove', this.onMouseMove); - window.removeEventListener('mouseup', this.onMouseUp); +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// - // Touch events. - canvasEl.removeEventListener('touchstart', this.onTouchStart); - window.removeEventListener('touchmove', this.onTouchMove); - window.removeEventListener('touchend', this.onTouchEnd); +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; - // sceneEl events. - sceneEl.removeEventListener('enter-vr', this.onEnterVR); - sceneEl.removeEventListener('exit-vr', this.onExitVR); + // mark object as visible + markerObject3D.visible = true - // Pointer Lock events. - document.removeEventListener('pointerlockchange', this.onPointerLockChange, false); - document.removeEventListener('mozpointerlockchange', this.onPointerLockChange, false); - document.removeEventListener('pointerlockerror', this.onPointerLockError, false); - }, + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) - /** - * Update orientation for mobile, mouse drag, and headset. - * Mouse-drag only enabled if HMD is not active. - */ - updateOrientation: (function () { - var poseMatrix = new THREE.Matrix4(); + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) - return function () { - var object3D = this.el.object3D; - var pitchObject = this.pitchObject; - var yawObject = this.yawObject; - var pose; - var sceneEl = this.el.sceneEl; + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) - // In VR mode, THREE is in charge of updating the camera pose. - if (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected()) { - // With WebXR THREE applies headset pose to the object3D matrixWorld internally. - // Reflect values back on position, rotation, scale for getAttribute to return the expected values. - if (sceneEl.hasWebXR) { - pose = sceneEl.renderer.xr.getCameraPose(); - if (pose) { - poseMatrix.elements = pose.transform.matrix; - poseMatrix.decompose(object3D.position, object3D.rotation, object3D.scale); - } - } - return; - } + var renderReqd = false; - this.updateMagicWindowOrientation(); + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; - // On mobile, do camera rotation with touch events and sensors. - object3D.rotation.x = this.magicWindowDeltaEuler.x + pitchObject.rotation.x; - object3D.rotation.y = this.magicWindowDeltaEuler.y + yawObject.rotation.y; - object3D.rotation.z = this.magicWindowDeltaEuler.z; - }; - })(), + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest - updateMagicWindowOrientation: function () { - var magicWindowAbsoluteEuler = this.magicWindowAbsoluteEuler; - var magicWindowDeltaEuler = this.magicWindowDeltaEuler; - // Calculate magic window HMD quaternion. - if (this.magicWindowControls && this.magicWindowControls.enabled) { - this.magicWindowControls.update(); - magicWindowAbsoluteEuler.setFromQuaternion(this.magicWindowObject.quaternion, 'YXZ'); - if (!this.previousMagicWindowYaw && magicWindowAbsoluteEuler.y !== 0) { - this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; - } - if (this.previousMagicWindowYaw) { - magicWindowDeltaEuler.x = magicWindowAbsoluteEuler.x; - magicWindowDeltaEuler.y += magicWindowAbsoluteEuler.y - this.previousMagicWindowYaw; - magicWindowDeltaEuler.z = magicWindowAbsoluteEuler.z; - this.previousMagicWindowYaw = magicWindowAbsoluteEuler.y; - } - } - }, + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; - /** - * Translate mouse drag into rotation. - * - * Dragging up and down rotates the camera around the X-axis (yaw). - * Dragging left and right rotates the camera around the Y-axis (pitch). - */ - onMouseMove: function (evt) { - var direction; - var movementX; - var movementY; - var pitchObject = this.pitchObject; - var previousMouseEvent = this.previousMouseEvent; - var yawObject = this.yawObject; + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } - // Not dragging or not enabled. - if (!this.data.enabled || (!this.mouseDown && !this.pointerLocked)) { return; } + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } - // Calculate delta. - if (this.pointerLocked) { - movementX = evt.movementX || evt.mozMovementX || 0; - movementY = evt.movementY || evt.mozMovementY || 0; - } else { - movementX = evt.screenX - previousMouseEvent.screenX; - movementY = evt.screenY - previousMouseEvent.screenY; - } - this.previousMouseEvent.screenX = evt.screenX; - this.previousMouseEvent.screenY = evt.screenY; + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) - // Calculate rotation. - direction = this.data.reverseMouseDrag ? 1 : -1; - yawObject.rotation.y += movementX * 0.002 * direction; - pitchObject.rotation.x += movementY * 0.002 * direction; - pitchObject.rotation.x = Math.max(-PI_2, Math.min(PI_2, pitchObject.rotation.x)); - }, + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); - /** - * Register mouse down to detect mouse drag. - */ - onMouseDown: function (evt) { - var sceneEl = this.el.sceneEl; - if (!this.data.enabled || (sceneEl.is('vr-mode') && sceneEl.checkHeadsetConnected())) { return; } - // Handle only primary button. - if (evt.button !== 0) { return; } + return renderReqd; +} - var canvasEl = sceneEl && sceneEl.canvas; +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// - this.mouseDown = true; - this.previousMouseEvent.screenX = evt.screenX; - this.previousMouseEvent.screenY = evt.screenY; - this.showGrabbingCursor(); +/** + * provide a name for a marker + * - silly heuristic for now + * - should be improved + */ +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') + } + return name +} - if (this.data.pointerLockEnabled && !this.pointerLocked) { - if (canvasEl.requestPointerLock) { - canvasEl.requestPointerLock(); - } else if (canvasEl.mozRequestPointerLock) { - canvasEl.mozRequestPointerLock(); - } - } - }, +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this - /** - * Shows grabbing cursor on scene - */ - showGrabbingCursor: function () { - this.el.sceneEl.canvas.style.cursor = 'grabbing'; - }, + var artoolkitMarkerId = null - /** - * Hides grabbing cursor on scene - */ - hideGrabbingCursor: function () { - this.el.sceneEl.canvas.style.cursor = ''; - }, + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) - /** - * Register mouse up to detect release of mouse drag. - */ - onMouseUp: function () { - this.mouseDown = false; - this.hideGrabbingCursor(); - }, + return - /** - * Register touch down to detect touch drag. - */ - onTouchStart: function (evt) { - if (evt.touches.length !== 1 || - !this.data.touchEnabled || - this.el.sceneEl.is('vr-mode')) { return; } - this.touchStart = { - x: evt.touches[0].pageX, - y: evt.touches[0].pageY - }; - this.touchStarted = true; - }, + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) - /** - * Translate touch move to Y-axis rotation. - */ - onTouchMove: function (evt) { - var direction; - var canvas = this.el.sceneEl.canvas; - var deltaY; - var yawObject = this.yawObject; + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } - if (!this.touchStarted || !this.data.touchEnabled) { return; } + // listen to the event + arController.addEventListener('getMarker', onGetMarker) - deltaY = 2 * Math.PI * (evt.touches[0].pageX - this.touchStart.x) / canvas.clientWidth; + } - direction = this.data.reverseTouchDrag ? 1 : -1; - // Limit touch orientaion to to yaw (y axis). - yawObject.rotation.y -= deltaY * 0.5 * direction; - this.touchStart = { - x: evt.touches[0].pageX, - y: evt.touches[0].pageY - }; - }, + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return - /** - * Register touch end to detect release of touch drag. - */ - onTouchEnd: function () { - this.touchStarted = false; - }, + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } - /** - * Save pose. - */ - onEnterVR: function () { - var sceneEl = this.el.sceneEl; - if (!sceneEl.checkHeadsetConnected()) { return; } - this.saveCameraPose(); - this.el.object3D.position.set(0, 0, 0); - this.el.object3D.rotation.set(0, 0, 0); - if (sceneEl.hasWebXR) { - this.el.object3D.matrixAutoUpdate = false; - this.el.object3D.updateMatrix(); - } - }, + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } - /** - * Restore the pose. - */ - onExitVR: function () { - if (!this.el.sceneEl.checkHeadsetConnected()) { return; } - this.restoreCameraPose(); - this.previousHMDPosition.set(0, 0, 0); - this.el.object3D.matrixAutoUpdate = true; - }, +} - /** - * Update Pointer Lock state. - */ - onPointerLockChange: function () { - this.pointerLocked = !!(document.pointerLockElement || document.mozPointerLockElement); - }, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); - /** - * Recover from Pointer Lock error. - */ - onPointerLockError: function () { - this.pointerLocked = false; - }, - // Exits pointer-locked mode. - exitPointerLock: function () { - document.exitPointerLock(); - this.pointerLocked = false; - }, - - /** - * Toggle the feature of showing/hiding the grab cursor. - */ - updateGrabCursor: function (enabled) { - var sceneEl = this.el.sceneEl; +/***/ }), - function enableGrabCursor () { sceneEl.canvas.classList.add('a-grab-cursor'); } - function disableGrabCursor () { sceneEl.canvas.classList.remove('a-grab-cursor'); } +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (!sceneEl.canvas) { - if (enabled) { - sceneEl.addEventListener('render-target-loaded', enableGrabCursor); - } else { - sceneEl.addEventListener('render-target-loaded', disableGrabCursor); - } - return; - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); - if (enabled) { - enableGrabCursor(); - return; - } - disableGrabCursor(); - }, + // TODO context build-dependent - /** - * Save camera pose before entering VR to restore later if exiting. - */ - saveCameraPose: function () { - var el = this.el; +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() - this.savedPose.position.copy(el.object3D.position); - this.savedPose.rotation.copy(el.object3D.rotation); - this.hasSavedPose = true; - }, + this.performance('default') +} - /** - * Reset camera pose to before entering VR. - */ - restoreCameraPose: function () { - var el = this.el; - var savedPose = this.savedPose; +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' +} - if (!this.hasSavedPose) { return; } +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - // Reset camera orientation. - el.object3D.position.copy(savedPose.position); - el.object3D.rotation.copy(savedPose.rotation); - this.hasSavedPose = false; - } -}); -AFRAME.registerComponent('arjs-webcam-texture', { +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } - init: function() { - this.scene = this.el.sceneEl; - this.texCamera = new THREE.OrthographicCamera(-0.5, 0.5, 0.5, -0.5, 0, 10); - this.texScene = new THREE.Scene(); + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; - this.scene.renderer.autoClear = false; - this.video = document.createElement("video"); - this.video.setAttribute("autoplay", true); - this.video.setAttribute("playsinline", true); - this.video.setAttribute("display", "none"); - document.body.appendChild(this.video); - this.geom = new THREE.PlaneBufferGeometry(); //0.5, 0.5); - this.texture = new THREE.VideoTexture(this.video); - this.material = new THREE.MeshBasicMaterial( { map: this.texture } ); - const mesh = new THREE.Mesh(this.geom, this.material); - this.texScene.add(mesh); - }, +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// - play: function() { - if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { - const constraints = { video: { - facingMode: 'environment' } - }; - navigator.mediaDevices.getUserMedia(constraints).then( stream=> { - this.video.srcObject = stream; - this.video.play(); - }) - .catch(e => { - this.el.sceneEl.systems['arjs']._displayErrorPopup(`Webcam error: ${e}`); - }); - } else { - this.el.sceneEl.systems['arjs']._displayErrorPopup('sorry - media devices API not supported'); - } - }, - tick: function() { - this.scene.renderer.clear(); - this.scene.renderer.render(this.texScene, this.texCamera); - this.scene.renderer.clearDepth(); - }, - pause: function() { - this.video.srcObject.getTracks().forEach ( track => { - track.stop(); - }); - }, +Profile.prototype.performance = function (label) { - remove: function() { - this.material.dispose(); - this.texture.dispose(); - this.geom.dispose(); + if (label === 'default') { + label = this._guessPerformanceLabel() } -}); -/* - * UPDATES 28/08/20: - * - * - add gpsMinDistance and gpsTimeInterval properties to control how - * frequently GPS updates are processed. Aim is to prevent 'stuttering' - * effects when close to AR content due to continuous small changes in - * location. - */ -AFRAME.registerComponent('gps-camera', { - _watchPositionId: null, - originCoords: null, - currentCoords: null, - lookControls: null, - heading: null, - schema: { - simulateLatitude: { - type: 'number', - default: 0, - }, - simulateLongitude: { - type: 'number', - default: 0, - }, - simulateAltitude: { - type: 'number', - default: 0, - }, - positionMinAccuracy: { - type: 'int', - default: 100, - }, - alert: { - type: 'boolean', - default: false, - }, - minDistance: { - type: 'int', - default: 0, - }, - maxDistance: { - type: 'int', - default: 0, - }, - gpsMinDistance: { - type: 'number', - default: 5, - }, - gpsTimeInterval: { - type: 'number', - default: 0, - }, - }, - update: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); - localPosition.longitude = this.data.simulateLongitude; - localPosition.latitude = this.data.simulateLatitude; - localPosition.altitude = this.data.simulateAltitude; - this.currentCoords = localPosition; + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 - // re-trigger initialization for new origin - this.originCoords = null; - this._updatePosition(); - } - }, - init: function () { - if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { - return; - } + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 - this.lastPosition = { - latitude: 0, - longitude: 0 - }; + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 - this.loader = document.createElement('DIV'); - this.loader.classList.add('arjs-loader'); - document.body.appendChild(this.loader); + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 - this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); - window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this +} - this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// - // listen to deviceorientation event - var eventName = this._getDeviceOrientationEventName(); - this._onDeviceOrientation = this._onDeviceOrientation.bind(this); - // if Safari - if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { - // iOS 13+ - if (typeof DeviceOrientationEvent.requestPermission === 'function') { - var handler = function () { - console.log('Requesting device orientation permissions...') - DeviceOrientationEvent.requestPermission(); - document.removeEventListener('touchend', handler); - }; +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend - document.addEventListener('touchend', function () { handler() }, false); + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) - this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); - } else { - var timeout = setTimeout(function () { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); - }, 750); - window.addEventListener(eventName, function () { - clearTimeout(timeout); - }); - } - } - - window.addEventListener(eventName, this._onDeviceOrientation, false); + return this +} +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} - }, +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} - play: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition.latitude = this.data.simulateLatitude; - localPosition.longitude = this.data.simulateLongitude; - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - this.currentCoords = localPosition; - this._updatePosition(); - } else { - this._watchPositionId = this._initWatchGPS(function (position) { - var localPosition = { - latitude: position.coords.latitude, - longitude: position.coords.longitude, - altitude: position.coords.altitude, - accuracy: position.coords.accuracy, - altitudeAccuracy: position.coords.altitudeAccuracy, - }; - - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - - this.currentCoords = localPosition; - var distMoved = this._haversineDist( - this.lastPosition, - this.currentCoords - ); +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} - if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { - this._updatePosition(); - this.lastPosition = { - longitude: this.currentCoords.longitude, - latitude: this.currentCoords.latitude - }; - } - }.bind(this)); - } - }, +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} - tick: function () { - if (this.heading === null) { - return; - } - this._updateRotation(); - }, +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} - pause: function() { - if (this._watchPositionId) { - navigator.geolocation.clearWatch(this._watchPositionId); - } - this._watchPositionId = null; - }, +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} - remove: function () { +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} - var eventName = this._getDeviceOrientationEventName(); - window.removeEventListener(eventName, this._onDeviceOrientation, false); +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); - window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - }, - /** - * Get device orientation event name, depends on browser implementation. - * @returns {string} event name - */ - _getDeviceOrientationEventName: function () { - if ('ondeviceorientationabsolute' in window) { - var eventName = 'deviceorientationabsolute' - } else if ('ondeviceorientation' in window) { - var eventName = 'deviceorientation' - } else { - var eventName = '' - console.error('Compass not supported') - } +/***/ }), - return eventName - }, +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - /** - * Get current user position. - * - * @param {function} onSuccess - * @param {function} onError - * @returns {Promise} - */ - _initWatchGPS: function (onSuccess, onError) { - if (!onError) { - onError = function (err) { - console.warn('ERROR(' + err.code + '): ' + err.message) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this - if (err.code === 1) { - // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); - return; - } + this.ready = false + this.domElement = null - if (err.code === 3) { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); - return; - } - }; - } + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, - if ('geolocation' in navigator === false) { - onError({ code: 0, message: 'Geolocation is not supported by your browser' }); - return Promise.resolve(); - } + // Device id of the camera to use (optional) + deviceId: null, - // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition - return navigator.geolocation.watchPosition(onSuccess, onError, { - enableHighAccuracy: true, - maximumAge: this.data.gpsTimeInterval, - timeout: 27000, - }); - }, + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - /** - * Update user position. - * - * @returns {void} - */ - _updatePosition: function () { - // don't update if accuracy is not good enough - if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { - if (this.data.alert && !document.getElementById('alert-popup')) { - var popup = document.createElement('div'); - popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' - popup.setAttribute('id', 'alert-popup'); - document.body.appendChild(popup); + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue } - return; - } - - var alertPopup = document.getElementById('alert-popup'); - if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { - document.body.removeChild(alertPopup); - } - if (!this.originCoords) { - // first camera initialization - this.originCoords = this.currentCoords; - this._setPosition(); + var currentValue = _this.parameters[key] - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue } - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } else { - this._setPosition(); - } - }, - _setPosition: function () { - var position = this.el.getAttribute('position'); - - // compute position.x - var dstCoords = { - longitude: this.currentCoords.longitude, - latitude: this.originCoords.latitude, - }; - position.x = this.computeDistanceMeters(this.originCoords, dstCoords); - position.x *= this.currentCoords.longitude > this.originCoords.longitude ? 1 : -1; + _this.parameters[key] = newValue + } + } - // compute position.z - var dstCoords = { - longitude: this.originCoords.longitude, - latitude: this.currentCoords.latitude, + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); } + } +} - position.z = this.computeDistanceMeters(this.originCoords, dstCoords); - position.z *= this.currentCoords.latitude > this.originCoords.latitude ? -1 : 1; +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this - // update position - this.el.setAttribute('position', position); + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } - window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); - }, - /** - * Returns distance in meters between source and destination inputs. - * - * Calculate distance, bearing and more between Latitude/Longitude points - * Details: https://www.movable-type.co.uk/scripts/latlong.html - * - * @param {Position} src - * @param {Position} dest - * @param {Boolean} isPlace - * - * @returns {number} distance | Number.MAX_SAFE_INTEGER - */ - computeDistanceMeters: function (src, dest, isPlace) { - var distance = this._haversineDist (src, dest); + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); - // if function has been called for a place, and if it's too near and a min distance has been set, - // return max distance possible - to be handled by the caller - if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { - return Number.MAX_SAFE_INTEGER; + return this + function onSourceReady() { + if( !_this.domElement ) { + return; } - // if function has been called for a place, and if it's too far and a max distance has been set, - // return max distance possible - to be handled by the caller - if (isPlace && this.data.maxDistance && this.data.maxDistance > 0 && distance > this.data.maxDistance) { - return Number.MAX_SAFE_INTEGER; - } - - return distance; - }, + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); - _haversineDist: function (src, dest) { - var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); - var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); + _this.ready = true - var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); - var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return angle * 6371000; - }, + onReady && onReady() + } +} - /** - * Compute compass heading. - * - * @param {number} alpha - * @param {number} beta - * @param {number} gamma - * - * @returns {number} compass heading - */ - _computeCompassHeading: function (alpha, beta, gamma) { +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// - // Convert degrees to radians - var alphaRad = alpha * (Math.PI / 180); - var betaRad = beta * (Math.PI / 180); - var gammaRad = gamma * (Math.PI / 180); - // Calculate equation components - var cA = Math.cos(alphaRad); - var sA = Math.sin(alphaRad); - var sB = Math.sin(betaRad); - var cG = Math.cos(gammaRad); - var sG = Math.sin(gammaRad); +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; - // Calculate A, B, C rotation components - var rA = - cA * sG - sA * sB * cG; - var rB = - sA * sG + cA * sB * cG; + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; - // Calculate compass heading - var compassHeading = Math.atan(rA / rB); + domElement.onload = onReady; + return domElement +} - // Convert from half unit circle to whole unit circle - if (rB < 0) { - compassHeading += Math.PI; - } else if (rA < 0) { - compassHeading += 2 * Math.PI; - } +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// - // Convert radians to degrees - compassHeading *= 180 / Math.PI; - return compassHeading; - }, +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; - /** - * Handler for device orientation event. - * - * @param {Event} event - * @returns {void} - */ - _onDeviceOrientation: function (event) { - if (event.webkitCompassHeading !== undefined) { - if (event.webkitCompassAccuracy < 50) { - this.heading = event.webkitCompassHeading; - } else { - console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); - } - } else if (event.alpha !== null) { - if (event.absolute === true || event.absolute === undefined) { - this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); - } else { - console.warn('event.absolute === false'); - } - } else { - console.warn('event.alpha === null'); - } - }, + domElement.style.objectFit = 'initial'; - /** - * Update user rotation data. - * - * @returns {void} - */ - _updateRotation: function () { - var heading = 360 - this.heading; - var cameraRotation = this.el.getAttribute('rotation').y; - var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); - var offset = (heading - (cameraRotation - yawRotation)) % 360; - this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); - }, - - _onGpsEntityPlaceAdded: function() { - // if places are added after camera initialization is finished - if (this.originCoords) { - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } - if (this.loader && this.loader.parentElement) { - document.body.removeChild(this.loader) - } - } -}); -AFRAME.registerComponent('gps-entity-place', { - _cameraGps: null, - schema: { - longitude: { - type: 'number', - default: 0, - }, - latitude: { - type: 'number', - default: 0, - } - }, - remove: function() { - // cleaning listeners when the entity is removed from the DOM - window.removeEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.removeEventListener('gps-camera-update-position', this.updatePositionListener); - }, - init: function() { - this.coordSetListener = () => { - if (!this._cameraGps) { - var camera = document.querySelector('[gps-camera]'); - if (!camera.components['gps-camera']) { - console.error('gps-camera not initialized') - return; - } - this._cameraGps = camera.components['gps-camera']; - } - this._updatePosition(); - }; + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; - this.updatePositionListener = (ev) => { - if (!this.data || !this._cameraGps) { - return; - } + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); - var dstCoords = { - longitude: this.data.longitude, - latitude: this.data.latitude, - }; + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; - // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property - var distanceForMsg = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords); + domElement.onloadeddata = onReady; + return domElement +} - this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); - this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// - var actualDistance = this._cameraGps.computeDistanceMeters(ev.detail.position, dstCoords, true); +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this - if (actualDistance === Number.MAX_SAFE_INTEGER) { - this.hideForMinDistance(this.el, true); - } else { - this.hideForMinDistance(this.el, false); + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); } - }; + }, 1000); + } - window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.addEventListener('gps-camera-update-position', this.updatePositionListener); + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' - this._positionXDebug = 0; + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } - window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); - }, - /** - * Hide entity according to minDistance property - * @returns {void} - */ - hideForMinDistance: function(el, hideEntity) { - if (hideEntity) { - el.setAttribute('visible', 'false'); - } else { - el.setAttribute('visible', 'true'); - } - }, - /** - * Update place position - * @returns {void} - */ - _updatePosition: function() { - var position = { x: 0, y: this.el.getAttribute('position').y || 0, z: 0 } - - // update position.x - var dstCoords = { - longitude: this.data.longitude, - latitude: this._cameraGps.originCoords.latitude, + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } }; - position.x = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); - - this._positionXDebug = position.x; + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } - position.x *= this.data.longitude > this._cameraGps.originCoords.longitude ? 1 : -1; + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; - // update position.z - var dstCoords = { - longitude: this._cameraGps.originCoords.longitude, - latitude: this.data.latitude, - }; + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); - position.z = this._cameraGps.computeDistanceMeters(this._cameraGps.originCoords, dstCoords); + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); - position.z *= this.data.latitude > this._cameraGps.originCoords.latitude ? -1 : 1; + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); - if (position.y !== 0) { - var altitude = this._cameraGps.originCoords.altitude !== undefined ? this._cameraGps.originCoords.altitude : 0; - position.y = position.y - altitude; - } + return domElement +} - // update element's position in 3D world - this.el.setAttribute('position', position); - }, +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// - /** - * Format distances string - * - * @param {String} distance - */ +Source.prototype.dispose = function () { + this.ready = false; - _formatDistance: function(distance) { - distance = distance.toFixed(0); + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } + case 'video': + this._disposeSourceVideo(); + break; - return distance + ' meters'; + case 'webcam': + this._disposeSourceWebcam(); + break; } -}); -/** gps-projected-camera - * - * based on the original gps-camera, modified by nickw 02/04/20 - * - * Rather than keeping track of position by calculating the distance of - * entities or the current location to the original location, this version - * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. - * - * The original position (lat/lon) is projected into Spherical Mercator and - * stored. - * - * Then, when we receive a new position (lat/lon), this new position is - * projected into Spherical Mercator and then its world position calculated - * by comparing against the original position. - * - * The same is also the case for 'entity-places'; when these are added, their - * Spherical Mercator coords are calculated (see gps-projected-entity-place). - * - * Spherical Mercator units are close to, but not exactly, metres, and are - * heavily distorted near the poles. Nonetheless they are a good approximation - * for many areas of the world and appear not to cause unacceptable distortions - * when used as the units for AR apps. - * - * UPDATES 28/08/20: - * - * - add gpsMinDistance and gpsTimeInterval properties to control how - * frequently GPS updates are processed. Aim is to prevent 'stuttering' - * effects when close to AR content due to continuous small changes in - * location. - */ -AFRAME.registerComponent('gps-projected-camera', { - _watchPositionId: null, - originCoords: null, // original coords now in Spherical Mercator - currentCoords: null, - lookControls: null, - heading: null, - schema: { - simulateLatitude: { - type: 'number', - default: 0, - }, - simulateLongitude: { - type: 'number', - default: 0, - }, - simulateAltitude: { - type: 'number', - default: 0, - }, - positionMinAccuracy: { - type: 'int', - default: 100, - }, - alert: { - type: 'boolean', - default: false, - }, - minDistance: { - type: 'int', - default: 0, - }, - gpsMinDistance: { - type: 'number', - default: 0 - }, - gpsTimeInterval: { - type: 'number', - default: 0 - }, - }, - update: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); - localPosition.longitude = this.data.simulateLongitude; - localPosition.latitude = this.data.simulateLatitude; - localPosition.altitude = this.data.simulateAltitude; - this.currentCoords = localPosition; + this.domElement = null; - // re-trigger initialization for new origin - this.originCoords = null; - this._updatePosition(); - } - }, - init: function() { - if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { - return; - } + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} - this.lastPosition = { - latitude: 0, - longitude: 0 - }; +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// - this.loader = document.createElement('DIV'); - this.loader.classList.add('arjs-loader'); - document.body.appendChild(this.loader); +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); - this.onGpsEntityPlaceAdded = this._onGpsEntityPlaceAdded.bind(this); - window.addEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); + if( !domElement ) { + return; + } - this.lookControls = this.el.components['arjs-look-controls'] || this.el.components['look-controls']; + domElement.remove(); +} - // listen to deviceorientation event - var eventName = this._getDeviceOrientationEventName(); - this._onDeviceOrientation = this._onDeviceOrientation.bind(this); +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// - // if Safari - if (!!navigator.userAgent.match(/Version\/[\d.]+.*Safari/)) { - // iOS 13+ - if (typeof DeviceOrientationEvent.requestPermission === 'function') { - var handler = function() { - console.log('Requesting device orientation permissions...') - DeviceOrientationEvent.requestPermission(); - document.removeEventListener('touchend', handler); - }; +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } - document.addEventListener('touchend', function() { handler() }, false); + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); - this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); + domElement.remove(); +} - } else { - var timeout = setTimeout(function() { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); - }, 750); - window.addEventListener(eventName, function() { - clearTimeout(timeout); - }); - } - } +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// - window.addEventListener(eventName, this._onDeviceOrientation, false); - }, +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); - play: function() { - if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition.latitude = this.data.simulateLatitude; - localPosition.longitude = this.data.simulateLongitude; - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - this.currentCoords = localPosition; - this._updatePosition(); - } else { - this._watchPositionId = this._initWatchGPS(function (position) { - var localPosition = { - latitude: position.coords.latitude, - longitude: position.coords.longitude, - altitude: position.coords.altitude, - accuracy: position.coords.accuracy, - altitudeAccuracy: position.coords.altitudeAccuracy, - }; - - if (this.data.simulateAltitude !== 0) { - localPosition.altitude = this.data.simulateAltitude; - } - - this.currentCoords = localPosition; - var distMoved = this._haversineDist( - this.lastPosition, - this.currentCoords - ); + if( !domElement ) { + return; + } - if(distMoved >= this.data.gpsMinDistance || !this.originCoords) { - this._updatePosition(); - this.lastPosition = { - longitude: this.currentCoords.longitude, - latitude: this.currentCoords.latitude - }; - } - }.bind(this)); - } - }, + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } - tick: function() { - if (this.heading === null) { - return; - } - this._updateRotation(); - }, + domElement.remove(); +} - pause: function() { - if (this._watchPositionId) { - navigator.geolocation.clearWatch(this._watchPositionId); - } - this._watchPositionId = null; - }, +////////////////////////////////////////////////////////////////////////////// +// Handle Mobile Torch +////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false - remove: function() { - var eventName = this._getDeviceOrientationEventName(); - window.removeEventListener(eventName, this._onDeviceOrientation, false); - window.removeEventListener('gps-entity-place-added', this.onGpsEntityPlaceAdded); - }, + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } - /** - * Get device orientation event name, depends on browser implementation. - * @returns {string} event name - */ - _getDeviceOrientationEventName: function() { - if ('ondeviceorientationabsolute' in window) { - var eventName = 'deviceorientationabsolute' - } else if ('ondeviceorientation' in window) { - var eventName = 'deviceorientation' - } else { - var eventName = '' - console.error('Compass not supported') - } + var videoTrack = stream.getVideoTracks()[0]; - return eventName - }, + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false - /** - * Get current user position. - * - * @param {function} onSuccess - * @param {function} onError - * @returns {Promise} - */ - _initWatchGPS: function(onSuccess, onError) { - if (!onError) { - onError = function(err) { - console.warn('ERROR(' + err.code + '): ' + err.message) + var capabilities = videoTrack.getCapabilities() - if (err.code === 1) { - // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); - return; - } + return capabilities.torch ? true : false +} - if (err.code === 3) { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Cannot retrieve GPS position. Signal is absent.'); - return; - } - }; - } +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) - if ('geolocation' in navigator === false) { - onError({ code: 0, message: 'Geolocation is not supported by your browser' }); - return Promise.resolve(); + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); } + return + } +}); - // https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/watchPosition - return navigator.geolocation.watchPosition(onSuccess, onError, { - enableHighAccuracy: true, - maximumAge: this.data.gpsTimeInterval, - timeout: 27000, - }); - }, + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } - /** - * Update user position. - * - * @returns {void} - */ - _updatePosition: function() { - // don't update if accuracy is not good enough - if (this.currentCoords.accuracy > this.data.positionMinAccuracy) { - if (this.data.alert && !document.getElementById('alert-popup')) { - var popup = document.createElement('div'); - popup.innerHTML = 'GPS signal is very poor. Try move outdoor or to an area with a better signal.' - popup.setAttribute('id', 'alert-popup'); - document.body.appendChild(popup); - } - return; - } + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() - var alertPopup = document.getElementById('alert-popup'); - if (this.currentCoords.accuracy <= this.data.positionMinAccuracy && alertPopup) { - document.body.removeChild(alertPopup); + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); } + return + } - if (!this.originCoords) { - // first camera initialization - // Now store originCoords as PROJECTED original lat/lon, so that - // we can set the world origin to the original position in "metres" - this.originCoords = this._project(this.currentCoords.latitude, this.currentCoords.longitude); - this._setPosition(); + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); - } - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); - } else { - this._setPosition(); - } - }, - /** - * Set the current position (in world coords, based on Spherical Mercator) - * - * @returns {void} - */ - _setPosition: function() { - var position = this.el.getAttribute('position'); +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} - var worldCoords = this.latLonToWorld(this.currentCoords.latitude, this.currentCoords.longitude); +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// - position.x = worldCoords[0]; - position.z = worldCoords[1]; +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight - // update position - this.el.setAttribute('position', position); + // sanity check + console.assert(arguments.length === 0) - // add the sphmerc position to the event (for testing only) - window.dispatchEvent(new CustomEvent('gps-camera-update-position', { detail: { position: this.currentCoords, origin: this.originCoords } })); - }, - /** - * Returns distance in meters between camera and destination input. - * - * Assume we are using a metre-based projection. Not all 'metre-based' - * projections give exact metres, e.g. Spherical Mercator, but it appears - * close enough to be used for AR at least in middle temperate - * latitudes (40 - 55). It is heavily distorted near the poles, however. - * - * @param {Position} dest - * @param {Boolean} isPlace - * - * @returns {number} distance | Number.MAX_SAFE_INTEGER - */ - computeDistanceMeters: function(dest, isPlace) { - var src = this.el.getAttribute("position"); - var dx = dest.x - src.x; - var dz = dest.z - src.z; - var distance = Math.sqrt(dx * dx + dz * dz); + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } - // if function has been called for a place, and if it's too near and a min distance has been set, - // return max distance possible - to be handled by the method caller - if (isPlace && this.data.minDistance && this.data.minDistance > 0 && distance < this.data.minDistance) { - return Number.MAX_SAFE_INTEGER; - } + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight - return distance; - }, - /** - * Converts latitude/longitude to OpenGL world coordinates. - * - * First projects lat/lon to absolute Spherical Mercator and then - * calculates the world coordinates by comparing the Spherical Mercator - * coordinates with the Spherical Mercator coordinates of the origin point. - * - * @param {Number} lat - * @param {Number} lon - * - * @returns {array} world coordinates - */ - latLonToWorld: function(lat, lon) { - var projected = this._project(lat, lon); - // Sign of z needs to be reversed compared to projected coordinates - return [projected[0] - this.originCoords[0], -(projected[1] - this.originCoords[1])]; - }, - /** - * Converts latitude/longitude to Spherical Mercator coordinates. - * Algorithm is used in several OpenStreetMap-related applications. - * - * @param {Number} lat - * @param {Number} lon - * - * @returns {array} Spherical Mercator coordinates - */ - _project: function(lat, lon) { - const HALF_EARTH = 20037508.34; + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' - // Convert the supplied coords to Spherical Mercator (EPSG:3857), also - // known as 'Google Projection', using the algorithm used extensively - // in various OpenStreetMap software. - var y = Math.log(Math.tan((90 + lat) * Math.PI / 360.0)) / (Math.PI / 180.0); - return [(lon / 180.0) * HALF_EARTH, y * HALF_EARTH / 180.0]; - }, - /** - * Converts Spherical Mercator coordinates to latitude/longitude. - * Algorithm is used in several OpenStreetMap-related applications. - * - * @param {Number} spherical mercator easting - * @param {Number} spherical mercator northing - * - * @returns {object} lon/lat - */ - _unproject: function(e, n) { - const HALF_EARTH = 20037508.34; - var yp = (n / HALF_EARTH) * 180.0; - return { - longitude: (e / HALF_EARTH) * 180.0, - latitude: 180.0 / Math.PI * (2 * Math.atan(Math.exp(yp * Math.PI / 180.0)) - Math.PI / 2) - }; - }, - /** - * Compute compass heading. - * - * @param {number} alpha - * @param {number} beta - * @param {number} gamma - * - * @returns {number} compass heading - */ - _computeCompassHeading: function(alpha, beta, gamma) { + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' - // Convert degrees to radians - var alphaRad = alpha * (Math.PI / 180); - var betaRad = beta * (Math.PI / 180); - var gammaRad = gamma * (Math.PI / 180); + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ - // Calculate equation components - var cA = Math.cos(alphaRad); - var sA = Math.sin(alphaRad); - var sB = Math.sin(betaRad); - var cG = Math.cos(gammaRad); - var sG = Math.sin(gammaRad); +Source.prototype.copyElementSizeTo = function (otherElement) { - // Calculate A, B, C rotation components - var rA = - cA * sG - sA * sB * cG; - var rB = - sA * sG + cA * sB * cG; + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } - // Calculate compass heading - var compassHeading = Math.atan(rA / rB); +} - // Convert from half unit circle to whole unit circle - if (rB < 0) { - compassHeading += Math.PI; - } else if (rA < 0) { - compassHeading += 2 * Math.PI; - } +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - // Convert radians to degrees - compassHeading *= 180 / Math.PI; +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} - return compassHeading; - }, +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - /** - * Handler for device orientation event. - * - * @param {Event} event - * @returns {void} - */ - _onDeviceOrientation: function(event) { - if (event.webkitCompassHeading !== undefined) { - if (event.webkitCompassAccuracy < 50) { - this.heading = event.webkitCompassHeading; - } else { - console.warn('webkitCompassAccuracy is event.webkitCompassAccuracy'); - } - } else if (event.alpha !== null) { - if (event.absolute === true || event.absolute === undefined) { - this.heading = this._computeCompassHeading(event.alpha, event.beta, event.gamma); - } else { - console.warn('event.absolute === false'); - } - } else { - console.warn('event.alpha === null'); - } - }, +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } - /** - * Update user rotation data. - * - * @returns {void} - */ - _updateRotation: function() { - var heading = 360 - this.heading; - var cameraRotation = this.el.getAttribute('rotation').y; - var yawRotation = THREE.Math.radToDeg(this.lookControls.yawObject.rotation.y); - var offset = (heading - (cameraRotation - yawRotation)) % 360; - this.lookControls.yawObject.rotation.y = THREE.Math.degToRad(offset); - }, + var trackingBackend = arToolkitContext.parameters.trackingBackend - /** - * Calculate haversine distance between two lat/lon pairs. - * - * Taken from gps-camera - */ - _haversineDist: function(src, dest) { - var dlongitude = THREE.Math.degToRad(dest.longitude - src.longitude); - var dlatitude = THREE.Math.degToRad(dest.latitude - src.latitude); - var a = (Math.sin(dlatitude / 2) * Math.sin(dlatitude / 2)) + Math.cos(THREE.Math.degToRad(src.latitude)) * Math.cos(THREE.Math.degToRad(dest.latitude)) * (Math.sin(dlongitude / 2) * Math.sin(dlongitude / 2)); - var angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); - return angle * 6371000; - }, + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { - _onGpsEntityPlaceAdded: function() { - // if places are added after camera initialization is finished - if (this.originCoords) { - window.dispatchEvent(new CustomEvent('gps-camera-origin-coord-set')); } - if (this.loader && this.loader.parentElement) { - document.body.removeChild(this.loader) + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) } - } -}); + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) -/** gps-projected-entity-place - * - * based on the original gps-entity-place, modified by nickw 02/04/20 - * - * Rather than keeping track of position by calculating the distance of - * entities or the current location to the original location, this version - * makes use of the "Google" Spherical Mercactor projection, aka epsg:3857. - * - * The original location on startup (lat/lon) is projected into Spherical - * Mercator and stored. - * - * When 'entity-places' are added, their Spherical Mercator coords are - * calculated and converted into world coordinates, relative to the original - * position, using the Spherical Mercator projection calculation in - * gps-projected-camera. - * - * Spherical Mercator units are close to, but not exactly, metres, and are - * heavily distorted near the poles. Nonetheless they are a good approximation - * for many areas of the world and appear not to cause unacceptable distortions - * when used as the units for AR apps. - */ -AFRAME.registerComponent('gps-projected-entity-place', { - _cameraGps: null, - schema: { - longitude: { - type: 'number', - default: 0, - }, - latitude: { - type: 'number', - default: 0, + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); } - }, - remove: function() { - // cleaning listeners when the entity is removed from the DOM - window.removeEventListener('gps-camera-update-position', this.updatePositionListener); - }, - init: function() { - // Used now to get the GPS camera when it's been setup - this.coordSetListener = () => { - if (!this._cameraGps) { - var camera = document.querySelector('[gps-projected-camera]'); - if (!camera.components['gps-projected-camera']) { - console.error('gps-projected-camera not initialized') - return; - } - this._cameraGps = camera.components['gps-projected-camera']; - this._updatePosition(); - } - }; - + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) +} +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); - // update position needs to worry about distance but nothing else? - this.updatePositionListener = (ev) => { - if (!this.data || !this._cameraGps) { - return; - } +/***/ }), - var dstCoords = this.el.getAttribute('position'); +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // it's actually a 'distance place', but we don't call it with last param, because we want to retrieve distance even if it's < minDistance property - // _computeDistanceMeters is now going to use the projected - var distanceForMsg = this._cameraGps.computeDistanceMeters(dstCoords); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - this.el.setAttribute('distance', distanceForMsg); - this.el.setAttribute('distanceMsg', this._formatDistance(distanceForMsg)); - this.el.dispatchEvent(new CustomEvent('gps-entity-place-update-position', { detail: { distance: distanceForMsg } })); +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ - var actualDistance = this._cameraGps.computeDistanceMeters(dstCoords, true); + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false - if (actualDistance === Number.MAX_SAFE_INTEGER) { - this.hideForMinDistance(this.el, true); - } else { - this.hideForMinDistance(this.el, false); - } - }; + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) +} - // Retain as this event is fired when the GPS camera is set up - window.addEventListener('gps-camera-origin-coord-set', this.coordSetListener); - window.addEventListener('gps-camera-update-position', this.updatePositionListener); +ArBaseControls.id = 0 - this._positionXDebug = 0; +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); - window.dispatchEvent(new CustomEvent('gps-entity-place-added', { detail: { component: this.el } })); - }, - /** - * Hide entity according to minDistance property - * @returns {void} - */ - hideForMinDistance: function(el, hideEntity) { - if (hideEntity) { - el.setAttribute('visible', 'false'); - } else { - el.setAttribute('visible', 'true'); - } - }, - /** - * Update place position - * @returns {void} - */ +////////////////////////////////////////////////////////////////////////////// +// Functions +////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} - // set position to world coords using the lat/lon - _updatePosition: function() { - var worldPos = this._cameraGps.latLonToWorld(this.data.latitude, this.data.longitude); - var position = this.el.getAttribute('position'); +/** + * error catching function for name() + */ +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} - // update element's position in 3D world - //this.el.setAttribute('position', position); - this.el.setAttribute('position', { - x: worldPos[0], - y: position.y, - z: worldPos[1] - }); - }, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); - /** - * Format distances string - * - * @param {String} distance - */ - _formatDistance: function(distance) { - distance = distance.toFixed(0); +/***/ }), - if (distance >= 1000) { - return (distance / 1000) + ' kilometers'; - } +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return distance + ' meters'; - } -}); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); -AFRAME.registerSystem('arjs', { - schema: { - trackingMethod: { - type: 'string', - default: 'best', - }, - debugUIEnabled: { - type: 'boolean', - default: false, - }, - areaLearningButton: { - type: 'boolean', - default: true, - }, - performanceProfile: { - type: 'string', - default: 'default', - }, - labelingMode: { - type: 'string', - default: '', - }, - // new video texture mode (location based only) - videoTexture: { - type: 'boolean', - default: false - }, - // old parameters - debug: { - type: 'boolean', - default: false - }, - detectionMode: { - type: 'string', - default: '', - }, - matrixCodeType: { - type: 'string', - default: '', - }, - patternRatio: { - type: 'number', - default: -1, - }, - cameraParametersUrl: { - type: 'string', - default: '', - }, - maxDetectionRate: { - type: 'number', - default: -1 - }, - sourceType: { - type: 'string', - default: '', - }, - sourceUrl: { - type: 'string', - default: '', - }, - sourceWidth: { - type: 'number', - default: -1 - }, - sourceHeight: { - type: 'number', - default: -1 - }, - deviceId: { - type: 'string', - default: '' - }, - displayWidth: { - type: 'number', - default: -1 - }, - displayHeight: { - type: 'number', - default: -1 - }, - canvasWidth: { - type: 'number', - default: -1 - }, - canvasHeight: { - type: 'number', - default: -1 - }, - errorPopup: { - type: 'string', - default: '' - } - }, - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group + + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id + // debugger + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; + + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); + + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true + + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 + + this.object3d.add(mesh) + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); + + +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false + + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, + } + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } +} + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; + +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// + +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 + + + ////////////////////////////////////////////////////////////////////////////// + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay + ////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() + } + // console.log('visibleFor', visibleFor) + } + + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } + + ////////////////////////////////////////////////////////////////////////////// + // apply lerp on positon/quaternion/scale + ////////////////////////////////////////////////////////////////////////////// + + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } + + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} + + // update the matrix + this.object3d.updateMatrix() + + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return + + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); - init: function () { - var _this = this - // If videoTexture is set, skip the remainder of the setup entirely and just use the arjs-webcam-texture component - if(this.data.videoTexture === true && this.data.sourceType === 'webcam') { - var webcamEntity = document.createElement("a-entity"); - webcamEntity.setAttribute("arjs-webcam-texture", true); - this.el.sceneEl.appendChild(webcamEntity); - return; - } - ////////////////////////////////////////////////////////////////////////////// - // setup arProfile - ////////////////////////////////////////////////////////////////////////////// +/***/ }), - var arProfile = this._arProfile = new ARjs.Profile() - .trackingMethod(this.data.trackingMethod) - .performance(this.data.performanceProfile) - .defaultMarker() +/***/ "./three.js/src/threex/threex-hittesting-plane.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/threex-hittesting-plane.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - ////////////////////////////////////////////////////////////////////////////// - // honor this.data and setup arProfile with it - ////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - // honor this.data and push what has been modified into arProfile - if (this.data.debug !== false) arProfile.contextParameters.debug = this.data.debug - if (this.data.detectionMode !== '') arProfile.contextParameters.detectionMode = this.data.detectionMode - if (this.data.matrixCodeType !== '') arProfile.contextParameters.matrixCodeType = this.data.matrixCodeType - if (this.data.patternRatio !== -1) arProfile.contextParameters.patternRatio = this.data.patternRatio - if (this.data.labelingMode !== '') arProfile.contextParameters.labelingMode = this.data.labelingMode - if (this.data.cameraParametersUrl !== '') arProfile.contextParameters.cameraParametersUrl = this.data.cameraParametersUrl - if (this.data.maxDetectionRate !== -1) arProfile.contextParameters.maxDetectionRate = this.data.maxDetectionRate - if (this.data.canvasWidth !== -1) arProfile.contextParameters.canvasWidth = this.data.canvasWidth - if (this.data.canvasHeight !== -1) arProfile.contextParameters.canvasHeight = this.data.canvasHeight - if (this.data.sourceType !== '') arProfile.sourceParameters.sourceType = this.data.sourceType - if (this.data.sourceUrl !== '') arProfile.sourceParameters.sourceUrl = this.data.sourceUrl - if (this.data.sourceWidth !== -1) arProfile.sourceParameters.sourceWidth = this.data.sourceWidth - if (this.data.sourceHeight !== -1) arProfile.sourceParameters.sourceHeight = this.data.sourceHeight - if (this.data.deviceId !== '') arProfile.sourceParameters.deviceId = this.data.deviceId - if (this.data.displayWidth !== -1) arProfile.sourceParameters.displayWidth = this.data.displayWidth - if (this.data.displayHeight !== -1) arProfile.sourceParameters.displayHeight = this.data.displayHeight +// TODO this is useless - prefere arjs-HitTesting.js - arProfile.checkIfValid() +/** + * - maybe support .onClickFcts in each object3d + * - seems an easy light layer for clickable object + * - up to + */ +const HitTestingPlane = function(sourceElement){ + this._sourceElement = sourceElement - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + // create _pickingScene + this._pickingScene = new three__WEBPACK_IMPORTED_MODULE_0__.Scene + + // create _pickingPlane + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) + // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + // opacity: 0.5, + // transparent: true, + wireframe: true + }) + // material.visible = false + this._pickingPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + this._pickingScene.add(this._pickingPlane) - this._arSession = null + // Create pickingCamera + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + // TODO hardcoded fov - couch + this._pickingCamera = new three__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); +} - _this.isReady = false - _this.needsOverride = true +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// - // wait until the renderer is isReady - this.el.sceneEl.addEventListener('renderstart', function () { - var scene = _this.el.sceneEl.object3D - var camera = _this.el.sceneEl.camera - var renderer = _this.el.sceneEl.renderer +HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ - ////////////////////////////////////////////////////////////////////////////// - // build ARjs.Session - ////////////////////////////////////////////////////////////////////////////// - var arSession = _this._arSession = new ARjs.Session({ - scene: scene, - renderer: renderer, - camera: camera, - sourceParameters: arProfile.sourceParameters, - contextParameters: arProfile.contextParameters - }) + this.onResize() + - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + if( changeMatrixMode === 'modelViewMatrix' ){ + // set pickingPlane position + var pickingPlane = this._pickingPlane + pickingRoot.parent.updateMatrixWorld() + pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) + // set position/quaternion/scale from pickingPlane.matrix + pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) + }else if( changeMatrixMode === 'cameraTransformMatrix' ){ + // set pickingPlane position + var pickingCamera = this._pickingCamera + camera.updateMatrixWorld() + pickingCamera.matrix.copy(camera.matrixWorld) + // set position/quaternion/scale from pickingCamera.matrix + pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) + }else console.assert(false) - _this.isReady = true - ////////////////////////////////////////////////////////////////////////////// - // awful resize trick - ////////////////////////////////////////////////////////////////////////////// - // KLUDGE - window.addEventListener('resize', onResize) - function onResize() { - var arSource = _this._arSession.arSource +// var position = this._pickingPlane.position +// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) +// var position = this._pickingCamera.position +// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) + +} - // ugly kludge to get resize on aframe... not even sure it works - if (arProfile.contextParameters.trackingBackend !== 'tango') { - arSource.copyElementSizeTo(document.body) - } +////////////////////////////////////////////////////////////////////////////// +// resize camera +////////////////////////////////////////////////////////////////////////////// - // fixing a-frame css - var buttonElement = document.querySelector('.a-enter-vr') - if (buttonElement) { - buttonElement.style.position = 'fixed' - } - } +HitTestingPlane.prototype.onResize = function(){ + var sourceElement = this._sourceElement + var pickingCamera = this._pickingCamera + +// FIXME why using css here ??? not even computed style +// should get the size of the elment directly independantly + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + pickingCamera.aspect = fullWidth / fullHeight - ////////////////////////////////////////////////////////////////////////////// - // honor .debugUIEnabled - ////////////////////////////////////////////////////////////////////////////// - if (_this.data.debugUIEnabled) initDebugUI() - function initDebugUI() { - // get or create containerElement - var containerElement = document.querySelector('#arjsDebugUIContainer') - if (containerElement === null) { - containerElement = document.createElement('div') - containerElement.id = 'arjsDebugUIContainer' - containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1;color: grey;') - document.body.appendChild(containerElement) - } + pickingCamera.updateProjectionMatrix() +} - // create sessionDebugUI - var sessionDebugUI = new ARjs.SessionDebugUI(arSession) - containerElement.appendChild(sessionDebugUI.domElement) - } - }) +////////////////////////////////////////////////////////////////////////////// +// Perform test +////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.test = function(mouseX, mouseY){ + // convert mouseX, mouseY to [-1, +1] + mouseX = (mouseX-0.5)*2 + mouseY =-(mouseY-0.5)*2 + + this._pickingScene.updateMatrixWorld(true) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // TODO this is crappy - code an exponential backoff - max 1 seconds - // KLUDGE: kludge to write a 'resize' event - // var startedAt = Date.now() - // var timerId = setInterval(function () { - // if (Date.now() - startedAt > 10000 * 1000) { - // clearInterval(timerId) - // return - // } - // // onResize() - // window.dispatchEvent(new Event('resize')); - // }, 1000 / 30) + // compute intersections between mouseVector3 and pickingPlane + var raycaster = new three__WEBPACK_IMPORTED_MODULE_0__.Raycaster(); + var mouseVector3 = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(mouseX, mouseY, 1); + raycaster.setFromCamera( mouseVector3, this._pickingCamera ) + var intersects = raycaster.intersectObjects( [this._pickingPlane] ) - function setBackoff(func, millisDuration = Infinity, limit = 1000) { - if(func == null || !(Object.prototype.toString.call(func) == '[object Function]')) { - return; - } - let backoff = 33.3 - let start = Date.now() - let repeat = function() { - return (millisDuration == Infinity || (Date.now() - start) < millisDuration) - } - let next = function() { - backoff = (backoff * 2) < limit ? (backoff * 2) : limit - setTimeout(function() { - func() - if(repeat()) { - next() - } - }, backoff) - }; - next() - } + if( intersects.length === 0 ) return null - setBackoff(() => { - window.dispatchEvent(new Event('resize')) - }) - }, + // set new demoRoot position + var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) + // TODO here do a look at the camera ? + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1,1,1)//.multiplyScalar(1) + + return { + position : position, + quaternion : quaternion, + scale : scale + } +} - tick: function () { - // skip it if not yet isInitialised - if (this.isReady === false || this.data.videoTexture === true) return +////////////////////////////////////////////////////////////////////////////// +// render the pickingPlane for debug +////////////////////////////////////////////////////////////////////////////// - // update arSession - this._arSession.update() +HitTestingPlane.prototype.renderDebug = function(renderer){ + // render sceneOrtho + renderer.render( this._pickingScene, this._pickingCamera ) +} - // copy projection matrix to camera - this._arSession.onResize() - }, +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTestingPlane); + + +/***/ }), + +/***/ "aframe": +/*!******************************************************************************************!*\ + !*** external {"commonjs":"aframe","commonjs2":"aframe","amd":"aframe","root":"AFRAME"} ***! + \******************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_aframe__; + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!*****************************!*\ + !*** ./aframe/src/index.js ***! + \*****************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _component_anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./component-anchor */ "./aframe/src/component-anchor.js"); +/* harmony import */ var _component_hit_testing__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./component-hit-testing */ "./aframe/src/component-hit-testing.js"); +/* harmony import */ var _location_based_arjs_look_controls__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./location-based/arjs-look-controls */ "./aframe/src/location-based/arjs-look-controls.js"); +/* harmony import */ var _location_based_arjs_webcam_texture__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./location-based/arjs-webcam-texture */ "./aframe/src/location-based/arjs-webcam-texture.js"); +/* harmony import */ var _location_based_ArjsDeviceOrientationControls__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./location-based/ArjsDeviceOrientationControls */ "./aframe/src/location-based/ArjsDeviceOrientationControls.js"); +/* harmony import */ var _location_based_gps_camera__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./location-based/gps-camera */ "./aframe/src/location-based/gps-camera.js"); +/* harmony import */ var _location_based_gps_entity_place__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./location-based/gps-entity-place */ "./aframe/src/location-based/gps-entity-place.js"); +/* harmony import */ var _location_based_gps_projected_camera__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./location-based/gps-projected-camera */ "./aframe/src/location-based/gps-projected-camera.js"); +/* harmony import */ var _location_based_gps_projected_entity_place__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./location-based/gps-projected-entity-place */ "./aframe/src/location-based/gps-projected-entity-place.js"); +/* harmony import */ var _system_arjs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./system-arjs */ "./aframe/src/system-arjs.js"); +// Components + + + +// Location-based components + + + + + + + + +// System - _displayErrorPopup: function(msg) { - if (this.data.errorPopup !== '') { - let errorPopup = document.getElementById(this.data.errorPopup); - if (!errorPopup) { - errorPopup = document.createElement('div'); - errorPopup.setAttribute('id', this.data.errorPopup); - document.body.appendChild(errorPopup); - } - errorPopup.innerHTML = msg; - } else { - alert(msg); - } - } -}) + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9jb21wb25lbnQtYW5jaG9yLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2NvbXBvbmVudC1oaXQtdGVzdGluZy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9BcmpzRGV2aWNlT3JpZW50YXRpb25Db250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9hcmpzLWxvb2stY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvYXJqcy13ZWJjYW0tdGV4dHVyZS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9sb2NhdGlvbi1iYXNlZC9ncHMtY2FtZXJhLmpzIiwid2VicGFjazovL0FSanMvLi9hZnJhbWUvc3JjL2xvY2F0aW9uLWJhc2VkL2dwcy1lbnRpdHktcGxhY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1jYW1lcmEuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvbG9jYXRpb24tYmFzZWQvZ3BzLXByb2plY3RlZC1lbnRpdHktcGxhY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL2FmcmFtZS9zcmMvc3lzdGVtLWFyanMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1hbmNob3IuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtZGVidWd1aS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1oaXR0ZXN0aW5nLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLXNlc3Npb24uanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtdXRpbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1jb250ZXh0LmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1wcm9maWxlLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtc291cmNlLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcmJhc2Vjb250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC90aHJlZXgtYXJtYXJrZXJoZWxwZXIuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFyc21vb3RoZWRjb250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC90aHJlZXgtaGl0dGVzdGluZy1wbGFuZS5qcyIsIndlYnBhY2s6Ly9BUmpzL2V4dGVybmFsIHtcImNvbW1vbmpzXCI6XCJhZnJhbWVcIixcImNvbW1vbmpzMlwiOlwiYWZyYW1lXCIsXCJhbWRcIjpcImFmcmFtZVwiLFwicm9vdFwiOlwiQUZSQU1FXCJ9Iiwid2VicGFjazovL0FSanMvZXh0ZXJuYWwge1wiY29tbW9uanNcIjpcInRocmVlXCIsXCJjb21tb25qczJcIjpcInRocmVlXCIsXCJhbWRcIjpcInRocmVlXCIsXCJyb290XCI6XCJUSFJFRVwifSIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9BUmpzLy4vYWZyYW1lL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsTzs7Ozs7Ozs7Ozs7Ozs7OztBQ1ZpQztBQUMyQjtBQUNZO0FBQ0Y7O0FBRXRFO0FBQ0E7QUFDQTtBQUNBLHFEQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7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RCwwREFBd0I7QUFDMUUsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsNEVBQXlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxPQUFPLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyS3ZCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTOztBQUVUOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrRUFBa0UsVUFBVTs7QUFFNUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxREFBcUQsZUFBZTtBQUNwRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0RBQXdELGlCQUFpQjtBQUN6RTs7QUFFQTtBQUNBLDJFQUEyRSxVQUFVLEU7O0FBRXJGO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxRUFBcUUsVUFBVSxFO0FBQy9FLEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQztBQUNBLHNCOztBQUVBLHdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzRTtBQUNBLEs7O0FBRUEsd0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOztBQUVUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtB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QTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EscUJBQXFCLDRDQUFlO0FBQ3BDLHdCQUF3QiwwQ0FBYTtBQUNyQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiw2Q0FBZ0I7QUFDdEMsaUJBQWlCLDBDQUFhOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlFQUFlLGVBQWUsRUFBQzs7Ozs7Ozs7Ozs7O0FDNUgvQixvRDs7Ozs7Ozs7Ozs7QUNBQSxtRDs7Ozs7O1VDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGdDQUFnQyxZQUFZO1dBQzVDO1dBQ0EsRTs7Ozs7V0NQQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHdDQUF3Qyx5Q0FBeUM7V0FDakY7V0FDQTtXQUNBLEU7Ozs7O1dDUEEsd0Y7Ozs7O1dDQUE7V0FDQTtXQUNBO1dBQ0Esc0RBQXNELGtCQUFrQjtXQUN4RTtXQUNBLCtDQUErQyxjQUFjO1dBQzdELEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNOQTtBQUM0QjtBQUNLOztBQUVqQztBQUM0QztBQUNDO0FBQ1U7QUFDbkI7QUFDTTtBQUNJO0FBQ007O0FBRXBEO0FBQ3VCIiwiZmlsZSI6ImFmcmFtZS1hci5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZShcImFmcmFtZVwiKSwgcmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcImFmcmFtZVwiLCBcInRocmVlXCJdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFSanNcIl0gPSBmYWN0b3J5KHJlcXVpcmUoXCJhZnJhbWVcIiksIHJlcXVpcmUoXCJ0aHJlZVwiKSk7XG5cdGVsc2Vcblx0XHRyb290W1wiQVJqc1wiXSA9IGZhY3Rvcnkocm9vdFtcIkFGUkFNRVwiXSwgcm9vdFtcIlRIUkVFXCJdKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfYWZyYW1lX18sIF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfdGhyZWVfXykge1xucmV0dXJuICIsImltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnO1xuaW1wb3J0IEFuY2hvciBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWFuY2hvcic7XG5pbXBvcnQgeyBBbmNob3JEZWJ1Z1VJIH0gZnJvbSAnLi4vLi4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1kZWJ1Z3VpJztcbmltcG9ydCBBclRvb2xraXRDb250ZXh0IGZyb20gJy4uLy4uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1jb250ZXh0JztcblxuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhcmpzLWFuY2hvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2FyanMtYW5jaG9yJywge1xuICAgIGRlcGVuZGVuY2llczogWydhcmpzJywgJ2FydG9vbGtpdCddLFxuICAgIHNjaGVtYToge1xuICAgICAgICBwcmVzZXQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBtYXJrZXJoZWxwZXJzOiB7XHQvLyBJSUYgcHJlc2V0ID09PSAnYXJlYSdcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICB9LFxuXG4gICAgICAgIC8vIGNvbnRyb2xzIHBhcmFtZXRlcnNcbiAgICAgICAgc2l6ZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAxXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBwYXR0ZXJuVXJsOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYmFyY29kZVZhbHVlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICB9LFxuICAgICAgICBjaGFuZ2VNYXRyaXhNb2RlOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgICAgICB9LFxuICAgICAgICBtaW5Db25maWRlbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAuNixcbiAgICAgICAgfSxcbiAgICAgICAgc21vb3RoOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgc21vb3RoQ291bnQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogNSxcbiAgICAgICAgfSxcbiAgICAgICAgc21vb3RoVG9sZXJhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAuMDEsXG4gICAgICAgIH0sXG4gICAgICAgIHNtb290aFRocmVzaG9sZDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAyLFxuICAgICAgICB9LFxuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAgICAgLy8gZ2V0IGFyanNTeXN0ZW1cbiAgICAgICAgdmFyIGFyanNTeXN0ZW0gPSB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcmpzIHx8IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFydG9vbGtpdFxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHRDb2RlIFNlcGFyYXRvclxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICBfdGhpcy5pc1JlYWR5ID0gZmFsc2VcbiAgICAgICAgX3RoaXMuX2FyQW5jaG9yID0gbnVsbFxuXG4gICAgICAgIC8vIGhvbm9yIG9iamVjdCB2aXNpYmlsaXR5XG4gICAgICAgIGlmIChfdGhpcy5kYXRhLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnKSB7XG4gICAgICAgICAgICBfdGhpcy5lbC5vYmplY3QzRC52aXNpYmxlID0gZmFsc2VcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5kYXRhLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnKSB7XG4gICAgICAgICAgICBfdGhpcy5lbC5zY2VuZUVsLm9iamVjdDNELnZpc2libGUgPSBmYWxzZVxuICAgICAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cbiAgICAgICAgLy8gdHJpY2sgdG8gd2FpdCB1bnRpbCBhcmpzU3lzdGVtIGlzIGlzUmVhZHlcbiAgICAgICAgdmFyIHN0YXJ0ZWRBdCA9IERhdGUubm93KClcbiAgICAgICAgdmFyIHRpbWVySWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAvLyB3YWl0IHVudGlsIHRoZSBzeXN0ZW0gaXMgaXNSZWFkeVxuICAgICAgICAgICAgaWYgKGFyanNTeXN0ZW0uaXNSZWFkeSA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVySWQpXG5cbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgLy9cdFx0dXBkYXRlIGFyUHJvZmlsZVxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICB2YXIgYXJQcm9maWxlID0gYXJqc1N5c3RlbS5fYXJQcm9maWxlXG5cbiAgICAgICAgICAgIC8vIGFyUHJvZmlsZS5jaGFuZ2VNYXRyaXhNb2RlKCdtb2RlbFZpZXdNYXRyaXgnKVxuICAgICAgICAgICAgYXJQcm9maWxlLmNoYW5nZU1hdHJpeE1vZGUoX3RoaXMuZGF0YS5jaGFuZ2VNYXRyaXhNb2RlKVxuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLmRhdGEucHJlc2V0XG4gICAgICAgICAgICB2YXIgbWFya2VyUGFyYW1ldGVycyA9IE9iamVjdC5hc3NpZ24oe30sIGFyUHJvZmlsZS5kZWZhdWx0TWFya2VyUGFyYW1ldGVycylcblxuICAgICAgICAgICAgaWYgKF90aGlzLmRhdGEucHJlc2V0ID09PSAnaGlybycpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSBmYWxzZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5kYXRhLnByZXNldCA9PT0gJ2thbmppJykge1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuICAgICAgICAgICAgICAgIG1hcmtlclBhcmFtZXRlcnMucGF0dGVyblVybCA9IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWthbmppLnBhdHQnXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSBmYWxzZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5kYXRhLnByZXNldCA9PT0gJ2FyZWEnKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy50eXBlID0gJ2JhcmNvZGUnXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5iYXJjb2RlVmFsdWUgPSAxMDAxXG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSB0cnVlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKF90aGlzLmRhdGEudHlwZSA9PT0gJ2JhcmNvZGUnKSB7XG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX3RoaXMuZGF0YS50eXBlLFxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VNYXRyaXhNb2RlOiAnbW9kZWxWaWV3TWF0cml4JyxcbiAgICAgICAgICAgICAgICAgICAgYmFyY29kZVZhbHVlOiBfdGhpcy5kYXRhLmJhcmNvZGVWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiBmYWxzZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoX3RoaXMuZGF0YS50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnR5cGUgPSBfdGhpcy5kYXRhLnR5cGVcbiAgICAgICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBfdGhpcy5kYXRhLnBhdHRlcm5Vcmw7XG4gICAgICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgPSBfdGhpcy5kYXRhLm1pbkNvbmZpZGVuY2U7XG4gICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnNtb290aCA9IF90aGlzLmRhdGEuc21vb3RoO1xuICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5zbW9vdGhDb3VudCA9IF90aGlzLmRhdGEuc21vb3RoQ291bnQ7XG4gICAgICAgICAgICBtYXJrZXJQYXJhbWV0ZXJzLnNtb290aFRvbGVyYW5jZSA9IF90aGlzLmRhdGEuc21vb3RoVG9sZXJhbmNlO1xuICAgICAgICAgICAgbWFya2VyUGFyYW1ldGVycy5zbW9vdGhUaHJlc2hvbGQgPSBfdGhpcy5kYXRhLnNtb290aFRocmVzaG9sZDtcblxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICAvL1x0XHRjcmVhdGUgYXJBbmNob3JcbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgICAgICB2YXIgYXJTZXNzaW9uID0gYXJqc1N5c3RlbS5fYXJTZXNzaW9uXG4gICAgICAgICAgICB2YXIgYXJBbmNob3IgPSBfdGhpcy5fYXJBbmNob3IgPSBuZXcgQW5jaG9yKGFyU2Vzc2lvbiwgbWFya2VyUGFyYW1ldGVycylcblxuICAgICAgICAgICAgLy8gaXQgaXMgbm93IGNvbnNpZGVyZWQgaXNSZWFkeVxuICAgICAgICAgICAgX3RoaXMuaXNSZWFkeSA9IHRydWVcblxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICAvL1x0XHRob25vciAuZGVidWdVSUVuYWJsZWRcbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgaWYgKGFyanNTeXN0ZW0uZGF0YS5kZWJ1Z1VJRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgIC8vIGdldCBvciBjcmVhdGUgY29udGFpbmVyRWxlbWVudFxuICAgICAgICAgICAgICAgIHZhciBjb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanNEZWJ1Z1VJQ29udGFpbmVyJylcbiAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyRWxlbWVudCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyRWxlbWVudC5pZCA9ICdhcmpzRGVidWdVSUNvbnRhaW5lcidcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgJ3Bvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAxMHB4OyB3aWR0aDoxMDAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IHotaW5kZXg6IDE7IGNvbG9yOiBncmV5OycpXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGFpbmVyRWxlbWVudClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIGFuY2hvckRlYnVnVUlcbiAgICAgICAgICAgICAgICB2YXIgYW5jaG9yRGVidWdVSSA9IG5ldyBBbmNob3JEZWJ1Z1VJKGFyQW5jaG9yKVxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQoYW5jaG9yRGVidWdVSS5kb21FbGVtZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCAxMDAwIC8gNjApXG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uICgpIHtcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24gKCkge1xuICAgIH0sXG4gICAgdGljazogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzXG4gICAgICAgIC8vIGlmIG5vdCB5ZXQgaXNSZWFkeSwgZG8gbm90aGluZ1xuICAgICAgICBpZiAodGhpcy5pc1JlYWR5ID09PSBmYWxzZSkgcmV0dXJuXG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdHVwZGF0ZSBhckFuY2hvclxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgdmFyIGFyanNTeXN0ZW0gPSB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcmpzIHx8IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFydG9vbGtpdFxuICAgICAgICB0aGlzLl9hckFuY2hvci51cGRhdGUoKVxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHRob25vciBwb3NlXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICB2YXIgYXJXb3JsZFJvb3QgPSB0aGlzLl9hckFuY2hvci5vYmplY3QzZFxuICAgICAgICBhcldvcmxkUm9vdC51cGRhdGVNYXRyaXhXb3JsZCh0cnVlKVxuICAgICAgICBhcldvcmxkUm9vdC5tYXRyaXhXb3JsZC5kZWNvbXBvc2UodGhpcy5lbC5vYmplY3QzRC5wb3NpdGlvbiwgdGhpcy5lbC5vYmplY3QzRC5xdWF0ZXJuaW9uLCB0aGlzLmVsLm9iamVjdDNELnNjYWxlKVxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHRob25vciB2aXNpYmlsaXR5XG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICBpZiAoX3RoaXMuX2FyQW5jaG9yLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcpIHtcbiAgICAgICAgICAgIHZhciB3YXNWaXNpYmxlID0gX3RoaXMuZWwub2JqZWN0M0QudmlzaWJsZVxuICAgICAgICAgICAgX3RoaXMuZWwub2JqZWN0M0QudmlzaWJsZSA9IHRoaXMuX2FyQW5jaG9yLm9iamVjdDNkLnZpc2libGVcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5fYXJBbmNob3IucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4Jykge1xuICAgICAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBfdGhpcy5lbC5zY2VuZUVsLm9iamVjdDNELnZpc2libGVcbiAgICAgICAgICAgIF90aGlzLmVsLnNjZW5lRWwub2JqZWN0M0QudmlzaWJsZSA9IHRoaXMuX2FyQW5jaG9yLm9iamVjdDNkLnZpc2libGVcbiAgICAgICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG4gICAgICAgIC8vIGVtaXQgbWFya2VyRm91bmQgbWFya2VyTG9zdFxuICAgICAgICBpZiAoX3RoaXMuX2FyQW5jaG9yLm9iamVjdDNkLnZpc2libGUgPT09IHRydWUgJiYgd2FzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIF90aGlzLmVsLmVtaXQoJ21hcmtlckZvdW5kJylcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5fYXJBbmNob3Iub2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgJiYgd2FzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgX3RoaXMuZWwuZW1pdCgnbWFya2VyTG9zdCcpXG4gICAgICAgIH1cbiAgICB9XG59KVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgICAgICAgIGRlZmluZSBzb21lIHByaW1pdGl2ZXMgc2hvcnRjdXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQUZSQU1FLnJlZ2lzdGVyUHJpbWl0aXZlKCdhLWFuY2hvcicsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHt9LFxuICAgICAgICAnYXJqcy1oaXQtdGVzdGluZyc6IHt9LFxuICAgIH0sXG4gICAgbWFwcGluZ3M6IHtcbiAgICAgICAgJ3R5cGUnOiAnYXJqcy1hbmNob3IudHlwZScsXG4gICAgICAgICdzaXplJzogJ2FyanMtYW5jaG9yLnNpemUnLFxuICAgICAgICAndXJsJzogJ2FyanMtYW5jaG9yLnBhdHRlcm5VcmwnLFxuICAgICAgICAndmFsdWUnOiAnYXJqcy1hbmNob3IuYmFyY29kZVZhbHVlJyxcbiAgICAgICAgJ3ByZXNldCc6ICdhcmpzLWFuY2hvci5wcmVzZXQnLFxuICAgICAgICAnbWluLWNvbmZpZGVuY2UnOiAnYXJqcy1hbmNob3IubWluQ29uZmlkZW5jZScsXG4gICAgICAgICdtYXJrZXItaGVscGVycyc6ICdhcmpzLWFuY2hvci5tYXJrZXJoZWxwZXJzJyxcbiAgICAgICAgJ3Ntb290aCc6ICdhcmpzLWFuY2hvci5zbW9vdGgnLFxuICAgICAgICAnc21vb3RoLWNvdW50JzogJ2FyanMtYW5jaG9yLnNtb290aENvdW50JyxcbiAgICAgICAgJ3Ntb290aC10b2xlcmFuY2UnOiAnYXJqcy1hbmNob3Iuc21vb3RoVG9sZXJhbmNlJyxcbiAgICAgICAgJ3Ntb290aC10aHJlc2hvbGQnOiAnYXJqcy1hbmNob3Iuc21vb3RoVGhyZXNob2xkJyxcblxuICAgICAgICAnaGl0LXRlc3RpbmctcmVuZGVyLWRlYnVnJzogJ2FyanMtaGl0LXRlc3RpbmcucmVuZGVyRGVidWcnLFxuICAgICAgICAnaGl0LXRlc3RpbmctZW5hYmxlZCc6ICdhcmpzLWhpdC10ZXN0aW5nLmVuYWJsZWQnLFxuICAgIH1cbn0pKVxuXG5BRlJBTUUucmVnaXN0ZXJQcmltaXRpdmUoJ2EtY2FtZXJhLXN0YXRpYycsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdjYW1lcmEnOiB7fSxcbiAgICB9LFxuICAgIG1hcHBpbmdzOiB7XG4gICAgfVxufSkpXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0YmFja3dhcmQgY29tcGF0aWJpbGl0eVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGSVhNRVxuQUZSQU1FLnJlZ2lzdGVyUHJpbWl0aXZlKCdhLW1hcmtlcicsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHt9LFxuICAgICAgICAnYXJqcy1oaXQtdGVzdGluZyc6IHt9LFxuICAgIH0sXG4gICAgbWFwcGluZ3M6IHtcbiAgICAgICAgJ3R5cGUnOiAnYXJqcy1hbmNob3IudHlwZScsXG4gICAgICAgICdzaXplJzogJ2FyanMtYW5jaG9yLnNpemUnLFxuICAgICAgICAndXJsJzogJ2FyanMtYW5jaG9yLnBhdHRlcm5VcmwnLFxuICAgICAgICAndmFsdWUnOiAnYXJqcy1hbmNob3IuYmFyY29kZVZhbHVlJyxcbiAgICAgICAgJ3ByZXNldCc6ICdhcmpzLWFuY2hvci5wcmVzZXQnLFxuICAgICAgICAnbWluLWNvbmZpZGVuY2UnOiAnYXJqcy1hbmNob3IubWluQ29uZmlkZW5jZScsXG4gICAgICAgICdtYXJrZXItaGVscGVycyc6ICdhcmpzLWFuY2hvci5tYXJrZXJoZWxwZXJzJyxcbiAgICAgICAgJ3Ntb290aCc6ICdhcmpzLWFuY2hvci5zbW9vdGgnLFxuICAgICAgICAnc21vb3RoLWNvdW50JzogJ2FyanMtYW5jaG9yLnNtb290aENvdW50JyxcbiAgICAgICAgJ3Ntb290aC10b2xlcmFuY2UnOiAnYXJqcy1hbmNob3Iuc21vb3RoVG9sZXJhbmNlJyxcbiAgICAgICAgJ3Ntb290aC10aHJlc2hvbGQnOiAnYXJqcy1hbmNob3Iuc21vb3RoVGhyZXNob2xkJyxcblxuICAgICAgICAnaGl0LXRlc3RpbmctcmVuZGVyLWRlYnVnJzogJ2FyanMtaGl0LXRlc3RpbmcucmVuZGVyRGVidWcnLFxuICAgICAgICAnaGl0LXRlc3RpbmctZW5hYmxlZCc6ICdhcmpzLWhpdC10ZXN0aW5nLmVuYWJsZWQnLFxuICAgIH1cbn0pKVxuXG5BRlJBTUUucmVnaXN0ZXJQcmltaXRpdmUoJ2EtbWFya2VyLWNhbWVyYScsIEFGUkFNRS51dGlscy5leHRlbmREZWVwKHt9LCBBRlJBTUUucHJpbWl0aXZlcy5nZXRNZXNoTWl4aW4oKSwge1xuICAgIGRlZmF1bHRDb21wb25lbnRzOiB7XG4gICAgICAgICdhcmpzLWFuY2hvcic6IHtcbiAgICAgICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnXG4gICAgICAgIH0sXG4gICAgICAgICdjYW1lcmEnOiB7fSxcbiAgICB9LFxuICAgIG1hcHBpbmdzOiB7XG4gICAgICAgICd0eXBlJzogJ2FyanMtYW5jaG9yLnR5cGUnLFxuICAgICAgICAnc2l6ZSc6ICdhcmpzLWFuY2hvci5zaXplJyxcbiAgICAgICAgJ3VybCc6ICdhcmpzLWFuY2hvci5wYXR0ZXJuVXJsJyxcbiAgICAgICAgJ3ZhbHVlJzogJ2FyanMtYW5jaG9yLmJhcmNvZGVWYWx1ZScsXG4gICAgICAgICdwcmVzZXQnOiAnYXJqcy1hbmNob3IucHJlc2V0JyxcbiAgICAgICAgJ21pbi1jb25maWRlbmNlJzogJ2FyanMtYW5jaG9yLm1pbkNvbmZpZGVuY2UnLFxuICAgICAgICAnbWFya2VyLWhlbHBlcnMnOiAnYXJqcy1hbmNob3IubWFya2VyaGVscGVycycsXG4gICAgfVxufSkpXG4iLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcbmltcG9ydCBIaXRUZXN0aW5nIGZyb20gJy4uLy4uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtaGl0dGVzdGluZyc7XG5cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0YXJqcy1oaXQtdGVzdGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2FyanMtaGl0LXRlc3RpbmcnLCB7XG5cdGRlcGVuZGVuY2llczogWydhcmpzJywgJ2FydG9vbGtpdCddLFxuXHRzY2hlbWE6IHtcblx0XHRlbmFibGVkIDoge1xuXHRcdFx0dHlwZTogJ2Jvb2xlYW4nLFxuXHRcdFx0ZGVmYXVsdDogZmFsc2UsXG5cdFx0fSxcblx0XHRyZW5kZXJEZWJ1ZyA6IHtcblx0XHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRcdGRlZmF1bHQ6IGZhbHNlLFxuXHRcdH0sXG5cdH0sXG5cdGluaXQ6IGZ1bmN0aW9uICgpIHtcblx0XHR2YXIgX3RoaXMgPSB0aGlzXG5cdFx0dmFyIGFyanNTeXN0ZW0gPSB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtcy5hcmpzIHx8IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFydG9vbGtpdFxuXG4vLyBUT0RPIG1ha2UgaXQgd29yayBvbiBjYW1lcmFUcmFuc2Zvcm1NYXRyaXggdG9vXG4vL1xuXHRcdF90aGlzLmlzUmVhZHkgPSBmYWxzZVxuXHRcdF90aGlzLl9hckFuY2hvciA9IG51bGxcblx0XHRfdGhpcy5fYXJIaXRUZXN0aW5nID0gbnVsbFxuXG5cdFx0Ly8gdHJpY2sgdG8gd2FpdCB1bnRpbCBhcmpzU3lzdGVtIGlzIGlzUmVhZHlcblx0XHR2YXIgc3RhcnRlZEF0ID0gRGF0ZS5ub3coKVxuXHRcdHZhciB0aW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcblx0XHRcdHZhciBhbmNob3JFbCA9IF90aGlzLmVsXG5cdFx0XHR2YXIgYW5jaG9yQ29tcG9uZW50ID0gYW5jaG9yRWwuY29tcG9uZW50c1snYXJqcy1hbmNob3InXVxuXHRcdFx0Ly8gd2FpdCB1bnRpbCBhbmNob3JDb21wb25lbnQgaXMgaXNSZWFkeVxuXHRcdFx0aWYoIGFuY2hvckNvbXBvbmVudCA9PT0gdW5kZWZpbmVkIHx8IGFuY2hvckNvbXBvbmVudC5pc1JlYWR5ID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcklkKVxuXG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdC8vXHRcdGNyZWF0ZSBhckFuY2hvclxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHR2YXIgYXJBbmNob3IgPSBhbmNob3JDb21wb25lbnQuX2FyQW5jaG9yXG5cdFx0XHR2YXIgYXJTZXNzaW9uID0gYXJqc1N5c3RlbS5fYXJTZXNzaW9uXG5cdFx0XHR2YXIgcmVuZGVyZXIgPSBhclNlc3Npb24ucGFyYW1ldGVycy5yZW5kZXJlclxuXG5cdFx0XHR2YXIgaGl0VGVzdGluZyA9IF90aGlzLl9hckhpdFRlc3RpbmcgPSBuZXcgSGl0VGVzdGluZyhhclNlc3Npb24pXG5cdFx0XHRoaXRUZXN0aW5nLmVuYWJsZWQgPSBfdGhpcy5kYXRhLmVuYWJsZWRcblxuXHRcdFx0X3RoaXMuaXNSZWFkeSA9IHRydWVcblx0XHR9LCAxMDAwLzYwKVxuXHR9LFxuXHRyZW1vdmUgOiBmdW5jdGlvbigpe1xuXHR9LFxuXHR1cGRhdGU6IGZ1bmN0aW9uICgpIHtcblx0fSxcblx0dGljazogZnVuY3Rpb24oKXtcblx0XHR2YXIgX3RoaXMgPSB0aGlzXG5cdFx0Ly8gaWYgbm90IHlldCBpc1JlYWR5LCBkbyBub3RoaW5nXG5cdFx0aWYoIHRoaXMuaXNSZWFkeSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHR2YXIgYXJqc1N5c3RlbSA9IHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zLmFyanMgfHwgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXMuYXJ0b29sa2l0XG5cdFx0dmFyIGFyU2Vzc2lvbiA9IGFyanNTeXN0ZW0uX2FyU2Vzc2lvblxuXG5cdFx0dmFyIGFuY2hvckVsID0gX3RoaXMuZWxcblx0XHR2YXIgYW5jaG9yQ29tcG9uZW50ID0gYW5jaG9yRWwuY29tcG9uZW50c1snYXJqcy1hbmNob3InXVxuXHRcdHZhciBhckFuY2hvciA9IGFuY2hvckNvbXBvbmVudC5fYXJBbmNob3JcblxuXG5cdFx0dmFyIGhpdFRlc3RpbmcgPSB0aGlzLl9hckhpdFRlc3Rpbmdcblx0XHR2YXIgY2FtZXJhID0gYXJTZXNzaW9uLnBhcmFtZXRlcnMuY2FtZXJhXG4vLyBjb25zb2xlLmxvZyhjYW1lcmEucG9zaXRpb24pXG5cdFx0aGl0VGVzdGluZy51cGRhdGUoY2FtZXJhLCBhckFuY2hvci5vYmplY3QzZCwgYXJBbmNob3IucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKVxuXHR9XG59KTtcbiIsIlxuLyoqXG4gKiBAYXV0aG9yIHJpY2h0IC8gaHR0cDovL3JpY2h0Lm1lXG4gKiBAYXV0aG9yIFdlc3RMYW5nbGV5IC8gaHR0cDovL2dpdGh1Yi5jb20vV2VzdExhbmdsZXlcbiAqXG4gKiBXM0MgRGV2aWNlIE9yaWVudGF0aW9uIGNvbnRyb2wgKGh0dHA6Ly93M2MuZ2l0aHViLmlvL2RldmljZW9yaWVudGF0aW9uL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwpXG4gKi9cblxuLyogTk9URSB0aGF0IHRoaXMgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIFRIUkVFLkRldmljZU9yaWVudGF0aW9uQ29udHJvbHMgdG8gXG4gKiBhbGxvdyBleHBvbmVudGlhbCBzbW9vdGhpbmcsIGZvciB1c2UgaW4gQVIuanMuXG4gKlxuICogTW9kaWZpY2F0aW9ucyBOaWNrIFdoaXRlbGVnZyAobmlja3cxIGdpdGh1YilcbiAqL1xuXG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tIFwidGhyZWVcIjtcblxuY29uc3QgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMgPSBmdW5jdGlvbiAoIG9iamVjdCApIHtcblxuICB2YXIgc2NvcGUgPSB0aGlzO1xuXG4gIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuICB0aGlzLm9iamVjdC5yb3RhdGlvbi5yZW9yZGVyKCAnWVhaJyApO1xuXG4gIHRoaXMuZW5hYmxlZCA9IHRydWU7XG5cbiAgdGhpcy5kZXZpY2VPcmllbnRhdGlvbiA9IHt9O1xuICB0aGlzLnNjcmVlbk9yaWVudGF0aW9uID0gMDtcblxuICB0aGlzLmFscGhhT2Zmc2V0ID0gMDsgLy8gcmFkaWFuc1xuXG4gIHRoaXMuc21vb3RoaW5nRmFjdG9yID0gMTtcblxuICB0aGlzLlRXT19QSSA9IDIgKiBNYXRoLlBJO1xuICB0aGlzLkhBTEZfUEkgPSAwLjUgKiBNYXRoLlBJO1xuXG4gIHZhciBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlRXZlbnQgPSBmdW5jdGlvbiAoIGV2ZW50ICkge1xuXG4gICAgc2NvcGUuZGV2aWNlT3JpZW50YXRpb24gPSBldmVudDtcblxuICB9O1xuXG4gIHZhciBvblNjcmVlbk9yaWVudGF0aW9uQ2hhbmdlRXZlbnQgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICBzY29wZS5zY3JlZW5PcmllbnRhdGlvbiA9IHdpbmRvdy5vcmllbnRhdGlvbiB8fCAwO1xuXG4gIH07XG5cbiAgLy8gVGhlIGFuZ2xlcyBhbHBoYSwgYmV0YSBhbmQgZ2FtbWEgZm9ybSBhIHNldCBvZiBpbnRyaW5zaWMgVGFpdC1CcnlhbiBhbmdsZXMgb2YgdHlwZSBaLVgnLVknJ1xuXG4gIHZhciBzZXRPYmplY3RRdWF0ZXJuaW9uID0gZnVuY3Rpb24gKCkge1xuXG4gICAgdmFyIHplZSA9IG5ldyBUSFJFRS5WZWN0b3IzKCAwLCAwLCAxICk7XG5cbiAgICB2YXIgZXVsZXIgPSBuZXcgVEhSRUUuRXVsZXIoKTtcblxuICAgIHZhciBxMCA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCk7XG5cbiAgICB2YXIgcTEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbiggLSBNYXRoLnNxcnQoIDAuNSApLCAwLCAwLCBNYXRoLnNxcnQoIDAuNSApICk7IC8vIC0gUEkvMiBhcm91bmQgdGhlIHgtYXhpc1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICggcXVhdGVybmlvbiwgYWxwaGEsIGJldGEsIGdhbW1hLCBvcmllbnQgKSB7XG5cbiAgICAgIGV1bGVyLnNldCggYmV0YSwgYWxwaGEsIC0gZ2FtbWEsICdZWFonICk7IC8vICdaWFknIGZvciB0aGUgZGV2aWNlLCBidXQgJ1lYWicgZm9yIHVzXG5cbiAgICAgIHF1YXRlcm5pb24uc2V0RnJvbUV1bGVyKCBldWxlciApOyAvLyBvcmllbnQgdGhlIGRldmljZVxuXG4gICAgICBxdWF0ZXJuaW9uLm11bHRpcGx5KCBxMSApOyAvLyBjYW1lcmEgbG9va3Mgb3V0IHRoZSBiYWNrIG9mIHRoZSBkZXZpY2UsIG5vdCB0aGUgdG9wXG5cbiAgICAgIHF1YXRlcm5pb24ubXVsdGlwbHkoIHEwLnNldEZyb21BeGlzQW5nbGUoIHplZSwgLSBvcmllbnQgKSApOyAvLyBhZGp1c3QgZm9yIHNjcmVlbiBvcmllbnRhdGlvblxuXG4gICAgfTtcblxuICB9KCk7XG5cbiAgdGhpcy5jb25uZWN0ID0gZnVuY3Rpb24gKCkge1xuIFxuICAgIG9uU2NyZWVuT3JpZW50YXRpb25DaGFuZ2VFdmVudCgpO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoICdvcmllbnRhdGlvbmNoYW5nZScsIG9uU2NyZWVuT3JpZW50YXRpb25DaGFuZ2VFdmVudCwgZmFsc2UgKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggJ2RldmljZW9yaWVudGF0aW9uJywgb25EZXZpY2VPcmllbnRhdGlvbkNoYW5nZUV2ZW50LCBmYWxzZSApO1xuXG4gICAgc2NvcGUuZW5hYmxlZCA9IHRydWU7XG5cbiAgfTtcblxuICB0aGlzLmRpc2Nvbm5lY3QgPSBmdW5jdGlvbiAoKSB7XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciggJ29yaWVudGF0aW9uY2hhbmdlJywgb25TY3JlZW5PcmllbnRhdGlvbkNoYW5nZUV2ZW50LCBmYWxzZSApO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCAnZGV2aWNlb3JpZW50YXRpb24nLCBvbkRldmljZU9yaWVudGF0aW9uQ2hhbmdlRXZlbnQsIGZhbHNlICk7XG5cbiAgICBzY29wZS5lbmFibGVkID0gZmFsc2U7XG5cbiAgfTtcblxuICB0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uICgpIHtcblxuICAgIGlmICggc2NvcGUuZW5hYmxlZCA9PT0gZmFsc2UgKSByZXR1cm47XG5cbiAgICB2YXIgZGV2aWNlID0gc2NvcGUuZGV2aWNlT3JpZW50YXRpb247XG5cbiAgICBpZiAoIGRldmljZSApIHtcblxuICAgICAgdmFyIGFscGhhID0gZGV2aWNlLmFscGhhID8gVEhSRUUuTWF0aC5kZWdUb1JhZCggZGV2aWNlLmFscGhhICkgKyBzY29wZS5hbHBoYU9mZnNldCA6IDA7IC8vIFpcblxuICAgICAgdmFyIGJldGEgPSBkZXZpY2UuYmV0YSA/IFRIUkVFLk1hdGguZGVnVG9SYWQoIGRldmljZS5iZXRhICkgOiAwOyAvLyBYJ1xuXG4gICAgICB2YXIgZ2FtbWEgPSBkZXZpY2UuZ2FtbWEgPyBUSFJFRS5NYXRoLmRlZ1RvUmFkKCBkZXZpY2UuZ2FtbWEgKSA6IDA7IC8vIFknJ1xuXG4gICAgICB2YXIgb3JpZW50ID0gc2NvcGUuc2NyZWVuT3JpZW50YXRpb24gPyBUSFJFRS5NYXRoLmRlZ1RvUmFkKCBzY29wZS5zY3JlZW5PcmllbnRhdGlvbiApIDogMDsgLy8gT1xuXG4gICAgICAvLyBOVyBBZGRlZCBzbW9vdGhpbmcgY29kZVxuICAgICAgdmFyIGsgPSB0aGlzLnNtb290aGluZ0ZhY3RvcjtcblxuICAgICAgaWYodGhpcy5sYXN0T3JpZW50YXRpb24pIHtcbiAgICAgICAgYWxwaGEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGFscGhhLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5hbHBoYSwgayk7XG4gICAgICAgIGJldGEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGJldGEgKyBNYXRoLlBJLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5iZXRhLCBrKTtcbiAgICAgICAgZ2FtbWEgPSB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlKGdhbW1hICsgdGhpcy5IQUxGX1BJLCB0aGlzLmxhc3RPcmllbnRhdGlvbi5nYW1tYSwgaywgTWF0aC5QSSk7XG4gICAgXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiZXRhICs9IE1hdGguUEk7XG4gICAgICAgIGdhbW1hICs9IHRoaXMuSEFMRl9QSTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXN0T3JpZW50YXRpb24gPSB7XG4gICAgICAgIGFscGhhOiBhbHBoYSxcbiAgICAgICAgYmV0YTogYmV0YSxcbiAgICAgICAgZ2FtbWE6IGdhbW1hXG4gICAgICB9O1xuICAgICAgc2V0T2JqZWN0UXVhdGVybmlvbiggc2NvcGUub2JqZWN0LnF1YXRlcm5pb24sIGFscGhhLCBiZXRhIC0gTWF0aC5QSSwgZ2FtbWEgLSB0aGlzLkhBTEZfUEksIG9yaWVudCApO1xuXG4gICAgfVxuICB9O1xuXG4gICBcbiAgIC8vIE5XIEFkZGVkXG4gIHRoaXMuX29yZGVyQW5nbGUgPSBmdW5jdGlvbihhLCBiLCByYW5nZSA9IHRoaXMuVFdPX1BJKSB7XG4gICAgaWYgKChiID4gYSAmJiBNYXRoLmFicyhiIC0gYSkgPCByYW5nZSAvIDIpIHx8IChhID4gYiAmJiBNYXRoLmFicyhiIC0gYSkgPiByYW5nZSAvIDIpKSB7XG4gICAgICByZXR1cm4geyBsZWZ0OiBhLCByaWdodDogYiB9XG4gICAgfSBlbHNlIHsgXG4gICAgICByZXR1cm4geyBsZWZ0OiBiLCByaWdodDogYSB9XG4gICAgfVxuICB9O1xuXG4gICAvLyBOVyBBZGRlZFxuICB0aGlzLl9nZXRTbW9vdGhlZEFuZ2xlID0gZnVuY3Rpb24oYSwgYiwgaywgcmFuZ2UgPSB0aGlzLlRXT19QSSkge1xuICAgIGNvbnN0IGFuZ2xlcyA9IHRoaXMuX29yZGVyQW5nbGUoYSwgYiwgcmFuZ2UpO1xuICAgIGNvbnN0IGFuZ2xlc2hpZnQgPSBhbmdsZXMubGVmdDtcbiAgICBjb25zdCBvcmlnQW5nbGVzUmlnaHQgPSBhbmdsZXMucmlnaHQ7XG4gICAgYW5nbGVzLmxlZnQgPSAwO1xuICAgIGFuZ2xlcy5yaWdodCAtPSBhbmdsZXNoaWZ0O1xuICAgIGlmKGFuZ2xlcy5yaWdodCA8IDApIGFuZ2xlcy5yaWdodCArPSByYW5nZTtcbiAgICBsZXQgbmV3YW5nbGUgPSBvcmlnQW5nbGVzUmlnaHQgPT0gYiA/ICgxIC0gaykqYW5nbGVzLnJpZ2h0ICsgayAqIGFuZ2xlcy5sZWZ0IDogayAqIGFuZ2xlcy5yaWdodCArICgxIC0gaykgKiBhbmdsZXMubGVmdDtcbiAgICBuZXdhbmdsZSArPSBhbmdsZXNoaWZ0O1xuICAgIGlmKG5ld2FuZ2xlID49IHJhbmdlKSBuZXdhbmdsZSAtPSByYW5nZTtcbiAgICByZXR1cm4gbmV3YW5nbGU7XG4gIH07XG5cbiAgdGhpcy5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHNjb3BlLmRpc2Nvbm5lY3QoKTtcbiAgfTtcblxuICB0aGlzLmNvbm5lY3QoKTtcblxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHM7XG4iLCIvLyBUbyBhdm9pZCByZWNhbGN1bGF0aW9uIGF0IGV2ZXJ5IG1vdXNlIG1vdmVtZW50IHRpY2tcbnZhciBQSV8yID0gTWF0aC5QSSAvIDI7XG5cblxuLyoqXG4gKiBsb29rLWNvbnRyb2xzLiBVcGRhdGUgZW50aXR5IHBvc2UsIGZhY3RvcmluZyBtb3VzZSwgdG91Y2gsIGFuZCBXZWJWUiBBUEkgZGF0YS5cbiAqL1xuXG4vKiBOT1RFIHRoYXQgdGhpcyBpcyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgQS1GcmFtZSdzIGxvb2stY29udHJvbHMgdG8gXG4gKiBhbGxvdyBleHBvbmVudGlhbCBzbW9vdGhpbmcsIGZvciB1c2UgaW4gQVIuanMuXG4gKlxuICogTW9kaWZpY2F0aW9ucyBOaWNrIFdoaXRlbGVnZyAobmlja3cxIGdpdGh1YilcbiAqL1xuXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuaW1wb3J0IEFyanNEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xzIGZyb20gJy4vQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnYXJqcy1sb29rLWNvbnRyb2xzJywge1xuICBkZXBlbmRlbmNpZXM6IFsncG9zaXRpb24nLCAncm90YXRpb24nXSxcblxuICBzY2hlbWE6IHtcbiAgICBlbmFibGVkOiB7ZGVmYXVsdDogdHJ1ZX0sXG4gICAgbWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQ6IHtkZWZhdWx0OiB0cnVlfSxcbiAgICBwb2ludGVyTG9ja0VuYWJsZWQ6IHtkZWZhdWx0OiBmYWxzZX0sXG4gICAgcmV2ZXJzZU1vdXNlRHJhZzoge2RlZmF1bHQ6IGZhbHNlfSxcbiAgICByZXZlcnNlVG91Y2hEcmFnOiB7ZGVmYXVsdDogZmFsc2V9LFxuICAgIHRvdWNoRW5hYmxlZDoge2RlZmF1bHQ6IHRydWV9LFxuICAgIHNtb290aGluZ0ZhY3RvcjogeyB0eXBlOiAnbnVtYmVyJywgZGVmYXVsdDogMSB9XG4gIH0sXG5cbiAgaW5pdDogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZGVsdGFZYXcgPSAwO1xuICAgIHRoaXMucHJldmlvdXNITURQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgdGhpcy5obWRRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKTtcbiAgICB0aGlzLm1hZ2ljV2luZG93QWJzb2x1dGVFdWxlciA9IG5ldyBUSFJFRS5FdWxlcigpO1xuICAgIHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyID0gbmV3IFRIUkVFLkV1bGVyKCk7XG4gICAgdGhpcy5wb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG4gICAgdGhpcy5tYWdpY1dpbmRvd09iamVjdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIHRoaXMucm90YXRpb24gPSB7fTtcbiAgICB0aGlzLmRlbHRhUm90YXRpb24gPSB7fTtcbiAgICB0aGlzLnNhdmVkUG9zZSA9IG51bGw7XG4gICAgdGhpcy5wb2ludGVyTG9ja2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXR1cE1vdXNlQ29udHJvbHMoKTtcbiAgICB0aGlzLmJpbmRNZXRob2RzKCk7XG4gICAgdGhpcy5wcmV2aW91c01vdXNlRXZlbnQgPSB7fTtcblxuICAgIHRoaXMuc2V0dXBNYWdpY1dpbmRvd0NvbnRyb2xzKCk7XG5cbiAgICAvLyBUbyBzYXZlIC8gcmVzdG9yZSBjYW1lcmEgcG9zZVxuICAgIHRoaXMuc2F2ZWRQb3NlID0ge1xuICAgICAgcG9zaXRpb246IG5ldyBUSFJFRS5WZWN0b3IzKCksXG4gICAgICByb3RhdGlvbjogbmV3IFRIUkVFLkV1bGVyKClcbiAgICB9O1xuXG4gICAgLy8gQ2FsbCBlbnRlciBWUiBoYW5kbGVyIGlmIHRoZSBzY2VuZSBoYXMgZW50ZXJlZCBWUiBiZWZvcmUgdGhlIGV2ZW50IGxpc3RlbmVycyBhdHRhY2hlZC5cbiAgICBpZiAodGhpcy5lbC5zY2VuZUVsLmlzKCd2ci1tb2RlJykpIHsgdGhpcy5vbkVudGVyVlIoKTsgfVxuICB9LFxuXG4gIHNldHVwTWFnaWNXaW5kb3dDb250cm9sczogZnVuY3Rpb24gKCkge1xuICAgIHZhciBtYWdpY1dpbmRvd0NvbnRyb2xzO1xuICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuXG4gICAgLy8gT25seSBvbiBtb2JpbGUgZGV2aWNlcyBhbmQgb25seSBlbmFibGVkIGlmIERldmljZU9yaWVudGF0aW9uIHBlcm1pc3Npb24gaGFzIGJlZW4gZ3JhbnRlZC5cbiAgICBpZiAoQUZSQU1FLnV0aWxzLmRldmljZS5pc01vYmlsZSgpKSB7XG4gICAgICBtYWdpY1dpbmRvd0NvbnRyb2xzID0gdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzID0gbmV3IEFyanNEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xzKHRoaXMubWFnaWNXaW5kb3dPYmplY3QpO1xuICAgICAgaWYgKHR5cGVvZiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50ICE9PSAndW5kZWZpbmVkJyAmJiBEZXZpY2VPcmllbnRhdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKSB7XG4gICAgICAgIG1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5lbC5zY2VuZUVsLmNvbXBvbmVudHNbJ2RldmljZS1vcmllbnRhdGlvbi1wZXJtaXNzaW9uLXVpJ10ucGVybWlzc2lvbkdyYW50ZWQpIHtcbiAgICAgICAgICBtYWdpY1dpbmRvd0NvbnRyb2xzLmVuYWJsZWQgPSBkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdkZXZpY2VvcmllbnRhdGlvbnBlcm1pc3Npb25ncmFudGVkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbWFnaWNXaW5kb3dDb250cm9scy5lbmFibGVkID0gZGF0YS5tYWdpY1dpbmRvd1RyYWNraW5nRW5hYmxlZDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGU6IGZ1bmN0aW9uIChvbGREYXRhKSB7XG4gICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG5cbiAgICAvLyBEaXNhYmxlIGdyYWIgY3Vyc29yIGNsYXNzZXMgaWYgbm8gbG9uZ2VyIGVuYWJsZWQuXG4gICAgaWYgKGRhdGEuZW5hYmxlZCAhPT0gb2xkRGF0YS5lbmFibGVkKSB7XG4gICAgICB0aGlzLnVwZGF0ZUdyYWJDdXJzb3IoZGF0YS5lbmFibGVkKTtcbiAgICB9XG5cbiAgICAvLyBSZXNldCBtYWdpYyB3aW5kb3cgZXVsZXJzIGlmIHRyYWNraW5nIGlzIGRpc2FibGVkLlxuICAgIGlmIChvbGREYXRhICYmICFkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkICYmIG9sZERhdGEubWFnaWNXaW5kb3dUcmFja2luZ0VuYWJsZWQpIHtcbiAgICAgIHRoaXMubWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnNldCgwLCAwLCAwKTtcbiAgICAgIHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyLnNldCgwLCAwLCAwKTtcbiAgICB9XG5cbiAgICAvLyBQYXNzIG9uIG1hZ2ljIHdpbmRvdyB0cmFja2luZyBzZXR0aW5nIHRvIG1hZ2ljV2luZG93Q29udHJvbHMuXG4gICAgaWYgKHRoaXMubWFnaWNXaW5kb3dDb250cm9scykge1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLmVuYWJsZWQgPSBkYXRhLm1hZ2ljV2luZG93VHJhY2tpbmdFbmFibGVkO1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLnNtb290aGluZ0ZhY3RvciA9IGRhdGEuc21vb3RoaW5nRmFjdG9yO1xuICAgIH1cblxuICAgIGlmIChvbGREYXRhICYmICFkYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCAhPT0gb2xkRGF0YS5wb2ludGVyTG9ja0VuYWJsZWQpIHtcbiAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgIGlmICh0aGlzLnBvaW50ZXJMb2NrZWQpIHsgdGhpcy5leGl0UG9pbnRlckxvY2soKTsgfVxuICAgIH1cbiAgfSxcblxuICB0aWNrOiBmdW5jdGlvbiAodCkge1xuICAgIHZhciBkYXRhID0gdGhpcy5kYXRhO1xuICAgIGlmICghZGF0YS5lbmFibGVkKSB7IHJldHVybjsgfVxuICAgIHRoaXMudXBkYXRlT3JpZW50YXRpb24oKTtcbiAgfSxcblxuICBwbGF5OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVycygpO1xuICB9LFxuXG4gIHBhdXNlOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVycygpO1xuICAgIGlmICh0aGlzLnBvaW50ZXJMb2NrZWQpIHsgdGhpcy5leGl0UG9pbnRlckxvY2soKTsgfVxuICB9LFxuXG4gIHJlbW92ZTogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICBpZiAodGhpcy5wb2ludGVyTG9ja2VkKSB7IHRoaXMuZXhpdFBvaW50ZXJMb2NrKCk7IH1cbiAgfSxcblxuICBiaW5kTWV0aG9kczogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMub25Nb3VzZURvd24gPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uTW91c2VEb3duLCB0aGlzKTtcbiAgICB0aGlzLm9uTW91c2VNb3ZlID0gQUZSQU1FLnV0aWxzLmJpbmQodGhpcy5vbk1vdXNlTW92ZSwgdGhpcyk7XG4gICAgdGhpcy5vbk1vdXNlVXAgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uTW91c2VVcCwgdGhpcyk7XG4gICAgdGhpcy5vblRvdWNoU3RhcnQgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uVG91Y2hTdGFydCwgdGhpcyk7XG4gICAgdGhpcy5vblRvdWNoTW92ZSA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Ub3VjaE1vdmUsIHRoaXMpO1xuICAgIHRoaXMub25Ub3VjaEVuZCA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Ub3VjaEVuZCwgdGhpcyk7XG4gICAgdGhpcy5vbkVudGVyVlIgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uRW50ZXJWUiwgdGhpcyk7XG4gICAgdGhpcy5vbkV4aXRWUiA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25FeGl0VlIsIHRoaXMpO1xuICAgIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSA9IEFGUkFNRS51dGlscy5iaW5kKHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgdGhpcyk7XG4gICAgdGhpcy5vblBvaW50ZXJMb2NrRXJyb3IgPSBBRlJBTUUudXRpbHMuYmluZCh0aGlzLm9uUG9pbnRlckxvY2tFcnJvciwgdGhpcyk7XG4gIH0sXG5cbiAvKipcbiAgKiBTZXQgdXAgc3RhdGVzIGFuZCBPYmplY3QzRHMgbmVlZGVkIHRvIHN0b3JlIHJvdGF0aW9uIGRhdGEuXG4gICovXG4gIHNldHVwTW91c2VDb250cm9sczogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMubW91c2VEb3duID0gZmFsc2U7XG4gICAgdGhpcy5waXRjaE9iamVjdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpO1xuICAgIHRoaXMueWF3T2JqZWN0ID0gbmV3IFRIUkVFLk9iamVjdDNEKCk7XG4gICAgdGhpcy55YXdPYmplY3QucG9zaXRpb24ueSA9IDEwO1xuICAgIHRoaXMueWF3T2JqZWN0LmFkZCh0aGlzLnBpdGNoT2JqZWN0KTtcbiAgfSxcblxuICAvKipcbiAgICogQWRkIG1vdXNlIGFuZCB0b3VjaCBldmVudCBsaXN0ZW5lcnMgdG8gY2FudmFzLlxuICAgKi9cbiAgYWRkRXZlbnRMaXN0ZW5lcnM6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcbiAgICB2YXIgY2FudmFzRWwgPSBzY2VuZUVsLmNhbnZhcztcblxuICAgIC8vIFdhaXQgZm9yIGNhbnZhcyB0byBsb2FkLlxuICAgIGlmICghY2FudmFzRWwpIHtcbiAgICAgIHNjZW5lRWwuYWRkRXZlbnRMaXN0ZW5lcigncmVuZGVyLXRhcmdldC1sb2FkZWQnLCBBRlJBTUUudXRpbHMuYmluZCh0aGlzLmFkZEV2ZW50TGlzdGVuZXJzLCB0aGlzKSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTW91c2UgZXZlbnRzLlxuICAgIGNhbnZhc0VsLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZURvd24sIGZhbHNlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSwgZmFsc2UpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXAsIGZhbHNlKTtcblxuICAgIC8vIFRvdWNoIGV2ZW50cy5cbiAgICBjYW52YXNFbC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoU3RhcnQpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLm9uVG91Y2hFbmQpO1xuXG4gICAgLy8gc2NlbmVFbCBldmVudHMuXG4gICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdlbnRlci12cicsIHRoaXMub25FbnRlclZSKTtcbiAgICBzY2VuZUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2V4aXQtdnInLCB0aGlzLm9uRXhpdFZSKTtcblxuICAgIC8vIFBvaW50ZXIgTG9jayBldmVudHMuXG4gICAgaWYgKHRoaXMuZGF0YS5wb2ludGVyTG9ja0VuYWJsZWQpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3pwb2ludGVybG9ja2NoYW5nZScsIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tlcnJvcicsIHRoaXMub25Qb2ludGVyTG9ja0Vycm9yLCBmYWxzZSk7XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW91c2UgYW5kIHRvdWNoIGV2ZW50IGxpc3RlbmVycyBmcm9tIGNhbnZhcy5cbiAgICovXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXJzOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgdmFyIGNhbnZhc0VsID0gc2NlbmVFbCAmJiBzY2VuZUVsLmNhbnZhcztcblxuICAgIGlmICghY2FudmFzRWwpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBNb3VzZSBldmVudHMuXG4gICAgY2FudmFzRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93bik7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuXG4gICAgLy8gVG91Y2ggZXZlbnRzLlxuICAgIGNhbnZhc0VsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hTdGFydCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Ub3VjaEVuZCk7XG5cbiAgICAvLyBzY2VuZUVsIGV2ZW50cy5cbiAgICBzY2VuZUVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2VudGVyLXZyJywgdGhpcy5vbkVudGVyVlIpO1xuICAgIHNjZW5lRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXhpdC12cicsIHRoaXMub25FeGl0VlIpO1xuXG4gICAgLy8gUG9pbnRlciBMb2NrIGV2ZW50cy5cbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybG9ja2NoYW5nZScsIHRoaXMub25Qb2ludGVyTG9ja0NoYW5nZSwgZmFsc2UpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21venBvaW50ZXJsb2NrY2hhbmdlJywgdGhpcy5vblBvaW50ZXJMb2NrQ2hhbmdlLCBmYWxzZSk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmxvY2tlcnJvcicsIHRoaXMub25Qb2ludGVyTG9ja0Vycm9yLCBmYWxzZSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvcmllbnRhdGlvbiBmb3IgbW9iaWxlLCBtb3VzZSBkcmFnLCBhbmQgaGVhZHNldC5cbiAgICogTW91c2UtZHJhZyBvbmx5IGVuYWJsZWQgaWYgSE1EIGlzIG5vdCBhY3RpdmUuXG4gICAqL1xuICB1cGRhdGVPcmllbnRhdGlvbjogKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIG9iamVjdDNEID0gdGhpcy5lbC5vYmplY3QzRDtcbiAgICAgIHZhciBwaXRjaE9iamVjdCA9IHRoaXMucGl0Y2hPYmplY3Q7XG4gICAgICB2YXIgeWF3T2JqZWN0ID0gdGhpcy55YXdPYmplY3Q7XG4gICAgICB2YXIgcG9zZTtcbiAgICAgIHZhciBzY2VuZUVsID0gdGhpcy5lbC5zY2VuZUVsO1xuXG4gICAgICAvLyBJbiBWUiBtb2RlLCBUSFJFRSBpcyBpbiBjaGFyZ2Ugb2YgdXBkYXRpbmcgdGhlIGNhbWVyYSBwb3NlLlxuICAgICAgaWYgKHNjZW5lRWwuaXMoJ3ZyLW1vZGUnKSAmJiBzY2VuZUVsLmNoZWNrSGVhZHNldENvbm5lY3RlZCgpKSB7XG4gICAgICAgIC8vIFdpdGggV2ViWFIgVEhSRUUgYXBwbGllcyBoZWFkc2V0IHBvc2UgdG8gdGhlIG9iamVjdDNEIG1hdHJpeFdvcmxkIGludGVybmFsbHkuXG4gICAgICAgIC8vIFJlZmxlY3QgdmFsdWVzIGJhY2sgb24gcG9zaXRpb24sIHJvdGF0aW9uLCBzY2FsZSBmb3IgZ2V0QXR0cmlidXRlIHRvIHJldHVybiB0aGUgZXhwZWN0ZWQgdmFsdWVzLlxuICAgICAgICBpZiAoc2NlbmVFbC5oYXNXZWJYUikge1xuICAgICAgICAgIHBvc2UgPSBzY2VuZUVsLnJlbmRlcmVyLnhyLmdldENhbWVyYVBvc2UoKTtcbiAgICAgICAgICBpZiAocG9zZSkge1xuICAgICAgICAgICAgcG9zZU1hdHJpeC5lbGVtZW50cyA9IHBvc2UudHJhbnNmb3JtLm1hdHJpeDtcbiAgICAgICAgICAgIHBvc2VNYXRyaXguZGVjb21wb3NlKG9iamVjdDNELnBvc2l0aW9uLCBvYmplY3QzRC5yb3RhdGlvbiwgb2JqZWN0M0Quc2NhbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudXBkYXRlTWFnaWNXaW5kb3dPcmllbnRhdGlvbigpO1xuXG4gICAgICAvLyBPbiBtb2JpbGUsIGRvIGNhbWVyYSByb3RhdGlvbiB3aXRoIHRvdWNoIGV2ZW50cyBhbmQgc2Vuc29ycy5cbiAgICAgIG9iamVjdDNELnJvdGF0aW9uLnggPSB0aGlzLm1hZ2ljV2luZG93RGVsdGFFdWxlci54ICsgcGl0Y2hPYmplY3Qucm90YXRpb24ueDtcbiAgICAgIG9iamVjdDNELnJvdGF0aW9uLnkgPSB0aGlzLm1hZ2ljV2luZG93RGVsdGFFdWxlci55ICsgeWF3T2JqZWN0LnJvdGF0aW9uLnk7XG4gICAgICBvYmplY3QzRC5yb3RhdGlvbi56ID0gdGhpcy5tYWdpY1dpbmRvd0RlbHRhRXVsZXIuejtcbiAgICB9O1xuICB9KSgpLFxuXG4gIHVwZGF0ZU1hZ2ljV2luZG93T3JpZW50YXRpb246IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyID0gdGhpcy5tYWdpY1dpbmRvd0Fic29sdXRlRXVsZXI7XG4gICAgdmFyIG1hZ2ljV2luZG93RGVsdGFFdWxlciA9IHRoaXMubWFnaWNXaW5kb3dEZWx0YUV1bGVyO1xuICAgIC8vIENhbGN1bGF0ZSBtYWdpYyB3aW5kb3cgSE1EIHF1YXRlcm5pb24uXG4gICAgaWYgKHRoaXMubWFnaWNXaW5kb3dDb250cm9scyAmJiB0aGlzLm1hZ2ljV2luZG93Q29udHJvbHMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5tYWdpY1dpbmRvd0NvbnRyb2xzLnVwZGF0ZSgpO1xuICAgICAgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnNldEZyb21RdWF0ZXJuaW9uKHRoaXMubWFnaWNXaW5kb3dPYmplY3QucXVhdGVybmlvbiwgJ1lYWicpO1xuICAgICAgaWYgKCF0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcgJiYgbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnkgIT09IDApIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3ID0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLnk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3KSB7XG4gICAgICAgIG1hZ2ljV2luZG93RGVsdGFFdWxlci54ID0gbWFnaWNXaW5kb3dBYnNvbHV0ZUV1bGVyLng7XG4gICAgICAgIG1hZ2ljV2luZG93RGVsdGFFdWxlci55ICs9IG1hZ2ljV2luZG93QWJzb2x1dGVFdWxlci55IC0gdGhpcy5wcmV2aW91c01hZ2ljV2luZG93WWF3O1xuICAgICAgICBtYWdpY1dpbmRvd0RlbHRhRXVsZXIueiA9IG1hZ2ljV2luZG93QWJzb2x1dGVFdWxlci56O1xuICAgICAgICB0aGlzLnByZXZpb3VzTWFnaWNXaW5kb3dZYXcgPSBtYWdpY1dpbmRvd0Fic29sdXRlRXVsZXIueTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSBtb3VzZSBkcmFnIGludG8gcm90YXRpb24uXG4gICAqXG4gICAqIERyYWdnaW5nIHVwIGFuZCBkb3duIHJvdGF0ZXMgdGhlIGNhbWVyYSBhcm91bmQgdGhlIFgtYXhpcyAoeWF3KS5cbiAgICogRHJhZ2dpbmcgbGVmdCBhbmQgcmlnaHQgcm90YXRlcyB0aGUgY2FtZXJhIGFyb3VuZCB0aGUgWS1heGlzIChwaXRjaCkuXG4gICAqL1xuICBvbk1vdXNlTW92ZTogZnVuY3Rpb24gKGV2dCkge1xuICAgIHZhciBkaXJlY3Rpb247XG4gICAgdmFyIG1vdmVtZW50WDtcbiAgICB2YXIgbW92ZW1lbnRZO1xuICAgIHZhciBwaXRjaE9iamVjdCA9IHRoaXMucGl0Y2hPYmplY3Q7XG4gICAgdmFyIHByZXZpb3VzTW91c2VFdmVudCA9IHRoaXMucHJldmlvdXNNb3VzZUV2ZW50O1xuICAgIHZhciB5YXdPYmplY3QgPSB0aGlzLnlhd09iamVjdDtcblxuICAgIC8vIE5vdCBkcmFnZ2luZyBvciBub3QgZW5hYmxlZC5cbiAgICBpZiAoIXRoaXMuZGF0YS5lbmFibGVkIHx8ICghdGhpcy5tb3VzZURvd24gJiYgIXRoaXMucG9pbnRlckxvY2tlZCkpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyBDYWxjdWxhdGUgZGVsdGEuXG4gICAgaWYgKHRoaXMucG9pbnRlckxvY2tlZCkge1xuICAgICAgbW92ZW1lbnRYID0gZXZ0Lm1vdmVtZW50WCB8fCBldnQubW96TW92ZW1lbnRYIHx8IDA7XG4gICAgICBtb3ZlbWVudFkgPSBldnQubW92ZW1lbnRZIHx8IGV2dC5tb3pNb3ZlbWVudFkgfHwgMDtcbiAgICB9IGVsc2Uge1xuICAgICAgbW92ZW1lbnRYID0gZXZ0LnNjcmVlblggLSBwcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWDtcbiAgICAgIG1vdmVtZW50WSA9IGV2dC5zY3JlZW5ZIC0gcHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblk7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNNb3VzZUV2ZW50LnNjcmVlblggPSBldnQuc2NyZWVuWDtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5ZID0gZXZ0LnNjcmVlblk7XG5cbiAgICAvLyBDYWxjdWxhdGUgcm90YXRpb24uXG4gICAgZGlyZWN0aW9uID0gdGhpcy5kYXRhLnJldmVyc2VNb3VzZURyYWcgPyAxIDogLTE7XG4gICAgeWF3T2JqZWN0LnJvdGF0aW9uLnkgKz0gbW92ZW1lbnRYICogMC4wMDIgKiBkaXJlY3Rpb247XG4gICAgcGl0Y2hPYmplY3Qucm90YXRpb24ueCArPSBtb3ZlbWVudFkgKiAwLjAwMiAqIGRpcmVjdGlvbjtcbiAgICBwaXRjaE9iamVjdC5yb3RhdGlvbi54ID0gTWF0aC5tYXgoLVBJXzIsIE1hdGgubWluKFBJXzIsIHBpdGNoT2JqZWN0LnJvdGF0aW9uLngpKTtcbiAgfSxcblxuICAvKipcbiAgICogUmVnaXN0ZXIgbW91c2UgZG93biB0byBkZXRlY3QgbW91c2UgZHJhZy5cbiAgICovXG4gIG9uTW91c2VEb3duOiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgaWYgKCF0aGlzLmRhdGEuZW5hYmxlZCB8fCAoc2NlbmVFbC5pcygndnItbW9kZScpICYmIHNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpKSB7IHJldHVybjsgfVxuICAgIC8vIEhhbmRsZSBvbmx5IHByaW1hcnkgYnV0dG9uLlxuICAgIGlmIChldnQuYnV0dG9uICE9PSAwKSB7IHJldHVybjsgfVxuXG4gICAgdmFyIGNhbnZhc0VsID0gc2NlbmVFbCAmJiBzY2VuZUVsLmNhbnZhcztcblxuICAgIHRoaXMubW91c2VEb3duID0gdHJ1ZTtcbiAgICB0aGlzLnByZXZpb3VzTW91c2VFdmVudC5zY3JlZW5YID0gZXZ0LnNjcmVlblg7XG4gICAgdGhpcy5wcmV2aW91c01vdXNlRXZlbnQuc2NyZWVuWSA9IGV2dC5zY3JlZW5ZO1xuICAgIHRoaXMuc2hvd0dyYWJiaW5nQ3Vyc29yKCk7XG5cbiAgICBpZiAodGhpcy5kYXRhLnBvaW50ZXJMb2NrRW5hYmxlZCAmJiAhdGhpcy5wb2ludGVyTG9ja2VkKSB7XG4gICAgICBpZiAoY2FudmFzRWwucmVxdWVzdFBvaW50ZXJMb2NrKSB7XG4gICAgICAgIGNhbnZhc0VsLnJlcXVlc3RQb2ludGVyTG9jaygpO1xuICAgICAgfSBlbHNlIGlmIChjYW52YXNFbC5tb3pSZXF1ZXN0UG9pbnRlckxvY2spIHtcbiAgICAgICAgY2FudmFzRWwubW96UmVxdWVzdFBvaW50ZXJMb2NrKCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8qKlxuICAgKiBTaG93cyBncmFiYmluZyBjdXJzb3Igb24gc2NlbmVcbiAgICovXG4gIHNob3dHcmFiYmluZ0N1cnNvcjogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZWwuc2NlbmVFbC5jYW52YXMuc3R5bGUuY3Vyc29yID0gJ2dyYWJiaW5nJztcbiAgfSxcblxuICAvKipcbiAgICogSGlkZXMgZ3JhYmJpbmcgY3Vyc29yIG9uIHNjZW5lXG4gICAqL1xuICBoaWRlR3JhYmJpbmdDdXJzb3I6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmVsLnNjZW5lRWwuY2FudmFzLnN0eWxlLmN1cnNvciA9ICcnO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBtb3VzZSB1cCB0byBkZXRlY3QgcmVsZWFzZSBvZiBtb3VzZSBkcmFnLlxuICAgKi9cbiAgb25Nb3VzZVVwOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5tb3VzZURvd24gPSBmYWxzZTtcbiAgICB0aGlzLmhpZGVHcmFiYmluZ0N1cnNvcigpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0b3VjaCBkb3duIHRvIGRldGVjdCB0b3VjaCBkcmFnLlxuICAgKi9cbiAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgaWYgKGV2dC50b3VjaGVzLmxlbmd0aCAhPT0gMSB8fFxuICAgICAgICAhdGhpcy5kYXRhLnRvdWNoRW5hYmxlZCB8fFxuICAgICAgICB0aGlzLmVsLnNjZW5lRWwuaXMoJ3ZyLW1vZGUnKSkgeyByZXR1cm47IH1cbiAgICB0aGlzLnRvdWNoU3RhcnQgPSB7XG4gICAgICB4OiBldnQudG91Y2hlc1swXS5wYWdlWCxcbiAgICAgIHk6IGV2dC50b3VjaGVzWzBdLnBhZ2VZXG4gICAgfTtcbiAgICB0aGlzLnRvdWNoU3RhcnRlZCA9IHRydWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZSB0b3VjaCBtb3ZlIHRvIFktYXhpcyByb3RhdGlvbi5cbiAgICovXG4gIG9uVG91Y2hNb3ZlOiBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgdmFyIGRpcmVjdGlvbjtcbiAgICB2YXIgY2FudmFzID0gdGhpcy5lbC5zY2VuZUVsLmNhbnZhcztcbiAgICB2YXIgZGVsdGFZO1xuICAgIHZhciB5YXdPYmplY3QgPSB0aGlzLnlhd09iamVjdDtcblxuICAgIGlmICghdGhpcy50b3VjaFN0YXJ0ZWQgfHwgIXRoaXMuZGF0YS50b3VjaEVuYWJsZWQpIHsgcmV0dXJuOyB9XG5cbiAgICBkZWx0YVkgPSAyICogTWF0aC5QSSAqIChldnQudG91Y2hlc1swXS5wYWdlWCAtIHRoaXMudG91Y2hTdGFydC54KSAvIGNhbnZhcy5jbGllbnRXaWR0aDtcblxuICAgIGRpcmVjdGlvbiA9IHRoaXMuZGF0YS5yZXZlcnNlVG91Y2hEcmFnID8gMSA6IC0xO1xuICAgIC8vIExpbWl0IHRvdWNoIG9yaWVudGFpb24gdG8gdG8geWF3ICh5IGF4aXMpLlxuICAgIHlhd09iamVjdC5yb3RhdGlvbi55IC09IGRlbHRhWSAqIDAuNSAqIGRpcmVjdGlvbjtcbiAgICB0aGlzLnRvdWNoU3RhcnQgPSB7XG4gICAgICB4OiBldnQudG91Y2hlc1swXS5wYWdlWCxcbiAgICAgIHk6IGV2dC50b3VjaGVzWzBdLnBhZ2VZXG4gICAgfTtcbiAgfSxcblxuICAvKipcbiAgICogUmVnaXN0ZXIgdG91Y2ggZW5kIHRvIGRldGVjdCByZWxlYXNlIG9mIHRvdWNoIGRyYWcuXG4gICAqL1xuICBvblRvdWNoRW5kOiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy50b3VjaFN0YXJ0ZWQgPSBmYWxzZTtcbiAgfSxcblxuICAvKipcbiAgICogU2F2ZSBwb3NlLlxuICAgKi9cbiAgb25FbnRlclZSOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNjZW5lRWwgPSB0aGlzLmVsLnNjZW5lRWw7XG4gICAgaWYgKCFzY2VuZUVsLmNoZWNrSGVhZHNldENvbm5lY3RlZCgpKSB7IHJldHVybjsgfVxuICAgIHRoaXMuc2F2ZUNhbWVyYVBvc2UoKTtcbiAgICB0aGlzLmVsLm9iamVjdDNELnBvc2l0aW9uLnNldCgwLCAwLCAwKTtcbiAgICB0aGlzLmVsLm9iamVjdDNELnJvdGF0aW9uLnNldCgwLCAwLCAwKTtcbiAgICBpZiAoc2NlbmVFbC5oYXNXZWJYUikge1xuICAgICAgdGhpcy5lbC5vYmplY3QzRC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLmVsLm9iamVjdDNELnVwZGF0ZU1hdHJpeCgpO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogUmVzdG9yZSB0aGUgcG9zZS5cbiAgICovXG4gIG9uRXhpdFZSOiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLmVsLnNjZW5lRWwuY2hlY2tIZWFkc2V0Q29ubmVjdGVkKCkpIHsgcmV0dXJuOyB9XG4gICAgdGhpcy5yZXN0b3JlQ2FtZXJhUG9zZSgpO1xuICAgIHRoaXMucHJldmlvdXNITURQb3NpdGlvbi5zZXQoMCwgMCwgMCk7XG4gICAgdGhpcy5lbC5vYmplY3QzRC5tYXRyaXhBdXRvVXBkYXRlID0gdHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogVXBkYXRlIFBvaW50ZXIgTG9jayBzdGF0ZS5cbiAgICovXG4gIG9uUG9pbnRlckxvY2tDaGFuZ2U6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnBvaW50ZXJMb2NrZWQgPSAhIShkb2N1bWVudC5wb2ludGVyTG9ja0VsZW1lbnQgfHwgZG9jdW1lbnQubW96UG9pbnRlckxvY2tFbGVtZW50KTtcbiAgfSxcblxuICAvKipcbiAgICogUmVjb3ZlciBmcm9tIFBvaW50ZXIgTG9jayBlcnJvci5cbiAgICovXG4gIG9uUG9pbnRlckxvY2tFcnJvcjogZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucG9pbnRlckxvY2tlZCA9IGZhbHNlO1xuICB9LFxuXG4gIC8vIEV4aXRzIHBvaW50ZXItbG9ja2VkIG1vZGUuXG4gIGV4aXRQb2ludGVyTG9jazogZnVuY3Rpb24gKCkge1xuICAgIGRvY3VtZW50LmV4aXRQb2ludGVyTG9jaygpO1xuICAgIHRoaXMucG9pbnRlckxvY2tlZCA9IGZhbHNlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIGZlYXR1cmUgb2Ygc2hvd2luZy9oaWRpbmcgdGhlIGdyYWIgY3Vyc29yLlxuICAgKi9cbiAgdXBkYXRlR3JhYkN1cnNvcjogZnVuY3Rpb24gKGVuYWJsZWQpIHtcbiAgICB2YXIgc2NlbmVFbCA9IHRoaXMuZWwuc2NlbmVFbDtcblxuICAgIGZ1bmN0aW9uIGVuYWJsZUdyYWJDdXJzb3IgKCkgeyBzY2VuZUVsLmNhbnZhcy5jbGFzc0xpc3QuYWRkKCdhLWdyYWItY3Vyc29yJyk7IH1cbiAgICBmdW5jdGlvbiBkaXNhYmxlR3JhYkN1cnNvciAoKSB7IHNjZW5lRWwuY2FudmFzLmNsYXNzTGlzdC5yZW1vdmUoJ2EtZ3JhYi1jdXJzb3InKTsgfVxuXG4gICAgaWYgKCFzY2VuZUVsLmNhbnZhcykge1xuICAgICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXItdGFyZ2V0LWxvYWRlZCcsIGVuYWJsZUdyYWJDdXJzb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXItdGFyZ2V0LWxvYWRlZCcsIGRpc2FibGVHcmFiQ3Vyc29yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgZW5hYmxlR3JhYkN1cnNvcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkaXNhYmxlR3JhYkN1cnNvcigpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBTYXZlIGNhbWVyYSBwb3NlIGJlZm9yZSBlbnRlcmluZyBWUiB0byByZXN0b3JlIGxhdGVyIGlmIGV4aXRpbmcuXG4gICAqL1xuICBzYXZlQ2FtZXJhUG9zZTogZnVuY3Rpb24gKCkge1xuICAgIHZhciBlbCA9IHRoaXMuZWw7XG5cbiAgICB0aGlzLnNhdmVkUG9zZS5wb3NpdGlvbi5jb3B5KGVsLm9iamVjdDNELnBvc2l0aW9uKTtcbiAgICB0aGlzLnNhdmVkUG9zZS5yb3RhdGlvbi5jb3B5KGVsLm9iamVjdDNELnJvdGF0aW9uKTtcbiAgICB0aGlzLmhhc1NhdmVkUG9zZSA9IHRydWU7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJlc2V0IGNhbWVyYSBwb3NlIHRvIGJlZm9yZSBlbnRlcmluZyBWUi5cbiAgICovXG4gIHJlc3RvcmVDYW1lcmFQb3NlOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGVsID0gdGhpcy5lbDtcbiAgICB2YXIgc2F2ZWRQb3NlID0gdGhpcy5zYXZlZFBvc2U7XG5cbiAgICBpZiAoIXRoaXMuaGFzU2F2ZWRQb3NlKSB7IHJldHVybjsgfVxuXG4gICAgLy8gUmVzZXQgY2FtZXJhIG9yaWVudGF0aW9uLlxuICAgIGVsLm9iamVjdDNELnBvc2l0aW9uLmNvcHkoc2F2ZWRQb3NlLnBvc2l0aW9uKTtcbiAgICBlbC5vYmplY3QzRC5yb3RhdGlvbi5jb3B5KHNhdmVkUG9zZS5yb3RhdGlvbik7XG4gICAgdGhpcy5oYXNTYXZlZFBvc2UgPSBmYWxzZTtcbiAgfVxufSk7XG4iLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnYXJqcy13ZWJjYW0tdGV4dHVyZScsIHtcblxuICAgIGluaXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnNjZW5lID0gdGhpcy5lbC5zY2VuZUVsO1xuICAgICAgICB0aGlzLnRleENhbWVyYSA9IG5ldyBUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmEoLTAuNSwgMC41LCAwLjUsIC0wLjUsIDAsIDEwKTtcbiAgICAgICAgdGhpcy50ZXhTY2VuZSA9IG5ldyBUSFJFRS5TY2VuZSgpO1xuXG4gICAgICAgIHRoaXMuc2NlbmUucmVuZGVyZXIuYXV0b0NsZWFyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudmlkZW8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwidmlkZW9cIik7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwiYXV0b3BsYXlcIiwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwicGxheXNpbmxpbmVcIiwgdHJ1ZSk7XG4gICAgICAgIHRoaXMudmlkZW8uc2V0QXR0cmlidXRlKFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy52aWRlbyk7XG4gICAgICAgIHRoaXMuZ2VvbSA9IG5ldyBUSFJFRS5QbGFuZUJ1ZmZlckdlb21ldHJ5KCk7IC8vMC41LCAwLjUpO1xuICAgICAgICB0aGlzLnRleHR1cmUgPSBuZXcgVEhSRUUuVmlkZW9UZXh0dXJlKHRoaXMudmlkZW8pO1xuICAgICAgICB0aGlzLm1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKCB7IG1hcDogdGhpcy50ZXh0dXJlIH0gKTtcbiAgICAgICAgY29uc3QgbWVzaCA9IG5ldyBUSFJFRS5NZXNoKHRoaXMuZ2VvbSwgdGhpcy5tYXRlcmlhbCk7XG4gICAgICAgIHRoaXMudGV4U2NlbmUuYWRkKG1lc2gpO1xuICAgIH0sXG5cbiAgICBwbGF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyAmJiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSkge1xuICAgICAgICAgICAgY29uc3QgY29uc3RyYWludHMgPSB7IHZpZGVvOiB7XG4gICAgICAgICAgICAgICAgZmFjaW5nTW9kZTogJ2Vudmlyb25tZW50JyB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoY29uc3RyYWludHMpLnRoZW4oIHN0cmVhbT0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpZGVvLnNyY09iamVjdCA9IHN0cmVhbTsgICAgXG4gICAgICAgICAgICAgICAgdGhpcy52aWRlby5wbGF5KCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGUgPT4geyAgXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5zY2VuZUVsLnN5c3RlbXNbJ2FyanMnXS5fZGlzcGxheUVycm9yUG9wdXAoYFdlYmNhbSBlcnJvcjogJHtlfWApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnc29ycnkgLSBtZWRpYSBkZXZpY2VzIEFQSSBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgdGljazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuc2NlbmUucmVuZGVyZXIuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zY2VuZS5yZW5kZXJlci5yZW5kZXIodGhpcy50ZXhTY2VuZSwgdGhpcy50ZXhDYW1lcmEpO1xuICAgICAgICB0aGlzLnNjZW5lLnJlbmRlcmVyLmNsZWFyRGVwdGgoKTtcbiAgICB9LFxuXG4gICAgcGF1c2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLnZpZGVvLnNyY09iamVjdC5nZXRUcmFja3MoKS5mb3JFYWNoICggdHJhY2sgPT4ge1xuICAgICAgICAgICAgdHJhY2suc3RvcCgpO1xuICAgICAgICB9KTtcbiAgICB9LFxuXG4gICAgcmVtb3ZlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5tYXRlcmlhbC5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMudGV4dHVyZS5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuZ2VvbS5kaXNwb3NlKCk7XG4gICAgfVxufSk7XG4iLCIvKlxuICogVVBEQVRFUyAyOC8wOC8yMDpcbiAqXG4gKiAtIGFkZCBncHNNaW5EaXN0YW5jZSBhbmQgZ3BzVGltZUludGVydmFsIHByb3BlcnRpZXMgdG8gY29udHJvbCBob3dcbiAqIGZyZXF1ZW50bHkgR1BTIHVwZGF0ZXMgYXJlIHByb2Nlc3NlZC4gQWltIGlzIHRvIHByZXZlbnQgJ3N0dXR0ZXJpbmcnXG4gKiBlZmZlY3RzIHdoZW4gY2xvc2UgdG8gQVIgY29udGVudCBkdWUgdG8gY29udGludW91cyBzbWFsbCBjaGFuZ2VzIGluXG4gKiBsb2NhdGlvbi5cbiAqL1xuXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdncHMtY2FtZXJhJywge1xuICAgIF93YXRjaFBvc2l0aW9uSWQ6IG51bGwsXG4gICAgb3JpZ2luQ29vcmRzOiBudWxsLFxuICAgIGN1cnJlbnRDb29yZHM6IG51bGwsXG4gICAgbG9va0NvbnRyb2xzOiBudWxsLFxuICAgIGhlYWRpbmc6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIHNpbXVsYXRlTGF0aXR1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgc2ltdWxhdGVMb25naXR1ZGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICAgICAgc2ltdWxhdGVBbHRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBwb3NpdGlvbk1pbkFjY3VyYWN5OiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgICAgYWxlcnQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBtaW5EaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ2ludCcsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBtYXhEaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ2ludCcsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBncHNNaW5EaXN0YW5jZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiA1LFxuICAgICAgICB9LFxuICAgICAgICBncHNUaW1lSW50ZXJ2YWw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogMCxcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcblxuICAgICAgICAgICAgLy8gcmUtdHJpZ2dlciBpbml0aWFsaXphdGlvbiBmb3IgbmV3IG9yaWdpblxuICAgICAgICAgICAgdGhpcy5vcmlnaW5Db29yZHMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24gKCkgeyAgICAgIFxuICAgICAgICBpZiAoIXRoaXMuZWwuY29tcG9uZW50c1snYXJqcy1sb29rLWNvbnRyb2xzJ10gJiYgIXRoaXMuZWwuY29tcG9uZW50c1snbG9vay1jb250cm9scyddKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIGxhdGl0dWRlOiAwLFxuICAgICAgICAgICAgbG9uZ2l0dWRlOiAwXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5sb2FkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgdGhpcy5sb2FkZXIuY2xhc3NMaXN0LmFkZCgnYXJqcy1sb2FkZXInKTtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmxvYWRlcik7XG5cbiAgICAgICAgdGhpcy5vbkdwc0VudGl0eVBsYWNlQWRkZWQgPSB0aGlzLl9vbkdwc0VudGl0eVBsYWNlQWRkZWQuYmluZCh0aGlzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1lbnRpdHktcGxhY2UtYWRkZWQnLCB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCk7XG5cbiAgICAgICAgdGhpcy5sb29rQ29udHJvbHMgPSB0aGlzLmVsLmNvbXBvbmVudHNbJ2FyanMtbG9vay1jb250cm9scyddIHx8IHRoaXMuZWwuY29tcG9uZW50c1snbG9vay1jb250cm9scyddO1xuXG4gICAgICAgIC8vIGxpc3RlbiB0byBkZXZpY2VvcmllbnRhdGlvbiBldmVudFxuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbiA9IHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24uYmluZCh0aGlzKTtcblxuICAgICAgICAvLyBpZiBTYWZhcmlcbiAgICAgICAgaWYgKCEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVmVyc2lvblxcL1tcXGQuXSsuKlNhZmFyaS8pKSB7XG4gICAgICAgICAgICAvLyBpT1MgMTMrXG4gICAgICAgICAgICBpZiAodHlwZW9mIERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlcXVlc3RpbmcgZGV2aWNlIG9yaWVudGF0aW9uIHBlcm1pc3Npb25zLi4uJylcbiAgICAgICAgICAgICAgICAgICAgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGhhbmRsZXIpO1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIGZ1bmN0aW9uICgpIHsgaGFuZGxlcigpIH0sIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCAnQWZ0ZXIgY2FtZXJhIHBlcm1pc3Npb24gcHJvbXB0LCBwbGVhc2UgdGFwIHRoZSBzY3JlZW4gdG8gYWN0aXZhdGUgZ2VvbG9jYXRpb24uJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciB0aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgZW5hYmxlIGRldmljZSBvcmllbnRhdGlvbiBpbiBTZXR0aW5ncyA+IFNhZmFyaSA+IE1vdGlvbiAmIE9yaWVudGF0aW9uIEFjY2Vzcy4nKTtcbiAgICAgICAgICAgICAgICB9LCA3NTApO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcblxuICAgIH0sXG5cbiAgICBwbGF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlICE9PSAwICYmIHRoaXMuZGF0YS5zaW11bGF0ZUxvbmdpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRDb29yZHMgfHwge30pO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sb25naXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGU7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHMgPSBsb2NhbFBvc2l0aW9uO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3dhdGNoUG9zaXRpb25JZCA9IHRoaXMuX2luaXRXYXRjaEdQUyhmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgICB2YXIgbG9jYWxQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGF0aXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiBwb3NpdGlvbi5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZTogcG9zaXRpb24uY29vcmRzLmFsdGl0dWRlLFxuICAgICAgICAgICAgICAgICAgICBhY2N1cmFjeTogcG9zaXRpb24uY29vcmRzLmFjY3VyYWN5LFxuICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZUFjY3VyYWN5OiBwb3NpdGlvbi5jb29yZHMuYWx0aXR1ZGVBY2N1cmFjeSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVBbHRpdHVkZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBsb2NhbFBvc2l0aW9uLmFsdGl0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcbiAgICAgICAgICAgICAgICB2YXIgZGlzdE1vdmVkID0gdGhpcy5faGF2ZXJzaW5lRGlzdChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3Jkc1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBpZihkaXN0TW92ZWQgPj0gdGhpcy5kYXRhLmdwc01pbkRpc3RhbmNlIHx8ICF0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhc3RQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubGF0aXR1ZGVcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LmJpbmQodGhpcykpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHRpY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuaGVhZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvdGF0aW9uKCk7XG4gICAgfSxcblxuICAgIHBhdXNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dhdGNoUG9zaXRpb25JZCkge1xuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fd2F0Y2hQb3NpdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSBudWxsO1xuICAgIH0sXG5cbiAgICByZW1vdmU6IGZ1bmN0aW9uICgpIHtcblxuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uLCBmYWxzZSk7XG5cbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dwcy1lbnRpdHktcGxhY2UtYWRkZWQnLCB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQgbmFtZSwgZGVwZW5kcyBvbiBicm93c2VyIGltcGxlbWVudGF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGV2ZW50IG5hbWVcbiAgICAgKi9cbiAgICBfZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJ1xuICAgICAgICB9IGVsc2UgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uJyBpbiB3aW5kb3cpIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnZGV2aWNlb3JpZW50YXRpb24nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJydcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvbXBhc3Mgbm90IHN1cHBvcnRlZCcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXZlbnROYW1lXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBjdXJyZW50IHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvblN1Y2Nlc3NcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkVycm9yXG4gICAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAgICovXG4gICAgX2luaXRXYXRjaEdQUzogZnVuY3Rpb24gKG9uU3VjY2Vzcywgb25FcnJvcikge1xuICAgICAgICBpZiAoIW9uRXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdFUlJPUignICsgZXJyLmNvZGUgKyAnKTogJyArIGVyci5tZXNzYWdlKVxuXG4gICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFVzZXIgZGVuaWVkIEdlb0xvY2F0aW9uLCBsZXQgdGhlaXIga25vdyB0aGF0XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdQbGVhc2UgYWN0aXZhdGUgR2VvbG9jYXRpb24gYW5kIHJlZnJlc2ggdGhlIHBhZ2UuIElmIGl0IGlzIGFscmVhZHkgYWN0aXZlLCBwbGVhc2UgY2hlY2sgcGVybWlzc2lvbnMgZm9yIHRoaXMgd2Vic2l0ZS4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnQ2Fubm90IHJldHJpZXZlIEdQUyBwb3NpdGlvbi4gU2lnbmFsIGlzIGFic2VudC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvbkVycm9yKHsgY29kZTogMCwgbWVzc2FnZTogJ0dlb2xvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyJyB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9HZW9sb2NhdGlvbi93YXRjaFBvc2l0aW9uXG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihvblN1Y2Nlc3MsIG9uRXJyb3IsIHtcbiAgICAgICAgICAgIGVuYWJsZUhpZ2hBY2N1cmFjeTogdHJ1ZSxcbiAgICAgICAgICAgIG1heGltdW1BZ2U6IHRoaXMuZGF0YS5ncHNUaW1lSW50ZXJ2YWwsXG4gICAgICAgICAgICB0aW1lb3V0OiAyNzAwMCxcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIGRvbid0IHVwZGF0ZSBpZiBhY2N1cmFjeSBpcyBub3QgZ29vZCBlbm91Z2hcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudENvb3Jkcy5hY2N1cmFjeSA+IHRoaXMuZGF0YS5wb3NpdGlvbk1pbkFjY3VyYWN5KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmFsZXJ0ICYmICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYWxlcnQtcG9wdXAnKSkge1xuICAgICAgICAgICAgICAgIHZhciBwb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgIHBvcHVwLmlubmVySFRNTCA9ICdHUFMgc2lnbmFsIGlzIHZlcnkgcG9vci4gVHJ5IG1vdmUgb3V0ZG9vciBvciB0byBhbiBhcmVhIHdpdGggYSBiZXR0ZXIgc2lnbmFsLidcbiAgICAgICAgICAgICAgICBwb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2FsZXJ0LXBvcHVwJyk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYWxlcnRQb3B1cCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1wb3B1cCcpO1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29vcmRzLmFjY3VyYWN5IDw9IHRoaXMuZGF0YS5wb3NpdGlvbk1pbkFjY3VyYWN5ICYmIGFsZXJ0UG9wdXApIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYWxlcnRQb3B1cCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICAvLyBmaXJzdCBjYW1lcmEgaW5pdGlhbGl6YXRpb25cbiAgICAgICAgICAgIHRoaXMub3JpZ2luQ29vcmRzID0gdGhpcy5jdXJyZW50Q29vcmRzO1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcblxuICAgICAgICAgICAgdmFyIGxvYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcmpzLWxvYWRlcicpO1xuICAgICAgICAgICAgaWYgKGxvYWRlcikge1xuICAgICAgICAgICAgICAgIGxvYWRlci5yZW1vdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS1vcmlnaW4tY29vcmQtc2V0JykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fc2V0UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgX3NldFBvc2l0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgICAgIC8vIGNvbXB1dGUgcG9zaXRpb24ueFxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IHRoaXMub3JpZ2luQ29vcmRzLmxhdGl0dWRlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHBvc2l0aW9uLnggPSB0aGlzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyh0aGlzLm9yaWdpbkNvb3JkcywgZHN0Q29vcmRzKTtcbiAgICAgICAgcG9zaXRpb24ueCAqPSB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlID4gdGhpcy5vcmlnaW5Db29yZHMubG9uZ2l0dWRlID8gMSA6IC0xO1xuXG4gICAgICAgIC8vIGNvbXB1dGUgcG9zaXRpb24uelxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLm9yaWdpbkNvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLFxuICAgICAgICB9XG5cbiAgICAgICAgcG9zaXRpb24ueiA9IHRoaXMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKHRoaXMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuICAgICAgICBwb3NpdGlvbi56ICo9IHRoaXMuY3VycmVudENvb3Jkcy5sYXRpdHVkZSA+IHRoaXMub3JpZ2luQ29vcmRzLmxhdGl0dWRlID8gLTEgOiAxO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvblxuICAgICAgICB0aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG5cbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHsgZGV0YWlsOiB7IHBvc2l0aW9uOiB0aGlzLmN1cnJlbnRDb29yZHMsIG9yaWdpbjogdGhpcy5vcmlnaW5Db29yZHMgfSB9KSk7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGRpc3RhbmNlIGluIG1ldGVycyBiZXR3ZWVuIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gaW5wdXRzLlxuICAgICAqXG4gICAgICogIENhbGN1bGF0ZSBkaXN0YW5jZSwgYmVhcmluZyBhbmQgbW9yZSBiZXR3ZWVuIExhdGl0dWRlL0xvbmdpdHVkZSBwb2ludHNcbiAgICAgKiAgRGV0YWlsczogaHR0cHM6Ly93d3cubW92YWJsZS10eXBlLmNvLnVrL3NjcmlwdHMvbGF0bG9uZy5odG1sXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1Bvc2l0aW9ufSBzcmNcbiAgICAgKiBAcGFyYW0ge1Bvc2l0aW9ufSBkZXN0XG4gICAgICogQHBhcmFtIHtCb29sZWFufSBpc1BsYWNlXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBkaXN0YW5jZSB8IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICovXG4gICAgY29tcHV0ZURpc3RhbmNlTWV0ZXJzOiBmdW5jdGlvbiAoc3JjLCBkZXN0LCBpc1BsYWNlKSB7XG4gICAgICAgIHZhciBkaXN0YW5jZSA9IHRoaXMuX2hhdmVyc2luZURpc3QgKHNyYywgZGVzdCk7XG5cbiAgICAgICAgLy8gaWYgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkIGZvciBhIHBsYWNlLCBhbmQgaWYgaXQncyB0b28gbmVhciBhbmQgYSBtaW4gZGlzdGFuY2UgaGFzIGJlZW4gc2V0LFxuICAgICAgICAvLyByZXR1cm4gbWF4IGRpc3RhbmNlIHBvc3NpYmxlIC0gdG8gYmUgaGFuZGxlZCBieSB0aGUgY2FsbGVyXG4gICAgICAgIGlmIChpc1BsYWNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSAmJiB0aGlzLmRhdGEubWluRGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlIDwgdGhpcy5kYXRhLm1pbkRpc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBmdW5jdGlvbiBoYXMgYmVlbiBjYWxsZWQgZm9yIGEgcGxhY2UsIGFuZCBpZiBpdCdzIHRvbyBmYXIgYW5kIGEgbWF4IGRpc3RhbmNlIGhhcyBiZWVuIHNldCxcbiAgICAgICAgLy8gcmV0dXJuIG1heCBkaXN0YW5jZSBwb3NzaWJsZSAtIHRvIGJlIGhhbmRsZWQgYnkgdGhlIGNhbGxlclxuICAgICAgICBpZiAoaXNQbGFjZSAmJiB0aGlzLmRhdGEubWF4RGlzdGFuY2UgJiYgdGhpcy5kYXRhLm1heERpc3RhbmNlID4gMCAmJiBkaXN0YW5jZSA+IHRoaXMuZGF0YS5tYXhEaXN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRpc3RhbmNlO1xuICAgIH0sXG5cbiAgICBfaGF2ZXJzaW5lRGlzdDogZnVuY3Rpb24gKHNyYywgZGVzdCkge1xuICAgICAgICB2YXIgZGxvbmdpdHVkZSA9IFRIUkVFLk1hdGguZGVnVG9SYWQoZGVzdC5sb25naXR1ZGUgLSBzcmMubG9uZ2l0dWRlKTtcbiAgICAgICAgdmFyIGRsYXRpdHVkZSA9IFRIUkVFLk1hdGguZGVnVG9SYWQoZGVzdC5sYXRpdHVkZSAtIHNyYy5sYXRpdHVkZSk7XG5cbiAgICAgICAgdmFyIGEgPSAoTWF0aC5zaW4oZGxhdGl0dWRlIC8gMikgKiBNYXRoLnNpbihkbGF0aXR1ZGUgLyAyKSkgKyBNYXRoLmNvcyhUSFJFRS5NYXRoLmRlZ1RvUmFkKHNyYy5sYXRpdHVkZSkpICogTWF0aC5jb3MoVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxhdGl0dWRlKSkgKiAoTWF0aC5zaW4oZGxvbmdpdHVkZSAvIDIpICogTWF0aC5zaW4oZGxvbmdpdHVkZSAvIDIpKTtcbiAgICAgICAgdmFyIGFuZ2xlID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcbiAgICAgICAgcmV0dXJuIGFuZ2xlICogNjM3MTAwMDtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBjb21wYXNzIGhlYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYmV0YVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBnYW1tYVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gY29tcGFzcyBoZWFkaW5nXG4gICAgICovXG4gICAgX2NvbXB1dGVDb21wYXNzSGVhZGluZzogZnVuY3Rpb24gKGFscGhhLCBiZXRhLCBnYW1tYSkge1xuXG4gICAgICAgIC8vIENvbnZlcnQgZGVncmVlcyB0byByYWRpYW5zXG4gICAgICAgIHZhciBhbHBoYVJhZCA9IGFscGhhICogKE1hdGguUEkgLyAxODApO1xuICAgICAgICB2YXIgYmV0YVJhZCA9IGJldGEgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHZhciBnYW1tYVJhZCA9IGdhbW1hICogKE1hdGguUEkgLyAxODApO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBlcXVhdGlvbiBjb21wb25lbnRzXG4gICAgICAgIHZhciBjQSA9IE1hdGguY29zKGFscGhhUmFkKTtcbiAgICAgICAgdmFyIHNBID0gTWF0aC5zaW4oYWxwaGFSYWQpO1xuICAgICAgICB2YXIgc0IgPSBNYXRoLnNpbihiZXRhUmFkKTtcbiAgICAgICAgdmFyIGNHID0gTWF0aC5jb3MoZ2FtbWFSYWQpO1xuICAgICAgICB2YXIgc0cgPSBNYXRoLnNpbihnYW1tYVJhZCk7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIEEsIEIsIEMgcm90YXRpb24gY29tcG9uZW50c1xuICAgICAgICB2YXIgckEgPSAtIGNBICogc0cgLSBzQSAqIHNCICogY0c7XG4gICAgICAgIHZhciByQiA9IC0gc0EgKiBzRyArIGNBICogc0IgKiBjRztcblxuICAgICAgICAvLyBDYWxjdWxhdGUgY29tcGFzcyBoZWFkaW5nXG4gICAgICAgIHZhciBjb21wYXNzSGVhZGluZyA9IE1hdGguYXRhbihyQSAvIHJCKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGZyb20gaGFsZiB1bml0IGNpcmNsZSB0byB3aG9sZSB1bml0IGNpcmNsZVxuICAgICAgICBpZiAockIgPCAwKSB7XG4gICAgICAgICAgICBjb21wYXNzSGVhZGluZyArPSBNYXRoLlBJO1xuICAgICAgICB9IGVsc2UgaWYgKHJBIDwgMCkge1xuICAgICAgICAgICAgY29tcGFzc0hlYWRpbmcgKz0gMiAqIE1hdGguUEk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb252ZXJ0IHJhZGlhbnMgdG8gZGVncmVlc1xuICAgICAgICBjb21wYXNzSGVhZGluZyAqPSAxODAgLyBNYXRoLlBJO1xuXG4gICAgICAgIHJldHVybiBjb21wYXNzSGVhZGluZztcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlciBmb3IgZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfb25EZXZpY2VPcmllbnRhdGlvbjogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC53ZWJraXRDb21wYXNzSGVhZGluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5IDwgNTApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRpbmcgPSBldmVudC53ZWJraXRDb21wYXNzSGVhZGluZztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCd3ZWJraXRDb21wYXNzQWNjdXJhY3kgaXMgZXZlbnQud2Via2l0Q29tcGFzc0FjY3VyYWN5Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYWxwaGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5hYnNvbHV0ZSA9PT0gdHJ1ZSB8fCBldmVudC5hYnNvbHV0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkaW5nID0gdGhpcy5fY29tcHV0ZUNvbXBhc3NIZWFkaW5nKGV2ZW50LmFscGhhLCBldmVudC5iZXRhLCBldmVudC5nYW1tYSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignZXZlbnQuYWJzb2x1dGUgPT09IGZhbHNlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ2V2ZW50LmFscGhhID09PSBudWxsJyk7XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHVzZXIgcm90YXRpb24gZGF0YS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF91cGRhdGVSb3RhdGlvbjogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgaGVhZGluZyA9IDM2MCAtIHRoaXMuaGVhZGluZztcbiAgICAgICAgdmFyIGNhbWVyYVJvdGF0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3JvdGF0aW9uJykueTtcbiAgICAgICAgdmFyIHlhd1JvdGF0aW9uID0gVEhSRUUuTWF0aC5yYWRUb0RlZyh0aGlzLmxvb2tDb250cm9scy55YXdPYmplY3Qucm90YXRpb24ueSk7XG4gICAgICAgIHZhciBvZmZzZXQgPSAoaGVhZGluZyAtIChjYW1lcmFSb3RhdGlvbiAtIHlhd1JvdGF0aW9uKSkgJSAzNjA7XG4gICAgICAgIHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55ID0gVEhSRUUuTWF0aC5kZWdUb1JhZChvZmZzZXQpO1xuICAgIH0sXG4gICAgXG4gICAgX29uR3BzRW50aXR5UGxhY2VBZGRlZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIGlmIHBsYWNlcyBhcmUgYWRkZWQgYWZ0ZXIgY2FtZXJhIGluaXRpYWxpemF0aW9uIGlzIGZpbmlzaGVkXG4gICAgICAgIGlmICh0aGlzLm9yaWdpbkNvb3Jkcykge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdncHMtY2FtZXJhLW9yaWdpbi1jb29yZC1zZXQnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubG9hZGVyICYmIHRoaXMubG9hZGVyLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5sb2FkZXIpXG4gICAgICAgIH1cbiAgICB9XG59KTsiLCJpbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJztcblxuQUZSQU1FLnJlZ2lzdGVyQ29tcG9uZW50KCdncHMtZW50aXR5LXBsYWNlJywge1xuICAgIF9jYW1lcmFHcHM6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIGxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBsYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBjbGVhbmluZyBsaXN0ZW5lcnMgd2hlbiB0aGUgZW50aXR5IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLW9yaWdpbi1jb29yZC1zZXQnLCB0aGlzLmNvb3JkU2V0TGlzdGVuZXIpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZ3BzLWNhbWVyYS11cGRhdGUtcG9zaXRpb24nLCB0aGlzLnVwZGF0ZVBvc2l0aW9uTGlzdGVuZXIpO1xuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuY29vcmRTZXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhbWVyYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tncHMtY2FtZXJhXScpO1xuICAgICAgICAgICAgICAgIGlmICghY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1jYW1lcmEnXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdncHMtY2FtZXJhIG5vdCBpbml0aWFsaXplZCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FtZXJhR3BzID0gY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1jYW1lcmEnXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyID0gKGV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YSB8fCAhdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogdGhpcy5kYXRhLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5kYXRhLmxhdGl0dWRlLFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgLy8gaXQncyBhY3R1YWxseSBhICdkaXN0YW5jZSBwbGFjZScsIGJ1dCB3ZSBkb24ndCBjYWxsIGl0IHdpdGggbGFzdCBwYXJhbSwgYmVjYXVzZSB3ZSB3YW50IHRvIHJldHJpZXZlIGRpc3RhbmNlIGV2ZW4gaWYgaXQncyA8IG1pbkRpc3RhbmNlIHByb3BlcnR5XG4gICAgICAgICAgICB2YXIgZGlzdGFuY2VGb3JNc2cgPSB0aGlzLl9jYW1lcmFHcHMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKGV2LmRldGFpbC5wb3NpdGlvbiwgZHN0Q29vcmRzKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlJywgZGlzdGFuY2VGb3JNc2cpO1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlTXNnJywgZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2VGb3JNc2cpKTtcbiAgICAgICAgICAgIHRoaXMuZWwuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1lbnRpdHktcGxhY2UtdXBkYXRlLXBvc2l0aW9uJywgeyBkZXRhaWw6IHsgZGlzdGFuY2U6IGRpc3RhbmNlRm9yTXNnIH0gfSkpO1xuXG4gICAgICAgICAgICB2YXIgYWN0dWFsRGlzdGFuY2UgPSB0aGlzLl9jYW1lcmFHcHMuY29tcHV0ZURpc3RhbmNlTWV0ZXJzKGV2LmRldGFpbC5wb3NpdGlvbiwgZHN0Q29vcmRzLCB0cnVlKTtcblxuICAgICAgICAgICAgaWYgKGFjdHVhbERpc3RhbmNlID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGb3JNaW5EaXN0YW5jZSh0aGlzLmVsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcsIHRoaXMuY29vcmRTZXRMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5fcG9zaXRpb25YRGVidWcgPSAwO1xuXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHsgZGV0YWlsOiB7IGNvbXBvbmVudDogdGhpcy5lbCB9IH0pKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEhpZGUgZW50aXR5IGFjY29yZGluZyB0byBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIGhpZGVGb3JNaW5EaXN0YW5jZTogZnVuY3Rpb24oZWwsIGhpZGVFbnRpdHkpIHtcbiAgICAgICAgaWYgKGhpZGVFbnRpdHkpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndmlzaWJsZScsICdmYWxzZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHBsYWNlIHBvc2l0aW9uXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHBvc2l0aW9uID0geyB4OiAwLCB5OiB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKS55IHx8IDAsIHo6IDAgfVxuXG4gICAgICAgIC8vIHVwZGF0ZSBwb3NpdGlvbi54XG4gICAgICAgIHZhciBkc3RDb29yZHMgPSB7XG4gICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuZGF0YS5sb25naXR1ZGUsXG4gICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3Jkcy5sYXRpdHVkZSxcbiAgICAgICAgfTtcblxuICAgICAgICBwb3NpdGlvbi54ID0gdGhpcy5fY2FtZXJhR3BzLmNvbXB1dGVEaXN0YW5jZU1ldGVycyh0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLCBkc3RDb29yZHMpO1xuXG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uWERlYnVnID0gcG9zaXRpb24ueDtcblxuICAgICAgICBwb3NpdGlvbi54ICo9IHRoaXMuZGF0YS5sb25naXR1ZGUgPiB0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLmxvbmdpdHVkZSA/IDEgOiAtMTtcblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb24uelxuICAgICAgICB2YXIgZHN0Q29vcmRzID0ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiB0aGlzLl9jYW1lcmFHcHMub3JpZ2luQ29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgIGxhdGl0dWRlOiB0aGlzLmRhdGEubGF0aXR1ZGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgcG9zaXRpb24ueiA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnModGhpcy5fY2FtZXJhR3BzLm9yaWdpbkNvb3JkcywgZHN0Q29vcmRzKTtcblxuICAgICAgICBwb3NpdGlvbi56ICo9IHRoaXMuZGF0YS5sYXRpdHVkZSA+IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMubGF0aXR1ZGUgPyAtMSA6IDE7XG5cbiAgICAgICAgaWYgKHBvc2l0aW9uLnkgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBhbHRpdHVkZSA9IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMuYWx0aXR1ZGUgIT09IHVuZGVmaW5lZCA/IHRoaXMuX2NhbWVyYUdwcy5vcmlnaW5Db29yZHMuYWx0aXR1ZGUgOiAwO1xuICAgICAgICAgICAgcG9zaXRpb24ueSA9IHBvc2l0aW9uLnkgLSBhbHRpdHVkZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHVwZGF0ZSBlbGVtZW50J3MgcG9zaXRpb24gaW4gM0Qgd29ybGRcbiAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgcG9zaXRpb24pO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBGb3JtYXQgZGlzdGFuY2VzIHN0cmluZ1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXN0YW5jZVxuICovXG5mdW5jdGlvbiBmb3JtYXREaXN0YW5jZShkaXN0YW5jZSkge1xuICAgIGRpc3RhbmNlID0gZGlzdGFuY2UudG9GaXhlZCgwKTtcblxuICAgIGlmIChkaXN0YW5jZSA+PSAxMDAwKSB7XG4gICAgICAgIHJldHVybiAoZGlzdGFuY2UgLyAxMDAwKSArICcga2lsb21ldGVycyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpc3RhbmNlICsgJyBtZXRlcnMnO1xufTtcbiIsIi8qKiBncHMtcHJvamVjdGVkLWNhbWVyYVxuICpcbiAqIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCBncHMtY2FtZXJhLCBtb2RpZmllZCBieSBuaWNrdyAwMi8wNC8yMFxuICpcbiAqIFJhdGhlciB0aGFuIGtlZXBpbmcgdHJhY2sgb2YgcG9zaXRpb24gYnkgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mXG4gKiBlbnRpdGllcyBvciB0aGUgY3VycmVudCBsb2NhdGlvbiB0byB0aGUgb3JpZ2luYWwgbG9jYXRpb24sIHRoaXMgdmVyc2lvblxuICogbWFrZXMgdXNlIG9mIHRoZSBcIkdvb2dsZVwiIFNwaGVyaWNhbCBNZXJjYWN0b3IgcHJvamVjdGlvbiwgYWthIGVwc2c6Mzg1Ny5cbiAqXG4gKiBUaGUgb3JpZ2luYWwgcG9zaXRpb24gKGxhdC9sb24pIGlzIHByb2plY3RlZCBpbnRvIFNwaGVyaWNhbCBNZXJjYXRvciBhbmRcbiAqIHN0b3JlZC5cbiAqXG4gKiBUaGVuLCB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcG9zaXRpb24gKGxhdC9sb24pLCB0aGlzIG5ldyBwb3NpdGlvbiBpc1xuICogcHJvamVjdGVkIGludG8gU3BoZXJpY2FsIE1lcmNhdG9yIGFuZCB0aGVuIGl0cyB3b3JsZCBwb3NpdGlvbiBjYWxjdWxhdGVkXG4gKiBieSBjb21wYXJpbmcgYWdhaW5zdCB0aGUgb3JpZ2luYWwgcG9zaXRpb24uXG4gKlxuICogVGhlIHNhbWUgaXMgYWxzbyB0aGUgY2FzZSBmb3IgJ2VudGl0eS1wbGFjZXMnOyB3aGVuIHRoZXNlIGFyZSBhZGRlZCwgdGhlaXJcbiAqIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZHMgYXJlIGNhbGN1bGF0ZWQgKHNlZSBncHMtcHJvamVjdGVkLWVudGl0eS1wbGFjZSkuXG4gKlxuICogU3BoZXJpY2FsIE1lcmNhdG9yIHVuaXRzIGFyZSBjbG9zZSB0bywgYnV0IG5vdCBleGFjdGx5LCBtZXRyZXMsIGFuZCBhcmVcbiAqIGhlYXZpbHkgZGlzdG9ydGVkIG5lYXIgdGhlIHBvbGVzLiBOb25ldGhlbGVzcyB0aGV5IGFyZSBhIGdvb2QgYXBwcm94aW1hdGlvblxuICogZm9yIG1hbnkgYXJlYXMgb2YgdGhlIHdvcmxkIGFuZCBhcHBlYXIgbm90IHRvIGNhdXNlIHVuYWNjZXB0YWJsZSBkaXN0b3J0aW9uc1xuICogd2hlbiB1c2VkIGFzIHRoZSB1bml0cyBmb3IgQVIgYXBwcy5cbiAqXG4gKiBVUERBVEVTIDI4LzA4LzIwOlxuICpcbiAqIC0gYWRkIGdwc01pbkRpc3RhbmNlIGFuZCBncHNUaW1lSW50ZXJ2YWwgcHJvcGVydGllcyB0byBjb250cm9sIGhvd1xuICogZnJlcXVlbnRseSBHUFMgdXBkYXRlcyBhcmUgcHJvY2Vzc2VkLiBBaW0gaXMgdG8gcHJldmVudCAnc3R1dHRlcmluZydcbiAqIGVmZmVjdHMgd2hlbiBjbG9zZSB0byBBUiBjb250ZW50IGR1ZSB0byBjb250aW51b3VzIHNtYWxsIGNoYW5nZXMgaW5cbiAqIGxvY2F0aW9uLlxuICovXG5cbmltcG9ydCAqIGFzIEFGUkFNRSBmcm9tICdhZnJhbWUnXG5cbkFGUkFNRS5yZWdpc3RlckNvbXBvbmVudCgnZ3BzLXByb2plY3RlZC1jYW1lcmEnLCB7XG4gICAgX3dhdGNoUG9zaXRpb25JZDogbnVsbCxcbiAgICBvcmlnaW5Db29yZHM6IG51bGwsIC8vIG9yaWdpbmFsIGNvb3JkcyBub3cgaW4gU3BoZXJpY2FsIE1lcmNhdG9yXG4gICAgY3VycmVudENvb3JkczogbnVsbCxcbiAgICBsb29rQ29udHJvbHM6IG51bGwsXG4gICAgaGVhZGluZzogbnVsbCxcbiAgICBzY2hlbWE6IHtcbiAgICAgICAgc2ltdWxhdGVMYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBzaW11bGF0ZUFsdGl0dWRlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIHBvc2l0aW9uTWluQWNjdXJhY3k6IHtcbiAgICAgICAgICAgIHR5cGU6ICdpbnQnLFxuICAgICAgICAgICAgZGVmYXVsdDogMTAwLFxuICAgICAgICB9LFxuICAgICAgICBhbGVydDoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIG1pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnaW50JyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGdwc01pbkRpc3RhbmNlOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICAgICAgZ3BzVGltZUludGVydmFsOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IDBcbiAgICAgICAgfSxcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5sYXRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUxhdGl0dWRlO1xuICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcblxuICAgICAgICAgICAgLy8gcmUtdHJpZ2dlciBpbml0aWFsaXphdGlvbiBmb3IgbmV3IG9yaWdpblxuICAgICAgICAgICAgdGhpcy5vcmlnaW5Db29yZHMgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICghdGhpcy5lbC5jb21wb25lbnRzWydhcmpzLWxvb2stY29udHJvbHMnXSAmJiAhdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ10pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGFzdFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgbGF0aXR1ZGU6IDAsXG4gICAgICAgICAgICBsb25naXR1ZGU6IDBcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmxvYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ0RJVicpO1xuICAgICAgICB0aGlzLmxvYWRlci5jbGFzc0xpc3QuYWRkKCdhcmpzLWxvYWRlcicpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMubG9hZGVyKTtcblxuICAgICAgICB0aGlzLm9uR3BzRW50aXR5UGxhY2VBZGRlZCA9IHRoaXMuX29uR3BzRW50aXR5UGxhY2VBZGRlZC5iaW5kKHRoaXMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHRoaXMub25HcHNFbnRpdHlQbGFjZUFkZGVkKTtcblxuICAgICAgICB0aGlzLmxvb2tDb250cm9scyA9IHRoaXMuZWwuY29tcG9uZW50c1snYXJqcy1sb29rLWNvbnRyb2xzJ10gfHwgdGhpcy5lbC5jb21wb25lbnRzWydsb29rLWNvbnRyb2xzJ107XG5cbiAgICAgICAgLy8gbGlzdGVuIHRvIGRldmljZW9yaWVudGF0aW9uIGV2ZW50XG4gICAgICAgIHZhciBldmVudE5hbWUgPSB0aGlzLl9nZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50TmFtZSgpO1xuICAgICAgICB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uID0gdGhpcy5fb25EZXZpY2VPcmllbnRhdGlvbi5iaW5kKHRoaXMpO1xuXG4gICAgICAgIC8vIGlmIFNhZmFyaVxuICAgICAgICBpZiAoISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9WZXJzaW9uXFwvW1xcZC5dKy4qU2FmYXJpLykpIHtcbiAgICAgICAgICAgIC8vIGlPUyAxMytcbiAgICAgICAgICAgIGlmICh0eXBlb2YgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHZhciBoYW5kbGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSZXF1ZXN0aW5nIGRldmljZSBvcmllbnRhdGlvbiBwZXJtaXNzaW9ucy4uLicpXG4gICAgICAgICAgICAgICAgICAgIERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24oKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBoYW5kbGVyKTtcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCBmdW5jdGlvbigpIHsgaGFuZGxlcigpIH0sIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5zeXN0ZW1zWydhcmpzJ10uX2Rpc3BsYXlFcnJvclBvcHVwKCdBZnRlciBjYW1lcmEgcGVybWlzc2lvbiBwcm9tcHQsIHBsZWFzZSB0YXAgdGhlIHNjcmVlbiB0byBhY3RpdmF0ZSBnZW9sb2NhdGlvbi4nKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnUGxlYXNlIGVuYWJsZSBkZXZpY2Ugb3JpZW50YXRpb24gaW4gU2V0dGluZ3MgPiBTYWZhcmkgPiBNb3Rpb24gJiBPcmllbnRhdGlvbiBBY2Nlc3MuJyk7XG4gICAgICAgICAgICAgICAgfSwgNzUwKTtcbiAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIHRoaXMuX29uRGV2aWNlT3JpZW50YXRpb24sIGZhbHNlKTtcbiAgICB9LFxuXG4gICAgcGxheTogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZSAhPT0gMCAmJiB0aGlzLmRhdGEuc2ltdWxhdGVMb25naXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgIHZhciBsb2NhbFBvc2l0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50Q29vcmRzIHx8IHt9KTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubGF0aXR1ZGUgPSB0aGlzLmRhdGEuc2ltdWxhdGVMYXRpdHVkZTtcbiAgICAgICAgICAgIGxvY2FsUG9zaXRpb24ubG9uZ2l0dWRlID0gdGhpcy5kYXRhLnNpbXVsYXRlTG9uZ2l0dWRlO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29vcmRzID0gbG9jYWxQb3NpdGlvbjtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSB0aGlzLl9pbml0V2F0Y2hHUFMoZnVuY3Rpb24gKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxvY2FsUG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIGxhdGl0dWRlOiBwb3NpdGlvbi5jb29yZHMubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogcG9zaXRpb24uY29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGU6IHBvc2l0aW9uLmNvb3Jkcy5hbHRpdHVkZSxcbiAgICAgICAgICAgICAgICAgICAgYWNjdXJhY3k6IHBvc2l0aW9uLmNvb3Jkcy5hY2N1cmFjeSxcbiAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGVBY2N1cmFjeTogcG9zaXRpb24uY29vcmRzLmFsdGl0dWRlQWNjdXJhY3ksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICBcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLnNpbXVsYXRlQWx0aXR1ZGUgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxQb3NpdGlvbi5hbHRpdHVkZSA9IHRoaXMuZGF0YS5zaW11bGF0ZUFsdGl0dWRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvb3JkcyA9IGxvY2FsUG9zaXRpb247XG4gICAgICAgICAgICAgICAgdmFyIGRpc3RNb3ZlZCA9IHRoaXMuX2hhdmVyc2luZURpc3QoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGFzdFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRDb29yZHNcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgaWYoZGlzdE1vdmVkID49IHRoaXMuZGF0YS5ncHNNaW5EaXN0YW5jZSB8fCAhdGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UG9zaXRpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb25naXR1ZGU6IHRoaXMuY3VycmVudENvb3Jkcy5sb25naXR1ZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXRpdHVkZTogdGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICB0aWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuaGVhZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3VwZGF0ZVJvdGF0aW9uKCk7XG4gICAgfSxcblxuICAgIHBhdXNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3dhdGNoUG9zaXRpb25JZCkge1xuICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godGhpcy5fd2F0Y2hQb3NpdGlvbklkKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl93YXRjaFBvc2l0aW9uSWQgPSBudWxsO1xuICAgIH0sXG5cbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZXZlbnROYW1lID0gdGhpcy5fZ2V0RGV2aWNlT3JpZW50YXRpb25FdmVudE5hbWUoKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCB0aGlzLl9vbkRldmljZU9yaWVudGF0aW9uLCBmYWxzZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtZW50aXR5LXBsYWNlLWFkZGVkJywgdGhpcy5vbkdwc0VudGl0eVBsYWNlQWRkZWQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBHZXQgZGV2aWNlIG9yaWVudGF0aW9uIGV2ZW50IG5hbWUsIGRlcGVuZHMgb24gYnJvd3NlciBpbXBsZW1lbnRhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBldmVudCBuYW1lXG4gICAgICovXG4gICAgX2dldERldmljZU9yaWVudGF0aW9uRXZlbnROYW1lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUnIGluIHdpbmRvdykge1xuICAgICAgICAgICAgdmFyIGV2ZW50TmFtZSA9ICdkZXZpY2VvcmllbnRhdGlvbmFic29sdXRlJ1xuICAgICAgICB9IGVsc2UgaWYgKCdvbmRldmljZW9yaWVudGF0aW9uJyBpbiB3aW5kb3cpIHtcbiAgICAgICAgICAgIHZhciBldmVudE5hbWUgPSAnZGV2aWNlb3JpZW50YXRpb24nXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgZXZlbnROYW1lID0gJydcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NvbXBhc3Mgbm90IHN1cHBvcnRlZCcpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXZlbnROYW1lXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCBjdXJyZW50IHVzZXIgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvblN1Y2Nlc3NcbiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkVycm9yXG4gICAgICogQHJldHVybnMge1Byb21pc2V9XG4gICAgICovXG4gICAgX2luaXRXYXRjaEdQUzogZnVuY3Rpb24ob25TdWNjZXNzLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICghb25FcnJvcikge1xuICAgICAgICAgICAgb25FcnJvciA9IGZ1bmN0aW9uKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignRVJST1IoJyArIGVyci5jb2RlICsgJyk6ICcgKyBlcnIubWVzc2FnZSlcblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBVc2VyIGRlbmllZCBHZW9Mb2NhdGlvbiwgbGV0IHRoZWlyIGtub3cgdGhhdFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnUGxlYXNlIGFjdGl2YXRlIEdlb2xvY2F0aW9uIGFuZCByZWZyZXNoIHRoZSBwYWdlLiBJZiBpdCBpcyBhbHJlYWR5IGFjdGl2ZSwgcGxlYXNlIGNoZWNrIHBlcm1pc3Npb25zIGZvciB0aGlzIHdlYnNpdGUuJyk7ICBcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLnNjZW5lRWwuc3lzdGVtc1snYXJqcyddLl9kaXNwbGF5RXJyb3JQb3B1cCgnQ2Fubm90IHJldHJpZXZlIEdQUyBwb3NpdGlvbi4gU2lnbmFsIGlzIGFic2VudC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2dlb2xvY2F0aW9uJyBpbiBuYXZpZ2F0b3IgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBvbkVycm9yKHsgY29kZTogMCwgbWVzc2FnZTogJ0dlb2xvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyJyB9KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9HZW9sb2NhdGlvbi93YXRjaFBvc2l0aW9uXG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihvblN1Y2Nlc3MsIG9uRXJyb3IsIHtcbiAgICAgICAgICAgIGVuYWJsZUhpZ2hBY2N1cmFjeTogdHJ1ZSxcbiAgICAgICAgICAgIG1heGltdW1BZ2U6IHRoaXMuZGF0YS5ncHNUaW1lSW50ZXJ2YWwsXG4gICAgICAgICAgICB0aW1lb3V0OiAyNzAwMCxcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHBvc2l0aW9uLlxuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgX3VwZGF0ZVBvc2l0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gZG9uJ3QgdXBkYXRlIGlmIGFjY3VyYWN5IGlzIG5vdCBnb29kIGVub3VnaFxuICAgICAgICBpZiAodGhpcy5jdXJyZW50Q29vcmRzLmFjY3VyYWN5ID4gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEuYWxlcnQgJiYgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhbGVydC1wb3B1cCcpKSB7XG4gICAgICAgICAgICAgICAgdmFyIHBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgcG9wdXAuaW5uZXJIVE1MID0gJ0dQUyBzaWduYWwgaXMgdmVyeSBwb29yLiBUcnkgbW92ZSBvdXRkb29yIG9yIHRvIGFuIGFyZWEgd2l0aCBhIGJldHRlciBzaWduYWwuJ1xuICAgICAgICAgICAgICAgIHBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnYWxlcnQtcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHBvcHVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBhbGVydFBvcHVwID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FsZXJ0LXBvcHVwJyk7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRDb29yZHMuYWNjdXJhY3kgPD0gdGhpcy5kYXRhLnBvc2l0aW9uTWluQWNjdXJhY3kgJiYgYWxlcnRQb3B1cCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhbGVydFBvcHVwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5vcmlnaW5Db29yZHMpIHtcbiAgICAgICAgICAgIC8vIGZpcnN0IGNhbWVyYSBpbml0aWFsaXphdGlvblxuICAgICAgICAgICAgLy8gTm93IHN0b3JlIG9yaWdpbkNvb3JkcyBhcyBQUk9KRUNURUQgb3JpZ2luYWwgbGF0L2xvbiwgc28gdGhhdFxuICAgICAgICAgICAgLy8gd2UgY2FuIHNldCB0aGUgd29ybGQgb3JpZ2luIHRvIHRoZSBvcmlnaW5hbCBwb3NpdGlvbiBpbiBcIm1ldHJlc1wiXG4gICAgICAgICAgICB0aGlzLm9yaWdpbkNvb3JkcyA9IHRoaXMuX3Byb2plY3QodGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLCB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlKTtcbiAgICAgICAgICAgIHRoaXMuX3NldFBvc2l0aW9uKCk7XG5cbiAgICAgICAgICAgIHZhciBsb2FkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXJqcy1sb2FkZXInKTtcbiAgICAgICAgICAgIGlmIChsb2FkZXIpIHtcbiAgICAgICAgICAgICAgICBsb2FkZXIucmVtb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgY3VycmVudCBwb3NpdGlvbiAoaW4gd29ybGQgY29vcmRzLCBiYXNlZCBvbiBTcGhlcmljYWwgTWVyY2F0b3IpXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfc2V0UG9zaXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLmVsLmdldEF0dHJpYnV0ZSgncG9zaXRpb24nKTtcblxuICAgICAgICB2YXIgd29ybGRDb29yZHMgPSB0aGlzLmxhdExvblRvV29ybGQodGhpcy5jdXJyZW50Q29vcmRzLmxhdGl0dWRlLCB0aGlzLmN1cnJlbnRDb29yZHMubG9uZ2l0dWRlKTtcblxuICAgICAgICBwb3NpdGlvbi54ID0gd29ybGRDb29yZHNbMF07XG4gICAgICAgIHBvc2l0aW9uLnogPSB3b3JsZENvb3Jkc1sxXTtcblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb25cbiAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJywgcG9zaXRpb24pO1xuXG4gICAgICAgIC8vIGFkZCB0aGUgc3BobWVyYyBwb3NpdGlvbiB0byB0aGUgZXZlbnQgKGZvciB0ZXN0aW5nIG9ubHkpXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWNhbWVyYS11cGRhdGUtcG9zaXRpb24nLCB7IGRldGFpbDogeyBwb3NpdGlvbjogdGhpcy5jdXJyZW50Q29vcmRzLCBvcmlnaW46IHRoaXMub3JpZ2luQ29vcmRzIH0gfSkpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBkaXN0YW5jZSBpbiBtZXRlcnMgYmV0d2VlbiBjYW1lcmEgYW5kIGRlc3RpbmF0aW9uIGlucHV0LlxuICAgICAqXG4gICAgICogQXNzdW1lIHdlIGFyZSB1c2luZyBhIG1ldHJlLWJhc2VkIHByb2plY3Rpb24uIE5vdCBhbGwgJ21ldHJlLWJhc2VkJ1xuICAgICAqIHByb2plY3Rpb25zIGdpdmUgZXhhY3QgbWV0cmVzLCBlLmcuIFNwaGVyaWNhbCBNZXJjYXRvciwgYnV0IGl0IGFwcGVhcnNcbiAgICAgKiBjbG9zZSBlbm91Z2ggdG8gYmUgdXNlZCBmb3IgQVIgYXQgbGVhc3QgaW4gbWlkZGxlIHRlbXBlcmF0ZVxuICAgICAqIGxhdGl0dWRlcyAoNDAgLSA1NSkuIEl0IGlzIGhlYXZpbHkgZGlzdG9ydGVkIG5lYXIgdGhlIHBvbGVzLCBob3dldmVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtQb3NpdGlvbn0gZGVzdFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gaXNQbGFjZVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gZGlzdGFuY2UgfCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgICAqL1xuICAgIGNvbXB1dGVEaXN0YW5jZU1ldGVyczogZnVuY3Rpb24oZGVzdCwgaXNQbGFjZSkge1xuICAgICAgICB2YXIgc3JjID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoXCJwb3NpdGlvblwiKTtcbiAgICAgICAgdmFyIGR4ID0gZGVzdC54IC0gc3JjLng7XG4gICAgICAgIHZhciBkeiA9IGRlc3QueiAtIHNyYy56O1xuICAgICAgICB2YXIgZGlzdGFuY2UgPSBNYXRoLnNxcnQoZHggKiBkeCArIGR6ICogZHopO1xuXG4gICAgICAgIC8vIGlmIGZ1bmN0aW9uIGhhcyBiZWVuIGNhbGxlZCBmb3IgYSBwbGFjZSwgYW5kIGlmIGl0J3MgdG9vIG5lYXIgYW5kIGEgbWluIGRpc3RhbmNlIGhhcyBiZWVuIHNldCxcbiAgICAgICAgLy8gcmV0dXJuIG1heCBkaXN0YW5jZSBwb3NzaWJsZSAtIHRvIGJlIGhhbmRsZWQgYnkgdGhlICBtZXRob2QgY2FsbGVyXG4gICAgICAgIGlmIChpc1BsYWNlICYmIHRoaXMuZGF0YS5taW5EaXN0YW5jZSAmJiB0aGlzLmRhdGEubWluRGlzdGFuY2UgPiAwICYmIGRpc3RhbmNlIDwgdGhpcy5kYXRhLm1pbkRpc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGlzdGFuY2U7XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBsYXRpdHVkZS9sb25naXR1ZGUgdG8gT3BlbkdMIHdvcmxkIGNvb3JkaW5hdGVzLlxuICAgICAqXG4gICAgICogRmlyc3QgcHJvamVjdHMgbGF0L2xvbiB0byBhYnNvbHV0ZSBTcGhlcmljYWwgTWVyY2F0b3IgYW5kIHRoZW5cbiAgICAgKiBjYWxjdWxhdGVzIHRoZSB3b3JsZCBjb29yZGluYXRlcyBieSBjb21wYXJpbmcgdGhlIFNwaGVyaWNhbCBNZXJjYXRvclxuICAgICAqIGNvb3JkaW5hdGVzIHdpdGggdGhlIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlcyBvZiB0aGUgb3JpZ2luIHBvaW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGxhdFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBsb25cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHthcnJheX0gd29ybGQgY29vcmRpbmF0ZXNcbiAgICAgKi9cbiAgICBsYXRMb25Ub1dvcmxkOiBmdW5jdGlvbihsYXQsIGxvbikge1xuICAgICAgICB2YXIgcHJvamVjdGVkID0gdGhpcy5fcHJvamVjdChsYXQsIGxvbik7XG4gICAgICAgIC8vIFNpZ24gb2YgeiBuZWVkcyB0byBiZSByZXZlcnNlZCBjb21wYXJlZCB0byBwcm9qZWN0ZWQgY29vcmRpbmF0ZXNcbiAgICAgICAgcmV0dXJuIFtwcm9qZWN0ZWRbMF0gLSB0aGlzLm9yaWdpbkNvb3Jkc1swXSwgLShwcm9qZWN0ZWRbMV0gLSB0aGlzLm9yaWdpbkNvb3Jkc1sxXSldO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgbGF0aXR1ZGUvbG9uZ2l0dWRlIHRvIFNwaGVyaWNhbCBNZXJjYXRvciBjb29yZGluYXRlcy5cbiAgICAgKiBBbGdvcml0aG0gaXMgdXNlZCBpbiBzZXZlcmFsIE9wZW5TdHJlZXRNYXAtcmVsYXRlZCBhcHBsaWNhdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbGF0XG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGxvblxuICAgICAqXG4gICAgICogQHJldHVybnMge2FycmF5fSBTcGhlcmljYWwgTWVyY2F0b3IgY29vcmRpbmF0ZXNcbiAgICAgKi9cbiAgICBfcHJvamVjdDogZnVuY3Rpb24obGF0LCBsb24pIHtcbiAgICAgICAgY29uc3QgSEFMRl9FQVJUSCA9IDIwMDM3NTA4LjM0O1xuXG4gICAgICAgIC8vIENvbnZlcnQgdGhlIHN1cHBsaWVkIGNvb3JkcyB0byBTcGhlcmljYWwgTWVyY2F0b3IgKEVQU0c6Mzg1NyksIGFsc29cbiAgICAgICAgLy8ga25vd24gYXMgJ0dvb2dsZSBQcm9qZWN0aW9uJywgdXNpbmcgdGhlIGFsZ29yaXRobSB1c2VkIGV4dGVuc2l2ZWx5XG4gICAgICAgIC8vIGluIHZhcmlvdXMgT3BlblN0cmVldE1hcCBzb2Z0d2FyZS5cbiAgICAgICAgdmFyIHkgPSBNYXRoLmxvZyhNYXRoLnRhbigoOTAgKyBsYXQpICogTWF0aC5QSSAvIDM2MC4wKSkgLyAoTWF0aC5QSSAvIDE4MC4wKTtcbiAgICAgICAgcmV0dXJuIFsobG9uIC8gMTgwLjApICogSEFMRl9FQVJUSCwgeSAqIEhBTEZfRUFSVEggLyAxODAuMF07XG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBTcGhlcmljYWwgTWVyY2F0b3IgY29vcmRpbmF0ZXMgdG8gbGF0aXR1ZGUvbG9uZ2l0dWRlLlxuICAgICAqIEFsZ29yaXRobSBpcyB1c2VkIGluIHNldmVyYWwgT3BlblN0cmVldE1hcC1yZWxhdGVkIGFwcGxpY2F0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBzcGhlcmljYWwgbWVyY2F0b3IgZWFzdGluZ1xuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBzcGhlcmljYWwgbWVyY2F0b3Igbm9ydGhpbmdcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtvYmplY3R9IGxvbi9sYXRcbiAgICAgKi9cbiAgICBfdW5wcm9qZWN0OiBmdW5jdGlvbihlLCBuKSB7XG4gICAgICAgIGNvbnN0IEhBTEZfRUFSVEggPSAyMDAzNzUwOC4zNDtcbiAgICAgICAgdmFyIHlwID0gKG4gLyBIQUxGX0VBUlRIKSAqIDE4MC4wO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbG9uZ2l0dWRlOiAoZSAvIEhBTEZfRUFSVEgpICogMTgwLjAsXG4gICAgICAgICAgICBsYXRpdHVkZTogMTgwLjAgLyBNYXRoLlBJICogKDIgKiBNYXRoLmF0YW4oTWF0aC5leHAoeXAgKiBNYXRoLlBJIC8gMTgwLjApKSAtIE1hdGguUEkgLyAyKVxuICAgICAgICB9O1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZSBjb21wYXNzIGhlYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYmV0YVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBnYW1tYVxuICAgICAqXG4gICAgICogQHJldHVybnMge251bWJlcn0gY29tcGFzcyBoZWFkaW5nXG4gICAgICovXG4gICAgX2NvbXB1dGVDb21wYXNzSGVhZGluZzogZnVuY3Rpb24oYWxwaGEsIGJldGEsIGdhbW1hKSB7XG5cbiAgICAgICAgLy8gQ29udmVydCBkZWdyZWVzIHRvIHJhZGlhbnNcbiAgICAgICAgdmFyIGFscGhhUmFkID0gYWxwaGEgKiAoTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHZhciBiZXRhUmFkID0gYmV0YSAqIChNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdmFyIGdhbW1hUmFkID0gZ2FtbWEgKiAoTWF0aC5QSSAvIDE4MCk7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIGVxdWF0aW9uIGNvbXBvbmVudHNcbiAgICAgICAgdmFyIGNBID0gTWF0aC5jb3MoYWxwaGFSYWQpO1xuICAgICAgICB2YXIgc0EgPSBNYXRoLnNpbihhbHBoYVJhZCk7XG4gICAgICAgIHZhciBzQiA9IE1hdGguc2luKGJldGFSYWQpO1xuICAgICAgICB2YXIgY0cgPSBNYXRoLmNvcyhnYW1tYVJhZCk7XG4gICAgICAgIHZhciBzRyA9IE1hdGguc2luKGdhbW1hUmFkKTtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgQSwgQiwgQyByb3RhdGlvbiBjb21wb25lbnRzXG4gICAgICAgIHZhciByQSA9IC0gY0EgKiBzRyAtIHNBICogc0IgKiBjRztcbiAgICAgICAgdmFyIHJCID0gLSBzQSAqIHNHICsgY0EgKiBzQiAqIGNHO1xuXG4gICAgICAgIC8vIENhbGN1bGF0ZSBjb21wYXNzIGhlYWRpbmdcbiAgICAgICAgdmFyIGNvbXBhc3NIZWFkaW5nID0gTWF0aC5hdGFuKHJBIC8gckIpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgZnJvbSBoYWxmIHVuaXQgY2lyY2xlIHRvIHdob2xlIHVuaXQgY2lyY2xlXG4gICAgICAgIGlmIChyQiA8IDApIHtcbiAgICAgICAgICAgIGNvbXBhc3NIZWFkaW5nICs9IE1hdGguUEk7XG4gICAgICAgIH0gZWxzZSBpZiAockEgPCAwKSB7XG4gICAgICAgICAgICBjb21wYXNzSGVhZGluZyArPSAyICogTWF0aC5QSTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnZlcnQgcmFkaWFucyB0byBkZWdyZWVzXG4gICAgICAgIGNvbXBhc3NIZWFkaW5nICo9IDE4MCAvIE1hdGguUEk7XG5cbiAgICAgICAgcmV0dXJuIGNvbXBhc3NIZWFkaW5nO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVyIGZvciBkZXZpY2Ugb3JpZW50YXRpb24gZXZlbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIF9vbkRldmljZU9yaWVudGF0aW9uOiBmdW5jdGlvbihldmVudCkge1xuICAgICAgICBpZiAoZXZlbnQud2Via2l0Q29tcGFzc0hlYWRpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LndlYmtpdENvbXBhc3NBY2N1cmFjeSA8IDUwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkaW5nID0gZXZlbnQud2Via2l0Q29tcGFzc0hlYWRpbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2Fybignd2Via2l0Q29tcGFzc0FjY3VyYWN5IGlzIGV2ZW50LndlYmtpdENvbXBhc3NBY2N1cmFjeScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmFscGhhICE9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQuYWJzb2x1dGUgPT09IHRydWUgfHwgZXZlbnQuYWJzb2x1dGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaGVhZGluZyA9IHRoaXMuX2NvbXB1dGVDb21wYXNzSGVhZGluZyhldmVudC5hbHBoYSwgZXZlbnQuYmV0YSwgZXZlbnQuZ2FtbWEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ2V2ZW50LmFic29sdXRlID09PSBmYWxzZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdldmVudC5hbHBoYSA9PT0gbnVsbCcpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB1c2VyIHJvdGF0aW9uIGRhdGEuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBfdXBkYXRlUm90YXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgaGVhZGluZyA9IDM2MCAtIHRoaXMuaGVhZGluZztcbiAgICAgICAgdmFyIGNhbWVyYVJvdGF0aW9uID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3JvdGF0aW9uJykueTtcbiAgICAgICAgdmFyIHlhd1JvdGF0aW9uID0gVEhSRUUuTWF0aC5yYWRUb0RlZyh0aGlzLmxvb2tDb250cm9scy55YXdPYmplY3Qucm90YXRpb24ueSk7XG4gICAgICAgIHZhciBvZmZzZXQgPSAoaGVhZGluZyAtIChjYW1lcmFSb3RhdGlvbiAtIHlhd1JvdGF0aW9uKSkgJSAzNjA7XG4gICAgICAgIHRoaXMubG9va0NvbnRyb2xzLnlhd09iamVjdC5yb3RhdGlvbi55ID0gVEhSRUUuTWF0aC5kZWdUb1JhZChvZmZzZXQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDYWxjdWxhdGUgaGF2ZXJzaW5lIGRpc3RhbmNlIGJldHdlZW4gdHdvIGxhdC9sb24gcGFpcnMuXG4gICAgICpcbiAgICAgKiBUYWtlbiBmcm9tIGdwcy1jYW1lcmFcbiAgICAgKi9cbiAgICBfaGF2ZXJzaW5lRGlzdDogZnVuY3Rpb24oc3JjLCBkZXN0KSB7XG4gICAgICAgIHZhciBkbG9uZ2l0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxvbmdpdHVkZSAtIHNyYy5sb25naXR1ZGUpO1xuICAgICAgICB2YXIgZGxhdGl0dWRlID0gVEhSRUUuTWF0aC5kZWdUb1JhZChkZXN0LmxhdGl0dWRlIC0gc3JjLmxhdGl0dWRlKTtcblxuICAgICAgICB2YXIgYSA9IChNYXRoLnNpbihkbGF0aXR1ZGUgLyAyKSAqIE1hdGguc2luKGRsYXRpdHVkZSAvIDIpKSArIE1hdGguY29zKFRIUkVFLk1hdGguZGVnVG9SYWQoc3JjLmxhdGl0dWRlKSkgKiBNYXRoLmNvcyhUSFJFRS5NYXRoLmRlZ1RvUmFkKGRlc3QubGF0aXR1ZGUpKSAqIChNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikgKiBNYXRoLnNpbihkbG9uZ2l0dWRlIC8gMikpO1xuICAgICAgICB2YXIgYW5nbGUgPSAyICogTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksIE1hdGguc3FydCgxIC0gYSkpO1xuICAgICAgICByZXR1cm4gYW5nbGUgKiA2MzcxMDAwO1xuICAgIH0sXG5cbiAgICBfb25HcHNFbnRpdHlQbGFjZUFkZGVkOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gaWYgcGxhY2VzIGFyZSBhZGRlZCBhZnRlciBjYW1lcmEgaW5pdGlhbGl6YXRpb24gaXMgZmluaXNoZWRcbiAgICAgICAgaWYgKHRoaXMub3JpZ2luQ29vcmRzKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5sb2FkZXIgJiYgdGhpcy5sb2FkZXIucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmxvYWRlcilcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIiwiLyoqIGdwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlXG4gKlxuICogYmFzZWQgb24gdGhlIG9yaWdpbmFsIGdwcy1lbnRpdHktcGxhY2UsIG1vZGlmaWVkIGJ5IG5pY2t3IDAyLzA0LzIwXG4gKlxuICogUmF0aGVyIHRoYW4ga2VlcGluZyB0cmFjayBvZiBwb3NpdGlvbiBieSBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2ZcbiAqIGVudGl0aWVzIG9yIHRoZSBjdXJyZW50IGxvY2F0aW9uIHRvIHRoZSBvcmlnaW5hbCBsb2NhdGlvbiwgdGhpcyB2ZXJzaW9uXG4gKiBtYWtlcyB1c2Ugb2YgdGhlIFwiR29vZ2xlXCIgU3BoZXJpY2FsIE1lcmNhY3RvciBwcm9qZWN0aW9uLCBha2EgZXBzZzozODU3LlxuICpcbiAqIFRoZSBvcmlnaW5hbCBsb2NhdGlvbiBvbiBzdGFydHVwIChsYXQvbG9uKSBpcyBwcm9qZWN0ZWQgaW50byBTcGhlcmljYWwgXG4gKiBNZXJjYXRvciBhbmQgc3RvcmVkLlxuICpcbiAqIFdoZW4gJ2VudGl0eS1wbGFjZXMnIGFyZSBhZGRlZCwgdGhlaXIgU3BoZXJpY2FsIE1lcmNhdG9yIGNvb3JkcyBhcmUgXG4gKiBjYWxjdWxhdGVkIGFuZCBjb252ZXJ0ZWQgaW50byB3b3JsZCBjb29yZGluYXRlcywgcmVsYXRpdmUgdG8gdGhlIG9yaWdpbmFsXG4gKiBwb3NpdGlvbiwgdXNpbmcgdGhlIFNwaGVyaWNhbCBNZXJjYXRvciBwcm9qZWN0aW9uIGNhbGN1bGF0aW9uIGluXG4gKiBncHMtcHJvamVjdGVkLWNhbWVyYS5cbiAqXG4gKiBTcGhlcmljYWwgTWVyY2F0b3IgdW5pdHMgYXJlIGNsb3NlIHRvLCBidXQgbm90IGV4YWN0bHksIG1ldHJlcywgYW5kIGFyZVxuICogaGVhdmlseSBkaXN0b3J0ZWQgbmVhciB0aGUgcG9sZXMuIE5vbmV0aGVsZXNzIHRoZXkgYXJlIGEgZ29vZCBhcHByb3hpbWF0aW9uXG4gKiBmb3IgbWFueSBhcmVhcyBvZiB0aGUgd29ybGQgYW5kIGFwcGVhciBub3QgdG8gY2F1c2UgdW5hY2NlcHRhYmxlIGRpc3RvcnRpb25zXG4gKiB3aGVuIHVzZWQgYXMgdGhlIHVuaXRzIGZvciBBUiBhcHBzLlxuICovXG5pbXBvcnQgKiBhcyBBRlJBTUUgZnJvbSAnYWZyYW1lJ1xuXG5BRlJBTUUucmVnaXN0ZXJDb21wb25lbnQoJ2dwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlJywge1xuICAgIF9jYW1lcmFHcHM6IG51bGwsXG4gICAgc2NoZW1hOiB7XG4gICAgICAgIGxvbmdpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9LFxuICAgICAgICBsYXRpdHVkZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAwLFxuICAgICAgICB9XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBjbGVhbmluZyBsaXN0ZW5lcnMgd2hlbiB0aGUgZW50aXR5IGlzIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG4gICAgfSxcbiAgICBpbml0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gVXNlZCBub3cgdG8gZ2V0IHRoZSBHUFMgY2FtZXJhIHdoZW4gaXQncyBiZWVuIHNldHVwXG4gICAgICAgIHRoaXMuY29vcmRTZXRMaXN0ZW5lciA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNhbWVyYSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tncHMtcHJvamVjdGVkLWNhbWVyYV0nKTtcbiAgICAgICAgICAgICAgICBpZiAoIWNhbWVyYS5jb21wb25lbnRzWydncHMtcHJvamVjdGVkLWNhbWVyYSddKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2dwcy1wcm9qZWN0ZWQtY2FtZXJhIG5vdCBpbml0aWFsaXplZCcpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FtZXJhR3BzID0gY2FtZXJhLmNvbXBvbmVudHNbJ2dwcy1wcm9qZWN0ZWQtY2FtZXJhJ107XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgXG5cblxuICAgICAgICAvLyB1cGRhdGUgcG9zaXRpb24gbmVlZHMgdG8gd29ycnkgYWJvdXQgZGlzdGFuY2UgYnV0IG5vdGhpbmcgZWxzZT9cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbkxpc3RlbmVyID0gKGV2KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YSB8fCAhdGhpcy5fY2FtZXJhR3BzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgZHN0Q29vcmRzID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoJ3Bvc2l0aW9uJyk7XG5cbiAgICAgICAgICAgIC8vIGl0J3MgYWN0dWFsbHkgYSAnZGlzdGFuY2UgcGxhY2UnLCBidXQgd2UgZG9uJ3QgY2FsbCBpdCB3aXRoIGxhc3QgcGFyYW0sIGJlY2F1c2Ugd2Ugd2FudCB0byByZXRyaWV2ZSBkaXN0YW5jZSBldmVuIGlmIGl0J3MgPCBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAgICAgICAgLy8gX2NvbXB1dGVEaXN0YW5jZU1ldGVycyBpcyBub3cgZ29pbmcgdG8gdXNlIHRoZSBwcm9qZWN0ZWRcbiAgICAgICAgICAgIHZhciBkaXN0YW5jZUZvck1zZyA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZHN0Q29vcmRzKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlJywgZGlzdGFuY2VGb3JNc2cpO1xuICAgICAgICAgICAgdGhpcy5lbC5zZXRBdHRyaWJ1dGUoJ2Rpc3RhbmNlTXNnJywgZm9ybWF0RGlzdGFuY2UoZGlzdGFuY2VGb3JNc2cpKTtcblxuICAgICAgICAgICAgdGhpcy5lbC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS11cGRhdGUtcG9zaXRpb24nLCB7IGRldGFpbDogeyBkaXN0YW5jZTogZGlzdGFuY2VGb3JNc2cgfSB9KSk7XG5cbiAgICAgICAgICAgIHZhciBhY3R1YWxEaXN0YW5jZSA9IHRoaXMuX2NhbWVyYUdwcy5jb21wdXRlRGlzdGFuY2VNZXRlcnMoZHN0Q29vcmRzLCB0cnVlKTtcblxuICAgICAgICAgICAgaWYgKGFjdHVhbERpc3RhbmNlID09PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikge1xuICAgICAgICAgICAgICAgIHRoaXMuaGlkZUZvck1pbkRpc3RhbmNlKHRoaXMuZWwsIHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVGb3JNaW5EaXN0YW5jZSh0aGlzLmVsLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUmV0YWluIGFzIHRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgR1BTIGNhbWVyYSBpcyBzZXQgdXBcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2dwcy1jYW1lcmEtb3JpZ2luLWNvb3JkLXNldCcsIHRoaXMuY29vcmRTZXRMaXN0ZW5lcik7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdncHMtY2FtZXJhLXVwZGF0ZS1wb3NpdGlvbicsIHRoaXMudXBkYXRlUG9zaXRpb25MaXN0ZW5lcik7XG5cbiAgICAgICAgdGhpcy5fcG9zaXRpb25YRGVidWcgPSAwO1xuXG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZ3BzLWVudGl0eS1wbGFjZS1hZGRlZCcsIHsgZGV0YWlsOiB7IGNvbXBvbmVudDogdGhpcy5lbCB9IH0pKTtcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIEhpZGUgZW50aXR5IGFjY29yZGluZyB0byBtaW5EaXN0YW5jZSBwcm9wZXJ0eVxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIGhpZGVGb3JNaW5EaXN0YW5jZTogZnVuY3Rpb24oZWwsIGhpZGVFbnRpdHkpIHtcbiAgICAgICAgaWYgKGhpZGVFbnRpdHkpIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZSgndmlzaWJsZScsICdmYWxzZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKCd2aXNpYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgLyoqXG4gICAgICogVXBkYXRlIHBsYWNlIHBvc2l0aW9uXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG5cbiAgICAvLyBzZXQgcG9zaXRpb24gdG8gd29ybGQgY29vcmRzIHVzaW5nIHRoZSBsYXQvbG9uIFxuICAgIF91cGRhdGVQb3NpdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciB3b3JsZFBvcyA9IHRoaXMuX2NhbWVyYUdwcy5sYXRMb25Ub1dvcmxkKHRoaXMuZGF0YS5sYXRpdHVkZSwgdGhpcy5kYXRhLmxvbmdpdHVkZSk7XG4gICAgICAgIHZhciBwb3NpdGlvbiA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKCdwb3NpdGlvbicpO1xuXG4gICAgICAgIC8vIHVwZGF0ZSBlbGVtZW50J3MgcG9zaXRpb24gaW4gM0Qgd29ybGRcbiAgICAgICAgLy90aGlzLmVsLnNldEF0dHJpYnV0ZSgncG9zaXRpb24nLCBwb3NpdGlvbik7XG4gICAgICAgIHRoaXMuZWwuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIHtcbiAgICAgICAgICAgIHg6IHdvcmxkUG9zWzBdLFxuICAgICAgICAgICAgeTogcG9zaXRpb24ueSwgXG4gICAgICAgICAgICB6OiB3b3JsZFBvc1sxXVxuICAgICAgICB9KTsgXG4gICAgfSxcbn0pO1xuXG4vKipcbiAqIEZvcm1hdCBkaXN0YW5jZXMgc3RyaW5nXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGRpc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIGZvcm1hdERpc3RhbmNlKGRpc3RhbmNlKSB7XG4gICAgZGlzdGFuY2UgPSBkaXN0YW5jZS50b0ZpeGVkKDApO1xuXG4gICAgaWYgKGRpc3RhbmNlID49IDEwMDApIHtcbiAgICAgICAgcmV0dXJuIChkaXN0YW5jZSAvIDEwMDApICsgJyBraWxvbWV0ZXJzJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGlzdGFuY2UgKyAnIG1ldGVycyc7XG59O1xuIiwiaW1wb3J0ICogYXMgQUZSQU1FIGZyb20gJ2FmcmFtZSc7XG5pbXBvcnQgUHJvZmlsZSBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtcHJvZmlsZSc7XG5pbXBvcnQgU2Vzc2lvbiBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLXNlc3Npb24nO1xuaW1wb3J0IHsgU2Vzc2lvbkRlYnVnVUkgfSBmcm9tICcuLi8uLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWRlYnVndWknO1xuXG5BRlJBTUUucmVnaXN0ZXJTeXN0ZW0oJ2FyanMnLCB7XG4gICAgc2NoZW1hOiB7XG4gICAgICAgIHRyYWNraW5nTWV0aG9kOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdiZXN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWdVSUVuYWJsZWQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBhcmVhTGVhcm5pbmdCdXR0b246IHtcbiAgICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHBlcmZvcm1hbmNlUHJvZmlsZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsaW5nTW9kZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gbmV3IHZpZGVvIHRleHR1cmUgbW9kZSAobG9jYXRpb24gYmFzZWQgb25seSlcbiAgICAgICAgdmlkZW9UZXh0dXJlOiB7XG4gICAgICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgICAgICBkZWZhdWx0OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICAvLyBvbGQgcGFyYW1ldGVyc1xuICAgICAgICBkZWJ1Zzoge1xuICAgICAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICAgICAgZGVmYXVsdDogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgZGV0ZWN0aW9uTW9kZToge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWF0cml4Q29kZVR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHBhdHRlcm5SYXRpbzoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMSxcbiAgICAgICAgfSxcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAgbWF4RGV0ZWN0aW9uUmF0ZToge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBzb3VyY2VUeXBlOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICB9LFxuICAgICAgICBzb3VyY2VVcmw6IHtcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHNvdXJjZVdpZHRoOiB7XG4gICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6IC0xXG4gICAgICAgIH0sXG4gICAgICAgIHNvdXJjZUhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBkZXZpY2VJZDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9LFxuICAgICAgICBkaXNwbGF5V2lkdGg6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogLTFcbiAgICAgICAgfSxcbiAgICAgICAgZGlzcGxheUhlaWdodDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBjYW52YXNXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICAgICAgICBkZWZhdWx0OiAtMVxuICAgICAgICB9LFxuICAgICAgICBjYW52YXNIZWlnaHQ6IHtcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgZGVmYXVsdDogLTFcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JQb3B1cDoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBkZWZhdWx0OiAnJ1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpbml0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgICAgICAvLyBJZiB2aWRlb1RleHR1cmUgaXMgc2V0LCBza2lwIHRoZSByZW1haW5kZXIgb2YgdGhlIHNldHVwIGVudGlyZWx5IGFuZCBqdXN0IHVzZSB0aGUgYXJqcy13ZWJjYW0tdGV4dHVyZSBjb21wb25lbnRcbiAgICAgICAgaWYodGhpcy5kYXRhLnZpZGVvVGV4dHVyZSA9PT0gdHJ1ZSAmJiB0aGlzLmRhdGEuc291cmNlVHlwZSA9PT0gJ3dlYmNhbScpIHtcbiAgICAgICAgICAgIHZhciB3ZWJjYW1FbnRpdHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYS1lbnRpdHlcIik7XG4gICAgICAgICAgICB3ZWJjYW1FbnRpdHkuc2V0QXR0cmlidXRlKFwiYXJqcy13ZWJjYW0tdGV4dHVyZVwiLCB0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hcHBlbmRDaGlsZCh3ZWJjYW1FbnRpdHkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdHNldHVwIGFyUHJvZmlsZVxuICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgICAgICB2YXIgYXJQcm9maWxlID0gdGhpcy5fYXJQcm9maWxlID0gbmV3IFByb2ZpbGUoKVxuICAgICAgICAgICAgLnRyYWNraW5nTWV0aG9kKHRoaXMuZGF0YS50cmFja2luZ01ldGhvZClcbiAgICAgICAgICAgIC5wZXJmb3JtYW5jZSh0aGlzLmRhdGEucGVyZm9ybWFuY2VQcm9maWxlKVxuICAgICAgICAgICAgLmRlZmF1bHRNYXJrZXIoKVxuXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvL1x0XHRob25vciB0aGlzLmRhdGEgYW5kIHNldHVwIGFyUHJvZmlsZSB3aXRoIGl0XG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIC8vIGhvbm9yIHRoaXMuZGF0YSBhbmQgcHVzaCB3aGF0IGhhcyBiZWVuIG1vZGlmaWVkIGludG8gYXJQcm9maWxlXG4gICAgICAgIGlmICh0aGlzLmRhdGEuZGVidWcgIT09IGZhbHNlKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMuZGVidWcgPSB0aGlzLmRhdGEuZGVidWdcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5kZXRlY3Rpb25Nb2RlICE9PSAnJykgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUgPSB0aGlzLmRhdGEuZGV0ZWN0aW9uTW9kZVxuICAgICAgICBpZiAodGhpcy5kYXRhLm1hdHJpeENvZGVUeXBlICE9PSAnJykgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLm1hdHJpeENvZGVUeXBlID0gdGhpcy5kYXRhLm1hdHJpeENvZGVUeXBlXG4gICAgICAgIGlmICh0aGlzLmRhdGEucGF0dGVyblJhdGlvICE9PSAtMSkgYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyA9IHRoaXMuZGF0YS5wYXR0ZXJuUmF0aW9cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5sYWJlbGluZ01vZGUgIT09ICcnKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMubGFiZWxpbmdNb2RlID0gdGhpcy5kYXRhLmxhYmVsaW5nTW9kZVxuICAgICAgICBpZiAodGhpcy5kYXRhLmNhbWVyYVBhcmFtZXRlcnNVcmwgIT09ICcnKSBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCA9IHRoaXMuZGF0YS5jYW1lcmFQYXJhbWV0ZXJzVXJsXG4gICAgICAgIGlmICh0aGlzLmRhdGEubWF4RGV0ZWN0aW9uUmF0ZSAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gdGhpcy5kYXRhLm1heERldGVjdGlvblJhdGVcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5jYW52YXNXaWR0aCAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IHRoaXMuZGF0YS5jYW52YXNXaWR0aFxuICAgICAgICBpZiAodGhpcy5kYXRhLmNhbnZhc0hlaWdodCAhPT0gLTEpIGFyUHJvZmlsZS5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSB0aGlzLmRhdGEuY2FudmFzSGVpZ2h0XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zb3VyY2VUeXBlICE9PSAnJykgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9IHRoaXMuZGF0YS5zb3VyY2VUeXBlXG4gICAgICAgIGlmICh0aGlzLmRhdGEuc291cmNlVXJsICE9PSAnJykgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdGhpcy5kYXRhLnNvdXJjZVVybFxuICAgICAgICBpZiAodGhpcy5kYXRhLnNvdXJjZVdpZHRoICE9PSAtMSkgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlV2lkdGggPSB0aGlzLmRhdGEuc291cmNlV2lkdGhcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5zb3VyY2VIZWlnaHQgIT09IC0xKSBhclByb2ZpbGUuc291cmNlUGFyYW1ldGVycy5zb3VyY2VIZWlnaHQgPSB0aGlzLmRhdGEuc291cmNlSGVpZ2h0XG4gICAgICAgIGlmICh0aGlzLmRhdGEuZGV2aWNlSWQgIT09ICcnKSBhclByb2ZpbGUuc291cmNlUGFyYW1ldGVycy5kZXZpY2VJZCA9IHRoaXMuZGF0YS5kZXZpY2VJZFxuICAgICAgICBpZiAodGhpcy5kYXRhLmRpc3BsYXlXaWR0aCAhPT0gLTEpIGFyUHJvZmlsZS5zb3VyY2VQYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCA9IHRoaXMuZGF0YS5kaXNwbGF5V2lkdGhcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5kaXNwbGF5SGVpZ2h0ICE9PSAtMSkgYXJQcm9maWxlLnNvdXJjZVBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCA9IHRoaXMuZGF0YS5kaXNwbGF5SGVpZ2h0XG5cbiAgICAgICAgYXJQcm9maWxlLmNoZWNrSWZWYWxpZCgpXG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgIHRoaXMuX2FyU2Vzc2lvbiA9IG51bGxcblxuICAgICAgICBfdGhpcy5pc1JlYWR5ID0gZmFsc2VcbiAgICAgICAgX3RoaXMubmVlZHNPdmVycmlkZSA9IHRydWVcblxuICAgICAgICAvLyB3YWl0IHVudGlsIHRoZSByZW5kZXJlciBpcyBpc1JlYWR5XG4gICAgICAgIHRoaXMuZWwuc2NlbmVFbC5hZGRFdmVudExpc3RlbmVyKCdyZW5kZXJzdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBzY2VuZSA9IF90aGlzLmVsLnNjZW5lRWwub2JqZWN0M0RcbiAgICAgICAgICAgIHZhciBjYW1lcmEgPSBfdGhpcy5lbC5zY2VuZUVsLmNhbWVyYVxuICAgICAgICAgICAgdmFyIHJlbmRlcmVyID0gX3RoaXMuZWwuc2NlbmVFbC5yZW5kZXJlclxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGJ1aWxkIEFSanMuU2Vzc2lvblxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICB2YXIgYXJTZXNzaW9uID0gX3RoaXMuX2FyU2Vzc2lvbiA9IG5ldyBTZXNzaW9uKHtcbiAgICAgICAgICAgICAgICBzY2VuZTogc2NlbmUsXG4gICAgICAgICAgICAgICAgcmVuZGVyZXI6IHJlbmRlcmVyLFxuICAgICAgICAgICAgICAgIGNhbWVyYTogY2FtZXJhLFxuICAgICAgICAgICAgICAgIHNvdXJjZVBhcmFtZXRlcnM6IGFyUHJvZmlsZS5zb3VyY2VQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIGNvbnRleHRQYXJhbWV0ZXJzOiBhclByb2ZpbGUuY29udGV4dFBhcmFtZXRlcnNcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAgICAgLy9cdFx0Q29kZSBTZXBhcmF0b3JcbiAgICAgICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgICAgICAgICBfdGhpcy5pc1JlYWR5ID0gdHJ1ZVxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGF3ZnVsIHJlc2l6ZSB0cmlja1xuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICAvLyBLTFVER0VcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBvblJlc2l6ZSlcbiAgICAgICAgICAgIGZ1bmN0aW9uIG9uUmVzaXplKCkge1xuICAgICAgICAgICAgICAgIHZhciBhclNvdXJjZSA9IF90aGlzLl9hclNlc3Npb24uYXJTb3VyY2VcblxuICAgICAgICAgICAgICAgIC8vIHVnbHkga2x1ZGdlIHRvIGdldCByZXNpemUgb24gYWZyYW1lLi4uIG5vdCBldmVuIHN1cmUgaXQgd29ya3NcbiAgICAgICAgICAgICAgICBpZiAoYXJQcm9maWxlLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCAhPT0gJ3RhbmdvJykge1xuICAgICAgICAgICAgICAgICAgICBhclNvdXJjZS5jb3B5RWxlbWVudFNpemVUbyhkb2N1bWVudC5ib2R5KVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIGZpeGluZyBhLWZyYW1lIGNzc1xuICAgICAgICAgICAgICAgIHZhciBidXR0b25FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmEtZW50ZXItdnInKVxuICAgICAgICAgICAgICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAgICAgICAgIC8vXHRcdGhvbm9yIC5kZWJ1Z1VJRW5hYmxlZFxuICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgICAgICBpZiAoX3RoaXMuZGF0YS5kZWJ1Z1VJRW5hYmxlZCkgaW5pdERlYnVnVUkoKVxuICAgICAgICAgICAgZnVuY3Rpb24gaW5pdERlYnVnVUkoKSB7XG4gICAgICAgICAgICAgICAgLy8gZ2V0IG9yIGNyZWF0ZSBjb250YWluZXJFbGVtZW50XG4gICAgICAgICAgICAgICAgdmFyIGNvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqc0RlYnVnVUlDb250YWluZXInKVxuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJFbGVtZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LmlkID0gJ2FyanNEZWJ1Z1VJQ29udGFpbmVyJ1xuICAgICAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LnNldEF0dHJpYnV0ZSgnc3R5bGUnLCAncG9zaXRpb246IGZpeGVkOyBib3R0b206IDEwcHg7IHdpZHRoOjEwMCU7IHRleHQtYWxpZ246IGNlbnRlcjsgei1pbmRleDogMTtjb2xvcjogZ3JleTsnKVxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lckVsZW1lbnQpXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHNlc3Npb25EZWJ1Z1VJXG4gICAgICAgICAgICAgICAgdmFyIHNlc3Npb25EZWJ1Z1VJID0gbmV3IFNlc3Npb25EZWJ1Z1VJKGFyU2Vzc2lvbilcbiAgICAgICAgICAgICAgICBjb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHNlc3Npb25EZWJ1Z1VJLmRvbUVsZW1lbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgICAgICAvLyBUT0RPIHRoaXMgaXMgY3JhcHB5IC0gY29kZSBhbiBleHBvbmVudGlhbCBiYWNrb2ZmIC0gbWF4IDEgc2Vjb25kc1xuICAgICAgICAvLyBLTFVER0U6IGtsdWRnZSB0byB3cml0ZSBhICdyZXNpemUnIGV2ZW50XG4gICAgICAgIC8vIHZhciBzdGFydGVkQXQgPSBEYXRlLm5vdygpXG4gICAgICAgIC8vIHZhciB0aW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyAgICAgaWYgKERhdGUubm93KCkgLSBzdGFydGVkQXQgPiAxMDAwMCAqIDEwMDApIHtcbiAgICAgICAgLy8gICAgICAgICBjbGVhckludGVydmFsKHRpbWVySWQpXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuXG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICAvLyBvblJlc2l6ZSgpXG4gICAgICAgIC8vICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKTtcbiAgICAgICAgLy8gfSwgMTAwMCAvIDMwKVxuXG4gICAgICAgIGZ1bmN0aW9uIHNldEJhY2tvZmYoZnVuYywgbWlsbGlzRHVyYXRpb24gPSBJbmZpbml0eSwgbGltaXQgPSAxMDAwKSB7XG4gICAgICAgICAgICBpZihmdW5jID09IG51bGwgfHwgIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZnVuYykgPT0gJ1tvYmplY3QgRnVuY3Rpb25dJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgbGV0IGJhY2tvZmYgPSAzMy4zXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICAgICAgICBsZXQgcmVwZWF0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgIHJldHVybiAobWlsbGlzRHVyYXRpb24gPT0gSW5maW5pdHkgfHwgKERhdGUubm93KCkgLSBzdGFydCkgPCBtaWxsaXNEdXJhdGlvbilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBuZXh0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgYmFja29mZiA9IChiYWNrb2ZmICogMikgPCBsaW1pdCA/IChiYWNrb2ZmICogMikgOiBsaW1pdFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgIGZ1bmMoKVxuICAgICAgICAgICAgICAgICAgICBpZihyZXBlYXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCBiYWNrb2ZmKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIG5leHQoKVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0QmFja29mZigoKSA9PiB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Jlc2l6ZScpKVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICB0aWNrOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIHNraXAgaXQgaWYgbm90IHlldCBpc0luaXRpYWxpc2VkXG4gICAgICAgIGlmICh0aGlzLmlzUmVhZHkgPT09IGZhbHNlIHx8IHRoaXMuZGF0YS52aWRlb1RleHR1cmUgPT09IHRydWUpIHJldHVyblxuXG4gICAgICAgIC8vIHVwZGF0ZSBhclNlc3Npb25cbiAgICAgICAgdGhpcy5fYXJTZXNzaW9uLnVwZGF0ZSgpXG5cbiAgICAgICAgLy8gY29weSBwcm9qZWN0aW9uIG1hdHJpeCB0byBjYW1lcmFcbiAgICAgICAgdGhpcy5fYXJTZXNzaW9uLm9uUmVzaXplKClcbiAgICB9LFxuXG4gICAgX2Rpc3BsYXlFcnJvclBvcHVwOiBmdW5jdGlvbihtc2cpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5lcnJvclBvcHVwICE9PSAnJykge1xuICAgICAgICAgICAgbGV0IGVycm9yUG9wdXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmRhdGEuZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICBpZiAoIWVycm9yUG9wdXApIHtcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5kYXRhLmVycm9yUG9wdXApO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9IG1zZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFsZXJ0KG1zZyk7XG4gICAgICAgIH1cbiAgICB9XG59KVxuIiwiIWZ1bmN0aW9uKEEsSSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9SSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sSSk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5BUlRvb2xraXQ9SSgpOkEuQVJUb29sa2l0PUkoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybigoKT0+e3ZhciBBPXs3NTc6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDY2Nil9LDY2OTooQSxJLGcpPT57QS5leHBvcnRzPWcoNjA5KX0sNDQ4OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDI2KSxRPWcoMzcyKSxFPWcoMzI3KSxpPWcoOTcpLG89ZygxMDkpLEQ9Zyg5ODUpLGE9Zyg2MSksdz1nKDY1NSksRj1nKDI2Myk7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oSSxnKXt2YXIgRyxoPUEuZGF0YSxzPUEuaGVhZGVycyxSPUEucmVzcG9uc2VUeXBlO2Z1bmN0aW9uIFUoKXtBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKEcpLEEuc2lnbmFsJiZBLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIixHKX1CLmlzRm9ybURhdGEoaCkmJmRlbGV0ZSBzW1wiQ29udGVudC1UeXBlXCJdO3ZhciB5PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLmF1dGgpe3ZhciB0PUEuYXV0aC51c2VybmFtZXx8XCJcIixTPUEuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoQS5hdXRoLnBhc3N3b3JkKSk6XCJcIjtzLkF1dGhvcml6YXRpb249XCJCYXNpYyBcIitidG9hKHQrXCI6XCIrUyl9dmFyIE09aShBLmJhc2VVUkwsQS51cmwpO2Z1bmN0aW9uIG4oKXtpZih5KXt2YXIgQj1cImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiaW4geT9vKHkuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsUT17ZGF0YTpSJiZcInRleHRcIiE9PVImJlwianNvblwiIT09Uj95LnJlc3BvbnNlOnkucmVzcG9uc2VUZXh0LHN0YXR1czp5LnN0YXR1cyxzdGF0dXNUZXh0Onkuc3RhdHVzVGV4dCxoZWFkZXJzOkIsY29uZmlnOkEscmVxdWVzdDp5fTtDKChmdW5jdGlvbihBKXtJKEEpLFUoKX0pLChmdW5jdGlvbihBKXtnKEEpLFUoKX0pLFEpLHk9bnVsbH19aWYoeS5vcGVuKEEubWV0aG9kLnRvVXBwZXJDYXNlKCksRShNLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplciksITApLHkudGltZW91dD1BLnRpbWVvdXQsXCJvbmxvYWRlbmRcImluIHk/eS5vbmxvYWRlbmQ9bjp5Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3kmJjQ9PT15LnJlYWR5U3RhdGUmJigwIT09eS5zdGF0dXN8fHkucmVzcG9uc2VVUkwmJjA9PT15LnJlc3BvbnNlVVJMLmluZGV4T2YoXCJmaWxlOlwiKSkmJnNldFRpbWVvdXQobil9LHkub25hYm9ydD1mdW5jdGlvbigpe3kmJihnKGEoXCJSZXF1ZXN0IGFib3J0ZWRcIixBLFwiRUNPTk5BQk9SVEVEXCIseSkpLHk9bnVsbCl9LHkub25lcnJvcj1mdW5jdGlvbigpe2coYShcIk5ldHdvcmsgRXJyb3JcIixBLG51bGwseSkpLHk9bnVsbH0seS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgST1BLnRpbWVvdXQ/XCJ0aW1lb3V0IG9mIFwiK0EudGltZW91dCtcIm1zIGV4Y2VlZGVkXCI6XCJ0aW1lb3V0IGV4Y2VlZGVkXCIsQj1BLnRyYW5zaXRpb25hbHx8dy50cmFuc2l0aW9uYWw7QS50aW1lb3V0RXJyb3JNZXNzYWdlJiYoST1BLnRpbWVvdXRFcnJvck1lc3NhZ2UpLGcoYShJLEEsQi5jbGFyaWZ5VGltZW91dEVycm9yP1wiRVRJTUVET1VUXCI6XCJFQ09OTkFCT1JURURcIix5KSkseT1udWxsfSxCLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBjPShBLndpdGhDcmVkZW50aWFsc3x8RChNKSkmJkEueHNyZkNvb2tpZU5hbWU/US5yZWFkKEEueHNyZkNvb2tpZU5hbWUpOnZvaWQgMDtjJiYoc1tBLnhzcmZIZWFkZXJOYW1lXT1jKX1cInNldFJlcXVlc3RIZWFkZXJcImluIHkmJkIuZm9yRWFjaChzLChmdW5jdGlvbihBLEkpe3ZvaWQgMD09PWgmJlwiY29udGVudC10eXBlXCI9PT1JLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIHNbSV06eS5zZXRSZXF1ZXN0SGVhZGVyKEksQSl9KSksQi5pc1VuZGVmaW5lZChBLndpdGhDcmVkZW50aWFscyl8fCh5LndpdGhDcmVkZW50aWFscz0hIUEud2l0aENyZWRlbnRpYWxzKSxSJiZcImpzb25cIiE9PVImJih5LnJlc3BvbnNlVHlwZT1BLnJlc3BvbnNlVHlwZSksXCJmdW5jdGlvblwiPT10eXBlb2YgQS5vbkRvd25sb2FkUHJvZ3Jlc3MmJnkuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsQS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFwiZnVuY3Rpb25cIj09dHlwZW9mIEEub25VcGxvYWRQcm9ncmVzcyYmeS51cGxvYWQmJnkudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLEEub25VcGxvYWRQcm9ncmVzcyksKEEuY2FuY2VsVG9rZW58fEEuc2lnbmFsKSYmKEc9ZnVuY3Rpb24oQSl7eSYmKGcoIUF8fEEmJkEudHlwZT9uZXcgRihcImNhbmNlbGVkXCIpOkEpLHkuYWJvcnQoKSx5PW51bGwpfSxBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnN1YnNjcmliZShHKSxBLnNpZ25hbCYmKEEuc2lnbmFsLmFib3J0ZWQ/RygpOkEuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLEcpKSksaHx8KGg9bnVsbCkseS5zZW5kKGgpfSkpfX0sNjA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDg0OSksUT1nKDMyMSksRT1nKDE4NSksaT1mdW5jdGlvbiBBKEkpe3ZhciBnPW5ldyBRKEkpLGk9QyhRLnByb3RvdHlwZS5yZXF1ZXN0LGcpO3JldHVybiBCLmV4dGVuZChpLFEucHJvdG90eXBlLGcpLEIuZXh0ZW5kKGksZyksaS5jcmVhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIEEoRShJLGcpKX0saX0oZyg2NTUpKTtpLkF4aW9zPVEsaS5DYW5jZWw9ZygyNjMpLGkuQ2FuY2VsVG9rZW49Zyg5NzIpLGkuaXNDYW5jZWw9Zyg1MDIpLGkuVkVSU0lPTj1nKDI4OCkudmVyc2lvbixpLmFsbD1mdW5jdGlvbihBKXtyZXR1cm4gUHJvbWlzZS5hbGwoQSl9LGkuc3ByZWFkPWcoNzEzKSxpLmlzQXhpb3NFcnJvcj1nKDI2OCksQS5leHBvcnRzPWksQS5leHBvcnRzLmRlZmF1bHQ9aX0sMjYzOkE9PntcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBJKEEpe3RoaXMubWVzc2FnZT1BfUkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXCJDYW5jZWxcIisodGhpcy5tZXNzYWdlP1wiOiBcIit0aGlzLm1lc3NhZ2U6XCJcIil9LEkucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsQS5leHBvcnRzPUl9LDk3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9ZygyNjMpO2Z1bmN0aW9uIEMoQSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgSTt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0k9QX0pKTt2YXIgZz10aGlzO3RoaXMucHJvbWlzZS50aGVuKChmdW5jdGlvbihBKXtpZihnLl9saXN0ZW5lcnMpe3ZhciBJLEI9Zy5fbGlzdGVuZXJzLmxlbmd0aDtmb3IoST0wO0k8QjtJKyspZy5fbGlzdGVuZXJzW0ldKEEpO2cuX2xpc3RlbmVycz1udWxsfX0pKSx0aGlzLnByb21pc2UudGhlbj1mdW5jdGlvbihBKXt2YXIgSSxCPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtnLnN1YnNjcmliZShBKSxJPUF9KSkudGhlbihBKTtyZXR1cm4gQi5jYW5jZWw9ZnVuY3Rpb24oKXtnLnVuc3Vic2NyaWJlKEkpfSxCfSxBKChmdW5jdGlvbihBKXtnLnJlYXNvbnx8KGcucmVhc29uPW5ldyBCKEEpLEkoZy5yZWFzb24pKX0pKX1DLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LEMucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihBKXt0aGlzLnJlYXNvbj9BKHRoaXMucmVhc29uKTp0aGlzLl9saXN0ZW5lcnM/dGhpcy5fbGlzdGVuZXJzLnB1c2goQSk6dGhpcy5fbGlzdGVuZXJzPVtBXX0sQy5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7aWYodGhpcy5fbGlzdGVuZXJzKXt2YXIgST10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihBKTstMSE9PUkmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UoSSwxKX19LEMuc291cmNlPWZ1bmN0aW9uKCl7dmFyIEE7cmV0dXJue3Rva2VuOm5ldyBDKChmdW5jdGlvbihJKXtBPUl9KSksY2FuY2VsOkF9fSxBLmV4cG9ydHM9Q30sNTAyOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuISghQXx8IUEuX19DQU5DRUxfXyl9fSwzMjE6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoMzI3KSxRPWcoNzgyKSxFPWcoNTcyKSxpPWcoMTg1KSxvPWcoODc1KSxEPW8udmFsaWRhdG9ycztmdW5jdGlvbiBhKEEpe3RoaXMuZGVmYXVsdHM9QSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgUSxyZXNwb25zZTpuZXcgUX19YS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihBKXtcInN0cmluZ1wiPT10eXBlb2YgQT8oQT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOkE9QXx8e30sKEE9aSh0aGlzLmRlZmF1bHRzLEEpKS5tZXRob2Q/QS5tZXRob2Q9QS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9BLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOkEubWV0aG9kPVwiZ2V0XCI7dmFyIEk9QS50cmFuc2l0aW9uYWw7dm9pZCAwIT09SSYmby5hc3NlcnRPcHRpb25zKEkse3NpbGVudEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxjbGFyaWZ5VGltZW91dEVycm9yOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbil9LCExKTt2YXIgZz1bXSxCPSEwO3RoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaCgoZnVuY3Rpb24oSSl7XCJmdW5jdGlvblwiPT10eXBlb2YgSS5ydW5XaGVuJiYhMT09PUkucnVuV2hlbihBKXx8KEI9QiYmSS5zeW5jaHJvbm91cyxnLnVuc2hpZnQoSS5mdWxmaWxsZWQsSS5yZWplY3RlZCkpfSkpO3ZhciBDLFE9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oQSl7US5wdXNoKEEuZnVsZmlsbGVkLEEucmVqZWN0ZWQpfSkpLCFCKXt2YXIgYT1bRSx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShhLGcpLGE9YS5jb25jYXQoUSksQz1Qcm9taXNlLnJlc29sdmUoQSk7YS5sZW5ndGg7KUM9Qy50aGVuKGEuc2hpZnQoKSxhLnNoaWZ0KCkpO3JldHVybiBDfWZvcih2YXIgdz1BO2cubGVuZ3RoOyl7dmFyIEY9Zy5zaGlmdCgpLEc9Zy5zaGlmdCgpO3RyeXt3PUYodyl9Y2F0Y2goQSl7RyhBKTticmVha319dHJ5e0M9RSh3KX1jYXRjaChBKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoQSl9Zm9yKDtRLmxlbmd0aDspQz1DLnRoZW4oUS5zaGlmdCgpLFEuc2hpZnQoKSk7cmV0dXJuIEN9LGEucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihBKXtyZXR1cm4gQT1pKHRoaXMuZGVmYXVsdHMsQSksQyhBLnVybCxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLFwiXCIpfSxCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyl7cmV0dXJuIHRoaXMucmVxdWVzdChpKGd8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOihnfHx7fSkuZGF0YX0pKX19KSksQi5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyxCKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkoQnx8e30se21ldGhvZDpBLHVybDpJLGRhdGE6Z30pKX19KSksQS5leHBvcnRzPWF9LDc4MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO2Z1bmN0aW9uIEMoKXt0aGlzLmhhbmRsZXJzPVtdfUMucHJvdG90eXBlLnVzZT1mdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOkEscmVqZWN0ZWQ6SSxzeW5jaHJvbm91czohIWcmJmcuc3luY2hyb25vdXMscnVuV2hlbjpnP2cucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sQy5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24oQSl7dGhpcy5oYW5kbGVyc1tBXSYmKHRoaXMuaGFuZGxlcnNbQV09bnVsbCl9LEMucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oQSl7Qi5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsKGZ1bmN0aW9uKEkpe251bGwhPT1JJiZBKEkpfSkpfSxBLmV4cG9ydHM9Q30sOTc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNzkzKSxDPWcoMzAzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSYmIUIoSSk/QyhBLEkpOkl9fSw2MTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg0ODEpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxDLFEpe3ZhciBFPW5ldyBFcnJvcihBKTtyZXR1cm4gQihFLEksZyxDLFEpfX0sNTcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDUyNyksUT1nKDUwMiksRT1nKDY1NSksaT1nKDI2Myk7ZnVuY3Rpb24gbyhBKXtpZihBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKSxBLnNpZ25hbCYmQS5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgaShcImNhbmNlbGVkXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbyhBKSxBLmhlYWRlcnM9QS5oZWFkZXJzfHx7fSxBLmRhdGE9Qy5jYWxsKEEsQS5kYXRhLEEuaGVhZGVycyxBLnRyYW5zZm9ybVJlcXVlc3QpLEEuaGVhZGVycz1CLm1lcmdlKEEuaGVhZGVycy5jb21tb258fHt9LEEuaGVhZGVyc1tBLm1ldGhvZF18fHt9LEEuaGVhZGVycyksQi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCIsXCJjb21tb25cIl0sKGZ1bmN0aW9uKEkpe2RlbGV0ZSBBLmhlYWRlcnNbSV19KSksKEEuYWRhcHRlcnx8RS5hZGFwdGVyKShBKS50aGVuKChmdW5jdGlvbihJKXtyZXR1cm4gbyhBKSxJLmRhdGE9Qy5jYWxsKEEsSS5kYXRhLEkuaGVhZGVycyxBLnRyYW5zZm9ybVJlc3BvbnNlKSxJfSksKGZ1bmN0aW9uKEkpe3JldHVybiBRKEkpfHwobyhBKSxJJiZJLnJlc3BvbnNlJiYoSS5yZXNwb25zZS5kYXRhPUMuY2FsbChBLEkucmVzcG9uc2UuZGF0YSxJLnJlc3BvbnNlLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChJKX0pKX19LDQ4MTpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEuY29uZmlnPUksZyYmKEEuY29kZT1nKSxBLnJlcXVlc3Q9QixBLnJlc3BvbnNlPUMsQS5pc0F4aW9zRXJyb3I9ITAsQS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGUsc3RhdHVzOnRoaXMucmVzcG9uc2UmJnRoaXMucmVzcG9uc2Uuc3RhdHVzP3RoaXMucmVzcG9uc2Uuc3RhdHVzOm51bGx9fSxBfX0sMTg1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7ST1JfHx7fTt2YXIgZz17fTtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuIEIuaXNQbGFpbk9iamVjdChBKSYmQi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2UoQSxJKTpCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZSh7fSxJKTpCLmlzQXJyYXkoSSk/SS5zbGljZSgpOkl9ZnVuY3Rpb24gUShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKEFbZ10sSVtnXSl9ZnVuY3Rpb24gRShBKXtpZighQi5pc1VuZGVmaW5lZChJW0FdKSlyZXR1cm4gQyh2b2lkIDAsSVtBXSl9ZnVuY3Rpb24gaShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKHZvaWQgMCxJW2ddKX1mdW5jdGlvbiBvKGcpe3JldHVybiBnIGluIEk/QyhBW2ddLElbZ10pOmcgaW4gQT9DKHZvaWQgMCxBW2ddKTp2b2lkIDB9dmFyIEQ9e3VybDpFLG1ldGhvZDpFLGRhdGE6RSxiYXNlVVJMOmksdHJhbnNmb3JtUmVxdWVzdDppLHRyYW5zZm9ybVJlc3BvbnNlOmkscGFyYW1zU2VyaWFsaXplcjppLHRpbWVvdXQ6aSx0aW1lb3V0TWVzc2FnZTppLHdpdGhDcmVkZW50aWFsczppLGFkYXB0ZXI6aSxyZXNwb25zZVR5cGU6aSx4c3JmQ29va2llTmFtZTppLHhzcmZIZWFkZXJOYW1lOmksb25VcGxvYWRQcm9ncmVzczppLG9uRG93bmxvYWRQcm9ncmVzczppLGRlY29tcHJlc3M6aSxtYXhDb250ZW50TGVuZ3RoOmksbWF4Qm9keUxlbmd0aDppLHRyYW5zcG9ydDppLGh0dHBBZ2VudDppLGh0dHBzQWdlbnQ6aSxjYW5jZWxUb2tlbjppLHNvY2tldFBhdGg6aSxyZXNwb25zZUVuY29kaW5nOmksdmFsaWRhdGVTdGF0dXM6b307cmV0dXJuIEIuZm9yRWFjaChPYmplY3Qua2V5cyhBKS5jb25jYXQoT2JqZWN0LmtleXMoSSkpLChmdW5jdGlvbihBKXt2YXIgST1EW0FdfHxRLEM9SShBKTtCLmlzVW5kZWZpbmVkKEMpJiZJIT09b3x8KGdbQV09Qyl9KSksZ319LDI2OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDYxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBDPWcuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2cuc3RhdHVzJiZDJiYhQyhnLnN0YXR1cyk/SShCKFwiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSBcIitnLnN0YXR1cyxnLmNvbmZpZyxudWxsLGcucmVxdWVzdCxnKSk6QShnKX19LDUyNzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg2NTUpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIFE9dGhpc3x8QztyZXR1cm4gQi5mb3JFYWNoKGcsKGZ1bmN0aW9uKGcpe0E9Zy5jYWxsKFEsQSxJKX0pKSxBfX0sNjU1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDE2KSxRPWcoNDgxKSxFPXtcIkNvbnRlbnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJ9O2Z1bmN0aW9uIGkoQSxJKXshQi5pc1VuZGVmaW5lZChBKSYmQi5pc1VuZGVmaW5lZChBW1wiQ29udGVudC1UeXBlXCJdKSYmKEFbXCJDb250ZW50LVR5cGVcIl09SSl9dmFyIG8sRD17dHJhbnNpdGlvbmFsOntzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxhZGFwdGVyOigoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmXCJbb2JqZWN0IHByb2Nlc3NdXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykpJiYobz1nKDQ0OCkpLG8pLHRyYW5zZm9ybVJlcXVlc3Q6W2Z1bmN0aW9uKEEsSSl7cmV0dXJuIEMoSSxcIkFjY2VwdFwiKSxDKEksXCJDb250ZW50LVR5cGVcIiksQi5pc0Zvcm1EYXRhKEEpfHxCLmlzQXJyYXlCdWZmZXIoQSl8fEIuaXNCdWZmZXIoQSl8fEIuaXNTdHJlYW0oQSl8fEIuaXNGaWxlKEEpfHxCLmlzQmxvYihBKT9BOkIuaXNBcnJheUJ1ZmZlclZpZXcoQSk/QS5idWZmZXI6Qi5pc1VSTFNlYXJjaFBhcmFtcyhBKT8oaShJLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIiksQS50b1N0cmluZygpKTpCLmlzT2JqZWN0KEEpfHxJJiZcImFwcGxpY2F0aW9uL2pzb25cIj09PUlbXCJDb250ZW50LVR5cGVcIl0/KGkoSSxcImFwcGxpY2F0aW9uL2pzb25cIiksZnVuY3Rpb24oQSxJLGcpe2lmKEIuaXNTdHJpbmcoQSkpdHJ5e3JldHVybigwLEpTT04ucGFyc2UpKEEpLEIudHJpbShBKX1jYXRjaChBKXtpZihcIlN5bnRheEVycm9yXCIhPT1BLm5hbWUpdGhyb3cgQX1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoQSl9KEEpKTpBfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKEEpe3ZhciBJPXRoaXMudHJhbnNpdGlvbmFsfHxELnRyYW5zaXRpb25hbCxnPUkmJkkuc2lsZW50SlNPTlBhcnNpbmcsQz1JJiZJLmZvcmNlZEpTT05QYXJzaW5nLEU9IWcmJlwianNvblwiPT09dGhpcy5yZXNwb25zZVR5cGU7aWYoRXx8QyYmQi5pc1N0cmluZyhBKSYmQS5sZW5ndGgpdHJ5e3JldHVybiBKU09OLnBhcnNlKEEpfWNhdGNoKEEpe2lmKEUpe2lmKFwiU3ludGF4RXJyb3JcIj09PUEubmFtZSl0aHJvdyBRKEEsdGhpcyxcIkVfSlNPTl9QQVJTRVwiKTt0aHJvdyBBfX1yZXR1cm4gQX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcIlhTUkYtVE9LRU5cIix4c3JmSGVhZGVyTmFtZTpcIlgtWFNSRi1UT0tFTlwiLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihBKXtyZXR1cm4gQT49MjAwJiZBPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcIn19fTtCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT17fX0pKSxCLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPUIubWVyZ2UoRSl9KSksQS5leHBvcnRzPUR9LDI4ODpBPT57QS5leHBvcnRzPXt2ZXJzaW9uOlwiMC4yNC4wXCJ9fSw4NDk6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksQj0wO0I8Zy5sZW5ndGg7QisrKWdbQl09YXJndW1lbnRzW0JdO3JldHVybiBBLmFwcGx5KEksZyl9fX0sMzI3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEEpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe2lmKCFJKXJldHVybiBBO3ZhciBRO2lmKGcpUT1nKEkpO2Vsc2UgaWYoQi5pc1VSTFNlYXJjaFBhcmFtcyhJKSlRPUkudG9TdHJpbmcoKTtlbHNle3ZhciBFPVtdO0IuZm9yRWFjaChJLChmdW5jdGlvbihBLEkpe251bGwhPUEmJihCLmlzQXJyYXkoQSk/SSs9XCJbXVwiOkE9W0FdLEIuZm9yRWFjaChBLChmdW5jdGlvbihBKXtCLmlzRGF0ZShBKT9BPUEudG9JU09TdHJpbmcoKTpCLmlzT2JqZWN0KEEpJiYoQT1KU09OLnN0cmluZ2lmeShBKSksRS5wdXNoKEMoSSkrXCI9XCIrQyhBKSl9KSkpfSkpLFE9RS5qb2luKFwiJlwiKX1pZihRKXt2YXIgaT1BLmluZGV4T2YoXCIjXCIpOy0xIT09aSYmKEE9QS5zbGljZSgwLGkpKSxBKz0oLTE9PT1BLmluZGV4T2YoXCI/XCIpP1wiP1wiOlwiJlwiKStRfXJldHVybiBBfX0sMzAzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9BLnJlcGxhY2UoL1xcLyskLyxcIlwiKStcIi9cIitJLnJlcGxhY2UoL15cXC8rLyxcIlwiKTpBfX0sMzcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRLEUpe3ZhciBpPVtdO2kucHVzaChBK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChJKSksQi5pc051bWJlcihnKSYmaS5wdXNoKFwiZXhwaXJlcz1cIituZXcgRGF0ZShnKS50b0dNVFN0cmluZygpKSxCLmlzU3RyaW5nKEMpJiZpLnB1c2goXCJwYXRoPVwiK0MpLEIuaXNTdHJpbmcoUSkmJmkucHVzaChcImRvbWFpbj1cIitRKSwhMD09PUUmJmkucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9aS5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oQSl7dmFyIEk9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitBK1wiKT0oW147XSopXCIpKTtyZXR1cm4gST9kZWNvZGVVUklDb21wb25lbnQoSVszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKEEpe3RoaXMud3JpdGUoQSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319fSw3OTM6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QoQSl9fSwyNjg6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgQSYmITA9PT1BLmlzQXhpb3NFcnJvcn19LDk4NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgQSxJPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBDKEEpe3ZhciBCPUE7cmV0dXJuIEkmJihnLnNldEF0dHJpYnV0ZShcImhyZWZcIixCKSxCPWcuaHJlZiksZy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsQikse2hyZWY6Zy5ocmVmLHByb3RvY29sOmcucHJvdG9jb2w/Zy5wcm90b2NvbC5yZXBsYWNlKC86JC8sXCJcIik6XCJcIixob3N0OmcuaG9zdCxzZWFyY2g6Zy5zZWFyY2g/Zy5zZWFyY2gucmVwbGFjZSgvXlxcPy8sXCJcIik6XCJcIixoYXNoOmcuaGFzaD9nLmhhc2gucmVwbGFjZSgvXiMvLFwiXCIpOlwiXCIsaG9zdG5hbWU6Zy5ob3N0bmFtZSxwb3J0OmcucG9ydCxwYXRobmFtZTpcIi9cIj09PWcucGF0aG5hbWUuY2hhckF0KDApP2cucGF0aG5hbWU6XCIvXCIrZy5wYXRobmFtZX19cmV0dXJuIEE9Qyh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oSSl7dmFyIGc9Qi5pc1N0cmluZyhJKT9DKEkpOkk7cmV0dXJuIGcucHJvdG9jb2w9PT1BLnByb3RvY29sJiZnLmhvc3Q9PT1BLmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSwxNjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe0IuZm9yRWFjaChBLChmdW5jdGlvbihnLEIpe0IhPT1JJiZCLnRvVXBwZXJDYXNlKCk9PT1JLnRvVXBwZXJDYXNlKCkmJihBW0ldPWcsZGVsZXRlIEFbQl0pfSkpfX0sMTA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1bXCJhZ2VcIixcImF1dGhvcml6YXRpb25cIixcImNvbnRlbnQtbGVuZ3RoXCIsXCJjb250ZW50LXR5cGVcIixcImV0YWdcIixcImV4cGlyZXNcIixcImZyb21cIixcImhvc3RcIixcImlmLW1vZGlmaWVkLXNpbmNlXCIsXCJpZi11bm1vZGlmaWVkLXNpbmNlXCIsXCJsYXN0LW1vZGlmaWVkXCIsXCJsb2NhdGlvblwiLFwibWF4LWZvcndhcmRzXCIsXCJwcm94eS1hdXRob3JpemF0aW9uXCIsXCJyZWZlcmVyXCIsXCJyZXRyeS1hZnRlclwiLFwidXNlci1hZ2VudFwiXTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7dmFyIEksZyxRLEU9e307cmV0dXJuIEE/KEIuZm9yRWFjaChBLnNwbGl0KFwiXFxuXCIpLChmdW5jdGlvbihBKXtpZihRPUEuaW5kZXhPZihcIjpcIiksST1CLnRyaW0oQS5zdWJzdHIoMCxRKSkudG9Mb3dlckNhc2UoKSxnPUIudHJpbShBLnN1YnN0cihRKzEpKSxJKXtpZihFW0ldJiZDLmluZGV4T2YoSSk+PTApcmV0dXJuO0VbSV09XCJzZXQtY29va2llXCI9PT1JPyhFW0ldP0VbSV06W10pLmNvbmNhdChbZ10pOkVbSV0/RVtJXStcIiwgXCIrZzpnfX0pKSxFKTpFfX0sNzEzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KG51bGwsSSl9fX0sODc1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDI4OCkudmVyc2lvbixDPXt9O1tcIm9iamVjdFwiLFwiYm9vbGVhblwiLFwibnVtYmVyXCIsXCJmdW5jdGlvblwiLFwic3RyaW5nXCIsXCJzeW1ib2xcIl0uZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtDW0FdPWZ1bmN0aW9uKGcpe3JldHVybiB0eXBlb2YgZz09PUF8fFwiYVwiKyhJPDE/XCJuIFwiOlwiIFwiKStBfX0pKTt2YXIgUT17fTtDLnRyYW5zaXRpb25hbD1mdW5jdGlvbihBLEksZyl7ZnVuY3Rpb24gQyhBLEkpe3JldHVyblwiW0F4aW9zIHZcIitCK1wiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICdcIitBK1wiJ1wiK0krKGc/XCIuIFwiK2c6XCJcIil9cmV0dXJuIGZ1bmN0aW9uKGcsQixFKXtpZighMT09PUEpdGhyb3cgbmV3IEVycm9yKEMoQixcIiBoYXMgYmVlbiByZW1vdmVkXCIrKEk/XCIgaW4gXCIrSTpcIlwiKSkpO3JldHVybiBJJiYhUVtCXSYmKFFbQl09ITAsY29uc29sZS53YXJuKEMoQixcIiBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIHZcIitJK1wiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlXCIpKSksIUF8fEEoZyxCLEUpfX0sQS5leHBvcnRzPXthc3NlcnRPcHRpb25zOmZ1bmN0aW9uKEEsSSxnKXtpZihcIm9iamVjdFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdFwiKTtmb3IodmFyIEI9T2JqZWN0LmtleXMoQSksQz1CLmxlbmd0aDtDLS0gPjA7KXt2YXIgUT1CW0NdLEU9SVtRXTtpZihFKXt2YXIgaT1BW1FdLG89dm9pZCAwPT09aXx8RShpLFEsQSk7aWYoITAhPT1vKXRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gXCIrUStcIiBtdXN0IGJlIFwiK28pfWVsc2UgaWYoITAhPT1nKXRocm93IEVycm9yKFwiVW5rbm93biBvcHRpb24gXCIrUSl9fSx2YWxpZGF0b3JzOkN9fSw4Njc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODQ5KSxDPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gUShBKXtyZXR1cm5cIltvYmplY3QgQXJyYXldXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gRShBKXtyZXR1cm4gdm9pZCAwPT09QX1mdW5jdGlvbiBpKEEpe3JldHVybiBudWxsIT09QSYmXCJvYmplY3RcIj09dHlwZW9mIEF9ZnVuY3Rpb24gbyhBKXtpZihcIltvYmplY3QgT2JqZWN0XVwiIT09Qy5jYWxsKEEpKXJldHVybiExO3ZhciBJPU9iamVjdC5nZXRQcm90b3R5cGVPZihBKTtyZXR1cm4gbnVsbD09PUl8fEk9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIEQoQSl7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIGEoQSxJKXtpZihudWxsIT1BKWlmKFwib2JqZWN0XCIhPXR5cGVvZiBBJiYoQT1bQV0pLFEoQSkpZm9yKHZhciBnPTAsQj1BLmxlbmd0aDtnPEI7ZysrKUkuY2FsbChudWxsLEFbZ10sZyxBKTtlbHNlIGZvcih2YXIgQyBpbiBBKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEMpJiZJLmNhbGwobnVsbCxBW0NdLEMsQSl9QS5leHBvcnRzPXtpc0FycmF5OlEsaXNBcnJheUJ1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQXJyYXlCdWZmZXJdXCI9PT1DLmNhbGwoQSl9LGlzQnVmZmVyOmZ1bmN0aW9uKEEpe3JldHVybiBudWxsIT09QSYmIUUoQSkmJm51bGwhPT1BLmNvbnN0cnVjdG9yJiYhRShBLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihBKX0saXNGb3JtRGF0YTpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJkEgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KEEpOkEmJkEuYnVmZmVyJiZBLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfSxpc1N0cmluZzpmdW5jdGlvbihBKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgQX0saXNOdW1iZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIEF9LGlzT2JqZWN0OmksaXNQbGFpbk9iamVjdDpvLGlzVW5kZWZpbmVkOkUsaXNEYXRlOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09Qy5jYWxsKEEpfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEZpbGVdXCI9PT1DLmNhbGwoQSl9LGlzQmxvYjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQmxvYl1cIj09PUMuY2FsbChBKX0saXNGdW5jdGlvbjpELGlzU3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpKEEpJiZEKEEucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJkEgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFwiUmVhY3ROYXRpdmVcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5hdGl2ZVNjcmlwdFwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTlNcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50fSxmb3JFYWNoOmEsbWVyZ2U6ZnVuY3Rpb24gQSgpe3ZhciBJPXt9O2Z1bmN0aW9uIGcoZyxCKXtvKElbQl0pJiZvKGcpP0lbQl09QShJW0JdLGcpOm8oZyk/SVtCXT1BKHt9LGcpOlEoZyk/SVtCXT1nLnNsaWNlKCk6SVtCXT1nfWZvcih2YXIgQj0wLEM9YXJndW1lbnRzLmxlbmd0aDtCPEM7QisrKWEoYXJndW1lbnRzW0JdLGcpO3JldHVybiBJfSxleHRlbmQ6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBhKEksKGZ1bmN0aW9uKEksQyl7QVtDXT1nJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBJP0IoSSxnKTpJfSkpLEF9LHRyaW06ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJpbT9BLnRyaW0oKTpBLnJlcGxhY2UoL15cXHMrfFxccyskL2csXCJcIil9LHN0cmlwQk9NOmZ1bmN0aW9uKEEpe3JldHVybiA2NTI3OT09PUEuY2hhckNvZGVBdCgwKSYmKEE9QS5zbGljZSgxKSksQX19fSw2NjY6QT0+e3ZhciBJPWZ1bmN0aW9uKEEpe1widXNlIHN0cmljdFwiO3ZhciBJLGc9T2JqZWN0LnByb3RvdHlwZSxCPWcuaGFzT3duUHJvcGVydHksQz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LFE9Qy5pdGVyYXRvcnx8XCJAQGl0ZXJhdG9yXCIsRT1DLmFzeW5jSXRlcmF0b3J8fFwiQEBhc3luY0l0ZXJhdG9yXCIsaT1DLnRvU3RyaW5nVGFnfHxcIkBAdG9TdHJpbmdUYWdcIjtmdW5jdGlvbiBvKEEsSSxnKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLEFbSV19dHJ5e28oe30sXCJcIil9Y2F0Y2goQSl7bz1mdW5jdGlvbihBLEksZyl7cmV0dXJuIEFbSV09Z319ZnVuY3Rpb24gRChBLEksZyxCKXt2YXIgQz1JJiZJLnByb3RvdHlwZSBpbnN0YW5jZW9mIFI/STpSLFE9T2JqZWN0LmNyZWF0ZShDLnByb3RvdHlwZSksRT1uZXcgWShCfHxbXSk7cmV0dXJuIFEuX2ludm9rZT1mdW5jdGlvbihBLEksZyl7dmFyIEI9dztyZXR1cm4gZnVuY3Rpb24oQyxRKXtpZihCPT09Ryl0aHJvdyBuZXcgRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXCIpO2lmKEI9PT1oKXtpZihcInRocm93XCI9PT1DKXRocm93IFE7cmV0dXJuIEooKX1mb3IoZy5tZXRob2Q9QyxnLmFyZz1ROzspe3ZhciBFPWcuZGVsZWdhdGU7aWYoRSl7dmFyIGk9ayhFLGcpO2lmKGkpe2lmKGk9PT1zKWNvbnRpbnVlO3JldHVybiBpfX1pZihcIm5leHRcIj09PWcubWV0aG9kKWcuc2VudD1nLl9zZW50PWcuYXJnO2Vsc2UgaWYoXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEI9PT13KXRocm93IEI9aCxnLmFyZztnLmRpc3BhdGNoRXhjZXB0aW9uKGcuYXJnKX1lbHNlXCJyZXR1cm5cIj09PWcubWV0aG9kJiZnLmFicnVwdChcInJldHVyblwiLGcuYXJnKTtCPUc7dmFyIG89YShBLEksZyk7aWYoXCJub3JtYWxcIj09PW8udHlwZSl7aWYoQj1nLmRvbmU/aDpGLG8uYXJnPT09cyljb250aW51ZTtyZXR1cm57dmFsdWU6by5hcmcsZG9uZTpnLmRvbmV9fVwidGhyb3dcIj09PW8udHlwZSYmKEI9aCxnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9by5hcmcpfX19KEEsZyxFKSxRfWZ1bmN0aW9uIGEoQSxJLGcpe3RyeXtyZXR1cm57dHlwZTpcIm5vcm1hbFwiLGFyZzpBLmNhbGwoSSxnKX19Y2F0Y2goQSl7cmV0dXJue3R5cGU6XCJ0aHJvd1wiLGFyZzpBfX19QS53cmFwPUQ7dmFyIHc9XCJzdXNwZW5kZWRTdGFydFwiLEY9XCJzdXNwZW5kZWRZaWVsZFwiLEc9XCJleGVjdXRpbmdcIixoPVwiY29tcGxldGVkXCIscz17fTtmdW5jdGlvbiBSKCl7fWZ1bmN0aW9uIFUoKXt9ZnVuY3Rpb24geSgpe312YXIgdD17fTtvKHQsUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgUz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsTT1TJiZTKFMoZShbXSkpKTtNJiZNIT09ZyYmQi5jYWxsKE0sUSkmJih0PU0pO3ZhciBuPXkucHJvdG90eXBlPVIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCk7ZnVuY3Rpb24gYyhBKXtbXCJuZXh0XCIsXCJ0aHJvd1wiLFwicmV0dXJuXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe28oQSxJLChmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5faW52b2tlKEksQSl9KSl9KSl9ZnVuY3Rpb24gcihBLEkpe2Z1bmN0aW9uIGcoQyxRLEUsaSl7dmFyIG89YShBW0NdLEEsUSk7aWYoXCJ0aHJvd1wiIT09by50eXBlKXt2YXIgRD1vLmFyZyx3PUQudmFsdWU7cmV0dXJuIHcmJlwib2JqZWN0XCI9PXR5cGVvZiB3JiZCLmNhbGwodyxcIl9fYXdhaXRcIik/SS5yZXNvbHZlKHcuX19hd2FpdCkudGhlbigoZnVuY3Rpb24oQSl7ZyhcIm5leHRcIixBLEUsaSl9KSwoZnVuY3Rpb24oQSl7ZyhcInRocm93XCIsQSxFLGkpfSkpOkkucmVzb2x2ZSh3KS50aGVuKChmdW5jdGlvbihBKXtELnZhbHVlPUEsRShEKX0pLChmdW5jdGlvbihBKXtyZXR1cm4gZyhcInRocm93XCIsQSxFLGkpfSkpfWkoby5hcmcpfXZhciBDO3RoaXMuX2ludm9rZT1mdW5jdGlvbihBLEIpe2Z1bmN0aW9uIFEoKXtyZXR1cm4gbmV3IEkoKGZ1bmN0aW9uKEksQyl7ZyhBLEIsSSxDKX0pKX1yZXR1cm4gQz1DP0MudGhlbihRLFEpOlEoKX19ZnVuY3Rpb24gayhBLGcpe3ZhciBCPUEuaXRlcmF0b3JbZy5tZXRob2RdO2lmKEI9PT1JKXtpZihnLmRlbGVnYXRlPW51bGwsXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEEuaXRlcmF0b3IucmV0dXJuJiYoZy5tZXRob2Q9XCJyZXR1cm5cIixnLmFyZz1JLGsoQSxnKSxcInRocm93XCI9PT1nLm1ldGhvZCkpcmV0dXJuIHM7Zy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kXCIpfXJldHVybiBzfXZhciBDPWEoQixBLml0ZXJhdG9yLGcuYXJnKTtpZihcInRocm93XCI9PT1DLnR5cGUpcmV0dXJuIGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1DLmFyZyxnLmRlbGVnYXRlPW51bGwsczt2YXIgUT1DLmFyZztyZXR1cm4gUT9RLmRvbmU/KGdbQS5yZXN1bHROYW1lXT1RLnZhbHVlLGcubmV4dD1BLm5leHRMb2MsXCJyZXR1cm5cIiE9PWcubWV0aG9kJiYoZy5tZXRob2Q9XCJuZXh0XCIsZy5hcmc9SSksZy5kZWxlZ2F0ZT1udWxsLHMpOlE6KGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1uZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIiksZy5kZWxlZ2F0ZT1udWxsLHMpfWZ1bmN0aW9uIEsoQSl7dmFyIEk9e3RyeUxvYzpBWzBdfTsxIGluIEEmJihJLmNhdGNoTG9jPUFbMV0pLDIgaW4gQSYmKEkuZmluYWxseUxvYz1BWzJdLEkuYWZ0ZXJMb2M9QVszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goSSl9ZnVuY3Rpb24gTihBKXt2YXIgST1BLmNvbXBsZXRpb258fHt9O0kudHlwZT1cIm5vcm1hbFwiLGRlbGV0ZSBJLmFyZyxBLmNvbXBsZXRpb249SX1mdW5jdGlvbiBZKEEpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzpcInJvb3RcIn1dLEEuZm9yRWFjaChLLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGUoQSl7aWYoQSl7dmFyIGc9QVtRXTtpZihnKXJldHVybiBnLmNhbGwoQSk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5uZXh0KXJldHVybiBBO2lmKCFpc05hTihBLmxlbmd0aCkpe3ZhciBDPS0xLEU9ZnVuY3Rpb24gZygpe2Zvcig7KytDPEEubGVuZ3RoOylpZihCLmNhbGwoQSxDKSlyZXR1cm4gZy52YWx1ZT1BW0NdLGcuZG9uZT0hMSxnO3JldHVybiBnLnZhbHVlPUksZy5kb25lPSEwLGd9O3JldHVybiBFLm5leHQ9RX19cmV0dXJue25leHQ6Sn19ZnVuY3Rpb24gSigpe3JldHVybnt2YWx1ZTpJLGRvbmU6ITB9fXJldHVybiBVLnByb3RvdHlwZT15LG8obixcImNvbnN0cnVjdG9yXCIseSksbyh5LFwiY29uc3RydWN0b3JcIixVKSxVLmRpc3BsYXlOYW1lPW8oeSxpLFwiR2VuZXJhdG9yRnVuY3Rpb25cIiksQS5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKEEpe3ZhciBJPVwiZnVuY3Rpb25cIj09dHlwZW9mIEEmJkEuY29uc3RydWN0b3I7cmV0dXJuISFJJiYoST09PVV8fFwiR2VuZXJhdG9yRnVuY3Rpb25cIj09PShJLmRpc3BsYXlOYW1lfHxJLm5hbWUpKX0sQS5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEseSk6KEEuX19wcm90b19fPXksbyhBLGksXCJHZW5lcmF0b3JGdW5jdGlvblwiKSksQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuKSxBfSxBLmF3cmFwPWZ1bmN0aW9uKEEpe3JldHVybntfX2F3YWl0OkF9fSxjKHIucHJvdG90eXBlKSxvKHIucHJvdG90eXBlLEUsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksQS5Bc3luY0l0ZXJhdG9yPXIsQS5hc3luYz1mdW5jdGlvbihJLGcsQixDLFEpe3ZvaWQgMD09PVEmJihRPVByb21pc2UpO3ZhciBFPW5ldyByKEQoSSxnLEIsQyksUSk7cmV0dXJuIEEuaXNHZW5lcmF0b3JGdW5jdGlvbihnKT9FOkUubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmRvbmU/QS52YWx1ZTpFLm5leHQoKX0pKX0sYyhuKSxvKG4saSxcIkdlbmVyYXRvclwiKSxvKG4sUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxvKG4sXCJ0b1N0cmluZ1wiLChmdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBHZW5lcmF0b3JdXCJ9KSksQS5rZXlzPWZ1bmN0aW9uKEEpe3ZhciBJPVtdO2Zvcih2YXIgZyBpbiBBKUkucHVzaChnKTtyZXR1cm4gSS5yZXZlcnNlKCksZnVuY3Rpb24gZygpe2Zvcig7SS5sZW5ndGg7KXt2YXIgQj1JLnBvcCgpO2lmKEIgaW4gQSlyZXR1cm4gZy52YWx1ZT1CLGcuZG9uZT0hMSxnfXJldHVybiBnLmRvbmU9ITAsZ319LEEudmFsdWVzPWUsWS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlkscmVzZXQ6ZnVuY3Rpb24oQSl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9SSx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMuYXJnPUksdGhpcy50cnlFbnRyaWVzLmZvckVhY2goTiksIUEpZm9yKHZhciBnIGluIHRoaXMpXCJ0XCI9PT1nLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsZykmJiFpc05hTigrZy5zbGljZSgxKSkmJih0aGlzW2ddPUkpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm4gdGhpcy5ydmFsfSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbihBKXtpZih0aGlzLmRvbmUpdGhyb3cgQTt2YXIgZz10aGlzO2Z1bmN0aW9uIEMoQixDKXtyZXR1cm4gaS50eXBlPVwidGhyb3dcIixpLmFyZz1BLGcubmV4dD1CLEMmJihnLm1ldGhvZD1cIm5leHRcIixnLmFyZz1JKSwhIUN9Zm9yKHZhciBRPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtRPj0wOy0tUSl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW1FdLGk9RS5jb21wbGV0aW9uO2lmKFwicm9vdFwiPT09RS50cnlMb2MpcmV0dXJuIEMoXCJlbmRcIik7aWYoRS50cnlMb2M8PXRoaXMucHJldil7dmFyIG89Qi5jYWxsKEUsXCJjYXRjaExvY1wiKSxEPUIuY2FsbChFLFwiZmluYWxseUxvY1wiKTtpZihvJiZEKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9ZWxzZSBpZihvKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKX1lbHNle2lmKCFEKXRocm93IG5ldyBFcnJvcihcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XCIpO2lmKHRoaXMucHJldjxFLmZpbmFsbHlMb2MpcmV0dXJuIEMoRS5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtnPj0wOy0tZyl7dmFyIEM9dGhpcy50cnlFbnRyaWVzW2ddO2lmKEMudHJ5TG9jPD10aGlzLnByZXYmJkIuY2FsbChDLFwiZmluYWxseUxvY1wiKSYmdGhpcy5wcmV2PEMuZmluYWxseUxvYyl7dmFyIFE9QzticmVha319USYmKFwiYnJlYWtcIj09PUF8fFwiY29udGludWVcIj09PUEpJiZRLnRyeUxvYzw9SSYmSTw9US5maW5hbGx5TG9jJiYoUT1udWxsKTt2YXIgRT1RP1EuY29tcGxldGlvbjp7fTtyZXR1cm4gRS50eXBlPUEsRS5hcmc9SSxRPyh0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLm5leHQ9US5maW5hbGx5TG9jLHMpOnRoaXMuY29tcGxldGUoRSl9LGNvbXBsZXRlOmZ1bmN0aW9uKEEsSSl7aWYoXCJ0aHJvd1wiPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVyblwiYnJlYWtcIj09PUEudHlwZXx8XCJjb250aW51ZVwiPT09QS50eXBlP3RoaXMubmV4dD1BLmFyZzpcInJldHVyblwiPT09QS50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9QS5hcmcsdGhpcy5tZXRob2Q9XCJyZXR1cm5cIix0aGlzLm5leHQ9XCJlbmRcIik6XCJub3JtYWxcIj09PUEudHlwZSYmSSYmKHRoaXMubmV4dD1JKSxzfSxmaW5pc2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtJPj0wOy0tSSl7dmFyIGc9dGhpcy50cnlFbnRyaWVzW0ldO2lmKGcuZmluYWxseUxvYz09PUEpcmV0dXJuIHRoaXMuY29tcGxldGUoZy5jb21wbGV0aW9uLGcuYWZ0ZXJMb2MpLE4oZyksc319LGNhdGNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLnRyeUxvYz09PUEpe3ZhciBCPWcuY29tcGxldGlvbjtpZihcInRocm93XCI9PT1CLnR5cGUpe3ZhciBDPUIuYXJnO04oZyl9cmV0dXJuIEN9fXRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihBLGcsQil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOmUoQSkscmVzdWx0TmFtZTpnLG5leHRMb2M6Qn0sXCJuZXh0XCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPUkpLHN9fSxBfShBLmV4cG9ydHMpO3RyeXtyZWdlbmVyYXRvclJ1bnRpbWU9SX1jYXRjaChBKXtcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzLnJlZ2VuZXJhdG9yUnVudGltZT1JOkZ1bmN0aW9uKFwiclwiLFwicmVnZW5lcmF0b3JSdW50aW1lID0gclwiKShJKX19LDY1NDooKT0+e30sMjMxOigpPT57fSw3MDM6KCk9Pnt9fSxJPXt9O2Z1bmN0aW9uIGcoQil7dmFyIEM9SVtCXTtpZih2b2lkIDAhPT1DKXJldHVybiBDLmV4cG9ydHM7dmFyIFE9SVtCXT17ZXhwb3J0czp7fX07cmV0dXJuIEFbQl0oUSxRLmV4cG9ydHMsZyksUS5leHBvcnRzfWcubj1BPT57dmFyIEk9QSYmQS5fX2VzTW9kdWxlPygpPT5BLmRlZmF1bHQ6KCk9PkE7cmV0dXJuIGcuZChJLHthOkl9KSxJfSxnLmQ9KEEsSSk9Pntmb3IodmFyIEIgaW4gSSlnLm8oSSxCKSYmIWcubyhBLEIpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLHtlbnVtZXJhYmxlOiEwLGdldDpJW0JdfSl9LGcuZz1mdW5jdGlvbigpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKX1jYXRjaChBKXtpZihcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLGcubz0oQSxJKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEEsSSk7dmFyIEI9e307cmV0dXJuKCgpPT57XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gQShBLEksZyxCLEMsUSxFKXt0cnl7dmFyIGk9QVtRXShFKSxvPWkudmFsdWV9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgZyhBKX1pLmRvbmU/SShvKTpQcm9taXNlLnJlc29sdmUobykudGhlbihCLEMpfWZ1bmN0aW9uIEkoSSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGc9dGhpcyxCPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEMsUSl7dmFyIEU9SS5hcHBseShnLEIpO2Z1bmN0aW9uIGkoSSl7QShFLEMsUSxpLG8sXCJuZXh0XCIsSSl9ZnVuY3Rpb24gbyhJKXtBKEUsQyxRLGksbyxcInRocm93XCIsSSl9aSh2b2lkIDApfSkpfX1mdW5jdGlvbiBDKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBRKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspe3ZhciBCPUlbZ107Qi5lbnVtZXJhYmxlPUIuZW51bWVyYWJsZXx8ITEsQi5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gQiYmKEIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIua2V5LEIpfX1mdW5jdGlvbiBFKEEsSSxnKXtyZXR1cm4gSSYmUShBLnByb3RvdHlwZSxJKSxnJiZRKEEsZyksQX1nLmQoQix7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPWcoNzU3KSxvPWcubihpKTtmdW5jdGlvbiBEKEEpe3JldHVybiBEPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEF9OmZ1bmN0aW9uKEEpe3JldHVybiBBJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJkEuY29uc3RydWN0b3I9PT1TeW1ib2wmJkEhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIEF9LEQoQSl9dmFyIGEsdz0oYT0oYT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM6dm9pZCAwKXx8XCIvaW5kZXguanNcIixmdW5jdGlvbihBKXtBPXZvaWQgMCE9PShBPUF8fHt9KT9BOnt9O3ZhciBJLEI9e307Zm9yKEkgaW4gQSlBLmhhc093blByb3BlcnR5KEkpJiYoQltJXT1BW0ldKTt2YXIgQz1bXSxRPVwiLi90aGlzLnByb2dyYW1cIixFPWZ1bmN0aW9uKEEsSSl7dGhyb3cgSX0saT0hMSxvPSExLHc9ITEsRj0hMTtpPVwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIHdpbmRvdz9cInVuZGVmaW5lZFwiOkQod2luZG93KSksbz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpbXBvcnRTY3JpcHRzLHc9XCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2YgcHJvY2Vzcz9cInVuZGVmaW5lZFwiOkQocHJvY2VzcykpJiZcIm9iamVjdFwiPT09RChwcm9jZXNzLnZlcnNpb25zKSYmXCJzdHJpbmdcIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxGPSFpJiYhdyYmIW87dmFyIEcsaCxzLFIsVT1cIlwiO2Z1bmN0aW9uIHkoSSl7cmV0dXJuIEEubG9jYXRlRmlsZT9BLmxvY2F0ZUZpbGUoSSxVKTpVK0l9dz8oVT1vP2coNzAzKS5kaXJuYW1lKFUpK1wiL1wiOlwiLy9cIixHPWZ1bmN0aW9uKEEsSSl7dmFyIEI9amcoQSk7cmV0dXJuIEI/ST9COkIudG9TdHJpbmcoKTooc3x8KHM9ZygyMzEpKSxSfHwoUj1nKDcwMykpLEE9Ui5ub3JtYWxpemUoQSkscy5yZWFkRmlsZVN5bmMoQSxJP251bGw6XCJ1dGY4XCIpKX0saD1mdW5jdGlvbihBKXt2YXIgST1HKEEsITApO3JldHVybiBJLmJ1ZmZlcnx8KEk9bmV3IFVpbnQ4QXJyYXkoSSkpLEgoSS5idWZmZXIpLEl9LHByb2Nlc3MuYXJndi5sZW5ndGg+MSYmKFE9cHJvY2Vzcy5hcmd2WzFdLnJlcGxhY2UoL1xcXFwvZyxcIi9cIikpLEM9cHJvY2Vzcy5hcmd2LnNsaWNlKDIpLHByb2Nlc3Mub24oXCJ1bmNhdWdodEV4Y2VwdGlvblwiLChmdW5jdGlvbihBKXtpZighKEEgaW5zdGFuY2VvZiBOQikpdGhyb3cgQX0pKSxwcm9jZXNzLm9uKFwidW5oYW5kbGVkUmVqZWN0aW9uXCIsSkEpLEU9ZnVuY3Rpb24oQSl7cHJvY2Vzcy5leGl0KEEpfSxBLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm5cIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdXCJ9KTpGPyhcInVuZGVmaW5lZFwiIT10eXBlb2YgcmVhZCYmKEc9ZnVuY3Rpb24oQSl7dmFyIEk9amcoQSk7cmV0dXJuIEk/VmcoSSk6cmVhZChBKX0pLGg9ZnVuY3Rpb24oQSl7dmFyIEk7cmV0dXJuKEk9amcoQSkpP0k6XCJmdW5jdGlvblwiPT10eXBlb2YgcmVhZGJ1ZmZlcj9uZXcgVWludDhBcnJheShyZWFkYnVmZmVyKEEpKTooSChcIm9iamVjdFwiPT09RChJPXJlYWQoQSxcImJpbmFyeVwiKSkpLEkpfSxcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2NyaXB0QXJncz9DPXNjcmlwdEFyZ3M6dm9pZCAwIT09YXJndW1lbnRzJiYoQz1hcmd1bWVudHMpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHF1aXQmJihFPWZ1bmN0aW9uKEEpe3F1aXQoQSl9KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJpbnQmJihcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcmludEVycj9wcmludEVycjpwcmludCkpOihpfHxvKSYmKG8/VT1zZWxmLmxvY2F0aW9uLmhyZWY6ZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKFU9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLGEmJihVPWEpLFU9MCE9PVUuaW5kZXhPZihcImJsb2I6XCIpP1Uuc3Vic3RyKDAsVS5sYXN0SW5kZXhPZihcIi9cIikrMSk6XCJcIixHPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcIkdFVFwiLEEsITEpLEkuc2VuZChudWxsKSxJLnJlc3BvbnNlVGV4dH1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBWZyhnKTt0aHJvdyBJfX0sbyYmKGg9ZnVuY3Rpb24oQSl7dHJ5e3ZhciBJPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gSS5vcGVuKFwiR0VUXCIsQSwhMSksSS5yZXNwb25zZVR5cGU9XCJhcnJheWJ1ZmZlclwiLEkuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShJLnJlc3BvbnNlKX1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBnO3Rocm93IEl9fSkpO3ZhciB0PUEucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksUz1BLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3IoSSBpbiBCKUIuaGFzT3duUHJvcGVydHkoSSkmJihBW0ldPUJbSV0pO2Z1bmN0aW9uIE0oQSl7dmFyIEk9QUFbaUE+PjJdLGc9SStBKzE1Ji0xNjtyZXR1cm4gZz5TZygpJiZKQSgpLEFBW2lBPj4yXT1nLEl9Qj1udWxsLEEuYXJndW1lbnRzJiYoQz1BLmFyZ3VtZW50cyksQS50aGlzUHJvZ3JhbSYmKFE9QS50aGlzUHJvZ3JhbSksQS5xdWl0JiYoRT1BLnF1aXQpO3ZhciBuLGMscixrPXtcImY2NC1yZW1cIjpmdW5jdGlvbihBLEkpe3JldHVybiBBJUl9LGRlYnVnZ2VyOmZ1bmN0aW9uKCl7fX0sSz0obmV3IEFycmF5KDApLDApLE49ZnVuY3Rpb24oQSl7Sz1BfSxZPWZ1bmN0aW9uKCl7cmV0dXJuIEt9O0Eud2FzbUJpbmFyeSYmKG49QS53YXNtQmluYXJ5KSxBLm5vRXhpdFJ1bnRpbWUmJihjPUEubm9FeGl0UnVudGltZSksXCJvYmplY3RcIiE9PShcInVuZGVmaW5lZFwiPT10eXBlb2YgV2ViQXNzZW1ibHk/XCJ1bmRlZmluZWRcIjpEKFdlYkFzc2VtYmx5KSkmJlMoXCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkXCIpO3ZhciBlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7aW5pdGlhbDo4NzgsbWF4aW11bTo4NzgsZWxlbWVudDpcImFueWZ1bmNcIn0pLEo9ITE7ZnVuY3Rpb24gSChBLEkpe0F8fEpBKFwiQXNzZXJ0aW9uIGZhaWxlZDogXCIrSSl9ZnVuY3Rpb24gTChBKXtyZXR1cm4gaEE/UkIoQSk6TShBKX12YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFwidXRmOFwiKTp2b2lkIDA7ZnVuY3Rpb24gZChBLEksZyl7Zm9yKHZhciBCPUkrZyxDPUk7QVtDXSYmIShDPj1CKTspKytDO2lmKEMtST4xNiYmQS5zdWJhcnJheSYmcSlyZXR1cm4gcS5kZWNvZGUoQS5zdWJhcnJheShJLEMpKTtmb3IodmFyIFE9XCJcIjtJPEM7KXt2YXIgRT1BW0krK107aWYoMTI4JkUpe3ZhciBpPTYzJkFbSSsrXTtpZigxOTIhPSgyMjQmRSkpe3ZhciBvPTYzJkFbSSsrXTtpZigoRT0yMjQ9PSgyNDAmRSk/KDE1JkUpPDwxMnxpPDw2fG86KDcmRSk8PDE4fGk8PDEyfG88PDZ8NjMmQVtJKytdKTw2NTUzNilRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpO2Vsc2V7dmFyIEQ9RS02NTUzNjtRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEQ+PjEwLDU2MzIwfDEwMjMmRCl9fWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmRSk8PDZ8aSl9ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpfXJldHVybiBRfWZ1bmN0aW9uIGYoQSxJKXtyZXR1cm4gQT9kKHosQSxJKTpcIlwifWZ1bmN0aW9uIGwoQSxJLGcsQil7aWYoIShCPjApKXJldHVybiAwO2Zvcih2YXIgQz1nLFE9ZytCLTEsRT0wO0U8QS5sZW5ndGg7KytFKXt2YXIgaT1BLmNoYXJDb2RlQXQoRSk7aWYoaT49NTUyOTYmJmk8PTU3MzQzJiYoaT02NTUzNisoKDEwMjMmaSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK0UpKSxpPD0xMjcpe2lmKGc+PVEpYnJlYWs7SVtnKytdPWl9ZWxzZSBpZihpPD0yMDQ3KXtpZihnKzE+PVEpYnJlYWs7SVtnKytdPTE5MnxpPj42LElbZysrXT0xMjh8NjMmaX1lbHNlIGlmKGk8PTY1NTM1KXtpZihnKzI+PVEpYnJlYWs7SVtnKytdPTIyNHxpPj4xMixJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfWVsc2V7aWYoZyszPj1RKWJyZWFrO0lbZysrXT0yNDB8aT4+MTgsSVtnKytdPTEyOHxpPj4xMiY2MyxJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfX1yZXR1cm4gSVtnXT0wLGctQ31mdW5jdGlvbiB1KEEsSSxnKXtyZXR1cm4gbChBLHosSSxnKX1mdW5jdGlvbiBXKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKEI9NjU1MzYrKCgxMDIzJkIpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytnKSksQjw9MTI3PysrSTpJKz1CPD0yMDQ3PzI6Qjw9NjU1MzU/Mzo0fXJldHVybiBJfXZhciBwPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXCJ1dGYtMTZsZVwiKTp2b2lkIDA7ZnVuY3Rpb24gWihBKXtmb3IodmFyIEk9QSxnPUk+PjE7X1tnXTspKytnO2lmKChJPWc8PDEpLUE+MzImJnApcmV0dXJuIHAuZGVjb2RlKHouc3ViYXJyYXkoQSxJKSk7Zm9yKHZhciBCPTAsQz1cIlwiOzspe3ZhciBRPV9bQSsyKkI+PjFdO2lmKDA9PVEpcmV0dXJuIEM7KytCLEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUSl9fWZ1bmN0aW9uIGIoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8MilyZXR1cm4gMDtmb3IodmFyIEI9SSxDPShnLT0yKTwyKkEubGVuZ3RoP2cvMjpBLmxlbmd0aCxRPTA7UTxDOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO19bST4+MV09RSxJKz0yfXJldHVybiBfW0k+PjFdPTAsSS1CfWZ1bmN0aW9uIHgoQSl7cmV0dXJuIDIqQS5sZW5ndGh9ZnVuY3Rpb24gbShBKXtmb3IodmFyIEk9MCxnPVwiXCI7Oyl7dmFyIEI9QUFbQSs0Kkk+PjJdO2lmKDA9PUIpcmV0dXJuIGc7aWYoKytJLEI+PTY1NTM2KXt2YXIgQz1CLTY1NTM2O2crPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Qz4+MTAsNTYzMjB8MTAyMyZDKX1lbHNlIGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoQil9fWZ1bmN0aW9uIFgoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8NClyZXR1cm4gMDtmb3IodmFyIEI9SSxDPUIrZy00LFE9MDtRPEEubGVuZ3RoOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO2lmKEU+PTU1Mjk2JiZFPD01NzM0MyYmKEU9NjU1MzYrKCgxMDIzJkUpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytRKSksQUFbST4+Ml09RSwoSSs9NCkrND5DKWJyZWFrfXJldHVybiBBQVtJPj4yXT0wLEktQn1mdW5jdGlvbiBWKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKytnLEkrPTR9cmV0dXJuIEl9ZnVuY3Rpb24gTyhBKXt2YXIgST1XKEEpKzEsZz1SQihJKTtyZXR1cm4gZyYmbChBLHYsZyxJKSxnfWZ1bmN0aW9uIFQoQSxJKXt2LnNldChBLEkpfWZ1bmN0aW9uIGooQSxJLGcpe2Zvcih2YXIgQj0wO0I8QS5sZW5ndGg7KytCKXZbSSsrPj4wXT1BLmNoYXJDb2RlQXQoQik7Z3x8KHZbST4+MF09MCl9dmFyIFAsdix6LF8sJCxBQSxJQSxnQSxCQSxDQT02NTUzNjtmdW5jdGlvbiBRQShJKXtQPUksQS5IRUFQOD12PW5ldyBJbnQ4QXJyYXkoSSksQS5IRUFQMTY9Xz1uZXcgSW50MTZBcnJheShJKSxBLkhFQVAzMj1BQT1uZXcgSW50MzJBcnJheShJKSxBLkhFQVBVOD16PW5ldyBVaW50OEFycmF5KEkpLEEuSEVBUFUxNj0kPW5ldyBVaW50MTZBcnJheShJKSxBLkhFQVBVMzI9SUE9bmV3IFVpbnQzMkFycmF5KEkpLEEuSEVBUEYzMj1nQT1uZXcgRmxvYXQzMkFycmF5KEkpLEEuSEVBUEY2ND1CQT1uZXcgRmxvYXQ2NEFycmF5KEkpfXZhciBFQT01MzA0MTc2LGlBPTYxMTA0LG9BPUEuVE9UQUxfTUVNT1JZfHwyNjg0MzU0NTY7ZnVuY3Rpb24gREEoSSl7Zm9yKDtJLmxlbmd0aD4wOyl7dmFyIGc9SS5zaGlmdCgpO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGcpe3ZhciBCPWcuZnVuYztcIm51bWJlclwiPT10eXBlb2YgQj92b2lkIDA9PT1nLmFyZz9BLmR5bkNhbGxfdihCKTpBLmR5bkNhbGxfdmkoQixnLmFyZyk6Qih2b2lkIDA9PT1nLmFyZz9udWxsOmcuYXJnKX1lbHNlIGcoKX19KHI9QS53YXNtTWVtb3J5P0Eud2FzbU1lbW9yeTpuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOm9BL0NBLG1heGltdW06b0EvQ0F9KSkmJihQPXIuYnVmZmVyKSxvQT1QLmJ5dGVMZW5ndGgsUUEoUCksQUFbaUE+PjJdPUVBO3ZhciBhQT1bXSx3QT1bXSxGQT1bXSxHQT1bXSxoQT0hMTtmdW5jdGlvbiBzQSgpe2lmKEEucHJlUnVuKWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZVJ1biYmKEEucHJlUnVuPVtBLnByZVJ1bl0pO0EucHJlUnVuLmxlbmd0aDspdEEoQS5wcmVSdW4uc2hpZnQoKSk7REEoYUEpfWZ1bmN0aW9uIFJBKCl7aEE9ITAsQS5ub0ZTSW5pdHx8aUkuaW5pdC5pbml0aWFsaXplZHx8aUkuaW5pdCgpLFFJLmluaXQoKSxEQSh3QSl9ZnVuY3Rpb24gVUEoKXtpSS5pZ25vcmVQZXJtaXNzaW9ucz0hMSxEQShGQSl9ZnVuY3Rpb24geUEoKXtpZihBLnBvc3RSdW4pZm9yKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEucG9zdFJ1biYmKEEucG9zdFJ1bj1bQS5wb3N0UnVuXSk7QS5wb3N0UnVuLmxlbmd0aDspU0EoQS5wb3N0UnVuLnNoaWZ0KCkpO0RBKEdBKX1mdW5jdGlvbiB0QShBKXthQS51bnNoaWZ0KEEpfWZ1bmN0aW9uIFNBKEEpe0dBLnVuc2hpZnQoQSl9dmFyIE1BPU1hdGguYWJzLG5BPU1hdGguY2VpbCxjQT1NYXRoLmZsb29yLHJBPU1hdGgubWluLGtBPTAsS0E9bnVsbCxOQT1udWxsO2Z1bmN0aW9uIFlBKEkpe2tBKyssQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpfWZ1bmN0aW9uIGVBKEkpe2lmKGtBLS0sQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpLDA9PWtBJiYobnVsbCE9PUtBJiYoY2xlYXJJbnRlcnZhbChLQSksS0E9bnVsbCksTkEpKXt2YXIgZz1OQTtOQT1udWxsLGcoKX19ZnVuY3Rpb24gSkEoSSl7dGhyb3cgQS5vbkFib3J0JiZBLm9uQWJvcnQoSSksdChJKz1cIlwiKSxTKEkpLEo9ITAsST1cImFib3J0KFwiK0krXCIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLlwiLG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoSSl9QS5wcmVsb2FkZWRJbWFnZXM9e30sQS5wcmVsb2FkZWRBdWRpb3M9e307dmFyIEhBPVwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LFwiO2Z1bmN0aW9uIExBKEEpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/QS5zdGFydHNXaXRoKEhBKTowPT09QS5pbmRleE9mKEhBKX12YXIgcUEsZEEsZkE9XCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCandoellBRi9BWDlnQVg4QVlBSi9md0YvWUFKL2Z3QmdBMzkvZndGL1lBVi9mMzkvZndCZ0EzOS9md0JnQkg5L2YzOEFZQVYvZjM5L2Z3Ri9ZQVIvZjM5L0FYOWdCbjkvZjM5L2Z3Ri9ZQUFBWUFaL2YzOS9mMzhBWUFkL2YzOS9mMzkvQUdBSWYzOS9mMzkvZjM4QmYyQUhmMzkvZjM5L2Z3Ri9ZQUFCZjJBQmZRRjlZQUYvQVh4Z0JYOS9mMzk4QVg5Z0EzOStmd0YrWUFWL2YzOS9mZ0YvWUFoL2YzOS9mMzkvZndCZ0NuOS9mMzkvZjM5L2YzOEFZQU4vZjMwQVlBTi9mM3dBWUFKL2ZBQmdCbjkvZjM5L2ZBRi9ZQU4vZjM4QmZXQUNmWDBCZldBQ2YzOEJmR0FEZjM5L0FYeGdBbng4QVh4Z0NYOS9mMzkvZjM5L2Z3Ri9ZQVovZkg5L2YzOEJmMkFFZjM5L2Z3RitZQUY4QVh4Z0JYOS9mbjkvQUdBQ2YzMEFZQXAvZjM5L2YzOS9mMzkvQVg5Z0RIOS9mMzkvZjM5L2YzOS9md0YvWUFWL2ZYMS9md0YvWUFGOUFYOWdBWDhCZldBR2YzOS9mMzkvQVh4Z0FueC9BWHhnRDM5L2YzOS9mMzkvZjM5L2YzOS9md0JnRFg5L2YzOS9mWDE5ZlgxOWZYMEFZQVIvZjM5OUFHQUZmMzk5Zlg4QVlBVi9mWDE5ZlFCZ0JuOThmSDkvZndCZ0MzOS9mMzkvZjM5L2YzOS9BWDlnRVg5L2YzOS9mMzkvZjMxOWZYMTlmWDE5QVg5Z0JuOS9mWDEvZndGL1lBSitmd0YvWUFGOEFYOWdCSDkvZjM0QmZtQUNmMzhCZldBRWYzOS9md0Y5WUFOL2ZYMEJmV0FCZkFGOVlBbC9mMzkvZjM5L2YzOEFZQkYvZjM5L2YzOS9mMzk5ZlgxOWZYMTlmUUJnQm45L2YzOS9mUUJnQ0g5L2YzOS9mWDE5QUdBSmYzOS9mMzk5ZlgxOUFHQUZmMzkvZlgwQVlBZC9mMzk5ZlgxL0FHQUVmMzkvZkFCZ0EzOS9mZ0JnQm45L2ZYOTlmd0JnQW45K0FHQURmMzUvQUdBRGYzMTlBR0FFZjMxOWZ3QmdCbjk5ZlgxOWZ3QmdCSDk4Zkg4QVlBeC9mMzkvZjM5L2YzOS9mSDhCZjJBT2YzOS9mMzkvZjM5L2YzeC9mMzhCZjJBVGYzOS9mMzkvZjM5L2ZIOS9mMzkvZjM5L2Z3Ri9ZQXgvZjM5L2YzOS9mMzEvZjM4QmYyQWlmMzkvZjM5L2YzOThmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZ3Ri9ZQWQvZjM5L2YzOThBWDlnQjM5L2YzOThmMzhCZjJBRGYzOTlBWDlnQlg5L2ZYMS9BWDlnQjM5L2ZIOS9mMzhCZjJBUGYzOThmSHg4Zkh4OGZIeDhmSHg4QVg5Z0JIOStmMzhCZjJBQ2YzMEJmMkFGZjMxOWZYMEJmMkFDZjN3QmYyQURmbjkvQVg5Z0FuMS9BWDlnQW54L0FYOWdBWDhCZm1BQ2YzOEJmbUFDZm40QmZtQUZmMzkvZjM4QmZXQUhmMzkvZjM5L2Z3RjlZQWQvZjM5L2YzOTlBWDFnQm45L2YzOS9mUUY5WUFaL2YzOS9mWDBCZldBRWYzOS9mUUY5WUFOL2YzMEJmV0FGZjMxOWYzOEJmV0FDZlg4QmZXQURmWDE5QVgxZ0JIMTlmWDBCZldBRmYzOS9mMzhCZkdBRWYzOThmd0Y4WUFOOGZIOEJmR0FEZkh4OEFYeGdCbng4Zkh4OGZBRjhBcHNFUEFObGJuWUJZUUFMQTJWdWRnRmlBQUVEWlc1MkFXTUFBUU5sYm5ZQlpBQUJBMlZ1ZGdGbEFBWURaVzUyQVdZQUFBTmxibllCWndBREEyVnVkZ0ZvQUJBRFpXNTJBV2tBQmdObGJuWUJhZ0FNQTJWdWRnRnJBQVVEWlc1MkFXd0FFQU5sYm5ZQmJRQUJBMlZ1ZGdGdUFBQURaVzUyQVc4QUFRTmxibllCY0FBREEyVnVkZ0Z4QUFJRFpXNTJBWElBQlFObGJuWUJjd0FHQTJWdWRnRjBBQUFEWlc1MkFYVUFBZ05sYm5ZQmRnQURBMlZ1ZGdGM0FBWURaVzUyQVhnQUdRTmxibllCZVFBQUEyVnVkZ0Y2QUFJRFpXNTJBVUVBQVFObGJuWUJRZ0FIQTJWdWRnRkRBQVlEWlc1MkFVUUFDQWhoYzIweWQyRnpiUWRtTmpRdGNtVnRBQ0FEWlc1MkFVVUFDQU5sYm5ZQlJnQUpBMlZ1ZGdGSEFBa0RaVzUyQVVnQUFBTmxibllCU1FBa0EyVnVkZ0ZLQUFBRFpXNTJBVXNBQkFObGJuWUJUQUFFQTJWdWRnRk5BQkFEWlc1MkFVNEFVZ05sYm5ZQlR3QVBBMlZ1ZGdGUUFCTURaVzUyQVZFQVdBTmxibllCVWdBQ0EyVnVkZ0ZUQUFNRFpXNTJBVlFBQXdObGJuWUJWUUFGQTJWdWRnRldBQWtEWlc1MkFWY0FDUU5sYm5ZQldBQUNBMlZ1ZGdGWkFBSURaVzUyQVZvQUFnTmxibllCWHdBQ0EyVnVkZ0VrQUFFRFpXNTJERjlmZEdGaWJHVmZZbUZ6WlFOL0FBWm5iRzlpWVd3RFRtRk9BM3dBQm1kc2IySmhiQWhKYm1acGJtbDBlUU44QUFObGJuWUdiV1Z0YjNKNUFnR0FJSUFnQTJWdWRnVjBZV0pzWlFGd0FlNEc3Z1lEeUF2R0N3SUJBZ0lEQVFjQ0FRTUNBQ29BQkFFQkFnRURBd1E4QWdJQ0FBQUFBQUVEQXdCcUt3WVFBZ0VEQUFrQUFRUUdDZ2tDRVFFQkFpa0RBUUFBQmpnQUJRVUlCd01DQXdnRUJnQnRCRWdFQXh3QUF3RUVBQUlER2l3RFBUMHFDUmdCQXdvSUNBZ0pBQjBDTFFnY0F3NE9DaWtHQmdrR1ZBUUpBd2NDQWdBQ0FBUURNQVlZQUNvR0FEY0NBd0lHQWdJQUFnRUhCdzRHQXdZbkFTY0FFU0J3QmdBSkNRSmxaQU1CSFFZR01RTWRBellDQkFJRENBWUNCZ01DQXcwREFBWUFZZ3dDQndaT0Jnb2RPZ01BQWdNREFnTnBCd01DRlJNQ0F3Y0FBQTBOQkE4UEFRTUJBUUlEQVFVREh5TUZDUWdFQkFBQUFBSVFBQVFEQkFNQUJnWUJBd01GQVFBaEJ3SkRBeXdBQndNQ0FRTUJBUUlXYkRFQkF3RURCd01CQVFNSEFRTUhBUXdIREFVREFBTUlBUUFvQlI0QUtBVUJBUUVCY2d4eEJ3WUdFUkVSQUFBQlhnaGZJd2tHQUFBSEFqa0NBQUVBU1MwQ0JnQXRJQ0JoSHpsR0JBSUVBQUVBRUFRQkFRTUFBUWNDQVFJQUFRa0JBZ0VBQXdNWkJoZ0JBUU5aRHdZTUFBRUJBd0VCQmdBREFUb25Bd01yVlVBUEJ3NEhCd0VIQXdFQkFRTURBd0VEYndJREJrOEFEQUFERUFNREF3RUNBUUVCQ2dFR0FSRVJCQU1EQXdNREFRTUhBa3dEQmdFQVZqWU5IQW9KQnlVTkJob1VEeHNKQXdVV0JoWUdCZ1VJQVFFQkFRZ0JEZ0FFTGhjdUZ6UUdOQU1EQVF3QkFRVU1EQU1KQlF3TUFBMEpEUVFLQ1NNSkNTTWNIeDhFQ2dZQ0FnQUJBUUVCQXdFQUJ5VUVBd0VFQVFFQkFRRUJBVE1MQndFQkJCMGtKQWtHQWdZR0FBQmdDQUlCQkFSckJBQUVCZ1lMQXhBSkFnSUJCQUkzWFFJRUF5STRBd1FDSUN4dUJBZ0NCQVFDQVFJQUFnUUJDUlFFRUJRRUFBQUFBZ0VHQVFNQkF3RUFBQUFIQUFBQ0FBQUJBUUVJQUFnQkNnb0pDUUVFQndjSEJ3Y0JBd2NIQVFjQkF3Y05Cd2dOQVFVRkJRVUZCUVVGQUFVSEJ3Y0hCdzBCRFEwTkF3Y0hCd01CQXdFQkFRRUJBUUVCQVFBQkFnSUNBZ0lCQWdJQkFnQUJBUU1CQVFFQ0FBRUJBZ0lDQUFJQ0FnRUJBUUlEQXdBQkF3VUZCUVVGQlFVREJRVUZCUVVGQlFVRkJRZ0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRRUJEd0ptWXd3RkNBUURBZ0FEQ1FNQkFRSUVCQWtFQkFFR0FnSUFIZ0VCQ0FFR0FBTUFBd0FERWdzbUFBTUFBd0FERWhvU0dnc1FVQXNCQUFBQ0FnSUVBQUFHQ0FBQ0FnUUVBZ1FMQUFBQ0FnSUNBQUFFQ3dzU0FRRUdBd0lCQXdJQkF3OERBd1lHQmp3eUJnTTFOVDhIRUFFR0hFb0hRbHNCTHdjSE1nRUJBd01DQmdZSEJnTUJBd1lEQXdjSEF5OE1BZ2dEQUFBQUFBQUVBQUFDQkFJQ0FnSUNBZ0lDQWo1SElRY0JhQUloQWc1UkNUc0VDZ2tFQ1FNREF3SUhBd01CQXdNREF3TUdCZ1lEQmcwREFRSUJBUUVaQ0FFREF3WUdEd2NHQXdNRkR3TUZCZ2NDQVFjQ0F3TURBUUVCQVFFQ0FRRUJBUW9HQ2tzUlFRTUZBUWNBQVFNQkF3TUhBd01EQndFREFRY0ZCUUlCQVFJREF3Tm5EUTBOS3dNR0FnSUVEd05jQXdZV0EwUURBUU1HQXdFREFRTURBd01CQWdNREF3RUJBZ1lEQVFFREF3Y0RBd01DQ0FFSUNBZ0lDZ29EQVFFREF3TURBZ1FDQWdBQ0FRUXBBUW9DRncwb0F3QUFPd0FCQ0FnQURRZ0JEeGdaQUNZTEFDSVFIaEphRmcwTUJRY3dSUUVoRGdBUFV3b2JDQWtFVndJQUJoOGVKQU1BQWdZR0JnTUNDQVlCQXdFRENBUUpBZ1FDQVFRQ0NRa0pCQU1EQXdBQUFRTURBd0FBQVFJSUJBa0NCQUlFQWdFQkFRb0tCQWdPRGdFQUNBQUlEZzRJQ2dvRUNBNE9EQXdLR3dvYkZ3WVBEeGNHRHdnUERBOFBCd1VGQlFNTUJ3VUZCUVVGQlFNTEN3c0FBQUFBQUFBQURnb0tDZ29LQndVRkJRd0hCUVVGQlFVQkJRc0xDd0FBQUFRQUFBQUFEZ29LQ2dvS0J3Z1RFeFVJRlFnSUNBZ1RFeFVJRlFnSUNBZ0VDQWdDQ0FnSUNBb0tDZ29LQ2dvU0Nnb0lDQWdJQ0FnSUNBRUJCZ0VBQ2dvS0Nnb0tDZ29LQkFjSUJBRUhDQUVDQUFBREFnQUFBQU1DQkFNQ0JBTk5DQVFFQUFRRUFBUUJBUkFBQ3dzTEN3c3pDd3NMQ3dzTEN3c0xDd3NMQ3hBUUVBc0hCUXdFQVFBSEJRd0VCd1VNQkFzSENCQUFCaGNFZndGQkFBdC9BVUVBQzM4QlFRQUxmd0ZCOE40REN3ZVRBaTRDWVdFQW5RY0NZbUVBNVFzQ1kyRUErd1FDWkdFQTBRc0NaV0VBNEFRQ1ptRUE2UXNDWjJFQW9BVUNhR0VBMGdzQ2FXRUE1d3NDYW1FQTVnc0NhMkVBNkFzQ2JHRUFPQUp0WVFCRUFtNWhBTjRKQW05aEFOd0pBbkJoQU5zSkFuRmhBTmtKQW5KaEFOZ0pBbk5oQU5jSkFuUmhBTllKQW5WaEFOVUpBblpoQU5RSkFuZGhBTk1KQW5oaEFOSUpBbmxoQU5FSkFucGhBTkFKQWtGaEFNNEpBa0poQU0wSkFrTmhBTGtKQWtSaEFMY0pBa1ZoQU13SkFrWmhBSzREQWtkaEFLOERBa2hoQUxFREFrbGhBTEFEQWtwaEFNc0pBa3RoQU1vSkFreGhBTWtKQWsxaEFNZ0pBazVoQU1jSkFrOWhBTVlKQWxCaEFNVUpBbEZoQUxZSkFsSmhBUHdMQWxOaEFKZ0pBbFJoQVBzTENhRUxBUUFqQUF2dUJzTUorZ2I0QnU4R3dnbmpCc0VKL1FaWXhnaWpCWC92QzM5LzBRVE5DMzkvMFFUS0M4b0V5Z1MrQzcwTHVRdTRDN2NFN0FyckN1b0s2UXJuQ3VZSzVRcTNCTTRLelFyTUNzc0t5Z3JKQ3NnS2tRS1JBbitSQXBFQ2Y1QUNrQUova0FLUUFuOS9mNkFFbWdwL21BcURDb0lLL1FuOENkOEMzd0xmQW45L29BU3VCZnNGUktRRm1nZVpCNVFIa3dlTEI0Z0hod2VDQjRFSDlnYjBCdklHN1FickJ1a0c0Z2FmQm84R2h3Wi90Z1cxQmJNRnNnVllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFl3QW1KQlhxVkNLWUhvd2ViQXBzQ213S2JBc01Md0F1N0M3Y0xqUXFMQ29rSzlBbnhDZThKaFFxbUJaZ0hsd2VXQjVVSGtBZU5CNHdIaFFlRUI0TUgyQWJnQnNrR25BYVlCcGNHbGdhVUJwTUdrZ2FHQm9RR2d3YUJCb0FHL3dYK0JmMEZlbnA2ZW5wNmVucDZlbnA2ZW5wNmVtU2lCWjhGZ2dYM0MrMEwxQVRPQzh3TDFBVExDOGtMeEF2QkM3SUxyd3VoQktFRWpBcUtDb2NLK0FuekNmQUo3UW5EQlpzSGtRZVBCNDRIaGdmYUJ0MEd0UUd2QXBVRlpHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pLMEJpQXIzQ2ZZSjlRbnVDZFFHd1FYQUJhMEJyUUd0QWEwQnJRR3RBYTBCakFML0N2NEs5Z3IxQ293Q2pBS01BcGdCdFF1eEM0UUxnd3VCQy93Syt3cjZDdmdLOUFyaEFxSUttd3FaQ29ZSzdBbmhBcDRLNFFLVUNyd0Z1Z1dZQVpnQm1BR1lBWmdCbUFHWUFaZ0JtQUdPQktvS3FBcU9CR2F1QzYwTHJBdXJDOFlFeGdTcUM2a0xxQXVuQzZZTG1BdVhDNVVMbEF1OEJMd0Vrd3VTQzVFTGtBdVBDL0lLOFFyd0N1OEs3Z3JVQ3RNSzBnclJDdEFLcVFxbkNyOEZ2Z1ZtWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abWFOQkxZS3RRcXpDckVLcmdxdENvMEV5Z0h0Q3M4S3BBcWpDcDBLbkFxZkJKOEVsZ3FWQ3NvQnlnSEtBY29CeWdHTEFvSUxnQXY1Q3ZjS2l3S0xBb3NDakFTaEJaNEZqQVMrQ2ZnTFJzY0MyUWpHQXRnSTdRUEhDR05lbGdoZVhxY0hYbDZrQjE1alhtTmpYdU1FNGdUaUJGNWVuUUxQQzlZRTdRTFFCT3dDbWdMckFzNEV6UVNhQXVzQ3pnVE5CSmtDNmdMTUJNc0VtUUxxQXN3RXl3VHNBdTBDN0FMdEFtTmV0Z3RqWG1OZVkxNWpYbU5lWTE1alhxNEVyUVN1QkswRVkxNWpYbU5lWTE1alhtTmVZMTVqWG1OZVkxNWpYbDZlQkpjS25BU1FDcHNFamdxYUJJUUttUVQrQ1Y1ZVhsNWVzZ21uQllBSHhnYWdCbU9hQnBrR2pRYW5BNHdHZ2daamlRYUlCdmtGK0FWanlRWFBCZFlGWStjRnpRVmp2UVc1QmJjRnJRV3JCYWtGcEF1aUMyTTRSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSb3NFK3diNUJvc0V2UW54QnFJQm5BS2NBc1VMd2d1L0M3b0xqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcVFTdUFhNEJqd0dQQVk4QnFRU3VBYTRCbkFLY0FvRUtnQXIvQ2ZzSitnbjVDYUVHOXdiMUJ2TUc3Z2JzQnVvR3JnT2RCc29GMEFYckJlOEZyZ0tzQmFvRmlBV2lBYUlCb2dHaUFhSUJvZ0dpQWFJQnV3bXZBN29Kc1FPS0JLZ0ZzQU9LQk1rQjlBdndDK29MMGdUU0JMUUxzQXM5MHdYUkJlVUY1QVhqQmVJRjRRWHVCZTBGN0FYT0Jjd0Z5d1hJQmNjRnhnWEZCY1FGeVFISkFja0J5UUhKQVhiMUMvRUw2d3VqQnFRR3BRYW1CcWNHcUFhcUJxc0dyQWF0QnE0R3J3YXdCckVHc2dhekJyVUd0Z2EzQnJnR3VRYTZCcnNHdkFhOUJyNEd2d2JBQnNFR3dnYkRCcUlHeEFiRkJ1QUYzZ1hkQmR3RjJ3WGFCZGtGMkFYWEJYWjJkbloyZG5aMmRuWjJkbloyZG5aMjNBTDJDL0lMN0F1bUNxVUszQUxjQW9rRTFRWFNCZVlGNmdYcEJlZ0ZpUVNJQk5NRTB3U0lCQXFxaXg3R0N3MEFJQUFnQVNBQkVHQVFud2tMeVEwQkNYOGdBRVVFUUE4TFFielJBeWdDQUNFRUlBQkJlR29pQXlBQVFYeHFLQUlBSWdKQmVIRWlBR29oQlNBQ1FRRnhCSDhnQXdVQ2Z5QURLQUlBSVFFZ0FrRURjVVVFUUE4TElBTWdBV3NpQXlBRVNRUkFEd3NnQUNBQmFpRUFJQU5Cd05FREtBSUFSZ1JBSUFNZ0JTZ0NCQ0lCUVFOeFFRTkhEUUVhUWJUUkF5QUFOZ0lBSUFVZ0FVRitjVFlDQkNBRElBQkJBWEkyQWdRZ0FDQURhaUFBTmdJQUR3c2dBVUVEZGlFRUlBRkJnQUpKQkVBZ0F5Z0NDQ0lCSUFNb0Fnd2lBa1lFUUVHczBRTkJyTkVES0FJQVFRRWdCSFJCZjNOeE5nSUFCU0FCSUFJMkFnd2dBaUFCTmdJSUN5QUREQUVMSUFNb0FoZ2hCeUFESUFNb0Fnd2lBVVlFUUFKQUlBTkJFR29pQWtFRWFpSUVLQUlBSWdFRVFDQUVJUUlGSUFJb0FnQWlBVVVFUUVFQUlRRU1BZ3NMQTBBQ1FDQUJRUlJxSWdRb0FnQWlCa1VFUUNBQlFSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFQ0lBWWhBUXdCQ3dzZ0FrRUFOZ0lBQ3dVZ0F5Z0NDQ0lDSUFFMkFnd2dBU0FDTmdJSUN5QUhCSDhnQXlBREtBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQVRZQ0FDQUJSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQUNkRUYvYzNFMkFnQWdBd3dEQ3dVZ0IwRVFhaUlDSUFkQkZHb2dBeUFDS0FJQVJoc2dBVFlDQUNBRElBRkZEUUlhQ3lBQklBYzJBaGdnQXlnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dBeWdDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzZ0F3VWdBd3NMQ3lJSElBVlBCRUFQQ3lBRktBSUVJZ2hCQVhGRkJFQVBDeUFJUVFKeEJFQWdCU0FJUVg1eE5nSUVJQU1nQUVFQmNqWUNCQ0FBSUFkcUlBQTJBZ0FnQUNFQ0JTQUZRY1RSQXlnQ0FFWUVRRUc0MFFNZ0FFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBTTJBZ0FnQXlBQVFRRnlOZ0lFUWNEUkF5Z0NBQ0FEUndSQUR3dEJ3TkVEUVFBMkFnQkJ0TkVEUVFBMkFnQVBDMEhBMFFNb0FnQWdCVVlFUUVHMDBRTWdBRUcwMFFNb0FnQnFJZ0EyQWdCQndORURJQWMyQWdBZ0F5QUFRUUZ5TmdJRUlBQWdCMm9nQURZQ0FBOExJQWhCQTNZaEJDQUlRWUFDU1FSQUlBVW9BZ2dpQVNBRktBSU1JZ0pHQkVCQnJORURRYXpSQXlnQ0FFRUJJQVIwUVg5emNUWUNBQVVnQVNBQ05nSU1JQUlnQVRZQ0NBc0ZBa0FnQlNnQ0dDRUpJQVVvQWd3aUFTQUZSZ1JBQWtBZ0JVRVFhaUlDUVFScUlnUW9BZ0FpQVFSQUlBUWhBZ1VnQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQkNnQ0FDSUdSUVJBSUFGQkVHb2lCQ2dDQUNJR1JRMEJDeUFFSVFJZ0JpRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBRktBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQ0FGS0FJY0lnSkJBblJCM05NRGFpSUVLQUlBSUFWR0JFQWdCQ0FCTmdJQUlBRkZCRUJCc05FRFFiRFJBeWdDQUVFQklBSjBRWDl6Y1RZQ0FBd0RDd1VnQ1VFUWFpSUNJQWxCRkdvZ0FpZ0NBQ0FGUmhzZ0FUWUNBQ0FCUlEwQ0N5QUJJQWsyQWhnZ0JTZ0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQlNnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc0xDd3NnQXlBQUlBaEJlSEZxSWdKQkFYSTJBZ1FnQWlBSGFpQUNOZ0lBSUFOQndORURLQUlBUmdSQVFiVFJBeUFDTmdJQUR3c0xJQUpCQTNZaEFTQUNRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQXpZQ0FDQUJJQU0yQWd3Z0F5QUJOZ0lJSUFNZ0FEWUNEQThMSUFKQkNIWWlBQVIvSUFKQi8vLy9CMHNFZjBFZkJTQUFJQUJCZ1A0L2FrRVFka0VJY1NJQmRDSUVRWURnSDJwQkVIWkJCSEVoQUVFT0lBQWdBWElnQkNBQWRDSUFRWUNBRDJwQkVIWkJBbkVpQVhKcklBQWdBWFJCRDNacUlnQkJBWFFnQWlBQVFRZHFka0VCY1hJTEJVRUFDeUlCUVFKMFFkelRBMm9oQUNBRElBRTJBaHdnQTBFQU5nSVVJQU5CQURZQ0VFR3cwUU1vQWdBaUJFRUJJQUYwSWdaeEJFQUNRQ0FDSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdBa0VBUVJrZ0FVRUJkbXNnQVVFZlJodDBJUVFEUUNBQVFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQVJCQVhRaEJDQUNJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFNMkFnQWdBeUFBTmdJWUlBTWdBellDRENBRElBTTJBZ2dNQWdzTElBRW9BZ2dpQUNBRE5nSU1JQUVnQXpZQ0NDQURJQUEyQWdnZ0F5QUJOZ0lNSUFOQkFEWUNHQXNGUWJEUkF5QUVJQVp5TmdJQUlBQWdBellDQUNBRElBQTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBdEJ6TkVEUWN6UkF5Z0NBRUYvYWlJQU5nSUFJQUFFUUE4TFFmVFVBeUVBQTBBZ0FDZ0NBQ0lEUVFocUlRQWdBdzBBQzBITTBRTkJmellDQUFza0FDQUJCSDhnQUVHQWdJQ0FlRVlnQVVGL1JuRUVmMEVBQlNBQUlBRnRDd1ZCQUFzTElBRUJmeUFBS0FJQUlRSWdBUkNsQ3lFQklBSW9BZ2dnQVVFQ2RHb29BZ0FMREFBZ0FDQUJRUnhxRU9zSkN6a0JBWDhnQUNnQ0FDSUFLQUlFSVFFZ0FDQUJRWDlxTmdJRUlBRkZCRUFnQUNnQ0FDZ0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3M4QUNNR0lRQWpCa0VRYWlRR0lBSkJBRWRCMElVQktBSUFJQUZNY1FSQUlBSXNBQUFFUUNBQUlBTTJBZ0FnQVNBQ0lBQVEyZ2tMQ3lBQUpBWUxpZ0lCQjM4akJpRURJd1pCRUdva0JpQURRUXhxSVFJZ0F5QUFFSmdDSUFNc0FBQUVRQ0FDSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFDUWJqT0F4QTZJUWNnQWhBOElBQWdBQ2dDQUVGMGFpZ0NBR29pQlNnQ0dDRUlRWDhnQlNnQ1RCQkJCRUFnQWlBRkVEc2dBa0dBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVnSUFaQlAzRkJpZ0ZxRVFJQUlRUWdBaEE4SUFVZ0JFRVlkRUVZZFNJRU5nSk1CU0FGS0FKTUlRUUxJQWNvQWdBb0FoQWhCaUFESUFnMkFnZ2dBaUFES0FJSU5nSUFJQWNnQWlBRklBUkIvd0Z4SUFFZ0JrRWZjVUdpQW1vUkNBQkZCRUFnQUNBQUtBSUFRWFJxS0FJQWFpSUJJQUVvQWhCQkJYSVE3Z0VMQ3lBREVKY0NJQU1rQmlBQUM0VUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0FSQUlBRWdBQkNZQWlBQkxBQUFCRUFnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQ0lDS0FJQUtBSVlJUU1nQWlBRFFmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FSQ1hBZ3NnQVNRR0M2Z0JBUVIvSXdZaEFpTUdRUkJxSkFZZ0FpQUFFSmdDSUFJc0FBQUVRQUpBSUFBZ0FDZ0NBRUYwYWlnQ0FHb29BaGdpQXlFRUlBTUVRQ0FFS0FJWUlnVWdCQ2dDSEVZRWZ5QURLQUlBS0FJMElRTWdCQ0FCRUVJZ0EwRS9jVUdLQVdvUkFnQUZJQVFnQlVFQmFqWUNHQ0FGSUFFNkFBQWdBUkJDQzBGL0VFRkZEUUVMSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FoQ1hBaUFDSkFZTEJ3QWdBQ0FCUmdzSUFDQUFRZjhCY1FzNEFDQUFJQUJjQkg5QmdJQ0FnSGdGSUFCREFBQUFUMkFFZjBHQWdJQ0FlQVVnQUVNQUFBRFBYd1IvUVlDQWdJQjRCU0FBcUFzTEN3dTNOUUVNZnlNR0lRb2pCa0VRYWlRR0lBQkI5UUZKQkVCQnJORURLQUlBSWdWQkVDQUFRUXRxUVhoeElBQkJDMGtiSWdKQkEzWWlBSFlpQVVFRGNRUkFJQUZCQVhGQkFYTWdBR29pQWtFRGRFSFUwUU5xSWdBb0FnZ2lBMEVJYWlJRUtBSUFJUUVnQUNBQlJnUkFRYXpSQTBFQklBSjBRWDl6SUFWeE5nSUFCU0FCSUFBMkFnd2dBQ0FCTmdJSUN5QURJQUpCQTNRaUFFRURjallDQkNBQUlBTnFJZ0FnQUNnQ0JFRUJjallDQkNBS0pBWWdCQThMSUFKQnRORURLQUlBSWdsTEJIOGdBUVJBUVFJZ0FIUWlBMEVBSUFOcmNpQUJJQUIwY1NJQVFRQWdBR3R4UVg5cUlnQkJESFpCRUhFaUFTQUFJQUYySWdCQkJYWkJDSEVpQVhJZ0FDQUJkaUlBUVFKMlFRUnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQ2NTSUJjaUFBSUFGMklnQkJBWFpCQVhFaUFYSWdBQ0FCZG1vaUJFRURkRUhVMFFOcUlnQW9BZ2dpQVVFSWFpSUdLQUlBSVFNZ0FDQURSZ1JBUWF6UkEwRUJJQVIwUVg5eklBVnhJZ0EyQWdBRklBTWdBRFlDRENBQUlBTTJBZ2dnQlNFQUN5QUJJQUpCQTNJMkFnUWdBU0FDYWlJRklBUkJBM1FpQXlBQ2F5SUVRUUZ5TmdJRUlBRWdBMm9nQkRZQ0FDQUpCRUJCd05FREtBSUFJUUVnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBMEVCSUFKMElnSWdBSEVFZnlBRFFRaHFJZ0lvQWdBRlFhelJBeUFBSUFKeU5nSUFJQU5CQ0dvaEFpQURDeUVBSUFJZ0FUWUNBQ0FBSUFFMkFnd2dBU0FBTmdJSUlBRWdBellDREF0QnRORURJQVEyQWdCQndORURJQVUyQWdBZ0NpUUdJQVlQQzBHdzBRTW9BZ0FpQ3dSL1FRQWdDMnNnQzNGQmYyb2lBRUVNZGtFUWNTSUJJQUFnQVhZaUFFRUZka0VJY1NJQmNpQUFJQUYySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhjMHdOcUtBSUFJZ1FoQUNBRUtBSUVRWGh4SUFKcklRZ0RRQUpBSUFBb0FoQWlBUVJBSUFFaEFBVWdBQ2dDRkNJQVJRMEJDeUFBSUFRZ0FDZ0NCRUY0Y1NBQ2F5SUJJQWhKSWdNYklRUWdBU0FJSUFNYklRZ01BUXNMSUFJZ0JHb2lEQ0FFU3dSL0lBUW9BaGdoQnlBRUlBUW9BZ3dpQUVZRVFBSkFJQVJCRkdvaUFTZ0NBQ0lBUlFSQUlBUkJFR29pQVNnQ0FDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQXlnQ0FDSUdSUVJBSUFCQkVHb2lBeWdDQUNJR1JRMEJDeUFESVFFZ0JpRUFEQUVMQ3lBQlFRQTJBZ0FMQlNBRUtBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBY0VRQUpBSUFRZ0JDZ0NIQ0lCUVFKMFFkelRBMm9pQXlnQ0FFWUVRQ0FESUFBMkFnQWdBRVVFUUVHdzBRTkJBU0FCZEVGL2N5QUxjVFlDQUF3Q0N3VWdCMEVRYWlBSFFSUnFJQVFnQnlnQ0VFWWJJQUEyQWdBZ0FFVU5BUXNnQUNBSE5nSVlJQVFvQWhBaUFRUkFJQUFnQVRZQ0VDQUJJQUEyQWhnTElBUW9BaFFpQVFSQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3dzZ0NFRVFTUVJBSUFRZ0FpQUlhaUlBUVFOeU5nSUVJQUFnQkdvaUFDQUFLQUlFUVFGeU5nSUVCU0FFSUFKQkEzSTJBZ1FnRENBSVFRRnlOZ0lFSUFnZ0RHb2dDRFlDQUNBSkJFQkJ3TkVES0FJQUlRQWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEFVRUJJQUowSWdJZ0JYRUVmeUFCUVFocUlnSW9BZ0FGUWF6UkF5QUNJQVZ5TmdJQUlBRkJDR29oQWlBQkN5RURJQUlnQURZQ0FDQURJQUEyQWd3Z0FDQUROZ0lJSUFBZ0FUWUNEQXRCdE5FRElBZzJBZ0JCd05FRElBdzJBZ0FMSUFva0JpQUVRUWhxRHdVZ0Fnc0ZJQUlMQlNBQ0N5RUFCU0FBUWI5L1N3UkFRWDhoQUFVQ1FDQUFRUXRxSWdGQmVIRWhBRUd3MFFNb0FnQWlCUVJBUVFBZ0FHc2hCQUpBQWtBZ0FVRUlkaUlCQkg4Z0FFSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1pCZ09BZmFrRVFka0VFY1NFQlFRNGdCaUFCZENJR1FZQ0FEMnBCRUhaQkFuRWlDQ0FCSUFKeWNtc2dCaUFJZEVFUGRtb2lBVUVCZENBQUlBRkJCMnAyUVFGeGNnc0ZRUUFMSWdkQkFuUkIzTk1EYWlnQ0FDSUJCSDlCQUNFQ0lBQkJBRUVaSUFkQkFYWnJJQWRCSDBZYmRDRUdBMzhnQVNnQ0JFRjRjU0FBYXlJSUlBUkpCRUFnQ0FSL0lBZ2hCQ0FCQlVFQUlRUWdBU0VDREFRTElRSUxJQU1nQVNnQ0ZDSURJQU5GSUFNZ0FVRVFhaUFHUVI5MlFRSjBhaWdDQUNJQlJuSWJJUU1nQmtFQmRDRUdJQUVOQUNBQ0N3VkJBQXNpQVNBRGNnUi9JQU1GSUFWQkFpQUhkQ0lCUVFBZ0FXdHljU0lDUlEwRVFRQWhBU0FDUVFBZ0FtdHhRWDlxSWdKQkRIWkJFSEVpQXlBQ0lBTjJJZ0pCQlhaQkNIRWlBM0lnQWlBRGRpSUNRUUoyUVFSeElnTnlJQUlnQTNZaUFrRUJka0VDY1NJRGNpQUNJQU4ySWdKQkFYWkJBWEVpQTNJZ0FpQURkbXBCQW5SQjNOTURhaWdDQUFzaUFnMEFJQUVoQXd3QkN5QUJJUU1nQkNFQkEzOGdBaWdDQkVGNGNTQUFheUlJSUFGSklRWWdDQ0FCSUFZYklRRWdBaUFESUFZYklRTWdBaWdDRUNJRVJRUkFJQUlvQWhRaEJBc2dCQVIvSUFRaEFnd0JCU0FCQ3dzaEJBc2dBd1JBSUFSQnRORURLQUlBSUFCclNRUkFJQUFnQTJvaUJ5QURTd1JBSUFNb0FoZ2hDU0FESUFNb0Fnd2lBVVlFUUFKQUlBTkJGR29pQWlnQ0FDSUJSUVJBSUFOQkVHb2lBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCaWdDQUNJSVJRUkFJQUZCRUdvaUJpZ0NBQ0lJUlEwQkN5QUdJUUlnQ0NFQkRBRUxDeUFDUVFBMkFnQUxCU0FES0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFBSkFJQU1nQXlnQ0hDSUNRUUowUWR6VEEyb2lCaWdDQUVZRVFDQUdJQUUyQWdBZ0FVVUVRRUd3MFFNZ0JVRUJJQUowUVg5emNTSUJOZ0lBREFJTEJTQUpRUkJxSUFsQkZHb2dBeUFKS0FJUVJoc2dBVFlDQUNBQlJRUkFJQVVoQVF3Q0N3c2dBU0FKTmdJWUlBTW9BaEFpQWdSQUlBRWdBallDRUNBQ0lBRTJBaGdMSUFNb0FoUWlBZ1JBSUFFZ0FqWUNGQ0FDSUFFMkFoZ0xJQVVoQVFzRklBVWhBUXNnQkVFUVNRUkFJQU1nQUNBRWFpSUFRUU55TmdJRUlBQWdBMm9pQUNBQUtBSUVRUUZ5TmdJRUJRSkFJQU1nQUVFRGNqWUNCQ0FISUFSQkFYSTJBZ1FnQkNBSGFpQUVOZ0lBSUFSQkEzWWhBaUFFUVlBQ1NRUkFJQUpCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lCUVFFZ0FuUWlBbkVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0J6WUNBQ0FCSUFjMkFnd2dCeUFCTmdJSUlBY2dBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBblFpQmtHQTRCOXFRUkIyUVFSeElRQkJEaUFHSUFCMElnWkJnSUFQYWtFUWRrRUNjU0lGSUFBZ0FuSnlheUFHSUFWMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRQWdCeUFDTmdJY0lBZEJBRFlDRkNBSFFRQTJBaEJCQVNBQ2RDSUdJQUZ4UlFSQVFiRFJBeUFCSUFaeU5nSUFJQUFnQnpZQ0FDQUhJQUEyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdCQ3lBRUlBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQkVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJRFFDQUFRUkJxSUFKQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFKQkFYUWhBaUFFSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBYzJBZ0FnQnlBQU5nSVlJQWNnQnpZQ0RDQUhJQWMyQWdnTUFnc0xJQUVvQWdnaUFDQUhOZ0lNSUFFZ0J6WUNDQ0FISUFBMkFnZ2dCeUFCTmdJTUlBZEJBRFlDR0FzTElBb2tCaUFEUVFocUR3c0xDd3NMQ3dzQ1FBSkFRYlRSQXlnQ0FDSUNJQUJQQkVCQndORURLQUlBSVFFZ0FpQUFheUlEUVE5TEJFQkJ3TkVESUFBZ0FXb2lCRFlDQUVHMDBRTWdBellDQUNBRUlBTkJBWEkyQWdRZ0FTQUNhaUFETmdJQUlBRWdBRUVEY2pZQ0JBVkJ0TkVEUVFBMkFnQkJ3TkVEUVFBMkFnQWdBU0FDUVFOeU5nSUVJQUVnQW1vaUFDQUFLQUlFUVFGeU5nSUVDd3dCQ3dKQVFialJBeWdDQUNJQklBQkxCRUFNQVFzZ0FFRXZhaUlGUVlUVkF5Z0NBQVIvUVl6VkF5Z0NBQVZCak5VRFFZQWdOZ0lBUVlqVkEwR0FJRFlDQUVHUTFRTkJmellDQUVHVTFRTkJmellDQUVHWTFRTkJBRFlDQUVIbzFBTkJBRFlDQUVHRTFRTWdDa0Z3Y1VIWXF0V3FCWE0yQWdCQmdDQUxJZ0pxSWdOQkFDQUNheUlJY1NJR0lBQk5CRUFNQXd0QjVOUURLQUlBSWdJRVFDQUdRZHpVQXlnQ0FDSUVhaUlISUFSTklBY2dBa3R5QkVBTUJBc0xJQUJCTUdvaEJ3SkFBa0JCNk5RREtBSUFRUVJ4QkVCQkFDRUNCUUpBQWtBQ1FFSEUwUU1vQWdBaUFrVU5BRUhzMUFNaEJBTkFBa0FnQkNnQ0FDSUpJQUpOQkVBZ0NTQUVLQUlFYWlBQ1N3MEJDeUFFS0FJSUlnUU5BUXdDQ3dzZ0NDQURJQUZyY1NJQ1FmLy8vLzhIU1FSQUlBSVF1Z0VpQVNBRUtBSUFJQVFvQWdScVJnUkFJQUZCZjBjTkJnVU1Bd3NGUVFBaEFnc01BZ3RCQUJDNkFTSUJRWDlHQkg5QkFBVkIzTlFES0FJQUlnUWdCaUFCUVlqVkF5Z0NBQ0lDUVg5cUlnTnFRUUFnQW10eElBRnJRUUFnQVNBRGNSdHFJZ0pxSVFNZ0FrSC8vLy8vQjBrZ0FpQUFTM0VFZjBIazFBTW9BZ0FpQ0FSQUlBTWdCRTBnQXlBSVMzSUVRRUVBSVFJTUJRc0xJQUVnQWhDNkFTSURSZzBGSUFNaEFRd0NCVUVBQ3dzaEFnd0JDeUFCUVg5SElBSkIvLy8vL3dkSmNTQUhJQUpMY1VVRVFDQUJRWDlHQkVCQkFDRUNEQUlGREFRTEFBdEJqTlVES0FJQUlnTWdCU0FDYTJwQkFDQURhM0VpQTBILy8vLy9CMDhOQWtFQUlBSnJJUVFnQXhDNkFVRi9SZ1IvSUFRUXVnRWFRUUFGSUFJZ0Eyb2hBZ3dEQ3lFQ0MwSG8xQU5CNk5RREtBSUFRUVJ5TmdJQUN5QUdRZi8vLy84SFNRUkFJQVlRdWdFaEFVRUFFTG9CSWdNZ0FXc2lCaUFBUVNocVN5RUVJQVlnQWlBRUd5RUNJQVJCQVhNZ0FVRi9SbklnQVVGL1J5QURRWDlIY1NBQklBTkpjVUVCYzNKRkRRRUxEQUVMUWR6VUF5QUNRZHpVQXlnQ0FHb2lBellDQUNBRFFlRFVBeWdDQUVzRVFFSGcxQU1nQXpZQ0FBdEJ4TkVES0FJQUlnTUVRQUpBUWV6VUF5RUVBa0FDUUFOQUlBRWdCQ2dDQUNJR0lBUW9BZ1FpQldwR0RRRWdCQ2dDQ0NJRURRQUxEQUVMSUFRb0FneEJDSEZGQkVBZ0JpQURUU0FCSUFOTGNRUkFJQVFnQWlBRmFqWUNCQ0FEUVFBZ0EwRUlhaUlCYTBFSGNVRUFJQUZCQjNFYklnUnFJUUVnQWtHNDBRTW9BZ0JxSWdZZ0JHc2hBa0hFMFFNZ0FUWUNBRUc0MFFNZ0FqWUNBQ0FCSUFKQkFYSTJBZ1FnQXlBR2FrRW9OZ0lFUWNqUkEwR1UxUU1vQWdBMkFnQU1Bd3NMQ3lBQlFielJBeWdDQUVrRVFFRzgwUU1nQVRZQ0FBc2dBU0FDYWlFR1FlelVBeUVFQWtBQ1FBTkFJQVlnQkNnQ0FFWU5BU0FFS0FJSUlnUU5BQXNNQVFzZ0JDZ0NERUVJY1VVRVFDQUVJQUUyQWdBZ0JDQUNJQVFvQWdScU5nSUVJQUFnQVVFQUlBRkJDR29pQW10QkIzRkJBQ0FDUVFkeEcyb2lCMm9oQlNBR1FRQWdCa0VJYWlJQmEwRUhjVUVBSUFGQkIzRWJhaUlDSUFkcklBQnJJUVFnQnlBQVFRTnlOZ0lFSUFJZ0EwWUVRRUc0MFFNZ0JFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBVTJBZ0FnQlNBQVFRRnlOZ0lFQlFKQUlBSkJ3TkVES0FJQVJnUkFRYlRSQXlBRVFiVFJBeWdDQUdvaUFEWUNBRUhBMFFNZ0JUWUNBQ0FGSUFCQkFYSTJBZ1FnQUNBRmFpQUFOZ0lBREFFTElBSW9BZ1FpQ1VFRGNVRUJSZ1JBSUFsQkEzWWhBeUFKUVlBQ1NRUkFJQUlvQWdnaUFDQUNLQUlNSWdGR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUFVZ0FDQUJOZ0lNSUFFZ0FEWUNDQXNGQWtBZ0FpZ0NHQ0VJSUFJZ0FpZ0NEQ0lBUmdSQUFrQWdBa0VRYWlJQlFRUnFJZ01vQWdBaUFBUkFJQU1oQVFVZ0FpZ0NFQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUJpZ0NBQ0lEUlFSQUlBQkJFR29pQmlnQ0FDSURSUTBCQ3lBR0lRRWdBeUVBREFFTEN5QUJRUUEyQWdBTEJTQUNLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWhGRFFBZ0FpQUNLQUljSWdGQkFuUkIzTk1EYWlJREtBSUFSZ1JBQWtBZ0F5QUFOZ0lBSUFBTkFFR3cwUU5Cc05FREtBSUFRUUVnQVhSQmYzTnhOZ0lBREFJTEJTQUlRUkJxSUFoQkZHb2dBaUFJS0FJUVJoc2dBRFlDQUNBQVJRMEJDeUFBSUFnMkFoZ2dBaWdDRUNJQkJFQWdBQ0FCTmdJUUlBRWdBRFlDR0FzZ0FpZ0NGQ0lCUlEwQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3lBQ0lBbEJlSEVpQUdvaEFpQUFJQVJxSVFRTElBSWdBaWdDQkVGK2NUWUNCQ0FGSUFSQkFYSTJBZ1FnQkNBRmFpQUVOZ0lBSUFSQkEzWWhBU0FFUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0JUWUNBQ0FCSUFVMkFnd2dCU0FCTmdJSUlBVWdBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBWFFpQWtHQTRCOXFRUkIyUVFSeElRQkJEaUFDSUFCMElnSkJnSUFQYWtFUWRrRUNjU0lESUFBZ0FYSnlheUFDSUFOMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFVRUNkRUhjMHdOcUlRQWdCU0FCTmdJY0lBVkJBRFlDRkNBRlFRQTJBaEJCc05FREtBSUFJZ0pCQVNBQmRDSURjVVVFUUVHdzBRTWdBaUFEY2pZQ0FDQUFJQVUyQWdBZ0JTQUFOZ0lZSUFVZ0JUWUNEQ0FGSUFVMkFnZ01BUXNnQkNBQUtBSUFJZ0FvQWdSQmVIRkdCRUFnQUNFQkJRSkFJQVJCQUVFWklBRkJBWFpySUFGQkgwWWJkQ0VDQTBBZ0FFRVFhaUFDUVI5MlFRSjBhaUlES0FJQUlnRUVRQ0FDUVFGMElRSWdCQ0FCS0FJRVFYaHhSZzBDSUFFaEFBd0JDd3NnQXlBRk5nSUFJQVVnQURZQ0dDQUZJQVUyQWd3Z0JTQUZOZ0lJREFJTEN5QUJLQUlJSWdBZ0JUWUNEQ0FCSUFVMkFnZ2dCU0FBTmdJSUlBVWdBVFlDRENBRlFRQTJBaGdMQ3lBS0pBWWdCMEVJYWc4TEMwSHMxQU1oQkFOQUFrQWdCQ2dDQUNJR0lBTk5CRUFnQmlBRUtBSUVhaUlHSUFOTERRRUxJQVFvQWdnaEJBd0JDd3RCeE5FRElBRkJBQ0FCUVFocUlnUnJRUWR4UVFBZ0JFRUhjUnNpQkdvaUJUWUNBRUc0MFFNZ0FrRllhaUlJSUFScklnUTJBZ0FnQlNBRVFRRnlOZ0lFSUFFZ0NHcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFJQU5CQUNBR1FWRnFJZ1JCQ0dvaUJXdEJCM0ZCQUNBRlFRZHhHeUFFYWlJRUlBUWdBMEVRYWtrYklnUkJHellDQkNBRVFlelVBeWtDQURjQ0NDQUVRZlRVQXlrQ0FEY0NFRUhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUgwMUFNZ0JFRUlhallDQUNBRVFSaHFJUUVEUUNBQlFRUnFJZ0pCQnpZQ0FDQUJRUWhxSUFaSkJFQWdBaUVCREFFTEN5QURJQVJIQkVBZ0JDQUVLQUlFUVg1eE5nSUVJQU1nQkNBRGF5SUdRUUZ5TmdJRUlBUWdCallDQUNBR1FRTjJJUUlnQmtHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQkVFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlFS0FJQUJVR3MwUU1nQWlBRWNqWUNBQ0FCUVFocUlRUWdBUXNoQWlBRUlBTTJBZ0FnQWlBRE5nSU1JQU1nQWpZQ0NDQURJQUUyQWd3TUFnc2dCa0VJZGlJQkJIOGdCa0gvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdSQmdPQWZha0VRZGtFRWNTRUJRUTRnQkNBQmRDSUVRWUNBRDJwQkVIWkJBbkVpQlNBQklBSnljbXNnQkNBRmRFRVBkbW9pQVVFQmRDQUdJQUZCQjJwMlFRRnhjZ3NGUVFBTElnSkJBblJCM05NRGFpRUJJQU1nQWpZQ0hDQURRUUEyQWhRZ0EwRUFOZ0lRUWJEUkF5Z0NBQ0lFUVFFZ0FuUWlCWEZGQkVCQnNORURJQVFnQlhJMkFnQWdBU0FETmdJQUlBTWdBVFlDR0NBRElBTTJBZ3dnQXlBRE5nSUlEQUlMSUFZZ0FTZ0NBQ0lCS0FJRVFYaHhSZ1JBSUFFaEFnVUNRQ0FHUVFCQkdTQUNRUUYyYXlBQ1FSOUdHM1FoQkFOQUlBRkJFR29nQkVFZmRrRUNkR29pQlNnQ0FDSUNCRUFnQkVFQmRDRUVJQVlnQWlnQ0JFRjRjVVlOQWlBQ0lRRU1BUXNMSUFVZ0F6WUNBQ0FESUFFMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F3REN3c2dBaWdDQ0NJQklBTTJBZ3dnQWlBRE5nSUlJQU1nQVRZQ0NDQURJQUkyQWd3Z0EwRUFOZ0lZQ3dzRlFielJBeWdDQUNJRFJTQUJJQU5KY2dSQVFielJBeUFCTmdJQUMwSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSFEwUU5CaE5VREtBSUFOZ0lBUWN6UkEwRi9OZ0lBUWVEUkEwSFUwUU0yQWdCQjNORURRZFRSQXpZQ0FFSG8wUU5CM05FRE5nSUFRZVRSQTBIYzBRTTJBZ0JCOE5FRFFlVFJBellDQUVIczBRTkI1TkVETmdJQVFmalJBMEhzMFFNMkFnQkI5TkVEUWV6UkF6WUNBRUdBMGdOQjlORUROZ0lBUWZ6UkEwSDAwUU0yQWdCQmlOSURRZnpSQXpZQ0FFR0UwZ05CL05FRE5nSUFRWkRTQTBHRTBnTTJBZ0JCak5JRFFZVFNBellDQUVHWTBnTkJqTklETmdJQVFaVFNBMEdNMGdNMkFnQkJvTklEUVpUU0F6WUNBRUdjMGdOQmxOSUROZ0lBUWFqU0EwR2MwZ00yQWdCQnBOSURRWnpTQXpZQ0FFR3cwZ05CcE5JRE5nSUFRYXpTQTBHazBnTTJBZ0JCdU5JRFFhelNBellDQUVHMDBnTkJyTklETmdJQVFjRFNBMEcwMGdNMkFnQkJ2TklEUWJUU0F6WUNBRUhJMGdOQnZOSUROZ0lBUWNUU0EwRzgwZ00yQWdCQjBOSURRY1RTQXpZQ0FFSE0wZ05CeE5JRE5nSUFRZGpTQTBITTBnTTJBZ0JCMU5JRFFjelNBellDQUVIZzBnTkIxTklETmdJQVFkelNBMEhVMGdNMkFnQkI2TklEUWR6U0F6WUNBRUhrMGdOQjNOSUROZ0lBUWZEU0EwSGswZ00yQWdCQjdOSURRZVRTQXpZQ0FFSDQwZ05CN05JRE5nSUFRZlRTQTBIczBnTTJBZ0JCZ05NRFFmVFNBellDQUVIODBnTkI5TklETmdJQVFZalRBMEg4MGdNMkFnQkJoTk1EUWZ6U0F6WUNBRUdRMHdOQmhOTUROZ0lBUVl6VEEwR0Uwd00yQWdCQm1OTURRWXpUQXpZQ0FFR1Uwd05Cak5NRE5nSUFRYURUQTBHVTB3TTJBZ0JCbk5NRFFaVFRBellDQUVHbzB3TkJuTk1ETmdJQVFhVFRBMEdjMHdNMkFnQkJzTk1EUWFUVEF6WUNBRUdzMHdOQnBOTUROZ0lBUWJqVEEwR3Mwd00yQWdCQnROTURRYXpUQXpZQ0FFSEEwd05CdE5NRE5nSUFRYnpUQTBHMDB3TTJBZ0JCeU5NRFFielRBellDQUVIRTB3TkJ2Tk1ETmdJQVFkRFRBMEhFMHdNMkFnQkJ6Tk1EUWNUVEF6WUNBRUhZMHdOQnpOTUROZ0lBUWRUVEEwSE0wd00yQWdCQnhORURJQUZCQUNBQlFRaHFJZ05yUVFkeFFRQWdBMEVIY1JzaUEyb2lCRFlDQUVHNDBRTWdBa0ZZYWlJQ0lBTnJJZ00yQWdBZ0JDQURRUUZ5TmdJRUlBRWdBbXBCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBQzBHNDBRTW9BZ0FpQVNBQVN3UkFEQUlMQzBHa3hRTkJNRFlDQUF3Q0MwRzQwUU1nQVNBQWF5SUNOZ0lBUWNUUkF5QUFRY1RSQXlnQ0FDSUJhaUlETmdJQUlBTWdBa0VCY2pZQ0JDQUJJQUJCQTNJMkFnUUxJQW9rQmlBQlFRaHFEd3NnQ2lRR1FRQUxtQUlCQkg4Z0FDQUNhaUVFSUFGQi93RnhJUU1nQWtIREFFNEVRQU5BSUFCQkEzRUVRQ0FBSUFNNkFBQWdBRUVCYWlFQURBRUxDeUFEUVFoMElBTnlJQU5CRUhSeUlBTkJHSFJ5SVFFZ0JFRjhjU0lGUVVCcUlRWURRQ0FBSUFaTUJFQWdBQ0FCTmdJQUlBQWdBVFlDQkNBQUlBRTJBZ2dnQUNBQk5nSU1JQUFnQVRZQ0VDQUFJQUUyQWhRZ0FDQUJOZ0lZSUFBZ0FUWUNIQ0FBSUFFMkFpQWdBQ0FCTmdJa0lBQWdBVFlDS0NBQUlBRTJBaXdnQUNBQk5nSXdJQUFnQVRZQ05DQUFJQUUyQWpnZ0FDQUJOZ0k4SUFCQlFHc2hBQXdCQ3dzRFFDQUFJQVZJQkVBZ0FDQUJOZ0lBSUFCQkJHb2hBQXdCQ3dzTEEwQWdBQ0FFU0FSQUlBQWdBem9BQUNBQVFRRnFJUUFNQVFzTElBUWdBbXNMQmdCQkVSQUNDeG9BSUFBc0FBdEJBRWdFUUNBQUtBSUlHaUFBS0FJQUVEZ0xDdzhBSUFFRWZ5QUFJQUZ1QlVFQUN3c1NBQ0FBQkVBZ0FDZ0NBQkE0SUFBUU9Bc0xmd0VFZnlNR0lRSWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUVCSDhnQUNnQ0JBVWdBMEgvQVhFTElnTWdBVWtFUUNBQUlBRWdBMnNRNUFrRklBUUVRQUovSUFFZ0FDZ0NBR29oQlNBQ1FRQTZBQUFnQlFzZ0FoQmZJQUFnQVRZQ0JBVWdBa0VBT2dBQUlBQWdBV29nQWhCZklBQWdBVG9BQ3dzTElBSWtCZ3NRQUNBQVFmRDRBQ0FCS0FJQXR4QVhDOFlEQVFOL0lBSkJnTUFBVGdSQUlBQWdBU0FDRUNVYUlBQVBDeUFBSVFRZ0FDQUNhaUVESUFCQkEzRWdBVUVEY1VZRVFBTkFJQUJCQTNFRVFDQUNSUVJBSUFRUEN5QUFJQUVzQUFBNkFBQWdBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnJJUUlNQVFzTElBTkJmSEVpQWtGQWFpRUZBMEFnQUNBRlRBUkFJQUFnQVNnQ0FEWUNBQ0FBSUFFb0FnUTJBZ1FnQUNBQktBSUlOZ0lJSUFBZ0FTZ0NERFlDRENBQUlBRW9BaEEyQWhBZ0FDQUJLQUlVTmdJVUlBQWdBU2dDR0RZQ0dDQUFJQUVvQWh3MkFod2dBQ0FCS0FJZ05nSWdJQUFnQVNnQ0pEWUNKQ0FBSUFFb0FpZzJBaWdnQUNBQktBSXNOZ0lzSUFBZ0FTZ0NNRFlDTUNBQUlBRW9BalEyQWpRZ0FDQUJLQUk0TmdJNElBQWdBU2dDUERZQ1BDQUFRVUJySVFBZ0FVRkFheUVCREFFTEN3TkFJQUFnQWtnRVFDQUFJQUVvQWdBMkFnQWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0ZJQU5CQkdzaEFnTkFJQUFnQWtnRVFDQUFJQUVzQUFBNkFBQWdBQ0FCTEFBQk9nQUJJQUFnQVN3QUFqb0FBaUFBSUFFc0FBTTZBQU1nQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NMQTBBZ0FDQURTQVJBSUFBZ0FTd0FBRG9BQUNBQVFRRnFJUUFnQVVFQmFpRUJEQUVMQ3lBRUN4MEFJQUFvQWhnZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQVNBQ0VONElDdzhBSUFFRWZ5QUFJQUZ3QlVFQUN3c1BBQ0FCQkg4Z0FDQUJid1ZCQUFzTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEIvQUFRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUN4VUFJQUJCQVNBQUd4QkVJZ0FFZnlBQUJVRUFDd3VxQkFJSmZ3SjlJd1loQlNNR1FTQnFKQVlnQlVFRWFpRUVJQVVnQURZQ0FDQUFLQUlBSVFNQ1FBSkFRYURFQXlnQ0FDSUJSU0lKQkVCQkFDRUFEQUVGSUFFZ0FVRi9haUlJY1VVaUJ3Ui9JQU1nQ0hFRklBTWdBVWtFZnlBREJTQURJQUVRVGdzTElnQkJBblJCbk1RREtBSUFhaWdDQUNJQ0JFQURRQ0FDS0FJQUlnSkZEUU1nQXlBQ0tBSUVJZ1pIQkVBZ0J3Ui9JQVlnQ0hFRklBWWdBVThFZnlBR0lBRVFUZ1VnQmdzTElBQkhEUVFMSUFNZ0FpZ0NDRWNOQUFzRkRBSUxDd3dCQ3lBRUlBTWdCUkRvQmtHc3hBTXFBZ0FpQ2lBQnM1UkJxTVFES0FJQVFRRnFzeUlMWFNBSmNnUkFBbjhnQ3lBS2xZMFFrZ0VpQWlBQlFYOXFJQUZ4UVFCSElBRkJBMGx5SUFGQkFYUnlJZ0FnQUNBQ1NSc1E1d1pCb01RREtBSUFJZ0pCZjJvaUFDQURjU0FBSUFKeFJRMEFHaUFESUFKSkJIOGdBd1VnQXlBQ0VFNExDeUVBQlNBQklRSUxRWnpFQXlnQ0FDQUFRUUowYWlnQ0FDSUJCSDhnQkNnQ0FDQUJLQUlBTmdJQUlBRWdCQ2dDQURZQ0FDQUVCU0FFS0FJQVFhVEVBeWdDQURZQ0FFR2t4QU1nQkNnQ0FEWUNBRUdjeEFNb0FnQWdBRUVDZEdwQnBNUUROZ0lBSUFRb0FnQWlCeWdDQUNJQUJFQWdBQ2dDQkNFQUlBSWdBa0YvYWlJQmNRUi9JQUFnQWs4RWZ5QUFJQUlRVGdVZ0FBc0ZJQUFnQVhFTElRQkJuTVFES0FJQUlBQkJBblJxSUFjMkFnQUxJQVFMSWdBb0FnQWhBa0dveEFOQnFNUURLQUlBUVFGcU5nSUFJQUJCQURZQ0FBc2dCU1FHSUFKQkVHb0x1Z0VCQm44Z0FDZ0NBQ0VCUWFERUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFaekVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdkNBUUlEZndGK0FrQUNRQ0FBS1FOd0lnUlFSUVJBSUFBcEEzZ2dCRmtOQVFzZ0FCRDFBU0lDUVFCSURRQWdBQ2dDQ0NFQkFrQUNRQ0FBS1FOd0lnUlFEUUFnQkNBQUtRTjRmU0lFSUFFZ0FDZ0NCQ0lEYTZ4VkRRQWdBQ0FESUFTblFYOXFhallDYUF3QkN5QUJJUU1nQUNBQk5nSm9DeUFDSUFFRWZ5QUFJQUFwQTNnZ0FVRUJhaUFBS0FJRUlnRnJySHczQTNnZ0FRVWdBQ2dDQkF0QmYyb2lBQzBBQUVjRVFDQUFJQUk2QUFBTERBRUxJQUJCQURZQ2FFRi9JUUlMSUFJTEl3RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0FzTERnQWdBQ0FCSUFFUXRBRVE0Z2tMRFFBZ0FDQUJJQUVRWUJEbkNRc0lBRUVERUFKQkFBdEdBZ0ovQVgwakJpRUZJd1pCRUdva0JnSi9JQUFnQXlBRUVLd0JJUVlnQlVFRWFpQUZJQUVnQWlBREVNc0NJQVlMSUFVcUFnUWdCU29DQUJDdkJ5RUhJQVVrQmlBSEN3a0FJQUFnQUJEREF3dEdBQ0FBSUFFcUFnZ2dBU29DQUNBQ0tnSUFsQ0FCS2dJRUlBSXFBZ1NVa3BJNEFnQWdBQ0FCS2dJVUlBRXFBZ3dnQWlvQ0FKUWdBU29DRUNBQ0tnSUVsSktTT0FJRUN5MEFRZkMrQXl3QUFFVUVRRUh3dmdNUWNBUkFRWWpPQXhEOUJEWUNBRUh3dmdNUWJ3c0xRWWpPQXlnQ0FBdXpCUUVJZnlBQUtBTFVBeUlFS0FJUUlnSkJnSUFDU0FSQUlBUkJER29oQlNBRUtBSVVJUU1EZnlBRUlBTkJmMm9pQWpZQ0ZDQURRUUZJQkVBZ0FDZ0N1QU1FUUVFQUlRTUZJQUFvQWhnaUFpZ0NCRVVFUUNBQ0tBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnTkJHVFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFDSUFJb0FnUkJmMm8yQWdRZ0FpQUNLQUlBSWdKQkFXbzJBZ0FnQWl3QUFDSURRZjhCY1NFQ0lBTkJmMFlFUUFKL0EwQUNRQ0FBS0FJWUlnSW9BZ1JGQkVBZ0FpZ0NEQ0VESUFBZ0EwSC9BSEZCQ0dvUkFBQkZCRUFnQUNnQ0FDSURRUmsyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDd3NnQWlBQ0tBSUVRWDlxTmdJRUlBSWdBaWdDQUNJQ1FRRnFOZ0lBQWtBQ1FDQUNMQUFBSWdKQmYyc09BZ0VBQWd0Qi93RU1Bd3NNQVFzTElBQWdBa0gvQVhFMkFyZ0RRUUFMSVFJTElBSWhBeUFFS0FJVUlRSUxJQVVnQXlBRktBSUFRUWgwY2pZQ0FDQUVJQUpCQ0dvaUF6WUNGQ0FDUVhoSUJFQWdCQ0FDUVFscUlnSTJBaFFnQWtVRVFDQUVRWUNBQWpZQ0VFRUFJUUlMQlNBRElRSUxDeUFFSUFRb0FoQkJBWFFpQXpZQ0VDQURRWUNBQWtnRWZ5QUNJUU1NQVFVZ0F3c0xJUUFGSUFJaEFDQUVRUXhxSVFVZ0JDZ0NGQ0VDQ3lBQkxRQUFJZ05CL3dCeFFRSjBRWkFtYWlnQ0FDSUdRUWgxSVFnZ0JDQUFJQVpCRUhVaUIyc2lBRFlDRUNBRktBSUFJZ2tnQUNBQ2RDSUNUZ1JBSUFVZ0NTQUNhellDQUNBRUlBYzJBaEFnQTBHQUFYRWhBaUFBSUFkSUJFQWdBU0FDSUFoek9nQUFJQU5CQjNVUEJTQUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVVBDd0FMSUFCQmdJQUNUZ1JBSUFOQkIzVVBDeUFEUVlBQmNTRUNJQUFnQjBnRWZ5QUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVUZJQUVnQWlBSWN6b0FBQ0FEUVFkMUN3c0dBQ0FBRURnTERBQWdBQ0FCTEFBQU9nQUFDNDBCQVFOL0FrQUNRQ0FBSWdKQkEzRkZEUUFnQWlJQklRQUNRQU5BSUFFc0FBQkZEUUVnQVVFQmFpSUJJZ0JCQTNFTkFBc2dBU0VBREFFTERBRUxBMEFnQUVFRWFpRUJJQUFvQWdBaUEwSC8vZnQzYWlBRFFZQ0Jnb1I0Y1VHQWdZS0VlSE54UlFSQUlBRWhBQXdCQ3dzZ0EwSC9BWEVFUUFOQUlBQkJBV29pQUN3QUFBMEFDd3NMSUFBZ0Ftc0wyQUVCQTM4Z0F5Z0NURUYvU2dSL1FRRUZRUUFMR2lBQklBSnNJUVVnQXlBRExBQktJZ1FnQkVIL0FXcHlPZ0JLSUFKQkFDQUJHeUVDQWtBZ0F5Z0NDQ0FES0FJRUlnWnJJZ1JCQUVvRWZ5QUFJQVlnQkNBRklBUWdCVWtiSWdRUVRCb2dBeUFFSUFNb0FnUnFOZ0lFSUFBZ0JHb2hBQ0FGSUFSckJTQUZDeUlFUlEwQUlBQWhCaUFFSVFBRFFBSkFJQU1RcHdJTkFDQURJQVlnQUNBREtBSWdRVDl4UWNvQmFoRUVBQ0lFUVFGcVFRSkpEUUFnQUNBRWF5SUFSUTBDSUFRZ0Jtb2hCZ3dCQ3dzZ0JTQUFheUFCRUVnaEFnc2dBZ3N4QVFGL1FlaUpBU2dDQUNFQklBQUVRRUhvaVFGQmpNVURJQUFnQUVGL1JoczJBZ0FMUVg4Z0FTQUJRWXpGQTBZYkN3TUFBUXNJQUVFR0VBSkJBQXU0QVFFQmZTQUNJQUVRd3dNaEF5QUFJQUFxQWdBZ0F5QUJLZ0lBbEpNNEFnQWdBQ0FBS2dJRUlBTWdBU29DQkpTVE9BSUVJQUFnQUNvQ0NDQURJQUVxQWdpVWt6Z0NDQ0FBSUFBcUFnd2dBeUFCS2dJTWxKTTRBZ3dnQUNBQUtnSVFJQU1nQVNvQ0VKU1RPQUlRSUFBZ0FDb0NGQ0FESUFFcUFoU1VremdDRkNBQUlBQXFBaGdnQXlBQktnSVlsSk00QWhnZ0FDQUFLZ0ljSUFNZ0FTb0NISlNUT0FJY0lBQWdBQ29DSUNBRElBRXFBaUNVa3pnQ0lBc0lBRUVMRUFKQkFBdlhBd0VHZnlBQUtBSUFJUVFnQUNnQ0JDRUhBa0FDUUNBQUtBSVFJZ1VvQXJnREJFQWdBU0VJSUFJaEJpQUhJUUlnQkNFQkRBRUZJQUpCR1VnRVFBSkFJQUVoQ0NBQ0lRWUNRQU5BQWtBZ0IwVUVRQ0FGS0FJWUtBSU1JUUVnQlNBQlFmOEFjVUVJYWhFQUFFVU5BeUFGS0FJWUlnRW9BZ1FoQnlBQktBSUFJUVFMSUFkQmYyb2hBaUFFUVFGcUlRRWdCQ3dBQUNJSFFmOEJjU0VFSUFkQmYwWUVRQU5BQWtBZ0FnUi9JQUVGSUFVb0FoZ29BZ3doQVNBRklBRkIvd0J4UVFocUVRQUFSUTBHSUFVb0FoZ2lBU2dDQkNFQ0lBRW9BZ0FMSVFRZ0FrRi9haUVDSUFSQkFXb2hBUUpBQWtBZ0JDd0FBQ0lFUVg5ckRnSUJBQVVMUWY4QklRUU1BUXNNQVFzTEN5QUVJQWhCQ0hSeUlRZ2dCa0VJYWlFSklBWkJFVWdFUUNBQ0lRY2dBU0VFSUFraEJnd0NCU0FKSVFZTUJBc0FDd3NnQlNBRVFmOEJjVFlDdUFNTUJBdEJBQThMQlNBQklRZ2dBaUVHSUFjaEFpQUVJUUVMQ3d3QkN5QUdJQU5JQkVBZ0JTZ0MxQU1vQWloRkJFQWdCU2dDQUNJRFFmZ0FOZ0lVSUFNb0FnUWhBeUFGUVg4Z0EwRS9jVUd5QldvUkF3QWdCU2dDMUFOQkFUWUNLQXNnQ0VFWklBWnJkQ0VJUVJraEJnc0xJQUFnQVRZQ0FDQUFJQUkyQWdRZ0FDQUlOZ0lJSUFBZ0JqWUNERUVCQ3c0QUlBRWdBRUYvYW1vZ0FSQTVDd2NBSUFBZ0FKUUxuUUVCQkg4Z0FDZ0NURUYvU2dSL1FRRUZRUUFMR2lBQUVKd0ZJQUFvQWdCQkFYRkJBRWNpQkVVRVFCQ3JBaUVCSUFBb0FqUWlBZ1JBSUFJZ0FDZ0NPRFlDT0FzZ0FDZ0NPQ0lEQkVBZ0F5QUNOZ0kwQ3lBQUlBRW9BZ0JHQkVBZ0FTQUROZ0lBQzBHb3hRTVFEZ3NnQUJDcEFob2dBQ0FBS0FJTVFmOEFjVUVJYWhFQUFCb2dBQ2dDWUNJQkJFQWdBUkE0Q3lBRVJRUkFJQUFRT0FzTHFRRUNDSDhCZkNNR0lRTWpCa0V3YWlRR0lBQVFud2NDZnhEakF5RUlJQU5CR0dvaUFSQzdBeUFCTEFBTElRVWdBU2dDQUNFR0lBQkJFR29pQWl3QUMwRUFTQVIvSUFJb0FnQUZJQUlMSVFjZ0FCQ2VCMFFBQUFBQUFFQ1BRS0loQ1NBRElnQkI4S01DTmdJQUlBQWdCaUFCSUFWQkFFZ2JOZ0lFSUFCQitLTUNOZ0lJSUFBZ0J6WUNEQ0FBSUFrNUF4QWdDQXRCMWFNQ0lBQVF0d01nQVJCSElBSVFSeUFBSkFZTFJBQWdBQ0FCY3lJQUlBQkJBWFpCMWFyVnFnVnhheUlBUWJQbXpKa0RjU0FBUVFKMlFiUG16SmtEY1dvaUFFRUVkaUFBYWtHUG5yejRBSEZCZ1lLRUNHeEJHSFlMZmdFRGZ5QUJRd0FBQUQrU0VFTWdBQ2dDRUdvaEJTQUNRd0FBQUQrU0VFTWdBQ2dDRkdvaEJpQUZRUUJJQkg5QmZ3VWdCa0VBU0NBRklBQW9BZ2dpQjA1eUJIOUJmd1VnQmlBQUtBSU1TQVIvSUFNZ0FDZ0NBQ0FHSUFkc0lBVnFRUU4wYWlJQUtBSUFOZ0lBSUFRZ0FDZ0NCRFlDQUVFQUJVRi9Dd3NMQ3d3QUlBQWdBU2dDQURZQ0FBc1dBQ0FBUVFBMkFnQWdBQ0FBS0FJQVFRRnlOZ0lBQ3cwQUlBQXNBQUJCQUVkQkFYTUxFUUFnQUNnQ0ZDQUFLQUlRYTBFVUVEa0xHQUFnQUNnQ0FFRWdjVVVFUUNBQklBSWdBQkNYQXhvTEMwQUFJQUFnQUdJRWYwR0FnSUNBZUFVZ0FFUUFBQUFBQUFEZ1FXWUVmMEdBZ0lDQWVBVWdBRVFBQUNBQUFBRGd3V1VFZjBHQWdJQ0FlQVVnQUtvTEN3c0xCd0FnQUVFRWFndDlBUUovSXdZaEJTTUdRWUFDYWlRR0lBUkJnTUFFY1VVZ0FpQURTbkVFUUNBRklBRkJHSFJCR0hVZ0FpQURheUlCUVlBQ0lBRkJnQUpKR3hCRkdpQUJRZjhCU3dSQUlBSWdBMnNoQmdOQUlBQWdCVUdBQWhCeUlBRkJnSDVxSWdGQi93RkxEUUFMSUFaQi93RnhJUUVMSUFBZ0JTQUJFSElMSUFVa0Jnc0dBRUVaRUFJTE9RRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0JEWUNBQ0FDRUdJaEFpQUFJQUVnQXlBRkVLa0JJUVlnQWdSQUlBSVFZaG9MSUFVa0JpQUdDNVlDQVFSL0lBQW9BZ1FpQmlBQUxBQUxJZ1JCL3dGeElnVWdCRUVBU0JzRVFBSkFJQUVnQWtjRVFDQUNJUVFnQVNFRkEwQWdCU0FFUVh4cUlnUkpCRUFnQlNnQ0FDRUdJQVVnQkNnQ0FEWUNBQ0FFSUFZMkFnQWdCVUVFYWlFRkRBRUxDeUFBTEFBTElnUkIvd0Z4SVFVZ0FDZ0NCQ0VHQ3lBQ1FYeHFJUWNnQUNnQ0FDQUFJQVJCR0hSQkdIVkJBRWdpQWhzaUFDQUdJQVVnQWh0cUlRVUNRQUpBQTBBQ1FDQUFMQUFBSWdKQkFFb2dBa0gvQUVkeElRUWdBU0FIVHcwQUlBUUVRQ0FCS0FJQUlBSkhEUU1MSUFGQkJHb2hBU0FBUVFGcUlBQWdCU0FBYTBFQlNoc2hBQXdCQ3dzTUFRc2dBMEVFTmdJQURBRUxJQVFFUUNBSEtBSUFRWDlxSUFKUEJFQWdBMEVFTmdJQUN3c0xDd3RDQVFGL0lBQkVBQUFBQUFBQThMODVBd0FnQUVRQUFBQUFBQUR3dnprRENDQUFRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQUFRb0FjTENBQkJCUkFDUVFBTHJnVUNDMzhDZlNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQlNBQlFYOU1CRUFnQlVIQXlBTkI5STBDRURkQnM0b0NFRGRCNzZJQ0VEZEJvZ0lRUGtIMm9nSVFOMEdXamdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFJZ0JFRUtJQUpCUDNGQmlnRnFFUUlBSVFJZ0JSQThJQU1nQWhCQUlBTVFQeEFBQ3lBRklBRTJBZ0FnQUVIY0FHb2lCaUFGRU9nRElnSUVRQ0FDSUFJb0FneEJBV28yQWd3RklBY2dBVFlDQUNBSFFRRTJBZ1FDUUFKQUlBQW9BbUFpQkVVaUNnUkFRUUFoQWd3QkJTQUVJQVJCZjJvaUNYRkZJZ3NFZnlBQklBbHhCU0FFSUFGTEJIOGdBUVVnQVNBRUVFNExDeUlDUVFKMElBWW9BZ0JxS0FJQUlnTUVRQU5BSUFNb0FnQWlBMFVOQXlBREtBSUVJZ2dnQVVjRVFDQUxCSDhnQ0NBSmNRVWdDQ0FFVHdSL0lBZ2dCQkJPQlNBSUN3c2dBa2NOQkFzZ0F5Z0NDQ0FCUncwQUN3VU1BZ3NMREFFTElBVWdCaUFCSUFjUXZBY2dDaUFBS2dKc0lnMGdCTE9VSUFBb0FtaEJBV3F6SWc1ZGNnUi9BbjhnQmlBT0lBMlZqUkNTQVNJRElBUWdCRUYvYW5GQkFFY2dCRUVEU1hJZ0JFRUJkSElpQWlBQ0lBTkpHeERGQWlBQUtBSmdJZ05CZjJvaEFpQUJJQUp4SUFJZ0EzRkZEUUFhSUFNZ0FVMEVmeUFCSUFNUVRnVWdBUXNMQlNBRUlRTWdBZ3NoQVNBR0tBSUFJQUZCQW5ScUtBSUFJZ0lFZnlBRktBSUFJQUlvQWdBMkFnQWdBaUFGS0FJQU5nSUFJQVVGSUFVb0FnQWdBQ2dDWkRZQ0FDQUFJQVVvQWdBMkFtUWdCaWdDQUNBQlFRSjBhaUFBUWVRQWFqWUNBQ0FGS0FJQUlnUW9BZ0FpQVFSQUlBRW9BZ1FoQVNBRElBTkJmMm9pQW5FRWZ5QUJJQU5QQkg4Z0FTQURFRTRGSUFFTEJTQUJJQUp4Q3lFQklBWW9BZ0FnQVVFQ2RHb2dCRFlDQUFzZ0JRc2hEQ0FBSUFBb0FtaEJBV28yQW1nZ0RFRUFOZ0lBQ3dzZ0J5UUdDL1lJQVFkL0l3WWhCaU1HUVJCcUpBWWdBVUYvVEFSQUlBWkJ3TWdEUWFtT0FoQTNRYk9LQWhBM1FlK2lBaEEzUWFVQkVENUI5cUlDRURkQnlvNENFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSElBVVFRQ0FIRUQ4UUFBc2dBQ2dDTkNJS0lBRk1CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJwZ0VRUGtIMm9nSVFOMEhLamdJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQ1FYOU1CRUFnQmtIQXlBTkJoSThDRURkQnM0b0NFRGRCNzZJQ0VEZEJwd0VRUGtIMm9nSVFOMEdsandJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQUtBSTRJZ3NnQWt3RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHb0FSQStRZmFpQWhBM1FhV1BBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQU5CZjB3RVFDQUdRY0RJQTBIZmp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHcEFSQStRZmFpQWhBM1FZU1FBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQUFvQWp3aUJ5QURUQVJBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRYW9CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lDU2dDQUVGMGFpZ0NBQ0FKYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0JFRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRYXNCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FFRkFheWdDQUNBRVRBUkFJQVpCd01nRFFZV1JBaEEzUWJPS0FoQTNRZStpQWhBM1Fhd0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQVNBQ0lBcHNhaUlCSUFNZ0FDZ0NWR3hxSUFRZ0FDZ0NXR3hxSWdBZ0FTQURJQVFnQjJ4cUlBb2dDMnhzYWtvRVFDQUdRY0RJQTBHMWtRSVFOMEd6aWdJUU4wSHZvZ0lRTjBHd0FSQStRZmFpQWhBM1FaYU9BaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FHRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQVlrQmlBQUR3dEJBQXRGQVFKL0EwQUNRQ0FESUFKT0RRQWdBMEVEZENBQmFpZ0NBQ0lFUlEwQUlBQWdCRVlFUUNBRFFRTjBRUVJxSUFGcUtBSUFEd1VnQTBFQmFpRUREQUlMQUFzTFFRQUxjZ0VEZnlNR0lRTWpCa0VRYWlRR0lBSkJiMHNFUUJBQUN5QUNRUXRKQkVBZ0FDQUNPZ0FMQlNBQUlBSkJFR3BCY0hFaUJCQlJJZ1UyQWdBZ0FDQUVRWUNBZ0lCNGNqWUNDQ0FBSUFJMkFnUWdCU0VBQ3lBQUlBRWdBaENvQVNBRFFRQTZBQUFnQUNBQ2FpQURFRjhnQXlRR0N3UUFRUUFMRFFBZ0FDQURsQ0FCSUFLVWt3c2JBQ0FDQkg4Z0FDZ0NCQ0FCS0FJRUVMTUJSUVVnQUNBQlJnc0xSUUlDZndGK0lBQWdBVGNEY0NBQUlBQW9BZ2dpQWlBQUtBSUVJZ05yckNJRU53TjRJQUZDQUZJZ0JDQUJWWEVFUUNBQUlBTWdBYWRxTmdKb0JTQUFJQUkyQW1nTEN5Y0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUNBQklBTVFsUU1oQkNBREpBWWdCQXNvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFKQnpJY0JRWmpQQWtFZUlBRVFDU0FEQ3lRR0N6RUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk1MQndBZ0FFRUlhZ3M4QVFKL0lBQW9BZ1FnQUNnQ0FDSURhMEVDZFNJQ0lBRkpCRUFnQUNBQklBSnJFUDhJQlNBQ0lBRkxCRUFnQUNBQlFRSjBJQU5xTmdJRUN3c0xFd0FnQUVHZ2l3RTJBZ0FnQUVFRWFoRG9DUXVCQVFBQ1FBSkFJQUlvQWdSQnNBRnhRUmgwUVJoMVFSQnJJZ0lFUUNBQ1FSQkdCRUFNQWdVTUF3c0FDd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBQVFRRnFJUUFNQWdzZ0FrRXdSaUFCSUFCclFRRktjVVVOQVNBQUxBQUJRZGdBYXlJQlFRQWdBVUVnUnhzTkFTQUFRUUpxSVFBTUFRc2dBU0VBQ3lBQUN3b0FJQUJCVUdwQkNra0xRUUVDZjBFTUVFUWlBZ1JBSUFJZ0FTQUFRUU4wYkJCRUlnTTJBZ0FnQXdSQUlBSWdBRFlDQkNBQ0lBRTJBZ2dGSUFJUU9FRUFJUUlMQlVFQUlRSUxJQUlMM0FFQkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ2dBQ2dDRENFQ0lBQWdBU2dDRERZQ0RDQUJJQUkyQWd3Z0FDZ0NFQ0VDSUFBZ0FTZ0NFRFlDRUNBQklBSTJBaEFnQUNnQ0ZDRUNJQUFnQVNnQ0ZEWUNGQ0FCSUFJMkFoUWdBQ2dDR0NFQ0lBQWdBU2dDR0RZQ0dDQUJJQUkyQWhnZ0FDZ0NIQ0VDSUFBZ0FTZ0NIRFlDSENBQklBSTJBaHdnQUNnQ0lDRUNJQUFnQVNnQ0lEWUNJQ0FCSUFJMkFpQUxGUUFnQUFSL0lBQWdBVGtEZ0FGQkFBVkJmd3NhQzdnQ0FnVi9BbndqQmlFSEl3WkJJR29rQmlBSFFRaHFJUVlnQjBFVWFpSUlJQVJCQkhRUVJDSUtOZ0lBSUFwRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUhRUkJxSVFZZ0NDQUVRUmhzRUVRaUNUWUNCQ0FKUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRUdBMEFnQmlBRVNBUkFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RBRGtEQUNBR1FRUjBJQXBxSUFaQkJIUWdBbW9yQXdnNUF3Z2dCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUFPUU1BSUFaQkdHd2dDV29nQmtFWWJDQURhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF4QTVBeEFnQmtFQmFpRUdEQUVMQ3lBSUlBUTJBZ2dnQUNnQ0FDQUlJQUVnQlNBSEVKMEVRUUJJQkVBZ0IwUUFBQUFBaE5lWFFUa0RBQXNnQ0NnQ0FCQTRJQWdvQWdRUU9DQUhLd01BSVF3Z0J5UUdJQXdMTlFBZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FBYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NMVVFFQmZDQUFJQUNpSWdBZ0FLSWhBVVFBQUFBQUFBRHdQeUFBUklGZURQMy8vOTgvb3FFZ0FVUkNPZ1hoVTFXbFA2S2dJQUFnQWFJZ0FFUnBVTzdnUXBQNVBxSkVKeDRQNklmQVZyK2dvcUMyQzBzQkFud2dBQ0FBb2lJQklBQ2lJZ0lnQVNBQm9xSWdBVVNuUmp1TWg4M0dQcUpFZE9mSzR2a0FLcitnb2lBQ0lBRkVzdnR1aVJBUmdUK2lSSGVzeTFSVlZjVy9vS0lnQUtDZ3Rnc3NBQ0FBSUFCY0JIOUJBQVVnQUVNQUFJQlBZQVIvUVFBRklBQkRBQUNBdjE4RWYwRUFCU0FBcVFzTEN3czBBUUYvSUFFZ0Ftd2hCQ0FDUVFBZ0FSc2hBaUFES0FKTUdpQUVJQUFnQkNBREVKY0RJZ0JIQkg4Z0FDQUJFRWdGSUFJTEMzY0FJQUFnQVNvQ0FDQUNsRGdDQUNBQUlBRXFBZ1FnQXBRNEFnUWdBQ0FCS2dJSUlBS1VPQUlJSUFBZ0FTb0NEQ0FDbERnQ0RDQUFJQUVxQWhBZ0FwUTRBaEFnQUNBQktnSVVJQUtVT0FJVUlBQWdBU29DR0NBQ2xEZ0NHQ0FBSUFFcUFod2dBcFE0QWh3Z0FDQUJLZ0lnSUFLVU9BSWdDMEVCQVg4Z0FDZ0NCQ0lBQkVBZ0FDQUFLQUlFSWdGQmYybzJBZ1FnQVVVRVFDQUFLQUlBS0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCRHFDUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93RWdBQ2dDQkNBQUtBSUFhMEVEZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUNkU0lHSUFZZ0Ewa2JRZi8vLy84QklBVkJBM1ZCLy8vLy93QkpHeUFBS0FJRUlBUnJRUU4xSUFCQkNHb1FpQUlnQWlnQ0NDQUJLUUlBTndJQUlBSWdBaWdDQ0VFSWFqWUNDQ0FBSUFJUXpRSWdBaERNQWlBQ0pBWUxDNlFDQVFWL0l3WWhCeU1HUVJCcUpBWWdBQ2dDQUNJR0JFQUNRQ0FFS0FJTUlRZ2dBaUFCYXlJSlFRQktCRUFnQmlnQ0FDZ0NNQ0VLSUFZZ0FTQUpJQXBCUDNGQnlnRnFFUVFBSUFsSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NDQURJQUZySWdGclFRQWdDQ0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWxnUWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdGQkFFb0VRQ0FHS0FJQUtBSXdJUU1nQmlBQ0lBRWdBMEUvY1VIS0FXb1JCQUFnQVVjRVFDQUFRUUEyQWdCQkFDRUdEQUlMQ3lBRVFRQTJBZ3dMQlVFQUlRWUxJQWNrQmlBR0N3Z0FRUWtRQWtFQUM3VUhBUWgvSUFBb0FnQWlCd1IvSUFjb0Fnd2lCaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVlDUUFKQUFrQWdBU2dDQUNJSEJFQWdCeWdDRENJRklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FHQkVBTUJBVU1Bd3NBQ3dzZ0JrVUVRRUVBSVFjTUFnc0xJQUlnQWlnQ0FFRUdjallDQUVFQUlRY01BUXNnQTBHQUVDQUFLQUlBSWdZb0Fnd2lCU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxJZ1lnQXlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGQkVBZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQnd3QkN5QURJQVpCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUVhallDRENBRktBSUFHZ3NnQzBFWWRFRVlkU0VGSUFRaEJpQUhJZ1FoQ0FOQUFrQWdCVUZRYWlFSElBQW9BZ0FpQlFSL0lBVW9BZ3dpQ1NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMQW44Z0NBUi9JQWdvQWd3aUJTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFSQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaERDQUFLQUlBSVFVZ0RBdHpJQVpCQVVweFJRMEFJQU5CZ0JBZ0JTZ0NEQ0lKSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXNpQlNBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURJQVZCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFS0lBQW9BZ0FpQlNnQ0RDSUpJQVVvQWhCR0JFQWdCU0FGS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFVZ0NVRUVhallDRENBSktBSUFHZ3NnQjBFS2JDQUtRUmgwUVJoMWFpRUZJQVpCZjJvaEJnd0JDd3NnQlFSL0lBVW9BZ3dpQXlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUFOQXdzTUFRc2dBRVVOQVFzZ0FpQUNLQUlBUVFKeU5nSUFDeUFIQyt3SEFRaC9JQUFvQWdBaUJRUi9JQVVvQWd3aUNDQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdrRVFDQUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFSkRBSUxDeUFDSUFJb0FnQkJCbkkyQWdCQkFDRUVEQUVMSUFBb0FnQWlCU2dDRENJSUlBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0N5SUZRZjhCY1NJSVFSaDBRUmgxUVg5S0JFQWdBeWdDQ0NBRlFSaDBRUmgxUVFGMGFpNEJBRUdBRUhFRVFDQURJQWhCQUNBREtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBTFFSaDBRUmgxSVFZZ0JDRUlJQWtoQlFOQUFrQWdCa0ZRYWlFRUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQmlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENpQUZCSDhnQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUpRUUFoQlVFQkJVRUFDd1ZCQUNFRlFRRUxJUXdnQUNnQ0FDRUhJQXdnQ25NZ0NFRUJTbkZGRFFBZ0J5Z0NEQ0lHSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJS1FmOEJjU0lHUVJoMFFSaDFRWDlNRFFRZ0F5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFRZ0F5QUdRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUFoQmlBQUtBSUFJZ2NvQWd3aUNpQUhLQUlRUmdSQUlBY2dCeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FISUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFS2JDQUdRUmgwUVJoMWFpRUdJQWhCZjJvaENBd0JDd3NnQndSL0lBY29BZ3dpQXlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQ1VVTkFDQUpLQUlNSWdBZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRERRVUxEQUVMSUFORkRRTUxJQUlnQWlnQ0FFRUNjallDQUF3Q0N3c2dBaUFDS0FJQVFRUnlOZ0lBUVFBaEJBc2dCQXMzQVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FETmdJQUlBRVFZaUVCSUFBZ0FpQUVFUFFFSVFVZ0FRUkFJQUVRWWhvTElBUWtCaUFGQzJ3QUFuOENRQUpBQWtBQ1FDQUFLQUlFUWNvQWNRNUJBZ01EQXdNREF3TUJBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0FEQzBFSURBTUxRUkFNQWd0QkFBd0JDMEVLQ3d2ekF3RUdmd0pBQWtBZ0Fid2lCVUgvLy8vL0IzRWlCa0dBZ0lEOEIwc05BQ0FBdkNJQ1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3cwQUFrQWdCVUdBZ0lEOEEwWUVRQ0FBRVBRQ0lRQU1BUXNnQWtFZmRpSUhJQVZCSG5aQkFuRnlJUUlnQTBVRVFBSkFBa0FDUUNBQ1FRTnhEZ1FFQkFBQkFndEQydzlKUUNFQURBTUxROXNQU2NBaEFBd0NDd3NDUUNBRlFmLy8vLzhIY1NJRVFZQ0FnUHdIU0FSQUlBUU5BVVBiRDhtL1E5c1B5VDhnQnhzaEFBd0NCU0FFUVlDQWdQd0hhdzBCSUFKQi93RnhJUVFnQTBHQWdJRDhCMFlFUUFKQUFrQUNRQUpBQWtBZ0JFRURjUTRFQUFFQ0F3UUxROXNQU1Q4aEFBd0hDMFBiRDBtL0lRQU1CZ3RENU1zV1FDRUFEQVVMUStUTEZzQWhBQXdFQ3dVQ1FBSkFBa0FDUUFKQUlBUkJBM0VPQkFBQkFnTUVDME1BQUFBQUlRQU1Cd3REQUFBQWdDRUFEQVlMUTlzUFNVQWhBQXdGQzBQYkQwbkFJUUFNQkFzTEN3c2dBMEdBZ0lEOEIwWWdCa0dBZ0lEb0FHb2dBMGx5QkVCRDJ3L0p2MFBiRDhrL0lBY2JJUUFNQVFzZ0JVRUFTQ0FEUVlDQWdPZ0FhaUFHU1hFRWZVTUFBQUFBQlNBQUlBR1ZpeEQwQWdzaEFBSkFBa0FDUUNBQ1FRTnhEZ01EQUFFQ0N5QUFqQ0VBREFJTFE5c1BTVUFnQUVNdXZic3prcE1oQUF3QkN5QUFReTY5dXpPU1E5c1BTY0NTSVFBTERBRUxJQUFnQVpJaEFBc2dBQXVqQWdBZ0FBUi9BbjhnQVVHQUFVa0VRQ0FBSUFFNkFBQkJBUXdCQzBIb2lRRW9BZ0FvQWdCRkJFQWdBVUdBZjNGQmdMOERSZ1JBSUFBZ0FUb0FBRUVCREFJRlFhVEZBMEVaTmdJQVFYOE1BZ3NBQ3lBQlFZQVFTUVJBSUFBZ0FVRUdka0hBQVhJNkFBQWdBQ0FCUVQ5eFFZQUJjam9BQVVFQ0RBRUxJQUZCZ0VCeFFZREFBMFlnQVVHQXNBTkpjZ1JBSUFBZ0FVRU1ka0hnQVhJNkFBQWdBQ0FCUVFaMlFUOXhRWUFCY2pvQUFTQUFJQUZCUDNGQmdBRnlPZ0FDUVFNTUFRc2dBVUdBZ0h4cVFZQ0F3QUJKQkg4Z0FDQUJRUkoyUWZBQmNqb0FBQ0FBSUFGQkRIWkJQM0ZCZ0FGeU9nQUJJQUFnQVVFR2RrRS9jVUdBQVhJNkFBSWdBQ0FCUVQ5eFFZQUJjam9BQTBFRUJVR2t4UU5CR1RZQ0FFRi9Dd3NGUVFFTEM2a0JBUUovSUFGQi93ZEtCRUFnQUVRQUFBQUFBQURnZjZJaUFFUUFBQUFBQUFEZ2Y2SWdBQ0FCUWY0UFNpSUNHeUVBSUFGQmduQnFJZ05CL3djZ0EwSC9CMGdiSUFGQmdYaHFJQUliSVFFRklBRkJnbmhJQkVBZ0FFUUFBQUFBQUFBUUFLSWlBRVFBQUFBQUFBQVFBS0lnQUNBQlFZUndTQ0lDR3lFQUlBRkIvQTlxSWdOQmduZ2dBMEdDZUVvYklBRkIvZ2RxSUFJYklRRUxDeUFBSUFGQi93ZHFyVUkwaHIraUM1c0NBUUovSUFJZ0JFZ0VRQ0FBSUFFZ0FpQUVFR2NFZnlBQUtBSUlJUVVnQUNnQ0RBVkJmdzhMSVFJRklBRWhCUXNnQkVFQ2RFSHdNV29vQWdBZ0JTQUNJQVJySWdGMWNTSUdJQVJCQW5RZ0Eyb29BZ0JLQkVBQ1FDQUZJUUlEUUFKQUlBRkJBVWdFUUNBQUlBSWdBVUVCRUdkRkRRRWdBQ2dDQ0NFQ0lBQW9BZ3doQVFzZ0FpQUJRWDlxSWdGMlFRRnhJQVpCQVhSeUlnWWdCRUVCYWlJRVFRSjBJQU5xS0FJQVNnMEJEQUlMQzBGL0R3c0ZJQVVoQWdzZ0FDQUNOZ0lJSUFBZ0FUWUNEQ0FFUVJCS0JIOGdBQ2dDRUNJQUtBSUFJZ0ZCK1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFQUJTQUdJQU5CeUFCcUlBUkJBblJxS0FJQWFpQURLQUtNQVVFUmFtb3RBQUFMQzVNQ0FnRi9BbjBnQUNBQklBSkJBblFnQVdvcUFnQ01FSlFCSUFKQkFuUWdBR29pQXlBREtnSUFRd0FBZ0QrU09BSUFJQUFnQVVFa2FpQUNRUWxxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCeUFCcUlBSkJFbXBCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhzQUdvZ0FrRWJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRWkFCYWlBQ1FTUnFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ0QUZxSUFKQkxXcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSFlBV29nQWtFMmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFmd0JhaUFDUVQ5cVFRSjBJQUZxS2dJQWpCQzVBU0FBRUZvaUJaRWhCQ0FGUXdBQUFBQmJCRUJEQUFBQUFDRUVCU0FBSUFCREFBQ0FQeUFFbFJDVUFRc2dCQXNHQUVFVUVBSUwvZ2tCQ244akJpRU5Jd1pCRUdva0JpQU5RUWhxSVJBZ0RVRU1haUlPSUFNUU95QU9RYURPQXhBNklRc2dEaEE4SUFSQkFEWUNBQUpBQWtBRFFBSkFJQUVvQWdBaENDQUpSU0FHSUFkSGNVVU5BQ0FJSWdrRWZ5QUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBU0VNUVFBaENVRUFCVUVBSVF3Z0NRc0ZRUUVoREVFQUN5RUlJQUlvQWdBaUNpRVJBa0FDUUNBS1JRMEFJQW9vQWd3aUR5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQThvQWdBTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdERVVOQlFzTUFRc2dEQTBEUVFBaENnc2dDeUFHS0FJQVFRQWdDeWdDQUNnQ05FRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFScUlneEdEUU1DUUNBTElBd29BZ0JCQUNBTEtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkNHcEdEUVVnQ2lFSUlBc2dCaWdDQ0VFQUlBc29BZ0FvQWpSQlAzRkJ5Z0ZxRVFRQUlRb2dEQ0VHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VNSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FNUVE5eFFZNERhaEVPQURZQ0FDQUdRUWhxSVFZRkFrQWdDMEdBd0FBZ0JpZ0NBQ0FMS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVFUUNBTElBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFrZ0N5QUdLQUlBSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSUFsSEJFQWdCRUVFTmdJQURBSUxJQWdvQWd3aUNTQUlLQUlRUmdSQUlBZ2dDQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FJSUFsQkJHbzJBZ3dnQ1NnQ0FCb0xJQVpCQkdvaEJnd0JDd05BQWtBZ0J5QUdRUVJxSWdaR0JFQWdCeUVHREFFTElBdEJnTUFBSUFZb0FnQWdDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQU5BUXNMSUFvaENRTkFJQWdFZnlBSUtBSU1JZ29nQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaENnSkFBa0FnQ1VVTkFDQUpLQUlNSWd3Z0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQU1LQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJBc01BUXNnQ2cwQ1FRQWhDUXNnQzBHQXdBQWdDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdDQ2dDRENJS0lBZ29BaEJHQkVBZ0NDQUlLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWdnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRRUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FCUlEwQ0N3d0NDeUFCRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBTkpBWWdDQXV0Q2dFS2Z5TUdJUTBqQmtFUWFpUUdJQTFCQ0dvaEVDQU5RUXhxSWc0Z0F4QTdJQTVCZ000REVEb2hEQ0FPRUR3Z0JFRUFOZ0lBQWtBQ1FBTkFBa0FnQVNnQ0FDRUlJQWxGSUFZZ0IwZHhSUTBBSUFnaUNRUi9JQWtvQWd3aUNDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFaEMwRUFJUWxCQUFWQkFDRUxJQWtMQlVFQklRdEJBQXNoQ0NBQ0tBSUFJZ29oRVFKQUFrQWdDa1VOQUNBS0tBSU1JZzhnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0MwVU5CUXNNQVFzZ0N3MERRUUFoQ2dzZ0RDQUdMQUFBUVFBZ0RDZ0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUUZxSWd0R0RRTUNRQ0FNSUFzc0FBQkJBQ0FNS0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQW1wR0RRVWdDaUVJSUF3Z0Jpd0FBa0VBSUF3b0FnQW9BaVJCUDNGQnlnRnFFUVFBSVFvZ0N5RUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRUxJQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQUxRUTl4UVk0RGFoRU9BRFlDQUNBR1FRSnFJUVlGQWtBZ0Jpd0FBQ0lKUVg5S0JFQWdEQ2dDQ0NJTElBbEJBWFJxTGdFQVFZREFBSEVFUUFOQUFrQWdCeUFHUVFGcUlnWkdCRUFnQnlFR0RBRUxJQVlzQUFBaUNVRi9UQTBBSUFsQkFYUWdDMm91QVFCQmdNQUFjUTBCQ3dzZ0NpRUpBMEFnQ0FSL0lBZ29BZ3dpQ2lBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUW9DUUFKQUlBbEZEUUFnQ1NnQ0RDSUxJQWtvQWhCR0JIOGdDU0FKS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQmdzTUFRc2dDZzBFUVFBaENRc2dDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUtRZjhCY1VFWWRFRVlkVUYvVEEwRElBd29BZ2dnQ2tFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkF5QUlLQUlNSWdvZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FLUVFGcU5nSU1JQW9zQUFBUVFob0xEQUFBQ3dBTEN5QU1JQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4SUF3b0FnQW9BZ3hCUDNGQmlnRnFFUUlBUWY4QmNTQU1JQVlzQUFBZ0RDZ0NBQ2dDREVFL2NVR0tBV29SQWdCQi93RnhSd1JBSUFSQkJEWUNBQXdCQ3lBSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUUZxTmdJTUlBa3NBQUFRUWhvTElBWkJBV29oQmdzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hBUUpBQWtBQ1FDQUNLQUlBSWdCRkRRQWdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0FVVU5BZ3NNQWdzZ0FRMEFEQUVMSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dEU1FHSUFnTHRRSUJCWDhqQmlFSEl3WkJFR29rQmlBQUtBSUFJZ1lFUUFKQUlBUW9BZ3doQ1NBQ0lBRnJJZ2hCQW5VaENpQUlRUUJLQkVBZ0JpZ0NBQ2dDTUNFSUlBWWdBU0FLSUFoQlAzRkJ5Z0ZxRVFRQUlBcEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDU0FESUFGclFRSjFJZ0ZyUVFBZ0NTQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRa3dRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ05CQW5VaEFTQURRUUJLQkVBZ0JpZ0NBQ2dDTUNFRElBWWdBaUFCSUFOQlAzRkJ5Z0ZxRVFRQUlBRkhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dCRUVBTmdJTUN3VkJBQ0VHQ3lBSEpBWWdCZ3QrQVFOL0lBRkRBQUFBUDVJUVF5QUFLQUlRYWlFRklBSkRBQUFBUDVJUVF5QUFLQUlVYWlFR0lBVkJBRWdFZjBGL0JTQUdRUUJJSUFVZ0FDZ0NDQ0lIVG5JRWYwRi9CU0FHSUFBb0FneElCSDhnQXlBQUtBSUVJQVlnQjJ3Z0JXcEJBM1JxSWdBb0FnQTJBZ0FnQkNBQUtBSUVOZ0lBUVFBRlFYOExDd3NMRUFBZ0FnUkFJQUFnQVNBQ0VQb0VDd3NRQUNBQ0JFQWdBQ0FCSUFJUVRCb0xDNzhCQVFKL0l3WWhCQ01HUWFBQmFpUUdJQVJCa0FGcUlRVWdCRUdZOWdCQmtBRVFUQm9DUUFKQUlBRkJmMnBCL3YvLy93ZE5EUUFnQVFSL1FhVEZBMEU5TmdJQVFYOEZJQVVoQUVFQklRRU1BUXNoQUF3QkN5QUVRWDRnQUdzaUJTQUJJQUVnQlVzYklnRTJBakFnQkNBQU5nSVVJQVFnQURZQ0xDQUVJQUFnQVdvaUFEWUNFQ0FFSUFBMkFod2dCQ0FDSUFNUXBRSWhBQ0FCQkVBZ0JDZ0NGQ0lCSUFFZ0JDZ0NFRVpCSDNSQkgzVnFRUUE2QUFBTEN5QUVKQVlnQUF0ckFRTjlJQUVxQWlBZ0FTb0NHQ0FDS2dJQUlnU1VJQUVxQWh3Z0Fpb0NCQ0lGbEpLU0lRTWdBQ0FCS2dJSUlBUWdBU29DQUpRZ0JTQUJLZ0lFbEpLU0lBT1ZPQUlBSUFBZ0FTb0NGQ0FCS2dJTUlBSXFBZ0NVSUFFcUFoQWdBaW9DQkpTU2tpQURsVGdDQkF1ZkFnSUVmd1Y4SUFOQkFuUWdBV29vQWdBaUNpQUNRUUowSUFGcUtBSUFJZ2hydHlFTUlBSkJBblFnQUdvb0FnQWlDU0FEUVFKMElBQnFLQUlBSWdkcnR5RU5JQWNnQ0d3Z0NTQUtiR3UzSVE4Z0FrRUJhaUlISVFnRFFDQUhJQU5JQkVBZ0J5QUlJQXdnQjBFQ2RDQUFhaWdDQUxlaUlBMGdCMEVDZENBQmFpZ0NBTGVpb0NBUG9DSU9JQTZpSWc0Z0MyUWlDUnNoQ0NBSFFRRnFJUWNnRGlBTElBa2JJUXNNQVFzTEFuOENRQ0FMSUF3Z0RLSWdEU0FOb3FDaklBUmtSUTBBSUFBZ0FTQUNJQWdnQkNBRklBWVFxd0ZCQUU0RVFDQUdLQUlBSWdKQkJVd0VRQ0FDUVFKMElBVnFJQWcyQWdBZ0JpQUdLQUlBUVFGcU5nSUFJQUFnQVNBSUlBTWdCQ0FGSUFZUXF3RkJBRTROQWdzTFFYOE1BUXRCQUFzTG5nSUJCWDhqQmlFREl3WkJFR29rQmlBQUtBSVFJQUZOQkVBZ0EwSEF5QU5CeHBvQ0VEZEJxSmtDRURkQjc2SUNFRGRCMmdFUVBrSDJvZ0lRTjBIaHZRRVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVSWdRZ0Frc0VRQ0FBS0FJRUlBSWdBU0FFYkdwQkJYUnFJUWNnQXlRR0lBY1BCU0FEUWNESUEwSFdtd0lRTjBHb21RSVFOMEh2b2dJUU4wSGJBUkErUWZhaUFoQTNRZlc5QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRFFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBREVEd2dBaUFBRUVBZ0FoQS9FQUFMUVFBTENBQkJCeEFDUVFBTERBQWdBRUdDaG9BZ05nQUFDNUlCQVFGL0lBTkJnQkJ4QkVBZ0FFRXJPZ0FBSUFCQkFXb2hBQXNnQTBHQUJIRUVRQ0FBUVNNNkFBQWdBRUVCYWlFQUN3TkFJQUVzQUFBaUJBUkFJQUFnQkRvQUFDQUJRUUZxSVFFZ0FFRUJhaUVBREFFTEN5QUFBbjhDUUNBRFFjb0FjVUVJYXlJQkJFQWdBVUU0UncwQlFlOEFEQUlMSUFOQkNYWkJJSEZCK0FCekRBRUxRZVFBUWZVQUlBSWJDem9BQUF0K0FRTi9Jd1loQWlNR1FSQnFKQVpCK3YwQ0lBRXNBQUFRdndFRWZ5QUJFSmtGUVlDQUFuSWhBeUFDSUFBMkFnQWdBaUFETmdJRUlBSkJ0Z00yQWdoQkJTQUNFRFFRbWdNaUEwRUFTQVIvUVFBRklBTWdBUkNZQlNJQUJIOGdBQVVnQXhBWUdrRUFDd3NGUWFURkEwRWNOZ0lBUVFBTElRUWdBaVFHSUFRTERBQWdBQkRmQ1NBQUlBRWJDeEFBSUFCQklFWWdBRUYzYWtFRlNYSUxYQUVDZnlBQUxBQUFJZ0lnQVN3QUFDSURSeUFDUlhJRWZ5QUNJUUVnQXdVRGZ5QUFRUUZxSWdBc0FBQWlBaUFCUVFGcUlnRXNBQUFpQTBjZ0FrVnlCSDhnQWlFQklBTUZEQUVMQ3dzaEFDQUJRZjhCY1NBQVFmOEJjV3NMS0FFQ2Z5QUFJUUVEUUNBQlFRUnFJUUlnQVNnQ0FBUkFJQUloQVF3QkN3c2dBU0FBYTBFQ2RRdklBd0VIZnlBQUtBSUVJUVVnQWtId2srdmNBMHNFUUNBQUtBSUFJZ05CT0RZQ0ZDQURRUUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUZCQVVzRVFDQUFLQUlBSWdOQkR6WUNGQ0FESUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFKQkNDQUNRUWR4SWdOclFRQWdBeHRxSVFRQ1FBSkFJQVZCTkdvZ0FVRUNkR29pQ0NnQ0FDSUNCRUFEUUFKQUlBSW9BZ2dnQkU4RVFDQUNJUUFNQVFzZ0FpZ0NBQ0lEQkVBZ0F5RUNEQUlGSUFJaEF3d0VDd0FMQ3dWQkFDRUREQUVMREFFTElBUkI4SlByM0FNZ0JHc2lBaUFCUVFKMFFlQ0hBVUhvaHdFZ0EwVWlDUnRxS0FJQUlnRWdBU0FDU3hzaUFXb2lBa0VRYWlJR0VFUWlCd1IvSUFZaEFTQUhCUU4vSUFGQjVBQkpCRUFnQUNnQ0FDSUNRVGcyQWhRZ0FrRUNOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUVJQUZCQVhZaUFXb2lBa0VRYWlJR0VFUWlCMFVOQUNBR0lRRWdCd3NMSVFBZ0JTQUJJQVVvQWt4cU5nSk1JQUJCQURZQ0FDQUFRUUEyQWdRZ0FDQUNOZ0lJSUFrRVFDQUlJQUEyQWdBRklBTWdBRFlDQUFzTElBQWdCQ0FBS0FJRUlnRnFOZ0lFSUFBZ0FDZ0NDQ0FFYXpZQ0NDQUFRUkJxSUFGcUN5Z0JBbjhDZnlNR0lRTWpCa0VRYWlRR0lBQkJBMEcwaHdGQnZOQUNRU0FnQVJBSklBTUxKQVlMbHdVQkJIOGpCaUVFSXdaQkVHb2tCaUFCSUFNUThRT09FRU1pQmpZQ0FDQURRUUVnQm5TeWxSRFNBU0VESUFJZ0FDb0NIQ0FEbEJEd0F4QkRJZ1kyQWdBZ0JpQUFLQUlVUVg5cVJnUkFJQUVnQVNnQ0FFRUJhallDQUNBQ1FRQTJBZ0JCQUNFR0N3SkFBa0FnQVNnQ0FDSUZRUUJJQkVBZ0FVRUFOZ0lBUVFBaEJnd0JCU0FGSUFBb0FoQWlCVTRFUUNBQklBVkJmMm8yQWdBZ0FDZ0NGRUYvYWlFR0RBSUxDd3dCQ3lBQ0lBWTJBZ0FMSUFFb0FnQWlCVUYvVEFSQUlBUkJ3TWdEUVlXWkFoQTNRYWlaQWhBM1FlK2lBaEEzUVl3Q0VENUI5cUlDRURkQnJwb0NFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBSElBRVFRQ0FIRUQ4UUFBc2dCU0FBS0FJUVRnUkFJQVJCd01nRFFjYWFBaEEzUWFpWkFoQTNRZStpQWhBM1FZMENFRDVCOXFJQ0VEZEI4cG9DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmtGL1RBUkFJQVJCd01nRFFaMmJBaEEzUWFpWkFoQTNRZStpQWhBM1FZNENFRDVCOXFJQ0VEZEJ2NXNDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmlBQUtBSVVTQVJBSUFRa0JnVWdCRUhBeUFOQjFwc0NFRGRCcUprQ0VEZEI3NklDRURkQmp3SVFQa0gyb2dJUU4wR0puQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQkJBOElBSWdBQkJBSUFJUVB4QUFDd3NPQUNBQUlBRWdBa0VDZEJCTUdndXRBUUFnQUNBQUtnSUFJQUVxQWdBZ0FwU1NPQUlBSUFBZ0FDb0NCQ0FCS2dJRUlBS1VramdDQkNBQUlBQXFBZ2dnQVNvQ0NDQUNsSkk0QWdnZ0FDQUFLZ0lNSUFFcUFnd2dBcFNTT0FJTUlBQWdBQ29DRUNBQktnSVFJQUtVa2pnQ0VDQUFJQUFxQWhRZ0FTb0NGQ0FDbEpJNEFoUWdBQ0FBS2dJWUlBRXFBaGdnQXBTU09BSVlJQUFnQUNvQ0hDQUJLZ0ljSUFLVWtqZ0NIQ0FBSUFBcUFpQWdBU29DSUNBQ2xKSTRBaUFMVVFFQmYwR3czUU1vQWdBaUFTQUFRUU5xUVh4eGFpSUFRUUJJQkVCQnBNVURRVEEyQWdCQmZ3OExJQUFRSjBzRVFDQUFFQ1JGQkVCQnBNVURRVEEyQWdCQmZ3OExDMEd3M1FNZ0FEWUNBQ0FCQ3dzQUlBQzdFTjBKdGhCREN5b0JBWDhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUVILy8vLy9CeUFCSUFNUXFRRWFJQU1rQmdzT0FDQUFRZWlKQVNnQ0FCRC9CQXVHQVFJQ2Z3RitJQUNuSVFJZ0FFTC8vLy8vRDFZRVFBTkFJQUZCZjJvaUFTQUFJQUJDQ2hEMkFTSUVRZ3ArZmFkQi93RnhRVEJ5T2dBQUlBQkMvLy8vLzU4QlZnUkFJQVFoQUF3QkN3c2dCS2NoQWdzZ0FnUkFBMEFnQVVGL2FpSUJJQUlnQWtFS0VFZ2lBMEVLYkd0Qk1ISTZBQUFnQWtFS1R3UkFJQU1oQWd3QkN3c0xJQUVMR2dBZ0FDQUJFS29DSWdCQkFDQUFMUUFBSUFGQi93RnhSaHNMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFZQ0hBVUd1dHdKQkFpQUJFQWtnQXdza0Jnc05BQ0FBS0FJRUlBRW9BZ1JMQ3hBQUlBQWdBVFlDQUNBQUlBSTJBZ1FMRFFBZ0FDZ0NFQ0FCUVJSc2Fnc1FBQ0FBS0FJRUlBRWdBQ2dDQUd4cUN3Z0FJQUJCOUFCcUN3d0FJQUFnQVNBQUlBRktHd3MvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZi8vLy84RFN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQ2RCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRSjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVDZENBRWFqWUNEQXNHQUVFWUVBSUxDQUJCRFJBQ1FRQUxpd0VCQTM4akJpRURJd1pCRUdva0JpQUNRZS8vLy84RFN3UkFFQUFMSUFKQkFra0VRQ0FBSUFJNkFBc2dBQ0VFQlNBQ1FRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQWpZQ0JBc0xJQVFnQVNBQ0VLY0JJQU5CQURZQ0FDQUNRUUowSUFScUlBTVFiaUFESkFZTHVRRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTZBQUFnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQ2dzaEFTQURRUUZxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVEzUUlnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBQ0FDYWlJQUlBTVFYeUFFUVFBNkFBQWdBRUVCYWlBRUVGOGdBeVFHQzdnQkFRVi9JQUlvQWdBZ0FDZ0NBQ0lESWdacklnVkJBWFFpQkVFRUlBUWJRWDhnQlVILy8vLy9CMGtiSVFVZ0FTZ0NBQ0VISUFOQkFDQUFLQUlFUVpFQlJ5SUVHeUFGRU9nQklnTkZCRUFRQUFzZ0JBUkFJQUFnQXpZQ0FBVWdBQ2dDQUNFRUlBQWdBellDQUNBRUJFQWdCQ0FBS0FJRVFmOEJjVUdzQTJvUkFRQWdBQ2dDQUNFREN3c2dBRUdTQVRZQ0JDQUJJQWNnQm10QkFuVkJBblFnQTJvMkFnQWdBaUFBS0FJQUlBVkJBblpCQW5ScU5nSUFDNlFEQVFOL0FuOENRQ0FDSUFNb0FnQWlDa1lpQzBVTkFDQUFJQWtvQW1CR0lneEZCRUFnQ1NnQ1pDQUFSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUNBRlJpQUdLQUlFSUFZc0FBc2lCa0gvQVhFZ0JrRUFTQnRCQUVkeEJFQkJBQ0FJS0FJQUlnQWdCMnRCb0FGT0RRRWFJQVFvQWdBaEFTQUlJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBUkJBRFlDQUVFQURBRUxJQWxCNkFCcUlRZEJBQ0VGQTM4Z0JVRWFSZ1IvSUFjRklBVkJBV29oQmlBQUlBVkJBblFnQ1dvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUpheUlGUVFKMUlRQWdCVUhjQUVvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQlVIWUFFNEVRRUYvSUFzTkF4cEJmeUFLSUFKclFRTk9EUU1hUVg4Z0NrRi9haXdBQUVFd1J3MERHaUFFUVFBMkFnQWdBRUh3N3dCcUxBQUFJUUFnQXlBS1FRRnFOZ0lBSUFvZ0FEb0FBRUVBREFNTEN5QUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFJQVFnQkNnQ0FFRUJhallDQUVFQUN3c0xEUUFnQUNnQ0FCQTRJQUFRT0F1ckF3RURmd0ovQWtBZ0FpQURLQUlBSWdwR0lndEZEUUFnQ1MwQUdDQUFRZjhCY1VZaURFVUVRQ0FKTFFBWklBQkIvd0Z4UncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FFSC9BWEVnQlVIL0FYRkdJQVlvQWdRZ0Jpd0FDeUlHUWY4QmNTQUdRUUJJRzBFQVIzRUVRRUVBSUFnb0FnQWlBQ0FIYTBHZ0FVNE5BUm9nQkNnQ0FDRUJJQWdnQUVFRWFqWUNBQ0FBSUFFMkFnQWdCRUVBTmdJQVFRQU1BUXNnQ1VFYWFpRUhRUUFoQlFOL0lBVkJHa1lFZnlBSEJTQUZRUUZxSVFZZ0JTQUphaUlGTFFBQUlBQkIvd0Z4UmdSL0lBVUZJQVloQlF3Q0N3c0xJQWxySWdCQkYwb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0FFRVdUZ1JBUVg4Z0N3MERHa0YvSUFvZ0FtdEJBMDROQXhwQmZ5QUtRWDlxTEFBQVFUQkhEUU1hSUFSQkFEWUNBQ0FBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBUVFBTUF3c0xJQUJCOE84QWFpd0FBQ0VBSUFNZ0NrRUJhallDQUNBS0lBQTZBQUFnQkNBRUtBSUFRUUZxTmdJQVFRQUxDd3VvRlFFSmZ5TUdJUUlqQmtFUWFpUUdJQUlpQlVFRWFpRURJQUpCQ0dvaUJpQUFOZ0lBSUFCQjFBRkpCRUJCOE93QVFiRHVBQ0FHRU5jRUtBSUFJUUFGQWtBZ0F5QUFJQUJCMGdFUVNDSUlRZElCYkNJQ2F6WUNBRUVBSVFCQnNPNEFRZkR2QUNBREVOY0VRYkR1QUd0QkFuVWhCd0pBQTBBQ1FDQUNJQWRCQW5SQnNPNEFhaWdDQUdvaEEwRUZJUUlDUUFKQUEwQWdBa0V2VHcwQklBTWdBa0VDZEVIdzdBQnFLQUlBSWdFUVNDSUVJQUZKRFFNZ0FrRUJhaUVDSUFFZ0JHd2dBMGNOQUFzTUFRdEIwd0VoQWdOQUFrQWdBeUFDRUVnaUFTQUNTUVIvSUFNaEFFRUJCU0FESUFFZ0FteEdCSDlCQ1FVZ0F5QUNRUXBxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VNYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCRUdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVWdBeUFDUVJKcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFV2FpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkhHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVDZnlBRElBSkJIbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFa2FpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRU2hxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQkttb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0V1YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FUUnFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCT21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRThhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWM0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZElBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVvQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZXdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZjRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWW9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWllCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fad0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYVlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWF3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYklCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYjRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjQUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkQUJhaUlCRUVnaUNTQUJTU0VFSUFFZ0FrSFNBV29nQkNBRElBRWdDV3hHSWdGeUd5RUNJQU1nQUNBRUd5RUFRUUZCQ1VFQUlBRWJJQVFiQ3dzTEN3c0xDd3NMQ3dzTEN3c0xJZ0ZCRDNFT0NnRUFBQUFBQUFBQUFBSUFDd3NnQVEwREN5QUlJQWRCQVdvaUEwRXdSaUlCYWlJQ0lRZ2dBa0hTQVd3aEFrRUFJQU1nQVJzaEJ3d0JDd3NnQmlBRE5nSUFJQU1oQUF3QkN5QUdJQU0yQWdBTEN5QUZKQVlnQUF1UUFnSUNmd1I5SUFDOElnRkJBRWdoQWlBQlFZQ0FnQVJKSUFKeUJFQUNRQ0FCUWYvLy8vOEhjVVVFUUVNQUFJQy9JQUFnQUpTVkR3c2dBa1VFUUVIb2ZpRUNJQUJEQUFBQVRKUzhJUUVNQVFzZ0FDQUFrME1BQUFBQWxROExCU0FCUWYvLy8vc0hTd1JBSUFBUEN5QUJRWUNBZ1B3RFJnUi9Rd0FBQUFBUEJVR0Jmd3NoQWdzZ0FVR045cXNDYWlJQlFmLy8vd054UWZPSjFQa0RhcjVEQUFDQXY1SWlBeUFEUXdBQUFFQ1NsU0lGSUFXVUlnWWdCcFFoQkNBQ0lBRkJGM1pxc2lJQVE0QnhNVCtVSUFNZ0FFUFI5eGMzbENBRklBTWdBME1BQUFBL2xKUWlBQ0FHSUFSRDd1bVJQcFJEcXFvcVA1S1VJQVFnQkVNbW5uZytsRU1UenN3K2twU1NrcFNTSUFDVGtwSUxsQUVCQkh3Z0FDQUFvaUlDSUFLaUlRTkVBQUFBQUFBQThEOGdBa1FBQUFBQUFBRGdQNklpQktFaUJVUUFBQUFBQUFEd1B5QUZvU0FFb1NBQ0lBSWdBaUFDUkpBVnl4bWdBZm8rb2tSM1VjRVdiTUZXdjZDaVJFeFZWVlZWVmFVL29LSWdBeUFEb2lBQ1JNU3h0TDJlN2lFK0lBSkUxRGlJdnVuNnFEMmlvYUpFclZLY2dFOStrcjZnb3FDaUlBQWdBYUtob0tBTGxRRUJBM3dnQUNBQW9pSURJQU1nQTZLaUlBTkVmTlhQV2pyWjVUMmlST3VjSzRybTVWcStvS0lnQXlBRFJIMytzVmZqSGNjK29rVFZZY0Vab0FFcXY2Q2lSS2I0RUJFUkVZRS9vS0FoQlNBRElBQ2lJUVFnQUNBRVJFbFZWVlZWVmNVL29pQURJQUZFQUFBQUFBQUE0RCtpSUFRZ0JhS2hvaUFCb2FDaElBUWdBeUFGb2tSSlZWVlZWVlhGdjZDaUlBQ2dJQUliQ3dzQUlBQWdBU0FDRVBrRUN4b0FJQUFvQWdBZ0FDZ0NCQ0lBSUFBUStBUkZRUjkwUVI5MUM0Z0RBUVovSXdZaEJ5TUdRUkJxSkFZZ0EwRzB4UU1nQXhzaUJTZ0NBQ0VEQW44Q1FDQUJCSDhDZnlBQUlBY2dBQnNoQmlBQ0JFQUNRQUpBSUFNRVFDQURJUUFnQWlFRERBRUZJQUVzQUFBaUFFRi9TZ1JBSUFZZ0FFSC9BWEUyQWdBZ0FFRUFSd3dGQ3lBQkxBQUFJUUJCNklrQktBSUFLQUlBUlFSQUlBWWdBRUgvdndOeE5nSUFRUUVNQlFzZ0FFSC9BWEZCdm41cUlnQkJNa3NOQmlBQlFRRnFJUUVnQUVFQ2RFSFFOR29vQWdBaEFDQUNRWDlxSWdNTkFRc01BUXNnQVMwQUFDSUlRUU4ySWdSQmNHb2dCQ0FBUVJwMWFuSkJCMHNOQkNBRFFYOXFJUVFnQ0VHQWYyb2dBRUVHZEhJaUFFRUFTQVJBSUFFaEF5QUVJUUVEUUNBQlJRMENJQU5CQVdvaUF5d0FBQ0lFUWNBQmNVR0FBVWNOQmlBQlFYOXFJUUVnQkVIL0FYRkJnSDlxSUFCQkJuUnlJZ0JCQUVnTkFBc0ZJQVFoQVFzZ0JVRUFOZ0lBSUFZZ0FEWUNBQ0FDSUFGckRBSUxJQVVnQURZQ0FBdEJmZ3NGSUFNTkFVRUFDd3dCQ3lBRlFRQTJBZ0JCcE1VRFFSazJBZ0JCZndzaENTQUhKQVlnQ1F2SUN3RUlmeUFBS0FJWUlnUW9BZ0FoQmlBRUtBSUVJUVVnQUNBQk5nTGNBU0FBSUFJMkF1QUJJQUFnQXpZQzVBRUNRQ0FGQkg4Z0JnVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VGSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFZZ0JVRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFvZ0FrRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFBMkF0UUJJQUpCZjJvaUFnUi9JQU1GSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEFpQUVLQUlBQ3lJQlFRRnFJUU1nQUNBQkxRQUFRUWgwSWdVMkFpQWdBa0YvYWlJQ0JFQWdBeUVCSUFVaEF3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFBb0FpQWhBeUFFS0FJQUlRRUxJQUZCQVdvaEJTQUFJQUV0QUFBZ0EybzJBaUFnQWtGL2FpSUNCSDhnQlFVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUJCQ0hRaUJUWUNIQ0FDUVg5cUlnSUVRQ0FESVFFZ0JTRURCU0FFS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFJZ0FDZ0NIQ0VESUFRb0FnQWhBUXNnQVVFQmFpRUZJQUFnQVMwQUFDQURhallDSENBQ1FYOXFJZ0VFUUNBRklRSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ0FoQWlBRUtBSUVJUUVMSUFBZ0FpMEFBRFlDSkNBQUtBSUFJZ01nQUNnQ3VBTTJBaGdnQXlBQUtBSWNOZ0ljSUFNZ0FDZ0NJRFlDSUNBRElBQW9BaVEyQWlRZ0EwSG1BRFlDRkNBREtBSUVJUU1nQUVFQklBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBREtBSVFCRUFnQUNnQ0FDSURRVDAyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDeUFLUWY4QmNTQUdRZjhCY1VFSWRISkJlR29oQlFKQUFrQWdBQ2dDSUVVTkFDQUFLQUljUlEwQUlBQW9BaVFpQTBFQlNBMEFEQUVMSUFBb0FnQWlBMEVoTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQ0FBS0FJa0lRTUxJQU5CQTJ3Z0JVY0VRQ0FBS0FJQUlnTkJERFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUFvQXRnQlJRUkFJQUFvQWdRb0FnQWhBeUFBSUFCQkFTQUFLQUlrUWRnQWJDQURRVDl4UWNvQmFoRUVBRFlDMkFFTElBRkJmMm9oQVNBQ1FRRnFJUUlnQUNnQ0pFRUFTZ1JBQWtCQkFDRUZBMEFDUUNBQkJIOGdBU0VJSUFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhDQ0FFS0FJQUN5SUhMUUFBSVFJZ0FDZ0MyQUVoQXlBRkJFQUNRQ0FESVFGQkFDRUdBMEFnQVNnQ0FDQUNSd1JBSUFGQjJBQnFJUUVnQmtFQmFpSUdJQVZKRFFFTUFnc0xJQU1vQWdBaEFTQURRZGdBYWlFQ0lBVkJBVXNFZjBFQklRWURRQ0FDS0FJQUlna2dBU0FKSUFGS0d5RUJJQUpCMkFCcUlRSWdCa0VCYWlJR0lBVkhEUUFMSUFWQjJBQnNJQU5xQlNBQ0N5RUxJQUZCQVdvaEFpQUxJUUVMQlNBRElRRUxJQWRCQVdvaEJpQUJJQUkyQWdBZ0FTQUZOZ0lFSUFoQmYyb2lBd1IvSUFZRklBUW9BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUN5SUNRUUZxSVFZZ0FTQUNMUUFBSWdKQkJIWTJBZ2dnQVNJSElBSkJEM0UyQWd3Z0FTQURRWDlxSWdNRWZ5QUdCU0FFS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFNZ0JDZ0NBQXNpQWkwQUFEWUNFQ0FBS0FJQUlnWWdCeWdDQURZQ0dDQUdJQUVvQWdnMkFod2dCaUFIS0FJTU5nSWdJQVlnQnlnQ0VEWUNKQ0FHUWVjQU5nSVVJQVlvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0EwRi9haUVCSUFKQkFXb2hBaUFGUVFGcUlnVWdBQ2dDSkVnTkFRd0NDd3NNQWdzTElBQW9BdEFEUVFFMkFoQWdCQ0FDTmdJQUlBUWdBVFlDQkVFQkR3dEJBQXMwQVFGL0lBQW9BZ1FnQVNnQ0NCQ0xBU0lDQkVBZ0FpQUFJQUVRclFKQkFFZ0VRQ0FDRUVsQkFDRUNDd1ZCQUNFQ0N5QUNDeVFBSUFVRWZTQUFJQUVnQWlBRElBUWdCaERLQmdVZ0FDQUJJQUlnQXlBRUVNc0dDd3YzQmdNSGZ3VjlBM3dqQmlFSUl3WkI0QUZxSkFZZ0NFSElBV29oQnlBSVFkUUJhaUlKSUFSQkJIUVFSQ0lOTmdJQUlBMUZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDeUFJUWRBQmFpRUhJQWtnQkVFWWJCQkVJZ3cyQWdRZ0RFVUVRRUVBUVFOQnVkZ0NJQWNRUFVFQkVBRUxJQWhCNEFCcUlRb2dDRUhBQVdvaEMwRUFJUWNEUUNBSElBUklCRUFnRUNBSFFReHNJQU5xS2dJQWtpRVFJQThnQjBFTWJDQURhaW9DQkpJaER5QU9JQWRCREd3Z0Eyb3FBZ2lTSVE0Z0IwRUJhaUVIREFFTEN5QVFJQVN5SWhHVklSQWdEeUFSbFNFUElBNGdFWlVoRGtFQUlRY0RRQ0FISUFSSUJFQWdCMEVFZENBTmFpQUhRUU4wSUFKcUtnSUF1emtEQUNBSFFRUjBJQTFxSUFkQkEzUWdBbW9xQWdTN09RTUlJQWRCR0d3Z0RHb2dCMEVNYkNBRGFpb0NBQ0FRazdzNUF3QWdCMEVZYkNBTWFpQUhRUXhzSUFOcUtnSUVJQStUdXprRENDQUhRUmhzSUF4cUlBZEJER3dnQTJvcUFnZ2dEcE83T1FNUUlBZEJBV29oQnd3QkN3c2dDU0FFTmdJSVFRQWhBZ05BSUFKQkEwY0VRRUVBSVFNRFFDQURRUU5IQkVBZ0FrRUZkQ0FLYWlBRFFRTjBhaUFDUVFSMElBRnFJQU5CQW5ScUtnSUF1emtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dDaUFCS2dJTUlCQWdBU29DQUpRZ0R5QUJLZ0lFbEpJZ0RpQUJLZ0lJbEpLU3V6a0RHQ0FLSUFFcUFod2dFQ0FCS2dJUWxDQVBJQUVxQWhTVWtpQU9JQUVxQWhpVWtwSzdPUU00SUFvZ0FTb0NMQ0FRSUFFcUFpQ1VJQThnQVNvQ0pKU1NJQTRnQVNvQ0tKU1NrcnM1QTFnZ0JnUkFJQUFnQ1NBS0lBZ2dDeENkQkVFQVNBUkFJQXRFQUFBQUFJVFhsMEU1QXdBTEJTQUFJQWtnQ2lBSUlBc1E2Z0ZCQUVnRVFDQUxSQUFBQUFDRTE1ZEJPUU1BQ3dzZ0NTZ0NBQkE0SUFrb0FnUVFPRUVBSVFBRFFDQUFRUU5IQkVCQkFDRUJBMEFnQVVFRFJ3UkFJQUJCQkhRZ0JXb2dBVUVDZEdvZ0FFRUZkQ0FJYWlBQlFRTjBhaXNEQUxZNEFnQWdBVUVCYWlFQkRBRUxDeUFBUVFGcUlRQU1BUXNMSUFVZ0NDc0RHQ0FJS3dNQUlCQzdJaE9pb1NBSUt3TUlJQSs3SWhTaW9TQUlLd01RSUE2N0loV2lvYlk0QWd3Z0JTQUlLd000SUFnckF5QWdFNktoSUFnckF5Z2dGS0toSUFnckF6QWdGYUtodGpnQ0hDQUZJQWdyQTFnZ0NFRkFheXNEQUNBVG9xRWdDQ3NEU0NBVW9xRWdDQ3NEVUNBVm9xRzJPQUlzSUFzckF3QzJJUklnQ0NRR0lCSUxKd0VDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVFUWZBWFFidlVBa0VHSUFFUUNTQURDeVFHQ3dvQUlBQkJHR29RbFFFTEZRQWdBRU1BQUlBL0lBRWdBVU1BQUFBQVd4dVZDeUlBSUFBZ0FTb0NBQ0FDS2dJQWt6Z0NBQ0FBSUFFcUFnUWdBaW9DQkpNNEFnUUx5UUlCQkg4akJpRURJd1pCRUdva0JpQUJLQUlBUVFKSEJFQWdBMEhBeUFOQjhPUUJFRGRCbWVBQkVEZEI3NklDRURkQjVRSVFQa0gyb2dJUU4wR2Y1UUVRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQXhBOElBUWdCUkJBSUFRUVB4QUFDd0pBQWtBQ1FBSkFBa0FnQWlnQ0FBNERBZ0FCQXdzZ0FTZ0NHQ0FBS0FJZ0lBSW9BaGdnQWlnQ0JDQUNLQUlJRU5ZSURBTUxJQUVvQWhnZ0FDZ0NMQ0FDS0FJWUlBSW9BZ1FnQWlnQ0NCRFZDQXdDQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkJ3K1VCUWNQbEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXdCQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkIxdVVCUWRibEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXNnQXlRR0MwQUJBWDBnQUVFQklBUjBzaUlGSUFLVVJBQUFBQUFBQVBBL0lBUkJmMm9RbndGRUFBQUFBQUFBNEwrZ3RpSUNramdDQUNBQklBVWdBNVFnQXBJNEFnQUx4QUVCQlg4akJpRURJd1pCSUdva0JrSEg0L0U0SUFBb0FnUWdBQ2dDQUd0QkpCQTVRUUZxSWdKSkJFQVFBQVVnQXlBQ0lBQW9BZ2dnQUNnQ0FDSUVhMEVrRURraUJVRUJkQ0lHSUFZZ0Fra2JRY2ZqOFRnZ0JVSGo4YmdjU1JzZ0FDZ0NCQ0FFYTBFa0VEa2dBRUVJYWhEUUFpQURLQUlJSWdJZ0FTa0NBRGNDQUNBQ0lBRXBBZ2czQWdnZ0FpQUJLUUlRTndJUUlBSWdBU2tDR0RjQ0dDQUNJQUVvQWlBMkFpQWdBeUFDUVNScU5nSUlJQUFnQXhEUEFpQURFTTRDSUFNa0Jnc0xHZ0JEQUFBQUFDQUJJQUFnQUNBQlhoc2dBRU1BQUFBQVhSc0xsd0VCQkg4Z0FVRUVhaUlES0FJQVFRQWdBQ2dDQkNBQUtBSUFJZ1JySWdWQkFuVnJRUUowYWlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUw0QUVDQW44QmZTTUdJUVlqQmtFd2FpUUdJQUFFZnlBQVFRaHFJQUVnQmhENkFTQUFRYmdCYWlBR0tnSU1JQVlxQWdBZ0FwUWdCaW9DQkNBRGxKS1NJQVlxQWl3Z0Jpb0NJQ0FDbENBR0tnSWtJQU9Va3BJaUNKVWdCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBSWxTQUVJQVVRYlVFZmRRVWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFSUlBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDQ0FDbFRnQ0FFRUFDeUVISUFZa0JpQUhDelFCQW44RFFBSkFJQUFnQVJDV0F5SUNSUVJBUVFBaEFnd0JDeUFBTEFBQVFRcHJJZ05CQUNBRFFSbEhHMFVOQVFzTElBSUxYUUVCZnlBQklBQklJQUFnQVNBQ2FraHhCRUFnQVNBQ2FpRUJJQUFpQXlBQ2FpRUFBMEFnQWtFQVNnUkFJQUpCQVdzaEFpQUFRUUZySWdBZ0FVRUJheUlCTEFBQU9nQUFEQUVMQ3lBRElRQUZJQUFnQVNBQ0VFd2FDeUFBQzRNQkFRSi9JQUJGQkVBZ0FSQkVEd3NnQVVHL2Ywc0VRRUdreFFOQk1EWUNBRUVBRHdzZ0FFRjRha0VRSUFGQkMycEJlSEVnQVVFTFNSc1E0QWtpQWdSQUlBSkJDR29QQ3lBQkVFUWlBa1VFUUVFQUR3c2dBaUFBSUFCQmZHb29BZ0FpQTBGNGNVRUVRUWdnQTBFRGNSdHJJZ01nQVNBRElBRkpHeEJNR2lBQUVEZ2dBZ3RaQVFKL0EwQWdBQ0FCRUpZREJFQWdBQkJnSVFJRFFBSkFJQUpGRFFBQ1FDQUFJQUpCZjJvaUFtb2lBeXdBQUVFS2F3NEVBQUVCQUFFTElBTkJBRG9BQUF3QkN3c2dBQ3dBQUNJQ1FRQWdBa0VqUnh0RkRRRUxDd3ZtQkFJSWZ3UjhJd1loQ0NNR1FiQUJhaVFHSUFoQnFBRnFJUVVnQ0VHZ0FXb2hCaUFJUVpBQmFpRUtJQWhCTUdvaEN5QUJLQUlJSWdkQkEwZ0VmMEYvQlFKL0lBZEI0QUJzRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQVlRUFVGL0RBRUxJQWRCQkhRUVJDSUhSUVJBUVFCQkEwSEsyQUlnQlJBOUlBa1FPRUYvREFFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0JVRUZkQ0FEYWlBR1FRTjBhaUFGUVFWMElBSnFJQVpCQTNScUt3TUFPUU1BSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEMwRUFJUVlDUUFKQUFrQURRQUpBSUFBZ0F5QUxFTE1DUkFBQUFBQUFBQUFBSVExQkFDRUZBMEFnQlNBQktBSUlJZ0pJQkVBZ0NpQUxJQUVvQWdRZ0JVRVliR29RdXdSQkFFZ05BaUFCS0FJQUlnSWdCVUVFZEdvckF3QWdDaXNEQUtFaERpQUZRUVIwSUFKcUt3TUlJQW9yQXdpaElROGdCVUVCZENJQ1FRTjBJQWRxSUE0NUF3QWdBa0VCY2tFRGRDQUhhaUFQT1FNQUlBMGdEaUFPb2lBUElBK2lvS0FoRFNBRlFRRnFJUVVNQVFzTElBMGdBcmVqSWcwZ0FDc0RhR01OQkNBR0JFQWdEU0FBS3dONFl3UkFJQTBnRUtNZ0FDc0RjR1FOQmdzTElBWWdBQ2dDWUVZTkJFRUFJUVVEUUNBRklBSklCRUFnQlVFTWJFRURkQ0FKYWlBQUlBTWdBU2dDQkNBRlFSaHNhaEM1QkVFQVNBMEVJQVZCQVdvaEJTQUJLQUlJSVFJTUFRc0xJQWdnQnlBSklBSkJBWFFRc3dSQkFFZ05BeUFESUFnUXNnUWdEU0VRSUFaQkFXb2hCZ3dCQ3dzZ0NTQUhFT0FDUVg4TUF3c2dDU0FIRU9BQ1FYOE1BZ3NnQ1NBSEVPQUNRWDhNQVFzZ0JDQU5PUU1BSUFrUU9DQUhFRGhCQUFzTElRd2dDQ1FHSUF3TFhBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FSQTdJQU5CcU00REVEb2lBU2dDQUNnQ0VDRUVJQUlnQVNBRVFmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQU1RUENBREpBWUxDUUFnQUNBQkVJb0xDMXdCQW44akJpRURJd1pCRUdva0JpQURJQUVRT3lBRFFaRE9BeEE2SWdFb0FnQW9BaEFoQkNBQ0lBRWdCRUgvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBREVEd2dBeVFHQ3hBQUlBQWdBU0FBS0FJWVJYSTJBaEFMZXdFQmZ5QUFRWDlHQkVCQmZ5RUFCUUpBSUFFb0FreEJmMG9FZjBFQkJVRUFDeG9DUUFKQUlBRW9BZ1FpQWcwQUlBRVFwd0lhSUFFb0FnUWlBZzBBREFFTElBSWdBU2dDTEVGNGFrc0VRQ0FCSUFKQmYyb2lBallDQkNBQ0lBQTZBQUFnQVNBQktBSUFRVzl4TmdJQURBSUxDMEYvSVFBTEN5QUFDMVFCQW44Z0FVRWZTd1IvSUFBZ0FDZ0NBQ0lDTmdJRUlBQkJBRFlDQUNBQlFXQnFJUUZCQUFVZ0FDZ0NCQ0VDSUFBb0FnQUxJUU1nQUNBQ0lBRjBJQU5CSUNBQmEzWnlOZ0lFSUFBZ0F5QUJkRFlDQUF1WEF3RUZmeU1HSVFnakJrSHdBV29rQmlBSVFlZ0JhaUlKSUFNb0FnQWlCellDQUNBSklBTW9BZ1FpQXpZQ0JDQUlJQUEyQWdBQ1FBSkFJQU1nQjBFQlIzSUVRRUVBSUFGcklRc2dBQ0FFUVFKMElBWnFLQUlBYXlJS0lBQWdBa0UvY1VHS0FXb1JBZ0JCQVVnRVFFRUJJUU1GUVFFaEJ5QUZSU0VGSUFBaEF5QUtJUUFEZnlBRklBUkJBVXB4QkVBZ0JFRitha0VDZENBR2FpZ0NBQ0VLSUFNZ0Myb2lCU0FBSUFKQlAzRkJpZ0ZxRVFJQVFYOUtCRUFnQnlFRklBTWhBQXdGQ3lBRklBcHJJQUFnQWtFL2NVR0tBV29SQWdCQmYwb0VRQ0FISVFVZ0F5RUFEQVVMQ3lBSFFRRnFJUVVnQjBFQ2RDQUlhaUFBTmdJQUlBa2dDUkNCQXlJREVQSUJJQU1nQkdvaEJDQUpLQUlBUVFGSElBa29BZ1JCQUVkeVJRMERJQUFnQkVFQ2RDQUdhaWdDQUdzaUNpQUlLQUlBSUFKQlAzRkJpZ0ZxRVFJQVFRRklCSDhnQlNFRFFRQUZJQUFoQXlBRklRZEJBU0VGSUFvaEFBd0JDd3NoQlFzRlFRRWhBd3NnQlVVRVFDQURJUVVNQVFzTUFRc2dBU0FJSUFVUS93SWdBQ0FCSUFJZ0JDQUdFS0lDQ3lBSUpBWUxWQUVDZnlBQlFSOUxCSDhnQUNBQUtBSUVJZ0kyQWdBZ0FFRUFOZ0lFSUFGQllHb2hBVUVBQlNBQUtBSUFJUUlnQUNnQ0JBc2hBeUFBSUFOQklDQUJhM1FnQWlBQmRuSTJBZ0FnQUNBRElBRjJOZ0lFQzE0QkFYOENmeUFBS0FKTVFRQk9CRUFnQUNnQ0JDSUJJQUFvQWdoSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVE5UUVMREFFTElBQW9BZ1FpQVNBQUtBSUlTUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRVBVQkN3c0xFZ0FnQUNnQ1RCb2dBQ0FCckNBQ0VJa0RDMGtCQTM4akJpRUJJd1pCRUdva0JpQUFFS2NDQkg5QmZ3VWdBQ2dDSUNFQ0lBQWdBVUVCSUFKQlAzRkJ5Z0ZxRVFRQVFRRkdCSDhnQVMwQUFBVkJmd3NMSVFNZ0FTUUdJQU1MRUFBZ0FWQUVma0lBQlNBQUlBR0FDd3RlQVFGL0lBUkJBRXdFUUE4TElBRkJBblFnQUdvaEFDQURRUUowSUFKcUlRRURRQ0FBUVFScUlRSWdBVUVFYWlFRElBRW9BZ0FnQUNnQ0FDQUZFRXdhSUFSQmYyb2hCaUFFUVFGS0JFQWdBaUVBSUFNaEFTQUdJUVFNQVFzTEN4TUFJQUVnQUVGL2Ftb2lBQ0FBSUFFUVQyc0x2QzBCQ1g4akJpRUtJd1pCb0FwcUpBWWdBa0VEU3dSQUlBQW9BZ0FpQlVFME5nSVVJQVVnQWpZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFKQkFuUnFJQUJCeEFGcUlBSkJBblJxSUFGQkFFY2lEQnNvQWdBaUJrVUVRQ0FBS0FJQUlnRkJORFlDRkNBQklBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFES0FJQUlnUkZCRUFnQUNnQ0JDZ0NBQ0VCSUFNZ0FFRUJRWkFMSUFGQlAzRkJ5Z0ZxRVFRQUlnUTJBZ0FMSUFBaEN5QUtRWkFJYWlFSklBUWdCallDakFFZ0Jpd0FBU0lDUWY4QmNTRUJJQUlFUUNBSlFRRWdBUkJGR2dWQkFDRUJDeUFCSUFZc0FBSWlBMEgvQVhFaUJXb2lBa0dBQWtzRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRSWdCUkJGR2lBQ0lRRUxJQUVnQml3QUF5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkF5QUZFRVVhSUFJaEFRc2dBU0FHTEFBRUlnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFRUlBVVFSUm9nQWlFQkN5QUJJQVlzQUFVaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFVZ0JSQkZHaUFDSVFFTElBRWdCaXdBQmlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQmlBRkVFVWFJQUloQVFzZ0FTQUdMQUFISWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VISUFVUVJSb2dBaUVCQ3lBQklBWXNBQWdpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUWdnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FDU0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJDU0FGRUVVYUlBSWhBUXNnQVNBR0xBQUtJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUtJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBc2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRc2dCUkJGR2lBQ0lRRUxJQUVnQml3QURDSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkRDQUZFRVVhSUFJaEFRc2dBU0FHTEFBTklnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFTklBVVFSUm9nQWlFQkN5QUJJQVlzQUE0aUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVE0Z0JSQkZHaUFDSVFFTElBRWdCaXdBRHlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRHlBRkVFVWFJQUloQVFzZ0FTQUdMQUFRSWdKQi93RnhJZ05xSWdoQmdBSktCRUFnQUNnQ0FDSUZRUWsyQWhRZ0JTZ0NBQ0VGSUFzZ0JVSC9BWEZCckFOcUVRRUFDeUFDQkVBZ0FTQUpha0VRSUFNUVJSb0ZJQUVoQ0FzZ0NDQUpha0VBT2dBQUlBa3NBQUFpQlFSQVFRQWhBVUVBSVFJZ0JTRURBMEFnQlNBRFFSaDBRUmgxUmdSQUEwQWdBa0VDZENBS2FpQUJOZ0lBSUFGQkFXb2hBU0FGSUFrZ0FrRUJhaUlDYWl3QUFDSURSZzBBQ3dzZ0FVRUJJQVYwVGdSQUlBQW9BZ0FpQjBFSk5nSVVJQWNvQWdBaEJ5QUxJQWRCL3dGeFFhd0RhaEVCQUFzZ0FVRUJkQ0VCSUFWQkFXb2hCU0FEUWY4QmNRMEFDd3NnQkNBR0xBQUJCSDhnQkVFQUlBb29BZ0JyTmdKTUlBWXRBQUVpQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVFBaEFVRi9DellDQkNBRUlBWXNBQUlFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWxBZ0FTQUdMUUFDYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBZ2dnQkNBR0xBQURCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pVSUFFZ0JpMEFBMm9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSU1JQVFnQml3QUJBUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNXQ0FCSUFZdEFBUnFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0VDQUVJQVlzQUFVRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsd2dBU0FHTFFBRmFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWhRZ0JDQUdMQUFHQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKZ0lBRWdCaTBBQm1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lZSUFRZ0Jpd0FCd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDWkNBQklBWXRBQWRxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNIQ0FFSUFZc0FBZ0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbWdnQVNBR0xRQUlhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpQWdCQ0FHTEFBSkJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSnNJQUVnQmkwQUNXb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJa0lBUWdCaXdBQ2dSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2NDQUJJQVl0QUFwcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDS0NBRUlBWXNBQXNFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW5RZ0FTQUdMUUFMYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaXdnQkNBR0xBQU1CSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0o0SUFFZ0JpMEFER29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSXdJQVFnQml3QURRUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNmQ0FCSUFZdEFBMXFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ05DQUVJQVlzQUE0RWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFvQUJJQUVnQmkwQURtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJNElBUWdCaXdBRHdSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2hBRWdBU0FHTFFBUGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWp3Z0JFRkFheUFHTEFBUUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nS0lBU0FCSUFZdEFCQnFRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNBQ0FFUWYvL1B6WUNSQ0FFUVpBQmFrRUFRWUFJRUVVYUlBWXNBQUVFUUVFQklRTkJBQ0VCQTBBZ0FTQUdRUkZxYWlFSFFZQUJJUVVnQVVFQ2RDQUthaWdDQUVFSGRDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFUWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFGSkJFQWdBaUVEREFFTEN3VkJBQ0VCQ3lBR0xBQUNCRUJCQVNFREEwQWdBU0FHUVJGcWFpRUhRY0FBSVFVZ0FVRUNkQ0FLYWlnQ0FFRUdkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBallDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBSkpCRUFnQWlFRERBRUxDd3NnQml3QUF3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJYUWlDVUVDZEdwQkF6WUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVJYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUthaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVMYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU5haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVPYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFUGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRWZjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFOSkJFQWdBeUVDREFFTEN3c2dCaXdBQkFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQkhRaUNVRUNkR3BCQkRZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBUkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJRUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkEzUWlCVUVDZEdwQkJUWUNBQ0FGSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0JVRUJjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVDYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhjaUlGUVFKMGFrRUZOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFWSkJFQWdBeUVDREFFTEN3c2dCaXdBQmdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQW5RaUEwRUNkR3BCQmpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dBMEVEY2lJRFFRSjBha0VHTmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBWkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJ3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFYUWlBMEVDZEdwQkJ6WUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlEUVFKMGFrRUhOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFkSkJFQWdBeUVDREFFTEN3c2dCaXdBQ0FSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0FpQTBFQ2RHcEJDRFlDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxTEFBQU9nQUFJQUpCQVdvaEF5QUJRUUZxSVFFZ0FpQUdMUUFJU1FSQUlBTWhBZ3dCQ3dzTElBd2dDRUVBU25GRkJFQWdDaVFHRHd0QkFDRUJBMEFnQVNBR1FSRnFhaTBBQUVFUFNnUkFJQUFvQWdBaUFrRUpOZ0lVSUFJb0FnQWhBaUFMSUFKQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlJQklBaEhEUUFMSUFva0JndThBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQURRUUowSUFGcUtnSUFJQVVyQXdDMmxDQUJRUkJxSUFOQkFuUnFLZ0lBSUFZckF3aTJsSklnQVVFZ2FpQURRUUowYWlvQ0FDQUhLd01RdHBTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFNcUFnd2dCRUVGZENBQWFpc0RHTGFTT0FJTUlBUkJBV29oQkF3QkN3c0wrbGNERG44RGZRbDhJd1loRFNNR1FZQUNhaVFHSUExQjBBQnFJUklnRFVHUUFXb2lEMFFBQUFBQUFBQlpRRGtEQUNBUFJBQUFBQUFBQUZsQU9RTUlJQTlFQUFBQUFBQ0FXMEE1QXhBZ0QwUUFBQUFBQUFCWlFEa0RHQ0FQUkFBQUFBQUFnRnRBT1FNZ0lBOUVBQUFBQUFDQVcwQTVBeWdnRDBRQUFBQUFBQUJaUURrRE1DQVBSQUFBQUFBQWdGdEFPUU00QTBBZ0VFRUVSd1JBSUJCQkJIUWdFbW9nRUVFRWRDQUphaXNEQURrREFDQVFRUVIwSUJKcUlCQkJCSFFnQ1dvckF3ZzVBd2dnRUVFQmFpRVFEQUVMQ3lBUElCSWdEUkNKQnlBU0t3TUFJaDBnRWlzREVDSWVvU0lmSUIraUlCSXJBd2dpSHlBU0t3TVlJaUNoSWlFZ0lhS2dFSE1oQ1NBU0t3TWdJaUVnRWlzRE1DSWlvU0lqSUNPaUlCSXJBeWdpSXlBU0t3TTRJaVNoSWlVZ0phS2dFSE1oRWlBZUlDR2hJaDRnSHFJZ0lDQWpvU0llSUI2aW9CQnpJUThnSWlBZG9TSWRJQjJpSUNRZ0g2RWlIU0Fkb3FBUWN5RVFJQklnQ1NBU0lBbEtHN2NnQ3FJZ0NxSVFjeUVWSUJBZ0R5QVFJQTlLRzdjZ0NxSWdDcUlRY3lFUUlBQUVRQ0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpRUUowYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRWtFQ2RHd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xCU0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFbXdnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQ3lBTlFlZ0JhaUVNSUExQjRBRnFJUTRnRFVIWUFXb2hFeUFOUWRBQmFpRVJJQTFCOEFGcUlSQWdEVUhzQVdvaER5QURJQWtnQ1NBRFNoc2lDU0FDRURraEZTQURJQklnRWlBRFNoc2lBeUFDRURraEVrUUFBQUFBQUFEd1B5QUtvVVFBQUFBQUFBRGdQNkpFQUFBQUFBQUFKRUNpSVIwZ0NrUUFBQUFBQUFBa1FLSWhDaUFDSUFKc0lSUUNmd0pBSUFFRVFDQVVRUVFRalFJaUFVVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxBa0FnQjBFQ1NRUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VEYkNJTWFpMEFBQ0FFSUF4QkFXcHFMUUFBYWlBRUlBeEJBbXBxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQVVnQjBFQmNrRURSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1haTBBQUNBRUlBeEJBWEpxTFFBQWFpQUVJQXhCQW5KcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0IwRUNja0VHUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFGeWFpMEFBQ0FFSUF4QkFuSnFMUUFBYWlBRUlBeEJBM0pxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUhRUVZyRGdvQUJnRUNBd1FGQUFBQUJnc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFQ2RDQUJhaUlPSUF3Z0RpZ0NBR28yQWdBTEN5QUhRUUZxSVFjTUFRc0xJQUJCQVdvaEFBd0FBQXNBQ3lBZFJBQUFBQUFBQUZsQW9DRWVJQU8zSVNFZ0NiY2hJaUFOUVVCcklSTWdBRUVCUmlFUlFRQWhBQU5BSUFBZ0EwNE5CeUFlSUFvZ0FMZEVBQUFBQUFBQTREK2dvaUFobzZBaEhVRUFJUWNEUUNBSElBbElCRUFnRXlzREFDQWVJQW9nQjdkRUFBQUFBQUFBNEQrZ29pQWlvNkFpSHlBTkt3TXdvaUFkSUEwckF6aWlvS0FpSUVRQUFBQUFBQUFBQUdFTkN5QVFJQTByQXhBZ0h5QU5Ld01Bb2lBZElBMHJBd2lpb0tBZ0lLTzJJaG80QWdBZ0R5QU5Ld01vSUI4Z0RTc0RHS0lnSFNBTkt3TWdvcUNnSUNDanRpSWJPQUlBSUFnZ0dpQWJJQkFnRHhCdEdpQVFLZ0lBSVJvZ0VRUi9JQnBEQUFDQVA1SVFRMEVDRURsQkFYUWhEQ0FQS2dJQVF3QUFnRCtTRUVOQkFoQTVRUUYwQlNBYVF3QUFBRCtTRUVNaERDQVBLZ0lBUXdBQUFEK1NFRU1MSVE0Z0RFRi9TZ1JBSUF3Z0JVZ2dEa0YvU25FZ0RpQUdTSEVFUUNBRUlBd2dCU0FPYkdwQkFYUkJBWEpxTFFBQUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkR290QUFBaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVVnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRa2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFY2NYSkJBbkpxSUF4QkEzUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRUWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFnZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VZY1hKQkJISnFJQXhCQW5SQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFNZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWNnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCOEFGeFFRaHlJQTVCQkhSQjhBRnhRUWh5YWlBRUlBeEJBWEpxTEFBQVFYQnhRUWh5UWY4QmNXcEJBeEJJSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMUVFCQkEwSHlxQUVnREJBOURBTUxBQXNnRWlBVmJDRUNRUUFoQUFOQUlBQWdGRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NGSUJSQkEyd2lHRUVFRUkwQ0lnRkZCRUJCQUVFRFFibllBaUFSRUQxQkFSQUJDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQnc0UEFBRUNBd1FGQmdjSUNRb0xCUVVGREFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUTBnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSRWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hCQW1wcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSQWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbXBxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXNnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERROGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQW5KcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUW9nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRNGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbkpxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWtnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRMGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQVhKcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFuSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQTNKcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEhJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwTElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUU55YWkwQUFDRVJJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRVNBV0tBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdCQ0FNUVFKeWFpMEFBQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0JDQU1RUUZ5YWkwQUFDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGR290QUFCQmdIOXFzaUVhSUFRZ0ZFRUNhbW90QUFCQmdIOXFzaUViSUJwRFRob0JSSlFnQkNBTUlBNXFRUUYwUVFGeWFpMEFBRUZ3YXJKRGZ3cVZRNVFpSEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBGSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEpJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGRUVCY21vdEFBQkJnSDlxc2lFYUlBUWdGRUVEYW1vdEFBQkJnSDlxc2lFYklBUWdEQ0FPYWtFQmRHb3RBQUJCY0dxeVEzOEtsVU9VSWh3Z0drTk9HZ0ZFbEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBFSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMElJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFOMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RZUFCY1VFRGRuSkJBbkpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUUowUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFjQUJjVUVEZG5KQkJISnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJT1FRRnlhaXdBQUVGd2NVRUlja0gvQVhFaEVTQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkEyd2lERUVDZENBQmFpSVdJQkVnRmlnQ0FHbzJBZ0FnREVFQmFrRUNkQ0FCYWlJUklCRW9BZ0FnQkNBT2Fpd0FBQ0lPUVFSMFFmOEJjVUVJY21vMkFnQWdERUVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdEa0Z3Y1VFSWNrSC9BWEZxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUF0QkFFRURRZktvQVNBVEVEME1BZ3NnRWlBVmJDRUNRUUFoQUFOQUlBQWdHRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NMSUFFUU9FRUFEQUVMSUFFUU9FRi9DeUVaSUEwa0JpQVpDNmtCQUNBQUlBRXFBZ0NNT0FJQUlBQWdBU29DQkl3NEFnUWdBRU1BQUlDL09BSUlJQUJCREdvUXdnTWdBQ0FDS2dJQUlBRXFBZ0NVT0FJWUlBQWdBaW9DQUNBQktnSUVsRGdDSENBQUlBSW9BZ0EyQWlBZ0FFRWthaERDQXlBQUlBRXFBZ0NNT0FJd0lBQWdBU29DQkl3NEFqUWdBRU1BQUlDL09BSTRJQUFnQWlvQ0JDQUJLZ0lBbERnQ1BDQUFRVUJySUFJcUFnUWdBU29DQkpRNEFnQWdBQ0FDS0FJRU5nSkVDeVFBSUFBZ0FTQUNFSVVCUXdBQUFBQmVJQU1nQkNBRkVJVUJRd0FBQUFCZWMwRUJjd3NNQUNBQUlBRWdBQ0FCWFJzTElBQWdBQ29DQUNBQktnSUVsQ0FBS2dJRUlBRXFBZ0NVazR0REFBQUFQNVFMVEFFQ2Z5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NBQ0lEYTBFRGRTQUJTUVJBSUFJZ0FTQUFLQUlFSUFOclFRTjFJQUJCQ0dvUWlBSWdBQ0FDRU0wQ0lBSVF6QUlMSUFJa0Jnc0hBQ0FBUVJCcUN3a0FJQUFnQVJEYkF3c01BQ0FBSUFGQkFYRTZBR1FMS2dBZ0FFRUFOZ0lBSUFCQkFEWUNCQ0FBUVFBMkFnZ2dBUVJBSUFBZ0FSQ2RDQ0FBSUFFUTlnTUxDd3dBSUFBZ0FTQUFJQUZJR3dzVkFDQUFRZnlGQVRZQ0FDQUFRUVJxSUFFUTNnSUxvd0lDQkg4QmZTTUdJUU1qQmtFUWFpUUdJQUpEQUFBQUFHQkZCRUFnQTBIQXlBTkJuWnNDRURkQnFKa0NFRGRCNzZJQ0VEZEI2QUVRUGtIMm9nSVFOMEcvbXdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVzaUFDWGdSQUlBQXFBaGdnQWhEbEJFRUJJQUYwc3BRaEJ5QURKQVlnQnc4RklBTkJ3TWdEUWRhYkFoQTNRYWlaQWhBM1FlK2lBaEEzUWVrQkVENUI5cUlDRURkQmlad0NFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQU5CZ000REVEb2lBU2dDQUNnQ0hDRUFJQUZCQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQU1RUENBRUlBQVFRQ0FFRUQ4UUFBdERBQUFBQUF0ekFRRi9JQUJCQURZQ0RDQUFJQU0yQWhBZ0FRUkFJQUZCLy8vLy93RkxCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFRTjBFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJBM1FnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVFOMElBUnFOZ0lNQzB3QkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ0xIQUFnQUVFQVJ5QUJRUVZKY1FSL0lBQWdBVFlDR0VFQUJVRi9Dd3NJQUVFT0VBSkJBQXNJQUVFSUVBSkJBQXRYQVFGL0lBQUVRQ0FBSUFGc0lRSWdBQ0FCY2tILy93TkxCRUFnQWtGL0lBSWdBQkJJSUFGR0d5RUNDd3NnQWhCRUlnQkZCRUFnQUE4TElBQkJmR29vQWdCQkEzRkZCRUFnQUE4TElBQkJBQ0FDRUVVYUlBQUx2QUVCQlg4akJpRURJd1pCRUdva0JpQURJQUUyQWdBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkFRc2hBU0FEUVFScUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRa1FRZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQWtFQ2RDQUFhaUlBSUFNUWJpQUVRUUEyQWdBZ0FFRUVhaUFFRUc0Z0F5UUdDeElBSUFBUU9DQUJFRGdnQWhBNElBTVFPQXNJQUVILy8vLy9Cd3NGQUVIL0FBdUpCZ0VJZnlNR0lRa2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnc29BZ0FvQWhRaEJpQUpJQXNnQmtFL2NVR3lCV29SQXdBZ0NTZ0NCQ0FKTEFBTElnWkIvd0Z4SUFaQkFFZ2JCRUFnQlNBRE5nSUFJQUlDZndKQUFrQWdBQ3dBQUNJR1FTdHJEZ01BQVFBQkN5QUtLQUlBS0FJc0lRY2dDaUFHSUFkQlAzRkJpZ0ZxRVFJQUlRWWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUdOZ0lBSUFCQkFXb01BUXNnQUFzaUJtdEJBVW9FUUNBR0xBQUFRVEJHQkVBZ0Jpd0FBVUhZQUdzaUIwRUFJQWRCSUVjYlJRUkFJQW9vQWdBb0Fpd2hCeUFLUVRBZ0IwRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVFYWpZQ0FDQUlJQWMyQWdBZ0NpZ0NBQ2dDTENFSElBb2dCaXdBQVNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dCellDQUNBR1FRSnFJUVlMQ3dzZ0FpQUdSd1JBQWtBZ0FpRUhJQVloQ0FOQUlBZ2dCMEYvYWlJSFR3MEJJQWdzQUFBaERTQUlJQWNzQUFBNkFBQWdCeUFOT2dBQUlBaEJBV29oQ0F3QUFBc0FDd3NnQ3lnQ0FDZ0NFQ0VISUFzZ0IwSC9BSEZCQ0dvUkFBQWhEU0FHSVFoQkFDRUhRUUFoQ3dOQUlBZ2dBa2tFUUNBSElBa29BZ0FnQ1NBSkxBQUxRUUJJRzJvc0FBQWlERUVBUnlBTElBeEdjUVJBSUFVZ0JTZ0NBQ0lMUVFScU5nSUFJQXNnRFRZQ0FDQUhJQWNnQ1NnQ0JDQUpMQUFMSWdkQi93RnhJQWRCQUVnYlFYOXFTV29oQjBFQUlRc0xJQW9vQWdBb0Fpd2hEQ0FLSUFnc0FBQWdERUUvY1VHS0FXb1JBZ0FoRENBRklBVW9BZ0FpRGtFRWFqWUNBQ0FPSUF3MkFnQWdDRUVCYWlFSUlBdEJBV29oQ3d3QkN3c2dCaUFBYTBFQ2RDQURhaUlISUFVb0FnQWlCa1lFZnlBSEJRTkFJQWNnQmtGOGFpSUdTUVJBSUFjb0FnQWhDQ0FISUFZb0FnQTJBZ0FnQmlBSU5nSUFJQWRCQkdvaEJ3d0JDd3NnQlNnQ0FBc2hCUVVnQ2lnQ0FDZ0NNQ0VHSUFvZ0FDQUNJQU1nQmtFUGNVR0tBbW9SQ1FBYUlBVWdBaUFBYTBFQ2RDQURhaUlGTmdJQUN5QUVJQVVnQVNBQWEwRUNkQ0FEYWlBQklBSkdHellDQUNBSkVFY2dDU1FHQzRBR0FRaC9Jd1loQ1NNR1FSQnFKQVlnQmtHQXpnTVFPaUVLSUFaQmtNNERFRG9pQ3lnQ0FDZ0NGQ0VHSUFrZ0N5QUdRVDl4UWJJRmFoRURBQ0FKS0FJRUlBa3NBQXNpQmtIL0FYRWdCa0VBU0JzRVFDQUZJQU0yQWdBZ0FnSi9Ba0FDUUNBQUxBQUFJZ1pCSzJzT0F3QUJBQUVMSUFvb0FnQW9BaHdoQnlBS0lBWWdCMEUvY1VHS0FXb1JBZ0FoQmlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFZNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlNnUkFJQVlzQUFCQk1FWUVRQ0FHTEFBQlFkZ0FheUlIUVFBZ0IwRWdSeHRGQkVBZ0NpZ0NBQ2dDSENFSElBcEJNQ0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0J6b0FBQ0FLS0FJQUtBSWNJUWNnQ2lBR0xBQUJJQWRCUDNGQmlnRnFFUUlBSVFjZ0JTQUZLQUlBSWdoQkFXbzJBZ0FnQ0NBSE9nQUFJQVpCQW1vaEJnc0xDeUFDSUFaSEJFQUNRQ0FDSVFjZ0JpRUlBMEFnQ0NBSFFYOXFJZ2RQRFFFZ0NDd0FBQ0VOSUFnZ0J5d0FBRG9BQUNBSElBMDZBQUFnQ0VFQmFpRUlEQUFBQ3dBTEN5QUxLQUlBS0FJUUlRY2dDeUFIUWY4QWNVRUlhaEVBQUNFTklBWWhDRUVBSVFkQkFDRUxBMEFnQ0NBQ1NRUkFJQWNnQ1NnQ0FDQUpJQWtzQUF0QkFFZ2JhaXdBQUNJTVFRQkhJQXNnREVaeEJFQWdCU0FGS0FJQUlndEJBV28yQWdBZ0N5QU5PZ0FBSUFjZ0J5QUpLQUlFSUFrc0FBc2lCMEgvQVhFZ0IwRUFTQnRCZjJwSmFpRUhRUUFoQ3dzZ0NpZ0NBQ2dDSENFTUlBb2dDQ3dBQUNBTVFUOXhRWW9CYWhFQ0FDRU1JQVVnQlNnQ0FDSU9RUUZxTmdJQUlBNGdERG9BQUNBSVFRRnFJUWdnQzBFQmFpRUxEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBY0ZBMEFnQnlBR1FYOXFJZ1pKQkVBZ0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVMQ3lBRktBSUFDeUVGQlNBS0tBSUFLQUlnSVFZZ0NpQUFJQUlnQXlBR1FROXhRWW9DYWhFSkFCb2dCU0FESUFJZ0FHdHFJZ1UyQWdBTElBUWdCU0FESUFFZ0FHdHFJQUVnQWtZYk5nSUFJQWtRUnlBSkpBWUw3UUVCQlg4Z0FrR0FFSEVFUUNBQVFTczZBQUFnQUVFQmFpRUFDeUFDUVlBSWNRUkFJQUJCSXpvQUFDQUFRUUZxSVFBTElBSkJoQUp4SWdOQmhBSkdJZ1FFZjBFQUJTQUFRUzQ2QUFBZ0FFRXFPZ0FCSUFCQkFtb2hBRUVCQ3lFSElBSkJnSUFCY1NFQ0EwQWdBU3dBQUNJR0JFQWdBQ0FHT2dBQUlBRkJBV29oQVNBQVFRRnFJUUFNQVFzTElBQUNmd0pBQWtBZ0EwRUVheUlCQkVBZ0FVSDhBVVlFUUF3Q0JRd0RDd0FMSUFKQkNYWkIvd0Z4UWVZQWN3d0NDeUFDUVFsMlFmOEJjVUhsQUhNTUFRc2dBa0VKZGtIL0FYRWhBU0FCUWVFQWN5QUJRZWNBY3lBRUd3czZBQUFnQnd1ZUNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRa2dBeUFDYTBFTUVEa2lCMEhrQUVzRVFDQUhFRVFpQ1FSQUlBa2lEU0VTQlJBQUN3VWdDU0VOQ3lBQ0lRb2dEU0VKQTBBZ0F5QUtSd1JBSUFvc0FBc2lDRUVBU0FSL0lBb29BZ1FGSUFoQi93RnhDd1JBSUFsQkFUb0FBQVVnQ1VFQ09nQUFJQXhCQVdvaERDQUhRWDlxSVFjTElBcEJER29oQ2lBSlFRRnFJUWtNQVFzTElBd2hDU0FISVF3RFFBSkFJQUFvQWdBaUNBUi9JQWdvQWd3aUJ5QUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRb2dBU2dDQUNJSEJIOGdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQjBFQkJVRUFDd1ZCQUNFSFFRRUxJUk1nQUNnQ0FDRUxJQk1nQ25NZ0RFRUFSM0ZGRFFBZ0N5Z0NEQ0lISUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNoRHlBR1JRUkFJQVFnRHlBRUtBSUFLQUljUVQ5eFFZb0JhaEVDQUNFUEN5QVJRUUZxSVFzZ0FpRUlRUUFoQ2lBTklRNGdDU0VIQTBBZ0F5QUlSd1JBSUE0c0FBQkJBVVlFUUFKQUlBZ3NBQXRCQUVnRWZ5QUlLQUlBQlNBSUN5QVJRUUowYWlnQ0FDRUpJQVlFZnlBSkJTQUVJQWtnQkNnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FMSUE5SEJFQWdEa0VBT2dBQUlBeEJmMm9oREF3QkN5QUlMQUFMSWdsQkFFZ0VmeUFJS0FJRUJTQUpRZjhCY1FzZ0MwWUVRQ0FPUVFJNkFBQWdERUYvYWlFTUlBZEJBV29oQnd0QkFTRUtDd3NnQ0VFTWFpRUlJQTVCQVdvaERnd0JDd3NnQ2dSQUFrQWdBQ2dDQUNJSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUVJxTmdJTUlBa29BZ0FhQ3lBSElBeHFRUUZMQkVBZ0FpRUtJQTBoQ1FOQUlBTWdDa1lOQWlBSkxBQUFRUUpHQkVBZ0Npd0FDeUlJUVFCSUJIOGdDaWdDQkFVZ0NFSC9BWEVMSUF0SEJFQWdDVUVBT2dBQUlBZEJmMm9oQndzTElBcEJER29oQ2lBSlFRRnFJUWtNQUFBTEFBc0xDeUFMSVJFZ0J5RUpEQUVMQ3lBTEJIOGdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUFDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQUFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMENDd3dDQ3lBRURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEUUNBQ0lBTkdEUUVnRFN3QUFFRUNSd1JBSUFKQkRHb2hBaUFOUVFGcUlRME1BUXNMREFFTElBVWdCU2dDQUVFRWNqWUNBQ0FESVFJTElCSVFPQ0FRSkFZZ0FndXJDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWNnQXlBQ2EwRU1FRGtpQ1VIa0FFc0VRQ0FKRUVRaUJ3UkFJQWNpQ3lFU0JSQUFDd1VnQnlFTEN5QUNJUWNnQ3lFS0EwQWdBeUFIUndSQUlBY3NBQXNpREVFQVNBUi9JQWNvQWdRRklBeEIvd0Z4Q3dSQUlBcEJBVG9BQUFVZ0NrRUNPZ0FBSUFsQmYyb2hDU0FJUVFGcUlRZ0xJQWRCREdvaEJ5QUtRUUZxSVFvTUFRc0xJQWtoQ2lBSUlRa0RRQUpBSUFBb0FnQWlCd1IvSUFjb0Fnd2lDQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNDZnlBQktBSUFJZ2dFZnlBSUtBSU1JZ2NnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUWhCQVFWQkFBc0ZRUUFoQ0VFQkN5RVRJQUFvQWdBaEJ5QVRDM01nQ2tFQVIzRkZEUUFnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFaERpQUdSUVJBSUFRZ0RpQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FDRU9DeUFQUVFGcUlRd2dBaUVIUVFBaENDQUxJUTBEUUNBRElBZEhCRUFnRFN3QUFFRUJSZ1JBQWtBZ0J5d0FDMEVBU0FSL0lBY29BZ0FGSUFjTElBOXFMQUFBSVJFZ0RrSC9BWEVnQmdSL0lCRUZJQVFnRVNBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUF0Qi93RnhSd1JBSUExQkFEb0FBQ0FLUVg5cUlRb01BUXNnQnl3QUN5SUlRUUJJQkg4Z0J5Z0NCQVVnQ0VIL0FYRUxJQXhHQkVBZ0RVRUNPZ0FBSUFwQmYyb2hDaUFKUVFGcUlRa0xRUUVoQ0FzTElBZEJER29oQnlBTlFRRnFJUTBNQVFzTElBZ0VRQUpBSUFBb0FnQWlCeWdDRENJSUlBY29BaEJHQkVBZ0J5QUhLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWNnQ0VFQmFqWUNEQ0FJTEFBQUVFSWFDeUFKSUFwcVFRRkxCRUFnQWlFSElBc2hDQU5BSUFNZ0IwWU5BaUFJTEFBQVFRSkdCRUFnQnl3QUN5SVBRUUJJQkg4Z0J5Z0NCQVVnRDBIL0FYRUxJQXhIQkVBZ0NFRUFPZ0FBSUFsQmYyb2hDUXNMSUFkQkRHb2hCeUFJUVFGcUlRZ01BQUFMQUFzTEN5QU1JUThNQVFzTElBY0VmeUFIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUFrQWdDRVVOQUNBSUtBSU1JZ1FnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURmeUFDSUFOR0RRRWdDeXdBQUVFQ1JnUi9JQUlGSUFKQkRHb2hBaUFMUVFGcUlRc01BUXNMSVFNTUFRc2dCU0FGS0FJQVFRUnlOZ0lBQ3lBU0VEZ2dFQ1FHSUFNTGlRRUJBbjhnQUNnQ0JDSUJJQUVvQWdCQmRHb29BZ0JxSWdFb0FoZ0VRQ0FCS0FJUVJRUkFJQUVvQWdSQmdNQUFjUVJBSUFBb0FnUWlBU0FCS0FJQVFYUnFLQUlBYWlnQ0dDSUJLQUlBS0FJWUlRSWdBU0FDUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFvQWdRaUFDQUFLQUlBUVhScUtBSUFhaUlBSUFBb0FoQkJBWElRN2dFTEN3c0xDendBSUFCQkFEb0FBQ0FBSUFFMkFnUWdBU0FCS0FJQVFYUnFLQUlBYWlJQktBSVFSUVJBSUFFb0FrZ2lBUVJBSUFFUVB3c2dBRUVCT2dBQUN3c0tBQ0FBUVFScUVKMENDd29BSUFCQkNHb1FuUUlMQkFCQmZ3c0RBQUVMTXdBZ0FFR01qQUUyQWdBZ0FCRFFDeUFBUVJ4cUVEd2dBQ2dDSUJBNElBQW9BaVFRT0NBQUtBSXdFRGdnQUNnQ1BCQTRDMVVCQTM4Z0FDZ0NCQ0lHUVFoMUlRVWdCa0VCY1FSQUlBSW9BZ0FnQldvb0FnQWhCUXNnQUNnQ0FDSUFLQUlBS0FJWUlRY2dBQ0FCSUFJZ0JXb2dBMEVDSUFaQkFuRWJJQVFnQjBFL2NVR2FCbW9SQlFBTExnRUJmeU1HSVFJakJrRVFhaVFHSUFJZ0FUWUNBRUdraUFFb0FnQWlBU0FBSUFJUXBRSWFJQUVROGdRUUFBdDhBd0YvQVg0Q2ZDTUdJUU1qQmtHUUFXb2tCaUFEUVFCQmtBRVFSUm9nQXlBQU5nSUVJQU5CZnpZQ0NDQURJQUEyQWl3Z0EwRi9OZ0pNSUFOQ0FCQ0NBU0FESUFKQkFSQ1NBeUVHSUFNcEEzZ2dBeWdDQkNBREtBSUlhNng4SVFRZ0FRUkFJQUVnQUNBQUlBU25haUFFVUJzMkFnQUxJQU1rQmlBR0N3MEFJQUFnQVNBQ1FuOFFoQU1MM3dFQkJuOGpCaUVHSXdaQjhBRnFKQVlnQmlBQU5nSUFJQU5CQVVvRVFBSkFRUUFnQVdzaENTQURJUWRCQVNFRElBQWhCUU5BSUFVZ0FDQUphaUlBSUFkQmZtb2lDa0VDZENBRWFpZ0NBR3NpQ0NBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1JBSUFVZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2cwQ0N5QURRUUowSUFacUlRVWdBMEVCYWlFRElBZ2dBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUi9JQVVnQ0RZQ0FDQUlJUUFnQjBGL2FnVWdCU0FBTmdJQUlBb0xJZ2RCQVVvRVFDQUdLQUlBSVFVTUFRc0xDd1ZCQVNFREN5QUJJQVlnQXhEL0FpQUdKQVlMS1FFQ2Z5TUdJUVFqQmtFUWFpUUdJQVFnQXpZQ0FDQUFJQUVnQWlBRUVLa0JJUVVnQkNRR0lBVUw2aElDRkg4QmZpTUdJUThqQmtGQWF5UUdJQTlCS0dvaENpQVBRVEJxSVJnZ0QwRThhaUVXSUE5Qk9Hb2lEQ0FCTmdJQUlBQkJBRWNoRWlBUFFTaHFJaFVoRXlBUFFTZHFJUmRCQUNFQkFrQUNRQU5BQWtBRFFDQUpRWDlLQkVBZ0FVSC8vLy8vQnlBSmEwb0VmMEdreFFOQlBUWUNBRUYvQlNBQklBbHFDeUVKQ3lBTUtBSUFJZ3NzQUFBaUNFVU5BeUFMSVFFQ1FBSkFBMEFDUUFKQUlBaEJHSFJCR0hVaUNBUkFJQWhCSlVjTkFRd0VDd3dCQ3lBTUlBRkJBV29pQVRZQ0FDQUJMQUFBSVFnTUFRc0xEQUVMSUFFaENBTkFJQWdzQUFGQkpVY05BU0FCUVFGcUlRRWdEQ0FJUVFKcUlnZzJBZ0FnQ0N3QUFFRWxSZzBBQ3dzZ0FTQUxheUVCSUJJRVFDQUFJQXNnQVJCeUN5QUJEUUFMSUF3b0FnQXNBQUVRaWdGRklRZ2dEQ0FNS0FJQUlnRWdDQVIvUVg4aERVRUJCU0FCTEFBQ1FTUkdCSDhnQVN3QUFVRlFhaUVOUVFFaEJVRURCVUYvSVExQkFRc0xhaUlCTmdJQUlBRXNBQUFpQmtGZ2FpSUlRUjlMUVFFZ0NIUkJpZEVFY1VWeUJFQkJBQ0VJQlVFQUlRWURRQ0FHUVFFZ0NIUnlJUWdnRENBQlFRRnFJZ0UyQWdBZ0FTd0FBQ0lHUVdCcUlnZEJIMHRCQVNBSGRFR0owUVJ4UlhKRkJFQWdDQ0VHSUFjaENBd0JDd3NMSUFaQi93RnhRU3BHQkVBZ0RBSi9Ba0FnQVN3QUFSQ0tBVVVOQUNBTUtBSUFJZ2NzQUFKQkpFY05BQ0FITEFBQlFWQnFRUUowSUFScVFRbzJBZ0FnQnl3QUFVRlFha0VEZENBRGFpa0RBS2NoQVVFQklRWWdCMEVEYWd3QkN5QUZCRUJCZnlFSkRBTUxJQklFUUNBQ0tBSUFRUU5xUVh4eElnVW9BZ0FoQVNBQ0lBVkJCR28yQWdBRlFRQWhBUXRCQUNFR0lBd29BZ0JCQVdvTElnVTJBZ0JCQUNBQmF5QUJJQUZCQUVnaUFSc2hFQ0FJUVlEQUFISWdDQ0FCR3lFT0lBWWhDQVVnREJDTkF5SVFRUUJJQkVCQmZ5RUpEQUlMSUFnaERpQUZJUWdnRENnQ0FDRUZDeUFGTEFBQVFTNUdCRUFDUUNBRlFRRnFJUUVnQlN3QUFVRXFSd1JBSUF3Z0FUWUNBQ0FNRUkwRElRRWdEQ2dDQUNFRkRBRUxJQVVzQUFJUWlnRUVRQ0FNS0FJQUlnVXNBQU5CSkVZRVFDQUZMQUFDUVZCcVFRSjBJQVJxUVFvMkFnQWdCU3dBQWtGUWFrRURkQ0FEYWlrREFLY2hBU0FNSUFWQkJHb2lCVFlDQUF3Q0N3c2dDQVJBUVg4aENRd0RDeUFTQkVBZ0FpZ0NBRUVEYWtGOGNTSUZLQUlBSVFFZ0FpQUZRUVJxTmdJQUJVRUFJUUVMSUF3Z0RDZ0NBRUVDYWlJRk5nSUFDd1ZCZnlFQkMwRUFJUWNEUUNBRkxBQUFRYjkvYWtFNVN3UkFRWDhoQ1F3Q0N5QU1JQVZCQVdvaUJqWUNBQ0FGTEFBQUlBZEJPbXhxUVkvV0FHb3NBQUFpRVVIL0FYRWlCVUYvYWtFSVNRUkFJQVVoQnlBR0lRVU1BUXNMSUJGRkJFQkJmeUVKREFFTElBMUJmMG9oRkFKQUFrQWdFVUVUUmdSQUlCUUVRRUYvSVFrTUJBc0ZBa0FnRkFSQUlBMUJBblFnQkdvZ0JUWUNBQ0FLSUExQkEzUWdBMm9wQXdBM0F3QU1BUXNnRWtVRVFFRUFJUWtNQlFzZ0NpQUZJQUlRakFNZ0RDZ0NBQ0VHREFJTEN5QVNEUUJCQUNFQkRBRUxJQTVCLy85N2NTSU5JQTRnRGtHQXdBQnhHeUVGQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FHUVg5cUxBQUFJZ1pCWDNFZ0JpQUdRUTl4UVFOR0lBZEJBRWR4R3lJR1FjRUFhdzQ0Q1FvSENna0pDUW9LQ2dvS0Nnb0tDZ29LQ0FvS0Nnb0xDZ29LQ2dvS0Nnb0pDZ1VEQ1FrSkNnTUtDZ29LQUFJQkNnb0dDZ1FLQ2dzS0N3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwSC9BWEZCR0hSQkdIVU9DQUFCQWdNRUJ3VUdCd3NnQ2lnQ0FDQUpOZ0lBUVFBaEFRd1hDeUFLS0FJQUlBazJBZ0JCQUNFQkRCWUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCVUxJQW9vQWdBZ0NUc0JBRUVBSVFFTUZBc2dDaWdDQUNBSk9nQUFRUUFoQVF3VEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJJTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJFTFFRQWhBUXdRQzBINEFDRUdJQUZCQ0NBQlFRaExHeUVCSUFWQkNISWhCUXdKQzBFQUlRdEJrUDRDSVE0Z0FTQVRJQW9wQXdBZ0ZSQ0VCU0lIYXlJR1FRRnFJQVZCQ0hGRklBRWdCa3B5R3lFQkRBc0xJQW9wQXdBaUdVSUFVd1IvSUFwQ0FDQVpmU0laTndNQVFRRWhDMEdRL2dJRklBVkJnUkJ4UVFCSElRdEJrZjRDUVpMK0FrR1EvZ0lnQlVFQmNSc2dCVUdBRUhFYkN5RU9EQWdMUVFBaEMwR1EvZ0loRGlBS0tRTUFJUmtNQndzZ0Z5QUtLUU1BUEFBQUlCY2hCa0VBSVF0QmtQNENJUTVCQVNFSElBMGhCU0FUSVFFTUNnc2dDaWdDQUNJRlFacitBaUFGR3lJR1FRQWdBUkNtQWlJUlJTRVVRUUFoQzBHUS9nSWhEaUFCSUJFZ0Jtc2dGQnNoQnlBTklRVWdBU0FHYWlBUklCUWJJUUVNQ1FzZ0R5QUtLUU1BUGdJd0lBOUJBRFlDTkNBS0lCZzJBZ0JCZnlFTERBVUxJQUVFUUNBQklRc01CUVVnQUVFZ0lCQkJBQ0FGRUhWQkFDRUJEQWNMQUFzZ0FDQUtLd01BSUJBZ0FTQUZJQVpCaVFFUklnQWhBUXdIQ3lBTElRWkJBQ0VMUVpEK0FpRU9JQUVoQnlBVElRRU1CUXNnQ2lrREFDQVZJQVpCSUhFUWhRVWhCMEVBUVFJZ0JVRUljVVVnQ2lrREFGQnlJZzBiSVF0QmtQNENJQVpCQkhaQmtQNENhaUFOR3lFT0RBSUxJQmtnRlJDK0FTRUhEQUVMSUFvb0FnQWhCa0VBSVFFQ1FBSkFBMEFnQmlnQ0FDSUhCRUFnRmlBSEVJc0RJZ2RCQUVnaURTQUhJQXNnQVd0TGNnMENJQVpCQkdvaEJpQUxJQUVnQjJvaUFVc05BUXNMREFFTElBMEVRRUYvSVFrTUJnc0xJQUJCSUNBUUlBRWdCUkIxSUFFRVFDQUtLQUlBSVFaQkFDRUxBMEFnQmlnQ0FDSUhSUTBESUFzZ0ZpQUhFSXNESWdkcUlnc2dBVW9OQXlBR1FRUnFJUVlnQUNBV0lBY1FjaUFMSUFGSkRRQUxCVUVBSVFFTERBRUxJQWNnRlNBS0tRTUFRZ0JTSWcwZ0FVRUFSM0lpRVJzaEJpQUJJQk1nQjJzZ0RVRUJjMm9pQnlBQklBZEtHMEVBSUJFYklRY2dCVUgvLzN0eElBVWdBVUYvU2hzaEJTQVRJUUVNQVFzZ0FFRWdJQkFnQVNBRlFZREFBSE1RZFNBUUlBRWdFQ0FCU2hzaEFRd0JDeUFBUVNBZ0N5QUJJQVpySWcwZ0J5QUhJQTFJR3lJUmFpSUhJQkFnRUNBSFNCc2lBU0FISUFVUWRTQUFJQTRnQ3hCeUlBQkJNQ0FCSUFjZ0JVR0FnQVJ6RUhVZ0FFRXdJQkVnRFVFQUVIVWdBQ0FHSUEwUWNpQUFRU0FnQVNBSElBVkJnTUFBY3hCMUN5QUlJUVVNQVFzTERBRUxJQUJGQkVBZ0JRUi9RUUVoQUFOQUlBQkJBblFnQkdvb0FnQWlBUVJBSUFCQkEzUWdBMm9nQVNBQ0VJd0RJQUJCQVdvaUFFRUtTUTBCUVFFaENRd0VDd3NEZnlBQVFRSjBJQVJxS0FJQUJFQkJmeUVKREFRTElBQkJBV29pQUVFS1NRMEFRUUVMQlVFQUN5RUpDd3NnRHlRR0lBa0xDd0FnQUNBQklBSVFod1VML1FFQkEzOGdBVUgvQVhFaEJBSkFBa0FDUUNBQ1FRQkhJZ01nQUVFRGNVRUFSM0VFUUNBQlFmOEJjU0VGQTBBZ0JTQUFMUUFBUmcwQ0lBSkJmMm9pQWtFQVJ5SURJQUJCQVdvaUFFRURjVUVBUjNFTkFBc0xJQU5GRFFFTElBRkIvd0Z4SWdFZ0FDMEFBRVlFUUNBQ1JRMEJEQUlMSUFSQmdZS0VDR3doQXdKQUFrQWdBa0VEVFEwQUEwQWdBeUFBS0FJQWN5SUVRZi85KzNkcUlBUkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQWdBRUVFYWlFQUlBSkJmR29pQWtFRFN3MEJEQUlMQ3d3QkN5QUNSUTBCQ3dOQUlBQXRBQUFnQVVIL0FYRkdEUUlnQWtGL2FpSUNSUTBCSUFCQkFXb2hBQXdBQUFzQUMwRUFJUUFMSUFBTGp3RUJBbjhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FoUWdBQ2dDSEVzRVFDQUFLQUlrSVFFZ0FFRUFRUUFnQVVFL2NVSEtBV29SQkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBS0FJQUlnRkJCSEVFZnlBQUlBRkJJSEkyQWdCQmZ3VWdBQ0FBS0FJc0lBQW9BakJxSWdJMkFnZ2dBQ0FDTmdJRUlBRkJHM1JCSDNVTEM1RUJBUU4vQW44Q1FDQUFLQUlVSUFBb0FoeE5EUUFnQUNnQ0pDRUJJQUJCQUVFQUlBRkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQkJmd3dCQ3lBQUtBSUVJZ0VnQUNnQ0NDSUNTUVJBSUFBb0FpZ2hBeUFBSUFFZ0FtdXNRUUVnQTBFRGNVR21BMm9SRkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFnZ2dBRUVBTmdJRVFRQUxDNGNCQVFGL0lBQUVRQUovSUFBb0FreEJmMHdFUUNBQUVLZ0NEQUVMSUFBUXFBSUxJUUFGUWJDSUFTZ0NBQVIvUWJDSUFTZ0NBQkNwQWdWQkFBc2hBQkNyQWlnQ0FDSUJCRUFEUUNBQktBSk1RWDlLQkg5QkFRVkJBQXNhSUFFb0FoUWdBU2dDSEVzRVFDQUJFS2dDSUFCeUlRQUxJQUVvQWpnaUFRMEFDd3RCcU1VREVBNExJQUFMK2dFQkEzOGdBVUgvQVhFaUFnUkFBa0FnQUVFRGNRUkFJQUZCL3dGeElRTURRQ0FBTEFBQUlnUkZJQU5CR0hSQkdIVWdCRVp5RFFJZ0FFRUJhaUlBUVFOeERRQUxDeUFDUVlHQ2hBaHNJUU1nQUNnQ0FDSUNRZi85KzNkcUlBSkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQURRQ0FDSUFOeklnSkIvLzM3ZDJvZ0FrR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFRUVJxSWdBb0FnQWlBa0gvL2Z0M2FpQUNRWUNCZ29SNGNVR0FnWUtFZUhOeFJRMEJDd3NMSUFGQi93RnhJUUlEUUNBQVFRRnFJUUVnQUN3QUFDSURSU0FDUVJoMFFSaDFJQU5HY2tVRVFDQUJJUUFNQVFzTEN3VWdBQkJnSUFCcUlRQUxJQUFMREFCQnFNVURFQnBCc01VREN4OEFJQUJCLy84RGNRUi9RYVRGQXlBQVFmLy9BM0UyQWdCQmZ3VkJBQXNMOUFFQ0NYOEJmQ0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUkFBQUFBQUFBQUFBT1FNQUlBSW9BZ0FnQkVFRGRHb2hCU0FCS0FJQUlBdEJBM1JxSVFaQkFDRUhSQUFBQUFBQUFBQUFJUXdEUUNBSElBaElCRUFnQUNBTUlBWXJBd0FnQlNzREFLS2dJZ3c1QXdBZ0NVRURkQ0FGYWlFRklBWkJDR29oQmlBSFFRRnFJUWNNQVFzTElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBTkJBV29oQXd3QkJVRUFDd3NGUVg4TEJVRi9Dd1ZCZndzTDhnSUJBMzhnQUNnQ0JDRURJQUZCQVVzRVFDQUFLQUlBSWdKQkR6WUNGQ0FDSUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFGSUFGQkFVWUVRQ0FES0FKRUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDUkNBREtBSklJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1NBc0xJQU5CUEdvZ0FVRUNkR29pQUNnQ0FDRUNJQUJCQURZQ0FDQUNCRUFEUUNBQ0tBSUFJUUFnQWlnQ0NDQUNLQUlFUVJCcWFpRUVJQUlRT0NBRElBTW9Ba3dnQkdzMkFrd2dBQVJBSUFBaEFnd0JDd3NMSUFOQk5Hb2dBVUVDZEdvaUFDZ0NBQ0VCSUFCQkFEWUNBQ0FCUlFSQUR3c0RRQ0FCS0FJQUlRQWdBU2dDQ0NBQktBSUVRUkJxYWlFQ0lBRVFPQ0FESUFNb0Frd2dBbXMyQWt3Z0FBUkFJQUFoQVF3QkN3c0w5QUVCQkg4Z0FDZ0NCQ0VFSUFKQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUVRnMkFoUWdBMEVETmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFCUVFGTEJFQWdBQ2dDQUNJRFFRODJBaFFnQXlBQk5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQ1FRZ2dBa0VIY1NJRGEwRUFJQU1iYWlJRFFSQnFJZ1VRUkNJQ1JRUkFJQUFvQWdBaUJrRTROZ0lVSUFaQkJEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JDQUZJQVFvQWt4cU5nSk1JQUlnQkVFOGFpQUJRUUowYWlJQUtBSUFOZ0lBSUFJZ0F6WUNCQ0FDUVFBMkFnZ2dBQ0FDTmdJQUlBSkJFR29MMmdrQkVYOGdBQ2dDNUFNb0FoZ2hEQ0FCS0FJRUlnZ2dBU2dDQUNJQ1RDQUJLQUlJSWdrZ0FTZ0NEQ0lLU25JZ0FTZ0NFQ0lHSUFFb0FoUWlCMHB5QkVBZ0FpRUFCUUpBSUFJaEFBTkFBa0FnQUVFQ2RDQU1haWdDQUNFTklBa2hBd05BSUFOQkJuUWdEV29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUtTQVJBSUFRaEF3d0JDd3NnQUVFQmFpRURJQUFnQ0VnRVFDQURJUUFNQWdVZ0FpRUFEQU1MQUFzTElBRWdBRFlDQUFzTElBZ2dBRXdnQ1NBS1NuSWdCaUFIU25KRkJFQUNRQ0FJSVFJRFFBSkFJQUpCQW5RZ0RHb29BZ0FoRFNBSklRTURRQ0FEUVFaMElBMXFJQVpCQVhScUlRVWdCaUVFQTBBZ0JTNEJBQTBDSUFWQkFtb2hCU0FFUVFGcUlRc2dCQ0FIU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NrZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaERpQUNJQUJNRFFJZ0RpRUNEQUVMQ3lBQklBSTJBZ1FnQWlFSUN3c2dDQ0FBU0NBS0lBbE1jaUFHSUFkS2NrVUVRQUpBSUFraEFnTkFBa0FnQUNFREEwQWdBMEVDZENBTWFpZ0NBQ0FDUVFaMGFpQUdRUUYwYWlFRklBWWhCQU5BSUFVdUFRQU5BaUFGUVFKcUlRVWdCRUVCYWlFTElBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVE4Z0FpQUtUZzBDSUE4aEFnd0JDd3NnQVNBQ05nSUlJQUloQ1FzTElBZ2dBRWdnQ2lBSlRISWdCaUFIU25KRkJFQUNRQ0FLSVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdBa0VHZEdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFJU0FSQUlBUWhBd3dCQ3dzZ0FrRi9haUVRSUFJZ0NVd05BaUFRSVFJTUFRc0xJQUVnQWpZQ0RDQUNJUW9MQ3lBSUlBQklJQWNnQmt4eUlBb2dDVWh5UlFSQUFrQWdCaUVDQTBBQ1FDQUFJUU1EUUNBRFFRSjBJQXhxS0FJQUlBa2lCRUVHZEdvZ0FrRUJkR29oQlFOQUlBVXVBUUFOQWlBRVFRRnFJUXNnQlVGQWF5RUZJQVFnQ2tnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlSRWdBaUFIVGcwQ0lCRWhBZ3dCQ3dzZ0FTQUNOZ0lRSUFJaEJnc0xJQWdnQUVnZ0J5QUdUSElnQ2lBSlNISkZCRUFDUUNBSElRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQ1NJRVFRWjBhaUFDUVFGMGFpRUZBMEFnQlM0QkFBMENJQVJCQVdvaEN5QUZRVUJySVFVZ0JDQUtTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ0VnRVFDQUVJUU1NQVFzTElBSkJmMm9oRWlBQ0lBWk1EUUlnRWlFQ0RBRUxDeUFCSUFJMkFoUWdBaUVIQ3dzZ0FTQUlJQUJyUVFSMElnSWdBbXdnQ2lBSmEwRU1iQ0lDSUFKc2FpQUhJQVpyUVFOMElnSWdBbXhxTmdJWUlBZ2dBRWdnQ2lBSlNISWdCeUFHU0hJRVFDQUJRUUEyQWh3UEMwRUFJUU1nQUNFQ0EwQWdBa0VDZENBTWFpZ0NBQ0VOSUFNaEFDQUpJUU1EUUNBRFFRWjBJQTFxSUFZaUJFRUJkR29oQlFOQUlBQWdCUzRCQUVFQVIyb2hBQ0FFUVFGcUlRc2dCVUVDYWlFRklBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFwSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVFRZ0FpQUlTQVJBSUFBaEF5QUVJUUlNQVFzTElBRWdBRFlDSEF1eEF3RUdmeUFBS0FJWUlnSW9BZ1FoQVNBQ0tBSUFJUVFDUUFOQUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNFUUFOQUlBQW9BdEFESWdNZ0F5Z0NHRUVCYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkJDQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY05BQXNMQTBBZ0FRUi9JQVFGSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMERJQUlvQWdRaEFTQUNLQUlBQ3lFRElBRkJmMm9oQVNBRFFRRnFJUVFnQXl3QUFDSUZRWDlHRFFBTElBQW9BdEFESWdZb0FoZ2hBeUFGUlFSQUlBWWdBMEVDYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFREFFTEN5QUZRZjhCY1NFRklBTUVRQ0FBS0FJQUlnWkI5d0EyQWhRZ0JpQUROZ0lZSUFBb0FnQWdCVFlDSENBQUtBSUFLQUlFSVFNZ0FFRi9JQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURRUUEyQWhnTElBQWdCVFlDdUFNZ0FpQUVOZ0lBSUFJZ0FUWUNCRUVCRHd0QkFBdTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRUjBJQUJxSVFVZ0JFRUVkQ0FBYWlFR0lBUkJCSFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQUZLZ0lBSUFOQkFuUWdBV29xQWdDVUlBWXFBZ1FnQVVFUWFpQURRUUowYWlvQ0FKU1NJQWNxQWdnZ0FVRWdhaUFEUVFKMGFpb0NBSlNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQVJCQkhRZ0FHb3FBZ3dnQXlvQ0RKSTRBZ3dnQkVFQmFpRUVEQUVMQ3d1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVGZENBQ2FpQURRUU4wYWlBRkt3TUFJQU5CQTNRZ0FXb3JBd0NpSUFZckF3Z2dBVUVnYWlBRFFRTjBhaXNEQUtLZ0lBY3JBeEFnQVVGQWF5QURRUU4wYWlzREFLS2dPUU1BSUFOQkFXb2hBd3dCQ3dzZ0JFRUZkQ0FDYWlJRElBUkJCWFFnQUdvckF4Z2dBeXNER0tBNUF4Z2dCRUVCYWlFRURBRUxDd3RVQVFKL0EwQWdBa0VEUndSQVFRQWhBUU5BSUFGQkJFY0VRQ0FDUVFWMFFZQ2tBMm9nQVVFRGRHb2dBa0VGZENBQWFpQUJRUU4wYWlzREFEa0RBQ0FCUVFGcUlRRU1BUXNMSUFKQkFXb2hBZ3dCQ3dzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUNRWXlIQVVITnR3SkJBU0FCRUFrZ0F3c2tCZ3NvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFOQndJY0JRYnpRQWtFZklBRVFDU0FEQ3lRR0MvMEZBUVovSXdZaENTTUdRU0JxSkFZZ0NVRVFhaUVJSUFKRkJFQWdDRUhBeUFOQnpwd0NFRGRCNzV3Q0VEZEI3NklDRURkQi93QVFQa0gyb2dJUU4wSGduUUlRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlHS0FJQUtBSWNJUWNnQmtFS0lBZEJQM0ZCaWdGcUVRSUFJUVlnQ0JBOElBVWdCaEJBSUFVUVB4QUFDeUFEUlFSQUlBaEJ3TWdEUWZXZEFoQTNRZStjQWhBM1FlK2lBaEEzUVlBQkVENUI5cUlDRURkQmw1NENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBdEJmeUFDU1FSQUlBaEJ3TWdEUWEyZUFoQTNRZStjQWhBM1FlK2lBaEEzUVlFQkVENUI5cUlDRURkQjBwNENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBc2dCRVVFUUNBSVFjRElBMEgvbmdJUU4wSHZuQUlRTjBIdm9nSVFOMEdDQVJBK1FmYWlBaEEzUWFPZkFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnWW9BZ0FvQWh3aEJ5QUdRUW9nQjBFL2NVR0tBV29SQWdBaEJpQUlFRHdnQlNBR0VFQWdCUkEvRUFBTElBbEJDR29oQlNBQUlBRVF1UU1nQWlBRWJHd2lCallDRENBRElBWnNJZ1lnQUNnQ0ZFY0VRQ0FHRUZFaEJ5QUpRUUEyQWdBZ0NDQUpLQUlBTmdJQUlBVWdCeENvQnlBRktBSUFJUWNnQlNBQUtBSVlOZ0lBSUFBZ0J6WUNHQ0FGS0FJRUlRY2dCU0FBS0FJY05nSUVJQUFnQnpZQ0hDQUZFSlVCSUFBb0FoaEZCRUFnQ0VIQXlBTkJ4WjhDRURkQjc1d0NFRGRCNzZJQ0VEZEJsUUVRUGtIMm9nSVFOMEhvbndJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFvZ0IwRUtJQXBCUDNGQmlnRnFFUUlBSVFjZ0NCQThJQVVnQnhCQUlBVVFQeEFBQ3dzZ0FDQUJOZ0lBSUFBZ0FqWUNCQ0FBSUFNMkFnZ2dBQ0FFTmdJUUlBQWdCallDRkNBSkpBWUxxUUVCQkg4Z0FBUi9BMEFnQVNBQUtBSUVTQVJBSUFBb0FnZ2dBVUVDZEdvb0FnQUVRQ0FBSUFFUTBBWUxJQUZCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUNnQ0RDQUNJQU5xSWdSQkFuUnFLQUlBRURnZ0FDZ0NGQ0FFUVFKMGFpZ0NBQkE0SUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QUFLQUlNRURnZ0FDZ0NGQkE0SUFBb0FnZ1FPQ0FBS0FJUUVEZ2dBQ2dDR0JBNElBQVFPRUVBQlVGL0N4b0xOQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBQ2dDQUNnQ0FCREdCeUFCS0FJQUVJWUJFSUVDSVFJZ0FSQ1ZBU0FCSkFZZ0FndjNBUUVCZnlBRVFRRkdJUWtnQ0VFQVJ5RUVBbjhnQXdSL0lBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVQMEtEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1ErZ3NGSUFBZ0FTQUNJQVVnQnhESEN3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUXRBa01Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4Q3lDZ1VnQUNBQklBSWdCU0FIRU9ZSkN3c0ZJQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFSW9IREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRbWdnRklBQWdBU0FDSUFVZ0J4RFpCd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1FrZ1VNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEMwQmdVZ0FDQUJJQUlnQlNBSEVOUUZDd3NMQ3d2R0F3SUlmd0YrSXdZaEJDTUdRVUJySkFZZ0JFRUlhaUVISUFSQk9Hb2hDaUFFUVRScUlRZ2dCRUVRYWlFR0lBSXNBR1FFUUNBRUlBQW9Ba3cyQWpBZ0JDQUNFTVVCS0FJQU5nSW9JQVFnQWhERkFTZ0NCRFlDSUNBSUlBUW9BakEyQWdBZ0NpQUVLQUlvTmdJQUlBY2dCQ2dDSURZQ0FDQUFRY2dBYWlBSUlBb2dCeERVQndVZ0JrRUFOZ0lBSUFaQkFEWUNCQ0FHUVFBMkFnZ2dBaUFHSUFFZ0F4RFRCd05BSUFVZ0JpZ0NCQ0FHS0FJQUlnSnJRUUoxU1FSQUlBQWdBU0FGUVFKMElBSnFLQUlBSUFNUXV3SWdCVUVCYWlFRkRBRUxDeUFBS0FKa0lBQW9BbWhJQkVBZ0FTZ0NBQ0lDSUFFb0FnUkhCRUFnQWlnQ0FDRUxJQUVvQWdRaUJTQUJLQUlBSWdscklnSkJDRW9FUUNBSElBa3BBZ0FpRERjREFDQUpJQVZCZUdvaUJTa0NBRGNDQUNBRklBdzNBZ0FnQkNBSk5nSXNJQVFnQlRZQ0pDQUVJQWsyQWh3Z0NDQUVLQUlzTmdJQUlBb2dCQ2dDSkRZQ0FDQUhJQVFvQWh3MkFnQWdDQ0FDUVFOMlFYOXFJQWNRdndNZ0FTZ0NCQ0VGQzBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFCSUFWQmVHbzJBZ1FnQUNBQUtBSmtRUUZxTmdKa0lBQWdBU0FMSUFNUXV3SUxDeUFHRUZVTElBUWtCZ3RrQVFKL0lBQkJBRWNnQVVFQVIzRUVmeUFBUVF4cVFRQkJnQWdRUlJvZ0FTQUFLQUlFSUFBb0FnaHNhaUVDQTM4Z0FTQUNTUVIvSUFCQkRHb2dBUzBBQUVFQ2RHb2lBeUFES0FJQVFRRnFOZ0lBSUFGQkFXb2hBUXdCQlVFQUN3c0ZRWDhMQzFrQkFYMGdBQ0FDS2dJSUlBSXFBZ0FnQTVRZ0Fpb0NCQ0FFbEpLU0lBSXFBaUFnQWlvQ0dDQURsQ0FDS2dJY0lBU1VrcElpQlpVNEFnQWdBU0FDS2dJVUlBSXFBZ3dnQTVRZ0Fpb0NFQ0FFbEpLU0lBV1ZPQUlBQ3pRQUlBQWdBU2tDQURjQ0FDQUFJQUVwQWdnM0FnZ2dBQ0FCS1FJUU53SVFJQUFnQVNrQ0dEY0NHQ0FBSUFFb0FpQTJBaUFMdUFJQ0JYOENmQ01HSVFjakJrRWdhaVFHSUFkQkNHb2hCaUFIUVJScUlnZ2dCRUVFZEJCRUlnbzJBZ0FnQ2tVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBZEJFR29oQmlBSUlBUkJHR3dRUkNJSk5nSUVJQWxGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQzBFQUlRWURRQ0FHSUFSSUJFQWdCa0VFZENBS2FpQUdRUVIwSUFKcUt3TUFPUU1BSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF3QTVBd0FnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01JT1FNSUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzREVEa0RFQ0FHUVFGcUlRWU1BUXNMSUFnZ0JEWUNDQ0FBS0FJQUlBZ2dBU0FGSUFjUTZnRkJBRWdFUUNBSFJBQUFBQUNFMTVkQk9RTUFDeUFJS0FJQUVEZ2dDQ2dDQkJBNElBY3JBd0FoRENBSEpBWWdEQXNIQUNBQVFUeHFDMlVCQkg4RFFDQUZJQUpJQkVBZ0F5QURLQUlBUWYySERXeEJ3NzJhQVdvaUJEWUNBQ0FFUVJCMlFmLy9BWEVnQVJCUFFRSjBJQUJxSVFRZ0JVRUNkQ0FBYWlJR0tBSUFJUWNnQmlBRUtBSUFOZ0lBSUFRZ0J6WUNBQ0FGUVFGcUlRVU1BUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93TWdBQ2dDQkNBQUtBSUFhMEVDZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlnQ0NDQUJLQUlBTmdJQUlBSWdBaWdDQ0VFRWFqWUNDQ0FBSUFJUTVBRWdBaERIQVNBQ0pBWUxDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FvUWdnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xVd0VEZnlBQVFlZ0FhaUVEQTBBZ0FpQUFLQUpzSUFNb0FnQWlBV3RCQW5WSkJFQWdBa0VDZENBQmFpZ0NBQ0lCQkVBZ0FSREVBaUFCRURnTElBSkJBV29oQWd3QkN3c2dBRUgwQUdvUVZTQURFRlVMbHdFQkFuOGdBVUVCUmdSQVFRSWhBUVVnQVNBQlFYOXFjUVJBSUFFUTBRRWhBUXNMSUFFZ0FDZ0NCQ0lEU3dSQUlBQWdBUkRpQXdVZ0FTQURTUVJBSUFBb0FneXpJQUFxQWhDVmpSQ1NBU0VDSUFOQmYyb2dBM0ZGSUFOQkFrdHhCSDhnQWtFQlFTQWdBa0YvYW1kcmRDQUNRUUpKR3dVZ0FoRFJBUXNpQWlBQklBRWdBa2tiSWdFZ0Ewa0VRQ0FBSUFFUTRnTUxDd3NMRXdBZ0FFSHNoUUUyQWdBZ0FFRUVhaERTQWdzbEFDQUFRZHlGQVRZQ0FDQUFRVGhxRUZVZ0FFRXNhaEJWSUFCQklHb1FWU0FBRU1ZQ0N3MEFJQUFvQWdBZ0FVRUZkR29MM2dNQkEzOGpCaUVJSXdaQkVHb2tCaUFHUVFCS0JFQWdCa0VCYWlBRktBSUVTUVJBSUFkQmYyb2hDU0FIUVFCS0JFQWdCMEVCYWlJS0lBVW9BZ2hKQkVBZ0JTQUpFRkFnQmtFQ2RHb2hDU0FGSUFjUVVDQUdRUUowYWlFSElBVWdDaEJRSUFaQkFuUnFJUVVnQUNBSEtnSUVJQWRCZkdvaUFDb0NBSk5EQUFBQVA1UTRBZ0FnQVNBRktnSUFJQWtxQWdDVFF3QUFBRCtVT0FJQUlBSWdCeW9DQkNBQUtnSUFJQWNxQWdCREFBQUFRSlNUa2pnQ0FDQURJQVVxQWdBZ0NTb0NBQ0FIS2dJQVF3QUFBRUNVazVJNEFnQWdCQ0FKUVh4cUtnSUFJQVVxQWdTU0lBa3FBZ1FnQlVGOGFpb0NBSktUUXdBQWdENlVPQUlBSUFna0JnOExDeUFJUWNESUEwRzUyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2RBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSVFjRElBMEdCMkFFUU4wSE95d0VRTjBIdm9nSVFOMEdjQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTERRQWdBQ0FDbENBQklBR1Vrd3M2QVFKOVF3QUFnRDlCQVNBRWRMS1ZJZ1ZEQUFBQVA1UkRBQUFBdjVJaEJpQUFJQVVnQXBRZ0JwSTRBZ0FnQVNBRklBT1VJQWFTT0FJQUN6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZUdvaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFRGRXdEJBM1JxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVZ4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xsd0VCQkg4Z0FVRUVhaUlES0FJQUlRSWdBeUFBS0FJRUlBQW9BZ0FpQkdzaUJVRmNFRGxCSkd3Z0Ftb2lBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxjZ0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjZmo4VGhMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRU1JzRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCSkd3Z0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFTUnNJQVJxTmdJTUMwNEJBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJKQkE1SUFGSkJFQWdBaUFCSUFBb0FnUWdBMnRCSkJBNUlBQkJDR29RMEFJZ0FDQUNFTThDSUFJUXpnSUxJQUlrQmd0QUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV0JxSWdFUTNRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN6OEJBbjhnQUNnQ0FDSUNCRUFnQUNnQ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dGRBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUVYxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1FqQWtGSUFNZ0FVc0VRQ0FCUVFWMElBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJZR29pQVJEZEFRd0JDd3NnQUNBQ05nSUVDd3NMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZFdxMWFvQlN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFTWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FReHNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVNYkNBRWFqWUNEQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYOXFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMamdFQkJIOGdBVUVFYWlJREtBSUFJQUFvQWdRZ0FDZ0NBQ0lFYXlJRmF5RUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMUUFBZ0FFRUFOZ0lNSUFBZ0F6WUNFQ0FBSUFFRWZ5QUJFRkVGUVFBTElnTTJBZ0FnQUNBQ0lBTnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FTQURhallDREFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQzlRQ0FnWi9BbjBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUpJQVpCREdvaEN5QUdRUWhxSVFnZ0JrRUVhaUVLSUFRcUFnZ2hEQ0FFS2dJTUlRMGdCUUovQWtBQ1FBSkFJQUZGRFFBZ0FDQUJJQXdnRFNBSElBZ1E1UUZCQUVnTkFDQUZJQWNxQWdBUVF6WUNBQ0FGSUFncUFnQVFRellDQkNBQ1JRMEJJQUFnQWlBTUlBMGdDU0FLRU9VQlFRQklEUUVnQlNBSEtnSUFRd0FBQUVDVUlBa3FBZ0NURUVNMkFnZ2dCU0FJS2dJQVF3QUFBRUNVSUFvcUFnQ1RFRU0yQWd3Z0EwVU5BaUFBSUFNZ0RDQU5JQXNnQmhEbEFVRUFTQTBDSUFVZ0N5b0NBQ0FIS2dJQVF3QUFRRUNVSUFrcUFnQkRBQUJBUUpTVGtoQkROZ0lRSUFZcUFnQWdDQ29DQUVNQUFFQkFsQ0FLS2dJQVF3QUFRRUNVazVJUVF3d0RDeUFGUVg4MkFnQWdCVUYvTmdJRUN5QUZRWDgyQWdnZ0JVRi9OZ0lNQ3lBRlFYODJBaEJCZndzMkFoUWdCaVFHQzA0QkFuMGdBU29DQUNBQUtnSUFreUlFSUFTVUlBRXFBZ1FnQUNvQ0JKTWlCQ0FFbEpLUklnVkRBQUFBQUZ3RVFDQUNJQVFnQlpVNEFnQWdBeUFCS2dJQUlBQXFBZ0NUSUFXVk9BSUFDd3NHQUVFYUVBSUxwd0VCQW45QmJ5QUJheUFDU1FSQUVBQUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUVGSUFGQjUvLy8vd2RKQkg5QkN5QUJRUUYwSWdZZ0FTQUNhaUlDSUFJZ0Jra2JJZ0pCRUdwQmNIRWdBa0VMU1JzRlFXOExJZ1lRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ29BUXNnQXlBRWF5SURCRUFnQWlBRWFpQUVJQVZxSUFNUXFBRUxJQUZCQ2tjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUN6NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FTd0FDMEVBU0FSQUlBQWdBU2dDQUNBQktBSUVFSDRGSUFBZ0FTa0NBRGNDQUNBQUlBRW9BZ2cyQWdnTEN3UUFRUUVMQ2dBZ0FCQTRJQUVRT0FzTEFDQUVJQUkyQWdCQkF3c2ZBUUYvSUFBb0FnQWlBUVIvSUFFUU9DQUFRUUEyQWdCQkFBVkJmd3NhQzZNQkFRTi9RWWdCRUVRaUFRUkFBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQ1FRVjBJQUZxSUFOQkEzUnFJQUpCQlhRZ0FHb2dBMEVEZEdvckF3QTVBd0FnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBRkJDallDWUNBQlJBQUFBS0NabWJrL09RTm9JQUZFQUFBQWdCU3U3ejg1QTNBZ0FVUUFBQUFBQUFBUVFEa0RlQ0FCUkFBQUFBQUFBT0EvT1FPQUFRVkJBQ0VCQ3lBQkM3OEVBUUYvSUFBZ0JVWUVmeUFCTEFBQUJIOGdBVUVBT2dBQUlBUWdCQ2dDQUNJQVFRRnFOZ0lBSUFCQkxqb0FBQ0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzRVFDQUpLQUlBSWdBZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FMQzBFQUJVRi9Dd1VDZnlBQUlBWkdCRUFnQnlnQ0JDQUhMQUFMSWdWQi93RnhJQVZCQUVnYkJFQkJmeUFCTEFBQVJRMENHa0VBSUFrb0FnQWlBQ0FJYTBHZ0FVNE5BaG9nQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQWdDa0VBTmdJQVFRQU1BZ3NMSUF0QmdBRnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0Myb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFMYXlJQVFmd0FTZ1IvUVg4RklBQkJBblZCOE84QWFpd0FBQ0VGQWtBQ1FBSkFBa0FnQUVHb2Yyb2lCa0VDZGlBR1FSNTBjZzRFQVFFQUFBSUxJQVFvQWdBaUFDQURSd1JBUVg4Z0FFRi9haXdBQUVIZkFIRWdBaXdBQUVIL0FIRkhEUVVhQ3lBRUlBQkJBV28yQWdBZ0FDQUZPZ0FBUVFBTUJBc2dBa0hRQURvQUFBd0JDeUFGUWQ4QWNTSURJQUlzQUFCR0JFQWdBaUFEUVlBQmNqb0FBQ0FCTEFBQUJFQWdBVUVBT2dBQUlBY29BZ1FnQnl3QUN5SUJRZjhCY1NBQlFRQklHd1JBSUFrb0FnQWlBU0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRSWdDU0FCUVFScU5nSUFJQUVnQWpZQ0FBc0xDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQlRvQUFDQUFRZFFBVEFSQUlBb2dDaWdDQUVFQmFqWUNBQXRCQUFzTEN3dWtBUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdBUkE3SUFWQm9NNERFRG9pQVNnQ0FDZ0NNQ0VHSUFGQjhPOEFRWkR3QUNBQ0lBWkJEM0ZCaWdKcUVRa0FHaUFGUWFqT0F4QTZJZ0VvQWdBb0Fnd2hBaUFESUFFZ0FrSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDZ0NFQ0VDSUFRZ0FTQUNRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFVUVBDQUZKQVlMVWdJQ2Z3RjhJQUFvQWdRaUF5QUJLQUlFUndSQVFRQVFBUXNEUUNBQ0lBTklCRUFnQkNBQUtBSUFJQUpCQTNScUt3TUFJQUVvQWdBZ0FrRURkR29yQXdDaW9DRUVJQUpCQVdvaEFnd0JDd3NnQkFzM0FRSi9RUWdRUkNJQkJFQWdBU0FBUVFOMEVFUWlBallDQUNBQ0JFQWdBU0FBTmdJRUJTQUJFRGhCQUNFQkN3VkJBQ0VCQ3lBQkM5VUVBUUYvSUFCQi93RnhJQVZCL3dGeFJnUi9JQUVzQUFBRWZ5QUJRUUE2QUFBZ0JDQUVLQUlBSWdCQkFXbzJBZ0FnQUVFdU9nQUFJQWNvQWdRZ0J5d0FDeUlBUWY4QmNTQUFRUUJJR3dSQUlBa29BZ0FpQUNBSWEwR2dBVWdFUUNBS0tBSUFJUUVnQ1NBQVFRUnFOZ0lBSUFBZ0FUWUNBQXNMUVFBRlFYOExCUUovSUFCQi93RnhJQVpCL3dGeFJnUkFJQWNvQWdRZ0J5d0FDeUlGUWY4QmNTQUZRUUJJR3dSQVFYOGdBU3dBQUVVTkFocEJBQ0FKS0FJQUlnQWdDR3RCb0FGT0RRSWFJQW9vQWdBaEFTQUpJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBcEJBRFlDQUVFQURBSUxDeUFMUVNCcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBRklBdHFJZ1V0QUFBZ0FFSC9BWEZHQkg4Z0JRVWdCaUVGREFJTEN3c2dDMnNpQlVFZlNnUi9RWDhGSUFWQjhPOEFhaXdBQUNFQUFrQUNRQUpBSUFWQkZtc09CQUVCQUFBQ0N5QUVLQUlBSWdFZ0EwY0VRRUYvSUFGQmYyb3NBQUJCM3dCeElBSXNBQUJCL3dCeFJ3MEVHZ3NnQkNBQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBREFNTElBSkIwQUE2QUFBZ0JDQUVLQUlBSWdGQkFXbzJBZ0FnQVNBQU9nQUFRUUFNQWdzZ0FFSGZBSEVpQXlBQ0xBQUFSZ1JBSUFJZ0EwR0FBWEk2QUFBZ0FTd0FBQVJBSUFGQkFEb0FBQ0FIS0FJRUlBY3NBQXNpQVVIL0FYRWdBVUVBU0JzRVFDQUpLQUlBSWdFZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VDSUFrZ0FVRUVhallDQUNBQklBSTJBZ0FMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBSUFWQkZVb05BUm9nQ2lBS0tBSUFRUUZxTmdJQVFRQUxDd3NMcEFFQkFuOGpCaUVGSXdaQkVHb2tCaUFGSUFFUU95QUZRWURPQXhBNklnRW9BZ0FvQWlBaEJpQUJRZkR2QUVHUThBQWdBaUFHUVE5eFFZb0NhaEVKQUJvZ0JVR1F6Z01RT2lJQktBSUFLQUlNSVFJZ0F5QUJJQUpCL3dCeFFRaHFFUUFBT2dBQUlBRW9BZ0FvQWhBaEFpQUVJQUVnQWtIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQUZFRHdnQlNRR0N3c0FJQUFRbVFJZ0FCQTRDd3NBSUFBUW1nSWdBQkE0Q3dzQUlBQVEwQVFnQUJBNEN3c0FJQUFRMWdRZ0FCQTRDeE1BSUFBZ0E2SWdBU0FFb3FBZ0FpQUZvcUFMVndFRGZ5QUFLQUlFSWdkQkNIVWhCaUFIUVFGeEJFQWdBeWdDQUNBR2FpZ0NBQ0VHQ3lBQUtBSUFJZ0FvQWdBb0FoUWhDQ0FBSUFFZ0FpQURJQVpxSUFSQkFpQUhRUUp4R3lBRklBaEJCM0ZCMmdacUVRd0FDeFFBSUFBZ0FLSWdBU0FCb3FBZ0FpQUNvcUNmQzZjQkFDQUFRUUU2QURVZ0FpQUFLQUlFUmdSQUFrQWdBRUVCT2dBMElBQW9BaEFpQWtVRVFDQUFJQUUyQWhBZ0FDQUROZ0lZSUFCQkFUWUNKQ0FBS0FJd1FRRkdJQU5CQVVaeFJRMEJJQUJCQVRvQU5nd0JDeUFCSUFKSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFUb0FOZ3dCQ3lBQUtBSVlJZ0ZCQWtZRVFDQUFJQU0yQWhnRklBRWhBd3NnQUNnQ01FRUJSaUFEUVFGR2NRUkFJQUJCQVRvQU5nc0xDd3NmQUNBQklBQW9BZ1JHQkVBZ0FDZ0NIRUVCUndSQUlBQWdBallDSEFzTEMxNEJBWDhnQUNnQ0VDSURCRUFDUUNBQklBTkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBallDR0NBQVFRRTZBRFlNQVFzZ0FDZ0NHRUVDUmdSQUlBQWdBallDR0FzTEJTQUFJQUUyQWhBZ0FDQUNOZ0lZSUFCQkFUWUNKQXNMNUFJQ0FuOENmU0FBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVILy8vL2pCRXNFUUNBQVE5b1B5YjlEMmcvSlB5QUNHeUFCUVlDQWdQd0hTeHNQQ3lBQlFZQ0FnUGNEU1FSQUlBRkJnSUNBekFOSkJIOGdBQThGUVg4TElRRUZJQUNMSVFBZ0FVR0FnT0Q4QTBrRWZTQUJRWUNBd1BrRFNRUjlRUUFoQVNBQVF3QUFBRUNVUXdBQWdMK1NJQUJEQUFBQVFKS1ZCVUVCSVFFZ0FFTUFBSUMva2lBQVF3QUFnRCtTbFFzRklBRkJnSUR3Z0FSSkJIMUJBaUVCSUFCREFBREF2NUlnQUVNQUFNQS9sRU1BQUlBL2twVUZRUU1oQVVNQUFJQy9JQUNWQ3dzaEFBc2dBQ0FBbENJRUlBU1VJUU1nQkNBRElBTkRKYXg4UFpSRERmVVJQcEtVUTZtcXFqNlNsQ0VFSUFORG1NcE12aUFEUTBjUzJqMlVrNVFoQXlBQlFRQklCSDBnQUNBQUlBTWdCSktVa3dVZ0FVRUNkRUhRN0FCcUtnSUFJQUFnQXlBRWtwUWdBVUVDZEVIZzdBQnFLZ0lBa3lBQWs1TWlBQ0FBakNBQ1JSc0xDL3dDQWdOL0FYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFUUNBQlFZQ0FnTXdEVHdSQUlBQzdFSkVCSVFBTEJRSjlJQUZCMHFmdGd3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGtsOXVBQkU4RVFFUVlMVVJVK3lFSlFFUVlMVVJVK3lFSndDQUNHeUFFb0pvUWtRRU1BZ3NnQWdSQUlBUkVHQzFFVlBzaCtUK2dFSkFCakF3Q0JTQUVSQmd0UkZUN0lmbS9vQkNRQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGcyNytGQkU4RVFFUVlMVVJVK3lFWlFFUVlMVVJVK3lFWndDQUNHeUFFb0JDUkFRd0NDeUFDQkVBZ0JFVFNJVE4vZk5rU1FLQVFrQUVNQWdVZ0JFVFNJVE4vZk5rU3dLQVFrQUdNREFJTEFBc2dBQ0FBa3lBQlFmLy8vL3NIU3cwQUdnSkFBa0FDUUFKQUlBQWdBeEQ2QWtFRGNRNERBQUVDQXdzZ0F5c0RBQkNSQVF3REN5QURLd01BRUpBQkRBSUxJQU1yQXdDYUVKRUJEQUVMSUFNckF3QVFrQUdNQ3lFQUN5QURKQVlnQUF2L0FnTURmd0Y5QVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VmU0FCUVlDQWdNd0RTUVI5UXdBQWdEOEZJQUM3RUpBQkN3VUNmU0FCUWRLbjdZTUVTUVJBSUFKQkFFY2hBaUFBdXlFRklBRkI0NWZiZ0FSTEJFQkVHQzFFVlBzaENVQkVHQzFFVlBzaENjQWdBaHNnQmFBUWtBR01EQUlMSUFJRVFDQUZSQmd0UkZUN0lmay9vQkNSQVF3Q0JVUVlMVVJVK3lINVB5QUZvUkNSQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUZCMzl1L2hRUkxCRUJFR0MxRVZQc2hHVUJFR0MxRVZQc2hHY0FnQWhzZ0FMdWdFSkFCREFJTElBSUVRQ0FBakx0RTBpRXpmM3paRXNDZ0VKRUJEQUlGSUFDN1JOSWhNMzk4MlJMQW9CQ1JBUXdDQ3dBTElBQWdBSk1nQVVILy8vLzdCMHNOQUJvQ1FBSkFBa0FDUUNBQUlBTVErZ0pCQTNFT0F3QUJBZ01MSUFNckF3QVFrQUVNQXdzZ0F5c0RBSm9Ra1FFTUFnc2dBeXNEQUJDUUFZd01BUXNnQXlzREFCQ1JBUXNMSVFRZ0F5UUdJQVFMZHdFQmZ3SkFBa0FnQUEwQVFjVEZBeWdDQUNJQURRQkJBQ0VBREFFTElBQVE5d1FnQUdvaUFDd0FBRVVFUUVIRXhRTkJBRFlDQUVFQUlRQU1BUXRCeE1VRElBQVE3UVFnQUdvaUFUWUNBQ0FCTEFBQUJFQkJ4TVVESUFGQkFXbzJBZ0FnQVVFQU9nQUFCVUhFeFFOQkFEWUNBQXNMSUFBTEtnRUJmaUFBS0FKTUdpQUFFTzhFSWdGQy8vLy8vd2RWQkg5QnBNVURRVDAyQWdCQmZ3VWdBYWNMQ3g0QUlBQW9Ba3dhSUFCQ0FFRUFFSWtESUFBZ0FDZ0NBRUZmY1RZQ0FBdndBUUlHZndKOEl3WWhBeU1HUVJCcUpBWWdBMEVJYWlFRUlBQzhJZ1ZCLy8vLy93ZHhJZ0pCMjUrazdnUkpCSDhnQUxzaUNFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lKRUhNaEJpQUJJQWdnQ1VRQUFBQlEreUg1UDZLaElBbEVZMklhWWJRUVVUNmlvVGtEQUNBR0JRSi9JQUpCLy8vLyt3ZExCRUFnQVNBQUlBQ1R1emtEQUVFQURBRUxJQVFnQWlBQ1FSZDJRZXArYWlJQ1FSZDBhNzY3T1FNQUlBUWdBeUFDUVFGQkFCRDdBaUVDSUFNckF3QWhDQ0FGUVFCSUJIOGdBU0FJbWprREFFRUFJQUpyQlNBQklBZzVBd0FnQWdzTEN5RUhJQU1rQmlBSEM0TVJBaFovQTN3akJpRU5Jd1pCc0FScUpBWWdEVUhBQW1vaER5QUVRUUowUWZEcEFHb29BZ0FoRGlBQ1FYMXFRUmdRT1NJRlFRQWdCVUVBU2hzaEVTQU9JQU5CZjJvaUIycEJBRTRFUUNBRElBNXFJUWtnRVNBSGF5RUZBMEFnQmtFRGRDQVBhaUFGUVFCSUJIeEVBQUFBQUFBQUFBQUZJQVZCQW5SQmdPb0FhaWdDQUxjTE9RTUFJQVZCQVdvaEJTQUdRUUZxSWdZZ0NVY05BQXNMSUExQjRBTnFJUXdnRFVHZ0FXb2hDaUFSUVdoc0loVWdBa0ZvYW1vaENTQURRUUJLSVFoQkFDRUZBMEFnQ0FSQUlBVWdCMm9oQzBRQUFBQUFBQUFBQUNFYlFRQWhCZ05BSUJzZ0JrRURkQ0FBYWlzREFDQUxJQVpyUVFOMElBOXFLd01Bb3FBaEd5QUdRUUZxSWdZZ0EwY05BQXNGUkFBQUFBQUFBQUFBSVJzTElBVkJBM1FnRFdvZ0d6a0RBQ0FGUVFGcUlRWWdCU0FPU0FSQUlBWWhCUXdCQ3dzZ0NVRUFTaUVTUVJnZ0NXc2hFMEVYSUFscklSWWdDVVVoRnlBRFFRQktJUmdnRGlFRkFrQUNRQU5BQWtBZ0JVRURkQ0FOYWlzREFDRWJJQVZCQUVvaUN3UkFJQVVoQmtFQUlRY0RRQ0FIUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWM3Y2lHMFFBQUFBQUFBQndRYUtoRUhNMkFnQWdCa0YvYWlJSVFRTjBJQTFxS3dNQUlCdWdJUnNnQjBFQmFpRUhJQVpCQVVvRVFDQUlJUVlNQVFzTEN5QWJJQWtRbndFaUd5QWJSQUFBQUFBQUFNQS9vcHhFQUFBQUFBQUFJRUNpb1NJYkVITWhCaUFiSUFhM29TRWJBa0FDUUFKQUlCSUVmeUFGUVg5cVFRSjBJQXhxSWdnb0FnQWlFQ0FUZFNFSElBZ2dFQ0FISUJOMGF5SUlOZ0lBSUFnZ0ZuVWhDQ0FHSUFkcUlRWU1BUVVnRndSL0lBVkJmMnBCQW5RZ0RHb29BZ0JCRjNVaENBd0NCU0FiUkFBQUFBQUFBT0EvWmdSL1FRSWhDQXdFQlVFQUN3c0xJUWdNQWdzZ0NFRUFTZzBBREFFTElBWWhHaUFMQkg5QkFDRUdRUUFoQ3dOL0lBdEJBblFnREdvaUdTZ0NBQ0VRQWtBQ1FDQUdCSDlCLy8vL0J5RVVEQUVGSUJBRWYwRUJJUVpCZ0lDQUNDRVVEQUlGUVFBTEN5RUdEQUVMSUJrZ0ZDQVFhellDQUFzZ0MwRUJhaUlMSUFWSERRQWdCZ3NGUVFBTElRc2dFZ1JBQWtBQ1FBSkFJQWxCQVdzT0FnQUJBZ3NnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0EzRTJBZ0FNQVFzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BWEUyQWdBTEN5QWFRUUZxSVFZZ0NFRUNSZ1JBUkFBQUFBQUFBUEEvSUJ1aElSc2dDd1JBSUJ0RUFBQUFBQUFBOEQ4Z0NSQ2ZBYUVoR3d0QkFpRUlDd3NnRzBRQUFBQUFBQUFBQUdJTkFpQUZJQTVLQkVCQkFDRUxJQVVoQndOQUlBc2dCMEYvYWlJSFFRSjBJQXhxS0FJQWNpRUxJQWNnRGtvTkFBc2dDdzBCQzBFQklRWURRQ0FHUVFGcUlRY2dEaUFHYTBFQ2RDQU1haWdDQUVVRVFDQUhJUVlNQVFzTElBVWdCbW9oQndOQUlBTWdCV29pQ0VFRGRDQVBhaUFGUVFGcUlnWWdFV3BCQW5SQmdPb0FhaWdDQUxjNUF3QWdHQVJBUkFBQUFBQUFBQUFBSVJ0QkFDRUZBMEFnR3lBRlFRTjBJQUJxS3dNQUlBZ2dCV3RCQTNRZ0Qyb3JBd0Npb0NFYklBVkJBV29pQlNBRFJ3MEFDd1ZFQUFBQUFBQUFBQUFoR3dzZ0JrRURkQ0FOYWlBYk9RTUFJQVlnQjBnRVFDQUdJUVVNQVFzTElBY2hCUXdCQ3dzZ0NTRUFBMzhnQUVGb2FpRUFJQVZCZjJvaUJVRUNkQ0FNYWlnQ0FFVU5BQ0FBSVFJZ0JRc2hBQXdCQ3lBYlFRQWdDV3NRbndFaUcwUUFBQUFBQUFCd1FXWUVmeUFGUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWN5SUR0MFFBQUFBQUFBQndRYUtoRUhNMkFnQWdBaUFWYWlFQ0lBVkJBV29GSUFraEFpQWJFSE1oQXlBRkN5SUFRUUowSUF4cUlBTTJBZ0FMUkFBQUFBQUFBUEEvSUFJUW53RWhHeUFBUVg5S0lnY0VRQ0FBSVFJRFFDQUNRUU4wSUExcUlCc2dBa0VDZENBTWFpZ0NBTGVpT1FNQUlCdEVBQUFBQUFBQWNENmlJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTElBY0VRQ0FBSVFJRFFDQUFJQUpySVFsQkFDRURSQUFBQUFBQUFBQUFJUnNEUUNBYklBTkJBM1JCa093QWFpc0RBQ0FDSUFOcVFRTjBJQTFxS3dNQW9xQWhHeUFEUVFGcUlRVWdBeUFPVGlBRElBbFBja1VFUUNBRklRTU1BUXNMSUFsQkEzUWdDbW9nR3prREFDQUNRWDlxSVFNZ0FrRUFTZ1JBSUFNaEFnd0JDd3NMQ3dKQUFrQUNRQUpBSUFRT0JBQUJBUUlEQ3lBSEJFQkVBQUFBQUFBQUFBQWhHd05BSUJzZ0FFRURkQ0FLYWlzREFLQWhHeUFBUVg5cUlRSWdBRUVBU2dSQUlBSWhBQXdCQ3dzRlJBQUFBQUFBQUFBQUlSc0xJQUVnRzVvZ0d5QUlHemtEQUF3Q0N5QUhCRUJFQUFBQUFBQUFBQUFoR3lBQUlRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMQlVRQUFBQUFBQUFBQUNFYkN5QUJJQnNnRzVvZ0NFVWlCQnM1QXdBZ0Npc0RBQ0Fib1NFYklBQkJBVTRFUUVFQklRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0VCYWlFRElBQWdBa2NFUUNBRElRSU1BUXNMQ3lBQklCc2dHNW9nQkJzNUF3Z01BUXNnQUVFQVNnUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdRckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUVJQnc1QXdBZ0FrRUJTZ1JBSUFNaEFpQWNJUnNNQVFzTElBQkJBVW9pQkFSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1VyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRklCdzVBd0FnQWtFQ1NnUkFJQU1oQWlBY0lSc01BUXNMSUFRRVFFUUFBQUFBQUFBQUFDRWJBMEFnR3lBQVFRTjBJQXBxS3dNQW9DRWJJQUJCZjJvaEFpQUFRUUpLQkVBZ0FpRUFEQUVMQ3dWRUFBQUFBQUFBQUFBaEd3c0ZSQUFBQUFBQUFBQUFJUnNMQlVRQUFBQUFBQUFBQUNFYkN5QUtLd01BSVJ3Z0NBUkFJQUVnSEpvNUF3QWdBU0FLS3dNSW1qa0RDQ0FCSUJ1YU9RTVFCU0FCSUJ3NUF3QWdBU0FLS3dNSU9RTUlJQUVnR3prREVBc0xJQTBrQmlBR1FRZHhDNEFKQXdoL0FYNEVmQ01HSVFRakJrRXdhaVFHSUFSQkVHb2hCU0FBdlNJS1FqK0lweUVHQW44Q1FDQUtRaUNJcHlJQ1FmLy8vLzhIY1NJRFFmdlV2WUFFU1FSL0lBSkIvLzgvY1VIN3d5UkdEUUVnQmtFQVJ5RUNJQU5CL2JLTGdBUkpCSDhnQWdSL0lBRWdBRVFBQUVCVSt5SDVQNkFpQUVReFkySWFZYlRRUGFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBEMmdPUU1JUVg4RklBRWdBRVFBQUVCVSt5SDV2NkFpQUVReFkySWFZYlRRdmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBMMmdPUU1JUVFFTEJTQUNCSDhnQVNBQVJBQUFRRlQ3SVFsQW9DSUFSREZqWWhwaHRPQTlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRnUGFBNUF3aEJmZ1VnQVNBQVJBQUFRRlQ3SVFuQW9DSUFSREZqWWhwaHRPQzlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRndmFBNUF3aEJBZ3NMQlFKL0lBTkJ2SXp4Z0FSSkJFQWdBMEc5KzllQUJFa0VRQ0FEUWZ5eXk0QUVSZzBFSUFZRVFDQUJJQUJFQUFBd2YzelpFa0NnSWdCRXlwU1RwNUVPNlQyZ0lnczVBd0FnQVNBQUlBdWhSTXFVazZlUkR1azlvRGtEQ0VGOURBTUZJQUVnQUVRQUFEQi9mTmtTd0tBaUFFVEtsSk9ua1E3cHZhQWlDemtEQUNBQklBQWdDNkZFeXBTVHA1RU82YjJnT1FNSVFRTU1Bd3NBQlNBRFFmdkQ1SUFFUmcwRUlBWUVRQ0FCSUFCRUFBQkFWUHNoR1VDZ0lnQkVNV05pR21HMDhEMmdJZ3M1QXdBZ0FTQUFJQXVoUkRGallocGh0UEE5b0RrRENFRjhEQU1GSUFFZ0FFUUFBRUJVK3lFWndLQWlBRVF4WTJJYVliVHd2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwOEwyZ09RTUlRUVFNQXdzQUN3QUxJQU5CKzhQa2lRUkpEUUlnQTBILy83Ly9CMHNFUUNBQklBQWdBS0VpQURrRENDQUJJQUE1QXdCQkFBd0JDeUFLUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBc01FQWhMOGhBRUVBSVFJRFFDQUNRUU4wSUFWcUlBQVFjN2NpQ3prREFDQUFJQXVoUkFBQUFBQUFBSEJCb2lFQUlBSkJBV29pQWtFQ1J3MEFDeUFGSUFBNUF4QWdBRVFBQUFBQUFBQUFBR0VFUUVFQklRSURRQ0FDUVg5cUlRY2dBa0VEZENBRmFpc0RBRVFBQUFBQUFBQUFBR0VFUUNBSElRSU1BUXNMQlVFQ0lRSUxJQVVnQkNBRFFSUjJRZXAzYWlBQ1FRRnFRUUVRK3dJaEFpQUVLd01BSVFBZ0JnUi9JQUVnQUpvNUF3QWdBU0FFS3dNSW1qa0RDRUVBSUFKckJTQUJJQUE1QXdBZ0FTQUVLd01JT1FNSUlBSUxDd3NNQVFzZ0FFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lNRUhNaENDQUJJQUFnREVRQUFFQlUreUg1UDZLaElnc2dERVF4WTJJYVliVFFQYUlpQUtFaURUa0RBQ0FEUVJSMklnY2dEYjFDTklpblFmOFBjV3RCRUVvRVFDQU1SSE53QXk2S0dhTTdvaUFMSUFzZ0RFUUFBR0FhWWJUUVBhSWlBS0VpQzZFZ0FLR2hJUUFnQVNBTElBQ2hJZzA1QXdBZ0RFVEJTU0FsbW9ON09hSWdDeUFMSUF4RUFBQUFMb29ab3p1aUlnNmhJZ3loSUE2aG9TRU9JQWNnRGIxQ05JaW5RZjhQY1d0Qk1Vb0VRQ0FCSUF3Z0RxRWlEVGtEQUNBT0lRQWdEQ0VMQ3dzZ0FTQUxJQTJoSUFDaE9RTUlJQWdMSVFrZ0JDUUdJQWtMRmdBZ0FDQUJJQUpDZ0lDQWdJQ0FnSUNBZnhDRUF3dmxDZ0VTZnlBQktBSUFJUVVDZndKQUlBTkZEUUFnQXlnQ0FDSUVSUTBBSUFBRWZ5QURRUUEyQWdBZ0JDRU9JQUFoRHlBQ0lSQWdCU0VJUVRBRklBUWhDU0FGSVFjZ0FpRUxRUm9MREFFTElBQkJBRWNoQTBIb2lRRW9BZ0FvQWdBRVFDQURCRUFnQUNFU0lBSWhFU0FGSVF4QklRd0NCU0FDSVJNZ0JTRVVRUThNQWdzQUN5QURSUVJBSUFVUVlDRUtRVDhNQVFzZ0FnUkFBa0FnQUNFR0lBSWhCQ0FGSVFNRFFDQURMQUFBSWdVRVFDQURRUUZxSVFNZ0JpQUZRZisvQTNFMkFnQWdCRUYvYWlJRVJRMENJQVpCQkdvaEJnd0JDd3NnQmtFQU5nSUFJQUZCQURZQ0FDQUNJQVJySVFwQlB3d0NDd1VnQlNFREN5QUJJQU0yQWdBZ0FpRUtRVDhMSVFNRFFBSkFBa0FDUUFKQUlBTkJEMFlFUUNBVElRTWdGQ0VGQTBBZ0JTd0FBQ0lFUWY4QmNVRi9ha0gvQUVrRWZ5QUZRUU54Qkg4Z0JBVWdCU2dDQUNJR1FmOEJjU0VFSUFZZ0JrSC8vZnQzYW5KQmdJR0NoSGh4Qkg4Z0JBVURRQ0FEUVh4cUlRTWdCVUVFYWlJRktBSUFJZ1FnQkVILy9mdDNhbkpCZ0lHQ2hIaHhSUTBBQ3lBRVFmOEJjUXNMQlNBRUMwSC9BWEVpQkVGL2FrSC9BRWtFUUNBRFFYOXFJUU1nQlVFQmFpRUZEQUVMQ3lBRVFiNSthaUlFUVRKTEJFQWdCU0VFSUFBaEJnd0RCU0FFUVFKMFFkQTBhaWdDQUNFSklBVkJBV29oQnlBRElRdEJHaUVEREFZTEFBVWdBMEVhUmdSQUlBY3RBQUJCQTNZaUEwRndhaUFESUFsQkduVnFja0VIU3dSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3REJTQUhRUUZxSVFNZ0NVR0FnSUFRY1FSL0lBTXNBQUJCd0FGeFFZQUJSd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdGQ3lBSFFRSnFJUU1nQ1VHQWdDQnhCSDhnQXl3QUFFSEFBWEZCZ0FGSEJFQWdBQ0VESUFraEJpQUhJUVFnQ3lFRkRBWUxJQWRCQTJvRklBTUxCU0FEQ3lFVUlBdEJmMm9oRTBFUElRTU1Cd3NBQlNBRFFTRkdCRUFnRVFSQUFrQWdFaUVGSUJFaEF5QU1JUVFEUUFKQUFrQUNRQ0FFTFFBQUlnWkJmMm9pRFVIL0FFOE5BQ0FFUVFOeFJTQURRUVJMY1FSQUFuOENRQU5BSUFRb0FnQWlCaUFHUWYvOSszZHFja0dBZ1lLRWVIRU5BU0FGSUFaQi93RnhOZ0lBSUFVZ0JDMEFBVFlDQkNBRklBUXRBQUkyQWdnZ0JFRUVhaUVOSUFWQkVHb2hCaUFGSUFRdEFBTTJBZ3dnQTBGOGFpSURRUVJMQkVBZ0JpRUZJQTBoQkF3QkN3c2dCaUVGSUEwaUJDd0FBQXdCQ3lBR1FmOEJjUXRCL3dGeElnWkJmMm9oRFF3QkN3d0JDeUFOUWY4QVR3MEJDeUFFUVFGcUlRUWdCU0FHTmdJQUlBTkJmMm9pQTBVTkFpQUZRUVJxSVFVTUFRc0xJQVpCdm41cUlnWkJNa3NFUUNBRklRWU1Cd3NnQmtFQ2RFSFFOR29vQWdBaERpQUZJUThnQXlFUUlBUkJBV29oQ0VFd0lRTU1DUXNGSUF3aEJBc2dBU0FFTmdJQUlBSWhDa0UvSVFNTUJ3VWdBMEV3UmdSQUlBZ3RBQUFpQkVFRGRpSURRWEJxSUFNZ0RrRWFkV3B5UVFkTEJFQWdEeUVESUE0aEJpQUlJUVFnRUNFRkRBVUZBa0FnQ0VFQmFpRUZJQVJCZ0g5cUlBNUJCblJ5SWdOQkFFZ0VRQUpBSUFVdEFBQkJnSDlxSWdSQlAwMEVRQ0FJUVFKcUlRVWdCQ0FEUVFaMGNpSURRUUJPQkVBZ0JTRU1EQUlMSUFVdEFBQkJnSDlxSWdWQlAwMEVRQ0FJUVFOcUlRd2dCU0FEUVFaMGNpRUREQUlMQzBHa3hRTkJHVFlDQUNBSVFYOXFJUlVNQWdzRklBVWhEQXNnRHlBRE5nSUFJQTlCQkdvaEVpQVFRWDlxSVJGQklTRUREQW9MQ3dVZ0EwRS9SZ1JBSUFvUEN3c0xDd3NNQXdzZ0JFRi9haUVFSUFZTkFTQURJUVlnQlNFREN5QUVMQUFBQkg4Z0JnVWdCZ1JBSUFaQkFEWUNBQ0FCUVFBMkFnQUxJQUlnQTJzaENrRS9JUU1NQXdzaEF3dEJwTVVEUVJrMkFnQWdBd1IvSUFRRlFYOGhDa0UvSVFNTUFnc2hGUXNnQVNBVk5nSUFRWDhoQ2tFL0lRTU1BQUFMQUF1a0FRRUZmeU1HSVFVakJrR0FBbW9rQmlBRklRTWdBa0VDVGdSQUFrQWdBa0VDZENBQmFpSUhJQU0yQWdBZ0FBUkFBMEFnQXlBQktBSUFJQUJCZ0FJZ0FFR0FBa2tiSWdRUVRCcEJBQ0VEQTBBZ0EwRUNkQ0FCYWlJR0tBSUFJQU5CQVdvaUEwRUNkQ0FCYWlnQ0FDQUVFRXdhSUFZZ0JpZ0NBQ0FFYWpZQ0FDQUNJQU5IRFFBTElBQWdCR3NpQUVVTkFpQUhLQUlBSVFNTUFBQUxBQXNMQ3lBRkpBWUxPUUVDZnlBQUJFQWdBRUVCY1VVRVFBTkFJQUZCQVdvaEFTQUFRUUYySVFJZ0FFRUNjVVVFUUNBQ0lRQU1BUXNMQ3dWQklDRUJDeUFCQ3lrQkFYOGdBQ2dDQUVGL2FoQ0FBeUlCQkg4Z0FRVWdBQ2dDQkJDQUF5SUFRU0JxUVFBZ0FCc0xDNXNFQVFkL0l3WWhCaU1HUWRBQmFpUUdJQVpCd0FGcUlnUkNBVGNEQUNBQklBSnNJZ2tFUUFKQVFRQWdBbXNoQ0NBR0lBSTJBZ1FnQmlBQ05nSUFRUUloQnlBQ0lnVWhBUU5BSUFkQkFuUWdCbW9nQWlBRmFpQUJhaUlLTmdJQUlBZEJBV29oQnlBS0lBbEpCRUFnQVNFRklBb2hBUXdCQ3dzZ0FDQUphaUFJYWlJQklBQkxCSDhnQVNFSFFRRWhBVUVCSVFVRGZ5QUZRUU54UVFOR0JIOGdBQ0FDSUFNZ0FTQUdFS0lDSUFSQkFoRHlBU0FCUVFKcUJTQUJRWDlxSWdWQkFuUWdCbW9vQWdBZ0J5QUFhMGtFUUNBQUlBSWdBeUFCSUFZUW9nSUZJQUFnQWlBRElBUWdBVUVBSUFZUThRRUxJQUZCQVVZRWZ5QUVRUUVROEFGQkFBVWdCQ0FGRVBBQlFRRUxDeUVCSUFRZ0JDZ0NBRUVCY2lJRk5nSUFJQUFnQW1vaUFDQUhTUTBBSUFFTEJVRUJJUVZCQVFzaEJ5QUFJQUlnQXlBRUlBZEJBQ0FHRVBFQklBQWhBU0FISVFBRFFBSi9Ba0FnQUVFQlJpQUZRUUZHY1FSL0lBUW9BZ1JGRFFRTUFRVWdBRUVDU0EwQklBUkJBaER3QVNBRUlBUW9BZ0JCQjNNMkFnQWdCRUVCRVBJQklBRWdBRUYrYWlJRlFRSjBJQVpxS0FJQWF5QUlhaUFDSUFNZ0JDQUFRWDlxUVFFZ0JoRHhBU0FFUVFFUThBRWdCQ0FFS0FJQVFRRnlJZ2MyQWdBZ0FTQUlhaUlCSUFJZ0F5QUVJQVZCQVNBR0VQRUJJQVVoQUNBSEN3d0JDeUFFSUFRUWdRTWlCUkR5QVNBQklBaHFJUUVnQUNBRmFpRUFJQVFvQWdBTElRVU1BQUFMQUFzTElBWWtCZ3NYQUNBQUVJb0JRUUJISUFCQklISkJuMzlxUVFaSmNndDlBZ0YvQVg0akJpRUVJd1pCa0FGcUpBWWdCRUVBTmdJQUlBUWdBRFlDQkNBRUlBQTJBaXdnQkVGL0lBQkIvLy8vL3dkcUlBQkJBRWdiTmdJSUlBUkJmellDVENBRVFnQVFnZ0VnQkNBQ1FRRWdBeENUQXlFRklBRUVRQ0FCSUFBZ0JDZ0NCQ0FFS1FONHAyb2dCQ2dDQ0d0cU5nSUFDeUFFSkFZZ0JRdmZCUUVKZnlNR0lRVWpCa0dRQW1va0JpQUJMQUFBUlFSQUFrQkJ4djRDRUEwaUFRUkFJQUVzQUFBTkFRc2dBRUVNYkVHZzZRQnFFQTBpQVFSQUlBRXNBQUFOQVF0QnpmNENFQTBpQVFSQUlBRXNBQUFOQVF0QjB2NENJUUVMQ3lBRlFZQUNhaUVHQTM4Q2Z5QUNJQUVnQW1vc0FBQWlBMEVBSUFOQkwwY2JSUTBBR2lBQ1FRRnFJZ0pCRDBrTkFVRVBDd3NoQXdKQUFrQUNRQ0FCTEFBQUlnSkJMa1lFUUVIUy9nSWhBUVVnQVNBRGFpd0FBQVJBUWRMK0FpRUJCU0FDUWNNQVJ3MENDd3NnQVN3QUFVVU5BUXNnQVVIUy9nSVFzd0ZGRFFBZ0FVSGEvZ0lRc3dGRkRRQkJ1TVVES0FJQUlnSUVRQU5BSUFFZ0FrRUlhaEN6QVVVTkF5QUNLQUlZSWdJTkFBc0xRYnpGQXhBYVFiakZBeWdDQUNJQ0JFQUNRQU5BSUFFZ0FrRUlhaEN6QVFSQUlBSW9BaGdpQWtVTkFnd0JDd3RCdk1VREVBNE1Bd3NMQW44Q1FFSHN4QU1vQWdBTkFFSGcvZ0lRRFNJQ1JRMEFJQUlzQUFCRkRRQkIvZ0VnQTJzaENTQURRUUZxSVFvRFFBSkFJQUpCT2hDcUFpSUhMQUFBSWdSQkFFZEJIM1JCSDNVZ0J5QUNhMm9pQ0NBSlNRUi9JQVVnQWlBSUVFd2FJQVVnQ0dvaUFrRXZPZ0FBSUFKQkFXb2dBU0FERUV3YUlBVWdDQ0FLYW1wQkFEb0FBQ0FGSUFZUU5TSUVEUUVnQnl3QUFBVWdCQXNoQWlBSElBSkIvd0Z4UVFCSGFpSUNMQUFBRFFFTUFnc0xRUndRUkNJQ0JIOGdBaUFFTmdJQUlBSWdCaWdDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FDQUNCU0FFSUFZb0FnQVEvQVFNQVFzTUFRdEJIQkJFSWdJRVFDQUNRZkNIQVNnQ0FEWUNBQ0FDUWZTSEFTZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUFzZ0Fnc2hBVUc4eFFNUURpQUJRZkNIQVNBQUlBRnlHeUVDREFFTElBQkZCRUFnQVN3QUFVRXVSZ1JBUWZDSEFTRUNEQUlMQzBFQUlRSUxJQVVrQmlBQ0N4Y0FJQUJCQUVjZ0FFSE14QU5IY1NBQVFZeUlBVWR4Q3c0QUlBQVFoZ01FUUNBQUVEZ0xDeDhCQW44Z0FCQmdRUUZxSWdFUVJDSUNCSDhnQWlBQUlBRVFUQVZCQUFzTG5nRUFJQUpCQVVZRVFDQUJJQUFvQWdnZ0FDZ0NCR3VzZlNFQkN3SkFBa0FnQUNnQ0ZDQUFLQUljVFEwQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUJJQUlnQUNnQ0tFRURjVUdtQTJvUkZBQkNBRk1FZjBGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NBRUZ2Y1RZQ0FFRUFDeG9MQzVFQkFnRi9BbjRDUUFKQUlBQzlJZ05DTklnaUJLZEIvdzl4SWdJRVFDQUNRZjhQUmdSQURBTUZEQUlMQUFzZ0FTQUFSQUFBQUFBQUFBQUFZZ1IvSUFCRUFBQUFBQUFBOEVPaUlBRVFpZ01oQUNBQktBSUFRVUJxQlVFQUN6WUNBQXdCQ3lBQklBU25RZjhQY1VHQ2VHbzJBZ0FnQTBMLy8vLy8vLy8vaDRCL2cwS0FnSUNBZ0lDQThEK0V2eUVBQ3lBQUN4RUFJQUFFZnlBQUlBRVFuZ0VGUVFBTEM3NERBd0YvQVg0QmZDQUJRUlJOQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCQ1dzT0NnQUJBZ01FQlFZSENBa0tDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRE5nSUFEQWtMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3NOd01BREFnTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU90TndNQURBY0xJQUlvQWdCQkIycEJlSEVpQVNrREFDRUVJQUlnQVVFSWFqWUNBQ0FBSUFRM0F3QU1CZ3NnQWlnQ0FFRURha0Y4Y1NJQktBSUFJUU1nQWlBQlFRUnFOZ0lBSUFBZ0EwSC8vd054UVJCMFFSQjFyRGNEQUF3RkN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWYvL0EzR3ROd01BREFRTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU5CL3dGeFFSaDBRUmgxckRjREFBd0RDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmOEJjYTAzQXdBTUFnc2dBaWdDQUVFSGFrRjRjU0lCS3dNQUlRVWdBaUFCUVFocU5nSUFJQUFnQlRrREFBd0JDeUFBSUFKQjZRVVJBd0FMQ3d0QUFRSi9JQUFvQWdBc0FBQVFpZ0VFUUFOQUlBQW9BZ0FpQWl3QUFDQUJRUXBzUVZCcWFpRUJJQUFnQWtFQmFqWUNBQ0FDTEFBQkVJb0JEUUFMQ3lBQkN3a0FJQUFnQVJDZkFRc0pBQ0FBSUFFUWpnVUxJZ0FnQUwxQy8vLy8vLy8vLy8vL0FJTWdBYjFDZ0lDQWdJQ0FnSUNBZjRPRXZ3dmdBd0lEZndGK0FuNENRQUpBQWtBQ1FDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRU3RyRGdNQUFRQUJDeUFDUVMxR0lRUWdBVUVBUnlBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lJRFFWQnFJZ0pCQ1V0eEJINGdBQ2dDYUFSK0lBQWdBQ2dDQkVGL2FqWUNCQXdFQlVLQWdJQ0FnSUNBZ0lCL0N3VWdBeUVCREFJTERBTUxJQUlpQVVGUWFpRUNDeUFDUVFsTERRQkJBQ0VDQTBBZ0FVRlFhaUFDUVFwc2FpRUNJQUpCekptejVnQklJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUEwRUtTWEVOQUFzZ0Fxd2hCU0FEUVFwSkJFQURRQ0FCckVKUWZDQUZRZ3ArZkNFRklBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQWtFS1NTQUZRcTZQaGRmSHd1dWpBVk54RFFBTElBSkJDa2tFUUFOQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTFFWQnFRUXBKRFFBTEN3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUNBRmZTQUZJQVFiREFFTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRb0NBZ0lDQWdJQ0FnSDhMQzhrSEFRVi9BbndDUUFKQUFrQUNRQUpBSUFFT0F3QUJBZ01MUWV0K0lRUkJHQ0VGREFNTFFjNTNJUVJCTlNFRkRBSUxRYzUzSVFSQk5TRUZEQUVMUkFBQUFBQUFBQUFBREFFTEEwQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBUkN5QVEwQUN3SkFBa0FDUUNBQlFTdHJEZ01BQVFBQkMwRUJJQUZCTFVaQkFYUnJJUVlnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVF3QkMwRUJJUVlMQWtBQ1FBSkFBMzhnQTBIKy9RSnFMQUFBSUFGQklISkdCSDhnQTBFSFNRUkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUVMSUFOQkFXb2lBMEVJU1EwQlFRZ0ZJQU1MQ3lJRFFmLy8vLzhIY1VFRGF3NEdBUUFBQUFBQ0FBc2dBa0VBUnlJSElBTkJBMHR4QkVBZ0EwRUlSZzBDREFFTElBTkZCRUFDUUVFQUlRTURmeUFEUWJ6K0Ftb3NBQUFnQVVFZ2NrY05BU0FEUVFKSkJFQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXNnQTBFQmFpSURRUU5KRFFCQkF3c2hBd3NMQWtBQ1FBSkFJQU1PQkFFQ0FnQUNDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEVvUndSQUl3RWdBQ2dDYUVVTkJSb2dBQ0FBS0FJRVFYOXFOZ0lFSXdFTUJRdEJBU0VCQTBCQkFDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRVkJxUVFwSklBSkJ2MzlxUVJwSmNrVWdBa0hmQUVZZ0FrR2ZmMnBCR2tseUcwVUVRQ0FCUVFGcUlRRU1BUXNMSXdFZ0FrRXBSZzBFR2lBQUtBSm9SU0lDUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQjBVRVFFR2t4UU5CSERZQ0FDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJRc2pBU0FCUlEwRUdnTkFJQUpGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeU1CSUFGQmYyb2lBVVVOQlJvTUFBQUxBQXNnQUNBQlFUQkdCSDhnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXRCSUhKQitBQkdCRUFnQUNBRklBUWdCaUFDRUpBRkRBVUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUVRBRklBRUxJQVVnQkNBR0lBSVFqd1VNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdEJwTVVEUVJ3MkFnQWdBRUlBRUlJQlJBQUFBQUFBQUFBQURBSUxJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNRUUJISUFOQkEwdHhCRUFEUUNBQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0EwRi9haUlEUVFOTERRQUxDd3NnQnJJakFyYVV1d3NMdmdzQ0JYOEZmaUFCUVNSTEJFQkJwTVVEUVJ3MkFnQkNBQ0VEQlFKQUEwQWdBQ2dDQkNJRUlBQW9BbWhKQkg4Z0FDQUVRUUZxTmdJRUlBUXRBQUFGSUFBUVZBc2lCQkN5QVEwQUN3SkFBa0FnQkVFcmF3NERBQUVBQVFzZ0JFRXRSa0VmZEVFZmRTRUhJQUFvQWdRaUJDQUFLQUpvU1FSL0lBQWdCRUVCYWpZQ0JDQUVMUUFBQlNBQUVGUUxJUVFNQUFzZ0FVVWhCUUpBQWtBQ1FDQUJRUkJ5UVJCR0lBUkJNRVp4QkVBQ1FDQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUVRU0J5UWZnQVJ3UkFJQVVFUUNBRUlRSkJDQ0VCREFRRklBUWhBZ3dDQ3dBTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJ3ZFFBYWkwQUFFRVBTZ1JBSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUlFSQUlBQkNBQkNDQVVJQUlRTU1Cd3NnQVFSQVFnQWhBd3dIQ3lBQUlBQW9BZ1JCZjJvMkFnUkNBQ0VEREFZRklBRWhBa0VRSVFFTUF3c0FDd1ZCQ2lBQklBVWJJZ0VnQkVIQjFBQnFMUUFBU3dSL0lBUUZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFCQ0FCQ0NBVUdreFFOQkhEWUNBRUlBSVFNTUJRc2hBZ3NnQVVFS1J3MEFJQUpCVUdvaUFrRUtTUVJBUVFBaEFRTkFJQUZCQ213Z0Ftb2hBU0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlFUVZCcUlnSkJDa2tnQVVHWnMrYk1BVWx4RFFBTElBR3RJUWtnQWtFS1NRUkFJQVFoQVFOQUlBbENDbjRpQ2lBQ3JDSUxRbitGVmdSQVFRb2hBZ3dGQ3lBS0lBdDhJUWtnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVVGUWFpSUNRUXBKSUFsQ21yUG16Sm16NXN3WlZIRU5BQXNnQWtFSlRRUkFRUW9oQWd3RUN3c0xEQUlMSUFFZ0FVRi9hbkZGQkVBZ0FVRVhiRUVGZGtFSGNVR0gvZ0pxTEFBQUlRWWdBU0FDUWNIVUFHb3NBQUFpQ0VIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0JDQUdkQ0FDY2lJRVFZQ0FnTUFBU1NBQklBQW9BZ1FpQWlBQUtBSm9TUVIvSUFBZ0FrRUJhallDQkNBQ0xRQUFCU0FBRUZRTElnVkJ3ZFFBYWl3QUFDSUlRZjhCY1NJQ1MzRU5BQXNnQkswaENTQUZJUVFnQWlFRkJTQUNJUVFMSUFnaEFpQUJJQVZOUW44Z0JxMGlDb2dpQ3lBSlZISUVRQ0FCSVFJZ0JDRUJEQUlMQTBBZ0FTQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUZRY0hVQUdvc0FBQWlCRUgvQVhGTklBSkIvd0Z4clNBSklBcUdoQ0lKSUF0V2NnUkFJQUVoQWlBRklRRU1Bd1VnQkNFQ0RBRUxBQUFMQUFzZ0FTQUNRY0hVQUdvc0FBQWlCa0gvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQVNBRWJDQUNhaUlFUWNmajhUaEpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQlVIQjFBQnFMQUFBSWdaQi93RnhJZ0pMY1EwQUN5QUVyU0VKSUFVaEJDQUNJUVVGSUFJaEJBc2dCaUVDSUFHdElRb2dBU0FGU3dSL1FuOGdDaEQyQVNFTEEzOGdDU0FMVmdSQUlBRWhBaUFFSVFFTUF3c2dDU0FLZmlJTUlBSkIvd0Z4clNJTlFuK0ZWZ1JBSUFFaEFpQUVJUUVNQXdzZ0RDQU5mQ0VKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJFSEIxQUJxTEFBQUlnSkIvd0Z4U3cwQUlBRWhBaUFFQ3dVZ0FTRUNJQVFMSVFFTElBSWdBVUhCMUFCcUxRQUFTd1JBQTBBZ0FpQUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwSEIxQUJxTFFBQVN3MEFDMEdreFFOQnhBQTJBZ0FnQjBFQUlBTkNBWU5RR3lFSElBTWhDUXNMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBa2dBMW9FUUNBSFFRQkhJQU5DQVlOQ0FGSnlSUVJBUWFURkEwSEVBRFlDQUNBRFFuOThJUU1NQWdzZ0NTQURWZ1JBUWFURkEwSEVBRFlDQUF3Q0N3c2dDU0FIckNJRGhTQURmU0VEQ3dzZ0F3dFNBQ0FBQkVBQ1FBSkFBa0FDUUFKQUFrQWdBVUYrYXc0R0FBRUNBd1VFQlFzZ0FDQUNQQUFBREFRTElBQWdBajBCQUF3REN5QUFJQUkrQWdBTUFnc2dBQ0FDUGdJQURBRUxJQUFnQWpjREFBc0xDMGNCQW44akJpRURJd1pCa0FGcUpBWWdBMEVBUVpBQkVFVWFJQU5CSXpZQ0lDQURJQUEyQWl3Z0EwRi9OZ0pNSUFNZ0FEWUNWQ0FESUFFZ0FoQ1VCU0VFSUFNa0JpQUVDNXdDQVFkL0lBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hwQi93RWhCU0FBSVFRQ1FBSkFBMEFDUUNBQktBSUlJQUVvQWdRaUFpSUdheUVESUFKQkNpQURFS1lDSWdoRklRY2dCQ0FDSUFNZ0NFRUJJQVpyYWlBSEd5SUNJQVVnQWlBRlNSc2lBeEJNR2lBQklBTWdBU2dDQkdvaUJqWUNCQ0FESUFScUlRSWdCeUFGSUFOcklnVkJBRWR4UlFSQUlBSWhCQXdEQ3lBR0lBRW9BZ2hKQkg4Z0FTQUdRUUZxTmdJRUlBWXRBQUFGSUFFUTlRRWlCRUVBU0EwQklBUUxJUU1nQWtFQmFpRUVJQUlnQXpvQUFDQUZRWDlxSWdWRklBTkIvd0Z4UVFwR2NrVU5BUXdDQ3dzZ0FDQUNSZ1IvUVFBRklBRW9BZ0JCRUhFRWZ5QUNJUVFNQWdWQkFBc0xJUUFNQVFzZ0FBUkFJQVJCQURvQUFBVkJBQ0VBQ3dzZ0FBdndBUUVEZndKQUFrQWdBaWdDRUNJRERRQWdBaENZQXdSL1FRQUZJQUlvQWhBaEF3d0JDeUVFREFFTElBTWdBaWdDRkNJRWF5QUJTUVJBSUFJb0FpUWhBeUFDSUFBZ0FTQURRVDl4UWNvQmFoRUVBQ0VFREFFTElBRkZJQUlzQUV0QkFFaHlCRUJCQUNFREJRSkFJQUVoQXdOQUlBQWdBMEYvYWlJRmFpd0FBRUVLUndSQUlBVUVRQ0FGSVFNTUFnVkJBQ0VEREFNTEFBc0xJQUlvQWlRaEJDQUNJQUFnQXlBRVFUOXhRY29CYWhFRUFDSUVJQU5KRFFJZ0FDQURhaUVBSUFFZ0Eyc2hBU0FDS0FJVUlRUUxDeUFFSUFBZ0FSQk1HaUFDSUFFZ0FpZ0NGR28yQWhRZ0FTQURhaUVFQ3lBRUMyRUJBWDhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FnQWlBVUVJY1FSL0lBQWdBVUVnY2pZQ0FFRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEJCQUFzTGpBRUJBMzhqQmlFQkl3WkJFR29rQmlBQlFRbzZBQUFDUUFKQUlBQW9BaEFpQWcwQUlBQVFtQU5GQkVBZ0FDZ0NFQ0VDREFFTERBRUxJQUFvQWhRaUF5QUNTUVJBSUFBc0FFdEJDa2NFUUNBQUlBTkJBV28yQWhRZ0EwRUtPZ0FBREFJTEN5QUFJQUZCQVNBQUtBSWtRVDl4UWNvQmFoRUVBRUVCUmdSL0lBRXRBQUFGUVg4TEdnc2dBU1FHQ3h3QUlBQkJnR0JMQkg5QnBNVURRUUFnQUdzMkFnQkJmd1VnQUFzTEVRQkJCRUVCUWVpSkFTZ0NBQ2dDQUJzTDdBRUNDWDhCZlNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVF3QUFBQUE0QWdBZ0FpZ0NBQ0FFUVFKMGFpRUZJQUVvQWdBZ0MwRUNkR29oQmtFQUlRZERBQUFBQUNFTUEwQWdCeUFJU0FSQUlBQWdEQ0FHS2dJQUlBVXFBZ0NVa2lJTU9BSUFJQWxCQW5RZ0JXb2hCU0FHUVFScUlRWWdCMEVCYWlFSERBRUxDeUFFUVFGcUlRUWdBRUVFYWlFQURBRUxDeUFEUVFGcUlRTU1BUVZCQUFzTEJVRi9Dd1ZCZndzRlFYOExDMGdCQVg4Z0FDZ0NCQ0lCUlFSQUR3c2dBU2dDSkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBSVFCRUFnQUVISUFUWUNGQ0FBUVFBMkFyZ0NCU0FBUWVRQU5nSVVDd3N5QVFGL0lBQW9BZ1FpQVFSQUlBRW9BaWdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVFQU5nSUVJQUJCQURZQ0ZBc2dBQ0FBS0FJQUlnRkJNellDRkNBQUlBRW9BZ0JCL3dGeFFhd0RhaEVCQUFzeUFRRi9JQUFvQWdnZ0FDZ0NCQkNMQVNJQkJFQWdBU0FBRVBFRVFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXVDQkFFSmZ5QUFLQUxrQXlJRklBQW9BbGhCQVVZaUFqWUNIQ0FBS0FJRUtBSUlJUUVnQlNBQVFRRkIvZ1ZCZ0FJZ0Foc2dBQ2dDZUNBQlFROXhRWW9DYWhFSkFDSUVOZ0lZSUFVb0FoUWhBU0FBS0FKNFFRQk1CRUFQQ3lBQ1JRUkFBMEFnQVNBRlFTQnFJQU5CQW5ScUtBSUFJZ0lRT1NFSElBTkJBblFnQkdvb0FnQWhCa0VBSVFFZ0FrSCtBV29nQWtGL2FpSUlRUUYwSWdrUU9TRUVRUUFoQWdOQUlBSWdCRW9FUUFOQUlBSWdDQ0FCUVFGcUlnRkJBWFJCQVhKQi93RnNhaUFKRURraUJFb05BQXNMSUFJZ0Jtb2dBU0FIYkRvQUFDQUNRUUZxSWdKQmdBSkhEUUFMSUFOQkFXb2lBeUFBS0FKNFNBUkFJQWNoQVNBRktBSVlJUVFNQVFzTER3dEJBQ0VDQTBBZ0FTQUZRU0JxSUFKQkFuUnFLQUlBSWdNUU9TRUhJQUpCQW5RZ0JHb2lBU0FCS0FJQVFmOEJhallDQUNBRktBSVlJQUpCQW5ScUtBSUFJUVpCQUNFQklBTkIvZ0ZxSUFOQmYyb2lDRUVCZENJSkVEa2hCRUVBSVFNRFFDQURJQVJLQkVBRFFDQURJQWdnQVVFQmFpSUJRUUYwUVFGeVFmOEJiR29nQ1JBNUlnUktEUUFMQ3lBRElBWnFJQUVnQjJ3NkFBQWdBMEVCYWlJRFFZQUNSdzBBQzBFQklRRURRQ0FHSUFGcklBWXNBQUE2QUFBZ0JpQUJRZjhCYW1vZ0Jpd0Evd0U2QUFBZ0FVRUJhaUlCUVlBQ1J3MEFDeUFDUVFGcUlnSWdBQ2dDZUVnRVFDQUhJUUVnQlNnQ0dDRUVEQUVMQ3d2akh3RWRmeU1HSVJjakJrR0FDMm9rQmlBWFFZQURhaUVFSUJkQmdBRnFJUmtnQUNnQzVBTW9BaGdoR2lBQlFRSjJRUVYwSWdWQkJISWlGQ0FGUVJ4eUlneHFRUUYxSVE0Z0FrRURka0VGZENJRlFRSnlJaFVnQlVFZWNpSVBha0VCZFNFUUlBTkJBblpCQlhRaUJVRUVjaUlXSUFWQkhISWlFV3BCQVhVaEVpQUFLQUtFQVNJTFFRQktCSDhnQUNnQ2lBRWlCU2dDQUNFS0lBVW9BZ1FoQ1NBRktBSUlJUmhCLy8vLy93Y2hCd05BSUJRZ0NDQUthaTBBQUNJRlNnUi9JQVVnREd0QkFYUWlCaUFHYkNFTklBVWdGR3RCQVhRaUJTQUZiQVVDZnlBTUlBVklCRUFnQlNBVWEwRUJkQ0lHSUFac0lRMGdCU0FNYTBFQmRDSUZJQVZzREFFTElBNGdCVWdFUUNBRklCUnJRUUYwSWdVZ0JXd2hEUVVnQlNBTWEwRUJkQ0lGSUFWc0lRMExRUUFMQ3lFRklCVWdDQ0FKYWkwQUFDSUdTZ1IvSUFVZ0JpQVZhMEVEYkNJRklBVnNhaUVGSUFZZ0QydEJBMndpQmlBR2JBVUNmeUFQSUFaSUJFQWdCU0FHSUE5clFRTnNJZ1VnQld4cUlRVWdCaUFWYTBFRGJDSUdJQVpzREFFTElCQWdCa2dFZnlBR0lCVnJRUU5zSWdZZ0Jtd0ZJQVlnRDJ0QkEyd2lCaUFHYkFzTEN5RVRJQllnQ0NBWWFpMEFBQ0lHU2dSL0lBVWdCaUFXYXlJRklBVnNhaUVGSUFZZ0VXc2lCaUFHYkFVQ2Z5QVJJQVpJQkVBZ0JTQUdJQkZySWdVZ0JXeHFJUVVnQmlBV2F5SUdJQVpzREFFTElCSWdCa2dFZnlBR0lCWnJJZ1lnQm13RklBWWdFV3NpQmlBR2JBc0xDeUVHSUFoQkFuUWdCR29nQlRZQ0FDQU5JQk5xSUFacUlnVWdCeUFGSUFkSUd5RUhJQXNnQ0VFQmFpSUlSdzBBQzBFQUlRVkJBQ0VJQTM4Z0NFRUNkQ0FFYWlnQ0FDQUhUQVJBSUFVZ0dXb2dDRG9BQUNBRlFRRnFJUVVMSUFzZ0NFRUJhaUlJUncwQUlBVUxCVUVBQ3lFVElCY2hDQ0FFUWYvLy8vOEhOZ0lBSUFSQi8vLy8vd2MyQWdRZ0JFSC8vLy8vQnpZQ0NDQUVRZi8vLy84SE5nSU1JQVJCLy8vLy93YzJBaEFnQkVILy8vLy9CellDRkNBRVFmLy8vLzhITmdJWUlBUkIvLy8vL3djMkFod2dCRUgvLy8vL0J6WUNJQ0FFUWYvLy8vOEhOZ0lrSUFSQi8vLy8vd2MyQWlnZ0JFSC8vLy8vQnpZQ0xDQUVRZi8vLy84SE5nSXdJQVJCLy8vLy93YzJBalFnQkVILy8vLy9CellDT0NBRVFmLy8vLzhITmdJOElBUkJRR3RCLy8vLy93YzJBZ0FnQkVILy8vLy9CellDUkNBRVFmLy8vLzhITmdKSUlBUkIvLy8vL3djMkFrd2dCRUgvLy8vL0J6WUNVQ0FFUWYvLy8vOEhOZ0pVSUFSQi8vLy8vd2MyQWxnZ0JFSC8vLy8vQnpZQ1hDQUVRZi8vLy84SE5nSmdJQVJCLy8vLy93YzJBbVFnQkVILy8vLy9CellDYUNBRVFmLy8vLzhITmdKc0lBUkIvLy8vL3djMkFuQWdCRUgvLy8vL0J6WUNkQ0FFUWYvLy8vOEhOZ0o0SUFSQi8vLy8vd2MyQW53Z0JFSC8vLy8vQnpZQ2dBRWdCRUgvLy8vL0J6WUNoQUVnQkVILy8vLy9CellDaUFFZ0JFSC8vLy8vQnpZQ2pBRWdCRUgvLy8vL0J6WUNrQUVnQkVILy8vLy9CellDbEFFZ0JFSC8vLy8vQnpZQ21BRWdCRUgvLy8vL0J6WUNuQUVnQkVILy8vLy9CellDb0FFZ0JFSC8vLy8vQnpZQ3BBRWdCRUgvLy8vL0J6WUNxQUVnQkVILy8vLy9CellDckFFZ0JFSC8vLy8vQnpZQ3NBRWdCRUgvLy8vL0J6WUN0QUVnQkVILy8vLy9CellDdUFFZ0JFSC8vLy8vQnpZQ3ZBRWdCRUgvLy8vL0J6WUN3QUVnQkVILy8vLy9CellDeEFFZ0JFSC8vLy8vQnpZQ3lBRWdCRUgvLy8vL0J6WUN6QUVnQkVILy8vLy9CellDMEFFZ0JFSC8vLy8vQnpZQzFBRWdCRUgvLy8vL0J6WUMyQUVnQkVILy8vLy9CellDM0FFZ0JFSC8vLy8vQnpZQzRBRWdCRUgvLy8vL0J6WUM1QUVnQkVILy8vLy9CellDNkFFZ0JFSC8vLy8vQnpZQzdBRWdCRUgvLy8vL0J6WUM4QUVnQkVILy8vLy9CellDOUFFZ0JFSC8vLy8vQnpZQytBRWdCRUgvLy8vL0J6WUMvQUVnQkVILy8vLy9CellDZ0FJZ0JFSC8vLy8vQnpZQ2hBSWdCRUgvLy8vL0J6WUNpQUlnQkVILy8vLy9CellDakFJZ0JFSC8vLy8vQnpZQ2tBSWdCRUgvLy8vL0J6WUNsQUlnQkVILy8vLy9CellDbUFJZ0JFSC8vLy8vQnpZQ25BSWdCRUgvLy8vL0J6WUNvQUlnQkVILy8vLy9CellDcEFJZ0JFSC8vLy8vQnpZQ3FBSWdCRUgvLy8vL0J6WUNyQUlnQkVILy8vLy9CellDc0FJZ0JFSC8vLy8vQnpZQ3RBSWdCRUgvLy8vL0J6WUN1QUlnQkVILy8vLy9CellDdkFJZ0JFSC8vLy8vQnpZQ3dBSWdCRUgvLy8vL0J6WUN4QUlnQkVILy8vLy9CellDeUFJZ0JFSC8vLy8vQnpZQ3pBSWdCRUgvLy8vL0J6WUMwQUlnQkVILy8vLy9CellDMUFJZ0JFSC8vLy8vQnpZQzJBSWdCRUgvLy8vL0J6WUMzQUlnQkVILy8vLy9CellDNEFJZ0JFSC8vLy8vQnpZQzVBSWdCRUgvLy8vL0J6WUM2QUlnQkVILy8vLy9CellDN0FJZ0JFSC8vLy8vQnpZQzhBSWdCRUgvLy8vL0J6WUM5QUlnQkVILy8vLy9CellDK0FJZ0JFSC8vLy8vQnpZQy9BSWdCRUgvLy8vL0J6WUNnQU1nQkVILy8vLy9CellDaEFNZ0JFSC8vLy8vQnpZQ2lBTWdCRUgvLy8vL0J6WUNqQU1nQkVILy8vLy9CellDa0FNZ0JFSC8vLy8vQnpZQ2xBTWdCRUgvLy8vL0J6WUNtQU1nQkVILy8vLy9CellDbkFNZ0JFSC8vLy8vQnpZQ29BTWdCRUgvLy8vL0J6WUNwQU1nQkVILy8vLy9CellDcUFNZ0JFSC8vLy8vQnpZQ3JBTWdCRUgvLy8vL0J6WUNzQU1nQkVILy8vLy9CellDdEFNZ0JFSC8vLy8vQnpZQ3VBTWdCRUgvLy8vL0J6WUN2QU1nQkVILy8vLy9CellDd0FNZ0JFSC8vLy8vQnpZQ3hBTWdCRUgvLy8vL0J6WUN5QU1nQkVILy8vLy9CellDekFNZ0JFSC8vLy8vQnpZQzBBTWdCRUgvLy8vL0J6WUMxQU1nQkVILy8vLy9CellDMkFNZ0JFSC8vLy8vQnpZQzNBTWdCRUgvLy8vL0J6WUM0QU1nQkVILy8vLy9CellDNUFNZ0JFSC8vLy8vQnpZQzZBTWdCRUgvLy8vL0J6WUM3QU1nQkVILy8vLy9CellDOEFNZ0JFSC8vLy8vQnpZQzlBTWdCRUgvLy8vL0J6WUMrQU1nQkVILy8vLy9CellDL0FNZ0UwRUFTZ1JBUVFBaER3TkFJQlFnRHlBWmFpd0FBQ0lMUWY4QmNTSUhJQUFvQW9nQklnWW9BZ0JxTFFBQWF5SU5RUUYwSVF3Z0ZTQUhJQVlvQWdScUxRQUFheUlGUVFOc0lRb2dCVUhJQUd3aUJVR1FBV29oR0NBV0lBY2dCaWdDQ0dvdEFBQnJJZ2RCQkhRaUJrRkFheUVPSUFaQndBRnFJUkFnQmtIQUFtb2hFaUFGUWJBRGFpRWJJQVZCMEFWcUlSd2dCVUh3QjJvaEhTQUZRWkFLYWlFZUlBVkJzQXhxSVI4Z0JVSFFEbW9oSUVFRElSRWdEVUVHZEVHQUFtb2hEU0FNSUF4c0lBb2dDbXhxSUFjZ0IyeHFJUXdnQ0NFSElBUWhCUU5BSUF3Z0JTZ0NBRWdFUUNBRklBdzJBZ0FnQnlBTE9nQUFDeUFNSUE1cUlnb2dCU0lHS0FJRVNBUkFJQVlnQ2pZQ0JDQUhJQXM2QUFFTElBb2dFR29pQ2lBR0tBSUlTQVJBSUFZZ0NqWUNDQ0FISUFzNkFBSUxJQW9nRW1vaUNpQUdLQUlNU0FSQUlBWWdDallDRENBSElBczZBQU1MSUF3Z0dHb2lDaUFGS0FJUVNBUkFJQVVnQ2pZQ0VDQUhJQXM2QUFRTElBb2dEbW9pQ1NBR0tBSVVTQVJBSUFVZ0NUWUNGQ0FISUFzNkFBVUxJQWtnRUdvaUNTQUZLQUlZU0FSQUlBVWdDVFlDR0NBSElBczZBQVlMSUFrZ0Vtb2lDU0FGS0FJY1NBUkFJQVVnQ1RZQ0hDQUhJQXM2QUFjTElBb2dHMm9pQ2lBR0tBSWdTQVJBSUFZZ0NqWUNJQ0FISUFzNkFBZ0xJQW9nRG1vaUNTQUZLQUlrU0FSQUlBWWdDVFlDSkNBSElBczZBQWtMSUFrZ0VHb2lDU0FHS0FJb1NBUkFJQVlnQ1RZQ0tDQUhJQXM2QUFvTElBa2dFbW9pQ1NBR0tBSXNTQVJBSUFZZ0NUWUNMQ0FISUFzNkFBc0xJQW9nSEdvaUNpQUZLQUl3U0FSQUlBVWdDallDTUNBSElBczZBQXdMSUFvZ0Rtb2lCU0FHS0FJMFNBUkFJQVlnQlRZQ05DQUhJQXM2QUEwTElBVWdFR29pQlNBR0tBSTRTQVJBSUFZZ0JUWUNPQ0FISUFzNkFBNExJQVVnRW1vaUNTQUdJZ1VvQWp4SUJFQWdCU0FKTmdJOElBY2dDem9BRHdzZ0NpQWRhaUlLSUFWQlFHc2lCaWdDQUVnRVFDQUdJQW8yQWdBZ0J5QUxPZ0FRQ3lBS0lBNXFJZ2tnQlNJR0tBSkVTQVJBSUFZZ0NUWUNSQ0FISUFzNkFCRUxJQWtnRUdvaUNTQUdLQUpJU0FSQUlBWWdDVFlDU0NBSElBczZBQklMSUFrZ0Vtb2lDU0FHS0FKTVNBUkFJQVlnQ1RZQ1RDQUhJQXM2QUJNTElBb2dIbW9pQ2lBRktBSlFTQVJBSUFVZ0NqWUNVQ0FISUFzNkFCUUxJQW9nRG1vaUNTQUdLQUpVU0FSQUlBVWdDVFlDVkNBSElBczZBQlVMSUFrZ0VHb2lDU0FGS0FKWVNBUkFJQVVnQ1RZQ1dDQUhJQXM2QUJZTElBa2dFbW9pQ1NBRktBSmNTQVJBSUFVZ0NUWUNYQ0FISUFzNkFCY0xJQW9nSDJvaUNpQUdLQUpnU0FSQUlBWWdDallDWUNBSElBczZBQmdMSUFvZ0Rtb2lDU0FGS0FKa1NBUkFJQVlnQ1RZQ1pDQUhJQXM2QUJrTElBa2dFR29pQ1NBR0tBSm9TQVJBSUFZZ0NUWUNhQ0FISUFzNkFCb0xJQWtnRW1vaUNTQUdLQUpzU0FSQUlBWWdDVFlDYkNBSElBczZBQnNMSUFvZ0lHb2lDaUFGS0FKd1NBUkFJQVVnQ2pZQ2NDQUhJQXM2QUJ3TElBb2dEbW9pQlNBR0tBSjBTQVJBSUFZZ0JUWUNkQ0FISUFzNkFCMExJQVVnRUdvaUJTQUdLQUo0U0FSQUlBWWdCVFlDZUNBSElBczZBQjRMSUFVZ0Vtb2lCU0FHS0FKOFNBUkFJQVlnQlRZQ2ZDQUhJQXM2QUI4TElBWkJnQUZxSVFVZ0IwRWdhaUVISUF3Z0RXb2hEQ0FOUVlBRWFpRU5JQkZCZjJvaEJpQVJCRUFnQmlFUkRBRUxDeUFQUVFGcUlnOGdFMGNOQUFzTElBRkJmSEVoQnlBRFFYeHhJUUVnQWtGNGNTSURRUUZ5SVFZZ0EwRUNjaUVNSUFOQkEzSWhEeUFEUVFSeUlSRWdBMEVGY2lFTklBTkJCbkloQkNBQ1FRZHlJUk5CQUNFQUEwQWdBQ0FIYWtFQ2RDQWFhaUlMS0FJQUlnSWdBMEVHZEdvZ0FVRUJkR29pQlNBSUxRQUFRUUZxT3dFQUlBVWdDQzBBQVVFQmFqc0JBaUFGSUFndEFBSkJBV283QVFRZ0JTQUlMUUFEUVFGcU93RUdJQVpCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFFUVFGcU93RUFJQVVnQ0MwQUJVRUJhanNCQWlBRklBZ3RBQVpCQVdvN0FRUWdCU0FJTFFBSFFRRnFPd0VHSUF4QkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBSVFRRnFPd0VBSUFVZ0NDMEFDVUVCYWpzQkFpQUZJQWd0QUFwQkFXbzdBUVFnQlNBSUxRQUxRUUZxT3dFR0lBOUJCblFnQW1vZ0FVRUJkR29pQWlBSUxRQU1RUUZxT3dFQUlBSWdDQzBBRFVFQmFqc0JBaUFDSUFndEFBNUJBV283QVFRZ0FpQUlMUUFQUVFGcU93RUdJQXNvQWdBaUFpQVJRUVowYWlBQlFRRjBhaUlGSUFndEFCQkJBV283QVFBZ0JTQUlMUUFSUVFGcU93RUNJQVVnQ0MwQUVrRUJhanNCQkNBRklBZ3RBQk5CQVdvN0FRWWdEVUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQlJCQVdvN0FRQWdCU0FJTFFBVlFRRnFPd0VDSUFVZ0NDMEFGa0VCYWpzQkJDQUZJQWd0QUJkQkFXbzdBUVlnQkVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJoQkFXbzdBUUFnQlNBSUxRQVpRUUZxT3dFQ0lBVWdDQzBBR2tFQmFqc0JCQ0FGSUFndEFCdEJBV283QVFZZ0UwRUdkQ0FDYWlBQlFRRjBhaUlDSUFndEFCeEJBV283QVFBZ0FpQUlMUUFkUVFGcU93RUNJQUlnQ0MwQUhrRUJhanNCQkNBQ0lBZ3RBQjlCQVdvN0FRWWdDRUVnYWlFSUlBQkJBV29pQUVFRVJ3MEFDeUFYSkFZTE5BRUJmeUFBS0FJRUlBRW9BZ2dRcFFNaUFnUkFJQUlnQUNBQkVKd0RRUUJJQkVBZ0FoQkpRUUFoQWdzRlFRQWhBZ3NnQWd2U0F3RURmeUFBS0FJRUtBSUFJUUVnQUNnQzVBTWdBRUVCUWZ3UElBRkJQM0ZCeWdGcUVRUUFJZ0JCL0FkcUlnSTJBaWdnQWtFQU5nSUFJQUJCZ0FocVFRRTJBZ0FnQUVGL05nTDRCeUFBUVlRSWFrRUNOZ0lBSUFCQmZqWUM5QWNnQUVHSUNHcEJBellDQUNBQVFYMDJBdkFISUFCQmpBaHFRUVEyQWdBZ0FFRjhOZ0xzQnlBQVFaQUlha0VGTmdJQUlBQkJlellDNkFjZ0FFR1VDR3BCQmpZQ0FDQUFRWG8yQXVRSElBQkJtQWhxUVFjMkFnQWdBRUY1TmdMZ0J5QUFRWndJYWtFSU5nSUFJQUJCZURZQzNBY2dBRUdnQ0dwQkNUWUNBQ0FBUVhjMkF0Z0hJQUJCcEFocVFRbzJBZ0FnQUVGMk5nTFVCeUFBUWFnSWFrRUxOZ0lBSUFCQmRUWUMwQWNnQUVHc0NHcEJERFlDQUNBQVFYUTJBc3dISUFCQnNBaHFRUTAyQWdBZ0FFRnpOZ0xJQnlBQVFiUUlha0VPTmdJQUlBQkJjallDeEFjZ0FFRzRDR3BCRHpZQ0FDQUFRWEUyQXNBSFFSQWhBRUVRSVFFRFFDQUFRUUowSUFKcUlBRTJBZ0JCQUNBQWEwRUNkQ0FDYWtFQUlBRnJOZ0lBSUFFZ0FFRUJhaUlBUVFGeFFRRnphaUVCSUFCQk1FY05BQXRCQUNBQmF5RURRVEFoQUFOQUlBQkJBblFnQW1vZ0FUWUNBRUVBSUFCclFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFZQUNSdzBBQ3d0QkFRSi9RUXdRUkNJQ0JFQWdBaUFCSUFCQkFuUnNFRVFpQXpZQ0FDQURCRUFnQWlBQU5nSUVJQUlnQVRZQ0NBVWdBaEE0UVFBaEFnc0ZRUUFoQWdzZ0FndmNBUUVDZndKQUlBQW9BclFDRFFBQ1FDQUFLQUlvUVFOckRnVUFBUUVCQUFFTElBQW9BaVJCQTBjTkFDQUFLQUlzUVFKSERRQWdBQ2dDZUVFRFJ3MEFJQUFvQXJBQ0RRQWdBQ2dDMkFFaUFTZ0NDRUVDUncwQUlBRW9BbUJCQVVjTkFDQUJLQUs0QVVFQlJ3MEFJQUVvQWd4QkFrb05BQ0FCS0FKa1FRRkhEUUFnQVNnQ3ZBRkJBVWNOQUNBQktBSWtJZ0lnQUNnQ3hBSkhEUUFnQVNnQ2ZDQUNSdzBBSUFFb0F0UUJJQUpIRFFBZ0FTZ0NLQ0lDSUFBb0FzZ0NSdzBBSUFJZ0FTZ0NnQUZHQkg4Z0FpQUJLQUxZQVVZRlFRQUxEd3RCQUF2akJnRUdmd0pBSUFBb0F0UUNJZ0ZCQVVZRVFDQUFJQUFvQXRnQ0lnRW9BaHcyQXVnQ0lBQWdBU2dDSUNJRE5nTHNBaUFCUVFFMkFqZ2dBVUVCTmdJOElBRkJRR3RCQVRZQ0FDQUJJQUVvQWlRMkFrUWdBVUVCTmdKSUlBTWdBU2dDRENJQ0VFNGhBeUFCSUFNZ0FpQURHellDVENBQVFRRTJBdkFDSUFCQkFEWUM5QUpCQVNFQkJTQUJRWDlxUVFOTEJFQWdBQ2dDQUNJRFFSczJBaFFnQXlBQk5nSVlJQUFvQWdCQkJEWUNIQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFnQUNnQ0hDQUFLQUs4QWlBQUtBS3NBMndRYURZQzZBSWdBQ0FBS0FJZ0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdMc0FpQUFRUUEyQXZBQ0lBQW9BdFFDUVFCTURRRkJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ0NDRUVJQUlnQkRZQ09DQUNJQUlvQWd3aUJUWUNQQ0FDUVVCcklBUWdCV3dpQVRZQ0FDQUNJQVFnQWlnQ0pHdzJBa1FnQWlBRUlBSW9BaHdnQkJCT0lnUWdCRVViTmdKSUlBSWdBaWdDSUNBRkVFNGlBaUFGSUFJYk5nSk1JQUVnQm1wQkNrb0VRQ0FBS0FJQUlnSkJEallDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUZCQUVvRVFBTkFJQUZCZjJvaEFpQUFJQUFvQXZBQ0lnUkJBV28yQXZBQ0lBQkI5QUpxSUFSQkFuUnFJQU0yQWdBZ0FVRUJTZ1JBSUFJaEFRd0JDd3NMSUFOQkFXb2lBeUFBS0FMVUFpSUJTQVJBSUFBb0F2QUNJUVlNQVFzTElBRkJBRXdOQVF0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDVUVVRVFDQUFRYVFCYWlBQ0tBSVFJZ0ZCQW5ScUlRUUNRQUpBSUFGQkEwc05BQ0FFS0FJQVJRMEFEQUVMSUFBb0FnQWlCVUUyTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQVFRRkJoQUVnQVVFL2NVSEtBV29SQkFBaUFTQUVLQUlBUVlRQkVFd2FJQUlnQVRZQ1VDQUFLQUxVQWlFQkN5QURRUUZxSWdNZ0FVZ05BQXNnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFEd3NnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFDOG9CQVFKL0l3WWhCQ01HUVRCcUpBWWdCRUVZYWlJRlFRZzJBZ1FnQlVFQk5nSUlJQVVnQURZQ0FDQUVRUXhxSWdBZ0F6WUNCQ0FBUVFFMkFnZ2dBQ0FCTmdJQUlBUWdBellDQkNBRVFRZzJBZ2dnQkNBQ05nSUFJQVFRdXdVaUFnUkFJQUlnQkJDakF5SUJCRUFnQWlBQUVLTURJZ01FUUNBQktBSUFJQUVvQWdRaUFDQUFFUFlFUlVFZmRFRWZkVUVBU0FSL1FYOEZJQVVnQVNBREVKd0RHa0VBQ3lFQUlBTVFTUVZCZnlFQUN5QUJFRWtGUVg4aEFBc2dBaEJKQlVGL0lRQUxJQVFrQmlBQUMxa0JBWDhnQUNnQzJBRWlBUVJBSUFFUXZ3Y2dBQ2dDMkFFUWh3a2dBRUVBTmdMWUFRc2dBRUhrQVdvaUFTZ0NBQVJBSUFFUXB3a2dBVUVBTmdJQUN5QUFRY0FCYWlJQUtBSUFCRUFnQUJDekN5QUFRUUEyQWdBTEMzTUJBMzhqQmlFQ0l3WkJFR29rQmlBQ1FRaHFJUU1nQVJEUENTSUVCRUFnQUNBRUVPRUdJUUFnQkJBNEJTQUNJQUUyQWdCQkFFRURRWkdxQVNBQ0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVg4aEFBc2dBaVFHSUFBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUWJERUF5Z0NBQ0VDUWJERUF5QUJOZ0lBSUFJRVFFRzB4QU1vQWdBYUlBSVFPQXRCdE1RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFiREVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJ1TVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHd3hBTW9BZ0FnQlVFQ2RHcEJ1TVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRYkRFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHd3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJzTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFiREVBeWdDQUNFQVFiREVBMEVBTmdJQUlBQUVRRUcweEFNb0FnQWFJQUFRT0F0QnRNUURRUUEyQWdBTEM2b0VBZ2wvQW4wakJpRUZJd1pCSUdva0JpQUZRUVJxSVFRZ0JTQUFOZ0lBSUFBb0FnQWhBd0pBQWtCQnRNUURLQUlBSWdGRklna0VRRUVBSVFBTUFRVWdBU0FCUVg5cUlnaHhSU0lIQkg4Z0F5QUljUVVnQXlBQlNRUi9JQU1GSUFNZ0FSQk9Dd3NpQUVFQ2RFR3d4QU1vQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FIQkg4Z0JpQUljUVVnQmlBQlR3Ui9JQVlnQVJCT0JTQUdDd3NnQUVjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVFnQXlBRkVOOEdRY0RFQXlvQ0FDSUtJQUd6bEVHOHhBTW9BZ0JCQVdxeklndGRJQWx5QkVBQ2Z5QUxJQXFWalJDU0FTSUNJQUZCZjJvZ0FYRkJBRWNnQVVFRFNYSWdBVUVCZEhJaUFDQUFJQUpKR3hEZUJrRzB4QU1vQWdBaUFrRi9haUlBSUFOeElBQWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRQUZJQUVoQWd0QnNNUURLQUlBSUFCQkFuUnFLQUlBSWdFRWZ5QUVLQUlBSUFFb0FnQTJBZ0FnQVNBRUtBSUFOZ0lBSUFRRklBUW9BZ0JCdU1RREtBSUFOZ0lBUWJqRUF5QUVLQUlBTmdJQVFiREVBeWdDQUNBQVFRSjBha0c0eEFNMkFnQWdCQ2dDQUNJSEtBSUFJZ0FFUUNBQUtBSUVJUUFnQWlBQ1FYOXFJZ0Z4Qkg4Z0FDQUNUd1IvSUFBZ0FoQk9CU0FBQ3dVZ0FDQUJjUXNoQUVHd3hBTW9BZ0FnQUVFQ2RHb2dCellDQUFzZ0JBc2lBQ2dDQUNFQ1FiekVBMEc4eEFNb0FnQkJBV28yQWdBZ0FFRUFOZ0lBQ3lBRkpBWWdBa0VRYWdza0FRRi9JQUVvQWdBaEFpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FVRUVhaUFDRUg0TEVRQWdBU0FBUWY4QmNVR3NBMm9SQVFBTEVnQWdBU0FDSUFCQkEzRkJyQVZxRVJvQUN4SUFJQUVnQWlBQVFUOXhRYklGYWhFREFBc1NBQ0FCSUFJZ0FFRUJjVUd3QldvUkpnQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFaekVBeWdDQUNFQ1FaekVBeUFCTmdJQUlBSUVRRUdneEFNb0FnQWFJQUlRT0F0Qm9NUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRWnpFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCcE1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR2N4QU1vQWdBZ0JVRUNkR3BCcE1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUVp6RUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR2N4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCbk1RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRWnpFQXlnQ0FDRUFRWnpFQTBFQU5nSUFJQUFFUUVHZ3hBTW9BZ0FhSUFBUU9BdEJvTVFEUVFBMkFnQUxDeE1BSUFCQnlBSnFFRlVnQUVHZ0Ftb1E1UVlMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFaU0hBVUhSdHdKQkFTQUJFQWtnQXdza0JndmdIUUlhZndGK0l3WWhCQ01HUWRBU2FpUUdJQVJCa0JKcUlSRWdCRUh3Qm1vaENDQUVRYUFHYWlFUElBUkIwQVZxSVJBZ0JFR0FCV29oRWlBRVFiQUVhaUVUSUFSQk1Hb2hGeUFFSVJZQ2Z3Si9BbjhDUUFKQUFrQUNRQUpBQWtBQ1FDQUFRWVFHYXc2TEVBRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVDQXdVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRUUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFBRkN5QUNJUkZCb0JFaENVR2dEU0VMUWZnQUlRMUIvd0FoREVFSklSUkJ3QUFNQnd0QjRBd2hDVUdnQ3lFTFFRMGhEVUVKSVFCQkFTRUNRUThNQlF0QjRBd2hDVUdnQ3lFTFFRMGhEVUVGSVFCQkFpRUNRUThNQkF0QkRDRUFRUUloQWd3Q0MwRUhJUUJCQXlFQ0RBRUxRWDhNQXd0QjRBc2hDVUdnQ2lFTFFSWWhEVUVmQ3lFTVFRQWhCQU4vSUFRZ0RVWUVmeUFDSVJRZ0FBVWdCQ0FSYWlBQnAwRUJjVG9BQUNBRVFRRnFJUVFnQVVJQmlDRUJEQUVMQ3dzaEdDQVVRUUYwSVJWQkFTRUNBMEFnQWlBVlRBUkFJQUpCQW5RZ0Uyb2lCa0VBTmdJQVFRQWhCRUVBSVFBRFFDQUVJQTFJQkVBZ0JDQVJhaXdBQUFSQUlBWWdBaUFFYkNBTUVFOUJBblFnQzJvb0FnQWdBSE1pQURZQ0FBc2dCRUVCYWlFRURBRUxDeUFHSUFCQkFuUWdDV29vQWdBMkFnQkJBU0FGSUFBYklRVWdBa0VCYWlFQ0RBRUxDeUFGUVFCSEloa0VRQ0FQUVFBMkFnQWdEeUFUS0FJRUlnVTJBZ1FnQ0VFQU5nSUFJQWhCQVRZQ1NFRUJJUUFEUUNBQUlCVklCRUFnQUVFQ2RDQUlha0YvTmdJQUlBaEJ5QUJxSUFCQkFuUnFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QVFRUUEyQWdBZ0VFRUFOZ0lFSUJKQmZ6WUNBQ0FTUVFBMkFnUkJBQ0VFUVFBaEFnTkFBa0FnQkVFQmFpRUtJQVZCZjBZRVFDQUVRUUpxSWdSQkFuUWdFR29nQWpZQ0FFRUFJUUFEUUNBQUlBSk1CRUFnQkVISUFHd2dDR29nQUVFQ2RHb2dDa0hJQUd3Z0NHb2dBRUVDZEdvaUJTZ0NBQ0lHTmdJQUlBVWdCa0VDZENBSmFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTEJTQUVJUUFEUUNBQVFYOXFJUVlnQUVFQVNpSUhJQUJCQW5RZ0Qyb29BZ0JCZjBaeEJFQWdCaUVBREFFTEN5QUhCRUFnQUNFR0EwQWdCa0YvYWlJSFFRSjBJQTlxS0FJQVFYOUhCRUFnQnlBQUlBQkJBblFnRW1vb0FnQWdCMEVDZENBU2FpZ0NBRWdiSVFBTElBWkJBVW9FUUNBSElRWU1BUXNMQ3lBRVFRSnFJZ1JCQW5RZ0VHb2dBaUFLSUFCcklob2dBRUVDZENBUWFpSU9LQUlBYWlJR0lBSWdCa29iSWdZMkFnQkJBQ0VIQTBBZ0J5QVZTQVJBSUFSQnlBQnNJQWhxSUFkQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEN5QUZJQXhxSVFjZ0FFRUNkQ0FQYWlFYklBNG9BZ0FoRGtFQUlRVURRQ0FGSUE1TUJFQWdBRUhJQUd3Z0NHb2dCVUVDZEdvb0FnQWlIRUYvUndSQUlBUkJ5QUJzSUFocUlBVWdHbXBCQW5ScUlBY2dIR29nR3lnQ0FHc2dEQkJQUVFKMElBdHFLQUlBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUFoQUFOL0lBQWdBa29FZnlBR0JTQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBcEJ5QUJzSUFocUlBQkJBblJxSWdjb0FnQWlEaUFGS0FJQWN6WUNBQ0FISUE1QkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDeUVDQ3lBRVFRSjBJQkpxSUFvZ0FtczJBZ0FnQ2lBVlRnMEFJQVJCQW5RZ0Qyb2lCaUFFUVFKMElCTnFLQUlBSWdCQmYwWUVmMEVBQlNBQVFRSjBJQXRxS0FJQUN5SUFOZ0lBUVFFaEJRTkFJQVVnQWt3RVFDQUVJQVZyUVFKMElCTnFLQUlBSWdkQmYwY0VRQ0FFUWNnQWJDQUlhaUFGUVFKMGFpZ0NBQ0lPQkVBZ0JpQUhJQTVCQW5RZ0NXb29BZ0JxSUF3UVQwRUNkQ0FMYWlnQ0FDQUFjeUlBTmdJQUN3c2dCVUVCYWlFRkRBRUxDeUFHSUFCQkFuUWdDV29vQWdBaUJUWUNBQ0FDSUJSTUJFQWdDaUVFREFJTEN3dEJmeUFDSUJSS0RRRWFRUUFoQUFOQUlBQWdBa3dFUUNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFVb0FnQkJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQzBFQklRQURRQ0FBSUFKTUJFQWdBRUVDZENBV2FpQUVRY2dBYkNBSWFpQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMUVFBaEFFRUJJUW9EUUNBTUlBcE9CRUJCQVNFR1FRRWhCUU5BSUFZZ0Frd0VRQ0FHUVFKMElCWnFJZ2NvQWdBaUNVRi9Sd1JBSUFjZ0JpQUphaUFNRUU4aUJ6WUNBQ0FGSUFkQkFuUWdDMm9vQWdCeklRVUxJQVpCQVdvaEJnd0JDd3NnQlVVRVFDQUFRUUowSUJkcUlBd2dDbXMyQWdBZ0FFRUJhaUVBQ3lBS1FRRnFJUW9NQVFzTFFYOGdBQ0FDUncwQkdrRUFJUUFEUUNBQUlBSklCRUFnRVNBQVFRSjBJQmRxS0FJQWFpSUZJQVVzQUFCQkFYTTZBQUFnQUVFQmFpRUFEQUVMQ3dWQkFDRUVDeUFEUWdBM0F3QkNBU0VlSUEwZ0dHc2hBRUlBSVFFRFFDQUFJQTFJQkVBZ0F5QWVJQUFnRVdvdEFBQ3RmaUFCZkNJQk53TUFJQjVDQVlZaEhpQUFRUUZxSVFBTUFRc0xJQmtFZnlBRVFRSjBJQkJxS0FJQUJVRUFDd3NoSFNBV0pBWWdIUXZKQ0FJTGZ3TjhJd1loRGlNR1FSQnFKQVlnRGtFSWFpRUhJQUJGSUFOQkFVaHlCSDhnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BUVg4RkFuOENRQUpBQWtBZ0FRNENBQUVDQ3lBRElBTnNJZ0ZCREd3UVJDSUtSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQVVFRGJDRUxRUUFoQjBFQUlRRURRQ0FISUF0SEJFQWdBU0FDSUFkcUxBQUFRWDl6UWY4QmNXb2hBU0FIUVFGcUlRY01BUXNMSUFFZ0N4QklJUWxCQUNFSFFRQWhBUU5BSUFFZ0MwY0VRQ0FCUVFKMElBcHFJQUVnQW1vc0FBQkJmM05CL3dGeElBbHJJZ2cyQWdBZ0J5QUlJQWhzYWlFSElBRkJBV29oQVF3QkN3c2dCN2VmSWhNZ0E3ZEVrU3RRNW5xMit6K2lvMFFBQUFBQUFBQXVRR01FUUNBRVFRQTJBZ0FnQlVFQU5nSUFJQVpFQUFBQUFBQUE4TDg1QXdBZ0NoQTRRWDRNQXdzZ0FDZ0NBQ0VQUVFBaENVRi9JUU5CZnlFQlFYOGhBZ05BSUFrZ0QwZ0VRQ0FBS0FJSUlRY0NRQUpBQTBBQ1FDQURRUUZxSWdOQkFuUWdCMm9vQWdBT0F3RUNBQUlMQ3d3QkN5QURRUUowSVJCQkFDRUhBMEFnQjBFRVJ3UkFJQWNnRUdvaERVRUFJUXhCQUNFSUEwQWdDQ0FMUndSQUlBd2dDRUVDZENBS2FpZ0NBQ0FBS0FJTUlBMUJBblJxS0FJQUlBaEJBblJxS0FJQWJHb2hEQ0FJUVFGcUlRZ01BUXNMSUFjZ0FpQU10eUFBS0FJUUlBMUJBM1JxS3dNQW95QVRveUlVSUJKa0lnZ2JJUUlnQjBFQmFpRUhJQlFnRWlBSUd5RVNJQU1nQVNBSUd5RUJEQUVMQ3dzZ0NVRUJhaUVKREFFTEN5QUZJQUkyQWdBZ0JDQUJOZ0lBSUFZZ0Vqa0RBQ0FLRURoQkFBd0NDeUFESUFOc0lncEJBblFRUkNJTFJRUkFRUUJCQTBHNTJBSWdCeEE5UVFFUUFRdEJBQ0VIUVFBaEFRTkFJQUVnQ2tjRVFDQUhJQUVnQW1vc0FBQkJmM05CL3dGeGFpRUhJQUZCQVdvaEFRd0JDd3NnQnlBS0VFZ2hDVUVBSVFkQkFDRUJBMEFnQVNBS1J3UkFJQUZCQW5RZ0Myb2dBU0FDYWl3QUFFRi9jMEgvQVhFZ0NXc2lDRFlDQUNBSElBZ2dDR3hxSVFjZ0FVRUJhaUVCREFFTEN5QUh0NThpRXlBRHQ2TkVBQUFBQUFBQUxrQmpCRUFnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BSUFzUU9FRitEQUlMSUFBb0FnQWhEMEVBSVFsQmZ5RURRWDhoQVVGL0lRSURRQ0FKSUE5SUJFQWdBQ2dDQ0NFSEFrQUNRQU5BQWtBZ0EwRUJhaUlEUVFKMElBZHFLQUlBRGdNQkFnQUNDd3NNQVFzZ0EwRUNkQ0VRUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQkJxSVExQkFDRU1RUUFoQ0FOQUlBZ2dDa2NFUUNBTUlBaEJBblFnQzJvb0FnQWdBQ2dDRkNBTlFRSjBhaWdDQUNBSVFRSjBhaWdDQUd4cUlRd2dDRUVCYWlFSURBRUxDeUFISUFJZ0RMY2dBQ2dDR0NBTlFRTjBhaXNEQUtNZ0U2TWlGQ0FTWkNJSUd5RUNJQWRCQVdvaEJ5QVVJQklnQ0JzaEVpQURJQUVnQ0JzaEFRd0JDd3NMSUFsQkFXb2hDUXdCQ3dzZ0JTQUNOZ0lBSUFRZ0FUWUNBQ0FHSUJJNUF3QWdDeEE0UVFBTUFRdEJmd3NMSVJFZ0RpUUdJQkVMVkFFQmZ5TUdJUU1qQmtFd2FpUUdJQU1nQWpZQ0FDQURRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQU5CSEdvaUFTQUNJQU1Rb1FjZ0FDQUJFS0lISUFFUVJ5QUNFRWNnQXlRR0Mzd0JBWDhqQmlFR0l3WkJFR29rQmlBQUlBSTJBZ0FnQUNBRE5nSUVJQUFnQkRZQ0NDQUFRUUUyQWhBZ0FDQUVJQVZzTmdJVUlBWkJBRFlDQUNBR1FRUnFJQVlzQUF3NkFBQWdCa0VJYWlBR0tBSUFOZ0lBSUFCQkdHb2dBUkNsQnlBQUlBVkJBRWdFZnlBQ0VMa0RJQU5zQlNBRkN6WUNEQ0FHSkFZTGFnRUNmeU1HSVFFakJrRVFhaVFHQWtBQ1FBSkFBa0FnQUVFQmF3NENBQUVDQ3lBQUlRSU1BZ3RCQkNFQ0RBRUxRUkFRQlNFQUlBRkNBRGNDQUNBQlFRQTJBZ2dnQVVIa29BSkI1S0FDRUdBUWZpQUFJQUVRaGdJZ0FFR0k4Z0JCQlJBRUN5QUJKQVlnQWdzZUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ0xSd0VDZnlNR0lRRWpCa0dRQW1va0JpQUJRWUFDYWlJQ0VCTWFJQUZCZ0FKQnZKd0NJQUlRSWhBZ0dpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FTQUJFR0FRZmlBQkpBWUxPZ0VDZnlNR0lRSWpCa0VRYWlRR0lBRWdBQ2dDQUd3aEF5QUNRUUE2QUFBZ0FFRUVhaUFESUFJUXJnY2dBRUVRYWlBQkVORURJQUlrQmd0TkFRSi9JQUFvQWd3RVFDQUFLQUlJRUw0RElBQkJBRFlDQ0NBQUtBSUVJUUlEUUNBQklBSkhCRUFnQUNnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQUVFQU5nSU1Dd3NkQVFKL0EwQWdBQVJBSUFBb0FnQWhBaUFBRURnZ0FpRUFEQUVMQ3d1SEFnRUhmeU1HSVFjakJrRVFhaVFHSUFJb0FnQWlCaUFBS0FJQUlnaHJJUUFnQVVFQ1RnUkFJQUZCZm1wQkFoQTVJZ2tnQUVFRGRVNEVRQ0FBUVFKMVFRRnlJZ05CQTNRZ0NHb2lCQ0VBSUFOQkFXb2lCU0FCU0FSQUlBVWdBeUFFSUFSQkNHb2lCQkRCQVNJRkd5RURJQVFnQUNBRkd5RUFDeUFBSUFZUXdRRkZCRUFnQnlBR0tRSUFOd01BQTBBQ1FDQUdJQUFpQmlrQ0FEY0NBQ0FDSUFBMkFnQWdDU0FEU0EwQUlBTkJBWFJCQVhJaUEwRURkQ0FJYWlJRUlRQWdBMEVCYWlJRklBRklCRUFnQlNBRElBUWdCRUVJYWlJRUVNRUJJZ1ViSVFNZ0JDQUFJQVViSVFBTElBQWdCeERCQVVVTkFRc0xJQVlnQnlrREFEY0NBQXNMQ3lBSEpBWUxDQUFnQUVIOEFHb0xYUUVCZjBILy8vLy9BU0FCU1FSQUVBQUxJQUZCLy8vLy93RkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBM1FRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQTNRZ0FtbzJBZ2dMQ3hBQUlBQkNBRGNDQUNBQVFRQTJBZ2dMYlFBZ0FDb0NBQ0FCS2dJQWxDQUFLZ0lFSUFFcUFnU1VraUFBS2dJSUlBRXFBZ2lVa2lBQUtnSU1JQUVxQWd5VWtpQUFLZ0lRSUFFcUFoQ1VraUFBS2dJVUlBRXFBaFNVa2lBQUtnSVlJQUVxQWhpVWtpQUFLZ0ljSUFFcUFoeVVraUFBS2dJZ0lBRXFBaUNVa2d2VkFnRUpmU0FGSUFZcUFnQWdCeW9DQUpJZ0NDb0NBSklnQ1NvQ0FKSkRBQUNBUHBRaUNqZ0NBQ0FGSUFZcUFnUWdCeW9DQkpJZ0NDb0NCSklnQ1NvQ0JKSkRBQUNBUHBRaUN6Z0NCQ0FHS2dJQUlBcVRJZzBnRFpRZ0Jpb0NCQ0FMa3lJT0lBNlVrcEVnQnlvQ0FDQUtreUlQSUErVUlBY3FBZ1FnQzVNaUVDQVFsSktSa2lBSUtnSUFJQXFUSWhFZ0VaUWdDQ29DQkNBTGt5SVNJQktVa3BHU0lBa3FBZ0FnQ3BNaUNpQUtsQ0FKS2dJRUlBdVRJZ3NnQzVTU2taSkRBQUNBUHBRaURFTUFBQUFBV3dSL1FRQUZJQVJEQUFDQVB5QU1sYnRFelR0L1pwNmc5aitpdGlJTU9BSUFJQUFnRFNBTWxEZ0NBQ0FBSUE0Z0JDb0NBSlE0QWdRZ0FTQVBJQVFxQWdDVU9BSUFJQUVnRUNBRUtnSUFsRGdDQkNBQ0lCRWdCQ29DQUpRNEFnQWdBaUFTSUFRcUFnQ1VPQUlFSUFNZ0NpQUVLZ0lBbERnQ0FDQURJQXNnQkNvQ0FKUTRBZ1JCQVFzTERBQWdBQ0FCS1FJQU53SUFDeW9BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBRUVRQ0FBSUFFUXdRTWdBQ0FCRU5vSEN3dHBBUVI5SUFBcUFoQWdBQ29DRkNBQUtnSWNJQUFxQWlBUWdBRWhCQ0FBS2dJTUlBQXFBaFFnQUNvQ0dDQUFLZ0lnRUlBQklRSWdBQ29DRENBQUtnSVFJQUFxQWhnZ0FDb0NIQkNBQVNFRElBUWdBQ29DQUpRZ0FpQUFLZ0lFbEpNZ0F5QUFLZ0lJbEpJTHRnSUJBWDBnQVJESEF5SURpeUFDWHdSL1FRQUZJQUJEQUFDQVB5QURsU0lDSUFFcUFoQWdBU29DRkNBQktnSWNJQUVxQWlBUWdBR1VPQUlBSUFBZ0FpQUJLZ0lJSUFFcUFnUWdBU29DSUNBQktnSWNFSUFCbERnQ0JDQUFJQUlnQVNvQ0JDQUJLZ0lJSUFFcUFoQWdBU29DRkJDQUFaUTRBZ2dnQUNBQ0lBRXFBaFFnQVNvQ0RDQUJLZ0lnSUFFcUFoZ1FnQUdVT0FJTUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0dDQUJLZ0lnRUlBQmxEZ0NFQ0FBSUFJZ0FTb0NDQ0FCS2dJQUlBRXFBaFFnQVNvQ0RCQ0FBWlE0QWhRZ0FDQUNJQUVxQWd3Z0FTb0NFQ0FCS2dJWUlBRXFBaHdRZ0FHVU9BSVlJQUFnQWlBQktnSUVJQUVxQWdBZ0FTb0NIQ0FCS2dJWUVJQUJsRGdDSENBQUlBSWdBU29DQUNBQktnSUVJQUVxQWd3Z0FTb0NFQkNBQVpRNEFpQkJBUXNMaXdJQkJYOGpCaUVJSXdaQkVHb2tCaUFGRUdraEJTQUFJQVFvQWdRZ0JDZ0NBR3RCQTNVUWdBSWdDRUVFYWlFS0EwQWdCaUFFS0FJRUlBUW9BZ0FpQjJ0QkEzVkpCRUFnQ0NBS0lBRWdBeWdDQUNJSklBWkJBM1FnQjJvb0FnUWlCMEVVYkdvcUFnQWdCMEVVYkNBSmFpb0NCQkM5QWlBSUtnSUFJQUlvQWdBZ0JDZ0NBQ0FHUVFOMGFpZ0NBRUVVYkdvcUFnQ1RFR2tnQ2lvQ0FDQUNLQUlBSUFRb0FnQWdCa0VEZEdvb0FnQkJGR3hxS2dJRWt4QnBraUFGWHdSQUlBUW9BZ0FnQmtFRGRHb2hCeUFBS0FJRUlna2dBQ2dDQ0VZRVFDQUFJQWNRbGdFRklBa2dCeWtDQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FMQ3lBR1FRRnFJUVlNQVFzTElBZ2tCZ3ZwQWdJSmZ3RjlJd1loQnlNR1FVQnJKQVlnQjBFc2FpSUxJQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdCMEVnYWlJTUlBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0F5Z0NCQ0FES0FJQUlnTnJRUU4xSVEwZ0FTZ0NBQ0VPSUF3b0FnQWhDU0FDS0FJQUlRSWdDeWdDQUNFS0EwQWdDQ0FOUndSQUlBaEJBM1FnQ1dvZ0NFRURkQ0FEYWlnQ0FDSUJRUlJzSUE1cUtBSUFOZ0lBSUFoQkEzUWdDV29nQVVFVWJDQU9haWdDQkRZQ0JDQUlRUU4wSUFwcUlBaEJBM1FnQTJvb0FnUWlBVUVVYkNBQ2FpZ0NBRFlDQUNBSVFRTjBJQXBxSUFGQkZHd2dBbW9vQWdRMkFnUWdDRUVCYWlFSURBRUxDeUFIUXdBQUFBQTRBZ0FnQjBNQUFBQUFPQUlFSUFjZ0JiSWlFRGdDQ0NBSFF3QUFBQUE0QWd3Z0J5QVFPQUlRSUFjZ0JySWlFRGdDRkNBSFF3QUFBQUE0QWhnZ0J5QVFPQUljSUFRZ0FDQUtJQWtnRFNBSEVQd0hCSDhnQUNBRklBWVErd2NGUVFBTElROGdEQkJWSUFzUVZTQUhKQVlnRHd2OEF3RUtmeU1HSVFRakJrRXdhaVFHSUFSQklHb2hCU0FCSUFSQkRHb2dCRUVJYWlBRVFRUnFJQVFnQXhEWEJ5QUFJQUFvQWdBMkFnUWdBVUh3QUdvaERTQUJFTUFESWdNb0FnUWdBeWdDQUd0QkFuVWlDeUFDS0FJRUlBSW9BZ0JyUVFOMVN3UkFJQVZCd01nRFFaYUlBaEEzUVpENUFSQTNRZStpQWhBM1FkWUNFRDVCOXFJQ0VEZEJ4SWdDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFVUVBDQURJQVlRUUNBREVEOFFBQXNnQkVFY2FpRUdJQVJCR0dvaENDQUVRUlJxSVFrZ0JFRVFhaUVLSUEwb0FnQWhBMEVBSVFVRFFDQUZJQXRJQkVBZ0FTQUdJQWdnQ1NBS0lBTXFBZ0FnQXlvQ0JDQURLZ0lJSUFNcUFnd2dCQ2dDRExkRUFBQUFBQUFBNEQrZ3RpQUVLQUlJdDBRQUFBQUFBQURnUDZDMklBUW9BZ1MzUkFBQUFBQUFBT0Evb0xZZ0JDZ0NBTGRFQUFBQUFBQUE0RCtndGhEV0J5QUdLZ0lBUXdBQWdEOWRJQWdxQWdCREFBQ0FQMTF4SUFrcUFnQkRBQUNBUDExeElBb3FBZ0JEQUFDQVAxMXhCRUFnQVJEQUF5Z0NBQ0FGUVFKMGFpZ0NBRUVEZENBQ0tBSUFhaUVISUFBb0FnUWlEQ0FBS0FJSVJnUkFJQUFnQnhDV0FRVWdEQ0FIS1FJQU53SUFJQUFnQUNnQ0JFRUlhallDQkFzTElBTkJFR29oQXlBRlFRRnFJUVVNQVFzTElBUWtCZ3ZQQXdJT2Z3RjlJd1loQ1NNR1FTQnFKQVlnQ1VFRWFpRVBJQWxCRkdvaURDQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBbEJDR29pRFNBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFNb0FnUWdBeWdDQUNJUWEwRURkU0VSSUFFb0FnQWhBU0FDS0FJQUlRSWdEQ2dDQUNFU0lBMG9BZ0FoRXdOQUlBb2dFVWNFUUNBS1FRTjBJQkJxS0FJRUlRc2dDa0VDZENJVVFRSjBJQkpxSWdnZ0NrRURkQ0FRYWlnQ0FDSU9RUlJzSUFGcUtBSUFOZ0lBSUFnZ0RrRVViQ0FCYWlnQ0JEWUNCQ0FJSUE1QkZHd2dBV29vQWdnMkFnZ2dDQ0FPUVJSc0lBRnFLQUlNTmdJTUlCUkJBblFnRTJvaUNDQUxRUlJzSUFKcUtBSUFOZ0lBSUFnZ0MwRVViQ0FDYWlnQ0JEWUNCQ0FJSUF0QkZHd2dBbW9vQWdnMkFnZ2dDQ0FMUVJSc0lBSnFLQUlNTmdJTUlBcEJBV29oQ2d3QkN3c2dBQ0FFc2lJV1E4M01URDZVSUJhU0loYU1JQllnQmJJaUZrUE56RXcrbENBV2tpSVdqQ0FXRU1NSElBQWdCa0VCZGJJNEFnZ2dBQ0FIUVFGMXNqZ0NEQ0FBSUFZMkFnQWdBQ0FITmdJRUlBQWdEQ2dDQUNBTktBSUFJQU1vQWdRZ0F5Z0NBR3RCQTNVUXdnY2dBQ0FQSUFrUXVRZEJmeUFKS0FJQUlBOHFBZ0JEQUFCQVFGMGJJUlVnRFJCVklBd1FWU0FKSkFZZ0ZRdEdBQU5BSUFFZ0FrY0VRQ0FBS0FJRUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUFnQUNnQ0JFRVVhallDQkNBQlFSUnFJUUVNQVFzTEN5Z0FJQUlnQVdzaUFrRUFTZ1JBSUFBb0FnUWdBU0FDRUV3YUlBQWdBQ2dDQkNBQ2FqWUNCQXNMT0FFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQ0FBUVFBMkFnZ2dBRUVBTmdJRUlBQkJBRFlDQUFzTE13QWdBaUFCYXlJQ1FRQktCRUFnQWtFTUVFZ2hBeUFBS0FJRUlBRWdBaEJNR2lBQUlBQW9BZ1FnQTBFTWJHbzJBZ1FMQzFzQkEzOGdBQ2dDQkNJRElBQW9BZ0FpQkd0QkZCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUWhnZ0ZJQUlnQVVzRVFDQUJRUlJzSUFScUlRSWdBeUVCQTBBZ0FTQUNSd1JBSUFGQmJHb2hBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTENnQWdBRUhnQURZQ0FBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVhocUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN4Y0FJQUJDQURjQ0FDQUFRZ0EzQWdnZ0FFRUJPZ0FRQ3lzQkFYOGdBQ2dDQkNFQ0EwQWdBaERVQXlBQUlBQW9BZ1JCRkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMWFFFQmYwSE1tYlBtQUNBQlNRUkFFQUFMSUFGQnpKbXo1Z0JMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCRkd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkZHd2dBbW8yQWdnTEN3a0FJQUFnQVRZQ0NBc1RBQ0FBUVFnMkFnUWdBRUVNYWtFSUVJY0JDd3NBSUFCQkFDQUJFRVVhQy93REFnVi9BbndqQmlFR0l3WkJvQUpxSkFZZ0JrR0FBbW9oQ0NBR1FjQUJhaUlFSUFGQnFBRnFRUVFnQVNnQ0RFRUFTQVIvSUFGQkZHb0ZJQUVvQWdoQkFFZ0VmeUFCUVJocUJTQUJRUkJxQ3dzb0FnQWlCV3RCQkJCUElnZEJCSFJxS3dNQU9RTUFJQVFnQVNBSFFRUjBhaXNEc0FFNUF3Z2dCQ0FCUWFnQmFrRUZJQVZyUVFRUVR5SUhRUVIwYWlzREFEa0RFQ0FFSUFFZ0IwRUVkR29yQTdBQk9RTVlJQVFnQVVHb0FXcEJCaUFGYTBFRUVFOGlCMEVFZEdvckF3QTVBeUFnQkNBQklBZEJCSFJxS3dPd0FUa0RLQ0FFSUFGQnFBRnFRUWNnQld0QkJCQlBJZ1ZCQkhScUt3TUFPUU13SUFRZ0FTQUZRUVIwYWlzRHNBRTVBemdnQmtIZ0FHb2lBU0FDUkFBQUFBQUFBT0Mvb2lJSk9RTUFJQUVnQWtRQUFBQUFBQURnUDZJaUFqa0RDQ0FCUkFBQUFBQUFBQUFBT1FNUUlBRWdBamtER0NBQklBSTVBeUFnQVVRQUFBQUFBQUFBQURrREtDQUJJQUk1QXpBZ0FTQUpPUU00SUFGQlFHdEVBQUFBQUFBQUFBQTVBd0FnQVNBSk9RTklJQUVnQ1RrRFVDQUJSQUFBQUFBQUFBQUFPUU5ZSUFaQmlBSnFJZ1VnQkRZQ0FDQUZJQUUyQWdRZ0JVRUVOZ0lJSUFBb0FnQWdCQ0FCUVFRZ0JoQ1lCRUVBU0FSOFJBQUFBQUNFMTVkQkJTQUFLQUlBSUFVZ0JpQURJQWdRNmdGQkFFZ2hBRVFBQUFBQWhOZVhRU0FJS3dNQUlBQWJDeUVLSUFZa0JpQUtDNzhDQUNBQUtBSUFJQUVvQWdBUWJDQUFLQUlFSUFFb0FnUVFiR29nQUNnQ0NDQUJLQUlJRUd4cUlBQW9BZ3dnQVNnQ0RCQnNhaUFBS0FJUUlBRW9BaEFRYkdvZ0FDZ0NGQ0FCS0FJVUVHeHFJQUFvQWhnZ0FTZ0NHQkJzYWlBQUtBSWNJQUVvQWh3UWJHb2dBQ2dDSUNBQktBSWdFR3hxSUFBb0FpUWdBU2dDSkJCc2FpQUFLQUlvSUFFb0FpZ1FiR29nQUNnQ0xDQUJLQUlzRUd4cUlBQW9BakFnQVNnQ01CQnNhaUFBS0FJMElBRW9BalFRYkdvZ0FDZ0NPQ0FCS0FJNEVHeHFJQUFvQWp3Z0FTZ0NQQkJzYWlBQVFVQnJLQUlBSUFGQlFHc29BZ0FRYkdvZ0FDZ0NSQ0FCS0FKRUVHeHFJQUFvQWtnZ0FTZ0NTQkJzYWlBQUtBSk1JQUVvQWt3UWJHb2dBQ2dDVUNBQktBSlFFR3hxSUFBb0FsUWdBU2dDVkJCc2FpQUFLQUpZSUFFb0FsZ1FiR29nQUNnQ1hDQUJLQUpjRUd4cUMwRUJBbjhnQVVFQlRnUkFBa0FnQUVFQU5nSUFRUUVoQWdOQUlBRWdBa1lOQVNBQ1FRSjBJQUJxSUFOQkFXb2lBellDQUNBQ1FRRnFJUUlNQUFBTEFBc0xDejRCQW44Z0FDZ0NCQ0FBS0FJQUlnUnJRUUoxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc2dBaENmQ0FVZ0F5QUJTd1JBSUFBZ0FVRUNkQ0FFYWpZQ0JBc0xDOG9FQVExL0l3WWhFU01HUVJCcUpBWWdFVUVFYWlFU0lBaEJBa2toRkNBSVFRSkdJUlVEUUNBUUlBVklCRUFnRGtFSWRDQUxhaUFRUWJEeEJHd2dCR29vQWdBMkFnQWdDU0FRUWJEeEJHd2dCR29yQXdpMklCQkJzUEVFYkNBRWFpc0RFTFlnRWlBUkVLWUJRUUJPQkVBZ0RrRUlkQ0FMYWlBU0tnSUF1emtET0NBT1FRaDBJQXRxUVVCcklCRXFBZ0M3T1FNQUlCQkJzUEVFYkNBRWFrRWNhaUFRUWJEeEJHd2dCR3BCM0xnQ2FpQVFRYkR4Qkd3Z0JHb29BaGdnRUVHdzhRUnNJQVJxUVp6eEJHb2dDU0FPUVFoMElBdHFRY2dBYWlBT1FRaDBJQXRxUWFnQmFpSVBFS1lJUVFCT0JFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWWdCeUFJSUFBZ0FTQUNJQU1nQ1NBUElBb2dEa0VJZENBTGFrRUlhaUlXSUE1QkNIUWdDMnBCRkdvaUZ5QU9RUWgwSUF0cVFTaHFJaGdnRGtFSWRDQUxha0VNYWlJWklBNUJDSFFnQzJwQkdHb2lHaUFPUVFoMElBdHFRVEJxSWhNZ0RTQU9RUWgwSUF0cVFmQUJhaUFPUVFoMElBdHFRZmdCYWhEK0JpSVBRWHByRGdjRkJBTUNBUUFHQnd0QkFpRVBEQVVMUVFNaER3d0VDMEVFSVE4TUF3dEJCU0VQREFJTFFRa2hEd3dCQzBFQklROExJQTVCQ0hRZ0Myb2dEellDN0FFTEFrQUNRQ0FVQkVBZ0RrRUlkQ0FMYWlBV0tBSUFOZ0lFSUJnaEV5QVhJUThNQVFVZ0ZRUkFJQTVCQ0hRZ0Myb2dHU2dDQURZQ0JDQWFJUThNQWdzTERBRUxJQTVCQ0hRZ0Myb2dEeWdDQURZQ0VDQU9RUWgwSUF0cUlCTXJBd0E1QXlBTElBNUJBV29oRGdzTElCQkJBV29oRUF3QkN3c2dEQ0FPTmdJQUlCRWtCa0VBQ3dnQUlBQkI2QUJxQzY4SUFRaC9Jd1loQ1NNR1FTQnFKQVlnQUVFTWFpSUhLQUlFSUFBb0Ftd1F4Z0VnQlU0RVFDQUJRUUVRZ3dJZ0FSREZBU0FGRUljQlFRQWhBQU5BSUFBZ0JVZ0VRQ0FBUVFKMElBUnFLQUlBSVFJZ0FSREZBU2dDQUNBQVFRSjBhaUFDTmdJQUlBQkJBV29oQUF3QkN3c2dDU1FHRHdzZ0NVRVVhaUVHSUFsQ0FEY0NBQ0FKUWdBM0FnZ2dDVUdBZ0lEOEF6WUNFQ0FISUFJZ0F5QUVJQVVRcFFnZ0IwRVlhaUlNS0FJRUlnc2dEQ2dDQUNJSWEwRUNkU0FGUndSQUlBWkJ3TWdEUVpueEFSQTNRZEh4QVJBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQjJQSUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDaWdDQUNnQ0hDRU5JQXBCQ2lBTlFUOXhRWW9CYWhFQ0FDRUtJQVlRUENBSElBb1FRQ0FIRUQ4UUFBdEJBQ0VIQWtBQ1FBSkFBa0FEUUNBSElBc2dDR3RCQW5WSkJFQWdCMEVDZENBSWFpZ0NBQ0lJUVg5R0RRSWdDQ0FGVGcwRElBaEJBblFnQkdvaUNDZ0NBQ0FEVGcwRUlBZEJBblFnQkdvaEN5QUpJQWdRd3dJaUNDZ0NCQ0lLSUFnb0FnaEdCRUFnQ0NBTEVLUUlCU0FLSUFzb0FnQTJBZ0FnQ0NBS1FRUnFOZ0lFQ3lBSFFRRnFJUWNnRENnQ0FDRUlJQXdvQWdRaEN3d0JDd3NDUUNBSktBSU1RUUZHQkVBZ0FVRUJFSU1DSUFFUXhRRWdCUkNIQVVFQUlRQURRQ0FBSUFWT0RRSWdBRUVDZENBRWFpZ0NBQ0VDSUFFUXhRRW9BZ0FnQUVFQ2RHb2dBallDQUNBQVFRRnFJUUFNQUFBTEFBVWdBUkRmQXlBSktBSU1FS01JSUFsQkNHb2hCQU5BQWtBZ0JDZ0NBQ0lFUlEwRElBUW9BaEFnQkNnQ0RFWU5BRUdBQVJCUklnVWdBQkRoQXlBQ0lBUW9BZ2hCNEFCc2FoQ2lDQ0FHSUFVMkFnQWdCVUVBRUlNQ0lBRVEzd01pQlNnQ0JDSUhJQVVvQWdoR0JFQWdCU0FHRU1JQ0JTQUhJQVlvQWdBMkFnQWdCU0FGS0FJRVFRUnFOZ0lFQ3lBQUlBWW9BZ0FnQWlBRElBUW9BZ3dpQlNBRUtBSVFJQVZyUVFKMUVPQUREQUVMQ3lBR1FjRElBMEczOUFFUU4wSFI4UUVRTjBIdm9nSVFOMEdEQXhBK1FmYWlBaEEzUWVYMEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUpFT2tESUFra0JnOExJQVpCd01nRFFlN3lBUkEzUWRIeEFSQTNRZStpQWhBM1FlMENFRDVCOXFJQ0VEZEJtZk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFJTElBWkJ3TWdEUWEvekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU0Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUVMSUFaQndNZ0RRZnJ6QVJBM1FkSHhBUkEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0N5QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEV3QWdBQ0FBS0FJRUlnQkJBV28yQWdRZ0FBdkZBd0VJZnlBQkJFQUNRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSUNFSWdCSUFKQnRJc0JOZ0lBSUFKQitQY0FRUllRQkFzZ0FVRUNkQkJSSVFJZ0FDZ0NBQ0VESUFBZ0FqWUNBQ0FEQkVBZ0FDZ0NCQm9nQXhBNEN5QUFJQUUyQWdSQkFDRUNBMEFnQVNBQ1J3UkFJQUFvQWdBZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQ0dvaEF5QUFLQUlJSWdJRVFDQUNLQUlFSVFRZ0FTQUJRWDlxSWdoeFJTSUpCSDhnQkNBSWNRVWdCQ0FCVHdSL0lBUWdBUkJPQlNBRUN3c2hCaUFBS0FJQUlBWkJBblJxSUFNMkFnQURRQ0FDSVFRRFFBSkFBMEFDUUNBRUtBSUFJZ0pGRFFZZ0FpZ0NCQ0VESUFZZ0NRUi9JQU1nQ0hFRklBTWdBVThFZnlBRElBRVFUZ1VnQXdzTElnVkdEUUFnQUNnQ0FDQUZRUUowYWlJREtBSUFSUTBDSUFJaEF3TkFJQU1vQWdBaUJ3UkFJQUlvQWdnZ0J5Z0NDRVlFUUNBSElRTU1BZ3NMQ3lBRUlBYzJBZ0FnQXlBQUtBSUFJQVZCQW5ScUtBSUFLQUlBTmdJQUlBQW9BZ0FnQlVFQ2RHb29BZ0FnQWpZQ0FBd0JDd3NnQWlFRURBRUxDeUFESUFRMkFnQWdCU0VHREFBQUN3QUxDd1VnQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3lBQVFRQTJBZ1FMQ3pzQVFlQzhBeXdBQUVVRVFFSGd2QU1RY0FSQVFZakVBMEVBTmdJQVFZekVBMEVBTmdJQVFaREVBMEVBTmdJQVFlQzhBeEJ2Q3d0QmlNUURDd2tBSUFBZ0FUWUNCQXNKQUNBQUlBRTJBZ0FMVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRWnlHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3pRQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFCQkpHb1FsQWdMdVFFQkJYOGdBU2dDQUNFQklBQW9BZ1FpQWdSQUFrQWdBaUFDUVg5cUlnUnhSU0lGQkg4Z0FTQUVjUVVnQVNBQ1NRUi9JQUVGSUFFZ0FoQk9Dd3NpQmtFQ2RDQUFLQUlBYWlnQ0FDSUFCSDhEUUNBQUtBSUFJZ0JGQkVCQkFDRUFEQU1MSUFBb0FnUWlBeUFCUmdSQUlBRWdBQ2dDQ0VZTkF3VWdCUVJBSUFNZ0JIRWhBd1VnQXlBQ1R3UkFJQU1nQWhCT0lRTUxDeUFESUFaSEJFQkJBQ0VBREFRTEN3d0FBQXNBQlVFQUN5RUFDd1ZCQUNFQUN5QUFDeWtCQVg4Z0FDZ0NDQkMyQ0NBQUtBSUFJUUVnQUVFQU5nSUFJQUVFUUNBQUtBSUVHaUFCRURnTEMyMEJBWDhnQUVHVUJtb2lBVUVZYWhCVklBRkJER29RVlNBQkVGVWdBRUdNQldvaUFVSDhBR29RVlNBQlFmQUFhaEJWSUFGQjNBQnFFTVFISUFCQi9BUnFFRlVnQUVHZ0FXb1EvQWdnQUVIY0FHb1F4d0lnQUVISUFHb1F1UWdnQUVGQWF4Q1ZBU0FBUVF4cUVGVUxLQUVCZnlBQVFRUnFFT2tESUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFFUTZnTWdBUkE0Q3d1d0J3SUhmd0Y4UWNZQUlRWkJ3SVE5SVFjZ0EwRUJSaUlMQkVCQnhnQkJCQkE1SVFaQndJUTlRUVFRT1NFSElBQkJBaEE1SVFBZ0FVRUNFRGtoQVFzZ0JVRUFOZ0lBSUFCQmZtb2hDQ0FCUVg1cUlRa2dBa0dRZ01nQWFpRU1RUUFoQVFKQUFrQURRQUpBSUFFZ0FpZ0NDRTROQWlBQ1FReHFJQUZCQW5ScUlnTW9BZ0FpQ2lBR1NDQUtJQWRLY2tVRVFDQUNRWXlBQ0dvZ0FVRUVkR29pQ2lnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCa0lBSWFpZ0NBQ0FJUndSQUlBSWdBVUVFZEdwQmxJQUlhaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJtSUFJYWlnQ0FDQUpSd1JBSUFJb0FnQWdBQ0FNSUFGQkFXb2dDaUFGS0FJQVFiRHhCR3dnQkdvUXZnaEJBRTRFUUNBREtBSUFJQVVvQWdCQnNQRUViQ0FFYWhDM0NFRUFUZ1JBSUFVb0FnQkJzUEVFYkNBRWFpQURLQUlBTmdJQUlBVW9BZ0FpQTBHdzhRUnNJQVJxSUFKQmtJQW9haUFCUVFSMGFpc0RBRGtEQ0NBRFFiRHhCR3dnQkdvZ0FpQUJRUVIwYWtHWWdDaHFLd01BT1FNUUlBVWdBMEVCYWlJRE5nSUFJQU5CUEVZRVFFRThJUUFNQ0FzTEN3c0xDd3NMSUFGQkFXb2hBUXdCQ3dzTUFRc2dCU2dDQUNFQUMwRUFJUUVEUUNBQklBQklCRUFnQVVHdzhRUnNJQVJxSVFZZ0FVR3c4UVJzSUFScUlRY2dBVUd3OFFSc0lBUnFJUU1nQVVFQmFpSUJJUUlEUUNBQ0lBQklCRUFnQmlzRENDQUNRYkR4Qkd3Z0JHb3JBd2loSWcwZ0RhSWdCeXNERUNBQ1FiRHhCR3dnQkdvckF4Q2hJZzBnRGFLZ0lRMGdBeWdDQUNJQUlBSkJzUEVFYkNBRWFpSUlLQUlBSWdsS0JFQWdEU0FBUVFRUU9iZGpCRUFnQ0VFQU5nSUFDd1VnRFNBSlFRUVFPYmRqQkVBZ0EwRUFOZ0lBQ3dzZ0FrRUJhaUVDSUFVb0FnQWhBQXdCQ3dzTUFRc0xRUUFoQWdOQUlBSWdBRWdFUUNBQ1FiRHhCR3dnQkdvb0FnQkZCRUFnQWlFQklBQWhBd05BSUFGQkFXb2lBQ0FEU0FSQUlBRkJzUEVFYkNBRWFpQUFRYkR4Qkd3Z0JHcEJzUEVFRUV3YUlBQWhBU0FGS0FJQUlRTU1BUXNMSUFVZ0EwRi9haUlBTmdJQUN5QUNRUUZxSVFJTUFRc0xJQXNFUUFKQVFRQWhBUU5BSUFFZ0FFNE5BU0FFSUFRb0FnQkJBblEyQWdBZ0JDQUVLd01JUkFBQUFBQUFBQUJBb2prRENDQUVJQVFyQXhCRUFBQUFBQUFBQUVDaU9RTVFJQVFvQWhnaEFrRUFJUUFEUUNBQUlBSklCRUFnQkVFY2FpQUFRUUowYWlJRElBTW9BZ0JCQVhRMkFnQWdCRUhjdUFKcUlBQkJBblJxSWdNZ0F5Z0NBRUVCZERZQ0FDQUFRUUZxSVFBTUFRc0xJQVJCc1BFRWFpRUVJQUZCQVdvaEFTQUZLQUlBSVFBTUFBQUxBQXNMUVFBTEVnQWdBRUg4aFFFMkFnQWdBRUVFYWhCSEMwZ0JBWDhqQmlFREl3WkJJR29rQmlBRElBQW9BamdnQWlnQ0FDQUNLQUlFSUFJb0FnZ2dBaWdDREJDNEF5QUFJQU1nQWhEZ0FTQUFJQUVnQXhEZ0FTQURFTjBCSUFNa0JndUxBd0VFZndKQUFrQUNRQUpBSUFBb0FoZ09Bd0FBQVFJTElBQW9BaXdoQWdOQUlBRWdBazROQXlBQUlBRkJDSFJxSWdNb0FqUkJmMG9FUUNBQUlBRkJDSFJxS3dOUVJBQUFBQUFBQU9BL1l3UkFJQUFnQVVFSWRHcEJmellDT0NBRFFYODJBalFnQUNBQlFRaDBha0VHTmdLY0Fnc0xJQUZCQVdvaEFRd0FBQXNBQ3lBQUtBSXNJUUlEUUNBQklBSk9EUUlnQUNBQlFRaDBhaUlES0FJMFFYOUtCRUFnQUNBQlFRaDBhaXNEVUVRQUFBQUFBQURnUDJNRVFDQUFJQUZCQ0hScVFYODJBandnQTBGL05nSTBJQUFnQVVFSWRHcEJCallDbkFJTEN5QUJRUUZxSVFFTUFBQUxBQXNnQUNnQ0xDRURBMEFnQVNBRFRnMEJJQUFnQVVFSWRHb2lBaWdDT0VGL1NnUi9JQUFnQVVFSWRHb3JBMWhFQUFBQUFBQUE0RDlqQkg4Z0FrRi9OZ0k0UVFBRlFRRUxCVUVCQ3lFQ0lBQWdBVUVJZEdvaUJDZ0NQRUYvU2dSQUlBQWdBVUVJZEdvckEyQkVBQUFBQUFBQTREOWpCRUFnQkVGL05nSThJQUpGQkVBZ0FDQUJRUWgwYWtFR05nS2NBZ3NMQ3lBQlFRRnFJUUVNQUFBTEFBc0xDd0FnQUVNQUFBQS9rbzRMRFFBZ0FCRFNBVU1ZY2pFL2xRdTNBd0lEZndOOUlBQW9BZ0FpQkNvQ0FDSUhJQUVvQWdBaUF5b0NBQ0lHWFFSL1FRRUZJQVlnQjEwRWYwRUFCU0FFS0FJRUlBTW9BZ1JKQ3dzaEFTQUdJQUlvQWdBaUFpb0NBQ0lJWFFSL1FRRUZJQWdnQmwwRWYwRUFCU0FES0FJRUlBSW9BZ1JKQ3dzaEFBSi9JQUVFZnlBQUJFQWdCQ0FJT0FJQUlBSWdCemdDQUNBRUtBSUVJUUFnQkNBQ0tBSUVOZ0lFSUFJZ0FEWUNCRUVCREFJTElBUWdCamdDQUNBRElBYzRBZ0FnQkNnQ0JDRUZJQVFnQXlnQ0JEWUNCQ0FESUFVMkFnUWdCeUFDS2dJQUlnWmRCRUFnQWtFRWFpRUFJQUlvQWdRaEFRVkJBU0FHSUFkZERRSWFRUUVnQlNBQ1FRUnFJZ0FvQWdBaUFVOE5BaG9MSUFNZ0JqZ0NBQ0FDSUFjNEFnQWdBeUFCTmdJRUlBQWdCVFlDQUVFQ0JTQUFCSDhnQXlBSU9BSUFJQUlnQmpnQ0FDQURLQUlFSVFBZ0F5QUNLQUlFTmdJRUlBSWdBRFlDQkNBRUtnSUFJZ2NnQXlvQ0FDSUdYUVJBSUFSQkJHb2hBQ0FES0FJRUlRRWdCQ2dDQkNFQ0JVRUJJQVlnQjEwTkF4cEJBU0FFUVFScUlnQW9BZ0FpQWlBREtBSUVJZ0ZQRFFNYUN5QUVJQVk0QWdBZ0F5QUhPQUlBSUFBZ0FUWUNBQ0FESUFJMkFnUkJBZ1ZCQUFzTEN3dnRBUUVGZnlBQUtBSUFJUVlnQUNnQ0JDRURBMEFnQXlBR1J3UkFJQUVvQWdRaUJFRjBhaUlDUVFBMkFnQWdCRUY0YWlJRlFRQTJBZ0FnQkVGOGFpSUVRUUEyQWdBZ0FpQURRWFJxSWdJb0FnQTJBZ0FnQlNBRFFYaHFJZ1VvQWdBMkFnQWdCQ0FEUVh4cUlnTW9BZ0EyQWdBZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FDUVFBMkFnQWdBU0FCS0FJRVFYUnFOZ0lFSUFJaEF3d0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVNYkJCRkdpQUFJQUZCREd3Z0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUXhzRUVVYUlBQWdBVUVNYkNBQ2FqWUNCQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUVDeE1BSUFBZ0FUWUNWQ0FBUVR4cUlBRVEwUUlMT3dFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmJHbzJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xxUUVCQTM4Z0FDZ0NBQ0VFSUFBb0FnUWhBZ05BSUFJZ0JFY0VRQ0FCS0FJRVFXeHFJZ01nQWtGc2FpSUNLUUlBTndJQUlBTWdBaWtDQ0RjQ0NDQURJQUlvQWhBMkFoQWdBU0FCS0FJRVFXeHFOZ0lFREFFTEN5QUFLQUlBSVFJZ0FDQUJLQUlFTmdJQUlBRWdBallDQkNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQUVvQWdRMkFnQUxjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjeVpzK1lBU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVVYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVJSc0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRVViQ0FFYWpZQ0RBdmtBUUVHZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQXlBQUJIOGdBU0FBUWZTR3J3TnFJZ1VvQWdCR0JIOUJBQVVnQUVHSWg2OERhaUlFS0FJQUlnWUVRQ0FHRUVrZ0JFRUFOZ0lBQ3dKQUFrQUNRQUpBSUFFT0JRTUFBQUFCQWdzZ0JDQUFLQUlrSUFBb0FpZ1Fnd2cyQWdBTUFnc2dBRUdFaDY4RGFrRUJOZ0lBSUFCQmdJZXZBMnBCQVRZQ0FFRUVJUUVNQVF0QkFFRURRY2lsQVNBQ0VEMUJBQ0VCQ3lBRklBRTJBZ0FnQUNnQ0FFRUJSZ1JBSUFNZ0FVRUNkRUdBQ0dvb0FnQTJBZ0JCQUVFRFFaS21BU0FERUQwTFFRQUxCVUYvQ3lFSElBSWtCaUFIQ3lnQUlBQWdBVGdDQUNBQUlBSTRBZ1FnQUNBRE9BSUlJQUFnQkRnQ0RDQUFJQVZCQVhFNkFCQUxld0VCZnlNR0lRSWpCa0VRYWlRR0lBQUVRQ0FBS0FJQUlBRkhCRUFDUUNBQUlBRTJBZ0FnQVVVRVFDQUFRZVNHcHdKcUlnQW9BZ0FRT0NBQVFRQTJBZ0FNQVFzZ0FFSGtocWNDYWlBQUtBSW9JQUFvQWlSc0VFUWlBRFlDQUNBQVJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc0xDd3NnQWlRR0M1b0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FpQUJheUlFUVc5TEJFQVFBQXNnQkVFTFNRUkFJQUFnQkRvQUN3VWdBQ0FFUVJCcVFYQnhJZ1lRVVNJRE5nSUFJQUFnQmtHQWdJQ0FlSEkyQWdnZ0FDQUVOZ0lFSUFNaEFBc2dBaUFCYXlFR0lBQWhBd05BSUFFZ0FrY0VRQ0FESUFFUVh5QUJRUUZxSVFFZ0EwRUJhaUVEREFFTEN5QUZRUUE2QUFBZ0FDQUdhaUFGRUY4Z0JTUUdDNElCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQVJBSUFBb0FnQWlBUVJBSUFFb0FnQWlBUVJBSUFFUU9BdEJBQ0VCQTBBZ0FTQUFLQUlBSWdNb0FneElCRUFnQXlnQ0NDQUJRUXhzYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQXlnQ0NCQTRJQUFvQWdBUU9DQUFRUUEyQWdBTEJVRUFRUU5CM0xnQklBSVFQUXNnQWlRR0N4RUFJQUFnQUNnQ0FDQUFLQUlFRUtVSkM2NEJBUVYvSXdZaEJTTUdRUkJxSkFZZ0FDQUNJQU1nQlVFRWFpQUZFS1lKUVFCSUJIOUJmd1VnQlNvQ0JDQUJLZ0lNSWdLVVF6TXp5MEdWUXdBQUFEK1NFRU1pQUVFQVNBUi9RWDhGSUFFb0FnUWlCeUFBU2dSL0lBRW9BZ2dpQ0xJZ0FpQUZLZ0lBbEVNek04dEJsWk5EQUFBQVA1SVFReUlHUVg5S0lBZ2dCa3B4Qkg4Z0JDQUJLQUlBSUFBZ0JpQUhiR3BxTEFBQU9nQUFRUUFGUVg4TEJVRi9Dd3NMSVFrZ0JTUUdJQWtMdlFJQ0JIOENmU01HSVFZakJrRkFheVFHSUFaQk5Hb2hCeUFHUVRCcUlRZ2dBQVIvSUFCQkNHb2dBU0FHRVBvQklBQkJ1QUZxSWdBZ0Jpb0NEQ0FHS2dJQUlBS1VJQVlxQWdRZ0E1U1NraUFHS2dJc0lBWXFBaUFnQXBRZ0Jpb0NKQ0FEbEpLU0lndVZJZ29nQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUxsU0lESUFRZ0JSQnRRUUJJQkg5QmZ3VWdBQ0FFS2dJQUlBVXFBZ0FnQnlBSUVLWUJRUUJJQkg5QmZ3VWdDaUFIS2dJQWt5SUNJQUtVSUFNZ0NDb0NBSk1pQWlBQ2xKSkRBQUNBUDE1QkgzUkJIM1VMQ3dVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVLSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NpQUNsVGdDQUVFQUN5RUpJQVlrQmlBSkM0WUxBUXAvSUFNb0FoZ2hDQUpBQWtBQ1FDQUNRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dBeWdDRENFTElBTW9BaFFoRFNBQlFRRjBJUTRnQUNBRVFRQWdBeWdDQ0dzaUIwRUJkR29nQVNBRlFRQWdBeWdDRUdzaUJVRUJkR3BzYW1vaEJFRUFJUUJCQUNFQlFRQWhBZ05BSUFVZ0RVb0VRQXdEQlNBSElRd2dCQ0VKQTBBZ0RDQUxUQVJBSUFndUFRQWlEMEdBSUVjRVFDQUFJQWt0QUFBaUNtb2hBQ0FCSUFvZ0NteHFJUUVnQWlBUFFmLy9BM0VnQ214cUlRSUxJQXhCQVdvaERDQUlRUUpxSVFnZ0NVRUNhaUVKREFFTEN5QUVJQTVxSVFRZ0JVRUJhaUVGREFFTEFBQUxBQXNnQWtFQ1NRUkFJQU1vQWhRaERrRUFJQU1vQWhCcklRb2dDQ0VKUVFBaEFrRUFJUWdEUUNBS0lBNUtCRUFnQWlFQUlBZ2hBU0FNSVFJTUF3VWdBeWdDRENFUFFRQWdBeWdDQ0NJSGF5RUxJQUFnQkNBQklBVWdDa0VCZEdwc2FpQUhRUUYwYTBFRGJHb2hCd05BSUFzZ0Qwd0VRQ0FKTGdFQUloQkJnQ0JIQkVBZ0FpQUhMUUFDSUFjdEFBQWdCeTBBQVdwcVFRTVFTQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0MwRUJhaUVMSUFkQkJtb2hCeUFKUVFKcUlRa01BUXNMSUFwQkFXb2hDZ3dCQ3dBQUN3QUxJQUpCQVhKQkEwWUVRQ0FES0FJVUlRNUJBQ0FES0FJUWF5RUtJQWdoQ1VFQUlRSkJBQ0VJQTBBZ0NpQU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUIyc2hDeUFBSUFRZ0FTQUZJQXBCQVhScWJHb2dCMEVCZEd0QkFuUnFJUWNEUUNBTElBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdCeTBBQWlBSExRQUFJQWN0QUFGcWFrRURFRWdpRFdvaEFpQUlJQTBnRFd4cUlRZ2dEQ0FRUWYvL0EzRWdEV3hxSVF3TElBdEJBV29oQ3lBSFFRaHFJUWNnQ1VFQ2FpRUpEQUVMQ3lBS1FRRnFJUW9NQVFzQUFBc0FDeUFDUVFKeVFRWkdCRUFnQXlnQ0ZDRU9RUUFnQXlnQ0VHc2hDaUFJSVFsQkFDRUNRUUFoQ0FOQUlBb2dEa29FUUNBQ0lRQWdDQ0VCSUF3aEFnd0RCU0FES0FJTUlROUJBQ0FES0FJSUlnZHJJUXNnQUNBRUlBRWdCU0FLUVFGMGFteHFJQWRCQVhSclFRSjBhaUVIQTBBZ0N5QVBUQVJBSUFrdUFRQWlFRUdBSUVjRVFDQUNJQWN0QUFNZ0J5MEFBU0FITFFBQ2FtcEJBeEJJSWcxcUlRSWdDQ0FOSUExc2FpRUlJQXdnRUVILy93TnhJQTFzYWlFTUN5QUxRUUZxSVFzZ0IwRUlhaUVISUFsQkFtb2hDUXdCQ3dzZ0NrRUJhaUVLREFFTEFBQUxBQXNDUUFKQUFrQWdBa0VIYXc0Q0FBRUNDeUFES0FJVUlRNUJBQ0VDUVFBZ0F5Z0NFR3NoQ2lBSUlRY0RRQ0FLSUE1S0JFQWdBaUVBSUFraEFTQU1JUUlNQkFVZ0F5Z0NEQ0VQSUFraENFRUFJQU1vQWdnaUMyc2hDU0FBSUFRZ0FTQUZJQXBCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBSklBOU1CRUFnQnk0QkFDSVFRWUFnUndSQUlBSWdDeTBBQVNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVCYWlFSklBdEJCR29oQ3lBSFFRSnFJUWNNQVFzTElBZ2hDU0FLUVFGcUlRb01BUXNBQUFzQUN5QURLQUlVSVE0Z0NDRUpRUUFoQWtFQUlRaEJBQ0FES0FJUWF5RUhBMEFnQnlBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQzJzaENpQUFJQVFnQVNBRklBZEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FLSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUNhaUVKSUFwQkFXb2hDaUFMUVFScUlRc01BUXNMSUFkQkFXb2hCd3dCQ3dBQUN3QUxRUUFoQUVFQUlRRkJBQ0VDQ3lBR0lBRWdBQ0FBYkNBREtBSWtJZ0VRT1dzaUJBUi9JQUlnQUNBREtBSWdiQ0FCRURsclFlUUFiQ0FES0FJY0VEbEI1QUJzSUFTeWtSQkRFRGtGUVFBTE5nSUFDMFVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpOREFBQUFQNVFpQTR3Z0F5QURRd0FBQUFCZEd3dUlEZ01JZndGK0RYMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSUlBWkJER29oQ1NBR1FRaHFJUW9nQmtFRWFpRUxJQUpCQUVnRVFFRi9JUUVGQWtBQ1FBSkFBa0FDUUFKQUlBSU9CQUFCQWdNRUN5QUVRUWdRT2JJaEVpQUVRUWRzUVFnUU9iSWhFeUFGUVFnUU9iSWhGQ0FGUVFkc1FRZ1FPYkloRlNBRVFRSVFPYkloRmlBRlFRSVFPYkloRjBFQUlRSkJmeUVCQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdFbDBnRHlBVFhuSkZCRUFnQWtFWWJDQUFhaW9DRkNJUUlCUmRJQkFnRlY1eVJRUkFJQThnRnBNaUR5QVBsQ0FRSUJlVElnOGdENVNTSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1CUXNnQVVFWWJDQUFha0VCTmdJTURBUUxJQVJCQ0JBNXNpRVNJQVJCQjJ4QkNCQTVzaUVUSUFWQkNCQTVzaUVVSUFWQkIyeEJDQkE1c2lFVlFYOGhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBSkJHR3dnQUdvcUFoQWlEeUFTWFNBUElCTmVja1VFUUNBQ1FSaHNJQUJxS2dJVUloQWdGRjBnRUNBVlhuSkZCRUFnRHlBREtnSUFreUlQSUErVUlCQWdBeW9DQkpNaUR5QVBsSklpRHlBUlhnUkFJQThoRVNBQ0lRRUxDd3NMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9SZ1JBUVg4aEFRd0VDeUFCUVJoc0lBQnFRUUUyQWd3TUF3c2dCRUVJRURteUlSSWdCRUVIYkVFSUVEbXlJUk1nQlVFSUVEbXlJUlFnQlVFSGJFRUlFRG15SVJWQmZ5RUJRUUFoQWdOQUFrQUNRQUpBSUFKQkdHd2dBR29vQWd4QmYyc09BZ0lBQVFzZ0FrRVliQ0FBYWlvQ0VDSVBJQkpkSUE4Z0UxNXlSUVJBSUFKQkdHd2dBR29xQWhRaUVDQVZYaUFRSUJSZGNrVUVRQ0FQSUFNcUFnQWlENU1nQXlvQ0RDQURLZ0lFSWhhVGxDQVFJQmFUSUFNcUFnZ2dENU9Va3lJUElBK1VJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUF3c2dBVUVZYkNBQWFrRUJOZ0lNREFJTElBTWdBMEVJYWlBSElBZ1Eyd0lnQXlBRFFSQnFJQWtnQ2hEYkFpQUVRUWdRT2JJaEZpQUVRUWRzUVFnUU9iSWhGeUFGUVFnUU9iSWhHQ0FGUVFkc1FRZ1FPYkloR1NBRFFSaHFJUXdnQ1NvQ0FDSVVJQWdxQWdBaUVwUWlFU0FLS2dJQUloVWdCeW9DQUNJVGxDSVBrME1BQUFBQVlFVWhDU0FQSUJHVFF3QUFBQUJnUlNFTlFRSkJBU0FKR3lFSFFRRkJBaUFKR3lFSVFYOGhBVUVBSVFKREFBQUFBQ0VSQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdGbDBnRHlBWFhuSkZCRUFnQWtFWWJDQUFhaUlFS2dJVUloQWdHRjBnRUNBWlhuSkZCRUFnRENBUE9BSUFJQU1nQkNnQ0ZEWUNIQ0FESUF3Z0N5QUdFTnNDSUFzcUFnQWhEd0ovQWtBZ0NRUi9JQVlxQWdBaEVBd0JCU0FTSUErVUlCTWdCaW9DQUNJUWxKTkRBQUFBQUdBRWYwRUNRUU1nRlNBUGxDQVVJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUJJUXBCQTBFQ0lBVWJCUXdDQ3dzTUFRc2dEU0FWSUErVUlob2dGQ0FRbENJYmswTUFBQUFBWUVWeUJIOGdFeUFRbENBU0lBK1VrME1BQUFBQVlFVWdHeUFhazBNQUFBQUFZRVZ5RFFSQkF5RUtJQWdoQkNBSEJVRUJRUU1nRWlBUGxDQVRJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUNJUXBCQTBFQklBVWJDd3NoQlNBRElBb2dCU0FFRUxBSklnOGdFVjRFZnlBUElSRWdBZ1VnQVFzaEFRc0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FCUVJoc0lBQnFRUUUyQWd3TERBRUxRUUFoQXdKQUFrQURRQUpBQWtBQ1FDQURRUmhzSUFGcUlnSW9BZ3hCZjJzT0FnSUFBUXNnQWtFQk5nSU1JQU5CR0d3Z0FXb2hCQ0FEUVJoc0lBRnFJUVVnQTBFWWJDQUJhaUVIUVFBaEFnTkFBa0FDUUNBQ1FSaHNJQUJxSWdnb0FneEJmMnNPQWdNQUFRc2dCQ2dDQUNBQ1FSaHNJQUJxS0FJQVJnUkFJQVVvQWdRZ0FrRVliQ0FBYWlnQ0JFWUVRQ0FIS0FJSUlBSkJHR3dnQUdvb0FnaEdEUWNMQ3dzZ0FrRUJhaUVDREFBQUN3QUxJQU5CQVdvaEF3d0JDd3NNQVFzZ0NFRUJOZ0lNSUFJaEFRd0JDeUFCUVg4MkFneEJoTVFEUVFCQmhNUURLQUlBSWdFRWZ5QUJCVUhvdmdOQkFCQVRRWDlxclRjREFFR0V4QU1vQWdBTFFRRnFJZ0VnQVVHQUFVWWJOZ0lBUVFBaEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBQlJRUkFRWDhoQVF3QkMwSG92Z05CNkw0REtRTUFRcTMrMWVUVWhmMm8yQUIrUWdGOElnNDNBd0FnQWJJZ0RrSWhpS2V5bEVNQUFBQXdsQkJESVFSQkFDRUNRUUFoQVFOQUFrQUNRQUpBQWtBZ0FrRVliQ0FBYWlJRktBSU1JZ05CZjJzT0FnQUJBZ3NnQXlFQkRBUUxJQUVnQkVZTkFTQUJRUUZxSVFFTElBSkJBV29oQWd3QkN3c2dCVUVCTmdJTUlBSWhBUXNMSUFZa0JpQUJDNWdFQWdGL0VYMGpCaUVFSXdaQk1Hb2tCaUFBQkVBZ0FFRUlhaUFCSUFRUStnRWdBaW9DQUNJTElBUXFBZ0FpRkpRaERpQUNLZ0lFSWdZZ0JDb0NCQ0lNbENFUElBWWdCQ29DRkNJTmxDRVFJQVFxQWl3aUNpQUxJQVFxQWlBaUI1UWlDU0FHSUFRcUFpUWlDSlFpQlpLU0lSRWdDaUFMUXdBQUlFR1NJaElnQjVRZ0JaS1NJUk1nQ2lBSklBWkRBQUFnUVpJaUJpQUlsSktTSVFvZ0JDb0NIQ0lISUFzZ0JDb0NFQ0lJbENJRklBWWdEWlNTa2lBS2xTRUxJQVFxQWd3aUNTQU9JQVlnREpTU2tpQUtsU0VNQlNBQ0tnSUFJZ3NnQVNvQ0FDSVVsQ0VPSUFJcUFnUWlCaUFCS2dJRUlneVVJUThnQmlBQktnSVVJZzJVSVJBZ0FTb0NMQ0lLSUFzZ0FTb0NJQ0lIbENJSklBWWdBU29DSkNJSWxDSUZrcEloRVNBS0lBdERBQUFnUVpJaUVpQUhsQ0FGa3BJaEV5QUtJQWtnQmtNQUFDQkJraUlHSUFpVWtwSWhDaUFCS2dJY0lnY2dDeUFCS2dJUUlnaVVJZ1VnQmlBTmxKS1NJQXFWSVFzZ0FTb0NEQ0lKSUE0Z0JpQU1sSktTSUFxVklRd0xJQWNnRWlBSWxDQVFrcElnRTVVaERTQUpJQklnRkpRZ0Q1S1NJQk9WSVJVZ0J5QUZJQkNTa2lBUmxTRUhJQWtnRGlBUGtwSWdFWlVoQ1NBVklBbVRJZ1VnQlpRZ0RTQUhreUlGSUFXVWtpSUlJQXdnQ1pNaUJTQUZsQ0FMSUFlVElnVWdCWlNTSWdWZElRQWdBeUFGSUFnZ0FCdVJRMXlQSWtDVU9BSUFJQU1nQ0NBRklBQWJrVU5janlKQWxEZ0NCQ0FFSkFaQkFBc2ZBQ0FBQkg4Z0FDQUJJQUlnQXhDR0JBVkJBQ0FCSUFJZ0F4Q0dCQXNhQ3dZQVFSd1FBZ3NHQUVFYkVBSUxCZ0JCRnhBQ0N3WUFRUklRQWdzSUFFRVBFQUpDQUFzSUFFRU1FQUpCQUFzSUFFRUtFQUpCQUF1TUFRRUNmeU1GUVFGcUpBVWdBQ01GTmdJQUEwQWdCQ0FEU0FSQUlBUkJBM1FnQW1vb0FnQkZCRUFnQkVFRGRDQUNhaU1GTmdJQUlBUkJBM1JCQkdvZ0Ftb2dBVFlDQUNBRVFRTjBRUWhxSUFKcVFRQTJBZ0FnQXhBRElBSVBDeUFFUVFGcUlRUU1BUXNMSUFBZ0FTQUNJQU5CQVhRaUFFRUJha0VEZEJEb0FTQUFFSThFSVFVZ0FCQURJQVVMcnd3QkIzOGdBQ0FCYWlFRklBQW9BZ1FpQTBFQmNVVUVRQUpBSUFBb0FnQWhBaUFEUVFOeFJRUkFEd3NnQVNBQ2FpRUJJQUFnQW1zaUFFSEEwUU1vQWdCR0JFQWdCU2dDQkNJQ1FRTnhRUU5IRFFGQnRORURJQUUyQWdBZ0JTQUNRWDV4TmdJRUlBQWdBVUVCY2pZQ0JDQUZJQUUyQWdBUEN5QUNRUU4ySVFRZ0FrR0FBa2tFUUNBQUtBSUlJZ0lnQUNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTERBRUxJQUFvQWhnaEJ5QUFJQUFvQWd3aUFrWUVRQUpBSUFCQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQUNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSEJFQWdBQ0FBS0FJY0lnTkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWRCRUdvaUF5QUhRUlJxSUFBZ0F5Z0NBRVliSUFJMkFnQWdBa1VOQWdzZ0FpQUhOZ0lZSUFBb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQUFvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQVVvQWdRaUIwRUNjUVJBSUFVZ0IwRitjVFlDQkNBQUlBRkJBWEkyQWdRZ0FDQUJhaUFCTmdJQUlBRWhBd1VnQlVIRTBRTW9BZ0JHQkVCQnVORURJQUZCdU5FREtBSUFhaUlCTmdJQVFjVFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JFSEEwUU1vQWdBZ0FFY0VRQThMUWNEUkEwRUFOZ0lBUWJUUkEwRUFOZ0lBRHdzZ0JVSEEwUU1vQWdCR0JFQkJ0TkVESUFGQnRORURLQUlBYWlJQk5nSUFRY0RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCQ0FBSUFGcUlBRTJBZ0FQQ3lBSFFRTjJJUVFnQjBHQUFra0VRQ0FGS0FJSUlnSWdCU2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMQlFKQUlBVW9BaGdoQ0NBRktBSU1JZ0lnQlVZRVFBSkFJQVZCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdCU2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFJQkVBZ0JTZ0NIQ0lEUVFKMFFkelRBMm9pQkNnQ0FDQUZSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBaEJFR29pQXlBSVFSUnFJQU1vQWdBZ0JVWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSU5nSVlJQVVvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBVW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBQWdBU0FIUVhoeGFpSURRUUZ5TmdJRUlBQWdBMm9nQXpZQ0FDQUFRY0RSQXlnQ0FFWUVRRUcwMFFNZ0F6WUNBQThMQ3lBRFFRTjJJUUlnQTBHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQTBFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlES0FJQUJVR3MwUU1nQWlBRGNqWUNBQ0FCUVFocUlRTWdBUXNoQWlBRElBQTJBZ0FnQWlBQU5nSU1JQUFnQWpZQ0NDQUFJQUUyQWd3UEN5QURRUWgySWdFRWZ5QURRZi8vL3dkTEJIOUJId1VnQVNBQlFZRCtQMnBCRUhaQkNIRWlBblFpQkVHQTRCOXFRUkIyUVFSeElRRkJEaUFCSUFKeUlBUWdBWFFpQVVHQWdBOXFRUkIyUVFKeElnSnlheUFCSUFKMFFROTJhaUlCUVFGMElBTWdBVUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRRWdBQ0FDTmdJY0lBQkJBRFlDRkNBQVFRQTJBaEFDUUVHdzBRTW9BZ0FpQkVFQklBSjBJZ1p4UlFSQVFiRFJBeUFFSUFaeU5nSUFJQUVnQURZQ0FBd0JDeUFESUFFb0FnQWlBU2dDQkVGNGNVWUVRQ0FCSVFJRkFrQWdBMEVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUVFEUUNBQlFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFnUkFJQVJCQVhRaEJDQURJQUlvQWdSQmVIRkdEUUlnQWlFQkRBRUxDeUFHSUFBMkFnQU1BZ3NMSUFJb0FnZ2lBU0FBTmdJTUlBSWdBRFlDQ0NBQUlBRTJBZ2dnQUNBQ05nSU1JQUJCQURZQ0dBOExJQUFnQVRZQ0dDQUFJQUEyQWd3Z0FDQUFOZ0lJQzgwQkFRTi9RZS8vLy84RElBRnJJQUpKQkVBUUFBc2dBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJUVVnQVVIbi8vLy9BVWtFUUVFQ0lBRkJBWFFpQnlBQklBSnFJZ0lnQWlBSFNSc2lBa0VFYWtGOGNTQUNRUUpKR3lJQ1FmLy8vLzhEU3dSQUVBQUZJQUloQmdzRlFlLy8vLzhESVFZTElBWkJBblFRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ25BUXNnQXlBRWF5SURCRUFnQWlBRVFRSjBhaUFGSUFSQkFuUnFJQU1RcHdFTElBRkJBVWNFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQzZBQ0FRUi9Jd1loQ0NNR1FSQnFKQVpCN3YvLy93TWdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhCU1FSQVFRSWdBVUVCZENJTElBRWdBbW9pQWlBQ0lBdEpHeUlDUVFScVFYeHhJQUpCQWtrYklnSkIvLy8vL3dOTEJFQVFBQVVnQWlFS0N3VkI3Ly8vL3dNaENnc2dDa0VDZEJCUklRSWdCQVJBSUFJZ0NTQUVFS2NCQ3lBR0JFQWdCRUVDZENBQ2FpQUhJQVlRcHdFTElBTWdCV3NpQXlBRWF5SUhCRUFnQkVFQ2RDQUNhaUFHUVFKMGFpQUVRUUowSUFscUlBVkJBblJxSUFjUXB3RUxJQUZCQVVjRVFDQUpFRGdMSUFBZ0FqWUNBQ0FBSUFwQmdJQ0FnSGh5TmdJSUlBQWdBeUFHYWlJQU5nSUVJQWhCQURZQ0FDQUFRUUowSUFKcUlBZ1FiaUFJSkFZTGtBRUJBMzhqQmlFREl3WkJFR29rQmlBQlFlLy8vLzhEU3dSQUVBQUxJQUZCQWtrRVFDQUFJQUU2QUFzZ0FDRUVCU0FCUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBVFlDQkFzTElBRUVRQ0FFSUFJZ0FSRHJCQXNnQTBFQU5nSUFJQUZCQW5RZ0JHb2dBeEJ1SUFNa0JndnVBUUVEZnlNR0lRZ2pCa0VRYWlRR1FXNGdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhIU1FSL1FRc2dBVUVCZENJS0lBRWdBbW9pQWlBQ0lBcEpHeUlDUVJCcVFYQnhJQUpCQzBrYkJVRnZDeUlLRUZFaEFpQUVCRUFnQWlBSklBUVFxQUVMSUFZRVFDQUNJQVJxSUFjZ0JoQ29BUXNnQXlBRmF5SURJQVJySWdjRVFDQUdJQUlnQkdwcUlBVWdCQ0FKYW1vZ0J4Q29BUXNnQVVFS1J3UkFJQWtRT0FzZ0FDQUNOZ0lBSUFBZ0NrR0FnSUNBZUhJMkFnZ2dBQ0FESUFacUlnQTJBZ1FnQ0VFQU9nQUFJQUFnQW1vZ0NCQmZJQWdrQmdzV0FDQUJCRUFnQUNBQ0VFSkIvd0Z4SUFFUVJSb0xDM0lCQTM4akJpRURJd1pCRUdva0JpQUJRVzlMQkVBUUFBc2dBVUVMU1FSQUlBQWdBVG9BQ3dVZ0FDQUJRUkJxUVhCeElnUVFVU0lGTmdJQUlBQWdCRUdBZ0lDQWVISTJBZ2dnQUNBQk5nSUVJQVVoQUFzZ0FDQUJJQUlRbFFRZ0EwRUFPZ0FBSUFBZ0FXb2dBeEJmSUFNa0JndjZGUU1NZndGK0Fud2pCaUVMSXdaQjBBRnFKQVlnQzBISUFXb2hEU0FMUWNBQmFpRU9JQXRCNEFCcUlRd2dBeWdDQkNFS0EwQWdCeUFLU0FSQUlBTW9BZ0FpQ0NBSFFjQUNiR29oQ1NBSFFjQUNiQ0FJYWlnQ0JBUkFJQWRCd0FKc0lBaHFJUkJCQUNFRlFYOGhCZ05BSUFVZ0FrZ0VRQUpBQWtBQ1FDQUZRUWgwSUFGcUtBSU1JZzhOQUNBRlFRaDBJQUZxS1FQNEFTSVJVQTBBSUJFZ0VDa0R1QUpSRFFFTUFnc2dEeUFKS0FJQVJnMEFEQUVMSUFWQkNIUWdBV29yQXpBaUVpQURLd040WTBVRVFDQUdRWDlHQkg4Z0JRVWdCa0VJZENBQmFpc0RNQ0FTWXdSL0lBVUZJQVlMQ3lFR0N3c2dCVUVCYWlFRkRBRUxDeUFIUWNBQ2JDQUlhaUFHTmdLd0FpQUdRWDlLQkVBZ0JrRUlkQ0FCYWlBR1FRaDBJQUZxS0FJWU5nSVFDd1ZCZnlFR1FRQWhCUU5BSUFVZ0FrZ0VRQ0FGUVFoMElBRnFLQUlJSUFrb0FnQkdCRUFnQlVFSWRDQUJhaXNES0NJU0lBTXJBM0JqUlFSQUlBWkJmMFlFZnlBRkJTQUdRUWgwSUFGcUt3TW9JQkpqQkg4Z0JRVWdCZ3NMSVFZTEN5QUZRUUZxSVFVTUFRc0xJQWRCd0FKc0lBaHFJQVkyQXJBQ0lBWkJmMG9FUUNBR1FRaDBJQUZxSUFaQkNIUWdBV29vQWhRMkFoQUxDeUFIUVFGcUlRY01BUXNMUVFBaEJVRUFJUUpCQUNFR1FRQWhCd05BSUFjZ0NrZ0VRQ0FES0FJQUlnb2dCMEhBQW14cUtBS3dBaUlJUVFCT0JFQUNRQ0FBSUFoQkNIUWdBV29pQ1NBSFFjQUNiQ0FLYWlzRENDQUxFTm9EUkFBQUFBQUFBQkJBWkFSQUlBTW9BZ0FnQjBIQUFteHFRWDgyQXJBQ0lBaEJDSFFnQVdvaUNDZ0M3QUVOQVNBSVFRYzJBdXdCREFFTElBVkZJQUlnQ1NnQ0FDSUlTSElFUUVFQUlRSURmeUFDUVFOR0JIOGdCeUVHSUFnRlFRQWhCZ05BSUFaQkJFY0VRQ0FDUVFWMElBeHFJQVpCQTNScUlBSkJCWFFnQzJvZ0JrRURkR29yQXdBNUF3QWdCa0VCYWlFR0RBRUxDeUFDUVFGcUlRSU1BUXNMSVFJTElBVkJBV29oQlFzTElBZEJBV29oQnlBREtBSUVJUW9NQVFzTEFrQUNRQ0FGUlEwQUlBVWdBeWdDZ0FGSURRQWdEQ0FES0FJQUlBWkJ3QUpzYWtId0FHb2dDeEN6QWlBRlFRWjBFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTElBVkI0QUJzRUVRaUJrVUVRRUVBUVFOQnVkZ0NJQTBRUFVFQkVBRUxJQVZCQW5RaENDQURLQUlFSVJCQkFDRUZRUUFoQWdOQUlBVWdFRWdFUUNBREtBSUFJZ29nQlVIQUFteHFLQUt3QWlJSlFRQk9CRUFnQWtFRGRDSU5RUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVFnQ1VFSWRDQUJhaWdDRUNJT2EwRUVFRThpRDBFRWRHb3JBd0E1QXdBZ0RVRUJja0VEZENBSGFpQUpRUWgwSUFGcUlBOUJCSFJxS3dPd0FUa0RBQ0FOUVFKeVFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRVWdEbXRCQkJCUElnOUJCSFJxS3dNQU9RTUFJQTFCQTNKQkEzUWdCMm9nQ1VFSWRDQUJhaUFQUVFSMGFpc0RzQUU1QXdBZ0RVRUVja0VEZENBSGFpQUpRUWgwSUFGcVFhZ0Jha0VHSUE1clFRUVFUeUlQUVFSMGFpc0RBRGtEQUNBTlFRVnlRUU4wSUFkcUlBbEJDSFFnQVdvZ0QwRUVkR29yQTdBQk9RTUFJQTFCQm5KQkEzUWdCMm9nQ1VFSWRDQUJha0dvQVdwQkJ5QU9hMEVFRUU4aURrRUVkR29yQXdBNUF3QWdEVUVIY2tFRGRDQUhhaUFKUVFoMElBRnFJQTVCQkhScUt3T3dBVGtEQUNBQ1FReHNJZ2xCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOUFCT1FNQUlBbEJBWEpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOWdCT1FNQUlBbEJBbkpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK0FCT1FNQUlBbEJBM0pCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK2dCT1FNQUlBbEJCR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL0FCT1FNQUlBbEJCV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL2dCT1FNQUlBbEJCbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNEFDT1FNQUlBbEJCMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNGdDT1FNQUlBbEJDR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNUFDT1FNQUlBbEJDV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNWdDT1FNQUlBbEJDbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNkFDT1FNQUlBbEJDMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNmdDT1FNQUlBSkJBV29oQWdzZ0JVRUJhaUVGREFFTEN5QUVRUUJISVFRZ0F5Z0NhQVJBSUFBZ0N5QUhJQVlnQ0NBTUVMOENJaElnQUNBRFFRaHFJZ0lnQnlBR0lBZ2dBaEMvQWlJVFl5RUZJQVFFUUNBRkJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1abnBQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5aUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVFBQUFBQUFBQUFBQkNOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBRFFRaHFJQUJCQlhScUlBSkJBM1JxSUFCQkJYUWdER29nQWtFRGRHb3JBd0E1QXdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xCU0FUSVJJTEN3c0xDd1VnQlFSQVFRQWhBQU5BSUFCQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0EwRUlhaUFBUVFWMGFpQUNRUU4wYWlBQVFRVjBJQXhxSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDd1VnRXlFU0N3c0ZJQVFnQUNBTElBY2dCaUFJSUFOQkNHb2lBaEMvQWlJU1JBQUFBQUFBQURSQVpuRUVRQ0FBS0FJQVJKcVptWm1abWVrL0VJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkloSkVBQUFBQUFBQU5FQm1CSHdnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnQWhDT0FTSVNSQUFBQUFBQUFEUkFaZ1I4SUFBb0FnQkVtcG1abVptWjJUOFFqUUVnQUNBTElBY2dCaUFJSUFJUWpnRWlFa1FBQUFBQUFBQTBRR1lFZkNBQUtBSUFSQUFBQUFBQUFBQUFFSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJCU0FTQ3dVZ0Vnc0ZJQklMSVJJTEN5QUdFRGdnQnhBNEFrQWdFa1FBQUFBQUFBQTBRR01FUUNBRFFRRTJBbWdNQVFzZ0EwRUFOZ0pvSUFNb0FnUWhBa0VBSVFBRFFDQUFJQUpPRFFFZ0F5Z0NBQ0FBUWNBQ2JHb29BckFDSWdSQkFFNEVRQ0FFUVFoMElBRnFJZ1FvQXV3QlJRUkFJQVJCQ0RZQzdBRUxDeUFBUVFGcUlRQU1BQUFMQUFzTUFRc2dBMEVBTmdKb0N5QUxKQVlMeVF3Q0VIOFJmQ01HSVFZakJrR0FBV29rQmlBR1FmZ0FhaUVPSUFaQjhBQnFJUThnQmtIb0FHb2hFQ0FHUWVBQWFpRVJJQVpCMkFCcUlSSWdCa0hRQUdvaENDQUdRY2dBYWlFSklBTkJCRWdFZjBGL0JRSi9BMEFnQlNBRFNBUkFJQVZCQVdvaEUwRi9JQVZCR0d3Z0Ftb3JBeEJFQUFBQUFBQUFBQUJpRFFJYUlCTWhCUXdCQ3dzZ0FDc0RBRVFBQUFBQUFBQUFBR0VFZjBGL0JTQUFLd01nUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQXloRUFBQUFBQUFBQUFCaEJIOUJmd1VnQUVGQWF5c0RBRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd05JUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFCRUFBQUFBQUFBOEQ5aUJIOUJmd1VnQUNzREdFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TTRSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMWhFQUFBQUFBQUFBQUJpQkg5QmZ3VWdBMEVCZENJRlFRZ1Fpd0VpQ2tVRVFFRUFRUU5COWF3QklBa1FQVUYvREFvTElBVkJBUkNMQVNJSlJRUkFJQW9RU1VFQVFRTkJqNjBCSUFnUVBVRi9EQW9MUVFBaENBTkFJQU1nQ0VjRVFDQUtLQUlBSWdjZ0NFRUVkQ0lGUVFOMGFpQUlRUmhzSUFKcUlnc3JBd0E1QXdBZ0JVRUJja0VEZENBSGFpQUlRUmhzSUFKcUlnd3JBd2c1QXdBZ0JVRUNja0VEZENBSGFrUUFBQUFBQUFEd1B6a0RBQ0FGUVFOeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJCSEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFRmNrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUVp5UVFOMElBZHFJQXNyQXdBZ0NFRUVkQ0FCYWlJTkt3TUFvcG81QXdBZ0JVRUhja0VEZENBSGFpQU1Ld01JSUEwckF3Q2ltamtEQUNBRlFRaHlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQ1hKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUtja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVF0eVFRTjBJQWRxSUFzckF3QTVBd0FnQlVFTWNrRURkQ0FIYWlBTUt3TUlPUU1BSUFWQkRYSkJBM1FnQjJwRUFBQUFBQUFBOEQ4NUF3QWdCVUVPY2tFRGRDQUhhaUFMS3dNQUlBaEJCSFFnQVdvaUN5c0RDS0thT1FNQUlBVkJEM0pCQTNRZ0Iyb2dEQ3NEQ0NBTEt3TUlvcG81QXdBZ0NTZ0NBQ0lISUFoQkFYUWlCVUVEZEdvZ0RTc0RBRGtEQUNBRlFRRnlRUU4wSUFkcUlBc3JBd2c1QXdBZ0NFRUJhaUVJREFFTEN5QUtFS0FESWdGRkJFQWdDaEJKSUFrUVNVRUFRUU5CcWEwQklCSVFQVUYvREFvTElBRWdDaERaQVNJRFJRUkFJQW9RU1NBSkVFa2dBUkJKUVFCQkEwSERyUUVnRVJBOVFYOE1DZ3NnQVNBSkVOa0JJZ1ZGQkVBZ0NoQkpJQWtRU1NBQkVFa2dBeEJKUVFCQkEwSGRyUUVnRUJBOVFYOE1DZ3NnQXhEV0FVRUFTQVJBSUFvUVNTQUpFRWtnQVJCSklBTVFTU0FGRUVsQkFFRURRZmV0QVNBUEVEMUJmd3dLQ3lBRElBVVEyUUVpQndSL0lBY29BZ0FpQWlzRE1DRVdJQUlyQXdBZ0ZpQUFLd01RSWgyaW9TQUNLd01ZSUJZZ0FDc0RNQ0lib3FFZ0FDc0RLQ0ljb3lJWklBQXJBd2dpSHFLaElBQXJBd0FpSDZNaEdDQUNLd01nSUJzZ0Fpc0RPQ0lWb3FFZ0hLTWhGeUFDS3dNSUlCMGdGYUtoSUI0Z0Y2S2hJQitqSVJvZ0Fpc0RLQ0Fib1NBY295RWJJQUlyQXhBaEpDQUtFRWtnQ1JCSklBRVFTU0FERUVrZ0JSQkpJQWNRU1NBR0lCZ2dGaUFXb2lBWklCbWlJQmdnR0tLZ29KOGlHS001QXdBZ0JpQVpJQmlqT1FNSUlBWWdGaUFZb3prREVDQUdJQm9nRlNBVm9pQVhJQmVpSUJvZ0dxS2dvSjhpRnFNNUF4Z2dCaUFYSUJhak9RTWdJQVlnRlNBV296a0RLQ0FHRVBJSklBWXJBd2dpR1NBR0t3TW9JaHFpSUFZckF4QWlIQ0FHS3dNZ0lpQ2lvU0VWSUJ3Z0Jpc0RHQ0lob2lBYUlBWXJBd0FpSXFLaElSY2dCaUFWSUNBZ0lxSWdHU0Fob3FFaUl5QWpvaUFWSUJXaUlCY2dGNktnb0o4aUZhTWlKVGtETUNBR0lCY2dGYU1pRnprRE9DQUdRVUJySUNNZ0ZhTWlGVGtEQUNBRUlDSTVBd0FnQkNBWk9RTWdJQVJCUUdzZ0hEa0RBQ0FFSUNFNUF3Z2dCQ0FnT1FNb0lBUWdHamtEU0NBRUlDVTVBeEFnQkNBWE9RTXdJQVFnRlRrRFVDQUVJQ1FnSGFFZ0hpQWJvcUVnSDZNZ0dDQVdvRVFBQUFBQUFBRGdQNklpRnFNNUF4Z2dCQ0FiSUJhak9RTTRJQVJFQUFBQUFBQUE4RDhnRnFNNUExaEJBQVVnQ2hCSklBa1FTU0FCRUVrZ0F4QkpJQVVRU1VFQVFRTkJrYTRCSUE0UVBVRi9Dd3NMQ3dzTEN3c0xDd3NMSVJRZ0JpUUdJQlFMRWdBZ0FFR3NvZ0UyQWdBZ0FFRVFhaEJIQ3hJQUlBQkJoS0lCTmdJQUlBQkJER29RUndzakFRRi9JQUJCMEtFQk5nSUFJQUFvQWdnaUFRUkFJQUFzQUF3RVFDQUJFRGdMQ3d0OUFRUi9JQUJCdktFQk5nSUFJQUJCQ0dvaEF3TkFJQUlnQUNnQ0RDQURLQUlBSWdGclFRSjFTUVJBSUFKQkFuUWdBV29vQWdBaUFRUkFJQUVnQVNnQ0JDSUVRWDlxTmdJRUlBUkZCRUFnQVNBQktBSUFLQUlJUWY4QmNVR3NBMm9SQVFBTEN5QUNRUUZxSVFJTUFRc0xJQUJCa0FGcUVFY2dBeENQQ2d2VUNnSVBmd1I4SXdZaEN5TUdRY0FCYWlRR0lBdEJ1QUZxSVFnZ0MwR3dBV29oRGlBTFFhZ0JhaUVLSUF0Qm9BRnFJUVVnQzBHUUFXb2hEeUFMUVRCcUlSQWdBU2dDQ0NJSlFRUklCSDlCZndVQ2Z3Si9JQUFyQTRBQklBbTNvaEJ6SVJFZ0NVSGdBR3dRUkNJR1JRUkFRUUJCQTBISzJBSWdCUkE5UVg4TUFnc2dDVUVFZEJCRUlnZEZCRUJCQUVFRFFjcllBaUFLRUQwZ0JoQTRRWDhNQWdzZ0NVRURkQ0lGRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQTRRUFNBR0VEZ2dCeEE0UVg4TUFnc2dCUkJFSWcxRkJFQkJBRUVEUWNyWUFpQUlFRDBnQmhBNElBY1FPQ0FKRURoQmZ3d0NDeUFSUVg5cUlnVUxRUU1nQlVFRFNoc2hFa0VBSVFvRFFDQUtRUU5IQkVCQkFDRU1BMEFnREVFRVJ3UkFJQXBCQlhRZ0Eyb2dERUVEZEdvZ0NrRUZkQ0FDYWlBTVFRTjBhaXNEQURrREFDQU1RUUZxSVF3TUFRc0xJQXBCQVdvaENnd0JDd3NnRWtFRGRDQU5haUVNUVFBaENnSkFBa0FDUUFKQUEwQUNRQ0FBSUFNZ0VCQ3pBa0VBSVFVRFFDQUZJQUVvQWdnaUFrZ0VRQ0FQSUJBZ0FTZ0NCQ0FGUVJoc2FoQzdCRUVBU0EwQ0lBRW9BZ0FpQWlBRlFRUjBhaXNEQUNBUEt3TUFvU0VXSUFWQkJIUWdBbW9yQXdnZ0R5c0RDS0VoRkNBRlFRRjBJZ0pCQTNRZ0Iyb2dGamtEQUNBQ1FRRnlRUU4wSUFkcUlCUTVBd0FnQlVFRGRDQU5haUFXSUJhaUlCUWdGS0tnSWhRNUF3QWdCVUVEZENBSmFpQVVPUU1BSUFWQkFXb2hCUXdCQ3dzZ0RTQUNRUWhCRWhDQ0F5QUJLQUlJSVFKRUFBQUFBQUFBTUVBZ0RDc0RBRVFBQUFBQUFBQVFRS0lpRkNBVVJBQUFBQUFBQURCQVl4c2lGMFFBQUFBQUFBQVlRS01oRmtRQUFBQUFBQUFBQUNFVVFRQWhCUU5BSUFVZ0FrZ0VRQ0FVSUFWQkEzUWdEV29yQXdBaUZDQVhaQVI4SUJZRklCWkVBQUFBQUFBQThEOUVBQUFBQUFBQThEOGdGQ0FYbzZFaUZDQVVJQlNpb3FHaUM2QWhGQ0FGUVFGcUlRVU1BUXNMSUJRZ0FyZWpJaFFnQUNzRGFHTU5CU0FLQkVBZ0ZDQUFLd040WXdSQUlCUWdGYU1nQUNzRGNHUU5Cd3NMSUFvZ0FDZ0NZRVlOQlVFQUlRVkJBQ0VPQTBBZ0RpQUNTQVJBSUE1QkEzUWdDV29yQXdBaUZTQVhaUVJBSUFWQkJtd2lDRUVEZENBR2FpSUNJQUFnQXlBQktBSUVJQTVCR0d4cUVMa0VRUUJJRFFVZ0FrUUFBQUFBQUFEd1B5QVZJQmVqb1NJVklCV2lJaFVnQWlzREFLSTVBd0FnQ0VFQmNrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVDYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRURha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVGYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUdha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVJYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUpha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFS2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVMYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0JVRURkQ0FIYWlBVklBNUJBWFFpQWtFRGRDQUhhaXNEQUtJNUF3QWdCVUVCYWtFRGRDQUhhaUFWSUFKQkFYSkJBM1FnQjJvckF3Q2lPUU1BSUFWQkFtb2hCU0FCS0FJSUlRSUxJQTVCQVdvaERnd0JDd3NnQlVFR1NBMERJQXNnQnlBR0lBVVFzd1JCQUVnTkJDQURJQXNRc2dRZ0ZDRVZJQXBCQVdvaENnd0JDd3NnQmlBSElBa2dEUkNQQWtGL0RBUUxJQVlnQnlBSklBMFFqd0pCZnd3REN5QUdJQWNnQ1NBTkVJOENRWDhNQWdzZ0JpQUhJQWtnRFJDUEFrRi9EQUVMSUFRZ0ZEa0RBQ0FHRURnZ0J4QTRJQWtRT0NBTkVEaEJBQXNMSVJNZ0N5UUdJQk1MSGdBZ0FFR01vUUUyQWdBZ0FDZ0NDQkJjUndSQUlBQW9BZ2dRaHdNTEN4SUFJQVFnQWpZQ0FDQUhJQVUyQWdCQkF3c0VBRUVFQ3hVQUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3hwQmZ3ditDQUVNZnlBQ0lBQTJBZ0FnRFVFRWFpRVlJQU5CZ0FSeFJTRVpJQTVCQUVvaEdnTkFJQmRCQkVjRVFBSkFBa0FDUUFKQUFrQUNRQ0FJSUJkcUxBQUFEZ1VBQVFNQ0JBVUxJQUVnQWlnQ0FEWUNBQXdFQ3lBQklBSW9BZ0EyQWdBZ0JpZ0NBQ2dDTENFUElBWkJJQ0FQUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFOZ0lBSUE4Z0VEWUNBQXdEQ3lBTkxBQUxJZzlCQUVnaEVDQVlLQUlBSUE5Qi93RnhJQkFiQkVBZ0RTZ0NBQ0FOSUJBYktBSUFJUkFnQWlBQ0tBSUFJZzlCQkdvMkFnQWdEeUFRTmdJQUN3d0NDeUFNTEFBTElnOUJBRWdoRUNBWklBd29BZ1FnRDBIL0FYRWdFQnNpRTBWeVJRUkFJQXdvQWdBZ0RDQVFHeUlQSUJOQkFuUnFJUkVnQWlnQ0FDSVFJUklEUUNBUElCRkhCRUFnRWlBUEtBSUFOZ0lBSUJKQkJHb2hFaUFQUVFScUlROE1BUXNMSUFJZ0UwRUNkQ0FRYWpZQ0FBc01BUXNnQWlnQ0FDRVVJQVJCQkdvZ0JDQUhHeUlXSVFRRFFBSkFJQVFnQlU4TkFDQUdLQUlBS0FJTUlROGdCa0dBRUNBRUtBSUFJQTlCUDNGQnlnRnFFUVFBUlEwQUlBUkJCR29oQkF3QkN3c2dHZ1JBSUE0aER3TkFJQTlCQUVvaUVDQUVJQlpMY1FSQUlBUkJmR29pQkNnQ0FDRVJJQUlnQWlnQ0FDSVFRUVJxTmdJQUlCQWdFVFlDQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSXNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFVElBOGhFU0FDS0FJQUlSQURRQ0FRUVFScUlROGdFVUVBU2dSQUlCQWdFellDQUNBUlFYOXFJUkVnRHlFUURBRUxDeUFDSUE4MkFnQWdFQ0FKTmdJQUN5QUVJQlpHQkVBZ0JpZ0NBQ2dDTENFRUlBWkJNQ0FFUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFJZ1EyQWdBZ0R5QVFOZ0lBQlNBTExBQUxJZzlCQUVnaEVDQUxLQUlFSUE5Qi93RnhJQkFiQkg4Z0N5Z0NBQ0FMSUJBYkxBQUFCVUYvQ3lFUFFRQWhFRUVBSVJJZ0JDRVJBMEFnRVNBV1J3UkFJQUlvQWdBaEZTQVBJQkpHQkg4Z0FpQVZRUVJxSWhNMkFnQWdGU0FLTmdJQUlBc3NBQXNpRDBFQVNDRVZJQkJCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlViU1FSQVFYOGdCQ0FMS0FJQUlBc2dGUnRxTEFBQUlnOGdEMEgvQUVZYklROEZJQkloRHd0QkFDRVNJQk1GSUJBaEJDQVZDeUVRSUJGQmZHb2lFU2dDQUNFVElBSWdFRUVFYWpZQ0FDQVFJQk0yQWdBZ0JDRVFJQkpCQVdvaEVnd0JDd3NnQWlnQ0FDRUVDeUFFSUJSR0JIOGdGZ1VEUUNBVUlBUkJmR29pQkVrRVFDQVVLQUlBSVE4Z0ZDQUVLQUlBTmdJQUlBUWdEellDQUNBVVFRUnFJUlFNQVFVZ0ZpRUVEQU1MQUFBTEFBc2hCQXNnRjBFQmFpRVhEQUVMQ3lBTkxBQUxJZ1JCQUVnaEJ5QVlLQUlBSUFSQi93RnhJQWNiSWdaQkFVc0VRQ0FOS0FJQUlnVkJCR29nR0NBSEd5RUVJQVpCQW5RZ0JTQU5JQWNiYWlJSElBUnJJUVlnQWlnQ0FDSUZJUWdEUUNBRUlBZEhCRUFnQ0NBRUtBSUFOZ0lBSUFoQkJHb2hDQ0FFUVFScUlRUU1BUXNMSUFJZ0JrRUNka0VDZENBRmFqWUNBQXNDUUNBRFFiQUJjVUVZZEVFWWRVRVFheUlEUlEwQUlBTkJFRVlFUUNBQklBSW9BZ0EyQWdBTUFRc2dBU0FBTmdJQUN3dlpCUUVGZnlNR0lRb2pCa0VRYWlRR0lBcEJER29oQ3lBS0lBQUVmeUFDUWZqUEF4QTZCU0FDUWZEUEF4QTZDeUlBSUFFRWZ5QUxJQUFnQUNnQ0FDZ0NMRUUvY1VHeUJXb1JBd0FnQXlBTEtBSUFOZ0FBSUFBb0FnQW9BaUFGSUFzZ0FDQUFLQUlBS0FJb1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0hBdEJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFFSUFBZ0FDZ0NBQ2dDREVIL0FIRkJDR29SQUFBMkFnQWdCU0FBSUFBb0FnQW9BaEJCL3dCeFFRaHFFUUFBTmdJQUlBb2dBQ0FBS0FJQUtBSVVRVDl4UWJJRmFoRURBQ0FHTEFBTFFRQklCRUFDZnlBR0tBSUFJUTBnQzBFQU9nQUFJQTBMSUFzUVh5QUdRUUEyQWdRZ0Jpd0FDMEVBU0FSQUlBWW9BZ2dhSUFZb0FnQVFPQ0FHUVFBMkFnZ0xCU0FMUVFBNkFBQWdCaUFMRUY4Z0JrRUFPZ0FMQ3lBR0lBb3BBZ0EzQWdBZ0JpQUtLQUlJTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBcHFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUtFRWNnQ2lBQUlBQW9BZ0FvQWhoQlAzRkJzZ1ZxRVFNQUlBY3NBQXRCQUVnRVFBSi9JQWNvQWdBaERpQUxRUUEyQWdBZ0Rnc2dDeEJ1SUFkQkFEWUNCQ0FITEFBTFFRQklCRUFnQnlnQ0NCb2dCeWdDQUJBNElBZEJBRFlDQ0FzRklBdEJBRFlDQUNBSElBc1FiaUFIUVFBNkFBc0xJQWNnQ2lrQ0FEY0NBQ0FISUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUpJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUEyQWdBZ0NpUUdDN1lJQVFwL0lBSWdBRFlDQUNBRFFZQUVjVVVoRnlBT1FRQktJUmdEUUNBVlFRUkhCRUFDUUFKQUFrQUNRQUpBQWtBZ0NDQVZhaXdBQUE0RkFBRURBZ1FGQ3lBQklBSW9BZ0EyQWdBTUJBc2dBU0FDS0FJQU5nSUFJQVlvQWdBb0Fod2hEeUFHUVNBZ0QwRS9jVUdLQVdvUkFnQWhFQ0FDSUFJb0FnQWlEMEVCYWpZQ0FDQVBJQkE2QUFBTUF3c2dEU3dBQ3lJUFFRQklJUkFnRFNnQ0JDQVBRZjhCY1NBUUd3UkFJQTBvQWdBZ0RTQVFHeXdBQUNFUUlBSWdBaWdDQUNJUFFRRnFOZ0lBSUE4Z0VEb0FBQXNNQWdzZ0RDd0FDeUlQUVFCSUlSQWdGeUFNS0FJRUlBOUIvd0Z4SUJBYklnOUZja1VFUUNBUElBd29BZ0FnRENBUUd5SVBhaUVRSUFJb0FnQWhFUU5BSUE4Z0VFY0VRQ0FSSUE4c0FBQTZBQUFnRVVFQmFpRVJJQTlCQVdvaER3d0JDd3NnQWlBUk5nSUFDd3dCQ3lBQ0tBSUFJUklnQkVFQmFpQUVJQWNiSWhNaEJBTkFBa0FnQkNBRlR3MEFJQVFzQUFBaUQwRi9UQTBBSUFZb0FnZ2dEMEVCZEdvdUFRQkJnQkJ4UlEwQUlBUkJBV29oQkF3QkN3c2dHQVJBSUE0aER3TkFJQTlCQUVvaUVDQUVJQk5MY1FSQUlBUkJmMm9pQkN3QUFDRVJJQUlnQWlnQ0FDSVFRUUZxTmdJQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSWNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFUkEwQWdBaUFDS0FJQUloQkJBV28yQWdBZ0QwRUFTZ1JBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBZ0NUb0FBQXNnQkNBVFJnUkFJQVlvQWdBb0Fod2hCQ0FHUVRBZ0JFRS9jVUdLQVdvUkFnQWhEeUFDSUFJb0FnQWlCRUVCYWpZQ0FDQUVJQTg2QUFBRkFrQWdDeXdBQ3lJUFFRQklJUkFnQ3lnQ0JDQVBRZjhCY1NBUUd3Ui9JQXNvQWdBZ0N5QVFHeXdBQUFWQmZ3c2hEMEVBSVJGQkFDRVVJQVFoRUFOQUlCQWdFMFlOQVNBUElCUkdCRUFnQWlBQ0tBSUFJZ1JCQVdvMkFnQWdCQ0FLT2dBQUlBc3NBQXNpRDBFQVNDRVdJQkZCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlliU1FSQVFYOGdCQ0FMS0FJQUlBc2dGaHRxTEFBQUlnOGdEMEgvQUVZYklROEZJQlFoRHd0QkFDRVVCU0FSSVFRTElCQkJmMm9pRUN3QUFDRVdJQUlnQWlnQ0FDSVJRUUZxTmdJQUlCRWdGam9BQUNBRUlSRWdGRUVCYWlFVURBQUFDd0FMQ3lBQ0tBSUFJZ1FnRWtZRWZ5QVRCUU5BSUJJZ0JFRi9haUlFU1FSQUlCSXNBQUFoRHlBU0lBUXNBQUE2QUFBZ0JDQVBPZ0FBSUJKQkFXb2hFZ3dCQlNBVElRUU1Bd3NBQUFzQUN5RUVDeUFWUVFGcUlSVU1BUXNMSUEwc0FBc2lCRUVBU0NFR0lBMG9BZ1FnQkVIL0FYRWdCaHNpQlVFQlN3UkFJQTBvQWdBZ0RTQUdHeUlFSUFWcUlRVWdBaWdDQUNFR0EwQWdCU0FFUVFGcUlnUkhCRUFnQmlBRUxBQUFPZ0FBSUFaQkFXb2hCZ3dCQ3dzZ0FpQUdOZ0lBQ3dKQUlBTkJzQUZ4UVJoMFFSaDFRUkJySWdORkRRQWdBMEVRUmdSQUlBRWdBaWdDQURZQ0FBd0JDeUFCSUFBMkFnQUxDOWtGQVFWL0l3WWhDaU1HUVJCcUpBWWdDa0VNYWlFTElBb2dBQVIvSUFKQjZNOERFRG9GSUFKQjRNOERFRG9MSWdBZ0FRUi9JQXNnQUNBQUtBSUFLQUlzUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSUFVZ0N5QUFJQUFvQWdBb0FpaEJQM0ZCc2dWcUVRTUFJQU1nQ3lnQ0FEWUFBQ0FBS0FJQUtBSWNDMEUvY1VHeUJXb1JBd0FnQ0N3QUMwRUFTQVJBQW44Z0NDZ0NBQ0VNSUF0QkFEb0FBQ0FNQ3lBTEVGOGdDRUVBTmdJRUlBZ3NBQXRCQUVnRVFDQUlLQUlJR2lBSUtBSUFFRGdnQ0VFQU5nSUlDd1VnQzBFQU9nQUFJQWdnQ3hCZklBaEJBRG9BQ3dzZ0NDQUtLUUlBTndJQUlBZ2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFRZ0FDQUFLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FGSUFBZ0FDZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFBSUFBb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBTFFRQTZBQUFnRFFzZ0N4QmZJQVpCQURZQ0JDQUdMQUFMUVFCSUJFQWdCaWdDQ0JvZ0JpZ0NBQkE0SUFaQkFEWUNDQXNGSUF0QkFEb0FBQ0FHSUFzUVh5QUdRUUE2QUFzTElBWWdDaWtDQURjQ0FDQUdJQW9vQWdnMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdDbXBCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQW9RUnlBS0lBQWdBQ2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU9JQXRCQURvQUFDQU9DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQWtnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMdFNNQkczOGpCaUVQSXdaQmdBUnFKQVlnRDBIMEEyb2hHU0FQUWRnRGFpRWZJQTlCMUFOcUlTQWdEMEc4QTJvaERDQVBRYkFEYWlFTklBOUJwQU5xSVE0Z0QwR1lBMm9oRVNBUFFaUURhaUVYSUE5QmtBTnFJUndnRDBId0Eyb2lHaUFLTmdJQUlBOUI2QU5xSWhRZ0R6WUNBQ0FVUVpFQk5nSUVJQTlCNEFOcUloSWdEellDQUNBUFFkd0RhaUliSUE5QmtBTnFOZ0lBSUE5QnlBTnFJaFpDQURjQ0FDQVdRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0ZtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBeENBRGNDQUNBTVFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnREdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUExQ0FEY0NBQ0FOUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTVDQURjQ0FDQU9RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElCRkNBRGNDQUNBUlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRVdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUFJZ0F5QVpJQjhnSUNBV0lBd2dEU0FPSUJjUXF3b2dDU0FJS0FJQU5nSUFJQVJCZ0FSeFFRQkhJU0ZCQUNFQ0FuOENRQUpBQWtBQ1FBSkFBa0FEUUFKQUlCTkJCRThOQnlBQUtBSUFJZ01FZnlBREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQUJLQUlBSWd0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXNMQWtBQ1FBSkFBa0FDUUFKQUFrQWdFeUFaYWl3QUFBNEZBUUFEQWdRR0N5QVRRUU5IQkVBZ0IwR0F3QUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkJ5QVJJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUFVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FMRUk0Q0RBVUxEQVVMSUJOQkEwY05Bd3dFQ3lBTktBSUVJQTBzQUFzaUEwSC9BWEVnQTBFQVNCc2lDMEVBSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SVFhMGNFUUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmlFS0lBdEZJZ3NnRUVWeUJFQWdDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSVFNZ0N3UkFJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5Z0NBQ0FEUncwR0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnQmtFQk9nQUFJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJnc2dEU2dDQUNBTklBMHNBQXRCQUVnYktBSUFJQU5IQkVBZ0JrRUJPZ0FBREFZTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnRFNBQ0lBMG9BZ1FnRFN3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDd0ovSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5RWtJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nSkNBTktBSUFJQTBnRFN3QUMwRUFTQnNvQWdCR0N3UkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QU5JQUlnRFNnQ0JDQU5MQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFVTElBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFPS0FJQUlBNGdEaXdBQzBFQVNCc29BZ0JIRFFjZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFHUVFFNkFBQWdEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWdzTUF3c0NRQUpBSUJOQkFra2dBbklFUUNBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTWdFdzBCQlNBVFFRSkdJQmtzQUFOQkFFZHhJQ0Z5UlFSQVFRQWhBZ3dHQ3lBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTU1BUXNNQVFzZ0dTQVRRWDlxYWkwQUFFRUNTQVJBQWtBQ1FBTkFJQU1nRENnQ0JDQUtRZjhCY1NBS1FSaDBRUmgxUVFCSUloQWJRUUowSUFRZ0RDQVFHMnBIQkVBZ0IwR0F3QUFnQXlnQ0FDQUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c01BUXNnREN3QUN5RUtJQXdvQWdBaEJBc2dFU3dBQ3lJWVFRQklJUlVnQXlBRUlBd2dDa0VZZEVFWWRVRUFTQnNpSFNJUWEwRUNkU0lpSUJFb0FnUWlIaUFZUWY4QmNTSVlJQlViU3dSL0lCQUZJQkVvQWdBZ0hrRUNkR29pSGlBWVFRSjBJQkZxSWhnZ0ZSc2hJMEVBSUNKclFRSjBJQjRnR0NBVkcyb2hGUU4vSUJVZ0kwWU5BeUFWS0FJQUlCMG9BZ0JHQkg4Z0hVRUVhaUVkSUJWQkJHb2hGUXdCQlNBUUN3c0xJUU1MQ3dOQUFrQWdBeUFNS0FJRUlBcEIvd0Z4SUFwQkdIUkJHSFZCQUVnaUNodEJBblFnQkNBTUlBb2Jha1lOQUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQUxSUTBBSUFzb0Fnd2lDaUFMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBEQ3d3QkN5QUVEUUZCQUNFTEN5QUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxJQU1vQWdCSERRQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVRQ0FFSUFRb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0JDQUtRUVJxTmdJTUlBb29BZ0FhQ3lBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NnSVFSQUlBd3NBQXNpQ2tFQVNDRUVJQXdvQWdRZ0NrSC9BWEVnQkJ0QkFuUWdEQ2dDQUNBTUlBUWJhaUFEUncwSEN3d0NDMEVBSVFRZ0N5RURBMEFDUUNBQUtBSUFJZ29FZnlBS0tBSU1JaEFnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVLQWtBQ1FDQUxSUTBBSUFzb0Fnd2lFQ0FMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhDd3NnQjBHQUVDQUFLQUlBSWdvb0Fnd2lFQ0FLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxJaEFnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUFFZnlBSktBSUFJZ29nR2lnQ0FFWUVRQ0FJSUFrZ0doRE5BU0FKS0FJQUlRb0xJQWtnQ2tFRWFqWUNBQ0FLSUJBMkFnQWdCRUVCYWdVZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQkFnSUNnQ0FFWnhSUTBCSUJJb0FnQWlDaUFiS0FJQVJnUkFJQlFnRWlBYkVNMEJJQklvQWdBaENnc2dFaUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJUUlBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nRUVFRWFqWUNEQ0FRS0FJQUdnc01BUXNMSUJJb0FnQWlDaUFVS0FJQVJ5QUVRUUJIY1FSQUlBb2dHeWdDQUVZRVFDQVVJQklnR3hETkFTQVNLQUlBSVFvTElCSWdDa0VFYWpZQ0FDQUtJQVEyQWdBTElCY29BZ0JCQUVvRVFBSkFJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0h5Z0NBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkJHbzJBZ3dnQ2lnQ0FCb0xBMEFnRnlnQ0FFRUFUQTBCSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBZEJnQkFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkNpQUpLQUlBSUJvb0FnQkdCRUFnQ0NBSklCb1F6UUVMSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzaEJDQUpJQWtvQWdBaUNrRUVhallDQUNBS0lBUTJBZ0FnRnlBWEtBSUFRWDlxTmdJQUlBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JFQWdCQ0FFS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFRZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRTUNRQUpBSUF0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRUUxEQUVMSUFNTkFrRUFJUXNMSUFkQmdNQUFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXNnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUVhallDRENBRUtBSUFDeENPQWd3QUFBc0FDeUFUUVFGcUlSTU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQUVvQWdBaUEwVU5BQ0FES0FJTUlnZ2dBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0JFVU5Bd3NNQVFzZ0JBMEJDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSUFJc0FBdEJBRWdFZnlBQ0tBSUFCU0FDQ3lBSFFRSjBhaWdDQUVjTkFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJCR28yQWd3Z0JDZ0NBQm9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCUW9BZ0FpQUNBU0tBSUFJZ0ZHQkg5QkFRVWdIRUVBTmdJQUlCWWdBQ0FCSUJ3UWVDQWNLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKU0FSRUVjZ0RoQkhJQTBRUnlBTUVFY2dGaEJISUJRb0FnQWhBQ0FVUVFBMkFnQWdBQVJBSUFBZ0ZDZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUEpBWWdKUXVzQVFFRmZ5QUNLQUlBSUFBb0FnQWlBeUlHYXlJRlFRRjBJZ1JCQVNBRUcwRi9JQVZCLy8vLy93ZEpHeUVGSUFFb0FnQWhCeUFEUVFBZ0FDZ0NCRUdSQVVjaUJCc2dCUkRvQVNJRFJRUkFFQUFMSUFRRVFDQUFJQU0yQWdBRklBQW9BZ0FoQkNBQUlBTTJBZ0FnQkFSQUlBUWdBQ2dDQkVIL0FYRkJyQU5xRVFFQUlBQW9BZ0FoQXdzTElBQkJrZ0UyQWdRZ0FTQUhJQVpySUFOcU5nSUFJQUlnQlNBQUtBSUFhallDQUF1Y0pBRWFmeU1HSVJBakJrR0FCR29rQmlBUVFmQURhaUVhSUJCQjdRTnFJU0FnRUVIc0Eyb2hJU0FRUWJ3RGFpRU5JQkJCc0FOcUlRNGdFRUdrQTJvaER5QVFRWmdEYWlFUklCQkJsQU5xSVJjZ0VFR1FBMm9oSGlBUVFlZ0RhaUliSUFvMkFnQWdFRUhnQTJvaUZTQVFOZ0lBSUJWQmtRRTJBZ1FnRUVIWUEyb2lFeUFRTmdJQUlCQkIxQU5xSWh3Z0VFR1FBMm8yQWdBZ0VFSElBMm9pRmtJQU53SUFJQlpCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVdha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEVUlBTndJQUlBMUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBTmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RrSUFOd0lBSUE1QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FPYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRDBJQU53SUFJQTlCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVBha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dFVUlBTndJQUlCRkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0FpQURJQm9nSUNBaElCWWdEU0FPSUE4Z0Z4Q3ZDaUFKSUFnb0FnQTJBZ0FnQkVHQUJIRkJBRWNoSWtFQUlRSUNmd0pBQWtBQ1FBSkFBa0FDUUFOQUFrQWdGRUVFVHcwSElBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQVNnQ0FDSU1SUTBBSUF3b0Fnd2lCQ0FNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRd0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0ZDQWFhaXdBQUE0RkFRQURBZ1FHQ3lBVVFRTkhCRUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTElnTkIvd0Z4UVJoMFFSaDFRWDlNRFFjZ0J5Z0NDQ0FEUVJoMFFSaDFRUUYwYWk0QkFFR0F3QUJ4UlEwSElCRWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDQzBIL0FYRVF6QUVNQlFzTUJRc2dGRUVEUncwRERBUUxJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJTFFRQWdEeWdDQkNBUExBQUxJZ05CL3dGeElBTkJBRWdiSWd4clJ3UkFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nQzBVaUN5QU1SWElFUUNBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEgvQVhFaEF5QUxCRUFnRHlnQ0FDQVBJQThzQUF0QkFFZ2JMUUFBSUFOSERRWWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBWkJBVG9BQUNBUElBSWdEeWdDQkNBUExBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVlMSUE0b0FnQWdEaUFPTEFBTFFRQklHeTBBQUNBRFJ3UkFJQVpCQVRvQUFBd0dDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN5QUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQ3lFTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dEaWdDQUNBT0lBNHNBQXRCQUVnYkxRQUFJQXRCL3dGeFJnUkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJRc2dDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0Qi93RnhJQThvQWdBZ0R5QVBMQUFMUVFCSUd5MEFBRWNOQnlBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnQmtFQk9nQUFJQThnQWlBUEtBSUVJQThzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTERBTUxBa0FDUUNBVVFRSkpJQUp5QkVBZ0RTZ0NBQ0lLSUEwZ0RTd0FDeUlEUVFCSUlnc2JJaGdoQkNBVURRRUZJQlJCQWtZZ0dpd0FBMEVBUjNFZ0luSkZCRUJCQUNFQ0RBWUxJQTBvQWdBaUNpQU5JQTBzQUFzaUEwRUFTQ0lMR3lJWUlRUU1BUXNNQVFzZ0dpQVVRWDlxYWkwQUFFRUNTQVJBSUEwb0FnUWdBMEgvQVhFZ0N4c2dHR29oRWlBRUlRc0RRQUpBSUFzZ0VrWU5BQ0FMTEFBQUloMUJmMHdOQUNBSEtBSUlJQjFCQVhScUxnRUFRWURBQUhGRkRRQWdDMEVCYWlFTERBRUxDeUFSTEFBTElobEJBRWdoRWlBTElBUnJJaDBnRVNnQ0JDSWZJQmxCL3dGeEloa2dFaHROQkVBZ0h5QVJLQUlBYWlJZklCRWdHV29pR1NBU0d5RWpJQjhnSFdzZ0dTQWRheUFTR3lFU0EwQWdFaUFqUmdSQUlBc2hCQXdFQ3lBU0xBQUFJQmdzQUFCR0JFQWdHRUVCYWlFWUlCSkJBV29oRWd3QkN3c0xDd3NEUUFKQUlBUWdDaUFOSUFOQkdIUkJHSFZCQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwR0RRQWdBQ2dDQUNJREJIOGdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBTVJRMEFJQXdvQWd3aUNpQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUU1MREFFTElBTU5BVUVBSVF3TElBQW9BZ0FpQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0JDMEFBRWNOQUNBQUtBSUFJZ01vQWd3aUNpQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFQmFpRUVJQTBzQUFzaEF5QU5LQUlBSVFvTUFRc0xJQ0lFUUNBRUlBMG9BZ0FnRFNBTkxBQUxJZ05CQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwSERRY0xEQUlMUVFBaEJDQU1JUU1EUUFKQUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQ3lBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBc3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENnSkFBa0FnREVVTkFDQU1LQUlNSWdzZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUxMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaERBc0Nmd0pBSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkg4Z0NpQUtLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0N5SUtRZjhCY1NJTFFSaDBRUmgxUVg5TURRQWdCeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRQWdDU2dDQUNJS0lCc29BZ0JHQkVBZ0NDQUpJQnNRcHdRZ0NTZ0NBQ0VLQ3lBSklBcEJBV28yQWdBZ0NpQUxPZ0FBSUFSQkFXb01BUXNnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElDRXRBQUFnQzBaeFJRMEJJQk1vQWdBaUNpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dDMEVCYWpZQ0RDQUxMQUFBRUVJYUN3d0JDd3NnRXlnQ0FDSUtJQlVvQWdCSElBUkJBRWR4QkVBZ0NpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUFzZ0Z5Z0NBRUVBU2dSQUFrQWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0lDMEFBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NEUUNBWEtBSUFRUUJNRFFFZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUVRZjhCY1VFWWRFRVlkVUYvVEEwS0lBY29BZ2dnQkVFWWRFRVlkVUVCZEdvdUFRQkJnQkJ4UlEwS0lBa29BZ0FnR3lnQ0FFWUVRQ0FJSUFrZ0d4Q25CQXNnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtMQUFBRUVJTElRUWdDU0FKS0FJQUlncEJBV28yQWdBZ0NpQUVPZ0FBSUJjZ0Z5Z0NBRUYvYWpZQ0FDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdERVVOQUNBTUtBSU1JZ1FnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FEUlEwRUN3d0JDeUFERFFKQkFDRU1DeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWdzaUEwSC9BWEZCR0hSQkdIVkJmMHdOQVNBSEtBSUlJQU5CR0hSQkdIVkJBWFJxTGdFQVFZREFBSEZGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUJhallDRENBRUxBQUFFRUlMUWY4QmNSRE1BUXdBQUFzQUN5QVVRUUZxSVJRTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQWdBU2dDQUNJRFJRMEFJQU1vQWd3aUNDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUU1MREFFTElBUU5BUXNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFmOEJjU0FDTEFBTFFRQklCSDhnQWlnQ0FBVWdBZ3NnQjJvdEFBQkhEUUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJVb0FnQWlBQ0FUS0FJQUlnRkdCSDlCQVFVZ0hrRUFOZ0lBSUJZZ0FDQUJJQjRRZUNBZUtBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpDQVJFRWNnRHhCSElBNFFSeUFORUVjZ0ZoQkhJQlVvQWdBaEFDQVZRUUEyQWdBZ0FBUkFJQUFnRlNnQ0JFSC9BWEZCckFOcUVRRUFDeUFRSkFZZ0pBc1pBQ0FBUWdBM0FnQWdBRUVBTmdJSUlBQkJBVUV0RUpNRUN4a0FJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFRUJRUzBRbGdRTEZRQWdBQ2dDQUJCY1J3UkFJQUFvQWdBUWh3TUxDMk1CQVg4akJpRUdJd1pCRUdva0JpQUdRU1U2QUFBZ0JpQUVPZ0FCSUFZZ0JUb0FBaUFHUVFBNkFBTWdCVUgvQVhFRVFDQUdJQVU2QUFFZ0JpQUVPZ0FDQ3lBQ0lBRWdBaWdDQUNBQmF5QUdJQU1nQUNnQ0FCQWZJQUZxTmdJQUlBWWtCZ3NPQUNBQVFRaHFFS3NFSUFBUU9Bc0tBQ0FBUVFocUVLc0VDMndCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKa0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkIwQTlxSUFGQjdBNXFJQUVnQVVIa0FFZ2JJQUZCeFFCSUcwR1VjV28yQWdBTElBVWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlFSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYUFDYWlBRklBUkJBQkNWQWlBQWF5SUFRYUFDU0FSQUlBRWdBRUVNRURsQkRCQlBOZ0lBQ3lBR0pBWUxld0VDZnlNR0lRWWpCa0VRYWlRR0lBQkJDR29pQUNnQ0FDZ0NBQ0VISUFBZ0IwSC9BSEZCQ0dvUkFBQWhBQ0FHSUFNb0FnQTJBZ0FnQmtFRWFpSURJQVlvQWdBMkFnQWdBaUFESUFBZ0FFR29BV29nQlNBRVFRQVFsUUlnQUdzaUFFR29BVWdFUUNBQklBQkJEQkE1UVFjUVR6WUNBQXNnQmlRR0M3Z0NBUVovSXdZaEF5TUdRWUFDYWlRR0lBTkJ3QUZxSWdJZ0FSREVDaUFEUWVBQWFpSUVJQUlRdXdwQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQlhRZ0FHb2hCU0FCUVFWMElBQnFJUVlnQVVFRmRDQUFhaUVIUVFBaEFnTkFJQUpCQkVjRVFDQUJRUVYwSUFOcUlBSkJBM1JxSUFVckF3QWdBa0VEZENBRWFpc0RBS0lnQmlzRENDQUVRU0JxSUFKQkEzUnFLd01Bb3FBZ0J5c0RFQ0FFUVVCcklBSkJBM1JxS3dNQW9xQTVBd0FnQWtFQmFpRUNEQUVMQ3lBQlFRVjBJQU5xSWdJZ0FVRUZkQ0FBYWlzREdDQUNLd01Zb0RrREdDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBVUVGZENBQWFpQUNRUU4wYWlBQlFRVjBJQU5xSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFESkFZTDBBRUJCSDhqQmlFRUl3WkJNR29rQmlBRVFSaHFJZ1ZCQmpZQ0JDQUZRUUUyQWdnZ0JTQUFOZ0lBSUFSQkRHb2lCaUFETmdJRUlBWkJBVFlDQ0NBR0lBRTJBZ0FnQkNBRE5nSUVJQVJCQmpZQ0NDQUVJQUkyQWdBZ0JCQ2dBeUlBQkg4Q2Z5QUFJQVFRMlFFaUFVVUVRQ0FBRUVsQmZ3d0JDeUFBSUFZUTJRRWlBa1VFUUNBQUVFa2dBUkJKUVg4TUFRc2dBUkRXQVVFQVNBUi9JQUFRU1NBQkVFa2dBaEJKUVg4RklBVWdBU0FDRUswQ0dpQUFFRWtnQVJCSklBSVFTVUVBQ3dzRlFYOExJUWNnQkNRR0lBY0xiQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1nRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVSFFEMm9nQVVIc0Rtb2dBU0FCUWVRQVNCc2dBVUhGQUVnYlFaUnhhallDQUFzZ0JTUUdDM3NCQW44akJpRUdJd1pCRUdva0JpQUFRUWhxSWdBb0FnQW9BZ1FoQnlBQUlBZEIvd0J4UVFocUVRQUFJUUFnQmlBREtBSUFOZ0lBSUFaQkJHb2lBeUFHS0FJQU5nSUFJQUlnQXlBQUlBQkJvQUpxSUFVZ0JFRUFFSllDSUFCcklnQkJvQUpJQkVBZ0FTQUFRUXdRT1VFTUVFODJBZ0FMSUFZa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUFJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhZ0JhaUFGSUFSQkFCQ1dBaUFBYXlJQVFhZ0JTQVJBSUFFZ0FFRU1FRGxCQnhCUE5nSUFDeUFHSkFZTEJBQkJBZ3VYQ0FFTGZ5TUdJUXNqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZzBvQWdBb0FoUWhCaUFMSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWd3Q2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFLSUFJZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUVhallDQUNBR0lBSTJBZ0FnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUtRVEFnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFRWFqWUNBQ0FISUFJMkFnQWdDaUFHTEFBQklBb29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUNOZ0lBSUFaQkFtb2lCaUVDQTBBZ0FpQU1TUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnREU4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFzb0FnUWdDeXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUWtnQ0NBSExBQUFPZ0FBSUFjZ0NUb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVFsQkFDRUhRUUFoQ0FOQUlBa2dBa2tFUUNBSElBc29BZ0FnQ3lBTExBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnRHpZQ0FDQUhJQWNnQ3lnQ0JDQUxMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQW9nQ1N3QUFDQUtLQUlBS0FJc1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUVJxTmdJQUlCQWdEallDQUNBSlFRRnFJUWtnQ0VFQmFpRUlEQUVMQ3lBR0lBQnJRUUowSUFOcUlna2dCU2dDQUNJSVJnUi9JQW9oQnlBSkJTQUlJUVlEZnlBSklBWkJmR29pQmtrRWZ5QUpLQUlBSVFjZ0NTQUdLQUlBTmdJQUlBWWdCellDQUNBSlFRUnFJUWtNQVFVZ0NpRUhJQWdMQ3dzaEJnVWdDaUFHSUFJZ0JTZ0NBQ0FLS0FJQUtBSXdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQUlnQm10QkFuUnFJZ1kyQWdBZ0NpRUhDd0pBQWtBRFFDQUNJQXhKQkVBZ0Fpd0FBQ0lHUVM1R0RRSWdDaUFHSUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFrZ0JTQUZLQUlBSWdoQkJHb2lCallDQUNBSUlBazJBZ0FnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUWNnQlNBRktBSUFJZ2xCQkdvaUJqWUNBQ0FKSUFjMkFnQWdBa0VCYWlFQ0N5QUtJQUlnRENBR0lBb29BZ0FvQWpCQkQzRkJpZ0pxRVFrQUdpQUZJQVVvQWdBZ0RDQUNhMEVDZEdvaUFqWUNBQ0FFSUFJZ0FTQUFhMEVDZENBRGFpQUJJQXhHR3pZQ0FDQUxFRWNnQ3lRR0MvVUJBZ1YvQVh3akJpRUVJd1pCNEFGcUpBWWdCRUhZQVdvaEJTQUVRVEJxSWdZZ0JFSEFBV29pQnlBQ0lBTVE4d29nQkNBQklBY1E2QXBCQUVnRWYwRUFRUU5CNGF3QklBVVFQVUYvQlVFQUlRRURmeUFCUVFKR0JIOUJBQVZCQUNFQ0EwQWdBa0VHUndSQUlBRkJNR3dnQUdvZ0FrRURkR29pQlVRQUFBQUFBQUFBQURrREFFRUFJUU5FQUFBQUFBQUFBQUFoQ1FOQUlBTkJBMGNFUUNBRklBa2dBVUVZYkNBRWFpQURRUU4wYWlzREFDQURRVEJzSUFacUlBSkJBM1JxS3dNQW9xQWlDVGtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDd3NoQ0NBRUpBWWdDQXY2QndFTGZ5TUdJUW9qQmtFUWFpUUdJQVpCZ000REVEb2hDU0FHUVpET0F4QTZJZzBvQWdBb0FoUWhCaUFLSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWdzQ2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFKSUFJZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBSTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUpRVEFnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFJNkFBQWdDU0FHTEFBQklBa29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUNPZ0FBSUFaQkFtb2lCaUVDQTBBZ0FpQUxTUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnQzA4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3Ui9JQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUXdnQ0NBSExBQUFPZ0FBSUFjZ0REb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVF4QkFDRUlRUUFoQndOQUlBd2dBa2tFUUNBSElBb29BZ0FnQ2lBS0xBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnRHpvQUFDQUhJQWNnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQWtnREN3QUFDQUpLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUUZxTmdJQUlCQWdEam9BQUNBTVFRRnFJUXdnQ0VFQmFpRUlEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBa0ZBMzhnQnlBR1FYOXFJZ1pKQkg4Z0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVGSUFrTEN3c0ZJQWtnQmlBQ0lBVW9BZ0FnQ1NnQ0FDZ0NJRUVQY1VHS0Ftb1JDUUFhSUFVZ0JTZ0NBQ0FDSUFacmFqWUNBQ0FKQ3lFR0FrQUNRQU5BSUFJZ0Mwa0VRQ0FDTEFBQUlnZEJMa1lOQWlBSklBY2dCaWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVCYWpZQ0FDQUlJQWM2QUFBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFZZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR09nQUFJQUpCQVdvaEFnc2dDU0FDSUFzZ0JTZ0NBQ0FKS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQXNnQW10cUlnSTJBZ0FnQkNBQ0lBTWdBU0FBYTJvZ0FTQUxSaHMyQWdBZ0NoQkhJQW9rQmd1ZUFRRUZmQ0FCS3dOWUlBSXJBd0FpQXlBQlFVQnJLd01Bb2lBQ0t3TUlJZ1FnQVNzRFNLS2dJQUlyQXhBaUJTQUJLd05Rb3FDZ0lnWkVBQUFBQUFBQUFBQmhCSDlCZndVZ0FTc0RPQ0FESUFFckF5Q2lJQVFnQVNzREtLS2dJQVVnQVNzRE1LS2dvQ0VISUFBZ0FTc0RHQ0FESUFFckF3Q2lJQVFnQVNzRENLS2dJQVVnQVNzREVLS2dvQ0FHb3prREFDQUFJQWNnQnFNNUF3aEJBQXNMVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJa0xJUWNnQmlRR0lBY0wwd0VDQTM4QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRWZ5QUNRUVEyQWdCQkFBVkJwTVVES0FJQUlRVkJwTVVEUVFBMkFnQWdBQ0FFSUFNUVhCRDlBaUVIUWFURkF5Z0NBQ0lBUlFSQVFhVEZBeUFGTmdJQUN5QUJJQVFvQWdCR0JIOENmeUFBUWNRQVJnUkFJQUpCQkRZQ0FFSC8vLy8vQnlBSFFnQlZEUUVhQlFKQUlBZENnSUNBZ0hoVEJFQWdBa0VFTmdJQURBRUxJQWVuSUFkQy8vLy8vd2RYRFFJYUlBSkJCRFlDQUVILy8vLy9Cd3dDQ3d0QmdJQ0FnSGdMQlNBQ1FRUTJBZ0JCQUFzTElRWWdCQ1FHSUFZTG9nRUNBbjhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VGUWFURkEwRUFOZ0lBSUFBZ0JDQURFRndRL1FJaEJrR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JUWUNBQXNnQVNBRUtBSUFSZ1IrSUFCQnhBQkdCSDRnQWtFRU5nSUFRdi8vLy8vLy8vLy8vd0JDZ0lDQWdJQ0FnSUNBZnlBR1FnQlZHd1VnQmdzRklBSkJCRFlDQUVJQUN5RUdDeUFFSkFZZ0JndldBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmd0ovSUFCQnhBQkdJQWhDLy84RFZuSUVRQ0FDUVFRMkFnQkJmd3dCQ3lBSXAwSC8vd054SVFCQkFDQUlwMnRCLy84RGNTQUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dkhBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmeUFBUWNRQVJpQUlRdi8vLy84UFZuSUVmeUFDUVFRMkFnQkJmd1ZCQUNBSXB5SUFheUFBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3U2QVFJRGZ3SitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUitJQUpCQkRZQ0FFSUFCUUorSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFSUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRZEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZmlBQVFjUUFSZ1IrSUFKQkJEWUNBRUovQlVJQUlBZDlJQWNnQlJzTEJTQUNRUVEyQWdCQ0FBc0xDeUVJSUFRa0JpQUlDNG9CQWdKL0FYMGpCaUVESXdaQkVHb2tCaUFBSUFGR0JFQWdBa0VFTmdJQUJVR2t4UU1vQWdBaEJFR2t4UU5CQURZQ0FCQmNHaUFBSUFOQkFCQ2dBclloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVNQUFBQUFJUVVNQVFzTUFRc2dBa0VFTmdJQUN3c2dBeVFHSUFVTGpRRUNBbjhCZkNNR0lRTWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VFUWFURkEwRUFOZ0lBRUZ3YUlBQWdBMEVCRUtBQ0lRVkJwTVVES0FJQUlnQkZCRUJCcE1VRElBUTJBZ0FMQWtBQ1FDQUJJQU1vQWdCR0JFQWdBRUhFQUVZTkFRVkVBQUFBQUFBQUFBQWhCUXdCQ3d3QkN5QUNRUVEyQWdBTEN5QURKQVlnQlF1TkFRSUNmd0Y4SXdZaEF5TUdRUkJxSkFZZ0FDQUJSZ1JBSUFKQkJEWUNBQVZCcE1VREtBSUFJUVJCcE1VRFFRQTJBZ0FRWEJvZ0FDQURRUUlRb0FJaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVUUFBQUFBQUFBQUFDRUZEQUVMREFFTElBSkJCRFlDQUFzTElBTWtCaUFGQ3prQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBUkJpSVFFZ0FFR0Rrd01nQXhDVkF5RUVJQUVFUUNBQkVHSWFDeUFESkFZZ0JBdFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbkFzaEJ5QUdKQVlnQnd1bEFRRUVmeU1HSVFVakJrRVFhaVFHSUFJZ0FXdEJBblVpQkVIdi8vLy9BMHNFUUJBQUN5QUVRUUpKQkVBZ0FDQUVPZ0FMSUFBaEF3VWdCRUVFYWtGOGNTSUdRZi8vLy84RFN3UkFFQUFGSUFBZ0JrRUNkQkJSSWdNMkFnQWdBQ0FHUVlDQWdJQjRjallDQ0NBQUlBUTJBZ1FMQ3dOQUlBRWdBa2NFUUNBRElBRVFiaUFCUVFScUlRRWdBMEVFYWlFRERBRUxDeUFGUVFBMkFnQWdBeUFGRUc0Z0JTUUdDNnNEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEb0FBQXdCQlFKQUlBUkJBV29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUE2QUFBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFTEFBQUVFSTJBakFGQWtBRFFDQUNRUUJNRFFFZ0F5QUNRWDlxSWdKcUxBQUFFRUlnQUNnQ0lCRHZBVUYvUncwQUMwRi9JUUFNQWdzTElBUXNBQUFRUWlFQUN3c0xJQVVrQmlBQUM2VURBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURZQ0FBd0JCUUpBSUFSQkJHb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTJBZ0FNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVLQUlBTmdJd0JRSkFBMEFnQWtFQVRBMEJJQU1nQWtGL2FpSUNhaXdBQUNBQUtBSWdFTzhCUVg5SERRQUxRWDhoQUF3Q0N3c2dCQ2dDQUNFQUN3c0xJQVVrQmlBQUM1b0JBUVYvSXdZaEFTTUdRUkJxSkFZZ0FVRUlhaUlDUVFocUlRVUNRQUpBQTBBZ0FDZ0NKQ0lES0FJQUtBSVVJUVFnQXlBQUtBSW9JQUlnQlNBQklBUkJIM0ZCb2dKcUVRZ0FJUU1DUUNBQktBSUFJQUpySWdRZ0FrRUJJQVFnQUNnQ0lCQ1RBVWNOQUFKQUlBTkJBV3NPQWdBQkF3c01BUXNMUVg4aEFBd0JDeUFBS0FJZ0VLa0NRUUJIUVI5MFFSOTFJUUFMSUFFa0JpQUFDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1E2Z0lMRXdBZ0FDQUFLQUlBUVhScUtBSUFhaENaQWdzVEFDQUFJQUFvQWdCQmRHb29BZ0JxRU9zQ0N4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUW1nSUxLd0VCZndOQUlBSkJDRWNFUUNBQklBSnFJQUJCQnlBQ2Eyb3NBQUE2QUFBZ0FrRUJhaUVDREFFTEN3c1NBQ0FBUWR5TUFUWUNBQ0FBUVFScUVEd0xCQUJCZndzUUFDQUFRZ0EzQXdBZ0FFSi9Od01JQ3hBQUlBQkNBRGNEQUNBQVFuODNBd2dMQkFBZ0FBc3JBUUYvQTBBZ0FrRUVSd1JBSUFFZ0Ftb2dBRUVESUFKcmFpd0FBRG9BQUNBQ1FRRnFJUUlNQVFzTEN4SUFJQUJCbkl3Qk5nSUFJQUJCQkdvUVBBdFRBUU4vSUFJb0FnQWhCQ0FCSUFCclFRSjFJUUVEUUNBQkJFQWdBVUVCZGlJQ1FRSjBJQUJxSWdVb0FnQWdCRWtoQXlBRlFRUnFJQUFnQXhzaEFDQUJRWDlxSUFKcklBSWdBeHNoQVF3QkN3c2dBQXZPQVFFRGZ5TUdJUUlqQmtIQUFXb2tCaUFBSUFJUTFRUWdBRUVFYWlBQ1FRUnFFTlVFQTBBZ0FVRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUFRUWhxSUFGQkJYUnFJQU5CQTNScUlBSkJDR29nQVVFRmRHb2dBMEVEZEdvUXp3UWdBMEVCYWlFRERBRUxDeUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUNnQ3NBRWlBMEVEZEVHWUZXb29BZ0JJQkVBZ0FFSG9BR29nQVVFRGRHb2dBa0hvQUdvZ0FVRURkR29RendRZ0FVRUJhaUVCREFFTEN5QUNJQU0yQXJBQklBQWdBa0c0QVJCTUdpQUNKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSFkrUUJCQlNBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCNFBrQVFRUWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFlajVBRUVESUFFb0FnQVFDQ0FCSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUh3K1FCQkFpQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQitQa0FRUUVnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRWUQ2QUVFQUlBRW9BZ0FRQ0NBQkpBWUxtQXNCRlh3Q2Z3SkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnUURBZ0VBQkFzZ0FDc0RBQ0VKSUFBckF3Z2hDaUFBUVVCckt3TUFJUTBnQUNzREVDSU9SQUFBQUFBQUFBQkFvaUVQSUFBckF4Z2lFRVFBQUFBQUFBQVlRS0loRXlBUVJBQUFBQUFBQUFCQW9pRVVJQTVFQUFBQUFBQUFHRUNpSVJVZ0FTQUFLd013SWhhaElBQXJBeUFpRjZNaUN5RUJJQUlnQUNzRE9DSVlvU0FBS3dNb0lobWpJZ3doQWlBTElBdWlJUVlnRENBTW9pRUhRUUVoQUFOQUFrQWdCa1FBQUFBQUFBQUFBR0lnQjBRQUFBQUFBQUFBQUdKeVJRUkFSQUFBQUFBQUFBQUFJUUZFQUFBQUFBQUFBQUFoQWd3QkN5QUpJQWNnQnFBaUNLSkVBQUFBQUFBQThEK2dJQWdnQ2lBSW9xS2dJUkVnQnlBR1JBQUFBQUFBQUFoQW9pSWFvaUVTSUFJZ0RpQUhSQUFBQUFBQUFBQkFvaUFJb0tJZ0FpQVJvcUFnQWlBVUlBRWdFQ0FJSUFaRUFBQUFBQUFBQUVDaW9LSWdBaUFQSUFHaW9pQUJJQkdpb0tBZ0M2RWdFeUFCb2lBUElBS2lJQWtnQnlBYW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSG9pQUdJQVpFQUFBQUFBQUFGRUNpb2lBU29LQ2lvS0NnbzZFaUFhSWlDS0tnSUF5aElCVWdBcUlnQ1NBR0lBZEVBQUFBQUFBQUNFQ2lvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhSQUFBQUFBQUFCUkFvcUlnQmlBR29pQVNvS0Npb0tBZ0NLQ2pvU0VDSUFCQkJFY0VRQ0FCSUFHaUlRWWdBaUFDb2lFSElBQkJBV29oQUF3Q0N3c0xJQU1nRmlBWElBR2lJQTJqb0RrREFDQVlJQmtnQXFJZ0RhT2dJUUVNQkFzZ0FDc0RJRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElBQXJBeGlqSWdFZ0FhSWdBaUFBS3dNSW9TSUNJQUtpb0NJSG55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQUVnQmlBR1JBQUFBQUFBQVBBL0lBZ2dCNktoSUFjZ0NpQUhvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQWVpb1NBSElBc2dCNktpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBQklBR2lJQUlnQXFLZ0lnWWhCeUFGUVFGcUlRVWdCcDhoQmd3Q0N3c0xJQU1nRENBQklBQXJBeENqb0RrREFDQUNJQUFyQXhDaklBQXJBd2lnSVFFTUF3c2dBQ3NER0VRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJZ2NnQjZJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lCbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBY2dCaUFHUkFBQUFBQUFBUEEvSUFnZ0FhS2hJQUVnQ2lBQm9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBR2lvU0FCSUFzZ0FhS2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FGUVFGcUlRVWdBU0lISUFHaUlBSWdBcUtnSWdHZklRWU1BZ3NMQ3lBRElBd2dBU0FBS3dNUW82QTVBd0FnQWlBQUt3TVFveUFBS3dNSW9DRUJEQUlMSUFBckF4aEVBQUFBQUlUWGwwR2pJZ2hFQUFBQUFBQUFDRUNpSVFsQkFTRUZJQUVnQUNzREFDSUtvU0lISUFlaUlBSWdBQ3NEQ0tFaUFpQUNvcUFpQVo4aUN5RUdBMEFDUUNBR1JBQUFBQUFBQUFBQVlRUkFSQUFBQUFBQUFBQUFJUUpFQUFBQUFBQUFBQUFoQVF3QkN5QUhJQVlnQmtRQUFBQUFBQUR3UHlBSUlBR2lvYUlnQzZGRUFBQUFBQUFBOEQ4Z0NTQUJvcUdqb1NJSG9pQUdveUVCSUFJZ0I2SWdCcU1oQWlBRlFRTkhCRUFnQlVFQmFpRUZJQUVpQnlBQm9pQUNJQUtpb0NJQm55RUdEQUlMQ3dzZ0F5QUtJQUVnQUNzREVLT2dPUU1BSUFJZ0FDc0RFS01nQUNzRENLQWhBUXdCQzBGL0RBRUxJQVFnQVRrREFFRUFDeG9MNVFFQVFiajRBRUgxZ2dNUUxVSEErQUJCK29JRFFRRkJBVUVBRUM4UTVBc1E0d3NRNGdzUTRRc1E0QXNRM3dzUTNnc1EzUXNRM0FzUTJ3c1EyZ3RCeVBJQVFlU0RBeEFWUWVENkFFSHdnd01RRlVISStnQkJCRUdSaEFNUUVrR3crZ0JCQWtHZWhBTVFFa0dZK2dCQkJFR3RoQU1RRWtHUStnQkJ2SVFERUM0UTJRdEI2b1FERU40RVFZK0ZBeERkQkVHMmhRTVEzQVJCMVlVREVOc0VRZjJGQXhEYUJFR2FoZ01RMlFRUTF3c1ExZ3RCaFljREVONEVRYVdIQXhEZEJFSEdod01RM0FSQjU0Y0RFTnNFUVltSUF4RGFCRUdxaUFNUTJRUVExUXNRMUFzUTB3c0xXZ0VEZnlBQUtBSUVJUVVnQWdSQUlBVkJDSFVoQkNBRlFRRnhCRUFnQkNBQ0tBSUFhaWdDQUNFRUN3c2dBQ2dDQUNJQUtBSUFLQUljSVFZZ0FDQUJJQUlnQkdvZ0EwRUNJQVZCQW5FYklBWkJIM0ZCK2dWcUVRY0FDd3NBSUFBUTR3UWdBQkE0Q3hNQUlBQkJvSXNCTmdJQUlBQkJCR29RN2dzTHh3SUJCSDhqQmlFREl3WkJRR3NrQmlBQUlBQW9BZ0FpQkVGNGFpZ0NBR29oQlNBRVFYeHFLQUlBSVFRZ0F5QUNOZ0lBSUFNZ0FEWUNCQ0FESUFFMkFnZ2dBMEVBTmdJTUlBTkNBRGNDRUNBRFFnQTNBaGdnQTBJQU53SWdJQU5DQURjQ0tDQURRUUEyQWpBZ0EwRUFPd0UwSUFOQkFEb0FOaUFFSUFKQkFCQ0JBUVIvSUFOQkFUWUNNQ0FFSUFNZ0JTQUZRUUZCQUNBRUtBSUFLQUlVUVFkeFFkb0dhaEVNQUNBRlFRQWdBeWdDR0VFQlJoc0ZBbjhnQkNBRElBVkJBVUVBSUFRb0FnQW9BaGhCUDNGQm1nWnFFUVVBQWtBQ1FBSkFJQU1vQWlRT0FnQUNBUXNnQXlnQ0ZFRUFJQU1vQWloQkFVWWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRWJEQUlMUVFBTUFRc2dBeWdDR0VFQlJ3UkFRUUFnQXlnQ0tFVWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRkZEUUVhQ3lBREtBSVFDd3NoQmlBREpBWWdCZ3VuREFJSGZ3aDlJQUc4SWdWQi8vLy8vd2R4SWdKRklBQzhJZ1pCZ0lDQS9BTkdjZ1JBUXdBQWdEOFBDeUFHUWYvLy8vOEhjU0lEUVlDQWdQd0hTeUFDUVlDQWdQd0hTM0lFUUNBQUlBR1NEd3NnQmtFQVNDSUlCSDhnQWtILy8vL2JCRXNFZjBFQ0JTQUNRZi8vLy9zRFN3Ui9RUUlnQWtHV0FTQUNRUmQyYXlJRWRpSUhRUUZ4YTBFQUlBY2dCSFFnQWtZYkJVRUFDd3NGUVFBTElRUUNRQ0FGUWYvLy8vOEhjU0lIUVlDQWdQd0hTQVJBSUFkQmdJQ0EvQU5yRFFFZ0FFTUFBSUEvSUFDVklBVkJmMG9iRHdVZ0IwR0FnSUQ4QjJzTkFTQURRWUNBZ1B3RFJnUkFRd0FBZ0Q4UEN5QUZRWDlLSVFJZ0EwR0FnSUQ4QTBzRVFDQUJRd0FBQUFBZ0Foc1BCVU1BQUFBQUlBR01JQUliRHdzQUN3QUxJQVZCZ0lDQWdBUkdCRUFnQUNBQWxBOExJQVZCZ0lDQStBTkdJQVpCZjBweEJFQWdBSkVQQ3lBQWl5RUpBa0FDUUFKQUlBTkZJQU5CZ0lDQWdBUnlRWUNBZ1B3SFJuSUVRRU1BQUlBL0lBbVZJQWtnQlVFQVNCc2hBQ0FJUlFSQUlBQVBDeUFFSUFOQmdJQ0FoSHhxY2dSQUlBQ01JQUFnQkVFQlJoc1BDd3dCQ3lBSUJFQUNRQUpBQWtBZ0JBNENCQUFCQzBNQUFJQy9JUXNNQVF0REFBQ0FQeUVMQ3dWREFBQ0FQeUVMQ3lBQ1FZQ0FnT2dFU3dSQUFrQWdBMEg0Ly8vN0Ewa0VRQ0FMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNCc1BDeUFEUVllQWdQd0RUUVJBSUFsREFBQ0F2NUlpQUVNQXFyZy9sQ0lLSUFCRGNLWHNOcFFnQUNBQWxFTUFBQUEvSUFCRHE2cXFQaUFBUXdBQWdENlVrNVNUbEVNN3FyZy9sSk1pQUpLOFFZQmdjYjRpRENFSklBd2dDcE1oQ2d3QkN5QUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU2hzUEN3VWdDVU1BQUlCTGxMd2dBeUFEUVlDQWdBUkpJZ01iSWdSQkYzVkI2WDVCZ1g4Z0F4dHFJUUlnQkVILy8vOERjU0lFUVlDQWdQd0RjaUVESUFSQjhvanpBRWtFUUVFQUlRUUZJQVJCMStmMkFra2lCaUVFSUFJZ0JrRUJjMEVCY1dvaEFpQURJQU5CZ0lDQWZHb2dCaHNoQXdzZ0JFRUNkRUhBaWdGcUtnSUFJZzRnQTc0aUNpQUVRUUowUWJDS0FXb3FBZ0FpREpNaURVTUFBSUEvSUF3Z0NwS1ZJZytVSWdtOFFZQmdjYjRpQUNBQUlBQ1VJaEJEQUFCQVFKSWdDU0FBa2lBUElBMGdBMEVCZFVHQTRQLy9mWEZCZ0lDQWdBSnlRWUNBZ0FKcUlBUkJGWFJxdmlJTklBQ1VreUFLSUEwZ0RKT1RJQUNVazVRaUNwUWdDU0FKbENJQUlBQ1VJQUFnQUNBQUlBQWdBRU5DOFZNK2xFTlZNbXcra3BSREJhT0xQcEtVUTZ1cXFqNlNsRU8zYmRzK2twUkRtcGtaUDVLVWtpSU1rcnhCZ0dCeHZpSUFsQ0lOSUFvZ0FKUWdDU0FNSUFCREFBQkF3SklnRUpPVGxKSWlDWks4UVlCZ2NiNGlBRU1BUUhZL2xDSUtJQVJCQW5SQnVJb0JhaW9DQUNBSklBQWdEWk9UUTA4NGRqK1VJQUJEeGlQMk9KU1RraUlBa3BJZ0FySWlESks4UVlCZ2NiNGlEU0VKSUEwZ0RKTWdEcE1nQ3BNaENnc2dBQ0FLa3lBQmxDQUJJQVZCZ0dCeHZpSUFreUFKbEpJaEFTQUpJQUNVSWdBZ0FaSWlDYndpQTBHQWdJQ1lCRW9OQVFKQUFrQWdBMEdBZ0lDWUJFWUVRQ0FCUXp5cU9ET1NJQWtnQUpOZUJFQU1CUVZCZ0lDQW1BUWhBZ3dDQ3dBRkFrQWdBMEgvLy8vL0IzRWlBa0dBZ05pWUJFc05CaUFCSUFrZ0FKTmZSU0FEUVlDQTJKaDhSM0lFUUNBQ1FZQ0FnUGdEU3dSQURBUUZRUUFoQWd3Q0N3QUxEQVlMQ3d3QkN5QURRWUNBZ0FRZ0FrRVhka0dDZjJwMmFpSUNRUmQyUWY4QmNTRUZJQUFnQWtHQWdJQjhJQVZCZ1g5cWRYRytreUlKSVFCQkFDQUNRZi8vL3dOeFFZQ0FnQVJ5UVpZQklBVnJkaUlDYXlBQ0lBTkJBRWdiSVFJZ0FTQUprcndoQXdzZ0MwTUFBSUEvSUFOQmdJQitjYjRpQ1VNQWNqRS9sQ0lLSUFsRGpMNi9OWlFnQVNBSklBQ1RrME1ZY2pFL2xKSWlDWklpQUNBQUlBQWdBSlFpQVNBQklBRWdBU0FCUTB5N01UT1VRdzdxM2JXU2xFTlZzNG80a3BSRFlRczJ1NUtVUTZ1cUtqNlNsSk1pQVpRZ0FVTUFBQURBa3BVZ0NTQUFJQXFUa3lJQklBQWdBWlNTa3lBQWs1TWlBTHdnQWtFWGRHb2lBMEdBZ0lBRVNBUjlJQUFnQWhEMUJBVWdBNzRMbEE4TElBQWdBSk1pQUNBQWxROExJQXREeXZKSmNaUkR5dkpKY1pRUEN5QUxRMkJDb2cyVVEyQkNvZzJVQzhBQkFRSi9Jd1loQVNNR1FSQnFKQVlnQUwxQ0lJaW5RZi8vLy84SGNTSUNRZnpEcFA4RFNRUkFJQUpCZ0lEQThnTlBCRUFnQUVRQUFBQUFBQUFBQUVFQUVOUUJJUUFMQlFKOElBQWdBS0VnQWtILy83Ly9CMHNOQUJvQ1FBSkFBa0FDUUNBQUlBRVEvQUpCQTNFT0F3QUJBZ01MSUFFckF3QWdBU3NEQ0VFQkVOUUJEQU1MSUFFckF3QWdBU3NEQ0JEVEFRd0NDeUFCS3dNQUlBRXJBd2hCQVJEVUFab01BUXNnQVNzREFDQUJLd01JRU5NQm1nc2hBQXNnQVNRR0lBQUx5QUVDQW44QmZDTUdJUUVqQmtFUWFpUUdJQUM5UWlDSXAwSC8vLy8vQjNFaUFrSDh3NlQvQTBrRWZDQUNRWjdCbXZJRFNRUjhSQUFBQUFBQUFQQS9CU0FBUkFBQUFBQUFBQUFBRU5NQkN3VUNmQ0FBSUFDaElBSkIvLysvL3dkTERRQWFBa0FDUUFKQUFrQWdBQ0FCRVB3Q1FRTnhEZ01BQVFJREN5QUJLd01BSUFFckF3Z1Ewd0VNQXdzZ0FTc0RBQ0FCS3dNSVFRRVExQUdhREFJTElBRXJBd0FnQVNzRENCRFRBWm9NQVFzZ0FTc0RBQ0FCS3dNSVFRRVExQUVMQ3lFRElBRWtCaUFEQzlrQ0FRWi9Jd1loQ0NNR1FaQUNhaVFHSUFoQmdBSnFJZ2NnQVNnQ0FDSUVOZ0lBSUFOQmdBSWdBRUVBUnlJSkd5RUZJQUFnQ0NBSkd5RUFJQVZCQUVjZ0JFRUFSM0VFUUFKQVFRQWhBd05BQWtBZ0FpQUZUeUlHSUFKQklFdHlSUTBDSUFJZ0JTQUNJQVliSWdScklRSWdBQ0FISUFRUTh3UWlCRUYvUmcwQUlBVkJBQ0FFSUFBZ0NFWWlCaHRySVFVZ0FDQUFJQVJxSUFZYklRQWdBeUFFYWlFRElBY29BZ0FpQkVFQVJ5QUZRUUJIY1EwQkRBSUxDMEYvSVFOQkFDRUZJQWNvQWdBaEJBc0ZRUUFoQXdzZ0JBUkFJQVZCQUVjZ0FrRUFSM0VFUUFKQUEwQWdBQ0FFS0FJQUVKNEJJZ1pCQVdwQkFrOEVRQ0FISUFjb0FnQkJCR29pQkRZQ0FDQUFJQVpxSVFBZ0F5QUdhaUVESUFVZ0Jtc2lCVUVBUnlBQ1FYOXFJZ0pCQUVkeERRRU1BZ3NMSUFZRVFFRi9JUU1GSUFkQkFEWUNBQXNMQ3dzZ0NRUkFJQUVnQnlnQ0FEWUNBQXNnQ0NRR0lBTUxhUUVDZnlBQUlBRnJRUUoxSUFKSkJFQURRQ0FDUVg5cUlnSkJBblFnQUdvZ0FrRUNkQ0FCYWlnQ0FEWUNBQ0FDRFFBTEJTQUNCRUFEUUNBQlFRUnFJUU1nQUVFRWFpRUVJQUFnQVNnQ0FEWUNBQ0FDUVg5cUlnSUVRQ0FESVFFZ0JDRUFEQUVMQ3dzTEM0Z0JBUVYvSUFBb0FnUWlCU0FCS0FJSVJnUi9JQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZnlBQktBSUFJQUpCQW5ScUlRTkJBQ0VFQTBBZ0JDQUdTQVJBSUFBZ0F5Z0NBRFlDQUNBRlFRSjBJQU5xSVFNZ0JFRUJhaUVFSUFCQkJHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDeW9CQVg4Z0FnUkFBMEFnQUVFRWFpRURJQUFnQVRZQ0FDQUNRWDlxSWdJRVFDQURJUUFNQVFzTEN3dGtBUUovSUFBUVlDQUFhaUVBSUFJRVFBSkFJQUloQXlBQklRSWdBQ0VCQTM4Z0Fpd0FBQ0lFUlEwQklBSkJBV29oQWlBQlFRRnFJUUFnQVNBRU9nQUFJQU5CZjJvaUF3Ui9JQUFoQVF3QkJTQUFDd3NoQVFzRklBQWhBUXNnQVVFQU9nQUFDOVVCQVFSL1FmR3BBU0VDSXdZaEF5TUdRU0JxSkFZQ1FBSkFRZkdwQVN3QUFDSUJSUTBBUWZLcEFTd0FBRVVOQUNBRFFRQkJJQkJGR2tIeHFRRXNBQUFpQVFSQUEwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpSUVJQVFvQWdCQkFTQUJRUjl4ZEhJMkFnQWdBa0VCYWlJQ0xBQUFJZ0VOQUFzTElBQXNBQUFpQVFSQUFrQWdBQ0VDQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlnQ0FFRUJJQUZCSDNGMGNRMEJJQUpCQVdvaUFpd0FBQ0lCRFFBTEN3VWdBQ0VDQ3d3QkN5QUFJQUVRcWdJaEFnc2dBeVFHSUFJZ0FHc0xsQUVCQTM4RFFDQUFRUUZxSVFFZ0FDd0FBQkN5QVFSQUlBRWhBQXdCQ3dzQ2Z3SkFBa0FDUUFKQUlBQXNBQUFpQTBFcmF3NERBUUlBQWd0QkFTRUFEQUlMUVFBaEFBd0JDeUFEREFFTElBQWhBaUFCSWdBc0FBQUxFSW9CQkVCQkFDRUJBMEFnQVVFS2JFRXdhaUFBTEFBQWF5RUJJQUJCQVdvaUFDd0FBQkNLQVEwQUN3VkJBQ0VCQ3lBQlFRQWdBV3NnQWhzTFpBSUJmd0YrSUFBb0FpZ2hBU0FBUWdBZ0FDZ0NBRUdBQVhFRWYwRUNRUUVnQUNnQ0ZDQUFLQUljU3hzRlFRRUxJQUZCQTNGQnBnTnFFUlFBSWdKQ0FGa0VRQ0FBS0FJVUlBQW9BaHhyckNBQ0lBQW9BZ2dnQUNnQ0JHdXNmWHdoQWdzZ0FndUJBd0VIZnlNR0lRVWpCa0dRQ0dva0JpQUZRWUFJYWlJSUlBRW9BZ0FpQmpZQ0FDQURRWUFDSUFCQkFFY2lDUnNoQnlBQUlBVWlDaUFKR3lFRElBZEJBRWNnQmlJRlFRQkhjUVJBQWtCQkFDRUFBMEFDUUNBQ1FRSjJJZ1lnQjA4aUN5QUNRWU1CUzNKRkRRSWdBaUFISUFZZ0N4c2lCV3NoQWlBRElBZ2dCU0FFRVA0Q0lnVkJmMFlOQUNBSFFRQWdCU0FESUFwR0lnWWJheUVISUFNZ0JVRUNkQ0FEYWlBR0d5RURJQUFnQldvaEFDQUlLQUlBSWdWQkFFY2dCMEVBUjNFTkFRd0NDd3RCZnlFQVFRQWhCeUFJS0FJQUlRVUxCVUVBSVFBTElBVUVRQ0FIUVFCSElBSkJBRWR4QkVBQ1FBTkFJQU1nQlNBQ0lBUVExd0VpQmtFQ2FrRURUd1JBSUFnZ0JpQUlLQUlBYWlJRk5nSUFJQU5CQkdvaEF5QUFRUUZxSVFBZ0IwRi9haUlIUVFCSElBSWdCbXNpQWtFQVIzRU5BUXdDQ3dzQ1FBSkFBa0FnQmtGL2F3NENBQUVDQ3lBR0lRQU1BZ3NnQ0VFQU5nSUFEQUVMSUFSQkFEWUNBQXNMQ3lBSkJFQWdBU0FJS0FJQU5nSUFDeUFLSkFZZ0FBdUlBUUVGZnlBQUtBSUVJZ1VnQVNnQ0NFWUVmeUFBS0FJSUlnWWdBU2dDQkVZRWZ5QUFLQUlBSVFBRGZ5QUNJQVZJQkg4Z0FTZ0NBQ0FDUVFOMGFpRURRUUFoQkFOQUlBUWdCa2dFUUNBQUlBTXJBd0E1QXdBZ0JVRURkQ0FEYWlFRElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBSkJBV29oQWd3QkJVRUFDd3NGUVg4TEJVRi9Dd3Q3QVFGL0FrQWdBQ2dDVEVFQVRnUkFBa0FnQUN3QVMwRUtSZzBBSUFBb0FoUWlBU0FBS0FJUVR3MEFJQUFnQVVFQmFqWUNGQ0FCUVFvNkFBQU1BZ3NnQUJDWkF3d0JDeUFBTEFCTFFRcEhCRUFnQUNnQ0ZDSUJJQUFvQWhCSkJFQWdBQ0FCUVFGcU5nSVVJQUZCQ2pvQUFBd0NDd3NnQUJDWkF3c0x4UU1CQkg4akJpRUdJd1pCRUdva0JnSkFJQUFFUUNBQ1FRTkxCRUFDUUNBQ0lRTWdBU2dDQUNFRUEwQUNRQ0FFS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBQUlBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QURJQVZySVFNZ0FDQUZhZ1VnQUNBRk9nQUFJQU5CZjJvaEF5QUJLQUlBSVFRZ0FFRUJhZ3NoQUNBQklBUkJCR29pQkRZQ0FDQURRUU5MRFFFZ0F5RUVEQUlMQ3lBQVFRQTZBQUFnQVVFQU5nSUFJQUlnQTJzaEFnd0RDd1VnQWlFRUN5QUVCRUFnQUNFRElBRW9BZ0FoQUFKQUEwQUNRQ0FBS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBR0lBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QUVJQVZKRFFNZ0F5QUFLQUlBRUo0QkdpQURJQVZxSVFNZ0JDQUZhd1VnQXlBRk9nQUFJQU5CQVdvaEF5QUJLQUlBSVFBZ0JFRi9hZ3NoQkNBQklBQkJCR29pQURZQ0FDQUVEUUVNQlFzTElBTkJBRG9BQUNBQlFRQTJBZ0FnQWlBRWF5RUNEQU1MSUFJZ0JHc2hBZ3NGSUFFb0FnQWlBQ2dDQUNJQkJFQkJBQ0VDQTBBZ0FVSC9BRXNFUUNBR0lBRVFuZ0VpQVVGL1JnUkFRWDhoQWd3RkN3VkJBU0VCQ3lBQklBSnFJUUlnQUVFRWFpSUFLQUlBSWdFTkFBc0ZRUUFoQWdzTEN5QUdKQVlnQWd0YUFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQ0tBSUFOZ0lBUVFCQkFDQUJJQU1RcVFFaUJFRUFTQVIvUVg4RklBQWdCRUVCYWlJRUVFUWlBRFlDQUNBQUJIOGdBQ0FFSUFFZ0FoQ3BBUVZCZndzTElRVWdBeVFHSUFVTG13RUJBbjhnQVVIL0FFb0VRQ0FBUXdBQUFIK1VJZ0JEQUFBQWY1UWdBQ0FCUWY0QlNpSUNHeUVBSUFGQmduNXFJZ05CL3dBZ0EwSC9BRWdiSUFGQmdYOXFJQUliSVFFRklBRkJnbjlJQkVBZ0FFTUFBSUFBbENJQVF3QUFnQUNVSUFBZ0FVR0Vma2dpQWhzaEFDQUJRZndCYWlJRFFZSi9JQU5CZ245S0d5QUJRZjRBYWlBQ0d5RUJDd3NnQUNBQlFSZDBRWUNBZ1B3RGFyNlVDNE1HQWdwL0FuMGpCaUVKSXdaQjBBOXFKQVlnQVVIMEEwb0VRRUVBSVFBRkFrQUNRQUpBQWtBZ0FRNENBQUVDQzBFQUlRQU1BZ3NnQUVNQUFJQS9JQUFxQWdDVk9BSUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkFuUWdBR29pRENFS0EwQWdCaUFCU0FSQVF3QUFBQUFoRFNBQ0lBWnNRUUowSUFCcUlnVWhCMEYvSVFRZ0JpRURBMEFnQVNBRFJ3UkFJQTBnQnlvQ0FJc2lEbDBoQ0NBT0lBMGdDQnNoRFNBQ1FRSjBJQWRxSVFjZ0F5QUVJQWdiSVFRZ0EwRUJhaUVEREFFTEN5QUVRWDlHSUExRC8rYmJMbDl5QkVCQkFDRUFEQU1GSUFSQkFuUWdDV29pQXlnQ0FDRUhJQU1nQmtFQ2RDQUphaUlES0FJQU5nSUFJQU1nQnpZQ0FFRUFJUWNnQlNFRElBSWdCR3hCQW5RZ0FHb2hCQU5BSUFFZ0IwY0VRQ0FFS0FJQUlRZ2dCQ0FES0FJQU5nSUFJQU1nQ0RZQ0FDQUhRUUZxSVFjZ0EwRUVhaUVESUFSQkJHb2hCQXdCQ3dzZ0JTb0NBQ0VOUVFFaEJDQUZJUU1EUUNBQklBUkhCRUFnQXlBRFFRUnFJZ01xQWdBZ0RaVTRBZ0FnQkVFQmFpRUVEQUVMQ3lBS1F3QUFnRDhnRFpVNEFnQkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVDZENBQWFpSURLZ0lBSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJCR29pQXlvQ0FDQU5JQWNxQWdDVWt6Z0NBQ0FIUVFScUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npb0NBSlNNT0FJQUN5QUlRUUZxSVFnZ0FrRUNkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VDZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRSjBJQUJxSVFZZ0EwRUNkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTW9BZ0FoQnlBRElBWW9BZ0EyQWdBZ0JpQUhOZ0lBSUFSQkFXb2hCQ0FDUVFKMElBWnFJUVlnQWtFQ2RDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUwvUUVCQlg5Qjhha0JJUUVqQmlFREl3WkJJR29rQmlBRFFnQTNBd0FnQTBJQU53TUlJQU5DQURjREVDQURRZ0EzQXhoQjhha0JMQUFBSWdJRWZ3Si9RZktwQVN3QUFFVUVRQ0FBSVFFRFFDQUJRUUZxSVFRZ0FpQUJMQUFBUmdSQUlBUWhBUXdCQ3dzZ0FTQUFhd3dCQ3dOQUlBSkIvd0Z4SWdKQkJYWkJBblFnQTJvaUJDQUVLQUlBUVFFZ0FrRWZjWFJ5TmdJQUlBRkJBV29pQVN3QUFDSUNEUUFMSUFBc0FBQWlBZ1JBQWtBZ0FDRUJBMEFnQWtIL0FYRWlCRUVGZGtFQ2RDQURhaWdDQUVFQklBUkJIM0YwY1VVTkFTQUJRUUZxSWdFc0FBQWlBZzBBQ3dzRklBQWhBUXNnQVNBQWF3c0ZRUUFMSVFVZ0F5UUdJQVVMa3dZQ0NuOENmQ01HSVFrakJrSFFEMm9rQmlBQlFmUURTZ1JBUVFBaEFBVUNRQUpBQWtBQ1FDQUJEZ0lBQVFJTFFRQWhBQXdDQ3lBQVJBQUFBQUFBQVBBL0lBQXJBd0NqT1FNQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQTNRZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUkFBQUFBQUFBQUFBSVEwZ0FpQUdiRUVEZENBQWFpSUZJUWRCZnlFRUlBWWhBd05BSUFFZ0EwY0VRQ0FOSUFjckF3Q1pJZzVqSVFnZ0RpQU5JQWdiSVEwZ0FrRURkQ0FIYWlFSElBTWdCQ0FJR3lFRUlBTkJBV29oQXd3QkN3c2dCRUYvUmlBTlJMdTkxOW5mZk5zOVpYSUVRRUVBSVFBTUF3VWdCRUVDZENBSmFpSURLQUlBSVFjZ0F5QUdRUUowSUFscUlnTW9BZ0EyQWdBZ0F5QUhOZ0lBUVFBaEJ5QUZJUU1nQWlBRWJFRURkQ0FBYWlFRUEwQWdBU0FIUndSQUlBUXJBd0FoRFNBRUlBTXJBd0E1QXdBZ0F5QU5PUU1BSUFkQkFXb2hCeUFEUVFocUlRTWdCRUVJYWlFRURBRUxDeUFGS3dNQUlRMUJBU0VFSUFVaEF3TkFJQUVnQkVjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOb3prREFDQUVRUUZxSVFRTUFRc0xJQXBFQUFBQUFBQUE4RDhnRGFNNUF3QkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVEZENBQWFpSURLd01BSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJDR29pQXlzREFDQU5JQWNyQXdDaW9Ua0RBQ0FIUVFocUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npc0RBS0thT1FNQUN5QUlRUUZxSVFnZ0FrRURkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VEZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRTjBJQUJxSVFZZ0EwRURkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTXJBd0FoRFNBRElBWXJBd0E1QXdBZ0JpQU5PUU1BSUFSQkFXb2hCQ0FDUVFOMElBWnFJUVlnQWtFRGRDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUxsQUlCQVg4Q1FBSkFJQUFnQVhOQkEzRU5BQUpBSUFKQkFFY2lBeUFCUVFOeFFRQkhjUVJBQTBBZ0FDQUJMQUFBSWdNNkFBQWdBMFVOQWlBQVFRRnFJUUFnQWtGL2FpSUNRUUJISWdNZ0FVRUJhaUlCUVFOeFFRQkhjUTBBQ3dzZ0F3UkFJQUVzQUFBRVFDQUNRUU5MQkVBRFFDQUJLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQUlBTTJBZ0FnQVVFRWFpRUJJQUJCQkdvaEFDQUNRWHhxSWdKQkEwc05BUXNMQ3d3REN3VkJBQ0VDQ3dzTUFRc2dBZ1IvSUFFaEF5QUNJUUVEZnlBQUlBTXNBQUFpQWpvQUFDQUNSUVJBSUFFaEFnd0RDeUFEUVFGcUlRTWdBRUVCYWlFQUlBRkJmMm9pQVEwQVFRQUxCVUVBQ3lFQ0N5QUFRUUFnQWhCRkdndEFBUUovSUFJRVFDQUJJUU1nQUNFQkEwQWdBMEVFYWlFQUlBRkJCR29oQkNBQklBTW9BZ0EyQWdBZ0FrRi9haUlDQkVBZ0FDRURJQVFoQVF3QkN3c0xDd01BQVFzc0FRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlnQVRZQ0JFSGJBQ0FDRURJUW1nTWFJQUlrQmd2V0FRRUZmeU1HSVFJakJrRWdhaVFHUVFBUWhnTUVRQU5BUVFFZ0FIUkIvLy8vL3dkeEJFQWdBRUVDZENBQVFZYVRBeENGQXpZQ0FBc2dBRUVCYWlJQVFRWkhEUUFMQlFKQUEwQWdCRUVCSUFCMFFmLy8vLzhIY1NJRFJVRUFjUVIvSUFCQkFuUW9BZ0FGSUFCQmhwTURRYWZWQXlBREd4Q0ZBd3NpQTBFQVIyb2hCQ0FBUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVFaSERRQUxBa0FDUUFKQUlBUkIvLy8vL3dkeERnSUFBUUlMUWN6RUF5RUJEQUlMSUFJb0FnQkI4SWNCUmdSQVFZeUlBU0VCQ3dzTEN5QUNKQVlnQVF1ckF3SUpmd0o4SUFBb0FnUWlCVUVCU0NBQUtBSUlJZ1pCQVVoeUJIOUJmd1VnQVNnQ0JDQUZSZ1IvSUFFb0FnZ2dCVVlFZnlBQ0tBSUVJQVZHQkg4Z0FpZ0NDQ0FHUmdSL0lBTW9BZ1FnQlVZRWZ5QUNLQUlBSVFJRFFBSkFJQVFnQlU0TkFDQURLQUlBSUFSQkEzUnFLd01BSWcxRXZJbllsN0xTbkR4akRRQkVBQUFBQUFBQThEOGdEWm1mb3lFT0lBUWdCV3doREVFQUlRY2dBaUVJQTBBZ0JpQUhSd1JBUVFBaENTQUJLQUlBSUF4QkEzUnFJUXBFQUFBQUFBQUFBQUFoRFNBQUtBSUFJQWRCQTNScUlRc0RRQ0FGSUFsSEJFQWdEU0FLS3dNQUlBc3JBd0Npb0NFTklBbEJBV29oQ1NBS1FRaHFJUW9nQmtFRGRDQUxhaUVMREFFTEN5QUlJQTRnRGFJNUF3QWdCMEVCYWlFSElBaEJDR29oQ0F3QkN3c2dCRUVCYWlFRUlBWkJBM1FnQW1vaEFnd0JDd3NnQWlFQUEzOGdCQ0FGU0FSL0lBTW9BZ0FnQkVFRGRHcEVBQUFBQUFBQUFBQTVBd0JCQUNFQkEwQWdBU0FHU0FSQUlBQkVBQUFBQUFBQUFBQTVBd0FnQVVFQmFpRUJJQUJCQ0dvaEFBd0JDd3NnQkVFQmFpRUVEQUVGUVFBTEN3VkJmd3NGUVg4TEJVRi9Dd1ZCZndzRlFYOExDd3VPQVFFQ2Z3SkFBa0FEUUNBQ1FiRGFBR290QUFBZ0FFY0VRQ0FDUVFGcUlnSkIxd0JIRFFGQjF3QWhBZ3dDQ3dzZ0FnMEFRWkRiQUNFQURBRUxRWkRiQUNFQUEwQWdBQ0VEQTBBZ0EwRUJhaUVBSUFNc0FBQUVRQ0FBSVFNTUFRc0xJQUpCZjJvaUFnMEFDd3NnQVNnQ0ZDSUJCSDhnQVNnQ0FDQUJLQUlFSUFBUW13VUZRUUFMSWdFZ0FDQUJHd3MxQUNBQkJIOENmd05BSUFBZ0FVRi9haUlCYWkwQUFFRXZSd1JBSUFFRVFBd0NCVUVBREFNTEFBc0xJQUFnQVdvTEJVRUFDd3VzQVFFRGYwR2N1QUVoQWlBQVFaeTRBWE5CQTNGRkJFQkJuTGdCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFBTi9JQUJCQkdvaEFTQUFJQU0yQWdBZ0FrRUVhaUlDS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1FSL0lBRUZJQUVoQUF3QkN3c2hBQXNMSUFBZ0Fpd0FBQ0lCT2dBQUlBRUVRQU5BSUFCQkFXb2lBQ0FDUVFGcUlnSXNBQUFpQVRvQUFDQUJEUUFMQ3dzMUFRSi9JQUlnQUNnQ0VDQUFLQUlVSWdScklnTWdBeUFDU3hzaEF5QUVJQUVnQXhCTUdpQUFJQUFvQWhRZ0EybzJBaFFnQWd1VUNRSVlmd2Q4SXdZaEdDTUdRUkJxSkFZZ0dDRU1JQUFvQWdRaUJpQUFLQUlJUnlBR1FRSkljZ1IvUVg4RklBRW9BZ1FnQmtZRWZ5QUdFT2NDSWcwRWZ3Si9JQXdnQmtGL2FpSVJOZ0lFSUF3Z0RTZ0NBRUVJYWpZQ0FDQUFJQUVnREJDSEMwRUFTQVJBSUEwUXp3RkJmd3dCQ3lBTktBSUFJZ2hFQUFBQUFBQUFBQUE1QXdBZ0VTRURBMEFnQTBFQVNnUkFJQU1oQndOQUlBZEJBRW9FUUNBSFFRTjBJQWhxS3dNQW1TQUJLQUlBSWdVZ0IwRi9haUlDUVFOMGFpc0RBSmtnQjBFRGRDQUZhaXNEQUptZ1JJM3R0YUQzeHJBK29tUUVRQ0FDSVFjTUFnc0xDeUFEUVg5cUlRa2dBeUFIUndSQUFrQWdBMEVEZENBSWFpRVNJQWRCQVdwQkEzUWdDR29oRTBFQUlRVURRQ0FGUWVNQVN3MEJJQVZCQVdvaEJTQVNLd01BSWhzZ0c2SWlHaUFCS0FJQUlnNGdDVUVEZEdvaUZDc0RBQ0FEUVFOMElBNXFJaFVyQXdBaUc2RkVBQUFBQUFBQTREK2lJaDhnSDZLZ255RWNJQk1yQXdBaEhTQUhJZ0pCQTNRZ0Rtb3JBd0FnRzZFZ0dpQWZJQnlhSUJ3Z0gwUUFBQUFBQUFBQUFHTWJvS09nSVJzRFFDQUNJQU5JQkVBZ0c1a2lHaUFkbVdZRVFDQWFSTHlKMkpleTBwdzhaQVI4UkFBQUFBQUFBUEEvSUIyYUlCdWpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWlHaUVlSUJ3Z0dxSUZSQUFBQUFBQUFQQS9JUjVFQUFBQUFBQUFBQUFMSVJvRlJBQUFBQUFBQVBBL0lCdWFJQjJqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1oR2lBY0lCcWlJUjRMSUFKQkEzUWdEbW9pRHlzREFDSWNJQUpCQVdvaUNrRURkQ0FPYWlJRUt3TUFJaCtoSVNBZ0R5QWNJQm9nR2lBZ29pQWVSQUFBQUFBQUFBQkFvaUFLUVFOMElBaHFJaEFyQXdDaW9LSWlIS0U1QXdBZ0JDQWZJQnlnT1FNQUlBSkJBM1FnQ0dvaEJDQUNJQWRLQkVBZ0JDQWVJQVFyQXdDaUlCMGdHcUtoT1FNQUN5QVFJQkFyQXdBaUhDQWFJQjRnSUtJZ0drUUFBQUFBQUFBQVFLSWdIS0tob3FBNUF3QWdBaUFHYkNFV0lBWWdDbXdoRjBFQUlRc0RRQ0FHSUF0SEJFQWdBQ2dDQUNJUElBc2dGbXBCQTNScUlnUXJBd0FoR3lBRUlCNGdHNklnR2lBTElCZHFRUU4wSUE5cUlnUXJBd0FpSGFLaE9RTUFJQVFnR2lBYm9pQWVJQjJpb0RrREFDQUxRUUZxSVFzTUFRc0xJQUlnQ1VnRVFDQVFLd01BSVJzZ0FrRUNha0VEZENBSWFpSUNLd01BSVIwZ0FpQWVJQjJpT1FNQUlCb2dIYUthSVIwTElBb2hBZ3dCQ3dzZ0Vpc0RBSmtnRkNzREFKa2dGU3NEQUptZ1JJM3R0YUQzeHJBK29tUU5BQXNMQ3lBSklRTU1BUXNMUVFBaEF3TkFJQU1nRVVjRVFDQUJLQUlBSWdrZ0EwRURkR29pQlNzREFDSWRJUm9nQXlJQ1FRRnFJZ2NoQkFOQUlBUWdCa2dFUUNBRVFRTjBJQWxxS3dNQUloc2dHbVFoQ2lBYklCb2dDaHNoR2lBRUlBSWdDaHNoQWlBRVFRRnFJUVFNQVFzTElBSkJBM1FnQ1dvZ0hUa0RBQ0FGSUJvNUF3QWdBeUFHYkVFRGRDQUFLQUlBSWdOcUlRVWdBaUFHYkVFRGRDQURhaUVDUVFBaEF3TkFJQU1nQmtjRVFDQUNLd01BSVJzZ0FpQUZLd01BT1FNQUlBVWdHemtEQUNBRlFRaHFJUVVnQWtFSWFpRUNJQU5CQVdvaEF3d0JDd3NnQnlFRERBRUxDeUFORU04QlFRQUxCVUYvQ3dWQmZ3c0xJUmtnRENRR0lCa0xMQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBS2RCQjNGQk1ISTZBQUFnQUVJRGlDSUFVRVVOQUFzTElBRUxOQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBaUFBcDBFUGNVR2cyZ0JxTFFBQWNqb0FBQ0FBUWdTSUlnQlFSUTBBQ3dzZ0FRdWhBZ0lKZndGOElBQW9BZ1FoQ1NBQUtBSUlJZ0lnQVNnQ0JFWUVRQ0FCS0FJSUlBSkdCRUFDUUNBQktBSUFJZ29oQmdOQUlBTWdBazRFUUVFQUlRQU1BZ3RCQUNFRUlBWWhBUU5BSUFJZ0JFY0VRQ0FFSUFOSkJFQWdBU0FESUFJZ0JHeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQlNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQnlBRFFRTjBJQVZxSVFnZ0JFRURkQ0FGYWlFRlJBQUFBQUFBQUFBQUlRc0RRQ0FISUFsT0RRRWdBU0FMSUFnckF3QWdCU3NEQUtLZ0lnczVBd0FnQjBFQmFpRUhJQUpCQTNRZ0NHb2hDQ0FDUVFOMElBVnFJUVVNQUFBTEFBc0xJQVJCQVdvaEJDQUJRUWhxSVFFTUFRc0xJQU5CQVdvaEF5QUNRUU4wSUFacUlRWU1BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXZXQWdFR2Z5TUdJUU1qQmtIZ0FXb2tCaUFEUWFBQmFpSUVRZ0EzQXdBZ0JFSUFOd01JSUFSQ0FEY0RFQ0FFUWdBM0F4Z2dCRUlBTndNZ0lBTkIwQUZxSWdVZ0FpZ0NBRFlDQUVFQUlBRWdCU0FEUWRBQWFpSUNJQVFRcEFKQkFFZ0VmMEYvQlNBQUtBSk1RWDlLQkg5QkFRVkJBQXNhSUFBb0FnQWhCaUFBTEFCS1FRRklCRUFnQUNBR1FWOXhOZ0lBQ3lBQUtBSXdCRUFnQUNBQklBVWdBaUFFRUtRQ0lRRUZJQUFvQWl3aEJ5QUFJQU0yQWl3Z0FDQUROZ0ljSUFBZ0F6WUNGQ0FBUWRBQU5nSXdJQUFnQTBIUUFHbzJBaEFnQUNBQklBVWdBaUFFRUtRQ0lRRWdCd1JBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUJRWDhnQUNnQ0ZCc2hBU0FBSUFjMkFpd2dBRUVBTmdJd0lBQkJBRFlDRUNBQVFRQTJBaHdnQUVFQU5nSVVDd3NnQUNBQUtBSUFJZ0FnQmtFZ2NYSTJBZ0JCZnlBQklBQkJJSEViQ3lFSUlBTWtCaUFJQ3lrQ0FYOEJmQ0FCS0FJQVFRZHFRWGh4SWdJckF3QWhBeUFCSUFKQkNHbzJBZ0FnQUNBRE9RTUFDOHdYQXhSL0EzNEJmQ01HSVJRakJrR3dCR29rQmlBVVFaZ0VhaUlNUVFBMkFnQWdBYjBpR2tJQVV3Ui9JQUdhSWgwaEFVR2gvZ0loRWlBZHZTRWFRUUVGUWFUK0FrR24vZ0pCb3Y0Q0lBUkJBWEViSUFSQmdCQnhHeUVTSUFSQmdSQnhRUUJIQ3lFVElCUkJJR29oQmlBVUlnNGhFU0FPUVp3RWFpSUtRUXhxSVE4Z0drS0FnSUNBZ0lDQStQOEFnMEtBZ0lDQWdJQ0ErUDhBVVFSL0lBQkJJQ0FDSUJOQkEyb2lBeUFFUWYvL2UzRVFkU0FBSUJJZ0V4QnlJQUJCdlA0Q1FjRCtBaUFGUVNCeFFRQkhJZ1ViUWJUK0FrRzQvZ0lnQlJzZ0FTQUJZaHRCQXhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3VUNmeUFCSUF3UWlnTkVBQUFBQUFBQUFFQ2lJZ0ZFQUFBQUFBQUFBQUJpSWdjRVFDQU1JQXdvQWdCQmYybzJBZ0FMSUFWQklISWlDMEhoQUVZRVFDQVNRUWxxSUJJZ0JVRWdjU0lKR3lFSVFRd2dBMnNpQjBVZ0EwRUxTM0pGQkVCRUFBQUFBQUFBSUVBaEhRTkFJQjFFQUFBQUFBQUFNRUNpSVIwZ0IwRi9haUlIRFFBTElBZ3NBQUJCTFVZRWZDQWRJQUdhSUIyaG9Kb0ZJQUVnSGFBZ0hhRUxJUUVMSUE5QkFDQU1LQUlBSWdacklBWWdCa0VBU0J1c0lBOFF2Z0VpQjBZRVFDQUtRUXRxSWdkQk1Eb0FBQXNnRTBFQ2NpRUtJQWRCZjJvZ0JrRWZkVUVDY1VFcmFqb0FBQ0FIUVg1cUlnY2dCVUVQYWpvQUFDQURRUUZJSVF3Z0JFRUljVVVoRFNBT0lRVURRQ0FGSUFrZ0FSQnpJZ1pCb05vQWFpMEFBSEk2QUFBZ0FTQUd0NkZFQUFBQUFBQUFNRUNpSVFFZ0JVRUJhaUlHSUJGclFRRkdCSDhnRFNBTUlBRkVBQUFBQUFBQUFBQmhjWEVFZnlBR0JTQUdRUzQ2QUFBZ0JVRUNhZ3NGSUFZTElRVWdBVVFBQUFBQUFBQUFBR0lOQUFzQ2Z5QURSU0FGUVg0Z0VXdHFJQU5PY2tVRVFDQVBJQU5CQW1wcUlBZHJJUXNnQnd3QkN5QUZJQThnRVdzZ0IydHFJUXNnQndzaEJpQUFRU0FnQWlBS0lBdHFJZ01nQkJCMUlBQWdDQ0FLRUhJZ0FFRXdJQUlnQXlBRVFZQ0FCSE1RZFNBQUlBNGdCU0FSYXlJRkVISWdBRUV3SUFzZ0JTQVBJQVpySWdacWEwRUFRUUFRZFNBQUlBY2dCaEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXd3QkN5QUhCRUFnRENBTUtBSUFRV1JxSWdnMkFnQWdBVVFBQUFBQUFBQ3dRYUloQVFVZ0RDZ0NBQ0VJQ3lBR0lBWkJvQUpxSUFoQkFFZ2JJZ29oQmdOQUlBWWdBUkNLQlNJSE5nSUFJQVpCQkdvaEJpQUJJQWU0b1VRQUFBQUFaYzNOUWFJaUFVUUFBQUFBQUFBQUFHSU5BQXNnQ0VFQVNnUkFJQW9oQndOQUlBaEJIU0FJUVIxSUd5RU5JQVpCZkdvaUNDQUhUd1JBSUEydElSdEJBQ0VKQTBBZ0NhMGdDQ2dDQUswZ0c0WjhJaHhDZ0pUcjNBTVE5Z0VoR2lBSUlCd2dHa0tBbE92Y0EzNTlQZ0lBSUJxbklRa2dDRUY4YWlJSUlBZFBEUUFMSUFrRVFDQUhRWHhxSWdjZ0NUWUNBQXNMSUFZZ0Iwc0VRQUpBQTM4Z0JrRjhhaUlJS0FJQURRRWdDQ0FIU3dSL0lBZ2hCZ3dCQlNBSUN3c2hCZ3NMSUF3Z0RDZ0NBQ0FOYXlJSU5nSUFJQWhCQUVvTkFBc0ZJQW9oQnd0QkJpQURJQU5CQUVnYklRMGdDRUVBU0FSQUlBMUJHV3BCQ1JBNVFRRnFJUkFnQzBIbUFFWWhGU0FHSVFNRFFFRUFJQWhySWdaQkNTQUdRUWxJR3lFSklBb2dCeUFEU1FSL1FRRWdDWFJCZjJvaEZrR0FsT3ZjQXlBSmRpRVhRUUFoQ0NBSElRWURRQ0FHSUFnZ0JpZ0NBQ0lZSUFsMmFqWUNBQ0FYSUJZZ0dIRnNJUWdnQmtFRWFpSUdJQU5KRFFBTElBY2dCMEVFYWlBSEtBSUFHeUVaSUFnRWZ5QURJQWcyQWdBZ0EwRUVhZ1VnQXdzaEJpQVpCU0FESVFZZ0J5QUhRUVJxSUFjb0FnQWJDeUlESUJVYklnY2dFRUVDZEdvZ0JpQUdJQWRyUVFKMUlCQktHeUVJSUF3Z0NTQU1LQUlBYWlJR05nSUFJQVpCQUVnRVFDQURJUWNnQ0NFRElBWWhDQXdCQ3dzRklBY2hBeUFHSVFnTElBb2hEQ0FESUFoSkJFQWdEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hCZ05BSUFkQkFXb2hCeUFLSUFaQkNtd2lCazhOQUFzTEJVRUFJUWNMSUExQkFDQUhJQXRCNWdCR0cyc2dDMEhuQUVZaUZTQU5RUUJISWhaeFFSOTBRUjkxYWlJR0lBZ2dER3RCQW5WQkNXeEJkMnBJQkg4Z0JrR0F5QUJxSWdaQkNSQTVJUWtnQmlBSlFRbHNheUlHUVFoSUJFQkJDaUVMQTBBZ0JrRUJhaUVLSUF0QkNtd2hDeUFHUVFkSUJFQWdDaUVHREFFTEN3VkJDaUVMQ3lBSlFRSjBJQXhxUVlSZ2FpSUdLQUlBSWdrZ0N4QklJUkFnQ0NBR1FRUnFSaUlYSUFrZ0N5QVFiR3NpQ2tWeFJRUkFSQUVBQUFBQUFFQkRSQUFBQUFBQUFFQkRJQkJCQVhFYklRRkVBQUFBQUFBQTREOUVBQUFBQUFBQThEOUVBQUFBQUFBQStEOGdGeUFLSUF0QkFYWWlFRVp4R3lBS0lCQkpHeUVkSUJNRVFDQWRtaUFkSUJJc0FBQkJMVVlpRUJzaEhTQUJtaUFCSUJBYklRRUxJQVlnQ1NBS2F5SUtOZ0lBSUFFZ0hhQWdBV0lFUUNBR0lBb2dDMm9pQnpZQ0FDQUhRZitUNjl3RFN3UkFBMEFnQmtFQU5nSUFJQVpCZkdvaUJpQURTUVJBSUFOQmZHb2lBMEVBTmdJQUN5QUdJQVlvQWdCQkFXb2lCellDQUNBSFFmK1Q2OXdEU3cwQUN3c2dEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hDd05BSUFkQkFXb2hCeUFLSUF0QkNtd2lDMDhOQUFzTEN3c2dCeUVKSUFaQkJHb2lCaUFJSUFnZ0Jrc2JJUVlnQXdVZ0J5RUpJQWdoQmlBREN5RUtJQVlnQ2tzRWZ3Si9JQVloQXdOL0lBTkJmR29pQmlnQ0FBUkFJQU1oQmtFQkRBSUxJQVlnQ2tzRWZ5QUdJUU1NQVFWQkFBc0xDd1ZCQUFzaEJ5QVZCSDhnRmtFQmN5QU5haUlESUFsS0lBbEJlMHB4Qkg4Z0EwRi9haUFKYXlFSUlBVkJmMm9GSUFOQmYyb2hDQ0FGUVg1cUN5RUZJQVJCQ0hFRWZ5QUlCU0FIQkVBZ0JrRjhhaWdDQUNJTkJFQWdEVUVLRUU0RVFFRUFJUU1GUVFBaEEwRUtJUXNEUUNBRFFRRnFJUU1nRFNBTFFRcHNJZ3NRVGtVTkFBc0xCVUVKSVFNTEJVRUpJUU1MSUFZZ0RHdEJBblZCQ1d4QmQyb2hEU0FGUVNCeVFlWUFSZ1IvSUFnZ0RTQURheUlEUVFBZ0EwRUFTaHNpQXlBSUlBTklHd1VnQ0NBSklBMXFJQU5ySWdOQkFDQURRUUJLR3lJRElBZ2dBMGdiQ3dzRklBMExJUU5CQUNBSmF5RUlJQUJCSUNBQ0lBVkJJSEpCNWdCR0loQUVmMEVBSVFnZ0NVRUFJQWxCQUVvYkJTQVBJQWdnQ1NBSlFRQklHNndnRHhDK0FTSUxhMEVDU0FSQUEwQWdDMEYvYWlJTFFUQTZBQUFnRHlBTGEwRUNTQTBBQ3dzZ0MwRi9haUFKUVI5MVFRSnhRU3RxT2dBQUlBdEJmbW9pQ0NBRk9nQUFJQThnQ0dzTElBTWdFMEVCYW1wQkFTQUVRUU4yUVFGeElBTkJBRWNpQ3h0cWFpSU5JQVFRZFNBQUlCSWdFeEJ5SUFCQk1DQUNJQTBnQkVHQWdBUnpFSFVnRUFSQUlBNUJDV29pQ1NFUElBNUJDR29oQ0NBTUlBb2dDaUFNU3hzaUNpRUhBMEFnQnlnQ0FLMGdDUkMrQVNFRklBY2dDa1lFUUNBRklBbEdCRUFnQ0VFd09nQUFJQWdoQlFzRklBVWdEa3NFUUNBT1FUQWdCU0FSYXhCRkdnTkFJQVZCZjJvaUJTQU9TdzBBQ3dzTElBQWdCU0FQSUFWckVISWdCMEVFYWlJRklBeE5CRUFnQlNFSERBRUxDeUFFUVFoeFJTQUxRUUZ6Y1VVRVFDQUFRY1QrQWtFQkVISUxJQUJCTUNBRklBWkpJQU5CQUVweEJIOERmeUFGS0FJQXJTQUpFTDRCSWdjZ0Rrc0VRQ0FPUVRBZ0J5QVJheEJGR2dOQUlBZEJmMm9pQnlBT1N3MEFDd3NnQUNBSElBTkJDU0FEUVFsSUd4QnlJQU5CZDJvaEJ5QUZRUVJxSWdVZ0Jra2dBMEVKU25FRWZ5QUhJUU1NQVFVZ0J3c0xCU0FEQzBFSmFrRUpRUUFRZFFVZ0FFRXdJQW9nQmlBS1FRUnFJQWNiSWd0SklBTkJmMHB4Qkg4Z0JFRUljVVVoRWlBT1FRbHFJZ3doRTBFQUlCRnJJUkVnRGtFSWFpRUpJQU1oQlNBS0lRWURmeUFNSUFZb0FnQ3RJQXdRdmdFaUEwWUVRQ0FKUVRBNkFBQWdDU0VEQ3dKQUlBWWdDa1lFUUNBRFFRRnFJUWNnQUNBRFFRRVFjaUFTSUFWQkFVaHhCRUFnQnlFRERBSUxJQUJCeFA0Q1FRRVFjaUFISVFNRklBTWdEazBOQVNBT1FUQWdBeUFSYWhCRkdnTkFJQU5CZjJvaUF5QU9TdzBBQ3dzTElBQWdBeUFUSUFOcklnTWdCU0FGSUFOS0d4QnlJQVpCQkdvaUJpQUxTU0FGSUFOcklnVkJmMHB4RFFBZ0JRc0ZJQU1MUVJKcVFSSkJBQkIxSUFBZ0NDQVBJQWhyRUhJTElBQkJJQ0FDSUEwZ0JFR0F3QUJ6RUhVZ0RRc0xJUUFnRkNRR0lBSWdBQ0FBSUFKSUd3czBBQ0FBSUFCaUJIOUJBQVVnQUVRQUFBQUFBQUR3UVdZRWYwRUFCU0FBUkFBQUFBQUFBUEMvWlFSL1FRQUZJQUNyQ3dzTEN5WUJBWDhqQmlFQ0l3WkJFR29rQmlBQ0lBRTJBZ0FnQUVIMi9RSWdBaENsQWhvZ0FpUUdDMVlCQTM4Z0FDZ0NWQ0lEUVFBZ0FrR0FBbW9pQlJDbUFpRUVJQUVnQXlBRUlBTnJJQVVnQkJzaUFTQUNJQUVnQWtrYklnSVFUQm9nQUNBQ0lBTnFOZ0lFSUFBZ0FTQURhaUlCTmdJSUlBQWdBVFlDVkNBQ0M2VUNBZ3AvQVh3Z0FDZ0NDQ0VHSUFBb0FnUWlCU0FCS0FJRVJnUkFJQUVvQWdnZ0JVWUVRQUpBSUFFb0FnQWlDaUVIQTBBZ0FpQUZUZ1JBUVFBaEFBd0NDeUFDSUFac0lRdEJBQ0VESUFjaEFRTkFJQU1nQlVjRVFDQURJQUpKQkVBZ0FTQUNJQU1nQld4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCQ0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhDQ0FMUVFOMElBUnFJUWtnQXlBR2JFRURkQ0FFYWlFRVJBQUFBQUFBQUFBQUlRd0RRQ0FJSUFaT0RRRWdBU0FNSUFrckF3QWdCQ3NEQUtLZ0lndzVBd0FnQ0VFQmFpRUlJQWxCQ0dvaENTQUVRUWhxSVFRTUFBQUxBQXNMSUFOQkFXb2hBeUFCUVFocUlRRU1BUXNMSUFKQkFXb2hBaUFGUVFOMElBZHFJUWNNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2N0F3SURmd1YrSUFDOUlnZENOSWluUWY4UGNTRUNJQUc5SWdaQ05JaW5RZjhQY1NFRUlBZENnSUNBZ0lDQWdJQ0FmNE1oQ1FKOEFrQWdCa0lCaGlJRlVBMEFBbndnQWtIL0QwWWdBYjFDLy8vLy8vLy8vLy8vQUlOQ2dJQ0FnSUNBZ1BqL0FGWnlEUUVnQjBJQmhpSUlJQVZZQkVBZ0FFUUFBQUFBQUFBQUFLSWdBQ0FGSUFoUkd3OExJQUlFZmlBSFF2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQUNJUUZJQWRDRElZaUJVSi9WUVJBUVFBaEFnTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2YxVU5BQXNGUVFBaEFnc2dCMEVCSUFKcnJZWUxJZ2dnQkFSK0lBWkMvLy8vLy8vLy93ZURRb0NBZ0lDQWdJQUloQVVnQmtJTWhpSUZRbjlWQkVBRFFDQURRWDlxSVFNZ0JVSUJoaUlGUW45VkRRQUxDeUFHUVFFZ0F5SUVhNjJHQ3lJR2ZTSUZRbjlWSVFNZ0FpQUVTZ1JBQWtBRFFBSkFJQU1FUUNBRlVBMEJCU0FJSVFVTElBVkNBWVlpQ0NBR2ZTSUZRbjlWSVFNZ0FrRi9haUlDSUFSS0RRRU1BZ3NMSUFCRUFBQUFBQUFBQUFDaURBSUxDeUFEQkVBZ0FFUUFBQUFBQUFBQUFLSWdCVkFOQVJvRklBZ2hCUXNnQlVLQWdJQ0FnSUNBQ0ZRRVFBTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2dJQ0FnSUNBZ0FoVURRQUxDeUFGUW9DQWdJQ0FnSUI0ZkNBQ3JVSTBob1FnQlVFQklBSnJyWWdnQWtFQVNoc2dDWVMvQ3d3QkN5QUFJQUdpSWdBZ0FLTUxDL2tUQXc1L0FuNEhmQ01HSVFvakJrR0FCR29rQmtFQUlBSWdBMm9pRUdzaEVRSkFBa0FEUUFKQUFrQUNRQ0FCUVM1ckRnTUVBQUVBQ3lBQklRWWdCeUVCREFFTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRkJBU0VIREFFTEN3d0JDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDeUlHUVRCR0JIOERmeUFVUW45OElSUWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lCa0V3UmcwQVFRRWhDMEVCQ3dWQkFTRUxJQWNMSVFFTElBcEJBRFlDQUFKOEFrQUNRQUpBQWtBZ0JrRXVSaUlPSUFaQlVHb2lEVUVLU1hJRVFBSkFRUUFoQnlBR0lRa2dEU0VHQTBBQ1FDQU9CRUFnQ3cwQlFRRWhDeUFWSVJRRkFrQWdGVUlCZkNFVklBbEJNRWNoRFNBSVFmMEFUZ1JBSUExRkRRRWdDaUFLS0FMd0EwRUJjallDOEFNTUFRc2dDRUVDZENBS2FpSUJJQXdFZnlBSlFWQnFJQUVvQWdCQkNteHFCU0FHQ3pZQ0FDQU1RUUZxSWdaQkNVWWhBVUVBSUFZZ0FSc2hEQ0FCSUFocUlRZ2dGYWNnQnlBTkd5RUhRUUVoQVFzTElBQW9BZ1FpQmlBQUtBSm9TUVIvSUFBZ0JrRUJhallDQkNBR0xRQUFCU0FBRUZRTElnbEJVR29pQmtFS1NTQUpRUzVHSWc1eURRRWdDU0VHREFJTEN5QUJRUUJISVFFTUFnc0ZRUUFoQndzZ0ZDQVZJQXNiSVJRZ0FVRUFSeUlCSUFaQklISkI1UUJHY1VVRVFDQUdRWDlLQkVBTUFnVU1Bd3NBQ3lBVUlBQWdCUkNSQXlJVVFvQ0FnSUNBZ0lDQWdIOVJCSDRnQlVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJnc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0ZBdDhJUlFNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JDQUJSUTBDREFNTEN5QUJSUTBBREFFTFFhVEZBMEVjTmdJQUlBQkNBQkNDQVVRQUFBQUFBQUFBQUF3QkN5QUV0MFFBQUFBQUFBQUFBS0lnQ2lnQ0FDSUFSUTBBR2lBVUlCVlJJQlZDQ2xOeEJFQWdCTGNnQUxpaUlBQWdBblpGSUFKQkhrcHlEUUVhQ3lBVUlBTkJmaEE1ckZVRVFFR2t4UU5CeEFBMkFnQWdCTGRFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QVVJQU5CbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQkxkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFNQkVBZ0RFRUpTQVJBSUFoQkFuUWdDbW9pQlNnQ0FDRUJBMEFnQVVFS2JDRUJJQXhCQVdvaEFDQU1RUWhJQkVBZ0FDRU1EQUVMQ3lBRklBRTJBZ0FMSUFoQkFXb2hDQXNnRktjaEFTQUhRUWxJQkVBZ0FVRVNTQ0FISUFGTWNRUkFJQUZCQ1VZRVFDQUV0eUFLS0FJQXVLSU1Bd3NnQVVFSlNBUkFJQVMzSUFvb0FnQzRva0VBSUFGclFRSjBRY0RVQUdvb0FnQzNvd3dEQ3lBQ1FSdHFJQUZCZld4cUlnQkJIa29nQ2lnQ0FDSUZJQUIyUlhJRVFDQUV0eUFGdUtJZ0FVRUNkRUg0MHdCcUtBSUF0NklNQXdzTEN5QUJRUWtRVHlJQUJIOUJBQ0FBSUFCQkNXb2dBVUYvU2hzaURHdEJBblJCd05RQWFpZ0NBQ0VHSUFnRWYwR0FsT3ZjQXlBR0VEa2hDMEVBSVFkQkFDRUFRUUFoQlFOQUlBY2dCVUVDZENBS2FpSU5LQUlBSWc0Z0JoQklJZzlxSVFrZ0RTQUpOZ0lBSUFzZ0RpQUdJQTlzYTJ3aEJ5QUJRWGRxSUFFZ0NVVWdBQ0FGUm5FaUNSc2hBU0FBUVFGcVFmOEFjU0FBSUFrYklRQWdCVUVCYWlJRklBaEhEUUFMSUFjRWZ5QUlRUUowSUFwcUlBYzJBZ0FnQUNFRklBaEJBV29GSUFBaEJTQUlDd1ZCQUNFRlFRQUxJUUFnQVVFSklBeHJhaUVCSUFVRklBZ2hBRUVBQ3lFSFFRQWhCUU5BQWtBZ0FVRVNTQ0VNSUFGQkVrWWhEU0FIUVFKMElBcHFJUTREUUNBTVJRUkFJQTFGRFFJZ0RpZ0NBRUhmNEtVRVR3UkFRUkloQVF3REN3dEJBQ0VJSUFCQi93QnFJUXNEUUNBSXJTQUxRZjhBY1NJSlFRSjBJQXBxSWdZb0FnQ3RRaDJHZkNJVXB5RUxJQlJDZ0pUcjNBTldCRUFnRkVLQWxPdmNBeEQyQVNJVnB5RUlJQlFnRlVLQWxPdmNBMzU5cHlFTEJVRUFJUWdMSUFZZ0N6WUNBQ0FBSUFBZ0NTQUxHeUFISUFsR0lnOGdDU0FBUWY4QWFrSC9BSEZIY2hzaEJpQUpRWDlxSVFzZ0QwVUVRQ0FHSVFBTUFRc0xJQVZCWTJvaEJTQUlSUTBBQ3lBR1FmOEFha0gvQUhFaENTQUdRZjRBYWtIL0FIRkJBblFnQ21vaERDQUhRZjhBYWtIL0FIRWlCeUFHUmdSQUlBd2dDVUVDZENBS2FpZ0NBQ0FNS0FJQWNqWUNBQ0FKSVFBTElBZEJBblFnQ21vZ0NEWUNBQ0FCUVFscUlRRU1BUXNMQTBBQ1FDQUFRUUZxUWY4QWNTRUdJQUJCL3dCcVFmOEFjVUVDZENBS2FpRU1BMEFDUUNBQlFSSkdJUWhCQ1VFQklBRkJHMG9iSVFrRFFFRUFJUTRDUUFKQUEwQUNRQ0FBSUFjZ0RtcEIvd0J4SWd0R0RRSWdDMEVDZENBS2FpZ0NBQ0lMSUE1QkFuUkJxSW9CYWlnQ0FDSU5TUTBDSUFzZ0RVc05BQ0FPUVFGcVFRSlBEUUpCQVNFT0RBRUxDd3dCQ3lBSURRUUxJQVVnQ1dvaEJTQUFJQWRHQkVBZ0FDRUhEQUVMQzBFQklBbDBRWDlxSVE1QmdKVHIzQU1nQ1hZaEQwRUFJUWdnQnlFTEEwQWdDQ0FMUVFKMElBcHFJaElvQWdBaUV5QUpkbW9oRFNBU0lBMDJBZ0FnRHlBT0lCTnhiQ0VJSUFGQmQyb2dBU0FOUlNBSElBdEdjU0lOR3lFQklBZEJBV3BCL3dCeElBY2dEUnNoQnlBTFFRRnFRZjhBY1NJTElBQkhEUUFMSUFnRVFDQUdJQWRIRFFFZ0RDQU1LQUlBUVFGeU5nSUFDd3dCQ3dzZ0FFRUNkQ0FLYWlBSU5nSUFJQVloQUF3QkN3dEJBQ0VCQTBBZ0FFRUJha0gvQUhFaEJpQUFJQUVnQjJwQi93QnhJZ2xHQkVBZ0JrRi9ha0VDZENBS2FrRUFOZ0lBSUFZaEFBc2dGa1FBQUFBQVpjM05RYUlnQ1VFQ2RDQUthaWdDQUxpZ0lSWWdBVUVCYWlJQlFRSkhEUUFMSUJZZ0JMY2lHS0loRnlBRlFUVnFJZ1lnQTJzaUF5QUNTQ0VFSUFOQkFDQURRUUJLR3lBQ0lBUWJJZ0ZCTlVnRVFFUUFBQUFBQUFEd1AwSHBBQ0FCYXhDZkFTQVhFSkFESWhraEdpQVhSQUFBQUFBQUFQQS9RVFVnQVdzUW53RVFqd01pR3lFV0lCa2dGeUFib2FBaEZ3VkVBQUFBQUFBQUFBQWhGZ3NnQjBFQ2FrSC9BSEVpQWlBQVJ3UkFBa0FnQWtFQ2RDQUthaWdDQUNJQ1FZREt0ZTRCU1FSOElBSkZRUUFnQUNBSFFRTnFRZjhBY1VZYkRRRWdHRVFBQUFBQUFBRFFQNklnRnFBRklBSkJnTXExN2dGSEJFQWdHRVFBQUFBQUFBRG9QNklnRnFBaEZnd0NDeUFZUkFBQUFBQUFBT0Evb2lBV29DQVlSQUFBQUFBQUFPZy9vaUFXb0NBQUlBZEJBMnBCL3dCeFJoc0xJUllMUVRVZ0FXdEJBVW9FZkNBV1JBQUFBQUFBQVBBL0VJOERSQUFBQUFBQUFBQUFZUVI4SUJaRUFBQUFBQUFBOEQrZ0JTQVdDd1VnRmdzaEZnc2dGeUFXb0NBYW9TRVhJQVpCLy8vLy93ZHhRWDRnRUd0S0JId0NmQ0FGSUJlWlJBQUFBQUFBQUVCRFprVWlBRUVCYzJvaEJTQVhJQmRFQUFBQUFBQUE0RCtpSUFBYklSY2dCVUV5YWlBUlRBUkFJQmNnQkNBQUlBRWdBMGR5Y1NBV1JBQUFBQUFBQUFBQVluRkZEUUVhQzBHa3hRTkJ4QUEyQWdBZ0Z3c0ZJQmNMSUFVUWpnTUxJUndnQ2lRR0lCd0w4Z2dEQ0g4RmZnTjhJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVVDUUFKQUEwQUNRQUpBSUFWQkxtc09Bd01CQUFFTElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVkJBU0VJREFFTEN3d0JDeUFBS0FJRUlnVWdBQ2dDYUVrRWZ5QUFJQVZCQVdvMkFnUWdCUzBBQUFVZ0FCQlVDeUlGUVRCR0JIOERmeUFOUW45OElRMGdBQ2dDQkNJRklBQW9BbWhKQkg4Z0FDQUZRUUZxTmdJRUlBVXRBQUFGSUFBUVZBc2lCVUV3UmcwQVFRRWhDRUVCQ3dWQkFRc2hDUXRFQUFBQUFBQUE4RDhoRXlBRklRY2dDQ0VGQTBBQ1FDQUhRU0J5SVFnQ1FBSkFJQWRCVUdvaUMwRUtTUTBBSUFkQkxrWWlEQ0FJUVo5L2FrRUdTWEpGRFFJZ0RFVU5BQ0FKQkg1QkxpRUhEQU1GUVFFaENTQVBDeUVOREFFTElBaEJxWDlxSUFzZ0IwRTVTaHNoQlNBUFFnaFRCRUFnQlNBR1FRUjBhaUVHQlNBUFFnNVRCSHdnRTBRQUFBQUFBQUN3UDZJaUZDRVRJQklnRkNBRnQ2S2dCU0FLUVFFZ0JVVWdDa0VBUjNJaUJSc2hDaUFTSUJJZ0UwUUFBQUFBQUFEZ1A2S2dJQVViQ3lFU0N5QVBRZ0Y4SVE5QkFTRUZDeUFBS0FJRUlnY2dBQ2dDYUVrRWZ5QUFJQWRCQVdvMkFnUWdCeTBBQUFVZ0FCQlVDeUVIREFFTEN5QUZCSHdDZkNBUFFnaFRCRUFnRHlFT0EwQWdCa0VFZENFR0lBNUNBWHdoRUNBT1FnZFRCRUFnRUNFT0RBRUxDd3NDZnlBSFFTQnlRZkFBUmdSK0lBQWdCQkNSQXlJT1FvQ0FnSUNBZ0lDQWdIOVJCSDRnQkVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0Rnc0ZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUWdBTElSRWdBN2RFQUFBQUFBQUFBQUNpSUFaRkRRRWFJQkVnRFNBUElBa2JRZ0tHUW1COGZDSU5RUUFnQW11c1ZRc0VRRUdreFFOQnhBQTJBZ0FnQTdkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFOSUFKQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0E3ZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBR1FYOUtCRUFEUUNBU1JBQUFBQUFBQU9BL1prVWlBRUVCY3lBR1FRRjBjaUVHSUJJZ0VpQVNSQUFBQUFBQUFQQy9vQ0FBRzZBaEVpQU5Rbjk4SVEwZ0JrRi9TZzBBQ3dzQ2ZBSkFJQTFDSUNBQ3JIMThJZzRnQWF4VEJFQWdEcWNpQVVFQVRBUkFRUUFoQVVIVUFDRUFEQUlMQzBIVUFDQUJheUVBSUFGQk5VZ05BQ0FEdHlFVFJBQUFBQUFBQUFBQURBRUxSQUFBQUFBQUFQQS9JQUFRbndFZ0E3Y2lFeENRQXdzaEZFUUFBQUFBQUFBQUFDQVNJQVpCQVhGRklBRkJJRWdnRWtRQUFBQUFBQUFBQUdKeGNTSUFHeUFUb2lBVUlCTWdBQ0FHYXJpaW9LQWdGS0VpRWtRQUFBQUFBQUFBQUdFRVFFR2t4UU5CeEFBMkFnQUxJQklnRGFjUWpnTUxCU0FBS0FKb1JTSUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCQVJBSUFGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFSUFFZ0NVVnlSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc0xCU0FBUWdBUWdnRUxJQU8zUkFBQUFBQUFBQUFBb2dzTHZnTUJCSDhnQUNnQ0NDSUZJQUFvQWdRaUF5QUZJQU5JR3lFR0lBVkJBa2dnQTBFQ1NISUVmMEYvQlNBQktBSUlJQVZHQkg4Z0FTZ0NCQ0FHUmdSL0lBSW9BZ1FnQmtZRWZ3Si9JQVlnQmhDTEFTSUVLQUlFSUFaR0JFQWdCQ2dDQ0NBR1JnUkFJQU1nQlVnaUF3UkFJQUFnQkJDTkJVRUFTQVJBSUFRUVNVRi9EQVFMQlNBQUlBUVFoZ1ZCQUVnRVFDQUVFRWxCZnd3RUN3c2dCQ0FDRUlNRlFRQklCRUFnQkJCSlFYOE1Bd3NnQXdSQUlBQWdCQ0FCSUFJUS9nUkJBRWdFUUNBRUVFbEJmd3dFQ3dVQ1FFRUFJUVVnQkNnQ0FDRURJQUVvQWdBaEFBTkFBa0FnQlNBR1RnMEFJQUlvQWdBZ0JVRURkR29yQXdCRXZJbllsN0xTbkR4akRRQkJBQ0VCQTBBZ0FTQUdTQVJBSUFBZ0F5c0RBRGtEQUNBQlFRRnFJUUVnQTBFSWFpRURJQUJCQ0dvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRklRRURRQ0FCSUFaT0RRRWdBaWdDQUNBQlFRTjBha1FBQUFBQUFBQUFBRGtEQUVFQUlRTURRQ0FESUFaSUJFQWdBRVFBQUFBQUFBQUFBRGtEQUNBRFFRRnFJUU1nQUVFSWFpRUFEQUVMQ3lBQlFRRnFJUUVNQUFBTEFBc0xJQVFRU1VFQURBSUxDeUFFRUVsQmZ3c0ZRWDhMQlVGL0N3VkJmd3NMQzlJVEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ2NoRENBQklBSkJmMm9pRUd4QkFYUWdCMm9oQmdOQUlBVWdBVWdFUUNBR1FRQTdBUUFnREVFQU93RUFJQXhCQW1vaERDQUZRUUZxSVFVZ0JrRUNhaUVHREFFTEMwRUFJUXdnQnlJR0lBRkJmMm9pRVVFQmRHb2hCUU5BSUF3Z0FrZ0VRQ0FGUVFBN0FRQWdCa0VBT3dFQUlBRkJBWFFnQm1vaEJpQU1RUUZxSVF3Z0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUVpCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hERUVCSVFwQkFDRUZJQUJCQVhRZ0Iyb2hBd0ovQWtBRFFBSkFJQW9nRUU0TkFpQUZJUUJCQVNFSUlBTWhDd05BSUFnZ0VVZ0VRQ0FOTFFBQUlBd3RBQUJLQkVBQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxCU0FMUVFBN0FRQUxJQTFCQVdvaERTQU1RUUZxSVF3Z0NFRUJhaUVJSUF0QkFtb2hDd3dCQ3dzZ0RVRUNhaUVOSUF4QkFtb2hEQ0FLUVFGcUlRb2dBQ0VGSUF0QkJHb2hBd3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhCd05BSUFjZ0JVd0VRQ0FISUFZb0FnQWlERVlFUUNBQVFRRnFJUU1GSUFBaEF5QU1RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQURJUUFnQjBFQmFpRUhJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ1kyQWdnZ0JnUi9JQTFCQUNBR1FRSjBFRVVhSUFSQmtJQW9ha0VBSUFaQkJIUVFSUnBCQUNFREEwQWdBeUFHU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ1pCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxVd0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQ2dDQURZQ0FBTkFJQUlvQWdCQkEycEJmSEVpQUNnQ0FDRURJQUlnQUVFRWFqWUNBQ0FCUVg5cUlRQWdBVUVCU3dSQUlBQWhBUXdCQ3dzZ0FpUUdJQU1MeGhRREVYOERmZ0Y4SXdZaENTTUdRYUFDYWlRR0lBQW9Ba3hCZjBvRWYwRUJCVUVBQ3hvZ0NVR0lBbW9oRFNBSlFZUUNhaUVTSUFsQmtBSnFJUk1nQVN3QUFDSUxCRUFDUUFKQUFrQUNRQUpBQTBBQ1FDQUxRZjhCY1JDeUFRUkFBMEFnQVVFQmFpSURMUUFBRUxJQkJFQWdBeUVCREFFTEN5QUFRZ0FRZ2dFRFFDQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN4Q3lBUTBBQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdzMkFnUUZJQUFvQWdRaEN3c2dDeUFBS0FJSWE2d2dGQ0FBS1FONGZId2hGQVVDUUNBQkxBQUFRU1ZHSWdjRVFBSkFBbjhDUUFKQUlBRkJBV29pQkN3QUFDSURRU1ZyRGdZREFRRUJBUUFCQzBFQUlRb2dBVUVDYWd3QkN5QURRZjhCY1JDS0FRUkFJQUVzQUFKQkpFWUVRQ0FDSUFRdEFBQkJVR29Ra3dVaENpQUJRUU5xREFJTEN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaENpQUNJQUZCQkdvMkFnQWdCQXNpQVMwQUFCQ0tBUVJBUVFBaEJBTkFJQUV0QUFBZ0JFRUtiRUZRYW1vaEJDQUJRUUZxSWdFdEFBQVFpZ0VOQUFzRlFRQWhCQXNnQVVFQmFpRUhJQUVzQUFBaUNFSHRBRVlFZjBFQUlRWWdBVUVDYWlFQklBY2lBeXdBQUNFSVFRQWhCU0FLUVFCSEJTQUJJUU1nQnlFQlFRQUxJUXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUlRUmgwUVJoMVFjRUFhdzQ2QlE0RkRnVUZCUTRPRGc0RURnNE9EZzRPQlE0T0RnNEZEZzRGRGc0T0RnNEZEZ1VGQlFVRkFBVUNEZ0VPQlFVRkRnNEZBd1VPRGdVT0F3NExRWDVCZnlBQkxBQUFRZWdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFVTFFRTkJBU0FCTEFBQVFld0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVFMUVFNaENBd0RDMEVCSVFnTUFndEJBaUVJREFFTFFRQWhDQ0FESVFFTFFRRWdDQ0FCTFFBQUlnZEJMM0ZCQTBZaUF4c2hEaUFBQW44Q1FBSkFBa0FDUUNBSFFTQnlJQWNnQXhzaURFSC9BWEVpQjBFWWRFRVlkVUhiQUdzT0ZBRURBd01EQXdNREFBTURBd01EQXdNREF3TUNBd3NnQkVFQklBUkJBVW9iREFNTElBUU1BZ3NnQ2lBT0lCUVFsQU1NQkFzZ0FFSUFFSUlCQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzUXNnRU5BQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9haUlJTmdJRUJTQUFLQUlFSVFnTElBZ2dBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUWdCQXNpRWF3aUZoQ0NBU0FBS0FJRUlnTWdBQ2dDYUNJRVNRUkFJQUFnQTBFQmFqWUNCQVVnQUJCVVFRQklEUWdnQUNnQ2FDRUVDeUFFQkVBZ0FDQUFLQUlFUVg5cU5nSUVDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEVZZEVFWWRVSEJBR3NPT0FVSEJ3Y0ZCUVVIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hBUWNIQUFjSEJ3Y0hCUWNBQXdVRkJRY0VCd2NIQndjQ0FRY0hBQWNEQndjQkJ3c2dERUVRY2tIekFFWUVRQ0FKUVg5QmdRSVFSUm9nQ1VFQU9nQUFJQXhCOHdCR0JFQWdDVUVBT2dBaElBbEJBRFlCQ2lBSlFRQTZBQTRMQlFKQUlBa2dBVUVCYWlJSExBQUFRZDRBUmlJRElnUkJnUUlRUlJvZ0NVRUFPZ0FBQWtBQ1FBSkFJQUZCQW1vZ0J5QURHeUlCTEFBQVFTMXJJZ01FUUNBRFFUQkdCRUFNQWdVTUF3c0FDeUFKSUFSQkFYTWlDRG9BTGlBQlFRRnFJUUVNQWdzZ0NTQUVRUUZ6SWdnNkFGNGdBVUVCYWlFQkRBRUxJQVJCQVhNaENBc0RRQUpBQWtBZ0FTd0FBQ0lFRGw0VEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRURBUXNnQVVFQmFpSURMQUFBSWdRaUIwRUFJQWRCM1FCSEcwVUVRRUV0SVFRTUFRc2dBVUYvYWkwQUFDSUJJQVJCL3dGeFNBUi9BMzhnQVVFQmFpSUJJQWxxSUFnNkFBQWdBU0FETEFBQUlnZEIvd0Z4U1EwQUlBTWhBU0FIQ3dVZ0F5RUJJQVFMSVFRTElBUkIvd0Z4UVFGcUlBbHFJQWc2QUFBZ0FVRUJhaUVCREFBQUN3QUxDeUFSUVFGcVFSOGdERUhqQUVZaURCc2hCQ0FMUVFCSElSQWdEa0VCUmlJUkJFQWdFQVJBSUFSQkFuUVFSQ0lGUlFSQVFRQWhCa0VBSVFVTUVRc0ZJQW9oQlFzZ0RVRUFOZ0lBSUExQkFEWUNCRUVBSVFZRFFBSkFJQVZGSVFjRFFBTkFBa0FnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVTkF5QVRJQU02QUFBQ1FBSkFJQklnRTBFQklBMFExd0ZCZm1zT0FnRUFBZ3RCQUNFR0RCVUxEQUVMQ3lBSFJRUkFJQVpCQW5RZ0JXb2dFaWdDQURZQ0FDQUdRUUZxSVFZTElCQWdCQ0FHUm5GRkRRQUxJQVVnQkVFQmRFRUJjaUlFUVFKMEVPZ0JJZ01FUUNBRElRVU1BZ1ZCQUNFR0RCSUxBQXNMSUEwRWZ5QU5LQUlBUlFWQkFRc0VmeUFHSVFRZ0JTRURRUUFGUVFBaEJnd1FDeUVHQlFKQUlCQUVRQ0FFRUVRaUJrVUVRRUVBSVFaQkFDRUZEQklMUVFBaEJRTkFBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVRVFDQUZJUVJCQUNFRFFRQWhCUXdFQ3lBRklBWnFJQU02QUFBZ0JVRUJhaUlGSUFSSERRQUxJQVlnQkVFQmRFRUJjaUlFRU9nQklnTUVRQ0FESVFZTUFRVkJBQ0VGREJNTEFBQUxBQXNnQ2tVRVFBTkFJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxRUUZxSUFscUxBQUFEUUJCQUNFRVFRQWhCa0VBSVFOQkFDRUZEQUlBQ3dBTFFRQWhCQU4vSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSWdWQkFXb2dDV29zQUFBRWZ5QUVJQXBxSUFVNkFBQWdCRUVCYWlFRURBRUZRUUFoQTBFQUlRVWdDZ3NMSVFZTEN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnZzJBZ1FGSUFBb0FnUWhDQXNnQUNrRGVDQUlJQUFvQWdocnJId2lGVkFnREVFQmN5QVZJQlpSY2tWeURRc2dFQVJBSUJFRVFDQUtJQU0yQWdBRklBb2dCallDQUFzTElBeEZCRUFnQXdSQUlBUkJBblFnQTJwQkFEWUNBQXNnQmtVRVFFRUFJUVlNQ0FzZ0JDQUdha0VBT2dBQUN3d0dDMEVRSVFRTUJBdEJDQ0VFREFNTFFRb2hCQXdDQzBFQUlRUU1BUXNnQUNBT1FRQVFrZ01oRnlBQUtRTjRRZ0FnQUNnQ0JDQUFLQUlJYTZ4OVVRMEdJQW9FUUFKQUFrQUNRQ0FPRGdNQUFRSUZDeUFLSUJlMk9BSUFEQVFMSUFvZ0Z6a0RBQXdEQ3lBS0lCYzVBd0FNQWdzTUFRc2dBQ0FFUVFCQ2Z4Q1RBeUVWSUFBcEEzaENBQ0FBS0FJRUlBQW9BZ2hyckgxUkRRVWdERUh3QUVZZ0NrRUFSM0VFUUNBS0lCVStBZ0FGSUFvZ0RpQVZFSlFEQ3dzZ0R5QUtRUUJIYWlFUElBQW9BZ1FnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFNQWdzTElBQkNBQkNDQVNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lFRElBTWdBU0FIYWlJQkxRQUFSdzBFSUJSQ0FYd2hGQXNMSUFGQkFXb2lBU3dBQUNJTERRRU1CZ3NMREFNTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQU5CZjBvZ0QzSU5BMEVBSVFzTUFRc2dEMFVOQUF3QkMwRi9JUThMSUFzRVFDQUdFRGdnQlJBNEN3c0xJQWtrQmlBUEN3c0FJQUFnQVNBQ0VJd0ZDM2tCQlg4Z0FDZ0NCQ0VGSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWYwRUFJUU1nQVNnQ0FDRUVBMEFnQXlBR1NBUkFJQUFnQUNzREFDQUVLd01Bb1RrREFDQURRUUZxSVFNZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzTEx3RUNmeUFBRUtzQ0lnRW9BZ0EyQWpnZ0FTZ0NBQ0lDQkVBZ0FpQUFOZ0kwQ3lBQklBQTJBZ0JCcU1VREVBNEw2d0lCQjM4akJpRURJd1pCTUdva0JpQURRUmhxSVFRZ0EwRUlhaUVGSUFOQktHb2hCa0g2L1FJZ0FTd0FBQkMvQVFSQVFaZ0pFRVFpQWdSQUlBSkJBRUdRQVJCRkdnSi9JQUZCS3hDL0FVVWhDQ0FCTEFBQUlRRWdDQXNFUUNBQ1FRaEJCQ0FCUWZJQVJoczJBZ0FMSUFGQjRRQkdCRUFnQXlBQU5nSUFJQU5CQXpZQ0JFSGRBU0FERUJraUFVR0FDSEZGQkVBZ0JTQUFOZ0lBSUFWQkJEWUNCQ0FGSUFGQmdBaHlOZ0lJUWQwQklBVVFHUm9MSUFJZ0FpZ0NBRUdBQVhJaUFUWUNBQVVnQWlnQ0FDRUJDeUFDSUFBMkFqd2dBaUFDUVpnQmFqWUNMQ0FDUVlBSU5nSXdJQUpCZnpvQVN5QUJRUWh4UlFSQUlBUWdBRFlDQUNBRVFaT29BVFlDQkNBRUlBWTJBZ2hCTmlBRUVETkZCRUFnQWtFS09nQkxDd3NnQWtFQ05nSWdJQUpCQVRZQ0pDQUNRUUUyQWlnZ0FrRUNOZ0lNUWVqRUF5Z0NBRVVFUUNBQ1FYODJBa3dMSUFJUWx3VUZRUUFoQWdzRlFhVEZBMEVjTmdJQUN5QURKQVlnQWd0d0FRSi9JQUJCS3hDL0FVVWhBU0FBTEFBQUlnSkI4Z0JIUVFJZ0FSc2lBU0FCUVlBQmNpQUFRZmdBRUw4QlJSc2lBU0FCUVlDQUlISWdBRUhsQUJDL0FVVWJJZ0FnQUVIQUFISWdBa0h5QUVZYklnQkJnQVJ5SUFBZ0FrSDNBRVliSWdCQmdBaHlJQUFnQWtIaEFFWWJDL2dCQWdaL0FYd2dBQ2dDQkNJSFFRRklJQUFvQWdnaUEwRUJTSElFZjBGL0JTQURJQUVvQWdSR0JIOERRQ0FDSUFOSEJFQWdBU2dDQUNBQ1FRTjBha1FBQUFBQUFBQUFBRGtEQUNBQ1FRRnFJUUlNQVFzTElBQW9BZ0FoQUFOQUlBVWdCMGNFUUVFQUlRWWdBU2dDQUNFRUlBQWhBZ05BSUFNZ0JrY0VRQ0FFSUFJckF3QWdCQ3NEQUtBNUF3QWdCa0VCYWlFR0lBUkJDR29oQkNBQ1FRaHFJUUlNQVFzTElBTkJBM1FnQUdvaEFDQUZRUUZxSVFVTUFRc0xJQWUzSVFoQkFDRUFBMzhnQUNBRFJnUi9RUUFGSUFFb0FnQWdBRUVEZEdvaUFpQUNLd01BSUFpak9RTUFJQUJCQVdvaEFBd0JDd3NGUVg4TEN3dnNBZ0VMZnlBQUtBSUlJQUFvQWdCQm90cnYxd1pxSWdZUXNRRWhCQ0FBS0FJTUlBWVFzUUVoQlNBQUtBSVFJQVlRc1FFaEF5QUVJQUZCQW5aSkJIOGdCU0FCSUFSQkFuUnJJZ2RKSUFNZ0IwbHhCSDhnQXlBRmNrRURjUVIvUVFBRkFuOGdCVUVDZGlFSkFuOGdBMEVDZGlFTlFRQWhCUU5BQWtBZ0NTQUZJQVJCQVhZaUIyb2lDMEVCZENJTWFpSURRUUowSUFCcUtBSUFJQVlRc1FFaENFRUFJQU5CQVdwQkFuUWdBR29vQWdBZ0JoQ3hBU0lESUFGSklBZ2dBU0FEYTBseFJRMERHa0VBSUFBZ0F5QUlhbW9zQUFBTkF4b2dBaUFBSUFOcUVMTUJJZ05GRFFBZ0EwRUFTQ0VEUVFBZ0JFRUJSZzBER2lBRklBc2dBeHNoQlNBSElBUWdCMnNnQXhzaEJBd0JDd3NnRFNBTWFpSUNRUUowSUFCcUtBSUFDeUFHRUxFQklRUWdBa0VCYWtFQ2RDQUFhaWdDQUNBR0VMRUJJZ0lnQVVrZ0JDQUJJQUpyU1hFRWYwRUFJQUFnQW1vZ0FDQUNJQVJxYWl3QUFCc0ZRUUFMQ3dzRlFRQUxCVUVBQ3dzK0FRRi9JQUFvQWtRRVFDQUFLQUtFQVNJQkJFQWdBU0FBS0FLQUFUWUNnQUVMSUFBb0FvQUJJZ0FFZnlBQVFZUUJhZ1ZCbElvQkN5QUJOZ0lBQ3d2cUFnSURmd0Y4SUFBb0FnUWlCaUFBS0FJSUlnVWdCaUFGU0JzaEJDQUdRUUpJSUFWQkFraHlCRUJCZnlFQUJTQUJLQUlJSUFWR0JFQWdBU2dDQkNBRVJnUkFJQUlvQWdRZ0JFWUVRQ0FES0FJRUlBVkdCRUFnQUJEZkJTSUVCRUFDUUNBRUlBTVFtZ1ZCQUVnRVFDQUVFRWxCZnlFQURBRUxJQVFnQXhDV0JVRUFTQVJBSUFRUVNVRi9JUUFNQVFzZ0JyZWZJUWNnQlNBR2JDRURRUUFoQUFOQUlBQWdBMGdFUUNBRUtBSUFJQUJCQTNScUlnVWdCU3NEQUNBSG96a0RBQ0FBUVFGcUlRQU1BUXNMSUFRZ0FTQUNFSkVGSVFBZ0JCQkpJQUlvQWdRaEEwUUFBQUFBQUFBQUFDRUhRUUFoQVFOQUlBRWdBMGdFUUNBSElBSW9BZ0FnQVVFRGRHb3JBd0NnSVFjZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQWlnQ0FDQUJRUU4wYWlJRUlBUXJBd0FnQjZNNUF3QWdBVUVCYWlFQkRBRUxDd3NGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzTElBQUxCQUJDQUF2aEFRRUVmeU1HSVFRakJrRWdhaVFHSUFRZ0FUWUNBQ0FFSUFJZ0FDZ0NNQ0lEUVFCSGF6WUNCQ0FFSUFBb0FpdzJBZ2dnQkNBRE5nSU1Ba0FDUUNBQUtBSThJQVJCQWlBRVFSQnFJZ01RTVJDc0FnUkFJQU5CZnpZQ0FFRi9JUUlNQVFVZ0F5Z0NBQ0lEUVFGSUJFQWdBeUVDREFJRklBTWdCQ2dDQkNJR1N3UkFJQUFnQUNnQ0xDSUZOZ0lFSUFBZ0JTQURJQVpyYWpZQ0NDQUFLQUl3QkVBZ0FDQUZRUUZxTmdJRUlBRWdBa0YvYW1vZ0JTd0FBRG9BQUFzRklBTWhBZ3NMQ3d3QkN5QUFJQUFvQWdBZ0FrRXdjVUVRYzNJMkFnQUxJQVFrQmlBQ0N3WUFRYVRGQXd0R0FnRi9BWDRqQmlFREl3WkJFR29rQmlBQUtBSThJQUduSUFGQ0lJaW5JQUpCL3dGeElBTVFIUkNzQWdSK0lBTkNmemNEQUVKL0JTQURLUU1BQ3lFRUlBTWtCaUFFQzdjQ0FRZC9Jd1loQmlNR1FTQnFKQVlnQmtFUWFpRUhJQVlpQXlBQUtBSWNJZ1EyQWdBZ0F5QUFLQUlVSUFScklnVTJBZ1FnQXlBQk5nSUlJQU1nQWpZQ0RFRUNJUVFnQWlBRmFpRUZJQU1oQVFKQUFrQURRQ0FBS0FJOElBRWdCQ0FIRURBUXJBSUVmeUFIUVg4MkFnQkJmd1VnQnlnQ0FBc2lBeUFGUndSQUlBTkJBRWdOQWlBQlFRaHFJQUVnQXlBQktBSUVJZ2hMSWdrYklnRWdBeUFJUVFBZ0NSdHJJZ2dnQVNnQ0FHbzJBZ0FnQVNBQktBSUVJQWhyTmdJRUlBUWdDVUVmZEVFZmRXb2hCQ0FGSUFOcklRVU1BUXNMSUFBZ0FDZ0NMQ0lCSUFBb0FqQnFOZ0lRSUFBZ0FUWUNIQ0FBSUFFMkFoUU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUFLQUlBUVNCeU5nSUFJQVJCQWtZRWYwRUFCU0FDSUFFb0FnUnJDeUVDQ3lBR0pBWWdBZ3NPQUNBQUtBSThFQmhCLy84RGNRdW1BZ0VDZndKQUFrQWdBQ2dDRkNJQlFiTitha0VDVHcwQUlBQkJRR3NvQWdBTkFDQUFLQUtNQVNBQUtBSjBTUVJBSUFBb0FnQWlBVUhGQURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fyd0RLQUlFSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUVIU0FUWUNGQXdCQ3dKQUFrQWdBVUhQQVdzT0JBQUJBUUlCQ3lBQVFkSUJOZ0lVREFFTElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dESWdFb0FoUkZCRUFDUUFOQUFrQWdBU2dDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0N6QU1pQVNnQ0ZFVU5BUXdDQ3d0QkFBOExDeUFBS0FJWUtBSVlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkNkQTBFQkMvMEdBUVIvQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaFFpQVVISUFXc09Dd0FCQXdJQ0FnSUNBZ1FDQkFzZ0FFSE1BMm9pQVNnQ0FDZ0NCQ0VDSUFBZ0FrSC9BWEZCckFOcUVRRUFJQUFvQWhnb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFDQUFRY2tCTmdJVURBUUxJQUJCekFOcUlRRU1Bd3NnQUNnQ3pBTW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFEd3RCQVE4TElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkFBOExJQUVvQWdBb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBVWNFUUNBQkR3c0NRQUpBQWtBQ1FBSkFJQUFvQWlRaUFVRUJhdzRFQUFNQkFnTUxJQUVoQWd3REN5QUFLQUxZQVNJREtBSUFJUUVnQXlnQ3NBRWlBa0VEUmlBQlFRRkdJZ1FnQXlnQ1dDSURRUUpHY1hFRWYwRURJUUpCQWdVZ0JDQURRU0pHY1NBQ1FTTkdjUVIvUVFjaEFrRUNCU0FCUWRJQVJpQURRY2NBUm5FZ0FrSENBRVp4Qkg5QkFpRUNRUUlGSUFGQjhnQkdJQU5CNXdCR2NTQUNRZUlBUm5FRWYwRUdJUUpCQWdVZ0FDZ0NuQUlFZjBFRElRSkJBZ1VnQUNnQ3FBSkZCRUFnQUNnQ0FDSUVJQUUyQWhnZ0JDQUROZ0ljSUFRZ0FqWUNJQ0FFUWZFQU5nSVVJQVFvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdCQkFpRUJRUU1oQWd3SUN3SkFBa0FDUUNBQUxBQ3NBaUlCRGdJQUFRSUxRUUloQVVFQ0lRSU1DUXRCQWlFQlFRTWhBZ3dJQ3lBQUtBSUFJZ0pCOUFBMkFoUWdBaUFCUWY4QmNUWUNHQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFRUUloQVVFRElRSU1Cd3NMQ3dzTElRRU1BZ3NnQUNnQ3FBSUVmd0pBQWtBQ1FDQUFMQUNzQWlJQkRnTUFBZ0VDQzBFRUlRRkJCQ0VDREFRTFFRUWhBVUVGSVFJTUF3c2dBQ2dDQUNJQ1FmUUFOZ0lVSUFJZ0FVSC9BWEUyQWhnZ0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFRUlRRkJCU0VDREFJRlFRUWhBa0VFQ3lFQkRBRUxRUUFoQVVFQUlRSUxJQUFnQWpZQ0tDQUFJQUUyQWl3Z0FDQUFLQUtzQXlJQk5nSXdJQUFnQVRZQ05DQUFSQUFBQUFBQUFQQS9PUU00SUFCQlFHdEJBRFlDQUNBQVFRQTJBa1FnQUVFQU5nSklJQUJCQVRZQ1RDQUFRUUUyQWxBZ0FFRUFOZ0pVSUFCQkFqWUNXQ0FBUVFFMkFsd2dBRUdBQWpZQ1lDQUFRUUEyQW9nQklBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNJQUJCeWdFMkFoUkJBUXVOQVFFQ2Z5QUFLQUlVSWdKQmZuRkJ5QUZIQkVBZ0FDZ0NBQ0lEUVJVMkFoUWdBeUFDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzQ1FBSkFBa0FnQUJDbEJTSUNRUUZyRGdJQUFRSUxRUUVQQ3lBQkJFQWdBQ2dDQUNJQlFUVTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFFSjBEUVFJUEN5QUNDd2NBSUFBUW5nTUxud0lCQW44Z0FFRUFOZ0lFSUFGQjJnQkhCRUFnQUNnQ0FDSURRUTAyQWhRZ0EwSGFBRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FlZ0RSd1JBSUFBb0FnQWlBVUVXTmdJVUlBRkI2QU0yQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzQ2Z5QUFJUVFnQUNnQ0FDRUNJQUFvQWd3aEF5QUFRUVJxUVFCQjVBTVFSUm9nQUNBQ05nSUFJQUFnQXpZQ0RDQUFRUUUyQWhBZ0JBc1F3Z1VnQUVFQU5nSUlJQUJCQURZQ0dDQUFRUUEyQXJnQ0lBQkNBRGNDcEFFZ0FFSUFOd0tzQVNBQVFnQTNBclFCSUFCQ0FEY0N2QUVnQUVJQU53TEVBU0FBUWdBM0Fzd0JJQUFRdUFVZ0FCQ1FCaUFBUWNnQk5nSVVDeFVBSUFBb0FnQWlBRUVBTmdKc0lBQkJBRFlDRkF2cEFnRUtmeU1HSVFZakJrRXdhaVFHSUFaQkNHb2hCQUpBQWtBQ2Z5QUFLQUlBSWdJb0FoUWlBMEVBU2dSQUlBTWdBaWdDZEV3RVFDQUNLQUp3SUFOQkFuUnFEQUlMQ3lBQ0tBSjRJZ1ZGRFFFZ0F5QUNLQUo4SWdCSURRRWdBeUFDS0FLQUFVb05BU0FESUFCclFRSjBJQVZxQ3lnQ0FDSUZSUTBBREFFTElBSWdBellDR0NBQ0tBSndLQUlBSVFVTElBVWhBQUpBQWtBRFFBSkFJQUJCQVdvaEF3SkFJQUFzQUFBaUFBUkFJQUJCSlVZRVFBd0ZCUXdDQ3dBTERBRUxJQU1oQUF3QkN3c01BUXNnQXl3QUFFSHpBRVlFUUNBR0lBSkJHR28yQWdBZ0FTQUZJQVlRdkFFZ0JpUUdEd3NMSUFJb0Fod2hCeUFDS0FJZ0lRZ2dBaWdDSkNFSklBSW9BaWdoQ2lBQ0tBSXNJUXNnQWlnQ01DRURJQUlvQWpRaEFDQUVJQUlvQWhnMkFnQWdCQ0FITmdJRUlBUWdDRFlDQ0NBRUlBazJBZ3dnQkNBS05nSVFJQVFnQ3pZQ0ZDQUVJQU0yQWhnZ0JDQUFOZ0ljSUFFZ0JTQUVFTHdCSUFZa0JndE9BUU4vSXdZaEFTTUdRZEFCYWlRR0lBQW9BZ0FvQWd3aEFpQUFJQUVnQWtFL2NVR3lCV29SQXdBQ2YwR2tpQUVvQWdBaEF5QUJRY2dCYWlJQ0lBRTJBZ0FnQXdzZ0FoQ0xCU0FCSkFZTGVRRUJmeUFBS0FJQUlRSWdBVUVBVGdSQUlBSW9BbWdnQVVnRVFBOExJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUE4TEFrQUNRQ0FDS0FKc0lnRkZEUUFnQWlnQ2FFRUNTZzBBREFFTElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FDS0FKc0lRRUxJQUlnQVVFQmFqWUNiQXNtQVFGL0lBQW9BZ0FvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUVKNERRUUVRQVF0bEFDQUFRWXdCTmdJQUlBQkJOVFlDQkNBQVFZMEJOZ0lJSUFCQk5qWUNEQ0FBUVk0Qk5nSVFJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0lVSUFCQmdCZzJBbkFnQUVIK0FEWUNkQ0FBUVFBMkFuZ2dBRUVBTmdKOElBQkJBRFlDZ0FFZ0FBc3JBUUYvSUFBb0FnUW9BZ0FoQVNBQVFRQkJoQUVnQVVFL2NVSEtBV29SQkFBaUFFRUFOZ0tBQVNBQUN5c0JBWDhnQUNnQ0JDZ0NBQ0VCSUFCQkFFR1lBaUFCUVQ5eFFjb0JhaEVFQUNJQVFRQTJBcFFDSUFBTHR3WUJCbjhnQWlBRGFpRUVBa0FDUUFKQUFrQWdBa0VOU3dSQUlBRXNBQUJCeWdCR0JFQWdBU3dBQVVIR0FFY05BaUFCTEFBQ1Fja0FSdzBDSUFFc0FBTkJ4Z0JIRFFJZ0FTd0FCQTBDSUFCQkFUWUNuQUlnQUNBQkxBQUZJZ2M2QUtBQ0lBQWdBU3dBQmlJSU9nQ2hBaUFBSUFFc0FBY2lDVG9Bb2dJZ0FDQUJMUUFKSUFFdEFBaEJDSFJ5SWdZN0FhUUNJQUFnQVMwQUN5QUJMUUFLUVFoMGNpSURPd0dtQWlBSFFYOXFRUmgwUVJoMVFmOEJjVUVDVGdSQUlBQW9BZ0FpQWtINkFEWUNGQ0FDSUFkQi93RnhOZ0lZSUFBb0FnQWdBQzBBb1FJMkFod2dBQ2dDQUNnQ0JDRUNJQUJCZnlBQ1FUOXhRYklGYWhFREFDQUFMQUNnQWlFSElBQXNBS0VDSVFnZ0FDNEJwQUloQmlBQUxnR21BaUVESUFBc0FLSUNJUWtMSUFBaEFpQUFLQUlBSWdVZ0IwSC9BWEUyQWhnZ0JTQUlRZjhCY1RZQ0hDQUZJQVpCLy84RGNUWUNJQ0FGSUFOQi8vOERjVFlDSkNBRklBbEIvd0Z4TmdJb0lBVkIyUUEyQWhRZ0JTZ0NCQ0VESUFKQkFTQURRVDl4UWJJRmFoRURBQ0FCTEFBTUlnWWdBU3dBRFNJRGNrSC9BWEVFUUNBQUtBSUFJZ05CM0FBMkFoUWdBeUFCTFFBTU5nSVlJQUFvQWdBZ0FTMEFEVFlDSENBQUtBSUFLQUlFSVFNZ0FrRUJJQU5CUDNGQnNnVnFFUU1BSUFFc0FBd2hCaUFCTEFBTklRTUxJQVpCL3dGeFFRTnNJQU5CL3dGeGJDQUVRWEpxSWdOR0JFQVBDeUFBS0FJQUlnRkIyZ0EyQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ1FoQUNBQ1FRRWdBRUUvY1VHeUJXb1JBd0FQQ3dVZ0FrRUZTd1JBSUFFc0FBQkJ5Z0JHRFFJTEN3d0JDeUFCTEFBQlFjWUFSZ1JBSUFFc0FBSkIyQUJHQkVBZ0FTd0FBMEhZQUVZRVFDQUJMQUFFUlFSQUFrQUNRQUpBQWtBZ0FTd0FCVUVRYXc0RUFBRURBZ01MSUFBb0FnQWlBVUh1QURZQ0ZBd0lDeUFBS0FJQUlnRkI3d0EyQWhRTUJ3c2dBQ2dDQUNJQlFmQUFOZ0lVREFZTElBQW9BZ0FpQWtIYkFEWUNGQ0FDSUFFdEFBVTJBaGdnQUNnQ0FDQUVOZ0ljREFZTEN3c0xDeUFBS0FJQUlnRkJ6d0EyQWhRZ0FTQUVOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FQQ3lBQklBUTJBaGdMSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FMeWdVQkNYOGpCaUVDSXdaQkVHb2tCZ0pBSUFBb0FoZ2lCQ2dDQkNJRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXdzZ0JDZ0NBQ0lHUVFGcUlRRWdCaTBBQUNFRklBTkJmMm9pQTBVRVFDQUVLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUFJUUVnQkNnQ0JDRURDeUFEUVg5cUlRTWdBVUVCYWlFR1FRNGdBUzBBQUNBRlFmOEJjVUVJZEhJaUFVRithaUlIUVFBZ0FVRUNTeHNnQVVFUFN4c2lCUVJBQWtCQkFDRUJBMEFDUUNBRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFJUVlMSUFFZ0Ftb2dCaXdBQURvQUFDQURRWDlxSVFNZ0JrRUJhaUVHSUFGQkFXb2lBU0FGU1EwQkRBSUxDd3dDQ3dzZ0J5QUZheUVJQWtBQ1FBSkFJQUFvQXJnRElnRkI0QUZySWdrRVFDQUpRUTVHQkVBTUFnVU1Bd3NBQ3lBQUlBSWdCU0FJRUxFRkRBSUxJQUlzQUFCQndRQkdJQVZCQzB0eEJFQWdBaXdBQVVIa0FFWUVRQ0FDTEFBQ1FlOEFSZ1JBSUFJc0FBTkI0Z0JHQkVBZ0Fpd0FCRUhsQUVZRVFDQUNMUUFJSUFJdEFBZEJDSFJ5SVFjZ0FpMEFDaUFDTFFBSlFRaDBjaUVKSUFJc0FBc2hCU0FBS0FJQUlnRWdBaTBBQmlBQ0xRQUZRUWgwY2pZQ0dDQUJJQWMyQWh3Z0FTQUpOZ0lnSUFFZ0JVSC9BWEUyQWlRZ0FVSE9BRFlDRkNBQktBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUJCQVRZQ3FBSWdBQ0FGT2dDc0Fnd0dDd3NMQ3dzZ0FDZ0NBQ0lCUWRBQU5nSVVJQUVnQnpZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQURBRUxJQUFvQWdBaUJVSEdBRFlDRkNBRklBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFFSUFZMkFnQWdCQ0FETmdJRUlBaEJBRXdFUUNBQ0pBWkJBUThMSUFBb0FoZ29BaEFoQXlBQUlBZ2dBMEUvY1VHeUJXb1JBd0FnQWlRR1FRRVBDeUFDSkFaQkFBdU1BZ0VHZnlBQUtBSVlJZ0lvQWdRaUFVVUVRQ0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUFSL0lBSW9BZ1FGUVFBUEN5RUJDeUFDS0FJQUlnTkJBV29oQkNBRExRQUFJUU1nQVVGL2FpSUJSUVJBSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQUJIOGdBaWdDQUNFRUlBSW9BZ1FGUVFBUEN5RUJDeUFFTFFBQUlBTkIvd0Z4UVFoMGNpSUdRWDVxSVFVZ0FDZ0NBQ0lEUWQwQU5nSVVJQU1nQUNnQ3VBTTJBaGdnQUNnQ0FDQUZOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQWlBRVFRRnFOZ0lBSUFJZ0FVRi9hallDQkNBR1FRSk5CRUJCQVE4TElBQW9BaGdvQWhBaEFTQUFJQVVnQVVFL2NVR3lCV29SQXdCQkFRdUJBUUVHZnlBQUtBSUVJZ1VnQVNnQ0JFWUVmeUFBS0FJSUlnUWdBU2dDQ0VZRWZ3Ti9JQUlnQlVnRWZ5QUNJQVJzSVFaQkFDRURBMEFnQXlBRVNBUkFJQUFvQWdBZ0F5QUdhaUlIUVFOMGFpQUJLQUlBSUFkQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQzZrQkFRSi9JQUFvQXJnRElnRkZCRUFnQUJDeEFnUi9JQUFvQXJnREJVRUFEd3NoQVFzZ0FDZ0MwQU1vQWhRaUFrSFFBV29nQVVZRVFDQUFLQUlBSWdGQjVBQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBU0FBUVFNZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF3VWdBQ2dDR0NnQ0ZDRUJJQUFnQWlBQlFUOXhRWW9CYWhFQ0FFVUVRRUVBRHdzTElBQW9BdEFESWdBZ0FDZ0NGRUVCYWtFSGNUWUNGRUVCQzZSVUFTbC9Jd1loS1NNR1FZQUNhaVFHSUNraENpQUFLQUs0QXlFQkEwQUNRQ0FCUlFSQUFuOGdBQ2dDMEFNb0Fnd0VRQ0FBRUxFQ1JRUkFRZDRDSVFFTUJBc2dBQ2dDdUFNTUFRc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUJFRUJhaUVDSUFRc0FBQWhBeUFCUVg5cUlnUUVmeUFDQlNBR0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBUUxJQVlvQWdRaEJDQUdLQUlBQ3lFQklBTkIvd0Z4SVFVZ0FTd0FBQ0lIUWY4QmNTRUNJQU5CZjBjZ0IwRllSM0lFUUNBQUtBSUFJZ05CTnpZQ0ZDQURJQVUyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDQUNOZ0s0QXlBR0lBRkJBV28yQWdBZ0JpQUVRWDlxTmdJRUlBSUxJUUVMQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUJRUUZyRHY0QkVCSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSURCQVVJQ2dnSUNBZ0dCd2dKQ0FnSUVCQVFFQkFRRUJBQ0FRQUxFUXdTRWc0T0RnNE9EZzRPRGc0T0RnNE9EZzRTRWhJU0VoSVNFZzBTRWhJU0VnOFNDMEVaSVFFTUV3dEJ5d0FoQVF3U0N5QUFLQUlBSWdGQjZBQTJBaFFnQVNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUxRQTBFTWFpSUJLQUlBQkVBZ0FDZ0NBQ0lCUWNBQU5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBMEVNYWlFQkN5QUFRZ0EzQU9nQklBQkNBRGNBOEFFZ0FFS0Jnb1NJa0tEQWdBRTNBUGdCSUFCQ2dZS0VpSkNnd0lBQk53Q0FBaUFBUW9XS2xLalFvTUdDQlRjQWlBSWdBRUtGaXBTbzBLREJnZ1UzQUpBQ0lBQkJBRFlDbUFJZ0FFRUFOZ0lvSUFCQkFEWUNzQUlnQUVFQU5nSzBBaUFBUVFBMkFwd0NJQUJCQVRvQW9BSWdBRUVCT2dDaEFpQUFRUUE2QUtJQ0lBQkJBVHNCcEFJZ0FFRUJPd0dtQWlBQVFRQTJBcWdDSUFCQkFEb0FyQUlnQVVFQk5nSUFEQkFMSUFCQkFVRUFRUUFRMkFGRkJFQkIzZ0loQVF3UkN3d1BDeUFBUVFCQkFFRUFFTmdCUlFSQVFkNENJUUVNRUFzTURnc2dBRUVBUVFGQkFCRFlBVVVFUUVIZUFpRUJEQThMREEwTElBQkJBRUVBUVFFUTJBRkZCRUJCM2dJaEFRd09Dd3dNQ3lBQVFRQkJBVUVCRU5nQlJRUkFRZDRDSVFFTURRc01Dd3NnQUNnQ0FDSUNRVDgyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdLQ3lBQUtBSVlJZ01vQWdRaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVFzZ0F5Z0NBQ0lFUVFGcUlRSWdCQzBBQUNFRUlBRkJmMm9pQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBU0FES0FJQUlRSUxJQUl0QUFBZ0JFSC9BWEZCQ0hSeUlnWkJmbW9oQkNBQlFYOXFJUUVnQWtFQmFpRUNJQVpCQWtzRVFBTi9JQUZGQkVBZ0F5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFES0FJRUlRRWdBeWdDQUNFQ0N5QUNRUUZxSVFZZ0FpMEFBQ0VGSUFGQmYyb2lBa1VFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBNExJQU1vQWdRaEFpQURLQUlBSVFZTElBWXNBQUFpQ1VIL0FYRWhCeUFBS0FJQUlnRkIwUUEyQWhRZ0FTQUZRZjhCY1NJQk5nSVlJQUFvQWdBZ0J6WUNIQ0FBS0FJQUtBSUVJUWdnQUVFQklBaEJQM0ZCc2dWcUVRTUFBa0FDUUNBRlFmOEJjVUVmU2dSQUlBQW9BZ0FpQlVFZE5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTUFRVWdCVUgvQVhGQkQwb05BU0FCSUFCQjZBRnFhaUFIUVE5eElnVTZBQUFnQVNBQVFmZ0JhbW9nQ1VIL0FYRkJCSFlpQVRvQUFDQUZJQUZMQkVBZ0FDZ0NBQ0lCUVI0MkFoUWdBU0FITmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTERBRUxJQUFnQVdwQitBRnFJQWs2QUFBTElBUkJmbW9oQVNBQ1FYOXFJUUlnQmtFQmFpRUdJQVJCQWtvRWZ5QUJJUVFnQWlFQklBWWhBZ3dCQlNBQklRUWdBaUVCSUFZTEN5RUNDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRElBSTJBZ0FnQXlBQk5nSUVEQWtMSUFBb0FoZ2lCU2dDQkNJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCQ3lBRktBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VTU3dSQUEwQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFTQUZLQUlBSVFJTElBSXRBQUFoQnlBQUtBSUFJZ1pCMGdBMkFoUWdCaUFITmdJWUlBQW9BZ0FvQWdRaEJpQUFRUUVnQmtFL2NVR3lCV29SQXdBZ0FrRUJhaUVHSUFGQmYyb2lBZ1IvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBTElnRXNBQUFoQ1NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VJSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhEU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVFJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSRWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEVpQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFVElBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJRZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRlNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VXSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUmNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhHQ0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVpJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSb2dBVUVCYWlFR0lBSkJmMm9pQVFSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VCSUFVb0FnQUxJUUlnQWl3QUFDSW5RZjhCY1NJb0lCcEIvd0Z4SWlZZ0dVSC9BWEVpSlNBWVFmOEJjU0lrSUJkQi93RnhJaU1nRmtIL0FYRWlJaUFWUWY4QmNTSWhJQlJCL3dGeElpQWdFMEgvQVhFaUh5QVNRZjhCY1NJZUlCRkIvd0Z4SWgwZ0VFSC9BWEVpSENBTlFmOEJjU0liSUF0Qi93RnhJZzhnQ1VIL0FYRWlEaUFJUWY4QmNTSU1hbXBxYW1wcWFtcHFhbXBxYW1wcUlRWWdBQ2dDQUNJRElBNDJBaGdnQXlBTU5nSWNJQU1nRHpZQ0lDQURJQnMyQWlRZ0F5QWNOZ0lvSUFNZ0hUWUNMQ0FESUI0MkFqQWdBeUFmTmdJMElBTkIyQUEyQWhRZ0F5Z0NCQ0VESUFCQkFpQURRVDl4UWJJRmFoRURBQ0FBS0FJQUlnTWdJRFlDR0NBRElDRTJBaHdnQXlBaU5nSWdJQU1nSXpZQ0pDQURJQ1EyQWlnZ0F5QWxOZ0lzSUFNZ0pqWUNNQ0FESUNnMkFqUWdBMEhZQURZQ0ZDQURLQUlFSVFNZ0FFRUNJQU5CUDNGQnNnVnFFUU1BSUFSQmIyb2lEaUFHU0NBR1FZQUNTM0lFUUNBQUtBSUFJZ1JCQ1RZQ0ZDQUVLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMSUFGQmYyb2hBU0FDUVFGcUlRSWdDa0VBUVlBQ0VFVWFJQVlFUUVFQUlRUURRQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdQQ3lBRktBSUVJUUVnQlNnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFQ0lBUWdDbW9nQXl3QUFEb0FBQ0FFUVFGcUlnUWdCa2tOQUFzRlFRQWhCZ3NnQnlBSFFYQnFJZ1FnQjBFUWNVVWlBeHNpREVFRFN3UkFJQUFvQWdBaUQwRWZOZ0lVSUE4Z0REWUNHQ0FBS0FJQUtBSUFJUXdnQUNBTVFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBZEJBblJxSUFCQnhBRnFJQVJCQW5ScUlBTWJJZ01vQWdBaUJFVUVRQ0FESUFBUXNBVWlCRFlDQUFzZ0JFRUFPZ0FBSUFRZ0NUb0FBU0FFSUFnNkFBSWdCQ0FMT2dBRElBUWdEVG9BQkNBRUlCQTZBQVVnQkNBUk9nQUdJQVFnRWpvQUJ5QUVJQk02QUFnZ0JDQVVPZ0FKSUFRZ0ZUb0FDaUFFSUJZNkFBc2dCQ0FYT2dBTUlBUWdHRG9BRFNBRUlCazZBQTRnQkNBYU9nQVBJQVFnSnpvQUVDQURLQUlBUVJGcUlBcEJnQUlRVEJvZ0RpQUdheUlFUVJCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRklBSTJBZ0FnQlNBQk5nSUVEQWdMSUFBb0FoZ2lDQ2dDQkNJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCQ3lBSUtBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJJQWdvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VDU3dSQUEwQWdBUVIvSUFFaEJTQUNCU0FJS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBZ29BZ1FoQlNBSUtBSUFDeUlHTFFBQUlnRkJCSFloQWlBQUtBSUFJZ05CMHdBMkFoUWdBeUFCUVE5eElnRTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQVVFRFN3UkFJQUFvQWdBaUEwRWdOZ0lVSUFNZ0FUWUNHQ0FBS0FJQUtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUJCcEFGcUlBRkJBblJxSWdFb0FnQWlBMFVFUUNBQklBQVFyd1VpQXpZQ0FBc2dCRUYvYWlFSkFuOENmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FDUVFCSElnc0VmeUFFUVlFQlRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKUVFGMUJTQUVRY0VBVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpDeUlCUVFSckRpNEFCZ1lHQmdFR0JnWUdCZ1lDQmdZR0JnWUdCZ1lEQmdZR0JnWUdCZ1lHQmdRR0JnWUdCZ1lHQmdZR0JnWUZCZ3RCd0NVaEFnd0dDMEhRSkNFQ0RBVUxRZEFqSVFJTUJBdEJvQ0loQWd3REMwSFFJQ0VDREFJTFFjQWVJUUlNQVFzZ0JVRi9haUVDSUFaQkFXb2hCaUFCUVFCS0JFQkJnQndoQnlBR0RBTUZJQUVoQkNBQ0lRRWdCZ3dFQ3dBTElBSWhCeUFGUVg5cUlRSWdCa0VCYWd3QkMwR0FIQ0VIUWNBQUlRRWdCVUYvYWlFQ0lBWkJBV29MSVFRZ0MwVUVRRUVBSVFVRFFDQUNSUVJBSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUR3c2dDQ2dDQkNFQ0lBZ29BZ0FoQkFzZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFPd0VBSUFKQmYyb2hBaUFFUVFGcUlRWWdCVUVCYWlJRklBRklCRUFnQmlFRURBRUZJQUVoQkNBQ0lRRWdCZ3dEQ3dBQUN3QUxRUUFoQlFOL0lBSkZCRUFnQ0NnQ0RDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QUlLQUlFSVFJZ0NDZ0NBQ0VFQ3lBRVFRRnFJUVlnQkMwQUFDRU5JQUpCZjJvaUFnUi9JQVlGSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTURnc2dDQ2dDQkNFQ0lBZ29BZ0FMSVFRZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFJQTFCL3dGeFFRaDBjanNCQUNBQ1FYOXFJUUlnQkVFQmFpRUdJQVZCQVdvaUJTQUJTQVIvSUFZaEJBd0JCU0FCSVFRZ0FpRUJJQVlMQ3dzaEFpQUFLQUlBSWdVb0FtaEJBVW9FUUFKQVFRQWhCZ05BSUFVZ0JrRUJkQ0FEYWk4QkFEWUNHQ0FGSUFaQkFYSkJBWFFnQTJvdkFRQTJBaHdnQlNBR1FRSnlRUUYwSUFOcUx3RUFOZ0lnSUFVZ0JrRURja0VCZENBRGFpOEJBRFlDSkNBRklBWkJCSEpCQVhRZ0Eyb3ZBUUEyQWlnZ0JTQUdRUVZ5UVFGMElBTnFMd0VBTmdJc0lBVWdCa0VHY2tFQmRDQURhaThCQURZQ01DQUZJQVpCQjNKQkFYUWdBMm92QVFBMkFqUWdCVUhmQURZQ0ZDQUZLQUlFSVFVZ0FFRUNJQVZCUDNGQnNnVnFFUU1BSUFaQkNHb2lCa0hBQUU4TkFTQUFLQUlBSVFVTUFBQUxBQXNMSUFrZ0JHdEJBQ0FFYTBFQUlBc2JhaUlFUVFCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBSUlBSTJBZ0FnQ0NBQk5nSUVEQWNMSUFBb0FoZ2lCaWdDQkNJQlJRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VCQ3lBR0tBSUFJZ0pCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQUxJZ0V0QUFCeVFRUkhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQWhBUXNnQVVFQmFpRUVJQUV0QUFCQkNIUWdBa0YvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3SkN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWhCQ0FBS0FJQUlnTkIxQUEyQWhRZ0F5QUVOZ0lZSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQUNBRU5nS1lBaUFHSUFGQkFXbzJBZ0FnQmlBQ1FYOXFOZ0lFREFZTElBQW9BaGdpQlNnQ0FDRUNJQVVvQWdRaEFTQUFLQUxRQXlnQ0VFVUVRQ0FBS0FJQUlnUkJQRFlDRkNBRVFSaHFRZkw5QWtIUUFCRFZBU0FBS0FJQUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxBa0FDUUNBQUtBSWtRUU5JRFFBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFdEFBQnlRUmhIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBRUVOUndSQUlBQW9BZ0FpQkVIR0FEWUNGQ0FFSUFBb0FyZ0ROZ0lZSUFBb0FnQW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFGQkFXb2hCQ0FCTFFBQUlRWWdBa0YvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tIL0FVY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUJCQTBjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdBQ2dDMkFFaUF5Z0NXRWNOQUNBQkJIOGdBU0VFSUFJaEJpQURCU0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQkNBRktBSUFJUVlnQUNnQzJBRUxJUUVnQkVGL2FpRUNJQVpCQVdvaEJDQUdMUUFBSUFFb0FnQkdCRUFnQWdSL0lBRUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VDSUFVb0FnQWhCQ0FBS0FMWUFRc2hCaUFDUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmlnQ3NBRkhEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBUVlCL1J3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tFQlJ3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUFOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5UVFGSERRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNnMEJCU0FDSVFFZ0JDRUNEQUVMREFFTElBQW9BZ0FpQkVFY05nSVVJQVFvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FFRUJOZ0t3QWlBRklBSTJBZ0FnQlNBQk5nSUVEQVVMSUFBb0F0QURJQUZCQW5ScVFhQjVhaWdDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdHQ3d3RUN5QUFLQUxRQXlnQ0hDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RkN3d0RDeUFBS0FJQUlnSkIzZ0EyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FNQWdzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQWtFQmFpRUVJQUl0QUFCQkNIUWdBVUYvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWlBMEYrYWlFRUlBQW9BZ0FpQlVIZEFEWUNGQ0FGSUFBb0FyZ0ROZ0lZSUFBb0FnQWdCRFlDSENBQUtBSUFLQUlFSVFVZ0FFRUJJQVZCUDNGQnNnVnFFUU1BSUFZZ0FVRUJhallDQUNBR0lBSkJmMm8yQWdRZ0EwRUNTd1JBSUFBb0FoZ29BaEFoQVNBQUlBUWdBVUUvY1VHeUJXb1JBd0FMREFFTElBQW9BZ0FpQWtIR0FEWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFRUUEyQXJnRFFRQWhBUXdCQ3dzQ1FDQUJRUmxHQkVBZ0FDZ0NHQ0lIS0FJQUlRUWdCeWdDQkNFQklBQW9BdEFES0FJUVJRUkFJQUFvQWdBaUFrRThOZ0lVSUFKQkdHcEI3djBDUWRBQUVOVUJJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBUVIvSUFFaEFpQUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUVJQUV0QUFBaEJTQUNRWDlxSWdJRWZ5QUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUdJQUV0QUFBaENDQUNRWDlxSWdRRWZ5QUdCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFRZ0J5Z0NBQXNpQVN3QUFDSURRZjhCY1NFSklBQW9BZ0FpQWtIcEFEWUNGQ0FDSUFrMkFoZ2dBQ2dDQUNnQ0JDRUNJQUJCQVNBQ1FUOXhRYklGYWhFREFBSkFBa0FDUUFKL0FrQWdDVUVCZEVFR2FpQUlRZjhCY1NBRlFmOEJjVUVJZEhKSElBTkIvd0Z4UVFSS2NnMEFJQU1FUUNBQUlBazJBdFFDSUFGQkFXb2hBU0FFUVg5cUlnUWhBaUFFUlF3Q0N5QUFLQUxnQVVVTkFDQUFJQWsyQXRRQ0lBRkJBV29oQWlBRVFYOXFJZ0VFZjBFQkJVRUJJUVFNQkFzaEJBd0VDeUFBS0FJQUlnSkJERFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQWdBQ0FKTmdMVUFpQUJRUUZxSVFJZ0JFRi9haUlFUlNFR0lBTUVmeUFDSVFFZ0JDRUNJQVlGSUFRaEFVRUJJUVFNQWdzTElRUkJBQ0VEQTBBQ1FDQUVCSDhnQnlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCeWdDQkNFR0lBY29BZ0FGSUFJaEJpQUJDeUlFTFFBQUlRSWdBd1JBQWtCQkFDRUJBMEFnQUVIWUFtb2dBVUVDZEdvb0FnQW9BZ0FnQWtjRVFDQUJRUUZxSWdFZ0Ewa0VRQXdDQlF3REN3QUxDeUFBS0FMWUFpZ0NBQ0VCSUFOQkFVc0VRRUVCSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNnQ0FDSUZJQUVnQlNBQlNoc2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBRkJBV29oQWdzTElBWkJmMm9oQmlBRVFRRnFJUVVnQUNnQzJBRWhBUUpBQWtBZ0FDZ0NKQ0lJUVFCTURRQkJBQ0VFQWtBRFFDQUNJQUVvQWdCR0RRRWdBVUhZQUdvaEFTQUVRUUZxSWdRZ0NFZ05BQXNNQVFzTUFRc2dBQ2dDQUNJRVFRUTJBaFFnQkNBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBRUhZQW1vZ0EwRUNkR29nQVRZQ0FDQUJJQVlFZnlBRkJTQUhLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBSEtBSUVJUVlnQnlnQ0FBc2lBaTBBQUNJRVFRUjJOZ0lVSUFFZ0JFRVBjVFlDR0NBQUtBSUFJZ1FnQVNnQ0FEWUNHQ0FFSUFFb0FoUTJBaHdnQkNBQktBSVlOZ0lnSUFSQjZnQTJBaFFnQkNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUNRUUZxSVFJZ0JrRi9haUlFUlNFR0lBTkJBV29pQXlBSlNRUkFJQUloQVNBRUlRSWdCaUVFREFJRklBUWhBVUVBSVFRTUF3c0FDd3NNQkFzZ0JnMEFEQUVMSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdBaEFpQUhLQUlFSVFFTElBSkJBV29oQmlBQUlBSXRBQUEyQXB3RElBRkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCUVFGcUlRWWdBQ0FCTFFBQU5nS2dBeUFBSUFKQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJMUUFBSWdaQkJIWTJBcVFESUFBZ0JrRVBjVFlDcUFNZ0FDZ0NBQ0lHSUFBb0Fwd0ROZ0lZSUFZZ0FDZ0NvQU0yQWh3Z0JpQUFLQUtrQXpZQ0lDQUdJQUFvQXFnRE5nSWtJQVpCNndBMkFoUWdCaWdDQkNFR0lBQkJBU0FHUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVBTmdJVUlBUkZCRUFnQUNBQUtBS1FBVUVCYWpZQ2tBRUxJQWNnQVVFQmFqWUNBQ0FISUFKQmYybzJBZ1FnQUVFQU5nSzRBeUFLSkFaQkFROEZJQUZCeXdCR0JFQWdBQ2dDQUNJQlFkY0FOZ0lVSUFFb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF5QUtKQVpCQWc4RklBRkJyZ0ZHQkVBTUF3VWdBVUhlQWtZTkF3c0xDMEVBRHdzZ0NpUUdRUUFMUVFFQmZ5QUFLQUxRQXlFQklBQkJBRFlDMkFFZ0FFRUFOZ0tRQVNBQVFRQTJBcmdESUFGQkFEWUNEQ0FCUVFBMkFoQWdBVUVBTmdJWUlBRkJBRFlDcEFFTGlRTUJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRYXdCSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdEFESUFGQml3RTJBZ0FnQVVIWEFEWUNCQ0FCUWRnQU5nSUlJQUZCMlFBMkFod2dBVUVBTmdKZ0lBRkJBRFlDWkNBQlFka0FOZ0lrSUFGQkFEWUNhQ0FCUWRrQU5nSW9JQUZCQURZQ2JDQUJRZGtBTmdJc0lBRkJBRFlDY0NBQlFka0FOZ0l3SUFGQkFEWUNkQ0FCUWRrQU5nSTBJQUZCQURZQ2VDQUJRZGtBTmdJNElBRkJBRFlDZkNBQlFka0FOZ0k4SUFGQkFEWUNnQUVnQVVGQWEwSFpBRFlDQUNBQlFRQTJBb1FCSUFGQjJRQTJBa1FnQVVFQU5nS0lBU0FCUWRrQU5nSklJQUZCQURZQ2pBRWdBVUhaQURZQ1RDQUJRUUEyQXBBQklBRkIyUUEyQWxBZ0FVRUFOZ0tVQVNBQlFka0FOZ0pVSUFGQkFEWUNtQUVnQVVFQU5nS2NBU0FCUWRrQU5nSmNJQUZCQURZQ29BRWdBVUhhQURZQ0lDQUJRZG9BTmdKWUlBQW9BdEFESVFFZ0FFRUFOZ0xZQVNBQVFRQTJBcEFCSUFCQkFEWUN1QU1nQVVFQU5nSU1JQUZCQURZQ0VDQUJRUUEyQWhnZ0FVRUFOZ0trQVFzZUFDQUFRUUVRcmdJZ0FFRUFFSzRDSUFBb0FnUVFPQ0FBUVFBMkFnUUwyUWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSVFRZDBJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdoQkIzUWhDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnaEJCM1FoQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTE1nRUJmeUFBS0FJSUlBQW9BZ1FRcFFNaUFRUkFJQUVnQUJEcUJFRUFTQVJBSUFFUVNVRUFJUUVMQlVFQUlRRUxJQUVMMEFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdnaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdnaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0w0QW9CRTM4Z0FDZ0NCQ0lLS0FKRUlnRUVmd04vSUFFb0FnQkZCRUFnQXlBQktBSUlJZ1FnQVNnQ0RHeHFJUU1nQWlBRUlBRW9BZ1JzYWlFQ0N5QUJLQUlzSWdFTkFDQURJUUVnQWdzRlFRQWhBVUVBQ3lFRElBb29Ba2dpQkFSQUlBRWhBZ05BSUFRb0FnQkZCRUFnQWlBRUtBSUlJZ0VnQkNnQ0RFRUhkR3hxSVFJZ0F5QUVLQUlFSUFGQkIzUnNhaUVEQ3lBRUtBSXNJZ1FOQUFzRklBRWhBZ3NnQWtFQlNBUkFEd3NnQ2lnQ1RCb2dBeUlCSUFOSUJIOGdBU0FDRURraUFVRUJJQUZCQVVvYkJVR0FsT3ZjQXdzaER5QUtLQUpFSWdJRVFBTkFJQUlvQWdCRkJFQWdBaWdDQkNJRlFYOXFJQUlvQWd3aUFSQklRUUZxSUE5S0JFQWdBaUFCSUE5c05nSVFJQUFnQlNBQ1FRaHFJZ01vQWdCc0VKOERJQUpCQVRZQ0tDQUNLQUlRSVFVRklBSWdCVFlDRUNBQ1FRaHFJUU1MSUFBb0FnUWhFa0h3ayt2Y0F5QURLQUlBSWdzUVNDRUJJQXRCOEpQcjNBTkxCRUFnQUNnQ0FDSURRY2dBTmdJVUlBQWdBeWdDQUVIL0FYRkJyQU5xRVFFQUN5QVNJQUVnQlNBQklBVklHeUlCTmdKUUlBQkJBU0FGUVFKMEVMVUJJUXdnQlFSQUlBVkJmM01oRUVFQUlRTURRQ0FBS0FJRUlRY2dBU0FGSUFOcklnUWdBU0FFU1JzaUJDQUxiQ0lHUWZDVDY5d0RTd1JBSUFBb0FnQWlDRUU0TmdJVUlBaEJBellDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCa0VJSUFaQkIzRWlDR3RCQUNBSUcyb2lDRUVRYWlJTkVFUWlCa1VFUUNBQUtBSUFJZ2xCT0RZQ0ZDQUpRUVEyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWNnQnlnQ1RDQU5hallDVENBR0lBZEJRR3NpQnlnQ0FEWUNBQ0FHSUFnMkFnUWdCa0VBTmdJSUlBY2dCallDQUNBRUJFQWdBeUFRYWlJTklBRkJmM01pQ1VzaERpQUVJUWNnQmtFUWFpRUlJQU1oQVFOQUlBRkJBV29oQmlBQlFRSjBJQXhxSUFnMkFnQWdDQ0FMYWlFSUlBZEJmMm9pQndSQUlBWWhBUXdCQ3dzZ0EwRi9haUFOSUFrZ0RodHJJUU1MSUFNZ0JVa0VRQ0FFSVFFTUFRc0xDeUFDSUF3MkFnQWdBaUFLS0FKUU5nSVVJQUpCQURZQ0dDQUNRUUEyQWh3Z0FrRUFOZ0lrQ3lBQ0tBSXNJZ0lOQUFzTElBb29Ba2dpQWtVRVFBOExBMEFnQWlnQ0FFVUVRQ0FDS0FJRUlnVkJmMm9nQWlnQ0RDSUJFRWhCQVdvZ0Qwb0VRQ0FDSUFFZ0QydzJBaEFnQUNBQ1FRaHFJZ01vQWdBZ0JVRUhkR3dRbndNZ0FrRUJOZ0lvSUFJb0FoQWhCUVVnQWlBRk5nSVFJQUpCQ0dvaEF3c2dBQ2dDQkNFVFFmQ1Q2OXdESUFNb0FnQWlFRUVIZENJTEVFZ2hBU0FMUWZDVDY5d0RTd1JBSUFBb0FnQWlBMEhJQURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFBc2dFeUFCSUFVZ0FTQUZTQnNpQVRZQ1VDQUFRUUVnQlVFQ2RCQzFBU0VNSUFVRVFDQUZRWDl6SVExQkFDRURBMEFnQUNnQ0JDRUhJQUVnQlNBRGF5SUVJQUVnQkVrYklnUWdDMndpQ0VId2srdmNBMHNFUUNBQUtBSUFJZ1pCT0RZQ0ZDQUdRUU0yQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWhCRUhJaUNSQkVJZ1pGQkVBZ0FDZ0NBQ0lPUVRnMkFoUWdEa0VFTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFISUFrZ0J5Z0NUR28yQWt3Z0JpQUhRVUJySWdjb0FnQTJBZ0FnQmlBSU5nSUVJQVpCQURZQ0NDQUhJQVkyQWdBZ0JBUkFJQU1nRFdvaUNTQUJRWDl6SWc1TElSRWdCQ0VISUFaQkVHb2hDQ0FESVFFRFFDQUJRUUZxSVFZZ0FVRUNkQ0FNYWlBSU5nSUFJQkJCQjNRZ0NHb2hDQ0FIUVg5cUlnY0VRQ0FHSVFFTUFRc0xJQU5CZjJvZ0NTQU9JQkViYXlFREN5QURJQVZKQkVBZ0JDRUJEQUVMQ3dzZ0FpQU1OZ0lBSUFJZ0NpZ0NVRFlDRkNBQ1FRQTJBaGdnQWtFQU5nSWNJQUpCQURZQ0pBc2dBaWdDTENJQ0RRQUxDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpJTmdJc0lBY2dBRFlDU0NBQUM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSkVOZ0lzSUFjZ0FEWUNSQ0FBQzR3Q0FRdC9JQUFvQWdRaERrSHdrK3ZjQXlBQ1FRZDBJZ29RU0NFRklBcEI4SlByM0FOTEJFQWdBQ2dDQUNJR1FjZ0FOZ0lVSUFZb0FnQWhCaUFBSUFaQi93RnhRYXdEYWhFQkFBc2dEaUFGSUFNZ0JTQURTQnNpQkRZQ1VDQUFJQUVnQTBFQ2RCQzFBU0VISUFORkJFQWdCdzhMSUFOQmYzTWhDMEVBSVFZRFFDQUFJQUVnQkNBRElBWnJJZ1VnQkNBRlNSc2lDQ0FLYkJDdkFpRUpJQWdFUUNBR0lBdHFJZ1VnQkVGL2N5SUVJQVVnQkVzYklRd2dDQ0VFSUFZaEJRTkFJQVZCQVdvaERTQUZRUUowSUFkcUlBazJBZ0FnQWtFSGRDQUphaUVKSUFSQmYyb2lCQVJBSUEwaEJRd0JDd3NnQmtGL2FpQU1heUVHQ3lBR0lBTkpCRUFnQ0NFRURBRUxDeUFIQzRRQ0FRcC9JQUFvQWdRaERVSHdrK3ZjQXlBQ0VFZ2hCU0FDUWZDVDY5d0RTd1JBSUFBb0FnQWlCa0hJQURZQ0ZDQUdLQUlBSVFZZ0FDQUdRZjhCY1VHc0Eyb1JBUUFMSUEwZ0JTQURJQVVnQTBnYklnUTJBbEFnQUNBQklBTkJBblFRdFFFaEJ5QURSUVJBSUFjUEN5QURRWDl6SVFwQkFDRUdBMEFnQUNBQklBSWdCQ0FESUFacklnVWdCQ0FGU1JzaUNHd1Fyd0loQ1NBSUJFQWdCaUFLYWlJRklBUkJmM01pQkNBRklBUkxHeUVMSUFnaEJDQUdJUVVEUUNBRlFRRnFJUXdnQlVFQ2RDQUhhaUFKTmdJQUlBSWdDV29oQ1NBRVFYOXFJZ1FFUUNBTUlRVU1BUXNMSUFaQmYyb2dDMnNoQmdzZ0JpQURTUVJBSUFnaEJBd0JDd3NnQnd2dEFnRURmeU1HSVFJakJrRVFhaVFHSUFCQkFEWUNCQ0FDUVFBMkFnaEIxQUFRUkNJQlJRUkFJQUFvQWdBaUEwRTROZ0lVSUFOQkFEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0FVRWhOZ0lBSUFGQklqWUNCQ0FCUVFjMkFnZ2dBVUVJTmdJTUlBRkJJellDRUNBQlFTUTJBaFFnQVVHSkFUWUNHQ0FCUVJVMkFod2dBVUVXTmdJZ0lBRkJORFlDSkNBQlFZb0JOZ0lvSUFGQmdKVHIzQU0yQWpBZ0FVRUFOZ0lzSUFGQkFEWUNPQ0FCUVVCclFRQTJBZ0FnQVVFQU5nSTBJQUZCQURZQ1BDQUJRUUEyQWtRZ0FVRUFOZ0pJSUFGQjFBQTJBa3dnQUNBQk5nSUVRZUQ5QWhBTklnQkZCRUFnQWlRR0R3c2dBa0g0QURvQURDQUNJQUpCQ0dvMkFnQWdBaUFDUVF4cU5nSUVJQUJCNlAwQ0lBSVFnd0ZCQUVvRVFBSkFJQUlzQUF4QnpRQnJJZ0JCQUNBQVFTQkhHMFVFUUNBQ0lBSW9BZ2hCNkFkc0lnQTJBZ2dNQVFzZ0FpZ0NDQ0VBQ3lBQklBQkI2QWRzTmdJc0N5QUNKQVlMOVFFQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJVUlnTkJ6UUZIQkVBZ0FDZ0NBQ0lGUVJVMkFoUWdCU0FETmdJWUlBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDZ0NqQUVpQlNBQUtBSjBJZ1pQQkVBZ0FDZ0NBQ0lCUWY0QU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBZ0JDUUdRUUFQQ3lBQUtBSUlJZ01FUUNBRElBVTJBZ1FnQXlBR05nSUlJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0JFRUFOZ0lBSUFBb0FzQURLQUlFSVFNZ0FDQUJJQVFnQWlBRFFSOXhRZm9GYWhFSEFDQUFJQVFvQWdBaUFTQUFLQUtNQVdvMkFvd0JJQVFrQmlBQkM1SUVBUjEvSUFBb0F1UURJUVFnQUNnQ2VDRUlJQUFvQW5BaENTQUFLQUxRQWlFU0lBTkJBRXdFUUE4TElBaEJBRW9oRXlBSlJTRVVJQWxCZjJvaUZTQUliQ0VXUVFBZ0NHc2hGeUFKUVFGcUlROERRQ0FLUVFKMElBSnFJaGdvQWdCQkFDQUpFRVVhSUJNRVFBSkFJQlFFUUNBRUtBSlVSU0VHUVFBaEFBTkFJQVJCeEFCcUlBQkJBblJxS0FJQUlnVWdEMEVCZENBRmFpQUdHMEVBT3dFQUlBZ2dBRUVCYWlJQVJ3MEFDd3dCQ3lBS1FRSjBJQUZxSVJsQkFDRUhBMEFnQnlBWktBSUFhaUVHSUJnb0FnQWhBQ0FFS0FKVUJIOUJmeUVMSUFSQnhBQnFJQWRCQW5ScUtBSUFJQTlCQVhScUlRMGdCaUFXYWlFR0lBQWdGV29oQUNBWEJVRUJJUXNnQkVIRUFHb2dCMEVDZEdvb0FnQWhEU0FJQ3lFYUlBUW9BaGdnQjBFQ2RHb29BZ0FoR3lBRUtBSVFJQWRCQW5ScUtBSUFJUndnQ1NBTGJDRWdRUUFoRUNBSklSRkJBQ0VPUVFBaERDQU5JUVVEUUNBQUlCc2dFaUFHTFFBQUlBdEJBWFFnQldvaUhpNEJBQ0FNUVFocWFrRUVkV3BxTFFBQUlneHFMUUFBSWg4Z0FDMEFBR282QUFBZ0JTQU9JQXdnSENBZmFpMEFBR3NpQlVFRGJHbzdBUUFnRUNBRlFRVnNhaUVPSUFWQkIyd2hEQ0FHSUJwcUlRWWdBQ0FMYWlFQUlCRkJmMm9pRVFSQUlBVWhFQ0FlSVFVTUFRc0xJQ0JCQVhRZ0RXb2dEanNCQUNBSFFRRnFJZ2NnQ0VjTkFBc0xDeUFFSUFRb0FsUkZOZ0pVSUFwQkFXb2lDaUFEUncwQUN3dkZBZ0VPZnlBQUtBTGtBeUVFSUFBb0FuZ2hDU0FBS0FKd0lRWWdBMEVBVEFSQUR3c2dDVUVBVEFSQVFRQWhBQU5BSUFCQkFuUWdBbW9vQWdCQkFDQUdFRVVhSUFRZ0JDZ0NNRUVCYWtFUGNUWUNNQ0FBUVFGcUlnQWdBMGNOQUFzUEN5QUdSU0VOQTBBZ0IwRUNkQ0FDYWlJT0tBSUFRUUFnQmhCRkdpQUVLQUl3SVF3Z0IwRUNkQ0FCYWlFUElBMUZCRUJCQUNFRkEwQWdCQ2dDR0NBRlFRSjBhaWdDQUNFUUlBUkJOR29nQlVFQ2RHb29BZ0FoRVNBR0lRQWdEaWdDQUNFSVFRQWhDaUFGSUE4b0FnQnFJUXNEUUNBSUlCQWdDeTBBQUNBTVFRWjBJQkZxSUFwQkFuUnFLQUlBYW1vdEFBQWdDQzBBQUdvNkFBQWdDU0FMYWlFTElBaEJBV29oQ0NBS1FRRnFRUTl4SVFvZ0FFRi9haUlBRFFBTElBa2dCVUVCYWlJRlJ3MEFDd3NnQkNBTVFRRnFRUTl4TmdJd0lBZEJBV29pQnlBRFJ3MEFDd3ZJQWdFUGZ5QUFLQUxrQXlJRUtBSVlJZ1VvQWdBaEN5QUZLQUlFSVF3Z0JTZ0NDQ0VOSUFBb0FuQWhDaUFEUVFCTUJFQVBDeUFFS0FJd0lRQWdDa1VFUUVFQUlRRURRQ0FBUVFGcVFROXhJUUFnQVVFQmFpSUJJQU5IRFFBTElBUWdBRFlDTUE4TEEwQWdCQ2dDTkNFT0lBUW9BamdoRHlBRUtBSThJUkFnQ2lFRlFRQWhCaUFJUVFKMElBSnFLQUlBSVFrZ0NFRUNkQ0FCYWlnQ0FDRUhBMEFnQjBFRGFpRVJJQWxCQVdvaEVpQUpJQTBnQnkwQUFpQUFRUVowSUJCcUlBWkJBblJxS0FJQWFtb3RBQUFnQnkwQUFDQUFRUVowSUE1cUlBWkJBblJxS0FJQWFpQUxhaTBBQUNBTUlBY3RBQUVnQUVFR2RDQVBhaUFHUVFKMGFpZ0NBR3BxTFFBQWFtbzZBQUFnQmtFQmFrRVBjU0VHSUFWQmYyb2lCUVJBSUJJaENTQVJJUWNNQVFzTElBUWdBRUVCYWtFUGNTSUFOZ0l3SUFoQkFXb2lDQ0FEUncwQUN3dnRBUUVLZnlBQUtBTGtBeWdDR0NFTUlBQW9BbmdoQmlBQUtBSndJZ3BGSUFOQkFVaHlCRUFQQ3lBR1FRQk1CRUJCQUNFQUEwQWdBRUVDZENBQ2FpZ0NBRUVBSUFvUVJSb2dBRUVCYWlJQUlBTkhEUUFMRHdzRFFDQUtJUXNnQlVFQ2RDQUNhaWdDQUNFSElBVkJBblFnQVdvb0FnQWhBQU5BUVFBaENFRUFJUWtnQUNFRUEwQWdCRUVCYWlFTklBa2dDRUVDZENBTWFpZ0NBQ0FFTFFBQWFpMEFBR29oQ1NBSVFRRnFJZ2dnQmtjRVFDQU5JUVFNQVFzTElBQWdCbW9oQUNBSFFRRnFJUVFnQnlBSk9nQUFJQXRCZjJvaUN3UkFJQVFoQnd3QkN3c2dCVUVCYWlJRklBTkhEUUFMQzY0QkFRbC9JQUFvQXVRREtBSVlJZ1FvQWdBaEJ5QUVLQUlFSVFnZ0JDZ0NDQ0VKSUFBb0FuQWlDa1VnQTBFQlNISUVRQThMQTBBZ0NpRUFJQVZCQW5RZ0Ftb29BZ0FoQmlBRlFRSjBJQUZxS0FJQUlRUURRQ0FFUVFOcUlRc2dCa0VCYWlFTUlBWWdDU0FFTFFBQ2FpMEFBQ0FFTFFBQUlBZHFMUUFBSUFnZ0JDMEFBV290QUFCcWFqb0FBQ0FBUVg5cUlnQUVRQ0FNSVFZZ0N5RUVEQUVMQ3lBRlFRRnFJZ1VnQTBjTkFBc0xKZ0VCZnlBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMdlFVQkNYOGdBQ0FBS0FMa0F5SUNLQUlRTmdLSUFTQUFJQUlvQWhRMkFvUUJBa0FDUUFKQUFrQWdBQ2dDV0E0REFBRUNBd3NnQUNnQ2VFRURSZ1JBSUFKQkZqWUNCQVVnQWtFWE5nSUVDdzhMSUFKQkdFRVpJQUFvQW5oQkEwWWJOZ0lFSUFKQkFEWUNNQ0FDS0FJY1JRUkFJQUFRb1FNTElBSW9BalFFUUE4TElBQW9BdVFESVFJZ0FDZ0NlQ0lCUVFCTUJFQVBDd05BSUFKQklHb2dCRUVDZEdvb0FnQWhCUUpBQWtBZ0JFVU5BRUVBSVFNRFFDQUNRU0JxSUFOQkFuUnFLQUlBSUFWSEJFQWdBMEVCYWlJRElBUlBEUUlNQVFzTElBSkJOR29nQTBFQ2RHb29BZ0FpQTBVTkFBd0JDeUFBS0FJRUtBSUFJUUVnQUVFQlFZQUlJQUZCUDNGQnlnRnFFUVFBSVFZZ0JVRUpkRUdBZkdvaEJVRUFJUUVEUUVFQUlRTURRRUgvQVNBRElBRkJCSFJCc0RKcWFpMEFBRUVCZEdzaUNFSC9BV3doQnlBQlFRWjBJQVpxSUFOQkFuUnFJQWhCQUVnRWYwRUFRUUFnQjJzZ0JSQTVhd1VnQnlBRkVEa0xOZ0lBSUFOQkFXb2lBMEVRUncwQUN5QUJRUUZxSWdGQkVFY05BQXNnQmlFRElBQW9BbmdoQVFzZ0FrRTBhaUFFUVFKMGFpQUROZ0lBSUFSQkFXb2lCQ0FCU0EwQUN3OExJQUpCR2pZQ0JDQUNRUUEyQWxRZ0FpZ0NSQVIvSUFCQitBQnFJZ0VoQXlBQktBSUFJUUVnQUVId0FHb0ZJQUJCOEFCcUlnUW9BZ0FoQ1NBQVFmZ0FhaUlES0FJQVFRQk1CRUFQQ3lBSlFRRjBRUVJxSVFWQkFDRUJBMzhnQUNnQ0JDZ0NCQ0VHSUFKQnhBQnFJQUZCQW5ScUlBQkJBU0FGSUFaQlAzRkJ5Z0ZxRVFRQU5nSUFJQUZCQVdvaUFTQURLQUlBSWdaSURRQWdCaUVCSUFRTEN5Z0NBQ0VLSUFGQkFFd0VRQThMSUFwQkFYUkJCR29oQVVFQUlRQURRQ0FDUWNRQWFpQUFRUUowYWlnQ0FFRUFJQUVRUlJvZ0FFRUJhaUlBSUFNb0FnQklEUUFMRHdzZ0FDZ0NBQ0lCUVRFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQzhzQkFRdC9JQUFvQXVRREtBSVlJUW9nQUNnQ2NDSUxSU0FEUVFGSWNnUkFEd3NEUUNBTElRZ2dCVUVDZENBQ2FpZ0NBQ0VHSUFWQkFuUWdBV29vQWdBaEJBTkFJQVF0QUFCQkEzWWlERUVDZENBS2FpZ0NBQ0FFTFFBQlFRSjJJZ2RCQm5ScUlBUXRBQUpCQTNZaURVRUJkR29pRGk0QkFDSUpSUVJBSUFBZ0RDQUhJQTBRb2dNZ0RpNEJBQ0VKQ3lBRVFRTnFJUVFnQmtFQmFpRUhJQVlnQ1VILy93TnhRZjhCYWpvQUFDQUlRWDlxSWdnRVFDQUhJUVlNQVFzTElBVkJBV29pQlNBRFJ3MEFDd3ZLQlFFbmZ5QUFLQUxrQXlJTEtBSVlJUndnQUNnQ2NDRU1JQUFvQXRBQ0lSTWdDeWdDS0NFVUlBQW9Bb2dCSWdRb0FnQWhIU0FFS0FJRUlSNGdCQ2dDQ0NFZklBTkJBRXdFUUE4TElBeEZJU0FnREVGL2FpSWhRUU5zSVNJZ0RFRURiRUVEYWlFakEwQWdEa0VDZENBQmFpZ0NBQ0VISUE1QkFuUWdBbW9vQWdBaERTQUxJQXNvQWlRRWYwRjlJUWxCZnlFV0lBc29BaUFnSTBFQmRHb2hDQ0FOSUNGcUlRMGdCeUFpYWlFSFFRQUZRUU1oQ1VFQklSWWdDeWdDSUNFSVFRRUxOZ0lrSUNBRVFFRUFJUTlCQUNFUVFRQWhCQVVnQ1VFQmFpRWtJQWxCQW1vaEpTQUpJQXhzSVNwQkFDRVJRUUFoRWtFQUlSZEJBQ0VZUVFBaEdVRUFJUTlCQUNFUVFRQWhHaUFNSVJ0QkFDRUZJQWdoQkFOQUlCTWdKRUVCZENBRWFpNEJBQ0FSUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQmFtb3RBQUFpQ2tFQ2RpSUdRUVowSUJNZ0NVRUJkQ0FFYWlJbkxnRUFJQVZCQ0dwcVFRUjFRUUowSUJScUtBSUFJQWN0QUFCcWFpMEFBQ0lSUVFOMkloVkJBblFnSEdvb0FnQnFJQk1nSlVFQmRDQUVhaTRCQUNBU1FRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUNhbW90QUFBaUVrRURkaUlvUVFGMGFpSXBMZ0VBSWdWRkJFQWdBQ0FWSUFZZ0tCQ2lBeUFwTGdFQUlRVUxJQTBnQlVILy93TnhRWDlxSWdZNkFBQWdDaUFHSUI1cUxRQUFheUVGSUJJZ0JpQWZhaTBBQUdzaENpQUVJQThnRVNBR0lCMXFMUUFBYXlJR1FRTnNhanNCQUNBWElBWkJCV3hxSVE4Z0JrRUhiQ0VWSUFRZ0VDQUZRUU5zYWpzQkFpQVlJQVZCQld4cUlSQWdCVUVIYkNFUklBUWdHaUFLUVFOc2Fqc0JCQ0FaSUFwQkJXeHFJUVFnQ2tFSGJDRVNJQWNnQ1dvaEJ5QU5JQlpxSVEwZ0cwRi9haUliQkVBZ0JpRVhJQVVoR0NBS0lSa2dCQ0VhSUJVaEJTQW5JUVFNQVFzTElDcEJBWFFnQ0dvaENBc2dDQ0FQT3dFQUlBZ2dFRHNCQWlBSUlBUTdBUVFnRGtFQmFpSU9JQU5IRFFBTEM5Z0lBUmQvSUFBZ0FDZ0M1QU1pRXlnQ0VEWUNpQUVnQUNnQ0JDZ0NBQ0VCSUFCQkFTQVRLQUlVSWd0QkJYUWdBVUUvY1VIS0FXb1JCQUFpQlVFQU5nSUFJQVZCSHpZQ0JDQUZRUUEyQWdnZ0JVRS9OZ0lNSUFWQkFEWUNFQ0FGUVI4MkFoUWdBQ0FGRUxBQ0lBdEJBVW9FZndKL1FRRWhCQU4vSUFSQkFYUWdDMG9FUUVFQUlRWkJBQ0VDSUFVaEFVRUFJUU1EZnlBQktBSVlJZ2tnQmtvaEJ5QUpJQVlnQnhzaEJpQUJJQU1nQnhzaEF5QUJRU0JxSVFFZ0FrRUJhaUlDSUFSSERRQWdBd3NoQVFWQkFDRUdRUUFoQWlBRklRTkJBQ0VCQTBBZ0F5Z0NIQ0lISUFaS0JFQWdBeUFCSUFNb0FoaEJBRW9pQ1JzaEFTQUhJQVlnQ1JzaEJnc2dBMEVnYWlFRElBSkJBV29pQWlBRVJ3MEFDd3NnQkNBQlJRMEJHaUFFUVFWMElBVnFJQUVvQWdRMkFnUWdCRUVGZENBRmFpQUJJZ01vQWd3MkFnd2dCRUVGZENBRmFpQUJJZ0lvQWhRMkFoUWdCRUVGZENBRmFpSUdJQUlvQWdBMkFnQWdCRUVGZENBRmFrRUlhaUlISUFJb0FnZzJBZ0FnQkVFRmRDQUZha0VRYWlJSklBSW9BaEEyQWdBQ1FBSi9Ba0FDUUFKQVFRSWdBaWdDQkNJSUlBSW9BZ0FpREd0QkJIUWlDaUFDS0FJTUlnMGdBaWdDQ0NJT2EwRU1iQ0lQU2lJUVFRRnpJQUlvQWhRaUVTQUNLQUlRSWhKclFRTjBJQW9nRHlBUUcwb2JRUU54RGdNQUFRSUVDeUFCSUFnZ0RHcEJBaEE1SWdNMkFnUWdCZ3dDQ3lBRElBMGdEbXBCQWhBNUlnTTJBZ3dnQnd3QkN5QUNJQkVnRW1wQkFoQTVJZ00yQWhRZ0NRc2dBMEVCYWpZQ0FBc2dBQ0FDRUxBQ0lBQWdCaEN3QWlBRVFRRnFJZ1FnQzBnTkFDQUVDd3NGUVFFTElRdEJBQ0VJQTBBZ0FDZ0M1QU1vQWhnaER5QUlRUVYwSUFWcUtBSUFJZ0lnQ0VFRmRDQUZhaWdDQkNJUlNpQUlRUVYwSUFWcUtBSUlJZzRnQ0VFRmRDQUZhaWdDRENJU1NuSWdDRUVGZENBRmFpZ0NFQ0lOSUFoQkJYUWdCV29vQWhRaUVFcHlCRUJCQUNFQlFRQWhBMEVBSVFSQkFDRUdCVUVBSVFGQkFDRURRUUFoQkVFQUlRWURRQ0FDUVFKMElBOXFLQUlBSVJRZ0FrRURkRUVFY2lFVklBNGhCd05BSUFkQkFuUkJBbkloRmlBSFFRWjBJQlJxSUExQkFYUnFJUXdnRFNFSkEwQWdEQzRCQUNJWFFmLy9BM0VoQ2lBWEJFQWdBU0FLSUFsQkEzUkJCSEpzYWlFQklBTWdDaUFXYkdvaEF5QUVJQW9nRld4cUlRUWdCaUFLYWlFR0N5QU1RUUpxSVF3Z0NVRUJhaUVLSUFrZ0VFZ0VRQ0FLSVFrTUFRc0xJQWRCQVdvaENTQUhJQkpJQkVBZ0NTRUhEQUVMQ3lBQ1FRRnFJUWNnQWlBUlNBUkFJQWNoQWd3QkN3c0xJQVFnQmtFQmRTSUVhaUFHRURsQi93RnhJUUlnQ0NBQUtBS0lBU2dDQUdvZ0Fqb0FBQ0FESUFScUlBWVFPVUgvQVhFaEF5QUlJQUFvQW9nQktBSUVhaUFET2dBQUlBRWdCR29nQmhBNVFmOEJjU0VCSUFnZ0FDZ0NpQUVvQWdocUlBRTZBQUFnQ0VFQmFpSUlJQXRJRFFBTElBQWdDellDaEFFZ0FDZ0NBQ0lCUWVJQU5nSVVJQUVnQ3pZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlCTkJBVFlDSEF1YkFRRUdmeUFBS0FMa0F5Z0NHQ0VHSUFBb0FuQWlCMFVnQTBFQlNISUVRQThMQTBBZ0J5RUFJQVJCQW5RZ0FXb29BZ0FoQWdOQUlBSXRBQUJCQTNaQkFuUWdCbW9vQWdBZ0FpMEFBVUVDZGtFR2RHb2dBaTBBQWtFRGRrRUJkR29pQ0M0QkFDSUpRUUZxUVJCMFFSQjFJUVVnQ0NBRklBa2dCUnM3QVFBZ0FrRURhaUVDSUFCQmYyb2lBQTBBQ3lBRVFRRnFJZ1FnQTBjTkFBc0xEUUFnQUNnQzVBTkJBVFlDSEF2akJRRURmeUFBS0FMa0F5SURLQUlZSVFJZ0FDZ0NXQVIvSUFCQkFqWUNXRUVDQlVFQUN5RUVJQUVFUUNBRFFSTTJBZ1FnQTBHSEFUWUNDQ0FEUVFFMkFod0ZJQU5CRkVFVklBUkJBa1liTmdJRUlBTkJpQUUyQWdnZ0FDZ0NoQUVpQVVFQlNBUkFJQUFvQWdBaUFVRTZOZ0lVSUFGQkFUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQlFUczJBaFFnQVVHQUFqWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKWVFRSkdCRUFnQUNnQ2NFRUdiRUVNYWlFRUlBTW9BaUFpQVVVRVFDQUFLQUlFS0FJRUlRRWdBeUFBUVFFZ0JDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJZ0N5QUJRUUFnQkJCRkdpQURLQUlvUlFSQUlBQVFwQU1MSUFOQkFEWUNKQXNMSUFNb0FoeEZCRUFQQ3lBQ0tBSUFRUUJCZ0NBUVJSb2dBaWdDQkVFQVFZQWdFRVVhSUFJb0FnaEJBRUdBSUJCRkdpQUNLQUlNUVFCQmdDQVFSUm9nQWlnQ0VFRUFRWUFnRUVVYUlBSW9BaFJCQUVHQUlCQkZHaUFDS0FJWVFRQkJnQ0FRUlJvZ0FpZ0NIRUVBUVlBZ0VFVWFJQUlvQWlCQkFFR0FJQkJGR2lBQ0tBSWtRUUJCZ0NBUVJSb2dBaWdDS0VFQVFZQWdFRVVhSUFJb0FpeEJBRUdBSUJCRkdpQUNLQUl3UVFCQmdDQVFSUm9nQWlnQ05FRUFRWUFnRUVVYUlBSW9BamhCQUVHQUlCQkZHaUFDS0FJOFFRQkJnQ0FRUlJvZ0FrRkFheWdDQUVFQVFZQWdFRVVhSUFJb0FrUkJBRUdBSUJCRkdpQUNLQUpJUVFCQmdDQVFSUm9nQWlnQ1RFRUFRWUFnRUVVYUlBSW9BbEJCQUVHQUlCQkZHaUFDS0FKVVFRQkJnQ0FRUlJvZ0FpZ0NXRUVBUVlBZ0VFVWFJQUlvQWx4QkFFR0FJQkJGR2lBQ0tBSmdRUUJCZ0NBUVJSb2dBaWdDWkVFQVFZQWdFRVVhSUFJb0FtaEJBRUdBSUJCRkdpQUNLQUpzUVFCQmdDQVFSUm9nQWlnQ2NFRUFRWUFnRUVVYUlBSW9BblJCQUVHQUlCQkZHaUFDS0FKNFFRQkJnQ0FRUlJvZ0FpZ0NmRUVBUVlBZ0VFVWFJQU5CQURZQ0hBdVZCQUVUZnlBQUtBTFFBaUVGSUFBb0F0d0RJZ1FvQWhBaERDQUVLQUlVSVEwZ0JDZ0NHQ0VPSUFRb0Fod2hEeUFCS0FJQUlBSkJBblJxS0FJQUlRZ2dBU2dDQkNBQ1FRSjBhaWdDQUNFRUlBRW9BZ2dnQWtFQ2RHb29BZ0FoQ1NBREtBSUFJUVlnQUNnQ2NDSUJRUUYySWdvRVFDQUVJQXBxSVJZZ0FVRitjU0VTSUFwQkJtd2hFeUFKSVFNZ0NDRUNJQVloQVNBS0lSQURRQ0FFUVFGcUlSUWdBMEVCYWlFVklBTXRBQUFpQjBFQ2RDQU1haWdDQUNFRElBUXRBQUFpQzBFQ2RDQVBhaWdDQUNBSFFRSjBJQTVxS0FJQWFrRVFkU0VFSUF0QkFuUWdEV29vQWdBaEN5QUJJQU1nQWkwQUFDSUhhaUFGYWl3QUFEb0FBQ0FCSUFRZ0Iyb2dCV29zQUFBNkFBRWdBU0FISUF0cUlBVnFMQUFBT2dBQ0lBSkJBbW9oQnlBQklBTWdBaTBBQVNJQ2FpQUZhaXdBQURvQUF5QUJJQVVnQWlBRWFtb3NBQUE2QUFRZ0FTQUZJQUlnQzJwcUxBQUFPZ0FGSUFGQkJtb2hBU0FRUVg5cUloQUVRQ0FWSVFNZ0ZDRUVJQWNoQWd3QkN3c2dDU0FLYWlFSklCWWhCQ0FJSUJKcUlRZ2dCaUFUYWlFR0lBQW9BbkFoQVFzZ0FVRUJjVVVFUUE4TElBUXRBQUFpQUVFQ2RDQVBhaWdDQUNBSkxRQUFJZ0ZCQW5RZ0Rtb29BZ0JxUVJCMUlRSWdBRUVDZENBTmFpZ0NBQ0VESUFZZ0NDMEFBQ0lBSUFGQkFuUWdER29vQWdCcUlBVnFMQUFBT2dBQUlBWWdBQ0FDYWlBRmFpd0FBRG9BQVNBR0lBQWdBMm9nQldvc0FBQTZBQUlMUndBZ0FDZ0MzQU1vQWd3aEF5QUFJQUVnQWlnQ0FDQUZLQUlBUVFKMElBUnFJQU5CSDNGQitnVnFFUWNBSUFVZ0JTZ0NBRUVCYWpZQ0FDQUNJQUlvQWdCQkFXbzJBZ0FMZ0FZQkYzOGdBQ2dDMEFJaEJTQUFLQUxjQXlJRUtBSVFJUThnQkNnQ0ZDRVFJQVFvQWhnaEVTQUVLQUljSVJJZ0FTZ0NBQ0lISUFKQkFYUWlCRUVDZEdvb0FnQWhEQ0FFUVFGeVFRSjBJQWRxS0FJQUlRUWdBU2dDQkNBQ1FRSjBhaWdDQUNFR0lBRW9BZ2dnQWtFQ2RHb29BZ0FoRFNBREtBSUFJUWdnQXlnQ0JDRUpJQUFvQW5BaUFVRUJkaUlPQkVBZ0JpQU9haUVhSUE1QkJtd2hFeUFFSUFGQmZuRWlGbW9oRnlBTklRY2dCQ0VESUF3aEJDQUpJUUVnQ0NFQ0lBNGhGQU5BSUFaQkFXb2hHQ0FIUVFGcUlSa2dCeTBBQUNJS1FRSjBJQTlxS0FJQUlRY2dCaTBBQUNJTFFRSjBJQkpxS0FJQUlBcEJBblFnRVdvb0FnQnFRUkIxSVFZZ0MwRUNkQ0FRYWlnQ0FDRUxJQUlnQnlBRUxRQUFJZ3BxSUFWcUxBQUFPZ0FBSUFJZ0JpQUthaUFGYWl3QUFEb0FBU0FDSUFvZ0Myb2dCV29zQUFBNkFBSWdCRUVDYWlFS0lBSWdCU0FISUFRdEFBRWlCR3BxTEFBQU9nQURJQUlnQlNBRUlBWnFhaXdBQURvQUJDQUNJQVVnQkNBTGFtb3NBQUE2QUFVZ0FrRUdhaUVDSUFFZ0JTQUhJQU10QUFBaUJHcHFMQUFBT2dBQUlBRWdCU0FFSUFacWFpd0FBRG9BQVNBQklBVWdCQ0FMYW1vc0FBQTZBQUlnQTBFQ2FpRUVJQUVnQXkwQUFTSURJQWRxSUFWcUxBQUFPZ0FESUFFZ0F5QUdhaUFGYWl3QUFEb0FCQ0FCSUFNZ0Myb2dCV29zQUFBNkFBVWdBVUVHYWlFQklCUkJmMm9pRkFSQUlCa2hCeUFZSVFZZ0JDRURJQW9oQkF3QkN3c2dEU0FPYWlFTklCb2hCaUFYSVFRZ0RDQVdhaUVNSUFrZ0Uyb2hDU0FJSUJOcUlRZ2dBQ2dDY0NFQkN5QUJRUUZ4UlFSQUR3c2dEUzBBQUNJQlFRSjBJQTlxS0FJQUlRQWdCaTBBQUNJQ1FRSjBJQkpxS0FJQUlBRkJBblFnRVdvb0FnQnFRUkIxSVFFZ0FrRUNkQ0FRYWlnQ0FDRUNJQWdnQUNBTUxRQUFJZ05xSUFWcUxBQUFPZ0FBSUFnZ0FTQURhaUFGYWl3QUFEb0FBU0FJSUFJZ0Eyb2dCV29zQUFBNkFBSWdDU0FBSUFRdEFBQWlBR29nQldvc0FBQTZBQUFnQ1NBQUlBRnFJQVZxTEFBQU9nQUJJQWtnQUNBQ2FpQUZhaXdBQURvQUFndThFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJR0lRMGdBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FISUFGSUJFQWdCVUVBT3dFQUlBMUJBRHNCQUNBTlFRSnFJUTBnQlVFQ2FpRUZJQWRCQVdvaEJ3d0JDd3NnQmlFSElBRkJmMm9pRVVFQmRDQUdhaUVOUVFBaEJRTkFJQVVnQWtnRVFDQU5RUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBQlFRRjBJQTFxSVEwZ0JVRUJhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5RUUVoQzBFQUlRVWdBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrZ0JpRU1BMEFnQ1NBUlNBUkFJQTB0QUFBZ0Ewb0VRQUpBSUJKQkFYUWdER29pRHk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUE5QmZtb3VBUUFpQ2lFSUlBcEJBRW9oQmlBUExnRUNJZ1ZCQUV3RVFDQUdCRUFnRENBS093RUFJQWhCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbElCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0RFRithaTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFNSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBR0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFGSUFZb0FnQkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUNBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dERUYrYWk0QkFDSUdRUUJNQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0FnTkFBYWlJRktBSUFJQWxLQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFHS0FJQUlBVkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzRklBeEJBRHNCQUFzZ0RVRUJhaUVOSUFsQkFXb2hDU0FNUVFKcUlRd01BUXNMSUExQkFtb2hEU0FMUVFGcUlRc2dBQ0VGSUF4QkJHb2hCZ3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ2MyQWdnZ0J3Ui9JQTFCQUNBSFFRSjBFRVVhSUFSQmtJQW9ha0VBSUFkQkJIUVFSUnBCQUNFREEwQWdBeUFIU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ2RCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxuZ0lCQkg4akJpRURJd1pCRUdva0JpQUFLQUxjQXlJSEtBSWtCRUFnQjBFZ2FrRUFJQVVvQWdCQkFuUWdCR3BCQUVFQklBY29BaWdROXdFZ0IwRUFOZ0lrSUFVZ0JTZ0NBRUVCYWpZQ0FDQUhJQWNvQWl4QmYybzJBaXdGSUFZZ0JTZ0NBQ0lKYXlJR0lBY29BaXdpQ0VFQ0lBaEJBa2tiSWdnZ0NDQUdTeHNoQmlBRElBbEJBblFnQkdvb0FnQTJBZ0FnQmtFQlN3UkFJQU1nQ1VFQmFrRUNkQ0FFYWlnQ0FEWUNCQVVnQXlBSEtBSWdOZ0lFSUFkQkFUWUNKQXNnQnlnQ0RDRUVJQUFnQVNBQ0tBSUFJQU1nQkVFZmNVSDZCV29SQndBQ2Z5QUhLQUlrUlNFS0lBVWdCaUFGS0FJQWFqWUNBQ0FISUFjb0Fpd2dCbXMyQWl3Z0NrVUxCRUFnQXlRR0R3c0xJQUlnQWlnQ0FFRUJhallDQUNBREpBWUxHd0VCZnlBQUtBTGNBeUlCUVFBMkFpUWdBU0FBS0FKME5nSXNDN29CQVFkL0lBQW9BaVFoQlNBQUtBSndJUWdnQkVFQVRBUkFEd3NnQlVFQVRBUkFEd3NnQ0VVaENnTkFJQXBGQkVCQkFDRUFBMEJCQUNFSklBQkJBblFnQVdvb0FnQWdBa0VDZEdvb0FnQWhCaUFBSUFNb0FnQnFJUWNEUUNBR1FRRnFJUXNnQnlBR0xBQUFPZ0FBSUFVZ0Iyb2hCeUFJSUFsQkFXb2lDVWNFUUNBTElRWU1BUXNMSUFVZ0FFRUJhaUlBUncwQUN3c2dCRUYvYWlFQUlBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQUFoQkF3QkN3c0wyQUlCRDM4Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FCS0FJTUlBSkJBblJxS0FJQUlSRWdBa0VCYWlFU0lBTW9BZ0FoQWtFQUlRQURRQ0FBSUE5cUxRQUFJUWNnQWlBRklBQWdEbW9zQUFCQmYzTkIvd0Z4SWdnZ0FDQVFhaTBBQUNJVFFRSjBJQWxxS0FJQWEyb3NBQUE2QUFBZ0FpQUZJQWdnQjBFQ2RDQU1haWdDQUNBVFFRSjBJQXRxS0FJQWFrRVFkV3RxTEFBQU9nQUJJQUlnQlNBSUlBZEJBblFnQ21vb0FnQnJhaXdBQURvQUFpQUNJQUFnRVdvc0FBQTZBQU1nQWtFRWFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkloQWlBTklRUU1BUXNMQzlNQkFRbC9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FBSUFscUxRQUFJUXNnQWlBQUlBaHFMQUFBSWd4Qi93RnhRWUFCYWlJTklBQWdCMm90QUFCcU9nQUFJQUlnRERvQUFTQUNJQXNnRFdvNkFBSWdBa0VEYWlFQ0lBVWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBb2hBaUFHSVFRTUFRc0xDNzBCQVFaL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUNJQUFnQjJvc0FBQTZBQUFnQWlBQUlBaHFMQUFBT2dBQklBSWdBQ0FKYWl3QUFEb0FBaUFDUVFOcUlRSWdCU0FBUVFGcUlnQkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdDaUVDSUFZaEJBd0JDd3NMdEFJQkRuOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQ1FRRnFJUkVnQXlnQ0FDRUNRUUFoQUFOQUlBQWdEMm90QUFBaEJ5QUNJQVVnQUNBT2FpMEFBQ0lJSUFBZ0VHb3RBQUFpRWtFQ2RDQUphaWdDQUdwcUxBQUFPZ0FBSUFJZ0JTQUlJQWRCQW5RZ0RHb29BZ0FnRWtFQ2RDQUxhaWdDQUdwQkVIVnFhaXdBQURvQUFTQUNJQVVnQ0NBSFFRSjBJQXBxS0FJQWFtb3NBQUE2QUFJZ0FrRURhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJFaEFpQU5JUVFNQVFzTEM0b0JBUVYvSUFBb0FuQWlCMFVnQkVFQlNISUVRQThMQTBBZ0JFRi9haUVJSUFFb0FnQWdBa0VDZEdvb0FnQWhDVUVBSVFBZ0F5Z0NBQ0VGQTBBZ0JTQUFJQWxxTEFBQUlnWTZBQUlnQlNBR09nQUJJQVVnQmpvQUFDQUZRUU5xSVFVZ0J5QUFRUUZxSWdCSERRQUxJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFnaEJBd0JDd3NMOUFFQkNYOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQWxxTFFBQUlneEJnQUZxSWcwZ0FDQUlhaTBBQUdwQi93RnhRUUowSUFWcUtBSUFJQXhCZ0FKeVFRSjBJQVZxS0FJQWFpQUFJQXBxTFFBQUlBMXFRZjhCY1VHQUJISkJBblFnQldvb0FnQnFRUkIyT2dBQUlBQkJBV29pQUNBR1J3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBY2hCQXdCQ3dzTDNnRUJCMzhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFwcUxRQUFRWUFFY2tFQ2RDQUZhaWdDQUNBQUlBaHFMUUFBUVFKMElBVnFLQUlBSUFBZ0NXb3RBQUJCZ0FKeVFRSjBJQVZxS0FJQWFtcEJFSFk2QUFBZ0FFRUJhaUlBSUFaSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0J5RUVEQUVMQ3dzeUFRRi9JQUFvQWdRZ0FDZ0NDQkNMQVNJQkJFQWdBU0FBRUxRRlFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXNYQUNBQktBSUFJQUlnQTBFQUlBUWdBQ2dDY0JEM0FRdUhCQUVNZnlBREtBSUFJUWdnQVNnQ0JDSURJQUFvQXR3RElnVkJqQUZxYWl3QUFDRUJJQU1nQlVHV0FXcHFMUUFBSVFNZ0FDZ0N3QUlpQkVFQVRBUkFEd3NnQVVIL0FYRWhCU0FCUVFCSElRd2dBMEgvQVhFaUNrRi9haUVOSUFOQi93RnhRUUZLQkVBZ0JVRitJQVZCZjNNZ0FSdHFRUUpxSVE1QkFDRUVBMEFDUUNBRVFRSjBJQWhxS0FJQUlnTWdBQ2dDY0NJQmFpRVBJQUZCQUVvRVFDQU1SUTBCSUFaQkFuUWdBbW9vQWdBaEJ5QURJUUVEUUNBQklBY3NBQUFnRGhCRkdpQUZJUU1EUUNBQlFRRnFJUUVnQTBGL2FpRUxJQU5CQVVvRVFDQUxJUU1NQVFzTElBZEJBV29oQnlBQklBOUpEUUFMSUFBb0FuQWhBUXNnQ0NBRUlBZ2dCRUVCYWlBTklBRVE5d0VnQmtFQmFpRUdJQVFnQ21vaUJDQUFLQUxBQWtnTkFVRWJJUWtMQ3lBSlFSdEdCRUFQQ3dOQURBQUFDd0FMSUF4RkJFQWdBQ2dDY0VFQVNpRUJRUUFoQUFOL0lBRUVmMEVBQlNBQUlBcHFJZ0FnQkVnRWZ3d0NCVUViQ3dzTFFSdEdCRUFQQ3dOQURBQUFDd0FMUVFBaEJBTkFJQVpCQW5RZ0NHb29BZ0FpQVNBQUtBSndJZ05xSVFrZ0EwRUFTZ1JBSUFSQkFuUWdBbW9vQWdBaEJ3TkFJQUVnQnl3QUFDQUZFRVVhSUFVaEF3TkFJQUZCQVdvaEFTQURRWDlxSVFzZ0EwRUJTZ1JBSUFzaEF3d0JDd3NnQjBFQmFpRUhJQUVnQ1VrTkFBc0xJQVJCQVdvaEJDQUdJQXBxSWdZZ0FDZ0N3QUpJRFFBTEM2OEJBUVYvSUFNb0FnQWhCU0FBS0FMQUFrRUFUQVJBRHd0QkFDRURBMEFnQTBFQ2RDQUZhaWdDQUNJSElBQW9BbkFpQVdvaENDQUJRUUJLQkVBZ0JrRUNkQ0FDYWlnQ0FDRUVJQWNoQVFOQUlBUkJBV29oQnlBQklBUXNBQUFpQkRvQUFDQUJJQVE2QUFFZ0FVRUNhaUlCSUFoSkJFQWdCeUVFREFFTEN5QUFLQUp3SVFFTElBVWdBeUFGSUFOQkFYSkJBU0FCRVBjQklBWkJBV29oQmlBRFFRSnFJZ01nQUNnQ3dBSklEUUFMQzVVQkFRUi9JQU1vQWdBaEJpQUFLQUxBQWlJQlFRQk1CRUFQQzBFQUlRTURRQ0FEUVFKMElBWnFLQUlBSWdVZ0FDZ0NjQ0lFYWlFSElBUkJBRW9FUUNBRFFRSjBJQUpxS0FJQUlRUWdCU0VCQTBBZ0JFRUJhaUVGSUFFZ0JDd0FBQ0lFT2dBQUlBRWdCRG9BQVNBQlFRSnFJZ0VnQjBrRVFDQUZJUVFNQVFzTElBQW9Bc0FDSVFFTElBTkJBV29pQXlBQlNBMEFDd3NKQUNBRElBSTJBZ0FMQ1FBZ0EwRUFOZ0lBQzhvQ0FRTi9JQUFvQXR3RElnY29BbHdpQ0NBQUtBTEFBaUlEU0FSL0lBZ0ZJQUFvQWlSQkFFb0VRQ0FBS0FMWUFTRUlRUUFoQXdOQUlBZEJOR29nQTBFQ2RHb29BZ0FoQ1NBQUlBZ2dBMEVDZENBQmFpZ0NBQ0FDS0FJQUlBZEI1QUJxSUFOQkFuUnFLQUlBYkVFQ2RHb2dCMEVNYWlBRFFRSjBhaUFKUVI5eFFmb0ZhaEVIQUNBSVFkZ0FhaUVJSUFOQkFXb2lBeUFBS0FJa1NBMEFDeUFBS0FMQUFpRURDeUFIUVFBMkFseEJBQXNoQVNBR0lBVW9BZ0FpQm1zaUNDQUhLQUpnSWdrZ0F5QUJheUlESUFNZ0NVc2JJZ01nQXlBSVN4c2hBeUFBS0FMZ0F5Z0NCQ0VJSUFBZ0IwRU1haUFCSUFaQkFuUWdCR29nQXlBSVFUOXhRWm9HYWhFRkFDQUZJQU1nQlNnQ0FHbzJBZ0FnQnlBSEtBSmdJQU5yTmdKZ0lBY2dBeUFIS0FKY2FpSUJOZ0pjSUFFZ0FDZ0N3QUpJQkVBUEN5QUNJQUlvQWdCQkFXbzJBZ0FMSHdFQmZ5QUFLQUxjQXlJQklBQW9Bc0FDTmdKY0lBRWdBQ2dDZERZQ1lBdUhBZ0VGZnlBQUtBTElBeUlIS0FJWUlnTUVRQ0FIUVJScUlRRWdCMEVRYWlFQ0lBY29BZ3doQ1FVZ0FDZ0NCQ2dDSENFRElBY2dBQ0FIS0FJSUlBZEJGR29pQVNnQ0FDQUhRUkJxSWdJb0FnQkJBQ0FEUVI5eFFhSUNhaEVJQUNJSk5nSU1JQWNvQWhnaEF3c2dBQ2dDZENBQktBSUFheUlJSUFZZ0JTZ0NBQ0lLYXlJR0lBSW9BZ0FnQTJzaUN5QUxJQVpMR3lJR0lBWWdDRXNiSVFZZ0FDZ0M1QU1vQWdRaENDQUFJQU5CQW5RZ0NXb2dDa0VDZENBRWFpQUdJQWhCSDNGQitnVnFFUWNBSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQVlnQnlnQ0dHb2lBRFlDR0NBQUlBSW9BZ0FpQUVrRVFBOExJQUVnQUNBQktBSUFhallDQUNBSFFRQTJBaGdMaWdJQkJYOGdBQ2dDeUFNaUIwRVlhaUlJS0FJQUlnUUVRQ0FIUVJCcUlRWWdCMEVNYWlJSklRb2dDU2dDQUNFSkJTQUFLQUlFS0FJY0lRUWdCMEVNYWlJS0lBQWdCeWdDQ0NBSEtBSVVJQWRCRUdvaUJpZ0NBRUVCSUFSQkgzRkJvZ0pxRVFnQUlnazJBZ0FnQ0NnQ0FDRUVDeUFBS0FMY0F5Z0NCQ0VMSUFBZ0FTQUNJQU1nQ1NBSUlBWW9BZ0FnQzBFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0lCSUFSTEJFQWdBQ2dDNUFNb0FnUWhBaUFBSUFvb0FnQWdCRUVDZEdwQkFDQUJJQVJySWdBZ0FrRWZjVUg2QldvUkJ3QWdCU0FBSUFVb0FnQnFOZ0lBSUFnb0FnQWhBUXNnQVNBR0tBSUFJZ0JKQkVBUEN5QUhJQUFnQnlnQ0ZHbzJBaFFnQ0VFQU5nSUFDNThCQVFSL0l3WWhCeU1HUVJCcUpBWWdCaUFGS0FJQWF5RUlJQUFvQXNnRElna29BaEFoQ2lBSFFRQTJBZ0FnQUNnQzNBTW9BZ1FoQmlBQUlBRWdBaUFESUFrb0Fnd2dCeUFLSUFnZ0NDQUtTeHNnQmtFSGNVSGlCbW9SRFFBZ0FDZ0M1QU1vQWdRaEFTQUFJQWtvQWd3Z0JTZ0NBRUVDZENBRWFpQUhLQUlBSUFGQkgzRkIrZ1ZxRVFjQUlBVWdCeWdDQUNBRktBSUFhallDQUNBSEpBWUxrZ0lCQVg4Z0FDZ0N5QU1oQWdKQUFrQUNRQUpBQWtBZ0FRNEVBQU1DQVFNTElBQW9BbFJGQkVBZ0FpQUFLQUxjQXlnQ0JEWUNCQXdFQ3lBQ1FRUTJBZ1FnQWlnQ0RFVUVRQ0FBS0FJRUtBSWNJUUVnQWlBQUlBSW9BZ2hCQUNBQ0tBSVFRUUVnQVVFZmNVR2lBbW9SQ0FBMkFnd0xEQU1MSUFJb0FnaEZCRUFnQUNnQ0FDSUJRUU0yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUVFVMkFnUU1BZ3NnQWlnQ0NFVUVRQ0FBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQmpZQ0JBd0JDeUFBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQURZQ0dDQUNRUUEyQWhRTEtRRUJmeUFBS0FMSUF5Z0NCQ0VFSUFCQkFFRUFRUUFnQVNBQ0lBTWdCRUVIY1VIaUJtb1JEUUFMZndFRWZ5QUFLQUxBQXlJRVFUQnFJZ1lvQWdBZ0JDZ0NOQ0lGU1FSQUlBUkJDR29oQndVZ0FDZ0N4QU1vQWd3aEJTQUFJQVJCQ0dvaUJ5QUZRVDl4UVlvQmFoRUNBQVIvSUFaQkFEWUNBQ0FFS0FJMEJROExJUVVMSUFBb0FzZ0RLQUlFSVFRZ0FDQUhJQVlnQlNBQklBSWdBeUFFUVFkeFFlSUdhaEVOQUF1VkJ3RVBmeUFBS0FMQUF5SUVLQUk0UlFSQUlBQW9Bc1FES0FJTUlRZ2dBQ0FFUVR4cUlBUW9Ba1JCQW5ScUtBSUFJQWhCUDNGQmlnRnFFUUlBQkVBZ0JFRUJOZ0k0SUFRZ0JDZ0NURUVCYWpZQ1RBVVBDd3NDUUFKQUFrQUNRQUpBQWtBZ0JDZ0NTQTREQVFJQUF3c2dBQ2dDeUFNb0FnUWhCU0FBSUFSQlBHb2dCQ2dDUkVFQ2RHb29BZ0FnQkVFd2FpSUlJQVJCTkdvaUNpZ0NBQ0FCSUFJZ0F5QUZRUWR4UWVJR2FoRU5BQ0FJS0FJQUlBb29BZ0JKQkVBUEN5QUVRUUEyQWtnZ0FpZ0NBQ0FEU1EwRER3c2dCRUV3YWlFSUlBUkJOR29oQ2d3Q0N5QUVRVEJxSVFnZ0JFRTBhaUVLREFJTER3c2dDRUVBTmdJQUlBb2dBQ2dDeUFJaURrRi9hallDQUNBRUtBSk1JQUFvQXN3Q1JnUkFJQUFvQXNBRElRc2dBQ2dDSkNJUFFRQktCRUFnQzBFOGFpQUxLQUpFUVFKMGFpRVFJQUFvQXRnQklRVURRQ0FGS0FJTUlBVW9BaWhzSWdjZ0RoQTVJUVlnQnlBRktBSXdJQWNRVGlJSElBZEZHeUVISUFsRkJFQWdDeUFIUVg5cUlBWVFPVUVCYWpZQ05Bc2dFQ2dDQUNBSlFRSjBhaWdDQUNFTklBWkJBWFFoRVNBR1FRQktCRUFnQjBGL2FrRUNkQ0FOYWlFTVFRQWhCZ05BSUFZZ0IycEJBblFnRFdvZ0RDZ0NBRFlDQUNBR1FRRnFJZ1lnRVVnTkFBc0xJQVZCMkFCcUlRVWdDVUVCYWlJSklBOUhEUUFMQ3dzZ0JFRUJOZ0pJQ3lBQUtBTElBeWdDQkNFRklBQWdCRUU4YWlBRUtBSkVRUUowYWlnQ0FDQUlJQW9vQWdBZ0FTQUNJQU1nQlVFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0FLS0FJQVNRUkFEd3NnQkNnQ1RFRUJSZ1JBSUFBb0FzQURJUXNnQUNnQ3lBSWhBU0FBS0FJa0lnZEJBRW9FUUNBTFFVQnJJUTBnQVVFQmFpRU9JQUZCQW1vaER5QUFLQUxZQVNFQ1FRQWhBd05BSUFJb0Fnd2dBaWdDS0d3Z0FSQTVJUVVnQ3lnQ1BDQURRUUowYWlnQ0FDRUpJQTBvQWdBZ0EwRUNkR29vQWdBaEJpQUZRUUJLQkVBZ0JTQU9iQ0VRSUFVZ0Qyd2hFVUVBSVFBRFFDQUFJQVZySWd4QkFuUWdDV29nQUNBUWFpSVNRUUowSUFscUtBSUFOZ0lBSUF4QkFuUWdCbW9nRWtFQ2RDQUdhaWdDQURZQ0FDQUFJQkZxSWd4QkFuUWdDV29nQUVFQ2RDQUphaWdDQURZQ0FDQU1RUUowSUFacUlBQkJBblFnQm1vb0FnQTJBZ0FnQUVFQmFpSUFJQVZIRFFBTEN5QUNRZGdBYWlFQ0lBTkJBV29pQXlBSFJ3MEFDd3NGSUFBb0FzZ0NJUUVMSUFRZ0JDZ0NSRUVCY3pZQ1JDQUVRUUEyQWpnZ0NDQUJRUUZxTmdJQUlBb2dBVUVDYWpZQ0FDQUVRUUkyQWtnTDZRTUJFSDhnQUNnQ3dBTWhBZ0pBQWtBQ1FDQUJEZ01BQWdFQ0N5QUFLQUxjQXlnQ0NFVUVRQ0FDUVJFMkFnUWdBaUFDS0FJME5nSXdEd3NnQWtFUU5nSUVJQUFvQXNnQ0lRUWdBQ2dDSkNJTFFRQktCRUFnQWtGQWF5RU1JQVJCQW1vaERTQUVRWDVxSVE0Z0FDZ0MyQUVoQlVFQUlRQURRQ0FGS0FJTUlBVW9BaWhzSUFRUU9TRURJQUlvQWp3Z0FFRUNkR29vQWdBaEJpQU1LQUlBSUFCQkFuUnFLQUlBSVFjZ0FrRUlhaUFBUVFKMGFpZ0NBQ0VJSUFNZ0RXd2lDVUVBU2dSQVFRQWhBUU5BSUFGQkFuUWdCMm9nQVVFQ2RDQUlhaWdDQUNJS05nSUFJQUZCQW5RZ0Jtb2dDallDQUNBQlFRRnFJZ0VnQ1VjTkFBc0xJQU5CQVhRaENTQURRUUJLQkVBZ0F5QUViQ0VLSUFNZ0Rtd2hEMEVBSVFFRFFDQUJJQTlxSWhCQkFuUWdCMm9nQVNBS2FpSVJRUUowSUFocUtBSUFOZ0lBSUJGQkFuUWdCMm9nRUVFQ2RDQUlhaWdDQURZQ0FDQUJRUUZxSWdFZ0NVZ05BQXRCQUNFQkEwQWdBU0FEYTBFQ2RDQUdhaUFHS0FJQU5nSUFJQUZCQVdvaUFTQURSdzBBQ3dzZ0JVSFlBR29oQlNBQVFRRnFJZ0FnQzBjTkFBc0xJQUpCQURZQ1JDQUNRUUEyQWtnZ0FrRUFOZ0pNSUFKQkFEWUNPQThMSUFKQkVqWUNCQThMSUFBb0FnQWlBVUVETmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXVCQkFFSmZ5QUFJQUJCQVVIUUFDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDSUVOZ0xBQXlBRVFUTTJBZ0FnQUNnQ3lBSWhBaUFBS0FMY0F5Z0NDQVIvSUFKQkFrZ0VRQ0FBS0FJQUlnTkJNRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUNBQUtBTElBaUVDQ3lBQUtBTEFBeUlESUFCQkFTQUFRU1JxSWdZb0FnQkJBM1FnQUNnQ0JDZ0NBRUUvY1VIS0FXb1JCQUFpQVRZQ1BDQURRVUJySWdjZ0FTQUFLQUlrSWdGQkFuUnFOZ0lBSUFGQkFFb0VRQ0FDUVFScUlRZ2dBQ2dDMkFFaEFrRUFJUUVEZnlBQVFRRWdBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJZ1VnQ0d3aUNVRURkQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0FGUVFKMGFpRUZJQU1vQWp3Z0FVRUNkR29nQlRZQ0FDQUhLQUlBSUFGQkFuUnFJQWxCQW5RZ0JXbzJBZ0FnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkNJRlNBMEFJQVVMSVFFTElBQW9Bc2dDSWdWQkFtb2hBaUFCSVFNZ0JRVWdCQ0FDTmdJMElBQkJKR29oQmlBQUtBSWtJUU1nQWdzaEFTQURRUUJNQkVBUEN5QUVRUWhxSVFWQkFDRURJQUFvQXRnQklRUURRQ0FFS0FJTUlBUW9BaWhzSUFFUU9TRUJJQU5CQW5RZ0JXb2dBRUVCSUFRb0Fod2dCQ2dDSkd3Z0FTQUNiQ0FBS0FJRUtBSUlRUTl4UVlvQ2FoRUpBRFlDQUNBRFFRRnFJZ01nQmlnQ0FFZ0VRQ0FFUWRnQWFpRUVJQUFvQXNnQ0lRRU1BUXNMQzhJQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVRWNJQUpCUDNGQnlnRnFFUVFBSWdJMkFzZ0RJQUpCTWpZQ0FDQUNRUUEyQWdnZ0FrRUFOZ0lNSUFBb0FsUkZCRUFQQ3lBQ0lBQW9Bc0FDSWdNMkFoQWdBQ2dDQkNFRUlBRUVRQ0FFS0FJUUlRRWdBaUFBUVFGQkFDQUFLQUp3SUFBb0FuaHNJQUFvQW5RZ0F4RDRBU0FDS0FJUUlBRkJQM0ZCeGdKcUVRb0FOZ0lJQlNBRUtBSUlJUUVnQWlBQVFRRWdBQ2dDY0NBQUtBSjRiQ0FESUFGQkQzRkJpZ0pxRVFrQU5nSU1Dd3VoQkFFTWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQm9BRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzNBTWdBa0dHQVRZQ0FDQUNRUU0yQWdRZ0FrRUFOZ0lJSUFBb0FyUUNCRUFnQUNnQ0FDSUJRUm8yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBS0FJa1FRQk1CRUFQQ3lBQ1FlUUFhaUVKSUFKQk5Hb2hCU0FDUVF4cUlRb2dBa0dNQVdvaEN5QUNRWllCYWlFTUlBQW9BdGdCSVFKQkFDRUJBMEFnQWlnQ0NDQUNLQUlrYkNBQUtBTEVBaEE1SVFjZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlRWWdBQ2dDdkFJaEJDQUFLQUxBQWlFSUlBRkJBblFnQ1dvZ0JqWUNBQ0FDS0FJMEJFQUNRQ0FHSUFoR0lnTWdCQ0FIUm5FRVFDQUJRUUowSUFWcVFRdzJBZ0FNQVFzZ0F5QUVJQWRCQVhSR0lnTnhCRUFnQVVFQ2RDQUZha0VOTmdJQUJRSkFJQU1nQ0NBR1FRRjBSbkVFUUNBQlFRSjBJQVZxUVE0MkFnQU1BUXNnQkNBSElBUWdCeEE1SWdSc2EwVUVRQ0FJSUFZZ0NDQUdFRGtpQTJ4clJRUkFJQUZCQW5RZ0JXcEJEellDQUNBQklBdHFJQVE2QUFBZ0FTQU1haUFET2dBQURBSUxDeUFBS0FJQUlnTkJKellDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUU1nQVVFQ2RDQUthaUFBUVFFZ0FDZ0NjQ0FBS0FLOEFoRDRBU0FBS0FMQUFpQURRUTl4UVlvQ2FoRUpBRFlDQUFzRklBRkJBblFnQldwQkN6WUNBQXNnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkVnTkFBc0xraEFCQm44Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBVFlDNEFNZ0FVR0ZBVFlDQUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUJBZ0lCQVFNTElBQW9BaVJCQVVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBTUxJQUFvQWlSQkEwY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUlMSUFBb0FpUkJCRWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFFTElBQW9BaVJCQVVnRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUt3QWdSQUFrQUNRQ0FBS0FJb1FRSnJEZ1VCQUFBQUFRQUxJQUFvQWdBaUFrRWNOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0xBa0FDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBa0VCYXc0R0FBRUVBd1FDQkFzZ0FFRUJOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQUFnSUNBQUlMSUFGQkpqWUNCQ0FBS0FJa0lnSkJBVXdOQnlBQUtBTFlBU0VEUVFFaEFRTkFJQUZCMkFCc0lBTnFRUUEyQWpRZ0FVRUJhaUlCSUFKSURRQUxEQUlMQWtBQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRW5OZ0lFREFJTElBRkJLRFlDQkF3QkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFLQUxnQXlBQVFRRkJnQmdnQVVFL2NVSEtBV29SQkFBaUFqWUNHRUVBSVFFRFFDQUJRUUowSUFKcUlBRkJpNWtCYkRZQ0FDQUJRWUFDYWtFQ2RDQUNhaUFCUWNhc0FtdzJBZ0FnQVVHQUJHcEJBblFnQW1vZ0FVR3ZPbXhCZ0lBQ2FqWUNBQ0FCUVFGcUlnRkJnQUpIRFFBTERBRUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDd3dFQ3lBQVFRTTJBbmdDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBTUJCQVFFQWdRTElBRkJLVFlDQkF3SUN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0RDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjA1c0xiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtIRWxnNXNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWQya2VtdzJBZ0FnQVVFQ2RDQURhaUFDUWMyZmZXeEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3dKQUFrQUNRQ0FBS0FLd0FnNENBQUVDQ3lBQlFTczJBZ1FNQndzZ0FVRXNOZ0lFREFZTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUJBc01Bd3NnQUVFRE5nSjRJQUFvQWloQkJrY0VRQ0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1Bd3NDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFck5nSUVEQVFMSUFGQkxEWUNCQXdEQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQWdzZ0FFRUVOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUVhdzRDQVFBQ0N5QUJRUzAyQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDeUFCUVM0MkFnUU1Bd3NnQUNnQ0FDSUJRUncyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUlMREFFTElBQW9BaWdnQWtZRVFDQUFJQUFvQWlRMkFuZ2dBVUV1TmdJRUJTQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpVQkVBZ0FFRUJOZ0o4RHdzZ0FDQUFLQUo0TmdKOEM4NEVBUWQvSUFBb0FnUW9BZ0FoQVNBQUlBQkJBVUV3SUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdHdESUFGQmhBRTJBZ0FnQVVFQU5nSUlJQUVnQUNnQ2VDQUFLQUp3YkNJQ05nSW9JQUFvQXNBQ1FRSkdCRUFnQVVFQk5nSUVJQUZCQ1RZQ0RDQUFLQUlFS0FJRUlRTWdBU0FBUVFFZ0FpQURRVDl4UWNvQmFoRUVBRFlDSUNBQUtBTGNBeUVCQlNBQlFRSTJBZ1FnQVVFS05nSU1JQUZCQURZQ0lBc0NmeUFBS0FJb1FRZEdJUWNnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSVFJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0ZDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhnZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ0kyQWh3Z0FTZ0NFQ0VESUFFb0FoUWhCQ0FCS0FJWUlRVWdCd3NFUUVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSFRtd3RzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFjU1dEbXhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQjNhUjZiRFlDQUNBQVFRSjBJQUpxSUFGQnpaOTliRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQlVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSHB6UVZzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFhS0xCMnhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQnJwSjliRFlDQUNBQVFRSjBJQUpxSUFGQjU4OStiRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQ3d2SEF3RURmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJMQ0FCUVQ5eFFjb0JhaEVFQUNJRE5nTGtBeUFEUVRFMkFnQWdBMEdEQVRZQ0RDQURRUUEyQWlBZ0EwRUFOZ0lvSUFBb0FuaEJBMGNFUUNBQUtBSUFJZ0ZCTURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBRElBQkJBVUdBQVNBQlFUOXhRY29CYWhFRUFEWUNHRUVBSVFFRFFDQUFLQUlFS0FJRUlRSWdBRUVCUVlBZ0lBSkJQM0ZCeWdGcUVRUUFJUUlnQXlnQ0dDQUJRUUowYWlBQ05nSUFJQUZCQVdvaUFVRWdSdzBBQ3lBRFFRRTJBaHdnQUNnQ2JBUkFJQUFvQW1BaUFVRUlTQVJBSUFBb0FnQWlBa0U2TmdJVUlBSkJDRFlDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUNRVHMyQWhRZ0FrR0FBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFJZ0F5QUFRUUVnQVVFRElBSkJEM0ZCaWdKcUVRa0FOZ0lRSUFNZ0FUWUNGQVVnQTBFQU5nSVFDeUFBS0FKWVJRUkFEd3NnQUVFQ05nSllJQUFvQWdRb0FnUWhBU0FESUFCQkFTQUFLQUp3UVFac1FReHFJQUZCUDNGQnlnRnFFUVFBTmdJZ0lBQVFwQU1MalFrQkQzOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFkZ0FJQUZCUDNGQnlnRnFFUVFBSWdFMkF1UURJQUZCTURZQ0FDQUJRWUVCTmdJSUlBRkJnZ0UyQWd3Z0FVRUFOZ0pFSUFGQkFEWUNOQ0FBS0FKNFFRUktCRUFnQUNnQ0FDSUJRVGsyQWhRZ0FVRUVOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ1lDSUZRWUFDU2dSQUlBQW9BZ0FpQVVFN05nSVVJQUZCZ0FJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BbUFoQlFzZ0FDZ0M1QU1oQnlBQUtBSjRJZ1pCQVVvRVFFRUJJUUVEZjBFQklRTWdBVUVCYWlJRUlRSURRQ0FDSUFSc0lRSWdBMEVCYWlJRElBWkhEUUFMSUFJZ0JVb0VmeUFDSVFNZ0FRVWdCQ0VCREFFTEN5RUNCU0FGUVFFZ0JVRUJTaHNpQWtFQmFpRURDeUFDUVFKSkJFQWdBQ2dDQUNJQlFUbzJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dCa0VBU2dSQVFRRWhBVUVBSVFNRFFDQUhRU0JxSUFOQkFuUnFJQUkyQWdBZ0FTQUNiQ0VCSUFOQkFXb2lBeUFHUncwQUN3SkFJQUFvQWl4QkFrWUVRRUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowUWRTSEFXb29BZ0JCQW5ScUlna29BZ0FpQkVFQmFpRUlBa0FDUUNBQklBUVFPU0FJYkNJRUlBVktEUUFnQ1NBSU5nSUFJQU5CQVdvaUF5QUdTQVIvUVFFaEFpQUVCVUVCSVFJZ0JDRUJEQUVMSVFFTUFRc2dBa1VOQTBFQUlRTkJBQ0VDQ3d3QUFBc0FCVUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowYWlJSktBSUFJZ1JCQVdvaENBSkFBa0FnQVNBRUVEa2dDR3dpQkNBRlNnMEFJQWtnQ0RZQ0FDQURRUUZxSWdNZ0JrZ0VmMEVCSVFJZ0JBVkJBU0VDSUFRaEFRd0JDeUVCREFFTElBSkZEUU5CQUNFRFFRQWhBZ3NNQUFBTEFBc0FDeUFCSVFJRlFRRWhBZ3NnQUNnQ0FDRUJJQUFvQW5oQkEwWUVRQ0FCSUFJMkFoZ2dBU0FIS0FJZ05nSWNJQUVnQnlnQ0pEWUNJQ0FCSUFjb0FpZzJBaVFnQVVIZ0FEWUNGQ0FCS0FJRUlRRUZJQUZCNFFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFRc2dBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BZ1FvQWdnaEFTQUFRUUVnQWlBQUtBSjRJQUZCRDNGQmlnSnFFUWtBSVFvZ0FDZ0NlQ0lCUVFCS0JFQkJBQ0VFSUFJaEF3TkFJQU1nQjBFZ2FpQUVRUUowYWlnQ0FDSUpFRGtoQlNBSlFRQktCRUFnQ1VGL2FpSUxRUUlRT1NFTUlBUkJBblFnQ21vaERTQUZRUUJLQkVCQkFDRUdBMEFnQlNBR2JDSUJJQUpJQkVBZ0RDQUdRZjhCYkdvZ0N4QTVRZjhCY1NFT0EwQkJBQ0VJQTBBZ0RTZ0NBQ0FCSUFocWFpQU9PZ0FBSUFVZ0NFRUJhaUlJUncwQUN5QUJJQU5xSWdFZ0FrZ05BQXNMSUFrZ0JrRUJhaUlHUncwQUN5QUFLQUo0SVFFTEN5QUVRUUZxSWdRZ0FVZ0VRQ0FGSVFNTUFRc0xDeUFISUFvMkFoQWdCeUFDTmdJVUlBQVFvUU1nQUNnQ1dFRUNSd1JBRHdzZ0FDZ0M1QU1oQWlBQUtBSndJUThnQUNnQ2VFRUFUQVJBRHdzZ0QwRUJkRUVFYWlFRFFRQWhBUU5BSUFBb0FnUW9BZ1FoQkNBQ1FjUUFhaUFCUVFKMGFpQUFRUUVnQXlBRVFUOXhRY29CYWhFRUFEWUNBQ0FCUVFGcUlnRWdBQ2dDZUVnTkFBc0wyd1VCRDM4Z0FDZ0NGQ0lDUWNvQlJ3UkFJQUFvQWdBaUFVRVZOZ0lVSUFFZ0FqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFRa1FZZ0FDZ0MyQUVoQkNBQUtBSWtJZ3hCQUVvaURnUi9JQUFvQXNnQ0lRSWdBQ2dDeEFJaUNFRUlRUVFnQUNnQ1RCc2lDVW9FUUNBQ0lBbEtJUTBnQ0VFQmRDRURJQVFoQVFOQUlBRWlCeUFJTmdJa0lBMEVRQ0FDSVFFRkFrQWdBQ2dDd0FJaENpQUhLQUlNSVF0QkFTRUdJQUloQVFOQUlBb2dCa0VCZENJR0lBdHNFRThOQVNBQ0lBWnNJZ0VnQ1V3TkFBc0xDeUFISWdZZ0FUWUNLQ0FJSUFGQkFYUWlDa29FUUNBSElBbzJBaVFGSUFFZ0Ewb0VRQ0FHSUFNMkFpZ0xDeUFHUWRnQWFpRUJJQVZCQVdvaUJTQU1TQTBBQ3dVZ0FDZ0N2QUloRFNBQ0lBbEtJUW9nQkNFQkEwQWdBU2dDQ0NFRFFRRWhCU0FJSVFjRFFDQU5JQU1nQlVFQmRDSUZiQkJQUlFSQUlBVWdDR3dpQnlBSlRBMEJDd3NnQVNJRklBYzJBaVFnQ2dSQUlBSWhBUVVDUUNBQUtBTEFBaUVMSUFVb0Fnd2hEMEVCSVFNZ0FpRUJBMEFnQ3lBUElBTkJBWFFpQTJ3UVR3MEJJQUlnQTJ3aUFTQUpUQTBBQ3dzTElBVWlBeUFCTmdJb0lBY2dBVUVCZENJTFNnUkFJQVVnQ3pZQ0pBVWdBU0FIUVFGMElnRktCRUFnQXlBQk5nSW9Dd3NnQTBIWUFHb2hBU0FHUVFGcUlnWWdERWdOQUFzTElBNEVmMEVBSVFJRGZ5QUVJQVFvQWlRZ0FDZ0NIQ0FFS0FJSWJHd2dBQ2dDdkFJZ0FDZ0NyQU5zRUdnMkFpd2dCQ0FFS0FJb0lBQW9BaUFnQkNnQ0RHeHNJQUFvQXNBQ0lBQW9BcXdEYkJCb05nSXdJQVJCMkFCcUlRUWdBa0VCYWlJQ0lBQW9BaVFpQVVnTkFDQUJDd1VnREFzRklBd0xJUUlDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBVUVCYXc0SEFBRUNBd01CQWdRTElBRWhBZ3dEQzBFRElRSU1BZ3RCQXlFQ0RBRUxRUVFoQWdzZ0FDQUNOZ0o0SUFCQkFTQUNJQUFvQWxRYk5nSjhJQUFRcGdORkJFQWdBRUVCTmdLQUFROExJQUFnQUNnQ3dBSTJBb0FCQ3pzQkFuOGdBQ2dDdkFNaEFTQUFLQUpVQkVBZ0FDZ0M1QU1vQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FTQUJLQUlNUVFGcU5nSU1DNUFFQVFOL0lBQW9BcndESWdJb0FnZ0VRQ0FDUVFBMkFnZ2dBQ2dDNUFNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QWdBQ2dDeUFNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QUZJQUFvQWxRRVFDQUFLQUtJQVVVRVFBSkFJQUFvQWx3RVFDQUFLQUpzQkVBZ0FDQUNLQUlZTmdMa0F5QUNRUUUyQWdnTUFnc0xJQUFvQW1RRVFDQUFJQUlvQWhRMkF1UURCU0FBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDd3NMSUFBb0F0Z0RLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3hBTW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKRVJRUkFJQUlvQWhCRkJFQWdBQ2dDNEFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDM0FNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpVQkVBZ0FDZ0M1QU1vQWdBaEFTQUFJQUlvQWdnZ0FVRS9jVUd5QldvUkF3QUxJQUFvQXNnREtBSUFJUUVnQUVFRFFRQWdBaWdDQ0JzZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QUxDeUFBS0FJSUlnRkZCRUFQQ3lBQklBSW9BZ3dpQXpZQ0RDQUJJQU5CQWtFQklBSW9BZ2diYWlJQ05nSVFJQUJCUUdzb0FnQkZCRUFQQ3lBQUtBTE1BeWdDRkFSQUR3c2dBU0FDUVFKQkFTQUFLQUpzRzJvMkFoQUw4d1lCQkg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBallDdkFNZ0FrSC9BRFlDQUNBQ1FZQUJOZ0lFSUFKQkFEWUNDQ0FBS0FMVUFTSUJRUWhIQkVBZ0FDZ0NBQ0lEUVJBMkFoUWdBeUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FCRDNCU0FBS0FJRUtBSUFJUUVnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdOQkFFR0FCQkJGR2lBQUlBTkJnQVJxSWdRMkF0QUNRUUFoQVFOQUlBRWdCR29nQVRvQUFDQUJRUUZxSWdGQmdBSkhEUUFMSUFOQmdBWnFRWDlCZ0FRUVJSb0NRQUpBSUFBb0FuUkZEUUFnQUNnQ2NFVU5BQ0FBUWZnQWFpSURLQUlBUVFGSURRQU1BUXNnQUNnQ0FDSUJRU0UyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCK0FCcUlRTUxJQUpCQURZQ0RDQUNJQUFRcGdNMkFoQWdBa0VBTmdJVUlBSkJBRFlDR0NBQUtBSlVCRUFDUUNBQVFVQnJLQUlBUlFSQUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNDeUFBUWNRQWFpSUJLQUlBQkVBZ0FDZ0NBQ0lFUVRBMkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFRUU5HQkVBQ1FDQUFLQUtJQVFSQUlBQkJBVFlDYUF3QkN5QUFLQUpjQkVBZ0FFRUJOZ0pzQlNBQVFRRTJBbVFMQ3dVZ0FFRUJOZ0prSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdLSUFRc2dBQ2dDWkFSQUlBQVE5Z1VnQWlBQUtBTGtBellDRkFzZ0FDZ0NiRVVFUUNBQUtBSm9SUTBCQ3lBQUVQVUZJQUlnQUNnQzVBTTJBaGdMQlNBQVFRQTJBbVFnQUVFQU5nSm9JQUJCQURZQ2JDQUFRY1FBYWlFQkN5QUJLQUlBUlFSQUlBSW9BaEFFUUNBQUVQUUZCU0FBRVBNRklBQVE4Z1VMSUFBZ0FDZ0NiQkR4QlFzZ0FCREhCaUFBS0FMa0FRUkFJQUFRaXdZRklBQVFtd1lMSUFBZ0FDZ0N6QU1vQWhBRWYwRUJCU0FBUVVCcktBSUFRUUJIQ3hDS0JpQUJLQUlBUlFSQUlBQVE4QVVMSUFBb0FnUW9BaGdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMTUF5Z0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWdnaUFVVUVRQThMSUFCQlFHc29BZ0FFUUE4TElBQW9Bc3dES0FJUVJRUkFEd3NnQUNnQ0pDSURJQU5CQTJ4QkFtb2dBQ2dDNEFGRkd5RURJQUZCQURZQ0JDQUJJQU1nQUNnQ3pBSnNOZ0lJSUFGQkFEWUNEQ0FCUVFOQkFpQUFLQUpzR3pZQ0VDQUNJQUlvQWd4QkFXbzJBZ3dML2dRQkJYOENRQUpBQWtBQ1FBSkFBa0FnQUNnQ0ZDSUJRY29CYXc0REFBTUJBZ3NnQUJENkJTQUFRVUJyS0FJQVJRUkFJQUJCeXdFMkFoUU1Bd3NnQUVIUEFUWUNGRUVCRHdzZ0FFRzhBMm9oQXd3REN5QUFLQUlBSWdKQkZUWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBRUxJQUFvQXN3REtBSVFCRUFDUUNBQUtBSUlJUUVEUUFKQUlBRUVRQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dES0FJQUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnSU9Bd0VBQXdBTElBSkJBbkpCQTBZZ0FDZ0NDQ0lCUVFCSGNRUkFJQUVnQVNnQ0JFRUJhaUlDTmdJRUlBSWdBU2dDQ0NJQ1RnUkFJQUVnQWlBQUtBTE1BbW8yQWdnTEN3d0JDd3NnQWc4TEN5QUFJQUFvQXBBQk5nS1lBUXNnQUVHOEEyb2hBeUFBS0FJVVFjd0JSd1JBSUFNb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBUVFBMkFvd0JJQUJCekFFMkFoUUxDeUFES0FJQUlnRW9BZ2dFUUFKQUlBQkJqQUZxSWdVb0FnQWhBZ05BQWtBZ0FpQUFLQUowSWdSSkJFQWdBaUVCSUFRaEFnTkFJQUFvQWdnaUJBUi9JQVFnQVRZQ0JDQUVJQUkyQWdnZ0JDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQVVvQWdBRklBRUxJUUlnQUNnQ3dBTW9BZ1FoQVNBQVFRQWdCVUVBSUFGQkgzRkIrZ1ZxRVFjQUlBVW9BZ0FpQVNBQ1JnMENJQUVnQUNnQ2RDSUNTUTBBQ3lBREtBSUFJUUVMSUFFb0FnUWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQURLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JVRUFOZ0lBSUFNb0FnQWlBU2dDQ0VVTkFrRUFJUUlNQVFzTFFRQVBDd3NnQUVIT0FVSE5BU0FBS0FKRUd6WUNGRUVCQzFBQkEzOUJmeUVCQTBBQ1FBSkFBa0FnQUNBQ2Fpd0FBQ0lEQkVBZ0EwRXVSZ1JBREFJRkRBTUxBQXNNQWdzZ0FpRUJDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FBSUFGcVFRQTZBQUFMQzhvSkFRMS9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RU5JQUFvQXZBQ1FRQk1CRUJCQVE4TElBVkJ2QUZxSVE0Q1FBSkFBMEFDUUNBSVFRSjBJQUZxS0FJQUlRd2dBQ0FGUVR4cUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZ3RCQW5ScUtBSUFJZ1lvQWhRaUIwRUNkR29pQXlnQ0FDQUZRU2hxSUF0QkFuUnFJZ2tvQWdCcUlnSVFYUVJBSUFBZ0FDQUNRUUZxRUYwaUNpQUNRUUpxYWlJRUVGMGlBZ1JBSUFBZ0F5Z0NBRUVVYWlJRUVGMEVRQU5BSUFKQkFYUWlBa0dBZ0FKR0RRUWdBQ0FFUVFGcUlnUVFYUTBBQ3dzRlFRQWhBZ3NnQ1NBQ1FRRWdCeUFBUWVnQmFtb3RBQUIwUVFGMVNBUi9RUUFGSUFwQkFuUWhBeUFDUVFFZ0J5QUFRZmdCYW1vdEFBQjBRUUYxU2dSL0lBTkJER29GSUFOQkJHb0xDellDQUNBRVFRNXFJUU1nQWtFQmRTSUVCRUFEUUNBQ0lBUkJBQ0FBSUFNUVhSdHlJUUlnQkVFQmRTSUVEUUFMQ3lBRlFSaHFJQXRCQW5ScUlnUW9BZ0FnQWtGL2N5QUNRUUZxSUFvYmFpRUNJQVFnQWpZQ0FBVWdDVUVBTmdJQUlBVkJHR29nQzBFQ2RHb29BZ0FoQWdzZ0RDQUNPd0VBSUFBb0FyUURCRUFDUUNBRlFmd0FhaUFHS0FJWUlnSkJBblJxSVFjZ0FpQUFRWWdDYW1vaENVRUFJUVFEUUNBQUlBY29BZ0FnQkVFRGJHb2lBeEJkRFFFZ0JFRUJhaUVDSUFBZ0EwRUJhaEJkQkVBZ0JDRUdJQUloQkFVZ0F5RUdBMzhnQWlBQUtBSzBBMDROQ0NBR1FRTnFJUU1nQWtFQmFpRUVJQUFnQmtFRWFoQmRCSDhnQWdVZ0F5RUdJQVFoQWd3QkN3c2hCZ3NnQUNBT0VGMGhDaUFBSUFOQkFtb2lBeEJkSWdJRVFDQUFJQU1RWFFSQUlBSkJBWFFoQWlBQUlBY29BZ0JCdlFGQjJRRWdCaUFKTFFBQVNCdHFJZ01RWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQ2lBQUlBTkJBV29pQXhCZERRQUxDd3NnQTBFT2FpRUdJQUpCQVhVaUF3UkFBMEFnQWlBRFFRQWdBQ0FHRUYwYmNpRUNJQU5CQVhVaUF3MEFDd3NGUVFBaEFnc2dCRUVDZENBTmFpZ0NBRUVCZENBTWFpQUNRZi8vQTNNZ0FrRUJhaUFLR3pzQkFDQUVJQUFvQXJRRFNBMEFDd3NMSUFoQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFnTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdTZCZ0VOZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0NzQU1oQmlBQktBSUFJUWNnQUNnQzJBSW9BaGdoQWtFQklBQW9BcWdESWdGMElRaEJmeUFCZENFSklBQW9BcUFESVFFRGZ3Si9JQUVnQVVFQ2RDQUdhaWdDQUVFQmRDQUhhaTRCQUEwQUdpQUJRWDlxSWdFTkFVRUFDd3NoQlNBRFFmd0FhaUFDUVFKMGFpRUtJQU5CdkFGcUlRc2dDRUgvL3dOeElRd2dDVUgvL3dOeElRMGdBQ2dDbkFOQmYyb2hBUUpBQTBBQ1FDQUtLQUlBSUFGQkEyeHFJUUlnQVNBRlRnUkFJQUFnQWhCZERRTUxBa0FDUUNBQlFRRnFJZ0ZCQW5RZ0Jtb29BZ0JCQVhRZ0Iyb2lCQzRCQUEwQUEwQWdBQ0FDUVFGcUVGMUZCRUFnQVNBQUtBS2dBMDROQkNBQ1FRTnFJUUlnQVVFQmFpSUJRUUowSUFacUtBSUFRUUYwSUFkcUlnUXVBUUJGRFFFTUFnc0xJQUFnQ3hCZEJFQWdCQ0FOT3dFQUJTQUVJQXc3QVFBTERBRUxJQUFnQWtFQ2FoQmRCRUFnQkM0QkFDSU9JUUlnRGtFQVNBUkFJQVFnQWlBSmFqc0JBQVVnQkNBQ0lBaHFPd0VBQ3dzTElBRWdBQ2dDb0FOSURRRU1BZ3NMSUFBb0FnQWlBVUgxQURZQ0ZDQUJLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFOQmZ6WUNGRUVCRHd0QkFRdmpBd0VFZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQUFvQXFnRElRSWdBQ2dDOEFKQkFFd0VRRUVCRHdzZ0EwRzhBV29oQTBFQklBSjBJUVJCQUNFQ0EwQWdBQ0FERUYwRVFDQUNRUUowSUFGcUtBSUFJZ1VnQkNBRkx3RUFjanNCQUFzZ0FrRUJhaUlDSUFBb0F2QUNTQTBBQzBFQkM4MEdBUXAvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVISUFFb0FnQWhDQ0FGUWZ3QWFpQUFLQUxZQWlnQ0dDSUJRUUowYWlFR0lBVkJ2QUZxSVFrZ0FTQUFRWWdDYW1vaENpQUFLQUtjQTBGL2FpRUNBa0FDUUFOQUFrQWdBQ0FHS0FJQUlBSkJBMnhxSWdNUVhRMENJQUpCQVdvaEFTQUFJQU5CQVdvUVhRUkFJQUloQkNBQklRSUZBMzhnQVNBQUtBS2dBMDROQWlBRFFRTnFJUVFnQVVFQmFpRUNJQUFnQTBFRWFoQmRCSDhnQkNFRElBRUZJQVFoQXlBQ0lRRU1BUXNMSVFRTElBQWdDUkJkSVFzZ0FDQURRUUpxSWdNUVhTSUJCRUFnQUNBREVGMEVRQ0FCUVFGMElRRWdBQ0FHS0FJQVFiMEJRZGtCSUFRZ0NpMEFBRWdiYWlJRUVGMEVRQU5BSUFGQkFYUWlBVUdBZ0FKR0RRY2dBQ0FFUVFGcUlnUVFYUTBBQ3dzRklBTWhCQXNnQkVFT2FpRURJQUZCQVhVaUJBUkFBMEFnQVNBRVFRQWdBQ0FERUYwYmNpRUJJQVJCQVhVaUJBMEFDd3NGUVFBaEFRc2dBa0VDZENBSGFpZ0NBRUVCZENBSWFpQUJRWDl6SUFGQkFXb2dDeHNnQUNnQ3FBTjBPd0VBSUFJZ0FDZ0NvQU5JRFFFTUFnc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdmtCZ0VMZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JDZ0NGRUVDZEdvb0FnQWlCVUlBTndBQUlBVkNBRGNBQ0NBRlFnQTNBQkFnQlVJQU53QVlJQVZDQURjQUlDQUZRZ0EzQUNnZ0JVSUFOd0F3SUFWQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JDZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0M4QUpCQUV3RVFFRUJEd3RCQUNFRkFrQUNRQU5BQWtBZ0JVRUNkQ0FCYWlnQ0FDRU1JQUFnQTBFOGFpQUFRZGdDYWlBQVFmUUNhaUFGUVFKMGFpZ0NBQ0lIUVFKMGFpZ0NBQ2dDRkNJSVFRSjBhaUlHS0FJQUlBTkJLR29nQjBFQ2RHb2lDU2dDQUdvaUFoQmRCRUFnQUNBQUlBSkJBV29RWFNJS0lBSkJBbXBxSWdRUVhTSUNCRUFnQUNBR0tBSUFRUlJxSWdRUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkJDQUFJQVJCQVdvaUJCQmREUUFMQ3dWQkFDRUNDeUFKSUFKQkFTQUlJQUJCNkFGcWFpMEFBSFJCQVhWSUJIOUJBQVVnQ2tFQ2RDRUdJQUpCQVNBSUlBQkIrQUZxYWkwQUFIUkJBWFZLQkg4Z0JrRU1hZ1VnQmtFRWFnc0xOZ0lBSUFSQkRtb2hCaUFDUVFGMUlnUUVRQU5BSUFJZ0JFRUFJQUFnQmhCZEczSWhBaUFFUVFGMUlnUU5BQXNMSUFOQkdHb2dCMEVDZEdvaUJDZ0NBQ0FDUVg5eklBSkJBV29nQ2h0cUlRSWdCQ0FDTmdJQUJTQUpRUUEyQWdBZ0EwRVlhaUFIUVFKMGFpZ0NBQ0VDQ3lBTUlBSWdBQ2dDcUFOME93RUFJQVZCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUVVNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRFFYODJBaFJCQVF2S0NRRUpmeUFBS0FMVUF5RUNJQUFvQXB3RElnWkZJUU1nQUNnQzRBRUVRQ0FBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBWklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBR05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFSFVBbW9pQmlnQ0FDSUJRUUJLQkVBZ0FFR2tBMm9oQlVFQUlRTURRQ0FBUWRnQ2FpQURRUUowYWlnQ0FDZ0NCQ0VJSUFBb0FxQUJJUWtnQUNnQ25BTWlBUVJBSUFoQkNIUWdDV29vQWdCQkFFZ0VRQ0FBS0FJQUlnRkI5Z0EyQWhRZ0FTQUlOZ0lZSUFBb0FnQkJBRFlDSENBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFBb0Fwd0RJUUVMQlVFQUlRRUxJQUVnQUNnQ29BTk1CRUFEUUNBRktBSUFJQWhCQ0hRZ0NXb2dBVUVDZEdvaUJDZ0NBQ0lIUVFBZ0IwRUFTaHRIQkVBZ0FDZ0NBQ0lIUWZZQU5nSVVJQWNnQ0RZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0JDRUhJQUJCZnlBSFFUOXhRYklGYWhFREFBc2dCQ0FBS0FLb0F6WUNBQ0FCUVFGcUlRUWdBU0FBS0FLZ0EwZ0VRQ0FFSVFFTUFRc0xDeUFEUVFGcUlnTWdCaWdDQUNJQlNBMEFDd1VnQUVHa0Eyb2hCUXNnQUNnQ25BTkZJUU1nQlNnQ0FBUkFJQU1FUUNBQ1FTMDJBZ1FGSUFKQkxqWUNCQXNGSUFNRVFDQUNRU3MyQWdRRklBSkJMRFlDQkFzTEJRSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0NvQU1pQVVIQUFFZ0VRQ0FBS0FLMEF5QUJSdzBCQ3d3QkN5QUFLQUlBSWdGQi9RQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFBc2dBa0V2TmdJRUlBQkIxQUpxSWdFaEJpQUJLQUlBSVFFTElBRkJBRXdFUUNBQ1FRQTJBZ3dnQWtFQU5nSVFJQUpCY0RZQ0ZDQUNJQUFvQXBnQ05nSTREd3RCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBUW9BaFFpQVVFUFN3UkFJQUFvQWdBaUJVRXlOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUpCUEdvZ0FVRUNkR29pQlNnQ0FDSUJSUVJBSUFBb0FnUW9BZ0FoQVNBRklBQkJBVUhBQUNBQlFUOXhRY29CYWhFRUFDSUJOZ0lBQ3lBQlFnQTNBQUFnQVVJQU53QUlJQUZDQURjQUVDQUJRZ0EzQUJnZ0FVSUFOd0FnSUFGQ0FEY0FLQ0FCUWdBM0FEQWdBVUlBTndBNElBSkJHR29nQTBFQ2RHcEJBRFlDQUNBQ1FTaHFJQU5CQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRUtBSVlJZ0ZCRDBzRVFDQUFLQUlBSWdSQk1qWUNGQ0FFSUFFMkFoZ2dBQ2dDQUNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUNRZndBYWlBQlFRSjBhaUlFS0FJQUlnRkZCRUFnQUNnQ0JDZ0NBQ0VCSUFRZ0FFRUJRWUFDSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBZ0FMSUFGQkFFR0FBaEJGR2dzZ0EwRUJhaUlESUFZb0FnQklEUUFMSUFKQkFEWUNEQ0FDUVFBMkFoQWdBa0Z3TmdJVUlBSWdBQ2dDbUFJMkFqZ0xtZ3dCTW44akJpRUhJd1pCZ0FGcUpBWWdBQ2dDeEFNaEZ5QUFLQUxNQWlFeElBQW9BcEFCSWdRZ0FDZ0NtQUVpQlV3RVFBSkFBMEFDUUNBQUtBTE1BeUlDS0FJVURRSWdCQ0FGUmdSQUlBQW9BcFFCSUFBb0Fwd0JJQUFvQXB3RFJXcExEUU1MSUFBZ0FpZ0NBRUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0NrQUVpQkNBQUtBS1lBU0lGVEEwQkRBSUxDeUFISkFaQkFBOExDeUF4UVg5cUlTb2dBQ2dDSkVFQVNnUi9JQUJCbkFGcUlSd2dBQ2dDMkFFaENnTi9JQW9vQWpRRVFDQWNLQUlBSWdnZ0tra0VmeUFLS0FJTUloRkJBWFFoQlNBUklRUkJBQVVnQ2lnQ0lDQUtLQUlNSWdRUVRpSUZJQVFnQlJzaUVTRUZRUUVMSVFrZ0NBUi9JQUFnRjBISUFHb2dEVUVDZEdvb0FnQWdCQ0FJUVg5cWJDQUVJQVZxUVFBZ0FDZ0NCQ2dDSUVFZmNVR2lBbW9SQ0FBZ0NpZ0NERUVDZEdvaEZFRUFCU0FBSUJkQnlBQnFJQTFCQW5ScUtBSUFRUUFnQlVFQUlBQW9BZ1FvQWlCQkgzRkJvZ0pxRVFnQUlSUkJBUXNoRWlBWEtBSndJQTFCQm14QkFuUnFJUk1nQ2lnQ1VDSUVMd0VBSVFnZ0JDOEJBaUVGSUFRdkFSQWhBaUFFTHdFZ0lRNGdCQzhCRWlFUElBUXZBUVFoQkNBQUtBTFlBMEVFYWlBTlFRSjBhaWdDQUNFcklCRkJBRW9FUUNBU1FRQkhJU3dnQ1VFQVJ5RXRJQkZCZjJvaExpQUlRU1JzSVIwZ0JVRUhkQ0VlSUFKQkIzUWhIeUFGUVFoMElTQWdDRUVKYkNFaElBNUJCM1FoSWlBQ1FRaDBJU01nQ2lFdklBaEJCV3doTUNBUFFRZDBJU1FnRGtFSWRDRWxJQVJCQjNRaEppQVBRUWgwSVNjZ0JFRUlkQ0VvUVFBaERDQU5RUUowSUFGcUtBSUFJUmdEUUNBTVFRSjBJQlJxS0FJQUlRSWdMQ0FNUlhFRWZ5QUNCU0FNUVg5cVFRSjBJQlJxS0FJQUN5RVZJQW9vQWh4QmYyb2hLU0F0SUF3Z0xrWnhCSDhnQWdVZ0RFRUJha0VDZENBVWFpZ0NBQXNpR1M0QkFDSUdJUVFnQWk0QkFDSUpJUVVnRlM0QkFDSVFJUWhCQUNFYUlBSWhGa0VBSVJzRFFDQUhJQlpCZ0FFUVRCb2dHaUFwU1FSL0lCa3VBWUFCSVE0Z0ZTNEJnQUVoRHlBV0xnR0FBUVVnQkNFT0lBZ2hEeUFGQ3lFU0lBY3VBUUpGSUJNb0FnUWlBa0VBUjNFRVFDQUhJQjBnQ1NBU2Eyd2lBMEYvU2dSL0lBTWdIbW9nSUJBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2hzRlFRQWdIaUFEYXlBZ0VEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0cyc0xPd0VDQ3lBSExnRVFSU0FUS0FJSUlnSkJBRWR4QkVBZ0J5QWRJQWdnQkd0c0lnTkJmMG9FZnlBRElCOXFJQ01RT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iQlVFQUlCOGdBMnNnSXhBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2h0ckN6c0JFQXNnQnk0QklFVWdFeWdDRENJQ1FRQkhjUVJBSUFjZ0lTQUVJQWdnQlVFQmRHdHFiQ0lEUVg5S0JIOGdBeUFpYWlBbEVEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0d3VkJBQ0FpSUFOcklDVVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2Jhd3M3QVNBTElBY3VBUkpGSUJNb0FoQWlBa0VBUjNFRVFDQUhJREFnRGlBUUlBWnJJQTlyYW13aUJrRi9TZ1IvSUFZZ0pHb2dKeEE1SWdaQkFTQUNkQ0lRUVg5cUlBWWdFRWdiSUFZZ0FrRUFTaHNGUVFBZ0pDQUdheUFuRURraUJrRUJJQUowSWhCQmYyb2dCaUFRU0JzZ0JpQUNRUUJLRzJzTE93RVNDeUFITGdFRVJTQVRLQUlVSWdKQkFFZHhCRUFnQnlBaElCSWdDU0FGUVFGMGEycHNJZ2xCZjBvRWZ5QUpJQ1pxSUNnUU9TSUpRUUVnQW5RaUJrRi9haUFKSUFaSUd5QUpJQUpCQUVvYkJVRUFJQ1lnQ1dzZ0tCQTVJZ2xCQVNBQ2RDSUdRWDlxSUFrZ0JrZ2JJQWtnQWtFQVNodHJDenNCQkFzZ0FDQUtJQWNnR0NBYklDdEJQM0ZCbWdacUVRVUFJQlpCZ0FGcUlSWWdGVUdBQVdvaEZTQVpRWUFCYWlFWklCc2dMeWdDSkdvaEd5QWFRUUZxSWhvZ0tVMEVRQ0FJSVRJZ0JTRUpJQVFoQmlBT0lRUWdFaUVGSUE4aENDQXlJUkFNQVFzTElBb29BaWhCQW5RZ0dHb2hHQ0FNUVFGcUlnd2dFVWNOQUFzTEN5QUtRZGdBYWlFS0lBMUJBV29pRFNBQUtBSWtTQTBBSUJ3TEJTQUFRWndCYWdzaUFTQUJLQUlBUVFGcUlnRTJBZ0JCQTBFRUlBRWdBQ2dDekFKSkd5RXpJQWNrQmlBekM1VUdBUlYvSUFBb0F1Z0NRWDlxSVFvZ0FDZ0N6QUlpQWtGL2FpRVRJQUFvQXNRRElnWW9BaGdpQ0NBR0tBSWNJZ05JQkVBQ1FDQUdRU0JxSVEwZ0FFR1VBV29oRGlBRElRSWdCaWdDRkNFSEFrQUNRQU5BQWtBZ0J5QUtUUVJBQTBBZ0FDZ0N0QU1FUUNBTktBSUFRUUFnQUNnQzhBSkJCM1FRUlJvTElBQW9BdFFES0FJRUlRSWdBQ0FOSUFKQlAzRkJpZ0ZxRVFJQVJRMENJQUFvQXRRQ0lnSkJBRW9FUUNBSElBcEpJUlJCQUNFRFFRQWhDd05BSUFCQjJBSnFJQXRCQW5ScUtBSUFJZ1FvQWpRRVFBSkFJQUFvQXRnRFFRUnFJQVFvQWdRaUJVRUNkR29vQWdBaEZTQUVRVGhxSWc4Z0JFSElBR29nRkJzb0FnQWhFQ0FFS0FJb0lSRWdCeUFFS0FKRWJDRVdJQVFvQWp3aUVrRUFTZ1JBSUJCQkFFd0VRQ0FQS0FJQUlRbEJBQ0VGQTBBZ0F5QUphaUVESUFWQkFXb2lCU0FTU0EwQUN3d0NDeUFGUVFKMElBRnFLQUlBSUFnZ0VXeEJBblJxSVFsQkFDRU1JQU1oQlNBU0lRSWdFU0VEQTBBQ1FBSkFJQTRvQWdBZ0Uwa05BQ0FJSUF4cUlBUW9Ba3hJRFFBTUFRc2dGaUVDUVFBaEF3TkFJQUFnQkNBR1FTQnFJQU1nQldwQkFuUnFLQUlBSUFrZ0FpQVZRVDl4UVpvR2FoRUZBQ0FDSUFRb0FpUnFJUUlnQTBFQmFpSURJQkJIRFFBTElBUW9BaWdoQXlBRUtBSThJUUlMSUFVZ0R5Z0NBR29oQlNBRFFRSjBJQWxxSVFrZ0RFRUJhaUlNSUFKSURRQUxJQVVoQXlBQUtBTFVBaUVDQ3dzRklBTWdCRUZBYXlnQ0FHb2hBd3NnQzBFQmFpSUxJQUpJRFFBTEN5QUhRUUZxSWdjZ0NrME5BQXNnQmlnQ0hDRUNDeUFHUVFBMkFoUWdDRUVCYWlJSUlBSk9EUUpCQUNFSERBRUxDd3dCQ3lBT0lRRWdBQ2dDekFJaEFnd0JDeUFHSUFnMkFoZ2dCaUFITmdJVVFRQVBDd1VnQUVHVUFXb2hBUXNnQUNBQUtBS2NBVUVCYWpZQ25BRWdBU0FCS0FJQVFRRnFJZ00yQWdBZ0F5QUNUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQkE4TElBQW9Bc1FESWdFZ0FDZ0MxQUpCQVVvRWYwRUJCU0FBS0FMWUFpSUFRUXhxSUFCQnpBQnFJQU1nQWtGL2Fra2JLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZUVFNTG9RRUJCSDhEUUFKQUFrQUNRQ0FBSUFGcUxBQUFJZ01FUUNBRFFTNUdCRUFNQWdVTUF3c0FDd3dDQ3lBQklRSUxJQUZCQVdvaEFRd0JDd3NnQUNBQmFpRURRWnk0QVJCZ1FRSnFJUVFDZndKQUlBSUVmeUFDSUFScVFZQUNTZ1IvUVg4RkRBSUxCU0FCSUFScVFZQUNTZ1IvUVg4RklBTkJMam9BQUNBQklRSU1BZ3NMREFFTElBQWdBa0VCYW1wQkFEb0FBQ0FBRUdBZ0FHb1FnUVZCQUFzYUM5b0RBUTkvSUFBb0FzUURJUXNnQUNnQ3pBSkJmMm9oREFKQUFrQURRQUpBSUFBb0FwQUJJZ0lnQUNnQ21BRWlBMDRFUUNBQ0lBTkhEUUVnQUNnQ2xBRWdBQ2dDbkFGTERRRUxJQUFvQXN3REtBSUFJUUlnQUNBQ1FmOEFjVUVJYWhFQUFBMEJEQUlMQ3d3QkMwRUFEd3NnQUNnQ0pFRUFTZ1JBSUFBb0F0Z0JJUUlEUUNBQ0tBSTBCRUFnQUNnQ0JDZ0NJQ0VESUFBZ0MwSElBR29nQkVFQ2RHb29BZ0FnQWlnQ0RDSUZJQUFvQXB3QmJDQUZRUUFnQTBFZmNVR2lBbW9SQ0FBaERTQUFLQUtjQVNBTVNRUi9JQUlvQWd3RklBSW9BaUFnQWlnQ0RDSUZFRTRoQXlBRElBVWdBeHNMSVFrZ0FDZ0MyQU5CQkdvZ0JFRUNkR29vQWdBaERpQUpRUUJLQkVBZ0JFRUNkQ0FCYWlnQ0FDRUdRUUFoQnlBQ0lnVWlEeWdDSENFREEwQWdBd1IvUVFBaEF5QUhRUUowSUExcUtBSUFJUWhCQUNFS0EzOGdBQ0FDSUFnZ0JpQURJQTVCUDNGQm1nWnFFUVVBSUFoQmdBRnFJUWdnQXlBUEtBSWthaUVESUFwQkFXb2lDaUFDS0FJY0loQkpEUUFnRUFzRlFRQUxJUU1nQlNnQ0tFRUNkQ0FHYWlFR0lBZEJBV29pQnlBSlJ3MEFDd3NMSUFKQjJBQnFJUUlnQkVFQmFpSUVJQUFvQWlSSURRQUxDeUFBSUFBb0Fwd0JRUUZxSWdFMkFwd0JRUU5CQkNBQklBQW9Bc3dDU1JzTG5RVUJFMzhqQmlFVEl3WkJFR29rQmlBVElRWWdBQ2dDeEFNaEJDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQW9BZ1FvQWlBaEJTQUFRZGdDYWlBQlFRSjBhaWdDQUNJREtBSU1JUUlnQVVFQ2RDQUdhaUFBSUFSQnlBQnFJQU1vQWdSQkFuUnFLQUlBSUFBb0FwUUJJQUpzSUFKQkFTQUZRUjl4UWFJQ2FoRUlBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSklEUUFMQ3lBRUtBSVlJZ1VnQkNnQ0hDSUJTQVJBQWtBZ0JFRWdhaUVNSUFRb0FoUWhBeUFBS0FMb0FpRUNBMEFDUUNBRElBSkpCRUFnQXlFQ0EwQWdBQ2dDMUFJaURVRUFTZ1JBUVFBaEFVRUFJUWNEUUNBQ0lBQkIyQUpxSUFkQkFuUnFLQUlBSWdNb0FqZ2lDR3doRGlBREtBSThJZzlCQUVvRVFDQUhRUUowSUFacUtBSUFJUkFnQ0VFQVNnUkFRUUFoQ1FOQVFRQWhDeUFGSUFscVFRSjBJQkJxS0FJQUlBNUJCM1JxSVFvZ0FTRURBMEFnQ2tHQUFXb2hFU0FEUVFGcUlSSWdCRUVnYWlBRFFRSjBhaUFLTmdJQUlBdEJBV29pQ3lBSVJ3UkFJQkVoQ2lBU0lRTU1BUXNMSUFFZ0NHb2hBU0FKUVFGcUlna2dEMGdOQUFzTEN5QUhRUUZxSWdjZ0RVZ05BQXNMSUFBb0F0UURLQUlFSVFFZ0FDQU1JQUZCUDNGQmlnRnFFUUlBUlEwQ0lBSkJBV29pQWlBQUtBTG9BaUlCU1EwQUN5QUJJUUlnQkNnQ0hDRUJDeUFFUVFBMkFoUWdCVUVCYWlJRklBRk9EUUpCQUNFRERBRUxDeUFFSUFVMkFoZ2dCQ0FDTmdJVUlBWWtCa0VBRHdzTElBQWdBQ2dDbEFGQkFXb2lBallDbEFFZ0FpQUFLQUxNQWlJRlR3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCaVFHUVFRUEN5QUFLQUxFQXlJQklBQW9BdFFDUVFGS0JIOUJBUVVnQUNnQzJBSWlBRUVNYWlBQVFjd0FhaUFDSUFWQmYycEpHeWdDQUFzMkFod2dBVUVBTmdJVUlBRkJBRFlDR0NBR0pBWkJBd3VsQXdFTGZ5QUFLQUxFQXlJQktBSVFSUVJBSUFCQkFEWUNuQUVQQ3lBQkFuOENRQ0FBS0FKUVJRMEFJQUFvQXVBQlJRMEFJQUFvQXFBQlJRMEFJQUVvQW5BaUFnUkFJQUJCSkdvaEJnVWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQklBQkJKR29pQmlnQ0FFRVliQ0FDUVQ5eFFjb0JhaEVFQUNJQ05nSndDeUFHS0FJQVFRQk1EUUFnQUNnQzJBRWhDQU5BSUFnb0FsQWlBVVVOQVNBQkxnRUFSUTBCSUFFdUFRSkZEUUVnQVM0QkVFVU5BU0FCTGdFZ1JRMEJJQUV1QVJKRkRRRWdBUzRCQkVVTkFTQUFLQUtnQVNJQklBUkJDSFJxS0FJQVFRQklEUUVnQWlBRVFRaDBJQUZxSWdNb0FnUTJBZ1FnQXlnQ0JDRUpJQUlnQkVFSWRDQUJhaUlGS0FJSU5nSUlJQWtnQlNnQ0NISWhDaUFDSUFSQkNIUWdBV29pQlNnQ0REWUNEQ0FLSUFVb0FneHlJUXNnQWlBRVFRaDBJQUZxSWdVb0FoQTJBaEFnQ3lBRktBSVFjaUVESUFJZ0JFRUlkQ0FCYWlJQktBSVVOZ0lVUVFFZ0J5QURJQUVvQWhSeUd5RUhJQUpCR0dvaEFpQUlRZGdBYWlFSUlBUkJBV29pQkNBR0tBSUFTQTBBQ3lBSFJRMEFRU29NQVF0QktBczJBZ3dnQUVFQU5nS2NBUXRTQVFKL0lBQkJBRFlDbEFFZ0FDZ0N4QU1pQVNBQUtBTFVBa0VCU2dSL1FRRUZJQUFvQXRnQ0lnSkJ6QUJxSUFKQkRHb2dBQ2dDekFKQkFVWWJLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZQzZ3REFRVi9JQUFvQWdRb0FnQWhBeUFBSUFCQkFVSDBBQ0FEUVQ5eFFjb0JhaEVFQUNJQ05nTEVBeUFDUWYwQU5nSUFJQUpCL2dBMkFnZ2dBa0VBTmdKd0lBRkZCRUFnQUNnQ0JDZ0NCQ0VCSUFJZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBaUFnQWlBQlFZQUJhallDSkNBQ0lBRkJnQUpxTmdJb0lBSWdBVUdBQTJvMkFpd2dBaUFCUVlBRWFqWUNNQ0FDSUFGQmdBVnFOZ0kwSUFJZ0FVR0FCbW8yQWpnZ0FpQUJRWUFIYWpZQ1BDQUNRVUJySUFGQmdBaHFOZ0lBSUFJZ0FVR0FDV28yQWtRZ0FDZ0N0QU5GQkVBZ0FVRUFRWUFLRUVVYUN5QUNRZFlBTmdJRUlBSkJLVFlDRENBQ1FRQTJBaEFQQ3lBQUtBSWtRUUJLQkVBZ0FrSElBR29oQkVFQUlRTWdBQ2dDMkFFaEFRTkFJQUVvQWd3aUJTQUZRUU5zSUFBb0F1QUJSUnNoQlNBQUtBSUVLQUlVSVFZZ0EwRUNkQ0FFYWlBQVFRRkJBU0FCS0FJY0lBRW9BZ2dRK0FFZ0FTZ0NJQ0FCS0FJTUVQZ0JJQVVnQmtFL2NVSEdBbW9SQ2dBMkFnQWdBVUhZQUdvaEFTQURRUUZxSWdNZ0FDZ0NKRWdOQUFzRklBSkJ5QUJxSVFRTElBSkIxUUEyQWdRZ0FrRW9OZ0lNSUFJZ0JEWUNFQXVoQWdFQ2Z5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQndBRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzFBTWdBa0g3QURZQ0FDQUNRZndBTmdJSUlBSkJQR29pQVVJQU53SUFJQUZDQURjQ0NDQUJRZ0EzQWhBZ0FVSUFOd0lZSUFGQ0FEY0NJQ0FCUWdBM0FpZ2dBVUlBTndJd0lBRkNBRGNDT0NBQlFVQnJRZ0EzQWdBZ0FVSUFOd0pJSUFGQ0FEY0NVQ0FCUWdBM0FsZ2dBVUlBTndKZ0lBRkNBRGNDYUNBQlFnQTNBbkFnQVVJQU53SjRJQUpCOFFBNkFMd0JJQUFvQXVBQlJRUkFEd3NnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJJQUFvQWlSQkNIUWdBVUUvY1VIS0FXb1JCQUFpQWpZQ29BRWdBQ2dDSkVFQVRBUkFEd3RCQUNFQkEwQWdBaUFCUVFoMGFrRi9RWUFDRUVVYUlBRkJBV29pQVNBQUtBSWtTQTBBQ3dzcUFRRi9JQUFvQXRRREtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDekFOQjFBQTJBZ0FMWWdFQmZ5QUFLQUxNQXlJQlFkUUFOZ0lBSUFGQkFEWUNFQ0FCUVFBMkFoUWdBVUVCTmdJWUlBQW9BZ0FvQWhBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQkFEWUNvQUVMWXdFQmZ5QUFRUUJISUFGQkFFZHhCRUFDUUNBQklBRVFZRUVCYWhDQUJTSUNSUVJBSUFCQkFEb0FBQXdCQ3lBQ1FRRnFJQUZySWdKQkFXcEJnQkJMQkVCQkFDRUFCU0FBSUFFZ0FoRFZBU0FBSUFKcVFRQTZBQUFMQ3dWQkFDRUFDeUFBQzZVUEFRbC9JQUFvQXN3RElnUW9BaFFFUUVFQ0R3c0NRQUpBQWtBRFFBSkFJQUFvQXRBREtBSUVJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVdzT0FnQUVCUXNDUUFKQUFrQUNRQUpBSUFRb0FoZ09BZ0FCQWdzZ0JDZ0NFRVVFUUNBQUtBSUFJZ0ZCSkRZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNEUVlNQXdzQ1FBSkFJQUFvQWlCQjNQOERTZzBBSUFBb0FoeEIzUDhEU2cwQURBRUxJQUFvQWdBaUFVRXFOZ0lVSUFGQjNQOEROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBRWlBVUY0YWtFRVN3UkFJQUFvQWdBaUFrRVFOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWlRaUFVRUtTZ1JBSUFBb0FnQWlBa0ViTmdJVUlBSWdBVFlDR0NBQUtBSUFRUW8yQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBUXNnQUVFQk5nSzhBaUFBUVFFMkFzQUNJQUZCQUVvRVFFRUFJUWNnQUNnQzJBRWhBa0VCSVFOQkFTRUZBMEFDZndKQUlBSWlDQ2dDQ0NJR1FYOXFRUU5MRFFBZ0FpZ0NEQ0lKUVg5cVFRTkxEUUFnQ1F3QkN5QUFLQUlBSWdGQkV6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N2QUloQlNBSUtBSUlJUVlnQUNnQ3dBSWhBeUFBS0FJa0lRRWdBaWdDREFzaEFpQUFJQVVnQmlBRklBWktHeUlGTmdLOEFpQUFJQU1nQWlBRElBSktHeUlETmdMQUFpQUlRZGdBYWlFQ0lBZEJBV29pQnlBQlNBMEFDd3NnQUFKL0FrQWdBQ2dDM0FFTkFBSi9JQUFvQXVBQkJFQWdBQ2dDMUFJTkFnc0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BcUFERG9BQ0FCQVFBUkFRRUJBQ0VCQVFFQkFRQXhBUUVCQVFFQkFRQkJBUUVCQVFFQkFRRUJBRkVCQVFFQkFRRUJBUUVCQVFCaEFRRUJBUUVCQVFFQkFRRUJBUUJ4QVFFQkFRRUJBUUVCQVFFQkFRRUJBSUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDaEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBTEVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRREJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRFJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBT0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEeEFMSUFCQkFUWUNyQU1nQUVHQUhEWUNzQU1nQUVFQU5nSzBBMEVCREJBTElBQkJBallDckFNZ0FFSEFKVFlDc0FNZ0FFRUROZ0swQTBFQ0RBOExJQUJCQXpZQ3JBTWdBRUhRSkRZQ3NBTWdBRUVJTmdLMEEwRUREQTRMSUFCQkJEWUNyQU1nQUVIUUl6WUNzQU1nQUVFUE5nSzBBMEVFREEwTElBQkJCVFlDckFNZ0FFR2dJallDc0FNZ0FFRVlOZ0swQTBFRkRBd0xJQUJCQmpZQ3JBTWdBRUhRSURZQ3NBTWdBRUVqTmdLMEEwRUdEQXNMSUFCQkJ6WUNyQU1nQUVIQUhqWUNzQU1nQUVFd05nSzBBMEVIREFvTElBQkJDRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSURBa0xJQUJCQ1RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUpEQWdMSUFCQkNqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVLREFjTElBQkJDellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTERBWUxJQUJCRERZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU1EQVVMSUFCQkRUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVOREFRTElBQkJEallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFT0RBTUxJQUJCRHpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVBEQUlMSUFCQkVEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVRREFFTElBQW9BZ0FpQVVFUk5nSVVJQUVnQUNnQ25BTTJBaGdnQUNnQ0FDQUFLQUtnQXpZQ0hDQUFLQUlBSUFBb0FxUUROZ0lnSUFBb0FnQWdBQ2dDcUFNMkFpUWdBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVNBQUtBS3NBd3NNQVFzZ0FFRUlOZ0tzQXlBQVFZQWNOZ0t3QXlBQVFUODJBclFEUVFnTElnSTJBc1FDSUFBZ0FqWUN5QUlnQVVFQVNnUkFRUUFoQVNBQUtBTFlBU0VEQTBBZ0F5QUNOZ0lrSUFNZ0FqWUNLQ0FESUFBb0Fod2dBeWdDQ0d3Z0FpQUFLQUs4QW13UWFEWUNIQ0FESUFBb0FpQWdBeWdDREd3Z0FDZ0N3QUlnQUNnQ3JBTnNFR2cyQWlBZ0F5QUFLQUljSUFNb0FnaHNJQUFvQXJ3Q0VHZzJBaXdnQXlBQUtBSWdJQU1vQWd4c0lBQW9Bc0FDRUdnMkFqQWdBMEVCTmdJMElBTkJBRFlDVUNBQlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FEUWRnQWFpRURJQUFvQXF3RElRSU1BUXNMSUFBb0Fxd0RJUUlMSUFBZ0FDZ0NJQ0FBS0FMQUFpQUNiQkJvTmdMTUFpQUFLQUxVQWlJQklBQW9BaVJPQkVBZ0FDZ0M0QUZGQkVBZ0FDZ0N6QU5CQURZQ0VBd0RDd3NnQUNnQ3pBTkJBVFlDRUF3QkN5QUFLQUxVQWlFQkN5QUJEUUVnQkVFQ05nSVlDd3dCQ3dzZ0JFRUFOZ0lZUVFFUEN5QUFFS2NEUVFFUEN5QUVRUUUyQWhRZ0JDZ0NHQVJBSUFBb0F0QURLQUlRUlFSQVFRSVBDeUFBS0FJQUlnRkJQallDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUFvQXBnQklBQW9BcEFCSWdGTUJFQkJBZzhMSUFBZ0FUWUNtQUVMUVFJUEN5QUJDMTBCQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBRFlDekFNZ0FFSFVBRFlDQUNBQVFmZ0FOZ0lFSUFCQitRQTJBZ2dnQUVINkFEWUNEQ0FBUVFBMkFoQWdBRUVBTmdJVUlBQkJBVFlDR0F2L0JRRUVmeUFBSUFBb0Fxd0RJZ0lnQUNnQ01Hd2lBU0FBS0FJMElnTkxCSDhDZnlBQklBTkJBWFJOQkVBZ0FDQUFLQUljUVFGMElBSVFhRFlDY0VFQ0lRRWdBQ2dDSUVFQmRBd0JDeUFCSUFOQkEyeE5CRUFnQUNBQUtBSWNRUU5zSUFJUWFEWUNjRUVESVFFZ0FDZ0NJRUVEYkF3QkN5QUJJQU5CQW5STkJFQWdBQ0FBS0FJY1FRSjBJQUlRYURZQ2NFRUVJUUVnQUNnQ0lFRUNkQXdCQ3lBQklBTkJCV3hOQkVBZ0FDQUFLQUljUVFWc0lBSVFhRFlDY0VFRklRRWdBQ2dDSUVFRmJBd0JDeUFCSUFOQkJteE5CRUFnQUNBQUtBSWNRUVpzSUFJUWFEWUNjRUVHSVFFZ0FDZ0NJRUVHYkF3QkN5QUJJQU5CQjJ4TkJFQWdBQ0FBS0FJY1FRZHNJQUlRYURZQ2NFRUhJUUVnQUNnQ0lFRUhiQXdCQ3lBQklBTkJBM1JOQkVBZ0FDQUFLQUljUVFOMElBSVFhRFlDY0VFSUlRRWdBQ2dDSUVFRGRBd0JDeUFCSUFOQkNXeE5CRUFnQUNBQUtBSWNRUWxzSUFJUWFEWUNjRUVKSVFFZ0FDZ0NJRUVKYkF3QkN5QUJJQU5CQ214TkJFQWdBQ0FBS0FJY1FRcHNJQUlRYURZQ2NFRUtJUUVnQUNnQ0lFRUtiQXdCQ3lBQklBTkJDMnhOQkVBZ0FDQUFLQUljUVF0c0lBSVFhRFlDY0VFTElRRWdBQ2dDSUVFTGJBd0JDeUFCSUFOQkRHeE5CRUFnQUNBQUtBSWNRUXhzSUFJUWFEWUNjRUVNSVFFZ0FDZ0NJRUVNYkF3QkN5QUJJQU5CRFd4TkJFQWdBQ0FBS0FJY1FRMXNJQUlRYURZQ2NFRU5JUUVnQUNnQ0lFRU5iQXdCQ3lBQklBTkJEbXhOQkVBZ0FDQUFLQUljUVE1c0lBSVFhRFlDY0VFT0lRRWdBQ2dDSUVFT2JBd0JDeUFBS0FJY0lRUWdBU0FEUVE5c1N3Ui9JQUFnQkVFRWRDQUNFR2cyQW5CQkVDRUJJQUFvQWlCQkJIUUZJQUFnQkVFUGJDQUNFR2cyQW5CQkR5RUJJQUFvQWlCQkQyd0xDd1VnQUNBQUtBSWNJQUlRYURZQ2NFRUJJUUVnQUNnQ0lBc2dBQ2dDckFNUWFEWUNkQ0FBSUFFMkFzUUNJQUFnQVRZQ3lBSWdBQ2dDSkNJRFFRQk1CRUFQQzBFQUlRSWdBQ2dDMkFFaEFBTkFJQUFnQVRZQ0pDQUFJQUUyQWlnZ0FFSFlBR29oQUNBQ1FRRnFJZ0lnQTBnTkFBc0x0QXNCRDM4akJpRUlJd1pCTUdva0JpQUFLQUxVQXlFSElBQW9BcGdDQkVBZ0J5Z0NMRVVFUUNBSEtBSVFRUWdRT1NFQ0lBQW9BdEFESWdVZ0FpQUZLQUlZYWpZQ0dDQUhRUUEyQWhBZ0JTZ0NDQ0VGSUFBZ0JVSC9BSEZCQ0dvUkFBQkZCRUFnQ0NRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEJRTkFJQWRCR0dvZ0JVRUNkR3BCQURZQ0FDQUZRUUZxSWdVZ0FDZ0MxQUpJRFFBTEN5QUhRUUEyQWhRZ0J5QUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUhRUUEyQWlnTEN3c2dDRUVVYWlFR0lBY29BaWhGQkVBZ0FDZ0NzQU1oRHlBQUtBSzBBeUVOSUFZZ0FEWUNFQ0FHSUFBb0FoZ2lCQ2dDQUNJSk5nSUFJQVlnQkNnQ0JDSUROZ0lFSUFjb0Fnd2hCU0FIS0FJUUlRSWdDQ0FIS1FJVU53SUFJQWdnQnlrQ0hEY0NDQ0FJSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDUUpBQTBBZ0NVRUNkQ0FCYWlnQ0FDRUtJQWRCNUFCcUlBbEJBblJxS0FJQUlRUUNmd0pBSUFKQkNFZ0VRQ0FHSUFVZ0FrRUFFR2RGRFFRZ0JpZ0NDQ0VGSUFZb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JFR1FBV29nQlNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUN3Ui9JQU1nQkVHUUNXcHFMUUFBSVFRZ0FpQUxhd1ZCQ1NFRERBRUxEQUVMSUFZZ0JTQUNJQVFnQXhDZ0FTSUVRUUJJRFFJZ0JpZ0NDQ0VGSUFZb0Fnd0xJUUlnQjBHTUFXb2dDVUVDZEdvb0FnQWhDeUFFUVFCSElRTUNRQUpBSUFkQnRBRnFJQWxCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFSSUJFQWdCaUFGSUFJZ0JCQm5SUTBISUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVJCQW5SQjhERnFLQUlBSWdNZ0JTQUNJQVJySWdKMWNTSU1RUUFnQXlBTUlBUkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUlRUVJxSUFCQjlBSnFJQWxCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVFSUFNZ0JEWUNBQ0FLSUFRN0FRQWdEa0VCU2dSQVFRRWhCQU5BQW44Q1FDQUNRUWhJQkVBZ0JpQUZJQUpCQUJCblJRMEtJQVlvQWdnaEJTQUdLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBVWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ3dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnREdzRlFRa2hBd3dCQ3d3QkN5QUdJQVVnQWlBTElBTVFvQUVpQTBFQVNBMElJQVlvQWdnaEJTQUdLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ01FUUNBQ0lBTklCRUFnQmlBRklBSWdBeEJuUlEwSklBWW9BZ2doQlNBR0tBSU1JUUlMSUFRZ0RHb2lCRUVDZENBUGFpZ0NBRUVCZENBS2FpQURRUUowUWZBeGFpZ0NBQ0lNSUFVZ0FpQURheUlDZFhFaUVFRUFJQXdnRUNBRFFRSjBRZXd4YWlnQ0FFb2JhenNCQUFVZ0RFRVBSdzBESUFSQkQyb2hCQXNnQkVFQmFpSUVJQTVJRFFBTERBTUZRUUVoQkF3REN3QUxCU0FEQkVBZ0FpQUVTQVJBSUFZZ0JTQUNJQVFRWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBUnJJUUlMUVFFaEJBd0JDd3dCQ3lBRUlBMU1CRUFEUUFKL0FrQWdBa0VJU0FSQUlBWWdCU0FDUVFBUVowVU5CeUFHS0FJSUlRVWdCaWdDRENJQ1FRaElCRUJCQVNFRERBSUxDeUFMUVpBQmFpQUZJQUpCZUdwMVFmOEJjU0lEUVFKMGFpZ0NBQ0lLQkg4Z0F5QUxRWkFKYW1vdEFBQWhBeUFDSUFwckJVRUpJUU1NQVFzTUFRc2dCaUFGSUFJZ0N5QURFS0FCSWdOQkFFZ05CU0FHS0FJSUlRVWdCaWdDREFzaEFpQURRUVIySVFvZ0EwRVBjU0lEQkVBZ0FpQURTQVJBSUFZZ0JTQUNJQU1RWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBTnJJUUlGSUFwQkQwY05BMEVQSVFvTElBUkJBV29nQ21vaUJDQU5UQTBBQ3dzTElBbEJBV29pQ1NBQUtBTHdBa2dOQUFzZ0FDZ0NHQ0VBSUFZb0FnQWhBU0FHS0FJRUlRUU1BUXNnQ0NRR1FRQVBDd1VnQkNFQUlBa2hBU0FESVFRTElBQWdBVFlDQUNBQUlBUTJBZ1FnQnlBRk5nSU1JQWNnQWpZQ0VDQUhJQWdwQWdBM0FoUWdCeUFJS1FJSU53SWNJQWNnQ0NnQ0VEWUNKQXNnQnlBSEtBSXNRWDlxTmdJc0lBZ2tCa0VCQzZJTEFRMS9Jd1loQ1NNR1FUQnFKQVlnQUNnQzFBTWhCeUFBS0FLWUFnUkFJQWNvQWl4RkJFQWdCeWdDRUVFSUVEa2hBaUFBS0FMUUF5SUVJQUlnQkNnQ0dHbzJBaGdnQjBFQU5nSVFJQVFvQWdnaEJDQUFJQVJCL3dCeFFRaHFFUUFBUlFSQUlBa2tCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUVFEUUNBSFFSaHFJQVJCQW5ScVFRQTJBZ0FnQkVFQmFpSUVJQUFvQXRRQ1NBMEFDd3NnQjBFQU5nSVVJQWNnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQjBFQU5nSW9Dd3NMSUFsQkZHb2hCU0FIS0FJb1JRUkFJQVVnQURZQ0VDQUZJQUFvQWhnaUJpZ0NBQ0lLTmdJQUlBVWdCaWdDQkNJRE5nSUVJQWNvQWd3aEJDQUhLQUlRSVFJZ0NTQUhLUUlVTndJQUlBa2dCeWtDSERjQ0NDQUpJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENnSkFBMEFnQ2tFQ2RDQUJhaWdDQUNFTklBZEI1QUJxSUFwQkFuUnFLQUlBSVFZQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVFnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQmtHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdCa0dRQ1dwcUxRQUFJUVlnQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBWWdBeENnQVNJR1FRQklEUUlnQlNnQ0NDRUVJQVVvQWd3TElRSWdCMEdNQVdvZ0NrRUNkR29vQWdBaEN5QUdRUUJISVFNQ1FBSkFJQWRCdEFGcUlBcEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEhJQVVvQWdnaEJDQUZLQUlNSVFJTElBWkJBblJCOERGcUtBSUFJZ01nQkNBQ0lBWnJJZ0oxY1NJSVFRQWdBeUFJSUFaQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSlFRUnFJQUJCOUFKcUlBcEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUdJQU1nQmpZQ0FDQU5JQVk3QVFBZ0RrRUJTZ1JBUVFFaEJnTkFBbjhDUUNBQ1FRaElCRUFnQlNBRUlBSkJBQkJuUlEwS0lBVW9BZ2doQkNBRktBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFRZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnZ0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdDR3NGUVFraEF3d0JDd3dCQ3lBRklBUWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBVW9BZ2doQkNBRktBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnZ0VRQ0FDSUFoSUJFQWdCU0FFSUFJZ0NCQm5SUTBKSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVlnREdvaUEwRUNkRUdBSEdvb0FnQkJBWFFnRFdvZ0NFRUNkRUh3TVdvb0FnQWlCaUFFSUFJZ0NHc2lBblZ4SWd4QkFDQUdJQXdnQ0VFQ2RFSHNNV29vQWdCS0cyczdBUUFGSUF4QkQwY05BeUFHUVE5cUlRTUxJQU5CQVdvaUJpQU9TQTBBQ3lBRFFUOUlEUU1GUVFFaEJnd0RDd3NGSUFNRVFDQUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEdJQVVvQWdnaEJDQUZLQUlNSVFJTElBSWdCbXNoQWd0QkFTRUdEQUVMREFFTEEwQUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFZZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0MwR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQzBHUUNXcHFMUUFBSVFNZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQXNnQXhDZ0FTSURRUUJJRFFRZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQTBFRWRpRUlJQU5CRDNFaUF3UkFJQUlnQTBnRVFDQUZJQVFnQWlBREVHZEZEUVVnQlNnQ0NDRUVJQVVvQWd3aEFnc2dBaUFEYXlFQ0JTQUlRUTlIRFFKQkR5RUlDeUFHUVFGcUlBaHFJZ1pCd0FCSURRQUxDeUFLUVFGcUlnb2dBQ2dDOEFKSURRQUxJQUFvQWhnaEFDQUZLQUlBSVFFZ0JTZ0NCQ0VHREFFTElBa2tCa0VBRHdzRklBWWhBQ0FLSVFFZ0F5RUdDeUFBSUFFMkFnQWdBQ0FHTmdJRUlBY2dCRFlDRENBSElBSTJBaEFnQnlBSktRSUFOd0lVSUFjZ0NTa0NDRGNDSENBSElBa29BaEEyQWlRTElBY2dCeWdDTEVGL2FqWUNMQ0FKSkFaQkFRdWVDZ0VSZnlNR0lRVWpCa0dnQW1va0JpQUFLQUxVQXlFSUlBQW9BcGdDQkVBZ0NDZ0NMRVVFUUNBSUtBSVFRUWdRT1NFRUlBQW9BdEFESWdJZ0JDQUNLQUlZYWpZQ0dDQUlRUUEyQWhBZ0FpZ0NDQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUFnQlNRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQWhCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUlRUUEyQWhRZ0NDQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUlRUUEyQWlnTEN3c2dCVUdBQW1vaEJ5QUZJUW9nQ0NnQ0tFVUVRQUpBSUFBb0FxQURJUTVCQVNBQUtBS29BeUlDZENFTFFYOGdBblFoRHlBQUtBS3dBeUVRSUFjZ0FEWUNFQ0FISUFBb0FoZ2lBaWdDQURZQ0FDQUhJQUlvQWdRMkFnUWdDQ2dDRENFRklBZ29BaEFoQkNBQktBSUFJUTBnQ0VGQWF5Z0NBQ0VNSUFBb0Fwd0RJUUlDUUFKL0FrQWdDQ2dDRkNJSkRRQkJBQ0VCQWtBRFFBSkFBbjhDUUNBRVFRaElCRUFnQnlBRklBUkJBQkJuUlEwRklBY29BZ2doQlNBSEtBSU1JZ1JCQ0VnRVFFRUJJUU1NQWdzTElBeEJrQUZxSUFVZ0JFRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUF4QmtBbHFhaTBBQUNFR0lBUWdDV3NGUVFraEF3d0JDd3dCQ3lBSElBVWdCQ0FNSUFNUW9BRWlCa0VBU0EwRElBY29BZ2doQlNBSEtBSU1DeUVFSUFaQkJIWWhBd0ovQWtBQ1FBSkFJQVpCRDNFT0FnQUNBUXNnQTBFUFJ3MERJQVFoQmtFQURBSUxJQUFvQWdBaUJrSDVBRFlDRkNBR0tBSUVJUVlnQUVGL0lBWkJQM0ZCc2dWcUVRTUFDeUFFUVFGSUJFQWdCeUFGSUFSQkFSQm5SUTBFSUFjb0Fnd2hCQ0FIS0FJSUlRVUxJQXNnRHlBRlFRRWdCRUYvYWlJR2RIRWJDeUVKSUFNaEJDQUNJUU1nQmlFQ0EzOENmeUFEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1l1QVFBRVFDQUNRUUZJQkVBZ0J5QUZJQUpCQVJCblJRMEdJQWNvQWd3aEFpQUhLQUlJSVFVTElBVkJBU0FDUVg5cUlnSjBjUVJBSUFZdUFRQWlFaUlSSUF0eFJRUkFJQkpCZjBvRVFDQUdJQXNnRVdvN0FRQUZJQVlnRHlBUmFqc0JBQXNMQ3dVZ0JFRi9haUVHSUFSQkFVZ0VmeUFDREFJRklBWUxJUVFMSUFOQkFXb2hCaUFESUE1SUJIOGdCaUVEREFJRklBWWhBeUFDQ3dzTElRUWdDUVJBSUFOQkFuUWdFR29vQWdBaUFrRUJkQ0FOYWlBSk93RUFJQUZCQW5RZ0Ntb2dBallDQUNBQlFRRnFJUUVMSUFOQkFXb2hBaUFESUE1SURRRWdCQ0VCUVFBTUJBc0xRUUVnQTNRaEJpQURCRUFnQkNBRFNBUkFJQWNnQlNBRUlBTVFaMFVOQWlBSEtBSU1JUVFnQnlnQ0NDRUZDeUFHSUFOQkFuUkI4REZxS0FJQUlBVWdCQ0FEYXlJRWRYRnFJZ2tFUUNBQklRWU1Bd1VnQkNFQlFRQU1CQXNBQlVFQklRa2dBU0VHREFJTEFBc01BZ3NnQWlFRElBUWhBU0FGSVFJRFFDQURRUUowSUJCcUtBSUFRUUYwSUExcUlnVXVBUUFFUUNBQlFRRklCRUFnQnlBQ0lBRkJBUkJuUlFSQUlBWWhBUXdGQ3lBSEtBSU1JUUVnQnlnQ0NDRUNDeUFDUVFFZ0FVRi9haUlCZEhFRVFDQUZMZ0VBSWd3aUJDQUxjVVVFUUNBTVFYOUtCRUFnQlNBRUlBdHFPd0VBQlNBRklBUWdEMm83QVFBTEN3c0xJQU5CQVdvaEJTQURJQTVJQkVBZ0JTRUREQUVMQ3lBQ0lRVWdDVUYvYWdzaEF5QUFLQUlZSWdBZ0J5Z0NBRFlDQUNBQUlBY29BZ1EyQWdRZ0NDQUZOZ0lNSUFnZ0FUWUNFQ0FJSUFNMkFoUU1BUXNnQVVVRVFDQUtKQVpCQUE4TEEwQWdBVUYvYWlJQlFRSjBJQXBxS0FJQVFRRjBJQTFxUVFBN0FRQWdBUTBBQ3lBS0pBWkJBQThMQ3lBSUlBZ29BaXhCZjJvMkFpd2dDaVFHUVFFTE9nQUNmd0pBQWtBQ1FBSkFBa0FnQUE0UEFBQUJBUUVDQVFNREF3TURBZ0lDQkF0QkF3d0VDMEVFREFNTFFRRU1BZ3RCQWd3QkMwRUFDd3ZFQXdFSWZ5TUdJUVFqQmtFZ2FpUUdJQUFvQXRRRElRSWdBQ2dDbUFJRVFDQUNLQUlzUlFSQUlBSW9BaEJCQ0JBNUlRTWdBQ2dDMEFNaUJTQURJQVVvQWhocU5nSVlJQUpCQURZQ0VDQUZLQUlJSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBRUpBWkJBQThMSUFBb0F0UUNRUUJLQkVCQkFDRURBMEFnQWtFWWFpQURRUUowYWtFQU5nSUFJQU5CQVdvaUF5QUFLQUxVQWtnTkFBc0xJQUpCQURZQ0ZDQUNJQUFvQXBnQ05nSXNJQUFvQXJnRFJRUkFJQUpCQURZQ0tBc0xDeUFFSWdZZ0FEWUNFQ0FHSUFBb0FoZ2lCeWdDQUNJSU5nSUFJQVlnQnlnQ0JDSUZOZ0lFSUFJb0Fnd2hBeUFDS0FJUUlRUkJBU0FBS0FLb0EzUWhDU0FBS0FMd0FrRUFTZ1JBQWtCQkFDRUZBa0FEUUNBRVFRRklCRUFnQmlBRElBUkJBUkJuUlEwQ0lBWW9BZ3doQkNBR0tBSUlJUU1MSUFOQkFTQUVRWDlxSWdSMGNRUkFJQVZCQW5RZ0FXb29BZ0FpQ0NBSklBZ3ZBUUJ5T3dFQUN5QUZRUUZxSWdVZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQnlBR0tBSUFJUWdnQmlnQ0JDRUZEQUVMSUFZa0JrRUFEd3NMSUFjZ0NEWUNBQ0FISUFVMkFnUWdBaUFETmdJTUlBSWdCRFlDRUNBQ0lBSW9BaXhCZjJvMkFpd2dCaVFHUVFFTHRnWUJESDhqQmlFRUl3WkJJR29rQmlBQUtBTFVBeUVGQWtBZ0FDZ0NtQUlFUUNBRktBSXNSUVJBSUFVb0FoQkJDQkE1SVFZZ0FDZ0MwQU1pQWlBR0lBSW9BaGhxTmdJWUlBVkJBRFlDRUNBQ0tBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BaUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWhRZ0JTQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUZRUUEyQWlnTEN3c2dCU2dDS0VVRVFDQUZLQUlVSWdJRVFDQUNRWDlxSVFNRklBUWdBRFlDRUNBRUlBQW9BaGdpQWlnQ0FEWUNBQ0FFSUFJb0FnUTJBZ1FnQlNnQ0RDRUdJQVVvQWhBaEFpQUFLQUtvQXlFS0lBQW9BckFESVFzZ0FTZ0NBQ0VNSUFWQlFHc29BZ0FoQ0NBQUtBS2NBeUlESUFBb0FxQURJZzFLQkVCQkFDRURJQVloQVFVQ1FDQUdJUUVnQXlFR0FrQURRQUpBQW44Q1FDQUNRUWhJQkVBZ0JDQUJJQUpCQUJCblJRMEZJQVFvQWdnaEFTQUVLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQWhCa0FGcUlBRWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBaEJrQWxxYWkwQUFDRUhJQUlnQ1dzRlFRa2hBd3dCQ3d3QkN5QUVJQUVnQWlBSUlBTVFvQUVpQjBFQVNBMERJQVFvQWdnaEFTQUVLQUlNQ3lFQ0lBZEJCSFloQXlBSFFROXhJZ2NFUUNBQ0lBZElCRUFnQkNBQklBSWdCeEJuUlEwRUlBUW9BZ3doQWlBRUtBSUlJUUVMSUFNZ0Jtb2lBMEVDZENBTGFpZ0NBRUVCZENBTWFpQUhRUUowUWZBeGFpZ0NBQ0lHSUFFZ0FpQUhheUlDZFhFaUNVRUFJQVlnQ1NBSFFRSjBRZXd4YWlnQ0FFb2JheUFLZERzQkFBVUNRQ0FEQkVBZ0EwRVBSZ1JBREFJRkRBUUxBQXRCQUNFRERBVUxJQVpCRDJvaEF3c2dBMEVCYWlFR0lBTWdEVWdOQVVFQUlRTU1Bd3NMSUFJZ0EwZ0VRQ0FFSUFFZ0FpQURFR2RGRFFZZ0JDZ0NEQ0VDSUFRb0FnZ2hBUXRCQVNBRGRFRi9haUFEUVFKMFFmQXhhaWdDQUNBQklBSWdBMnNpQW5WeGFpRUREQUVMREFRTEN5QUFLQUlZSWdBZ0JDZ0NBRFlDQUNBQUlBUW9BZ1EyQWdRZ0JTQUJOZ0lNSUFVZ0FqWUNFQXNnQlNBRE5nSVVDeUFGSUFVb0FpeEJmMm8yQWl3Z0JDUUdRUUVQQ3lBRUpBWkJBQXVXQmdFTmZ5TUdJUVFqQmtFd2FpUUdJQUFvQXRRRElRSWdBQ2dDcUFNaEN5QUFLQUtZQWdSQUlBSW9BaXhGQkVBZ0FpZ0NFRUVJRURraEF5QUFLQUxRQXlJSUlBTWdDQ2dDR0dvMkFoZ2dBa0VBTmdJUUlBZ29BZ2doQXlBQUlBTkIvd0J4UVFocUVRQUFSUVJBSUFRa0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRTURRQ0FDUVJocUlBTkJBblJxUVFBMkFnQWdBMEVCYWlJRElBQW9BdFFDU0EwQUN3c2dBa0VBTmdJVUlBSWdBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdBa0VBTmdJb0N3c0xJQVJCRkdvaEJpQUVJUWtnQWlnQ0tFVUVRQ0FHSUFBMkFoQWdCaUFBS0FJWUlnY29BZ0FpQlRZQ0FDQUdJQWNvQWdRaUNEWUNCQ0FDS0FJTUlRTWdBaWdDRUNFRUlBa2dBaWtDRkRjQ0FDQUpJQUlwQWh3M0FnZ2dDU0FDS0FJa05nSVFJQUFvQXZBQ1FRQktCRUFDUUVFQUlRZ0NRQU5BSUFoQkFuUWdBV29vQWdBaERpQUNRVEJxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlnMUJBblJxS0FJQUtBSVVRUUowYWlnQ0FDRUtBbjhDUUNBRVFRaElCRUFnQmlBRElBUkJBQkJuUlEwRUlBWW9BZ2doQXlBR0tBSU1JZ1JCQ0VnRVFFRUJJUVVNQWdzTElBcEJrQUZxSUFNZ0JFRjRhblZCL3dGeElnVkJBblJxS0FJQUlnY0VmeUFGSUFwQmtBbHFhaTBBQUNFRklBUWdCMnNGUVFraEJRd0JDd3dCQ3lBR0lBTWdCQ0FLSUFVUW9BRWlBMEVBU0EwQ0lBTWhCU0FHS0FJSUlRTWdCaWdDREFzaEJDQUZCSDhnQkNBRlNBUkFJQVlnQXlBRUlBVVFaMFVOQXlBR0tBSU1JUVFnQmlnQ0NDRURDeUFGUVFKMFFmQXhhaWdDQUNJS0lBTWdCQ0FGYXlJRWRYRWlCMEVBSUFvZ0J5QUZRUUowUWV3eGFpZ0NBRW9iYXdWQkFBc2dDVUVFYWlBTlFRSjBhaUlGS0FJQWFpRUhJQVVnQnpZQ0FDQU9JQWNnQzNRN0FRQWdDRUVCYWlJSUlBQW9BdkFDU0EwQUN5QUFLQUlZSVFjZ0JpZ0NBQ0VGSUFZb0FnUWhDQXdCQ3lBSkpBWkJBQThMQ3lBSElBVTJBZ0FnQnlBSU5nSUVJQUlnQXpZQ0RDQUNJQVEyQWhBZ0FpQUpLUUlBTndJVUlBSWdDU2tDQ0RjQ0hDQUNJQWtvQWhBMkFpUUxJQUlnQWlnQ0xFRi9hallDTENBSkpBWkJBUXN2QVFKL0lBQW9BdFFESWdFb0FoQkJDQkE1SVFJZ0FDZ0MwQU1pQUNBQ0lBQW9BaGhxTmdJWUlBRkJBRFlDRUF2c0RBRUlmeUFBS0FMVUF5RUVJQUFvQXB3RElnSkZJUU1DUUNBQUtBTGdBVVVFUUFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQzNBRWdBQ2dDb0FNaUFVSEFBRWh5QkVBZ0FDZ0N0QU1nQVVjTkFRc01BUXNnQUNnQ0FDSUJRZjBBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FMSUFSQkprRW5JQUFvQXJRRFFUOUdHellDQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFCQkFTQUFRZGdDYWlBQlFRSjBhaWdDQUNJQ0tBSVVJZ01nQkVIRUFHb2dBMEVDZEdvUStRRWdBQ2dDdEFNRVFDQUFRUUFnQWlnQ0dDSUNJQVJCMUFCcUlBSkJBblJxRVBrQkN5QUVRUmhxSUFGQkFuUnFRUUEyQWdBZ0FVRUJhaUlCSUFBb0F0UUNTQTBBQ3dzZ0FDZ0M4QUpCQUV3TkFVRUFJUUVEUUNBRVFlUUFhaUFCUVFKMGFpQUVRY1FBYWlBQVFkZ0NhaUFBUWZRQ2FpQUJRUUowYWlnQ0FFRUNkR29vQWdBaUF5Z0NGRUVDZEdvb0FnQTJBZ0FnQkVHTUFXb2dBVUVDZEdvZ0JFSFVBR29nQXlnQ0dFRUNkR29vQWdBMkFnQWdCRUcwQVdvZ0FVRUNkR29nQXlnQ05BUi9BbjhnQXlnQ0tDRUNJQU1vQWlRaEF3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FDZ0N0QU1PTVFBSEJ3RUhCd2NIQWdjSEJ3Y0hCd01IQndjSEJ3Y0hCd1FIQndjSEJ3Y0hCd2NIQlFjSEJ3Y0hCd2NIQndjSEJ3WUhDMEVCREFjTElBSkJBVWRCQTNSQm9DdHFJQU5CQVVkQkFuUnFLQUlBUVFGcURBWUxJQUpCZjJvaUFrRUNJQUpCQWtrYlFReHNRYkFyYWlBRFFYOXFJZ0pCQWlBQ1FRSkpHMEVDZEdvb0FnQkJBV29NQlFzZ0FrRi9haUlDUVFNZ0FrRURTUnRCQkhSQjRDdHFJQU5CZjJvaUFrRURJQUpCQTBrYlFRSjBhaWdDQUVFQmFnd0VDeUFDUVg5cUlnSkJCQ0FDUVFSSkcwRVViRUdnTEdvZ0EwRi9haUlDUVFRZ0FrRUVTUnRCQW5ScUtBSUFRUUZxREFNTElBSkJmMm9pQWtFRklBSkJCVWtiUVJoc1FaQXRhaUFEUVg5cUlnSkJCU0FDUVFWSkcwRUNkR29vQWdCQkFXb01BZ3NnQWtGL2FpSUNRUVlnQWtFR1NSdEJIR3hCb0M1cUlBTkJmMm9pQWtFR0lBSkJCa2tiUVFKMGFpZ0NBRUVCYWd3QkN5QUNRWDlxSWdKQkJ5QUNRUWRKRzBFRmRFSHdMMm9nQTBGL2FpSUNRUWNnQWtFSFNSdEJBblJxS0FJQVFRRnFDd1ZCQUFzMkFnQWdBVUVCYWlJQklBQW9BdkFDU0EwQUN3d0JDeUFBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBSklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBQ05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUlpQVVFQVNnUi9JQUJCcEFOcUlRVkJBQ0VDQTM4Z0FFSFlBbW9nQWtFQ2RHb29BZ0FvQWdRaEJpQUFLQUtnQVNFSUlBQW9BcHdESWdFRVFDQUdRUWgwSUFocUtBSUFRUUJJQkVBZ0FDZ0NBQ0lCUWZZQU5nSVVJQUVnQmpZQ0dDQUFLQUlBUVFBMkFod2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUFLQUtjQXlFQkN3VkJBQ0VCQ3lBQklBQW9BcUFEVEFSQUEwQWdCU2dDQUNBR1FRaDBJQWhxSUFGQkFuUnFJZ01vQWdBaUIwRUFJQWRCQUVvYlJ3UkFJQUFvQWdBaUIwSDJBRFlDRkNBSElBWTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQnlBQVFYOGdCMEUvY1VHeUJXb1JBd0FMSUFNZ0FDZ0NxQU0yQWdBZ0FVRUJhaUVESUFFZ0FDZ0NvQU5JQkVBZ0F5RUJEQUVMQ3dzZ0FrRUJhaUlDSUFBb0F0UUNJZ0ZJRFFBZ0JRc0ZJQUJCcEFOcUN5RUNJQVJCSWtFaklBQW9BcHdESWdORklnVWJRU1JCSlNBRkd5QUNLQUlBUlJzMkFnUWdBVUVBU2dSQUFrQWdCRUZBYXlFR1FRQWhBUU5BSUFCQjJBSnFJQUZCQW5ScUtBSUFJUVVnQXdSQUlBUkJNR29nQlNnQ0dDSUZRUUowYWlFRElBQkJBQ0FGSUFNUStRRWdCaUFES0FJQU5nSUFCU0FDS0FJQVJRUkFJQUJCQVNBRktBSVVJZ01nQkVFd2FpQURRUUowYWhENUFRc0xJQVJCR0dvZ0FVRUNkR3BCQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpPRFFFZ0FDZ0NuQU1oQXd3QUFBc0FDd3NnQkVFQU5nSVVJQVJCQURZQ0VDQUVRUUEyQWd3Z0JFRUFOZ0lvSUFRZ0FDZ0NtQUkyQWl3UEN5QUVRUUEyQWhBZ0JFRUFOZ0lNSUFSQkFEWUNLQ0FFSUFBb0FwZ0NOZ0lzQzljQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVSGNBU0FDUVQ5eFFjb0JhaEVFQUNJQk5nTFVBeUFCUWZZQU5nSUFJQUZCOXdBMkFnZ2dBQ2dDNEFGRkJFQWdBVUlBTndKRUlBRkNBRGNDVENBQlFRQTJBbFFnQVVFQU5nSllJQUZCQURZQ1hDQUJRUUEyQW1BUEN5QUFLQUlFS0FJQUlRSWdBQ0FBUVFFZ0FDZ0NKRUVJZENBQ1FUOXhRY29CYWhFRUFDSUROZ0tnQVNBQUtBSWtRUUJLQkVCQkFDRUNBMEFnQXlBQ1FRaDBha0YvUVlBQ0VFVWFJQUpCQVdvaUFpQUFLQUlrU0EwQUN3c2dBVUlBTndJd0lBRkNBRGNDT0F2REFnRUpmeUFBS0FLNEF5RUNJQUFvQWdBaUEwSDhBRFlDRkNBRElBSTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFYOGdBMEUvY1VHeUJXb1JBd0FnQVVFQmFrRUhjVUhRQVhJaEJDQUJRUUpxUVFkeFFkQUJjaUVGSUFGQkIycEJCM0ZCMEFGeUlRWWdBVUVHYWtFSGNVSFFBWEloQndKQUEwQUNRQ0FDUWNBQlNDRUlJQUlnQkVZZ0FrRjRjVUhRQVVkeUlBSWdCVVp5SVFsQkFrRUJJQUlnQmtZZ0FpQUhSbkliSVFvRFFBSkFJQUFvQWdBaUFVSGpBRFlDRkNBQklBSTJBaGdnQUNnQ0FFRUNRUU1nQ2lBSkd5QUlHeUlETmdJY0lBQW9BZ0FvQWdRaEFTQUFRUVFnQVVFL2NVR3lCV29SQXdBQ1FBSkFJQU5CQTNGQkFXc09Bd1FDQUFFTFFRRWhBQXdGQ3d3QkN3c2dBQkN4QWdSQUlBQW9BcmdESVFJTUFnVkJBQ0VBREFNTEFBc0xJQUJCQURZQ3VBTkJBUThMSUFBTFlnRURmeUFBS0FJWUlRSWdBVUVBVEFSQUR3c2dBaWdDQkNJRElBRklCRUFEUUNBQ0tBSU1JUVFnQUNBRVFmOEFjVUVJYWhFQUFCb2dBU0FEYXlJQklBSW9BZ1FpQTBvTkFBc0xJQUlnQVNBQ0tBSUFhallDQUNBQ0lBTWdBV3MyQWdRTDd3RUJCSDlCQkVFRUVJc0JJUVFEUUNBQ1FRTkhCRUFnQWtFQ2RDRUZRUUFoQXdOQUlBTkJCRWNFUUNBRUtBSUFJQU1nQldwQkEzUnFJQUpCQkhRZ0FHb2dBMEVDZEdvcUFnQzdPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUVkQ0FCYWlBQ1FRSjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUF0amdDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3c2dCQkJKQzcwQkFRTi9JQUFvQWhnaUFTZ0NJRUVCUVlBZ0lBRW9BaHdRWVNJQ0JFQWdBU0FCS0FJZ05nSUFJQUVnQWpZQ0JDQUJRUUEyQWlSQkFROExJQUVvQWlRRVFDQUFLQUlBSWdKQkt6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEFuOGdBQ0VESUFBb0FnQWlBRUg3QURZQ0ZDQUFLQUlFSVFBZ0F3dEJmeUFBUVQ5eFFiSUZhaEVEQUNBQktBSWdRWDg2QUFBZ0FTZ0NJRUZaT2dBQklBRWdBU2dDSURZQ0FDQUJRUUkyQWdRZ0FVRUFOZ0lrUVFFTERBQWdBQ2dDR0VFQk5nSWtDNVlCQVFKL0lBQW9BaGdpQWtVRVFDQUFLQUlFS0FJQUlRSWdBQ0FBUVFCQktDQUNRVDl4UWNvQmFoRUVBQ0lETmdJWUlBQW9BZ1FvQWdBaEFpQURJQUJCQUVHQUlDQUNRVDl4UWNvQmFoRUVBRFlDSUNBQUtBSVlJUUlMSUFKQjlBQTJBZ2dnQWtIVEFEWUNEQ0FDUVM4MkFoQWdBa0VoTmdJVUlBSkI5UUEyQWhnZ0FpQUJOZ0ljSUFKQkFEWUNCQ0FDUVFBMkFnQUw2Z2tCRW44akJpRVRJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZpQVRJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQktBSUFJQUl1QVFCQkFuUnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSUlBSXVBVEFnQVNnQ1lHd2lDMm9pRENBQ0xnRlFJQUVvQXFBQmJDSU5JQWNnQVNnQ0lHd2lCMm9pQ21wQm9jc0FiQ0lPSUF4QnU0Si9iR29pRENBSElBaHFRYk5HYkNJUUlBaEJqaE5zYW1vaENDQU9JQXBCaEdkc2FpSUtJQkFnQjBHTDRBQnNhbW9oQnlBS0lBc2dEV3BCL2R0K2JDSUtJQTFCczRNQmJHcHFJUTBnQmlBSElBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnNGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlFR29pRVNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWdVZ0FpNEJZQ0FCS0FMQUFXd2lFbXBCMFNKc0loUWdCVUgrTUd4cUlnVnFJaFZxUVF0MU5nSUFJQVlnRlNBSGEwRUxkVFlDNEFFZ0JpQU1JQW9nQzBIVXhBRnNhbW9pQ3lBUUlBNXJJZ2NnRkNBU1FkK0pmMnhxSWd4cUlncHFRUXQxTmdJZ0lBWWdDaUFMYTBFTGRUWUN3QUVnQmtGQWF5QU5JQWNnREdzaUMycEJDM1UyQWdBZ0JpQUxJQTFyUVF0MU5nS2dBU0FHSUFnZ0VTQUZheUlGYWtFTGRUWUNZQ0FGSUFoclFRdDFJUVZCSUF0QkFuUWdCbW9nQlRZQ0FDQUdRUVJxSVFZZ0FVRUVhaUVCSUFKQkFtb2hBaUFKUVg5cUlRVWdDVUVCU3dSQUlBVWhDUXdCQ3dzZ0ZrR0FmV29oQ1VFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlRWWdBQ2dDQUVHUWdBRnFJUVVDUUFKQUlBQW9BZ1FpQ0NBQUtBSUlJZ0p5RFFBZ0FDZ0NEQVJBUVFBaEFnd0JCU0FBS0FJUUJFQkJBQ0VDREFJRklBQW9BaFFFUUVFQUlRSU1Bd1VnQUNnQ0dBUkFRUUFoQWd3RUJTQUFLQUljQkVCQkFDRUNEQVVGSUFZZ0NTQUZRUVYyUWY4SGNXb3NBQUFpQWpvQUFDQUdRUUZxSUFKQkJ4QkZHZ3NMQ3dzTERBRUxJQUFvQWh3aUN5QUFLQUlNSWcxcUlnOGdDQ0FBS0FJVUlnZHFJZ3hxUWFITEFHd2lDaUFQUWJ1Q2YyeHFJZzhnQ0NBTGFrR3pSbXdpRGlBTFFZNFRiR3BxSVFzZ0NpQU1RWVJuYkdvaURDQU9JQWhCaStBQWJHcHFJUWdnRENBSElBMXFRZjNiZm13aURDQUhRYk9EQVd4cWFpRUhJQVlnQ1NBRklBQW9BaEFpQ21wQkRYUWlEaUFBS0FJWUloQWdBbXBCMFNKc0loRWdBa0grTUd4cUlnSnFJaElnQ0dwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFrZ0VpQUlhMEVTZGtIL0IzRnFMQUFBT2dBSElBWWdDU0FGSUFwclFRMTBJZ1VnRVNBUVFkK0pmMnhxSWdocUlnb2dEeUFNSUExQjFNUUJiR3BxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSklBb2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUdJQWtnQlNBSWF5SUZJQWRxUVJKMlFmOEhjV29zQUFBNkFBSWdCaUFKSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQlNBR0lBa2dEaUFDYXlJQ0lBdHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUpJQUlnQzJ0QkVuWkIvd2R4YWl3QUFEb0FCQXNnQUVFZ2FpRUFJQUZCQVdvaUFVRUlSdzBBQ3lBVEpBWUxOQUFnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29nQWk0QkFDQUJLQUpVS0FJQWJFR0VJR3BCQTNaQi93ZHhhaXdBQURvQUFBdkRBUUVGZnlBRUlBTW9BZ0JxSWdVZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCRUNBQktBSlVJZ0VvQWlCc0lnWWdBaTRCQUNBQktBSUFiRUdFSUdvaUIyb2lDQ0FDTGdFQ0lBRW9BZ1JzSWdrZ0FpNEJFaUFCS0FJa2JDSUJhaUlDYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVVnQ0NBQ2EwRURka0gvQjNFZ0FHb3NBQUE2QUFFZ0JDQURLQUlFYWlJQ0lBY2dCbXNpQXlBSklBRnJJZ0ZxUVFOMlFmOEhjU0FBYWl3QUFEb0FBQ0FDSUFNZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM2Z0ZBUWwvSXdZaEJTTUdRVEJxSkFZZ0FDZ0MwQUloQ0NBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSGFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFNJTE5nSUFJQVVnQVNBQWEwRUxkVFlDR0NBRklBa2dCMEYrYkdwQkMzVTJBZ3dnQlNBR0tBSUVJQUl1QVFKQkRYUnNRWUFJY2lJSklBWW9Ba1FnQWk0QklrR2hMV3hzSWdkcUlnRWdCaWdDSkNBQ0xnRVNRYkhPQUd4c0lnQnFRUXQxSWd3MkFnUWdCU0FCSUFCclFRdDFOZ0ljSUFVZ0NTQUhRWDVzYWtFTGRTSU5OZ0lRSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUNTQUdLQUpJSUFJdUFTUkJvUzFzYkNJSGFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFNJS05nSUlJQVVnQVNBQWEwRUxkU0lHTmdJZ0lBVWdDU0FIUVg1c2FrRUxkU0lKTmdJVUlBUWdBeWdDQUdvaUJ5QUlRWUI5YWlJSUlBdEJEWFJCZ0lDSXdBQnFJZ0lnQ2tHaExXeHFJZ0VnREVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFJSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBZ2dBaUFLUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlFYWlJSElBZ2dCU2dDREVFTmRFR0FnSWpBQUdvaUFpQUpRYUV0YkdvaUFTQU5RYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBZ2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQ0NBQ0lBbEJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnaHFJZ01nQ0NBRktBSVlRUTEwUVlDQWlNQUFhaUlDSUFaQm9TMXNhaUlCSUFVb0FoeEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFNZ0NDQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdBeUFJSUFJZ0JrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVrQmd2c0NRRUlmeU1HSVFVakJrRkFheVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUNTZ0NBR3dpQ0NBQ0xnRWdJQWxCUUdzb0FnQnNJZ3RxUVFKMElnRWdBaTRCRUNBSktBSWdiQ0lBSUFJdUFUQWdDU2dDWUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0FDQUZJQUVnQUdzMkFqQWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lRSUFVZ0FTQUFhellDSUNBRklBSXVBUUlnQ1NnQ0JHd2lDQ0FDTGdFaUlBa29Ba1JzSWd0cVFRSjBJZ0VnQWk0QkVpQUpLQUlrYkNJQUlBSXVBVElnQ1NnQ1pHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNCQ0FGSUFFZ0FHczJBalFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJVUlBVWdBU0FBYXpZQ0pDQUZJQUl1QVFRZ0NTZ0NDR3dpQ0NBQ0xnRWtJQWtvQWtoc0lndHFRUUowSWdFZ0FpNEJGQ0FKS0FJb2JDSUFJQUl1QVRRZ0NTZ0NhR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhaUlNTmdJSUlBVWdBU0FBYXpZQ09DQUZJQWdnQzJ0QkFuUWlBU0FLSUFaQjM0bC9iR3BCQzNVaUFHbzJBaGdnQlNBQklBQnJOZ0lvSUFVZ0FpNEJCaUFKS0FJTWJDSUxJQUl1QVNZZ0NTZ0NUR3dpQm1wQkFuUWlBU0FDTGdFV0lBa29BaXhzSWdBZ0FpNEJOaUFKS0FKc2JDSUtha0hSSW14QmdBaHFJZ0lnQUVIK01HeHFRUXQxSWdCcUlnZzJBZ3dnQlNBQklBQnJOZ0k4SUFVZ0N5QUdhMEVDZENJQklBSWdDa0hmaVg5c2FrRUxkU0lBYWlJTE5nSWNJQVVnQVNBQWF6WUNMQ0FFSUFNb0FnQnFJZ1lnQjBHQWZXb2lCeUFNSUFVb0FnQkJrSUFCYWlJS2FrRU5kQ0lCSUFnZ0JTZ0NCQ0lBYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUtJQXhyUVExMElnRWdBaUFJUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ1JxSWdnZ0J5QUZLQUlRUVpDQUFXb2lCaUFGS0FJWUlncHFRUTEwSWdFZ0N5QUZLQUlVSWdCcVFkRWliQ0lDSUFCQi9qQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWdnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0NDQUhJQVlnQ210QkRYUWlBU0FDSUF0QjM0bC9iR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUNDQUhJQVVvQWlCQmtJQUJhaUlMSUFVb0FpZ2lCbXBCRFhRaUFTQUZLQUlrSWdBZ0JTZ0NMQ0lLYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFnZ0J5QUxJQVpyUVExMElnRWdBaUFLUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDQ0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUl3UVpDQUFXb2lDaUFGS0FJNElnUnFRUTEwSWdFZ0JTZ0NOQ0lBSUFVb0Fqd2lBMnBCMFNKc0lnSWdBRUgrTUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NpQUVhMEVOZENJQklBSWdBMEhmaVg5c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OFFBUXAvSXdZaEJTTUdRZkFBYWlRR0lBQW9BdEFDSVE0Z0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUVHSUFVZ0FpNEJJQ0FJUVVCcktBSUFiQ0lCSUFKQlFHc3VBUUFnQ0NnQ2dBRnNJZ0JxUWN3eWJDSU5JQVlnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFUUlBZ29BaUJzSWdBZ0FpNEJNQ0FJS0FKZ2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWdBZ0JTQUJJQUJyUVF0MU5nSlFJQVVnQ2lBTmF5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUdJQWxCd0tWL2JHcEJDM1UyQWlnZ0JTQUNMZ0VTSUFnb0FpUnNJZ0FnQWk0Qk1pQUlLQUprYkNJSGFrR2FOV3dpQmlBQVFmRWdiR29pRFNBQ0xnRWlJQWdvQWtSc0lnRWdBaTRCUWlBSUtBS0VBV3dpQUdwQnpESnNJZ2tnQ0NnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQ2lBQklBQnJJZ3RCMEJac2FpSU1haUlBYWtFTGRUWUNCQ0FGSUFBZ0RXdEJDM1UyQWxRZ0JTQUdJQWRCM1BSK2JHb2lBU0FNSUFscklnQnFRUXQxTmdJWUlBVkJRR3NnQUNBQmEwRUxkVFlDQUNBRklBb2dDMEhBcFg5c2FrRUxkVFlDTENBRklBSXVBU1FnQ0NnQ1NHd2lBU0FDTGdGRUlBZ29Bb2dCYkNJQWFrSE1NbXdpQmlBSUtBSUlJQUl1QVFSQkRYUnNRWUFJY2lJTklBRWdBR3NpQ1VIUUZteHFJZ3BxSWdFZ0FpNEJGQ0FJS0FJb2JDSUFJQUl1QVRRZ0NDZ0NhR3dpQzJwQm1qVnNJZ3dnQUVIeElHeHFJZ0JxUVF0MU5nSUlJQVVnQVNBQWEwRUxkVFlDV0NBRklBb2dCbXNpQVNBTUlBdEIzUFIrYkdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSkVJQVVnRFNBSlFjQ2xmMnhxUVF0MU5nSXdJQVVnQWk0QkppQUlLQUpNYkNJQklBSXVBVVlnQ0NnQ2pBRnNJZ0JxUWN3eWJDSUdJQWdvQWd3Z0FpNEJCa0VOZEd4QmdBaHlJZzBnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFV0lBZ29BaXhzSWdBZ0FpNEJOaUFJS0FKc2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWd3Z0JTQUJJQUJyUVF0MU5nSmNJQVVnQ2lBR2F5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNJQ0FGSUFFZ0FHdEJDM1UyQWtnZ0JTQU5JQWxCd0tWL2JHcEJDM1UyQWpRZ0JTQUNMZ0VvSUFnb0FsQnNJZ0VnQWk0QlNDQUlLQUtRQVd3aUFHcEJ6REpzSWcwZ0NDZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBSXVBUmdnQ0NnQ01Hd2lBQ0FDTGdFNElBZ29BbkJzSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFTGRUWUNFQ0FGSUFFZ0FHdEJDM1UyQW1BZ0JTQUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUXQxTmdJa0lBVWdBU0FBYTBFTGRUWUNUQ0FGSUFrZ0NrSEFwWDlzYWtFTGRUWUNPQ0FFSUFNb0FnQnFJZ1lnRGtHQWZXb2lCeUFGS0FJSUlnRWdCU2dDRUNJQWFrSE1NbXdpRFNBRktBSUFRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlNnQ0JDSUFJQVVvQWd3aURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJpQUhJQVVvQWh3aUFTQUZLQUlrSWdCcVFjd3liQ0lOSUFVb0FoUkJEWFJCZ0lDSXdBQnFJZ2tnQVNBQWF5SUtRZEFXYkdvaUMyb2lBU0FGS0FJWUlnQWdCU2dDSUNJTWFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBWWdCeUFMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDU0FLUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlJYWlJR0lBY2dCU2dDTUNJQklBVW9BamdpQUdwQnpESnNJZzBnQlNnQ0tFRU5kRUdBZ0lqQUFHb2lDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQVVvQWl3aUFDQUZLQUkwSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JpQUhJQXNnRFdzaUFTQUNJQXhCM1BSK2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUpJQXBCd0tWL2JHcEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUpFSWdFZ0JTZ0NUQ0lBYWtITU1td2lEU0FGS0FJOFFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCVUZBYXlnQ0FDSUFJQVVvQWtnaURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRUdvaUNTQUhJQVVvQWxnaUFTQUZLQUpnSWdCcVFjd3liQ0lLSUFVb0FsQkJEWFJCZ0lDSXdBQnFJZ3NnQVNBQWF5SU1RZEFXYkdvaUJHb2lBU0FGS0FKVUlnQWdCU2dDWENJRGFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBa2dCeUFFSUFwcklnRWdBaUFEUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDU0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBSklBY2dDeUFNUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThFQVE5L0l3WWhFQ01HUVpBQmFpUUdJQUFvQXRBQ0lSTWdFQ0lBSVFVZ0FTZ0NWQ0VCQTBBZ0JTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUtJQUVvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lNYWlJTklBRkJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSU9haUlQSUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0ZRSUFFb0FxQUJiQ0lJYWtHMkYyd2lFU0FHSUFJdUFUQWdBU2dDWUd3aUNXcEJEWFJxSWhKcVFRdDFOZ0lBSUFVZ0R5QVNhMEVMZFRZQ2VDQUZJQW9nREVGK2JHcEJDM1VpQ2lBR0lBbHJJQWhyUVFKMElnWnFOZ0lZSUFVZ0NpQUdhellDWUNBRklBMGdEbXNpQmlBUklBZ2dDV3RCRFhScUlnaHFRUXQxTmdJd0lBVWdCaUFJYTBFTGRUWUNTQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSFFRRnFJZ2RCQmtjTkFBc2dFMEdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQUNnQ0JDSUhJQUFvQWhRaUJtcEJ0aGRzSWdzZ0J5QUFLQUlNSWdocVFRMTBhaUlLSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ3dnQUNnQ0VFR2hMV3dpQ1dvaURTQUFLQUlJUWJIT0FHd2lEbW9pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0R5QUthMEVTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FISUFocklBWnJRUTEwSWdjZ0RDQUpheUFKYXlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFFZ0JTQUpJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCQ0FGSUEwZ0Rtc2lCeUFMSUFZZ0NHdEJEWFJxSWdacVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBY2dCbXRCRW5aQi93ZHhJQUpxTEFBQU9nQURJQUJCR0dvaEFDQUJRUUZxSWdGQkJrY05BQXNnRUNRR0MrMEJBUVIvUVFSQkJCQ0xBU0VFQTBBZ0FrRURSd1JBSUFKQkFuUWhCVUVBSVFNRFFDQURRUVJIQkVBZ0JDZ0NBQ0FESUFWcVFRTjBhaUFDUVFWMElBQnFJQU5CQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUZkQ0FCYWlBQ1FRTjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN5QUVFRWtMdFFZQkZIOGpCaUVWSXdaQjBBRnFKQVlnQUNnQzBBSWhHQ0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJSElBSXVBV0FnQVNnQ3dBRnNJZ1pyUWJjNGJDSU9JQUl1QVNBZ0FVRkFheWdDQUd3aUNTQUhhMEdTRkd3aUVTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBJQWRCbFlwL2JHcHFhaUVLSUFJdUFSQWdBU2dDSUd3aUN5QUNMZ0V3SUFFb0FtQnNJZ2hxUWU4N2JDSVNJQXNnQ0d0Qjh3cHNJaE5xSUFnZ0FpNEJVQ0FCS0FLZ0FXd2lDR3BCNGFkL2JDSVVhaUVOSUFVZ0R5QUdJQWxxSWhaQnh0RUFiR29pRnlBT0lBWkJnM3RzYW1vaUJpQUlJQXRxUWFNbmJDSUxJQklnRTJ0cUlnNXFRUXQxTmdJQUlBVWdCaUFPYTBFTGRUWUNxQUVnQlNBS0lBMXFRUXQxTmdJY0lBVWdDaUFOYTBFTGRUWUNqQUVnQlNBWElCRWdDVUh4NFg1c2Ftb2lCaUFVSUFzZ0NFSGU5d0JzYW1vaUNXcEJDM1UyQWpnZ0JTQUdJQWxyUVF0MU5nSndJQVVnRHlBSElCWnJRY0hhQUd4cVFRdDFOZ0pVSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSFJ3MEFDeUFZUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSVlJZ2RyUWJjNGJDSU5JQUFvQWdnaUJpQU1hMEdTRkd3aUVDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBeEJsWXAvYkdwcWFpRVBJQUFvQWdRaUNpQUFLQUlNSWdWcVFlODdiQ0lPSUFvZ0JXdEI4d3BzSWhGcUlBVWdBQ2dDRkNJTGFrSGhwMzlzSWhKcUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdDU0FHSUFkcUloTkJ4dEVBYkdvaUZDQU5JQWRCZzN0c2Ftb2lCeUFLSUF0cVFhTW5iQ0lLSUE0Z0VXdHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFjZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBRklBSWdDQ0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBUElBaHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQlFnRUNBR1FmSGhmbXhxYWlJSElCSWdDaUFMUWQ3M0FHeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWtnRENBVGEwSEIyZ0JzYWtFU2RrSC9CM0ZxTEFBQU9nQURJQUJCSEdvaEFDQUJRUUZxSWdGQkIwY05BQXNnRlNRR0M2SUhBUlIvSXdZaEZTTUdRYUFDYWlRR0lBQW9BdEFDSVJnZ0ZTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBQktBTEFBU0FDTGdGZ1FhRXRiR3dpQm1vaENDQUhJQVpySUFackloQWdBaTRCSUNBQlFVQnJLQUlBYkNJR0lBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdkckloRkJvUzFzYWlFSklBSXVBUkFnQVNnQ0lHd2lDaUFDTGdGUUlBRW9BcUFCYkNJTWFrR1hPbXdoRFNBRklBZ2dCaUFIYWtHSDFRQnNJaElnQjBIY0Qyd2lFMnRxSWhRZ0NpQUNMZ0Z3SUFFb0F1QUJiQ0lIYWtINkhtd2lGaUFOSUFFb0FtQWdBaTRCTUVIUHNYOXNiQ0lPYTJvaUYycEJDM1UyQWdBZ0JTQVVJQmRyUVF0MU5nS0FBaUFGSUFrZ0NpQU1heUFIYTBHeHpnQnNJZ3BxUVF0MU5nSWdJQVVnQ1NBS2EwRUxkVFlDNEFFZ0JVRkFheUFHUWF2RkFHd2lCaUFJSUJKcmFpSUpJQTBnRGlBTUlBZHJRWkhaQUd3aUIydHFJZ3BxUVF0MU5nSUFJQVVnQ1NBS2EwRUxkVFlDd0FFZ0JTQVRJQWdnQm10cUlnZ2dGaUFISUE1cWFpSUdha0VMZFRZQ1lDQUZJQWdnQm10QkMzVTJBcUFCSUFVZ0VDQVJRYjZsZjJ4cVFRdDFOZ0tBQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUxRUUZxSWd0QkNFY05BQXNnR0VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSUlBQW9BaGhCb1Mxc0lnVnFJUXNnQ0NBRmF5QUZheUlPSUFBb0FnZ2lDQ0FBS0FJUUlnWnJJZzlCb1Mxc2FpRUhJQUFvQWdRaUNTQUFLQUlVSWdwcVFaYzZiQ0VNSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFzZ0JpQUlha0dIMVFCc0loQWdCa0hjRDJ3aUVXdHFJaElnQ1NBQUtBSWNJZ1pxUWZvZWJDSVRJQXdnQUNnQ0RFSFBzWDlzSWcxcmFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFTSUJSclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDU0FLYXlBR2EwR3h6Z0JzSWdscVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0VHcnhRQnNJZ2dnQ3lBUWEyb2lCeUFNSUEwZ0NpQUdhMEdSMlFCc0lnWnJhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQkVnQ3lBSWEyb2lDeUFUSUFZZ0RXcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdEaUFQUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVKUncwQUN5QVZKQVlML2djQkZYOGpCaUVWSXdaQndBSnFKQVlnQUNnQzBBSWhHU0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0V3SUFFb0FtQnNJZ1lnQWk0QmNDQUJLQUxnQVd3aUNtb2hCeUFGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdrZ0FrRkFheTRCQUNBQktBS0FBV3dpQzBHZHlRQnNhaUlRSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJUmFrR2FOV3dpRFNBTVFmRWdiR29pREdvaURpQUdJQXBySWdwQjR4TnNJaElnQWk0QlVDQUJLQUtnQVd3aUZFRU5kQ0lQYWlJV0lBZEI3enhzSWhjZ0FpNEJFQ0FCS0FJZ2JDSUdRYlBaQUd4cWFpSVlha0VMZFRZQ0FDQUZJQTRnR0d0QkMzVTJBcUFDSUFVZ0NTQUxRWVJrYkdvaURpQU5JQkZCM1BSK2JHb2lFV29pRFNBR1FkUFFBR3dnQjBIUEpXd2lCMnNnRHlBU2F5QUtRUXgwYXlJU2F5SVBha0VMZFRZQ0lDQUZJQTBnRDJ0QkMzVTJBb0FDSUFWQlFHc2dDU0FMUWI2bGYyeHFRUXQxSWdrZ0JpQVVheUFLYTBFQ2RDSUxhallDQUNBRklBa2dDMnMyQXVBQklBVWdEaUFSYXlJSklCSWdCa0dNS1d3Z0IydHFJZ2RxUVF0MU5nSmdJQVVnQ1NBSGEwRUxkVFlDd0FFZ0JTQVFJQXhySWdjZ0ZpQUdRWlFPYkNBWGEyb2lCbXBCQzNVMkFvQUJJQVVnQnlBR2EwRUxkVFlDb0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDRUVCYWlJSVFRaEhEUUFMSUJsQmdIMXFJUUpCQUNFQkEwQWdBQ2dDRENJSUlBQW9BaHdpQ21vaEJpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpQ1VHZHlRQnNhaUlUSUFBb0FnZ2lDeUFBS0FJWUloQnFRWm8xYkNJTUlBdEI4U0JzYWlJUmFpSU5JQUFvQWhSQkRYUWlDeUFJSUFwcklncEI0eE5zSWc1cUloSWdCa0h2UEd3aUZDQUFLQUlFSWdoQnM5a0FiR3BxSWc5cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBMGdEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnQnlBSlFZUmtiR29pRFNBTUlCQkIzUFIrYkdvaUVHb2lEQ0FJUWRQUUFHd2dCa0hQSld3aUJtc2dDeUFPYXlBS1FReDBheUlPYXlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQU1JQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NVRytwWDlzYWlJSElBZ2dDbXRCRFhRZ0Myc2lDV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQnlBSmEwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkJySWdjZ0RpQUlRWXdwYkNBR2Eyb2lCbXBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQVRJQkZySWdZZ0VpQUlRWlFPYkNBVWEyb2lDR3BCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZTUUdDOTRKQVJsL0l3WWhHU01HUWVBQ2FpUUdJQUFvQXRBQ0lSMGdHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRWdJQUZCUUdzb0FnQnNJZ2xyUWNrYmJDRVVJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaFlnQ1NBQ0xnRmdJQUVvQXNBQmJDSUhhaUlRSUFackloZEI3TllBYkdvaERpQVVJQVlnQjJ0Qi9xSUJiQ0FPYWlJUklBWkJ0SXQvYkdwcUlRb2dBaTRCY0NBQktBTGdBV3dpQ3lBQ0xnRlFJQUVvQXFBQmJDSU5JQUl1QVJBZ0FTZ0NJR3dpQ0NBQ0xnRXdJQUVvQW1Cc0lnOXFJaE5xYWtIQUdXd2lFaUFJSUF0cVFiZ1hiR29pR0NBSUlBMXFRZlFxYkNJYUlCTkI2amhzSWhzZ0NFSDJSR3hxYW1vaENDQU5JQTlxUWNtMWYyd2dFbW9pSENBTlFkcXpmMndnR21wcUlSTWdCU0FSSUFkQnRZY0JiR29pRVNBSWFrRUxkVFlDQUNBRklCRWdDR3RCQzNVMkFzQUNJQVVnSENBTElBOXFRZldNZjJ3aUNDQVBRZGlFQVd3Z0cycHFhaUlSSUFwcVFRdDFOZ0lnSUFVZ0NpQVJhMEVMZFRZQ29BSWdCVUZBYXlBVElCQkJoYlovYkNBT2FpSUtJQWRCdzAxc2FpSUhha0VMZFRZQ0FDQUZJQWNnRTJ0QkMzVTJBb0FDSUFVZ0NDQUxRY2VHQVd4cUlCaHFJZ2NnRGlBVWFpQUpRWkdmZjJ4cUlnNXFRUXQxTmdKZ0lBVWdEaUFIYTBFTGRUWUM0QUVnQlNBUFFZMmlmMndnRFVHTHdBQnNhaUFMUVphVWYyeHFJQkpxSWdzZ0NpQUdRYm44QUd3Z0NVSDlwbjlzYW1vaUJtcEJDM1UyQW9BQklBVWdCaUFMYTBFTGRUWUN3QUVnQlNBV0lCZEJ2NlYvYkdwQkMzVTJBcUFCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFkUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSUlJZzlyUWNrYmJDRU9JQUFvQWdCQkRYUkJnSUNJd0FCcUloTWdEeUFBS0FJWUlnbHFJaFVnREdzaUZrSHMxZ0JzYWlFSElBNGdEQ0FKYTBIK29nRnNJQWRxSWhBZ0RFRzBpMzlzYW1vaENDQUFLQUljSWdZZ0FDZ0NGQ0lMSUFBb0FnUWlCU0FBS0FJTUlnMXFJZ3BxYWtIQUdXd2lGQ0FGSUFacVFiZ1hiR29pRnlBRklBdHFRZlFxYkNJU0lBcEI2amhzSWhFZ0JVSDJSR3hxYW1vaENpQVVJQXNnRFdwQnliVi9iR29pR0NBU0lBdEIyck4vYkdwcUlSSWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdFQ0FKUWJXSEFXeHFJaEFnQ21wQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0VDQUthMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFJSUJnZ0JpQU5ha0gxakg5c0lnb2dFU0FOUWRpRUFXeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0NDQVFhMEVTZGtIL0IzRnFMQUFBT2dBSklBVWdBaUFWUVlXMmYyd2dCMm9pQ0NBSlFjTk5iR29pQ1NBU2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUpJQkpyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0Rtb2dEMEdSbjM5c2FpSUpJQmNnQ2lBR1FjZUdBV3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUpJQWRyUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0RFRzUvQUJzSUE5Qi9hWi9iR3BxSWd3Z0ZDQU5RWTJpZjJ3Z0MwR0x3QUJzYWlBR1FaYVVmMnhxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQU1JQVpyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJNZ0ZrRy9wWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkMwY05BQXNnR1NRR0M1a0pBUmQvSXdZaEdTTUdRWUFEYWlRR0lBQW9BdEFDSVJzZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQktBS0FBU0FDUVVCckxnRUFRYkhPQUd4c0loSnFJUTBnQ1NBQ0xnRWdJQUZCUUdzb0FnQnNJZ3BCRFhRZ0FTZ0N3QUVnQWk0QllFRU5kR3dpRG1zaUVHb2hFU0FGSUEwZ0NrRzIxd0JzSUE1cUloZHFJaE1nQWk0QmNDQUJLQUxnQVd3aUJpQUNMZ0VRSUFFb0FpQnNJZ2NnQWk0QlVDQUJLQUtnQVd3aUNHb2lDMnBCalRkc0lnOGdDMEhiRUd4cUloUWdBaTRCTUNBQktBSmdiQ0lMUWMvVEFHd2lHQ0FIUWZjUmJHcHFJaFZxUVF0MU5nSUFJQVVnRXlBVmEwRUxkVFlDNEFJZ0JTQUxJQWhySWhNZ0J5QUdheUlWYWtIUkltd2lHaUFWUWY0d2JHb2lGU0FSYWtFTGRUWUNJQ0FGSUJFZ0ZXdEJDM1UyQXNBQ0lBVkJRR3NnQ1NBU2F5SVJJQXBCdGhkc0lBNXJJZ3BxSWc0Z0ZDQUdJQWhxUVl1OWYyd2lFaUFMUWE5ZGJDSUxJQWhCc0tGL2JHcHFhaUlJYWtFTGRUWUNBQ0FGSUE0Z0NHdEJDM1UyQXFBQ0lBVWdFU0FLYXlJSUlCSWdEeUFHUWNibEFHd2dHR3RxYWlJS2FrRUxkVFlDWUNBRklBZ2dDbXRCQzNVMkFvQUNJQVVnR2lBVFFkK0pmMnhxSWdnZ0NTQVFheUlKYWtFTGRUWUNnQUVnQlNBSklBaHJRUXQxTmdMZ0FTQUZJQTBnRjJzaUNTQVBJQXNnQjBIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nS2dBU0FGSUFrZ0JtdEJDM1UyQXNBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBYlFZQjlhaUVDUVFBaEFRTkFJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUVHeHpnQnNJZ3RxSVFnZ0JpQUFLQUlJSWcxQkRYUWdBQ2dDR0VFTmRDSUtheUlXYWlFT0lBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBZ2dEVUcyMXdCc0lBcHFJaEpxSWhBZ0FDZ0NIQ0lNSUFBb0FnUWlDU0FBS0FJVUlnZHFJZzlxUVkwM2JDSVJJQTlCMnhCc2FpSVhJQUFvQWd3aUQwSFAwd0JzSWhNZ0NVSDNFV3hxYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVFJQlJyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUE0Z0NTQU1heUlRSUE4Z0Iyc2lGR3BCMFNKc0loZ2dFRUgrTUd4cUloQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQTRnRUd0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0JpQUxheUlPSUExQnRoZHNJQXBySWcxcUlnb2dGeUFISUF4cVFZdTlmMndpQ3lBUFFhOWRiQ0lQSUFkQnNLRi9iR3BxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUtJQWRyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUE0Z0RXc2lCeUFMSUJFZ0RFSEc1UUJzSUJOcmFtb2lEV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FJSUFVZ0FpQUdJQlpySWdZZ0dDQVVRZCtKZjJ4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQVlnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NDQVNheUlHSUJFZ0R5QUpRZHhVYkdvZ0RFR01nWDlzYW1vaURHcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCaUFNYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQUJCSUdvaEFDQUJRUUZxSWdGQkRFY05BQXNnR1NRR0Mrd0tBUmgvSXdZaEdTTUdRYUFEYWlRR0lBQW9BdEFDSVJ3Z0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdGZ0lBRW9Bc0FCYkNJSGFpRU5JQUl1QVJBZ0FTZ0NJR3dpRGlBQ0xnRXdJQUVvQW1Cc0lnaHFRZERVQUd3aENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaEVnQmlBSGF5SUtRWmtHYkdvaUR5QU5RZm5KQUd3aUVpQUNMZ0VnSUFGQlFHc29BZ0JzSWdaQjhkY0FiR3BxSWhNZ0RpQUNMZ0Z3SUFFb0F1QUJiQ0lMYWlJWFFZSThiQ0lVSUE0Z0FpNEJVQ0FCS0FLZ0FXd2lCMnBCdnNvQWJDSVZJQWtnRGtIYi9uNXNhbXBxSWhacVFRdDFOZ0lBSUFVZ0V5QVdhMEVMZFRZQ2dBTWdCU0FJSUF0cVFjSzFmMndpRXlBSElBaHFRYXRxYkNJV0lBaEJ5elZzSUFscWFtb2lDU0FSSUFwQmxSOXNhaUlZSUFaQjRNTUFiQ0FOUWFBVWJDSWFhMm9pRzJwQkMzVTJBaUFnQlNBYklBbHJRUXQxTmdMZ0FpQUZRVUJySUFjZ0MycEIrRlZzSWdrZ0ZpQUhRYkdiZjJ4cUlCVnFhaUlWSUE4Z0JrR01JR3dnRW10cUlnOXFRUXQxTmdJQUlBVWdEeUFWYTBFTGRUWUN3QUlnQlNBVElBdEJsSTBCYkdvZ0ZHb2dDV29pQ1NBUklBcEJna1JzYWlJUElBWkJqSFZzSUExQjhodHNJZzFyYWlJU2FrRUxkVFlDWUNBRklCSWdDV3RCQzNVMkFxQUNJQVVnQ0VHV1ltd2dGMEhWRld3Z0J5QUlhMEdDUEd4cUlnZ2dEa0d6Rkd4cWFpSU9JQThnRFNBR1FjdE1iR3BxSWcxcVFRdDFOZ0tBQVNBRklBMGdEbXRCQzNVMkFvQUNJQVVnQ0NBSFFjNFliR29nQzBHL2tIOXNhaUlJSUJnZ0dpQUdRZTZ2ZjJ4cWFpSUhha0VMZFRZQ29BRWdCU0FISUFoclFRdDFOZ0xnQVNBRklCRWdDaUFHYTBIQjJnQnNha0VMZFRZQ3dBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnREVFQmFpSU1RUWhIRFFBTElCeEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0VDSU1JQUFvQWhnaUNHb2hDeUFBS0FJRUlnY2dBQ2dDRENJR2FrSFExQUJzSVFvZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pRFNBTUlBaHJJaEZCbVFac2FpSUpJQXRCK2NrQWJDSVFJQUFvQWdnaURFSHgxd0JzYW1vaUR5QUhJQUFvQWh3aURtb2lFa0dDUEd3aUV5QUhJQUFvQWhRaUNHcEJ2c29BYkNJWElBb2dCMEhiL241c2FtcHFJaFJxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0ZHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdEU0FSUVpVZmJHb2lEeUFNUWVEREFHd2dDMEdnRkd3aUZHdHFJaFVnQmlBT2FrSEN0WDlzSWhZZ0JpQUlha0dyYW13aUdDQUtJQVpCeXpWc2FtcHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJVZ0NtdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDU0FNUVl3Z2JDQVFhMm9pQ2lBSUlBNXFRZmhWYkNJSklCY2dHQ0FJUWJHYmYyeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NpQVFhMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFOSUJGQmdrUnNhaUlLSUF4QmpIVnNJQXRCOGh0c0lndHJhaUlRSUJNZ0ZpQU9RWlNOQVd4cWFpQUphaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBUUlBbHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQW9nQ3lBTVFjdE1iR3BxSWdzZ0JrR1dZbXdnRWtIVkZXd2dDQ0FHYTBHQ1BHeHFJZ1lnQjBHekZHeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTElBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQThnRkNBTVFlNnZmMnhxYWlJSElBWWdDRUhPR0d4cUlBNUJ2NUIvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCRWdER3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUTFIRFFBTElCa2tCZ3ZDQ2dFWmZ5TUdJUm9qQmtIQUEyb2tCaUFBS0FMUUFpRWRJQm9pQUNFRklBRW9BbFFoQVFOQUlBSXVBWEFnQVNnQzRBRnNJaFpCRFhRaUNTQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2lERUhTekFCc0loRWdCaUFDTGdFd0lBRW9BbUJzSWdwcVFiZlZBR3dpRWlBR1FmQzNmMnhxYW1vaEN5QUdJQXBySWhOQjhoMXNJQWxySWhnZ0RFR1VNR3dpRnlBR1FZdThmMnhxYWlFUUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSU1RY2JSQUd4cUloUWdBaTRCSUNBQlFVQnJLQUlBYkNJTklBSXVBV0FnQVNnQ3dBRnNJZzVxUWVMR0FHd2lGU0FOUWIwUmJHb2lHMm9pR1NBTGFrRUxkVFlDQUNBRklCa2dDMnRCQzNVMkFxQURJQVVnQnlBS2FrSHZkV3dnQ1dzaUN5QUtRZTVrYkNBU2Ftb2lFaUFHSUF4QmtoUnNhaUlaSUJVZ0RrSDhrWDlzYWlJVmFpSWNha0VMZFRZQ0lDQUZJQndnRW10QkMzVTJBb0FESUFWQlFHc2dDeUFIUVlub2Ztd2dFV3BxSWdzZ0JpQU1RY2xIYkdvaUVTQU5RYU1uYkNBT1FlR25mMnhxSWcxcUlnNXFRUXQxTmdJQUlBVWdEaUFMYTBFTGRUWUM0QUlnQlNBVElBZHJJQlpxUVFKMElnc2dCaUFNUWI2bGYyeHFRUXQxSWdacU5nSmdJQVVnQmlBTGF6WUN3QUlnQlNBSElBcHJRZmpaQUd3aUJpQUhRZWFUZjJ4cUlCZHFJQWxxSWdjZ0VTQU5heUlKYWtFTGRUWUNnQUVnQlNBSklBZHJRUXQxTmdLZ0FpQUZJQVlnQ2tHWksyeHFJQmhxSWdjZ0dTQVZheUlLYWtFTGRUWUNvQUVnQlNBS0lBZHJRUXQxTmdLQUFpQUZJQlFnRzJzaUJ5QVFha0VMZFRZQ3dBRWdCU0FISUJCclFRdDFOZ0xnQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUlRUUZxSWdoQkNFY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUljUVExMElnb2dBQ2dDQkNJRklBQW9BaFFpQ0dvaUJrSFN6QUJzSWc0Z0JTQUFLQUlNSWdkcVFiZlZBR3dpRHlBRlFmQzNmMnhxYW1vaERDQUZJQWRySWhGQjhoMXNJQXBySWhJZ0JrR1VNR3dpRmlBRlFZdThmMnhxYWlFTElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFQ0lKUWNiUkFHeHFJaGNnQUNnQ0NDSVFJQUFvQWhnaURXcEI0c1lBYkNJVElCQkJ2UkZzYWlJWWFpSVVJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJRZ0RHdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCaUFKUVpJVWJHb2lEQ0FUSUExQi9KRi9iR29pRTJvaUZDQUhJQWhxUWU5MWJDQUtheUlWSUE4Z0IwSHVaR3hxYWlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVVJQTlyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUFZZ0NVSEpSMnhxSWc4Z0VFR2pKMndnRFVIaHAzOXNhaUlRYWlJTklCVWdEaUFJUVlub2ZteHFhaUlPYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBNXJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQVlnQ1VHK3BYOXNhaUlHSUFvZ0VTQUlhMEVOZEdvaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBUElCQnJJZ1lnRmlBSUlBZHJRZmpaQUd3aUNTQUtJQWhCNXBOL2JHcHFhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBR0lBaHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQXdnRTJzaUNDQVNJQWtnQjBHWksyeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSUlBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQmNnR0dzaUNDQUxha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFJSUF0clFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRU9SdzBBQ3lBYUpBWUxuZ3NCRzM4akJpRWRJd1pCNEFOcUpBWWdBQ2dDMEFJaEh5QWRJZ0FoQlNBQktBSlVJUUVEUUNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJTElBSXVBV0FnQVNnQ3dBRnNJZ2hCaEdSc2FpRVJJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJVGF5RUhJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCY0NBQktBTGdBV3dpRFdzaUZtcEJtalZzSWhjZ0JrSHhJR3hxSVFrZ0FTZ0NvQUVnQWk0QlVFR3h6Z0JzYkNJT0lBWWdEV3NpR0VHQzJnQnNhaUlQSUExQm81MEJiQ0FLUWZhcGYyd2lHV3RxSVJJZ0R5QUtRZVpLYkNJYUlBWkI1N2gvYkdwcUlRb2dCU0FTSUFzZ0NFR2R5UUJzYWlJUElBd2dFMm9pRTBITzFRQnNJaFFnQjBIMkFtd2lHMnBxSWh4cVFRdDFOZ0lBSUFVZ0hDQVNhMEVMZFRZQ3dBTWdCU0FSSUJOQnpESnNJaElnQjBIUUZtd2lIR3BxSWg0Z0NXcEJDM1UyQWlBZ0JTQWVJQWxyUVF0MU5nS2dBeUFGUVVCcklCaEJzYzRBYkNBT2F5SUpJQXNnQ0VHK3BYOXNhaUlMSUFkQm9DMXNhaUlJYWtFTGRUWUNBQ0FGSUFnZ0NXdEJDM1UyQW9BRElBVWdCaUFOYWtIb0pHd2lDQ0FHUWJrZWJDQWFhaUFPYTJvaUJpQVJJQnNnREVHVDNBQnNJZ3dnRkd0cWFpSUpha0VMZFRZQ1lDQUZJQWtnQm10QkMzVTJBdUFDSUFVZ0hDQVBJQkpyYWlJR0lCY2dGa0hjOUg1c2FpSUpha0VMZFRZQ2dBRWdCU0FHSUFsclFRdDFOZ0xBQWlBRklBZ2dEaUFaYWlBTlFhOUliR3BxSWdZZ0IwRzVabXdpRFNBUElCTkJnaU5zSWc1cmFpSUlha0VMZFRZQ29BRWdCU0FJSUFaclFRdDFOZ0tnQWlBRklBb2dFU0FOSUE0Z0RHdHFhaUlHYWtFTGRUWUN3QUVnQlNBR0lBcHJRUXQxTmdLQUFpQUZJQXNnQjBIQXBYOXNha0VMZFRZQzRBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnRUVFQmFpSVFRUWhIRFFBTElCOUJnSDFxSVFKQkFDRUJBMEFnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEaUFBS0FJWUlndEJoR1JzYWlFTklBQW9BZ2dpQ0NBQUtBSVFJZzlySVJBZ0FDZ0NCQ0lISUFBb0Fnd2lCU0FBS0FJY0lnWnJJaE5xUVpvMWJDSVZJQWRCOFNCc2FpRU1JQUFvQWhSQnNjNEFiQ0lSSUFjZ0Jtc2lGa0dDMmdCc2FpSUpJQVpCbzUwQmJDQUZRZmFwZjJ3aUYydHFJUW9nQ1NBRlFlWktiQ0lZSUFkQjU3aC9iR3BxSVFrZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0RpQUxRWjNKQUd4cUloSWdDQ0FQYWlJUFFjN1ZBR3dpR1NBUVFmWUNiQ0lhYW1vaUZDQUtha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFVSUFwclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBMGdEMEhNTW13aUNpQVFRZEFXYkNJVWFtb2lHeUFNYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBYklBeHJRUkoyUWY4SGNXb3NBQUE2QUEwZ0JTQUNJQTRnQzBHK3BYOXNhaUlPSUJCQm9DMXNhaUlMSUJaQnNjNEFiQ0FSYXlJTWFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQXhyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUEwZ0dpQUlRWlBjQUd3aUN5QVphMnBxSWdnZ0JpQUhha0hvSkd3aURDQVlJQWRCdVI1c2FpQVJhMm9pQjJwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NDQUhhMEVTZGtIL0IzRnFMQUFBT2dBTElBVWdBaUFVSUJJZ0NtdHFJZ2NnRlNBVFFkejBmbXhxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRUVHNVptd2lCeUFTSUE5QmdpTnNJZ2hyYWlJS0lBd2dFU0FYYWlBR1FhOUliR3BxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBb2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBSElBZ2dDMnRxYWlJSElBbHFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0RpQVFRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRVBSdzBBQ3lBZEpBWUwyd3dCSG44akJpRWdJd1pCZ0FScUpBWWdBQ2dDMEFJaElpQWdJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRWdJQUZCUUdzb0FnQnNJaEFnQWk0QllDQUJLQUxBQVd3aUQyc2lFVUhVRVd3aERDQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2hDaUFHSUFJdUFYQWdBU2dDNEFGc0lnMXFRZnpGQUd3aUZ5QUtRZW5QQUd3aUV5QUdJQUl1QVRBZ0FTZ0NZR3dpQ0dwQnp0WUFiQ0lMSUFaQjF1MStiR3BxYWlFT0lBWWdEV3RCdGpsc0loa2dDa0hWS213aUdDQUdJQWhyUWFNYWJDSVNJQVpCd29wL2JHcHFhaUVLSUFnZ0RXb2lCa0dyVld3aUdpQUhJQWhxUWZBSWJDSVVJQWhCelFSc0lBdHFhbW9oQ3lBR1FaZXdmMndpR3lBSElBaHJRWW5hQUd3aUhDQUlRWnIrQUd3Z0VtcHFhaUVJSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJU1FjL1RBR3dpSFdvaUZTQVJRZVBZQUd3aUVTQVBRWU9rQVd4cUloNXFJaDhnRG1wQkMzVTJBZ0FnQlNBZklBNXJRUXQxTmdMZ0F5QUZJQXNnQmlBU1FkRWliQ0lPYWlJU0lBd2dFRUhOT1d4cUloOXFJaUZxUVF0MU5nSWdJQVVnSVNBTGEwRUxkVFlDd0FNZ0JVRkFheUFISUExcVFiS3BmMndpQ3lBVUlBZEIrcmQvYkdvZ0UycHFJaE1nQmlBT2F5SU9JQkVnRUVIQ1dXeHFJaEJxSWhGcVFRdDFOZ0lBSUFVZ0VTQVRhMEVMZFRZQ29BTWdCU0FhSUExQm1NUUFiR29nRjJvZ0Myb2lDeUFHSUIxcklnWWdEQ0FQUWJCZmJHb2lEMm9pREdwQkMzVTJBbUFnQlNBTUlBdHJRUXQxTmdLQUF5QUZJQnNnRFVHRnlRRnNhaUFaYWlBTklBZHJRYU1hYkNJTmFpSU1JQVlnRDJzaUJtcEJDM1UyQW9BQklBVWdCaUFNYTBFTGRUWUM0QUlnQlNBY0lBZEIrazVzYWlBWWFpQU5haUlHSUE0Z0VHc2lCMnBCQzNVMkFxQUJJQVVnQnlBR2EwRUxkVFlDd0FJZ0JTQUlJQklnSDJzaUJtcEJDM1UyQXNBQklBVWdCaUFJYTBFTGRUWUNvQUlnQlNBS0lCVWdIbXNpQm1wQkMzVTJBdUFCSUFVZ0JpQUthMEVMZFRZQ2dBSWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUWhIRFFBTElDSkJnSDFxSVFKQkFDRUJBMEFnQUNnQ0NDSU5JQUFvQWhnaUNHc2lDMEhVRVd3aEVDQUFLQUlFSWdVZ0FDZ0NGQ0lKYWlFUElBVWdBQ2dDSENJR2FrSDh4UUJzSWhZZ0QwSHB6d0JzSWhFZ0JTQUFLQUlNSWdkcVFjN1dBR3dpQ2lBRlFkYnRmbXhxYW1vaERDQUZJQVpyUWJZNWJDSVhJQTlCMVNwc0loTWdCU0FIYTBHakdtd2lEaUFGUWNLS2YyeHFhbW9oRHlBR0lBZHFJZ1ZCcTFWc0loZ2dCeUFKYWtId0NHd2lFaUFLSUFkQnpRUnNhbXBxSVFvZ0JVR1hzSDlzSWhrZ0NTQUhhMEdKMmdCc0lob2dEaUFIUVpyK0FHeHFhbW9oRGlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlGRUhQMHdCc0lodHFJaHdnQzBIajJBQnNJZ3NnQ0VHRHBBRnNhaUlkYWlJVklBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlVnREd0QkVuWkIvd2R4YWl3QUFEb0FEeUFGSUFJZ0J5QVVRZEVpYkNJTWFpSVVJQkFnRFVITk9XeHFJaFZxSWg0Z0NtcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdIaUFLYTBFU2RrSC9CM0ZxTEFBQU9nQU9JQVVnQWlBSElBeHJJZ3dnQ3lBTlFjSlpiR29pRFdvaUNpQUdJQWxxUWJLcGYyd2lDeUFSSUJJZ0NVSDZ0MzlzYW1wcUloRnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQW9nRVd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0J5QWJheUlISUJBZ0NFR3dYMnhxSWdocUloQWdGaUFZSUFaQm1NUUFiR3BxSUF0cUlncHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQkFnQ210QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUlheUlISUJjZ0dTQUdRWVhKQVd4cWFpQUdJQWxyUWFNYWJDSUdhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBaHJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQXdnRFdzaUJ5QVRJQm9nQ1VINlRteHFhaUFHYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUJRZ0ZXc2lDU0FPYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSklBNXJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQndnSFdzaUNTQVBha0VTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFKSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBZ0pBWUw3Z3NCSEg4akJpRVhJd1pCZ0FKcUpBWWdBQ2dDMEFJaElDQVhJZ0FoQlNBQktBSlVJUUZCQ0NFSUEwQUNmd0pBSUFJdUFSQWlDaUFDTGdFZ0lnWnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VHREFJRklBSkJRR3N1QVFBRWYwRUFJUVlNQXdVZ0FpNEJVQVIvUVFBaEJnd0VCU0FDTGdGZ0JIOUJBQ0VHREFVRklBSXVBWEFFZjBFQUlRWU1CZ1VnQlNBQktBSUFJQUl1QVFCQkFuUnNJZ1kyQWdBZ0JTQUdOZ0lnSUFWQlFHc2dCallDQUNBRklBWTJBbUFnQlNBR05nS0FBU0FGSUFZMkFxQUJJQVVnQmpZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSElBSXVBVEFnQVNnQ1lHd2lEV29pQ3lBQ0xnRlFJQUVvQXFBQmJDSU1JQW9nQVNnQ0lHd2lDbW9pQ1dwQm9jc0FiQ0lQSUF0QnU0Si9iR29pQ3lBSElBcHFRYk5HYkNJT0lBZEJqaE5zYW1vaEJ5QVBJQWxCaEdkc2FpSUpJQTRnQ2tHTDRBQnNhbW9oQ2lBSklBd2dEV3BCL2R0K2JDSUpJQXhCczRNQmJHcHFJUXdnQlNBS0lBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnOGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlEbW9pRWlBQlFVQnJLQUlBSUFaQkVIUkJFSFZzSWdZZ0FpNEJZQ0FCS0FMQUFXd2lFV3BCMFNKc0loTWdCa0grTUd4cUlnWnFJaFJxUVF0MU5nSUFJQVVnRkNBS2EwRUxkVFlDNEFFZ0JTQUxJQWtnRFVIVXhBRnNhbW9pRFNBT0lBOXJJZ29nRXlBUlFkK0pmMnhxSWd0cUlnbHFRUXQxTmdJZ0lBVWdDU0FOYTBFTGRUWUN3QUVnQlVGQWF5QU1JQW9nQzJzaURXcEJDM1UyQWdBZ0JTQU5JQXhyUVF0MU5nS2dBU0FGSUFjZ0VpQUdheUlHYWtFTGRUWUNZQ0FHSUFkclFRdDFJUVpCSUF0QkFuUWdCV29nQmpZQ0FDQUZRUVJxSVFVZ0FVRUVhaUVCSUFKQkFtb2hBaUFJUVg5cUlRWWdDRUVCU3dSQUlBWWhDQXdCQ3dzZ0lFR0FmV29oQWtFQUlRRURRQ0FBS0FJSUlnMGdBQ2dDR0NJTWF5SU9RZFFSYkNFS0lBQW9BZ1FpQlNBQUtBSVVJZ2hxSVJBZ0JTQUFLQUljSWdacVFmekZBR3dpRWlBUVFlblBBR3dpRVNBRklBQW9BZ3dpQjJwQnp0WUFiQ0lKSUFWQjF1MStiR3BxYWlFTElBVWdCbXRCdGpsc0loTWdFRUhWS213aUZDQUZJQWRyUWFNYWJDSVBJQVZCd29wL2JHcHFhaUVRSUFZZ0Iyb2lCVUdyVld3aUdDQUhJQWhxUWZBSWJDSVpJQWtnQjBITkJHeHFhbW9oQ1NBRlFaZXdmMndpR2lBSUlBZHJRWW5hQUd3aUd5QVBJQWRCbXY0QWJHcHFhaUVQSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ2NnQUNnQ0VDSVZRYy9UQUd3aUhHb2lIU0FPUWVQWUFHd2lEaUFNUVlPa0FXeHFJaDVxSWhZZ0MycEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGaUFMYTBFU2RrSC9CM0ZxTEFBQU9nQVBJQVVnQWlBSElCVkIwU0pzSWd0cUloVWdDaUFOUWMwNWJHb2lGbW9pSHlBSmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWZJQWxyUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUFjZ0Myc2lDeUFPSUExQndsbHNhaUlOYWlJSklBWWdDR3BCc3FsL2JDSU9JQkVnR1NBSVFmcTNmMnhxYW1vaUVXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDU0FSYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElCeHJJZ2NnQ2lBTVFiQmZiR29pREdvaUNpQVNJQmdnQmtHWXhBQnNhbW9nRG1vaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQU1JQVVnQWlBSElBeHJJZ2NnRXlBYUlBWkJoY2tCYkdwcUlBWWdDR3RCb3hwc0lnWnFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0RHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDeUFOYXlJSElCUWdHeUFJUWZwT2JHcHFJQVpxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRlNBV2F5SUlJQTlxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFnZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdIU0FlYXlJSUlCQnFRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnRUd0QkVuWkIvd2R4YWl3QUFEb0FDQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJja0JndlRFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFGQkFoQTVJUXdnQWtFQ0VEa2hEaUFFS0FJQUlnY2hBaUFNSUE1QmYyb2lFR3hCQVhRZ0Iyb2hCUU5BSUFZZ0RFZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQmtFQmFpRUdEQUVMQ3lBSElRSWdERUYvYWlJUlFRRjBJQWRxSVFWQkFDRUdBMEFnQmlBT1NBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RFRUJkQ0FDYWlFQ0lBeEJBWFFnQldvaEJTQUdRUUZxSVFZTUFRc0xJQVJCa0lESUFHb2hBa0VBSUF4cklSSWdBQ0FCUVFGMFFRSnFhaUVOUVFFaEMwRUFJUVVnREVFQmFrRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBQWtBZ0VrRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFMTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nQ3pZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTElBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUN5QU5RUUpxSVEwZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU5ha0VFYWlFTklBdEJBV29oQ3lBQUlRVWdCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJR1JnUkFJQUJCQVdvaEFRVWdBQ0VCSUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRERZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEallDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF2YUNBRVdmeU1HSVJnakJrSGdBV29rQmlBQUtBTFFBaUVhSUJnaUFDRUZJQUVvQWxRaEFRTkFJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZ2dBaTRCWUNBQktBTEFBV3dpQ1d0QnR6aHNJZ3dnQWk0QklDQUJRVUJyS0FJQWJDSUhJQWhyUVpJVWJDSVNJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ29nQ0VHVmluOXNhbXBxSVEwZ0FpNEJFQ0FCS0FJZ2JDSU9JQUl1QVRBZ0FTZ0NZR3dpQzJwQjd6dHNJaE1nRGlBTGEwSHpDbXdpRkdvZ0N5QUNMZ0ZRSUFFb0FxQUJiQ0lMYWtIaHAzOXNJaFZxSVE4Z0JTQUtJQWNnQ1dvaUVVSEcwUUJzYWlJV0lBd2dDVUdEZTJ4cWFpSUpJQXNnRG1wQm95ZHNJZzRnRXlBVWEyb2lER3BCQzNVMkFnQWdCU0FKSUF4clFRdDFOZ0xBQVNBRklBMGdEMnBCQzNVMkFpQWdCU0FOSUE5clFRdDFOZ0tnQVNBRlFVQnJJQllnRWlBSFFmSGhmbXhxYWlJSklCVWdEaUFMUWQ3M0FHeHFhaUlIYWtFTGRUWUNBQ0FGSUFrZ0IydEJDM1UyQW9BQklBVWdDaUFJSUJGclFjSGFBR3hxUVF0MU5nSmdJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFaQkFXb2lCa0VJUncwQUN5QWFRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoeEJEWFFpQ1NBQUtBSUVJZ1VnQUNnQ0ZDSUdhaUlIUWRMTUFHd2lFQ0FGSUFBb0Fnd2lDR3BCdDlVQWJDSU1JQVZCOExkL2JHcHFhaUVOSUFVZ0NHc2lFMEh5SFd3Z0NXc2lGQ0FIUVpRd2JDSVNJQVZCaTd4L2JHcHFJUTRnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUUlncEJ4dEVBYkdvaUZTQUFLQUlJSWdzZ0FDZ0NHQ0lQYWtIaXhnQnNJaEVnQzBHOUVXeHFJaFpxSWhjZ0RXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElBcEJraFJzYWlJTklCRWdEMEg4a1g5c2FpSVJhaUlYSUFZZ0NHcEI3M1ZzSUFsckloa2dEQ0FJUWU1a2JHcHFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJjZ0RHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFLUWNsSGJHb2lEQ0FMUWFNbmJDQVBRZUduZjJ4cUlndHFJZzhnR1NBUUlBWkJpZWgrYkdwcUloQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQThnRUd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0J5QUtRYjZsZjJ4cUlnY2dDU0FUSUFaclFRMTBhaUlLYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSElBcHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQXdnQzJzaUJ5QVNJQVlnQ0d0QitOa0FiQ0lLSUFrZ0JrSG1rMzlzYW1wcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQVJheUlHSUJRZ0NpQUlRWmtyYkdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQVlnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0ZTQVdheUlHSUE1cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBWWdEbXRCRW5aQi93ZHhhaXdBQURvQUJ5QUFRU0JxSVFBZ0FVRUJhaUlCUVFkSERRQUxJQmdrQmd1UkJ3RVZmeU1HSVJRakJrSEFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ0NBQktBS0FBU0FDUVVCckxnRUFRYUV0Ykd3aURHb2lEU0FCUVVCcktBSUFJQUl1QVNCQnNjNEFiR3dpRVdvaUNpQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUMycEJ0aGRzSWc0Z0JpQUNMZ0V3SUFFb0FtQnNJZ2RxUVExMGFpSVNha0VMZFRZQ0FDQUZJQW9nRW10QkMzVTJBcUFCSUFVZ0NDQU1RWDVzYWtFTGRTSUlJQVlnQjJzZ0MydEJBblFpQm1vMkFpQWdCU0FJSUFack5nS0FBU0FGUVVCcklBMGdFV3NpQmlBT0lBc2dCMnRCRFhScUlndHFRUXQxTmdJQUlBVWdCaUFMYTBFTGRUWUNZQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSlFRRnFJZ2xCQ0VjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlHSUFBb0FoQkJzYzRBYkNJT2FpRVFJQUFvQWdnaUNFRU5kQ0FBS0FJWVFRMTBJZ3hySWhJZ0Jtb2hEU0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdEQ0FJUWJiWEFHeHFJaFVnRUdvaUR5QUFLQUljSWdrZ0FDZ0NCQ0lMSUFBb0FoUWlCMm9pQ21wQmpUZHNJaEVnQ2tIYkVHeHFJaFlnQUNnQ0RDSUtRYy9UQUd3aUZ5QUxRZmNSYkdwcUloTnFRUkoyUWY4SGNTQUNhaXdBQURvQUFDQUZJQThnRTJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FMSUFVZ0RTQUxJQWxySWc4Z0NpQUhheUlUYWtIUkltd2lHQ0FQUWY0d2JHb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUJJQVVnRFNBUGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFvZ0JTQUlRYllYYkNBTWF5SUlJQVlnRG1zaURHb2lEU0FXSUFjZ0NXcEJpNzEvYkNJT0lBcEJyMTFzSWdvZ0IwR3dvWDlzYW1wcUlnZHFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQTBnQjJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FKSUFVZ0RDQUlheUlISUE0Z0VTQUpRY2JsQUd3Z0YydHFhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSElBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUNDQUZJQVlnRW1zaUJpQVlJQk5CMzRsL2JHb2lCMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUVJQVVnQmlBSGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFjZ0JTQVFJQlZySWdZZ0VTQUtJQXRCM0ZSc2FpQUpRWXlCZjJ4cWFpSUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUVpIRFFBTElCUWtCZ3VjQmdFU2Z5TUdJUlFqQmtHZ0FXb2tCaUFBS0FMUUFpRVdJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBaTRCSUNBQlFVQnJLQUlBYkNJSklBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdacVFjd3liQ0lLSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWc0Z0NTQUdheUlKUWRBV2JHb2lCbW9pQ3lBQ0xnRVFJQUVvQWlCc0lnd2dBaTRCTUNBQktBSmdiQ0lQYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER3BCQzNVMkFnQWdCU0FMSUF4clFRdDFOZ0tBQVNBRklBWWdDbXNpQmlBTklBOUIzUFIrYkdvaUNtcEJDM1UyQWlBZ0JTQUdJQXByUVF0MU5nSmdJQVZCUUdzZ0RpQUpRY0NsZjJ4cVFRdDFOZ0lBSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBZEJBV29pQjBFSVJ3MEFDeUFXUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ3dpQnlBQUtBSWNJZ1pxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFBb0FoUkJEWFFpQ1NBSElBWnJJZ1pCNHhOc0lndHFJZ3dnQ0VIdlBHd2lEeUFBS0FJRUlnZEJzOWtBYkdwcUlnMGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUNpQUFLQUlRSWc1Qm5ja0FiR29pRlNBQUtBSUlJaEFnQUNnQ0dDSVJha0dhTld3aUVpQVFRZkVnYkdvaUVHb2lFMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRXlBTmEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFrZ0JTQUhRZFBRQUd3Z0NFSFBKV3dpQ0dzZ0NTQUxheUFHUVF4MGF5SUxheUlOSUFvZ0RrR0VaR3hxSWhNZ0VpQVJRZHowZm14cUloRnFJaEpxUVJKMlFmOEhjU0FDYWl3QUFEb0FBU0FGSUJJZ0RXdEJFblpCL3dkeElBSnFMQUFBT2dBSUlBVWdCeUFHYTBFTmRDQUpheUlKSUFvZ0RrRytwWDlzYWlJR2FrRVNka0gvQjNFZ0Ftb3NBQUE2QUFJZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCeUFGSUJNZ0VXc2lDU0FMSUFkQmpDbHNJQWhyYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUpJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFGSUF3Z0IwR1VEbXdnRDJ0cUlnY2dGU0FRYXlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFRZ0JTQUlJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCU0FBUVNCcUlRQWdBVUVCYWlJQlFRVkhEUUFMSUJRa0JndkJEQUVRZnlNR0lRNGpCa0dBQVdva0JpQUFLQUxRQWlFVUlBNGlBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHd2lCU0FDTGdFZ0lBRkJRR3NvQWdCc0lnZHFRUUowSWdnZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVRBZ0FTZ0NZR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQUNBQUlBZ2dCbXMyQW1BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWdJQUJCUUdzZ0JTQUhhellDQUNBQUlBSXVBUUlnQVNnQ0JHd2lCU0FDTGdFaUlBRW9Ba1JzSWdkcVFRSjBJZ2dnQWk0QkVpQUJLQUlrYkNJR0lBSXVBVElnQVNnQ1pHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNCQ0FBSUFnZ0JtczJBbVFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJa0lBQWdCU0FIYXpZQ1JDQUFJQUl1QVFRZ0FTZ0NDR3dpQlNBQ0xnRWtJQUVvQWtoc0lnZHFRUUowSWdnZ0FpNEJGQ0FCS0FJb2JDSUdJQUl1QVRRZ0FTZ0NhR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQ0NBQUlBZ2dCbXMyQW1nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSW9JQUFnQlNBSGF6WUNTQ0FBSUFJdUFRWWdBU2dDREd3aUJTQUNMZ0VtSUFFb0FreHNJZ2RxUVFKMElnZ2dBaTRCRmlBQktBSXNiQ0lHSUFJdUFUWWdBU2dDYkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0RDQUFJQWdnQm1zMkFtd2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lzSUFBZ0JTQUhhellDVENBQUlBSXVBUWdnQVNnQ0VHd2lCU0FDTGdFb0lBRW9BbEJzSWdkcVFRSjBJZ2dnQWk0QkdDQUJLQUl3YkNJR0lBSXVBVGdnQVNnQ2NHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNFQ0FBSUFnZ0JtczJBbkFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJd0lBQWdCU0FIYXpZQ1VDQUFJQUl1QVFvZ0FTZ0NGR3dpQlNBQ0xnRXFJQUVvQWxSc0lnZHFRUUowSWdnZ0FpNEJHaUFCS0FJMGJDSUdJQUl1QVRvZ0FTZ0NkR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRkNBQUlBZ2dCbXMyQW5RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTBJQUFnQlNBSGF6WUNWQ0FBSUFJdUFRd2dBU2dDR0d3aUJTQUNMZ0VzSUFFb0FsaHNJZ2RxUVFKMElnZ2dBaTRCSENBQktBSTRiQ0lHSUFJdUFUd2dBU2dDZUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0dDQUFJQWdnQm1zMkFuZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0k0SUFBZ0JTQUhhellDV0NBQUlBSXVBUTRnQVNnQ0hHd2lCU0FDTGdFdUlBRW9BbHhzSWdkcVFRSjBJZ2dnQWk0QkhpQUJLQUk4YkNJR0lBSXVBVDRnQVNnQ2ZHd2lBV3BCMFNKc1FZQUlhaUlDSUFaQi9qQnNha0VMZFNJR2FqWUNIQ0FBSUFnZ0JtczJBbndnQUNBRklBZHJRUUowSWdVZ0FpQUJRZCtKZjJ4cVFRdDFJZ0ZxTmdJOElBQWdCU0FCYXpZQ1hDQVVRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lDeUFBS0FJTUlnVnFJZ1lnQUNnQ0ZDSUhJQUFvQWdRaUNHb2lDbXBCb2NzQWJDSUpJQVpCdTRKL2JHb2lEeUFJSUF0cVFiTkdiQ0lNSUF0QmpoTnNhbW9oQmlBSklBcEJoR2RzYWlJTElBd2dDRUdMNEFCc2Ftb2hDQ0FMSUFVZ0IycEIvZHQrYkNJS0lBZEJzNE1CYkdwcUlRY2dCQ0FCUVFKMElBTnFLQUlBYWlJTElBSWdBQ2dDQUVHUWdBRnFJZ2tnQUNnQ0VDSU1ha0VOZENJUUlBQW9BZ2dpRFNBQUtBSVlJaEZxUWRFaWJDSVNJQTFCL2pCc2FpSU5haUlUSUFocVFSSjJRZjhIY1dvc0FBQTZBQUFnQ3lBQ0lCTWdDR3RCRW5aQi93ZHhhaXdBQURvQUJ5QUxJQUlnQ1NBTWEwRU5kQ0lJSUJJZ0VVSGZpWDlzYWlJSmFpSU1JQThnQ2lBRlFkVEVBV3hxYWlJRmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFzZ0FpQU1JQVZyUVJKMlFmOEhjV29zQUFBNkFBWWdDeUFDSUFnZ0NXc2lCU0FIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQXNnQWlBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0N5QUNJQkFnRFdzaUJTQUdha0VTZGtIL0IzRnFMQUFBT2dBRElBc2dBaUFGSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUVSdzBBQ3lBT0pBWUwrUW9CQzM4akJpRUZJd1pCMEFCcUpBWWdBQ2dDMEFJaEN5QUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUlhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRUWUNBQ0FGSUFFZ0FHdEJDM1UyQWpBZ0JTQUhJQWhCZm14cVFRdDFOZ0lZSUFVZ0JpZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUJ5QUdLQUpFSUFJdUFTSkJvUzFzYkNJSWFpSUJJQVlvQWlRZ0FpNEJFa0d4emdCc2JDSUFha0VMZFRZQ0JDQUZJQUVnQUd0QkMzVTJBalFnQlNBSElBaEJmbXhxUVF0MU5nSWNJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQnlBR0tBSklJQUl1QVNSQm9TMXNiQ0lJYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkVFlDQ0NBRklBRWdBR3RCQzNVMkFqZ2dCU0FISUFoQmZteHFRUXQxTmdJZ0lBVWdCaWdDRENBQ0xnRUdRUTEwYkVHQUNISWlCeUFHS0FKTUlBSXVBU1pCb1Mxc2JDSUlhaUlCSUFZb0Fpd2dBaTRCRmtHeHpnQnNiQ0lBYWtFTGRUWUNEQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUhJQWhCZm14cVFRdDFOZ0lrSUFVZ0JpZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUJ5QUdLQUpRSUFJdUFTaEJvUzFzYkNJSWFpSUJJQVlvQWpBZ0FpNEJHRUd4emdCc2JDSUFha0VMZFRZQ0VDQUZRVUJySUFFZ0FHdEJDM1UyQWdBZ0JTQUhJQWhCZm14cVFRdDFOZ0lvSUFVZ0JpZ0NGQ0FDTGdFS1FRMTBiRUdBQ0hJaUJ5QUdLQUpVSUFJdUFTcEJvUzFzYkNJSWFpSUJJQVlvQWpRZ0FpNEJHa0d4emdCc2JDSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBa1FnQlNBSElBaEJmbXhxUVF0MUlnODJBaXdnQkNBREtBSUFhaUlPSUF0QmdIMXFJZ2tnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lDeUFGS0FJUVFhRXRiQ0lNYWlJSElBVW9BZ2hCc2M0QWJDSUlhaUlCSUFVb0FnUWlDaUFGS0FJVUlnMXFRYllYYkNJQ0lBb2dCU2dDRENJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FPSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBNGdDU0FMSUF4cklBeHJJZ0VnQ2lBR2F5QU5hMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUE0Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEaUFKSUFjZ0NHc2lBU0FDSUEwZ0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRGlBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdScUlnd2dDU0FGS0FJWVFRMTBRWUNBaU1BQWFpSUxJQVVvQWloQm9TMXNJZ3BxSWdjZ0JTZ0NJRUd4emdCc0lnaHFJZ0VnRHlBRktBSWNJZzFxUWJZWGJDSUNJQTBnQlNnQ0pDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBTUlBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQXdnQ1NBTElBcHJJQXBySWdFZ0RTQUdheUFQYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBd2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRENBSklBY2dDR3NpQVNBQ0lBOGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RDQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnaHFJZ29nQ1NBRktBSXdRUTEwUVlDQWlNQUFhaUlJSUFWQlFHc29BZ0JCb1Mxc0lnMXFJZ1FnQlNnQ09FR3h6Z0JzSWdOcUlnRWdCU2dDTkNJR0lBVW9Ba1FpQzJwQnRoZHNJZ0lnQmlBRktBSThJZ2RxUVExMGFpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBb2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVVnQ2lBSklBZ2dEV3NnRFdzaUFTQUdJQWRySUF0clFRMTBJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBS0lBa2dCQ0FEYXlJQklBSWdDeUFIYTBFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFpQUtJQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFVa0JndUxCQUVLZnlNR0lRVWpCa0VnYWlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlCaWdDQUd3aUFTQUNMZ0VRSUFZb0FpQnNJZ0JxSWdnMkFnQWdCU0FCSUFCck5nSVFJQVVnQWk0QkFpQUdLQUlFYkNJQklBSXVBUklnQmlnQ0pHd2lBR29pQ2pZQ0JDQUZJQUVnQUdzaUN6WUNGQ0FGSUFJdUFRUWdCaWdDQ0d3aUFTQUNMZ0VVSUFZb0FpaHNJZ0JxSWd3MkFnZ2dCU0FCSUFCcklnMDJBaGdnQlNBQ0xnRUdJQVlvQWd4c0lnRWdBaTRCRmlBR0tBSXNiQ0lBYWlJT05nSU1JQVVnQVNBQWF5SUdOZ0ljSUFRZ0F5Z0NBR29pQ1NBSFFZQjlhaUlISUF3Z0NFR0VJR29pQ0dwQkRYUWlBU0FLSUE1cVFkRWliQ0lDSUFwQi9qQnNhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQWtnQnlBQklBQnJRUkIyUWY4SGNXb3NBQUE2QUFNZ0NTQUhJQWdnREd0QkRYUWlBU0FDSUE1QjM0bC9iR29pQUdwQkVIWkIvd2R4YWl3QUFEb0FBU0FKSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJDQUZLQUlRUVlRZ2FpSURJQTFxUVExMElnRWdCaUFMYWtIUkltd2lBaUFMUWY0d2JHb2lBR3BCRUhaQi93ZHhJQWRxTEFBQU9nQUFJQVFnQVNBQWEwRVFka0gvQjNFZ0Iyb3NBQUE2QUFNZ0JDQURJQTFyUVExMElnRWdBaUFHUWQrSmYyeHFJZ0JxUVJCMlFmOEhjU0FIYWl3QUFEb0FBU0FFSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBVWtCZ3RoQUNBRUlBTW9BZ0JxSWdNZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCQUNBQktBSlVJZ0VvQWdCc1FZUWdhaUlFSUFJdUFRSWdBU2dDQkd3aUFXcEJBM1pCL3dkeGFpd0FBRG9BQUNBRElBUWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDOWNKQVI1L0l3WWhGaU1HUVlBRWFpUUdJQUFvQXRBQ0lTSWdGaUlBSVFVZ0FTZ0NWQ0VCQTBBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lNSUFJdUFXQWdBU2dDd0FGc0loRnJJZzlCMUJGc0lRb2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFWQWdBU2dDb0FGc0lnZHFJUkFnQmlBQ0xnRndJQUVvQXVBQmJDSUlha0g4eFFCc0loY2dFRUhwendCc0loUWdCaUFDTGdFd0lBRW9BbUJzSWdscVFjN1dBR3dpRFNBR1FkYnRmbXhxYW1vaERpQUdJQWhyUWJZNWJDSVpJQkJCMVNwc0loZ2dCaUFKYTBHakdtd2lFaUFHUWNLS2YyeHFhbW9oRUNBSUlBbHFJZ1pCcTFWc0lob2dCeUFKYWtId0NHd2lHeUFKUWMwRWJDQU5hbXBxSVEwZ0JrR1hzSDlzSWh3Z0J5QUphMEdKMmdCc0loMGdDVUdhL2dCc0lCSnFhbW9oQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnWWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUVrSFAwd0JzSWg1cUloOGdEMEhqMkFCc0lnOGdFVUdEcEFGc2FpSWdhaUlWSUE1cVFRdDFOZ0lBSUFVZ0ZTQU9hMEVMZFRZQzRBTWdCU0FOSUFZZ0VrSFJJbXdpRG1vaUVpQUtJQXhCelRsc2FpSVZhaUloYWtFTGRUWUNJQ0FGSUNFZ0RXdEJDM1UyQXNBRElBVkJRR3NnQnlBSWFrR3lxWDlzSWcwZ0d5QUhRZnEzZjJ4cUlCUnFhaUlVSUFZZ0Rtc2lEaUFQSUF4QndsbHNhaUlNYWlJUGFrRUxkVFlDQUNBRklBOGdGR3RCQzNVMkFxQURJQVVnR2lBSVFaakVBR3hxSUJkcUlBMXFJZzBnQmlBZWF5SUdJQW9nRVVHd1gyeHFJaEZxSWdwcVFRdDFOZ0pnSUFVZ0NpQU5hMEVMZFRZQ2dBTWdCU0FjSUFoQmhja0JiR29nR1dvZ0NDQUhhMEdqR213aUNHb2lDaUFHSUJGcklnWnFRUXQxTmdLQUFTQUZJQVlnQ210QkMzVTJBdUFDSUFVZ0hTQUhRZnBPYkdvZ0dHb2dDR29pQmlBT0lBeHJJZ2RxUVF0MU5nS2dBU0FGSUFjZ0JtdEJDM1UyQXNBQ0lBVWdDU0FTSUJWcklnWnFRUXQxTmdMQUFTQUZJQVlnQ1d0QkMzVTJBcUFDSUFVZ0VDQWZJQ0JySWdacVFRdDFOZ0xnQVNBRklBWWdFR3RCQzNVMkFvQUNJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF0QkFXb2lDMEVJUncwQUN5QWlRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lCU0FBS0FJTUlndHFJZ2dnQUNnQ0ZDSUdJQUFvQWdRaUIyb2lDV3BCb2NzQWJDSU1JQWhCdTRKL2JHb2lFU0FGSUFkcVFiTkdiQ0lLSUFWQmpoTnNhbW9oQ0NBTUlBbEJoR2RzYWlJRklBb2dCMEdMNEFCc2Ftb2hCeUFGSUFZZ0MycEIvZHQrYkNJSklBWkJzNE1CYkdwcUlRWWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVHUWdBRnFJZ3dnQUNnQ0VDSUtha0VOZENJUUlBQW9BZ2dpRGlBQUtBSVlJZzFxUWRFaWJDSVRJQTVCL2pCc2FpSU9haUlQSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnRENBS2EwRU5kQ0lISUJNZ0RVSGZpWDlzYWlJTWFpSUtJQkVnQ1NBTFFkVEVBV3hxYWlJTGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUtJQXRyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0RHc2lDeUFHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBWnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQkFnRG1zaUN5QUlha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFMSUFoclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBV0pBWUxuUWdCR1g4akJpRVhJd1pCa0FOcUpBWWdBQ2dDMEFJaEhTQVhJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRndJQUVvQXVBQmJDSVRRUTEwSWdzZ0FpNEJFQ0FCS0FJZ2JDSUhJQUl1QVZBZ0FTZ0NvQUZzSWdacUlncEIwc3dBYkNJUElBY2dBaTRCTUNBQktBSmdiQ0lJYWtHMzFRQnNJaEFnQjBId3QzOXNhbXBxSVFrZ0J5QUlheUlZUWZJZGJDQUxheUlaSUFwQmxEQnNJaFFnQjBHTHZIOXNhbW9oRVNBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnY2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUNrSEcwUUJzYWlJYUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSU9ha0hpeGdCc0loVWdERUc5RVd4cUlodHFJaFlnQ1dwQkMzVTJBZ0FnQlNBV0lBbHJRUXQxTmdMc0FpQUZJQVlnQ0dwQjczVnNJQXRySWdrZ0NFSHVaR3dnRUdwcUloQWdCeUFLUVpJVWJHb2lGaUFWSUE1Qi9KRi9iR29pRldvaUhHcEJDM1UyQWh3Z0JTQWNJQkJyUVF0MU5nTFFBaUFGSUFrZ0JrR0o2SDVzSUE5cWFpSUpJQWNnQ2tISlIyeHFJZzhnREVHakoyd2dEa0hocDM5c2FpSU1haUlPYWtFTGRUWUNPQ0FGSUE0Z0NXdEJDM1UyQXJRQ0lBVWdHQ0FHYXlBVGFrRUNkQ0lKSUFjZ0NrRytwWDlzYWtFTGRTSUhhallDVkNBRklBY2dDV3MyQXBnQ0lBVWdCaUFJYTBINDJRQnNJZ2NnQmtIbWszOXNhaUFVYWlBTGFpSUdJQThnREdzaUMycEJDM1UyQW5BZ0JTQUxJQVpyUVF0MU5nTDhBU0FGSUFjZ0NFR1pLMnhxSUJscUlnWWdGaUFWYXlJSWFrRUxkVFlDakFFZ0JTQUlJQVpyUVF0MU5nTGdBU0FGSUJvZ0cyc2lCaUFSYWtFTGRUWUNxQUVnQlNBR0lCRnJRUXQxTmdMRUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FOUVFGcUlnMUJCMGNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJUUlnMGdBQ2dDR0NJR2EwRzNPR3dpRENBQUtBSUlJZ2dnRFd0QmtoUnNJZzRnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFOUVpXS2YyeHFhbW9oQ3lBQUtBSUVJZ29nQUNnQ0RDSUZha0h2TzJ3aUVpQUtJQVZyUWZNS2JDSVRhaUFGSUFBb0FoUWlDV3BCNGFkL2JDSVBhaUVSSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFjZ0JpQUlhaUlRUWNiUkFHeHFJaFFnRENBR1FZTjdiR3BxSWdZZ0NTQUtha0dqSjJ3aUNpQVNJQk5yYWlJTWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQUdJQXhyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFzZ0VXcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBVUlBNGdDRUh4NFg1c2Ftb2lCaUFQSUFvZ0NVSGU5d0JzYW1vaUNHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBMGdFR3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSeHFJUUFnQVVFQmFpSUJRUTVIRFFBTElCY2tCZ3ZuQmdFWGZ5TUdJUlFqQmtHZ0Ftb2tCaUFBS0FMUUFpRWJJQlFpQUNFRklBRW9BbFFoQVFOQUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnZ2dBU2dDZ0FFZ0FrRkFheTRCQUVHeHpnQnNiQ0lTYWlFUUlBZ2dBaTRCSUNBQlFVQnJLQUlBYkNJS1FRMTBJQUVvQXNBQklBSXVBV0JCRFhSc0lndHJJaFpxSVF3Z0JTQVFJQXBCdHRjQWJDQUxhaUlYYWlJVElBSXVBWEFnQVNnQzRBRnNJZ1lnQWk0QkVDQUJLQUlnYkNJTklBSXVBVkFnQVNnQ29BRnNJZ2RxSWc1cVFZMDNiQ0lSSUE1QjJ4QnNhaUlZSUFJdUFUQWdBU2dDWUd3aURrSFAwd0JzSWhrZ0RVSDNFV3hxYWlJUGFrRUxkVFlDQUNBRklCTWdEMnRCQzNVMkFvZ0NJQVVnRGlBSGF5SVRJQTBnQm1zaUQycEIwU0pzSWhvZ0QwSCtNR3hxSWc4Z0RHcEJDM1UyQWhnZ0JTQU1JQTlyUVF0MU5nTHdBU0FGSUFnZ0Vtc2lEQ0FLUWJZWGJDQUxheUlLYWlJTElCZ2dCaUFIYWtHTHZYOXNJaElnRGtHdlhXd2lEaUFIUWJDaGYyeHFhbW9pQjJwQkMzVTJBakFnQlNBTElBZHJRUXQxTmdMWUFTQUZJQXdnQ21zaUJ5QVNJQkVnQmtIRzVRQnNJQmxyYW1vaUNtcEJDM1UyQWtnZ0JTQUhJQXByUVF0MU5nTEFBU0FGSUJvZ0UwSGZpWDlzYWlJSElBZ2dGbXNpQ0dwQkMzVTJBbUFnQlNBSUlBZHJRUXQxTmdLb0FTQUZJQkFnRjJzaUNDQVJJQTRnRFVIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nSjRJQVVnQ0NBR2EwRUxkVFlDa0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRWkhEUUFMSUJ0QmdIMXFJUUpCQUNFQkEwQWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRUWFFdGJDSUphaUlRSUFBb0FnaEJzYzRBYkNJS2FpSUxJQUFvQWdRaUJpQUFLQUlVSWdocVFiWVhiQ0lNSUFZZ0FDZ0NEQ0lOYWtFTmRHb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxySUFscklna2dCaUFOYXlBSWEwRU5kQ0lHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBSklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQkFnQ21zaUNTQU1JQWdnRFd0QkRYUnFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFrZ0JtdEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSaHFJUUFnQVVFQmFpSUJRUXhIRFFBTElCUWtCZ3Y5QlFFVmZ5TUdJUlFqQmtIUUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBSXVBVEFnQVNnQ1lHd2lCaUFDTGdGd0lBRW9BdUFCYkNJSWFpRUhJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lMUVozSkFHeHFJZzBnQWk0QklDQUJRVUJyS0FJQWJDSU9JQUl1QVdBZ0FTZ0N3QUZzSWc5cVFabzFiQ0lRSUE1QjhTQnNhaUlPYWlJUklBWWdDR3NpQ0VIakUyd2lFaUFDTGdGUUlBRW9BcUFCYkNJVlFRMTBJaE5xSWhZZ0IwSHZQR3dpRnlBQ0xnRVFJQUVvQWlCc0lnWkJzOWtBYkdwcUloaHFRUXQxTmdJQUlBVWdFU0FZYTBFTGRUWUN0QUVnQlNBSklBdEJoR1JzYWlJUklCQWdEMEhjOUg1c2FpSVBhaUlRSUFaQjA5QUFiQ0FIUWM4bGJDSUhheUFUSUJKcklBaEJESFJySWhKckloTnFRUXQxTmdJVUlBVWdFQ0FUYTBFTGRUWUNvQUVnQlNBSklBdEJ2cVYvYkdwQkMzVWlDU0FHSUJWcklBaHJRUUowSWd0cU5nSW9JQVVnQ1NBTGF6WUNqQUVnQlNBUklBOXJJZ2tnRWlBR1FZd3BiQ0FIYTJvaUIycEJDM1UyQWp3Z0JTQUpJQWRyUVF0MU5nSjRJQVVnRFNBT2F5SUhJQllnQmtHVURtd2dGMnRxSWdacVFRdDFOZ0pRSUFVZ0J5QUdhMEVMZFRZQ1pDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FLUVFGcUlncEJCVWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJSUlnb2dBQ2dDRUNJR2FrSE1NbXdpQnlBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUFvZ0Jtc2lDa0hRRm14cUlnWnFJZ3NnQUNnQ0JDSUlJQUFvQWd3aURHcEJtalZzSWcwZ0NFSHhJR3hxSWdocVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSGF5SUdJQTBnREVIYzlINXNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBR0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBQkJGR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGQ1FHQytnUEFSQi9Jd1loQ0NNR1FZQUJhaVFHSUFBb0F0QUNJUkFnQ0NFQUlBRW9BbFFoQVVFRUlRWURRQUovQWtBZ0FpNEJFQ0lMSUFJdUFTQWlCWEpCLy84RGNRUi9EQUVGSUFJdUFUQUVmMEVBSVFVTUFnVWdBa0ZBYXk0QkFBUi9RUUFoQlF3REJTQUNMZ0ZRQkg5QkFDRUZEQVFGSUFJdUFXQUVmMEVBSVFVTUJRVWdBaTRCY0FSL1FRQWhCUXdHQlNBQUlBRW9BZ0FnQWk0QkFFRUNkR3dpQlRZQ0FDQUFJQVUyQWhBZ0FDQUZOZ0lnSUFBZ0JUWUNNQ0FBUVVCcklBVTJBZ0FnQUNBRk5nSlFJQUFnQlRZQ1lFRWNDd3NMQ3dzTERBRUxJQUl1QVhBZ0FTZ0M0QUZzSWdjZ0FpNEJNQ0FCS0FKZ2JDSUphaUlOSUFJdUFWQWdBU2dDb0FGc0lnb2dDeUFCS0FJZ2JDSUxhaUlNYWtHaHl3QnNJZzRnRFVHN2duOXNhaUlOSUFjZ0MycEJzMFpzSWc4Z0IwR09FMnhxYWlFSElBNGdERUdFWjJ4cUlnd2dEeUFMUVl2Z0FHeHFhaUVMSUF3Z0NTQUtha0g5MjM1c0lnd2dDa0d6Z3dGc2Ftb2hDaUFBSUFzZ0FTZ0NnQUVnQWtGQWF5NEJBRUVOZEd3aURpQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBhaUlSSUFGQlFHc29BZ0FnQlVFUWRFRVFkV3dpQlNBQ0xnRmdJQUVvQXNBQmJDSVNha0hSSW13aUV5QUZRZjR3YkdvaUJXb2lGR3BCQzNVMkFnQWdBQ0FVSUF0clFRdDFOZ0p3SUFBZ0RTQU1JQWxCMU1RQmJHcHFJZ2tnRHlBT2F5SUxJQk1nRWtIZmlYOXNhaUlOYWlJTWFrRUxkVFlDRUNBQUlBd2dDV3RCQzNVMkFtQWdBQ0FLSUFzZ0RXc2lDV3BCQzNVMkFpQWdBQ0FKSUFwclFRdDFOZ0pRSUFBZ0J5QVJJQVZySWdWcVFRdDFOZ0l3SUFVZ0IydEJDM1VoQlVFUUMwRUNkQ0FBYWlBRk5nSUFJQUJCQkdvaEFDQUJRUVJxSVFFZ0FrRUNhaUVDSUFaQmYyb2hCU0FHUVFGTEJFQWdCU0VHREFFTEN5QUVJQU1vQWdCcUlnRWdFRUdBZldvaUFDQUlLQUlBUVpDQUFXb2lBaUFJS0FJSUlnWnFRUTEwSWdVZ0NDZ0NCQ0lISUFnb0Fnd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUVhaUlCSUFBZ0NDZ0NFRUdRZ0FGcUlnSWdDQ2dDR0NJR2FrRU5kQ0lGSUFnb0FoUWlCeUFJS0FJY0lnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lBU0FBSUFnb0FpQkJrSUFCYWlJQ0lBZ29BaWdpQm1wQkRYUWlCU0FJS0FJa0lnY2dDQ2dDTENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnRWdBQ0FJS0FJd1FaQ0FBV29pQWlBSUtBSTRJZ1pxUVExMElnVWdDQ2dDTkNJSElBZ29BandpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlRYWlJQklBQWdDRUZBYXlnQ0FFR1FnQUZxSWdJZ0NDZ0NTQ0lHYWtFTmRDSUZJQWdvQWtRaUJ5QUlLQUpNSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRkdvaUFTQUFJQWdvQWxCQmtJQUJhaUlDSUFnb0FsZ2lCbXBCRFhRaUJTQUlLQUpVSWdjZ0NDZ0NYQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BaGhxSWdFZ0FDQUlLQUpnUVpDQUFXb2lBaUFJS0FKb0lnWnFRUTEwSWdVZ0NDZ0NaQ0lISUFnb0Ftd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSWNhaUlCSUFBZ0NDZ0NjRUdRZ0FGcUlnSWdDQ2dDZUNJRGFrRU5kQ0lFSUFnb0FuUWlCaUFJS0FKOElnVnFRZEVpYkNJSElBWkIvakJzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUVJQVpyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0EydEJEWFFpQWlBSElBVkIzNGwvYkdvaUEycEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFEYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWdrQmd1Z0N3RUxmeU1HSVFVakJrSFFBR29rQmlBQUtBTFFBaUVQSUFVZ0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlPSUFnb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJS2FpSUdJQWhCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lKYWlJQklBSXVBUkFnQ0NnQ0lHd2lDeUFDTGdGUUlBZ29BcUFCYkNJTWFrRzJGMndpQnlBTElBSXVBVEFnQ0NnQ1lHd2lEV3BCRFhScUlnQnFRUXQxTmdJQUlBVWdBU0FBYTBFTGRUWUNQQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQTFySUF4clFRSjBJZ0JxTmdJTUlBVWdBU0FBYXpZQ01DQUZJQVlnQ1dzaUFTQUhJQXdnRFd0QkRYUnFJZ0JxUVF0MU5nSVlJQVVnQVNBQWEwRUxkVFlDSkNBRklBZ29Ba1FnQWk0QklrR3h6Z0JzYkNJT0lBZ29BZ1FnQWk0QkFrRU5kR3hCZ0FoeUlnb2dDQ2dDaEFFZ0FpNEJRa0doTFd4c0lnWnFJZ2xxSWdFZ0FpNEJFaUFJS0FJa2JDSUxJQUl1QVZJZ0NDZ0NwQUZzSWd4cVFiWVhiQ0lISUFzZ0FpNEJNaUFJS0FKa2JDSU5ha0VOZEdvaUFHcEJDM1UyQWdRZ0JVRkFheUFCSUFCclFRdDFOZ0lBSUFVZ0N5QU5heUFNYTBFQ2RDSUJJQW9nQmtGK2JHcEJDM1VpQUdvMkFoQWdCU0FBSUFGck5nSTBJQVVnQ1NBT2F5SUJJQWNnRENBTmEwRU5kR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdJb0lBVWdDQ2dDQ0NBQ0xnRUVRUTEwYkVHQUNISWlEaUFJS0FLSUFTQUNMZ0ZFUWFFdGJHd2lDbW9pQmlBSUtBSklJQUl1QVNSQnNjNEFiR3dpQ1dvaUFTQUNMZ0VVSUFnb0FpaHNJZ3NnQWk0QlZDQUlLQUtvQVd3aURHcEJ0aGRzSWdjZ0N5QUNMZ0UwSUFnb0FtaHNJZ0pxUVExMGFpSUFha0VMZFNJTk5nSUlJQVVnQVNBQWEwRUxkVFlDUkNBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUFKcklBeHJRUUowSWdCcUlnbzJBaFFnQlNBQklBQnJOZ0k0SUFVZ0JpQUpheUlCSUFjZ0RDQUNhMEVOZEdvaUFHcEJDM1VpQ1RZQ0lDQUZJQUVnQUd0QkMzVTJBaXdnQkNBREtBSUFhaUlISUE5QmdIMXFJZ1lnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lBaUFOUWFFdGJHb2lBU0FGS0FJRVFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dCaUFDSUExQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdScUlnY2dCaUFGS0FJTVFRMTBRWUNBaU1BQWFpSUNJQXBCb1Mxc2FpSUJJQVVvQWhCQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWNnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0J5QUdJQUlnQ2tHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDQ0dvaUJ5QUdJQVVvQWhoQkRYUkJnSUNJd0FCcUlnSWdDVUdoTFd4cUlnRWdCU2dDSEVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBWWdBaUFKUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlNYWlJSklBWWdCU2dDSkVFTmRFR0FnSWpBQUdvaUJ5QUZLQUlzSWdKQm9TMXNhaUlCSUFVb0FpaEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFrZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdDU0FHSUFjZ0FrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0VHb2lDU0FHSUFVb0FqQkJEWFJCZ0lDSXdBQnFJZ2NnQlNnQ09DSUNRYUV0YkdvaUFTQUZLQUkwUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFrZ0JpQUhJQUpCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BaFJxSWdRZ0JpQUZLQUk4UVExMFFZQ0FpTUFBYWlJRElBVW9Ba1FpQWtHaExXeHFJZ0VnQlVGQWF5Z0NBRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JDQUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFZZ0F5QUNRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNRR0M3SUVBUXAvSXdZaEJpTUdRU0JxSkFZZ0FDZ0MwQUloRENBR0lBSXVBUUFnQVNnQ1ZDSUhLQUlBYkNJSklBSXVBU0FnQjBGQWF5Z0NBR3dpQ21wQkRYUWlBU0FDTGdFUUlBY29BaUJzSWdBZ0FpNEJNQ0FIS0FKZ2JDSUZha0hSSW13aUNDQUFRZjR3YkdvaUFHb2lEVFlDQUNBR0lBRWdBR3MyQWhnZ0JpQUpJQXByUVExMElnRWdDQ0FGUWQrSmYyeHFJZ0JxSWc0MkFnZ2dCaUFCSUFCcklnazJBaEFnQmlBQ0xnRUNJQWNvQWdSc0lnb2dBaTRCSWlBSEtBSkViQ0lGYWtFTmRDSUJJQUl1QVJJZ0J5Z0NKR3dpQUNBQ0xnRXlJQWNvQW1Sc0lnaHFRZEVpYkNJQ0lBQkIvakJzYWlJQWFpSUxOZ0lFSUFZZ0FTQUFheUlITmdJY0lBWWdDaUFGYTBFTmRDSUJJQUlnQ0VIZmlYOXNhaUlBYWlJSU5nSU1JQVlnQVNBQWF5SUNOZ0lVSUFRZ0F5Z0NBR29pQVNBTVFZQjlhaUlGSUFzZ0RVR0FnSUlRYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUxhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCQ0FES0FJRWFpSUJJQTVCZ0lDQ0VHb2lBQ0FJYWtFUWRrSC9CM0VnQldvc0FBQTZBQUFnQVNBQUlBaHJRUkIyUWY4SGNTQUZhaXdBQURvQUFTQUVJQU1vQWdocUlnRWdDVUdBZ0lJUWFpSUFJQUpxUVJCMlFmOEhjU0FGYWl3QUFEb0FBQ0FCSUFBZ0FtdEJFSFpCL3dkeElBVnFMQUFBT2dBQklBUWdBeWdDREdvaUFTQUdLQUlZUVlDQWdoQnFJZ0FnQjJwQkVIWkIvd2R4SUFWcUxBQUFPZ0FBSUFFZ0FDQUhhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCaVFHQzJjQkFYOGdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2lBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHeEJoQ0JxSWdVZ0FpNEJFQ0FCS0FJZ2JDSUJha0VEZGtIL0IzRnFMQUFBT2dBQUlBUWdBeWdDQkdvZ0JTQUJhMEVEZGtIL0IzRWdBR29zQUFBNkFBQUw4UWdCRVg4akJpRVNJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZTQVNJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQ0xnRUFJQUVvQWdCc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUhJQUVvQWlCc0lnY2dBaTRCY0NBQktBTGdBV3dpQ0dvaUN5QUNMZ0V3SUFFb0FtQnNJZ29nQWk0QlVDQUJLQUtnQVd3aURXb2lEbXRCNmdKc1FRaDFJQTBnQ21zaUNpQUhJQWhySWcxcVFka0RiRUVJZFNJUElBcEJuUVZzUVFoMWF5QUxJQTVxSWdocklndHJJUWNnQmlBQ0xnRUFJQUVvQWdCc0lnb2dBa0ZBYXk0QkFDQUJLQUtBQVd3aURtb2lFQ0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJaEVnQWk0QllDQUJLQUxBQVd3aUUyb2lCV29pRkNBSWFqWUNBQ0FHSUJRZ0NHczJBdUFCSUFZZ0N5QUtJQTVySWdnZ0VTQVRhMEhxQW14QkNIVWdCV3NpQ21vaURtbzJBaUFnQmlBT0lBdHJOZ0xBQVNBR1FVQnJJQWNnQ0NBS2F5SUlhallDQUNBR0lBZ2dCMnMyQXFBQklBWWdEeUFOUVpVQ2JFRUlkV3NnQjJzaUJ5QVFJQVZySWdWcU5nSmdJQVVnQjJzaEJVRWdDMEVDZENBR2FpQUZOZ0lBSUFaQkJHb2hCaUFCUVFScUlRRWdBa0VDYWlFQ0lBbEJmMm9oQlNBSlFRRkxCRUFnQlNFSkRBRUxDeUFWUVlCOWFpRUpRUUFoQVFOQUlBUWdBVUVDZENBRGFpZ0NBR29oQmlBQUtBSUFRWkNBQVdvaEJRSkFBa0FnQUNnQ0JDSUhJQUFvQWdnaUFuSU5BQ0FBS0FJTUJFQkJBQ0VDREFFRklBQW9BaEFFUUVFQUlRSU1BZ1VnQUNnQ0ZBUkFRUUFoQWd3REJTQUFLQUlZQkVCQkFDRUNEQVFGSUFBb0Fod0VRRUVBSVFJTUJRVWdCaUFKSUFWQkJYWkIvd2R4YWl3QUFDSUNPZ0FBSUFaQkFXb2dBa0VIRUVVYUN3c0xDd3NNQVFzZ0J5QUFLQUljSWdocUlnc2dBQ2dDRkNJTUlBQW9BZ3dpQ21vaURXdEI2Z0pzUVFoMUlBd2dDbXNpRENBSElBaHJJZ3BxUWRrRGJFRUlkU0lPSUF4Qm5RVnNRUWgxYXlBTElBMXFJZ2hySWd0cklRY2dCaUFKSUFVZ0FDZ0NFQ0lOYWlJUElBQW9BaGdpRUNBQ2FpSU1haUlSSUFocVFRVjJRZjhIY1dvc0FBQTZBQUFnQmlBSklCRWdDR3RCQlhaQi93ZHhhaXdBQURvQUJ5QUdJQWtnQlNBTmF5SUZJQUlnRUd0QjZnSnNRUWgxSUF4cklnSnFJZ2dnQzJwQkJYWkIvd2R4YWl3QUFEb0FBU0FHSUFrZ0NDQUxhMEVGZGtIL0IzRnFMQUFBT2dBR0lBWWdDU0FGSUFKcklnSWdCMnBCQlhaQi93ZHhhaXdBQURvQUFpQUdJQWtnQWlBSGEwRUZka0gvQjNGcUxBQUFPZ0FGSUFZZ0NTQVBJQXhySWdJZ0RpQUtRWlVDYkVFSWRXc2dCMnNpQldwQkJYWkIvd2R4YWl3QUFEb0FBeUFHSUFrZ0FpQUZhMEVGZGtIL0IzRnFMQUFBT2dBRUN5QUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQklrQmd2ckJ3SUhmd3g5SXdZaENDTUdRWUFDYWlRR0lBQW9BdEFDSVFzZ0NDSUFJUVVnQVNnQ1ZDRUJRUWdoQndOQUFuOENRQ0FDTGdFUUlnb2dBaTRCSUNJR2NrSC8vd054Qkg4TUFRVWdBaTRCTUFSL1FRQWhCZ3dDQlNBQ1FVQnJMZ0VBQkg5QkFDRUdEQU1GSUFJdUFWQUVmMEVBSVFZTUJBVWdBaTRCWUFSL1FRQWhCZ3dGQlNBQ0xnRndCSDlCQUNFR0RBWUZJQVVnQVNvQ0FDQUNMZ0VBc3BRaUREZ0NBQ0FGSUF3NEFpQWdCVUZBYXlBTU9BSUFJQVVnRERnQ1lDQUZJQXc0QW9BQklBVWdERGdDb0FFZ0JTQU1PQUxBQVVFNEN3c0xDd3NMREFFTElBRXFBaUFnQ3JLVUlnd2dBU29DNEFFZ0FpNEJjTEtVSWcyU0loQWdBU29DWUNBQ0xnRXdzcFFpRGlBQktnS2dBU0FDTGdGUXNwUWlFWklpRDVORDh3UzFQNVFnRVNBT2t5SU9JQXdnRFpNaUVaSkRYb1BzUDVRaUV5QU9RM1U5SjBDVWt5QVBJQkNTSWcyVEloQ1RJUXdnQlNBQktnSUFJQUl1QVFDeWxDSVBJQUVxQW9BQklBSkJRR3N1QVFDeWxDSVNraUlVSUFGQlFHc3FBZ0FnQmtFUWRFRVFkYktVSWhVZ0FTb0N3QUVnQWk0QllMS1VJaGFTSWc2U0loY2dEWkk0QWdBZ0JTQVhJQTJUT0FMZ0FTQUZJQThnRXBNaURTQVZJQmFUUS9NRXRUK1VJQTZUSWcrU0loSWdFSkk0QWlBZ0JTQVNJQkNUT0FMQUFTQUZRVUJySUEwZ0Q1TWlEU0FNa2pnQ0FDQUZJQTBnREpNNEFxQUJJQVVnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSTRBbUFnRFNBTWt5RU1RU0FMUVFKMElBVnFJQXc0QWdBZ0JVRUVhaUVGSUFGQkJHb2hBU0FDUVFKcUlRSWdCMEYvYWlFR0lBZEJBVXNFUUNBR0lRY01BUXNMSUF0QmdIMXFJUUpCQUNFQkEwQWdBQ29DQkNJTUlBQXFBaHdpRFpJaUVDQUFLZ0lVSWc0Z0FDb0NEQ0lSa2lJUGswUHpCTFUvbENBT0lCR1RJZzRnRENBTmt5SVJra05lZyt3L2xDSVRJQTVEZFQwblFKU1RJQThnRUpJaURaTWlFSk1oRENBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtnSUFRd0FnQUVTU0lnOGdBQ29DRUNJU2tpSVVJQUFxQWdnaUZTQUFLZ0lZSWhhU0lnNlNJaGNnRFpJUVEwSC9CM0ZxTEFBQU9nQUFJQVVnQWlBWElBMlRFRU5CL3dkeGFpd0FBRG9BQnlBRklBSWdEeUFTa3lJTklCVWdGcE5EOHdTMVA1UWdEcE1pRDVJaUVpQVFraEJEUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQklnRUpNUVEwSC9CM0ZxTEFBQU9nQUdJQVVnQWlBTklBK1RJZzBnREpJUVEwSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQlNBRklBSWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJUVEwSC9CM0ZxTEFBQU9nQURJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQkNBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElBZ2tCZ3ZOS0FJTGZ3RjhJQUFvQXRnRElRc2dBQ2dDSkVFQVRBUkFEd3NnQUNnQzJBRWhBUU5BQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBU0lJS0FJb0lBRW9BaVFpQkVFSWRHcEJnUUpyRHBBZUFCNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQllCSUIwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBSWdJQndnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlVnQXlBZ0lCc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUVJQ0FnSUJvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlFnSUFVZ0lDQWdJQmtnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdCaUFnSUNBZ0lCZ2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQk1nSUNBZklDQWdJQ0FnSUJjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQWNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQklnSUNBZ0NDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkVnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkFnSUNBZ0lDQU1JQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUEwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQThnSUNBZ0lDQWdEaUFMUVFBaEFrRUVJUU1NSUF0QkFDRUNRUVVoQXd3ZkMwRUFJUUpCQmlFRERCNExRUUFoQWtFSElRTU1IUXRCQUNFQ1FRZ2hBd3djQzBFQUlRSkJDU0VEREJzTFFRQWhBa0VLSVFNTUdndEJBQ0VDUVFzaEF3d1pDMEVBSVFKQkRDRUREQmdMUVFBaEFrRU5JUU1NRnd0QkFDRUNRUTRoQXd3V0MwRUFJUUpCRHlFRERCVUxRUUFoQWtFUUlRTU1GQXRCQUNFQ1FSRWhBd3dUQzBFQUlRSkJFaUVEREJJTFFRQWhBa0VUSVFNTUVRdEJBQ0VDUVJRaEF3d1FDMEVBSVFKQkZTRUREQThMUVFBaEFrRVdJUU1NRGd0QkFDRUNRUmNoQXd3TkMwRUFJUUpCR0NFRERBd0xRUUFoQWtFWklRTU1Dd3RCQUNFQ1FSb2hBd3dLQzBFQUlRSkJHeUVEREFrTFFRQWhBa0VjSVFNTUNBdEJBQ0VDUVIwaEF3d0hDMEVBSVFKQkhpRUREQVlMUVFBaEFrRWZJUU1NQlF0QkFDRUNRU0FoQXd3RUMwRUFJUUpCSVNFRERBTUxRUUFoQWtFaUlRTU1BZ3NDUUFKQUFrQUNRQ0FBS0FKSUlnRU9Bd0FCQWdNTElBRWhBa0VqSVFNTUJBc2dBU0VDUVNRaEF3d0RDeUFCSVFKQkpTRUREQUlMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdCQ3lBQUtBSUFJZ0ZCQnpZQ0ZDQUJJQVEyQWhnZ0FDZ0NBQ0FJS0FJb05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dDMEVFYWlBSlFRSjBhaUFETmdJQUlBZ29BalFFUUNBTFFTeHFJQWxCQW5ScUlnRW9BZ0FnQWtjRVFDQUlLQUpRSWdZRVFDQUJJQUkyQWdBQ1FBSkFBa0FDUUFKQUlBSU9Bd0FCQWdNTElBZ29BbFFoQkVFQUlRRURRQ0FCUVFKMElBUnFJQUZCQVhRZ0Jtb3ZBUUEyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dEQ3lBSUtBSlVJUVJCQUNFQkEwQWdBVUVDZENBRWFpQUJRUUYwSUFacUx3RUFJQUZCQVhSQjRDbHFMZ0VBYkVHQUVHcEJESFUyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dDQ3lBSUtBSlVJUWRCQUNFQlFRQWhCQU5BSUFSQkFuUWdCMm9nQVVFRGRFSGdLbW9yQXdBaURDQUVRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUUZ5SWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkU3MkZJc1ZBeDlqK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0JVRUJhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJNcHZUWkd1NS9RL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkEzSWlDa0VDZENBSGFpQU1JQXBCQVhRZ0Jtb3ZBUUMzb2tTcUVXenZZdER5UDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFGcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUpxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVPNytud0drazZUK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0NrRURhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJMc2d4M3Q2VWVFL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkIzSWlCVUVDZENBSGFpQU1JQVZCQVhRZ0Jtb3ZBUUMzb2tSZHEzTGVWYWpSUDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFocUlRUWdBVUVCYWlJQlFRaEhEUUFMREFFTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTEN3c2dDRUhZQUdvaEJDQUpRUUZxSWdFZ0FDZ0NKRWdFUUNBQklRa2dCQ0VCREFFTEN3dWxBUUVFZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCMUFBZ0FVRS9jVUhLQVdvUkJBQWlBVFlDMkFNZ0FVSHpBRFlDQUNBQUtBSWtRUUJNQkVBUEN5QUJRU3hxSVFSQkFDRUJJQUFvQXRnQklRSURRQ0FBS0FJRUtBSUFJUU1nQWlBQVFRRkJnQUlnQTBFL2NVSEtBV29SQkFBaUF6WUNWQ0FEUVFCQmdBSVFSUm9nQVVFQ2RDQUVha0YvTmdJQUlBSkIyQUJxSVFJZ0FVRUJhaUlCSUFBb0FpUklEUUFMQzhzRkFRdC9Jd1loRFNNR1FTQnFKQVlnQWlnQ0FDRUhJQUlvQWdRaEN5QUNLQUlJSVFvZ0JTZ0NBQ0lJUlFSQUlBVWdBQ2dDSENBQUtBSWdFS2tKSWdnMkFnQUxJQTBpQWtFY2FpRU9JQUpCR0dvaER5QUFLQUlNSUFCQk1Hb2dCMEV3YkdvaURDQUJLQUlBSWdrZ0IwSHdBR3hxS0FJQUlBZEI4QUJzSUFscUtBSUVLQUlBSUF0QkZHeHFJQW9nQ0JDb0NVRUFTQVIvUVg4RklBVW9BZ0FpQ0NnQ0hDRUpJQWdvQWd3Z0NDZ0NDRUVCYW1vZ0NDZ0NGQ0FJS0FJUVFRRnFhbXl5UXdBQW9FQ1VRd0FBb0VDVUlBa2dDV3l5WGdSL1FYOEZJQUVvQXBnQkloQkJBVVlFUUNBQUtBSU1JQXhCQUVFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQUFvQWd3aENDQUFRWkFFYWlBSFFUQnNhaUVKSUJCQkFrWUVRQ0FJSUF3Z0NVRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFnZ0RDQUpJQUJCOEFkcUlBZEJNR3hxSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJTEN5QURJQVFnQUNnQ0JDQUFLQUlJSUFBb0FoUWdCU2dDQUNBQUtBSVlJZ0FnQUNBQ0lBNGdEeUFHRUt3SlFRQklCSDlCZndVZ0JpQU9LQUlBc2pnQ0JDQUdJQThvQWdDeU9BSUlJQUVvQWdBaUFDQUhRZkFBYkdvb0FnUW9BZ0FnQzBFVWJHb29BZ0FpQWlBS1FSUnNhaUVCSUFZZ0IwSHdBR3dnQUdvcUFoZ2dCMEh3QUd3Z0FHb3FBZ3dnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaEFnQ2tFVWJDQUNhaUlDS2dJTWxKS1NPQUlNSUFZZ0IwSHdBR3dnQUdvcUFpZ2dCMEh3QUd3Z0FHb3FBaHdnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaUFnQWlvQ0RKU1NramdDRUNBR0lBZEI4QUJzSUFCcUtnSTRJQWRCOEFCc0lBQnFLZ0lzSUFFcUFnaVVJQWRCOEFCc0lBQnFLZ0l3SUFJcUFneVVrcEk0QWhSQkFBc0xDeUVSSUEwa0JpQVJDeUlCQVgxQmZ5QUFLZ0lBSUFFcUFnQ1RJZ0pEQUFBQUFGNGdBa01BQUFBQVhSc0xpaEFDREg4S2ZTTUdJUW9qQmtGQWF5UUdJQXBCT0dvaEJ5QUtRVEJxSVFnZ0NrRW9haUVMSUFwQklHb2hDU0FEUVFSSUJFQkRJTHkrVENFRkJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUZCUUpBQW44Z0E3SWlHaUFGbEJCRElSQWdBMEVHZEJCRUlnWkZCRUJCQUVFRFFjcllBaUFKRUQxREFBQ0F2eUVGREFJTElBTkJBM1FRUkNJSlJRUkFRUUJCQTBISzJBSWdDeEE5SUFZUU9FTUFBSUMvSVFVTUFnc2dBMEVDZENJTEVFUWlEVVVFUUVFQVFRTkJ5dGdDSUFnUVBTQUdFRGdnQ1JBNFF3QUFnTDhoQlF3Q0N5QUxFRVFpQzBVRVFFRUFRUU5CeXRnQ0lBY1FQU0FHRURnZ0NSQTRJQTBRT0VNQUFJQy9JUVVNQWdzZ0VFRi9haUlIQzBFRUlBZEJCRW9iSVJGQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQ0FOQUlBaEJCRWNFUUNBSFFRUjBJQVJxSUFoQkFuUnFJQWRCQkhRZ0FHb2dDRUVDZEdvcUFnQWdBQ29DTEpVNEFnQWdDRUVCYWlFSURBRUxDeUFIUVFGcUlRY01BUXNMSUJGQkFuUWdDMm9oRHdKQUFrQUNRQU5BQWtCQkFDRUhBMEFnQnlBRFNBUkFJQVFxQWdBaEZ5QUVLZ0lFSVJZZ0JDb0NEQ0VaSUFRcUFoQWhFeUFFS2dJVUlSZ2dCQ29DSENFYklBZEJER3dnQW1vcUFnQWlGQ0FFS2dJZ2xDQUhRUXhzSUFKcUtnSUVJaFVnQkNvQ0pKU1NRd0FBZ0QrU0lnVkRBQUFBQUZzTkFpQUhRUU4wSUFGcUtnSUVJQnNnRkNBVGxDQVZJQmlVa3BJaUdDQUZsWk1oRXlBSFFRRjBJZ0JCQW5RZ0NXb2dCMEVEZENBQmFpb0NBQ0FaSUJjZ0ZKUWdGaUFWbEpLU0loY2dCWldUSWhZNEFnQWdBRUVCY2tFQ2RDQUphaUFUT0FJQUlBZEJBblFnQzJvZ0ZpQVdsQ0FUSUJPVWtpSVRPQUlBSUFkQkFuUWdEV29nRXpnQ0FDQUhRUVIwSWdCQkFuUWdCbW9nRkNBRmxTSVRPQUlBSUFCQkFYSkJBblFnQm1vZ0ZTQUZsU0lXT0FJQUlBQkJBbkpCQW5RZ0JtcERBQUNBUHlBRmxTSVpPQUlBSUFCQkEzSkJBblFnQm1wREFBQUFBRGdDQUNBQVFRUnlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUZja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJCbkpCQW5RZ0Jtb2dGQ0FYbEl3Z0JTQUZsQ0lGbFRnQ0FDQUFRUWR5UVFKMElBWnFJQlVnRjVTTUlBV1ZPQUlBSUFCQkNISkJBblFnQm1wREFBQUFBRGdDQUNBQVFRbHlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUtja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJDM0pCQW5RZ0Jtb2dFemdDQUNBQVFReHlRUUowSUFacUlCWTRBZ0FnQUVFTmNrRUNkQ0FHYWlBWk9BSUFJQUJCRG5KQkFuUWdCbW9nRkNBWWxJd2dCWlU0QWdBZ0FFRVBja0VDZENBR2FpQVZJQmlVakNBRmxUZ0NBQ0FIUVFGcUlRY01BUXNMSUFzZ0EwRUVRU0FRZ2dOREFBQ0FRU0FQS2dJQVF3QUFnRUNVSWdVZ0JVTUFBSUJCWFJzaUZVTUFBTUJBbFNFRlF3QUFBQUFoRTBFQUlRQURRQ0FBSUFOSEJFQWdFeUFBUVFKMElBdHFLZ0lBSWhRZ0ZWNEVmU0FGQlNBRlF3QUFnRDlEQUFDQVB5QVVJQldWa3lJVUlCUWdGSlNVazVRTGtpRVRJQUJCQVdvaEFBd0JDd3NnRXlBYWxTSUZRODNNekQxZERRUWdEa0VBUnlBRlF3QUFnRUJkY1FSQUlBNUJDa1lnQlNBU2xVT2tjSDAvWG5JTkJRVWdEa0VLUmcwRkMwRUFJUUJCQUNFTUEwQWdBeUFNUndSQUlBeEJBblFnRFdvcUFnQWlFaUFWWHdSQUlBQkJBM1FpQjBFQ2RDQUdha01BQUlBL0lCSWdGWldUSWhJZ0VwUWlFaUFNUVFSMElnaEJBblFnQm1vcUFnQ1VPQUlBSUFkQkFYSkJBblFnQm1vZ0VpQUlRUUZ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUUp5UVFKMElBWnFJQklnQ0VFQ2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFRGNrRUNkQ0FHYWlBU0lBaEJBM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCSEpCQW5RZ0Jtb2dFaUFJUVFSeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFWeVFRSjBJQVpxSUJJZ0NFRUZja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUdja0VDZENBR2FpQVNJQWhCQm5KQkFuUWdCbW9xQWdDVU9BSUFJQWRCQjNKQkFuUWdCbW9nRWlBSVFRZHlRUUowSUFacUtnSUFsRGdDQUNBSFFRaHFRUUowSUFacUlCSWdDRUVJY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVKYWtFQ2RDQUdhaUFTSUFoQkNYSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkNtcEJBblFnQm1vZ0VpQUlRUXB5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUXRxUVFKMElBWnFJQklnQ0VFTGNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFTWFrRUNkQ0FHYWlBU0lBaEJESEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJEV3BCQW5RZ0Jtb2dFaUFJUVExeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVE1cVFRSjBJQVpxSUJJZ0NFRU9ja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRVBha0VDZENBR2FpQVNJQWhCRDNKQkFuUWdCbW9xQWdDVU9BSUFJQUJCQW5RZ0NXb2dFaUFNUVFGMElnZEJBblFnQ1dvcUFnQ1VPQUlBSUFCQkFXcEJBblFnQ1dvZ0VpQUhRUUZ5UVFKMElBbHFLZ0lBbERnQ0FDQUFRUUpxSVFBTElBeEJBV29oREF3QkN3c2dBRUVHU0EwQ0lBb2dDU0FHSUFBUXFBTkJBRWdOQXlBRUlBb3FBZ0FnQkNvQ0FKSTRBZ0FnQkNBS0tnSUVJQVFxQWdTU09BSUVJQVFnQ2lvQ0NDQUVLZ0lNa2pnQ0RDQUVJQW9xQWd3Z0JDb0NFSkk0QWhBZ0JDQUtLZ0lRSUFRcUFoU1NPQUlVSUFRZ0Npb0NGQ0FFS2dJY2tqZ0NIQ0FFSUFvcUFoZ2dCQ29DSUpJNEFpQWdCQ0FLS2dJY0lBUXFBaVNTT0FJa0lBVWhFaUFPUVFGcUlRNE1BUXNMSUFZUU9DQUpFRGdnRFJBNElBc1FPRU1ndkw1TUlRVU1Bd3NnQmhBNElBa1FPQ0FORURnZ0N4QTRRd0FBZ0w4aEJRd0NDeUFHRURnZ0NSQTRJQTBRT0NBTEVEaERJTHkrVENFRkRBRUxJQVlRT0NBSkVEZ2dEUkE0SUFzUU9Bc0xDeUFLSkFZZ0JRdkZDQUlHZnc1OUl3WWhCeU1HUVRCcUpBWWdCMEVvYWlFR0lBZEJJR29oQ0NBRFFRUklCRUJESUx5K1RDRUxCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VMQlFKQUlBTkJCblFRUkNJRlJRUkFRUUJCQTBISzJBSWdDQkE5UXdBQWdMOGhDd3dCQ3lBRFFRTjBFRVFpQ2tVRVFFRUFRUU5CeXRnQ0lBWVFQU0FGRURoREFBQ0F2eUVMREFFTFFRQWhCZ05BSUFaQkEwY0VRRUVBSVFnRFFDQUlRUVJIQkVBZ0JrRUVkQ0FFYWlBSVFRSjBhaUFHUVFSMElBQnFJQWhCQW5ScUtnSUFJQUFxQWl5Vk9BSUFJQWhCQVdvaENBd0JDd3NnQmtFQmFpRUdEQUVMQ3lBRHNpRVlJQU5CQVhRaENFRUFJUVlDUUFKQUEwQUNRRU1BQUFBQUlSSkJBQ0VKQTBBZ0NTQURTQVJBSUFRcUFnQWhEU0FFS2dJRUlSQWdCQ29DRENFUklBUXFBaEFoRXlBRUtnSVVJUlFnQkNvQ0hDRUxJQWxCREd3Z0Ftb3FBZ0FpRGlBRUtnSWdsQ0FKUVF4c0lBSnFLZ0lFSWc4Z0JDb0NKSlNTUXdBQWdEK1NJZ3hEQUFBQUFGc05BaUFKUVFOMElBRnFLZ0lFSUFzZ0RpQVRsQ0FQSUJTVWtwSWlGeUFNbFpNaEZTQUpRUUYwSWdCQkFuUWdDbW9nQ1VFRGRDQUJhaW9DQUNBUklBMGdEcFFnRUNBUGxKS1NJaEFnREpXVEloRTRBZ0FnQUVFQmNrRUNkQ0FLYWlBVk9BSUFJQWxCQkhRaUFFRUNkQ0FGYWlBT0lBeVZJaE00QWdBZ0FFRUJja0VDZENBRmFpQVBJQXlWSWhRNEFnQWdBRUVDY2tFQ2RDQUZha01BQUlBL0lBeVZJZ3M0QWdBZ0FFRURja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJCSEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUVZ5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVHY2tFQ2RDQUZhaUFPSUJDVWpDQU1JQXlVSWcyVk9BSUFJQUJCQjNKQkFuUWdCV29nRHlBUWxJd2dEWlU0QWdBZ0FFRUlja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJDWEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUXB5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVMY2tFQ2RDQUZhaUFUT0FJQUlBQkJESEpCQW5RZ0JXb2dGRGdDQUNBQVFRMXlRUUowSUFWcUlBczRBZ0FnQUVFT2NrRUNkQ0FGYWlBT0lCZVVqQ0FObFRnQ0FDQUFRUTl5UVFKMElBVnFJQThnRjVTTUlBMlZPQUlBSUJJZ0VTQVJsQ0FWSUJXVWtwSWhFaUFKUVFGcUlRa01BUXNMSUJJZ0dKVWlDMFBOek13OVhRMERJQVpCQUVjZ0MwTUFBSUJBWFhFRVFDQUdRUXBHSUFzZ0ZwVkRwSEI5UDE1eURRUUZJQVpCQ2tZTkJBc2dCeUFLSUFVZ0NCQ29BMEVBU0EwQ0lBUWdCeW9DQUNBRUtnSUFramdDQUNBRUlBY3FBZ1FnQkNvQ0JKSTRBZ1FnQkNBSEtnSUlJQVFxQWd5U09BSU1JQVFnQnlvQ0RDQUVLZ0lRa2pnQ0VDQUVJQWNxQWhBZ0JDb0NGSkk0QWhRZ0JDQUhLZ0lVSUFRcUFoeVNPQUljSUFRZ0J5b0NHQ0FFS2dJZ2tqZ0NJQ0FFSUFjcUFod2dCQ29DSkpJNEFpUWdDeUVXSUFaQkFXb2hCZ3dCQ3dzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQWdzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQVFzZ0JSQTRJQW9RT0FzTEN5QUhKQVlnQ3d1N0JnSU1md1I5SXdZaENTTUdRZEFBYWlRR0lBbEJNR29oRUNBSlFjd0FhaUVNSUFsQnlBQnFJUTBnQ1VGQWF5RU9JQWxCT0dvaER5QUFzaUVVSUFHeUlSVWdCVUhNSldvaEVVRUFJUUZCQUNFQUFuOENRQU5BQWtBZ0NDQURLQUlFVGcwQ1FRQWhDd05BSUF0QkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0MwRUVkQ0FKYWlBR1FRSjBhaUFJUVRCc0lBSnFJQXRCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQzBFQmFpRUxEQUVMQzBFQUlRY2dBeWdDQUNBSVFmQUFiR29vQWdRaEJnTkFJQWNnQmlnQ0JFZ0VRRUVBSVFvRFFDQUtJQVlvQWdBaUN5QUhRUlJzYWlnQ0JFZ0VRRUVBSUFrZ0IwRVViQ0FMYWlnQ0FDSUdJQXBCRkd4cUtnSUlJQXBCRkd3Z0Jtb3FBZ3dnRENBTkVJSUVRUUJJSUF3cUFnQWlFa01BQUFBQVhYSkZCRUFnRFNvQ0FDSVRJQlZnSUJOREFBQUFBRjBnRWlBVVlISnlSUVJBQWtBZ0RpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDQUhRUlJzYWlnQ0FDSUdJQXBCRkd4cUtBSUlOZ0lBSUE0Z0NrRVViQ0FHYWlnQ0REWUNCRUVBSUFrZ0RpQVBFSWNFSUE4cUFnUWlFaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0lHSUFkQkZHeHFLZ0lNSWhOZkJFQWdFaUFIUVJSc0lBWnFLZ0lRWUFSQUlBQkJ5QUZHRFFrZ0FFRVliQ0FFYWlBSU5nSUFJQUJCR0d3Z0JHb2dCellDQkNBQVFSaHNJQVJxSUFvMkFnZ2dBRUVZYkNBRWFpQU1LQUlBTmdJUUlBQkJHR3dnQkdvZ0RTZ0NBRFlDRkNBQVFSaHNJQVJxUVFBMkFnd2dBRUVCYWlFQURBSUxDeUFTSUJOREFBQUFRSlJmQkVBZ0VpQUhRUlJzSUFacUtnSVFRd0FBQUQrVVlBUkFJQUZCeUFGR0JIOGdFVUYvTmdJQVFjZ0JCU0FCUVJoc0lBVnFJQWcyQWdBZ0FVRVliQ0FGYWlBSE5nSUVJQUZCR0d3Z0JXb2dDallDQ0NBQlFSaHNJQVZxSUF3b0FnQTJBaEFnQVVFWWJDQUZhaUFOS0FJQU5nSVVJQUZCR0d3Z0JXcEJBRFlDRENBQlFRRnFDeUVCQ3dzTEN3c2dDa0VCYWlFS0lBTW9BZ0FnQ0VId0FHeHFLQUlFSVFZTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQ0VFQmFpRUlEQUVMQzBFQVFRTkIyZGdDSUJBUVBTQUVRY3dsYWd3QkN5QUFRUmhzSUFScVFYODJBZ3dnQVVFWWJDQUZha0VNYWd0QmZ6WUNBQ0FKSkFZTHd3Y0NEbjhJZlNNR0lRVWpCa0hRQUdva0JpQUZRVEJxSVJBZ0JVSE1BR29oRENBRlFjZ0FhaUVOSUFWQlFHc2hEaUFGUVRocUlROGdBQ2dDQUxJaEdTQUFLQUlFc2lFYUlBUkJ6Q1ZxSVJFQ2Z3SkFBMEFDUUNBS0lBSW9BZ1JPRFFKQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBSFFRUjBJQVZxSUFaQkFuUnFJQXBCTUd3Z0FXb2dCMEVFZEdvZ0JrRUNkR29vQWdBMkFnQWdCa0VCYWlFR0RBRUxDeUFIUVFGcUlRY01BUXNMUVFBaEJpQUNLQUlBSUFwQjhBQnNhaWdDQkNFSEEwQWdCaUFIS0FJRVNBUkFRUUFoQ3dOQUlBc2dCeWdDQUNJU0lBWkJGR3hxS0FJRVNBUkFJQUFnQlNBR1FSUnNJQkpxS0FJQUlnY2dDMEVVYkdvcUFnZ2dDMEVVYkNBSGFpb0NEQ0FNSUEwUWdnUkJBRWdnRENvQ0FDSVRRd0FBQUFCZGNrVUVRQ0FOS2dJQUloUWdHbUFnRkVNQUFBQUFYU0FUSUJsZ2NuSkZCRUFDUUNBRktnSU1JQVVxQWdBZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBZ0JrRVViR29vQWdBaUJ5QUxRUlJzYWlvQ0NDSVRsQ0FGS2dJRUlBdEJGR3dnQjJvcUFnd2lGSlNTa2lJV0lCYVVJQVVxQWh3Z0V5QUZLZ0lRbENBVUlBVXFBaFNVa3BJaUZ5QVhsSklnQlNvQ0xDQVRJQVVxQWlDVUlCUWdCU29DSkpTU2tpSVlJQmlVa3BFaEZTQUZLZ0lvSUJnZ0ZaV1VJQVVxQWdnZ0ZpQVZsWlFnQlNvQ0dDQVhJQldWbEpLU1E4M016TDFlUlFSQUlBNGdFemdDQUNBT0lCUTRBZ1FnQUNBRklBNGdEeENIQkNBUEtnSUVJaE1nQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FpQnlBR1FSUnNhaW9DRENJVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUdBRVFDQUpRY2dCUmcwS0lBbEJHR3dnQTJvZ0NqWUNBQ0FKUVJoc0lBTnFJQVkyQWdRZ0NVRVliQ0FEYWlBTE5nSUlJQWxCR0d3Z0Eyb2dEQ2dDQURZQ0VDQUpRUmhzSUFOcUlBMG9BZ0EyQWhRZ0NVRVliQ0FEYWtFQU5nSU1JQWxCQVdvaENRd0RDd3NnRXlBVVF3QUFBRUNVWHdSQUlCTWdCa0VVYkNBSGFpb0NFRU1BQUFBL2xHQUVRQ0FJUWNnQlJnUi9JQkZCZnpZQ0FFSElBUVVnQ0VFWWJDQUVhaUFLTmdJQUlBaEJHR3dnQkdvZ0JqWUNCQ0FJUVJoc0lBUnFJQXMyQWdnZ0NFRVliQ0FFYWlBTUtBSUFOZ0lRSUFoQkdHd2dCR29nRFNnQ0FEWUNGQ0FJUVJoc0lBUnFRUUEyQWd3Z0NFRUJhZ3NoQ0FzTEN3c0xDeUFMUVFGcUlRc2dBaWdDQUNBS1FmQUFiR29vQWdRaEJ3d0JDd3NnQmtFQmFpRUdEQUVMQ3lBS1FRRnFJUW9NQVFzTFFRQkJBMEhaMkFJZ0VCQTlJQU5CekNWcURBRUxJQWxCR0d3Z0EycEJmellDRENBSVFSaHNJQVJxUVF4cUMwRi9OZ0lBSUFVa0JndlZFUUlVZndGOUl3WWhCU01HUVRCcUpBWWdCU0lNUVNocUlSSWdCVUVnYWlFVElBQkJBRWNnQVVFQVIzRWdBa0VBUjNFZ0EwRUFSM0VnQkVFQVIzRUVmeUFCS0FLWUFVRUJTQVIvUVg0RkFuOGdCRU1BQUFBQU9BSUFJQUZCQ0dvaERTQUJRVGhxSVFnZ0FVSG9BR29oQ2tFQUlRVURRQ0FGSUFFb0FnUklCRUFnRFNBQktBSUFJQVZCOEFCc2FrRU1haUFBUVRCcUlBVkJNR3hxRUxJQ0lBRW9BcGdCUVFGS0JFQWdDQ0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRWkFFYWlBRlFUQnNhaEN5QWlBQktBS1lBVUVDU2dSQUlBb2dBU2dDQUNBRlFmQUFiR3BCREdvZ0FFSHdCMm9nQlVFd2JHb1FzZ0lMQ3lBRlFRRnFJUVVNQVFzTElBQW9BZ0JCQVVZRVFDQUFRUXhxSWhRb0FnQWdBRUV3YWlBQklBQkI4QlJxSWc0Z0FFSElPbW9pQ2hETkJpQUFRUVJxSVE4Z0FFRUlhaUVRQlNBQVFRUnFJZzhvQWdBZ0FFRUlhaUlRS0FJQUlBQkJNR29nQVNBQVFmQVVhaUlPSUFCQnlEcHFJZ29RekFZZ0FFRU1haUVVQ3lBQVFlRG5BR29oRnlBQlFad0JhaUVWSUFCQjBBdHFJUllnRGlFSUEwQUNRQ0FMSUFBb0FpUk9EUUJCQUNFSklBWWhCeUFJSVFVRFFBSkFJQWtnRnlnQ0FFNEVRQ0FGSVFnTUFRc2dDeUFBS0FJa1JnUkFJQVVoQ0F3QkN5QUZJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJFQWdCU0FPUndSQUlBVWhDQXdDQ3lBS0lCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkg4Z0NpRUlEQUlGSUFvTElRVUxJQWxCQW5RZ0RHb2dDRUVZYkNBRmFpSVJOZ0lBSUFCQjBBdHFJQWRCQTNScUlBaEJHR3dnQldvb0FoQTJBZ0FnQUNBSFFRTjBha0hVQzJvZ0NFRVliQ0FGYWlnQ0ZEWUNBQ0FBUWVUbkFHb2dDVUUwYkdvZ0FEWUNBQ0FBSUFsQk5HeHFRZWpuQUdvZ0FUWUNBQ0FBSUFsQk5HeHFRZXpuQUdvZ0VUWUNBQ0FBSUFsQk5HeHFRZkRuQUdvZ0FqWUNBQ0FKUVFGcUlRa2dCaUFIUVFGcUlnZ2dDRUVGUmhzaEJ5QUxRUUZxSVFzTUFRc0xJQWxGRFFCQkFDRUhJQVloQlFOQUlBY2dDVWNFUUNBQUlBZEJOR3hxUVpUb0FHb2dBRUhrNXdCcUlBZEJOR3hxS0FJQUlBQWdCMEUwYkdwQjZPY0FhaWdDQUNBQUlBZEJOR3hxUWV6bkFHb29BZ0FnQUNBSFFUUnNha0h3NXdCcUtBSUFJQUFnQjBFMGJHcEI5T2NBYWlnQ0FDQUFJQWRCTkd4cVFmam5BR29nQUNBSFFUUnNha0g4NXdCcUlnWVF5QVlpRVRZQ0FDQVJSUVJBSUFZcUFnQWdBQ29DS0Y0RVFDQUFLQUlBUVFGR0JFQWdGQ2dDQUNJR1FlZ0FhaUFBSUFkQk5HeHFRWURvQUdvcUFnQzdJQUFnQjBFMGJHcEJoT2dBYWlvQ0FMc2dFaUFUSUFZb0FyQUJFTjhFSUFCQjBBNXFJQVZCQTNScUlCSXJBd0MyT0FJQUlBQWdCVUVEZEdwQjFBNXFJQk1yQXdDMk9BSUFCU0FBUWRBT2FpQUZRUU4wYWlBQUlBZEJOR3hxUVlEb0FHb29BZ0EyQWdBZ0FDQUZRUU4wYWtIVURtb2dBQ0FIUVRSc2FrR0U2QUJxS0FJQU5nSUFDeUFBUVpBUmFpQUZRUXhzYWlBQUlBZEJOR3hxUVlqb0FHb29BZ0EyQWdBZ0FDQUZRUXhzYWtHVUVXb2dBQ0FIUVRSc2FrR002QUJxS0FJQU5nSUFJQUFnQlVFTWJHcEJtQkZxSUFBZ0IwRTBiR3BCa09nQWFpZ0NBRFlDQUNBQVFkQUxhaUFGUVFOMGFpQUhRUUowSUF4cUtBSUFJZ1lvQWhBMkFnQWdBQ0FGUVFOMGFrSFVDMm9nQmlnQ0ZEWUNBQ0FBUWFEZ0FHb2dCVUVZYkdvZ0JpZ0NBRFlDQUNBQUlBVkJHR3hxUWFUZ0FHb2dCaWdDQkRZQ0FDQUFJQVZCR0d4cVFhamdBR29nQmlnQ0NEWUNBQ0FBSUFWQkdHeHFRYXpnQUdwQkFEWUNBQ0FGUVFGcUlRVUxDeUFIUVFGcUlRY01BUXNMSUFVaEJnd0JDd3RCQUNFQ0EwQWdBaUFHU0FSQUlBRkJuQUZxSUFKQkdHeHFJZ1VnQUVHZzRBQnFJQUpCR0d4cUlnZ3BBZ0EzQWdBZ0JTQUlLUUlJTndJSUlBVWdDQ2tDRURjQ0VDQUNRUUZxSVFJTUFRc0xJQUVnQmtFWWJHcEJmellDcUFFZ0JrRURTQ0VDSUFBb0FnQkJBVVlFUUNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0FDZ0NFQ0FOSUFCQjBBNXFJZ0lnQUVHUUVXb2lCU0FHSUFOQkFCRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZWsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFFQXpNK00vRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZGsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFBQUFBQUFBRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUJRUUEyQXBnQlFYd01CZ3NMQ3dzTEJTQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdEU0FBUWRBT2FpSUNJQUJCa0JGcUlnVWdCaUFEUVFCREFBQ0FQeERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlE4M01URDhRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQkNBRElBSWdCU0FHSUFOQkFVT2FtUmsvRU5vQkloazRBZ0FnR1NBQUtnSXNYZ1JBSUFRZ0F5QUNJQVVnQmlBRFFRRkR6Y3pNUGhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRd0FBQUFBUTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0FVRUFOZ0tZQVVGOERBWUxDd3NMQ3dzZ0FTQUJLQUtZQVVFQmFqWUNtQUZCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FCUWVnQWFpQUFRUVIwYWlBQ1FRSjBhaUFCUVRocUlBQkJCSFJxSUFKQkFuUnFLQUlBTmdJQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDMEVBSVFBRFFDQUFRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUZCT0dvZ0FFRUVkR29nQWtFQ2RHb2dBVUVJYWlBQVFRUjBhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3dEJBQ0VBQTM4Z0FFRURSZ1IvUVFBRlFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFocUlBQkJCSFJxSUFKQkFuUnFJQUJCQkhRZ0Eyb2dBa0VDZEdvb0FnQTJBZ0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEN3c0ZRWDhMSVJnZ0RDUUdJQmdMd1FFQkEzOGpCaUVFSXdaQkVHb2tCa0drNndBUVJDSURSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQkVFSWFpRUZJQU1nQURZQ0ZDQURJQUUyQWdRZ0F5QUNOZ0lJSUFOQkdUWUNHQ0FEUVFzMkFod2dBMEVMTmdJZ0lBTkJDallDSkNBRFE1cVpHVDg0QWlnZ0EwTUFBQUJBT0FJc0lBTkI0T2NBYWtFQk5nSUFJQU5COU9jQWFpQUJJQUpzRUVRaUFEWUNBQ0FBQkVBZ0EwSDQ1d0JxUVFBMkFnQWdCQ1FHSUFNUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxMd0FnQUNnQ0NDQUJRUUowYWlJQktBSUFCSDhnQVVFQU5nSUFJQUFnQUNnQ0FFRi9hallDQUVFQUJVRi9DeG9MUGdBZ0FTQUFLQUlBSUFBb0FnUVF6d1lpQVVFQk5nSUFJQUVnQURZQ0RDQUJJQUJCQ0dvUTR3SWlBRFlDRUNBQVJBQUFBQUFBQUFBQUVJMEJJQUVMdWdFQkJuOGdBQ2dDQUNFQlFiVEVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRYkRFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXY3QWdFR2Z5TUdJUU1qQmtFd2FpUUdJQU5CR0dvaEJTQURRUkJxSVFZZ0EwRUlhaUVISUFOQklHb2lBaUFBTmdJQUlBTkJIR29pQkNBQk5nSUFJQUlRVXdSL0FuOGdBaEJTSVFBZ0JCRFNCZ1IvSUFCQkNHb2lBU0FFRUt3RFFiZ0JFRXdhSUFBb0Fnd2hBZ0pBQWtBZ0FTZ0NBQ0lFSUFBb0F0QUJSdzBBSUFBb0F0UUJJQUpIRFFBTUFRc2dBeUFFTmdJQUlBTWdBallDQkVFQVFRSkJtZGNDSUFNUVBTQUJJQUFvQXRBQklBQW9BdFFCSUFFUStRc0xJQUFRcVFNZ0FDQUJFTHdMSWdJMkFzQUJJQUpGQkVCQkFFRURRY2pYQWlBSEVEMUJmd3dDQ3lBQUlBSVFvZ2tpQWpZQzJBRWdBa1VFUUVFQVFRTkI3dGNDSUFZUVBVRi9EQUlMSUFJZ0FDZ0MyQU1RNHdnZ0FDQUJRUWhxRUs4SklnRTJBdVFCSUFFRVFDQUFLQUxZQVNBQUtBTGNBUkRIQnlBQUtBTEFBU0FBS3dPNEFpQUFLd1BBQWlBQVFkZ0NhaERHQ3lBQUlBQW9Bc0FCRUlBRU5nTG9BUVZCQUVFRFFaUFlBaUFGRUQwTFFRQUZRWDhMQ3dWQmZ3c2FJQU1rQmdzekFRSi9Jd1loQkNNR1FSQnFKQVlnQkNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQURZQ0FDQUVLQUlBSVFVZ0JDUUdJQVVMN3dJQkNIOGdBU2dDQUNJRktBSUVJUU5Cb01RREtBSUFJZ1JCZjJvaEJpQUVJQVp4UlNJSUJIOGdBeUFHY1FVZ0F5QUVUd1IvSUFNZ0JCQk9CU0FEQ3dzaEEwR2N4QU1vQWdBZ0EwRUNkR29pQnlnQ0FDRUJBMEFnQlNBQktBSUFJZ0pIQkVBZ0FpRUJEQUVMQ3dKL0FrQWdBVUdreEFOR0RRQWdBU2dDQkNFQ0lBZ0VmeUFDSUFaeEJTQUNJQVJQQkg4Z0FpQUVFRTRGSUFJTEN5QURSdzBBSUFVTUFRc2dCU2dDQUNJQ0JFQWdBaWdDQkNFQ0lBVWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJQU5HRFFFYUN5QUhRUUEyQWdBZ0JRc2lDU2dDQUNJQ0lRY2dBU0FDQkg4Z0FpZ0NCQ0VDSUFNZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElnSkhCSDlCbk1RREtBSUFJQUpCQW5ScUlBRTJBZ0FnQlNnQ0FBVWdCd3NGSUFjTE5nSUFJQWxCQURZQ0FFR294QU5CcU1RREtBSUFRWDlxTmdJQUlBQWdCVFlDQUNBQVFhVEVBellDQkNBQVFRRTZBQWdMWlFFQmZ5TUdJUUVqQmtFZ2FpUUdJQUFvQWdBaUFDZ0NBQm9nQVNBQU5nSUFJQUZCRUdvaUFDQUJLQUlBTmdJQUlBRkJCR29nQUJEVkJpQUJLQUlFSVFBZ0FVRUFOZ0lFSUFBRVFDQUJMQUFNQkVBZ0FFRVFhaEN6QXdzZ0FCQTRDeUFCSkFZTE9RRUNmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFBRUZNaUFBUkFJQUVnQURZQ0FDQUNJQUVvQWdBMkFnQWdBaERXQmdzZ0FTUUdDeThCQW44akJpRUNJd1pCRUdva0JpQUNJQUVnQUVIL0FIRkJDR29SQUFBMkFnQWdBaWdDQUNFRElBSWtCaUFEQzFBQkFuOGpCaUVESXdaQkVHb2tCaUFCSUFJb0FnQWdBQkNxQXlJQk5nSUFJQUZCQUVnRWZ5QURJQUEyQWdCQkFFRURRZlRUQWlBREVEMGdBaWdDQUJDNEFrRUFCVUVCQ3lFRUlBTWtCaUFFQzBFQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJUXJRTWdBMEVNYWlJQ0lBRWdBeUFBUVQ5eFFZb0JhaEVDQURZQ0FDQUNLQUlBSVFRZ0F4QkhJQU1rQmlBRUMzd0JBbjhqQmlFRUl3WkJFR29rQmlBRElBQWdBaWdDQUJEbENTSUFOZ0lBSUFBRWZ3Si9Ba0FDUUFKQUlBQW9BbXdPQWdBQkFnc2dBVUVBRUlvQ0drRUJEQUlMSUFGQkFoQ0tBaHBCQVF3QkN5QUJRUU1RaWdJYVFRRUxCVUVBUVFOQnJkTUNJQVFRUFNBQ0tBSUFFTGdDUVFBTElRVWdCQ1FHSUFVTG5BTUJEMzhqQmlFREl3WkI0QUJxSkFZZ0EwSFFBR29oQ2lBRFFjZ0FhaUVMSUFOQlFHc2hEQ0FEUVRocUlRVWdBMEV3YWlFR0lBTkJLR29oRFNBRFFTQnFJUTRnQTBFWWFpRVBJQU5CRUdvaEJ5QURRUWhxSVFnZ0FDZ0M2QUVoRUNBRFFkZ0FhaUlFUVFBMkFnQWdBeUFDTmdJQVFRQkJBVUh1MEFJZ0F4QTlJQUlnQTBIVUFHb2lDUkNoQ1VFQVNBUi9JQWdnQWpZQ0FFRUFRUU5CaHRFQ0lBZ1FQVUVBQlFKL0lBY2dBVFlDQUVFQVFRRkJyTkVDSUFjUVBTQUpLQUlBSUFFUW9BbEJBRWdFUUVFQVFRTkJ4ZEVDSUE4UVBVRUFEQUVMSUFRZ0NSQ2pDVUVBU0FSQVFRQkJBMEhwMFFJZ0RoQTlRUUFNQVF0QkFFRUJRWVRTQWlBTkVEMGdCaUFDTmdJQVFRQkJBVUdOMGdJZ0JoQTlJQUJCK0FGcUlBRkJBblJxSUFJUXJna2lBRFlDQUNBQVJRUkFJQVVnQWpZQ0FFRUFRUU5CbzlJQ0lBVVFQUXRCQUVFQlFZVFNBaUFNRUQwZ0FVRUtSZ1JBUVg4UUFRc2dFQ0FFS0FJQUVKNEpRUUJJQkg5QkFFRURRY1RTQWlBTEVEMUJBQVVnQkJEL0EwRUFRUUZCM2RJQ0lBb1FQVUVCQ3dzTElSRWdBeVFHSUJFTE1RRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FTQUNJQUJCUDNGQmlnRnFFUUlBTmdJQUlBTW9BZ0FoQkNBREpBWWdCQXVZQVFFQ2Z5QUFRUUZHQkg5QkFnVWdBQ0FBUVg5cWNRUi9JQUFRMFFFRklBQUxDeUlBUWJURUF5Z0NBQ0lDU3dSQUlBQVFxd01GSUFBZ0Fra0VRRUc4eEFNb0FnQ3pRY0RFQXlvQ0FKV05FSklCSVFFZ0FrRi9haUFDY1VVZ0FrRUNTM0VFZnlBQlFRRkJJQ0FCUVg5cVoydDBJQUZCQWtrYkJTQUJFTkVCQ3lJQklBQWdBQ0FCU1JzaUFDQUNTUVJBSUFBUXF3TUxDd3NMU0FFQmZ5QUFRY2dCRUZFaUF6WUNBQ0FBUWJqRUF6WUNCQ0FESUFJb0FnQW9BZ0EyQWdnZ0EwRVFha0VBUWJnQkVFVWFJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQ3o4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFUXJRTWdBa0VNYWlJQklBSWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ0VESUFJUVJ5QUNKQVlnQXd2REJnSVFmd0Y4SXdZaEFpTUdRU0JxSkFZZ0FrRVlhaUVOSUFKQkVHb2hBeUFDUVFocUlRUWdBaUVNSUFBRVFBSkFJQUZGQkVCQkFFRURRYTJwQVNBRUVEMUJmeUVFREFFTElBQW9BZ1FoQWtFQUlRUURRQUpBSUFRZ0FrNE5BQ0FBS0FJSUlBUkJBblJxS0FJQVJRMEFJQVJCQVdvaEJBd0JDd3NnQWlBRVJnUkFRWDhoQkFVZ0FSQ0lBeUlMUlFSQVFRQkJBMEhhcVFFZ0F4QTlRWDhoQkF3Q0N5QUVRUUowSVE0Z0N4RDNBaUVCQWtBRFFBSkFJQXBCQkU4TkFpQUtJQTVxSVFoQkFDRUNRUUFoQlFOQUlBVkJBMGtFUUNBRlJTRVBJQVZCQWtZaEVFRUFJUWNnQUNnQ0hDRURBMEFnQnlBRFNBUkFRUUFoQmdOQUlBWWdBMGdFUUNBQlJRMEdJQUVRN2dRaEEwRUFFUGNDSVFFZ0FDZ0NEQ0FJUVFKMGFpZ0NBQ0FGSUFZZ0J5QUFLQUljYkdwQkEyeHFRUUowYWtIL0FTQURheUlETmdJQUlBQW9BaFFnQ0VFQ2RHb29BZ0FpRVNBR0lBY2dBQ2dDSEd4cVFRSjBhaUVKSUE4RVFDQUpJQU0yQWdBRklBa2dBeUFKS0FJQWFqWUNBQ0FRQkVBZ0JpQUhJQUFvQWh4c2FrRUNkQ0FSYWlJSklBa29BZ0JCQXhBNU5nSUFDd3NnQmtFQmFpRUdJQUlnQTJvaEFpQUFLQUljSVFNTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQlVFQmFpRUZEQUVMQ3lBQ0lBQW9BaHdpQWlBQ1FRTnNiQkE1SVFkQkFDRUZRUUFoQXdOQUlBTWdBa0VEYkNBQ2JFa0VRQ0FBS0FJTUlBaEJBblJxS0FJQUlBTkJBblJxSWdZb0FnQWdCMnNoQWlBR0lBSTJBZ0FnQlNBQ0lBSnNhaUVGSUFOQkFXb2hBeUFBS0FJY0lRSU1BUXNMSUFBb0FoQWdDRUVEZEdwRVNLKzhtdkxYZWo0Z0JiZWZJaElnRWtRQUFBQUFBQUFBQUdFYk9RTUFRUUFoQlVFQUlRTURRQ0FESUFJZ0FteEpCRUFnQUNnQ0ZDQUlRUUowYWlnQ0FDQURRUUowYWlJR0tBSUFJQWRySVFJZ0JpQUNOZ0lBSUFVZ0FpQUNiR29oQlNBRFFRRnFJUU1nQUNnQ0hDRUNEQUVMQ3lBQUtBSVlJQWhCQTNScVJFaXZ2SnJ5MTNvK0lBVzNueUlTSUJKRUFBQUFBQUFBQUFCaEd6a0RBQ0FLUVFGcUlRb01BUXNMUVFCQkEwSDJxUUVnRFJBOUlBc1FPRUYvSVFRTUFnc2dDeEE0SUFBb0FnZ2dCRUVDZEdwQkFUWUNBQ0FBSUFBb0FnQkJBV28yQWdBTEN3VkJBRUVEUVpTcEFTQU1FRDFCZnlFRUN5QU1KQVlnQkFzc0FRSi9Jd1loQVNNR1FSQnFKQVlnQVNBQVFRRnhRUVpxRVJBQU5nSUFJQUVvQWdBaEFpQUJKQVlnQWdzdEFnRi9BbndqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUVEY1JFU0FEa0RBQ0FDS3dNQUlRUWdBaVFHSUFRTGpBRUFJQUJCQURZQ3dBRWdBRUVBTmdMRUFTQUFRZ0EzQXN3QklBQkNBRGNDMUFFZ0FFSUFOd0xjQVNBQVFYNDJBdkFCSUFCQkFEWUM5QUVnQUVJQU53S2dBaUFBUWdBM0FxZ0NJQUJCZ0lDQS9BTTJBckFDSUFCRUxVTWM2K0kyR2o4NUE3Z0NJQUJFQUFBQUFBQkFqMEE1QThBQ0lBQkNBRGNDeUFJZ0FFSUFOd0xRQWlBQVFRSTJBdGdEQzBFQkEzOGdBQ2dDQ0NFQkEwQWdBUVJBSUFFb0FnQWhBeUFCRURnZ0F5RUJEQUVMQ3lBQUtBSUFJUUlnQUVFQU5nSUFJQUlFUUNBQUtBSUVHaUFDRURnTEM2d0tBUTEvSXdZaEN5TUdRYUFCYWlRR0lBdEJtQUZxSVFVZ0MwR1FBV29oRHlBTFFZQUJhaUlJUVFBMkFnQWdDRUcyQVRZQ0JDQUlRY01CTmdJSUlBaEJEVFlDREVGL0lRWURRQ0FIUVFSSEJFQWdBQ0FIUVFKMElBaHFLQUlBYWl3QUFDRUtJQWRCQVdvaEJ5QUtJQWtnQ2tIL0FYRWdDVUgvQVhGS0d5RUpJQW9nQmlBS1FmOEJjU0FHUWY4QmNVZ2JJUVlNQVFzTElBbEIvd0Z4SWdjZ0JrSC9BWEVpQ1d0QkhrZ0VmeUFDUVFBMkFnQWdBMFFBQUFBQUFBRHd2emtEQUVGK0JRSi9JQWNnQ1dwQkFYWWhDa0VBSVFjRFFDQUhRUVJIQkVBZ0JTQUhhaUFLSUFBZ0IwRUNkQ0FJYWlnQ0FHb3RBQUJMT2dBQUlBZEJBV29oQnd3QkN3dEJBQ0VKQTBBQ1FDQUpRUVJQRFFBZ0NVRUJhaUVJSUFVZ0NXb3NBQUJCQVVZRVFDQUlRUU54SUFWcUxBQUFRUUZHQkVBZ0NVRUNha0VEY1NBRmFpd0FBRVVOQWdzTElBZ2hDUXdCQ3dzZ0F3SjhBa0FDUUFKQUFrQUNRQUpBQWtBZ0NVSC8vLy8vQjNFT0JRRUNBd1FBQlFzZ0FrRUFOZ0lBSUFORUFBQUFBQUFBOEw4NUF3QkJmUXdIQzBIM0FDRUlRUUFoQlVIL0FTRUhBMEFnQlVFT1JnUkFEQVlGSUFWQmZXb2hEQ0FGUWY3Ly8vOEhjVUVNUmlFTklBVkJEbXdoRGtFQUlRWURRQ0FHUVE1SEJFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQi92Ly8vd2R4SVFNZ0JTQUdja0grLy8vL0IzRUVRQ0FOSUFORklBTkJERVp5Y1VVRVFDQUlJQXRxSUFBZ0JpQU9hbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxBQUFMQUF0Qjl3QWhDRUgvQVNFSFFRQWhCZ05BSUFaQkRrWUVRQXdGQlNBR1FYMXFJUXdnQmtIKy8vLy9CM0VpQlVVaERTQUZRUXhHSVE1QkRTRUZBMEFnQlVGL1NnUkFJQVZCZldvZ0RISkJDRThFUUNBTklBVkJmbkZCREVZaUEzRkZCRUFnRGlBRElBVkJBa2x5Y1VVRVFDQUlJQXRxSUFBZ0JpQUZRUTVzYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVZCZjJvaEJRd0JDd3NnQmtFQmFpRUdEQUVMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUXdnQlVGK2NVRU1SaUFGUVFKSmNpRU5JQVZCRG13aERrRU5JUVlEUUNBR1FYOUtCRUFnRENBR1FYMXFja0VJVHdSQUlBWkJmbkZCREVZZ0RYRWdCU0FHY2tFQ1NYSkZCRUFnQ0NBTGFpQUFJQVlnRG1wcUxRQUFJQXBySWdOQkgzWTZBQUFnQ0VGL2FpRUlJQU5CQUNBRGF5QURRWDlLR3lJRElBY2dBeUFIU0JzaEJ3c0xJQVpCZjJvaEJnd0JDd3NnQlVGL2FpRUZEQUVGREFRTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVEwZ0JVRitjU0lNUVF4R0lRNGdERVVoRUVFQUlRWURRQ0FHUVE1SEJFQWdCa0Y5YWlBTmNrRUlUd1JBSUE0Z0JrSCsvLy8vQjNFaUEwVnhSUVJBSUFNZ0RISkZJQkFnQTBFTVJuRnlSUVJBSUFnZ0Myb2dBQ0FGSUFaQkRteHFhaTBBQUNBS2F5SURRUjkyT2dBQUlBaEJmMm9oQ0NBRFFRQWdBMnNnQTBGL1Noc2lBeUFISUFNZ0IwZ2JJUWNMQ3dzZ0JrRUJhaUVHREFFTEN5QUZRWDlxSVFVTUFRVU1Bd3NBQUFzQUN5QUNJQWsyQWdCRUFBQUFBQUFBOEQ4TUFRc2dCeUVBSUFJZ0NUWUNBRVFBQUFBQUFBRHdQeUFBdDBRQUFBQUFBQUErUUtNZ0FFRWVTaHNMT1FNQVFZNFdRZ0FnQ3lBUEVMVURJZ0JCQUVnRWYwRjhCU0FFQkVBZ0JDQUFOZ0lBQ3lBQklBOHBBd0EzQXdCQkFBc0xDeUVSSUFza0JpQVJDNWdCQVFKL0lBQkJBVVlFZjBFQ0JTQUFJQUJCZjJweEJIOGdBQkRSQVFVZ0FBc0xJZ0JCb01RREtBSUFJZ0pMQkVBZ0FCQ3lBd1VnQUNBQ1NRUkFRYWpFQXlnQ0FMTkJyTVFES2dJQWxZMFFrZ0VoQVNBQ1FYOXFJQUp4UlNBQ1FRSkxjUVIvSUFGQkFVRWdJQUZCZjJwbmEzUWdBVUVDU1JzRklBRVEwUUVMSWdFZ0FDQUFJQUZKR3lJQUlBSkpCRUFnQUJDeUF3c0xDd3RQQVFGL0lBQkI4QU1RVVNJRE5nSUFJQUJCcE1RRE5nSUVJQU1nQWlnQ0FDZ0NBRFlDQ0NBRFFSQnFJZ0pCQUVIZ0F4QkZHaUFDRU9RR0lBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NGRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxYd0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFaUFFRUFSeUFCUVFKSmNRUi9JQUFnQVRZQ0ZFRUFCVUYvQzBVRVFDQUNJQUUyQWdCQkFFRUJRWnkyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJTU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ZkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0lBUVFCSElBRkJBa2x4Qkg4Z0FDQUJOZ0lNUVFBRlFYOExSUVJBSUFJZ0FUWUNBRUVBUVFGQnViWUNJQUlRUFFzTElBSWtCZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRN2dnZ0FpZ0NBQVZCZndzaEF5QUJKQVlnQXd0QkFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaWdDMkFFaUFBUi9JQUJCbUlldkEyb2dBVFlDQUVFQUJVRi9DeG9MSUFJa0JndDdBZ0ovQW53akJpRUJJd1pCRUdva0JpQUJRUWhxSWdJZ0FEWUNBQ0FDRUZNRWZDQUNFRklvQXRnQklnQUVmQ0FBQkg4Z0FTQUFRWkNIcndOcUt3TUFPUU1BUVFBRlFYOExSU0VBSUFFckF3QkVBQUFBQUFBQThMOGdBQnNGUkFBQUFBQUFBUEMvQ3dWRUFBQUFBQUFBOEw4TElRUWdBU1FHSUFRTEtnRUNmd0ovSXdZaEFTTUdRUkJxSkFaQjc2Z0NRUU5COUlZQlFkSzJBa0VCUVFFUUNTQUJDeVFHQzNFQ0FuOEJmQ01HSVFJakJrRVFhaVFHSUFKQkNHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpRUFJQUZEQUFBQUFGOGdBVU1BQUlBL1lISkZCRUFnQWJzaEJDQUFLQUxZQVNJQUJFQWdBQ0FFRU9vSVJRUkFJQUlnQkRrREFFRUFRUUZCMTdZQ0lBSVFQUXNMQ3dzZ0FpUUdDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NHRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFZ0FSQ0tBa1VFUUNBQ0lBRTJBZ0JCQUVFQlFmYTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlRTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RyQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTSVFBZ0FVSC9BVTBFUUNBQUtBTFlBU0lBUlNBQlFmOEJTM0lFZjBGL0JTQUFJQUUyQWhCQkFBdEZCRUFnQWlBQk5nSUFRUUJCQVVHWnR3SWdBaEE5Q3dzTElBSWtCZ3RKQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRL1FoRklRQWdBaWdDQUVGL0lBQWJCVUYvQ3lFRElBRWtCaUFEQzBvQkFuOGpCaUVDSXdaQkVHb2tCaUFDUVFScUlnTWdBRFlDQUNBREVGTUVRQ0FERUZJb0F0Z0JJQUVRK3dORkJFQWdBaUFCTmdJQVFRQkJBVUd6dHdJZ0FoQTlDd3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE4QUNCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUVBBQWdzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBN2dDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FPNEFnc2dBaVFHQ3lzQkFuOENmeU1HSVFFakJrRVFhaVFHUVoybkFrRUJRYUNIQVVIV3R3SkIwZ0JCQVJBSklBRUxKQVlMQ1FCQjBJVUJLQUlBQzVzRUFnSi9BWDRqQmlFVEl3WkJrT0FBYWlRR0lCTkJnT0FBYWlFVUlBSkJmbXBCQTBrRVFBSkFJQkJCamhaSEJFQWdBVUVDSUJCQi93RnhJaFFnRkVFRGJDQURJQVFnQlNBR0lBY2dDQ0FKSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBSUxJQk1nRkNBTklBNGdEeUFRSUJFUXFRY2hEU0FTUlEwQklCSkNBRGNEQUF3QkN5QUJRUUpCRGtFcUlBTWdCQ0FGSUFZZ0J5QUlSQUFBQUFBQUFPdy9JQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFFTElCTWdGQ0FPSUE4Z0VSRG1CaUlPUVFCSUJFQWdEVUYvTmdJQUlBNGhEUXdCQ3lBVUtRTUFJaFZDZjFFRVFDQU5RWDgyQWdCQmV5RU5EQUVMSUEwZ0ZhZEIvLzhCY1VFQUlCVkNnSUQrL3crRFVCczJBZ0FnRWdSQUlCSWdGVGNEQUFzZ0RpRU5Dd1ZCQVNFTkN3Si9Ba0FDUUNBQ0RnVUFBQUVBQUFFTElBQkZCRUFnQ2tGL05nSUFRWDhNQWdzZ0FDZ0NIQ0lPUVFKMElROENRQUpBSUFJT0JBQUJBUUFCQ3lBQlFRQWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQU1GSUFCQkFDQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUF3c0FDeUFCUVFFZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBSUZJQUJCQVNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQWdzQUMwRUJDeUVBSUExQkFVY0VRQ0FOSUFCQkFDQUFJQTF4UVFCSUd5QUFRUUZHR3lFQUN5QVRKQVlnQUFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHUnB3SkJBa0draHdGQjJiY0NRUzVCOGdBUUNTQUJDeVFHQ3dzQVFkQ0ZBU0FBTmdJQUN6a0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFVSGtocWNDYWlnQ0FBVkJBQXNoQWlBQkpBWWdBZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRZ0FrZ0FpZ0NBQVZCQUFzaEF5QUJKQVlnQXd0YkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0FCUVFCSElnQVEvUU1nQWtIZHR3SkI0YmNDSUFBYk5nSUFRUUJCQVVIbXR3SWdBaEE5QlVFQUlRRUxJQUlrQmlBQkMrRUZBZ3AvQVgwakJpRUNJd1pCMEFCcUpBWWdBa0U0YWlFSUlBSkJNR29oQ1NBQ1Fjd0FhaUVFSUFKQnhBQnFJUVVnQWtGQWF5RUhJQUpCeUFCcUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpSURLQUwwQVNBQlRBUkFRZkNHQVNnQ0FBd0JDeUFFUVFBMkFnQWdCVUYvTmdJQUlBZERBQUNBdnpnQ0FBSkFBa0FnQXlnQzhBRWlBRUYrUmdSQUlBTW9BdWdCSUFNb0Fzd0JFSmNKSUFNb0F1Z0JJZ0FFZnlBRUlBQW9BalEyQWdBZ0JTQUFLQUk0TmdJQVFRQUZRWDhMR2lBRktBSUFJUVlnQkNnQ0FDRUZRWDhoQUVFQUlRUURRQ0FFSUFaSUJFQWdBU0FFUWNRQWJDQUZhaWdDTUVZRVFDQUVRY1FBYkNBRmFpZ0NQRVVFUUFKQUlBY2dBRUYvUmdSL0lBUkJ4QUJzSUFWcUtBSTBCU0FIS2dJQUlBUkJ4QUJzSUFWcUtnSTBJZ3hlUlEwQklBeThDellDQUNBRUlRQUxDd3NnQkVFQmFpRUVEQUVMQ3lBQVFYOU1CRUFnQTBGK05nTHdBUXdDQ3lBRElBVW9BakFpQ2pZQzhBRkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUVRUVIwSUFKcUlBWkJBblJxSUFCQnhBQnNJQVZxSUFSQkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0JFRUJhaUVFREFFTEN5QURRZmdCYWlBS1FRSjBhaWdDQUNBQ0VLMEpJQU1vQXZBQklRQUxJQUJCZjB3TkFDQURLQUxzQVNBRFFmZ0JhaUFBUVFKMGFpZ0NBQ0FES0FMRUFTQUNJQWNRemdZaUFFRUFTQVJBSUFrZ0FEWUNBRUVBUVFGQi9MY0NJQWtRUFNBRFFYNDJBdkFCREFFTElBTW9BdlFCUVg5cUlRQWdDQ0FEUWZnQmFpQURLQUx3QVVFQ2RHb29BZ0EyQWdBZ0NDQUFOZ0lFUVFCQkFVR1B1QUlnQ0JBOUlBTW9BdkFCUVg5TURRQkJBeUFCSUFjcUFnQzdJQUlxQWdDN0lBSXFBZ1M3SUFJcUFnaTdJQUlxQWd5N0lBSXFBaEM3SUFJcUFoUzdJQUlxQWhpN0lBSXFBaHk3SUFJcUFpQzdJQUlxQWlTN0lBSXFBaWk3SUFJcUFpeTdFQ3NhREFFTFFRUWdBUkFzR2d0QkFBc0ZRZWlHQVNnQ0FBc2hDeUFDSkFZZ0N3dWFBZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEVDUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQW9BZ0FnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBQ2dDRUNBQUtBSVVJQUFvQWhnZ0FDc0RJQ0FBS3dNb0lBQXJBekFnQUNzRE9DQUFRVUJyS3dNQUlBQXJBMGdnQUNzRFVDQUFLd05ZSUFBckEyQWdBQ3NEYUNBQUt3TndJQUFyQTNnZ0FDc0RnQUVnQUNzRGlBRWdBQ3NEa0FFZ0FDc0RtQUVnQUNzRG9BRWdBQ3NEcUFFZ0FDc0RzQUVnQUNzRHVBRWdBQ3NEd0FFZ0FDc0R5QUVnQUNzRDBBRWdBQ3NEMkFFZ0FDc0Q0QUVnQUNnQzhBRVFLQnBCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRElBSWtCaUFEQzgwQkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0FuOGdBeEJTSWdRb0FzZ0NJUUFnQVVFQVNDQUVLQUxNQWlBQWEwRURkU0FCVFhJRVFFSHNoZ0VvQWdBTUFRc2dBa0VBU0NBQlFRTjBJQUJxS0FJRUlnQW9BZ1FnQWt4eUJIOUI4SVlCS0FJQUJTQUFLQUlBSWdBZ0FrSEFBbXhxUVJCcUVMUUNRUUVnQWtIQUFtd2dBR29vQXJBQ0lBSkJ3QUpzSUFCcUtBSUFJQUpCd0FKc0lBQnFLQUlFSUFKQndBSnNJQUJxS3dNSUVDb2FRUUFMQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQ3lnQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkVBZ0FSQlNHZ3NnQVNRR1FYOExPQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JRU3hxQlVIb2hnRUxLQUlBSVFJZ0FTUUdJQUlMb0FVQkNYOUJDRUVJRUlzQklRZEJDRUVCRUlzQklRaEJDRUVCRUlzQklRa0RRQ0FGUVFSSEJFQWdCeWdDQUNJRUlBVkJCSFFpQTBFRGRHb2dCVUVFZENBQWFpSUdLd01BT1FNQUlBTkJBWEpCQTNRZ0JHb2dCVUVFZENBQWFpSUtLd01JT1FNQUlBTkJBbkpCQTNRZ0JHcEVBQUFBQUFBQThEODVBd0FnQTBFRGNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUVJ5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkJYSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVHY2tFRGRDQUVhaUFHS3dNQUlBVkJCSFFnQVdvaUN5c0RBS0thT1FNQUlBTkJCM0pCQTNRZ0JHb2dDaXNEQ0NBTEt3TUFvcG81QXdBZ0EwRUlja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFseVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJDbkpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFTGNrRURkQ0FFYWlBR0t3TUFPUU1BSUFOQkRISkJBM1FnQkdvZ0Npc0RDRGtEQUNBRFFRMXlRUU4wSUFScVJBQUFBQUFBQVBBL09RTUFJQU5CRG5KQkEzUWdCR29nQmlzREFDQUZRUVIwSUFGcUlnWXJBd2lpbWprREFDQURRUTl5UVFOMElBUnFJQW9yQXdnZ0Jpc0RDS0thT1FNQUlBZ29BZ0FpQkNBRlFRRjBJZ05CQTNScUlBc3JBd0E1QXdBZ0EwRUJja0VEZENBRWFpQUdLd01JT1FNQUlBVkJBV29oQlF3QkN3c2dCeERXQVJvZ0NTQUhJQWdRclFJYUlBa29BZ0FoQVVFQUlRQURRQ0FBUVFKSEJFQWdBRUVZYkNBQ2FpQUFRUU5zSWdOQkEzUWdBV29yQXdBNUF3QWdBRUVZYkNBQ2FpQURRUUZxUVFOMElBRnFLd01BT1FNSUlBQkJHR3dnQW1vZ0EwRUNha0VEZENBQmFpc0RBRGtERUNBQVFRRnFJUUFNQVFzTElBSWdBU3NETURrRE1DQUNJQUVyQXpnNUF6Z2dBa0ZBYTBRQUFBQUFBQUR3UHprREFDQUhFRWtnQ0JCSklBa1FTUXZTRXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUhJUXdnQVNBQ1FYOXFJaEJzUVFGMElBZHFJUVlEUUNBRklBRklCRUFnQmtFQU93RUFJQXhCQURzQkFDQU1RUUpxSVF3Z0JVRUJhaUVGSUFaQkFtb2hCZ3dCQ3d0QkFDRU1JQWNpQmlBQlFYOXFJaEZCQVhScUlRVURRQ0FNSUFKSUJFQWdCVUVBT3dFQUlBWkJBRHNCQUNBQlFRRjBJQVpxSVFZZ0RFRUJhaUVNSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUdRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlReEJBU0VLUVFBaEJTQUFRUUYwSUFkcUlRTUNmd0pBQTBBQ1FDQUtJQkJPRFFJZ0JTRUFRUUVoQ0NBRElRc0RRQ0FJSUJGSUJFQWdEUzBBQUNBTUxRQUFTZ1JBSUF0QkFEc0JBQVVDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEN5QU5RUUZxSVEwZ0RFRUJhaUVNSUFoQkFXb2hDQ0FMUVFKcUlRc01BUXNMSUExQkFtb2hEU0FNUVFKcUlRd2dDa0VCYWlFS0lBQWhCU0FMUVFScUlRTU1BUXNMUVFCQkEwR29wUUVnRGhBOVFYOE1BUXNnQkVFTWFpRU5RUUVoQUVFQklRY0RRQ0FISUFWTUJFQWdCeUFHS0FJQUlneEdCRUFnQUVFQmFpRURCU0FBSVFNZ0RFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUdJQUEyQWdBZ0F5RUFJQWRCQVdvaEJ5QUdRUVJxSVFZTUFRc0xJQVFnQUVGL2FpSUdOZ0lJSUFZRWZ5QU5RUUFnQmtFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FHUVFSMEVFVWFRUUFoQXdOQUlBTWdCa2dFUUNBRVFZeUFDR29nQTBFQ2RDSUFRUUowYWlBQk5nSUFJQVJCaklBSWFpQUFRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFBUVFKeVFRSjBhaUFDTmdJQUlBUkJqSUFJYWlBQVFRTnlRUUowYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFEUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlBSUFSQmtJRFFBR29nQTBFSGJDSUdRUUowYWlnQ0FDQUFLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHY2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2tnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dBMEVCYWlFRERBRUxDeUFFS0FJSUlRSkJBQ0VEQTM4Z0F5QUNTQVIvSUFSQmtJQW9haUFEUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FFUVF4cUlBTkJBblJxS0FJQXR5SVVvemtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQlNqT1FNQUlBTkJBV29oQXd3QkJVRUFDd3NGUVFBTEN5RVRJQTRrQmlBVEM0TUJBUU4vSXdZaEFTTUdRVEJxSkFZZ0FVRW9haUlDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJUUFnQVVJQU53TUFJQUZDQURjRENDQUJRZ0EzQXhBZ0FVSUFOd01ZSUFGQ0FEY0RJQ0FCSUFBb0FzUUJOZ0lBSUFGQkFUWUNFQ0FCSUFBb0Fzd0JOZ0lNSUFBb0F0Z0JJQUVRMXdnRlFlaUdBU2dDQUFzaEF5QUJKQVlnQXd1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQkVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXVMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVBRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdHRBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9JQU1RVWlJRUtBTFlBU0lBS0FJc0lBRktCSDhnQkNnQzVBRkI2THdESUFCQk1Hb2dBVUVJZEdvZ0FVRUFTQnNnQXJjUW1RaEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDM0lCQTM4akJpRURJd1pCRUdva0JpQURJQUEyQWdBZ0F4QlRCSDhnQXhCU0lnUW9BdGdCSWdBb0Fpd2dBVW9FZnlBRUtBTGtBVUhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ3QwR0FwQU1RMmdNYVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCU0FESkFZZ0JRdVFBZ0lDZndoOEl3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpZ0MyQUVpQUNnQ0xDQUJTZ1IvUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQkJnS1FES3dNQUlnUTVBNmdCSUFCQmlLUURLd01BSWdVNUE3QUJJQUJCa0tRREt3TUFJZ1k1QTdnQklBQkJtS1FES3dNQUlnYzVBOEFCSUFCQm9LUURLd01BSWdnNUE4Z0JJQUJCcUtRREt3TUFJZ2s1QTlBQklBQkJzS1FES3dNQUlnbzVBOWdCSUFCQnVLUURLd01BSWdzNUErQUJJQUFnQkNBR29DQUlvQ0FLb0VRQUFBQUFBQURRUDZJNUF6Z2dBRUZBYXlBRklBZWdJQW1nSUF1Z1JBQUFBQUFBQU5BL29qa0RBRUVBQlVId2hnRW9BZ0FMQlVIb2hnRW9BZ0FMSVFNZ0FpUUdJQU1MWkFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQURZQ0FDQURFRk1FZnlBREVGSW9BdGdCSWdBb0Fpd2dBVW9FZjBIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUNOZ0lRUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJDQURKQVlnQkFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHRHBRSkJBa0dzaHdGQm1NOENRUjlCeGdBUUNTQUJDeVFHQzVvQkFRUi9Jd1loQVNNR1FkQUJhaVFHSUFGQndBRnFJUU1nQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSUFFZ0FVRzRBV29pQWhESUMwRUFTQVIvSUFBc0FBdEJBRWdFUUNBQUtBSUFJUUFMSUFNZ0FEWUNBRUVBUVFOQmdkQUNJQU1RUFVGL0JVSEV4QU5CeE1RREtBSUFJZ0JCQVdvMkFnQWdBaUFBTmdJQUlBSVFyQU1nQVVHNEFSQk1HaUFDS0FJQUN5RUVJQUVrQmlBRUN6d0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdBb0Fzd0NJQUFvQXNnQ2EwRURkUVZCZndzaEFpQUJKQVlnQWd0aUFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVBSUFGQkFFZ0VmMEYvQlNBQUtBTE1BaUFBS0FMSUFpSUFhMEVEZFNBQlN3Ui9JQUZCQTNRZ0FHb29BZ1FvQWdRRlFYOExDd1ZCZndzaEF5QUNKQVlnQXd0M0FRSi9Jd1loQXlNR1FSQnFKQVlnQTBFRWFpSUNJQUEyQWdBZ0FoQlRCRUFnQWhCU0lnSW9BdlFCSVFBZ0FTd0FDMEVBU0FSQUlBRW9BZ0FoQVFzZ0FpQUFJQUVRM0FZRVFDQUNJQUlvQXZRQlFRRnFOZ0wwQVFWQkFFRURRY0hRQWlBREVEMUJmeUVBQ3dWQmZ5RUFDeUFESkFZZ0FBdlVBUUVFZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQkNBQ1FReHFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUVBSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FDZ0MyQUVnQUVIY0FXb2dBRUhnQVdvaUF4RGJCa1VFUUVFQVFRTkIvTklDSUFRUVBVRi9EQUVMSUFJZ0FDZ0N6QUlpQVNBQVFjZ0NhaUlFS0FJQWEwRURkVFlDQUNBQ0lBTW9BZ0EyQWdRZ0FTQUFLQUxRQWtZRVFDQUVJQUlRbGdFRklBRWdBaWtEQURjQ0FDQUFJQUFvQXN3Q1FRaHFOZ0xNQWdzZ0FpZ0NBQXNGUVg4TElRVWdBaVFHSUFVTGJ3RURmeU1HSVFNakJrRVFhaVFHSUFOQkJHb2lBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUNJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQWtIVUFtb2lBQ0FDUWR3QmFoRFpCZ1IvSUFBb0FnQUZRUUJCQTBISTB3SWdBeEE5UVg4TEJVRi9DeUVFSUFNa0JpQUVDNWNDQVFSL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdFb0FzQUJJQUVvQXRnREVORUdJUUFnQVNBQU5nTHNBU0FBQkVBZ0FVSG9BV29oQXdWQkFFRURRYUxVQWlBQ0VEMGdBVUhvQVdvaUF4Q2tDU0FCS0FMc0FTRUFDeUFBQkg4Z0FFTUFBS0JBT0FJc1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFTUFBQUEvT0FJb1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRVFOZ0lrUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSVlRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJY1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lnUVFBRlFYOExHaUFESUFFb0FzQUJFSUFFTmdJQVFRQUZRWDhMSVFRZ0FpUUdJQVFMdGdFQkJYOGpCaUVDSXdaQkVHb2tCaUFDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJZ0FvQXNRQklnRUVRQ0FCRURnZ0FFRUFOZ0xFQVNBQVFRQTJBc2dCQ3lBQUVLa0RJQUFvQXR3QkVMZ0NJQUlRMXdZZ0FFSElBbW9oQTBFQUlRRURRQ0FCSUFBb0Fzd0NJQU1vQWdBaUJHdEJBM1ZKQkVBZ0FVRURkQ0FFYWlnQ0JDSUVLQUlBRURnZ0JCQTRJQUZCQVdvaEFRd0JDd3NnQXhCVklBTVFPQ0FBRUxNRElBQVFPRUVBQlVGL0N5RUZJQUlrQmlBRkMrNEJBUVIvSXdZaEJDTUdRUkJxSkFaQnlNUURRY2pFQXlnQ0FDSURRUUZxTmdJQUlBUkJER29pQlNBRE5nSUFJQVVRVWlJRElBVW9BZ0EyQWdBZ0F5QUFOZ0xRQVNBRElBRTJBdFFCSUFNZ0FTQUFRUUowYkNJQU5nTElBU0FESUFBUVJEWUN4QUVnQXlBREtBTElBVUVFRURrUVJEWUN6QUVnQXhDM0J5SUFOZ0xjQVNBQVJRUkFRUUJCQTBIQjFBSWdCQkE5Q3lBRktBSUFJQUlRMHdZZ0JFRUlhaUlBSUFNb0FzZ0JOZ0lBUVFCQkFVSG0xQUlnQUJBOVFRQWdBeWdDQUNBREtBTEVBU0FES0FMSUFTQURRZGdDYWtHQXBBTWdBeWdDekFFUUtSb2dBeWdDQUNFR0lBUWtCaUFHQzRjSkFRRi9Jd1loQUNNR1FSQnFKQVpCbktRQ1FSb1EzQUZCb3FRQ1FjTUFFSVFCUWF1a0FrSEVBQkNFQVVHMHBBSkJGQkMyQWtHL3BBSkJGUkMyQWtIUHBBSkJGaEMyQWtIZHBBSkJGeEMyQVVIdnBBSkJ4UUFRaEFFUWtnZEJqNlVDUVJzUTNBRkJvS1VDUVJnUXRnRkJ0S1VDUVJ3UTNBRkJ4cVVDUVIwUTNBRkIzS1VDUVJrUXRnRkI4NlVDUVJvUXRnRkJrS1lDUWNjQUVJUUJRWjJtQWtISUFCQ0VBVUdxcGdKQnlRQVFoQUZCdXFZQ1FSNFEzQUZCemFZQ1FSc1F0Z0ZCMTZZQ1FSd1F0Z0ZCNUtZQ1FSMFF0Z0ZCOGFZQ1Fjb0FFSVFCUWY2bUFrSExBQkNFQVJEL0JoRDhCa0dwcHdKQkFSQzBBMEhBcHdKQkFSQzFBa0hYcHdKQkFoQzBBMEh0cHdKQkFoQzFBa0dEcUFKQktCREFBVUdVcUFKQnpBQVFoQUZCcGFnQ1FTa1F3QUZCc3FnQ1FjMEFFSVFCUWIrb0FrRXFFTUFCUWRlb0FrSE9BQkNFQVJEd0JrSDhxQUpCQXhDMUFrR0pxUUpCS3hEQUFVR2JxUUpCendBUWhBRkJyYWtDUVN3UXdBRkJ2YWtDUWRBQUVJUUJRYzJwQWtFdEVNQUJRZDZwQWtIUkFCQ0VBVUh2cVFKQjZJWUJFRXRCaktvQ1FleUdBUkJMUWFpcUFrSHdoZ0VRU3lBQVFRQTJBZ0JCeWFvQ0lBQVFTeUFBUVFFMkFnQkIycW9DSUFBUVN5QUFRUUEyQWdCQjZxb0NJQUFRU3lBQVFRQTJBZ0JCZ0tzQ0lBQVFTeUFBUVFFMkFnQkJtYXNDSUFBUVN5QUFRUUUyQWdCQnNxc0NJQUFRU3lBQVFlUUFOZ0lBUWN1ckFpQUFFRXNnQUVFQU5nSUFRZWFyQWlBQUVFc2dBRUVCTmdJQVFZQ3NBaUFBRUVzZ0FFRUFOZ0lBUVpxc0FpQUFFRXNnQUVFQU5nSUFRYldzQWlBQUVFc2dBRUVCTmdJQVFkQ3NBaUFBRUVzZ0FFRUNOZ0lBUWVxc0FpQUFFRXNnQUVFRE5nSUFRWU90QWlBQUVFc2dBRUVFTmdJQVFhbXRBaUFBRUVzZ0FFRUFOZ0lBUWM2dEFpQUFFRXNnQUVFQU5nSUFRZkN0QWlBQUVFc2dBRUVCTmdJQVFZaXVBaUFBRUVzZ0FFRUNOZ0lBUWFLdUFpQUFFRXNnQUVFQ05nSUFRYjJ1QWlBQUVFc2dBRUVGTmdJQVFkK3VBaUFBRUVzZ0FFUUFBQUFBQUFEZ1B6a0RBRUh4cmdKQm1Qa0FJQUFyQXdBUUZ5QUFRUUEyQWdCQmhxOENJQUFRU3lBQVFRRTJBZ0JCbWE4Q0lBQVFTeUFBUVFJMkFnQkJxNjhDSUFBUVN5QUFRUU0yQWdCQnZhOENJQUFRU3lBQVFRUTJBZ0JCMEs4Q0lBQVFTeUFBUVFNMkFnQkI1cThDSUFBUVN5QUFRWU1FTmdJQVFmbXZBaUFBRUVzZ0FFR0RBallDQUVHV3NBSWdBQkJMSUFCQkJEWUNBRUd5c0FJZ0FCQkxJQUJCaEFZMkFnQkJ4YkFDSUFBUVN5QUFRWVFJTmdJQVFlT3dBaUFBRUVzZ0FFRUFOZ0lBUVlHeEFpQUFFRXNnQUVFQk5nSUFRYUN4QWlBQUVFc2dBRUVDTmdJQVFjU3hBaUFBRUVzZ0FFRUROZ0lBUWVheEFpQUFFRXNnQUVFQU5nSUFRWXl5QWlBQUVFc2dBRUVCTmdJQVFhMnlBaUFBRUVzZ0FFRUNOZ0lBUWR5eUFpQUFFRXNnQUVFRE5nSUFRWWF6QWlBQUVFc2dBRUVFTmdJQVFiR3pBaUFBRUVzZ0FFRUZOZ0lBUWVXekFpQUFFRXNnQUVFR05nSUFRWmkwQWlBQUVFc2dBRUVITmdJQVFjVzBBaUFBRUVzZ0FFRUlOZ0lBUWV5MEFpQUFFRXNnQUVFSk5nSUFRWm0xQWlBQUVFc2dBQ1FHQzBNQVFaekVBMElBTndJQVFhVEVBMElBTndJQVFhekVBMEdBZ0lEOEF6WUNBRUd3eEFOQ0FEY0NBRUc0eEFOQ0FEY0NBRUhBeEFOQmdJQ0EvQU0yQWdBUW5BY0xxQUlDQkg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUFyQXdBaUJVUUFBQUFBQUFBQUFHWkZCRUFnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEIwQUFRUGtIMm9nSVFOMEg1b2dJUU55SUVLQUlBUVhScUtBSUFJQVJxRURzZ0FVR0F6Z01RT2lJQ0tBSUFLQUljSVFNZ0FrRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0FSQThJQVFnQXhCQUlBUVFQeEFBQ3lBQUt3TUlJZ1pFQUFBQUFBQUFBQUJtQkVBZ0FTUUdJQVlnQmFFUEJTQUJRY0RJQTBHVW93SVFOMEg5b1FJUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FicWpBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FCRUR3Z0FpQUFFRUFnQWhBL0VBQUxSQUFBQUFBQUFBQUFDN1lCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ3NEQUVRQUFBQUFBQUFBQUdZRVFDQUJRUUFRRkJvZ0FDQUJLQUlFdDBTTjdiV2c5OGF3UHFJZ0FTZ0NBTGVnT1FNSUlBRWtCZ1VnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEJ3d0FRUGtIMm9nSVFOMEg1b2dJUU55SUNLQUlBUVhScUtBSUFJQUpxRURzZ0FVR0F6Z01RT2lJREtBSUFLQUljSVFBZ0EwRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FSQThJQUlnQUJCQUlBSVFQeEFBQ3dzMkFRRi9Jd1loQVNNR1FSQnFKQVlnQVVFQUVCUWFJQUFnQVNnQ0JMZEVqZTIxb1BmR3NENmlJQUVvQWdDM29Ea0RBQ0FCSkFZTFJ3RUJmeU1HSVFNakJrR0FFR29rQmlBRFFZQVFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd5QUNFS2tCR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQXlBREVHQVFmaUFESkFZTFRRRURmd05BSUFJZ0FDZ0NCQ0FBS0FJQUlnTnJRUU4xU1FSQUlBSkJBM1FnQTJvb0FnQWlBeWdDQUNnQ0NDRUVJQU5CQ0NBQklBUkJBM0ZCOWdWcUVRWUFJQUpCQVdvaEFnd0JDd3NMRkFBZ0FFRU1ha0VBSUFFb0FnUkI5NkFDUmhzTENBQWdBQ2dDREJvTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUWRTR0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N4UUFJQUJCREdwQkFDQUJLQUlFUWYyZkFrWWJDd2tBSUFBb0Fnd1FPQXRSQVFKL0l3WWhBeU1HUVJCcUpBWWdBQ0FCTmdJQVFSQVFVU0lDUVFBMkFnUWdBa0VBTmdJSUlBSkJ1SVlCTmdJQUlBSWdBVFlDRENBQUlBSTJBZ1FnQXlBQk5nSUFJQU1nQVRZQ0JDQURKQVlMbFJJQ0MzOEJmaU1HSVF3akJrRWdhaVFHSUF4QkdHb2hDQ0FNUVJCcUlRNGdBVUY5YWtFRlN3Ui9JQUpCZnpZQ0FDQURRUUEyQWdBZ0JFUUFBQUFBQUFEd3Z6a0RBRUYvQlFKL0lBeEJBRFlDQUNBTUlBRWdBVUYvYWlJTGJEWUNCQ0FNSUFFZ0FXd2lEMEYvYWpZQ0NDQU1JQXMyQWd4QmZ5RUpBMEFnQjBFRVJ3UkFJQUFnQjBFQ2RDQU1haWdDQUdvc0FBQWhEU0FIUVFGcUlRY2dEU0FLSUExQi93RnhJQXBCL3dGeFNoc2hDaUFOSUFrZ0RVSC9BWEVnQ1VIL0FYRklHeUVKREFFTEN5QUtRZjhCY1NJSElBbEIvd0Z4SWdwclFSNUlCRUFnQWtGL05nSUFJQU5CQURZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVg0TUFRc2dCeUFLYWtFQmRpRUpRUUFoQndOQUlBZEJCRWNFUUNBSElBaHFJQWtnQUNBSFFRSjBJQXhxS0FJQWFpMEFBRXM2QUFBZ0IwRUJhaUVIREFFTEMwRUFJUWNDUUFKQUEwQUNRQ0FIUVFSUERRSWdCMEVCYWlFS0lBY2dDR29zQUFCQkFVWUVRQ0FLUVFOeElBaHFMQUFBUVFGR0JFQWdCMEVDYWtFRGNTQUlhaXdBQUVVTkFnc0xJQW9oQnd3QkN3c2dBeUFITmdJQURBRUxJQWRCQkVZRVFDQUNRWDgyQWdBZ0EwRUFOZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmUXdDQ3d0Qi93RWhDa0VBSVFjRFFDQUhJQTlIQkVCQkFDQUFJQWRxSWcwdEFBQWlFQ0FKYXlJSWF5QUlJQWhCQUVnYklRZ2dEU0FKSUJCTE9nQUFJQWdnQ2lBSUlBcElHeUVLSUFkQkFXb2hCd3dCQ3dzQ1FBSkFBa0FDUUFKQUlBTW9BZ0FpQXc0RUFBRUNBd1FMQTBBZ0F5QUJTQVJBSUFNZ0MwWWhDQ0FCSUFOc0lRbEJBQ0VIQTBBZ0FTQUhSd1JBSUFNZ0IzSUVRQ0FJSUFkRklBY2dDMFp5Y1VVRVFDQUFJQWNnQ1dwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0IwRUJhaUVIREFFTEN5QURRUUZxSVFNTUFRVU1CUXNBQUFzQUMwRUFJUWNEUUNBSElBRklCRUFnQjBVaENDQUhJQXRHSVFrZ0N5RURBMEFnQTBGL1NnUkFJQWdnQXlBTFJpSU5jVVVFUUNBSklBMGdBMFZ5Y1VVRVFDQUFJQWNnQVNBRGJHcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dBMEYvYWlFRERBRUxDeUFIUVFGcUlRY01BUVVNQkFzQUFBc0FDeUFMSVFNRFFDQURRWDlLQkVBZ0EwVWdBeUFMUm5JaENDQUJJQU5zSVFrZ0N5RUhBMEFnQjBGL1NnUkFJQU1nQjNKRklBY2dDMFlnQ0hGeVJRUkFJQUFnQnlBSmFtb3NBQUJCQUVldElCSkNBWWFFSVJJTElBZEJmMm9oQnd3QkN3c2dBMEYvYWlFRERBRUZEQU1MQUFBTEFBc2dDeUVEQTBBZ0EwRi9TZ1JBSUFNZ0MwWWhDQ0FEUlNFSlFRQWhCd05BSUFjZ0FVZ0VRQ0FKSUFjZ0MwWnhJQU1nQjNKRklBZ2dCMFZ4Y25KRkJFQWdBQ0FESUFFZ0IyeHFhaXdBQUVFQVI2MGdFa0lCaG9RaEVnc2dCMEVCYWlFSERBRUxDeUFEUVg5cUlRTU1BUXNMQ3lBRVJBQUFBQUFBQVBBL0lBcTNSQUFBQUFBQUFENUFveUFLUVI1S0d6a0RBQUpBQWtBQ1FBSkFBa0FnQlVHREFtc09nd2dBQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFRTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFnSURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdzZ0RpQVNwMEhnQ1dvc0FBQWlBS3czQXdBZ0FFRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CUXNNQXdzZ0RpQVNweUlBUWVBSWFpd0FBQ0lCckRjREFDQUdCRUFnQmlBQVFhQUphaTBBQURZQ0FBc2dBVUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQkFzTUFnc2dCU0FTUVFBZ0RoQzFBeUlBUVFCSUJFQWdBa0YvTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZkF3REN5QUFRUUJISUFaQkFFZHhCRUFnQmlBQU5nSUFDd3dCQ3lBT0lCSTNBd0FMSUFJZ0Rpa0RBRDRDQUVFQUN3c2hFU0FNSkFZZ0VRc2xBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUNBQkVLc0hDNjhCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ0FCS0FJQU5nSUFJQUFnQVNnQ0JEWUNCQ0FBSUFFb0FnZzJBZ2dnQUNBQktBSU1OZ0lNSUFBZ0FTZ0NFRFlDRUNBQUlBRW9BaFEyQWhRZ0FpQUJLQUlZSWdRMkFnQWdBa0VFYWlJRElBRW9BaHdpQVRZQ0FDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ0FGUVFBTElRRWdBaUFBS0FJWU5nSUFJQUFnQkRZQ0dDQURJQUFvQWh3MkFnQWdBQ0FCTmdJY0lBSVFsUUVnQWlRR0N6QUJBWDhnQUNnQ0NDRURBMEFnQXlBQ0xBQUFPZ0FBSUFBZ0FDZ0NDRUVCYWlJRE5nSUlJQUZCZjJvaUFRMEFDd3U1QVFFRmZ5TUdJUVFqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYXlBQlNRUkFRZi8vLy84SElBRWdBeUFBS0FJQWEyb2lBMGtFUUJBQUJTQUVJQU1nQUNnQ0NDQUFLQUlBSWdWcklnWkJBWFFpQnlBSElBTkpHMEgvLy8vL0J5QUdRZi8vLy84RFNSc2dBQ2dDQkNBRmF5QUFRUWhxRU5nQ0lBUWdBU0FDRUt3SElBQWdCQkRYQWlBRUVOWUNDd1VEUUNBRElBSXNBQUE2QUFBZ0FDQUFLQUlFUVFGcUlnTTJBZ1FnQVVGL2FpSUJEUUFMQ3lBRUpBWUxPQUVDZnlBQUtBSUVJQUFvQWdBaUJHc2lBeUFCU1FSQUlBQWdBU0FEYXlBQ0VLMEhCU0FESUFGTEJFQWdBQ0FCSUFScU5nSUVDd3NMSWdBZ0FDQUJJQUFvQWdSQmZtcXpFT01CSUFJZ0FDZ0NDRUYrYXJNUTR3RVFUUXRoQVFGOUlBTVE5Z0lnQkpRaEJTQURFUFVDSUFTVUlRTWdBQ0FGT0FJQUlBQWdBNHc0QWdRZ0FDQUJPQUlJSUFBZ0F6Z0NEQ0FBSUFVNEFoQWdBQ0FDT0FJVUlBQkRBQUFBQURnQ0dDQUFRd0FBQUFBNEFod2dBRU1BQUlBL09BSWdDeUlBSUFGQkNCQTVJQUJxSWdBZ0FDMEFBQ0FDUWY4QmNTQUJRUWR4ZEhJNkFBQUxpd0VCQ0g4Z0FFSFVBQkRaQTBFa0lRVkJJeUVHUVNRaEJ3TkFJQUpCSlVjRVFDQUNRUUowSUFGcUlRa2dBa0VCYWlJQ0lRZ2dCQ0VEQTBBZ0F5QUhSd1JBSUFBZ0F5QUpLZ0lBSUFoQkFuUWdBV29xQWdCZEVMRUhJQWhCQVdvaENDQURRUUZxSVFNTUFRc0xJQVlnQjJvaEJ5QUVJQVZxSVFRZ0JVRi9haUVGSUFaQmYyb2hCZ3dCQ3dzTHFBNENJSDhDZlNNR0lSSWpCa0hRQW1va0JpQVNRYUFDYWlJUklBSXFBZ0FnQWlvQ0JDQUNLZ0lJUXdBQWdEOGdBaW9DRENBUWxDSVFJQkJEQUFDQVAxMGJJakVRc0FjZ0VTb0NDQ0V5SUJFcUFoUWhFQ0FTUWZBQmFpSVRJQkVnQXhCYklCTkJDR29pR0NBUklBTkJDR29RV3lBVFFSQnFJaGtnRVNBRFFSQnFFRnNnRTBFWWFpSWFJQkVnQTBFWWFoQmJJQk5CSUdvaUd5QVJJQU5CSUdvUVd5QVRRU2hxSWh3Z0VTQURRU2hxRUZzZ0VrSEFBV29pRkNBUklBUVFXeUFVUVFocUloMGdFU0FFUVFocUVGc2dGRUVRYWlJZUlCRWdCRUVRYWhCYklCUkJHR29pSHlBUklBUkJHR29RV3lBVVFTQnFJaUFnRVNBRVFTQnFFRnNnRkVFb2FpSWhJQkVnQkVFb2FoQmJJQkpCa0FGcUloVWdFU0FGRUZzZ0ZVRUlhaUlpSUJFZ0JVRUlhaEJiSUJWQkVHb2lJeUFSSUFWQkVHb1FXeUFWUVJocUlpUWdFU0FGUVJocUVGc2dGVUVnYWlJbElCRWdCVUVnYWhCYklCVkJLR29pSmlBUklBVkJLR29RV3lBU1FlQUFhaUlXSUJFZ0JoQmJJQlpCQ0dvaUp5QVJJQVpCQ0dvUVd5QVdRUkJxSWlnZ0VTQUdRUkJxRUZzZ0ZrRVlhaUlwSUJFZ0JrRVlhaEJiSUJaQklHb2lLaUFSSUFaQklHb1FXeUFXUVNocUlpc2dFU0FHUVNocUVGc2dFa0V3YWlJWElCRWdCeEJiSUJkQkNHb2lMQ0FSSUFkQkNHb1FXeUFYUVJCcUlpMGdFU0FIUVJCcUVGc2dGMEVZYWlJdUlCRWdCMEVZYWhCYklCZEJJR29pTHlBUklBZEJJR29RV3lBWFFTaHFJakFnRVNBSFFTaHFFRnNnRWlBUklBZ1FXeUFTUVFocUlnWWdFU0FJUVFocUVGc2dFa0VRYWlJRklCRWdDRUVRYWhCYklCSkJHR29pQkNBUklBaEJHR29RV3lBU1FTQnFJZ01nRVNBSVFTQnFFRnNnRWtFb2FpSUNJQkVnQ0VFb2FoQmJJQUVnRWtISUFtb2lDQ0FTUWNRQ2FpSUhJREVnRDVRUXR3RWdBQ0FCSUJJcUFnQWdFaW9DQkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0Jpb0NBQ0FTS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUlFSUFBZ0FTQUZLZ0lBSUJJcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWdnZ0FDQUJJQVFxQWdBZ0Vpb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ0RDQUFJQUVnQXlvQ0FDQVNLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSVFJQUFnQVNBQ0tnSUFJQklxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBaFFnQVNBSUlBY2dNU0FPbEJDM0FTQUFJQUVnRnlvQ0FDQVhLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSVlJQUFnQVNBc0tnSUFJQmNxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBaHdnQUNBQklDMHFBZ0FnRnlvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDSUNBQUlBRWdMaW9DQUNBWEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FJa0lBQWdBU0F2S2dJQUlCY3FBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFpZ2dBQ0FCSURBcUFnQWdGeW9DTENBSUtBSUFJQWNvQWdBUVdUZ0NMQ0FCSUFnZ0J5QXhJQTJVRUxjQklBQWdBU0FXS2dJQUlCWXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFqQWdBQ0FCSUNjcUFnQWdGaW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NOQ0FBSUFFZ0tDb0NBQ0FXS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUk0SUFBZ0FTQXBLZ0lBSUJZcUFod2dDQ2dDQUNBSEtBSUFFRms0QWp3Z0FFRkFheUFCSUNvcUFnQWdGaW9DSkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0t5b0NBQ0FXS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUpFSUFFZ0NDQUhJREVnREpRUXR3RWdBQ0FCSUJVcUFnQWdGU29DQkNBSUtBSUFJQWNvQWdBUVdUZ0NTQ0FBSUFFZ0lpb0NBQ0FWS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUpNSUFBZ0FTQWpLZ0lBSUJVcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWxBZ0FDQUJJQ1FxQWdBZ0ZTb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ1ZDQUFJQUVnSlNvQ0FDQVZLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSllJQUFnQVNBbUtnSUFJQlVxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBbHdnQVNBSUlBY2dNU0FMbEJDM0FTQUFJQUVnRkNvQ0FDQVVLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSmdJQUFnQVNBZEtnSUFJQlFxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBbVFnQUNBQklCNHFBZ0FnRkNvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDYUNBQUlBRWdIeW9DQUNBVUtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FKc0lBQWdBU0FnS2dJQUlCUXFBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFuQWdBQ0FCSUNFcUFnQWdGQ29DTENBSUtBSUFJQWNvQWdBUVdUZ0NkQ0FCSUFnZ0J5QXhJQXFVRUxjQklBQWdBU0FUS2dJQUlCTXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFuZ2dBQ0FCSUJncUFnQWdFeW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NmQ0FBSUFFZ0dTb0NBQ0FUS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUtBQVNBQUlBRWdHaW9DQUNBVEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FLRUFTQUFJQUVnR3lvQ0FDQVRLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BS0lBU0FBSUFFZ0hDb0NBQ0FUS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUtNQVNBQklBZ2dCeUF4SUFtVUVMY0JJQUFnQVNBeUlCQWdDQ2dDQUNBSEtBSUFFRms0QXBBQklCSWtCa0VCQzB3QkFuOGpCaUVSSXdaQm9BRnFKQVlnRVNBQklBSWdBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTE1IQkg4Z0FDQVJFTElIUVFFRlFRQUxJUklnRVNRR0lCSUx0Z1FCQm44akJpRVRJd1pCRUdva0JpQUJSUVJBSUJOQndNZ0RRY2VXQWhBM1FlYVdBaEEzUWUraUFoQTNRWmtFRUQ1QjlxSUNFRGRCMUpjQ0VEY2lFU0FSS0FJQVFYUnFLQUlBYWhBN0lCTkJnTTRERURvaUVpZ0NBQ2dDSENFVUlCSkJDaUFVUVQ5eFFZb0JhaEVDQUNFU0lCTVFQQ0FSSUJJUVFDQVJFRDhRQUFzZ0FCQnhJQUlvQWdRaUZDQUNLQUlBSWhWclFSUVFPVWNFUUNBVFFjRElBMEhrbHdJUU4wSG1sZ0lRTjBIdm9nSVFOMEdhQkJBK1FmYWlBaEEzUVptWUFoQTNJaEVnRVNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNkloSW9BZ0FvQWh3aEZpQVNRUW9nRmtFL2NVR0tBV29SQWdBaEVpQVRFRHdnRVNBU0VFQWdFUkEvRUFBTFFRQWhFa0VBSVJFRFFDQVNJQlFnRld0QkZCQTVJaFJKQkVBZ0FDZ0NCQ0FSSUFBb0FnQnNhaUFCSUFJb0FnQWdFa0VVYkdvZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMUUhCRUFnQUNnQ0VDQVJRUlJzYWlJVUlBSW9BZ0FnRWtFVWJHb2lGU2tDQURjQ0FDQVVJQlVwQWdnM0FnZ2dGQ0FWTEFBUU9nQVFJQkZCQVdvaEVRc2dFa0VCYWlFU0lBSW9BZ1FoRkNBQ0tBSUFJUlVNQVFzTElCRWdGRVlFUUNBQUlCRVF2QU1nRXlRR0JTQVRRY0RJQTBHK21BSVFOMEhtbGdJUU4wSHZvZ0lRTjBIcEJCQStRZmFpQWhBM1FmR1lBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FURUR3Z0FDQUJFRUFnQUJBL0VBQUxDM01BSUFFUTBnTWdBU0FES0FJRUlBTW9BZ0JyUVJRUU9SQzhBeUFCSUFJZ0F5QUFJQUJCTUdvZ0FFSGdBR29nQUVHUUFXb2dBRUhBQVdvZ0FFSHdBV29nQUNvQ29BSWdBQ29DcEFJZ0FDb0NxQUlnQUNvQ3JBSWdBQ29Dc0FJZ0FDb0N0QUlnQUNvQ3VBSWdBQ29DdkFJUXRRY0x4d01CRFg4akJpRUNJd1pCUUdza0JpQUNRVGhxSVFrZ0FrRXdhaUVLSUFKQktHb2hDeUFDUVNCcUlRTWdBa0VZYWlFRklBSkJFR29oQmlBQ1FRaHFJUUJCSUJCRUlnRkZCRUJCQUVFRFFibllBaUFDRUQxQkFSQUJDeUFCUVFBMkFnQWdBVUV5TmdJRUlBRkJFRFlDSENBQlFjZ0JFRVFpQnpZQ0NDQUhSUVJBUVFCQkEwRzUyQUlnQUJBOVFRRVFBUXNnQVVHZ0JoQkVJZ2cyQWd3Z0NFVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQUZCb0FZUVJDSUFOZ0lVSUFCRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUJRY0FNRUVRaUFEWUNFQ0FBUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0FVSEFEQkJFSWdBMkFoZ2dBRVVFUUVFQVFRTkJ1ZGdDSUFzUVBVRUJFQUVMQWtBQ1FBSkFBMEFDUUNBRVFUSk9CRUFnQVNFTURBVUxJQVJCQW5RZ0IycEJBRFlDQUNBRVFRSjBJUVZCQUNFREEwQWdBMEVFU1FSQUlBTWdCV29pQmtFQ2RDQUlha0dBR0JCRUlnQTJBZ0FnQUVVTkFrR0FDQkJFSVFBZ0FTZ0NGQ0FHUVFKMGFpQUFOZ0lBSUFCRkRRUWdBMEVCYWlFRERBRUxDeUFFUVFGcUlRUU1BUXNMUVFCQkEwRzUyQUlnQ2hBOURBRUxRUUJCQTBHNTJBSWdDUkE5QzBFQkVBRUxJQUlrQmlBTUM2a0JBQ0FBUWRBVlFRd1F1QUVnQUVFd2FrR0FGa0VNRUxnQklBQkI0QUJxUWJBV1FRd1F1QUVnQUVHUUFXcEI0QlpCREJDNEFTQUFRY0FCYWtHUUYwRU1FTGdCSUFCQjhBRnFRY0FYUVF3UXVBRWdBRVBOek13OU9BS2dBaUFBUXpNek16NDRBcVFDSUFCREFBQ0FQamdDcUFJZ0FFTm1acVkrT0FLc0FpQUFRODNNekQ0NEFyQUNJQUJETXpQelBqZ0N0QUlnQUVQTnpBdy9PQUs0QWlBQVF3QUE0RUE0QXJ3Q0MwOEJBWDBnQVVNQUFBQUFPQUlBSUFKQmZ6WUNBQ0FBUWVRQWFpRUFBMEFnQUNnQ0FDSUFCRUFnQXlBQUtBSU1zMTBFUUNBQ0lBQW9BZ2cyQWdBZ0FTQUFLQUlNc3lJRE9BSUFDd3dCQ3dzTHV3TUNDbjhEZlNNR0lRVWpCa0VRYWlRR0lBRkJBRXdFUUNBRlFjRElBMEgxbEFJUU4wR1NsUUlRTjBIdm9nSVFOMEUxRUQ1QjlxSUNFRGRCaEpZQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRUFUQVJBSUFWQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRVFlRUGtIMm9nSVFOMEcwbGdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRUtJQVpCUDNGQmlnRnFFUUlBSVFRZ0JSQThJQU1nQkJCQUlBTVFQeEFBQ3lBQ1FYOXFJZ2xCQW5RZ0FHb2hDaUFCUVg5cUlRY0RRQ0FLS2dJQUlRMGdDQ0FIU0FSQUlBZ2hBU0FISVFNRFFBTkFJQUZCQVdvaEJDQUJRUUowSUFCcUlnc3FBZ0FpRGlBTlhRUkFJQVFoQVF3QkN3c0RRQ0FEUVg5cUlRWWdEU0FEUVFKMElBQnFJZ3dxQWdBaUQxMEVRQ0FHSVFNTUFRc0xJQUVnQTB3RVFDQUxJQTg0QWdBZ0RDQU9PQUlBSUFRaEFTQUdJUU1MSUFFZ0Ewd05BQXNnQnlBRElBRWdBa2diSVFjZ0FTQUlJQU1nQ1VnYklRZ01BUXNMSUFVa0JpQU5DelVCQVgwZ0FSRDJBaUFDbENFRElBRVE5UUlnQXBRaEFTQUFJQU00QWdBZ0FDQUJqRGdDQkNBQUlBRTRBZ2dnQUNBRE9BSU1DMElCQVg4Z0FFRVFFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQU5nSUlJQVFnQXlnQ0JEWUNEQ0FBUVFFNkFBZ2dCQ0FDTmdJRUlBUkJBRFlDQUF1YUFRRUJmU0FBS0FJMHNpRUpJQUVnQlNBQUtnSVVJZ1dUSUFBcUFoZ2dCWk1RM2dFZ0NaUTRBZ0FnQUNnQ09MSWhCU0FDSUFZZ0FDb0NIQ0lHa3lBQUtnSWdJQWFURU40QklBV1VPQUlBSUFNZ0I3dEVHQzFFVlBzaENVQ2dSSVBJeVcwd1g4US9vaUFBS0FJOHQ2SzJPQUlBSUFCQlFHc29BZ0N5SVFVZ0JDQUlJQUFxQWlRaUJwTWdBQ29DS0NBR2t4RGVBU0FGbERnQ0FBdTdEQU1MZndaOUFYd2pCaUVJSXdaQkVHb2tCaUFBS2dJVUloQWdBVjRFZjBFQUJTQUFLZ0lZSWhFZ0FWOEVmMEVBQlNBQUtnSWNJaElnQWw0RWYwRUFCU0FBS2dJZ0loTWdBbDhFZjBFQUJTQUR1eUlXUkJndFJGVDdJUW5BWlNBV1JCZ3RSRlQ3SVFsQVpISUVmMEVBQlNBQUtnSWtJaFFnQkY0RWYwRUFCU0FBS2dJb0loVWdCRjhFZjBFQUJTQVFJQUZmUlFSQUlBaEJ3TWdEUVpHS0FoQTNRYk9LQWhBM1FlK2lBaEEzUWVnQ0VENUI5cUlDRURkQnM0c0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dFU0FCWGtVRVFDQUlRY0RJQTBIQ2l3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FiT0xBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQklnQWw5RkJFQWdDRUhBeUFOQjQ0c0NFRGRCczRvQ0VEZEI3NklDRURkQjZnSVFQa0gyb2dJUU4wR0ZqQUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFUSUFKZVJRUkFJQWhCd01nRFFaU01BaEEzUWJPS0FoQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEJoWXdDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRmtRWUxVUlUreUVKd0dSRkJFQWdDRUhBeUFOQnRZd0NFRGRCczRvQ0VEZEI3NklDRURkQjdBSVFQa0gyb2dJUU4wSFlqQUlRTnlJR0tBSUFRWFJxS0FJQUlBWnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFXUkJndFJGVDdJUWxBWlVVRVFDQUlRY0RJQTBIcmpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIdEFoQStRZmFpQWhBM1FkaU1BaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQlFnQkY5RkJFQWdDRUhBeUFOQmpvMENFRGRCczRvQ0VEZEI3NklDRURkQjdnSVFQa0gyb2dJUU4wRzRqUUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFWSUFSZVJRUkFJQWhCd01nRFFjdU5BaEEzUWJPS0FoQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEJ1STBDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnQUNBQVFjUUFhaUlKSUFCQnlBQnFJZ1lnQUVITUFHb2lCU0FBUWRBQWFpSUhJQUVnQWlBRElBUVF2UWNnQ1NvQ0FFTUFBQUMva280UVF5RUtJQVlxQWdCREFBQUF2NUtPRUVNaEN3Si9JQVVxQWdCREFBQUF2NUtPRUVNaERpQUhLZ0lBUXdBQUFMK1NqaEJESVF3Z0RpQUFLQUk4SWdWcUN5QUZFRThoRFNBS1FRQklCSDlCQUFVZ0MwRUFTQ0FLUVFGcUlna2dBQ2dDTkU1eUJIOUJBQVVnREVFQVNDQUxRUUZxSWdZZ0FDZ0NPRTV5Qkg5QkFBVWdERUVCYWlJSElBQkJRR3NvQWdCSUJIOGdEVUVCYWlBRkVFOGhCU0FBSUFBZ0NpQUxJQTBnREJCOEVIc2dBQ0FBSUFrZ0N5QU5JQXdRZkJCN0lBQWdBQ0FKSUFZZ0RTQU1FSHdRZXlBQUlBQWdDU0FHSUFVZ0RCQjhFSHNnQUNBQUlBa2dCaUFGSUFjUWZCQjdJQUFnQUNBSklBWWdEU0FIRUh3UWV5QUFJQUFnQ1NBTElBVWdEQkI4RUhzZ0FDQUFJQWtnQ3lBRklBY1FmQkI3SUFBZ0FDQUpJQXNnRFNBSEVId1FleUFBSUFBZ0NpQUdJQTBnREJCOEVIc2dBQ0FBSUFvZ0JpQUZJQXdRZkJCN0lBQWdBQ0FLSUFZZ0JTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0J4QjhFSHNnQUNBQUlBb2dDeUFGSUF3UWZCQjdJQUFnQUNBS0lBc2dCU0FIRUh3UWV5QUFJQUFnQ2lBTElBMGdCeEI4RUh0QkFRVkJBQXNMQ3dzTEN3c0xDd3NMSVE4Z0NDUUdJQThMSndBZ0FBUi9JQUJCOElhdkEyb2lBQ2dDQUFSL0lBQkJBRFlDQUVFQUJVRi9Dd1ZCZndzYUM0Y0VBZ1YvQVh3akJpRU5Jd1pCSUdva0JpQU5RUkJxSVE0Z0F5QUhJQXVUSWdjNEFnQUNRQUpBSUFlN0loSkVHQzFFVlBzaENjQmxCRUFnRWtRWUxVUlUreUVaUUtDMklRY01BUVVnRWtRWUxVUlUreUVKUUdRRVFDQVNSQmd0UkZUN0lSbkFvTFloQnd3Q0N3c01BUXNnQXlBSE9BSUFDeUFIdXlJU1JCZ3RSRlQ3SVFuQVpFVUVRQ0FPUWNESUEwRzFqQUlRTjBHemlnSVFOMEh2b2dJUU4wSFVBeEErUWZhaUFoQTNRZGlNQWhBM0lnOGdEeWdDQUVGMGFpZ0NBR29RT3lBT1FZRE9BeEE2SWhBb0FnQW9BaHdoRVNBUVFRb2dFVUUvY1VHS0FXb1JBZ0FoRUNBT0VEd2dEeUFRRUVBZ0R4QS9FQUFMSUJKRUdDMUVWUHNoQ1VCbEJFQWdCQ0FJSUF3UTNnRWlCemdDQUNBTklBTXFBZ0FnQnhDN0J5QUVJQVFxQWdBUTBnRWdBQ29DTUpRNEFnQWdEU29DQ0NFSElBMHFBZ3doQ0NBQklBVWdEU29DQUNJRklBbVVJQTBxQWdRaUN5QUtsSktUSUFVZ0FDb0NDSlFnQ3lBQUtnSU1sSktTT0FJQUlBSWdCaUFISUFtVUlBZ2dDcFNTa3lBSElBQXFBZ2lVSUFnZ0FDb0NESlNTa2pnQ0FDQU5KQVlGSUE1QndNZ0RRZXVNQWhBM1FiT0tBaEEzUWUraUFoQTNRZFVERUQ1QjlxSUNFRGRCMkl3Q0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBNUJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBNFFQQ0FBSUFFUVFDQUFFRDhRQUFzTDdRUUNCMzhDZlNNR0lRY2pCa0VRYWlRR0lBZEJER29oQkNBQUtBSUFJQUFvQWdRUXhnRWhDaUFISUFNUWhBSWdBMEVBVEFSQUlBUkJ3TWdEUWJtU0FoQTNRZG1TQWhBM1FlK2lBaEEzUWRBQkVENUI5cUlDRURkQjI1TUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQUVFQVRBUkFJQVJCd01nRFFmR1RBaEEzUWRtU0FoQTNRZStpQWhBM1FkRUJFRDVCOXFJQ0VEZEJtNVFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0JFRUFUQVJBSUFSQndNZ0RRYktVQWhBM1FkbVNBaEEzUWUraUFoQTNRZElCRUQ1QjlxSUNFRGRCM1pRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0NySWhDMEVBSVFRRFFDQURJQVJIQkVBZ0JFRUNkQ0lGUVFKMElBRnFLZ0lNSUFWQkFuUWdBbW9xQWd3UTNnRWdDNVFoRENBSEtBSUFJQVJCQW5ScUlBdzRBZ0FnQkVFQmFpRUVEQUVMQ3lBSEtBSUFJZ0VnQnlnQ0JDQUJhMEVDZFNJQklBRkJBaEE1SUFGQkFYRkJmMnBxRUxvSFF3QUFnRDZVSVFzZ0FFRUZJQUFxQWhnZ0FDb0NGSk1nQzVXTkVFTVF4Z0UyQWpRZ0FFRUZJQUFxQWlBZ0FDb0NISk1nQzVXTkVFTVF4Z0VpQVRZQ09DQUFJQUVnQUNnQ05Hd2lBVFlDVkNBQUlBRWdBQ2dDUEd3MkFsZ2dCeEJWSUFja0JndTdBZ0VLZnlNR0lRVWpCa0VRYWlRR0lBVkJER29oQ1NBRlFRaHFJUW9nQlVFRWFpRUxJQUJCM0FCcUVMMERJQU1FUUNBQVFmQUFhaUlNSUFOQkFuUVFod0VnQUVIOEFHb2lEU0FERUljQklBQXNBQkFFUUNBQUlBRWdBaUFERU1FSEN3TkFJQWNnQTBnRVFDQUFJQWtnQ2lBTElBVWdCMEVDZENJRVFRSjBJQUZxSWdncUFnQWdDQ29DQkNBSUtnSUlJQWdxQWd3Z0JFRUNkQ0FDYWlJRUtnSUFJQVFxQWdRZ0JDb0NDQ0FFS2dJTUVNQUhJQUFnQ1NvQ0FDQUtLZ0lBSUFzcUFnQWdCU29DQUJDK0J3UkFJQXdvQWdBZ0JrRUVkR29pQkNBQUtBSkVOZ0lBSUFRZ0FDZ0NTRFlDQkNBRUlBQW9Ba3cyQWdnZ0JDQUFLQUpRTmdJTUlBMG9BZ0FnQmtFQ2RHb2dCellDQUNBR1FRRnFJUVlMSUFkQkFXb2hCd3dCQ3dzZ0RDQUdRUUowRUljQklBMGdCaENIQVFzZ0JTUUdDNE1CQUNBQUlBRTRBaFFnQUNBQ09BSVlJQUFnQXpnQ0hDQUFJQVE0QWlBZ0FFTUFBSUMvT0FJa0lBQkRBQUNBUHpnQ0tDQUFRUUEyQWpRZ0FFRUFOZ0k0SUFCQkREWUNQQ0FBUVVCclFRbzJBZ0FnQUVFQU5nSlVJQUJCQURZQ1dDQUFRd0FBSUVFNEFpd2dBRVBZVzk0K09BSXdJQUJCQVRvQUVDQUFRZHdBYWhDOUF3c3BBUUYvSUFBb0FnZ1F2Z01nQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3d1UEFRRUJmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBVG9BRUNBQVFSUnFJZ0ZDQURjQ0FDQUJRZ0EzQWdnZ0FVSUFOd0lRSUFGQ0FEY0NHQ0FCUWdBM0FpQWdBVUlBTndJb0lBRkNBRGNDTUNBQlFnQTNBamdnQVVGQWEwSUFOd0lBSUFGQ0FEY0NTQ0FCUWdBM0FsQWdBRUdBZ0lEOEF6WUNiQ0FBUWdBM0FuQWdBRUlBTndKNElBQkNBRGNDZ0FFTExRQWdBQ0FCUVVCcktBSUFOZ0lBSUFBZ0FTZ0NSQ0lBTmdJRUlBQUVRQ0FBSUFBb0FnUkJBV28yQWdRTEN5Y0FJQUFFZnlBQVFmQ0dyd05xSWdBb0FnQUVmMEYvQlNBQUlBRTJBZ0JCQUFzRlFYOExHZ3NyQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFCTmdJQUlBQW9BZ0JCQkdvZ0FoRERBaUVESUFJa0JpQURDN2dCQVFOL0lBRWdBU2dDQkVFQUlBSWdBQ2dDQUNJRWF5SURRUUoxYTBFQ2RHb2lCVFlDQkNBRFFRQktCRUFnQlNBRUlBTVFUQm9MSUFBb0FnUWdBbXNpQTBFQVNnUkFJQUVvQWdnZ0FpQURFRXdhSUFFZ0FTZ0NDQ0FEUVFKMlFRSjBhallDQ0FzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUMwUUJBbjhnQWlnQ0FDRURJQUVvQWdBaEFnTkFJQUlnQTBjRVFDQUFLQUlJSWdRZ0FpZ0NBRFlDQUNBQUlBUkJCR28yQWdnZ0FTQUNRUVJxSWdJMkFnQU1BUXNMQzJNQkJIOGdBQ2dDQkNJRklBTnJJZ1pCQW5VaUIwRUNkQ0FCYWlFRUlBVWhBd05BSUFRZ0Fra0VRQ0FESUFRb0FnQTJBZ0FnQUNBRFFRUnFJZ00yQWdRZ0JFRUVhaUVFREFFTEN5QUdCRUJCQUNBSGEwRUNkQ0FGYWlBQklBWVE1d0VhQ3dzL0FRRi9JQUlvQWdBaEFpQUJLQUlBSVFFRFFDQUJJQUpIQkVBZ0FDZ0NCQ0lESUFFb0FnQTJBZ0FnQUNBRFFRUnFOZ0lFSUFGQkJHb2hBUXdCQ3dzTE5BRUJmeUFBS0FJRUlRSURRQ0FDUVFBMkFnQWdBa0VBTmdJRUlBQWdBQ2dDQkVFSWFpSUNOZ0lFSUFGQmYyb2lBUTBBQ3dzN0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRjRhallDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VUQVFFQ2Z5QUFLQUlBSVFNZ0FDZ0NCQ0VDQTBBZ0FpQURSd1JBSUFFb0FnUkJlR29nQWtGNGFpSUNLUUlBTndJQUlBRWdBU2dDQkVGNGFqWUNCQXdCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUM2RUJBUVIvSXdZaEF5TUdRUkJxSkFZZ0FrRUJTZ1JBSUFKQmZtcEJBaEE1SWdKQkEzUWdBQ2dDQUNJRmFpRUFJQUVnQVNnQ0FFRjRhaUlFTmdJQUlBQWdCQkRCQVFSQUlBTWdCQ2tDQURjREFBTkFBa0FnQkNBQUtRSUFOd0lBSUFFZ0FEWUNBQ0FDUlEwQUlBSkJmMnBCQWhBNUlnSkJBM1FnQldvaUJpQURFTUVCQkVBZ0FDRUVJQVloQUF3Q0N3c0xJQUFnQXlrREFEY0NBQXNMSUFNa0JndWRBUUVGZnlNR0lRSWpCa0VnYWlRR1FmLy8vLzhCSUFBb0FnUWdBQ2dDQUd0QkEzVkJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSW9BZ2dnQVNrQ0FEY0NBQ0FDSUFJb0FnaEJDR28yQWdnZ0FDQUNFTThISUFJUXpnY2dBaVFHQ3dzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTUVESUFBZ0FSRE5Cd3NMaEFVQkNIOGpCaUVJSXdaQk1Hb2tCaUFJUVFocUlRVWdDRUVRYWlJSklBQW9BbXdnQUNnQ2FHdEJBblVRMGdkQmZ5RUVRWDhoQ2dOQUlBWWdDU2dDQkNBSktBSUFhMEVEZFVrRVFDQUFLQUpvSUFaQkFuUnFLQUlBUVFScUlBTVFnZ0loQnlBRklBQW9BbWdnQmtFQ2RHb29BZ0EyQWdBZ0JTQUhOZ0lFSUFrb0FnQWdCa0VEZEdvZ0JTa0RBRGNDQUNBR0lBb2dCeUFFU1NJTEd5RUtJQWNnQkNBTEd5RUVJQVpCQVdvaEJnd0JDd3NnQ2tGL1JnUkFJQVZCd01nRFFkbUpBaEEzUWRIeEFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIrNGtDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQlNBQUtBSm9JQXBCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lFSUFFb0FnaEpCRUFnQkNBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3lBSVFTUnFJUVpCQUNFRUEwQWdDU2dDQUNJRElRY2dCQ0FKS0FJRUlBTnJRUU4xU1FSQUlBUWdDa2NFUUNBRVFRTjBJQWRxS0FJRUlBa29BZ0FnQ2tFRGRHb29BZ1JHQkVBZ0JTQUFLQUpvSUFSQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJSElBRW9BZ2hKQkVBZ0J5QUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N3VWdDU2dDQUNBRVFRTjBhaUVESUFJb0FnUWlCeUFDS0FJSVJnUkFJQUlnQXhEUkJ5QUNLQUlFSVFNRklBY2dBeWtDQURjQ0FDQUNJQUlvQWdSQkNHb2lBellDQkFzZ0NDQUNLQUlBSWdjMkFpQWdDQ0FETmdJY0lBWWdDQ2dDSURZQ0FDQUZJQWdvQWh3MkFnQWdCaUFGSUFNZ0IydEJBM1VRMEFjTEN5QUVRUUZxSVFRTUFRc0xJQWtRMHdNZ0NDUUdDNTREQVFoL0l3WWhCQ01HUVRCcUpBWWdCRUVvYWlFSUlBUkJKR29oQ1NBRVFRaHFJUVVnQVNnQ0FDQUFLQUlBSWdFaUJtdEJBblZCQW5RZ0FXb2hBU0FES0FJQUlnb2dBaWdDQUNJRGF5SUNRUUoxSVFjZ0FrRUFTZ1JBQWtBZ0J5QUFLQUlJSUFBb0FnUWlDeUlDYTBFQ2RVb0VRRUgvLy8vL0F5QUhJQUlnQm10QkFuVnFJZ1pKQkVBUUFBVWdCU0FHSUFBb0FnZ2dBQ2dDQUNJQ2F5SUhRUUYxSWdzZ0N5QUdTUnRCLy8vLy93TWdCMEVDZFVILy8vLy9BVWtiSUFFZ0FtdEJBblVnQUVFSWFoRElBU0FFSUFNMkFnUWdCQ0FLTmdJQUlBa2dCQ2dDQkRZQ0FDQUlJQVFvQWdBMkFnQWdCU0FKSUFnUXlnY2dBQ0FGSUFFUXlRY2dCUkRIQVF3Q0N3c2dBaUFCYXlJRlFRSjFJZ1pCQW5RZ0Eyb2hBaUFISUFaS0JFQWdCQ0FDTmdJZ0lBUWdDallDSENBSklBUW9BaUEyQWdBZ0NDQUVLQUljTmdJQUlBQWdDU0FJRU13SElBVkJBRXdOQVFVZ0NpRUNDeUFBSUFFZ0N5QUhRUUowSUFGcUVNc0hJQUVoQUFOQUlBSWdBMGNFUUNBQUlBTW9BZ0EyQWdBZ0FFRUVhaUVBSUFOQkJHb2hBd3dCQ3dzTEN5QUVKQVlMaEFNQ0IzOEJmaU1HSVFRakJrRXdhaVFHSUFSQkNHb2hCU0FBS0FJSVJRUkFJQVZCd01nRFFhS0pBaEEzUWRIeEFSQTNRZStpQWhBM1FaVURFRDVCOXFJQ0VEZEJ4WWtDRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VHSUFOQkNpQUdRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUNJQU1RUUNBQ0VEOFFBQXNnQkVFY2FpRUdJQUJCQURZQ1pDQUFJQUFvQWtnMkFrd2dBRUhVQUdvaEJ5QUFLQUpZSVFJRFFDQUNJQWNvQWdBaUEwY0VRQ0FDSUFOcklnaEJDRW9FZnlBRklBTXBBZ0FpQ1RjREFDQURJQUpCZUdvaUFpa0NBRGNDQUNBQ0lBazNBZ0FnQkNBRE5nSVlJQVFnQWpZQ0ZDQUVJQU0yQWhBZ0JpQUVLQUlZTmdJQUlBUWdCQ2dDRkRZQ0lDQUZJQVFvQWhBMkFnQWdCaUFJUVFOMlFYOXFJQVVRdndNZ0FDZ0NXQVVnQWdzaEEwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQUlBTkJlR29pQWpZQ1dBd0JDd3NnQUNBSElBQW9BZ2dnQVJDN0FpQUFLQUpNSUFBb0FraHJHaUFFSkFZTHlBRUJBWDhqQmlFTkl3WkJFR29rQmlBQklBVWdDWk9MT0FJQUlBSWdCaUFLazRzNEFnQWdCQ0FJSUF5VGl6Z0NBQ0FESUFjZ0M1T0xJZ1VnQUNnQ1BMSWdCWk1RL2dFaUJUZ0NBQ0FGUXdBQUFBQmdCRUFnRFNRR0JTQU5RY0RJQTBIWGlBSVFOMEd6aWdJUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FZQ0pBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFOUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FORUR3Z0FpQUFFRUFnQWhBL0VBQUxDK29JQVFOL0l3WWhCaU1HUVJCcUpBWWdBU0FGSUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJCUElnYzJBZ0FnQWlBRklBZHJJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkE1SWdjMkFnQWdBeUFGSUFFb0FnQnJJQWNnQUNnQ05HeHJJQUFvQWxnUVR5QUFLQUpVRURraUJ6WUNBQ0FFSUFVZ0FTZ0NBR3NnQWlnQ0FDQUFLQUkwYkNBSElBQW9BbFJzYW1zZ0FDZ0NXQkE1SWdjMkFnQWdBU2dDQUNJRlFYOU1CRUFnQmtIQXlBTkJxWTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2Z0VRUGtIMm9nSVFOMEhLamdJUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQWdnQVJCQUlBZ1FQeEFBQ3lBRklBQW9BalJPQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdndFUVBrSDJvZ0lRTjBIS2pnSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFVZ0FSQkFJQVVRUHhBQUN5QUNLQUlBSWdSQmYwd0VRQ0FHUWNESUEwR0Vqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRYVdQQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCU0FCRUVBZ0JSQS9FQUFMSUFRZ0FDZ0NPRTRFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1FvQWdCQmRHb29BZ0FnQkdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQkNBQkVFQWdCQkEvRUFBTElBTW9BZ0FpQTBGL1RBUkFJQVpCd01nRFFkK1BBaEEzUWJPS0FoQTNRZStpQWhBM1FjSUJFRDVCOXFJQ0VEZEJoSkFDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQUVJQUVRUUNBRUVEOFFBQXNnQXlBQUtBSThUZ1JBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRY01CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0IwRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRY1FCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0J5QUFRVUJyS0FJQVNBUkFJQVlrQmdVZ0JrSEF5QU5CaFpFQ0VEZEJzNG9DRURkQjc2SUNFRGRCeFFFUVBrSDJvZ0lRTjBIdmtBSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCaEE4SUFJZ0FCQkFJQUlRUHhBQUN3dnhBZ0VMZnlBQUlBRVF2QUlpQWtFQVNBUi9JQUlGQW44Z0FDZ0NBQVJBSUFCQkJHb2hDQ0FBUVFocUlRVUZJQUFnQUVFSWFpSUZLQUlBSUFCQkJHb2lDQ2dDQUd3UVJDSUNOZ0lBUVg4Z0FrVU5BUm9MQTBBZ0JpQUZLQUlBSWdKSUJFQkJBQ0VDQTBBZ0FpQUlLQUlBSWdsSUJFQkJmQ0VIUVFBaENrRUFJUU1EUUNBSFFRUk1CRUFnQmlBSGFpSUVRUUJPQkVBZ0JDQUZLQUlBU0FSQUFrQWdCQ0FKYkNFTVFYd2hCQU5BSUFSQkJFb05BU0FDSUFScUlndEJmMG9nQ3lBSlNIRUVRQ0FLUVFGcUlRb2dBeUFCSUFzZ0RHcHFMUUFBYWlFREN5QUVRUUZxSVFRTUFBQUxBQXNMQ3lBSFFRRnFJUWNNQVFzTElBTWdDaEE1UWY4QmNTRURJQUFvQWdBZ0FpQUdJQWxzYW1vZ0F6b0FBQ0FDUVFGcUlRSU1BUXNMSUFaQkFXb2hCZ3dCQ3d0QkFDRURJQUloQVFOL0lBTWdDQ2dDQUNBQmJFZ0VmeUFESUFBb0FnQnFJZ0VnQVMwQUFFRjVham9BQUNBRFFRRnFJUU1nQlNnQ0FDRUJEQUVGUVFBTEN3c0xDN3dUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnWWhEU0FCSUFKQmYyb2lFR3hCQVhRZ0Jtb2hCUU5BSUFjZ0FVZ0VRQ0FGUVFBN0FRQWdEVUVBT3dFQUlBMUJBbW9oRFNBRlFRSnFJUVVnQjBFQmFpRUhEQUVMQ3lBR0lRY2dBVUYvYWlJUlFRRjBJQVpxSVExQkFDRUZBMEFnQlNBQ1NBUkFJQTFCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnRFdvaERTQUZRUUZxSVFVTUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTFCQVNFTFFRQWhCU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENTQUdJUXdEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBSUF4QkFEc0JBQVVDUUNBU1FRRjBJQXhxSWc4dUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBUFFYNXFMZ0VBSWdvaENDQUtRUUJLSVFZZ0R5NEJBaUlGUVFCTUJFQWdCZ1JBSUF3Z0Nqc0JBQ0FJUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpTQVJBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFJTElBeEJmbW91QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpUZzBDSUFVZ0NUWUNBQVVnQUVILy93RktEUVlnRENBQVFRRnFJZ1U3QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFGUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFMTmdJQUlBVWhBQXNNQVFzZ0JnUkFBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFoQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQlNBR0tBSUFSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQXhCZm1vdUFRQWlCa0VBVEFSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJnSURRQUdvaUJTZ0NBQ0FKU2dSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFaQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQmlnQ0FDQUZSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBTEN5QU5RUUZxSVEwZ0NVRUJhaUVKSUF4QkFtb2hEQXdCQ3dzZ0RVRUNhaUVOSUF0QkFXb2hDeUFBSVFVZ0RFRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBNFFQVUYvREFFTElBUkJER29oRFVFQklRQkJBU0VJQTBBZ0NDQUZUQVJBSUFnZ0J5Z0NBQ0lHUmdSQUlBQkJBV29oQXdVZ0FDRURJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQnlBQU5nSUFJQU1oQUNBSVFRRnFJUWdnQjBFRWFpRUhEQUVMQ3lBRUlBQkJmMm9pQnpZQ0NDQUhCSDhnRFVFQUlBZEJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0IwRUVkQkJGR2tFQUlRTURRQ0FESUFkSUJFQWdCRUdNZ0FocUlBTkJBblFpQUVFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQUVFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FFRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dBRUVEY2tFQ2RHcEJBRFlDQUNBRFFRRnFJUU1NQVFzTFFRQWhBd05BSUFNZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0EwRUNkR29vQWdCQmYyb2lBa0VDZEdvaUFDQUVRWkNBMEFCcUlBTkJCMndpQjBFQ2RHb29BZ0FnQUNnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUFVRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJuSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm9JRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcElEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFOQkFXb2hBd3dCQ3dzZ0JDZ0NDQ0VDUVFBaEF3Ti9JQU1nQWtnRWZ5QUVRWkNBS0dvZ0EwRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JFRU1haUFEUVFKMGFpZ0NBTGNpRktNNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBVW96a0RBQ0FEUVFGcUlRTU1BUVZCQUFzTEJVRUFDd3NoRXlBT0pBWWdFd3M2QVFGL0lBQW9BZ1FoQWdOQUlBSkRBQUFBQURnQ0FDQUNRd0FBQUFBNEFnUWdBQ0FBS0FJRVFRaHFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1TUJBUUYvUVFkQkJrRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0hDQUJRUUowSUFCcUtnSUFYaHNMZlFFQmYwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNMWndFQmYwRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd3dFJBUUYvUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc0xPd0VCZjBFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzTDhBRUNBMzhIZlNBQUlBRVF2QUlpQVVFQVRnUkFRUUVoQVFOQUlBY2dBRUVNYWlBQlFRSjBhaWdDQUNBQmJMT1NJUWNnQVVFQmFpSUJRWUFDUncwQUN5QUFLQUlFSUFBb0FnaHNzaUVNUVFBaEFRTkFBa0FnQmlBQVFReHFJQU5CQW5ScUtBSUFJZ1N6a2lJR1F3QUFBQUJjQkVBZ0RDQUdreUlMUXdBQUFBQmJEUUVnQ1NBRElBUnNzNUlpQ1NBR2xTQUhJQW1USUF1Vmt5SUtJQVlnQzVRZ0NwU1VJZ29nQ0Y0aEJTQURRZjhCY1NJRUlBRWdCUnNoQVNBS0lBZ2dCUnNoQ0FVZ0EwSC9BWEVoQkFzZ0EwRUJhaUVESUFSQi93RnhRZjhCUncwQkN3c2dBaUFCT2dBQVFRQWhBUXNnQVFzbEFRRi9RUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YkM2a0JBUUYvUVFoQkIwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSWNJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaUFnQVVFQ2RDQUFhaW9DQUY0YkMra0JBUU4vSXdZaEFpTUdRWUFEYWlRR0lBSkIwQUpxSWdNZ0FpQUJRUUFRb1FFNEFnQWdBeUFDUVNScUlBRkJBUkNoQVRnQ0JDQURJQUpCeUFCcUlBRkJBaENoQVRnQ0NDQURJQUpCN0FCcUlBRkJBeENoQVRnQ0RDQURJQUpCa0FGcUlBRkJCQkNoQVRnQ0VDQURJQUpCdEFGcUlBRkJCUkNoQVRnQ0ZDQURJQUpCMkFGcUlBRkJCaENoQVRnQ0dDQURJQUpCL0FGcUlBRkJCeENoQVRnQ0hDQURJQUpCb0FKcUlBRkJDQkNoQVRnQ0lDQURFT0lISWdGQkFuUWdBMm9xQWdCREFBQUFBRnNFZjBFQUJTQUFJQUZCQ1d4QkFuUWdBbW9RdmdKQkFRc2hCQ0FDSkFZZ0JBdW9BUUVFZnlBQUlBRVE5Z2NpQVVFQVNBUi9JQUVGSUFBb0FnZ2dBQ2dDQkd5eVF3QUFBRCtVRUpJQklRUkJBQ0VCQTBBZ0FVRUJha0VZZEVFWWRTRURJQUJCakFocUlBRkIvd0Z4SWdaQkFuUnFLQUlBSWdVZ0JFa0VRQ0FESVFFTUFRc0xBMEFnQVVFQmFrRVlkRUVZZFNFRElBUWdCVVlFUUNBQVFZd0lhaUFESWdGQi93RnhRUUowYWlnQ0FDRUZEQUVMQ3lBQ0lBWWdBVUgvQVhGcVFRRjJPZ0FBUVFBTEMwQUNBWDhCZlNBQVFmd0JhaUlDSUFCQjJBRnFJQUZCL0FGcUVHVWdBaEJhSWdOREFBQUFBRnNFZjBFQUJTQUNJQUpEQUFDQVB5QURrWlVRbEFGQkFRc0xyUUVCQlg4akJpRUNJd1pCRUdva0JpQUFRZGdCYWlJRElBQkJ0QUZxSWdVZ0FVSFlBV29pQkJCbElBQkIvQUZxSWdBZ0JTQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdBQkJhT0FJRUlBSXFBZ1FnQWlvQ0FGNGlBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JDQUFRUUowSUFScUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFR0lBSWtCaUFHQzhJQkFRWi9Jd1loQWlNR1FSQnFKQVlnQUVHMEFXb2lBeUFBUVpBQmFpSUVJQUZCdEFGcUlnVVFaU0FBUWRnQmFpSUdJQVFnQVVIWUFXb1FaU0FBUWZ3QmFpSUFJQVFnQVVIOEFXb1FaU0FDSUFNUVdqZ0NBQ0FDSUFZUVdqZ0NCQ0FDSUFBUVdqZ0NDQ0FDRU9FSElnQkJBblFnQW1vaUFTb0NBRU1BQUFBQVd3Ui9RUUFGSUFNZ0FFRUpiQ0lBUVFKMElBTnFFSXdCSUFVZ0FFRUNkQ0FGYWhDTUFTQURJQU5EQUFDQVB5QUJLZ0lBa1pVUWxBRkJBUXNoQnlBQ0pBWWdCd3ZkQVFFSGZ5TUdJUUlqQmtFUWFpUUdJQUJCa0FGcUlnTWdBRUhzQUdvaUJDQUJRWkFCYWlJRkVHVWdBRUcwQVdvaUJpQUVJQUZCdEFGcUVHVWdBRUhZQVdvaUJ5QUVJQUZCMkFGcUVHVWdBRUg4QVdvaUFDQUVJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFHRUZvNEFnUWdBaUFIRUZvNEFnZ2dBaUFBRUZvNEFnd2dBaERmQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FGSUFCQkFuUWdCV29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUWdnQWlRR0lBZ0wrQUVCQ0g4akJpRUNJd1pCSUdva0JpQUFRZXdBYWlJRElBQkJ5QUJxSWdRZ0FVSHNBR29pQlJCbElBQkJrQUZxSWdZZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdjZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdnZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdBQkJhT0FJUUlBSVEzZ2NpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUpJQUlrQmlBSkM1SUNBUWwvSXdZaEFpTUdRU0JxSkFZZ0FFSElBR29pQXlBQVFTUnFJZ1FnQVVISUFHb2lCUkJsSUFCQjdBQnFJZ1lnQkNBQlFld0FhaEJsSUFCQmtBRnFJZ2NnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2dnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2tnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0NSQmFPQUlRSUFJZ0FCQmFPQUlVSUFJUTNRY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFS0lBSWtCaUFLQzZZQ0FRcC9Jd1loQWlNR1FTQnFKQVlnQUVFa2FpSURJQUFnQVVFa2FpSUVFR1VnQUVISUFHb2lCU0FBSUFGQnlBQnFFR1VnQUVIc0FHb2lCaUFBSUFGQjdBQnFFR1VnQUVHUUFXb2lCeUFBSUFGQmtBRnFFR1VnQUVHMEFXb2lDQ0FBSUFGQnRBRnFFR1VnQUVIWUFXb2lDU0FBSUFGQjJBRnFFR1VnQUVIOEFXb2lDaUFBSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBRkVGbzRBZ1FnQWlBR0VGbzRBZ2dnQWlBSEVGbzRBZ3dnQWlBSUVGbzRBaEFnQWlBSkVGbzRBaFFnQWlBS0VGbzRBaGdnQWhEY0J5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRUlBQkJBblFnQkdvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFzZ0FpUUdJQXNMeXdFQkJYOGpCaUVDSXdaQklHb2tCaUFDSUFFUVdqZ0NBQ0FDSUFGQkpHb2lBeEJhT0FJRUlBSWdBVUhJQUdvUVdqZ0NDQ0FDSUFGQjdBQnFFRm80QWd3Z0FpQUJRWkFCYWhCYU9BSVFJQUlnQVVHMEFXb1FXamdDRkNBQ0lBRkIyQUZxRUZvNEFoZ2dBaUFCUWZ3QmFoQmFPQUljSUFJUTJ3Y2lCRUVDZENBQ2FpSUZLZ0lBUXdBQUFBQmJCSDlCQUFVZ0FTQUVRUWxzUVFKMElBRnFFSXdCSUFBZ0FVTUFBSUEvSUFVcUFnQ1JsUkNVQVNBQVFTUnFJQU5CUHhDNEFVRUJDeUVHSUFJa0JpQUdDNGNCQVFKL0l3WWhBaU1HUWFBQ2FpUUdJQUlnQVJEc0J3Ui9JQUlnQVJEckJ3Ui9JQUlnQVJEcUJ3Ui9JQUlnQVJEcEJ3Ui9JQUlnQVJEb0J3Ui9JQUlnQVJEbkJ3Ui9JQUlnQVJEbUJ3Ui9JQUlnQVJEbEJ3Ui9JQUFnQWhEakJ3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMSVFNZ0FpUUdJQU1MTWdBZ0FDQUJJQVVRL0FFZ0FFSElBR29nQWlBR0VQd0JJQUJCa0FGcUlBTWdCeEQ4QVNBQVFkZ0JhaUFFSUFnUS9BRUxtQUlCQm4wZ0FTb0NHQ0lHSUFVcUFnQWlCNVFnQVNvQ0FDQUVsWkloQ2lBSElBRXFBaHdpQ0pRZ0FTb0NCQ0FFbFpJaEJ5QUdJQVVxQWdRaUNaUWdBU29DRENBRWxaSWhCaUFJSUFtVUlBRXFBaEFnQkpXU0lRZ2dBeW9DQUNBQ2xDRUpJQU1xQWdRZ0FwUWhDeUFBSUFvZ0FwUTRBZ0FnQUNBSElBS1VPQUlFSUFBZ0FTb0NJQ0FGS2dJQWxDQUJLZ0lJSUFTVmtpQUtJQW1Va3lBSElBdVVremdDQ0NBQUlBWWdBcFE0QWd3Z0FDQUlJQUtVT0FJUUlBQWdBU29DSUNBRktnSUVsQ0FCS2dJVUlBU1ZraUFHSUFtVWt5QUlJQXVVa3pnQ0ZDQUFJQUVxQWhnZ0FwUWlCRGdDR0NBQUlBRXFBaHdnQXBRaUFqZ0NIQ0FBSUFFcUFpQWdCQ0FES2dJQWxKTWdBaUFES2dJRWxKTTRBaUFMVEFFQ2Z5TUdJUWtqQmtHZ0Ftb2tCaUFKSUFFZ0FpQURJQVFnQlNBR0lBY2dDQkR1QnlBQUlBa1E3UWNFZnlBQUVNY0RpN3RFOFdqamlMWDQ1RDVqUlFWQkFBc2hDaUFKSkFZZ0NndTJCQUlLZndOOUl3WWhCeU1HUVJCcUpBWWdBa0VBVEFSQUlBZEJ3TWdEUWZXVUFoQTNRWktWQWhBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQmhKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEVBVEFSQUlBZEJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUWRNQUVENUI5cUlDRURkQnRKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEYvYWlJS1FRTjBJQUZxSVFzZ0NrRURkQ0FCYWlFTklBSkJmMm9oQlVFQUlRWURRQ0FHSUFWSUJFQWdDeW9DQUNFT0lBMG9BZ1FoRENBR0lRSWdCU0VFQTBBRFFBSkFJQUpCQTNRZ0FXb2lDQ29DQUNJUElBNWRSUVJBSUE0Z0QxME5BU0FDUVFOMElBRnFLQUlFSUF4T0RRRUxJQUpCQVdvaEFnd0JDd3NEUUFKQUlBNGdCRUVEZENBQmFpSUpLZ0lBSWhCZFJRUkFJQkFnRGwwTkFTQU1JQVJCQTNRZ0FXb29BZ1JPRFFFTElBUkJmMm9oQkF3QkN3c2dBaUFFVEFSQUlBZ2dFRGdDQUNBSklBODRBZ0FnQWtFRGRDQUJhaUlJS0FJRUlRa2dDQ0FFUVFOMElBRnFJZ2dvQWdRMkFnUWdDQ0FKTmdJRUlBSkJBV29oQWlBRVFYOXFJUVFMSUFJZ0JFd05BQXNnQlNBRUlBSWdBMGdiSVFVZ0FpQUdJQVFnQ2tnYklRWU1BUXNMSUFBZ0N5a0NBRGNDQUNBSEpBWUxnUUVCQVgwZ0FDQUFLZ0lBUXdBQWdEOGdBQ29DSUpVaUFaUTRBZ0FnQUNBQklBQXFBZ1NVT0FJRUlBQWdBU0FBS2dJSWxEZ0NDQ0FBSUFFZ0FDb0NESlE0QWd3Z0FDQUJJQUFxQWhDVU9BSVFJQUFnQVNBQUtnSVVsRGdDRkNBQUlBRWdBQ29DR0pRNEFoZ2dBQ0FCSUFBcUFoeVVPQUljSUFCREFBQ0FQemdDSUF0NUFnTi9BbjBqQmlFRUl3WkJFR29rQmlBRVFRaHFJZ1ZCQkdvaEJpQUZJQVlnQUNBQktnSUFJQUVxQWdRUXZRSWdCQ0FGS2dJQUlBSXFBZ0NUT0FJQUlBUWdCaW9DQUNBQ0tnSUVremdDQkNBRUtnSUFJZ2NnQjVRZ0JDb0NCQ0lISUFlVWtpQURsRU1BQUlBL2toRFNBU0VJSUFRa0JpQUlDL2NCQVExL0l3WWhBaU1HUVRCcUpBWUNmeUFDUVNCcUlnTWdBQ0FCRUtvQklBSkJHR29pQkNBQUlBRkJDR29pQnhDcUFTQUNRUkJxSWdVZ0FDQUJRUkJxSWdZUXFnRWdBa0VJYWlJS0lBTVF4UU1nQWlBRUVNVURJQUVnQnlBR0lBTWdCQ0FGRVAwQkJIOUJBeUVJSUFjaENTQUJJUXNEUUNBSVFRUklCRUFnQXlBQUlBWkJDR29pQmhDcUFVRUFJQXRCQ0dvaUN5QUpRUWhxSWdrZ0JpQUVJQVVnQXhEOUFVVU5BeG9nQXlFTklBaEJBV29oQ0NBRUlRTWdCU0VFSUEwaEJRd0JDd3NnQ1NBR0lBRWdCQ0FGSUFvUS9RRUVmeUFHSUFFZ0J5QUZJQW9nQWhEOUFRVkJBQXNGUVFBTEN5RU9JQUlrQmlBT0M5UUJBUTUvSXdZaENTTUdRWUFCYWlRR0lBbEIrQUJxSVFvZ0NVSG9BR29oQ3lBSlFVQnJJUXdnQ1VFNGFpRU5JQWxCTUdvaERpQUpRU2hxSVE4Z0NVSGdBR29pRUNBSlFkZ0FhaUlSSUFsQjBBQnFJaElnQ1VISUFHb2lFeUFKUWZ3QWFpSVVJQWxCOEFCcUloVWdBU0FDSUFNZ0JCREVBd1IvSUF3Z0RTQU9JQThnQ2lBTElBVWdCaUFISUFnUXhBTUVmeUFKSUJBZ0VTQVNJQk1nRENBTklBNGdEeER3QndSL0lBQWdDU0FVS2dJQUlCVWdDaW9DQUNBTEVPOEhRUUVGUVFBTEJVRUFDd1ZCQUFzaEZpQUpKQVlnRmd0UEFRRi9JQUFnQVJDOEFpSUJRUUJPQkVCQkFDRUJBMzhnQUVHTUNHb2dBVUVDZEdvZ0FpQUFRUXhxSUFGQkFuUnFLQUlBYWlJQ05nSUFJQUZCQVdvaUFVR0FBa2NOQUVFQUN5RUJDeUFCQzVrQkFRRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUlRZ2dCQ0FGSUFZUWhRRkRBQUFBQUY0Z0NITUVmMEVBQlNBQklBSWdBeENGQVVNQUFBQUFYaUFGSUFZZ0J4Q0ZBVU1BQUFBQVhuTUVmMEVBQlNBQ0lBTWdBQkNGQVVNQUFBQUFYaUFHSUFjZ0JCQ0ZBVU1BQUFBQVhuTUVmMEVBQlNBRElBQWdBUkNGQVVNQUFBQUFYaUFISUFRZ0JSQ0ZBVU1BQUFBQVhuTkJBWE1MQ3dzTGtBa0NDbjhCZlNNR0lSRWpCa0VRYWlRR0lCRkJDR29oRHlBRktBSUVJQVVvQWdCclFRSjFJQWxCQ1d4SkJFQWdEMEhBeUFOQjA0UUNFRGRCallVQ0VEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR1VoZ0lRTnlJTUlBd29BZ0JCZEdvb0FnQnFFRHNnRDBHQXpnTVFPaUlOS0FJQUtBSWNJUTRnRFVFS0lBNUJQM0ZCaWdGcUVRSUFJUTBnRHhBOElBd2dEUkJBSUF3UVB4QUFDeUFHS0FJRUlBWW9BZ0FpREd0QkFuVWdBMGtFUUNBUFFjRElBMEhHaGdJUU4wR05oUUlRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWZpR0FoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBY29BZ1FnQnlnQ0FHdEJBM1VnQ1VrRVFDQVBRY0RJQTBHaWh3SVFOMEdOaFFJUU4wSHZvZ0lRTjBINUFCQStRZmFpQWhBM1FlQ0hBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQU5CQkVnRWYwRUFCU0FSUWRJSk5nSUFJQWdRYVNFSUlBc2dBeENGQWlFTklBd2dBeERjQXlBTUlBTWdBeUFSRU1FQ1FRQWhCZ05BSUJBZ0NrZ2dCaUFKU0hFRVFDQU1JQU5CQkNBUkVNRUNJQXdvQWdCQkFYUWlDMEVDZENBQmFpQU1LQUlFUVFGMElnNUJBblFnQVdvZ0RDZ0NDRUVCZENJU1FRSjBJQUZxSUF3b0FneEJBWFFpRTBFQ2RDQUJhaUFMUVFKMElBSnFJQTVCQW5RZ0Ftb2dFa0VDZENBQ2FpQVRRUUowSUFKcUVQY0hCRUFnQlNnQ0FDQUdRUWxzSWd0QkFuUnFJQXdvQWdCQkFYUWlEa0VDZENBQmFpQU1LQUlFUVFGMEloSkJBblFnQVdvZ0RDZ0NDRUVCZENJVFFRSjBJQUZxSUF3b0FneEJBWFFpRkVFQ2RDQUJhaUFPUVFKMElBSnFJQkpCQW5RZ0Ftb2dFMEVDZENBQ2FpQVVRUUowSUFKcUVQVUhCRUFnQlNnQ0FDQUxRUUowYWlBRUVQUUhCRUFnQmtFQmFpRUdDd3NMSUJCQkFXb2hFQXdCQ3d0REFBQ0FQeUFJbFNFSUlBWUVmeUFIS0FJQUlRUkJBQ0VMQTBBZ0N5QUdTQVJBSUF0QkEzUWdCR3BEQUFBQUFEZ0NBQ0FMUVFOMElBUnFJQXMyQWdRZ0MwRUJhaUVMREFFTEMwRUFJUXNnQmlFS0EwQWdDeUFEU0NBS1FRSktjUVJBSUEwZ0F5QUxheENGQWlBTGFpRUdRUUFoRUNBSEtBSUFJUVFEUUNBS0lCQkhCRUFnQlNnQ0FDQVFRUU4wSUFScUtBSUVRUWxzUVFKMGFpRU9JQXNoQ1FOQUlBa2dCa2dFUUNBT0lBbEJBblFnREdvb0FnQkJBWFFpQkVFQ2RDQUJhaUFFUVFKMElBSnFJQWdROHdjaEZpQUhLQUlBSWdRZ0VFRURkR29pRWlBV0lCSXFBZ0NTT0FJQUlBbEJBV29oQ1F3QkN3c2dFRUVCYWlFUURBRUxDeUFQSUFRZ0NpQUtRUUlRT1NBS1FRRnhRWDlxYWhEeEJ5QUdJUXNnQ2tFQmRTRUtEQUVMQzBFQklRTWdCeWdDQUNJQ0tnSUFJUWdnQWlnQ0JDRUJBMEFnQXlBS1NBUkFJQU5CQTNRZ0Ftb3FBZ0FpRmlBSVhRUkFJQlloQ0NBRFFRTjBJQUpxS0FJRUlRRUxJQU5CQVdvaEF3d0JDd3NnQUNBRktBSUFJQUZCQ1d4QkFuUnFFTDRDSUFBUThnZEJBUVZCQUFzTElSVWdFU1FHSUJVTFpRQkJBVUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVHMEVCUVg4Z0FTQUNJQU1RaFFGREFBQUFBRjRiYWtFQlFYOGdBaUFESUFBUWhRRkRBQUFBQUY0YmFrRUJRWDhnQXlBQUlBRVFoUUZEQUFBQUFGNGJhaUlBUVFBZ0FHc2dBRUYvU2h0QkJFWUxqZ0VDQkg4R2ZTTUdJUVFqQmtFd2FpUUdJQVJCSUdvaUJTQUJJQUFRM3dFZ0JFRVlhaUlHSUFJZ0FCRGZBU0FFUVJCcUlnY2dBeUFBRU44QklBUkJDR29pQUNBQklBSVEzd0VnQkNBRElBSVEzd0VnQlNBR0VQOEJBbjBnQmlBSEVQOEJJUXdnQlNBSEVQOEJJUW9nQUNBRUVQOEJJUXNnREFzUS9nRWdDaEQrQVNBTEVQNEJJUTBnQkNRR0lBMEw2Z0VDQ1g4QmZTTUdJUU1qQmtIZ0FHb2tCaUFEUWRnQWFpRUVJQU5CMEFCcUlRVWdBMEhJQUdvaEJpQURRVUJySVFjZ0EwRTRhaUVJSUFOQk1Hb2hDU0FEUVNocUlRb2dBeUFBUTZ6Rkp6Y1F5QU1FZnlBSUlBR3lJZ3c0QWdBZ0NFTUFBQUFBT0FJRUlBa2dERGdDQUNBSklBS3lJZ3c0QWdRZ0NrTUFBQUFBT0FJQUlBb2dERGdDQkNBRUlBTkJsTVFERUtvQklBVWdBeUFJRUtvQklBWWdBeUFKRUtvQklBY2dBeUFLRUtvQklBUWdCU0FHSUFjUStnY2dBU0FDYkxkRUxVTWM2K0kyR2oraXRsMEVmMEVBQlNBRUlBVWdCaUFIRVBrSEN3VkJBQXNoQ3lBREpBWWdDd3M2QVFGL0lBQkJER29pQmlBRUVJY0JJQUVnQWlBRElBUWdCU0FBSUFZZ0FFRVlhaUFBS2dJa0lBQW9BaWdnQUNnQ0xDQUFLQUl3RVBnSEM4b0dBZzEvQVgwakJpRUlJd1pCUUdza0JpQUlRU2hxSVFRZ0NFRTBhaUVNSUFoQk1Hb2hEU0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVCREFBQWdRUkJwSVJFZ0NDQURRd0FBQUFBUXlBTkZCRUFnQkVIQXlBTkI0b0VDRURkQis0RUNFRGRCNzZJQ0VEZEJ4QUVRUGtIMm9nSVFOMEg2Z2dJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0JCQThJQU1nQlJCQUlBTVFQeEFBQ3lBQUlBRVFjUkNBQWdKQUFrQURRQ0FKSUFFUWNVa0VRQ0FCSUFrUXhBRWhEeUFNSUEwZ0NDQUJJQWtRd3dFaURpb0NBQ0FPS2dJRUVMMENRUUFoQmtGL0lRVkJmeUVLUWYvLy8vOEhJUU1EUUNBR0lBSVFjVWtFUUNBQ0lBWVF3d0VoQnlBT0xBQVFJQWNzQUJCR0JFQWdEQ29DQUNBSEtnSUFreEJwSUEwcUFnQWdCeW9DQkpNUWFaSWdFVjVGQkVBZ0R5QUNJQVlReEFFUTJ3TWlCeUFGU1NFTElBVWdCeUFLSUFjZ0Nra2JJQXNiSVFvZ0JpQURJQXNiSVFNZ0J5QUZJQXNiSVFVTEN5QUdRUUZxSVFZTUFRc0xJQVZCZjBjRVFBSkFJQU5CZjBZTkJDQUtRWDlHQkVBZ0JDQUpJQU1Rd2dFZ0FDZ0NCQ0lESUFBb0FnaEpCRUFnQXlBRUtRTUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBVWdBQ0FFRUpZQkN3d0JDeUFGc3lBS3M1VWdBQ29DREYwRVFDQUVJQWtnQXhEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxDd3NMSUFsQkFXb2hDUXdCQ3dzTUFRc2dCRUhBeUFOQm00TUNFRGRCKzRFQ0VEZEI3NklDRURkQjhRRVFQa0gyb2dJUU4wSGpnd0lRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdBQWhBK1FmYWlBaEEzUWJHRUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUVFRHdnQUNBQkVFQWdBQkEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoRUFzTEN5QUlKQVlnRUF2OEF3RU1meU1HSVE0akJrRVFhaVFHSUE0aEJDQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUFnQUNBQkVIRVFnQUlEUUNBRklBRVFjVWtFUUNBQklBVVF4QUVoRENBQklBVVF3d0VoRFVFQUlRZEJmeUVHUWYvLy8vOEhJUWhCZnlFREEwQWdCeUFDRUhGSkJFQWdEU3dBRUNBQ0lBY1F3d0VzQUJCR0JFQWdCeUFJSUF3Z0FpQUhFTVFCRUlJQ0lnb2dCa2tpQ3hzaENDQUdJQW9nQXlBS0lBTkpHeUFMR3lFRElBb2dCaUFMR3lFR0N5QUhRUUZxSVFjTUFRc0xJQVpCZjBjRVFBSkFJQU5CZjBZRVFDQUVJQVVnQ0JEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFheklBT3psU0FBS2dJTVhRUkFJQVFnQlNBSUVNSUJJQUFvQWdRaUF5QUFLQUlJU1FSQUlBTWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JVRUJhaUVGREFFTEN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wSHdBQkErUWZhaUFoQTNRYkdFQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRUVEd2dBaUFBRUVBZ0FoQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhDUXNMQ3lBRUpBWWdDUXVwQlFFTGZ5TUdJUVFqQmtFUWFpUUdJQUFnQUNnQ0FEWUNCQ0FCRUhFRVFDQUNFSEVFUUNBQUlBRVFjUkNBQWdKQUFrQURRQ0FHSUFFUWNVa0VRQ0FESUFFZ0JoREVBU0lNRU5VSElBRWdCaEREQVNFTklBTkJ5QUJxSVFwQkFDRUhRWDhoQlVGL0lRaEIvLy8vL3djaEN3TkFJQWNnQ2lnQ0JDQUtLQUlBSWdsclFRSjFTUVJBSUEwc0FCQWdBaUFIUVFKMElBbHFLQUlBRU1NQkxBQVFSZ1JBSUF3Z0FpQUtLQUlBSUFkQkFuUnFLQUlBRU1RQkVJSUNJZ2tnQlVrRWZ5QUZJUWdnQ2lnQ0FDQUhRUUowYWlnQ0FDRUxJQWtGSUFrZ0NDQUpJQWhKR3lFSUlBVUxJUVVMSUFkQkFXb2hCd3dCQ3dzZ0JVRi9Sd1JBQWtBZ0MwRi9SZzBFSUFoQmYwWUVRQ0FFSUFZZ0N4RENBU0FBS0FJRUlnVWdBQ2dDQ0VrRVFDQUZJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBV3pJQWl6bFNBQUtnSU1YUVJBSUFRZ0JpQUxFTUlCSUFBb0FnUWlCU0FBS0FJSVNRUkFJQVVnQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCa0VCYWlFR0RBRUxDd3dCQ3lBRVFjRElBMEdiZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdnQVJBK1FmYWlBaEEzUWVPREFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BZ1FnQUNnQ0FHdEJBM1VnQVJCeFN3UkFJQVJCd01nRFFmV0RBaEEzUWZ1QkFoQTNRZStpQWhBM1FhOEJFRDVCOXFJQ0VEZEJzWVFDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQVVnQUNnQ0JDQUFLQUlBYTBFRGRTRU9Dd3NMSUFRa0JpQU9DNXNHQVE5L0l3WWhCU01HUVpBQmFpUUdJQVZCNkFCcUlRSWdCVUhJQUdvaEF5QUZRU2hxSVFRZ0FDQUFRUXhxSWcwb0FnQTJBaEFnQUVGL05nSVlJQUVRaGdGQkVHb2hDU0FBUWZ3RWFpRUlJQUJCakFWcUlRd2dBRUdVQm1vaERpQUFRUnhxSVE4Z0FFSFFBR29oQ3dOQUlBc29BZ0FpQ3dSQUlBSkJub0FDRUhrZ0FDd0FDRVVoRUNBQkVJWUJJUWNnQzBFTWFpSUdLQUlBRUlZQklRb0NRQUpBSUJBRVFDQUlJQWNnQ2hEK0J5QUFLQUlBVHcwQkJTQUlJQWNnQ2lBTEtBSU1RU1JxRVA4SElBQW9BZ0JQRFFFTElBSVFhd3dCQ3lBQ0VHc2dCaWdDQUJDR0FSQ0JBaUVISUFKQnI0QUNFSGtnRENBSklBY2dDQ0FCS0FJQUlBRW9BZ1FnQmlnQ0FDZ0NBQ0FHS0FJQUtBSUVFTXdESWdwQkFFZ0VRQ0FDRUdzTUFRc2dBaEJySUFKQkFEWUNBQ0FDUVFBMkFnUWdBa0VBTmdJSUlBVkJ3SUFDRUhrZ0FpQU1JQWdnQ2hETEF5QUZFR3NnQTBIWGdBSVFlUUpBSUFVZ0NTQUhJQUlnRGlBR0tBSUFLQUlBSUFZb0FnQW9BZ1FReWdORkJFQWdBeEJyREFFTElBTVFheUFEUVFBMkFnQWdBMEVBTmdJRUlBTkJBRFlDQ0NBRVFlK0FBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtEQWtBZ0F5Z0NCQ0FES0FJQWEwRURkU0FBS0FJQVNRUkFJQVFRYXd3QkN5QUVFR3NnQkVHQWdRSVFlU0FJSUFFUWhnRWdCaWdDQUJDR0FTQUZFUDBISUFBb0FnQkpCRUFnQkJCckRBRUxJQVFRYXlBRVFaR0JBaEI1SUF3Z0NTQUhJQWdnQVNnQ0FDQUJLQUlFSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRNQXlJS1FRQklCRUFnQkJCckRBRUxJQVFRYXlBRVFhS0JBaEI1SUFJZ0RDQUlJQW9ReXdNZ0JCQnJJQVJCdVlFQ0VIa2dCU0FKSUFjZ0FpQU9JQVlvQWdBb0FnQWdCaWdDQUNnQ0JCREtBMFVFUUNBRUVHc01BUXNnQkJCcklBTWdBeWdDQURZQ0JDQUVRZEdCQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rRElBUVFheUFES0FJRUlBTW9BZ0JyUVFOMUlnWWdBQ2dDQUU4RVFDQUdJQUFvQWhBZ0RTZ0NBR3RCQTNWTEJFQWdEeUFGRUw0Q0lBMGdBeENKQWlBQUlBc29BZ2cyQWhnTEN3c2dBeEJWQ3lBQ0VGVUxEQUVMQ3lBQUtBSVlHaUFGSkFZTDNBSUJCMzhqQmlFQ0l3WkJRR3NrQmlBQ1FSQnFJUU1nQWtFNGFpRUVBa0FDUUNBQVFhQUJhaUlHS0FJQUlBRVFkQ2dDQUNnQ0JFY05BQ0FHS0FJRUlBRVFkQ2dDQUNnQ0NFY05BQXdCQ3lBR0lBRVErd2dMUVpRQkVGRWlCUkRuQXlBQ1FRQTJBakFnQXlBQ0tBSXdOZ0lBSUFRZ0JSRG1BeUFFS0FJQUlRY2dCQ0FBUVVCcklnVW9BZ0EyQWdBZ0JTQUhOZ0lBSUFRb0FnUWhCeUFFSUFBb0FrUTJBZ1FnQUNBSE5nSkVJQVFRbFFFZ0JTZ0NBQ0FCRUhRb0FnQW9BZ1FRNVFNZ0JTZ0NBQ0FCRUhRb0FnQW9BZ2dRNUFNZ0EwR0k4UUVRZVNBRktBSUFJQUVnQmlBQVFid0NhaEN0Q0NBREVHc0NmeERqQXlFSUlBTVF1d01nQXlnQ0FDQURJQU1zQUF0QkFFZ2JJUVFnQlNnQ0FCQ0dBUkJ4SVFZZ0FrSHdvd0kyQWdBZ0FpQUVOZ0lFSUFKQi9QMEJOZ0lJSUFJZ0JqWUNEQ0FJQzBIUS9RRWdBaEMzQXlBREVFY2dBQ0FGS0FJQUVJQUlJQUlrQmd1UUFRRURmeU1HSVFNakJrRWdhaVFHQWtBQ1FDQUFRZHdBYWlJQ0VIUWlCQ2dDQkNBRUtBSUFSZzBBSUFJUWRDZ0NBQ2dDQkNBQktBSUVSdzBBSUFJUWRDZ0NBQ2dDQ0NBQktBSUlSdzBBREFFTElBRW9BZ1FnQVNnQ0NCQ3VDQ0VFSUFJZ0FTZ0NCQ0FCS0FJSUlBUVEwQWdMSUFOQit2QUJFSGtnQWlBQkVNZ0lJQU1RYXlBQUlBSVFnUWdnQXlRR0N5VUJBWDlCa0JBUVJDSUNCRUFnQWtFQU5nSUFJQUlnQURZQ0JDQUNJQUUyQWdnTElBSUxOQUVCZnlNR0lRUWpCa0VnYWlRR0lBUWdBVUVCSUFJZ0F5QUNFTGdESUFBb0FnQW9BZ0FnQkJDQ0NDQUVFTjBCSUFRa0Jnc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUTFBTWdBQ0FBS0FJSVFSUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEM2Z0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUlFRT1NBQlNRUkFRY3lacytZQUlBTWdBQ2dDQUd0QkZCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVVRURraUJVRUJkQ0lHSUFZZ0Ewa2JRY3lacytZQUlBVkI1c3laTTBrYklBQW9BZ1FnQkd0QkZCQTVJQUJCQ0dvUStnTWdBaUFCRUlVSUlBQWdBaEQ1QXlBQ0VQZ0RDd1VnQUNBQkVOVURDeUFDSkFZTFVnRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUZzYWlFQkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0SUFCQkFEWUNDQ0FBUVFBMkFnUWdBRUVBTmdJQUN3c3RBUUYvSUFBb0FnZ2hBZ05BSUFKQkFEb0FBQ0FBSUFBb0FnaEJBV29pQWpZQ0NDQUJRWDlxSWdFTkFBc0xMUUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTZBQUFnQUNBQUtBSUVRUUZxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNWtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05ySUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCcmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpQUJFSWdJSUFBZ0FoRFhBaUFDRU5ZQ0N3VWdBQ0FCRUlrSUN5QUNKQVlMTHdFQmYwSC8vLy8vQnlBQlNRUkFFQUFGSUFBZ0FSQlJJZ0kyQWdRZ0FDQUNOZ0lBSUFBZ0FTQUNhallDQ0FzTFhRRUJmMEhWcXRXcUFTQUJTUVJBRUFBTElBRkIxYXJWcWdGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkRHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJER3dnQW1vMkFnZ0xDK2NCQVFkL0lBSWdBV3RCREJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUXdRT1VzRVFDQUFFTThEUWRXcTFhb0JJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkRCQTVJZ1JCQVhRaUJTQUZJQU5KRzBIVnF0V3FBU0FFUWFyVnF0VUFTUnNRakFnZ0FDQUJJQUlnQXhEUUF3c0ZJQU1nQUNnQ0JDQUVhMEVNRURraUJrc2hCU0FHUVF4c0lBRnFJQUlnQlJzaUNDQUJheUlHUVF3UU9TRUpJQVlFUUNBRUlBRWdCaERuQVJvTElBVUVRQ0FBSUFnZ0FpQURJQUFvQWdRZ0FDZ0NBR3RCREJBNWF4RFFBd1VnQUNBSlFReHNJQWRxTmdJRUN3c0x5QUVCQW44akJpRUVJd1pCRUdva0JpQUVRUVJxSVFNZ0JDQUNOZ0lBSUFCQnlBQnFJZ0lnQkJEb0F3UkFRUkFRQlNFQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQTBIbzhBRkI2UEFCRUdBUWZpQUFJQU1RaGdJZ0FFR0k4Z0JCQlJBRUN5QUNJQVFRcXdnaEFDQURJQUVvQWdBaUFqWUNBQ0FESUFFb0FnUWlBVFlDQkNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnUUZRUUFMSVFFZ0F5QUFLQUlBTmdJQUlBQWdBallDQUNBRElBQW9BZ1EyQWdRZ0FDQUJOZ0lFSUFNUWxRRWdCQ1FHQzhNQkFRVi9JQUFvQWdBaUF5RUZJQUlnQVdzaUJDQUFLQUlJSUFOclN3UkFJQUFRendOQi8vLy8vd2NnQkVrRVFCQUFCU0FBSUFRZ0FDZ0NDQ0FBS0FJQWF5SURRUUYwSWdVZ0JTQUVTUnRCLy8vLy93Y2dBMEgvLy8vL0Ewa2JFSXNJSUFBZ0FTQUNJQVFRemdNTEJTQUVJQUFvQWdRZ0Eyc2lCa3NoQXlBQklBWnFJQUlnQXhzaUJ5QUJheUlHQkVBZ0JTQUJJQVlRNXdFYUN5QURCRUFnQUNBSElBSWdBQ2dDQUNBRUlBQW9BZ1JyYWhET0F3VWdBQ0FGSUFacU5nSUVDd3NMTmdFQ2Z5QUFLQUlFSUFBb0FnQWlBMnNpQWlBQlNRUkFJQUFnQVNBQ2F4Q0tDQVVnQWlBQlN3UkFJQUFnQVNBRGFqWUNCQXNMQzRrQ0FRaC9JQUlnQVd0QkZCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVJRUU9Vc0VRQ0FBRUljSVFjeVpzK1lBSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJGQkE1SWdSQkFYUWlCU0FGSUFOSkcwSE1tYlBtQUNBRVFlYk1tVE5KR3hEV0F5QUFJQUVnQWlBREVNMERDd1VDUUNBRElBQW9BZ1FnQkd0QkZCQTVJZ1pMSVFVZ0JrRVViQ0FCYWlBQ0lBVWJJZ2dnQVdzaUJrRVVFRGtoQ2lBR0JFQWdCQ0FCSUFZUTV3RWFDeUFGQkVBZ0FDQUlJQUlnQXlBQUtBSUVJQUFvQWdCclFSUVFPV3NRelFNTUFRc2dDa0VVYkNBSGFpRUNJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JBc0xDOWtDQVFWL0l3WWhCeU1HUVNCcUpBWWdCMEVNYWlJSUlBWTJBZ0JCbEFFUVVTSUpFT2NESUFkQkFEWUNDQ0FIUVJocUlnb2dCeWdDQ0RZQ0FDQUhRUkJxSWdZZ0NSRG1BeUFHS0FJQUlBUVE1UU1nQmlnQ0FDQUZFT1FESUFZb0FnQVFoZ0VRMGdNZ0JpZ0NBQkNHQVJDQkFpQUJLQUlFSUFFb0FnQnJRUlFRT1JEUkF5QUdLQUlBRUlZQkVJRUNJZ1FnQVVjRVFDQUVJQUVvQWdBZ0FTZ0NCQkNSQ0FzZ0JpZ0NBQkNHQVJCMElBSW9BZ1FnQWlnQ0FHc1FrQWdnQmlnQ0FCQ0dBUkIwSWdFZ0FrY0VRQ0FCSUFJb0FnQWdBaWdDQkJDUENBc2dCaWdDQUJDc0NBSi9JQUFvQWdBb0FnQWhDeUFISUFZb0FnQTJBZ0FnQnlBR0tBSUVJZ0UyQWdRZ0FRUkFJQUVnQVNnQ0JFRUJhallDQkFzZ0N3c2dCeUFJS0FJQUVJNElJQWNRbFFFZ0FDZ0NBRUVFYWlBSUVNTUNJZ0FnQTBjRVFDQUFJQU1vQWdBZ0F5Z0NCQkNOQ0FzZ0JoQ1ZBU0FISkFZTFB3QWdBQ0FCTmdJQUlBQkJCR29pQUVJQU53SUFJQUJDQURjQ0NDQUFRZ0EzQWhBZ0FFSUFOd0lZSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUlBTndJd0Mxd0JBWDhnQUVIU0NUWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBQkJER29pQVNBQUVKTUlJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFSUFOd0pJSUFCQ0FEY0NVQ0FBUWdBM0FsZ2dBRUVRTmdKc0lBRVEyQU1nQVVFQkVOY0RDeFFBSUFCQkRHcEJBQ0FCS0FJRVFiWDhBVVliQ3hVQUlBQW9BZ3dpQUFSQUlBQVFtd2dnQUJBNEN3c2VBQ0FBUVRCcUVGVWdBRUVrYWhCVklBQkJHR29RVlNBQVFReHFFRlVMT1FFQmZ5QUFRZFFBYWhEVEF5QUFRY2dBYWhCVklBQkJER29RbHdnZ0FDZ0NDQ0VCSUFCQkFEWUNDQ0FCQkVBZ0FSREVBaUFCRURnTEM4WURBZ04vQVh3akJpRURJd1pCd0FGcUpBWWdBeUFCUWFnQmFrRUVJQUVvQWd4QkFFZ0VmeUFCUVJScUJTQUJLQUlJUVFCSUJIOGdBVUVZYWdVZ0FVRVFhZ3NMS0FJQUlnUnJRUVFRVHlJRlFRUjBhaXNEQURrRFlDQURJQUVnQlVFRWRHb3JBN0FCT1FOb0lBTWdBVUdvQVdwQkJTQUVhMEVFRUU4aUJVRUVkR29yQXdBNUEzQWdBeUFCSUFWQkJIUnFLd093QVRrRGVDQURJQUZCcUFGcVFRWWdCR3RCQkJCUElnVkJCSFJxS3dNQU9RT0FBU0FESUFFZ0JVRUVkR29yQTdBQk9RT0lBU0FESUFGQnFBRnFRUWNnQkd0QkJCQlBJZ1JCQkhScUt3TUFPUU9RQVNBRElBRWdCRUVFZEdvckE3QUJPUU9ZQVNBRElBSkVBQUFBQUFBQTRMK2lJZ1k1QXdBZ0F5QUNSQUFBQUFBQUFPQS9vaUlDT1FNSUlBTkVBQUFBQUFBQUFBQTVBeEFnQXlBQ09RTVlJQU1nQWprRElDQURSQUFBQUFBQUFBQUFPUU1vSUFNZ0Fqa0RNQ0FESUFZNUF6Z2dBMEZBYTBRQUFBQUFBQUFBQURrREFDQURJQVk1QTBnZ0F5QUdPUU5RSUFORUFBQUFBQUFBQUFBNUExZ2dBMEdvQVdvaUFTQURRZUFBYWpZQ0FDQUJJQU0yQWdRZ0FVRUVOZ0lJSUFBb0FnQWdBVUdBcEFOQmdLUURJQU5Cb0FGcUVPb0JHaUFES3dPZ0FSb2dBeVFHQzlNVEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdBVUVDRURraERDQUNRUUlRT1NFT0lBUW9BZ0FpQnlFQ0lBd2dEa0YvYWlJUWJFRUJkQ0FIYWlFRkEwQWdCaUFNU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUdRUUZxSVFZTUFRc0xJQWNoQWlBTVFYOXFJaEZCQVhRZ0Iyb2hCVUVBSVFZRFFDQUdJQTVJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FNUVFGMElBSnFJUUlnREVFQmRDQUZhaUVGSUFaQkFXb2hCZ3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdER3NoRWlBQUlBRkJBWFJCQW1wcUlRMUJBU0VMUVFBaEJTQU1RUUZxUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENRTkFJQWtnRVVnRVFDQU5MUUFBSUFOS0JFQWdCMEVBT3dFQUJRSkFJQkpCQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNMSUExQkFtb2hEU0FKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUExcVFRUnFJUTBnQzBFQmFpRUxJQUFoQlNBSFFRUnFJUWNNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVIUVFFaEFFRUJJUU1EUUNBRElBVk1CRUFnQXlBQ0tBSUFJZ1pHQkVBZ0FFRUJhaUVCQlNBQUlRRWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFDSUFBMkFnQWdBU0VBSUFOQkFXb2hBeUFDUVFScUlRSU1BUXNMSUFRZ0FFRi9haUlBTmdJSUlBQUVmeUFIUVFBZ0FFRUNkQkJGR2lBRVFaQ0FLR3BCQUNBQVFRUjBFRVVhUVFBaEFRTkFJQUVnQUVnRVFDQUVRWXlBQ0dvZ0FVRUNkQ0lDUVFKMGFpQU1OZ0lBSUFSQmpJQUlhaUFDUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQ1FRSnlRUUowYWlBT05nSUFJQVJCaklBSWFpQUNRUU55UVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QkFDRUJBMEFnQVNBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBQlFRSjBhaWdDQUVGL2FpSUNRUUowYWlJRElBUkJrSURRQUdvZ0FVRUhiQ0lBUVFKMGFpZ0NBQ0FES0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJRFFRTjBhaUlISUFjckF3QWdBRUVDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFEUVFGeVFRTjBhaUlESUFNckF3QWdBRUVDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2NnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJSFNBUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0drZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdJb0FnQWdBRUVDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFJZ0FEWUNBQXNnQVVFQmFpRUJEQUVMQ3lBRUtBSUlJUUZCQUNFQUEzOGdBQ0FCU0FSL0lBUkJrSUFvYWlBQVFRRjBJZ0pCQTNScUlnTWdBeXNEQUNBRVFReHFJQUJCQW5ScUtBSUF0eUlWb3prREFDQUVRWkNBS0dvZ0FrRUJja0VEZEdvaUFpQUNLd01BSUJXak9RTUFJQUJCQVdvaEFBd0JCVUVBQ3dzRlFRQUxDeUVVSUE4a0JpQVVDeDRBSUFCQkpHb1FtQWdnQUVFSWFpSUFRUkJxRU5rQ0lBQkJCR29RVlFzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTllESUFBZ0FSRFZBd3NMWFFFQmYwSC8vLy8vQXlBQlNRUkFFQUFMSUFGQi8vLy8vd05MQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQW5RUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkFuUWdBbW8yQWdnTEN6c0JBMzhnQVNFRUlBQW9BZ2dpQlNFREEwQWdBeUFDS0FJQU5nSUFJQU5CQkdvaEF5QUVRWDlxSWdRTkFBc2dBQ0FCUVFKMElBVnFOZ0lJQzlvQkFRWi9Jd1loQ0NNR1FTQnFKQVlnQ0NFRUlBQW9BZ1FpQXlFR0lBQW9BZ2dnQTJ0QkFuVWdBVWtFUUVILy8vLy9BeUFCSUFNZ0FDZ0NBR3RCQW5WcUlnZEpCRUFRQUFVZ0JDQUhJQUFvQWdnZ0FDZ0NBQ0lGYXlJR1FRRjFJZ01nQXlBSFNSdEIvLy8vL3dNZ0JrRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JXdEJBblVnQUVFSWFoRElBU0FFSUFFZ0FoQ2VDQ0FBSUFRUTVBRWdCQkRIQVFzRklBRWhBeUFHSVFVRFFDQUZJQUlvQWdBMkFnQWdCVUVFYWlFRklBTkJmMm9pQXcwQUN5QUFJQUZCQW5RZ0JtbzJBZ1FMSUFRa0JndUZCUUVIZnlNR0lRa2pCa0VRYWlRR0lBQW9BZ1FnQUNnQ0FHdEJBblVnQkVjRVFDQUpRY0RJQTBHWjhRRVFOMEczOVFFUU4wSHZvZ0lRTjBIR0FSQStRZmFpQWhBM1FhejRBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQUpCQUV3RVFDQUpRY0RJQTBIVjlnRVFOMEczOVFFUU4wSHZvZ0lRTjBISEFSQStRZmFpQWhBM1FmMzJBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQVFnQWtvRVFDQUpRY0RJQTBHaDl3RVFOMEczOVFFUU4wSHZvZ0lRTjBISUFSQStRZmFpQWhBM1FkVDNBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxJQVpCQUV3RVFDQUpRY0RJQTBISitBRVFOMEczOVFFUU4wSHZvZ0lRTjBISkFSQStRZmFpQWhBM1FmRDRBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxRUUFoQ0FOQUlBZ2dCRWdFUUNBSVFRSjBJQU5xSVF4QkFDRUtRWDhoQWdOQUlBWWdDa2NFUUNBQklBd29BZ0JCNEFCc2FpQUJJQXBCQW5RZ0JXb2lEU2dDQUVFQ2RDQURhaWdDQUVIZ0FHeHFFSUlDSWdjZ0Fra0VRQ0FBS0FJQUlBaEJBblJxSUEwb0FnQTJBZ0FnQnlFQ0N5QUtRUUZxSVFvTUFRc0xJQUlnQzJvaEN5QUlRUUZxSVFnTUFRc0xJQWtrQmlBTEMxQUJBWDhnQUVFWUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBS0FJQU5nSUlJQVJCQURZQ0RDQUVRUUEyQWhBZ0JFRUFOZ0lVSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUN6SUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWlBQ1FlQUFFRXdhQzB3QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkFuVWdBVWtFUUNBQ0lBRWdBQ2dDQkNBRGEwRUNkU0FBUVFocUVNZ0JJQUFnQWhEa0FTQUNFTWNCQ3lBQ0pBWUxuQUVCQlg4akJpRUNJd1pCSUdva0JrSC8vLy8vQXlBQUtBSUVJQUFvQWdCclFRSjFRUUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFGMUlnWWdCaUFEU1J0Qi8vLy8vd01nQlVFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQkd0QkFuVWdBRUVJYWhESUFTQUNLQUlJSWdNZ0FTZ0NBRFlDQUNBQ0lBTkJCR28yQWdnZ0FDQUNFT1FCSUFJUXh3RWdBaVFHQ3d2REJnRUdmeU1HSVFZakJrRVFhaVFHSUFBb0FnUWlDQ0FBS0FJUUlBQW9BZ3hyUVFKMVJ3UkFJQVpCd01nRFFZcjFBUkEzUWJmMUFSQTNRZStpQWhBM1Fab0JFRDVCOXFJQ0VEZEJxUFlCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQWtFQVRBUkFJQVpCd01nRFFkWDJBUkEzUWJmMUFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIvZllCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkNBQ1NnUkFJQVpCd01nRFFhSDNBUkEzUWJmMUFSQTNRZStpQWhBM1Fad0JFRDVCOXFJQ0VEZEIxUGNCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQ0NBRVNnUkFJQVpCd01nRFFlLzNBUkEzUWJmMUFSQTNRZStpQWhBM1FaMEJFRDVCOXFJQ0VEZEJtUGdCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VISUFoQkNpQUhRVDl4UVlvQmFoRUNBQ0VJSUFZUVBDQUZJQWdRUUNBRkVEOFFBQXNnQmtGL05nSUFJQUJCR0dvaUNpQUVJQVlRM1FNZ0JrRi9OZ0lBSUFCQkpHb2lDU0FFSUFZUTNRTWdBRUV3YWlBRUVJY0JJQUFvQWpBaUJTQUFLQUkwSUFWclFRSjFFTndEUVg4aEJVRUFJUWNEUUNBSElBQW9BZ2hJQkVBZ0FDZ0NNQ0lJSUFBb0FqUWdDR3RCQW5VZ0FDZ0NCQ0FBS0FJQUVNRUNJQWtnQVNBQ0lBTWdCQ0FBS0FJd0lBQW9BZ1FRb0FnaUNDQUZTUVJBSUFvZ0NSQ0pBaUFBS0FJTUlBQW9BakFnQUNnQ0JFRUNkQkJNR2lBSUlRVUxJQWRCQVdvaEJ3d0JDd3NnQUNnQ0JDQUFLQUlRSUFBb0FneHJRUUoxUmdSQUlBWWtCZ1VnQmtIQXlBTkJpdlVCRURkQnQvVUJFRGRCNzZJQ0VEZEJ1d0VRUGtIMm9nSVFOMEdvOWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQUFnQVJCQUlBQVFQeEFBQ3d2a0JBSU5md044SXdZaENpTUdRUkJxSkFZZ0NrRUVhaUVRUVFJUTV3SWhEa0VDRU9jQ0lRdEJBa0VDRUlzQklRd0Nmd0pBQWtBRFFBSkFJQWRCQkU4TkFpQUhRUUZxSWdKQkFuUWdBMm9vQWdBaUQwRUJhaUFIUVFKMElBTnFLQUlBSWdocnQwU2FtWm1abVptcFA2SkVBQUFBQUFBQTREK2dJaFFnQ0xlZ0VITWhFU0FQdHlBVW9SQnpJQkZySWhKQkFXcEJBaENMQVNFTlFRQWhDUU5BSUFrZ0Vrd0VRQ0FFSUFrZ0VXb2lDRUVDZENBQWFpZ0NBTElnQ0VFQ2RDQUJhaWdDQUxJZ0VDQUtFS1lCUVFCSURRSWdEU2dDQUNJSUlBbEJBWFFpRDBFRGRHb2dFQ29DQUxzNUF3QWdEMEVCY2tFRGRDQUlhaUFLS2dJQXV6a0RBQ0FKUVFGcUlRa01BUXNMSUEwZ0RDQU9JQXNRblFWQkFFZ05BeUFIUVJoc0lBVnFJQXdvQWdBaUNDc0RDQ0lWT1FNQUlBZEJHR3dnQldvZ0NDc0RBSm9pRkRrRENDQUhRUmhzSUFWcUlCVWdDeWdDQUNJSEt3TUFvaUFIS3dNSUlCU2lvSm81QXhBZ0RSQkpJQUloQnd3QkN3c01BUXNnREJCSklBc1F6d0VnRGhEUEFVRUFJUVFEZjBFQUlBUkJCRThOQWhvZ0JFRURha0VEY1NJQVFSaHNJQVZxSWdNckF3QWdCRUVZYkNBRmFpc0RDQ0lWb2lBRVFSaHNJQVZxSWdJckF3QWdBRUVZYkNBRmFpc0RDQ0lVb3FFaUZwbEVMVU1jNitJMkdqOWpCSDlCZndVZ0JFRUVkQ0FHYWlBVUlBUkJHR3dnQldvaUFTc0RFS0lnRlNBQVFSaHNJQVZxSWdBckF4Q2lvU0FXb3prREFDQUVRUVIwSUFacUlBSXJBd0FnQUNzREVLSWdBeXNEQUNBQkt3TVFvcUVnRnFNNUF3Z2dCRUVCYWlFRURBRUxDd3dCQ3lBTkVFa2dEQkJKSUFzUXp3RWdEaERQQVVGL0N5RVRJQW9rQmlBVEN6QUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWtIZ0FCRFpBd3RPQVFKL1FZQUJFRkVpQmlBQUVPRURFS2NJSUFBb0FnZ2hCU0FBSUFZMkFnZ2dCUVIvSUFVUXhBSWdCUkE0SUFBb0FnZ0ZJQVlMUVFBUWd3SWdBQ0FBS0FJSUlBRWdBaUFESUFRUTRBTUxYZ0VFZnlNR0lRTWpCa0VRYWlRR0lBTWdBaENFQWlBREtBSUVJQU1vQWdBaUJXdEJBblVoQmdOQUlBUWdCa2NFUUNBRVFRSjBJQVZxSUFRMkFnQWdCRUVCYWlFRURBRUxDeUFBSUFFZ0FpQUZJQVlRcUFnZ0F4QlZJQU1rQmd0SkFRRi9JQUJCRkJCUklnUTJBZ0FnQUNBQlFRaHFOZ0lFSUFRZ0F5Z0NBQ2dDQURZQ0NDQUVRUUEyQWd3Z0JFRUFOZ0lRSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUXFnZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFB3RUJmeUFBUVNScUlnRkJER3BCZ0FFUTF3TWdBVUVNYWhEWUF5QUJRUWcyQW1nZ0FVRVFOZ0pzSUFFZ0FFRUlhaUlBRUhRb0FnQWdBQkJ4RUtrSUM4OEdBUVYvSXdZaENDTUdRU0JxSkFZZ0NFRVVhaUVHSUFGRkJFQWdCa0hBeUFOQng1WUNFRGRCa1BrQkVEZEI3NklDRURkQjFBRVFQa0gyb2dJUU4wSFVsd0lRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDUlFSQUlBWkJ3TWdEUVlqNkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRVQkVENUI5cUlDRURkQnFQb0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwSWdRb0FnUWdCQ2dDQUVZRVFDQUdRY0RJQTBHNStnRVFOMEdRK1FFUU4wSHZvZ0lRTjBIV0FSQStRZmFpQWhBM1FlMzZBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZFRUFnQkJBL0VBQUxJQUVRZENnQ0FDZ0NCQ0FDS0FJQVJ3UkFJQVpCd01nRFFmNzZBUkEzUVpENUFSQTNRZStpQWhBM1FkY0JFRDVCOXFJQ0VEZEJ4L3NCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMEtBSUFLQUlJSUFJb0FnUkhCRUFnQmtIQXlBTkI2dnNCRURkQmtQa0JFRGRCNzZJQ0VEZEIyQUVRUGtIMm9nSVFOMEhIK3dFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ0lBRVE5QWdnQmlBQ0VNQUNJZ1FvQWdRZ0JDZ0NBR3RCSkJBNUVKd0lRUUFoQkFOQUlBUWdBaERBQWlJRktBSUVJQVVvQWdCclFTUVFPVWtFUUNBSUlBSVF3QUlvQWdBaUJTQUVRU1JzYWlvQ0FDQUVRU1JzSUFWcUtnSUVJQVJCSkd3Z0JXb3FBZ2dnQkVFa2JDQUZhaW9DSENBRVFTUnNJQVZxS2dJWVF3QUFBQUJlRVB3RElBWW9BZ0FnQkVFVWJHb2lCU0FJS1FJQU53SUFJQVVnQ0NrQ0NEY0NDQ0FGSUFnc0FCQTZBQkFnQkVFQmFpRUVEQUVMQ3lBRElBQVFoZ0VnQVNBR0VMWUhJQVlRMlFJZ0NDUUdDeThCQVg4RFFDQUFRUWhJSUFGQkNFaHlSUVJBSUFKQkFXb2hBaUFCUVFGMUlRRWdBRUVCZFNFQURBRUxDeUFDQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVEZEJCRkdpQUFJQUZCQTNRZ0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUU4wRUVVYUlBQWdBVUVEZENBQ2FqWUNCQXVsQVFFRmZ5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYTBFRGRTQUJTUVJBUWYvLy8vOEJJQUVnQXlBQUtBSUFhMEVEZFdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlnQVJDdkNDQUFJQUlRelFJZ0FoRE1BZ3NGSUFBZ0FSQ3dDQXNnQWlRR0N6MEJBbjhnQUNnQ0JDQUFLQUlBSWdKclFRTjFJZ0ZCZ0FoSkJFQWdBRUdBQ0NBQmF4Q3hDQVVnQVVHQUNFc0VRQ0FBSUFKQmdFQnJOZ0lFQ3dzTE5BQWdBRUdBeUFBUWh3RWdBRUVZYWhDeUNDQUFRd3JYSXp3NEFpUWdBRUdBQ0RZQ0tDQUFRYWdJTmdJc0lBQkJNallDTUFzcUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQVFzd2dMeEFFQkFYOGdBRUVBTmdJTUlBQkJBRFlDRUNBQVFRQTJBaFFnQUVGQWF5SUJRZ0EzQWdBZ0FVSUFOd0lJSUFGQ0FEY0NFQ0FBUVlDQWdQd0ROZ0pZSUFCQjNBQnFFTkVJSUFCQm9BRnFJZ0VRZ2drZ0FFRzhBbW9RdUFjZ0FFRUFOZ0w4QkNBQVFRQTJBb0FGSUFCQkFEWUNoQVVnQUVNek16TS9PQUtJQlNBQVFZd0ZhaERGQnlBQVFaUUdhaEMwQ0NBQlF3QUFRRUE0QWpRZ0FVTUFBSUJBT0FJNElBRkI5QU1ROXdNZ0FFTUFBRUJBT0FJRUlBQkJDRFlDQUNBQVFRRTZBQWdMSkFFQ2Z3TkFJQUFFUUNBQUtBSUFJUUlnQUVFTWFoQlZJQUFRT0NBQ0lRQU1BUXNMQzQ4RkFnOS9BWHdqQmlFRUl3WkI0QUJxSkFZZ0JFRXdhaUVISUFSQjNBQnFJUU1nQkVIWUFHb2hCU0FCUVJ4cUlnZ29BZ0FoQ3lBQlFkeTRBbW9pQ1NnQ0FDRU1JQUVvQWhoQmYyb2hEVUVCSVFZRFFDQUdJQTFJQkVBZ0JpQUNJQUZCSEdvZ0JrRUNkR29vQWdBZ0Myc2lBaUFDYkNBQlFkeTRBbW9nQmtFQ2RHb29BZ0FnREdzaUFpQUNiR29pRGlBS1NpSVBHeUVDSUFaQkFXb2hCaUFPSUFvZ0R4c2hDZ3dCQ3dzZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FJSUFsQkFDQUNJQUMzUkFBQUFBQUFBT2cvbzBSN0ZLNUg0WHFFUDZJaUVTQUhJQU1RcXdGQkFFZ0VmMEYvQlNBSUlBa2dBaUFCS0FJWVFYOXFJQkVnQkNBRkVLc0JRUUJJQkg5QmZ3VUNmeUFES0FJQUlnQkJBVVlnQlNnQ0FDSUdRUUZHY1FSQUlBUW9BZ0FoQUNBSEtBSUFJUU1GQW44Z0JrVWdBRUVCU25FRVFDQUNRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBbEJBQ0FBSUJFZ0J5QURFS3NCUVFCSURRTWFRWDhnQ0NBSklBQWdBaUFSSUFRZ0JSQ3JBVUVBU0EwREdrRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUU1hSUFJaEFDQUhLQUlBSVFNZ0JDZ0NBQXdCQzBGL0lBQkZJQVpCQVVweFJRMENHaUFCS0FJWUlBSkJmMnBxUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWtnQWlBQUlCRWdCeUFERUtzQlFRQklEUUlhUVg4Z0NDQUpJQUFnQVNnQ0dFRi9haUFSSUFRZ0JSQ3JBVUVBU0EwQ0drRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUUlhSUFRb0FnQWhBQ0FDSVFNZ0J5Z0NBQXNoQWdzZ0FVR2M4UVJxUVFBMkFnQWdBVUdnOFFScUlBTTJBZ0FnQVVHazhRUnFJQUkyQWdBZ0FVR284UVJxSUFBMkFnQWdBVUdzOFFScUlBRW9BaGhCZjJvMkFnQkJBQXNMQ3lFUUlBUWtCaUFRQ3lVQkFuOERRQ0FBQkVBZ0FDZ0NBQ0VDSUFCQkRHb1FsUUVnQUJBNElBSWhBQXdCQ3dzTEtRRUJmeUFBS0FJSUVMZ0lJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUFvQWdRYUlBRVFPQXNMU2dFQ2Z5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFEWUNFQ0FBUVlDQWdQd0ROZ0lVUWNnR0VGRWlBaEMxQ0NBQUtBSUFJUUVnQUNBQ05nSUFJQUVFUUNBQkVPb0RJQUVRT0FzTE1BRUNmeUFBUVFBMkFnQkJHQkJSSWdJUXVnZ2dBQ2dDQUNFQklBQWdBallDQUNBQkJFQWdBUkRyQXlBQkVEZ0xDOXdCQWdGL0JuMGdCU29DQUNJSUlBTXFBZ0FpQjVNaENTQUlJQVFxQWdBaUNKTWdDWlFoQ2lBSElBaVRJZ3NnQ1pRaENTQUtRd0FBQUFCYklBbERBQUFBQUZ0eUlBdERBQUFBQUZ0eUJIOGdBRU1BQUFBQU9BSUFJQUZEQUFBQUFEZ0NBRU1BQUFBQUlRZEJBQVVnQUNBRktnSUVJQVFxQWdRaURKTWdDcFVnQXlvQ0JDQU1reUFKbFpNaUNUZ0NBQ0FCSUFNcUFnUWdCQ29DQkpNZ0NDQUlsQ0FISUFlVUlnZVRJQW1Va2lBTGxTSUlPQUlBSUFNcUFnUWdCeUFBS2dJQWxKTWdDQ0FES2dJQWxKTWhCMEVCQ3lFR0lBSWdCemdDQUNBR0M2UUJBZ0ovQW4wZ0FTb0NBQ0VHSUFKQmYyb2lBMEVDZENBQmFpSUVLZ0lBSVFWQkFDRUNBMEFnQWlBRFJ3UkFJQUpCQW5RZ0FHb2dCVUdJaGdFcUFnQ1VJQUpCQW5RZ0FXb3FBZ0FpQlVHTWhnRXFBZ0NVa2tHUWhnRXFBZ0FnQWtFQmFpSUNRUUowSUFGcUtnSUFsSkk0QWdBTUFRc0xJQU5CQW5RZ0FHb2dCVUdJaGdFcUFnQ1VRWXlHQVNvQ0FDQUVLZ0lBbEpJZ0JrR1FoZ0VxQWdDVWtqZ0NBQXYyQndFTWZ5TUdJUWNqQmtHZzhRUnFKQVlnQjBHUThRUnFJUTBnQjBHSThRUnFJUTRnQjBHQThRUnFJUWdnQjBIQXVBSnFJUXdnQnlFTElBUW9BZ1FoQ2lBRUtBSUFJZ2toQnlBSklBRWdCQ2dDQ0NJSmJHcEJBWFFnQUdvaEJnSi9Ba0FEUUFKQUlBY2dDa29OQWlBR0xnRUFJZ1JCQUVvRVFDQURJQVJCZjJwQkFuUWdBbW9vQWdCR0RRRUxJQWRCQVdvaEJ5QUdRUUpxSVFZTUFRc0xJQWRCZjBZTkFDQUZRUUUyQWhnZ0JTQUhOZ0ljSUFWQjNMZ0NhaUlQSUFrMkFnQkJCU0VHSUFraEJDQUhJUU5CQVNFQ0FrQUNRQU5BQWtBZ0FTQUViQ0FEYWtFQmRDQUFhaUVRUVFBaENDQUdRUVZxSVFZQ1FBSkFBMEFnQmtFSUVFOGhCaUFJUVFoUERRRWdCa0VDZEVIQUNHb29BZ0FpQkNBQklBWkJBblJCb0FocUtBSUFJZ3BzYWtFQmRDQVFhaTRCQUVFQVRBUkFJQWhCQVdvaENDQUdRUUZxSVFZTUFRc0xEQUVMSUFoQkNFWU5BU0FHUVFKMFFjQUlhaWdDQUNFRUlBWkJBblJCb0FocUtBSUFJUW9MSUFWQkhHb2dBa0VDZEdvZ0F5QUVhallDQUNBRlFkeTRBbW9nQlNnQ0dDSUNRUUowYWlBQ1FRSjBJQVZxUWRpNEFtb29BZ0FnQ21vMkFnQWdCeUFGUVJ4cUlBVW9BaGdpQTBFQ2RHb2lDQ2dDQUVZRVFDQUpJQVZCM0xnQ2FpQURRUUowYWlnQ0FFWU5Bd3NnQlNBRFFRRnFJZ0kyQWhnZ0FrR1B6Z0JHRFFNZ0JVSGN1QUpxSUFOQkFuUnFLQUlBSVFRZ0NDZ0NBQ0VEREFFTEMwRUFRUU5CNUtnQklBNFFQVUYvREFNTFFRQWhBRUVBSVFaQkFTRUJBMEFnQVNBRFNBUkFJQUVnQUNBRlFSeHFJQUZCQW5ScUtBSUFJQWRySWdBZ0FHd2dCVUhjdUFKcUlBRkJBblJxS0FJQUlBbHJJZ0FnQUd4cUlnSWdCa29pQkJzaEFDQUNJQVlnQkJzaEJpQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBRWdFUUNBQlFRSjBJQXhxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQ2RDQUxhaUFGUWR5NEFtb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQUlRRURRQ0FCSUFOSUJFQWdCVUVjYWlBQklBQnJJZ0pCQW5ScUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFKQkFuUnFJQVZCM0xnQ2FpQUJRUUowYWlnQ0FEWUNBQ0FCUVFGcUlRRWdCU2dDR0NFRERBRUxDMEVBSVFFRFFDQUJJQUJJQkVBZ0JVRWNhaUFCSUFCcklnSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnQzJvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBRlFSeHFJQVVvQWhoQkFuUnFJQVVvQWh3MkFnQWdCVUhjdUFKcUlBVW9BaGhCQW5ScUlBOG9BZ0EyQWdBZ0JTQUZLQUlZUVFGcU5nSVlRUUFNQWd0QkFFRURRZXVvQVNBTkVEMUJmd3dCQzBFQVFRTkIzYWdCSUFnUVBVRi9DeUVSSUFza0JpQVJDOFFJQWdWL0FYMGpCaUVGSXdaQkVHb2tCaUFBUlFSQUlBVkJ3TWdEUWNMckFSQTNRZWJyQVJBM1FlK2lBaEEzUVlzQkVENUI5cUlDRURkQjV1d0JFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBVU1BQUFBL2trTUFBQUFBWGdSQUlBRkRBQUFBdjVJaUNTQURzbDBFUUNBQ1F3QUFBQUJnUlFSQUlBVkJ3TWdEUWVudEFSQTNRZWJyQVJBM1FlK2lBaEEzUVkwQkVENUI5cUlDRURkQmorNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBMEYvVEFSQUlBVkJ3TWdEUWF6dUFSQTNRZWJyQVJBM1FlK2lBaEEzUVk0QkVENUI5cUlDRURkQjBlNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBdERBQUNBUHlBQklBbU9FRU1pQkxLVFF3QUFBTCtTSWdtVElRRWdBeUFFYWlBREVFOGhCaUFFUVFGcUlBTVFUeUVJSUFGREFBQUFBR0JGQkVBZ0JVSEF5QU5CN3U0QkVEZEI1dXNCRURkQjc2SUNFRGRCbGdFUVBrSDJvZ0lRTjBHTjd3RVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRTWdCRUVLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdCUkE4SUFjZ0F4QkFJQWNRUHhBQUN5QUpRd0FBQUFCZ1JRUkFJQVZCd01nRFFhSHZBUkEzUWVickFSQTNRZStpQWhBM1FaY0JFRDVCOXFJQ0VEZEJ3TzhCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQmtGL1RBUkFJQVZCd01nRFFkVHZBUkEzUWVickFSQTNRZStpQWhBM1FaZ0JFRDVCOXFJQ0VEZEJoUEFCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQ0VGL1NnUkFJQVpCQW5RZ0FHb2lBeUFCSUFLVUlBTXFBZ0NTT0FJQUlBaEJBblFnQUdvaUFDQUpJQUtVSUFBcUFnQ1NPQUlBSUFVa0JnOEZJQVZCd01nRFFaN3dBUkEzUWVickFSQTNRZStpQWhBM1Faa0JFRDVCOXFJQ0VEZEJ6dkFCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VBSUFOQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFVUVBDQUVJQUFRUUNBRUVEOFFBQXNMQ3lBRlFjRElBMEdBN1FFUU4wSG02d0VRTjBIdm9nSVFOMEdNQVJBK1FmYWlBaEEzUWNIdEFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUZRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUZFRHdnQkNBQUVFQWdCQkEvRUFBTFF3QWdBRU1BQU1CQWtpQUFsRU1BQVBCQmtpQUFsRU1BQVBCQ2tpQUFsRU1BQUxSRGtpQUFsRU1BQURSRWtpQUFsRU1BQURSRWtydEVPV3hTL212QlZqK2l0Z3Y0REFJT2Z3TjlJd1loRENNR1FUQnFKQVlnREVFZ2FpRUtJQVZEQUFBQUFHQkZCRUFnQ2tIQXlBTkI2ZWNCRURkQnZ1WUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdINkFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUVzeUFGWGtVRVFDQUtRY0RJQTBHYTZBRVFOMEcrNWdFUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1Flcm9BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVpEQUFBQUFHQkZCRUFnQ2tIQXlBTkJqdWtCRURkQnZ1WUJFRGRCNzZJQ0VEZEIrUUFRUGtIMm9nSVFOMEdzNlFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUlzeUFHWGtVRVFDQUtRY0RJQTBHLzZRRVFOMEcrNWdFUU4wSHZvZ0lRTjBINkFCQStRZmFpQWhBM1FaRHFBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQUFvQWlnZ0JDQURJQUFvQWdSc2FrRUZkR29pQ1NnQ0VFRUNSd1JBSUFwQndNZ0RRYlhxQVJBM1FiN21BUkEzUWUraUFoQTNRZjRBRUQ1QjlxSUNFRGRCM3VvQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBcEJnTTRERURvaUJDZ0NBQ2dDSENFSUlBUkJDaUFJUVQ5eFFZb0JhaEVDQUNFRUlBb1FQQ0FESUFRUVFDQURFRDhRQUFzZ0RFRVlhaUVMSUF4QkVHb2hEeUFNUVF4cUlSQWdERUVJYWlFUklBeEJCR29oRWlBQ1FRQTJBZ0FnQlVNQUFBQS9raEJESVFNZ0JrTUFBQUEva2hCRElRUWdBMEVBVGdSQUlBUkJBRWdnQ1NnQ0JDQURUWEpGQkVBZ0NTZ0NDQ0FFU3dSQUFrQkRBQUNBdjBNQUFJQS9JQUFxQWd3Z0I1UWlCME1BQUlBL0lBZGVHeUlIRUdsREFBQUFRSlNWSVJjZ0J5QUFLZ0lRbENJSEVHbU5JUmhCQUNBRElBZERBQUFBUDVJUVF5SU5heERHQVNFSUlBTWdEV29nQ1NnQ0JFRi9haENGQWlFT1FRQWdCQ0FOYXhER0FTRURJQVFnRFdvZ0NTZ0NDRUYvYWhDRkFpRU5JQUFvQWh3aUJFRUFJQUFvQWlBZ0JHdEJBblZCQW5RUVJSb0RRQ0FESUExTUJFQWdBN0lnQnBNUWFTRUhJQWtnQXhCUUlSTWdDQ0VFQTBBZ0JDQU9UQVJBSUFjZ0JMSWdCWk1RYVpJaUZpQVlYa1VFUUNBWElCYVVFTUFJSVJZZ0FDZ0NIQ0FFUVFOMElCTnFJaFFxQWdBZ0FDZ0NDQ0lWc3BTN1JIZkl5VzB3WDhRL29yWWdGaUFVS2dJRWxDQVZFTDhJQ3lBRVFRRnFJUVFNQVFzTElBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUFLQUlVU0FSQUlBQW9BaHdpQkNBRUlBQW9BZ2dRdlFnZ0EwRUJhaUVEREFFTEN5QUFLQUlJSVFOQkFDRUVRd0FBQUFBaEJRTkFJQVFnQTBnRVFDQUFLQUljSUFSQkFuUnFLZ0lBSVFZZ0JFRUJhaUVFSUFZZ0JTQUdJQVZlR3lFRkRBRUxDeUFGUXdBQUFBQmNCRUFnQlVNQUFBQUFYa1VFUUNBS1FjRElBMEg5NmdFUU4wRys1Z0VRTjBIdm9nSVFOMEhhQVJBK1FmYWlBaEEzUWFQckFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklnZ29BZ0FvQWh3aENTQUlRUW9nQ1VFL2NVR0tBV29SQWdBaENDQUtFRHdnQkNBSUVFQWdCQkEvRUFBTFFRQWhCQU5BSUFRZ0EwNE5BaUFLSUFTeUlnYzRBZ0FnQ2lBQUtBSWNJZ2dnQkVFQ2RHb2lDU2dDQUNJTk5nSUVJQXNnQkVGL2FpSU9zamdDQUNBTElBTWdEbW9nQXhCUFFRSjBJQWhxS0FJQUlnNDJBZ1FnRHlBRVFRRnFJZ1N5T0FJQUlBOGdBeUFFYWlBREVFOUJBblFnQ0dvb0FnQWlDRFlDQkNBTnZpRUdJQWtxQWdBZ0JTQUFLZ0lZbEY0RVFDQUdJQTYrWGlBR0lBaStYbkVFUUNBTUlBYzRBZ0FnRUNBUklCSWdDeUFLSUE4UXZBZ0VRQ0FSS2dJQUlRWWdFaW9DQUJvZ0VDb0NBQ0lIUXdBQUFBQmNCRUFnRENBR2pDQUhRd0FBQUVDVWxUZ0NBQXNMSUF3cUFnQkRBQUFBUDVJZ0FDZ0NDTElpQnBJZ0JwVzdSQmd0UkZUN0lSbEFva1FZTFVSVSt5RVpRQkFldGlFR0lBSW9BZ0FpQTBFQ2RDQUJhaUFHT0FJQUlBSWdBMEVCYWpZQ0FDQUFLQUlJSVFNTEN3d0FBQXNBQ3dzTEN3c2dEQ1FHQytVQkFRTi9Jd1loQkNNR1FSQnFKQVlDUUFOQUlBSWdBUkIwSWdNb0FnUWdBeWdDQUd0QkJYVkpCRUFnQVJCMEtBSUFJQUpCQlhScUlnTW9BZ1FnQXlnQ0RFRUNka2NOQWlBQUtBSW9JQUpCQlhScUtBSVlJQU1vQWhnZ0F5Z0NCQ0FES0FJSUVNVUlJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c2dCRUhBeUFOQmdlWUJFRGRCdnVZQkVEZEI3NklDRURkQjRBQVFQa0gyb2dJUU4wSEE1d0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQkJBOElBQWdBUkJBSUFBUVB4QUFDN3NCQVFWL0lBQWdBellDQUNBQUlBUTJBZ1FnQUVFa05nSUlJQUJEQUFCQVFEZ0NEQ0FBUXdBQXdEODRBaEFnQUVFRk5nSVVJQUJEemN4TVB6Z0NHQ0FBUVJ4cVFTUVFod0VnQUNJR1FTaHFJQUFvQWdBZ0FDZ0NCR3dRMUFKQkFDRUFBMEFnQUNBRFJ3UkFJQUFnQkd3aEJ5QUJJQUIySVFnZ0FpQUFkaUVKUVFBaEJRTkFJQVFnQlVjRVFDQUdLQUlvSUFVZ0IycEJCWFJxUVFJZ0NDQUpRUUlRdHdJZ0JVRUJhaUVGREFFTEN5QUFRUUZxSVFBTUFRc0xDek1BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJTUlBQkNBRGNDRkNBQVFnQTNBaHdnQUVJQU53SWtJQUJDQURjQ0xBdU5Cd0lKZndKOUlBSkJmMm9oQ1NBQlFRUnFJZ1FxQWdBZ0FTb0NBQ0lOa3lFT0lBQWdBa0VDZENBQmFpSUdLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSUVRUUVoQ0NBR0lRY0RRQ0FBUVFocUlRVWdCMEVFYWlFSElBZ2dDVWtFUUNBRklBY3FBZ0FnQkNvQ0FKTWlEaUFFUVFScUlnb3FBZ0FnQkVGOGFpb0NBSk1pRFJDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBMGdEWlFnRGlBT2xKS1JPQUlNSUFoQkFXb2hDQ0FLSVFRZ0JTRUFEQUVMQ3lBRFFYOXFJUXdnQkNvQ0FDSU5JQVJCZkdvcUFnQ1RJUTRnQlNBSEtnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhDQ0FGSVFNZ0FrRUNkQ0FHYWlFRUlBRWhCUU5BSUFOQkNHb2hBQ0FJSUF4SkJFQWdBQ0FFS2dJQUlBVXFBZ0NUSWc0Z0JrRUVhaUlBS2dJQUlBWXFBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDREVFQklRc2dBMEVRYWlFREEwQWdCRUVFYWlFSElBVkJCR29oQmlBTElBbEpCRUFnQXlBSEtnSUFJQVlxQWdDVElnNGdBRUVFYWlJS0tnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FMUVFGcUlRc2dCeUVFSUFZaEJTQUtJUUFnQTBFSWFpRUREQUVMQ3lBRElBY3FBZ0FnQmlvQ0FKTWlEaUFBS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUlRUUZxSVFnZ0JFRUlhaUVFSUFWQkNHb2hCU0FBUVFScUlRWU1BUXNMSUFJZ0RHeEJBblFnQVdvaUFVRUFJQUpyUVFKMGFpRUNJQUZCQkdvaUJDb0NBQ0FCS2dJQUlnMlRJUTRnQUNBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQURJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhCU0FBSVFFZ0JDRUFBMEFnQVVFSWFpRURJQUpCQkdvaEFpQUZJQWxKQkVBZ0F5QUFLZ0lBSUFJcUFnQ1RJZzRnQUVFRWFpSUVLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0FTQU5JQTJVSUE0Z0RwU1NrVGdDRENBRlFRRnFJUVVnQXlFQklBUWhBQXdCQ3dzZ0FDb0NBQ0lOSUFCQmZHb3FBZ0NUSVE0Z0F5QU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FCSUE0Z0RwUWdEU0FObEpLUk9BSU1DeHNBSUFCQkJHb2lBQ3dBQzBFQVNBUkFJQUFvQWdBaEFBc2dBQXNMQUNBQUVPMERJQUFRT0F2K0JnRUVmeU1HSVFRakJrRVFhaVFHSUFFb0FnQkJBVWNFUUNBRVFjRElBMEhYNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEhLQWhBK1FmYWlBaEEzUVlyaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BaEJCQVVjRVFDQUVRY0RJQTBHaTRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITEFoQStRZmFpQWhBM1FjL2lBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWhBZ0FDZ0NGR3dnQUNnQ0NDQUFLQUlFYTBFRmRVY0VRQ0FFUWNESUEwSHA0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRYlBqQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnUWdBQ2dDQkNnQ0JFY0VRQ0FFUWNESUEwSFc0d0VRTjBHWjRBRVFOMEh2b2dJUU4wSE9BaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnZ2dBQ2dDQkNnQ0NFY0VRQ0FFUWNESUEwR3k1QUVRTjBHWjRBRVFOMEh2b2dJUU4wSFBBaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBZ0FDZ0NCQ0FCRU9BQklBQWdBQ2dDQkNJQlFTQnFJQUVRNEFFZ0FDQUFLQUlFSWdGQlFHc2dBVUVnYWhEdUEwRUJJUUVEUUNBQklBQW9BaEJKQkVBZ0FDZ0NCQ0FCSUFBb0FoUnNRUVYwYWlnQ0dDQUFLQUlFSUFFZ0FDZ0NGR3hCZjJwQkJYUnFLQUlZSUFBb0FnUWdBU0FBS0FJVWJFRi9ha0VGZEdvb0FnUWdBQ2dDQkNBQklBQW9BaFJzUVg5cVFRVjBhaWdDQ0JEVUNDQUFJQUFvQWdRaUFpQUJJQUFvQWhSc0lnTkJBV3BCQlhScUlBTkJCWFFnQW1vUTRBRWdBQ0FBS0FJRUlnSWdBU0FBS0FJVWJDSURRUUpxUVFWMGFpQURRUUZxUVFWMElBSnFFTzRESUFGQkFXb2hBUXdCQ3dzZ0JDUUdDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmZtb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRUJkV3RCQVhScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXNpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUlDMjhCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVRUFTQVJBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUJkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQmRDQUVhallDREFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lFQzZBQkFRUi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRRjFJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyUVFGMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQldzaUJDQUVJQU5KRzBILy8vLy9CeUFFUVFGMVFmLy8vLzhEU1JzZ0FDZ0NCQ0FGYTBFQmRTQUFRUWhxRU13SUlBSWdBUkRMQ0NBQUlBSVF5Z2dnQWhESkNBc0ZJQUFnQVJETkNBc2dBaVFHQ3p3QkFuOGdBQ2dDQkNBQUtBSUFJZ05yUVFGMUlnSWdBVWtFUUNBQUlBRWdBbXNRemdnRklBSWdBVXNFUUNBQUlBRkJBWFFnQTJvMkFnUUxDd3ViQVFFR2Z5QUFJQU1RMGdnZ0FFRUVhaUlHSUFNZ0FDZ0NGR3dRMUFJRFFDQUVJQU5JQkVBZ0FTQUVkaUVISUFJZ0JIWWhDRUVBSVFVRFFDQUZJQUFvQWhRaUNVa0VRQ0FHS0FJQUlBVWdCQ0FKYkdwQkJYUnFRUUlnQnlBSVFRRVF0d0lnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTElBQkJJR29nQVNBQ2JDSUJFTThJSUFCQkxHb2dBUkNIQVNBQVFUaHFJQUVRaHdFTE9BQWdBQkRUQ0NBQVFkeUZBVFlDQUNBQVFTQnFJZ0JDQURjQ0FDQUFRZ0EzQWdnZ0FFSUFOd0lRSUFCQ0FEY0NHQ0FBUVFBMkFpQUxOUUVCZlNBQUlBRTJBaEFnQUVFRE5nSVVJQUJFQUFBQUFBQUE0RDhRSTdZaUFqZ0NHQ0FBUXdBQWdEOGdBaERTQVpVNEFod0xMQUFnQUVIc2hRRTJBZ0FnQUVFRWFpSUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUVFBMkFoZ0xud0VCQjM4Z0FrRUJkaUVJSUFOQkFYWWhDU0FDUVFGMElRb0RRQ0FFSUFsSEJFQkJBQ0VHSUFRZ0NteEJBblFnQVdvaUF5QUNRUUowYWlFRklBQWhCd05BSUFZZ0NFY0VRQ0FISUFNcUFnQWdBeW9DQkpJZ0JTb0NBSklnQlNvQ0JKSkRBQUNBUHBRNEFnQWdCa0VCYWlFR0lBVkJDR29oQlNBRFFRaHFJUU1nQjBFRWFpRUhEQUVMQ3lBRVFRRnFJUVFnQ0VFQ2RDQUFhaUVBREFFTEN3dXVDd0lMZndGOUl3WWhDeU1HUVJCcUpBWWdBMEVFVFFSQUlBdEJ3TWdEUWZmZkFSQTNRWm5nQVJBM1FlK2lBaEEzUWFnQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dCRUVFVFFSQUlBdEJ3TWdEUWJUaEFSQTNRWm5nQVJBM1FlK2lBaEEzUWFrQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTUlBTkJmbW9oQ1NBRFFYMXFJUTBnQTBGOGFpRU9JQUVoQndOQUlBUWdDRWNFUUNBRElBaHNRUUowSUFKcUlnWXFBZ0FoRUNBSElBWXFBZ2dnRUNBUVF3QUF3RUNVSUJBZ0Jpb0NCSkpEQUFDQVFKU1NrcEk0QWdBZ0J5QUdLZ0lNSUFZcUFnQWlFQ0FHS2dJRVF3QUF3RUNVSUJBZ0Jpb0NDSkpEQUFDQVFKU1NrcEk0QWdSQkFpRUZJQWRCQ0dvaENnTkFJQVVnQ1VjRVFDQUtJQVZCQW1wQkFuUWdCbW9xQWdBZ0JVRitha0VDZENBR2Fpb0NBQ0FGUVFKMElBWnFLZ0lBUXdBQXdFQ1VJQVZCZjJwQkFuUWdCbW9xQWdBZ0JVRUJhaUlGUVFKMElBWnFLZ0lBa2tNQUFJQkFsSktTa2pnQ0FDQUtRUVJxSVFvTUFRc0xJQWxCQW5RZ0Iyb2lCU0FNUVFKMElBWnFJZ29xQWdBaUVDQU9RUUowSUFacUtnSUFJQWxCQW5RZ0Jtb2lEeW9DQUVNQUFNQkFsQ0FOUVFKMElBWnFJZ1lxQWdBZ0VKSkRBQUNBUUpTU2twSTRBZ0FnQlNBS0tnSUFJaEFnQmlvQ0FDQVFRd0FBd0VDVUlCQWdEeW9DQUpKREFBQ0FRSlNTa3BJNEFnUWdBMEVDZENBSGFpRUhJQWhCQVdvaENBd0JDd3NnQkVGK2FpRU5RUUFoQ1NBRFFRSjBJQUZxSWdJZ0EwRUNkR29pQ0NFS0lBSWhCU0FCSVFjZ0FDRUdBMEFnQXlBSlJ3UkFJQVlnQ2lvQ0FDQUhLZ0lBSWhBZ0VFTUFBTUJBbENBUUlBVXFBZ0NTUXdBQWdFQ1VrcEtTUXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFScUlRb2dCVUVFYWlFRklBZEJCR29oQnlBR1FRUnFJUVlNQVFzTFFRQWhCaUFEUVFKMElBaHFJUWtnQ0NFRklBRWhCeUFEUVFKMElBQnFJUWdEUUNBRElBWkhCRUFnQ0NBSktnSUFJQWNxQWdBaUVDQUNLZ0lBUXdBQXdFQ1VJQkFnQlNvQ0FKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBbEJCR29oQ1NBRlFRUnFJUVVnQWtFRWFpRUNJQWRCQkdvaEJ5QUlRUVJxSVFnTUFRc0xRUUloQ0FOQUlBZ2dEVWNFUUVFQUlRa2dBeUFJUVg1cWJFRUNkQ0FCYWlJR0lBTkJBblJxSWdjZ0EwRUNkR29pQlNBRFFRSjBhaUlDSUFOQkFuUnFJUW9nQXlBSWJFRUNkQ0FBYWlFTUEwQWdBeUFKUndSQUlBd2dDaW9DQUNBR0tnSUFJQVVxQWdCREFBREFRSlFnQnlvQ0FDQUNLZ0lBa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBSlFRRnFJUWtnQ2tFRWFpRUtJQUpCQkdvaEFpQUZRUVJxSVFVZ0IwRUVhaUVISUFaQkJHb2hCaUFNUVFScUlRd01BUXNMSUFoQkFXb2hDQXdCQ3d0QkFDRUdJQU1nQkVGOGFteEJBblFnQVdvaUJ5QURRUUowYWlJRklBTkJBblJxSWdJZ0EwRUNkR29oQ0NBRElBMXNRUUowSUFCcUlRa0RRQ0FESUFaSEJFQWdDU0FJS2dJQUloQWdCeW9DQUNBQ0tnSUFRd0FBd0VDVUlBVXFBZ0FnRUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFoQkJHb2hDQ0FDUVFScUlRSWdCVUVFYWlFRklBZEJCR29oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUowSUFGcUlnSWdBMEVDZEdvaUFTQURRUUowYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3FBZ0FpRUNBQ0tnSUFJQkJEQUFEQVFKUWdBU29DQUNBUWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUZRUUZxSVFVZ0IwRUVhaUVISUFGQkJHb2hBU0FDUVFScUlRSWdBRUVFYWlFQURBRUxDeUFMSkFZTHpnb0JESDhqQmlFTUl3WkJFR29rQmlBRFFRUk5CRUFnREVIQXlBTkI5OThCRURkQm1lQUJFRGRCNzZJQ0VEZEJOeEErUWZhaUFoQTNRYUhoQVJBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBTVFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBTUVEd2dCU0FIRUVBZ0JSQS9FQUFMSUFSQkJFMEVRQ0FNUWNESUEwRzA0UUVRTjBHWjRBRVFOMEh2b2dJUU4wRTRFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF4QmdNNERFRG9pQnlnQ0FDZ0NIQ0VJSUFkQkNpQUlRVDl4UVlvQmFoRUNBQ0VISUF3UVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU5JQU5CZm1vaENpQURRWDFxSVE0Z0EwRjhhaUVQSUFFaENBTkFJQVFnQ1VjRVFDQUlJQUlnQXlBSmJHb2lCaTBBQUNJRklBWXRBQUZxUVFKMElBWXRBQUlnQlVFSGJHcHFPd0VBSUFnZ0JpMEFBQ0lGSUFZdEFBSnFRUUowSUFZdEFBTWdCaTBBQVVFR2JDQUZhbXBxT3dFQ1FRSWhCU0FJUVFScUlRc0RRQ0FGSUFwSEJFQWdDeUFGUVFKcUlBWnFMUUFBSUFWQmZtb2dCbW90QUFBZ0JTQUdhaTBBQUVFR2JHb2dCVUYvYWlBR2FpMEFBQ0FGUVFGcUlnY2dCbW90QUFCcVFRSjBhbW83QVFBZ0J5RUZJQXRCQW1vaEN3d0JDd3NnQ2tFQmRDQUlhaUlGSUFZZ0RXb2lDeTBBQUNJUUlBWWdEbW9pQnkwQUFHcEJBblFnQmlBUGFpMEFBQ0FHSUFwcUlnWXRBQUJCQm13Z0VHcHFhanNCQUNBRklBc3RBQUFpQlNBR0xRQUFha0VDZENBSExRQUFJQVZCQjJ4cWFqc0JBaUFEUVFGMElBaHFJUWdnQ1VFQmFpRUpEQUVMQ3lBRVFYNXFJUTFCQUNFSklBTkJBWFFnQVdvaUFpQURRUUYwYWlJR0lRb2dBaUVGSUFFaEJ5QUFJUWdEUUNBRElBbEhCRUFnQ0NBS0x3RUFJQWN2QVFBaUN5QUZMd0VBYWtFQ2RDQUxRUWRzYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQlVFQ2FpRUZJQWRCQW1vaEJ5QUlRUVJxSVFnTUFRc0xRUUFoQ0NBRFFRRjBJQVpxSVFrZ0JpRUZJQUVoQnlBRFFRSjBJQUJxSVFZRFFDQURJQWhIQkVBZ0JpQUpMd0VBSUFjdkFRQWlDaUFGTHdFQWFrRUNkQ0FDTHdFQVFRWnNJQXBxYW1xeVF3QUFnRHVVT0FJQUlBaEJBV29oQ0NBSlFRSnFJUWtnQlVFQ2FpRUZJQUpCQW1vaEFpQUhRUUpxSVFjZ0JrRUVhaUVHREFFTEMwRUNJUVlEUUNBR0lBMUhCRUJCQUNFSklBTWdCa0YrYW14QkFYUWdBV29pQ0NBRFFRRjBhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUtJQU1nQm14QkFuUWdBR29oQ3dOQUlBTWdDVWNFUUNBTElBb3ZBUUFnQ0M4QkFDQUZMd0VBUVFac2FpQUhMd0VBSUFJdkFRQnFRUUowYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQWtFQ2FpRUNJQVZCQW1vaEJTQUhRUUpxSVFjZ0NFRUNhaUVJSUF0QkJHb2hDd3dCQ3dzZ0JrRUJhaUVHREFFTEMwRUFJUWdnQXlBRVFYeHFiRUVCZENBQmFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFR0lBTWdEV3hCQW5RZ0FHb2hDUU5BSUFNZ0NFY0VRQ0FKSUFZdkFRQWlDaUFITHdFQUlBSXZBUUJCQm14cUlBVXZBUUFnQ21wQkFuUnFhckpEQUFDQU81UTRBZ0FnQ0VFQmFpRUlJQVpCQW1vaEJpQUNRUUpxSVFJZ0JVRUNhaUVGSUFkQkFtb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRRjBJQUZxSWdJZ0EwRUJkR29pQVNBRFFRRjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjdkFRQWlCQ0FDTHdFQUlBUkJCbXhxSUFRZ0FTOEJBR3BCQW5ScWFySkRBQUNBTzVRNEFnQWdCVUVCYWlFRklBZEJBbW9oQnlBQlFRSnFJUUVnQWtFQ2FpRUNJQUJCQkdvaEFBd0JDd3NnRENRR0M1UVpBaFovQlh3akJpRUlJd1pCUUdza0JpQUlRU0JxSVFvZ0NFRVlhaUVOSUFoQk5Hb2hCQ0FJUVNocUlRVWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FFRXNhaUlMUVFBMkFnQUNRQUpBSUFCQjlJYXZBMm9pRHlnQ0FDSUNRUVJIRFFBQ1FDQUFRZnlHcndOcUlnd29BZ0FpQWtFQVNnUkFJQXdnQWtGL2FqWUNBQVVDUUNBRUlBQW9BaEFpQnlBQVFZQ0hyd05xSWdZb0FnQnFJZ0pCL3dFZ0FrSC9BVWdiSWhBMkFnQWdCQ0FISUFCQmhJZXZBMm9pQ1NnQ0FHc2lBa0VBSUFKQkFFb2JJaEUyQWdRZ0JDQUhOZ0lJSUFCQjRJYW5BbW9oQXlBQVFiajRBR29oRGlBQVFiRDRBR29oRWlBQVFmQ0dyd05xSVJNZ0FFR1FoNjhEYWlFVUlBQkJNR29oRlNBQVFaaUhyd05xSVJaQkFDRUNBa0FDUUFOQUlBSkJBMGtFUUNBQktBSU1JQUFvQWlRZ0FDZ0NLQ0FBS0FJQUlBQW9BZ3dnQWtFQ2RDQUVhaWdDQUNBQUtBSVVJQU5CQUJDNkFrRUFTQTBDSUFBb0FpUWdBQ2dDS0NBRElBQW9BaFFnRGlBU0VPd0RRUUJJRFFJZ0FTZ0NBQ0FBS0FJa0lBQW9BaWdnQUNnQ0JDQU9JQklvQWdBZ0V5Z0NBQ0FBS0FJVUlBQW9BaGdnQUNnQ0lFRzRBV29nRkNzREFDQVZJQXNnRmlnQ0FCRGVBMEVBU0EwQ0lBSkJBblFnQldvZ0N5Z0NBRFlDQUNBQ1FRRnFJUUlNQVFzTERBRUxRWDhNQmdzZ0FDZ0NBRUVCUmdSQUlBVW9BZ1FoRGlBRktBSUlJUU1nQlNnQ0FDRUNJQWdnRVRZQ0FDQUlJQTQyQWdRZ0NDQUhOZ0lJSUFnZ0F6WUNEQ0FJSUJBMkFoQWdDQ0FDTmdJVVFRQkJBMEdpcHdFZ0NCQTlCU0FGS0FJQUlRSWdCU2dDQ0NFREN5QUNJQU5LSUFVb0FnUWlCU0FEU25JRVFDQUFJQkVnRUNBQ0lBVklHeUlDTmdJUUlBa2dBaUFIYXlJRFFRQktCSDhnQmlBRE5nSUFRUUVGSUFaQkFUWUNBRUVBSUFOckN6WUNBQ0FBS0FJQVFRRkdCRUFnRFNBQ05nSUFRUUJCQTBIdXB3RWdEUkE5Q3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQVFzZ0JpZ0NBQ0lCSUFrb0FnQWlBa2dFUUNBR0lBRkJBV29pQVRZQ0FBVWdBU0FDVEFSQUlBWWdBVUVCYWlJQk5nSUFDeUFKSUFKQkFXbzJBZ0FMSUFjZ0FTQUhha0grQVVvRWZ5QUdRUUUyQWdCQkFRVWdBUXRNQkVBZ0NVRUJOZ0lBQ3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQWdzTElBOG9BZ0FoQWd3QkN3d0JDd0pBQWtBQ1FBSkFJQUpCQVdzT0F3RUJBQUlMSUFCQmlJZXZBMm9pQWlnQ0FDQUJLQUlNRU5nSElnTkJBRWdFUUNBRERBVUxJQUVvQWd3Z0FpZ0NBQ0lES0FJRUlBTW9BZ2dnQUNnQ0FDQUFLQUlNUVFCQkFDQUFRZUNHcHdKcUlnSWdBeWdDQUJDNkFpSURRUUJJQkVBZ0F3d0ZDeUFBUVNScUlRTWdBRUVvYWlFRUlBQkJGR29oQlF3Q0N5QUFRZnlHcndOcUlnTW9BZ0FpQlVFQVNnUkFJQU1nQlVGL2FqWUNBQXdCQ3lBQVFZaUhyd05xS0FJQUlRVWdBU2dDRENFSElBSkJBVVlFZnlBRklBY2dCQkRrQndVZ0JTQUhJQVFRNEFjTElnSkJBRWdFUUNBQ0RBUUxJQUFvQWdCQkFVWUVRQ0FFTFFBQUlnSWdBQ2dDRUVjRVFDQUtRYUtvQVVHcHFBRWdEeWdDQUVFQlJoczJBZ0FnQ2lBQ05nSUVRUUJCQTBHdXFBRWdDaEE5Q3dzZ0FDQUVMUUFBTmdJUUlBTWdBRUg0aHE4RGFpZ0NBRFlDQUF0QmZ5QUJLQUlNSUFCQkpHb2lBeWdDQUNBQVFTaHFJZ1FvQWdBZ0FDZ0NBQ0FBS0FJTUlBQW9BaEFnQUVFVWFpSUZLQUlBSUFCQjRJYW5BbW9pQWtFQUVMb0NRUUJJRFFJYUMwRi9JQU1vQWdBZ0JDZ0NBQ0FDSUFVb0FnQWdBRUc0K0FCcUlnSWdBRUd3K0FCcUlnY1E3QU5CQUVnTkFScEJmeUFCS0FJQUlBTW9BZ0FnQkNnQ0FDQUFLQUlFSUFJZ0J5Z0NBQ0FBUWZDR3J3TnFLQUlBSUFVb0FnQWdBQ2dDR0NBQUtBSWdRYmdCYWlBQVFaQ0hyd05xS3dNQUlBQkJNR29nQ3lBQVFaaUhyd05xS0FJQUVONERRUUJJRFFFYUN5QUFLQUljUVFGR0JFQWdBQkR2QTBFQURBRUxJQUJCK0lxbUFtb2lCeWdDQUNFSlFRQWhBd05BSUFNZ0NVZ0VRQ0FMS0FJQUlRUWdBRUdBaTZZQ2FpQURRWWdDYkdvaEJTQUFJQU5CaUFKc2FrRzRpNllDYWlFR0lBQWdBMEdJQW14cVFjQ0xwZ0pxSVFwQkFDRUNRWDhoQVVRQUFBQUFBQURnUHlFWkEwQWdBaUFFU0FSQUlBVW9BZ0MzSUFCQk1Hb2dBa0VJZEdvb0FnQzNJaGlqSWhwRVptWm1abVptNWo5aklCcEU0WG9VcmtmaDlqOWtja1VFUUNBQUlBSkJDSFJxS3dOb0lBWXJBd0NoSWhvZ0dxSWdBQ0FDUVFoMGFpc0RjQ0FLS3dNQW9TSWFJQnFpb0NBWW95SVlJQmxqQkVBZ0dDRVpJQUloQVFzTElBSkJBV29oQWd3QkN3c2dBVUYvU2dSQUFrQUNRQUpBQWtBZ0FDZ0NHQ0lLRGdVQ0FnSUFBQUVMSUFBZ0FVRUlkR29pQkNzRFdDQUFJQU5CaUFKc2FrR29pNllDYWlzREFDSVlZd1JBSUFBZ0FVRUlkR3BCNEFCcUlRSWdBQ0FEUVlnQ2JHcEJzSXVtQW1vckF3QWhHUVVnQUNBQlFRaDBha0hnQUdvaUFpc0RBQ0FBSUFOQmlBSnNha0d3aTZZQ2Fpc0RBQ0laWTBVTkF3c2dCQ0FZT1FOWUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmlJdW1BbW9vQWdBMkFqZ2dBaUFaT1FNQUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmpJdW1BbW9vQWdBMkFqeEJBQ0VGUVg4aEFrUUFBQUFBaE5lWFFTRVlBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWkEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaUJrRUVkR29yQXdDaElSb2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBR1FRUjBhaXNENEFHaElSc2dCRUVCYWlFRUlCa2dHaUFhb2lBYklCdWlvS0FoR1F3QkN3c2dCU0FDSUJrZ0dHTWlCQnNoQWlBRlFRRnFJUVVnR1NBWUlBUWJJUmdNQVFzTElBQWdBVUVJZEdwQkJDQUNheUlDSUFBZ0EwR0lBbXhxUVpTTHBnSnFLQUlBYWtFRUVFODJBa1FnQUNBQlFRaDBhaUFDSUFBZ0EwR0lBbXhxUVppTHBnSnFLQUlBYWtFRUVFODJBa2dNQWd0QmZ3d0ZDeUFBSUFGQkNIUnFJZ0lyQTFBZ0FDQURRWWdDYkdwQm9JdW1BbW9yQXdBaUdtTUVRQ0FDSUJvNUExQWdBQ0FCUVFoMGFpQUFJQU5CaUFKc2FrR0VpNllDYWlnQ0FDSUdOZ0kwSUFBZ0EwR0lBbXhxUVpDTHBnSnFJUXhCZnlFQ1JBQUFBQUNFMTVkQklSbEJBQ0VGQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVlBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlEVUVFZEdvckF3Q2hJUnNnQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQU5RUVIwYWlzRDRBR2hJUndnQkVFQmFpRUVJQmdnR3lBYm9pQWNJQnlpb0tBaEdBd0JDd3NnR0NBWll3UkFJQmdoR1NBTUtBSUFRUVFnQld0cVFRUVFUeUVDQ3lBRlFRRnFJUVVNQVFzTElBQWdBVUVJZEdwQlFHc2dBallDQUNBS1FRSkpCRUFnQUNBQlFRaDBhaUFHTmdJNElBQWdBVUVJZEdvZ0dqa0RXQ0FBSUFGQkNIUnFJQUkyQWtRRklBQWdBVUVJZEdvZ0JqWUNQQ0FBSUFGQkNIUnFJQm81QTJBZ0FDQUJRUWgwYWlBQ05nSklDd3NMQ3lBRFFRRnFJUU1NQVFzTElBQVE3d05CQUNFQ1FRQWhBUU5BSUFJZ0J5Z0NBRWdFUUNBQUlBSkJpQUpzYWtHQWphWUNhaUlFS0FJQUlRTWdCQ0FEUVFGcU5nSUFJQU5CQTBnRVFDQUJJQUpIQkVBZ0FFR0FpNllDYWlBQlFZZ0NiR29nQUVHQWk2WUNhaUFDUVlnQ2JHcEJpQUlRVEJvTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUhJQUUyQWdBZ0N5Z0NBQ0VEUVFBaEJBTkFBa0FnQkNBRFRnMEFJQUJCTUdvZ0JFRUlkR29oQlNBQUlBUkJDSFJxS0FJMElnWkJBRTRFUUVFQUlRSURRQUpBSUFJZ0FVNE5BQ0FHSUFBZ0FrR0lBbXhxUVlTTHBnSnFLQUlBUmcwQUlBSkJBV29oQWd3QkN3c2dBU0FDUmdSQUlBRkJQRVlOQWlBSElBRkJBV29pQVRZQ0FBc2dBRUdBaTZZQ2FpQUNRWWdDYkdvZ0JVR0FBaEJNR2lBQUlBSkJpQUpzYWtHQWphWUNha0VCTmdJQUN5QUVRUUZxSVFRTUFRc0xJQUFvQWh4QkFrWUVmMEVBQlVFQUlRUWdBU0VDSUFNaEFRTkFRUUFnQkNBQ1RnMENHaUFBUVlDTHBnSnFJQVJCaUFKc2FpRUZJQUFnQkVHSUFteHFRYmlMcGdKcUlRWWdBQ0FFUVlnQ2JHcEJ3SXVtQW1vaENVRUFJUU1EUUFKQUlBTWdBVTROQUNBRktBSUF0eUFBUVRCcUlBTkJDSFJxS0FJQXR5SVpveUlZUkdabVptWm1adVkvWXlBWVJPRjZGSzVINGZZL1pISkZCRUFnQUNBRFFRaDBhaXNEYUNBR0t3TUFvU0lZSUJpaUlBQWdBMEVJZEdvckEzQWdDU3NEQUtFaUdDQVlvcUFnR2FORUFBQUFBQUFBNEQ5akRRRUxJQU5CQVdvaEF3d0JDd3NnQVNBRFJnUkFJQUJCTUdvZ0FVRUlkR29nQUVHQWk2WUNhaUFFUVlnQ2JHcEJnQUlRVEJvZ0N5QUJRUUZxSWdFMkFnQWdCeWdDQUNFQ0N5QUVRUUZxSVFRTUFBQUxBQXNMQlVGL0N5RVhJQWdrQmlBWEN3c0FJQUFReGdJZ0FCQTRDd3NBSUFBUXh3SWdBQkE0Qzd3QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNnQ0JDQUFLQUlBSWdOclFRVjFJQUZMQkVBZ0F5Z0NCQ0FBS0FJQUlBRkJCWFJxS0FJRUVFaXpFUEVERVBBREVFTWhCQ0FDSkFZZ0JBOEZJQUpCd01nRFFaWGZBUkEzUWM3TEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ3OThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQVNnQ0FDZ0NIQ0VESUFGQkNpQURRVDl4UVlvQmFoRUNBQ0VCSUFJUVBDQUFJQUVRUUNBQUVEOFFBQXRCQUF0SkFRRi9JQUFvQWdnaEFnTkFJQUpDQURjQ0FDQUNRZ0EzQWdnZ0FrSUFOd0lRSUFKQ0FEY0NHQ0FDUVFBMkFpQWdBQ0FBS0FJSVFTUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMwa0JBWDhnQUNnQ0JDRUNBMEFnQWtJQU53SUFJQUpDQURjQ0NDQUNRZ0EzQWhBZ0FrSUFOd0lZSUFKQkFEWUNJQ0FBSUFBb0FnUkJKR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xwZ0VCQlg4akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnUWlBMnRCSkJBNUlBRkpCRUJCeCtQeE9DQURJQUFvQWdCclFTUVFPU0FCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3RCSkJBNUlnVkJBWFFpQmlBR0lBTkpHMEhINC9FNElBVkI0L0c0SEVrYklBQW9BZ1FnQkd0QkpCQTVJQUJCQ0dvUTBBSWdBaUFCRU5zSUlBQWdBaERQQWlBQ0VNNENDd1VnQUNBQkVOd0lDeUFDSkFZTG9Bd0NCbjhGZlNNR0lRY2pCa0VRYWlRR0lBU09FRU1pQ2lBRUVFTkhCRUFnQjBIQXlBTkI2dEVCRURkQm50SUJFRGRCNzZJQ0VEZEJ4UUFRUGtIMm9nSVFOMEdUMHdFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVFZZ0NVRUtJQVpCUDNGQmlnRnFFUUlBSVFZZ0J4QThJQWdnQmhCQUlBZ1FQeEFBQ3lBRmpoQkRJZ3NnQlJCRFJ3UkFJQWRCd01nRFFiSFRBUkEzUVo3U0FSQTNRZStpQWhBM1FjWUFFRDVCOXFJQ0VEZEJrOU1CRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VHSUFsQkNpQUdRVDl4UVlvQmFoRUNBQ0VHSUFjUVBDQUlJQVlRUUNBSUVEOFFBQXNnQ3lBQ1NTQUxRWDlLY1VVRVFDQUhRY0RJQTBIbDB3RVFOMEdlMGdFUU4wSHZvZ0lRTjBIUEFCQStRZmFpQWhBM1FaUFVBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hCaUFKUVFvZ0JrRS9jVUdLQVdvUkFnQWhCaUFIRUR3Z0NDQUdFRUFnQ0JBL0VBQUxJQXRCQVdvaUNTQUNUd1JBSUFkQndNZ0RRYVRVQVJBM1FaN1NBUkEzUWUraUFoQTNRZEFBRUQ1QjlxSUNFRGRCNE5RQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJpZ0NBQ2dDSENFQ0lBWkJDaUFDUVQ5eFFZb0JhaEVDQUNFQ0lBY1FQQ0FJSUFJUVFDQUlFRDhRQUFzZ0NpQUJTU0FLUVg5S2NVVUVRQ0FIUWNESUEwSDQxQUVRTjBHZTBnRVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYVhWQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdZb0FnQW9BaHdoQWlBR1FRb2dBa0UvY1VHS0FXb1JBZ0FoQWlBSEVEd2dDQ0FDRUVBZ0NCQS9FQUFMSUFwQkFXb2lDQ0FCVHdSQUlBZEJ3TWdEUWJiVkFSQTNRWjdTQVJBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQjhkVUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dDTElnQkpNaURpQUpzaUFGa3lJTWxDSU5Rd0FBQUFCZ1JTQU51MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUVluV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dCQ0FLc3BNaUR5QU1sQ0lNUXdBQUFBQmdSU0FNdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFjWFdBUkEzUVo3U0FSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRGlBRklBdXlreUlFbENJRlF3QUFBQUJnUlNBRnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRZlRXQVJBM1FaN1NBUkEzUWUraUFoQTNRZUFBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0R5QUVsQ0lFUXdBQUFBQmdSU0FFdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFhUFhBUkEzUVo3U0FSQTNRZStpQWhBM1FlRUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQXlBQUlBTWdDMnhxSWdGcUlRQWdCQ0FGSUEwZ0RKS1NrcnRFY2F5TDIyZ0E4RDlsQkVBZ0RTQUtRUUowSUFGcUtnSUFsQ0FNSUFoQkFuUWdBV29xQWdDVWtpQUZJQXBCQW5RZ0FHb3FBZ0NVa2lBRUlBaEJBblFnQUdvcUFnQ1VraUVRSUFja0JpQVFEd1VnQjBIQXlBTkIwdGNCRURkQm50SUJFRGRCNzZJQ0VEZEI0Z0FRUGtIMm9nSVFOMEc0MWdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0J4QThJQUlnQUJCQUlBSVFQeEFBQzBNQUFBQUFDNzhKQWcxL0JYMGpCaUVLSXdaQklHb2tCaUFLUVJ4cUlRY2dDa0VZYWlFTElBcEJGR29oRENBS1FSQnFJUThnQ2tFTWFpRVFJQXBCQ0dvaEVTQUtRUVJxSVJJZ0JVRUFTZ1JBSUFWQkFXb2dBeWdDQkVrRVFDQUdRWDlxSVE0Z0JrRUFTZ1JBSUFaQkFXb2lFeUFES0FJSVNRUkFJQU1vQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBIa3p3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBHNzBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQU1vQWdnZ0FpZ0NDRUVCZGtjRVFDQUhRY0RJQTBIMDBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdnZ0FpZ0NDRUVCZGtZRVFDQURJQVlRVUNBRlFRSjBhaUVJSUFRZ0RoQlFJQVZCQW5ScUlRNGdCQ0FHRUZBZ0JVRUNkR29oQnlBRUlCTVFVQ0FGUVFKMGFpRUVJQXNnRENBRnNpQUdza0VCRU9FQklBOGdFQ0FSSUJJZ0NpQURJQVVnQmhESkFpQUNJQXNxQWdBZ0RDb0NBQkJOSVJRZ0J5b0NBQ0lYSUJRZ0NDb0NBRU1BQUFCQWxKT1NJUmdnQWlBTEtnSUFRd0FBQU1DU0lBd3FBZ0FRVFNBSEtnSUVraUFDSUFzcUFnQkRBQUFBUUpJZ0RDb0NBQkJOSUFkQmZHb3FBZ0NTazBNQUFJQStsQ0VWSUFJZ0N5b0NBQ0FNS2dJQVF3QUFBTUNTRUUwZ0JDb0NBSklnQWlBTEtnSUFJQXdxQWdCREFBQUFRSklRVFNBT0tnSUFrcE5EQUFDQVBwUWhGaUFBSUJFb0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVZPQUlJSUFBZ0FqWUNEQ0FBSUJJb0FnQTJBaEFnQUNBV09BSVVJQUFnRlRnQ0dDQUFJQlk0QWh3Z0FDQVlPQUlnSUFFZ0R5b0NBSXc0QWdBZ0FTQVFLZ0lBakRnQ0JDQUJJQmNnRkpOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRZXdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIb0FoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wSG5BaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMencwQ0RuOEZmU01HSVFzakJrRWdhaVFHSUF0QkhHb2hCeUFMUVJocUlRMGdDMEVVYWlFTUlBdEJFR29oRVNBTFFReHFJUklnQzBFSWFpRVRJQXRCQkdvaEZDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERpQUdRUUJLQkVBZ0JrRUJhaUlQSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUVo4REVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQkNBQ0tBSUVRUUYyUndSQUlBZEJ3TWdEUWJ2UUFSQTNRYzdMQVJBM1FlK2lBaEEzUWFBREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYUVERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ2dDQUVGMGFpZ0NBQ0FJYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NDQ0FDS0FJSVFRRjJSd1JBSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRYUlERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpQU9FRkFoQ0NBQ0lBWVFVQ0VPSUFJZ0R4QlFJUThnQXlBR0VGQWhDaUFOSUF3Z0JiSWdCckpCQVJETEFpQU5LZ0lBSWhWREFBQUF2NUpEQUFBQUFHQkZCRUFnQjBIQXlBTkIzTmtCRURkQnpzc0JFRGRCNzZJQ0VEZEJyQU1RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBTUtnSUFRd0FBQUwrU1F3QUFBQUJnUlFSQUlBZEJ3TWdEUWJ2YUFSQTNRYzdMQVJBM1FlK2lBaEEzUWEwREVENUI5cUlDRURkQjVOb0JFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRVFJQWxCQ2lBUVFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBQ0lBa1FRQ0FDRUQ4UUFBc2dGVU1BQUFBL2tpQUVLQUlFczExRkJFQWdCMEhBeUFOQm10c0JFRGRCenNzQkVEZEI3NklDRURkQnJnTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFGUVFKMElBaHFJUWdnQlVFQ2RDQU9haUVDSUFWQkFuUWdEMm9oRGlBRlFRSjBJQXBxSVE4Z0RDb0NBRU1BQUFBL2tpQUVLQUlJczEwRVFDQVJJQklnRXlBVUlBc2dBeUFGSUFZUXlRSWdCQ0FOS2dJQUlBd3FBZ0FRVFNJWElBSXFBZ0FpR0NBUEtnSUFRd0FBQUVDVWs1SWhHU0FDUVh4cUtnSUFJQVFnRFNvQ0FFTUFBQUEva2lBTUtnSUFFRTJTSUFJcUFnUWdCQ0FOS2dJQVF3QUFBTCtTSUF3cUFnQVFUWktUUXdBQWdENlVJUlVnQ0NvQ0FDQUVJQTBxQWdBZ0RDb0NBRU1BQUFBL2toQk5raUFPS2dJQUlBUWdEU29DQUNBTUtnSUFRd0FBQUwrU0VFMlNrME1BQUlBK2xDRVdJQUFnRXlnQ0FEWUNBQ0FBSUFzb0FnQWlBallDQkNBQUlCVTRBZ2dnQUNBQ05nSU1JQUFnRkNnQ0FEWUNFQ0FBSUJZNEFoUWdBQ0FWT0FJWUlBQWdGamdDSENBQUlCazRBaUFnQVNBUktnSUFqRGdDQUNBQklCSXFBZ0NNT0FJRUlBRWdGeUFZazBNQUFBQS9sSXc0QWdnZ0N5UUdEd1VnQjBIQXlBTkJ6ZHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyd01RUGtIMm9nSVFOMEhrMmdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzTElBZEJ3TWdEUVpuUEFSQTNRYzdMQVJBM1FlK2lBaEEzUVo0REVENUI5cUlDRURkQjFNOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xJQWRCd01nRFFjL09BUkEzUWM3TEFSQTNRZStpQWhBM1FaMERFRDVCOXFJQ0VEZEJpYzhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXY4Q0FJTWZ3VjlJd1loQ2lNR1FTQnFKQVlnQ2tFVWFpRUhJQXBCRUdvaERTQUtRUXhxSVE0Z0NrRUlhaUVQSUFwQkJHb2hFQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEQ0FHUVFCS0JFQWdCa0VCYWlJUklBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FiY0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0JDQUVLQUlFUndSQUlBZEJ3TWdEUVlIY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJnQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYmtDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FFS0FJSVJnUkFJQUlnREJCUUlBVkJBblJxSVJJZ0FpQUdFRkFnQlVFQ2RHb2hCeUFDSUJFUVVDQUZRUUowYWlFSklBTWdCaEJRSUFWQkFuUnFJUXNnQkNBTUVGQWdCVUVDZEdvaERDQUVJQVlRVUNBRlFRSjBhaUVDSUFRZ0VSQlFJQVZCQW5ScUlRUWdEU0FPSUE4Z0VDQUtJQU1nQlNBR0VNa0NJQUlxQWdBaUZTQUhLZ0lBSWhZZ0N5b0NBRU1BQUFCQWxKT1NJUmNnQjBGOGFpb0NBQ0FIS2dJRWt5QUNLZ0lFSUFKQmZHb3FBZ0NUa2tNQUFJQStsQ0VUSUJJcUFnQWdDU29DQUpNZ0JDb0NBQ0FNS2dJQWs1SkRBQUNBUHBRaEZDQUFJQThvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVE9BSUlJQUFnQWpZQ0RDQUFJQkFvQWdBMkFoQWdBQ0FVT0FJVUlBQWdFemdDR0NBQUlCUTRBaHdnQUNBWE9BSWdJQUVnRFNvQ0FJdzRBZ0FnQVNBT0tnSUFqRGdDQkNBQklCVWdGcE5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFiWGNBUkEzUWM3TEFSQTNRZStpQWhBM1Fib0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEcyQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBHMUFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxXZ0VDZlNBQUtnSWdJQUFxQWdRUWFaUWhBU0FBS2dJRVF3QUFBRUNVSUFBcUFnZ2lBcFFnQUNvQ0ZKUWdBWk1nQUNvQ0VDQUNFR21Va3lBQUtnSUFJQUFxQWhRUWFaU1RJQUFxQWdBZ0FDb0NFSlFnQUNvQ0lKU1NDOHdCQVFKL0l3WWhBaU1HUVJCcUpBWWdBQVIvSUFFZ0FDZ0NCRVlFZjBFQUJRSi9JQUZCRDA4RVFDQUNJQUUyQWdCQkFFRURRZkdtQVNBQ0VEMUJmd3dCQ3lBQUlBRTJBZ1FnQUNBQkVKVUdOZ0lJSUFBb0FoZ2hBMEdnNEFFZ0FVSC8vd0Z4ZGtFQmNRUkFBa0FDUUFKQUlBTU9CQUFDQWdFQ0N5QUFRUUUyQWhoQkFBd0RDeUFBUVFRMkFoaEJBQXdDQ3dVQ1FBSkFBa0FnQTBFQmF3NEVBQUlDQVFJTElBQkJCRFlDR0VFQURBTUxJQUJCQXpZQ0dFRUFEQUlMQzBFQUN3c0ZRWDhMR2lBQ0pBWUxlZ0FnQUNBQktnSUFJQUlxQWdDVUlBRXFBZ1FnQWlvQ0JKU1NJQUVxQWdnZ0Fpb0NDSlNTT0FJQUlBQWdBU29DRENBQ0tnSUFsQ0FCS2dJUUlBSXFBZ1NVa2lBQktnSVVJQUlxQWdpVWtqZ0NCQ0FBSUFFcUFoZ2dBaW9DQUpRZ0FTb0NIQ0FDS2dJRWxKSWdBU29DSUNBQ0tnSUlsSkk0QWdnTDZ3RUJBWDBnQVJEaUNDSUNpME1BQUFBMFh3Ui9RUUFGSUFCREFBQ0FQeUFDbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0lnRU1vQ2xEZ0NBQ0FBSUFJZ0FTb0NDQ0FCS2dJRUlBRXFBaUFnQVNvQ0hCQ0FBWlE0QWdRZ0FDQUNJQUVxQWdRZ0FTb0NDQ0FCS2dJUUlBRXFBaFFRZ0FHVU9BSUlJQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NJQkRLQXBRNEFoQWdBQ0FDSUFFcUFnZ2dBU29DQUNBQktnSVVJQUVxQWd3UWdBR1VPQUlVSUFBZ0FpQUJLZ0lBSUFFcUFnUWdBU29DRUJES0FwUTRBaUFnQUNBQUtBSUVOZ0lNSUFBZ0FDZ0NDRFlDR0NBQUlBQW9BaFEyQWh4QkFRc0xQQUVCZlNBQktnSUFJQUVxQWhDVUlBRXFBZ1FRYVpNaUFrTUFBQUFBV3dSL1FRQUZJQUFnQVNvQ0FDQUJLZ0lRa2hCcElBS1ZPQUlBUVFFTEN5OEJBbjhqQmlFREl3WkJNR29rQmlBRElBRVE1UWdFZnlBQUlBTWdBaERrQ0VFQkJVRUFDeUVFSUFNa0JpQUVDNmtGQVFSL0l3WWhCeU1HUVJCcUpBWWdCQ2dDQkNBQ0tBSUVJQU1vQWdSR1JnUkFJQVFvQWdnZ0FpZ0NDQ0FES0FJSVJrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPRUlCU0FIUWNESUEwR0h5d0VRTjBIT3l3RVFOMEh2b2dJUU4wSFNBeEErUWZhaUFoQTNRZFRNQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQlFKQUlBSW9BZ1FnQXlnQ0JFWUVRQ0FFS0FJRUlBTW9BZ1JCQVhaR0JFQWdBaWdDQ0NBREtBSUlSZ1JBSUFRb0FnZ2dBeWdDQ0VFQmRrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPQUlEQVFMQ3lBSFFjRElBMEgwekFFUU4wSE95d0VRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aENpQUpRUW9nQ2tFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTEN5QURLQUlFSUFJb0FnUkJBWFpHQkVBZ0F5Z0NCQ0FFS0FJRVJnUkFJQU1vQWdRZ0FpZ0NCRUVCZGtZRVFDQURLQUlFSUFRb0FnUkdCRUFnQUNBQklBSWdBeUFFSUFVZ0JoRGZDQXdFQ3dzZ0IwSEF5QU5CMWMwQkVEZEJ6c3NCRURkQjc2SUNFRGRCMkFNUVBrSDJvZ0lRTjBIVXpBRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCMEhBeUFOQjRvRUNFRGRCenNzQkVEZEI3NklDRURkQjJ3TVFQa0gyb2dJUU4wR3l6Z0VRTnlJQUtBSUFRWFJxS0FJQUlBQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQnlRR1FRRUxQUUVDZnlBQUtBSUVJQUFvQWdBaUEydEJKQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1EzUWdGSUFJZ0FVc0VRQ0FBSUFGQkpHd2dBMm8yQWdRTEN3czRBQ0FBQkg4Z0FVUUFBQUFBQUFBQUFHVWdBVVFBQUFBQUFBRHdQMlp5Qkg5QmZ3VWdBRUdRaDY4RGFpQUJPUU1BUVFBTEJVRi9Dd3ZNQVFJRmZ3SjlJQUVvQWdBaUJFRjRhaUVHSUFBb0FnQWhBZ05BSUFJZ0JrY0VRQ0FDSUFSR0JFQWdCQ0VCQlFKQUlBSWhBUU5BSUFFaEJRTkFBa0FnQkNBRlFRaHFJZ05HRFFNZ0FTb0NBQ0lISUFNcUFnQWlDRjBOQUNBSUlBZGRSUVJBSUFFb0FnUWdCU2dDREVrTkFRc2dBeUVGREFFTEN5QURJUUVNQUFBTEFBc0xJQUVnQWtjRVFDQUNLQUlBSVFNZ0FpQUJLQUlBTmdJQUlBRWdBellDQUNBQ0tBSUVJUU1nQWlBQktBSUVOZ0lFSUFFZ0F6WUNCQXNnQUNBQ1FRaHFJZ0kyQWdBTUFRc0xDOTBNQWhGL0EzMGpCaUVJSXdaQk1Hb2tCaUFJUVNocUlRc2dDRUVrYWlFTUlBaEJJR29oRVNBQktBSUFJUTBDUUFKQUFrQUNRQU5BQWtBZ0FpZ0NBQ0lPUVhocUlRWWdEa0Y4YWlFS0lBMGdEa1lOQUNBR0lRY2dBQ2dDQUNJQklRUUNmd0pBQWtBQ1FBTkFBa0FDUUNBT0lBUnJJZ05CQTNVaUNRNEVCd2NKQ2dBTElBTkJ3QUJJRFFvZ0NDQUVOZ0lJSUFnZ0NVRUJkaUlEUVFOMElBRnFJZ2syQWdRZ0NDQUhOZ0lBSUJFZ0NDZ0NDRFlDQUNBTUlBZ29BZ1EyQWdBZ0N5QUlLQUlBTmdJQUlCRWdEQ0FMRVBJRElROGdDU29DQUNJVUlBUXFBZ0FpRlYwTkF5QURRUU4wSUFGcUlSSWdGU0FVWFVVRVFDQVNLQUlFSUFRb0FnUkpEUVFMSUFZaEF3TkFJQU5CZUdvaUJTQUVSd1JBSUJRZ0JTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0VpZ0NCQ0FEUVh4cUtBSUFJaEJKRFFVTElBVWhBd3dCQ3dzZ0JFRUlhaUlGSVFRZ0Jpb0NBQ0lWSUFFcUFnQWlGRjFGQkVBQ1FDQVVJQlZkQkVBZ0FVRUVhaUVEQlNBS0tBSUFJQUZCQkdvaUF5Z0NBRWtOQVFzQ2Z3SkFBMEFDUUNBRklBWkdEUXdnQlNvQ0FDSVdJQlJkRFFBZ0ZDQVdYVVVFUUNBRktBSUVJZ1FnQXlnQ0FFa05Bd3NnQlVFSWFpRUZEQUVMQ3lBRktBSUVJUVFnQlVFRWFnd0JDeUFGUVFScUN5RVRJQVVnRlRnQ0FDQUdJQlk0QWdBZ0V5QUtLQUlBTmdJQUlBb2dCRFlDQUNBRlFRaHFJUVFMQ3lBRUlBWkdEUVlnQVNFSklBY2hBUU5BSUFrcUFnQWhGQU5BQWtBZ0JDb0NBQ0lWSUJSZERRQWdGQ0FWWFVVRVFDQUVLQUlFSUFrb0FnUkpEUUVMSUFSQkNHb2hCQXdCQ3dzZ0JDRURJQUVoQkFOQUFrQWdCRUY0YWlJQktnSUFJaFVnRkYxRkJFQWdGQ0FWWFEwQklBUkJmR29vQWdBZ0NTZ0NCRThOQVFzZ0FTRUVEQUVMQ3lBQklBTkxCRUFnQXlnQ0FDRUZJQU1nRlRnQ0FDQUJJQVUyQWdBZ0F5Z0NCQ0VGSUFNZ0JFRjhhaUlFS0FJQU5nSUVJQVFnQlRZQ0FDQURRUWhxSVFRTUFRc0xJQTBnQXlJQlNRMEdJQUFnQVRZQ0FDQUJJUVFNQVFzTElBTkJmR29pQVNFRElBRW9BZ0FoRUF3Q0N5QURRWHhxSVFNTUFRc2dEeUVESUFZTUFRc2dCQ2dDQUNFQklBUWdGVGdDQUNBRklBRTJBZ0FnQkNnQ0JDRUJJQVFnRURZQ0JDQURJQUUyQWdBZ0QwRUJhaUVESUFVTElRRWdCRUVJYWlJSElRWWdCeUFCU1FSL0lBTWhCU0FHSVFNRFFDQUpLZ0lBSVJRRFFBSkFJQlFnQXlvQ0FDSVZYVVVFUUNBVklCUmREUUVnQ1NnQ0JDQURLQUlFVHcwQkN5QURRUWhxSVFNTUFRc0xJQU1oQnlBQklRTURRQUpBSUJRZ0EwRjRhaUlCS2dJQUloVmREUUFnRlNBVVhVVUVRQ0FKS0FJRUlBTkJmR29vQWdCSkRRRUxJQUVoQXd3QkN3c2dBU0FIU3dSQUlBY29BZ0FoQmlBSElCVTRBZ0FnQVNBR05nSUFJQWNvQWdRaEJpQUhJQU5CZkdvaUF5Z0NBRFlDQkNBRElBWTJBZ0FnQlVFQmFpRUZJQUVnQ1NBSElBbEdHeUVKSUFkQkNHb2hBd3dCQ3dzZ0J5RUdJQVVGSUFNTElRRWdCeUFKUndSQUFrQWdCeW9DQUNJVklBa3FBZ0FpRkYwRVFDQUpRUVJxSVFVZ0IwRUVhaUVQSUFrb0FnUWhBeUFIS0FJRUlSQUZJQlFnRlYwTkFTQUhRUVJxSWc4b0FnQWlFQ0FKUVFScUlnVW9BZ0FpQTA4TkFRc2dCaWdDQUNFS0lBWWdGRGdDQUNBSklBbzJBZ0FnRHlBRE5nSUFJQVVnRURZQ0FDQUJRUUZxSVFFTEN5QUhJQTFHRFFBZ0JpRURJQUZGQkVBQ1FDQU5JQWRKQkVBRFFDQUhJQVJCQ0dvaUFVWU5CQ0FFS2dJQUloUWdBU29DQUNJVlhRMENJQlVnRkYxRkJFQWdCQ2dDQkNBRUtBSU1TUTBEQ3lBQklRUU1BQUFMQUFVZ0F5RUJBMEFnRGlBQlFRaHFJZ05HRFFRZ0FTb0NBQ0lVSUFNcUFnQWlGVjBOQWlBVklCUmRSUVJBSUFFb0FnUWdBU2dDREVrTkF3c2dBeUVCREFBQUN3QUxBQXNMSUEwZ0Iwa0VRQ0FDSUFZMkFnQUZJQUFnQjBFSWFqWUNBQXNNQVFzTERBTUxJQUlnQmpZQ0FDQUJLZ0lBSWhRZ0Jpb0NBQ0lWWFFSQUlBRkJCR29oQXlBS0tBSUFJUUFnQVNnQ0JDRUNCU0FWSUJSZERRTWdBVUVFYWlJREtBSUFJZ0lnQ2lnQ0FDSUFUdzBEQ3lBQklCVTRBZ0FnQmlBVU9BSUFJQU1nQURZQ0FDQUtJQUkyQWdBTUFnc2dDQ0FFTmdJY0lBZ2dCRUVJYWpZQ0dDQUNJQVkyQWdBZ0NDQUdOZ0lVSUJFZ0NDZ0NIRFlDQUNBTUlBZ29BaGcyQWdBZ0N5QUlLQUlVTmdJQUlCRWdEQ0FMRVBJREdnd0JDeUFJSUFRMkFoQWdDQ0FPTmdJTUlBd2dDQ2dDRURZQ0FDQUxJQWdvQWd3MkFnQWdEQ0FMRU9zSUN5QUlKQVlMcGdjQ0NIOERmU01HSVFnakJrRXdhaVFHSUFoQkNHb2hDU0FJUVNCcUlRMGdDRUVjYWlFT0lBTWdCR3doQ2dKOUlBV3lJQU95bFkwaEVpQUdzaUFFc3BXTklSRWdBU0FCS0FJQU5nSUVJQUVnQnhEUkFpQUFLQUlFSUFBb0FnQWlBMnRCREJBNUlRdEJBQ0VGQTBBZ0JTQUxSd1JBSUFWQkRHd2dBMm9vQWdRZ0JVRU1iQ0FEYWlnQ0FDSUVhMEVNRURraERFRUFJUVlEUUNBR0lBeEhCRUFnQmtFTWJDQUVhaUFHUVF4c0lBUnFLQUlBTmdJRUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDeUFISUFvUU9TRUxJQklMRUVPeUlSQWdFUkJEc2lFUlFRQWhCQU5BSUFRZ0FpZ0NCQ0FDS0FJQUlnTnJRU1FRT1VrRVFDQUVRU1JzSUFOcUtnSUFJQkNWRUVNaEJpQUVRU1JzSUFOcUtnSUVJQkdWRUVNaEJTQUFLQUlBSUFaQkRHeHFLQUlBSVFZZ0NTQUVRU1JzSUFOcUtnSVlpemdDQUNBSklBUTJBZ1FnQlVFTWJDQUdhaUlES0FJRUlnY2dCVUVNYkNBR2FpZ0NDRWtFUUNBSElBa3BBd0EzQWdBZ0F5QURLQUlFUVFocU5nSUVCU0FGUVF4c0lBWnFJQWtRbGdFTElBUkJBV29oQkF3QkN3dEJBQ0VHSUFBb0FnQWlCU0lFSVFNQ1FBTkFJQVlnQUNnQ0JDQUZhMEVNRURsSkJFQkJBQ0VGQTBBZ0JTQUdRUXhzSUFScUtBSUVJQVpCREd3Z0JHb29BZ0FpQjJ0QkRCQTVTUVJBSUFzZ0JVRU1iQ0FIYWlJS0tBSUVJZzhnQlVFTWJDQUhhaUlNS0FJQUlnUnJRUU4xSWdjZ0N5QUhTUnNpQndSQUlBZ2dCRFlDR0NBSUlBZEJBM1FnQkdvMkFoUWdDQ0FQTmdJUUlBNGdDQ2dDR0RZQ0FDQU5JQWdvQWhRMkFnQWdDU0FJS0FJUU5nSUFJQTRnRFNBSkVPd0lJQXdvQWdBaUJDRURJQWNnQ2lnQ0JDQUVhMEVEZFVzRVFDQURLZ0lBSUFkQkEzUWdBMm9xQWdCZ1JRMEdDMEVBSVFvRFFDQUtJQWRKQkVBZ0FpZ0NBQ0FNS0FJQUlBcEJBM1JxS0FJRVFTUnNhaUVESUFFb0FnUWlCQ0FCS0FJSVJnUkFJQUVnQXhEaUFRVWdCQ0FES1FJQU53SUFJQVFnQXlrQ0NEY0NDQ0FFSUFNcEFoQTNBaEFnQkNBREtRSVlOd0lZSUFRZ0F5Z0NJRFlDSUNBQklBRW9BZ1JCSkdvMkFnUUxJQXBCQVdvaENnd0JDd3NnQUNnQ0FDRURDeUFGUVFGcUlRVWdBeUVFREFFTEN5QUdRUUZxSVFZZ0JDRUZEQUVMQ3lBSUpBWVBDeUFKUWNESUEwSHB5QUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZCUkErUWZhaUFoQTNRYVBKQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSkVEd2dBQ0FCRUVBZ0FCQS9FQUFMSmdBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVHWWg2OERhaWdDQURZQ0FFRUFCVUYvQ3hvTFJBRUNmVU1BQUlBL1FRRWdCblN5bFNJSFF3QUFBRCtVUXdBQUFMK1NJUWdnQUNBSElBT1VJQWlTT0FJQUlBRWdCeUFFbENBSWtqZ0NBQ0FDSUFjZ0JaUTRBZ0FMM1FRQ0RIOEJmU01HSVFJakJrRkFheVFHSUFKQk1Hb2hDaUFDUVN4cUlRY2dBa0VvYWlFSUlBSkJKR29oQ3lBQUxBQWNCRUFnQUNBQVFjZ0FhaUlKS0FJQU5nSk1JQWtnQUVGQWF5SU1LQUlBSUFCQlBHb2lCU2dDQUdzUTBRSWdBRUhjQUdvaURTQUJFTUlJQTBBZ0JTZ0NBQ0lHSVFNZ0JDQU1LQUlBSUFaclFTUVFPVWtFUUNBSElBZ2dDeUFFUVNSc0lBTnFLZ0lBSUFSQkpHd2dBMm9xQWdRZ0JFRWtiQ0FEYWlvQ0hDQUVRU1JzSUFOcUtBSU1FTzhJSUFjZ0J5b0NBQ0FCSUFVb0FnQWdCRUVrYkdvb0FneEJBQkNzQVNnQ0JFRi9hck1RNHdFNEFnQWdDQ0FJS2dJQUlBRWdCU2dDQUNBRVFTUnNhaWdDREVFQUVLd0JLQUlJUVg5cXN4RGpBU0lPT0FJQUlBMGdBQ2dDa0FFZ0NpQUZLQUlBSWdNZ0JFRWtiR29vQWd3Z0JFRWtiQ0FEYWlnQ0VDQUhLZ0lBSUE0Z0N5b0NBQkRCQ0VFQUlRWURRQ0FHSUFvb0FnQklCRUFnQWlBRktBSUFJQVJCSkd4cUlnTXBBZ0EzQWdBZ0FpQURLUUlJTndJSUlBSWdBeWtDRURjQ0VDQUNJQU1wQWhnM0FoZ2dBaUFES0FJZ05nSWdJQUlnQUNnQ2tBRWdCa0VDZEdvb0FnQTJBZ2dnQUNnQ1RDSURJQUFvQWxCR0JFQWdDU0FDRU9JQkJTQURJQUlwQWdBM0FnQWdBeUFDS1FJSU53SUlJQU1nQWlrQ0VEY0NFQ0FESUFJcEFoZzNBaGdnQXlBQ0tBSWdOZ0lnSUFBZ0FDZ0NURUVrYWpZQ1RBc2dCa0VCYWlFR0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFVZ0NSQ0pBZ1VDUUNBQVFVQnJLQUlBSUFBb0Fqd2lBR3RCSkJBNUlRRURRQ0FCSUFWR0RRRWdCVUVrYkNBQWFrTUFBQUFBT0FJSUlBVkJBV29oQlF3QUFBc0FDd3NnQWlRR0M1SUVBUXQvSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVCSUFCQlFHc2lDQ2dDQUNBQVFUeHFJZ1FvQWdCclFTUVFPU0FBS0FKVUlnbExCRUFnQUNnQ0ZDQUFRUkJxSWdvb0FnQWlCbXRCREJBNUlnc2dBQ2dDQ0VjRVFDQUJRY0RJQTBHQnh3RVFOMEhBdkFFUU4wSHZvZ0lRTjBIR0F4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQVlvQWdRZ0JpZ0NBR3RCREJBNUlnWWdBQ2dDREVjRVFDQUJRY0RJQTBIU3h3RVFOMEhBdkFFUU4wSHZvZ0lRTjBISEF4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQU5CQURZQ0FDQURRUUEyQWdRZ0EwRUFOZ0lJSUFvZ0F5QUVJQXNnQmlBQUtBSUFJQUFvQWdRZ0NSRHRDQ0FFSUFNUWlRSWdDQ2dDQUNBRUtBSUFhMEVrRURrZ0FDZ0NWRXNFUUNBQlFjRElBMEdNeUFFUU4wSEF2QUVRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRISUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnUW9BZ0FvQWh3aEFpQUVRUW9nQWtFL2NVR0tBV29SQWdBaEJDQUJFRHdnQUNBRUVFQWdBQkEvRUFBRklBTVFWUXNMSUFNa0JndWFCd0lWZndSOUl3WWhCU01HUWRBQWFpUUdJQVZCeEFCcUlRa2dCVUU0YWlFTUlBVkJMR29oQnlBRlFTaHFJUTBnQlVFa2FpRU9JQUFxQWpRUWFTRVlJQUFxQWpoREFBQ0FQNUlRYVNBQUtnSTRsU0VaSUFCQlBHb2hEeUFBUVVCcklSVWdBRUVnYWlFR0FrQUNRQUpBQTBBZ0FpQVZLQUlBSUE4b0FnQWlBMnRCSkJBNVNRUkFJQUpCSkd3Z0Eyb2lFaWdDRUNBR0tBSVFUZzBDSUJJb0FoQWdCaWdDRUNBQ1FTUnNJQU5xSWhBb0FneHNhaUVLSUEwZ0RpQUNRU1JzSUFOcUlnZ3FBZ0FnQWtFa2JDQURha0VFYWlJVEtnSUFJQkFvQWd3UXl3SWdEU29DQUVNQUFBQS9raEJESVFzZ0Rpb0NBRU1BQUFBL2toQkRJUkVnQlNBTUlBWW9BZ0FnQ2tGL2FrRUZkR29nQmlnQ0FDQUtRUVYwYWlJVUlBWW9BZ0FnQ2tFQmFrRUZkR29nQ3lBUkVPZ0lCRUFnQnlBRklBd1E1d2dFUUNBSEtnSUFFR2tnQnlvQ0JCQnBraUFBS2dKWVhrVUVRQ0FDUVNSc0lBTnFJaFpCSUdvZ0JSRG1DQVJBSUFKQkpHd2dBMm9pQ2lvQ0dDQVVJQkVRVUNBTFFRSjBhaW9DQUZ3TkJ5QUtJQlFnRVJCUUlBdEJBblJxS2dJQUlBd3FBZ0FnQnlvQ0FDSVhsQ0FNS2dJRUlBY3FBZ1FpR3BTU0lBd3FBZ2dnQnlvQ0NKU1NremdDR0NBSUlCTWdGeUFOS2dJQWtpQWFJQTRxQWdDU0lCQW9BZ3dRNFFFZ0FrRWtiQ0FEYWlJTElBY3FBZ2dnRWlnQ0VMS1NJaGM0QWhRZ0N5QVhJQVlvQWhDeUVPTUJPQUlVSUJZcUFpQ0xJQmxkQkg4Z0Npb0NHQkJwSUJoZ0JIOGdDQ29DQUNJWFF3QUFBQUJnQkg4Z0Z5QUdLQUlBS0FJRXMxMEVmeUFUS2dJQUloZERBQUFBQUdBRWZ5QVhJQVlvQWdBb0FnaXpYUVIvSUFKQkpHd2dBMm9nQVNBUUtBSU1JQXNxQWhRUWh3STRBaHdnRHlnQ0FDQUVRU1JzYWlJRElBZ3BBZ0EzQWdBZ0F5QUlLUUlJTndJSUlBTWdDQ2tDRURjQ0VDQURJQWdwQWhnM0FoZ2dBeUFJS0FJZ05nSWdJQVJCQVdvRklBUUxCU0FFQ3dVZ0JBc0ZJQVFMQlNBRUN3VWdCQXNoQkFzTEN3c2dBa0VCYWlFQ0RBRUxDeUFQSUFRUTZRZ2dCU1FHRHdzZ0NVSEF5QU5CdHNrQkVEZEJ3THdCRURkQjc2SUNFRGRCNlFNUVBrSDJvZ0lRTjBIK3lRRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc01BUXNnQ1VIQXlBTkJvOG9CRURkQndMd0JFRGRCNzZJQ0VEZEJqZ1FRUGtIMm9nSVFOMEhjeWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTElBbEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBa1FQQ0FBSUFFUVFDQUFFRDhRQUF1TUpBSWNmd3A5SXdZaEJTTUdRVEJxSkFZZ0FFRkFheUlSSUFCQlBHb2lHQ2dDQURZQ0FDQUFLZ0kwRUdraEpTQUFRU0JxSVJrZ0JVRUVhaUVhSUFWQkJHb2hHeUFGUVFScUlSeEJBU0VEQWtBQ1FBSkFBa0FDUUFKQUFrQURRQ0FESUJrb0FnUWdHU2dDQUd0QkJYVkJmMnBKQkVBZ0FpQURRWDlxRU1nQ0lRY2dBaUFERU1nQ0lRb2dBaUFEUVFGcUloMFF5QUloQ0NBQ0lBTVEyZ2doRWlBRElBSW9BaEFRVHlFV0FrQUNRQ0FIS0FJRUlBb29BZ1JIRFFBZ0J5Z0NCQ0FJS0FJRVJ3MEFJQWNvQWdnZ0NpZ0NDRWNOQkNBSEtBSUlJQWdvQWdoSERRVWdDaWdDQkVGL2FpRVhJQW9vQWdoQmYyb2hIaUFXc2lFZ1FRRWhBd05BSUFNZ0hra0VRQ0FISUFOQmYyb2lCQkJRSVJNZ0J5QURFRkFoQ3lBSElBTkJBV29pRkJCUUlRd2dDaUFFRUZBaERTQUtJQU1RVUNFVklBb2dGQkJRSVE0Z0NDQUVFRkFoRHlBSUlBTVFVQ0VRSUFnZ0ZCQlFJUWtnQTdNaElVRUJJUU1EUUNBRElCZEpCRUFnQTBFQ2RDQVZhaUlFS2dJQUVHa2dKVjFGQkVBQ1FBSkFBa0FnQkNvQ0FDSWZJQU5CZjJvaUJFRUNkQ0FUYWlvQ0FDSWlYa1VOQUNBZklBTkJBblFnRTJvcUFnQmVSUTBBSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0ZXb3FBZ0JlUlEwQUlCOGdCa0VDZENBVmFpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBTkJBblFnRG1vcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVBhaW9DQUY1RkRRQWdIeUFFUVFKMElCQnFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUVRUUowSUFscUtnSUFYa1VOQUNBZklBTkJBblFnQ1dvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FKYWlvQ0FGNUZEUUFNQVFzZ0h5QWlYVVVOQVNBZklBTkJBblFnRTJvcUFnQmRSUTBCSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0ZXb3FBZ0JkUlEwQklCOGdCa0VDZENBVmFpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBTkJBblFnRG1vcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFOQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVBhaW9DQUYxRkRRRWdIeUFFUVFKMElCQnFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUVRUUowSUFscUtnSUFYVVVOQVNBZklBTkJBblFnQ1dvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FKYWlvQ0FGMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FmT0FJWUlBVWdBU0FTSUNBUWh3STRBaHdnQlNBYUlBT3pJQ0VnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFFTEN3d0JDeUFIS0FJRUlBb29BZ1JHQkVBZ0NDZ0NCQ0FLS0FJRVFRRjJSZ1JBSUFjb0FnZ2dDaWdDQ0VjTkJ5QUlLQUlJSUFvb0FnaEJBWFpIRFFnZ0NDZ0NCRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUk1nQ0NnQ0NFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSVWdGckloSmtFQ0lRTURRQ0FESUJWUERRTWdCeUFEUVg5cUlnUVFVQ0VQSUFjZ0F4QlFJUXNnQnlBRFFRRnFJaFFRVUNFTUlBb2dCQkJRSVEwZ0NpQURFRkFoRUNBS0lCUVFVQ0VPSUFPeklpZERBQUFBUDVSREFBQ0F2cElpSVVNQUFBQy9raUVpSUNGREFBQUFQNUloSTBFQ0lRUURRQ0FFSUJOSkJFQWdCRUVDZENBUWFpSURLZ0lBRUdrZ0pWMUZCRUFDUUNBRXN5SW9Rd0FBQUQrVVF3QUFnTDZTSVNBQ1FBSkFJQU1xQWdBaUh5QUVRWDlxSWdaQkFuUWdEMm9pRnlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdDVUVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUJCcUtnSUFYa1VOQUNBZklBbEJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFsQkFuUWdEbW9xQWdCZVJRMEFJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5Ya1VOQUNBREtnSUFJQWdnSUNBaUVFMWVSUTBBSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhrVU5BQ0FES2dJQUlBZ2dIeUFoRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ0VRVFY1RkRRQWdBeW9DQUNBSUlDUWdJUkJOWGtVTkFDQURLZ0lBSUFnZ0h5QWpFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDTVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0l4Qk5Ya1VOQUF3QkN5QURLZ0lBSWg4Z0Z5b0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdDVUVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElCQnFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBbEJBblFnRG1vcUFnQmRSUTBCSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWFVVTkFTQURLZ0lBSUFnZ0lDQWlFRTFkUlEwQklBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5YVVVOQVNBREtnSUFJQWdnSHlBaEVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNFUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSVJCTlhVVU5BU0FES2dJQUlBZ2dIeUFqRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ01RVFYxRkRRRWdBeW9DQUNBSUlDUWdJeEJOWFVVTkFRc2dCU0FTTmdJTUlBVWdGallDRUNBRklBTW9BZ0EyQWhnZ0JTQUJJQklnSmhDSEFqZ0NIQ0FGSUJzZ0tDQW5JQklRNFFFZ0VTZ0NBQ0lESUFBb0FrUkdCRUFnR0NBRkVPSUJCU0FESUFVcEFnQTNBZ0FnQXlBRktRSUlOd0lJSUFNZ0JTa0NFRGNDRUNBRElBVXBBaGczQWhnZ0F5QUZLQUlnTmdJZ0lCRWdFU2dDQUVFa2FqWUNBQXNMQ3lBRVFRRnFJUVFNQVFzTElCUWhBd3dBQUFzQUN3c2dDaWdDQkNBSEtBSUVRUUYyUmdSQUlBZ29BZ1FnQnlnQ0JFRUJka1lFUUNBS0tBSUlJQWNvQWdoQkFYWkhEUWtnQ0NnQ0NDQUhLQUlJUVFGMlJ3MEtJQW9vQWdSQmYyb2hFeUFLS0FJSVFYOXFJUlVnRnJJaEprRUJJUU1EUUNBRElCVlBEUU1nQ2lBRFFYOXFJZ1FRVUNFUElBb2dBeEJRSVJBZ0NpQURRUUZxSWhRUVVDRUxJQWdnQkJCUUlRd2dDQ0FERUZBaERTQUlJQlFRVUNFT0lBT3pJU2NnQTBFQmRMTkRBQUFBUDVJaUlVTUFBQURBa2lFaUlDRkRBQUFBUUpJaEkwRUJJUU1EUUNBRElCTkpCRUFnQTBFQ2RDQVFhaUlFS2dJQUVHa2dKVjFGQkVBQ1FDQURRUUYwczBNQUFBQS9raUVnQWtBQ1FDQUVLZ0lBSWg4Z0EwRi9haUlHUVFKMElBOXFJaGNxQWdCZVJRMEFJQjhnQTBFQ2RDQVBhaW9DQUY1RkRRQWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFaQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFKUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUpRUUowSUF4cUtnSUFYa1VOQUNBZklBWkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTFxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEbW9xQWdCZVJRMEFJQjhnQTBFQ2RDQU9haW9DQUY1RkRRQWdIeUFKUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQ0FnSWhCTlhrVU5BQ0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFY1RkRRQWdCQ29DQUNBSElCOGdJUkJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWhFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDRVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0l4Qk5Ya1VOQUNBRUtnSUFJQWNnSUNBakVFMWVSUTBBSUFRcUFnQWdCeUFrSUNNUVRWNUZEUUFNQVFzZ0JDb0NBQ0lmSUJjcUFnQmRSUTBCSUI4Z0EwRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUpRUUowSUJCcUtnSUFYVVVOQVNBZklBWkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXRxS2dJQVhVVU5BU0FmSUFaQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFKUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUpRUUowSUExcUtnSUFYVVVOQVNBZklBWkJBblFnRG1vcUFnQmRSUTBCSUI4Z0EwRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTVxS2dJQVhVVU5BU0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjFGRFFFZ0JDb0NBQ0FISUNBZ0loQk5YVVVOQVNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSVJCTlhVVU5BU0FFS2dJQUlBY2dJQ0FoRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ0VRVFYxRkRRRWdCQ29DQUNBSElCOGdJeEJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWpFRTFkUlEwQklBUXFBZ0FnQnlBa0lDTVFUVjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBRUtBSUFOZ0lZSUFVZ0FTQVNJQ1lRaHdJNEFod2dCU0FjSUFPeklDY2dFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUFBQ3dBTEN3c2dIU0VEREFFTEN5QUZKQVlQQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0ZDeUFGUWNESUEwRzIzUUVRTjBIQXZBRVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RUN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dEQ3lBRlFjRElBMEhxM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEdXQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0NDeUFGUWNESUEwR2ozZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3QkN5QUZRY0RJQTBIYzNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3NnQlVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQlJBOElBQWdBUkJBSUFBUVB4QUFDL0FCQVFSL0l3WWhBaU1HUVNCcUpBWWdBU2dDRUVFQVRBUkFJQUpCd01nRFFkdStBUkEzUWNDOEFSQTNRZStpQWhBM1FaTUJFRDVCOXFJQ0VEZEJqTDhCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQkNnQ0FDZ0NIQ0VGSUFSQkNpQUZRVDl4UVlvQmFoRUNBQ0VFSUFJUVBDQURJQVFRUUNBREVEOFFBQXNnQWtHNHhnRVFlU0FBUVNCcUlBRVFoUWtnQWhCcklBSkJ4TVlCRUhrZ0FDQUJJQUJCSUdvUTh3Z2dBaEJySUFKQjJNWUJFSGtnQUNBQkVQSUlJQUlRYXlBQ1FlSEdBUkI1SUFBUThRZ2dBaEJySUFKQjc4WUJFSGtnQUNBQkVQQUlJQUlRYXlBQ0pBWUxRZ0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCZEdvaUFqWUNDQ0FDRU5NQ0RBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEMUNBc0ZJQUFnQVJEMUF3c2dBaVFHQzBFQkFuOGdBQ2dDQkNFQkEwQWdBQ2dDQ0NJQ0lBRkhCRUFnQUNBQ1FYUnFJZ0kyQWdnZ0FoQlZEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDNDQXNGSUFBZ0FSRDFBd3NnQWlRR0MxMEJBMzhnQUNnQ0JDSUVJQUFvQWdBaUFtdEJEQkE1SWdNZ0FVa0VRQ0FBSUFFZ0Eyc1ErQWdGSUFNZ0FVc0VRQ0FCUVF4c0lBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUUxDd3RlQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVF3UU9TSURJQUZKQkVBZ0FDQUJJQU5yRVBZSUJTQURJQUZMQkVBZ0FVRU1iQ0FDYWlFQ0lBUWhBUU5BSUFFZ0FrY0VRQ0FCUVhScUlnRVEwd0lNQVFzTElBQWdBallDQkFzTEM1Y0JBUUYvSUFCQklHb2dBUkNOQ1NBQVFkd0FhaUFCRUhRb0FnQW9BZ1FnQVJCMEtBSUFLQUlJSUFFb0FoQWdBU2dDRkJERENDQUFJQUVRZENnQ0FDZ0NCRFlDQUNBQUlBRVFkQ2dDQUNnQ0NEWUNCQ0FBUVJCcUlBQW9BZ2dRK2doQkFDRUJBMEFnQVNBQUtBSVVJQUFvQWhBaUFtdEJEQkE1U1FSQUlBRkJER3dnQW1vZ0FDZ0NEQkQ1Q0NBQlFRRnFJUUVNQVFzTEMwQUJBWDhnQUVHUUFXb1FWU0FBUWR3QWFpSUJRU2hxRU5JQ0lBRkJIR29RVlNBQVFjZ0FhaEJWSUFCQlBHb1FWU0FBUVNCcUVOSUNJQUJCRUdvUWdRa0xKUUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUgwaHE4RGFpZ0NBRFlDQUVFQUJVRi9Dd3NpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUlDNlVCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFKMUlBRkpCRUJCLy8vLy93TWdBU0FESUFBb0FnQnJRUUoxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaUFCRVA0SUlBQWdBaERrQVNBQ0VNY0JDd1VnQUNBQkVQWURDeUFDSkFZTElBQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FDZ0NBRFlDQUVFQUJVRi9DeG9MUUFFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRjBhaUlCRU5NQ0RBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d1NUFRRUJmeUFBUVFBMkFnQWdBRUVBTmdJRUlBQkJDallDQ0NBQVFRbzJBZ3dnQUVFQU5nSVFJQUJCQURZQ0ZDQUFRUUEyQWhnZ0FFRUJPZ0FjSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUVBTmdJd0lBQkRBQUFBQURnQ05DQUFRd0FBSUVFNEFqZ2dBRUlBTndJOElBQkNBRGNDUkNBQVFnQTNBa3dnQUVNQUFCQkJPQUpZSUFCQjNBQnFFTVFJSUFCQmtBRnFJZ0ZCQURZQ0FDQUFRUUEyQXBRQklBQkJBRFlDbUFFZ0FFR0lKeEQzQXlBQlFTUVFod0VMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQzhBS0FRWi9Jd1loQlNNR1FSQnFKQVlnQUNnQ0FFRUNSd1JBSUFWQndNZ0RRWnZBQVJBM1FjQzhBUkEzUWUraUFoQTNRZFlBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NBRUVDUndSQUlBVkJ3TWdEUWVMQUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRjQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDQUVFQ1J3UkFJQVZCd01nRFFaSEJBUkEzUWNDOEFSQTNRZStpQWhBM1FkZ0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0VFRUJSd1JBSUFWQndNZ0RRY0RCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGtBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NFRUVCUndSQUlBVkJ3TWdEUVk3Q0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRvQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDRUVFQlJ3UkFJQVZCd01nRFFibkNBUkEzUWNDOEFSQTNRZStpQWhBM1Fkc0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5Z0NBRUYwYWlnQ0FDQURhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUWVUQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWR3QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYlREQVJBM1FjQzhBUkEzUWUraUFoQTNRZDBBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFZZkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJuRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBdEJBQ0VEQTBBZ0F5QUJLQUlJU1FSQUlBQWdBeENEQ1NFR0lBRWdBeEJRSVFjZ0FpQURFRkFoQ0VFQUlRUURRQ0FFSUFFb0FnUkpCRUFnQkVFQ2RDQUdhaUFFUVFKMElBZHFLZ0lBSUFSQkFuUWdDR29xQWdDVE9BSUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBRkpBWUw1Z01CQkg4akJpRUVJd1pCRUdva0JpQUFLQUlFSUFBb0FnQkdCRUFnQkVIQXlBTkJpTDRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5QUFRUGtIMm9nSVFOMEd5dmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQktBSVFRUUJNQkVBZ0JFSEF5QU5CMjc0QkVEZEJ3THdCRURkQjc2SUNFRGRCeVFBUVBrSDJvZ0lRTjBHTXZ3RVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJCRUFnQVVIdzhRQkIrUEVBRU9RRUJFQkJBQ0VDQTBBZ0FpQUFLQUlNU1FSQVFRQWhBd05BSUFNZ0FDZ0NFRWtFUUNBQUtBSUFJQU1nQWlBQUtBSVFiR3BCQlhScUlBRWdBaUFERUt3QklBRWdBaUFEUVFGcUlnTVFyQUVRaEFrTUFRc0xJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c0xJQVJCd01nRFFiQy9BUkEzUWNDOEFSQTNRZStpQWhBM1Fjb0FFRDVCOXFJQ0VEZEIrTDhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQXRDQVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGZ2FpSUNOZ0lJSUFJUTNRRU1BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTFNnRUNmeUFBQkg4Z0FFR0loNjhEYWlJQktBSUFJZ0lFUUNBQ0VFa2dBVUVBTmdJQUN5QUFRZUNHcHdKcUtBSUFFRGdnQUVIa2hxY0NhaWdDQUJBNElBQVFPRUVBQlVGL0N4b0xrQUVCQW44Z0FDZ0NBQ0VESUFBb0FnUWhBZ05BSUFJZ0EwY0VRQ0FCS0FJRVFXQnFJQUpCWUdvaUFoQ3FCeUFCSUFFb0FnUkJZR28yQWdRTUFRc0xJQUFvQWdBaEFpQUFJQUVvQWdRMkFnQWdBU0FDTmdJRUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQVNnQ0JEWUNBQXNyQVFGL0lBQW9BZ2doQWdOQUlBSVF1Z01nQUNBQUtBSUlRU0JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDM0lCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVSC8vLzgvU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVGZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFWMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUZkQ0FFYWpZQ0RBc3JBUUYvSUFBb0FnUWhBZ05BSUFJUXVnTWdBQ0FBS0FJRVFTQnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM2SUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUVYxSUFGSkJFQkIvLy8vUHlBQklBTWdBQ2dDQUd0QkJYVnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUVIxSWdZZ0JpQURTUnRCLy8vL1B5QUZRUVYxUWYvLy94OUpHeUFBS0FJRUlBUnJRUVYxSUFCQkNHb1FpZ2tnQWlBQkVJa0pJQUFnQWhDSUNTQUNFSVlKQ3dVZ0FDQUJFSXNKQ3lBQ0pBWUx3d0lCQ0g4akJpRUVJd1pCRUdva0JpQUJLQUlJSUFFb0FnUnJRUVYxUlFSQUlBUkJ3TWdEUVpXOEFSQTNRY0M4QVJBM1FlK2lBaEEzUVRVUVBrSDJvZ0lRTjBISXZRRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJRUUJCQUJDc0FTZ0NBQ0VESUFGQkFFRUFFS3dCS0FJRUlRVWdBVUVBUVFBUXJBRW9BZ2doQmlBQUlBRW9BaEEyQWd3Z0FDQUJLQUlVUVg5cUlnRTJBaEFnQUNBQklBQW9BZ3hzRU5RQ1FRQWhBUU5BSUFFZ0FDZ0NERWtFUUNBRklBRjJJUWNnQmlBQmRpRUlRUUFoQWdOQUlBSWdBQ2dDRUNJSlNRUkFJQUFvQWdBZ0FpQUJJQWxzYWtFRmRHb2dBeUFISUFoQkFSQzNBaUFDUVFGcUlRSU1BUXNMSUFGQkFXb2hBUXdCQ3dzZ0JDUUdDM01CQkg4akJpRURJd1pCRUdva0JpQURRUWhxSVFRZ0FBUkFJQUFRWUNFQ1FZRFJBaEJnSUFKQkFtcHFFRVFpQWdSQUlBUWdBRFlDQUNBRVFZRFJBallDQkNBQ1FZKzhBU0FFRUx3QklBSWdBUkN3QVNFRklBSVFPQVZCQUVFRFFibllBaUFERUQxQkFSQUJDd3NnQXlRR0lBVUx2UUlCQ0g4akJpRUtJd1pCRUdva0JpQURJQUZCQkJBNUlnczJBZ0FnQkNBQ1FRUVFPU0lNTmdJQUlBc2dER3dRUkNJRFJRUkFRUUJCQTBHNTJBSWdDaEE5UVFFUUFRc2dBeUVDQTBBZ0NDQU1TQVJBUVFBaENTQUFJQUVnQ0VFQ2RDSUZiR29oQkNBQUlBRWdCVUVEY214cUlRWWdBQ0FCSUFWQkFuSnNhaUVISUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWtnQzBnRVFDQUNJQVl0QUFNZ0JpMEFBaUFHTFFBQklBWXRBQUFnQnkwQUF5QUhMUUFDSUFjdEFBRWdCeTBBQUNBRkxRQURJQVV0QUFJZ0JTMEFBU0FGTFFBQUlBUXRBQU1nQkMwQUFpQUVMUUFBSUFRdEFBRnFhbXBxYW1wcWFtcHFhbXBxYW1wQkVCQTVPZ0FBSUFsQkFXb2hDU0FFUVFScUlRUWdCa0VFYWlFR0lBZEJCR29oQnlBRlFRUnFJUVVnQWtFQmFpRUNEQUVMQ3lBSVFRRnFJUWdNQVFzTElBb2tCaUFEQ3ljQUlBQUVmeUFBUWZpR3J3TnFRUWMyQWdBZ0FFSDhocThEYWtFQU5nSUFRUUFGUVg4TEdndi9BUUVIZnlNR0lRa2pCa0VRYWlRR0lBTWdBVUVERURraUNqWUNBQ0FFSUFKQkF4QTVJZ3MyQWdBZ0NpQUxiQkJFSWdORkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURJUUlEUUNBSElBdElCRUJCQUNFSUlBQWdBU0FIUVFOc0lnVnNhaUVFSUFBZ0FTQUZRUUpxYkdvaEJpQUFJQUVnQlVFQmFteHFJUVVEUUNBSUlBcElCRUFnQWlBR0xRQUNJQVl0QUFFZ0JpMEFBQ0FGTFFBQ0lBVXRBQUVnQlMwQUFDQUVMUUFDSUFRdEFBQWdCQzBBQVdwcWFtcHFhbXBxUVFrUU9Ub0FBQ0FJUVFGcUlRZ2dCRUVEYWlFRUlBWkJBMm9oQmlBRlFRTnFJUVVnQWtFQmFpRUNEQUVMQ3lBSFFRRnFJUWNNQVFzTElBa2tCaUFEQzlBQkFRWi9Jd1loQ0NNR1FSQnFKQVlnQXlBQlFRSVFPU0lKTmdJQUlBUWdBa0VDRURraUNqWUNBQ0FKSUFwc0VFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVMUVFBaEJDQURJUUlEUUNBRUlBcElCRUJCQUNFSElBQWdBU0FFUVFGMElnVnNhaUVHSUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWNnQ1VnRVFDQUNJQVV0QUFFZ0JTMEFBQ0FHTFFBQUlBWXRBQUZxYW1wQkFuWTZBQUFnQjBFQmFpRUhJQVpCQW1vaEJpQUZRUUpxSVFVZ0FrRUJhaUVDREFFTEN5QUVRUUZxSVFRTUFRc0xJQWdrQmlBREM2WURBUWwvSXdZaEN5TUdRUkJxSkFZZ0F5QUJRUU1RT1NJTVFRRjBJZ2syQWdBZ0JDQUNRUU1RT1NJTlFRRjBJZ0kyQWdBZ0FpQUpiQkJFSWdSRkJFQkJBRUVEUWJuWUFpQUxFRDFCQVJBQkN5QUVJZ0loQXdOQUlBZ2dEVWdFUUVFQUlRb2dBQ0FCSUFoQkEyd2lCa0VDYW14cUlRY2dBQ0FCSUFaQkFXcHNhaUVGSUFBZ0FTQUdiR29oQmlBRElBbHFJUU1EUUNBS0lBeElCRUFnQWlBR0xRQUFJQVl0QUFGQkFYWnFJQVV0QUFCQkFYWnFJQVV0QUFGQkFuWnFRUUowUVFrUVNEb0FBQ0FESUFjdEFBQWdCUzBBQUVFQmRpQUZMUUFCUVFKMmFrRVlkRUVZZFVIL0FYRnFJQWN0QUFGQkFYWnFRUUowUVFrUVNEb0FBQ0FDSUFZdEFBSWdCaTBBQVVFQmRtb2dCUzBBQVVFQ2Rtb2dCUzBBQWtFQmRtcEJBblJCQ1JCSU9nQUJJQU1nQnkwQUFpQUZMUUFCUVFKMklBVXRBQUpCQVhacVFSaDBRUmgxUWY4QmNTQUhMUUFCUVFGMmFtcEJBblJCQ1JCSU9nQUJJQXBCQVdvaENpQUhRUU5xSVFjZ0JVRURhaUVGSUFaQkEyb2hCaUFDUVFKcUlRSWdBMEVDYWlFRERBRUxDeUFJUVFGcUlRZ2dBaUFKYWlFQ0RBRUxDeUFMSkFZZ0JBdE9BUUYvSXdZaEJTTUdRUkJxSkFZZ0F5QUJOZ0lBSUFRZ0FqWUNBQ0FCSUFKc0lnRVFSQ0lDQkVBZ0FpQUFJQUVRVEJvZ0JTUUdJQUlQQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTGFnQUNmd0pBQWtBQ1FBSkFBa0FnQTBFQmF3NEZBQUlFQXdFRUN5QUFJQUVnQWlBRUlBVVFsQWtNQkFzZ0FDQUJJQUlnQkNBRkVKTUpEQU1MSUFBZ0FTQUNJQVFnQlJDU0NRd0NDeUFBSUFFZ0FpQUVJQVVRa1FrTUFRc2dBQ0FCSUFJZ0JDQUZFSThKQ3d2RkJBSUxmd0Y5SXdZaENDTUdRZkFCYWlRR0lBaEIwQUZxSVFrZ0NFSElBV29oQmlBSVFlQUJhaUVNSUFoQjFBRnFJUW9nQ0VIZ0FHb2hEaUFJUWNBQmFpRVBJQUVvQWdRZ0FTZ0NBQ0lCYXlJSFFRTjFJZ3RCQkVrRWYwRi9CUUovSUFkQkFYUVFSQ0lIUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVFzZ0MwRVliQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURLQUlBSVFNZ0FpZ0NBQ0VKUVFBaEFnTkFJQUlnQzBjRVFDQUNRUVIwSUFkcUlBSkJBM1FnQVdvb0FnQWlEVUVVYkNBRGFpb0NBTHM1QXdBZ0FrRUVkQ0FIYWlBTlFSUnNJQU5xS2dJRXV6a0RDQ0FDUVJoc0lBWnFJQUpCQTNRZ0FXb29BZ1FpRFVFTWJDQUphaW9DQUxzNUF3QWdBa0VZYkNBR2FpQU5RUXhzSUFscUtnSUV1emtEQ0NBQ1FSaHNJQVpxUkFBQUFBQUFBQUFBT1FNUUlBSkJBV29oQWd3QkN3c2dDaUFMTmdJSUlBb2dCellDQUNBS0lBWTJBZ1FnQUVFSWFpSUFJQWNnQmlBTElBNFFtQVJCQUVnRVFDQUhFRGdnQmhBNFFYOE1BUXNnRENBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FIRURnZ0JoQTRRWDhNQVFzZ0FDQUtJQTRnQ0NBUEVPb0JRUUJJQkg4Z0J4QTRJQVlRT0NBTUVPSUNRWDhGUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUVEUUNBQlFRUkhCRUFnQUVFRWRDQUVhaUFCUVFKMGFpQUFRUVYwSUFocUlBRkJBM1JxS3dNQXRqZ0NBQ0FCUVFGcUlRRU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0RCRGlBaUFIRURnZ0JoQTRJQVVnRHlzREFMWWlFVGdDQUNBUlF3QUFJRUZlUVI5MFFSOTFDd3NMSVJBZ0NDUUdJQkFMclF3REMzOENmUUY4SXdZaEJpTUdRVEJxSkFZZ0JrRVFhaUVISUFaQkNHb2hCU0FHUVN4cUlRZ2dCa0VvYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFBb0Fnd2hCQ0FBS0FJUUlRSUNmeUFBS0FJVUlnTkJBVVlpQ2dSL0lBRWhDRUVBQlNBQklBUWdBaUFESUFnZ0NSQ1ZDU0lJQkg5QkFRVkJmd3dEQ3dzaERDQUFLQUlBSUFnZ0JDQUNFSVFJSUFBZ0FDZ0NBQkM1QWlJQktBSUVJQUVvQWdCcklnRkJGQkE1SWdRMkFqQWdBUVJBQWtBZ0FDQUFLQUlzSWdFRWZ5QUJFRGdnQUNnQ01BVWdCQXRCQTNRUVJDSUJOZ0lzSUFGRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUFLQUlBRUxrQ0lRUUNRQ0FLQkVBZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFNBT0lBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUEwNEFnQWdBa0VEZENBRGFpQU9PQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBVUNRQUpBQWtBQ1FDQURRUUpyRGdRQkF3SUFBd3NnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJTQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQU1BL2xDQU9Rd0FBd0QrVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBREFQNVE0QWdBZ0FrRURkQ0FEYWlBT1F3QUF3RCtVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJDQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUFCQWxDQU9Rd0FBQUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQUFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFBRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkF5QUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUVCQWxDQU9Rd0FBUUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQkFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFRRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUlCQWxDQU9Rd0FBZ0VDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQ0FRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFnRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNBQ3lBQVFUUnFJUVJCQUNFREEwQWdBeUFBS0FJNElnSk9CRUFnQkNFQUlBSWhBUXdDQ3lBRUtBSUFJZ0lnQTBIRUFHeHFJQUFvQWlRZ0EwRU1iR29vQWdnMkFqQWdBMEhFQUd3Z0FtcEJmellDUENBRFFjUUFiQ0FDYWtGQWF5Z0NBRVVFUUNBQUtBSUFLQUlBS0FJQVFReHFJUUlnQUNnQ0FDZ0NBQ2dDQUNnQ0dDSUpRUUJPQkVBZ0FTZ0NBQ0FDSUFBb0FnQWdDUkRJQnlBQUtBSUFFTGtDSUFRb0FnQWlCU0FEUWNRQWJHb2dBMEhFQUd3Z0JXcEJOR29RbGdsRkJFQWdCQ2dDQUNJRklBTkJ4QUJzYWtFQU5nSThJQU5CeEFCc0lBVnFJQUlvQWdRZ0FpZ0NBR3RCQTNVaUFqWUNPQ0FEUWNRQWJDQUZhaUFBUVR4cUlBbEJBblJxS0FJQU5nSXdJQU5CeEFCc0lBVnFLZ0kwdXlFUElBY2dBellDQUNBSElBSTJBZ1FnQnlBQ05nSUlJQWNnRHprREVFRUFRUUZCNTdzQklBY1FQUXNMQ3lBRFFRRnFJUU1NQUFBTEFBc0ZJQUFvQWpnaEFTQUFJZ1JCTkdvaEFFRUFJUUlEUUNBQ0lBRklCRUFnQkNnQ05DQUNRY1FBYkdwQmZ6WUNQQ0FDUVFGcUlRSU1BUXNMQzBFQUlRSURRQ0FDSUFGSUJFQWdBQ2dDQUNBQ1FjUUFiR3BCUUd0QkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF3TEJFQWdDQkE0QzBFQUN3VkJBRUVEUWJ1N0FTQUdFRDFCQUFzYUlBWWtCZ3NHQUNBQUpBWUxQd0VDZnlBQUtBSUVJUUlnQUNnQ0NDRUJBMEFnQVNBQ1J3UkFJQUFnQVVGMGFpSUJOZ0lJREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNWNCQVFSL0lBRkJCR29pQXlnQ0FDRUNJQU1nQUNnQ0JDQUFLQUlBSWdScklnVkJkQkE1UVF4c0lBSnFJZ0kyQWdBZ0JVRUFTZ1JBSUFJZ0JDQUZFRXdhSUFNb0FnQWhBZ3NnQUNnQ0FDRUVJQUFnQWpZQ0FDQURJQVEyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FES0FJQU5nSUFDNVFCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3djZ0FDZ0NCQ0FBS0FJQWEwRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaWdDQ0NBQkxBQUFPZ0FBSUFJZ0FpZ0NDRUVCYWpZQ0NDQUFJQUlRMXdJZ0FoRFdBaUFDSkFZTEM2d0JBUVYvSXdZaEFpTUdRU0JxSkFaQjFhclZxZ0VnQUNnQ0JDQUFLQUlBYTBFTUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUXdRT1NJRlFRRjBJZ1lnQmlBRFNSdEIxYXJWcWdFZ0JVR3ExYXJWQUVrYklBQW9BZ1FnQkd0QkRCQTVJQUJCQ0dvUTFRSWdBaWdDQ0NJRElBRXBBZ0EzQWdBZ0F5QUJLQUlJTmdJSUlBSWdBaWdDQ0VFTWFqWUNDQ0FBSUFJUW1na2dBaENaQ1NBQ0pBWUxDN1VCQVFWL0l3WWhBaU1HUVNCcUpBWkJ6Sm16NWdBZ0FDZ0NCQ0FBS0FJQWEwRVVFRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVJRUU9TSUZRUUYwSWdZZ0JpQURTUnRCekptejVnQWdCVUhtekprelNSc2dBQ2dDQkNBRWEwRVVFRGtnQUVFSWFoRDZBeUFDS0FJSUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUlnQWlnQ0NFRVVhallDQ0NBQUlBSVErUU1nQWhENEF5QUNKQVlMQzRjTUFnOS9BbjBqQmlFSEl3WkI4QUJxSkFZZ0IwRXdhaUVQSUFkQktHb2hEU0FIUVNCcUlRNGdCMEVZYWlFTUlBZEJFR29oQkNBSFFRaHFJUU1nQjBIZ0FHb2hDQ0FIUWRRQWFpRUtJQWRCeUFCcUlRc2dCMEUwYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFFb0FnUWlBa1VFUUVFQVFRTkJqN3NCSUFNUVBVRi9EQUVMQWtBQ1FDQUFLQUljSWdORkRRQWdBeEE0SUFFb0FnUWlBZzBBSUFCQkFEWUNIRUVBSVFJTUFRc2dBQ0FDUVlRQmJCQkVJZ00yQWh3Z0EwVUVRRUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFoQkFOQUlBUWdBa2dFUUNBQUtBSWNJQVJCaEFGc2FpQUJLQUlBSUFSQmhBRnNha0dFQVJCTUdpQUVRUUZxSVFRZ0FTZ0NCQ0VDREFFTEN3c2dBQ0FDTmdJZ0lBQW9BaVFpQWdSQVFRQWhBd05BSUFNZ0FDZ0NLRWdFUUNBRFFReHNJQUpxS0FJQUlnUUVRQ0FFRURnZ0FDZ0NKQ0VDQ3lBRFFRRnFJUU1NQVFzTElBSVFPQXNnQVNnQ0RDSUNCRUFDUUNBQUlBSkJER3dRUkNJRU5nSWtJQVJGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3dOQUFrQWdCU0FDVGdSQUlBSWhCZ3dEQ3lBQUtBSWtJZ01nQlVFTWJHb2dBU2dDQ0NJRUlBVkJER3hxS0FJSU5nSUlJQVZCREd3Z0Eyb2dCVUVNYkNBRWFpSU1LQUlFTmdJRUlBd29BZ1FpREFSQUlBVkJER3dnQTJvZ0RFRU1iQkJFSWdJMkFnQWdBa1VOQVVFQUlRTWdCQ0VDQTBBZ0F5QUZRUXhzSUFKcUtBSUVTQVJBSUFBb0FpUWdCVUVNYkdvb0FnQWdBMEVNYkdvaUJDQUZRUXhzSUFKcUtBSUFJQU5CREd4cUlnSXBBZ0EzQWdBZ0JDQUNLQUlJTmdJSUlBTkJBV29oQXlBQktBSUlJUUlNQVFzTElBRW9BZ3doQWdVZ0JVRU1iQ0FFYWtFQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNGSUFCQkFEWUNKQXNnQUNBR05nSW9JQUFvQWpRaUFnUkFJQUlRT0NBQVFRQTJBalFnQUVFQU5nSTRDeUFCS0FJTUlnRkJBRW9FUUFKQUlBQWdBVFlDT0NBQUlBRkJ4QUJzRUVRaUFqWUNOQ0FDUlFSQVFRQkJBMEc1MkFJZ0RSQTlRUUVRQVF0QkFDRUdBMEFnQVNBR1JnMEJJQVpCeEFCc0lBSnFRVUJyUVFBMkFnQWdCa0VCYWlFR0RBQUFDd0FMQ3lBQUtBSWdJZzBFZjBFQUlRWkJBQ0VCQTBCQkFDQUdJQUFvQWloT0RRSWFRUUFoQkFOQUlBUWdBQ2dDSkNBR1FReHNhaWdDQkVnRVFDQUlRUUEyQWdBZ0NFRUFOZ0lFSUFoQkFEWUNDQ0FLUVFBMkFnQWdDa0VBTmdJRUlBcEJBRFlDQ0NBTFFRQTJBZ0FnQzBFQU5nSUVJQXRCQURZQ0NFRUFJUUlEUUNBQ0lBMUlCRUFnQUNnQ0hDSURJQUpCaEFGc2FpZ0NnQUVnQUNnQ0pDSUZJQVpCREd4cUtBSUFJQVJCREd4cUtBSUlSZ1JBSUFKQmhBRnNJQU5xS0FKOElBWkJER3dnQldvb0FnaEdCRUFDUUNBSklBSkJoQUZzSUFOcUtnSUFJQUpCaEFGc0lBTnFLZ0lFSUFKQmhBRnNJQU5xS2dKd0lBSkJoQUZzSUFOcUtnSjBJQUpCaEFGc0lBTnFLQUo0UVFCSEVQd0RJQWdvQWdRaUF5QUlLQUlJU1FSQUlBTWdDU2tDQURjQ0FDQURJQWtwQWdnM0FnZ2dBeUFKS0FJUU5nSVFJQWdnQTBFVWFqWUNCQVVnQ0NBSkVKMEpDeUFBS0FJY0lnTWdBa0dFQVd4cUtnSUlJUkVnQWtHRUFXd2dBMm9xQWd3aEVpQUpJQkU0QWdBZ0NTQVNPQUlFSUFsREFBQUFBRGdDQ0NBS0tBSUVJZ01nQ2lnQ0NFa0VRQ0FESUFrcEFnQTNBZ0FnQXlBSktBSUlOZ0lJSUFvZ0NpZ0NCRUVNYWpZQ0JBVWdDaUFKRUp3SkMwRUFJUU1EUUNBRFFlQUFUdzBCSUFNZ0FDZ0NIQ0FDUVlRQmJHcEJFR3BxSVFVZ0N5Z0NCQ0lPSUFzb0FnaEdCRUFnQ3lBRkVKc0pCU0FPSUFVc0FBQTZBQUFnQ3lBTEtBSUVRUUZxTmdJRUN5QURRUUZxSVFNTUFBQUxBQXNMQ3lBQ1FRRnFJUUlNQVFzTElBOGdDQ2dDQkNBSUtBSUFhMEVVRURrMkFnQkJBRUVCUWJDN0FTQVBFRDBnQUVFOGFpQUJRUUowYWlBQUtBSWtJZ0lnQmtFTWJHb29BZ2cyQWdBZ0FDZ0NBQ0FJSUFzZ0NpQUdRUXhzSUFKcUtBSUFJZ0lnQkVFTWJHb29BZ0FnQkVFTWJDQUNhaWdDQkNBQkVKSUlJQXNRVlNBS0VGVWdDQkRaQWlBRVFRRnFJUVFnQVVFQmFpRUJEQUVMQ3lBR1FRRnFJUVlNQUFBTEFBVkJBQXNMQlVFQVFRTkIzN29CSUFjUVBVRi9DeUVRSUFja0JpQVFDL1VCQVFaL0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFR0lBTWdBQkNZQWlBRExBQUFCRUFnQXlBQUlBQW9BZ0JCZEdvaUJDZ0NBR29vQWhnMkFnZ2dBQ0FFS0FJQWFpSUVLQUlFSVFkQmZ5QUVLQUpNRUVFRVFDQUdJQVFRT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQ0NBRlFTQWdDRUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGUVJoMFFSaDFJZ1UyQWt3RklBUW9Ba3doQlFzZ0JpQURLQUlJTmdJQUlBWWdBU0FCSUFKcUlnSWdBU0FIUWJBQmNVRWdSaHNnQWlBRUlBVkIvd0Z4RUpjQlJRUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFTQUJLQUlRUVFWeUVPNEJDd3NnQXhDWEFpQURKQVlnQUF1N0FRRUZmeU1HSVFZakJrRVFhaVFHSUFBRVFBSkFJQUFvQWdRaEF3TkFJQUlnQTBnRVFDQUFLQUlBSUFKQmhBRnNhaUlFS0FKOElnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFud0xJQUpCQVdvaEFnd0JDd3NnQUNnQ0RDRURRUUFoQWdOQUlBSWdBMDRFUUVFQUlRQU1BZ3NnQUNnQ0NDQUNRUXhzYWlJRUtBSUlJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBZ2dMSUFKQkFXb2hBZ3dBQUFzQUN3VkJBRUVEUWE2NkFTQUdFRDFCZnlFQUN5QUdKQVlnQUF2N0JRRUtmeU1HSVFVakJrRkFheVFHSUFWQk9Hb2hDQ0FGUVRCcUlRa2dCVUVvYWlFR0lBVkJJR29oQnlBRlFSaHFJUW9nQlVFSWFpRUNJQVZCUEdvaUEwR0l1UUV1QUFBN0FBQWdBMEdLdVFFc0FBQTZBQUlnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBQ0FERUk0SklnUkZCRUFnQWlBQU5nSUFJQUpCeFA0Q05nSUVJQUpCZ05FQ05nSUlRUUJCQTBHK3VRRWdBaEE5UVg4TUFRdEJBVUVRRUkwQ0lnSkZCRUJCQUVFRFFibllBaUFLRUQxQkFSQUJDeUFDUVFScVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJRUlnQkJBVTRFUUFKQUlBSWdBRUdFQVd3UVJDSUROZ0lBSUFORkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkMwRUFJUU1EUUNBRElBQklCRUFnQWlnQ0FDQURRWVFCYkdwQkNFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUVFocVFRaEJBU0FFRUdGQkFVY05BaUFDS0FJQUlBTkJoQUZzYWtFUWFrSHNBRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFmd0Fha0VFUVFFZ0JCQmhRUUZIRFFJZ0FpZ0NBQ0FEUVlRQmJHcEJnQUZxUVFSQkFTQUVFR0ZCQVVjTkFpQURRUUZxSVFNZ0FpZ0NCQ0VBREFFTEN5QUNRUXhxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlNSWdCQkFVZ0VRQ0FDUVFBMkFnZ01BZ3NnQWlBQVFReHNFRVFpQXpZQ0NDQURSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFREFrQUNRQU5BQWtBZ0F5QUFUZzBDSUFJb0FnZ2dBMEVNYkdwQkNHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2dBMEVNYkdwQkJHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2lCeUFEUVF4c2FpZ0NCQ0lHUVF4c0VFUWhBQ0FEUVF4c0lBZHFJQUEyQWdBZ0FFVU5BQ0FBUVF3Z0JpQUVFR0VnQmtjTkJTQURRUUZxSVFNZ0FpZ0NEQ0VBREFFTEMwRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTUFRc2dBU0FDTmdJQUlBUVFha0VBREFVTEN3c0xDMEVBUVFOQmdib0JJQWdRUFNBQ0tBSUlJZ0FFUUNBQUVEZ0xJQUlvQWdBaUFBUkFJQUFRT0FzZ0FoQTRJQVFRYWtGL0N3VkJBRUVEUVl1NUFTQUZFRDFCZndzaEN5QUZKQVlnQ3d2WEFnRUVmeU1HSVFJakJrRVFhaVFHUWFDSHJ3TVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FrRUlhaUVESUFGQkFEWUNBQ0FCUWVTR3B3SnFRUUEyQWdBZ0FVR0loNjhEYWtFQU5nSUFJQUZCZnpZQ0JDQUJRUUEyQWdnZ0FVRUJOZ0lNSUFGQjVBQTJBaEFnQVVFQU5nSVVJQUZCQURZQ0dDQUJRUUkyQWh3Z0FVR1FoNjhEYWtRQUFBQUFBQURnUHprREFDQUJRWmlIcndOcVFRTTJBZ0FnQVNBQU5nSWdJQUVnQUNnQ0FDSUVOZ0lrSUFFZ0FDZ0NCQ0lBTmdJb0lBRkJBRFlDTENBQlFiRDRBR3BCQURZQ0FDQUJRZWlHcHdKcVFRQTJBZ0FnQVVINGlxWUNha0VBTmdJQUlBRkI0SWFuQW1vZ0FDQUVRUUYwYkJCRUlnQTJBZ0FnQUFSQUlBRkI4SWF2QTJwQkFEWUNBQ0FCUVFBUS9RTWdBVUgwaHE4RGFrRi9OZ0lBSUFGQkFCRDdBeG9nQVJDUUNTQUNKQVlnQVE4RlFRQkJBMEc1MkFJZ0F4QTlRUUVRQVF0QkFBdnNDZ0VRZnlNR0lRMGpCa0V3YWlRR0lBMUJLR29oRUNBTlFTQnFJUThnRFVFWWFpRUpJQTFCRUdvaEJpQU5RUWhxSVFjZ0FFRUFSeUFCUVFCSGNRUi9JQUFvQWdBaUFnUkFJQUlpQkNFREJTQUFRUkFRUkNJQ05nSUFJQUlFUUNBQ1FRQTJBZ1FnQWtFQU5nSUFJQUpCQURZQ0RDQUNRUUEyQWdnZ0FpSUVJUU1GUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXNMSUFFb0FnQWlEQVJBSUFRb0FnUWlCU0FNS0FJRUlnZHFJZ0pCaEFGc0VFUWlDMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMUVFBaEJnTkFJQVlnQlVnRVFDQUdRWVFCYkNBTGFpQUVLQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xRUUFoQmdOQUlBWWdCMGdFUUNBRklBWnFRWVFCYkNBTGFpQU1LQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xJQVFvQWdBaUJBUkFJQVFRT0NBQUtBSUFJUU1MSUFNZ0N6WUNBQ0FBS0FJQUlnY2dBallDQkNBSEtBSU1JUXNnQVNnQ0FDSURLQUlNSVF4QkFDRUVRUUFoQmdOQUlBWWdERWdFUUVFQUlRSUNRQUpBQTBBZ0FpQUxTQVJBSUFNb0FnZ2dCa0VNYkdvb0FnZ2dCeWdDQ0NBQ1FReHNhaWdDQ0VZTkFpQUNRUUZxSVFJTUFRc0xEQUVMSUFSQkFXb2hCQXNnQmtFQmFpRUdEQUVMQ3lBTElBeHFJQVJySWdaQkRHd1FSQ0lPUlFSQVFRQkJBMEc1MkFJZ0NSQTlRUUVRQVFzQ1FBSkFBMEFnQ2lBTFNBUkFJQXBCREd3Z0Rtb2dBQ2dDQUNJSEtBSUlJZ1FnQ2tFTWJHb2lBaWdDQ0RZQ0NDQUtRUXhzSUFScUtBSUVJUVJCQUNFSkEwQWdDU0FNU0FSQUlBRW9BZ0FvQWdnaUF5QUpRUXhzYWlnQ0NDQUNLQUlJUmdSQUlBUWdDVUVNYkNBRGFpZ0NCR29oQkFzZ0NVRUJhaUVKREFFTEN5QUtRUXhzSUE1cUlna2dCRUVNYkJCRUlnTTJBZ0FnQTBVTkFpQUhLQUlJSUFwQkRHeHFLQUlFSVFkQkFDRUZBMEFnQlNBSFNBUkFJQWtvQWdBZ0JVRU1iR29pQWlBQUtBSUFLQUlJSUFwQkRHeHFLQUlBSUFWQkRHeHFJZ01wQWdBM0FnQWdBaUFES0FJSU5nSUlJQVZCQVdvaEJRd0JDd3RCQUNFSUFrQUNRQU5BSUFnZ0RFZ0VRQ0FCS0FJQUtBSUlJZ01nQ0VFTWJHb29BZ2dnQUNnQ0FDZ0NDQ0FLUVF4c2FpZ0NDRVlOQWlBSVFRRnFJUWdNQVFzTERBRUxRUUFoQlFOQUlBVWdDRUVNYkNBRGFpZ0NCRTROQVNBSktBSUFJQVVnQjJwQkRHeHFJZ0lnQ0VFTWJDQURhaWdDQUNBRlFReHNhaUlES1FJQU53SUFJQUlnQXlnQ0NEWUNDQ0FGUVFGcUlRVWdBU2dDQUNnQ0NDRUREQUFBQ3dBTElBcEJER3dnRG1vZ0JEWUNCQ0FLUVFGcUlRb01BUXNMREFFTFFRQkJBMEc1MkFJZ0R4QTlRUUVRQVF0QkFDRUVRUUFoQ0FKQUFrQURRQ0FJSUF4SUJFQWdBU2dDQUNnQ0NDSUhJQWhCREd4cUtBSUlJUVZCQUNFQ0FrQUNRQU5BSUFJZ0MwNE5BU0FDUVFGcUlRTWdBQ2dDQUNnQ0NDQUNRUXhzYWlnQ0NDQUZSd1JBSUFNaEFnd0JDd3NnQkVFQmFpRUVEQUVMSUFnZ0Myb2dCR3NpRDBFTWJDQU9haUVKSUE5QkRHd2dEbW9nQlRZQ0NDQUpJQWhCREd3Z0Iyb29BZ1FpQjBFTWJCQkVJZ00yQWdBZ0EwVU5BMEVBSVFVRFFDQUZJQWRJQkVBZ0NTZ0NBQ0FGUVF4c2FpSUNJQUVvQWdBb0FnZ2dDRUVNYkdvb0FnQWdCVUVNYkdvaUF5a0NBRGNDQUNBQ0lBTW9BZ2cyQWdnZ0JVRUJhaUVGREFFTEN5QVBRUXhzSUE1cUlBYzJBZ1FMSUFoQkFXb2hDQXdCQ3dzTUFRdEJBRUVEUWJuWUFpQVFFRDFCQVJBQkN5QUFLQUlBSWdKQkNHb2lBeWdDQUNJRUJFQkJBQ0VEQTBBZ0F5QUNLQUlNU0FSQUlBTkJER3dnQkdvb0FnQVFPQ0FEUVFGcUlRTWdBQ2dDQUNJRUlRSWdCQ2dDQ0NFRURBRUxDeUFFRURnZ0FDZ0NBRUVJYWlFREN5QURJQTQyQWdBZ0FDZ0NBQ0FHTmdJTUlBRVEvd01MUVFBRlFRQkJBMEdndUFFZ0RSQTlRWDhMSVJFZ0RTUUdJQkVMb3dFQkFuOGdBQ2dDQUNJQkJIOGdBU2dDQUNJQ0JFQWdBaWdDQUNFQklBSkJBRFlDQUNBQkJFQWdBUkRyQXlBQkVEZ0xJQUlRT0NBQUtBSUFJUUVMSUFFb0Fod2lBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaVFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWpRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0Fpd2lBZ1IvSUFJUU9DQUFLQUlBQlNBQkN4QTRJQUJCQURZQ0FFRUFCVUYvQ3hvTGpBRUJBMzhqQmlFRUl3WkJFR29rQmtFQlFid2dFSTBDSWdNRVFFRUVFRkVpQlJDN0NDQURJQVUyQWdBZ0F5QUFOZ0lFSUFOQkFUWUNDQ0FESUFFMkFnd2dBeUFDTmdJUUlBTkJBVFlDRkNBRFFYODJBaGdnQTBJQU53SWNJQU5DQURjQ0pDQURRZ0EzQWl3Z0EwSUFOd0kwSUFRa0JpQUREd1ZCQUVFRFFibllBaUFFRUQxQkFSQUJDMEVBQzhjQkFnSi9CMzBDZnlNR0lRWWpCa0ZBYXlRR0lBQXFBZ3dnQUNvQ0xDSU1JQUdVa3lFSklBQXFBaVFpQnlBQ2xDQUFLZ0lVa3lFS0lBQXFBaUFpQ0NBQ2xDQUFLZ0lRa3lFTElBY2dBWlFnQUNvQ0JKTWhCeUFJSUFHVUlBQXFBZ0NUSVFnZ0FDb0NIQ0VOSUF3Z0FwUWhBUUpBREFBTElBMGdBWk1oQVNBSUlBcVVJQWNnQzVTVElnSkRBQUFBQUZzRWYwRi9CU0FESUFvZ0NaUWdCeUFCbEpNZ0FwVTRBZ0FnQkNBSUlBR1VJQXNnQ1pTVElBS1ZPQUlBUVFBTElRQWdCZ3NrQmlBQUN5Y0JBWDhnQUNnQ0FDSUJCSDhnQVJEaUFpQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExHZ3ZWQmdJUGZ3RjlJd1loQ1NNR1FkQUFhaVFHSUFsQlBHb2hDQ0FKUVRocUlRWWdDVUUwYWlFT0lBbEJNR29oRHlBSlFVQnJJUkFDZndKQUlBQUVmeUFBUVFocUlBRWdDUkQ2QVNBSUlBTW9BZ0FpQnlBRVFSUnNhaWdDQ0NJQk5nSUFJQVlnQkVFVWJDQUhhaW9DRENJVk9BSUFRUUFnQ1NBQnZpQVZJQWdnQmhEbEFVRUFTQVIvUVg4RklBQkJ1QUZxSWhFZ0NDb0NBQ0FHS2dJQUlBNGdEeEJ0UVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElRZ2dEeW9DQUVNQUFBQS9raEJESVJKQkFDRUVRUUFnQlNnQ0VDSUFheUVLSUJJZ0FFRUJkR3NoQzBFQUlRRkJBQ0VBSUFVb0FoZ2hCd05BSUFvZ0JTZ0NGRW9FUUNBRUlRY01CUVVnQzdJaEZVRUFJQVVvQWdnaUJtc2hEQ0FJSUFaQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0VTQU5zaUFWSUE0Z0R4Q21BVUVBU0FSQUlBZEJnQ0E3QVFBRklBa2dBaWdDQUNBREtBSUlRUUowYWlnQ0FDQU9LZ0lBSUE4cUFnQWdFQkNCQkVFQVNBUkFJQWRCZ0NBN0FRQUZJQWNnRUMwQUFDSUdPd0VBSUFSQkFXb2hCQ0FCSUFaQi93RnhJZ1lnQm14cUlRRWdBQ0FHYWlFQUN3c2dERUVCYWlFTUlBMUJBbW9oRFNBSFFRSnFJUWNNQVFzTElBcEJBV29oQ2lBTFFRSnFJUXNNQVFzQUFBc0FDd3NGSUFnZ0F5Z0NBQ0lISUFSQkZHeHFLQUlJSWdBMkFnQWdCaUFFUVJSc0lBZHFLZ0lNSWhVNEFnQkJBQ0FCSUFDK0lCVWdEaUFQRU9VQlFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUkVnRHlvQ0FFTUFBQUEva2hCRElSTkJBQ0FGS0FJUUlnQnJJUW9nRXlBQVFRRjBheUVMUVFBaEIwRUFJUVJCQUNFQUlBVW9BaGdoQmdOQUlBb2dCU2dDRkVvRVFDQUVJUUVNQkFVZ0M3SWhGVUVBSUFVb0FnZ2lDR3NoRENBUklBaEJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdBU0FDS0FJQUlBTW9BZ2hCQW5ScUtBSUFJQTJ5SUJVZ0VCQ0JCRUVBU0FSQUlBWkJnQ0E3QVFBRklBWWdFQzBBQUNJSU93RUFJQWRCQVdvaEJ5QUVJQWhCL3dGeElnZ2dDR3hxSVFRZ0FDQUlhaUVBQ3lBTVFRRnFJUXdnRFVFQ2FpRU5JQVpCQW1vaEJnd0JDd3NnQ2tFQmFpRUtJQXRCQW1vaEN3d0JDd0FBQ3dBTEN3d0JDeUFIQkg4Z0JTQUJJQUFnQUd3Z0J4QTVhN0tSRUVNMkFod2dCU0FBTmdJZ0lBVWdCellDSkVFQUJVRi9Dd3NoRkNBSkpBWWdGQXVTQVFFRGZ5TUdJUU1qQmtFUWFpUUdRU2dRUkNJQ1JRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBMEVJYWlFRUlBSWdBRFlDRUNBQ0lBQTJBZ2dnQWlBQk5nSVVJQUlnQVRZQ0RDQUNJQUVnQUVFQmFtb2lBRFlDQUNBQ0lBQTJBZ1FnQWlBQVFRRjBJQUJzRUVRaUFEWUNHQ0FBQkVBZ0F5UUdJQUlQQlVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBTDV3SUJCWDhnQkNnQ0JDRU5JQUZCQVhRaEN5QUVLQUlBSVE0Z0JDZ0NHQ0VLSUFBZ0FpQUJJQU5zYW1vaEFrRUFJUUFEUUNBTUlBMUlCRUJCQUNFRElBSWhBUU5BSUFNZ0RrZ0VRQ0FBSUFFdEFBQWdDaThCQUd4cUlRQWdBMEVCYWlFRElBcEJBbW9oQ2lBQlFRSnFJUUVNQVFzTElBeEJBV29oRENBQ0lBdHFJUUlNQVFzTElBNUJBWFFpQTBFSWFpSUNJQWhCZm1vaUFTQU5RUUYwYW13aEN5QURJQWRCZm1vaUNtb2lDQ0FMYWlJSFFRSjBJQVZxS0FJQUlBb2dBU0FDYkNJQmFpSURRUUowSUFWcUtBSUFhaUFLSUF0cUlnSkJBblFnQldvb0FnQnJJQUVnQ0dvaUFVRUNkQ0FGYWlnQ0FHc2hCU0FKSUFkQkFuUWdCbW9vQWdBZ0EwRUNkQ0FHYWlnQ0FHb2dBa0VDZENBR2FpZ0NBR3NnQVVFQ2RDQUdhaWdDQUdzZ0JTQUZiQ0FFS0FJa0lnSVFPV3NpQVFSL0lBQWdCU0FFS0FJZ2JDQUNFRGxyUWVRQWJDQUVLQUljRURsQjVBQnNJQUd5a1JCREVEa0ZRUUFMTmdJQUM3RUNBUUovSUFNb0FnQWlCd1JBQWtBRFFBSkFJQWdnQjA0TkFDQUlRUUowSUFacUtBSUFJQUpJRFFBZ0NFRUJhaUVJREFFTEN5QUhJQWhHQkVBZ0IwRURUdzBCSUFkQkFuUWdCR29nQURZQ0FDQUhRUUowSUFWcUlBRTJBZ0FnQjBFQ2RDQUdhaUFDTmdJQUlBTWdBeWdDQUVFQmFqWUNBQXdCQ3lBSFFRTkdCSDlCQWdVZ0F5QUhRUUZxTmdJQUlBY0xJUU1EUUNBRElBaEtCRUFnQTBFQ2RDQUVhaUFEUVg5cUlnZEJBblFnQkdvb0FnQTJBZ0FnQTBFQ2RDQUZhaUFIUVFKMElBVnFLQUlBTmdJQUlBTkJBblFnQm1vZ0IwRUNkQ0FHYWlnQ0FEWUNBQ0FISVFNTUFRc0xJQU5CQW5RZ0JHb2dBRFlDQUNBRFFRSjBJQVZxSUFFMkFnQWdBMEVDZENBR2FpQUNOZ0lBQ3dVZ0JDQUFOZ0lBSUFVZ0FUWUNBQ0FHSUFJMkFnQWdBMEVCTmdJQUN3dW9EUUVjZnlNR0lRd2pCa0hRQUdva0JpQU1RUWhxSVJNZ0RDSWVRY2dBYWlFYklBeEJQR29oSENBTVFUQnFJUjBnREVFa2FpRVVJQXhCSUdvaEZ5QU1RUmhxSVI4Z0RFRVFhaUVnSUFVb0FoQWhKaUFGS0FJVUlTVWdBa0YvYWlFV0lBTkJmMm9oR0FOQUFrQWdFVUVEVHcwQUlCRkJBM1FnQ0dvb0FnQWlERUVBU0EwQUlBeEJmSEZCQW5JaURDQUdheUlOUVFBZ0RVRUFTaHNoRFNBR0lBeHFJZ3dnRmlBTUlBSklHeUVaSUJGQkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNGdCMnNoRENBSElBNXFJZzRnR0NBT0lBTklHeUVWSUF4QkFDQU1RUUJLR3lFT0EwQWdEaUFWVEFSQUlBRWdEU0lNSUFJZ0RteHFhaUVQQTBBZ0RDQVpUQVJBSUE5QkFEb0FBQ0FNUVFGcUlRd2dEMEVCYWlFUERBRUxDeUFPUVFGcUlRNE1BUXNMSUJGQkFXb2hFUXdCQ3dzZ0cwRUFOZ0lBSUNWQkFYUWhFQ0FtUVFGMElSSkJBU0VNUVFBaER3SkFBa0FEUUFKQUlBOUJBMDhOQWlBUFFRTjBJQWhxS0FJQUlnMUJBRWdOQUNBSElBOUJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzVxSVJZZ0RVRjhjVUVDY2lJTklBWnJJUkVnQmlBTmFpRVlJQTRnQjJzaERnTkFBa0FnRGlBV1NnMEFJQTRnRWs0RVFBSkFJQTRnRUdvZ0EwNE5BaUFDSUE1c0lSa2dFU0VOQTBBZ0RTQVlTZzBCSUEwZ0JTZ0NDRUVCZEU0RVFDQU5JQVVvQWd4QkFYUnFJQUpPRFFJZ0FTQU5JQmxxYWlJVkxBQUFSUVJBSUJWQkFUb0FBQ0FBSUFJZ0JDQUZJQTBnRGlBWEVJTUVJQTBnRGlBWEtBSUFJQnNnSENBZElCUVFxd2xCQUNFTUN3c2dEVUVFYWlFTkRBQUFDd0FMQ3lBT1FRUnFJUTRNQVFzTElBOUJBV29oRHd3QkN3c2dERVVOQUVGL0lRWU1BUXNnQlNnQ0FFRURkRUVnYWlBRktBSUVRUUYwUVFocWJDSUJFRVFpRVVVRVFFRUFRUU5CdWRnQ0lCNFFQVUVCRUFFTElBRVFSQ0lPUlFSQVFRQkJBMEc1MkFJZ0V4QTlRUUVRQVF0QkFDRUJRUUFoRWtGL0lRWURRQ0FTSUJzb0FnQklCRUFDUUFKQUlBVW9BaVFnQlNnQ0FDSU5JQVVvQWdRaUIyeEhEUUFDUUNBRVFRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0VrRUNkQ0FkYWlJaEtBSUFJZ2hCZldvZ0JTZ0NFRUVCZEdzaUdFRUFTQTBBSUFoQkEyb2dCU2dDRkVFQmRHb2dBMDROQUNBU1FRSjBJQnhxSWlJb0FnQWlDRUY5YWlBRktBSUlRUUYwYXlJWlFRQklEUUFnQ0VFRGFpQUZLQUlNUVFGMGFpQUNUZzBBSUFkQkFYUkJCbW9oSXlBTlFRSjBRUkJxSVE4Z0RpRUhJQkVoQ0VFQUlRd0RRQ0FNSUE5SUJFQWdDRUVBTmdJQUlBZEJBRFlDQUNBSFFRUnFJUWNnQ0VFRWFpRUlJQXhCQVdvaERBd0JDd3NnRFVFQmRFRUdhaUVrSUFBZ0dTQUNJQmhzYW1vaEV5QU9JUXdnRVNFTlFRQWhGZ05BSUJZZ0kwZ0VRQ0FJUVFocUlTY2dCeUVQUVFBaEVBTkFJQkJCQWtjRVFDQUlRUUEyQWdBZ0QwRUFOZ0lBSUJCQkFuUWdIMnBCQURZQ0FDQVFRUUowSUNCcVFRQTJBZ0FnRDBFRWFpRVBJQWhCQkdvaENDQVFRUUZxSVJBTUFRc0xJQk1oRHlBTVFRaHFJUXdnRFVFSWFpRU5JQWRCQ0dvaEJ5QW5JUWhCQUNFVUEwQWdGQ0FrU0FSQUlBOHRBQUFnRkVFQmNTSVZRUUowSUI5cUlob29BZ0JxSVJBZ0dpQVFOZ0lBSUE4dEFBQWlHaUFhYkNBVlFRSjBJQ0JxSWhvb0FnQnFJUlVnR2lBVk5nSUFJQWdnRUNBTktBSUFhallDQUNBSElCVWdEQ2dDQUdvMkFnQWdEMEVCYWlFUElBeEJCR29oRENBTlFRUnFJUTBnQjBFRWFpRUhJQWhCQkdvaENDQVVRUUZxSVJRTUFRc0xJQUlnRTJvaEV5QVdRUUZxSVJZTUFRc0xRUUFoQ0FOQUlBaEJCMGNFUUNBSUlCaHFJUTBnQ0VFQ2FpRVBJQWhCZldvaEUwRUFJUXdEUUNBTVFRZEhCRUFnQUNBQ0lBd2dHV29nRFNBRklCRWdEaUFNUVFKcUlBOGdGeENxQ1NBWEtBSUFJZ2NnQVVvRVFDQUpJQ0lvQWdBZ0RFRjlhbW8yQWdBZ0NpQVRJQ0VvQWdCcU5nSUFJQXNnQjdKREFFQWNScFU0QWdCQkFDRUdJQWNoQVFzZ0RFRUJhaUVNREFFTEN5QUlRUUZxSVFnTUFRc0xEQUVMSUJKQkFuUWdIV29vQWdBaUIwRURhaUVOSUJKQkFuUWdIR29oRHlBSFFYMXFJUWdEUUNBSUlBMUtEUUVnQ0NBRktBSVFRUUYwVGdSQUFrQWdDQ0FGS0FJVVFRRjBhaUFEVGcwRElBOG9BZ0FpQjBFRGFpRVRJQWRCZldvaERBTkFJQXdnRTBvTkFTQU1JQVVvQWdoQkFYUk9CRUFnRENBRktBSU1RUUYwYWlBQ1RnMENJQUFnQWlBRUlBVWdEQ0FJSUJjUWd3UWdGeWdDQUNJSElBRktCRUFnQ1NBTU5nSUFJQW9nQ0RZQ0FDQUxJQWV5UXdCQUhFYVZPQUlBSUFjaEFVRUFJUVlMQ3lBTVFRRnFJUXdNQUFBTEFBc0xJQWhCQVdvaENBd0FBQXNBQ3lBU1FRRnFJUklNQVFzTElCRVFPQ0FPRURnTElCNGtCaUFHQzNBQkFuOGdBQVIvSUFCQkFUWUNtQUVEUUNBRFFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBQkJDR29nQTBFRWRHb2dBa0VDZEdvZ0EwRUVkQ0FCYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQUVGL05nS29BVUVBQlVGL0N4b0x5Z3NCRzM4akJpRUJJd1pCNEFscUpBWWdBVUhRQ1dvaEZDQUJRY2dKYWlFVklBRkJ1QWxxSVFzZ0FVR3dDV29oRmlBQlFhQUphaUVNSUFGQm1BbHFJUmNnQVVHSUNXb2hEU0FCUWVnSWFpRVlJQUZCNEFocUlROGdBVUhZQ0dvaEdTQUJRZEFJYWlFYUlBRkJ5QWhxSVJBZ0FVSEFDR29oR3lBQlFiZ0lhaUVSSUFGQnNBaHFJUklnQVVHb0NHb2hDU0FCUWFBSWFpRUtJQUZCbUFocUlRNGdBVUdRQ0dvaEFpQUJRWWdJYWlFRklBRkJnQWhxSVFnZ0FVR0FCbW9oQmlBQlFZQUVhaUVISUFGQjFBbHFJUVFDUUFKL0FrQkJudElDTEFBQVJRMEFRWjdTQWtHZTBnSVFzd0ZGRFFBZ0NDQUFOZ0lBSUFoQm50SUNOZ0lFSUFGQmo3d0JJQWdRdkFFZ0FVR0p0Z0VRc0FFaUF3Ui9RUUVNQWdVZ0JTQUFOZ0lBUVFCQkEwR0x0Z0VnQlJBOVFhVEZBeWdDQUJDOUFTRUFJQUpCcDlVRE5nSUFJQUlnQURZQ0JFRUFRUU5CcGJZQklBSVFQVUVBQ3lFVERBSUxJQWNnQUVIL0FSRFZBU0FIUVFBNkFQOEJRUUFMSVFCQjlBZ1FSQ0lGUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0JTQUFRUUJISWc0RWZ5QUdJQU1RNWdGRkJFQWdBeEJxSUFVUU9Bd0NDeUFLSUFRMkFnQWdCa0dydGdFZ0NoQ0RBVUVCUndSQUlBTVFhaUFGRURnTUFnc2dCQ2dDQUNJQVFRRklCSDhnQXhCcUlBVVFPQXdDQlNBQUN3VkJBUXNpQ2pZQ0JDQUZRUUEyQXBnQklBVWdDa0h3QUd3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkMwRUFJUUFDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBQU5nSUFJQUFnQ2s0TkJ5QVNJQUJCQVdvMkFnQkJBRUVCUWE2MkFTQVNFRDBnRGdSQUlBWWdBeERtQVVVTkNDQVJJQWMyQWdBZ0JrSEd0Z0VnRVJDREFVRUJSdzBJSUFjUS9BVUxRUUJCQVVISnRnRWdHeEE5SUFjUXZ3a2hBQ0FFS0FJQVFmQUFiQ0FDYWlBQU5nSUFJQUJGRFFCQkFFRUJRZnEyQVNBYUVEMUJBRUVCUVlTM0FTQVpFRDBnQnhDeENTRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFnUWdBRVVOQWtFQVFRRkIrcllCSUJnUVBTQUVLQUlBUWZBQWJDQUNha0VBTmdJSUlBNEVRQ0FHSUFNUTVnRkZEUWdnRFNBRUtBSUFJZ0JCOEFCc0lBSnFRUXhxTmdJQUlBMGdBRUh3QUd3Z0FtcEJFR28yQWdRZ0RTQUFRZkFBYkNBQ2FrRVVhallDQ0NBTklBQkI4QUJzSUFKcVFSaHFOZ0lNSUFaQjdMY0JJQTBRZ3dGQkJFY05CQ0FHSUFNUTVnRkZEUWdnRENBRUtBSUFJZ0JCOEFCc0lBSnFRUnhxTmdJQUlBd2dBRUh3QUd3Z0FtcEJJR28yQWdRZ0RDQUFRZkFBYkNBQ2FrRWthallDQ0NBTUlBQkI4QUJzSUFKcVFTaHFOZ0lNSUFaQjdMY0JJQXdRZ3dGQkJFY05CU0FHSUFNUTVnRkZEUWdnQ3lBRUtBSUFJZ0JCOEFCc0lBSnFRU3hxTmdJQUlBc2dBRUh3QUd3Z0FtcEJNR28yQWdRZ0N5QUFRZkFBYkNBQ2FrRTBhallDQ0NBTElBQkI4QUJzSUFKcVFUaHFOZ0lNSUFaQjdMY0JJQXNRZ3dGQkJFY05CaUFFS0FJQUlRQUZJQVFvQWdBaEFFRUFJUWdEUUNBSVFRTkhCRUJCQUNFSkEwQWdDVUVFUndSQUlBQkI4QUJzSUFKcVFReHFJQWhCQkhScUlBbEJBblJxUXdBQWdEOURBQUFBQUNBSUlBbEdHemdDQUNBSlFRRnFJUWtNQVFzTElBaEJBV29oQ0F3QkN3c0xJQUJCOEFCc0lBSnFRUXhxSUFCQjhBQnNJQUpxUVR4cUVKNEdJQWNRaFFaQmdBSVFSQ0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBbXdnQUVVTkJpQUFJQWRCZ0FJUTFRRWdCQ2dDQUVFQmFpRUFEQUVMQ3lBUUlBYzJBZ0JCQUVFRFFkdTJBU0FRRUQwZ0FoQTRJQVVRT0NBRFJRMEhJQU1RYWd3SEN5QVBJQWMyQWdCQkFFRURRWmkzQVNBUEVEMGdCQ2dDQUVId0FHd2dBbW9RdUFrZ0FoQTRJQVVRT0NBRFJRMEdJQU1RYWd3R0MwRUFRUU5CK0xjQklCY1FQU0FERUdwQkFCQUJEQVFMUVFCQkEwSDR0d0VnRmhBOUlBTVFha0VBRUFFTUF3dEJBRUVEUWZpM0FTQVZFRDBnQXhCcVFRQVFBUXdDQzBFQVFRTkJ1ZGdDSUJRUVBVRUJFQUVNQVFzZ0F3UkFJQU1RYWdzZ0JDZ0NBQ0FLVGdSQUlBVWhFd3dDQzBFQUVBRUxDeUFCSkFZZ0V3dE5BUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUVFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUJFRGhCQUNFQkN5QUNKQVlnQVFzcEFDQUFJQUZCQTNRZ0FHb2dBa0VEZENBQWFpSUJFSVFFSUFBZ0FTQURRUU4wSUFCcUVJUUVrZ3ZKQndFVGZ5TUdJUUlqQmtHQUJXb2tCaUFDUWZBRWFpRUpJQUpCNkFScUlRb2dBa0hnQkdvaEN5QUNRZGdFYWlFTUlBSkIwQVJxSVEwZ0FrSElCR29oRGlBQ1FjQUVhaUVQSUFKQnVBUnFJUkFnQWtHd0JHb2hFU0FDUWFnRWFpRVNJQUpCb0FScUlRVWdBa0dZQkdvaEJpQUNRWkFFYWlFRUlBSkJpQVJxSVFFZ0FrR0FCR29pQXlBQU5nSUFJQU5CbnRJQ05nSUVJQUpCajd3QklBTVF2QUVnQWtHSXVRRVFzQUVpQXdSQVFRZ1FSQ0lBUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzQ1FBSkFJQUJCQkdwQkJFRUJJQU1RWVVFQlJnUkFBa0FnQUNBQUtBSUVJaE5CRkd3UVJDSUdOZ0lBSUFaRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkMwRUFJUVVEUUFKQUlBVWdFMDROQWlBRlFSUnNJQVpxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVNSVFFTUFRc2dCVUVVYkNBR2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkR5RUJEQUVMSUFWQkZHd2dCbXBCRUdwQkJFRUJJQU1RWVVFQlJ3UkFRUkVoQVF3QkN5QUZRUlJzSUFacUlnaEJCR3BCQkVFQklBTVFZVUVCUndSQVFSTWhBUXdCQ3lBRlFSUnNJQVpxSWdjZ0NDZ0NCQ0lCUVJSc0VFUWlCRFlDQUNBRVJRUkFRUlloQVF3QkMwRUFJUVFEUUNBRUlBRklCRUFnQnlnQ0FDQUVRUlJzYWtFRVFRRWdBeEJoUVFGSEJFQkJHU0VCREFNTElBY29BZ0FnQkVFVWJHcEJCR3BCQkVFQklBTVFZVUVCUndSQVFSc2hBUXdEQ3lBSEtBSUFJQVJCRkd4cVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFZElRRU1Bd3NnQnlnQ0FDQUVRUlJzYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCSHlFQkRBTUxJQWNvQWdBZ0JFRVViR3BCRUdwQkJFRUJJQU1RWVVFQlJnUkFJQVJCQVdvaEJDQUlLQUlFSVFFTUFnVkJJaUVCREFNTEFBc0xJQVZCQVdvaEJRd0JDd3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJER3NPRndBS0NnRUtBZ29EQ2dvRUNnb0ZDZ1lLQndvSUNnb0pDZ3RCQUVFRFFmdTFBU0FTRUQwTUNRdEJBRUVEUWZ1MUFTQVJFRDBNQ0F0QkFFRURRZnUxQVNBUUVEME1Cd3RCQUVFRFFmdTFBU0FQRUQwTUJndEJBRUVEUWJuWUFpQU9FRDFCQVJBQkRBVUxRUUJCQTBIN3RRRWdEUkE5REFRTFFRQkJBMEg3dFFFZ0RCQTlEQU1MUVFCQkEwSDd0UUVnQ3hBOURBSUxRUUJCQTBIN3RRRWdDaEE5REFFTFFRQkJBMEg3dFFFZ0NSQTlDMEVBSVFFRFFDQUJJQVZIQkVBZ0FVRVViQ0FHYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQmhBNERBSUxCVUVBUVFOQis3VUJJQVlRUFF3QkN3d0JDeUFBRURoQkFDRUFDeUFERUdvRklBRWdBRFlDQUVFQVFRTkI1clVCSUFFUVBVRUFJUUFMSUFJa0JpQUFDdzhBSUFBb0FnQkJoQUZxUVFFUUJndjVEUUVRZnlNR0lRc2pCa0hBQm1va0JrRUVJUWxCS0JCRUlnaEJBRFlDQUNBTFFSaHFJZ2RCQUVIb0F4QkZHa0VBSkFOQlB5QUxRWmdFYWlJTUVCQWhCaU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWhCQkJCOUlncEZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUtDeUFMUVpBRWFpRVBJQXRCaUFScUlSQWdDMEdBQkdvaEVRSi9FQWNnQ2tFQmEwVU5BQm9nQnlBR05nSUFJQXhCOEFBMkFnQWdERUdFQVdwQkFTQUlRUVFRandRaENCQUhJUWxCQUNRRFFRQWtBMEVBSWdWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElBWkJBV3RGRFFBYVFRQUxJUVVDUUFKQUFrQUNRQU5BQWtBZ0JRUkFRUUFrQTBIeEFDQUhFQThqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRUWhCQUVFRFFhaTFBU0FSRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVdzTkFRd0NDMEVBSkFOQkFTQUhRZG9BUWVnREVCc2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRRFFTY2dCeUFBRUJ3akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEQW45QkV5QUhRUUVRSmlFU0l3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQ2tVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCU0FLUVFGclJRMENJQkpCQVVjTEJFQkJBQ1FEUVFoQkFFRURRY0sxQVNBUUVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFmRUFJQWNRRHlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYXcwRERBSUxRUUFrQTBIQUFDQUhFQkFhSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyUlEwQklBY29BaVFnQnlnQ0hHd2lEQ0FIS0FJZ2JDRUZRUUFrQTBIQkFDQUZFQkFoQlNNRElRWkJBQ1FESUFaQkFFY2pCRUVBUjNFRVFDQUdLQUlBSUFnZ0NSQjlJZ3BGQkVBZ0JpTUVFQVlMSXdRUUF3VkJmeUVLQ3hBSElRWWdDa0VCYTBVRVFDQUdJUVVNQWdzZ0JVVUVRRUVBSkFOQkNFRUFRUU5CdWRnQ0lBOFFFU01ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhMFVOQWtFQUpBTkI4UUFnQnhBUEl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGckRRUU1BZ3RCQUNFTkEwQWdCeWdDakFFZ0J5Z0NkRWtFUUVFQUlRWURRQ0FHUVFWSEJFQWdCa0VDZENBTGFpQUZJQXdnQmlBTmFteHFOZ0lBSUFaQkFXb2hCZ3dCQ3d0QkFDUURRUmtnQnlBTFFRVVFJU0VUSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlEa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUTRMRUFjaEJpQU9RUUZyUlFSQUlBWWhCUXdFQ3lBVElBMXFJUTBNQVFzTFFRQWtBMEhDQUNBSEVCQWFJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQmlBS1FRRnJSUVJBSUFZaEJRd0NDMEVBSkFOQjhRQWdCeEFQSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEZDQUtRUUZyRFFRZ0ZDRUZEQUVMQzBFQUlRVU1Bd3RCQUNFRkRBSUxRUUFoQlF3QkN5QUJCRUFnQVNBSEtBSWNOZ0lBQ3lBQ0JFQWdBaUFIS0FJZ05nSUFDeUFEQkVBZ0F5QUhLQUlrTmdJQUN5QUVCRUFDUUFKQUFrQUNRQ0FITEFDaUFpSUFRUUZyRGdJQUFRSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lPQUlBREFVTERBSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lRMXlQSWtDVU9BSUFEQVFMREFFTElBQkIvd0Z4UVFKS0JFQWdCeTRCcEFKRkJFQWdCeTRCcGdKRkJFQWdCQ0FBUWY4QmNiSTRBZ0FNQlFzTEN3c2dCRU1BQUFBQU9BSUFDd3NnQ0JBNElBc2tCaUFGQy80VEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdCQ2dDQUNJR0lRY2dBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FKSUFGSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBSFFRSnFJUWNnQ1VFQmFpRUpJQVZCQW1vaEJRd0JDd3NnQmlFSFFRQWhDU0FCUVg5cUloRkJBWFFnQm1vaEJRTkFJQWtnQWtnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBSlFRRnFJUWtnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERrRUJJUXhCQUNFRElBQWdCQ2dDQkdvaENTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQU1JQkJPRFFJZ0F5RUFRUUVoQ2dOQUlBb2dFVWdFUUNBTkxRQUFJQTR0QUFCS0JFQUNRQ0FKUVg4NkFBQWdFa0VCZENBR2FpSURMZ0VBSWdWQkFFb0VRQ0FHSUFVN0FRQWdCVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dBMEYrYWk0QkFDSUZJUWdnQlVFQVNpRUxJQU11QVFJaUEwRUFUQVJBSUFzRVFDQUdJQVU3QVFBZ0NFRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ2tnRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFHUVg1cUxnRUFJZ05CQUVvRVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnTW9BZ0FnQ2s0TkFpQURJQW8yQWdBRklBQkIvLzhCU2cwR0lBWWdBRUVCYWlJRE93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0EwRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ2pZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FESVFBTERBRUxJQXNFUUFKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUlRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBR1FYNXFMZ0VBSWdWQkFFd0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlDQTBBQnFJZ1VvQWdBZ0Nrb0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUF5QU1JQU1vQWdCcU5nSUFDd1VnQmtFQU93RUFJQWxCQURvQUFBc2dEVUVCYWlFTklBNUJBV29oRGlBSlFRRnFJUWtnQ2tFQmFpRUtJQVpCQW1vaEJnd0JDd3NnRFVFQ2FpRU5JQTVCQW1vaERpQU1RUUZxSVF3Z0FDRURJQWxCQW1vaENTQUdRUVJxSVFZTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFRlFRRWhBRUVCSVFrZ0J5RUdBMEFnQ1NBRFRBUkFJQWtnQmlnQ0FDSU5SZ1JBSUFCQkFXb2hCd1VnQUNFSElBMUJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCaUFBTmdJQUlBY2hBQ0FKUVFGcUlRa2dCa0VFYWlFR0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCVUVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFjRFFDQUhJQUJJQkVBZ0JFR01nQWhxSUFkQkFuUWlCa0VDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dCa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQmtFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0JrRURja0VDZEdwQkFEWUNBQ0FIUVFGcUlRY01BUXNMUVFBaEFRTkFJQUVnQTBnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQnlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdCeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQjBFRGRHb2lCaUFHS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dCMEVCY2tFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQmtnRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdGhBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUlFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBSUFGQkNHb2dBVUVNYWlBQlFRUnFJQUZCRUdvUXN3a2lBRFlDQUNBQVJRUkFJQUVRT0VFQUlRRUxJQUlrQmlBQkN5QUFJQUVnQWlBRHJTQUVyVUlnaG9RZ0JTQUdJQUJCQTNGQjZnWnFFU1VBQ3lrQkFYNGdBU0FDclNBRHJVSWdob1FnQkNBQVFRTnhRYVlEYWhFVUFDSUZRaUNJcHhBRElBV25DM1lCQTM4Z0FBUi9JQUFvQWdBaUFnUi9BMEFnQWlnQ0FDRURJQUVnQWlnQ0JFZ0VRQ0FCUVFKMElBTnFLQUlBS0FJQUVEZ2dBQ2dDQUNnQ0FDQUJRUUowYWlnQ0FCQTRJQUZCQVdvaEFTQUFLQUlBSVFJTUFRc0xJQU1RT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MSUFBZ0FTQUNJQU1nQkNBRnJTQUdyVUlnaG9RZ0FFRUhjVUdlQTJvUkZRQUxCZ0JCRmhBQ0N3WUFRUlVRQWd1WkJnRUpmeU1HSVFrakJrRXdhaVFHSUFraEJrRUlFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBWkJJR29oQ0NBR1FSaHFJUUlnQmtFUWFpRUJJQVpCQ0dvaEF3SkFBa0FDUUNBSFFRUnFJZ1JCQkVFQklBQVFZVUVCUncwQUlBUW9BZ0FpQkVFQlNBMEFJQWNnQkVFQ2RCQkVJZ00yQWdBZ0EwVUVRRUVBUVFOQnVkZ0NJQUVRUFVFQkVBRUxRUUFoQVFKQUFrQURRQ0FCSUFSSUJFQWdBVUVDZENBRGFrRVFFRVFpQlRZQ0FDQUZSUTBDSUFGQkFXb2hBUXdCQ3dzTUFRdEJBRUVEUWJuWUFpQUNFRDFCQVJBQkMwRUFJUUVDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQVNBRVRnMEdJQUZCQW5RZ0Eyb2lBaWdDQUVFRWFrRUVRUUVnQUJCaFFRRkhEUUFnQWlnQ0FFRUlha0VFUVFFZ0FCQmhRUUZIRFFJZ0FpZ0NBRUVNYWtFRVFRRWdBQkJoUVFGSERRTWdBaWdDQUNJRktBSUVJQVVvQWdoc0VFUWhCU0FDS0FJQUlBVTJBZ0FnQlVVTkJDQUJRUUZxSVFFZ0FpZ0NBQ0lGS0FJQVFRRWdCU2dDQkNBRktBSUliQ0FBRUdFZ0FpZ0NBQ0lDS0FJRUlBSW9BZ2hzUmcwQkRBVUxDMEVBSVFJRFFDQUJJQUpIQkVBZ0FrRUNkQ0FEYWlnQ0FDZ0NBQkE0SUFKQkFXb2hBZ3dCQ3d0QkFDRUJBMEFnQVNBRVJnMEdJQUZCQW5RZ0Eyb29BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkJTQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTFFRQWhBZ05BSUFFZ0FrY0VRQ0FDUVFKMElBTnFLQUlBS0FJQUVEZ2dBa0VCYWlFQ0RBRUxDMEVBSVFFRFFDQUJJQVJHRFFRZ0FVRUNkQ0FEYWlnQ0FCQTRJQUZCQVdvaEFRd0FBQXNBQzBFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVNQWd0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQWlBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMSUFBUWFnd0JDeUFERURnTUFnc01BZ3RCQUVFRFFiZTBBU0FERUQwTElBY1FPQ0FBRUdwQkFDRUhDeUFHSkFZZ0J3c0dBRUVURUFJTEJnQkJFQkFDQzRJR0FRNS9Jd1loQXlNR1FlQUFhaVFHSUFBUVlFRUdhaEJFSWdoRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN5QURRY2dBYWlFSklBTkJRR3NoQ2lBRFFUaHFJUXdnQTBFd2FpRU5JQU5CS0dvaEFpQURRU0JxSVFRZ0EwRVlhaUVCSUFOQkVHb2hCeUFEUWRBQWFpRUxJQU5CQ0dvaUJpQUFOZ0lBSUFaQmdiUUJOZ0lFSUFoQi9MTUJJQVlRdkFFZ0NFR0l1UUVRc0FFaEJTQUlFRGdnQlFSL0FuOUJDQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUJFRDFCQVJBQkN3SkFBa0FnQmtFRWFpSUJRUVJCQVNBRkVHRkJBVWNOQUNBQktBSUFJZ2RCQVVnTkFDQUNJQWMyQWdCQkFFRUJRZEMwQVNBQ0VEMGdCaUFIUVFKMElnUVFSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFORUQxQkFSQUJDeUFDUVJBUVJDSUJOZ0lBSUFGRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN5QUZFTFVKSWdGRkJFQWdDaUFBTmdJQUlBcEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NoQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBVVErUUlnQlJDOENRd0RDeUFCS0FJRVFRRkhCRUFnQ1NBQU5nSUFJQWxCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDUkE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQUVRT0NBRkVHcEJBQXdEQ3lBQ0tBSUFJZ0FnQVNnQ0NEWUNCQ0FBSUFFb0FndzJBZ2dnQUNBQktBSVFOZ0lNSUFBZ0FTZ0NBRFlDQUNBQkVEZ2dCVUVFSUFSclFRSVE5QUZCQVNFRUFrQUNRQUpBQTBBQ1FDQUVJQWRPRFFNZ0MwRUVRUUVnQlJCaFFRRkhEUUFnQkVFQ2RDQUNhaUFDS0FJQUlBc3FBZ0FReEFraUFEWUNBQ0FBUlEwQ0lBUkJBV29oQkF3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBESUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUJBMEFnQVNBRVJnMENJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXNnQlJCcUlBWU1Bd3NnQWhBNERBRUxRUUJCQTBHM3RBRWdCQkE5Q3lBR0VEZ2dCUkJxUVFBTEJTQUhJQUEyQWdBZ0IwR0J0QUUyQWdSQkFFRURRWWUwQVNBSEVEMUJBQXNoRGlBREpBWWdEZ3NJQUVFRUVBSkJBQXNJQUVFQ0VBSkJBQXNQQUVFQkVBSkVBQUFBQUFBQUFBQUxEd0JCQUJBQ1JBQUFBQUFBQUFBQUM1d0RBaEYvQVgwakJpRUpJd1pCRUdva0JpQUFLQUlFc2lBQmxDQUFLZ0lNSWhPVkVMc0JJUW9nQUNnQ0NMSWdBWlFnRTVVUXV3RWhDMEVRRUVRaUJVVUVRRUVBUVFOQnVkZ0NJQWtRUFVFQkVBRUxJQWxCQ0dvaEF5QUZJQW8yQWdRZ0JTQUxOZ0lJSUFVZ0FUZ0NEQ0FGSUFvZ0Myd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDd05BSUFZZ0MwZ0VRQ0FBS2dJTUloTWdCcktVSUFHVkVMc0JJUThnRXlBR1FRRnFJZ2F5bENBQmxSQzdBU0VFSUFBb0FnZ2lBeUFFSUFRZ0Ewb2JJUkJCQUNFSElBSWhCQU5BSUFjZ0NrZ0VRQ0FBS2dJTUloTWdCN0tVSUFHVkVMc0JJUkVnRXlBSFFRRnFJZ2V5bENBQmxSQzdBU0VDSUFBb0FnUWlEaUFDSUFJZ0Rrb2JJUkpCQUNFQ1FRQWhBeUFQSVFnRFFDQUlJQkJJQkVBZ0FDZ0NBQ0FSSWd3Z0NDQU9iR3BxSVEwRFFDQU1JQkpJQkVBZ0FpQU5MUUFBYWlFQ0lBeEJBV29oRENBTlFRRnFJUTBnQTBFQmFpRUREQUVMQ3lBSVFRRnFJUWdNQVFzTElBUWdBaUFERURrNkFBQWdCRUVCYWlFRURBRUxDeUFFSVFJTUFRc0xJQWtrQmlBRkN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUhpQm1vUkRRQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUhjVUhhQm1vUkRBQUxHQUFnQVNBQ0lBTWdCQ0FGSUFCQlAzRkJtZ1pxRVFVQUN4WUFJQUVnQWlBRElBUWdBRUVmY1VINkJXb1JCd0FMRkFBZ0FTQUNJQU1nQUVFRGNVSDJCV29SQmdBTEZBQWdBU0FDSUFNZ0FFRUJjVUgwQldvUkdBQUxGQUFnQVNBQ0lBTWdBRUVCY1VIeUJXb1JHUUFMRGdBZ0FFRUJjVUdxQTJvUkN3QUxIZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0J5QUlJQUJCRDNGQmpnTnFFUTRBQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVR0dBMm9SRHdBTGtnRUJBbjhnQUFSQUlBQkJpTGtCRUxBQklnRUVRQUpBSUFGQkFFRUNFUFFCSUFFUStBSWhBaUFCUVFCQkFCRDBBU0FDUVFGcUVFUWlBRVVFUUNBQkVHcEJwTVVEUVRBMkFnQkJBQ0VBREFFTElBQWdBa0VCSUFFUVlVVUVRQ0FBRURnZ0FSQnFRUUFoQUF3QkN5QUFJQUpxUVFBNkFBQWdBUkJxQ3dWQkFDRUFDd1ZCcE1VRFFSdzJBZ0JCQUNFQUN5QUFDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJQM0ZCeGdKcUVRb0FDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJBM0ZCd2dKcUVSc0FDeGdBSUFFZ0FpQURJQVFnQlNBQVFSOXhRYUlDYWhFSUFBc1lBQ0FCSUFJZ0F5QUVJQVVnQUVFSGNVR2FBbW9SRXdBTEZnQWdBU0FDSUFNZ0JDQUFRUTl4UVlvQ2FoRUpBQXNVQUNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQUFzU0FDQUJJQUlnQUVFL2NVR0tBV29SQWdBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFQmNVR0lBV29SSWdBTEVBQWdBU0FBUWY4QWNVRUlhaEVBQUFzTkFDQUFRUUZ4UVFacUVSQUFDODhCQVFWL0l3WWhCQ01HUVNCcUpBWWdCRUVRYWlFR0lBRkZRZENGQVNnQ0FDQUFTbkpGQkVBZ0FTd0FBQVJBSUFRZ0FpZ0NBRFlDQUVFQVFRQWdBU0FFRUtrQklnY0VRQ0FBUVFSSkJIOGdBRUVDZEVIQUZXb29BZ0FRWUVFRGFnVkJBQXNpQlNBSGFrRUJhaEJFSVFNZ0JRUkFJQVlnQUVFQ2RFSEFGV29vQWdBMkFnQWdBeUFGUVFGcVFkMnpBU0FHRUtNQ0dnc2dBeUFGYWlBSFFRRnFJQUVnQWhDcEFScEJwSWdCS0FJQUlRQWdBeEJnSWdFZ0EwRUJJQUVnQUJDVEFVY2FJQU1RT0FzTEN5QUVKQVlMRVFBZ0FTQUNJQUJCQVhGQkJHb1JIZ0FMREFBZ0FTQUFRUU54RVJJQUN5a0FJQUJFQUFBQUFBQUE0RCtnbkNBQVJBQUFBQUFBQU9BL29ac2dBRVFBQUFBQUFBQUFBR1liQ3hBQUl3TkZCRUFnQUNRRElBRWtCQXNMS3dBZ0FFSC9BWEZCR0hRZ0FFRUlkVUgvQVhGQkVIUnlJQUJCRUhWQi93RnhRUWgwY2lBQVFSaDJjZ3VSQndFSWZ5QUFLQUlFSWdaQmVIRWhBZ0pBSUFaQkEzRkZCRUFnQVVHQUFra05BU0FDSUFGQkJHcFBCRUFnQWlBQmEwR00xUU1vQWdCQkFYUk5CRUFnQUE4TEN3d0JDeUFBSUFKcUlRUWdBaUFCVHdSQUlBSWdBV3NpQWtFUFRRUkFJQUFQQ3lBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdCQ0FFS0FJRVFRRnlOZ0lFSUFFZ0FoQ1FCQ0FBRHd0QnhORURLQUlBSUFSR0JFQkJ1TkVES0FJQUlBSnFJZ0lnQVUwTkFTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlESUFJZ0FXc2lBVUVCY2pZQ0JFSEUwUU1nQXpZQ0FFRzQwUU1nQVRZQ0FDQUFEd3RCd05FREtBSUFJQVJHQkVBZ0FrRzAwUU1vQWdCcUlnTWdBVWtOQVNBRElBRnJJZ0pCRDBzRVFDQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkFYSTJBZ1FnQUNBRGFpSURJQUkyQWdBZ0F5QURLQUlFUVg1eE5nSUVCU0FBSUFNZ0JrRUJjWEpCQW5JMkFnUWdBQ0FEYWlJQklBRW9BZ1JCQVhJMkFnUkJBQ0VCUVFBaEFndEJ0TkVESUFJMkFnQkJ3TkVESUFFMkFnQWdBQThMSUFRb0FnUWlBMEVDY1EwQUlBSWdBMEY0Y1dvaUJ5QUJTUTBBSUFOQkEzWWhCU0FEUVlBQ1NRUkFJQVFvQWdnaUFpQUVLQUlNSWdOR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFWMFFYOXpjVFlDQUFVZ0FpQUROZ0lNSUFNZ0FqWUNDQXNGQWtBZ0JDZ0NHQ0VJSUFRZ0JDZ0NEQ0lDUmdSQUFrQWdCRUVRYWlJRFFRUnFJZ1VvQWdBaUFnUkFJQVVoQXdVZ0F5Z0NBQ0lDUlFSQVFRQWhBZ3dDQ3dzRFFBSkFJQUpCRkdvaUJTZ0NBQ0lKUlFSQUlBSkJFR29pQlNnQ0FDSUpSUTBCQ3lBRklRTWdDU0VDREFFTEN5QURRUUEyQWdBTEJTQUVLQUlJSWdNZ0FqWUNEQ0FDSUFNMkFnZ0xJQWdFUUNBRUtBSWNJZ05CQW5SQjNOTURhaUlGS0FJQUlBUkdCRUFnQlNBQ05nSUFJQUpGQkVCQnNORURRYkRSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQXdEQ3dVZ0NFRVFhaUlESUFoQkZHb2dBeWdDQUNBRVJoc2dBallDQUNBQ1JRMENDeUFDSUFnMkFoZ2dCQ2dDRUNJREJFQWdBaUFETmdJUUlBTWdBallDR0FzZ0JDZ0NGQ0lEQkVBZ0FpQUROZ0lVSUFNZ0FqWUNHQXNMQ3dzZ0J5QUJheUlDUVJCSkJFQWdBQ0FHUVFGeElBZHlRUUp5TmdJRUlBQWdCMm9pQVNBQktBSUVRUUZ5TmdJRUJTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQUNBSGFpSURJQU1vQWdSQkFYSTJBZ1FnQVNBQ0VKQUVDeUFBRHd0QkFBdS9BUUVFZnlNR0lRVWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUdCSDhnQUNnQ0NFSC8vLy8vQjNGQmYyb2hCQ0FBS0FJRUJVRUJJUVFnQTBIL0FYRUxJUU1nQkNBRGF5QUNTUVJBSUFBZ0JDQUNJQU5xSUFScklBTWdBMEVBSUFJZ0FSQ1NCQVVnQWdSQUlBWUVmeUFBS0FJQUJTQUFDeUlFSUFOQkFuUnFJQUVnQWhDbkFTQUNJQU5xSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3lBRlFRQTJBZ0FnQVVFQ2RDQUVhaUFGRUc0TEN5QUZKQVlMc0FFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFQkN5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWtnUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2tFQ3lBRlFRQTJBZ0FnQWtFQ2RDQURhaUFGRUc0Z0FDd0FDMEVBU0FSQUlBQWdBallDQkFVZ0FDQUNPZ0FMQ3dzZ0JTUUdDN2tCQVFSL0l3WWhCU01HUVJCcUpBWWdBQ3dBQ3lJRFFRQklJZ1lFZnlBQUtBSUlRZi8vLy84SGNVRi9haUVFSUFBb0FnUUZRUW9oQkNBRFFmOEJjUXNoQXlBRUlBTnJJQUpKQkVBZ0FDQUVJQUlnQTJvZ0JHc2dBeUFEUVFBZ0FpQUJFSlFFQlNBQ0JFQWdBeUFHQkg4Z0FDZ0NBQVVnQUFzaUJHb2dBU0FDRUtnQklBSWdBMm9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFWQkFEb0FBQ0FCSUFScUlBVVFYd3NMSUFVa0JndTNBUUVFZnlNR0lRUWpCa0VRYWlRR0lBRUVRQ0FBTEFBTElnTkJBRWdFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQU5CL3dGeElRSkJDZ3NpQlNBQ2F5QUJTUVIvSUFBZ0JTQUJJQUpxSUFWcklBSWdBaERkQWlBQUxBQUxCU0FEQzBFQVNBUi9JQUFvQWdBRklBQUxJZ01nQW1vZ0FVRUFFSlVFSUFFZ0Ftb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVJCQURvQUFDQUJJQU5xSUFRUVh3c2dCQ1FHQzYwTUF5Si9BWDRDZkNNR0lRSWpCa0hnRTJva0JpQUNRZEFUYWlFYUlBSkJ5Qk5xSVE0Z0FrRzRFMm9oQ3lBQ1FiQVRhaUVQSUFKQnFCTnFJUkFnQWtHWUUyb2hEQ0FDUVpBVGFpRVJJQUpCaUJOcUlSY2dBa0dBRTJvaEVpQUNRZmdTYWlFWUlBSkI4QkpxSVJNZ0FrSG9FbW9oRkNBQ1FlQVNhaUVJSUFKQjJCSnFJUVVnQWtIUUVtb2hGU0FDUWNnU2FpRURJQUpCd0JKcUlRb2dBa0dBRW1vaEJ5QUNRWUFRYWlFR0lBSkIzQk5xSVJzZ0FrSFlFMm9oRFNBQ1FkUVRhaUVjSUFCQmliWUJFTEFCSWdrRVFBSkFJQVlnQ1JEcEFTQVZJQTAyQWdBZ0JrR3J0Z0VnRlJDREFVRUJSd1JBSUFVZ0FEWUNBRUVBUVFOQjRLNEJJQVVRUFNBSkVHcEJBQ0VBREFFTElBMG9BZ0FpQlVIQUFtd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NCQTlRUUVRQVFzZ0FVVWhIVUVBSVFvQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUZUZzBISUFZZ0NSRHBBU0FFUWNBQ2JDQURhaUVGSUJRZ0JFSEFBbXdnQTJvaUNFRzRBbW8yQWdBZ0ZDQWJOZ0lFSUFSQndBSnNJQU5xSUFaQnhhOEJJQlFRZ3dGQkFVWUVmeUFGSUFncEE3Z0NJaVNuUWYvL0FYRkJBQ0FrUW9DQS92OFBnMUFiTmdJQVFRSWhDRUVCQlNBZERRRWdBaUFBRUk0R1JRMERJQUlnQmtIL0R5QUNFR0JyRU93RUlBVWdBU0FDRUtvRElnVTJBZ0FnQlVFQVNBMEVRUUVoQ0VFQUN6WUNCQ0FHSUFrUTZRRWdGeUFFUWNBQ2JDQURhaUlXUVFocU5nSUFJQVpCN2JFQklCY1Fnd0ZCQVVjTkJDQUdJQWtRNlFFZ0RDQUVRY0FDYkNBRGFrRVFhaUlaTmdJQUlBd2dCRUhBQW13Z0Eyb2lIa0VZYWpZQ0JDQU1JQVJCd0FKc0lBTnFRU0JxTmdJSUlBd2dCRUhBQW13Z0Eyb2lIMEVvYWpZQ0RDQUdRZHF5QVNBTUVJTUJRUVJHQkg5QkFRVWdFQ0FWTmdJQUlCQWdIRFlDQkNBR1FlcXlBU0FRRUlNQlFRSkhEUVpCQUFzaEJTQUlJQXB5SVFvRFFDQUdJQWtRNlFFZ0N5QUVRY0FDYkNBRGFrRVFhaUFGUVFWMGFqWUNBQ0FMSUFSQndBSnNJQU5xSUFWQkJYUnFRUmhxTmdJRUlBc2dCRUhBQW13Z0Eyb2dCVUVGZEdwQklHbzJBZ2dnQ3lBRVFjQUNiQ0FEYWlBRlFRVjBha0VvYWpZQ0RDQUdRZHF5QVNBTEVJTUJRUVJIRFFjZ0JVRUJhaUlGUVFOSkRRQUxJQmtnQkVIQUFtd2dBMnBCOEFCcUVLa0dJQWNnRmlzRENDSWxSQUFBQUFBQUFPQy9vaUltT1FNQUlBY2dKVVFBQUFBQUFBRGdQNklpSlRrRENDQUhJQ1U1QXhBZ0J5QWxPUU1ZSUFjZ0pUa0RJQ0FISUNZNUF5Z2dCeUFtT1FNd0lBY2dKamtET0NBRVFjQUNiQ0FEYWlFSUlBUkJ3QUpzSUFOcUlSWWdCRUhBQW13Z0Eyb2hJQ0FFUWNBQ2JDQURhaUVoSUFSQndBSnNJQU5xSVNJZ0JFSEFBbXdnQTJvaEkwRUFJUVVEUUNBRlFRUkhCRUFnQkVIQUFtd2dBMnBCMEFGcUlBVkJHR3hxSUI4ckF5Z2dHU3NEQUNBRlFRUjBJQWRxS3dNQUlpYWlJQjRyQXhnZ0JVRUVkQ0FIYWlzRENDSWxvcUNnT1FNQUlBUkJ3QUpzSUFOcUlBVkJHR3hxSUNBckEwZ2dKaUFJS3dNd29pQWxJQllyQXppaW9LQTVBOWdCSUFSQndBSnNJQU5xSUFWQkdHeHFJQ01yQTJnZ0ppQWhLd05Rb2lBbElDSXJBMWlpb0tBNUErQUJJQVZCQVdvaEJRd0JDd3NnQkVFQmFpRUVJQTBvQWdBaEJRd0JDd3NnRXlBQU5nSUFJQk1nQmpZQ0JFRUFRUU5Ceks4QklCTVFQUXdHQ3lBWUlBQTJBZ0JCQUVFRFFjeXdBU0FZRUQwTUJRc2dFaUFBTmdJQUlCSWdBallDQkVFQVFRTkJvTEVCSUJJUVBRd0VDeUFSSUFBMkFnQWdFU0FFUVFGcU5nSUVRUUJCQTBIeHNRRWdFUkE5REFNTElBOGdBRFlDQUNBUElBUkJBV28yQWdSQkFFRURRZkN5QVNBUEVEME1BZ3NnRGlBQU5nSUFJQTRnQkVFQmFqWUNCRUVBUVFOQjhMSUJJQTRRUFF3QkN5QUpFR3BCaUFFUVJDSUFSUVJBUVFCQkEwRzUyQUlnR2hBOVFRRVFBUXNnQUNBRE5nSUFJQUFnRFNnQ0FEWUNCQ0FBUVFBMkFvQUJJQUJCQURZQ2FDQUtRUU54UVFOR0JFQWdBRUVDTmdKc0JTQUtRUUZ4QkVBZ0FFRUFOZ0pzQlNBQVFRRTJBbXdMQ3lBQVJBQUFBQUFBQU9BL09RTndJQUJFQUFBQUFBQUE0RDg1QTNnTUFRc2dDUkJxSUFNUU9FRUFJUUFMQlNBS0lBQTJBZ0JCQUVFRFFhdXVBU0FLRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRUUFoQUFzZ0FpUUdJQUFMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0ZJQWhCQURzQkFDQU1RUUE2QUFBTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHJnRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFsQVFGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9jQkdnc2dCVUVBT2dBQUlBSWdBMm9nQlJCZklBQXNBQXRCQUVnRVFDQUFJQUkyQWdRRklBQWdBam9BQ3dzTElBVWtCZ3RBQVFKL1FkaTFBaEJnSWdKQkRXb1FVU0lCSUFJMkFnQWdBU0FDTmdJRUlBRkJBRFlDQ0NBQlFReHFJZ0ZCMkxVQ0lBSkJBV29RVEJvZ0FDQUJOZ0lBQ3k0QUEwQWdBQ2dDQUVFQlJnMEFDeUFBS0FJQVJRUkFJQUJCQVRZQ0FDQUJRYndFRVFFQUlBQkJmellDQUFzTFZBRUJmeUFBS0FJSUJFQWdBQ0FBS0FJSUlnRkJmMm8yQWdnZ0FVVUVRQ0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxCU0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeHNBSUFBZ0FTZ0NBQ0lBTmdJQUlBQWdBQ2dDQkVFQmFqWUNCQXRPQVFOL0lBSWdBV3RCQW5ZaEJ5QUJJUUFEUUNBQUlBSkhCRUFnQkNBQUtBSUFJZ1pCL3dGeElBTWdCa0dBQVVrYk9nQUFJQVJCQVdvaEJDQUFRUVJxSVFBTUFRc0xJQWRCQW5RZ0FXb0xFUUFnQVVIL0FYRWdBaUFCUVlBQlNSc0xLUUFEUUNBQklBSkhCRUFnQXlBQkxBQUFOZ0lBSUFOQkJHb2hBeUFCUVFGcUlRRU1BUXNMSUFJTENnQWdBVUVZZEVFWWRRdEJBQU5BSUFFZ0FrY0VRQ0FCSUFFb0FnQWlBRUdBQVVrRWYwRzBpQUVvQWdBZ0FTZ0NBRUVDZEdvb0FnQUZJQUFMTmdJQUlBRkJCR29oQVF3QkN3c2dBZ3NlQUNBQlFZQUJTUVIvUWJTSUFTZ0NBQ0FCUVFKMGFpZ0NBQVVnQVFzTG5Rd0NBbjhVZkNBQUt3TUlJZ29nQUNzREtDSUxvaUFBS3dNUUlna2dBQ3NESUNJUW9xRWhCQ0FKSUFBckF4Z2lEYUlnQUNzREFDSUlJQXVpb1NFSElBZ2dFS0lnQ2lBTm9xRWlBeUFEb2lBRUlBU2lJQWNnQjZLZ29KOGlCVVFBQUFBQUFBQUFBR0lFUUNBRElBV2pJUVlnQ0NBSElBV2pJaEdpSWdNZ0NpQUVJQVdqSWcraUloT2hJaEpFQUFBQUFBQUFBQUJpQkh3Z0R5RUVJQWdoQlNBS0lRNGdFU0VISUFrRklBa2dDaUFJSUFhaUlBa2dENktoUkFBQUFBQUFBQUFBWWlJQkd5RU9RUUZCQWlBQkd5RUNJQTRnRHlBR0lBRWJJZ1NpSWhJaEV5QUlJQWtnQVJzaUJTQUdJQkVnQVJzaUI2SWlBeUFTb1NFU0lCRWdEeUFCR3lFR0lBb2dDQ0FCR3dzaERDQUlJQTJpSUFvZ0VLS2dJQWtnQzZLZ0lnaWFJQWdnQ0VRQUFBQUFBQUFBQUdNYklnaEVBQUFBQUFBQThEK2duMFFBQUFBQUFBRHdQeUFJb1orZ1JBQUFBQUFBQU9BL29pRVVJQkpFQUFBQUFBQUFBQUJpQkVBZ0RpQUdvaUFNSUFlaW9TQVNveUlPSUE2aUlBVWdCcUlnRENBRW9xRWdFeUFEb1NJRG95SUlJQWlpb0VRQUFBQUFBQUR3UDZBaENpQU9JQlFnQjZJZ0VxTWlCYUlnQ0NBVUlBU2lJQU9qSWdtaW9DSVBJQStpSUFvZ0JTQUZvaUFKSUFtaW9FUUFBQUFBQUFEd3Y2Q2lvU0lEUkFBQUFBQUFBQUFBWTBVRVFDQUZJQTRnQTU4aURDQVBvU0FLb3lJUm9xQWhBeUFKSUFnZ0VhS2dJUklnQlNBT0lBK2FJQXloSUFxaklncWlvQ0VGSUFrZ0NDQUtvcUFoQ0NBTkFud0NRQUpBQWtBZ0FrRURjVUVCYXc0Q0FBRUNDeUFJSVE0Z0NpRUlJQVVoQ2lBU0lROGdFU0VTSUFNaEVTQUVJUU1nQnlFRUlBWU1BZ3NnQlNFT0lBTWhEeUFHSVFNZ0J3d0JDeUFLSVE0Z0JTRUtJQkVoRHlBRElSRWdCQ0VESUFZaEJDQUhDeUlGb2lJVklCQWdBNklpRnFFaUUwUUFBQUFBQUFBQUFHSUVmeUFESVFjZ0RTRUpJQkFoRENBRklRWkJBQVVnQ3lBUUlBMGdCS0lnQ3lBRG9xRkVBQUFBQUFBQUFBQmlJZ0ViSVF3Z0RTQUxJQUViSWdrZ0JDQUZJQUViSWdhaUlnc2hGU0FNSUFNZ0JDQUJHeUlIb2lJRUlSWWdDeUFFb1NFVElCQWdEU0FCR3lFTElBVWdBeUFCR3lFRVFRRkJBaUFCR3dzaEFpQVRSQUFBQUFBQUFBQUFZZ1JBSUF3Z0JLSWdDeUFHb3FFZ0U2TWlBeUFEb2lBSklBU2lJQXNnQjZLaElCWWdGYUVpQmFNaUJDQUVvcUJFQUFBQUFBQUE4RCtnSVEwZ0F5QVVJQWFpSUJPaklnYWlJQVFnRkNBSG9pQUZveUlIb3FBaUN5QUxvaUFOSUFZZ0JxSWdCeUFIb3FCRUFBQUFBQUFBOEwrZ29xRWlCVVFBQUFBQUFBQUFBR05GQkVBZ0JpQURJQVdmSWhBZ0M2RWdEYU1pQ2FLZ0lRd2dCeUFFSUFtaW9DRUZJQVlnQXlBTG1pQVFvU0FOb3lJRG9xQWhCaUFISUFRZ0E2S2dJUWNDUUFKQUFrQUNRQ0FDUVFOeFFRRnJEZ0lBQVFJTElBY2hCQ0FESVFjZ0JpRURJQVVoQmlBSklRVWdEQ0VKREFJTElBWWhCQ0FNSVFZTUFRc2dBeUVFSUFZaEF5QUpJUVlnRENFSkN5QUtJQW1pSUFnZ0JhS2dJQTRnQnFLZ0lneWFJQXdnREVRQUFBQUFBQUFBQUdNYklRd2dDaUFEb2lBSUlBZWlvQ0FPSUFTaW9DSU5taUFOSUExRUFBQUFBQUFBQUFCakd5RU5JQkVnQ2FJZ0VpQUZvcUFnRHlBR29xQWlDNW9nQ3lBTFJBQUFBQUFBQUFBQVl4c2lDeUFSSUFPaUlCSWdCNktnSUE4Z0JLS2dJaENhSUJBZ0VFUUFBQUFBQUFBQUFHTWJJaEJqQkVBZ0N5QU1Zd1JBSUFzZ0RXTUVRQ0FBSUJFNUF3QWdBQ0FTT1FNSUlBQWdEemtERUNBQUlBazVBeGdnQUNBRk9RTWdJQUFnQmprREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnQUNBRE9RTVlJQUFnQnprRElDQUFJQVE1QXlnTEJTQUFJQW81QXdBZ0FDQUlPUU1JSUFBZ0Rqa0RFQ0FNSUExakJFQWdBQ0FKT1FNWUlBQWdCVGtESUNBQUlBWTVBeWdGSUFBZ0F6a0RHQ0FBSUFjNUF5QWdBQ0FFT1FNb0N3c0ZJQkFnREdNRVFDQVFJQTFqQkVBZ0FDQVJPUU1BSUFBZ0Vqa0RDQ0FBSUE4NUF4QUZJQUFnQ2prREFDQUFJQWc1QXdnZ0FDQU9PUU1RQ3lBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnRENBTll3UkFJQUFnQ1RrREdDQUFJQVU1QXlBZ0FDQUdPUU1vQlNBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBc0xDd3NMQ3dzTEMwRUFBMEFnQVNBQ1J3UkFJQUVnQVNnQ0FDSUFRWUFCU1FSL1FhU0tBU2dDQUNBQktBSUFRUUowYWlnQ0FBVWdBQXMyQWdBZ0FVRUVhaUVCREFFTEN5QUNDeDRBSUFGQmdBRkpCSDlCcElvQktBSUFJQUZCQW5ScUtBSUFCU0FCQ3d0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlR3MEFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhCRUFnQWtFRWFpRUNEQUlMQ3dzZ0FndEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJTUVJBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054RFFFTElBSkJCR29oQWd3QkN3c2dBZ3RHQUFOQUlBRWdBa2NFUUNBRElBRW9BZ0JCZ0FGSkJIOUJvSW9CS0FJQUlBRW9BZ0JCQVhScUx3RUFCVUVBQ3pzQkFDQURRUUpxSVFNZ0FVRUVhaUVCREFFTEN5QUNDeWtBSUFKQmdBRkpCSDhnQVVHZ2lnRW9BZ0FnQWtFQmRHb3VBUUJ4UWYvL0EzRkJBRWNGUVFBTEN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSE1vZ0ZCektJQkVMUUJFTXNCQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVIa29nRkI1S0lCRUxRQkVNc0JDd3dBSUFBZ0FVRVFhaERlQWdzSEFDQUFLQUlNQ3djQUlBQW9BZ2dMQ3dBZ0FCQ1pCQ0FBRURnTEhnQWdBRUlBTndJQUlBQkJBRFlDQ0NBQVFZMmpBMEdOb3dNUVlCQitDeDRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUdUb3dOQms2TURFR0FRZmdzTUFDQUFJQUZCREdvUTNnSUxCd0FnQUN3QUNRc0hBQ0FBTEFBSUN3c0FJQUFRbWdRZ0FCQTRDeW9CQVh4QmZ5QUFLd01BSUFFckF3Q2hJZ0pFQUFBQUFBQUFBQUJrSUFKRUFBQUFBQUFBQUFCakd3c3pBQU5BSUFFZ0FrY0VRQ0FFSUFFc0FBQWlBQ0FESUFCQmYwb2JPZ0FBSUFSQkFXb2hCQ0FCUVFGcUlRRU1BUXNMSUFJTEVnQWdBU0FDSUFGQkdIUkJHSFZCZjBvYkN5a0FBMEFnQVNBQ1J3UkFJQU1nQVN3QUFEb0FBQ0FEUVFGcUlRTWdBVUVCYWlFQkRBRUxDeUFDQ3dRQUlBRUxSQUFEUUNBQklBSkhCRUFnQVNBQkxBQUFJZ0JCZjBvRWYwRzBpQUVvQWdBZ0FTd0FBRUVDZEdvb0FnQkIvd0Z4QlNBQUN6b0FBQ0FCUVFGcUlRRU1BUXNMSUFJTExRQWdBVUVZZEVFWWRVRi9TZ1IvUWJTSUFTZ0NBQ0FCUVJoMFFSaDFRUUowYWlnQ0FFSC9BWEVGSUFFTEMwUUFBMEFnQVNBQ1J3UkFJQUVnQVN3QUFDSUFRWDlLQkg5QnBJb0JLQUlBSUFFc0FBQkJBblJxS0FJQVFmOEJjUVVnQUFzNkFBQWdBVUVCYWlFQkRBRUxDeUFDQ3lzQUlBRkJHSFJCR0hWQmYwb0VmMEdraWdFb0FnQWdBVUgvQVhGQkFuUnFLQUlBUWY4QmNRVWdBUXNMQ3dBZ0FCQ2JCQ0FBRURnTE53RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFFZ0FFRVFha1lFUUNBQVFRQTZBSUFCQlNBQUtBSUlHaUFCRURnTEN3c0xBQ0FBRUp3RUlBQVFPQXVRQmdFQ2Z5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBTGdFQUlnWkIvLzhEY1NJRFFmLy93d0JMQkVCQkFpRUFEQUVMSUFaQi8vOERjVUdBQVVnRVFDQUVJQVVvQWdBaUFHdEJBVWdFUUVFQklRQU1BZ3NnQlNBQVFRRnFOZ0lBSUFBZ0Jqb0FBQVVDUUNBR1FmLy9BM0ZCZ0JCSUJFQWdCQ0FGS0FJQUlnQnJRUUpJQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJCblpCd0FGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEUvY1VHQUFYSTZBQUFNQVFzZ0JrSC8vd054UVlDd0EwZ0VRQ0FFSUFVb0FnQWlBR3RCQTBnRVFFRUJJUUFNQkFzZ0JTQUFRUUZxTmdJQUlBQWdBMEVNZGtIZ0FYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVFaMlFUOXhRWUFCY2pvQUFDQUZJQVVvQWdBaUFFRUJhallDQUNBQUlBTkJQM0ZCZ0FGeU9nQUFEQUVMSUFaQi8vOERjVUdBdUFOT0JFQWdCa0gvL3dOeFFZREFBMGdFUUVFQ0lRQU1CQXNnQkNBRktBSUFJZ0JyUVFOSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CREhaQjRBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFR2RrRS9jVUdBQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRVDl4UVlBQmNqb0FBQXdCQ3lBQklBQnJRUVJJQkVCQkFTRUFEQU1MSUFCQkFtb2hCaUFBTHdFQ0lnQkJnUGdEY1VHQXVBTkhCRUJCQWlFQURBTUxJQVFnQlNnQ0FHdEJCRWdFUUVFQklRQU1Bd3NnQUVIL0IzRWdBMEhBQjNFaUIwRUtkRUdBZ0FScUlBTkJDblJCZ1BnRGNYSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBSWdCallDQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFkQkJuWkJBV29pQmtFQ2RrSHdBWEk2QUFBZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR1FRUjBRVEJ4SUFOQkFuWkJEM0Z5UVlBQmNqb0FBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQU5CQkhSQk1IRWdBRUVHZGtFUGNYSkJnQUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxDeUFDSUFJb0FnQkJBbW9pQURZQ0FBd0JDd3NnQUF1OEJnRUZmeUFDSUFBMkFnQWdCU0FETmdJQUEwQUNRQ0FDS0FJQUlnTWdBVThFUUVFQUlRQU1BUXNnQlNnQ0FDSUlJQVJQQkVCQkFTRUFEQUVMSUFNc0FBQWlCa0gvQVhFaUNVSC8vOE1BU3dSQVFRSWhBQXdCQ3lBQ0lBWkJmMG9FZnlBSUlBWkIvd0Z4T3dFQUlBTkJBV29GQW44Z0JrSC9BWEZCd2dGSUJFQkJBaUVBREFNTElBWkIvd0Z4UWVBQlNBUkFJQUVnQTJ0QkFrZ0VRRUVCSVFBTUJBc2dBeTBBQVNJQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzZ0NVRUdkRUhBRDNFZ0FFRS9jWElpQUVILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVDYWd3QkN5QUdRZjhCY1VId0FVZ0VRQ0FCSUFOclFRTklCRUJCQVNFQURBUUxJQU1zQUFFaEJ5QURMUUFDSVFBQ1FBSkFBa0FnQmtGZ2F5SUdCRUFnQmtFTlJnUkFEQUlGREFNTEFBc2dCMEhnQVhGQm9BRkhCRUJCQWlFQURBY0xEQUlMSUFkQjRBRnhRWUFCUndSQVFRSWhBQXdHQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJRc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0VDeUFBUVQ5eElBbEJESFFnQjBFL2NVRUdkSEp5SWdCQi8vOERjVUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRURhZ3dCQ3lBR1FmOEJjVUgxQVU0RVFFRUNJUUFNQXdzZ0FTQURhMEVFU0FSQVFRRWhBQXdEQ3lBRExBQUJJUWNnQXkwQUFpRUFJQU10QUFNaEF3SkFBa0FDUUFKQUlBWkJjR3NPQlFBQ0FnSUJBZ3NnQjBId0FHcEJHSFJCR0hWQi93RnhRVEJPQkVCQkFpRUFEQVlMREFJTElBZEI4QUZ4UVlBQlJ3UkFRUUloQUF3RkN3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdEQ3lBRFFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0JDQUlhMEVFU0FSQVFRRWhBQXdEQ3lBRFFUOXhJZ1lnQUVFR2RDSUtRY0FmY1NBSFFmOEJjU0lEUVF4MFFZRGdEM0VnQ1VFSGNTSUhRUkowY25KeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFnZ0EwRUVka0VEY1NBSFFRSjBja0VHZEVIQS93QnFJQU5CQW5SQlBIRWdBRUVFZGtFRGNYSnlRWUN3QTNJN0FRQWdCU0FJUVFKcU5nSUFJQWdnQmlBS1FjQUhjWEpCZ0xnRGNqc0JBaUFDS0FJQVFRUnFDd3MyQWdBZ0JTQUZLQUlBUVFKcU5nSUFEQUVMQ3lBQUM1TUVBUWQvSUFFaEJ5QUFJUUVEUUFKQUlBRWdCMGtnQmlBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NJSVFmLy93d0JMRFFBZ0EwRi9TZ1IvSUFGQkFXb0ZBbjhnQTBIL0FYRkJ3Z0ZJRFFJZ0EwSC9BWEZCNEFGSUJFQWdCeUFCYTBFQ1NBMERJQUV0QUFFaUJFSEFBWEZCZ0FGSElBaEJCblJCd0E5eElBUkJQM0Z5UWYvL3d3QkxjZzBESUFGQkFtb01BUXNnQTBIL0FYRkI4QUZJQkVBZ0J5QUJhMEVEU0EwRElBRXNBQUVoQkNBQkxRQUNJUVVDUUFKQUFrQWdBMEZnYXlJREJFQWdBMEVOUmdSQURBSUZEQU1MQUFzZ0JFSGdBWEZCb0FGSERRWU1BZ3NnQkVIZ0FYRkJnQUZIRFFVTUFRc2dCRUhBQVhGQmdBRkhEUVFMSUFWQndBRnhRWUFCUnlBRlFUOXhJQWhCREhSQmdPQURjU0FFUVQ5eFFRWjBjbkpCLy8vREFFdHlEUU1nQVVFRGFnd0JDeUFISUFGclFRUklJQUlnQm10QkFrbHlJQU5CL3dGeFFmVUJUbklOQWlBQkxBQUJJUVVnQVMwQUFpRUVJQUV0QUFNaENRSkFBa0FDUUFKQUlBTkJjR3NPQlFBQ0FnSUJBZ3NnQlVId0FHcEJHSFJCR0hWQi93RnhRVEJPRFFVTUFnc2dCVUh3QVhGQmdBRkhEUVFNQVFzZ0JVSEFBWEZCZ0FGSERRTUxJQWxCd0FGeFFZQUJSeUFKUVQ5eElBUkJCblJCd0I5eElBaEJFblJCZ0lEd0FIRWdCVUUvY1VFTWRISnlja0gvLzhNQVMzSWdCRUhBQVhGQmdBRkhjZzBDSUFaQkFXb2hCaUFCUVFScUN3c2hBU0FHUVFGcUlRWU1BUXNMSUFFZ0FHc0xDd0FnQWlBRElBUVFrd29MVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDU0NpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNSQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTEN3QWdBQkNlQkNBQUVEZ0xLZ0VCZnlBQUtBSUlJZ0FFUUNBQUVHSWhBUkNiQXlFQUlBRUVRQ0FCRUdJYUN3VkJBU0VBQ3lBQUMzTUJCSDhnQXlFRkEwQUNRQ0FDSUFWR0lBWWdCRTl5RFFBZ0FDZ0NDQkJpSVFkQkFDQUNJQVVnQW1zZ0FVSEl4UU1nQVJzUTF3RWhBeUFIQkVBZ0J4QmlHZ3NDUUFKQUlBTkJmbXNPQXdJQ0FBRUxRUUVoQXdzZ0JrRUJhaUVHSUFNZ0NHb2hDQ0FDSUFOcUlRSU1BUXNMSUFnTFVBRUVmeUFBS0FJSUVHSWhBUUovSXdZaEF5TUdRUkJxSkFZZ0F3c2tCaUFCQkVBZ0FSQmlHZ3NnQUNnQ0NDSUFCSDhnQUJCaUlRQVFtd01oQkNBQUJFQWdBQkJpR2dzZ0JFRUJSZ1ZCQVFzTG1BRUJBbjhqQmlFRkl3WkJFR29rQmlBRUlBSTJBZ0FnQUNnQ0NCQmlJUUlnQlNJQVFRQVFuZ0VoQVNBQ0JFQWdBaEJpR2dzZ0FVRUJha0VDU1FSL1FRSUZJQUZCZjJvaUFTQURJQVFvQWdCclN3Ui9RUUVGQTM4Z0FRUi9JQUFzQUFBaEFpQUVJQVFvQWdBaUEwRUJhallDQUNBRElBSTZBQUFnQUVFQmFpRUFJQUZCZjJvaEFRd0JCVUVBQ3dzTEN5RUdJQVVrQmlBR0Mva0RBUVovSXdZaERDTUdRUkJxSkFZZ0RDRUpJQUloQ0FOQUFrQWdBeUFJUmdSQUlBTWhDQXdCQ3lBSUxBQUFCRUFnQ0VFQmFpRUlEQUlMQ3dzZ0J5QUZOZ0lBSUFRZ0FqWUNBQ0FHSVFvZ0NDRUdBa0FDUUFKQUEwQUNRQ0FDSUFOR0lBVWdDa1p5RFFNZ0NTQUJLUUlBTndNQUlBQW9BZ2dRWWlFSUlBVWdCQ0FHSUFKcklBb2dCV3RCQW5VZ0FSRHdCQ0VMSUFnRVFDQUlFR0lhQ3lBTFFYOUdEUUFnQnlBSEtBSUFJQXRCQW5ScUlnVTJBZ0FnQlNBS1JnMENJQVFvQWdBaEFpQURJQVpHQkVBZ0F5RUdCU0FBS0FJSUVHSWhCZ0ovSUFVZ0FrRUJJQUVRMXdFaERTQUdCRUFnQmhCaUdnc2dEUXNFUUVFQ0lRQU1CZ3NnQnlBSEtBSUFRUVJxTmdJQUlBUWdCQ2dDQUVFQmFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdMQUFBQkVBZ0JrRUJhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NDUUFKQUEwQUNRQ0FISUFVMkFnQWdBaUFFS0FJQVJnMERJQUFvQWdnUVlpRUlJQVVnQWlBR0lBSnJJQWtRMXdFaEFTQUlCRUFnQ0JCaUdnc0NRQUpBSUFGQmZtc09Bd1FDQUFFTFFRRWhBUXNnQVNBQ2FpRUNJQWNvQWdCQkJHb2hCUXdCQ3dzZ0JDQUNOZ0lBUVFJaEFBd0VDeUFFSUFJMkFnQkJBU0VBREFNTElBUWdBallDQUNBQ0lBTkhJUUFNQWdzZ0JDZ0NBQ0VDQ3lBQ0lBTkhJUUFMSUFra0JpQUFDNWdFQVFaL0l3WWhEU01HUVJCcUpBWWdEU0lLUVFocUlRc2dBaUVJQTBBQ1FDQURJQWhHQkVBZ0F5RUlEQUVMSUFnb0FnQUVRQ0FJUVFScUlRZ01BZ3NMQ3lBSElBVTJBZ0FnQkNBQ05nSUFJQVloQ1NBSUlRWUNRQUpBQWtBRFFBSkFJQUlnQTBZZ0JTQUpSbklOQXlBS0lBRXBBZ0EzQXdBZ0FDZ0NDQkJpSVFnZ0JTQUVJQVlnQW10QkFuVWdDU0FGYXhEb0JDRU1JQWdFUUNBSUVHSWFDd0pBQWtBZ0RFRi9hdzRDQWdBQkMwRUJJUUFNQlFzZ0J5QU1JQWNvQWdCcUlnVTJBZ0FnQlNBSlJnMENJQU1nQmtZRVFDQURJUVlnQkNnQ0FDRUNCU0FBS0FJSUVHSWhCU0FMUVFBUW5nRWhBaUFGQkVBZ0JSQmlHZ3NnQWtGL1JnUkFRUUloQUF3R0N5QUNJQWtnQnlnQ0FHdExCRUJCQVNFQURBWUxJQXNoQlFOQUlBSUVRQ0FGTEFBQUlRWWdCeUFIS0FJQUlnaEJBV28yQWdBZ0NDQUdPZ0FBSUFWQkFXb2hCU0FDUVg5cUlRSU1BUXNMSUFRZ0JDZ0NBRUVFYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0tBSUFCRUFnQmtFRWFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c2dCeUFGTmdJQUEwQUNRQ0FDSUFRb0FnQkdEUUFnQWlnQ0FDRURJQUFvQWdnUVlpRUJJQVVnQXhDZUFTRURJQUVFUUNBQkVHSWFDeUFEUVg5R0RRQWdCeUFESUFjb0FnQnFJZ1UyQWdBZ0FrRUVhaUVDREFFTEN5QUVJQUkyQWdCQkFpRUFEQUlMSUFRb0FnQWhBZ3NnQWlBRFJ5RUFDeUFLSkFZZ0FBc1JBQ0FESUFKcklnQWdCQ0FBSUFSSkd3dVBBd0VCZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFLQUlBSWdCQmdIQnhRWUN3QTBZZ0FFSC8vOE1BUzNJRVFFRUNJUUFNQVFzZ0FFR0FBVWtFUUNBRUlBVW9BZ0FpQTJ0QkFVZ0VRRUVCSVFBTUFnc2dCU0FEUVFGcU5nSUFJQU1nQURvQUFBVUNRQ0FBUVlBUVNRUkFJQVFnQlNnQ0FDSURhMEVDU0FSQVFRRWhBQXdFQ3lBRklBTkJBV28yQWdBZ0F5QUFRUVoyUWNBQmNqb0FBQXdCQ3lBRUlBVW9BZ0FpQTJzaEJpQUFRWUNBQkVrRVFDQUdRUU5JQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJESFpCNEFGeU9nQUFCU0FHUVFSSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCRW5aQjhBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFTWRrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVHZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxJQUlnQWlnQ0FFRUVhaUlBTmdJQURBRUxDeUFBQzdrRkFRVi9JQUlnQURZQ0FDQUZJQU0yQWdBRFFBSkFJQUlvQWdBaUJpQUJUd1JBUVFBaEFBd0JDeUFGS0FJQUlnb2dCRThFUUVFQklRQU1BUXNnQml3QUFDSUhRZjhCY1NFRElBZEJmMG9FZnlBRFFmLy93d0JMQkg5QkFpRUFEQUlGUVFFTEJRSi9JQWRCL3dGeFFjSUJTQVJBUVFJaEFBd0RDeUFIUWY4QmNVSGdBVWdFUUNBQklBWnJRUUpJQkVCQkFTRUFEQVFMSUFZdEFBRWlBRUhBQVhGQmdBRkhCRUJCQWlFQURBUUxRUUlnQTBFR2RFSEFEM0VnQUVFL2NYSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjhBRklCRUFnQVNBR2EwRURTQVJBUVFFaEFBd0VDeUFHTEFBQklRZ2dCaTBBQWlFQUFrQUNRQUpBSUFkQllHc2lCd1JBSUFkQkRVWUVRQXdDQlF3REN3QUxJQWhCNEFGeFFhQUJSd1JBUVFJaEFBd0hDd3dDQ3lBSVFlQUJjVUdBQVVjRVFFRUNJUUFNQmdzTUFRc2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBVUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXRCQXlBQVFUOXhJQU5CREhSQmdPQURjU0FJUVQ5eFFRWjBjbklpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI5UUZPQkVCQkFpRUFEQU1MSUFFZ0JtdEJCRWdFUUVFQklRQU1Bd3NnQml3QUFTRUpJQVl0QUFJaEFDQUdMUUFESVFnQ1FBSkFBa0FDUUNBSFFYQnJEZ1VBQWdJQ0FRSUxJQWxCOEFCcVFSaDBRUmgxUWY4QmNVRXdUZ1JBUVFJaEFBd0dDd3dDQ3lBSlFmQUJjVUdBQVVjRVFFRUNJUUFNQlFzTUFRc2dDVUhBQVhGQmdBRkhCRUJCQWlFQURBUUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQU1MSUFoQlAzRWdBRUVHZEVIQUgzRWdBMEVTZEVHQWdQQUFjU0FKUVQ5eFFReDBjbkp5SWdOQi8vL0RBRXNFZjBFQ0lRQU1Bd1ZCQkFzTEN5RUFJQW9nQXpZQ0FDQUNJQUFnQm1vMkFnQWdCU0FGS0FJQVFRUnFOZ0lBREFFTEN5QUFDNFVFQVFkL0lBRWhCaUFBSVFFRFFBSkFJQUVnQmtrZ0NDQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTRUhJQU5CZjBvRWZ5QUhRZi8vd3dCTERRRWdBVUVCYWdVQ2Z5QURRZjhCY1VIQ0FVZ05BaUFEUWY4QmNVSGdBVWdFUUNBR0lBRnJRUUpJRFFNZ0FTMEFBU0lFUWNBQmNVR0FBVWNnQjBFR2RFSEFEM0VnQkVFL2NYSkIvLy9EQUV0eURRTWdBVUVDYWd3QkN5QURRZjhCY1VId0FVZ0VRQ0FHSUFGclFRTklEUU1nQVN3QUFTRUVJQUV0QUFJaEJRSkFBa0FDUUNBRFFXQnJJZ01FUUNBRFFRMUdCRUFNQWdVTUF3c0FDeUFFUWVBQmNVR2dBVWNOQmd3Q0N5QUVRZUFCY1VHQUFVY05CUXdCQ3lBRVFjQUJjVUdBQVVjTkJBc2dCVUhBQVhGQmdBRkhJQVZCUDNFZ0IwRU1kRUdBNEFOeElBUkJQM0ZCQm5SeWNrSC8vOE1BUzNJTkF5QUJRUU5xREFFTElBWWdBV3RCQkVnZ0EwSC9BWEZCOVFGT2NnMENJQUVzQUFFaEJTQUJMUUFDSVFRZ0FTMEFBeUVKQWtBQ1FBSkFBa0FnQTBGd2F3NEZBQUlDQWdFQ0N5QUZRZkFBYWtFWWRFRVlkVUgvQVhGQk1FNE5CUXdDQ3lBRlFmQUJjVUdBQVVjTkJBd0JDeUFGUWNBQmNVR0FBVWNOQXdzZ0NVSEFBWEZCZ0FGSElBbEJQM0VnQkVFR2RFSEFIM0VnQjBFU2RFR0FnUEFBY1NBRlFUOXhRUXgwY25KeVFmLy93d0JMY2lBRVFjQUJjVUdBQVVkeURRSWdBVUVFYWdzTElRRWdDRUVCYWlFSURBRUxDeUFCSUFCckN3c0FJQUlnQXlBRUVLRUtDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRb0FvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUMwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFud29oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzhNRUFRaC9Jd1loQkNNR1FiQUJhaVFHSUFSQnFBRnFJUXdnQkNFQklBUkJwQUZxSVFvZ0JFR2dBV29oQnlBRVFaZ0JhaUVDSUFSQmtBRnFJUXNnQkVHQUFXb2lDRUlBTndJQUlBaEJBRFlDQ0FOQUlBWkJBMGNFUUNBR1FRSjBJQWhxUVFBMkFnQWdCa0VCYWlFR0RBRUxDeUFDUVFBMkFnUWdBa0dzb0FFMkFnQWdCU2dDQUNBRklBVXNBQXNpQTBFQVNDSUpHeUlHSUFVb0FnUWdBMEgvQVhFZ0NSdEJBblJxSVFNZ0FVRWdhaUVKUVFBaEJRSkFBa0FEUUNBRlFRSkhJQVlnQTBseEJFQWdCeUFHTmdJQUlBSWdEQ0FHSUFNZ0J5QUJJQWtnQ2lBQ0tBSUFLQUlNUVE5eFFZNERhaEVPQUNJRlFRSkdJQVlnQnlnQ0FFWnlEUUlnQVNFR0EwQWdCaUFLS0FJQVNRUkFJQWdnQml3QUFCRE1BU0FHUVFGcUlRWU1BUXNMSUFjb0FnQWhCZ3dCQ3dzTUFRc1FBQXNDZnlBSUtBSUFJQWdnQ0N3QUMwRUFTQnNpQXlFTklBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQUdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF0QkFEWUNCQ0FMUWR5Z0FUWUNBQ0FOQ3hCZ0lBTnFJZ1VoQmlBQlFZQUJhaUVKUVFBaEFnSkFBa0FEUUNBQ1FRSkhJQU1nQlVseFJRMEJJQWNnQXpZQ0FDQUxJQXdnQXlBRFFTQnFJQVVnQmlBRGEwRWdTaHNnQnlBQklBa2dDaUFMS0FJQUtBSVFRUTl4UVk0RGFoRU9BQ0lDUVFKR0lBTWdCeWdDQUVaeVJRUkFJQUVoQXdOQUlBTWdDaWdDQUVrRVFDQUFJQU1vQWdBUWpnSWdBMEVFYWlFRERBRUxDeUFIS0FJQUlRTU1BUXNMRUFBTUFRc2dDQkJISUFRa0Jnc0xnQUlCQW44akJpRUJJd1pCRUdva0JpQUJRZ0EzQWdBZ0FVRUFOZ0lJQTBBZ0JrRURSd1JBSUFaQkFuUWdBV3BCQURZQ0FDQUdRUUZxSVFZTUFRc0xJQVVvQWdBZ0JTQUZMQUFMSWdOQkFFZ2lCQnNpQWlBRktBSUVJQU5CL3dGeElBUWJhaUVESUFJaEJRTkFJQVVnQTBrRVFDQUJJQVVzQUFBUXpBRWdCVUVCYWlFRkRBRUxDd0ovSUFFb0FnQWdBU0FCTEFBTFFRQklHeUlDSVFjZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFNRFFDQURRUU5IQkVBZ0EwRUNkQ0FBYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3NnQndzUVlDQUNhaUVEQTBBZ0FpQURTUVJBSUFBZ0Fpd0FBQkRNQVNBQ1FRRnFJUUlNQVFzTElBRVFSeUFCSkFZTHdnVUJFbjhqQmlFR0l3WkI0QU5xSkFZZ0JrSE1BMm9pQ3lBREVEc2dDMEdnemdNUU9pRU1JQVVzQUFzaUIwRUFTQ0VBSUFVb0FnUWdCMEgvQVhFZ0FCc0VmeUFGS0FJQUlBVWdBQnNvQWdBZ0RFRXRJQXdvQWdBb0FpeEJQM0ZCaWdGcUVRSUFSZ1ZCQUFzaERpQUdRZFFEYWlFUElBWkJ5QU5xSVJBZ0JrSEVBMm9oRVNBR1Fhd0RhaUVISUFaQm9BTnFJUWdnQmtHY0Eyb2hDU0FHUWJnRGFpSUtRZ0EzQWdBZ0NrRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFwcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSFFnQTNBZ0FnQjBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFJUWdBM0FnQWdDRUVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBaHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUNJQTRnQ3lBUElCQWdFU0FLSUFjZ0NDQUpFS01FSUFVc0FBc2lBRUVBU0NFU0lBVW9BZ1FnQUVIL0FYRWdFaHNpRXlBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVCYWlBVElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVDYWdzaEZpQUdJUUFnQWlBVUlCWnFhaUlDUWVRQVN3UkFJQUpCQW5RUVJDSUFJUUlnQUFSQUlBQWhEU0FDSVJVRkVBQUxCU0FBSVEwTElBMGdCa0dZQTJvZ0JrR1VBMm9nQXlnQ0JDQUZLQUlBSUFVZ0Voc2lBQ0FUUVFKMElBQnFJQXdnRGlBUElCQW9BZ0FnRVNnQ0FDQUtJQWNnQ0NBSkVLSUVJQVlnQVNnQ0FEWUNrQU1nQmlnQ21BTWhBQ0FHS0FLVUF5RUJJQVpCMEFOcUlnSWdCaWdDa0FNMkFnQWdBaUFOSUFBZ0FTQURJQVFRcFFFaEZ5QVZCRUFnRlJBNEN5QUlFRWNnQnhCSElBb1FSeUFMRUR3Z0JpUUdJQmNMdUFZQkZYOGpCaUVHSXdaQjRBZHFKQVlnQmtHSUIyb2hDQ0FHUVpBRGFpRUFJQVpCMkFkcUlna2dCa0dnQm1vaUJ6WUNBQ0FHUVpBSGFpSU5JQVU1QXdBZ0IwSGtBRUhTbmdNZ0RSQ2pBaUlIUWVNQVN3UkFFRndoQUNBSUlBVTVBd0FnQ1NBQVFkS2VBeUFJRUpzQklRQWdDU2dDQUNJSVJRUkFFQUFMSUFCQkFuUVFSQ0lISVFvZ0J3UkFJQWNoRENBQUlRc2dDaUVRSUFnaEVRVVFBQXNGSUFBaERDQUhJUXNMSUFaQjFBZHFJZzRnQXhBN0lBNUJvTTRERURvaUVpZ0NBQ2dDTUNFQUlCSWdDU2dDQUNJSElBY2dDMm9nRENBQVFROXhRWW9DYWhFSkFCb2dDd1IvSUFrb0FnQXNBQUJCTFVZRlFRQUxJUk1nQmtIY0Iyb2hGQ0FHUWRBSGFpRVZJQVpCekFkcUlSWWdCa0cwQjJvaEJ5QUdRYWdIYWlFSUlBWkJwQWRxSVFrZ0JrSEFCMm9pQ2tJQU53SUFJQXBCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dCMElBTndJQUlBZEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSGFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NFSUFOd0lBSUFoQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FJYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQWlBVElBNGdGQ0FWSUJZZ0NpQUhJQWdnQ1JDakJDQUxJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRRnFJQXNnQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRSnFDeUVaSUFZaEFDQUNJQmNnR1dwcUlnSkI1QUJMQkVBZ0FrRUNkQkJFSWdBaEFpQUFCRUFnQUNFUElBSWhHQVVRQUFzRklBQWhEd3NnRHlBR1FhQUhhaUFHUVp3SGFpQURLQUlFSUF3Z0MwRUNkQ0FNYWlBU0lCTWdGQ0FWS0FJQUlCWW9BZ0FnQ2lBSElBZ2dDUkNpQkNBR0lBRW9BZ0EyQXBnSElBWW9BcUFISVFBZ0JpZ0NuQWNoQVNBTklBWW9BcGdITmdJQUlBMGdEeUFBSUFFZ0F5QUVFS1VCSVJvZ0dBUkFJQmdRT0FzZ0NCQkhJQWNRUnlBS0VFY2dEaEE4SUJBRVFDQVFFRGdMSUJFRVFDQVJFRGdMSUFZa0JpQWFDN3dGQVJKL0l3WWhCaU1HUWJBQmFpUUdJQVpCbUFGcUlnc2dBeEE3SUF0QmdNNERFRG9oRENBRkxBQUxJZ2RCQUVnaEFDQUZLQUlFSUFkQi93RnhJQUFiQkg4Z0JTZ0NBQ0FGSUFBYkxRQUFJQXhCTFNBTUtBSUFLQUljUVQ5eFFZb0JhaEVDQUVIL0FYRkdCVUVBQ3lFT0lBWkJwQUZxSVE4Z0JrR2hBV29oRUNBR1FhQUJhaUVSSUFaQmdBRnFJUWNnQmtIMEFHb2hDQ0FHUWZBQWFpRUpJQVpCakFGcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdEaUFMSUE4Z0VDQVJJQW9nQnlBSUlBa1FwUVFnQlN3QUN5SUFRUUJJSVJJZ0JTZ0NCQ0FBUWY4QmNTQVNHeUlUSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUZxSUJNZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUpxQ3lFV0lBWWhBQ0FDSUJRZ0ZtcHFJZ0pCNUFCTEJFQWdBaEJFSWdBaEFpQUFCRUFnQUNFTklBSWhGUVVRQUFzRklBQWhEUXNnRFNBR1Fld0FhaUFHUWVnQWFpQURLQUlFSUFVb0FnQWdCU0FTR3lJQUlBQWdFMm9nRENBT0lBOGdFQ3dBQUNBUkxBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0prSUFZb0Ftd2hBQ0FHS0FKb0lRRWdCa0djQVdvaUFpQUdLQUprTmdJQUlBSWdEU0FBSUFFZ0F5QUVFSmNCSVJjZ0ZRUkFJQlVRT0FzZ0NCQkhJQWNRUnlBS0VFY2dDeEE4SUFZa0JpQVhDNjhHQVJWL0l3WWhCaU1HUWFBRGFpUUdJQVpCeUFKcUlRZ2dCa0h3QUdvaEFDQUdRWkFEYWlJSklBWkI0QUZxSWdjMkFnQWdCa0hRQW1vaURTQUZPUU1BSUFkQjVBQkIwcDRESUEwUW93SWlCMEhqQUVzRVFCQmNJUUFnQ0NBRk9RTUFJQWtnQUVIU25nTWdDQkNiQVNFQUlBa29BZ0FpQ0VVRVFCQUFDeUFBRUVRaUJ5RUtJQWNFUUNBSElRd2dBQ0VMSUFvaEVDQUlJUkVGRUFBTEJTQUFJUXdnQnlFTEN5QUdRWXdEYWlJT0lBTVFPeUFPUVlET0F4QTZJaElvQWdBb0FpQWhBQ0FTSUFrb0FnQWlCeUFISUF0cUlBd2dBRUVQY1VHS0Ftb1JDUUFhSUFzRWZ5QUpLQUlBTEFBQVFTMUdCVUVBQ3lFVElBWkJtQU5xSVJRZ0JrR1ZBMm9oRlNBR1FaUURhaUVXSUFaQjlBSnFJUWNnQmtIb0Ftb2hDQ0FHUWVRQ2FpRUpJQVpCZ0FOcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdFeUFPSUJRZ0ZTQVdJQW9nQnlBSUlBa1FwUVFnQ3lBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVCYWlBTElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVDYWdzaEdTQUdJUUFnQWlBWElCbHFhaUlDUWVRQVN3UkFJQUlRUkNJQUlRSWdBQVJBSUFBaER5QUNJUmdGRUFBTEJTQUFJUThMSUE4Z0JrSGdBbW9nQmtIY0Ftb2dBeWdDQkNBTUlBc2dER29nRWlBVElCUWdGU3dBQUNBV0xBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0xZQWlBR0tBTGdBaUVBSUFZb0F0d0NJUUVnRFNBR0tBTFlBallDQUNBTklBOGdBQ0FCSUFNZ0JCQ1hBU0VhSUJnRVFDQVlFRGdMSUFnUVJ5QUhFRWNnQ2hCSElBNFFQQ0FRQkVBZ0VCQTRDeUFSQkVBZ0VSQTRDeUFHSkFZZ0dndmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWZqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCOE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRFlDQUNBTkN5QUxFRzRnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFjZ0N4QnVJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRFlDQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEWUNBQ0FQQ3lBTEVHNGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU5nSUFJQVlnQ3hCdUlBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJRSUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkFTRUVJQVpCL3dGeEN5RUZJQUlnQVdzaUNFRUNkU0VKSUFnRVFBSkFJQWNFZnlBQUtBSUVJUVlnQUNnQ0FBVWdCa0gvQVhFaEJpQUFDeUlISVFnZ0FTQUdRUUowSUFkcVNTQUlJQUZOY1FSQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQXlBQklBSVF4d1FnQUNBREtBSUFJQU1nQXl3QUN5SUFRUUJJSWdFYklBTW9BZ1FnQUVIL0FYRWdBUnNRNFFrZ0F4QkhEQUVMSUFRZ0JXc2dDVWtFUUNBQUlBUWdCU0FKYWlBRWF5QUZJQVVRa1FRTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5QUZRUUowYWlFRUEwQWdBU0FDUndSQUlBUWdBUkJ1SUFSQkJHb2hCQ0FCUVFScUlRRU1BUXNMSUFOQkFEWUNBQ0FFSUFNUWJpQUZJQWxxSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3dzTElBTWtCZ3V3QkFFSWZ5TUdJUUFqQmtHd0Eyb2tCaUFBUWFBRGFpSUlJQUEyQWdBZ0NFR1JBVFlDQkNBQVFaQURhaUlMSUFRUU95QUxRYURPQXhBNklRY2dBRUdzQTJvaUNrRUFPZ0FBSUFBZ0FpZ0NBQ0lKTmdLVUF5QUVLQUlFSVF3Z0FFR29BMm9pQkNBQUtBS1VBellDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFaZ0RhaUFBUVpBRGFoQ21CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTJBZ0FnRFFzZ0JCQnVJQVpCQURZQ0JBVWdCRUVBTmdJQUlBWWdCQkJ1SUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUVJNENDeUFIUVRBZ0J5Z0NBQ2dDTEVFL2NVR0tBV29SQWdBaEJDQUFLQUtZQXlJSFFYeHFJUW9nQ0NnQ0FDRURBMEFDUUNBRElBcFBEUUFnQXlnQ0FDQUVSdzBBSUFOQkJHb2hBd3dCQ3dzZ0JpQURJQWNRckFvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQ1VVTkFDQUpLQUlNSWdRZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQTBVTkFnc01BZ3NnQXcwQURBRUxJQVVnQlNnQ0FFRUNjallDQUFzZ0FTZ0NBQ0VPSUFzUVBDQUlLQUlBSVFFZ0NFRUFOZ0lBSUFFRVFDQUJJQWdvQWdSQi93RnhRYXdEYWhFQkFBc2dBQ1FHSUE0TG9BVUJDMzhqQmlFSEl3WkIwQVJxSkFZZ0IwR29CR29oRGlBSElROGdCMEc0QkdvaUNTQUhRZkFBYWlJS05nSUFJQWxCa1FFMkFnUWdCMEd3QkdvaURTQUVFRHNnRFVHZ3pnTVFPaUVBSUFkQndBUnFJZ3hCQURvQUFDQUhJQUlvQWdBMkFxd0VJQVFvQWdRaEN5QUhRWUFFYWlJRUlBY29BcXdFTmdJQUlBRWdCQ0FESUEwZ0N5QUZJQXdnQUNBSklBZEJ0QVJxSUFwQmtBTnFFS1lFQkVBZ0FFSG9uUU5COHAwRElBUWdBQ2dDQUNnQ01FRVBjVUdLQW1vUkNRQWFJQWNvQXJRRUlnc2dDU2dDQUNJS2F5SUFRWWdEU2dSQUlBQkJBblpCQW1vUVJDSUFJUU1nQUFSQUlBQWhDQ0FESVJBRkVBQUxCU0FQSVFnTElBd3NBQUFFUUNBSVFTMDZBQUFnQ0VFQmFpRUlDeUFFUVNocUlRTWdCQ0VNQTBBZ0NpQUxTUVJBSUFvb0FnQWhDeUFFSVFBRFFBSkFJQUFnQTBZRVFDQURJUUFNQVFzZ0FDZ0NBQ0FMUndSQUlBQkJCR29oQUF3Q0N3c0xJQWdnQUNBTWEwRUNkVUhvblFOcUxBQUFPZ0FBSUFwQkJHb2hDaUFJUVFGcUlRZ2dCeWdDdEFRaEN3d0JDd3NnQ0VFQU9nQUFJQTRnQmpZQ0FDQVBRWVdkQXlBT0VJTUJRUUZIQkVBUUFBc2dFQVJBSUJBUU9Bc0xJQUVvQWdBaUFBUi9JQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQkNBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZWpQQXhBNklnRW9BZ0FvQWl3RklBRkI0TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUE2QUFBZ0RBc2dDeEJmSUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRG9BQUNBSUlBc1FYeUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEb0FBQ0FOQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURvQUFDQVBDeUFMRUY4Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBT2dBQUlBWWdDeEJmSUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMndJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnVkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQ2lFRUlBVkIvd0Z4Q3lFR0lBSWdBV3NpQ0FSQUFrQWdCd1IvSUFBb0FnUWhCU0FBS0FJQUJTQUZRZjhCY1NFRklBQUxJZ2NoQ1NBQklBVWdCMnBKSUFrZ0FVMXhCRUFnQTBJQU53SUFJQU5CQURZQ0NDQURJQUVnQWhEK0F5QUFJQU1vQWdBZ0F5QURMQUFMSWdCQkFFZ2lBUnNnQXlnQ0JDQUFRZjhCY1NBQkd4RGpDU0FERUVjTUFRc2dCQ0FHYXlBSVNRUkFJQUFnQkNBR0lBaHFJQVJySUFZZ0JoRGRBZ3NnQWlBR0lBRnJhaUVISUFZZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElnVnFJUVFEUUNBQklBSkhCRUFnQkNBQkVGOGdCRUVCYWlFRUlBRkJBV29oQVF3QkN3c2dBMEVBT2dBQUlBVWdCMm9nQXhCZklBWWdDR29oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMQ3dzZ0F5UUdDN1VFQVFoL0l3WWhBQ01HUVlBQmFpUUdJQUJCOEFCcUlnZ2dBRFlDQUNBSVFaRUJOZ0lFSUFCQjVBQnFJZ3NnQkJBN0lBdEJnTTRERURvaEJ5QUFRZndBYWlJS1FRQTZBQUFnQUNBQ0tBSUFJZ2syQW1nZ0JDZ0NCQ0VNSUFCQitBQnFJZ1FnQUNnQ2FEWUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUWV3QWFpQUFRZVFBYWhDb0JBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBNkFBQWdEUXNnQkJCZklBWkJBRFlDQkFVZ0JFRUFPZ0FBSUFZZ0JCQmZJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaHhCUDNGQmlnRnFFUUlBRU13QkN5QUhRVEFnQnlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQkNBQUtBSnNJZ2RCZjJvaENpQUlLQUlBSVFNRFFBSkFJQU1nQ2s4TkFDQURMUUFBSUFSQi93RnhSdzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQURJQWNRc0FvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGSUFFb0FnQkZDd1ZCQVFzaEF3SkFBa0FDUUNBSlJRMEFJQWtvQWd3aUJDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBTkZEUUlMREFJTElBTU5BQXdCQ3lBRklBVW9BZ0JCQW5JMkFnQUxJQUVvQWdBaERpQUxFRHdnQ0NnQ0FDRUJJQWhCQURZQ0FDQUJCRUFnQVNBSUtBSUVRZjhCY1VHc0Eyb1JBUUFMSUFBa0JpQU9DL3NUQWhGL0FYd2pCaUVVSXdaQkVHb2tCaUFVSVJBZ0FVRUNFRGtoRFNBQ1FRSVFPU0VQSUFRb0FnQWlCeUVDSUEwZ0QwRi9haUlSYkVFQmRDQUhhaUVGQTBBZ0N5QU5TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBTFFRRnFJUXNNQVFzTElBY2hBaUFOUVg5cUloSkJBWFFnQjJvaEJVRUFJUXNEUUNBTElBOUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU5RUUYwSUFKcUlRSWdEVUVCZENBRmFpRUZJQXRCQVdvaEN3d0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RXc2hFeUFBSUFGQkFYUkJBbXBxSVE1QkFTRU1RUUFoQlNBTlFRRnFJZ0FnQkNnQ0JHb2hDeUFBUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FNSUJGT0RRSWdCU0VBUVFFaENRTkFJQWtnRWtnRVFDQU9MUUFBSUFOS0JFQUNRQ0FMUVg4NkFBQWdFMEVCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQU1JQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFJQXRCQURvQUFBc2dEa0VDYWlFT0lBdEJBV29oQ3lBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBNXFRUVJxSVE0Z0RFRUJhaUVNSUFBaEJTQUxRUUpxSVFzZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklCQVFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lMUmdSQUlBQkJBV29oQVFVZ0FDRUJJQXRCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dEVFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0R6WUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRnFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBV296a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRlNBUUpBWWdGUXVlQlFFTGZ5TUdJUWNqQmtHQUFtb2tCaUFIUWRnQmFpRU9JQWNoRHlBSFFlZ0JhaUlKSUFkQjhBQnFJZ28yQWdBZ0NVR1JBVFlDQkNBSFFlQUJhaUlOSUFRUU95QU5RWURPQXhBNklRQWdCMEg2QVdvaURFRUFPZ0FBSUFjZ0FpZ0NBRFlDM0FFZ0JDZ0NCQ0VMSUFkQjhBRnFJZ1FnQnlnQzNBRTJBZ0FnQVNBRUlBTWdEU0FMSUFVZ0RDQUFJQWtnQjBIa0FXb2dDa0hrQUdvUXFBUUVRQ0FBUWZxY0EwR0VuUU1nQkNBQUtBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0J5Z0M1QUVpQ3lBSktBSUFJZ3BySWdCQjRnQktCRUFnQUVFQ2FoQkVJZ0FoQXlBQUJFQWdBQ0VJSUFNaEVBVVFBQXNGSUE4aENBc2dEQ3dBQUFSQUlBaEJMVG9BQUNBSVFRRnFJUWdMSUFSQkNtb2hBeUFFSVF3RFFDQUtJQXRKQkVBZ0Npd0FBQ0VMSUFRaEFBTkFBa0FnQUNBRFJnUkFJQU1oQUF3QkN5QUFMQUFBSUF0SEJFQWdBRUVCYWlFQURBSUxDd3NnQ0NBQUlBeHJRZnFjQTJvc0FBQTZBQUFnQ2tFQmFpRUtJQWhCQVdvaENDQUhLQUxrQVNFTERBRUxDeUFJUVFBNkFBQWdEaUFHTmdJQUlBOUJoWjBESUE0UWd3RkJBVWNFUUJBQUN5QVFCRUFnRUJBNEN3c2dBU2dDQUNJQUJIOGdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFVZ0FTZ0NBRVVMQlVFQkN5RURBa0FDUUFKQUlBSW9BZ0FpQUVVTkFDQUFLQUlNSWdRZ0FDZ0NFRVlFZnlBQUlBQW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdVRBUUVDZnlNR0lRWWpCa0dBQVdva0JpQUdRZlFBYWlJSElBWkI1QUJxTmdJQUlBQWdCaUFISUFNZ0JDQUZFS3dFSUFaQjZBQnFJZ05DQURjREFDQUdRZkFBYWlJRUlBWTJBZ0FnQWlnQ0FDQUJhMEVDZFNFRklBQW9BZ0FRWWlFQUlBRWdCQ0FGSUFNUS9nSWhBeUFBQkVBZ0FCQmlHZ3NnQTBGL1JnUkFFQUFGSUFJZ0EwRUNkQ0FCYWpZQ0FDQUdKQVlMQzdFQkFDTUdJUUlqQmtHZ0Eyb2tCaUFDUVpBRGFpSURJQUpCa0FOcU5nSUFJQUJCQ0dvZ0FpQURJQVFnQlNBR0VMUUtJQU1vQWdBaEJTQUNJUU1nQVNnQ0FDRUFBMEFnQXlBRlJ3UkFJQU1vQWdBaEFTQUFCSDlCQUNBQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBZ0FTQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFScU5nSVlJQVFnQVRZQ0FDQUJDMEYvRUVFYkJVRUFDeUVBSUFOQkJHb2hBd3dCQ3dzZ0FpUUdJQUFMdVFFQUl3WWhBaU1HUWZBQWFpUUdJQUpCNUFCcUlnTWdBa0hrQUdvMkFnQWdBRUVJYWlBQ0lBTWdCQ0FGSUFZUXJBUWdBeWdDQUNFRklBSWhBeUFCS0FJQUlRQURRQ0FESUFWSEJFQWdBeXdBQUNFQklBQUVmMEVBSUFBZ0FDZ0NHQ0lFSUFBb0FoeEdCSDhnQUNnQ0FDZ0NOQ0VFSUFBZ0FSQkNJQVJCUDNGQmlnRnFFUUlBQlNBQUlBUkJBV28yQWhnZ0JDQUJPZ0FBSUFFUVFndEJmeEJCR3dWQkFBc2hBQ0FEUVFGcUlRTU1BUXNMSUFJa0JpQUFDNDBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFBa0FnQVNnQ0FDSUVCRUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBRkJFQU1CQVVNQXdzQUN3c2dCVVVFUUVFQUlRUU1BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FBd0JDeUFESUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFFSC9BWEZCSlVjRVFDQUNJQUlvQWdCQkJISTJBZ0FNQVFzZ0FDZ0NBQ0lES0FJTUlnVWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRlFRUnFOZ0lNSUFVb0FnQWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQURRTUxEQUVMSUFCRkRRRUxJQUlnQWlnQ0FFRUNjallDQUFzTFVnRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbVFFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVHVWNXbzJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQVJDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFSFNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVQxSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTHF3SUJCSHhFQUFBQUFBQUE4RDhnQVNzREdDSURFT2NFSWdTaElRSWdBeERtQkNFRElBQWdCQ0FCS3dNQUlnVWdCYUlnQXFLZ09RTUFJQUFnQWlBQkt3TUFJQUVyQXdpaW9pQURJQUVyQXhDaW9Ua0RDQ0FBSUFJZ0FTc0RBQ0FCS3dNUW9xSWdBeUFCS3dNSW9xQTVBeEFnQUNBQkt3TWdPUU1ZSUFBZ0FpQUJLd01JSUFFckF3Q2lvaUFESUFFckF4Q2lvRGtESUNBQUlBUWdBaUFCS3dNSUlnVWdCYUtpb0RrREtDQUFJQUlnQVNzRENDQUJLd01Rb3FJZ0F5QUJLd01Bb3FFNUF6QWdBQ0FCS3dNb09RTTRJQUJCUUdzZ0FpQUJLd01RSUFFckF3Q2lvaUFESUFFckF3aWlvVGtEQUNBQUlBSWdBU3NERUNBQkt3TUlvcUlnQXlBQkt3TUFvcUE1QTBnZ0FDQUVJQUlnQVNzREVDSUNJQUtpb3FBNUExQWdBQ0FCS3dNd09RTllDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDVkFpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQy9ZREFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVGQWtBQ1FDQUJLQUlBSWdSRkRRQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFWRkRRTUxEQUVMSUFVRWYwRUFJUVFNQWdWQkFBc2hCQXNnQTBHQXdBQWdBQ2dDQUNJRktBSU1JZ1lnQlNnQ0VFWUVmeUFGSUFVb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDeUFES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkJHbzJBZ3dnQlNnQ0FCb0xEQUVMQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndXdBUUVDZkNBQUlBRXJBd0FpQXlBRG9pQUJLd01JSWdJZ0FxS2dJQUVyQXhBaUFpQUNvcUFpQWtRQUFBQUFBQUFBQUdFRWZDQUFSQUFBQUFBQUFQQS9PUU1BSUFCRUFBQUFBQUFBQUFBNUF3aEVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQVVnQUNBRElBS2ZJZ0tqT1FNQUlBQWdBU3NEQ0NBQ296a0RDQ0FCS3dNUUlBS2pDemtERUNBQUlBSTVBeGdnQUNBQkt3TVlPUU1nSUFBZ0FTc0RJRGtES0NBQUlBRXJBeWc1QXpBTDlBRUJBbjlCa01BRExBQUFSUVJBUVpEQUF4QndCRUJCc0xzRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQjJMd0RSdzBBQzBHUXdBTVFid3NMUWJDN0EwR1FtZ0VRVmtHOHV3TkJySm9CRUZaQnlMc0RRY2lhQVJCV1FkUzdBMEhvbWdFUVZrSGd1d05Ca0pzQkVGWkI3THNEUWJTYkFSQldRZmk3QTBIUW13RVFWa0dFdkFOQjlKc0JFRlpCa0x3RFFZU2NBUkJXUVp5OEEwR1VuQUVRVmtHb3ZBTkJwSndCRUZaQnRMd0RRYlNjQVJCV1FjQzhBMEhFbkFFUVZrSE12QU5CMUp3QkVGWUwyQUlCQW45QmdNQURMQUFBUlFSQVFZREFBeEJ3QkVCQmtMa0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJzTHNEUncwQUMwR0F3QU1RYndzTFFaQzVBMEdJbGdFUVZrR2N1UU5CcUpZQkVGWkJxTGtEUWN5V0FSQldRYlM1QTBIa2xnRVFWa0hBdVFOQi9KWUJFRlpCekxrRFFZeVhBUkJXUWRpNUEwR2dsd0VRVmtIa3VRTkJ0SmNCRUZaQjhMa0RRZENYQVJCV1FmeTVBMEg0bHdFUVZrR0l1Z05CbUpnQkVGWkJsTG9EUWJ5WUFSQldRYUM2QTBIZ21BRVFWa0dzdWdOQjhKZ0JFRlpCdUxvRFFZQ1pBUkJXUWNTNkEwR1FtUUVRVmtIUXVnTkIvSllCRUZaQjNMb0RRYUNaQVJCV1FlaTZBMEd3bVFFUVZrSDB1Z05Cd0prQkVGWkJnTHNEUWRDWkFSQldRWXk3QTBIZ21RRVFWa0dZdXdOQjhKa0JFRlpCcExzRFFZQ2FBUkJXQzN3QkFuOUI4TDhETEFBQVJRUkFRZkMvQXhCd0JFQkI4TGdESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCaUxrRFJ3MEFDMEh3dndNUWJ3c0xRZkM0QTBId2xRRVFWa0g4dUFOQi9KVUJFRllMUkFCQnlMOERMQUFBUlFSQVFjaS9BeEJ3QkVCQmpNOERRZ0EzQWdCQmxNOERRUUEyQWdCQmpNOERRYVNVQVVHa2xBRVF0QUVReXdGQnlMOERFRzhMQzBHTXp3TUxSQUJCMEw4RExBQUFSUVJBUWRDL0F4QndCRUJCbU04RFFnQTNBZ0JCb004RFFRQTJBZ0JCbU04RFFjaVVBVUhJbEFFUXRBRVF5d0ZCMEw4REVHOExDMEdZendNTFJBQkIyTDhETEFBQVJRUkFRZGkvQXhCd0JFQkJwTThEUWdBM0FnQkJyTThEUVFBMkFnQkJwTThEUWV5VUFVSHNsQUVRdEFFUXl3RkIyTDhERUc4TEMwR2t6d01MUkFCQjRMOERMQUFBUlFSQVFlQy9BeEJ3QkVCQnNNOERRZ0EzQWdCQnVNOERRUUEyQWdCQnNNOERRWnlWQVVHY2xRRVF0QUVReXdGQjRMOERFRzhMQzBHd3p3TUxNUUJCNkw4RExBQUFSUVJBUWVpL0F4QndCRUFReHdwQnZNOERRZkM0QXpZQ0FFSG92d01RYndzTFFielBBeWdDQUFzeEFFSDR2d01zQUFCRkJFQkIrTDhERUhBRVFCREdDa0hBendOQmtMa0ROZ0lBUWZpL0F4QnZDd3RCd004REtBSUFDekVBUVlqQUF5d0FBRVVFUUVHSXdBTVFjQVJBRU1VS1FjVFBBMEd3dXdNMkFnQkJpTUFERUc4TEMwSEV6d01vQWdBTGdnd0JCWDhqQmlFSEl3WkJrQUZxSkFZZ0IwSHdBR29oQ2lBSFFVQnJJUXNnQkVFQU5nSUFJQWRCZ0FGcUlnZ2dBeEE3SUFoQm9NNERFRG9oQ1NBSUVEd0Nmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWkJHSFJCR0hWQkpXc09WUllYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNBQVJjRUZ3VVhCZ2NYRnhjS0Z4Y1hGdzRQRUJjWEZ4TVZGeGNYRnhjWEZ3QUJBZ01ERnhjQkZ3Z1hGd2tMRnd3WERSY0xGeGNSRWhRWEN5QUhJQUlvQWdBMkFud2dDQ0FIS0FKOE5nSUFJQUFnQlVFWWFpQUJJQWdnQkNBSkVMRUVEQmNMSUFjZ0FpZ0NBRFlDZUNBSUlBY29BbmcyQWdBZ0FDQUZRUkJxSUFFZ0NDQUVJQWtRc0FRTUZnc2dBRUVJYWlJR0tBSUFLQUlNSVFrZ0JpQUpRZjhBY1VFSWFoRUFBQ0VHSUFjZ0FTZ0NBRFlDZENBSElBSW9BZ0EyQW13Z0JpZ0NBQ0FHSUFZc0FBc2lDVUVBU0NJTEd5RUNJQVlvQWdRZ0NVSC9BWEVnQ3h0QkFuUWdBbW9oQmlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQWlBR0VLTUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU1NS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRYUR3QUVIQThBQVFvd0UyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ3UEFBUWVEd0FCQ2pBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQ0Nnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSREJDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRBQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JDL0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSQytDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUXZRb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkM4Q2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSGc4QUJCalBFQUVLTUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFaRHhBRUdrOFFBUW93RTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1F1Z29NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnNQRUFRZER4QUJDakFUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkM1Q2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdsQkFFZ2lDeHNoQWlBR0tBSUVJQWxCL3dGeElBc2JRUUowSUFKcUlRWWdDaUFIS0FJUU5nSUFJQWdnQnlnQ0REWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRklBSWdCaENqQVRZQ0FBd0VDeUFISUFJb0FnQTJBZ2dnQ0NBSEtBSUlOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQ3ZCQXdEQ3lBSElBSW9BZ0EyQWdRZ0NDQUhLQUlFTmdJQUlBVkJGR29nQVNBSUlBUWdDUkM0Q2d3Q0N5QUhJQUlvQWdBMkFnQWdDQ0FIS0FJQU5nSUFJQUVnQ0NBRUlBa1F0d29NQVFzZ0JDQUVLQUlBUVFSeU5nSUFDeUFCS0FJQUN5RU1JQWNrQmlBTUMxa0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBRlFSUnFJQUVnQnlBRUlBTVFyd1FnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJFR29nQVNBSElBUWdBeEN3QkNBQktBSUFJUWdnQmlRR0lBZ0xXd0VEZnlNR0lRWWpCa0VRYWlRR0lBWkJCR29pQnlBREVEc2dCMEdnemdNUU9pRURJQWNRUENBR0lBSW9BZ0EyQWdBZ0J5QUdLQUlBTmdJQUlBQWdCVUVZYWlBQklBY2dCQ0FERUxFRUlBRW9BZ0FoQ0NBR0pBWWdDQXVuQVFFRWZ5TUdJUWNqQmtFUWFpUUdJQUJCQ0dvaUJpZ0NBQ2dDRkNFSUlBWWdDRUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWdRZ0J5QUNLQUlBTmdJQUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNCc2hBU0FHS0FJRUlBSkIvd0Z4SUFnYlFRSjBJQUZxSVFJZ0IwRUlhaUlHSUFjb0FnUTJBZ0FnQjBFTWFpSUlJQWNvQWdBMkFnQWdBQ0FHSUFnZ0F5QUVJQVVnQVNBQ0VLTUJJUWtnQnlRR0lBa0xZQUVDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQUNBQklBSWdBeUFFSUFWQjBQRUFRZkR4QUJDakFTRUhJQVlrQmlBSEM1MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlnUUVRQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUVEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQU1BUXNnQXlBQUtBSUFJZ1VvQWd3aUJpQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEIvd0Z4UVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZIQkVBZ0FpQUNLQUlBUVFSeU5nSUFEQUVMSUFBb0FnQWlBeWdDRENJRklBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBQTBEQ3d3QkN5QUFSUTBCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMUlCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKb0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkJsSEZxTmdJQUN5QUZKQVlMWVFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRRVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJCMGh4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRTlTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDV0FpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQzVRRUFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFJQUVvQWdBaUJFVU5BQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUZSUTBEQ3d3QkN5QUZCSDlCQUNFRURBSUZRUUFMSVFRTElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlGUWY4QmNVRVlkRUVZZFVGL1RBMEFJQU1vQWdnZ0JVRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQVdvMkFnd2dCU3dBQUJCQ0dnc01BUXNMSUFBb0FnQWlBd1IvSUFNb0Fnd2lCU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQUFKQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUw4UVFCQVg4Z0FFSUFOd01BSUFCQ0FEY0RDQ0FBUWdBM0F4QWdBRUlBTndNWUlBQkNBRGNESUNBQVFnQTNBeWdnQUVJQU53TXdJQUJDQURjRE9DQUFRVUJyUkFBQUFBQUFBUEMvT1FNQUlBQkNBRGNEU0NBQVFnQTNBMUFnQUVJQU53TllJQUJDQURjRFlDQUFSQUFBQUFBQUFQQS9PUU5vSUFCQ0FEY0RjQ0FBUWdBM0EzZ2dBRUlBTndPQUFTQUFRZ0EzQTRnQklBQkNBRGNEa0FFZ0FFSUFOd09ZQVNBQVJBQUFBQUFBQVBBL09RT2dBU0FBUWFnQmFpSUJRZ0EzQXdBZ0FVSUFOd01JSUFGQ0FEY0RFQ0FCUWdBM0F4Z2dBVUlBTndNZ0lBRkNBRGNES0NBQlFnQTNBekFnQVVJQU53TTRJQUZCUUd0Q0FEY0RBQ0FBUkFBQUFBQUFBUEMvT1FQd0FTQUFRZ0EzQS9nQklBQkNBRGNEZ0FJZ0FFSUFOd09JQWlBQVFnQTNBNUFDSUFCQ0FEY0RtQUlnQUVJQU53T2dBaUFBUkFBQUFBQUFBUEMvT1FPb0FpQUFRZ0EzQTdBQ0lBQkNBRGNEdUFJZ0FFSUFOd1BBQWlBQVFnQTNBOGdDSUFCRUFBQUFBQUFBOEQ4NUE5QUNJQUJCMkFKcUlnRkNBRGNEQUNBQlFnQTNBd2dnQVVJQU53TVFJQUZDQURjREdDQUJRZ0EzQXlBZ0FVSUFOd01vSUFGQ0FEY0RNQ0FCUWdBM0F6Z2dBVUZBYTBJQU53TUFJQUZDQURjRFNDQUJRZ0EzQTFBZ0FVSUFOd05ZSUFGQ0FEY0RZQ0FCUWdBM0EyZ2dBRVFBQUFBQUFBRHdQemtEeUFNZ0FFSUFOd1BRQXlBQVFnQTNBOWdESUFCQ0FEY0Q0QU1nQUVJQU53UG9BeUFBUWdBM0EvQURJQUJDQURjRCtBTWdBRVFBQUFBQUFBRHdQemtEZ0FRZ0FFSUFOd09JQkNBQVFnQTNBNUFFSUFCQ0FEY0RtQVFnQUVJQU53T2dCQ0FBUWdBM0E2Z0VJQUJDQURjRHNBUWdBRVFBQUFBQUFBRHdQemtEdUFRTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndjBBUUVDZjBIQXZ3TXNBQUJGQkVCQndMOERFSEFFUUVIQXR3TWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSG91QU5IRFFBTFFjQy9BeEJ2Q3d0QndMY0RRZkNYQXhCWFFjeTNBMEgzbHdNUVYwSFl0d05CL3BjREVGZEI1TGNEUVlhWUF4QlhRZkMzQTBHUW1BTVFWMEg4dHdOQm1aZ0RFRmRCaUxnRFFhQ1lBeEJYUVpTNEEwR3BtQU1RVjBHZ3VBTkJyWmdERUZkQnJMZ0RRYkdZQXhCWFFiaTRBMEcxbUFNUVYwSEV1QU5CdVpnREVGZEIwTGdEUWIyWUF4QlhRZHk0QTBIQm1BTVFWd3ZZQWdFQ2YwR3d2d01zQUFCRkJFQkJzTDhERUhBRVFFR2d0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhBdHdOSERRQUxRYkMvQXhCdkN3dEJvTFVEUWU2V0F4QlhRYXkxQTBIMmxnTVFWMEc0dFFOQi81WURFRmRCeExVRFFZV1hBeEJYUWRDMUEwR0xsd01RVjBIY3RRTkJqNWNERUZkQjZMVURRWlNYQXhCWFFmUzFBMEdabHdNUVYwR0F0Z05Cb0pjREVGZEJqTFlEUWFxWEF4QlhRWmkyQTBHeWx3TVFWMEdrdGdOQnU1Y0RFRmRCc0xZRFFjU1hBeEJYUWJ5MkEwSElsd01RVjBISXRnTkJ6SmNERUZkQjFMWURRZENYQXhCWFFlQzJBMEdMbHdNUVYwSHN0Z05CMUpjREVGZEIrTFlEUWRpWEF4QlhRWVMzQTBIY2x3TVFWMEdRdHdOQjRKY0RFRmRCbkxjRFFlU1hBeEJYUWFpM0EwSG9sd01RVjBHMHR3TkI3SmNERUZjTGZBRUNmMEdndndNc0FBQkZCRUJCb0w4REVIQUVRRUdBdFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVHWXRRTkhEUUFMUWFDL0F4QnZDd3RCZ0xVRFFlaVdBeEJYUVl5MUEwSHJsZ01RVnd0Q0FFSDR2Z01zQUFCRkJFQkIrTDRERUhBRVFFSEl6Z05DQURjQ0FFSFF6Z05CQURZQ0FFSEl6Z05CdFpZRFFiV1dBeEJnRUg1QitMNERFRzhMQzBISXpnTUxRZ0JCZ0w4RExBQUFSUVJBUVlDL0F4QndCRUJCMU00RFFnQTNBZ0JCM000RFFRQTJBZ0JCMU00RFFiNldBMEcrbGdNUVlCQitRWUMvQXhCdkN3dEIxTTREQzBJQVFZaS9BeXdBQUVVRVFFR0l2d01RY0FSQVFlRE9BMElBTndJQVFlak9BMEVBTmdJQVFlRE9BMEhIbGdOQng1WURFR0FRZmtHSXZ3TVFid3NMUWVET0F3dXBBZ0VHZkNBQkt3TVlJQUVyQXdBaUNDQUNLd01BSWdTaUlBRXJBd2dnQWlzRENDSUhvcUFnQVNzREVDQUNLd01RSWdPaW9LQWhCU0FCS3dNNElBUWdBU3NESUtJZ0J5QUJLd01vb3FBZ0F5QUJLd013b3FDZ0lRWWdBU3NEV0NBRUlBRkJRR3NpQWlzREFDSUVvaUFISUFFckEwaWlvQ0FESUFFckExQ2lvS0FpQTBRQUFBQUFBQUFBQUdFRWYwRi9CU0FBSUFnZ0E2SWdCU0FFb3FFZ0F5QURvaUlFb3prREFDQUFJQU1nQVNzRENLSWdCU0FCS3dOSW9xRWdCS001QXdnZ0FDQURJQUVyQXhDaUlBVWdBU3NEVUtLaElBU2pPUU1RSUFBZ0F5QUJLd01nb2lBR0lBSXJBd0Npb1NBRW96a0RHQ0FBSUFNZ0FTc0RLS0lnQmlBQkt3TklvcUVnQktNNUF5QWdBQ0FESUFFckF6Q2lJQVlnQVNzRFVLS2hJQVNqT1FNb1FRQUxDMElBUVpDL0F5d0FBRVVFUUVHUXZ3TVFjQVJBUWV6T0EwSUFOd0lBUWZUT0EwRUFOZ0lBUWV6T0EwSFRsZ05CMDVZREVHQVFma0dRdndNUWJ3c0xRZXpPQXdzeEFFR1l2d01zQUFCRkJFQkJtTDhERUhBRVFCRGtDa0g0emdOQmdMVUROZ0lBUVppL0F4QnZDd3RCK000REtBSUFDekVBUWFpL0F5d0FBRVVFUUVHb3Z3TVFjQVJBRU9NS1Fmek9BMEdndFFNMkFnQkJxTDhERUc4TEMwSDh6Z01vQWdBTE1RQkJ1TDhETEFBQVJRUkFRYmkvQXhCd0JFQVE0Z3BCZ004RFFjQzNBellDQUVHNHZ3TVFid3NMUVlEUEF5Z0NBQXY0Q3dFRmZ5TUdJUWNqQmtHUUFXb2tCaUFIUWZBQWFpRUtJQWRCUUdzaEN5QUVRUUEyQWdBZ0IwR0FBV29pQ0NBREVEc2dDRUdBemdNUU9pRUpJQWdRUEFKL0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQmtFWWRFRVlkVUVsYXc1VkZoY1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ3QUJGd1FYQlJjR0J4Y1hGd29YRnhjWERnOFFGeGNYRXhVWEZ4Y1hGeGNYQUFFQ0F3TVhGd0VYQ0JjWENRc1hEQmNORndzWEZ4RVNGQmNMSUFjZ0FpZ0NBRFlDZkNBSUlBY29BbncyQWdBZ0FDQUZRUmhxSUFFZ0NDQUVJQWtRdGdRTUZ3c2dCeUFDS0FJQU5nSjRJQWdnQnlnQ2VEWUNBQ0FBSUFWQkVHb2dBU0FJSUFRZ0NSQzFCQXdXQ3lBQVFRaHFJZ1lvQWdBb0Fnd2hDU0FHSUFsQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSjBJQWNnQWlnQ0FEWUNiQ0FHS0FJQUlBWWdCaXdBQ3lJQ1FRQklJZ2tiSWdzZ0JpZ0NCQ0FDUWY4QmNTQUpHMm9oQWlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQ3lBQ0VLUUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU9FS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRY1dZQTBITm1BTVFwQUUyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ6WmdEUWRXWUF4Q2tBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZkNnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGVDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRkQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JEY0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSRGJDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUTJnb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkRaQ2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSFZtQU5CNEpnREVLUUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFlQ1lBMEhsbUFNUXBBRTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1EyQW9NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQjVaZ0RRZTJZQXhDa0FUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkRYQ2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDUnNpQ3lBR0tBSUVJQUpCL3dGeElBa2JhaUVDSUFvZ0J5Z0NFRFlDQUNBSUlBY29BZ3cyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCU0FMSUFJUXBBRTJBZ0FNQkFzZ0J5QUNLQUlBTmdJSUlBZ2dCeWdDQ0RZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRdEFRTUF3c2dCeUFDS0FJQU5nSUVJQWdnQnlnQ0JEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUTFnb01BZ3NnQnlBQ0tBSUFOZ0lBSUFnZ0J5Z0NBRFlDQUNBQklBZ2dCQ0FKRU5VS0RBRUxJQVFnQkNnQ0FFRUVjallDQUFzZ0FTZ0NBQXNoRENBSEpBWWdEQXRaQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdCVUVVYWlBQklBY2dCQ0FERUxRRUlBRW9BZ0FoQ0NBR0pBWWdDQXRiQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdBQ0FGUVJCcUlBRWdCeUFFSUFNUXRRUWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQmdNNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkdHb2dBU0FISUFRZ0F4QzJCQ0FCS0FJQUlRZ2dCaVFHSUFnTG9nRUJCSDhqQmlFSEl3WkJFR29rQmlBQVFRaHFJZ1lvQWdBb0FoUWhDQ0FHSUFoQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSUVJQWNnQWlnQ0FEWUNBQ0FHS0FJQUlBWWdCaXdBQ3lJQlFRQklJZ0liSWdnZ0JpZ0NCQ0FCUWY4QmNTQUNHMm9oQVNBSFFRaHFJZ0lnQnlnQ0JEWUNBQ0FIUVF4cUlnWWdCeWdDQURZQ0FDQUFJQUlnQmlBRElBUWdCU0FJSUFFUXBBRWhDU0FISkFZZ0NRdGdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FBSUFFZ0FpQURJQVFnQlVIdG1BTkI5WmdERUtRQklRY2dCaVFHSUFjTDN3VUNBMzhHZkNNR0lRVWpCa0hnQm1va0JpQUJJQUlyQXhnZ0Fpc0RBQ0FES3dNQW9pQUNLd01JSUFNckF3Z2lDS0tnSUFJckF4QWdBeXNERUNJSm9xQ2dPUU1BSUFFZ0Fpc0RPQ0FDS3dNZ0lBTXJBd0FpQjZJZ0NDQUNLd01vb3FBZ0NTQUNLd013b3FDZ09RTUlJQUVnQWlzRFdDQUhJQUpCUUdzaUJDc0RBS0lnQWlzRFNDQURLd01JSWdpaW9DQUpJQUlyQTFDaW9LQTVBeEFnQlVIQUJHb2lBU0FISUFJckF3QWlDcUk1QXdBZ0FTQUlJQXFpT1FNSUlBRWdDaUFES3dNUUlnbWlPUU1RSUFFZ0J5QUNLd01JSWd1aU9RTVlJQUVnQ0NBTG9qa0RJQ0FCSUFrZ0M2STVBeWdnQVNBSElBSXJBeEFpREtJNUF6QWdBU0FJSUF5aU9RTTRJQUZCUUdzZ0NTQU1vamtEQUNBQklBbzVBMGdnQVNBTE9RTlFJQUVnRERrRFdDQUJJQWNnQWlzRElDSUtvamtEWUNBQklBZ2dDcUk1QTJnZ0FTQUpJQXFpT1FOd0lBRWdCeUFDS3dNb0lndWlPUU40SUFFZ0NDQUxvamtEZ0FFZ0FTQUpJQXVpT1FPSUFTQUJJQWNnQWlzRE1DSU1vamtEa0FFZ0FTQUlJQXlpT1FPWUFTQUJJQWtnREtJNUE2QUJJQUVnQ2prRHFBRWdBU0FMT1FPd0FTQUJJQXc1QTdnQklBRWdCeUFFS3dNQUlncWlPUVBBQVNBQklBZ2dDcUk1QThnQklBRWdDU0FLb2prRDBBRWdBU0FISUFJckEwZ2lDNkk1QTlnQklBRWdDQ0FMb2prRDRBRWdBU0FKSUF1aU9RUG9BU0FCSUFjZ0Fpc0RVQ0lIb2prRDhBRWdBU0FJSUFlaU9RUDRBU0FCSUFrZ0I2STVBNEFDSUFFZ0Nqa0RpQUlnQVNBTE9RT1FBaUFCSUFjNUE1Z0NJQVVRNEFwQkFDRUNBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCa2NFUUNBQ1FUQnNJQUJxSUFOQkEzUnFJZ1pFQUFBQUFBQUFBQUE1QXdCQkFDRUVSQUFBQUFBQUFBQUFJUWNEUUNBRVFReEhCRUFnQmlBSElBSkI0QUJzSUFGcUlBUkJBM1JxS3dNQUlBUkJNR3dnQldvZ0EwRURkR29yQXdDaW9DSUhPUU1BSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQVVrQmd2Y0FRRUhmeU1HSVFBakJrSFFBV29rQmlBQVFjQUJhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVHNEFXb2lCaUFFTmdJQUlBQkJvQUZxSWdSQkZDQUhJQVVnQmhCM0lna2dCR29oQlNBRUlBVWdBaENKQVNFSElBWWdBaEE3SUFaQm9NNERFRG9oQ0NBR0VEd2dDQ2dDQUNnQ01DRUtJQWdnQkNBRklBQWdDa0VQY1VHS0Ftb1JDUUFhSUFBZ0FTZ0NBRFlDdkFFZ0JpQUFLQUs4QVRZQ0FDQUdJQUFnQ1VFQ2RDQUFhaUlCSUFjZ0JHdEJBblFnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFwUUVoQ3lBQUpBWWdDd3UxQXdFUGZ5TUdJUVVqQmtIZ0Ftb2tCaUFGUWFnQ2FpRU5JQVZCbUFKcUlRQWdCVUdRQW1vaUJrSWxOd01BSUFaQkFXcEIyNVFESUFJb0FnUVFsQUloRGlBRlFkUUNhaUlISUFWQjhBRnFJZ28yQWdBUVhDRVBJQVZCd0FKcUlSQWdCVUd3QW1vaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREVFQklSSUZJQWhCQTNRUVJDSUFCRUFnQUNJTUlSTUZFQUFMQ3lBRlFkZ0NhaUlBSUFJUU95QUpJQWNnQmlBTUlBVkIwQUpxSUFWQnpBSnFJQUFRdUFRZ0FCQThJQVVnQVNnQ0FEWUN5QUlnQlNnQzBBSWhDQ0FGS0FMTUFpRUdJQUFnQlNnQ3lBSTJBZ0FnQVNBQUlBd2dDQ0FHSUFJZ0F4Q2xBU0lBTmdJQUlCSkZCRUFnRXhBNEN5QVJFRGdnQlNRR0lBQUx0UU1CRDM4akJpRUZJd1pCNEFKcUpBWWdCVUdvQW1vaERTQUZRWmdDYWlFQUlBVkJrQUpxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVIVUFtb2lCeUFGUWZBQmFpSUtOZ0lBRUZ3aER5QUZRY0FDYWlFUUlBVkJzQUpxSVFzZ0RnUi9JQUFnQWlnQ0NEWUNBQ0FBSUFRNUF3Z2dDa0VlSUE4Z0JpQUFFSGNGSUEwZ0JEa0RBQ0FLUVI0Z0R5QUdJQTBRZHdzaUFFRWRTZ1JBRUZ3aEFDQU9CSDhnQ3lBQ0tBSUlOZ0lBSUFzZ0JEa0RDQ0FISUFBZ0JpQUxFSnNCQlNBUUlBUTVBd0FnQnlBQUlBWWdFQkNiQVFzaEFDQUhLQUlBSWdZRVFDQUFJUWdnQmlJUklRa0ZFQUFMQlNBQUlRZ2dCeWdDQUNFSkN5QUZJUUFnQ1NBSUlBbHFJZ1lnQWhDSkFTRUhJQWtnQ2tZRVFDQUFJUXhCQVNFU0JTQUlRUU4wRUVRaUFBUkFJQUFpRENFVEJSQUFDd3NnQlVIWUFtb2lBQ0FDRURzZ0NTQUhJQVlnRENBRlFkQUNhaUFGUWN3Q2FpQUFFTGdFSUFBUVBDQUZJQUVvQWdBMkFzZ0NJQVVvQXRBQ0lRZ2dCU2dDekFJaEJpQUFJQVVvQXNnQ05nSUFJQUVnQUNBTUlBZ2dCaUFDSUFNUXBRRWlBRFlDQUNBU1JRUkFJQk1RT0FzZ0VSQTRJQVVrQmlBQUMvWUJBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeFFSWnlJZ2hCQVdvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBM1JCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJESEloQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJWeVFRSjBRUTlxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDL2tCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRjJvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBWFJCTEhKQkFuUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRXb2hCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUmh5UVFKMFFRdHFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkM5Z0NBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUVGSUFJb0FnUkJBWEVFUUNBRklBSVFPeUFGUWFqT0F4QTZJUUFnQlJBOElBQW9BZ0FoQWlBRklBQWdCQVIvSUFJb0FoZ0ZJQUlvQWh3TFFUOXhRYklGYWhFREFDQUZLQUlBSWdJZ0JTQUZMQUFMSWdCQkFFZ2JJUU1EUUNBRktBSUVJQUJCL3dGeElBQkJHSFJCR0hWQkFFZ2lBQnRCQW5RZ0FpQUZJQUFiYWlBRFJ3UkFJQU1vQWdBaEFpQUJLQUlBSWdBRVFDQUFLQUlZSWdRZ0FDZ0NIRVlFZnlBQUlBSWdBQ2dDQUNnQ05FRS9jVUdLQVdvUkFnQUZJQUFnQkVFRWFqWUNHQ0FFSUFJMkFnQWdBZ3RCZnhCQkJFQWdBVUVBTmdJQUN3c2dBMEVFYWlFRElBVXNBQXNoQUNBRktBSUFJUUlNQVFzTElBRW9BZ0FoQUNBRkVFY0ZJQUFvQWdBb0FoZ2hCeUFHSUFFb0FnQTJBZ0FnQlNBR0tBSUFOZ0lBSUFBZ0JTQUNJQU1nQkVFQmNTQUhRUjl4UWFJQ2FoRUlBQ0VBQ3lBR0pBWWdBQXZUQVFFSGZ5TUdJUUFqQmtIZ0FHb2tCaUFBUWRBQWFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUhJQUdvaUJpQUVOZ0lBSUFCQk1Hb2lCRUVVSUFjZ0JTQUdFSGNpQ1NBRWFpRUZJQVFnQlNBQ0VJa0JJUWNnQmlBQ0VEc2dCa0dBemdNUU9pRUlJQVlRUENBSUtBSUFLQUlnSVFvZ0NDQUVJQVVnQUNBS1FROXhRWW9DYWhFSkFCb2dBQ0FCS0FJQU5nSk1JQVlnQUNnQ1REWUNBQ0FHSUFBZ0FDQUphaUlCSUFjZ0JHc2dBR29nQlNBSFJoc2dBU0FDSUFNUWx3RWhDeUFBSkFZZ0N3ditFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFRb0FnQWlCaUVISUFFZ0FrRi9haUlRYkVFQmRDQUdhaUVGQTBBZ0NTQUJTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdCMEVDYWlFSElBbEJBV29oQ1NBRlFRSnFJUVVNQVFzTElBWWhCMEVBSVFrZ0FVRi9haUlSUVFGMElBWnFJUVVEUUNBSklBSklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUJRUUYwSUFkcUlRY2dDVUVCYWlFSklBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVIUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUTVCQVNFTVFRQWhBeUFBSUFRb0FnUnFJUWtnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnRENBUVRnMENJQU1oQUVFQklRb0RRQ0FLSUJGSUJFQWdEUzBBQUNBT0xRQUFTZ1JBSUFaQkFEc0JBQ0FKUVFBNkFBQUZBa0FnQ1VGL09nQUFJQkpCQVhRZ0Jtb2lBeTRCQUNJRlFRQktCRUFnQmlBRk93RUFJQVZCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQU5CZm1vdUFRQWlCU0VJSUFWQkFFb2hDeUFETGdFQ0lnTkJBRXdFUUNBTEJFQWdCaUFGT3dFQUlBaEJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwSUJFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQmtGK2FpNEJBQ0lEUVFCS0JFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSURLQUlBSUFwT0RRSWdBeUFLTmdJQUJTQUFRZi8vQVVvTkJpQUdJQUJCQVdvaUF6c0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBTkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQXlFQUN3d0JDeUFMQkVBQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JrRithaTRCQUNJRlFRQk1CRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBcEtCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnTWdEQ0FES0FJQWFqWUNBQXNMSUExQkFXb2hEU0FPUVFGcUlRNGdDVUVCYWlFSklBcEJBV29oQ2lBR1FRSnFJUVlNQVFzTElBMUJBbW9oRFNBT1FRSnFJUTRnREVFQmFpRU1JQUFoQXlBSlFRSnFJUWtnQmtFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCVUVCSVFCQkFTRUpJQWNoQmdOQUlBa2dBMHdFUUNBSklBWW9BZ0FpRFVZRVFDQUFRUUZxSVFjRklBQWhCeUFOUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FISVFBZ0NVRUJhaUVKSUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFWQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUhBMEFnQnlBQVNBUkFJQVJCaklBSWFpQUhRUUowSWdaQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFaQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBWkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQVpCQTNKQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnY2dCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFjb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnZEJBM1JxSWdZZ0Jpc0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFkQkFYSkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnWklCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRZHVVQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1McFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1MOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEZCRm5JaUNFRUJhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTWNpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJGWEpCRDJwQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFWGFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFc2NrRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTmFpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJHSEpCRG1wQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMM1FJQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlRVWdBaWdDQkVFQmNRUkFJQVVnQWhBN0lBVkJrTTRERURvaEFDQUZFRHdnQUNnQ0FDRUNJQVVnQUNBRUJIOGdBaWdDR0FVZ0FpZ0NIQXRCUDNGQnNnVnFFUU1BSUFVb0FnQWlBaUFGSUFVc0FBc2lBRUVBU0JzaEF3TkFJQUlnQlNBQVFSaDBRUmgxUVFCSUlnSWJJQVVvQWdRZ0FFSC9BWEVnQWh0cUlBTkhCRUFnQXl3QUFDRUNJQUVvQWdBaUFBUkFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQW9BZ0FvQWpRaEJDQUFJQUlRUWlBRVFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFGcU5nSVlJQVFnQWpvQUFDQUNFRUlMUVg4UVFRUkFJQUZCQURZQ0FBc0xJQU5CQVdvaEF5QUZMQUFMSVFBZ0JTZ0NBQ0VDREFFTEN5QUJLQUlBSVFBZ0JSQkhCU0FBS0FJQUtBSVlJUWNnQmlBQktBSUFOZ0lBSUFVZ0JpZ0NBRFlDQUNBQUlBVWdBaUFESUFSQkFYRWdCMEVmY1VHaUFtb1JDQUFoQUFzZ0JpUUdJQUFMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVMMEVOZ0lBSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDK0JEY0RBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndStDQUlRZndSOEl3WWhDU01HUVJCcUpBWWdDVUVJYWlFSUlBQW9BZ2dpQXlBQUtBSUVSZ1JBSUFFb0FnUWdBMFlFUUNBQ0tBSUVRUUZxSUFOR0JFQUNRQ0FEUVg1cUlRd0RRQ0FISUF4SUJFQWdBU2dDQUNBSFFRTjBhaUFBS0FJQUlBTWdCMnhCQTNScUlnc2dCMEVEZEdvckF3QTVBd0FnQ0NBRElBZHJRWDlxSWc0MkFnUWdDQ0FIUVFGcUlnWkJBM1FnQzJvaUR6WUNBQ0FJRUpZTElSTWdBaWdDQUNBSFFRTjBhaUFUT1FNQUlCTkVBQUFBQUFBQUFBQmlCRUFDUUNBR0lRVURRQ0FGSUFOSUJFQWdCaUVFUkFBQUFBQUFBQUFBSVJNRFFDQUVJQVZKQkVBZ0V5QUFLQUlBSUFVZ0F5QUViR3BCQTNScUt3TUFJQVJCQTNRZ0Myb3JBd0Npb0NFVElBUkJBV29oQkF3QkN3c2dBeUFGYkNFUUlBVWhCQU5BSUFRZ0EwZ0VRQ0FUSUFBb0FnQWdCQ0FRYWtFRGRHb3JBd0FnQkVFRGRDQUxhaXNEQUtLZ0lSTWdCRUVCYWlFRURBRUxDeUFCS0FJQUlBVkJBM1JxSUJNNUF3QWdCVUVCYWlFRkRBRUxDeUFKSUE0MkFnUWdDQ0FPTmdJRUlBZ2dEellDQUNBSklBRW9BZ0FnQmtFRGRHbzJBZ0FnQ0NBSkVPWUNSQUFBQUFBQUFPQS9vaUVWSUFNaEJRTkFJQVZCZjJvaUJTQUhUQTBCSUFFb0FnQWlEaUFGUVFOMGFpSUVLd01BSUJVZ0JVRURkQ0FMYWlzREFDSVdvcUVoRXlBRUlCTTVBd0FnQXlBRmJDRVBJQVVoQkFOQUlBUWdBMGdFUUNBQUtBSUFJQVFnRDJwQkEzUnFJaEFnRUNzREFDQVdJQVJCQTNRZ0Rtb3JBd0NpSUJNZ0JFRURkQ0FMYWlzREFLS2dvVGtEQUNBRVFRRnFJUVFNQVFzTERBQUFDd0FMQ3lBR0lRY01BUXNMQWtBQ1FDQURRUUZLQkg4Z0FTZ0NBQ0lOSUF4QkEzUnFJQUFvQWdBaUFTQU1JQU1nREd3aUJtcEJBM1JxS3dNQU9RTUFJQUlvQWdBZ0RFRURkR29nQmlBRFFYOXFJZ0pxUVFOMElBRnFLd01BT1FNQUlBRWhCaUFOSVFFTUFRVWdBMEVCUmdSL1FRQWhBaUFBS0FJQUlRWWdBU2dDQUNFQkRBSUZJQU1MQ3lFS0RBRUxJQU1oRFNBQ0lBSWdBMnhxUVFOMElBWnFLd01BSVJRZ0FrRURkQ0FCYWlFUlFSd2hFZ3NEUUNBU1FSeEdCRUFnRVNBVU9RTUFJQTBoQ2dzZ0NrRUFUQVJBUVFBaEFBd0NDeUFBS0FJQUlBcEJmMm9pRFNBRGJFRURkR29oQmlBS0lBeE1CRUFDUUNBRElBMXJRWDlxSVFVZ0NrRURkQ0FHYWlFSElBb2hBZ05BSUFJZ0EwNE5BU0FKSUFVMkFnUWdDQ0FGTmdJRUlBZ2dCellDQUNBSklBQW9BZ0FnQ2lBQ0lBTnNJZ1JxUVFOMGFqWUNBQ0FJSUFrUTVnSWhFeUFLSVFFRFFDQUJJQU5JQkVBZ0FDZ0NBQ0FCSUFScVFRTjBhaUlMSUFzckF3QWdFeUFCUVFOMElBWnFLd01Bb3FFNUF3QWdBVUVCYWlFQkRBRUxDeUFDUVFGcUlRSU1BQUFMQUFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FCUVFOMElBWnFSQUFBQUFBQUFBQUFPUU1BSUFGQkFXb2hBUXdCQ3d0RUFBQUFBQUFBOEQ4aEZDQU5RUU4wSUFacUlSRkJIQ0VTREFBQUN3QUxCVUYvSVFBTEJVRi9JUUFMQlVGL0lRQUxJQWtrQmlBQUM1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMvQkRzQkFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1U0J3RU9meU1HSVFnakJrR3dBbW9rQmlBQ0VKd0JJUThnQWlBSVFhQUJhaERzQVNFUUlBaEJvQUpxSWdvZ0FpQUlRYXdDYWhEckFTQUlRWlFDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFoQmtBSnFJZ3NnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0NFR01BbW9pRENBSU5nSUFJQWhCaUFKcUlnMUJBRFlDQUNBQUtBSUFJZ0loRGdOQUFrQWdBZ1IvSUFJb0Fnd2lCaUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloRWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FSS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0IwVU5Bd3NNQVFzZ0J3Ui9RUUFoQmd3Q0JVRUFDeUVHQ3lBTEtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdkQi93RnhJQWRCQUVnYklnZHFSZ1JBSUFVZ0IwRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXNnQnlBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTElBOGdDU0FMSUEwZ0NDZ0NyQUlnQ2lBSUlBd2dFQkRPQVEwQUlBSW9BZ3dpQmlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQVpCQkdvMkFnd2dCaWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0JrVU5BQ0FHS0FJTUlnUWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFU0lBVVFSeUFLRUVjZ0NDUUdJQklMU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUJBN0lBSkJvTTRERURvaUFDZ0NBQ2dDTUNFRElBQkI4TzhBUVlyd0FDQUJJQU5CRDNGQmlnSnFFUWtBR2lBQ0VEd2dBaVFHSUFFTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTUVFTndNQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzdZSEFROS9Jd1loQmlNR1FkQUNhaVFHSUFaQnVBSnFJZ29nQWlBR1FhQUJhaUlRSUFaQnlBSnFJQVpCeEFKcUVPVUNJQVpCckFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrR29BbW9pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRYVFDYWlJTklBWTJBZ0FnQmtHZ0Ftb2lEa0VBTmdJQUlBWkJ6UUpxSWd0QkFUb0FBQ0FHUWN3Q2FpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBc2dDeUFSSUFrZ0RDQUdLQUxJQWlBR0tBTEVBaUFLSUFZZ0RTQU9JQkFRNUFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3UyQndFUGZ5TUdJUVlqQmtIUUFtb2tCaUFHUWJnQ2FpSUtJQUlnQmtHZ0FXb2lFQ0FHUWNnQ2FpQUdRY1FDYWhEbEFpQUdRYXdDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnFBSnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrR2tBbW9pRFNBR05nSUFJQVpCb0FKcUlnNUJBRFlDQUNBR1FjMENhaUlMUVFFNkFBQWdCa0hNQW1vaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdvQWdBTElBc2dFU0FKSUF3Z0JpZ0N5QUlnQmlnQ3hBSWdDaUFHSUEwZ0RpQVFFT1FDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVFYWpZQ0RDQUhLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXd3UTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx0Z2NCRDM4akJpRUdJd1pCMEFKcUpBWWdCa0c0QW1vaUNpQUNJQVpCb0FGcUloQWdCa0hJQW1vZ0JrSEVBbW9RNVFJZ0JrR3NBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWFnQ2FpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnBBSnFJZzBnQmpZQ0FDQUdRYUFDYWlJT1FRQTJBZ0FnQmtITkFtb2lDMEVCT2dBQUlBWkJ6QUpxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQ3lBTElCRWdDU0FNSUFZb0FzZ0NJQVlvQXNRQ0lBb2dCaUFOSUE0Z0VCRGtBZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJCR28yQWd3Z0J5Z0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1RRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEM4Y0hBUTUvSXdZaENDTUdRYkFDYWlRR0lBaEJvQUZxSVEwZ0NFR1lBbW9oQmlBSVFhUUNhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FhRE9BeEE2SWdBb0FnQW9BakFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQmlBSnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdVQW1vaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUVpBQ2FpSVBJQWcyQWdBZ0NFR01BbW9pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoREVFQUlRTkJBUVZCQUFzRlFRQWhERUVBSVFOQkFRc2hDUUpBQWtBZ0FpZ0NBQ0lIUlEwQUlBY29BZ3dpRVNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FKUlEwREN3d0JDeUFKQkg5QkFDRUhEQUlGUVFBTElRY0xJQW9vQWdBZ0FDQUdLQUlFSUFZc0FBc2lDVUgvQVhFZ0NVRUFTQnNpQ1dwR0JFQWdCaUFKUVFGMEVFb2dCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NpQUpJQVlvQWdBZ0JpQUdMQUFMUVFCSUd5SUFhallDQUFzZ0F5Z0NEQ0lKSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXRCRUNBQUlBb2dFRUVBSUFzZ0NDQVBJQTBRemdFTkFDQURLQUlNSWdjZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRRUZRUUFMQlVFQkN5RUFBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSURJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBRUlBUW9BZ0JCQW5JMkFnQUxJQUVvQWdBaEV5QUdFRWNnQ3hCSElBZ2tCaUFUQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ09DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTkN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNNQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0xDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDSUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNHQ3lFSElBWWtCaUFIQzVBQkFnTi9BbndnQUNBQUVPWUNueUlFUkFBQUFBQUFBQUFBWWdSQUlBU2FJQVFnQUNnQ0FDSUJLd01BSWdWRUFBQUFBQUFBQUFCakd5RUVJQUVnQlNBRW9DSUZPUU1BUkFBQUFBQUFBUEEvSUFRZ0JhS2ZveUVGSUFBb0FnUWhBa0VBSVFBRFFDQUFJQUpJQkVBZ0FFRURkQ0FCYWlJRElBVWdBeXNEQUtJNUF3QWdBRUVCYWlFQURBRUxDd3NnQkpvTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSVVMSVFjZ0JpUUdJQWNMN1FJQkJIOGpCaUVHSXdaQk1Hb2tCaUFHUVNocUlRY2dCa0VnYWlFSUlBTW9BZ1JCQVhFRVFDQUhJQU1RT3lBSFFhRE9BeEE2SVFrZ0J4QThJQWNnQXhBN0lBZEJxTTRERURvaEF5QUhFRHdnQXlnQ0FDZ0NHQ0VBSUFZZ0F5QUFRVDl4UWJJRmFoRURBQ0FES0FJQUtBSWNJUUFnQmtFTWFpQURJQUJCUDNGQnNnVnFFUU1BSUFZZ0FpZ0NBRFlDR0NBSElBWW9BaGcyQWdBZ0JTQUJJQWNnQmlBR1FSaHFJZ0FnQ1NBRVFRRVFsUUlnQmtZNkFBQWdBU2dDQUNFQkEwQWdBRUYwYWlJQUVFY2dBQ0FHUncwQUN3VWdDRUYvTmdJQUlBQW9BZ0FvQWhBaENTQUdJQUVvQWdBMkFpUWdCaUFDS0FJQU5nSWNJQVlnQmlnQ0pEWUNBQ0FISUFZb0FodzJBZ0FnQVNBQUlBWWdCeUFESUFRZ0NDQUpRVDl4UWNZQ2FoRUtBRFlDQUFKQUFrQUNRQUpBSUFnb0FnQU9BZ0FCQWdzZ0JVRUFPZ0FBREFJTElBVkJBVG9BQUF3QkN5QUZRUUU2QUFBZ0JFRUVOZ0lBQ3lBQktBSUFJUUVMSUFZa0JpQUJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZRUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2Z1EzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdndRN0FRQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3UVEzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM4WUhBUTkvSXdZaEJpTUdRZkFCYWlRR0lBWkIyQUZxSWdvZ0FpQUdRYUFCYWlJUUlBWkI1d0ZxSUFaQjVnRnFFT2tDSUFaQnpBRnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0hJQVdvaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWNRQmFpSU5JQVkyQWdBZ0JrSEFBV29pRGtFQU5nSUFJQVpCNVFGcUlndEJBVG9BQUNBR1FlUUJhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEIvd0Z4SUFzZ0VTQUpJQXdnQml3QTV3RWdCaXdBNWdFZ0NpQUdJQTBnRGlBUUVPZ0NEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MeGdjQkQzOGpCaUVHSXdaQjhBRnFKQVlnQmtIWUFXb2lDaUFDSUFaQm9BRnFJaEFnQmtIbkFXb2dCa0htQVdvUTZRSWdCa0hNQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FjZ0JhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJ4QUZxSWcwZ0JqWUNBQ0FHUWNBQmFpSU9RUUEyQWdBZ0JrSGxBV29pQzBFQk9nQUFJQVpCNUFGcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWdDeUFSSUFrZ0RDQUdMQURuQVNBR0xBRG1BU0FLSUFZZ0RTQU9JQkFRNkFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFGcU5nSU1JQWNzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTU1FT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dkdCd0VQZnlNR0lRWWpCa0h3QVdva0JpQUdRZGdCYWlJS0lBSWdCa0dnQVdvaUVDQUdRZWNCYWlBR1FlWUJhaERwQWlBR1Fjd0JhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCeUFGcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtIRUFXb2lEU0FHTmdJQUlBWkJ3QUZxSWc1QkFEWUNBQ0FHUWVVQmFpSUxRUUU2QUFBZ0JrSGtBV29pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRZjhCY1NBTElCRWdDU0FNSUFZc0FPY0JJQVlzQU9ZQklBb2dCaUFOSUE0Z0VCRG9BZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJBV28yQWd3Z0J5d0FBQkJDR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXhBUTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzBFQkFuOGdBQ2dDQkNFQklBQW9BZ0FnQUNnQ0NDSUNRUUYxYWlFQUlBSkJBWEVFUUNBQklBQW9BZ0JxS0FJQUlRRUxJQUFnQVVIL0FYRkJyQU5xRVFFQUN3MEFJQUFvQWdBb0FnQVFvUXNMSndFQmZ5QUJLQUlBSVFNZ0FTZ0NCQ0VCSUFBZ0FqWUNBQ0FBSUFNMkFnUWdBQ0FCTmdJSUN5RUJBWDlCak00RFFZek9BeWdDQUNJQlFRRnFOZ0lBSUFBZ0FVRUJhallDQkF0dEFRUi9Jd1loQVNNR1FUQnFKQVlnQVVFWWFpRURJQUZCandFMkFoQWdBVUVBTmdJVUlBRkJJR29pQWlBQktRSVFOd0lBSUFFZ0FpQUFFS01MSUFBb0FnQkJmMGNFUUNBQ0lBRTJBZ0FnQXlBQ05nSUFJQUFnQXhEcENRc2dBQ2dDQkVGL2FpRUVJQUVrQmlBRUM5Y0hBUTUvSXdZaENDTUdRZkFCYWlRR0lBaEJvQUZxSVEwZ0NFSFFBV29oQmlBSVFkd0JhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FZRE9BeEE2SWdBb0FnQW9BaUFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQndBRnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUhNQVdvaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUWNnQmFpSVBJQWcyQWdBZ0NFSEVBV29pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFTVFRQWhBMEVCQlVFQUN3VkJBQ0VNUVFBaEEwRUJDeUVKQWtBQ1FDQUNLQUlBSWdkRkRRQWdCeWdDRENJUklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU3dBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NVVU5Bd3NNQVFzZ0NRUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBS0tBSUFJQUFnQmlnQ0JDQUdMQUFMSWdsQi93RnhJQWxCQUVnYklnbHFSZ1JBSUFZZ0NVRUJkQkJLSUFZZ0Jpd0FDMEVBU0FSL0lBWW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQW9nQ1NBR0tBSUFJQVlnQml3QUMwRUFTQnNpQUdvMkFnQUxJQU1vQWd3aUNTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4UVJBZ0FDQUtJQkJCQUNBTElBZ2dEeUFORU5BQkRRQWdBeWdDRENJSElBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFBQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdNZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQURMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QUJLQUlBSVJNZ0JoQkhJQXNRUnlBSUpBWWdFd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW9Bc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbndzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Rc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbXdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1Rc2hCeUFHSkFZZ0J3dnRBZ0VFZnlNR0lRWWpCa0V3YWlRR0lBWkJLR29oQnlBR1FTQnFJUWdnQXlnQ0JFRUJjUVJBSUFjZ0F4QTdJQWRCZ000REVEb2hDU0FIRUR3Z0J5QURFRHNnQjBHUXpnTVFPaUVESUFjUVBDQURLQUlBS0FJWUlRQWdCaUFESUFCQlAzRkJzZ1ZxRVFNQUlBTW9BZ0FvQWh3aEFDQUdRUXhxSUFNZ0FFRS9jVUd5QldvUkF3QWdCaUFDS0FJQU5nSVlJQWNnQmlnQ0dEWUNBQ0FGSUFFZ0J5QUdJQVpCR0dvaUFDQUpJQVJCQVJDV0FpQUdSam9BQUNBQktBSUFJUUVEUUNBQVFYUnFJZ0FRUnlBQUlBWkhEUUFMQlNBSVFYODJBZ0FnQUNnQ0FDZ0NFQ0VKSUFZZ0FTZ0NBRFlDSkNBR0lBSW9BZ0EyQWh3Z0JpQUdLQUlrTmdJQUlBY2dCaWdDSERZQ0FDQUJJQUFnQmlBSElBTWdCQ0FJSUFsQlAzRkJ4Z0pxRVFvQU5nSUFBa0FDUUFKQUFrQWdDQ2dDQUE0Q0FBRUNDeUFGUVFBNkFBQU1BZ3NnQlVFQk9nQUFEQUVMSUFWQkFUb0FBQ0FFUVFRMkFnQUxJQUVvQWdBaEFRc2dCaVFHSUFFTFFRRUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTZ0NBQ0FBUVFSMGFpSURRWUNBZ0lCL2NTRUFJQU1nQUNBQVFSaDJjbk1oQUNBQlFRUnFJUUVNQVFzTElBQUxHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhESEJBdFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFb0FnQWlBQ0FES0FJQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRUnFJUU1nQVVFRWFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTFB3RUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTd0FBQ0FBUVFSMGFpSUFRWUNBZ0lCL2NTSURJQU5CR0haeUlBQnpJUUFnQVVFQmFpRUJEQUVMQ3lBQUN6MEJBWDhnQUFSL0lBQW9BZ0FpQVFSL0lBRW9BcmdCRURnZ0FDZ0NBQ2dDdkFFUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeEQrQXd0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVzQUFBaUFDQURMQUFBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFGcUlRTWdBVUVCYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMSWdFQmZ5QUFCRUFnQUNnQ0FDZ0NCQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3UxQWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUVJxSVFNZ0JVRUlhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBRUVJNkFBQWdBQ2dDSkNJSEtBSUFLQUlNSVFnQ2Z3SkFBa0FDUUNBSElBQW9BaWdnQkNBRVFRRnFJQVVnQWlBQ1FRaHFJQU1nQ0VFUGNVR09BMm9SRGdCQkFXc09Bd0lDQUFFTElBSWdCaWdDQURvQUFDQURJQUpCQVdvMkFnQUxBMEFnQXlnQ0FDSUVJQUpOQkVCQkFTRURRUUFNQXdzZ0F5QUVRWDlxSWdRMkFnQWdCQ3dBQUNBQUtBSWdFTzhCUVg5SERRQUxDMEVBSVFOQmZ3c2hBaUFEQkg4Z0JnVWdBaUVCREFJTEJTQUFRVEJxQ3lBQk5nSUFJQUJCQVRvQU5Bc0xJQVVrQmlBQkN3a0FJQUJCQVJESUJBc0pBQ0FBUVFBUXlBUUxYZ0VCZnlBQUlBRkJzTkFERURvaUFUWUNKQ0FBSUFFZ0FTZ0NBQ2dDR0VIL0FIRkJDR29SQUFBMkFpd2dBQ2dDSkNJQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQTFJQUFvQWl4QkNFb0VRQkFBQ3d1ekFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFocUlRTWdCVUVFYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQU5nSUFJQUFvQWlRaUJ5Z0NBQ2dDRENFSUFuOENRQUpBQWtBZ0J5QUFLQUlvSUFRZ0JFRUVhaUFGSUFJZ0FrRUlhaUFESUFoQkQzRkJqZ05xRVE0QVFRRnJEZ01DQWdBQkN5QUNJQVlvQWdBNkFBQWdBeUFDUVFGcU5nSUFDd05BSUFNb0FnQWlCQ0FDVFFSQVFRRWhBMEVBREFNTElBTWdCRUYvYWlJRU5nSUFJQVFzQUFBZ0FDZ0NJQkR2QVVGL1J3MEFDd3RCQUNFRFFYOExJUUlnQXdSL0lBWUZJQUloQVF3Q0N3VWdBRUV3YWdzZ0FUWUNBQ0FBUVFFNkFEUUxDeUFGSkFZZ0FRdUtBd0lNZndKOEl3WWhBU01HUVVCckpBWWdBVUVnYWlFQ1FkQUJFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBSVFQVUVCRUFFTElBRkJLR29oQkNBRElBQkJ1QUVRVEJvZ0F5QUFLQUlBUVI1cUlnZzJBc0FCSUFNZ0FDZ0NCRUVlYWlJSk5nTEVBU0FEUVE4MkFzZ0JJQU5CRHpZQ3pBRWdBeUFKSUFoQkEzUnNJZ1VRUkNJQ05nSzRBU0FDUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0FVRXdhaUVHSUFNZ0JSQkVJZ1EyQXJ3QklBUkZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFCUVJocUlRVWdBVUVRYWlFR0lBRkJDR29oQ2lBQVFlZ0FhaUVMSUFBb0FyQUJJUXdnQWlFQUEwQWdCeUFKU0FSQUlBZEJEMnV5dXlFTlFRQWhBZ05BSUFJZ0NFZ0VRQ0FMSUFKQkQydXl1eUlPSUEwZ0NpQUJJQXdRMkFzZ0FDQUtLd01BdGpnQ0FDQUFJQUVyQXdDMk9BSUVJQXNnRGlBTklBVWdCaUFNRU44RUlBUWdCU3NEQUxZNEFnQWdCQ0FHS3dNQXRqZ0NCQ0FDUVFGcUlRSWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dCMEVCYWlFSERBRUxDeUFCSkFZZ0F3c0pBQ0FBUVFFUXlRUUxDUUFnQUVFQUVNa0VDMTRCQVg4Z0FDQUJRYmpRQXhBNklnRTJBaVFnQUNBQklBRW9BZ0FvQWhoQi93QnhRUWhxRVFBQU5nSXNJQUFvQWlRaUFTZ0NBQ2dDSENFQ0lBQWdBU0FDUWY4QWNVRUlhaEVBQUVFQmNUb0FOU0FBS0FJc1FRaEtCRUFRQUFzTG5RSUJDWDhqQmlFREl3WkJJR29rQmlBRFFSQnFJUVFnQTBFSWFpRUNJQU5CQkdvaEJnSi9Ba0FnQVVGL0VFRU5BQUovSUFJZ0FSQkNPZ0FBSUFBc0FDd0VRQ0FDUVFGQkFTQUFLQUlnRUpNQlFRRkdEUUpCZnd3QkN5QUdJQVEyQWdBZ0FrRUJhaUVISUFSQkNHb2hDQUpBQTBBQ1FDQUFLQUlrSWdVb0FnQW9BZ3doQ1NBRklBQW9BaWdnQWlBSElBTWdCQ0FJSUFZZ0NVRVBjVUdPQTJvUkRnQWhCU0FDSUFNb0FnQkdEUUlnQlVFRFJnMEFJQVZCQWs4TkFpQUdLQUlBSUFScklnSWdCRUVCSUFJZ0FDZ0NJQkNUQVVjTkFpQURLQUlBSVFJZ0JVRUJSZzBCREFRTEN5QUNRUUZCQVNBQUtBSWdFSk1CUVFGSERRQU1BZ3RCZndzTUFRc2dBVUYvRUVFRWYwRUFCU0FCQ3dzaENpQURKQVlnQ2d0ZkFRSi9JQUFzQUN3RVFDQUJRUUVnQWlBQUtBSWdFSk1CSVFNRkEwQWdBeUFDU0FSQUlBQW9BZ0FvQWpRaEJDQUFJQUVzQUFBUVFpQUVRVDl4UVlvQmFoRUNBRUYvUndSQUlBTkJBV29oQXlBQlFRRnFJUUVNQWdzTEN3c2dBd3RNQVFGL0lBQW9BZ0FvQWhnaEFpQUFJQUpCL3dCeFFRaHFFUUFBR2lBQUlBRkJzTkFERURvaUFUWUNKQ0FCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBc0M1c0NBUWwvSXdZaEF5TUdRU0JxSkFZZ0EwRVFhaUVFSUFOQkNHb2hBaUFEUVFScUlRWUNmd0pBSUFGQmZ4QkJEUUFDZnlBQ0lBRTJBZ0FnQUN3QUxBUkFJQUpCQkVFQklBQW9BaUFRa3dGQkFVWU5Ba0YvREFFTElBWWdCRFlDQUNBQ1FRUnFJUWNnQkVFSWFpRUlBa0FEUUFKQUlBQW9BaVFpQlNnQ0FDZ0NEQ0VKSUFVZ0FDZ0NLQ0FDSUFjZ0F5QUVJQWdnQmlBSlFROXhRWTREYWhFT0FDRUZJQUlnQXlnQ0FFWU5BaUFGUVFOR0RRQWdCVUVDVHcwQ0lBWW9BZ0FnQkdzaUFpQUVRUUVnQWlBQUtBSWdFSk1CUncwQ0lBTW9BZ0FoQWlBRlFRRkdEUUVNQkFzTElBSkJBVUVCSUFBb0FpQVFrd0ZCQVVjTkFBd0NDMEYvQ3d3QkN5QUJRWDhRUVFSL1FRQUZJQUVMQ3lFS0lBTWtCaUFLQzFrQkFYOGdBQ3dBTEFSQUlBRkJCQ0FDSUFBb0FpQVFrd0VoQXdVRFFDQURJQUpJQkVBZ0FDQUJLQUlBSUFBb0FnQW9BalJCUDNGQmlnRnFFUUlBUVg5SEJFQWdBMEVCYWlFRElBRkJCR29oQVF3Q0N3c0xDeUFEQzB3QkFYOGdBQ2dDQUNnQ0dDRUNJQUFnQWtIL0FIRkJDR29SQUFBYUlBQWdBVUc0MEFNUU9pSUJOZ0lrSUFFb0FnQW9BaHdoQWlBQUlBRWdBa0gvQUhGQkNHb1JBQUJCQVhFNkFDd0w3QVVDQjM4Q2ZDTUdJUVFqQmtHZ0Eyb2tCaUFFUVpBRGFpRUdJQVJCZ0FGcUlRZ2dBQ2dDQUNFSElBQW9BZ1FoQlNBQVFRaHFJQVJCc0FKcUlnb2dCRUhRQVdvaUNSRHpDMEVBU0FSQVFRQkJBMEdickFFZ0JoQTlCUUpBSUFWQmYycTNJUXhCQUNFRkEwQWdCVUVFUndSQUlBcEJJR29nQlVFRGRHb2lBQ0FLUVVCcklBVkJBM1JxS3dNQUlBeWlJQUFyQXdDaE9RTUFJQVZCQVdvaEJRd0JDd3NnQ2lzRFVDRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRQURRQ0FBUVFOSEJFQWdCVUVZYkNBSWFpQUFRUU4wYWlBRlFRVjBJQXBxSUFCQkEzUnFLd01BSUF1ak9RTUFJQUJCQVdvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRUlBZ3JBd0JFQUFBQUFBQUFBRUNpSUFkQmYycTNJZ3VqT1FNQUlBUWdDQ3NEQ0VRQUFBQUFBQUFBUUtJZ0M2TTVBd2dnQkNBSUt3TVFSQUFBQUFBQUFBQkFvaUFMbzBRQUFBQUFBQUR3djZDYU9RTVFJQVJDQURjREdDQUVRZ0EzQXlBZ0JDQUlLd01nUkFBQUFBQUFBQUJBb2lBTW81bzVBeWdnQkNBSUt3TW9SQUFBQUFBQUFBQkFvaUFNbzBRQUFBQUFBQUR3djZDYU9RTXdJQVJDQURjRE9DQUVRZ0EzQTBBZ0JFSUFOd05JSUFRZ0FTQUNvQ0FCSUFLaElndWpPUU5RSUFRZ0FrUUFBQUFBQUFBQVFLSWdBYUlnQzZNNUExZ2dCRUlBTndOZ0lBUkNBRGNEYUNBRVJBQUFBQUFBQVBDL09RTndJQVJFQUFBQUFBQUFBQUE1QTNnZ0NTc0RHQ0VMSUFrckF6Z2hBaUFKS3dOWUlRRkJBQ0VHQTBBZ0JrRUVSZzBCSUFaQkJYUWdCR29yQXdBaERDQUdRUVYwSUFScUlRVWdCa0VGZENBRWFpRUFRUUFoQndOQUlBZEJBMGNFUUNBR0lBZEJBblJxUVFOMElBTnFJQXdnQjBFRGRDQUphaXNEQUtJZ0JTc0RDQ0FKUVNCcUlBZEJBM1JxS3dNQW9xQWdBQ3NERUNBSlFVQnJJQWRCQTNScUt3TUFvcUE1QXdBZ0IwRUJhaUVIREFFTEN5QUdRUXhxUVFOMElBTnFJQVpCQlhRZ0JHb3JBeGdnRENBTG9pQUZLd01JSUFLaW9DQUFLd01RSUFHaW9LQTVBd0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUVKQVlMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUlBaEJBRHNCQUNBTVFRQTZBQUFGQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTDZBVUNDbjhCZkNNR0lRUWpCa0dBQW1va0JpQUVRZmdCYWlFSUlBUkI4QUZxSVFvZ0JFSG9BV29oRENBRVFlQUJhaUVGSUFSQjJBRnFJUXNnQkVIUUFXb2hCeUFFUWNnQmFpRUpJQVJCRUdvaEF5QUFRUUJISUFGQkFFZHhCRUFDUUNBQVFZaTVBUkN3QVNJR1JRUkFJQWxCcE1VREtBSUFOZ0lBSUFrZ0FEWUNCRUVBUVFOQnM2b0JJQWtRUFVHa3hRTW9BZ0FRdlFFaEFDQUhRYWZWQXpZQ0FDQUhJQUEyQWdSQkFFRURRYVcyQVNBSEVEMUJmeUVBREFFTElBWkJBRUVDRVBRQklBWW9Ba3dhSUFZb0FnQkJCWFpCQVhFRVFDQUxRYVRGQXlnQ0FEWUNBRUVBUVFOQitLb0JJQXNRUFVHa3hRTW9BZ0FRdlFFaEFDQUZRYWZWQXpZQ0FDQUZJQUEyQWdSQkFFRURRYVcyQVNBRkVEMUJmeUVBQlFKQUlBWVErQUloQnlBR0VQa0NRUUFoQUFKQUFrQURmeUFBUVFSUERRRWdBRUVCYWlFRklBY2dBRUVEZEVHa0ZXb29BZ0FpQUJCUEJIOGdCU0VBREFFRklBVUxDeUVGREFFTElBQkJCRVlFZjBFQVFRTkJwYXNCSUF3UVBVRi9JUUFNQWdWQkFDRUZRYVFWS0FJQUN5RUFDeUFESUFCQkFTQUdFR0ZCQVVjRVFDQUtRYVRGQXlnQ0FEWUNBRUVBUVFOQjlhc0JJQW9RUFVHa3hRTW9BZ0FRdlFFaEFDQUlRYWZWQXpZQ0FDQUlJQUEyQWdSQkFFRURRYVcyQVNBSUVEMUJmeUVBREFFTElBTWdCVFlDc0FFZ0F4RFlCQ0FGUVFGR0lnY0VRQ0FES3dONElRMGdBeUFEUVlBQmFpSUFLd01BT1FONElBTWdEVGtEZ0FFRklBTkJnQUZxSVFBTElBRWdBMEc0QVJCTUdpQUVJQUkyQWdCQkFTRUNBMEFnQWtFQlRnUkFRUUFoQUF3Q0N5QUVLQUlBUVFOcVFYeHhJZ2tvQWdBaENDQUVJQWxCQkdvMkFnQWdDQ0FCS0FLd0FUWUNzQUVnQXlBQktBS3dBVUVEZEVHY0ZXb29BZ0JCQVNBR0VHRkJBVWNFUUVGL0lRQU1BZ3NnQXlBRk5nS3dBU0FERU5nRUlBY0VRQ0FES3dONElRMGdBeUFBS3dNQU9RTjRJQUFnRFRrREFBc2dDQ0FEUWJnQkVFd2FJQUpCQVdvaEFnd0FBQXNBQ3dzZ0JoQnFDd1ZCZnlFQUN5QUVKQVlnQUF1VEFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWhnZ0EwRUNkR28yQWhnZ0F5QUVhaUVFSUFOQkFuUWdBV29GSUFBZ0FTZ0NBQ0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRUnFDeUVCREFFTEN5QUVDek1BSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFRWFqWUNEQ0FBS0FJQUN3dVVBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BZ3dpQXlBQUtBSVFJZ1ZKQkg4Z0FTQURJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0Fnd2dBMEVDZEdvMkFnd2dBMEVDZENBQmFnVWdBQ0FBS0FJQUtBSW9RZjhBY1VFSWFoRUFBQ0lEUVg5R0RRRWdBU0FETmdJQVFRRWhBeUFCUVFScUN5RUJJQU1nQkdvaEJBd0JDd3NnQkF1UUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJJZ01nQmlBRFNCc2lBeENvQVNBQUlBTWdBQ2dDR0dvMkFoZ2dBeUFFYWlFRUlBRWdBMm9GSUFBb0FnQW9BalFoQXlBQUlBRXNBQUFRUWlBRFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFGcUN5RUJEQUVMQ3lBRUN6VUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVCYWpZQ0RDQUFMQUFBRUVJTEM0MEJBUVIvQTBBQ1FDQUVJQUpPRFFBZ0FDZ0NEQ0lESUFBb0FoQWlCVWtFZnlBQklBTWdBaUFFYXlJR0lBVWdBMnNpQXlBR0lBTklHeUlERUtnQklBQWdBeUFBS0FJTWFqWUNEQ0FCSUFOcUJTQUFJQUFvQWdBb0FpaEIvd0J4UVFocUVRQUFJZ05CZjBZTkFTQUJJQU1RUWpvQUFFRUJJUU1nQVVFQmFnc2hBU0FESUFScUlRUU1BUXNMSUFRTEN3QWdBQkNkQWlBQUVEZ0xTQUVDZnlBQUtBSW9JUUVEUUNBQkJFQWdBQ2dDSUNBQlFYOXFJZ0ZCQW5ScUtBSUFJUUpCQUNBQUlBQW9BaVFnQVVFQ2RHb29BZ0FnQWtFRGNVSDJCV29SQmdBTUFRc0xDd1FBUVFBTE13RUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCSUFFb0FnQTJBZ1FnQVNnQ0JDZ0NCQkNJQXlFQ0lBRWtCaUFDQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVl1SkF6WUNBRUd3K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZXVJQXpZQ0FFRzQrUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjeUlBellDQUVIQStRQkJCaUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWQ2R0F6WUNBRUhJK1FCQkJTQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY0NHQXpZQ0FFSFErUUJCQkNBQUtBSUFFQWdnQUNRR0Mrb0ZBUVo4QW44Q1FBSkFBa0FDUUFKQUFrQWdCVUVCYXc0RUF3SUJBQVFMSUFBckF3QWdBU0FBS3dNd0lnaWhJQUJCUUdzckF3QWlCcUlnQUNzRElDSUpveUlCSUFHaUlBSWdBQ3NET0NJS29TQUdvaUFBS3dNb0lndWpJZ0lnQXFLZ0lnYWlSQUFBQUFBQUFQQS9vQ0FHSUFBckF3Z2dCcUtpb0NFSElBTWdDQ0FKSUFBckF4Z2lDQ0FHSUFFZ0FVUUFBQUFBQUFBQVFLS2lvS0lnQWlBQUt3TVFJZ2xFQUFBQUFBQUFBRUNpSUFHaW9pQUJJQWVpb0tDaW9Ea0RBQ0FLSUFzZ0FpQUlSQUFBQUFBQUFBQkFvaUFCb3FJZ0NTQUdJQUlnQWtRQUFBQUFBQUFBUUtLaW9LSWdBaUFIb3FDZ29xQWhBUXdFQ3lBQklBQXJBd0FpQnFFZ0FDc0RFQ0lIb2lJQlJBQUFBQUFBQUFBQVlTQUhJQUlnQUNzRENLR2lJZ0pFQUFBQUFBQUFBQUJoY1FSOElBTWdCamtEQUNBQUt3TUlCU0FESUFZZ0FDc0RHQ0FCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01nUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBTUxJQUVnQUNzREFDSUdvU0FBS3dNUUlnZWlJZ0ZFQUFBQUFBQUFBQUJoSUFjZ0FpQUFLd01Jb2FJaUFrUUFBQUFBQUFBQUFHRnhCSHdnQXlBR09RTUFJQUFyQXdnRklBTWdCaUFCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLZ09RTUFJQUFyQXdnZ0FpQUJvcUFMSVFFTUFnc2dBU0FBS3dNQUlnYWhJQUFyQXhBaUI2SWlBVVFBQUFBQUFBQUFBR0VnQnlBQ0lBQXJBd2lob2lJQ1JBQUFBQUFBQUFBQVlYRUVmQ0FESUFZNUF3QWdBQ3NEQ0FVZ0F5QUdJQUZFQUFBQUFBQUE4RDhnQVNBQm9pQUNJQUtpb0NBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSWdHaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBRUxRWDhNQVFzZ0JDQUJPUU1BUVFBTEdnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSE1oQU0yQWdCQmlQb0FRUUFnQUNnQ0FCQUlJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIZGd3TTJBZ0JCbVBrQUlBQW9BZ0JCQ0JBV0lBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhYZ3dNMkFnQkJrUGtBSUFBb0FnQkJCQkFXSUFBa0Jnc3RBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSEpnd00yQWdCQmlQa0FJQUFvQWdCQkJFRUFRWDhRQ2lBQUpBWUxOUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ4SU1ETmdJQVFZRDVBQ0FBS0FJQVFRUkJnSUNBZ0hoQi8vLy8vd2NRQ2lBQUpBWUxMUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ0NE1ETmdJQVFmajRBQ0FBS0FJQVFRUkJBRUYvRUFvZ0FDUUdDelVCQVg4akJpRUFJd1pCRUdva0JpQUFRYk9EQXpZQ0FFSHcrQUFnQUNnQ0FFRUVRWUNBZ0lCNFFmLy8vLzhIRUFvZ0FDUUdDeThCQVg4akJpRUFJd1pCRUdva0JpQUFRYVNEQXpZQ0FFSG8rQUFnQUNnQ0FFRUNRUUJCLy84REVBb2dBQ1FHQ3pFQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVo2REF6WUNBRUhnK0FBZ0FDZ0NBRUVDUVlDQWZrSC8vd0VRQ2lBQUpBWUxMZ0VCZnlNR0lRQWpCa0VRYWlRR0lBQkJrSU1ETmdJQVFkRDRBQ0FBS0FJQVFRRkJBRUgvQVJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdFZ3dNMkFnQkIyUGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIL2dnTTJBZ0JCeVBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc2ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR20xUU0yQWdBUTRBUWdBQ1FHQ3dZQVFlREZBd3NHQUVIY3hRTUxCZ0JCMU1VREN3Z0FRZVRGQXhBMkMzQUJBbjhnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnVUNRQ0FBUVJCcUlBQW9BZ3dpQkVFRGRHb2hCU0FBUVJCcUlBRWdBaUFERU9FRUlBUkJBVW9FUUNBQVFSaHFJUUFEUUNBQUlBRWdBaUFERU9FRUlBRXNBRFlOQWlBQVFRaHFJZ0FnQlVrTkFBc0xDd3NMeFFRQkEzOGdBQ0FCS0FJSUlBUVFnUUVFUUNBQklBSWdBeER5QWdVQ1FDQUFJQUVvQWdBZ0JCQ0JBVVVFUUNBQUtBSU1JUVVnQUVFUWFpQUJJQUlnQXlBRUVKNENJQVZCQVV3TkFTQUFRUkJxSUFWQkEzUnFJUVlnQUVFWWFpRUZJQUFvQWdnaUFFRUNjVVVFUUNBQktBSWtRUUZIQkVBZ0FFRUJjVVVFUUFOQUlBRXNBRFlOQlNBQktBSWtRUUZHRFFVZ0JTQUJJQUlnQXlBRUVKNENJQVZCQ0dvaUJTQUdTUTBBREFVQUN3QUxBMEFnQVN3QU5nMEVJQUVvQWlSQkFVWUVRQ0FCS0FJWVFRRkdEUVVMSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQXdzTEEwQWdBU3dBTmcwQ0lBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUFRc2dBU2dDRUNBQ1J3UkFJQUVvQWhRZ0FrY0VRQ0FCSUFNMkFpQWdBU2dDTEVFRVJ3UkFJQUJCRUdvZ0FDZ0NERUVEZEdvaEIwRUFJUU1nQUVFUWFpRUdJQUVDZndKQUEwQUNRQ0FHSUFkUERRQWdBVUVBT2dBMElBRkJBRG9BTlNBR0lBRWdBaUFDUVFFZ0JCRHZBaUFCTEFBMkRRQWdBU3dBTlFSQUFrQWdBU3dBTkVVRVFDQUFLQUlJUVFGeEJFQkJBU0VGREFJRkRBWUxBQXNnQVNnQ0dFRUJSZ1JBUVFFaEF3d0ZDeUFBS0FJSVFRSnhCSDlCQVNFRlFRRUZRUUVoQXd3RkN5RURDd3NnQmtFSWFpRUdEQUVMQ3lBRkJIOE1BUVZCQkFzTUFRdEJBd3MyQWl3Z0EwRUJjUTBEQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDL1FDQVFsL0lBQWdBU2dDQ0NBRkVJRUJCRUFnQVNBQ0lBTWdCQkR4QWdVZ0FTd0FOQ0VPSUFFc0FEVWhCaUFBUVJCcUlBQW9BZ3dpQjBFRGRHb2hEQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQkJFR29nQVNBQ0lBTWdCQ0FGRU84Q0lBNGdBU3dBTkNJTGNpRUpJQVlnQVN3QU5TSUljaUVHSUFkQkFVb0Vmd0ovSUFCQkdHb2hDZ04vSUFaQkFYRWhCeUFKUVFGeElRWWdBU3dBTmdSQUlBWWhBaUFIREFJTElBdEIvd0Z4QkVBZ0FTZ0NHRUVCUmdSQUlBWWhBaUFIREFNTElBQW9BZ2hCQW5GRkJFQWdCaUVDSUFjTUF3c0ZJQWhCL3dGeEJFQWdBQ2dDQ0VFQmNVVUVRQ0FHSVFJZ0J3d0VDd3NMSUFGQkFEb0FOQ0FCUVFBNkFEVWdDaUFCSUFJZ0F5QUVJQVVRN3dJZ0JpQUJMQUEwSWd0eUlRZ2dCeUFCTEFBMUlnMXlJUVlnQ2tFSWFpSUhJQXhKQkg4Z0J5RUtJQWdoQ1NBTklRZ01BUVVnQ0NFQ0lBWUxDd3NGSUFraEFpQUdDeUVBSUFFZ0FrSC9BWEZCQUVjNkFEUWdBU0FBUWY4QmNVRUFSem9BTlFzTEN3QWdBQ0FCUVFBUWdRRUxLUUVCZnlBQUtBSUFRWFJxSWdBb0FnZ2hBU0FBSUFGQmYybzJBZ2dnQVVFQlNBUkFJQUFRT0FzTEJ3QWdBQ2dDQkF0QUFRRi9JQUFnQVNnQ0NFRUFFSUVCQkVBZ0FTQUNJQU1ROHdJRklBQW9BZ2dpQUNnQ0FDZ0NIQ0VFSUFBZ0FTQUNJQU1nQkVFZmNVSDZCV29SQndBTEM1Z0NBUUovSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZBa0FnQUNBQktBSUFJQVFRZ1FGRkJFQWdBQ2dDQ0NJQUtBSUFLQUlZSVFVZ0FDQUJJQUlnQXlBRUlBVkJQM0ZCbWdacUVRVUFEQUVMSUFFb0FoQWdBa2NFUUNBQktBSVVJQUpIQkVBZ0FTQUROZ0lnSUFFb0FpeEJCRWNFUUNBQlFRQTZBRFFnQVVFQU9nQTFJQUFvQWdnaUFDZ0NBQ2dDRkNFRElBQWdBU0FDSUFKQkFTQUVJQU5CQjNGQjJnWnFFUXdBSUFFc0FEVUVRQ0FCTEFBMFJTRUdJQUZCQXpZQ0xDQUdSUTBFQlNBQlFRUTJBaXdMQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDMFlCQVg4Z0FDQUJLQUlJSUFVUWdRRUVRQ0FCSUFJZ0F5QUVFUEVDQlNBQUtBSUlJZ0FvQWdBb0FoUWhCaUFBSUFFZ0FpQURJQVFnQlNBR1FRZHhRZG9HYWhFTUFBc0x3QVlDQTM4R2ZDTUdJUVFqQmtIZ0FHb2tCZ0pBSUFBckExaEVBQUFBQUFBQUFBQm1CRUFEUUNBRlFRTkdEUUpCQUNFREEwQWdBMEVFUndSQUlBVkJCWFFnQkdvZ0EwRURkR29nQlVFRmRDQUFhaUFEUVFOMGFpc0RBRGtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FCUU5BSUFWQkEwWU5Ba0VBSVFNRFFDQURRUVJIQkVBZ0JVRUZkQ0FFYWlBRFFRTjBhaUFGUVFWMElBQnFJQU5CQTNScUt3TUFtamtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FDd0FMUVFBaEF3TkFJQU5CQTBjRVFFRUFJUUFEUUNBQVFRUkhCRUFnQTBFRmRDQUJhaUFBUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FBUVFGcUlRQU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FTQUVRVUJyS3dNQUlnZ2dCQ3NEU0NJR0lBUXJBMUFpQ2hEd0FpSUhPUU5RSUFKQlFHc2lBQ0FJSUFlaklnZzVBd0FnQWlBR0lBRXJBMUNqSWdZNUEwZ2dBaUFLSUFFckExQ2pJZ2M1QTFBZ0FpQUVLd05ZSUFFckExQ2pPUU5ZSUFFZ0NDQUdJQWNnQkNzRElDSUlJQVFyQXlnaUJpQUVLd013SWdjUTdnSWlDVGtETUNBQklBZ2dDU0FBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQTFDaW9TSUdFUEFDSWdjNUF5Z2dBaUFLSUFlak9RTWdJQUlnQ0NBQkt3TW9vemtES0NBQ0lBWWdBU3NES0tNNUF6QWdBU0FBS3dNQUlBSXJBMGdnQWlzRFVDQUVLd01BSWdnZ0JDc0RDQ0lHSUFRckF4QWlCeER1QWlJTE9RTVFJQUVnQWlzRElDQUNLd01vSUFJckF6QWdDQ0FHSUFjUTdnSWlDVGtEQ0NBQklBZ2dDU0FDS3dNZ29xRWdDeUFBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RLS0toSUFzZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQXpDaW9TQUxJQUlyQTFDaW9TSUdFUEFDSWdjNUF3QWdBaUFLSUFlak9RTUFJQUlnQ0NBQkt3TUFvemtEQ0NBQ0lBWWdBU3NEQUtNNUF4QWdBaUFFS3dNNElBRXJBekFnQWlzRFdDSUdvcUVnQVNzREtLTWlCemtET0NBQ0lBUXJBeGdnQnlBQkt3TUlvcUVnQmlBQkt3TVFvcUVnQVNzREFLTTVBeGhCQUNFREEwQWdBMEVEUndSQVFRQWhBZ05BSUFKQkEwY0VRQ0FEUVFWMElBRnFJQUpCQTNScUlnQWdBQ3NEQUNBQkt3TlFvemtEQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dCQ1FHUVFBTEdnQWdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdzTGt3RUFJQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRklBQWdBU2dDQUNBRUVJRUJCRUFDUUNBQktBSVFJQUpIQkVBZ0FTZ0NGQ0FDUndSQUlBRWdBellDSUNBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVZRVFDQUJLQUlZUVFKR0JFQWdBVUVCT2dBMkN3c2dBVUVFTmdJc0RBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDd3NjQUNBQUlBRW9BZ2dnQlJDQkFRUkFJQUVnQWlBRElBUVE4UUlMQzlJQkFRSi9Jd1loQXlNR1FVQnJKQVlnQUNBQlFRQVFnUUVFZjBFQkJTQUJCSDhnQVVIQTl3QkJzUGNBRU9RRUlnRUVmeUFESUFFMkFnQWdBMEVBTmdJRUlBTWdBRFlDQ0NBRFFYODJBZ3dnQTBJQU53SVFJQU5DQURjQ0dDQURRZ0EzQWlBZ0EwSUFOd0lvSUFOQkFEWUNNQ0FEUVFBN0FUUWdBMEVBT2dBMklBTkJBVFlDTUNBQktBSUFLQUljSVFBZ0FTQURJQUlvQWdCQkFTQUFRUjl4UWZvRmFoRUhBQ0FES0FJWVFRRkdCSDhnQWlBREtBSVFOZ0lBUVFFRlFRQUxCVUVBQ3dWQkFBc0xJUVFnQXlRR0lBUUwzUUVCQlg4akJpRUFJd1pCTUdva0JpQUFRUmhxSVFJZ0FFRVFhaUVCSUFCQkpHb2hBMEhNeFFNb0FnQWlCQVJBSUFKQjlmOENOZ0lBUWNQL0FpQUNFSjhDSUFNZ0JFSFFBR28yQWdBZ0JDZ0NBQ0lFS0FJRUlRSkJxUGNBSUFRZ0EwR285d0FvQWdBb0FoQkJQM0ZCeWdGcUVRUUFCRUFnQXlnQ0FDSUJLQUlBS0FJSUlRTWdBU0FEUWY4QWNVRUlhaEVBQUNFQklBQkI5ZjhDTmdJQUlBQWdBallDQkNBQUlBRTJBZ2hCN2Y0Q0lBQVFud0lGSUFGQjlmOENOZ0lBSUFFZ0FqWUNCRUdhL3dJZ0FSQ2ZBZ3NMUWVuL0FpQUFRU0JxRUo4Q0M2Y0VBUUo4SUFHM0lBQW9BZ0Mzb3lFRUlBSzNJQUFvQWdTM295RUZJQU1nQVRZQ0FDQURJQUkyQWdSQkFDRUJBMEFnQVVFRVJ3UkFJQU5CQ0dvZ0FVRURkR29nQkNBQVFRaHFJQUZCQTNScUt3TUFvamtEQUNBRFFTaHFJQUZCQTNScUlBVWdBRUVvYWlBQlFRTjBhaXNEQUtJNUF3QWdBMEhJQUdvZ0FVRURkR29nQUVISUFHb2dBVUVEZEdvckF3QTVBd0FnQVVFQmFpRUJEQUVMQ3dKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXJBQklnRkJBV3NPQkFNQ0FRQUVDeUFESUFBckEyZzVBMmdnQXlBQUt3TndPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQVFnQUNzRGlBR2lPUU9JQVNBRElBVWdBQ3NEa0FHaU9RT1FBU0FESUFRZ0FDc0RtQUdpT1FPWUFTQURJQVVnQUNzRG9BR2lPUU9nQVNBRElBQXJBNmdCT1FPb0FRd0VDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBQXJBNGdCSUFRZ0JhS2pPUU9JQVNBRElBQXJBNUFCSUFVZ0JDQUVvaUFGb3FLak9RT1FBUXdEQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVNBRElBQXJBNGdCSUFVZ0JDQUVvaUFGb3FLak9RT0lBUXdDQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVF3QkN3d0JDeUFESUFFMkFyQUJDd3Y3RXdJUmZ3RjhJd1loRkNNR1FSQnFKQVlnRkNFUUlBRkJBaEE1SVEwZ0FrRUNFRGtoRHlBRUtBSUFJZ2NoQWlBTklBOUJmMm9pRVd4QkFYUWdCMm9oQlFOQUlBc2dEVWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0MwRUJhaUVMREFFTEN5QUhJUUlnRFVGL2FpSVNRUUYwSUFkcUlRVkJBQ0VMQTBBZ0N5QVBTQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdEVUVCZENBQ2FpRUNJQTFCQVhRZ0JXb2hCU0FMUVFGcUlRc01BUXNMSUFSQmtJRElBR29oQWtFQUlBMXJJUk1nQUNBQlFRRjBRUUpxYWlFT1FRRWhERUVBSVFVZ0RVRUJhaUlBSUFRb0FnUnFJUXNnQUVFQmRDQUhhaUVIQW44Q1FBTkFBa0FnRENBUlRnMENJQVVoQUVFQklRa0RRQ0FKSUJKSUJFQWdEaTBBQUNBRFNnUkFJQWRCQURzQkFDQUxRUUE2QUFBRkFrQWdDMEYvT2dBQUlCTkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FBc0xJQTVCQW1vaERpQUxRUUZxSVFzZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU9ha0VFYWlFT0lBeEJBV29oRENBQUlRVWdDMEVDYWlFTElBZEJCR29oQnd3QkN3dEJBRUVEUWFpbEFTQVFFRDFCZnd3QkN5QUVRUXhxSVFkQkFTRUFRUUVoQXdOQUlBTWdCVXdFUUNBRElBSW9BZ0FpQzBZRVFDQUFRUUZxSVFFRklBQWhBU0FMUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFJZ0FEWUNBQ0FCSVFBZ0EwRUJhaUVESUFKQkJHb2hBZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFkQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUJBMEFnQVNBQVNBUkFJQVJCaklBSWFpQUJRUUowSWdKQkFuUnFJQTAyQWdBZ0JFR01nQWhxSUFKQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBSkJBbkpCQW5ScUlBODJBZ0FnQkVHTWdBaHFJQUpCQTNKQkFuUnFRUUEyQWdBZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhhak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZxTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJVZ0VDUUdJQlVMQkFBakJnc2JBUUovSXdZaEFpQUFJd1pxSkFZakJrRVBha0Z3Y1NRR0lBSUxDNkdMQTJFQVFZQUlDeEkyVXdBQVBWTUFBRWxUQUFCVFV3QUFZVk1BUWFBSUM5b1QvLy8vLy8vLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vd0FBQUFFQUFRRUJBQUlFLy84RkF3RUFBdjhHQi84REFRSUNBd0lEQWdNREFQOEVCZ2NGL3dFRUJRUUVCUVVFQlFjR0JnWUhCd2NHL3dJRUJnY0ZBLzhBQVFFQkFRRUJBQUVCQVFBQUFRRUJBUUVBQVFFQUFRRUJBQUVCQVFFQUFRRUFBUUVCQVFBQkFRRUFBUUVBQVFFQkFRRUFBQUVCQVFBQkFRRUJBUUVBQVAvL0EvOEZCdi8vQ1FyL0RQLy9ELzhSRXY4VS8vOFhHUC8vRy84ZEh2Ly9BUUwvQlAvL0J3ai8vd3YvRFE3L0VQLy9FLzhWRnYvL0dSci9IUC8vSHdFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUJRQUFBQW9BQUFBVUFBQUFEUUFBQUJvQUFBQVJBQUFBQndBQUFBNEFBQUFjQUFBQUhRQUFBQjhBQUFBYkFBQUFFd0FBQUFNQUFBQUdBQUFBREFBQUFCZ0FBQUFWQUFBQUR3QUFBQjRBQUFBWkFBQUFGd0FBQUFzQUFBQVdBQUFBQ1FBQUFCSUFBQUFBQUFBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFNQUFBQUdBQUFBREFBQUFBc0FBQUFGQUFBQUNnQUFBQWNBQUFBT0FBQUFEd0FBQUEwQUFBQUpBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQklBQUFBQ0FBQUFCUUFBQUJNQUFBQUxBQUFBQXdBQUFCMEFBQUFHQUFBQUd3QUFBQlFBQUFBSUFBQUFEQUFBQUJjQUFBQUVBQUFBQ2dBQUFCNEFBQUFSQUFBQUJ3QUFBQllBQUFBY0FBQUFHZ0FBQUJVQUFBQVpBQUFBQ1FBQUFCQUFBQUFOQUFBQURnQUFBQmdBQUFBUEFBQUEvLy8vL3dBQUFBQUJBQUFBQkFBQUFBSUFBQUFJQUFBQUJRQUFBQW9BQUFBREFBQUFEZ0FBQUFrQUFBQUhBQUFBQmdBQUFBMEFBQUFMQUFBQURBQUFBQUVBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBSUFBQUFFQUFBQUFEQUFBQUJnQUFBQXdBQUFBWUFBQUFNQUFBQUdBQUFBQkRBQUFBQlFBQUFBb0FBQUFVQUFBQUtBQUFBRkFBQUFBakFBQUFSZ0FBQUE4QUFBQWVBQUFBUEFBQUFIZ0FBQUJ6QUFBQVpRQUFBRWtBQUFBUkFBQUFJZ0FBQUVRQUFBQUxBQUFBRmdBQUFDd0FBQUJZQUFBQU13QUFBR1lBQUFCUEFBQUFIUUFBQURvQUFBQjBBQUFBYXdBQUFGVUFBQUFwQUFBQVVnQUFBQ2NBQUFCT0FBQUFId0FBQUQ0QUFBQjhBQUFBZXdBQUFIVUFBQUJwQUFBQVVRQUFBQ0VBQUFCQ0FBQUFCd0FBQUE0QUFBQWNBQUFBT0FBQUFIQUFBQUJqQUFBQVJRQUFBQWtBQUFBU0FBQUFKQUFBQUVnQUFBQVRBQUFBSmdBQUFFd0FBQUFiQUFBQU5nQUFBR3dBQUFCYkFBQUFOUUFBQUdvQUFBQlhBQUFBTFFBQUFGb0FBQUEzQUFBQWJnQUFBRjhBQUFBOUFBQUFlZ0FBQUhjQUFBQnRBQUFBV1FBQUFERUFBQUJpQUFBQVJ3QUFBQTBBQUFBYUFBQUFOQUFBQUdnQUFBQlRBQUFBSlFBQUFFb0FBQUFYQUFBQUxnQUFBRndBQUFBN0FBQUFkZ0FBQUc4QUFBQmRBQUFBT1FBQUFISUFBQUJuQUFBQVRRQUFBQmtBQUFBeUFBQUFaQUFBQUVzQUFBQVZBQUFBS2dBQUFGUUFBQUFyQUFBQVZnQUFBQzhBQUFCZUFBQUFQd0FBQUg0QUFBQi9BQUFBZlFBQUFIa0FBQUJ4QUFBQVlRQUFBRUVBQUFBQUFBQUEvLy8vL3dBQUFBQUJBQUFBQndBQUFBSUFBQUFPQUFBQUNBQUFBRGdBQUFBREFBQUFQd0FBQUE4QUFBQWZBQUFBQ1FBQUFGb0FBQUE1QUFBQUZRQUFBQVFBQUFBY0FBQUFRQUFBQUVNQUFBQVFBQUFBY0FBQUFDQUFBQUJoQUFBQUNnQUFBR3dBQUFCYkFBQUFSZ0FBQURvQUFBQW1BQUFBRmdBQUFDOEFBQUFGQUFBQU5nQUFBQjBBQUFBVEFBQUFRUUFBQUY4QUFBQkVBQUFBTFFBQUFCRUFBQUFyQUFBQWNRQUFBSE1BQUFBaEFBQUFUUUFBQUdJQUFBQjFBQUFBQ3dBQUFGY0FBQUJ0QUFBQUl3QUFBRndBQUFCS0FBQUFSd0FBQUU4QUFBQTdBQUFBYUFBQUFDY0FBQUJrQUFBQUZ3QUFBRklBQUFBd0FBQUFkd0FBQUFZQUFBQitBQUFBTndBQUFBMEFBQUFlQUFBQVBnQUFBQlFBQUFCWkFBQUFRZ0FBQUJzQUFBQmdBQUFBYndBQUFFVUFBQUJyQUFBQUxnQUFBQ1VBQUFBU0FBQUFOUUFBQUN3QUFBQmVBQUFBY2dBQUFDb0FBQUIwQUFBQVRBQUFBQ0lBQUFCV0FBQUFUZ0FBQUVrQUFBQmpBQUFBWndBQUFIWUFBQUJSQUFBQURBQUFBSDBBQUFCWUFBQUFQUUFBQUc0QUFBQWFBQUFBSkFBQUFHb0FBQUJkQUFBQU5BQUFBRXNBQUFBcEFBQUFTQUFBQUZVQUFBQlFBQUFBWmdBQUFEd0FBQUI4QUFBQWFRQUFBQmtBQUFBb0FBQUFNd0FBQUdVQUFBQlVBQUFBR0FBQUFIc0FBQUJUQUFBQU1nQUFBREVBQUFCNkFBQUFlQUFBQUhrQUFBQUVBQUFBaUFBQUFBVUFBQUNRQUFBQUJnQUFBSmdBQUFBSkFBQUFzQUFBQU9OWkFBRHBXUUFBN2xrQUFQWlpBQUFBQUFBQXNyNjVQaExjb0w2UXZqaytFdHlndnBDK09iNEFBQUNBc3I2NXZoTGNvRDZRdmptK0V0eWdQcEMrT1Q3U2NoaS9BQUFBQU5KeW1MNDZCZ1MvMG5LWVBqb0dCTC9TY2hnL0FBQUFnTkp5bUQ0NkJnUS8wbktZdmpvR0JEOEFBQUNBVnJnOXYyWk5KRDlXdUwyK1prMGtQMWE0dlQ0QUFBQUFWcmc5UDJaTkpMOVd1TDArWmswa3YxYTR2YjRNNlZnL0FBQUFnQXpwMkQ2WjJUcy9ET25ZdnBuWk96OE02VmkvQUFBQUFBenAyTDZaMlR1L0RPbllQcG5aTzc4QUFBQUEvRk51UC9GbFRyOE5WTzQrOFdWT3Z3MVU3cjRBQUFDQS9GTnV2L0ZsVGo4TlZPNis4V1ZPUHcxVTdqNEFBSUMvQUFBQUFBQUFBTC9RczEyL0FBQUFQOUN6WGI4QUFJQS9BQUFBZ0FBQUFEL1FzMTAvQUFBQXY5Q3pYVDl3UEFBQWNEd0FBSEE4QUFCd1BBQUFqS3dBQUtLc0FBRENyQUFBNTZ3QUFBR3RBQUFnclFBQU5hMEFBRkt0QUFCOHJRQUF2SzBBQU51dEFBRHlyUUFBQ0s0QUFCeXVBQUJacmdBQWlhNEFBS1d1QUFESXJnQUEvNjRBQURhdkFBQk5yd0FBYmE4QUFKZXZBQURrcndBQS82OEFBQ3F3QUFCR3NBQUFhN0FBQUpHd0FBQzJzQUFBeWJBQUFONndBQUR4c0FBQUJMRUFBQ214QUFBK3NRQUFVckVBQUhPeEFBQ0pzUUFBdUxFQUFPQ3hBQUFCc2dBQUlySUFBRkd5QUFCaXNnQUFmcklBQUx5eUFBRGpzZ0FBQ3JNQUFCNnpBQUJNc3dBQWRMTUFBSkN6QUFDMXN3QUExN01BQUFHMEFBQXN0QUFBU3JRQUFIaTBBQUNndEFBQXg3UUFBUEswQUFBZnRRQUFUN1VBQUhtMUFBQ210UUFBeWJVQUFPZTFBQUFGdGdBQU83WUFBR1cyQUFDRXRnQUFwN1lBQU02MkFBRGp0Z0FBOTdZQUFDeTNBQUE4dHdBQWVyY0FBTHkzQUFEbXR3QUFFcmdBQURtNEFBQlZ1QUFBZ0xnQUFKdTRBQUN2dUFBQXhyZ0FBTk80QUFEN3VBQUFNTGtBQUd5NUFBQ2F1UUFBdTdrQUFPSzVBQUQ3dVFBQUk3b0FBRWE2QUFCZXVnQUFncm9BQUtlNkFBQ3R1Z0FBNXJvQUFDQzdBQUEvdXdBQVRyc0FBR3U3QUFDSnV3QUFwcnNBQUwrN0FBRFl1d0FBR3J3QUFGUzhBQUNLdkFBQXZyd0FBTks4QUFEcHZBQUFENzBBQURhOUFBQjR2UUFBdEwwQUFPVzlBQUFKdmdBQU43NEFBRksrQUFDS3ZnQUF0YjRBUVlRY0M3MEVBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFEQUFBQUNnQUFBQkVBQUFBWUFBQUFJQUFBQUJrQUFBQVNBQUFBQ3dBQUFBUUFBQUFGQUFBQURBQUFBQk1BQUFBYUFBQUFJUUFBQUNnQUFBQXdBQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBR0FBQUFCd0FBQUE0QUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQU1RQUFBRGdBQUFBNUFBQUFNZ0FBQUNzQUFBQWtBQUFBSFFBQUFCWUFBQUFQQUFBQUZ3QUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTZBQUFBT3dBQUFEUUFBQUF0QUFBQUpnQUFBQjhBQUFBbkFBQUFMZ0FBQURVQUFBQThBQUFBUFFBQUFEWUFBQUF2QUFBQU53QUFBRDRBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBVUFBQUFNQUFBQUV3QUFBQm9BQUFBaEFBQUFLQUFBQURBQUFBQXBBQUFBSWdBQUFCc0FBQUFVQUFBQURRQUFBQVlBQUFBT0FBQUFGUUFBQUJ3QUFBQWpBQUFBS2dBQUFERUFBQUF5QUFBQUt3QUFBQ1FBQUFBZEFBQUFGZ0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUEwQUFBQUxRQUFBQ1lBQUFBdUFBQUFOUUFBQURZQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJQXZ0QWdFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUNBQUFBQVpBQUFBRWdBQUFBc0FBQUFFQUFBQUJRQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQW9BQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBS3dBQUFDUUFBQUFkQUFBQUpRQUFBQ3dBQUFBdEFBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBaUFBQUFHd0FBQUJRQUFBQWNBQUFBSXdBQUFDUUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSXd2ZEFRRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFCa0FBQUFTQUFBQUN3QUFBQk1BQUFBYUFBQUFHd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBQUFBQUFBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFLQUFBQUVRQUFBQklBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIRUpRdVVCQUVBQUFBSUFBQUFDUUFBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFDQkFSMWFEZ0tHSlJBREZCRVNCQXNJRkFYWUF4Y0cyZ0VaQitVQUhBaHZBQjRKTmdBaENob0FJd3NOQUFrTUJnQUtEUU1BREEwQkFJOFBmMW9rRUNVL0poSHlMQ2NTZkNBb0U3a1hLaFNDRVNzVjd3d3RGcUVKTGhjdkJ6QVlYQVV4R1FZRU14b0RBelFiUUFJMkhMRUJPQjFFQVRrZTlRQTdIN2NBUENDS0FENGhhQUEvSWs0QUlDTTdBQ0VKTEFDbEplRmFRQ1pNU0VFbkRUcERLUEV1UkNrZkprVXFNeDlHSzZnWlNDd1lGVWt0ZHhGS0xuUU9TeS83QzAwdytBbE9NV0VJVHpJR0J6QXp6UVV5Tk40RU1qVVBCRE0yWXdNME45UUNOVGhjQWpZNStBRTNPcVFCT0R0Z0FUazhKUUU2UGZZQU96N0xBRDAvcXdBOUlJOEF3VUVTVzFCQ0JFMVJReXhCVWtUWU4xTkY2QzlVUmp3cFZrZDVJMWRJM3g1WFNha2FTRXBPRjBoTEpCUktUSndSU2sxckQwdE9VUTFOVDdZTFRUQkFDdEJSTWxoWVVoeE5XVk9PUTFwVTNUdGJWZTQwWEZhdUxsMVhtaWxXUnhZbDJGbHdWVjlhcVV4Z1c5bEVZVndpUG1OZEpEaGpYclF5WFZZWEx0OWdxRlpsWVVaUFptTGxSMmRqejBGb1pEMDhZMTFlTjJsbU1WSnFadzlNYTJnNVJtZGpYa0hwYWlkV2JHdm5VRzFuaFV0dWJaZFZiMnRQVU81dkVGcHdiU0pWOEcvcldYRnhIVm9BUWVFcEMvQUJRTVZZbjFOQ1N3QkFTVEtqSXFnUnhWZ2hlL3h6WW1qRldMOUZDekIrR0o5VC9ITkJiVlJpbjFPelFVRXRFaGRDUzJKb1ZHSitXRUpMSVR1NktNTVVBRURGV0o5VFFrc0FRRWt5b3lLb0VVa3l2MFd6UVNFN1NUS0NKemNiNEEyaklnc3dRUzI2S0tNaU54dS9FbzRKcUJGK0dCSVh3eFNvRWVBTmpnbmZCQUFBQUFBQUFQQS83MkZJc1ZBeDlqL0tiMDJScnVmMFA2b1JiTzlpMFBJL0FBQUFBQUFBOEQ4N3Y2ZkFhU1RwUDdzZ3gzdDZVZUUvWGF0eTNsV28wVDhBQUFBQUFRQUFBQUlBQUFBREFBQUFBQUFBQUFFQUFBQUZBQUFBQWdBQUFBUUFBQUFHQUFBQUF3QUFBQWNBQUFBSUFFSGtLd3VkQVFFQUFBQUZBQUFBQmdBQUFBSUFBQUFFQUFBQUJ3QUFBQXdBQUFBREFBQUFDQUFBQUFzQUFBQU5BQUFBQ1FBQUFBb0FBQUFPQUFBQUR3QUFBQUFBQUFBQkFBQUFCUUFBQUFZQUFBQU9BQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQThBQUFBREFBQUFDQUFBQUF3QUFBQVFBQUFBRlFBQUFBa0FBQUFMQUFBQUVRQUFBQlFBQUFBV0FBQUFDZ0FBQUJJQUFBQVRBQUFBRndBQUFCZ0FRWlF0QzgwQ0FRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQmtBQUFBREFBQUFDQUFBQUF3QUFBQVJBQUFBR0FBQUFCb0FBQUFKQUFBQUN3QUFBQklBQUFBWEFBQUFHd0FBQUNBQUFBQUtBQUFBRXdBQUFCWUFBQUFjQUFBQUh3QUFBQ0VBQUFBVUFBQUFGUUFBQUIwQUFBQWVBQUFBSWdBQUFDTUFBQUFBQUFBQUFRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQWJBQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQkFBQUFBYUFBQUFIQUFBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhRQUFBQ1lBQUFBSkFBQUFDd0FBQUJJQUFBQVlBQUFBSGdBQUFDVUFBQUFuQUFBQUNnQUFBQk1BQUFBWEFBQUFId0FBQUNRQUFBQW9BQUFBTFFBQUFCUUFBQUFXQUFBQUlBQUFBQ01BQUFBcEFBQUFMQUFBQUM0QUFBQVZBQUFBSVFBQUFDSUFBQUFxQUFBQUt3QUFBQzhBQUFBd0FFSDBMd3ZRQkFFQUFBQUZBQUFBQmdBQUFBNEFBQUFQQUFBQUd3QUFBQndBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCb0FBQUFkQUFBQUtnQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSGdBQUFDa0FBQUFyQUFBQUNRQUFBQXNBQUFBU0FBQUFHQUFBQUI4QUFBQW9BQUFBTEFBQUFEVUFBQUFLQUFBQUV3QUFBQmNBQUFBZ0FBQUFKd0FBQUMwQUFBQTBBQUFBTmdBQUFCUUFBQUFXQUFBQUlRQUFBQ1lBQUFBdUFBQUFNd0FBQURjQUFBQThBQUFBRlFBQUFDSUFBQUFsQUFBQUx3QUFBRElBQUFBNEFBQUFPd0FBQUQwQUFBQWpBQUFBSkFBQUFEQUFBQUF4QUFBQU9RQUFBRG9BQUFBK0FBQUFQd0FBQUFBQUFBQUJBQUFBQXdBQUFBY0FBQUFQQUFBQUh3QUFBRDhBQUFCL0FBQUEvd0FBQVA4QkFBRC9Bd0FBL3djQUFQOFBBQUQvSHdBQS96OEFBUDkvQUFBQXdERHdETXc4L0FQRE0vTVB6ei8vZ0VDd2NJeE12SHlEUTdOemowKy9meURnRU5BczdCemNJK01UMHkvdkg5K2dZSkJRckd5Y1hLTmprMU92YjU5ZkNNZzQrQVRFTlBRTHl6djdCOGMzOTRoSXVIaUVSTFIwaTB1N2U0ZEh0M2NvNkJqWUpPUVUxQ3ZyRzlzbjV4ZlhxR2lZV0tSa2xGU3JhNXRicDJlWFZ3TENNdklPemo3K0FjRXg4UTNOUGYyQ1FySnlqazYrZm9GQnNYR05UYjE5SXVJUzBpN3VIdDRoNFJIUkxlMGQzYUppa2xLdWJwNWVvV0dSVWExdG5WMEt5anI2QnNZMjlnbkpPZmtGeFRYMWlrcTZlb1pHdG5hSlNibDVoVVcxZFNycUd0b201aGJXS2VrWjJTWGxGZFdxYXBwYXBtYVdWcWxwbVZtbFpaVlYzaElFbFFBQUFBRC8vLy8vLy8vLy8vLy8vLzhBUWRBMEM4d0JBZ0FBd0FNQUFNQUVBQURBQlFBQXdBWUFBTUFIQUFEQUNBQUF3QWtBQU1BS0FBREFDd0FBd0F3QUFNQU5BQURBRGdBQXdBOEFBTUFRQUFEQUVRQUF3QklBQU1BVEFBREFGQUFBd0JVQUFNQVdBQURBRndBQXdCZ0FBTUFaQUFEQUdnQUF3QnNBQU1BY0FBREFIUUFBd0I0QUFNQWZBQURBQUFBQXN3RUFBTU1DQUFEREF3QUF3d1FBQU1NRkFBRERCZ0FBd3djQUFNTUlBQUREQ1FBQXd3b0FBTU1MQUFERERBQUF3dzBBQU5NT0FBREREd0FBd3dBQURMc0JBQXpEQWdBTXd3TUFETU1FQUF6VEFFR2tPZ3Y1QXdFQUFBQUNBQUFBQXdBQUFBUUFBQUFGQUFBQUJnQUFBQWNBQUFBSUFBQUFDUUFBQUFvQUFBQUxBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUlRQUFBQ0lBQUFBakFBQUFKQUFBQUNVQUFBQW1BQUFBSndBQUFDZ0FBQUFwQUFBQUtnQUFBQ3NBQUFBc0FBQUFMUUFBQUM0QUFBQXZBQUFBTUFBQUFERUFBQUF5QUFBQU13QUFBRFFBQUFBMUFBQUFOZ0FBQURjQUFBQTRBQUFBT1FBQUFEb0FBQUE3QUFBQVBBQUFBRDBBQUFBK0FBQUFQd0FBQUVBQUFBQmhBQUFBWWdBQUFHTUFBQUJrQUFBQVpRQUFBR1lBQUFCbkFBQUFhQUFBQUdrQUFBQnFBQUFBYXdBQUFHd0FBQUJ0QUFBQWJnQUFBRzhBQUFCd0FBQUFjUUFBQUhJQUFBQnpBQUFBZEFBQUFIVUFBQUIyQUFBQWR3QUFBSGdBQUFCNUFBQUFlZ0FBQUZzQUFBQmNBQUFBWFFBQUFGNEFBQUJmQUFBQVlBQUFBR0VBQUFCaUFBQUFZd0FBQUdRQUFBQmxBQUFBWmdBQUFHY0FBQUJvQUFBQWFRQUFBR29BQUFCckFBQUFiQUFBQUcwQUFBQnVBQUFBYndBQUFIQUFBQUJ4QUFBQWNnQUFBSE1BQUFCMEFBQUFkUUFBQUhZQUFBQjNBQUFBZUFBQUFIa0FBQUI2QUFBQWV3QUFBSHdBQUFCOUFBQUFmZ0FBQUg4QVFhREVBQXYvQVFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFNZ0FpQUNJQUlnQWlBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQllBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QWpZQ05nSTJBallDTmdJMkFqWUNOZ0kyQWpZQk1BRXdBVEFCTUFFd0FUQUJNQUkxUWpWQ05VSTFRalZDTlVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkJNQUV3QVRBQk1BRXdBVEFDTllJMWdqV0NOWUkxZ2pXQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnVEFCTUFFd0FUQUFnQkJwTXdBQy9rREFRQUFBQUlBQUFBREFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQXNBQUFBTUFBQUFEUUFBQUE0QUFBQVBBQUFBRUFBQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBVkFBQUFGZ0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDTUFBQUFrQUFBQUpRQUFBQ1lBQUFBbkFBQUFLQUFBQUNrQUFBQXFBQUFBS3dBQUFDd0FBQUF0QUFBQUxnQUFBQzhBQUFBd0FBQUFNUUFBQURJQUFBQXpBQUFBTkFBQUFEVUFBQUEyQUFBQU53QUFBRGdBQUFBNUFBQUFPZ0FBQURzQUFBQThBQUFBUFFBQUFENEFBQUEvQUFBQVFBQUFBRUVBQUFCQ0FBQUFRd0FBQUVRQUFBQkZBQUFBUmdBQUFFY0FBQUJJQUFBQVNRQUFBRW9BQUFCTEFBQUFUQUFBQUUwQUFBQk9BQUFBVHdBQUFGQUFBQUJSQUFBQVVnQUFBRk1BQUFCVUFBQUFWUUFBQUZZQUFBQlhBQUFBV0FBQUFGa0FBQUJhQUFBQVd3QUFBRndBQUFCZEFBQUFYZ0FBQUY4QUFBQmdBQUFBUVFBQUFFSUFBQUJEQUFBQVJBQUFBRVVBQUFCR0FBQUFSd0FBQUVnQUFBQkpBQUFBU2dBQUFFc0FBQUJNQUFBQVRRQUFBRTRBQUFCUEFBQUFVQUFBQUZFQUFBQlNBQUFBVXdBQUFGUUFBQUJWQUFBQVZnQUFBRmNBQUFCWUFBQUFXUUFBQUZvQUFBQjdBQUFBZkFBQUFIMEFBQUIrQUFBQWZ3QkJvTlFBQzZFQ0NnQUFBR1FBQUFEb0F3QUFFQ2NBQUtDR0FRQkFRZzhBZ0phWUFBRGg5UVgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBRUNBd1FGQmdjSUNmLy8vLy8vLy84S0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSS8vLy8vLy8vd29MREEwT0R4QVJFaE1VRlJZWEdCa2FHeHdkSGg4Z0lTSWovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QkIwTllBQ3hnUkFBb0FFUkVSQUFBQUFBVUFBQUFBQUFBSkFBQUFBQXNBUWZEV0FBc2hFUUFQQ2hFUkVRTUtCd0FCRXdrTEN3QUFDUVlMQUFBTEFBWVJBQUFBRVJFUkFFR2gxd0FMQVFzQVFhclhBQXNZRVFBS0NoRVJFUUFLQUFBQ0FBa0xBQUFBQ1FBTEFBQUxBRUhiMXdBTEFRd0FRZWZYQUFzVkRBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BRUdWMkFBTEFRNEFRYUhZQUFzVkRRQUFBQVFOQUFBQUFBa09BQUFBQUFBT0FBQU9BRUhQMkFBTEFSQUFRZHZZQUFzZUR3QUFBQUFQQUFBQUFBa1FBQUFBQUFBUUFBQVFBQUFTQUFBQUVoSVNBRUdTMlFBTERoSUFBQUFTRWhJQUFBQUFBQUFKQUVIRDJRQUxBUXNBUWMvWkFBc1ZDZ0FBQUFBS0FBQUFBQWtMQUFBQUFBQUxBQUFMQUVIOTJRQUxBUXdBUVluYUFBdCtEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUFBd01USXpORFUyTnpnNVFVSkRSRVZHR1JKRU93SS9MRWNVUFRNd0Noc0dSa3RGTnc5SkRvNFhBMEFkUEdrck5oOUtMUndCSUNVcElRZ01GUllpTGhBNFBnczBNUmhrZEhWMkwwRUpmemtSSTBNeVFvbUtpd1VFSmlnbkRTb2VOWXdIR2tpVEU1U1ZBRUdRMndBTDF3NUpiR3hsWjJGc0lHSjVkR1VnYzJWeGRXVnVZMlVBUkc5dFlXbHVJR1Z5Y205eUFGSmxjM1ZzZENCdWIzUWdjbVZ3Y21WelpXNTBZV0pzWlFCT2IzUWdZU0IwZEhrQVVHVnliV2x6YzJsdmJpQmtaVzVwWldRQVQzQmxjbUYwYVc5dUlHNXZkQ0J3WlhKdGFYUjBaV1FBVG04Z2MzVmphQ0JtYVd4bElHOXlJR1JwY21WamRHOXllUUJPYnlCemRXTm9JSEJ5YjJObGMzTUFSbWxzWlNCbGVHbHpkSE1BVm1Gc2RXVWdkRzl2SUd4aGNtZGxJR1p2Y2lCa1lYUmhJSFI1Y0dVQVRtOGdjM0JoWTJVZ2JHVm1kQ0J2YmlCa1pYWnBZMlVBVDNWMElHOW1JRzFsYlc5eWVRQlNaWE52ZFhKalpTQmlkWE41QUVsdWRHVnljblZ3ZEdWa0lITjVjM1JsYlNCallXeHNBRkpsYzI5MWNtTmxJSFJsYlhCdmNtRnlhV3g1SUhWdVlYWmhhV3hoWW14bEFFbHVkbUZzYVdRZ2MyVmxhd0JEY205emN5MWtaWFpwWTJVZ2JHbHVhd0JTWldGa0xXOXViSGtnWm1sc1pTQnplWE4wWlcwQVJHbHlaV04wYjNKNUlHNXZkQ0JsYlhCMGVRQkRiMjV1WldOMGFXOXVJSEpsYzJWMElHSjVJSEJsWlhJQVQzQmxjbUYwYVc5dUlIUnBiV1ZrSUc5MWRBQkRiMjV1WldOMGFXOXVJSEpsWm5WelpXUUFTRzl6ZENCcGN5QmtiM2R1QUVodmMzUWdhWE1nZFc1eVpXRmphR0ZpYkdVQVFXUmtjbVZ6Y3lCcGJpQjFjMlVBUW5KdmEyVnVJSEJwY0dVQVNTOVBJR1Z5Y205eUFFNXZJSE4xWTJnZ1pHVjJhV05sSUc5eUlHRmtaSEpsYzNNQVFteHZZMnNnWkdWMmFXTmxJSEpsY1hWcGNtVmtBRTV2SUhOMVkyZ2daR1YyYVdObEFFNXZkQ0JoSUdScGNtVmpkRzl5ZVFCSmN5QmhJR1JwY21WamRHOXllUUJVWlhoMElHWnBiR1VnWW5WemVRQkZlR1ZqSUdadmNtMWhkQ0JsY25KdmNnQkpiblpoYkdsa0lHRnlaM1Z0Wlc1MEFFRnlaM1Z0Wlc1MElHeHBjM1FnZEc5dklHeHZibWNBVTNsdFltOXNhV01nYkdsdWF5QnNiMjl3QUVacGJHVnVZVzFsSUhSdmJ5QnNiMjVuQUZSdmJ5QnRZVzU1SUc5d1pXNGdabWxzWlhNZ2FXNGdjM2x6ZEdWdEFFNXZJR1pwYkdVZ1pHVnpZM0pwY0hSdmNuTWdZWFpoYVd4aFlteGxBRUpoWkNCbWFXeGxJR1JsYzJOeWFYQjBiM0lBVG04Z1kyaHBiR1FnY0hKdlkyVnpjd0JDWVdRZ1lXUmtjbVZ6Y3dCR2FXeGxJSFJ2YnlCc1lYSm5aUUJVYjI4Z2JXRnVlU0JzYVc1cmN3Qk9ieUJzYjJOcmN5QmhkbUZwYkdGaWJHVUFVbVZ6YjNWeVkyVWdaR1ZoWkd4dlkyc2dkMjkxYkdRZ2IyTmpkWElBVTNSaGRHVWdibTkwSUhKbFkyOTJaWEpoWW14bEFGQnlaWFpwYjNWeklHOTNibVZ5SUdScFpXUUFUM0JsY21GMGFXOXVJR05oYm1ObGJHVmtBRVoxYm1OMGFXOXVJRzV2ZENCcGJYQnNaVzFsYm5SbFpBQk9ieUJ0WlhOellXZGxJRzltSUdSbGMybHlaV1FnZEhsd1pRQkpaR1Z1ZEdsbWFXVnlJSEpsYlc5MlpXUUFSR1YyYVdObElHNXZkQ0JoSUhOMGNtVmhiUUJPYnlCa1lYUmhJR0YyWVdsc1lXSnNaUUJFWlhacFkyVWdkR2x0Wlc5MWRBQlBkWFFnYjJZZ2MzUnlaV0Z0Y3lCeVpYTnZkWEpqWlhNQVRHbHVheUJvWVhNZ1ltVmxiaUJ6WlhabGNtVmtBRkJ5YjNSdlkyOXNJR1Z5Y205eUFFSmhaQ0J0WlhOellXZGxBRVpwYkdVZ1pHVnpZM0pwY0hSdmNpQnBiaUJpWVdRZ2MzUmhkR1VBVG05MElHRWdjMjlqYTJWMEFFUmxjM1JwYm1GMGFXOXVJR0ZrWkhKbGMzTWdjbVZ4ZFdseVpXUUFUV1Z6YzJGblpTQjBiMjhnYkdGeVoyVUFVSEp2ZEc5amIyd2dkM0p2Ym1jZ2RIbHdaU0JtYjNJZ2MyOWphMlYwQUZCeWIzUnZZMjlzSUc1dmRDQmhkbUZwYkdGaWJHVUFVSEp2ZEc5amIyd2dibTkwSUhOMWNIQnZjblJsWkFCVGIyTnJaWFFnZEhsd1pTQnViM1FnYzNWd2NHOXlkR1ZrQUU1dmRDQnpkWEJ3YjNKMFpXUUFVSEp2ZEc5amIyd2dabUZ0YVd4NUlHNXZkQ0J6ZFhCd2IzSjBaV1FBUVdSa2NtVnpjeUJtWVcxcGJIa2dibTkwSUhOMWNIQnZjblJsWkNCaWVTQndjbTkwYjJOdmJBQkJaR1J5WlhOeklHNXZkQ0JoZG1GcGJHRmliR1VBVG1WMGQyOXlheUJwY3lCa2IzZHVBRTVsZEhkdmNtc2dkVzV5WldGamFHRmliR1VBUTI5dWJtVmpkR2x2YmlCeVpYTmxkQ0JpZVNCdVpYUjNiM0pyQUVOdmJtNWxZM1JwYjI0Z1lXSnZjblJsWkFCT2J5QmlkV1ptWlhJZ2MzQmhZMlVnWVhaaGFXeGhZbXhsQUZOdlkydGxkQ0JwY3lCamIyNXVaV04wWldRQVUyOWphMlYwSUc1dmRDQmpiMjV1WldOMFpXUUFRMkZ1Ym05MElITmxibVFnWVdaMFpYSWdjMjlqYTJWMElITm9kWFJrYjNkdUFFOXdaWEpoZEdsdmJpQmhiSEpsWVdSNUlHbHVJSEJ5YjJkeVpYTnpBRTl3WlhKaGRHbHZiaUJwYmlCd2NtOW5jbVZ6Y3dCVGRHRnNaU0JtYVd4bElHaGhibVJzWlFCU1pXMXZkR1VnU1M5UElHVnljbTl5QUZGMWIzUmhJR1Y0WTJWbFpHVmtBRTV2SUcxbFpHbDFiU0JtYjNWdVpBQlhjbTl1WnlCdFpXUnBkVzBnZEhsd1pRQk9ieUJsY25KdmNpQnBibVp2Y20xaGRHbHZiZ0FBQUFBQUFFeERYME5VV1ZCRkFBQUFBRXhEWDA1VlRVVlNTVU1BQUV4RFgxUkpUVVVBQUFBQUFFeERYME5QVEV4QlZFVUFBRXhEWDAxUFRrVlVRVkpaQUV4RFgwMUZVMU5CUjBWVEFFSHc2UUFMbHdJREFBQUFCQUFBQUFRQUFBQUdBQUFBZy9taUFFUk9iZ0Q4S1JVQTBWY25BTjAwOVFCaTI4QUFQSm1WQUVHUVF3QmpVZjRBdTk2ckFMZGh4UUE2YmlRQTBrMUNBRWtHNEFBSjZpNEFISkxSQU9zZC9nQXBzUndBNkQ2bkFQVTFnZ0JFdXk0QW5PbUVBTFFtY0FCQmZsOEExcEU1QUZPRE9RQ2M5RGtBaTErRUFDajV2UUQ0SHpzQTN2K1hBQStZQlFBUkwrOEFDbHFMQUcwZmJRRFBmallBQ2NzbkFFWlB0d0NlWmo4QUxlcGZBTG9uZFFEbDY4Y0FQWHZ4QVBjNUJ3Q1NVb29BKzJ2cUFCK3hYd0FJWFkwQU1BTldBSHY4UmdEd3Eyc0FJTHpQQURiMG1nRGpxUjBBWG1HUkFBZ2I1Z0NGbVdVQW9CUmZBSTFBYUFDQTJQOEFKM05OQUFZR01RREtWaFVBeWFoekFIdmlZQUJyak1BQVFaUHNBQXY5QTBEN0lmay9BQUFBQUMxRWRENEFBQUNBbUViNFBBQUFBR0JSekhnN0FBQUFnSU1iOERrQUFBQkFJQ1Y2T0FBQUFJQWlndU0yQUFBQUFCM3phVFU0WSswKzJnOUpQMTZZZXovYUQ4ay9hVGVzTVdnaElqTzBEeFF6YUNHaU13QUFBQUFDQUFBQUF3QUFBQVVBQUFBSEFBQUFDd0FBQUEwQUFBQVJBQUFBRXdBQUFCY0FBQUFkQUFBQUh3QUFBQ1VBQUFBcEFBQUFLd0FBQUM4QUFBQTFBQUFBT3dBQUFEMEFBQUJEQUFBQVJ3QUFBRWtBQUFCUEFBQUFVd0FBQUZrQUFBQmhBQUFBWlFBQUFHY0FBQUJyQUFBQWJRQUFBSEVBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBbFFBQUFKY0FBQUNkQUFBQW93QUFBS2NBQUFDdEFBQUFzd0FBQUxVQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTB3QUFBQUVBQUFBTEFBQUFEUUFBQUJFQUFBQVRBQUFBRndBQUFCMEFBQUFmQUFBQUpRQUFBQ2tBQUFBckFBQUFMd0FBQURVQUFBQTdBQUFBUFFBQUFFTUFBQUJIQUFBQVNRQUFBRThBQUFCVEFBQUFXUUFBQUdFQUFBQmxBQUFBWndBQUFHc0FBQUJ0QUFBQWNRQUFBSGtBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBandBQUFKVUFBQUNYQUFBQW5RQUFBS01BQUFDbkFBQUFxUUFBQUswQUFBQ3pBQUFBdFFBQUFMc0FBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwUUFBQURBeE1qTTBOVFkzT0RsaFltTmtaV1pCUWtORVJVWjRXQ3N0Y0ZCcFNXNU9BRUdnOEFBTGdRRWxBQUFBYlFBQUFDOEFBQUFsQUFBQVpBQUFBQzhBQUFBbEFBQUFlUUFBQUNVQUFBQlpBQUFBTFFBQUFDVUFBQUJ0QUFBQUxRQUFBQ1VBQUFCa0FBQUFKUUFBQUVrQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFBZ0FBQUFKUUFBQUhBQUFBQUFBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBUWJEeEFBdTVBU1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUJRUlFBQUUyTUFBSGhGQUFEWmJ3QUE4RGdBQUFBQUFBQjRSUUFBN1hJQUFLZzdBQUFBQUFBQWVFVUFBR2wrQUFDNFFnQUFBQUFBQUhoRkFBQVprQUFBdUVJQUFBQUFBQUI0UlFBQWpaQUFBTGhDQUFBQUFBQUE1RVVBQUp5bkFBQUFBQUFBQVFBQUFHQTVBQUFBQUFBQVVFVUFBTnVuQUFBRkFFSDA4Z0FMQVFJQVFZenpBQXNLQVFBQUFBRUFBQUNtNmdCQnBQTUFDd0VDQUVHejh3QUxCZi8vLy8vL0FFSDQ4d0FMQVFrQVFZVDBBQXNCQWdCQm1QUUFDeElDQUFBQUFBQUFBQUVBQUFCbzBnQUFBQVFBUWNUMEFBc0UvLy8vL3dCQmlQVUFDd0VGQUVHVTlRQUxBUU1BUWF6MUFBc09BUUFBQUFJQUFBQjQxZ0FBQUFRQVFjVDFBQXNCQVFCQjAvVUFDd1VLLy8vLy93QkJ2UFlBQ3dFREFFSGo5Z0FMQmYvLy8vLy9BRUdvOXdBTDF4QlFSUUFBL3I4QUFIaEZBQUJld0FBQXdEc0FBQUFBQUFCNFJRQUFDOEFBQU5BN0FBQUFBQUFBVUVVQUFDekFBQUI0UlFBQU9jQUFBTEE3QUFBQUFBQUFlRVVBQUtqQUFBQ29Pd0FBQUFBQUFIaEZBQUM0d0FBQTZEc0FBQUFBQUFCNFJRQUF5Y0FBQU1BN0FBQUFBQUFBZUVVQUFPdkFBQUFJUEFBQUFBQUFBSGhGQUFBUHdRQUF3RHNBQUFBQUFBRElSUUFBTjhFQUFNaEZBQUE1d1FBQXlFVUFBRHZCQUFESVJRQUFQY0VBQU1oRkFBQS93UUFBeUVVQUFFSEJBQURJUlFBQVE4RUFBTWhGQUFCRndRQUF5RVVBQUVmQkFBRElSUUFBWnNvQUFNaEZBQUJKd1FBQXlFVUFBRXZCQUFESVJRQUFUY0VBQUhoRkFBQlB3UUFBc0RzQUFBQUFBQUJRUlFBQXNNUUFBRkJGQUFEUHhBQUFVRVVBQU83RUFBQlFSUUFBRGNVQUFGQkZBQUFzeFFBQVVFVUFBRXZGQUFCUVJRQUFhc1VBQUZCRkFBQ0p4UUFBVUVVQUFLakZBQUJRUlFBQXg4VUFBRkJGQUFEbXhRQUFVRVVBQUFYR0FBQlFSUUFBSk1ZQUFPUkZBQUEzeGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQjV4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFDN3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUQ2eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQUhoRkFBQkx4d0FBaUQwQUFBQUFBQUJRUlFBQU9jY0FBSGhGQUFCMXh3QUFpRDBBQUFBQUFBQlFSUUFBbjhjQUFGQkZBQURReHdBQTVFVUFBQUhJQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFERElBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy81RVVBQUYvSUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBSTdJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vZUVVQUFMM0lBQUNvUFFBQUFBQUFBSGhGQUFEV3lBQUFvRDBBQUFBQUFBQjRSUUFBRmNrQUFLZzlBQUFBQUFBQWVFVUFBQzNKQUFDZ1BRQUFBQUFBQUhoRkFBQkZ5UUFBWUQ0QUFBQUFBQUI0UlFBQVdja0FBTEJDQUFBQUFBQUFlRVVBQUcvSkFBQmdQZ0FBQUFBQUFPUkZBQUNJeVFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUtBK0FBQUFBQUFBNUVVQUFNekpBQUFBQUFBQUFRQUFBTGcrQUFBQUFBQUFVRVVBQU9MSkFBRGtSUUFBKzhrQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEZ1BnQUFBQUFBQU9SRkFBQS95Z0FBQUFBQUFBRUFBQUM0UGdBQUFBQUFBT1JGQUFCb3lnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFCZy9BQUFBQUFBQTVFVUFBS3pLQUFBQUFBQUFBUUFBQURBL0FBQUFBQUFBVUVVQUFNTEtBQURrUlFBQTI4b0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQllQd0FBQUFBQUFPUkZBQUFmeXdBQUFBQUFBQUVBQUFBd1B3QUFBQUFBQU9SRkFBQjF6QUFBQUFBQUFBTUFBQUJnUGdBQUFnQUFBSmcvQUFBQ0FBQUFvRDhBQUFBSUFBQlFSUUFBM013QUFGQkZBQUM2ekFBQTVFVUFBTy9NQUFBQUFBQUFBd0FBQUdBK0FBQUNBQUFBbUQ4QUFBSUFBQURRUHdBQUFBZ0FBRkJGQUFBMHpRQUE1RVVBQUZiTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQStEOEFBQUFJQUFCUVJRQUFtODBBQU9SRkFBQ3d6UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBUGcvQUFBQUNBQUE1RVVBQVBYTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFCUVJRQUFFYzRBQU9SRkFBQW16Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJBQUFBQ0FBQUE1RVVBQUVMT0FBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFEa1JRQUFYczRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJBUUFBQUFnQUFBT1JGQUFDSnpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNaEFBQUFBQUFBQVVFVUFBTS9PQUFEa1JRQUE4ODRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUR3UUFBQUFBQUFBRkJGQUFBNXp3QUE1RVVBQUZqUEFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQUdFRUFBQUFBQUFCUVJRQUFuczhBQU9SRkFBQzN6d0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJCQUFBQUFBQUFVRVVBQVAzUEFBRGtSUUFBRnRBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCb1FRQUFBZ0FBQUZCRkFBQXIwQUFBNUVVQUFNTFFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUVBQUFJQUFBQjRSUUFBUTlBQUFLQkJBQUFBQUFBQTVFVUFBR2JRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUJRUlFBQWlkQUFBSGhGQUFDZzBBQUFvRUVBQUFBQUFBRGtSUUFBMTlBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEQVFRQUFBZ0FBQU9SRkFBRDUwQUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTUJCQUFBQ0FBQUE1RVVBQUJ2UkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCNFJRQUFQdEVBQUdBK0FBQUFBQUFBNUVVQUFGVFJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUlBQUFJQUFBQlFSUUFBWnRFQUFPUkZBQUI3MFFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUdoQ0FBQUNBQUFBZUVVQUFKalJBQUJnUGdBQUFBQUFBSGhGQUFDdDBRQUFZRDRBQUFBQUFBQlFSUUFBd3RFQUFPUkZBQURiMFFBQUFBQUFBQUVBQUFDd1FnQUFBQUFBQUFFQUFBQUFBQUFBK0RnQUFBRUFBQUFDQUFBQUFBQUFBUEE0QUFBREFBQUFCQUFBQUFBQUFBQUlPUUFBQlFBQUFBWUFBQUFCQUFBQXVWS01QbzVhNXo2NVVvdytBQUFBQUJnNUFBQUhBQUFBQ0FBQUFBa0FBQUFCQUFBQUNnQUFBQUFBQUFBb09RQUFCd0FBQUFzQUFBQU1BQUFBQWdBQUFBMEFBQUFBQUFBQU9Ea0FBQWNBQUFBT0FBQUFEd0FBQUFNQUFBQVFBQUFBLy8vLy8vNy8vLy85Ly8vL09Ed0FBSEE4QUFDUVBBQUFPRHdBQUhBOEFBQndQQUFBbUR3QUFIQThBQUE0UEFBQWNEd0FBSmc4QUFCd1BBQUFPRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQWNEd0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBQVFBQUFBQUFBQUFDQUFBQVFBWUFBSUErQUFBQUFBQUFpQk1BQURBYUFBQVVBQUFBUXk1VlZFWXRPQUJCaklnQkN3THdRd0JCcElnQkN4Sm9PUUFBK0RrQUFJZzZBQUNJT2dBQUlCMEFRZWlKQVFzQ2pPSUFRYUNLQVF1OUVpQWlBQUFnSmdBQVgzQ0pBUDhKTHc4QUFJQS9BQURBUHdBQUFBRGN6OUUxQUFBQUFBREFGVDhBQUFBQXNEc0FBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQUVBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBTmc3QUFBUkFBQUFGUUFBQUJNQUFBQVVBQUFBQkFBQUFBSUFBQUFDQUFBQUFnQUFBQUFBQUFEb093QUFGZ0FBQUJjQUFBQUVBQUFBQUFBQUFQZzdBQUFXQUFBQUdBQUFBQVFBQUFBQUFBQUFLRHdBQUJFQUFBQVpBQUFBRXdBQUFCUUFBQUFGQUFBQUFBQUFBS0E4QUFBUkFBQUFHZ0FBQUJNQUFBQVVBQUFBQkFBQUFBTUFBQUFEQUFBQUF3QUFBQUFBQUFDSVBRQUFHd0FBQUJ3QUFBQUFBQUFBb0QwQUFCMEFBQUFlQUFBQUFRQUFBQVlBQUFBQkFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQWdBQUFBRkFBQUFBQUFBQUtnOUFBQWZBQUFBSUFBQUFBSUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQUxBQUFBREFBQUFBWUFBQUFMQUFBQUJ3QUFBQWdBQUFBQUFBQUFzRDBBQUNFQUFBQWlBQUFBK1AvLy8vai8vLyt3UFFBQUl3QUFBQ1FBQUFDZ1JnQUF0RVlBQUFnQUFBQUFBQUFBeUQwQUFDVUFBQUFtQUFBQStQLy8vL2ovLy8vSVBRQUFKd0FBQUNnQUFBRFFSZ0FBNUVZQUFBUUFBQUFBQUFBQTREMEFBQ2tBQUFBcUFBQUEvUC8vLy96Ly8vL2dQUUFBS3dBQUFDd0FBQUFBUndBQUZFY0FBQVFBQUFBQUFBQUErRDBBQUMwQUFBQXVBQUFBL1AvLy8vei8vLy80UFFBQUx3QUFBREFBQUFBd1J3QUFSRWNBQUFBQUFBQVFQZ0FBSHdBQUFERUFBQUFEQUFBQUNRQUFBQUlBQUFBRkFBQUFEUUFBQUFvQUFBQUtBQUFBQ3dBQUFBd0FBQUFHQUFBQURBQUFBQWdBQUFBQUFBQUFJRDRBQUIwQUFBQXlBQUFBQkFBQUFBWUFBQUFCQUFBQUJBQUFBQTRBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBMEFBQUFKQUFBQUFBQUFBREErQUFBZkFBQUFNd0FBQUFVQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBUEFBQUFFQUFBQUFvQUFBQUxBQUFBQndBQUFBQUFBQUJBUGdBQUhRQUFBRFFBQUFBR0FBQUFCZ0FBQUFFQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUVRQUFBQklBQUFBTEFBQUFDQUFBQUFVQUFBQUFBQUFBVUQ0QUFEVUFBQUEyQUFBQU53QUFBQUVBQUFBR0FBQUFEZ0FBQUFBQUFBQndQZ0FBT0FBQUFEa0FBQUEzQUFBQUFnQUFBQWNBQUFBUEFBQUFBQUFBQUlBK0FBQTZBQUFBT3dBQUFEY0FBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQUFBQUFEQVBnQUFQQUFBQUQwQUFBQTNBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFBQUFBQStENEFBRDRBQUFBL0FBQUFOd0FBQUFNQUFBQUVBQUFBQVFBQUFBVUFBQUFDQUFBQUFRQUFBQUlBQUFBR0FBQUFBQUFBQURnL0FBQkFBQUFBUVFBQUFEY0FBQUFIQUFBQUNBQUFBQU1BQUFBSkFBQUFCQUFBQUFNQUFBQUVBQUFBQ2dBQUFBQUFBQUJ3UHdBQVFnQUFBRU1BQUFBM0FBQUFFd0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUFRQUFBUGovLy85d1B3QUFGQUFBQUJVQUFBQVdBQUFBRndBQUFCZ0FBQUFaQUFBQUdnQUFBQUFBQUFDb1B3QUFSQUFBQUVVQUFBQTNBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFBZ0FBQVBqLy8vK29Qd0FBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFBQUFBQUNVQUFBQnRBQUFBTHdBQUFDVUFBQUJrQUFBQUx3QUFBQ1VBQUFCNUFBQUFBQUFBQUNVQUFBQkpBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQndBQUFBQUFBQUFDVUFBQUJoQUFBQUlBQUFBQ1VBQUFCaUFBQUFJQUFBQUNVQUFBQmtBQUFBSUFBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJaQUFBQUFBQUFBRUVBQUFCTkFBQUFBQUFBQUZBQUFBQk5BQUFBQUFBQUFFb0FBQUJoQUFBQWJnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBUmdBQUFHVUFBQUJpQUFBQWNnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBVFFBQUFHRUFBQUJ5QUFBQVl3QUFBR2dBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBYVFBQUFHd0FBQUFBQUFBQVRRQUFBR0VBQUFCNUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFHVUFBQUFBQUFBQVNnQUFBSFVBQUFCc0FBQUFlUUFBQUFBQUFBQkJBQUFBZFFBQUFHY0FBQUIxQUFBQWN3QUFBSFFBQUFBQUFBQUFVd0FBQUdVQUFBQndBQUFBZEFBQUFHVUFBQUJ0QUFBQVlnQUFBR1VBQUFCeUFBQUFBQUFBQUU4QUFBQmpBQUFBZEFBQUFHOEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFSQUFBQUdVQUFBQmpBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFTZ0FBQUdFQUFBQnVBQUFBQUFBQUFFWUFBQUJsQUFBQVlnQUFBQUFBQUFCTkFBQUFZUUFBQUhJQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUFBQUFBQktBQUFBZFFBQUFHd0FBQUFBQUFBQVFRQUFBSFVBQUFCbkFBQUFBQUFBQUZNQUFBQmxBQUFBY0FBQUFBQUFBQUJQQUFBQVl3QUFBSFFBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBQUFBQUFFUUFBQUJsQUFBQVl3QUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBSE1BQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVndBQUFHVUFBQUJrQUFBQWJnQUFBR1VBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUJvQUFBQWRRQUFBSElBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFBQUIxQUFBQWNnQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFBQUFBQUJYQUFBQVpRQUFBR1FBQUFBQUFBQUFWQUFBQUdnQUFBQjFBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQVFlaWNBUXNSMkQ4QUFFWUFBQUJIQUFBQU53QUFBQUVBUVlHZEFRdndCVUFBQUVnQUFBQkpBQUFBTndBQUFBSUFBQUFBQUFBQUlFQUFBRW9BQUFCTEFBQUFOd0FBQUNNQUFBQWtBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQ1VBQUFBTEFBQUFEQUFBQUFBQUFBQklRQUFBVEFBQUFFMEFBQUEzQUFBQUpnQUFBQ2NBQUFBTkFBQUFEZ0FBQUE4QUFBQVFBQUFBS0FBQUFCRUFBQUFTQUFBQUFBQUFBR2hBQUFCT0FBQUFUd0FBQURjQUFBQXBBQUFBS2dBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBckFBQUFGd0FBQUJnQUFBQUFBQUFBaUVBQUFGQUFBQUJSQUFBQU53QUFBQ3dBQUFBdEFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFDNEFBQUFkQUFBQUhnQUFBQUFBQUFDb1FBQUFVZ0FBQUZNQUFBQTNBQUFBQXdBQUFBUUFBQUFBQUFBQTBFQUFBRlFBQUFCVkFBQUFOd0FBQUFVQUFBQUdBQUFBQUFBQUFQaEFBQUJXQUFBQVZ3QUFBRGNBQUFBQkFBQUFJUUFBQUFBQUFBQWdRUUFBV0FBQUFGa0FBQUEzQUFBQUFnQUFBQ0lBQUFBQUFBQUFTRUVBQUZvQUFBQmJBQUFBTndBQUFCQUFBQUFFQUFBQUh3QUFBQUFBQUFCd1FRQUFYQUFBQUYwQUFBQTNBQUFBRVFBQUFBVUFBQUFnQUFBQUFBQUFBTWhCQUFCZUFBQUFYd0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUpCQkFBQmVBQUFBWUFBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFQaEJBQUJoQUFBQVlnQUFBRGNBQUFBRkFBQUFCZ0FBQUEwQUFBQXlBQUFBTXdBQUFBNEFBQUEwQUFBQUFBQUFBRGhDQUFCakFBQUFaQUFBQURjQUFBQUFBQUFBU0VJQUFHVUFBQUJtQUFBQU53QUFBQXdBQUFBU0FBQUFEUUFBQUJNQUFBQU9BQUFBQVFBQUFCUUFBQUFQQUFBQUFBQUFBSkJDQUFCbkFBQUFhQUFBQURjQUFBQTFBQUFBTmdBQUFDRUFBQUFpQUFBQUl3QUFBQUFBQUFDZ1FnQUFhUUFBQUdvQUFBQTNBQUFBTndBQUFEZ0FBQUFrQUFBQUpRQUFBQ1lBQUFCbUFBQUFZUUFBQUd3QUFBQnpBQUFBWlFBQUFBQUFBQUIwQUFBQWNnQUFBSFVBQUFCbEFFSDhvZ0VML0lBQ1lENEFBRjRBQUFCckFBQUFOd0FBQUFBQUFBQndRZ0FBWGdBQUFHd0FBQUEzQUFBQUZRQUFBQUlBQUFBREFBQUFCQUFBQUE4QUFBQVdBQUFBRUFBQUFCY0FBQUFSQUFBQUJRQUFBQmdBQUFBUUFBQUFBQUFBQU5oQkFBQmVBQUFBYlFBQUFEY0FBQUFIQUFBQUNBQUFBQkVBQUFBNUFBQUFPZ0FBQUJJQUFBQTdBQUFBQUFBQUFCaENBQUJlQUFBQWJnQUFBRGNBQUFBSkFBQUFDZ0FBQUJNQUFBQThBQUFBUFFBQUFCUUFBQUErQUFBQUFBQUFBS0JCQUFCZUFBQUFid0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUtBL0FBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFBQUFBQU5BL0FBQWNBQUFBSFFBQUFCNEFBQUFmQUFBQUlBQUFBQ0VBQUFBaUFBQUFSWEp5YjNJNklHeGhZbVZzYVc1bklIZHZjbXNnYjNabGNtWnNiM2N1Q2dCVmJtdHViM2R1SUc5eUlIVnVjM1Z3Y0c5eWRHVmtJR3hoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElISmxjWFZsYzNSbFpDNGdVMlYwSUhSdklHMWhiblZoYkM0S0FFeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhObGRDQjBieUFsY3k0S0FFMUJUbFZCVEFCQlZWUlBYMDFGUkVsQlRnQkJWVlJQWDA5VVUxVUFRVlZVVDE5QlJFRlFWRWxXUlFCQlZWUlBYMEpTUVVOTFJWUkpUa2NBUlhKeWIzSTZJRlZ1YzNWd2NHOXlkR1ZrSUhCcGVHVnNJR1p2Y20xaGRDQW9KV1FwSUhKbGNYVmxjM1JsWkM0S0FFRjFkRzhnZEdoeVpYTm9iMnhrSUNoaWNtRmphMlYwS1NCdFlYSnJaWElnWTI5MWJuUnpJQzFiSlROa09pQWxNMlJkSUZzbE0yUTZJQ1V6WkYwZ1d5VXpaRG9nSlROa1hTc3VDZ0JCZFhSdklIUm9jbVZ6YUc5c1pDQW9ZbkpoWTJ0bGRDa2dZV1JxZFhOMFpXUWdkR2h5WlhOb2IyeGtJSFJ2SUNWa0xnb0FiV1ZrYVdGdUFFOTBjM1VBUVhWMGJ5QjBhSEpsYzJodmJHUWdLQ1Z6S1NCaFpHcDFjM1JsWkNCMGFISmxjMmh2YkdRZ2RHOGdKV1F1Q2dBL1B6OGdNUW9BUHo4L0lESUtBRDgvUHlBekNnQkZjbkp2Y2pvZ2RXNXpkWEJ3YjNKMFpXUWdjR2w0Wld3Z1ptOXliV0YwTGdvQVJYSnliM0k2SUU1VlRFd2djR0YwZEVoaGJtUnNaUzRLQUVWeWNtOXlPaUJqWVc0bmRDQnNiMkZrSUhCaGRIUmxjbTRnWm5KdmJTQk9WVXhNSUdKMVptWmxjaTRLQUVWeWNtOXlPaUJ2ZFhRZ2IyWWdiV1Z0YjNKNUxnb0FJQWtLRFFCUVlYUjBaWEp1SUVSaGRHRWdjbVZoWkNCbGNuSnZjaUVoQ2dCRmNuSnZjaUJ5WldGa2FXNW5JSEJoZEhSbGNtNGdabWxzWlNBbkpYTW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHOXdaVzRnWTJGdFpYSmhJSEJoY21GdFpYUmxjbk1nWm1sc1pTQWlKWE1pSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCbWFXeGxJR3hsYm1kMGFDNEFSWEp5YjNJNklITjFjSEJzYVdWa0lHWnBiR1VnWkc5bGN5QnViM1FnWVhCd1pXRnlJSFJ2SUdKbElHRnVJRUZTVkc5dmJFdHBkQ0JqWVcxbGNtRWdjR0Z5WVcxbGRHVnlJR1pwYkdVdUNnQkZjbkp2Y2lBb0pXUXBPaUIxYm1GaWJHVWdkRzhnY21WaFpDQm1jbTl0SUdacGJHVXVBR0Z5WjJ4RFlXMWxjbUZHY25WemRIVnRVa2dvS1RvZ1lYSlFZWEpoYlVSbFkyOXRjRTFoZENncElHbHVaR2xqWVhSbFpDQndZWEpoYldWMFpYSWdaWEp5YjNJdUNnQkZjbkp2Y2pvZ2FXTndSMlYwU2w5VlgxaGpBRVZ5Y205eUlERTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ01qb2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBek9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURRNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTlRvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUEyT2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRGM2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3VDZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUVacGNuTjBJR3hwYm1VZ2JYVnpkQ0JpWlNCdWRXMWlaWElnYjJZZ2JXRnlhMlZ5SUdOdmJtWnBaM01nZEc4Z2NtVmhaQzRLQUNWc2JIVWxZd0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUhCaGRIUmxjbTRnSnlWekp5QnpjR1ZqYVdacFpXUWdhVzRnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuZFhKaGRHbHZiaUIzYUdsc1pTQnBiaUJpWVhKamIyUmxMVzl1YkhrZ2JXOWtaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQmthWEpsWTNSdmNua2dibUZ0WlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR3h2WVdRZ2NHRjBkR1Z5YmlBbkpYTW5MZ29BSld4bUFFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp5d2diV0Z5YTJWeUlHUmxabWx1YVhScGIyNGdKVE5rT2lCR2FYSnpkQ0JzYVc1bElHMTFjM1FnWW1VZ2NHRjBkR1Z5YmlCM2FXUjBhQzRLQUNWc1ppQWxiR1lnSld4bUlDVnNaZ0FsWmlBbFpnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3NJRzFoY210bGNpQmtaV1pwYm1sMGFXOXVJQ1V6WkRvZ1RHbHVaWE1nTWlBdElEUWdiWFZ6ZENCaVpTQnRZWEpyWlhJZ2RISmhibk5tYjNKdExnb0FXeVZ6WFNBQVpHVmlkV2NBYVc1bWJ3QjNZWEp1YVc1bkFHVnljbTl5QUNWekpYTUFMbWx6WlhRQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJR1pwYkdVZ0p5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCcGJXRm5aVk5sZEM0S0FFbHRZV2RsYzJWMElHTnZiblJoYVc1eklDVmtJR2x0WVdkbGN5NEtBRVpoYkd4cGJtY2dZbUZqYXlCMGJ5QnlaV0ZrYVc1bklDY2xjeVZ6SnlCcGJpQkJVbFJ2YjJ4TGFYUWdkalF1ZUNCbWIzSnRZWFF1Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRXBRUlVjZ1ptbHNaUzRLQUVWeWNtOXlJSEpsWVdScGJtY2dTbEJGUnlCbWFXeGxJR2hsWVdSbGNpNEtBQ1ZtQUVacGJHVWdiM0JsYmlCbGNuSnZjaTRnSlhNS0FGSmxZV1FnWlhKeWIzSWhJUW9BY2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpKem9nQUNWekpYTUtBQ1ZrQUFvakl5TWdVM1Z5Wm1GalpTQk9ieTRsWkNBakl5TUtBQ1Z6QUNBZ1VtVmhaQ0JKYldGblpWTmxkQzRLQUVWeWNtOXlJRzl3Wlc1cGJtY2dabWxzWlNBbkpYTXVhWE5sZENjdUNnQWdJQ0FnWlc1a0xnb0FJQ0JTWldGa0lFWmxZWFIxY21WVFpYUXVDZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtWnpaWFFuTGdvQUlDQlNaV0ZrSUUxaGNtdGxjbE5sZEM0S0FHMXlhd0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtMXlheWN1Q2dBbFppQWxaaUFsWmlBbFpnQlVjbUZ1YzJadmNtMWhkR2x2YmlCdFlYUnlhWGdnY21WaFpDQmxjbkp2Y2lFaENnQnFjR2NBYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXhMM0psWmtSaGRHRlRaWFJRZEhJeUxnb0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJdUNnQnlZZ0JyY0cxTWIyRmtVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JR1pwYkdWdVlXMWxMM0psWmtSaGRHRlRaWFJRZEhJdUNnQkZjbkp2Y2lCc2IyRmthVzVuSUV0UVRTQmtZWFJoT2lCMWJtRmliR1VnZEc4Z2IzQmxiaUJtYVd4bElDY2xjeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdiRzloWkdsdVp5QkxVRTBnWkdGMFlUb2daWEp5YjNJZ2NtVmhaR2x1WnlCa1lYUmhMZ29BYTNCdFEyaGhibWRsVUdGblpVNXZUMlpTWldaRVlYUmhVMlYwS0NrNklFNVZURXdnY21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmNtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nY21WbVJHRjBZVk5sZEM0S0FIQnZhVzUwY3kwbFpBb0FhM0J0VFdGMFkyaHBibWNvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2YVc1SmJXRm5aVXgxYldFdUNnQlFZV2RsV3lWa1hTQWdjSEpsT2lVelpDd2dZV1owT2lVelpDd2daWEp5YjNJZ1BTQWxaZ29BSlhNdUpYTUFRWE56WlhKMGFXOXVJR0J3ZVhKaGJXbGtMVDV6YVhwbEtDa2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTlFYjBkZmMyTmhiR1ZmYVc1MllYSnBZVzUwWDJSbGRHVmpkRzl5TG1Od2NBQlFlWEpoYldsa0lHbHpJRzV2ZENCaGJHeHZZMkYwWldRQVQyTjBZWFpsSUc5MWRDQnZaaUJ5WVc1blpRQlRZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J0U1cxaFoyVnpMbk5wZW1Vb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRHRndiR0ZqYVdGdUlIQjVjbUZ0YVdRZ2FHRnpJRzV2ZENCaVpXVnVJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1F0UG01MWJVOWpkR0YyWlhNb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCa2IyVnpJRzV2ZENCamIyNTBZV2x1SUdGdWVTQnNaWFpsYkhNQVFYTnpaWEowYVc5dUlHQmtlVzVoYldsalgyTmhjM1E4WTI5dWMzUWdRbWx1YjIxcFlXeFFlWEpoYldsa016Sm1LajRvY0hseVlXMXBaQ2xnSUdaaGFXeGxaQ0JwYmlBQVQyNXNlU0JpYVc1dmJXbGhiQ0J3ZVhKaGJXbGtJR2x6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCUGJteDVJRVl6TWlCcGJXRm5aWE1nYzNWd2NHOXlkR1ZrQUVGemMyVnlkR2x2YmlCZ2FXMHhMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOUdNekpnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR1F1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUU5dWJIa2djMmx1WjJ4bElHTm9ZVzV1Wld3Z2FXMWhaMlZ6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHbHRNUzVqYUdGdWJtVnNjeWdwSUQwOUlERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnWkM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVsdFlXZGxjeUJ0ZFhOMElHaGhkbVVnZEdobElITmhiV1VnZDJsa2RHZ0FRWE56WlhKMGFXOXVJR0JrTG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aWE1nYlhWemRDQm9ZWFpsSUhSb1pTQnpZVzFsSUdobGFXZG9kQUJCYzNObGNuUnBiMjRnWUdsdE1TNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lISnZkeUE4SUcxSVpXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtZ0FjbTkzSUc5MWRDQnZaaUJpYjNWdVpITUFUaloyYVhOcGIyNHlOVWRoZFhOemFXRnVVMk5oYkdWVGNHRmpaVkI1Y21GdGFXUkZBRVJ2UnlCUWVYSmhiV2xrQUU1dmJpMXRZWGdnYzNWd2NISmxjM05wYjI0QVUzVmljR2w0Wld3QWNISjFibVZHWldGMGRYSmxjd0JHYVc1a0lFOXlhV1Z1ZEdGMGFXOXVjd0JCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6TG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxaGdJR1poYVd4bFpDQnBiaUFBUW5WamEyVjBjeUJoY21VZ2JtOTBJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6V3pCZExuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnRSbVZoZEhWeVpWQnZhVzUwY3k1emFYcGxLQ2tnUEQwZ2JVMWhlRTUxYlVabFlYUjFjbVZRYjJsdWRITmdJR1poYVd4bFpDQnBiaUFBVkc5dklHMWhibmtnWm1WaGRIVnlaU0J3YjJsdWRITUFRWE56WlhKMGFXOXVJR0JpZFdOclpYUmJNRjB1Wm1seWMzUWdQajBnWW5WamEyVjBXMjVkTG1acGNuTjBZQ0JtWVdsc1pXUWdhVzRnQUc1MGFGOWxiR1Z0Wlc1MElHWmhhV3hsWkFCQmMzTmxjblJwYjI0Z1lHdHdMbk5qWVd4bElEd2diVXhoY0d4aFkybGhibEI1Y21GdGFXUXViblZ0VTJOaGJHVlFaWEpQWTNSaGRtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhCdmFXNTBJSE5qWVd4bElHbHpJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQnJjQzV6WTI5eVpTQTlQU0JzWVhBeExtZGxkRHhtYkc5aGRENG9lU2xiZUYxZ0lHWmhhV3hsWkNCcGJpQUFVMk52Y21VZ2FYTWdibTkwSUdOdmJuTnBjM1JsYm5RZ2QybDBhQ0IwYUdVZ1JHOUhJR2x0WVdkbEFFRnpjMlZ5ZEdsdmJpQmdiR0Z3TUM1b1pXbG5hSFFvS1NBOVBTQnNZWEF4TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZaR1YwWldOMGIzSnpMMFJ2UjE5elkyRnNaVjlwYm5aaGNtbGhiblJmWkdWMFpXTjBiM0l1YUFCWGFXUjBhQzlvWldsbmFIUWdZWEpsSUc1dmRDQmpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0d4aGNEQXVhR1ZwWjJoMEtDa2dQVDBnYkdGd01TNW9aV2xuYUhRb0tTa2dKaVlnS0Noc1lYQXhMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2dvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDa3BJQ1ltSUNoc1lYQXhMbmRwWkhSb0tDa2dQVDBnYkdGd01pNTNhV1IwYUNncEtXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnphWHBsY3lCaGNtVWdhVzVqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tIZ3RNU2tnUGowZ01DQW1KaUFvZUNzeEtTQThJR3hoY0RFdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9lUzB4S1NBK1BTQXdJQ1ltSUNoNUt6RXBJRHdnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUI1SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBU1cxaFoyVWdaR2x0Wlc1emFXOXVjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaHNZWEF3TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdWRDbHpkR1E2T21ac2IyOXlLSGdwSUQwOUlDaHBiblFwZUdBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YVc1MFpYSndiMnhoZEdVdWFBQm1iRzl2Y2lncElHRnVaQ0JqWVhOMElHNXZkQ0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUNocGJuUXBjM1JrT2pwbWJHOXZjaWg1S1NBOVBTQW9hVzUwS1hsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I1Y0NBK1BTQXdJQ1ltSUhsd0lEd2dhR1ZwWjJoMFlDQm1ZV2xzWldRZ2FXNGdBSGx3SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I1Y0Y5d2JIVnpYekVnUGowZ01DQW1KaUI1Y0Y5d2JIVnpYekVnUENCb1pXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQWVYQmZjR3gxYzE4eElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNGNDQStQU0F3SUNZbUlIaHdJRHdnZDJsa2RHaGdJR1poYVd4bFpDQnBiaUFBZUhBZ2IzVjBJRzltSUdKdmRXNWtjd0JCYzNObGNuUnBiMjRnWUhod1gzQnNkWE5mTVNBK1BTQXdJQ1ltSUhod1gzQnNkWE5mTVNBOElIZHBaSFJvWUNCbVlXbHNaV1FnYVc0Z0FIaHdYM0JzZFhOZk1TQnZkWFFnYjJZZ1ltOTFibVJ6QUVGemMyVnlkR2x2YmlCZ2R6QWdQajBnTUNBbUppQjNNQ0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVQzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnZHpFZ1BqMGdNQ0FtSmlCM01TQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3SUNZbUlIY3lJRHc5SURFdU1EQXdNV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIY3pJRDQ5SURBZ0ppWWdkek1nUEQwZ01TNHdNREF4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLSGN3SzNjeEszY3lLM2N6S1NBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvZUMweEtTQStQU0F3SUNZbUlDaDRLekVwSUR3Z2FXMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoNUxURXBJRDQ5SURBZ0ppWWdLSGtyTVNrZ1BDQnBiUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNERXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNFgyUnBkbDh5TFRBdU5XWWdQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRYMlJwZGw4eUlHOTFkQ0J2WmlCaWIzVnVaSE1nYjNWMElHOW1JR0p2ZFc1a2N5Qm1iM0lnYVc1MFpYSndiMnhoZEdsdmJnQkJjM05sY25ScGIyNGdZSGxmWkdsMlh6SXRNQzQxWmlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhsZlpHbDJYeklnYjNWMElHOW1JR0p2ZFc1a2N5QnZkWFFnYjJZZ1ltOTFibVJ6SUdadmNpQnBiblJsY25CdmJHRjBhVzl1QUVGemMyVnlkR2x2YmlCZ2VGOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnZVY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVobGFXZG9kQ0JwY3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TVM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BDQnRTVzFoWjJWekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpibVJsZUNCcGN5QnZkWFFnYjJZZ2NtRnVaMlVBVGpaMmFYTnBiMjR4T0VKcGJtOXRhV0ZzVUhseVlXMXBaRE15WmtVQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK1BTQTFZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbU53Y0FCSmJXRm5aU0JwY3lCMGIyOGdjMjFoYkd3QVFYTnpaWEowYVc5dUlHQm9aV2xuYUhRZ1BqMGdOV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlWU1U1VU9HQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdKbElHZHlZWGx6WTJGc1pRQkJjM05sY25ScGIyNGdZR2x0WVdkbExtTm9ZVzV1Wld4ektDa2dQVDBnTVdBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR2hoZG1VZ01TQmphR0Z1Ym1Wc0FFRnpjMlZ5ZEdsdmJpQmdiVkI1Y21GdGFXUXVjMmw2WlNncElEMDlJRzFPZFcxUFkzUmhkbVZ6S20xT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQm9ZWE1nYm05MElHSmxaVzRnWVd4c2IyTmhkR1ZrSUhsbGRBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuZHBaSFJvS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J2WmlCM2NtOXVaeUJ6YVhwbElHWnZjaUJ3ZVhKaGJXbGtBRUZ6YzJWeWRHbHZiaUJnYVcxaFoyVXVhR1ZwWjJoMEtDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JrYzNRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJFWlhOMGFXNWhkR2x2YmlCcGJXRm5aU0J6YUc5MWJHUWdZbVVnWVNCbWJHOWhkQUJWYm10dWIzZHVJR2x0WVdkbElIUjVjR1VBVlc1emRYQndiM0owWldRZ2FXMWhaMlVnZEhsd1pRQk9OblpwYzJsdmJqbEZlR05sY0hScGIyNUZBRUZ6YzJWeWRHbHZiaUJnYVcwdWQybGtkR2dvS1NBOVBTQnBiUzV6ZEdWd0tDa3ZjMmw2Wlc5bUtHWnNiMkYwS1dBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YjNKcFpXNTBZWFJwYjI1ZllYTnphV2R1YldWdWRDNWpjSEFBVTNSbGNDQnphWHBsSUcxMWMzUWdZbVVnWlhGMVlXd2dkRzhnZDJsa2RHZ2dabTl5SUc1dmR3QkJjM05sY25ScGIyNGdZSGdnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNElEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnYkdWemN5QjBhR0Z1SUhSb1pTQnBiV0ZuWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjVJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQWVTQnRkWE4wSUdKbElHeGxjM01nZEdoaGJpQjBhR1VnYVcxaFoyVWdhR1ZwWjJoMEFFRnpjMlZ5ZEdsdmJpQmdaeTVqYUdGdWJtVnNjeWdwSUQwOUlESmdJR1poYVd4bFpDQnBiaUFBVG5WdFltVnlJRzltSUdOb1lXNXVaV3h6SUhOb2IzVnNaQ0JpWlNBeUFFRnpjMlZ5ZEdsdmJpQmdiV0Y0WDJobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUV0Y0YVcxMWJTQmlhVzRnYzJodmRXeGtJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2FHbHpkQ0FoUFNCT1ZVeE1ZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OXZjbWxsYm5SaGRHbHZibDloYzNOcFoyNXRaVzUwTG1nQVNHbHpkRzluY21GdElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCQmMzTmxjblJwYjI0Z1lDaG1ZbWx1S3pBdU5XWXBJRDRnTUNBbUppQW9abUpwYmkwd0xqVm1LU0E4SUc1MWJWOWlhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFUmxZMmx0WVd3Z1ltbHVJSEJ2YzJsMGFXOXVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUcxaFoyNXBkSFZrWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUUxaFoyNXBkSFZrWlNCallXNXViM1FnWW1VZ2JtVm5ZWFJwZG1VQVFYTnpaWEowYVc5dUlHQnVkVzFmWW1sdWN5QStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCaWFXNXpJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTVNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN5SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCaU1TQStQU0F3SUNZbUlHSXhJRHdnYm5WdFgySnBibk5nSUdaaGFXeGxaQ0JwYmlBQVlqRWdZbWx1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSXlJRDQ5SURBZ0ppWWdZaklnUENCdWRXMWZZbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQmlNaUJpYVc0Z2FXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFbEVJR0ZzY21WaFpIa2daWGhwYzNSekFFSjFhV3hrSUZCNWNtRnRhV1FBUlhoMGNtRmpkQ0JHWldGMGRYSmxjd0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5RdWMybDZaU2dwSUQwOUlHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwySnBibUZ5ZVY5b2FXVnlZWEpqYUdsallXeGZZMngxYzNSbGNtbHVaeTVvQUVGemMybG5ibTFsYm5RZ2MybDZaU0IzY205dVp3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblJiYVYwZ0lUMGdMVEZnSUdaaGFXeGxaQ0JwYmlBQVFYTnphV2R1YldWdWRDQnBjeUJwYm5aaGJHbGtBRUZ6YzJWeWRHbHZiaUJnWVhOemFXZHViV1Z1ZEZ0cFhTQThJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMmxuYm0xbGJuUWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2FXNWthV05sYzF0aGMzTnBaMjV0Wlc1MFcybGRYU0E4SUc1MWJWOW1aV0YwZFhKbGMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsMExUNXpaV052Ym1RdWMybDZaU2dwSUNFOUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4MWMzUmxjaUJ0ZFhOMElHaGhkbVVnWVhSc1pXRnpaWFFnTVNCbVpXRjBkWEpsQUVGemMyVnlkR2x2YmlCZ2JVc2dQVDBnYlVObGJuUmxjbk11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwydHRaV1J2YVdSekxtZ0FheUJ6YUc5MWJHUWdiV0YwWTJnZ2RHaGxJRzUxYldKbGNpQnZaaUJqYkhWemRHVnlJR05sYm5SbGNuTUFRWE56WlhKMGFXOXVJR0J1ZFcxZlptVmhkSFZ5WlhNZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCbVpXRjBkWEpsY3lCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQRDBnYm5WdFgyWmxZWFIxY21WellDQm1ZV2xzWldRZ2FXNGdBRTF2Y21VZ2FXNWthV05sY3lCMGFHRnVJR1psWVhSMWNtVnpBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BqMGdiVXRnSUdaaGFXeGxaQ0JwYmlBQVRtOTBJR1Z1YjNWbmFDQm1aV0YwZFhKbGN3QkJjM05wWjI1dFpXNTBJSE5wZW1VZ2FYTWdhVzVqYjNKeVpXTjBBRUZ6YzJWeWRHbHZiaUJnYm5WdFgyTmxiblJsY25NZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUZSb1pYSmxJRzExYzNRZ1ltVWdZWFFnYkdWaGMzUWdNU0JqWlc1MFpYSUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12ZG1semRXRnNYMlJoZEdGaVlYTmxMbWdBUVhOelpYSjBhVzl1SUdCa1pYUmxZM1J2Y21BZ1ptRnBiR1ZrSUdsdUlBQkVaWFJsWTNSdmNpQnBjeUJPVlV4TUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDa3VjMmw2WlNncElENGdNR0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdseklHVnRjSFI1QUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVkMmxrZEdnb0tTQTlQU0JrWlhSbFkzUnZjaTArZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdGdVpDQmtaWFJsWTNSdmNpQnphWHBsSUcxcGMyMWhkR05vQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVhR1ZwWjJoMEtDa2dQVDBnWkdWMFpXTjBiM0l0UG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFNVRkRE5mWHpJeE5HUmxabUYxYkhSZlpHVnNaWFJsU1U0MmRtbHphVzl1T0V0bGVXWnlZVzFsU1V4cE9UWkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFUaloyYVhOcGIyNDRTMlY1Wm5KaGJXVkpUR2s1TmtWRlJVNVRYekUwWkdWbVlYVnNkRjlrWld4bGRHVkpVek5mUlVWT1UxODVZV3hzYjJOaGRHOXlTVk16WDBWRlJVVUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQkdiM1Z1WkNBbFpDQm1aV0YwZFhKbGN5QnBiaUJ4ZFdWeWVRQmliMjlzSUhacGMybHZiam82Vm1semRXRnNSR0YwWVdKaGMyVThkbWx6YVc5dU9qcEdVa1ZCUzBWNGRISmhZM1J2Y2l3Z2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxVM1J2Y21Vc0lIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVTFoZEdOb1pYSThPVFkrSUQ0Nk9uRjFaWEo1S0dOdmJuTjBJSFpwYzJsdmJqbzZSMkYxYzNOcFlXNVRZMkZzWlZOd1lXTmxVSGx5WVcxcFpDQXFLU0JiUmtWQlZGVlNSVjlGV0ZSU1FVTlVUMUlnUFNCMmFYTnBiMjQ2T2taU1JVRkxSWGgwY21GamRHOXlMQ0JUVkU5U1JTQTlJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlZOMGIzSmxMQ0JOUVZSRFNFVlNJRDBnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFRXRjBZMmhsY2p3NU5qNWRBRVpwYm1RZ1RXRjBZMmhsY3lBb01Ta0FTRzkxWjJnZ1ZtOTBhVzVuSUNneEtRQkdhVzVrSUVodmRXZG9JRTFoZEdOb1pYTWdLREVwQUVWemRHbHRZWFJsSUVodmJXOW5jbUZ3YUhrZ0tERXBBRVpwYm1RZ1NXNXNhV1Z5Y3lBb01Ta0FSbWx1WkNCTllYUmphR1Z6SUNneUtRQkliM1ZuYUNCV2IzUnBibWNnS0RJcEFFWnBibVFnU0c5MVoyZ2dUV0YwWTJobGN5QW9NaWtBUlhOMGFXMWhkR1VnU0c5dGIyZHlZWEJvZVNBb01pa0FSbWx1WkNCSmJteHBaWEp6SUNneUtRQkJjM05sY25ScGIyNGdZREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabVZoZEhWeVpWOXRZWFJqYUdWeUxXbHViR2x1WlM1b0FFWmhhV3hsWkNCMGJ5QmpiMjF3ZFhSbElHMWhkSEpwZUNCcGJuWmxjbk5sQUVGemMyVnlkR2x2YmlCZ1ltVnpkRjlwYm1SbGVDQWhQU0J6ZEdRNk9tNTFiV1Z5YVdOZmJHbHRhWFJ6UEhOcGVtVmZkRDQ2T20xaGVDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOdmJXVjBhR2x1WnlCemRISmhibWRsQUVGemMyVnlkR2x2YmlCZ2JVMWhkR05vWlhNdWMybDZaU2dwSUR3OUlHWmxZWFIxY21Wek1TMCtjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJ0WVhSamFHVnpJSE5vYjNWc1pDQmlaU0JzYjNkbGNnQkJjM05sY25ScGIyNGdZR2g1Y0M1emFYcGxLQ2tnUGowZ09TcHRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmFHOXRiMmR5WVhCb2VWOWxjM1JwYldGMGFXOXVMM0p2WW5WemRGOW9iMjF2WjNKaGNHaDVMbWdBYUhsd0lIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNBNUttMWhlRjl1ZFcxZmFIbHdiM1JvWlhObGN3QkJjM05sY25ScGIyNGdZSFJ0Y0Y5cExuTnBlbVVvS1NBK1BTQnVkVzFmY0c5cGJuUnpZQ0JtWVdsc1pXUWdhVzRnQUhSdGNGOXBJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnVkVzFmY0c5cGJuUnpBRUZ6YzJWeWRHbHZiaUJnYUhsd1gyTnZjM1J6TG5OcGVtVW9LU0ErUFNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFhSGx3WDJOdmMzUnpJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTUFRWE56WlhKMGFXOXVJR0J1SUR3OUlHbHVYMjFoZEdOb1pYTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRk5vYjNWc1pDQmlaU0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUdScGMzUkNhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHUnBjM1JDYVc1QmJtZHNaU0J0ZFhOMElHNXZkQ0JpWlNCdVpXZGhkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNiMjkwTG1kbGRDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZKdmIzUWdZMkZ1Ym05MElHSmxJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnRhVzVwSUNFOUlDMHhZQ0JtWVdsc1pXUWdhVzRnQUUxcGJtbHRkVzBnYVc1a1pYZ2dibTkwSUhObGRBQkJjM05sY25ScGIyNGdZSGdnUGowZ2JVMXBibGhnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdWFBQjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lIZ2dQQ0J0VFdGNFdHQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdiVTFwYmxsZ0lHWmhhV3hsWkNCcGJpQUFlU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQjVJRHdnYlUxaGVGbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0ErSUMxUVNXQWdabUZwYkdWa0lHbHVJQUJoYm1kc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0E4UFNCUVNXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhOallXeGxJRDQ5SUcxTmFXNVRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQnpZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFOWVhoVFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHVaR1Y0SUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmxnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQThJRzFPZFcxWVFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUJpYVc1WklHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQQ0J0VG5WdFdVSnBibk5nSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmlhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBia0Z1WjJ4bElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJrRnVaMnhsSUR3Z2JVNTFiVUZ1WjJ4bFFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibE5qWVd4bElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVltbHVVMk5oYkdVZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVUyTmhiR1VnUENCdFRuVnRVMk5oYkdWQ2FXNXpZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUEQwZ0tHSnBibGdnS3lCaWFXNVpLbTFPZFcxWVFtbHVjeUFySUdKcGJrRnVaMnhsS20xT2RXMVlRbWx1Y3lwdFRuVnRXVUpwYm5NZ0t5QmlhVzVUWTJGc1pTcHRUblZ0V0VKcGJuTXFiVTUxYlZsQ2FXNXpLbTFPZFcxQmJtZHNaVUpwYm5NcFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYzJsNlpTQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdVkzQndBSE5wZW1VZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNaV1pKYldGblpWZHBaSFJvSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUIzYVdSMGFDQnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiVkpsWmtsdFlXZGxTR1ZwWjJoMElENGdNR0FnWm1GcGJHVmtJR2x1SUFCb1pXbG5hSFFnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUc0Z1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwzVjBhV3h6TDNCaGNuUnBZV3hmYzI5eWRDNW9BRzRnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUdzZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUdzZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm5KbFlXc3VhQUJRZVhKaGJXbGtJR2x6SUU1VlRFd0FRWE56WlhKMGFXOXVJR0J6ZEc5eVpTNXphWHBsS0NrZ1BUMGdjRzlwYm5SekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElITjBiM0psSUdoaGN5QnViM1FnWW1WbGJpQmhiR3h2WTJGMFpXUUFRWE56WlhKMGFXOXVJR0J1ZFcxZmNHOXBiblJ6SUQwOUlIQnZhVzUwY3k1emFYcGxLQ2xnSUdaaGFXeGxaQ0JwYmlBQVUyaHZkV3hrSUdKbElITmhiV1VnYzJsNlpRQkJjM05sY25ScGIyNGdZRzlqZEdGMlpTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1nQVQyTjBZWFpsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCdlkzUmhkbVVnUENCdFRuVnRUMk4wWVhabGMyQWdabUZwYkdWa0lHbHVJQUJQWTNSaGRtVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JRzlqZEdGMlpYTUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FGTmpZV3hsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVMk5oYkdVZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlITmpZV3hsSUhCbGNpQnZZM1JoZG1VQUpXMHRKV1F0SlZrdEpVZ3RKVTB0SlZNQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1Od2NBQlhhV1IwYUNCallXNXViM1FnWW1VZ2VtVnlid0JCYzNObGNuUnBiMjRnWUdobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFTR1ZwWjJoMElHTmhibTV2ZENCaVpTQjZaWEp2QUVGemMyVnlkR2x2YmlCZ2MzUmxjQ0ErUFNCM2FXUjBhR0FnWm1GcGJHVmtJR2x1SUFCVGRHVndJRzExYzNRZ1ltVWdaM0psWVhSbGNpQjBhR0Z1SUc5eUlHVnhkV0ZzSUhSb1pTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lHTm9ZVzV1Wld4eklENGdNR0FnWm1GcGJHVmtJR2x1SUFCT2RXMWlaWElnYjJZZ1kyaGhibTVsYkhNZ1kyRnVibTkwSUdKbElIcGxjbThBUVhOelpYSjBhVzl1SUdCdFJHRjBZUzVuWlhRb0tXQWdabUZwYkdWa0lHbHVJQUJFWVhSaElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCT1UzUXpYMTh5TVRSa1pXWmhkV3gwWDJSbGJHVjBaVWxvUlVVQVRsTjBNMTlmTWpJd1gxOXphR0Z5WldSZmNIUnlYM0J2YVc1MFpYSkpVR2hPVTE4eE5HUmxabUYxYkhSZlpHVnNaWFJsU1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFTVzUyWVd4cFpDQnBiV0ZuWlNCMGVYQmxBREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFhREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVFYTnpaWEowYVc5dUlHQnRVM1JoY25SVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDNScGJXVnljeTVqY0hBQUlHeHBibVVnQURvZ0FFTnNiMk5ySUdoaGN5QnViM1FnWW1WbGJpQnpkR0Z5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdiVk4wYjNCVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMnh2WTJzZ2FHRnpJRzV2ZENCaVpXVnVJSE4wYjNCd1pXUUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQWxjem9nSldZZ2JYTUFJRWxPUms4Z0lBQjJhWE5wYjI0Nk9sTmpiM0JsWkZScGJXVnlPanArVTJOdmNHVmtWR2x0WlhJb0tRQnpaWFIxY0FCMFpXRnlaRzkzYmdCelpYUjFjRUZTTWdCZllXUmtUV0Z5YTJWeUFGOWhaR1JOZFd4MGFVMWhjbXRsY2dCZllXUmtUa1pVVFdGeWEyVnlBR2RsZEUxMWJIUnBUV0Z5YTJWeVRuVnRBR2RsZEUxMWJIUnBUV0Z5YTJWeVEyOTFiblFBWDJ4dllXUkRZVzFsY21FQWMyVjBUV0Z5YTJWeVNXNW1iMFJwY2dCelpYUk5ZWEpyWlhKSmJtWnZWbVZ5ZEdWNEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbFEyOXVkQUJuWlhSVWNtRnVjMDFoZEUxMWJIUnBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBUWFZzZEdsVGNYVmhjbVZTYjJKMWMzUUFaR1YwWldOMFRXRnlhMlZ5QUdkbGRFMWhjbXRsY2s1MWJRQmtaWFJsWTNST1JsUk5ZWEpyWlhJQVoyVjBUWFZzZEdsRllXTm9UV0Z5YTJWeUFHZGxkRTFoY210bGNnQm5aWFJPUmxSTllYSnJaWElBYzJWMFJHVmlkV2ROYjJSbEFHZGxkRVJsWW5WblRXOWtaUUJuWlhSUWNtOWpaWE56YVc1blNXMWhaMlVBYzJWMFRHOW5UR1YyWld3QVoyVjBURzluVEdWMlpXd0FjMlYwVUhKdmFtVmpkR2x2Yms1bFlYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVUbVZoY2xCc1lXNWxBSE5sZEZCeWIycGxZM1JwYjI1R1lYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVSbUZ5VUd4aGJtVUFjMlYwVkdoeVpYTm9iMnhrVFc5a1pRQm5aWFJVYUhKbGMyaHZiR1JOYjJSbEFITmxkRlJvY21WemFHOXNaQUJuWlhSVWFISmxjMmh2YkdRQWMyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBWjJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFjMlYwVUdGMGRGSmhkR2x2QUdkbGRGQmhkSFJTWVhScGJ3QnpaWFJOWVhSeWFYaERiMlJsVkhsd1pRQm5aWFJOWVhSeWFYaERiMlJsVkhsd1pRQnpaWFJNWVdKbGJHbHVaMDF2WkdVQVoyVjBUR0ZpWld4cGJtZE5iMlJsQUhObGRFbHRZV2RsVUhKdlkwMXZaR1VBWjJWMFNXMWhaMlZRY205alRXOWtaUUJGVWxKUFVsOUJVa05QVGxSU1QweE1SVkpmVGs5VVgwWlBWVTVFQUVWU1VrOVNYMDFWVEZSSlRVRlNTMFZTWDA1UFZGOUdUMVZPUkFCRlVsSlBVbDlOUVZKTFJWSmZTVTVFUlZoZlQxVlVYMDlHWDBKUFZVNUVVd0JCVWw5RVJVSlZSMTlFU1ZOQlFreEZBRUZTWDBSRlFsVkhYMFZPUVVKTVJRQkJVbDlFUlVaQlZVeFVYMFJGUWxWSFgwMVBSRVVBUVZKZlRFRkNSVXhKVGtkZlYwaEpWRVZmVWtWSFNVOU9BRUZTWDB4QlFrVk1TVTVIWDBKTVFVTkxYMUpGUjBsUFRnQkJVbDlFUlVaQlZVeFVYMHhCUWtWTVNVNUhYMDFQUkVVQVFWSmZSRVZHUVZWTVZGOU1RVUpGVEVsT1IxOVVTRkpGVTBnQVFWSmZTVTFCUjBWZlVGSlBRMTlHVWtGTlJWOUpUVUZIUlFCQlVsOUpUVUZIUlY5UVVrOURYMFpKUlV4RVgwbE5RVWRGQUVGU1gwUkZSa0ZWVEZSZlNVMUJSMFZmVUZKUFExOU5UMFJGQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwMVBUazhBUVZKZlRVRlVVa2xZWDBOUFJFVmZSRVZVUlVOVVNVOU9BRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNYMEZPUkY5TlFWUlNTVmdBUVZKZlZFVk5VRXhCVkVWZlRVRlVRMGhKVGtkZlRVOU9UMTlCVGtSZlRVRlVVa2xZQUVGU1gwUkZSa0ZWVEZSZlVFRlVWRVZTVGw5RVJWUkZRMVJKVDA1ZlRVOUVSUUJCVWw5VlUwVmZWRkpCUTB0SlRrZGZTRWxUVkU5U1dRQkJVbDlPVDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWkFFRlNYMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaWDFZeUFFRlNYMFJGUmtGVlRGUmZUVUZTUzBWU1gwVllWRkpCUTFSSlQwNWZUVTlFUlFCQlVsOU5RVmhmVEU5UFVGOURUMVZPVkFCQlVsOU1UMDlRWDBKU1JVRkxYMVJJVWtWVFNBQkJVbDlNVDBkZlRFVldSVXhmUkVWQ1ZVY0FRVkpmVEU5SFgweEZWa1ZNWDBsT1JrOEFRVkpmVEU5SFgweEZWa1ZNWDFkQlVrNEFRVkpmVEU5SFgweEZWa1ZNWDBWU1VrOVNBRUZTWDB4UFIxOU1SVlpGVEY5U1JVeGZTVTVHVHdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZURNQVFWSmZUVUZVVWtsWVgwTlBSRVZmTTNnelgwaEJUVTFKVGtjMk13QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETmZVRUZTU1ZSWk5qVUFRVkpmVFVGVVVrbFlYME5QUkVWZk5IZzBBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZPVjh6QUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mTlY4MUFFRlNYMHhCUWtWTVNVNUhYMVJJVWtWVFNGOU5UMFJGWDAxQlRsVkJUQUJCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDAxRlJFbEJUZ0JCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDA5VVUxVUFRVkpmVEVGQ1JVeEpUa2RmVkVoU1JWTklYMDFQUkVWZlFWVlVUMTlCUkVGUVZFbFdSUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVGs5T1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZVRUZVVkVWU1RsOUZXRlJTUVVOVVNVOU9BRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOUhSVTVGVWtsREFFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5RFQwNVVVa0ZUVkFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRVRlVRMGhmUWtGU1EwOUVSVjlPVDFSZlJrOVZUa1FBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYMEpCVWtOUFJFVmZSVVJEWDBaQlNVd0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwTlBUa1pKUkVWT1EwVUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUlBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFKZlRWVk1WRWtBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDBoRlZWSkpVMVJKUTE5VVVrOVZRa3hGVTA5TlJWOU5RVlJTU1ZoZlEwOUVSVk1BWVd4c2IyTmhkRzl5UEZRK09qcGhiR3h2WTJGMFpTaHphWHBsWDNRZ2Jpa2dKMjRuSUdWNFkyVmxaSE1nYldGNGFXMTFiU0J6ZFhCd2IzSjBaV1FnYzJsNlpRQkpiV0ZuWlNCd2NtOWpMaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRXhoWW1Wc2FXNW5JRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQjJhV2xtQUZCaGRIUmxjbTRnY21GMGFXOGdjMmw2WlNCelpYUWdkRzhnSldZdUNnQlFZWFIwWlhKdUlHUmxkR1ZqZEdsdmJpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FGUm9jbVZ6YUc5c1pDQnpaWFFnZEc4Z0pXUUtBSFpwYVdrQVZHaHlaWE5vYjJ4a0lHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCa2FXa0FkbWxwWkFCcGFRQjJhV2tBYjI0dUFHOW1aaTRBUkdWaWRXY2diVzlrWlNCelpYUWdkRzhnSlhNS0FGUnlZV05yYVc1bklHeHZjM1F1SUNWa0NnQlVjbUZqYTJWa0lIQmhaMlVnSldRZ0tHMWhlQ0FsWkNrdUNnQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F3T3lCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRLU0I3SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkSUQwZ0tIc2dhV1E2SURBc0lHVnljbTl5T2lBdE1Td2dabTkxYm1RNklEQXNJSEJ2YzJVNklGc3dMREFzTUN3d0xDQXdMREFzTUN3d0xDQXdMREFzTUN3d1hTQjlLVHNnZlNCMllYSWdiV0Z5YTJWeVNXNW1ieUE5SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkT3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2laWEp5YjNJaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1admRXNWtJbDBnUFNBeE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTWwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTlYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJObDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk4xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT0YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1UQmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWNHOXpaU0pkV3pFeFhTQTlJQ1JoVzJrcksxMDdJSDBBZXlCMllYSWdKR0VnUFNCaGNtZDFiV1Z1ZEhNN0lIWmhjaUJwSUQwZ01Ec2dhV1lnS0NGaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUdsa09pQXdMQ0JsY25KdmNqb2dMVEVzSUdadmRXNWtPaUF3TENCd2IzTmxPaUJiTUN3d0xEQXNNQ3dnTUN3d0xEQXNNQ3dnTUN3d0xEQXNNRjBnZlNrN0lIMGdkbUZ5SUcxaGNtdGxja2x1Wm04Z1BTQmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhUc2diV0Z5YTJWeVNXNW1iMXNpYVdRaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1WeWNtOXlJbDBnUFNBdE1Uc2diV0Z5YTJWeVNXNW1iMXNpWm05MWJtUWlYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3dYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3lYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3pYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczBYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczFYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczJYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczNYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczRYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczVYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hNRjBnUFNBd095QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEZkSUQwZ01Ec2dmUUI3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBeE1qc2dhV1lnS0NGaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lIQnZjem9nV3pBc01GMHNJR3hwYm1VNklGdGJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZFhTd2dkbVZ5ZEdWNE9pQmJXekFzTUYwc0lGc3dMREJkTENCYk1Dd3dYU3dnV3pBc01GMWRJSDBwT3lCOUlIWmhjaUJ0WVhKclpYSkpibVp2SUQwZ1lYSjBiMjlzYTJsMFd5SnRZWEpyWlhKSmJtWnZJbDA3SUcxaGNtdGxja2x1Wm05YkltRnlaV0VpWFNBOUlDUXdPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkRFN0lHMWhjbXRsY2tsdVptOWJJbWxrVUdGMGRDSmRJRDBnSkRJN0lHMWhjbXRsY2tsdVptOWJJbWxrVFdGMGNtbDRJbDBnUFNBa016c2diV0Z5YTJWeVNXNW1iMXNpWkdseUlsMGdQU0FrTkRzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5VUdGMGRDSmRJRDBnSkRVN0lHMWhjbXRsY2tsdVptOWJJbVJwY2sxaGRISnBlQ0pkSUQwZ0pEWTdJRzFoY210bGNrbHVabTliSW1ObUlsMGdQU0FrTnpzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpRWVhSMElsMGdQU0FrT0RzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpOWVhSeWFYZ2lYU0E5SUNRNU95QnRZWEpyWlhKSmJtWnZXeUp3YjNNaVhWc3dYU0E5SUNReE1Ec2diV0Z5YTJWeVNXNW1iMXNpY0c5eklsMWJNVjBnUFNBa01URTdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pCZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1GMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekZkV3pGZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6TmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNMTFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUpsY25KdmNrTnZjbkpsWTNSbFpDSmRJRDBnSkdGYmFTc3JYVHNnZlFCN0lHbG1JQ2doWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMHBJSHNnWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMGdQU0FvZTMwcE95QjlJSFpoY2lCdGRXeDBhVVZoWTJoTllYSnJaWElnUFNCaGNuUnZiMnhyYVhSYkltMTFiSFJwUldGamFFMWhjbXRsY2tsdVptOGlYVHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQyYVhOcFlteGxKMTBnUFNBa01Ec2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZHdZWFIwU1dRblhTQTlJQ1F4T3lCdGRXeDBhVVZoWTJoTllYSnJaWEpiSjNCaGRIUlVlWEJsSjEwZ1BTQWtNanNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQzYVdSMGFDZGRJRDBnSkRNN0lIMEFhV2xwQUU1VGRETmZYekl4TW1KaGMybGpYM04wY21sdVowbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZPVTE4NVlXeHNiMk5oZEc5eVNXTkZSVVZGQUU1VGRETmZYekl5TVY5ZlltRnphV05mYzNSeWFXNW5YMk52YlcxdmJrbE1ZakZGUlVVQWJHOWhaRU5oYldWeVlTZ3BPaUJGY25KdmNpQnNiMkZrYVc1bklIQmhjbUZ0WlhSbGNpQm1hV3hsSUNWeklHWnZjaUJqWVcxbGNtRXVDZ0JwYVdscEFFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnVGtaVUlHMWhjbXRsY2k0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZERNS0FHWnpaWFF6QUVWeWNtOXlJSEpsWVdScGJtY2dTMUJOSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwTXdvQUlDQkJjM05wWjI1bFpDQndZV2RsSUc1dkxpQWxaQzRLQUVWeWNtOXlPaUJyY0cxRGFHRnVaMlZRWVdkbFRtOVBabEpsWmtSaGRHRlRaWFFLQUVWeWNtOXlPaUJyY0cxTlpYSm5aVkpsWmtSaGRHRlRaWFFLQUNBZ1JHOXVaUzRLQUZKbFlXUnBibWNnSlhNdVpuTmxkQW9BWm5ObGRBQkZjbkp2Y2lCeVpXRmthVzVuSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwQ2dCRmNuSnZjam9nYTNCdFUyVjBVbVZtUkdGMFlWTmxkQW9BVEc5aFpHbHVaeUJ2WmlCT1JsUWdaR0YwWVNCamIyMXdiR1YwWlM0S0FFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnUVZJZ2JYVnNkR2x0WVhKclpYSXVDZ0JqYjI1bWFXY2daR0YwWVNCc2IyRmtJR1Z5Y205eUlDRWhDZ0JCVWxSdmIyeExhWFJLVXlncE9pQlZibUZpYkdVZ2RHOGdjMlYwSUhWd0lFRlNJRzFoY210bGNpNEtBR3h2WVdSTllYSnJaWElvS1RvZ1JYSnliM0lnYkc5aFpHbHVaeUJ3WVhSMFpYSnVJR1pwYkdVZ0pYTXVDZ0JGY25KdmNqb2dZWEl5UTNKbFlYUmxTR0Z1Wkd4bExnb0FhV2xwYVdrQWMyVjBkWEFvS1RvZ1JYSnliM0k2SUdGeVVHRjBkRU55WldGMFpVaGhibVJzWlM0S0FFRnNiRzlqWVhSbFpDQjJhV1JsYjBaeVlXMWxVMmw2WlNBbFpBb0FleUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbVp5WVcxbFRXRnNiRzlqSWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJtY21GdFpVMWhiR3h2WXlBOUlHRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFRzZ1puSmhiV1ZOWVd4c2IyTmJJbVp5WVcxbGNHOXBiblJsY2lKZElEMGdKREU3SUdaeVlXMWxUV0ZzYkc5ald5Sm1jbUZ0WlhOcGVtVWlYU0E5SUNReU95Qm1jbUZ0WlUxaGJHeHZZMXNpWTJGdFpYSmhJbDBnUFNBa016c2dabkpoYldWTllXeHNiMk5iSW5SeVlXNXpabTl5YlNKZElEMGdKRFE3SUdaeVlXMWxUV0ZzYkc5ald5SjJhV1JsYjB4MWJXRlFiMmx1ZEdWeUlsMGdQU0FrTlRzZ2ZRQXFLaW9nUTJGdFpYSmhJRkJoY21GdFpYUmxjaUJ5WlhOcGVtVmtJR1p5YjIwZ0pXUXNJQ1ZrTGlBcUtpb0tBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjam9nWVhKUVlYSmhiVXhVUTNKbFlYUmxMZ29BYzJWMFEyRnRaWEpoS0NrNklFVnljbTl5T2lCaGNrTnlaV0YwWlVoaGJtUnNaUzRLQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCamNtVmhkR2x1WnlBelJDQm9ZVzVrYkdVQVQzVjBJRzltSUcxbGJXOXllU0VoQ2dCRmNuSnZjam9nYldGc2JHOWpDZ0FqSXlNZ1JtVmhkSFZ5WlNCallXNWthV1JoZEdWeklHWnZjaUIwY21GamEybHVaeUJoY21VZ2IzWmxjbVpzYjNjdUNnQkNiMmQxY3lCdFpYTnpZV2RsSUdOdlpHVWdKV1FBUVV4SlIwNWZWRmxRUlNCcGN5QjNjbTl1Wnl3Z2NHeGxZWE5sSUdacGVBQk5RVmhmUVV4TVQwTmZRMGhWVGtzZ2FYTWdkM0p2Ym1jc0lIQnNaV0Z6WlNCbWFYZ0FRbTluZFhNZ1luVm1abVZ5SUdOdmJuUnliMndnYlc5a1pRQkpiblpoYkdsa0lHTnZiWEJ2Ym1WdWRDQkpSQ0FsWkNCcGJpQlRUMU1BU1c1MllXeHBaQ0JqY205d0lISmxjWFZsYzNRQVJFTlVJR052WldabWFXTnBaVzUwSUc5MWRDQnZaaUJ5WVc1blpRQkVRMVFnYzJOaGJHVmtJR0pzYjJOcklITnBlbVVnSldSNEpXUWdibTkwSUhOMWNIQnZjblJsWkFCRGIyMXdiMjVsYm5RZ2FXNWtaWGdnSldRNklHMXBjMjFoZEdOb2FXNW5JSE5oYlhCc2FXNW5JSEpoZEdsdklDVmtPaVZrTENBbFpEb2xaQ3dnSldNQVFtOW5kWE1nU0hWbVptMWhiaUIwWVdKc1pTQmtaV1pwYm1sMGFXOXVBRUp2WjNWeklHbHVjSFYwSUdOdmJHOXljM0JoWTJVQVFtOW5kWE1nU2xCRlJ5QmpiMnh2Y25Od1lXTmxBRUp2WjNWeklHMWhjbXRsY2lCc1pXNW5kR2dBVjNKdmJtY2dTbEJGUnlCc2FXSnlZWEo1SUhabGNuTnBiMjQ2SUd4cFluSmhjbmtnYVhNZ0pXUXNJR05oYkd4bGNpQmxlSEJsWTNSeklDVmtBRk5oYlhCc2FXNW5JR1poWTNSdmNuTWdkRzl2SUd4aGNtZGxJR1p2Y2lCcGJuUmxjbXhsWVhabFpDQnpZMkZ1QUVsdWRtRnNhV1FnYldWdGIzSjVJSEJ2YjJ3Z1kyOWtaU0FsWkFCVmJuTjFjSEJ2Y25SbFpDQktVRVZISUdSaGRHRWdjSEpsWTJsemFXOXVJQ1ZrQUVsdWRtRnNhV1FnY0hKdlozSmxjM05wZG1VZ2NHRnlZVzFsZEdWeWN5QlRjejBsWkNCVFpUMGxaQ0JCYUQwbFpDQkJiRDBsWkFCSmJuWmhiR2xrSUhCeWIyZHlaWE56YVhabElIQmhjbUZ0WlhSbGNuTWdZWFFnYzJOaGJpQnpZM0pwY0hRZ1pXNTBjbmtnSldRQVFtOW5kWE1nYzJGdGNHeHBibWNnWm1GamRHOXljd0JKYm5aaGJHbGtJSE5qWVc0Z2MyTnlhWEIwSUdGMElHVnVkSEo1SUNWa0FFbHRjSEp2Y0dWeUlHTmhiR3dnZEc4Z1NsQkZSeUJzYVdKeVlYSjVJR2x1SUhOMFlYUmxJQ1ZrQUVwUVJVY2djR0Z5WVcxbGRHVnlJSE4wY25WamRDQnRhWE50WVhSamFEb2diR2xpY21GeWVTQjBhR2x1YTNNZ2MybDZaU0JwY3lBbGRTd2dZMkZzYkdWeUlHVjRjR1ZqZEhNZ0pYVUFRbTluZFhNZ2RtbHlkSFZoYkNCaGNuSmhlU0JoWTJObGMzTUFRblZtWm1WeUlIQmhjM05sWkNCMGJ5QktVRVZISUd4cFluSmhjbmtnYVhNZ2RHOXZJSE50WVd4c0FGTjFjM0JsYm5OcGIyNGdibTkwSUdGc2JHOTNaV1FnYUdWeVpRQkRRMGxTTmpBeElITmhiWEJzYVc1bklHNXZkQ0JwYlhCc1pXMWxiblJsWkNCNVpYUUFWRzl2SUcxaGJua2dZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN6b2dKV1FzSUcxaGVDQWxaQUJWYm5OMWNIQnZjblJsWkNCamIyeHZjaUJqYjI1MlpYSnphVzl1SUhKbGNYVmxjM1FBUW05bmRYTWdSRUZESUdsdVpHVjRJQ1ZrQUVKdlozVnpJRVJCUXlCMllXeDFaU0F3ZUNWNEFFSnZaM1Z6SUVSSVZDQnBibVJsZUNBbFpBQkNiMmQxY3lCRVVWUWdhVzVrWlhnZ0pXUUFSVzF3ZEhrZ1NsQkZSeUJwYldGblpTQW9SRTVNSUc1dmRDQnpkWEJ3YjNKMFpXUXBBRkpsWVdRZ1puSnZiU0JGVFZNZ1ptRnBiR1ZrQUZkeWFYUmxJSFJ2SUVWTlV5Qm1ZV2xzWldRQVJHbGtiaWQwSUdWNGNHVmpkQ0J0YjNKbElIUm9ZVzRnYjI1bElITmpZVzRBU1c1d2RYUWdabWxzWlNCeVpXRmtJR1Z5Y205eUFFOTFkSEIxZENCbWFXeGxJSGR5YVhSbElHVnljbTl5SUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFSbkpoWTNScGIyNWhiQ0J6WVcxd2JHbHVaeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUVoMVptWnRZVzRnWTI5a1pTQnphWHBsSUhSaFlteGxJRzkyWlhKbWJHOTNBRTFwYzNOcGJtY2dTSFZtWm0xaGJpQmpiMlJsSUhSaFlteGxJR1Z1ZEhKNUFFMWhlR2x0ZFcwZ2MzVndjRzl5ZEdWa0lHbHRZV2RsSUdScGJXVnVjMmx2YmlCcGN5QWxkU0J3YVhobGJITUFSVzF3ZEhrZ2FXNXdkWFFnWm1sc1pRQlFjbVZ0WVhSMWNtVWdaVzVrSUc5bUlHbHVjSFYwSUdacGJHVUFRMkZ1Ym05MElIUnlZVzV6WTI5a1pTQmtkV1VnZEc4Z2JYVnNkR2x3YkdVZ2RYTmxJRzltSUhGMVlXNTBhWHBoZEdsdmJpQjBZV0pzWlNBbFpBQlRZMkZ1SUhOamNtbHdkQ0JrYjJWeklHNXZkQ0IwY21GdWMyMXBkQ0JoYkd3Z1pHRjBZUUJKYm5aaGJHbGtJR052Ykc5eUlIRjFZVzUwYVhwaGRHbHZiaUJ0YjJSbElHTm9ZVzVuWlFCT2IzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFGSmxjWFZsYzNSbFpDQm1aV0YwZFhKbElIZGhjeUJ2YldsMGRHVmtJR0YwSUdOdmJYQnBiR1VnZEdsdFpRQkJjbWwwYUcxbGRHbGpJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBUW1GamEybHVaeUJ6ZEc5eVpTQnViM1FnYzNWd2NHOXlkR1ZrQUVoMVptWnRZVzRnZEdGaWJHVWdNSGdsTURKNElIZGhjeUJ1YjNRZ1pHVm1hVzVsWkFCS1VFVkhJR1JoZEdGemRISmxZVzBnWTI5dWRHRnBibk1nYm04Z2FXMWhaMlVBVVhWaGJuUnBlbUYwYVc5dUlIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFUbTkwSUdFZ1NsQkZSeUJtYVd4bE9pQnpkR0Z5ZEhNZ2QybDBhQ0F3ZUNVd01uZ2dNSGdsTURKNEFFbHVjM1ZtWm1samFXVnVkQ0J0WlcxdmNua2dLR05oYzJVZ0pXUXBBRU5oYm01dmRDQnhkV0Z1ZEdsNlpTQnRiM0psSUhSb1lXNGdKV1FnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjd0JEWVc1dWIzUWdjWFZoYm5ScGVtVWdkRzhnWm1WM1pYSWdkR2hoYmlBbFpDQmpiMnh2Y25NQVEyRnVibTkwSUhGMVlXNTBhWHBsSUhSdklHMXZjbVVnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFTVzUyWVd4cFpDQktVRVZISUdacGJHVWdjM1J5ZFdOMGRYSmxPaUFsY3lCaVpXWnZjbVVnVTA5R0FFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFJpQnRZWEpyWlhKekFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2diV2x6YzJsdVp5QlRUMU1nYldGeWEyVnlBRlZ1YzNWd2NHOXlkR1ZrSUVwUVJVY2djSEp2WTJWemN6b2dVMDlHSUhSNWNHVWdNSGdsTURKNEFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFNTQnRZWEpyWlhKekFFWmhhV3hsWkNCMGJ5QmpjbVZoZEdVZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVVtVmhaQ0JtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFVMlZsYXlCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVjNKcGRHVWdabUZwYkdWa0lHOXVJSFJsYlhCdmNtRnllU0JtYVd4bElDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUVhCd2JHbGpZWFJwYjI0Z2RISmhibk5tWlhKeVpXUWdkRzl2SUdabGR5QnpZMkZ1YkdsdVpYTUFWVzV6ZFhCd2IzSjBaV1FnYldGeWEyVnlJSFI1Y0dVZ01IZ2xNREo0QUZacGNuUjFZV3dnWVhKeVlYa2dZMjl1ZEhKdmJHeGxjaUJ0WlhOelpXUWdkWEFBU1cxaFoyVWdkRzl2SUhkcFpHVWdabTl5SUhSb2FYTWdhVzF3YkdWdFpXNTBZWFJwYjI0QVVtVmhaQ0JtY205dElGaE5VeUJtWVdsc1pXUUFWM0pwZEdVZ2RHOGdXRTFUSUdaaGFXeGxaQUJEYjNCNWNtbG5hSFFnS0VNcElESXdNVGdzSUZSb2IyMWhjeUJITGlCTVlXNWxMQ0JIZFdsa2J5QldiMnhzWW1Wa2FXNW5BRGxqSUNBeE5DMUtZVzR0TWpBeE9BQkRZWFYwYVc5dU9pQnhkV0Z1ZEdsNllYUnBiMjRnZEdGaWJHVnpJR0Z5WlNCMGIyOGdZMjloY25ObElHWnZjaUJpWVhObGJHbHVaU0JLVUVWSEFFRmtiMkpsSUVGUVVERTBJRzFoY210bGNqb2dkbVZ5YzJsdmJpQWxaQ3dnWm14aFozTWdNSGdsTURSNElEQjRKVEEwZUN3Z2RISmhibk5tYjNKdElDVmtBRlZ1YTI1dmQyNGdRVkJRTUNCdFlYSnJaWElnS0c1dmRDQktSa2xHS1N3Z2JHVnVaM1JvSUNWMUFGVnVhMjV2ZDI0Z1FWQlFNVFFnYldGeWEyVnlJQ2h1YjNRZ1FXUnZZbVVwTENCc1pXNW5kR2dnSlhVQVJHVm1hVzVsSUVGeWFYUm9iV1YwYVdNZ1ZHRmliR1VnTUhnbE1ESjRPaUF3ZUNVd01uZ0FSR1ZtYVc1bElFaDFabVp0WVc0Z1ZHRmliR1VnTUhnbE1ESjRBRVJsWm1sdVpTQlJkV0Z1ZEdsNllYUnBiMjRnVkdGaWJHVWdKV1FnSUhCeVpXTnBjMmx2YmlBbFpBQkVaV1pwYm1VZ1VtVnpkR0Z5ZENCSmJuUmxjblpoYkNBbGRRQkdjbVZsWkNCRlRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRVZOVXlCb1lXNWtiR1VnSlhVQVJXNWtJRTltSUVsdFlXZGxBQ0FnSUNBZ0lDQWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkFCS1JrbEdJRUZRVURBZ2JXRnlhMlZ5T2lCMlpYSnphVzl1SUNWa0xpVXdNbVFzSUdSbGJuTnBkSGtnSldSNEpXUWdJQ1ZrQUZkaGNtNXBibWM2SUhSb2RXMWlibUZwYkNCcGJXRm5aU0J6YVhwbElHUnZaWE1nYm05MElHMWhkR05vSUdSaGRHRWdiR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ2RIbHdaU0F3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUFnSUNBZ2QybDBhQ0FsWkNCNElDVmtJSFJvZFcxaWJtRnBiQ0JwYldGblpRQk5hWE5qWld4c1lXNWxiM1Z6SUcxaGNtdGxjaUF3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUJWYm1WNGNHVmpkR1ZrSUcxaGNtdGxjaUF3ZUNVd01uZ0FJQ0FnSUNBZ0lDQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxQUZGMVlXNTBhWHBwYm1jZ2RHOGdKV1FnUFNBbFpDb2xaQ29sWkNCamIyeHZjbk1BVVhWaGJuUnBlbWx1WnlCMGJ5QWxaQ0JqYjJ4dmNuTUFVMlZzWldOMFpXUWdKV1FnWTI5c2IzSnpJR1p2Y2lCeGRXRnVkR2w2WVhScGIyNEFRWFFnYldGeWEyVnlJREI0SlRBeWVDd2djbVZqYjNabGNua2dZV04wYVc5dUlDVmtBRkpUVkNWa0FGTnRiMjkwYUdsdVp5QnViM1FnYzNWd2NHOXlkR1ZrSUhkcGRHZ2dibTl1YzNSaGJtUmhjbVFnYzJGdGNHeHBibWNnY21GMGFXOXpBRk4wWVhKMElFOW1JRVp5WVcxbElEQjRKVEF5ZURvZ2QybGtkR2c5SlhVc0lHaGxhV2RvZEQwbGRTd2dZMjl0Y0c5dVpXNTBjejBsWkFBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lBbFpHaDRKV1IySUhFOUpXUUFVM1JoY25RZ2IyWWdTVzFoWjJVQVUzUmhjblFnVDJZZ1UyTmhiam9nSldRZ1kyOXRjRzl1Wlc1MGN3QWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQmtZejBsWkNCaFl6MGxaQUFnSUZOelBTVmtMQ0JUWlQwbFpDd2dRV2c5SldRc0lFRnNQU1ZrQUVOc2IzTmxaQ0IwWlcxd2IzSmhjbmtnWm1sc1pTQWxjd0JQY0dWdVpXUWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCS1VFVkhMV052YlhCeVpYTnpaV1FnZEdoMWJXSnVZV2xzSUdsdFlXZGxMQ0JzWlc1bmRHZ2dKWFVBU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQndZV3hsZEhSbElIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nVWtkQ0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFGVnVjbVZqYjJkdWFYcGxaQ0JqYjIxd2IyNWxiblFnU1VSeklDVmtJQ1ZrSUNWa0xDQmhjM04xYldsdVp5QlpRMkpEY2dCR2NtVmxaQ0JZVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lGaE5VeUJvWVc1a2JHVWdKWFVBVlc1cmJtOTNiaUJCWkc5aVpTQmpiMnh2Y2lCMGNtRnVjMlp2Y20wZ1kyOWtaU0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ1ltRmtJR0Z5YVhSb2JXVjBhV01nWTI5a1pRQkpibU52Ym5OcGMzUmxiblFnY0hKdlozSmxjM05wYjI0Z2MyVnhkV1Z1WTJVZ1ptOXlJR052YlhCdmJtVnVkQ0FsWkNCamIyVm1abWxqYVdWdWRDQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nSlhVZ1pYaDBjbUZ1Wlc5MWN5QmllWFJsY3lCaVpXWnZjbVVnYldGeWEyVnlJREI0SlRBeWVBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2djSEpsYldGMGRYSmxJR1Z1WkNCdlppQmtZWFJoSUhObFoyMWxiblFBUTI5eWNuVndkQ0JLVUVWSElHUmhkR0U2SUdKaFpDQklkV1ptYldGdUlHTnZaR1VBVjJGeWJtbHVaem9nZFc1cmJtOTNiaUJLUmtsR0lISmxkbWx6YVc5dUlHNTFiV0psY2lBbFpDNGxNREprQUZCeVpXMWhkSFZ5WlNCbGJtUWdiMllnU2xCRlJ5Qm1hV3hsQUVOdmNuSjFjSFFnU2xCRlJ5QmtZWFJoT2lCbWIzVnVaQ0J0WVhKclpYSWdNSGdsTURKNElHbHVjM1JsWVdRZ2IyWWdVbE5VSldRQVNXNTJZV3hwWkNCVFQxTWdjR0Z5WVcxbGRHVnljeUJtYjNJZ2MyVnhkV1Z1ZEdsaGJDQktVRVZIQUVGd2NHeHBZMkYwYVc5dUlIUnlZVzV6Wm1WeWNtVmtJSFJ2YnlCdFlXNTVJSE5qWVc1c2FXNWxjd0JLVUVWSFRVVk5BQ1ZzWkNWakFGTlBVd0JNVTBVQUpYTUtBSEozWVFCcGJtWnBibWwwZVFBQUFRSUVCd01HQlFBdEt5QWdJREJZTUhnQUtHNTFiR3dwQUMwd1dDc3dXQ0F3V0Mwd2VDc3dlQ0F3ZUFCcGJtWUFTVTVHQUc1aGJnQk9RVTRBTGdCTVExOUJURXdBVEVGT1J3QkRMbFZVUmkwNEFGQlBVMGxZQUUxVlUweGZURTlEVUVGVVNBQjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6T2lBbGN3QjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6QUhSbGNtMXBibUYwYVc1bklIZHBkR2dnSlhNZ1ptOXlaV2xuYmlCbGVHTmxjSFJwYjI0QWRHVnliV2x1WVhScGJtY0FkVzVqWVhWbmFIUUFVM1E1WlhoalpYQjBhVzl1QUU0eE1GOWZZM2g0WVdKcGRqRXhObDlmYzJocGJWOTBlWEJsWDJsdVptOUZBRk4wT1hSNWNHVmZhVzVtYndCT01UQmZYMk40ZUdGaWFYWXhNakJmWDNOcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEUzWDE5amJHRnpjMTkwZVhCbFgybHVabTlGQUhSbGNtMXBibUYwWlY5b1lXNWtiR1Z5SUhWdVpYaHdaV04wWldSc2VTQnlaWFIxY201bFpBQlRkREV4Ykc5bmFXTmZaWEp5YjNJQVUzUXhNbXhsYm1kMGFGOWxjbkp2Y2dCT01UQmZYMk40ZUdGaWFYWXhNVGRmWDNCaVlYTmxYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTVYMTl3YjJsdWRHVnlYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1USXpYMTltZFc1a1lXMWxiblJoYkY5MGVYQmxYMmx1Wm05RkFIWUFZZ0JqQUdnQVlRQnpBSFFBYVFCcUFHMEFaZ0JrQUU0eE1GOWZZM2g0WVdKcGRqRXlNVjlmZG0xcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQWRtOXBaQUJpYjI5c0FHTm9ZWElBYzJsbmJtVmtJR05vWVhJQWRXNXphV2R1WldRZ1kyaGhjZ0J6YUc5eWRBQjFibk5wWjI1bFpDQnphRzl5ZEFCcGJuUUFkVzV6YVdkdVpXUWdhVzUwQUd4dmJtY0FkVzV6YVdkdVpXUWdiRzl1WndCbWJHOWhkQUJrYjNWaWJHVUFjM1JrT2pwemRISnBibWNBYzNSa09qcGlZWE5wWTE5emRISnBibWM4ZFc1emFXZHVaV1FnWTJoaGNqNEFjM1JrT2pwM2MzUnlhVzVuQUhOMFpEbzZkVEUyYzNSeWFXNW5BSE4wWkRvNmRUTXljM1J5YVc1bkFHVnRjMk55YVhCMFpXNDZPblpoYkFCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhqYUdGeVBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhjMmh2Y25RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUhOb2IzSjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJR2x1ZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4Ykc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ2JHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5ReE5sOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwTVRaZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBNekpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFdsdWRETXlYM1ErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR1pzYjJGMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4a2IzVmliR1UrQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR3h2Ym1jZ1pHOTFZbXhsUGdCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsbFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpaRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1daRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHRSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKYkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXcEZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxwUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmRFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTWE5GUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsb1JVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpZVVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dORlJRQk9NVEJsYlhOamNtbHdkR1Z1TTNaaGJFVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VScFRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWFVVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWFVVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVjMFZGVGxOZk9XRnNiRzlqWVhSdmNrbEVjMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlU1VFh6bGhiR3h2WTJGMGIzSkpkMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TV2hPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVRsTjBNMTlmTWpocGIzTmZZbUZ6WlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRTFZbUZ6YVdOZmMzUnlaV0Z0WW5WbVNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TldKaGMybGpYM04wY21WaGJXSjFaa2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5cGMzUnlaV0Z0U1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhNMkpoYzJsalgybHpkSEpsWVcxSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakV6WW1GemFXTmZiM04wY21WaGJVbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTl2YzNSeVpXRnRTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRkFFNVRkRE5mWHpJeE1WOWZjM1JrYjNWMFluVm1TWGRGUlFCT1UzUXpYMTh5TVRGZlgzTjBaRzkxZEdKMVprbGpSVVVBZFc1emRYQndiM0owWldRZ2JHOWpZV3hsSUdadmNpQnpkR0Z1WkdGeVpDQnBibkIxZEFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNYZEZSUUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1dORlJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSlkwVkZBRTVUZEROZlh6STJiRzlqWVd4bE5XWmhZMlYwUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKZDBWRkFDVndBRU1BVGxOME0xOWZNamR1ZFcxZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDJkbGRFbGpSVVVBVGxOME0xOWZNakUwWDE5dWRXMWZaMlYwWDJKaGMyVkZBRTVUZEROZlh6STNiblZ0WDJkbGRFbDNUbE5mTVRscGMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpsZlgyNTFiVjluWlhSSmQwVkZBQ1Z3QUFBQUFFd0FiR3dBSlFBQUFBQUFiQUJPVTNRelgxOHlOMjUxYlY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJNVgxOXVkVzFmY0hWMFNXTkZSUUJPVTNRelgxOHlNVFJmWDI1MWJWOXdkWFJmWW1GelpVVUFUbE4wTTE5Zk1qZHVkVzFmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYM0IxZEVsM1JVVUFKVWc2SlUwNkpWTUFKVzB2SldRdkpYa0FKVWs2SlUwNkpWTWdKWEFBSldFZ0pXSWdKV1FnSlVnNkpVMDZKVk1nSlZrQVFVMEFVRTBBU21GdWRXRnllUUJHWldKeWRXRnllUUJOWVhKamFBQkJjSEpwYkFCTllYa0FTblZ1WlFCS2RXeDVBRUYxWjNWemRBQlRaWEIwWlcxaVpYSUFUMk4wYjJKbGNnQk9iM1psYldKbGNnQkVaV05sYldKbGNnQktZVzRBUm1WaUFFMWhjZ0JCY0hJQVNuVnVBRXAxYkFCQmRXY0FVMlZ3QUU5amRBQk9iM1lBUkdWakFGTjFibVJoZVFCTmIyNWtZWGtBVkhWbGMyUmhlUUJYWldSdVpYTmtZWGtBVkdoMWNuTmtZWGtBUm5KcFpHRjVBRk5oZEhWeVpHRjVBRk4xYmdCTmIyNEFWSFZsQUZkbFpBQlVhSFVBUm5KcEFGTmhkQUFsYlM4bFpDOGxlU1ZaTFNWdExTVmtKVWs2SlUwNkpWTWdKWEFsU0RvbFRTVklPaVZOT2lWVEpVZzZKVTA2SlZOT1UzUXpYMTh5T0hScGJXVmZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNakJmWDNScGJXVmZaMlYwWDJOZmMzUnZjbUZuWlVsalJVVUFUbE4wTTE5Zk1qbDBhVzFsWDJKaGMyVkZBRTVUZEROZlh6STRkR2x0WlY5blpYUkpkMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlVWRkFFNVRkRE5mWHpJeU1GOWZkR2x0WlY5blpYUmZZMTl6ZEc5eVlXZGxTWGRGUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1dOT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNVEJmWDNScGJXVmZjSFYwUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1dOTVlqQkZSVVVBVGxOME0xOWZNakV3Ylc5dVpYbGZZbUZ6WlVVQVRsTjBNMTlmTWpFd2JXOXVaWGx3ZFc1amRFbGpUR0l4UlVWRkFFNVRkRE5mWHpJeE1HMXZibVY1Y0hWdVkzUkpkMHhpTUVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTWGRNWWpGRlJVVUFNREV5TXpRMU5qYzRPUUFsVEdZQVRsTjBNMTlmTWpsdGIyNWxlVjluWlhSSlkwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmWjJWMFNXTkZSUUF3TVRJek5EVTJOemc1QUU1VGRETmZYekk1Ylc5dVpYbGZaMlYwU1hkT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEZmWDIxdmJtVjVYMmRsZEVsM1JVVUFKUzR3VEdZQVRsTjBNMTlmTWpsdGIyNWxlVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmY0hWMFNXTkZSUUJPVTNRelgxOHlPVzF2Ym1WNVgzQjFkRWwzVGxOZk1UbHZjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qRXhYMTl0YjI1bGVWOXdkWFJKZDBWRkFFNVRkRE5mWHpJNGJXVnpjMkZuWlhOSlkwVkZBRTVUZEROZlh6SXhNMjFsYzNOaFoyVnpYMkpoYzJWRkFFNVRkRE5mWHpJeE4xOWZkMmxrWlc1ZlpuSnZiVjkxZEdZNFNVeHRNekpGUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1VScFl6RXhYMTl0WW5OMFlYUmxYM1JGUlFCT1UzUXpYMTh5TVRKamIyUmxZM1owWDJKaGMyVkZBRTVUZEROZlh6SXhObDlmYm1GeWNtOTNYM1J2WDNWMFpqaEpURzB6TWtWRlJRQk9VM1F6WDE4eU9HMWxjM05oWjJWelNYZEZSUUJPVTNRelgxOHlOMk52WkdWamRuUkpZMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNYZGpNVEZmWDIxaWMzUmhkR1ZmZEVWRkFFNVRkRE5mWHpJM1kyOWtaV04yZEVsRWMyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpac2IyTmhiR1UxWDE5cGJYQkZBRTVUZEROZlh6STFZM1I1Y0dWSlkwVkZBRTVUZEROZlh6SXhNR04wZVhCbFgySmhjMlZGQUU1VGRETmZYekkxWTNSNWNHVkpkMFZGQUdaaGJITmxBSFJ5ZFdVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsalJVVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbDNSVVVBVGxOME0xOWZNakUwWDE5emFHRnlaV1JmWTI5MWJuUkZBRTVUZEROZlh6SXhPVjlmYzJoaGNtVmtYM2RsWVd0ZlkyOTFiblJGQUVId3ZnTUxBUUVBUVpqQUF3dGFYRWdBQUFFQUFBQjhTQUFBQVFBQUFOQlFBQUFCQUFBQUlDSUFBQUFBQUFDVVVRQUFBUUFBQU5oUkFBQUJBQUFBakZBQUFBRUFBQUJNNGdBQUFBQUFBQWhTQUFBQkFBQUFPRklBQUFFQUFBQUVVUUFBQVFBQUFDNHNBRUdBd1FNTERTeFJBQUFCQUFBQUxnQUFBQ3dBUWFEQkF3dkpBcHhJQUFBQkFBQUEzRWdBQUFFQUFBQWNTUUFBQVFBQUFGQkpBQUFCQUFBQW5FNEFBQUVBQUFEVVRnQUFBUUFBQUF4UEFBQUJBQUFBUkU4QUFBRUFBQUI4VHdBQUFRQUFBSmhQQUFBQkFBQUF0RThBQUFFQUFBRFFUd0FBQVFBQUFJUkpBQUFCQUFBQXRFa0FBQUFBQUFEWVNRQUFBUUFBQUFoS0FBQUFBQUFBYkU0QUFBRUFBQUJNNGdBQUFBQUFBSVJPQUFBQkFBQUFUT0lBQUFBQUFBRHNUd0FBQVFBQUFBeFFBQUFCQUFBQUFRQUFBQUFBQUFDOFVBQUFEd0FBQUhEaEFBRGc0UUFBNE9FQUFBQUFBQUFZNEFBQUlPQUFBQ2pnQUFBNDRBQUFRT0FBQUVqZ0FBQlk0QUFBWU9BQUFHamdBQUNBNEFBQW9PQUFBS2pnQUFDdzRBQUF1T0FBQU1EZ0FBREk0QUFBME9BQUFOamdBQURnNEFBQTZPQUFBUERnQUFENDRBQUFBT0VBQUJEaEFBQWc0UUFBTU9FQUFFRGhBQUJJNFFBQUFRQUFBQUFBQUFCREFFSHp3d01MQmdFQUFBQUFBUUJCNk1VREN4R2dSZ0FBQUFBQUFMUkdBQUFDRUFBQUJnQkJpTVlEQ3dhUTVRQUFXT0VBUWJqR0F3c1ptT01BQVAvLy8vL1FSZ0FBQUFBQUFPUkdBQUFDRUFBQUJnQkI0TVlEQ3diUTVRQUFXT0VBUVpESEF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHMHh3TUxCaERtQUFCWTRRQkI2TWNEQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQmlNZ0RDd1pJNWdBQVdPRUFRYnpJQXdzUi8vLy8vd0JIQUFBVVJ3QUFBakFBQUFZQVFkeklBd3NHZ09ZQUFGamhBRUdNeVFNTEZaampBQUQvLy8vL01FY0FBRVJIQUFBQ01BQUFCZ0JCc01rREN3YTQ1Z0FBV09FQVFlREpBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFR0V5Z01MQm9EbUFBQlk0UUJCdU1vREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkIyTW9EQ3dhNDVnQUFXT0VBUVl6TEF3c0svLy8vL3h4SUFBQlk0UUJCc01zREN4YjRPUUFBUU9BQUFNamxBQUFCQUFBQS8vLy8vd0FCQUVIUXl3TUxCdHhIQUFCWTRRQkI4TXNEQ3hUNE9RQUFTT0FBQUFqbUFBQUJBQUFBLy8vLy93QkJrTXdEQ3dhY1J3QUFXT0VBUWJETUF3c05pRG9BQUVEZ0FBQkE1Z0FBQVFCQnlNd0RDd1pjUndBQVdPRUFRZWpNQXdzS2lEb0FBRWpnQUFCNDVnQkJnTTBEQ3dhY1J3QUFXT0VBUWFETkF3c05hRGtBQUVEZ0FBQ3c1Z0FBQVFCQnVNMERDd1pjUndBQVdPRUFRZGpOQXdzS2FEa0FBRWpnQUFEbzVnQkI4TTBEQzFYLy8vLy9BUUFBQVAvLy8vOENBQUFBLy8vLy93TUFBQUJNNGdBQUhBQUFBUC8vLy84SkFBQUEvLy8vL3dzQUFBRC8vLy8vQkFBQUFQLy8vLzhLQUFBQS8vLy8vd3dBQUFELy8vLy9EUUFBQVAvLy8vOE9BRUdFendNTEJmLy8vLzhYQUVISXp3TUxsZ0gvLy8vL0dBQUFBUC8vLy84WkFBQUEvLy8vL3hvQUFBRC8vLy8vRHdBQUFQLy8vLzhRQUFBQS8vLy8veEVBQUFELy8vLy9FZ0FBQVAvLy8vOFRBQUFBLy8vLy94UUFBQUQvLy8vL0ZRQUFBUC8vLy84V0FBQUEvLy8vL3hzQUFBRC8vLy8vSEFBQUFQLy8vLzhGQUFBQS8vLy8vd1lBQUFELy8vLy9Cd0FBQVAvLy8vOElBQUFBV09FQUFGRG9BQUJZNFFBQVdPZ0FRZkRlQXdzQ1dPRUFRWURmQXdzRk9PZ0FBSThBUVpEZkF3c1Jqd0FBQUFBQUFBQ2c3d0FBQUFBQUFJOD1cIjtmdW5jdGlvbiBsQSgpe3RyeXtpZihuKXJldHVybiBuZXcgVWludDhBcnJheShuKTt2YXIgQT1qZyhmQSk7aWYoQSlyZXR1cm4gQTtpZihoKXJldHVybiBoKGZBKTt0aHJvd1wiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWRcIn1jYXRjaChBKXtKQShBKX19ZnVuY3Rpb24gdUEoKXtyZXR1cm4gbnx8IWkmJiFvfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBmZXRjaD9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSxJKXtBKGxBKCkpfSkpOmZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtpZighQS5vayl0aHJvd1wiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnXCIrZkErXCInXCI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbEEoKX0pKX1mdW5jdGlvbiBXQSgpe3ZhciBJPXtlbnY6QkIsd2FzaV9zbmFwc2hvdF9wcmV2aWV3MTpCQixnbG9iYWw6e05hTjpOYU4sSW5maW5pdHk6MS8wfSxcImdsb2JhbC5NYXRoXCI6TWF0aCxhc20yd2FzbTprfTtmdW5jdGlvbiBnKEksZyl7dmFyIEI9SS5leHBvcnRzO0EuYXNtPUIsZUEoKX1mdW5jdGlvbiBCKEEpe2coQS5pbnN0YW5jZSl9ZnVuY3Rpb24gQyhBKXtyZXR1cm4gdUEoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQSxJKX0pKS50aGVuKEEsKGZ1bmN0aW9uKEEpe1MoXCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiBcIitBKSxKQShBKX0pKX1pZihZQSgpLEEuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gQS5pbnN0YW50aWF0ZVdhc20oSSxnKX1jYXRjaChBKXtyZXR1cm4gUyhcIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6IFwiK0EpLCExfXJldHVybiBmdW5jdGlvbigpe2lmKG58fFwiZnVuY3Rpb25cIiE9dHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nfHxMQShmQSl8fFwiZnVuY3Rpb25cIiE9dHlwZW9mIGZldGNoKXJldHVybiBDKEIpO2ZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQSxJKS50aGVuKEIsKGZ1bmN0aW9uKEEpe1MoXCJ3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogXCIrQSksUyhcImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uXCIpLEMoQil9KSl9KSl9KCkse319TEEoZkEpfHwoZkE9eShmQSkpLEEuYXNtPVdBO3ZhciBwQT1bZnVuY3Rpb24oQSxJLGcsQixDLFEpe2FydG9vbGtpdC5mcmFtZU1hbGxvY3x8KGFydG9vbGtpdC5mcmFtZU1hbGxvYz17fSk7dmFyIEU9YXJ0b29sa2l0LmZyYW1lTWFsbG9jO0UuZnJhbWVwb2ludGVyPUksRS5mcmFtZXNpemU9ZyxFLmNhbWVyYT1CLEUudHJhbnNmb3JtPUMsRS52aWRlb0x1bWFQb2ludGVyPVF9LGZ1bmN0aW9uKEEsSSxnLEIpe2FydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm89e30pO3ZhciBDPWFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvO0MudmlzaWJsZT1BLEMucGF0dElkPUksQy5wYXR0VHlwZT1nLEMud2lkdGg9Qn0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwpe3ZhciBxPWFyZ3VtZW50cyxkPTEyO2FydG9vbGtpdC5tYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm1hcmtlckluZm89e3BvczpbMCwwXSxsaW5lOltbMCwwLDBdLFswLDAsMF0sWzAsMCwwXSxbMCwwLDBdXSx2ZXJ0ZXg6W1swLDBdLFswLDBdLFswLDBdLFswLDBdXX0pO3ZhciBmPWFydG9vbGtpdC5tYXJrZXJJbmZvO2YuYXJlYT1BLGYuaWQ9SSxmLmlkUGF0dD1nLGYuaWRNYXRyaXg9QixmLmRpcj1DLGYuZGlyUGF0dD1RLGYuZGlyTWF0cml4PUUsZi5jZj1pLGYuY2ZQYXR0PW8sZi5jZk1hdHJpeD1ELGYucG9zWzBdPWEsZi5wb3NbMV09dyxmLmxpbmVbMF1bMF09cVtkKytdLGYubGluZVswXVsxXT1xW2QrK10sZi5saW5lWzBdWzJdPXFbZCsrXSxmLmxpbmVbMV1bMF09cVtkKytdLGYubGluZVsxXVsxXT1xW2QrK10sZi5saW5lWzFdWzJdPXFbZCsrXSxmLmxpbmVbMl1bMF09cVtkKytdLGYubGluZVsyXVsxXT1xW2QrK10sZi5saW5lWzJdWzJdPXFbZCsrXSxmLmxpbmVbM11bMF09cVtkKytdLGYubGluZVszXVsxXT1xW2QrK10sZi5saW5lWzNdWzJdPXFbZCsrXSxmLnZlcnRleFswXVswXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMV09cVtkKytdLGYudmVydGV4WzFdWzBdPXFbZCsrXSxmLnZlcnRleFsxXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMF09cVtkKytdLGYudmVydGV4WzJdWzFdPXFbZCsrXSxmLnZlcnRleFszXVswXT1xW2QrK10sZi52ZXJ0ZXhbM11bMV09cVtkKytdLGYuZXJyb3JDb3JyZWN0ZWQ9cVtkKytdfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcpe3ZhciBoPWFyZ3VtZW50cyxzPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBSPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO1IuaWQ9aFtzKytdLFIuZXJyb3I9aFtzKytdLFIuZm91bmQ9MSxSLnBvc2VbMF09aFtzKytdLFIucG9zZVsxXT1oW3MrK10sUi5wb3NlWzJdPWhbcysrXSxSLnBvc2VbM109aFtzKytdLFIucG9zZVs0XT1oW3MrK10sUi5wb3NlWzVdPWhbcysrXSxSLnBvc2VbNl09aFtzKytdLFIucG9zZVs3XT1oW3MrK10sUi5wb3NlWzhdPWhbcysrXSxSLnBvc2VbOV09aFtzKytdLFIucG9zZVsxMF09aFtzKytdLFIucG9zZVsxMV09aFtzKytdfSxmdW5jdGlvbihBKXt2YXIgST1hcmd1bWVudHMsZz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgQj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztCLmlkPUlbZysrXSxCLmVycm9yPS0xLEIuZm91bmQ9MCxCLnBvc2VbMF09MCxCLnBvc2VbMV09MCxCLnBvc2VbMl09MCxCLnBvc2VbM109MCxCLnBvc2VbNF09MCxCLnBvc2VbNV09MCxCLnBvc2VbNl09MCxCLnBvc2VbN109MCxCLnBvc2VbOF09MCxCLnBvc2VbOV09MCxCLnBvc2VbMTBdPTAsQi5wb3NlWzExXT0wfV07ZnVuY3Rpb24gWkEoQSxJLGcsQixDLFEsRSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFKX1mdW5jdGlvbiBiQShBLEksZyxCLEMpe3JldHVybiBwQVtBXShJLGcsQixDKX1mdW5jdGlvbiB4QShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl9ZnVuY3Rpb24gbUEoQSxJKXtyZXR1cm4gcEFbQV0oSSl9ZnVuY3Rpb24gWEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKX1mdW5jdGlvbiBWQShBKXtyZXR1cm4gQS5yZXBsYWNlKC9cXGJfX1pbXFx3XFxkX10rL2csKGZ1bmN0aW9uKEEpe3JldHVybiBBPT1BP0E6QStcIiBbXCIrQStcIl1cIn0pKX1mdW5jdGlvbiBPQSgpe3ZhciBBPW5ldyBFcnJvcjtpZighQS5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChJKXtBPUl9aWYoIUEuc3RhY2spcmV0dXJuXCIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKVwifXJldHVybiBBLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVEEoKXt2YXIgST1PQSgpO3JldHVybiBBLmV4dHJhU3RhY2tUcmFjZSYmKEkrPVwiXFxuXCIrQS5leHRyYVN0YWNrVHJhY2UoKSksVkEoSSl9d0EucHVzaCh7ZnVuYzpmdW5jdGlvbigpe0VCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2FCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2lCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe29CKCl9fSk7dmFyIGpBPXt9O2Z1bmN0aW9uIFBBKCl7cmV0dXJuIFF8fFwiLi90aGlzLnByb2dyYW1cIn1mdW5jdGlvbiB2QShBKXt2YXIgSSxnO3ZBLmNhbGxlZD8oZz1BQVtBPj4yXSxJPUFBW2c+PjJdKToodkEuY2FsbGVkPSEwLGpBLlVTRVI9XCJ3ZWJfdXNlclwiLGpBLkxPR05BTUU9XCJ3ZWJfdXNlclwiLGpBLlBBVEg9XCIvXCIsakEuUFdEPVwiL1wiLGpBLkhPTUU9XCIvaG9tZS93ZWJfdXNlclwiLGpBLkxBTkc9KFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5hdmlnYXRvcj9cInVuZGVmaW5lZFwiOkQobmF2aWdhdG9yKSkmJm5hdmlnYXRvci5sYW5ndWFnZXMmJm5hdmlnYXRvci5sYW5ndWFnZXNbMF18fFwiQ1wiKS5yZXBsYWNlKFwiLVwiLFwiX1wiKStcIi5VVEYtOFwiLGpBLl89UEEoKSxJPUwoMTAyNCksZz1MKDI1NiksQUFbZz4+Ml09SSxBQVtBPj4yXT1nKTt2YXIgQj1bXSxDPTA7Zm9yKHZhciBRIGluIGpBKWlmKFwic3RyaW5nXCI9PXR5cGVvZiBqQVtRXSl7dmFyIEU9UStcIj1cIitqQVtRXTtCLnB1c2goRSksQys9RS5sZW5ndGh9aWYoQz4xMDI0KXRocm93IG5ldyBFcnJvcihcIkVudmlyb25tZW50IHNpemUgZXhjZWVkZWQgVE9UQUxfRU5WX1NJWkUhXCIpO2Zvcih2YXIgaT0wO2k8Qi5sZW5ndGg7aSsrKWooRT1CW2ldLEkpLEFBW2crNCppPj4yXT1JLEkrPUUubGVuZ3RoKzE7QUFbZys0KkIubGVuZ3RoPj4yXT0wfWZ1bmN0aW9uIHpBKEEpe3JldHVybiBSQihBKX12YXIgX0E9e307ZnVuY3Rpb24gJEEoQSxJLGcpe3Rocm93IF9BW0FdPXtwdHI6QSxhZGp1c3RlZDpbQV0sdHlwZTpJLGRlc3RydWN0b3I6ZyxyZWZjb3VudDowLGNhdWdodDohMSxyZXRocm93bjohMX0sXCJ1bmNhdWdodF9leGNlcHRpb25cImluIERCP0RCLnVuY2F1Z2h0X2V4Y2VwdGlvbnMrKzpEQi51bmNhdWdodF9leGNlcHRpb25zPTEsQX1mdW5jdGlvbiBBSSgpe31mdW5jdGlvbiBJSShJKXtyZXR1cm4gQS5fX19lcnJub19sb2NhdGlvbiYmKEFBW0EuX19fZXJybm9fbG9jYXRpb24oKT4+Ml09SSksSX1mdW5jdGlvbiBnSShBLEkpe3JldHVybiBJSSg2MyksLTF9dmFyIEJJPXtzcGxpdFBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuL14oXFwvP3wpKFtcXHNcXFNdKj8pKCg/OlxcLnsxLDJ9fFteXFwvXSs/fCkoXFwuW14uXFwvXSp8KSkoPzpbXFwvXSopJC8uZXhlYyhBKS5zbGljZSgxKX0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPUEubGVuZ3RoLTE7Qj49MDtCLS0pe3ZhciBDPUFbQl07XCIuXCI9PT1DP0Euc3BsaWNlKEIsMSk6XCIuLlwiPT09Qz8oQS5zcGxpY2UoQiwxKSxnKyspOmcmJihBLnNwbGljZShCLDEpLGctLSl9aWYoSSlmb3IoO2c7Zy0tKUEudW5zaGlmdChcIi4uXCIpO3JldHVybiBBfSxub3JtYWxpemU6ZnVuY3Rpb24oQSl7dmFyIEk9XCIvXCI9PT1BLmNoYXJBdCgwKSxnPVwiL1wiPT09QS5zdWJzdHIoLTEpO3JldHVybihBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fEl8fChBPVwiLlwiKSxBJiZnJiYoQSs9XCIvXCIpLChJP1wiL1wiOlwiXCIpK0F9LGRpcm5hbWU6ZnVuY3Rpb24oQSl7dmFyIEk9Qkkuc3BsaXRQYXRoKEEpLGc9SVswXSxCPUlbMV07cmV0dXJuIGd8fEI/KEImJihCPUIuc3Vic3RyKDAsQi5sZW5ndGgtMSkpLGcrQik6XCIuXCJ9LGJhc2VuYW1lOmZ1bmN0aW9uKEEpe2lmKFwiL1wiPT09QSlyZXR1cm5cIi9cIjt2YXIgST1BLmxhc3RJbmRleE9mKFwiL1wiKTtyZXR1cm4tMT09PUk/QTpBLnN1YnN0cihJKzEpfSxleHRuYW1lOmZ1bmN0aW9uKEEpe3JldHVybiBCSS5zcGxpdFBhdGgoQSlbM119LGpvaW46ZnVuY3Rpb24oKXt2YXIgQT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIEJJLm5vcm1hbGl6ZShBLmpvaW4oXCIvXCIpKX0sam9pbjI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQkkubm9ybWFsaXplKEErXCIvXCIrSSl9fSxDST17cmVzb2x2ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1cIlwiLEk9ITEsZz1hcmd1bWVudHMubGVuZ3RoLTE7Zz49LTEmJiFJO2ctLSl7dmFyIEI9Zz49MD9hcmd1bWVudHNbZ106aUkuY3dkKCk7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIEIpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzXCIpO2lmKCFCKXJldHVyblwiXCI7QT1CK1wiL1wiK0EsST1cIi9cIj09PUIuY2hhckF0KDApfXJldHVybihJP1wiL1wiOlwiXCIpKyhBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fFwiLlwifSxyZWxhdGl2ZTpmdW5jdGlvbihBLEkpe2Z1bmN0aW9uIGcoQSl7Zm9yKHZhciBJPTA7STxBLmxlbmd0aCYmXCJcIj09PUFbSV07SSsrKTtmb3IodmFyIGc9QS5sZW5ndGgtMTtnPj0wJiZcIlwiPT09QVtnXTtnLS0pO3JldHVybiBJPmc/W106QS5zbGljZShJLGctSSsxKX1BPUNJLnJlc29sdmUoQSkuc3Vic3RyKDEpLEk9Q0kucmVzb2x2ZShJKS5zdWJzdHIoMSk7Zm9yKHZhciBCPWcoQS5zcGxpdChcIi9cIikpLEM9ZyhJLnNwbGl0KFwiL1wiKSksUT1NYXRoLm1pbihCLmxlbmd0aCxDLmxlbmd0aCksRT1RLGk9MDtpPFE7aSsrKWlmKEJbaV0hPT1DW2ldKXtFPWk7YnJlYWt9dmFyIG89W107Zm9yKGk9RTtpPEIubGVuZ3RoO2krKylvLnB1c2goXCIuLlwiKTtyZXR1cm4obz1vLmNvbmNhdChDLnNsaWNlKEUpKSkuam9pbihcIi9cIil9fSxRST17dHR5czpbXSxpbml0OmZ1bmN0aW9uKCl7fSxzaHV0ZG93bjpmdW5jdGlvbigpe30scmVnaXN0ZXI6ZnVuY3Rpb24oQSxJKXtRSS50dHlzW0FdPXtpbnB1dDpbXSxvdXRwdXQ6W10sb3BzOkl9LGlJLnJlZ2lzdGVyRGV2aWNlKEEsUUkuc3RyZWFtX29wcyl9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9UUkudHR5c1tBLm5vZGUucmRldl07aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO0EudHR5PUksQS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5nZXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7Zm9yKHZhciBRPTAsRT0wO0U8QjtFKyspe3ZhciBpO3RyeXtpPUEudHR5Lm9wcy5nZXRfY2hhcihBLnR0eSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PWkmJjA9PT1RKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PWkpYnJlYWs7USsrLElbZytFXT1pfXJldHVybiBRJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5wdXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7dHJ5e2Zvcih2YXIgUT0wO1E8QjtRKyspQS50dHkub3BzLnB1dF9jaGFyKEEudHR5LElbZytRXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBCJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjpmdW5jdGlvbihBKXtpZighQS5pbnB1dC5sZW5ndGgpe3ZhciBJPW51bGw7aWYodyl7dmFyIGc9QnVmZmVyLmFsbG9jP0J1ZmZlci5hbGxvYygyNTYpOm5ldyBCdWZmZXIoMjU2KSxCPTA7dHJ5e0I9cy5yZWFkU3luYyhwcm9jZXNzLnN0ZGluLmZkLGcsMCwyNTYsbnVsbCl9Y2F0Y2goQSl7aWYoLTE9PUEudG9TdHJpbmcoKS5pbmRleE9mKFwiRU9GXCIpKXRocm93IEE7Qj0wfUk9Qj4wP2cuc2xpY2UoMCxCKS50b1N0cmluZyhcInV0Zi04XCIpOm51bGx9ZWxzZVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5wcm9tcHQ/bnVsbCE9PShJPXdpbmRvdy5wcm9tcHQoXCJJbnB1dDogXCIpKSYmKEkrPVwiXFxuXCIpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHJlYWRsaW5lJiZudWxsIT09KEk9cmVhZGxpbmUoKSkmJihJKz1cIlxcblwiKTtpZighSSlyZXR1cm4gbnVsbDtBLmlucHV0PVhnKEksITApfXJldHVybiBBLmlucHV0LnNoaWZ0KCl9LHB1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8odChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYodChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX19LEVJPXtvcHNfdGFibGU6bnVsbCxtb3VudDpmdW5jdGlvbihBKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShudWxsLFwiL1wiLDE2ODk1LDApfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKGlJLmlzQmxrZGV2KGcpfHxpSS5pc0ZJRk8oZykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0VJLm9wc190YWJsZXx8KEVJLm9wc190YWJsZT17ZGlyOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLGxvb2t1cDpFSS5ub2RlX29wcy5sb29rdXAsbWtub2Q6RUkubm9kZV9vcHMubWtub2QscmVuYW1lOkVJLm5vZGVfb3BzLnJlbmFtZSx1bmxpbms6RUkubm9kZV9vcHMudW5saW5rLHJtZGlyOkVJLm5vZGVfb3BzLnJtZGlyLHJlYWRkaXI6RUkubm9kZV9vcHMucmVhZGRpcixzeW1saW5rOkVJLm5vZGVfb3BzLnN5bWxpbmt9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrfX0sZmlsZTp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOntsbHNlZWs6RUkuc3RyZWFtX29wcy5sbHNlZWsscmVhZDpFSS5zdHJlYW1fb3BzLnJlYWQsd3JpdGU6RUkuc3RyZWFtX29wcy53cml0ZSxhbGxvY2F0ZTpFSS5zdHJlYW1fb3BzLmFsbG9jYXRlLG1tYXA6RUkuc3RyZWFtX29wcy5tbWFwLG1zeW5jOkVJLnN0cmVhbV9vcHMubXN5bmN9fSxsaW5rOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLHJlYWRsaW5rOkVJLm5vZGVfb3BzLnJlYWRsaW5rfSxzdHJlYW06e319LGNocmRldjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOmlJLmNocmRldl9zdHJlYW1fb3BzfX0pO3ZhciBDPWlJLmNyZWF0ZU5vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmlzRGlyKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmRpci5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZGlyLnN0cmVhbSxDLmNvbnRlbnRzPXt9KTppSS5pc0ZpbGUoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuZmlsZS5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZmlsZS5zdHJlYW0sQy51c2VkQnl0ZXM9MCxDLmNvbnRlbnRzPW51bGwpOmlJLmlzTGluayhDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5saW5rLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5saW5rLnN0cmVhbSk6aUkuaXNDaHJkZXYoQy5tb2RlKSYmKEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuY2hyZGV2LnN0cmVhbSksQy50aW1lc3RhbXA9RGF0ZS5ub3coKSxBJiYoQS5jb250ZW50c1tJXT1DKSxDfSxnZXRGaWxlRGF0YUFzUmVndWxhckFycmF5OmZ1bmN0aW9uKEEpe2lmKEEuY29udGVudHMmJkEuY29udGVudHMuc3ViYXJyYXkpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLnVzZWRCeXRlczsrK2cpSS5wdXNoKEEuY29udGVudHNbZ10pO3JldHVybiBJfXJldHVybiBBLmNvbnRlbnRzfSxnZXRGaWxlRGF0YUFzVHlwZWRBcnJheTpmdW5jdGlvbihBKXtyZXR1cm4gQS5jb250ZW50cz9BLmNvbnRlbnRzLnN1YmFycmF5P0EuY29udGVudHMuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyk6bmV3IFVpbnQ4QXJyYXkoQS5jb250ZW50cyk6bmV3IFVpbnQ4QXJyYXl9LGV4cGFuZEZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9QS5jb250ZW50cz9BLmNvbnRlbnRzLmxlbmd0aDowO2lmKCEoZz49SSkpe0k9TWF0aC5tYXgoSSxnKihnPDEwNDg1NzY/MjoxLjEyNSl8MCksMCE9ZyYmKEk9TWF0aC5tYXgoSSwyNTYpKTt2YXIgQj1BLmNvbnRlbnRzO0EuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkoSSksQS51c2VkQnl0ZXM+MCYmQS5jb250ZW50cy5zZXQoQi5zdWJhcnJheSgwLEEudXNlZEJ5dGVzKSwwKX19LHJlc2l6ZUZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7aWYoQS51c2VkQnl0ZXMhPUkpe2lmKDA9PUkpcmV0dXJuIEEuY29udGVudHM9bnVsbCx2b2lkKEEudXNlZEJ5dGVzPTApO2lmKCFBLmNvbnRlbnRzfHxBLmNvbnRlbnRzLnN1YmFycmF5KXt2YXIgZz1BLmNvbnRlbnRzO3JldHVybiBBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLGcmJkEuY29udGVudHMuc2V0KGcuc3ViYXJyYXkoMCxNYXRoLm1pbihJLEEudXNlZEJ5dGVzKSkpLHZvaWQoQS51c2VkQnl0ZXM9SSl9aWYoQS5jb250ZW50c3x8KEEuY29udGVudHM9W10pLEEuY29udGVudHMubGVuZ3RoPkkpQS5jb250ZW50cy5sZW5ndGg9STtlbHNlIGZvcig7QS5jb250ZW50cy5sZW5ndGg8STspQS5jb250ZW50cy5wdXNoKDApO0EudXNlZEJ5dGVzPUl9fSxub2RlX29wczp7Z2V0YXR0cjpmdW5jdGlvbihBKXt2YXIgST17fTtyZXR1cm4gSS5kZXY9aUkuaXNDaHJkZXYoQS5tb2RlKT9BLmlkOjEsSS5pbm89QS5pZCxJLm1vZGU9QS5tb2RlLEkubmxpbms9MSxJLnVpZD0wLEkuZ2lkPTAsSS5yZGV2PUEucmRldixpSS5pc0RpcihBLm1vZGUpP0kuc2l6ZT00MDk2OmlJLmlzRmlsZShBLm1vZGUpP0kuc2l6ZT1BLnVzZWRCeXRlczppSS5pc0xpbmsoQS5tb2RlKT9JLnNpemU9QS5saW5rLmxlbmd0aDpJLnNpemU9MCxJLmF0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLm10aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmN0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmJsa3NpemU9NDA5NixJLmJsb2Nrcz1NYXRoLmNlaWwoSS5zaXplL0kuYmxrc2l6ZSksSX0sc2V0YXR0cjpmdW5jdGlvbihBLEkpe3ZvaWQgMCE9PUkubW9kZSYmKEEubW9kZT1JLm1vZGUpLHZvaWQgMCE9PUkudGltZXN0YW1wJiYoQS50aW1lc3RhbXA9SS50aW1lc3RhbXApLHZvaWQgMCE9PUkuc2l6ZSYmRUkucmVzaXplRmlsZVN0b3JhZ2UoQSxJLnNpemUpfSxsb29rdXA6ZnVuY3Rpb24oQSxJKXt0aHJvdyBpSS5nZW5lcmljRXJyb3JzWzQ0XX0sbWtub2Q6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIEVJLmNyZWF0ZU5vZGUoQSxJLGcsQil9LHJlbmFtZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNEaXIoQS5tb2RlKSl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShJLGcpfWNhdGNoKEEpe31pZihCKWZvcih2YXIgQyBpbiBCLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KX1kZWxldGUgQS5wYXJlbnQuY29udGVudHNbQS5uYW1lXSxBLm5hbWU9ZyxJLmNvbnRlbnRzW2ddPUEsQS5wYXJlbnQ9SX0sdW5saW5rOmZ1bmN0aW9uKEEsSSl7ZGVsZXRlIEEuY29udGVudHNbSV19LHJtZGlyOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwTm9kZShBLEkpO2Zvcih2YXIgQiBpbiBnLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTtkZWxldGUgQS5jb250ZW50c1tJXX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1bXCIuXCIsXCIuLlwiXTtmb3IodmFyIGcgaW4gQS5jb250ZW50cylBLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGcpJiZJLnB1c2goZyk7cmV0dXJuIEl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUVJLmNyZWF0ZU5vZGUoQSxJLDQxNDcxLDApO3JldHVybiBCLmxpbms9ZyxCfSxyZWFkbGluazpmdW5jdGlvbihBKXtpZighaUkuaXNMaW5rKEEubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLmxpbmt9fSxzdHJlYW1fb3BzOntyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PUEubm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oQS5ub2RlLnVzZWRCeXRlcy1DLEIpO2lmKEU+OCYmUS5zdWJhcnJheSlJLnNldChRLnN1YmFycmF5KEMsQytFKSxnKTtlbHNlIGZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtyZXR1cm4gRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKCFCKXJldHVybiAwO3ZhciBFPUEubm9kZTtpZihFLnRpbWVzdGFtcD1EYXRlLm5vdygpLEkuc3ViYXJyYXkmJighRS5jb250ZW50c3x8RS5jb250ZW50cy5zdWJhcnJheSkpe2lmKFEpcmV0dXJuIEUuY29udGVudHM9SS5zdWJhcnJheShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKDA9PT1FLnVzZWRCeXRlcyYmMD09PUMpcmV0dXJuIEUuY29udGVudHM9SS5zbGljZShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKEMrQjw9RS51c2VkQnl0ZXMpcmV0dXJuIEUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpLEJ9aWYoRUkuZXhwYW5kRmlsZVN0b3JhZ2UoRSxDK0IpLEUuY29udGVudHMuc3ViYXJyYXkmJkkuc3ViYXJyYXkpRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyk7ZWxzZSBmb3IodmFyIGk9MDtpPEI7aSsrKUUuY29udGVudHNbQytpXT1JW2craV07cmV0dXJuIEUudXNlZEJ5dGVzPU1hdGgubWF4KEUudXNlZEJ5dGVzLEMrQiksQn0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1JO2lmKDE9PT1nP0IrPUEucG9zaXRpb246Mj09PWcmJmlJLmlzRmlsZShBLm5vZGUubW9kZSkmJihCKz1BLm5vZGUudXNlZEJ5dGVzKSxCPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBCfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7RUkuZXhwYW5kRmlsZVN0b3JhZ2UoQS5ub2RlLEkrZyksQS5ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChBLm5vZGUudXNlZEJ5dGVzLEkrZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3ZhciBpLG8sRD1BLm5vZGUuY29udGVudHM7aWYoMiZFfHxELmJ1ZmZlciE9PUkuYnVmZmVyKXsoQz4wfHxDK0I8QS5ub2RlLnVzZWRCeXRlcykmJihEPUQuc3ViYXJyYXk/RC5zdWJhcnJheShDLEMrQik6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoRCxDLEMrQikpLG89ITA7dmFyIGE9SS5idWZmZXI9PXYuYnVmZmVyO2lmKCEoaT1SQihCKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDgpOyhhP3Y6SSkuc2V0KEQsaSl9ZWxzZSBvPSExLGk9RC5ieXRlT2Zmc2V0O3JldHVybntwdHI6aSxhbGxvY2F0ZWQ6b319LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiAyJkN8fEVJLnN0cmVhbV9vcHMud3JpdGUoQSxJLDAsQixnLCExKSwwfX19LGlJPXtyb290Om51bGwsbW91bnRzOltdLGRldmljZXM6e30sc3RyZWFtczpbXSxuZXh0SW5vZGU6MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDpcIi9cIixpbml0aWFsaXplZDohMSxpZ25vcmVQZXJtaXNzaW9uczohMCx0cmFja2luZ0RlbGVnYXRlOnt9LHRyYWNraW5nOntvcGVuRmxhZ3M6e1JFQUQ6MSxXUklURToyfX0sRXJybm9FcnJvcjpudWxsLGdlbmVyaWNFcnJvcnM6e30sZmlsZXN5c3RlbXM6bnVsbCxzeW5jRlNSZXF1ZXN0czowLGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcikpdGhyb3cgQStcIiA6IFwiK1RBKCk7cmV0dXJuIElJKEEuZXJybm8pfSxsb29rdXBQYXRoOmZ1bmN0aW9uKEEsSSl7aWYoST1JfHx7fSwhKEE9Q0kucmVzb2x2ZShpSS5jd2QoKSxBKSkpcmV0dXJue3BhdGg6XCJcIixub2RlOm51bGx9O3ZhciBnPXtmb2xsb3dfbW91bnQ6ITAscmVjdXJzZV9jb3VudDowfTtmb3IodmFyIEIgaW4gZyl2b2lkIDA9PT1JW0JdJiYoSVtCXT1nW0JdKTtpZihJLnJlY3Vyc2VfY291bnQ+OCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMik7Zm9yKHZhciBDPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCExKSxRPWlJLnJvb3QsRT1cIi9cIixpPTA7aTxDLmxlbmd0aDtpKyspe3ZhciBvPWk9PT1DLmxlbmd0aC0xO2lmKG8mJkkucGFyZW50KWJyZWFrO2lmKFE9aUkubG9va3VwTm9kZShRLENbaV0pLEU9Qkkuam9pbjIoRSxDW2ldKSxpSS5pc01vdW50cG9pbnQoUSkmJighb3x8byYmSS5mb2xsb3dfbW91bnQpJiYoUT1RLm1vdW50ZWQucm9vdCksIW98fEkuZm9sbG93KWZvcih2YXIgRD0wO2lJLmlzTGluayhRLm1vZGUpOyl7dmFyIGE9aUkucmVhZGxpbmsoRSk7aWYoRT1DSS5yZXNvbHZlKEJJLmRpcm5hbWUoRSksYSksUT1pSS5sb29rdXBQYXRoKEUse3JlY3Vyc2VfY291bnQ6SS5yZWN1cnNlX2NvdW50fSkubm9kZSxEKys+NDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzIpfX1yZXR1cm57cGF0aDpFLG5vZGU6UX19LGdldFBhdGg6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJOzspe2lmKGlJLmlzUm9vdChBKSl7dmFyIGc9QS5tb3VudC5tb3VudHBvaW50O3JldHVybiBJP1wiL1wiIT09Z1tnLmxlbmd0aC0xXT9nK1wiL1wiK0k6ZytJOmd9ST1JP0EubmFtZStcIi9cIitJOkEubmFtZSxBPUEucGFyZW50fX0saGFzaE5hbWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPTA7QjxJLmxlbmd0aDtCKyspZz0oZzw8NSktZytJLmNoYXJDb2RlQXQoQil8MDtyZXR1cm4oQStnPj4+MCklaUkubmFtZVRhYmxlLmxlbmd0aH0saGFzaEFkZE5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtBLm5hbWVfbmV4dD1pSS5uYW1lVGFibGVbSV0saUkubmFtZVRhYmxlW0ldPUF9LGhhc2hSZW1vdmVOb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7aWYoaUkubmFtZVRhYmxlW0ldPT09QSlpSS5uYW1lVGFibGVbSV09QS5uYW1lX25leHQ7ZWxzZSBmb3IodmFyIGc9aUkubmFtZVRhYmxlW0ldO2c7KXtpZihnLm5hbWVfbmV4dD09PUEpe2cubmFtZV9uZXh0PUEubmFtZV9uZXh0O2JyZWFrfWc9Zy5uYW1lX25leHR9fSxsb29rdXBOb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubWF5TG9va3VwKEEpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyxBKTtmb3IodmFyIEI9aUkuaGFzaE5hbWUoQS5pZCxJKSxDPWlJLm5hbWVUYWJsZVtCXTtDO0M9Qy5uYW1lX25leHQpe3ZhciBRPUMubmFtZTtpZihDLnBhcmVudC5pZD09PUEuaWQmJlE9PT1JKXJldHVybiBDfXJldHVybiBpSS5sb29rdXAoQSxJKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZighaUkuRlNOb2RlKXtpSS5GU05vZGU9ZnVuY3Rpb24oQSxJLGcsQil7QXx8KEE9dGhpcyksdGhpcy5wYXJlbnQ9QSx0aGlzLm1vdW50PUEubW91bnQsdGhpcy5tb3VudGVkPW51bGwsdGhpcy5pZD1pSS5uZXh0SW5vZGUrKyx0aGlzLm5hbWU9SSx0aGlzLm1vZGU9Zyx0aGlzLm5vZGVfb3BzPXt9LHRoaXMuc3RyZWFtX29wcz17fSx0aGlzLnJkZXY9Qn0saUkuRlNOb2RlLnByb3RvdHlwZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpSS5GU05vZGUucHJvdG90eXBlLHtyZWFkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMzY1PT0oMzY1JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MzY1OnRoaXMubW9kZSY9LTM2Nn19LHdyaXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTQ2PT0oMTQ2JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MTQ2OnRoaXMubW9kZSY9LTE0N319LGlzRm9sZGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNEaXIodGhpcy5tb2RlKX19LGlzRGV2aWNlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNDaHJkZXYodGhpcy5tb2RlKX19fSl9dmFyIEM9bmV3IGlJLkZTTm9kZShBLEksZyxCKTtyZXR1cm4gaUkuaGFzaEFkZE5vZGUoQyksQ30sZGVzdHJveU5vZGU6ZnVuY3Rpb24oQSl7aUkuaGFzaFJlbW92ZU5vZGUoQSl9LGlzUm9vdDpmdW5jdGlvbihBKXtyZXR1cm4gQT09PUEucGFyZW50fSxpc01vdW50cG9pbnQ6ZnVuY3Rpb24oQSl7cmV0dXJuISFBLm1vdW50ZWR9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm4gMzI3Njg9PSg2MTQ0MCZBKX0saXNEaXI6ZnVuY3Rpb24oQSl7cmV0dXJuIDE2Mzg0PT0oNjE0NDAmQSl9LGlzTGluazpmdW5jdGlvbihBKXtyZXR1cm4gNDA5NjA9PSg2MTQ0MCZBKX0saXNDaHJkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDgxOTI9PSg2MTQ0MCZBKX0saXNCbGtkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDI0NTc2PT0oNjE0NDAmQSl9LGlzRklGTzpmdW5jdGlvbihBKXtyZXR1cm4gNDA5Nj09KDYxNDQwJkEpfSxpc1NvY2tldDpmdW5jdGlvbihBKXtyZXR1cm4gNDkxNTI9PSg0OTE1MiZBKX0sZmxhZ01vZGVzOntyOjAscnM6MTA1MjY3MixcInIrXCI6Mix3OjU3Nyx3eDo3MDUseHc6NzA1LFwidytcIjo1NzgsXCJ3eCtcIjo3MDYsXCJ4dytcIjo3MDYsYToxMDg5LGF4OjEyMTcseGE6MTIxNyxcImErXCI6MTA5MCxcImF4K1wiOjEyMTgsXCJ4YStcIjoxMjE4fSxtb2RlU3RyaW5nVG9GbGFnczpmdW5jdGlvbihBKXt2YXIgST1pSS5mbGFnTW9kZXNbQV07aWYodm9pZCAwPT09SSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGZpbGUgb3BlbiBtb2RlOiBcIitBKTtyZXR1cm4gSX0sZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmc6ZnVuY3Rpb24oQSl7dmFyIEk9W1wiclwiLFwid1wiLFwicndcIl1bMyZBXTtyZXR1cm4gNTEyJkEmJihJKz1cIndcIiksSX0sbm9kZVBlcm1pc3Npb25zOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIGlJLmlnbm9yZVBlcm1pc3Npb25zfHwoLTE9PT1JLmluZGV4T2YoXCJyXCIpfHwyOTImQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFwid1wiKXx8MTQ2JkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcInhcIil8fDczJkEubW9kZSk/MDoyfSxtYXlMb29rdXA6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLm5vZGVQZXJtaXNzaW9ucyhBLFwieFwiKXx8KEEubm9kZV9vcHMubG9va3VwPzA6Mil9LG1heUNyZWF0ZTpmdW5jdGlvbihBLEkpe3RyeXtyZXR1cm4gaUkubG9va3VwTm9kZShBLEkpLDIwfWNhdGNoKEEpe31yZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKX0sbWF5RGVsZXRlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjt0cnl7Qj1pSS5sb29rdXBOb2RlKEEsSSl9Y2F0Y2goQSl7cmV0dXJuIEEuZXJybm99dmFyIEM9aUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKTtpZihDKXJldHVybiBDO2lmKGcpe2lmKCFpSS5pc0RpcihCLm1vZGUpKXJldHVybiA1NDtpZihpSS5pc1Jvb3QoQil8fGlJLmdldFBhdGgoQik9PT1pSS5jd2QoKSlyZXR1cm4gMTB9ZWxzZSBpZihpSS5pc0RpcihCLm1vZGUpKXJldHVybiAzMTtyZXR1cm4gMH0sbWF5T3BlbjpmdW5jdGlvbihBLEkpe3JldHVybiBBP2lJLmlzTGluayhBLm1vZGUpPzMyOmlJLmlzRGlyKEEubW9kZSkmJihcInJcIiE9PWlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpfHw1MTImSSk/MzE6aUkubm9kZVBlcm1pc3Npb25zKEEsaUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSkpOjQ0fSxNQVhfT1BFTl9GRFM6NDA5NixuZXh0ZmQ6ZnVuY3Rpb24oQSxJKXtBPUF8fDAsST1JfHxpSS5NQVhfT1BFTl9GRFM7Zm9yKHZhciBnPUE7Zzw9STtnKyspaWYoIWlJLnN0cmVhbXNbZ10pcmV0dXJuIGc7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzMpfSxnZXRTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0cmVhbXNbQV19LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihBLEksZyl7aUkuRlNTdHJlYW18fChpSS5GU1N0cmVhbT1mdW5jdGlvbigpe30saUkuRlNTdHJlYW0ucHJvdG90eXBlPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5ub2RlPUF9fSxpc1JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzV3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAwIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzQXBwZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTAyNCZ0aGlzLmZsYWdzfX19KSk7dmFyIEI9bmV3IGlJLkZTU3RyZWFtO2Zvcih2YXIgQyBpbiBBKUJbQ109QVtDXTtBPUI7dmFyIFE9aUkubmV4dGZkKEksZyk7cmV0dXJuIEEuZmQ9USxpSS5zdHJlYW1zW1FdPUEsQX0sY2xvc2VTdHJlYW06ZnVuY3Rpb24oQSl7aUkuc3RyZWFtc1tBXT1udWxsfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1pSS5nZXREZXZpY2UoQS5ub2RlLnJkZXYpO0Euc3RyZWFtX29wcz1JLnN0cmVhbV9vcHMsQS5zdHJlYW1fb3BzLm9wZW4mJkEuc3RyZWFtX29wcy5vcGVuKEEpfSxsbHNlZWs6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9fSxtYWpvcjpmdW5jdGlvbihBKXtyZXR1cm4gQT4+OH0sbWlub3I6ZnVuY3Rpb24oQSl7cmV0dXJuIDI1NSZBfSxtYWtlZGV2OmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE8PDh8SX0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24oQSxJKXtpSS5kZXZpY2VzW0FdPXtzdHJlYW1fb3BzOkl9fSxnZXREZXZpY2U6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLmRldmljZXNbQV19LGdldE1vdW50czpmdW5jdGlvbihBKXtmb3IodmFyIEk9W10sZz1bQV07Zy5sZW5ndGg7KXt2YXIgQj1nLnBvcCgpO0kucHVzaChCKSxnLnB1c2guYXBwbHkoZyxCLm1vdW50cyl9cmV0dXJuIEl9LHN5bmNmczpmdW5jdGlvbihBLEkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIEEmJihJPUEsQT0hMSksaUkuc3luY0ZTUmVxdWVzdHMrKyxpSS5zeW5jRlNSZXF1ZXN0cz4xJiZTKFwid2FybmluZzogXCIraUkuc3luY0ZTUmVxdWVzdHMrXCIgRlMuc3luY2ZzIG9wZXJhdGlvbnMgaW4gZmxpZ2h0IGF0IG9uY2UsIHByb2JhYmx5IGp1c3QgZG9pbmcgZXh0cmEgd29ya1wiKTt2YXIgZz1pSS5nZXRNb3VudHMoaUkucm9vdC5tb3VudCksQj0wO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGlJLnN5bmNGU1JlcXVlc3RzLS0sSShBKX1mdW5jdGlvbiBRKEEpe2lmKEEpcmV0dXJuIFEuZXJyb3JlZD92b2lkIDA6KFEuZXJyb3JlZD0hMCxDKEEpKTsrK0I+PWcubGVuZ3RoJiZDKG51bGwpfWcuZm9yRWFjaCgoZnVuY3Rpb24oSSl7aWYoIUkudHlwZS5zeW5jZnMpcmV0dXJuIFEobnVsbCk7SS50eXBlLnN5bmNmcyhJLEEsUSl9KSl9LG1vdW50OmZ1bmN0aW9uKEEsSSxnKXt2YXIgQixDPVwiL1wiPT09ZyxRPSFnO2lmKEMmJmlJLnJvb3QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFDJiYhUSl7dmFyIEU9aUkubG9va3VwUGF0aChnLHtmb2xsb3dfbW91bnQ6ITF9KTtpZihnPUUucGF0aCxCPUUubm9kZSxpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFpSS5pc0RpcihCLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KX12YXIgaT17dHlwZTpBLG9wdHM6SSxtb3VudHBvaW50OmcsbW91bnRzOltdfSxvPUEubW91bnQoaSk7cmV0dXJuIG8ubW91bnQ9aSxpLnJvb3Q9byxDP2lJLnJvb3Q9bzpCJiYoQi5tb3VudGVkPWksQi5tb3VudCYmQi5tb3VudC5tb3VudHMucHVzaChpKSksb30sdW5tb3VudDpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvd19tb3VudDohMX0pO2lmKCFpSS5pc01vdW50cG9pbnQoSS5ub2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIGc9SS5ub2RlLEI9Zy5tb3VudGVkLEM9aUkuZ2V0TW91bnRzKEIpO09iamVjdC5rZXlzKGlJLm5hbWVUYWJsZSkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBJPWlJLm5hbWVUYWJsZVtBXTtJOyl7dmFyIGc9SS5uYW1lX25leHQ7LTEhPT1DLmluZGV4T2YoSS5tb3VudCkmJmlJLmRlc3Ryb3lOb2RlKEkpLEk9Z319KSksZy5tb3VudGVkPW51bGw7dmFyIFE9Zy5tb3VudC5tb3VudHMuaW5kZXhPZihCKTtnLm1vdW50Lm1vdW50cy5zcGxpY2UoUSwxKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEubm9kZV9vcHMubG9va3VwKEEsSSl9LG1rbm9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQz1CSS5iYXNlbmFtZShBKTtpZighQ3x8XCIuXCI9PT1DfHxcIi4uXCI9PT1DKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT1pSS5tYXlDcmVhdGUoQixDKTtpZihRKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKFEpO2lmKCFCLm5vZGVfb3BzLm1rbm9kKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gQi5ub2RlX29wcy5ta25vZChCLEMsSSxnKX0sY3JlYXRlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjQzOCxJJj00MDk1LEl8PTMyNzY4LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NTExLEkmPTEwMjMsSXw9MTYzODQsaUkubWtub2QoQSxJLDApfSxta2RpclRyZWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9QS5zcGxpdChcIi9cIiksQj1cIlwiLEM9MDtDPGcubGVuZ3RoOysrQylpZihnW0NdKXtCKz1cIi9cIitnW0NdO3RyeXtpSS5ta2RpcihCLEkpfWNhdGNoKEEpe2lmKDIwIT1BLmVycm5vKXRocm93IEF9fX0sbWtkZXY6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB2b2lkIDA9PT1nJiYoZz1JLEk9NDM4KSxJfD04MTkyLGlJLm1rbm9kKEEsSSxnKX0sc3ltbGluazpmdW5jdGlvbihBLEkpe2lmKCFDSS5yZXNvbHZlKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgZz1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBCPUJJLmJhc2VuYW1lKEkpLEM9aUkubWF5Q3JlYXRlKGcsQik7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighZy5ub2RlX29wcy5zeW1saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5zeW1saW5rKGcsQixBKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSl7dmFyIGcsQixDPUJJLmRpcm5hbWUoQSksUT1CSS5kaXJuYW1lKEkpLEU9QkkuYmFzZW5hbWUoQSksaT1CSS5iYXNlbmFtZShJKTt0cnl7Zz1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQj1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGV9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApfWlmKCFnfHwhQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoZy5tb3VudCE9PUIubW91bnQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzUpO3ZhciBvLEQ9aUkubG9va3VwTm9kZShnLEUpLGE9Q0kucmVsYXRpdmUoQSxRKTtpZihcIi5cIiE9PWEuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihcIi5cIiE9PShhPUNJLnJlbGF0aXZlKEksQykpLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7dHJ5e289aUkubG9va3VwTm9kZShCLGkpfWNhdGNoKEEpe31pZihEIT09byl7dmFyIHc9aUkuaXNEaXIoRC5tb2RlKSxGPWlJLm1heURlbGV0ZShnLEUsdyk7aWYoRil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZihGPW8/aUkubWF5RGVsZXRlKEIsaSx3KTppSS5tYXlDcmVhdGUoQixpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZighZy5ub2RlX29wcy5yZW5hbWUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChEKXx8byYmaUkuaXNNb3VudHBvaW50KG8pKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZihCIT09ZyYmKEY9aUkubm9kZVBlcm1pc3Npb25zKGcsXCJ3XCIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxNb3ZlUGF0aCddKCdcIitBK1wiJywgJ1wiK0krXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK2cubWVzc2FnZSl9aUkuaGFzaFJlbW92ZU5vZGUoRCk7dHJ5e2cubm9kZV9vcHMucmVuYW1lKEQsQixpKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuaGFzaEFkZE5vZGUoRCl9dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uTW92ZVBhdGgnXSgnXCIrQStcIicsICdcIitJK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitnLm1lc3NhZ2UpfX19LHJtZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMCk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy5ybWRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnJtZGlyKEksZyksaUkuZGVzdHJveU5vZGUoQik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9fSxyZWFkZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtpZighSS5ub2RlX29wcy5yZWFkZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtyZXR1cm4gSS5ub2RlX29wcy5yZWFkZGlyKEkpfSx1bmxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCExKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnVubGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnVubGluayhJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfX0scmVhZGxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBKS5ub2RlO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighSS5ub2RlX29wcy5yZWFkbGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIENJLnJlc29sdmUoaUkuZ2V0UGF0aChJLnBhcmVudCksSS5ub2RlX29wcy5yZWFkbGluayhJKSl9LHN0YXQ6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFnLm5vZGVfb3BzLmdldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBnLm5vZGVfb3BzLmdldGF0dHIoZyl9LGxzdGF0OmZ1bmN0aW9uKEEpe3JldHVybiBpSS5zdGF0KEEsITApfSxjaG1vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI7aWYoIShCPVwic3RyaW5nXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFnfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtCLm5vZGVfb3BzLnNldGF0dHIoQix7bW9kZTo0MDk1Jkl8LTQwOTYmQi5tb2RlLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG1vZDpmdW5jdGlvbihBLEkpe2lJLmNobW9kKEEsSSwhMCl9LGZjaG1vZDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG1vZChnLm5vZGUsSSl9LGNob3duOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDO2lmKCEoQz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohQn0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qy5ub2RlX29wcy5zZXRhdHRyKEMse3RpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG93bjpmdW5jdGlvbihBLEksZyl7aUkuY2hvd24oQSxJLGcsITApfSxmY2hvd246ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG93bihCLm5vZGUsSSxnKX0sdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXtpZihJPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnO2lmKCEoZz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNEaXIoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIWlJLmlzRmlsZShnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgQj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcIndcIik7aWYoQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihCKTtnLm5vZGVfb3BzLnNldGF0dHIoZyx7c2l6ZTpJLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGZ0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZnLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aUkudHJ1bmNhdGUoZy5ub2RlLEkpfSx1dGltZTpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO0Iubm9kZV9vcHMuc2V0YXR0cihCLHt0aW1lc3RhbXA6TWF0aC5tYXgoSSxnKX0pfSxvcGVuOmZ1bmN0aW9uKEksZyxCLEMsUSl7aWYoXCJcIj09PUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBFO2lmKEI9dm9pZCAwPT09Qj80Mzg6QixCPTY0JihnPVwic3RyaW5nXCI9PXR5cGVvZiBnP2lJLm1vZGVTdHJpbmdUb0ZsYWdzKGcpOmcpPzQwOTUmQnwzMjc2ODowLFwib2JqZWN0XCI9PT1EKEkpKUU9STtlbHNle0k9Qkkubm9ybWFsaXplKEkpO3RyeXtFPWlJLmxvb2t1cFBhdGgoSSx7Zm9sbG93OiEoMTMxMDcyJmcpfSkubm9kZX1jYXRjaChBKXt9fXZhciBpPSExO2lmKDY0JmcpaWYoRSl7aWYoMTI4JmcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjApfWVsc2UgRT1pSS5ta25vZChJLEIsMCksaT0hMDtpZighRSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoaUkuaXNDaHJkZXYoRS5tb2RlKSYmKGcmPS01MTMpLDY1NTM2JmcmJiFpSS5pc0RpcihFLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtpZighaSl7dmFyIG89aUkubWF5T3BlbihFLGcpO2lmKG8pdGhyb3cgbmV3IGlJLkVycm5vRXJyb3Iobyl9NTEyJmcmJmlJLnRydW5jYXRlKEUsMCksZyY9LTY0MTt2YXIgYT1pSS5jcmVhdGVTdHJlYW0oe25vZGU6RSxwYXRoOmlJLmdldFBhdGgoRSksZmxhZ3M6ZyxzZWVrYWJsZTohMCxwb3NpdGlvbjowLHN0cmVhbV9vcHM6RS5zdHJlYW1fb3BzLHVuZ290dGVuOltdLGVycm9yOiExfSxDLFEpO2Euc3RyZWFtX29wcy5vcGVuJiZhLnN0cmVhbV9vcHMub3BlbihhKSwhQS5sb2dSZWFkRmlsZXN8fDEmZ3x8KGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlcz17fSksSSBpbiBpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXNbSV09MSxTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZSBlcnJvciBvbiByZWFkIGZpbGU6IFwiK0kpKSk7dHJ5e2lmKGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZSl7dmFyIHc9MDsxIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5SRUFEKSwwIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5XUklURSksaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk9wZW5GaWxlKEksdyl9fWNhdGNoKEEpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk9wZW5GaWxlJ10oJ1wiK0krXCInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitBLm1lc3NhZ2UpfXJldHVybiBhfSxjbG9zZTpmdW5jdGlvbihBKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtBLmdldGRlbnRzJiYoQS5nZXRkZW50cz1udWxsKTt0cnl7QS5zdHJlYW1fb3BzLmNsb3NlJiZBLnN0cmVhbV9vcHMuY2xvc2UoQSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmNsb3NlU3RyZWFtKEEuZmQpfUEuZmQ9bnVsbH0saXNDbG9zZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PT1BLmZkfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFBLnNlZWthYmxlfHwhQS5zdHJlYW1fb3BzLmxsc2Vlayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCk7aWYoMCE9ZyYmMSE9ZyYmMiE9Zyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEucG9zaXRpb249QS5zdHJlYW1fb3BzLmxsc2VlayhBLEksZyksQS51bmdvdHRlbj1bXSxBLnBvc2l0aW9ufSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy5yZWFkKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT12b2lkIDAhPT1DO2lmKFEpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgRT1BLnN0cmVhbV9vcHMucmVhZChBLEksZyxCLEMpO3JldHVybiBRfHwoQS5wb3NpdGlvbis9RSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMud3JpdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpOzEwMjQmQS5mbGFncyYmaUkubGxzZWVrKEEsMCwyKTt2YXIgRT12b2lkIDAhPT1DO2lmKEUpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgaT1BLnN0cmVhbV9vcHMud3JpdGUoQSxJLGcsQixDLFEpO0V8fChBLnBvc2l0aW9uKz1pKTt0cnl7QS5wYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZShBLnBhdGgpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbldyaXRlVG9GaWxlJ10oJ1wiK0EucGF0aCtcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1yZXR1cm4gaX0sYWxsb2NhdGU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKEk8MHx8Zzw9MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoMD09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkmJiFpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO2lmKCFBLnN0cmVhbV9vcHMuYWxsb2NhdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTM4KTtBLnN0cmVhbV9vcHMuYWxsb2NhdGUoQSxJLGcpfSxtbWFwOmZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUpe2lmKDAhPSgyJlEpJiYwPT0oMiZFKSYmMiE9KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoMT09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoIUEuc3RyZWFtX29wcy5tbWFwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtyZXR1cm4gQS5zdHJlYW1fb3BzLm1tYXAoQSxJLGcsQixDLFEsRSl9LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEmJkEuc3RyZWFtX29wcy5tc3luYz9BLnN0cmVhbV9vcHMubXN5bmMoQSxJLGcsQixDKTowfSxtdW5tYXA6ZnVuY3Rpb24oQSl7cmV0dXJuIDB9LGlvY3RsOmZ1bmN0aW9uKEEsSSxnKXtpZighQS5zdHJlYW1fb3BzLmlvY3RsKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU5KTtyZXR1cm4gQS5zdHJlYW1fb3BzLmlvY3RsKEEsSSxnKX0scmVhZEZpbGU6ZnVuY3Rpb24oQSxJKXtpZigoST1JfHx7fSkuZmxhZ3M9SS5mbGFnc3x8XCJyXCIsSS5lbmNvZGluZz1JLmVuY29kaW5nfHxcImJpbmFyeVwiLFwidXRmOFwiIT09SS5lbmNvZGluZyYmXCJiaW5hcnlcIiE9PUkuZW5jb2RpbmcpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVuY29kaW5nIHR5cGUgXCInK0kuZW5jb2RpbmcrJ1wiJyk7dmFyIGcsQj1pSS5vcGVuKEEsSS5mbGFncyksQz1pSS5zdGF0KEEpLnNpemUsUT1uZXcgVWludDhBcnJheShDKTtyZXR1cm4gaUkucmVhZChCLFEsMCxDLDApLFwidXRmOFwiPT09SS5lbmNvZGluZz9nPWQoUSwwKTpcImJpbmFyeVwiPT09SS5lbmNvZGluZyYmKGc9USksaUkuY2xvc2UoQiksZ30sd3JpdGVGaWxlOmZ1bmN0aW9uKEEsSSxnKXsoZz1nfHx7fSkuZmxhZ3M9Zy5mbGFnc3x8XCJ3XCI7dmFyIEI9aUkub3BlbihBLGcuZmxhZ3MsZy5tb2RlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgSSl7dmFyIEM9bmV3IFVpbnQ4QXJyYXkoVyhJKSsxKSxRPWwoSSxDLDAsQy5sZW5ndGgpO2lJLndyaXRlKEIsQywwLFEsdm9pZCAwLGcuY2FuT3duKX1lbHNle2lmKCFBcnJheUJ1ZmZlci5pc1ZpZXcoSSkpdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgZGF0YSB0eXBlXCIpO2lJLndyaXRlKEIsSSwwLEkuYnl0ZUxlbmd0aCx2b2lkIDAsZy5jYW5Pd24pfWlJLmNsb3NlKEIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuY3VycmVudFBhdGh9LGNoZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSk7aWYobnVsbD09PUkubm9kZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWlJLmlzRGlyKEkubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7dmFyIGc9aUkubm9kZVBlcm1pc3Npb25zKEkubm9kZSxcInhcIik7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnKTtpSS5jdXJyZW50UGF0aD1JLnBhdGh9LGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczpmdW5jdGlvbigpe2lJLm1rZGlyKFwiL3RtcFwiKSxpSS5ta2RpcihcIi9ob21lXCIpLGlJLm1rZGlyKFwiL2hvbWUvd2ViX3VzZXJcIil9LGNyZWF0ZURlZmF1bHREZXZpY2VzOmZ1bmN0aW9uKCl7dmFyIEE7aWYoaUkubWtkaXIoXCIvZGV2XCIpLGlJLnJlZ2lzdGVyRGV2aWNlKGlJLm1ha2VkZXYoMSwzKSx7cmVhZDpmdW5jdGlvbigpe3JldHVybiAwfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBCfX0pLGlJLm1rZGV2KFwiL2Rldi9udWxsXCIsaUkubWFrZWRldigxLDMpKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDUsMCksUUkuZGVmYXVsdF90dHlfb3BzKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDYsMCksUUkuZGVmYXVsdF90dHkxX29wcyksaUkubWtkZXYoXCIvZGV2L3R0eVwiLGlJLm1ha2VkZXYoNSwwKSksaUkubWtkZXYoXCIvZGV2L3R0eTFcIixpSS5tYWtlZGV2KDYsMCkpLFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIGNyeXB0bz9cInVuZGVmaW5lZFwiOkQoY3J5cHRvKSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciBJPW5ldyBVaW50OEFycmF5KDEpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhJKSxJWzBdfX1lbHNlIGlmKHcpdHJ5e3ZhciBCPWcoNjU0KTtBPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmFuZG9tQnl0ZXMoMSlbMF19fWNhdGNoKEEpe31BfHwoQT1mdW5jdGlvbigpe0pBKFwicmFuZG9tX2RldmljZVwiKX0pLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInJhbmRvbVwiLEEpLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInVyYW5kb21cIixBKSxpSS5ta2RpcihcIi9kZXYvc2htXCIpLGlJLm1rZGlyKFwiL2Rldi9zaG0vdG1wXCIpfSxjcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcIi9wcm9jXCIpLGlJLm1rZGlyKFwiL3Byb2Mvc2VsZlwiKSxpSS5ta2RpcihcIi9wcm9jL3NlbGYvZmRcIiksaUkubW91bnQoe21vdW50OmZ1bmN0aW9uKCl7dmFyIEE9aUkuY3JlYXRlTm9kZShcIi9wcm9jL3NlbGZcIixcImZkXCIsMTY4OTUsNzMpO3JldHVybiBBLm5vZGVfb3BzPXtsb29rdXA6ZnVuY3Rpb24oQSxJKXt2YXIgZz0rSSxCPWlJLmdldFN0cmVhbShnKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTt2YXIgQz17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6XCJmYWtlXCJ9LG5vZGVfb3BzOntyZWFkbGluazpmdW5jdGlvbigpe3JldHVybiBCLnBhdGh9fX07cmV0dXJuIEMucGFyZW50PUMsQ319LEF9fSx7fSxcIi9wcm9jL3NlbGYvZmRcIil9LGNyZWF0ZVN0YW5kYXJkU3RyZWFtczpmdW5jdGlvbigpe0Euc3RkaW4/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3RkaW5cIixBLnN0ZGluKTppSS5zeW1saW5rKFwiL2Rldi90dHlcIixcIi9kZXYvc3RkaW5cIiksQS5zdGRvdXQ/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3Rkb3V0XCIsbnVsbCxBLnN0ZG91dCk6aUkuc3ltbGluayhcIi9kZXYvdHR5XCIsXCIvZGV2L3N0ZG91dFwiKSxBLnN0ZGVycj9pSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJzdGRlcnJcIixudWxsLEEuc3RkZXJyKTppSS5zeW1saW5rKFwiL2Rldi90dHkxXCIsXCIvZGV2L3N0ZGVyclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRpblwiLFwiclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRvdXRcIixcIndcIiksaUkub3BlbihcIi9kZXYvc3RkZXJyXCIsXCJ3XCIpfSxlbnN1cmVFcnJub0Vycm9yOmZ1bmN0aW9uKCl7aUkuRXJybm9FcnJvcnx8KGlJLkVycm5vRXJyb3I9ZnVuY3Rpb24oQSxJKXt0aGlzLm5vZGU9SSx0aGlzLnNldEVycm5vPWZ1bmN0aW9uKEEpe3RoaXMuZXJybm89QX0sdGhpcy5zZXRFcnJubyhBKSx0aGlzLm1lc3NhZ2U9XCJGUyBlcnJvclwifSxpSS5FcnJub0Vycm9yLnByb3RvdHlwZT1uZXcgRXJyb3IsaUkuRXJybm9FcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I9aUkuRXJybm9FcnJvcixbNDRdLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lJLmdlbmVyaWNFcnJvcnNbQV09bmV3IGlJLkVycm5vRXJyb3IoQSksaUkuZ2VuZXJpY0Vycm9yc1tBXS5zdGFjaz1cIjxnZW5lcmljIGVycm9yLCBubyBzdGFjaz5cIn0pKSl9LHN0YXRpY0luaXQ6ZnVuY3Rpb24oKXtpSS5lbnN1cmVFcnJub0Vycm9yKCksaUkubmFtZVRhYmxlPW5ldyBBcnJheSg0MDk2KSxpSS5tb3VudChFSSx7fSxcIi9cIiksaUkuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCksaUkuY3JlYXRlRGVmYXVsdERldmljZXMoKSxpSS5jcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXMoKSxpSS5maWxlc3lzdGVtcz17TUVNRlM6RUl9fSxpbml0OmZ1bmN0aW9uKEksZyxCKXtpSS5pbml0LmluaXRpYWxpemVkPSEwLGlJLmVuc3VyZUVycm5vRXJyb3IoKSxBLnN0ZGluPUl8fEEuc3RkaW4sQS5zdGRvdXQ9Z3x8QS5zdGRvdXQsQS5zdGRlcnI9Qnx8QS5zdGRlcnIsaUkuY3JlYXRlU3RhbmRhcmRTdHJlYW1zKCl9LHF1aXQ6ZnVuY3Rpb24oKXtpSS5pbml0LmluaXRpYWxpemVkPSExO3ZhciBJPUEuX2ZmbHVzaDtJJiZJKDApO2Zvcih2YXIgZz0wO2c8aUkuc3RyZWFtcy5sZW5ndGg7ZysrKXt2YXIgQj1pSS5zdHJlYW1zW2ddO0ImJmlJLmNsb3NlKEIpfX0sZ2V0TW9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPTA7cmV0dXJuIEEmJihnfD0zNjUpLEkmJihnfD0xNDYpLGd9LGpvaW5QYXRoOmZ1bmN0aW9uKEEsSSl7dmFyIGc9Qkkuam9pbi5hcHBseShudWxsLEEpO3JldHVybiBJJiZcIi9cIj09Z1swXSYmKGc9Zy5zdWJzdHIoMSkpLGd9LGFic29sdXRlUGF0aDpmdW5jdGlvbihBLEkpe3JldHVybiBDSS5yZXNvbHZlKEksQSl9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbihBKXtyZXR1cm4gQkkubm9ybWFsaXplKEEpfSxmaW5kT2JqZWN0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuYW5hbHl6ZVBhdGgoQSxJKTtyZXR1cm4gZy5leGlzdHM/Zy5vYmplY3Q6KElJKGcuZXJyb3IpLG51bGwpfSxhbmFseXplUGF0aDpmdW5jdGlvbihBLEkpe3RyeXtBPShCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkpLnBhdGh9Y2F0Y2goQSl7fXZhciBnPXtpc1Jvb3Q6ITEsZXhpc3RzOiExLGVycm9yOjAsbmFtZTpudWxsLHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ITEscGFyZW50UGF0aDpudWxsLHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KTtnLnBhcmVudEV4aXN0cz0hMCxnLnBhcmVudFBhdGg9Qi5wYXRoLGcucGFyZW50T2JqZWN0PUIubm9kZSxnLm5hbWU9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLGcuZXhpc3RzPSEwLGcucGF0aD1CLnBhdGgsZy5vYmplY3Q9Qi5ub2RlLGcubmFtZT1CLm5vZGUubmFtZSxnLmlzUm9vdD1cIi9cIj09PUIucGF0aH1jYXRjaChBKXtnLmVycm9yPUEuZXJybm99cmV0dXJuIGd9LGNyZWF0ZUZvbGRlcjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksUT1pSS5nZXRNb2RlKGcsQik7cmV0dXJuIGlJLm1rZGlyKEMsUSl9LGNyZWF0ZVBhdGg6ZnVuY3Rpb24oQSxJLGcsQil7QT1cInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSk7Zm9yKHZhciBDPUkuc3BsaXQoXCIvXCIpLnJldmVyc2UoKTtDLmxlbmd0aDspe3ZhciBRPUMucG9wKCk7aWYoUSl7dmFyIEU9Qkkuam9pbjIoQSxRKTt0cnl7aUkubWtkaXIoRSl9Y2F0Y2goQSl7fUE9RX19cmV0dXJuIEV9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksRT1pSS5nZXRNb2RlKEIsQyk7cmV0dXJuIGlJLmNyZWF0ZShRLEUpfSxjcmVhdGVEYXRhRmlsZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7dmFyIEU9ST9CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk6QSxpPWlJLmdldE1vZGUoQixDKSxvPWlJLmNyZWF0ZShFLGkpO2lmKGcpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBnKXtmb3IodmFyIEQ9bmV3IEFycmF5KGcubGVuZ3RoKSxhPTAsdz1nLmxlbmd0aDthPHc7KythKURbYV09Zy5jaGFyQ29kZUF0KGEpO2c9RH1pSS5jaG1vZChvLDE0NnxpKTt2YXIgRj1pSS5vcGVuKG8sXCJ3XCIpO2lJLndyaXRlKEYsZywwLGcubGVuZ3RoLDAsUSksaUkuY2xvc2UoRiksaUkuY2htb2QobyxpKX1yZXR1cm4gb30sY3JlYXRlRGV2aWNlOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoISFnLCEhQik7aUkuY3JlYXRlRGV2aWNlLm1ham9yfHwoaUkuY3JlYXRlRGV2aWNlLm1ham9yPTY0KTt2YXIgRT1pSS5tYWtlZGV2KGlJLmNyZWF0ZURldmljZS5tYWpvcisrLDApO3JldHVybiBpSS5yZWdpc3RlckRldmljZShFLHtvcGVuOmZ1bmN0aW9uKEEpe0Euc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0ImJkIuYnVmZmVyJiZCLmJ1ZmZlci5sZW5ndGgmJkIoMTApfSxyZWFkOmZ1bmN0aW9uKEEsSSxCLEMsUSl7Zm9yKHZhciBFPTAsaT0wO2k8QztpKyspe3ZhciBvO3RyeXtvPWcoKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09byYmMD09PUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09bylicmVhaztFKyssSVtCK2ldPW99cmV0dXJuIEUmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSl7Zm9yKHZhciBFPTA7RTxDO0UrKyl0cnl7QihJW2crRV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQyYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX19KSxpSS5ta2RldihDLFEsRSl9LGNyZWF0ZUxpbms6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk7cmV0dXJuIGlJLnN5bWxpbmsoZyxRKX0sZm9yY2VMb2FkRmlsZTpmdW5jdGlvbihBKXtpZihBLmlzRGV2aWNlfHxBLmlzRm9sZGVyfHxBLmxpbmt8fEEuY29udGVudHMpcmV0dXJuITA7dmFyIEk9ITA7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXRocm93IG5ldyBFcnJvcihcIkxhenkgbG9hZGluZyBzaG91bGQgaGF2ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBpbiBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtzIGluIHdlYiB3b3JrZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2Mgb24gdGhlIG1haW4gdGhyZWFkLlwiKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQoKSBvciBYTUxIdHRwUmVxdWVzdC5cIik7dHJ5e0EuY29udGVudHM9WGcoRyhBLnVybCksITApLEEudXNlZEJ5dGVzPUEuY29udGVudHMubGVuZ3RofWNhdGNoKEEpe0k9ITF9cmV0dXJuIEl8fElJKDI5KSxJfSxjcmVhdGVMYXp5RmlsZTpmdW5jdGlvbihBLEksZyxCLEMpe2Z1bmN0aW9uIFEoKXt0aGlzLmxlbmd0aEtub3duPSExLHRoaXMuY2h1bmtzPVtdfWlmKFEucHJvdG90eXBlLmdldD1mdW5jdGlvbihBKXtpZighKEE+dGhpcy5sZW5ndGgtMXx8QTwwKSl7dmFyIEk9QSV0aGlzLmNodW5rU2l6ZSxnPUEvdGhpcy5jaHVua1NpemV8MDtyZXR1cm4gdGhpcy5nZXR0ZXIoZylbSV19fSxRLnByb3RvdHlwZS5zZXREYXRhR2V0dGVyPWZ1bmN0aW9uKEEpe3RoaXMuZ2V0dGVyPUF9LFEucHJvdG90eXBlLmNhY2hlTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIEE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEub3BlbihcIkhFQURcIixnLCExKSxBLnNlbmQobnVsbCksIShBLnN0YXR1cz49MjAwJiZBLnN0YXR1czwzMDB8fDMwND09PUEuc3RhdHVzKSl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBsb2FkIFwiK2crXCIuIFN0YXR1czogXCIrQS5zdGF0dXMpO3ZhciBJLEI9TnVtYmVyKEEuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LWxlbmd0aFwiKSksQz0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQWNjZXB0LVJhbmdlc1wiKSkmJlwiYnl0ZXNcIj09PUksUT0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1FbmNvZGluZ1wiKSkmJlwiZ3ppcFwiPT09SSxFPTEwNDg1NzY7Q3x8KEU9Qik7dmFyIGk9dGhpcztpLnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKEEpe3ZhciBJPUEqRSxDPShBKzEpKkUtMTtpZihDPU1hdGgubWluKEMsQi0xKSx2b2lkIDA9PT1pLmNodW5rc1tBXSYmKGkuY2h1bmtzW0FdPWZ1bmN0aW9uKEEsSSl7aWYoQT5JKXRocm93IG5ldyBFcnJvcihcImludmFsaWQgcmFuZ2UgKFwiK0ErXCIsIFwiK0krXCIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCFcIik7aWYoST5CLTEpdGhyb3cgbmV3IEVycm9yKFwib25seSBcIitCK1wiIGJ5dGVzIGF2YWlsYWJsZSEgcHJvZ3JhbW1lciBlcnJvciFcIik7dmFyIEM9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEMub3BlbihcIkdFVFwiLGcsITEpLEIhPT1FJiZDLnNldFJlcXVlc3RIZWFkZXIoXCJSYW5nZVwiLFwiYnl0ZXM9XCIrQStcIi1cIitJKSxcInVuZGVmaW5lZFwiIT10eXBlb2YgVWludDhBcnJheSYmKEMucmVzcG9uc2VUeXBlPVwiYXJyYXlidWZmZXJcIiksQy5vdmVycmlkZU1pbWVUeXBlJiZDLm92ZXJyaWRlTWltZVR5cGUoXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkXCIpLEMuc2VuZChudWxsKSwhKEMuc3RhdHVzPj0yMDAmJkMuc3RhdHVzPDMwMHx8MzA0PT09Qy5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGxvYWQgXCIrZytcIi4gU3RhdHVzOiBcIitDLnN0YXR1cyk7cmV0dXJuIHZvaWQgMCE9PUMucmVzcG9uc2U/bmV3IFVpbnQ4QXJyYXkoQy5yZXNwb25zZXx8W10pOlhnKEMucmVzcG9uc2VUZXh0fHxcIlwiLCEwKX0oSSxDKSksdm9pZCAwPT09aS5jaHVua3NbQV0pdGhyb3cgbmV3IEVycm9yKFwiZG9YSFIgZmFpbGVkIVwiKTtyZXR1cm4gaS5jaHVua3NbQV19KSksIVEmJkJ8fChFPUI9MSxCPXRoaXMuZ2V0dGVyKDApLmxlbmd0aCxFPUIsdChcIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBvZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZFwiKSksdGhpcy5fbGVuZ3RoPUIsdGhpcy5fY2h1bmtTaXplPUUsdGhpcy5sZW5ndGhLbm93bj0hMH0sXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXtpZighbyl0aHJvd1wiQ2Fubm90IGRvIHN5bmNocm9ub3VzIGJpbmFyeSBYSFJzIG91dHNpZGUgd2Vid29ya2VycyBpbiBtb2Rlcm4gYnJvd3NlcnMuIFVzZSAtLWVtYmVkLWZpbGUgb3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jY1wiO3ZhciBFPW5ldyBRO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoS25vd258fHRoaXMuY2FjaGVMZW5ndGgoKSx0aGlzLl9sZW5ndGh9fSxjaHVua1NpemU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fY2h1bmtTaXplfX19KTt2YXIgaT17aXNEZXZpY2U6ITEsY29udGVudHM6RX19ZWxzZSBpPXtpc0RldmljZTohMSx1cmw6Z307dmFyIEQ9aUkuY3JlYXRlRmlsZShBLEksaSxCLEMpO2kuY29udGVudHM/RC5jb250ZW50cz1pLmNvbnRlbnRzOmkudXJsJiYoRC5jb250ZW50cz1udWxsLEQudXJsPWkudXJsKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhELHt1c2VkQnl0ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRzLmxlbmd0aH19fSk7dmFyIGE9e307cmV0dXJuIE9iamVjdC5rZXlzKEQuc3RyZWFtX29wcykuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9RC5zdHJlYW1fb3BzW0FdO2FbQV09ZnVuY3Rpb24oKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7cmV0dXJuIEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfX0pKSxhLnJlYWQ9ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PVEubGVuZ3RoKXJldHVybiAwO3ZhciBFPU1hdGgubWluKFEubGVuZ3RoLUMsQik7aWYoUS5zbGljZSlmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07ZWxzZSBmb3IoaT0wO2k8RTtpKyspSVtnK2ldPVEuZ2V0KEMraSk7cmV0dXJuIEV9LEQuc3RyZWFtX29wcz1hLER9LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24oSSxnLEIsQyxRLEUsaSxvLEQsYSl7QnJvd3Nlci5pbml0KCk7dmFyIHc9Zz9DSS5yZXNvbHZlKEJJLmpvaW4yKEksZykpOkk7ZnVuY3Rpb24gRihCKXtmdW5jdGlvbiBGKEEpe2EmJmEoKSxvfHxpSS5jcmVhdGVEYXRhRmlsZShJLGcsQSxDLFEsRCksRSYmRSgpLGVBKCl9dmFyIEc9ITE7QS5wcmVsb2FkUGx1Z2lucy5mb3JFYWNoKChmdW5jdGlvbihBKXtHfHxBLmNhbkhhbmRsZSh3KSYmKEEuaGFuZGxlKEIsdyxGLChmdW5jdGlvbigpe2kmJmkoKSxlQSgpfSkpLEc9ITApfSkpLEd8fEYoQil9WUEoKSxcInN0cmluZ1wiPT10eXBlb2YgQj9Ccm93c2VyLmFzeW5jTG9hZChCLChmdW5jdGlvbihBKXtGKEEpfSksaSk6RihCKX0saW5kZXhlZERCOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5pbmRleGVkREJ8fHdpbmRvdy5tb3pJbmRleGVkREJ8fHdpbmRvdy53ZWJraXRJbmRleGVkREJ8fHdpbmRvdy5tc0luZGV4ZWREQn0sREJfTkFNRTpmdW5jdGlvbigpe3JldHVyblwiRU1fRlNfXCIrd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6XCJGSUxFX0RBVEFcIixzYXZlRmlsZXNUb0RCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbigpe3QoXCJjcmVhdGluZyBkYlwiKSxDLnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKX0sQy5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgQj1DLnJlc3VsdC50cmFuc2FjdGlvbihbaUkuREJfU1RPUkVfTkFNRV0sXCJyZWFkd3JpdGVcIiksUT1CLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLEU9MCxpPTAsbz1BLmxlbmd0aDtmdW5jdGlvbiBEKCl7MD09aT9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9US5wdXQoaUkuYW5hbHl6ZVBhdGgoQSkub2JqZWN0LmNvbnRlbnRzLEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7KytFK2k9PW8mJkQoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7aSsrLEUraT09byYmRCgpfX0pKSxCLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZyxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0O3RyeXt2YXIgUT1CLnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcInJlYWRvbmx5XCIpfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9dmFyIEU9US5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxpPTAsbz0wLEQ9QS5sZW5ndGg7ZnVuY3Rpb24gYSgpezA9PW8/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUUuZ2V0KEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7aUkuYW5hbHl6ZVBhdGgoQSkuZXhpc3RzJiZpSS51bmxpbmsoQSksaUkuY3JlYXRlRGF0YUZpbGUoQkkuZGlybmFtZShBKSxCSS5iYXNlbmFtZShBKSxJLnJlc3VsdCwhMCwhMCwhMCksKytpK289PUQmJmEoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7bysrLGkrbz09RCYmYSgpfX0pKSxRLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9fSxvST17REVGQVVMVF9QT0xMTUFTSzo1LG1hcHBpbmdzOnt9LHVtYXNrOjUxMSxjYWxjdWxhdGVBdDpmdW5jdGlvbihBLEkpe2lmKFwiL1wiIT09SVswXSl7dmFyIGc7aWYoLTEwMD09PUEpZz1pSS5jd2QoKTtlbHNle3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtnPUIucGF0aH1JPUJJLmpvaW4yKGcsSSl9cmV0dXJuIEl9LGRvU3RhdDpmdW5jdGlvbihBLEksZyl7dHJ5e3ZhciBCPUEoSSl9Y2F0Y2goQSl7aWYoQSYmQS5ub2RlJiZCSS5ub3JtYWxpemUoSSkhPT1CSS5ub3JtYWxpemUoaUkuZ2V0UGF0aChBLm5vZGUpKSlyZXR1cm4tNTQ7dGhyb3cgQX1yZXR1cm4gQUFbZz4+Ml09Qi5kZXYsQUFbZys0Pj4yXT0wLEFBW2crOD4+Ml09Qi5pbm8sQUFbZysxMj4+Ml09Qi5tb2RlLEFBW2crMTY+PjJdPUIubmxpbmssQUFbZysyMD4+Ml09Qi51aWQsQUFbZysyND4+Ml09Qi5naWQsQUFbZysyOD4+Ml09Qi5yZGV2LEFBW2crMzI+PjJdPTAsZEE9W0Iuc2l6ZT4+PjAsKHFBPUIuc2l6ZSwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crNDA+PjJdPWRBWzBdLEFBW2crNDQ+PjJdPWRBWzFdLEFBW2crNDg+PjJdPTQwOTYsQUFbZys1Mj4+Ml09Qi5ibG9ja3MsQUFbZys1Nj4+Ml09Qi5hdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2MD4+Ml09MCxBQVtnKzY0Pj4yXT1CLm10aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzY4Pj4yXT0wLEFBW2crNzI+PjJdPUIuY3RpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNzY+PjJdPTAsZEE9W0IuaW5vPj4+MCwocUE9Qi5pbm8sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzgwPj4yXT1kQVswXSxBQVtnKzg0Pj4yXT1kQVsxXSwwfSxkb01zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9ei5zbGljZShBLEErZyk7aUkubXN5bmMoSSxRLEMsZyxCKX0sZG9Na2RpcjpmdW5jdGlvbihBLEkpe3JldHVyblwiL1wiPT09KEE9Qkkubm9ybWFsaXplKEEpKVtBLmxlbmd0aC0xXSYmKEE9QS5zdWJzdHIoMCxBLmxlbmd0aC0xKSksaUkubWtkaXIoQSxJLDApLDB9LGRvTWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3N3aXRjaCg2MTQ0MCZJKXtjYXNlIDMyNzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuLTI4fXJldHVybiBpSS5ta25vZChBLEksZyksMH0sZG9SZWFkbGluazpmdW5jdGlvbihBLEksZyl7aWYoZzw9MClyZXR1cm4tMjg7dmFyIEI9aUkucmVhZGxpbmsoQSksQz1NYXRoLm1pbihnLFcoQikpLFE9dltJK0NdO3JldHVybiB1KEIsSSxnKzEpLHZbSStDXT1RLEN9LGRvQWNjZXNzOmZ1bmN0aW9uKEEsSSl7aWYoLTgmSSlyZXR1cm4tMjg7dmFyIGc7aWYoIShnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZSkpcmV0dXJuLTQ0O3ZhciBCPVwiXCI7cmV0dXJuIDQmSSYmKEIrPVwiclwiKSwyJkkmJihCKz1cIndcIiksMSZJJiYoQis9XCJ4XCIpLEImJmlJLm5vZGVQZXJtaXNzaW9ucyhnLEIpPy0yOjB9LGRvRHVwOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oZyk7cmV0dXJuIEImJmlJLmNsb3NlKEIpLGlJLm9wZW4oQSxJLDAsZyxnKS5mZH0sZG9SZWFkdjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLnJlYWQoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7aWYoQys9byxvPGkpYnJlYWt9cmV0dXJuIEN9LGRvV3JpdGV2OmZ1bmN0aW9uKEEsSSxnLEIpe2Zvcih2YXIgQz0wLFE9MDtRPGc7USsrKXt2YXIgRT1BQVtJKzgqUT4+Ml0saT1BQVtJKyg4KlErNCk+PjJdLG89aUkud3JpdGUoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7Qys9b31yZXR1cm4gQ30sdmFyYXJnczowLGdldDpmdW5jdGlvbihBKXtyZXR1cm4gb0kudmFyYXJncys9NCxBQVtvSS52YXJhcmdzLTQ+PjJdfSxnZXRTdHI6ZnVuY3Rpb24oKXtyZXR1cm4gZihvSS5nZXQoKSl9LGdldFN0cmVhbUZyb21GRDpmdW5jdGlvbihBKXt2b2lkIDA9PT1BJiYoQT1vSS5nZXQoKSk7dmFyIEk9aUkuZ2V0U3RyZWFtKEEpO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3JldHVybiBJfSxnZXQ2NDpmdW5jdGlvbigpe3ZhciBBPW9JLmdldCgpO3JldHVybiBvSS5nZXQoKSxBfSxnZXRaZXJvOmZ1bmN0aW9uKCl7b0kuZ2V0KCl9fTtmdW5jdGlvbiBESShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCk7c3dpdGNoKG9JLmdldCgpKXtjYXNlIDA6cmV0dXJuKEI9b0kuZ2V0KCkpPDA/LTI4OmlJLm9wZW4oZy5wYXRoLGcuZmxhZ3MsMCxCKS5mZDtjYXNlIDE6Y2FzZSAyOmNhc2UgMTM6Y2FzZSAxNDpyZXR1cm4gMDtjYXNlIDM6cmV0dXJuIGcuZmxhZ3M7Y2FzZSA0OnZhciBCPW9JLmdldCgpO3JldHVybiBnLmZsYWdzfD1CLDA7Y2FzZSAxMjpyZXR1cm4gQj1vSS5nZXQoKSxfW0IrMD4+MV09MiwwO2RlZmF1bHQ6cmV0dXJuLTI4O2Nhc2UgOTpyZXR1cm4gSUkoMjgpLC0xfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gYUkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cigpLEI9b0kuZ2V0KCksQz1vSS5nZXQoKTtyZXR1cm4gaUkub3BlbihnLEIsQykuZmR9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIHdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHJlYW1Gcm9tRkQoKSxCPW9JLmdldCgpO3N3aXRjaChCKXtjYXNlIDIxNTA5OmNhc2UgMjE1MDU6Y2FzZSAyMTUxMDpjYXNlIDIxNTExOmNhc2UgMjE1MTI6Y2FzZSAyMTUwNjpjYXNlIDIxNTA3OmNhc2UgMjE1MDg6Y2FzZSAyMTUyMzpjYXNlIDIxNTI0OnJldHVybiBnLnR0eT8wOi01OTtjYXNlIDIxNTE5OmlmKCFnLnR0eSlyZXR1cm4tNTk7dmFyIEM9b0kuZ2V0KCk7cmV0dXJuIEFBW0M+PjJdPTAsMDtjYXNlIDIxNTIwOnJldHVybiBnLnR0eT8tMjg6LTU5O2Nhc2UgMjE1MzE6cmV0dXJuIEM9b0kuZ2V0KCksaUkuaW9jdGwoZyxCLEMpO2RlZmF1bHQ6SkEoXCJiYWQgaW9jdGwgc3lzY2FsbCBcIitCKX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIEZJKEEsSSl7aWYoLTE9PT1BfHwwPT09SSlyZXR1cm4tMjg7dmFyIGc9b0kubWFwcGluZ3NbQV07aWYoIWcpcmV0dXJuIDA7aWYoST09PWcubGVuKXt2YXIgQj1pSS5nZXRTdHJlYW0oZy5mZCk7b0kuZG9Nc3luYyhBLEIsSSxnLmZsYWdzLGcub2Zmc2V0KSxpSS5tdW5tYXAoQiksb0kubWFwcGluZ3NbQV09bnVsbCxnLmFsbG9jYXRlZCYmc0IoZy5tYWxsb2MpfXJldHVybiAwfWZ1bmN0aW9uIEdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXtyZXR1cm4gRkkob0kuZ2V0KCksb0kuZ2V0KCkpfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBoSSgpe31mdW5jdGlvbiBzSShBKXt0cnl7dmFyIEk9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpO3JldHVybiBpSS5jbG9zZShJKSwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFJJKCl7cmV0dXJuIHNJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBVSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9SZWFkdihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiB5SSgpe3JldHVybiBVSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gdEkoQSxJLGcsQixDKXt0cnl7dmFyIFE9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLEU9NDI5NDk2NzI5NipnKyhJPj4+MCksaT05MDA3MTk5MjU0NzQwOTkyO3JldHVybiBFPD0taXx8RT49aT8tNjE6KGlJLmxsc2VlayhRLEUsQiksZEE9W1EucG9zaXRpb24+Pj4wLChxQT1RLnBvc2l0aW9uLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbQz4+Ml09ZEFbMF0sQUFbQys0Pj4yXT1kQVsxXSxRLmdldGRlbnRzJiYwPT09RSYmMD09PUImJihRLmdldGRlbnRzPW51bGwpLDApfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFNJKCl7cmV0dXJuIHRJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBNSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9Xcml0ZXYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gbkkoKXtyZXR1cm4gTUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGNJKEEpe3N3aXRjaChBKXtjYXNlIDE6cmV0dXJuIDA7Y2FzZSAyOnJldHVybiAxO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDg6cmV0dXJuIDM7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biB0eXBlIHNpemU6IFwiK0EpfX1mdW5jdGlvbiBySSgpe2Zvcih2YXIgQT1uZXcgQXJyYXkoMjU2KSxJPTA7STwyNTY7KytJKUFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShJKTtrST1BfXZhciBrST12b2lkIDA7ZnVuY3Rpb24gS0koQSl7Zm9yKHZhciBJPVwiXCIsZz1BO3pbZ107KUkrPWtJW3pbZysrXV07cmV0dXJuIEl9dmFyIE5JPXt9LFlJPXt9LGVJPXt9LEpJPTQ4LEhJPTU3O2Z1bmN0aW9uIExJKEEpe2lmKHZvaWQgMD09PUEpcmV0dXJuXCJfdW5rbm93blwiO3ZhciBJPShBPUEucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLFwiJFwiKSkuY2hhckNvZGVBdCgwKTtyZXR1cm4gST49SkkmJkk8PUhJP1wiX1wiK0E6QX1mdW5jdGlvbiBxSShBLEkpe3JldHVybiBBPUxJKEEpLG5ldyBGdW5jdGlvbihcImJvZHlcIixcInJldHVybiBmdW5jdGlvbiBcIitBKycoKSB7XFxuICAgIFwidXNlIHN0cmljdFwiOyAgICByZXR1cm4gYm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcbn07XFxuJykoSSl9ZnVuY3Rpb24gZEkoQSxJKXt2YXIgZz1xSShJLChmdW5jdGlvbihBKXt0aGlzLm5hbWU9SSx0aGlzLm1lc3NhZ2U9QTt2YXIgZz1uZXcgRXJyb3IoQSkuc3RhY2s7dm9pZCAwIT09ZyYmKHRoaXMuc3RhY2s9dGhpcy50b1N0cmluZygpK1wiXFxuXCIrZy5yZXBsYWNlKC9eRXJyb3IoOlteXFxuXSopP1xcbi8sXCJcIikpfSkpO3JldHVybiBnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSxnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1nLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMubWVzc2FnZT90aGlzLm5hbWU6dGhpcy5uYW1lK1wiOiBcIit0aGlzLm1lc3NhZ2V9LGd9dmFyIGZJPXZvaWQgMDtmdW5jdGlvbiBsSShBKXt0aHJvdyBuZXcgZkkoQSl9dmFyIHVJPXZvaWQgMDtmdW5jdGlvbiBXSShBKXt0aHJvdyBuZXcgdUkoQSl9ZnVuY3Rpb24gcEkoQSxJLGcpe2Z1bmN0aW9uIEIoSSl7dmFyIEI9ZyhJKTtCLmxlbmd0aCE9PUEubGVuZ3RoJiZXSShcIk1pc21hdGNoZWQgdHlwZSBjb252ZXJ0ZXIgY291bnRcIik7Zm9yKHZhciBDPTA7QzxBLmxlbmd0aDsrK0MpWkkoQVtDXSxCW0NdKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe2VJW0FdPUl9KSk7dmFyIEM9bmV3IEFycmF5KEkubGVuZ3RoKSxRPVtdLEU9MDtJLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7WUkuaGFzT3duUHJvcGVydHkoQSk/Q1tJXT1ZSVtBXTooUS5wdXNoKEEpLE5JLmhhc093blByb3BlcnR5KEEpfHwoTklbQV09W10pLE5JW0FdLnB1c2goKGZ1bmN0aW9uKCl7Q1tJXT1ZSVtBXSwrK0U9PT1RLmxlbmd0aCYmQihDKX0pKSl9KSksMD09PVEubGVuZ3RoJiZCKEMpfWZ1bmN0aW9uIFpJKEEsSSxnKXtpZihnPWd8fHt9LCEoXCJhcmdQYWNrQWR2YW5jZVwiaW4gSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2VcIik7dmFyIEI9SS5uYW1lO2lmKEF8fGxJKCd0eXBlIFwiJytCKydcIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyksWUkuaGFzT3duUHJvcGVydHkoQSkpe2lmKGcuaWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9ucylyZXR1cm47bEkoXCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnXCIrQitcIicgdHdpY2VcIil9aWYoWUlbQV09SSxkZWxldGUgZUlbQV0sTkkuaGFzT3duUHJvcGVydHkoQSkpe3ZhciBDPU5JW0FdO2RlbGV0ZSBOSVtBXSxDLmZvckVhY2goKGZ1bmN0aW9uKEEpe0EoKX0pKX19ZnVuY3Rpb24gYkkoQSxJLGcsQixDKXt2YXIgUT1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiEhQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBJP0I6Q30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpmdW5jdGlvbihBKXt2YXIgQjtpZigxPT09ZylCPXY7ZWxzZSBpZigyPT09ZylCPV87ZWxzZXtpZig0IT09Zyl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogXCIrSSk7Qj1BQX1yZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQltBPj5RXSl9LGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24geEkoSSxnLEIpe0k9S0koSSkscEkoW10sW2ddLChmdW5jdGlvbihnKXtyZXR1cm4gZz1nWzBdLEFbSV09Zy5mcm9tV2lyZVR5cGUoQiksW119KSl9dmFyIG1JPVtdLFhJPVt7fSx7dmFsdWU6dm9pZCAwfSx7dmFsdWU6bnVsbH0se3ZhbHVlOiEwfSx7dmFsdWU6ITF9XTtmdW5jdGlvbiBWSShBKXtBPjQmJjA9PS0tWElbQV0ucmVmY291bnQmJihYSVtBXT12b2lkIDAsbUkucHVzaChBKSl9ZnVuY3Rpb24gT0koKXtmb3IodmFyIEE9MCxJPTU7STxYSS5sZW5ndGg7KytJKXZvaWQgMCE9PVhJW0ldJiYrK0E7cmV0dXJuIEF9ZnVuY3Rpb24gVEkoKXtmb3IodmFyIEE9NTtBPFhJLmxlbmd0aDsrK0EpaWYodm9pZCAwIT09WElbQV0pcmV0dXJuIFhJW0FdO3JldHVybiBudWxsfWZ1bmN0aW9uIGpJKCl7QS5jb3VudF9lbXZhbF9oYW5kbGVzPU9JLEEuZ2V0X2ZpcnN0X2VtdmFsPVRJfWZ1bmN0aW9uIFBJKEEpe3N3aXRjaChBKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlIG51bGw6cmV0dXJuIDI7Y2FzZSEwOnJldHVybiAzO2Nhc2UhMTpyZXR1cm4gNDtkZWZhdWx0OnZhciBJPW1JLmxlbmd0aD9tSS5wb3AoKTpYSS5sZW5ndGg7cmV0dXJuIFhJW0ldPXtyZWZjb3VudDoxLHZhbHVlOkF9LEl9fWZ1bmN0aW9uIHZJKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShJQVtBPj4yXSl9ZnVuY3Rpb24gekkoQSxJKXtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBJPVhJW0FdLnZhbHVlO3JldHVybiBWSShBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIFBJKEkpfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gX0koQSl7aWYobnVsbD09PUEpcmV0dXJuXCJudWxsXCI7dmFyIEk9RChBKTtyZXR1cm5cIm9iamVjdFwiPT09SXx8XCJhcnJheVwiPT09SXx8XCJmdW5jdGlvblwiPT09ST9BLnRvU3RyaW5nKCk6XCJcIitBfWZ1bmN0aW9uICRJKEEsSSl7c3dpdGNoKEkpe2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGdBW0E+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQkFbQT4+M10pfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGZsb2F0IHR5cGU6IFwiK0EpfX1mdW5jdGlvbiBBZyhBLEksZyl7dmFyIEI9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4gQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBJJiZcImJvb2xlYW5cIiE9dHlwZW9mIEkpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXCInK19JKEkpKydcIiB0byAnK3RoaXMubmFtZSk7cmV0dXJuIEl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6JEkoSSxCKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIElnKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJuZXdfIGNhbGxlZCB3aXRoIGNvbnN0cnVjdG9yIHR5cGUgXCIrRChBKStcIiB3aGljaCBpcyBub3QgYSBmdW5jdGlvblwiKTt2YXIgZz1xSShBLm5hbWV8fFwidW5rbm93bkZ1bmN0aW9uTmFtZVwiLChmdW5jdGlvbigpe30pKTtnLnByb3RvdHlwZT1BLnByb3RvdHlwZTt2YXIgQj1uZXcgZyxDPUEuYXBwbHkoQixJKTtyZXR1cm4gQyBpbnN0YW5jZW9mIE9iamVjdD9DOkJ9ZnVuY3Rpb24gZ2coQSl7Zm9yKDtBLmxlbmd0aDspe3ZhciBJPUEucG9wKCk7QS5wb3AoKShJKX19ZnVuY3Rpb24gQmcoQSxJLGcsQixDKXt2YXIgUT1JLmxlbmd0aDtRPDImJmxJKFwiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhXCIpO2Zvcih2YXIgRT1udWxsIT09SVsxXSYmbnVsbCE9PWcsaT0hMSxvPTE7bzxJLmxlbmd0aDsrK28paWYobnVsbCE9PUlbb10mJnZvaWQgMD09PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKXtpPSEwO2JyZWFrfXZhciBEPVwidm9pZFwiIT09SVswXS5uYW1lLGE9XCJcIix3PVwiXCI7Zm9yKG89MDtvPFEtMjsrK28pYSs9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28sdys9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28rXCJXaXJlZFwiO3ZhciBGPVwicmV0dXJuIGZ1bmN0aW9uIFwiK0xJKEEpK1wiKFwiK2ErXCIpIHtcXG5pZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gXCIrKFEtMikrXCIpIHtcXG50aHJvd0JpbmRpbmdFcnJvcignZnVuY3Rpb24gXCIrQStcIiBjYWxsZWQgd2l0aCAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgYXJndW1lbnRzLCBleHBlY3RlZCBcIisoUS0yKStcIiBhcmdzIScpO1xcbn1cXG5cIjtpJiYoRis9XCJ2YXIgZGVzdHJ1Y3RvcnMgPSBbXTtcXG5cIik7dmFyIEc9aT9cImRlc3RydWN0b3JzXCI6XCJudWxsXCIsaD1bXCJ0aHJvd0JpbmRpbmdFcnJvclwiLFwiaW52b2tlclwiLFwiZm5cIixcInJ1bkRlc3RydWN0b3JzXCIsXCJyZXRUeXBlXCIsXCJjbGFzc1BhcmFtXCJdLHM9W2xJLEIsQyxnZyxJWzBdLElbMV1dO2ZvcihFJiYoRis9XCJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKFwiK0crXCIsIHRoaXMpO1xcblwiKSxvPTA7bzxRLTI7KytvKUYrPVwidmFyIGFyZ1wiK28rXCJXaXJlZCA9IGFyZ1R5cGVcIitvK1wiLnRvV2lyZVR5cGUoXCIrRytcIiwgYXJnXCIrbytcIik7IC8vIFwiK0lbbysyXS5uYW1lK1wiXFxuXCIsaC5wdXNoKFwiYXJnVHlwZVwiK28pLHMucHVzaChJW28rMl0pO2lmKEUmJih3PVwidGhpc1dpcmVkXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3cpLEYrPShEP1widmFyIHJ2ID0gXCI6XCJcIikrXCJpbnZva2VyKGZuXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3crXCIpO1xcblwiLGkpRis9XCJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XFxuXCI7ZWxzZSBmb3Iobz1FPzE6MjtvPEkubGVuZ3RoOysrbyl7dmFyIFI9MT09PW8/XCJ0aGlzV2lyZWRcIjpcImFyZ1wiKyhvLTIpK1wiV2lyZWRcIjtudWxsIT09SVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24mJihGKz1SK1wiX2R0b3IoXCIrUitcIik7IC8vIFwiK0lbb10ubmFtZStcIlxcblwiLGgucHVzaChSK1wiX2R0b3JcIikscy5wdXNoKElbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKSl9cmV0dXJuIEQmJihGKz1cInZhciByZXQgPSByZXRUeXBlLmZyb21XaXJlVHlwZShydik7XFxucmV0dXJuIHJldDtcXG5cIiksRis9XCJ9XFxuXCIsaC5wdXNoKEYpLElnKEZ1bmN0aW9uLGgpLmFwcGx5KG51bGwscyl9ZnVuY3Rpb24gQ2coQSxJLGcpe2lmKHZvaWQgMD09PUFbSV0ub3ZlcmxvYWRUYWJsZSl7dmFyIEI9QVtJXTtBW0ldPWZ1bmN0aW9uKCl7cmV0dXJuIEFbSV0ub3ZlcmxvYWRUYWJsZS5oYXNPd25Qcm9wZXJ0eShhcmd1bWVudHMubGVuZ3RoKXx8bEkoXCJGdW5jdGlvbiAnXCIrZytcIicgY2FsbGVkIHdpdGggYW4gaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIChcIithcmd1bWVudHMubGVuZ3RoK1wiKSAtIGV4cGVjdHMgb25lIG9mIChcIitBW0ldLm92ZXJsb2FkVGFibGUrXCIpIVwiKSxBW0ldLm92ZXJsb2FkVGFibGVbYXJndW1lbnRzLmxlbmd0aF0uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxBW0ldLm92ZXJsb2FkVGFibGU9W10sQVtJXS5vdmVybG9hZFRhYmxlW0IuYXJnQ291bnRdPUJ9fWZ1bmN0aW9uIFFnKEksZyxCKXtBLmhhc093blByb3BlcnR5KEkpPygodm9pZCAwPT09Qnx8dm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGVbQl0pJiZsSShcIkNhbm5vdCByZWdpc3RlciBwdWJsaWMgbmFtZSAnXCIrSStcIicgdHdpY2VcIiksQ2coQSxJLEkpLEEuaGFzT3duUHJvcGVydHkoQikmJmxJKFwiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXCIrQitcIikhXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nKTooQVtJXT1nLHZvaWQgMCE9PUImJihBW0ldLm51bUFyZ3VtZW50cz1CKSl9ZnVuY3Rpb24gRWcoQSxJKXtmb3IodmFyIGc9W10sQj0wO0I8QTtCKyspZy5wdXNoKEFBWyhJPj4yKStCXSk7cmV0dXJuIGd9ZnVuY3Rpb24gaWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSl8fFdJKFwiUmVwbGFjaW5nIG5vbmV4aXN0YW50IHB1YmxpYyBzeW1ib2xcIiksdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1CP0FbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nOihBW0ldPWcsQVtJXS5hcmdDb3VudD1CKX1mdW5jdGlvbiBvZyhJLGcpe3ZhciBCO2lmKEk9S0koSSksdm9pZCAwIT09QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldKUI9QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldW2ddO2Vsc2UgaWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZVTkNUSU9OX1RBQkxFKUI9RlVOQ1RJT05fVEFCTEVbZ107ZWxzZXt2YXIgQz1BW1wiZHluQ2FsbF9cIitJXTt2b2lkIDA9PT1DJiZ2b2lkIDA9PT0oQz1BW1wiZHluQ2FsbF9cIitJLnJlcGxhY2UoL2YvZyxcImRcIildKSYmbEkoXCJObyBkeW5DYWxsIGludm9rZXIgZm9yIHNpZ25hdHVyZTogXCIrSSksQj1mdW5jdGlvbihBKXtmb3IodmFyIEI9W10sQz0xO0M8SS5sZW5ndGg7KytDKUIucHVzaChcImFcIitDKTt2YXIgUT1cInJldHVybiBmdW5jdGlvbiBkeW5DYWxsX1wiK0krXCJfXCIrZytcIihcIitCLmpvaW4oXCIsIFwiKStcIikge1xcblwiO3JldHVybiBRKz1cIiAgICByZXR1cm4gZHluQ2FsbChyYXdGdW5jdGlvblwiKyhCLmxlbmd0aD9cIiwgXCI6XCJcIikrQi5qb2luKFwiLCBcIikrXCIpO1xcblwiLFErPVwifTtcXG5cIixuZXcgRnVuY3Rpb24oXCJkeW5DYWxsXCIsXCJyYXdGdW5jdGlvblwiLFEpKEEsZyl9KEMpfXJldHVyblwiZnVuY3Rpb25cIiE9dHlwZW9mIEImJmxJKFwidW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlIFwiK0krXCI6IFwiK2cpLEJ9dmFyIERnPXZvaWQgMDtmdW5jdGlvbiBhZyhBKXt2YXIgST13QihBKSxnPUtJKEkpO3JldHVybiBzQihJKSxnfWZ1bmN0aW9uIHdnKEEsSSl7dmFyIGc9W10sQj17fTt0aHJvdyBJLmZvckVhY2goKGZ1bmN0aW9uIEEoSSl7QltJXXx8WUlbSV18fChlSVtJXT9lSVtJXS5mb3JFYWNoKEEpOihnLnB1c2goSSksQltJXT0hMCkpfSkpLG5ldyBEZyhBK1wiOiBcIitnLm1hcChhZykuam9pbihbXCIsIFwiXSkpfWZ1bmN0aW9uIEZnKEEsSSxnLEIsQyxRKXt2YXIgRT1FZyhJLGcpO0E9S0koQSksQz1vZyhCLEMpLFFnKEEsKGZ1bmN0aW9uKCl7d2coXCJDYW5ub3QgY2FsbCBcIitBK1wiIGR1ZSB0byB1bmJvdW5kIHR5cGVzXCIsRSl9KSxJLTEpLHBJKFtdLEUsKGZ1bmN0aW9uKGcpe3ZhciBCPVtnWzBdLG51bGxdLmNvbmNhdChnLnNsaWNlKDEpKTtyZXR1cm4gaWcoQSxCZyhBLEIsbnVsbCxDLFEpLEktMSksW119KSl9ZnVuY3Rpb24gR2coQSxJLGcpe3N3aXRjaChJKXtjYXNlIDA6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIHZbQV19OmZ1bmN0aW9uKEEpe3JldHVybiB6W0FdfTtjYXNlIDE6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIF9bQT4+MV19OmZ1bmN0aW9uKEEpe3JldHVybiAkW0E+PjFdfTtjYXNlIDI6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIEFBW0E+PjJdfTpmdW5jdGlvbihBKXtyZXR1cm4gSUFbQT4+Ml19O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gaW50ZWdlciB0eXBlOiBcIitBKX19ZnVuY3Rpb24gaGcoQSxJLGcsQixDKXtJPUtJKEkpLC0xPT09QyYmKEM9NDI5NDk2NzI5NSk7dmFyIFE9Y0koZyksRT1mdW5jdGlvbihBKXtyZXR1cm4gQX07aWYoMD09PUIpe3ZhciBpPTMyLTgqZztFPWZ1bmN0aW9uKEEpe3JldHVybiBBPDxpPj4+aX19dmFyIG89LTEhPUkuaW5kZXhPZihcInVuc2lnbmVkXCIpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6RSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsZyl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGcmJlwiYm9vbGVhblwiIT10eXBlb2YgZyl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcIicrX0koZykrJ1wiIHRvICcrdGhpcy5uYW1lKTtpZihnPEJ8fGc+Qyl0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXNzaW5nIGEgbnVtYmVyIFwiJytfSShnKSsnXCIgZnJvbSBKUyBzaWRlIHRvIEMvQysrIHNpZGUgdG8gYW4gYXJndW1lbnQgb2YgdHlwZSBcIicrSSsnXCIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0IrXCIsIFwiK0MrXCJdIVwiKTtyZXR1cm4gbz9nPj4+MDowfGd9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6R2coSSxRLDAhPT1CKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHNnKEEsSSxnKXt2YXIgQj1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldW0ldO2Z1bmN0aW9uIEMoQSl7dmFyIEk9SUEsZz1JW0E+Pj0yXSxDPUlbQSsxXTtyZXR1cm4gbmV3IEIoSS5idWZmZXIsQyxnKX1aSShBLHtuYW1lOmc9S0koZyksZnJvbVdpcmVUeXBlOkMsYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpDfSx7aWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9uczohMH0pfWZ1bmN0aW9uIFJnKEEsSSl7dmFyIGc9XCJzdGQ6OnN0cmluZ1wiPT09KEk9S0koSSkpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEksQj1JQVtBPj4yXTtpZihnKXt2YXIgQz16W0ErNCtCXSxRPTA7MCE9QyYmKFE9Qyx6W0ErNCtCXT0wKTtmb3IodmFyIEU9QSs0LGk9MDtpPD1COysraSl7dmFyIG89QSs0K2k7aWYoMD09eltvXSl7dmFyIEQ9ZihFKTt2b2lkIDA9PT1JP0k9RDooSSs9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxJKz1EKSxFPW8rMX19MCE9USYmKHpbQSs0K0JdPVEpfWVsc2V7dmFyIGE9bmV3IEFycmF5KEIpO2ZvcihpPTA7aTxCOysraSlhW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUoeltBKzQraV0pO0k9YS5qb2luKFwiXCIpfXJldHVybiBzQihBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7SSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiYoST1uZXcgVWludDhBcnJheShJKSk7dmFyIEI9XCJzdHJpbmdcIj09dHlwZW9mIEk7Qnx8SSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fEkgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8SSBpbnN0YW5jZW9mIEludDhBcnJheXx8bEkoXCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIHN0ZDo6c3RyaW5nXCIpO3ZhciBDPShnJiZCP2Z1bmN0aW9uKCl7cmV0dXJuIFcoSSl9OmZ1bmN0aW9uKCl7cmV0dXJuIEkubGVuZ3RofSkoKSxRPVJCKDQrQysxKTtpZihJQVtRPj4yXT1DLGcmJkIpdShJLFErNCxDKzEpO2Vsc2UgaWYoQilmb3IodmFyIEU9MDtFPEM7KytFKXt2YXIgaT1JLmNoYXJDb2RlQXQoRSk7aT4yNTUmJihzQihRKSxsSShcIlN0cmluZyBoYXMgVVRGLTE2IGNvZGUgdW5pdHMgdGhhdCBkbyBub3QgZml0IGluIDggYml0c1wiKSkseltRKzQrRV09aX1lbHNlIGZvcihFPTA7RTxDOysrRSl6W1ErNCtFXT1JW0VdO3JldHVybiBudWxsIT09QSYmQS5wdXNoKHNCLFEpLFF9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIFVnKEEsSSxnKXt2YXIgQixDLFEsRSxpO2c9S0koZyksMj09PUk/KEI9WixDPWIsRT14LFE9ZnVuY3Rpb24oKXtyZXR1cm4gJH0saT0xKTo0PT09SSYmKEI9bSxDPVgsRT1WLFE9ZnVuY3Rpb24oKXtyZXR1cm4gSUF9LGk9MiksWkkoQSx7bmFtZTpnLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgZyxDPUlBW0E+PjJdLEU9USgpLG89RVtBKzQrQypJPj5pXSxEPTA7MCE9byYmKEQ9byxFW0ErNCtDKkk+PmldPTApO2Zvcih2YXIgYT1BKzQsdz0wO3c8PUM7Kyt3KXt2YXIgRj1BKzQrdypJO2lmKDA9PUVbRj4+aV0pe3ZhciBHPUIoYSk7dm9pZCAwPT09Zz9nPUc6KGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksZys9RyksYT1GK0l9fXJldHVybiAwIT1EJiYoRVtBKzQrQypJPj5pXT1EKSxzQihBKSxnfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsQil7XCJzdHJpbmdcIiE9dHlwZW9mIEImJmxJKFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgXCIrZyk7dmFyIFE9RShCKSxvPVJCKDQrUStJKTtyZXR1cm4gSUFbbz4+Ml09UT4+aSxDKEIsbys0LFErSSksbnVsbCE9PUEmJkEucHVzaChzQixvKSxvfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiB5ZyhBLEkpe1pJKEEse2lzVm9pZDohMCxuYW1lOkk9S0koSSksYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXt9fSl9ZnVuY3Rpb24gdGcoKXtKQSgpfWZ1bmN0aW9uIFNnKCl7cmV0dXJuIHoubGVuZ3RofWZ1bmN0aW9uIE1nKEEpe0pBKFwiT09NXCIpfWZ1bmN0aW9uIG5nKEEpe01nKCl9ZnVuY3Rpb24gY2coQSl7ZUIoQSl9ZnVuY3Rpb24gcmcoQSl7cmV0dXJuIDA9PT1BPzA6KEE9ZihBKSxqQS5oYXNPd25Qcm9wZXJ0eShBKT8ocmcucmV0JiZzQihyZy5yZXQpLHJnLnJldD1PKGpBW0FdKSxyZy5yZXQpOjApfWZ1bmN0aW9uIGtnKEEpe3ZhciBJPURhdGUubm93KCk7cmV0dXJuIEFBW0E+PjJdPUkvMWUzfDAsQUFbQSs0Pj4yXT1JJTFlMyoxZTN8MCwwfWZ1bmN0aW9uIEtnKEEpe3JldHVybiBNYXRoLnBvdygyLEEpfWZ1bmN0aW9uIE5nKEEpe3ZhciBJPVlnLGc9SS5MTFZNX1NBVkVEU1RBQ0tTW0FdO0kuTExWTV9TQVZFRFNUQUNLUy5zcGxpY2UoQSwxKSx5QihnKX1mdW5jdGlvbiBZZygpe3ZhciBBPVlnO3JldHVybiBBLkxMVk1fU0FWRURTVEFDS1N8fChBLkxMVk1fU0FWRURTVEFDS1M9W10pLEEuTExWTV9TQVZFRFNUQUNLUy5wdXNoKHRCKCkpLEEuTExWTV9TQVZFRFNUQUNLUy5sZW5ndGgtMX12YXIgZWc9NjExMzY7ZnVuY3Rpb24gSmcoKXtpZighSmcuY2FsbGVkKXtKZy5jYWxsZWQ9ITAsQUFbR0IoKT4+Ml09NjAqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBBPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxJPW5ldyBEYXRlKEEsMCwxKSxnPW5ldyBEYXRlKEEsNiwxKTtBQVtGQigpPj4yXT1OdW1iZXIoSS5nZXRUaW1lem9uZU9mZnNldCgpIT1nLmdldFRpbWV6b25lT2Zmc2V0KCkpO3ZhciBCPWkoSSksQz1pKGcpLFE9TyhCKSxFPU8oQyk7Zy5nZXRUaW1lem9uZU9mZnNldCgpPEkuZ2V0VGltZXpvbmVPZmZzZXQoKT8oQUFbaEIoKT4+Ml09USxBQVtoQigpKzQ+PjJdPUUpOihBQVtoQigpPj4yXT1FLEFBW2hCKCkrND4+Ml09USl9ZnVuY3Rpb24gaShBKXt2YXIgST1BLnRvVGltZVN0cmluZygpLm1hdGNoKC9cXCgoW0EtWmEteiBdKylcXCkkLyk7cmV0dXJuIEk/SVsxXTpcIkdNVFwifX1mdW5jdGlvbiBIZyhBLEkpe0pnKCk7dmFyIGc9bmV3IERhdGUoMWUzKkFBW0E+PjJdKTtBQVtJPj4yXT1nLmdldFNlY29uZHMoKSxBQVtJKzQ+PjJdPWcuZ2V0TWludXRlcygpLEFBW0krOD4+Ml09Zy5nZXRIb3VycygpLEFBW0krMTI+PjJdPWcuZ2V0RGF0ZSgpLEFBW0krMTY+PjJdPWcuZ2V0TW9udGgoKSxBQVtJKzIwPj4yXT1nLmdldEZ1bGxZZWFyKCktMTkwMCxBQVtJKzI0Pj4yXT1nLmdldERheSgpO3ZhciBCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSwwLDEpLEM9KGcuZ2V0VGltZSgpLUIuZ2V0VGltZSgpKS84NjRlNXwwO0FBW0krMjg+PjJdPUMsQUFbSSszNj4+Ml09LTYwKmcuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgUT1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksNiwxKS5nZXRUaW1lem9uZU9mZnNldCgpLEU9Qi5nZXRUaW1lem9uZU9mZnNldCgpLGk9MHwoUSE9RSYmZy5nZXRUaW1lem9uZU9mZnNldCgpPT1NYXRoLm1pbihFLFEpKTtBQVtJKzMyPj4yXT1pO3ZhciBvPUFBW2hCKCkrKGk/NDowKT4+Ml07cmV0dXJuIEFBW0krNDA+PjJdPW8sSX1mdW5jdGlvbiBMZyhBKXtyZXR1cm4gSGcoQSxlZyl9ZnVuY3Rpb24gcWcoQSxJKXt0aHJvdyBVQihBLEl8fDEpLFwibG9uZ2ptcFwifWZ1bmN0aW9uIGRnKEEsSSxnKXt6LnNldCh6LnN1YmFycmF5KEksSStnKSxBKX1mdW5jdGlvbiBmZyhBKXtyZXR1cm4gQSU0PT0wJiYoQSUxMDAhPTB8fEElNDAwPT0wKX1mdW5jdGlvbiBsZyhBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPD1JO2crPUFbQisrXSk7cmV0dXJuIGd9dShcIkdNVFwiLDYxMTg0LDQpO3ZhciB1Zz1bMzEsMjksMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLFdnPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gcGcoQSxJKXtmb3IodmFyIGc9bmV3IERhdGUoQS5nZXRUaW1lKCkpO0k+MDspe3ZhciBCPWZnKGcuZ2V0RnVsbFllYXIoKSksQz1nLmdldE1vbnRoKCksUT0oQj91ZzpXZylbQ107aWYoIShJPlEtZy5nZXREYXRlKCkpKXJldHVybiBnLnNldERhdGUoZy5nZXREYXRlKCkrSSksZztJLT1RLWcuZ2V0RGF0ZSgpKzEsZy5zZXREYXRlKDEpLEM8MTE/Zy5zZXRNb250aChDKzEpOihnLnNldE1vbnRoKDApLGcuc2V0RnVsbFllYXIoZy5nZXRGdWxsWWVhcigpKzEpKX1yZXR1cm4gZ31mdW5jdGlvbiBaZyhBLEksZyxCKXt2YXIgQz1BQVtCKzQwPj4yXSxRPXt0bV9zZWM6QUFbQj4+Ml0sdG1fbWluOkFBW0IrND4+Ml0sdG1faG91cjpBQVtCKzg+PjJdLHRtX21kYXk6QUFbQisxMj4+Ml0sdG1fbW9uOkFBW0IrMTY+PjJdLHRtX3llYXI6QUFbQisyMD4+Ml0sdG1fd2RheTpBQVtCKzI0Pj4yXSx0bV95ZGF5OkFBW0IrMjg+PjJdLHRtX2lzZHN0OkFBW0IrMzI+PjJdLHRtX2dtdG9mZjpBQVtCKzM2Pj4yXSx0bV96b25lOkM/ZihDKTpcIlwifSxFPWYoZyksaT17XCIlY1wiOlwiJWEgJWIgJWQgJUg6JU06JVMgJVlcIixcIiVEXCI6XCIlbS8lZC8leVwiLFwiJUZcIjpcIiVZLSVtLSVkXCIsXCIlaFwiOlwiJWJcIixcIiVyXCI6XCIlSTolTTolUyAlcFwiLFwiJVJcIjpcIiVIOiVNXCIsXCIlVFwiOlwiJUg6JU06JVNcIixcIiV4XCI6XCIlbS8lZC8leVwiLFwiJVhcIjpcIiVIOiVNOiVTXCIsXCIlRWNcIjpcIiVjXCIsXCIlRUNcIjpcIiVDXCIsXCIlRXhcIjpcIiVtLyVkLyV5XCIsXCIlRVhcIjpcIiVIOiVNOiVTXCIsXCIlRXlcIjpcIiV5XCIsXCIlRVlcIjpcIiVZXCIsXCIlT2RcIjpcIiVkXCIsXCIlT2VcIjpcIiVlXCIsXCIlT0hcIjpcIiVIXCIsXCIlT0lcIjpcIiVJXCIsXCIlT21cIjpcIiVtXCIsXCIlT01cIjpcIiVNXCIsXCIlT1NcIjpcIiVTXCIsXCIlT3VcIjpcIiV1XCIsXCIlT1VcIjpcIiVVXCIsXCIlT1ZcIjpcIiVWXCIsXCIlT3dcIjpcIiV3XCIsXCIlT1dcIjpcIiVXXCIsXCIlT3lcIjpcIiV5XCJ9O2Zvcih2YXIgbyBpbiBpKUU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksaVtvXSk7dmFyIEQ9W1wiU3VuZGF5XCIsXCJNb25kYXlcIixcIlR1ZXNkYXlcIixcIldlZG5lc2RheVwiLFwiVGh1cnNkYXlcIixcIkZyaWRheVwiLFwiU2F0dXJkYXlcIl0sYT1bXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIl07ZnVuY3Rpb24gdyhBLEksZyl7Zm9yKHZhciBCPVwibnVtYmVyXCI9PXR5cGVvZiBBP0EudG9TdHJpbmcoKTpBfHxcIlwiO0IubGVuZ3RoPEk7KUI9Z1swXStCO3JldHVybiBCfWZ1bmN0aW9uIEYoQSxJKXtyZXR1cm4gdyhBLEksXCIwXCIpfWZ1bmN0aW9uIEcoQSxJKXtmdW5jdGlvbiBnKEEpe3JldHVybiBBPDA/LTE6QT4wPzE6MH12YXIgQjtyZXR1cm4gMD09PShCPWcoQS5nZXRGdWxsWWVhcigpLUkuZ2V0RnVsbFllYXIoKSkpJiYwPT09KEI9ZyhBLmdldE1vbnRoKCktSS5nZXRNb250aCgpKSkmJihCPWcoQS5nZXREYXRlKCktSS5nZXREYXRlKCkpKSxCfWZ1bmN0aW9uIGgoQSl7c3dpdGNoKEEuZ2V0RGF5KCkpe2Nhc2UgMDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMjkpO2Nhc2UgMTpyZXR1cm4gQTtjYXNlIDI6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDMpO2Nhc2UgMzpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMik7Y2FzZSA0OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwxKTtjYXNlIDU6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMxKTtjYXNlIDY6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMwKX19ZnVuY3Rpb24gcyhBKXt2YXIgST1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSksZz1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCksMCw0KSxCPW5ldyBEYXRlKEkuZ2V0RnVsbFllYXIoKSsxLDAsNCksQz1oKGcpLFE9aChCKTtyZXR1cm4gRyhDLEkpPD0wP0coUSxJKTw9MD9JLmdldEZ1bGxZZWFyKCkrMTpJLmdldEZ1bGxZZWFyKCk6SS5nZXRGdWxsWWVhcigpLTF9dmFyIFI9e1wiJWFcIjpmdW5jdGlvbihBKXtyZXR1cm4gRFtBLnRtX3dkYXldLnN1YnN0cmluZygwLDMpfSxcIiVBXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XX0sXCIlYlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXS5zdWJzdHJpbmcoMCwzKX0sXCIlQlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXX0sXCIlQ1wiOmZ1bmN0aW9uKEEpe3JldHVybiBGKChBLnRtX3llYXIrMTkwMCkvMTAwfDAsMil9LFwiJWRcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXksMil9LFwiJWVcIjpmdW5jdGlvbihBKXtyZXR1cm4gdyhBLnRtX21kYXksMixcIiBcIil9LFwiJWdcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlR1wiOmZ1bmN0aW9uKEEpe3JldHVybiBzKEEpfSxcIiVIXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9ob3VyLDIpfSxcIiVJXCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9ob3VyO3JldHVybiAwPT1JP0k9MTI6ST4xMiYmKEktPTEyKSxGKEksMil9LFwiJWpcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXkrbGcoZmcoQS50bV95ZWFyKzE5MDApP3VnOldnLEEudG1fbW9uLTEpLDMpfSxcIiVtXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tb24rMSwyKX0sXCIlTVwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWluLDIpfSxcIiVuXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIlxcblwifSxcIiVwXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1faG91cj49MCYmQS50bV9ob3VyPDEyP1wiQU1cIjpcIlBNXCJ9LFwiJVNcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX3NlYywyKX0sXCIldFwiOmZ1bmN0aW9uKCl7cmV0dXJuXCJcXHRcIn0sXCIldVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl8fDd9LFwiJVVcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLGc9MD09PUkuZ2V0RGF5KCk/STpwZyhJLDctSS5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XCIwMVwiOlwiMDBcIn0sXCIlVlwiOmZ1bmN0aW9uKEEpe3ZhciBJLGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCw0KSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAxLDAsNCksQz1oKGcpLFE9aChCKSxFPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KTtyZXR1cm4gRyhFLEMpPDA/XCI1M1wiOkcoUSxFKTw9MD9cIjAxXCI6KEk9Qy5nZXRGdWxsWWVhcigpPEEudG1feWVhcisxOTAwP0EudG1feWRheSszMi1DLmdldERhdGUoKTpBLnRtX3lkYXkrMS1DLmdldERhdGUoKSxGKE1hdGguY2VpbChJLzcpLDIpKX0sXCIld1wiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl9LFwiJVdcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIsMCwxKSxnPTE9PT1JLmdldERheSgpP0k6cGcoSSwwPT09SS5nZXREYXkoKT8xOjctSS5nZXREYXkoKSsxKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cIjAxXCI6XCIwMFwifSxcIiV5XCI6ZnVuY3Rpb24oQSl7cmV0dXJuKEEudG1feWVhcisxOTAwKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlWVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3llYXIrMTkwMH0sXCIlelwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1fZ210b2ZmLGc9ST49MDtyZXR1cm4gST0oST1NYXRoLmFicyhJKS82MCkvNjAqMTAwK0klNjAsKGc/XCIrXCI6XCItXCIpK1N0cmluZyhcIjAwMDBcIitJKS5zbGljZSgtNCl9LFwiJVpcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV96b25lfSxcIiUlXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIiVcIn19O2Zvcih2YXIgbyBpbiBSKUUuaW5kZXhPZihvKT49MCYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksUltvXShRKSkpO3ZhciBVPVhnKEUsITEpO3JldHVybiBVLmxlbmd0aD5JPzA6KFQoVSxBKSxVLmxlbmd0aC0xKX1mdW5jdGlvbiBiZyhBLEksZyxCKXtyZXR1cm4gWmcoQSxJLGcsQil9ZnVuY3Rpb24geGcoQSl7dmFyIEk9RGF0ZS5ub3coKS8xZTN8MDtyZXR1cm4gQSYmKEFBW0E+PjJdPUkpLEl9aUkuc3RhdGljSW5pdCgpLHJJKCksZkk9QS5CaW5kaW5nRXJyb3I9ZEkoRXJyb3IsXCJCaW5kaW5nRXJyb3JcIiksdUk9QS5JbnRlcm5hbEVycm9yPWRJKEVycm9yLFwiSW50ZXJuYWxFcnJvclwiKSxqSSgpLERnPUEuVW5ib3VuZFR5cGVFcnJvcj1kSShFcnJvcixcIlVuYm91bmRUeXBlRXJyb3JcIik7dmFyIG1nPSExO2Z1bmN0aW9uIFhnKEEsSSxnKXt2YXIgQj1nPjA/ZzpXKEEpKzEsQz1uZXcgQXJyYXkoQiksUT1sKEEsQywwLEMubGVuZ3RoKTtyZXR1cm4gSSYmKEMubGVuZ3RoPVEpLEN9ZnVuY3Rpb24gVmcoQSl7Zm9yKHZhciBJPVtdLGc9MDtnPEEubGVuZ3RoO2crKyl7dmFyIEI9QVtnXTtCPjI1NSYmKG1nJiZIKCExLFwiQ2hhcmFjdGVyIGNvZGUgXCIrQitcIiAoXCIrU3RyaW5nLmZyb21DaGFyQ29kZShCKStcIikgIGF0IG9mZnNldCBcIitnK1wiIG5vdCBpbiAweDAwLTB4RkYuXCIpLEImPTI1NSksSS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXJldHVybiBJLmpvaW4oXCJcIil9dmFyIE9nPVwiZnVuY3Rpb25cIj09dHlwZW9mIGF0b2I/YXRvYjpmdW5jdGlvbihBKXt2YXIgSSxnLEIsQyxRLEUsaT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XCIsbz1cIlwiLEQ9MDtBPUEucmVwbGFjZSgvW15BLVphLXowLTlcXCtcXC9cXD1dL2csXCJcIik7ZG97ST1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSk8PDJ8KEM9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+NCxnPSgxNSZDKTw8NHwoUT1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpPj4yLEI9KDMmUSk8PDZ8KEU9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKSxvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLDY0IT09USYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoZykpLDY0IT09RSYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXdoaWxlKEQ8QS5sZW5ndGgpO3JldHVybiBvfTtmdW5jdGlvbiBUZyhBKXtpZihcImJvb2xlYW5cIj09dHlwZW9mIHcmJncpe3ZhciBJO3RyeXtJPUJ1ZmZlci5mcm9tKEEsXCJiYXNlNjRcIil9Y2F0Y2goZyl7ST1uZXcgQnVmZmVyKEEsXCJiYXNlNjRcIil9cmV0dXJuIG5ldyBVaW50OEFycmF5KEkuYnVmZmVyLEkuYnl0ZU9mZnNldCxJLmJ5dGVMZW5ndGgpfXRyeXtmb3IodmFyIGc9T2coQSksQj1uZXcgVWludDhBcnJheShnLmxlbmd0aCksQz0wO0M8Zy5sZW5ndGg7KytDKUJbQ109Zy5jaGFyQ29kZUF0KEMpO3JldHVybiBCfWNhdGNoKEEpe3Rocm93IG5ldyBFcnJvcihcIkNvbnZlcnRpbmcgYmFzZTY0IHN0cmluZyB0byBieXRlcyBmYWlsZWQuXCIpfX1mdW5jdGlvbiBqZyhBKXtpZihMQShBKSlyZXR1cm4gVGcoQS5zbGljZShIQS5sZW5ndGgpKX1mdW5jdGlvbiBQZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e3JldHVybiBTQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHZnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyZXR1cm4gTUIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHpnKEEsSSxnLEIpe3ZhciBDPXRCKCk7dHJ5e3JldHVybiBuQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBfZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e2NCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gJGcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JCKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBBQihBLEksZyxCKXt2YXIgQz10QigpO3RyeXtrQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBJQihBLEksZyxCLEMpe3ZhciBRPXRCKCk7dHJ5e0tCKEEsSSxnLEIsQyl9Y2F0Y2goQSl7aWYoeUIoUSksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19dmFyIGdCPXt9LEJCPXskOnZBLGY6ekEsZTokQSxBOkFJLF86Z0ksejpESSxaOmFJLFk6d0ksWDpHSSxvOmhJLHk6UkksVzp5SSxEOlNJLFY6bkksVTpiSSx4OnhJLFQ6ekksdzpBZyxqOkZnLGs6aGcsaTpzZyx2OlJnLHM6VWcsUzp5ZyxfX21lbW9yeV9iYXNlOjEwMjQsX190YWJsZV9iYXNlOjAsYTp0ZyxSOm1BLFE6eEEsUDpiQSxPOlpBLE46WEEsTTpTZyxLOmRnLEo6bmcsYjpjZyxuOnJnLHU6a2csSTpLZyxtOk5nLGw6WWcsSDpMZyxnOnFnLEY6WmcsRTpiZyx0OnhnLGM6SkEsaDpZLHE6UGcsTDp2ZyxHOnpnLHA6X2csQzokZyxCOkFCLHI6SUIsbWVtb3J5OnIsZDpOLHRhYmxlOmV9LENCPUEuYXNtKGdCLEJCLFApO0EuYXNtPUNCO3ZhciBRQixFQj1BLl9fR0xPQkFMX19zdWJfSV9BUlRvb2xLaXRKU19jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpQj1BLl9fR0xPQkFMX19zdWJfSV9iaW5kX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5iYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9CPUEuX19HTE9CQUxfX3N1Yl9JX2lvc3RyZWFtX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5jYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERCPUEuX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhQj0oQS5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksd0I9KEEuX19fZXJybm9fbG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2dldFR5cGVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEZCPUEuX19nZXRfZGF5bGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHQj1BLl9fZ2V0X3RpbWV6b25lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saEI9QS5fX2dldF90em5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ua2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzQj1BLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUkI9QS5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVUI9QS5fc2V0VGhyZXc9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5Qj0oQS5zdGFja0FsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5zdGFja1Jlc3RvcmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uU2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksdEI9QS5zdGFja1NhdmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uVGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTQj0oQS5keW5DYWxsX2RpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2RpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5wYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9pPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLE1CPShBLmR5bkNhbGxfaWlkaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5zYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksbkI9QS5keW5DYWxsX2lpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjQj0oQS5keW5DYWxsX2lpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS53YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS55YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5CYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWo9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5EYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHJCPShBLmR5bkNhbGxfdmlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5IYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksa0I9KEEuZHluQ2FsbF92aWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uS2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5MYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxLQj1BLmR5bkNhbGxfdmlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiBOQihBKXt0aGlzLm5hbWU9XCJFeGl0U3RhdHVzXCIsdGhpcy5tZXNzYWdlPVwiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdChcIitBK1wiKVwiLHRoaXMuc3RhdHVzPUF9ZnVuY3Rpb24gWUIoSSl7ZnVuY3Rpb24gZygpe1FCfHwoUUI9ITAsSnx8KFJBKCksVUEoKSxBLm9uUnVudGltZUluaXRpYWxpemVkJiZBLm9uUnVudGltZUluaXRpYWxpemVkKCkseUEoKSkpfUk9SXx8QyxrQT4wfHwoc0EoKSxrQT4wfHwoQS5zZXRTdGF0dXM/KEEuc2V0U3RhdHVzKFwiUnVubmluZy4uLlwiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7QS5zZXRTdGF0dXMoXCJcIil9KSwxKSxnKCl9KSwxKSk6ZygpKSl9ZnVuY3Rpb24gZUIoSSxnKXtnJiZjJiYwPT09SXx8KGN8fChKPSEwLEEub25FeGl0JiZBLm9uRXhpdChJKSksRShJLG5ldyBOQihJKSkpfWlmKEEuZHluQ2FsbF92aWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5PYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5QYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlqaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmFzbT1DQixBLkZTPWlJLEEudGhlbj1mdW5jdGlvbihJKXtpZihRQilJKEEpO2Vsc2V7dmFyIGc9QS5vblJ1bnRpbWVJbml0aWFsaXplZDtBLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7ZyYmZygpLEkoQSl9fXJldHVybiBBfSxOQT1mdW5jdGlvbiBBKCl7UUJ8fFlCKCksUUJ8fChOQT1BKX0sQS5ydW49WUIsQS5wcmVJbml0KWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZUluaXQmJihBLnByZUluaXQ9W0EucHJlSW5pdF0pO0EucHJlSW5pdC5sZW5ndGg+MDspQS5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIGM9ITAsWUIoKSxBfSk7Y29uc3QgRj13LEc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0Yoe29uUnVudGltZUluaXRpYWxpemVkOmZ1bmN0aW9uKCl7QSh7aW5zdGFuY2U6dGhpc30pfX0pfSkpfTt2YXIgaD1nKDY2OSkscz1nLm4oaCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSl9dmFyIGc7cmV0dXJuIEUoQSxudWxsLFt7a2V5OlwiZmV0Y2hSZW1vdGVEYXRhXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLnByZXY9MCxBLm5leHQ9MyxzKCkuZ2V0KEkse3Jlc3BvbnNlVHlwZTpcImFycmF5YnVmZmVyXCJ9KTtjYXNlIDM6cmV0dXJuIGc9QS5zZW50LEEuYWJydXB0KFwicmV0dXJuXCIsbmV3IFVpbnQ4QXJyYXkoZy5kYXRhKSk7Y2FzZSA3OnRocm93IEEucHJldj03LEEudDA9QS5jYXRjaCgwKSxBLnQwO2Nhc2UgMTA6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsbnVsbCxbWzAsN11dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJzdHJpbmcyVWludDhEYXRhXCIsdmFsdWU6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPW5ldyBVaW50OEFycmF5KEEubGVuZ3RoKSxnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXT0yNTUmQS5jaGFyQ29kZUF0KGcpO3JldHVybiBJfX0se2tleTpcInVpbnQ4RGF0YTJTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsQSl9fSx7a2V5OlwicGFyc2VNdWx0aUZpbGVcIix2YWx1ZTpmdW5jdGlvbihJKXt2YXIgZz1BLnVpbnQ4RGF0YTJTdHJpbmcoSSkuc3BsaXQoXCJcXG5cIiksQj1bXSxDPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7aWYoKEE9QS50cmltKCkpJiYhQS5zdGFydHNXaXRoKFwiI1wiKSlzd2l0Y2goQyl7Y2FzZSAwOnJldHVybiB2b2lkKEM9MSk7Y2FzZSAxOkEubWF0Y2goL15cXGQrJC8pfHxCLnB1c2goQSk7Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6cmV0dXJuIHZvaWQgQysrO2Nhc2UgNTpyZXR1cm4gdm9pZChDPTEpfX0pKSxCfX1dKSxBfSgpLFU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpLHRoaXMuaW5zdGFuY2UsdGhpcy5tYXJrZXJDb3VudD0wLHRoaXMubXVsdGlNYXJrZXJDb3VudD0wLHRoaXMuY2FtZXJhQ291bnQ9MCx0aGlzLnZlcnNpb249XCIwLjEuMFwiLGNvbnNvbGUuaW5mbyhcIkFSVG9vbGtpdCBcIix0aGlzLnZlcnNpb24pfXZhciBCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcImluaXRcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsRygpO2Nhc2UgMjpyZXR1cm4gST1BLnNlbnQsdGhpcy5pbnN0YW5jZT1JLmluc3RhbmNlLHRoaXMuX2RlY29yYXRlKCksKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OmcuZykuYXJ0b29sa2l0PXRoaXMsQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzKTtjYXNlIDg6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfZGVjb3JhdGVcIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXM7Zm9yKHZhciBJIGluW1wic2V0dXBcIixcInRlYXJkb3duXCIsXCJzZXR1cEFSMlwiLFwic2V0TG9nTGV2ZWxcIixcImdldExvZ0xldmVsXCIsXCJzZXREZWJ1Z01vZGVcIixcImdldERlYnVnTW9kZVwiLFwiZ2V0UHJvY2Vzc2luZ0ltYWdlXCIsXCJzZXRNYXJrZXJJbmZvRGlyXCIsXCJzZXRNYXJrZXJJbmZvVmVydGV4XCIsXCJnZXRUcmFuc01hdFNxdWFyZVwiLFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsXCJnZXRNdWx0aU1hcmtlck51bVwiLFwiZ2V0TXVsdGlNYXJrZXJDb3VudFwiLFwiZGV0ZWN0TWFya2VyXCIsXCJnZXRNYXJrZXJOdW1cIixcImRldGVjdE5GVE1hcmtlclwiLFwiZ2V0TkZUTWFya2VyXCIsXCJnZXRNYXJrZXJcIixcImdldE11bHRpRWFjaE1hcmtlclwiLFwic2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwic2V0UHJvamVjdGlvbkZhclBsYW5lXCIsXCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIixcInNldFRocmVzaG9sZE1vZGVcIixcImdldFRocmVzaG9sZE1vZGVcIixcInNldFRocmVzaG9sZFwiLFwiZ2V0VGhyZXNob2xkXCIsXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLFwiZ2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIixcInNldE1hdHJpeENvZGVUeXBlXCIsXCJnZXRNYXRyaXhDb2RlVHlwZVwiLFwic2V0TGFiZWxpbmdNb2RlXCIsXCJnZXRMYWJlbGluZ01vZGVcIixcInNldFBhdHRSYXRpb1wiLFwiZ2V0UGF0dFJhdGlvXCIsXCJzZXRJbWFnZVByb2NNb2RlXCIsXCJnZXRJbWFnZVByb2NNb2RlXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe0FbSV09QS5pbnN0YW5jZVtJXX0pKSx0aGlzLmluc3RhbmNlKUkubWF0Y2goL15BUi8pJiYodGhpc1tJXT10aGlzLmluc3RhbmNlW0ldKX19LHtrZXk6XCJsb2FkQ2FtZXJhXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxCO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoZz1cIi9jYW1lcmFfcGFyYW1fXCIrdGhpcy5jYW1lcmFDb3VudCsrLCEoSSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXtBLm5leHQ9NTticmVha31CPUksQS5uZXh0PTE0O2JyZWFrO2Nhc2UgNTpyZXR1cm4gQS5wcmV2PTUsQS5uZXh0PTgsUi5mZXRjaFJlbW90ZURhdGEoSSk7Y2FzZSA4OkI9QS5zZW50LEEubmV4dD0xNDticmVhaztjYXNlIDExOnRocm93IEEucHJldj0xMSxBLnQwPUEuY2F0Y2goNSksQS50MDtjYXNlIDE0OnJldHVybiB0aGlzLl9zdG9yZURhdGFGaWxlKEIsZyksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9sb2FkQ2FtZXJhKGcpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE1hcmtlclwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSxnKXt2YXIgQixDO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoQj1cIi9tYXJrZXJfXCIrdGhpcy5tYXJrZXJDb3VudCsrLC0xPT09Zy5pbmRleE9mKFwiXFxuXCIpKXtBLm5leHQ9NTticmVha31DPVIuc3RyaW5nMlVpbnQ4RGF0YShnKSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDg6Qz1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxCKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2FkZE1hcmtlcihJLEIpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiYWRkTXVsdGlNYXJrZXJcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGksRCxhLHc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cIi9tdWx0aV9tYXJrZXJfXCIrdGhpcy5tdWx0aU1hcmtlckNvdW50KyssQS5uZXh0PTMsUi5mZXRjaFJlbW90ZURhdGEoQik7Y2FzZSAzOnJldHVybiBRPUEuc2VudCxFPVIucGFyc2VNdWx0aUZpbGUoUSksaT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPW5ldyBVUkwoSSxCKS50b1N0cmluZygpLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgMzpDPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEMsSSk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxEPUUubWFwKGksdGhpcyksQS5uZXh0PTksUHJvbWlzZS5hbGwoRCk7Y2FzZSA5OnJldHVybiBhPXRoaXMuaW5zdGFuY2UuX2FkZE11bHRpTWFya2VyKGcsQyksdz10aGlzLmluc3RhbmNlLmdldE11bHRpTWFya2VyTnVtKGcsYSksQS5hYnJ1cHQoXCJyZXR1cm5cIixbYSx3XSk7Y2FzZSAxMjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE5GVE1hcmtlclwiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoZyxCKXt2YXIgQyxRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBDPVwiL21hcmtlck5GVF9cIit0aGlzLm1hcmtlckNvdW50KyssUT1bXCJmc2V0XCIsXCJpc2V0XCIsXCJmc2V0M1wiXSxFPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxRLEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1CK1wiLlwiK0ksUT1DK1wiLlwiK0ksQS5uZXh0PTQsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSA0OkU9QS5zZW50LHRoaXMuX3N0b3JlRGF0YUZpbGUoRSxRKTtjYXNlIDY6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGk9US5tYXAoRSx0aGlzKSxBLm5leHQ9NixQcm9taXNlLmFsbChpKTtjYXNlIDY6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fYWRkTkZUTWFya2VyKGcsQykpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcIl9zdG9yZURhdGFGaWxlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmluc3RhbmNlLkZTLndyaXRlRmlsZShJLEEse2VuY29kaW5nOlwiYmluYXJ5XCJ9KX19XSxbe2tleTpcIlVOS05PV05fTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuLTF9fSx7a2V5OlwiUEFUVEVSTl9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHtrZXk6XCJCQVJDT0RFX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybiAxfX0se2tleTpcIk5GVF9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMn19XSksQX0oKTtmdW5jdGlvbiB5KEEsSSxnKXtyZXR1cm4gSSBpbiBBP09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpBW0ldPWcsQX1mdW5jdGlvbiB0KEEsSSl7dmFyIGc9T2JqZWN0LmtleXMoQSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIEI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhBKTtJJiYoQj1CLmZpbHRlcigoZnVuY3Rpb24oSSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQSxJKS5lbnVtZXJhYmxlfSkpKSxnLnB1c2guYXBwbHkoZyxCKX1yZXR1cm4gZ31mdW5jdGlvbiBTKEEpe2Zvcih2YXIgST0xO0k8YXJndW1lbnRzLmxlbmd0aDtJKyspe3ZhciBnPW51bGwhPWFyZ3VtZW50c1tJXT9hcmd1bWVudHNbSV06e307SSUyP3QoT2JqZWN0KGcpLCEwKS5mb3JFYWNoKChmdW5jdGlvbihJKXt5KEEsSSxnW0ldKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhBLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGcpKTp0KE9iamVjdChnKSkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGcsSSkpfSkpfXJldHVybiBBfXZhciBNPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQShJLGcsQixRKXtDKHRoaXMsQSksdGhpcy5vcHRpb25zPVMoUyh7fSx7Y2FudmFzOm51bGwsb3JpZW50YXRpb246XCJsYW5kc2NhcGVcIn0pLFEpLHRoaXMuaWQ9LTEsdGhpcy53aWR0aD1JLHRoaXMuaGVpZ2h0PWcsdGhpcy5pbWFnZSx0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbix0aGlzLmNhbWVyYVBhcmFtPUIsdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmFydG9vbGtpdCx0aGlzLmxpc3RlbmVycz17fSx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aD0xLHRoaXMucGF0dGVybk1hcmtlcnM9e30sdGhpcy5iYXJjb2RlTWFya2Vycz17fSx0aGlzLm5mdE1hcmtlcnM9e30sdGhpcy50cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLHRoaXMudHJhbnNmb3JtR0xfUkg9bmV3IEZsb2F0NjRBcnJheSgxNiksdGhpcy52aWRlb1dpZHRoPUksdGhpcy52aWRlb0hlaWdodD1nLHRoaXMudmlkZW9TaXplPXRoaXMudmlkZW9XaWR0aCp0aGlzLnZpZGVvSGVpZ2h0LHRoaXMuZnJhbWVwb2ludGVyPW51bGwsdGhpcy5mcmFtZXNpemU9bnVsbCx0aGlzLmRhdGFIZWFwPW51bGwsdGhpcy52aWRlb0x1bWE9bnVsbCx0aGlzLmNhbWVyYV9tYXQ9bnVsbCx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW51bGwsdGhpcy52aWRlb0x1bWFQb2ludGVyPW51bGwsdGhpcy5vcHRpb25zLmNhbnZhcz90aGlzLmNhbnZhcz10aGlzLm9wdGlvbnMuY2FudmFzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmKHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIikpLHRoaXMuY2FudmFzPyh0aGlzLmNhbnZhcy53aWR0aD1JLHRoaXMuY2FudmFzLmhlaWdodD1nLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoXCIyZFwiKSk6Y29uc29sZS53YXJuKFwiTm8gY2FudmFzIGF2YWlsYWJsZVwiKSx0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPSExLHRoaXMubmZ0TWFya2VyQ291bnQ9MCx0aGlzLl9id3BvaW50ZXI9ITF9dmFyIGcsQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XCJkaXNwb3NlXCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEEgaW4gdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYVBhcmFtPVwiXCIsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5pZD4tMSYmdGhpcy5hcnRvb2xraXQudGVhcmRvd24odGhpcy5pZCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5zcmNPYmplY3QsdGhpcyl0aGlzW0FdPW51bGx9fSx7a2V5OlwicHJvY2Vzc1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMuZGV0ZWN0TWFya2VyKEEpOzAhPUkmJmNvbnNvbGUuZXJyb3IoXCJbQVJDb250cm9sbGVyXVwiLFwiZGV0ZWN0TWFya2VyIGVycm9yOlwiLEkpO3ZhciBnLEIsQz10aGlzLmdldE1hcmtlck51bSgpO2ZvcihnIGluIHRoaXMucGF0dGVybk1hcmtlcnMpKEI9dGhpcy5wYXR0ZXJuTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLmJhcmNvZGVNYXJrZXJzKShCPXRoaXMuYmFyY29kZU1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5uZnRNYXJrZXJzKShCPXRoaXMubmZ0TWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IodmFyIFE9MDtRPEM7USsrKXt2YXIgRT10aGlzLmdldE1hcmtlcihRKSxpPVUuVU5LTk9XTl9NQVJLRVIsbz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKC0xKTtFLmlkUGF0dD4tMSYmKEUuaWQ9PT1FLmlkUGF0dHx8LTE9PT1FLmlkTWF0cml4KT8obz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKEUuaWRQYXR0KSxpPVUuUEFUVEVSTl9NQVJLRVIsRS5kaXIhPT1FLmRpclBhdHQmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyUGF0dCkpOkUuaWRNYXRyaXg+LTEmJihvPXRoaXMudHJhY2tCYXJjb2RlTWFya2VySWQoRS5pZE1hdHJpeCksaT1VLkJBUkNPREVfTUFSS0VSLEUuZGlyIT09RS5kaXJNYXRyaXgmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyTWF0cml4KSksaSE9PVUuVU5LTk9XTl9NQVJLRVImJm8uaW5QcmV2aW91cz90aGlzLmdldFRyYW5zTWF0U3F1YXJlQ29udChRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgsby5tYXRyaXgpOnRoaXMuZ2V0VHJhbnNNYXRTcXVhcmUoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4KSxvLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChvLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OlEsdHlwZTppLG1hcmtlcjpFLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX12YXIgRD10aGlzLm5mdE1hcmtlckNvdW50O3RoaXMuZGV0ZWN0TkZUTWFya2VyKCk7Zm9yKHZhciBhPTA7YTxEO2ErKyl7dmFyIHc9dGhpcy5nZXRORlRNYXJrZXIoYSksRj1VLk5GVF9NQVJLRVI7aWYody5mb3VuZCl7dGhpcy5uZnRNYXJrZXJGb3VuZD1hLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPURhdGUubm93KCk7dmFyIEc9dGhpcy50cmFja05GVE1hcmtlcklkKGEpO0cubWF0cml4LnNldCh3LnBvc2UpLEcuaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KEcubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfWVsc2Ugc2VsZi5uZnRNYXJrZXJGb3VuZD09PWEmJkRhdGUubm93KCktdGhpcy5uZnRNYXJrZXJGb3VuZFRpbWU+MjAwJiYodGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJsb3N0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pKX1mb3IodmFyIGg9dGhpcy5nZXRNdWx0aU1hcmtlckNvdW50KCkscz0wO3M8aDtzKyspe3ZhciBSPXRoaXMuZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnQocykseT0hMTt0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0KHRoaXMuaWQscyksdGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpO2Zvcih2YXIgdD0wO3Q8Ujt0KyspaWYoKE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyx0KSkudmlzaWJsZT49MCl7eT0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSk7YnJlYWt9aWYoeSlmb3IodmFyIFM9MDtTPFI7UysrKXt2YXIgTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLFMpO3RoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclN1YlwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXJrZXJJbmRleDpTLG1hcmtlcjpNLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX19dGhpcy5fYndwb2ludGVyJiZ0aGlzLmRlYnVnRHJhdygpfX0se2tleTpcImRldGVjdE5GVE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuZGV0ZWN0TkZUTWFya2VyKHRoaXMuaWQpfX0se2tleTpcInRyYWNrUGF0dGVybk1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLnBhdHRlcm5NYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5wYXR0ZXJuTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrQmFyY29kZU1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLmJhcmNvZGVNYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5iYXJjb2RlTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrTkZUTWFya2VySWRcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMubmZ0TWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMubmZ0TWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcImdldE11bHRpTWFya2VyQ291bnRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlckNvdW50KHRoaXMuaWQpfX0se2tleTpcImdldE11bHRpTWFya2VyUGF0dGVybkNvdW50XCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE11bHRpTWFya2VyTnVtKHRoaXMuaWQsQSl9fSx7a2V5OlwiYWRkRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5saXN0ZW5lcnNbQV18fCh0aGlzLmxpc3RlbmVyc1tBXT1bXSksdGhpcy5saXN0ZW5lcnNbQV0ucHVzaChJKX19LHtrZXk6XCJyZW1vdmVFdmVudExpc3RlbmVyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZih0aGlzLmxpc3RlbmVyc1tBXSl7dmFyIGc9dGhpcy5saXN0ZW5lcnNbQV0uaW5kZXhPZihJKTtnPi0xJiZ0aGlzLmxpc3RlbmVyc1tBXS5zcGxpY2UoZywxKX19fSx7a2V5OlwiZGlzcGF0Y2hFdmVudFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMubGlzdGVuZXJzW0EubmFtZV07aWYoSSlmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKylJW2ddLmNhbGwodGhpcyxBKX19LHtrZXk6XCJkZWJ1Z1NldHVwXCIsdmFsdWU6ZnVuY3Rpb24oKXtcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/KGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLHRoaXMuc2V0RGVidWdNb2RlKCEwKSx0aGlzLl9id3BvaW50ZXI9dGhpcy5nZXRQcm9jZXNzaW5nSW1hZ2UoKSk6Y29uc29sZS5sb2coXCJkZWJ1Z1NldHVwKCkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgQnJvd3NlciBlbnZpcm9ubWVudHNcIil9fSx7a2V5OlwiZGVidWdEcmF3XCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5fYndwb2ludGVyLHRoaXMuZnJhbWVzaXplKSxJPW5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuY2FudmFzLndpZHRoKnRoaXMuY2FudmFzLmhlaWdodCo0KSx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLGc9MCxCPTA7ZzxBLmxlbmd0aDtnKyssQis9NCl7dmFyIEM9QVtnXTtJLmRhdGFbQiswXT1DLEkuZGF0YVtCKzFdPUMsSS5kYXRhW0IrMl09QyxJLmRhdGFbQiszXT0yNTV9dGhpcy5jdHgucHV0SW1hZ2VEYXRhKEksMCwwKTtmb3IodmFyIFE9dGhpcy5nZXRNYXJrZXJOdW0oKSxFPTA7RTxRO0UrKyl0aGlzLmRyYXdEZWJ1Z01hcmtlcih0aGlzLmdldE1hcmtlcihFKSl9fSx7a2V5OlwiZHJhd0RlYnVnTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9QS52ZXJ0ZXgsZz1BLnBvcyxCPXRoaXMuY3R4O0IubGluZVdpZHRoPTUsQi5zdHJva2VTdHlsZT1cInJlZFwiLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVswXVswXSxJWzBdWzFdKSxCLmxpbmVUbyhJWzFdWzBdLElbMV1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzJdWzBdLElbMl1bMV0pLEIubGluZVRvKElbM11bMF0sSVszXVsxXSksQi5zdHJva2UoKSxCLnN0cm9rZVN0eWxlPVwiZ3JlZW5cIixCLmJlZ2luUGF0aCgpLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5saW5lVG8oSVsyXVswXSxJWzJdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVszXVswXSxJWzNdWzFdKSxCLmxpbmVUbyhJWzBdWzBdLElbMF1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLmFyYyhnWzBdLGdbMV0sOCwwLDIqTWF0aC5QSSksQi5maWxsU3R5bGU9XCJyZWRcIixCLmZpbGwoKX19LHtrZXk6XCJsb2FkTWFya2VyXCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwibG9hZE11bHRpTWFya2VyXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNdWx0aU1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXCJyZXR1cm5cIixBLnNlbnQpO2Nhc2UgMzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJsb2FkTkZUTWFya2VyXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRORlRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIGc9QS5zZW50LHRoaXMubmZ0TWFya2VyQ291bnQ9ZysxLEEuYWJydXB0KFwicmV0dXJuXCIsZyk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImdldFRyYW5zTWF0U3F1YXJlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdFNxdWFyZSh0aGlzLmlkLEEsSSksZy5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksZ319LHtrZXk6XCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcIix2YWx1ZTpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdC5zZXQoZyksdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmVDb250KHRoaXMuaWQsQSxJKSxCLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxCfX0se2tleTpcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlwidHJhbnNNYXRUb0dMTWF0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBudWxsPT1JJiYoST1uZXcgRmxvYXQ2NEFycmF5KDE2KSksSVswXT1BWzBdLElbNF09QVsxXSxJWzhdPUFbMl0sSVsxMl09QVszXSxJWzFdPUFbNF0sSVs1XT1BWzVdLElbOV09QVs2XSxJWzEzXT1BWzddLElbMl09QVs4XSxJWzZdPUFbOV0sSVsxMF09QVsxMF0sSVsxNF09QVsxMV0sSVszXT0wLElbN109MCxJWzExXT0wLElbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihJWzEyXSo9ZyxJWzEzXSo9ZyxJWzE0XSo9ZyksSX19LHtrZXk6XCJhcmdsQ2FtZXJhVmlld1JIZlwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtyZXR1cm4oQj1udWxsPT1JP25ldyBGbG9hdDY0QXJyYXkoMTYpOkkpWzBdPUFbMF0sQls0XT1BWzRdLEJbOF09QVs4XSxCWzEyXT1BWzEyXSxCWzFdPS1BWzFdLEJbNV09LUFbNV0sQls5XT0tQVs5XSxCWzEzXT0tQVsxM10sQlsyXT0tQVsyXSxCWzZdPS1BWzZdLEJbMTBdPS1BWzEwXSxCWzE0XT0tQVsxNF0sQlszXT0wLEJbN109MCxCWzExXT0wLEJbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihCWzEyXSo9ZyxCWzEzXSo9ZyxCWzE0XSo9ZyksQn19LHtrZXk6XCJkZXRlY3RNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fY29weUltYWdlVG9IZWFwKEEpP3RoaXMuYXJ0b29sa2l0LmRldGVjdE1hcmtlcih0aGlzLmlkKTotOTl9fSx7a2V5OlwiZ2V0TWFya2VyTnVtXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyTnVtKHRoaXMuaWQpfX0se2tleTpcImdldE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubWFya2VySW5mb319LHtrZXk6XCJnZXRORlRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TkZUTWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lk5GVE1hcmtlckluZm99fSx7a2V5Olwic2V0TWFya2VySW5mb1ZlcnRleFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMF09SVtnXVswXSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZysxXT1JW2ddWzFdO3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvVmVydGV4KHRoaXMuaWQsQSl9fSx7a2V5OlwiY2xvbmVNYXJrZXJJbmZvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQSkpfX0se2tleTpcImdldE11bHRpRWFjaE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE11bHRpRWFjaE1hcmtlcih0aGlzLmlkLEEsSSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm99fSx7a2V5OlwiZ2V0VHJhbnNmb3JtYXRpb25NYXRyaXhcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybV9tYXR9fSx7a2V5OlwiZ2V0Q2FtZXJhTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW1lcmFfbWF0fX0se2tleTpcImdldE1hcmtlclRyYW5zZm9ybWF0aW9uTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdH19LHtrZXk6XCJzZXREZWJ1Z01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0RGVidWdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0RGVidWdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0RGVidWdNb2RlKHRoaXMuaWQpfX0se2tleTpcImdldFByb2Nlc3NpbmdJbWFnZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2Nlc3NpbmdJbWFnZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMb2dMZXZlbChBKX19LHtrZXk6XCJnZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldExvZ0xldmVsKCl9fSx7a2V5Olwic2V0TWFya2VySW5mb0RpclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hcmtlckluZm9EaXIodGhpcy5pZCxBLEkpfX0se2tleTpcInNldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcInNldFByb2plY3Rpb25GYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZE1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZCh0aGlzLmlkLEEpfX0se2tleTpcImdldFRocmVzaG9sZFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZCh0aGlzLmlkKX19LHtrZXk6XCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0TWF0cml4Q29kZVR5cGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRNYXRyaXhDb2RlVHlwZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQpfX0se2tleTpcInNldExhYmVsaW5nTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMYWJlbGluZ01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRMYWJlbGluZ01vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMYWJlbGluZ01vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0UGF0dFJhdGlvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRSYXRpbyh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRSYXRpb1wiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRSYXRpbyh0aGlzLmlkKX19LHtrZXk6XCJzZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldEltYWdlUHJvY01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0SW1hZ2VQcm9jTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJfaW5pdGlhbGl6ZVwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSSxnPXRoaXM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsKG5ldyBVKS5pbml0KCk7Y2FzZSAyOnJldHVybiB0aGlzLmFydG9vbGtpdD1BLnNlbnQsY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiQVJUb29sa2l0IGluaXRpYWxpemVkXCIpLEEubmV4dD02LHRoaXMuYXJ0b29sa2l0LmxvYWRDYW1lcmEodGhpcy5jYW1lcmFQYXJhbSk7Y2FzZSA2OnJldHVybiB0aGlzLmNhbWVyYUlkPUEuc2VudCxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJDYW1lcmEgcGFyYW1zIGxvYWRlZCB3aXRoIElEXCIsdGhpcy5jYW1lcmFJZCksdGhpcy5pZD10aGlzLmFydG9vbGtpdC5zZXR1cCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LHRoaXMuY2FtZXJhSWQpLGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkdvdCBJRCBmcm9tIHNldHVwXCIsdGhpcy5pZCksdGhpcy5faW5pdE5GVCgpLEk9YXJ0b29sa2l0LmZyYW1lTWFsbG9jLHRoaXMuZnJhbWVwb2ludGVyPUkuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplPUkuZnJhbWVzaXplLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1JLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5kYXRhSGVhcD1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplKSx0aGlzLnZpZGVvTHVtYT1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMudmlkZW9MdW1hUG9pbnRlcix0aGlzLmZyYW1lc2l6ZS80KSx0aGlzLmNhbWVyYV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkuY2FtZXJhLDE2KSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLnRyYW5zZm9ybSwxMiksdGhpcy5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKC4xKSx0aGlzLnNldFByb2plY3Rpb25GYXJQbGFuZSgxZTMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Zy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwibG9hZFwiLHRhcmdldDpnfSl9KSwxKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMpO2Nhc2UgMjM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfaW5pdE5GVFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuc2V0dXBBUjIodGhpcy5pZCl9fSx7a2V5OlwiX2NvcHlJbWFnZVRvSGVhcFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJO2lmKEF8fChBPXRoaXMuaW1hZ2UpLEEuZGF0YT9JPUEuZGF0YToodGhpcy5jdHguc2F2ZSgpLFwicG9ydHJhaXRcIj09PXRoaXMub3JpZW50YXRpb24/dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLmhlaWdodCx0aGlzLmNhbnZhcy53aWR0aCk6dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5jdHgucmVzdG9yZSgpLEk9dGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHRoaXMudmlkZW9MdW1hKWZvcih2YXIgZz0wLEI9MDtCPHRoaXMudmlkZW9TaXplO0IrKyl7dmFyIEM9SVtnKzBdLFE9SVtnKzFdLEU9SVtnKzJdO3RoaXMudmlkZW9MdW1hW0JdPUMrQytDK0UrUStRK1ErUT4+MyxnKz00fXJldHVybiEhdGhpcy5kYXRhSGVhcCYmKHRoaXMuZGF0YUhlYXAuc2V0KEkpLCEwKX19XSxbe2tleTpcImluaXRXaXRoRGltZW5zaW9uc1wiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMsUSl7dmFyIEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihJKXtmb3IoOzspc3dpdGNoKEkucHJldj1JLm5leHQpe2Nhc2UgMDpyZXR1cm4gRT1uZXcgQShnLEIsQyxRKSxJLm5leHQ9MyxFLl9pbml0aWFsaXplKCk7Y2FzZSAzOnJldHVybiBJLmFicnVwdChcInJldHVyblwiLEkuc2VudCk7Y2FzZSA0OmNhc2VcImVuZFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLGcsQyl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJpbml0V2l0aEltYWdlXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gSShnLEIsQyl7dmFyIFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIFE9Zy52aWRlb1dpZHRofHxnLndpZHRoLEU9Zy52aWRlb0hlaWdodHx8Zy5oZWlnaHQsSS5uZXh0PTQsQS5pbml0V2l0aERpbWVuc2lvbnMoUSxFLEIsQyk7Y2FzZSA0OnJldHVybihpPUkuc2VudCkuaW1hZ2U9ZyxJLmFicnVwdChcInJldHVyblwiLGkpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxCKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1dKSxBfSgpO2NvbnN0IG49e0FSVG9vbGtpdDpVLEFSQ29udHJvbGxlcjpNfX0pKCksQi5kZWZhdWx0fSkoKX0pKTsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICcuLi90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scyc7XG5pbXBvcnQgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gJy4vYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzJztcblxuY29uc3QgTWFya2Vyc0FyZWFDb250cm9scyA9IGZ1bmN0aW9uKGFyVG9vbGtpdENvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXG5cdGlmKCBhcmd1bWVudHMubGVuZ3RoID4gMyApXHRjb25zb2xlLmFzc2VydCgnd3JvbmcgYXBpIGZvcicsIE1hcmtlcnNBcmVhQ29udHJvbHMpXG5cblx0Ly8gaGF2ZSBhIHBhcmFtZXRlcnMgaW4gYXJndW1lbnRcblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIGxpc3Qgb2YgY29udHJvbHMgZm9yIGVhY2ggc3ViTWFya2VyXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzOiBwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyxcblx0XHQvLyBsaXN0IG9mIHBvc2UgZm9yIGVhY2ggc3ViTWFya2VyIHJlbGF0aXZlIHRvIHRoZSBvcmlnaW5cblx0XHRzdWJNYXJrZXJQb3NlczogcGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlcyxcblx0XHQvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG5cdFx0Y2hhbmdlTWF0cml4TW9kZSA6IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSAhPT0gdW5kZWZpbmVkID8gcGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlIDogJ21vZGVsVmlld01hdHJpeCcsXG5cdH1cblx0XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdC8vIGhvbm9yIG9ic29sZXRlIHN0dWZmIC0gYWRkIGEgd2FybmluZyB0byB1c2Vcblx0dGhpcy5zdWJNYXJrZXJzQ29udHJvbHMgPSB0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzXG5cdHRoaXMuc3ViTWFya2VyUG9zZXMgPSB0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXNcblxuXHQvLyBsaXN0ZW4gdG8gYXJUb29sa2l0Q29udGV4dCBldmVudCAnc291cmNlUHJvY2Vzc2VkJ1xuXHQvLyAtIGFmdGVyIHdlIGZ1bGx5IHByb2Nlc3NlZCBvbmUgaW1hZ2UsIGFrYSB3aGVuIHdlIGtub3cgYWxsIGRldGVjdGVkIHBvc2VzIGluIGl0XG5cdGFyVG9vbGtpdENvbnRleHQuYWRkRXZlbnRMaXN0ZW5lcignc291cmNlUHJvY2Vzc2VkJywgZnVuY3Rpb24oKXtcblx0XHRfdGhpcy5fb25Tb3VyY2VQcm9jZXNzZWQoKVxuXHR9KVxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSApO1xuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBNYXJrZXJzQXJlYUNvbnRyb2xzO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vKipcbiAqIFdoYXQgdG8gZG8gd2hlbiBhIGltYWdlIHNvdXJjZSBpcyBmdWxseSBwcm9jZXNzZWRcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUuX29uU291cmNlUHJvY2Vzc2VkID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHR2YXIgc3RhdHMgPSB7XG5cdFx0Y291bnQ6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdH0sXG5cdH1cblxuXHR2YXIgZmlyc3RRdWF0ZXJuaW9uID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHNbMF0ub2JqZWN0M2QucXVhdGVybmlvblxuXG5cdHRoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scywgbWFya2VySW5kZXgpe1xuXHRcdFxuXHRcdHZhciBtYXJrZXJPYmplY3QzZCA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkXG5cdFx0Ly8gaWYgdGhpcyBtYXJrZXIgaXMgbm90IHZpc2libGUsIGlnbm9yZSBpdFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdC8vIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBvZiB0aGlzLm9iamVjdDNkIGFjY29yZGluZyB0byB0aGlzIHN1Yi1tYXJrZXJzXG5cdFx0dmFyIG1hdHJpeCA9IG1hcmtlck9iamVjdDNkLm1hdHJpeC5jbG9uZSgpXG5cdFx0dmFyIG1hcmtlclBvc2UgPSBfdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzW21hcmtlckluZGV4XVxuXHRcdG1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLmdldEludmVyc2UobWFya2VyUG9zZSkpXG5cblx0XHQvLyBkZWNvbXBvc2UgdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdHZhciBwb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0dmFyIHF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRtYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblxuXHRcdC8vIGh0dHA6Ly93aWtpLnVuaXR5M2QuY29tL2luZGV4LnBocC9BdmVyYWdpbmdfUXVhdGVybmlvbnNfYW5kX1ZlY3RvcnNcblx0XHRzdGF0cy5jb3VudCsrXG5cblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnBvc2l0aW9uLnN1bSwgcG9zaXRpb24sIHN0YXRzLmNvdW50LCBzdGF0cy5wb3NpdGlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24oc3RhdHMucXVhdGVybmlvbi5zdW0sIHF1YXRlcm5pb24sIGZpcnN0UXVhdGVybmlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnNjYWxlLnN1bSwgc2NhbGUsIHN0YXRzLmNvdW50LCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXHR9KVxuXG5cdC8vIGhvbm9yIF90aGlzLm9iamVjdDNkLnZpc2libGVcblx0aWYoIHN0YXRzLmNvdW50ID4gMCApe1xuXHRcdF90aGlzLm9iamVjdDNkLnZpc2libGUgPSB0cnVlXG5cdH1lbHNle1xuXHRcdF90aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVx0XHRcdFxuXHR9XG5cblx0Ly8gaWYgYXQgbGVhc3Qgb25lIHN1Yi1tYXJrZXIgaGFzIGJlZW4gZGV0ZWN0ZWQsIG1ha2UgdGhlIGF2ZXJhZ2Ugb2YgYWxsIGRldGVjdGVkIG1hcmtlcnNcblx0aWYoIHN0YXRzLmNvdW50ID4gMCApe1xuXHRcdC8vIGNvbXB1dGUgbW9kZWxWaWV3TWF0cml4XG5cdFx0dmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0XHRtb2RlbFZpZXdNYXRyaXguY29tcG9zZShzdGF0cy5wb3NpdGlvbi5hdmVyYWdlLCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cblx0XHQvLyBjaGFuZ2UgX3RoaXMub2JqZWN0M2QubWF0cml4IGJhc2VkIG9uIHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXHRcdGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeClcblx0XHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguZ2V0SW52ZXJzZSggbW9kZWxWaWV3TWF0cml4IClcblx0XHR9ZWxzZSB7XG5cdFx0XHRjb25zb2xlLmFzc2VydChmYWxzZSlcblx0XHR9XG5cblx0XHQvLyBkZWNvbXBvc2UgLSB0aGUgbWF0cml4IGludG8gLnBvc2l0aW9uLCAucXVhdGVybmlvbiwgLnNjYWxlXG5cdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmRlY29tcG9zZShfdGhpcy5vYmplY3QzZC5wb3NpdGlvbiwgX3RoaXMub2JqZWN0M2QucXVhdGVybmlvbiwgX3RoaXMub2JqZWN0M2Quc2NhbGUpXG5cdH1cblxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBmcm9tIGh0dHA6Ly93aWtpLnVuaXR5M2QuY29tL2luZGV4LnBocC9BdmVyYWdpbmdfUXVhdGVybmlvbnNfYW5kX1ZlY3RvcnNcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbiA9IGZ1bmN0aW9uKHF1YXRlcm5pb25TdW0sIG5ld1F1YXRlcm5pb24sIGZpcnN0UXVhdGVybmlvbiwgY291bnQsIHF1YXRlcm5pb25BdmVyYWdlKXtcblx0cXVhdGVybmlvbkF2ZXJhZ2UgPSBxdWF0ZXJuaW9uQXZlcmFnZSB8fCBuZXcgVEhSRUUuUXVhdGVybmlvbigpXG5cdC8vIHNhbml0eSBjaGVja1xuXHRjb25zb2xlLmFzc2VydChmaXJzdFF1YXRlcm5pb24gaW5zdGFuY2VvZiBUSFJFRS5RdWF0ZXJuaW9uID09PSB0cnVlKVxuXHRcblx0Ly8gZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdGlmKCBuZXdRdWF0ZXJuaW9uLmRvdChmaXJzdFF1YXRlcm5pb24pID4gMCApe1xuXHRcdG5ld1F1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigtbmV3UXVhdGVybmlvbi54LCAtbmV3UXVhdGVybmlvbi55LCAtbmV3UXVhdGVybmlvbi56LCAtbmV3UXVhdGVybmlvbi53KVxuXHR9XG5cblx0cXVhdGVybmlvblN1bS54ICs9IG5ld1F1YXRlcm5pb24ueFxuXHRxdWF0ZXJuaW9uU3VtLnkgKz0gbmV3UXVhdGVybmlvbi55XG5cdHF1YXRlcm5pb25TdW0ueiArPSBuZXdRdWF0ZXJuaW9uLnpcblx0cXVhdGVybmlvblN1bS53ICs9IG5ld1F1YXRlcm5pb24ud1xuXHRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueCA9IHF1YXRlcm5pb25TdW0ueC9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS55ID0gcXVhdGVybmlvblN1bS55L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLnogPSBxdWF0ZXJuaW9uU3VtLnovY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UudyA9IHF1YXRlcm5pb25TdW0udy9jb3VudFxuXHRcblx0cXVhdGVybmlvbkF2ZXJhZ2Uubm9ybWFsaXplKClcblxuXHRyZXR1cm4gcXVhdGVybmlvbkF2ZXJhZ2Vcbn1cblxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzID0gZnVuY3Rpb24odmVjdG9yM1N1bSwgdmVjdG9yMywgY291bnQsIHZlY3RvcjNBdmVyYWdlKXtcblx0dmVjdG9yM0F2ZXJhZ2UgPSB2ZWN0b3IzQXZlcmFnZSB8fCBuZXcgVEhSRUUuVmVjdG9yMygpXG5cdFxuXHR2ZWN0b3IzU3VtLnggKz0gdmVjdG9yMy54XG5cdHZlY3RvcjNTdW0ueSArPSB2ZWN0b3IzLnlcblx0dmVjdG9yM1N1bS56ICs9IHZlY3RvcjMuelxuXHRcblx0dmVjdG9yM0F2ZXJhZ2UueCA9IHZlY3RvcjNTdW0ueCAvIGNvdW50XG5cdHZlY3RvcjNBdmVyYWdlLnkgPSB2ZWN0b3IzU3VtLnkgLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS56ID0gdmVjdG9yM1N1bS56IC8gY291bnRcblx0XG5cdHJldHVybiB2ZWN0b3IzQXZlcmFnZVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFV0aWxpdHkgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIGNvbXB1dGUgdGhlIGNlbnRlciBvZiB0aGlzIG11bHRpbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5jb21wdXRlQ2VudGVyID0gZnVuY3Rpb24oanNvbkRhdGEpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50IDogMCxcblx0XHRwb3NpdGlvbiA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdFx0cXVhdGVybmlvbiA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHNjYWxlIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0fVxuXHR2YXIgZmlyc3RRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKSAvLyBGSVhNRSA/Pz9cblx0XG5cdG11bHRpTWFya2VyRmlsZS5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcblx0XHR2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeClcblx0XHRcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb25cblx0XHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHBvc2VNYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblx0XHRcblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblx0XG5cdHZhciBhdmVyYWdlTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKVxuXHRhdmVyYWdlTWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdHJldHVybiBhdmVyYWdlTWF0cml4XG59XG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUJvdW5kaW5nQm94ID0gZnVuY3Rpb24oanNvbkRhdGEpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0dmFyIGJvdW5kaW5nQm94ID0gbmV3IFRIUkVFLkJveDMoKVxuXG5cdG11bHRpTWFya2VyRmlsZS5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcblx0XHR2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeClcblx0XHRcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb25cblx0XHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHBvc2VNYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblxuXHRcdGJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQocG9zaXRpb24pXG5cdH0pXG5cblx0cmV0dXJuIGJvdW5kaW5nQm94XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZVNtb290aGVkQ29udHJvbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGVTbW9vdGhlZENvbnRyb2xzID0gZnVuY3Rpb24oc21vb3RoZWRDb250cm9scywgbGVycHNWYWx1ZXMpe1xuXHQvLyBoYW5kbGUgZGVmYXVsdCB2YWx1ZXNcblx0aWYoIGxlcnBzVmFsdWVzID09PSB1bmRlZmluZWQgKXtcblx0XHQvLyBGSVhNRSB0aGlzIHBhcmFtZXRlciBmb3JtYXQgaXMgdXNlbGVzc2x5IGNyeXB0aWNcblx0XHQvLyBsZXJwVmFsdWVzID0gW1xuXHRcdC8vIHtsZXJwUG9zaXRpb246IDAuNSwgbGVycFF1YXRlcm5pb246IDAuMiwgbGVycFF1YXRlcm5pb246IDAuN31cblx0XHQvLyBdXG5cdFx0bGVycHNWYWx1ZXMgPSBbXG5cdFx0XHRbMC4zKy4xLCAwLjEsIDAuM10sXG5cdFx0XHRbMC40Ky4xLCAwLjEsIDAuNF0sXG5cdFx0XHRbMC40Ky4xLCAwLjIsIDAuNV0sXG5cdFx0XHRbMC41Ky4xLCAwLjIsIDAuN10sXG5cdFx0XHRbMC41Ky4xLCAwLjIsIDAuN10sXG5cdFx0XVxuXHR9XG5cdC8vIGNvdW50IGhvdyBtYW55IHN1Yk1hcmtlcnNDb250cm9scyBhcmUgdmlzaWJsZVxuXHR2YXIgblZpc2libGUgPSAwXG5cdHRoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scywgbWFya2VySW5kZXgpe1xuXHRcdHZhciBtYXJrZXJPYmplY3QzZCA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkXG5cdFx0aWYoIG1hcmtlck9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKVx0blZpc2libGUgKytcblx0fSlcblxuXHQvLyBmaW5kIHRoZSBnb29kIGxlcnBWYWx1ZXNcblx0aWYoIGxlcnBzVmFsdWVzW25WaXNpYmxlLTFdICE9PSB1bmRlZmluZWQgKXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW25WaXNpYmxlLTFdXG5cdH1lbHNle1xuXHRcdHZhciBsZXJwVmFsdWVzID0gbGVycHNWYWx1ZXNbbGVycHNWYWx1ZXMubGVuZ3RoLTFdXG5cdH1cblxuXHQvLyBtb2RpZnkgbGVycFZhbHVlcyBpbiBzbW9vdGhlZENvbnRyb2xzXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwUG9zaXRpb24gPSBsZXJwVmFsdWVzWzBdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwUXVhdGVybmlvbiA9IGxlcnBWYWx1ZXNbMV1cblx0c21vb3RoZWRDb250cm9scy5wYXJhbWV0ZXJzLmxlcnBTY2FsZSA9IGxlcnBWYWx1ZXNbMl1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENyZWF0ZSBBck11bHRpTWFya2VyQ29udHJvbHMgZnJvbSBKU09OXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5mcm9tSlNPTiA9IGZ1bmN0aW9uKGFyVG9vbGtpdENvbnRleHQsIHBhcmVudDNELCBtYXJrZXJSb290LCBqc29uRGF0YSwgcGFyYW1ldGVycyl7XG5cdHZhciBtdWx0aU1hcmtlckZpbGUgPSBKU09OLnBhcnNlKGpzb25EYXRhKVxuXHQvLyBkZWNsYXJlIHZhcmlhYmxlc1xuXHR2YXIgc3ViTWFya2Vyc0NvbnRyb2xzID0gW11cblx0dmFyIHN1Yk1hcmtlclBvc2VzID0gW11cblx0Ly8gaGFuZGxlIGRlZmF1bHQgYXJndW1lbnRzXG5cdHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzIHx8IHt9XG5cblx0Ly8gcHJlcGFyZSB0aGUgcGFyYW1ldGVyc1xuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0Ly8gY3JlYXRlIGEgbWFya2VyUm9vdFxuXHRcdHZhciBtYXJrZXJSb290ID0gbmV3IFRIUkVFLk9iamVjdDNEKClcblx0XHRwYXJlbnQzRC5hZGQobWFya2VyUm9vdClcblxuXHRcdC8vIGNyZWF0ZSBtYXJrZXJDb250cm9scyBmb3Igb3VyIG1hcmtlclJvb3Rcblx0XHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBuZXcgQXJNYXJrZXJDb250cm9scyhhclRvb2xraXRDb250ZXh0LCBtYXJrZXJSb290LCBpdGVtLnBhcmFtZXRlcnMpXG5cbi8vIGlmKCB0cnVlICl7XG5cdFx0Ly8gc3RvcmUgaXQgaW4gdGhlIHBhcmFtZXRlcnNcblx0XHRzdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXHRcbi8vIH1lbHNle1xuLy8gXHRcdC8vIGJ1aWxkIGEgc21vb3RoZWRDb250cm9sc1xuLy8gXHRcdHZhciBzbW9vdGhlZFJvb3QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuLy8gXHRcdHBhcmVudDNELmFkZChzbW9vdGhlZFJvb3QpXG4vLyBcdFx0dmFyIHNtb290aGVkQ29udHJvbHMgPSBuZXcgVEhSRUV4LkFyU21vb3RoZWRDb250cm9scyhzbW9vdGhlZFJvb3QsIHtcbi8vIFx0XHRcdGxlcnBQb3NpdGlvbiA6IDAuMSxcbi8vIFx0XHRcdGxlcnBRdWF0ZXJuaW9uIDogMC4xLCBcbi8vIFx0XHRcdGxlcnBTY2FsZSA6IDAuMSxcbi8vIFx0XHRcdG1pblZpc2libGVEZWxheTogMCxcbi8vIFx0XHRcdG1pblVudmlzaWJsZURlbGF5OiAwLFxuLy8gXHRcdH0pXG4vLyBcdFx0b25SZW5kZXJGY3RzLnB1c2goZnVuY3Rpb24oZGVsdGEpe1xuLy8gXHRcdFx0c21vb3RoZWRDb250cm9scy51cGRhdGUobWFya2VyUm9vdClcdC8vIFRPRE8gdGhpcyBpcyBhIGdsb2JhbFxuLy8gXHRcdH0pXG4vLyBcdFxuLy8gXG4vLyBcdFx0Ly8gc3RvcmUgaXQgaW4gdGhlIHBhcmFtZXRlcnNcbi8vIFx0XHRzdWJNYXJrZXJzQ29udHJvbHMucHVzaChzbW9vdGhlZENvbnRyb2xzKVxuLy8gXHRcdHN1Yk1hcmtlclBvc2VzLnB1c2gobmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkoaXRlbS5wb3NlTWF0cml4KSlcbi8vIH1cblx0fSlcblx0XG5cdHBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzID0gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMgPSBzdWJNYXJrZXJQb3Nlc1xuXHQvLyBjcmVhdGUgYSBuZXcgQXJNdWx0aU1hcmtlckNvbnRyb2xzXG5cdHZhciBtdWx0aU1hcmtlckNvbnRyb2xzID0gbmV3IEFyTXVsdGlNYXJrZXJDb250cm9scyhhclRvb2xraXRDb250ZXh0LCBtYXJrZXJSb290LCBwYXJhbWV0ZXJzKVxuXG5cdC8vIHJldHVybiBpdFxuXHRyZXR1cm4gbXVsdGlNYXJrZXJDb250cm9sc1x0XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhQ29udHJvbHM7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IENvbnRleHQgZnJvbSAnLi4vdGhyZWV4L2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuY29uc3QgTWFya2Vyc0FyZWFVdGlscyA9IHt9O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdG5hdmlnYXRlVG9MZWFybmVyUGFnZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogTmF2aWdhdGUgdG8gdGhlIG11bHRpLW1hcmtlciBsZWFybmVyIHBhZ2VcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbGVhcm5lckJhc2VVUkwgIC0gdGhlIGJhc2UgdXJsIGZvciB0aGUgbGVhcm5lclxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLm5hdmlnYXRlVG9MZWFybmVyUGFnZSA9IGZ1bmN0aW9uKGxlYXJuZXJCYXNlVVJMLCB0cmFja2luZ0JhY2tlbmQpe1xuXHR2YXIgbGVhcm5lclBhcmFtZXRlcnMgPSB7XG5cdFx0YmFja1VSTCA6IGxvY2F0aW9uLmhyZWYsXG5cdFx0dHJhY2tpbmdCYWNrZW5kOiB0cmFja2luZ0JhY2tlbmQsXG5cdFx0bWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVyczogTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyh0cmFja2luZ0JhY2tlbmQpLFxuXHR9XG5cdGxvY2F0aW9uLmhyZWYgPSBsZWFybmVyQmFzZVVSTCArICc/JyArIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShsZWFybmVyUGFyYW1ldGVycykpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0RGVmYXVsdE11bHRpTWFya2VyRmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogQ3JlYXRlIGFuZCBzdG9yZSBhIGRlZmF1bHQgbXVsdGktbWFya2VyIGZpbGVcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIGJhY2tlbmQgdG8gdXNlXG4gKi9cbk1hcmtlcnNBcmVhVXRpbHMuc3RvcmVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0dmFyIGZpbGUgPSBNYXJrZXJzQXJlYVV0aWxzLmNyZWF0ZURlZmF1bHRNdWx0aU1hcmtlckZpbGUodHJhY2tpbmdCYWNrZW5kKVxuXHQvLyBqc29uLnN0cmluZnkgdGhlIHZhbHVlIGFuZCBzdG9yZSBpdCBpbiBsb2NhbFN0b3JhZ2Vcblx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnLCBKU09OLnN0cmluZ2lmeShmaWxlKSlcbn1cblxuXG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCBtdWx0aS1tYXJrZXIgZmlsZVxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIGpzb24gb2JqZWN0IG9mIHRoZSBtdWx0aS1tYXJrZXIgZmlsZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLmNyZWF0ZURlZmF1bHRNdWx0aU1hcmtlckZpbGUgPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQpe1xuXHRjb25zb2xlLmFzc2VydCh0cmFja2luZ0JhY2tlbmQpXG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09IHVuZGVmaW5lZCApXHRkZWJ1Z2dlclxuXG5cdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXHQvLyBjcmVhdGUgdGhlIGJhc2UgZmlsZVxuXHR2YXIgZmlsZSA9IHtcblx0XHRtZXRhIDoge1xuXHRcdFx0Y3JlYXRlZEJ5IDogJ0FSLmpzICcgKyBDb250ZXh0LlJFVklTSU9OICsgJyAtIERlZmF1bHQgTWFya2VyJyxcblx0XHRcdGNyZWF0ZWRBdCA6IG5ldyBEYXRlKCkudG9KU09OKCksXG5cdFx0fSxcblx0XHR0cmFja2luZ0JhY2tlbmQgOiB0cmFja2luZ0JhY2tlbmQsXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzIDogW1xuXHRcdFx0Ly8gZW1wdHkgZm9yIG5vdy4uLiBiZWluZyBmaWxsZWRcblx0XHRdXG5cdH1cblx0Ly8gYWRkIGEgc3ViTWFya2Vyc0NvbnRyb2xzXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdID0ge1xuXHRcdHBhcmFtZXRlcnM6IHt9LFxuXHRcdHBvc2VNYXRyaXg6IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKDAsMCwgMCkudG9BcnJheSgpLFxuXHR9XG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHNbMF0ucGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG5cdFx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHNbMF0ucGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4taGlyby5wYXR0J1xuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXHQvLyBqc29uLnN0cmluZnkgdGhlIHZhbHVlIGFuZCBzdG9yZSBpdCBpbiBsb2NhbFN0b3JhZ2Vcblx0cmV0dXJuIGZpbGVcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRjcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCBjb250cm9scyBwYXJhbWV0ZXJzIGZvciB0aGUgbXVsdGktbWFya2VyIGxlYXJuZXJcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIGJhY2tlbmQgdG8gdXNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IC0ganNvbiBvYmplY3QgY29udGFpbmluZyB0aGUgY29udHJvbHMgcGFyYW1ldGVyc1xuICovXG5NYXJrZXJzQXJlYVV0aWxzLmNyZWF0ZURlZmF1bHRNYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0Ly8gY3JlYXRlIGFic29sdXRlQmFzZVVSTFxuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRsaW5rLmhyZWYgPSBDb250ZXh0LmJhc2VVUkxcblx0dmFyIGFic29sdXRlQmFzZVVSTCA9IGxpbmsuaHJlZlxuXG5cblx0aWYoIHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgKXtcblx0XHQvLyBwYXR0ZXJuIGhpcm8va2FuamkvYS9iL2MvZlxuXHRcdHZhciBtYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzID0gW1xuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4taGlyby5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1rYW5qaS5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJBLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckIucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQy5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJGLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRdXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHRyZXR1cm4gbWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVyc1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBnZW5lcmF0ZSBhcmVhRmlsZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLnN0b3JlTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24gPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kLCByZXNvbHV0aW9uVywgcmVzb2x1dGlvbkgpIHtcblx0Ly8gZ2VuZXJhdGUgYXJlYUZpbGVcblx0dmFyIGFyZWFGaWxlID0gdGhpcy5idWlsZE1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKVxuXHQvLyBzdG9yZSBhcmVhRmlsZSBpbiBsb2NhbFN0b3JhZ2Vcblx0bG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnLCBKU09OLnN0cmluZ2lmeShhcmVhRmlsZSkpXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhVXRpbHMuYnVpbGRNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbiA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKXtcblx0Ly8gY3JlYXRlIHRoZSBiYXNlIGZpbGVcblx0dmFyIGZpbGUgPSB7XG5cdFx0bWV0YSA6IHtcblx0XHRcdGNyZWF0ZWRCeSA6ICdBUi5qcyAtIEF1Z21lbnRlZCBXZWJzaXRlJyxcblx0XHRcdGNyZWF0ZWRBdCA6IG5ldyBEYXRlKCkudG9KU09OKCksXG5cdFx0fSxcblx0XHR0cmFja2luZ0JhY2tlbmQgOiB0cmFja2luZ0JhY2tlbmQsXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzIDogW1xuXHRcdFx0Ly8gZW1wdHkgZm9yIG5vdy4uLlxuXHRcdF1cblx0fVxuXG5cdHZhciB3aGl0ZU1hcmdpbiA9IDAuMVxuXHRpZiggcmVzb2x1dGlvblcgPiByZXNvbHV0aW9uSCApe1xuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjQgKiByZXNvbHV0aW9uSFxuXHR9ZWxzZSBpZiggcmVzb2x1dGlvblcgPCByZXNvbHV0aW9uSCApe1xuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjQgKiByZXNvbHV0aW9uV1xuXHR9ZWxzZSBpZiggcmVzb2x1dGlvblcgPT09IHJlc29sdXRpb25IICl7XG5cdFx0Ly8gc3BlY2lmaWMgZm9yIHR3aXR0ZXIgcGxheWVyIC0gaHR0cHM6Ly9kZXYudHdpdHRlci5jb20vY2FyZHMvdHlwZXMvcGxheWVyXG5cdFx0dmFyIG1hcmtlckltYWdlU2l6ZSA9IDAuMzMgKiByZXNvbHV0aW9uV1xuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXHQvLyBjb25zb2xlLndhcm4oJ3VzaW5nIG5ldyBtYXJrZXJJbWFnZVNpemUgY29tcHV0YXRpb24nKVxuXHR2YXIgYWN0dWFsTWFya2VyU2l6ZSA9IG1hcmtlckltYWdlU2l6ZSAqICgxIC0gMip3aGl0ZU1hcmdpbilcblxuXHR2YXIgZGVsdGFYID0gKHJlc29sdXRpb25XIC0gbWFya2VySW1hZ2VTaXplKS8yIC8gYWN0dWFsTWFya2VyU2l6ZVxuXHR2YXIgZGVsdGFaID0gKHJlc29sdXRpb25IIC0gbWFya2VySW1hZ2VTaXplKS8yIC8gYWN0dWFsTWFya2VyU2l6ZVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ2NlbnRlcicsIDAsIDApXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gYnVpbGRTdWJNYXJrZXJDb250cm9scygndG9wbGVmdCcsIC1kZWx0YVgsIC1kZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gYnVpbGRTdWJNYXJrZXJDb250cm9scygndG9wcmlnaHQnLCArZGVsdGFYLCAtZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ2JvdHRvbWxlZnQnLCAtZGVsdGFYLCArZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ2JvdHRvbXJpZ2h0JywgK2RlbHRhWCwgK2RlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHRyZXR1cm4gZmlsZVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHRmdW5jdGlvbiBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKGxheW91dCwgcG9zaXRpb25YLCBwb3NpdGlvblope1xuXHRcdGNvbnNvbGUubG9nKCdidWlsZFN1Yk1hcmtlckNvbnRyb2xzJywgbGF5b3V0LCBwb3NpdGlvblgsIHBvc2l0aW9uWilcblx0XHQvLyBjcmVhdGUgc3ViTWFya2Vyc0NvbnRyb2xzXG5cdFx0dmFyIHN1Yk1hcmtlcnNDb250cm9scyA9IHtcblx0XHRcdHBhcmFtZXRlcnM6IHt9LFxuXHRcdFx0cG9zZU1hdHJpeDogbmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlVHJhbnNsYXRpb24ocG9zaXRpb25YLDAsIHBvc2l0aW9uWikudG9BcnJheSgpLFxuXHRcdH1cblx0XHQvLyBmaWxsIHRoZSBwYXJhbWV0ZXJzXG5cdFx0aWYoIHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgKXtcblx0XHRcdGxheW91dDJNYXJrZXJQYXJhbWV0ZXJzQXJ0b29sa2l0KHN1Yk1hcmtlcnNDb250cm9scy5wYXJhbWV0ZXJzLCBsYXlvdXQpXG5cdFx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdFx0Ly8gcmV0dXJuIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRcdHJldHVybiBzdWJNYXJrZXJzQ29udHJvbHNcblx0fVxuXG5cdGZ1bmN0aW9uIGxheW91dDJNYXJrZXJQYXJhbWV0ZXJzQXJ0b29sa2l0KHBhcmFtZXRlcnMsIGxheW91dCl7XG5cdFx0Ly8gY3JlYXRlIGFic29sdXRlQmFzZVVSTFxuXHRcdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdFx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdFx0dmFyIGFic29sdXRlQmFzZVVSTCA9IGxpbmsuaHJlZlxuXG5cdFx0dmFyIGxheW91dDJQYXR0ZXJuVXJsID0ge1xuXHRcdFx0J2NlbnRlcicgOiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCcpLFxuXHRcdFx0J3RvcGxlZnQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJBLnBhdHQnKSxcblx0XHRcdCd0b3ByaWdodCcgOiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckIucGF0dCcpLFxuXHRcdFx0J2JvdHRvbWxlZnQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJDLnBhdHQnKSxcblx0XHRcdCdib3R0b21yaWdodCcgOiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckYucGF0dCcpLFxuXHRcdH1cblx0XHRjb25zb2xlLmFzc2VydChsYXlvdXQyUGF0dGVyblVybFtsYXlvdXRdICE9PSB1bmRlZmluZWQgKVxuXHRcdHBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuXHRcdHBhcmFtZXRlcnMucGF0dGVyblVybCA9IGxheW91dDJQYXR0ZXJuVXJsW2xheW91dF1cblx0XHRyZXR1cm5cblx0XHRmdW5jdGlvbiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKHJlbGF0aXZlVXJsKXtcblx0XHRcdHZhciB0bXBMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXHRcdFx0dG1wTGluay5ocmVmID0gcmVsYXRpdmVVcmxcblx0XHRcdHJldHVybiB0bXBMaW5rLmhyZWZcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFya2Vyc0FyZWFVdGlscztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJ3RocmVleEFybWFya2VyY29udHJvbHMnOyAvLyBBbGlhcyBmb3IgZHluYW1pYyBpbXBvcnRpbmdcbmltcG9ydCBBck1hcmtlckhlbHBlciBmcm9tICcuLi90aHJlZXgvdGhyZWV4LWFybWFya2VyaGVscGVyJztcbmltcG9ydCBBclNtb290aGVkQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcnNtb290aGVkY29udHJvbHMnO1xuaW1wb3J0IE1hcmtlcnNBcmVhQ29udHJvbHMgZnJvbSAnLi4vbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5pbXBvcnQgTWFya2Vyc0FyZWFVdGlscyBmcm9tICcuLi9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYXV0aWxzJztcblxuLy8gVE9ETyB0aGlzIGlzIGEgY29udHJvbHMuLi4gc2hvdWxkIGkgZ2l2ZSB0aGUgb2JqZWN0M2QgaGVyZSA/XG4vLyBub3QgYWNjb3JkaW5nIHRvICdubyB0aHJlZS5qcyBkZXBlbmRhbmN5J1xuXG4vKipcbiAqIENyZWF0ZSBhbiBhbmNob3IgaW4gdGhlIHJlYWwgd29ybGRcbiAqXG4gKiBAcGFyYW0ge0FSanMuU2Vzc2lvbn0gYXJTZXNzaW9uIC0gdGhlIHNlc3Npb24gb24gd2hpY2ggd2UgY3JlYXRlIHRoZSBhbmNob3JcbiAqIEBwYXJhbSB7T2JqZWN0fSBtYXJrZXJQYXJhbWV0ZXJzIC0gcGFyYW1ldGVyIG9mIHRoaXMgYW5jaG9yXG4gKi9cbmNvbnN0IEFuY2hvciA9IGZ1bmN0aW9uKGFyU2Vzc2lvbiwgbWFya2VyUGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIGFyQ29udGV4dCA9IGFyU2Vzc2lvbi5hckNvbnRleHRcblx0dmFyIHNjZW5lID0gYXJTZXNzaW9uLnBhcmFtZXRlcnMuc2NlbmVcblx0dmFyIGNhbWVyYSA9IGFyU2Vzc2lvbi5wYXJhbWV0ZXJzLmNhbWVyYVxuXG5cdHRoaXMuYXJTZXNzaW9uID0gYXJTZXNzaW9uXG5cdHRoaXMucGFyYW1ldGVycyA9IG1hcmtlclBhcmFtZXRlcnNcblxuXHQvLyBsb2cgdG8gZGVidWdcblx0Y29uc29sZS5sb2coJ0FSanMuQW5jaG9yIC0nLCAnY2hhbmdlTWF0cml4TW9kZTonLCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSwgJy8gbWFya2Vyc0FyZWFFbmFibGVkOicsIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKVxuXG5cdHZhciBtYXJrZXJSb290ID0gbmV3IFRIUkVFLkdyb3VwKClcblx0c2NlbmUuYWRkKG1hcmtlclJvb3QpXG5cblx0Ly8gc2V0IGNvbnRyb2xsZWRPYmplY3QgZGVwZW5kaW5nIG9uIGNoYW5nZU1hdHJpeE1vZGVcblx0aWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHR2YXIgY29udHJvbGxlZE9iamVjdCA9IG1hcmtlclJvb3Rcblx0fWVsc2UgaWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHR2YXIgY29udHJvbGxlZE9iamVjdCA9IGNhbWVyYVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXHRpZiggbWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPT09IGZhbHNlICl7XG5cdFx0dmFyIG1hcmtlckNvbnRyb2xzID0gbmV3IEFyTWFya2VyQ29udHJvbHMoYXJDb250ZXh0LCBjb250cm9sbGVkT2JqZWN0LCBtYXJrZXJQYXJhbWV0ZXJzKVxuXHRcdHRoaXMuY29udHJvbHMgPSBtYXJrZXJDb250cm9sc1xuXHR9ZWxzZXtcblx0XHQvLyBzYW5pdHkgY2hlY2sgLSBNVVNUIGJlIGEgdHJhY2tpbmdCYWNrZW5kIHdpdGggbWFya2Vyc1xuXHRcdGNvbnNvbGUuYXNzZXJ0KCBhckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnIClcblxuXHRcdC8vIGhvbm9yIG1hcmtlcnMtcGFnZS1yZXNvbHV0aW9uIGZvciBodHRwczovL3dlYnhyLmlvL2F1Z21lbnRlZC13ZWJzaXRlXG5cdFx0aWYoIGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpLnN0YXJ0c1dpdGgoJ21hcmtlcnMtcGFnZS1yZXNvbHV0aW9uPScpID09PSB0cnVlICl7XG5cdFx0XHQvLyBnZXQgcmVzb2x1dGlvblcvcmVzb2x1dGlvbkggZnJvbSB1cmxcblx0XHRcdHZhciBtYXJrZXJQYWdlUmVzb2x1dGlvbiA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpXG5cdFx0XHR2YXIgbWF0Y2hlcyA9IG1hcmtlclBhZ2VSZXNvbHV0aW9uLm1hdGNoKC9tYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbj0oXFxkKyl4KFxcZCspLylcblx0XHRcdGNvbnNvbGUuYXNzZXJ0KG1hdGNoZXMubGVuZ3RoID09PSAzKVxuXHRcdFx0dmFyIHJlc29sdXRpb25XID0gcGFyc2VJbnQobWF0Y2hlc1sxXSlcblx0XHRcdHZhciByZXNvbHV0aW9uSCA9IHBhcnNlSW50KG1hdGNoZXNbMl0pXG5cdFx0XHR2YXIgYXJDb250ZXh0ID0gYXJTZXNzaW9uLmFyQ29udGV4dFxuXHRcdFx0Ly8gZ2VuZXJhdGUgYW5kIHN0b3JlIHRoZSBBUmpzTXVsdGlNYXJrZXJGaWxlXG5cdFx0XHRNYXJrZXJzQXJlYVV0aWxzLnN0b3JlTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24oYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kLCByZXNvbHV0aW9uVywgcmVzb2x1dGlvbkgpXG5cdFx0fVxuXG5cdFx0Ly8gaWYgdGhlcmUgaXMgbm8gQVJqc011bHRpTWFya2VyRmlsZSwgYnVpbGQgYSBkZWZhdWx0IG9uZVxuXHRcdGlmKCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQVJqc011bHRpTWFya2VyRmlsZScpID09PSBudWxsICl7XG5cdFx0XHRNYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZShhckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQpXG5cdFx0fVxuXG5cdFx0Ly8gZ2V0IG11bHRpTWFya2VyRmlsZSBmcm9tIGxvY2FsU3RvcmFnZVxuXHRcdGNvbnNvbGUuYXNzZXJ0KCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnQVJqc011bHRpTWFya2VyRmlsZScpICE9PSBudWxsIClcblx0XHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKVxuXG5cdFx0Ly8gc2V0IGNvbnRyb2xsZWRPYmplY3QgZGVwZW5kaW5nIG9uIGNoYW5nZU1hdHJpeE1vZGVcblx0XHRpZiggbWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnbW9kZWxWaWV3TWF0cml4JyApe1xuXHRcdFx0dmFyIHBhcmVudDNEID0gc2NlbmVcblx0XHR9ZWxzZSBpZiggbWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdFx0dmFyIHBhcmVudDNEID0gY2FtZXJhXG5cdFx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0XHQvLyBidWlsZCBhIG11bHRpTWFya2VyQ29udHJvbHNcblx0XHR2YXIgbXVsdGlNYXJrZXJDb250cm9scyA9IE1hcmtlcnNBcmVhQ29udHJvbHMuZnJvbUpTT04oYXJDb250ZXh0LCBwYXJlbnQzRCwgY29udHJvbGxlZE9iamVjdCwgbXVsdGlNYXJrZXJGaWxlKVxuXHRcdHRoaXMuY29udHJvbHMgPSBtdWx0aU1hcmtlckNvbnRyb2xzXG5cblx0XHQvLyBob25vciBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0XHRtdWx0aU1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9IG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXG4vLyBUT0RPIHB1dCBzdWJNYXJrZXJDb250cm9scyB2aXNpYmlsaXR5IGludG8gYW4gZXh0ZXJuYWwgZmlsZS4gd2l0aCAyIGhhbmRsaW5nIGZvciB0aHJlZS5qcyBhbmQgYmFieWxvbi5qc1xuXHRcdC8vIGNyZWF0ZSBBck1hcmtlckhlbHBlciAtIHVzZWZ1bCB0byBkZWJ1ZyAtIHN1cGVyIHRocmVlLmpzIHNwZWNpZmljXG5cdFx0dmFyIG1hcmtlckhlbHBlcnMgPSBbXVxuXHRcdG11bHRpTWFya2VyQ29udHJvbHMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oc3ViTWFya2VyQ29udHJvbHMpe1xuXHRcdFx0Ly8gYWRkIGFuIGhlbHBlciB0byB2aXN1YWJsZSBlYWNoIHN1Yi1tYXJrZXJcblx0XHRcdHZhciBtYXJrZXJIZWxwZXIgPSBuZXcgQXJNYXJrZXJIZWxwZXIoc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0XHRtYXJrZXJIZWxwZXIub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdFx0XHQvLyBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC5hZGQoIG1hcmtlckhlbHBlci5vYmplY3QzZCApXG5cdFx0XHRzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC5hZGQoIG1hcmtlckhlbHBlci5vYmplY3QzZCApXG5cdFx0XHQvLyBhZGQgaXQgdG8gbWFya2VySGVscGVyc1xuXHRcdFx0bWFya2VySGVscGVycy5wdXNoKG1hcmtlckhlbHBlcilcblx0XHR9KVxuXHRcdC8vIGRlZmluZSBBUEkgc3BlY2lmaWMgdG8gbWFya2Vyc0FyZWFcblx0XHR0aGlzLm1hcmtlcnNBcmVhID0ge31cblx0XHR0aGlzLm1hcmtlcnNBcmVhLnNldFN1Yk1hcmtlcnNWaXNpYmlsaXR5ID0gZnVuY3Rpb24odmlzaWJsZSl7XG5cdFx0XHRtYXJrZXJIZWxwZXJzLmZvckVhY2goZnVuY3Rpb24obWFya2VySGVscGVyKXtcblx0XHRcdFx0bWFya2VySGVscGVyLm9iamVjdDNkLnZpc2libGUgPSB2aXNpYmxlXG5cdFx0XHR9KVxuXHRcdH1cblx0fVxuXG5cdHRoaXMub2JqZWN0M2QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRUSFJFRXguQXJTbW9vdGhlZENvbnRyb2xzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cdHZhciBzaG91bGRCZVNtb290aGVkID0gdHJ1ZVxuXG5cdGlmKCBzaG91bGRCZVNtb290aGVkID09PSB0cnVlICl7XG5cdFx0Ly8gYnVpbGQgYSBzbW9vdGhlZENvbnRyb2xzXG5cdFx0dmFyIHNtb290aGVkUm9vdCA9IG5ldyBUSFJFRS5Hcm91cCgpXG5cdFx0c2NlbmUuYWRkKHNtb290aGVkUm9vdClcblx0XHR2YXIgc21vb3RoZWRDb250cm9scyA9IG5ldyBBclNtb290aGVkQ29udHJvbHMoc21vb3RoZWRSb290KVxuXHRcdHNtb290aGVkUm9vdC5hZGQodGhpcy5vYmplY3QzZClcblx0fWVsc2V7XG5cdFx0bWFya2VyUm9vdC5hZGQodGhpcy5vYmplY3QzZClcblx0fVxuXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdENvZGUgU2VwYXJhdG9yXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHR0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG5cdFx0Ly8gdXBkYXRlIF90aGlzLm9iamVjdDNkLnZpc2libGVcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gX3RoaXMub2JqZWN0M2QucGFyZW50LnZpc2libGVcblxuXHRcdC8vIGNvbnNvbGUubG9nKCdjb250cm9sbGVkT2JqZWN0LnZpc2libGUnLCBfdGhpcy5vYmplY3QzZC5wYXJlbnQudmlzaWJsZSlcblx0XHRpZiggc21vb3RoZWRDb250cm9scyAhPT0gdW5kZWZpbmVkICl7XG5cdFx0XHQvLyB1cGRhdGUgc21vb3RoZWRDb250cm9scyBwYXJhbWV0ZXJzIGRlcGVuZGluZyBvbiBob3cgbWFueSBtYXJrZXJzIGFyZSB2aXNpYmxlIGluIG11bHRpTWFya2VyQ29udHJvbHNcblx0XHRcdGlmKCBtdWx0aU1hcmtlckNvbnRyb2xzICE9PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0bXVsdGlNYXJrZXJDb250cm9scy51cGRhdGVTbW9vdGhlZENvbnRyb2xzKHNtb290aGVkQ29udHJvbHMpXG5cdFx0XHR9XG5cblx0XHRcdC8vIHVwZGF0ZSBzbW9vdGhlZENvbnRyb2xzXG5cdFx0XHRzbW9vdGhlZENvbnRyb2xzLnVwZGF0ZShtYXJrZXJSb290KVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBBbmNob3I7IiwiaW1wb3J0IE1hcmtlcnNBcmVhVXRpbHMgZnJvbSAnLi4vbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscyc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi90aHJlZXgvYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG4vKipcbiAqIENyZWF0ZSBhbiBkZWJ1ZyBVSSBmb3IgYW4gQVJqcy5BbmNob3JcbiAqXG4gKiBAcGFyYW0ge0FSanMuQW5jaG9yfSBhckFuY2hvciAtIHRoZSBhbmNob3IgdG8gdXNlclxuICovXG5jb25zdCBTZXNzaW9uRGVidWdVSSA9IGZ1bmN0aW9uIChhclNlc3Npb24pIHtcbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJTZXNzaW9uLmFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgxMjcsMTI3LDEyNywwLjUpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuNWVtJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubGVmdCA9ICc1cHgnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmJvdHRvbSA9ICcxMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50ZXh0QWxpZ24gPSAncmlnaHQnXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRjdXJyZW50LXRyYWNraW5nLWJhY2tlbmRcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpXG4gICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJzxiPnRyYWNraW5nQmFja2VuZDwvYj4gOiAnICsgdHJhY2tpbmdCYWNrZW5kXG4gICAgdGhpcy5kb21FbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW1lbnQpXG59XG5cbi8qKlxuICogVXJsIG9mIGF1Z21lbnRlZC13ZWJzaXRlIHNlcnZpY2UgLSBpZiA9PT0gJycgdGhlbiBkb250IGluY2x1ZGUgYXVnbWVudGVkLXdlYnNpdGUgbGlua1xuICogQHR5cGUge1N0cmluZ31cbiAqL1xuU2Vzc2lvbkRlYnVnVUkuQXVnbWVudGVkV2Vic2l0ZVVSTCA9ICdodHRwczovL3dlYnhyLmlvL2F1Z21lbnRlZC13ZWJzaXRlJ1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEFuY2hvckRlYnVnVUlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhbiBkZWJ1ZyBVSSBmb3IgYW4gQVJqcy5BbmNob3JcbiAqXG4gKiBAcGFyYW0ge0FSanMuQW5jaG9yfSBhckFuY2hvciAtIHRoZSBhbmNob3IgdG8gdXNlclxuICovXG5jb25zdCBBbmNob3JEZWJ1Z1VJID0gZnVuY3Rpb24gKGFyQW5jaG9yKSB7XG4gICAgdmFyIGFyU2Vzc2lvbiA9IGFyQW5jaG9yLmFyU2Vzc2lvblxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhclNlc3Npb24uYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKVxuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5jb2xvciA9ICdyZ2JhKDAsMCwwLDAuOSknXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICdyZ2JhKDEyNywxMjcsMTI3LDAuNSknXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuNWVtJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW4gPSAnMC41ZW0nXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRleHRBbGlnbiA9ICdsZWZ0J1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Y3VycmVudC10cmFja2luZy1iYWNrZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICBkb21FbGVtZW50LnN0eWxlLnBhZGRpbmcgPSAnMC41ZW0nXG4gICAgZG9tRWxlbWVudC5zdHlsZS5jb2xvciA9ICdyZ2JhKDAsMCwwLDAuOSknXG4gICAgZG9tRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgxMjcsMTI3LDEyNywwLjUpJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5sZWZ0ID0gJzVweCdcbiAgICBkb21FbGVtZW50LnN0eWxlLmJvdHRvbSA9ICc0MHB4J1xuXG4gICAgdGhpcy5kb21FbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW1lbnQpXG4gICAgZG9tRWxlbWVudC5pbm5lckhUTUwgPSAnPGI+bWFya2Vyc0FyZWFFbmFibGVkPC9iPiA6JyArIGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHR0b2dnbGUtbWFya2VyLWhlbHBlclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJylcbiAgICAgICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUudGV4dEFsaWduID0gJ2xlZnQnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxuXG4gICAgICAgIGRvbUVsZW1lbnQuaWQgPSAnYnV0dG9uVG9nZ2xlTWFya2VySGVscGVycydcbiAgICAgICAgZG9tRWxlbWVudC5pbm5lckhUTUwgPSAndG9nZ2xlLW1hcmtlci1oZWxwZXInXG4gICAgICAgIGRvbUVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknXG5cbiAgICAgICAgdmFyIHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlID0gZmFsc2VcbiAgICAgICAgZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlID0gc3ViTWFya2VySGVscGVyc1Zpc2libGUgPyBmYWxzZSA6IHRydWVcbiAgICAgICAgICAgIGFyQW5jaG9yLm1hcmtlcnNBcmVhLnNldFN1Yk1hcmtlcnNWaXNpYmlsaXR5KHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdExlYXJuLW5ldy1tYXJrZXItYXJlYVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJylcbiAgICAgICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvbk1hcmtlcnNBcmVhTGVhcm5lcidcbiAgICAgICAgZG9tRWxlbWVudC5pbm5lckhUTUwgPSAnTGVhcm4tbmV3LW1hcmtlci1hcmVhJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoQW5jaG9yRGVidWdVSS5NYXJrZXJzQXJlYUxlYXJuZXJVUkwgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB2YXIgbGVhcm5lclVSTCA9IEFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBsZWFybmVyVVJMID0gQ29udGV4dC5iYXNlVVJMICsgJ2V4YW1wbGVzL211bHRpLW1hcmtlcnMvZXhhbXBsZXMvbGVhcm5lci5odG1sJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTWFya2Vyc0FyZWFVdGlscy5uYXZpZ2F0ZVRvTGVhcm5lclBhZ2UobGVhcm5lclVSTCwgdHJhY2tpbmdCYWNrZW5kKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdFJlc2V0LW1hcmtlci1hcmVhXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAoYXJBbmNob3IucGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQpIHtcbiAgICAgICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKVxuICAgICAgICBkb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxuXG4gICAgICAgIGRvbUVsZW1lbnQuaWQgPSAnYnV0dG9uTWFya2Vyc0FyZWFSZXNldCdcbiAgICAgICAgZG9tRWxlbWVudC5pbm5lckhUTUwgPSAnUmVzZXQtbWFya2VyLWFyZWEnXG4gICAgICAgIGRvbUVsZW1lbnQuaHJlZiA9ICdqYXZhc2NyaXB0OnZvaWQoMCknXG5cbiAgICAgICAgZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIE1hcmtlcnNBcmVhVXRpbHMuc3RvcmVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlKHRyYWNraW5nQmFja2VuZClcbiAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpXG4gICAgICAgIH0pXG4gICAgfVxufVxuXG4vKipcbiAqIHVybCBmb3IgdGhlIG1hcmtlcnMtYXJlYSBsZWFybmVyLiBpZiBub3Qgc2V0LCB0YWtlIHRoZSBkZWZhdWx0IG9uZVxuICogQHR5cGUge1N0cmluZ31cbiAqL1xuQW5jaG9yRGVidWdVSS5NYXJrZXJzQXJlYUxlYXJuZXJVUkwgPSBudWxsXG5cbmV4cG9ydCB7XG4gIFNlc3Npb25EZWJ1Z1VJLFxuICBBbmNob3JEZWJ1Z1VJXG59O1xuIiwiaW1wb3J0IEhpdFRlc3RpbmdQbGFuZSBmcm9tICcuLi90aHJlZXgvdGhyZWV4LWhpdHRlc3RpbmctcGxhbmUnO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBhbmNob3IgaW4gdGhlIHJlYWwgd29ybGRcbiAqXG4gKiBAcGFyYW0ge0FSanMuU2Vzc2lvbn0gYXJTZXNzaW9uIC0gdGhlIHNlc3Npb24gb24gd2hpY2ggd2UgY3JlYXRlIHRoZSBhbmNob3JcbiAqIEBwYXJhbSB7T2JqZWN0fSBtYXJrZXJQYXJhbWV0ZXJzIC0gcGFyYW1ldGVyIG9mIHRoaXMgYW5jaG9yXG4gKi9cbmNvbnN0IEhpdFRlc3RpbmcgPSBmdW5jdGlvbiAoYXJTZXNzaW9uKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIHZhciBhckNvbnRleHQgPSBhclNlc3Npb24uYXJDb250ZXh0XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgdGhpcy5lbmFibGVkID0gdHJ1ZVxuICAgIHRoaXMuX2FyU2Vzc2lvbiA9IGFyU2Vzc2lvblxuICAgIHRoaXMuX2hpdFRlc3RpbmdQbGFuZSA9IG51bGxcbiAgICBfdGhpcy5faGl0VGVzdGluZ1BsYW5lID0gbmV3IEhpdFRlc3RpbmdQbGFuZShhclNlc3Npb24uYXJTb3VyY2UuZG9tRWxlbWVudClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiB1cGRhdGVcbiAqXG4gKiBAcGFyYW0ge1RIUkVFLkNhbWVyYX0gY2FtZXJhICAgLSB0aGUgY2FtZXJhIHRvIHVzZVxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLVxuICovXG5IaXRUZXN0aW5nLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoY2FtZXJhLCBwaWNraW5nUm9vdCwgY2hhbmdlTWF0cml4TW9kZSkge1xuICAgIC8vIGlmIGl0IGlzbnQgZW5hYmxlZCwgZG8gbm90aGluZ1xuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSByZXR1cm5cblxuXG4gICAgaWYgKHRoaXMuX2hpdFRlc3RpbmdQbGFuZSAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9oaXRUZXN0aW5nUGxhbmUudXBkYXRlKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpXG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFjdHVhbCBoaXQgdGVzdGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogVGVzdCB0aGUgcmVhbCB3b3JsZCBmb3IgaW50ZXJzZWN0aW9ucyBkaXJlY3RseSBmcm9tIGEgRG9tRXZlbnRcbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbW91c2VYIC0gcG9zaXRpb24gWCBvZiB0aGUgaGl0IFstMSwgKzFdXG4gKiBAcGFyYW0ge051bWJlcn0gbW91c2VZIC0gcG9zaXRpb24gWSBvZiB0aGUgaGl0IFstMSwgKzFdXG4gKiBAcmV0dXJuIHtbSGl0VGVzdGluZy5SZXN1bHRdfSAtIGFycmF5IG9mIHJlc3VsdFxuICovXG5IaXRUZXN0aW5nLnByb3RvdHlwZS50ZXN0RG9tRXZlbnQgPSBmdW5jdGlvbiAoZG9tRXZlbnQpIHtcbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gdGhpcy5fYXJTZXNzaW9uLmFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuICAgIHZhciBhclNvdXJjZSA9IHRoaXMuX2FyU2Vzc2lvbi5hclNvdXJjZVxuXG4gICAgLy8gaWYgaXQgaXNudCBlbmFibGVkLCBkbyBub3RoaW5nXG4gICAgaWYgKHRoaXMuZW5hYmxlZCA9PT0gZmFsc2UpIHJldHVybiBbXVxuICAgIHZhciBtb3VzZVggPSBkb21FdmVudC5jbGllbnRYIC8gYXJTb3VyY2UuZG9tRWxlbWVudFdpZHRoKClcbiAgICB2YXIgbW91c2VZID0gZG9tRXZlbnQuY2xpZW50WSAvIGFyU291cmNlLmRvbUVsZW1lbnRIZWlnaHQoKVxuXG4gICAgcmV0dXJuIHRoaXMudGVzdChtb3VzZVgsIG1vdXNlWSlcbn1cblxuLyoqXG4gKiBUZXN0IHRoZSByZWFsIHdvcmxkIGZvciBpbnRlcnNlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtb3VzZVggLSBwb3NpdGlvbiBYIG9mIHRoZSBoaXQgWzAsICsxXVxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWSAtIHBvc2l0aW9uIFkgb2YgdGhlIGhpdCBbMCwgKzFdXG4gKiBAcmV0dXJuIHtbSGl0VGVzdGluZy5SZXN1bHRdfSAtIGFycmF5IG9mIHJlc3VsdFxuICovXG5IaXRUZXN0aW5nLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24gKG1vdXNlWCwgbW91c2VZKSB7XG4gICAgdmFyIGFyQ29udGV4dCA9IHRoaXMuX2FyU2Vzc2lvbi5hckNvbnRleHRcbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG4gICAgdmFyIGhpdFRlc3RSZXN1bHRzID0gW11cblxuICAgIC8vIGlmIGl0IGlzbnQgZW5hYmxlZCwgZG8gbm90aGluZ1xuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSByZXR1cm4gW11cblxuICAgIHZhciByZXN1bHQgPSB0aGlzLl9oaXRUZXN0aW5nUGxhbmUudGVzdChtb3VzZVgsIG1vdXNlWSlcblxuICAgIC8vIGlmIG5vIHJlc3VsdCBpcyBmb3VuZCwgcmV0dXJuIG5vd1xuICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHJldHVybiBoaXRUZXN0UmVzdWx0c1xuXG4gICAgLy8gYnVpbGQgYSBIaXRUZXN0aW5nLlJlc3VsdFxuICAgIHZhciBoaXRUZXN0UmVzdWx0ID0gbmV3IEhpdFRlc3RpbmcuUmVzdWx0KHJlc3VsdC5wb3NpdGlvbiwgcmVzdWx0LnF1YXRlcm5pb24sIHJlc3VsdC5zY2FsZSlcbiAgICBoaXRUZXN0UmVzdWx0cy5wdXNoKGhpdFRlc3RSZXN1bHQpXG5cbiAgICByZXR1cm4gaGl0VGVzdFJlc3VsdHNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRIaXRUZXN0aW5nLlJlc3VsdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIENvbnRhaW5zIHRoZSByZXN1bHQgb2YgSGl0VGVzdGluZy50ZXN0KClcbiAqXG4gKiBAcGFyYW0ge1RIUkVFLlZlY3RvcjN9IHBvc2l0aW9uIC0gcG9zaXRpb24gdG8gdXNlXG4gKiBAcGFyYW0ge1RIUkVFLlF1YXRlcm5pb259IHF1YXRlcm5pb24gLSBxdWF0ZXJuaW9uIHRvIHVzZVxuICogQHBhcmFtIHtUSFJFRS5WZWN0b3IzfSBzY2FsZSAtIHNjYWxlXG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0ID0gZnVuY3Rpb24gKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSkge1xuICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvblxuICAgIHRoaXMucXVhdGVybmlvbiA9IHF1YXRlcm5pb25cbiAgICB0aGlzLnNjYWxlID0gc2NhbGVcbn1cblxuLyoqXG4gKiBBcHBseSB0byBhIGNvbnRyb2xsZWQgb2JqZWN0M2RcbiAqXG4gKiBAcGFyYW0ge1RIUkVFLk9iamVjdDNEfSBvYmplY3QzZCAtIHRoZSByZXN1bHQgdG8gYXBwbHlcbiAqL1xuSGl0VGVzdGluZy5SZXN1bHQucHJvdG90eXBlLmFwcGx5ID0gZnVuY3Rpb24gKG9iamVjdDNkKSB7XG4gICAgb2JqZWN0M2QucG9zaXRpb24uY29weSh0aGlzLnBvc2l0aW9uKVxuICAgIG9iamVjdDNkLnF1YXRlcm5pb24uY29weSh0aGlzLnF1YXRlcm5pb24pXG4gICAgb2JqZWN0M2Quc2NhbGUuY29weSh0aGlzLnNjYWxlKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcbn1cblxuLyoqXG4gKiBBcHBseSB0byBhIGNvbnRyb2xsZWQgb2JqZWN0M2RcbiAqXG4gKiBAcGFyYW0ge1RIUkVFLk9iamVjdDNEfSBvYmplY3QzZCAtIHRoZSByZXN1bHQgdG8gYXBwbHlcbiAqL1xuSGl0VGVzdGluZy5SZXN1bHQucHJvdG90eXBlLmFwcGx5UG9zaXRpb24gPSBmdW5jdGlvbiAob2JqZWN0M2QpIHtcbiAgICBvYmplY3QzZC5wb3NpdGlvbi5jb3B5KHRoaXMucG9zaXRpb24pXG5cbiAgICBvYmplY3QzZC51cGRhdGVNYXRyaXgoKVxuXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLyoqXG4gKiBBcHBseSB0byBhIGNvbnRyb2xsZWQgb2JqZWN0M2RcbiAqXG4gKiBAcGFyYW0ge1RIUkVFLk9iamVjdDNEfSBvYmplY3QzZCAtIHRoZSByZXN1bHQgdG8gYXBwbHlcbiAqL1xuSGl0VGVzdGluZy5SZXN1bHQucHJvdG90eXBlLmFwcGx5UXVhdGVybmlvbiA9IGZ1bmN0aW9uIChvYmplY3QzZCkge1xuICAgIG9iamVjdDNkLnF1YXRlcm5pb24uY29weSh0aGlzLnF1YXRlcm5pb24pXG5cbiAgICBvYmplY3QzZC51cGRhdGVNYXRyaXgoKVxuXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuZXhwb3J0IGRlZmF1bHQgSGl0VGVzdGluZztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBTb3VyY2UgZnJvbSAnLi4vdGhyZWV4L2FyanMtc291cmNlJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL3RocmVleC9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbi8qKlxuICogICogZGVmaW5lIGEgU2Vzc2lvblxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbWV0ZXJzIC0gcGFyYW1ldGVycyBmb3IgdGhpcyBzZXNzaW9uXG4gKi9cbmNvbnN0IFNlc3Npb24gPSBmdW5jdGlvbihwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHQvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHRyZW5kZXJlcjogbnVsbCxcblx0XHRjYW1lcmE6IG51bGwsXG5cdFx0c2NlbmU6IG51bGwsXG5cdFx0c291cmNlUGFyYW1ldGVyczoge30sXG5cdFx0Y29udGV4dFBhcmFtZXRlcnM6IHt9LFxuXHR9XG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiVEhSRUV4LlNlc3Npb246ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0dmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiVEhSRUV4LlNlc3Npb246ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxuXHQvLyBzYW5pdHkgY2hlY2tcblx0Y29uc29sZS5hc3NlcnQodGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyIGluc3RhbmNlb2YgVEhSRUUuV2ViR0xSZW5kZXJlcilcblx0Y29uc29sZS5hc3NlcnQodGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSBpbnN0YW5jZW9mIFRIUkVFLkNhbWVyYSlcblx0Y29uc29sZS5hc3NlcnQodGhpcy5wYXJhbWV0ZXJzLnNjZW5lIGluc3RhbmNlb2YgVEhSRUUuU2NlbmUpXG5cblxuXHQvLyBiYWNrd2FyZCBlbXVsYXRpb25cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdyZW5kZXJlcicsIHtnZXQ6IGZ1bmN0aW9uKCl7XG5cdFx0Y29uc29sZS53YXJuKCd1c2UgLnBhcmFtZXRlcnMucmVuZGVyZXIgcmVuZGVyZXInKVxuXHRcdHJldHVybiB0aGlzLnBhcmFtZXRlcnMucmVuZGVyZXI7XG5cdH19KTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdjYW1lcmEnLCB7Z2V0OiBmdW5jdGlvbigpe1xuXHRcdGNvbnNvbGUud2FybigndXNlIC5wYXJhbWV0ZXJzLmNhbWVyYSBpbnN0ZWFkJylcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYTtcblx0fX0pO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3NjZW5lJywge2dldDogZnVuY3Rpb24oKXtcblx0XHRjb25zb2xlLndhcm4oJ3VzZSAucGFyYW1ldGVycy5zY2VuZSBpbnN0ZWFkJylcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLnNjZW5lO1xuXHR9fSk7XG5cblxuXHQvLyBsb2cgdGhlIHZlcnNpb25cblx0Y29uc29sZS5sb2coJ0FSLmpzJywgQ29udGV4dC5SRVZJU0lPTiwgJy0gdHJhY2tpbmdCYWNrZW5kOicsIHBhcmFtZXRlcnMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRpbml0IGFyU291cmNlXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHR2YXIgYXJTb3VyY2UgPSBfdGhpcy5hclNvdXJjZSA9IG5ldyBTb3VyY2UocGFyYW1ldGVycy5zb3VyY2VQYXJhbWV0ZXJzKVxuXG5cdGFyU291cmNlLmluaXQoZnVuY3Rpb24gb25SZWFkeSgpe1xuXHRcdGFyU291cmNlLm9uUmVzaXplKGFyQ29udGV4dCwgX3RoaXMucGFyYW1ldGVycy5yZW5kZXJlciwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmEpXG5cdH0pXG5cblx0Ly8gaGFuZGxlIHJlc2l6ZVxuXHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb24oKXtcblx0XHRhclNvdXJjZS5vblJlc2l6ZShhckNvbnRleHQsIF90aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhKVxuXHR9KVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRpbml0IGFyQ29udGV4dFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHQvLyBjcmVhdGUgYXRUb29sa2l0Q29udGV4dFxuXHR2YXIgYXJDb250ZXh0ID0gX3RoaXMuYXJDb250ZXh0ID0gbmV3IENvbnRleHQocGFyYW1ldGVycy5jb250ZXh0UGFyYW1ldGVycylcblxuXHQvLyBpbml0aWFsaXplIGl0XG5cdF90aGlzLmFyQ29udGV4dC5pbml0KClcblxuXHRhckNvbnRleHQuYWRkRXZlbnRMaXN0ZW5lcignaW5pdGlhbGl6ZWQnLCBmdW5jdGlvbihldmVudCl7XG5cdFx0YXJTb3VyY2Uub25SZXNpemUoYXJDb250ZXh0LCBfdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSlcblx0fSlcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0dXBkYXRlIGZ1bmN0aW9uXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvLyB1cGRhdGUgYXJ0b29sa2l0IG9uIGV2ZXJ5IGZyYW1lXG5cdHRoaXMudXBkYXRlID0gZnVuY3Rpb24oKXtcblx0XHRpZiggYXJTb3VyY2UucmVhZHkgPT09IGZhbHNlIClcdHJldHVyblxuXG5cdFx0YXJDb250ZXh0LnVwZGF0ZSggYXJTb3VyY2UuZG9tRWxlbWVudCApXG5cdH1cbn1cblxuU2Vzc2lvbi5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbiAoKSB7XG5cdHRoaXMuYXJTb3VyY2Uub25SZXNpemUodGhpcy5hckNvbnRleHQsIHRoaXMucGFyYW1ldGVycy5yZW5kZXJlciwgdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNlc3Npb247IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBVdGlscyA9IHt9O1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgcmVuZGVyaW5nIGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmQuIFRoZXkgbWF5IGJlIG1vZGlmaWVkIGxhdGVyLiB0byBmaXQgcGh5c2ljYWwgY2FtZXJhIHBhcmFtZXRlcnNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIHRvIHVzZXJcbiAqIEByZXR1cm4ge1RIUkVFLkNhbWVyYX0gdGhlIGNyZWF0ZWQgY2FtZXJhXG4gKi9cblV0aWxzLmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gdGhpcy5wYXJzZVRyYWNraW5nTWV0aG9kKHRyYWNraW5nTWV0aG9kKS50cmFja2luZ0JhY2tlbmRcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3Vua25vd24gdHJhY2tpbmdCYWNrZW5kOiAnICsgdHJhY2tpbmdCYWNrZW5kKVxuXG4gICAgcmV0dXJuIGNhbWVyYVxufVxuXG4vKipcbiAqIHBhcnNlIHRyYWNraW5nIG1ldGhvZFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ01ldGhvZCAtIHRoZSB0cmFja2luZyBtZXRob2QgdG8gcGFyc2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSB2YXJpb3VzIGZpZWxkIG9mIHRoZSB0cmFja2luZyBtZXRob2RcbiAqL1xuVXRpbHMucGFyc2VUcmFja2luZ01ldGhvZCA9IGZ1bmN0aW9uICh0cmFja2luZ01ldGhvZCkge1xuXG4gICAgaWYgKHRyYWNraW5nTWV0aG9kID09PSAnYmVzdCcpIHtcbiAgICAgICAgdHJhY2tpbmdNZXRob2QgPSAnYXJlYS1hcnRvb2xraXQnO1xuICAgIH1cblxuICAgIGlmICh0cmFja2luZ01ldGhvZC5zdGFydHNXaXRoKCdhcmVhLScpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nTWV0aG9kLnJlcGxhY2UoJ2FyZWEtJywgJycpLFxuICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdNZXRob2QsXG4gICAgICAgICAgICBtYXJrZXJzQXJlYUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBVdGlscztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJ3RocmVleEFybWFya2VyY29udHJvbHMnOyAvLyBBbGlhcyBmb3IgZHluYW1pYyBpbXBvcnRpbmdcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBlbmFibGUgaW1hZ2Ugc21vb3RoaW5nIG9yIG5vdCBmb3IgY2FudmFzIGNvcHkgLSBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkOiBmYWxzZSxcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVycyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChbJ2FydG9vbGtpdCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgdHJhY2tpbmdCYWNrZW5kJywgdGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcbiAgICBjb25zb2xlLmFzc2VydChbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciBkZXRlY3Rpb25Nb2RlJywgdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpXG5cbiAgICB0aGlzLmFyQ29udHJvbGxlciA9IG51bGw7XG5cbiAgICBfdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlXG5cblxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzID0gW11cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb250ZXh0OiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50ID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50O1xuQ29udGV4dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcjtcbkNvbnRleHQucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyO1xuXG4vLyBkZWZhdWx0IHRvIGdpdGh1YiBwYWdlXG5Db250ZXh0LmJhc2VVUkwgPSAnaHR0cHM6Ly9hci1qcy1vcmcuZ2l0aHViLmlvL0FSLmpzL3RocmVlLmpzLydcbkNvbnRleHQuUkVWSVNJT04gPSAnMy4zLjMtZXM2LWJldGEtMDEnXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY2FtZXJhIGZvciB0aGlzIHRyYWNraW5nQmFja2VuZFxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5Db250ZXh0LmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1c2UgQVJqcy5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhIGluc3RlYWQnKVxuICAgIC8vIENyZWF0ZSBhIGNhbWVyYVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHZhciBjYW1lcmEgPSBuZXcgVEhSRUUuQ2FtZXJhKCk7XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuXG5cbiAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgICAgICBfdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6ICdpbml0aWFsaXplZCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlXG5cbiAgICAgICAgb25Db21wbGV0ZWQgJiYgb25Db21wbGV0ZWQoKVxuICAgIH1cblxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cbiAgICAvLyBiZSBzdXJlIGFyQ29udHJvbGxlciBpcyBmdWxseSBpbml0aWFsaXplZFxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyAmJiB0aGlzLmFyQ29udHJvbGxlciA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGVcbiAgICB2YXIgcHJlc2VudCA9IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgaWYgKHRoaXMuX3VwZGF0ZWRBdCAhPT0gbnVsbCAmJiBwcmVzZW50IC0gdGhpcy5fdXBkYXRlZEF0IDwgMTAwMCAvIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICB0aGlzLl91cGRhdGVkQXQgPSBwcmVzZW50XG5cbiAgICB2YXIgcHJldlZpc2libGVNYXJrZXJzID0gW11cblxuICAgIC8vIG1hcmsgYWxsIG1hcmtlcnMgdG8gaW52aXNpYmxlIGJlZm9yZSBwcm9jZXNzaW5nIHRoaXMgZnJhbWVcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICBpZiAobWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSkge1xuICAgICAgICAgICAgcHJldlZpc2libGVNYXJrZXJzLnB1c2gobWFya2VyQ29udHJvbHMpXG4gICAgICAgIH1cbiAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgfSlcblxuICAgIC8vIHByb2Nlc3MgdGhpcyBmcmFtZVxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl91cGRhdGVBcnRvb2xraXQoc3JjRWxlbWVudCk7XG4gICAgfSAgZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHR5cGU6ICdzb3VyY2VQcm9jZXNzZWQnXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBmcmFtZSBpcyBwcm9jZXNzZWQsIGNoZWNrIHZpc2liaWxpdHkgb2YgZWFjaCBtYXJrZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBmb3VuZCBvciBsb3N0XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBwcmV2VmlzaWJsZU1hcmtlcnMuaW5jbHVkZXMobWFya2VyQ29udHJvbHMpO1xuICAgICAgICB2YXIgaXNWaXNpYmxlID0gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZTtcbiAgICBcbiAgICAgICAgaWYgKGlzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB3YXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJGb3VuZCcsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IG1hcmtlckNvbnRyb2xzLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0gZWxzZSBpZiAoaXNWaXNpYmxlID09PSBmYWxzZSAmJiB3YXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21hcmtlckxvc3QnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9XG4gICAgfSlcblxuXG4gICAgLy8gcmV0dXJuIHRydWUgYXMgd2UgcHJvY2Vzc2VkIHRoZSBmcmFtZVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgQWRkL1JlbW92ZSBtYXJrZXJDb250cm9sc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmFkZE1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMucHVzaChhck1hcmtlckNvbnRyb2xzKVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHZhciBpbmRleCA9IHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmluZGV4T2YoYXJNYXJrZXJDb250cm9scyk7XG4gICAgaWYoIGluZGV4IDwgMCApIHtcbiAgICBcdHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuc3BsaWNlKGluZGV4LCAxKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFydG9vbGtpdCBzcGVjaWZpY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIHNldCB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCB0byBjaGFuZ2UgYXJ0b29sa2l0IHByb2plY3Rpb24gbWF0cml4IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25ZKE1hdGguUEkpKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWihNYXRoLlBJKSlcblxuICAgIC8vIGluaXQgQVJUb29sa2l0XG4gICAgYXJ0b29sa2l0LmluaXQoKS50aGVuKF8gPT4ge1xuICAgICAgICAvLyBpbml0IGNvbnRyb2xsZXJcbiAgICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc1dpZHRoLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmFQYXJhbWV0ZXJzVXJsKS50aGVuKChhckNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIF90aGlzLmFyQ29udHJvbGxlciA9IGFyQ29udHJvbGxlclxuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1vekltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgubXNJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG5cbiAgICAgICAgICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5kZWJ1Z1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcmFtZXRlcnMuZGVidWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuZGVidWdTZXR1cCgpO1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS50b3AgPSAnMHB4J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUub3BhY2l0eSA9ICcwLjYnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS56SW5kZXggPSAnLTEnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZXMgPSB7XG4gICAgICAgICAgICAgICAgJ2NvbG9yJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SLFxuICAgICAgICAgICAgICAgICdjb2xvcl9hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgsXG4gICAgICAgICAgICAgICAgJ21vbm8nOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OTyxcbiAgICAgICAgICAgICAgICAnbW9ub19hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBkZXRlY3Rpb25Nb2RlID0gZGV0ZWN0aW9uTW9kZXNbX3RoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlXVxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZGV0ZWN0aW9uTW9kZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKGRldGVjdGlvbk1vZGUpO1xuXG4gICAgICAgICAgICAvLyBzZXRNYXRyaXhDb2RlVHlwZVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICAnM3gzJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4MyxcbiAgICAgICAgICAgICAgICAnM3gzX0hBTU1JTkc2Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDNfSEFNTUlORzYzLFxuICAgICAgICAgICAgICAgICczeDNfUEFSSVRZNjUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1LFxuICAgICAgICAgICAgICAgICc0eDQnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0LFxuICAgICAgICAgICAgICAgICc0eDRfQkNIXzEzXzlfMyc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMyxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM181XzUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM181XzUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbWF0cml4Q29kZVR5cGUgPSBtYXRyaXhDb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5tYXRyaXhDb2RlVHlwZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG1hdHJpeENvZGVUeXBlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0TWF0cml4Q29kZVR5cGUobWF0cml4Q29kZVR5cGUpO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIHBhdHRlcm5SYXRpbyBmb3IgYXJ0b29sa2l0XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0UGF0dFJhdGlvKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblJhdGlvKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRocmVzaG9sZGluZyBpbiBhcnRvb2xraXRcbiAgICAgICAgICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgdGhlIGRlZmF1bHRcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwpXG4gICAgICAgICAgICAvLyBhZGF0YXRpdmUgY29uc3VtZSBhIExPVCBvZiBjcHUuLi5cbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX0FEQVBUSVZFKVxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fT1RTVSlcblxuICAgICAgICAgICAgLy8gbm90aWZ5XG4gICAgICAgICAgICBvbkNvbXBsZXRlZCgpXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogcmV0dXJuIHRoZSBwcm9qZWN0aW9uIG1hdHJpeFxuICovXG5Db250ZXh0LnByb3RvdHlwZS5nZXRQcm9qZWN0aW9uTWF0cml4ID0gZnVuY3Rpb24gKHNyY0VsZW1lbnQpIHtcblxuXG4gICAgLy8gRklYTUUgcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc2F5IGl0IGlzIGFydG9vbGtpdCBzcGVjaWZpYyAtIGdldEFydG9vbGtpdFByb2plY3RNYXRyaXhcbiAgICAvLyBrZWVwIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGEgY29uc29sZS53YXJuXG5cbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JylcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmFyQ29udHJvbGxlciwgJ2FyQ29udHJvbGxlciBNVVNUIGJlIGluaXRpYWxpemVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpXG4gICAgLy8gZ2V0IHByb2plY3Rpb25NYXRyaXhBcnIgZnJvbSBhcnRvb2xraXRcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeEFyciA9IHRoaXMuYXJDb250cm9sbGVyLmdldENhbWVyYU1hdHJpeCgpO1xuICAgIHZhciBwcm9qZWN0aW9uTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkocHJvamVjdGlvbk1hdHJpeEFycilcblxuICAgIC8vIHJldHVybiB0aGUgcmVzdWx0XG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdC8vIG1hcmtlcnNcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcblx0XHRjb25zb2xlLmFzc2VydChtYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpO1xuXHRcdG1hcmtlckNvbnRyb2xzLmRpc3Bvc2UoKTtcblx0fSApO1xuXHR0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdO1xuXG5cdC8vIGNhbWVyYVBhcmFtXG5cdGlmICh0aGlzLmFyQ29udHJvbGxlciAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbSAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbS5kaXNwb3NlKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSgpO1xuXHR9XG5cblx0XG5cdC8vIEFSQ29udHJvbGxlclxuXHRpZiggdGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSApIHtcblx0XHR0aGlzLmFyQ29udHJvbGxlci5kaXNwb3NlKCk7XG5cdH1cblx0dGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgLy8gY2xhc3MgcHJvcGVydGllc1xuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbnVsbDtcblxuXHQvLyBhcnRvb2xraXRcblx0Ly8gTk9URTogc2luY2UgdGhlIGluc3RhbmNlIG9mIEFSVG9vbGtpdCBpcyBjcmVhdGVkIGdsb2JhbGx5IFxuXHQvLyB3ZSBzaG91bGQgcHJvYmFibHkgZG8gbm90IGNhbGwgLnRlYXJkb3duKCkgLi4uID9cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IGpzYXJ0b29sa2l0IGZyb20gJ2pzYXJ0b29sa2l0JzsgLy8gVE9ETyBjb21tZW50IGV4cGxhbmF0aW9uXG5jb25zdCB7IEFSVG9vbGtpdCB9ID0ganNhcnRvb2xraXQ7XG5cbmNvbnN0IE1hcmtlckNvbnRyb2xzID0gZnVuY3Rpb24oY29udGV4dCwgb2JqZWN0M2QsIHBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHR0aGlzLmNvbnRleHQgPSBjb250ZXh0XG5cdC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIHNpemUgb2YgdGhlIG1hcmtlciBpbiBtZXRlclxuXHRcdHNpemUgOiAxLFxuXHRcdC8vIHR5cGUgb2YgbWFya2VyIC0gWydwYXR0ZXJuJywgJ2JhcmNvZGUnLCAndW5rbm93bicgXVxuXHRcdHR5cGUgOiAndW5rbm93bicsXG5cdFx0Ly8gdXJsIG9mIHRoZSBwYXR0ZXJuIC0gSUlGIHR5cGU9J3BhdHRlcm4nXG5cdFx0cGF0dGVyblVybCA6IG51bGwsXG5cdFx0Ly8gdmFsdWUgb2YgdGhlIGJhcmNvZGUgLSBJSUYgdHlwZT0nYmFyY29kZSdcblx0XHRiYXJjb2RlVmFsdWUgOiBudWxsLFxuXHRcdC8vIGNoYW5nZSBtYXRyaXggbW9kZSAtIFttb2RlbFZpZXdNYXRyaXgsIGNhbWVyYVRyYW5zZm9ybU1hdHJpeF1cblx0XHRjaGFuZ2VNYXRyaXhNb2RlIDogJ21vZGVsVmlld01hdHJpeCcsXG5cdFx0Ly8gbWluaW1hbCBjb25maWRlbmNlIGluIHRoZSBtYXJrZSByZWNvZ25pdGlvbiAtIGJldHdlZW4gWzAsIDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bWluQ29uZmlkZW5jZTogMC42LFxuXHRcdC8vIHR1cm4gb24vb2ZmIGNhbWVyYSBzbW9vdGhpbmdcblx0XHRzbW9vdGg6IGZhbHNlLFxuXHRcdC8vIG51bWJlciBvZiBtYXRyaWNlcyB0byBzbW9vdGggdHJhY2tpbmcgb3ZlciwgbW9yZSA9IHNtb290aGVyIGJ1dCBzbG93ZXIgZm9sbG93XG5cdFx0c21vb3RoQ291bnQ6IDUsXG5cdFx0Ly8gZGlzdGFuY2UgdG9sZXJhbmNlIGZvciBzbW9vdGhpbmcsIGlmIHNtb290aFRocmVzaG9sZCAjIG9mIG1hdHJpY2VzIGFyZSB1bmRlciB0b2xlcmFuY2UsIHRyYWNraW5nIHdpbGwgc3RheSBzdGlsbFxuXHRcdHNtb290aFRvbGVyYW5jZTogMC4wMSxcblx0XHQvLyB0aHJlc2hvbGQgZm9yIHNtb290aGluZywgd2lsbCBrZWVwIHN0aWxsIHVubGVzcyBlbm91Z2ggbWF0cmljZXMgYXJlIG92ZXIgdG9sZXJhbmNlXG5cdFx0c21vb3RoVGhyZXNob2xkOiAyLFxuXHR9XG5cblx0Ly8gc2FuaXR5IGNoZWNrXG5cdHZhciBwb3NzaWJsZVZhbHVlcyA9IFsncGF0dGVybicsICdiYXJjb2RlJywgJ3Vua25vd24nXVxuXHRjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy50eXBlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG5cdHZhciBwb3NzaWJsZVZhbHVlcyA9IFsnbW9kZWxWaWV3TWF0cml4JywgJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgXVxuXHRjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpXG5cblxuICAgICAgICAvLyBjcmVhdGUgdGhlIG1hcmtlciBSb290XG5cdHRoaXMub2JqZWN0M2QgPSBvYmplY3QzZFxuXHR0aGlzLm9iamVjdDNkLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcblx0dGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0c2V0UGFyYW1ldGVyc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0c2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuXHRmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpe1xuXHRcdGlmKCBwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQgKVx0cmV0dXJuXG5cdFx0Zm9yKCB2YXIga2V5IGluIHBhcmFtZXRlcnMgKXtcblx0XHRcdHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyTWFya2VyQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxuXG5cdGlmICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoKSB7XG5cdFx0dGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdOyAvLyBsYXN0IERFQk9VTkNFX0NPVU5UIG1vZGVsVmlld01hdHJpeFxuXHR9XG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdENvZGUgU2VwYXJhdG9yXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvLyBhZGQgdGhpcyBtYXJrZXIgdG8gYXJ0b29sa2l0c3lzdGVtXG5cdC8vIFRPRE8gcmVuYW1lIHRoYXQgLmFkZE1hcmtlckNvbnRyb2xzXG5cdGNvbnRleHQuYWRkTWFya2VyKHRoaXMpXG5cblx0aWYoIF90aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0dGhpcy5faW5pdEFydG9vbGtpdCgpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxufVxuXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE1hcmtlckNvbnRyb2xzO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0ZGlzcG9zZSBpbnN0YW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uKCl7XG5cdGlmKCB0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlciApIHtcblx0XHR0aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIHRoaXMub25HZXRNYXJrZXIpO1xuXHR9XG5cblx0dGhpcy5jb250ZXh0LnJlbW92ZU1hcmtlcih0aGlzKTtcblx0XG5cdHRoaXMub2JqZWN0M2QgPSBudWxsO1xuXHR0aGlzLnNtb290aE1hdHJpY2VzID0gW107XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGNvbnRyb2xzIHdpdGggbmV3IG1vZGVsVmlld01hdHJpeFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogV2hlbiB5b3UgYWN0dWFsbHkgZ290IGEgbmV3IG1vZGVsVmlld01hdHJpeCwgeW91IG5lZWQgdG8gcGVyZm9tIGEgd2hvbGUgYnVuY2hcbiAqIG9mIHRoaW5ncy4gaXQgaXMgZG9uZSBoZXJlLlxuICovXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeCA9IGZ1bmN0aW9uKG1vZGVsVmlld01hdHJpeCl7XG5cdHZhciBtYXJrZXJPYmplY3QzRCA9IHRoaXMub2JqZWN0M2Q7XG5cblx0Ly8gbWFyayBvYmplY3QgYXMgdmlzaWJsZVxuXHRtYXJrZXJPYmplY3QzRC52aXNpYmxlID0gdHJ1ZVxuXG5cdGlmKCB0aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gYXBwbHkgY29udGV4dC5fYXhpc1RyYW5zZm9ybU1hdHJpeCAtIGNoYW5nZSBhcnRvb2xraXQgYXhpcyB0byBtYXRjaCB1c3VhbCB3ZWJnbCBvbmVcblx0XHR2YXIgdG1wTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5jb3B5KHRoaXMuY29udGV4dC5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cdFx0dG1wTWF0cml4Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeClcblxuXHRcdG1vZGVsVmlld01hdHJpeC5jb3B5KHRtcE1hdHJpeClcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY2hhbmdlIGF4aXMgb3JpZW50YXRpb24gb24gbWFya2VyIC0gYXJ0b29sa2l0IHNheSBaIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyIC0gYXIuanMgc2F5IFkgaXMgbm9ybWFsIHRvIHRoZSBtYXJrZXJcblx0dmFyIG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblgoTWF0aC5QSS8yKVxuXHRtb2RlbFZpZXdNYXRyaXgubXVsdGlwbHkobWFya2VyQXhpc1RyYW5zZm9ybU1hdHJpeClcblxuXHR2YXIgcmVuZGVyUmVxZCA9IGZhbHNlO1xuXG5cdC8vIGNoYW5nZSBtYXJrZXJPYmplY3QzRC5tYXRyaXggYmFzZWQgb24gcGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG5cdGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuXHRcdFx0dmFyIHN1bSxcblx0XHRcdFx0XHRpLCBqLFxuXHRcdFx0XHRcdGF2ZXJhZ2VzLCAvLyBhdmVyYWdlIHZhbHVlcyBmb3IgbWF0cml4IG92ZXIgbGFzdCBzbW9vdGhDb3VudFxuXHRcdFx0XHRcdGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID0gMDtcblxuXHRcdFx0dGhpcy5zbW9vdGhNYXRyaWNlcy5wdXNoKG1vZGVsVmlld01hdHJpeC5lbGVtZW50cy5zbGljZSgpKTsgLy8gYWRkIGxhdGVzdFxuXG5cdFx0XHRpZiAodGhpcy5zbW9vdGhNYXRyaWNlcy5sZW5ndGggPCAodGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50ICsgMSkpIHtcblx0XHRcdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KTsgLy8gbm90IGVub3VnaCBmb3IgYXZlcmFnZVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zbW9vdGhNYXRyaWNlcy5zaGlmdCgpOyAvLyByZW1vdmUgb2xkZXN0IGVudHJ5XG5cdFx0XHRcdGF2ZXJhZ2VzID0gW107XG5cblx0XHRcdFx0Zm9yIChpIGluIG1vZGVsVmlld01hdHJpeC5lbGVtZW50cykgeyAvLyBsb29wIG92ZXIgZW50cmllcyBpbiBtYXRyaXhcblx0XHRcdFx0XHRzdW0gPSAwO1xuXHRcdFx0XHRcdGZvciAoaiBpbiB0aGlzLnNtb290aE1hdHJpY2VzKSB7IC8vIGNhbGN1bGF0ZSBhdmVyYWdlIGZvciB0aGlzIGVudHJ5XG5cdFx0XHRcdFx0XHRzdW0gKz0gdGhpcy5zbW9vdGhNYXRyaWNlc1tqXVtpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YXZlcmFnZXNbaV0gPSBzdW0gLyB0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQ7XG5cdFx0XHRcdFx0Ly8gY2hlY2sgaG93IG1hbnkgZWxlbWVudHMgdmFyeSBmcm9tIHRoZSBhdmVyYWdlIGJ5IGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRVxuXHRcdFx0XHRcdGlmIChNYXRoLmFicyhhdmVyYWdlc1tpXSAtIG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSkgPj0gdGhpcy5wYXJhbWV0ZXJzLnNtb290aFRvbGVyYW5jZSkge1xuXHRcdFx0XHRcdFx0ZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UrKztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBpZiBtb3ZpbmcgKGkuZS4gYXQgbGVhc3QgQVZFUkFHRV9NQVRSSVhfVEhSRVNIT0xEIGVudHJpZXMgYXJlIG92ZXIgQVZFUkFHRV9NQVRSSVhfVE9MRVJBTkNFKVxuXHRcdFx0XHRpZiAoZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPj0gdGhpcy5wYXJhbWV0ZXJzLnNtb290aFRocmVzaG9sZCkge1xuXHRcdFx0XHRcdC8vIHRoZW4gdXBkYXRlIG1hdHJpeCB2YWx1ZXMgdG8gYXZlcmFnZSwgb3RoZXJ3aXNlLCBkb24ndCByZW5kZXIgdG8gbWluaW1pemUgaml0dGVyXG5cdFx0XHRcdFx0Zm9yIChpIGluIG1vZGVsVmlld01hdHJpeC5lbGVtZW50cykge1xuXHRcdFx0XHRcdFx0bW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzW2ldID0gYXZlcmFnZXNbaV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7XG5cdFx0XHRcdFx0cmVuZGVyUmVxZCA9IHRydWU7IC8vIHJlbmRlciByZXF1aXJlZCBpbiBhbmltYXRpb24gbG9vcFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeClcblx0XHR9XG5cdH1lbHNlIGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpLmludmVydCgpXG5cdH1lbHNlIHtcblx0XHRjb25zb2xlLmFzc2VydChmYWxzZSlcblx0fVxuXG5cdC8vIGRlY29tcG9zZSAtIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0bWFya2VyT2JqZWN0M0QubWF0cml4LmRlY29tcG9zZShtYXJrZXJPYmplY3QzRC5wb3NpdGlvbiwgbWFya2VyT2JqZWN0M0QucXVhdGVybmlvbiwgbWFya2VyT2JqZWN0M0Quc2NhbGUpXG5cblx0Ly8gZGlzcGF0Y2hFdmVudFxuXHR0aGlzLmRpc3BhdGNoRXZlbnQoIHsgdHlwZTogJ21hcmtlckZvdW5kJyB9ICk7XG5cblx0cmV0dXJuIHJlbmRlclJlcWQ7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXRpbGl0eSBmdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHByb3ZpZGUgYSBuYW1lIGZvciBhIG1hcmtlclxuICogLSBzaWxseSBoZXVyaXN0aWMgZm9yIG5vd1xuICogLSBzaG91bGQgYmUgaW1wcm92ZWRcbiAqL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbigpe1xuXHR2YXIgbmFtZSA9ICcnXG5cdG5hbWUgKz0gdGhpcy5wYXJhbWV0ZXJzLnR5cGU7XG5cdGlmKCB0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdFx0dmFyIHVybCA9IHRoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsXG5cdFx0dmFyIGJhc2VuYW1lID0gdXJsLnJlcGxhY2UoL14uKlxcLy9nLCAnJylcblx0XHRuYW1lICs9ICcgLSAnICsgYmFzZW5hbWVcblx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScgKXtcblx0XHRuYW1lICs9ICcgLSAnICsgdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHR9ZWxzZXtcblx0XHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ25vIC5uYW1lKCkgaW1wbGVtZW50ZWQgZm9yIHRoaXMgbWFya2VyIGNvbnRyb2xzJylcblx0fVxuXHRyZXR1cm4gbmFtZVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGluaXQgZm9yIEFydG9vbGtpdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuX2luaXRBcnRvb2xraXQgPSBmdW5jdGlvbigpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cblx0dmFyIGFydG9vbGtpdE1hcmtlcklkID0gbnVsbFxuXG5cdHZhciBkZWxheWVkSW5pdFRpbWVySWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpe1xuXHRcdC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG5cdFx0dmFyIGFyQ29udHJvbGxlciA9IF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyXG5cdFx0aWYoIGFyQ29udHJvbGxlciA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHQvLyBzdG9wIGxvb3BpbmcgaWYgaXQgaXMgaW5pdFxuXHRcdGNsZWFySW50ZXJ2YWwoZGVsYXllZEluaXRUaW1lcklkKVxuXHRcdGRlbGF5ZWRJbml0VGltZXJJZCA9IG51bGxcblx0XHQvLyBsYXVuY2ggdGhlIF9wb3N0SW5pdEFydG9vbGtpdFxuXHRcdHBvc3RJbml0KClcblx0fSwgMTAwMC81MClcblxuXHRyZXR1cm5cblxuXHRmdW5jdGlvbiBwb3N0SW5pdCgpe1xuXHRcdC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG5cdFx0dmFyIGFyQ29udHJvbGxlciA9IF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyXG5cdFx0Y29uc29sZS5hc3NlcnQoYXJDb250cm9sbGVyICE9PSBudWxsIClcblxuXHRcdC8vIHN0YXJ0IHRyYWNraW5nIHRoaXMgcGF0dGVyblxuXHRcdGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHQgICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmxvYWRNYXJrZXIoX3RoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsKS50aGVuKGZ1bmN0aW9uKG1hcmtlcklkKSB7XG5cdFx0XHRcdGFydG9vbGtpdE1hcmtlcklkID0gbWFya2VySWRcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLnRyYWNrUGF0dGVybk1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuXHQgICAgICAgICAgICAgICAgfSk7XG5cdFx0fWVsc2UgaWYoIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IF90aGlzLnBhcmFtZXRlcnMuYmFyY29kZVZhbHVlXG5cdFx0XHRhckNvbnRyb2xsZXIudHJhY2tCYXJjb2RlTWFya2VySWQoYXJ0b29sa2l0TWFya2VySWQsIF90aGlzLnBhcmFtZXRlcnMuc2l6ZSk7XG5cdFx0fWVsc2UgaWYoIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nICl7XG5cdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblx0XHR9ZWxzZXtcblx0XHRcdGNvbnNvbGUubG9nKGZhbHNlLCAnaW52YWxpZCBtYXJrZXIgdHlwZScsIF90aGlzLnBhcmFtZXRlcnMudHlwZSlcblx0XHR9XG5cblx0XHQvLyBsaXN0ZW4gdG8gdGhlIGV2ZW50XG5cdFx0YXJDb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIG9uR2V0TWFya2VyKVxuXG5cdH1cblxuXHRmdW5jdGlvbiBvbk1hcmtlckZvdW5kKGV2ZW50KXtcblx0XHQvLyBob25vciBoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlXG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmUGF0dCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSApXHRyZXR1cm5cblx0XHRpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgZXZlbnQuZGF0YS5tYXJrZXIuY2ZNYXRyaXggPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgKVx0cmV0dXJuXG5cblx0XHR2YXIgbW9kZWxWaWV3TWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkoZXZlbnQuZGF0YS5tYXRyaXgpXG5cdFx0X3RoaXMudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeChtb2RlbFZpZXdNYXRyaXgpXG5cdH1cblxuXHRmdW5jdGlvbiBvbkdldE1hcmtlcihldmVudCl7XG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdFx0XHRpZiggYXJ0b29sa2l0TWFya2VySWQgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0XHRpZiggZXZlbnQuZGF0YS5tYXJrZXIuaWRQYXR0ID09PSBhcnRvb2xraXRNYXJrZXJJZCApIG9uTWFya2VyRm91bmQoZXZlbnQpXG5cdFx0fWVsc2UgaWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQkFSQ09ERV9NQVJLRVIgaWRNYXRyaXgnLCBldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCwgYXJ0b29sa2l0TWFya2VySWQgKVxuXHRcdFx0aWYoIGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsIClcdHJldHVyblxuXHRcdFx0aWYoIGV2ZW50LmRhdGEubWFya2VyLmlkTWF0cml4ID09PSBhcnRvb2xraXRNYXJrZXJJZCApICBvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1lbHNlIGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5VTktOT1dOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJyl7XG5cdFx0XHRvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1cblx0fVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlckNvbnRyb2xzO1xuIiwiaW1wb3J0IFV0aWxzIGZyb20gJy4uL25ldy1hcGkvYXJqcy11dGlscyc7XG5pbXBvcnQgQXJUb29sa2l0Q29udGV4dCBmcm9tICcuL2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuLyoqXG4gKiBBclRvb2xraXRQcm9maWxlIGhlbHBzIHlvdSBidWlsZCBwYXJhbWV0ZXJzIGZvciBhcnRvb2xraXRcbiAqIC0gaXQgaXMgZnVsbHkgaW5kZXBlbmRlbnQgb2YgdGhlIHJlc3Qgb2YgdGhlIGNvZGVcbiAqIC0gYWxsIHRoZSBvdGhlciBjbGFzc2VzIGFyZSBzdGlsbCBleHBlY3Rpbmcgbm9ybWFsIHBhcmFtZXRlcnNcbiAqIC0geW91IGNhbiB1c2UgdGhpcyBjbGFzcyB0byB1bmRlcnN0YW5kIGhvdyB0byB0dW5lIHlvdXIgc3BlY2lmaWMgdXNlY2FzZVxuICogLSBpdCBpcyBtYWRlIHRvIGhlbHAgcGVvcGxlIHRvIGJ1aWxkIHBhcmFtZXRlcnMgd2l0aG91dCB1bmRlcnN0YW5kaW5nIGFsbCB0aGUgdW5kZXJseWluZyBkZXRhaWxzLlxuICovXG5jb25zdCBQcm9maWxlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVzZXQoKVxuXG4gICAgdGhpcy5wZXJmb3JtYW5jZSgnZGVmYXVsdCcpXG59XG5cblByb2ZpbGUucHJvdG90eXBlLl9ndWVzc1BlcmZvcm1hbmNlTGFiZWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGlzTW9iaWxlID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC93ZWJPUy9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmUvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBhZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUG9kL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0JsYWNrQmVycnkvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2luZG93cyBQaG9uZS9pKVxuICAgICAgICA/IHRydWUgOiBmYWxzZVxuICAgIGlmIChpc01vYmlsZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gJ3Bob25lLW5vcm1hbCdcbiAgICB9XG4gICAgcmV0dXJuICdkZXNrdG9wLW5vcm1hbCdcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogcmVzZXQgYWxsIHBhcmFtZXRlcnNcbiAqL1xuUHJvZmlsZS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyB0byByZWFkIGZyb20gdGhlIHdlYmNhbVxuICAgICAgICBzb3VyY2VUeXBlOiAnd2ViY2FtJyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzID0ge1xuICAgICAgICBjYW1lcmFQYXJhbWV0ZXJzVXJsOiBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnLi4vZGF0YS9kYXRhL2NhbWVyYV9wYXJhLmRhdCcsIC8vIFRPRE8gZGVwZW5kZW50IG9mIGJ1aWxkP1xuICAgICAgICBkZXRlY3Rpb25Nb2RlOiAnbW9ubycsXG4gICAgfVxuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgcGF0dGVyblVybDogQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9wYXR0Lmhpcm8nLCAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICAgICAgY2hhbmdlTWF0cml4TW9kZTogJ21vZGVsVmlld01hdHJpeCcsXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFBlcmZvcm1hbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cblByb2ZpbGUucHJvdG90eXBlLnBlcmZvcm1hbmNlID0gZnVuY3Rpb24gKGxhYmVsKSB7XG5cbiAgICBpZiAobGFiZWwgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICBsYWJlbCA9IHRoaXMuX2d1ZXNzUGVyZm9ybWFuY2VMYWJlbCgpXG4gICAgfVxuXG4gICAgaWYgKGxhYmVsID09PSAnZGVza3RvcC1mYXN0Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gNjQwICogM1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDQ4MCAqIDNcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdkZXNrdG9wLW5vcm1hbCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDY0MFxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDQ4MFxuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDYwXG4gICAgfSBlbHNlIGlmIChsYWJlbCA9PT0gJ3Bob25lLW5vcm1hbCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDgwICogNFxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDYwICogNFxuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDMwXG4gICAgfSBlbHNlIGlmIChsYWJlbCA9PT0gJ3Bob25lLXNsb3cnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA4MCAqIDNcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA2MCAqIDNcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5rbm9ud24gbGFiZWwgJyArIGxhYmVsKVxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdE1hcmtlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuUHJvZmlsZS5wcm90b3R5cGUuZGVmYXVsdE1hcmtlciA9IGZ1bmN0aW9uICh0cmFja2luZ0JhY2tlbmQpIHtcbiAgICB0cmFja2luZ0JhY2tlbmQgPSB0cmFja2luZ0JhY2tlbmQgfHwgdGhpcy5jb250ZXh0UGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSA9ICdtb25vJ1xuICAgICAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcbiAgICAgICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9wYXR0Lmhpcm8nIC8vIFRPRE8gZGVwZW5kZW50IG9mIGJ1aWxkP1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuICAgIHJldHVybiB0aGlzXG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VXZWJjYW0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPSAnd2ViY2FtJ1xuICAgIGRlbGV0ZSB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlVmlkZW8gPSBmdW5jdGlvbiAodXJsKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPSAndmlkZW8nXG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybCA9IHVybFxuICAgIHJldHVybiB0aGlzXG59XG5cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZUltYWdlID0gZnVuY3Rpb24gKHVybCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ2ltYWdlJ1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmwgPSB1cmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHRyYWNraW5nQmFja2VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS50cmFja2luZ0JhY2tlbmQgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS53YXJuKCdzdG9wIHByb2ZpbGUudHJhY2tpbmdCYWNrZW5kKCkgb2Jzb2xldGUgZnVuY3Rpb24uIHVzZSAudHJhY2tpbmdNZXRob2QgaW5zdGVhZCcpXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPSB0cmFja2luZ0JhY2tlbmRcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHRyYWNraW5nQmFja2VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS5jaGFuZ2VNYXRyaXhNb2RlID0gZnVuY3Rpb24gKGNoYW5nZU1hdHJpeE1vZGUpIHtcbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPSBjaGFuZ2VNYXRyaXhNb2RlXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUudHJhY2tpbmdNZXRob2QgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcbiAgICB2YXIgZGF0YSA9IFV0aWxzLnBhcnNlVHJhY2tpbmdNZXRob2QodHJhY2tpbmdNZXRob2QpXG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSBkYXRhLm1hcmtlcnNBcmVhRW5hYmxlZFxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID0gZGF0YS50cmFja2luZ0JhY2tlbmRcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIGNoZWNrIGlmIHRoZSBwcm9maWxlIGlzIHZhbGlkLiBUaHJvdyBhbiBleGNlcHRpb24gaXMgbm90IHZhbGlkXG4gKi9cblByb2ZpbGUucHJvdG90eXBlLmNoZWNrSWZWYWxpZCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpc1xufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9maWxlO1xuIiwiY29uc3QgU291cmNlID0gZnVuY3Rpb24gKHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICB0aGlzLnJlYWR5ID0gZmFsc2VcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyB0eXBlIG9mIHNvdXJjZSAtIFsnd2ViY2FtJywgJ2ltYWdlJywgJ3ZpZGVvJ11cbiAgICAgICAgc291cmNlVHlwZTogJ3dlYmNhbScsXG4gICAgICAgIC8vIHVybCBvZiB0aGUgc291cmNlIC0gdmFsaWQgaWYgc291cmNlVHlwZSA9IGltYWdlfHZpZGVvXG4gICAgICAgIHNvdXJjZVVybDogbnVsbCxcblxuICAgICAgICAvLyBEZXZpY2UgaWQgb2YgdGhlIGNhbWVyYSB0byB1c2UgKG9wdGlvbmFsKVxuICAgICAgICBkZXZpY2VJZDogbnVsbCxcblxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGluaXRpYWxpemUgaW4gdGhlIHNvdXJjZSBpbWFnZVxuICAgICAgICBzb3VyY2VXaWR0aDogNjQwLFxuICAgICAgICBzb3VyY2VIZWlnaHQ6IDQ4MCxcbiAgICAgICAgLy8gcmVzb2x1dGlvbiBkaXNwbGF5ZWQgZm9yIHRoZSBzb3VyY2VcbiAgICAgICAgZGlzcGxheVdpZHRoOiA2NDAsXG4gICAgICAgIGRpc3BsYXlIZWlnaHQ6IDQ4MCxcbiAgICB9XG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0c2V0UGFyYW1ldGVyc1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcbiAgICBmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgaWYgKHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBclRvb2xraXRTb3VyY2U6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJUb29sa2l0U291cmNlOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vbkluaXRpYWxDbGljayA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiggdGhpcy5kb21FbGVtZW50ICYmIHRoaXMuZG9tRWxlbWVudC5wbGF5ICkge1xuICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LnBsYXkoKS50aGVuKCAoKSA9PiB7fSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuU291cmNlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uUmVhZHksIG9uRXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlSW1hZ2Uob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAndmlkZW8nKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVZpZGVvKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ3dlYmNhbScpIHtcbiAgICAgICAgLy8gdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlV2ViY2FtT2xkKG9uU291cmNlUmVhZHkpXG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVdlYmNhbShvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGF0dGFjaFxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnRcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRvcCA9ICcwcHgnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmxlZnQgPSAnMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS56SW5kZXggPSAnLTInXG4gICAgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCAnYXJqcy12aWRlbycpO1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgICBmdW5jdGlvbiBvblNvdXJjZVJlYWR5KCkge1xuICAgICAgICBpZiggIV90aGlzLmRvbUVsZW1lbnQgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKF90aGlzLmRvbUVsZW1lbnQpO1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2FyanMtdmlkZW8tbG9hZGVkJywge1xuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIF90aGlzLnJlYWR5ID0gdHJ1ZVxuXG4gICAgICAgIG9uUmVhZHkgJiYgb25SZWFkeSgpXG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCBpbWFnZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuU291cmNlLnByb3RvdHlwZS5faW5pdFNvdXJjZUltYWdlID0gZnVuY3Rpb24gKG9uUmVhZHkpIHtcbiAgICAvLyBUT0RPIG1ha2UgaXQgc3RhdGljXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICBkb21FbGVtZW50LnNyYyA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VVcmw7XG5cbiAgICBkb21FbGVtZW50LndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVdpZHRoO1xuICAgIGRvbUVsZW1lbnQuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZUhlaWdodDtcbiAgICBkb21FbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCArICdweCc7XG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCc7XG5cbiAgICBkb21FbGVtZW50Lm9ubG9hZCA9IG9uUmVhZHk7XG4gICAgcmV0dXJuIGRvbUVsZW1lbnRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgdmlkZW8gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VWaWRlbyA9IGZ1bmN0aW9uIChvblJlYWR5KSB7XG4gICAgLy8gVE9ETyBtYWtlIGl0IHN0YXRpY1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICBkb21FbGVtZW50LnNyYyA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VVcmw7XG5cbiAgICBkb21FbGVtZW50LnN0eWxlLm9iamVjdEZpdCA9ICdpbml0aWFsJztcblxuICAgIGRvbUVsZW1lbnQuYXV0b3BsYXkgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQud2Via2l0UGxheXNpbmxpbmUgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQuY29udHJvbHMgPSBmYWxzZTtcbiAgICBkb21FbGVtZW50Lmxvb3AgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQubXV0ZWQgPSB0cnVlO1xuXG4gICAgLy8gc3RhcnQgdGhlIHZpZGVvIG9uIGZpcnN0IGNsaWNrIGlmIG5vdCBzdGFydGVkIGF1dG9tYXRpY2FsbHlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkluaXRpYWxDbGljaywge29uY2U6dHJ1ZX0pO1xuXG4gICAgZG9tRWxlbWVudC53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aDtcbiAgICBkb21FbGVtZW50LmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQ7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnO1xuXG4gICAgZG9tRWxlbWVudC5vbmxvYWRlZGRhdGEgPSBvblJlYWR5O1xuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IHdlYmNhbSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VXZWJjYW0gPSBmdW5jdGlvbiAob25SZWFkeSwgb25FcnJvcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIGluaXQgZGVmYXVsdCB2YWx1ZVxuICAgIG9uRXJyb3IgPSBvbkVycm9yIHx8IGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2NhbWVyYS1lcnJvcicsIHsgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1wb3B1cCcpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdXZWJjYW0gRXJyb3JcXG5OYW1lOiAnICsgZXJyb3IubmFtZSArICdcXG5NZXNzYWdlOiAnICsgZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgIGVycm9yUG9wdXAuc2V0QXR0cmlidXRlKCdpZCcsICdlcnJvci1wb3B1cCcpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ211dGVkJywgJycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGF5c2lubGluZScsICcnKTtcbiAgICBkb21FbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCArICdweCdcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4J1xuXG4gICAgLy8gY2hlY2sgQVBJIGlzIGF2YWlsYWJsZVxuICAgIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzID09PSB1bmRlZmluZWRcbiAgICAgICAgfHwgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSB1bmRlZmluZWRcbiAgICAgICAgfHwgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyA9PT0gdW5kZWZpbmVkKSB2YXIgZmN0TmFtZSA9ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzJ1xuICAgICAgICBlbHNlIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzJ1xuICAgICAgICBlbHNlIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSA9PT0gdW5kZWZpbmVkKSB2YXIgZmN0TmFtZSA9ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSdcbiAgICAgICAgZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdXZWJSVEMgaXNzdWUtISAnICsgZmN0TmFtZSArICcgbm90IHByZXNlbnQgaW4geW91ciBicm93c2VyJ1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICAvLyBnZXQgYXZhaWxhYmxlIGRldmljZXNcbiAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKS50aGVuKGZ1bmN0aW9uIChkZXZpY2VzKSB7XG4gICAgICAgIHZhciB1c2VyTWVkaWFDb25zdHJhaW50cyA9IHtcbiAgICAgICAgICAgIGF1ZGlvOiBmYWxzZSxcbiAgICAgICAgICAgIHZpZGVvOiB7XG4gICAgICAgICAgICAgICAgZmFjaW5nTW9kZTogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgICAgICAgICBpZGVhbDogX3RoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWluOiAxMDI0LFxuICAgICAgICAgICAgICAgICAgICAvLyBtYXg6IDE5MjBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgICAgICAgICBpZGVhbDogX3RoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbjogNzc2LFxuICAgICAgICAgICAgICAgICAgICAvLyBtYXg6IDEwODBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG51bGwgIT09IF90aGlzLnBhcmFtZXRlcnMuZGV2aWNlSWQpIHtcbiAgICAgICAgICAgIHVzZXJNZWRpYUNvbnN0cmFpbnRzLnZpZGVvLmRldmljZUlkID0ge1xuICAgICAgICAgICAgICAgIGV4YWN0OiBfdGhpcy5wYXJhbWV0ZXJzLmRldmljZUlkXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZ2V0IGEgZGV2aWNlIHdoaWNoIHNhdGlzZnkgdGhlIGNvbnN0cmFpbnRzXG4gICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHVzZXJNZWRpYUNvbnN0cmFpbnRzKS50aGVuKGZ1bmN0aW9uIHN1Y2Nlc3Moc3RyZWFtKSB7XG4gICAgICAgICAgICAvLyBzZXQgdGhlIC5zcmMgb2YgdGhlIGRvbUVsZW1lbnRcbiAgICAgICAgICAgIGRvbUVsZW1lbnQuc3JjT2JqZWN0ID0gc3RyZWFtO1xuXG4gICAgICAgICAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2NhbWVyYS1pbml0JywgeyBzdHJlYW06IHN0cmVhbSB9KTtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcblxuICAgICAgICAgICAgLy8gc3RhcnQgdGhlIHZpZGVvIG9uIGZpcnN0IGNsaWNrIGlmIG5vdCBzdGFydGVkIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBfdGhpcy5vbkluaXRpYWxDbGljaywge29uY2U6dHJ1ZX0pOyAgICAgICAgICAgIFxuXG4gICAgICAgICAgICBvblJlYWR5KCk7XG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBkaXNwb3NlIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVhZHkgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUpIHtcbiAgICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZUltYWdlKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICd2aWRlbyc6XG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlU291cmNlVmlkZW8oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3dlYmNhbSc6XG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlU291cmNlV2ViY2FtKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBudWxsO1xuXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTsgICAgICAgICAgICBcbn1cdFxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSBpbWFnZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2Rpc3Bvc2VTb3VyY2VJbWFnZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG5cbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSB2aWRlbyBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2Rpc3Bvc2VTb3VyY2VWaWRlbyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG4gICAgXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvbWVkaWEuaHRtbCNiZXN0LXByYWN0aWNlcy1mb3ItYXV0aG9ycy11c2luZy1tZWRpYS1lbGVtZW50c1xuICAgIGRvbUVsZW1lbnQucGF1c2UoKTtcbiAgICBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnc3JjJyk7IFxuICAgIGRvbUVsZW1lbnQubG9hZCgpOyBcblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7ICAgIFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSB3ZWJjYW0gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlV2ViY2FtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKTtcblxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjQzNjc3MlxuICAgIGlmKCBkb21FbGVtZW50LnNyY09iamVjdCAmJiBkb21FbGVtZW50LnNyY09iamVjdC5nZXRUcmFja3MgKSB7XG4gICAgICAgIGRvbUVsZW1lbnQuc3JjT2JqZWN0LmdldFRyYWNrcygpLm1hcCgodHJhY2spID0+IHRyYWNrLnN0b3AoKSk7ICAgIFxuICAgIH1cdFxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTtcdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEhhbmRsZSBNb2JpbGUgVG9yY2hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuU291cmNlLnByb3RvdHlwZS5oYXNNb2JpbGVUb3JjaCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RyZWFtID0gYXJUb29sa2l0U291cmNlLmRvbUVsZW1lbnQuc3JjT2JqZWN0XG4gICAgaWYgKHN0cmVhbSBpbnN0YW5jZW9mIE1lZGlhU3RyZWFtID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAodGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID0gZmFsc2VcbiAgICB9XG5cbiAgICB2YXIgdmlkZW9UcmFjayA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdO1xuXG4gICAgLy8gaWYgdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKSBkb2VzbnQgZXhpc3QsIHJldHVybiBmYWxzZSBub3dcbiAgICBpZiAodmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlXG5cbiAgICB2YXIgY2FwYWJpbGl0aWVzID0gdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKVxuXG4gICAgcmV0dXJuIGNhcGFiaWxpdGllcy50b3JjaCA/IHRydWUgOiBmYWxzZVxufVxuXG4vKipcbiAqIHRvZ2dsZSB0aGUgZmxhc2gvdG9yY2ggb2YgdGhlIG1vYmlsZSBmdW4gaWYgYXBwbGljYWJsZS5cbiAqIEdyZWF0IHBvc3QgYWJvdXQgaXQgaHR0cHM6Ly93d3cub2JlcmhvZmVyLmNvL21lZGlhc3RyZWFtdHJhY2stYW5kLWl0cy1jYXBhYmlsaXRpZXMvXG4gKi9cblNvdXJjZS5wcm90b3R5cGUudG9nZ2xlTW9iaWxlVG9yY2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gc2FuaXR5IGNoZWNrXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5oYXNNb2JpbGVUb3JjaCgpID09PSB0cnVlKVxuXG4gICAgdmFyIHN0cmVhbSA9IGFyVG9vbGtpdFNvdXJjZS5kb21FbGVtZW50LnNyY09iamVjdFxuICAgIGlmIChzdHJlYW0gaW5zdGFuY2VvZiBNZWRpYVN0cmVhbSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGVycm9yUG9wdXAuaW5uZXJIVE1MID0gJ2VuYWJsaW5nIG1vYmlsZSB0b3JjaCBpcyBhdmFpbGFibGUgb25seSBvbiB3ZWJjYW0nXG4gICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IGZhbHNlXG4gICAgfVxuXG4gICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTtcbiAgICB2YXIgY2FwYWJpbGl0aWVzID0gdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKVxuXG4gICAgaWYgKCFjYXBhYmlsaXRpZXMudG9yY2gpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGVycm9yUG9wdXAuaW5uZXJIVE1MID0gJ25vIG1vYmlsZSB0b3JjaCBpcyBhdmFpbGFibGUgb24geW91ciBjYW1lcmEnXG4gICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID0gdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZVxuICAgIHZpZGVvVHJhY2suYXBwbHlDb25zdHJhaW50cyh7XG4gICAgICAgIGFkdmFuY2VkOiBbe1xuICAgICAgICAgICAgdG9yY2g6IHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1c1xuICAgICAgICB9XVxuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICB9KTtcbn1cblxuU291cmNlLnByb3RvdHlwZS5kb21FbGVtZW50V2lkdGggPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aClcbn1cblNvdXJjZS5wcm90b3R5cGUuZG9tRWxlbWVudEhlaWdodCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGhhbmRsZSByZXNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUub25SZXNpemVFbGVtZW50ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICB2YXIgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aFxuICAgIHZhciBzY3JlZW5IZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHRcblxuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG5cbiAgICAvLyBjb21wdXRlIHNvdXJjZVdpZHRoLCBzb3VyY2VIZWlnaHRcbiAgICBpZiAodGhpcy5kb21FbGVtZW50Lm5vZGVOYW1lID09PSBcIklNR1wiKSB7XG4gICAgICAgIHZhciBzb3VyY2VXaWR0aCA9IHRoaXMuZG9tRWxlbWVudC5uYXR1cmFsV2lkdGhcbiAgICAgICAgdmFyIHNvdXJjZUhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5uYXR1cmFsSGVpZ2h0XG4gICAgfSBlbHNlIGlmICh0aGlzLmRvbUVsZW1lbnQubm9kZU5hbWUgPT09IFwiVklERU9cIikge1xuICAgICAgICB2YXIgc291cmNlV2lkdGggPSB0aGlzLmRvbUVsZW1lbnQudmlkZW9XaWR0aFxuICAgICAgICB2YXIgc291cmNlSGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnZpZGVvSGVpZ2h0XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gY29tcHV0ZSBzb3VyY2VBc3BlY3RcbiAgICB2YXIgc291cmNlQXNwZWN0ID0gc291cmNlV2lkdGggLyBzb3VyY2VIZWlnaHRcbiAgICAvLyBjb21wdXRlIHNjcmVlbkFzcGVjdFxuICAgIHZhciBzY3JlZW5Bc3BlY3QgPSBzY3JlZW5XaWR0aCAvIHNjcmVlbkhlaWdodFxuXG4gICAgLy8gaWYgc2NyZWVuQXNwZWN0IDwgc291cmNlQXNwZWN0LCB0aGVuIGNoYW5nZSB0aGUgd2lkdGgsIGVsc2UgY2hhbmdlIHRoZSBoZWlnaHRcbiAgICBpZiAoc2NyZWVuQXNwZWN0IDwgc291cmNlQXNwZWN0KSB7XG4gICAgICAgIC8vIGNvbXB1dGUgbmV3V2lkdGggYW5kIHNldCAud2lkdGgvLm1hcmdpbkxlZnRcbiAgICAgICAgdmFyIG5ld1dpZHRoID0gc291cmNlQXNwZWN0ICogc2NyZWVuSGVpZ2h0XG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IG5ld1dpZHRoICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IC0obmV3V2lkdGggLSBzY3JlZW5XaWR0aCkgLyAyICsgJ3B4J1xuXG4gICAgICAgIC8vIGluaXQgc3R5bGUuaGVpZ2h0Ly5tYXJnaW5Ub3AgdG8gbm9ybWFsIHZhbHVlXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzY3JlZW5IZWlnaHQgKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSAnMHB4J1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbXB1dGUgbmV3SGVpZ2h0IGFuZCBzZXQgLmhlaWdodC8ubWFyZ2luVG9wXG4gICAgICAgIHZhciBuZXdIZWlnaHQgPSAxIC8gKHNvdXJjZUFzcGVjdCAvIHNjcmVlbldpZHRoKVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gbmV3SGVpZ2h0ICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gLShuZXdIZWlnaHQgLSBzY3JlZW5IZWlnaHQpIC8gMiArICdweCdcblxuICAgICAgICAvLyBpbml0IHN0eWxlLndpZHRoLy5tYXJnaW5MZWZ0IHRvIG5vcm1hbCB2YWx1ZVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSBzY3JlZW5XaWR0aCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMHB4J1xuICAgIH1cbn1cbi8qXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlFbGVtZW50U2l6ZVRvID0gZnVuY3Rpb24ob3RoZXJFbGVtZW50KXtcblx0b3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoXG5cdG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG5cdG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnRcblx0b3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3Bcbn1cbiovXG5cblNvdXJjZS5wcm90b3R5cGUuY29weUVsZW1lbnRTaXplVG8gPSBmdW5jdGlvbiAob3RoZXJFbGVtZW50KSB7XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICAgICAgLy9sYW5kc2NhcGVcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoXG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3BcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vcG9ydHJhaXRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gKHBhcnNlSW50KG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQpICogNCAvIDMpICsgXCJweFwiO1xuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICgod2luZG93LmlubmVyV2lkdGggLSBwYXJzZUludChvdGhlckVsZW1lbnQuc3R5bGUud2lkdGgpKSAvIDIpICsgXCJweFwiO1xuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gMDtcbiAgICB9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuY29weVNpemVUbyA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLndhcm4oJ29ic29sZXRlIGZ1bmN0aW9uIGFyVG9vbGtpdFNvdXJjZS5jb3B5U2l6ZVRvLiBVc2UgYXJUb29sa2l0U291cmNlLmNvcHlFbGVtZW50U2l6ZVRvJylcbiAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbiAoYXJUb29sa2l0Q29udGV4dCwgcmVuZGVyZXIsIGNhbWVyYSkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgIGNvbnNvbGUud2Fybignb2Jzb2xldGUgZnVuY3Rpb24gYXJUb29sa2l0U291cmNlLm9uUmVzaXplLiBVc2UgYXJUb29sa2l0U291cmNlLm9uUmVzaXplRWxlbWVudCcpXG4gICAgICAgIHJldHVybiB0aGlzLm9uUmVzaXplRWxlbWVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG4gICAgfVxuXG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyVG9vbGtpdENvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuXG4gICAgLy8gUkVTSVpFIERPTUVMRU1FTlRcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuXG4gICAgICAgIHRoaXMub25SZXNpemVFbGVtZW50KClcblxuICAgICAgICB2YXIgaXNBZnJhbWUgPSByZW5kZXJlci5kb21FbGVtZW50LmRhdGFzZXQuYWZyYW1lQ2FudmFzID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgIGlmIChpc0FmcmFtZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29weUVsZW1lbnRTaXplVG8ocmVuZGVyZXIuZG9tRWxlbWVudClcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFyVG9vbGtpdENvbnRleHQuYXJDb250cm9sbGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvKGFyVG9vbGtpdENvbnRleHQuYXJDb250cm9sbGVyLmNhbnZhcylcbiAgICAgICAgfVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3VuaGFuZGxlZCB0cmFja2luZ0JhY2tlbmQgJyArIHRyYWNraW5nQmFja2VuZClcblxuXG4gICAgLy8gVVBEQVRFIENBTUVSQVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIGlmIChhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2FtZXJhLnByb2plY3Rpb25NYXRyaXguY29weShhclRvb2xraXRDb250ZXh0LmdldFByb2plY3Rpb25NYXRyaXgoKSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmhhbmRsZWQgdHJhY2tpbmdCYWNrZW5kICcgKyB0cmFja2luZ0JhY2tlbmQpXG59XG5cbmV4cG9ydCBkZWZhdWx0IFNvdXJjZTsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEFyQmFzZUNvbnRyb2xzID0gZnVuY3Rpb24ob2JqZWN0M2QpIHtcblx0dGhpcy5pZCA9IEFyQmFzZUNvbnRyb2xzLmlkKytcblxuXHR0aGlzLm9iamVjdDNkID0gb2JqZWN0M2Rcblx0dGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cblx0Ly8gRXZlbnRzIHRvIGhvbm9yXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVWaXNpYmxlJyB9KVxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnbWFya2VyVmlzaWJsZScgfSlcdC8vIHJlcGxhY2UgbWFya2VyRm91bmRcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ2JlY2FtZVVuVmlzaWJsZScgfSlcbn1cblxuQXJCYXNlQ29udHJvbHMuaWQgPSAwXG5cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0RnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZXJyb3IgY2F0Y2hpbmcgZnVuY3Rpb24gZm9yIHVwZGF0ZSgpXG4gKi9cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbigpe1xuXHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ3lvdSBuZWVkIHRvIGltcGxlbWVudCB5b3VyIG93biB1cGRhdGUnKVxufVxuXG4vKipcbiAqIGVycm9yIGNhdGNoaW5nIGZ1bmN0aW9uIGZvciBuYW1lKClcbiAqL1xuQXJCYXNlQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbigpe1xuXHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ3lvdSBuZWVkIHRvIGltcGxlbWVudCB5b3VyIG93biAubmFtZSgpJylcblx0cmV0dXJuICdOb3QgeWV0IGltcGxlbWVudGVkIC0gbmFtZSgpJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBBckJhc2VDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgQXJNYXJrZXJIZWxwZXIgPSBmdW5jdGlvbihtYXJrZXJDb250cm9scyl7XG5cdHRoaXMub2JqZWN0M2QgPSBuZXcgVEhSRUUuR3JvdXBcblxuXHR2YXIgbWVzaCA9IG5ldyBUSFJFRS5BeGVzSGVscGVyKClcblx0dGhpcy5vYmplY3QzZC5hZGQobWVzaClcblxuXHR2YXIgdGV4dCA9IG1hcmtlckNvbnRyb2xzLmlkXG5cdC8vIGRlYnVnZ2VyXG5cdC8vIHZhciB0ZXh0ID0gbWFya2VyQ29udHJvbHMucGFyYW1ldGVycy5wYXR0ZXJuVXJsLnNsaWNlKC0xKS50b1VwcGVyQ2FzZSgpO1xuXG5cdHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnY2FudmFzJyApO1xuXHRjYW52YXMud2lkdGggPSAgNjQ7XG5cdGNhbnZhcy5oZWlnaHQgPSA2NDtcblxuXHR2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCAnMmQnICk7XG5cdHZhciB0ZXh0dXJlID0gbmV3IFRIUkVFLkNhbnZhc1RleHR1cmUoIGNhbnZhcyApO1xuXG5cdC8vIHB1dCB0aGUgdGV4dCBpbiB0aGUgc3ByaXRlXG5cdGNvbnRleHQuZm9udCA9ICc0OHB4IG1vbm9zcGFjZSc7XG5cdGNvbnRleHQuZmlsbFN0eWxlID0gJ3JnYmEoMTkyLDE5MiwyNTUsIDAuNSknO1xuXHRjb250ZXh0LmZpbGxSZWN0KCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQgKTtcblx0Y29udGV4dC5maWxsU3R5bGUgPSAnZGFya2JsdWUnO1xuXHRjb250ZXh0LmZpbGxUZXh0KHRleHQsIGNhbnZhcy53aWR0aC80LCAzKmNhbnZhcy5oZWlnaHQvNCApXG5cdHRleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlXG5cblx0Ly8gdmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLkN1YmVHZW9tZXRyeSgxLCAxLCAxKVxuXHR2YXIgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuUGxhbmVHZW9tZXRyeSgxLCAxKVxuXHR2YXIgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoe1xuXHRcdG1hcDogdGV4dHVyZSxcblx0XHR0cmFuc3BhcmVudDogdHJ1ZVxuXHR9KTtcblx0dmFyIG1lc2ggPSBuZXcgVEhSRUUuTWVzaChnZW9tZXRyeSwgbWF0ZXJpYWwpXG5cdG1lc2gucm90YXRpb24ueCA9IC1NYXRoLlBJLzJcblxuXHR0aGlzLm9iamVjdDNkLmFkZChtZXNoKVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyTWFya2VySGVscGVyO1xuIiwiaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcblxuLyoqXG4gKiAtIGxlcnAgcG9zaXRpb24vcXVhdGVybmluby9zY2FsZVxuICogLSBtaW5EZWxheURldGVjdGVkXG4gKiAtIG1pbkRlbGF5VW5kZXRlY3RlZFxuICogQHBhcmFtIHtbdHlwZV19IG9iamVjdDNkICAgW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtIHtbdHlwZV19IHBhcmFtZXRlcnMgW2Rlc2NyaXB0aW9uXVxuICovXG5jb25zdCBBclNtb290aGVkQ29udHJvbHMgPSBmdW5jdGlvbihvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0XG5cdEFyQmFzZUNvbnRyb2xzLmNhbGwodGhpcywgb2JqZWN0M2QpXG5cdFxuXHQvLyBjb3B5IHBhcmFtZXRlcnNcblx0dGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2Vcblx0XG5cdHRoaXMuX2xhc3RMZXJwU3RlcEF0ID0gbnVsbFxuXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBudWxsXG5cblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0Ly8gbGVycCBjb2VmaWNpZW50IGZvciB0aGUgcG9zaXRpb24gLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFBvc2l0aW9uOiAwLjgsXG5cdFx0Ly8gbGVycCBjb2VmaWNpZW50IGZvciB0aGUgcXVhdGVybmlvbiAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwUXVhdGVybmlvbjogMC4yLFxuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHNjYWxlIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBTY2FsZTogMC43LFxuXHRcdC8vIGRlbGF5IGZvciBsZXJwIGZpeGVkIHN0ZXBzIC0gaW4gc2Vjb25kcyAtIGRlZmF1bHQgdG8gMS8xMjBcblx0XHRsZXJwU3RlcERlbGF5OiAxLzYwLFxuXHRcdC8vIG1pbmltdW0gZGVsYXkgdGhlIHN1Yi1jb250cm9sIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgdGhpcyBjb250cm9scyBiZWNvbWUgdmlzaWJsZSAtIGRlZmF1bHQgdG8gMCBzZWNvbmRzXG5cdFx0bWluVmlzaWJsZURlbGF5OiAwLjAsXG5cdFx0Ly8gbWluaW11bSBkZWxheSB0aGUgc3ViLWNvbnRyb2wgbXVzdCBiZSB1bnZpc2libGUgYmVmb3JlIHRoaXMgY29udHJvbHMgYmVjb21lIHVudmlzaWJsZSAtIGRlZmF1bHQgdG8gMCBzZWNvbmRzXG5cdFx0bWluVW52aXNpYmxlRGVsYXk6IDAuMixcblx0fVxuXHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJTbW9vdGhlZENvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyU21vb3RoZWRDb250cm9sczogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHRfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXSA9IG5ld1ZhbHVlXG5cdFx0fVxuXHR9XG59XG5cdFxuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSApO1xuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEFyU21vb3RoZWRDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5BclNtb290aGVkQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHRhcmdldE9iamVjdDNkKXtcblx0dmFyIG9iamVjdDNkID0gdGhpcy5vYmplY3QzZFxuXHR2YXIgcGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVyc1xuXHR2YXIgd2FzVmlzaWJsZSA9IG9iamVjdDNkLnZpc2libGVcblx0dmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKS8xMDAwXG5cblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aGFuZGxlIG9iamVjdDNkLnZpc2libGUgd2l0aCBtaW5WaXNpYmxlRGVsYXkvbWluVW52aXNpYmxlRGVsYXlcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBudWxsXG5cblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgJiYgdGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9PT0gbnVsbCApXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gcHJlc2VudFxuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgJiYgdGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID09PSBudWxsIClcdHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9IHByZXNlbnRcblxuXHRpZiggd2FzVmlzaWJsZSA9PT0gZmFsc2UgJiYgdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApe1xuXHRcdHZhciB2aXNpYmxlRm9yID0gcHJlc2VudCAtIHRoaXMuX3Zpc2libGVTdGFydGVkQXRcblx0XHRpZiggdmlzaWJsZUZvciA+PSB0aGlzLnBhcmFtZXRlcnMubWluVmlzaWJsZURlbGF5ICl7XG5cdFx0XHRvYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHRcdFx0c25hcERpcmVjdGx5VG9UYXJnZXQoKVxuXHRcdH1cblx0XHQvLyBjb25zb2xlLmxvZygndmlzaWJsZUZvcicsIHZpc2libGVGb3IpXG5cdH1cblxuXHRpZiggd2FzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApe1xuXHRcdHZhciB1bnZpc2libGVGb3IgPSBwcmVzZW50IC0gdGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0XG5cdFx0aWYoIHVudmlzaWJsZUZvciA+PSB0aGlzLnBhcmFtZXRlcnMubWluVW52aXNpYmxlRGVsYXkgKXtcblx0XHRcdG9iamVjdDNkLnZpc2libGUgPSBmYWxzZVx0XHRcdFxuXHRcdH1cblx0fVxuXHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGFwcGx5IGxlcnAgb24gcG9zaXRvbi9xdWF0ZXJuaW9uL3NjYWxlXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cdC8vIGFwcGx5IGxlcnAgc3RlcHMgLSByZXF1aXJlIGZpeCB0aW1lIHN0ZXBzIHRvIGJlaGF2ZSB0aGUgc2FtZSBubyBtYXR0ZXIgdGhlIGZwc1xuXHRpZiggdGhpcy5fbGFzdExlcnBTdGVwQXQgPT09IG51bGwgKXtcblx0XHRhcHBseU9uZVNsZXJwU3RlcCgpXG5cdFx0dGhpcy5fbGFzdExlcnBTdGVwQXQgPSBwcmVzZW50XG5cdH1lbHNle1xuXHRcdHZhciBuU3RlcHNUb0RvID0gTWF0aC5mbG9vciggKHByZXNlbnQgLSB0aGlzLl9sYXN0TGVycFN0ZXBBdCkvdGhpcy5wYXJhbWV0ZXJzLmxlcnBTdGVwRGVsYXkgKVxuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCBuU3RlcHNUb0RvOyBpKyspe1xuXHRcdFx0YXBwbHlPbmVTbGVycFN0ZXAoKVxuXHRcdFx0dGhpcy5fbGFzdExlcnBTdGVwQXQgKz0gdGhpcy5wYXJhbWV0ZXJzLmxlcnBTdGVwRGVsYXlcblx0XHR9XG5cdH1cblxuXHQvLyBkaXNhYmxlIHRoZSBsZXJwIGJ5IGRpcmVjdGx5IGNvcHlpbmcgdGFyZ2V0T2JqZWN0M2QgcG9zaXRpb24vcXVhdGVybmlvbi9zY2FsZVxuXHRpZiggZmFsc2UgKXtcdFx0XG5cdFx0c25hcERpcmVjdGx5VG9UYXJnZXQoKVxuXHR9XG5cblx0Ly8gdXBkYXRlIHRoZSBtYXRyaXhcblx0dGhpcy5vYmplY3QzZC51cGRhdGVNYXRyaXgoKVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRob25vciBiZWNhbWVWaXNpYmxlL2JlY2FtZVVuVmlzaWJsZSBldmVudFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gaG9ub3IgYmVjYW1lVmlzaWJsZSBldmVudFxuXHRpZiggd2FzVmlzaWJsZSA9PT0gZmFsc2UgJiYgb2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApe1xuXHRcdHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVWaXNpYmxlJyB9KVxuXHR9XG5cdC8vIGhvbm9yIGJlY2FtZVVuVmlzaWJsZSBldmVudFxuXHRpZiggd2FzVmlzaWJsZSA9PT0gdHJ1ZSAmJiBvYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApe1xuXHRcdHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVVblZpc2libGUnIH0pXG5cdH1cblx0cmV0dXJuXG5cblx0ZnVuY3Rpb24gc25hcERpcmVjdGx5VG9UYXJnZXQoKXtcblx0XHRvYmplY3QzZC5wb3NpdGlvbi5jb3B5KCB0YXJnZXRPYmplY3QzZC5wb3NpdGlvbiApXG5cdFx0b2JqZWN0M2QucXVhdGVybmlvbi5jb3B5KCB0YXJnZXRPYmplY3QzZC5xdWF0ZXJuaW9uIClcblx0XHRvYmplY3QzZC5zY2FsZS5jb3B5KCB0YXJnZXRPYmplY3QzZC5zY2FsZSApXG5cdH1cdFxuXHRcblx0ZnVuY3Rpb24gYXBwbHlPbmVTbGVycFN0ZXAoKXtcblx0XHRvYmplY3QzZC5wb3NpdGlvbi5sZXJwKHRhcmdldE9iamVjdDNkLnBvc2l0aW9uLCBwYXJhbWV0ZXJzLmxlcnBQb3NpdGlvbilcblx0XHRvYmplY3QzZC5xdWF0ZXJuaW9uLnNsZXJwKHRhcmdldE9iamVjdDNkLnF1YXRlcm5pb24sIHBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24pXG5cdFx0b2JqZWN0M2Quc2NhbGUubGVycCh0YXJnZXRPYmplY3QzZC5zY2FsZSwgcGFyYW1ldGVycy5sZXJwU2NhbGUpXG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJTbW9vdGhlZENvbnRyb2xzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG4vLyBUT0RPIHRoaXMgaXMgdXNlbGVzcyAtIHByZWZlcmUgYXJqcy1IaXRUZXN0aW5nLmpzXG5cbi8qKlxuICogLSBtYXliZSBzdXBwb3J0IC5vbkNsaWNrRmN0cyBpbiBlYWNoIG9iamVjdDNkXG4gKiAtIHNlZW1zIGFuIGVhc3kgbGlnaHQgbGF5ZXIgZm9yIGNsaWNrYWJsZSBvYmplY3RcbiAqIC0gdXAgdG8gXG4gKi9cbmNvbnN0IEhpdFRlc3RpbmdQbGFuZSA9IGZ1bmN0aW9uKHNvdXJjZUVsZW1lbnQpe1xuXHR0aGlzLl9zb3VyY2VFbGVtZW50ID0gc291cmNlRWxlbWVudFxuXG5cdC8vIGNyZWF0ZSBfcGlja2luZ1NjZW5lXG5cdHRoaXMuX3BpY2tpbmdTY2VuZSA9IG5ldyBUSFJFRS5TY2VuZVxuXHRcblx0Ly8gY3JlYXRlIF9waWNraW5nUGxhbmVcblx0dmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkoMjAsMjAsMTksMTkpLnJvdGF0ZVgoLU1hdGguUEkvMilcblx0Ly8gdmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkoMjAsMjApLnJvdGF0ZVgoLU1hdGguUEkvMilcblx0dmFyIG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcblx0XHQvLyBvcGFjaXR5OiAwLjUsXG5cdFx0Ly8gdHJhbnNwYXJlbnQ6IHRydWUsXG5cdFx0d2lyZWZyYW1lOiB0cnVlXG5cdH0pXG5cdC8vIG1hdGVyaWFsLnZpc2libGUgPSBmYWxzZVxuXHR0aGlzLl9waWNraW5nUGxhbmUgPSBuZXcgVEhSRUUuTWVzaChnZW9tZXRyeSwgbWF0ZXJpYWwpXG5cdHRoaXMuX3BpY2tpbmdTY2VuZS5hZGQodGhpcy5fcGlja2luZ1BsYW5lKVxuXG5cdC8vIENyZWF0ZSBwaWNraW5nQ2FtZXJhXG5cdHZhciBmdWxsV2lkdGggPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLndpZHRoKVxuXHR2YXIgZnVsbEhlaWdodCA9IHBhcnNlSW50KHNvdXJjZUVsZW1lbnQuc3R5bGUuaGVpZ2h0KVxuXHQvLyBUT0RPIGhhcmRjb2RlZCBmb3YgLSBjb3VjaFxuXHR0aGlzLl9waWNraW5nQ2FtZXJhID0gbmV3IFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhKDQyLCBmdWxsV2lkdGggLyBmdWxsSGVpZ2h0LCAwLjEsIDMwKTtcdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkhpdFRlc3RpbmdQbGFuZS5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oY2FtZXJhLCBwaWNraW5nUm9vdCwgY2hhbmdlTWF0cml4TW9kZSl7XG5cblx0dGhpcy5vblJlc2l6ZSgpXG5cdFxuXG5cdGlmKCBjaGFuZ2VNYXRyaXhNb2RlID09PSAnbW9kZWxWaWV3TWF0cml4JyApe1xuXHRcdC8vIHNldCBwaWNraW5nUGxhbmUgcG9zaXRpb25cblx0XHR2YXIgcGlja2luZ1BsYW5lID0gdGhpcy5fcGlja2luZ1BsYW5lXG5cdFx0cGlja2luZ1Jvb3QucGFyZW50LnVwZGF0ZU1hdHJpeFdvcmxkKClcblx0XHRwaWNraW5nUGxhbmUubWF0cml4LmNvcHkocGlja2luZ1Jvb3QucGFyZW50Lm1hdHJpeFdvcmxkKVxuXHRcdC8vIHNldCBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlIGZyb20gcGlja2luZ1BsYW5lLm1hdHJpeFxuXHRcdHBpY2tpbmdQbGFuZS5tYXRyaXguZGVjb21wb3NlKHBpY2tpbmdQbGFuZS5wb3NpdGlvbiwgcGlja2luZ1BsYW5lLnF1YXRlcm5pb24sIHBpY2tpbmdQbGFuZS5zY2FsZSlcblx0fWVsc2UgaWYoIGNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0Ly8gc2V0IHBpY2tpbmdQbGFuZSBwb3NpdGlvblxuXHRcdHZhciBwaWNraW5nQ2FtZXJhID0gdGhpcy5fcGlja2luZ0NhbWVyYVxuXHRcdGNhbWVyYS51cGRhdGVNYXRyaXhXb3JsZCgpXG5cdFx0cGlja2luZ0NhbWVyYS5tYXRyaXguY29weShjYW1lcmEubWF0cml4V29ybGQpXG5cdFx0Ly8gc2V0IHBvc2l0aW9uL3F1YXRlcm5pb24vc2NhbGUgZnJvbSBwaWNraW5nQ2FtZXJhLm1hdHJpeFxuXHRcdHBpY2tpbmdDYW1lcmEubWF0cml4LmRlY29tcG9zZShwaWNraW5nQ2FtZXJhLnBvc2l0aW9uLCBwaWNraW5nQ2FtZXJhLnF1YXRlcm5pb24sIHBpY2tpbmdDYW1lcmEuc2NhbGUpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cbi8vIHZhciBwb3NpdGlvbiA9IHRoaXMuX3BpY2tpbmdQbGFuZS5wb3NpdGlvblxuLy8gY29uc29sZS5sb2coJ3BpY2tpbmdQbGFuZSBwb3NpdGlvbicsIHBvc2l0aW9uLngudG9GaXhlZCgyKSwgcG9zaXRpb24ueS50b0ZpeGVkKDIpLCBwb3NpdGlvbi56LnRvRml4ZWQoMikpXG4vLyB2YXIgcG9zaXRpb24gPSB0aGlzLl9waWNraW5nQ2FtZXJhLnBvc2l0aW9uXG4vLyBjb25zb2xlLmxvZygnaGlzLl9waWNraW5nQ2FtZXJhIHBvc2l0aW9uJywgcG9zaXRpb24ueC50b0ZpeGVkKDIpLCBwb3NpdGlvbi55LnRvRml4ZWQoMiksIHBvc2l0aW9uLnoudG9GaXhlZCgyKSlcblx0XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0cmVzaXplIGNhbWVyYVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkhpdFRlc3RpbmdQbGFuZS5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbigpe1xuXHR2YXIgc291cmNlRWxlbWVudCA9IHRoaXMuX3NvdXJjZUVsZW1lbnRcblx0dmFyIHBpY2tpbmdDYW1lcmEgPSB0aGlzLl9waWNraW5nQ2FtZXJhXG5cdFxuLy8gRklYTUUgd2h5IHVzaW5nIGNzcyBoZXJlID8/PyBub3QgZXZlbiBjb21wdXRlZCBzdHlsZVxuLy8gc2hvdWxkIGdldCB0aGUgc2l6ZSBvZiB0aGUgZWxtZW50IGRpcmVjdGx5IGluZGVwZW5kYW50bHkgXG5cdHZhciBmdWxsV2lkdGggPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLndpZHRoKVxuXHR2YXIgZnVsbEhlaWdodCA9IHBhcnNlSW50KHNvdXJjZUVsZW1lbnQuc3R5bGUuaGVpZ2h0KVxuXHRwaWNraW5nQ2FtZXJhLmFzcGVjdCA9IGZ1bGxXaWR0aCAvIGZ1bGxIZWlnaHRcblxuXHRwaWNraW5nQ2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFBlcmZvcm0gdGVzdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLnRlc3QgPSBmdW5jdGlvbihtb3VzZVgsIG1vdXNlWSl7XG5cdC8vIGNvbnZlcnQgbW91c2VYLCBtb3VzZVkgdG8gWy0xLCArMV1cblx0bW91c2VYID0gKG1vdXNlWC0wLjUpKjJcblx0bW91c2VZID0tKG1vdXNlWS0wLjUpKjJcblx0XG5cdHRoaXMuX3BpY2tpbmdTY2VuZS51cGRhdGVNYXRyaXhXb3JsZCh0cnVlKVxuXG5cdC8vIGNvbXB1dGUgaW50ZXJzZWN0aW9ucyBiZXR3ZWVuIG1vdXNlVmVjdG9yMyBhbmQgcGlja2luZ1BsYW5lXG5cdHZhciByYXljYXN0ZXIgPSBuZXcgVEhSRUUuUmF5Y2FzdGVyKCk7XG5cdHZhciBtb3VzZVZlY3RvcjMgPSBuZXcgVEhSRUUuVmVjdG9yMyhtb3VzZVgsIG1vdXNlWSwgMSk7XG5cdHJheWNhc3Rlci5zZXRGcm9tQ2FtZXJhKCBtb3VzZVZlY3RvcjMsIHRoaXMuX3BpY2tpbmdDYW1lcmEgKVxuXHR2YXIgaW50ZXJzZWN0cyA9IHJheWNhc3Rlci5pbnRlcnNlY3RPYmplY3RzKCBbdGhpcy5fcGlja2luZ1BsYW5lXSApXG5cblx0aWYoIGludGVyc2VjdHMubGVuZ3RoID09PSAwIClcdHJldHVybiBudWxsXG5cblx0Ly8gc2V0IG5ldyBkZW1vUm9vdCBwb3NpdGlvblxuXHR2YXIgcG9zaXRpb24gPSB0aGlzLl9waWNraW5nUGxhbmUud29ybGRUb0xvY2FsKCBpbnRlcnNlY3RzWzBdLnBvaW50LmNsb25lKCkgKVxuXHQvLyBUT0RPIGhlcmUgZG8gYSBsb29rIGF0IHRoZSBjYW1lcmEgP1xuXHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdHZhciBzY2FsZSA9IG5ldyBUSFJFRS5WZWN0b3IzKDEsMSwxKS8vLm11bHRpcGx5U2NhbGFyKDEpXG5cdFxuXHRyZXR1cm4ge1xuXHRcdHBvc2l0aW9uIDogcG9zaXRpb24sXG5cdFx0cXVhdGVybmlvbiA6IHF1YXRlcm5pb24sXG5cdFx0c2NhbGUgOiBzY2FsZVxuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0cmVuZGVyIHRoZSBwaWNraW5nUGxhbmUgZm9yIGRlYnVnXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuSGl0VGVzdGluZ1BsYW5lLnByb3RvdHlwZS5yZW5kZXJEZWJ1ZyA9IGZ1bmN0aW9uKHJlbmRlcmVyKXtcblx0Ly8gcmVuZGVyIHNjZW5lT3J0aG9cblx0cmVuZGVyZXIucmVuZGVyKCB0aGlzLl9waWNraW5nU2NlbmUsIHRoaXMuX3BpY2tpbmdDYW1lcmEgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBIaXRUZXN0aW5nUGxhbmU7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfYWZyYW1lX187IiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsIi8vIENvbXBvbmVudHNcbmltcG9ydCAnLi9jb21wb25lbnQtYW5jaG9yJztcbmltcG9ydCAnLi9jb21wb25lbnQtaGl0LXRlc3RpbmcnO1xuXG4vLyBMb2NhdGlvbi1iYXNlZCBjb21wb25lbnRzXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvYXJqcy1sb29rLWNvbnRyb2xzJ1xuaW1wb3J0ICcuL2xvY2F0aW9uLWJhc2VkL2FyanMtd2ViY2FtLXRleHR1cmUnXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvQXJqc0RldmljZU9yaWVudGF0aW9uQ29udHJvbHMnXG5pbXBvcnQgJy4vbG9jYXRpb24tYmFzZWQvZ3BzLWNhbWVyYSdcbmltcG9ydCAnLi9sb2NhdGlvbi1iYXNlZC9ncHMtZW50aXR5LXBsYWNlJ1xuaW1wb3J0ICcuL2xvY2F0aW9uLWJhc2VkL2dwcy1wcm9qZWN0ZWQtY2FtZXJhJ1xuaW1wb3J0ICcuL2xvY2F0aW9uLWJhc2VkL2dwcy1wcm9qZWN0ZWQtZW50aXR5LXBsYWNlJ1xuXG4vLyBTeXN0ZW1cbmltcG9ydCAnLi9zeXN0ZW0tYXJqcyc7XG4iXSwic291cmNlUm9vdCI6IiJ9 diff --git a/aframe/examples/assets/index.css b/aframe/examples/assets/index.css new file mode 100644 index 00000000..17812596 --- /dev/null +++ b/aframe/examples/assets/index.css @@ -0,0 +1,19 @@ +html, +body { + height: 100%; + margin: 0; + overflow: hidden; +} + +body { + position: relative; +} + +canvas, +video { + display: block; + width: 100% !important; + height: 100% !important; + margin: 0 !important; + object-fit: contain !important; +} diff --git a/aframe/examples/image-tracking/nft-video/index.html b/aframe/examples/image-tracking/nft-video/index.html index bf0b02db..7923bfed 100644 --- a/aframe/examples/image-tracking/nft-video/index.html +++ b/aframe/examples/image-tracking/nft-video/index.html @@ -1,6 +1,6 @@ - + + @@ -31,7 +31,7 @@ diff --git a/aframe/examples/location-based/README.md b/aframe/examples/location-based/README.md new file mode 100644 index 00000000..86796c36 --- /dev/null +++ b/aframe/examples/location-based/README.md @@ -0,0 +1,21 @@ +# Location-based examples + +A brief summary of each example follows below. Aside from `hello-world`, the majority of the applications have a simulated lattitude and longitude; please modify the code to use your actual latitude and longitude. + +- `hello-world`: a simple example placing a cube at a given latitude and longitude. You must edit the code to supply your latitude and longitude. + +- `projected-based-camera` : version of `hello-world` using `gps-projected-camera` and `gps-projected-entity-place`. + +- `click-places` - a version of `hello-world` which demonstrates click events on entities. Please look at the code and note how the raycaster is working. + +- `always-face-user` - shows how you can use A-Frame's `look-at` component to create an entity which always faces the user. + +- `avoid-shaking` - demonstrates the parameters needed to minimise shaking effects. Please look at the source code for full details. + +- `show-arbitrary-distant-places` - shows how you can view AR content many kilometres away using the `videoTexture` component. (In fact, currently, all working examples use `videoTexture` due to an issue - pending investigation - which occurs if it's not set) + +- `places-name` - shows the use of a web API to download local POIs but currently non-operational due to the CORS proxy no longer being available. + +- `peakfinder-2d` - shows the use of an OpenStreetMap based web API to download local summits. Does *not* include elevation though, hence the `2d`. Uses a working proxy. + +- `osm-ways` - shows how you can use AR.js to show not just simple point features but more complex geodata such as polylines. Downloads OpenStreetMap ways (roads, footpaths etc) from a server and renders them as polylines. diff --git a/aframe/examples/location-based/always-face-user/index.html b/aframe/examples/location-based/always-face-user/index.html index 0db5d61b..88a4440a 100644 --- a/aframe/examples/location-based/always-face-user/index.html +++ b/aframe/examples/location-based/always-face-user/index.html @@ -6,19 +6,17 @@ GeoAR.js demo - + + arjs='sourceType: webcam; videoTexture: true; debugUIEnabled: false;'> - - - - + + + + diff --git a/aframe/examples/location-based/avoid-shaking/index.html b/aframe/examples/location-based/avoid-shaking/index.html index 343090e0..e519ffaa 100644 --- a/aframe/examples/location-based/avoid-shaking/index.html +++ b/aframe/examples/location-based/avoid-shaking/index.html @@ -5,22 +5,20 @@ GeoAR.js demo - - + + arjs='sourceType: webcam; videoTexture: true; debugUIEnabled: false;'> - + - + - - - - - GeoAR.js demo - - - - - - - + + + AR.js Click Places Example + + + + + - - - + cursor='rayOrigin: mouse' + raycaster='near: 0; far: 50000' + arjs='sourceType: webcam; videoTexture: true; debugUIEnabled: false;' + renderer='antialias: true; alpha: true'> + + + + + - - - - diff --git a/aframe/examples/location-based/click-places/index.js b/aframe/examples/location-based/click-places/index.js new file mode 100644 index 00000000..8f1af858 --- /dev/null +++ b/aframe/examples/location-based/click-places/index.js @@ -0,0 +1,10 @@ +import 'arjs/aframe/build/aframe-ar-nft.js' + +AFRAME.registerComponent('clicker', { + init: function() { + this.el.addEventListener('click', e => { + alert('Box clicked!'); + }); + } +}); + diff --git a/aframe/examples/location-based/hello-world/index.html b/aframe/examples/location-based/hello-world/index.html new file mode 100644 index 00000000..e82cf569 --- /dev/null +++ b/aframe/examples/location-based/hello-world/index.html @@ -0,0 +1,18 @@ + + + + AR.js Hello World Example + + + + + + + + + + + diff --git a/aframe/examples/location-based/max-min-distance/README.md b/aframe/examples/location-based/max-min-distance/README.md new file mode 100644 index 00000000..d6c9abb4 --- /dev/null +++ b/aframe/examples/location-based/max-min-distance/README.md @@ -0,0 +1,3 @@ +# Note + +This example is not currently working as expected. diff --git a/aframe/examples/location-based/max-min-distance/index.html b/aframe/examples/location-based/max-min-distance/index.html index d41b04c6..f2f5ace3 100644 --- a/aframe/examples/location-based/max-min-distance/index.html +++ b/aframe/examples/location-based/max-min-distance/index.html @@ -4,9 +4,8 @@ GeoAR.js demo - - - + + @@ -27,7 +26,7 @@ rotation-reader gps-camera="simulateLatitude: 44.504348; simulateLongitude: 11.301027; minDistance: 50; maxDistance: 700;" > - - + + diff --git a/aframe/examples/location-based/only-html/index.html b/aframe/examples/location-based/only-html/index.html deleted file mode 100644 index 658e04f9..00000000 --- a/aframe/examples/location-based/only-html/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - GeoAR.js demo - - - - - - - - - - - - - - diff --git a/aframe/examples/location-based/osm-ways/LICENSE b/aframe/examples/location-based/osm-ways/LICENSE new file mode 100644 index 00000000..1653ec58 --- /dev/null +++ b/aframe/examples/location-based/osm-ways/LICENSE @@ -0,0 +1,6 @@ +This example is taken from the in-development Hikar webapp, + +https://github.com/nickw1/hikar.org + +which is licensed under the GNU General Public License v3, and therefore this +code is also similarly licensed. \ No newline at end of file diff --git a/aframe/examples/location-based/osm-ways/gps-vector-ways.js b/aframe/examples/location-based/osm-ways/gps-vector-ways.js new file mode 100644 index 00000000..3ff3a8a1 --- /dev/null +++ b/aframe/examples/location-based/osm-ways/gps-vector-ways.js @@ -0,0 +1,21 @@ +AFRAME.registerComponent('gps-vector-ways', { + init: function() { + this.originSphMerc = null; + + this.vectorWaysListener = (ev) => { + var camera = document.querySelector('[gps-projected-camera]'); + if (!camera.components['gps-projected-camera']) { + console.error('gps-projected-camera not initialised'); + } else { + if (!this.originSphMerc) { + this.originSphMerc = camera.components['gps-projected-camera'].originCoords; + } + ev.detail.objectIds.forEach(k => { + this.el.object3DMap[k].geometry.translate(-this.originSphMerc[0], 0, this.originSphMerc[1]); + }); + } + }; + + this.el.addEventListener('vector-ways-loaded', this.vectorWaysListener); + } +}); diff --git a/aframe/examples/location-based/osm-ways/index.html b/aframe/examples/location-based/osm-ways/index.html new file mode 100644 index 00000000..2beccece --- /dev/null +++ b/aframe/examples/location-based/osm-ways/index.html @@ -0,0 +1,31 @@ + + + + + AR.js osm example + + + + + + + + + + +

+ + + + + diff --git a/aframe/examples/location-based/osm-ways/index.js b/aframe/examples/location-based/osm-ways/index.js new file mode 100644 index 00000000..9d1a0c34 --- /dev/null +++ b/aframe/examples/location-based/osm-ways/index.js @@ -0,0 +1,15 @@ + +window.onload = () => { + const osmElement = document.getElementById('osmElement'); + document.getElementById('status').innerHTML = 'Loading OpenStreetMap data...'; + const gpsProjCamera = document.querySelector('a-camera').components['gps-projected-camera']; + + osmElement.setAttribute('osm', { + longitude: gpsProjCamera.data.simulateLongitude, + latitude: gpsProjCamera.data.simulateLatitude + }); + + osmElement.addEventListener('vector-ways-loaded', e => { + document.getElementById('status').innerHTML = ''; + }); +}; diff --git a/aframe/examples/location-based/osm-ways/osm.js b/aframe/examples/location-based/osm-ways/osm.js new file mode 100644 index 00000000..82cb7a35 --- /dev/null +++ b/aframe/examples/location-based/osm-ways/osm.js @@ -0,0 +1,62 @@ + +AFRAME.registerComponent('osm', { + schema: { + latitude: { + type: 'number', + default: 181 + }, + longitude: { + type: 'number', + default: 91 + } + }, + + update: function() { + if (this.data.latitude >= -90 && this.data.latitude <= 90 && this.data.longitude >= -180 && this.data.longitude <= 180) { + this._readOsm(this.data.latitude, this.data.longitude); + } + }, + + _readOsm: function(lat, lon) { + fetch(`https://hikar.org/fm/ws/bsvr.php?bbox=${lon - 0.01},${lat - 0.01},${lon + 0.01},${lat + 0.01}&way=highway&format=json&outProj=3785`) + .then(response => response.json()) + .then(json => { + const objectIds = []; + const drawProps = { + 'footway': { color: '#00ff00' }, + 'path': { color: '#00ff00' }, + 'steps': { color: '#00ff00' }, + 'bridleway': { color: '#ffc000' }, + 'byway': { color: '#ff0000' }, + 'track': { color: '#ff8080' }, + 'cycleway': { color: '#00ffff' }, + }; + const features = []; + json.features.forEach((f, i) => { + const line = []; + if (f.geometry.type == 'LineString' && f.geometry.coordinates.length >= 2) { + f.geometry.coordinates.forEach(coord => { + line.push([coord[0], 0, -coord[1]]); + }); + + + if (line.length >= 2) { + const g = new OsmWay(line, (drawProps[f.properties.highway] ? (drawProps[f.properties.highway].width || 5) : 5)).geometry; + + const color = drawProps[f.properties.highway] ? (drawProps[f.properties.highway].color || '#ffffff') : '#ffffff'; + + const mesh = new THREE.Mesh(g, + new THREE.MeshBasicMaterial({ + color: color + })); + this.el.setObject3D(f.properties.osm_id, mesh); + objectIds.push(f.properties.osm_id); + } + } + }); + this.el.emit('vector-ways-loaded', { + objectIds: objectIds + }); + }); + } +}); diff --git a/aframe/examples/location-based/osm-ways/osmway.js b/aframe/examples/location-based/osm-ways/osmway.js new file mode 100644 index 00000000..b5534add --- /dev/null +++ b/aframe/examples/location-based/osm-ways/osmway.js @@ -0,0 +1,67 @@ + +class OsmWay { + constructor(vertices, width = 1) { + let dx, dz, len, dxperp, dzperp, nextVtxProvisional = [], thisVtxProvisional; + const k = vertices.length - 1; + const realVertices = []; + for (let i = 0; i < k; i++) { + dx = vertices[i + 1][0] - vertices[i][0]; + dz = vertices[i + 1][2] - vertices[i][2]; + len = this.distance(vertices[i], vertices[i + 1]); + dxperp = -(dz * (width / 2)) / len; + dzperp = dx * (width / 2) / len; + thisVtxProvisional = [ + vertices[i][0] - dxperp, + vertices[i][1], + vertices[i][2] - dzperp, + vertices[i][0] + dxperp, + vertices[i][1], + vertices[i][2] + dzperp, + ]; + if (i > 0) { + // Ensure the vertex positions are influenced not just by this + // segment but also the previous segment + thisVtxProvisional.forEach((vtx, j) => { + vtx = (vtx + nextVtxProvisional[j]) / 2; + }); + } + realVertices.push(...thisVtxProvisional); + nextVtxProvisional = [ + vertices[i + 1][0] - dxperp, + vertices[i + 1][1], + vertices[i + 1][2] - dzperp, + vertices[i + 1][0] + dxperp, + vertices[i + 1][1], + vertices[i + 1][2] + dzperp, + ]; + } + realVertices.push(vertices[k][0] - dxperp); + realVertices.push(vertices[k][1]); + realVertices.push(vertices[k][2] - dzperp); + realVertices.push(vertices[k][0] + dxperp); + realVertices.push(vertices[k][1]); + realVertices.push(vertices[k][2] + dzperp); + + + let indices = []; + for (let i = 0; i < k; i++) { + indices.push(i * 2, i * 2 + 1, i * 2 + 2); + indices.push(i * 2 + 1, i * 2 + 3, i * 2 + 2); + } + + let geom = new THREE.BufferGeometry(); + let bufVertices = new Float32Array(realVertices); + geom.setIndex(indices); + geom.setAttribute('position', new THREE.BufferAttribute(bufVertices, 3)); + geom.computeBoundingBox(); + this.geometry = geom; + } + + distance(v1, v2) { + const dx = v2[0] - v1[0]; + const dy = v2[1] - v1[1]; + const dz = v2[2] - v1[2]; + return Math.sqrt(dx * dx + dy * dy + dz * dz); + } +} + diff --git a/aframe/examples/location-based/peakfinder-2d/index.html b/aframe/examples/location-based/peakfinder-2d/index.html new file mode 100644 index 00000000..0e579083 --- /dev/null +++ b/aframe/examples/location-based/peakfinder-2d/index.html @@ -0,0 +1,18 @@ + + + AR.js Peakfinder (2D - no elevation) + + + + + + + + + + + + diff --git a/aframe/examples/location-based/peakfinder-2d/index.js b/aframe/examples/location-based/peakfinder-2d/index.js new file mode 100644 index 00000000..de23cd7b --- /dev/null +++ b/aframe/examples/location-based/peakfinder-2d/index.js @@ -0,0 +1,62 @@ + +AFRAME.registerComponent('peakfinder', { + schema: { + scale: { + type: 'number', + default: 10 + } + }, + + init: function() { + const longitude = -0.72, latitude = 51.05, textScale = this.data.scale * 100; + + // Call the Hikar API (OpenStreetMap-based) to get local POIs. + // Note that data is only available for Europe and Turkey. + fetch(`https://www.hikar.org/fm/ws/bsvr.php?bbox=${longitude-0.1},${latitude-0.1},${longitude+0.1},${latitude+0.1}&outProj=4326&format=json&poi=natural` + ) + .then(response => response.json()) + .then(json => { + json.features.filter( f => f.properties.natural == 'peak') + .forEach( peak => { + const entity = document.createElement('a-entity'); + entity.setAttribute('look-at', '[gps-projected-camera]'); + const text = document.createElement('a-text'); + text.setAttribute('value', peak.properties.name); + text.setAttribute('scale', { + x: textScale, + y: textScale, + z: textScale + }); + text.setAttribute('align', 'center'); + text.setAttribute('position', { + x: 0, + y: this.data.scale * 20, + z: 0 + }); + entity.setAttribute('gps-projected-entity-place', { + latitude: peak.geometry.coordinates[1], + longitude: peak.geometry.coordinates[0] + }); + entity.appendChild(text); + const cone = document.createElement('a-cone'); + cone.setAttribute('radiusTop', 0.1); + cone.setAttribute('scale', { + x: this.data.scale * 10, + y: this.data.scale * 10, + z: this.data.scale * 10 + }); + cone.setAttribute('height', 3); + cone.setAttribute('material', { color: 'magenta' } ); + entity.appendChild(cone); + entity.setAttribute('position', { + x: 0, + y: peak.geometry.coordinates[2], + z: 0 + }); + + this.el.appendChild(entity); + }); + }); + } +}); + diff --git a/aframe/examples/location-based/places-name/index.html b/aframe/examples/location-based/places-name/index.html index 8d0f6481..4101af4b 100644 --- a/aframe/examples/location-based/places-name/index.html +++ b/aframe/examples/location-based/places-name/index.html @@ -5,15 +5,15 @@ GeoAR.js demo - - + + + + - - { let method = 'dynamic'; @@ -51,6 +50,7 @@ function dynamicLoadPlaces(position) { }; // CORS Proxy to avoid CORS problems + // NOTE this no longer works - please replace with your own proxy let corsProxy = 'https://cors-anywhere.herokuapp.com/'; // Foursquare API diff --git a/aframe/examples/location-based/show-arbitrary-distant-places/index.html b/aframe/examples/location-based/show-arbitrary-distant-places/index.html index dbe75e63..e43778c2 100644 --- a/aframe/examples/location-based/show-arbitrary-distant-places/index.html +++ b/aframe/examples/location-based/show-arbitrary-distant-places/index.html @@ -3,11 +3,9 @@ -Hikar Webapp +Use of Video Texture - - - + diff --git a/aframe/examples/marker-based/basic.html b/aframe/examples/marker-based/basic.html index 98bffadd..4ffa64bf 100644 --- a/aframe/examples/marker-based/basic.html +++ b/aframe/examples/marker-based/basic.html @@ -2,7 +2,7 @@ - + diff --git a/aframe/examples/marker-based/minimal_ES6.html b/aframe/examples/marker-based/minimal_ES6.html new file mode 100644 index 00000000..7e317f40 --- /dev/null +++ b/aframe/examples/marker-based/minimal_ES6.html @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aframe/src/component-anchor-nft.js b/aframe/src/component-anchor-nft.js index 14ea854e..437441cb 100644 --- a/aframe/src/component-anchor-nft.js +++ b/aframe/src/component-anchor-nft.js @@ -1,4 +1,9 @@ -////////////////////////////////////////////////////////////////////////////// +import * as AFRAME from 'aframe'; +import Anchor from '../../three.js/src/new-api/arjs-anchor'; +import { AnchorDebugUI } from '../../three.js/src/new-api/arjs-debugui'; +import ArToolkitContext from '../../three.js/src/threex/arjs-context-nft'; + +//////////////////////////////////////////////////////////////////////////////// // arjs-anchor ////////////////////////////////////////////////////////////////////////////// AFRAME.registerComponent('arjs-anchor', { @@ -95,11 +100,11 @@ AFRAME.registerComponent('arjs-anchor', { if (_this.data.preset === 'hiro') { markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + markerParameters.patternUrl = ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' markerParameters.markersAreaEnabled = false } else if (_this.data.preset === 'kanji') { markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' + markerParameters.patternUrl = ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' markerParameters.markersAreaEnabled = false } else if (_this.data.preset === 'area') { markerParameters.type = 'barcode' @@ -133,7 +138,7 @@ AFRAME.registerComponent('arjs-anchor', { ////////////////////////////////////////////////////////////////////////////// var arSession = arjsSystem._arSession - var arAnchor = _this._arAnchor = new ARjs.Anchor(arSession, markerParameters) + var arAnchor = _this._arAnchor = new Anchor(arSession, markerParameters) // it is now considered isReady _this.isReady = true @@ -151,7 +156,7 @@ AFRAME.registerComponent('arjs-anchor', { document.body.appendChild(containerElement) } // create anchorDebugUI - var anchorDebugUI = new ARjs.AnchorDebugUI(arAnchor) + var anchorDebugUI = new AnchorDebugUI(arAnchor) containerElement.appendChild(anchorDebugUI.domElement) } }, 1000 / 60) diff --git a/aframe/src/component-anchor.js b/aframe/src/component-anchor.js index ab6bca8f..1107aaa6 100644 --- a/aframe/src/component-anchor.js +++ b/aframe/src/component-anchor.js @@ -1,4 +1,9 @@ -////////////////////////////////////////////////////////////////////////////// +import * as AFRAME from 'aframe'; +import Anchor from '../../three.js/src/new-api/arjs-anchor'; +import { AnchorDebugUI } from '../../three.js/src/new-api/arjs-debugui'; +import ArToolkitContext from '../../three.js/src/threex/arjs-context'; + +// ////////////////////////////////////////////////////////////////////////////// // arjs-anchor ////////////////////////////////////////////////////////////////////////////// AFRAME.registerComponent('arjs-anchor', { @@ -92,11 +97,11 @@ AFRAME.registerComponent('arjs-anchor', { if (_this.data.preset === 'hiro') { markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + markerParameters.patternUrl = ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' markerParameters.markersAreaEnabled = false } else if (_this.data.preset === 'kanji') { markerParameters.type = 'pattern' - markerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' + markerParameters.patternUrl = ArToolkitContext.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' markerParameters.markersAreaEnabled = false } else if (_this.data.preset === 'area') { markerParameters.type = 'barcode' @@ -114,8 +119,8 @@ AFRAME.registerComponent('arjs-anchor', { markerParameters.patternUrl = _this.data.patternUrl; markerParameters.markersAreaEnabled = false } - - markerParameters.minConfidence = _this.data.minCondidence; + + markerParameters.minConfidence = _this.data.minConfidence; markerParameters.smooth = _this.data.smooth; markerParameters.smoothCount = _this.data.smoothCount; markerParameters.smoothTolerance = _this.data.smoothTolerance; @@ -126,7 +131,7 @@ AFRAME.registerComponent('arjs-anchor', { ////////////////////////////////////////////////////////////////////////////// var arSession = arjsSystem._arSession - var arAnchor = _this._arAnchor = new ARjs.Anchor(arSession, markerParameters) + var arAnchor = _this._arAnchor = new Anchor(arSession, markerParameters) // it is now considered isReady _this.isReady = true @@ -144,7 +149,7 @@ AFRAME.registerComponent('arjs-anchor', { document.body.appendChild(containerElement) } // create anchorDebugUI - var anchorDebugUI = new ARjs.AnchorDebugUI(arAnchor) + var anchorDebugUI = new AnchorDebugUI(arAnchor) containerElement.appendChild(anchorDebugUI.domElement) } }, 1000 / 60) diff --git a/aframe/src/component-hit-testing.js b/aframe/src/component-hit-testing.js index 264bc103..8b394e48 100644 --- a/aframe/src/component-hit-testing.js +++ b/aframe/src/component-hit-testing.js @@ -1,4 +1,7 @@ -////////////////////////////////////////////////////////////////////////////// +import * as AFRAME from 'aframe'; +import HitTesting from '../../three.js/src/new-api/arjs-hittesting'; + +// ////////////////////////////////////////////////////////////////////////////// // arjs-hit-testing ////////////////////////////////////////////////////////////////////////////// AFRAME.registerComponent('arjs-hit-testing', { @@ -40,7 +43,7 @@ AFRAME.registerComponent('arjs-hit-testing', { var arSession = arjsSystem._arSession var renderer = arSession.parameters.renderer - var hitTesting = _this._arHitTesting = new ARjs.HitTesting(arSession) + var hitTesting = _this._arHitTesting = new HitTesting(arSession) hitTesting.enabled = _this.data.enabled _this.isReady = true diff --git a/aframe/src/index-nft.js b/aframe/src/index-nft.js new file mode 100644 index 00000000..85f9ce86 --- /dev/null +++ b/aframe/src/index-nft.js @@ -0,0 +1,15 @@ +// Components +import './component-anchor-nft'; +import './component-hit-testing'; + +// Location-based components +import './location-based/arjs-look-controls' +import './location-based/arjs-webcam-texture' +import './location-based/ArjsDeviceOrientationControls' +import './location-based/gps-camera' +import './location-based/gps-entity-place' +import './location-based/gps-projected-camera' +import './location-based/gps-projected-entity-place' + +// System +import './system-arjs'; diff --git a/aframe/src/index.js b/aframe/src/index.js new file mode 100644 index 00000000..180dbcdc --- /dev/null +++ b/aframe/src/index.js @@ -0,0 +1,15 @@ +// Components +import './component-anchor'; +import './component-hit-testing'; + +// Location-based components +import './location-based/arjs-look-controls' +import './location-based/arjs-webcam-texture' +import './location-based/ArjsDeviceOrientationControls' +import './location-based/gps-camera' +import './location-based/gps-entity-place' +import './location-based/gps-projected-camera' +import './location-based/gps-projected-entity-place' + +// System +import './system-arjs'; diff --git a/aframe/src/location-based/ArjsDeviceOrientationControls.js b/aframe/src/location-based/ArjsDeviceOrientationControls.js index 9a7519c5..26c6ed02 100644 --- a/aframe/src/location-based/ArjsDeviceOrientationControls.js +++ b/aframe/src/location-based/ArjsDeviceOrientationControls.js @@ -12,7 +12,9 @@ * Modifications Nick Whitelegg (nickw1 github) */ -ArjsDeviceOrientationControls = function ( object ) { +import * as THREE from "three"; + +const ArjsDeviceOrientationControls = function ( object ) { var scope = this; @@ -159,3 +161,5 @@ ArjsDeviceOrientationControls = function ( object ) { this.connect(); }; + +export default ArjsDeviceOrientationControls; diff --git a/aframe/src/location-based/arjs-look-controls.js b/aframe/src/location-based/arjs-look-controls.js index 8107a53b..df86417d 100644 --- a/aframe/src/location-based/arjs-look-controls.js +++ b/aframe/src/location-based/arjs-look-controls.js @@ -12,6 +12,9 @@ var PI_2 = Math.PI / 2; * Modifications Nick Whitelegg (nickw1 github) */ +import * as AFRAME from 'aframe' +import ArjsDeviceOrientationControls from './ArjsDeviceOrientationControls' + AFRAME.registerComponent('arjs-look-controls', { dependencies: ['position', 'rotation'], diff --git a/aframe/src/location-based/arjs-webcam-texture.js b/aframe/src/location-based/arjs-webcam-texture.js index a0f60e93..21d218a6 100644 --- a/aframe/src/location-based/arjs-webcam-texture.js +++ b/aframe/src/location-based/arjs-webcam-texture.js @@ -1,3 +1,6 @@ +import * as AFRAME from 'aframe' +import * as THREE from 'three' + AFRAME.registerComponent('arjs-webcam-texture', { init: function() { diff --git a/aframe/src/location-based/gps-camera.js b/aframe/src/location-based/gps-camera.js index ed485c97..0ecfd6fb 100644 --- a/aframe/src/location-based/gps-camera.js +++ b/aframe/src/location-based/gps-camera.js @@ -7,6 +7,9 @@ * location. */ +import * as AFRAME from 'aframe'; +import * as THREE from 'three'; + AFRAME.registerComponent('gps-camera', { _watchPositionId: null, originCoords: null, @@ -53,7 +56,7 @@ AFRAME.registerComponent('gps-camera', { }, update: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.longitude = this.data.simulateLongitude; localPosition.latitude = this.data.simulateLatitude; localPosition.altitude = this.data.simulateAltitude; @@ -64,7 +67,7 @@ AFRAME.registerComponent('gps-camera', { this._updatePosition(); } }, - init: function () { + init: function () { if (!this.el.components['arjs-look-controls'] && !this.el.components['look-controls']) { return; } @@ -102,7 +105,7 @@ AFRAME.registerComponent('gps-camera', { this.el.sceneEl.systems['arjs']._displayErrorPopup( 'After camera permission prompt, please tap the screen to activate geolocation.'); } else { var timeout = setTimeout(function () { - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); }, 750); window.addEventListener(eventName, function () { clearTimeout(timeout); @@ -116,6 +119,7 @@ AFRAME.registerComponent('gps-camera', { play: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.latitude = this.data.simulateLatitude; localPosition.longitude = this.data.simulateLongitude; if (this.data.simulateAltitude !== 0) { diff --git a/aframe/src/location-based/gps-entity-place.js b/aframe/src/location-based/gps-entity-place.js index 7d2e5b4e..666c315b 100644 --- a/aframe/src/location-based/gps-entity-place.js +++ b/aframe/src/location-based/gps-entity-place.js @@ -1,3 +1,5 @@ +import * as AFRAME from 'aframe'; + AFRAME.registerComponent('gps-entity-place', { _cameraGps: null, schema: { diff --git a/aframe/src/location-based/gps-projected-camera.js b/aframe/src/location-based/gps-projected-camera.js index 992aede1..ae080f13 100644 --- a/aframe/src/location-based/gps-projected-camera.js +++ b/aframe/src/location-based/gps-projected-camera.js @@ -29,6 +29,8 @@ * location. */ +import * as AFRAME from 'aframe' + AFRAME.registerComponent('gps-projected-camera', { _watchPositionId: null, originCoords: null, // original coords now in Spherical Mercator @@ -71,7 +73,7 @@ AFRAME.registerComponent('gps-projected-camera', { }, update: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { - localPosition = Object.assign({}, this.currentCoords || {}); + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.longitude = this.data.simulateLongitude; localPosition.latitude = this.data.simulateLatitude; localPosition.altitude = this.data.simulateAltitude; @@ -118,7 +120,6 @@ AFRAME.registerComponent('gps-projected-camera', { document.addEventListener('touchend', function() { handler() }, false); this.el.sceneEl.systems['arjs']._displayErrorPopup('After camera permission prompt, please tap the screen to activate geolocation.'); - } else { var timeout = setTimeout(function() { this.el.sceneEl.systems['arjs']._displayErrorPopup('Please enable device orientation in Settings > Safari > Motion & Orientation Access.'); @@ -134,6 +135,7 @@ AFRAME.registerComponent('gps-projected-camera', { play: function() { if (this.data.simulateLatitude !== 0 && this.data.simulateLongitude !== 0) { + var localPosition = Object.assign({}, this.currentCoords || {}); localPosition.latitude = this.data.simulateLatitude; localPosition.longitude = this.data.simulateLongitude; if (this.data.simulateAltitude !== 0) { @@ -223,7 +225,7 @@ AFRAME.registerComponent('gps-projected-camera', { if (err.code === 1) { // User denied GeoLocation, let their know that - this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); + this.el.sceneEl.systems['arjs']._displayErrorPopup('Please activate Geolocation and refresh the page. If it is already active, please check permissions for this website.'); return; } diff --git a/aframe/src/location-based/gps-projected-entity-place.js b/aframe/src/location-based/gps-projected-entity-place.js index 8962b60e..ea2ac30b 100644 --- a/aframe/src/location-based/gps-projected-entity-place.js +++ b/aframe/src/location-based/gps-projected-entity-place.js @@ -19,6 +19,8 @@ * for many areas of the world and appear not to cause unacceptable distortions * when used as the units for AR apps. */ +import * as AFRAME from 'aframe' + AFRAME.registerComponent('gps-projected-entity-place', { _cameraGps: null, schema: { diff --git a/aframe/src/location-based/index.js b/aframe/src/location-based/index.js new file mode 100644 index 00000000..61eb7f2a --- /dev/null +++ b/aframe/src/location-based/index.js @@ -0,0 +1,7 @@ +import './arjs-look-controls' +import './arjs-webcam-texture' +import './ArjsDeviceOrientationControls' +import './gps-camera' +import './gps-entity-place' +import './gps-projected-camera' +import './gps-projected-entity-place' diff --git a/aframe/src/system-arjs.js b/aframe/src/system-arjs.js index baf6068f..ac324502 100644 --- a/aframe/src/system-arjs.js +++ b/aframe/src/system-arjs.js @@ -1,3 +1,8 @@ +import * as AFRAME from 'aframe'; +import Profile from '../../three.js/src/threex/arjs-profile'; +import Session from '../../three.js/src/new-api/arjs-session'; +import { SessionDebugUI } from '../../three.js/src/new-api/arjs-debugui'; + AFRAME.registerSystem('arjs', { schema: { trackingMethod: { @@ -105,12 +110,13 @@ AFRAME.registerSystem('arjs', { webcamEntity.setAttribute("arjs-webcam-texture", true); this.el.sceneEl.appendChild(webcamEntity); return; - } + } + ////////////////////////////////////////////////////////////////////////////// // setup arProfile ////////////////////////////////////////////////////////////////////////////// - var arProfile = this._arProfile = new ARjs.Profile() + var arProfile = this._arProfile = new Profile() .trackingMethod(this.data.trackingMethod) .performance(this.data.performanceProfile) .defaultMarker() @@ -158,7 +164,7 @@ AFRAME.registerSystem('arjs', { ////////////////////////////////////////////////////////////////////////////// // build ARjs.Session ////////////////////////////////////////////////////////////////////////////// - var arSession = _this._arSession = new ARjs.Session({ + var arSession = _this._arSession = new Session({ scene: scene, renderer: renderer, camera: camera, @@ -207,7 +213,7 @@ AFRAME.registerSystem('arjs', { } // create sessionDebugUI - var sessionDebugUI = new ARjs.SessionDebugUI(arSession) + var sessionDebugUI = new SessionDebugUI(arSession) containerElement.appendChild(sessionDebugUI.domElement) } }) diff --git a/package.json b/package.json index e69aca86..d4c2082f 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,12 @@ { - "name": "ar.js", - "version": "3.3.3", + "name": "@ar-js-org/ar.js", + "version": "3.3.3-es6-beta-01", "description": "Efficient Augmented Reality for the Web", "main": "./aframe/build/aframe-ar.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "build": "make build", + "build": "./node_modules/.bin/webpack --mode=production", + "build:dev": "./node_modules/.bin/webpack --mode=development", "server": "npx http-server -c -1" }, "files": [ @@ -48,5 +49,15 @@ "bugs": { "url": "https://github.com/AR-js-org/AR.js/issues" }, - "homepage": "https://github.com/AR-js-org/AR.js/" + "homepage": "https://github.com/AR-js-org/AR.js/", + "devDependencies": { + "webpack": "^5.4.0", + "webpack-cli": "^4.5.0", + "worker-loader": "^3.0.8" + }, + "dependencies": { + "@ar-js-org/artoolkit5-js": "^0.1.1", + "aframe": "^1.0.4", + "three": "^0.132.2" + } } diff --git a/three.js/Makefile b/three.js/Makefile deleted file mode 100644 index c1590f45..00000000 --- a/three.js/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -watch: build - fswatch -0 src/*/*.js | xargs -0 -n 1 -I {} make build - -build-main: - echo > build/ar.js - cat vendor/jsartoolkit5/build/artoolkit.min.js \ - vendor/jsartoolkit5/js/artoolkit.api.js >> build/ar.js - cat src/threex/threex-arbasecontrols.js \ - src/threex/threex-arclickability.js \ - src/threex/threex-armarkercloak.js \ - src/threex/threex-armarkercontrols.js \ - src/threex/threex-armarkerhelper.js \ - src/threex/threex-arsmoothedcontrols.js \ - src/threex/threex-artoolkitcontext.js \ - src/threex/threex-artoolkitprofile.js \ - src/threex/threex-artoolkitsource.js \ - src/threex/threex-arvideoinwebgl.js \ - src/threex/threex-hittesting-plane.js \ - src/new-api/*.js \ - src/markers-area/*.js >> build/ar.js - -build-main-nft: - echo > build/ar-nft.js - cat vendor/jsartoolkit5/build/artoolkit-nft.min.js >> build/ar-nft.js - cat src/threex/threex-arbasecontrols.js \ - src/threex/threex-arclickability.js \ - src/threex/threex-armarkercloak.js \ - src/threex/threex-armarkercontrols-nft-start.js \ - vendor/jsartoolkit5/build/artoolkit-nft.min.js \ - src/threex/threex-armarkercontrols-nft-end.js \ - src/threex/threex-armarkerhelper.js \ - src/threex/threex-arsmoothedcontrols.js \ - src/threex/threex-artoolkitcontext-nft.js \ - src/threex/threex-artoolkitprofile.js \ - src/threex/threex-artoolkitsource.js \ - src/threex/threex-arvideoinwebgl.js \ - src/threex/threex-hittesting-plane.js \ - src/new-api/*.js \ - src/markers-area/*.js >> build/ar-nft.js - -.PHONY: build - -build: build-main build-main-nft diff --git a/three.js/build/ar-nft.js b/three.js/build/ar-nft.js index 3a68728f..cef0abb1 100644 --- a/three.js/build/ar-nft.js +++ b/three.js/build/ar-nft.js @@ -1,1502 +1,1451 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("three")); + else if(typeof define === 'function' && define.amd) + define(["three"], factory); + else if(typeof exports === 'object') + exports["ARjs"] = factory(require("three")); + else + root["ARjs"] = factory(root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { + +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAMIAxsIAogCmxqIAcgB2xqIQwgCCEHIAQhBQNAIAwgBSgCAEgEQCAFIAw2AgAgByALOgAACyAMIA5qIgogBSIGKAIESARAIAYgCjYCBCAHIAs6AAELIAogEGoiCiAGKAIISARAIAYgCjYCCCAHIAs6AAILIAogEmoiCiAGKAIMSARAIAYgCjYCDCAHIAs6AAMLIAwgGGoiCiAFKAIQSARAIAUgCjYCECAHIAs6AAQLIAogDmoiCSAGKAIUSARAIAUgCTYCFCAHIAs6AAULIAkgEGoiCSAFKAIYSARAIAUgCTYCGCAHIAs6AAYLIAkgEmoiCSAFKAIcSARAIAUgCTYCHCAHIAs6AAcLIAogG2oiCiAGKAIgSARAIAYgCjYCICAHIAs6AAgLIAogDmoiCSAFKAIkSARAIAYgCTYCJCAHIAs6AAkLIAkgEGoiCSAGKAIoSARAIAYgCTYCKCAHIAs6AAoLIAkgEmoiCSAGKAIsSARAIAYgCTYCLCAHIAs6AAsLIAogHGoiCiAFKAIwSARAIAUgCjYCMCAHIAs6AAwLIAogDmoiBSAGKAI0SARAIAYgBTYCNCAHIAs6AA0LIAUgEGoiBSAGKAI4SARAIAYgBTYCOCAHIAs6AA4LIAUgEmoiCSAGIgUoAjxIBEAgBSAJNgI8IAcgCzoADwsgCiAdaiIKIAVBQGsiBigCAEgEQCAGIAo2AgAgByALOgAQCyAKIA5qIgkgBSIGKAJESARAIAYgCTYCRCAHIAs6ABELIAkgEGoiCSAGKAJISARAIAYgCTYCSCAHIAs6ABILIAkgEmoiCSAGKAJMSARAIAYgCTYCTCAHIAs6ABMLIAogHmoiCiAFKAJQSARAIAUgCjYCUCAHIAs6ABQLIAogDmoiCSAGKAJUSARAIAUgCTYCVCAHIAs6ABULIAkgEGoiCSAFKAJYSARAIAUgCTYCWCAHIAs6ABYLIAkgEmoiCSAFKAJcSARAIAUgCTYCXCAHIAs6ABcLIAogH2oiCiAGKAJgSARAIAYgCjYCYCAHIAs6ABgLIAogDmoiCSAFKAJkSARAIAYgCTYCZCAHIAs6ABkLIAkgEGoiCSAGKAJoSARAIAYgCTYCaCAHIAs6ABoLIAkgEmoiCSAGKAJsSARAIAYgCTYCbCAHIAs6ABsLIAogIGoiCiAFKAJwSARAIAUgCjYCcCAHIAs6ABwLIAogDmoiBSAGKAJ0SARAIAYgBTYCdCAHIAs6AB0LIAUgEGoiBSAGKAJ4SARAIAYgBTYCeCAHIAs6AB4LIAUgEmoiBSAGKAJ8SARAIAYgBTYCfCAHIAs6AB8LIAZBgAFqIQUgB0EgaiEHIAwgDWohDCANQYAEaiENIBFBf2ohBiARBEAgBiERDAELCyAPQQFqIg8gE0cNAAsLIAFBfHEhByADQXxxIQEgAkF4cSIDQQFyIQYgA0ECciEMIANBA3IhDyADQQRyIREgA0EFciENIANBBnIhBCACQQdyIRNBACEAA0AgACAHakECdCAaaiILKAIAIgIgA0EGdGogAUEBdGoiBSAILQAAQQFqOwEAIAUgCC0AAUEBajsBAiAFIAgtAAJBAWo7AQQgBSAILQADQQFqOwEGIAZBBnQgAmogAUEBdGoiBSAILQAEQQFqOwEAIAUgCC0ABUEBajsBAiAFIAgtAAZBAWo7AQQgBSAILQAHQQFqOwEGIAxBBnQgAmogAUEBdGoiBSAILQAIQQFqOwEAIAUgCC0ACUEBajsBAiAFIAgtAApBAWo7AQQgBSAILQALQQFqOwEGIA9BBnQgAmogAUEBdGoiAiAILQAMQQFqOwEAIAIgCC0ADUEBajsBAiACIAgtAA5BAWo7AQQgAiAILQAPQQFqOwEGIAsoAgAiAiARQQZ0aiABQQF0aiIFIAgtABBBAWo7AQAgBSAILQARQQFqOwECIAUgCC0AEkEBajsBBCAFIAgtABNBAWo7AQYgDUEGdCACaiABQQF0aiIFIAgtABRBAWo7AQAgBSAILQAVQQFqOwECIAUgCC0AFkEBajsBBCAFIAgtABdBAWo7AQYgBEEGdCACaiABQQF0aiIFIAgtABhBAWo7AQAgBSAILQAZQQFqOwECIAUgCC0AGkEBajsBBCAFIAgtABtBAWo7AQYgE0EGdCACaiABQQF0aiICIAgtABxBAWo7AQAgAiAILQAdQQFqOwECIAIgCC0AHkEBajsBBCACIAgtAB9BAWo7AQYgCEEgaiEIIABBAWoiAEEERw0ACyAXJAYLNAEBfyAAKAIEIAEoAggQpQMiAgRAIAIgACABEJwDQQBIBEAgAhBJQQAhAgsFQQAhAgsgAgvSAwEDfyAAKAIEKAIAIQEgACgC5AMgAEEBQfwPIAFBP3FBygFqEQQAIgBB/AdqIgI2AiggAkEANgIAIABBgAhqQQE2AgAgAEF/NgL4ByAAQYQIakECNgIAIABBfjYC9AcgAEGICGpBAzYCACAAQX02AvAHIABBjAhqQQQ2AgAgAEF8NgLsByAAQZAIakEFNgIAIABBezYC6AcgAEGUCGpBBjYCACAAQXo2AuQHIABBmAhqQQc2AgAgAEF5NgLgByAAQZwIakEINgIAIABBeDYC3AcgAEGgCGpBCTYCACAAQXc2AtgHIABBpAhqQQo2AgAgAEF2NgLUByAAQagIakELNgIAIABBdTYC0AcgAEGsCGpBDDYCACAAQXQ2AswHIABBsAhqQQ02AgAgAEFzNgLIByAAQbQIakEONgIAIABBcjYCxAcgAEG4CGpBDzYCACAAQXE2AsAHQRAhAEEQIQEDQCAAQQJ0IAJqIAE2AgBBACAAa0ECdCACakEAIAFrNgIAIAEgAEEBaiIAQQFxQQFzaiEBIABBMEcNAAtBACABayEDQTAhAANAIABBAnQgAmogATYCAEEAIABrQQJ0IAJqIAM2AgAgAEEBaiIAQYACRw0ACwtBAQJ/QQwQRCICBEAgAiABIABBAnRsEEQiAzYCACADBEAgAiAANgIEIAIgATYCCAUgAhA4QQAhAgsFQQAhAgsgAgvcAQECfwJAIAAoArQCDQACQCAAKAIoQQNrDgUAAQEBAAELIAAoAiRBA0cNACAAKAIsQQJHDQAgACgCeEEDRw0AIAAoArACDQAgACgC2AEiASgCCEECRw0AIAEoAmBBAUcNACABKAK4AUEBRw0AIAEoAgxBAkoNACABKAJkQQFHDQAgASgCvAFBAUcNACABKAIkIgIgACgCxAJHDQAgASgCfCACRw0AIAEoAtQBIAJHDQAgASgCKCICIAAoAsgCRw0AIAIgASgCgAFGBH8gAiABKALYAUYFQQALDwtBAAvjBgEGfwJAIAAoAtQCIgFBAUYEQCAAIAAoAtgCIgEoAhw2AugCIAAgASgCICIDNgLsAiABQQE2AjggAUEBNgI8IAFBQGtBATYCACABIAEoAiQ2AkQgAUEBNgJIIAMgASgCDCICEE4hAyABIAMgAiADGzYCTCAAQQE2AvACIABBADYC9AJBASEBBSABQX9qQQNLBEAgACgCACIDQRs2AhQgAyABNgIYIAAoAgBBBDYCHCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALIAAgACgCHCAAKAK8AiAAKAKsA2wQaDYC6AIgACAAKAIgIAAoAsACIAAoAqwDbBBoNgLsAiAAQQA2AvACIAAoAtQCQQBMDQFBACEDA0AgAEHYAmogA0ECdGooAgAiAigCCCEEIAIgBDYCOCACIAIoAgwiBTYCPCACQUBrIAQgBWwiATYCACACIAQgAigCJGw2AkQgAiAEIAIoAhwgBBBOIgQgBEUbNgJIIAIgAigCICAFEE4iAiAFIAIbNgJMIAEgBmpBCkoEQCAAKAIAIgJBDjYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAFBAEoEQANAIAFBf2ohAiAAIAAoAvACIgRBAWo2AvACIABB9AJqIARBAnRqIAM2AgAgAUEBSgRAIAIhAQwBCwsLIANBAWoiAyAAKALUAiIBSARAIAAoAvACIQYMAQsLIAFBAEwNAQtBACEDA0AgAEHYAmogA0ECdGooAgAiAigCUEUEQCAAQaQBaiACKAIQIgFBAnRqIQQCQAJAIAFBA0sNACAEKAIARQ0ADAELIAAoAgAiBUE2NgIUIAUgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAgQoAgAhASAAQQFBhAEgAUE/cUHKAWoRBAAiASAEKAIAQYQBEEwaIAIgATYCUCAAKALUAiEBCyADQQFqIgMgAUgNAAsgACgC1AMoAgAhASAAIAFB/wFxQawDahEBACAAKALEAygCACEBIAAgAUH/AXFBrANqEQEAIAAoAswDIAAoAsQDKAIENgIADwsgACgC1AMoAgAhASAAIAFB/wFxQawDahEBACAAKALEAygCACEBIAAgAUH/AXFBrANqEQEAIAAoAswDIAAoAsQDKAIENgIAC8oBAQJ/IwYhBCMGQTBqJAYgBEEYaiIFQQg2AgQgBUEBNgIIIAUgADYCACAEQQxqIgAgAzYCBCAAQQE2AgggACABNgIAIAQgAzYCBCAEQQg2AgggBCACNgIAIAQQuwUiAgRAIAIgBBCjAyIBBEAgAiAAEKMDIgMEQCABKAIAIAEoAgQiACAAEPYERUEfdEEfdUEASAR/QX8FIAUgASADEJwDGkEACyEAIAMQSQVBfyEACyABEEkFQX8hAAsgAhBJBUF/IQALIAQkBiAAC1kBAX8gACgC2AEiAQRAIAEQvwcgACgC2AEQhwkgAEEANgLYAQsgAEHkAWoiASgCAARAIAEQpwkgAUEANgIACyAAQcABaiIAKAIABEAgABCzCyAAQQA2AgALC3MBA38jBiECIwZBEGokBiACQQhqIQMgARDPCSIEBEAgACAEEOEGIQAgBBA4BSACIAE2AgBBAEEDQZGqASACED1BpMUDKAIAEL0BIQAgA0Gn1QM2AgAgAyAANgIEQQBBA0GltgEgAxA9QX8hAAsgAiQGIAAL3AMBCH8gAARAAkAgAEH/////A0sEQEEIEAUiARCIASABQbSLATYCACABQfj3AEEWEAQLIABBAnQQUSEBQbDEAygCACECQbDEAyABNgIAIAIEQEG0xAMoAgAaIAIQOAtBtMQDIAA2AgBBACEBA0AgACABRwRAQbDEAygCACABQQJ0akEANgIAIAFBAWohAQwBCwtBuMQDKAIAIgEEQCABKAIEIQIgACAAQX9qIgdxRSIIBH8gAiAHcQUgAiAATwR/IAIgABBOBSACCwshBUGwxAMoAgAgBUECdGpBuMQDNgIAA0AgASEDA0ACQANAAkAgAygCACIBRQ0GIAEoAgQhAiAFIAgEfyACIAdxBSACIABPBH8gAiAAEE4FIAILCyIERg0AQbDEAygCACAEQQJ0aiICKAIARQ0CIAEhAgNAIAIoAgAiBgRAIAEoAgggBigCCEYEQCAGIQIMAgsLCyADIAY2AgAgAkGwxAMoAgAgBEECdGooAgAoAgA2AgBBsMQDKAIAIARBAnRqKAIAIAE2AgAMAQsLIAEhAwwBCwsgAiADNgIAIAQhBQwAAAsACwsFQbDEAygCACEAQbDEA0EANgIAIAAEQEG0xAMoAgAaIAAQOAtBtMQDQQA2AgALC6oEAgl/An0jBiEFIwZBIGokBiAFQQRqIQQgBSAANgIAIAAoAgAhAwJAAkBBtMQDKAIAIgFFIgkEQEEAIQAMAQUgASABQX9qIghxRSIHBH8gAyAIcQUgAyABSQR/IAMFIAMgARBOCwsiAEECdEGwxAMoAgBqKAIAIgIEQANAIAIoAgAiAkUNAyADIAIoAgQiBkcEQCAHBH8gBiAIcQUgBiABTwR/IAYgARBOBSAGCwsgAEcNBAsgAyACKAIIRw0ACwUMAgsLDAELIAQgAyAFEN8GQcDEAyoCACIKIAGzlEG8xAMoAgBBAWqzIgtdIAlyBEACfyALIAqVjRCSASICIAFBf2ogAXFBAEcgAUEDSXIgAUEBdHIiACAAIAJJGxDeBkG0xAMoAgAiAkF/aiIAIANxIAAgAnFFDQAaIAMgAkkEfyADBSADIAIQTgsLIQAFIAEhAgtBsMQDKAIAIABBAnRqKAIAIgEEfyAEKAIAIAEoAgA2AgAgASAEKAIANgIAIAQFIAQoAgBBuMQDKAIANgIAQbjEAyAEKAIANgIAQbDEAygCACAAQQJ0akG4xAM2AgAgBCgCACIHKAIAIgAEQCAAKAIEIQAgAiACQX9qIgFxBH8gACACTwR/IAAgAhBOBSAACwUgACABcQshAEGwxAMoAgAgAEECdGogBzYCAAsgBAsiACgCACECQbzEA0G8xAMoAgBBAWo2AgAgAEEANgIACyAFJAYgAkEQagskAQF/IAEoAgAhAiAAQgA3AgAgAEEANgIIIAAgAUEEaiACEH4LEQAgASAAQf8BcUGsA2oRAQALEgAgASACIABBA3FBrAVqERoACxIAIAEgAiAAQT9xQbIFahEDAAsSACABIAIgAEEBcUGwBWoRJgAL3AMBCH8gAARAAkAgAEH/////A0sEQEEIEAUiARCIASABQbSLATYCACABQfj3AEEWEAQLIABBAnQQUSEBQZzEAygCACECQZzEAyABNgIAIAIEQEGgxAMoAgAaIAIQOAtBoMQDIAA2AgBBACEBA0AgACABRwRAQZzEAygCACABQQJ0akEANgIAIAFBAWohAQwBCwtBpMQDKAIAIgEEQCABKAIEIQIgACAAQX9qIgdxRSIIBH8gAiAHcQUgAiAATwR/IAIgABBOBSACCwshBUGcxAMoAgAgBUECdGpBpMQDNgIAA0AgASEDA0ACQANAAkAgAygCACIBRQ0GIAEoAgQhAiAFIAgEfyACIAdxBSACIABPBH8gAiAAEE4FIAILCyIERg0AQZzEAygCACAEQQJ0aiICKAIARQ0CIAEhAgNAIAIoAgAiBgRAIAEoAgggBigCCEYEQCAGIQIMAgsLCyADIAY2AgAgAkGcxAMoAgAgBEECdGooAgAoAgA2AgBBnMQDKAIAIARBAnRqKAIAIAE2AgAMAQsLIAEhAwwBCwsgAiADNgIAIAQhBQwAAAsACwsFQZzEAygCACEAQZzEA0EANgIAIAAEQEGgxAMoAgAaIAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2CCAAKAIAIQEgAEEANgIAIAEEQCAAKAIEGiABEDgLC20BAX8gAEGUBmoiAUEYahBVIAFBDGoQVSABEFUgAEGMBWoiAUH8AGoQVSABQfAAahBVIAFB3ABqEMQHIABB/ARqEFUgAEGgAWoQ/AggAEHcAGoQxwIgAEHIAGoQuQggAEFAaxCVASAAQQxqEFULKAEBfyAAQQRqEOkDIAAoAgAhASAAQQA2AgAgAQRAIAEQ6gMgARA4CwuwBwIHfwF8QcYAIQZBwIQ9IQcgA0EBRiILBEBBxgBBBBA5IQZBwIQ9QQQQOSEHIABBAhA5IQAgAUECEDkhAQsgBUEANgIAIABBfmohCCABQX5qIQkgAkGQgMgAaiEMQQAhAQJAAkADQAJAIAEgAigCCE4NAiACQQxqIAFBAnRqIgMoAgAiCiAGSCAKIAdKckUEQCACQYyACGogAUEEdGoiCigCAEEBRwRAIAIgAUEEdGpBkIAIaigCACAIRwRAIAIgAUEEdGpBlIAIaigCAEEBRwRAIAIgAUEEdGpBmIAIaigCACAJRwRAIAIoAgAgACAMIAFBAWogCiAFKAIAQbDxBGwgBGoQvghBAE4EQCADKAIAIAUoAgBBsPEEbCAEahC3CEEATgRAIAUoAgBBsPEEbCAEaiADKAIANgIAIAUoAgAiA0Gw8QRsIARqIAJBkIAoaiABQQR0aisDADkDCCADQbDxBGwgBGogAiABQQR0akGYgChqKwMAOQMQIAUgA0EBaiIDNgIAIANBPEYEQEE8IQAMCAsLCwsLCwsLIAFBAWohAQwBCwsMAQsgBSgCACEAC0EAIQEDQCABIABIBEAgAUGw8QRsIARqIQYgAUGw8QRsIARqIQcgAUGw8QRsIARqIQMgAUEBaiIBIQIDQCACIABIBEAgBisDCCACQbDxBGwgBGorAwihIg0gDaIgBysDECACQbDxBGwgBGorAxChIg0gDaKgIQ0gAygCACIAIAJBsPEEbCAEaiIIKAIAIglKBEAgDSAAQQQQObdjBEAgCEEANgIACwUgDSAJQQQQObdjBEAgA0EANgIACwsgAkEBaiECIAUoAgAhAAwBCwsMAQsLQQAhAgNAIAIgAEgEQCACQbDxBGwgBGooAgBFBEAgAiEBIAAhAwNAIAFBAWoiACADSARAIAFBsPEEbCAEaiAAQbDxBGwgBGpBsPEEEEwaIAAhASAFKAIAIQMMAQsLIAUgA0F/aiIANgIACyACQQFqIQIMAQsLIAsEQAJAQQAhAQNAIAEgAE4NASAEIAQoAgBBAnQ2AgAgBCAEKwMIRAAAAAAAAABAojkDCCAEIAQrAxBEAAAAAAAAAECiOQMQIAQoAhghAkEAIQADQCAAIAJIBEAgBEEcaiAAQQJ0aiIDIAMoAgBBAXQ2AgAgBEHcuAJqIABBAnRqIgMgAygCAEEBdDYCACAAQQFqIQAMAQsLIARBsPEEaiEEIAFBAWohASAFKAIAIQAMAAALAAsLQQALEgAgAEH8hQE2AgAgAEEEahBHC0gBAX8jBiEDIwZBIGokBiADIAAoAjggAigCACACKAIEIAIoAgggAigCDBC4AyAAIAMgAhDgASAAIAEgAxDgASADEN0BIAMkBguLAwEEfwJAAkACQAJAIAAoAhgOAwAAAQILIAAoAiwhAgNAIAEgAk4NAyAAIAFBCHRqIgMoAjRBf0oEQCAAIAFBCHRqKwNQRAAAAAAAAOA/YwRAIAAgAUEIdGpBfzYCOCADQX82AjQgACABQQh0akEGNgKcAgsLIAFBAWohAQwAAAsACyAAKAIsIQIDQCABIAJODQIgACABQQh0aiIDKAI0QX9KBEAgACABQQh0aisDUEQAAAAAAADgP2MEQCAAIAFBCHRqQX82AjwgA0F/NgI0IAAgAUEIdGpBBjYCnAILCyABQQFqIQEMAAALAAsgACgCLCEDA0AgASADTg0BIAAgAUEIdGoiAigCOEF/SgR/IAAgAUEIdGorA1hEAAAAAAAA4D9jBH8gAkF/NgI4QQAFQQELBUEBCyECIAAgAUEIdGoiBCgCPEF/SgRAIAAgAUEIdGorA2BEAAAAAAAA4D9jBEAgBEF/NgI8IAJFBEAgACABQQh0akEGNgKcAgsLCyABQQFqIQEMAAALAAsLCwAgAEMAAAA/ko4LDQAgABDSAUMYcjE/lQu3AwIDfwN9IAAoAgAiBCoCACIHIAEoAgAiAyoCACIGXQR/QQEFIAYgB10Ef0EABSAEKAIEIAMoAgRJCwshASAGIAIoAgAiAioCACIIXQR/QQEFIAggBl0Ef0EABSADKAIEIAIoAgRJCwshAAJ/IAEEfyAABEAgBCAIOAIAIAIgBzgCACAEKAIEIQAgBCACKAIENgIEIAIgADYCBEEBDAILIAQgBjgCACADIAc4AgAgBCgCBCEFIAQgAygCBDYCBCADIAU2AgQgByACKgIAIgZdBEAgAkEEaiEAIAIoAgQhAQVBASAGIAddDQIaQQEgBSACQQRqIgAoAgAiAU8NAhoLIAMgBjgCACACIAc4AgAgAyABNgIEIAAgBTYCAEECBSAABH8gAyAIOAIAIAIgBjgCACADKAIEIQAgAyACKAIENgIEIAIgADYCBCAEKgIAIgcgAyoCACIGXQRAIARBBGohACADKAIEIQEgBCgCBCECBUEBIAYgB10NAxpBASAEQQRqIgAoAgAiAiADKAIEIgFPDQMaCyAEIAY4AgAgAyAHOAIAIAAgATYCACADIAI2AgRBAgVBAAsLCwvtAQEFfyAAKAIAIQYgACgCBCEDA0AgAyAGRwRAIAEoAgQiBEF0aiICQQA2AgAgBEF4aiIFQQA2AgAgBEF8aiIEQQA2AgAgAiADQXRqIgIoAgA2AgAgBSADQXhqIgUoAgA2AgAgBCADQXxqIgMoAgA2AgAgA0EANgIAIAVBADYCACACQQA2AgAgASABKAIEQXRqNgIEIAIhAwwBCwsgACgCACECIAAgASgCBDYCACABIAI2AgQgACgCBCECIAAgASgCCDYCBCABIAI2AgggACgCCCECIAAgASgCDDYCCCABIAI2AgwgASABKAIENgIACyIBAX8gACgCCCICQQAgAUEMbBBFGiAAIAFBDGwgAmo2AggLIgEBfyAAKAIEIgJBACABQQxsEEUaIAAgAUEMbCACajYCBAsiAQF/IAAoAgQiAkEAIAFBAnQQRRogACABQQJ0IAJqNgIECxMAIAAgATYCVCAAQTxqIAEQ0QILOwECfyAAKAIEIQEDQCAAKAIIIgIgAUcEQCAAIAJBbGo2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLqQEBA38gACgCACEEIAAoAgQhAgNAIAIgBEcEQCABKAIEQWxqIgMgAkFsaiICKQIANwIAIAMgAikCCDcCCCADIAIoAhA2AhAgASABKAIEQWxqNgIEDAELCyAAKAIAIQIgACABKAIENgIAIAEgAjYCBCAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAEoAgQ2AgALcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQcyZs+YASwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUEUbBBRIQQLCyAAIAQ2AgAgACACQRRsIARqIgI2AgggACACNgIEIAAgAUEUbCAEajYCDAvkAQEGfyMGIQIjBkEQaiQGIAJBCGohAyAABH8gASAAQfSGrwNqIgUoAgBGBH9BAAUgAEGIh68DaiIEKAIAIgYEQCAGEEkgBEEANgIACwJAAkACQAJAIAEOBQMAAAABAgsgBCAAKAIkIAAoAigQgwg2AgAMAgsgAEGEh68DakEBNgIAIABBgIevA2pBATYCAEEEIQEMAQtBAEEDQcilASACED1BACEBCyAFIAE2AgAgACgCAEEBRgRAIAMgAUECdEGACGooAgA2AgBBAEEDQZKmASADED0LQQALBUF/CyEHIAIkBiAHCygAIAAgATgCACAAIAI4AgQgACADOAIIIAAgBDgCDCAAIAVBAXE6ABALewEBfyMGIQIjBkEQaiQGIAAEQCAAKAIAIAFHBEACQCAAIAE2AgAgAUUEQCAAQeSGpwJqIgAoAgAQOCAAQQA2AgAMAQsgAEHkhqcCaiAAKAIoIAAoAiRsEEQiADYCACAARQRAQQBBA0G52AIgAhA9QQEQAQsLCwsgAiQGC5oBAQR/IwYhBSMGQRBqJAYgAiABayIEQW9LBEAQAAsgBEELSQRAIAAgBDoACwUgACAEQRBqQXBxIgYQUSIDNgIAIAAgBkGAgICAeHI2AgggACAENgIEIAMhAAsgAiABayEGIAAhAwNAIAEgAkcEQCADIAEQXyABQQFqIQEgA0EBaiEDDAELCyAFQQA6AAAgACAGaiAFEF8gBSQGC4IBAQN/IwYhAiMGQRBqJAYgAARAIAAoAgAiAQRAIAEoAgAiAQRAIAEQOAtBACEBA0AgASAAKAIAIgMoAgxIBEAgAygCCCABQQxsaigCABA4IAFBAWohAQwBCwsgAygCCBA4IAAoAgAQOCAAQQA2AgALBUEAQQNB3LgBIAIQPQsgAiQGCxEAIAAgACgCACAAKAIEEKUJC64BAQV/IwYhBSMGQRBqJAYgACACIAMgBUEEaiAFEKYJQQBIBH9BfwUgBSoCBCABKgIMIgKUQzMzy0GVQwAAAD+SEEMiAEEASAR/QX8FIAEoAgQiByAASgR/IAEoAggiCLIgAiAFKgIAlEMzM8tBlZNDAAAAP5IQQyIGQX9KIAggBkpxBH8gBCABKAIAIAAgBiAHbGpqLAAAOgAAQQAFQX8LBUF/CwsLIQkgBSQGIAkLvQICBH8CfSMGIQYjBkFAayQGIAZBNGohByAGQTBqIQggAAR/IABBCGogASAGEPoBIABBuAFqIgAgBioCDCAGKgIAIAKUIAYqAgQgA5SSkiAGKgIsIAYqAiAgApQgBioCJCADlJKSIguVIgogBioCHCAGKgIQIAKUIAYqAhQgA5SSkiALlSIDIAQgBRBtQQBIBH9BfwUgACAEKgIAIAUqAgAgByAIEKYBQQBIBH9BfwUgCiAHKgIAkyICIAKUIAMgCCoCAJMiAiAClJJDAACAP15BH3RBH3ULCwUgASoCHCABKgIQIAKUIAEqAhQgA5SSkiEKIAQgASoCDCABKgIAIAKUIAEqAgQgA5SSkiABKgIsIAEqAiAgApQgASoCJCADlJKSIgKVOAIAIAUgCiAClTgCAEEACyEJIAYkBiAJC4YLAQp/IAMoAhghCAJAAkACQCACQQVrDgoAAQEBAQEBAAAAAQsgAygCDCELIAMoAhQhDSABQQF0IQ4gACAEQQAgAygCCGsiB0EBdGogASAFQQAgAygCEGsiBUEBdGpsamohBEEAIQBBACEBQQAhAgNAIAUgDUoEQAwDBSAHIQwgBCEJA0AgDCALTARAIAguAQAiD0GAIEcEQCAAIAktAAAiCmohACABIAogCmxqIQEgAiAPQf//A3EgCmxqIQILIAxBAWohDCAIQQJqIQggCUECaiEJDAELCyAEIA5qIQQgBUEBaiEFDAELAAALAAsgAkECSQRAIAMoAhQhDkEAIAMoAhBrIQogCCEJQQAhAkEAIQgDQCAKIA5KBEAgAiEAIAghASAMIQIMAwUgAygCDCEPQQAgAygCCCIHayELIAAgBCABIAUgCkEBdGpsaiAHQQF0a0EDbGohBwNAIAsgD0wEQCAJLgEAIhBBgCBHBEAgAiAHLQACIActAAAgBy0AAWpqQQMQSCINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgC0EBaiELIAdBBmohByAJQQJqIQkMAQsLIApBAWohCgwBCwAACwALIAJBAXJBA0YEQCADKAIUIQ5BACADKAIQayEKIAghCUEAIQJBACEIA0AgCiAOSgRAIAIhACAIIQEgDCECDAMFIAMoAgwhD0EAIAMoAggiB2shCyAAIAQgASAFIApBAXRqbGogB0EBdGtBAnRqIQcDQCALIA9MBEAgCS4BACIQQYAgRwRAIAIgBy0AAiAHLQAAIActAAFqakEDEEgiDWohAiAIIA0gDWxqIQggDCAQQf//A3EgDWxqIQwLIAtBAWohCyAHQQhqIQcgCUECaiEJDAELCyAKQQFqIQoMAQsAAAsACyACQQJyQQZGBEAgAygCFCEOQQAgAygCEGshCiAIIQlBACECQQAhCANAIAogDkoEQCACIQAgCCEBIAwhAgwDBSADKAIMIQ9BACADKAIIIgdrIQsgACAEIAEgBSAKQQF0amxqIAdBAXRrQQJ0aiEHA0AgCyAPTARAIAkuAQAiEEGAIEcEQCACIActAAMgBy0AASAHLQACampBAxBIIg1qIQIgCCANIA1saiEIIAwgEEH//wNxIA1saiEMCyALQQFqIQsgB0EIaiEHIAlBAmohCQwBCwsgCkEBaiEKDAELAAALAAsCQAJAAkAgAkEHaw4CAAECCyADKAIUIQ5BACECQQAgAygCEGshCiAIIQcDQCAKIA5KBEAgAiEAIAkhASAMIQIMBAUgAygCDCEPIAkhCEEAIAMoAggiC2shCSAAIAQgASAFIApBAXRqbGogC0EBdGtBAXRqIQsDQCAJIA9MBEAgBy4BACIQQYAgRwRAIAIgCy0AASINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgCUEBaiEJIAtBBGohCyAHQQJqIQcMAQsLIAghCSAKQQFqIQoMAQsAAAsACyADKAIUIQ4gCCEJQQAhAkEAIQhBACADKAIQayEHA0AgByAOSgRAIAIhACAIIQEgDCECDAMFIAMoAgwhD0EAIAMoAggiC2shCiAAIAQgASAFIAdBAXRqbGogC0EBdGtBAXRqIQsDQCAKIA9MBEAgCS4BACIQQYAgRwRAIAIgCy0AACINaiECIAggDSANbGohCCAMIBBB//8DcSANbGohDAsgCUECaiEJIApBAWohCiALQQRqIQsMAQsLIAdBAWohBwwBCwAACwALQQAhAEEAIQFBACECCyAGIAEgACAAbCADKAIkIgEQOWsiBAR/IAIgACADKAIgbCABEDlrQeQAbCADKAIcEDlB5ABsIASykRBDEDkFQQALNgIAC0UBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJNDAAAAP5QiA4wgAyADQwAAAABdGwuIDgMIfwF+DX0jBiEGIwZBIGokBiAGQRRqIQcgBkEQaiEIIAZBDGohCSAGQQhqIQogBkEEaiELIAJBAEgEQEF/IQEFAkACQAJAAkACQAJAIAIOBAABAgMECyAEQQgQObIhEiAEQQdsQQgQObIhEyAFQQgQObIhFCAFQQdsQQgQObIhFSAEQQIQObIhFiAFQQIQObIhF0EAIQJBfyEBA0ACQAJAAkAgAkEYbCAAaigCDEF/aw4CAgABCyACQRhsIABqKgIQIg8gEl0gDyATXnJFBEAgAkEYbCAAaioCFCIQIBRdIBAgFV5yRQRAIA8gFpMiDyAPlCAQIBeTIg8gD5SSIg8gEV4EQCAPIREgAiEBCwsLCyACQQFqIQIMAQsLIAFBf0YEQEF/IQEMBQsgAUEYbCAAakEBNgIMDAQLIARBCBA5siESIARBB2xBCBA5siETIAVBCBA5siEUIAVBB2xBCBA5siEVQX8hAUEAIQIDQAJAAkACQCACQRhsIABqKAIMQX9rDgICAAELIAJBGGwgAGoqAhAiDyASXSAPIBNeckUEQCACQRhsIABqKgIUIhAgFF0gECAVXnJFBEAgDyADKgIAkyIPIA+UIBAgAyoCBJMiDyAPlJIiDyARXgRAIA8hESACIQELCwsLIAJBAWohAgwBCwsgAUF/RgRAQX8hAQwECyABQRhsIABqQQE2AgwMAwsgBEEIEDmyIRIgBEEHbEEIEDmyIRMgBUEIEDmyIRQgBUEHbEEIEDmyIRVBfyEBQQAhAgNAAkACQAJAIAJBGGwgAGooAgxBf2sOAgIAAQsgAkEYbCAAaioCECIPIBJdIA8gE15yRQRAIAJBGGwgAGoqAhQiECAVXiAQIBRdckUEQCAPIAMqAgAiD5MgAyoCDCADKgIEIhaTlCAQIBaTIAMqAgggD5OUkyIPIA+UIg8gEV4EQCAPIREgAiEBCwsLCyACQQFqIQIMAQsLIAFBf0YEQEF/IQEMAwsgAUEYbCAAakEBNgIMDAILIAMgA0EIaiAHIAgQ2wIgAyADQRBqIAkgChDbAiAEQQgQObIhFiAEQQdsQQgQObIhFyAFQQgQObIhGCAFQQdsQQgQObIhGSADQRhqIQwgCSoCACIUIAgqAgAiEpQiESAKKgIAIhUgByoCACITlCIPk0MAAAAAYEUhCSAPIBGTQwAAAABgRSENQQJBASAJGyEHQQFBAiAJGyEIQX8hAUEAIQJDAAAAACERA0ACQAJAAkAgAkEYbCAAaigCDEF/aw4CAgABCyACQRhsIABqKgIQIg8gFl0gDyAXXnJFBEAgAkEYbCAAaiIEKgIUIhAgGF0gECAZXnJFBEAgDCAPOAIAIAMgBCgCFDYCHCADIAwgCyAGENsCIAsqAgAhDwJ/AkAgCQR/IAYqAgAhEAwBBSASIA+UIBMgBioCACIQlJNDAAAAAGAEf0ECQQMgFSAPlCAUIBCUk0MAAAAAYEUiBRshBEEBIQpBA0ECIAUbBQwCCwsMAQsgDSAVIA+UIhogFCAQlCIbk0MAAAAAYEVyBH8gEyAQlCASIA+Uk0MAAAAAYEUgGyAak0MAAAAAYEVyDQRBAyEKIAghBCAHBUEBQQMgEiAPlCATIBCUk0MAAAAAYEUiBRshBEECIQpBA0EBIAUbCwshBSADIAogBSAEELAJIg8gEV4EfyAPIREgAgUgAQshAQsLCyACQQFqIQIMAQsLIAFBf0cEQCABQRhsIABqQQE2AgwLDAELQQAhAwJAAkADQAJAAkACQCADQRhsIAFqIgIoAgxBf2sOAgIAAQsgAkEBNgIMIANBGGwgAWohBCADQRhsIAFqIQUgA0EYbCABaiEHQQAhAgNAAkACQCACQRhsIABqIggoAgxBf2sOAgMAAQsgBCgCACACQRhsIABqKAIARgRAIAUoAgQgAkEYbCAAaigCBEYEQCAHKAIIIAJBGGwgAGooAghGDQcLCwsgAkEBaiECDAAACwALIANBAWohAwwBCwsMAQsgCEEBNgIMIAIhAQwBCyABQX82AgxBhMQDQQBBhMQDKAIAIgEEfyABBUHovgNBABATQX9qrTcDAEGExAMoAgALQQFqIgEgAUGAAUYbNgIAQQAhAUEAIQIDQAJAAkACQCACQRhsIABqKAIMQX9rDgICAAELIAFBAWohAQsgAkEBaiECDAELCyABRQRAQX8hAQwBC0HovgNB6L4DKQMAQq3+1eTUhf2o2AB+QgF8Ig43AwAgAbIgDkIhiKeylEMAAAAwlBBDIQRBACECQQAhAQNAAkACQAJAAkAgAkEYbCAAaiIFKAIMIgNBf2sOAgABAgsgAyEBDAQLIAEgBEYNASABQQFqIQELIAJBAWohAgwBCwsgBUEBNgIMIAIhAQsLIAYkBiABC5gEAgF/EX0jBiEEIwZBMGokBiAABEAgAEEIaiABIAQQ+gEgAioCACILIAQqAgAiFJQhDiACKgIEIgYgBCoCBCIMlCEPIAYgBCoCFCINlCEQIAQqAiwiCiALIAQqAiAiB5QiCSAGIAQqAiQiCJQiBZKSIREgCiALQwAAIEGSIhIgB5QgBZKSIRMgCiAJIAZDAAAgQZIiBiAIlJKSIQogBCoCHCIHIAsgBCoCECIIlCIFIAYgDZSSkiAKlSELIAQqAgwiCSAOIAYgDJSSkiAKlSEMBSACKgIAIgsgASoCACIUlCEOIAIqAgQiBiABKgIEIgyUIQ8gBiABKgIUIg2UIRAgASoCLCIKIAsgASoCICIHlCIJIAYgASoCJCIIlCIFkpIhESAKIAtDAAAgQZIiEiAHlCAFkpIhEyAKIAkgBkMAACBBkiIGIAiUkpIhCiABKgIcIgcgCyABKgIQIgiUIgUgBiANlJKSIAqVIQsgASoCDCIJIA4gBiAMlJKSIAqVIQwLIAcgEiAIlCAQkpIgE5UhDSAJIBIgFJQgD5KSIBOVIRUgByAFIBCSkiARlSEHIAkgDiAPkpIgEZUhCSAVIAmTIgUgBZQgDSAHkyIFIAWUkiIIIAwgCZMiBSAFlCALIAeTIgUgBZSSIgVdIQAgAyAFIAggABuRQ1yPIkCUOAIAIAMgCCAFIAAbkUNcjyJAlDgCBCAEJAZBAAsfACAABH8gACABIAIgAxCGBAVBACABIAIgAxCGBAsaCwYAQRwQAgsGAEEbEAILBgBBFxACCwYAQRIQAgsIAEEPEAJCAAsIAEEMEAJBAAsIAEEKEAJBAAuMAQECfyMFQQFqJAUgACMFNgIAA0AgBCADSARAIARBA3QgAmooAgBFBEAgBEEDdCACaiMFNgIAIARBA3RBBGogAmogATYCACAEQQN0QQhqIAJqQQA2AgAgAxADIAIPCyAEQQFqIQQMAQsLIAAgASACIANBAXQiAEEBakEDdBDoASAAEI8EIQUgABADIAULrwwBB38gACABaiEFIAAoAgQiA0EBcUUEQAJAIAAoAgAhAiADQQNxRQRADwsgASACaiEBIAAgAmsiAEHA0QMoAgBGBEAgBSgCBCICQQNxQQNHDQFBtNEDIAE2AgAgBSACQX5xNgIEIAAgAUEBcjYCBCAFIAE2AgAPCyACQQN2IQQgAkGAAkkEQCAAKAIIIgIgACgCDCIDRgRAQazRA0Gs0QMoAgBBASAEdEF/c3E2AgAFIAIgAzYCDCADIAI2AggLDAELIAAoAhghByAAIAAoAgwiAkYEQAJAIABBEGoiA0EEaiIEKAIAIgIEQCAEIQMFIAMoAgAiAkUEQEEAIQIMAgsLA0ACQCACQRRqIgQoAgAiBkUEQCACQRBqIgQoAgAiBkUNAQsgBCEDIAYhAgwBCwsgA0EANgIACwUgACgCCCIDIAI2AgwgAiADNgIICyAHBEAgACAAKAIcIgNBAnRB3NMDaiIEKAIARgRAIAQgAjYCACACRQRAQbDRA0Gw0QMoAgBBASADdEF/c3E2AgAMAwsFIAdBEGoiAyAHQRRqIAAgAygCAEYbIAI2AgAgAkUNAgsgAiAHNgIYIAAoAhAiAwRAIAIgAzYCECADIAI2AhgLIAAoAhQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAUoAgQiB0ECcQRAIAUgB0F+cTYCBCAAIAFBAXI2AgQgACABaiABNgIAIAEhAwUgBUHE0QMoAgBGBEBBuNEDIAFBuNEDKAIAaiIBNgIAQcTRAyAANgIAIAAgAUEBcjYCBEHA0QMoAgAgAEcEQA8LQcDRA0EANgIAQbTRA0EANgIADwsgBUHA0QMoAgBGBEBBtNEDIAFBtNEDKAIAaiIBNgIAQcDRAyAANgIAIAAgAUEBcjYCBCAAIAFqIAE2AgAPCyAHQQN2IQQgB0GAAkkEQCAFKAIIIgIgBSgCDCIDRgRAQazRA0Gs0QMoAgBBASAEdEF/c3E2AgAFIAIgAzYCDCADIAI2AggLBQJAIAUoAhghCCAFKAIMIgIgBUYEQAJAIAVBEGoiA0EEaiIEKAIAIgIEQCAEIQMFIAMoAgAiAkUEQEEAIQIMAgsLA0ACQCACQRRqIgQoAgAiBkUEQCACQRBqIgQoAgAiBkUNAQsgBCEDIAYhAgwBCwsgA0EANgIACwUgBSgCCCIDIAI2AgwgAiADNgIICyAIBEAgBSgCHCIDQQJ0QdzTA2oiBCgCACAFRgRAIAQgAjYCACACRQRAQbDRA0Gw0QMoAgBBASADdEF/c3E2AgAMAwsFIAhBEGoiAyAIQRRqIAMoAgAgBUYbIAI2AgAgAkUNAgsgAiAINgIYIAUoAhAiAwRAIAIgAzYCECADIAI2AhgLIAUoAhQiAwRAIAIgAzYCFCADIAI2AhgLCwsLIAAgASAHQXhxaiIDQQFyNgIEIAAgA2ogAzYCACAAQcDRAygCAEYEQEG00QMgAzYCAA8LCyADQQN2IQIgA0GAAkkEQCACQQN0QdTRA2ohAUGs0QMoAgAiA0EBIAJ0IgJxBH8gAUEIaiIDKAIABUGs0QMgAiADcjYCACABQQhqIQMgAQshAiADIAA2AgAgAiAANgIMIAAgAjYCCCAAIAE2AgwPCyADQQh2IgEEfyADQf///wdLBH9BHwUgASABQYD+P2pBEHZBCHEiAnQiBEGA4B9qQRB2QQRxIQFBDiABIAJyIAQgAXQiAUGAgA9qQRB2QQJxIgJyayABIAJ0QQ92aiIBQQF0IAMgAUEHanZBAXFyCwVBAAsiAkECdEHc0wNqIQEgACACNgIcIABBADYCFCAAQQA2AhACQEGw0QMoAgAiBEEBIAJ0IgZxRQRAQbDRAyAEIAZyNgIAIAEgADYCAAwBCyADIAEoAgAiASgCBEF4cUYEQCABIQIFAkAgA0EAQRkgAkEBdmsgAkEfRht0IQQDQCABQRBqIARBH3ZBAnRqIgYoAgAiAgRAIARBAXQhBCADIAIoAgRBeHFGDQIgAiEBDAELCyAGIAA2AgAMAgsLIAIoAggiASAANgIMIAIgADYCCCAAIAE2AgggACACNgIMIABBADYCGA8LIAAgATYCGCAAIAA2AgwgACAANgIIC80BAQN/Qe////8DIAFrIAJJBEAQAAsgACwAC0EASAR/IAAoAgAFIAALIQUgAUHn////AUkEQEECIAFBAXQiByABIAJqIgIgAiAHSRsiAkEEakF8cSACQQJJGyICQf////8DSwRAEAAFIAIhBgsFQe////8DIQYLIAZBAnQQUSECIAQEQCACIAUgBBCnAQsgAyAEayIDBEAgAiAEQQJ0aiAFIARBAnRqIAMQpwELIAFBAUcEQCAFEDgLIAAgAjYCACAAIAZBgICAgHhyNgIIC6ACAQR/IwYhCCMGQRBqJAZB7v///wMgAWsgAkkEQBAACyAALAALQQBIBH8gACgCAAUgAAshCSABQef///8BSQRAQQIgAUEBdCILIAEgAmoiAiACIAtJGyICQQRqQXxxIAJBAkkbIgJB/////wNLBEAQAAUgAiEKCwVB7////wMhCgsgCkECdBBRIQIgBARAIAIgCSAEEKcBCyAGBEAgBEECdCACaiAHIAYQpwELIAMgBWsiAyAEayIHBEAgBEECdCACaiAGQQJ0aiAEQQJ0IAlqIAVBAnRqIAcQpwELIAFBAUcEQCAJEDgLIAAgAjYCACAAIApBgICAgHhyNgIIIAAgAyAGaiIANgIEIAhBADYCACAAQQJ0IAJqIAgQbiAIJAYLkAEBA38jBiEDIwZBEGokBiABQe////8DSwRAEAALIAFBAkkEQCAAIAE6AAsgACEEBSABQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgATYCBAsLIAEEQCAEIAIgARDrBAsgA0EANgIAIAFBAnQgBGogAxBuIAMkBgvuAQEDfyMGIQgjBkEQaiQGQW4gAWsgAkkEQBAACyAALAALQQBIBH8gACgCAAUgAAshCSABQef///8HSQR/QQsgAUEBdCIKIAEgAmoiAiACIApJGyICQRBqQXBxIAJBC0kbBUFvCyIKEFEhAiAEBEAgAiAJIAQQqAELIAYEQCACIARqIAcgBhCoAQsgAyAFayIDIARrIgcEQCAGIAIgBGpqIAUgBCAJamogBxCoAQsgAUEKRwRAIAkQOAsgACACNgIAIAAgCkGAgICAeHI2AgggACADIAZqIgA2AgQgCEEAOgAAIAAgAmogCBBfIAgkBgsWACABBEAgACACEEJB/wFxIAEQRRoLC3IBA38jBiEDIwZBEGokBiABQW9LBEAQAAsgAUELSQRAIAAgAToACwUgACABQRBqQXBxIgQQUSIFNgIAIAAgBEGAgICAeHI2AgggACABNgIEIAUhAAsgACABIAIQlQQgA0EAOgAAIAAgAWogAxBfIAMkBgv6FQMMfwF+AnwjBiELIwZB0AFqJAYgC0HIAWohDSALQcABaiEOIAtB4ABqIQwgAygCBCEKA0AgByAKSARAIAMoAgAiCCAHQcACbGohCSAHQcACbCAIaigCBARAIAdBwAJsIAhqIRBBACEFQX8hBgNAIAUgAkgEQAJAAkACQCAFQQh0IAFqKAIMIg8NACAFQQh0IAFqKQP4ASIRUA0AIBEgECkDuAJRDQEMAgsgDyAJKAIARg0ADAELIAVBCHQgAWorAzAiEiADKwN4Y0UEQCAGQX9GBH8gBQUgBkEIdCABaisDMCASYwR/IAUFIAYLCyEGCwsgBUEBaiEFDAELCyAHQcACbCAIaiAGNgKwAiAGQX9KBEAgBkEIdCABaiAGQQh0IAFqKAIYNgIQCwVBfyEGQQAhBQNAIAUgAkgEQCAFQQh0IAFqKAIIIAkoAgBGBEAgBUEIdCABaisDKCISIAMrA3BjRQRAIAZBf0YEfyAFBSAGQQh0IAFqKwMoIBJjBH8gBQUgBgsLIQYLCyAFQQFqIQUMAQsLIAdBwAJsIAhqIAY2ArACIAZBf0oEQCAGQQh0IAFqIAZBCHQgAWooAhQ2AhALCyAHQQFqIQcMAQsLQQAhBUEAIQJBACEGQQAhBwNAIAcgCkgEQCADKAIAIgogB0HAAmxqKAKwAiIIQQBOBEACQCAAIAhBCHQgAWoiCSAHQcACbCAKaisDCCALENoDRAAAAAAAABBAZARAIAMoAgAgB0HAAmxqQX82ArACIAhBCHQgAWoiCCgC7AENASAIQQc2AuwBDAELIAVFIAIgCSgCACIISHIEQEEAIQIDfyACQQNGBH8gByEGIAgFQQAhBgNAIAZBBEcEQCACQQV0IAxqIAZBA3RqIAJBBXQgC2ogBkEDdGorAwA5AwAgBkEBaiEGDAELCyACQQFqIQIMAQsLIQILIAVBAWohBQsLIAdBAWohByADKAIEIQoMAQsLAkACQCAFRQ0AIAUgAygCgAFIDQAgDCADKAIAIAZBwAJsakHwAGogCxCzAiAFQQZ0EEQiB0UEQEEAQQNBudgCIA4QPUEBEAELIAVB4ABsEEQiBkUEQEEAQQNBudgCIA0QPUEBEAELIAVBAnQhCCADKAIEIRBBACEFQQAhAgNAIAUgEEgEQCADKAIAIgogBUHAAmxqKAKwAiIJQQBOBEAgAkEDdCINQQN0IAdqIAlBCHQgAWpBqAFqQQQgCUEIdCABaigCECIOa0EEEE8iD0EEdGorAwA5AwAgDUEBckEDdCAHaiAJQQh0IAFqIA9BBHRqKwOwATkDACANQQJyQQN0IAdqIAlBCHQgAWpBqAFqQQUgDmtBBBBPIg9BBHRqKwMAOQMAIA1BA3JBA3QgB2ogCUEIdCABaiAPQQR0aisDsAE5AwAgDUEEckEDdCAHaiAJQQh0IAFqQagBakEGIA5rQQQQTyIPQQR0aisDADkDACANQQVyQQN0IAdqIAlBCHQgAWogD0EEdGorA7ABOQMAIA1BBnJBA3QgB2ogCUEIdCABakGoAWpBByAOa0EEEE8iDkEEdGorAwA5AwAgDUEHckEDdCAHaiAJQQh0IAFqIA5BBHRqKwOwATkDACACQQxsIglBA3QgBmogBUHAAmwgCmorA9ABOQMAIAlBAXJBA3QgBmogBUHAAmwgCmorA9gBOQMAIAlBAnJBA3QgBmogBUHAAmwgCmorA+ABOQMAIAlBA3JBA3QgBmogBUHAAmwgCmorA+gBOQMAIAlBBGpBA3QgBmogBUHAAmwgCmorA/ABOQMAIAlBBWpBA3QgBmogBUHAAmwgCmorA/gBOQMAIAlBBmpBA3QgBmogBUHAAmwgCmorA4ACOQMAIAlBB2pBA3QgBmogBUHAAmwgCmorA4gCOQMAIAlBCGpBA3QgBmogBUHAAmwgCmorA5ACOQMAIAlBCWpBA3QgBmogBUHAAmwgCmorA5gCOQMAIAlBCmpBA3QgBmogBUHAAmwgCmorA6ACOQMAIAlBC2pBA3QgBmogBUHAAmwgCmorA6gCOQMAIAJBAWohAgsgBUEBaiEFDAELCyAEQQBHIQQgAygCaARAIAAgCyAHIAYgCCAMEL8CIhIgACADQQhqIgIgByAGIAggAhC/AiITYyEFIAQEQCAFBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAESamZmZmZnpPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAEQzMzMzMzPjPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAESamZmZmZnZPxCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEEA0AgBEEDRwRAQQAhBQNAIAVBBEcEQCADQQhqIARBBXRqIAVBA3RqIARBBXQgDGogBUEDdGorAwA5AwAgBUEBaiEFDAELCyAEQQFqIQQMAQsLBSATIRILIBJEAAAAAAAANEBmBEAgACgCAEQAAAAAAAAAABCNASAAIAsgByAGIAggDBCOASISIAAgAiAHIAYgCCACEI4BIhNjBEBBACEAA0AgAEEDRwRAQQAhAgNAIAJBBEcEQCADQQhqIABBBXRqIAJBA3RqIABBBXQgDGogAkEDdGorAwA5AwAgAkEBaiECDAELCyAAQQFqIQAMAQsLBSATIRILCwsLCwUgBQRAQQAhAANAIABBA0cEQEEAIQIDQCACQQRHBEAgA0EIaiAAQQV0aiACQQN0aiAAQQV0IAxqIAJBA3RqKwMAOQMAIAJBAWohAgwBCwsgAEEBaiEADAELCwUgEyESCwsFIAQgACALIAcgBiAIIANBCGoiAhC/AiISRAAAAAAAADRAZnEEQCAAKAIARJqZmZmZmek/EI0BIAAgCyAHIAYgCCACEI4BIhJEAAAAAAAANEBmBHwgACgCAEQzMzMzMzPjPxCNASAAIAsgByAGIAggAhCOASISRAAAAAAAADRAZgR8IAAoAgBEmpmZmZmZ2T8QjQEgACALIAcgBiAIIAIQjgEiEkQAAAAAAAA0QGYEfCAAKAIARAAAAAAAAAAAEI0BIAAgCyAHIAYgCCACEI4BBSASCwUgEgsFIBILIRILCyAGEDggBxA4AkAgEkQAAAAAAAA0QGMEQCADQQE2AmgMAQsgA0EANgJoIAMoAgQhAkEAIQADQCAAIAJODQEgAygCACAAQcACbGooArACIgRBAE4EQCAEQQh0IAFqIgQoAuwBRQRAIARBCDYC7AELCyAAQQFqIQAMAAALAAsMAQsgA0EANgJoCyALJAYLyQwCEH8RfCMGIQYjBkGAAWokBiAGQfgAaiEOIAZB8ABqIQ8gBkHoAGohECAGQeAAaiERIAZB2ABqIRIgBkHQAGohCCAGQcgAaiEJIANBBEgEf0F/BQJ/A0AgBSADSARAIAVBAWohE0F/IAVBGGwgAmorAxBEAAAAAAAAAABiDQIaIBMhBQwBCwsgACsDAEQAAAAAAAAAAGEEf0F/BSAAKwMgRAAAAAAAAAAAYgR/QX8FIAArAyhEAAAAAAAAAABhBH9BfwUgAEFAaysDAEQAAAAAAAAAAGIEf0F/BSAAKwNIRAAAAAAAAAAAYgR/QX8FIAArA1BEAAAAAAAA8D9iBH9BfwUgACsDGEQAAAAAAAAAAGIEf0F/BSAAKwM4RAAAAAAAAAAAYgR/QX8FIAArA1hEAAAAAAAAAABiBH9BfwUgA0EBdCIFQQgQiwEiCkUEQEEAQQNB9awBIAkQPUF/DAoLIAVBARCLASIJRQRAIAoQSUEAQQNBj60BIAgQPUF/DAoLQQAhCANAIAMgCEcEQCAKKAIAIgcgCEEEdCIFQQN0aiAIQRhsIAJqIgsrAwA5AwAgBUEBckEDdCAHaiAIQRhsIAJqIgwrAwg5AwAgBUECckEDdCAHakQAAAAAAADwPzkDACAFQQNyQQN0IAdqRAAAAAAAAAAAOQMAIAVBBHJBA3QgB2pEAAAAAAAAAAA5AwAgBUEFckEDdCAHakQAAAAAAAAAADkDACAFQQZyQQN0IAdqIAsrAwAgCEEEdCABaiINKwMAopo5AwAgBUEHckEDdCAHaiAMKwMIIA0rAwCimjkDACAFQQhyQQN0IAdqRAAAAAAAAAAAOQMAIAVBCXJBA3QgB2pEAAAAAAAAAAA5AwAgBUEKckEDdCAHakQAAAAAAAAAADkDACAFQQtyQQN0IAdqIAsrAwA5AwAgBUEMckEDdCAHaiAMKwMIOQMAIAVBDXJBA3QgB2pEAAAAAAAA8D85AwAgBUEOckEDdCAHaiALKwMAIAhBBHQgAWoiCysDCKKaOQMAIAVBD3JBA3QgB2ogDCsDCCALKwMIopo5AwAgCSgCACIHIAhBAXQiBUEDdGogDSsDADkDACAFQQFyQQN0IAdqIAsrAwg5AwAgCEEBaiEIDAELCyAKEKADIgFFBEAgChBJIAkQSUEAQQNBqa0BIBIQPUF/DAoLIAEgChDZASIDRQRAIAoQSSAJEEkgARBJQQBBA0HDrQEgERA9QX8MCgsgASAJENkBIgVFBEAgChBJIAkQSSABEEkgAxBJQQBBA0HdrQEgEBA9QX8MCgsgAxDWAUEASARAIAoQSSAJEEkgARBJIAMQSSAFEElBAEEDQfetASAPED1BfwwKCyADIAUQ2QEiBwR/IAcoAgAiAisDMCEWIAIrAwAgFiAAKwMQIh2ioSACKwMYIBYgACsDMCIboqEgACsDKCIcoyIZIAArAwgiHqKhIAArAwAiH6MhGCACKwMgIBsgAisDOCIVoqEgHKMhFyACKwMIIB0gFaKhIB4gF6KhIB+jIRogAisDKCAboSAcoyEbIAIrAxAhJCAKEEkgCRBJIAEQSSADEEkgBRBJIAcQSSAGIBggFiAWoiAZIBmiIBggGKKgoJ8iGKM5AwAgBiAZIBijOQMIIAYgFiAYozkDECAGIBogFSAVoiAXIBeiIBogGqKgoJ8iFqM5AxggBiAXIBajOQMgIAYgFSAWozkDKCAGEPIJIAYrAwgiGSAGKwMoIhqiIAYrAxAiHCAGKwMgIiCioSEVIBwgBisDGCIhoiAaIAYrAwAiIqKhIRcgBiAVICAgIqIgGSAhoqEiIyAjoiAVIBWiIBcgF6KgoJ8iFaMiJTkDMCAGIBcgFaMiFzkDOCAGQUBrICMgFaMiFTkDACAEICI5AwAgBCAZOQMgIARBQGsgHDkDACAEICE5AwggBCAgOQMoIAQgGjkDSCAEICU5AxAgBCAXOQMwIAQgFTkDUCAEICQgHaEgHiAboqEgH6MgGCAWoEQAAAAAAADgP6IiFqM5AxggBCAbIBajOQM4IAREAAAAAAAA8D8gFqM5A1hBAAUgChBJIAkQSSABEEkgAxBJIAUQSUEAQQNBka4BIA4QPUF/CwsLCwsLCwsLCwsLIRQgBiQGIBQLEgAgAEGsogE2AgAgAEEQahBHCxIAIABBhKIBNgIAIABBDGoQRwsjAQF/IABB0KEBNgIAIAAoAggiAQRAIAAsAAwEQCABEDgLCwt9AQR/IABBvKEBNgIAIABBCGohAwNAIAIgACgCDCADKAIAIgFrQQJ1SQRAIAJBAnQgAWooAgAiAQRAIAEgASgCBCIEQX9qNgIEIARFBEAgASABKAIAKAIIQf8BcUGsA2oRAQALCyACQQFqIQIMAQsLIABBkAFqEEcgAxCPCgvUCgIPfwR8IwYhCyMGQcABaiQGIAtBuAFqIQggC0GwAWohDiALQagBaiEKIAtBoAFqIQUgC0GQAWohDyALQTBqIRAgASgCCCIJQQRIBH9BfwUCfwJ/IAArA4ABIAm3ohBzIREgCUHgAGwQRCIGRQRAQQBBA0HK2AIgBRA9QX8MAgsgCUEEdBBEIgdFBEBBAEEDQcrYAiAKED0gBhA4QX8MAgsgCUEDdCIFEEQiCUUEQEEAQQNBytgCIA4QPSAGEDggBxA4QX8MAgsgBRBEIg1FBEBBAEEDQcrYAiAIED0gBhA4IAcQOCAJEDhBfwwCCyARQX9qIgULQQMgBUEDShshEkEAIQoDQCAKQQNHBEBBACEMA0AgDEEERwRAIApBBXQgA2ogDEEDdGogCkEFdCACaiAMQQN0aisDADkDACAMQQFqIQwMAQsLIApBAWohCgwBCwsgEkEDdCANaiEMQQAhCgJAAkACQAJAA0ACQCAAIAMgEBCzAkEAIQUDQCAFIAEoAggiAkgEQCAPIBAgASgCBCAFQRhsahC7BEEASA0CIAEoAgAiAiAFQQR0aisDACAPKwMAoSEWIAVBBHQgAmorAwggDysDCKEhFCAFQQF0IgJBA3QgB2ogFjkDACACQQFyQQN0IAdqIBQ5AwAgBUEDdCANaiAWIBaiIBQgFKKgIhQ5AwAgBUEDdCAJaiAUOQMAIAVBAWohBQwBCwsgDSACQQhBEhCCAyABKAIIIQJEAAAAAAAAMEAgDCsDAEQAAAAAAAAQQKIiFCAURAAAAAAAADBAYxsiF0QAAAAAAAAYQKMhFkQAAAAAAAAAACEUQQAhBQNAIAUgAkgEQCAUIAVBA3QgDWorAwAiFCAXZAR8IBYFIBZEAAAAAAAA8D9EAAAAAAAA8D8gFCAXo6EiFCAUIBSioqGiC6AhFCAFQQFqIQUMAQsLIBQgArejIhQgACsDaGMNBSAKBEAgFCAAKwN4YwRAIBQgFaMgACsDcGQNBwsLIAogACgCYEYNBUEAIQVBACEOA0AgDiACSARAIA5BA3QgCWorAwAiFSAXZQRAIAVBBmwiCEEDdCAGaiICIAAgAyABKAIEIA5BGGxqELkEQQBIDQUgAkQAAAAAAADwPyAVIBejoSIVIBWiIhUgAisDAKI5AwAgCEEBckEDdCAGaiICIBUgAisDAKI5AwAgCEECakEDdCAGaiICIBUgAisDAKI5AwAgCEEDakEDdCAGaiICIBUgAisDAKI5AwAgCEEEakEDdCAGaiICIBUgAisDAKI5AwAgCEEFakEDdCAGaiICIBUgAisDAKI5AwAgCEEGakEDdCAGaiICIBUgAisDAKI5AwAgCEEHakEDdCAGaiICIBUgAisDAKI5AwAgCEEIakEDdCAGaiICIBUgAisDAKI5AwAgCEEJakEDdCAGaiICIBUgAisDAKI5AwAgCEEKakEDdCAGaiICIBUgAisDAKI5AwAgCEELakEDdCAGaiICIBUgAisDAKI5AwAgBUEDdCAHaiAVIA5BAXQiAkEDdCAHaisDAKI5AwAgBUEBakEDdCAHaiAVIAJBAXJBA3QgB2orAwCiOQMAIAVBAmohBSABKAIIIQILIA5BAWohDgwBCwsgBUEGSA0DIAsgByAGIAUQswRBAEgNBCADIAsQsgQgFCEVIApBAWohCgwBCwsgBiAHIAkgDRCPAkF/DAQLIAYgByAJIA0QjwJBfwwDCyAGIAcgCSANEI8CQX8MAgsgBiAHIAkgDRCPAkF/DAELIAQgFDkDACAGEDggBxA4IAkQOCANEDhBAAsLIRMgCyQGIBMLHgAgAEGMoQE2AgAgACgCCBBcRwRAIAAoAggQhwMLCxIAIAQgAjYCACAHIAU2AgBBAwsEAEEECxUAIAEoAgAgASABLAALQQBIGxpBfwv+CAEMfyACIAA2AgAgDUEEaiEYIANBgARxRSEZIA5BAEohGgNAIBdBBEcEQAJAAkACQAJAAkACQCAIIBdqLAAADgUAAQMCBAULIAEgAigCADYCAAwECyABIAIoAgA2AgAgBigCACgCLCEPIAZBICAPQT9xQYoBahECACEQIAIgAigCACIPQQRqNgIAIA8gEDYCAAwDCyANLAALIg9BAEghECAYKAIAIA9B/wFxIBAbBEAgDSgCACANIBAbKAIAIRAgAiACKAIAIg9BBGo2AgAgDyAQNgIACwwCCyAMLAALIg9BAEghECAZIAwoAgQgD0H/AXEgEBsiE0VyRQRAIAwoAgAgDCAQGyIPIBNBAnRqIREgAigCACIQIRIDQCAPIBFHBEAgEiAPKAIANgIAIBJBBGohEiAPQQRqIQ8MAQsLIAIgE0ECdCAQajYCAAsMAQsgAigCACEUIARBBGogBCAHGyIWIQQDQAJAIAQgBU8NACAGKAIAKAIMIQ8gBkGAECAEKAIAIA9BP3FBygFqEQQARQ0AIARBBGohBAwBCwsgGgRAIA4hDwNAIA9BAEoiECAEIBZLcQRAIARBfGoiBCgCACERIAIgAigCACIQQQRqNgIAIBAgETYCACAPQX9qIQ8MAQsLIBAEfyAGKAIAKAIsIRAgBkEwIBBBP3FBigFqEQIABUEACyETIA8hESACKAIAIRADQCAQQQRqIQ8gEUEASgRAIBAgEzYCACARQX9qIREgDyEQDAELCyACIA82AgAgECAJNgIACyAEIBZGBEAgBigCACgCLCEEIAZBMCAEQT9xQYoBahECACEQIAIgAigCACIPQQRqIgQ2AgAgDyAQNgIABSALLAALIg9BAEghECALKAIEIA9B/wFxIBAbBH8gCygCACALIBAbLAAABUF/CyEPQQAhEEEAIRIgBCERA0AgESAWRwRAIAIoAgAhFSAPIBJGBH8gAiAVQQRqIhM2AgAgFSAKNgIAIAssAAsiD0EASCEVIBBBAWoiBCALKAIEIA9B/wFxIBUbSQRAQX8gBCALKAIAIAsgFRtqLAAAIg8gD0H/AEYbIQ8FIBIhDwtBACESIBMFIBAhBCAVCyEQIBFBfGoiESgCACETIAIgEEEEajYCACAQIBM2AgAgBCEQIBJBAWohEgwBCwsgAigCACEECyAEIBRGBH8gFgUDQCAUIARBfGoiBEkEQCAUKAIAIQ8gFCAEKAIANgIAIAQgDzYCACAUQQRqIRQMAQUgFiEEDAMLAAALAAshBAsgF0EBaiEXDAELCyANLAALIgRBAEghByAYKAIAIARB/wFxIAcbIgZBAUsEQCANKAIAIgVBBGogGCAHGyEEIAZBAnQgBSANIAcbaiIHIARrIQYgAigCACIFIQgDQCAEIAdHBEAgCCAEKAIANgIAIAhBBGohCCAEQQRqIQQMAQsLIAIgBkECdkECdCAFajYCAAsCQCADQbABcUEYdEEYdUEQayIDRQ0AIANBEEYEQCABIAIoAgA2AgAMAQsgASAANgIACwvZBQEFfyMGIQojBkEQaiQGIApBDGohCyAKIAAEfyACQfjPAxA6BSACQfDPAxA6CyIAIAEEfyALIAAgACgCACgCLEE/cUGyBWoRAwAgAyALKAIANgAAIAAoAgAoAiAFIAsgACAAKAIAKAIoQT9xQbIFahEDACADIAsoAgA2AAAgACgCACgCHAtBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEBA0AgAUEDRwRAIAFBAnQgCmpBADYCACABQQFqIQEMAQsLIAoQRyAEIAAgACgCACgCDEH/AHFBCGoRAAA2AgAgBSAAIAAoAgAoAhBB/wBxQQhqEQAANgIAIAogACAAKAIAKAIUQT9xQbIFahEDACAGLAALQQBIBEACfyAGKAIAIQ0gC0EAOgAAIA0LIAsQXyAGQQA2AgQgBiwAC0EASARAIAYoAggaIAYoAgAQOCAGQQA2AggLBSALQQA6AAAgBiALEF8gBkEAOgALCyAGIAopAgA3AgAgBiAKKAIINgIIQQAhAQNAIAFBA0cEQCABQQJ0IApqQQA2AgAgAUEBaiEBDAELCyAKEEcgCiAAIAAoAgAoAhhBP3FBsgVqEQMAIAcsAAtBAEgEQAJ/IAcoAgAhDiALQQA2AgAgDgsgCxBuIAdBADYCBCAHLAALQQBIBEAgBygCCBogBygCABA4IAdBADYCCAsFIAtBADYCACAHIAsQbiAHQQA6AAsLIAcgCikCADcCACAHIAooAgg2AghBACEBA0AgAUEDRwRAIAFBAnQgCmpBADYCACABQQFqIQEMAQsLIAoQRyAJIAAgACgCACgCJEH/AHFBCGoRAAA2AgAgCiQGC7YIAQp/IAIgADYCACADQYAEcUUhFyAOQQBKIRgDQCAVQQRHBEACQAJAAkACQAJAAkAgCCAVaiwAAA4FAAEDAgQFCyABIAIoAgA2AgAMBAsgASACKAIANgIAIAYoAgAoAhwhDyAGQSAgD0E/cUGKAWoRAgAhECACIAIoAgAiD0EBajYCACAPIBA6AAAMAwsgDSwACyIPQQBIIRAgDSgCBCAPQf8BcSAQGwRAIA0oAgAgDSAQGywAACEQIAIgAigCACIPQQFqNgIAIA8gEDoAAAsMAgsgDCwACyIPQQBIIRAgFyAMKAIEIA9B/wFxIBAbIg9FckUEQCAPIAwoAgAgDCAQGyIPaiEQIAIoAgAhEQNAIA8gEEcEQCARIA8sAAA6AAAgEUEBaiERIA9BAWohDwwBCwsgAiARNgIACwwBCyACKAIAIRIgBEEBaiAEIAcbIhMhBANAAkAgBCAFTw0AIAQsAAAiD0F/TA0AIAYoAgggD0EBdGouAQBBgBBxRQ0AIARBAWohBAwBCwsgGARAIA4hDwNAIA9BAEoiECAEIBNLcQRAIARBf2oiBCwAACERIAIgAigCACIQQQFqNgIAIBAgEToAACAPQX9qIQ8MAQsLIBAEfyAGKAIAKAIcIRAgBkEwIBBBP3FBigFqEQIABUEACyERA0AgAiACKAIAIhBBAWo2AgAgD0EASgRAIBAgEToAACAPQX9qIQ8MAQsLIBAgCToAAAsgBCATRgRAIAYoAgAoAhwhBCAGQTAgBEE/cUGKAWoRAgAhDyACIAIoAgAiBEEBajYCACAEIA86AAAFAkAgCywACyIPQQBIIRAgCygCBCAPQf8BcSAQGwR/IAsoAgAgCyAQGywAAAVBfwshD0EAIRFBACEUIAQhEANAIBAgE0YNASAPIBRGBEAgAiACKAIAIgRBAWo2AgAgBCAKOgAAIAssAAsiD0EASCEWIBFBAWoiBCALKAIEIA9B/wFxIBYbSQRAQX8gBCALKAIAIAsgFhtqLAAAIg8gD0H/AEYbIQ8FIBQhDwtBACEUBSARIQQLIBBBf2oiECwAACEWIAIgAigCACIRQQFqNgIAIBEgFjoAACAEIREgFEEBaiEUDAAACwALCyACKAIAIgQgEkYEfyATBQNAIBIgBEF/aiIESQRAIBIsAAAhDyASIAQsAAA6AAAgBCAPOgAAIBJBAWohEgwBBSATIQQMAwsAAAsACyEECyAVQQFqIRUMAQsLIA0sAAsiBEEASCEGIA0oAgQgBEH/AXEgBhsiBUEBSwRAIA0oAgAgDSAGGyIEIAVqIQUgAigCACEGA0AgBSAEQQFqIgRHBEAgBiAELAAAOgAAIAZBAWohBgwBCwsgAiAGNgIACwJAIANBsAFxQRh0QRh1QRBrIgNFDQAgA0EQRgRAIAEgAigCADYCAAwBCyABIAA2AgALC9kFAQV/IwYhCiMGQRBqJAYgCkEMaiELIAogAAR/IAJB6M8DEDoFIAJB4M8DEDoLIgAgAQR/IAsgACAAKAIAKAIsQT9xQbIFahEDACADIAsoAgA2AAAgACgCACgCIAUgCyAAIAAoAgAoAihBP3FBsgVqEQMAIAMgCygCADYAACAAKAIAKAIcC0E/cUGyBWoRAwAgCCwAC0EASARAAn8gCCgCACEMIAtBADoAACAMCyALEF8gCEEANgIEIAgsAAtBAEgEQCAIKAIIGiAIKAIAEDggCEEANgIICwUgC0EAOgAAIAggCxBfIAhBADoACwsgCCAKKQIANwIAIAggCigCCDYCCEEAIQEDQCABQQNHBEAgAUECdCAKakEANgIAIAFBAWohAQwBCwsgChBHIAQgACAAKAIAKAIMQf8AcUEIahEAADoAACAFIAAgACgCACgCEEH/AHFBCGoRAAA6AAAgCiAAIAAoAgAoAhRBP3FBsgVqEQMAIAYsAAtBAEgEQAJ/IAYoAgAhDSALQQA6AAAgDQsgCxBfIAZBADYCBCAGLAALQQBIBEAgBigCCBogBigCABA4IAZBADYCCAsFIAtBADoAACAGIAsQXyAGQQA6AAsLIAYgCikCADcCACAGIAooAgg2AghBACECA0AgAkEDRwRAIAJBAnQgCmpBADYCACACQQFqIQIMAQsLIAoQRyAKIAAgACgCACgCGEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACEOIAtBADoAACAOCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQEDQCABQQNHBEAgAUECdCAKakEANgIAIAFBAWohAQwBCwsgChBHIAkgACAAKAIAKAIkQf8AcUEIahEAADYCACAKJAYLtSMBG38jBiEPIwZBgARqJAYgD0H0A2ohGSAPQdgDaiEfIA9B1ANqISAgD0G8A2ohDCAPQbADaiENIA9BpANqIQ4gD0GYA2ohESAPQZQDaiEXIA9BkANqIRwgD0HwA2oiGiAKNgIAIA9B6ANqIhQgDzYCACAUQZEBNgIEIA9B4ANqIhIgDzYCACAPQdwDaiIbIA9BkANqNgIAIA9ByANqIhZCADcCACAWQQA2AghBACEKA0AgCkEDRwRAIApBAnQgFmpBADYCACAKQQFqIQoMAQsLIAxCADcCACAMQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDGpBADYCACAKQQFqIQoMAQsLIA1CADcCACANQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDWpBADYCACAKQQFqIQoMAQsLIA5CADcCACAOQQA2AghBACEKA0AgCkEDRwRAIApBAnQgDmpBADYCACAKQQFqIQoMAQsLIBFCADcCACARQQA2AghBACEKA0AgCkEDRwRAIApBAnQgEWpBADYCACAKQQFqIQoMAQsLIAIgAyAZIB8gICAWIAwgDSAOIBcQqwogCSAIKAIANgIAIARBgARxQQBHISFBACECAn8CQAJAAkACQAJAAkADQAJAIBNBBE8NByAAKAIAIgMEfyADKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEDAkACQCABKAIAIgtFDQAgCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBEAgAUEANgIADAEFIANFDQoLDAELIAMNCEEAIQsLAkACQAJAAkACQAJAAkAgEyAZaiwAAA4FAQADAgQGCyATQQNHBEAgB0GAwAAgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyAHKAIAKAIMQT9xQcoBahEEAEUNByARIAAoAgAiAygCDCIEIAMoAhBGBH8gAyADKAIAKAIoQf8AcUEIahEAAAUgAyAEQQRqNgIMIAQoAgALEI4CDAULDAULIBNBA0cNAwwECyANKAIEIA0sAAsiA0H/AXEgA0EASBsiC0EAIA4oAgQgDiwACyIDQf8BcSADQQBIGyIQa0cEQCAAKAIAIgMoAgwiBCADKAIQRiEKIAtFIgsgEEVyBEAgCgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALIQMgCwRAIA4oAgAgDiAOLAALQQBIGygCACADRw0GIAAoAgAiAygCDCIEIAMoAhBGBEAgAyADKAIAKAIoQf8AcUEIahEAABoFIAMgBEEEajYCDCAEKAIAGgsgBkEBOgAAIA4gAiAOKAIEIA4sAAsiAkH/AXEgAkEASBtBAUsbIQIMBgsgDSgCACANIA0sAAtBAEgbKAIAIANHBEAgBkEBOgAADAYLIAAoAgAiAygCDCIEIAMoAhBGBEAgAyADKAIAKAIoQf8AcUEIahEAABoFIAMgBEEEajYCDCAEKAIAGgsgDSACIA0oAgQgDSwACyICQf8BcSACQQBIG0EBSxshAgwFCwJ/IAoEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyEkIAAoAgAiAygCDCIEIAMoAhBGIQogJCANKAIAIA0gDSwAC0EASBsoAgBGCwRAIAoEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQRqNgIMIAQoAgAaCyANIAIgDSgCBCANLAALIgJB/wFxIAJBAEgbQQFLGyECDAULIAoEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAEKAIACyAOKAIAIA4gDiwAC0EASBsoAgBHDQcgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQRqNgIMIAQoAgAaCyAGQQE6AAAgDiACIA4oAgQgDiwACyICQf8BcSACQQBIG0EBSxshAgsMAwsCQAJAIBNBAkkgAnIEQCAMKAIAIgQgDCAMLAALIgpBAEgbIQMgEw0BBSATQQJGIBksAANBAEdxICFyRQRAQQAhAgwGCyAMKAIAIgQgDCAMLAALIgpBAEgbIQMMAQsMAQsgGSATQX9qai0AAEECSARAAkACQANAIAMgDCgCBCAKQf8BcSAKQRh0QRh1QQBIIhAbQQJ0IAQgDCAQG2pHBEAgB0GAwAAgAygCACAHKAIAKAIMQT9xQcoBahEEAEUNAiADQQRqIQMgDCwACyEKIAwoAgAhBAwBCwsMAQsgDCwACyEKIAwoAgAhBAsgESwACyIYQQBIIRUgAyAEIAwgCkEYdEEYdUEASBsiHSIQa0ECdSIiIBEoAgQiHiAYQf8BcSIYIBUbSwR/IBAFIBEoAgAgHkECdGoiHiAYQQJ0IBFqIhggFRshI0EAICJrQQJ0IB4gGCAVG2ohFQN/IBUgI0YNAyAVKAIAIB0oAgBGBH8gHUEEaiEdIBVBBGohFQwBBSAQCwsLIQMLCwNAAkAgAyAMKAIEIApB/wFxIApBGHRBGHVBAEgiChtBAnQgBCAMIAobakYNACAAKAIAIgQEfyAEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCALRQ0AIAsoAgwiCiALKAIQRgR/IAsgCygCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQRAIAFBADYCAAwBBSAERQ0DCwwBCyAEDQFBACELCyAAKAIAIgQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALIAMoAgBHDQAgACgCACIEKAIMIgogBCgCEEYEQCAEIAQoAgAoAihB/wBxQQhqEQAAGgUgBCAKQQRqNgIMIAooAgAaCyADQQRqIQMgDCwACyEKIAwoAgAhBAwBCwsgIQRAIAwsAAsiCkEASCEEIAwoAgQgCkH/AXEgBBtBAnQgDCgCACAMIAQbaiADRw0HCwwCC0EAIQQgCyEDA0ACQCAAKAIAIgoEfyAKKAIMIhAgCigCEEYEfyAKIAooAgAoAiRB/wBxQQhqEQAABSAQKAIAC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEKAkACQCALRQ0AIAsoAgwiECALKAIQRgR/IAsgCygCACgCJEH/AHFBCGoRAAAFIBAoAgALQX8QQQRAIAFBADYCAEEAIQMMAQUgCkUNAwsMAQsgCg0BQQAhCwsgB0GAECAAKAIAIgooAgwiECAKKAIQRgR/IAogCigCACgCJEH/AHFBCGoRAAAFIBAoAgALIhAgBygCACgCDEE/cUHKAWoRBAAEfyAJKAIAIgogGigCAEYEQCAIIAkgGhDNASAJKAIAIQoLIAkgCkEEajYCACAKIBA2AgAgBEEBagUgFigCBCAWLAALIgpB/wFxIApBAEgbQQBHIARBAEdxIBAgICgCAEZxRQ0BIBIoAgAiCiAbKAIARgRAIBQgEiAbEM0BIBIoAgAhCgsgEiAKQQRqNgIAIAogBDYCAEEACyEEIAAoAgAiCigCDCIQIAooAhBGBEAgCiAKKAIAKAIoQf8AcUEIahEAABoFIAogEEEEajYCDCAQKAIAGgsMAQsLIBIoAgAiCiAUKAIARyAEQQBHcQRAIAogGygCAEYEQCAUIBIgGxDNASASKAIAIQoLIBIgCkEEajYCACAKIAQ2AgALIBcoAgBBAEoEQAJAIAAoAgAiBAR/IAQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIANFDQAgAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCigCAAtBfxBBBEAgAUEANgIADAEFIARFDQsLDAELIAQNCUEAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCigCAAsgHygCAEcNCCAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBBGo2AgwgCigCABoLA0AgFygCAEEATA0BIAAoAgAiBAR/IAQoAgwiCiAEKAIQRgR/IAQgBCgCACgCJEH/AHFBCGoRAAAFIAooAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIANFDQAgAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCigCAAtBfxBBBEAgAUEANgIADAEFIARFDQ0LDAELIAQNC0EAIQMLIAdBgBAgACgCACIEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKKAIACyAHKAIAKAIMQT9xQcoBahEEAEUNCiAJKAIAIBooAgBGBEAgCCAJIBoQzQELIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCigCAAshBCAJIAkoAgAiCkEEajYCACAKIAQ2AgAgFyAXKAIAQX9qNgIAIAAoAgAiBCgCDCIKIAQoAhBGBEAgBCAEKAIAKAIoQf8AcUEIahEAABoFIAQgCkEEajYCDCAKKAIAGgsMAAALAAsLIAkoAgAgCCgCAEYNCAwBCwNAIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQMCQAJAIAtFDQAgCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBEAgAUEANgIADAEFIANFDQQLDAELIAMNAkEAIQsLIAdBgMAAIAAoAgAiAygCDCIEIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCgCAAsgBygCACgCDEE/cUHKAWoRBABFDQEgESAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCKEH/AHFBCGoRAAAFIAMgBEEEajYCDCAEKAIACxCOAgwAAAsACyATQQFqIRMMAQsLIAUgBSgCAEEEcjYCAEEADAYLIAUgBSgCAEEEcjYCAEEADAULIAUgBSgCAEEEcjYCAEEADAQLIAUgBSgCAEEEcjYCAEEADAMLIAUgBSgCAEEEcjYCAEEADAILIAUgBSgCAEEEcjYCAEEADAELIAIEQAJAIAIhBkEBIQcDQAJAIAcgAiwACyIDQQBIBH8gBigCBAUgA0H/AXELTw0CIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQQCQAJAIAEoAgAiA0UNACADKAIMIgggAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAIKAIAC0F/EEEEQCABQQA2AgAMAQUgBEUNAwsMAQsgBA0BCyAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQoAgALIAIsAAtBAEgEfyACKAIABSACCyAHQQJ0aigCAEcNACAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBBGo2AgwgBCgCABoLIAdBAWohBwwBCwsgBSAFKAIAQQRyNgIAQQAMAgsLIBQoAgAiACASKAIAIgFGBH9BAQUgHEEANgIAIBYgACABIBwQeCAcKAIABH8gBSAFKAIAQQRyNgIAQQAFQQELCwshJSAREEcgDhBHIA0QRyAMEEcgFhBHIBQoAgAhACAUQQA2AgAgAARAIAAgFCgCBEH/AXFBrANqEQEACyAPJAYgJQusAQEFfyACKAIAIAAoAgAiAyIGayIFQQF0IgRBASAEG0F/IAVB/////wdJGyEFIAEoAgAhByADQQAgACgCBEGRAUciBBsgBRDoASIDRQRAEAALIAQEQCAAIAM2AgAFIAAoAgAhBCAAIAM2AgAgBARAIAQgACgCBEH/AXFBrANqEQEAIAAoAgAhAwsLIABBkgE2AgQgASAHIAZrIANqNgIAIAIgBSAAKAIAajYCAAucJAEafyMGIRAjBkGABGokBiAQQfADaiEaIBBB7QNqISAgEEHsA2ohISAQQbwDaiENIBBBsANqIQ4gEEGkA2ohDyAQQZgDaiERIBBBlANqIRcgEEGQA2ohHiAQQegDaiIbIAo2AgAgEEHgA2oiFSAQNgIAIBVBkQE2AgQgEEHYA2oiEyAQNgIAIBBB1ANqIhwgEEGQA2o2AgAgEEHIA2oiFkIANwIAIBZBADYCCEEAIQoDQCAKQQNHBEAgCkECdCAWakEANgIAIApBAWohCgwBCwsgDUIANwIAIA1BADYCCEEAIQoDQCAKQQNHBEAgCkECdCANakEANgIAIApBAWohCgwBCwsgDkIANwIAIA5BADYCCEEAIQoDQCAKQQNHBEAgCkECdCAOakEANgIAIApBAWohCgwBCwsgD0IANwIAIA9BADYCCEEAIQoDQCAKQQNHBEAgCkECdCAPakEANgIAIApBAWohCgwBCwsgEUIANwIAIBFBADYCCEEAIQoDQCAKQQNHBEAgCkECdCARakEANgIAIApBAWohCgwBCwsgAiADIBogICAhIBYgDSAOIA8gFxCvCiAJIAgoAgA2AgAgBEGABHFBAEchIkEAIQICfwJAAkACQAJAAkACQANAAkAgFEEETw0HIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAwJAAkAgASgCACIMRQ0AIAwoAgwiBCAMKAIQRgR/IAwgDCgCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBEAgAUEANgIADAEFIANFDQoLDAELIAMNCEEAIQwLAkACQAJAAkACQAJAAkAgFCAaaiwAAA4FAQADAgQGCyAUQQNHBEAgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILIgNB/wFxQRh0QRh1QX9MDQcgBygCCCADQRh0QRh1QQF0ai4BAEGAwABxRQ0HIBEgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAihB/wBxQQhqEQAABSADIARBAWo2AgwgBCwAABBCC0H/AXEQzAEMBQsMBQsgFEEDRw0DDAQLIA4oAgQgDiwACyIDQf8BcSADQQBIGyILQQAgDygCBCAPLAALIgNB/wFxIANBAEgbIgxrRwRAIAAoAgAiAygCDCIEIAMoAhBGIQogC0UiCyAMRXIEQCAKBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCwAABBCC0H/AXEhAyALBEAgDygCACAPIA8sAAtBAEgbLQAAIANHDQYgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIAZBAToAACAPIAIgDygCBCAPLAALIgJB/wFxIAJBAEgbQQFLGyECDAYLIA4oAgAgDiAOLAALQQBIGy0AACADRwRAIAZBAToAAAwGCyAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBAWo2AgwgBCwAABBCGgsgDiACIA4oAgQgDiwACyICQf8BcSACQQBIG0EBSxshAgwFCyAKBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgBCwAABBCCyELIAAoAgAiAygCDCIEIAMoAhBGIQogDigCACAOIA4sAAtBAEgbLQAAIAtB/wFxRgRAIAoEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIA4gAiAOKAIEIA4sAAsiAkH/AXEgAkEASBtBAUsbIQIMBQsgCgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtB/wFxIA8oAgAgDyAPLAALQQBIGy0AAEcNByAAKAIAIgMoAgwiBCADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIARBAWo2AgwgBCwAABBCGgsgBkEBOgAAIA8gAiAPKAIEIA8sAAsiAkH/AXEgAkEASBtBAUsbIQILDAMLAkACQCAUQQJJIAJyBEAgDSgCACIKIA0gDSwACyIDQQBIIgsbIhghBCAUDQEFIBRBAkYgGiwAA0EAR3EgInJFBEBBACECDAYLIA0oAgAiCiANIA0sAAsiA0EASCILGyIYIQQMAQsMAQsgGiAUQX9qai0AAEECSARAIA0oAgQgA0H/AXEgCxsgGGohEiAEIQsDQAJAIAsgEkYNACALLAAAIh1Bf0wNACAHKAIIIB1BAXRqLgEAQYDAAHFFDQAgC0EBaiELDAELCyARLAALIhlBAEghEiALIARrIh0gESgCBCIfIBlB/wFxIhkgEhtNBEAgHyARKAIAaiIfIBEgGWoiGSASGyEjIB8gHWsgGSAdayASGyESA0AgEiAjRgRAIAshBAwECyASLAAAIBgsAABGBEAgGEEBaiEYIBJBAWohEgwBCwsLCwsDQAJAIAQgCiANIANBGHRBGHVBAEgiChsgDSgCBCADQf8BcSAKG2pGDQAgACgCACIDBH8gAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEDAkACQCAMRQ0AIAwoAgwiCiAMKAIQRgR/IAwgDCgCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIANFDQMLDAELIAMNAUEAIQwLIAAoAgAiAygCDCIKIAMoAhBGBH8gAyADKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0H/AXEgBC0AAEcNACAAKAIAIgMoAgwiCiADKAIQRgRAIAMgAygCACgCKEH/AHFBCGoRAAAaBSADIApBAWo2AgwgCiwAABBCGgsgBEEBaiEEIA0sAAshAyANKAIAIQoMAQsLICIEQCAEIA0oAgAgDSANLAALIgNBAEgiChsgDSgCBCADQf8BcSAKG2pHDQcLDAILQQAhBCAMIQMDQAJAIAAoAgAiCgR/IAooAgwiCyAKKAIQRgR/IAogCigCACgCJEH/AHFBCGoRAAAFIAssAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshCgJAAkAgDEUNACAMKAIMIgsgDCgCEEYEfyAMIAwoAgAoAiRB/wBxQQhqEQAABSALLAAAEEILQX8QQQRAIAFBADYCAEEAIQMMAQUgCkUNAwsMAQsgCg0BQQAhDAsCfwJAIAAoAgAiCigCDCILIAooAhBGBH8gCiAKKAIAKAIkQf8AcUEIahEAAAUgCywAABBCCyIKQf8BcSILQRh0QRh1QX9MDQAgBygCCCAKQRh0QRh1QQF0ai4BAEGAEHFFDQAgCSgCACIKIBsoAgBGBEAgCCAJIBsQpwQgCSgCACEKCyAJIApBAWo2AgAgCiALOgAAIARBAWoMAQsgFigCBCAWLAALIgpB/wFxIApBAEgbQQBHIARBAEdxICEtAAAgC0ZxRQ0BIBMoAgAiCiAcKAIARgRAIBUgEyAcEM0BIBMoAgAhCgsgEyAKQQRqNgIAIAogBDYCAEEACyEEIAAoAgAiCigCDCILIAooAhBGBEAgCiAKKAIAKAIoQf8AcUEIahEAABoFIAogC0EBajYCDCALLAAAEEIaCwwBCwsgEygCACIKIBUoAgBHIARBAEdxBEAgCiAcKAIARgRAIBUgEyAcEM0BIBMoAgAhCgsgEyAKQQRqNgIAIAogBDYCAAsgFygCAEEASgRAAkAgACgCACIEBH8gBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCADRQ0AIAMoAgwiCiADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQsLDAELIAQNCUEAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0H/AXEgIC0AAEcNCCAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBAWo2AgwgCiwAABBCGgsDQCAXKAIAQQBMDQEgACgCACIEBH8gBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCC0F/EEEEfyAAQQA2AgBBAQUgACgCAEULBUEBCyEEAkACQCADRQ0AIAMoAgwiCiADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAosAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQ0LDAELIAQNC0EAIQMLIAAoAgAiBCgCDCIKIAQoAhBGBH8gBCAEKAIAKAIkQf8AcUEIahEAAAUgCiwAABBCCyIEQf8BcUEYdEEYdUF/TA0KIAcoAgggBEEYdEEYdUEBdGouAQBBgBBxRQ0KIAkoAgAgGygCAEYEQCAIIAkgGxCnBAsgACgCACIEKAIMIgogBCgCEEYEfyAEIAQoAgAoAiRB/wBxQQhqEQAABSAKLAAAEEILIQQgCSAJKAIAIgpBAWo2AgAgCiAEOgAAIBcgFygCAEF/ajYCACAAKAIAIgQoAgwiCiAEKAIQRgRAIAQgBCgCACgCKEH/AHFBCGoRAAAaBSAEIApBAWo2AgwgCiwAABBCGgsMAAALAAsLIAkoAgAgCCgCAEYNCAwBCwNAIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshAwJAAkAgDEUNACAMKAIMIgQgDCgCEEYEfyAMIAwoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQRAIAFBADYCAAwBBSADRQ0ECwwBCyADDQJBACEMCyAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgsiA0H/AXFBGHRBGHVBf0wNASAHKAIIIANBGHRBGHVBAXRqLgEAQYDAAHFFDQEgESAAKAIAIgMoAgwiBCADKAIQRgR/IAMgAygCACgCKEH/AHFBCGoRAAAFIAMgBEEBajYCDCAELAAAEEILQf8BcRDMAQwAAAsACyAUQQFqIRQMAQsLIAUgBSgCAEEEcjYCAEEADAYLIAUgBSgCAEEEcjYCAEEADAULIAUgBSgCAEEEcjYCAEEADAQLIAUgBSgCAEEEcjYCAEEADAMLIAUgBSgCAEEEcjYCAEEADAILIAUgBSgCAEEEcjYCAEEADAELIAIEQAJAIAIhBkEBIQcDQAJAIAcgAiwACyIDQQBIBH8gBigCBAUgA0H/AXELTw0CIAAoAgAiAwR/IAMoAgwiBCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAQsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshBAJAAkAgASgCACIDRQ0AIAMoAgwiCCADKAIQRgR/IAMgAygCACgCJEH/AHFBCGoRAAAFIAgsAAAQQgtBfxBBBEAgAUEANgIADAEFIARFDQMLDAELIAQNAQsgACgCACIDKAIMIgQgAygCEEYEfyADIAMoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQf8BcSACLAALQQBIBH8gAigCAAUgAgsgB2otAABHDQAgACgCACIDKAIMIgQgAygCEEYEQCADIAMoAgAoAihB/wBxQQhqEQAAGgUgAyAEQQFqNgIMIAQsAAAQQhoLIAdBAWohBwwBCwsgBSAFKAIAQQRyNgIAQQAMAgsLIBUoAgAiACATKAIAIgFGBH9BAQUgHkEANgIAIBYgACABIB4QeCAeKAIABH8gBSAFKAIAQQRyNgIAQQAFQQELCwshJCAREEcgDxBHIA4QRyANEEcgFhBHIBUoAgAhACAVQQA2AgAgAARAIAAgFSgCBEH/AXFBrANqEQEACyAQJAYgJAsZACAAQgA3AgAgAEEANgIIIABBAUEtEJMECxkAIABCADcCACAAQQA2AgggAEEBQS0QlgQLFQAgACgCABBcRwRAIAAoAgAQhwMLC2MBAX8jBiEGIwZBEGokBiAGQSU6AAAgBiAEOgABIAYgBToAAiAGQQA6AAMgBUH/AXEEQCAGIAU6AAEgBiAEOgACCyACIAEgAigCACABayAGIAMgACgCABAfIAFqNgIAIAYkBgsOACAAQQhqEKsEIAAQOAsKACAAQQhqEKsEC2wBAX8jBiEFIwZBEGokBiAFIAIoAgA2AgAgBUEEaiICIAUoAgA2AgAgASACIAMgBEEEEJkBIQEgAygCAEEEcUUEQCAAIAFB0A9qIAFB7A5qIAEgAUHkAEgbIAFBxQBIG0GUcWo2AgALIAUkBgt7AQJ/IwYhBiMGQRBqJAYgAEEIaiIAKAIAKAIEIQcgACAHQf8AcUEIahEAACEAIAYgAygCADYCACAGQQRqIgMgBigCADYCACACIAMgACAAQaACaiAFIARBABCVAiAAayIAQaACSARAIAEgAEEMEDlBDBBPNgIACyAGJAYLewECfyMGIQYjBkEQaiQGIABBCGoiACgCACgCACEHIAAgB0H/AHFBCGoRAAAhACAGIAMoAgA2AgAgBkEEaiIDIAYoAgA2AgAgAiADIAAgAEGoAWogBSAEQQAQlQIgAGsiAEGoAUgEQCABIABBDBA5QQcQTzYCAAsgBiQGC7gCAQZ/IwYhAyMGQYACaiQGIANBwAFqIgIgARDECiADQeAAaiIEIAIQuwpBACEBA0AgAUEDRwRAIAFBBXQgAGohBSABQQV0IABqIQYgAUEFdCAAaiEHQQAhAgNAIAJBBEcEQCABQQV0IANqIAJBA3RqIAUrAwAgAkEDdCAEaisDAKIgBisDCCAEQSBqIAJBA3RqKwMAoqAgBysDECAEQUBrIAJBA3RqKwMAoqA5AwAgAkEBaiECDAELCyABQQV0IANqIgIgAUEFdCAAaisDGCACKwMYoDkDGCABQQFqIQEMAQsLQQAhAQNAIAFBA0cEQEEAIQIDQCACQQRHBEAgAUEFdCAAaiACQQN0aiABQQV0IANqIAJBA3RqKwMAOQMAIAJBAWohAgwBCwsgAUEBaiEBDAELCyADJAYL0AEBBH8jBiEEIwZBMGokBiAEQRhqIgVBBjYCBCAFQQE2AgggBSAANgIAIARBDGoiBiADNgIEIAZBATYCCCAGIAE2AgAgBCADNgIEIARBBjYCCCAEIAI2AgAgBBCgAyIABH8CfyAAIAQQ2QEiAUUEQCAAEElBfwwBCyAAIAYQ2QEiAkUEQCAAEEkgARBJQX8MAQsgARDWAUEASAR/IAAQSSABEEkgAhBJQX8FIAUgASACEK0CGiAAEEkgARBJIAIQSUEACwsFQX8LIQcgBCQGIAcLbAEBfyMGIQUjBkEQaiQGIAUgAigCADYCACAFQQRqIgIgBSgCADYCACABIAIgAyAEQQQQmgEhASADKAIAQQRxRQRAIAAgAUHQD2ogAUHsDmogASABQeQASBsgAUHFAEgbQZRxajYCAAsgBSQGC3sBAn8jBiEGIwZBEGokBiAAQQhqIgAoAgAoAgQhByAAIAdB/wBxQQhqEQAAIQAgBiADKAIANgIAIAZBBGoiAyAGKAIANgIAIAIgAyAAIABBoAJqIAUgBEEAEJYCIABrIgBBoAJIBEAgASAAQQwQOUEMEE82AgALIAYkBgt7AQJ/IwYhBiMGQRBqJAYgAEEIaiIAKAIAKAIAIQcgACAHQf8AcUEIahEAACEAIAYgAygCADYCACAGQQRqIgMgBigCADYCACACIAMgACAAQagBaiAFIARBABCWAiAAayIAQagBSARAIAEgAEEMEDlBBxBPNgIACyAGJAYLBABBAguXCAELfyMGIQsjBkEQaiQGIAZBoM4DEDohCiAGQajOAxA6Ig0oAgAoAhQhBiALIA0gBkE/cUGyBWoRAwAgBSADNgIAAkACQCACIgwCfwJAAkAgACwAACICQStrDgMAAQABCyAKIAIgCigCACgCLEE/cUGKAWoRAgAhAiAFIAUoAgAiBkEEajYCACAGIAI2AgAgAEEBagwBCyAACyIGa0EBTA0AIAYsAABBMEcNACAGLAABQdgAayICQQAgAkEgRxsNACAKQTAgCigCACgCLEE/cUGKAWoRAgAhAiAFIAUoAgAiB0EEajYCACAHIAI2AgAgCiAGLAABIAooAgAoAixBP3FBigFqEQIAIQIgBSAFKAIAIgdBBGo2AgAgByACNgIAIAZBAmoiBiECA0AgAiAMSQRAIAIsAAAQXBCDAwRAIAJBAWohAgwCCwsLDAELIAYhAgNAIAIgDE8NAQJ/IAIsAAAhERBcGiARCxCKAQRAIAJBAWohAgwBCwsLIAsoAgQgCywACyIHQf8BcSAHQQBIGwRAIAIgBkcEQAJAIAIhByAGIQgDQCAIIAdBf2oiB08NASAILAAAIQkgCCAHLAAAOgAAIAcgCToAACAIQQFqIQgMAAALAAsLIA0gDSgCACgCEEH/AHFBCGoRAAAhDyAGIQlBACEHQQAhCANAIAkgAkkEQCAHIAsoAgAgCyALLAALQQBIG2osAAAiDkEASiAIIA5GcQRAIAUgBSgCACIIQQRqNgIAIAggDzYCACAHIAcgCygCBCALLAALIghB/wFxIAhBAEgbQX9qSWohB0EAIQgLIAogCSwAACAKKAIAKAIsQT9xQYoBahECACEOIAUgBSgCACIQQQRqNgIAIBAgDjYCACAJQQFqIQkgCEEBaiEIDAELCyAGIABrQQJ0IANqIgkgBSgCACIIRgR/IAohByAJBSAIIQYDfyAJIAZBfGoiBkkEfyAJKAIAIQcgCSAGKAIANgIAIAYgBzYCACAJQQRqIQkMAQUgCiEHIAgLCwshBgUgCiAGIAIgBSgCACAKKAIAKAIwQQ9xQYoCahEJABogBSAFKAIAIAIgBmtBAnRqIgY2AgAgCiEHCwJAAkADQCACIAxJBEAgAiwAACIGQS5GDQIgCiAGIAcoAgAoAixBP3FBigFqEQIAIQkgBSAFKAIAIghBBGoiBjYCACAIIAk2AgAgAkEBaiECDAELCwwBCyANIA0oAgAoAgxB/wBxQQhqEQAAIQcgBSAFKAIAIglBBGoiBjYCACAJIAc2AgAgAkEBaiECCyAKIAIgDCAGIAooAgAoAjBBD3FBigJqEQkAGiAFIAUoAgAgDCACa0ECdGoiAjYCACAEIAIgASAAa0ECdCADaiABIAxGGzYCACALEEcgCyQGC/UBAgV/AXwjBiEEIwZB4AFqJAYgBEHYAWohBSAEQTBqIgYgBEHAAWoiByACIAMQ8wogBCABIAcQ6ApBAEgEf0EAQQNB4awBIAUQPUF/BUEAIQEDfyABQQJGBH9BAAVBACECA0AgAkEGRwRAIAFBMGwgAGogAkEDdGoiBUQAAAAAAAAAADkDAEEAIQNEAAAAAAAAAAAhCQNAIANBA0cEQCAFIAkgAUEYbCAEaiADQQN0aisDACADQTBsIAZqIAJBA3RqKwMAoqAiCTkDACADQQFqIQMMAQsLIAJBAWohAgwBCwsgAUEBaiEBDAELCwshCCAEJAYgCAv6BwELfyMGIQojBkEQaiQGIAZBgM4DEDohCSAGQZDOAxA6Ig0oAgAoAhQhBiAKIA0gBkE/cUGyBWoRAwAgBSADNgIAAkACQCACIgsCfwJAAkAgACwAACICQStrDgMAAQABCyAJIAIgCSgCACgCHEE/cUGKAWoRAgAhAiAFIAUoAgAiBkEBajYCACAGIAI6AAAgAEEBagwBCyAACyIGa0EBTA0AIAYsAABBMEcNACAGLAABQdgAayICQQAgAkEgRxsNACAJQTAgCSgCACgCHEE/cUGKAWoRAgAhAiAFIAUoAgAiB0EBajYCACAHIAI6AAAgCSAGLAABIAkoAgAoAhxBP3FBigFqEQIAIQIgBSAFKAIAIgdBAWo2AgAgByACOgAAIAZBAmoiBiECA0AgAiALSQRAIAIsAAAQXBCDAwRAIAJBAWohAgwCCwsLDAELIAYhAgNAIAIgC08NAQJ/IAIsAAAhERBcGiARCxCKAQRAIAJBAWohAgwBCwsLIAooAgQgCiwACyIHQf8BcSAHQQBIGwR/IAIgBkcEQAJAIAIhByAGIQgDQCAIIAdBf2oiB08NASAILAAAIQwgCCAHLAAAOgAAIAcgDDoAACAIQQFqIQgMAAALAAsLIA0gDSgCACgCEEH/AHFBCGoRAAAhDyAGIQxBACEIQQAhBwNAIAwgAkkEQCAHIAooAgAgCiAKLAALQQBIG2osAAAiDkEASiAIIA5GcQRAIAUgBSgCACIIQQFqNgIAIAggDzoAACAHIAcgCigCBCAKLAALIghB/wFxIAhBAEgbQX9qSWohB0EAIQgLIAkgDCwAACAJKAIAKAIcQT9xQYoBahECACEOIAUgBSgCACIQQQFqNgIAIBAgDjoAACAMQQFqIQwgCEEBaiEIDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAkFA38gByAGQX9qIgZJBH8gBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAEFIAkLCwsFIAkgBiACIAUoAgAgCSgCACgCIEEPcUGKAmoRCQAaIAUgBSgCACACIAZrajYCACAJCyEGAkACQANAIAIgC0kEQCACLAAAIgdBLkYNAiAJIAcgBigCACgCHEE/cUGKAWoRAgAhByAFIAUoAgAiCEEBajYCACAIIAc6AAAgAkEBaiECDAELCwwBCyANIA0oAgAoAgxB/wBxQQhqEQAAIQYgBSAFKAIAIgdBAWo2AgAgByAGOgAAIAJBAWohAgsgCSACIAsgBSgCACAJKAIAKAIgQQ9xQYoCahEJABogBSAFKAIAIAsgAmtqIgI2AgAgBCACIAMgASAAa2ogASALRhs2AgAgChBHIAokBgueAQEFfCABKwNYIAIrAwAiAyABQUBrKwMAoiACKwMIIgQgASsDSKKgIAIrAxAiBSABKwNQoqCgIgZEAAAAAAAAAABhBH9BfwUgASsDOCADIAErAyCiIAQgASsDKKKgIAUgASsDMKKgoCEHIAAgASsDGCADIAErAwCiIAQgASsDCKKgIAUgASsDEKKgoCAGozkDACAAIAcgBqM5AwhBAAsLVgECfyMGIQYjBkEQaiQGIAYgASgCADYCBCAGIAIoAgA2AgAgBkEIaiIBIAYoAgQ2AgAgBkEMaiICIAYoAgA2AgAgASACIAMgBCAFEIkLIQcgBiQGIAcL0wECA38BfiMGIQQjBkEQaiQGIAAgAUYEfyACQQQ2AgBBAAVBpMUDKAIAIQVBpMUDQQA2AgAgACAEIAMQXBD9AiEHQaTFAygCACIARQRAQaTFAyAFNgIACyABIAQoAgBGBH8CfyAAQcQARgRAIAJBBDYCAEH/////ByAHQgBVDQEaBQJAIAdCgICAgHhTBEAgAkEENgIADAELIAenIAdC/////wdXDQIaIAJBBDYCAEH/////BwwCCwtBgICAgHgLBSACQQQ2AgBBAAsLIQYgBCQGIAYLogECAn8BfiMGIQQjBkEQaiQGIAAgAUYEQCACQQQ2AgAFQaTFAygCACEFQaTFA0EANgIAIAAgBCADEFwQ/QIhBkGkxQMoAgAiAEUEQEGkxQMgBTYCAAsgASAEKAIARgR+IABBxABGBH4gAkEENgIAQv///////////wBCgICAgICAgICAfyAGQgBVGwUgBgsFIAJBBDYCAEIACyEGCyAEJAYgBgvWAQIEfwF+IwYhBCMGQRBqJAYgACABRgR/IAJBBDYCAEEABQJ/IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEEADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQhBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfwJ/IABBxABGIAhC//8DVnIEQCACQQQ2AgBBfwwBCyAIp0H//wNxIQBBACAIp2tB//8DcSAAIAUbCwUgAkEENgIAQQALCwshByAEJAYgBwvHAQIEfwF+IwYhBCMGQRBqJAYgACABRgR/IAJBBDYCAEEABQJ/IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEEADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQhBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfyAAQcQARiAIQv////8PVnIEfyACQQQ2AgBBfwVBACAIpyIAayAAIAUbCwUgAkEENgIAQQALCwshByAEJAYgBwu6AQIDfwJ+IwYhBCMGQRBqJAYgACABRgR+IAJBBDYCAEIABQJ+IAAsAABBLUYiBQRAIAEgAEEBaiIARgRAIAJBBDYCAEIADAILC0GkxQMoAgAhBkGkxQNBADYCACAAIAQgAxBcEKECIQdBpMUDKAIAIgBFBEBBpMUDIAY2AgALIAEgBCgCAEYEfiAAQcQARgR+IAJBBDYCAEJ/BUIAIAd9IAcgBRsLBSACQQQ2AgBCAAsLCyEIIAQkBiAIC4oBAgJ/AX0jBiEDIwZBEGokBiAAIAFGBEAgAkEENgIABUGkxQMoAgAhBEGkxQNBADYCABBcGiAAIANBABCgArYhBUGkxQMoAgAiAEUEQEGkxQMgBDYCAAsCQAJAIAEgAygCAEYEQCAAQcQARg0BBUMAAAAAIQUMAQsMAQsgAkEENgIACwsgAyQGIAULjQECAn8BfCMGIQMjBkEQaiQGIAAgAUYEQCACQQQ2AgAFQaTFAygCACEEQaTFA0EANgIAEFwaIAAgA0EBEKACIQVBpMUDKAIAIgBFBEBBpMUDIAQ2AgALAkACQCABIAMoAgBGBEAgAEHEAEYNAQVEAAAAAAAAAAAhBQwBCwwBCyACQQQ2AgALCyADJAYgBQuNAQICfwF8IwYhAyMGQRBqJAYgACABRgRAIAJBBDYCAAVBpMUDKAIAIQRBpMUDQQA2AgAQXBogACADQQIQoAIhBUGkxQMoAgAiAEUEQEGkxQMgBDYCAAsCQAJAIAEgAygCAEYEQCAAQcQARg0BBUQAAAAAAAAAACEFDAELDAELIAJBBDYCAAsLIAMkBiAFCzkBAn8jBiEDIwZBEGokBiADIAI2AgAgARBiIQEgAEGDkwMgAxCVAyEEIAEEQCABEGIaCyADJAYgBAtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnAshByAGJAYgBwulAQEEfyMGIQUjBkEQaiQGIAIgAWtBAnUiBEHv////A0sEQBAACyAEQQJJBEAgACAEOgALIAAhAwUgBEEEakF8cSIGQf////8DSwRAEAAFIAAgBkECdBBRIgM2AgAgACAGQYCAgIB4cjYCCCAAIAQ2AgQLCwNAIAEgAkcEQCADIAEQbiABQQRqIQEgA0EEaiEDDAELCyAFQQA2AgAgAyAFEG4gBSQGC6sDAgp/AX4jBiEFIwZBIGokBiAFQRBqIQMgBUEIaiEEIAVBBGohCSAALAA0BEAgACgCMCELIAEEQCAAQX82AjAgAEEAOgA0CyALIQAFIAAoAiwiAkEBIAJBAUobIQICQAJAA0AgBiACTw0BIAAoAiAQ8wEiB0F/RwRAIAMgBmogBzoAACAGQQFqIQYMAQsLQX8hAAwBCwJAAkAgACwANQRAIAQgAywAADoAAAwBBQJAIARBAWohBgJAAkACQANAAkAgACgCKCIHKQIAIQwgACgCJCIIKAIAKAIQIQoCQCAIIAcgAyACIANqIgcgCSAEIAYgBSAKQQ9xQY4DahEOAEEBaw4DAAQDAQsgACgCKCAMNwIAIAJBCEYNAyAAKAIgEPMBIghBf0YNAyAHIAg6AAAgAkEBaiECDAELCwwCCyAEIAMsAAA6AAAMAQtBfyEADAELDAILCwwBCyABBEAgACAELAAAEEI2AjAFAkADQCACQQBMDQEgAyACQX9qIgJqLAAAEEIgACgCIBDvAUF/Rw0AC0F/IQAMAgsLIAQsAAAQQiEACwsLIAUkBiAAC6UDAgp/AX4jBiEFIwZBIGokBiAFQRBqIQMgBUEIaiEEIAVBBGohCSAALAA0BEAgACgCMCELIAEEQCAAQX82AjAgAEEAOgA0CyALIQAFIAAoAiwiAkEBIAJBAUobIQICQAJAA0AgBiACTw0BIAAoAiAQ8wEiB0F/RwRAIAMgBmogBzoAACAGQQFqIQYMAQsLQX8hAAwBCwJAAkAgACwANQRAIAQgAywAADYCAAwBBQJAIARBBGohBgJAAkACQANAAkAgACgCKCIHKQIAIQwgACgCJCIIKAIAKAIQIQoCQCAIIAcgAyACIANqIgcgCSAEIAYgBSAKQQ9xQY4DahEOAEEBaw4DAAQDAQsgACgCKCAMNwIAIAJBCEYNAyAAKAIgEPMBIghBf0YNAyAHIAg6AAAgAkEBaiECDAELCwwCCyAEIAMsAAA2AgAMAQtBfyEADAELDAILCwwBCyABBEAgACAEKAIANgIwBQJAA0AgAkEATA0BIAMgAkF/aiICaiwAACAAKAIgEO8BQX9HDQALQX8hAAwCCwsgBCgCACEACwsLIAUkBiAAC5oBAQV/IwYhASMGQRBqJAYgAUEIaiICQQhqIQUCQAJAA0AgACgCJCIDKAIAKAIUIQQgAyAAKAIoIAIgBSABIARBH3FBogJqEQgAIQMCQCABKAIAIAJrIgQgAkEBIAQgACgCIBCTAUcNAAJAIANBAWsOAgABAwsMAQsLQX8hAAwBCyAAKAIgEKkCQQBHQR90QR91IQALIAEkBiAACxMAIAAgACgCAEF0aigCAGoQ6gILEwAgACAAKAIAQXRqKAIAahCZAgsTACAAIAAoAgBBdGooAgBqEOsCCxMAIAAgACgCAEF0aigCAGoQmgILKwEBfwNAIAJBCEcEQCABIAJqIABBByACa2osAAA6AAAgAkEBaiECDAELCwsSACAAQdyMATYCACAAQQRqEDwLBABBfwsQACAAQgA3AwAgAEJ/NwMICxAAIABCADcDACAAQn83AwgLBAAgAAsrAQF/A0AgAkEERwRAIAEgAmogAEEDIAJraiwAADoAACACQQFqIQIMAQsLCxIAIABBnIwBNgIAIABBBGoQPAtTAQN/IAIoAgAhBCABIABrQQJ1IQEDQCABBEAgAUEBdiICQQJ0IABqIgUoAgAgBEkhAyAFQQRqIAAgAxshACABQX9qIAJrIAIgAxshAQwBCwsgAAvOAQEDfyMGIQIjBkHAAWokBiAAIAIQ1QQgAEEEaiACQQRqENUEA0AgAUEDRwRAQQAhAwNAIANBBEcEQCAAQQhqIAFBBXRqIANBA3RqIAJBCGogAUEFdGogA0EDdGoQzwQgA0EBaiEDDAELCyABQQFqIQEMAQsLQQAhAQNAIAEgACgCsAEiA0EDdEGYFWooAgBIBEAgAEHoAGogAUEDdGogAkHoAGogAUEDdGoQzwQgAUEBaiEBDAELCyACIAM2ArABIAAgAkG4ARBMGiACJAYLJwEBfyMGIQEjBkEQaiQGIAEgADYCAEHY+QBBBSABKAIAEAggASQGCycBAX8jBiEBIwZBEGokBiABIAA2AgBB4PkAQQQgASgCABAIIAEkBgsnAQF/IwYhASMGQRBqJAYgASAANgIAQej5AEEDIAEoAgAQCCABJAYLJwEBfyMGIQEjBkEQaiQGIAEgADYCAEHw+QBBAiABKAIAEAggASQGCycBAX8jBiEBIwZBEGokBiABIAA2AgBB+PkAQQEgASgCABAIIAEkBgsnAQF/IwYhASMGQRBqJAYgASAANgIAQYD6AEEAIAEoAgAQCCABJAYLmAsBFXwCfwJAAkACQAJAAkACQCAFQQFrDgQDAgEABAsgACsDACEJIAArAwghCiAAQUBrKwMAIQ0gACsDECIORAAAAAAAAABAoiEPIAArAxgiEEQAAAAAAAAYQKIhEyAQRAAAAAAAAABAoiEUIA5EAAAAAAAAGECiIRUgASAAKwMwIhahIAArAyAiF6MiCyEBIAIgACsDOCIYoSAAKwMoIhmjIgwhAiALIAuiIQYgDCAMoiEHQQEhAANAAkAgBkQAAAAAAAAAAGIgB0QAAAAAAAAAAGJyRQRARAAAAAAAAAAAIQFEAAAAAAAAAAAhAgwBCyAJIAcgBqAiCKJEAAAAAAAA8D+gIAggCiAIoqKgIREgByAGRAAAAAAAAAhAoiIaoiESIAIgDiAHRAAAAAAAAABAoiAIoKIgAiARoqAgAiAUIAEgECAIIAZEAAAAAAAAAECioKIgAiAPIAGioiABIBGioKAgC6EgEyABoiAPIAKiIAkgByAaoKJEAAAAAAAA8D+gIAogByAHoiAGIAZEAAAAAAAAFECioiASoKCioKCgo6EiAaIiCKKgIAyhIBUgAqIgCSAGIAdEAAAAAAAACECioKJEAAAAAAAA8D+gIAogByAHRAAAAAAAABRAoqIgBiAGoiASoKCioKAgCKCjoSECIABBBEcEQCABIAGiIQYgAiACoiEHIABBAWohAAwCCwsLIAMgFiAXIAGiIA2joDkDACAYIBkgAqIgDaOgIQEMBAsgACsDIEQAAAAAhNeXQaMiCEQAAAAAAAAIQKIhCSAAKwMoRAAAAACE15dBo0QAAAAAAGr4QKMiCkQAAAAAAAAUQKIhC0EBIQUgASAAKwMAIgyhIAArAxijIgEgAaIgAiAAKwMIoSICIAKioCIHnyINIQYDQAJAIAZEAAAAAAAAAABhBEBEAAAAAAAAAAAhAkQAAAAAAAAAACEBDAELIAEgBiAGRAAAAAAAAPA/IAggB6KhIAcgCiAHoqKhoiANoUQAAAAAAADwPyAJIAeioSAHIAsgB6KioaOhIgeiIAajIQEgAiAHoiAGoyECIAVBA0cEQCABIAGiIAIgAqKgIgYhByAFQQFqIQUgBp8hBgwCCwsLIAMgDCABIAArAxCjoDkDACACIAArAxCjIAArAwigIQEMAwsgACsDGEQAAAAAhNeXQaMiCEQAAAAAAAAIQKIhCSAAKwMgRAAAAACE15dBo0QAAAAAAGr4QKMiCkQAAAAAAAAUQKIhC0EBIQUgASAAKwMAIgyhIgcgB6IgAiAAKwMIoSICIAKioCIBnyINIQYDQAJAIAZEAAAAAAAAAABhBEBEAAAAAAAAAAAhAkQAAAAAAAAAACEBDAELIAcgBiAGRAAAAAAAAPA/IAggAaKhIAEgCiABoqKhoiANoUQAAAAAAADwPyAJIAGioSABIAsgAaKioaOhIgeiIAajIQEgAiAHoiAGoyECIAVBA0cEQCAFQQFqIQUgASIHIAGiIAIgAqKgIgGfIQYMAgsLCyADIAwgASAAKwMQo6A5AwAgAiAAKwMQoyAAKwMIoCEBDAILIAArAxhEAAAAAITXl0GjIghEAAAAAAAACECiIQlBASEFIAEgACsDACIKoSIHIAeiIAIgACsDCKEiAiACoqAiAZ8iCyEGA0ACQCAGRAAAAAAAAAAAYQRARAAAAAAAAAAAIQJEAAAAAAAAAAAhAQwBCyAHIAYgBkQAAAAAAADwPyAIIAGioaIgC6FEAAAAAAAA8D8gCSABoqGjoSIHoiAGoyEBIAIgB6IgBqMhAiAFQQNHBEAgBUEBaiEFIAEiByABoiACIAKioCIBnyEGDAILCwsgAyAKIAEgACsDEKOgOQMAIAIgACsDEKMgACsDCKAhAQwBC0F/DAELIAQgATkDAEEACxoL5QEAQbj4AEH1ggMQLUHA+ABB+oIDQQFBAUEAEC8Q5AsQ4wsQ4gsQ4QsQ4AsQ3wsQ3gsQ3QsQ3AsQ2wsQ2gtByPIAQeSDAxAVQeD6AEHwgwMQFUHI+gBBBEGRhAMQEkGw+gBBAkGehAMQEkGY+gBBBEGthAMQEkGQ+gBBvIQDEC4Q2QtB6oQDEN4EQY+FAxDdBEG2hQMQ3ARB1YUDENsEQf2FAxDaBEGahgMQ2QQQ1wsQ1gtBhYcDEN4EQaWHAxDdBEHGhwMQ3ARB54cDENsEQYmIAxDaBEGqiAMQ2QQQ1QsQ1AsQ0wsLWgEDfyAAKAIEIQUgAgRAIAVBCHUhBCAFQQFxBEAgBCACKAIAaigCACEECwsgACgCACIAKAIAKAIcIQYgACABIAIgBGogA0ECIAVBAnEbIAZBH3FB+gVqEQcACwsAIAAQ4wQgABA4CxMAIABBoIsBNgIAIABBBGoQ7gsLxwIBBH8jBiEDIwZBQGskBiAAIAAoAgAiBEF4aigCAGohBSAEQXxqKAIAIQQgAyACNgIAIAMgADYCBCADIAE2AgggA0EANgIMIANCADcCECADQgA3AhggA0IANwIgIANCADcCKCADQQA2AjAgA0EAOwE0IANBADoANiAEIAJBABCBAQR/IANBATYCMCAEIAMgBSAFQQFBACAEKAIAKAIUQQdxQdoGahEMACAFQQAgAygCGEEBRhsFAn8gBCADIAVBAUEAIAQoAgAoAhhBP3FBmgZqEQUAAkACQAJAIAMoAiQOAgACAQsgAygCFEEAIAMoAihBAUYgAygCHEEBRnEgAygCIEEBRnEbDAILQQAMAQsgAygCGEEBRwRAQQAgAygCKEUgAygCHEEBRnEgAygCIEEBRnFFDQEaCyADKAIQCwshBiADJAYgBgunDAIHfwh9IAG8IgVB/////wdxIgJFIAC8IgZBgICA/ANGcgRAQwAAgD8PCyAGQf////8HcSIDQYCAgPwHSyACQYCAgPwHS3IEQCAAIAGSDwsgBkEASCIIBH8gAkH////bBEsEf0ECBSACQf////sDSwR/QQIgAkGWASACQRd2ayIEdiIHQQFxa0EAIAcgBHQgAkYbBUEACwsFQQALIQQCQCAFQf////8HcSIHQYCAgPwHSARAIAdBgICA/ANrDQEgAEMAAIA/IACVIAVBf0obDwUgB0GAgID8B2sNASADQYCAgPwDRgRAQwAAgD8PCyAFQX9KIQIgA0GAgID8A0sEQCABQwAAAAAgAhsPBUMAAAAAIAGMIAIbDwsACwALIAVBgICAgARGBEAgACAAlA8LIAVBgICA+ANGIAZBf0pxBEAgAJEPCyAAiyEJAkACQAJAIANFIANBgICAgARyQYCAgPwHRnIEQEMAAIA/IAmVIAkgBUEASBshACAIRQRAIAAPCyAEIANBgICAhHxqcgRAIACMIAAgBEEBRhsPCwwBCyAIBEACQAJAAkAgBA4CBAABC0MAAIC/IQsMAQtDAACAPyELCwVDAACAPyELCyACQYCAgOgESwRAAkAgA0H4///7A0kEQCALQ8rySXGUQ8rySXGUIAtDYEKiDZRDYEKiDZQgBUEASBsPCyADQYeAgPwDTQRAIAlDAACAv5IiAEMAqrg/lCIKIABDcKXsNpQgACAAlEMAAAA/IABDq6qqPiAAQwAAgD6Uk5STlEM7qrg/lJMiAJK8QYBgcb4iDCEJIAwgCpMhCgwBCyALQ8rySXGUQ8rySXGUIAtDYEKiDZRDYEKiDZQgBUEAShsPCwUgCUMAAIBLlLwgAyADQYCAgARJIgMbIgRBF3VB6X5BgX8gAxtqIQIgBEH///8DcSIEQYCAgPwDciEDIARB8ojzAEkEQEEAIQQFIARB1+f2AkkiBiEEIAIgBkEBc0EBcWohAiADIANBgICAfGogBhshAwsgBEECdEHAigFqKgIAIg4gA74iCiAEQQJ0QbCKAWoqAgAiDJMiDUMAAIA/IAwgCpKVIg+UIgm8QYBgcb4iACAAIACUIhBDAABAQJIgCSAAkiAPIA0gA0EBdUGA4P//fXFBgICAgAJyQYCAgAJqIARBFXRqviINIACUkyAKIA0gDJOTIACUk5QiCpQgCSAJlCIAIACUIAAgACAAIAAgAENC8VM+lENVMmw+kpRDBaOLPpKUQ6uqqj6SlEO3bds+kpRDmpkZP5KUkiIMkrxBgGBxviIAlCINIAogAJQgCSAMIABDAABAwJIgEJOTlJIiCZK8QYBgcb4iAEMAQHY/lCIKIARBAnRBuIoBaioCACAJIAAgDZOTQ084dj+UIABDxiP2OJSTkiIAkpIgArIiDJK8QYBgcb4iDSEJIA0gDJMgDpMgCpMhCgsgACAKkyABlCABIAVBgGBxviIAkyAJlJIhASAJIACUIgAgAZIiCbwiA0GAgICYBEoNAQJAAkAgA0GAgICYBEYEQCABQzyqODOSIAkgAJNeBEAMBQVBgICAmAQhAgwCCwAFAkAgA0H/////B3EiAkGAgNiYBEsNBiABIAkgAJNfRSADQYCA2Jh8R3IEQCACQYCAgPgDSwRADAQFQQAhAgwCCwALDAYLCwwBCyADQYCAgAQgAkEXdkGCf2p2aiICQRd2Qf8BcSEFIAAgAkGAgIB8IAVBgX9qdXG+kyIJIQBBACACQf///wNxQYCAgARyQZYBIAVrdiICayACIANBAEgbIQIgASAJkrwhAwsgC0MAAIA/IANBgIB+cb4iCUMAcjE/lCIKIAlDjL6/NZQgASAJIACTk0MYcjE/lJIiCZIiACAAIAAgAJQiASABIAEgASABQ0y7MTOUQw7q3bWSlENVs4o4kpRDYQs2u5KUQ6uqKj6SlJMiAZQgAUMAAADAkpUgCSAAIAqTkyIBIAAgAZSSkyAAk5MiALwgAkEXdGoiA0GAgIAESAR9IAAgAhD1BAUgA74LlA8LIAAgAJMiACAAlQ8LIAtDyvJJcZRDyvJJcZQPCyALQ2BCog2UQ2BCog2UC8ABAQJ/IwYhASMGQRBqJAYgAL1CIIinQf////8HcSICQfzDpP8DSQRAIAJBgIDA8gNPBEAgAEQAAAAAAAAAAEEAENQBIQALBQJ8IAAgAKEgAkH//7//B0sNABoCQAJAAkACQCAAIAEQ/AJBA3EOAwABAgMLIAErAwAgASsDCEEBENQBDAMLIAErAwAgASsDCBDTAQwCCyABKwMAIAErAwhBARDUAZoMAQsgASsDACABKwMIENMBmgshAAsgASQGIAALyAECAn8BfCMGIQEjBkEQaiQGIAC9QiCIp0H/////B3EiAkH8w6T/A0kEfCACQZ7BmvIDSQR8RAAAAAAAAPA/BSAARAAAAAAAAAAAENMBCwUCfCAAIAChIAJB//+//wdLDQAaAkACQAJAAkAgACABEPwCQQNxDgMAAQIDCyABKwMAIAErAwgQ0wEMAwsgASsDACABKwMIQQEQ1AGaDAILIAErAwAgASsDCBDTAZoMAQsgASsDACABKwMIQQEQ1AELCyEDIAEkBiADC9kCAQZ/IwYhCCMGQZACaiQGIAhBgAJqIgcgASgCACIENgIAIANBgAIgAEEARyIJGyEFIAAgCCAJGyEAIAVBAEcgBEEAR3EEQAJAQQAhAwNAAkAgAiAFTyIGIAJBIEtyRQ0CIAIgBSACIAYbIgRrIQIgACAHIAQQ8wQiBEF/Rg0AIAVBACAEIAAgCEYiBhtrIQUgACAAIARqIAYbIQAgAyAEaiEDIAcoAgAiBEEARyAFQQBHcQ0BDAILC0F/IQNBACEFIAcoAgAhBAsFQQAhAwsgBARAIAVBAEcgAkEAR3EEQAJAA0AgACAEKAIAEJ4BIgZBAWpBAk8EQCAHIAcoAgBBBGoiBDYCACAAIAZqIQAgAyAGaiEDIAUgBmsiBUEARyACQX9qIgJBAEdxDQEMAgsLIAYEQEF/IQMFIAdBADYCAAsLCwsgCQRAIAEgBygCADYCAAsgCCQGIAMLaQECfyAAIAFrQQJ1IAJJBEADQCACQX9qIgJBAnQgAGogAkECdCABaigCADYCACACDQALBSACBEADQCABQQRqIQMgAEEEaiEEIAAgASgCADYCACACQX9qIgIEQCADIQEgBCEADAELCwsLC4gBAQV/IAAoAgQiBSABKAIIRgR/IAAoAggiBiABKAIERgR/IAAoAgAhAAN/IAIgBUgEfyABKAIAIAJBAnRqIQNBACEEA0AgBCAGSARAIAAgAygCADYCACAFQQJ0IANqIQMgBEEBaiEEIABBBGohAAwBCwsgAkEBaiECDAEFQQALCwVBfwsFQX8LCyoBAX8gAgRAA0AgAEEEaiEDIAAgATYCACACQX9qIgIEQCADIQAMAQsLCwtkAQJ/IAAQYCAAaiEAIAIEQAJAIAIhAyABIQIgACEBA38gAiwAACIERQ0BIAJBAWohAiABQQFqIQAgASAEOgAAIANBf2oiAwR/IAAhAQwBBSAACwshAQsFIAAhAQsgAUEAOgAAC9UBAQR/QfGpASECIwYhAyMGQSBqJAYCQAJAQfGpASwAACIBRQ0AQfKpASwAAEUNACADQQBBIBBFGkHxqQEsAAAiAQRAA0AgAUH/AXEiAUEFdkECdCADaiIEIAQoAgBBASABQR9xdHI2AgAgAkEBaiICLAAAIgENAAsLIAAsAAAiAQRAAkAgACECA0AgAUH/AXEiAUEFdkECdCADaigCAEEBIAFBH3F0cQ0BIAJBAWoiAiwAACIBDQALCwUgACECCwwBCyAAIAEQqgIhAgsgAyQGIAIgAGsLlAEBA38DQCAAQQFqIQEgACwAABCyAQRAIAEhAAwBCwsCfwJAAkACQAJAIAAsAAAiA0Eraw4DAQIAAgtBASEADAILQQAhAAwBCyADDAELIAAhAiABIgAsAAALEIoBBEBBACEBA0AgAUEKbEEwaiAALAAAayEBIABBAWoiACwAABCKAQ0ACwVBACEBCyABQQAgAWsgAhsLZAIBfwF+IAAoAighASAAQgAgACgCAEGAAXEEf0ECQQEgACgCFCAAKAIcSxsFQQELIAFBA3FBpgNqERQAIgJCAFkEQCAAKAIUIAAoAhxrrCACIAAoAgggACgCBGusfXwhAgsgAguBAwEHfyMGIQUjBkGQCGokBiAFQYAIaiIIIAEoAgAiBjYCACADQYACIABBAEciCRshByAAIAUiCiAJGyEDIAdBAEcgBiIFQQBHcQRAAkBBACEAA0ACQCACQQJ2IgYgB08iCyACQYMBS3JFDQIgAiAHIAYgCxsiBWshAiADIAggBSAEEP4CIgVBf0YNACAHQQAgBSADIApGIgYbayEHIAMgBUECdCADaiAGGyEDIAAgBWohACAIKAIAIgVBAEcgB0EAR3ENAQwCCwtBfyEAQQAhByAIKAIAIQULBUEAIQALIAUEQCAHQQBHIAJBAEdxBEACQANAIAMgBSACIAQQ1wEiBkECakEDTwRAIAggBiAIKAIAaiIFNgIAIANBBGohAyAAQQFqIQAgB0F/aiIHQQBHIAIgBmsiAkEAR3ENAQwCCwsCQAJAAkAgBkF/aw4CAAECCyAGIQAMAgsgCEEANgIADAELIARBADYCAAsLCyAJBEAgASAIKAIANgIACyAKJAYgAAuIAQEFfyAAKAIEIgUgASgCCEYEfyAAKAIIIgYgASgCBEYEfyAAKAIAIQADfyACIAVIBH8gASgCACACQQN0aiEDQQAhBANAIAQgBkgEQCAAIAMrAwA5AwAgBUEDdCADaiEDIARBAWohBCAAQQhqIQAMAQsLIAJBAWohAgwBBUEACwsFQX8LBUF/Cwt7AQF/AkAgACgCTEEATgRAAkAgACwAS0EKRg0AIAAoAhQiASAAKAIQTw0AIAAgAUEBajYCFCABQQo6AAAMAgsgABCZAwwBCyAALABLQQpHBEAgACgCFCIBIAAoAhBJBEAgACABQQFqNgIUIAFBCjoAAAwCCwsgABCZAwsLxQMBBH8jBiEGIwZBEGokBgJAIAAEQCACQQNLBEACQCACIQMgASgCACEEA0ACQCAEKAIAIgVBf2pB/gBLBH8gBUUNASAAIAUQngEiBUF/RgRAQX8hAgwHCyADIAVrIQMgACAFagUgACAFOgAAIANBf2ohAyABKAIAIQQgAEEBagshACABIARBBGoiBDYCACADQQNLDQEgAyEEDAILCyAAQQA6AAAgAUEANgIAIAIgA2shAgwDCwUgAiEECyAEBEAgACEDIAEoAgAhAAJAA0ACQCAAKAIAIgVBf2pB/gBLBH8gBUUNASAGIAUQngEiBUF/RgRAQX8hAgwHCyAEIAVJDQMgAyAAKAIAEJ4BGiADIAVqIQMgBCAFawUgAyAFOgAAIANBAWohAyABKAIAIQAgBEF/agshBCABIABBBGoiADYCACAEDQEMBQsLIANBADoAACABQQA2AgAgAiAEayECDAMLIAIgBGshAgsFIAEoAgAiACgCACIBBEBBACECA0AgAUH/AEsEQCAGIAEQngEiAUF/RgRAQX8hAgwFCwVBASEBCyABIAJqIQIgAEEEaiIAKAIAIgENAAsFQQAhAgsLCyAGJAYgAgtaAQN/IwYhAyMGQRBqJAYgAyACKAIANgIAQQBBACABIAMQqQEiBEEASAR/QX8FIAAgBEEBaiIEEEQiADYCACAABH8gACAEIAEgAhCpAQVBfwsLIQUgAyQGIAULmwEBAn8gAUH/AEoEQCAAQwAAAH+UIgBDAAAAf5QgACABQf4BSiICGyEAIAFBgn5qIgNB/wAgA0H/AEgbIAFBgX9qIAIbIQEFIAFBgn9IBEAgAEMAAIAAlCIAQwAAgACUIAAgAUGEfkgiAhshACABQfwBaiIDQYJ/IANBgn9KGyABQf4AaiACGyEBCwsgACABQRd0QYCAgPwDar6UC4MGAgp/An0jBiEJIwZB0A9qJAYgAUH0A0oEQEEAIQAFAkACQAJAAkAgAQ4CAAECC0EAIQAMAgsgAEMAAIA/IAAqAgCVOAIADAELA0AgBSABSARAIAVBAnQgCWogBTYCACAFQQFqIQUMAQsLIAFBf2pBAnQgAGoiDCEKA0AgBiABSARAQwAAAAAhDSACIAZsQQJ0IABqIgUhB0F/IQQgBiEDA0AgASADRwRAIA0gByoCAIsiDl0hCCAOIA0gCBshDSACQQJ0IAdqIQcgAyAEIAgbIQQgA0EBaiEDDAELCyAEQX9GIA1D/+bbLl9yBEBBACEADAMFIARBAnQgCWoiAygCACEHIAMgBkECdCAJaiIDKAIANgIAIAMgBzYCAEEAIQcgBSEDIAIgBGxBAnQgAGohBANAIAEgB0cEQCAEKAIAIQggBCADKAIANgIAIAMgCDYCACAHQQFqIQcgA0EEaiEDIARBBGohBAwBCwsgBSoCACENQQEhBCAFIQMDQCABIARHBEAgAyADQQRqIgMqAgAgDZU4AgAgBEEBaiEEDAELCyAKQwAAgD8gDZU4AgBBACEIIAwhBANAIAEgCEcEQCAGIAhHBEAgAiAIbEECdCAAaiIDKgIAIQ0gBSEHQQEhCwNAIAEgC0cEQCADIANBBGoiAyoCACANIAcqAgCUkzgCACAHQQRqIQcgC0EBaiELDAELCyAEIA0gCioCAJSMOAIACyAIQQFqIQggAkECdCAEaiEEDAELCyAGQQFqIQYgAkECdCAKaiEKDAILAAsLQQAhBQNAIAUgAUgEQCAFIQMDQAJAIANBAnQgCWohBiADIAFODQAgBSAGKAIARg0AIANBAWohAwwBCwsgBiAFQQJ0IAlqKAIANgIAQQAhBCAFQQJ0IABqIQYgA0ECdCAAaiEDA0AgBCABSARAIAMoAgAhByADIAYoAgA2AgAgBiAHNgIAIARBAWohBCACQQJ0IAZqIQYgAkECdCADaiEDDAELCyAFQQFqIQUMAQsLCwsgCSQGIAAL/QEBBX9B8akBIQEjBiEDIwZBIGokBiADQgA3AwAgA0IANwMIIANCADcDECADQgA3AxhB8akBLAAAIgIEfwJ/QfKpASwAAEUEQCAAIQEDQCABQQFqIQQgAiABLAAARgRAIAQhAQwBCwsgASAAawwBCwNAIAJB/wFxIgJBBXZBAnQgA2oiBCAEKAIAQQEgAkEfcXRyNgIAIAFBAWoiASwAACICDQALIAAsAAAiAgRAAkAgACEBA0AgAkH/AXEiBEEFdkECdCADaigCAEEBIARBH3F0cUUNASABQQFqIgEsAAAiAg0ACwsFIAAhAQsgASAAawsFQQALIQUgAyQGIAULkwYCCn8CfCMGIQkjBkHQD2okBiABQfQDSgRAQQAhAAUCQAJAAkACQCABDgIAAQILQQAhAAwCCyAARAAAAAAAAPA/IAArAwCjOQMADAELA0AgBSABSARAIAVBAnQgCWogBTYCACAFQQFqIQUMAQsLIAFBf2pBA3QgAGoiDCEKA0AgBiABSARARAAAAAAAAAAAIQ0gAiAGbEEDdCAAaiIFIQdBfyEEIAYhAwNAIAEgA0cEQCANIAcrAwCZIg5jIQggDiANIAgbIQ0gAkEDdCAHaiEHIAMgBCAIGyEEIANBAWohAwwBCwsgBEF/RiANRLu919nffNs9ZXIEQEEAIQAMAwUgBEECdCAJaiIDKAIAIQcgAyAGQQJ0IAlqIgMoAgA2AgAgAyAHNgIAQQAhByAFIQMgAiAEbEEDdCAAaiEEA0AgASAHRwRAIAQrAwAhDSAEIAMrAwA5AwAgAyANOQMAIAdBAWohByADQQhqIQMgBEEIaiEEDAELCyAFKwMAIQ1BASEEIAUhAwNAIAEgBEcEQCADIANBCGoiAysDACANozkDACAEQQFqIQQMAQsLIApEAAAAAAAA8D8gDaM5AwBBACEIIAwhBANAIAEgCEcEQCAGIAhHBEAgAiAIbEEDdCAAaiIDKwMAIQ0gBSEHQQEhCwNAIAEgC0cEQCADIANBCGoiAysDACANIAcrAwCioTkDACAHQQhqIQcgC0EBaiELDAELCyAEIA0gCisDAKKaOQMACyAIQQFqIQggAkEDdCAEaiEEDAELCyAGQQFqIQYgAkEDdCAKaiEKDAILAAsLQQAhBQNAIAUgAUgEQCAFIQMDQAJAIANBAnQgCWohBiADIAFODQAgBSAGKAIARg0AIANBAWohAwwBCwsgBiAFQQJ0IAlqKAIANgIAQQAhBCAFQQN0IABqIQYgA0EDdCAAaiEDA0AgBCABSARAIAMrAwAhDSADIAYrAwA5AwAgBiANOQMAIARBAWohBCACQQN0IAZqIQYgAkEDdCADaiEDDAELCyAFQQFqIQUMAQsLCwsgCSQGIAALlAIBAX8CQAJAIAAgAXNBA3ENAAJAIAJBAEciAyABQQNxQQBHcQRAA0AgACABLAAAIgM6AAAgA0UNAiAAQQFqIQAgAkF/aiICQQBHIgMgAUEBaiIBQQNxQQBHcQ0ACwsgAwRAIAEsAAAEQCACQQNLBEADQCABKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcUUEQCAAIAM2AgAgAUEEaiEBIABBBGohACACQXxqIgJBA0sNAQsLCwwDCwVBACECCwsMAQsgAgR/IAEhAyACIQEDfyAAIAMsAAAiAjoAACACRQRAIAEhAgwDCyADQQFqIQMgAEEBaiEAIAFBf2oiAQ0AQQALBUEACyECCyAAQQAgAhBFGgtAAQJ/IAIEQCABIQMgACEBA0AgA0EEaiEAIAFBBGohBCABIAMoAgA2AgAgAkF/aiICBEAgACEDIAQhAQwBCwsLCwMAAQssAQF/IwYhAiMGQRBqJAYgAiAANgIAIAIgATYCBEHbACACEDIQmgMaIAIkBgvWAQEFfyMGIQIjBkEgaiQGQQAQhgMEQANAQQEgAHRB/////wdxBEAgAEECdCAAQYaTAxCFAzYCAAsgAEEBaiIAQQZHDQALBQJAA0AgBEEBIAB0Qf////8HcSIDRUEAcQR/IABBAnQoAgAFIABBhpMDQafVAyADGxCFAwsiA0EAR2ohBCAAQQJ0IAJqIAM2AgAgAEEBaiIAQQZHDQALAkACQAJAIARB/////wdxDgIAAQILQczEAyEBDAILIAIoAgBB8IcBRgRAQYyIASEBCwsLCyACJAYgAQurAwIJfwJ8IAAoAgQiBUEBSCAAKAIIIgZBAUhyBH9BfwUgASgCBCAFRgR/IAEoAgggBUYEfyACKAIEIAVGBH8gAigCCCAGRgR/IAMoAgQgBUYEfyACKAIAIQIDQAJAIAQgBU4NACADKAIAIARBA3RqKwMAIg1EvInYl7LSnDxjDQBEAAAAAAAA8D8gDZmfoyEOIAQgBWwhDEEAIQcgAiEIA0AgBiAHRwRAQQAhCSABKAIAIAxBA3RqIQpEAAAAAAAAAAAhDSAAKAIAIAdBA3RqIQsDQCAFIAlHBEAgDSAKKwMAIAsrAwCioCENIAlBAWohCSAKQQhqIQogBkEDdCALaiELDAELCyAIIA4gDaI5AwAgB0EBaiEHIAhBCGohCAwBCwsgBEEBaiEEIAZBA3QgAmohAgwBCwsgAiEAA38gBCAFSAR/IAMoAgAgBEEDdGpEAAAAAAAAAAA5AwBBACEBA0AgASAGSARAIABEAAAAAAAAAAA5AwAgAUEBaiEBIABBCGohAAwBCwsgBEEBaiEEDAEFQQALCwVBfwsFQX8LBUF/CwVBfwsFQX8LCwuOAQECfwJAAkADQCACQbDaAGotAAAgAEcEQCACQQFqIgJB1wBHDQFB1wAhAgwCCwsgAg0AQZDbACEADAELQZDbACEAA0AgACEDA0AgA0EBaiEAIAMsAAAEQCAAIQMMAQsLIAJBf2oiAg0ACwsgASgCFCIBBH8gASgCACABKAIEIAAQmwUFQQALIgEgACABGws1ACABBH8CfwNAIAAgAUF/aiIBai0AAEEvRwRAIAEEQAwCBUEADAMLAAsLIAAgAWoLBUEACwusAQEDf0GcuAEhAiAAQZy4AXNBA3FFBEBBnLgBKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcUUEQAN/IABBBGohASAAIAM2AgAgAkEEaiICKAIAIgNB//37d2ogA0GAgYKEeHFBgIGChHhzcQR/IAEFIAEhAAwBCwshAAsLIAAgAiwAACIBOgAAIAEEQANAIABBAWoiACACQQFqIgIsAAAiAToAACABDQALCws1AQJ/IAIgACgCECAAKAIUIgRrIgMgAyACSxshAyAEIAEgAxBMGiAAIAAoAhQgA2o2AhQgAguUCQIYfwd8IwYhGCMGQRBqJAYgGCEMIAAoAgQiBiAAKAIIRyAGQQJIcgR/QX8FIAEoAgQgBkYEfyAGEOcCIg0EfwJ/IAwgBkF/aiIRNgIEIAwgDSgCAEEIajYCACAAIAEgDBCHC0EASARAIA0QzwFBfwwBCyANKAIAIghEAAAAAAAAAAA5AwAgESEDA0AgA0EASgRAIAMhBwNAIAdBAEoEQCAHQQN0IAhqKwMAmSABKAIAIgUgB0F/aiICQQN0aisDAJkgB0EDdCAFaisDAJmgRI3ttaD3xrA+omQEQCACIQcMAgsLCyADQX9qIQkgAyAHRwRAAkAgA0EDdCAIaiESIAdBAWpBA3QgCGohE0EAIQUDQCAFQeMASw0BIAVBAWohBSASKwMAIhsgG6IiGiABKAIAIg4gCUEDdGoiFCsDACADQQN0IA5qIhUrAwAiG6FEAAAAAAAA4D+iIh8gH6KgnyEcIBMrAwAhHSAHIgJBA3QgDmorAwAgG6EgGiAfIByaIBwgH0QAAAAAAAAAAGMboKOgIRsDQCACIANIBEAgG5kiGiAdmWYEQCAaRLyJ2Jey0pw8ZAR8RAAAAAAAAPA/IB2aIBujIhwgHKJEAAAAAAAA8D+gn6MiGiEeIBwgGqIFRAAAAAAAAPA/IR5EAAAAAAAAAAALIRoFRAAAAAAAAPA/IBuaIB2jIhwgHKJEAAAAAAAA8D+gn6MhGiAcIBqiIR4LIAJBA3QgDmoiDysDACIcIAJBAWoiCkEDdCAOaiIEKwMAIh+hISAgDyAcIBogGiAgoiAeRAAAAAAAAABAoiAKQQN0IAhqIhArAwCioKIiHKE5AwAgBCAfIBygOQMAIAJBA3QgCGohBCACIAdKBEAgBCAeIAQrAwCiIB0gGqKhOQMACyAQIBArAwAiHCAaIB4gIKIgGkQAAAAAAAAAQKIgHKKhoqA5AwAgAiAGbCEWIAYgCmwhF0EAIQsDQCAGIAtHBEAgACgCACIPIAsgFmpBA3RqIgQrAwAhGyAEIB4gG6IgGiALIBdqQQN0IA9qIgQrAwAiHaKhOQMAIAQgGiAboiAeIB2ioDkDACALQQFqIQsMAQsLIAIgCUgEQCAQKwMAIRsgAkECakEDdCAIaiICKwMAIR0gAiAeIB2iOQMAIBogHaKaIR0LIAohAgwBCwsgEisDAJkgFCsDAJkgFSsDAJmgRI3ttaD3xrA+omQNAAsLCyAJIQMMAQsLQQAhAwNAIAMgEUcEQCABKAIAIgkgA0EDdGoiBSsDACIdIRogAyICQQFqIgchBANAIAQgBkgEQCAEQQN0IAlqKwMAIhsgGmQhCiAbIBogChshGiAEIAIgChshAiAEQQFqIQQMAQsLIAJBA3QgCWogHTkDACAFIBo5AwAgAyAGbEEDdCAAKAIAIgNqIQUgAiAGbEEDdCADaiECQQAhAwNAIAMgBkcEQCACKwMAIRsgAiAFKwMAOQMAIAUgGzkDACAFQQhqIQUgAkEIaiECIANBAWohAwwBCwsgByEDDAELCyANEM8BQQALBUF/CwVBfwsLIRkgDCQGIBkLLAAgAFBFBEADQCABQX9qIgEgAKdBB3FBMHI6AAAgAEIDiCIAUEUNAAsLIAELNAAgAFBFBEADQCABQX9qIgEgAiAAp0EPcUGg2gBqLQAAcjoAACAAQgSIIgBQRQ0ACwsgAQuhAgIJfwF8IAAoAgQhCSAAKAIIIgIgASgCBEYEQCABKAIIIAJGBEACQCABKAIAIgohBgNAIAMgAk4EQEEAIQAMAgtBACEEIAYhAQNAIAIgBEcEQCAEIANJBEAgASADIAIgBGxqQQN0IApqKwMAOQMABQJAIAAoAgAhBSABRAAAAAAAAAAAOQMAQQAhByADQQN0IAVqIQggBEEDdCAFaiEFRAAAAAAAAAAAIQsDQCAHIAlODQEgASALIAgrAwAgBSsDAKKgIgs5AwAgB0EBaiEHIAJBA3QgCGohCCACQQN0IAVqIQUMAAALAAsLIARBAWohBCABQQhqIQEMAQsLIANBAWohAyACQQN0IAZqIQYMAAALAAsFQX8hAAsFQX8hAAsgAAvWAgEGfyMGIQMjBkHgAWokBiADQaABaiIEQgA3AwAgBEIANwMIIARCADcDECAEQgA3AxggBEIANwMgIANB0AFqIgUgAigCADYCAEEAIAEgBSADQdAAaiICIAQQpAJBAEgEf0F/BSAAKAJMQX9KBH9BAQVBAAsaIAAoAgAhBiAALABKQQFIBEAgACAGQV9xNgIACyAAKAIwBEAgACABIAUgAiAEEKQCIQEFIAAoAiwhByAAIAM2AiwgACADNgIcIAAgAzYCFCAAQdAANgIwIAAgA0HQAGo2AhAgACABIAUgAiAEEKQCIQEgBwRAIABBAEEAIAAoAiRBP3FBygFqEQQAGiABQX8gACgCFBshASAAIAc2AiwgAEEANgIwIABBADYCECAAQQA2AhwgAEEANgIUCwsgACAAKAIAIgAgBkEgcXI2AgBBfyABIABBIHEbCyEIIAMkBiAICykCAX8BfCABKAIAQQdqQXhxIgIrAwAhAyABIAJBCGo2AgAgACADOQMAC8wXAxR/A34BfCMGIRQjBkGwBGokBiAUQZgEaiIMQQA2AgAgAb0iGkIAUwR/IAGaIh0hAUGh/gIhEiAdvSEaQQEFQaT+AkGn/gJBov4CIARBAXEbIARBgBBxGyESIARBgRBxQQBHCyETIBRBIGohBiAUIg4hESAOQZwEaiIKQQxqIQ8gGkKAgICAgICA+P8Ag0KAgICAgICA+P8AUQR/IABBICACIBNBA2oiAyAEQf//e3EQdSAAIBIgExByIABBvP4CQcD+AiAFQSBxQQBHIgUbQbT+AkG4/gIgBRsgASABYhtBAxByIABBICACIAMgBEGAwABzEHUgAwUCfyABIAwQigNEAAAAAAAAAECiIgFEAAAAAAAAAABiIgcEQCAMIAwoAgBBf2o2AgALIAVBIHIiC0HhAEYEQCASQQlqIBIgBUEgcSIJGyEIQQwgA2siB0UgA0ELS3JFBEBEAAAAAAAAIEAhHQNAIB1EAAAAAAAAMECiIR0gB0F/aiIHDQALIAgsAABBLUYEfCAdIAGaIB2hoJoFIAEgHaAgHaELIQELIA9BACAMKAIAIgZrIAYgBkEASBusIA8QvgEiB0YEQCAKQQtqIgdBMDoAAAsgE0ECciEKIAdBf2ogBkEfdUECcUErajoAACAHQX5qIgcgBUEPajoAACADQQFIIQwgBEEIcUUhDSAOIQUDQCAFIAkgARBzIgZBoNoAai0AAHI6AAAgASAGt6FEAAAAAAAAMECiIQEgBUEBaiIGIBFrQQFGBH8gDSAMIAFEAAAAAAAAAABhcXEEfyAGBSAGQS46AAAgBUECagsFIAYLIQUgAUQAAAAAAAAAAGINAAsCfyADRSAFQX4gEWtqIANOckUEQCAPIANBAmpqIAdrIQsgBwwBCyAFIA8gEWsgB2tqIQsgBwshBiAAQSAgAiAKIAtqIgMgBBB1IAAgCCAKEHIgAEEwIAIgAyAEQYCABHMQdSAAIA4gBSARayIFEHIgAEEwIAsgBSAPIAZrIgZqa0EAQQAQdSAAIAcgBhByIABBICACIAMgBEGAwABzEHUgAwwBCyAHBEAgDCAMKAIAQWRqIgg2AgAgAUQAAAAAAACwQaIhAQUgDCgCACEICyAGIAZBoAJqIAhBAEgbIgohBgNAIAYgARCKBSIHNgIAIAZBBGohBiABIAe4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsgCEEASgRAIAohBwNAIAhBHSAIQR1IGyENIAZBfGoiCCAHTwRAIA2tIRtBACEJA0AgCa0gCCgCAK0gG4Z8IhxCgJTr3AMQ9gEhGiAIIBwgGkKAlOvcA359PgIAIBqnIQkgCEF8aiIIIAdPDQALIAkEQCAHQXxqIgcgCTYCAAsLIAYgB0sEQAJAA38gBkF8aiIIKAIADQEgCCAHSwR/IAghBgwBBSAICwshBgsLIAwgDCgCACANayIINgIAIAhBAEoNAAsFIAohBwtBBiADIANBAEgbIQ0gCEEASARAIA1BGWpBCRA5QQFqIRAgC0HmAEYhFSAGIQMDQEEAIAhrIgZBCSAGQQlIGyEJIAogByADSQR/QQEgCXRBf2ohFkGAlOvcAyAJdiEXQQAhCCAHIQYDQCAGIAggBigCACIYIAl2ajYCACAXIBYgGHFsIQggBkEEaiIGIANJDQALIAcgB0EEaiAHKAIAGyEZIAgEfyADIAg2AgAgA0EEagUgAwshBiAZBSADIQYgByAHQQRqIAcoAgAbCyIDIBUbIgcgEEECdGogBiAGIAdrQQJ1IBBKGyEIIAwgCSAMKAIAaiIGNgIAIAZBAEgEQCADIQcgCCEDIAYhCAwBCwsFIAchAyAGIQgLIAohDCADIAhJBEAgDCADa0ECdUEJbCEHIAMoAgAiCkEKTwRAQQohBgNAIAdBAWohByAKIAZBCmwiBk8NAAsLBUEAIQcLIA1BACAHIAtB5gBGG2sgC0HnAEYiFSANQQBHIhZxQR90QR91aiIGIAggDGtBAnVBCWxBd2pIBH8gBkGAyABqIgZBCRA5IQkgBiAJQQlsayIGQQhIBEBBCiELA0AgBkEBaiEKIAtBCmwhCyAGQQdIBEAgCiEGDAELCwVBCiELCyAJQQJ0IAxqQYRgaiIGKAIAIgkgCxBIIRAgCCAGQQRqRiIXIAkgCyAQbGsiCkVxRQRARAEAAAAAAEBDRAAAAAAAAEBDIBBBAXEbIQFEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gFyAKIAtBAXYiEEZxGyAKIBBJGyEdIBMEQCAdmiAdIBIsAABBLUYiEBshHSABmiABIBAbIQELIAYgCSAKayIKNgIAIAEgHaAgAWIEQCAGIAogC2oiBzYCACAHQf+T69wDSwRAA0AgBkEANgIAIAZBfGoiBiADSQRAIANBfGoiA0EANgIACyAGIAYoAgBBAWoiBzYCACAHQf+T69wDSw0ACwsgDCADa0ECdUEJbCEHIAMoAgAiCkEKTwRAQQohCwNAIAdBAWohByAKIAtBCmwiC08NAAsLCwsgByEJIAZBBGoiBiAIIAggBksbIQYgAwUgByEJIAghBiADCyEKIAYgCksEfwJ/IAYhAwN/IANBfGoiBigCAARAIAMhBkEBDAILIAYgCksEfyAGIQMMAQVBAAsLCwVBAAshByAVBH8gFkEBcyANaiIDIAlKIAlBe0pxBH8gA0F/aiAJayEIIAVBf2oFIANBf2ohCCAFQX5qCyEFIARBCHEEfyAIBSAHBEAgBkF8aigCACINBEAgDUEKEE4EQEEAIQMFQQAhA0EKIQsDQCADQQFqIQMgDSALQQpsIgsQTkUNAAsLBUEJIQMLBUEJIQMLIAYgDGtBAnVBCWxBd2ohDSAFQSByQeYARgR/IAggDSADayIDQQAgA0EAShsiAyAIIANIGwUgCCAJIA1qIANrIgNBACADQQBKGyIDIAggA0gbCwsFIA0LIQNBACAJayEIIABBICACIAVBIHJB5gBGIhAEf0EAIQggCUEAIAlBAEobBSAPIAggCSAJQQBIG6wgDxC+ASILa0ECSARAA0AgC0F/aiILQTA6AAAgDyALa0ECSA0ACwsgC0F/aiAJQR91QQJxQStqOgAAIAtBfmoiCCAFOgAAIA8gCGsLIAMgE0EBampBASAEQQN2QQFxIANBAEciCxtqaiINIAQQdSAAIBIgExByIABBMCACIA0gBEGAgARzEHUgEARAIA5BCWoiCSEPIA5BCGohCCAMIAogCiAMSxsiCiEHA0AgBygCAK0gCRC+ASEFIAcgCkYEQCAFIAlGBEAgCEEwOgAAIAghBQsFIAUgDksEQCAOQTAgBSARaxBFGgNAIAVBf2oiBSAOSw0ACwsLIAAgBSAPIAVrEHIgB0EEaiIFIAxNBEAgBSEHDAELCyAEQQhxRSALQQFzcUUEQCAAQcT+AkEBEHILIABBMCAFIAZJIANBAEpxBH8DfyAFKAIArSAJEL4BIgcgDksEQCAOQTAgByARaxBFGgNAIAdBf2oiByAOSw0ACwsgACAHIANBCSADQQlIGxByIANBd2ohByAFQQRqIgUgBkkgA0EJSnEEfyAHIQMMAQUgBwsLBSADC0EJakEJQQAQdQUgAEEwIAogBiAKQQRqIAcbIgtJIANBf0pxBH8gBEEIcUUhEiAOQQlqIgwhE0EAIBFrIREgDkEIaiEJIAMhBSAKIQYDfyAMIAYoAgCtIAwQvgEiA0YEQCAJQTA6AAAgCSEDCwJAIAYgCkYEQCADQQFqIQcgACADQQEQciASIAVBAUhxBEAgByEDDAILIABBxP4CQQEQciAHIQMFIAMgDk0NASAOQTAgAyARahBFGgNAIANBf2oiAyAOSw0ACwsLIAAgAyATIANrIgMgBSAFIANKGxByIAZBBGoiBiALSSAFIANrIgVBf0pxDQAgBQsFIAMLQRJqQRJBABB1IAAgCCAPIAhrEHILIABBICACIA0gBEGAwABzEHUgDQsLIQAgFCQGIAIgACAAIAJIGws0ACAAIABiBH9BAAUgAEQAAAAAAADwQWYEf0EABSAARAAAAAAAAPC/ZQR/QQAFIACrCwsLCyYBAX8jBiECIwZBEGokBiACIAE2AgAgAEH2/QIgAhClAhogAiQGC1YBA38gACgCVCIDQQAgAkGAAmoiBRCmAiEEIAEgAyAEIANrIAUgBBsiASACIAEgAkkbIgIQTBogACACIANqNgIEIAAgASADaiIBNgIIIAAgATYCVCACC6UCAgp/AXwgACgCCCEGIAAoAgQiBSABKAIERgRAIAEoAgggBUYEQAJAIAEoAgAiCiEHA0AgAiAFTgRAQQAhAAwCCyACIAZsIQtBACEDIAchAQNAIAMgBUcEQCADIAJJBEAgASACIAMgBWxqQQN0IApqKwMAOQMABQJAIAAoAgAhBCABRAAAAAAAAAAAOQMAQQAhCCALQQN0IARqIQkgAyAGbEEDdCAEaiEERAAAAAAAAAAAIQwDQCAIIAZODQEgASAMIAkrAwAgBCsDAKKgIgw5AwAgCEEBaiEIIAlBCGohCSAEQQhqIQQMAAALAAsLIANBAWohAyABQQhqIQEMAQsLIAJBAWohAiAFQQN0IAdqIQcMAAALAAsFQX8hAAsFQX8hAAsgAAv7AwIDfwV+IAC9IgdCNIinQf8PcSECIAG9IgZCNIinQf8PcSEEIAdCgICAgICAgICAf4MhCQJ8AkAgBkIBhiIFUA0AAnwgAkH/D0YgAb1C////////////AINCgICAgICAgPj/AFZyDQEgB0IBhiIIIAVYBEAgAEQAAAAAAAAAAKIgACAFIAhRGw8LIAIEfiAHQv////////8Hg0KAgICAgICACIQFIAdCDIYiBUJ/VQRAQQAhAgNAIAJBf2ohAiAFQgGGIgVCf1UNAAsFQQAhAgsgB0EBIAJrrYYLIgggBAR+IAZC/////////weDQoCAgICAgIAIhAUgBkIMhiIFQn9VBEADQCADQX9qIQMgBUIBhiIFQn9VDQALCyAGQQEgAyIEa62GCyIGfSIFQn9VIQMgAiAESgRAAkADQAJAIAMEQCAFUA0BBSAIIQULIAVCAYYiCCAGfSIFQn9VIQMgAkF/aiICIARKDQEMAgsLIABEAAAAAAAAAACiDAILCyADBEAgAEQAAAAAAAAAAKIgBVANARoFIAghBQsgBUKAgICAgICACFQEQANAIAJBf2ohAiAFQgGGIgVCgICAgICAgAhUDQALCyAFQoCAgICAgIB4fCACrUI0hoQgBUEBIAJrrYggAkEAShsgCYS/CwwBCyAAIAGiIgAgAKMLC/kTAw5/An4HfCMGIQojBkGABGokBkEAIAIgA2oiEGshEQJAAkADQAJAAkACQCABQS5rDgMEAAEACyABIQYgByEBDAELIAAoAgQiASAAKAJoSQR/IAAgAUEBajYCBCABLQAABSAAEFQLIQFBASEHDAELCwwBCyAAKAIEIgEgACgCaEkEfyAAIAFBAWo2AgQgAS0AAAUgABBUCyIGQTBGBH8DfyAUQn98IRQgACgCBCIBIAAoAmhJBH8gACABQQFqNgIEIAEtAAAFIAAQVAsiBkEwRg0AQQEhC0EBCwVBASELIAcLIQELIApBADYCAAJ8AkACQAJAAkAgBkEuRiIOIAZBUGoiDUEKSXIEQAJAQQAhByAGIQkgDSEGA0ACQCAOBEAgCw0BQQEhCyAVIRQFAkAgFUIBfCEVIAlBMEchDSAIQf0ATgRAIA1FDQEgCiAKKALwA0EBcjYC8AMMAQsgCEECdCAKaiIBIAwEfyAJQVBqIAEoAgBBCmxqBSAGCzYCACAMQQFqIgZBCUYhAUEAIAYgARshDCABIAhqIQggFacgByANGyEHQQEhAQsLIAAoAgQiBiAAKAJoSQR/IAAgBkEBajYCBCAGLQAABSAAEFQLIglBUGoiBkEKSSAJQS5GIg5yDQEgCSEGDAILCyABQQBHIQEMAgsFQQAhBwsgFCAVIAsbIRQgAUEARyIBIAZBIHJB5QBGcUUEQCAGQX9KBEAMAgUMAwsACyAUIAAgBRCRAyIUQoCAgICAgICAgH9RBH4gBUUEQCAAQgAQggFEAAAAAAAAAAAMBgsgACgCaARAIAAgACgCBEF/ajYCBAtCAAUgFAt8IRQMAwsgACgCaARAIAAgACgCBEF/ajYCBCABRQ0CDAMLCyABRQ0ADAELQaTFA0EcNgIAIABCABCCAUQAAAAAAAAAAAwBCyAEt0QAAAAAAAAAAKIgCigCACIARQ0AGiAUIBVRIBVCClNxBEAgBLcgALiiIAAgAnZFIAJBHkpyDQEaCyAUIANBfhA5rFUEQEGkxQNBxAA2AgAgBLdE////////73+iRP///////+9/ogwBCyAUIANBln9qrFMEQEGkxQNBxAA2AgAgBLdEAAAAAAAAEACiRAAAAAAAABAAogwBCyAMBEAgDEEJSARAIAhBAnQgCmoiBSgCACEBA0AgAUEKbCEBIAxBAWohACAMQQhIBEAgACEMDAELCyAFIAE2AgALIAhBAWohCAsgFKchASAHQQlIBEAgAUESSCAHIAFMcQRAIAFBCUYEQCAEtyAKKAIAuKIMAwsgAUEJSARAIAS3IAooAgC4okEAIAFrQQJ0QcDUAGooAgC3owwDCyACQRtqIAFBfWxqIgBBHkogCigCACIFIAB2RXIEQCAEtyAFuKIgAUECdEH40wBqKAIAt6IMAwsLCyABQQkQTyIABH9BACAAIABBCWogAUF/ShsiDGtBAnRBwNQAaigCACEGIAgEf0GAlOvcAyAGEDkhC0EAIQdBACEAQQAhBQNAIAcgBUECdCAKaiINKAIAIg4gBhBIIg9qIQkgDSAJNgIAIAsgDiAGIA9sa2whByABQXdqIAEgCUUgACAFRnEiCRshASAAQQFqQf8AcSAAIAkbIQAgBUEBaiIFIAhHDQALIAcEfyAIQQJ0IApqIAc2AgAgACEFIAhBAWoFIAAhBSAICwVBACEFQQALIQAgAUEJIAxraiEBIAUFIAghAEEACyEHQQAhBQNAAkAgAUESSCEMIAFBEkYhDSAHQQJ0IApqIQ4DQCAMRQRAIA1FDQIgDigCAEHf4KUETwRAQRIhAQwDCwtBACEIIABB/wBqIQsDQCAIrSALQf8AcSIJQQJ0IApqIgYoAgCtQh2GfCIUpyELIBRCgJTr3ANWBEAgFEKAlOvcAxD2ASIVpyEIIBQgFUKAlOvcA359pyELBUEAIQgLIAYgCzYCACAAIAAgCSALGyAHIAlGIg8gCSAAQf8AakH/AHFHchshBiAJQX9qIQsgD0UEQCAGIQAMAQsLIAVBY2ohBSAIRQ0ACyAGQf8AakH/AHEhCSAGQf4AakH/AHFBAnQgCmohDCAHQf8AakH/AHEiByAGRgRAIAwgCUECdCAKaigCACAMKAIAcjYCACAJIQALIAdBAnQgCmogCDYCACABQQlqIQEMAQsLA0ACQCAAQQFqQf8AcSEGIABB/wBqQf8AcUECdCAKaiEMA0ACQCABQRJGIQhBCUEBIAFBG0obIQkDQEEAIQ4CQAJAA0ACQCAAIAcgDmpB/wBxIgtGDQIgC0ECdCAKaigCACILIA5BAnRBqIoBaigCACINSQ0CIAsgDUsNACAOQQFqQQJPDQJBASEODAELCwwBCyAIDQQLIAUgCWohBSAAIAdGBEAgACEHDAELC0EBIAl0QX9qIQ5BgJTr3AMgCXYhD0EAIQggByELA0AgCCALQQJ0IApqIhIoAgAiEyAJdmohDSASIA02AgAgDyAOIBNxbCEIIAFBd2ogASANRSAHIAtGcSINGyEBIAdBAWpB/wBxIAcgDRshByALQQFqQf8AcSILIABHDQALIAgEQCAGIAdHDQEgDCAMKAIAQQFyNgIACwwBCwsgAEECdCAKaiAINgIAIAYhAAwBCwtBACEBA0AgAEEBakH/AHEhBiAAIAEgB2pB/wBxIglGBEAgBkF/akECdCAKakEANgIAIAYhAAsgFkQAAAAAZc3NQaIgCUECdCAKaigCALigIRYgAUEBaiIBQQJHDQALIBYgBLciGKIhFyAFQTVqIgYgA2siAyACSCEEIANBACADQQBKGyACIAQbIgFBNUgEQEQAAAAAAADwP0HpACABaxCfASAXEJADIhkhGiAXRAAAAAAAAPA/QTUgAWsQnwEQjwMiGyEWIBkgFyAboaAhFwVEAAAAAAAAAAAhFgsgB0ECakH/AHEiAiAARwRAAkAgAkECdCAKaigCACICQYDKte4BSQR8IAJFQQAgACAHQQNqQf8AcUYbDQEgGEQAAAAAAADQP6IgFqAFIAJBgMq17gFHBEAgGEQAAAAAAADoP6IgFqAhFgwCCyAYRAAAAAAAAOA/oiAWoCAYRAAAAAAAAOg/oiAWoCAAIAdBA2pB/wBxRhsLIRYLQTUgAWtBAUoEfCAWRAAAAAAAAPA/EI8DRAAAAAAAAAAAYQR8IBZEAAAAAAAA8D+gBSAWCwUgFgshFgsgFyAWoCAaoSEXIAZB/////wdxQX4gEGtKBHwCfCAFIBeZRAAAAAAAAEBDZkUiAEEBc2ohBSAXIBdEAAAAAAAA4D+iIAAbIRcgBUEyaiARTARAIBcgBCAAIAEgA0dycSAWRAAAAAAAAAAAYnFFDQEaC0GkxQNBxAA2AgAgFwsFIBcLIAUQjgMLIRwgCiQGIBwL8ggDCH8FfgN8IAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIQUCQAJAA0ACQAJAIAVBLmsOAwMBAAELIAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIQVBASEIDAELCwwBCyAAKAIEIgUgACgCaEkEfyAAIAVBAWo2AgQgBS0AAAUgABBUCyIFQTBGBH8DfyANQn98IQ0gACgCBCIFIAAoAmhJBH8gACAFQQFqNgIEIAUtAAAFIAAQVAsiBUEwRg0AQQEhCEEBCwVBAQshCQtEAAAAAAAA8D8hEyAFIQcgCCEFA0ACQCAHQSByIQgCQAJAIAdBUGoiC0EKSQ0AIAdBLkYiDCAIQZ9/akEGSXJFDQIgDEUNACAJBH5BLiEHDAMFQQEhCSAPCyENDAELIAhBqX9qIAsgB0E5ShshBSAPQghTBEAgBSAGQQR0aiEGBSAPQg5TBHwgE0QAAAAAAACwP6IiFCETIBIgFCAFt6KgBSAKQQEgBUUgCkEAR3IiBRshCiASIBIgE0QAAAAAAADgP6KgIAUbCyESCyAPQgF8IQ9BASEFCyAAKAIEIgcgACgCaEkEfyAAIAdBAWo2AgQgBy0AAAUgABBUCyEHDAELCyAFBHwCfCAPQghTBEAgDyEOA0AgBkEEdCEGIA5CAXwhECAOQgdTBEAgECEODAELCwsCfyAHQSByQfAARgR+IAAgBBCRAyIOQoCAgICAgICAgH9RBH4gBEUEQCAAQgAQggFEAAAAAAAAAAAMBAsgACgCaARAIAAgACgCBEF/ajYCBAtCAAUgDgsFIAAoAmgEQCAAIAAoAgRBf2o2AgQLQgALIREgA7dEAAAAAAAAAACiIAZFDQEaIBEgDSAPIAkbQgKGQmB8fCINQQAgAmusVQsEQEGkxQNBxAA2AgAgA7dE////////73+iRP///////+9/ogwBCyANIAJBln9qrFMEQEGkxQNBxAA2AgAgA7dEAAAAAAAAEACiRAAAAAAAABAAogwBCyAGQX9KBEADQCASRAAAAAAAAOA/ZkUiAEEBcyAGQQF0ciEGIBIgEiASRAAAAAAAAPC/oCAAG6AhEiANQn98IQ0gBkF/Sg0ACwsCfAJAIA1CICACrH18Ig4gAaxTBEAgDqciAUEATARAQQAhAUHUACEADAILC0HUACABayEAIAFBNUgNACADtyETRAAAAAAAAAAADAELRAAAAAAAAPA/IAAQnwEgA7ciExCQAwshFEQAAAAAAAAAACASIAZBAXFFIAFBIEggEkQAAAAAAAAAAGJxcSIAGyAToiAUIBMgACAGariioKAgFKEiEkQAAAAAAAAAAGEEQEGkxQNBxAA2AgALIBIgDacQjgMLBSAAKAJoRSIBRQRAIAAgACgCBEF/ajYCBAsgBARAIAFFBEAgACAAKAIEQX9qNgIEIAEgCUVyRQRAIAAgACgCBEF/ajYCBAsLBSAAQgAQggELIAO3RAAAAAAAAAAAogsLvgMBBH8gACgCCCIFIAAoAgQiAyAFIANIGyEGIAVBAkggA0ECSHIEf0F/BSABKAIIIAVGBH8gASgCBCAGRgR/IAIoAgQgBkYEfwJ/IAYgBhCLASIEKAIEIAZGBEAgBCgCCCAGRgRAIAMgBUgiAwRAIAAgBBCNBUEASARAIAQQSUF/DAQLBSAAIAQQhgVBAEgEQCAEEElBfwwECwsgBCACEIMFQQBIBEAgBBBJQX8MAwsgAwRAIAAgBCABIAIQ/gRBAEgEQCAEEElBfwwECwUCQEEAIQUgBCgCACEDIAEoAgAhAANAAkAgBSAGTg0AIAIoAgAgBUEDdGorAwBEvInYl7LSnDxjDQBBACEBA0AgASAGSARAIAAgAysDADkDACABQQFqIQEgA0EIaiEDIABBCGohAAwBCwsgBUEBaiEFDAELCyAFIQEDQCABIAZODQEgAigCACABQQN0akQAAAAAAAAAADkDAEEAIQMDQCADIAZIBEAgAEQAAAAAAAAAADkDACADQQFqIQMgAEEIaiEADAELCyABQQFqIQEMAAALAAsLIAQQSUEADAILCyAEEElBfwsFQX8LBUF/CwVBfwsLC9ITAg9/AXwjBiEOIwZBEGokBiAEKAIAIgchDCABIAJBf2oiEGxBAXQgB2ohBgNAIAUgAUgEQCAGQQA7AQAgDEEAOwEAIAxBAmohDCAFQQFqIQUgBkECaiEGDAELC0EAIQwgByIGIAFBf2oiEUEBdGohBQNAIAwgAkgEQCAFQQA7AQAgBkEAOwEAIAFBAXQgBmohBiAMQQFqIQwgAUEBdCAFaiEFDAELCyAEQZCAyABqIQZBACABayESIAAgAUEBaiIAaiENIAAgA2ohDEEBIQpBACEFIABBAXQgB2ohAwJ/AkADQAJAIAogEE4NAiAFIQBBASEIIAMhCwNAIAggEUgEQCANLQAAIAwtAABKBEACQCASQQF0IAtqIg8uAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBjIDQAGogCjYCAAwBCyAPQX5qLgEAIgkhByAJQQBKIQUgDy4BAiIDQQBMBEAgBQRAIAsgCTsBACAHQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAISARAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAILIAtBfmouAQAiA0EASgRAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBhIDQAGoiAygCACAITg0CIAMgCDYCAAUgAEH//wFKDQYgCyAAQQFqIgM7AQAgBEGQgMgAaiAAQQJ0aiADQRB0QRB1NgIAIARBkIDQAGogAEEHbCIAQQJ0akEBNgIAIABBAnQgBGpBlIDQAGogCDYCACAAQQJ0IARqQZiA0ABqIAo2AgAgAEECdCAEakGcgNAAaiAINgIAIABBAnQgBGpBoIDQAGogCDYCACAAQQJ0IARqQaSA0ABqIAo2AgAgAEECdCAEakGogNAAaiAKNgIAIAMhAAsMAQsgBQRAAkAgA0ECdCAEakGMgMgAaigCACIDIAdBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgAgBUECdCAEakGMgNAAaiAKNgIADAELIAtBfmouAQAiBUEATARAIAsgAzsBACADQQdsIgVBAnQgBGpB9P/PAGoiAyADKAIAQQFqNgIAIAVBAnQgBGpB+P/PAGoiAyAIIAMoAgBqNgIAIAVBAnQgBGpB/P/PAGoiAyAKIAMoAgBqNgIAIAVBAnQgBGpBgIDQAGoiAygCACAISgRAIAMgCDYCAAsgBUECdCAEakGMgNAAaiAKNgIADAELAkAgA0ECdCAEakGMgMgAaigCACIDIAVBAnQgBGpBjIDIAGooAgAiB0oEQCALIAc7AQAgBiEFQQAhCQNAIAkgAE4EQCAHIQMMAwsgAyAFKAIARgRAIAUgBzYCAAsgBUEEaiEFIAlBAWohCQwAAAsABSALIAM7AQAgAyAHSARAIAYhBUEAIQkDQCAJIABODQMgByAFKAIARgRAIAUgAzYCAAsgBUEEaiEFIAlBAWohCQwAAAsACwsLIANBEHRBEHVBB2wiBUECdCAEakH0/88AaiIDIAMoAgBBAWo2AgAgBUECdCAEakH4/88AaiIDIAggAygCAGo2AgAgBUECdCAEakH8/88AaiIDIAogAygCAGo2AgALBSALQQA7AQALIA1BAWohDSAMQQFqIQwgCEEBaiEIIAtBAmohCwwBCwsgDUECaiENIAxBAmohDCAKQQFqIQogACEFIAtBBGohAwwBCwtBAEEDQailASAOED1BfwwBCyAEQQxqIQ1BASEAQQEhBwNAIAcgBUwEQCAHIAYoAgAiDEYEQCAAQQFqIQMFIAAhAyAMQQJ0IARqQYyAyABqKAIAIQALIAYgADYCACADIQAgB0EBaiEHIAZBBGohBgwBCwsgBCAAQX9qIgY2AgggBgR/IA1BACAGQQJ0EEUaIARBkIAoakEAIAZBBHQQRRpBACEDA0AgAyAGSARAIARBjIAIaiADQQJ0IgBBAnRqIAE2AgAgBEGMgAhqIABBAXJBAnRqQQA2AgAgBEGMgAhqIABBAnJBAnRqIAI2AgAgBEGMgAhqIABBA3JBAnRqQQA2AgAgA0EBaiEDDAELC0EAIQMDQCADIAVIBEAgBEEMaiAEQZCAyABqIANBAnRqKAIAQX9qIgJBAnRqIgAgBEGQgNAAaiADQQdsIgZBAnRqKAIAIAAoAgBqNgIAIARBkIAoaiACQQF0IgFBA3RqIgAgACsDACAGQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIAFBAXJBA3RqIgAgACsDACAGQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiASgCACAGQQJ0IARqQZyA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEBckECdGoiASgCACAGQQJ0IARqQaCA0ABqKAIAIgBIBEAgASAANgIACyAEQYyACGogAkECckECdGoiASgCACAGQQJ0IARqQaSA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEDckECdGoiASgCACAGQQJ0IARqQaiA0ABqKAIAIgBIBEAgASAANgIACyADQQFqIQMMAQsLIAQoAgghAkEAIQMDfyADIAJIBH8gBEGQgChqIANBAXQiAUEDdGoiACAAKwMAIARBDGogA0ECdGooAgC3IhSjOQMAIARBkIAoaiABQQFyQQN0aiIAIAArAwAgFKM5AwAgA0EBaiEDDAEFQQALCwVBAAsLIRMgDiQGIBMLUwECfyMGIQIjBkEQaiQGIAIgACgCADYCAANAIAIoAgBBA2pBfHEiACgCACEDIAIgAEEEajYCACABQX9qIQAgAUEBSwRAIAAhAQwBCwsgAiQGIAMLxhQDEX8DfgF8IwYhCSMGQaACaiQGIAAoAkxBf0oEf0EBBUEACxogCUGIAmohDSAJQYQCaiESIAlBkAJqIRMgASwAACILBEACQAJAAkACQAJAA0ACQCALQf8BcRCyAQRAA0AgAUEBaiIDLQAAELIBBEAgAyEBDAELCyAAQgAQggEDQCAAKAIEIgMgACgCaEkEfyAAIANBAWo2AgQgAy0AAAUgABBUCxCyAQ0ACyAAKAJoBEAgACAAKAIEQX9qIgs2AgQFIAAoAgQhCwsgCyAAKAIIa6wgFCAAKQN4fHwhFAUCQCABLAAAQSVGIgcEQAJAAn8CQAJAIAFBAWoiBCwAACIDQSVrDgYDAQEBAQABC0EAIQogAUECagwBCyADQf8BcRCKAQRAIAEsAAJBJEYEQCACIAQtAABBUGoQkwUhCiABQQNqDAILCyACKAIAQQNqQXxxIgEoAgAhCiACIAFBBGo2AgAgBAsiAS0AABCKAQRAQQAhBANAIAEtAAAgBEEKbEFQamohBCABQQFqIgEtAAAQigENAAsFQQAhBAsgAUEBaiEHIAEsAAAiCEHtAEYEf0EAIQYgAUECaiEBIAciAywAACEIQQAhBSAKQQBHBSABIQMgByEBQQALIQsCQAJAAkACQAJAAkACQCAIQRh0QRh1QcEAaw46BQ4FDgUFBQ4ODg4EDg4ODg4OBQ4ODg4FDg4FDg4ODg4FDgUFBQUFAAUCDgEOBQUFDg4FAwUODgUOAw4LQX5BfyABLAAAQegARiIHGyEIIANBAmogASAHGyEBDAULQQNBASABLAAAQewARiIHGyEIIANBAmogASAHGyEBDAQLQQMhCAwDC0EBIQgMAgtBAiEIDAELQQAhCCADIQELQQEgCCABLQAAIgdBL3FBA0YiAxshDiAAAn8CQAJAAkACQCAHQSByIAcgAxsiDEH/AXEiB0EYdEEYdUHbAGsOFAEDAwMDAwMDAAMDAwMDAwMDAwMCAwsgBEEBIARBAUobDAMLIAQMAgsgCiAOIBQQlAMMBAsgAEIAEIIBA0AgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsQsgENAAsgACgCaARAIAAgACgCBEF/aiIINgIEBSAAKAIEIQgLIAggACgCCGusIBQgACkDeHx8IRQgBAsiEawiFhCCASAAKAIEIgMgACgCaCIESQRAIAAgA0EBajYCBAUgABBUQQBIDQggACgCaCEECyAEBEAgACAAKAIEQX9qNgIECwJAAkACQAJAAkACQAJAAkAgB0EYdEEYdUHBAGsOOAUHBwcFBQUHBwcHBwcHBwcHBwcHBwcHAQcHAAcHBwcHBQcAAwUFBQcEBwcHBwcCAQcHAAcDBwcBBwsgDEEQckHzAEYEQCAJQX9BgQIQRRogCUEAOgAAIAxB8wBGBEAgCUEAOgAhIAlBADYBCiAJQQA6AA4LBQJAIAkgAUEBaiIHLAAAQd4ARiIDIgRBgQIQRRogCUEAOgAAAkACQAJAIAFBAmogByADGyIBLAAAQS1rIgMEQCADQTBGBEAMAgUMAwsACyAJIARBAXMiCDoALiABQQFqIQEMAgsgCSAEQQFzIgg6AF4gAUEBaiEBDAELIARBAXMhCAsDQAJAAkAgASwAACIEDl4TAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQsgAUEBaiIDLAAAIgQiB0EAIAdB3QBHG0UEQEEtIQQMAQsgAUF/ai0AACIBIARB/wFxSAR/A38gAUEBaiIBIAlqIAg6AAAgASADLAAAIgdB/wFxSQ0AIAMhASAHCwUgAyEBIAQLIQQLIARB/wFxQQFqIAlqIAg6AAAgAUEBaiEBDAAACwALCyARQQFqQR8gDEHjAEYiDBshBCALQQBHIRAgDkEBRiIRBEAgEARAIARBAnQQRCIFRQRAQQAhBkEAIQUMEQsFIAohBQsgDUEANgIAIA1BADYCBEEAIQYDQAJAIAVFIQcDQANAAkAgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsiA0EBaiAJaiwAAEUNAyATIAM6AAACQAJAIBIgE0EBIA0Q1wFBfmsOAgEAAgtBACEGDBULDAELCyAHRQRAIAZBAnQgBWogEigCADYCACAGQQFqIQYLIBAgBCAGRnFFDQALIAUgBEEBdEEBciIEQQJ0EOgBIgMEQCADIQUMAgVBACEGDBILAAsLIA0EfyANKAIARQVBAQsEfyAGIQQgBSEDQQAFQQAhBgwQCyEGBQJAIBAEQCAEEEQiBkUEQEEAIQZBACEFDBILQQAhBQNAA0AgACgCBCIDIAAoAmhJBH8gACADQQFqNgIEIAMtAAAFIAAQVAsiA0EBaiAJaiwAAEUEQCAFIQRBACEDQQAhBQwECyAFIAZqIAM6AAAgBUEBaiIFIARHDQALIAYgBEEBdEEBciIEEOgBIgMEQCADIQYMAQVBACEFDBMLAAALAAsgCkUEQANAIAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLQQFqIAlqLAAADQBBACEEQQAhBkEAIQNBACEFDAIACwALQQAhBAN/IAAoAgQiBSAAKAJoSQR/IAAgBUEBajYCBCAFLQAABSAAEFQLIgVBAWogCWosAAAEfyAEIApqIAU6AAAgBEEBaiEEDAEFQQAhA0EAIQUgCgsLIQYLCyAAKAJoBEAgACAAKAIEQX9qIgg2AgQFIAAoAgQhCAsgACkDeCAIIAAoAghrrHwiFVAgDEEBcyAVIBZRckVyDQsgEARAIBEEQCAKIAM2AgAFIAogBjYCAAsLIAxFBEAgAwRAIARBAnQgA2pBADYCAAsgBkUEQEEAIQYMCAsgBCAGakEAOgAACwwGC0EQIQQMBAtBCCEEDAMLQQohBAwCC0EAIQQMAQsgACAOQQAQkgMhFyAAKQN4QgAgACgCBCAAKAIIa6x9UQ0GIAoEQAJAAkACQCAODgMAAQIFCyAKIBe2OAIADAQLIAogFzkDAAwDCyAKIBc5AwAMAgsMAQsgACAEQQBCfxCTAyEVIAApA3hCACAAKAIEIAAoAghrrH1RDQUgDEHwAEYgCkEAR3EEQCAKIBU+AgAFIAogDiAVEJQDCwsgDyAKQQBHaiEPIAAoAgQgACgCCGusIBQgACkDeHx8IRQMAgsLIABCABCCASAAKAIEIgMgACgCaEkEfyAAIANBAWo2AgQgAy0AAAUgABBUCyEDIAMgASAHaiIBLQAARw0EIBRCAXwhFAsLIAFBAWoiASwAACILDQEMBgsLDAMLIAAoAmgEQCAAIAAoAgRBf2o2AgQLIANBf0ogD3INA0EAIQsMAQsgD0UNAAwBC0F/IQ8LIAsEQCAGEDggBRA4CwsLIAkkBiAPCwsAIAAgASACEIwFC3kBBX8gACgCBCEFIAAoAggiBiABKAIERgR/IAAoAgAhAAN/IAIgBUgEf0EAIQMgASgCACEEA0AgAyAGSARAIAAgACsDACAEKwMAoTkDACADQQFqIQMgBEEIaiEEIABBCGohAAwBCwsgAkEBaiECDAEFQQALCwVBfwsLLwECfyAAEKsCIgEoAgA2AjggASgCACICBEAgAiAANgI0CyABIAA2AgBBqMUDEA4L6wIBB38jBiEDIwZBMGokBiADQRhqIQQgA0EIaiEFIANBKGohBkH6/QIgASwAABC/AQRAQZgJEEQiAgRAIAJBAEGQARBFGgJ/IAFBKxC/AUUhCCABLAAAIQEgCAsEQCACQQhBBCABQfIARhs2AgALIAFB4QBGBEAgAyAANgIAIANBAzYCBEHdASADEBkiAUGACHFFBEAgBSAANgIAIAVBBDYCBCAFIAFBgAhyNgIIQd0BIAUQGRoLIAIgAigCAEGAAXIiATYCAAUgAigCACEBCyACIAA2AjwgAiACQZgBajYCLCACQYAINgIwIAJBfzoASyABQQhxRQRAIAQgADYCACAEQZOoATYCBCAEIAY2AghBNiAEEDNFBEAgAkEKOgBLCwsgAkECNgIgIAJBATYCJCACQQE2AiggAkECNgIMQejEAygCAEUEQCACQX82AkwLIAIQlwUFQQAhAgsFQaTFA0EcNgIACyADJAYgAgtwAQJ/IABBKxC/AUUhASAALAAAIgJB8gBHQQIgARsiASABQYABciAAQfgAEL8BRRsiASABQYCAIHIgAEHlABC/AUUbIgAgAEHAAHIgAkHyAEYbIgBBgARyIAAgAkH3AEYbIgBBgAhyIAAgAkHhAEYbC/gBAgZ/AXwgACgCBCIHQQFIIAAoAggiA0EBSHIEf0F/BSADIAEoAgRGBH8DQCACIANHBEAgASgCACACQQN0akQAAAAAAAAAADkDACACQQFqIQIMAQsLIAAoAgAhAANAIAUgB0cEQEEAIQYgASgCACEEIAAhAgNAIAMgBkcEQCAEIAIrAwAgBCsDAKA5AwAgBkEBaiEGIARBCGohBCACQQhqIQIMAQsLIANBA3QgAGohACAFQQFqIQUMAQsLIAe3IQhBACEAA38gACADRgR/QQAFIAEoAgAgAEEDdGoiAiACKwMAIAijOQMAIABBAWohAAwBCwsFQX8LCwvsAgELfyAAKAIIIAAoAgBBotrv1wZqIgYQsQEhBCAAKAIMIAYQsQEhBSAAKAIQIAYQsQEhAyAEIAFBAnZJBH8gBSABIARBAnRrIgdJIAMgB0lxBH8gAyAFckEDcQR/QQAFAn8gBUECdiEJAn8gA0ECdiENQQAhBQNAAkAgCSAFIARBAXYiB2oiC0EBdCIMaiIDQQJ0IABqKAIAIAYQsQEhCEEAIANBAWpBAnQgAGooAgAgBhCxASIDIAFJIAggASADa0lxRQ0DGkEAIAAgAyAIamosAAANAxogAiAAIANqELMBIgNFDQAgA0EASCEDQQAgBEEBRg0DGiAFIAsgAxshBSAHIAQgB2sgAxshBAwBCwsgDSAMaiICQQJ0IABqKAIACyAGELEBIQQgAkEBakECdCAAaigCACAGELEBIgIgAUkgBCABIAJrSXEEf0EAIAAgAmogACACIARqaiwAABsFQQALCwsFQQALBUEACws+AQF/IAAoAkQEQCAAKAKEASIBBEAgASAAKAKAATYCgAELIAAoAoABIgAEfyAAQYQBagVBlIoBCyABNgIACwvqAgIDfwF8IAAoAgQiBiAAKAIIIgUgBiAFSBshBCAGQQJIIAVBAkhyBEBBfyEABSABKAIIIAVGBEAgASgCBCAERgRAIAIoAgQgBEYEQCADKAIEIAVGBEAgABDfBSIEBEACQCAEIAMQmgVBAEgEQCAEEElBfyEADAELIAQgAxCWBUEASARAIAQQSUF/IQAMAQsgBrefIQcgBSAGbCEDQQAhAANAIAAgA0gEQCAEKAIAIABBA3RqIgUgBSsDACAHozkDACAAQQFqIQAMAQsLIAQgASACEJEFIQAgBBBJIAIoAgQhA0QAAAAAAAAAACEHQQAhAQNAIAEgA0gEQCAHIAIoAgAgAUEDdGorAwCgIQcgAUEBaiEBDAELC0EAIQEDQCABIANIBEAgAigCACABQQN0aiIEIAQrAwAgB6M5AwAgAUEBaiEBDAELCwsFQX8hAAsFQX8hAAsFQX8hAAsFQX8hAAsFQX8hAAsLIAALBABCAAvhAQEEfyMGIQQjBkEgaiQGIAQgATYCACAEIAIgACgCMCIDQQBHazYCBCAEIAAoAiw2AgggBCADNgIMAkACQCAAKAI8IARBAiAEQRBqIgMQMRCsAgRAIANBfzYCAEF/IQIMAQUgAygCACIDQQFIBEAgAyECDAIFIAMgBCgCBCIGSwRAIAAgACgCLCIFNgIEIAAgBSADIAZrajYCCCAAKAIwBEAgACAFQQFqNgIEIAEgAkF/amogBSwAADoAAAsFIAMhAgsLCwwBCyAAIAAoAgAgAkEwcUEQc3I2AgALIAQkBiACCwYAQaTFAwtGAgF/AX4jBiEDIwZBEGokBiAAKAI8IAGnIAFCIIinIAJB/wFxIAMQHRCsAgR+IANCfzcDAEJ/BSADKQMACyEEIAMkBiAEC7cCAQd/IwYhBiMGQSBqJAYgBkEQaiEHIAYiAyAAKAIcIgQ2AgAgAyAAKAIUIARrIgU2AgQgAyABNgIIIAMgAjYCDEECIQQgAiAFaiEFIAMhAQJAAkADQCAAKAI8IAEgBCAHEDAQrAIEfyAHQX82AgBBfwUgBygCAAsiAyAFRwRAIANBAEgNAiABQQhqIAEgAyABKAIEIghLIgkbIgEgAyAIQQAgCRtrIgggASgCAGo2AgAgASABKAIEIAhrNgIEIAQgCUEfdEEfdWohBCAFIANrIQUMAQsLIAAgACgCLCIBIAAoAjBqNgIQIAAgATYCHCAAIAE2AhQMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACAAKAIAQSByNgIAIARBAkYEf0EABSACIAEoAgRrCyECCyAGJAYgAgsOACAAKAI8EBhB//8DcQumAgECfwJAAkAgACgCFCIBQbN+akECTw0AIABBQGsoAgANACAAKAKMASAAKAJ0SQRAIAAoAgAiAUHFADYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoArwDKAIEIQEgACABQf8BcUGsA2oRAQAgAEHSATYCFAwBCwJAAkAgAUHPAWsOBAABAQIBCyAAQdIBNgIUDAELIAAoAgAiAkEVNgIUIAIgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAswDIgEoAhRFBEACQANAAkAgASgCACEBIAAgAUH/AHFBCGoRAABFDQAgACgCzAMiASgCFEUNAQwCCwtBAA8LCyAAKAIYKAIYIQEgACABQf8BcUGsA2oRAQAgABCdA0EBC/0GAQR/AkACQAJAAkACQAJAIAAoAhQiAUHIAWsOCwABAwICAgICAgQCBAsgAEHMA2oiASgCACgCBCECIAAgAkH/AXFBrANqEQEAIAAoAhgoAgghAiAAIAJB/wFxQawDahEBACAAQckBNgIUDAQLIABBzANqIQEMAwsgACgCzAMoAgAhASAAIAFB/wBxQQhqEQAADwtBAQ8LIAAoAgAiAkEVNgIUIAIgATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQBBAA8LIAEoAgAoAgAhASAAIAFB/wBxQQhqEQAAIgFBAUcEQCABDwsCQAJAAkACQAJAIAAoAiQiAUEBaw4EAAMBAgMLIAEhAgwDCyAAKALYASIDKAIAIQEgAygCsAEiAkEDRiABQQFGIgQgAygCWCIDQQJGcXEEf0EDIQJBAgUgBCADQSJGcSACQSNGcQR/QQchAkECBSABQdIARiADQccARnEgAkHCAEZxBH9BAiECQQIFIAFB8gBGIANB5wBGcSACQeIARnEEf0EGIQJBAgUgACgCnAIEf0EDIQJBAgUgACgCqAJFBEAgACgCACIEIAE2AhggBCADNgIcIAQgAjYCICAEQfEANgIUIAQoAgQhASAAQQEgAUE/cUGyBWoRAwBBAiEBQQMhAgwICwJAAkACQCAALACsAiIBDgIAAQILQQIhAUECIQIMCQtBAiEBQQMhAgwICyAAKAIAIgJB9AA2AhQgAiABQf8BcTYCGCAAKAIAKAIEIQEgAEF/IAFBP3FBsgVqEQMAQQIhAUEDIQIMBwsLCwsLIQEMAgsgACgCqAIEfwJAAkACQCAALACsAiIBDgMAAgECC0EEIQFBBCECDAQLQQQhAUEFIQIMAwsgACgCACICQfQANgIUIAIgAUH/AXE2AhggACgCACgCBCEBIABBfyABQT9xQbIFahEDAEEEIQFBBSECDAIFQQQhAkEECyEBDAELQQAhAUEAIQILIAAgAjYCKCAAIAE2AiwgACAAKAKsAyIBNgIwIAAgATYCNCAARAAAAAAAAPA/OQM4IABBQGtBADYCACAAQQA2AkQgAEEANgJIIABBATYCTCAAQQE2AlAgAEEANgJUIABBAjYCWCAAQQE2AlwgAEGAAjYCYCAAQQA2AogBIABBADYCZCAAQQA2AmggAEEANgJsIABBygE2AhRBAQuNAQECfyAAKAIUIgJBfnFByAFHBEAgACgCACIDQRU2AhQgAyACNgIYIAAoAgAoAgAhAiAAIAJB/wFxQawDahEBAAsCQAJAAkAgABClBSICQQFrDgIAAQILQQEPCyABBEAgACgCACIBQTU2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyAAEJ0DQQIPCyACCwcAIAAQngMLnwIBAn8gAEEANgIEIAFB2gBHBEAgACgCACIDQQ02AhQgA0HaADYCGCAAKAIAIAE2AhwgACgCACgCACEBIAAgAUH/AXFBrANqEQEACyACQegDRwRAIAAoAgAiAUEWNgIUIAFB6AM2AhggACgCACACNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsCfyAAIQQgACgCACECIAAoAgwhAyAAQQRqQQBB5AMQRRogACACNgIAIAAgAzYCDCAAQQE2AhAgBAsQwgUgAEEANgIIIABBADYCGCAAQQA2ArgCIABCADcCpAEgAEIANwKsASAAQgA3ArQBIABCADcCvAEgAEIANwLEASAAQgA3AswBIAAQuAUgABCQBiAAQcgBNgIUCxUAIAAoAgAiAEEANgJsIABBADYCFAvpAgEKfyMGIQYjBkEwaiQGIAZBCGohBAJAAkACfyAAKAIAIgIoAhQiA0EASgRAIAMgAigCdEwEQCACKAJwIANBAnRqDAILCyACKAJ4IgVFDQEgAyACKAJ8IgBIDQEgAyACKAKAAUoNASADIABrQQJ0IAVqCygCACIFRQ0ADAELIAIgAzYCGCACKAJwKAIAIQULIAUhAAJAAkADQAJAIABBAWohAwJAIAAsAAAiAARAIABBJUYEQAwFBQwCCwALDAELIAMhAAwBCwsMAQsgAywAAEHzAEYEQCAGIAJBGGo2AgAgASAFIAYQvAEgBiQGDwsLIAIoAhwhByACKAIgIQggAigCJCEJIAIoAighCiACKAIsIQsgAigCMCEDIAIoAjQhACAEIAIoAhg2AgAgBCAHNgIEIAQgCDYCCCAEIAk2AgwgBCAKNgIQIAQgCzYCFCAEIAM2AhggBCAANgIcIAEgBSAEELwBIAYkBgtOAQN/IwYhASMGQdABaiQGIAAoAgAoAgwhAiAAIAEgAkE/cUGyBWoRAwACf0GkiAEoAgAhAyABQcgBaiICIAE2AgAgAwsgAhCLBSABJAYLeQEBfyAAKAIAIQIgAUEATgRAIAIoAmggAUgEQA8LIAIoAgghASAAIAFB/wFxQawDahEBAA8LAkACQCACKAJsIgFFDQAgAigCaEECSg0ADAELIAIoAgghASAAIAFB/wFxQawDahEBACACKAJsIQELIAIgAUEBajYCbAsmAQF/IAAoAgAoAgghASAAIAFB/wFxQawDahEBACAAEJ4DQQEQAQtlACAAQYwBNgIAIABBNTYCBCAAQY0BNgIIIABBNjYCDCAAQY4BNgIQIABBADYCaCAAQQA2AmwgAEEANgIUIABBgBg2AnAgAEH+ADYCdCAAQQA2AnggAEEANgJ8IABBADYCgAEgAAsrAQF/IAAoAgQoAgAhASAAQQBBhAEgAUE/cUHKAWoRBAAiAEEANgKAASAACysBAX8gACgCBCgCACEBIABBAEGYAiABQT9xQcoBahEEACIAQQA2ApQCIAALtwYBBn8gAiADaiEEAkACQAJAAkAgAkENSwRAIAEsAABBygBGBEAgASwAAUHGAEcNAiABLAACQckARw0CIAEsAANBxgBHDQIgASwABA0CIABBATYCnAIgACABLAAFIgc6AKACIAAgASwABiIIOgChAiAAIAEsAAciCToAogIgACABLQAJIAEtAAhBCHRyIgY7AaQCIAAgAS0ACyABLQAKQQh0ciIDOwGmAiAHQX9qQRh0QRh1Qf8BcUECTgRAIAAoAgAiAkH6ADYCFCACIAdB/wFxNgIYIAAoAgAgAC0AoQI2AhwgACgCACgCBCECIABBfyACQT9xQbIFahEDACAALACgAiEHIAAsAKECIQggAC4BpAIhBiAALgGmAiEDIAAsAKICIQkLIAAhAiAAKAIAIgUgB0H/AXE2AhggBSAIQf8BcTYCHCAFIAZB//8DcTYCICAFIANB//8DcTYCJCAFIAlB/wFxNgIoIAVB2QA2AhQgBSgCBCEDIAJBASADQT9xQbIFahEDACABLAAMIgYgASwADSIDckH/AXEEQCAAKAIAIgNB3AA2AhQgAyABLQAMNgIYIAAoAgAgAS0ADTYCHCAAKAIAKAIEIQMgAkEBIANBP3FBsgVqEQMAIAEsAAwhBiABLAANIQMLIAZB/wFxQQNsIANB/wFxbCAEQXJqIgNGBEAPCyAAKAIAIgFB2gA2AhQgASADNgIYIAAoAgAoAgQhACACQQEgAEE/cUGyBWoRAwAPCwUgAkEFSwRAIAEsAABBygBGDQILCwwBCyABLAABQcYARgRAIAEsAAJB2ABGBEAgASwAA0HYAEYEQCABLAAERQRAAkACQAJAAkAgASwABUEQaw4EAAEDAgMLIAAoAgAiAUHuADYCFAwICyAAKAIAIgFB7wA2AhQMBwsgACgCACIBQfAANgIUDAYLIAAoAgAiAkHbADYCFCACIAEtAAU2AhggACgCACAENgIcDAYLCwsLCyAAKAIAIgFBzwA2AhQgASAENgIYIAAoAgAoAgQhASAAQQEgAUE/cUGyBWoRAwAPCyABIAQ2AhgLIAAoAgAoAgQhASAAQQEgAUE/cUGyBWoRAwALygUBCX8jBiECIwZBEGokBgJAIAAoAhgiBCgCBCIDRQRAIAQoAgwhAyAAIANB/wBxQQhqEQAARQ0BIAQoAgQhAwsgBCgCACIGQQFqIQEgBi0AACEFIANBf2oiA0UEQCAEKAIMIQMgACADQf8AcUEIahEAAEUNASAEKAIAIQEgBCgCBCEDCyADQX9qIQMgAUEBaiEGQQ4gAS0AACAFQf8BcUEIdHIiAUF+aiIHQQAgAUECSxsgAUEPSxsiBQRAAkBBACEBA0ACQCADRQRAIAQoAgwhAyAAIANB/wBxQQhqEQAARQ0BIAQoAgQhAyAEKAIAIQYLIAEgAmogBiwAADoAACADQX9qIQMgBkEBaiEGIAFBAWoiASAFSQ0BDAILCwwCCwsgByAFayEIAkACQAJAIAAoArgDIgFB4AFrIgkEQCAJQQ5GBEAMAgUMAwsACyAAIAIgBSAIELEFDAILIAIsAABBwQBGIAVBC0txBEAgAiwAAUHkAEYEQCACLAACQe8ARgRAIAIsAANB4gBGBEAgAiwABEHlAEYEQCACLQAIIAItAAdBCHRyIQcgAi0ACiACLQAJQQh0ciEJIAIsAAshBSAAKAIAIgEgAi0ABiACLQAFQQh0cjYCGCABIAc2AhwgASAJNgIgIAEgBUH/AXE2AiQgAUHOADYCFCABKAIEIQEgAEEBIAFBP3FBsgVqEQMAIABBATYCqAIgACAFOgCsAgwGCwsLCwsgACgCACIBQdAANgIUIAEgBzYCGCAAKAIAKAIEIQEgAEEBIAFBP3FBsgVqEQMADAELIAAoAgAiBUHGADYCFCAFIAE2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEACyAEIAY2AgAgBCADNgIEIAhBAEwEQCACJAZBAQ8LIAAoAhgoAhAhAyAAIAggA0E/cUGyBWoRAwAgAiQGQQEPCyACJAZBAAuMAgEGfyAAKAIYIgIoAgQiAUUEQCACKAIMIQEgACABQf8AcUEIahEAAAR/IAIoAgQFQQAPCyEBCyACKAIAIgNBAWohBCADLQAAIQMgAUF/aiIBRQRAIAIoAgwhASAAIAFB/wBxQQhqEQAABH8gAigCACEEIAIoAgQFQQAPCyEBCyAELQAAIANB/wFxQQh0ciIGQX5qIQUgACgCACIDQd0ANgIUIAMgACgCuAM2AhggACgCACAFNgIcIAAoAgAoAgQhAyAAQQEgA0E/cUGyBWoRAwAgAiAEQQFqNgIAIAIgAUF/ajYCBCAGQQJNBEBBAQ8LIAAoAhgoAhAhASAAIAUgAUE/cUGyBWoRAwBBAQuBAQEGfyAAKAIEIgUgASgCBEYEfyAAKAIIIgQgASgCCEYEfwN/IAIgBUgEfyACIARsIQZBACEDA0AgAyAESARAIAAoAgAgAyAGaiIHQQN0aiABKAIAIAdBA3RqKwMAOQMAIANBAWohAwwBCwsgAkEBaiECDAEFQQALCwVBfwsFQX8LC6kBAQJ/IAAoArgDIgFFBEAgABCxAgR/IAAoArgDBUEADwshAQsgACgC0AMoAhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCENIAwgApQhAQJADAALIA0gAZMhASAIIAqUIAcgC5STIgJDAAAAAFsEf0F/BSADIAogCZQgByABlJMgApU4AgAgBCAIIAGUIAsgCZSTIAKVOAIAQQALIQAgBgskBiAACycBAX8gACgCACIBBH8gARDiAiAAKAIAEDggAEEANgIAQQAFQX8LGgvVBgIPfwF9IwYhCSMGQdAAaiQGIAlBPGohCCAJQThqIQYgCUE0aiEOIAlBMGohDyAJQUBrIRACfwJAIAAEfyAAQQhqIAEgCRD6ASAIIAMoAgAiByAEQRRsaigCCCIBNgIAIAYgBEEUbCAHaioCDCIVOAIAQQAgCSABviAVIAggBhDlAUEASAR/QX8FIABBuAFqIhEgCCoCACAGKgIAIA4gDxBtQQBIBH9BfwUgDioCAEMAAAA/khBDIQggDyoCAEMAAAA/khBDIRJBACEEQQAgBSgCECIAayEKIBIgAEEBdGshC0EAIQFBACEAIAUoAhghBwNAIAogBSgCFEoEQCAEIQcMBQUgC7IhFUEAIAUoAggiBmshDCAIIAZBAXRrIQ0DQCAMIAUoAgxMBEAgESANsiAVIA4gDxCmAUEASARAIAdBgCA7AQAFIAkgAigCACADKAIIQQJ0aigCACAOKgIAIA8qAgAgEBCBBEEASARAIAdBgCA7AQAFIAcgEC0AACIGOwEAIARBAWohBCABIAZB/wFxIgYgBmxqIQEgACAGaiEACwsgDEEBaiEMIA1BAmohDSAHQQJqIQcMAQsLIApBAWohCiALQQJqIQsMAQsAAAsACwsFIAggAygCACIHIARBFGxqKAIIIgA2AgAgBiAEQRRsIAdqKgIMIhU4AgBBACABIAC+IBUgDiAPEOUBQQBIBH9BfwUgDioCAEMAAAA/khBDIREgDyoCAEMAAAA/khBDIRNBACAFKAIQIgBrIQogEyAAQQF0ayELQQAhB0EAIQRBACEAIAUoAhghBgNAIAogBSgCFEoEQCAEIQEMBAUgC7IhFUEAIAUoAggiCGshDCARIAhBAXRrIQ0DQCAMIAUoAgxMBEAgASACKAIAIAMoAghBAnRqKAIAIA2yIBUgEBCBBEEASARAIAZBgCA7AQAFIAYgEC0AACIIOwEAIAdBAWohByAEIAhB/wFxIgggCGxqIQQgACAIaiEACyAMQQFqIQwgDUECaiENIAZBAmohBgwBCwsgCkEBaiEKIAtBAmohCwwBCwAACwALCwwBCyAHBH8gBSABIAAgAGwgBxA5a7KREEM2AhwgBSAANgIgIAUgBzYCJEEABUF/CwshFCAJJAYgFAuSAQEDfyMGIQMjBkEQaiQGQSgQRCICRQRAQQBBA0G52AIgAxA9QQEQAQsgA0EIaiEEIAIgADYCECACIAA2AgggAiABNgIUIAIgATYCDCACIAEgAEEBamoiADYCACACIAA2AgQgAiAAQQF0IABsEEQiADYCGCAABEAgAyQGIAIPBUEAQQNBudgCIAQQPUEBEAELQQAL5wIBBX8gBCgCBCENIAFBAXQhCyAEKAIAIQ4gBCgCGCEKIAAgAiABIANsamohAkEAIQADQCAMIA1IBEBBACEDIAIhAQNAIAMgDkgEQCAAIAEtAAAgCi8BAGxqIQAgA0EBaiEDIApBAmohCiABQQJqIQEMAQsLIAxBAWohDCACIAtqIQIMAQsLIA5BAXQiA0EIaiICIAhBfmoiASANQQF0amwhCyADIAdBfmoiCmoiCCALaiIHQQJ0IAVqKAIAIAogASACbCIBaiIDQQJ0IAVqKAIAaiAKIAtqIgJBAnQgBWooAgBrIAEgCGoiAUECdCAFaigCAGshBSAJIAdBAnQgBmooAgAgA0ECdCAGaigCAGogAkECdCAGaigCAGsgAUECdCAGaigCAGsgBSAFbCAEKAIkIgIQOWsiAQR/IAAgBSAEKAIgbCACEDlrQeQAbCAEKAIcEDlB5ABsIAGykRBDEDkFQQALNgIAC7ECAQJ/IAMoAgAiBwRAAkADQAJAIAggB04NACAIQQJ0IAZqKAIAIAJIDQAgCEEBaiEIDAELCyAHIAhGBEAgB0EDTw0BIAdBAnQgBGogADYCACAHQQJ0IAVqIAE2AgAgB0ECdCAGaiACNgIAIAMgAygCAEEBajYCAAwBCyAHQQNGBH9BAgUgAyAHQQFqNgIAIAcLIQMDQCADIAhKBEAgA0ECdCAEaiADQX9qIgdBAnQgBGooAgA2AgAgA0ECdCAFaiAHQQJ0IAVqKAIANgIAIANBAnQgBmogB0ECdCAGaigCADYCACAHIQMMAQsLIANBAnQgBGogADYCACADQQJ0IAVqIAE2AgAgA0ECdCAGaiACNgIACwUgBCAANgIAIAUgATYCACAGIAI2AgAgA0EBNgIACwuoDQEcfyMGIQwjBkHQAGokBiAMQQhqIRMgDCIeQcgAaiEbIAxBPGohHCAMQTBqIR0gDEEkaiEUIAxBIGohFyAMQRhqIR8gDEEQaiEgIAUoAhAhJiAFKAIUISUgAkF/aiEWIANBf2ohGANAAkAgEUEDTw0AIBFBA3QgCGooAgAiDEEASA0AIAxBfHFBAnIiDCAGayINQQAgDUEAShshDSAGIAxqIgwgFiAMIAJIGyEZIBFBA3QgCGooAgRBBBA5QQJ0QQJyIg4gB2shDCAHIA5qIg4gGCAOIANIGyEVIAxBACAMQQBKGyEOA0AgDiAVTARAIAEgDSIMIAIgDmxqaiEPA0AgDCAZTARAIA9BADoAACAMQQFqIQwgD0EBaiEPDAELCyAOQQFqIQ4MAQsLIBFBAWohEQwBCwsgG0EANgIAICVBAXQhECAmQQF0IRJBASEMQQAhDwJAAkADQAJAIA9BA08NAiAPQQN0IAhqKAIAIg1BAEgNACAHIA9BA3QgCGooAgRBBBA5QQJ0QQJyIg5qIRYgDUF8cUECciINIAZrIREgBiANaiEYIA4gB2shDgNAAkAgDiAWSg0AIA4gEk4EQAJAIA4gEGogA04NAiACIA5sIRkgESENA0AgDSAYSg0BIA0gBSgCCEEBdE4EQCANIAUoAgxBAXRqIAJODQIgASANIBlqaiIVLAAARQRAIBVBAToAACAAIAIgBCAFIA0gDiAXEIMEIA0gDiAXKAIAIBsgHCAdIBQQqwlBACEMCwsgDUEEaiENDAAACwALCyAOQQRqIQ4MAQsLIA9BAWohDwwBCwsgDEUNAEF/IQYMAQsgBSgCAEEDdEEgaiAFKAIEQQF0QQhqbCIBEEQiEUUEQEEAQQNBudgCIB4QPUEBEAELIAEQRCIORQRAQQBBA0G52AIgExA9QQEQAQtBACEBQQAhEkF/IQYDQCASIBsoAgBIBEACQAJAIAUoAiQgBSgCACINIAUoAgQiB2xHDQACQCAEQQVrDgoAAQEBAQEBAAAAAQsgEkECdCAdaiIhKAIAIghBfWogBSgCEEEBdGsiGEEASA0AIAhBA2ogBSgCFEEBdGogA04NACASQQJ0IBxqIiIoAgAiCEF9aiAFKAIIQQF0ayIZQQBIDQAgCEEDaiAFKAIMQQF0aiACTg0AIAdBAXRBBmohIyANQQJ0QRBqIQ8gDiEHIBEhCEEAIQwDQCAMIA9IBEAgCEEANgIAIAdBADYCACAHQQRqIQcgCEEEaiEIIAxBAWohDAwBCwsgDUEBdEEGaiEkIAAgGSACIBhsamohEyAOIQwgESENQQAhFgNAIBYgI0gEQCAIQQhqIScgByEPQQAhEANAIBBBAkcEQCAIQQA2AgAgD0EANgIAIBBBAnQgH2pBADYCACAQQQJ0ICBqQQA2AgAgD0EEaiEPIAhBBGohCCAQQQFqIRAMAQsLIBMhDyAMQQhqIQwgDUEIaiENIAdBCGohByAnIQhBACEUA0AgFCAkSARAIA8tAAAgFEEBcSIVQQJ0IB9qIhooAgBqIRAgGiAQNgIAIA8tAAAiGiAabCAVQQJ0ICBqIhooAgBqIRUgGiAVNgIAIAggECANKAIAajYCACAHIBUgDCgCAGo2AgAgD0EBaiEPIAxBBGohDCANQQRqIQ0gB0EEaiEHIAhBBGohCCAUQQFqIRQMAQsLIAIgE2ohEyAWQQFqIRYMAQsLQQAhCANAIAhBB0cEQCAIIBhqIQ0gCEECaiEPIAhBfWohE0EAIQwDQCAMQQdHBEAgACACIAwgGWogDSAFIBEgDiAMQQJqIA8gFxCqCSAXKAIAIgcgAUoEQCAJICIoAgAgDEF9amo2AgAgCiATICEoAgBqNgIAIAsgB7JDAEAcRpU4AgBBACEGIAchAQsgDEEBaiEMDAELCyAIQQFqIQgMAQsLDAELIBJBAnQgHWooAgAiB0EDaiENIBJBAnQgHGohDyAHQX1qIQgDQCAIIA1KDQEgCCAFKAIQQQF0TgRAAkAgCCAFKAIUQQF0aiADTg0DIA8oAgAiB0EDaiETIAdBfWohDANAIAwgE0oNASAMIAUoAghBAXROBEAgDCAFKAIMQQF0aiACTg0CIAAgAiAEIAUgDCAIIBcQgwQgFygCACIHIAFKBEAgCSAMNgIAIAogCDYCACALIAeyQwBAHEaVOAIAIAchAUEAIQYLCyAMQQFqIQwMAAALAAsLIAhBAWohCAwAAAsACyASQQFqIRIMAQsLIBEQOCAOEDgLIB4kBiAGC3ABAn8gAAR/IABBATYCmAEDQCADQQNHBEBBACECA0AgAkEERwRAIABBCGogA0EEdGogAkECdGogA0EEdCABaiACQQJ0aigCADYCACACQQFqIQIMAQsLIANBAWohAwwBCwsgAEF/NgKoAUEABUF/CxoLygsBG38jBiEBIwZB4AlqJAYgAUHQCWohFCABQcgJaiEVIAFBuAlqIQsgAUGwCWohFiABQaAJaiEMIAFBmAlqIRcgAUGICWohDSABQegIaiEYIAFB4AhqIQ8gAUHYCGohGSABQdAIaiEaIAFByAhqIRAgAUHACGohGyABQbgIaiERIAFBsAhqIRIgAUGoCGohCSABQaAIaiEKIAFBmAhqIQ4gAUGQCGohAiABQYgIaiEFIAFBgAhqIQggAUGABmohBiABQYAEaiEHIAFB1AlqIQQCQAJ/AkBBntICLAAARQ0AQZ7SAkGe0gIQswFFDQAgCCAANgIAIAhBntICNgIEIAFBj7wBIAgQvAEgAUGJtgEQsAEiAwR/QQEMAgUgBSAANgIAQQBBA0GLtgEgBRA9QaTFAygCABC9ASEAIAJBp9UDNgIAIAIgADYCBEEAQQNBpbYBIAIQPUEACyETDAILIAcgAEH/ARDVASAHQQA6AP8BQQALIQBB9AgQRCIFRQRAQQBBA0G52AIgDhA9QQEQAQsgBSAAQQBHIg4EfyAGIAMQ5gFFBEAgAxBqIAUQOAwCCyAKIAQ2AgAgBkGrtgEgChCDAUEBRwRAIAMQaiAFEDgMAgsgBCgCACIAQQFIBH8gAxBqIAUQOAwCBSAACwVBAQsiCjYCBCAFQQA2ApgBIAUgCkHwAGwQRCICNgIAIAJFBEBBAEEDQbnYAiAJED1BARABC0EAIQACQAJAAkACQAJAAkACQANAAkAgBCAANgIAIAAgCk4NByASIABBAWo2AgBBAEEBQa62ASASED0gDgRAIAYgAxDmAUUNCCARIAc2AgAgBkHGtgEgERCDAUEBRw0IIAcQ/AULQQBBAUHJtgEgGxA9IAcQvwkhACAEKAIAQfAAbCACaiAANgIAIABFDQBBAEEBQfq2ASAaED1BAEEBQYS3ASAZED0gBxCxCSEAIAQoAgBB8ABsIAJqIAA2AgQgAEUNAkEAQQFB+rYBIBgQPSAEKAIAQfAAbCACakEANgIIIA4EQCAGIAMQ5gFFDQggDSAEKAIAIgBB8ABsIAJqQQxqNgIAIA0gAEHwAGwgAmpBEGo2AgQgDSAAQfAAbCACakEUajYCCCANIABB8ABsIAJqQRhqNgIMIAZB7LcBIA0QgwFBBEcNBCAGIAMQ5gFFDQggDCAEKAIAIgBB8ABsIAJqQRxqNgIAIAwgAEHwAGwgAmpBIGo2AgQgDCAAQfAAbCACakEkajYCCCAMIABB8ABsIAJqQShqNgIMIAZB7LcBIAwQgwFBBEcNBSAGIAMQ5gFFDQggCyAEKAIAIgBB8ABsIAJqQSxqNgIAIAsgAEHwAGwgAmpBMGo2AgQgCyAAQfAAbCACakE0ajYCCCALIABB8ABsIAJqQThqNgIMIAZB7LcBIAsQgwFBBEcNBiAEKAIAIQAFIAQoAgAhAEEAIQgDQCAIQQNHBEBBACEJA0AgCUEERwRAIABB8ABsIAJqQQxqIAhBBHRqIAlBAnRqQwAAgD9DAAAAACAIIAlGGzgCACAJQQFqIQkMAQsLIAhBAWohCAwBCwsLIABB8ABsIAJqQQxqIABB8ABsIAJqQTxqEJ4GIAcQhQZBgAIQRCEAIAQoAgBB8ABsIAJqIAA2AmwgAEUNBiAAIAdBgAIQ1QEgBCgCAEEBaiEADAELCyAQIAc2AgBBAEEDQdu2ASAQED0gAhA4IAUQOCADRQ0HIAMQagwHCyAPIAc2AgBBAEEDQZi3ASAPED0gBCgCAEHwAGwgAmoQuAkgAhA4IAUQOCADRQ0GIAMQagwGC0EAQQNB+LcBIBcQPSADEGpBABABDAQLQQBBA0H4twEgFhA9IAMQakEAEAEMAwtBAEEDQfi3ASAVED0gAxBqQQAQAQwCC0EAQQNBudgCIBQQPUEBEAEMAQsgAwRAIAMQagsgBCgCACAKTgRAIAUhEwwCC0EAEAELCyABJAYgEwtNAQN/IwYhAyMGQRBqJAYgAyECQQQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAEOMCIgA2AgAgAEUEQCABEDhBACEBCyACJAYgAQspACAAIAFBA3QgAGogAkEDdCAAaiIBEIQEIAAgASADQQN0IABqEIQEkgvJBwETfyMGIQIjBkGABWokBiACQfAEaiEJIAJB6ARqIQogAkHgBGohCyACQdgEaiEMIAJB0ARqIQ0gAkHIBGohDiACQcAEaiEPIAJBuARqIRAgAkGwBGohESACQagEaiESIAJBoARqIQUgAkGYBGohBiACQZAEaiEEIAJBiARqIQEgAkGABGoiAyAANgIAIANBntICNgIEIAJBj7wBIAMQvAEgAkGIuQEQsAEiAwRAQQgQRCIARQRAQQBBA0G52AIgBBA9QQEQAQsCQAJAIABBBGpBBEEBIAMQYUEBRgRAAkAgACAAKAIEIhNBFGwQRCIGNgIAIAZFBEBBAEEDQbnYAiAFED1BARABC0EAIQUDQAJAIAUgE04NAiAFQRRsIAZqQQhqQQRBASADEGFBAUcEQEEMIQEMAQsgBUEUbCAGakEMakEEQQEgAxBhQQFHBEBBDyEBDAELIAVBFGwgBmpBEGpBBEEBIAMQYUEBRwRAQREhAQwBCyAFQRRsIAZqIghBBGpBBEEBIAMQYUEBRwRAQRMhAQwBCyAFQRRsIAZqIgcgCCgCBCIBQRRsEEQiBDYCACAERQRAQRYhAQwBC0EAIQQDQCAEIAFIBEAgBygCACAEQRRsakEEQQEgAxBhQQFHBEBBGSEBDAMLIAcoAgAgBEEUbGpBBGpBBEEBIAMQYUEBRwRAQRshAQwDCyAHKAIAIARBFGxqQQhqQQRBASADEGFBAUcEQEEdIQEMAwsgBygCACAEQRRsakEMakEEQQEgAxBhQQFHBEBBHyEBDAMLIAcoAgAgBEEUbGpBEGpBBEEBIAMQYUEBRgRAIARBAWohBCAIKAIEIQEMAgVBIiEBDAMLAAsLIAVBAWohBQwBCwsCQAJAAkACQAJAAkACQAJAAkACQAJAIAFBDGsOFwAKCgEKAgoDCgoECgoFCgYKBwoICgoJCgtBAEEDQfu1ASASED0MCQtBAEEDQfu1ASARED0MCAtBAEEDQfu1ASAQED0MBwtBAEEDQfu1ASAPED0MBgtBAEEDQbnYAiAOED1BARABDAULQQBBA0H7tQEgDRA9DAQLQQBBA0H7tQEgDBA9DAMLQQBBA0H7tQEgCxA9DAILQQBBA0H7tQEgChA9DAELQQBBA0H7tQEgCRA9C0EAIQEDQCABIAVHBEAgAUEUbCAGaigCABA4IAFBAWohAQwBCwsgBhA4DAILBUEAQQNB+7UBIAYQPQwBCwwBCyAAEDhBACEACyADEGoFIAEgADYCAEEAQQNB5rUBIAEQPUEAIQALIAIkBiAACw8AIAAoAgBBhAFqQQEQBgv5DQEQfyMGIQsjBkHABmokBkEEIQlBKBBEIghBADYCACALQRhqIgdBAEHoAxBFGkEAJANBPyALQZgEaiIMEBAhBiMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAhBBBB9IgpFBEAgBSMEEAYLIwQQAwVBfyEKCyALQZAEaiEPIAtBiARqIRAgC0GABGohEQJ/EAcgCkEBa0UNABogByAGNgIAIAxB8AA2AgAgDEGEAWpBASAIQQQQjwQhCBAHIQlBACQDQQAkA0EAIgVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIAZBAWtFDQAaQQALIQUCQAJAAkACQANAAkAgBQRAQQAkA0HxACAHEA8jAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQJBACQDQQhBAEEDQai1ASAREBEjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWsNAQwCC0EAJANBASAHQdoAQegDEBsjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQFBACQDQScgByAAEBwjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQFBACQDAn9BEyAHQQEQJiESIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iCkUEQCAFIwQQBgsjBBADBUF/IQoLEAchBSAKQQFrRQ0CIBJBAUcLBEBBACQDQQhBAEEDQcK1ASAQEBEjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQJBACQDQfEAIAcQDyMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIQUgBkEBaw0DDAILQQAkA0HAACAHEBAaIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iBkUEQCAFIwQQBgsjBBADBUF/IQYLEAchBSAGQQFrRQ0BIAcoAiQgBygCHGwiDCAHKAIgbCEFQQAkA0HBACAFEBAhBSMDIQZBACQDIAZBAEcjBEEAR3EEQCAGKAIAIAggCRB9IgpFBEAgBiMEEAYLIwQQAwVBfyEKCxAHIQYgCkEBa0UEQCAGIQUMAgsgBUUEQEEAJANBCEEAQQNBudgCIA8QESMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIQUgBkEBa0UNAkEAJANB8QAgBxAPIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iBkUEQCAFIwQQBgsjBBADBUF/IQYLEAchBSAGQQFrDQQMAgtBACENA0AgBygCjAEgBygCdEkEQEEAIQYDQCAGQQVHBEAgBkECdCALaiAFIAwgBiANamxqNgIAIAZBAWohBgwBCwtBACQDQRkgByALQQUQISETIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iDkUEQCAGIwQQBgsjBBADBUF/IQ4LEAchBiAOQQFrRQRAIAYhBQwECyATIA1qIQ0MAQsLQQAkA0HCACAHEBAaIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iCkUEQCAGIwQQBgsjBBADBUF/IQoLEAchBiAKQQFrRQRAIAYhBQwCC0EAJANB8QAgBxAPIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iCkUEQCAGIwQQBgsjBBADBUF/IQoLEAchFCAKQQFrDQQgFCEFDAELC0EAIQUMAwtBACEFDAILQQAhBQwBCyABBEAgASAHKAIcNgIACyACBEAgAiAHKAIgNgIACyADBEAgAyAHKAIkNgIACyAEBEACQAJAAkACQCAHLACiAiIAQQFrDgIAAQILIAcuAaQCIgAgBy4BpgJGBEAgBCAAQf//A3GyOAIADAULDAILIAcuAaQCIgAgBy4BpgJGBEAgBCAAQf//A3GyQ1yPIkCUOAIADAQLDAELIABB/wFxQQJKBEAgBy4BpAJFBEAgBy4BpgJFBEAgBCAAQf8BcbI4AgAMBQsLCwsgBEMAAAAAOAIACwsgCBA4IAskBiAFC/4TAhB/AXwjBiETIwZBEGokBiATIQ8gBCgCACIGIQcgASACQX9qIhBsQQF0IAZqIQUDQCAJIAFIBEAgBUEAOwEAIAdBADsBACAHQQJqIQcgCUEBaiEJIAVBAmohBQwBCwsgBiEHQQAhCSABQX9qIhFBAXQgBmohBQNAIAkgAkgEQCAFQQA7AQAgB0EAOwEAIAFBAXQgB2ohByAJQQFqIQkgAUEBdCAFaiEFDAELCyAEQZCAyABqIQdBACABayESIAAgAUEBaiIAaiENIAAgA2ohDkEBIQxBACEDIAAgBCgCBGohCSAAQQF0IAZqIQYCfwJAA0ACQCAMIBBODQIgAyEAQQEhCgNAIAogEUgEQCANLQAAIA4tAABKBEACQCAJQX86AAAgEkEBdCAGaiIDLgEAIgVBAEoEQCAGIAU7AQAgBUEHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYyA0ABqIAw2AgAMAQsgA0F+ai4BACIFIQggBUEASiELIAMuAQIiA0EATARAIAsEQCAGIAU7AQAgCEEHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYSA0ABqIgUoAgAgCkgEQCAFIAo2AgALIANBAnQgBGpBjIDQAGogDDYCAAwCCyAGQX5qLgEAIgNBAEoEQCAGIAM7AQAgA0EHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYSA0ABqIgMoAgAgCk4NAiADIAo2AgAFIABB//8BSg0GIAYgAEEBaiIDOwEAIARBkIDIAGogAEECdGogA0EQdEEQdTYCACAEQZCA0ABqIABBB2wiAEECdGpBATYCACAAQQJ0IARqQZSA0ABqIAo2AgAgAEECdCAEakGYgNAAaiAMNgIAIABBAnQgBGpBnIDQAGogCjYCACAAQQJ0IARqQaCA0ABqIAo2AgAgAEECdCAEakGkgNAAaiAMNgIAIABBAnQgBGpBqIDQAGogDDYCACADIQALDAELIAsEQAJAIANBAnQgBGpBjIDIAGooAgAiAyAIQQJ0IARqQYyAyABqKAIAIgVKBEAgBiAFOwEAIAchCEEAIQsDQCALIABOBEAgBSEDDAMLIAMgCCgCAEYEQCAIIAU2AgALIAhBBGohCCALQQFqIQsMAAALAAUgBiADOwEAIAMgBUgEQCAHIQhBACELA0AgCyAATg0DIAUgCCgCAEYEQCAIIAM2AgALIAhBBGohCCALQQFqIQsMAAALAAsLCyADQRB0QRB1QQdsIgNBAnQgBGpB9P/PAGoiBSAFKAIAQQFqNgIAIANBAnQgBGpB+P/PAGoiBSAKIAUoAgBqNgIAIANBAnQgBGpB/P/PAGoiBSAMIAUoAgBqNgIAIANBAnQgBGpBjIDQAGogDDYCAAwBCyAGQX5qLgEAIgVBAEwEQCAGIAM7AQAgA0EHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYCA0ABqIgUoAgAgCkoEQCAFIAo2AgALIANBAnQgBGpBjIDQAGogDDYCAAwBCwJAIANBAnQgBGpBjIDIAGooAgAiAyAFQQJ0IARqQYyAyABqKAIAIgVKBEAgBiAFOwEAIAchCEEAIQsDQCALIABOBEAgBSEDDAMLIAMgCCgCAEYEQCAIIAU2AgALIAhBBGohCCALQQFqIQsMAAALAAUgBiADOwEAIAMgBUgEQCAHIQhBACELA0AgCyAATg0DIAUgCCgCAEYEQCAIIAM2AgALIAhBBGohCCALQQFqIQsMAAALAAsLCyADQRB0QRB1QQdsIgNBAnQgBGpB9P/PAGoiBSAFKAIAQQFqNgIAIANBAnQgBGpB+P/PAGoiBSAKIAUoAgBqNgIAIANBAnQgBGpB/P/PAGoiAyAMIAMoAgBqNgIACwUgBkEAOwEAIAlBADoAAAsgDUEBaiENIA5BAWohDiAJQQFqIQkgCkEBaiEKIAZBAmohBgwBCwsgDUECaiENIA5BAmohDiAMQQFqIQwgACEDIAlBAmohCSAGQQRqIQYMAQsLQQBBA0GopQEgDxA9QX8MAQsgBEEMaiEFQQEhAEEBIQkgByEGA0AgCSADTARAIAkgBigCACINRgRAIABBAWohBwUgACEHIA1BAnQgBGpBjIDIAGooAgAhAAsgBiAANgIAIAchACAJQQFqIQkgBkEEaiEGDAELCyAEIABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols-nft.worker.js": +/*!***************************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Worker_fn) +/* harmony export */ }); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !!../../../node_modules/worker-loader/dist/runtime/inline.js */ "./node_modules/worker-loader/dist/runtime/inline.js"); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__); + + + +function Worker_fn() { + return _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default()("/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***!\n \\*****************************************************************/\n/***/ (function(module) {\n\n!function(A,I){ true?module.exports=I():0}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{\"use strict\";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener(\"abort\",G)}B.isFormData(h)&&delete s[\"Content-Type\"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||\"\",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):\"\";s.Authorization=\"Basic \"+btoa(t+\":\"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B=\"getAllResponseHeaders\"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&\"text\"!==R&&\"json\"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,\"onloadend\"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf(\"file:\"))&&setTimeout(n)},y.onabort=function(){y&&(g(a(\"Request aborted\",A,\"ECONNABORTED\",y)),y=null)},y.onerror=function(){g(a(\"Network Error\",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?\"timeout of \"+A.timeout+\"ms exceeded\":\"timeout exceeded\",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?\"ETIMEDOUT\":\"ECONNABORTED\",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}\"setRequestHeader\"in y&&B.forEach(s,(function(A,I){void 0===h&&\"content-type\"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&\"json\"!==R&&(y.responseType=A.responseType),\"function\"==typeof A.onDownloadProgress&&y.addEventListener(\"progress\",A.onDownloadProgress),\"function\"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener(\"progress\",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F(\"canceled\"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener(\"abort\",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{\"use strict\";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{\"use strict\";function I(A){this.message=A}I.prototype.toString=function(){return\"Cancel\"+(this.message?\": \"+this.message:\"\")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{\"use strict\";var B=g(263);function C(A){if(\"function\"!=typeof A)throw new TypeError(\"executor must be a function.\");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{\"use strict\";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{\"use strict\";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){\"string\"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method=\"get\";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){\"function\"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\\?/,\"\")},B.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{\"use strict\";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{\"use strict\";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{\"use strict\";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{\"use strict\";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i(\"canceled\")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{\"use strict\";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{\"use strict\";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B(\"Request failed with status code \"+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{\"use strict\";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{\"use strict\";var B=g(867),C=g(16),Q=g(481),E={\"Content-Type\":\"application/x-www-form-urlencoded\"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A[\"Content-Type\"])&&(A[\"Content-Type\"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:((\"undefined\"!=typeof XMLHttpRequest||\"undefined\"!=typeof process&&\"[object process]\"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,\"Accept\"),C(I,\"Content-Type\"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,\"application/x-www-form-urlencoded;charset=utf-8\"),A.toString()):B.isObject(A)||I&&\"application/json\"===I[\"Content-Type\"]?(i(I,\"application/json\"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if(\"SyntaxError\"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&\"json\"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if(\"SyntaxError\"===A.name)throw Q(A,this,\"E_JSON_PARSE\");throw A}}return A}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};B.forEach([\"delete\",\"get\",\"head\"],(function(A){D.headers[A]={}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:\"0.24.0\"}},849:A=>{\"use strict\";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{\"use strict\";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+=\"[]\":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+\"=\"+C(A))})))})),Q=E.join(\"&\")}if(Q){var i=A.indexOf(\"#\");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf(\"?\")?\"?\":\"&\")+Q}return A}},303:A=>{\"use strict\";A.exports=function(A,I){return I?A.replace(/\\/+$/,\"\")+\"/\"+I.replace(/^\\/+/,\"\"):A}},372:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+\"=\"+encodeURIComponent(I)),B.isNumber(g)&&i.push(\"expires=\"+new Date(g).toGMTString()),B.isString(C)&&i.push(\"path=\"+C),B.isString(Q)&&i.push(\"domain=\"+Q),!0===E&&i.push(\"secure\"),document.cookie=i.join(\"; \")},read:function(A){var I=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+A+\")=([^;]*)\"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{\"use strict\";A.exports=function(A){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(A)}},268:A=>{\"use strict\";A.exports=function(A){return\"object\"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement(\"a\");function C(A){var B=A;return I&&(g.setAttribute(\"href\",B),B=g.href),g.setAttribute(\"href\",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,\"\"):\"\",host:g.host,search:g.search?g.search.replace(/^\\?/,\"\"):\"\",hash:g.hash?g.hash.replace(/^#/,\"\"):\"\",hostname:g.hostname,port:g.port,pathname:\"/\"===g.pathname.charAt(0)?g.pathname:\"/\"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{\"use strict\";var B=g(867),C=[\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split(\"\\n\"),(function(A){if(Q=A.indexOf(\":\"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]=\"set-cookie\"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+\", \"+g:g}})),E):E}},713:A=>{\"use strict\";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{\"use strict\";var B=g(288).version,C={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(A,I){C[A]=function(g){return typeof g===A||\"a\"+(I<1?\"n \":\" \")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return\"[Axios v\"+B+\"] Transitional option '\"+A+\"'\"+I+(g?\". \"+g:\"\")}return function(g,B,E){if(!1===A)throw new Error(C(B,\" has been removed\"+(I?\" in \"+I:\"\")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B,\" has been deprecated since v\"+I+\" and will be removed in the near future\"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if(\"object\"!=typeof A)throw new TypeError(\"options must be an object\");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError(\"option \"+Q+\" must be \"+o)}else if(!0!==g)throw Error(\"Unknown option \"+Q)}},validators:C}},867:(A,I,g)=>{\"use strict\";var B=g(849),C=Object.prototype.toString;function Q(A){return\"[object Array]\"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&\"object\"==typeof A}function o(A){if(\"[object Object]\"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return\"[object Function]\"===C.call(A)}function a(A,I){if(null!=A)if(\"object\"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){\"use strict\";var I,g=Object.prototype,B=g.hasOwnProperty,C=\"function\"==typeof Symbol?Symbol:{},Q=C.iterator||\"@@iterator\",E=C.asyncIterator||\"@@asyncIterator\",i=C.toStringTag||\"@@toStringTag\";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},\"\")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error(\"Generator is already running\");if(B===h){if(\"throw\"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if(\"next\"===g.method)g.sent=g._sent=g.arg;else if(\"throw\"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else\"return\"===g.method&&g.abrupt(\"return\",g.arg);B=G;var o=a(A,I,g);if(\"normal\"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}\"throw\"===o.type&&(B=h,g.method=\"throw\",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:\"normal\",arg:A.call(I,g)}}catch(A){return{type:\"throw\",arg:A}}}A.wrap=D;var w=\"suspendedStart\",F=\"suspendedYield\",G=\"executing\",h=\"completed\",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){[\"next\",\"throw\",\"return\"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if(\"throw\"!==o.type){var D=o.arg,w=D.value;return w&&\"object\"==typeof w&&B.call(w,\"__await\")?I.resolve(w.__await).then((function(A){g(\"next\",A,E,i)}),(function(A){g(\"throw\",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g(\"throw\",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,\"throw\"===g.method){if(A.iterator.return&&(g.method=\"return\",g.arg=I,k(A,g),\"throw\"===g.method))return s;g.method=\"throw\",g.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return s}var C=a(B,A.iterator,g.arg);if(\"throw\"===C.type)return g.method=\"throw\",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,\"return\"!==g.method&&(g.method=\"next\",g.arg=I),g.delegate=null,s):Q:(g.method=\"throw\",g.arg=new TypeError(\"iterator result is not an object\"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type=\"normal\",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:\"root\"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if(\"function\"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if(\"root\"===E.tryLoc)return C(\"end\");if(E.tryLoc<=this.prev){var o=B.call(E,\"catchLoc\"),D=B.call(E,\"finallyLoc\");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,\"finallyLoc\")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if(\"throw\"===B.type){var C=B.arg;N(g)}return C}}throw new Error(\"illegal catch attempt\")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},\"next\"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=I:Function(\"r\",\"regeneratorRuntime = r\")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(A){if(\"object\"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{\"use strict\";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,\"next\",I)}function o(I){A(E,C,Q,i,o,\"throw\",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError(\"Cannot call a class as a function\")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&\"function\"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?\"symbol\":typeof A},D(A)}var a,w=(a=(a=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q=\"./this.program\",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i=\"object\"===(\"undefined\"==typeof window?\"undefined\":D(window)),o=\"function\"==typeof importScripts,w=\"object\"===(\"undefined\"==typeof process?\"undefined\":D(process))&&\"object\"===D(process.versions)&&\"string\"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U=\"\";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+\"/\":\"//\",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:\"utf8\"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\\\/g,\"/\")),C=process.argv.slice(2),process.on(\"uncaughtException\",(function(A){if(!(A instanceof NB))throw A})),process.on(\"unhandledRejection\",JA),E=function(A){process.exit(A)},A.inspect=function(){return\"[Emscripten Module object]\"}):F?(\"undefined\"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:\"function\"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H(\"object\"===D(I=read(A,\"binary\"))),I)},\"undefined\"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),\"function\"==typeof quit&&(E=function(A){quit(A)}),\"undefined\"!=typeof print&&(\"undefined\"==typeof console&&(console={}),console.log=print,console.warn=console.error=\"undefined\"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf(\"blob:\")?U.substr(0,U.lastIndexOf(\"/\")+1):\"\",G=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.responseType=\"arraybuffer\",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={\"f64-rem\":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),\"object\"!==(\"undefined\"==typeof WebAssembly?\"undefined\":D(WebAssembly))&&S(\"no native wasm support detected\");var e=new WebAssembly.Table({initial:878,maximum:878,element:\"anyfunc\"}),J=!1;function H(A,I){A||JA(\"Assertion failed: \"+I)}function L(A){return hA?RB(A):M(A)}var q=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q=\"\";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):\"\"}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C=\"\";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g=\"\";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if(\"function\"!=typeof g){var B=g.func;\"number\"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for(\"function\"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for(\"function\"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=\"\"),S(I),J=!0,I=\"abort(\"+I+\"). Build with -s ASSERTIONS=1 for more info.\",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA=\"data:application/octet-stream;base64,\";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA=\"data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAiAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAFBADYCJAsgASgCECEGIAEgASgCGCACSQR/IAIFIAkgBmsiA0EAIANBAEobCyIFNgIYIAEoAghBB3QhCiAGQQBKBEAgAUEwaiELIAEoAhQiAyAGIAMgBkgbIgYgASgCHCAFayIDIAYgA0gbIgYgASgCBCAFayIDIAYgA0gbIgNBAU4EQCAFIApsIQVBACEGA0AgCygCACEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAyAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAEoAhwiAyAJSQRAAkAgBEUhBQJAAkAgAyACSQRAIAUEf0EAIQUgAgUgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEAIAIhAwwCCyEDBSAFRQ0BQQAhBQsMAQsgASAJNgIcQQEhBQsgASgCIEUEQCAFDQEgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEADAELIAEoAghBB3QhBSADIAEoAhgiA2siACAJIANrIgNJBEADQCABKAIAIABBAnRqKAIAQQAgBRBFGiAAQQFqIgAgA0cNAAsLCwsgBEUEQCABKAIAIAIgASgCGGtBAnRqDwsgAUEBNgIkIAEoAgAgAiABKAIYa0ECdGoLMgEBfyAAKAIIIAAoAgQQpQMiAQRAIAEgABDqBEEASARAIAEQSUEAIQELBUEAIQELIAEL0AcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIIQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAiAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAFBADYCJAsgASgCECEGIAEgASgCGCACSQR/IAIFIAkgBmsiA0EAIANBAEobCyIFNgIYIAEoAgghCiAGQQBKBEAgAUEwaiELIAEoAhQiAyAGIAMgBkgbIgYgASgCHCAFayIDIAYgA0gbIgYgASgCBCAFayIDIAYgA0gbIgNBAU4EQCAFIApsIQVBACEGA0AgCygCACEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAyAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAEoAhwiAyAJSQRAAkAgBEUhBQJAAkAgAyACSQRAIAUEf0EAIQUgAgUgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEAIAIhAwwCCyEDBSAFRQ0BQQAhBQsMAQsgASAJNgIcQQEhBQsgASgCIEUEQCAFDQEgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEADAELIAEoAgghBSADIAEoAhgiA2siACAJIANrIgNJBEADQCABKAIAIABBAnRqKAIAQQAgBRBFGiAAQQFqIgAgA0cNAAsLCwsgBEUEQCABKAIAIAIgASgCGGtBAnRqDwsgAUEBNgIkIAEoAgAgAiABKAIYa0ECdGoL4AoBE38gACgCBCIKKAJEIgEEfwN/IAEoAgBFBEAgAyABKAIIIgQgASgCDGxqIQMgAiAEIAEoAgRsaiECCyABKAIsIgENACADIQEgAgsFQQAhAUEACyEDIAooAkgiBARAIAEhAgNAIAQoAgBFBEAgAiAEKAIIIgEgBCgCDEEHdGxqIQIgAyAEKAIEIAFBB3RsaiEDCyAEKAIsIgQNAAsFIAEhAgsgAkEBSARADwsgCigCTBogAyIBIANIBH8gASACEDkiAUEBIAFBAUobBUGAlOvcAwshDyAKKAJEIgIEQANAIAIoAgBFBEAgAigCBCIFQX9qIAIoAgwiARBIQQFqIA9KBEAgAiABIA9sNgIQIAAgBSACQQhqIgMoAgBsEJ8DIAJBATYCKCACKAIQIQUFIAIgBTYCECACQQhqIQMLIAAoAgQhEkHwk+vcAyADKAIAIgsQSCEBIAtB8JPr3ANLBEAgACgCACIDQcgANgIUIAAgAygCAEH/AXFBrANqEQEACyASIAEgBSABIAVIGyIBNgJQIABBASAFQQJ0ELUBIQwgBQRAIAVBf3MhEEEAIQMDQCAAKAIEIQcgASAFIANrIgQgASAESRsiBCALbCIGQfCT69wDSwRAIAAoAgAiCEE4NgIUIAhBAzYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgBkEIIAZBB3EiCGtBACAIG2oiCEEQaiINEEQiBkUEQCAAKAIAIglBODYCFCAJQQQ2AhggACAAKAIAKAIAQf8BcUGsA2oRAQALIAcgBygCTCANajYCTCAGIAdBQGsiBygCADYCACAGIAg2AgQgBkEANgIIIAcgBjYCACAEBEAgAyAQaiINIAFBf3MiCUshDiAEIQcgBkEQaiEIIAMhAQNAIAFBAWohBiABQQJ0IAxqIAg2AgAgCCALaiEIIAdBf2oiBwRAIAYhAQwBCwsgA0F/aiANIAkgDhtrIQMLIAMgBUkEQCAEIQEMAQsLCyACIAw2AgAgAiAKKAJQNgIUIAJBADYCGCACQQA2AhwgAkEANgIkCyACKAIsIgINAAsLIAooAkgiAkUEQA8LA0AgAigCAEUEQCACKAIEIgVBf2ogAigCDCIBEEhBAWogD0oEQCACIAEgD2w2AhAgACACQQhqIgMoAgAgBUEHdGwQnwMgAkEBNgIoIAIoAhAhBQUgAiAFNgIQIAJBCGohAwsgACgCBCETQfCT69wDIAMoAgAiEEEHdCILEEghASALQfCT69wDSwRAIAAoAgAiA0HIADYCFCAAIAMoAgBB/wFxQawDahEBAAsgEyABIAUgASAFSBsiATYCUCAAQQEgBUECdBC1ASEMIAUEQCAFQX9zIQ1BACEDA0AgACgCBCEHIAEgBSADayIEIAEgBEkbIgQgC2wiCEHwk+vcA0sEQCAAKAIAIgZBODYCFCAGQQM2AhggACAAKAIAKAIAQf8BcUGsA2oRAQALIAhBEHIiCRBEIgZFBEAgACgCACIOQTg2AhQgDkEENgIYIAAgACgCACgCAEH/AXFBrANqEQEACyAHIAkgBygCTGo2AkwgBiAHQUBrIgcoAgA2AgAgBiAINgIEIAZBADYCCCAHIAY2AgAgBARAIAMgDWoiCSABQX9zIg5LIREgBCEHIAZBEGohCCADIQEDQCABQQFqIQYgAUECdCAMaiAINgIAIBBBB3QgCGohCCAHQX9qIgcEQCAGIQEMAQsLIANBf2ogCSAOIBEbayEDCyADIAVJBEAgBCEBDAELCwsgAiAMNgIAIAIgCigCUDYCFCACQQA2AhggAkEANgIcIAJBADYCJAsgAigCLCICDQALC4sBAQJ/IAAoAgQhByABQQFGBEBBASEBBSAAKAIAIgZBDzYCFCAGIAE2AhggACgCACgCACEGIAAgBkH/AXFBrANqEQEACyAAIAFBgAEQtQEiAEEANgIAIAAgBDYCBCAAIAM2AgggACAFNgIMIAAgAjYCICAAQQA2AiggACAHKAJINgIsIAcgADYCSCAAC4sBAQJ/IAAoAgQhByABQQFGBEBBASEBBSAAKAIAIgZBDzYCFCAGIAE2AhggACgCACgCACEGIAAgBkH/AXFBrANqEQEACyAAIAFBgAEQtQEiAEEANgIAIAAgBDYCBCAAIAM2AgggACAFNgIMIAAgAjYCICAAQQA2AiggACAHKAJENgIsIAcgADYCRCAAC4wCAQt/IAAoAgQhDkHwk+vcAyACQQd0IgoQSCEFIApB8JPr3ANLBEAgACgCACIGQcgANgIUIAYoAgAhBiAAIAZB/wFxQawDahEBAAsgDiAFIAMgBSADSBsiBDYCUCAAIAEgA0ECdBC1ASEHIANFBEAgBw8LIANBf3MhC0EAIQYDQCAAIAEgBCADIAZrIgUgBCAFSRsiCCAKbBCvAiEJIAgEQCAGIAtqIgUgBEF/cyIEIAUgBEsbIQwgCCEEIAYhBQNAIAVBAWohDSAFQQJ0IAdqIAk2AgAgAkEHdCAJaiEJIARBf2oiBARAIA0hBQwBCwsgBkF/aiAMayEGCyAGIANJBEAgCCEEDAELCyAHC4QCAQp/IAAoAgQhDUHwk+vcAyACEEghBSACQfCT69wDSwRAIAAoAgAiBkHIADYCFCAGKAIAIQYgACAGQf8BcUGsA2oRAQALIA0gBSADIAUgA0gbIgQ2AlAgACABIANBAnQQtQEhByADRQRAIAcPCyADQX9zIQpBACEGA0AgACABIAIgBCADIAZrIgUgBCAFSRsiCGwQrwIhCSAIBEAgBiAKaiIFIARBf3MiBCAFIARLGyELIAghBCAGIQUDQCAFQQFqIQwgBUECdCAHaiAJNgIAIAIgCWohCSAEQX9qIgQEQCAMIQUMAQsLIAZBf2ogC2shBgsgBiADSQRAIAghBAwBCwsgBwvtAgEDfyMGIQIjBkEQaiQGIABBADYCBCACQQA2AghB1AAQRCIBRQRAIAAoAgAiA0E4NgIUIANBADYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgAUEhNgIAIAFBIjYCBCABQQc2AgggAUEINgIMIAFBIzYCECABQSQ2AhQgAUGJATYCGCABQRU2AhwgAUEWNgIgIAFBNDYCJCABQYoBNgIoIAFBgJTr3AM2AjAgAUEANgIsIAFBADYCOCABQUBrQQA2AgAgAUEANgI0IAFBADYCPCABQQA2AkQgAUEANgJIIAFB1AA2AkwgACABNgIEQeD9AhANIgBFBEAgAiQGDwsgAkH4ADoADCACIAJBCGo2AgAgAiACQQxqNgIEIABB6P0CIAIQgwFBAEoEQAJAIAIsAAxBzQBrIgBBACAAQSBHG0UEQCACIAIoAghB6AdsIgA2AggMAQsgAigCCCEACyABIABB6AdsNgIsCyACJAYL9QEBBH8jBiEEIwZBEGokBiAAKAIUIgNBzQFHBEAgACgCACIFQRU2AhQgBSADNgIYIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACgCjAEiBSAAKAJ0IgZPBEAgACgCACIBQf4ANgIUIAEoAgQhASAAQX8gAUE/cUGyBWoRAwAgBCQGQQAPCyAAKAIIIgMEQCADIAU2AgQgAyAGNgIIIAMoAgAhAyAAIANB/wFxQawDahEBAAsgBEEANgIAIAAoAsADKAIEIQMgACABIAQgAiADQR9xQfoFahEHACAAIAQoAgAiASAAKAKMAWo2AowBIAQkBiABC5IEAR1/IAAoAuQDIQQgACgCeCEIIAAoAnAhCSAAKALQAiESIANBAEwEQA8LIAhBAEohEyAJRSEUIAlBf2oiFSAIbCEWQQAgCGshFyAJQQFqIQ8DQCAKQQJ0IAJqIhgoAgBBACAJEEUaIBMEQAJAIBQEQCAEKAJURSEGQQAhAANAIARBxABqIABBAnRqKAIAIgUgD0EBdCAFaiAGG0EAOwEAIAggAEEBaiIARw0ACwwBCyAKQQJ0IAFqIRlBACEHA0AgByAZKAIAaiEGIBgoAgAhACAEKAJUBH9BfyELIARBxABqIAdBAnRqKAIAIA9BAXRqIQ0gBiAWaiEGIAAgFWohACAXBUEBIQsgBEHEAGogB0ECdGooAgAhDSAICyEaIAQoAhggB0ECdGooAgAhGyAEKAIQIAdBAnRqKAIAIRwgCSALbCEgQQAhECAJIRFBACEOQQAhDCANIQUDQCAAIBsgEiAGLQAAIAtBAXQgBWoiHi4BACAMQQhqakEEdWpqLQAAIgxqLQAAIh8gAC0AAGo6AAAgBSAOIAwgHCAfai0AAGsiBUEDbGo7AQAgECAFQQVsaiEOIAVBB2whDCAGIBpqIQYgACALaiEAIBFBf2oiEQRAIAUhECAeIQUMAQsLICBBAXQgDWogDjsBACAHQQFqIgcgCEcNAAsLCyAEIAQoAlRFNgJUIApBAWoiCiADRw0ACwvFAgEOfyAAKALkAyEEIAAoAnghCSAAKAJwIQYgA0EATARADwsgCUEATARAQQAhAANAIABBAnQgAmooAgBBACAGEEUaIAQgBCgCMEEBakEPcTYCMCAAQQFqIgAgA0cNAAsPCyAGRSENA0AgB0ECdCACaiIOKAIAQQAgBhBFGiAEKAIwIQwgB0ECdCABaiEPIA1FBEBBACEFA0AgBCgCGCAFQQJ0aigCACEQIARBNGogBUECdGooAgAhESAGIQAgDigCACEIQQAhCiAFIA8oAgBqIQsDQCAIIBAgCy0AACAMQQZ0IBFqIApBAnRqKAIAamotAAAgCC0AAGo6AAAgCSALaiELIAhBAWohCCAKQQFqQQ9xIQogAEF/aiIADQALIAkgBUEBaiIFRw0ACwsgBCAMQQFqQQ9xNgIwIAdBAWoiByADRw0ACwvIAgEPfyAAKALkAyIEKAIYIgUoAgAhCyAFKAIEIQwgBSgCCCENIAAoAnAhCiADQQBMBEAPCyAEKAIwIQAgCkUEQEEAIQEDQCAAQQFqQQ9xIQAgAUEBaiIBIANHDQALIAQgADYCMA8LA0AgBCgCNCEOIAQoAjghDyAEKAI8IRAgCiEFQQAhBiAIQQJ0IAJqKAIAIQkgCEECdCABaigCACEHA0AgB0EDaiERIAlBAWohEiAJIA0gBy0AAiAAQQZ0IBBqIAZBAnRqKAIAamotAAAgBy0AACAAQQZ0IA5qIAZBAnRqKAIAaiALai0AACAMIActAAEgAEEGdCAPaiAGQQJ0aigCAGpqLQAAamo6AAAgBkEBakEPcSEGIAVBf2oiBQRAIBIhCSARIQcMAQsLIAQgAEEBakEPcSIANgIwIAhBAWoiCCADRw0ACwvtAQEKfyAAKALkAygCGCEMIAAoAnghBiAAKAJwIgpFIANBAUhyBEAPCyAGQQBMBEBBACEAA0AgAEECdCACaigCAEEAIAoQRRogAEEBaiIAIANHDQALDwsDQCAKIQsgBUECdCACaigCACEHIAVBAnQgAWooAgAhAANAQQAhCEEAIQkgACEEA0AgBEEBaiENIAkgCEECdCAMaigCACAELQAAai0AAGohCSAIQQFqIgggBkcEQCANIQQMAQsLIAAgBmohACAHQQFqIQQgByAJOgAAIAtBf2oiCwRAIAQhBwwBCwsgBUEBaiIFIANHDQALC64BAQl/IAAoAuQDKAIYIgQoAgAhByAEKAIEIQggBCgCCCEJIAAoAnAiCkUgA0EBSHIEQA8LA0AgCiEAIAVBAnQgAmooAgAhBiAFQQJ0IAFqKAIAIQQDQCAEQQNqIQsgBkEBaiEMIAYgCSAELQACai0AACAELQAAIAdqLQAAIAggBC0AAWotAABqajoAACAAQX9qIgAEQCAMIQYgCyEEDAELCyAFQQFqIgUgA0cNAAsLJgEBfyAAKAIAIgFBLzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALvQUBCX8gACAAKALkAyICKAIQNgKIASAAIAIoAhQ2AoQBAkACQAJAAkAgACgCWA4DAAECAwsgACgCeEEDRgRAIAJBFjYCBAUgAkEXNgIECw8LIAJBGEEZIAAoAnhBA0YbNgIEIAJBADYCMCACKAIcRQRAIAAQoQMLIAIoAjQEQA8LIAAoAuQDIQIgACgCeCIBQQBMBEAPCwNAIAJBIGogBEECdGooAgAhBQJAAkAgBEUNAEEAIQMDQCACQSBqIANBAnRqKAIAIAVHBEAgA0EBaiIDIARPDQIMAQsLIAJBNGogA0ECdGooAgAiA0UNAAwBCyAAKAIEKAIAIQEgAEEBQYAIIAFBP3FBygFqEQQAIQYgBUEJdEGAfGohBUEAIQEDQEEAIQMDQEH/ASADIAFBBHRBsDJqai0AAEEBdGsiCEH/AWwhByABQQZ0IAZqIANBAnRqIAhBAEgEf0EAQQAgB2sgBRA5awUgByAFEDkLNgIAIANBAWoiA0EQRw0ACyABQQFqIgFBEEcNAAsgBiEDIAAoAnghAQsgAkE0aiAEQQJ0aiADNgIAIARBAWoiBCABSA0ACw8LIAJBGjYCBCACQQA2AlQgAigCRAR/IABB+ABqIgEhAyABKAIAIQEgAEHwAGoFIABB8ABqIgQoAgAhCSAAQfgAaiIDKAIAQQBMBEAPCyAJQQF0QQRqIQVBACEBA38gACgCBCgCBCEGIAJBxABqIAFBAnRqIABBASAFIAZBP3FBygFqEQQANgIAIAFBAWoiASADKAIAIgZIDQAgBiEBIAQLCygCACEKIAFBAEwEQA8LIApBAXRBBGohAUEAIQADQCACQcQAaiAAQQJ0aigCAEEAIAEQRRogAEEBaiIAIAMoAgBIDQALDwsgACgCACIBQTE2AhQgASgCACEBIAAgAUH/AXFBrANqEQEAC8sBAQt/IAAoAuQDKAIYIQogACgCcCILRSADQQFIcgRADwsDQCALIQggBUECdCACaigCACEGIAVBAnQgAWooAgAhBANAIAQtAABBA3YiDEECdCAKaigCACAELQABQQJ2IgdBBnRqIAQtAAJBA3YiDUEBdGoiDi4BACIJRQRAIAAgDCAHIA0QogMgDi4BACEJCyAEQQNqIQQgBkEBaiEHIAYgCUH//wNxQf8BajoAACAIQX9qIggEQCAHIQYMAQsLIAVBAWoiBSADRw0ACwvKBQEnfyAAKALkAyILKAIYIRwgACgCcCEMIAAoAtACIRMgCygCKCEUIAAoAogBIgQoAgAhHSAEKAIEIR4gBCgCCCEfIANBAEwEQA8LIAxFISAgDEF/aiIhQQNsISIgDEEDbEEDaiEjA0AgDkECdCABaigCACEHIA5BAnQgAmooAgAhDSALIAsoAiQEf0F9IQlBfyEWIAsoAiAgI0EBdGohCCANICFqIQ0gByAiaiEHQQAFQQMhCUEBIRYgCygCICEIQQELNgIkICAEQEEAIQ9BACEQQQAhBAUgCUEBaiEkIAlBAmohJSAJIAxsISpBACERQQAhEkEAIRdBACEYQQAhGUEAIQ9BACEQQQAhGiAMIRtBACEFIAghBANAIBMgJEEBdCAEai4BACARQQhqakEEdUECdCAUaigCACAHLQABamotAAAiCkECdiIGQQZ0IBMgCUEBdCAEaiInLgEAIAVBCGpqQQR1QQJ0IBRqKAIAIActAABqai0AACIRQQN2IhVBAnQgHGooAgBqIBMgJUEBdCAEai4BACASQQhqakEEdUECdCAUaigCACAHLQACamotAAAiEkEDdiIoQQF0aiIpLgEAIgVFBEAgACAVIAYgKBCiAyApLgEAIQULIA0gBUH//wNxQX9qIgY6AAAgCiAGIB5qLQAAayEFIBIgBiAfai0AAGshCiAEIA8gESAGIB1qLQAAayIGQQNsajsBACAXIAZBBWxqIQ8gBkEHbCEVIAQgECAFQQNsajsBAiAYIAVBBWxqIRAgBUEHbCERIAQgGiAKQQNsajsBBCAZIApBBWxqIQQgCkEHbCESIAcgCWohByANIBZqIQ0gG0F/aiIbBEAgBiEXIAUhGCAKIRkgBCEaIBUhBSAnIQQMAQsLICpBAXQgCGohCAsgCCAPOwEAIAggEDsBAiAIIAQ7AQQgDkEBaiIOIANHDQALC9gIARd/IAAgACgC5AMiEygCEDYCiAEgACgCBCgCACEBIABBASATKAIUIgtBBXQgAUE/cUHKAWoRBAAiBUEANgIAIAVBHzYCBCAFQQA2AgggBUE/NgIMIAVBADYCECAFQR82AhQgACAFELACIAtBAUoEfwJ/QQEhBAN/IARBAXQgC0oEQEEAIQZBACECIAUhAUEAIQMDfyABKAIYIgkgBkohByAJIAYgBxshBiABIAMgBxshAyABQSBqIQEgAkEBaiICIARHDQAgAwshAQVBACEGQQAhAiAFIQNBACEBA0AgAygCHCIHIAZKBEAgAyABIAMoAhhBAEoiCRshASAHIAYgCRshBgsgA0EgaiEDIAJBAWoiAiAERw0ACwsgBCABRQ0BGiAEQQV0IAVqIAEoAgQ2AgQgBEEFdCAFaiABIgMoAgw2AgwgBEEFdCAFaiABIgIoAhQ2AhQgBEEFdCAFaiIGIAIoAgA2AgAgBEEFdCAFakEIaiIHIAIoAgg2AgAgBEEFdCAFakEQaiIJIAIoAhA2AgACQAJ/AkACQAJAQQIgAigCBCIIIAIoAgAiDGtBBHQiCiACKAIMIg0gAigCCCIOa0EMbCIPSiIQQQFzIAIoAhQiESACKAIQIhJrQQN0IAogDyAQG0obQQNxDgMAAQIECyABIAggDGpBAhA5IgM2AgQgBgwCCyADIA0gDmpBAhA5IgM2AgwgBwwBCyACIBEgEmpBAhA5IgM2AhQgCQsgA0EBajYCAAsgACACELACIAAgBhCwAiAEQQFqIgQgC0gNACAECwsFQQELIQtBACEIA0AgACgC5AMoAhghDyAIQQV0IAVqKAIAIgIgCEEFdCAFaigCBCIRSiAIQQV0IAVqKAIIIg4gCEEFdCAFaigCDCISSnIgCEEFdCAFaigCECINIAhBBXQgBWooAhQiEEpyBEBBACEBQQAhA0EAIQRBACEGBUEAIQFBACEDQQAhBEEAIQYDQCACQQJ0IA9qKAIAIRQgAkEDdEEEciEVIA4hBwNAIAdBAnRBAnIhFiAHQQZ0IBRqIA1BAXRqIQwgDSEJA0AgDC4BACIXQf//A3EhCiAXBEAgASAKIAlBA3RBBHJsaiEBIAMgCiAWbGohAyAEIAogFWxqIQQgBiAKaiEGCyAMQQJqIQwgCUEBaiEKIAkgEEgEQCAKIQkMAQsLIAdBAWohCSAHIBJIBEAgCSEHDAELCyACQQFqIQcgAiARSARAIAchAgwBCwsLIAQgBkEBdSIEaiAGEDlB/wFxIQIgCCAAKAKIASgCAGogAjoAACADIARqIAYQOUH/AXEhAyAIIAAoAogBKAIEaiADOgAAIAEgBGogBhA5Qf8BcSEBIAggACgCiAEoAghqIAE6AAAgCEEBaiIIIAtIDQALIAAgCzYChAEgACgCACIBQeIANgIUIAEgCzYCGCAAKAIAKAIEIQEgAEEBIAFBP3FBsgVqEQMAIBNBATYCHAubAQEGfyAAKALkAygCGCEGIAAoAnAiB0UgA0EBSHIEQA8LA0AgByEAIARBAnQgAWooAgAhAgNAIAItAABBA3ZBAnQgBmooAgAgAi0AAUECdkEGdGogAi0AAkEDdkEBdGoiCC4BACIJQQFqQRB0QRB1IQUgCCAFIAkgBRs7AQAgAkEDaiECIABBf2oiAA0ACyAEQQFqIgQgA0cNAAsLDQAgACgC5ANBATYCHAvjBQEDfyAAKALkAyIDKAIYIQIgACgCWAR/IABBAjYCWEECBUEACyEEIAEEQCADQRM2AgQgA0GHATYCCCADQQE2AhwFIANBFEEVIARBAkYbNgIEIANBiAE2AgggACgChAEiAUEBSARAIAAoAgAiAUE6NgIUIAFBATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQAFIAFBgAJKBEAgACgCACIBQTs2AhQgAUGAAjYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALCyAAKAJYQQJGBEAgACgCcEEGbEEMaiEEIAMoAiAiAUUEQCAAKAIEKAIEIQEgAyAAQQEgBCABQT9xQcoBahEEACIBNgIgCyABQQAgBBBFGiADKAIoRQRAIAAQpAMLIANBADYCJAsLIAMoAhxFBEAPCyACKAIAQQBBgCAQRRogAigCBEEAQYAgEEUaIAIoAghBAEGAIBBFGiACKAIMQQBBgCAQRRogAigCEEEAQYAgEEUaIAIoAhRBAEGAIBBFGiACKAIYQQBBgCAQRRogAigCHEEAQYAgEEUaIAIoAiBBAEGAIBBFGiACKAIkQQBBgCAQRRogAigCKEEAQYAgEEUaIAIoAixBAEGAIBBFGiACKAIwQQBBgCAQRRogAigCNEEAQYAgEEUaIAIoAjhBAEGAIBBFGiACKAI8QQBBgCAQRRogAkFAaygCAEEAQYAgEEUaIAIoAkRBAEGAIBBFGiACKAJIQQBBgCAQRRogAigCTEEAQYAgEEUaIAIoAlBBAEGAIBBFGiACKAJUQQBBgCAQRRogAigCWEEAQYAgEEUaIAIoAlxBAEGAIBBFGiACKAJgQQBBgCAQRRogAigCZEEAQYAgEEUaIAIoAmhBAEGAIBBFGiACKAJsQQBBgCAQRRogAigCcEEAQYAgEEUaIAIoAnRBAEGAIBBFGiACKAJ4QQBBgCAQRRogAigCfEEAQYAgEEUaIANBADYCHAuVBAETfyAAKALQAiEFIAAoAtwDIgQoAhAhDCAEKAIUIQ0gBCgCGCEOIAQoAhwhDyABKAIAIAJBAnRqKAIAIQggASgCBCACQQJ0aigCACEEIAEoAgggAkECdGooAgAhCSADKAIAIQYgACgCcCIBQQF2IgoEQCAEIApqIRYgAUF+cSESIApBBmwhEyAJIQMgCCECIAYhASAKIRADQCAEQQFqIRQgA0EBaiEVIAMtAAAiB0ECdCAMaigCACEDIAQtAAAiC0ECdCAPaigCACAHQQJ0IA5qKAIAakEQdSEEIAtBAnQgDWooAgAhCyABIAMgAi0AACIHaiAFaiwAADoAACABIAQgB2ogBWosAAA6AAEgASAHIAtqIAVqLAAAOgACIAJBAmohByABIAMgAi0AASICaiAFaiwAADoAAyABIAUgAiAEamosAAA6AAQgASAFIAIgC2pqLAAAOgAFIAFBBmohASAQQX9qIhAEQCAVIQMgFCEEIAchAgwBCwsgCSAKaiEJIBYhBCAIIBJqIQggBiATaiEGIAAoAnAhAQsgAUEBcUUEQA8LIAQtAAAiAEECdCAPaigCACAJLQAAIgFBAnQgDmooAgBqQRB1IQIgAEECdCANaigCACEDIAYgCC0AACIAIAFBAnQgDGooAgBqIAVqLAAAOgAAIAYgACACaiAFaiwAADoAASAGIAAgA2ogBWosAAA6AAILRwAgACgC3AMoAgwhAyAAIAEgAigCACAFKAIAQQJ0IARqIANBH3FB+gVqEQcAIAUgBSgCAEEBajYCACACIAIoAgBBAWo2AgALgAYBF38gACgC0AIhBSAAKALcAyIEKAIQIQ8gBCgCFCEQIAQoAhghESAEKAIcIRIgASgCACIHIAJBAXQiBEECdGooAgAhDCAEQQFyQQJ0IAdqKAIAIQQgASgCBCACQQJ0aigCACEGIAEoAgggAkECdGooAgAhDSADKAIAIQggAygCBCEJIAAoAnAiAUEBdiIOBEAgBiAOaiEaIA5BBmwhEyAEIAFBfnEiFmohFyANIQcgBCEDIAwhBCAJIQEgCCECIA4hFANAIAZBAWohGCAHQQFqIRkgBy0AACIKQQJ0IA9qKAIAIQcgBi0AACILQQJ0IBJqKAIAIApBAnQgEWooAgBqQRB1IQYgC0ECdCAQaigCACELIAIgByAELQAAIgpqIAVqLAAAOgAAIAIgBiAKaiAFaiwAADoAASACIAogC2ogBWosAAA6AAIgBEECaiEKIAIgBSAHIAQtAAEiBGpqLAAAOgADIAIgBSAEIAZqaiwAADoABCACIAUgBCALamosAAA6AAUgAkEGaiECIAEgBSAHIAMtAAAiBGpqLAAAOgAAIAEgBSAEIAZqaiwAADoAASABIAUgBCALamosAAA6AAIgA0ECaiEEIAEgAy0AASIDIAdqIAVqLAAAOgADIAEgAyAGaiAFaiwAADoABCABIAMgC2ogBWosAAA6AAUgAUEGaiEBIBRBf2oiFARAIBkhByAYIQYgBCEDIAohBAwBCwsgDSAOaiENIBohBiAXIQQgDCAWaiEMIAkgE2ohCSAIIBNqIQggACgCcCEBCyABQQFxRQRADwsgDS0AACIBQQJ0IA9qKAIAIQAgBi0AACICQQJ0IBJqKAIAIAFBAnQgEWooAgBqQRB1IQEgAkECdCAQaigCACECIAggACAMLQAAIgNqIAVqLAAAOgAAIAggASADaiAFaiwAADoAASAIIAIgA2ogBWosAAA6AAIgCSAAIAQtAAAiAGogBWosAAA6AAAgCSAAIAFqIAVqLAAAOgABIAkgACACaiAFaiwAADoAAgu8EwIPfwF8IwYhDiMGQRBqJAYgBCgCACIGIQ0gASACQX9qIhBsQQF0IAZqIQUDQCAHIAFIBEAgBUEAOwEAIA1BADsBACANQQJqIQ0gBUECaiEFIAdBAWohBwwBCwsgBiEHIAFBf2oiEUEBdCAGaiENQQAhBQNAIAUgAkgEQCANQQA7AQAgB0EAOwEAIAFBAXQgB2ohByABQQF0IA1qIQ0gBUEBaiEFDAELCyAEQZCAyABqIQdBACABayESIAAgAUEBaiIAaiENQQEhC0EAIQUgAEEBdCAGaiEGAn8CQANAAkAgCyAQTg0CIAUhAEEBIQkgBiEMA0AgCSARSARAIA0tAAAgA0oEQAJAIBJBAXQgDGoiDy4BACIFQQBKBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGMgNAAaiALNgIADAELIA9BfmouAQAiCiEIIApBAEohBiAPLgECIgVBAEwEQCAGBEAgDCAKOwEAIAhBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGEgNAAaiIFKAIAIAlIBEAgBSAJNgIACyAGQQJ0IARqQYyA0ABqIAs2AgAMAgsgDEF+ai4BACIFQQBKBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGEgNAAaiIFKAIAIAlODQIgBSAJNgIABSAAQf//AUoNBiAMIABBAWoiBTsBACAEQZCAyABqIABBAnRqIAVBEHRBEHU2AgAgBEGQgNAAaiAAQQdsIgBBAnRqQQE2AgAgAEECdCAEakGUgNAAaiAJNgIAIABBAnQgBGpBmIDQAGogCzYCACAAQQJ0IARqQZyA0ABqIAk2AgAgAEECdCAEakGggNAAaiAJNgIAIABBAnQgBGpBpIDQAGogCzYCACAAQQJ0IARqQaiA0ABqIAs2AgAgBSEACwwBCyAGBEACQCAFQQJ0IARqQYyAyABqKAIAIgUgCEECdCAEakGMgMgAaigCACIISgRAIAwgCDsBACAHIQZBACEKA0AgCiAATgRAIAghBQwDCyAFIAYoAgBGBEAgBiAINgIACyAGQQRqIQYgCkEBaiEKDAAACwAFIAwgBTsBACAFIAhIBEAgByEGQQAhCgNAIAogAE4NAyAIIAYoAgBGBEAgBiAFNgIACyAGQQRqIQYgCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIGQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACAGQQJ0IARqQfj/zwBqIgUgCSAFKAIAajYCACAGQQJ0IARqQfz/zwBqIgUgCyAFKAIAajYCACAGQQJ0IARqQYyA0ABqIAs2AgAMAQsgDEF+ai4BACIGQQBMBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGAgNAAaiIFKAIAIAlKBEAgBSAJNgIACyAGQQJ0IARqQYyA0ABqIAs2AgAMAQsCQCAFQQJ0IARqQYyAyABqKAIAIgUgBkECdCAEakGMgMgAaigCACIISgRAIAwgCDsBACAHIQZBACEKA0AgCiAATgRAIAghBQwDCyAGKAIAIAVGBEAgBiAINgIACyAGQQRqIQYgCkEBaiEKDAAACwAFIAwgBTsBACAFIAhIBEAgByEGQQAhCgNAIAogAE4NAyAIIAYoAgBGBEAgBiAFNgIACyAGQQRqIQYgCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIGQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACAGQQJ0IARqQfj/zwBqIgUgCSAFKAIAajYCACAGQQJ0IARqQfz/zwBqIgUgCyAFKAIAajYCAAsFIAxBADsBAAsgDUEBaiENIAlBAWohCSAMQQJqIQwMAQsLIA1BAmohDSALQQFqIQsgACEFIAxBBGohBgwBCwtBAEEDQailASAOED1BfwwBCyAEQQxqIQ1BASEAQQEhCANAIAggBUwEQCAIIAcoAgAiBkYEQCAAQQFqIQMFIAAhAyAGQQJ0IARqQYyAyABqKAIAIQALIAcgADYCACADIQAgCEEBaiEIIAdBBGohBwwBCwsgBCAAQX9qIgc2AgggBwR/IA1BACAHQQJ0EEUaIARBkIAoakEAIAdBBHQQRRpBACEDA0AgAyAHSARAIARBjIAIaiADQQJ0IgBBAnRqIAE2AgAgBEGMgAhqIABBAXJBAnRqQQA2AgAgBEGMgAhqIABBAnJBAnRqIAI2AgAgBEGMgAhqIABBA3JBAnRqQQA2AgAgA0EBaiEDDAELC0EAIQMDQCADIAVIBEAgBEEMaiAEQZCAyABqIANBAnRqKAIAQX9qIgJBAnRqIgAgBEGQgNAAaiADQQdsIgdBAnRqKAIAIAAoAgBqNgIAIARBkIAoaiACQQF0IgFBA3RqIgAgACsDACAHQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIAFBAXJBA3RqIgAgACsDACAHQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiASgCACAHQQJ0IARqQZyA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEBckECdGoiASgCACAHQQJ0IARqQaCA0ABqKAIAIgBIBEAgASAANgIACyAEQYyACGogAkECckECdGoiASgCACAHQQJ0IARqQaSA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEDckECdGoiASgCACAHQQJ0IARqQaiA0ABqKAIAIgBIBEAgASAANgIACyADQQFqIQMMAQsLIAQoAgghAkEAIQMDfyADIAJIBH8gBEGQgChqIANBAXQiAUEDdGoiACAAKwMAIARBDGogA0ECdGooAgC3IhSjOQMAIARBkIAoaiABQQFyQQN0aiIAIAArAwAgFKM5AwAgA0EBaiEDDAEFQQALCwVBAAsLIRMgDiQGIBMLngIBBH8jBiEDIwZBEGokBiAAKALcAyIHKAIkBEAgB0EgakEAIAUoAgBBAnQgBGpBAEEBIAcoAigQ9wEgB0EANgIkIAUgBSgCAEEBajYCACAHIAcoAixBf2o2AiwFIAYgBSgCACIJayIGIAcoAiwiCEECIAhBAkkbIgggCCAGSxshBiADIAlBAnQgBGooAgA2AgAgBkEBSwRAIAMgCUEBakECdCAEaigCADYCBAUgAyAHKAIgNgIEIAdBATYCJAsgBygCDCEEIAAgASACKAIAIAMgBEEfcUH6BWoRBwACfyAHKAIkRSEKIAUgBiAFKAIAajYCACAHIAcoAiwgBms2AiwgCkULBEAgAyQGDwsLIAIgAigCAEEBajYCACADJAYLGwEBfyAAKALcAyIBQQA2AiQgASAAKAJ0NgIsC7oBAQd/IAAoAiQhBSAAKAJwIQggBEEATARADwsgBUEATARADwsgCEUhCgNAIApFBEBBACEAA0BBACEJIABBAnQgAWooAgAgAkECdGooAgAhBiAAIAMoAgBqIQcDQCAGQQFqIQsgByAGLAAAOgAAIAUgB2ohByAIIAlBAWoiCUcEQCALIQYMAQsLIAUgAEEBaiIARw0ACwsgBEF/aiEAIAJBAWohAiADQQRqIQMgBEEBSgRAIAAhBAwBCwsL2AIBD38gACgCcCEGIAAoAtACIQUgACgC4AMiACgCCCEJIAAoAgwhCiAAKAIQIQsgACgCFCEMIARBAEwEQA8LIAZFBEAPCwNAIARBf2ohDSABKAIAIAJBAnRqKAIAIQ4gASgCBCACQQJ0aigCACEPIAEoAgggAkECdGooAgAhECABKAIMIAJBAnRqKAIAIREgAkEBaiESIAMoAgAhAkEAIQADQCAAIA9qLQAAIQcgAiAFIAAgDmosAABBf3NB/wFxIgggACAQai0AACITQQJ0IAlqKAIAa2osAAA6AAAgAiAFIAggB0ECdCAMaigCACATQQJ0IAtqKAIAakEQdWtqLAAAOgABIAIgBSAIIAdBAnQgCmooAgBraiwAADoAAiACIAAgEWosAAA6AAMgAkEEaiECIAYgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIBIhAiANIQQMAQsLC9MBAQl/IAAoAnAhBSAEQQBMBEAPCyAFRQRADwsDQCAEQX9qIQYgASgCACACQQJ0aigCACEHIAEoAgQgAkECdGooAgAhCCABKAIIIAJBAnRqKAIAIQkgAkEBaiEKQQAhACADKAIAIQIDQCAAIAlqLQAAIQsgAiAAIAhqLAAAIgxB/wFxQYABaiINIAAgB2otAABqOgAAIAIgDDoAASACIAsgDWo6AAIgAkEDaiECIAUgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIAohAiAGIQQMAQsLC70BAQZ/IAAoAnAhBSAEQQBMBEAPCyAFRQRADwsDQCAEQX9qIQYgASgCACACQQJ0aigCACEHIAEoAgQgAkECdGooAgAhCCABKAIIIAJBAnRqKAIAIQkgAkEBaiEKQQAhACADKAIAIQIDQCACIAAgB2osAAA6AAAgAiAAIAhqLAAAOgABIAIgACAJaiwAADoAAiACQQNqIQIgBSAAQQFqIgBHDQALIANBBGohAyAEQQFKBEAgCiECIAYhBAwBCwsLtAIBDn8gACgCcCEGIAAoAtACIQUgACgC4AMiACgCCCEJIAAoAgwhCiAAKAIQIQsgACgCFCEMIARBAEwEQA8LIAZFBEAPCwNAIARBf2ohDSABKAIAIAJBAnRqKAIAIQ4gASgCBCACQQJ0aigCACEPIAEoAgggAkECdGooAgAhECACQQFqIREgAygCACECQQAhAANAIAAgD2otAAAhByACIAUgACAOai0AACIIIAAgEGotAAAiEkECdCAJaigCAGpqLAAAOgAAIAIgBSAIIAdBAnQgDGooAgAgEkECdCALaigCAGpBEHVqaiwAADoAASACIAUgCCAHQQJ0IApqKAIAamosAAA6AAIgAkEDaiECIAYgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIBEhAiANIQQMAQsLC4oBAQV/IAAoAnAiB0UgBEEBSHIEQA8LA0AgBEF/aiEIIAEoAgAgAkECdGooAgAhCUEAIQAgAygCACEFA0AgBSAAIAlqLAAAIgY6AAIgBSAGOgABIAUgBjoAACAFQQNqIQUgByAAQQFqIgBHDQALIAJBAWohAiADQQRqIQMgBEEBSgRAIAghBAwBCwsL9AEBCX8gACgC4AMoAhghBSAAKAJwIQYgBEEATARADwsgBkUEQA8LA0AgBEF/aiEHIAEoAgAgAkECdGooAgAhCCABKAIEIAJBAnRqKAIAIQkgASgCCCACQQJ0aigCACEKIAJBAWohAiADKAIAIQtBACEAA0AgACALaiAAIAlqLQAAIgxBgAFqIg0gACAIai0AAGpB/wFxQQJ0IAVqKAIAIAxBgAJyQQJ0IAVqKAIAaiAAIApqLQAAIA1qQf8BcUGABHJBAnQgBWooAgBqQRB2OgAAIABBAWoiACAGRw0ACyADQQRqIQMgBEEBSgRAIAchBAwBCwsL3gEBB38gACgC4AMoAhghBSAAKAJwIQYgBEEATARADwsgBkUEQA8LA0AgBEF/aiEHIAEoAgAgAkECdGooAgAhCCABKAIEIAJBAnRqKAIAIQkgASgCCCACQQJ0aigCACEKIAJBAWohAiADKAIAIQtBACEAA0AgACALaiAAIApqLQAAQYAEckECdCAFaigCACAAIAhqLQAAQQJ0IAVqKAIAIAAgCWotAABBgAJyQQJ0IAVqKAIAampBEHY6AAAgAEEBaiIAIAZHDQALIANBBGohAyAEQQFKBEAgByEEDAELCwsyAQF/IAAoAgQgACgCCBCLASIBBEAgASAAELQFQQBIBEAgARBJQQAhAQsFQQAhAQsgAQsXACABKAIAIAIgA0EAIAQgACgCcBD3AQuHBAEMfyADKAIAIQggASgCBCIDIAAoAtwDIgVBjAFqaiwAACEBIAMgBUGWAWpqLQAAIQMgACgCwAIiBEEATARADwsgAUH/AXEhBSABQQBHIQwgA0H/AXEiCkF/aiENIANB/wFxQQFKBEAgBUF+IAVBf3MgARtqQQJqIQ5BACEEA0ACQCAEQQJ0IAhqKAIAIgMgACgCcCIBaiEPIAFBAEoEQCAMRQ0BIAZBAnQgAmooAgAhByADIQEDQCABIAcsAAAgDhBFGiAFIQMDQCABQQFqIQEgA0F/aiELIANBAUoEQCALIQMMAQsLIAdBAWohByABIA9JDQALIAAoAnAhAQsgCCAEIAggBEEBaiANIAEQ9wEgBkEBaiEGIAQgCmoiBCAAKALAAkgNAUEbIQkLCyAJQRtGBEAPCwNADAAACwALIAxFBEAgACgCcEEASiEBQQAhAAN/IAEEf0EABSAAIApqIgAgBEgEfwwCBUEbCwsLQRtGBEAPCwNADAAACwALQQAhBANAIAZBAnQgCGooAgAiASAAKAJwIgNqIQkgA0EASgRAIARBAnQgAmooAgAhBwNAIAEgBywAACAFEEUaIAUhAwNAIAFBAWohASADQX9qIQsgA0EBSgRAIAshAwwBCwsgB0EBaiEHIAEgCUkNAAsLIARBAWohBCAGIApqIgYgACgCwAJIDQALC68BAQV/IAMoAgAhBSAAKALAAkEATARADwtBACEDA0AgA0ECdCAFaigCACIHIAAoAnAiAWohCCABQQBKBEAgBkECdCACaigCACEEIAchAQNAIARBAWohByABIAQsAAAiBDoAACABIAQ6AAEgAUECaiIBIAhJBEAgByEEDAELCyAAKAJwIQELIAUgAyAFIANBAXJBASABEPcBIAZBAWohBiADQQJqIgMgACgCwAJIDQALC5UBAQR/IAMoAgAhBiAAKALAAiIBQQBMBEAPC0EAIQMDQCADQQJ0IAZqKAIAIgUgACgCcCIEaiEHIARBAEoEQCADQQJ0IAJqKAIAIQQgBSEBA0AgBEEBaiEFIAEgBCwAACIEOgAAIAEgBDoAASABQQJqIgEgB0kEQCAFIQQMAQsLIAAoAsACIQELIANBAWoiAyABSA0ACwsJACADIAI2AgALCQAgA0EANgIAC8oCAQN/IAAoAtwDIgcoAlwiCCAAKALAAiIDSAR/IAgFIAAoAiRBAEoEQCAAKALYASEIQQAhAwNAIAdBNGogA0ECdGooAgAhCSAAIAggA0ECdCABaigCACACKAIAIAdB5ABqIANBAnRqKAIAbEECdGogB0EMaiADQQJ0aiAJQR9xQfoFahEHACAIQdgAaiEIIANBAWoiAyAAKAIkSA0ACyAAKALAAiEDCyAHQQA2AlxBAAshASAGIAUoAgAiBmsiCCAHKAJgIgkgAyABayIDIAMgCUsbIgMgAyAISxshAyAAKALgAygCBCEIIAAgB0EMaiABIAZBAnQgBGogAyAIQT9xQZoGahEFACAFIAMgBSgCAGo2AgAgByAHKAJgIANrNgJgIAcgAyAHKAJcaiIBNgJcIAEgACgCwAJIBEAPCyACIAIoAgBBAWo2AgALHwEBfyAAKALcAyIBIAAoAsACNgJcIAEgACgCdDYCYAuHAgEFfyAAKALIAyIHKAIYIgMEQCAHQRRqIQEgB0EQaiECIAcoAgwhCQUgACgCBCgCHCEDIAcgACAHKAIIIAdBFGoiASgCACAHQRBqIgIoAgBBACADQR9xQaICahEIACIJNgIMIAcoAhghAwsgACgCdCABKAIAayIIIAYgBSgCACIKayIGIAIoAgAgA2siCyALIAZLGyIGIAYgCEsbIQYgACgC5AMoAgQhCCAAIANBAnQgCWogCkECdCAEaiAGIAhBH3FB+gVqEQcAIAUgBiAFKAIAajYCACAHIAYgBygCGGoiADYCGCAAIAIoAgAiAEkEQA8LIAEgACABKAIAajYCACAHQQA2AhgLigIBBX8gACgCyAMiB0EYaiIIKAIAIgQEQCAHQRBqIQYgB0EMaiIJIQogCSgCACEJBSAAKAIEKAIcIQQgB0EMaiIKIAAgBygCCCAHKAIUIAdBEGoiBigCAEEBIARBH3FBogJqEQgAIgk2AgAgCCgCACEECyAAKALcAygCBCELIAAgASACIAMgCSAIIAYoAgAgC0EHcUHiBmoRDQAgCCgCACIBIARLBEAgACgC5AMoAgQhAiAAIAooAgAgBEECdGpBACABIARrIgAgAkEfcUH6BWoRBwAgBSAAIAUoAgBqNgIAIAgoAgAhAQsgASAGKAIAIgBJBEAPCyAHIAAgBygCFGo2AhQgCEEANgIAC58BAQR/IwYhByMGQRBqJAYgBiAFKAIAayEIIAAoAsgDIgkoAhAhCiAHQQA2AgAgACgC3AMoAgQhBiAAIAEgAiADIAkoAgwgByAKIAggCCAKSxsgBkEHcUHiBmoRDQAgACgC5AMoAgQhASAAIAkoAgwgBSgCAEECdCAEaiAHKAIAIAFBH3FB+gVqEQcAIAUgBygCACAFKAIAajYCACAHJAYLkgIBAX8gACgCyAMhAgJAAkACQAJAAkAgAQ4EAAMCAQMLIAAoAlRFBEAgAiAAKALcAygCBDYCBAwECyACQQQ2AgQgAigCDEUEQCAAKAIEKAIcIQEgAiAAIAIoAghBACACKAIQQQEgAUEfcUGiAmoRCAA2AgwLDAMLIAIoAghFBEAgACgCACIBQQM2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyACQQU2AgQMAgsgAigCCEUEQCAAKAIAIgFBAzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAJBBjYCBAwBCyAAKAIAIgFBAzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAJBADYCGCACQQA2AhQLKQEBfyAAKALIAygCBCEEIABBAEEAQQAgASACIAMgBEEHcUHiBmoRDQALfwEEfyAAKALAAyIEQTBqIgYoAgAgBCgCNCIFSQRAIARBCGohBwUgACgCxAMoAgwhBSAAIARBCGoiByAFQT9xQYoBahECAAR/IAZBADYCACAEKAI0BQ8LIQULIAAoAsgDKAIEIQQgACAHIAYgBSABIAIgAyAEQQdxQeIGahENAAuVBwEPfyAAKALAAyIEKAI4RQRAIAAoAsQDKAIMIQggACAEQTxqIAQoAkRBAnRqKAIAIAhBP3FBigFqEQIABEAgBEEBNgI4IAQgBCgCTEEBajYCTAUPCwsCQAJAAkACQAJAAkAgBCgCSA4DAQIAAwsgACgCyAMoAgQhBSAAIARBPGogBCgCREECdGooAgAgBEEwaiIIIARBNGoiCigCACABIAIgAyAFQQdxQeIGahENACAIKAIAIAooAgBJBEAPCyAEQQA2AkggAigCACADSQ0DDwsgBEEwaiEIIARBNGohCgwCCyAEQTBqIQggBEE0aiEKDAILDwsgCEEANgIAIAogACgCyAIiDkF/ajYCACAEKAJMIAAoAswCRgRAIAAoAsADIQsgACgCJCIPQQBKBEAgC0E8aiALKAJEQQJ0aiEQIAAoAtgBIQUDQCAFKAIMIAUoAihsIgcgDhA5IQYgByAFKAIwIAcQTiIHIAdFGyEHIAlFBEAgCyAHQX9qIAYQOUEBajYCNAsgECgCACAJQQJ0aigCACENIAZBAXQhESAGQQBKBEAgB0F/akECdCANaiEMQQAhBgNAIAYgB2pBAnQgDWogDCgCADYCACAGQQFqIgYgEUgNAAsLIAVB2ABqIQUgCUEBaiIJIA9HDQALCwsgBEEBNgJICyAAKALIAygCBCEFIAAgBEE8aiAEKAJEQQJ0aigCACAIIAooAgAgASACIAMgBUEHcUHiBmoRDQAgCCgCACAKKAIASQRADwsgBCgCTEEBRgRAIAAoAsADIQsgACgCyAIhASAAKAIkIgdBAEoEQCALQUBrIQ0gAUEBaiEOIAFBAmohDyAAKALYASECQQAhAwNAIAIoAgwgAigCKGwgARA5IQUgCygCPCADQQJ0aigCACEJIA0oAgAgA0ECdGooAgAhBiAFQQBKBEAgBSAObCEQIAUgD2whEUEAIQADQCAAIAVrIgxBAnQgCWogACAQaiISQQJ0IAlqKAIANgIAIAxBAnQgBmogEkECdCAGaigCADYCACAAIBFqIgxBAnQgCWogAEECdCAJaigCADYCACAMQQJ0IAZqIABBAnQgBmooAgA2AgAgAEEBaiIAIAVHDQALCyACQdgAaiECIANBAWoiAyAHRw0ACwsFIAAoAsgCIQELIAQgBCgCREEBczYCRCAEQQA2AjggCCABQQFqNgIAIAogAUECajYCACAEQQI2AkgL6QMBEH8gACgCwAMhAgJAAkACQCABDgMAAgECCyAAKALcAygCCEUEQCACQRE2AgQgAiACKAI0NgIwDwsgAkEQNgIEIAAoAsgCIQQgACgCJCILQQBKBEAgAkFAayEMIARBAmohDSAEQX5qIQ4gACgC2AEhBUEAIQADQCAFKAIMIAUoAihsIAQQOSEDIAIoAjwgAEECdGooAgAhBiAMKAIAIABBAnRqKAIAIQcgAkEIaiAAQQJ0aigCACEIIAMgDWwiCUEASgRAQQAhAQNAIAFBAnQgB2ogAUECdCAIaigCACIKNgIAIAFBAnQgBmogCjYCACABQQFqIgEgCUcNAAsLIANBAXQhCSADQQBKBEAgAyAEbCEKIAMgDmwhD0EAIQEDQCABIA9qIhBBAnQgB2ogASAKaiIRQQJ0IAhqKAIANgIAIBFBAnQgB2ogEEECdCAIaigCADYCACABQQFqIgEgCUgNAAtBACEBA0AgASADa0ECdCAGaiAGKAIANgIAIAFBAWoiASADRw0ACwsgBUHYAGohBSAAQQFqIgAgC0cNAAsLIAJBADYCRCACQQA2AkggAkEANgJMIAJBADYCOA8LIAJBEjYCBA8LIAAoAgAiAUEDNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAuBBAEJfyAAIABBAUHQACAAKAIEKAIAQT9xQcoBahEEACIENgLAAyAEQTM2AgAgACgCyAIhAiAAKALcAygCCAR/IAJBAkgEQCAAKAIAIgNBMDYCFCAAIAMoAgBB/wFxQawDahEBACAAKALIAiECCyAAKALAAyIDIABBASAAQSRqIgYoAgBBA3QgACgCBCgCAEE/cUHKAWoRBAAiATYCPCADQUBrIgcgASAAKAIkIgFBAnRqNgIAIAFBAEoEQCACQQRqIQggACgC2AEhAkEAIQEDfyAAQQEgAigCDCACKAIobCAAKALIAhA5IgUgCGwiCUEDdCAAKAIEKAIAQT9xQcoBahEEACAFQQJ0aiEFIAMoAjwgAUECdGogBTYCACAHKAIAIAFBAnRqIAlBAnQgBWo2AgAgAkHYAGohAiABQQFqIgEgACgCJCIFSA0AIAULIQELIAAoAsgCIgVBAmohAiABIQMgBQUgBCACNgI0IABBJGohBiAAKAIkIQMgAgshASADQQBMBEAPCyAEQQhqIQVBACEDIAAoAtgBIQQDQCAEKAIMIAQoAihsIAEQOSEBIANBAnQgBWogAEEBIAQoAhwgBCgCJGwgASACbCAAKAIEKAIIQQ9xQYoCahEJADYCACADQQFqIgMgBigCAEgEQCAEQdgAaiEEIAAoAsgCIQEMAQsLC8IBAQN/IAAoAgQoAgAhAiAAIABBAUEcIAJBP3FBygFqEQQAIgI2AsgDIAJBMjYCACACQQA2AgggAkEANgIMIAAoAlRFBEAPCyACIAAoAsACIgM2AhAgACgCBCEEIAEEQCAEKAIQIQEgAiAAQQFBACAAKAJwIAAoAnhsIAAoAnQgAxD4ASACKAIQIAFBP3FBxgJqEQoANgIIBSAEKAIIIQEgAiAAQQEgACgCcCAAKAJ4bCADIAFBD3FBigJqEQkANgIMCwuhBAEMfyAAKAIEKAIAIQEgACAAQQFBoAEgAUE/cUHKAWoRBAAiAjYC3AMgAkGGATYCACACQQM2AgQgAkEANgIIIAAoArQCBEAgACgCACIBQRo2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyAAKAIkQQBMBEAPCyACQeQAaiEJIAJBNGohBSACQQxqIQogAkGMAWohCyACQZYBaiEMIAAoAtgBIQJBACEBA0AgAigCCCACKAIkbCAAKALEAhA5IQcgAigCDCACKAIobCAAKALIAhA5IQYgACgCvAIhBCAAKALAAiEIIAFBAnQgCWogBjYCACACKAI0BEACQCAGIAhGIgMgBCAHRnEEQCABQQJ0IAVqQQw2AgAMAQsgAyAEIAdBAXRGIgNxBEAgAUECdCAFakENNgIABQJAIAMgCCAGQQF0RnEEQCABQQJ0IAVqQQ42AgAMAQsgBCAHIAQgBxA5IgRsa0UEQCAIIAYgCCAGEDkiA2xrRQRAIAFBAnQgBWpBDzYCACABIAtqIAQ6AAAgASAMaiADOgAADAILCyAAKAIAIgNBJzYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALCyAAKAIEKAIIIQMgAUECdCAKaiAAQQEgACgCcCAAKAK8AhD4ASAAKALAAiADQQ9xQYoCahEJADYCAAsFIAFBAnQgBWpBCzYCAAsgAkHYAGohAiABQQFqIgEgACgCJEgNAAsLkhABBn8gACgCBCgCACEBIAAgAEEBQRwgAUE/cUHKAWoRBAAiATYC4AMgAUGFATYCAAJAAkACQAJAAkAgACgCKEEBaw4HAAEBAgIBAQMLIAAoAiRBAUcEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAMLIAAoAiRBA0cEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAILIAAoAiRBBEcEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAELIAAoAiRBAUgEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALCyAAKAKwAgRAAkACQCAAKAIoQQJrDgUBAAAAAQALIAAoAgAiAkEcNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsLAkACQAJAAkACQAJAIAAoAiwiAkEBaw4GAAEEAwQCBAsgAEEBNgJ4AkACQAJAAkAgACgCKEEBaw4HAAEAAgICAAILIAFBJjYCBCAAKAIkIgJBAUwNByAAKALYASEDQQEhAQNAIAFB2ABsIANqQQA2AjQgAUEBaiIBIAJIDQALDAILAkACQAJAAkAgACgCsAIOAgABAgsgAUEnNgIEDAILIAFBKDYCBAwBCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAgQoAgAhASAAKALgAyAAQQFBgBggAUE/cUHKAWoRBAAiAjYCGEEAIQEDQCABQQJ0IAJqIAFBi5kBbDYCACABQYACakECdCACaiABQcasAmw2AgAgAUGABGpBAnQgAmogAUGvOmxBgIACajYCACABQQFqIgFBgAJHDQALDAELIAAoAgAiAUEcNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwFCwwECyAAQQM2AngCQAJAAkACQAJAAkAgACgCKEEBaw4HAAMBBAQEAgQLIAFBKTYCBAwICyABQSo2AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB6c0FbEGAgAJqQRB1NgIAIAFBAnQgBWogAkGiiwdsQYCAAmpBEHU2AgAgAUECdCAGaiACQa6SfWw2AgAgAUECdCADaiACQefPfmxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwDCyABQSo2AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB05sLbEGAgAJqQRB1NgIAIAFBAnQgBWogAkHElg5sQYCAAmpBEHU2AgAgAUECdCAGaiACQd2kemw2AgAgAUECdCADaiACQc2ffWxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwCCwJAAkACQCAAKAKwAg4CAAECCyABQSs2AgQMBwsgAUEsNgIEDAYLIAAoAgAiAUEcNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwFCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMBAsMAwsgAEEDNgJ4IAAoAihBBkcEQCAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMAwsCQAJAAkAgACgCsAIOAgABAgsgAUErNgIEDAQLIAFBLDYCBAwDCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMAgsgAEEENgJ4AkACQAJAAkAgACgCKEEEaw4CAQACCyABQS02AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB6c0FbEGAgAJqQRB1NgIAIAFBAnQgBWogAkGiiwdsQYCAAmpBEHU2AgAgAUECdCAGaiACQa6SfWw2AgAgAUECdCADaiACQefPfmxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwCCyABQS42AgQMAwsgACgCACIBQRw2AhQgASgCACEBIAAgAUH/AXFBrANqEQEADAILDAELIAAoAiggAkYEQCAAIAAoAiQ2AnggAUEuNgIEBSAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALCyAAKAJUBEAgAEEBNgJ8DwsgACAAKAJ4NgJ8C84EAQd/IAAoAgQoAgAhASAAIABBAUEwIAFBP3FBygFqEQQAIgE2AtwDIAFBhAE2AgAgAUEANgIIIAEgACgCeCAAKAJwbCICNgIoIAAoAsACQQJGBEAgAUEBNgIEIAFBCTYCDCAAKAIEKAIEIQMgASAAQQEgAiADQT9xQcoBahEEADYCICAAKALcAyEBBSABQQI2AgQgAUEKNgIMIAFBADYCIAsCfyAAKAIoQQdGIQcgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQANgIQIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCFCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhggACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgI2AhwgASgCECEDIAEoAhQhBCABKAIYIQUgBwsEQEEAIQBBgH8hAQNAIABBAnQgA2ogAUHTmwtsQYCAAmpBEHU2AgAgAEECdCAEaiABQcSWDmxBgIACakEQdTYCACAAQQJ0IAVqIAFB3aR6bDYCACAAQQJ0IAJqIAFBzZ99bEGAgAJqNgIAIAFBAWohASAAQQFqIgBBgAJHDQALBUEAIQBBgH8hAQNAIABBAnQgA2ogAUHpzQVsQYCAAmpBEHU2AgAgAEECdCAEaiABQaKLB2xBgIACakEQdTYCACAAQQJ0IAVqIAFBrpJ9bDYCACAAQQJ0IAJqIAFB589+bEGAgAJqNgIAIAFBAWohASAAQQFqIgBBgAJHDQALCwvHAwEDfyAAKAIEKAIAIQEgACAAQQFBLCABQT9xQcoBahEEACIDNgLkAyADQTE2AgAgA0GDATYCDCADQQA2AiAgA0EANgIoIAAoAnhBA0cEQCAAKAIAIgFBMDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAgQoAgAhASADIABBAUGAASABQT9xQcoBahEEADYCGEEAIQEDQCAAKAIEKAIEIQIgAEEBQYAgIAJBP3FBygFqEQQAIQIgAygCGCABQQJ0aiACNgIAIAFBAWoiAUEgRw0ACyADQQE2AhwgACgCbARAIAAoAmAiAUEISARAIAAoAgAiAkE6NgIUIAJBCDYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQAFIAFBgAJKBEAgACgCACICQTs2AhQgAkGAAjYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQALCyAAKAIEKAIIIQIgAyAAQQEgAUEDIAJBD3FBigJqEQkANgIQIAMgATYCFAUgA0EANgIQCyAAKAJYRQRADwsgAEECNgJYIAAoAgQoAgQhASADIABBASAAKAJwQQZsQQxqIAFBP3FBygFqEQQANgIgIAAQpAMLjQkBD38gACgCBCgCACEBIAAgAEEBQdgAIAFBP3FBygFqEQQAIgE2AuQDIAFBMDYCACABQYEBNgIIIAFBggE2AgwgAUEANgJEIAFBADYCNCAAKAJ4QQRKBEAgACgCACIBQTk2AhQgAUEENgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgACgCYCIFQYACSgRAIAAoAgAiAUE7NgIUIAFBgAI2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEAIAAoAmAhBQsgACgC5AMhByAAKAJ4IgZBAUoEQEEBIQEDf0EBIQMgAUEBaiIEIQIDQCACIARsIQIgA0EBaiIDIAZHDQALIAIgBUoEfyACIQMgAQUgBCEBDAELCyECBSAFQQEgBUEBShsiAkEBaiEDCyACQQJJBEAgACgCACIBQTo2AhQgASADNgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgBkEASgRAQQEhAUEAIQMDQCAHQSBqIANBAnRqIAI2AgAgASACbCEBIANBAWoiAyAGRw0ACwJAIAAoAixBAkYEQEEAIQJBACEDA0AgB0EgaiADQQJ0QdSHAWooAgBBAnRqIgkoAgAiBEEBaiEIAkACQCABIAQQOSAIbCIEIAVKDQAgCSAINgIAIANBAWoiAyAGSAR/QQEhAiAEBUEBIQIgBCEBDAELIQEMAQsgAkUNA0EAIQNBACECCwwAAAsABUEAIQJBACEDA0AgB0EgaiADQQJ0aiIJKAIAIgRBAWohCAJAAkAgASAEEDkgCGwiBCAFSg0AIAkgCDYCACADQQFqIgMgBkgEf0EBIQIgBAVBASECIAQhAQwBCyEBDAELIAJFDQNBACEDQQAhAgsMAAALAAsACyABIQIFQQEhAgsgACgCACEBIAAoAnhBA0YEQCABIAI2AhggASAHKAIgNgIcIAEgBygCJDYCICABIAcoAig2AiQgAUHgADYCFCABKAIEIQEFIAFB4QA2AhQgASACNgIYIAAoAgAoAgQhAQsgAEEBIAFBP3FBsgVqEQMAIAAoAgQoAgghASAAQQEgAiAAKAJ4IAFBD3FBigJqEQkAIQogACgCeCIBQQBKBEBBACEEIAIhAwNAIAMgB0EgaiAEQQJ0aigCACIJEDkhBSAJQQBKBEAgCUF/aiILQQIQOSEMIARBAnQgCmohDSAFQQBKBEBBACEGA0AgBSAGbCIBIAJIBEAgDCAGQf8BbGogCxA5Qf8BcSEOA0BBACEIA0AgDSgCACABIAhqaiAOOgAAIAUgCEEBaiIIRw0ACyABIANqIgEgAkgNAAsLIAkgBkEBaiIGRw0ACyAAKAJ4IQELCyAEQQFqIgQgAUgEQCAFIQMMAQsLCyAHIAo2AhAgByACNgIUIAAQoQMgACgCWEECRwRADwsgACgC5AMhAiAAKAJwIQ8gACgCeEEATARADwsgD0EBdEEEaiEDQQAhAQNAIAAoAgQoAgQhBCACQcQAaiABQQJ0aiAAQQEgAyAEQT9xQcoBahEEADYCACABQQFqIgEgACgCeEgNAAsL2wUBD38gACgCFCICQcoBRwRAIAAoAgAiAUEVNgIUIAEgAjYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQALIAAQkQYgACgC2AEhBCAAKAIkIgxBAEoiDgR/IAAoAsgCIQIgACgCxAIiCEEIQQQgACgCTBsiCUoEQCACIAlKIQ0gCEEBdCEDIAQhAQNAIAEiByAINgIkIA0EQCACIQEFAkAgACgCwAIhCiAHKAIMIQtBASEGIAIhAQNAIAogBkEBdCIGIAtsEE8NASACIAZsIgEgCUwNAAsLCyAHIgYgATYCKCAIIAFBAXQiCkoEQCAHIAo2AiQFIAEgA0oEQCAGIAM2AigLCyAGQdgAaiEBIAVBAWoiBSAMSA0ACwUgACgCvAIhDSACIAlKIQogBCEBA0AgASgCCCEDQQEhBSAIIQcDQCANIAMgBUEBdCIFbBBPRQRAIAUgCGwiByAJTA0BCwsgASIFIAc2AiQgCgRAIAIhAQUCQCAAKALAAiELIAUoAgwhD0EBIQMgAiEBA0AgCyAPIANBAXQiA2wQTw0BIAIgA2wiASAJTA0ACwsLIAUiAyABNgIoIAcgAUEBdCILSgRAIAUgCzYCJAUgASAHQQF0IgFKBEAgAyABNgIoCwsgA0HYAGohASAGQQFqIgYgDEgNAAsLIA4Ef0EAIQIDfyAEIAQoAiQgACgCHCAEKAIIbGwgACgCvAIgACgCrANsEGg2AiwgBCAEKAIoIAAoAiAgBCgCDGxsIAAoAsACIAAoAqwDbBBoNgIwIARB2ABqIQQgAkEBaiICIAAoAiQiAUgNACABCwUgDAsFIAwLIQICQAJAAkACQAJAIAAoAiwiAUEBaw4HAAECAwMBAgQLIAEhAgwDC0EDIQIMAgtBAyECDAELQQQhAgsgACACNgJ4IABBASACIAAoAlQbNgJ8IAAQpgNFBEAgAEEBNgKAAQ8LIAAgACgCwAI2AoABCzsBAn8gACgCvAMhASAAKAJUBEAgACgC5AMoAgghAiAAIAJB/wFxQawDahEBAAsgASABKAIMQQFqNgIMC5AEAQN/IAAoArwDIgIoAggEQCACQQA2AgggACgC5AMoAgAhASAAQQAgAUE/cUGyBWoRAwAgACgCyAMoAgAhASAAQQIgAUE/cUGyBWoRAwAgACgCwAMoAgAhASAAQQIgAUE/cUGyBWoRAwAFIAAoAlQEQCAAKAKIAUUEQAJAIAAoAlwEQCAAKAJsBEAgACACKAIYNgLkAyACQQE2AggMAgsLIAAoAmQEQCAAIAIoAhQ2AuQDBSAAKAIAIgFBLzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALCwsLIAAoAtgDKAIAIQEgACABQf8BcUGsA2oRAQAgACgCxAMoAgghASAAIAFB/wFxQawDahEBACAAKAJERQRAIAIoAhBFBEAgACgC4AMoAgAhASAAIAFB/wFxQawDahEBAAsgACgC3AMoAgAhASAAIAFB/wFxQawDahEBACAAKAJUBEAgACgC5AMoAgAhASAAIAIoAgggAUE/cUGyBWoRAwALIAAoAsgDKAIAIQEgAEEDQQAgAigCCBsgAUE/cUGyBWoRAwAgACgCwAMoAgAhASAAQQAgAUE/cUGyBWoRAwALCyAAKAIIIgFFBEAPCyABIAIoAgwiAzYCDCABIANBAkEBIAIoAggbaiICNgIQIABBQGsoAgBFBEAPCyAAKALMAygCFARADwsgASACQQJBASAAKAJsG2o2AhAL8wYBBH8gACgCBCgCACEBIAAgAEEBQRwgAUE/cUHKAWoRBAAiAjYCvAMgAkH/ADYCACACQYABNgIEIAJBADYCCCAAKALUASIBQQhHBEAgACgCACIDQRA2AhQgAyABNgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgABD3BSAAKAIEKAIAIQEgAEEBQYAKIAFBP3FBygFqEQQAIgNBAEGABBBFGiAAIANBgARqIgQ2AtACQQAhAQNAIAEgBGogAToAACABQQFqIgFBgAJHDQALIANBgAZqQX9BgAQQRRoCQAJAIAAoAnRFDQAgACgCcEUNACAAQfgAaiIDKAIAQQFIDQAMAQsgACgCACIBQSE2AhQgASgCACEBIAAgAUH/AXFBrANqEQEAIABB+ABqIQMLIAJBADYCDCACIAAQpgM2AhAgAkEANgIUIAJBADYCGCAAKAJUBEACQCAAQUBrKAIARQRAIABBADYCZCAAQQA2AmggAEEANgJsCyAAQcQAaiIBKAIABEAgACgCACIEQTA2AhQgBCgCACEEIAAgBEH/AXFBrANqEQEACyADKAIAQQNGBEACQCAAKAKIAQRAIABBATYCaAwBCyAAKAJcBEAgAEEBNgJsBSAAQQE2AmQLCwUgAEEBNgJkIABBADYCaCAAQQA2AmwgAEEANgKIAQsgACgCZARAIAAQ9gUgAiAAKALkAzYCFAsgACgCbEUEQCAAKAJoRQ0BCyAAEPUFIAIgACgC5AM2AhgLBSAAQQA2AmQgAEEANgJoIABBADYCbCAAQcQAaiEBCyABKAIARQRAIAIoAhAEQCAAEPQFBSAAEPMFIAAQ8gULIAAgACgCbBDxBQsgABDHBiAAKALkAQRAIAAQiwYFIAAQmwYLIAAgACgCzAMoAhAEf0EBBSAAQUBrKAIAQQBHCxCKBiABKAIARQRAIAAQ8AULIAAoAgQoAhghASAAIAFB/wFxQawDahEBACAAKALMAygCCCEBIAAgAUH/AXFBrANqEQEAIAAoAggiAUUEQA8LIABBQGsoAgAEQA8LIAAoAswDKAIQRQRADwsgACgCJCIDIANBA2xBAmogACgC4AFFGyEDIAFBADYCBCABIAMgACgCzAJsNgIIIAFBADYCDCABQQNBAiAAKAJsGzYCECACIAIoAgxBAWo2AgwL/gQBBX8CQAJAAkACQAJAAkAgACgCFCIBQcoBaw4DAAMBAgsgABD6BSAAQUBrKAIARQRAIABBywE2AhQMAwsgAEHPATYCFEEBDwsgAEG8A2ohAwwDCyAAKAIAIgJBFTYCFCACIAE2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEADAELIAAoAswDKAIQBEACQCAAKAIIIQEDQAJAIAEEQCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAswDKAIAIQECQCAAIAFB/wBxQQhqEQAAIgIOAwEAAwALIAJBAnJBA0YgACgCCCIBQQBHcQRAIAEgASgCBEEBaiICNgIEIAIgASgCCCICTgRAIAEgAiAAKALMAmo2AggLCwwBCwsgAg8LCyAAIAAoApABNgKYAQsgAEG8A2ohAyAAKAIUQcwBRwRAIAMoAgAoAgAhASAAIAFB/wFxQawDahEBACAAQQA2AowBIABBzAE2AhQLCyADKAIAIgEoAggEQAJAIABBjAFqIgUoAgAhAgNAAkAgAiAAKAJ0IgRJBEAgAiEBIAQhAgNAIAAoAggiBAR/IAQgATYCBCAEIAI2AgggBCgCACEBIAAgAUH/AXFBrANqEQEAIAUoAgAFIAELIQIgACgCwAMoAgQhASAAQQAgBUEAIAFBH3FB+gVqEQcAIAUoAgAiASACRg0CIAEgACgCdCICSQ0ACyADKAIAIQELIAEoAgQhASAAIAFB/wFxQawDahEBACADKAIAKAIAIQEgACABQf8BcUGsA2oRAQAgBUEANgIAIAMoAgAiASgCCEUNAkEAIQIMAQsLQQAPCwsgAEHOAUHNASAAKAJEGzYCFEEBC1ABA39BfyEBA0ACQAJAAkAgACACaiwAACIDBEAgA0EuRgRADAIFDAMLAAsMAgsgAiEBCyACQQFqIQIMAQsLIAFBf0cEQCAAIAFqQQA6AAALC8oJAQ1/IAAoAtQDIQUgACgCmAIEQCAFKAI4IgJFBEAgACgC0AMoAgghAiAAIAJB/wBxQQhqEQAARQRAIAAoAgAiAkEZNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsgACgC1AJBAEoEQEEAIQIDQCAAQdgCaiACQQJ0aigCACEEAkACQAJAIAAoAuABRQ0AIAAoApwDDQEgACgCpANFDQAMAgsgBUE8aiAEKAIUQQJ0aigCACIDQgA3AAAgA0IANwAIIANCADcAECADQgA3ABggA0IANwAgIANCADcAKCADQgA3ADAgA0IANwA4IAVBGGogAkECdGpBADYCACAFQShqIAJBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAFQfwAaiAEKAIYQQJ0aigCAEEAQYACEEUaCyACQQFqIgIgACgC1AJIDQALCyAFQQA2AgwgBUEANgIQIAVBcDYCFCAFIAAoApgCIgI2AjgLIAUgAkF/ajYCOAsgBSgCFEF/RgRAQQEPCyAAKAKwAyENIAAoAvACQQBMBEBBAQ8LIAVBvAFqIQ4CQAJAA0ACQCAIQQJ0IAFqKAIAIQwgACAFQTxqIABB2AJqIABB9AJqIAhBAnRqKAIAIgtBAnRqKAIAIgYoAhQiB0ECdGoiAygCACAFQShqIAtBAnRqIgkoAgBqIgIQXQRAIAAgACACQQFqEF0iCiACQQJqaiIEEF0iAgRAIAAgAygCAEEUaiIEEF0EQANAIAJBAXQiAkGAgAJGDQQgACAEQQFqIgQQXQ0ACwsFQQAhAgsgCSACQQEgByAAQegBamotAAB0QQF1SAR/QQAFIApBAnQhAyACQQEgByAAQfgBamotAAB0QQF1SgR/IANBDGoFIANBBGoLCzYCACAEQQ5qIQMgAkEBdSIEBEADQCACIARBACAAIAMQXRtyIQIgBEEBdSIEDQALCyAFQRhqIAtBAnRqIgQoAgAgAkF/cyACQQFqIAobaiECIAQgAjYCAAUgCUEANgIAIAVBGGogC0ECdGooAgAhAgsgDCACOwEAIAAoArQDBEACQCAFQfwAaiAGKAIYIgJBAnRqIQcgAiAAQYgCamohCUEAIQQDQCAAIAcoAgAgBEEDbGoiAxBdDQEgBEEBaiECIAAgA0EBahBdBEAgBCEGIAIhBAUgAyEGA38gAiAAKAK0A04NCCAGQQNqIQMgAkEBaiEEIAAgBkEEahBdBH8gAgUgAyEGIAQhAgwBCwshBgsgACAOEF0hCiAAIANBAmoiAxBdIgIEQCAAIAMQXQRAIAJBAXQhAiAAIAcoAgBBvQFB2QEgBiAJLQAASBtqIgMQXQRAA0AgAkEBdCICQYCAAkYNCiAAIANBAWoiAxBdDQALCwsgA0EOaiEGIAJBAXUiAwRAA0AgAiADQQAgACAGEF0bciECIANBAXUiAw0ACwsFQQAhAgsgBEECdCANaigCAEEBdCAMaiACQf//A3MgAkEBaiAKGzsBACAEIAAoArQDSA0ACwsLIAhBAWoiAiAAKALwAk4NAiACIQgMAQsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACAFQX82AhRBAQu6BgENfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBQJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBSgCFEECdGooAgAiBEIANwAAIARCADcACCAEQgA3ABAgBEIANwAYIARCADcAICAEQgA3ACggBEIANwAwIARCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBSgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAMoAhRBf0YEQEEBDwsgACgCsAMhBiABKAIAIQcgACgC2AIoAhghAkEBIAAoAqgDIgF0IQhBfyABdCEJIAAoAqADIQEDfwJ/IAEgAUECdCAGaigCAEEBdCAHai4BAA0AGiABQX9qIgENAUEACwshBSADQfwAaiACQQJ0aiEKIANBvAFqIQsgCEH//wNxIQwgCUH//wNxIQ0gACgCnANBf2ohAQJAA0ACQCAKKAIAIAFBA2xqIQIgASAFTgRAIAAgAhBdDQMLAkACQCABQQFqIgFBAnQgBmooAgBBAXQgB2oiBC4BAA0AA0AgACACQQFqEF1FBEAgASAAKAKgA04NBCACQQNqIQIgAUEBaiIBQQJ0IAZqKAIAQQF0IAdqIgQuAQBFDQEMAgsLIAAgCxBdBEAgBCANOwEABSAEIAw7AQALDAELIAAgAkECahBdBEAgBC4BACIOIQIgDkEASARAIAQgAiAJajsBAAUgBCACIAhqOwEACwsLIAEgACgCoANIDQEMAgsLIAAoAgAiAUH1ADYCFCABKAIEIQEgAEF/IAFBP3FBsgVqEQMAIANBfzYCFEEBDwtBAQvjAwEEfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBQJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBSgCFEECdGooAgAiBEIANwAAIARCADcACCAEQgA3ABAgBEIANwAYIARCADcAICAEQgA3ACggBEIANwAwIARCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBSgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAAoAqgDIQIgACgC8AJBAEwEQEEBDwsgA0G8AWohA0EBIAJ0IQRBACECA0AgACADEF0EQCACQQJ0IAFqKAIAIgUgBCAFLwEAcjsBAAsgAkEBaiICIAAoAvACSA0AC0EBC80GAQp/IAAoAtQDIQUgACgCmAIEQCAFKAI4IgJFBEAgACgC0AMoAgghAiAAIAJB/wBxQQhqEQAARQRAIAAoAgAiAkEZNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsgACgC1AJBAEoEQEEAIQIDQCAAQdgCaiACQQJ0aigCACEEAkACQAJAIAAoAuABRQ0AIAAoApwDDQEgACgCpANFDQAMAgsgBUE8aiAEKAIUQQJ0aigCACIDQgA3AAAgA0IANwAIIANCADcAECADQgA3ABggA0IANwAgIANCADcAKCADQgA3ADAgA0IANwA4IAVBGGogAkECdGpBADYCACAFQShqIAJBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAFQfwAaiAEKAIYQQJ0aigCAEEAQYACEEUaCyACQQFqIgIgACgC1AJIDQALCyAFQQA2AgwgBUEANgIQIAVBcDYCFCAFIAAoApgCIgI2AjgLIAUgAkF/ajYCOAsgBSgCFEF/RgRAQQEPCyAAKAKwAyEHIAEoAgAhCCAFQfwAaiAAKALYAigCGCIBQQJ0aiEGIAVBvAFqIQkgASAAQYgCamohCiAAKAKcA0F/aiECAkACQANAAkAgACAGKAIAIAJBA2xqIgMQXQ0CIAJBAWohASAAIANBAWoQXQRAIAIhBCABIQIFA38gASAAKAKgA04NAiADQQNqIQQgAUEBaiECIAAgA0EEahBdBH8gBCEDIAEFIAQhAyACIQEMAQsLIQQLIAAgCRBdIQsgACADQQJqIgMQXSIBBEAgACADEF0EQCABQQF0IQEgACAGKAIAQb0BQdkBIAQgCi0AAEgbaiIEEF0EQANAIAFBAXQiAUGAgAJGDQcgACAEQQFqIgQQXQ0ACwsFIAMhBAsgBEEOaiEDIAFBAXUiBARAA0AgASAEQQAgACADEF0bciEBIARBAXUiBA0ACwsFQQAhAQsgAkECdCAHaigCAEEBdCAIaiABQX9zIAFBAWogCxsgACgCqAN0OwEAIAIgACgCoANIDQEMAgsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACAFQX82AhRBAQvkBgELfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBAJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBCgCFEECdGooAgAiBUIANwAAIAVCADcACCAFQgA3ABAgBUIANwAYIAVCADcAICAFQgA3ACggBUIANwAwIAVCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBCgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAMoAhRBf0YEQEEBDwsgACgC8AJBAEwEQEEBDwtBACEFAkACQANAAkAgBUECdCABaigCACEMIAAgA0E8aiAAQdgCaiAAQfQCaiAFQQJ0aigCACIHQQJ0aigCACgCFCIIQQJ0aiIGKAIAIANBKGogB0ECdGoiCSgCAGoiAhBdBEAgACAAIAJBAWoQXSIKIAJBAmpqIgQQXSICBEAgACAGKAIAQRRqIgQQXQRAA0AgAkEBdCICQYCAAkYNBCAAIARBAWoiBBBdDQALCwVBACECCyAJIAJBASAIIABB6AFqai0AAHRBAXVIBH9BAAUgCkECdCEGIAJBASAIIABB+AFqai0AAHRBAXVKBH8gBkEMagUgBkEEagsLNgIAIARBDmohBiACQQF1IgQEQANAIAIgBEEAIAAgBhBdG3IhAiAEQQF1IgQNAAsLIANBGGogB0ECdGoiBCgCACACQX9zIAJBAWogChtqIQIgBCACNgIABSAJQQA2AgAgA0EYaiAHQQJ0aigCACECCyAMIAIgACgCqAN0OwEAIAVBAWoiAiAAKALwAk4NAiACIQUMAQsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACADQX82AhRBAQvKCQEJfyAAKALUAyECIAAoApwDIgZFIQMgACgC4AEEQCAAKAKgAyEBAkACQCADBEAgAQ0BBSABIAZIDQEgASAAKAK0A0oNASAAKALUAkEBRw0BCyAAKAKkAyIBBEAgAUF/aiIBIAAoAqgDRw0BBSAAKAKoAyEBCyABQQ1KDQAMAQsgACgCACIBQRE2AhQgASAGNgIYIAAoAgAgACgCoAM2AhwgACgCACAAKAKkAzYCICAAKAIAIAAoAqgDNgIkIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgAEHUAmoiBigCACIBQQBKBEAgAEGkA2ohBUEAIQMDQCAAQdgCaiADQQJ0aigCACgCBCEIIAAoAqABIQkgACgCnAMiAQRAIAhBCHQgCWooAgBBAEgEQCAAKAIAIgFB9gA2AhQgASAINgIYIAAoAgBBADYCHCAAKAIAKAIEIQEgAEF/IAFBP3FBsgVqEQMAIAAoApwDIQELBUEAIQELIAEgACgCoANMBEADQCAFKAIAIAhBCHQgCWogAUECdGoiBCgCACIHQQAgB0EAShtHBEAgACgCACIHQfYANgIUIAcgCDYCGCAAKAIAIAE2AhwgACgCACgCBCEHIABBfyAHQT9xQbIFahEDAAsgBCAAKAKoAzYCACABQQFqIQQgASAAKAKgA0gEQCAEIQEMAQsLCyADQQFqIgMgBigCACIBSA0ACwUgAEGkA2ohBQsgACgCnANFIQMgBSgCAARAIAMEQCACQS02AgQFIAJBLjYCBAsFIAMEQCACQSs2AgQFIAJBLDYCBAsLBQJAAkAgA0UNACAAKAKkAw0AIAAoAqgDDQAgACgCoAMiAUHAAEgEQCAAKAK0AyABRw0BCwwBCyAAKAIAIgFB/QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDAAsgAkEvNgIEIABB1AJqIgEhBiABKAIAIQELIAFBAEwEQCACQQA2AgwgAkEANgIQIAJBcDYCFCACIAAoApgCNgI4DwtBACEDA0AgAEHYAmogA0ECdGooAgAhBAJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIAQoAhQiAUEPSwRAIAAoAgAiBUEyNgIUIAUgATYCGCAAKAIAKAIAIQUgACAFQf8BcUGsA2oRAQALIAJBPGogAUECdGoiBSgCACIBRQRAIAAoAgQoAgAhASAFIABBAUHAACABQT9xQcoBahEEACIBNgIACyABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggAUIANwAgIAFCADcAKCABQgA3ADAgAUIANwA4IAJBGGogA0ECdGpBADYCACACQShqIANBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAEKAIYIgFBD0sEQCAAKAIAIgRBMjYCFCAEIAE2AhggACgCACgCACEEIAAgBEH/AXFBrANqEQEACyACQfwAaiABQQJ0aiIEKAIAIgFFBEAgACgCBCgCACEBIAQgAEEBQYACIAFBP3FBygFqEQQAIgE2AgALIAFBAEGAAhBFGgsgA0EBaiIDIAYoAgBIDQALIAJBADYCDCACQQA2AhAgAkFwNgIUIAIgACgCmAI2AjgLmgwBMn8jBiEHIwZBgAFqJAYgACgCxAMhFyAAKALMAiExIAAoApABIgQgACgCmAEiBUwEQAJAA0ACQCAAKALMAyICKAIUDQIgBCAFRgRAIAAoApQBIAAoApwBIAAoApwDRWpLDQMLIAAgAigCAEH/AHFBCGoRAABFDQAgACgCkAEiBCAAKAKYASIFTA0BDAILCyAHJAZBAA8LCyAxQX9qISogACgCJEEASgR/IABBnAFqIRwgACgC2AEhCgN/IAooAjQEQCAcKAIAIgggKkkEfyAKKAIMIhFBAXQhBSARIQRBAAUgCigCICAKKAIMIgQQTiIFIAQgBRsiESEFQQELIQkgCAR/IAAgF0HIAGogDUECdGooAgAgBCAIQX9qbCAEIAVqQQAgACgCBCgCIEEfcUGiAmoRCAAgCigCDEECdGohFEEABSAAIBdByABqIA1BAnRqKAIAQQAgBUEAIAAoAgQoAiBBH3FBogJqEQgAIRRBAQshEiAXKAJwIA1BBmxBAnRqIRMgCigCUCIELwEAIQggBC8BAiEFIAQvARAhAiAELwEgIQ4gBC8BEiEPIAQvAQQhBCAAKALYA0EEaiANQQJ0aigCACErIBFBAEoEQCASQQBHISwgCUEARyEtIBFBf2ohLiAIQSRsIR0gBUEHdCEeIAJBB3QhHyAFQQh0ISAgCEEJbCEhIA5BB3QhIiACQQh0ISMgCiEvIAhBBWwhMCAPQQd0ISQgDkEIdCElIARBB3QhJiAPQQh0IScgBEEIdCEoQQAhDCANQQJ0IAFqKAIAIRgDQCAMQQJ0IBRqKAIAIQIgLCAMRXEEfyACBSAMQX9qQQJ0IBRqKAIACyEVIAooAhxBf2ohKSAtIAwgLkZxBH8gAgUgDEEBakECdCAUaigCAAsiGS4BACIGIQQgAi4BACIJIQUgFS4BACIQIQhBACEaIAIhFkEAIRsDQCAHIBZBgAEQTBogGiApSQR/IBkuAYABIQ4gFS4BgAEhDyAWLgGAAQUgBCEOIAghDyAFCyESIAcuAQJFIBMoAgQiAkEAR3EEQCAHIB0gCSASa2wiA0F/SgR/IAMgHmogIBA5IgNBASACdCILQX9qIAMgC0gbIAMgAkEAShsFQQAgHiADayAgEDkiA0EBIAJ0IgtBf2ogAyALSBsgAyACQQBKG2sLOwECCyAHLgEQRSATKAIIIgJBAEdxBEAgByAdIAggBGtsIgNBf0oEfyADIB9qICMQOSIDQQEgAnQiC0F/aiADIAtIGyADIAJBAEobBUEAIB8gA2sgIxA5IgNBASACdCILQX9qIAMgC0gbIAMgAkEAShtrCzsBEAsgBy4BIEUgEygCDCICQQBHcQRAIAcgISAEIAggBUEBdGtqbCIDQX9KBH8gAyAiaiAlEDkiA0EBIAJ0IgtBf2ogAyALSBsgAyACQQBKGwVBACAiIANrICUQOSIDQQEgAnQiC0F/aiADIAtIGyADIAJBAEobaws7ASALIAcuARJFIBMoAhAiAkEAR3EEQCAHIDAgDiAQIAZrIA9ramwiBkF/SgR/IAYgJGogJxA5IgZBASACdCIQQX9qIAYgEEgbIAYgAkEAShsFQQAgJCAGayAnEDkiBkEBIAJ0IhBBf2ogBiAQSBsgBiACQQBKG2sLOwESCyAHLgEERSATKAIUIgJBAEdxBEAgByAhIBIgCSAFQQF0a2psIglBf0oEfyAJICZqICgQOSIJQQEgAnQiBkF/aiAJIAZIGyAJIAJBAEobBUEAICYgCWsgKBA5IglBASACdCIGQX9qIAkgBkgbIAkgAkEAShtrCzsBBAsgACAKIAcgGCAbICtBP3FBmgZqEQUAIBZBgAFqIRYgFUGAAWohFSAZQYABaiEZIBsgLygCJGohGyAaQQFqIhogKU0EQCAIITIgBSEJIAQhBiAOIQQgEiEFIA8hCCAyIRAMAQsLIAooAihBAnQgGGohGCAMQQFqIgwgEUcNAAsLCyAKQdgAaiEKIA1BAWoiDSAAKAIkSA0AIBwLBSAAQZwBagsiASABKAIAQQFqIgE2AgBBA0EEIAEgACgCzAJJGyEzIAckBiAzC5UGARV/IAAoAugCQX9qIQogACgCzAIiAkF/aiETIAAoAsQDIgYoAhgiCCAGKAIcIgNIBEACQCAGQSBqIQ0gAEGUAWohDiADIQIgBigCFCEHAkACQANAAkAgByAKTQRAA0AgACgCtAMEQCANKAIAQQAgACgC8AJBB3QQRRoLIAAoAtQDKAIEIQIgACANIAJBP3FBigFqEQIARQ0CIAAoAtQCIgJBAEoEQCAHIApJIRRBACEDQQAhCwNAIABB2AJqIAtBAnRqKAIAIgQoAjQEQAJAIAAoAtgDQQRqIAQoAgQiBUECdGooAgAhFSAEQThqIg8gBEHIAGogFBsoAgAhECAEKAIoIREgByAEKAJEbCEWIAQoAjwiEkEASgRAIBBBAEwEQCAPKAIAIQlBACEFA0AgAyAJaiEDIAVBAWoiBSASSA0ACwwCCyAFQQJ0IAFqKAIAIAggEWxBAnRqIQlBACEMIAMhBSASIQIgESEDA0ACQAJAIA4oAgAgE0kNACAIIAxqIAQoAkxIDQAMAQsgFiECQQAhAwNAIAAgBCAGQSBqIAMgBWpBAnRqKAIAIAkgAiAVQT9xQZoGahEFACACIAQoAiRqIQIgA0EBaiIDIBBHDQALIAQoAighAyAEKAI8IQILIAUgDygCAGohBSADQQJ0IAlqIQkgDEEBaiIMIAJIDQALIAUhAyAAKALUAiECCwsFIAMgBEFAaygCAGohAwsgC0EBaiILIAJIDQALCyAHQQFqIgcgCk0NAAsgBigCHCECCyAGQQA2AhQgCEEBaiIIIAJODQJBACEHDAELCwwBCyAOIQEgACgCzAIhAgwBCyAGIAg2AhggBiAHNgIUQQAPCwUgAEGUAWohAQsgACAAKAKcAUEBajYCnAEgASABKAIAQQFqIgM2AgAgAyACTwRAIAAoAswDKAIMIQEgACABQf8BcUGsA2oRAQBBBA8LIAAoAsQDIgEgACgC1AJBAUoEf0EBBSAAKALYAiIAQQxqIABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQRyAAIAZHDQALBSAIQX82AgAgACgCACgCECEJIAYgASgCADYCJCAGIAIoAgA2AhwgBiAGKAIkNgIAIAcgBigCHDYCACABIAAgBiAHIAMgBCAIIAlBP3FBxgJqEQoANgIAAkACQAJAAkAgCCgCAA4CAAECCyAFQQA6AAAMAgsgBUEBOgAADAELIAVBAToAACAEQQQ2AgALIAEoAgAhAQsgBiQGIAELQQEBf0EAIQADQCABIAJHBEAgASgCACAAQQR0aiIDQYCAgIB/cSEAIAMgACAAQRh2cnMhACABQQRqIQEMAQsLIAALGQAgAEIANwIAIABBADYCCCAAIAIgAxDHBAtXAQF/An8CQAN/An8gAyAERg0CQX8gASACRg0AGkF/IAEoAgAiACADKAIAIgVIDQAaIAUgAEgEf0EBBSADQQRqIQMgAUEEaiEBDAILCwsMAQsgASACRwsLPwEBf0EAIQADQCABIAJHBEAgASwAACAAQQR0aiIAQYCAgIB/cSIDIANBGHZyIABzIQAgAUEBaiEBDAELCyAACz0BAX8gAAR/IAAoAgAiAQR/IAEoArgBEDggACgCACgCvAEQOCAAKAIAEDggAEEANgIAQQAFQX8LBUF/CxoLGQAgAEIANwIAIABBADYCCCAAIAIgAxD+AwtXAQF/An8CQAN/An8gAyAERg0CQX8gASACRg0AGkF/IAEsAAAiACADLAAAIgVIDQAaIAUgAEgEf0EBBSADQQFqIQMgAUEBaiEBDAILCwsMAQsgASACRwsLIgEBfyAABEAgACgCACgCBCEBIAAgAUH/AXFBrANqEQEACwu1AgEIfyMGIQUjBkEgaiQGIAVBEGohAiAFQQRqIQMgBUEIaiEEAn8gAUF/EEEhCSAALAA0QQBHIQYgCQsEQCAGRQRAIAAgACgCMCIBQX8QQUEBc0EBcToANAsFAkAgBgR/IAQgAEEwaiIGKAIAEEI6AAAgACgCJCIHKAIAKAIMIQgCfwJAAkACQCAHIAAoAiggBCAEQQFqIAUgAiACQQhqIAMgCEEPcUGOA2oRDgBBAWsOAwICAAELIAIgBigCADoAACADIAJBAWo2AgALA0AgAygCACIEIAJNBEBBASEDQQAMAwsgAyAEQX9qIgQ2AgAgBCwAACAAKAIgEO8BQX9HDQALC0EAIQNBfwshAiADBH8gBgUgAiEBDAILBSAAQTBqCyABNgIAIABBAToANAsLIAUkBiABCwkAIABBARDIBAsJACAAQQAQyAQLXgEBfyAAIAFBsNADEDoiATYCJCAAIAEgASgCACgCGEH/AHFBCGoRAAA2AiwgACgCJCIBKAIAKAIcIQIgACABIAJB/wBxQQhqEQAAQQFxOgA1IAAoAixBCEoEQBAACwuzAgEIfyMGIQUjBkEgaiQGIAVBEGohAiAFQQhqIQMgBUEEaiEEAn8gAUF/EEEhCSAALAA0QQBHIQYgCQsEQCAGRQRAIAAgACgCMCIBQX8QQUEBc0EBcToANAsFAkAgBgR/IAQgAEEwaiIGKAIANgIAIAAoAiQiBygCACgCDCEIAn8CQAJAAkAgByAAKAIoIAQgBEEEaiAFIAIgAkEIaiADIAhBD3FBjgNqEQ4AQQFrDgMCAgABCyACIAYoAgA6AAAgAyACQQFqNgIACwNAIAMoAgAiBCACTQRAQQEhA0EADAMLIAMgBEF/aiIENgIAIAQsAAAgACgCIBDvAUF/Rw0ACwtBACEDQX8LIQIgAwR/IAYFIAIhAQwCCwUgAEEwagsgATYCACAAQQE6ADQLCyAFJAYgAQuKAwIMfwJ8IwYhASMGQUBrJAYgAUEgaiECQdABEEQiA0UEQEEAQQNBudgCIAIQPUEBEAELIAFBKGohBCADIABBuAEQTBogAyAAKAIAQR5qIgg2AsABIAMgACgCBEEeaiIJNgLEASADQQ82AsgBIANBDzYCzAEgAyAJIAhBA3RsIgUQRCICNgK4ASACRQRAQQBBA0G52AIgBBA9QQEQAQsgAUEwaiEGIAMgBRBEIgQ2ArwBIARFBEBBAEEDQbnYAiAGED1BARABCyABQRhqIQUgAUEQaiEGIAFBCGohCiAAQegAaiELIAAoArABIQwgAiEAA0AgByAJSARAIAdBD2uyuyENQQAhAgNAIAIgCEgEQCALIAJBD2uyuyIOIA0gCiABIAwQ2AsgACAKKwMAtjgCACAAIAErAwC2OAIEIAsgDiANIAUgBiAMEN8EIAQgBSsDALY4AgAgBCAGKwMAtjgCBCACQQFqIQIgBEEIaiEEIABBCGohAAwBCwsgB0EBaiEHDAELCyABJAYgAwsJACAAQQEQyQQLCQAgAEEAEMkEC14BAX8gACABQbjQAxA6IgE2AiQgACABIAEoAgAoAhhB/wBxQQhqEQAANgIsIAAoAiQiASgCACgCHCECIAAgASACQf8AcUEIahEAAEEBcToANSAAKAIsQQhKBEAQAAsLnQIBCX8jBiEDIwZBIGokBiADQRBqIQQgA0EIaiECIANBBGohBgJ/AkAgAUF/EEENAAJ/IAIgARBCOgAAIAAsACwEQCACQQFBASAAKAIgEJMBQQFGDQJBfwwBCyAGIAQ2AgAgAkEBaiEHIARBCGohCAJAA0ACQCAAKAIkIgUoAgAoAgwhCSAFIAAoAiggAiAHIAMgBCAIIAYgCUEPcUGOA2oRDgAhBSACIAMoAgBGDQIgBUEDRg0AIAVBAk8NAiAGKAIAIARrIgIgBEEBIAIgACgCIBCTAUcNAiADKAIAIQIgBUEBRg0BDAQLCyACQQFBASAAKAIgEJMBQQFHDQAMAgtBfwsMAQsgAUF/EEEEf0EABSABCwshCiADJAYgCgtfAQJ/IAAsACwEQCABQQEgAiAAKAIgEJMBIQMFA0AgAyACSARAIAAoAgAoAjQhBCAAIAEsAAAQQiAEQT9xQYoBahECAEF/RwRAIANBAWohAyABQQFqIQEMAgsLCwsgAwtMAQF/IAAoAgAoAhghAiAAIAJB/wBxQQhqEQAAGiAAIAFBsNADEDoiATYCJCABKAIAKAIcIQIgACABIAJB/wBxQQhqEQAAQQFxOgAsC5sCAQl/IwYhAyMGQSBqJAYgA0EQaiEEIANBCGohAiADQQRqIQYCfwJAIAFBfxBBDQACfyACIAE2AgAgACwALARAIAJBBEEBIAAoAiAQkwFBAUYNAkF/DAELIAYgBDYCACACQQRqIQcgBEEIaiEIAkADQAJAIAAoAiQiBSgCACgCDCEJIAUgACgCKCACIAcgAyAEIAggBiAJQQ9xQY4DahEOACEFIAIgAygCAEYNAiAFQQNGDQAgBUECTw0CIAYoAgAgBGsiAiAEQQEgAiAAKAIgEJMBRw0CIAMoAgAhAiAFQQFGDQEMBAsLIAJBAUEBIAAoAiAQkwFBAUcNAAwCC0F/CwwBCyABQX8QQQR/QQAFIAELCyEKIAMkBiAKC1kBAX8gACwALARAIAFBBCACIAAoAiAQkwEhAwUDQCADIAJIBEAgACABKAIAIAAoAgAoAjRBP3FBigFqEQIAQX9HBEAgA0EBaiEDIAFBBGohAQwCCwsLCyADC0wBAX8gACgCACgCGCECIAAgAkH/AHFBCGoRAAAaIAAgAUG40AMQOiIBNgIkIAEoAgAoAhwhAiAAIAEgAkH/AHFBCGoRAABBAXE6ACwL7AUCB38CfCMGIQQjBkGgA2okBiAEQZADaiEGIARBgAFqIQggACgCACEHIAAoAgQhBSAAQQhqIARBsAJqIgogBEHQAWoiCRDzC0EASARAQQBBA0GbrAEgBhA9BQJAIAVBf2q3IQxBACEFA0AgBUEERwRAIApBIGogBUEDdGoiACAKQUBrIAVBA3RqKwMAIAyiIAArAwChOQMAIAVBAWohBQwBCwsgCisDUCELQQAhBQNAIAVBA0cEQEEAIQADQCAAQQNHBEAgBUEYbCAIaiAAQQN0aiAFQQV0IApqIABBA3RqKwMAIAujOQMAIABBAWohAAwBCwsgBUEBaiEFDAELCyAEIAgrAwBEAAAAAAAAAECiIAdBf2q3IgujOQMAIAQgCCsDCEQAAAAAAAAAQKIgC6M5AwggBCAIKwMQRAAAAAAAAABAoiALo0QAAAAAAADwv6CaOQMQIARCADcDGCAEQgA3AyAgBCAIKwMgRAAAAAAAAABAoiAMo5o5AyggBCAIKwMoRAAAAAAAAABAoiAMo0QAAAAAAADwv6CaOQMwIARCADcDOCAEQgA3A0AgBEIANwNIIAQgASACoCABIAKhIgujOQNQIAQgAkQAAAAAAAAAQKIgAaIgC6M5A1ggBEIANwNgIARCADcDaCAERAAAAAAAAPC/OQNwIAREAAAAAAAAAAA5A3ggCSsDGCELIAkrAzghAiAJKwNYIQFBACEGA0AgBkEERg0BIAZBBXQgBGorAwAhDCAGQQV0IARqIQUgBkEFdCAEaiEAQQAhBwNAIAdBA0cEQCAGIAdBAnRqQQN0IANqIAwgB0EDdCAJaisDAKIgBSsDCCAJQSBqIAdBA3RqKwMAoqAgACsDECAJQUBrIAdBA3RqKwMAoqA5AwAgB0EBaiEHDAELCyAGQQxqQQN0IANqIAZBBXQgBGorAxggDCALoiAFKwMIIAKioCAAKwMQIAGioKA5AwAgBkEBaiEGDAAACwALCyAEJAYL4hMCEH8BfCMGIRMjBkEQaiQGIBMhDyAEKAIAIgghByABIAJBf2oiEGxBAXQgCGohBQNAIAwgAUgEQCAFQQA7AQAgB0EAOwEAIAdBAmohByAFQQJqIQUgDEEBaiEMDAELCyAIIQcgAUF/aiIRQQF0IAhqIQVBACEMA0AgDCACSARAIAVBADsBACAHQQA7AQAgAUEBdCAHaiEHIAFBAXQgBWohBSAMQQFqIQwMAQsLIARBkIDIAGohB0EAIAFrIRIgACABQQFqIgBqIQ5BASENQQAhBSAAIAQoAgRqIQwgAEEBdCAIaiEIAn8CQANAAkAgDSAQTg0CIAUhAEEBIQoDQCAKIBFIBEAgDi0AACADSgRAIAhBADsBACAMQQA6AAAFAkAgDEF/OgAAIBJBAXQgCGoiBS4BACIGQQBKBEAgCCAGOwEAIAZBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAogBigCAGo2AgAgBUECdCAEakH8/88AaiIGIA0gBigCAGo2AgAgBUECdCAEakGMgNAAaiANNgIADAELIAVBfmouAQAiBiEJIAZBAEohCyAFLgECIgVBAEwEQCALBEAgCCAGOwEAIAlBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAogBigCAGo2AgAgBUECdCAEakH8/88AaiIGIA0gBigCAGo2AgAgBUECdCAEakGEgNAAaiIGKAIAIApIBEAgBiAKNgIACyAFQQJ0IARqQYyA0ABqIA02AgAMAgsgCEF+ai4BACIFQQBKBEAgCCAFOwEAIAVBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAogBigCAGo2AgAgBUECdCAEakH8/88AaiIGIA0gBigCAGo2AgAgBUECdCAEakGEgNAAaiIFKAIAIApODQIgBSAKNgIABSAAQf//AUoNBiAIIABBAWoiBTsBACAEQZCAyABqIABBAnRqIAVBEHRBEHU2AgAgBEGQgNAAaiAAQQdsIgBBAnRqQQE2AgAgAEECdCAEakGUgNAAaiAKNgIAIABBAnQgBGpBmIDQAGogDTYCACAAQQJ0IARqQZyA0ABqIAo2AgAgAEECdCAEakGggNAAaiAKNgIAIABBAnQgBGpBpIDQAGogDTYCACAAQQJ0IARqQaiA0ABqIA02AgAgBSEACwwBCyALBEACQCAFQQJ0IARqQYyAyABqKAIAIgUgCUECdCAEakGMgMgAaigCACIGSgRAIAggBjsBACAHIQlBACELA0AgCyAATgRAIAYhBQwDCyAFIAkoAgBGBEAgCSAGNgIACyAJQQRqIQkgC0EBaiELDAAACwAFIAggBTsBACAFIAZIBEAgByEJQQAhCwNAIAsgAE4NAyAGIAkoAgBGBEAgCSAFNgIACyAJQQRqIQkgC0EBaiELDAAACwALCwsgBUEQdEEQdUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCiAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgDSAGKAIAajYCACAFQQJ0IARqQYyA0ABqIA02AgAMAQsgCEF+ai4BACIGQQBMBEAgCCAFOwEAIAVBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAogBigCAGo2AgAgBUECdCAEakH8/88AaiIGIA0gBigCAGo2AgAgBUECdCAEakGAgNAAaiIGKAIAIApKBEAgBiAKNgIACyAFQQJ0IARqQYyA0ABqIA02AgAMAQsCQCAFQQJ0IARqQYyAyABqKAIAIgUgBkECdCAEakGMgMgAaigCACIGSgRAIAggBjsBACAHIQlBACELA0AgCyAATgRAIAYhBQwDCyAFIAkoAgBGBEAgCSAGNgIACyAJQQRqIQkgC0EBaiELDAAACwAFIAggBTsBACAFIAZIBEAgByEJQQAhCwNAIAsgAE4NAyAGIAkoAgBGBEAgCSAFNgIACyAJQQRqIQkgC0EBaiELDAAACwALCwsgBUEQdEEQdUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCiAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgUgDSAFKAIAajYCAAsLIA5BAWohDiAMQQFqIQwgCkEBaiEKIAhBAmohCAwBCwsgDkECaiEOIA1BAWohDSAAIQUgDEECaiEMIAhBBGohCAwBCwtBAEEDQailASAPED1BfwwBCyAEQQxqIQxBASEAQQEhCANAIAggBUwEQCAIIAcoAgAiBkYEQCAAQQFqIQMFIAAhAyAGQQJ0IARqQYyAyABqKAIAIQALIAcgADYCACADIQAgCEEBaiEIIAdBBGohBwwBCwsgBCAAQX9qIgA2AgggAAR/IAxBACAAQQJ0EEUaIARBkIAoakEAIABBBHQQRRpBACEDA0AgAyAASARAIARBjIAIaiADQQJ0IgdBAnRqIAE2AgAgBEGMgAhqIAdBAXJBAnRqQQA2AgAgBEGMgAhqIAdBAnJBAnRqIAI2AgAgBEGMgAhqIAdBA3JBAnRqQQA2AgAgA0EBaiEDDAELC0EAIQEDQCABIAVIBEAgBEEMaiAEQZCAyABqIAFBAnRqKAIAQX9qIgJBAnRqIgMgBEGQgNAAaiABQQdsIgBBAnRqKAIAIAMoAgBqNgIAIARBkIAoaiACQQF0IgNBA3RqIgcgBysDACAAQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIANBAXJBA3RqIgMgAysDACAAQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiAygCACAAQQJ0IARqQZyA0ABqKAIAIgdKBEAgAyAHNgIACyAEQYyACGogAkEBckECdGoiAygCACAAQQJ0IARqQaCA0ABqKAIAIgdIBEAgAyAHNgIACyAEQYyACGogAkECckECdGoiAygCACAAQQJ0IARqQaSA0ABqKAIAIgdKBEAgAyAHNgIACyAEQYyACGogAkEDckECdGoiAigCACAAQQJ0IARqQaiA0ABqKAIAIgBIBEAgAiAANgIACyABQQFqIQEMAQsLIAQoAgghAUEAIQADfyAAIAFIBH8gBEGQgChqIABBAXQiAkEDdGoiAyADKwMAIARBDGogAEECdGooAgC3IhWjOQMAIARBkIAoaiACQQFyQQN0aiICIAIrAwAgFaM5AwAgAEEBaiEADAEFQQALCwVBAAsLIRQgDyQGIBQL6AUCCn8BfCMGIQQjBkGAAmokBiAEQfgBaiEIIARB8AFqIQogBEHoAWohDCAEQeABaiEFIARB2AFqIQsgBEHQAWohByAEQcgBaiEJIARBEGohAyAAQQBHIAFBAEdxBEACQCAAQYi5ARCwASIGRQRAIAlBpMUDKAIANgIAIAkgADYCBEEAQQNBs6oBIAkQPUGkxQMoAgAQvQEhACAHQafVAzYCACAHIAA2AgRBAEEDQaW2ASAHED1BfyEADAELIAZBAEECEPQBIAYoAkwaIAYoAgBBBXZBAXEEQCALQaTFAygCADYCAEEAQQNB+KoBIAsQPUGkxQMoAgAQvQEhACAFQafVAzYCACAFIAA2AgRBAEEDQaW2ASAFED1BfyEABQJAIAYQ+AIhByAGEPkCQQAhAAJAAkADfyAAQQRPDQEgAEEBaiEFIAcgAEEDdEGkFWooAgAiABBPBH8gBSEADAEFIAULCyEFDAELIABBBEYEf0EAQQNBpasBIAwQPUF/IQAMAgVBACEFQaQVKAIACyEACyADIABBASAGEGFBAUcEQCAKQaTFAygCADYCAEEAQQNB9asBIAoQPUGkxQMoAgAQvQEhACAIQafVAzYCACAIIAA2AgRBAEEDQaW2ASAIED1BfyEADAELIAMgBTYCsAEgAxDYBCAFQQFGIgcEQCADKwN4IQ0gAyADQYABaiIAKwMAOQN4IAMgDTkDgAEFIANBgAFqIQALIAEgA0G4ARBMGiAEIAI2AgBBASECA0AgAkEBTgRAQQAhAAwCCyAEKAIAQQNqQXxxIgkoAgAhCCAEIAlBBGo2AgAgCCABKAKwATYCsAEgAyABKAKwAUEDdEGcFWooAgBBASAGEGFBAUcEQEF/IQAMAgsgAyAFNgKwASADENgEIAcEQCADKwN4IQ0gAyAAKwMAOQN4IAAgDTkDAAsgCCADQbgBEEwaIAJBAWohAgwAAAsACwsgBhBqCwVBfyEACyAEJAYgAAuTAQEEfwNAAkAgBCACTg0AIAAoAhgiAyAAKAIcIgVJBH8gAyABIAIgBGsiBiAFIANrQQJ1IgMgBiADSBsiAxCnASAAIAAoAhggA0ECdGo2AhggAyAEaiEEIANBAnQgAWoFIAAgASgCACAAKAIAKAI0QT9xQYoBahECAEF/Rg0BIARBAWohBCABQQRqCyEBDAELCyAECzMAIAAgACgCACgCJEH/AHFBCGoRAABBf0YEf0F/BSAAIAAoAgwiAEEEajYCDCAAKAIACwuUAQEEfwNAAkAgBCACTg0AIAAoAgwiAyAAKAIQIgVJBH8gASADIAIgBGsiBiAFIANrQQJ1IgMgBiADSBsiAxCnASAAIAAoAgwgA0ECdGo2AgwgA0ECdCABagUgACAAKAIAKAIoQf8AcUEIahEAACIDQX9GDQEgASADNgIAQQEhAyABQQRqCyEBIAMgBGohBAwBCwsgBAuQAQEEfwNAAkAgBCACTg0AIAAoAhgiAyAAKAIcIgVJBH8gAyABIAIgBGsiBiAFIANrIgMgBiADSBsiAxCoASAAIAMgACgCGGo2AhggAyAEaiEEIAEgA2oFIAAoAgAoAjQhAyAAIAEsAAAQQiADQT9xQYoBahECAEF/Rg0BIARBAWohBCABQQFqCyEBDAELCyAECzUAIAAgACgCACgCJEH/AHFBCGoRAABBf0YEf0F/BSAAIAAoAgwiAEEBajYCDCAALAAAEEILC40BAQR/A0ACQCAEIAJODQAgACgCDCIDIAAoAhAiBUkEfyABIAMgAiAEayIGIAUgA2siAyAGIANIGyIDEKgBIAAgAyAAKAIMajYCDCABIANqBSAAIAAoAgAoAihB/wBxQQhqEQAAIgNBf0YNASABIAMQQjoAAEEBIQMgAUEBagshASADIARqIQQMAQsLIAQLCwAgABCdAiAAEDgLSAECfyAAKAIoIQEDQCABBEAgACgCICABQX9qIgFBAnRqKAIAIQJBACAAIAAoAiQgAUECdGooAgAgAkEDcUH2BWoRBgAMAQsLCwQAQQALMwECfyMGIQEjBkEQaiQGIAEgADYCACABIAEoAgA2AgQgASgCBCgCBBCIAyECIAEkBiACCykBAX8jBiEAIwZBEGokBiAAQYuJAzYCAEGw+QBBByAAKAIAEAggACQGCykBAX8jBiEAIwZBEGokBiAAQeuIAzYCAEG4+QBBByAAKAIAEAggACQGCykBAX8jBiEAIwZBEGokBiAAQcyIAzYCAEHA+QBBBiAAKAIAEAggACQGCykBAX8jBiEAIwZBEGokBiAAQd6GAzYCAEHI+QBBBSAAKAIAEAggACQGCykBAX8jBiEAIwZBEGokBiAAQcCGAzYCAEHQ+QBBBCAAKAIAEAggACQGC+oFAQZ8An8CQAJAAkACQAJAAkAgBUEBaw4EAwIBAAQLIAArAwAgASAAKwMwIgihIABBQGsrAwAiBqIgACsDICIJoyIBIAGiIAIgACsDOCIKoSAGoiAAKwMoIgujIgIgAqKgIgaiRAAAAAAAAPA/oCAGIAArAwggBqKioCEHIAMgCCAJIAArAxgiCCAGIAEgAUQAAAAAAAAAQKKioKIgAiAAKwMQIglEAAAAAAAAAECiIAGioiABIAeioKCioDkDACAKIAsgAiAIRAAAAAAAAABAoiABoqIgCSAGIAIgAkQAAAAAAAAAQKKioKIgAiAHoqCgoqAhAQwECyABIAArAwAiBqEgACsDECIHoiIBRAAAAAAAAAAAYSAHIAIgACsDCKGiIgJEAAAAAAAAAABhcQR8IAMgBjkDACAAKwMIBSADIAYgACsDGCABRAAAAAAAAPA/IAEgAaIgAiACoqAiASAAKwMgRAAAAACE15dBo6KhIAEgASAAKwMoRAAAAACE15dBo0QAAAAAAGr4QKOioqEiAaKioDkDACAAKwMIIAIgAaKgCyEBDAMLIAEgACsDACIGoSAAKwMQIgeiIgFEAAAAAAAAAABhIAcgAiAAKwMIoaIiAkQAAAAAAAAAAGFxBHwgAyAGOQMAIAArAwgFIAMgBiABRAAAAAAAAPA/IAEgAaIgAiACoqAiASAAKwMYRAAAAACE15dBo6KhIAEgASAAKwMgRAAAAACE15dBo0QAAAAAAGr4QKOioqEiAaKgOQMAIAArAwggAiABoqALIQEMAgsgASAAKwMAIgahIAArAxAiB6IiAUQAAAAAAAAAAGEgByACIAArAwihoiICRAAAAAAAAAAAYXEEfCADIAY5AwAgACsDCAUgAyAGIAFEAAAAAAAA8D8gASABoiACIAKioCAAKwMYRAAAAACE15dBo6KhIgGioDkDACAAKwMIIAIgAaKgCyEBDAELQX8MAQsgBCABOQMAQQALGgspAQF/IwYhACMGQRBqJAYgAEHMhAM2AgBBiPoAQQAgACgCABAIIAAkBgspAQF/IwYhACMGQRBqJAYgAEHdgwM2AgBBmPkAIAAoAgBBCBAWIAAkBgspAQF/IwYhACMGQRBqJAYgAEHXgwM2AgBBkPkAIAAoAgBBBBAWIAAkBgstAQF/IwYhACMGQRBqJAYgAEHJgwM2AgBBiPkAIAAoAgBBBEEAQX8QCiAAJAYLNQEBfyMGIQAjBkEQaiQGIABBxIMDNgIAQYD5ACAAKAIAQQRBgICAgHhB/////wcQCiAAJAYLLQEBfyMGIQAjBkEQaiQGIABBt4MDNgIAQfj4ACAAKAIAQQRBAEF/EAogACQGCzUBAX8jBiEAIwZBEGokBiAAQbODAzYCAEHw+AAgACgCAEEEQYCAgIB4Qf////8HEAogACQGCy8BAX8jBiEAIwZBEGokBiAAQaSDAzYCAEHo+AAgACgCAEECQQBB//8DEAogACQGCzEBAX8jBiEAIwZBEGokBiAAQZ6DAzYCAEHg+AAgACgCAEECQYCAfkH//wEQCiAAJAYLLgEBfyMGIQAjBkEQaiQGIABBkIMDNgIAQdD4ACAAKAIAQQFBAEH/ARAKIAAkBgsvAQF/IwYhACMGQRBqJAYgAEGEgwM2AgBB2PgAIAAoAgBBAUGAf0H/ABAKIAAkBgsvAQF/IwYhACMGQRBqJAYgAEH/ggM2AgBByPgAIAAoAgBBAUGAf0H/ABAKIAAkBgsfAQF/IwYhACMGQRBqJAYgAEGm1QM2AgAQ4AQgACQGCwYAQeDFAwsGAEHcxQMLBgBB1MUDCwgAQeTFAxA2C3ABAn8gACABKAIIQQAQgQEEQCABIAIgAxDzAgUCQCAAQRBqIAAoAgwiBEEDdGohBSAAQRBqIAEgAiADEOEEIARBAUoEQCAAQRhqIQADQCAAIAEgAiADEOEEIAEsADYNAiAAQQhqIgAgBUkNAAsLCwsLxQQBA38gACABKAIIIAQQgQEEQCABIAIgAxDyAgUCQCAAIAEoAgAgBBCBAUUEQCAAKAIMIQUgAEEQaiABIAIgAyAEEJ4CIAVBAUwNASAAQRBqIAVBA3RqIQYgAEEYaiEFIAAoAggiAEECcUUEQCABKAIkQQFHBEAgAEEBcUUEQANAIAEsADYNBSABKAIkQQFGDQUgBSABIAIgAyAEEJ4CIAVBCGoiBSAGSQ0ADAUACwALA0AgASwANg0EIAEoAiRBAUYEQCABKAIYQQFGDQULIAUgASACIAMgBBCeAiAFQQhqIgUgBkkNAAsMAwsLA0AgASwANg0CIAUgASACIAMgBBCeAiAFQQhqIgUgBkkNAAsMAQsgASgCECACRwRAIAEoAhQgAkcEQCABIAM2AiAgASgCLEEERwRAIABBEGogACgCDEEDdGohB0EAIQMgAEEQaiEGIAECfwJAA0ACQCAGIAdPDQAgAUEAOgA0IAFBADoANSAGIAEgAiACQQEgBBDvAiABLAA2DQAgASwANQRAAkAgASwANEUEQCAAKAIIQQFxBEBBASEFDAIFDAYLAAsgASgCGEEBRgRAQQEhAwwFCyAAKAIIQQJxBH9BASEFQQEFQQEhAwwFCyEDCwsgBkEIaiEGDAELCyAFBH8MAQVBBAsMAQtBAws2AiwgA0EBcQ0DCyABIAI2AhQgASABKAIoQQFqNgIoIAEoAiRBAUcNAiABKAIYQQJHDQIgAUEBOgA2DAILCyADQQFGBEAgAUEBNgIgCwsLC/QCAQl/IAAgASgCCCAFEIEBBEAgASACIAMgBBDxAgUgASwANCEOIAEsADUhBiAAQRBqIAAoAgwiB0EDdGohDCABQQA6ADQgAUEAOgA1IABBEGogASACIAMgBCAFEO8CIA4gASwANCILciEJIAYgASwANSIIciEGIAdBAUoEfwJ/IABBGGohCgN/IAZBAXEhByAJQQFxIQYgASwANgRAIAYhAiAHDAILIAtB/wFxBEAgASgCGEEBRgRAIAYhAiAHDAMLIAAoAghBAnFFBEAgBiECIAcMAwsFIAhB/wFxBEAgACgCCEEBcUUEQCAGIQIgBwwECwsLIAFBADoANCABQQA6ADUgCiABIAIgAyAEIAUQ7wIgBiABLAA0IgtyIQggByABLAA1Ig1yIQYgCkEIaiIHIAxJBH8gByEKIAghCSANIQgMAQUgCCECIAYLCwsFIAkhAiAGCyEAIAEgAkH/AXFBAEc6ADQgASAAQf8BcUEARzoANQsLCwAgACABQQAQgQELKQEBfyAAKAIAQXRqIgAoAgghASAAIAFBf2o2AgggAUEBSARAIAAQOAsLBwAgACgCBAtAAQF/IAAgASgCCEEAEIEBBEAgASACIAMQ8wIFIAAoAggiACgCACgCHCEEIAAgASACIAMgBEEfcUH6BWoRBwALC5gCAQJ/IAAgASgCCCAEEIEBBEAgASACIAMQ8gIFAkAgACABKAIAIAQQgQFFBEAgACgCCCIAKAIAKAIYIQUgACABIAIgAyAEIAVBP3FBmgZqEQUADAELIAEoAhAgAkcEQCABKAIUIAJHBEAgASADNgIgIAEoAixBBEcEQCABQQA6ADQgAUEAOgA1IAAoAggiACgCACgCFCEDIAAgASACIAJBASAEIANBB3FB2gZqEQwAIAEsADUEQCABLAA0RSEGIAFBAzYCLCAGRQ0EBSABQQQ2AiwLCyABIAI2AhQgASABKAIoQQFqNgIoIAEoAiRBAUcNAiABKAIYQQJHDQIgAUEBOgA2DAILCyADQQFGBEAgAUEBNgIgCwsLC0YBAX8gACABKAIIIAUQgQEEQCABIAIgAyAEEPECBSAAKAIIIgAoAgAoAhQhBiAAIAEgAiADIAQgBSAGQQdxQdoGahEMAAsLwAYCA38GfCMGIQQjBkHgAGokBgJAIAArA1hEAAAAAAAAAABmBEADQCAFQQNGDQJBACEDA0AgA0EERwRAIAVBBXQgBGogA0EDdGogBUEFdCAAaiADQQN0aisDADkDACADQQFqIQMMAQsLIAVBAWohBQwAAAsABQNAIAVBA0YNAkEAIQMDQCADQQRHBEAgBUEFdCAEaiADQQN0aiAFQQV0IABqIANBA3RqKwMAmjkDACADQQFqIQMMAQsLIAVBAWohBQwAAAsACwALQQAhAwNAIANBA0cEQEEAIQADQCAAQQRHBEAgA0EFdCABaiAAQQN0akQAAAAAAAAAADkDACAAQQFqIQAMAQsLIANBAWohAwwBCwsgASAEQUBrKwMAIgggBCsDSCIGIAQrA1AiChDwAiIHOQNQIAJBQGsiACAIIAejIgg5AwAgAiAGIAErA1CjIgY5A0ggAiAKIAErA1CjIgc5A1AgAiAEKwNYIAErA1CjOQNYIAEgCCAGIAcgBCsDICIIIAQrAygiBiAEKwMwIgcQ7gIiCTkDMCABIAggCSAAKwMAoqEiCiAGIAkgAisDSKKhIgggByAJIAIrA1CioSIGEPACIgc5AyggAiAKIAejOQMgIAIgCCABKwMoozkDKCACIAYgASsDKKM5AzAgASAAKwMAIAIrA0ggAisDUCAEKwMAIgggBCsDCCIGIAQrAxAiBxDuAiILOQMQIAEgAisDICACKwMoIAIrAzAgCCAGIAcQ7gIiCTkDCCABIAggCSACKwMgoqEgCyAAKwMAoqEiCiAGIAkgAisDKKKhIAsgAisDSKKhIgggByAJIAIrAzCioSALIAIrA1CioSIGEPACIgc5AwAgAiAKIAejOQMAIAIgCCABKwMAozkDCCACIAYgASsDAKM5AxAgAiAEKwM4IAErAzAgAisDWCIGoqEgASsDKKMiBzkDOCACIAQrAxggByABKwMIoqEgBiABKwMQoqEgASsDAKM5AxhBACEDA0AgA0EDRwRAQQAhAgNAIAJBA0cEQCADQQV0IAFqIAJBA3RqIgAgACsDACABKwNQozkDACACQQFqIQIMAQsLIANBAWohAwwBCwsgBCQGQQALGgAgACABKAIIQQAQgQEEQCABIAIgAxDzAgsLkwEAIAAgASgCCCAEEIEBBEAgASACIAMQ8gIFIAAgASgCACAEEIEBBEACQCABKAIQIAJHBEAgASgCFCACRwRAIAEgAzYCICABIAI2AhQgASABKAIoQQFqNgIoIAEoAiRBAUYEQCABKAIYQQJGBEAgAUEBOgA2CwsgAUEENgIsDAILCyADQQFGBEAgAUEBNgIgCwsLCwscACAAIAEoAgggBRCBAQRAIAEgAiADIAQQ8QILC9IBAQJ/IwYhAyMGQUBrJAYgACABQQAQgQEEf0EBBSABBH8gAUHA9wBBsPcAEOQEIgEEfyADIAE2AgAgA0EANgIEIAMgADYCCCADQX82AgwgA0IANwIQIANCADcCGCADQgA3AiAgA0IANwIoIANBADYCMCADQQA7ATQgA0EAOgA2IANBATYCMCABKAIAKAIcIQAgASADIAIoAgBBASAAQR9xQfoFahEHACADKAIYQQFGBH8gAiADKAIQNgIAQQEFQQALBUEACwVBAAsLIQQgAyQGIAQL3QEBBX8jBiEAIwZBMGokBiAAQRhqIQIgAEEQaiEBIABBJGohA0HMxQMoAgAiBARAIAJB9f8CNgIAQcP/AiACEJ8CIAMgBEHQAGo2AgAgBCgCACIEKAIEIQJBqPcAIAQgA0Go9wAoAgAoAhBBP3FBygFqEQQABEAgAygCACIBKAIAKAIIIQMgASADQf8AcUEIahEAACEBIABB9f8CNgIAIAAgAjYCBCAAIAE2AghB7f4CIAAQnwIFIAFB9f8CNgIAIAEgAjYCBEGa/wIgARCfAgsLQen/AiAAQSBqEJ8CC6cEAQJ8IAG3IAAoAgC3oyEEIAK3IAAoAgS3oyEFIAMgATYCACADIAI2AgRBACEBA0AgAUEERwRAIANBCGogAUEDdGogBCAAQQhqIAFBA3RqKwMAojkDACADQShqIAFBA3RqIAUgAEEoaiABQQN0aisDAKI5AwAgA0HIAGogAUEDdGogAEHIAGogAUEDdGorAwA5AwAgAUEBaiEBDAELCwJAAkACQAJAAkACQAJAIAAoArABIgFBAWsOBAMCAQAECyADIAArA2g5A2ggAyAAKwNwOQNwIAMgACsDeDkDeCADIAArA4ABOQOAASADIAQgACsDiAGiOQOIASADIAUgACsDkAGiOQOQASADIAQgACsDmAGiOQOYASADIAUgACsDoAGiOQOgASADIAArA6gBOQOoAQwECyADIAQgACsDaKI5A2ggAyAFIAArA3CiOQNwIAMgACsDeDkDeCADIAArA4ABOQOAASADIAArA4gBIAQgBaKjOQOIASADIAArA5ABIAUgBCAEoiAFoqKjOQOQAQwDCyADIAQgACsDaKI5A2ggAyAFIAArA3CiOQNwIAMgACsDeDkDeCADIAArA4ABIAQgBaKjOQOAASADIAArA4gBIAUgBCAEoiAFoqKjOQOIAQwCCyADIAQgACsDaKI5A2ggAyAFIAArA3CiOQNwIAMgACsDeDkDeCADIAArA4ABIAQgBaKjOQOAAQwBCwwBCyADIAE2ArABCwv7EwIRfwF8IwYhFCMGQRBqJAYgFCEQIAFBAhA5IQ0gAkECEDkhDyAEKAIAIgchAiANIA9Bf2oiEWxBAXQgB2ohBQNAIAsgDUgEQCAFQQA7AQAgAkEAOwEAIAJBAmohAiAFQQJqIQUgC0EBaiELDAELCyAHIQIgDUF/aiISQQF0IAdqIQVBACELA0AgCyAPSARAIAVBADsBACACQQA7AQAgDUEBdCACaiECIA1BAXQgBWohBSALQQFqIQsMAQsLIARBkIDIAGohAkEAIA1rIRMgACABQQF0QQJqaiEOQQEhDEEAIQUgDUEBaiIAIAQoAgRqIQsgAEEBdCAHaiEHAn8CQANAAkAgDCARTg0CIAUhAEEBIQkDQCAJIBJIBEAgDi0AACADSgRAIAdBADsBACALQQA6AAAFAkAgC0F/OgAAIBNBAXQgB2oiBS4BACIGQQBKBEAgByAGOwEAIAZBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAkgBigCAGo2AgAgBUECdCAEakH8/88AaiIGIAwgBigCAGo2AgAgBUECdCAEakGMgNAAaiAMNgIADAELIAVBfmouAQAiBiEIIAZBAEohCiAFLgECIgVBAEwEQCAKBEAgByAGOwEAIAhBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAkgBigCAGo2AgAgBUECdCAEakH8/88AaiIGIAwgBigCAGo2AgAgBUECdCAEakGEgNAAaiIGKAIAIAlIBEAgBiAJNgIACyAFQQJ0IARqQYyA0ABqIAw2AgAMAgsgB0F+ai4BACIFQQBKBEAgByAFOwEAIAVBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAkgBigCAGo2AgAgBUECdCAEakH8/88AaiIGIAwgBigCAGo2AgAgBUECdCAEakGEgNAAaiIFKAIAIAlODQIgBSAJNgIABSAAQf//AUoNBiAHIABBAWoiBTsBACAEQZCAyABqIABBAnRqIAVBEHRBEHU2AgAgBEGQgNAAaiAAQQdsIgBBAnRqQQE2AgAgAEECdCAEakGUgNAAaiAJNgIAIABBAnQgBGpBmIDQAGogDDYCACAAQQJ0IARqQZyA0ABqIAk2AgAgAEECdCAEakGggNAAaiAJNgIAIABBAnQgBGpBpIDQAGogDDYCACAAQQJ0IARqQaiA0ABqIAw2AgAgBSEACwwBCyAKBEACQCAFQQJ0IARqQYyAyABqKAIAIgUgCEECdCAEakGMgMgAaigCACIGSgRAIAcgBjsBACACIQhBACEKA0AgCiAATgRAIAYhBQwDCyAFIAgoAgBGBEAgCCAGNgIACyAIQQRqIQggCkEBaiEKDAAACwAFIAcgBTsBACAFIAZIBEAgAiEIQQAhCgNAIAogAE4NAyAGIAgoAgBGBEAgCCAFNgIACyAIQQRqIQggCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgYgDCAGKAIAajYCACAFQQJ0IARqQYyA0ABqIAw2AgAMAQsgB0F+ai4BACIGQQBMBEAgByAFOwEAIAVBB2wiBUECdCAEakH0/88AaiIGIAYoAgBBAWo2AgAgBUECdCAEakH4/88AaiIGIAkgBigCAGo2AgAgBUECdCAEakH8/88AaiIGIAwgBigCAGo2AgAgBUECdCAEakGAgNAAaiIGKAIAIAlKBEAgBiAJNgIACyAFQQJ0IARqQYyA0ABqIAw2AgAMAQsCQCAFQQJ0IARqQYyAyABqKAIAIgUgBkECdCAEakGMgMgAaigCACIGSgRAIAcgBjsBACACIQhBACEKA0AgCiAATgRAIAYhBQwDCyAFIAgoAgBGBEAgCCAGNgIACyAIQQRqIQggCkEBaiEKDAAACwAFIAcgBTsBACAFIAZIBEAgAiEIQQAhCgNAIAogAE4NAyAGIAgoAgBGBEAgCCAFNgIACyAIQQRqIQggCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIFQQJ0IARqQfT/zwBqIgYgBigCAEEBajYCACAFQQJ0IARqQfj/zwBqIgYgCSAGKAIAajYCACAFQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCAAsLIA5BAmohDiALQQFqIQsgCUEBaiEJIAdBAmohBwwBCwsgASAOakEEaiEOIAxBAWohDCAAIQUgC0ECaiELIAdBBGohBwwBCwtBAEEDQailASAQED1BfwwBCyAEQQxqIQdBASEAQQEhAwNAIAMgBUwEQCADIAIoAgAiC0YEQCAAQQFqIQEFIAAhASALQQJ0IARqQYyAyABqKAIAIQALIAIgADYCACABIQAgA0EBaiEDIAJBBGohAgwBCwsgBCAAQX9qIgA2AgggAAR/IAdBACAAQQJ0EEUaIARBkIAoakEAIABBBHQQRRpBACEBA0AgASAASARAIARBjIAIaiABQQJ0IgJBAnRqIA02AgAgBEGMgAhqIAJBAXJBAnRqQQA2AgAgBEGMgAhqIAJBAnJBAnRqIA82AgAgBEGMgAhqIAJBA3JBAnRqQQA2AgAgAUEBaiEBDAELC0EAIQEDQCABIAVIBEAgBEEMaiAEQZCAyABqIAFBAnRqKAIAQX9qIgJBAnRqIgMgBEGQgNAAaiABQQdsIgBBAnRqKAIAIAMoAgBqNgIAIARBkIAoaiACQQF0IgNBA3RqIgcgBysDACAAQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIANBAXJBA3RqIgMgAysDACAAQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiAygCACAAQQJ0IARqQZyA0ABqKAIAIgdKBEAgAyAHNgIACyAEQYyACGogAkEBckECdGoiAygCACAAQQJ0IARqQaCA0ABqKAIAIgdIBEAgAyAHNgIACyAEQYyACGogAkECckECdGoiAygCACAAQQJ0IARqQaSA0ABqKAIAIgdKBEAgAyAHNgIACyAEQYyACGogAkEDckECdGoiAigCACAAQQJ0IARqQaiA0ABqKAIAIgBIBEAgAiAANgIACyABQQFqIQEMAQsLIAQoAgghAUEAIQADfyAAIAFIBH8gBEGQgChqIABBAXQiAkEDdGoiAyADKwMAIARBDGogAEECdGooAgC3IhajOQMAIARBkIAoaiACQQFyQQN0aiICIAIrAwAgFqM5AwAgAEEBaiEADAEFQQALCwVBAAsLIRUgECQGIBULBAAjBgsbAQJ/IwYhAiAAIwZqJAYjBkEPakFwcSQGIAILC6GLA2EAQYAICxI2UwAAPVMAAElTAABTUwAAYVMAQaAIC9oT//////////8AAAAAAQAAAAEAAAABAAAAAAAAAP////8AAAAAAQAAAAEAAAABAAAAAAAAAP///////////////wAAAAEAAQEBAAIE//8FAwEAAv8GB/8DAQICAwIDAgMDAP8EBgcF/wEEBQQEBQUEBQcGBgYHBwcG/wIEBgcFA/8AAQEBAQEBAAEBAQAAAQEBAQEAAQEAAQEBAAEBAQEAAQEAAQEBAQABAQEAAQEAAQEBAQEAAAEBAQABAQEBAQEAAP//A/8FBv//CQr/DP//D/8REv8U//8XGP//G/8dHv//AQL/BP//Bwj//wv/DQ7/EP//E/8VFv//GRr/HP//HwEAAAACAAAABAAAAAgAAAAQAAAABQAAAAoAAAAUAAAADQAAABoAAAARAAAABwAAAA4AAAAcAAAAHQAAAB8AAAAbAAAAEwAAAAMAAAAGAAAADAAAABgAAAAVAAAADwAAAB4AAAAZAAAAFwAAAAsAAAAWAAAACQAAABIAAAAAAAAAAQAAAAIAAAAEAAAACAAAAAMAAAAGAAAADAAAAAsAAAAFAAAACgAAAAcAAAAOAAAADwAAAA0AAAAJAAAAAAAAAP////8AAAAAAQAAABIAAAACAAAABQAAABMAAAALAAAAAwAAAB0AAAAGAAAAGwAAABQAAAAIAAAADAAAABcAAAAEAAAACgAAAB4AAAARAAAABwAAABYAAAAcAAAAGgAAABUAAAAZAAAACQAAABAAAAANAAAADgAAABgAAAAPAAAA/////wAAAAABAAAABAAAAAIAAAAIAAAABQAAAAoAAAADAAAADgAAAAkAAAAHAAAABgAAAA0AAAALAAAADAAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAEAAAAADAAAABgAAAAwAAAAYAAAAMAAAAGAAAABDAAAABQAAAAoAAAAUAAAAKAAAAFAAAAAjAAAARgAAAA8AAAAeAAAAPAAAAHgAAABzAAAAZQAAAEkAAAARAAAAIgAAAEQAAAALAAAAFgAAACwAAABYAAAAMwAAAGYAAABPAAAAHQAAADoAAAB0AAAAawAAAFUAAAApAAAAUgAAACcAAABOAAAAHwAAAD4AAAB8AAAAewAAAHUAAABpAAAAUQAAACEAAABCAAAABwAAAA4AAAAcAAAAOAAAAHAAAABjAAAARQAAAAkAAAASAAAAJAAAAEgAAAATAAAAJgAAAEwAAAAbAAAANgAAAGwAAABbAAAANQAAAGoAAABXAAAALQAAAFoAAAA3AAAAbgAAAF8AAAA9AAAAegAAAHcAAABtAAAAWQAAADEAAABiAAAARwAAAA0AAAAaAAAANAAAAGgAAABTAAAAJQAAAEoAAAAXAAAALgAAAFwAAAA7AAAAdgAAAG8AAABdAAAAOQAAAHIAAABnAAAATQAAABkAAAAyAAAAZAAAAEsAAAAVAAAAKgAAAFQAAAArAAAAVgAAAC8AAABeAAAAPwAAAH4AAAB/AAAAfQAAAHkAAABxAAAAYQAAAEEAAAAAAAAA/////wAAAAABAAAABwAAAAIAAAAOAAAACAAAADgAAAADAAAAPwAAAA8AAAAfAAAACQAAAFoAAAA5AAAAFQAAAAQAAAAcAAAAQAAAAEMAAAAQAAAAcAAAACAAAABhAAAACgAAAGwAAABbAAAARgAAADoAAAAmAAAAFgAAAC8AAAAFAAAANgAAAB0AAAATAAAAQQAAAF8AAABEAAAALQAAABEAAAArAAAAcQAAAHMAAAAhAAAATQAAAGIAAAB1AAAACwAAAFcAAABtAAAAIwAAAFwAAABKAAAARwAAAE8AAAA7AAAAaAAAACcAAABkAAAAFwAAAFIAAAAwAAAAdwAAAAYAAAB+AAAANwAAAA0AAAAeAAAAPgAAABQAAABZAAAAQgAAABsAAABgAAAAbwAAAEUAAABrAAAALgAAACUAAAASAAAANQAAACwAAABeAAAAcgAAACoAAAB0AAAATAAAACIAAABWAAAATgAAAEkAAABjAAAAZwAAAHYAAABRAAAADAAAAH0AAABYAAAAPQAAAG4AAAAaAAAAJAAAAGoAAABdAAAANAAAAEsAAAApAAAASAAAAFUAAABQAAAAZgAAADwAAAB8AAAAaQAAABkAAAAoAAAAMwAAAGUAAABUAAAAGAAAAHsAAABTAAAAMgAAADEAAAB6AAAAeAAAAHkAAAAEAAAAiAAAAAUAAACQAAAABgAAAJgAAAAJAAAAsAAAAONZAADpWQAA7lkAAPZZAAAAAAAAsr65PhLcoL6Qvjk+EtygvpC+Ob4AAACAsr65vhLcoD6Qvjm+EtygPpC+OT7Schi/AAAAANJymL46BgS/0nKYPjoGBL/Schg/AAAAgNJymD46BgQ/0nKYvjoGBD8AAACAVrg9v2ZNJD9WuL2+Zk0kP1a4vT4AAAAAVrg9P2ZNJL9WuL0+Zk0kv1a4vb4M6Vg/AAAAgAzp2D6Z2Ts/DOnYvpnZOz8M6Vi/AAAAAAzp2L6Z2Tu/DOnYPpnZO78AAAAA/FNuP/FlTr8NVO4+8WVOvw1U7r4AAACA/FNuv/FlTj8NVO6+8WVOPw1U7j4AAIC/AAAAAAAAAL/Qs12/AAAAP9CzXb8AAIA/AAAAgAAAAD/Qs10/AAAAv9CzXT9wPAAAcDwAAHA8AABwPAAAjKwAAKKsAADCrAAA56wAAAGtAAAgrQAANa0AAFKtAAB8rQAAvK0AANutAADyrQAACK4AAByuAABZrgAAia4AAKWuAADIrgAA/64AADavAABNrwAAba8AAJevAADkrwAA/68AACqwAABGsAAAa7AAAJGwAAC2sAAAybAAAN6wAADxsAAABLEAACmxAAA+sQAAUrEAAHOxAACJsQAAuLEAAOCxAAABsgAAIrIAAFGyAABisgAAfrIAALyyAADjsgAACrMAAB6zAABMswAAdLMAAJCzAAC1swAA17MAAAG0AAAstAAASrQAAHi0AACgtAAAx7QAAPK0AAAftQAAT7UAAHm1AACmtQAAybUAAOe1AAAFtgAAO7YAAGW2AACEtgAAp7YAAM62AADjtgAA97YAACy3AAA8twAAercAALy3AADmtwAAErgAADm4AABVuAAAgLgAAJu4AACvuAAAxrgAANO4AAD7uAAAMLkAAGy5AACauQAAu7kAAOK5AAD7uQAAI7oAAEa6AABeugAAgroAAKe6AACtugAA5roAACC7AAA/uwAATrsAAGu7AACJuwAAprsAAL+7AADYuwAAGrwAAFS8AACKvAAAvrwAANK8AADpvAAAD70AADa9AAB4vQAAtL0AAOW9AAAJvgAAN74AAFK+AACKvgAAtb4AQYQcC70EAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAAwAAAAKQAAACIAAAAbAAAAFAAAAA0AAAAGAAAABwAAAA4AAAAVAAAAHAAAACMAAAAqAAAAMQAAADgAAAA5AAAAMgAAACsAAAAkAAAAHQAAABYAAAAPAAAAFwAAAB4AAAAlAAAALAAAADMAAAA6AAAAOwAAADQAAAAtAAAAJgAAAB8AAAAnAAAALgAAADUAAAA8AAAAPQAAADYAAAAvAAAANwAAAD4AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAADAAAAApAAAAIgAAABsAAAAUAAAADQAAAAYAAAAOAAAAFQAAABwAAAAjAAAAKgAAADEAAAAyAAAAKwAAACQAAAAdAAAAFgAAAB4AAAAlAAAALAAAADMAAAA0AAAALQAAACYAAAAuAAAANQAAADYAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AEHUIAvtAgEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAKQAAACIAAAAbAAAAFAAAAA0AAAAVAAAAHAAAACMAAAAqAAAAKwAAACQAAAAdAAAAJQAAACwAAAAtAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAwAAAATAAAAGgAAACEAAAAiAAAAGwAAABQAAAAcAAAAIwAAACQAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AEHUIwvdAQEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAABkAAAASAAAACwAAABMAAAAaAAAAGwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAAKAAAAEQAAABIAAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AEHEJQuUBAEAAAAIAAAACQAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAACBAR1aDgKGJRADFBESBAsIFAXYAxcG2gEZB+UAHAhvAB4JNgAhChoAIwsNAAkMBgAKDQMADA0BAI8Pf1okECU/JhHyLCcSfCAoE7kXKhSCESsV7wwtFqEJLhcvBzAYXAUxGQYEMxoDAzQbQAI2HLEBOB1EATke9QA7H7cAPCCKAD4haAA/Ik4AICM7ACEJLAClJeFaQCZMSEEnDTpDKPEuRCkfJkUqMx9GK6gZSCwYFUktdxFKLnQOSy/7C00w+AlOMWEITzIGBzAzzQUyNN4EMjUPBDM2YwM0N9QCNThcAjY5+AE3OqQBODtgATk8JQE6PfYAOz7LAD0/qwA9II8AwUESW1BCBE1RQyxBUkTYN1NF6C9URjwpVkd5I1dI3x5XSakaSEpOF0hLJBRKTJwRSk1rD0tOUQ1NT7YLTTBACtBRMlhYUhxNWVOOQ1pU3TtbVe40XFauLl1XmilWRxYl2FlwVV9aqUxgW9lEYVwiPmNdJDhjXrQyXVYXLt9gqFZlYUZPZmLlR2djz0FoZD08Y11eN2lmMVJqZw9Ma2g5RmdjXkHpaidWbGvnUG1nhUtubZdVb2tPUO5vEFpwbSJV8G/rWXFxHVoAQeEpC/ABQMVYn1NCSwBASTKjIqgRxVghe/xzYmjFWL9FCzB+GJ9T/HNBbVRin1OzQUEtEhdCS2JoVGJ+WEJLITu6KMMUAEDFWJ9TQksAQEkyoyKoEUkyv0WzQSE7STKCJzcb4A2jIgswQS26KKMiNxu/Eo4JqBF+GBIXwxSoEeANjgnfBAAAAAAAAPA/72FIsVAx9j/Kb02Rruf0P6oRbO9i0PI/AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAEHkKwudAQEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAQZQtC80CAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAEH0LwvQBAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AQdA0C8wBAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzTAEGkOgv5AwEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AQaDEAAv/AQIAAgACAAIAAgACAAIAAgACAAMgAiACIAIgAiACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgABYATABMAEwATABMAEwATABMAEwATABMAEwATABMAEwAjYCNgI2AjYCNgI2AjYCNgI2AjYBMAEwATABMAEwATABMAI1QjVCNUI1QjVCNUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFBMAEwATABMAEwATACNYI1gjWCNYI1gjWCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgTABMAEwATAAgBBpMwAC/kDAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAXgAAAF8AAABgAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=\";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw\"both async and sync fetching of the wasm failed\"}catch(A){JA(A)}}function uA(){return n||!i&&!o||\"function\"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:\"same-origin\"}).then((function(A){if(!A.ok)throw\"failed to load wasm binary file at '\"+fA+\"'\";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},\"global.Math\":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S(\"failed to asynchronously prepare wasm: \"+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S(\"Module.instantiateWasm callback failed with error: \"+A),!1}return function(){if(n||\"function\"!=typeof WebAssembly.instantiateStreaming||LA(fA)||\"function\"!=typeof fetch)return C(B);fetch(fA,{credentials:\"same-origin\"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S(\"wasm streaming compile failed: \"+A),S(\"falling back to ArrayBuffer instantiation\"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\\b__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+\" [\"+A+\"]\"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return\"(no stack trace available)\"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+=\"\\n\"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||\"./this.program\"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER=\"web_user\",jA.LOGNAME=\"web_user\",jA.PATH=\"/\",jA.PWD=\"/\",jA.HOME=\"/home/web_user\",jA.LANG=(\"object\"===(\"undefined\"==typeof navigator?\"undefined\":D(navigator))&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if(\"string\"==typeof jA[Q]){var E=Q+\"=\"+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},\"uncaught_exception\"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];\".\"===C?A.splice(B,1):\"..\"===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift(\"..\");return A},normalize:function(A){var I=\"/\"===A.charAt(0),g=\"/\"===A.substr(-1);return(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||I||(A=\".\"),A&&g&&(A+=\"/\"),(I?\"/\":\"\")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):\".\"},basename:function(A){if(\"/\"===A)return\"/\";var I=A.lastIndexOf(\"/\");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join(\"/\"))},join2:function(A,I){return BI.normalize(A+\"/\"+I)}},CI={resolve:function(){for(var A=\"\",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if(\"string\"!=typeof B)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!B)return\"\";A=B+\"/\"+A,I=\"/\"===B.charAt(0)}return(I?\"/\":\"\")+(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||\".\"},relative:function(A,I){function g(A){for(var I=0;I=0&&\"\"===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split(\"/\")),C=g(I.split(\"/\")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString(\"utf-8\"):null}else\"undefined\"!=typeof window&&\"function\"==typeof window.prompt?null!==(I=window.prompt(\"Input: \"))&&(I+=\"\\n\"):\"function\"==typeof readline&&null!==(I=readline())&&(I+=\"\\n\");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,\"/\",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!1),Q=iI.root,E=\"/\",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?\"/\"!==g[g.length-1]?g+\"/\"+I:g+I:g}I=I?A.name+\"/\"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,\"r+\":2,w:577,wx:705,xw:705,\"w+\":578,\"wx+\":706,\"xw+\":706,a:1089,ax:1217,xa:1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error(\"Unknown file open mode: \"+A);return I},flagsToPermissionString:function(A){var I=[\"r\",\"w\",\"rw\"][3&A];return 512&A&&(I+=\"w\"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf(\"r\")||292&A.mode)&&(-1===I.indexOf(\"w\")||146&A.mode)&&(-1===I.indexOf(\"x\")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,\"x\")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,\"wx\")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,\"wx\");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&(\"r\"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){\"function\"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S(\"warning: \"+iI.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C=\"/\"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||\".\"===C||\"..\"===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split(\"/\"),B=\"\",C=0;C\"})))},staticInit:function(){iI.ensureErrnoError(),iI.nameTable=new Array(4096),iI.mount(EI,{},\"/\"),iI.createDefaultDirectories(),iI.createDefaultDevices(),iI.createSpecialDirectories(),iI.filesystems={MEMFS:EI}},init:function(I,g,B){iI.init.initialized=!0,iI.ensureErrnoError(),A.stdin=I||A.stdin,A.stdout=g||A.stdout,A.stderr=B||A.stderr,iI.createStandardStreams()},quit:function(){iI.init.initialized=!1;var I=A._fflush;I&&I(0);for(var g=0;gthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open(\"HEAD\",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+A.status);var I,B=Number(A.getResponseHeader(\"Content-length\")),C=(I=A.getResponseHeader(\"Accept-Ranges\"))&&\"bytes\"===I,Q=(I=A.getResponseHeader(\"Content-Encoding\"))&&\"gzip\"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error(\"invalid range (\"+A+\", \"+I+\") or no bytes requested!\");if(I>B-1)throw new Error(\"only \"+B+\" bytes available! programmer error!\");var C=new XMLHttpRequest;if(C.open(\"GET\",g,!1),B!==E&&C.setRequestHeader(\"Range\",\"bytes=\"+A+\"-\"+I),\"undefined\"!=typeof Uint8Array&&(C.responseType=\"arraybuffer\"),C.overrideMimeType&&C.overrideMimeType(\"text/plain; charset=x-user-defined\"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||\"\",!0)}(I,C)),void 0===i.chunks[A])throw new Error(\"doXHR failed!\");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},\"undefined\"!=typeof XMLHttpRequest){if(!o)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return\"/\"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B=\"\";return 4&I&&(B+=\"r\"),2&I&&(B+=\"w\"),1&I&&(B+=\"x\"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA(\"bad ioctl syscall \"+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I=\"\",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return\"_unknown\";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,\"$\")).charCodeAt(0);return I>=JI&&I<=HI?\"_\"+A:A}function qI(A,I){return A=LI(A),new Function(\"body\",\"return function \"+A+'() {\\n \"use strict\"; return body.apply(this, arguments);\\n};\\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+\"\\n\"+g.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI(\"Mismatched type converter count\");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return\"null\";var I=D(A);return\"object\"===I||\"array\"===I||\"function\"===I?A.toString():\"\"+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError(\"Unknown float type: \"+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if(\"number\"!=typeof I&&\"boolean\"!=typeof I)throw new TypeError('Cannot convert \"'+_I(I)+'\" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError(\"new_ called with constructor type \"+D(A)+\" which is not a function\");var g=qI(A.name||\"unknownFunctionName\",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?\", \":\"\")+w),F+=(D?\"var rv = \":\"\")+\"invoker(fn\"+(w.length>0?\", \":\"\")+w+\");\\n\",i)F+=\"runDestructors(destructors);\\n\";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI(\"Replacing nonexistant public symbol\"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A[\"FUNCTION_TABLE_\"+I])B=A[\"FUNCTION_TABLE_\"+I][g];else if(\"undefined\"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A[\"dynCall_\"+I];void 0===C&&void 0===(C=A[\"dynCall_\"+I.replace(/f/g,\"d\")])&&lI(\"No dynCall invoker for signature: \"+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError(\"Unknown integer type: \"+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf(\"unsigned\");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if(\"number\"!=typeof g&&\"boolean\"!=typeof g)throw new TypeError('Cannot convert \"'+_I(g)+'\" to '+this.name);if(gC)throw new TypeError('Passing a number \"'+_I(g)+'\" from JS side to C/C++ side to an argument of type \"'+I+'\", which is outside the valid range ['+B+\", \"+C+\"]!\");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g=\"std::string\"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI(\"String has UTF-16 code units that do not fit in 8 bits\")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){\"string\"!=typeof B&&lI(\"Cannot pass non-string to C++ string type \"+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA(\"OOM\")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return I?I[1]:\"GMT\"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),\"longjmp\"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u(\"GMT\",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):\"\"},E=f(g),i={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var o in i)E=E.replace(new RegExp(o,\"g\"),i[o]);var D=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],a=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function w(A,I,g){for(var B=\"number\"==typeof A?A.toString():A||\"\";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={\"%a\":function(A){return D[A.tm_wday].substring(0,3)},\"%A\":function(A){return D[A.tm_wday]},\"%b\":function(A){return a[A.tm_mon].substring(0,3)},\"%B\":function(A){return a[A.tm_mon]},\"%C\":function(A){return F((A.tm_year+1900)/100|0,2)},\"%d\":function(A){return F(A.tm_mday,2)},\"%e\":function(A){return w(A.tm_mday,2,\" \")},\"%g\":function(A){return s(A).toString().substring(2)},\"%G\":function(A){return s(A)},\"%H\":function(A){return F(A.tm_hour,2)},\"%I\":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},\"%j\":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},\"%m\":function(A){return F(A.tm_mon+1,2)},\"%M\":function(A){return F(A.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(A){return A.tm_hour>=0&&A.tm_hour<12?\"AM\":\"PM\"},\"%S\":function(A){return F(A.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(A){return A.tm_wday||7},\"%U\":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?\"01\":\"00\"},\"%V\":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?\"53\":G(Q,E)<=0?\"01\":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?\"+\":\"-\")+String(\"0000\"+I).slice(-4)},\"%Z\":function(A){return A.tm_zone},\"%%\":function(){return\"%\"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,\"g\"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,\"BindingError\"),uI=A.InternalError=dI(Error,\"InternalError\"),jI(),Dg=A.UnboundTypeError=dI(Error,\"UnboundTypeError\");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,\"Character code \"+B+\" (\"+String.fromCharCode(B)+\") at offset \"+g+\" not in 0x00-0xFF.\"),B&=255),I.push(String.fromCharCode(B))}return I.join(\"\")}var Og=\"function\"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",o=\"\",D=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){A.setStatus(\"\")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for(\"function\"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:\"fetchRemoteData\",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:\"arraybuffer\"});case 3:return g=A.sent,A.abrupt(\"return\",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case\"end\":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:\"string2Uint8Data\",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:\"process\",value:function(A){var I=this.detectMarker(A);0!=I&&console.error(\"[ARController]\",\"detectMarker error:\",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:\"getMarker\",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:\"lostNFTMarker\",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:\"getMultiMarker\",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:\"dispatchEvent\",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:\"initWithDimensions\",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt(\"return\",I.sent);case 4:case\"end\":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:\"initWithImage\",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt(\"return\",i);case 7:case\"end\":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()}));\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n/*!***************************************************************!*\\\n !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***!\n \\***************************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsartoolkit */ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\");\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint-env worker */\n\nconst { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default());\nconst artoolkit = new ARToolkit();\n\nonmessage = function (e) {\n var msg = e.data;\n switch (msg.type) {\n case \"init\": {\n load(msg);\n return;\n }\n case \"process\": {\n next = msg.imagedata;\n process();\n return;\n }\n }\n};\n\nvar next = null;\n\nvar ar = null;\nvar markerResult = null;\n\nfunction load(msg) {\n var camUrl, nftMarkerUrl;\n var basePath = self.origin;\n console.log('base path:', basePath);\n // test if the msg.param (the incoming url) is an http or https path\n var regexC = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reC = regexC.test(msg.param);\n if (reC == true) {\n camUrl = msg.param;\n } else if (reC == false) {\n camUrl = basePath + '/' + msg.param;\n }\n var onLoad = function (arController) {\n ar = arController;\n var cameraMatrix = ar.getCameraMatrix();\n\n // after the ARController is set up, we load the NFT Marker\n var regexM = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reM = regexM.test(msg.marker);\n if (reM == true) {\n nftMarkerUrl = msg.marker;\n } else if (reM == false) {\n nftMarkerUrl = basePath + '/' + msg.marker;\n }\n ar.loadNFTMarker(nftMarkerUrl).then(function (markerId) {\n ar.trackNFTMarkerId(markerId);\n postMessage({ type: 'endLoading' })\n }).catch(function (err) {\n console.log('Error in loading marker on Worker', err)\n });\n\n // ...and we listen for event when marker has been found from camera\n ar.addEventListener('getNFTMarker', function (ev) {\n // let AR.js know that a NFT marker has been found, with its matrix for positioning\n markerResult = {\n type: 'found',\n matrix: JSON.stringify(ev.data.matrix),\n };\n });\n\n postMessage({ type: \"loaded\", proj: JSON.stringify(cameraMatrix) });\n };\n\n var onError = function (error) {\n console.error(\"Error while intizalizing arController\", error);\n };\n\n artoolkit.init().then(_ => {\n ARController.initWithDimensions(msg.pw, msg.ph, camUrl).then(onLoad).catch(onError);\n });\n}\n\nfunction process() {\n markerResult = null;\n\n if (ar && ar.process) {\n ar.process(next);\n }\n\n if (markerResult) {\n postMessage(markerResult);\n } else {\n postMessage({\n type: \"not found\",\n });\n }\n next = null;\n}\n\n})();\n\n/******/ })()\n;\n", "Worker", undefined, undefined); +} + + +/***/ }), + +/***/ "./node_modules/worker-loader/dist/runtime/inline.js": +/*!***********************************************************!*\ + !*** ./node_modules/worker-loader/dist/runtime/inline.js ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* eslint-env browser */ + +/* eslint-disable no-undef, no-use-before-define, new-cap */ +module.exports = function (content, workerConstructor, workerOptions, url) { + var globalScope = self || window; + + try { + try { + var blob; + + try { + // New API + blob = new globalScope.Blob([content]); + } catch (e) { + // BlobBuilder = Deprecated, but widely implemented + var BlobBuilder = globalScope.BlobBuilder || globalScope.WebKitBlobBuilder || globalScope.MozBlobBuilder || globalScope.MSBlobBuilder; + blob = new BlobBuilder(); + blob.append(content); + blob = blob.getBlob(); + } + + var URL = globalScope.URL || globalScope.webkitURL; + var objectURL = URL.createObjectURL(blob); + var worker = new globalScope[workerConstructor](objectURL, workerOptions); + URL.revokeObjectURL(objectURL); + return worker; + } catch (e) { + return new globalScope[workerConstructor]("data:application/javascript,".concat(encodeURIComponent(content)), workerOptions); + } + } catch (e) { + if (!url) { + throw Error("Inline worker is not supported"); + } -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|0}function rH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function DH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return} -function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} -function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 0}function rL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0} -function nw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function ow(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))rw(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function rw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function uw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function vw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function ww(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=yw(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=yw((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=yw(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=yw((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=yw((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=yw((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=yw(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=yw((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=yw((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=yw((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=yw((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=yw((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=yw((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=yw(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=yw(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=yw(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=yw(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function yw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=Bw(b)|0;c[g>>2]=e;f=Cw(b,84)|0;if(!f){Dw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Bw(a){a=a|0;return 0}function Cw(a,b){a=a|0;b=b|0;return FO(b)|0}function Dw(a){a=a|0;return}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Cw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Cw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Tw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Jw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Rw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;Sw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Tw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;Sw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Tw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Qw(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Pw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Ow(a){a=a|0;var b=0;Nw(a,1);Nw(a,0);b=a+4|0;Pw(a,c[b>>2]|0,84);c[b>>2]=0;Dw(a);return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function Tw(a,b){a=a|0;b=b|0;return FO(b)|0}function Uw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function Vw(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Aw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Ut(a);Xw(a);c[a+20>>2]=200;return}function Xw(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=yw(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=yw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=yw(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=yw(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=yw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){_w(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Zw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=yw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=yw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function $w(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function ax(a){a=a|0;Uw(a);return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=cx(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}Vw(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function dx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);Vw(a);a=1;return a|0}function ex(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function fx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);Uw(a);Ea(1)}function gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function hx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function ix(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function jx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|0}function Rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return} -function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} -function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|0}function Ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} -function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=115;c[d+12>>2]=83;c[d+16>>2]=47;c[d+20>>2]=33;c[d+24>>2]=116;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function Ot(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function Pt(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function Rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Tt(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function St(a){a=a|0;return}function Tt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Ut(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=117;c[d+4>>2]=84;c[d+8>>2]=85;c[d+28>>2]=86;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=86;c[d+104>>2]=0;c[d+40>>2]=86;c[d+108>>2]=0;c[d+44>>2]=86;c[d+112>>2]=0;c[d+48>>2]=86;c[d+116>>2]=0;c[d+52>>2]=86;c[d+120>>2]=0;c[d+56>>2]=86;c[d+124>>2]=0;c[d+60>>2]=86;c[d+128>>2]=0;c[d+64>>2]=86;c[d+132>>2]=0;c[d+68>>2]=86;c[d+136>>2]=0;c[d+72>>2]=86;c[d+140>>2]=0;c[d+76>>2]=86;c[d+144>>2]=0;c[d+80>>2]=86;c[d+148>>2]=0;c[d+84>>2]=86;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=86;c[d+160>>2]=0;c[d+32>>2]=87;c[d+88>>2]=87;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Vt(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Wt(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Tt(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!($t(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!($t(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!($t(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!($t(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!($t(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=au(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=Mt(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Xt(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Tt(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Yt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{_t(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function _t(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{cu(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function cu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=118;c[i+4>>2]=119;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}fu(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=gu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){hu(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;iu(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){ku(b);lu(b)}else ju(b);mu(b,c[b+108>>2]|0)}nu(b);if(!(c[b+228>>2]|0))pu(b);else ou(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;qu(b,d);if(!(c[e>>2]|0))ru(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function du(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function eu(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}xw(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(gu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function gu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function hu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=48;c[t+8>>2]=120;c[t+12>>2]=121;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;rw(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=49;c[e+12>>2]=122;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;gw(a);return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=123;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=124;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function lu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=125;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=yu(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=yu(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=126;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function ou(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=127;c[e+8>>2]=128;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=129;c[f+8>>2]=130;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=131;c[i+8>>2]=132;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=89;c[i+12>>2]=35;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=yu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=yu(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=88;c[i+12>>2]=34;c[i+16>>2]=b;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=51;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function wu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function xu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=36;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=34;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function yu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function Bu(a){a=a|0;return 0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function Du(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){Eu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?41:42;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Lu(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Lu(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?37:38):o?39:40;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Lu(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Lu(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Gu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Hu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Ou(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Pu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Ou(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Iu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Ou(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Pu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Ou(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Ju(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Ou(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function Ku(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Ou(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Pu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Ou(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Lu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Mu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Nu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Ou(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Ou(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=43;k=l;break}else{c[f>>2]=44;k=l;break}else if(e){c[f>>2]=45;k=l;break}else{c[f>>2]=46;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=47;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function Ru(a){a=a|0;return}function Su(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Tu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Xu(e,g)|0){r=36;break}j=h+1|0;if(!(Xu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Xu(e,i+4|0)|0)){i=g;h=j}else break}}k=Xu(e,l)|0;i=g+2|0;g=Xu(e,i)|0;if(g){if(Xu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Xu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Xu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Uu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Xu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Vu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Xu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Xu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Xu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Xu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0} -function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}function Wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;kl(b+4|0,e,96);return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} -function Wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Xu(e,h)|0)break b;j=g+1|0;if(!(Xu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Xu(e,i+4|0)|0)){i=h;g=j}else break}}k=Xu(e,s)|0;h=h+2|0;i=Xu(e,h)|0;if(i){if(Xu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Xu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Xu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Xu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Yu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Zu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function mv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function nv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function ov(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Gv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Hv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Iv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Jv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Nv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Ov(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}Qv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Pv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}Qv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function Rv(a){a=a|0;return}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Tv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Uv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Xv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function _v(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function $v(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function aw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{Qv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function cw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function dw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=134;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))gw(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=133;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function fw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function hw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;nw(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}nw(d,q);nw(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){mw(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function kw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){mw(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function lw(a){a=a|0;return}function mw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return} -function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function RO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function NP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function XP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} - -// EMSCRIPTEN_END_FUNCS -var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,ex,bu,FO,dx,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,Pt,Wt,Xt,Yt,Zt,zu,Bu,Yw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,bx,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Rt,Au,Cu,Du,Hu,Iu,Ju,Ku,Mu,Nu,Su,Tu,Uu,Vu,Wu,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,zw,Iq,Wq,Yq,Zq,dr,ht,Ys,Ew,Fw,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Gw,Hw,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,Lw,Mw,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Iw,Jw,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,ax,jr,Ot,St,Vt,du,eu,pw,qw,fw,$v,Rv,Jv,Yu,Qu,Ru,Fu,Gu,wu,xu,iw,lw,Kw,Ow,Zw,_w,$w,fx,hx,jx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,Nt,tr,wr,yr,Dr,Fr,Hr,Is,Qt,ow,ew,Fv,su,Nw,gx,ix,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Ww,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,bw,dw,Lv,Mv,Nv,Ov,Pv,tu,uu,vu,hw,jw,kw,sw,tw,uw,vw,ww,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Dv,Cv,Bv,Av,zv,yv,xv,wv,vv,uv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,Ev,_u,Zu,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,aw,cw,Kv,Gv,Hv,Iv,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) - - -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); - -// continuing 'workerRunner' function from treex-armarkercontrols-nft-start.js file - -this.onmessage = function (e) { - var msg = e.data; - switch (msg.type) { - case "init": { - load(msg); - return; - } - case "process": { - next = msg.imagedata; - process(); - return; - } - } -}; + // honor markers-page-resolution for https://webxr.io/augmented-website + if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ + // get resolutionW/resolutionH from url + var markerPageResolution = location.hash.substring(1) + var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) + console.assert(matches.length === 3) + var resolutionW = parseInt(matches[1]) + var resolutionH = parseInt(matches[2]) + var arContext = arSession.arContext + // generate and store the ARjsMultiMarkerFile + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) + } -var next = null; - -var ar = null; -var markerResult = null; - -function load(msg) { - var camUrl, nftMarkerUrl; - var basePath = self.origin; - console.log('base path:', basePath); - // test if the msg.param (the incoming url) is an http or https path - var regexC = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/igm - var reC = regexC.test(msg.param); - if (reC == true) { - camUrl = msg.param; - } else if (reC == false) { - camUrl = basePath + '/' + msg.param; - } - var onLoad = function () { - ar = new ARController(msg.pw, msg.ph, param); - var cameraMatrix = ar.getCameraMatrix(); - - // after the ARController is set up, we load the NFT Marker - var regexM = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)/igm - var reM = regexM.test(msg.marker); - if (reM == true) { - nftMarkerUrl = msg.marker; - } else if (reM == false) { - nftMarkerUrl = basePath + '/' + msg.marker; - } - ar.loadNFTMarker(nftMarkerUrl, function (markerId) { - ar.trackNFTMarkerId(markerId); - postMessage({ type: 'endLoading' }) - }, function (err) { - console.log('Error in loading marker on Worker', err) - }); + // if there is no ARjsMultiMarkerFile, build a default one + if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) + } - // ...and we listen for event when marker has been found from camera - ar.addEventListener('getNFTMarker', function (ev) { - // let AR.js know that a NFT marker has been found, with its matrix for positioning - markerResult = { - type: 'found', - matrix: JSON.stringify(ev.data.matrix), - }; - }); + // get multiMarkerFile from localStorage + console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) + var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') - postMessage({ type: "loaded", proj: JSON.stringify(cameraMatrix) }); - }; + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var parent3D = scene + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var parent3D = camera + }else console.assert(false) - var onError = function (error) { - console.error(error); - }; - console.log(msg.param); - // we cannot pass the entire ARController, so we re-create one inside the Worker, starting from camera_param - var param = new ARCameraParam(camUrl, onLoad, onError); -} + // build a multiMarkerControls + var multiMarkerControls = _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__.default.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) + this.controls = multiMarkerControls -function process() { - markerResult = null; + // honor markerParameters.changeMatrixMode + multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode - if (ar && ar.process) { - ar.process(next); - } +// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js + // create ArMarkerHelper - useful to debug - super three.js specific + var markerHelpers = [] + multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ + // add an helper to visuable each sub-marker + var markerHelper = new _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__.default(subMarkerControls) + markerHelper.object3d.visible = false + // subMarkerControls.object3d.add( markerHelper.object3d ) + subMarkerControls.object3d.add( markerHelper.object3d ) + // add it to markerHelpers + markerHelpers.push(markerHelper) + }) + // define API specific to markersArea + this.markersArea = {} + this.markersArea.setSubMarkersVisibility = function(visible){ + markerHelpers.forEach(function(markerHelper){ + markerHelper.object3d.visible = visible + }) + } + } - if (markerResult) { - postMessage(markerResult); - } else { - postMessage({ - type: "not found", - }); - } - next = null; -} - }; + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group() -function onMarkerFound(event) { - if (event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return - if (event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return + ////////////////////////////////////////////////////////////////////////////// + // THREEx.ArSmoothedControls + ////////////////////////////////////////////////////////////////////////////// - var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) - _this.updateWithModelViewMatrix(modelViewMatrix) -} -} -var THREEx = THREEx || {} + var shouldBeSmoothed = true -THREEx.ArMarkerHelper = function(markerControls){ - this.object3d = new THREE.Group + if( shouldBeSmoothed === true ){ + // build a smoothedControls + var smoothedRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(smoothedRoot) + var smoothedControls = new _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__.default(smoothedRoot) + smoothedRoot.add(this.object3d) + }else{ + markerRoot.add(this.object3d) + } - var mesh = new THREE.AxesHelper() - this.object3d.add(mesh) - var text = markerControls.id - // debugger - // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + this.update = function(){ + // update _this.object3d.visible + _this.object3d.visible = _this.object3d.parent.visible - var canvas = document.createElement( 'canvas' ); - canvas.width = 64; - canvas.height = 64; + // console.log('controlledObject.visible', _this.object3d.parent.visible) + if( smoothedControls !== undefined ){ + // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls + if( multiMarkerControls !== undefined ){ + multiMarkerControls.updateSmoothedControls(smoothedControls) + } - var context = canvas.getContext( '2d' ); - var texture = new THREE.CanvasTexture( canvas ); + // update smoothedControls + smoothedControls.update(markerRoot) + } + } +} - // put the text in the sprite - context.font = '48px monospace'; - context.fillStyle = 'rgba(192,192,255, 0.5)'; - context.fillRect( 0, 0, canvas.width, canvas.height ); - context.fillStyle = 'darkblue'; - context.fillText(text, canvas.width/4, 3*canvas.height/4 ) - texture.needsUpdate = true +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Anchor); - // var geometry = new THREE.CubeGeometry(1, 1, 1) - var geometry = new THREE.PlaneGeometry(1, 1) - var material = new THREE.MeshBasicMaterial({ - map: texture, - transparent: true - }); - var mesh = new THREE.Mesh(geometry, material) - mesh.rotation.x = -Math.PI/2 +/***/ }), - this.object3d.add(mesh) +/***/ "./three.js/src/new-api/arjs-debugui.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-debugui.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -} -var THREEx = THREEx || {} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "SessionDebugUI": () => (/* binding */ SessionDebugUI), +/* harmony export */ "AnchorDebugUI": () => (/* binding */ AnchorDebugUI) +/* harmony export */ }); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent /** - * - lerp position/quaternino/scale - * - minDelayDetected - * - minDelayUndetected - * @param {[type]} object3d [description] - * @param {[type]} parameters [description] + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user */ -THREEx.ArSmoothedControls = function(object3d, parameters){ - var _this = this - - THREEx.ArBaseControls.call(this, object3d) - - // copy parameters - this.object3d.visible = false - - this._lastLerpStepAt = null - this._visibleStartedAt = null - this._unvisibleStartedAt = null - - // handle default parameters - parameters = parameters || {} - this.parameters = { - // lerp coeficient for the position - between [0,1] - default to 1 - lerpPosition: 0.8, - // lerp coeficient for the quaternion - between [0,1] - default to 1 - lerpQuaternion: 0.2, - // lerp coeficient for the scale - between [0,1] - default to 1 - lerpScale: 0.7, - // delay for lerp fixed steps - in seconds - default to 1/120 - lerpStepDelay: 1/60, - // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds - minVisibleDelay: 0.0, - // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds - minUnvisibleDelay: 0.2, - } - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] - - if( newValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' parameter is undefined." ) - continue - } +const SessionDebugUI = function (arSession) { + var trackingBackend = arSession.arContext.parameters.trackingBackend - var currentValue = _this.parameters[ key ] + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.left = '5px' + this.domElement.style.bottom = '10px' + this.domElement.style.textAlign = 'right' - if( currentValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' is not a property of this material." ) - continue - } + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// - _this.parameters[ key ] = newValue - } - } + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.innerHTML = 'trackingBackend : ' + trackingBackend + this.domElement.appendChild(domElement) } - -THREEx.ArSmoothedControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -THREEx.ArSmoothedControls.prototype.constructor = THREEx.ArSmoothedControls; + +/** + * Url of augmented-website service - if === '' then dont include augmented-website link + * @type {String} + */ +SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' ////////////////////////////////////////////////////////////////////////////// -// update function +// AnchorDebugUI ////////////////////////////////////////////////////////////////////////////// -THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ - var object3d = this.object3d - var parameters = this.parameters - var wasVisible = object3d.visible - var present = performance.now()/1000 +/** + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user + */ +const AnchorDebugUI = function (arAnchor) { + var arSession = arAnchor.arSession + var trackingBackend = arSession.arContext.parameters.trackingBackend + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'inline-block' + this.domElement.style.padding = '0.5em' + this.domElement.style.margin = '0.5em' + this.domElement.style.textAlign = 'left' - ////////////////////////////////////////////////////////////////////////////// - // handle object3d.visible with minVisibleDelay/minUnvisibleDelay - ////////////////////////////////////////////////////////////////////////////// - if( targetObject3d.visible === false ) this._visibleStartedAt = null - if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// - if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present - if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.style.padding = '0.5em' + domElement.style.color = 'rgba(0,0,0,0.9)' + domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + domElement.style.position = 'fixed' + domElement.style.left = '5px' + domElement.style.bottom = '40px' - if( wasVisible === false && targetObject3d.visible === true ){ - var visibleFor = present - this._visibleStartedAt - if( visibleFor >= this.parameters.minVisibleDelay ){ - object3d.visible = true - snapDirectlyToTarget() - } - // console.log('visibleFor', visibleFor) - } + this.domElement.appendChild(domElement) + domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled - if( wasVisible === true && targetObject3d.visible === false ){ - var unvisibleFor = present - this._unvisibleStartedAt - if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ - object3d.visible = false - } - } - - ////////////////////////////////////////////////////////////////////////////// - // apply lerp on positon/quaternion/scale - ////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // toggle-marker-helper + ////////////////////////////////////////////////////////////////////////////// - // apply lerp steps - require fix time steps to behave the same no matter the fps - if( this._lastLerpStepAt === null ){ - applyOneSlerpStep() - this._lastLerpStepAt = present - }else{ - var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) - for(var i = 0; i < nStepsToDo; i++){ - applyOneSlerpStep() - this._lastLerpStepAt += this.parameters.lerpStepDelay - } - } + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.textAlign = 'left' + this.domElement.appendChild(domElement) - // disable the lerp by directly copying targetObject3d position/quaternion/scale - if( false ){ - snapDirectlyToTarget() - } - - // update the matrix - this.object3d.updateMatrix() - - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible/becameUnVisible event - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible event - if( wasVisible === false && object3d.visible === true ){ - this.dispatchEvent({ type: 'becameVisible' }) - } - // honor becameUnVisible event - if( wasVisible === true && object3d.visible === false ){ - this.dispatchEvent({ type: 'becameUnVisible' }) - } - return + domElement.id = 'buttonToggleMarkerHelpers' + domElement.innerHTML = 'toggle-marker-helper' + domElement.href = 'javascript:void(0)' - function snapDirectlyToTarget(){ - object3d.position.copy( targetObject3d.position ) - object3d.quaternion.copy( targetObject3d.quaternion ) - object3d.scale.copy( targetObject3d.scale ) - } - - function applyOneSlerpStep(){ - object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) - object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) - object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + var subMarkerHelpersVisible = false + domElement.addEventListener('click', function () { + subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true + arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) + }) + } -ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) { - var _this = this + ////////////////////////////////////////////////////////////////////////////// + // Learn-new-marker-area + ////////////////////////////////////////////////////////////////////////////// - _this._updatedAt = null + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - // handle default parameters - this.parameters = { - // AR backend - ['artoolkit'] - trackingBackend: 'artoolkit', - // debug - true if one should display artoolkit debug canvas, false otherwise - debug: false, - // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] - detectionMode: 'mono', - // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] - matrixCodeType: '3x3', + domElement.id = 'buttonMarkersAreaLearner' + domElement.innerHTML = 'Learn-new-marker-area' + domElement.href = 'javascript:void(0)' - // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', + domElement.addEventListener('click', function () { + if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { + var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL + } else { + var learnerURL = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + 'examples/multi-markers/examples/learner.html' + } + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.navigateToLearnerPage(learnerURL, trackingBackend) + }) + } - // tune the maximum rate of pose detection in the source image - maxDetectionRate: 60, - // resolution of at which we detect pose in the source image - canvasWidth: 640, - canvasHeight: 480, + ////////////////////////////////////////////////////////////////////////////// + // Reset-marker-area + ////////////////////////////////////////////////////////////////////////////// - // the patternRatio inside the artoolkit marker - artoolkit only - patternRatio: 0.5, + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - // Labeling mode for markers - ['black_region', 'white_region'] - // black_region: Black bordered markers on a white background, white_region: White bordered markers on a black background - labelingMode: 'black_region', + domElement.id = 'buttonMarkersAreaReset' + domElement.innerHTML = 'Reset-marker-area' + domElement.href = 'javascript:void(0)' - // enable image smoothing or not for canvas copy - default to true - // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled - imageSmoothingEnabled: false, + domElement.addEventListener('click', function () { + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.storeDefaultMultiMarkerFile(trackingBackend) + location.reload() + }) } - // parameters sanity check - console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) - console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - console.assert(["black_region", "white_region"].indexOf(this.parameters.labelingMode) !== -1, "invalid parameter labelingMode", this.parameters.labelingMode); - - this.arController = null; +} - _this.initialized = false +/** + * url for the markers-area learner. if not set, take the default one + * @type {String} + */ +AnchorDebugUI.MarkersAreaLearnerURL = null - this._arMarkersControls = [] - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") - continue - } +/***/ }), - var currentValue = _this.parameters[key] +/***/ "./three.js/src/new-api/arjs-hittesting.js": +/*!*************************************************!*\ + !*** ./three.js/src/new-api/arjs-hittesting.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") - continue - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../threex/threex-hittesting-plane */ "./three.js/src/threex/threex-hittesting-plane.js"); - _this.parameters[key] = newValue - } - } -} -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const HitTesting = function (arSession) { + var _this = this + var arContext = arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend -// default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; + this.enabled = true + this._arSession = arSession + this._hitTestingPlane = null + _this._hitTestingPlane = new _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__.default(arSession.arSource.domElement) +} +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// /** - * Create a default camera for this trackingBackend - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera + * update + * + * @param {THREE.Camera} camera - the camera to use + * @param {THREE.Object3D} object3d - */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { - console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); +HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { + // if it isnt enabled, do nothing + if (this.enabled === false) return + + + if (this._hitTestingPlane !== null) { + this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) } else console.assert(false) - return camera } - ////////////////////////////////////////////////////////////////////////////// -// init functions +// actual hit testing ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { - var _this = this - if (this.parameters.trackingBackend === 'artoolkit') { - this._initArtoolkit(done) - } else console.assert(false) - return - - function done() { - // dispatch event - _this.dispatchEvent({ - type: 'initialized' - }); - _this.initialized = true +/** + * Test the real world for intersections directly from a DomEvent + * + * @param {Number} mouseX - position X of the hit [-1, +1] + * @param {Number} mouseY - position Y of the hit [-1, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.testDomEvent = function (domEvent) { + var trackingBackend = this._arSession.arContext.parameters.trackingBackend + var arSource = this._arSession.arSource - onCompleted && onCompleted() - } + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + var mouseX = domEvent.clientX / arSource.domElementWidth() + var mouseY = domEvent.clientY / arSource.domElementHeight() + return this.test(mouseX, mouseY) } -//////////////////////////////////////////////////////////////////////////////// -// update function -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { - // be sure arController is fully initialized - if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; - - // honor this.parameters.maxDetectionRate - var present = performance.now() - if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { - return false - } - this._updatedAt = present - - // mark all markers to invisible before processing this frame - this._arMarkersControls.forEach(function (markerControls) { - if (!markerControls.context.arController.showObject) { - markerControls.object3d.visible = false - } - }) - - // process this frame - if (this.parameters.trackingBackend === 'artoolkit') { - this._updateArtoolkit(srcElement) - } else { - console.assert(false) - } +/** + * Test the real world for intersections. + * + * @param {Number} mouseX - position X of the hit [0, +1] + * @param {Number} mouseY - position Y of the hit [0, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.test = function (mouseX, mouseY) { + var arContext = this._arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend + var hitTestResults = [] - // dispatch event - this.dispatchEvent({ - type: 'sourceProcessed' - }); + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + var result = this._hitTestingPlane.test(mouseX, mouseY) - // return true as we processed the frame - return true; -} + // if no result is found, return now + if (result === null) return hitTestResults -//////////////////////////////////////////////////////////////////////////////// -// Add/Remove markerControls -//////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - this._arMarkersControls.push(arMarkerControls) -} + // build a HitTesting.Result + var hitTestResult = new HitTesting.Result(result.position, result.quaternion, result.scale) + hitTestResults.push(hitTestResult) -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); - console.assert(index !== index) - this._arMarkersControls.splice(index, 1) + return hitTestResults } ////////////////////////////////////////////////////////////////////////////// -// artoolkit specific +// HitTesting.Result ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { - var _this = this - - // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one - this._artoolkitProjectionAxisTransformMatrix = new THREE.Matrix4() - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationY(Math.PI)) - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationZ(Math.PI)) - - var onError = function(err) { - console.error(err); - }; - - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, - function () { - // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); - _this.arController = arController +/** + * Contains the result of HitTesting.test() + * + * @param {THREE.Vector3} position - position to use + * @param {THREE.Quaternion} quaternion - quaternion to use + * @param {THREE.Vector3} scale - scale + */ +HitTesting.Result = function (position, quaternion, scale) { + this.position = position + this.quaternion = quaternion + this.scale = scale +} - // honor this.parameters.imageSmoothingEnabled - arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.apply = function (object3d) { + object3d.position.copy(this.position) + object3d.quaternion.copy(this.quaternion) + object3d.scale.copy(this.scale) - // honor this.parameters.debug - if (_this.parameters.debug === true) { - arController.debugSetup(); - arController.canvas.style.position = 'absolute' - arController.canvas.style.top = '0px' - arController.canvas.style.opacity = '0.6' - arController.canvas.style.pointerEvents = 'none' - arController.canvas.style.zIndex = '-1' - } + object3d.updateMatrix() +} - // setPatternDetectionMode - var detectionModes = { - 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, - 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, - 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, - 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, - } - var detectionMode = detectionModes[_this.parameters.detectionMode] - console.assert(detectionMode !== undefined) - arController.setPatternDetectionMode(detectionMode); +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyPosition = function (object3d) { + object3d.position.copy(this.position) - // setMatrixCodeType - var matrixCodeTypes = { - '3x3': artoolkit.AR_MATRIX_CODE_3x3, - '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, - '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, - '4x4': artoolkit.AR_MATRIX_CODE_4x4, - '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, - '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, - } - var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] - console.assert(matrixCodeType !== undefined) - arController.setMatrixCodeType(matrixCodeType); + object3d.updateMatrix() - // set the patternRatio for artoolkit - arController.setPattRatio(_this.parameters.patternRatio); + return this +} - // set the labelingMode for artoolkit - var labelingModeTypes = { - "black_region": artoolkit.AR_LABELING_BLACK_REGION, - "white_region": artoolkit.AR_LABELING_WHITE_REGION - } - var labelingModeType = labelingModeTypes[_this.parameters.labelingMode]; - console.assert(labelingModeType !== undefined); - arController.setLabelingMode(labelingModeType); +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyQuaternion = function (object3d) { + object3d.quaternion.copy(this.quaternion) - // set thresholding in artoolkit - // this seems to be the default - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) - // adatative consume a LOT of cpu... - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + object3d.updateMatrix() - // notify - onCompleted() - }, - onError - ); return this } -/** - * return the projection matrix - */ -ARjs.Context.prototype.getProjectionMatrix = function () { - // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix - // keep a backward compatibility with a console.warn +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTesting); - console.assert(this.parameters.trackingBackend === 'artoolkit') - console.assert(this.arController, 'arController MUST be initialized to call this function') - // get projectionMatrixArr from artoolkit - var projectionMatrixArr = this.arController.getCameraMatrix(); - var projectionMatrix = new THREE.Matrix4().fromArray(projectionMatrixArr) +/***/ }), - // projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) +/***/ "./three.js/src/new-api/arjs-session.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-session.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return projectionMatrix -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { - this.arController.process(srcElement) -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + + // TODO context build-dependent /** - * ArToolkitProfile helps you build parameters for artoolkit - * - it is fully independent of the rest of the code - * - all the other classes are still expecting normal parameters - * - you can use this class to understand how to tune your specific usecase - * - it is made to help people to build parameters without understanding all the underlying details. + * * define a Session + * + * @param {Object} parameters - parameters for this session */ -ARjs.Profile = THREEx.ArToolkitProfile = function () { - this.reset() +const Session = function(parameters){ + var _this = this + // handle default parameters + this.parameters = { + renderer: null, + camera: null, + scene: null, + sourceParameters: {}, + contextParameters: {}, + } - this.performance('default') -} + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + if( newValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) + continue + } -ARjs.Profile.prototype._guessPerformanceLabel = function () { - var isMobile = navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) - ? true : false - if (isMobile === true) { - return 'phone-normal' - } - return 'desktop-normal' -} + var currentValue = _this.parameters[ key ] -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + if( currentValue === undefined ){ + console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) + continue + } -/** - * reset all parameters - */ -ARjs.Profile.prototype.reset = function () { - this.sourceParameters = { - // to read from the webcam - sourceType: 'webcam', - } + _this.parameters[ key ] = newValue + } + } + // sanity check + console.assert(this.parameters.renderer instanceof three__WEBPACK_IMPORTED_MODULE_0__.WebGLRenderer) + console.assert(this.parameters.camera instanceof three__WEBPACK_IMPORTED_MODULE_0__.Camera) + console.assert(this.parameters.scene instanceof three__WEBPACK_IMPORTED_MODULE_0__.Scene) - this.contextParameters = { - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - detectionMode: 'mono', - } - this.defaultMarkerParameters = { - type: 'pattern', - patternUrl: THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro', - changeMatrixMode: 'modelViewMatrix', - } - return this -}; -////////////////////////////////////////////////////////////////////////////// -// Performance -////////////////////////////////////////////////////////////////////////////// + // backward emulation + Object.defineProperty(this, 'renderer', {get: function(){ + console.warn('use .parameters.renderer renderer') + return this.parameters.renderer; + }}); + Object.defineProperty(this, 'camera', {get: function(){ + console.warn('use .parameters.camera instead') + return this.parameters.camera; + }}); + Object.defineProperty(this, 'scene', {get: function(){ + console.warn('use .parameters.scene instead') + return this.parameters.scene; + }}); + // log the version + console.log('AR.js', _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) -ARjs.Profile.prototype.performance = function (label) { + ////////////////////////////////////////////////////////////////////////////// + // init arSource + ////////////////////////////////////////////////////////////////////////////// + var arSource = _this.arSource = new _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__.default(parameters.sourceParameters) - if (label === 'default') { - label = this._guessPerformanceLabel() - } + arSource.init(function onReady(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - if (label === 'desktop-fast') { - this.contextParameters.canvasWidth = 640 * 3 - this.contextParameters.canvasHeight = 480 * 3 + // handle resize + window.addEventListener('resize', function(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'desktop-normal') { - this.contextParameters.canvasWidth = 640 - this.contextParameters.canvasHeight = 480 + ////////////////////////////////////////////////////////////////////////////// + // init arContext + ////////////////////////////////////////////////////////////////////////////// - this.contextParameters.maxDetectionRate = 60 - } else if (label === 'phone-normal') { - this.contextParameters.canvasWidth = 80 * 4 - this.contextParameters.canvasHeight = 60 * 4 + // create atToolkitContext + var arContext = _this.arContext = new _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default(parameters.contextParameters) - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'phone-slow') { - this.contextParameters.canvasWidth = 80 * 3 - this.contextParameters.canvasHeight = 60 * 3 + // initialize it + _this.arContext.init() - this.contextParameters.maxDetectionRate = 30 - } else { - console.assert(false, 'unknonwn label ' + label) - } - return this + arContext.addEventListener('initialized', function(event){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) + + ////////////////////////////////////////////////////////////////////////////// + // update function + ////////////////////////////////////////////////////////////////////////////// + // update artoolkit on every frame + this.update = function(){ + if( arSource.ready === false ) return + + arContext.update( arSource.domElement ) + } } -////////////////////////////////////////////////////////////////////////////// -// Marker -////////////////////////////////////////////////////////////////////////////// +Session.prototype.onResize = function () { + this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) +}; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Session); -ARjs.Profile.prototype.defaultMarker = function (trackingBackend) { - trackingBackend = trackingBackend || this.contextParameters.trackingBackend +/***/ }), - if (trackingBackend === 'artoolkit') { - this.contextParameters.detectionMode = 'mono' - this.defaultMarkerParameters.type = 'pattern' - this.defaultMarkerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro' - } else console.assert(false) +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - return this -} -////////////////////////////////////////////////////////////////////////////// -// Source -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.sourceWebcam = function () { - this.sourceParameters.sourceType = 'webcam' - delete this.sourceParameters.sourceUrl - return this -} - -ARjs.Profile.prototype.sourceVideo = function (url) { - this.sourceParameters.sourceType = 'video' - this.sourceParameters.sourceUrl = url - return this -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); -ARjs.Profile.prototype.sourceImage = function (url) { - this.sourceParameters.sourceType = 'image' - this.sourceParameters.sourceUrl = url - return this -} -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingBackend = function (trackingBackend) { - console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') - this.contextParameters.trackingBackend = trackingBackend - return this -} +const Utils = {}; -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.changeMatrixMode = function (changeMatrixMode) { - this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode - return this -} +/** + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingMethod = function (trackingMethod) { - var data = ARjs.Utils.parseTrackingMethod(trackingMethod) - this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled - this.contextParameters.trackingBackend = data.trackingBackend - return this + return camera } /** - * check if the profile is valid. Throw an exception is not valid + * parse tracking method + * + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method */ -ARjs.Profile.prototype.checkIfValid = function () { - return this +Utils.parseTrackingMethod = function (trackingMethod) { + + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } + + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.Source = THREEx.ArToolkitSource = function (parameters) { +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-context-nft.js": +/*!*************************************************!*\ + !*** ./three.js/src/threex/arjs-context-nft.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-markercontrols-nft */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); + +const Context = function (parameters, sourceParameters) { var _this = this - this.ready = false - this.domElement = null + _this._updatedAt = null // handle default parameters this.parameters = { - // type of source - ['webcam', 'image', 'video'] - sourceType: 'webcam', - // url of the source - valid if sourceType = image|video - sourceUrl: null, + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - // Device id of the camera to use (optional) - deviceId: null, + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', - // resolution of at which we initialize in the source image - sourceWidth: 640, - sourceHeight: 480, - // resolution displayed for the source - displayWidth: 640, - displayHeight: 480, + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, + + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, + + // Labeling mode for markers - ['black_region', 'white_region'] + // black_region: Black bordered markers on a white background, white_region: White bordered markers on a black background + labelingMode: 'black_region', + + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + console.assert(["black_region", "white_region"].indexOf(this.parameters.labelingMode) !== -1, "invalid parameter labelingMode", this.parameters.labelingMode); + + this.arController = null; + + _this.initialized = false + + + this._arMarkersControls = [] + ////////////////////////////////////////////////////////////////////////////// // setParameters ////////////////////////////////////////////////////////////////////////////// @@ -1507,14 +1456,14 @@ ARjs.Source = THREEx.ArToolkitSource = function (parameters) { var newValue = parameters[key] if (newValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' parameter is undefined.") + console.warn("Context: '" + key + "' parameter is undefined.") continue } var currentValue = _this.parameters[key] if (currentValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' is not a property of this material.") + console.warn("Context: '" + key + "' is not a property of this material.") continue } @@ -1523,1064 +1472,1049 @@ ARjs.Source = THREEx.ArToolkitSource = function (parameters) { } } -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.init = function (onReady, onError) { - var _this = this - - if (this.parameters.sourceType === 'image') { - var domElement = this._initSourceImage(onSourceReady, onError) - } else if (this.parameters.sourceType === 'video') { - var domElement = this._initSourceVideo(onSourceReady, onError) - } else if (this.parameters.sourceType === 'webcam') { - // var domElement = this._initSourceWebcamOld(onSourceReady) - var domElement = this._initSourceWebcam(onSourceReady, onError) - } else { - console.assert(false) - } - - // attach - this.domElement = domElement - this.domElement.style.position = 'absolute' - this.domElement.style.top = '0px' - this.domElement.style.left = '0px' - this.domElement.style.zIndex = '-2' - this.domElement.setAttribute('id', 'arjs-video'); - - return this - function onSourceReady() { - document.body.appendChild(_this.domElement); - window.dispatchEvent(new CustomEvent('arjs-video-loaded', { - detail: { - component: document.querySelector('#arjs-video'), - }, - })); +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; - _this.ready = true +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01'; - onReady && onReady() - } +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false) + return camera } -//////////////////////////////////////////////////////////////////////////////// -// init image source -//////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done) + } else console.assert(false) + return -ARjs.Source.prototype._initSourceImage = function (onReady) { - // TODO make it static - var domElement = document.createElement('img'); - domElement.src = this.parameters.sourceUrl; + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + _this.initialized = true - domElement.onload = onReady; - return domElement -} + onCompleted && onCompleted() + } +} //////////////////////////////////////////////////////////////////////////////// -// init video source +// update function //////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; -ARjs.Source.prototype._initSourceVideo = function (onReady) { - // TODO make it static - var domElement = document.createElement('video'); - domElement.src = this.parameters.sourceUrl; + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present - domElement.style.objectFit = 'initial'; + var prevVisibleMarkers = [] - domElement.autoplay = true; - domElement.webkitPlaysinline = true; - domElement.controls = false; - domElement.loop = true; - domElement.muted = true; + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + if (!markerControls.context.arController.showObject) { + markerControls.object3d.visible = false + } + }) + + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement) + } else { + console.assert(false) + } - // trick to trigger the video on android - document.body.addEventListener('click', function onClick() { - document.body.removeEventListener('click', onClick); - domElement.play() + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' }); - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) - domElement.onloadeddata = onReady; - return domElement + // return true as we processed the frame + return true; } //////////////////////////////////////////////////////////////////////////////// -// handle webcam source +// Add/Remove markerControls //////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} -ARjs.Source.prototype._initSourceWebcam = function (onReady, onError) { - var _this = this +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + // console.log('remove marker for', arMarkerControls) + var index = this.arMarkerControls.indexOf(artoolkitMarker); + console.assert(index !== index) + this._arMarkersControls.splice(index, 1) +} - // init default value - onError = onError || function (error) { - var event = new CustomEvent('camera-error', { error: error }); - window.dispatchEvent(event); +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this - setTimeout(() => { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - }, 1000); - } + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) - var domElement = document.createElement('video'); - domElement.setAttribute('autoplay', ''); - domElement.setAttribute('muted', ''); - domElement.setAttribute('playsinline', ''); - domElement.style.width = this.parameters.displayWidth + 'px' - domElement.style.height = this.parameters.displayHeight + 'px' + var onError = function(err) { + console.error(err); + }; - // check API is available - if (navigator.mediaDevices === undefined - || navigator.mediaDevices.enumerateDevices === undefined - || navigator.mediaDevices.getUserMedia === undefined) { - if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' - else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' - else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' - else console.assert(false) - onError({ - name: '', - message: 'WebRTC issue-! ' + fctName + ' not present in your browser' - }); - return null - } + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController - // get available devices - navigator.mediaDevices.enumerateDevices().then(function (devices) { - var userMediaConstraints = { - audio: false, - video: { - facingMode: 'environment', - width: { - ideal: _this.parameters.sourceWidth, - // min: 1024, - // max: 1920 - }, - height: { - ideal: _this.parameters.sourceHeight, - // min: 776, - // max: 1080 - } + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' } - }; - if (null !== _this.parameters.deviceId) { - userMediaConstraints.video.deviceId = { - exact: _this.parameters.deviceId - }; - } + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); - // get a device which satisfy the constraints - navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { - // set the .src of the domElement - domElement.srcObject = stream; + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); - var event = new CustomEvent('camera-init', { stream: stream }); - window.dispatchEvent(event); - // to start the video, when it is possible to start it only on userevent. like in android - document.body.addEventListener('click', function () { - domElement.play(); - }); - // domElement.play(); + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); - onReady(); - }).catch(function (error) { - onError({ - name: error.name, - message: error.message - }); - }); - }).catch(function (error) { - onError({ - message: error.message + // set the labelingMode for artoolkit + var labelingModeTypes = { + "black_region": artoolkit.AR_LABELING_BLACK_REGION, + "white_region": artoolkit.AR_LABELING_WHITE_REGION + } + var labelingModeType = labelingModeTypes[_this.parameters.labelingMode]; + console.assert(labelingModeType !== undefined); + arController.setLabelingMode(labelingModeType); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() }); }); - - return domElement + return this } -////////////////////////////////////////////////////////////////////////////// -// Handle Mobile Torch -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.hasMobileTorch = function () { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) return false - - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function () { + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn - var videoTrack = stream.getVideoTracks()[0]; + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') - // if videoTrack.getCapabilities() doesnt exist, return false now - if (videoTrack.getCapabilities === undefined) return false + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) - var capabilities = videoTrack.getCapabilities() + // projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) - return capabilities.torch ? true : false + return projectionMatrix } -/** - * toggle the flash/torch of the mobile fun if applicable. - * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ - */ -ARjs.Source.prototype.toggleMobileTorch = function () { - // sanity check - console.assert(this.hasMobileTorch() === true) +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return - } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } +/***/ }), - var videoTrack = stream.getVideoTracks()[0]; - var capabilities = videoTrack.getCapabilities() +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (!capabilities.torch) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'no mobile torch is available on your camera' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); - this._currentTorchStatus = this._currentTorchStatus === false ? true : false - videoTrack.applyConstraints({ - advanced: [{ - torch: this._currentTorchStatus - }] - }).catch(function (error) { - console.log(error) - }); -} + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); -ARjs.Source.prototype.domElementWidth = function () { - return parseInt(this.domElement.style.width) -} -ARjs.Source.prototype.domElementHeight = function () { - return parseInt(this.domElement.style.height) -} +const Context = function (parameters) { + var _this = this -//////////////////////////////////////////////////////////////////////////////// -// handle resize -//////////////////////////////////////////////////////////////////////////////// + _this._updatedAt = null -ARjs.Source.prototype.onResizeElement = function () { - var _this = this - var screenWidth = window.innerWidth - var screenHeight = window.innerHeight + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - // sanity check - console.assert(arguments.length === 0) + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', - // compute sourceWidth, sourceHeight - if (this.domElement.nodeName === "IMG") { - var sourceWidth = this.domElement.naturalWidth - var sourceHeight = this.domElement.naturalHeight - } else if (this.domElement.nodeName === "VIDEO") { - var sourceWidth = this.domElement.videoWidth - var sourceHeight = this.domElement.videoHeight - } else { - console.assert(false) - } + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, - // compute sourceAspect - var sourceAspect = sourceWidth / sourceHeight - // compute screenAspect - var screenAspect = screenWidth / screenHeight + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, - // if screenAspect < sourceAspect, then change the width, else change the height - if (screenAspect < sourceAspect) { - // compute newWidth and set .width/.marginLeft - var newWidth = sourceAspect * screenHeight - this.domElement.style.width = newWidth + 'px' - this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - // init style.height/.marginTop to normal value - this.domElement.style.height = screenHeight + 'px' - this.domElement.style.marginTop = '0px' - } else { - // compute newHeight and set .height/.marginTop - var newHeight = 1 / (sourceAspect / screenWidth) - this.domElement.style.height = newHeight + 'px' - this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + this.arController = null; - // init style.width/.marginLeft to normal value - this.domElement.style.width = screenWidth + 'px' - this.domElement.style.marginLeft = '0px' - } -} -/* -ARjs.Source.prototype.copyElementSizeTo = function(otherElement){ - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop -} -*/ + _this.initialized = false -ARjs.Source.prototype.copyElementSizeTo = function (otherElement) { - if (window.innerWidth > window.innerHeight) { - //landscape - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop - } - else { - //portrait - otherElement.style.height = this.domElement.style.height - otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; - otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; - otherElement.style.marginTop = 0; - } + this._arMarkersControls = [] -} + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } -ARjs.Source.prototype.copySizeTo = function () { - console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') - this.copyElementSizeTo.apply(this, arguments) -} + var currentValue = _this.parameters[key] -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } -ARjs.Source.prototype.onResize = function (arToolkitContext, renderer, camera) { - if (arguments.length !== 3) { - console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') - return this.onResizeElement.apply(this, arguments) + _this.parameters[key] = newValue + } } +} - var trackingBackend = arToolkitContext.parameters.trackingBackend - +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; - // RESIZE DOMELEMENT +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} - this.onResizeElement() - var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false - if (isAframe === false) { - this.copyElementSizeTo(renderer.domElement) - } else { +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done); + } else console.assert(false); + return - } + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); - if (arToolkitContext.arController !== null) { - this.copyElementSizeTo(arToolkitContext.arController.canvas) - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + _this.initialized = true + onCompleted && onCompleted() + } - // UPDATE CAMERA - if (trackingBackend === 'artoolkit') { - if (arToolkitContext.arController !== null) { - camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) } -var THREEx = THREEx || {} - -THREEx.ArVideoInWebgl = function(videoTexture){ - var _this = this - - ////////////////////////////////////////////////////////////////////////////// - // plane always in front of the camera, exactly as big as the viewport - ////////////////////////////////////////////////////////////////////////////// - var geometry = new THREE.PlaneGeometry(2, 2); - var material = new THREE.MeshBasicMaterial({ - // map : new THREE.TextureLoader().load('images/water.jpg'), - map : videoTexture, - // side: THREE.DoubleSide, - // opacity: 0.5, - // color: 'pink', - // transparent: true, - }); - var seethruPlane = new THREE.Mesh(geometry, material); - this.object3d = seethruPlane - // scene.add(seethruPlane); - - // arToolkitSource.domElement.style.visibility = 'hidden' - - // TODO extract the fov from the projectionMatrix - // camera.fov = 43.1 - this.update = function(camera){ - camera.updateMatrixWorld(true) - - // get seethruPlane position - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - seethruPlane.position.copy(position) - camera.localToWorld(seethruPlane.position) - - // get seethruPlane quaternion - camera.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); - seethruPlane.quaternion.copy( camera.quaternion ) - - // extract the fov from the projectionMatrix - var fov = THREE.Math.radToDeg(Math.atan(1/camera.projectionMatrix.elements[5]))*2; - // console.log('fov', fov) - - var elementWidth = parseFloat( arToolkitSource.domElement.style.width.replace(/px$/,''), 10 ) - var elementHeight = parseFloat( arToolkitSource.domElement.style.height.replace(/px$/,''), 10 ) - - var aspect = elementWidth / elementHeight - - // camera.fov = fov - // if( vrDisplay.isPresenting ){ - // fov *= 2 - // aspect *= 2 - // } - - // get seethruPlane height relative to fov - seethruPlane.scale.y = Math.tan(THREE.Math.DEG2RAD * fov/2)*position.length() - // get seethruPlane aspect - seethruPlane.scale.x = seethruPlane.scale.y * aspect - } - - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // var video = arToolkitSource.domElement; - // - // window.addEventListener('resize', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // video.addEventListener('canplaythrough', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // function updateSeeThruAspectUv(plane){ - // - // // if video isnt yet ready to play - // if( video.videoWidth === 0 || video.videoHeight === 0 ) return - // - // var faceVertexUvs = plane.geometry.faceVertexUvs[0] - // var screenAspect = window.innerWidth / window.innerHeight - // var videoAspect = video.videoWidth / video.videoHeight - // - // plane.geometry.uvsNeedUpdate = true - // if( screenAspect >= videoAspect ){ - // var actualHeight = videoAspect / screenAspect; - // // faceVertexUvs y 0 - // faceVertexUvs[0][1].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][0].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][1].y = 0.5 - actualHeight/2 - // // faceVertexUvs y 1 - // faceVertexUvs[0][0].y = 0.5 + actualHeight/2 - // faceVertexUvs[0][2].y = 0.5 + actualHeight/2 - // faceVertexUvs[1][2].y = 0.5 + actualHeight/2 - // }else{ - // var actualWidth = screenAspect / videoAspect; - // // faceVertexUvs x 0 - // faceVertexUvs[0][0].x = 0.5 - actualWidth/2 - // faceVertexUvs[0][1].x = 0.5 - actualWidth/2 - // faceVertexUvs[1][0].x = 0.5 - actualWidth/2 - // - // // faceVertexUvs x 1 - // faceVertexUvs[0][2].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][1].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][2].x = 0.5 + actualWidth/2 - // } - // } - -} -var THREEx = THREEx || {} - -// TODO this is useless - prefere arjs-HitTesting.js +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { -/** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to - */ -THREEx.HitTestingPlane = function(sourceElement){ - this._sourceElement = sourceElement + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; - // create _pickingScene - this._pickingScene = new THREE.Scene - - // create _pickingPlane - var geometry = new THREE.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) - // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) - var material = new THREE.MeshBasicMaterial({ - // opacity: 0.5, - // transparent: true, - wireframe: true - }) - // material.visible = false - this._pickingPlane = new THREE.Mesh(geometry, material) - this._pickingScene.add(this._pickingPlane) + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present - // Create pickingCamera - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - // TODO hardcoded fov - couch - this._pickingCamera = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); -} + var prevVisibleMarkers = [] -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + markerControls.object3d.visible = false + }) -THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement); + } else { + console.assert(false); + } - this.onResize() - + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); - if( changeMatrixMode === 'modelViewMatrix' ){ - // set pickingPlane position - var pickingPlane = this._pickingPlane - pickingRoot.parent.updateMatrixWorld() - pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) - // set position/quaternion/scale from pickingPlane.matrix - pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) - }else if( changeMatrixMode === 'cameraTransformMatrix' ){ - // set pickingPlane position - var pickingCamera = this._pickingCamera - camera.updateMatrixWorld() - pickingCamera.matrix.copy(camera.matrixWorld) - // set position/quaternion/scale from pickingCamera.matrix - pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) - }else console.assert(false) + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) -// var position = this._pickingPlane.position -// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) -// var position = this._pickingCamera.position -// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) - + // return true as we processed the frame + return true; } -////////////////////////////////////////////////////////////////////////////// -// resize camera -////////////////////////////////////////////////////////////////////////////// - -THREEx.HitTestingPlane.prototype.onResize = function(){ - var sourceElement = this._sourceElement - var pickingCamera = this._pickingCamera - -// FIXME why using css here ??? not even computed style -// should get the size of the elment directly independantly - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - pickingCamera.aspect = fullWidth / fullHeight +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} - pickingCamera.updateProjectionMatrix() +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } + this._arMarkersControls.splice(index, 1) } ////////////////////////////////////////////////////////////////////////////// -// Perform test +// artoolkit specific ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ - // convert mouseX, mouseY to [-1, +1] - mouseX = (mouseX-0.5)*2 - mouseY =-(mouseY-0.5)*2 - - this._pickingScene.updateMatrixWorld(true) - - // compute intersections between mouseVector3 and pickingPlane - var raycaster = new THREE.Raycaster(); - var mouseVector3 = new THREE.Vector3(mouseX, mouseY, 1); - raycaster.setFromCamera( mouseVector3, this._pickingCamera ) - var intersects = raycaster.intersectObjects( [this._pickingPlane] ) +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this - if( intersects.length === 0 ) return null + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) + + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController - // set new demoRoot position - var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) - // TODO here do a look at the camera ? - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3(1,1,1)//.multiplyScalar(1) - - return { - position : position, - quaternion : quaternion, - scale : scale - } -} + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; -////////////////////////////////////////////////////////////////////////////// -// render the pickingPlane for debug -////////////////////////////////////////////////////////////////////////////// + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } -THREEx.HitTestingPlane.prototype.renderDebug = function(renderer){ - // render sceneOrtho - renderer.render( this._pickingScene, this._pickingCamera ) -} -// @namespace -var ARjs = ARjs || {} + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); -// TODO this is a controls... should i give the object3d here ? -// not according to 'no three.js dependancy' + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); + return this +} /** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor + * return the projection matrix */ -ARjs.Anchor = function(arSession, markerParameters){ - var _this = this - var arContext = arSession.arContext - var scene = arSession.parameters.scene - var camera = arSession.parameters.camera +Context.prototype.getProjectionMatrix = function (srcElement) { - this.arSession = arSession - this.parameters = markerParameters - // log to debug - console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn - var markerRoot = new THREE.Group - scene.add(markerRoot) + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var controlledObject = markerRoot - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var controlledObject = camera - }else console.assert(false) + // return the result + return projectionMatrix +} - if( markerParameters.markersAreaEnabled === false ){ - var markerControls = new THREEx.ArMarkerControls(arContext, controlledObject, markerParameters) - this.controls = markerControls - }else{ - // sanity check - MUST be a trackingBackend with markers - console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} - // honor markers-page-resolution for https://webxr.io/augmented-website - if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ - // get resolutionW/resolutionH from url - var markerPageResolution = location.hash.substring(1) - var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) - console.assert(matches.length === 3) - var resolutionW = parseInt(matches[1]) - var resolutionH = parseInt(matches[2]) - var arContext = arSession.arContext - // generate and store the ARjsMultiMarkerFile - ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) - } +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; - // if there is no ARjsMultiMarkerFile, build a default one - if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) - } + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; - // get multiMarkerFile from localStorage - console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) - var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var parent3D = scene - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var parent3D = camera - }else console.assert(false) + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; - // build a multiMarkerControls - var multiMarkerControls = ARjs.MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) - this.controls = multiMarkerControls + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; - // honor markerParameters.changeMatrixMode - multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} -// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js - // create ArMarkerHelper - useful to debug - super three.js specific - var markerHelpers = [] - multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ - // add an helper to visuable each sub-marker - var markerHelper = new THREEx.ArMarkerHelper(subMarkerControls) - markerHelper.object3d.visible = false - // subMarkerControls.object3d.add( markerHelper.object3d ) - subMarkerControls.object3d.add( markerHelper.object3d ) - // add it to markerHelpers - markerHelpers.push(markerHelper) - }) - // define API specific to markersArea - this.markersArea = {} - this.markersArea.setSubMarkersVisibility = function(visible){ - markerHelpers.forEach(function(markerHelper){ - markerHelper.object3d.visible = visible - }) - } - } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); - this.object3d = new THREE.Group() +/***/ }), - ////////////////////////////////////////////////////////////////////////////// - // THREEx.ArSmoothedControls - ////////////////////////////////////////////////////////////////////////////// +/***/ "./three.js/src/threex/arjs-markercontrols-nft.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var shouldBeSmoothed = true +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./arjs-markercontrols-nft.worker.js */ "./three.js/src/threex/arjs-markercontrols-nft.worker.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_3__); - if( shouldBeSmoothed === true ){ - // build a smoothedControls - var smoothedRoot = new THREE.Group() - scene.add(smoothedRoot) - var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot) - smoothedRoot.add(this.object3d) - }else{ - markerRoot.add(this.object3d) - } - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - this.update = function(){ - // update _this.object3d.visible - _this.object3d.visible = _this.object3d.parent.visible + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default()); - // console.log('controlledObject.visible', _this.object3d.parent.visible) - if( smoothedControls !== undefined ){ - // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls - if( multiMarkerControls !== undefined ){ - multiMarkerControls.updateSmoothedControls(smoothedControls) - } +const MarkerControls = function (context, object3d, parameters) { + var _this = this - // update smoothedControls - smoothedControls.update(markerRoot) - } - } -} -// @namespace -var ARjs = ARjs || {} + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.SessionDebugUI = function (arSession) { - var trackingBackend = arSession.arContext.parameters.trackingBackend + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size: 1, + // type of marker - ['pattern', 'barcode', 'nft', 'unknown' ] + type: 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl: null, + // value of the barcode - IIF type='barcode' + barcodeValue: null, + // url of the descriptors of image - IIF type='nft' + descriptorsUrl: null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode: 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.left = '5px' - this.domElement.style.bottom = '10px' - this.domElement.style.textAlign = 'right' + // sanity check + var possibleValues = ['pattern', 'barcode', 'nft', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix'] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend + // setParameters ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.innerHTML = 'trackingBackend : ' + trackingBackend - this.domElement.appendChild(domElement) -} + if (newValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' parameter is undefined.") + continue + } -/** - * Url of augmented-website service - if === '' then dont include augmented-website link - * @type {String} - */ -ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' + var currentValue = _this.parameters[key] -////////////////////////////////////////////////////////////////////////////// -// ARjs.AnchorDebugUI -////////////////////////////////////////////////////////////////////////////// + if (currentValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' is not a property of this material.") + continue + } -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.AnchorDebugUI = function (arAnchor) { - var arSession = arAnchor.arSession - var trackingBackend = arSession.arContext.parameters.trackingBackend + _this.parameters[key] = newValue + } + } - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'inline-block' - this.domElement.style.padding = '0.5em' - this.domElement.style.margin = '0.5em' - this.domElement.style.textAlign = 'left' + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend + // Code Separator ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.style.padding = '0.5em' - domElement.style.color = 'rgba(0,0,0,0.9)' - domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - domElement.style.position = 'fixed' - domElement.style.left = '5px' - domElement.style.bottom = '40px' + if (_this.context.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit() + } else console.assert(false) +} - this.domElement.appendChild(domElement) - domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled +MarkerControls.prototype = Object.create(_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype); +MarkerControls.prototype.constructor = MarkerControls; - ////////////////////////////////////////////////////////////////////////////// - // toggle-marker-helper - ////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function () { + this.context.removeMarker(this) +} - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.textAlign = 'left' - this.domElement.appendChild(domElement) +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// - domElement.id = 'buttonToggleMarkerHelpers' - domElement.innerHTML = 'toggle-marker-helper' - domElement.href = 'javascript:void(0)' +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { + var markerObject3D = this.object3d; - var subMarkerHelpersVisible = false - domElement.addEventListener('click', function () { - subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true - arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) - }) - } + // mark object as visible + markerObject3D.visible = true - ////////////////////////////////////////////////////////////////////////////// - // Learn-new-marker-area - ////////////////////////////////////////////////////////////////////////////// + if (this.context.parameters.trackingBackend === 'artoolkit') { + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) + modelViewMatrix.copy(tmpMatrix) + } else { + console.assert(false) + } - domElement.id = 'buttonMarkersAreaLearner' - domElement.innerHTML = 'Learn-new-marker-area' - domElement.href = 'javascript:void(0)' + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) - domElement.addEventListener('click', function () { - if (ARjs.AnchorDebugUI.MarkersAreaLearnerURL !== null) { - var learnerURL = ARjs.AnchorDebugUI.MarkersAreaLearnerURL - } else { - var learnerURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' - } - ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) - }) - } + var renderReqd = false; - ////////////////////////////////////////////////////////////////////////////// - // Reset-marker-area - ////////////////////////////////////////////////////////////////////////////// + // change markerObject3D.matrix based on parameters.changeMatrixMode + if (this.parameters.changeMatrixMode === 'modelViewMatrix') { + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest - domElement.id = 'buttonMarkersAreaReset' - domElement.innerHTML = 'Reset-marker-area' - domElement.href = 'javascript:void(0)' + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; - domElement.addEventListener('click', function () { - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) - location.reload() - }) + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { + markerObject3D.matrix.copy(modelViewMatrix).invert() + } else { + console.assert(false) } -} -/** - * url for the markers-area learner. if not set, take the default one - * @type {String} - */ -ARjs.AnchorDebugUI.MarkersAreaLearnerURL = null -// @namespace -var ARjs = ARjs || {} + // decompose - the matrix into .position, .quaternion, .scale -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.HitTesting = function (arSession) { - var _this = this - var arContext = arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) - this.enabled = true - this._arSession = arSession - this._hitTestingPlane = null - _this._hitTestingPlane = new THREEx.HitTestingPlane(arSession.arSource.domElement) + // dispatchEvent + this.dispatchEvent({ type: 'markerFound' }); + + return renderReqd; } ////////////////////////////////////////////////////////////////////////////// -// update function +// utility functions ////////////////////////////////////////////////////////////////////////////// -/** - * update - * - * @param {THREE.Camera} camera - the camera to use - * @param {THREE.Object3D} object3d - - */ -ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { - // if it isnt enabled, do nothing - if (this.enabled === false) return +MarkerControls.prototype.name = function () { + var name = ''; + name += this.parameters.type; - if (this._hitTestingPlane !== null) { - this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) - } else console.assert(false) + if (this.parameters.type === 'pattern') { + var url = this.parameters.patternUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else if (this.parameters.type === 'barcode') { + name += ' - ' + this.parameters.barcodeValue; + } else if (this.parameters.type === 'nft') { + var url = this.parameters.descriptorsUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else { + console.assert(false, 'no .name() implemented for this marker controls'); + } + + return name; } ////////////////////////////////////////////////////////////////////////////// -// actual hit testing +// init for Artoolkit ////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function () { + var _this = this -/** - * Test the real world for intersections directly from a DomEvent - * - * @param {Number} mouseX - position X of the hit [-1, +1] - * @param {Number} mouseY - position Y of the hit [-1, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { - var trackingBackend = this._arSession.arContext.parameters.trackingBackend - var arSource = this._arSession.arSource - - // if it isnt enabled, do nothing - if (this.enabled === false) return [] - var mouseX = domEvent.clientX / arSource.domElementWidth() - var mouseY = domEvent.clientY / arSource.domElementHeight() - - return this.test(mouseX, mouseY) -} + var artoolkitMarkerId = null -/** - * Test the real world for intersections. - * - * @param {Number} mouseX - position X of the hit [0, +1] - * @param {Number} mouseY - position Y of the hit [0, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { - var arContext = this._arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - var hitTestResults = [] + var delayedInitTimerId = setInterval(() => { + // check if arController is init + var arController = _this.context.arController + if (arController === null) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000 / 50) - // if it isnt enabled, do nothing - if (this.enabled === false) return [] + return - var result = this._hitTestingPlane.test(mouseX, mouseY) + function postInit() { + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null) - // if no result is found, return now - if (result === null) return hitTestResults + // start tracking this pattern + if (_this.parameters.type === 'pattern') { + arController.loadMarker(_this.parameters.patternUrl).then(function (markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + } else if (_this.parameters.type === 'barcode') { + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + } else if (_this.parameters.type === 'nft') { + // use workers as default + handleNFT(_this.parameters.descriptorsUrl, arController); + } else if (_this.parameters.type === 'unknown') { + artoolkitMarkerId = null + } else { + console.log(false, 'invalid marker type', _this.parameters.type) + } - // build a ARjs.HitTesting.Result - var hitTestResult = new ARjs.HitTesting.Result(result.position, result.quaternion, result.scale) - hitTestResults.push(hitTestResult) + // listen to the event + arController.addEventListener('getMarker', function (event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { + onMarkerFound(event); + } + }) + } - return hitTestResults -} + function setMatrix(matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } + }; -////////////////////////////////////////////////////////////////////////////// -// ARjs.HitTesting.Result -////////////////////////////////////////////////////////////////////////////// -/** - * Contains the result of ARjs.HitTesting.test() - * - * @param {THREE.Vector3} position - position to use - * @param {THREE.Quaternion} quaternion - quaternion to use - * @param {THREE.Vector3} scale - scale - */ -ARjs.HitTesting.Result = function (position, quaternion, scale) { - this.position = position - this.quaternion = quaternion - this.scale = scale -} + function handleNFT(descriptorsUrl, arController) { + var worker = new _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__.default(); -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.apply = function (object3d) { - object3d.position.copy(this.position) - object3d.quaternion.copy(this.quaternion) - object3d.scale.copy(this.scale) + window.addEventListener('arjs-video-loaded', function (ev) { + var video = ev.detail.component; + var vw = video.clientWidth; + var vh = video.clientHeight; - object3d.updateMatrix() -} + var pscale = 320 / Math.max(vw, vh / 3 * 4); -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { - object3d.position.copy(this.position) + const w = vw * pscale; + const h = vh * pscale; + const pw = Math.max(w, h / 3 * 4); + const ph = Math.max(h, w / 4 * 3); + const ox = (pw - w) / 2; + const oy = (ph - h) / 2; - object3d.updateMatrix() + arController.canvas.style.clientWidth = pw + "px"; + arController.canvas.style.clientHeight = ph + "px"; + arController.canvas.width = pw; + arController.canvas.height = ph; - return this -} + var context_process = arController.canvas.getContext('2d'); -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyQuaternion = function (object3d) { - object3d.quaternion.copy(this.quaternion) + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); - object3d.updateMatrix() + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); + } - return this + // initialize the worker + worker.postMessage({ + type: 'init', + pw: pw, + ph: ph, + marker: descriptorsUrl, + param: arController.cameraParam, + }); + + worker.onmessage = function (ev) { + if (ev && ev.data && ev.data.type === 'endLoading') { + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); + } + var endLoadingEvent = new Event('arjs-nft-loaded'); + window.dispatchEvent(endLoadingEvent); + } + + if (ev && ev.data && ev.data.type === 'loaded') { + var proj = JSON.parse(ev.data.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + + setMatrix(_this.object3d.matrix, proj); + } + + if (ev && ev.data && ev.data.type === 'found') { + var matrix = JSON.parse(ev.data.matrix); + + onMarkerFound({ + data: { + type: ARToolkit.NFT_MARKER, + matrix: matrix, + msg: ev.data.type, + } + }); + + _this.context.arController.showObject = true; + } else { + _this.context.arController.showObject = false; + } + + process(); + }; + + }); + } + + function onMarkerFound(event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return + if (event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return + + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } } -var ARjs = ARjs || {} -/** - * define a ARjs.Session - * - * @param {Object} parameters - parameters for this session - */ -ARjs.Session = function(parameters){ +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); + +const MarkerControls = function(context, object3d, parameters){ var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + this.context = context // handle default parameters this.parameters = { - renderer: null, - camera: null, - scene: null, - sourceParameters: {}, - contextParameters: {}, + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, } + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + ////////////////////////////////////////////////////////////////////////////// // setParameters ////////////////////////////////////////////////////////////////////////////// @@ -2591,1017 +2525,1501 @@ ARjs.Session = function(parameters){ var newValue = parameters[ key ] if( newValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) continue } var currentValue = _this.parameters[ key ] if( currentValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) continue } _this.parameters[ key ] = newValue } } - // sanity check - console.assert(this.parameters.renderer instanceof THREE.WebGLRenderer) - console.assert(this.parameters.camera instanceof THREE.Camera) - console.assert(this.parameters.scene instanceof THREE.Scene) - - - // backward emulation - Object.defineProperty(this, 'renderer', {get: function(){ - console.warn('use .parameters.renderer renderer') - return this.parameters.renderer; - }}); - Object.defineProperty(this, 'camera', {get: function(){ - console.warn('use .parameters.camera instead') - return this.parameters.camera; - }}); - Object.defineProperty(this, 'scene', {get: function(){ - console.warn('use .parameters.scene instead') - return this.parameters.scene; - }}); - - - // log the version - console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) - - ////////////////////////////////////////////////////////////////////////////// - // init arSource - ////////////////////////////////////////////////////////////////////////////// - var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters) - - arSource.init(function onReady(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) - // handle resize - window.addEventListener('resize', function(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } ////////////////////////////////////////////////////////////////////////////// - // init arContext + // Code Separator ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) - // create atToolkitContext - var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters) - - // initialize it - _this.arContext.init() + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) +} - arContext.addEventListener('initialized', function(event){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; - ////////////////////////////////////////////////////////////////////////////// - // update function - ////////////////////////////////////////////////////////////////////////////// - // update artoolkit on every frame - this.update = function(){ - if( arSource.ready === false ) return - arContext.update( arSource.domElement ) +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; } -ARjs.Session.prototype.onResize = function () { - this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) -}; -var ARjs = ARjs || {} -ARjs.Utils = {} +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// /** - * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters - * - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. */ -ARjs.Utils.createDefaultCamera = function (trackingMethod) { - var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; - return camera -} + // mark object as visible + markerObject3D.visible = true -/** - * parse tracking method - * - * @param {String} trackingMethod - the tracking method to parse - * @return {Object} - various field of the tracking method - */ -ARjs.Utils.parseTrackingMethod = function (trackingMethod) { + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) - if (trackingMethod === 'best') { - trackingMethod = 'area-artoolkit'; - } + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) - if (trackingMethod.startsWith('area-')) { - return { - trackingBackend: trackingMethod.replace('area-', ''), - markersAreaEnabled: true, - } - } else { - return { - trackingBackend: trackingMethod, - markersAreaEnabled: false, - } - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) + + var renderReqd = false; + + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; + + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } -ARjs.MarkersAreaControls = THREEx.ArMultiMarkerControls = function(arToolkitContext, object3d, parameters){ - var _this = this - THREEx.ArBaseControls.call(this, object3d) + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } - if( arguments.length > 3 ) console.assert('wrong api for', THREEx.ArMultiMarkerControls) + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) - // have a parameters in argument - this.parameters = { - // list of controls for each subMarker - subMarkersControls: parameters.subMarkersControls, - // list of pose for each subMarker relative to the origin - subMarkerPoses: parameters.subMarkerPoses, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', - } - - this.object3d.visible = false - // honor obsolete stuff - add a warning to use - this.subMarkersControls = this.parameters.subMarkersControls - this.subMarkerPoses = this.parameters.subMarkerPoses + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) + return renderReqd; } -ARjs.MarkersAreaControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; - ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// utility functions ////////////////////////////////////////////////////////////////////////////// - /** - * What to do when a image source is fully processed + * provide a name for a marker + * - silly heuristic for now + * - should be improved */ -ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ - var _this = this - var stats = { - count: 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') } + return name +} - var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - - var markerObject3d = markerControls.object3d - // if this marker is not visible, ignore it - if( markerObject3d.visible === false ) return + var artoolkitMarkerId = null - // transformation matrix of this.object3d according to this sub-markers - var matrix = markerObject3d.matrix.clone() - var markerPose = _this.parameters.subMarkerPoses[markerIndex] - matrix.multiply(new THREE.Matrix4().getInverse(markerPose)) + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) - // decompose the matrix into .position, .quaternion, .scale - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion() - var scale = new THREE.Vector3 - matrix.decompose(position, quaternion, scale) + return - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) + + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) + // listen to the event + arController.addEventListener('getMarker', onGetMarker) - // honor _this.object3d.visible - if( stats.count > 0 ){ - _this.object3d.visible = true - }else{ - _this.object3d.visible = false } - // if at least one sub-marker has been detected, make the average of all detected markers - if( stats.count > 0 ){ - // compute modelViewMatrix - var modelViewMatrix = new THREE.Matrix4() - modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return - // change _this.object3d.matrix based on parameters.changeMatrixMode - if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ - _this.object3d.matrix.copy(modelViewMatrix) - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - _this.object3d.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } - // decompose - the matrix into .position, .quaternion, .scale - _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } } } -////////////////////////////////////////////////////////////////////////////// -// Utility functions -////////////////////////////////////////////////////////////////////////////// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent /** - * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. */ -ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ - quaternionAverage = quaternionAverage || new THREE.Quaternion() - // sanity check - console.assert(firstQuaternion instanceof THREE.Quaternion === true) - - // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - if( newQuaternion.dot(firstQuaternion) > 0 ){ - newQuaternion = new THREE.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) - } - - quaternionSum.x += newQuaternion.x - quaternionSum.y += newQuaternion.y - quaternionSum.z += newQuaternion.z - quaternionSum.w += newQuaternion.w - - quaternionAverage.x = quaternionSum.x/count - quaternionAverage.y = quaternionSum.y/count - quaternionAverage.z = quaternionSum.z/count - quaternionAverage.w = quaternionSum.w/count - - quaternionAverage.normalize() +const Profile = function () { + this.reset() - return quaternionAverage + this.performance('default') } - -ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ - vector3Average = vector3Average || new THREE.Vector3() - - vector3Sum.x += vector3.x - vector3Sum.y += vector3.y - vector3Sum.z += vector3.z - - vector3Average.x = vector3Sum.x / count - vector3Average.y = vector3Sum.y / count - vector3Average.z = vector3Sum.z / count - - return vector3Average +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' } ////////////////////////////////////////////////////////////////////////////// -// Utility function +// Code Separator ////////////////////////////////////////////////////////////////////////////// /** - * compute the center of this multimarker file + * reset all parameters */ -ARjs.MarkersAreaControls.computeCenter = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var stats = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - var firstQuaternion = new THREE.Quaternion() // FIXME ??? - - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; - return averageMatrix +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// + + + +Profile.prototype.performance = function (label) { + + if (label === 'default') { + label = this._guessPerformanceLabel() + } + + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 + + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this } -ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var boundingBox = new THREE.Box3() +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - boundingBox.expandByPoint(position) - }) +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend - return boundingBox + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this } ////////////////////////////////////////////////////////////////////////////// -// updateSmoothedControls +// Source ////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} -ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ - // handle default values - if( lerpsValues === undefined ){ - // FIXME this parameter format is uselessly cryptic - // lerpValues = [ - // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} - // ] - lerpsValues = [ - [0.3+.1, 0.1, 0.3], - [0.4+.1, 0.1, 0.4], - [0.4+.1, 0.2, 0.5], - [0.5+.1, 0.2, 0.7], - [0.5+.1, 0.2, 0.7], - ] - } - // count how many subMarkersControls are visible - var nVisible = 0 - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - var markerObject3d = markerControls.object3d - if( markerObject3d.visible === true ) nVisible ++ - }) +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} + +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} + +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this + + this.ready = false + this.domElement = null + + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this + + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } + + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); + + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } + + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); + + _this.ready = true + + onReady && onReady() + } +} + +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onload = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; + + domElement.style.objectFit = 'initial'; + + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; + + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onloadeddata = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this + + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } + + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' + + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } + + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; + + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; + + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); + + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); - // find the good lerpValues - if( lerpsValues[nVisible-1] !== undefined ){ - var lerpValues = lerpsValues[nVisible-1] - }else{ - var lerpValues = lerpsValues[lerpsValues.length-1] - } + return domElement +} - // modify lerpValues in smoothedControls - smoothedControls.parameters.lerpPosition = lerpValues[0] - smoothedControls.parameters.lerpQuaternion = lerpValues[1] - smoothedControls.parameters.lerpScale = lerpValues[2] +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.dispose = function () { + this.ready = false; + + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; + + case 'video': + this._disposeSourceVideo(); + break; + + case 'webcam': + this._disposeSourceWebcam(); + break; + } + + this.domElement = null; + + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); } +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } + + domElement.remove(); +} ////////////////////////////////////////////////////////////////////////////// -// Create THREEx.ArMultiMarkerControls from JSON +// Handle Mobile Torch ////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false -ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ - var multiMarkerFile = JSON.parse(jsonData) - // declare variables - var subMarkersControls = [] - var subMarkerPoses = [] - // handle default arguments - parameters = parameters || {} + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } - // prepare the parameters - multiMarkerFile.subMarkersControls.forEach(function(item){ - // create a markerRoot - var markerRoot = new THREE.Object3D() - parent3D.add(markerRoot) + var videoTrack = stream.getVideoTracks()[0]; - // create markerControls for our markerRoot - var subMarkerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, item.parameters) + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false -// if( true ){ - // store it in the parameters - subMarkersControls.push(subMarkerControls) - subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// }else{ -// // build a smoothedControls -// var smoothedRoot = new THREE.Group() -// parent3D.add(smoothedRoot) -// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { -// lerpPosition : 0.1, -// lerpQuaternion : 0.1, -// lerpScale : 0.1, -// minVisibleDelay: 0, -// minUnvisibleDelay: 0, -// }) -// onRenderFcts.push(function(delta){ -// smoothedControls.update(markerRoot) // TODO this is a global -// }) -// -// -// // store it in the parameters -// subMarkersControls.push(smoothedControls) -// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// } - }) - - parameters.subMarkersControls = subMarkersControls - parameters.subMarkerPoses = subMarkerPoses - // create a new THREEx.ArMultiMarkerControls - var multiMarkerControls = new THREEx.ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) + var capabilities = videoTrack.getCapabilities() + + return capabilities.torch ? true : false +} + +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) + + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() + + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} + +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} + +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + + // sanity check + console.assert(arguments.length === 0) + + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } + + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight + + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ + +Source.prototype.copyElementSizeTo = function (otherElement) { + + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } + + var trackingBackend = arToolkitContext.parameters.trackingBackend + + + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { - // return it - return multiMarkerControls + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitContext, subMarkersControls){ - var _this = this - this._arToolkitContext = arToolkitContext +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); - // Init variables - this.subMarkersControls = subMarkersControls - this.enabled = true - - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) +/***/ }), + +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ + + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) } +ArBaseControls.id = 0 + +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); ////////////////////////////////////////////////////////////////////////////// -// statistic collection +// Functions ////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} /** - * What to do when a image source is fully processed + * error catching function for name() */ -ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ - var originQuaternion = this.subMarkersControls[0].object3d.quaternion - // here collect the statistic on relative positioning - - // honor this.enabled - if( this.enabled === false ) return +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} - // keep only the visible markers - var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ - return markerControls.object3d.visible === true - }) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); - var count = Object.keys(visibleMarkerControls).length - var positionDelta = new THREE.Vector3() - var quaternionDelta = new THREE.Quaternion() - var scaleDelta = new THREE.Vector3() - var tmpMatrix = new THREE.Matrix4() - - // go thru all the visibleMarkerControls - for(var i = 0; i < count; i++){ - var markerControls1 = visibleMarkerControls[i] - for(var j = 0; j < count; j++){ - var markerControls2 = visibleMarkerControls[j] - - // if markerControls1 is markerControls2, then skip it - if( i === j ) continue - - - ////////////////////////////////////////////////////////////////////////////// - // create data in markerControls1.object3d.userData if needed - ////////////////////////////////////////////////////////////////////////////// - // create seenCouples for markerControls1 if needed - if( markerControls1.object3d.userData.seenCouples === undefined ){ - markerControls1.object3d.userData.seenCouples = {} - } - var seenCouples = markerControls1.object3d.userData.seenCouples - // create the multiMarkerPosition average if needed` - if( seenCouples[markerControls2.id] === undefined ){ - // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) - seenCouples[markerControls2.id] = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - } +/***/ }), - - ////////////////////////////////////////////////////////////////////////////// - // Compute markerControls2 position relative to markerControls1 - ////////////////////////////////////////////////////////////////////////////// - - // compute markerControls2 position/quaternion/scale in relation with markerControls1 - tmpMatrix.getInverse(markerControls1.object3d.matrix) - tmpMatrix.multiply(markerControls2.object3d.matrix) - tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) - - ////////////////////////////////////////////////////////////////////////////// - // update statistics - ////////////////////////////////////////////////////////////////////////////// - var stats = seenCouples[markerControls2.id] - // update the count - stats.count++ - - // update the average of position/rotation/scale - THREEx.ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) - THREEx.ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) - THREEx.ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) - } - } -} +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -////////////////////////////////////////////////////////////////////////////// -// Compute markers transformation matrix from current stats -////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); -ARjs.MarkersAreaLearning.prototype.computeResult = function(){ - var _this = this - var originSubControls = this.subMarkersControls[0] - this.deleteResult() +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group - // special case of originSubControls averageMatrix - originSubControls.object3d.userData.result = { - averageMatrix : new THREE.Matrix4(), - confidenceFactor: 1, - } - // TODO here check if the originSubControls has been seen at least once!! - - - /** - * ALGO in pseudo code - * - * - Set confidenceFactor of origin sub markers as 1 - * - * Start Looping - * - For a given sub marker, skip it if it already has a result. - * - if no result, check all seen couple and find n ones which has a progress of 1 or more. - * - So the other seen sub markers, got a valid transformation matrix. - * - So take local averages position/orientation/scale, compose a transformation matrix. - * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale - * - Multiple it by the other seen marker matrix. - * - Loop on the array until one pass could not compute any new sub marker - */ - - do{ - var resultChanged = false - // loop over each subMarkerControls - this.subMarkersControls.forEach(function(subMarkerControls){ - - // if subMarkerControls already has a result, do nothing - var result = subMarkerControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === true ) return - - // console.log('compute subMarkerControls', subMarkerControls.name()) - var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) - if( otherSubControlsID === null ){ - // console.log('no learnedCoupleStats') - return - } - - var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) - - var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) - - var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix - - var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) - matrix = new THREE.Matrix4().getInverse(matrix) - - console.assert( subMarkerControls.object3d.userData.result === undefined ) - subMarkerControls.object3d.userData.result = { - averageMatrix: matrix, - confidenceFactor: 1 - } - - resultChanged = true - }) - // console.log('loop') - }while(resultChanged === true) - + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id // debugger - // console.log('json:', this.toJSON()) - // this.subMarkersControls.forEach(function(subMarkerControls){ - // var hasResult = subMarkerControls.object3d.userData.result !== undefined - // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') - // }) -} + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; -/** - * get a _this.subMarkersControls id based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); - // if this subMarkerControls has never been seen with another subMarkerControls - if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null - - var seenCouples = subMarkerControls.object3d.userData.seenCouples - var coupleControlsIDs = Object.keys(seenCouples).map(Number) - - for(var i = 0; i < coupleControlsIDs.length; i++){ - var otherSubControlsID = coupleControlsIDs[i] - // get otherSubControls - var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) - - // if otherSubControls isnt learned, skip it - var result = otherSubControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === false ) continue - - // return this seenCouplesStats - return otherSubControlsID - } - - // if none is found, return null - return null -} + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true -/** - * get a _this.subMarkersControls based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 - for(var i = 0; i < this.subMarkersControls.length; i++){ - var subMarkerControls = this.subMarkersControls[i] - if( subMarkerControls.id === controlsID ){ - return subMarkerControls - } - } + this.object3d.add(mesh) - return null } - ////////////////////////////////////////////////////////////////////////////// -// JSON file building -////////////////////////////////////////////////////////////////////////////// - -ARjs.MarkersAreaLearning.prototype.toJSON = function(){ - // compute the average matrix before generating the file - this.computeResult() +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); - ////////////////////////////////////////////////////////////////////////////// - // actually build the json - ////////////////////////////////////////////////////////////////////////////// - var data = { - meta : { - createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, - createdAt : new Date().toJSON(), - - }, - trackingBackend: this._arToolkitContext.parameters.trackingBackend, - subMarkersControls : [], - } - var originSubControls = this.subMarkersControls[0] - var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) - this.subMarkersControls.forEach(function(subMarkerControls, index){ - - // if a subMarkerControls has no result, ignore it - if( subMarkerControls.object3d.userData.result === undefined ) return +/***/ }), - var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix - console.assert(poseMatrix instanceof THREE.Matrix4) - +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // build the info - var info = { - parameters : { - // to fill ... - }, - poseMatrix : poseMatrix.toArray(), - } - if( subMarkerControls.parameters.type === 'pattern' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.patternUrl = subMarkerControls.parameters.patternUrl - }else if( subMarkerControls.parameters.type === 'barcode' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue - }else console.assert(false) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); - data.subMarkersControls.push(info) - }) - var strJSON = JSON.stringify(data, null, '\t'); +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, + } ////////////////////////////////////////////////////////////////////////////// - // round matrix elements to ease readability - for debug + // setParameters ////////////////////////////////////////////////////////////////////////////// - var humanReadable = false - if( humanReadable === true ){ - var tmp = JSON.parse(strJSON) - tmp.subMarkersControls.forEach(function(markerControls){ - markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ - var roundingFactor = 100 - return Math.round(value*roundingFactor)/roundingFactor - }) - }) - strJSON = JSON.stringify(tmp, null, '\t'); + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } } - - return strJSON; } + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; ////////////////////////////////////////////////////////////////////////////// -// utility function +// update function ////////////////////////////////////////////////////////////////////////////// -/** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.resetStats = function(){ - this.deleteResult() - - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.seenCouples - }) -} -/** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.deleteResult = function(){ - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.result - }) -} -var THREEx = THREEx || {} +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} + ////////////////////////////////////////////////////////////////////////////// + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay + ////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null -////////////////////////////////////////////////////////////////////////////// -// navigateToLearnerPage -////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present -/** - * Navigate to the multi-marker learner page - * - * @param {String} learnerBaseURL - the base url for the learner - * @param {String} trackingBackend - the tracking backend to use - */ -ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ - var learnerParameters = { - backURL : location.href, - trackingBackend: trackingBackend, - markersControlsParameters: ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() + } + // console.log('visibleFor', visibleFor) } - location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) -} -////////////////////////////////////////////////////////////////////////////// -// DefaultMultiMarkerFile -////////////////////////////////////////////////////////////////////////////// + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } + + ////////////////////////////////////////////////////////////////////////////// + // apply lerp on positon/quaternion/scale + ////////////////////////////////////////////////////////////////////////////// + + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } + + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} + + // update the matrix + this.object3d.updateMatrix() + + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return -/** - * Create and store a default multi-marker file - * - * @param {String} trackingBackend - the tracking backend to use - */ -ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ - var file = ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) - // json.strinfy the value and store it in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) + } } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); -/** - * Create a default multi-marker file - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object of the multi-marker file - */ -ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ - console.assert(trackingBackend) - if( trackingBackend === undefined ) debugger +/***/ }), - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +/***/ "./three.js/src/threex/threex-hittesting-plane.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/threex-hittesting-plane.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // create the base file - var file = { - meta : { - createdBy : 'AR.js ' + ARjs.Context.REVISION + ' - Default Marker', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... being filled - ] - } - // add a subMarkersControls - file.subMarkersControls[0] = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(0,0, 0).toArray(), - } - if( trackingBackend === 'artoolkit' ){ - file.subMarkersControls[0].parameters.type = 'pattern' - file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' - }else console.assert(false) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - // json.strinfy the value and store it in localStorage - return file -} -////////////////////////////////////////////////////////////////////////////// -// createDefaultMarkersControlsParameters -////////////////////////////////////////////////////////////////////////////// +// TODO this is useless - prefere arjs-HitTesting.js /** - * Create a default controls parameters for the multi-marker learner - * - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object containing the controls parameters + * - maybe support .onClickFcts in each object3d + * - seems an easy light layer for clickable object + * - up to */ -ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +const HitTestingPlane = function(sourceElement){ + this._sourceElement = sourceElement + // create _pickingScene + this._pickingScene = new three__WEBPACK_IMPORTED_MODULE_0__.Scene + + // create _pickingPlane + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) + // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + // opacity: 0.5, + // transparent: true, + wireframe: true + }) + // material.visible = false + this._pickingPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + this._pickingScene.add(this._pickingPlane) - if( trackingBackend === 'artoolkit' ){ - // pattern hiro/kanji/a/b/c/f - var markersControlsParameters = [ - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', - }, - ] - }else console.assert(false) - return markersControlsParameters + // Create pickingCamera + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + // TODO hardcoded fov - couch + this._pickingCamera = new three__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); } - ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// update function ////////////////////////////////////////////////////////////////////////////// -/** - * generate areaFile - */ -ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { - // generate areaFile - var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) - // store areaFile in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ -ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ - // create the base file - var file = { - meta : { - createdBy : 'AR.js - Augmented Website', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... - ] - } + this.onResize() + - var whiteMargin = 0.1 - if( resolutionW > resolutionH ){ - var markerImageSize = 0.4 * resolutionH - }else if( resolutionW < resolutionH ){ - var markerImageSize = 0.4 * resolutionW - }else if( resolutionW === resolutionH ){ - // specific for twitter player - https://dev.twitter.com/cards/types/player - var markerImageSize = 0.33 * resolutionW + if( changeMatrixMode === 'modelViewMatrix' ){ + // set pickingPlane position + var pickingPlane = this._pickingPlane + pickingRoot.parent.updateMatrixWorld() + pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) + // set position/quaternion/scale from pickingPlane.matrix + pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) + }else if( changeMatrixMode === 'cameraTransformMatrix' ){ + // set pickingPlane position + var pickingCamera = this._pickingCamera + camera.updateMatrixWorld() + pickingCamera.matrix.copy(camera.matrixWorld) + // set position/quaternion/scale from pickingCamera.matrix + pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) }else console.assert(false) - // console.warn('using new markerImageSize computation') - var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) - - var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize - var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize - var subMarkerControls = buildSubMarkerControls('center', 0, 0) - file.subMarkersControls.push(subMarkerControls) +// var position = this._pickingPlane.position +// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) +// var position = this._pickingCamera.position +// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) + +} - var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) +////////////////////////////////////////////////////////////////////////////// +// resize camera +////////////////////////////////////////////////////////////////////////////// - var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) +HitTestingPlane.prototype.onResize = function(){ + var sourceElement = this._sourceElement + var pickingCamera = this._pickingCamera + +// FIXME why using css here ??? not even computed style +// should get the size of the elment directly independantly + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + pickingCamera.aspect = fullWidth / fullHeight - var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) + pickingCamera.updateProjectionMatrix() +} - var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) +////////////////////////////////////////////////////////////////////////////// +// Perform test +////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.test = function(mouseX, mouseY){ + // convert mouseX, mouseY to [-1, +1] + mouseX = (mouseX-0.5)*2 + mouseY =-(mouseY-0.5)*2 + + this._pickingScene.updateMatrixWorld(true) - return file + // compute intersections between mouseVector3 and pickingPlane + var raycaster = new three__WEBPACK_IMPORTED_MODULE_0__.Raycaster(); + var mouseVector3 = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(mouseX, mouseY, 1); + raycaster.setFromCamera( mouseVector3, this._pickingCamera ) + var intersects = raycaster.intersectObjects( [this._pickingPlane] ) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + if( intersects.length === 0 ) return null - function buildSubMarkerControls(layout, positionX, positionZ){ - console.log('buildSubMarkerControls', layout, positionX, positionZ) - // create subMarkersControls - var subMarkersControls = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), - } - // fill the parameters - if( trackingBackend === 'artoolkit' ){ - layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) - }else console.assert(false) - // return subMarkersControls - return subMarkersControls + // set new demoRoot position + var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) + // TODO here do a look at the camera ? + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1,1,1)//.multiplyScalar(1) + + return { + position : position, + quaternion : quaternion, + scale : scale } +} - function layout2MarkerParametersArtoolkit(parameters, layout){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +////////////////////////////////////////////////////////////////////////////// +// render the pickingPlane for debug +////////////////////////////////////////////////////////////////////////////// - var layout2PatternUrl = { - 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), - 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), - 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), - 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), - 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), - } - console.assert(layout2PatternUrl[layout] !== undefined ) - parameters.type = 'pattern' - parameters.patternUrl = layout2PatternUrl[layout] - return - function convertRelativeUrlToAbsolute(relativeUrl){ - var tmpLink = document.createElement('a'); - tmpLink.href = relativeUrl - return tmpLink.href - } - } +HitTestingPlane.prototype.renderDebug = function(renderer){ + // render sceneOrtho + renderer.render( this._pickingScene, this._pickingCamera ) } + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTestingPlane); + + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!****************************************!*\ + !*** ./three.js/src/index-arjs-nft.js ***! + \****************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Anchor": () => (/* reexport safe */ _new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_0__.default), +/* harmony export */ "HitTesting": () => (/* reexport safe */ _new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__.default), +/* harmony export */ "AnchorDebugUI": () => (/* reexport safe */ _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.AnchorDebugUI), +/* harmony export */ "SessionDebugUI": () => (/* reexport safe */ _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.SessionDebugUI), +/* harmony export */ "Session": () => (/* reexport safe */ _new_api_arjs_session__WEBPACK_IMPORTED_MODULE_3__.default), +/* harmony export */ "Utils": () => (/* reexport safe */ _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_4__.default), +/* harmony export */ "Context": () => (/* reexport safe */ _threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_5__.default), +/* harmony export */ "Profile": () => (/* reexport safe */ _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_6__.default), +/* harmony export */ "Source": () => (/* reexport safe */ _threex_arjs_source__WEBPACK_IMPORTED_MODULE_7__.default) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./new-api/arjs-anchor */ "./three.js/src/new-api/arjs-anchor.js"); +/* harmony import */ var _new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./new-api/arjs-hittesting */ "./three.js/src/new-api/arjs-hittesting.js"); +/* harmony import */ var _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); +/* harmony import */ var _new_api_arjs_session__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./new-api/arjs-session */ "./three.js/src/new-api/arjs-session.js"); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./threex/arjs-context-nft */ "./three.js/src/threex/arjs-context-nft.js"); +/* harmony import */ var _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); + + + + + + // nft-specific + + + + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BUmpzLy4vbm9kZV9tb2R1bGVzL0Bhci1qcy1vcmcvYXJ0b29sa2l0NS1qcy9kaXN0L0FSVG9vbGtpdC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC53b3JrZXIuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL25vZGVfbW9kdWxlcy93b3JrZXItbG9hZGVyL2Rpc3QvcnVudGltZS9pbmxpbmUuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1hbmNob3IuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtZGVidWd1aS5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1oaXR0ZXN0aW5nLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLXNlc3Npb24uanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtdXRpbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1jb250ZXh0LW5mdC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scy1uZnQuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLXByb2ZpbGUuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1zb3VyY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFyYmFzZWNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlci5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1oaXR0ZXN0aW5nLXBsYW5lLmpzIiwid2VicGFjazovL0FSanMvZXh0ZXJuYWwge1wiY29tbW9uanNcIjpcInRocmVlXCIsXCJjb21tb25qczJcIjpcInRocmVlXCIsXCJhbWRcIjpcInRocmVlXCIsXCJyb290XCI6XCJUSFJFRVwifSIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL2luZGV4LWFyanMtbmZ0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FB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QUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQywyREFBZ0I7QUFDL0Q7QUFDQTs7QUFFQTtBQUNBLCtDQUErQywyREFBZ0I7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx1REFBdUQsMENBQWE7QUFDcEUsOERBQThELDBDQUFhO0FBQzNFLDhEQUE4RCwwQ0FBYTs7QUFFM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQiwwQ0FBYTs7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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUVBQWUsT0FBTyxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FDckt2QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0VBQWtFLFVBQVU7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQXFELGVBQWU7QUFDcEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxlQUFlLEVBQUM7Ozs7Ozs7Ozs7OztBQzVIL0IsbUQ7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7O1dDdEJBO1dBQ0E7V0FDQTtXQUNBO1dBQ0E7V0FDQSxnQ0FBZ0MsWUFBWTtXQUM1QztXQUNBLEU7Ozs7O1dDUEE7V0FDQTtXQUNBO1dBQ0E7V0FDQSx3Q0FBd0MseUNBQXlDO1dBQ2pGO1dBQ0E7V0FDQSxFOzs7OztXQ1BBLHdGOzs7OztXQ0FBO1dBQ0E7V0FDQTtXQUNBLHNEQUFzRCxrQkFBa0I7V0FDeEU7V0FDQSwrQ0FBK0MsY0FBYztXQUM3RCxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTjJDO0FBQ1E7QUFDb0I7QUFDMUI7QUFDSjtBQUNPO0FBQ0o7QUFDRjs7QUFZeEMiLCJmaWxlIjoiYXItbmZ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwidGhyZWVcIikpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW1widGhyZWVcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiQVJqc1wiXSA9IGZhY3RvcnkocmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJBUmpzXCJdID0gZmFjdG9yeShyb290W1wiVEhSRUVcIl0pO1xufSkodGhpcywgZnVuY3Rpb24oX19XRUJQQUNLX0VYVEVSTkFMX01PRFVMRV90aHJlZV9fKSB7XG5yZXR1cm4gIiwiIWZ1bmN0aW9uKEEsSSl7XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHMmJlwib2JqZWN0XCI9PXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9SSgpOlwiZnVuY3Rpb25cIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoW10sSSk6XCJvYmplY3RcIj09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0cy5BUlRvb2xraXQ9SSgpOkEuQVJUb29sa2l0PUkoKX0oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybigoKT0+e3ZhciBBPXs3NTc6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDY2Nil9LDY2OTooQSxJLGcpPT57QS5leHBvcnRzPWcoNjA5KX0sNDQ4OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDI2KSxRPWcoMzcyKSxFPWcoMzI3KSxpPWcoOTcpLG89ZygxMDkpLEQ9Zyg5ODUpLGE9Zyg2MSksdz1nKDY1NSksRj1nKDI2Myk7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oSSxnKXt2YXIgRyxoPUEuZGF0YSxzPUEuaGVhZGVycyxSPUEucmVzcG9uc2VUeXBlO2Z1bmN0aW9uIFUoKXtBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKEcpLEEuc2lnbmFsJiZBLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIixHKX1CLmlzRm9ybURhdGEoaCkmJmRlbGV0ZSBzW1wiQ29udGVudC1UeXBlXCJdO3ZhciB5PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLmF1dGgpe3ZhciB0PUEuYXV0aC51c2VybmFtZXx8XCJcIixTPUEuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoQS5hdXRoLnBhc3N3b3JkKSk6XCJcIjtzLkF1dGhvcml6YXRpb249XCJCYXNpYyBcIitidG9hKHQrXCI6XCIrUyl9dmFyIE09aShBLmJhc2VVUkwsQS51cmwpO2Z1bmN0aW9uIG4oKXtpZih5KXt2YXIgQj1cImdldEFsbFJlc3BvbnNlSGVhZGVyc1wiaW4geT9vKHkuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpOm51bGwsUT17ZGF0YTpSJiZcInRleHRcIiE9PVImJlwianNvblwiIT09Uj95LnJlc3BvbnNlOnkucmVzcG9uc2VUZXh0LHN0YXR1czp5LnN0YXR1cyxzdGF0dXNUZXh0Onkuc3RhdHVzVGV4dCxoZWFkZXJzOkIsY29uZmlnOkEscmVxdWVzdDp5fTtDKChmdW5jdGlvbihBKXtJKEEpLFUoKX0pLChmdW5jdGlvbihBKXtnKEEpLFUoKX0pLFEpLHk9bnVsbH19aWYoeS5vcGVuKEEubWV0aG9kLnRvVXBwZXJDYXNlKCksRShNLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplciksITApLHkudGltZW91dD1BLnRpbWVvdXQsXCJvbmxvYWRlbmRcImluIHk/eS5vbmxvYWRlbmQ9bjp5Lm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3kmJjQ9PT15LnJlYWR5U3RhdGUmJigwIT09eS5zdGF0dXN8fHkucmVzcG9uc2VVUkwmJjA9PT15LnJlc3BvbnNlVVJMLmluZGV4T2YoXCJmaWxlOlwiKSkmJnNldFRpbWVvdXQobil9LHkub25hYm9ydD1mdW5jdGlvbigpe3kmJihnKGEoXCJSZXF1ZXN0IGFib3J0ZWRcIixBLFwiRUNPTk5BQk9SVEVEXCIseSkpLHk9bnVsbCl9LHkub25lcnJvcj1mdW5jdGlvbigpe2coYShcIk5ldHdvcmsgRXJyb3JcIixBLG51bGwseSkpLHk9bnVsbH0seS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgST1BLnRpbWVvdXQ/XCJ0aW1lb3V0IG9mIFwiK0EudGltZW91dCtcIm1zIGV4Y2VlZGVkXCI6XCJ0aW1lb3V0IGV4Y2VlZGVkXCIsQj1BLnRyYW5zaXRpb25hbHx8dy50cmFuc2l0aW9uYWw7QS50aW1lb3V0RXJyb3JNZXNzYWdlJiYoST1BLnRpbWVvdXRFcnJvck1lc3NhZ2UpLGcoYShJLEEsQi5jbGFyaWZ5VGltZW91dEVycm9yP1wiRVRJTUVET1VUXCI6XCJFQ09OTkFCT1JURURcIix5KSkseT1udWxsfSxCLmlzU3RhbmRhcmRCcm93c2VyRW52KCkpe3ZhciBjPShBLndpdGhDcmVkZW50aWFsc3x8RChNKSkmJkEueHNyZkNvb2tpZU5hbWU/US5yZWFkKEEueHNyZkNvb2tpZU5hbWUpOnZvaWQgMDtjJiYoc1tBLnhzcmZIZWFkZXJOYW1lXT1jKX1cInNldFJlcXVlc3RIZWFkZXJcImluIHkmJkIuZm9yRWFjaChzLChmdW5jdGlvbihBLEkpe3ZvaWQgMD09PWgmJlwiY29udGVudC10eXBlXCI9PT1JLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIHNbSV06eS5zZXRSZXF1ZXN0SGVhZGVyKEksQSl9KSksQi5pc1VuZGVmaW5lZChBLndpdGhDcmVkZW50aWFscyl8fCh5LndpdGhDcmVkZW50aWFscz0hIUEud2l0aENyZWRlbnRpYWxzKSxSJiZcImpzb25cIiE9PVImJih5LnJlc3BvbnNlVHlwZT1BLnJlc3BvbnNlVHlwZSksXCJmdW5jdGlvblwiPT10eXBlb2YgQS5vbkRvd25sb2FkUHJvZ3Jlc3MmJnkuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsQS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFwiZnVuY3Rpb25cIj09dHlwZW9mIEEub25VcGxvYWRQcm9ncmVzcyYmeS51cGxvYWQmJnkudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLEEub25VcGxvYWRQcm9ncmVzcyksKEEuY2FuY2VsVG9rZW58fEEuc2lnbmFsKSYmKEc9ZnVuY3Rpb24oQSl7eSYmKGcoIUF8fEEmJkEudHlwZT9uZXcgRihcImNhbmNlbGVkXCIpOkEpLHkuYWJvcnQoKSx5PW51bGwpfSxBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnN1YnNjcmliZShHKSxBLnNpZ25hbCYmKEEuc2lnbmFsLmFib3J0ZWQ/RygpOkEuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLEcpKSksaHx8KGg9bnVsbCkseS5zZW5kKGgpfSkpfX0sNjA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDg0OSksUT1nKDMyMSksRT1nKDE4NSksaT1mdW5jdGlvbiBBKEkpe3ZhciBnPW5ldyBRKEkpLGk9QyhRLnByb3RvdHlwZS5yZXF1ZXN0LGcpO3JldHVybiBCLmV4dGVuZChpLFEucHJvdG90eXBlLGcpLEIuZXh0ZW5kKGksZyksaS5jcmVhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIEEoRShJLGcpKX0saX0oZyg2NTUpKTtpLkF4aW9zPVEsaS5DYW5jZWw9ZygyNjMpLGkuQ2FuY2VsVG9rZW49Zyg5NzIpLGkuaXNDYW5jZWw9Zyg1MDIpLGkuVkVSU0lPTj1nKDI4OCkudmVyc2lvbixpLmFsbD1mdW5jdGlvbihBKXtyZXR1cm4gUHJvbWlzZS5hbGwoQSl9LGkuc3ByZWFkPWcoNzEzKSxpLmlzQXhpb3NFcnJvcj1nKDI2OCksQS5leHBvcnRzPWksQS5leHBvcnRzLmRlZmF1bHQ9aX0sMjYzOkE9PntcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBJKEEpe3RoaXMubWVzc2FnZT1BfUkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXCJDYW5jZWxcIisodGhpcy5tZXNzYWdlP1wiOiBcIit0aGlzLm1lc3NhZ2U6XCJcIil9LEkucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsQS5leHBvcnRzPUl9LDk3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9ZygyNjMpO2Z1bmN0aW9uIEMoQSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhlY3V0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uLlwiKTt2YXIgSTt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0k9QX0pKTt2YXIgZz10aGlzO3RoaXMucHJvbWlzZS50aGVuKChmdW5jdGlvbihBKXtpZihnLl9saXN0ZW5lcnMpe3ZhciBJLEI9Zy5fbGlzdGVuZXJzLmxlbmd0aDtmb3IoST0wO0k8QjtJKyspZy5fbGlzdGVuZXJzW0ldKEEpO2cuX2xpc3RlbmVycz1udWxsfX0pKSx0aGlzLnByb21pc2UudGhlbj1mdW5jdGlvbihBKXt2YXIgSSxCPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtnLnN1YnNjcmliZShBKSxJPUF9KSkudGhlbihBKTtyZXR1cm4gQi5jYW5jZWw9ZnVuY3Rpb24oKXtnLnVuc3Vic2NyaWJlKEkpfSxCfSxBKChmdW5jdGlvbihBKXtnLnJlYXNvbnx8KGcucmVhc29uPW5ldyBCKEEpLEkoZy5yZWFzb24pKX0pKX1DLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LEMucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihBKXt0aGlzLnJlYXNvbj9BKHRoaXMucmVhc29uKTp0aGlzLl9saXN0ZW5lcnM/dGhpcy5fbGlzdGVuZXJzLnB1c2goQSk6dGhpcy5fbGlzdGVuZXJzPVtBXX0sQy5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7aWYodGhpcy5fbGlzdGVuZXJzKXt2YXIgST10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihBKTstMSE9PUkmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UoSSwxKX19LEMuc291cmNlPWZ1bmN0aW9uKCl7dmFyIEE7cmV0dXJue3Rva2VuOm5ldyBDKChmdW5jdGlvbihJKXtBPUl9KSksY2FuY2VsOkF9fSxBLmV4cG9ydHM9Q30sNTAyOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuISghQXx8IUEuX19DQU5DRUxfXyl9fSwzMjE6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoMzI3KSxRPWcoNzgyKSxFPWcoNTcyKSxpPWcoMTg1KSxvPWcoODc1KSxEPW8udmFsaWRhdG9ycztmdW5jdGlvbiBhKEEpe3RoaXMuZGVmYXVsdHM9QSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgUSxyZXNwb25zZTpuZXcgUX19YS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihBKXtcInN0cmluZ1wiPT10eXBlb2YgQT8oQT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOkE9QXx8e30sKEE9aSh0aGlzLmRlZmF1bHRzLEEpKS5tZXRob2Q/QS5tZXRob2Q9QS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9BLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOkEubWV0aG9kPVwiZ2V0XCI7dmFyIEk9QS50cmFuc2l0aW9uYWw7dm9pZCAwIT09SSYmby5hc3NlcnRPcHRpb25zKEkse3NpbGVudEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksZm9yY2VkSlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxjbGFyaWZ5VGltZW91dEVycm9yOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbil9LCExKTt2YXIgZz1bXSxCPSEwO3RoaXMuaW50ZXJjZXB0b3JzLnJlcXVlc3QuZm9yRWFjaCgoZnVuY3Rpb24oSSl7XCJmdW5jdGlvblwiPT10eXBlb2YgSS5ydW5XaGVuJiYhMT09PUkucnVuV2hlbihBKXx8KEI9QiYmSS5zeW5jaHJvbm91cyxnLnVuc2hpZnQoSS5mdWxmaWxsZWQsSS5yZWplY3RlZCkpfSkpO3ZhciBDLFE9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oQSl7US5wdXNoKEEuZnVsZmlsbGVkLEEucmVqZWN0ZWQpfSkpLCFCKXt2YXIgYT1bRSx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShhLGcpLGE9YS5jb25jYXQoUSksQz1Qcm9taXNlLnJlc29sdmUoQSk7YS5sZW5ndGg7KUM9Qy50aGVuKGEuc2hpZnQoKSxhLnNoaWZ0KCkpO3JldHVybiBDfWZvcih2YXIgdz1BO2cubGVuZ3RoOyl7dmFyIEY9Zy5zaGlmdCgpLEc9Zy5zaGlmdCgpO3RyeXt3PUYodyl9Y2F0Y2goQSl7RyhBKTticmVha319dHJ5e0M9RSh3KX1jYXRjaChBKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoQSl9Zm9yKDtRLmxlbmd0aDspQz1DLnRoZW4oUS5zaGlmdCgpLFEuc2hpZnQoKSk7cmV0dXJuIEN9LGEucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihBKXtyZXR1cm4gQT1pKHRoaXMuZGVmYXVsdHMsQSksQyhBLnVybCxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLFwiXCIpfSxCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcIm9wdGlvbnNcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyl7cmV0dXJuIHRoaXMucmVxdWVzdChpKGd8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOihnfHx7fSkuZGF0YX0pKX19KSksQi5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyxCKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkoQnx8e30se21ldGhvZDpBLHVybDpJLGRhdGE6Z30pKX19KSksQS5leHBvcnRzPWF9LDc4MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO2Z1bmN0aW9uIEMoKXt0aGlzLmhhbmRsZXJzPVtdfUMucHJvdG90eXBlLnVzZT1mdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuaGFuZGxlcnMucHVzaCh7ZnVsZmlsbGVkOkEscmVqZWN0ZWQ6SSxzeW5jaHJvbm91czohIWcmJmcuc3luY2hyb25vdXMscnVuV2hlbjpnP2cucnVuV2hlbjpudWxsfSksdGhpcy5oYW5kbGVycy5sZW5ndGgtMX0sQy5wcm90b3R5cGUuZWplY3Q9ZnVuY3Rpb24oQSl7dGhpcy5oYW5kbGVyc1tBXSYmKHRoaXMuaGFuZGxlcnNbQV09bnVsbCl9LEMucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oQSl7Qi5mb3JFYWNoKHRoaXMuaGFuZGxlcnMsKGZ1bmN0aW9uKEkpe251bGwhPT1JJiZBKEkpfSkpfSxBLmV4cG9ydHM9Q30sOTc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNzkzKSxDPWcoMzAzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSYmIUIoSSk/QyhBLEkpOkl9fSw2MTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg0ODEpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxDLFEpe3ZhciBFPW5ldyBFcnJvcihBKTtyZXR1cm4gQihFLEksZyxDLFEpfX0sNTcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDUyNyksUT1nKDUwMiksRT1nKDY1NSksaT1nKDI2Myk7ZnVuY3Rpb24gbyhBKXtpZihBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnRocm93SWZSZXF1ZXN0ZWQoKSxBLnNpZ25hbCYmQS5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgaShcImNhbmNlbGVkXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbyhBKSxBLmhlYWRlcnM9QS5oZWFkZXJzfHx7fSxBLmRhdGE9Qy5jYWxsKEEsQS5kYXRhLEEuaGVhZGVycyxBLnRyYW5zZm9ybVJlcXVlc3QpLEEuaGVhZGVycz1CLm1lcmdlKEEuaGVhZGVycy5jb21tb258fHt9LEEuaGVhZGVyc1tBLm1ldGhvZF18fHt9LEEuaGVhZGVycyksQi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCIsXCJjb21tb25cIl0sKGZ1bmN0aW9uKEkpe2RlbGV0ZSBBLmhlYWRlcnNbSV19KSksKEEuYWRhcHRlcnx8RS5hZGFwdGVyKShBKS50aGVuKChmdW5jdGlvbihJKXtyZXR1cm4gbyhBKSxJLmRhdGE9Qy5jYWxsKEEsSS5kYXRhLEkuaGVhZGVycyxBLnRyYW5zZm9ybVJlc3BvbnNlKSxJfSksKGZ1bmN0aW9uKEkpe3JldHVybiBRKEkpfHwobyhBKSxJJiZJLnJlc3BvbnNlJiYoSS5yZXNwb25zZS5kYXRhPUMuY2FsbChBLEkucmVzcG9uc2UuZGF0YSxJLnJlc3BvbnNlLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChJKX0pKX19LDQ4MTpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEuY29uZmlnPUksZyYmKEEuY29kZT1nKSxBLnJlcXVlc3Q9QixBLnJlc3BvbnNlPUMsQS5pc0F4aW9zRXJyb3I9ITAsQS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57bWVzc2FnZTp0aGlzLm1lc3NhZ2UsbmFtZTp0aGlzLm5hbWUsZGVzY3JpcHRpb246dGhpcy5kZXNjcmlwdGlvbixudW1iZXI6dGhpcy5udW1iZXIsZmlsZU5hbWU6dGhpcy5maWxlTmFtZSxsaW5lTnVtYmVyOnRoaXMubGluZU51bWJlcixjb2x1bW5OdW1iZXI6dGhpcy5jb2x1bW5OdW1iZXIsc3RhY2s6dGhpcy5zdGFjayxjb25maWc6dGhpcy5jb25maWcsY29kZTp0aGlzLmNvZGUsc3RhdHVzOnRoaXMucmVzcG9uc2UmJnRoaXMucmVzcG9uc2Uuc3RhdHVzP3RoaXMucmVzcG9uc2Uuc3RhdHVzOm51bGx9fSxBfX0sMTg1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7ST1JfHx7fTt2YXIgZz17fTtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuIEIuaXNQbGFpbk9iamVjdChBKSYmQi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2UoQSxJKTpCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZSh7fSxJKTpCLmlzQXJyYXkoSSk/SS5zbGljZSgpOkl9ZnVuY3Rpb24gUShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKEFbZ10sSVtnXSl9ZnVuY3Rpb24gRShBKXtpZighQi5pc1VuZGVmaW5lZChJW0FdKSlyZXR1cm4gQyh2b2lkIDAsSVtBXSl9ZnVuY3Rpb24gaShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKHZvaWQgMCxJW2ddKX1mdW5jdGlvbiBvKGcpe3JldHVybiBnIGluIEk/QyhBW2ddLElbZ10pOmcgaW4gQT9DKHZvaWQgMCxBW2ddKTp2b2lkIDB9dmFyIEQ9e3VybDpFLG1ldGhvZDpFLGRhdGE6RSxiYXNlVVJMOmksdHJhbnNmb3JtUmVxdWVzdDppLHRyYW5zZm9ybVJlc3BvbnNlOmkscGFyYW1zU2VyaWFsaXplcjppLHRpbWVvdXQ6aSx0aW1lb3V0TWVzc2FnZTppLHdpdGhDcmVkZW50aWFsczppLGFkYXB0ZXI6aSxyZXNwb25zZVR5cGU6aSx4c3JmQ29va2llTmFtZTppLHhzcmZIZWFkZXJOYW1lOmksb25VcGxvYWRQcm9ncmVzczppLG9uRG93bmxvYWRQcm9ncmVzczppLGRlY29tcHJlc3M6aSxtYXhDb250ZW50TGVuZ3RoOmksbWF4Qm9keUxlbmd0aDppLHRyYW5zcG9ydDppLGh0dHBBZ2VudDppLGh0dHBzQWdlbnQ6aSxjYW5jZWxUb2tlbjppLHNvY2tldFBhdGg6aSxyZXNwb25zZUVuY29kaW5nOmksdmFsaWRhdGVTdGF0dXM6b307cmV0dXJuIEIuZm9yRWFjaChPYmplY3Qua2V5cyhBKS5jb25jYXQoT2JqZWN0LmtleXMoSSkpLChmdW5jdGlvbihBKXt2YXIgST1EW0FdfHxRLEM9SShBKTtCLmlzVW5kZWZpbmVkKEMpJiZJIT09b3x8KGdbQV09Qyl9KSksZ319LDI2OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDYxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBDPWcuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2cuc3RhdHVzJiZDJiYhQyhnLnN0YXR1cyk/SShCKFwiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSBcIitnLnN0YXR1cyxnLmNvbmZpZyxudWxsLGcucmVxdWVzdCxnKSk6QShnKX19LDUyNzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg2NTUpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIFE9dGhpc3x8QztyZXR1cm4gQi5mb3JFYWNoKGcsKGZ1bmN0aW9uKGcpe0E9Zy5jYWxsKFEsQSxJKX0pKSxBfX0sNjU1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDE2KSxRPWcoNDgxKSxFPXtcIkNvbnRlbnQtVHlwZVwiOlwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJ9O2Z1bmN0aW9uIGkoQSxJKXshQi5pc1VuZGVmaW5lZChBKSYmQi5pc1VuZGVmaW5lZChBW1wiQ29udGVudC1UeXBlXCJdKSYmKEFbXCJDb250ZW50LVR5cGVcIl09SSl9dmFyIG8sRD17dHJhbnNpdGlvbmFsOntzaWxlbnRKU09OUGFyc2luZzohMCxmb3JjZWRKU09OUGFyc2luZzohMCxjbGFyaWZ5VGltZW91dEVycm9yOiExfSxhZGFwdGVyOigoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJvY2VzcyYmXCJbb2JqZWN0IHByb2Nlc3NdXCI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocHJvY2VzcykpJiYobz1nKDQ0OCkpLG8pLHRyYW5zZm9ybVJlcXVlc3Q6W2Z1bmN0aW9uKEEsSSl7cmV0dXJuIEMoSSxcIkFjY2VwdFwiKSxDKEksXCJDb250ZW50LVR5cGVcIiksQi5pc0Zvcm1EYXRhKEEpfHxCLmlzQXJyYXlCdWZmZXIoQSl8fEIuaXNCdWZmZXIoQSl8fEIuaXNTdHJlYW0oQSl8fEIuaXNGaWxlKEEpfHxCLmlzQmxvYihBKT9BOkIuaXNBcnJheUJ1ZmZlclZpZXcoQSk/QS5idWZmZXI6Qi5pc1VSTFNlYXJjaFBhcmFtcyhBKT8oaShJLFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcIiksQS50b1N0cmluZygpKTpCLmlzT2JqZWN0KEEpfHxJJiZcImFwcGxpY2F0aW9uL2pzb25cIj09PUlbXCJDb250ZW50LVR5cGVcIl0/KGkoSSxcImFwcGxpY2F0aW9uL2pzb25cIiksZnVuY3Rpb24oQSxJLGcpe2lmKEIuaXNTdHJpbmcoQSkpdHJ5e3JldHVybigwLEpTT04ucGFyc2UpKEEpLEIudHJpbShBKX1jYXRjaChBKXtpZihcIlN5bnRheEVycm9yXCIhPT1BLm5hbWUpdGhyb3cgQX1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoQSl9KEEpKTpBfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKEEpe3ZhciBJPXRoaXMudHJhbnNpdGlvbmFsfHxELnRyYW5zaXRpb25hbCxnPUkmJkkuc2lsZW50SlNPTlBhcnNpbmcsQz1JJiZJLmZvcmNlZEpTT05QYXJzaW5nLEU9IWcmJlwianNvblwiPT09dGhpcy5yZXNwb25zZVR5cGU7aWYoRXx8QyYmQi5pc1N0cmluZyhBKSYmQS5sZW5ndGgpdHJ5e3JldHVybiBKU09OLnBhcnNlKEEpfWNhdGNoKEEpe2lmKEUpe2lmKFwiU3ludGF4RXJyb3JcIj09PUEubmFtZSl0aHJvdyBRKEEsdGhpcyxcIkVfSlNPTl9QQVJTRVwiKTt0aHJvdyBBfX1yZXR1cm4gQX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcIlhTUkYtVE9LRU5cIix4c3JmSGVhZGVyTmFtZTpcIlgtWFNSRi1UT0tFTlwiLG1heENvbnRlbnRMZW5ndGg6LTEsbWF4Qm9keUxlbmd0aDotMSx2YWxpZGF0ZVN0YXR1czpmdW5jdGlvbihBKXtyZXR1cm4gQT49MjAwJiZBPDMwMH0saGVhZGVyczp7Y29tbW9uOntBY2NlcHQ6XCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcIn19fTtCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT17fX0pKSxCLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPUIubWVyZ2UoRSl9KSksQS5leHBvcnRzPUR9LDI4ODpBPT57QS5leHBvcnRzPXt2ZXJzaW9uOlwiMC4yNC4wXCJ9fSw4NDk6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgZz1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCksQj0wO0I8Zy5sZW5ndGg7QisrKWdbQl09YXJndW1lbnRzW0JdO3JldHVybiBBLmFwcGx5KEksZyl9fX0sMzI3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEEpLnJlcGxhY2UoLyUzQS9naSxcIjpcIikucmVwbGFjZSgvJTI0L2csXCIkXCIpLnJlcGxhY2UoLyUyQy9naSxcIixcIikucmVwbGFjZSgvJTIwL2csXCIrXCIpLnJlcGxhY2UoLyU1Qi9naSxcIltcIikucmVwbGFjZSgvJTVEL2dpLFwiXVwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe2lmKCFJKXJldHVybiBBO3ZhciBRO2lmKGcpUT1nKEkpO2Vsc2UgaWYoQi5pc1VSTFNlYXJjaFBhcmFtcyhJKSlRPUkudG9TdHJpbmcoKTtlbHNle3ZhciBFPVtdO0IuZm9yRWFjaChJLChmdW5jdGlvbihBLEkpe251bGwhPUEmJihCLmlzQXJyYXkoQSk/SSs9XCJbXVwiOkE9W0FdLEIuZm9yRWFjaChBLChmdW5jdGlvbihBKXtCLmlzRGF0ZShBKT9BPUEudG9JU09TdHJpbmcoKTpCLmlzT2JqZWN0KEEpJiYoQT1KU09OLnN0cmluZ2lmeShBKSksRS5wdXNoKEMoSSkrXCI9XCIrQyhBKSl9KSkpfSkpLFE9RS5qb2luKFwiJlwiKX1pZihRKXt2YXIgaT1BLmluZGV4T2YoXCIjXCIpOy0xIT09aSYmKEE9QS5zbGljZSgwLGkpKSxBKz0oLTE9PT1BLmluZGV4T2YoXCI/XCIpP1wiP1wiOlwiJlwiKStRfXJldHVybiBBfX0sMzAzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9BLnJlcGxhY2UoL1xcLyskLyxcIlwiKStcIi9cIitJLnJlcGxhY2UoL15cXC8rLyxcIlwiKTpBfX0sMzcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRLEUpe3ZhciBpPVtdO2kucHVzaChBK1wiPVwiK2VuY29kZVVSSUNvbXBvbmVudChJKSksQi5pc051bWJlcihnKSYmaS5wdXNoKFwiZXhwaXJlcz1cIituZXcgRGF0ZShnKS50b0dNVFN0cmluZygpKSxCLmlzU3RyaW5nKEMpJiZpLnB1c2goXCJwYXRoPVwiK0MpLEIuaXNTdHJpbmcoUSkmJmkucHVzaChcImRvbWFpbj1cIitRKSwhMD09PUUmJmkucHVzaChcInNlY3VyZVwiKSxkb2N1bWVudC5jb29raWU9aS5qb2luKFwiOyBcIil9LHJlYWQ6ZnVuY3Rpb24oQSl7dmFyIEk9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXCIoXnw7XFxcXHMqKShcIitBK1wiKT0oW147XSopXCIpKTtyZXR1cm4gST9kZWNvZGVVUklDb21wb25lbnQoSVszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKEEpe3RoaXMud3JpdGUoQSxcIlwiLERhdGUubm93KCktODY0ZTUpfX06e3dyaXRlOmZ1bmN0aW9uKCl7fSxyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHJlbW92ZTpmdW5jdGlvbigpe319fSw3OTM6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcXGRcXCtcXC1cXC5dKjopP1xcL1xcLy9pLnRlc3QoQSl9fSwyNjg6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm5cIm9iamVjdFwiPT10eXBlb2YgQSYmITA9PT1BLmlzQXhpb3NFcnJvcn19LDk4NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgQSxJPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtmdW5jdGlvbiBDKEEpe3ZhciBCPUE7cmV0dXJuIEkmJihnLnNldEF0dHJpYnV0ZShcImhyZWZcIixCKSxCPWcuaHJlZiksZy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsQikse2hyZWY6Zy5ocmVmLHByb3RvY29sOmcucHJvdG9jb2w/Zy5wcm90b2NvbC5yZXBsYWNlKC86JC8sXCJcIik6XCJcIixob3N0OmcuaG9zdCxzZWFyY2g6Zy5zZWFyY2g/Zy5zZWFyY2gucmVwbGFjZSgvXlxcPy8sXCJcIik6XCJcIixoYXNoOmcuaGFzaD9nLmhhc2gucmVwbGFjZSgvXiMvLFwiXCIpOlwiXCIsaG9zdG5hbWU6Zy5ob3N0bmFtZSxwb3J0OmcucG9ydCxwYXRobmFtZTpcIi9cIj09PWcucGF0aG5hbWUuY2hhckF0KDApP2cucGF0aG5hbWU6XCIvXCIrZy5wYXRobmFtZX19cmV0dXJuIEE9Qyh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oSSl7dmFyIGc9Qi5pc1N0cmluZyhJKT9DKEkpOkk7cmV0dXJuIGcucHJvdG9jb2w9PT1BLnByb3RvY29sJiZnLmhvc3Q9PT1BLmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSwxNjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe0IuZm9yRWFjaChBLChmdW5jdGlvbihnLEIpe0IhPT1JJiZCLnRvVXBwZXJDYXNlKCk9PT1JLnRvVXBwZXJDYXNlKCkmJihBW0ldPWcsZGVsZXRlIEFbQl0pfSkpfX0sMTA5OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1bXCJhZ2VcIixcImF1dGhvcml6YXRpb25cIixcImNvbnRlbnQtbGVuZ3RoXCIsXCJjb250ZW50LXR5cGVcIixcImV0YWdcIixcImV4cGlyZXNcIixcImZyb21cIixcImhvc3RcIixcImlmLW1vZGlmaWVkLXNpbmNlXCIsXCJpZi11bm1vZGlmaWVkLXNpbmNlXCIsXCJsYXN0LW1vZGlmaWVkXCIsXCJsb2NhdGlvblwiLFwibWF4LWZvcndhcmRzXCIsXCJwcm94eS1hdXRob3JpemF0aW9uXCIsXCJyZWZlcmVyXCIsXCJyZXRyeS1hZnRlclwiLFwidXNlci1hZ2VudFwiXTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7dmFyIEksZyxRLEU9e307cmV0dXJuIEE/KEIuZm9yRWFjaChBLnNwbGl0KFwiXFxuXCIpLChmdW5jdGlvbihBKXtpZihRPUEuaW5kZXhPZihcIjpcIiksST1CLnRyaW0oQS5zdWJzdHIoMCxRKSkudG9Mb3dlckNhc2UoKSxnPUIudHJpbShBLnN1YnN0cihRKzEpKSxJKXtpZihFW0ldJiZDLmluZGV4T2YoSSk+PTApcmV0dXJuO0VbSV09XCJzZXQtY29va2llXCI9PT1JPyhFW0ldP0VbSV06W10pLmNvbmNhdChbZ10pOkVbSV0/RVtJXStcIiwgXCIrZzpnfX0pKSxFKTpFfX0sNzEzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KG51bGwsSSl9fX0sODc1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDI4OCkudmVyc2lvbixDPXt9O1tcIm9iamVjdFwiLFwiYm9vbGVhblwiLFwibnVtYmVyXCIsXCJmdW5jdGlvblwiLFwic3RyaW5nXCIsXCJzeW1ib2xcIl0uZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtDW0FdPWZ1bmN0aW9uKGcpe3JldHVybiB0eXBlb2YgZz09PUF8fFwiYVwiKyhJPDE/XCJuIFwiOlwiIFwiKStBfX0pKTt2YXIgUT17fTtDLnRyYW5zaXRpb25hbD1mdW5jdGlvbihBLEksZyl7ZnVuY3Rpb24gQyhBLEkpe3JldHVyblwiW0F4aW9zIHZcIitCK1wiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICdcIitBK1wiJ1wiK0krKGc/XCIuIFwiK2c6XCJcIil9cmV0dXJuIGZ1bmN0aW9uKGcsQixFKXtpZighMT09PUEpdGhyb3cgbmV3IEVycm9yKEMoQixcIiBoYXMgYmVlbiByZW1vdmVkXCIrKEk/XCIgaW4gXCIrSTpcIlwiKSkpO3JldHVybiBJJiYhUVtCXSYmKFFbQl09ITAsY29uc29sZS53YXJuKEMoQixcIiBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIHZcIitJK1wiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlXCIpKSksIUF8fEEoZyxCLEUpfX0sQS5leHBvcnRzPXthc3NlcnRPcHRpb25zOmZ1bmN0aW9uKEEsSSxnKXtpZihcIm9iamVjdFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9ucyBtdXN0IGJlIGFuIG9iamVjdFwiKTtmb3IodmFyIEI9T2JqZWN0LmtleXMoQSksQz1CLmxlbmd0aDtDLS0gPjA7KXt2YXIgUT1CW0NdLEU9SVtRXTtpZihFKXt2YXIgaT1BW1FdLG89dm9pZCAwPT09aXx8RShpLFEsQSk7aWYoITAhPT1vKXRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gXCIrUStcIiBtdXN0IGJlIFwiK28pfWVsc2UgaWYoITAhPT1nKXRocm93IEVycm9yKFwiVW5rbm93biBvcHRpb24gXCIrUSl9fSx2YWxpZGF0b3JzOkN9fSw4Njc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODQ5KSxDPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gUShBKXtyZXR1cm5cIltvYmplY3QgQXJyYXldXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gRShBKXtyZXR1cm4gdm9pZCAwPT09QX1mdW5jdGlvbiBpKEEpe3JldHVybiBudWxsIT09QSYmXCJvYmplY3RcIj09dHlwZW9mIEF9ZnVuY3Rpb24gbyhBKXtpZihcIltvYmplY3QgT2JqZWN0XVwiIT09Qy5jYWxsKEEpKXJldHVybiExO3ZhciBJPU9iamVjdC5nZXRQcm90b3R5cGVPZihBKTtyZXR1cm4gbnVsbD09PUl8fEk9PT1PYmplY3QucHJvdG90eXBlfWZ1bmN0aW9uIEQoQSl7cmV0dXJuXCJbb2JqZWN0IEZ1bmN0aW9uXVwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIGEoQSxJKXtpZihudWxsIT1BKWlmKFwib2JqZWN0XCIhPXR5cGVvZiBBJiYoQT1bQV0pLFEoQSkpZm9yKHZhciBnPTAsQj1BLmxlbmd0aDtnPEI7ZysrKUkuY2FsbChudWxsLEFbZ10sZyxBKTtlbHNlIGZvcih2YXIgQyBpbiBBKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEMpJiZJLmNhbGwobnVsbCxBW0NdLEMsQSl9QS5leHBvcnRzPXtpc0FycmF5OlEsaXNBcnJheUJ1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQXJyYXlCdWZmZXJdXCI9PT1DLmNhbGwoQSl9LGlzQnVmZmVyOmZ1bmN0aW9uKEEpe3JldHVybiBudWxsIT09QSYmIUUoQSkmJm51bGwhPT1BLmNvbnN0cnVjdG9yJiYhRShBLmNvbnN0cnVjdG9yKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihBKX0saXNGb3JtRGF0YTpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgRm9ybURhdGEmJkEgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KEEpOkEmJkEuYnVmZmVyJiZBLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfSxpc1N0cmluZzpmdW5jdGlvbihBKXtyZXR1cm5cInN0cmluZ1wiPT10eXBlb2YgQX0saXNOdW1iZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIEF9LGlzT2JqZWN0OmksaXNQbGFpbk9iamVjdDpvLGlzVW5kZWZpbmVkOkUsaXNEYXRlOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBEYXRlXVwiPT09Qy5jYWxsKEEpfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEZpbGVdXCI9PT1DLmNhbGwoQSl9LGlzQmxvYjpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgQmxvYl1cIj09PUMuY2FsbChBKX0saXNGdW5jdGlvbjpELGlzU3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpKEEpJiZEKEEucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBVUkxTZWFyY2hQYXJhbXMmJkEgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXN9LGlzU3RhbmRhcmRCcm93c2VyRW52OmZ1bmN0aW9uKCl7cmV0dXJuKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFwiUmVhY3ROYXRpdmVcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5hdGl2ZVNjcmlwdFwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTlNcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50fSxmb3JFYWNoOmEsbWVyZ2U6ZnVuY3Rpb24gQSgpe3ZhciBJPXt9O2Z1bmN0aW9uIGcoZyxCKXtvKElbQl0pJiZvKGcpP0lbQl09QShJW0JdLGcpOm8oZyk/SVtCXT1BKHt9LGcpOlEoZyk/SVtCXT1nLnNsaWNlKCk6SVtCXT1nfWZvcih2YXIgQj0wLEM9YXJndW1lbnRzLmxlbmd0aDtCPEM7QisrKWEoYXJndW1lbnRzW0JdLGcpO3JldHVybiBJfSxleHRlbmQ6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBhKEksKGZ1bmN0aW9uKEksQyl7QVtDXT1nJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBJP0IoSSxnKTpJfSkpLEF9LHRyaW06ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJpbT9BLnRyaW0oKTpBLnJlcGxhY2UoL15cXHMrfFxccyskL2csXCJcIil9LHN0cmlwQk9NOmZ1bmN0aW9uKEEpe3JldHVybiA2NTI3OT09PUEuY2hhckNvZGVBdCgwKSYmKEE9QS5zbGljZSgxKSksQX19fSw2NjY6QT0+e3ZhciBJPWZ1bmN0aW9uKEEpe1widXNlIHN0cmljdFwiO3ZhciBJLGc9T2JqZWN0LnByb3RvdHlwZSxCPWcuaGFzT3duUHJvcGVydHksQz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LFE9Qy5pdGVyYXRvcnx8XCJAQGl0ZXJhdG9yXCIsRT1DLmFzeW5jSXRlcmF0b3J8fFwiQEBhc3luY0l0ZXJhdG9yXCIsaT1DLnRvU3RyaW5nVGFnfHxcIkBAdG9TdHJpbmdUYWdcIjtmdW5jdGlvbiBvKEEsSSxnKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLEFbSV19dHJ5e28oe30sXCJcIil9Y2F0Y2goQSl7bz1mdW5jdGlvbihBLEksZyl7cmV0dXJuIEFbSV09Z319ZnVuY3Rpb24gRChBLEksZyxCKXt2YXIgQz1JJiZJLnByb3RvdHlwZSBpbnN0YW5jZW9mIFI/STpSLFE9T2JqZWN0LmNyZWF0ZShDLnByb3RvdHlwZSksRT1uZXcgWShCfHxbXSk7cmV0dXJuIFEuX2ludm9rZT1mdW5jdGlvbihBLEksZyl7dmFyIEI9dztyZXR1cm4gZnVuY3Rpb24oQyxRKXtpZihCPT09Ryl0aHJvdyBuZXcgRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXCIpO2lmKEI9PT1oKXtpZihcInRocm93XCI9PT1DKXRocm93IFE7cmV0dXJuIEooKX1mb3IoZy5tZXRob2Q9QyxnLmFyZz1ROzspe3ZhciBFPWcuZGVsZWdhdGU7aWYoRSl7dmFyIGk9ayhFLGcpO2lmKGkpe2lmKGk9PT1zKWNvbnRpbnVlO3JldHVybiBpfX1pZihcIm5leHRcIj09PWcubWV0aG9kKWcuc2VudD1nLl9zZW50PWcuYXJnO2Vsc2UgaWYoXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEI9PT13KXRocm93IEI9aCxnLmFyZztnLmRpc3BhdGNoRXhjZXB0aW9uKGcuYXJnKX1lbHNlXCJyZXR1cm5cIj09PWcubWV0aG9kJiZnLmFicnVwdChcInJldHVyblwiLGcuYXJnKTtCPUc7dmFyIG89YShBLEksZyk7aWYoXCJub3JtYWxcIj09PW8udHlwZSl7aWYoQj1nLmRvbmU/aDpGLG8uYXJnPT09cyljb250aW51ZTtyZXR1cm57dmFsdWU6by5hcmcsZG9uZTpnLmRvbmV9fVwidGhyb3dcIj09PW8udHlwZSYmKEI9aCxnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9by5hcmcpfX19KEEsZyxFKSxRfWZ1bmN0aW9uIGEoQSxJLGcpe3RyeXtyZXR1cm57dHlwZTpcIm5vcm1hbFwiLGFyZzpBLmNhbGwoSSxnKX19Y2F0Y2goQSl7cmV0dXJue3R5cGU6XCJ0aHJvd1wiLGFyZzpBfX19QS53cmFwPUQ7dmFyIHc9XCJzdXNwZW5kZWRTdGFydFwiLEY9XCJzdXNwZW5kZWRZaWVsZFwiLEc9XCJleGVjdXRpbmdcIixoPVwiY29tcGxldGVkXCIscz17fTtmdW5jdGlvbiBSKCl7fWZ1bmN0aW9uIFUoKXt9ZnVuY3Rpb24geSgpe312YXIgdD17fTtvKHQsUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgUz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsTT1TJiZTKFMoZShbXSkpKTtNJiZNIT09ZyYmQi5jYWxsKE0sUSkmJih0PU0pO3ZhciBuPXkucHJvdG90eXBlPVIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCk7ZnVuY3Rpb24gYyhBKXtbXCJuZXh0XCIsXCJ0aHJvd1wiLFwicmV0dXJuXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe28oQSxJLChmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5faW52b2tlKEksQSl9KSl9KSl9ZnVuY3Rpb24gcihBLEkpe2Z1bmN0aW9uIGcoQyxRLEUsaSl7dmFyIG89YShBW0NdLEEsUSk7aWYoXCJ0aHJvd1wiIT09by50eXBlKXt2YXIgRD1vLmFyZyx3PUQudmFsdWU7cmV0dXJuIHcmJlwib2JqZWN0XCI9PXR5cGVvZiB3JiZCLmNhbGwodyxcIl9fYXdhaXRcIik/SS5yZXNvbHZlKHcuX19hd2FpdCkudGhlbigoZnVuY3Rpb24oQSl7ZyhcIm5leHRcIixBLEUsaSl9KSwoZnVuY3Rpb24oQSl7ZyhcInRocm93XCIsQSxFLGkpfSkpOkkucmVzb2x2ZSh3KS50aGVuKChmdW5jdGlvbihBKXtELnZhbHVlPUEsRShEKX0pLChmdW5jdGlvbihBKXtyZXR1cm4gZyhcInRocm93XCIsQSxFLGkpfSkpfWkoby5hcmcpfXZhciBDO3RoaXMuX2ludm9rZT1mdW5jdGlvbihBLEIpe2Z1bmN0aW9uIFEoKXtyZXR1cm4gbmV3IEkoKGZ1bmN0aW9uKEksQyl7ZyhBLEIsSSxDKX0pKX1yZXR1cm4gQz1DP0MudGhlbihRLFEpOlEoKX19ZnVuY3Rpb24gayhBLGcpe3ZhciBCPUEuaXRlcmF0b3JbZy5tZXRob2RdO2lmKEI9PT1JKXtpZihnLmRlbGVnYXRlPW51bGwsXCJ0aHJvd1wiPT09Zy5tZXRob2Qpe2lmKEEuaXRlcmF0b3IucmV0dXJuJiYoZy5tZXRob2Q9XCJyZXR1cm5cIixnLmFyZz1JLGsoQSxnKSxcInRocm93XCI9PT1nLm1ldGhvZCkpcmV0dXJuIHM7Zy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kXCIpfXJldHVybiBzfXZhciBDPWEoQixBLml0ZXJhdG9yLGcuYXJnKTtpZihcInRocm93XCI9PT1DLnR5cGUpcmV0dXJuIGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1DLmFyZyxnLmRlbGVnYXRlPW51bGwsczt2YXIgUT1DLmFyZztyZXR1cm4gUT9RLmRvbmU/KGdbQS5yZXN1bHROYW1lXT1RLnZhbHVlLGcubmV4dD1BLm5leHRMb2MsXCJyZXR1cm5cIiE9PWcubWV0aG9kJiYoZy5tZXRob2Q9XCJuZXh0XCIsZy5hcmc9SSksZy5kZWxlZ2F0ZT1udWxsLHMpOlE6KGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1uZXcgVHlwZUVycm9yKFwiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3RcIiksZy5kZWxlZ2F0ZT1udWxsLHMpfWZ1bmN0aW9uIEsoQSl7dmFyIEk9e3RyeUxvYzpBWzBdfTsxIGluIEEmJihJLmNhdGNoTG9jPUFbMV0pLDIgaW4gQSYmKEkuZmluYWxseUxvYz1BWzJdLEkuYWZ0ZXJMb2M9QVszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goSSl9ZnVuY3Rpb24gTihBKXt2YXIgST1BLmNvbXBsZXRpb258fHt9O0kudHlwZT1cIm5vcm1hbFwiLGRlbGV0ZSBJLmFyZyxBLmNvbXBsZXRpb249SX1mdW5jdGlvbiBZKEEpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzpcInJvb3RcIn1dLEEuZm9yRWFjaChLLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGUoQSl7aWYoQSl7dmFyIGc9QVtRXTtpZihnKXJldHVybiBnLmNhbGwoQSk7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5uZXh0KXJldHVybiBBO2lmKCFpc05hTihBLmxlbmd0aCkpe3ZhciBDPS0xLEU9ZnVuY3Rpb24gZygpe2Zvcig7KytDPEEubGVuZ3RoOylpZihCLmNhbGwoQSxDKSlyZXR1cm4gZy52YWx1ZT1BW0NdLGcuZG9uZT0hMSxnO3JldHVybiBnLnZhbHVlPUksZy5kb25lPSEwLGd9O3JldHVybiBFLm5leHQ9RX19cmV0dXJue25leHQ6Sn19ZnVuY3Rpb24gSigpe3JldHVybnt2YWx1ZTpJLGRvbmU6ITB9fXJldHVybiBVLnByb3RvdHlwZT15LG8obixcImNvbnN0cnVjdG9yXCIseSksbyh5LFwiY29uc3RydWN0b3JcIixVKSxVLmRpc3BsYXlOYW1lPW8oeSxpLFwiR2VuZXJhdG9yRnVuY3Rpb25cIiksQS5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKEEpe3ZhciBJPVwiZnVuY3Rpb25cIj09dHlwZW9mIEEmJkEuY29uc3RydWN0b3I7cmV0dXJuISFJJiYoST09PVV8fFwiR2VuZXJhdG9yRnVuY3Rpb25cIj09PShJLmRpc3BsYXlOYW1lfHxJLm5hbWUpKX0sQS5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEseSk6KEEuX19wcm90b19fPXksbyhBLGksXCJHZW5lcmF0b3JGdW5jdGlvblwiKSksQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuKSxBfSxBLmF3cmFwPWZ1bmN0aW9uKEEpe3JldHVybntfX2F3YWl0OkF9fSxjKHIucHJvdG90eXBlKSxvKHIucHJvdG90eXBlLEUsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksQS5Bc3luY0l0ZXJhdG9yPXIsQS5hc3luYz1mdW5jdGlvbihJLGcsQixDLFEpe3ZvaWQgMD09PVEmJihRPVByb21pc2UpO3ZhciBFPW5ldyByKEQoSSxnLEIsQyksUSk7cmV0dXJuIEEuaXNHZW5lcmF0b3JGdW5jdGlvbihnKT9FOkUubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmRvbmU/QS52YWx1ZTpFLm5leHQoKX0pKX0sYyhuKSxvKG4saSxcIkdlbmVyYXRvclwiKSxvKG4sUSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxvKG4sXCJ0b1N0cmluZ1wiLChmdW5jdGlvbigpe3JldHVyblwiW29iamVjdCBHZW5lcmF0b3JdXCJ9KSksQS5rZXlzPWZ1bmN0aW9uKEEpe3ZhciBJPVtdO2Zvcih2YXIgZyBpbiBBKUkucHVzaChnKTtyZXR1cm4gSS5yZXZlcnNlKCksZnVuY3Rpb24gZygpe2Zvcig7SS5sZW5ndGg7KXt2YXIgQj1JLnBvcCgpO2lmKEIgaW4gQSlyZXR1cm4gZy52YWx1ZT1CLGcuZG9uZT0hMSxnfXJldHVybiBnLmRvbmU9ITAsZ319LEEudmFsdWVzPWUsWS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlkscmVzZXQ6ZnVuY3Rpb24oQSl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9SSx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMuYXJnPUksdGhpcy50cnlFbnRyaWVzLmZvckVhY2goTiksIUEpZm9yKHZhciBnIGluIHRoaXMpXCJ0XCI9PT1nLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsZykmJiFpc05hTigrZy5zbGljZSgxKSkmJih0aGlzW2ddPUkpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm4gdGhpcy5ydmFsfSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbihBKXtpZih0aGlzLmRvbmUpdGhyb3cgQTt2YXIgZz10aGlzO2Z1bmN0aW9uIEMoQixDKXtyZXR1cm4gaS50eXBlPVwidGhyb3dcIixpLmFyZz1BLGcubmV4dD1CLEMmJihnLm1ldGhvZD1cIm5leHRcIixnLmFyZz1JKSwhIUN9Zm9yKHZhciBRPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtRPj0wOy0tUSl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW1FdLGk9RS5jb21wbGV0aW9uO2lmKFwicm9vdFwiPT09RS50cnlMb2MpcmV0dXJuIEMoXCJlbmRcIik7aWYoRS50cnlMb2M8PXRoaXMucHJldil7dmFyIG89Qi5jYWxsKEUsXCJjYXRjaExvY1wiKSxEPUIuY2FsbChFLFwiZmluYWxseUxvY1wiKTtpZihvJiZEKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9ZWxzZSBpZihvKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKX1lbHNle2lmKCFEKXRocm93IG5ldyBFcnJvcihcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XCIpO2lmKHRoaXMucHJldjxFLmZpbmFsbHlMb2MpcmV0dXJuIEMoRS5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtnPj0wOy0tZyl7dmFyIEM9dGhpcy50cnlFbnRyaWVzW2ddO2lmKEMudHJ5TG9jPD10aGlzLnByZXYmJkIuY2FsbChDLFwiZmluYWxseUxvY1wiKSYmdGhpcy5wcmV2PEMuZmluYWxseUxvYyl7dmFyIFE9QzticmVha319USYmKFwiYnJlYWtcIj09PUF8fFwiY29udGludWVcIj09PUEpJiZRLnRyeUxvYzw9SSYmSTw9US5maW5hbGx5TG9jJiYoUT1udWxsKTt2YXIgRT1RP1EuY29tcGxldGlvbjp7fTtyZXR1cm4gRS50eXBlPUEsRS5hcmc9SSxRPyh0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLm5leHQ9US5maW5hbGx5TG9jLHMpOnRoaXMuY29tcGxldGUoRSl9LGNvbXBsZXRlOmZ1bmN0aW9uKEEsSSl7aWYoXCJ0aHJvd1wiPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVyblwiYnJlYWtcIj09PUEudHlwZXx8XCJjb250aW51ZVwiPT09QS50eXBlP3RoaXMubmV4dD1BLmFyZzpcInJldHVyblwiPT09QS50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9QS5hcmcsdGhpcy5tZXRob2Q9XCJyZXR1cm5cIix0aGlzLm5leHQ9XCJlbmRcIik6XCJub3JtYWxcIj09PUEudHlwZSYmSSYmKHRoaXMubmV4dD1JKSxzfSxmaW5pc2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtJPj0wOy0tSSl7dmFyIGc9dGhpcy50cnlFbnRyaWVzW0ldO2lmKGcuZmluYWxseUxvYz09PUEpcmV0dXJuIHRoaXMuY29tcGxldGUoZy5jb21wbGV0aW9uLGcuYWZ0ZXJMb2MpLE4oZyksc319LGNhdGNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLnRyeUxvYz09PUEpe3ZhciBCPWcuY29tcGxldGlvbjtpZihcInRocm93XCI9PT1CLnR5cGUpe3ZhciBDPUIuYXJnO04oZyl9cmV0dXJuIEN9fXRocm93IG5ldyBFcnJvcihcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihBLGcsQil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOmUoQSkscmVzdWx0TmFtZTpnLG5leHRMb2M6Qn0sXCJuZXh0XCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPUkpLHN9fSxBfShBLmV4cG9ydHMpO3RyeXtyZWdlbmVyYXRvclJ1bnRpbWU9SX1jYXRjaChBKXtcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcz9nbG9iYWxUaGlzLnJlZ2VuZXJhdG9yUnVudGltZT1JOkZ1bmN0aW9uKFwiclwiLFwicmVnZW5lcmF0b3JSdW50aW1lID0gclwiKShJKX19LDY1NDooKT0+e30sMjMxOigpPT57fSw3MDM6KCk9Pnt9fSxJPXt9O2Z1bmN0aW9uIGcoQil7dmFyIEM9SVtCXTtpZih2b2lkIDAhPT1DKXJldHVybiBDLmV4cG9ydHM7dmFyIFE9SVtCXT17ZXhwb3J0czp7fX07cmV0dXJuIEFbQl0oUSxRLmV4cG9ydHMsZyksUS5leHBvcnRzfWcubj1BPT57dmFyIEk9QSYmQS5fX2VzTW9kdWxlPygpPT5BLmRlZmF1bHQ6KCk9PkE7cmV0dXJuIGcuZChJLHthOkl9KSxJfSxnLmQ9KEEsSSk9Pntmb3IodmFyIEIgaW4gSSlnLm8oSSxCKSYmIWcubyhBLEIpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLHtlbnVtZXJhYmxlOiEwLGdldDpJW0JdfSl9LGcuZz1mdW5jdGlvbigpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzKXJldHVybiBnbG9iYWxUaGlzO3RyeXtyZXR1cm4gdGhpc3x8bmV3IEZ1bmN0aW9uKFwicmV0dXJuIHRoaXNcIikoKX1jYXRjaChBKXtpZihcIm9iamVjdFwiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLGcubz0oQSxJKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEEsSSk7dmFyIEI9e307cmV0dXJuKCgpPT57XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gQShBLEksZyxCLEMsUSxFKXt0cnl7dmFyIGk9QVtRXShFKSxvPWkudmFsdWV9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgZyhBKX1pLmRvbmU/SShvKTpQcm9taXNlLnJlc29sdmUobykudGhlbihCLEMpfWZ1bmN0aW9uIEkoSSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGc9dGhpcyxCPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEMsUSl7dmFyIEU9SS5hcHBseShnLEIpO2Z1bmN0aW9uIGkoSSl7QShFLEMsUSxpLG8sXCJuZXh0XCIsSSl9ZnVuY3Rpb24gbyhJKXtBKEUsQyxRLGksbyxcInRocm93XCIsSSl9aSh2b2lkIDApfSkpfX1mdW5jdGlvbiBDKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBRKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspe3ZhciBCPUlbZ107Qi5lbnVtZXJhYmxlPUIuZW51bWVyYWJsZXx8ITEsQi5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gQiYmKEIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIua2V5LEIpfX1mdW5jdGlvbiBFKEEsSSxnKXtyZXR1cm4gSSYmUShBLnByb3RvdHlwZSxJKSxnJiZRKEEsZyksQX1nLmQoQix7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPWcoNzU3KSxvPWcubihpKTtmdW5jdGlvbiBEKEEpe3JldHVybiBEPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIEF9OmZ1bmN0aW9uKEEpe3JldHVybiBBJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJkEuY29uc3RydWN0b3I9PT1TeW1ib2wmJkEhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIEF9LEQoQSl9dmFyIGEsdz0oYT0oYT1cInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM6dm9pZCAwKXx8XCIvaW5kZXguanNcIixmdW5jdGlvbihBKXtBPXZvaWQgMCE9PShBPUF8fHt9KT9BOnt9O3ZhciBJLEI9e307Zm9yKEkgaW4gQSlBLmhhc093blByb3BlcnR5KEkpJiYoQltJXT1BW0ldKTt2YXIgQz1bXSxRPVwiLi90aGlzLnByb2dyYW1cIixFPWZ1bmN0aW9uKEEsSSl7dGhyb3cgSX0saT0hMSxvPSExLHc9ITEsRj0hMTtpPVwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIHdpbmRvdz9cInVuZGVmaW5lZFwiOkQod2luZG93KSksbz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBpbXBvcnRTY3JpcHRzLHc9XCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2YgcHJvY2Vzcz9cInVuZGVmaW5lZFwiOkQocHJvY2VzcykpJiZcIm9iamVjdFwiPT09RChwcm9jZXNzLnZlcnNpb25zKSYmXCJzdHJpbmdcIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxGPSFpJiYhdyYmIW87dmFyIEcsaCxzLFIsVT1cIlwiO2Z1bmN0aW9uIHkoSSl7cmV0dXJuIEEubG9jYXRlRmlsZT9BLmxvY2F0ZUZpbGUoSSxVKTpVK0l9dz8oVT1vP2coNzAzKS5kaXJuYW1lKFUpK1wiL1wiOlwiLy9cIixHPWZ1bmN0aW9uKEEsSSl7dmFyIEI9amcoQSk7cmV0dXJuIEI/ST9COkIudG9TdHJpbmcoKTooc3x8KHM9ZygyMzEpKSxSfHwoUj1nKDcwMykpLEE9Ui5ub3JtYWxpemUoQSkscy5yZWFkRmlsZVN5bmMoQSxJP251bGw6XCJ1dGY4XCIpKX0saD1mdW5jdGlvbihBKXt2YXIgST1HKEEsITApO3JldHVybiBJLmJ1ZmZlcnx8KEk9bmV3IFVpbnQ4QXJyYXkoSSkpLEgoSS5idWZmZXIpLEl9LHByb2Nlc3MuYXJndi5sZW5ndGg+MSYmKFE9cHJvY2Vzcy5hcmd2WzFdLnJlcGxhY2UoL1xcXFwvZyxcIi9cIikpLEM9cHJvY2Vzcy5hcmd2LnNsaWNlKDIpLHByb2Nlc3Mub24oXCJ1bmNhdWdodEV4Y2VwdGlvblwiLChmdW5jdGlvbihBKXtpZighKEEgaW5zdGFuY2VvZiBOQikpdGhyb3cgQX0pKSxwcm9jZXNzLm9uKFwidW5oYW5kbGVkUmVqZWN0aW9uXCIsSkEpLEU9ZnVuY3Rpb24oQSl7cHJvY2Vzcy5leGl0KEEpfSxBLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm5cIltFbXNjcmlwdGVuIE1vZHVsZSBvYmplY3RdXCJ9KTpGPyhcInVuZGVmaW5lZFwiIT10eXBlb2YgcmVhZCYmKEc9ZnVuY3Rpb24oQSl7dmFyIEk9amcoQSk7cmV0dXJuIEk/VmcoSSk6cmVhZChBKX0pLGg9ZnVuY3Rpb24oQSl7dmFyIEk7cmV0dXJuKEk9amcoQSkpP0k6XCJmdW5jdGlvblwiPT10eXBlb2YgcmVhZGJ1ZmZlcj9uZXcgVWludDhBcnJheShyZWFkYnVmZmVyKEEpKTooSChcIm9iamVjdFwiPT09RChJPXJlYWQoQSxcImJpbmFyeVwiKSkpLEkpfSxcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2NyaXB0QXJncz9DPXNjcmlwdEFyZ3M6dm9pZCAwIT09YXJndW1lbnRzJiYoQz1hcmd1bWVudHMpLFwiZnVuY3Rpb25cIj09dHlwZW9mIHF1aXQmJihFPWZ1bmN0aW9uKEEpe3F1aXQoQSl9KSxcInVuZGVmaW5lZFwiIT10eXBlb2YgcHJpbnQmJihcInVuZGVmaW5lZFwiPT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcmludEVycj9wcmludEVycjpwcmludCkpOihpfHxvKSYmKG8/VT1zZWxmLmxvY2F0aW9uLmhyZWY6ZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKFU9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLGEmJihVPWEpLFU9MCE9PVUuaW5kZXhPZihcImJsb2I6XCIpP1Uuc3Vic3RyKDAsVS5sYXN0SW5kZXhPZihcIi9cIikrMSk6XCJcIixHPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcIkdFVFwiLEEsITEpLEkuc2VuZChudWxsKSxJLnJlc3BvbnNlVGV4dH1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBWZyhnKTt0aHJvdyBJfX0sbyYmKGg9ZnVuY3Rpb24oQSl7dHJ5e3ZhciBJPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gSS5vcGVuKFwiR0VUXCIsQSwhMSksSS5yZXNwb25zZVR5cGU9XCJhcnJheWJ1ZmZlclwiLEkuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShJLnJlc3BvbnNlKX1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBnO3Rocm93IEl9fSkpO3ZhciB0PUEucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksUz1BLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3IoSSBpbiBCKUIuaGFzT3duUHJvcGVydHkoSSkmJihBW0ldPUJbSV0pO2Z1bmN0aW9uIE0oQSl7dmFyIEk9QUFbaUE+PjJdLGc9SStBKzE1Ji0xNjtyZXR1cm4gZz5TZygpJiZKQSgpLEFBW2lBPj4yXT1nLEl9Qj1udWxsLEEuYXJndW1lbnRzJiYoQz1BLmFyZ3VtZW50cyksQS50aGlzUHJvZ3JhbSYmKFE9QS50aGlzUHJvZ3JhbSksQS5xdWl0JiYoRT1BLnF1aXQpO3ZhciBuLGMscixrPXtcImY2NC1yZW1cIjpmdW5jdGlvbihBLEkpe3JldHVybiBBJUl9LGRlYnVnZ2VyOmZ1bmN0aW9uKCl7fX0sSz0obmV3IEFycmF5KDApLDApLE49ZnVuY3Rpb24oQSl7Sz1BfSxZPWZ1bmN0aW9uKCl7cmV0dXJuIEt9O0Eud2FzbUJpbmFyeSYmKG49QS53YXNtQmluYXJ5KSxBLm5vRXhpdFJ1bnRpbWUmJihjPUEubm9FeGl0UnVudGltZSksXCJvYmplY3RcIiE9PShcInVuZGVmaW5lZFwiPT10eXBlb2YgV2ViQXNzZW1ibHk/XCJ1bmRlZmluZWRcIjpEKFdlYkFzc2VtYmx5KSkmJlMoXCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkXCIpO3ZhciBlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7aW5pdGlhbDo4NzgsbWF4aW11bTo4NzgsZWxlbWVudDpcImFueWZ1bmNcIn0pLEo9ITE7ZnVuY3Rpb24gSChBLEkpe0F8fEpBKFwiQXNzZXJ0aW9uIGZhaWxlZDogXCIrSSl9ZnVuY3Rpb24gTChBKXtyZXR1cm4gaEE/UkIoQSk6TShBKX12YXIgcT1cInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFwidXRmOFwiKTp2b2lkIDA7ZnVuY3Rpb24gZChBLEksZyl7Zm9yKHZhciBCPUkrZyxDPUk7QVtDXSYmIShDPj1CKTspKytDO2lmKEMtST4xNiYmQS5zdWJhcnJheSYmcSlyZXR1cm4gcS5kZWNvZGUoQS5zdWJhcnJheShJLEMpKTtmb3IodmFyIFE9XCJcIjtJPEM7KXt2YXIgRT1BW0krK107aWYoMTI4JkUpe3ZhciBpPTYzJkFbSSsrXTtpZigxOTIhPSgyMjQmRSkpe3ZhciBvPTYzJkFbSSsrXTtpZigoRT0yMjQ9PSgyNDAmRSk/KDE1JkUpPDwxMnxpPDw2fG86KDcmRSk8PDE4fGk8PDEyfG88PDZ8NjMmQVtJKytdKTw2NTUzNilRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpO2Vsc2V7dmFyIEQ9RS02NTUzNjtRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEQ+PjEwLDU2MzIwfDEwMjMmRCl9fWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmRSk8PDZ8aSl9ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEUpfXJldHVybiBRfWZ1bmN0aW9uIGYoQSxJKXtyZXR1cm4gQT9kKHosQSxJKTpcIlwifWZ1bmN0aW9uIGwoQSxJLGcsQil7aWYoIShCPjApKXJldHVybiAwO2Zvcih2YXIgQz1nLFE9ZytCLTEsRT0wO0U8QS5sZW5ndGg7KytFKXt2YXIgaT1BLmNoYXJDb2RlQXQoRSk7aWYoaT49NTUyOTYmJmk8PTU3MzQzJiYoaT02NTUzNisoKDEwMjMmaSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK0UpKSxpPD0xMjcpe2lmKGc+PVEpYnJlYWs7SVtnKytdPWl9ZWxzZSBpZihpPD0yMDQ3KXtpZihnKzE+PVEpYnJlYWs7SVtnKytdPTE5MnxpPj42LElbZysrXT0xMjh8NjMmaX1lbHNlIGlmKGk8PTY1NTM1KXtpZihnKzI+PVEpYnJlYWs7SVtnKytdPTIyNHxpPj4xMixJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfWVsc2V7aWYoZyszPj1RKWJyZWFrO0lbZysrXT0yNDB8aT4+MTgsSVtnKytdPTEyOHxpPj4xMiY2MyxJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfX1yZXR1cm4gSVtnXT0wLGctQ31mdW5jdGlvbiB1KEEsSSxnKXtyZXR1cm4gbChBLHosSSxnKX1mdW5jdGlvbiBXKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKEI9NjU1MzYrKCgxMDIzJkIpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytnKSksQjw9MTI3PysrSTpJKz1CPD0yMDQ3PzI6Qjw9NjU1MzU/Mzo0fXJldHVybiBJfXZhciBwPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXCJ1dGYtMTZsZVwiKTp2b2lkIDA7ZnVuY3Rpb24gWihBKXtmb3IodmFyIEk9QSxnPUk+PjE7X1tnXTspKytnO2lmKChJPWc8PDEpLUE+MzImJnApcmV0dXJuIHAuZGVjb2RlKHouc3ViYXJyYXkoQSxJKSk7Zm9yKHZhciBCPTAsQz1cIlwiOzspe3ZhciBRPV9bQSsyKkI+PjFdO2lmKDA9PVEpcmV0dXJuIEM7KytCLEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUSl9fWZ1bmN0aW9uIGIoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8MilyZXR1cm4gMDtmb3IodmFyIEI9SSxDPShnLT0yKTwyKkEubGVuZ3RoP2cvMjpBLmxlbmd0aCxRPTA7UTxDOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO19bST4+MV09RSxJKz0yfXJldHVybiBfW0k+PjFdPTAsSS1CfWZ1bmN0aW9uIHgoQSl7cmV0dXJuIDIqQS5sZW5ndGh9ZnVuY3Rpb24gbShBKXtmb3IodmFyIEk9MCxnPVwiXCI7Oyl7dmFyIEI9QUFbQSs0Kkk+PjJdO2lmKDA9PUIpcmV0dXJuIGc7aWYoKytJLEI+PTY1NTM2KXt2YXIgQz1CLTY1NTM2O2crPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Qz4+MTAsNTYzMjB8MTAyMyZDKX1lbHNlIGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoQil9fWZ1bmN0aW9uIFgoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8NClyZXR1cm4gMDtmb3IodmFyIEI9SSxDPUIrZy00LFE9MDtRPEEubGVuZ3RoOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO2lmKEU+PTU1Mjk2JiZFPD01NzM0MyYmKEU9NjU1MzYrKCgxMDIzJkUpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytRKSksQUFbST4+Ml09RSwoSSs9NCkrND5DKWJyZWFrfXJldHVybiBBQVtJPj4yXT0wLEktQn1mdW5jdGlvbiBWKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKytnLEkrPTR9cmV0dXJuIEl9ZnVuY3Rpb24gTyhBKXt2YXIgST1XKEEpKzEsZz1SQihJKTtyZXR1cm4gZyYmbChBLHYsZyxJKSxnfWZ1bmN0aW9uIFQoQSxJKXt2LnNldChBLEkpfWZ1bmN0aW9uIGooQSxJLGcpe2Zvcih2YXIgQj0wO0I8QS5sZW5ndGg7KytCKXZbSSsrPj4wXT1BLmNoYXJDb2RlQXQoQik7Z3x8KHZbST4+MF09MCl9dmFyIFAsdix6LF8sJCxBQSxJQSxnQSxCQSxDQT02NTUzNjtmdW5jdGlvbiBRQShJKXtQPUksQS5IRUFQOD12PW5ldyBJbnQ4QXJyYXkoSSksQS5IRUFQMTY9Xz1uZXcgSW50MTZBcnJheShJKSxBLkhFQVAzMj1BQT1uZXcgSW50MzJBcnJheShJKSxBLkhFQVBVOD16PW5ldyBVaW50OEFycmF5KEkpLEEuSEVBUFUxNj0kPW5ldyBVaW50MTZBcnJheShJKSxBLkhFQVBVMzI9SUE9bmV3IFVpbnQzMkFycmF5KEkpLEEuSEVBUEYzMj1nQT1uZXcgRmxvYXQzMkFycmF5KEkpLEEuSEVBUEY2ND1CQT1uZXcgRmxvYXQ2NEFycmF5KEkpfXZhciBFQT01MzA0MTc2LGlBPTYxMTA0LG9BPUEuVE9UQUxfTUVNT1JZfHwyNjg0MzU0NTY7ZnVuY3Rpb24gREEoSSl7Zm9yKDtJLmxlbmd0aD4wOyl7dmFyIGc9SS5zaGlmdCgpO2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIGcpe3ZhciBCPWcuZnVuYztcIm51bWJlclwiPT10eXBlb2YgQj92b2lkIDA9PT1nLmFyZz9BLmR5bkNhbGxfdihCKTpBLmR5bkNhbGxfdmkoQixnLmFyZyk6Qih2b2lkIDA9PT1nLmFyZz9udWxsOmcuYXJnKX1lbHNlIGcoKX19KHI9QS53YXNtTWVtb3J5P0Eud2FzbU1lbW9yeTpuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOm9BL0NBLG1heGltdW06b0EvQ0F9KSkmJihQPXIuYnVmZmVyKSxvQT1QLmJ5dGVMZW5ndGgsUUEoUCksQUFbaUE+PjJdPUVBO3ZhciBhQT1bXSx3QT1bXSxGQT1bXSxHQT1bXSxoQT0hMTtmdW5jdGlvbiBzQSgpe2lmKEEucHJlUnVuKWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZVJ1biYmKEEucHJlUnVuPVtBLnByZVJ1bl0pO0EucHJlUnVuLmxlbmd0aDspdEEoQS5wcmVSdW4uc2hpZnQoKSk7REEoYUEpfWZ1bmN0aW9uIFJBKCl7aEE9ITAsQS5ub0ZTSW5pdHx8aUkuaW5pdC5pbml0aWFsaXplZHx8aUkuaW5pdCgpLFFJLmluaXQoKSxEQSh3QSl9ZnVuY3Rpb24gVUEoKXtpSS5pZ25vcmVQZXJtaXNzaW9ucz0hMSxEQShGQSl9ZnVuY3Rpb24geUEoKXtpZihBLnBvc3RSdW4pZm9yKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEucG9zdFJ1biYmKEEucG9zdFJ1bj1bQS5wb3N0UnVuXSk7QS5wb3N0UnVuLmxlbmd0aDspU0EoQS5wb3N0UnVuLnNoaWZ0KCkpO0RBKEdBKX1mdW5jdGlvbiB0QShBKXthQS51bnNoaWZ0KEEpfWZ1bmN0aW9uIFNBKEEpe0dBLnVuc2hpZnQoQSl9dmFyIE1BPU1hdGguYWJzLG5BPU1hdGguY2VpbCxjQT1NYXRoLmZsb29yLHJBPU1hdGgubWluLGtBPTAsS0E9bnVsbCxOQT1udWxsO2Z1bmN0aW9uIFlBKEkpe2tBKyssQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpfWZ1bmN0aW9uIGVBKEkpe2lmKGtBLS0sQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoa0EpLDA9PWtBJiYobnVsbCE9PUtBJiYoY2xlYXJJbnRlcnZhbChLQSksS0E9bnVsbCksTkEpKXt2YXIgZz1OQTtOQT1udWxsLGcoKX19ZnVuY3Rpb24gSkEoSSl7dGhyb3cgQS5vbkFib3J0JiZBLm9uQWJvcnQoSSksdChJKz1cIlwiKSxTKEkpLEo9ITAsST1cImFib3J0KFwiK0krXCIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLlwiLG5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoSSl9QS5wcmVsb2FkZWRJbWFnZXM9e30sQS5wcmVsb2FkZWRBdWRpb3M9e307dmFyIEhBPVwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LFwiO2Z1bmN0aW9uIExBKEEpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/QS5zdGFydHNXaXRoKEhBKTowPT09QS5pbmRleE9mKEhBKX12YXIgcUEsZEEsZkE9XCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUdGemJRRUFBQUFCandoellBRi9BWDlnQVg4QVlBSi9md0YvWUFKL2Z3QmdBMzkvZndGL1lBVi9mMzkvZndCZ0EzOS9md0JnQkg5L2YzOEFZQVYvZjM5L2Z3Ri9ZQVIvZjM5L0FYOWdCbjkvZjM5L2Z3Ri9ZQUFBWUFaL2YzOS9mMzhBWUFkL2YzOS9mMzkvQUdBSWYzOS9mMzkvZjM4QmYyQUhmMzkvZjM5L2Z3Ri9ZQUFCZjJBQmZRRjlZQUYvQVh4Z0JYOS9mMzk4QVg5Z0EzOStmd0YrWUFWL2YzOS9mZ0YvWUFoL2YzOS9mMzkvZndCZ0NuOS9mMzkvZjM5L2YzOEFZQU4vZjMwQVlBTi9mM3dBWUFKL2ZBQmdCbjkvZjM5L2ZBRi9ZQU4vZjM4QmZXQUNmWDBCZldBQ2YzOEJmR0FEZjM5L0FYeGdBbng4QVh4Z0NYOS9mMzkvZjM5L2Z3Ri9ZQVovZkg5L2YzOEJmMkFFZjM5L2Z3RitZQUY4QVh4Z0JYOS9mbjkvQUdBQ2YzMEFZQXAvZjM5L2YzOS9mMzkvQVg5Z0RIOS9mMzkvZjM5L2YzOS9md0YvWUFWL2ZYMS9md0YvWUFGOUFYOWdBWDhCZldBR2YzOS9mMzkvQVh4Z0FueC9BWHhnRDM5L2YzOS9mMzkvZjM5L2YzOS9md0JnRFg5L2YzOS9mWDE5ZlgxOWZYMEFZQVIvZjM5OUFHQUZmMzk5Zlg4QVlBVi9mWDE5ZlFCZ0JuOThmSDkvZndCZ0MzOS9mMzkvZjM5L2YzOS9BWDlnRVg5L2YzOS9mMzkvZjMxOWZYMTlmWDE5QVg5Z0JuOS9mWDEvZndGL1lBSitmd0YvWUFGOEFYOWdCSDkvZjM0QmZtQUNmMzhCZldBRWYzOS9md0Y5WUFOL2ZYMEJmV0FCZkFGOVlBbC9mMzkvZjM5L2YzOEFZQkYvZjM5L2YzOS9mMzk5ZlgxOWZYMTlmUUJnQm45L2YzOS9mUUJnQ0g5L2YzOS9mWDE5QUdBSmYzOS9mMzk5ZlgxOUFHQUZmMzkvZlgwQVlBZC9mMzk5ZlgxL0FHQUVmMzkvZkFCZ0EzOS9mZ0JnQm45L2ZYOTlmd0JnQW45K0FHQURmMzUvQUdBRGYzMTlBR0FFZjMxOWZ3QmdCbjk5ZlgxOWZ3QmdCSDk4Zkg4QVlBeC9mMzkvZjM5L2YzOS9mSDhCZjJBT2YzOS9mMzkvZjM5L2YzeC9mMzhCZjJBVGYzOS9mMzkvZjM5L2ZIOS9mMzkvZjM5L2Z3Ri9ZQXgvZjM5L2YzOS9mMzEvZjM4QmYyQWlmMzkvZjM5L2YzOThmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZ3Ri9ZQWQvZjM5L2YzOThBWDlnQjM5L2YzOThmMzhCZjJBRGYzOTlBWDlnQlg5L2ZYMS9BWDlnQjM5L2ZIOS9mMzhCZjJBUGYzOThmSHg4Zkh4OGZIeDhmSHg4QVg5Z0JIOStmMzhCZjJBQ2YzMEJmMkFGZjMxOWZYMEJmMkFDZjN3QmYyQURmbjkvQVg5Z0FuMS9BWDlnQW54L0FYOWdBWDhCZm1BQ2YzOEJmbUFDZm40QmZtQUZmMzkvZjM4QmZXQUhmMzkvZjM5L2Z3RjlZQWQvZjM5L2YzOTlBWDFnQm45L2YzOS9mUUY5WUFaL2YzOS9mWDBCZldBRWYzOS9mUUY5WUFOL2YzMEJmV0FGZjMxOWYzOEJmV0FDZlg4QmZXQURmWDE5QVgxZ0JIMTlmWDBCZldBRmYzOS9mMzhCZkdBRWYzOThmd0Y4WUFOOGZIOEJmR0FEZkh4OEFYeGdCbng4Zkh4OGZBRjhBcHNFUEFObGJuWUJZUUFMQTJWdWRnRmlBQUVEWlc1MkFXTUFBUU5sYm5ZQlpBQUJBMlZ1ZGdGbEFBWURaVzUyQVdZQUFBTmxibllCWndBREEyVnVkZ0ZvQUJBRFpXNTJBV2tBQmdObGJuWUJhZ0FNQTJWdWRnRnJBQVVEWlc1MkFXd0FFQU5sYm5ZQmJRQUJBMlZ1ZGdGdUFBQURaVzUyQVc4QUFRTmxibllCY0FBREEyVnVkZ0Z4QUFJRFpXNTJBWElBQlFObGJuWUJjd0FHQTJWdWRnRjBBQUFEWlc1MkFYVUFBZ05sYm5ZQmRnQURBMlZ1ZGdGM0FBWURaVzUyQVhnQUdRTmxibllCZVFBQUEyVnVkZ0Y2QUFJRFpXNTJBVUVBQVFObGJuWUJRZ0FIQTJWdWRnRkRBQVlEWlc1MkFVUUFDQWhoYzIweWQyRnpiUWRtTmpRdGNtVnRBQ0FEWlc1MkFVVUFDQU5sYm5ZQlJnQUpBMlZ1ZGdGSEFBa0RaVzUyQVVnQUFBTmxibllCU1FBa0EyVnVkZ0ZLQUFBRFpXNTJBVXNBQkFObGJuWUJUQUFFQTJWdWRnRk5BQkFEWlc1MkFVNEFVZ05sYm5ZQlR3QVBBMlZ1ZGdGUUFCTURaVzUyQVZFQVdBTmxibllCVWdBQ0EyVnVkZ0ZUQUFNRFpXNTJBVlFBQXdObGJuWUJWUUFGQTJWdWRnRldBQWtEWlc1MkFWY0FDUU5sYm5ZQldBQUNBMlZ1ZGdGWkFBSURaVzUyQVZvQUFnTmxibllCWHdBQ0EyVnVkZ0VrQUFFRFpXNTJERjlmZEdGaWJHVmZZbUZ6WlFOL0FBWm5iRzlpWVd3RFRtRk9BM3dBQm1kc2IySmhiQWhKYm1acGJtbDBlUU44QUFObGJuWUdiV1Z0YjNKNUFnR0FJSUFnQTJWdWRnVjBZV0pzWlFGd0FlNEc3Z1lEeUF2R0N3SUJBZ0lEQVFjQ0FRTUNBQ29BQkFFQkFnRURBd1E4QWdJQ0FBQUFBQUVEQXdCcUt3WVFBZ0VEQUFrQUFRUUdDZ2tDRVFFQkFpa0RBUUFBQmpnQUJRVUlCd01DQXdnRUJnQnRCRWdFQXh3QUF3RUVBQUlER2l3RFBUMHFDUmdCQXdvSUNBZ0pBQjBDTFFnY0F3NE9DaWtHQmdrR1ZBUUpBd2NDQWdBQ0FBUURNQVlZQUNvR0FEY0NBd0lHQWdJQUFnRUhCdzRHQXdZbkFTY0FFU0J3QmdBSkNRSmxaQU1CSFFZR01RTWRBellDQkFJRENBWUNCZ01DQXcwREFBWUFZZ3dDQndaT0Jnb2RPZ01BQWdNREFnTnBCd01DRlJNQ0F3Y0FBQTBOQkE4UEFRTUJBUUlEQVFVREh5TUZDUWdFQkFBQUFBSVFBQVFEQkFNQUJnWUJBd01GQVFBaEJ3SkRBeXdBQndNQ0FRTUJBUUlXYkRFQkF3RURCd01CQVFNSEFRTUhBUXdIREFVREFBTUlBUUFvQlI0QUtBVUJBUUVCY2d4eEJ3WUdFUkVSQUFBQlhnaGZJd2tHQUFBSEFqa0NBQUVBU1MwQ0JnQXRJQ0JoSHpsR0JBSUVBQUVBRUFRQkFRTUFBUWNDQVFJQUFRa0JBZ0VBQXdNWkJoZ0JBUU5aRHdZTUFBRUJBd0VCQmdBREFUb25Bd01yVlVBUEJ3NEhCd0VIQXdFQkFRTURBd0VEYndJREJrOEFEQUFERUFNREF3RUNBUUVCQ2dFR0FSRVJCQU1EQXdNREFRTUhBa3dEQmdFQVZqWU5IQW9KQnlVTkJob1VEeHNKQXdVV0JoWUdCZ1VJQVFFQkFRZ0JEZ0FFTGhjdUZ6UUdOQU1EQVF3QkFRVU1EQU1KQlF3TUFBMEpEUVFLQ1NNSkNTTWNIeDhFQ2dZQ0FnQUJBUUVCQXdFQUJ5VUVBd0VFQVFFQkFRRUJBVE1MQndFQkJCMGtKQWtHQWdZR0FBQmdDQUlCQkFSckJBQUVCZ1lMQXhBSkFnSUJCQUkzWFFJRUF5STRBd1FDSUN4dUJBZ0NCQVFDQVFJQUFnUUJDUlFFRUJRRUFBQUFBZ0VHQVFNQkF3RUFBQUFIQUFBQ0FBQUJBUUVJQUFnQkNnb0pDUUVFQndjSEJ3Y0JBd2NIQVFjQkF3Y05Cd2dOQVFVRkJRVUZCUVVGQUFVSEJ3Y0hCdzBCRFEwTkF3Y0hCd01CQXdFQkFRRUJBUUVCQVFBQkFnSUNBZ0lCQWdJQkFnQUJBUU1CQVFFQ0FBRUJBZ0lDQUFJQ0FnRUJBUUlEQXdBQkF3VUZCUVVGQlFVREJRVUZCUVVGQlFVRkJRZ0ZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRRUJEd0ptWXd3RkNBUURBZ0FEQ1FNQkFRSUVCQWtFQkFFR0FnSUFIZ0VCQ0FFR0FBTUFBd0FERWdzbUFBTUFBd0FERWhvU0dnc1FVQXNCQUFBQ0FnSUVBQUFHQ0FBQ0FnUUVBZ1FMQUFBQ0FnSUNBQUFFQ3dzU0FRRUdBd0lCQXdJQkF3OERBd1lHQmp3eUJnTTFOVDhIRUFFR0hFb0hRbHNCTHdjSE1nRUJBd01DQmdZSEJnTUJBd1lEQXdjSEF5OE1BZ2dEQUFBQUFBQUVBQUFDQkFJQ0FnSUNBZ0lDQWo1SElRY0JhQUloQWc1UkNUc0VDZ2tFQ1FNREF3SUhBd01CQXdNREF3TUdCZ1lEQmcwREFRSUJBUUVaQ0FFREF3WUdEd2NHQXdNRkR3TUZCZ2NDQVFjQ0F3TURBUUVCQVFFQ0FRRUJBUW9HQ2tzUlFRTUZBUWNBQVFNQkF3TUhBd01EQndFREFRY0ZCUUlCQVFJREF3Tm5EUTBOS3dNR0FnSUVEd05jQXdZV0EwUURBUU1HQXdFREFRTURBd01CQWdNREF3RUJBZ1lEQVFFREF3Y0RBd01DQ0FFSUNBZ0lDZ29EQVFFREF3TURBZ1FDQWdBQ0FRUXBBUW9DRncwb0F3QUFPd0FCQ0FnQURRZ0JEeGdaQUNZTEFDSVFIaEphRmcwTUJRY3dSUUVoRGdBUFV3b2JDQWtFVndJQUJoOGVKQU1BQWdZR0JnTUNDQVlCQXdFRENBUUpBZ1FDQVFRQ0NRa0pCQU1EQXdBQUFRTURBd0FBQVFJSUJBa0NCQUlFQWdFQkFRb0tCQWdPRGdFQUNBQUlEZzRJQ2dvRUNBNE9EQXdLR3dvYkZ3WVBEeGNHRHdnUERBOFBCd1VGQlFNTUJ3VUZCUVVGQlFNTEN3c0FBQUFBQUFBQURnb0tDZ29LQndVRkJRd0hCUVVGQlFVQkJRc0xDd0FBQUFRQUFBQUFEZ29LQ2dvS0J3Z1RFeFVJRlFnSUNBZ1RFeFVJRlFnSUNBZ0VDQWdDQ0FnSUNBb0tDZ29LQ2dvU0Nnb0lDQWdJQ0FnSUNBRUJCZ0VBQ2dvS0Nnb0tDZ29LQkFjSUJBRUhDQUVDQUFBREFnQUFBQU1DQkFNQ0JBTk5DQVFFQUFRRUFBUUJBUkFBQ3dzTEN3c3pDd3NMQ3dzTEN3c0xDd3NMQ3hBUUVBc0hCUXdFQVFBSEJRd0VCd1VNQkFzSENCQUFCaGNFZndGQkFBdC9BVUVBQzM4QlFRQUxmd0ZCOE40REN3ZVRBaTRDWVdFQW5RY0NZbUVBNVFzQ1kyRUErd1FDWkdFQTBRc0NaV0VBNEFRQ1ptRUE2UXNDWjJFQW9BVUNhR0VBMGdzQ2FXRUE1d3NDYW1FQTVnc0NhMkVBNkFzQ2JHRUFPQUp0WVFCRUFtNWhBTjRKQW05aEFOd0pBbkJoQU5zSkFuRmhBTmtKQW5KaEFOZ0pBbk5oQU5jSkFuUmhBTllKQW5WaEFOVUpBblpoQU5RSkFuZGhBTk1KQW5oaEFOSUpBbmxoQU5FSkFucGhBTkFKQWtGaEFNNEpBa0poQU0wSkFrTmhBTGtKQWtSaEFMY0pBa1ZoQU13SkFrWmhBSzREQWtkaEFLOERBa2hoQUxFREFrbGhBTEFEQWtwaEFNc0pBa3RoQU1vSkFreGhBTWtKQWsxaEFNZ0pBazVoQU1jSkFrOWhBTVlKQWxCaEFNVUpBbEZoQUxZSkFsSmhBUHdMQWxOaEFKZ0pBbFJoQVBzTENhRUxBUUFqQUF2dUJzTUorZ2I0QnU4R3dnbmpCc0VKL1FaWXhnaWpCWC92QzM5LzBRVE5DMzkvMFFUS0M4b0V5Z1MrQzcwTHVRdTRDN2NFN0FyckN1b0s2UXJuQ3VZSzVRcTNCTTRLelFyTUNzc0t5Z3JKQ3NnS2tRS1JBbitSQXBFQ2Y1QUNrQUova0FLUUFuOS9mNkFFbWdwL21BcURDb0lLL1FuOENkOEMzd0xmQW45L29BU3VCZnNGUktRRm1nZVpCNVFIa3dlTEI0Z0hod2VDQjRFSDlnYjBCdklHN1FickJ1a0c0Z2FmQm84R2h3Wi90Z1cxQmJNRnNnVllXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFl3QW1KQlhxVkNLWUhvd2ViQXBzQ213S2JBc01Md0F1N0M3Y0xqUXFMQ29rSzlBbnhDZThKaFFxbUJaZ0hsd2VXQjVVSGtBZU5CNHdIaFFlRUI0TUgyQWJnQnNrR25BYVlCcGNHbGdhVUJwTUdrZ2FHQm9RR2d3YUJCb0FHL3dYK0JmMEZlbnA2ZW5wNmVucDZlbnA2ZW5wNmVtU2lCWjhGZ2dYM0MrMEwxQVRPQzh3TDFBVExDOGtMeEF2QkM3SUxyd3VoQktFRWpBcUtDb2NLK0FuekNmQUo3UW5EQlpzSGtRZVBCNDRIaGdmYUJ0MEd0UUd2QXBVRlpHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pLMEJpQXIzQ2ZZSjlRbnVDZFFHd1FYQUJhMEJyUUd0QWEwQnJRR3RBYTBCakFML0N2NEs5Z3IxQ293Q2pBS01BcGdCdFF1eEM0UUxnd3VCQy93Syt3cjZDdmdLOUFyaEFxSUttd3FaQ29ZSzdBbmhBcDRLNFFLVUNyd0Z1Z1dZQVpnQm1BR1lBWmdCbUFHWUFaZ0JtQUdPQktvS3FBcU9CR2F1QzYwTHJBdXJDOFlFeGdTcUM2a0xxQXVuQzZZTG1BdVhDNVVMbEF1OEJMd0Vrd3VTQzVFTGtBdVBDL0lLOFFyd0N1OEs3Z3JVQ3RNSzBnclJDdEFLcVFxbkNyOEZ2Z1ZtWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abWFOQkxZS3RRcXpDckVLcmdxdENvMEV5Z0h0Q3M4S3BBcWpDcDBLbkFxZkJKOEVsZ3FWQ3NvQnlnSEtBY29CeWdHTEFvSUxnQXY1Q3ZjS2l3S0xBb3NDakFTaEJaNEZqQVMrQ2ZnTFJzY0MyUWpHQXRnSTdRUEhDR05lbGdoZVhxY0hYbDZrQjE1alhtTmpYdU1FNGdUaUJGNWVuUUxQQzlZRTdRTFFCT3dDbWdMckFzNEV6UVNhQXVzQ3pnVE5CSmtDNmdMTUJNc0VtUUxxQXN3RXl3VHNBdTBDN0FMdEFtTmV0Z3RqWG1OZVkxNWpYbU5lWTE1alhxNEVyUVN1QkswRVkxNWpYbU5lWTE1alhtTmVZMTVqWG1OZVkxNWpYbDZlQkpjS25BU1FDcHNFamdxYUJJUUttUVQrQ1Y1ZVhsNWVzZ21uQllBSHhnYWdCbU9hQnBrR2pRYW5BNHdHZ2daamlRYUlCdmtGK0FWanlRWFBCZFlGWStjRnpRVmp2UVc1QmJjRnJRV3JCYWtGcEF1aUMyTTRSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSb3NFK3diNUJvc0V2UW54QnFJQm5BS2NBc1VMd2d1L0M3b0xqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcVFTdUFhNEJqd0dQQVk4QnFRU3VBYTRCbkFLY0FvRUtnQXIvQ2ZzSitnbjVDYUVHOXdiMUJ2TUc3Z2JzQnVvR3JnT2RCc29GMEFYckJlOEZyZ0tzQmFvRmlBV2lBYUlCb2dHaUFhSUJvZ0dpQWFJQnV3bXZBN29Kc1FPS0JLZ0ZzQU9LQk1rQjlBdndDK29MMGdUU0JMUUxzQXM5MHdYUkJlVUY1QVhqQmVJRjRRWHVCZTBGN0FYT0Jjd0Z5d1hJQmNjRnhnWEZCY1FGeVFISkFja0J5UUhKQVhiMUMvRUw2d3VqQnFRR3BRYW1CcWNHcUFhcUJxc0dyQWF0QnE0R3J3YXdCckVHc2dhekJyVUd0Z2EzQnJnR3VRYTZCcnNHdkFhOUJyNEd2d2JBQnNFR3dnYkRCcUlHeEFiRkJ1QUYzZ1hkQmR3RjJ3WGFCZGtGMkFYWEJYWjJkbloyZG5aMmRuWjJkbloyZG5aMjNBTDJDL0lMN0F1bUNxVUszQUxjQW9rRTFRWFNCZVlGNmdYcEJlZ0ZpUVNJQk5NRTB3U0lCQXFxaXg3R0N3MEFJQUFnQVNBQkVHQVFud2tMeVEwQkNYOGdBRVVFUUE4TFFielJBeWdDQUNFRUlBQkJlR29pQXlBQVFYeHFLQUlBSWdKQmVIRWlBR29oQlNBQ1FRRnhCSDhnQXdVQ2Z5QURLQUlBSVFFZ0FrRURjVVVFUUE4TElBTWdBV3NpQXlBRVNRUkFEd3NnQUNBQmFpRUFJQU5Cd05FREtBSUFSZ1JBSUFNZ0JTZ0NCQ0lCUVFOeFFRTkhEUUVhUWJUUkF5QUFOZ0lBSUFVZ0FVRitjVFlDQkNBRElBQkJBWEkyQWdRZ0FDQURhaUFBTmdJQUR3c2dBVUVEZGlFRUlBRkJnQUpKQkVBZ0F5Z0NDQ0lCSUFNb0Fnd2lBa1lFUUVHczBRTkJyTkVES0FJQVFRRWdCSFJCZjNOeE5nSUFCU0FCSUFJMkFnd2dBaUFCTmdJSUN5QUREQUVMSUFNb0FoZ2hCeUFESUFNb0Fnd2lBVVlFUUFKQUlBTkJFR29pQWtFRWFpSUVLQUlBSWdFRVFDQUVJUUlGSUFJb0FnQWlBVVVFUUVFQUlRRU1BZ3NMQTBBQ1FDQUJRUlJxSWdRb0FnQWlCa1VFUUNBQlFSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFQ0lBWWhBUXdCQ3dzZ0FrRUFOZ0lBQ3dVZ0F5Z0NDQ0lDSUFFMkFnd2dBU0FDTmdJSUN5QUhCSDhnQXlBREtBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQVRZQ0FDQUJSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQUNkRUYvYzNFMkFnQWdBd3dEQ3dVZ0IwRVFhaUlDSUFkQkZHb2dBeUFDS0FJQVJoc2dBVFlDQUNBRElBRkZEUUlhQ3lBQklBYzJBaGdnQXlnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dBeWdDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzZ0F3VWdBd3NMQ3lJSElBVlBCRUFQQ3lBRktBSUVJZ2hCQVhGRkJFQVBDeUFJUVFKeEJFQWdCU0FJUVg1eE5nSUVJQU1nQUVFQmNqWUNCQ0FBSUFkcUlBQTJBZ0FnQUNFQ0JTQUZRY1RSQXlnQ0FFWUVRRUc0MFFNZ0FFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBTTJBZ0FnQXlBQVFRRnlOZ0lFUWNEUkF5Z0NBQ0FEUndSQUR3dEJ3TkVEUVFBMkFnQkJ0TkVEUVFBMkFnQVBDMEhBMFFNb0FnQWdCVVlFUUVHMDBRTWdBRUcwMFFNb0FnQnFJZ0EyQWdCQndORURJQWMyQWdBZ0F5QUFRUUZ5TmdJRUlBQWdCMm9nQURZQ0FBOExJQWhCQTNZaEJDQUlRWUFDU1FSQUlBVW9BZ2dpQVNBRktBSU1JZ0pHQkVCQnJORURRYXpSQXlnQ0FFRUJJQVIwUVg5emNUWUNBQVVnQVNBQ05nSU1JQUlnQVRZQ0NBc0ZBa0FnQlNnQ0dDRUpJQVVvQWd3aUFTQUZSZ1JBQWtBZ0JVRVFhaUlDUVFScUlnUW9BZ0FpQVFSQUlBUWhBZ1VnQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQkNnQ0FDSUdSUVJBSUFGQkVHb2lCQ2dDQUNJR1JRMEJDeUFFSVFJZ0JpRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBRktBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQ0FGS0FJY0lnSkJBblJCM05NRGFpSUVLQUlBSUFWR0JFQWdCQ0FCTmdJQUlBRkZCRUJCc05FRFFiRFJBeWdDQUVFQklBSjBRWDl6Y1RZQ0FBd0RDd1VnQ1VFUWFpSUNJQWxCRkdvZ0FpZ0NBQ0FGUmhzZ0FUWUNBQ0FCUlEwQ0N5QUJJQWsyQWhnZ0JTZ0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQlNnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc0xDd3NnQXlBQUlBaEJlSEZxSWdKQkFYSTJBZ1FnQWlBSGFpQUNOZ0lBSUFOQndORURLQUlBUmdSQVFiVFJBeUFDTmdJQUR3c0xJQUpCQTNZaEFTQUNRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQXpZQ0FDQUJJQU0yQWd3Z0F5QUJOZ0lJSUFNZ0FEWUNEQThMSUFKQkNIWWlBQVIvSUFKQi8vLy9CMHNFZjBFZkJTQUFJQUJCZ1A0L2FrRVFka0VJY1NJQmRDSUVRWURnSDJwQkVIWkJCSEVoQUVFT0lBQWdBWElnQkNBQWRDSUFRWUNBRDJwQkVIWkJBbkVpQVhKcklBQWdBWFJCRDNacUlnQkJBWFFnQWlBQVFRZHFka0VCY1hJTEJVRUFDeUlCUVFKMFFkelRBMm9oQUNBRElBRTJBaHdnQTBFQU5nSVVJQU5CQURZQ0VFR3cwUU1vQWdBaUJFRUJJQUYwSWdaeEJFQUNRQ0FDSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdBa0VBUVJrZ0FVRUJkbXNnQVVFZlJodDBJUVFEUUNBQVFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQVJCQVhRaEJDQUNJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFNMkFnQWdBeUFBTmdJWUlBTWdBellDRENBRElBTTJBZ2dNQWdzTElBRW9BZ2dpQUNBRE5nSU1JQUVnQXpZQ0NDQURJQUEyQWdnZ0F5QUJOZ0lNSUFOQkFEWUNHQXNGUWJEUkF5QUVJQVp5TmdJQUlBQWdBellDQUNBRElBQTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBdEJ6TkVEUWN6UkF5Z0NBRUYvYWlJQU5nSUFJQUFFUUE4TFFmVFVBeUVBQTBBZ0FDZ0NBQ0lEUVFocUlRQWdBdzBBQzBITTBRTkJmellDQUFza0FDQUJCSDhnQUVHQWdJQ0FlRVlnQVVGL1JuRUVmMEVBQlNBQUlBRnRDd1ZCQUFzTElBRUJmeUFBS0FJQUlRSWdBUkNsQ3lFQklBSW9BZ2dnQVVFQ2RHb29BZ0FMREFBZ0FDQUJRUnhxRU9zSkN6a0JBWDhnQUNnQ0FDSUFLQUlFSVFFZ0FDQUJRWDlxTmdJRUlBRkZCRUFnQUNnQ0FDZ0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3M4QUNNR0lRQWpCa0VRYWlRR0lBSkJBRWRCMElVQktBSUFJQUZNY1FSQUlBSXNBQUFFUUNBQUlBTTJBZ0FnQVNBQ0lBQVEyZ2tMQ3lBQUpBWUxpZ0lCQjM4akJpRURJd1pCRUdva0JpQURRUXhxSVFJZ0F5QUFFSmdDSUFNc0FBQUVRQ0FDSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFDUWJqT0F4QTZJUWNnQWhBOElBQWdBQ2dDQUVGMGFpZ0NBR29pQlNnQ0dDRUlRWDhnQlNnQ1RCQkJCRUFnQWlBRkVEc2dBa0dBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVnSUFaQlAzRkJpZ0ZxRVFJQUlRUWdBaEE4SUFVZ0JFRVlkRUVZZFNJRU5nSk1CU0FGS0FKTUlRUUxJQWNvQWdBb0FoQWhCaUFESUFnMkFnZ2dBaUFES0FJSU5nSUFJQWNnQWlBRklBUkIvd0Z4SUFFZ0JrRWZjVUdpQW1vUkNBQkZCRUFnQUNBQUtBSUFRWFJxS0FJQWFpSUJJQUVvQWhCQkJYSVE3Z0VMQ3lBREVKY0NJQU1rQmlBQUM0VUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0FSQUlBRWdBQkNZQWlBQkxBQUFCRUFnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQ0lDS0FJQUtBSVlJUU1nQWlBRFFmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FSQ1hBZ3NnQVNRR0M2Z0JBUVIvSXdZaEFpTUdRUkJxSkFZZ0FpQUFFSmdDSUFJc0FBQUVRQUpBSUFBZ0FDZ0NBRUYwYWlnQ0FHb29BaGdpQXlFRUlBTUVRQ0FFS0FJWUlnVWdCQ2dDSEVZRWZ5QURLQUlBS0FJMElRTWdCQ0FCRUVJZ0EwRS9jVUdLQVdvUkFnQUZJQVFnQlVFQmFqWUNHQ0FGSUFFNkFBQWdBUkJDQzBGL0VFRkZEUUVMSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBQ0FBS0FJUVFRRnlFTzRCQ3dzZ0FoQ1hBaUFDSkFZTEJ3QWdBQ0FCUmdzSUFDQUFRZjhCY1FzNEFDQUFJQUJjQkg5QmdJQ0FnSGdGSUFCREFBQUFUMkFFZjBHQWdJQ0FlQVVnQUVNQUFBRFBYd1IvUVlDQWdJQjRCU0FBcUFzTEN3dTNOUUVNZnlNR0lRb2pCa0VRYWlRR0lBQkI5UUZKQkVCQnJORURLQUlBSWdWQkVDQUFRUXRxUVhoeElBQkJDMGtiSWdKQkEzWWlBSFlpQVVFRGNRUkFJQUZCQVhGQkFYTWdBR29pQWtFRGRFSFUwUU5xSWdBb0FnZ2lBMEVJYWlJRUtBSUFJUUVnQUNBQlJnUkFRYXpSQTBFQklBSjBRWDl6SUFWeE5nSUFCU0FCSUFBMkFnd2dBQ0FCTmdJSUN5QURJQUpCQTNRaUFFRURjallDQkNBQUlBTnFJZ0FnQUNnQ0JFRUJjallDQkNBS0pBWWdCQThMSUFKQnRORURLQUlBSWdsTEJIOGdBUVJBUVFJZ0FIUWlBMEVBSUFOcmNpQUJJQUIwY1NJQVFRQWdBR3R4UVg5cUlnQkJESFpCRUhFaUFTQUFJQUYySWdCQkJYWkJDSEVpQVhJZ0FDQUJkaUlBUVFKMlFRUnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQ2NTSUJjaUFBSUFGMklnQkJBWFpCQVhFaUFYSWdBQ0FCZG1vaUJFRURkRUhVMFFOcUlnQW9BZ2dpQVVFSWFpSUdLQUlBSVFNZ0FDQURSZ1JBUWF6UkEwRUJJQVIwUVg5eklBVnhJZ0EyQWdBRklBTWdBRFlDRENBQUlBTTJBZ2dnQlNFQUN5QUJJQUpCQTNJMkFnUWdBU0FDYWlJRklBUkJBM1FpQXlBQ2F5SUVRUUZ5TmdJRUlBRWdBMm9nQkRZQ0FDQUpCRUJCd05FREtBSUFJUUVnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBMEVCSUFKMElnSWdBSEVFZnlBRFFRaHFJZ0lvQWdBRlFhelJBeUFBSUFKeU5nSUFJQU5CQ0dvaEFpQURDeUVBSUFJZ0FUWUNBQ0FBSUFFMkFnd2dBU0FBTmdJSUlBRWdBellDREF0QnRORURJQVEyQWdCQndORURJQVUyQWdBZ0NpUUdJQVlQQzBHdzBRTW9BZ0FpQ3dSL1FRQWdDMnNnQzNGQmYyb2lBRUVNZGtFUWNTSUJJQUFnQVhZaUFFRUZka0VJY1NJQmNpQUFJQUYySWdCQkFuWkJCSEVpQVhJZ0FDQUJkaUlBUVFGMlFRSnhJZ0Z5SUFBZ0FYWWlBRUVCZGtFQmNTSUJjaUFBSUFGMmFrRUNkRUhjMHdOcUtBSUFJZ1FoQUNBRUtBSUVRWGh4SUFKcklRZ0RRQUpBSUFBb0FoQWlBUVJBSUFFaEFBVWdBQ2dDRkNJQVJRMEJDeUFBSUFRZ0FDZ0NCRUY0Y1NBQ2F5SUJJQWhKSWdNYklRUWdBU0FJSUFNYklRZ01BUXNMSUFJZ0JHb2lEQ0FFU3dSL0lBUW9BaGdoQnlBRUlBUW9BZ3dpQUVZRVFBSkFJQVJCRkdvaUFTZ0NBQ0lBUlFSQUlBUkJFR29pQVNnQ0FDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQXlnQ0FDSUdSUVJBSUFCQkVHb2lBeWdDQUNJR1JRMEJDeUFESVFFZ0JpRUFEQUVMQ3lBQlFRQTJBZ0FMQlNBRUtBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBY0VRQUpBSUFRZ0JDZ0NIQ0lCUVFKMFFkelRBMm9pQXlnQ0FFWUVRQ0FESUFBMkFnQWdBRVVFUUVHdzBRTkJBU0FCZEVGL2N5QUxjVFlDQUF3Q0N3VWdCMEVRYWlBSFFSUnFJQVFnQnlnQ0VFWWJJQUEyQWdBZ0FFVU5BUXNnQUNBSE5nSVlJQVFvQWhBaUFRUkFJQUFnQVRZQ0VDQUJJQUEyQWhnTElBUW9BaFFpQVFSQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3dzZ0NFRVFTUVJBSUFRZ0FpQUlhaUlBUVFOeU5nSUVJQUFnQkdvaUFDQUFLQUlFUVFGeU5nSUVCU0FFSUFKQkEzSTJBZ1FnRENBSVFRRnlOZ0lFSUFnZ0RHb2dDRFlDQUNBSkJFQkJ3TkVES0FJQUlRQWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEFVRUJJQUowSWdJZ0JYRUVmeUFCUVFocUlnSW9BZ0FGUWF6UkF5QUNJQVZ5TmdJQUlBRkJDR29oQWlBQkN5RURJQUlnQURZQ0FDQURJQUEyQWd3Z0FDQUROZ0lJSUFBZ0FUWUNEQXRCdE5FRElBZzJBZ0JCd05FRElBdzJBZ0FMSUFva0JpQUVRUWhxRHdVZ0Fnc0ZJQUlMQlNBQ0N5RUFCU0FBUWI5L1N3UkFRWDhoQUFVQ1FDQUFRUXRxSWdGQmVIRWhBRUd3MFFNb0FnQWlCUVJBUVFBZ0FHc2hCQUpBQWtBZ0FVRUlkaUlCQkg4Z0FFSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1pCZ09BZmFrRVFka0VFY1NFQlFRNGdCaUFCZENJR1FZQ0FEMnBCRUhaQkFuRWlDQ0FCSUFKeWNtc2dCaUFJZEVFUGRtb2lBVUVCZENBQUlBRkJCMnAyUVFGeGNnc0ZRUUFMSWdkQkFuUkIzTk1EYWlnQ0FDSUJCSDlCQUNFQ0lBQkJBRUVaSUFkQkFYWnJJQWRCSDBZYmRDRUdBMzhnQVNnQ0JFRjRjU0FBYXlJSUlBUkpCRUFnQ0FSL0lBZ2hCQ0FCQlVFQUlRUWdBU0VDREFRTElRSUxJQU1nQVNnQ0ZDSURJQU5GSUFNZ0FVRVFhaUFHUVI5MlFRSjBhaWdDQUNJQlJuSWJJUU1nQmtFQmRDRUdJQUVOQUNBQ0N3VkJBQXNpQVNBRGNnUi9JQU1GSUFWQkFpQUhkQ0lCUVFBZ0FXdHljU0lDUlEwRVFRQWhBU0FDUVFBZ0FtdHhRWDlxSWdKQkRIWkJFSEVpQXlBQ0lBTjJJZ0pCQlhaQkNIRWlBM0lnQWlBRGRpSUNRUUoyUVFSeElnTnlJQUlnQTNZaUFrRUJka0VDY1NJRGNpQUNJQU4ySWdKQkFYWkJBWEVpQTNJZ0FpQURkbXBCQW5SQjNOTURhaWdDQUFzaUFnMEFJQUVoQXd3QkN5QUJJUU1nQkNFQkEzOGdBaWdDQkVGNGNTQUFheUlJSUFGSklRWWdDQ0FCSUFZYklRRWdBaUFESUFZYklRTWdBaWdDRUNJRVJRUkFJQUlvQWhRaEJBc2dCQVIvSUFRaEFnd0JCU0FCQ3dzaEJBc2dBd1JBSUFSQnRORURLQUlBSUFCclNRUkFJQUFnQTJvaUJ5QURTd1JBSUFNb0FoZ2hDU0FESUFNb0Fnd2lBVVlFUUFKQUlBTkJGR29pQWlnQ0FDSUJSUVJBSUFOQkVHb2lBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCaWdDQUNJSVJRUkFJQUZCRUdvaUJpZ0NBQ0lJUlEwQkN5QUdJUUlnQ0NFQkRBRUxDeUFDUVFBMkFnQUxCU0FES0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFBSkFJQU1nQXlnQ0hDSUNRUUowUWR6VEEyb2lCaWdDQUVZRVFDQUdJQUUyQWdBZ0FVVUVRRUd3MFFNZ0JVRUJJQUowUVg5emNTSUJOZ0lBREFJTEJTQUpRUkJxSUFsQkZHb2dBeUFKS0FJUVJoc2dBVFlDQUNBQlJRUkFJQVVoQVF3Q0N3c2dBU0FKTmdJWUlBTW9BaEFpQWdSQUlBRWdBallDRUNBQ0lBRTJBaGdMSUFNb0FoUWlBZ1JBSUFFZ0FqWUNGQ0FDSUFFMkFoZ0xJQVVoQVFzRklBVWhBUXNnQkVFUVNRUkFJQU1nQUNBRWFpSUFRUU55TmdJRUlBQWdBMm9pQUNBQUtBSUVRUUZ5TmdJRUJRSkFJQU1nQUVFRGNqWUNCQ0FISUFSQkFYSTJBZ1FnQkNBSGFpQUVOZ0lBSUFSQkEzWWhBaUFFUVlBQ1NRUkFJQUpCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lCUVFFZ0FuUWlBbkVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0J6WUNBQ0FCSUFjMkFnd2dCeUFCTmdJSUlBY2dBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBblFpQmtHQTRCOXFRUkIyUVFSeElRQkJEaUFHSUFCMElnWkJnSUFQYWtFUWRrRUNjU0lGSUFBZ0FuSnlheUFHSUFWMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRQWdCeUFDTmdJY0lBZEJBRFlDRkNBSFFRQTJBaEJCQVNBQ2RDSUdJQUZ4UlFSQVFiRFJBeUFCSUFaeU5nSUFJQUFnQnpZQ0FDQUhJQUEyQWhnZ0J5QUhOZ0lNSUFjZ0J6WUNDQXdCQ3lBRUlBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQkVFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFJRFFDQUFRUkJxSUFKQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFKQkFYUWhBaUFFSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBYzJBZ0FnQnlBQU5nSVlJQWNnQnpZQ0RDQUhJQWMyQWdnTUFnc0xJQUVvQWdnaUFDQUhOZ0lNSUFFZ0J6WUNDQ0FISUFBMkFnZ2dCeUFCTmdJTUlBZEJBRFlDR0FzTElBb2tCaUFEUVFocUR3c0xDd3NMQ3dzQ1FBSkFRYlRSQXlnQ0FDSUNJQUJQQkVCQndORURLQUlBSVFFZ0FpQUFheUlEUVE5TEJFQkJ3TkVESUFBZ0FXb2lCRFlDQUVHMDBRTWdBellDQUNBRUlBTkJBWEkyQWdRZ0FTQUNhaUFETmdJQUlBRWdBRUVEY2pZQ0JBVkJ0TkVEUVFBMkFnQkJ3TkVEUVFBMkFnQWdBU0FDUVFOeU5nSUVJQUVnQW1vaUFDQUFLQUlFUVFGeU5nSUVDd3dCQ3dKQVFialJBeWdDQUNJQklBQkxCRUFNQVFzZ0FFRXZhaUlGUVlUVkF5Z0NBQVIvUVl6VkF5Z0NBQVZCak5VRFFZQWdOZ0lBUVlqVkEwR0FJRFlDQUVHUTFRTkJmellDQUVHVTFRTkJmellDQUVHWTFRTkJBRFlDQUVIbzFBTkJBRFlDQUVHRTFRTWdDa0Z3Y1VIWXF0V3FCWE0yQWdCQmdDQUxJZ0pxSWdOQkFDQUNheUlJY1NJR0lBQk5CRUFNQXd0QjVOUURLQUlBSWdJRVFDQUdRZHpVQXlnQ0FDSUVhaUlISUFSTklBY2dBa3R5QkVBTUJBc0xJQUJCTUdvaEJ3SkFBa0JCNk5RREtBSUFRUVJ4QkVCQkFDRUNCUUpBQWtBQ1FFSEUwUU1vQWdBaUFrVU5BRUhzMUFNaEJBTkFBa0FnQkNnQ0FDSUpJQUpOQkVBZ0NTQUVLQUlFYWlBQ1N3MEJDeUFFS0FJSUlnUU5BUXdDQ3dzZ0NDQURJQUZyY1NJQ1FmLy8vLzhIU1FSQUlBSVF1Z0VpQVNBRUtBSUFJQVFvQWdScVJnUkFJQUZCZjBjTkJnVU1Bd3NGUVFBaEFnc01BZ3RCQUJDNkFTSUJRWDlHQkg5QkFBVkIzTlFES0FJQUlnUWdCaUFCUVlqVkF5Z0NBQ0lDUVg5cUlnTnFRUUFnQW10eElBRnJRUUFnQVNBRGNSdHFJZ0pxSVFNZ0FrSC8vLy8vQjBrZ0FpQUFTM0VFZjBIazFBTW9BZ0FpQ0FSQUlBTWdCRTBnQXlBSVMzSUVRRUVBSVFJTUJRc0xJQUVnQWhDNkFTSURSZzBGSUFNaEFRd0NCVUVBQ3dzaEFnd0JDeUFCUVg5SElBSkIvLy8vL3dkSmNTQUhJQUpMY1VVRVFDQUJRWDlHQkVCQkFDRUNEQUlGREFRTEFBdEJqTlVES0FJQUlnTWdCU0FDYTJwQkFDQURhM0VpQTBILy8vLy9CMDhOQWtFQUlBSnJJUVFnQXhDNkFVRi9SZ1IvSUFRUXVnRWFRUUFGSUFJZ0Eyb2hBZ3dEQ3lFQ0MwSG8xQU5CNk5RREtBSUFRUVJ5TmdJQUN5QUdRZi8vLy84SFNRUkFJQVlRdWdFaEFVRUFFTG9CSWdNZ0FXc2lCaUFBUVNocVN5RUVJQVlnQWlBRUd5RUNJQVJCQVhNZ0FVRi9SbklnQVVGL1J5QURRWDlIY1NBQklBTkpjVUVCYzNKRkRRRUxEQUVMUWR6VUF5QUNRZHpVQXlnQ0FHb2lBellDQUNBRFFlRFVBeWdDQUVzRVFFSGcxQU1nQXpZQ0FBdEJ4TkVES0FJQUlnTUVRQUpBUWV6VUF5RUVBa0FDUUFOQUlBRWdCQ2dDQUNJR0lBUW9BZ1FpQldwR0RRRWdCQ2dDQ0NJRURRQUxEQUVMSUFRb0FneEJDSEZGQkVBZ0JpQURUU0FCSUFOTGNRUkFJQVFnQWlBRmFqWUNCQ0FEUVFBZ0EwRUlhaUlCYTBFSGNVRUFJQUZCQjNFYklnUnFJUUVnQWtHNDBRTW9BZ0JxSWdZZ0JHc2hBa0hFMFFNZ0FUWUNBRUc0MFFNZ0FqWUNBQ0FCSUFKQkFYSTJBZ1FnQXlBR2FrRW9OZ0lFUWNqUkEwR1UxUU1vQWdBMkFnQU1Bd3NMQ3lBQlFielJBeWdDQUVrRVFFRzgwUU1nQVRZQ0FBc2dBU0FDYWlFR1FlelVBeUVFQWtBQ1FBTkFJQVlnQkNnQ0FFWU5BU0FFS0FJSUlnUU5BQXNNQVFzZ0JDZ0NERUVJY1VVRVFDQUVJQUUyQWdBZ0JDQUNJQVFvQWdScU5nSUVJQUFnQVVFQUlBRkJDR29pQW10QkIzRkJBQ0FDUVFkeEcyb2lCMm9oQlNBR1FRQWdCa0VJYWlJQmEwRUhjVUVBSUFGQkIzRWJhaUlDSUFkcklBQnJJUVFnQnlBQVFRTnlOZ0lFSUFJZ0EwWUVRRUc0MFFNZ0JFRzQwUU1vQWdCcUlnQTJBZ0JCeE5FRElBVTJBZ0FnQlNBQVFRRnlOZ0lFQlFKQUlBSkJ3TkVES0FJQVJnUkFRYlRSQXlBRVFiVFJBeWdDQUdvaUFEWUNBRUhBMFFNZ0JUWUNBQ0FGSUFCQkFYSTJBZ1FnQUNBRmFpQUFOZ0lBREFFTElBSW9BZ1FpQ1VFRGNVRUJSZ1JBSUFsQkEzWWhBeUFKUVlBQ1NRUkFJQUlvQWdnaUFDQUNLQUlNSWdGR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUFVZ0FDQUJOZ0lNSUFFZ0FEWUNDQXNGQWtBZ0FpZ0NHQ0VJSUFJZ0FpZ0NEQ0lBUmdSQUFrQWdBa0VRYWlJQlFRUnFJZ01vQWdBaUFBUkFJQU1oQVFVZ0FpZ0NFQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUJpZ0NBQ0lEUlFSQUlBQkJFR29pQmlnQ0FDSURSUTBCQ3lBR0lRRWdBeUVBREFFTEN5QUJRUUEyQWdBTEJTQUNLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWhGRFFBZ0FpQUNLQUljSWdGQkFuUkIzTk1EYWlJREtBSUFSZ1JBQWtBZ0F5QUFOZ0lBSUFBTkFFR3cwUU5Cc05FREtBSUFRUUVnQVhSQmYzTnhOZ0lBREFJTEJTQUlRUkJxSUFoQkZHb2dBaUFJS0FJUVJoc2dBRFlDQUNBQVJRMEJDeUFBSUFnMkFoZ2dBaWdDRUNJQkJFQWdBQ0FCTmdJUUlBRWdBRFlDR0FzZ0FpZ0NGQ0lCUlEwQUlBQWdBVFlDRkNBQklBQTJBaGdMQ3lBQ0lBbEJlSEVpQUdvaEFpQUFJQVJxSVFRTElBSWdBaWdDQkVGK2NUWUNCQ0FGSUFSQkFYSTJBZ1FnQkNBRmFpQUVOZ0lBSUFSQkEzWWhBU0FFUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0JUWUNBQ0FCSUFVMkFnd2dCU0FCTmdJSUlBVWdBRFlDREF3QkN5QUVRUWgySWdBRWZ5QUVRZi8vL3dkTEJIOUJId1VnQUNBQVFZRCtQMnBCRUhaQkNIRWlBWFFpQWtHQTRCOXFRUkIyUVFSeElRQkJEaUFDSUFCMElnSkJnSUFQYWtFUWRrRUNjU0lESUFBZ0FYSnlheUFDSUFOMFFROTJhaUlBUVFGMElBUWdBRUVIYW5aQkFYRnlDd1ZCQUFzaUFVRUNkRUhjMHdOcUlRQWdCU0FCTmdJY0lBVkJBRFlDRkNBRlFRQTJBaEJCc05FREtBSUFJZ0pCQVNBQmRDSURjVVVFUUVHdzBRTWdBaUFEY2pZQ0FDQUFJQVUyQWdBZ0JTQUFOZ0lZSUFVZ0JUWUNEQ0FGSUFVMkFnZ01BUXNnQkNBQUtBSUFJZ0FvQWdSQmVIRkdCRUFnQUNFQkJRSkFJQVJCQUVFWklBRkJBWFpySUFGQkgwWWJkQ0VDQTBBZ0FFRVFhaUFDUVI5MlFRSjBhaUlES0FJQUlnRUVRQ0FDUVFGMElRSWdCQ0FCS0FJRVFYaHhSZzBDSUFFaEFBd0JDd3NnQXlBRk5nSUFJQVVnQURZQ0dDQUZJQVUyQWd3Z0JTQUZOZ0lJREFJTEN5QUJLQUlJSWdBZ0JUWUNEQ0FCSUFVMkFnZ2dCU0FBTmdJSUlBVWdBVFlDRENBRlFRQTJBaGdMQ3lBS0pBWWdCMEVJYWc4TEMwSHMxQU1oQkFOQUFrQWdCQ2dDQUNJR0lBTk5CRUFnQmlBRUtBSUVhaUlHSUFOTERRRUxJQVFvQWdnaEJBd0JDd3RCeE5FRElBRkJBQ0FCUVFocUlnUnJRUWR4UVFBZ0JFRUhjUnNpQkdvaUJUWUNBRUc0MFFNZ0FrRllhaUlJSUFScklnUTJBZ0FnQlNBRVFRRnlOZ0lFSUFFZ0NHcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFJQU5CQUNBR1FWRnFJZ1JCQ0dvaUJXdEJCM0ZCQUNBRlFRZHhHeUFFYWlJRUlBUWdBMEVRYWtrYklnUkJHellDQkNBRVFlelVBeWtDQURjQ0NDQUVRZlRVQXlrQ0FEY0NFRUhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUgwMUFNZ0JFRUlhallDQUNBRVFSaHFJUUVEUUNBQlFRUnFJZ0pCQnpZQ0FDQUJRUWhxSUFaSkJFQWdBaUVCREFFTEN5QURJQVJIQkVBZ0JDQUVLQUlFUVg1eE5nSUVJQU1nQkNBRGF5SUdRUUZ5TmdJRUlBUWdCallDQUNBR1FRTjJJUUlnQmtHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQkVFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlFS0FJQUJVR3MwUU1nQWlBRWNqWUNBQ0FCUVFocUlRUWdBUXNoQWlBRUlBTTJBZ0FnQWlBRE5nSU1JQU1nQWpZQ0NDQURJQUUyQWd3TUFnc2dCa0VJZGlJQkJIOGdCa0gvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdSQmdPQWZha0VRZGtFRWNTRUJRUTRnQkNBQmRDSUVRWUNBRDJwQkVIWkJBbkVpQlNBQklBSnljbXNnQkNBRmRFRVBkbW9pQVVFQmRDQUdJQUZCQjJwMlFRRnhjZ3NGUVFBTElnSkJBblJCM05NRGFpRUJJQU1nQWpZQ0hDQURRUUEyQWhRZ0EwRUFOZ0lRUWJEUkF5Z0NBQ0lFUVFFZ0FuUWlCWEZGQkVCQnNORURJQVFnQlhJMkFnQWdBU0FETmdJQUlBTWdBVFlDR0NBRElBTTJBZ3dnQXlBRE5nSUlEQUlMSUFZZ0FTZ0NBQ0lCS0FJRVFYaHhSZ1JBSUFFaEFnVUNRQ0FHUVFCQkdTQUNRUUYyYXlBQ1FSOUdHM1FoQkFOQUlBRkJFR29nQkVFZmRrRUNkR29pQlNnQ0FDSUNCRUFnQkVFQmRDRUVJQVlnQWlnQ0JFRjRjVVlOQWlBQ0lRRU1BUXNMSUFVZ0F6WUNBQ0FESUFFMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F3REN3c2dBaWdDQ0NJQklBTTJBZ3dnQWlBRE5nSUlJQU1nQVRZQ0NDQURJQUkyQWd3Z0EwRUFOZ0lZQ3dzRlFielJBeWdDQUNJRFJTQUJJQU5KY2dSQVFielJBeUFCTmdJQUMwSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSFEwUU5CaE5VREtBSUFOZ0lBUWN6UkEwRi9OZ0lBUWVEUkEwSFUwUU0yQWdCQjNORURRZFRSQXpZQ0FFSG8wUU5CM05FRE5nSUFRZVRSQTBIYzBRTTJBZ0JCOE5FRFFlVFJBellDQUVIczBRTkI1TkVETmdJQVFmalJBMEhzMFFNMkFnQkI5TkVEUWV6UkF6WUNBRUdBMGdOQjlORUROZ0lBUWZ6UkEwSDAwUU0yQWdCQmlOSURRZnpSQXpZQ0FFR0UwZ05CL05FRE5nSUFRWkRTQTBHRTBnTTJBZ0JCak5JRFFZVFNBellDQUVHWTBnTkJqTklETmdJQVFaVFNBMEdNMGdNMkFnQkJvTklEUVpUU0F6WUNBRUdjMGdOQmxOSUROZ0lBUWFqU0EwR2MwZ00yQWdCQnBOSURRWnpTQXpZQ0FFR3cwZ05CcE5JRE5nSUFRYXpTQTBHazBnTTJBZ0JCdU5JRFFhelNBellDQUVHMDBnTkJyTklETmdJQVFjRFNBMEcwMGdNMkFnQkJ2TklEUWJUU0F6WUNBRUhJMGdOQnZOSUROZ0lBUWNUU0EwRzgwZ00yQWdCQjBOSURRY1RTQXpZQ0FFSE0wZ05CeE5JRE5nSUFRZGpTQTBITTBnTTJBZ0JCMU5JRFFjelNBellDQUVIZzBnTkIxTklETmdJQVFkelNBMEhVMGdNMkFnQkI2TklEUWR6U0F6WUNBRUhrMGdOQjNOSUROZ0lBUWZEU0EwSGswZ00yQWdCQjdOSURRZVRTQXpZQ0FFSDQwZ05CN05JRE5nSUFRZlRTQTBIczBnTTJBZ0JCZ05NRFFmVFNBellDQUVIODBnTkI5TklETmdJQVFZalRBMEg4MGdNMkFnQkJoTk1EUWZ6U0F6WUNBRUdRMHdOQmhOTUROZ0lBUVl6VEEwR0Uwd00yQWdCQm1OTURRWXpUQXpZQ0FFR1Uwd05Cak5NRE5nSUFRYURUQTBHVTB3TTJBZ0JCbk5NRFFaVFRBellDQUVHbzB3TkJuTk1ETmdJQVFhVFRBMEdjMHdNMkFnQkJzTk1EUWFUVEF6WUNBRUdzMHdOQnBOTUROZ0lBUWJqVEEwR3Mwd00yQWdCQnROTURRYXpUQXpZQ0FFSEEwd05CdE5NRE5nSUFRYnpUQTBHMDB3TTJBZ0JCeU5NRFFielRBellDQUVIRTB3TkJ2Tk1ETmdJQVFkRFRBMEhFMHdNMkFnQkJ6Tk1EUWNUVEF6WUNBRUhZMHdOQnpOTUROZ0lBUWRUVEEwSE0wd00yQWdCQnhORURJQUZCQUNBQlFRaHFJZ05yUVFkeFFRQWdBMEVIY1JzaUEyb2lCRFlDQUVHNDBRTWdBa0ZZYWlJQ0lBTnJJZ00yQWdBZ0JDQURRUUZ5TmdJRUlBRWdBbXBCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBQzBHNDBRTW9BZ0FpQVNBQVN3UkFEQUlMQzBHa3hRTkJNRFlDQUF3Q0MwRzQwUU1nQVNBQWF5SUNOZ0lBUWNUUkF5QUFRY1RSQXlnQ0FDSUJhaUlETmdJQUlBTWdBa0VCY2pZQ0JDQUJJQUJCQTNJMkFnUUxJQW9rQmlBQlFRaHFEd3NnQ2lRR1FRQUxtQUlCQkg4Z0FDQUNhaUVFSUFGQi93RnhJUU1nQWtIREFFNEVRQU5BSUFCQkEzRUVRQ0FBSUFNNkFBQWdBRUVCYWlFQURBRUxDeUFEUVFoMElBTnlJQU5CRUhSeUlBTkJHSFJ5SVFFZ0JFRjhjU0lGUVVCcUlRWURRQ0FBSUFaTUJFQWdBQ0FCTmdJQUlBQWdBVFlDQkNBQUlBRTJBZ2dnQUNBQk5nSU1JQUFnQVRZQ0VDQUFJQUUyQWhRZ0FDQUJOZ0lZSUFBZ0FUWUNIQ0FBSUFFMkFpQWdBQ0FCTmdJa0lBQWdBVFlDS0NBQUlBRTJBaXdnQUNBQk5nSXdJQUFnQVRZQ05DQUFJQUUyQWpnZ0FDQUJOZ0k4SUFCQlFHc2hBQXdCQ3dzRFFDQUFJQVZJQkVBZ0FDQUJOZ0lBSUFCQkJHb2hBQXdCQ3dzTEEwQWdBQ0FFU0FSQUlBQWdBem9BQUNBQVFRRnFJUUFNQVFzTElBUWdBbXNMQmdCQkVSQUNDeG9BSUFBc0FBdEJBRWdFUUNBQUtBSUlHaUFBS0FJQUVEZ0xDdzhBSUFFRWZ5QUFJQUZ1QlVFQUN3c1NBQ0FBQkVBZ0FDZ0NBQkE0SUFBUU9Bc0xmd0VFZnlNR0lRSWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUVCSDhnQUNnQ0JBVWdBMEgvQVhFTElnTWdBVWtFUUNBQUlBRWdBMnNRNUFrRklBUUVRQUovSUFFZ0FDZ0NBR29oQlNBQ1FRQTZBQUFnQlFzZ0FoQmZJQUFnQVRZQ0JBVWdBa0VBT2dBQUlBQWdBV29nQWhCZklBQWdBVG9BQ3dzTElBSWtCZ3NRQUNBQVFmRDRBQ0FCS0FJQXR4QVhDOFlEQVFOL0lBSkJnTUFBVGdSQUlBQWdBU0FDRUNVYUlBQVBDeUFBSVFRZ0FDQUNhaUVESUFCQkEzRWdBVUVEY1VZRVFBTkFJQUJCQTNFRVFDQUNSUVJBSUFRUEN5QUFJQUVzQUFBNkFBQWdBRUVCYWlFQUlBRkJBV29oQVNBQ1FRRnJJUUlNQVFzTElBTkJmSEVpQWtGQWFpRUZBMEFnQUNBRlRBUkFJQUFnQVNnQ0FEWUNBQ0FBSUFFb0FnUTJBZ1FnQUNBQktBSUlOZ0lJSUFBZ0FTZ0NERFlDRENBQUlBRW9BaEEyQWhBZ0FDQUJLQUlVTmdJVUlBQWdBU2dDR0RZQ0dDQUFJQUVvQWh3MkFod2dBQ0FCS0FJZ05nSWdJQUFnQVNnQ0pEWUNKQ0FBSUFFb0FpZzJBaWdnQUNBQktBSXNOZ0lzSUFBZ0FTZ0NNRFlDTUNBQUlBRW9BalEyQWpRZ0FDQUJLQUk0TmdJNElBQWdBU2dDUERZQ1BDQUFRVUJySVFBZ0FVRkFheUVCREFFTEN3TkFJQUFnQWtnRVFDQUFJQUVvQWdBMkFnQWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0ZJQU5CQkdzaEFnTkFJQUFnQWtnRVFDQUFJQUVzQUFBNkFBQWdBQ0FCTEFBQk9nQUJJQUFnQVN3QUFqb0FBaUFBSUFFc0FBTTZBQU1nQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NMQTBBZ0FDQURTQVJBSUFBZ0FTd0FBRG9BQUNBQVFRRnFJUUFnQVVFQmFpRUJEQUVMQ3lBRUN4MEFJQUFvQWhnZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQVNBQ0VONElDdzhBSUFFRWZ5QUFJQUZ3QlVFQUN3c1BBQ0FCQkg4Z0FDQUJid1ZCQUFzTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEIvQUFRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUN4VUFJQUJCQVNBQUd4QkVJZ0FFZnlBQUJVRUFDd3VxQkFJSmZ3SjlJd1loQlNNR1FTQnFKQVlnQlVFRWFpRUVJQVVnQURZQ0FDQUFLQUlBSVFNQ1FBSkFRYURFQXlnQ0FDSUJSU0lKQkVCQkFDRUFEQUVGSUFFZ0FVRi9haUlJY1VVaUJ3Ui9JQU1nQ0hFRklBTWdBVWtFZnlBREJTQURJQUVRVGdzTElnQkJBblJCbk1RREtBSUFhaWdDQUNJQ0JFQURRQ0FDS0FJQUlnSkZEUU1nQXlBQ0tBSUVJZ1pIQkVBZ0J3Ui9JQVlnQ0hFRklBWWdBVThFZnlBR0lBRVFUZ1VnQmdzTElBQkhEUVFMSUFNZ0FpZ0NDRWNOQUFzRkRBSUxDd3dCQ3lBRUlBTWdCUkRvQmtHc3hBTXFBZ0FpQ2lBQnM1UkJxTVFES0FJQVFRRnFzeUlMWFNBSmNnUkFBbjhnQ3lBS2xZMFFrZ0VpQWlBQlFYOXFJQUZ4UVFCSElBRkJBMGx5SUFGQkFYUnlJZ0FnQUNBQ1NSc1E1d1pCb01RREtBSUFJZ0pCZjJvaUFDQURjU0FBSUFKeFJRMEFHaUFESUFKSkJIOGdBd1VnQXlBQ0VFNExDeUVBQlNBQklRSUxRWnpFQXlnQ0FDQUFRUUowYWlnQ0FDSUJCSDhnQkNnQ0FDQUJLQUlBTmdJQUlBRWdCQ2dDQURZQ0FDQUVCU0FFS0FJQVFhVEVBeWdDQURZQ0FFR2t4QU1nQkNnQ0FEWUNBRUdjeEFNb0FnQWdBRUVDZEdwQnBNUUROZ0lBSUFRb0FnQWlCeWdDQUNJQUJFQWdBQ2dDQkNFQUlBSWdBa0YvYWlJQmNRUi9JQUFnQWs4RWZ5QUFJQUlRVGdVZ0FBc0ZJQUFnQVhFTElRQkJuTVFES0FJQUlBQkJBblJxSUFjMkFnQUxJQVFMSWdBb0FnQWhBa0dveEFOQnFNUURLQUlBUVFGcU5nSUFJQUJCQURZQ0FBc2dCU1FHSUFKQkVHb0x1Z0VCQm44Z0FDZ0NBQ0VCUWFERUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFaekVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdkNBUUlEZndGK0FrQUNRQ0FBS1FOd0lnUlFSUVJBSUFBcEEzZ2dCRmtOQVFzZ0FCRDFBU0lDUVFCSURRQWdBQ2dDQ0NFQkFrQUNRQ0FBS1FOd0lnUlFEUUFnQkNBQUtRTjRmU0lFSUFFZ0FDZ0NCQ0lEYTZ4VkRRQWdBQ0FESUFTblFYOXFhallDYUF3QkN5QUJJUU1nQUNBQk5nSm9DeUFDSUFFRWZ5QUFJQUFwQTNnZ0FVRUJhaUFBS0FJRUlnRnJySHczQTNnZ0FRVWdBQ2dDQkF0QmYyb2lBQzBBQUVjRVFDQUFJQUk2QUFBTERBRUxJQUJCQURZQ2FFRi9JUUlMSUFJTEl3RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0FzTERnQWdBQ0FCSUFFUXRBRVE0Z2tMRFFBZ0FDQUJJQUVRWUJEbkNRc0lBRUVERUFKQkFBdEdBZ0ovQVgwakJpRUZJd1pCRUdva0JnSi9JQUFnQXlBRUVLd0JJUVlnQlVFRWFpQUZJQUVnQWlBREVNc0NJQVlMSUFVcUFnUWdCU29DQUJDdkJ5RUhJQVVrQmlBSEN3a0FJQUFnQUJEREF3dEdBQ0FBSUFFcUFnZ2dBU29DQUNBQ0tnSUFsQ0FCS2dJRUlBSXFBZ1NVa3BJNEFnQWdBQ0FCS2dJVUlBRXFBZ3dnQWlvQ0FKUWdBU29DRUNBQ0tnSUVsSktTT0FJRUN5MEFRZkMrQXl3QUFFVUVRRUh3dmdNUWNBUkFRWWpPQXhEOUJEWUNBRUh3dmdNUWJ3c0xRWWpPQXlnQ0FBdXpCUUVJZnlBQUtBTFVBeUlFS0FJUUlnSkJnSUFDU0FSQUlBUkJER29oQlNBRUtBSVVJUU1EZnlBRUlBTkJmMm9pQWpZQ0ZDQURRUUZJQkVBZ0FDZ0N1QU1FUUVFQUlRTUZJQUFvQWhnaUFpZ0NCRVVFUUNBQ0tBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnTkJHVFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFDSUFJb0FnUkJmMm8yQWdRZ0FpQUNLQUlBSWdKQkFXbzJBZ0FnQWl3QUFDSURRZjhCY1NFQ0lBTkJmMFlFUUFKL0EwQUNRQ0FBS0FJWUlnSW9BZ1JGQkVBZ0FpZ0NEQ0VESUFBZ0EwSC9BSEZCQ0dvUkFBQkZCRUFnQUNnQ0FDSURRUmsyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDd3NnQWlBQ0tBSUVRWDlxTmdJRUlBSWdBaWdDQUNJQ1FRRnFOZ0lBQWtBQ1FDQUNMQUFBSWdKQmYyc09BZ0VBQWd0Qi93RU1Bd3NNQVFzTElBQWdBa0gvQVhFMkFyZ0RRUUFMSVFJTElBSWhBeUFFS0FJVUlRSUxJQVVnQXlBRktBSUFRUWgwY2pZQ0FDQUVJQUpCQ0dvaUF6WUNGQ0FDUVhoSUJFQWdCQ0FDUVFscUlnSTJBaFFnQWtVRVFDQUVRWUNBQWpZQ0VFRUFJUUlMQlNBRElRSUxDeUFFSUFRb0FoQkJBWFFpQXpZQ0VDQURRWUNBQWtnRWZ5QUNJUU1NQVFVZ0F3c0xJUUFGSUFJaEFDQUVRUXhxSVFVZ0JDZ0NGQ0VDQ3lBQkxRQUFJZ05CL3dCeFFRSjBRWkFtYWlnQ0FDSUdRUWgxSVFnZ0JDQUFJQVpCRUhVaUIyc2lBRFlDRUNBRktBSUFJZ2tnQUNBQ2RDSUNUZ1JBSUFVZ0NTQUNhellDQUNBRUlBYzJBaEFnQTBHQUFYRWhBaUFBSUFkSUJFQWdBU0FDSUFoek9nQUFJQU5CQjNVUEJTQUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVVBDd0FMSUFCQmdJQUNUZ1JBSUFOQkIzVVBDeUFEUVlBQmNTRUNJQUFnQjBnRWZ5QUJJQUlnQm5NNkFBQWdBMEdBQVhOQkIzVUZJQUVnQWlBSWN6b0FBQ0FEUVFkMUN3c0dBQ0FBRURnTERBQWdBQ0FCTEFBQU9nQUFDNDBCQVFOL0FrQUNRQ0FBSWdKQkEzRkZEUUFnQWlJQklRQUNRQU5BSUFFc0FBQkZEUUVnQVVFQmFpSUJJZ0JCQTNFTkFBc2dBU0VBREFFTERBRUxBMEFnQUVFRWFpRUJJQUFvQWdBaUEwSC8vZnQzYWlBRFFZQ0Jnb1I0Y1VHQWdZS0VlSE54UlFSQUlBRWhBQXdCQ3dzZ0EwSC9BWEVFUUFOQUlBQkJBV29pQUN3QUFBMEFDd3NMSUFBZ0Ftc0wyQUVCQTM4Z0F5Z0NURUYvU2dSL1FRRUZRUUFMR2lBQklBSnNJUVVnQXlBRExBQktJZ1FnQkVIL0FXcHlPZ0JLSUFKQkFDQUJHeUVDQWtBZ0F5Z0NDQ0FES0FJRUlnWnJJZ1JCQUVvRWZ5QUFJQVlnQkNBRklBUWdCVWtiSWdRUVRCb2dBeUFFSUFNb0FnUnFOZ0lFSUFBZ0JHb2hBQ0FGSUFSckJTQUZDeUlFUlEwQUlBQWhCaUFFSVFBRFFBSkFJQU1RcHdJTkFDQURJQVlnQUNBREtBSWdRVDl4UWNvQmFoRUVBQ0lFUVFGcVFRSkpEUUFnQUNBRWF5SUFSUTBDSUFRZ0Jtb2hCZ3dCQ3dzZ0JTQUFheUFCRUVnaEFnc2dBZ3N4QVFGL1FlaUpBU2dDQUNFQklBQUVRRUhvaVFGQmpNVURJQUFnQUVGL1JoczJBZ0FMUVg4Z0FTQUJRWXpGQTBZYkN3TUFBUXNJQUVFR0VBSkJBQXU0QVFFQmZTQUNJQUVRd3dNaEF5QUFJQUFxQWdBZ0F5QUJLZ0lBbEpNNEFnQWdBQ0FBS2dJRUlBTWdBU29DQkpTVE9BSUVJQUFnQUNvQ0NDQURJQUVxQWdpVWt6Z0NDQ0FBSUFBcUFnd2dBeUFCS2dJTWxKTTRBZ3dnQUNBQUtnSVFJQU1nQVNvQ0VKU1RPQUlRSUFBZ0FDb0NGQ0FESUFFcUFoU1VremdDRkNBQUlBQXFBaGdnQXlBQktnSVlsSk00QWhnZ0FDQUFLZ0ljSUFNZ0FTb0NISlNUT0FJY0lBQWdBQ29DSUNBRElBRXFBaUNVa3pnQ0lBc0lBRUVMRUFKQkFBdlhBd0VHZnlBQUtBSUFJUVFnQUNnQ0JDRUhBa0FDUUNBQUtBSVFJZ1VvQXJnREJFQWdBU0VJSUFJaEJpQUhJUUlnQkNFQkRBRUZJQUpCR1VnRVFBSkFJQUVoQ0NBQ0lRWUNRQU5BQWtBZ0IwVUVRQ0FGS0FJWUtBSU1JUUVnQlNBQlFmOEFjVUVJYWhFQUFFVU5BeUFGS0FJWUlnRW9BZ1FoQnlBQktBSUFJUVFMSUFkQmYyb2hBaUFFUVFGcUlRRWdCQ3dBQUNJSFFmOEJjU0VFSUFkQmYwWUVRQU5BQWtBZ0FnUi9JQUVGSUFVb0FoZ29BZ3doQVNBRklBRkIvd0J4UVFocUVRQUFSUTBHSUFVb0FoZ2lBU2dDQkNFQ0lBRW9BZ0FMSVFRZ0FrRi9haUVDSUFSQkFXb2hBUUpBQWtBZ0JDd0FBQ0lFUVg5ckRnSUJBQVVMUWY4QklRUU1BUXNNQVFzTEN5QUVJQWhCQ0hSeUlRZ2dCa0VJYWlFSklBWkJFVWdFUUNBQ0lRY2dBU0VFSUFraEJnd0NCU0FKSVFZTUJBc0FDd3NnQlNBRVFmOEJjVFlDdUFNTUJBdEJBQThMQlNBQklRZ2dBaUVHSUFjaEFpQUVJUUVMQ3d3QkN5QUdJQU5JQkVBZ0JTZ0MxQU1vQWloRkJFQWdCU2dDQUNJRFFmZ0FOZ0lVSUFNb0FnUWhBeUFGUVg4Z0EwRS9jVUd5QldvUkF3QWdCU2dDMUFOQkFUWUNLQXNnQ0VFWklBWnJkQ0VJUVJraEJnc0xJQUFnQVRZQ0FDQUFJQUkyQWdRZ0FDQUlOZ0lJSUFBZ0JqWUNERUVCQ3c0QUlBRWdBRUYvYW1vZ0FSQTVDd2NBSUFBZ0FKUUxuUUVCQkg4Z0FDZ0NURUYvU2dSL1FRRUZRUUFMR2lBQUVKd0ZJQUFvQWdCQkFYRkJBRWNpQkVVRVFCQ3JBaUVCSUFBb0FqUWlBZ1JBSUFJZ0FDZ0NPRFlDT0FzZ0FDZ0NPQ0lEQkVBZ0F5QUNOZ0kwQ3lBQUlBRW9BZ0JHQkVBZ0FTQUROZ0lBQzBHb3hRTVFEZ3NnQUJDcEFob2dBQ0FBS0FJTVFmOEFjVUVJYWhFQUFCb2dBQ2dDWUNJQkJFQWdBUkE0Q3lBRVJRUkFJQUFRT0FzTHFRRUNDSDhCZkNNR0lRTWpCa0V3YWlRR0lBQVFud2NDZnhEakF5RUlJQU5CR0dvaUFSQzdBeUFCTEFBTElRVWdBU2dDQUNFR0lBQkJFR29pQWl3QUMwRUFTQVIvSUFJb0FnQUZJQUlMSVFjZ0FCQ2VCMFFBQUFBQUFFQ1BRS0loQ1NBRElnQkI4S01DTmdJQUlBQWdCaUFCSUFWQkFFZ2JOZ0lFSUFCQitLTUNOZ0lJSUFBZ0J6WUNEQ0FBSUFrNUF4QWdDQXRCMWFNQ0lBQVF0d01nQVJCSElBSVFSeUFBSkFZTFJBQWdBQ0FCY3lJQUlBQkJBWFpCMWFyVnFnVnhheUlBUWJQbXpKa0RjU0FBUVFKMlFiUG16SmtEY1dvaUFFRUVkaUFBYWtHUG5yejRBSEZCZ1lLRUNHeEJHSFlMZmdFRGZ5QUJRd0FBQUQrU0VFTWdBQ2dDRUdvaEJTQUNRd0FBQUQrU0VFTWdBQ2dDRkdvaEJpQUZRUUJJQkg5QmZ3VWdCa0VBU0NBRklBQW9BZ2dpQjA1eUJIOUJmd1VnQmlBQUtBSU1TQVIvSUFNZ0FDZ0NBQ0FHSUFkc0lBVnFRUU4wYWlJQUtBSUFOZ0lBSUFRZ0FDZ0NCRFlDQUVFQUJVRi9Dd3NMQ3d3QUlBQWdBU2dDQURZQ0FBc1dBQ0FBUVFBMkFnQWdBQ0FBS0FJQVFRRnlOZ0lBQ3cwQUlBQXNBQUJCQUVkQkFYTUxFUUFnQUNnQ0ZDQUFLQUlRYTBFVUVEa0xHQUFnQUNnQ0FFRWdjVVVFUUNBQklBSWdBQkNYQXhvTEMwQUFJQUFnQUdJRWYwR0FnSUNBZUFVZ0FFUUFBQUFBQUFEZ1FXWUVmMEdBZ0lDQWVBVWdBRVFBQUNBQUFBRGd3V1VFZjBHQWdJQ0FlQVVnQUtvTEN3c0xCd0FnQUVFRWFndDlBUUovSXdZaEJTTUdRWUFDYWlRR0lBUkJnTUFFY1VVZ0FpQURTbkVFUUNBRklBRkJHSFJCR0hVZ0FpQURheUlCUVlBQ0lBRkJnQUpKR3hCRkdpQUJRZjhCU3dSQUlBSWdBMnNoQmdOQUlBQWdCVUdBQWhCeUlBRkJnSDVxSWdGQi93RkxEUUFMSUFaQi93RnhJUUVMSUFBZ0JTQUJFSElMSUFVa0Jnc0dBRUVaRUFJTE9RRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0JEWUNBQ0FDRUdJaEFpQUFJQUVnQXlBRkVLa0JJUVlnQWdSQUlBSVFZaG9MSUFVa0JpQUdDNVlDQVFSL0lBQW9BZ1FpQmlBQUxBQUxJZ1JCL3dGeElnVWdCRUVBU0JzRVFBSkFJQUVnQWtjRVFDQUNJUVFnQVNFRkEwQWdCU0FFUVh4cUlnUkpCRUFnQlNnQ0FDRUdJQVVnQkNnQ0FEWUNBQ0FFSUFZMkFnQWdCVUVFYWlFRkRBRUxDeUFBTEFBTElnUkIvd0Z4SVFVZ0FDZ0NCQ0VHQ3lBQ1FYeHFJUWNnQUNnQ0FDQUFJQVJCR0hSQkdIVkJBRWdpQWhzaUFDQUdJQVVnQWh0cUlRVUNRQUpBQTBBQ1FDQUFMQUFBSWdKQkFFb2dBa0gvQUVkeElRUWdBU0FIVHcwQUlBUUVRQ0FCS0FJQUlBSkhEUU1MSUFGQkJHb2hBU0FBUVFGcUlBQWdCU0FBYTBFQlNoc2hBQXdCQ3dzTUFRc2dBMEVFTmdJQURBRUxJQVFFUUNBSEtBSUFRWDlxSUFKUEJFQWdBMEVFTmdJQUN3c0xDd3RDQVFGL0lBQkVBQUFBQUFBQThMODVBd0FnQUVRQUFBQUFBQUR3dnprRENDQUFRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQUFRb0FjTENBQkJCUkFDUVFBTHJnVUNDMzhDZlNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQlNBQlFYOU1CRUFnQlVIQXlBTkI5STBDRURkQnM0b0NFRGRCNzZJQ0VEZEJvZ0lRUGtIMm9nSVFOMEdXamdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFJZ0JFRUtJQUpCUDNGQmlnRnFFUUlBSVFJZ0JSQThJQU1nQWhCQUlBTVFQeEFBQ3lBRklBRTJBZ0FnQUVIY0FHb2lCaUFGRU9nRElnSUVRQ0FDSUFJb0FneEJBV28yQWd3RklBY2dBVFlDQUNBSFFRRTJBZ1FDUUFKQUlBQW9BbUFpQkVVaUNnUkFRUUFoQWd3QkJTQUVJQVJCZjJvaUNYRkZJZ3NFZnlBQklBbHhCU0FFSUFGTEJIOGdBUVVnQVNBRUVFNExDeUlDUVFKMElBWW9BZ0JxS0FJQUlnTUVRQU5BSUFNb0FnQWlBMFVOQXlBREtBSUVJZ2dnQVVjRVFDQUxCSDhnQ0NBSmNRVWdDQ0FFVHdSL0lBZ2dCQkJPQlNBSUN3c2dBa2NOQkFzZ0F5Z0NDQ0FCUncwQUN3VU1BZ3NMREFFTElBVWdCaUFCSUFjUXZBY2dDaUFBS2dKc0lnMGdCTE9VSUFBb0FtaEJBV3F6SWc1ZGNnUi9BbjhnQmlBT0lBMlZqUkNTQVNJRElBUWdCRUYvYW5GQkFFY2dCRUVEU1hJZ0JFRUJkSElpQWlBQ0lBTkpHeERGQWlBQUtBSmdJZ05CZjJvaEFpQUJJQUp4SUFJZ0EzRkZEUUFhSUFNZ0FVMEVmeUFCSUFNUVRnVWdBUXNMQlNBRUlRTWdBZ3NoQVNBR0tBSUFJQUZCQW5ScUtBSUFJZ0lFZnlBRktBSUFJQUlvQWdBMkFnQWdBaUFGS0FJQU5nSUFJQVVGSUFVb0FnQWdBQ2dDWkRZQ0FDQUFJQVVvQWdBMkFtUWdCaWdDQUNBQlFRSjBhaUFBUWVRQWFqWUNBQ0FGS0FJQUlnUW9BZ0FpQVFSQUlBRW9BZ1FoQVNBRElBTkJmMm9pQW5FRWZ5QUJJQU5QQkg4Z0FTQURFRTRGSUFFTEJTQUJJQUp4Q3lFQklBWW9BZ0FnQVVFQ2RHb2dCRFlDQUFzZ0JRc2hEQ0FBSUFBb0FtaEJBV28yQW1nZ0RFRUFOZ0lBQ3dzZ0J5UUdDL1lJQVFkL0l3WWhCaU1HUVJCcUpBWWdBVUYvVEFSQUlBWkJ3TWdEUWFtT0FoQTNRYk9LQWhBM1FlK2lBaEEzUWFVQkVENUI5cUlDRURkQnlvNENFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSElBVVFRQ0FIRUQ4UUFBc2dBQ2dDTkNJS0lBRk1CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJwZ0VRUGtIMm9nSVFOMEhLamdJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQ1FYOU1CRUFnQmtIQXlBTkJoSThDRURkQnM0b0NFRGRCNzZJQ0VEZEJwd0VRUGtIMm9nSVFOMEdsandJUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJSUtBSUFLQUljSVFVZ0NFRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQWNnQlJCQUlBY1FQeEFBQ3lBQUtBSTRJZ3NnQWt3RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHb0FSQStRZmFpQWhBM1FhV1BBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQU5CZjB3RVFDQUdRY0RJQTBIZmp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBHcEFSQStRZmFpQWhBM1FZU1FBaEEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ2dvQWdBb0Fod2hCU0FJUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0J5QUZFRUFnQnhBL0VBQUxJQUFvQWp3aUJ5QURUQVJBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRYW9CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lDU2dDQUVGMGFpZ0NBQ0FKYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0JFRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRYXNCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FFRkFheWdDQUNBRVRBUkFJQVpCd01nRFFZV1JBaEEzUWJPS0FoQTNRZStpQWhBM1Fhd0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQVNBQ0lBcHNhaUlCSUFNZ0FDZ0NWR3hxSUFRZ0FDZ0NXR3hxSWdBZ0FTQURJQVFnQjJ4cUlBb2dDMnhzYWtvRVFDQUdRY0RJQTBHMWtRSVFOMEd6aWdJUU4wSHZvZ0lRTjBHd0FSQStRZmFpQWhBM1FaYU9BaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FHRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQVlrQmlBQUR3dEJBQXRGQVFKL0EwQUNRQ0FESUFKT0RRQWdBMEVEZENBQmFpZ0NBQ0lFUlEwQUlBQWdCRVlFUUNBRFFRTjBRUVJxSUFGcUtBSUFEd1VnQTBFQmFpRUREQUlMQUFzTFFRQUxjZ0VEZnlNR0lRTWpCa0VRYWlRR0lBSkJiMHNFUUJBQUN5QUNRUXRKQkVBZ0FDQUNPZ0FMQlNBQUlBSkJFR3BCY0hFaUJCQlJJZ1UyQWdBZ0FDQUVRWUNBZ0lCNGNqWUNDQ0FBSUFJMkFnUWdCU0VBQ3lBQUlBRWdBaENvQVNBRFFRQTZBQUFnQUNBQ2FpQURFRjhnQXlRR0N3UUFRUUFMRFFBZ0FDQURsQ0FCSUFLVWt3c2JBQ0FDQkg4Z0FDZ0NCQ0FCS0FJRUVMTUJSUVVnQUNBQlJnc0xSUUlDZndGK0lBQWdBVGNEY0NBQUlBQW9BZ2dpQWlBQUtBSUVJZ05yckNJRU53TjRJQUZDQUZJZ0JDQUJWWEVFUUNBQUlBTWdBYWRxTmdKb0JTQUFJQUkyQW1nTEN5Y0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUNBQklBTVFsUU1oQkNBREpBWWdCQXNvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFKQnpJY0JRWmpQQWtFZUlBRVFDU0FEQ3lRR0N6RUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk1MQndBZ0FFRUlhZ3M4QVFKL0lBQW9BZ1FnQUNnQ0FDSURhMEVDZFNJQ0lBRkpCRUFnQUNBQklBSnJFUDhJQlNBQ0lBRkxCRUFnQUNBQlFRSjBJQU5xTmdJRUN3c0xFd0FnQUVHZ2l3RTJBZ0FnQUVFRWFoRG9DUXVCQVFBQ1FBSkFJQUlvQWdSQnNBRnhRUmgwUVJoMVFSQnJJZ0lFUUNBQ1FSQkdCRUFNQWdVTUF3c0FDd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBQVFRRnFJUUFNQWdzZ0FrRXdSaUFCSUFCclFRRktjVVVOQVNBQUxBQUJRZGdBYXlJQlFRQWdBVUVnUnhzTkFTQUFRUUpxSVFBTUFRc2dBU0VBQ3lBQUN3b0FJQUJCVUdwQkNra0xRUUVDZjBFTUVFUWlBZ1JBSUFJZ0FTQUFRUU4wYkJCRUlnTTJBZ0FnQXdSQUlBSWdBRFlDQkNBQ0lBRTJBZ2dGSUFJUU9FRUFJUUlMQlVFQUlRSUxJQUlMM0FFQkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ2dBQ2dDRENFQ0lBQWdBU2dDRERZQ0RDQUJJQUkyQWd3Z0FDZ0NFQ0VDSUFBZ0FTZ0NFRFlDRUNBQklBSTJBaEFnQUNnQ0ZDRUNJQUFnQVNnQ0ZEWUNGQ0FCSUFJMkFoUWdBQ2dDR0NFQ0lBQWdBU2dDR0RZQ0dDQUJJQUkyQWhnZ0FDZ0NIQ0VDSUFBZ0FTZ0NIRFlDSENBQklBSTJBaHdnQUNnQ0lDRUNJQUFnQVNnQ0lEWUNJQ0FCSUFJMkFpQUxGUUFnQUFSL0lBQWdBVGtEZ0FGQkFBVkJmd3NhQzdnQ0FnVi9BbndqQmlFSEl3WkJJR29rQmlBSFFRaHFJUVlnQjBFVWFpSUlJQVJCQkhRUVJDSUtOZ0lBSUFwRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUhRUkJxSVFZZ0NDQUVRUmhzRUVRaUNUWUNCQ0FKUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRUdBMEFnQmlBRVNBUkFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RBRGtEQUNBR1FRUjBJQXBxSUFaQkJIUWdBbW9yQXdnNUF3Z2dCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUFPUU1BSUFaQkdHd2dDV29nQmtFWWJDQURhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF4QTVBeEFnQmtFQmFpRUdEQUVMQ3lBSUlBUTJBZ2dnQUNnQ0FDQUlJQUVnQlNBSEVKMEVRUUJJQkVBZ0IwUUFBQUFBaE5lWFFUa0RBQXNnQ0NnQ0FCQTRJQWdvQWdRUU9DQUhLd01BSVF3Z0J5UUdJQXdMTlFBZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FBYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NMVVFFQmZDQUFJQUNpSWdBZ0FLSWhBVVFBQUFBQUFBRHdQeUFBUklGZURQMy8vOTgvb3FFZ0FVUkNPZ1hoVTFXbFA2S2dJQUFnQWFJZ0FFUnBVTzdnUXBQNVBxSkVKeDRQNklmQVZyK2dvcUMyQzBzQkFud2dBQ0FBb2lJQklBQ2lJZ0lnQVNBQm9xSWdBVVNuUmp1TWg4M0dQcUpFZE9mSzR2a0FLcitnb2lBQ0lBRkVzdnR1aVJBUmdUK2lSSGVzeTFSVlZjVy9vS0lnQUtDZ3Rnc3NBQ0FBSUFCY0JIOUJBQVVnQUVNQUFJQlBZQVIvUVFBRklBQkRBQUNBdjE4RWYwRUFCU0FBcVFzTEN3czBBUUYvSUFFZ0Ftd2hCQ0FDUVFBZ0FSc2hBaUFES0FKTUdpQUVJQUFnQkNBREVKY0RJZ0JIQkg4Z0FDQUJFRWdGSUFJTEMzY0FJQUFnQVNvQ0FDQUNsRGdDQUNBQUlBRXFBZ1FnQXBRNEFnUWdBQ0FCS2dJSUlBS1VPQUlJSUFBZ0FTb0NEQ0FDbERnQ0RDQUFJQUVxQWhBZ0FwUTRBaEFnQUNBQktnSVVJQUtVT0FJVUlBQWdBU29DR0NBQ2xEZ0NHQ0FBSUFFcUFod2dBcFE0QWh3Z0FDQUJLZ0lnSUFLVU9BSWdDMEVCQVg4Z0FDZ0NCQ0lBQkVBZ0FDQUFLQUlFSWdGQmYybzJBZ1FnQVVVRVFDQUFLQUlBS0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCRHFDUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93RWdBQ2dDQkNBQUtBSUFhMEVEZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUNkU0lHSUFZZ0Ewa2JRZi8vLy84QklBVkJBM1ZCLy8vLy93QkpHeUFBS0FJRUlBUnJRUU4xSUFCQkNHb1FpQUlnQWlnQ0NDQUJLUUlBTndJQUlBSWdBaWdDQ0VFSWFqWUNDQ0FBSUFJUXpRSWdBaERNQWlBQ0pBWUxDNlFDQVFWL0l3WWhCeU1HUVJCcUpBWWdBQ2dDQUNJR0JFQUNRQ0FFS0FJTUlRZ2dBaUFCYXlJSlFRQktCRUFnQmlnQ0FDZ0NNQ0VLSUFZZ0FTQUpJQXBCUDNGQnlnRnFFUVFBSUFsSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NDQURJQUZySWdGclFRQWdDQ0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWxnUWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdGQkFFb0VRQ0FHS0FJQUtBSXdJUU1nQmlBQ0lBRWdBMEUvY1VIS0FXb1JCQUFnQVVjRVFDQUFRUUEyQWdCQkFDRUdEQUlMQ3lBRVFRQTJBZ3dMQlVFQUlRWUxJQWNrQmlBR0N3Z0FRUWtRQWtFQUM3VUhBUWgvSUFBb0FnQWlCd1IvSUFjb0Fnd2lCaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVlDUUFKQUFrQWdBU2dDQUNJSEJFQWdCeWdDRENJRklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FHQkVBTUJBVU1Bd3NBQ3dzZ0JrVUVRRUVBSVFjTUFnc0xJQUlnQWlnQ0FFRUdjallDQUVFQUlRY01BUXNnQTBHQUVDQUFLQUlBSWdZb0Fnd2lCU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxJZ1lnQXlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGQkVBZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQnd3QkN5QURJQVpCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUVhallDRENBRktBSUFHZ3NnQzBFWWRFRVlkU0VGSUFRaEJpQUhJZ1FoQ0FOQUFrQWdCVUZRYWlFSElBQW9BZ0FpQlFSL0lBVW9BZ3dpQ1NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMQW44Z0NBUi9JQWdvQWd3aUJTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFSQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaERDQUFLQUlBSVFVZ0RBdHpJQVpCQVVweFJRMEFJQU5CZ0JBZ0JTZ0NEQ0lKSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXNpQlNBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURJQVZCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNFS0lBQW9BZ0FpQlNnQ0RDSUpJQVVvQWhCR0JFQWdCU0FGS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFVZ0NVRUVhallDRENBSktBSUFHZ3NnQjBFS2JDQUtRUmgwUVJoMWFpRUZJQVpCZjJvaEJnd0JDd3NnQlFSL0lBVW9BZ3dpQXlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUFOQXdzTUFRc2dBRVVOQVFzZ0FpQUNLQUlBUVFKeU5nSUFDeUFIQyt3SEFRaC9JQUFvQWdBaUJRUi9JQVVvQWd3aUNDQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdrRVFDQUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFSkRBSUxDeUFDSUFJb0FnQkJCbkkyQWdCQkFDRUVEQUVMSUFBb0FnQWlCU2dDRENJSUlBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0N5SUZRZjhCY1NJSVFSaDBRUmgxUVg5S0JFQWdBeWdDQ0NBRlFSaDBRUmgxUVFGMGFpNEJBRUdBRUhFRVFDQURJQWhCQUNBREtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNFTElBQW9BZ0FpQmlnQ0RDSUZJQVlvQWhCR0JFQWdCaUFHS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFZZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBTFFSaDBRUmgxSVFZZ0JDRUlJQWtoQlFOQUFrQWdCa0ZRYWlFRUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQmlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENpQUZCSDhnQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUpRUUFoQlVFQkJVRUFDd1ZCQUNFRlFRRUxJUXdnQUNnQ0FDRUhJQXdnQ25NZ0NFRUJTbkZGRFFBZ0J5Z0NEQ0lHSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJS1FmOEJjU0lHUVJoMFFSaDFRWDlNRFFRZ0F5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFRZ0F5QUdRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUFoQmlBQUtBSUFJZ2NvQWd3aUNpQUhLQUlRUmdSQUlBY2dCeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FISUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFS2JDQUdRUmgwUVJoMWFpRUdJQWhCZjJvaENBd0JDd3NnQndSL0lBY29BZ3dpQXlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQ1VVTkFDQUpLQUlNSWdBZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRERRVUxEQUVMSUFORkRRTUxJQUlnQWlnQ0FFRUNjallDQUF3Q0N3c2dBaUFDS0FJQVFRUnlOZ0lBUVFBaEJBc2dCQXMzQVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FETmdJQUlBRVFZaUVCSUFBZ0FpQUVFUFFFSVFVZ0FRUkFJQUVRWWhvTElBUWtCaUFGQzJ3QUFuOENRQUpBQWtBQ1FDQUFLQUlFUWNvQWNRNUJBZ01EQXdNREF3TUJBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd0FEQzBFSURBTUxRUkFNQWd0QkFBd0JDMEVLQ3d2ekF3RUdmd0pBQWtBZ0Fid2lCVUgvLy8vL0IzRWlCa0dBZ0lEOEIwc05BQ0FBdkNJQ1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3cwQUFrQWdCVUdBZ0lEOEEwWUVRQ0FBRVBRQ0lRQU1BUXNnQWtFZmRpSUhJQVZCSG5aQkFuRnlJUUlnQTBVRVFBSkFBa0FDUUNBQ1FRTnhEZ1FFQkFBQkFndEQydzlKUUNFQURBTUxROXNQU2NBaEFBd0NDd3NDUUNBRlFmLy8vLzhIY1NJRVFZQ0FnUHdIU0FSQUlBUU5BVVBiRDhtL1E5c1B5VDhnQnhzaEFBd0NCU0FFUVlDQWdQd0hhdzBCSUFKQi93RnhJUVFnQTBHQWdJRDhCMFlFUUFKQUFrQUNRQUpBQWtBZ0JFRURjUTRFQUFFQ0F3UUxROXNQU1Q4aEFBd0hDMFBiRDBtL0lRQU1CZ3RENU1zV1FDRUFEQVVMUStUTEZzQWhBQXdFQ3dVQ1FBSkFBa0FDUUFKQUlBUkJBM0VPQkFBQkFnTUVDME1BQUFBQUlRQU1Cd3REQUFBQWdDRUFEQVlMUTlzUFNVQWhBQXdGQzBQYkQwbkFJUUFNQkFzTEN3c2dBMEdBZ0lEOEIwWWdCa0dBZ0lEb0FHb2dBMGx5QkVCRDJ3L0p2MFBiRDhrL0lBY2JJUUFNQVFzZ0JVRUFTQ0FEUVlDQWdPZ0FhaUFHU1hFRWZVTUFBQUFBQlNBQUlBR1ZpeEQwQWdzaEFBSkFBa0FDUUNBQ1FRTnhEZ01EQUFFQ0N5QUFqQ0VBREFJTFE5c1BTVUFnQUVNdXZic3prcE1oQUF3QkN5QUFReTY5dXpPU1E5c1BTY0NTSVFBTERBRUxJQUFnQVpJaEFBc2dBQXVqQWdBZ0FBUi9BbjhnQVVHQUFVa0VRQ0FBSUFFNkFBQkJBUXdCQzBIb2lRRW9BZ0FvQWdCRkJFQWdBVUdBZjNGQmdMOERSZ1JBSUFBZ0FUb0FBRUVCREFJRlFhVEZBMEVaTmdJQVFYOE1BZ3NBQ3lBQlFZQVFTUVJBSUFBZ0FVRUdka0hBQVhJNkFBQWdBQ0FCUVQ5eFFZQUJjam9BQVVFQ0RBRUxJQUZCZ0VCeFFZREFBMFlnQVVHQXNBTkpjZ1JBSUFBZ0FVRU1ka0hnQVhJNkFBQWdBQ0FCUVFaMlFUOXhRWUFCY2pvQUFTQUFJQUZCUDNGQmdBRnlPZ0FDUVFNTUFRc2dBVUdBZ0h4cVFZQ0F3QUJKQkg4Z0FDQUJRUkoyUWZBQmNqb0FBQ0FBSUFGQkRIWkJQM0ZCZ0FGeU9nQUJJQUFnQVVFR2RrRS9jVUdBQVhJNkFBSWdBQ0FCUVQ5eFFZQUJjam9BQTBFRUJVR2t4UU5CR1RZQ0FFRi9Dd3NGUVFFTEM2a0JBUUovSUFGQi93ZEtCRUFnQUVRQUFBQUFBQURnZjZJaUFFUUFBQUFBQUFEZ2Y2SWdBQ0FCUWY0UFNpSUNHeUVBSUFGQmduQnFJZ05CL3djZ0EwSC9CMGdiSUFGQmdYaHFJQUliSVFFRklBRkJnbmhJQkVBZ0FFUUFBQUFBQUFBUUFLSWlBRVFBQUFBQUFBQVFBS0lnQUNBQlFZUndTQ0lDR3lFQUlBRkIvQTlxSWdOQmduZ2dBMEdDZUVvYklBRkIvZ2RxSUFJYklRRUxDeUFBSUFGQi93ZHFyVUkwaHIraUM1c0NBUUovSUFJZ0JFZ0VRQ0FBSUFFZ0FpQUVFR2NFZnlBQUtBSUlJUVVnQUNnQ0RBVkJmdzhMSVFJRklBRWhCUXNnQkVFQ2RFSHdNV29vQWdBZ0JTQUNJQVJySWdGMWNTSUdJQVJCQW5RZ0Eyb29BZ0JLQkVBQ1FDQUZJUUlEUUFKQUlBRkJBVWdFUUNBQUlBSWdBVUVCRUdkRkRRRWdBQ2dDQ0NFQ0lBQW9BZ3doQVFzZ0FpQUJRWDlxSWdGMlFRRnhJQVpCQVhSeUlnWWdCRUVCYWlJRVFRSjBJQU5xS0FJQVNnMEJEQUlMQzBGL0R3c0ZJQVVoQWdzZ0FDQUNOZ0lJSUFBZ0FUWUNEQ0FFUVJCS0JIOGdBQ2dDRUNJQUtBSUFJZ0ZCK1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFQUJTQUdJQU5CeUFCcUlBUkJBblJxS0FJQWFpQURLQUtNQVVFUmFtb3RBQUFMQzVNQ0FnRi9BbjBnQUNBQklBSkJBblFnQVdvcUFnQ01FSlFCSUFKQkFuUWdBR29pQXlBREtnSUFRd0FBZ0QrU09BSUFJQUFnQVVFa2FpQUNRUWxxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCeUFCcUlBSkJFbXBCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhzQUdvZ0FrRWJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRWkFCYWlBQ1FTUnFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ0QUZxSUFKQkxXcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSFlBV29nQWtFMmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFmd0JhaUFDUVQ5cVFRSjBJQUZxS2dJQWpCQzVBU0FBRUZvaUJaRWhCQ0FGUXdBQUFBQmJCRUJEQUFBQUFDRUVCU0FBSUFCREFBQ0FQeUFFbFJDVUFRc2dCQXNHQUVFVUVBSUwvZ2tCQ244akJpRU5Jd1pCRUdva0JpQU5RUWhxSVJBZ0RVRU1haUlPSUFNUU95QU9RYURPQXhBNklRc2dEaEE4SUFSQkFEWUNBQUpBQWtBRFFBSkFJQUVvQWdBaENDQUpSU0FHSUFkSGNVVU5BQ0FJSWdrRWZ5QUpLQUlNSWdnZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBU0VNUVFBaENVRUFCVUVBSVF3Z0NRc0ZRUUVoREVFQUN5RUlJQUlvQWdBaUNpRVJBa0FDUUNBS1JRMEFJQW9vQWd3aUR5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQThvQWdBTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdERVVOQlFzTUFRc2dEQTBEUVFBaENnc2dDeUFHS0FJQVFRQWdDeWdDQUNnQ05FRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFScUlneEdEUU1DUUNBTElBd29BZ0JCQUNBTEtBSUFLQUkwUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkNHcEdEUVVnQ2lFSUlBc2dCaWdDQ0VFQUlBc29BZ0FvQWpSQlAzRkJ5Z0ZxRVFRQUlRb2dEQ0VHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VNSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FNUVE5eFFZNERhaEVPQURZQ0FDQUdRUWhxSVFZRkFrQWdDMEdBd0FBZ0JpZ0NBQ0FMS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVFUUNBTElBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa29BZ0FMSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFrZ0N5QUdLQUlBSUFzb0FnQW9BaHhCUDNGQmlnRnFFUUlBSUFsSEJFQWdCRUVFTmdJQURBSUxJQWdvQWd3aUNTQUlLQUlRUmdSQUlBZ2dDQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FJSUFsQkJHbzJBZ3dnQ1NnQ0FCb0xJQVpCQkdvaEJnd0JDd05BQWtBZ0J5QUdRUVJxSWdaR0JFQWdCeUVHREFFTElBdEJnTUFBSUFZb0FnQWdDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQU5BUXNMSUFvaENRTkFJQWdFZnlBSUtBSU1JZ29nQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaENnSkFBa0FnQ1VVTkFDQUpLQUlNSWd3Z0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQU1LQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJBc01BUXNnQ2cwQ1FRQWhDUXNnQzBHQXdBQWdDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdDQ2dDRENJS0lBZ29BaEJHQkVBZ0NDQUlLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWdnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRRUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FCUlEwQ0N3d0NDeUFCRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBTkpBWWdDQXV0Q2dFS2Z5TUdJUTBqQmtFUWFpUUdJQTFCQ0dvaEVDQU5RUXhxSWc0Z0F4QTdJQTVCZ000REVEb2hEQ0FPRUR3Z0JFRUFOZ0lBQWtBQ1FBTkFBa0FnQVNnQ0FDRUlJQWxGSUFZZ0IwZHhSUTBBSUFnaUNRUi9JQWtvQWd3aUNDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFaEMwRUFJUWxCQUFWQkFDRUxJQWtMQlVFQklRdEJBQXNoQ0NBQ0tBSUFJZ29oRVFKQUFrQWdDa1VOQUNBS0tBSU1JZzhnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0MwVU5CUXNNQVFzZ0N3MERRUUFoQ2dzZ0RDQUdMQUFBUVFBZ0RDZ0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUUZxSWd0R0RRTUNRQ0FNSUFzc0FBQkJBQ0FNS0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQW1wR0RRVWdDaUVJSUF3Z0Jpd0FBa0VBSUF3b0FnQW9BaVJCUDNGQnlnRnFFUVFBSVFvZ0N5RUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRUxJQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQUxRUTl4UVk0RGFoRU9BRFlDQUNBR1FRSnFJUVlGQWtBZ0Jpd0FBQ0lKUVg5S0JFQWdEQ2dDQ0NJTElBbEJBWFJxTGdFQVFZREFBSEVFUUFOQUFrQWdCeUFHUVFGcUlnWkdCRUFnQnlFR0RBRUxJQVlzQUFBaUNVRi9UQTBBSUFsQkFYUWdDMm91QVFCQmdNQUFjUTBCQ3dzZ0NpRUpBMEFnQ0FSL0lBZ29BZ3dpQ2lBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUW9DUUFKQUlBbEZEUUFnQ1NnQ0RDSUxJQWtvQWhCR0JIOGdDU0FKS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQmdzTUFRc2dDZzBFUVFBaENRc2dDQ2dDRENJS0lBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUtRZjhCY1VFWWRFRVlkVUYvVEEwRElBd29BZ2dnQ2tFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkF5QUlLQUlNSWdvZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FLUVFGcU5nSU1JQW9zQUFBUVFob0xEQUFBQ3dBTEN5QU1JQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4SUF3b0FnQW9BZ3hCUDNGQmlnRnFFUUlBUWY4QmNTQU1JQVlzQUFBZ0RDZ0NBQ2dDREVFL2NVR0tBV29SQWdCQi93RnhSd1JBSUFSQkJEWUNBQXdCQ3lBSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUUZxTmdJTUlBa3NBQUFRUWhvTElBWkJBV29oQmdzTElBUW9BZ0FoQ1F3QkN3c01BUXNnQkVFRU5nSUFDeUFJQkg4Z0NDZ0NEQ0lBSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hBUUpBQWtBQ1FDQUNLQUlBSWdCRkRRQWdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0FVVU5BZ3NNQWdzZ0FRMEFEQUVMSUFRZ0JDZ0NBRUVDY2pZQ0FBc2dEU1FHSUFnTHRRSUJCWDhqQmlFSEl3WkJFR29rQmlBQUtBSUFJZ1lFUUFKQUlBUW9BZ3doQ1NBQ0lBRnJJZ2hCQW5VaENpQUlRUUJLQkVBZ0JpZ0NBQ2dDTUNFSUlBWWdBU0FLSUFoQlAzRkJ5Z0ZxRVFRQUlBcEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDU0FESUFGclFRSjFJZ0ZyUVFBZ0NTQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRa3dRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ05CQW5VaEFTQURRUUJLQkVBZ0JpZ0NBQ2dDTUNFRElBWWdBaUFCSUFOQlAzRkJ5Z0ZxRVFRQUlBRkhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dCRUVBTmdJTUN3VkJBQ0VHQ3lBSEpBWWdCZ3QrQVFOL0lBRkRBQUFBUDVJUVF5QUFLQUlRYWlFRklBSkRBQUFBUDVJUVF5QUFLQUlVYWlFR0lBVkJBRWdFZjBGL0JTQUdRUUJJSUFVZ0FDZ0NDQ0lIVG5JRWYwRi9CU0FHSUFBb0FneElCSDhnQXlBQUtBSUVJQVlnQjJ3Z0JXcEJBM1JxSWdBb0FnQTJBZ0FnQkNBQUtBSUVOZ0lBUVFBRlFYOExDd3NMRUFBZ0FnUkFJQUFnQVNBQ0VQb0VDd3NRQUNBQ0JFQWdBQ0FCSUFJUVRCb0xDNzhCQVFKL0l3WWhCQ01HUWFBQmFpUUdJQVJCa0FGcUlRVWdCRUdZOWdCQmtBRVFUQm9DUUFKQUlBRkJmMnBCL3YvLy93ZE5EUUFnQVFSL1FhVEZBMEU5TmdJQVFYOEZJQVVoQUVFQklRRU1BUXNoQUF3QkN5QUVRWDRnQUdzaUJTQUJJQUVnQlVzYklnRTJBakFnQkNBQU5nSVVJQVFnQURZQ0xDQUVJQUFnQVdvaUFEWUNFQ0FFSUFBMkFod2dCQ0FDSUFNUXBRSWhBQ0FCQkVBZ0JDZ0NGQ0lCSUFFZ0JDZ0NFRVpCSDNSQkgzVnFRUUE2QUFBTEN5QUVKQVlnQUF0ckFRTjlJQUVxQWlBZ0FTb0NHQ0FDS2dJQUlnU1VJQUVxQWh3Z0Fpb0NCQ0lGbEpLU0lRTWdBQ0FCS2dJSUlBUWdBU29DQUpRZ0JTQUJLZ0lFbEpLU0lBT1ZPQUlBSUFBZ0FTb0NGQ0FCS2dJTUlBSXFBZ0NVSUFFcUFoQWdBaW9DQkpTU2tpQURsVGdDQkF1ZkFnSUVmd1Y4SUFOQkFuUWdBV29vQWdBaUNpQUNRUUowSUFGcUtBSUFJZ2hydHlFTUlBSkJBblFnQUdvb0FnQWlDU0FEUVFKMElBQnFLQUlBSWdkcnR5RU5JQWNnQ0d3Z0NTQUtiR3UzSVE4Z0FrRUJhaUlISVFnRFFDQUhJQU5JQkVBZ0J5QUlJQXdnQjBFQ2RDQUFhaWdDQUxlaUlBMGdCMEVDZENBQmFpZ0NBTGVpb0NBUG9DSU9JQTZpSWc0Z0MyUWlDUnNoQ0NBSFFRRnFJUWNnRGlBTElBa2JJUXNNQVFzTEFuOENRQ0FMSUF3Z0RLSWdEU0FOb3FDaklBUmtSUTBBSUFBZ0FTQUNJQWdnQkNBRklBWVFxd0ZCQUU0RVFDQUdLQUlBSWdKQkJVd0VRQ0FDUVFKMElBVnFJQWcyQWdBZ0JpQUdLQUlBUVFGcU5nSUFJQUFnQVNBSUlBTWdCQ0FGSUFZUXF3RkJBRTROQWdzTFFYOE1BUXRCQUFzTG5nSUJCWDhqQmlFREl3WkJFR29rQmlBQUtBSVFJQUZOQkVBZ0EwSEF5QU5CeHBvQ0VEZEJxSmtDRURkQjc2SUNFRGRCMmdFUVBrSDJvZ0lRTjBIaHZRRVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVSWdRZ0Frc0VRQ0FBS0FJRUlBSWdBU0FFYkdwQkJYUnFJUWNnQXlRR0lBY1BCU0FEUWNESUEwSFdtd0lRTjBHb21RSVFOMEh2b2dJUU4wSGJBUkErUWZhaUFoQTNRZlc5QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRFFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBREVEd2dBaUFBRUVBZ0FoQS9FQUFMUVFBTENBQkJCeEFDUVFBTERBQWdBRUdDaG9BZ05nQUFDNUlCQVFGL0lBTkJnQkJ4QkVBZ0FFRXJPZ0FBSUFCQkFXb2hBQXNnQTBHQUJIRUVRQ0FBUVNNNkFBQWdBRUVCYWlFQUN3TkFJQUVzQUFBaUJBUkFJQUFnQkRvQUFDQUJRUUZxSVFFZ0FFRUJhaUVBREFFTEN5QUFBbjhDUUNBRFFjb0FjVUVJYXlJQkJFQWdBVUU0UncwQlFlOEFEQUlMSUFOQkNYWkJJSEZCK0FCekRBRUxRZVFBUWZVQUlBSWJDem9BQUF0K0FRTi9Jd1loQWlNR1FSQnFKQVpCK3YwQ0lBRXNBQUFRdndFRWZ5QUJFSmtGUVlDQUFuSWhBeUFDSUFBMkFnQWdBaUFETmdJRUlBSkJ0Z00yQWdoQkJTQUNFRFFRbWdNaUEwRUFTQVIvUVFBRklBTWdBUkNZQlNJQUJIOGdBQVVnQXhBWUdrRUFDd3NGUWFURkEwRWNOZ0lBUVFBTElRUWdBaVFHSUFRTERBQWdBQkRmQ1NBQUlBRWJDeEFBSUFCQklFWWdBRUYzYWtFRlNYSUxYQUVDZnlBQUxBQUFJZ0lnQVN3QUFDSURSeUFDUlhJRWZ5QUNJUUVnQXdVRGZ5QUFRUUZxSWdBc0FBQWlBaUFCUVFGcUlnRXNBQUFpQTBjZ0FrVnlCSDhnQWlFQklBTUZEQUVMQ3dzaEFDQUJRZjhCY1NBQVFmOEJjV3NMS0FFQ2Z5QUFJUUVEUUNBQlFRUnFJUUlnQVNnQ0FBUkFJQUloQVF3QkN3c2dBU0FBYTBFQ2RRdklBd0VIZnlBQUtBSUVJUVVnQWtId2srdmNBMHNFUUNBQUtBSUFJZ05CT0RZQ0ZDQURRUUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUZCQVVzRVFDQUFLQUlBSWdOQkR6WUNGQ0FESUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFKQkNDQUNRUWR4SWdOclFRQWdBeHRxSVFRQ1FBSkFJQVZCTkdvZ0FVRUNkR29pQ0NnQ0FDSUNCRUFEUUFKQUlBSW9BZ2dnQkU4RVFDQUNJUUFNQVFzZ0FpZ0NBQ0lEQkVBZ0F5RUNEQUlGSUFJaEF3d0VDd0FMQ3dWQkFDRUREQUVMREFFTElBUkI4SlByM0FNZ0JHc2lBaUFCUVFKMFFlQ0hBVUhvaHdFZ0EwVWlDUnRxS0FJQUlnRWdBU0FDU3hzaUFXb2lBa0VRYWlJR0VFUWlCd1IvSUFZaEFTQUhCUU4vSUFGQjVBQkpCRUFnQUNnQ0FDSUNRVGcyQWhRZ0FrRUNOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUVJQUZCQVhZaUFXb2lBa0VRYWlJR0VFUWlCMFVOQUNBR0lRRWdCd3NMSVFBZ0JTQUJJQVVvQWt4cU5nSk1JQUJCQURZQ0FDQUFRUUEyQWdRZ0FDQUNOZ0lJSUFrRVFDQUlJQUEyQWdBRklBTWdBRFlDQUFzTElBQWdCQ0FBS0FJRUlnRnFOZ0lFSUFBZ0FDZ0NDQ0FFYXpZQ0NDQUFRUkJxSUFGcUN5Z0JBbjhDZnlNR0lRTWpCa0VRYWlRR0lBQkJBMEcwaHdGQnZOQUNRU0FnQVJBSklBTUxKQVlMbHdVQkJIOGpCaUVFSXdaQkVHb2tCaUFCSUFNUThRT09FRU1pQmpZQ0FDQURRUUVnQm5TeWxSRFNBU0VESUFJZ0FDb0NIQ0FEbEJEd0F4QkRJZ1kyQWdBZ0JpQUFLQUlVUVg5cVJnUkFJQUVnQVNnQ0FFRUJhallDQUNBQ1FRQTJBZ0JCQUNFR0N3SkFBa0FnQVNnQ0FDSUZRUUJJQkVBZ0FVRUFOZ0lBUVFBaEJnd0JCU0FGSUFBb0FoQWlCVTRFUUNBQklBVkJmMm8yQWdBZ0FDZ0NGRUYvYWlFR0RBSUxDd3dCQ3lBQ0lBWTJBZ0FMSUFFb0FnQWlCVUYvVEFSQUlBUkJ3TWdEUVlXWkFoQTNRYWlaQWhBM1FlK2lBaEEzUVl3Q0VENUI5cUlDRURkQnJwb0NFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBSElBRVFRQ0FIRUQ4UUFBc2dCU0FBS0FJUVRnUkFJQVJCd01nRFFjYWFBaEEzUWFpWkFoQTNRZStpQWhBM1FZMENFRDVCOXFJQ0VEZEI4cG9DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmtGL1RBUkFJQVJCd01nRFFaMmJBaEEzUWFpWkFoQTNRZStpQWhBM1FZNENFRDVCOXFJQ0VEZEJ2NXNDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUZJQUVRUUNBRkVEOFFBQXNnQmlBQUtBSVVTQVJBSUFRa0JnVWdCRUhBeUFOQjFwc0NFRGRCcUprQ0VEZEI3NklDRURkQmp3SVFQa0gyb2dJUU4wR0puQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQkJBOElBSWdBQkJBSUFJUVB4QUFDd3NPQUNBQUlBRWdBa0VDZEJCTUdndXRBUUFnQUNBQUtnSUFJQUVxQWdBZ0FwU1NPQUlBSUFBZ0FDb0NCQ0FCS2dJRUlBS1VramdDQkNBQUlBQXFBZ2dnQVNvQ0NDQUNsSkk0QWdnZ0FDQUFLZ0lNSUFFcUFnd2dBcFNTT0FJTUlBQWdBQ29DRUNBQktnSVFJQUtVa2pnQ0VDQUFJQUFxQWhRZ0FTb0NGQ0FDbEpJNEFoUWdBQ0FBS2dJWUlBRXFBaGdnQXBTU09BSVlJQUFnQUNvQ0hDQUJLZ0ljSUFLVWtqZ0NIQ0FBSUFBcUFpQWdBU29DSUNBQ2xKSTRBaUFMVVFFQmYwR3czUU1vQWdBaUFTQUFRUU5xUVh4eGFpSUFRUUJJQkVCQnBNVURRVEEyQWdCQmZ3OExJQUFRSjBzRVFDQUFFQ1JGQkVCQnBNVURRVEEyQWdCQmZ3OExDMEd3M1FNZ0FEWUNBQ0FCQ3dzQUlBQzdFTjBKdGhCREN5b0JBWDhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQUVILy8vLy9CeUFCSUFNUXFRRWFJQU1rQmdzT0FDQUFRZWlKQVNnQ0FCRC9CQXVHQVFJQ2Z3RitJQUNuSVFJZ0FFTC8vLy8vRDFZRVFBTkFJQUZCZjJvaUFTQUFJQUJDQ2hEMkFTSUVRZ3ArZmFkQi93RnhRVEJ5T2dBQUlBQkMvLy8vLzU4QlZnUkFJQVFoQUF3QkN3c2dCS2NoQWdzZ0FnUkFBMEFnQVVGL2FpSUJJQUlnQWtFS0VFZ2lBMEVLYkd0Qk1ISTZBQUFnQWtFS1R3UkFJQU1oQWd3QkN3c0xJQUVMR2dBZ0FDQUJFS29DSWdCQkFDQUFMUUFBSUFGQi93RnhSaHNMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFZQ0hBVUd1dHdKQkFpQUJFQWtnQXdza0Jnc05BQ0FBS0FJRUlBRW9BZ1JMQ3hBQUlBQWdBVFlDQUNBQUlBSTJBZ1FMRFFBZ0FDZ0NFQ0FCUVJSc2Fnc1FBQ0FBS0FJRUlBRWdBQ2dDQUd4cUN3Z0FJQUJCOUFCcUN3d0FJQUFnQVNBQUlBRktHd3MvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZi8vLy84RFN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQ2RCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRSjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVDZENBRWFqWUNEQXNHQUVFWUVBSUxDQUJCRFJBQ1FRQUxpd0VCQTM4akJpRURJd1pCRUdva0JpQUNRZS8vLy84RFN3UkFFQUFMSUFKQkFra0VRQ0FBSUFJNkFBc2dBQ0VFQlNBQ1FRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQWpZQ0JBc0xJQVFnQVNBQ0VLY0JJQU5CQURZQ0FDQUNRUUowSUFScUlBTVFiaUFESkFZTHVRRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTZBQUFnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQ2dzaEFTQURRUUZxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVEzUUlnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBQ0FDYWlJQUlBTVFYeUFFUVFBNkFBQWdBRUVCYWlBRUVGOGdBeVFHQzdnQkFRVi9JQUlvQWdBZ0FDZ0NBQ0lESWdacklnVkJBWFFpQkVFRUlBUWJRWDhnQlVILy8vLy9CMGtiSVFVZ0FTZ0NBQ0VISUFOQkFDQUFLQUlFUVpFQlJ5SUVHeUFGRU9nQklnTkZCRUFRQUFzZ0JBUkFJQUFnQXpZQ0FBVWdBQ2dDQUNFRUlBQWdBellDQUNBRUJFQWdCQ0FBS0FJRVFmOEJjVUdzQTJvUkFRQWdBQ2dDQUNFREN3c2dBRUdTQVRZQ0JDQUJJQWNnQm10QkFuVkJBblFnQTJvMkFnQWdBaUFBS0FJQUlBVkJBblpCQW5ScU5nSUFDNlFEQVFOL0FuOENRQ0FDSUFNb0FnQWlDa1lpQzBVTkFDQUFJQWtvQW1CR0lneEZCRUFnQ1NnQ1pDQUFSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUNBRlJpQUdLQUlFSUFZc0FBc2lCa0gvQVhFZ0JrRUFTQnRCQUVkeEJFQkJBQ0FJS0FJQUlnQWdCMnRCb0FGT0RRRWFJQVFvQWdBaEFTQUlJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBUkJBRFlDQUVFQURBRUxJQWxCNkFCcUlRZEJBQ0VGQTM4Z0JVRWFSZ1IvSUFjRklBVkJBV29oQmlBQUlBVkJBblFnQ1dvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUpheUlGUVFKMUlRQWdCVUhjQUVvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQlVIWUFFNEVRRUYvSUFzTkF4cEJmeUFLSUFKclFRTk9EUU1hUVg4Z0NrRi9haXdBQUVFd1J3MERHaUFFUVFBMkFnQWdBRUh3N3dCcUxBQUFJUUFnQXlBS1FRRnFOZ0lBSUFvZ0FEb0FBRUVBREFNTEN5QUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFJQVFnQkNnQ0FFRUJhallDQUVFQUN3c0xEUUFnQUNnQ0FCQTRJQUFRT0F1ckF3RURmd0ovQWtBZ0FpQURLQUlBSWdwR0lndEZEUUFnQ1MwQUdDQUFRZjhCY1VZaURFVUVRQ0FKTFFBWklBQkIvd0Z4UncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FFSC9BWEVnQlVIL0FYRkdJQVlvQWdRZ0Jpd0FDeUlHUWY4QmNTQUdRUUJJRzBFQVIzRUVRRUVBSUFnb0FnQWlBQ0FIYTBHZ0FVNE5BUm9nQkNnQ0FDRUJJQWdnQUVFRWFqWUNBQ0FBSUFFMkFnQWdCRUVBTmdJQVFRQU1BUXNnQ1VFYWFpRUhRUUFoQlFOL0lBVkJHa1lFZnlBSEJTQUZRUUZxSVFZZ0JTQUphaUlGTFFBQUlBQkIvd0Z4UmdSL0lBVUZJQVloQlF3Q0N3c0xJQWxySWdCQkYwb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0FFRVdUZ1JBUVg4Z0N3MERHa0YvSUFvZ0FtdEJBMDROQXhwQmZ5QUtRWDlxTEFBQVFUQkhEUU1hSUFSQkFEWUNBQ0FBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBUVFBTUF3c0xJQUJCOE84QWFpd0FBQ0VBSUFNZ0NrRUJhallDQUNBS0lBQTZBQUFnQkNBRUtBSUFRUUZxTmdJQVFRQUxDd3VvRlFFSmZ5TUdJUUlqQmtFUWFpUUdJQUlpQlVFRWFpRURJQUpCQ0dvaUJpQUFOZ0lBSUFCQjFBRkpCRUJCOE93QVFiRHVBQ0FHRU5jRUtBSUFJUUFGQWtBZ0F5QUFJQUJCMGdFUVNDSUlRZElCYkNJQ2F6WUNBRUVBSVFCQnNPNEFRZkR2QUNBREVOY0VRYkR1QUd0QkFuVWhCd0pBQTBBQ1FDQUNJQWRCQW5SQnNPNEFhaWdDQUdvaEEwRUZJUUlDUUFKQUEwQWdBa0V2VHcwQklBTWdBa0VDZEVIdzdBQnFLQUlBSWdFUVNDSUVJQUZKRFFNZ0FrRUJhaUVDSUFFZ0JHd2dBMGNOQUFzTUFRdEIwd0VoQWdOQUFrQWdBeUFDRUVnaUFTQUNTUVIvSUFNaEFFRUJCU0FESUFFZ0FteEdCSDlCQ1FVZ0F5QUNRUXBxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VNYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCRUdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVWdBeUFDUVJKcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFV2FpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkhHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVDZnlBRElBSkJIbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFa2FpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRU2hxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQkttb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0V1YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FUUnFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCT21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRThhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWM0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZElBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVvQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZXdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZjRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWW9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWllCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fad0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYVlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWF3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYklCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYjRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjQUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1lCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkQUJhaUlCRUVnaUNTQUJTU0VFSUFFZ0FrSFNBV29nQkNBRElBRWdDV3hHSWdGeUd5RUNJQU1nQUNBRUd5RUFRUUZCQ1VFQUlBRWJJQVFiQ3dzTEN3c0xDd3NMQ3dzTEN3c0xJZ0ZCRDNFT0NnRUFBQUFBQUFBQUFBSUFDd3NnQVEwREN5QUlJQWRCQVdvaUEwRXdSaUlCYWlJQ0lRZ2dBa0hTQVd3aEFrRUFJQU1nQVJzaEJ3d0JDd3NnQmlBRE5nSUFJQU1oQUF3QkN5QUdJQU0yQWdBTEN5QUZKQVlnQUF1UUFnSUNmd1I5SUFDOElnRkJBRWdoQWlBQlFZQ0FnQVJKSUFKeUJFQUNRQ0FCUWYvLy8vOEhjVVVFUUVNQUFJQy9JQUFnQUpTVkR3c2dBa1VFUUVIb2ZpRUNJQUJEQUFBQVRKUzhJUUVNQVFzZ0FDQUFrME1BQUFBQWxROExCU0FCUWYvLy8vc0hTd1JBSUFBUEN5QUJRWUNBZ1B3RFJnUi9Rd0FBQUFBUEJVR0Jmd3NoQWdzZ0FVR045cXNDYWlJQlFmLy8vd054UWZPSjFQa0RhcjVEQUFDQXY1SWlBeUFEUXdBQUFFQ1NsU0lGSUFXVUlnWWdCcFFoQkNBQ0lBRkJGM1pxc2lJQVE0QnhNVCtVSUFNZ0FFUFI5eGMzbENBRklBTWdBME1BQUFBL2xKUWlBQ0FHSUFSRDd1bVJQcFJEcXFvcVA1S1VJQVFnQkVNbW5uZytsRU1UenN3K2twU1NrcFNTSUFDVGtwSUxsQUVCQkh3Z0FDQUFvaUlDSUFLaUlRTkVBQUFBQUFBQThEOGdBa1FBQUFBQUFBRGdQNklpQktFaUJVUUFBQUFBQUFEd1B5QUZvU0FFb1NBQ0lBSWdBaUFDUkpBVnl4bWdBZm8rb2tSM1VjRVdiTUZXdjZDaVJFeFZWVlZWVmFVL29LSWdBeUFEb2lBQ1JNU3h0TDJlN2lFK0lBSkUxRGlJdnVuNnFEMmlvYUpFclZLY2dFOStrcjZnb3FDaUlBQWdBYUtob0tBTGxRRUJBM3dnQUNBQW9pSURJQU1nQTZLaUlBTkVmTlhQV2pyWjVUMmlST3VjSzRybTVWcStvS0lnQXlBRFJIMytzVmZqSGNjK29rVFZZY0Vab0FFcXY2Q2lSS2I0RUJFUkVZRS9vS0FoQlNBRElBQ2lJUVFnQUNBRVJFbFZWVlZWVmNVL29pQURJQUZFQUFBQUFBQUE0RCtpSUFRZ0JhS2hvaUFCb2FDaElBUWdBeUFGb2tSSlZWVlZWVlhGdjZDaUlBQ2dJQUliQ3dzQUlBQWdBU0FDRVBrRUN4b0FJQUFvQWdBZ0FDZ0NCQ0lBSUFBUStBUkZRUjkwUVI5MUM0Z0RBUVovSXdZaEJ5TUdRUkJxSkFZZ0EwRzB4UU1nQXhzaUJTZ0NBQ0VEQW44Q1FDQUJCSDhDZnlBQUlBY2dBQnNoQmlBQ0JFQUNRQUpBSUFNRVFDQURJUUFnQWlFRERBRUZJQUVzQUFBaUFFRi9TZ1JBSUFZZ0FFSC9BWEUyQWdBZ0FFRUFSd3dGQ3lBQkxBQUFJUUJCNklrQktBSUFLQUlBUlFSQUlBWWdBRUgvdndOeE5nSUFRUUVNQlFzZ0FFSC9BWEZCdm41cUlnQkJNa3NOQmlBQlFRRnFJUUVnQUVFQ2RFSFFOR29vQWdBaEFDQUNRWDlxSWdNTkFRc01BUXNnQVMwQUFDSUlRUU4ySWdSQmNHb2dCQ0FBUVJwMWFuSkJCMHNOQkNBRFFYOXFJUVFnQ0VHQWYyb2dBRUVHZEhJaUFFRUFTQVJBSUFFaEF5QUVJUUVEUUNBQlJRMENJQU5CQVdvaUF5d0FBQ0lFUWNBQmNVR0FBVWNOQmlBQlFYOXFJUUVnQkVIL0FYRkJnSDlxSUFCQkJuUnlJZ0JCQUVnTkFBc0ZJQVFoQVFzZ0JVRUFOZ0lBSUFZZ0FEWUNBQ0FDSUFGckRBSUxJQVVnQURZQ0FBdEJmZ3NGSUFNTkFVRUFDd3dCQ3lBRlFRQTJBZ0JCcE1VRFFSazJBZ0JCZndzaENTQUhKQVlnQ1F2SUN3RUlmeUFBS0FJWUlnUW9BZ0FoQmlBRUtBSUVJUVVnQUNBQk5nTGNBU0FBSUFJMkF1QUJJQUFnQXpZQzVBRUNRQ0FGQkg4Z0JnVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VGSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFZZ0JVRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUJMUUFBSVFvZ0FrRi9haUlDQkg4Z0F3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFBMkF0UUJJQUpCZjJvaUFnUi9JQU1GSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEFpQUVLQUlBQ3lJQlFRRnFJUU1nQUNBQkxRQUFRUWgwSWdVMkFpQWdBa0YvYWlJQ0JFQWdBeUVCSUFVaEF3VWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFBb0FpQWhBeUFFS0FJQUlRRUxJQUZCQVdvaEJTQUFJQUV0QUFBZ0EybzJBaUFnQWtGL2FpSUNCSDhnQlFVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUJCQ0hRaUJUWUNIQ0FDUVg5cUlnSUVRQ0FESVFFZ0JTRURCU0FFS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFJZ0FDZ0NIQ0VESUFRb0FnQWhBUXNnQVVFQmFpRUZJQUFnQVMwQUFDQURhallDSENBQ1FYOXFJZ0VFUUNBRklRSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ0FoQWlBRUtBSUVJUUVMSUFBZ0FpMEFBRFlDSkNBQUtBSUFJZ01nQUNnQ3VBTTJBaGdnQXlBQUtBSWNOZ0ljSUFNZ0FDZ0NJRFlDSUNBRElBQW9BaVEyQWlRZ0EwSG1BRFlDRkNBREtBSUVJUU1nQUVFQklBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBREtBSVFCRUFnQUNnQ0FDSURRVDAyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFDeUFLUWY4QmNTQUdRZjhCY1VFSWRISkJlR29oQlFKQUFrQWdBQ2dDSUVVTkFDQUFLQUljUlEwQUlBQW9BaVFpQTBFQlNBMEFEQUVMSUFBb0FnQWlBMEVoTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQ0FBS0FJa0lRTUxJQU5CQTJ3Z0JVY0VRQ0FBS0FJQUlnTkJERFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUFvQXRnQlJRUkFJQUFvQWdRb0FnQWhBeUFBSUFCQkFTQUFLQUlrUWRnQWJDQURRVDl4UWNvQmFoRUVBRFlDMkFFTElBRkJmMm9oQVNBQ1FRRnFJUUlnQUNnQ0pFRUFTZ1JBQWtCQkFDRUZBMEFDUUNBQkJIOGdBU0VJSUFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhDQ0FFS0FJQUN5SUhMUUFBSVFJZ0FDZ0MyQUVoQXlBRkJFQUNRQ0FESVFGQkFDRUdBMEFnQVNnQ0FDQUNSd1JBSUFGQjJBQnFJUUVnQmtFQmFpSUdJQVZKRFFFTUFnc0xJQU1vQWdBaEFTQURRZGdBYWlFQ0lBVkJBVXNFZjBFQklRWURRQ0FDS0FJQUlna2dBU0FKSUFGS0d5RUJJQUpCMkFCcUlRSWdCa0VCYWlJR0lBVkhEUUFMSUFWQjJBQnNJQU5xQlNBQ0N5RUxJQUZCQVdvaEFpQUxJUUVMQlNBRElRRUxJQWRCQVdvaEJpQUJJQUkyQWdBZ0FTQUZOZ0lFSUFoQmYyb2lBd1IvSUFZRklBUW9BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUN5SUNRUUZxSVFZZ0FTQUNMUUFBSWdKQkJIWTJBZ2dnQVNJSElBSkJEM0UyQWd3Z0FTQURRWDlxSWdNRWZ5QUdCU0FFS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlFSVFNZ0JDZ0NBQXNpQWkwQUFEWUNFQ0FBS0FJQUlnWWdCeWdDQURZQ0dDQUdJQUVvQWdnMkFod2dCaUFIS0FJTU5nSWdJQVlnQnlnQ0VEWUNKQ0FHUWVjQU5nSVVJQVlvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0EwRi9haUVCSUFKQkFXb2hBaUFGUVFGcUlnVWdBQ2dDSkVnTkFRd0NDd3NNQWdzTElBQW9BdEFEUVFFMkFoQWdCQ0FDTmdJQUlBUWdBVFlDQkVFQkR3dEJBQXMwQVFGL0lBQW9BZ1FnQVNnQ0NCQ0xBU0lDQkVBZ0FpQUFJQUVRclFKQkFFZ0VRQ0FDRUVsQkFDRUNDd1ZCQUNFQ0N5QUNDeVFBSUFVRWZTQUFJQUVnQWlBRElBUWdCaERLQmdVZ0FDQUJJQUlnQXlBRUVNc0dDd3YzQmdNSGZ3VjlBM3dqQmlFSUl3WkI0QUZxSkFZZ0NFSElBV29oQnlBSVFkUUJhaUlKSUFSQkJIUVFSQ0lOTmdJQUlBMUZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDeUFJUWRBQmFpRUhJQWtnQkVFWWJCQkVJZ3cyQWdRZ0RFVUVRRUVBUVFOQnVkZ0NJQWNRUFVFQkVBRUxJQWhCNEFCcUlRb2dDRUhBQVdvaEMwRUFJUWNEUUNBSElBUklCRUFnRUNBSFFReHNJQU5xS2dJQWtpRVFJQThnQjBFTWJDQURhaW9DQkpJaER5QU9JQWRCREd3Z0Eyb3FBZ2lTSVE0Z0IwRUJhaUVIREFFTEN5QVFJQVN5SWhHVklSQWdEeUFSbFNFUElBNGdFWlVoRGtFQUlRY0RRQ0FISUFSSUJFQWdCMEVFZENBTmFpQUhRUU4wSUFKcUtnSUF1emtEQUNBSFFRUjBJQTFxSUFkQkEzUWdBbW9xQWdTN09RTUlJQWRCR0d3Z0RHb2dCMEVNYkNBRGFpb0NBQ0FRazdzNUF3QWdCMEVZYkNBTWFpQUhRUXhzSUFOcUtnSUVJQStUdXprRENDQUhRUmhzSUF4cUlBZEJER3dnQTJvcUFnZ2dEcE83T1FNUUlBZEJBV29oQnd3QkN3c2dDU0FFTmdJSVFRQWhBZ05BSUFKQkEwY0VRRUVBSVFNRFFDQURRUU5IQkVBZ0FrRUZkQ0FLYWlBRFFRTjBhaUFDUVFSMElBRnFJQU5CQW5ScUtnSUF1emtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dDaUFCS2dJTUlCQWdBU29DQUpRZ0R5QUJLZ0lFbEpJZ0RpQUJLZ0lJbEpLU3V6a0RHQ0FLSUFFcUFod2dFQ0FCS2dJUWxDQVBJQUVxQWhTVWtpQU9JQUVxQWhpVWtwSzdPUU00SUFvZ0FTb0NMQ0FRSUFFcUFpQ1VJQThnQVNvQ0pKU1NJQTRnQVNvQ0tKU1NrcnM1QTFnZ0JnUkFJQUFnQ1NBS0lBZ2dDeENkQkVFQVNBUkFJQXRFQUFBQUFJVFhsMEU1QXdBTEJTQUFJQWtnQ2lBSUlBc1E2Z0ZCQUVnRVFDQUxSQUFBQUFDRTE1ZEJPUU1BQ3dzZ0NTZ0NBQkE0SUFrb0FnUVFPRUVBSVFBRFFDQUFRUU5IQkVCQkFDRUJBMEFnQVVFRFJ3UkFJQUJCQkhRZ0JXb2dBVUVDZEdvZ0FFRUZkQ0FJYWlBQlFRTjBhaXNEQUxZNEFnQWdBVUVCYWlFQkRBRUxDeUFBUVFGcUlRQU1BUXNMSUFVZ0NDc0RHQ0FJS3dNQUlCQzdJaE9pb1NBSUt3TUlJQSs3SWhTaW9TQUlLd01RSUE2N0loV2lvYlk0QWd3Z0JTQUlLd000SUFnckF5QWdFNktoSUFnckF5Z2dGS0toSUFnckF6QWdGYUtodGpnQ0hDQUZJQWdyQTFnZ0NFRkFheXNEQUNBVG9xRWdDQ3NEU0NBVW9xRWdDQ3NEVUNBVm9xRzJPQUlzSUFzckF3QzJJUklnQ0NRR0lCSUxKd0VDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVFUWZBWFFidlVBa0VHSUFFUUNTQURDeVFHQ3dvQUlBQkJHR29RbFFFTEZRQWdBRU1BQUlBL0lBRWdBVU1BQUFBQVd4dVZDeUlBSUFBZ0FTb0NBQ0FDS2dJQWt6Z0NBQ0FBSUFFcUFnUWdBaW9DQkpNNEFnUUx5UUlCQkg4akJpRURJd1pCRUdva0JpQUJLQUlBUVFKSEJFQWdBMEhBeUFOQjhPUUJFRGRCbWVBQkVEZEI3NklDRURkQjVRSVFQa0gyb2dJUU4wR2Y1UUVRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQXhBOElBUWdCUkJBSUFRUVB4QUFDd0pBQWtBQ1FBSkFBa0FnQWlnQ0FBNERBZ0FCQXdzZ0FTZ0NHQ0FBS0FJZ0lBSW9BaGdnQWlnQ0JDQUNLQUlJRU5ZSURBTUxJQUVvQWhnZ0FDZ0NMQ0FDS0FJWUlBSW9BZ1FnQWlnQ0NCRFZDQXdDQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkJ3K1VCUWNQbEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXdCQzBFUUVBVWhBQ0FEUWdBM0FnQWdBMEVBTmdJSUlBTkIxdVVCUWRibEFSQmdFSDRnQUNBREVJWUNJQUJCaVBJQVFRVVFCQXNnQXlRR0MwQUJBWDBnQUVFQklBUjBzaUlGSUFLVVJBQUFBQUFBQVBBL0lBUkJmMm9RbndGRUFBQUFBQUFBNEwrZ3RpSUNramdDQUNBQklBVWdBNVFnQXBJNEFnQUx4QUVCQlg4akJpRURJd1pCSUdva0JrSEg0L0U0SUFBb0FnUWdBQ2dDQUd0QkpCQTVRUUZxSWdKSkJFQVFBQVVnQXlBQ0lBQW9BZ2dnQUNnQ0FDSUVhMEVrRURraUJVRUJkQ0lHSUFZZ0Fra2JRY2ZqOFRnZ0JVSGo4YmdjU1JzZ0FDZ0NCQ0FFYTBFa0VEa2dBRUVJYWhEUUFpQURLQUlJSWdJZ0FTa0NBRGNDQUNBQ0lBRXBBZ2czQWdnZ0FpQUJLUUlRTndJUUlBSWdBU2tDR0RjQ0dDQUNJQUVvQWlBMkFpQWdBeUFDUVNScU5nSUlJQUFnQXhEUEFpQURFTTRDSUFNa0Jnc0xHZ0JEQUFBQUFDQUJJQUFnQUNBQlhoc2dBRU1BQUFBQVhSc0xsd0VCQkg4Z0FVRUVhaUlES0FJQVFRQWdBQ2dDQkNBQUtBSUFJZ1JySWdWQkFuVnJRUUowYWlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUw0QUVDQW44QmZTTUdJUVlqQmtFd2FpUUdJQUFFZnlBQVFRaHFJQUVnQmhENkFTQUFRYmdCYWlBR0tnSU1JQVlxQWdBZ0FwUWdCaW9DQkNBRGxKS1NJQVlxQWl3Z0Jpb0NJQ0FDbENBR0tnSWtJQU9Va3BJaUNKVWdCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBSWxTQUVJQVVRYlVFZmRRVWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFSUlBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDQ0FDbFRnQ0FFRUFDeUVISUFZa0JpQUhDelFCQW44RFFBSkFJQUFnQVJDV0F5SUNSUVJBUVFBaEFnd0JDeUFBTEFBQVFRcHJJZ05CQUNBRFFSbEhHMFVOQVFzTElBSUxYUUVCZnlBQklBQklJQUFnQVNBQ2FraHhCRUFnQVNBQ2FpRUJJQUFpQXlBQ2FpRUFBMEFnQWtFQVNnUkFJQUpCQVdzaEFpQUFRUUZySWdBZ0FVRUJheUlCTEFBQU9nQUFEQUVMQ3lBRElRQUZJQUFnQVNBQ0VFd2FDeUFBQzRNQkFRSi9JQUJGQkVBZ0FSQkVEd3NnQVVHL2Ywc0VRRUdreFFOQk1EWUNBRUVBRHdzZ0FFRjRha0VRSUFGQkMycEJlSEVnQVVFTFNSc1E0QWtpQWdSQUlBSkJDR29QQ3lBQkVFUWlBa1VFUUVFQUR3c2dBaUFBSUFCQmZHb29BZ0FpQTBGNGNVRUVRUWdnQTBFRGNSdHJJZ01nQVNBRElBRkpHeEJNR2lBQUVEZ2dBZ3RaQVFKL0EwQWdBQ0FCRUpZREJFQWdBQkJnSVFJRFFBSkFJQUpGRFFBQ1FDQUFJQUpCZjJvaUFtb2lBeXdBQUVFS2F3NEVBQUVCQUFFTElBTkJBRG9BQUF3QkN3c2dBQ3dBQUNJQ1FRQWdBa0VqUnh0RkRRRUxDd3ZtQkFJSWZ3UjhJd1loQ0NNR1FiQUJhaVFHSUFoQnFBRnFJUVVnQ0VHZ0FXb2hCaUFJUVpBQmFpRUtJQWhCTUdvaEN5QUJLQUlJSWdkQkEwZ0VmMEYvQlFKL0lBZEI0QUJzRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQVlRUFVGL0RBRUxJQWRCQkhRUVJDSUhSUVJBUVFCQkEwSEsyQUlnQlJBOUlBa1FPRUYvREFFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0JVRUZkQ0FEYWlBR1FRTjBhaUFGUVFWMElBSnFJQVpCQTNScUt3TUFPUU1BSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEMwRUFJUVlDUUFKQUFrQURRQUpBSUFBZ0F5QUxFTE1DUkFBQUFBQUFBQUFBSVExQkFDRUZBMEFnQlNBQktBSUlJZ0pJQkVBZ0NpQUxJQUVvQWdRZ0JVRVliR29RdXdSQkFFZ05BaUFCS0FJQUlnSWdCVUVFZEdvckF3QWdDaXNEQUtFaERpQUZRUVIwSUFKcUt3TUlJQW9yQXdpaElROGdCVUVCZENJQ1FRTjBJQWRxSUE0NUF3QWdBa0VCY2tFRGRDQUhhaUFQT1FNQUlBMGdEaUFPb2lBUElBK2lvS0FoRFNBRlFRRnFJUVVNQVFzTElBMGdBcmVqSWcwZ0FDc0RhR01OQkNBR0JFQWdEU0FBS3dONFl3UkFJQTBnRUtNZ0FDc0RjR1FOQmdzTElBWWdBQ2dDWUVZTkJFRUFJUVVEUUNBRklBSklCRUFnQlVFTWJFRURkQ0FKYWlBQUlBTWdBU2dDQkNBRlFSaHNhaEM1QkVFQVNBMEVJQVZCQVdvaEJTQUJLQUlJSVFJTUFRc0xJQWdnQnlBSklBSkJBWFFRc3dSQkFFZ05BeUFESUFnUXNnUWdEU0VRSUFaQkFXb2hCZ3dCQ3dzZ0NTQUhFT0FDUVg4TUF3c2dDU0FIRU9BQ1FYOE1BZ3NnQ1NBSEVPQUNRWDhNQVFzZ0JDQU5PUU1BSUFrUU9DQUhFRGhCQUFzTElRd2dDQ1FHSUF3TFhBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FSQTdJQU5CcU00REVEb2lBU2dDQUNnQ0VDRUVJQUlnQVNBRVFmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQU1RUENBREpBWUxDUUFnQUNBQkVJb0xDMXdCQW44akJpRURJd1pCRUdva0JpQURJQUVRT3lBRFFaRE9BeEE2SWdFb0FnQW9BaEFoQkNBQ0lBRWdCRUgvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBREVEd2dBeVFHQ3hBQUlBQWdBU0FBS0FJWVJYSTJBaEFMZXdFQmZ5QUFRWDlHQkVCQmZ5RUFCUUpBSUFFb0FreEJmMG9FZjBFQkJVRUFDeG9DUUFKQUlBRW9BZ1FpQWcwQUlBRVFwd0lhSUFFb0FnUWlBZzBBREFFTElBSWdBU2dDTEVGNGFrc0VRQ0FCSUFKQmYyb2lBallDQkNBQ0lBQTZBQUFnQVNBQktBSUFRVzl4TmdJQURBSUxDMEYvSVFBTEN5QUFDMVFCQW44Z0FVRWZTd1IvSUFBZ0FDZ0NBQ0lDTmdJRUlBQkJBRFlDQUNBQlFXQnFJUUZCQUFVZ0FDZ0NCQ0VDSUFBb0FnQUxJUU1nQUNBQ0lBRjBJQU5CSUNBQmEzWnlOZ0lFSUFBZ0F5QUJkRFlDQUF1WEF3RUZmeU1HSVFnakJrSHdBV29rQmlBSVFlZ0JhaUlKSUFNb0FnQWlCellDQUNBSklBTW9BZ1FpQXpZQ0JDQUlJQUEyQWdBQ1FBSkFJQU1nQjBFQlIzSUVRRUVBSUFGcklRc2dBQ0FFUVFKMElBWnFLQUlBYXlJS0lBQWdBa0UvY1VHS0FXb1JBZ0JCQVVnRVFFRUJJUU1GUVFFaEJ5QUZSU0VGSUFBaEF5QUtJUUFEZnlBRklBUkJBVXB4QkVBZ0JFRitha0VDZENBR2FpZ0NBQ0VLSUFNZ0Myb2lCU0FBSUFKQlAzRkJpZ0ZxRVFJQVFYOUtCRUFnQnlFRklBTWhBQXdGQ3lBRklBcHJJQUFnQWtFL2NVR0tBV29SQWdCQmYwb0VRQ0FISVFVZ0F5RUFEQVVMQ3lBSFFRRnFJUVVnQjBFQ2RDQUlhaUFBTmdJQUlBa2dDUkNCQXlJREVQSUJJQU1nQkdvaEJDQUpLQUlBUVFGSElBa29BZ1JCQUVkeVJRMERJQUFnQkVFQ2RDQUdhaWdDQUdzaUNpQUlLQUlBSUFKQlAzRkJpZ0ZxRVFJQVFRRklCSDhnQlNFRFFRQUZJQUFoQXlBRklRZEJBU0VGSUFvaEFBd0JDd3NoQlFzRlFRRWhBd3NnQlVVRVFDQURJUVVNQVFzTUFRc2dBU0FJSUFVUS93SWdBQ0FCSUFJZ0JDQUdFS0lDQ3lBSUpBWUxWQUVDZnlBQlFSOUxCSDhnQUNBQUtBSUVJZ0kyQWdBZ0FFRUFOZ0lFSUFGQllHb2hBVUVBQlNBQUtBSUFJUUlnQUNnQ0JBc2hBeUFBSUFOQklDQUJhM1FnQWlBQmRuSTJBZ0FnQUNBRElBRjJOZ0lFQzE0QkFYOENmeUFBS0FKTVFRQk9CRUFnQUNnQ0JDSUJJQUFvQWdoSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVE5UUVMREFFTElBQW9BZ1FpQVNBQUtBSUlTUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRVBVQkN3c0xFZ0FnQUNnQ1RCb2dBQ0FCckNBQ0VJa0RDMGtCQTM4akJpRUJJd1pCRUdva0JpQUFFS2NDQkg5QmZ3VWdBQ2dDSUNFQ0lBQWdBVUVCSUFKQlAzRkJ5Z0ZxRVFRQVFRRkdCSDhnQVMwQUFBVkJmd3NMSVFNZ0FTUUdJQU1MRUFBZ0FWQUVma0lBQlNBQUlBR0FDd3RlQVFGL0lBUkJBRXdFUUE4TElBRkJBblFnQUdvaEFDQURRUUowSUFKcUlRRURRQ0FBUVFScUlRSWdBVUVFYWlFRElBRW9BZ0FnQUNnQ0FDQUZFRXdhSUFSQmYyb2hCaUFFUVFGS0JFQWdBaUVBSUFNaEFTQUdJUVFNQVFzTEN4TUFJQUVnQUVGL2Ftb2lBQ0FBSUFFUVQyc0x2QzBCQ1g4akJpRUtJd1pCb0FwcUpBWWdBa0VEU3dSQUlBQW9BZ0FpQlVFME5nSVVJQVVnQWpZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFKQkFuUnFJQUJCeEFGcUlBSkJBblJxSUFGQkFFY2lEQnNvQWdBaUJrVUVRQ0FBS0FJQUlnRkJORFlDRkNBQklBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFES0FJQUlnUkZCRUFnQUNnQ0JDZ0NBQ0VCSUFNZ0FFRUJRWkFMSUFGQlAzRkJ5Z0ZxRVFRQUlnUTJBZ0FMSUFBaEN5QUtRWkFJYWlFSklBUWdCallDakFFZ0Jpd0FBU0lDUWY4QmNTRUJJQUlFUUNBSlFRRWdBUkJGR2dWQkFDRUJDeUFCSUFZc0FBSWlBMEgvQVhFaUJXb2lBa0dBQWtzRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRSWdCUkJGR2lBQ0lRRUxJQUVnQml3QUF5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkF5QUZFRVVhSUFJaEFRc2dBU0FHTEFBRUlnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFRUlBVVFSUm9nQWlFQkN5QUJJQVlzQUFVaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFVZ0JSQkZHaUFDSVFFTElBRWdCaXdBQmlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQmlBRkVFVWFJQUloQVFzZ0FTQUdMQUFISWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VISUFVUVJSb2dBaUVCQ3lBQklBWXNBQWdpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUWdnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FDU0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJDU0FGRUVVYUlBSWhBUXNnQVNBR0xBQUtJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUtJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBc2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRc2dCUkJGR2lBQ0lRRUxJQUVnQml3QURDSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkRDQUZFRVVhSUFJaEFRc2dBU0FHTEFBTklnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFTklBVVFSUm9nQWlFQkN5QUJJQVlzQUE0aUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVE0Z0JSQkZHaUFDSVFFTElBRWdCaXdBRHlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRHlBRkVFVWFJQUloQVFzZ0FTQUdMQUFRSWdKQi93RnhJZ05xSWdoQmdBSktCRUFnQUNnQ0FDSUZRUWsyQWhRZ0JTZ0NBQ0VGSUFzZ0JVSC9BWEZCckFOcUVRRUFDeUFDQkVBZ0FTQUpha0VRSUFNUVJSb0ZJQUVoQ0FzZ0NDQUpha0VBT2dBQUlBa3NBQUFpQlFSQVFRQWhBVUVBSVFJZ0JTRURBMEFnQlNBRFFSaDBRUmgxUmdSQUEwQWdBa0VDZENBS2FpQUJOZ0lBSUFGQkFXb2hBU0FGSUFrZ0FrRUJhaUlDYWl3QUFDSURSZzBBQ3dzZ0FVRUJJQVYwVGdSQUlBQW9BZ0FpQjBFSk5nSVVJQWNvQWdBaEJ5QUxJQWRCL3dGeFFhd0RhaEVCQUFzZ0FVRUJkQ0VCSUFWQkFXb2hCU0FEUWY4QmNRMEFDd3NnQkNBR0xBQUJCSDhnQkVFQUlBb29BZ0JyTmdKTUlBWXRBQUVpQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVFBaEFVRi9DellDQkNBRUlBWXNBQUlFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWxBZ0FTQUdMUUFDYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBZ2dnQkNBR0xBQURCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pVSUFFZ0JpMEFBMm9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSU1JQVFnQml3QUJBUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNXQ0FCSUFZdEFBUnFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0VDQUVJQVlzQUFVRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsd2dBU0FHTFFBRmFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWhRZ0JDQUdMQUFHQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKZ0lBRWdCaTBBQm1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lZSUFRZ0Jpd0FCd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDWkNBQklBWXRBQWRxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNIQ0FFSUFZc0FBZ0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbWdnQVNBR0xRQUlhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpQWdCQ0FHTEFBSkJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSnNJQUVnQmkwQUNXb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJa0lBUWdCaXdBQ2dSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2NDQUJJQVl0QUFwcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDS0NBRUlBWXNBQXNFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW5RZ0FTQUdMUUFMYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaXdnQkNBR0xBQU1CSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0o0SUFFZ0JpMEFER29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSXdJQVFnQml3QURRUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNmQ0FCSUFZdEFBMXFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ05DQUVJQVlzQUE0RWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFvQUJJQUVnQmkwQURtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJNElBUWdCaXdBRHdSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2hBRWdBU0FHTFFBUGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWp3Z0JFRkFheUFHTEFBUUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nS0lBU0FCSUFZdEFCQnFRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNBQ0FFUWYvL1B6WUNSQ0FFUVpBQmFrRUFRWUFJRUVVYUlBWXNBQUVFUUVFQklRTkJBQ0VCQTBBZ0FTQUdRUkZxYWlFSFFZQUJJUVVnQVVFQ2RDQUthaWdDQUVFSGRDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFUWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFGSkJFQWdBaUVEREFFTEN3VkJBQ0VCQ3lBR0xBQUNCRUJCQVNFREEwQWdBU0FHUVJGcWFpRUhRY0FBSVFVZ0FVRUNkQ0FLYWlnQ0FFRUdkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBallDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBSkpCRUFnQWlFRERBRUxDd3NnQml3QUF3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJYUWlDVUVDZEdwQkF6WUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVJYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUthaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVMYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU5haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVPYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFUGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRWZjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFOSkJFQWdBeUVDREFFTEN3c2dCaXdBQkFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQkhRaUNVRUNkR3BCQkRZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBUkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJRUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkEzUWlCVUVDZEdwQkJUWUNBQ0FGSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0JVRUJjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVDYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhjaUlGUVFKMGFrRUZOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFWSkJFQWdBeUVDREFFTEN3c2dCaXdBQmdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQW5RaUEwRUNkR3BCQmpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dBMEVEY2lJRFFRSjBha0VHTmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBWkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJ3UkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFYUWlBMEVDZEdwQkJ6WUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlEUVFKMGFrRUhOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFkSkJFQWdBeUVDREFFTEN3c2dCaXdBQ0FSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0FpQTBFQ2RHcEJDRFlDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxTEFBQU9nQUFJQUpCQVdvaEF5QUJRUUZxSVFFZ0FpQUdMUUFJU1FSQUlBTWhBZ3dCQ3dzTElBd2dDRUVBU25GRkJFQWdDaVFHRHd0QkFDRUJBMEFnQVNBR1FSRnFhaTBBQUVFUFNnUkFJQUFvQWdBaUFrRUpOZ0lVSUFJb0FnQWhBaUFMSUFKQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlJQklBaEhEUUFMSUFva0JndThBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQURRUUowSUFGcUtnSUFJQVVyQXdDMmxDQUJRUkJxSUFOQkFuUnFLZ0lBSUFZckF3aTJsSklnQVVFZ2FpQURRUUowYWlvQ0FDQUhLd01RdHBTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFNcUFnd2dCRUVGZENBQWFpc0RHTGFTT0FJTUlBUkJBV29oQkF3QkN3c0wrbGNERG44RGZRbDhJd1loRFNNR1FZQUNhaVFHSUExQjBBQnFJUklnRFVHUUFXb2lEMFFBQUFBQUFBQlpRRGtEQUNBUFJBQUFBQUFBQUZsQU9RTUlJQTlFQUFBQUFBQ0FXMEE1QXhBZ0QwUUFBQUFBQUFCWlFEa0RHQ0FQUkFBQUFBQUFnRnRBT1FNZ0lBOUVBQUFBQUFDQVcwQTVBeWdnRDBRQUFBQUFBQUJaUURrRE1DQVBSQUFBQUFBQWdGdEFPUU00QTBBZ0VFRUVSd1JBSUJCQkJIUWdFbW9nRUVFRWRDQUphaXNEQURrREFDQVFRUVIwSUJKcUlCQkJCSFFnQ1dvckF3ZzVBd2dnRUVFQmFpRVFEQUVMQ3lBUElCSWdEUkNKQnlBU0t3TUFJaDBnRWlzREVDSWVvU0lmSUIraUlCSXJBd2dpSHlBU0t3TVlJaUNoSWlFZ0lhS2dFSE1oQ1NBU0t3TWdJaUVnRWlzRE1DSWlvU0lqSUNPaUlCSXJBeWdpSXlBU0t3TTRJaVNoSWlVZ0phS2dFSE1oRWlBZUlDR2hJaDRnSHFJZ0lDQWpvU0llSUI2aW9CQnpJUThnSWlBZG9TSWRJQjJpSUNRZ0g2RWlIU0Fkb3FBUWN5RVFJQklnQ1NBU0lBbEtHN2NnQ3FJZ0NxSVFjeUVWSUJBZ0R5QVFJQTlLRzdjZ0NxSWdDcUlRY3lFUUlBQUVRQ0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpRUUowYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRWtFQ2RHd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xCU0FDSVFrRFFDQUpRUUYwSVJJZ0NTQUpiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFbXdnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQ3lBTlFlZ0JhaUVNSUExQjRBRnFJUTRnRFVIWUFXb2hFeUFOUWRBQmFpRVJJQTFCOEFGcUlSQWdEVUhzQVdvaER5QURJQWtnQ1NBRFNoc2lDU0FDRURraEZTQURJQklnRWlBRFNoc2lBeUFDRURraEVrUUFBQUFBQUFEd1B5QUtvVVFBQUFBQUFBRGdQNkpFQUFBQUFBQUFKRUNpSVIwZ0NrUUFBQUFBQUFBa1FLSWhDaUFDSUFKc0lSUUNmd0pBSUFFRVFDQVVRUVFRalFJaUFVVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxBa0FnQjBFQ1NRUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VEYkNJTWFpMEFBQ0FFSUF4QkFXcHFMUUFBYWlBRUlBeEJBbXBxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQVVnQjBFQmNrRURSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1haTBBQUNBRUlBeEJBWEpxTFFBQWFpQUVJQXhCQW5KcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0IwRUNja0VHUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFGeWFpMEFBQ0FFSUF4QkFuSnFMUUFBYWlBRUlBeEJBM0pxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUhRUVZyRGdvQUJnRUNBd1FGQUFBQUJnc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFQ2RDQUJhaUlPSUF3Z0RpZ0NBR28yQWdBTEN5QUhRUUZxSVFjTUFRc0xJQUJCQVdvaEFBd0FBQXNBQ3lBZFJBQUFBQUFBQUZsQW9DRWVJQU8zSVNFZ0NiY2hJaUFOUVVCcklSTWdBRUVCUmlFUlFRQWhBQU5BSUFBZ0EwNE5CeUFlSUFvZ0FMZEVBQUFBQUFBQTREK2dvaUFobzZBaEhVRUFJUWNEUUNBSElBbElCRUFnRXlzREFDQWVJQW9nQjdkRUFBQUFBQUFBNEQrZ29pQWlvNkFpSHlBTkt3TXdvaUFkSUEwckF6aWlvS0FpSUVRQUFBQUFBQUFBQUdFTkN5QVFJQTByQXhBZ0h5QU5Ld01Bb2lBZElBMHJBd2lpb0tBZ0lLTzJJaG80QWdBZ0R5QU5Ld01vSUI4Z0RTc0RHS0lnSFNBTkt3TWdvcUNnSUNDanRpSWJPQUlBSUFnZ0dpQWJJQkFnRHhCdEdpQVFLZ0lBSVJvZ0VRUi9JQnBEQUFDQVA1SVFRMEVDRURsQkFYUWhEQ0FQS2dJQVF3QUFnRCtTRUVOQkFoQTVRUUYwQlNBYVF3QUFBRCtTRUVNaERDQVBLZ0lBUXdBQUFEK1NFRU1MSVE0Z0RFRi9TZ1JBSUF3Z0JVZ2dEa0YvU25FZ0RpQUdTSEVFUUNBRUlBd2dCU0FPYkdwQkFYUkJBWEpxTFFBQUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkR290QUFBaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVVnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRa2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFY2NYSkJBbkpxSUF4QkEzUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRUWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFnZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VZY1hKQkJISnFJQXhCQW5SQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFNZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWNnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCOEFGeFFRaHlJQTVCQkhSQjhBRnhRUWh5YWlBRUlBeEJBWEpxTEFBQVFYQnhRUWh5UWY4QmNXcEJBeEJJSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMUVFCQkEwSHlxQUVnREJBOURBTUxBQXNnRWlBVmJDRUNRUUFoQUFOQUlBQWdGRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NGSUJSQkEyd2lHRUVFRUkwQ0lnRkZCRUJCQUVFRFFibllBaUFSRUQxQkFSQUJDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQnc0UEFBRUNBd1FGQmdjSUNRb0xCUVVGREFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUTBnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSRWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hCQW1wcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERSQWdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRTnNJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbXBxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUXNnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERROGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQW5KcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUW9nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRNGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBbkpxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWtnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRMGdFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRSjBJZ3hCQVhKcUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFuSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQTNKcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFnZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUXdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFhaTBBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEhJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwTElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUU55YWkwQUFDRVJJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRVNBV0tBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdCQ0FNUVFKeWFpMEFBQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0JDQU1RUUZ5YWkwQUFDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBHSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEtJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGR290QUFCQmdIOXFzaUVhSUFRZ0ZFRUNhbW90QUFCQmdIOXFzaUViSUJwRFRob0JSSlFnQkNBTUlBNXFRUUYwUVFGeWFpMEFBRUZ3YXJKRGZ3cVZRNVFpSEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFU0FBUVFGR0lSWkJBQ0VBQTBBZ0FDQURUZzBGSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBUkt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEpJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVdCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdCU0FPYkNJT0lBeEIvdjhEY1dwQkFYUWlGRUVCY21vdEFBQkJnSDlxc2lFYUlBUWdGRUVEYW1vdEFBQkJnSDlxc2lFYklBUWdEQ0FPYWtFQmRHb3RBQUJCY0dxeVEzOEtsVU9VSWh3Z0drTk9HZ0ZFbEpJUVEwRUlkU0VNSUJ3Z0drUCtsTWhDbEpNZ0cwTzRIbEJEbEpNUVEwRUlkU0VPSUJ3Z0cwT2dTc3hEbEpJUVEwRUlkU0VVSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJVFFRSjBJQUZxSWhjZ0Z5Z0NBQ0FNUVFBZ0RFRUFTaHNpREVIL0FTQU1RZjhCU0J0cU5nSUFJQk5CQVdwQkFuUWdBV29pRENBTUtBSUFJQTVCQUNBT1FRQktHeUlPUWY4QklBNUIvd0ZJRzJvMkFnQWdFMEVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdGRUVBSUJSQkFFb2JJZ3hCL3dFZ0RFSC9BVWdiYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBFSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMElJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFOMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RZUFCY1VFRGRuSkJBbkpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUUowUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFjQUJjVUVEZG5KQkJISnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwQ0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBHSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJT1FRRnlhaXdBQUVGd2NVRUlja0gvQVhFaEVTQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkEyd2lERUVDZENBQmFpSVdJQkVnRmlnQ0FHbzJBZ0FnREVFQmFrRUNkQ0FCYWlJUklCRW9BZ0FnQkNBT2Fpd0FBQ0lPUVFSMFFmOEJjVUVJY21vMkFnQWdERUVDYWtFQ2RDQUJhaUlNSUF3b0FnQWdEa0Z3Y1VFSWNrSC9BWEZxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUF0QkFFRURRZktvQVNBVEVEME1BZ3NnRWlBVmJDRUNRUUFoQUFOQUlBQWdHRWNFUUNBQUlBdHFJQUJCQW5RZ0FXb29BZ0FnQWhCSU9nQUFJQUJCQVdvaEFBd0JDd3NMSUFFUU9FRUFEQUVMSUFFUU9FRi9DeUVaSUEwa0JpQVpDNmtCQUNBQUlBRXFBZ0NNT0FJQUlBQWdBU29DQkl3NEFnUWdBRU1BQUlDL09BSUlJQUJCREdvUXdnTWdBQ0FDS2dJQUlBRXFBZ0NVT0FJWUlBQWdBaW9DQUNBQktnSUVsRGdDSENBQUlBSW9BZ0EyQWlBZ0FFRWthaERDQXlBQUlBRXFBZ0NNT0FJd0lBQWdBU29DQkl3NEFqUWdBRU1BQUlDL09BSTRJQUFnQWlvQ0JDQUJLZ0lBbERnQ1BDQUFRVUJySUFJcUFnUWdBU29DQkpRNEFnQWdBQ0FDS0FJRU5nSkVDeVFBSUFBZ0FTQUNFSVVCUXdBQUFBQmVJQU1nQkNBRkVJVUJRd0FBQUFCZWMwRUJjd3NNQUNBQUlBRWdBQ0FCWFJzTElBQWdBQ29DQUNBQktnSUVsQ0FBS2dJRUlBRXFBZ0NVazR0REFBQUFQNVFMVEFFQ2Z5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NBQ0lEYTBFRGRTQUJTUVJBSUFJZ0FTQUFLQUlFSUFOclFRTjFJQUJCQ0dvUWlBSWdBQ0FDRU0wQ0lBSVF6QUlMSUFJa0Jnc0hBQ0FBUVJCcUN3a0FJQUFnQVJEYkF3c01BQ0FBSUFGQkFYRTZBR1FMS2dBZ0FFRUFOZ0lBSUFCQkFEWUNCQ0FBUVFBMkFnZ2dBUVJBSUFBZ0FSQ2RDQ0FBSUFFUTlnTUxDd3dBSUFBZ0FTQUFJQUZJR3dzVkFDQUFRZnlGQVRZQ0FDQUFRUVJxSUFFUTNnSUxvd0lDQkg4QmZTTUdJUU1qQmtFUWFpUUdJQUpEQUFBQUFHQkZCRUFnQTBIQXlBTkJuWnNDRURkQnFKa0NFRGRCNzZJQ0VEZEI2QUVRUGtIMm9nSVFOMEcvbXdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVzaUFDWGdSQUlBQXFBaGdnQWhEbEJFRUJJQUYwc3BRaEJ5QURKQVlnQnc4RklBTkJ3TWdEUWRhYkFoQTNRYWlaQWhBM1FlK2lBaEEzUWVrQkVENUI5cUlDRURkQmlad0NFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQU5CZ000REVEb2lBU2dDQUNnQ0hDRUFJQUZCQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQU1RUENBRUlBQVFRQ0FFRUQ4UUFBdERBQUFBQUF0ekFRRi9JQUJCQURZQ0RDQUFJQU0yQWhBZ0FRUkFJQUZCLy8vLy93RkxCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFRTjBFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJBM1FnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVFOMElBUnFOZ0lNQzB3QkFYOGdBQ2dDQUNFQ0lBQWdBU2dDQURZQ0FDQUJJQUkyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NCRFlDQkNBQklBSTJBZ1FnQUNnQ0NDRUNJQUFnQVNnQ0NEWUNDQ0FCSUFJMkFnZ0xIQUFnQUVFQVJ5QUJRUVZKY1FSL0lBQWdBVFlDR0VFQUJVRi9Dd3NJQUVFT0VBSkJBQXNJQUVFSUVBSkJBQXRYQVFGL0lBQUVRQ0FBSUFGc0lRSWdBQ0FCY2tILy93TkxCRUFnQWtGL0lBSWdBQkJJSUFGR0d5RUNDd3NnQWhCRUlnQkZCRUFnQUE4TElBQkJmR29vQWdCQkEzRkZCRUFnQUE4TElBQkJBQ0FDRUVVYUlBQUx2QUVCQlg4akJpRURJd1pCRUdva0JpQURJQUUyQWdBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkFRc2hBU0FEUVFScUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRa1FRZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQWtFQ2RDQUFhaUlBSUFNUWJpQUVRUUEyQWdBZ0FFRUVhaUFFRUc0Z0F5UUdDeElBSUFBUU9DQUJFRGdnQWhBNElBTVFPQXNJQUVILy8vLy9Cd3NGQUVIL0FBdUpCZ0VJZnlNR0lRa2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnc29BZ0FvQWhRaEJpQUpJQXNnQmtFL2NVR3lCV29SQXdBZ0NTZ0NCQ0FKTEFBTElnWkIvd0Z4SUFaQkFFZ2JCRUFnQlNBRE5nSUFJQUlDZndKQUFrQWdBQ3dBQUNJR1FTdHJEZ01BQVFBQkN5QUtLQUlBS0FJc0lRY2dDaUFHSUFkQlAzRkJpZ0ZxRVFJQUlRWWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUdOZ0lBSUFCQkFXb01BUXNnQUFzaUJtdEJBVW9FUUNBR0xBQUFRVEJHQkVBZ0Jpd0FBVUhZQUdzaUIwRUFJQWRCSUVjYlJRUkFJQW9vQWdBb0Fpd2hCeUFLUVRBZ0IwRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVFYWpZQ0FDQUlJQWMyQWdBZ0NpZ0NBQ2dDTENFSElBb2dCaXdBQVNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dCellDQUNBR1FRSnFJUVlMQ3dzZ0FpQUdSd1JBQWtBZ0FpRUhJQVloQ0FOQUlBZ2dCMEYvYWlJSFR3MEJJQWdzQUFBaERTQUlJQWNzQUFBNkFBQWdCeUFOT2dBQUlBaEJBV29oQ0F3QUFBc0FDd3NnQ3lnQ0FDZ0NFQ0VISUFzZ0IwSC9BSEZCQ0dvUkFBQWhEU0FHSVFoQkFDRUhRUUFoQ3dOQUlBZ2dBa2tFUUNBSElBa29BZ0FnQ1NBSkxBQUxRUUJJRzJvc0FBQWlERUVBUnlBTElBeEdjUVJBSUFVZ0JTZ0NBQ0lMUVFScU5nSUFJQXNnRFRZQ0FDQUhJQWNnQ1NnQ0JDQUpMQUFMSWdkQi93RnhJQWRCQUVnYlFYOXFTV29oQjBFQUlRc0xJQW9vQWdBb0Fpd2hEQ0FLSUFnc0FBQWdERUUvY1VHS0FXb1JBZ0FoRENBRklBVW9BZ0FpRGtFRWFqWUNBQ0FPSUF3MkFnQWdDRUVCYWlFSUlBdEJBV29oQ3d3QkN3c2dCaUFBYTBFQ2RDQURhaUlISUFVb0FnQWlCa1lFZnlBSEJRTkFJQWNnQmtGOGFpSUdTUVJBSUFjb0FnQWhDQ0FISUFZb0FnQTJBZ0FnQmlBSU5nSUFJQWRCQkdvaEJ3d0JDd3NnQlNnQ0FBc2hCUVVnQ2lnQ0FDZ0NNQ0VHSUFvZ0FDQUNJQU1nQmtFUGNVR0tBbW9SQ1FBYUlBVWdBaUFBYTBFQ2RDQURhaUlGTmdJQUN5QUVJQVVnQVNBQWEwRUNkQ0FEYWlBQklBSkdHellDQUNBSkVFY2dDU1FHQzRBR0FRaC9Jd1loQ1NNR1FSQnFKQVlnQmtHQXpnTVFPaUVLSUFaQmtNNERFRG9pQ3lnQ0FDZ0NGQ0VHSUFrZ0N5QUdRVDl4UWJJRmFoRURBQ0FKS0FJRUlBa3NBQXNpQmtIL0FYRWdCa0VBU0JzRVFDQUZJQU0yQWdBZ0FnSi9Ba0FDUUNBQUxBQUFJZ1pCSzJzT0F3QUJBQUVMSUFvb0FnQW9BaHdoQnlBS0lBWWdCMEUvY1VHS0FXb1JBZ0FoQmlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFZNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlNnUkFJQVlzQUFCQk1FWUVRQ0FHTEFBQlFkZ0FheUlIUVFBZ0IwRWdSeHRGQkVBZ0NpZ0NBQ2dDSENFSElBcEJNQ0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0J6b0FBQ0FLS0FJQUtBSWNJUWNnQ2lBR0xBQUJJQWRCUDNGQmlnRnFFUUlBSVFjZ0JTQUZLQUlBSWdoQkFXbzJBZ0FnQ0NBSE9nQUFJQVpCQW1vaEJnc0xDeUFDSUFaSEJFQUNRQ0FDSVFjZ0JpRUlBMEFnQ0NBSFFYOXFJZ2RQRFFFZ0NDd0FBQ0VOSUFnZ0J5d0FBRG9BQUNBSElBMDZBQUFnQ0VFQmFpRUlEQUFBQ3dBTEN5QUxLQUlBS0FJUUlRY2dDeUFIUWY4QWNVRUlhaEVBQUNFTklBWWhDRUVBSVFkQkFDRUxBMEFnQ0NBQ1NRUkFJQWNnQ1NnQ0FDQUpJQWtzQUF0QkFFZ2JhaXdBQUNJTVFRQkhJQXNnREVaeEJFQWdCU0FGS0FJQUlndEJBV28yQWdBZ0N5QU5PZ0FBSUFjZ0J5QUpLQUlFSUFrc0FBc2lCMEgvQVhFZ0IwRUFTQnRCZjJwSmFpRUhRUUFoQ3dzZ0NpZ0NBQ2dDSENFTUlBb2dDQ3dBQUNBTVFUOXhRWW9CYWhFQ0FDRU1JQVVnQlNnQ0FDSU9RUUZxTmdJQUlBNGdERG9BQUNBSVFRRnFJUWdnQzBFQmFpRUxEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBY0ZBMEFnQnlBR1FYOXFJZ1pKQkVBZ0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVMQ3lBRktBSUFDeUVGQlNBS0tBSUFLQUlnSVFZZ0NpQUFJQUlnQXlBR1FROXhRWW9DYWhFSkFCb2dCU0FESUFJZ0FHdHFJZ1UyQWdBTElBUWdCU0FESUFFZ0FHdHFJQUVnQWtZYk5nSUFJQWtRUnlBSkpBWUw3UUVCQlg4Z0FrR0FFSEVFUUNBQVFTczZBQUFnQUVFQmFpRUFDeUFDUVlBSWNRUkFJQUJCSXpvQUFDQUFRUUZxSVFBTElBSkJoQUp4SWdOQmhBSkdJZ1FFZjBFQUJTQUFRUzQ2QUFBZ0FFRXFPZ0FCSUFCQkFtb2hBRUVCQ3lFSElBSkJnSUFCY1NFQ0EwQWdBU3dBQUNJR0JFQWdBQ0FHT2dBQUlBRkJBV29oQVNBQVFRRnFJUUFNQVFzTElBQUNmd0pBQWtBZ0EwRUVheUlCQkVBZ0FVSDhBVVlFUUF3Q0JRd0RDd0FMSUFKQkNYWkIvd0Z4UWVZQWN3d0NDeUFDUVFsMlFmOEJjVUhsQUhNTUFRc2dBa0VKZGtIL0FYRWhBU0FCUWVFQWN5QUJRZWNBY3lBRUd3czZBQUFnQnd1ZUNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRa2dBeUFDYTBFTUVEa2lCMEhrQUVzRVFDQUhFRVFpQ1FSQUlBa2lEU0VTQlJBQUN3VWdDU0VOQ3lBQ0lRb2dEU0VKQTBBZ0F5QUtSd1JBSUFvc0FBc2lDRUVBU0FSL0lBb29BZ1FGSUFoQi93RnhDd1JBSUFsQkFUb0FBQVVnQ1VFQ09nQUFJQXhCQVdvaERDQUhRWDlxSVFjTElBcEJER29oQ2lBSlFRRnFJUWtNQVFzTElBd2hDU0FISVF3RFFBSkFJQUFvQWdBaUNBUi9JQWdvQWd3aUJ5QUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRb2dBU2dDQUNJSEJIOGdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQjBFQkJVRUFDd1ZCQUNFSFFRRUxJUk1nQUNnQ0FDRUxJQk1nQ25NZ0RFRUFSM0ZGRFFBZ0N5Z0NEQ0lISUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNoRHlBR1JRUkFJQVFnRHlBRUtBSUFLQUljUVQ5eFFZb0JhaEVDQUNFUEN5QVJRUUZxSVFzZ0FpRUlRUUFoQ2lBTklRNGdDU0VIQTBBZ0F5QUlSd1JBSUE0c0FBQkJBVVlFUUFKQUlBZ3NBQXRCQUVnRWZ5QUlLQUlBQlNBSUN5QVJRUUowYWlnQ0FDRUpJQVlFZnlBSkJTQUVJQWtnQkNnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FMSUE5SEJFQWdEa0VBT2dBQUlBeEJmMm9oREF3QkN5QUlMQUFMSWdsQkFFZ0VmeUFJS0FJRUJTQUpRZjhCY1FzZ0MwWUVRQ0FPUVFJNkFBQWdERUYvYWlFTUlBZEJBV29oQnd0QkFTRUtDd3NnQ0VFTWFpRUlJQTVCQVdvaERnd0JDd3NnQ2dSQUFrQWdBQ2dDQUNJSUtBSU1JZ2tnQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUpRUVJxTmdJTUlBa29BZ0FhQ3lBSElBeHFRUUZMQkVBZ0FpRUtJQTBoQ1FOQUlBTWdDa1lOQWlBSkxBQUFRUUpHQkVBZ0Npd0FDeUlJUVFCSUJIOGdDaWdDQkFVZ0NFSC9BWEVMSUF0SEJFQWdDVUVBT2dBQUlBZEJmMm9oQndzTElBcEJER29oQ2lBSlFRRnFJUWtNQUFBTEFBc0xDeUFMSVJFZ0J5RUpEQUVMQ3lBTEJIOGdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUFDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQUFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMENDd3dDQ3lBRURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEUUNBQ0lBTkdEUUVnRFN3QUFFRUNSd1JBSUFKQkRHb2hBaUFOUVFGcUlRME1BUXNMREFFTElBVWdCU2dDQUVFRWNqWUNBQ0FESVFJTElCSVFPQ0FRSkFZZ0FndXJDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWNnQXlBQ2EwRU1FRGtpQ1VIa0FFc0VRQ0FKRUVRaUJ3UkFJQWNpQ3lFU0JSQUFDd1VnQnlFTEN5QUNJUWNnQ3lFS0EwQWdBeUFIUndSQUlBY3NBQXNpREVFQVNBUi9JQWNvQWdRRklBeEIvd0Z4Q3dSQUlBcEJBVG9BQUFVZ0NrRUNPZ0FBSUFsQmYyb2hDU0FJUVFGcUlRZ0xJQWRCREdvaEJ5QUtRUUZxSVFvTUFRc0xJQWtoQ2lBSUlRa0RRQUpBSUFBb0FnQWlCd1IvSUFjb0Fnd2lDQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNDZnlBQktBSUFJZ2dFZnlBSUtBSU1JZ2NnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUWhCQVFWQkFBc0ZRUUFoQ0VFQkN5RVRJQUFvQWdBaEJ5QVRDM01nQ2tFQVIzRkZEUUFnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFaERpQUdSUVJBSUFRZ0RpQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FDRU9DeUFQUVFGcUlRd2dBaUVIUVFBaENDQUxJUTBEUUNBRElBZEhCRUFnRFN3QUFFRUJSZ1JBQWtBZ0J5d0FDMEVBU0FSL0lBY29BZ0FGSUFjTElBOXFMQUFBSVJFZ0RrSC9BWEVnQmdSL0lCRUZJQVFnRVNBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUF0Qi93RnhSd1JBSUExQkFEb0FBQ0FLUVg5cUlRb01BUXNnQnl3QUN5SUlRUUJJQkg4Z0J5Z0NCQVVnQ0VIL0FYRUxJQXhHQkVBZ0RVRUNPZ0FBSUFwQmYyb2hDaUFKUVFGcUlRa0xRUUVoQ0FzTElBZEJER29oQnlBTlFRRnFJUTBNQVFzTElBZ0VRQUpBSUFBb0FnQWlCeWdDRENJSUlBY29BaEJHQkVBZ0J5QUhLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQWNnQ0VFQmFqWUNEQ0FJTEFBQUVFSWFDeUFKSUFwcVFRRkxCRUFnQWlFSElBc2hDQU5BSUFNZ0IwWU5BaUFJTEFBQVFRSkdCRUFnQnl3QUN5SVBRUUJJQkg4Z0J5Z0NCQVVnRDBIL0FYRUxJQXhIQkVBZ0NFRUFPZ0FBSUFsQmYyb2hDUXNMSUFkQkRHb2hCeUFJUVFGcUlRZ01BQUFMQUFzTEN5QU1JUThNQVFzTElBY0VmeUFIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUFrQWdDRVVOQUNBSUtBSU1JZ1FnQ0NnQ0VFWUVmeUFJSUFnb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURmeUFDSUFOR0RRRWdDeXdBQUVFQ1JnUi9JQUlGSUFKQkRHb2hBaUFMUVFGcUlRc01BUXNMSVFNTUFRc2dCU0FGS0FJQVFRUnlOZ0lBQ3lBU0VEZ2dFQ1FHSUFNTGlRRUJBbjhnQUNnQ0JDSUJJQUVvQWdCQmRHb29BZ0JxSWdFb0FoZ0VRQ0FCS0FJUVJRUkFJQUVvQWdSQmdNQUFjUVJBSUFBb0FnUWlBU0FCS0FJQVFYUnFLQUlBYWlnQ0dDSUJLQUlBS0FJWUlRSWdBU0FDUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFvQWdRaUFDQUFLQUlBUVhScUtBSUFhaUlBSUFBb0FoQkJBWElRN2dFTEN3c0xDendBSUFCQkFEb0FBQ0FBSUFFMkFnUWdBU0FCS0FJQVFYUnFLQUlBYWlJQktBSVFSUVJBSUFFb0FrZ2lBUVJBSUFFUVB3c2dBRUVCT2dBQUN3c0tBQ0FBUVFScUVKMENDd29BSUFCQkNHb1FuUUlMQkFCQmZ3c0RBQUVMTXdBZ0FFR01qQUUyQWdBZ0FCRFFDeUFBUVJ4cUVEd2dBQ2dDSUJBNElBQW9BaVFRT0NBQUtBSXdFRGdnQUNnQ1BCQTRDMVVCQTM4Z0FDZ0NCQ0lHUVFoMUlRVWdCa0VCY1FSQUlBSW9BZ0FnQldvb0FnQWhCUXNnQUNnQ0FDSUFLQUlBS0FJWUlRY2dBQ0FCSUFJZ0JXb2dBMEVDSUFaQkFuRWJJQVFnQjBFL2NVR2FCbW9SQlFBTExnRUJmeU1HSVFJakJrRVFhaVFHSUFJZ0FUWUNBRUdraUFFb0FnQWlBU0FBSUFJUXBRSWFJQUVROGdRUUFBdDhBd0YvQVg0Q2ZDTUdJUU1qQmtHUUFXb2tCaUFEUVFCQmtBRVFSUm9nQXlBQU5nSUVJQU5CZnpZQ0NDQURJQUEyQWl3Z0EwRi9OZ0pNSUFOQ0FCQ0NBU0FESUFKQkFSQ1NBeUVHSUFNcEEzZ2dBeWdDQkNBREtBSUlhNng4SVFRZ0FRUkFJQUVnQUNBQUlBU25haUFFVUJzMkFnQUxJQU1rQmlBR0N3MEFJQUFnQVNBQ1FuOFFoQU1MM3dFQkJuOGpCaUVHSXdaQjhBRnFKQVlnQmlBQU5nSUFJQU5CQVVvRVFBSkFRUUFnQVdzaENTQURJUWRCQVNFRElBQWhCUU5BSUFVZ0FDQUphaUlBSUFkQmZtb2lDa0VDZENBRWFpZ0NBR3NpQ0NBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1JBSUFVZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2cwQ0N5QURRUUowSUFacUlRVWdBMEVCYWlFRElBZ2dBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUi9JQVVnQ0RZQ0FDQUlJUUFnQjBGL2FnVWdCU0FBTmdJQUlBb0xJZ2RCQVVvRVFDQUdLQUlBSVFVTUFRc0xDd1ZCQVNFREN5QUJJQVlnQXhEL0FpQUdKQVlMS1FFQ2Z5TUdJUVFqQmtFUWFpUUdJQVFnQXpZQ0FDQUFJQUVnQWlBRUVLa0JJUVVnQkNRR0lBVUw2aElDRkg4QmZpTUdJUThqQmtGQWF5UUdJQTlCS0dvaENpQVBRVEJxSVJnZ0QwRThhaUVXSUE5Qk9Hb2lEQ0FCTmdJQUlBQkJBRWNoRWlBUFFTaHFJaFVoRXlBUFFTZHFJUmRCQUNFQkFrQUNRQU5BQWtBRFFDQUpRWDlLQkVBZ0FVSC8vLy8vQnlBSmEwb0VmMEdreFFOQlBUWUNBRUYvQlNBQklBbHFDeUVKQ3lBTUtBSUFJZ3NzQUFBaUNFVU5BeUFMSVFFQ1FBSkFBMEFDUUFKQUlBaEJHSFJCR0hVaUNBUkFJQWhCSlVjTkFRd0VDd3dCQ3lBTUlBRkJBV29pQVRZQ0FDQUJMQUFBSVFnTUFRc0xEQUVMSUFFaENBTkFJQWdzQUFGQkpVY05BU0FCUVFGcUlRRWdEQ0FJUVFKcUlnZzJBZ0FnQ0N3QUFFRWxSZzBBQ3dzZ0FTQUxheUVCSUJJRVFDQUFJQXNnQVJCeUN5QUJEUUFMSUF3b0FnQXNBQUVRaWdGRklRZ2dEQ0FNS0FJQUlnRWdDQVIvUVg4aERVRUJCU0FCTEFBQ1FTUkdCSDhnQVN3QUFVRlFhaUVOUVFFaEJVRURCVUYvSVExQkFRc0xhaUlCTmdJQUlBRXNBQUFpQmtGZ2FpSUlRUjlMUVFFZ0NIUkJpZEVFY1VWeUJFQkJBQ0VJQlVFQUlRWURRQ0FHUVFFZ0NIUnlJUWdnRENBQlFRRnFJZ0UyQWdBZ0FTd0FBQ0lHUVdCcUlnZEJIMHRCQVNBSGRFR0owUVJ4UlhKRkJFQWdDQ0VHSUFjaENBd0JDd3NMSUFaQi93RnhRU3BHQkVBZ0RBSi9Ba0FnQVN3QUFSQ0tBVVVOQUNBTUtBSUFJZ2NzQUFKQkpFY05BQ0FITEFBQlFWQnFRUUowSUFScVFRbzJBZ0FnQnl3QUFVRlFha0VEZENBRGFpa0RBS2NoQVVFQklRWWdCMEVEYWd3QkN5QUZCRUJCZnlFSkRBTUxJQklFUUNBQ0tBSUFRUU5xUVh4eElnVW9BZ0FoQVNBQ0lBVkJCR28yQWdBRlFRQWhBUXRCQUNFR0lBd29BZ0JCQVdvTElnVTJBZ0JCQUNBQmF5QUJJQUZCQUVnaUFSc2hFQ0FJUVlEQUFISWdDQ0FCR3lFT0lBWWhDQVVnREJDTkF5SVFRUUJJQkVCQmZ5RUpEQUlMSUFnaERpQUZJUWdnRENnQ0FDRUZDeUFGTEFBQVFTNUdCRUFDUUNBRlFRRnFJUUVnQlN3QUFVRXFSd1JBSUF3Z0FUWUNBQ0FNRUkwRElRRWdEQ2dDQUNFRkRBRUxJQVVzQUFJUWlnRUVRQ0FNS0FJQUlnVXNBQU5CSkVZRVFDQUZMQUFDUVZCcVFRSjBJQVJxUVFvMkFnQWdCU3dBQWtGUWFrRURkQ0FEYWlrREFLY2hBU0FNSUFWQkJHb2lCVFlDQUF3Q0N3c2dDQVJBUVg4aENRd0RDeUFTQkVBZ0FpZ0NBRUVEYWtGOGNTSUZLQUlBSVFFZ0FpQUZRUVJxTmdJQUJVRUFJUUVMSUF3Z0RDZ0NBRUVDYWlJRk5nSUFDd1ZCZnlFQkMwRUFJUWNEUUNBRkxBQUFRYjkvYWtFNVN3UkFRWDhoQ1F3Q0N5QU1JQVZCQVdvaUJqWUNBQ0FGTEFBQUlBZEJPbXhxUVkvV0FHb3NBQUFpRVVIL0FYRWlCVUYvYWtFSVNRUkFJQVVoQnlBR0lRVU1BUXNMSUJGRkJFQkJmeUVKREFFTElBMUJmMG9oRkFKQUFrQWdFVUVUUmdSQUlCUUVRRUYvSVFrTUJBc0ZBa0FnRkFSQUlBMUJBblFnQkdvZ0JUWUNBQ0FLSUExQkEzUWdBMm9wQXdBM0F3QU1BUXNnRWtVRVFFRUFJUWtNQlFzZ0NpQUZJQUlRakFNZ0RDZ0NBQ0VHREFJTEN5QVNEUUJCQUNFQkRBRUxJQTVCLy85N2NTSU5JQTRnRGtHQXdBQnhHeUVGQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FHUVg5cUxBQUFJZ1pCWDNFZ0JpQUdRUTl4UVFOR0lBZEJBRWR4R3lJR1FjRUFhdzQ0Q1FvSENna0pDUW9LQ2dvS0Nnb0tDZ29LQ0FvS0Nnb0xDZ29LQ2dvS0Nnb0pDZ1VEQ1FrSkNnTUtDZ29LQUFJQkNnb0dDZ1FLQ2dzS0N3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwSC9BWEZCR0hSQkdIVU9DQUFCQWdNRUJ3VUdCd3NnQ2lnQ0FDQUpOZ0lBUVFBaEFRd1hDeUFLS0FJQUlBazJBZ0JCQUNFQkRCWUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCVUxJQW9vQWdBZ0NUc0JBRUVBSVFFTUZBc2dDaWdDQUNBSk9nQUFRUUFoQVF3VEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJJTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJFTFFRQWhBUXdRQzBINEFDRUdJQUZCQ0NBQlFRaExHeUVCSUFWQkNISWhCUXdKQzBFQUlRdEJrUDRDSVE0Z0FTQVRJQW9wQXdBZ0ZSQ0VCU0lIYXlJR1FRRnFJQVZCQ0hGRklBRWdCa3B5R3lFQkRBc0xJQW9wQXdBaUdVSUFVd1IvSUFwQ0FDQVpmU0laTndNQVFRRWhDMEdRL2dJRklBVkJnUkJ4UVFCSElRdEJrZjRDUVpMK0FrR1EvZ0lnQlVFQmNSc2dCVUdBRUhFYkN5RU9EQWdMUVFBaEMwR1EvZ0loRGlBS0tRTUFJUmtNQndzZ0Z5QUtLUU1BUEFBQUlCY2hCa0VBSVF0QmtQNENJUTVCQVNFSElBMGhCU0FUSVFFTUNnc2dDaWdDQUNJRlFacitBaUFGR3lJR1FRQWdBUkNtQWlJUlJTRVVRUUFoQzBHUS9nSWhEaUFCSUJFZ0Jtc2dGQnNoQnlBTklRVWdBU0FHYWlBUklCUWJJUUVNQ1FzZ0R5QUtLUU1BUGdJd0lBOUJBRFlDTkNBS0lCZzJBZ0JCZnlFTERBVUxJQUVFUUNBQklRc01CUVVnQUVFZ0lCQkJBQ0FGRUhWQkFDRUJEQWNMQUFzZ0FDQUtLd01BSUJBZ0FTQUZJQVpCaVFFUklnQWhBUXdIQ3lBTElRWkJBQ0VMUVpEK0FpRU9JQUVoQnlBVElRRU1CUXNnQ2lrREFDQVZJQVpCSUhFUWhRVWhCMEVBUVFJZ0JVRUljVVVnQ2lrREFGQnlJZzBiSVF0QmtQNENJQVpCQkhaQmtQNENhaUFOR3lFT0RBSUxJQmtnRlJDK0FTRUhEQUVMSUFvb0FnQWhCa0VBSVFFQ1FBSkFBMEFnQmlnQ0FDSUhCRUFnRmlBSEVJc0RJZ2RCQUVnaURTQUhJQXNnQVd0TGNnMENJQVpCQkdvaEJpQUxJQUVnQjJvaUFVc05BUXNMREFFTElBMEVRRUYvSVFrTUJnc0xJQUJCSUNBUUlBRWdCUkIxSUFFRVFDQUtLQUlBSVFaQkFDRUxBMEFnQmlnQ0FDSUhSUTBESUFzZ0ZpQUhFSXNESWdkcUlnc2dBVW9OQXlBR1FRUnFJUVlnQUNBV0lBY1FjaUFMSUFGSkRRQUxCVUVBSVFFTERBRUxJQWNnRlNBS0tRTUFRZ0JTSWcwZ0FVRUFSM0lpRVJzaEJpQUJJQk1nQjJzZ0RVRUJjMm9pQnlBQklBZEtHMEVBSUJFYklRY2dCVUgvLzN0eElBVWdBVUYvU2hzaEJTQVRJUUVNQVFzZ0FFRWdJQkFnQVNBRlFZREFBSE1RZFNBUUlBRWdFQ0FCU2hzaEFRd0JDeUFBUVNBZ0N5QUJJQVpySWcwZ0J5QUhJQTFJR3lJUmFpSUhJQkFnRUNBSFNCc2lBU0FISUFVUWRTQUFJQTRnQ3hCeUlBQkJNQ0FCSUFjZ0JVR0FnQVJ6RUhVZ0FFRXdJQkVnRFVFQUVIVWdBQ0FHSUEwUWNpQUFRU0FnQVNBSElBVkJnTUFBY3hCMUN5QUlJUVVNQVFzTERBRUxJQUJGQkVBZ0JRUi9RUUVoQUFOQUlBQkJBblFnQkdvb0FnQWlBUVJBSUFCQkEzUWdBMm9nQVNBQ0VJd0RJQUJCQVdvaUFFRUtTUTBCUVFFaENRd0VDd3NEZnlBQVFRSjBJQVJxS0FJQUJFQkJmeUVKREFRTElBQkJBV29pQUVFS1NRMEFRUUVMQlVFQUN5RUpDd3NnRHlRR0lBa0xDd0FnQUNBQklBSVFod1VML1FFQkEzOGdBVUgvQVhFaEJBSkFBa0FDUUNBQ1FRQkhJZ01nQUVFRGNVRUFSM0VFUUNBQlFmOEJjU0VGQTBBZ0JTQUFMUUFBUmcwQ0lBSkJmMm9pQWtFQVJ5SURJQUJCQVdvaUFFRURjVUVBUjNFTkFBc0xJQU5GRFFFTElBRkIvd0Z4SWdFZ0FDMEFBRVlFUUNBQ1JRMEJEQUlMSUFSQmdZS0VDR3doQXdKQUFrQWdBa0VEVFEwQUEwQWdBeUFBS0FJQWN5SUVRZi85KzNkcUlBUkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQWdBRUVFYWlFQUlBSkJmR29pQWtFRFN3MEJEQUlMQ3d3QkN5QUNSUTBCQ3dOQUlBQXRBQUFnQVVIL0FYRkdEUUlnQWtGL2FpSUNSUTBCSUFCQkFXb2hBQXdBQUFzQUMwRUFJUUFMSUFBTGp3RUJBbjhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FoUWdBQ2dDSEVzRVFDQUFLQUlrSVFFZ0FFRUFRUUFnQVVFL2NVSEtBV29SQkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBS0FJQUlnRkJCSEVFZnlBQUlBRkJJSEkyQWdCQmZ3VWdBQ0FBS0FJc0lBQW9BakJxSWdJMkFnZ2dBQ0FDTmdJRUlBRkJHM1JCSDNVTEM1RUJBUU4vQW44Q1FDQUFLQUlVSUFBb0FoeE5EUUFnQUNnQ0pDRUJJQUJCQUVFQUlBRkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQkJmd3dCQ3lBQUtBSUVJZ0VnQUNnQ0NDSUNTUVJBSUFBb0FpZ2hBeUFBSUFFZ0FtdXNRUUVnQTBFRGNVR21BMm9SRkFBYUN5QUFRUUEyQWhBZ0FFRUFOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFnZ2dBRUVBTmdJRVFRQUxDNGNCQVFGL0lBQUVRQUovSUFBb0FreEJmMHdFUUNBQUVLZ0NEQUVMSUFBUXFBSUxJUUFGUWJDSUFTZ0NBQVIvUWJDSUFTZ0NBQkNwQWdWQkFBc2hBQkNyQWlnQ0FDSUJCRUFEUUNBQktBSk1RWDlLQkg5QkFRVkJBQXNhSUFFb0FoUWdBU2dDSEVzRVFDQUJFS2dDSUFCeUlRQUxJQUVvQWpnaUFRMEFDd3RCcU1VREVBNExJQUFMK2dFQkEzOGdBVUgvQVhFaUFnUkFBa0FnQUVFRGNRUkFJQUZCL3dGeElRTURRQ0FBTEFBQUlnUkZJQU5CR0hSQkdIVWdCRVp5RFFJZ0FFRUJhaUlBUVFOeERRQUxDeUFDUVlHQ2hBaHNJUU1nQUNnQ0FDSUNRZi85KzNkcUlBSkJnSUdDaEhoeFFZQ0Jnb1I0YzNGRkJFQURRQ0FDSUFOeklnSkIvLzM3ZDJvZ0FrR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFRUVJxSWdBb0FnQWlBa0gvL2Z0M2FpQUNRWUNCZ29SNGNVR0FnWUtFZUhOeFJRMEJDd3NMSUFGQi93RnhJUUlEUUNBQVFRRnFJUUVnQUN3QUFDSURSU0FDUVJoMFFSaDFJQU5HY2tVRVFDQUJJUUFNQVFzTEN3VWdBQkJnSUFCcUlRQUxJQUFMREFCQnFNVURFQnBCc01VREN4OEFJQUJCLy84RGNRUi9RYVRGQXlBQVFmLy9BM0UyQWdCQmZ3VkJBQXNMOUFFQ0NYOEJmQ0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUkFBQUFBQUFBQUFBT1FNQUlBSW9BZ0FnQkVFRGRHb2hCU0FCS0FJQUlBdEJBM1JxSVFaQkFDRUhSQUFBQUFBQUFBQUFJUXdEUUNBSElBaElCRUFnQUNBTUlBWXJBd0FnQlNzREFLS2dJZ3c1QXdBZ0NVRURkQ0FGYWlFRklBWkJDR29oQmlBSFFRRnFJUWNNQVFzTElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBTkJBV29oQXd3QkJVRUFDd3NGUVg4TEJVRi9Dd1ZCZndzTDhnSUJBMzhnQUNnQ0JDRURJQUZCQVVzRVFDQUFLQUlBSWdKQkR6WUNGQ0FDSUFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFGSUFGQkFVWUVRQ0FES0FKRUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDUkNBREtBSklJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1NBc0xJQU5CUEdvZ0FVRUNkR29pQUNnQ0FDRUNJQUJCQURZQ0FDQUNCRUFEUUNBQ0tBSUFJUUFnQWlnQ0NDQUNLQUlFUVJCcWFpRUVJQUlRT0NBRElBTW9Ba3dnQkdzMkFrd2dBQVJBSUFBaEFnd0JDd3NMSUFOQk5Hb2dBVUVDZEdvaUFDZ0NBQ0VCSUFCQkFEWUNBQ0FCUlFSQUR3c0RRQ0FCS0FJQUlRQWdBU2dDQ0NBQktBSUVRUkJxYWlFQ0lBRVFPQ0FESUFNb0Frd2dBbXMyQWt3Z0FBUkFJQUFoQVF3QkN3c0w5QUVCQkg4Z0FDZ0NCQ0VFSUFKQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUVRnMkFoUWdBMEVETmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFCUVFGTEJFQWdBQ2dDQUNJRFFRODJBaFFnQXlBQk5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQ1FRZ2dBa0VIY1NJRGEwRUFJQU1iYWlJRFFSQnFJZ1VRUkNJQ1JRUkFJQUFvQWdBaUJrRTROZ0lVSUFaQkJEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JDQUZJQVFvQWt4cU5nSk1JQUlnQkVFOGFpQUJRUUowYWlJQUtBSUFOZ0lBSUFJZ0F6WUNCQ0FDUVFBMkFnZ2dBQ0FDTmdJQUlBSkJFR29MMmdrQkVYOGdBQ2dDNUFNb0FoZ2hEQ0FCS0FJRUlnZ2dBU2dDQUNJQ1RDQUJLQUlJSWdrZ0FTZ0NEQ0lLU25JZ0FTZ0NFQ0lHSUFFb0FoUWlCMHB5QkVBZ0FpRUFCUUpBSUFJaEFBTkFBa0FnQUVFQ2RDQU1haWdDQUNFTklBa2hBd05BSUFOQkJuUWdEV29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUtTQVJBSUFRaEF3d0JDd3NnQUVFQmFpRURJQUFnQ0VnRVFDQURJUUFNQWdVZ0FpRUFEQU1MQUFzTElBRWdBRFlDQUFzTElBZ2dBRXdnQ1NBS1NuSWdCaUFIU25KRkJFQUNRQ0FJSVFJRFFBSkFJQUpCQW5RZ0RHb29BZ0FoRFNBSklRTURRQ0FEUVFaMElBMXFJQVpCQVhScUlRVWdCaUVFQTBBZ0JTNEJBQTBDSUFWQkFtb2hCU0FFUVFGcUlRc2dCQ0FIU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NrZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaERpQUNJQUJNRFFJZ0RpRUNEQUVMQ3lBQklBSTJBZ1FnQWlFSUN3c2dDQ0FBU0NBS0lBbE1jaUFHSUFkS2NrVUVRQUpBSUFraEFnTkFBa0FnQUNFREEwQWdBMEVDZENBTWFpZ0NBQ0FDUVFaMGFpQUdRUUYwYWlFRklBWWhCQU5BSUFVdUFRQU5BaUFGUVFKcUlRVWdCRUVCYWlFTElBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVE4Z0FpQUtUZzBDSUE4aEFnd0JDd3NnQVNBQ05nSUlJQUloQ1FzTElBZ2dBRWdnQ2lBSlRISWdCaUFIU25KRkJFQUNRQ0FLSVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdBa0VHZEdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFJU0FSQUlBUWhBd3dCQ3dzZ0FrRi9haUVRSUFJZ0NVd05BaUFRSVFJTUFRc0xJQUVnQWpZQ0RDQUNJUW9MQ3lBSUlBQklJQWNnQmt4eUlBb2dDVWh5UlFSQUFrQWdCaUVDQTBBQ1FDQUFJUU1EUUNBRFFRSjBJQXhxS0FJQUlBa2lCRUVHZEdvZ0FrRUJkR29oQlFOQUlBVXVBUUFOQWlBRVFRRnFJUXNnQlVGQWF5RUZJQVFnQ2tnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlSRWdBaUFIVGcwQ0lCRWhBZ3dCQ3dzZ0FTQUNOZ0lRSUFJaEJnc0xJQWdnQUVnZ0J5QUdUSElnQ2lBSlNISkZCRUFDUUNBSElRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQ1NJRVFRWjBhaUFDUVFGMGFpRUZBMEFnQlM0QkFBMENJQVJCQVdvaEN5QUZRVUJySVFVZ0JDQUtTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ0VnRVFDQUVJUU1NQVFzTElBSkJmMm9oRWlBQ0lBWk1EUUlnRWlFQ0RBRUxDeUFCSUFJMkFoUWdBaUVIQ3dzZ0FTQUlJQUJyUVFSMElnSWdBbXdnQ2lBSmEwRU1iQ0lDSUFKc2FpQUhJQVpyUVFOMElnSWdBbXhxTmdJWUlBZ2dBRWdnQ2lBSlNISWdCeUFHU0hJRVFDQUJRUUEyQWh3UEMwRUFJUU1nQUNFQ0EwQWdBa0VDZENBTWFpZ0NBQ0VOSUFNaEFDQUpJUU1EUUNBRFFRWjBJQTFxSUFZaUJFRUJkR29oQlFOQUlBQWdCUzRCQUVFQVIyb2hBQ0FFUVFGcUlRc2dCVUVDYWlFRklBUWdCMGdFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFwSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVFRZ0FpQUlTQVJBSUFBaEF5QUVJUUlNQVFzTElBRWdBRFlDSEF1eEF3RUdmeUFBS0FJWUlnSW9BZ1FoQVNBQ0tBSUFJUVFDUUFOQUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNFUUFOQUlBQW9BdEFESWdNZ0F5Z0NHRUVCYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkJDQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY05BQXNMQTBBZ0FRUi9JQVFGSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMERJQUlvQWdRaEFTQUNLQUlBQ3lFRElBRkJmMm9oQVNBRFFRRnFJUVFnQXl3QUFDSUZRWDlHRFFBTElBQW9BdEFESWdZb0FoZ2hBeUFGUlFSQUlBWWdBMEVDYWpZQ0dDQUNJQVEyQWdBZ0FpQUJOZ0lFREFFTEN5QUZRZjhCY1NFRklBTUVRQ0FBS0FJQUlnWkI5d0EyQWhRZ0JpQUROZ0lZSUFBb0FnQWdCVFlDSENBQUtBSUFLQUlFSVFNZ0FFRi9JQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURRUUEyQWhnTElBQWdCVFlDdUFNZ0FpQUVOZ0lBSUFJZ0FUWUNCRUVCRHd0QkFBdTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRUjBJQUJxSVFVZ0JFRUVkQ0FBYWlFR0lBUkJCSFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRWRDQUNhaUFEUVFKMGFpQUZLZ0lBSUFOQkFuUWdBV29xQWdDVUlBWXFBZ1FnQVVFUWFpQURRUUowYWlvQ0FKU1NJQWNxQWdnZ0FVRWdhaUFEUVFKMGFpb0NBSlNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQVJCQkhRZ0FHb3FBZ3dnQXlvQ0RKSTRBZ3dnQkVFQmFpRUVEQUVMQ3d1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVGZENBQ2FpQURRUU4wYWlBRkt3TUFJQU5CQTNRZ0FXb3JBd0NpSUFZckF3Z2dBVUVnYWlBRFFRTjBhaXNEQUtLZ0lBY3JBeEFnQVVGQWF5QURRUU4wYWlzREFLS2dPUU1BSUFOQkFXb2hBd3dCQ3dzZ0JFRUZkQ0FDYWlJRElBUkJCWFFnQUdvckF4Z2dBeXNER0tBNUF4Z2dCRUVCYWlFRURBRUxDd3RVQVFKL0EwQWdBa0VEUndSQVFRQWhBUU5BSUFGQkJFY0VRQ0FDUVFWMFFZQ2tBMm9nQVVFRGRHb2dBa0VGZENBQWFpQUJRUU4wYWlzREFEa0RBQ0FCUVFGcUlRRU1BUXNMSUFKQkFXb2hBZ3dCQ3dzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUNRWXlIQVVITnR3SkJBU0FCRUFrZ0F3c2tCZ3NvQVFKL0FuOGpCaUVESXdaQkVHb2tCaUFBUVFOQndJY0JRYnpRQWtFZklBRVFDU0FEQ3lRR0MvMEZBUVovSXdZaENTTUdRU0JxSkFZZ0NVRVFhaUVJSUFKRkJFQWdDRUhBeUFOQnpwd0NFRGRCNzV3Q0VEZEI3NklDRURkQi93QVFQa0gyb2dJUU4wSGduUUlRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlHS0FJQUtBSWNJUWNnQmtFS0lBZEJQM0ZCaWdGcUVRSUFJUVlnQ0JBOElBVWdCaEJBSUFVUVB4QUFDeUFEUlFSQUlBaEJ3TWdEUWZXZEFoQTNRZStjQWhBM1FlK2lBaEEzUVlBQkVENUI5cUlDRURkQmw1NENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBdEJmeUFDU1FSQUlBaEJ3TWdEUWEyZUFoQTNRZStjQWhBM1FlK2lBaEEzUVlFQkVENUI5cUlDRURkQjBwNENFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCaWdDQUNnQ0hDRUhJQVpCQ2lBSFFUOXhRWW9CYWhFQ0FDRUdJQWdRUENBRklBWVFRQ0FGRUQ4UUFBc2dCRVVFUUNBSVFjRElBMEgvbmdJUU4wSHZuQUlRTjBIdm9nSVFOMEdDQVJBK1FmYWlBaEEzUWFPZkFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnWW9BZ0FvQWh3aEJ5QUdRUW9nQjBFL2NVR0tBV29SQWdBaEJpQUlFRHdnQlNBR0VFQWdCUkEvRUFBTElBbEJDR29oQlNBQUlBRVF1UU1nQWlBRWJHd2lCallDRENBRElBWnNJZ1lnQUNnQ0ZFY0VRQ0FHRUZFaEJ5QUpRUUEyQWdBZ0NDQUpLQUlBTmdJQUlBVWdCeENvQnlBRktBSUFJUWNnQlNBQUtBSVlOZ0lBSUFBZ0J6WUNHQ0FGS0FJRUlRY2dCU0FBS0FJY05nSUVJQUFnQnpZQ0hDQUZFSlVCSUFBb0FoaEZCRUFnQ0VIQXlBTkJ4WjhDRURkQjc1d0NFRGRCNzZJQ0VEZEJsUUVRUGtIMm9nSVFOMEhvbndJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFvZ0IwRUtJQXBCUDNGQmlnRnFFUUlBSVFjZ0NCQThJQVVnQnhCQUlBVVFQeEFBQ3dzZ0FDQUJOZ0lBSUFBZ0FqWUNCQ0FBSUFNMkFnZ2dBQ0FFTmdJUUlBQWdCallDRkNBSkpBWUxxUUVCQkg4Z0FBUi9BMEFnQVNBQUtBSUVTQVJBSUFBb0FnZ2dBVUVDZEdvb0FnQUVRQ0FBSUFFUTBBWUxJQUZCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUNnQ0RDQUNJQU5xSWdSQkFuUnFLQUlBRURnZ0FDZ0NGQ0FFUVFKMGFpZ0NBQkE0SUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QUFLQUlNRURnZ0FDZ0NGQkE0SUFBb0FnZ1FPQ0FBS0FJUUVEZ2dBQ2dDR0JBNElBQVFPRUVBQlVGL0N4b0xOQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBQ2dDQUNnQ0FCREdCeUFCS0FJQUVJWUJFSUVDSVFJZ0FSQ1ZBU0FCSkFZZ0FndjNBUUVCZnlBRVFRRkdJUWtnQ0VFQVJ5RUVBbjhnQXdSL0lBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVQMEtEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1ErZ3NGSUFBZ0FTQUNJQVVnQnhESEN3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUXRBa01Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4Q3lDZ1VnQUNBQklBSWdCU0FIRU9ZSkN3c0ZJQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFSW9IREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRbWdnRklBQWdBU0FDSUFVZ0J4RFpCd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1FrZ1VNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEMwQmdVZ0FDQUJJQUlnQlNBSEVOUUZDd3NMQ3d2R0F3SUlmd0YrSXdZaEJDTUdRVUJySkFZZ0JFRUlhaUVISUFSQk9Hb2hDaUFFUVRScUlRZ2dCRUVRYWlFR0lBSXNBR1FFUUNBRUlBQW9Ba3cyQWpBZ0JDQUNFTVVCS0FJQU5nSW9JQVFnQWhERkFTZ0NCRFlDSUNBSUlBUW9BakEyQWdBZ0NpQUVLQUlvTmdJQUlBY2dCQ2dDSURZQ0FDQUFRY2dBYWlBSUlBb2dCeERVQndVZ0JrRUFOZ0lBSUFaQkFEWUNCQ0FHUVFBMkFnZ2dBaUFHSUFFZ0F4RFRCd05BSUFVZ0JpZ0NCQ0FHS0FJQUlnSnJRUUoxU1FSQUlBQWdBU0FGUVFKMElBSnFLQUlBSUFNUXV3SWdCVUVCYWlFRkRBRUxDeUFBS0FKa0lBQW9BbWhJQkVBZ0FTZ0NBQ0lDSUFFb0FnUkhCRUFnQWlnQ0FDRUxJQUVvQWdRaUJTQUJLQUlBSWdscklnSkJDRW9FUUNBSElBa3BBZ0FpRERjREFDQUpJQVZCZUdvaUJTa0NBRGNDQUNBRklBdzNBZ0FnQkNBSk5nSXNJQVFnQlRZQ0pDQUVJQWsyQWh3Z0NDQUVLQUlzTmdJQUlBb2dCQ2dDSkRZQ0FDQUhJQVFvQWh3MkFnQWdDQ0FDUVFOMlFYOXFJQWNRdndNZ0FTZ0NCQ0VGQzBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFCSUFWQmVHbzJBZ1FnQUNBQUtBSmtRUUZxTmdKa0lBQWdBU0FMSUFNUXV3SUxDeUFHRUZVTElBUWtCZ3RrQVFKL0lBQkJBRWNnQVVFQVIzRUVmeUFBUVF4cVFRQkJnQWdRUlJvZ0FTQUFLQUlFSUFBb0FnaHNhaUVDQTM4Z0FTQUNTUVIvSUFCQkRHb2dBUzBBQUVFQ2RHb2lBeUFES0FJQVFRRnFOZ0lBSUFGQkFXb2hBUXdCQlVFQUN3c0ZRWDhMQzFrQkFYMGdBQ0FDS2dJSUlBSXFBZ0FnQTVRZ0Fpb0NCQ0FFbEpLU0lBSXFBaUFnQWlvQ0dDQURsQ0FDS2dJY0lBU1VrcElpQlpVNEFnQWdBU0FDS2dJVUlBSXFBZ3dnQTVRZ0Fpb0NFQ0FFbEpLU0lBV1ZPQUlBQ3pRQUlBQWdBU2tDQURjQ0FDQUFJQUVwQWdnM0FnZ2dBQ0FCS1FJUU53SVFJQUFnQVNrQ0dEY0NHQ0FBSUFFb0FpQTJBaUFMdUFJQ0JYOENmQ01HSVFjakJrRWdhaVFHSUFkQkNHb2hCaUFIUVJScUlnZ2dCRUVFZEJCRUlnbzJBZ0FnQ2tVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBZEJFR29oQmlBSUlBUkJHR3dRUkNJSk5nSUVJQWxGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQzBFQUlRWURRQ0FHSUFSSUJFQWdCa0VFZENBS2FpQUdRUVIwSUFKcUt3TUFPUU1BSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQ0RrRENDQUdRUmhzSUFscUlBWkJHR3dnQTJvckF3QTVBd0FnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01JT1FNSUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzREVEa0RFQ0FHUVFGcUlRWU1BUXNMSUFnZ0JEWUNDQ0FBS0FJQUlBZ2dBU0FGSUFjUTZnRkJBRWdFUUNBSFJBQUFBQUNFMTVkQk9RTUFDeUFJS0FJQUVEZ2dDQ2dDQkJBNElBY3JBd0FoRENBSEpBWWdEQXNIQUNBQVFUeHFDMlVCQkg4RFFDQUZJQUpJQkVBZ0F5QURLQUlBUWYySERXeEJ3NzJhQVdvaUJEWUNBQ0FFUVJCMlFmLy9BWEVnQVJCUFFRSjBJQUJxSVFRZ0JVRUNkQ0FBYWlJR0tBSUFJUWNnQmlBRUtBSUFOZ0lBSUFRZ0J6WUNBQ0FGUVFGcUlRVU1BUXNMQzUwQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93TWdBQ2dDQkNBQUtBSUFhMEVDZFVFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlnQ0NDQUJLQUlBTmdJQUlBSWdBaWdDQ0VFRWFqWUNDQ0FBSUFJUTVBRWdBaERIQVNBQ0pBWUxDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FvUWdnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xVd0VEZnlBQVFlZ0FhaUVEQTBBZ0FpQUFLQUpzSUFNb0FnQWlBV3RCQW5WSkJFQWdBa0VDZENBQmFpZ0NBQ0lCQkVBZ0FSREVBaUFCRURnTElBSkJBV29oQWd3QkN3c2dBRUgwQUdvUVZTQURFRlVMbHdFQkFuOGdBVUVCUmdSQVFRSWhBUVVnQVNBQlFYOXFjUVJBSUFFUTBRRWhBUXNMSUFFZ0FDZ0NCQ0lEU3dSQUlBQWdBUkRpQXdVZ0FTQURTUVJBSUFBb0FneXpJQUFxQWhDVmpSQ1NBU0VDSUFOQmYyb2dBM0ZGSUFOQkFrdHhCSDhnQWtFQlFTQWdBa0YvYW1kcmRDQUNRUUpKR3dVZ0FoRFJBUXNpQWlBQklBRWdBa2tiSWdFZ0Ewa0VRQ0FBSUFFUTRnTUxDd3NMRXdBZ0FFSHNoUUUyQWdBZ0FFRUVhaERTQWdzbEFDQUFRZHlGQVRZQ0FDQUFRVGhxRUZVZ0FFRXNhaEJWSUFCQklHb1FWU0FBRU1ZQ0N3MEFJQUFvQWdBZ0FVRUZkR29MM2dNQkEzOGpCaUVJSXdaQkVHb2tCaUFHUVFCS0JFQWdCa0VCYWlBRktBSUVTUVJBSUFkQmYyb2hDU0FIUVFCS0JFQWdCMEVCYWlJS0lBVW9BZ2hKQkVBZ0JTQUpFRkFnQmtFQ2RHb2hDU0FGSUFjUVVDQUdRUUowYWlFSElBVWdDaEJRSUFaQkFuUnFJUVVnQUNBSEtnSUVJQWRCZkdvaUFDb0NBSk5EQUFBQVA1UTRBZ0FnQVNBRktnSUFJQWtxQWdDVFF3QUFBRCtVT0FJQUlBSWdCeW9DQkNBQUtnSUFJQWNxQWdCREFBQUFRSlNUa2pnQ0FDQURJQVVxQWdBZ0NTb0NBQ0FIS2dJQVF3QUFBRUNVazVJNEFnQWdCQ0FKUVh4cUtnSUFJQVVxQWdTU0lBa3FBZ1FnQlVGOGFpb0NBSktUUXdBQWdENlVPQUlBSUFna0JnOExDeUFJUWNESUEwRzUyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2RBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSVFjRElBMEdCMkFFUU4wSE95d0VRTjBIdm9nSVFOMEdjQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTERRQWdBQ0FDbENBQklBR1Vrd3M2QVFKOVF3QUFnRDlCQVNBRWRMS1ZJZ1ZEQUFBQVA1UkRBQUFBdjVJaEJpQUFJQVVnQXBRZ0JwSTRBZ0FnQVNBRklBT1VJQWFTT0FJQUN6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZUdvaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFRGRXdEJBM1JxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVZ4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xsd0VCQkg4Z0FVRUVhaUlES0FJQUlRSWdBeUFBS0FJRUlBQW9BZ0FpQkdzaUJVRmNFRGxCSkd3Z0Ftb2lBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxjZ0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjZmo4VGhMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRU1JzRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCSkd3Z0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFTUnNJQVJxTmdJTUMwNEJBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJKQkE1SUFGSkJFQWdBaUFCSUFBb0FnUWdBMnRCSkJBNUlBQkJDR29RMEFJZ0FDQUNFTThDSUFJUXpnSUxJQUlrQmd0QUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV0JxSWdFUTNRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN6OEJBbjhnQUNnQ0FDSUNCRUFnQUNnQ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dGRBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUVYxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1FqQWtGSUFNZ0FVc0VRQ0FCUVFWMElBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJZR29pQVJEZEFRd0JDd3NnQUNBQ05nSUVDd3NMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRZFdxMWFvQlN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFTWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FReHNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVNYkNBRWFqWUNEQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFYOXFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMamdFQkJIOGdBVUVFYWlJREtBSUFJQUFvQWdRZ0FDZ0NBQ0lFYXlJRmF5RUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMUUFBZ0FFRUFOZ0lNSUFBZ0F6WUNFQ0FBSUFFRWZ5QUJFRkVGUVFBTElnTTJBZ0FnQUNBQ0lBTnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FTQURhallDREFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQzlRQ0FnWi9BbjBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUpJQVpCREdvaEN5QUdRUWhxSVFnZ0JrRUVhaUVLSUFRcUFnZ2hEQ0FFS2dJTUlRMGdCUUovQWtBQ1FBSkFJQUZGRFFBZ0FDQUJJQXdnRFNBSElBZ1E1UUZCQUVnTkFDQUZJQWNxQWdBUVF6WUNBQ0FGSUFncUFnQVFRellDQkNBQ1JRMEJJQUFnQWlBTUlBMGdDU0FLRU9VQlFRQklEUUVnQlNBSEtnSUFRd0FBQUVDVUlBa3FBZ0NURUVNMkFnZ2dCU0FJS2dJQVF3QUFBRUNVSUFvcUFnQ1RFRU0yQWd3Z0EwVU5BaUFBSUFNZ0RDQU5JQXNnQmhEbEFVRUFTQTBDSUFVZ0N5b0NBQ0FIS2dJQVF3QUFRRUNVSUFrcUFnQkRBQUJBUUpTVGtoQkROZ0lRSUFZcUFnQWdDQ29DQUVNQUFFQkFsQ0FLS2dJQVF3QUFRRUNVazVJUVF3d0RDeUFGUVg4MkFnQWdCVUYvTmdJRUN5QUZRWDgyQWdnZ0JVRi9OZ0lNQ3lBRlFYODJBaEJCZndzMkFoUWdCaVFHQzA0QkFuMGdBU29DQUNBQUtnSUFreUlFSUFTVUlBRXFBZ1FnQUNvQ0JKTWlCQ0FFbEpLUklnVkRBQUFBQUZ3RVFDQUNJQVFnQlpVNEFnQWdBeUFCS2dJQUlBQXFBZ0NUSUFXVk9BSUFDd3NHQUVFYUVBSUxwd0VCQW45QmJ5QUJheUFDU1FSQUVBQUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUVGSUFGQjUvLy8vd2RKQkg5QkN5QUJRUUYwSWdZZ0FTQUNhaUlDSUFJZ0Jra2JJZ0pCRUdwQmNIRWdBa0VMU1JzRlFXOExJZ1lRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ29BUXNnQXlBRWF5SURCRUFnQWlBRWFpQUVJQVZxSUFNUXFBRUxJQUZCQ2tjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUN6NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FTd0FDMEVBU0FSQUlBQWdBU2dDQUNBQktBSUVFSDRGSUFBZ0FTa0NBRGNDQUNBQUlBRW9BZ2cyQWdnTEN3UUFRUUVMQ2dBZ0FCQTRJQUVRT0FzTEFDQUVJQUkyQWdCQkF3c2ZBUUYvSUFBb0FnQWlBUVIvSUFFUU9DQUFRUUEyQWdCQkFBVkJmd3NhQzZNQkFRTi9RWWdCRUVRaUFRUkFBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQ1FRVjBJQUZxSUFOQkEzUnFJQUpCQlhRZ0FHb2dBMEVEZEdvckF3QTVBd0FnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBRkJDallDWUNBQlJBQUFBS0NabWJrL09RTm9JQUZFQUFBQWdCU3U3ejg1QTNBZ0FVUUFBQUFBQUFBUVFEa0RlQ0FCUkFBQUFBQUFBT0EvT1FPQUFRVkJBQ0VCQ3lBQkM3OEVBUUYvSUFBZ0JVWUVmeUFCTEFBQUJIOGdBVUVBT2dBQUlBUWdCQ2dDQUNJQVFRRnFOZ0lBSUFCQkxqb0FBQ0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzRVFDQUpLQUlBSWdBZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FMQzBFQUJVRi9Dd1VDZnlBQUlBWkdCRUFnQnlnQ0JDQUhMQUFMSWdWQi93RnhJQVZCQUVnYkJFQkJmeUFCTEFBQVJRMENHa0VBSUFrb0FnQWlBQ0FJYTBHZ0FVNE5BaG9nQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQWdDa0VBTmdJQVFRQU1BZ3NMSUF0QmdBRnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0Myb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFMYXlJQVFmd0FTZ1IvUVg4RklBQkJBblZCOE84QWFpd0FBQ0VGQWtBQ1FBSkFBa0FnQUVHb2Yyb2lCa0VDZGlBR1FSNTBjZzRFQVFFQUFBSUxJQVFvQWdBaUFDQURSd1JBUVg4Z0FFRi9haXdBQUVIZkFIRWdBaXdBQUVIL0FIRkhEUVVhQ3lBRUlBQkJBV28yQWdBZ0FDQUZPZ0FBUVFBTUJBc2dBa0hRQURvQUFBd0JDeUFGUWQ4QWNTSURJQUlzQUFCR0JFQWdBaUFEUVlBQmNqb0FBQ0FCTEFBQUJFQWdBVUVBT2dBQUlBY29BZ1FnQnl3QUN5SUJRZjhCY1NBQlFRQklHd1JBSUFrb0FnQWlBU0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRSWdDU0FCUVFScU5nSUFJQUVnQWpZQ0FBc0xDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQlRvQUFDQUFRZFFBVEFSQUlBb2dDaWdDQUVFQmFqWUNBQXRCQUFzTEN3dWtBUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdBUkE3SUFWQm9NNERFRG9pQVNnQ0FDZ0NNQ0VHSUFGQjhPOEFRWkR3QUNBQ0lBWkJEM0ZCaWdKcUVRa0FHaUFGUWFqT0F4QTZJZ0VvQWdBb0Fnd2hBaUFESUFFZ0FrSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDZ0NFQ0VDSUFRZ0FTQUNRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFVUVBDQUZKQVlMVWdJQ2Z3RjhJQUFvQWdRaUF5QUJLQUlFUndSQVFRQVFBUXNEUUNBQ0lBTklCRUFnQkNBQUtBSUFJQUpCQTNScUt3TUFJQUVvQWdBZ0FrRURkR29yQXdDaW9DRUVJQUpCQVdvaEFnd0JDd3NnQkFzM0FRSi9RUWdRUkNJQkJFQWdBU0FBUVFOMEVFUWlBallDQUNBQ0JFQWdBU0FBTmdJRUJTQUJFRGhCQUNFQkN3VkJBQ0VCQ3lBQkM5VUVBUUYvSUFCQi93RnhJQVZCL3dGeFJnUi9JQUVzQUFBRWZ5QUJRUUE2QUFBZ0JDQUVLQUlBSWdCQkFXbzJBZ0FnQUVFdU9nQUFJQWNvQWdRZ0J5d0FDeUlBUWY4QmNTQUFRUUJJR3dSQUlBa29BZ0FpQUNBSWEwR2dBVWdFUUNBS0tBSUFJUUVnQ1NBQVFRUnFOZ0lBSUFBZ0FUWUNBQXNMUVFBRlFYOExCUUovSUFCQi93RnhJQVpCL3dGeFJnUkFJQWNvQWdRZ0J5d0FDeUlGUWY4QmNTQUZRUUJJR3dSQVFYOGdBU3dBQUVVTkFocEJBQ0FKS0FJQUlnQWdDR3RCb0FGT0RRSWFJQW9vQWdBaEFTQUpJQUJCQkdvMkFnQWdBQ0FCTmdJQUlBcEJBRFlDQUVFQURBSUxDeUFMUVNCcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBRklBdHFJZ1V0QUFBZ0FFSC9BWEZHQkg4Z0JRVWdCaUVGREFJTEN3c2dDMnNpQlVFZlNnUi9RWDhGSUFWQjhPOEFhaXdBQUNFQUFrQUNRQUpBSUFWQkZtc09CQUVCQUFBQ0N5QUVLQUlBSWdFZ0EwY0VRRUYvSUFGQmYyb3NBQUJCM3dCeElBSXNBQUJCL3dCeFJ3MEVHZ3NnQkNBQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBREFNTElBSkIwQUE2QUFBZ0JDQUVLQUlBSWdGQkFXbzJBZ0FnQVNBQU9nQUFRUUFNQWdzZ0FFSGZBSEVpQXlBQ0xBQUFSZ1JBSUFJZ0EwR0FBWEk2QUFBZ0FTd0FBQVJBSUFGQkFEb0FBQ0FIS0FJRUlBY3NBQXNpQVVIL0FYRWdBVUVBU0JzRVFDQUpLQUlBSWdFZ0NHdEJvQUZJQkVBZ0NpZ0NBQ0VDSUFrZ0FVRUVhallDQUNBQklBSTJBZ0FMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0FEb0FBRUVBSUFWQkZVb05BUm9nQ2lBS0tBSUFRUUZxTmdJQVFRQUxDd3NMcEFFQkFuOGpCaUVGSXdaQkVHb2tCaUFGSUFFUU95QUZRWURPQXhBNklnRW9BZ0FvQWlBaEJpQUJRZkR2QUVHUThBQWdBaUFHUVE5eFFZb0NhaEVKQUJvZ0JVR1F6Z01RT2lJQktBSUFLQUlNSVFJZ0F5QUJJQUpCL3dCeFFRaHFFUUFBT2dBQUlBRW9BZ0FvQWhBaEFpQUVJQUVnQWtIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQUZFRHdnQlNRR0N3c0FJQUFRbVFJZ0FCQTRDd3NBSUFBUW1nSWdBQkE0Q3dzQUlBQVEwQVFnQUJBNEN3c0FJQUFRMWdRZ0FCQTRDeE1BSUFBZ0E2SWdBU0FFb3FBZ0FpQUZvcUFMVndFRGZ5QUFLQUlFSWdkQkNIVWhCaUFIUVFGeEJFQWdBeWdDQUNBR2FpZ0NBQ0VHQ3lBQUtBSUFJZ0FvQWdBb0FoUWhDQ0FBSUFFZ0FpQURJQVpxSUFSQkFpQUhRUUp4R3lBRklBaEJCM0ZCMmdacUVRd0FDeFFBSUFBZ0FLSWdBU0FCb3FBZ0FpQUNvcUNmQzZjQkFDQUFRUUU2QURVZ0FpQUFLQUlFUmdSQUFrQWdBRUVCT2dBMElBQW9BaEFpQWtVRVFDQUFJQUUyQWhBZ0FDQUROZ0lZSUFCQkFUWUNKQ0FBS0FJd1FRRkdJQU5CQVVaeFJRMEJJQUJCQVRvQU5nd0JDeUFCSUFKSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFUb0FOZ3dCQ3lBQUtBSVlJZ0ZCQWtZRVFDQUFJQU0yQWhnRklBRWhBd3NnQUNnQ01FRUJSaUFEUVFGR2NRUkFJQUJCQVRvQU5nc0xDd3NmQUNBQklBQW9BZ1JHQkVBZ0FDZ0NIRUVCUndSQUlBQWdBallDSEFzTEMxNEJBWDhnQUNnQ0VDSURCRUFDUUNBQklBTkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBallDR0NBQVFRRTZBRFlNQVFzZ0FDZ0NHRUVDUmdSQUlBQWdBallDR0FzTEJTQUFJQUUyQWhBZ0FDQUNOZ0lZSUFCQkFUWUNKQXNMNUFJQ0FuOENmU0FBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVILy8vL2pCRXNFUUNBQVE5b1B5YjlEMmcvSlB5QUNHeUFCUVlDQWdQd0hTeHNQQ3lBQlFZQ0FnUGNEU1FSQUlBRkJnSUNBekFOSkJIOGdBQThGUVg4TElRRUZJQUNMSVFBZ0FVR0FnT0Q4QTBrRWZTQUJRWUNBd1BrRFNRUjlRUUFoQVNBQVF3QUFBRUNVUXdBQWdMK1NJQUJEQUFBQVFKS1ZCVUVCSVFFZ0FFTUFBSUMva2lBQVF3QUFnRCtTbFFzRklBRkJnSUR3Z0FSSkJIMUJBaUVCSUFCREFBREF2NUlnQUVNQUFNQS9sRU1BQUlBL2twVUZRUU1oQVVNQUFJQy9JQUNWQ3dzaEFBc2dBQ0FBbENJRUlBU1VJUU1nQkNBRElBTkRKYXg4UFpSRERmVVJQcEtVUTZtcXFqNlNsQ0VFSUFORG1NcE12aUFEUTBjUzJqMlVrNVFoQXlBQlFRQklCSDBnQUNBQUlBTWdCSktVa3dVZ0FVRUNkRUhRN0FCcUtnSUFJQUFnQXlBRWtwUWdBVUVDZEVIZzdBQnFLZ0lBa3lBQWs1TWlBQ0FBakNBQ1JSc0xDL3dDQWdOL0FYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFUUNBQlFZQ0FnTXdEVHdSQUlBQzdFSkVCSVFBTEJRSjlJQUZCMHFmdGd3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGtsOXVBQkU4RVFFUVlMVVJVK3lFSlFFUVlMVVJVK3lFSndDQUNHeUFFb0pvUWtRRU1BZ3NnQWdSQUlBUkVHQzFFVlBzaCtUK2dFSkFCakF3Q0JTQUVSQmd0UkZUN0lmbS9vQkNRQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUM3SVFRZ0FVSGcyNytGQkU4RVFFUVlMVVJVK3lFWlFFUVlMVVJVK3lFWndDQUNHeUFFb0JDUkFRd0NDeUFDQkVBZ0JFVFNJVE4vZk5rU1FLQVFrQUVNQWdVZ0JFVFNJVE4vZk5rU3dLQVFrQUdNREFJTEFBc2dBQ0FBa3lBQlFmLy8vL3NIU3cwQUdnSkFBa0FDUUFKQUlBQWdBeEQ2QWtFRGNRNERBQUVDQXdzZ0F5c0RBQkNSQVF3REN5QURLd01BRUpBQkRBSUxJQU1yQXdDYUVKRUJEQUVMSUFNckF3QVFrQUdNQ3lFQUN5QURKQVlnQUF2L0FnTURmd0Y5QVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VmU0FCUVlDQWdNd0RTUVI5UXdBQWdEOEZJQUM3RUpBQkN3VUNmU0FCUWRLbjdZTUVTUVJBSUFKQkFFY2hBaUFBdXlFRklBRkI0NWZiZ0FSTEJFQkVHQzFFVlBzaENVQkVHQzFFVlBzaENjQWdBaHNnQmFBUWtBR01EQUlMSUFJRVFDQUZSQmd0UkZUN0lmay9vQkNSQVF3Q0JVUVlMVVJVK3lINVB5QUZvUkNSQVF3Q0N3QUxJQUZCMXVPSWh3UkpCRUFnQWtFQVJ5RUNJQUZCMzl1L2hRUkxCRUJFR0MxRVZQc2hHVUJFR0MxRVZQc2hHY0FnQWhzZ0FMdWdFSkFCREFJTElBSUVRQ0FBakx0RTBpRXpmM3paRXNDZ0VKRUJEQUlGSUFDN1JOSWhNMzk4MlJMQW9CQ1JBUXdDQ3dBTElBQWdBSk1nQVVILy8vLzdCMHNOQUJvQ1FBSkFBa0FDUUNBQUlBTVErZ0pCQTNFT0F3QUJBZ01MSUFNckF3QVFrQUVNQXdzZ0F5c0RBSm9Ra1FFTUFnc2dBeXNEQUJDUUFZd01BUXNnQXlzREFCQ1JBUXNMSVFRZ0F5UUdJQVFMZHdFQmZ3SkFBa0FnQUEwQVFjVEZBeWdDQUNJQURRQkJBQ0VBREFFTElBQVE5d1FnQUdvaUFDd0FBRVVFUUVIRXhRTkJBRFlDQUVFQUlRQU1BUXRCeE1VRElBQVE3UVFnQUdvaUFUWUNBQ0FCTEFBQUJFQkJ4TVVESUFGQkFXbzJBZ0FnQVVFQU9nQUFCVUhFeFFOQkFEWUNBQXNMSUFBTEtnRUJmaUFBS0FKTUdpQUFFTzhFSWdGQy8vLy8vd2RWQkg5QnBNVURRVDAyQWdCQmZ3VWdBYWNMQ3g0QUlBQW9Ba3dhSUFCQ0FFRUFFSWtESUFBZ0FDZ0NBRUZmY1RZQ0FBdndBUUlHZndKOEl3WWhBeU1HUVJCcUpBWWdBMEVJYWlFRUlBQzhJZ1ZCLy8vLy93ZHhJZ0pCMjUrazdnUkpCSDhnQUxzaUNFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lKRUhNaEJpQUJJQWdnQ1VRQUFBQlEreUg1UDZLaElBbEVZMklhWWJRUVVUNmlvVGtEQUNBR0JRSi9JQUpCLy8vLyt3ZExCRUFnQVNBQUlBQ1R1emtEQUVFQURBRUxJQVFnQWlBQ1FSZDJRZXArYWlJQ1FSZDBhNzY3T1FNQUlBUWdBeUFDUVFGQkFCRDdBaUVDSUFNckF3QWhDQ0FGUVFCSUJIOGdBU0FJbWprREFFRUFJQUpyQlNBQklBZzVBd0FnQWdzTEN5RUhJQU1rQmlBSEM0TVJBaFovQTN3akJpRU5Jd1pCc0FScUpBWWdEVUhBQW1vaER5QUVRUUowUWZEcEFHb29BZ0FoRGlBQ1FYMXFRUmdRT1NJRlFRQWdCVUVBU2hzaEVTQU9JQU5CZjJvaUIycEJBRTRFUUNBRElBNXFJUWtnRVNBSGF5RUZBMEFnQmtFRGRDQVBhaUFGUVFCSUJIeEVBQUFBQUFBQUFBQUZJQVZCQW5SQmdPb0FhaWdDQUxjTE9RTUFJQVZCQVdvaEJTQUdRUUZxSWdZZ0NVY05BQXNMSUExQjRBTnFJUXdnRFVHZ0FXb2hDaUFSUVdoc0loVWdBa0ZvYW1vaENTQURRUUJLSVFoQkFDRUZBMEFnQ0FSQUlBVWdCMm9oQzBRQUFBQUFBQUFBQUNFYlFRQWhCZ05BSUJzZ0JrRURkQ0FBYWlzREFDQUxJQVpyUVFOMElBOXFLd01Bb3FBaEd5QUdRUUZxSWdZZ0EwY05BQXNGUkFBQUFBQUFBQUFBSVJzTElBVkJBM1FnRFdvZ0d6a0RBQ0FGUVFGcUlRWWdCU0FPU0FSQUlBWWhCUXdCQ3dzZ0NVRUFTaUVTUVJnZ0NXc2hFMEVYSUFscklSWWdDVVVoRnlBRFFRQktJUmdnRGlFRkFrQUNRQU5BQWtBZ0JVRURkQ0FOYWlzREFDRWJJQVZCQUVvaUN3UkFJQVVoQmtFQUlRY0RRQ0FIUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWM3Y2lHMFFBQUFBQUFBQndRYUtoRUhNMkFnQWdCa0YvYWlJSVFRTjBJQTFxS3dNQUlCdWdJUnNnQjBFQmFpRUhJQVpCQVVvRVFDQUlJUVlNQVFzTEN5QWJJQWtRbndFaUd5QWJSQUFBQUFBQUFNQS9vcHhFQUFBQUFBQUFJRUNpb1NJYkVITWhCaUFiSUFhM29TRWJBa0FDUUFKQUlCSUVmeUFGUVg5cVFRSjBJQXhxSWdnb0FnQWlFQ0FUZFNFSElBZ2dFQ0FISUJOMGF5SUlOZ0lBSUFnZ0ZuVWhDQ0FHSUFkcUlRWU1BUVVnRndSL0lBVkJmMnBCQW5RZ0RHb29BZ0JCRjNVaENBd0NCU0FiUkFBQUFBQUFBT0EvWmdSL1FRSWhDQXdFQlVFQUN3c0xJUWdNQWdzZ0NFRUFTZzBBREFFTElBWWhHaUFMQkg5QkFDRUdRUUFoQ3dOL0lBdEJBblFnREdvaUdTZ0NBQ0VRQWtBQ1FDQUdCSDlCLy8vL0J5RVVEQUVGSUJBRWYwRUJJUVpCZ0lDQUNDRVVEQUlGUVFBTEN5RUdEQUVMSUJrZ0ZDQVFhellDQUFzZ0MwRUJhaUlMSUFWSERRQWdCZ3NGUVFBTElRc2dFZ1JBQWtBQ1FBSkFJQWxCQVdzT0FnQUJBZ3NnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0EzRTJBZ0FNQVFzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BWEUyQWdBTEN5QWFRUUZxSVFZZ0NFRUNSZ1JBUkFBQUFBQUFBUEEvSUJ1aElSc2dDd1JBSUJ0RUFBQUFBQUFBOEQ4Z0NSQ2ZBYUVoR3d0QkFpRUlDd3NnRzBRQUFBQUFBQUFBQUdJTkFpQUZJQTVLQkVCQkFDRUxJQVVoQndOQUlBc2dCMEYvYWlJSFFRSjBJQXhxS0FJQWNpRUxJQWNnRGtvTkFBc2dDdzBCQzBFQklRWURRQ0FHUVFGcUlRY2dEaUFHYTBFQ2RDQU1haWdDQUVVRVFDQUhJUVlNQVFzTElBVWdCbW9oQndOQUlBTWdCV29pQ0VFRGRDQVBhaUFGUVFGcUlnWWdFV3BCQW5SQmdPb0FhaWdDQUxjNUF3QWdHQVJBUkFBQUFBQUFBQUFBSVJ0QkFDRUZBMEFnR3lBRlFRTjBJQUJxS3dNQUlBZ2dCV3RCQTNRZ0Qyb3JBd0Npb0NFYklBVkJBV29pQlNBRFJ3MEFDd1ZFQUFBQUFBQUFBQUFoR3dzZ0JrRURkQ0FOYWlBYk9RTUFJQVlnQjBnRVFDQUdJUVVNQVFzTElBY2hCUXdCQ3dzZ0NTRUFBMzhnQUVGb2FpRUFJQVZCZjJvaUJVRUNkQ0FNYWlnQ0FFVU5BQ0FBSVFJZ0JRc2hBQXdCQ3lBYlFRQWdDV3NRbndFaUcwUUFBQUFBQUFCd1FXWUVmeUFGUVFKMElBeHFJQnNnRzBRQUFBQUFBQUJ3UHFJUWN5SUR0MFFBQUFBQUFBQndRYUtoRUhNMkFnQWdBaUFWYWlFQ0lBVkJBV29GSUFraEFpQWJFSE1oQXlBRkN5SUFRUUowSUF4cUlBTTJBZ0FMUkFBQUFBQUFBUEEvSUFJUW53RWhHeUFBUVg5S0lnY0VRQ0FBSVFJRFFDQUNRUU4wSUExcUlCc2dBa0VDZENBTWFpZ0NBTGVpT1FNQUlCdEVBQUFBQUFBQWNENmlJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTElBY0VRQ0FBSVFJRFFDQUFJQUpySVFsQkFDRURSQUFBQUFBQUFBQUFJUnNEUUNBYklBTkJBM1JCa093QWFpc0RBQ0FDSUFOcVFRTjBJQTFxS3dNQW9xQWhHeUFEUVFGcUlRVWdBeUFPVGlBRElBbFBja1VFUUNBRklRTU1BUXNMSUFsQkEzUWdDbW9nR3prREFDQUNRWDlxSVFNZ0FrRUFTZ1JBSUFNaEFnd0JDd3NMQ3dKQUFrQUNRQUpBSUFRT0JBQUJBUUlEQ3lBSEJFQkVBQUFBQUFBQUFBQWhHd05BSUJzZ0FFRURkQ0FLYWlzREFLQWhHeUFBUVg5cUlRSWdBRUVBU2dSQUlBSWhBQXdCQ3dzRlJBQUFBQUFBQUFBQUlSc0xJQUVnRzVvZ0d5QUlHemtEQUF3Q0N5QUhCRUJFQUFBQUFBQUFBQUFoR3lBQUlRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMQlVRQUFBQUFBQUFBQUNFYkN5QUJJQnNnRzVvZ0NFVWlCQnM1QXdBZ0Npc0RBQ0Fib1NFYklBQkJBVTRFUUVFQklRSURRQ0FiSUFKQkEzUWdDbW9yQXdDZ0lSc2dBa0VCYWlFRElBQWdBa2NFUUNBRElRSU1BUXNMQ3lBQklCc2dHNW9nQkJzNUF3Z01BUXNnQUVFQVNnUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdRckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUVJQnc1QXdBZ0FrRUJTZ1JBSUFNaEFpQWNJUnNNQVFzTElBQkJBVW9pQkFSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1VyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRklCdzVBd0FnQWtFQ1NnUkFJQU1oQWlBY0lSc01BUXNMSUFRRVFFUUFBQUFBQUFBQUFDRWJBMEFnR3lBQVFRTjBJQXBxS3dNQW9DRWJJQUJCZjJvaEFpQUFRUUpLQkVBZ0FpRUFEQUVMQ3dWRUFBQUFBQUFBQUFBaEd3c0ZSQUFBQUFBQUFBQUFJUnNMQlVRQUFBQUFBQUFBQUNFYkN5QUtLd01BSVJ3Z0NBUkFJQUVnSEpvNUF3QWdBU0FLS3dNSW1qa0RDQ0FCSUJ1YU9RTVFCU0FCSUJ3NUF3QWdBU0FLS3dNSU9RTUlJQUVnR3prREVBc0xJQTBrQmlBR1FRZHhDNEFKQXdoL0FYNEVmQ01HSVFRakJrRXdhaVFHSUFSQkVHb2hCU0FBdlNJS1FqK0lweUVHQW44Q1FDQUtRaUNJcHlJQ1FmLy8vLzhIY1NJRFFmdlV2WUFFU1FSL0lBSkIvLzgvY1VIN3d5UkdEUUVnQmtFQVJ5RUNJQU5CL2JLTGdBUkpCSDhnQWdSL0lBRWdBRVFBQUVCVSt5SDVQNkFpQUVReFkySWFZYlRRUGFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBEMmdPUU1JUVg4RklBRWdBRVFBQUVCVSt5SDV2NkFpQUVReFkySWFZYlRRdmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDBMMmdPUU1JUVFFTEJTQUNCSDhnQVNBQVJBQUFRRlQ3SVFsQW9DSUFSREZqWWhwaHRPQTlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRnUGFBNUF3aEJmZ1VnQVNBQVJBQUFRRlQ3SVFuQW9DSUFSREZqWWhwaHRPQzlvQ0lMT1FNQUlBRWdBQ0FMb1VReFkySWFZYlRndmFBNUF3aEJBZ3NMQlFKL0lBTkJ2SXp4Z0FSSkJFQWdBMEc5KzllQUJFa0VRQ0FEUWZ5eXk0QUVSZzBFSUFZRVFDQUJJQUJFQUFBd2YzelpFa0NnSWdCRXlwU1RwNUVPNlQyZ0lnczVBd0FnQVNBQUlBdWhSTXFVazZlUkR1azlvRGtEQ0VGOURBTUZJQUVnQUVRQUFEQi9mTmtTd0tBaUFFVEtsSk9ua1E3cHZhQWlDemtEQUNBQklBQWdDNkZFeXBTVHA1RU82YjJnT1FNSVFRTU1Bd3NBQlNBRFFmdkQ1SUFFUmcwRUlBWUVRQ0FCSUFCRUFBQkFWUHNoR1VDZ0lnQkVNV05pR21HMDhEMmdJZ3M1QXdBZ0FTQUFJQXVoUkRGallocGh0UEE5b0RrRENFRjhEQU1GSUFFZ0FFUUFBRUJVK3lFWndLQWlBRVF4WTJJYVliVHd2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwOEwyZ09RTUlRUVFNQXdzQUN3QUxJQU5CKzhQa2lRUkpEUUlnQTBILy83Ly9CMHNFUUNBQklBQWdBS0VpQURrRENDQUJJQUE1QXdCQkFBd0JDeUFLUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBc01FQWhMOGhBRUVBSVFJRFFDQUNRUU4wSUFWcUlBQVFjN2NpQ3prREFDQUFJQXVoUkFBQUFBQUFBSEJCb2lFQUlBSkJBV29pQWtFQ1J3MEFDeUFGSUFBNUF4QWdBRVFBQUFBQUFBQUFBR0VFUUVFQklRSURRQ0FDUVg5cUlRY2dBa0VEZENBRmFpc0RBRVFBQUFBQUFBQUFBR0VFUUNBSElRSU1BUXNMQlVFQ0lRSUxJQVVnQkNBRFFSUjJRZXAzYWlBQ1FRRnFRUUVRK3dJaEFpQUVLd01BSVFBZ0JnUi9JQUVnQUpvNUF3QWdBU0FFS3dNSW1qa0RDRUVBSUFKckJTQUJJQUE1QXdBZ0FTQUVLd01JT1FNSUlBSUxDd3NNQVFzZ0FFU0R5TWx0TUYva1A2SkVBQUFBQUFBQU9FT2dSQUFBQUFBQUFEakRvQ0lNRUhNaENDQUJJQUFnREVRQUFFQlUreUg1UDZLaElnc2dERVF4WTJJYVliVFFQYUlpQUtFaURUa0RBQ0FEUVJSMklnY2dEYjFDTklpblFmOFBjV3RCRUVvRVFDQU1SSE53QXk2S0dhTTdvaUFMSUFzZ0RFUUFBR0FhWWJUUVBhSWlBS0VpQzZFZ0FLR2hJUUFnQVNBTElBQ2hJZzA1QXdBZ0RFVEJTU0FsbW9ON09hSWdDeUFMSUF4RUFBQUFMb29ab3p1aUlnNmhJZ3loSUE2aG9TRU9JQWNnRGIxQ05JaW5RZjhQY1d0Qk1Vb0VRQ0FCSUF3Z0RxRWlEVGtEQUNBT0lRQWdEQ0VMQ3dzZ0FTQUxJQTJoSUFDaE9RTUlJQWdMSVFrZ0JDUUdJQWtMRmdBZ0FDQUJJQUpDZ0lDQWdJQ0FnSUNBZnhDRUF3dmxDZ0VTZnlBQktBSUFJUVVDZndKQUlBTkZEUUFnQXlnQ0FDSUVSUTBBSUFBRWZ5QURRUUEyQWdBZ0JDRU9JQUFoRHlBQ0lSQWdCU0VJUVRBRklBUWhDU0FGSVFjZ0FpRUxRUm9MREFFTElBQkJBRWNoQTBIb2lRRW9BZ0FvQWdBRVFDQURCRUFnQUNFU0lBSWhFU0FGSVF4QklRd0NCU0FDSVJNZ0JTRVVRUThNQWdzQUN5QURSUVJBSUFVUVlDRUtRVDhNQVFzZ0FnUkFBa0FnQUNFR0lBSWhCQ0FGSVFNRFFDQURMQUFBSWdVRVFDQURRUUZxSVFNZ0JpQUZRZisvQTNFMkFnQWdCRUYvYWlJRVJRMENJQVpCQkdvaEJnd0JDd3NnQmtFQU5nSUFJQUZCQURZQ0FDQUNJQVJySVFwQlB3d0NDd1VnQlNFREN5QUJJQU0yQWdBZ0FpRUtRVDhMSVFNRFFBSkFBa0FDUUFKQUlBTkJEMFlFUUNBVElRTWdGQ0VGQTBBZ0JTd0FBQ0lFUWY4QmNVRi9ha0gvQUVrRWZ5QUZRUU54Qkg4Z0JBVWdCU2dDQUNJR1FmOEJjU0VFSUFZZ0JrSC8vZnQzYW5KQmdJR0NoSGh4Qkg4Z0JBVURRQ0FEUVh4cUlRTWdCVUVFYWlJRktBSUFJZ1FnQkVILy9mdDNhbkpCZ0lHQ2hIaHhSUTBBQ3lBRVFmOEJjUXNMQlNBRUMwSC9BWEVpQkVGL2FrSC9BRWtFUUNBRFFYOXFJUU1nQlVFQmFpRUZEQUVMQ3lBRVFiNSthaUlFUVRKTEJFQWdCU0VFSUFBaEJnd0RCU0FFUVFKMFFkQTBhaWdDQUNFSklBVkJBV29oQnlBRElRdEJHaUVEREFZTEFBVWdBMEVhUmdSQUlBY3RBQUJCQTNZaUEwRndhaUFESUFsQkduVnFja0VIU3dSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3REJTQUhRUUZxSVFNZ0NVR0FnSUFRY1FSL0lBTXNBQUJCd0FGeFFZQUJSd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdGQ3lBSFFRSnFJUU1nQ1VHQWdDQnhCSDhnQXl3QUFFSEFBWEZCZ0FGSEJFQWdBQ0VESUFraEJpQUhJUVFnQ3lFRkRBWUxJQWRCQTJvRklBTUxCU0FEQ3lFVUlBdEJmMm9oRTBFUElRTU1Cd3NBQlNBRFFTRkdCRUFnRVFSQUFrQWdFaUVGSUJFaEF5QU1JUVFEUUFKQUFrQUNRQ0FFTFFBQUlnWkJmMm9pRFVIL0FFOE5BQ0FFUVFOeFJTQURRUVJMY1FSQUFuOENRQU5BSUFRb0FnQWlCaUFHUWYvOSszZHFja0dBZ1lLRWVIRU5BU0FGSUFaQi93RnhOZ0lBSUFVZ0JDMEFBVFlDQkNBRklBUXRBQUkyQWdnZ0JFRUVhaUVOSUFWQkVHb2hCaUFGSUFRdEFBTTJBZ3dnQTBGOGFpSURRUVJMQkVBZ0JpRUZJQTBoQkF3QkN3c2dCaUVGSUEwaUJDd0FBQXdCQ3lBR1FmOEJjUXRCL3dGeElnWkJmMm9oRFF3QkN3d0JDeUFOUWY4QVR3MEJDeUFFUVFGcUlRUWdCU0FHTmdJQUlBTkJmMm9pQTBVTkFpQUZRUVJxSVFVTUFRc0xJQVpCdm41cUlnWkJNa3NFUUNBRklRWU1Cd3NnQmtFQ2RFSFFOR29vQWdBaERpQUZJUThnQXlFUUlBUkJBV29oQ0VFd0lRTU1DUXNGSUF3aEJBc2dBU0FFTmdJQUlBSWhDa0UvSVFNTUJ3VWdBMEV3UmdSQUlBZ3RBQUFpQkVFRGRpSURRWEJxSUFNZ0RrRWFkV3B5UVFkTEJFQWdEeUVESUE0aEJpQUlJUVFnRUNFRkRBVUZBa0FnQ0VFQmFpRUZJQVJCZ0g5cUlBNUJCblJ5SWdOQkFFZ0VRQUpBSUFVdEFBQkJnSDlxSWdSQlAwMEVRQ0FJUVFKcUlRVWdCQ0FEUVFaMGNpSURRUUJPQkVBZ0JTRU1EQUlMSUFVdEFBQkJnSDlxSWdWQlAwMEVRQ0FJUVFOcUlRd2dCU0FEUVFaMGNpRUREQUlMQzBHa3hRTkJHVFlDQUNBSVFYOXFJUlVNQWdzRklBVWhEQXNnRHlBRE5nSUFJQTlCQkdvaEVpQVFRWDlxSVJGQklTRUREQW9MQ3dVZ0EwRS9SZ1JBSUFvUEN3c0xDd3NNQXdzZ0JFRi9haUVFSUFZTkFTQURJUVlnQlNFREN5QUVMQUFBQkg4Z0JnVWdCZ1JBSUFaQkFEWUNBQ0FCUVFBMkFnQUxJQUlnQTJzaENrRS9JUU1NQXdzaEF3dEJwTVVEUVJrMkFnQWdBd1IvSUFRRlFYOGhDa0UvSVFNTUFnc2hGUXNnQVNBVk5nSUFRWDhoQ2tFL0lRTU1BQUFMQUF1a0FRRUZmeU1HSVFVakJrR0FBbW9rQmlBRklRTWdBa0VDVGdSQUFrQWdBa0VDZENBQmFpSUhJQU0yQWdBZ0FBUkFBMEFnQXlBQktBSUFJQUJCZ0FJZ0FFR0FBa2tiSWdRUVRCcEJBQ0VEQTBBZ0EwRUNkQ0FCYWlJR0tBSUFJQU5CQVdvaUEwRUNkQ0FCYWlnQ0FDQUVFRXdhSUFZZ0JpZ0NBQ0FFYWpZQ0FDQUNJQU5IRFFBTElBQWdCR3NpQUVVTkFpQUhLQUlBSVFNTUFBQUxBQXNMQ3lBRkpBWUxPUUVDZnlBQUJFQWdBRUVCY1VVRVFBTkFJQUZCQVdvaEFTQUFRUUYySVFJZ0FFRUNjVVVFUUNBQ0lRQU1BUXNMQ3dWQklDRUJDeUFCQ3lrQkFYOGdBQ2dDQUVGL2FoQ0FBeUlCQkg4Z0FRVWdBQ2dDQkJDQUF5SUFRU0JxUVFBZ0FCc0xDNXNFQVFkL0l3WWhCaU1HUWRBQmFpUUdJQVpCd0FGcUlnUkNBVGNEQUNBQklBSnNJZ2tFUUFKQVFRQWdBbXNoQ0NBR0lBSTJBZ1FnQmlBQ05nSUFRUUloQnlBQ0lnVWhBUU5BSUFkQkFuUWdCbW9nQWlBRmFpQUJhaUlLTmdJQUlBZEJBV29oQnlBS0lBbEpCRUFnQVNFRklBb2hBUXdCQ3dzZ0FDQUphaUFJYWlJQklBQkxCSDhnQVNFSFFRRWhBVUVCSVFVRGZ5QUZRUU54UVFOR0JIOGdBQ0FDSUFNZ0FTQUdFS0lDSUFSQkFoRHlBU0FCUVFKcUJTQUJRWDlxSWdWQkFuUWdCbW9vQWdBZ0J5QUFhMGtFUUNBQUlBSWdBeUFCSUFZUW9nSUZJQUFnQWlBRElBUWdBVUVBSUFZUThRRUxJQUZCQVVZRWZ5QUVRUUVROEFGQkFBVWdCQ0FGRVBBQlFRRUxDeUVCSUFRZ0JDZ0NBRUVCY2lJRk5nSUFJQUFnQW1vaUFDQUhTUTBBSUFFTEJVRUJJUVZCQVFzaEJ5QUFJQUlnQXlBRUlBZEJBQ0FHRVBFQklBQWhBU0FISVFBRFFBSi9Ba0FnQUVFQlJpQUZRUUZHY1FSL0lBUW9BZ1JGRFFRTUFRVWdBRUVDU0EwQklBUkJBaER3QVNBRUlBUW9BZ0JCQjNNMkFnQWdCRUVCRVBJQklBRWdBRUYrYWlJRlFRSjBJQVpxS0FJQWF5QUlhaUFDSUFNZ0JDQUFRWDlxUVFFZ0JoRHhBU0FFUVFFUThBRWdCQ0FFS0FJQVFRRnlJZ2MyQWdBZ0FTQUlhaUlCSUFJZ0F5QUVJQVZCQVNBR0VQRUJJQVVoQUNBSEN3d0JDeUFFSUFRUWdRTWlCUkR5QVNBQklBaHFJUUVnQUNBRmFpRUFJQVFvQWdBTElRVU1BQUFMQUFzTElBWWtCZ3NYQUNBQUVJb0JRUUJISUFCQklISkJuMzlxUVFaSmNndDlBZ0YvQVg0akJpRUVJd1pCa0FGcUpBWWdCRUVBTmdJQUlBUWdBRFlDQkNBRUlBQTJBaXdnQkVGL0lBQkIvLy8vL3dkcUlBQkJBRWdiTmdJSUlBUkJmellDVENBRVFnQVFnZ0VnQkNBQ1FRRWdBeENUQXlFRklBRUVRQ0FCSUFBZ0JDZ0NCQ0FFS1FONHAyb2dCQ2dDQ0d0cU5nSUFDeUFFSkFZZ0JRdmZCUUVKZnlNR0lRVWpCa0dRQW1va0JpQUJMQUFBUlFSQUFrQkJ4djRDRUEwaUFRUkFJQUVzQUFBTkFRc2dBRUVNYkVHZzZRQnFFQTBpQVFSQUlBRXNBQUFOQVF0QnpmNENFQTBpQVFSQUlBRXNBQUFOQVF0QjB2NENJUUVMQ3lBRlFZQUNhaUVHQTM4Q2Z5QUNJQUVnQW1vc0FBQWlBMEVBSUFOQkwwY2JSUTBBR2lBQ1FRRnFJZ0pCRDBrTkFVRVBDd3NoQXdKQUFrQUNRQ0FCTEFBQUlnSkJMa1lFUUVIUy9nSWhBUVVnQVNBRGFpd0FBQVJBUWRMK0FpRUJCU0FDUWNNQVJ3MENDd3NnQVN3QUFVVU5BUXNnQVVIUy9nSVFzd0ZGRFFBZ0FVSGEvZ0lRc3dGRkRRQkJ1TVVES0FJQUlnSUVRQU5BSUFFZ0FrRUlhaEN6QVVVTkF5QUNLQUlZSWdJTkFBc0xRYnpGQXhBYVFiakZBeWdDQUNJQ0JFQUNRQU5BSUFFZ0FrRUlhaEN6QVFSQUlBSW9BaGdpQWtVTkFnd0JDd3RCdk1VREVBNE1Bd3NMQW44Q1FFSHN4QU1vQWdBTkFFSGcvZ0lRRFNJQ1JRMEFJQUlzQUFCRkRRQkIvZ0VnQTJzaENTQURRUUZxSVFvRFFBSkFJQUpCT2hDcUFpSUhMQUFBSWdSQkFFZEJIM1JCSDNVZ0J5QUNhMm9pQ0NBSlNRUi9JQVVnQWlBSUVFd2FJQVVnQ0dvaUFrRXZPZ0FBSUFKQkFXb2dBU0FERUV3YUlBVWdDQ0FLYW1wQkFEb0FBQ0FGSUFZUU5TSUVEUUVnQnl3QUFBVWdCQXNoQWlBSElBSkIvd0Z4UVFCSGFpSUNMQUFBRFFFTUFnc0xRUndRUkNJQ0JIOGdBaUFFTmdJQUlBSWdCaWdDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FDQUNCU0FFSUFZb0FnQVEvQVFNQVFzTUFRdEJIQkJFSWdJRVFDQUNRZkNIQVNnQ0FEWUNBQ0FDUWZTSEFTZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUFzZ0Fnc2hBVUc4eFFNUURpQUJRZkNIQVNBQUlBRnlHeUVDREFFTElBQkZCRUFnQVN3QUFVRXVSZ1JBUWZDSEFTRUNEQUlMQzBFQUlRSUxJQVVrQmlBQ0N4Y0FJQUJCQUVjZ0FFSE14QU5IY1NBQVFZeUlBVWR4Q3c0QUlBQVFoZ01FUUNBQUVEZ0xDeDhCQW44Z0FCQmdRUUZxSWdFUVJDSUNCSDhnQWlBQUlBRVFUQVZCQUFzTG5nRUFJQUpCQVVZRVFDQUJJQUFvQWdnZ0FDZ0NCR3VzZlNFQkN3SkFBa0FnQUNnQ0ZDQUFLQUljVFEwQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFBS0FJVURRQU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUJJQUlnQUNnQ0tFRURjVUdtQTJvUkZBQkNBRk1FZjBGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NBRUZ2Y1RZQ0FFRUFDeG9MQzVFQkFnRi9BbjRDUUFKQUlBQzlJZ05DTklnaUJLZEIvdzl4SWdJRVFDQUNRZjhQUmdSQURBTUZEQUlMQUFzZ0FTQUFSQUFBQUFBQUFBQUFZZ1IvSUFCRUFBQUFBQUFBOEVPaUlBRVFpZ01oQUNBQktBSUFRVUJxQlVFQUN6WUNBQXdCQ3lBQklBU25RZjhQY1VHQ2VHbzJBZ0FnQTBMLy8vLy8vLy8vaDRCL2cwS0FnSUNBZ0lDQThEK0V2eUVBQ3lBQUN4RUFJQUFFZnlBQUlBRVFuZ0VGUVFBTEM3NERBd0YvQVg0QmZDQUJRUlJOQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCQ1dzT0NnQUJBZ01FQlFZSENBa0tDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRE5nSUFEQWtMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3NOd01BREFnTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU90TndNQURBY0xJQUlvQWdCQkIycEJlSEVpQVNrREFDRUVJQUlnQVVFSWFqWUNBQ0FBSUFRM0F3QU1CZ3NnQWlnQ0FFRURha0Y4Y1NJQktBSUFJUU1nQWlBQlFRUnFOZ0lBSUFBZ0EwSC8vd054UVJCMFFSQjFyRGNEQUF3RkN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWYvL0EzR3ROd01BREFRTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU5CL3dGeFFSaDBRUmgxckRjREFBd0RDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmOEJjYTAzQXdBTUFnc2dBaWdDQUVFSGFrRjRjU0lCS3dNQUlRVWdBaUFCUVFocU5nSUFJQUFnQlRrREFBd0JDeUFBSUFKQjZRVVJBd0FMQ3d0QUFRSi9JQUFvQWdBc0FBQVFpZ0VFUUFOQUlBQW9BZ0FpQWl3QUFDQUJRUXBzUVZCcWFpRUJJQUFnQWtFQmFqWUNBQ0FDTEFBQkVJb0JEUUFMQ3lBQkN3a0FJQUFnQVJDZkFRc0pBQ0FBSUFFUWpnVUxJZ0FnQUwxQy8vLy8vLy8vLy8vL0FJTWdBYjFDZ0lDQWdJQ0FnSUNBZjRPRXZ3dmdBd0lEZndGK0FuNENRQUpBQWtBQ1FDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRU3RyRGdNQUFRQUJDeUFDUVMxR0lRUWdBVUVBUnlBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lJRFFWQnFJZ0pCQ1V0eEJINGdBQ2dDYUFSK0lBQWdBQ2dDQkVGL2FqWUNCQXdFQlVLQWdJQ0FnSUNBZ0lCL0N3VWdBeUVCREFJTERBTUxJQUlpQVVGUWFpRUNDeUFDUVFsTERRQkJBQ0VDQTBBZ0FVRlFhaUFDUVFwc2FpRUNJQUpCekptejVnQklJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUEwRUtTWEVOQUFzZ0Fxd2hCU0FEUVFwSkJFQURRQ0FCckVKUWZDQUZRZ3ArZkNFRklBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQWtFS1NTQUZRcTZQaGRmSHd1dWpBVk54RFFBTElBSkJDa2tFUUFOQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTFFWQnFRUXBKRFFBTEN3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUNBRmZTQUZJQVFiREFFTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRb0NBZ0lDQWdJQ0FnSDhMQzhrSEFRVi9BbndDUUFKQUFrQUNRQUpBSUFFT0F3QUJBZ01MUWV0K0lRUkJHQ0VGREFNTFFjNTNJUVJCTlNFRkRBSUxRYzUzSVFSQk5TRUZEQUVMUkFBQUFBQUFBQUFBREFFTEEwQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBUkN5QVEwQUN3SkFBa0FDUUNBQlFTdHJEZ01BQVFBQkMwRUJJQUZCTFVaQkFYUnJJUVlnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVF3QkMwRUJJUVlMQWtBQ1FBSkFBMzhnQTBIKy9RSnFMQUFBSUFGQklISkdCSDhnQTBFSFNRUkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUVMSUFOQkFXb2lBMEVJU1EwQlFRZ0ZJQU1MQ3lJRFFmLy8vLzhIY1VFRGF3NEdBUUFBQUFBQ0FBc2dBa0VBUnlJSElBTkJBMHR4QkVBZ0EwRUlSZzBDREFFTElBTkZCRUFDUUVFQUlRTURmeUFEUWJ6K0Ftb3NBQUFnQVVFZ2NrY05BU0FEUVFKSkJFQWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXNnQTBFQmFpSURRUU5KRFFCQkF3c2hBd3NMQWtBQ1FBSkFJQU1PQkFFQ0FnQUNDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEVvUndSQUl3RWdBQ2dDYUVVTkJSb2dBQ0FBS0FJRVFYOXFOZ0lFSXdFTUJRdEJBU0VCQTBCQkFDQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUNRVkJxUVFwSklBSkJ2MzlxUVJwSmNrVWdBa0hmQUVZZ0FrR2ZmMnBCR2tseUcwVUVRQ0FCUVFGcUlRRU1BUXNMSXdFZ0FrRXBSZzBFR2lBQUtBSm9SU0lDUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQjBVRVFFR2t4UU5CSERZQ0FDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJRc2pBU0FCUlEwRUdnTkFJQUpGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeU1CSUFGQmYyb2lBVVVOQlJvTUFBQUxBQXNnQUNBQlFUQkdCSDhnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXRCSUhKQitBQkdCRUFnQUNBRklBUWdCaUFDRUpBRkRBVUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUVRBRklBRUxJQVVnQkNBR0lBSVFqd1VNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdEJwTVVEUVJ3MkFnQWdBRUlBRUlJQlJBQUFBQUFBQUFBQURBSUxJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNRUUJISUFOQkEwdHhCRUFEUUNBQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0EwRi9haUlEUVFOTERRQUxDd3NnQnJJakFyYVV1d3NMdmdzQ0JYOEZmaUFCUVNSTEJFQkJwTVVEUVJ3MkFnQkNBQ0VEQlFKQUEwQWdBQ2dDQkNJRUlBQW9BbWhKQkg4Z0FDQUVRUUZxTmdJRUlBUXRBQUFGSUFBUVZBc2lCQkN5QVEwQUN3SkFBa0FnQkVFcmF3NERBQUVBQVFzZ0JFRXRSa0VmZEVFZmRTRUhJQUFvQWdRaUJDQUFLQUpvU1FSL0lBQWdCRUVCYWpZQ0JDQUVMUUFBQlNBQUVGUUxJUVFNQUFzZ0FVVWhCUUpBQWtBQ1FDQUJRUkJ5UVJCR0lBUkJNRVp4QkVBQ1FDQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUVRU0J5UWZnQVJ3UkFJQVVFUUNBRUlRSkJDQ0VCREFRRklBUWhBZ3dDQ3dBTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJ3ZFFBYWkwQUFFRVBTZ1JBSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUlFSQUlBQkNBQkNDQVVJQUlRTU1Cd3NnQVFSQVFnQWhBd3dIQ3lBQUlBQW9BZ1JCZjJvMkFnUkNBQ0VEREFZRklBRWhBa0VRSVFFTUF3c0FDd1ZCQ2lBQklBVWJJZ0VnQkVIQjFBQnFMUUFBU3dSL0lBUUZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFCQ0FCQ0NBVUdreFFOQkhEWUNBRUlBSVFNTUJRc2hBZ3NnQVVFS1J3MEFJQUpCVUdvaUFrRUtTUVJBUVFBaEFRTkFJQUZCQ213Z0Ftb2hBU0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlFUVZCcUlnSkJDa2tnQVVHWnMrYk1BVWx4RFFBTElBR3RJUWtnQWtFS1NRUkFJQVFoQVFOQUlBbENDbjRpQ2lBQ3JDSUxRbitGVmdSQVFRb2hBZ3dGQ3lBS0lBdDhJUWtnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVVGUWFpSUNRUXBKSUFsQ21yUG16Sm16NXN3WlZIRU5BQXNnQWtFSlRRUkFRUW9oQWd3RUN3c0xEQUlMSUFFZ0FVRi9hbkZGQkVBZ0FVRVhiRUVGZGtFSGNVR0gvZ0pxTEFBQUlRWWdBU0FDUWNIVUFHb3NBQUFpQ0VIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0JDQUdkQ0FDY2lJRVFZQ0FnTUFBU1NBQklBQW9BZ1FpQWlBQUtBSm9TUVIvSUFBZ0FrRUJhallDQkNBQ0xRQUFCU0FBRUZRTElnVkJ3ZFFBYWl3QUFDSUlRZjhCY1NJQ1MzRU5BQXNnQkswaENTQUZJUVFnQWlFRkJTQUNJUVFMSUFnaEFpQUJJQVZOUW44Z0JxMGlDb2dpQ3lBSlZISUVRQ0FCSVFJZ0JDRUJEQUlMQTBBZ0FTQUFLQUlFSWdRZ0FDZ0NhRWtFZnlBQUlBUkJBV28yQWdRZ0JDMEFBQVVnQUJCVUN5SUZRY0hVQUdvc0FBQWlCRUgvQVhGTklBSkIvd0Z4clNBSklBcUdoQ0lKSUF0V2NnUkFJQUVoQWlBRklRRU1Bd1VnQkNFQ0RBRUxBQUFMQUFzZ0FTQUNRY0hVQUdvc0FBQWlCa0gvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQVNBRWJDQUNhaUlFUWNmajhUaEpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQlVIQjFBQnFMQUFBSWdaQi93RnhJZ0pMY1EwQUN5QUVyU0VKSUFVaEJDQUNJUVVGSUFJaEJBc2dCaUVDSUFHdElRb2dBU0FGU3dSL1FuOGdDaEQyQVNFTEEzOGdDU0FMVmdSQUlBRWhBaUFFSVFFTUF3c2dDU0FLZmlJTUlBSkIvd0Z4clNJTlFuK0ZWZ1JBSUFFaEFpQUVJUUVNQXdzZ0RDQU5mQ0VKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJFSEIxQUJxTEFBQUlnSkIvd0Z4U3cwQUlBRWhBaUFFQ3dVZ0FTRUNJQVFMSVFFTElBSWdBVUhCMUFCcUxRQUFTd1JBQTBBZ0FpQUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwSEIxQUJxTFFBQVN3MEFDMEdreFFOQnhBQTJBZ0FnQjBFQUlBTkNBWU5RR3lFSElBTWhDUXNMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBa2dBMW9FUUNBSFFRQkhJQU5DQVlOQ0FGSnlSUVJBUWFURkEwSEVBRFlDQUNBRFFuOThJUU1NQWdzZ0NTQURWZ1JBUWFURkEwSEVBRFlDQUF3Q0N3c2dDU0FIckNJRGhTQURmU0VEQ3dzZ0F3dFNBQ0FBQkVBQ1FBSkFBa0FDUUFKQUFrQWdBVUYrYXc0R0FBRUNBd1VFQlFzZ0FDQUNQQUFBREFRTElBQWdBajBCQUF3REN5QUFJQUkrQWdBTUFnc2dBQ0FDUGdJQURBRUxJQUFnQWpjREFBc0xDMGNCQW44akJpRURJd1pCa0FGcUpBWWdBMEVBUVpBQkVFVWFJQU5CSXpZQ0lDQURJQUEyQWl3Z0EwRi9OZ0pNSUFNZ0FEWUNWQ0FESUFFZ0FoQ1VCU0VFSUFNa0JpQUVDNXdDQVFkL0lBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hwQi93RWhCU0FBSVFRQ1FBSkFBMEFDUUNBQktBSUlJQUVvQWdRaUFpSUdheUVESUFKQkNpQURFS1lDSWdoRklRY2dCQ0FDSUFNZ0NFRUJJQVpyYWlBSEd5SUNJQVVnQWlBRlNSc2lBeEJNR2lBQklBTWdBU2dDQkdvaUJqWUNCQ0FESUFScUlRSWdCeUFGSUFOcklnVkJBRWR4UlFSQUlBSWhCQXdEQ3lBR0lBRW9BZ2hKQkg4Z0FTQUdRUUZxTmdJRUlBWXRBQUFGSUFFUTlRRWlCRUVBU0EwQklBUUxJUU1nQWtFQmFpRUVJQUlnQXpvQUFDQUZRWDlxSWdWRklBTkIvd0Z4UVFwR2NrVU5BUXdDQ3dzZ0FDQUNSZ1IvUVFBRklBRW9BZ0JCRUhFRWZ5QUNJUVFNQWdWQkFBc0xJUUFNQVFzZ0FBUkFJQVJCQURvQUFBVkJBQ0VBQ3dzZ0FBdndBUUVEZndKQUFrQWdBaWdDRUNJRERRQWdBaENZQXdSL1FRQUZJQUlvQWhBaEF3d0JDeUVFREFFTElBTWdBaWdDRkNJRWF5QUJTUVJBSUFJb0FpUWhBeUFDSUFBZ0FTQURRVDl4UWNvQmFoRUVBQ0VFREFFTElBRkZJQUlzQUV0QkFFaHlCRUJCQUNFREJRSkFJQUVoQXdOQUlBQWdBMEYvYWlJRmFpd0FBRUVLUndSQUlBVUVRQ0FGSVFNTUFnVkJBQ0VEREFNTEFBc0xJQUlvQWlRaEJDQUNJQUFnQXlBRVFUOXhRY29CYWhFRUFDSUVJQU5KRFFJZ0FDQURhaUVBSUFFZ0Eyc2hBU0FDS0FJVUlRUUxDeUFFSUFBZ0FSQk1HaUFDSUFFZ0FpZ0NGR28yQWhRZ0FTQURhaUVFQ3lBRUMyRUJBWDhnQUNBQUxBQktJZ0VnQVVIL0FXcHlPZ0JLSUFBb0FnQWlBVUVJY1FSL0lBQWdBVUVnY2pZQ0FFRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDTENJQk5nSWNJQUFnQVRZQ0ZDQUFJQUVnQUNnQ01HbzJBaEJCQUFzTGpBRUJBMzhqQmlFQkl3WkJFR29rQmlBQlFRbzZBQUFDUUFKQUlBQW9BaEFpQWcwQUlBQVFtQU5GQkVBZ0FDZ0NFQ0VDREFFTERBRUxJQUFvQWhRaUF5QUNTUVJBSUFBc0FFdEJDa2NFUUNBQUlBTkJBV28yQWhRZ0EwRUtPZ0FBREFJTEN5QUFJQUZCQVNBQUtBSWtRVDl4UWNvQmFoRUVBRUVCUmdSL0lBRXRBQUFGUVg4TEdnc2dBU1FHQ3h3QUlBQkJnR0JMQkg5QnBNVURRUUFnQUdzMkFnQkJmd1VnQUFzTEVRQkJCRUVCUWVpSkFTZ0NBQ2dDQUJzTDdBRUNDWDhCZlNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVF3QUFBQUE0QWdBZ0FpZ0NBQ0FFUVFKMGFpRUZJQUVvQWdBZ0MwRUNkR29oQmtFQUlRZERBQUFBQUNFTUEwQWdCeUFJU0FSQUlBQWdEQ0FHS2dJQUlBVXFBZ0NVa2lJTU9BSUFJQWxCQW5RZ0JXb2hCU0FHUVFScUlRWWdCMEVCYWlFSERBRUxDeUFFUVFGcUlRUWdBRUVFYWlFQURBRUxDeUFEUVFGcUlRTU1BUVZCQUFzTEJVRi9Dd1ZCZndzRlFYOExDMGdCQVg4Z0FDZ0NCQ0lCUlFSQUR3c2dBU2dDSkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBSVFCRUFnQUVISUFUWUNGQ0FBUVFBMkFyZ0NCU0FBUWVRQU5nSVVDd3N5QVFGL0lBQW9BZ1FpQVFSQUlBRW9BaWdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVFQU5nSUVJQUJCQURZQ0ZBc2dBQ0FBS0FJQUlnRkJNellDRkNBQUlBRW9BZ0JCL3dGeFFhd0RhaEVCQUFzeUFRRi9JQUFvQWdnZ0FDZ0NCQkNMQVNJQkJFQWdBU0FBRVBFRVFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXVDQkFFSmZ5QUFLQUxrQXlJRklBQW9BbGhCQVVZaUFqWUNIQ0FBS0FJRUtBSUlJUUVnQlNBQVFRRkIvZ1ZCZ0FJZ0Foc2dBQ2dDZUNBQlFROXhRWW9DYWhFSkFDSUVOZ0lZSUFVb0FoUWhBU0FBS0FKNFFRQk1CRUFQQ3lBQ1JRUkFBMEFnQVNBRlFTQnFJQU5CQW5ScUtBSUFJZ0lRT1NFSElBTkJBblFnQkdvb0FnQWhCa0VBSVFFZ0FrSCtBV29nQWtGL2FpSUlRUUYwSWdrUU9TRUVRUUFoQWdOQUlBSWdCRW9FUUFOQUlBSWdDQ0FCUVFGcUlnRkJBWFJCQVhKQi93RnNhaUFKRURraUJFb05BQXNMSUFJZ0Jtb2dBU0FIYkRvQUFDQUNRUUZxSWdKQmdBSkhEUUFMSUFOQkFXb2lBeUFBS0FKNFNBUkFJQWNoQVNBRktBSVlJUVFNQVFzTER3dEJBQ0VDQTBBZ0FTQUZRU0JxSUFKQkFuUnFLQUlBSWdNUU9TRUhJQUpCQW5RZ0JHb2lBU0FCS0FJQVFmOEJhallDQUNBRktBSVlJQUpCQW5ScUtBSUFJUVpCQUNFQklBTkIvZ0ZxSUFOQmYyb2lDRUVCZENJSkVEa2hCRUVBSVFNRFFDQURJQVJLQkVBRFFDQURJQWdnQVVFQmFpSUJRUUYwUVFGeVFmOEJiR29nQ1JBNUlnUktEUUFMQ3lBRElBWnFJQUVnQjJ3NkFBQWdBMEVCYWlJRFFZQUNSdzBBQzBFQklRRURRQ0FHSUFGcklBWXNBQUE2QUFBZ0JpQUJRZjhCYW1vZ0Jpd0Evd0U2QUFBZ0FVRUJhaUlCUVlBQ1J3MEFDeUFDUVFGcUlnSWdBQ2dDZUVnRVFDQUhJUUVnQlNnQ0dDRUVEQUVMQ3d2akh3RWRmeU1HSVJjakJrR0FDMm9rQmlBWFFZQURhaUVFSUJkQmdBRnFJUmtnQUNnQzVBTW9BaGdoR2lBQlFRSjJRUVYwSWdWQkJISWlGQ0FGUVJ4eUlneHFRUUYxSVE0Z0FrRURka0VGZENJRlFRSnlJaFVnQlVFZWNpSVBha0VCZFNFUUlBTkJBblpCQlhRaUJVRUVjaUlXSUFWQkhISWlFV3BCQVhVaEVpQUFLQUtFQVNJTFFRQktCSDhnQUNnQ2lBRWlCU2dDQUNFS0lBVW9BZ1FoQ1NBRktBSUlJUmhCLy8vLy93Y2hCd05BSUJRZ0NDQUthaTBBQUNJRlNnUi9JQVVnREd0QkFYUWlCaUFHYkNFTklBVWdGR3RCQVhRaUJTQUZiQVVDZnlBTUlBVklCRUFnQlNBVWEwRUJkQ0lHSUFac0lRMGdCU0FNYTBFQmRDSUZJQVZzREFFTElBNGdCVWdFUUNBRklCUnJRUUYwSWdVZ0JXd2hEUVVnQlNBTWEwRUJkQ0lGSUFWc0lRMExRUUFMQ3lFRklCVWdDQ0FKYWkwQUFDSUdTZ1IvSUFVZ0JpQVZhMEVEYkNJRklBVnNhaUVGSUFZZ0QydEJBMndpQmlBR2JBVUNmeUFQSUFaSUJFQWdCU0FHSUE5clFRTnNJZ1VnQld4cUlRVWdCaUFWYTBFRGJDSUdJQVpzREFFTElCQWdCa2dFZnlBR0lCVnJRUU5zSWdZZ0Jtd0ZJQVlnRDJ0QkEyd2lCaUFHYkFzTEN5RVRJQllnQ0NBWWFpMEFBQ0lHU2dSL0lBVWdCaUFXYXlJRklBVnNhaUVGSUFZZ0VXc2lCaUFHYkFVQ2Z5QVJJQVpJQkVBZ0JTQUdJQkZySWdVZ0JXeHFJUVVnQmlBV2F5SUdJQVpzREFFTElCSWdCa2dFZnlBR0lCWnJJZ1lnQm13RklBWWdFV3NpQmlBR2JBc0xDeUVHSUFoQkFuUWdCR29nQlRZQ0FDQU5JQk5xSUFacUlnVWdCeUFGSUFkSUd5RUhJQXNnQ0VFQmFpSUlSdzBBQzBFQUlRVkJBQ0VJQTM4Z0NFRUNkQ0FFYWlnQ0FDQUhUQVJBSUFVZ0dXb2dDRG9BQUNBRlFRRnFJUVVMSUFzZ0NFRUJhaUlJUncwQUlBVUxCVUVBQ3lFVElCY2hDQ0FFUWYvLy8vOEhOZ0lBSUFSQi8vLy8vd2MyQWdRZ0JFSC8vLy8vQnpZQ0NDQUVRZi8vLy84SE5nSU1JQVJCLy8vLy93YzJBaEFnQkVILy8vLy9CellDRkNBRVFmLy8vLzhITmdJWUlBUkIvLy8vL3djMkFod2dCRUgvLy8vL0J6WUNJQ0FFUWYvLy8vOEhOZ0lrSUFSQi8vLy8vd2MyQWlnZ0JFSC8vLy8vQnpZQ0xDQUVRZi8vLy84SE5nSXdJQVJCLy8vLy93YzJBalFnQkVILy8vLy9CellDT0NBRVFmLy8vLzhITmdJOElBUkJRR3RCLy8vLy93YzJBZ0FnQkVILy8vLy9CellDUkNBRVFmLy8vLzhITmdKSUlBUkIvLy8vL3djMkFrd2dCRUgvLy8vL0J6WUNVQ0FFUWYvLy8vOEhOZ0pVSUFSQi8vLy8vd2MyQWxnZ0JFSC8vLy8vQnpZQ1hDQUVRZi8vLy84SE5nSmdJQVJCLy8vLy93YzJBbVFnQkVILy8vLy9CellDYUNBRVFmLy8vLzhITmdKc0lBUkIvLy8vL3djMkFuQWdCRUgvLy8vL0J6WUNkQ0FFUWYvLy8vOEhOZ0o0SUFSQi8vLy8vd2MyQW53Z0JFSC8vLy8vQnpZQ2dBRWdCRUgvLy8vL0J6WUNoQUVnQkVILy8vLy9CellDaUFFZ0JFSC8vLy8vQnpZQ2pBRWdCRUgvLy8vL0J6WUNrQUVnQkVILy8vLy9CellDbEFFZ0JFSC8vLy8vQnpZQ21BRWdCRUgvLy8vL0J6WUNuQUVnQkVILy8vLy9CellDb0FFZ0JFSC8vLy8vQnpZQ3BBRWdCRUgvLy8vL0J6WUNxQUVnQkVILy8vLy9CellDckFFZ0JFSC8vLy8vQnpZQ3NBRWdCRUgvLy8vL0J6WUN0QUVnQkVILy8vLy9CellDdUFFZ0JFSC8vLy8vQnpZQ3ZBRWdCRUgvLy8vL0J6WUN3QUVnQkVILy8vLy9CellDeEFFZ0JFSC8vLy8vQnpZQ3lBRWdCRUgvLy8vL0J6WUN6QUVnQkVILy8vLy9CellDMEFFZ0JFSC8vLy8vQnpZQzFBRWdCRUgvLy8vL0J6WUMyQUVnQkVILy8vLy9CellDM0FFZ0JFSC8vLy8vQnpZQzRBRWdCRUgvLy8vL0J6WUM1QUVnQkVILy8vLy9CellDNkFFZ0JFSC8vLy8vQnpZQzdBRWdCRUgvLy8vL0J6WUM4QUVnQkVILy8vLy9CellDOUFFZ0JFSC8vLy8vQnpZQytBRWdCRUgvLy8vL0J6WUMvQUVnQkVILy8vLy9CellDZ0FJZ0JFSC8vLy8vQnpZQ2hBSWdCRUgvLy8vL0J6WUNpQUlnQkVILy8vLy9CellDakFJZ0JFSC8vLy8vQnpZQ2tBSWdCRUgvLy8vL0J6WUNsQUlnQkVILy8vLy9CellDbUFJZ0JFSC8vLy8vQnpZQ25BSWdCRUgvLy8vL0J6WUNvQUlnQkVILy8vLy9CellDcEFJZ0JFSC8vLy8vQnpZQ3FBSWdCRUgvLy8vL0J6WUNyQUlnQkVILy8vLy9CellDc0FJZ0JFSC8vLy8vQnpZQ3RBSWdCRUgvLy8vL0J6WUN1QUlnQkVILy8vLy9CellDdkFJZ0JFSC8vLy8vQnpZQ3dBSWdCRUgvLy8vL0J6WUN4QUlnQkVILy8vLy9CellDeUFJZ0JFSC8vLy8vQnpZQ3pBSWdCRUgvLy8vL0J6WUMwQUlnQkVILy8vLy9CellDMUFJZ0JFSC8vLy8vQnpZQzJBSWdCRUgvLy8vL0J6WUMzQUlnQkVILy8vLy9CellDNEFJZ0JFSC8vLy8vQnpZQzVBSWdCRUgvLy8vL0J6WUM2QUlnQkVILy8vLy9CellDN0FJZ0JFSC8vLy8vQnpZQzhBSWdCRUgvLy8vL0J6WUM5QUlnQkVILy8vLy9CellDK0FJZ0JFSC8vLy8vQnpZQy9BSWdCRUgvLy8vL0J6WUNnQU1nQkVILy8vLy9CellDaEFNZ0JFSC8vLy8vQnpZQ2lBTWdCRUgvLy8vL0J6WUNqQU1nQkVILy8vLy9CellDa0FNZ0JFSC8vLy8vQnpZQ2xBTWdCRUgvLy8vL0J6WUNtQU1nQkVILy8vLy9CellDbkFNZ0JFSC8vLy8vQnpZQ29BTWdCRUgvLy8vL0J6WUNwQU1nQkVILy8vLy9CellDcUFNZ0JFSC8vLy8vQnpZQ3JBTWdCRUgvLy8vL0J6WUNzQU1nQkVILy8vLy9CellDdEFNZ0JFSC8vLy8vQnpZQ3VBTWdCRUgvLy8vL0J6WUN2QU1nQkVILy8vLy9CellDd0FNZ0JFSC8vLy8vQnpZQ3hBTWdCRUgvLy8vL0J6WUN5QU1nQkVILy8vLy9CellDekFNZ0JFSC8vLy8vQnpZQzBBTWdCRUgvLy8vL0J6WUMxQU1nQkVILy8vLy9CellDMkFNZ0JFSC8vLy8vQnpZQzNBTWdCRUgvLy8vL0J6WUM0QU1nQkVILy8vLy9CellDNUFNZ0JFSC8vLy8vQnpZQzZBTWdCRUgvLy8vL0J6WUM3QU1nQkVILy8vLy9CellDOEFNZ0JFSC8vLy8vQnpZQzlBTWdCRUgvLy8vL0J6WUMrQU1nQkVILy8vLy9CellDL0FNZ0UwRUFTZ1JBUVFBaER3TkFJQlFnRHlBWmFpd0FBQ0lMUWY4QmNTSUhJQUFvQW9nQklnWW9BZ0JxTFFBQWF5SU5RUUYwSVF3Z0ZTQUhJQVlvQWdScUxRQUFheUlGUVFOc0lRb2dCVUhJQUd3aUJVR1FBV29oR0NBV0lBY2dCaWdDQ0dvdEFBQnJJZ2RCQkhRaUJrRkFheUVPSUFaQndBRnFJUkFnQmtIQUFtb2hFaUFGUWJBRGFpRWJJQVZCMEFWcUlSd2dCVUh3QjJvaEhTQUZRWkFLYWlFZUlBVkJzQXhxSVI4Z0JVSFFEbW9oSUVFRElSRWdEVUVHZEVHQUFtb2hEU0FNSUF4c0lBb2dDbXhxSUFjZ0IyeHFJUXdnQ0NFSElBUWhCUU5BSUF3Z0JTZ0NBRWdFUUNBRklBdzJBZ0FnQnlBTE9nQUFDeUFNSUE1cUlnb2dCU0lHS0FJRVNBUkFJQVlnQ2pZQ0JDQUhJQXM2QUFFTElBb2dFR29pQ2lBR0tBSUlTQVJBSUFZZ0NqWUNDQ0FISUFzNkFBSUxJQW9nRW1vaUNpQUdLQUlNU0FSQUlBWWdDallDRENBSElBczZBQU1MSUF3Z0dHb2lDaUFGS0FJUVNBUkFJQVVnQ2pZQ0VDQUhJQXM2QUFRTElBb2dEbW9pQ1NBR0tBSVVTQVJBSUFVZ0NUWUNGQ0FISUFzNkFBVUxJQWtnRUdvaUNTQUZLQUlZU0FSQUlBVWdDVFlDR0NBSElBczZBQVlMSUFrZ0Vtb2lDU0FGS0FJY1NBUkFJQVVnQ1RZQ0hDQUhJQXM2QUFjTElBb2dHMm9pQ2lBR0tBSWdTQVJBSUFZZ0NqWUNJQ0FISUFzNkFBZ0xJQW9nRG1vaUNTQUZLQUlrU0FSQUlBWWdDVFlDSkNBSElBczZBQWtMSUFrZ0VHb2lDU0FHS0FJb1NBUkFJQVlnQ1RZQ0tDQUhJQXM2QUFvTElBa2dFbW9pQ1NBR0tBSXNTQVJBSUFZZ0NUWUNMQ0FISUFzNkFBc0xJQW9nSEdvaUNpQUZLQUl3U0FSQUlBVWdDallDTUNBSElBczZBQXdMSUFvZ0Rtb2lCU0FHS0FJMFNBUkFJQVlnQlRZQ05DQUhJQXM2QUEwTElBVWdFR29pQlNBR0tBSTRTQVJBSUFZZ0JUWUNPQ0FISUFzNkFBNExJQVVnRW1vaUNTQUdJZ1VvQWp4SUJFQWdCU0FKTmdJOElBY2dDem9BRHdzZ0NpQWRhaUlLSUFWQlFHc2lCaWdDQUVnRVFDQUdJQW8yQWdBZ0J5QUxPZ0FRQ3lBS0lBNXFJZ2tnQlNJR0tBSkVTQVJBSUFZZ0NUWUNSQ0FISUFzNkFCRUxJQWtnRUdvaUNTQUdLQUpJU0FSQUlBWWdDVFlDU0NBSElBczZBQklMSUFrZ0Vtb2lDU0FHS0FKTVNBUkFJQVlnQ1RZQ1RDQUhJQXM2QUJNTElBb2dIbW9pQ2lBRktBSlFTQVJBSUFVZ0NqWUNVQ0FISUFzNkFCUUxJQW9nRG1vaUNTQUdLQUpVU0FSQUlBVWdDVFlDVkNBSElBczZBQlVMSUFrZ0VHb2lDU0FGS0FKWVNBUkFJQVVnQ1RZQ1dDQUhJQXM2QUJZTElBa2dFbW9pQ1NBRktBSmNTQVJBSUFVZ0NUWUNYQ0FISUFzNkFCY0xJQW9nSDJvaUNpQUdLQUpnU0FSQUlBWWdDallDWUNBSElBczZBQmdMSUFvZ0Rtb2lDU0FGS0FKa1NBUkFJQVlnQ1RZQ1pDQUhJQXM2QUJrTElBa2dFR29pQ1NBR0tBSm9TQVJBSUFZZ0NUWUNhQ0FISUFzNkFCb0xJQWtnRW1vaUNTQUdLQUpzU0FSQUlBWWdDVFlDYkNBSElBczZBQnNMSUFvZ0lHb2lDaUFGS0FKd1NBUkFJQVVnQ2pZQ2NDQUhJQXM2QUJ3TElBb2dEbW9pQlNBR0tBSjBTQVJBSUFZZ0JUWUNkQ0FISUFzNkFCMExJQVVnRUdvaUJTQUdLQUo0U0FSQUlBWWdCVFlDZUNBSElBczZBQjRMSUFVZ0Vtb2lCU0FHS0FKOFNBUkFJQVlnQlRZQ2ZDQUhJQXM2QUI4TElBWkJnQUZxSVFVZ0IwRWdhaUVISUF3Z0RXb2hEQ0FOUVlBRWFpRU5JQkZCZjJvaEJpQVJCRUFnQmlFUkRBRUxDeUFQUVFGcUlnOGdFMGNOQUFzTElBRkJmSEVoQnlBRFFYeHhJUUVnQWtGNGNTSURRUUZ5SVFZZ0EwRUNjaUVNSUFOQkEzSWhEeUFEUVFSeUlSRWdBMEVGY2lFTklBTkJCbkloQkNBQ1FRZHlJUk5CQUNFQUEwQWdBQ0FIYWtFQ2RDQWFhaUlMS0FJQUlnSWdBMEVHZEdvZ0FVRUJkR29pQlNBSUxRQUFRUUZxT3dFQUlBVWdDQzBBQVVFQmFqc0JBaUFGSUFndEFBSkJBV283QVFRZ0JTQUlMUUFEUVFGcU93RUdJQVpCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFFUVFGcU93RUFJQVVnQ0MwQUJVRUJhanNCQWlBRklBZ3RBQVpCQVdvN0FRUWdCU0FJTFFBSFFRRnFPd0VHSUF4QkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBSVFRRnFPd0VBSUFVZ0NDMEFDVUVCYWpzQkFpQUZJQWd0QUFwQkFXbzdBUVFnQlNBSUxRQUxRUUZxT3dFR0lBOUJCblFnQW1vZ0FVRUJkR29pQWlBSUxRQU1RUUZxT3dFQUlBSWdDQzBBRFVFQmFqc0JBaUFDSUFndEFBNUJBV283QVFRZ0FpQUlMUUFQUVFGcU93RUdJQXNvQWdBaUFpQVJRUVowYWlBQlFRRjBhaUlGSUFndEFCQkJBV283QVFBZ0JTQUlMUUFSUVFGcU93RUNJQVVnQ0MwQUVrRUJhanNCQkNBRklBZ3RBQk5CQVdvN0FRWWdEVUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQlJCQVdvN0FRQWdCU0FJTFFBVlFRRnFPd0VDSUFVZ0NDMEFGa0VCYWpzQkJDQUZJQWd0QUJkQkFXbzdBUVlnQkVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJoQkFXbzdBUUFnQlNBSUxRQVpRUUZxT3dFQ0lBVWdDQzBBR2tFQmFqc0JCQ0FGSUFndEFCdEJBV283QVFZZ0UwRUdkQ0FDYWlBQlFRRjBhaUlDSUFndEFCeEJBV283QVFBZ0FpQUlMUUFkUVFGcU93RUNJQUlnQ0MwQUhrRUJhanNCQkNBQ0lBZ3RBQjlCQVdvN0FRWWdDRUVnYWlFSUlBQkJBV29pQUVFRVJ3MEFDeUFYSkFZTE5BRUJmeUFBS0FJRUlBRW9BZ2dRcFFNaUFnUkFJQUlnQUNBQkVKd0RRUUJJQkVBZ0FoQkpRUUFoQWdzRlFRQWhBZ3NnQWd2U0F3RURmeUFBS0FJRUtBSUFJUUVnQUNnQzVBTWdBRUVCUWZ3UElBRkJQM0ZCeWdGcUVRUUFJZ0JCL0FkcUlnSTJBaWdnQWtFQU5nSUFJQUJCZ0FocVFRRTJBZ0FnQUVGL05nTDRCeUFBUVlRSWFrRUNOZ0lBSUFCQmZqWUM5QWNnQUVHSUNHcEJBellDQUNBQVFYMDJBdkFISUFCQmpBaHFRUVEyQWdBZ0FFRjhOZ0xzQnlBQVFaQUlha0VGTmdJQUlBQkJlellDNkFjZ0FFR1VDR3BCQmpZQ0FDQUFRWG8yQXVRSElBQkJtQWhxUVFjMkFnQWdBRUY1TmdMZ0J5QUFRWndJYWtFSU5nSUFJQUJCZURZQzNBY2dBRUdnQ0dwQkNUWUNBQ0FBUVhjMkF0Z0hJQUJCcEFocVFRbzJBZ0FnQUVGMk5nTFVCeUFBUWFnSWFrRUxOZ0lBSUFCQmRUWUMwQWNnQUVHc0NHcEJERFlDQUNBQVFYUTJBc3dISUFCQnNBaHFRUTAyQWdBZ0FFRnpOZ0xJQnlBQVFiUUlha0VPTmdJQUlBQkJjallDeEFjZ0FFRzRDR3BCRHpZQ0FDQUFRWEUyQXNBSFFSQWhBRUVRSVFFRFFDQUFRUUowSUFKcUlBRTJBZ0JCQUNBQWEwRUNkQ0FDYWtFQUlBRnJOZ0lBSUFFZ0FFRUJhaUlBUVFGeFFRRnphaUVCSUFCQk1FY05BQXRCQUNBQmF5RURRVEFoQUFOQUlBQkJBblFnQW1vZ0FUWUNBRUVBSUFCclFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFZQUNSdzBBQ3d0QkFRSi9RUXdRUkNJQ0JFQWdBaUFCSUFCQkFuUnNFRVFpQXpZQ0FDQURCRUFnQWlBQU5nSUVJQUlnQVRZQ0NBVWdBaEE0UVFBaEFnc0ZRUUFoQWdzZ0FndmNBUUVDZndKQUlBQW9BclFDRFFBQ1FDQUFLQUlvUVFOckRnVUFBUUVCQUFFTElBQW9BaVJCQTBjTkFDQUFLQUlzUVFKSERRQWdBQ2dDZUVFRFJ3MEFJQUFvQXJBQ0RRQWdBQ2dDMkFFaUFTZ0NDRUVDUncwQUlBRW9BbUJCQVVjTkFDQUJLQUs0QVVFQlJ3MEFJQUVvQWd4QkFrb05BQ0FCS0FKa1FRRkhEUUFnQVNnQ3ZBRkJBVWNOQUNBQktBSWtJZ0lnQUNnQ3hBSkhEUUFnQVNnQ2ZDQUNSdzBBSUFFb0F0UUJJQUpIRFFBZ0FTZ0NLQ0lDSUFBb0FzZ0NSdzBBSUFJZ0FTZ0NnQUZHQkg4Z0FpQUJLQUxZQVVZRlFRQUxEd3RCQUF2akJnRUdmd0pBSUFBb0F0UUNJZ0ZCQVVZRVFDQUFJQUFvQXRnQ0lnRW9BaHcyQXVnQ0lBQWdBU2dDSUNJRE5nTHNBaUFCUVFFMkFqZ2dBVUVCTmdJOElBRkJRR3RCQVRZQ0FDQUJJQUVvQWlRMkFrUWdBVUVCTmdKSUlBTWdBU2dDRENJQ0VFNGhBeUFCSUFNZ0FpQURHellDVENBQVFRRTJBdkFDSUFCQkFEWUM5QUpCQVNFQkJTQUJRWDlxUVFOTEJFQWdBQ2dDQUNJRFFSczJBaFFnQXlBQk5nSVlJQUFvQWdCQkJEWUNIQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFnQUNnQ0hDQUFLQUs4QWlBQUtBS3NBMndRYURZQzZBSWdBQ0FBS0FJZ0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdMc0FpQUFRUUEyQXZBQ0lBQW9BdFFDUVFCTURRRkJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ0NDRUVJQUlnQkRZQ09DQUNJQUlvQWd3aUJUWUNQQ0FDUVVCcklBUWdCV3dpQVRZQ0FDQUNJQVFnQWlnQ0pHdzJBa1FnQWlBRUlBSW9BaHdnQkJCT0lnUWdCRVViTmdKSUlBSWdBaWdDSUNBRkVFNGlBaUFGSUFJYk5nSk1JQUVnQm1wQkNrb0VRQ0FBS0FJQUlnSkJEallDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUZCQUVvRVFBTkFJQUZCZjJvaEFpQUFJQUFvQXZBQ0lnUkJBV28yQXZBQ0lBQkI5QUpxSUFSQkFuUnFJQU0yQWdBZ0FVRUJTZ1JBSUFJaEFRd0JDd3NMSUFOQkFXb2lBeUFBS0FMVUFpSUJTQVJBSUFBb0F2QUNJUVlNQVFzTElBRkJBRXdOQVF0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDVUVVRVFDQUFRYVFCYWlBQ0tBSVFJZ0ZCQW5ScUlRUUNRQUpBSUFGQkEwc05BQ0FFS0FJQVJRMEFEQUVMSUFBb0FnQWlCVUUyTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQVFRRkJoQUVnQVVFL2NVSEtBV29SQkFBaUFTQUVLQUlBUVlRQkVFd2FJQUlnQVRZQ1VDQUFLQUxVQWlFQkN5QURRUUZxSWdNZ0FVZ05BQXNnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFEd3NnQUNnQzFBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMRUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQXN3RElBQW9Bc1FES0FJRU5nSUFDOG9CQVFKL0l3WWhCQ01HUVRCcUpBWWdCRUVZYWlJRlFRZzJBZ1FnQlVFQk5nSUlJQVVnQURZQ0FDQUVRUXhxSWdBZ0F6WUNCQ0FBUVFFMkFnZ2dBQ0FCTmdJQUlBUWdBellDQkNBRVFRZzJBZ2dnQkNBQ05nSUFJQVFRdXdVaUFnUkFJQUlnQkJDakF5SUJCRUFnQWlBQUVLTURJZ01FUUNBQktBSUFJQUVvQWdRaUFDQUFFUFlFUlVFZmRFRWZkVUVBU0FSL1FYOEZJQVVnQVNBREVKd0RHa0VBQ3lFQUlBTVFTUVZCZnlFQUN5QUJFRWtGUVg4aEFBc2dBaEJKQlVGL0lRQUxJQVFrQmlBQUMxa0JBWDhnQUNnQzJBRWlBUVJBSUFFUXZ3Y2dBQ2dDMkFFUWh3a2dBRUVBTmdMWUFRc2dBRUhrQVdvaUFTZ0NBQVJBSUFFUXB3a2dBVUVBTmdJQUN5QUFRY0FCYWlJQUtBSUFCRUFnQUJDekN5QUFRUUEyQWdBTEMzTUJBMzhqQmlFQ0l3WkJFR29rQmlBQ1FRaHFJUU1nQVJEUENTSUVCRUFnQUNBRUVPRUdJUUFnQkJBNEJTQUNJQUUyQWdCQkFFRURRWkdxQVNBQ0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVg4aEFBc2dBaVFHSUFBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUWJERUF5Z0NBQ0VDUWJERUF5QUJOZ0lBSUFJRVFFRzB4QU1vQWdBYUlBSVFPQXRCdE1RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFiREVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJ1TVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHd3hBTW9BZ0FnQlVFQ2RHcEJ1TVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRYkRFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHd3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJzTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFiREVBeWdDQUNFQVFiREVBMEVBTmdJQUlBQUVRRUcweEFNb0FnQWFJQUFRT0F0QnRNUURRUUEyQWdBTEM2b0VBZ2wvQW4wakJpRUZJd1pCSUdva0JpQUZRUVJxSVFRZ0JTQUFOZ0lBSUFBb0FnQWhBd0pBQWtCQnRNUURLQUlBSWdGRklna0VRRUVBSVFBTUFRVWdBU0FCUVg5cUlnaHhSU0lIQkg4Z0F5QUljUVVnQXlBQlNRUi9JQU1GSUFNZ0FSQk9Dd3NpQUVFQ2RFR3d4QU1vQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FIQkg4Z0JpQUljUVVnQmlBQlR3Ui9JQVlnQVJCT0JTQUdDd3NnQUVjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVFnQXlBRkVOOEdRY0RFQXlvQ0FDSUtJQUd6bEVHOHhBTW9BZ0JCQVdxeklndGRJQWx5QkVBQ2Z5QUxJQXFWalJDU0FTSUNJQUZCZjJvZ0FYRkJBRWNnQVVFRFNYSWdBVUVCZEhJaUFDQUFJQUpKR3hEZUJrRzB4QU1vQWdBaUFrRi9haUlBSUFOeElBQWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRQUZJQUVoQWd0QnNNUURLQUlBSUFCQkFuUnFLQUlBSWdFRWZ5QUVLQUlBSUFFb0FnQTJBZ0FnQVNBRUtBSUFOZ0lBSUFRRklBUW9BZ0JCdU1RREtBSUFOZ0lBUWJqRUF5QUVLQUlBTmdJQVFiREVBeWdDQUNBQVFRSjBha0c0eEFNMkFnQWdCQ2dDQUNJSEtBSUFJZ0FFUUNBQUtBSUVJUUFnQWlBQ1FYOXFJZ0Z4Qkg4Z0FDQUNUd1IvSUFBZ0FoQk9CU0FBQ3dVZ0FDQUJjUXNoQUVHd3hBTW9BZ0FnQUVFQ2RHb2dCellDQUFzZ0JBc2lBQ2dDQUNFQ1FiekVBMEc4eEFNb0FnQkJBV28yQWdBZ0FFRUFOZ0lBQ3lBRkpBWWdBa0VRYWdza0FRRi9JQUVvQWdBaEFpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FVRUVhaUFDRUg0TEVRQWdBU0FBUWY4QmNVR3NBMm9SQVFBTEVnQWdBU0FDSUFCQkEzRkJyQVZxRVJvQUN4SUFJQUVnQWlBQVFUOXhRYklGYWhFREFBc1NBQ0FCSUFJZ0FFRUJjVUd3QldvUkpnQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFaekVBeWdDQUNFQ1FaekVBeUFCTmdJQUlBSUVRRUdneEFNb0FnQWFJQUlRT0F0Qm9NUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRWnpFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCcE1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR2N4QU1vQWdBZ0JVRUNkR3BCcE1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUVp6RUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR2N4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCbk1RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRWnpFQXlnQ0FDRUFRWnpFQTBFQU5nSUFJQUFFUUVHZ3hBTW9BZ0FhSUFBUU9BdEJvTVFEUVFBMkFnQUxDeE1BSUFCQnlBSnFFRlVnQUVHZ0Ftb1E1UVlMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRFFaU0hBVUhSdHdKQkFTQUJFQWtnQXdza0JndmdIUUlhZndGK0l3WWhCQ01HUWRBU2FpUUdJQVJCa0JKcUlSRWdCRUh3Qm1vaENDQUVRYUFHYWlFUElBUkIwQVZxSVJBZ0JFR0FCV29oRWlBRVFiQUVhaUVUSUFSQk1Hb2hGeUFFSVJZQ2Z3Si9BbjhDUUFKQUFrQUNRQUpBQWtBQ1FDQUFRWVFHYXc2TEVBRUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVDQXdVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRUUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFBRkN5QUNJUkZCb0JFaENVR2dEU0VMUWZnQUlRMUIvd0FoREVFSklSUkJ3QUFNQnd0QjRBd2hDVUdnQ3lFTFFRMGhEVUVKSVFCQkFTRUNRUThNQlF0QjRBd2hDVUdnQ3lFTFFRMGhEVUVGSVFCQkFpRUNRUThNQkF0QkRDRUFRUUloQWd3Q0MwRUhJUUJCQXlFQ0RBRUxRWDhNQXd0QjRBc2hDVUdnQ2lFTFFSWWhEVUVmQ3lFTVFRQWhCQU4vSUFRZ0RVWUVmeUFDSVJRZ0FBVWdCQ0FSYWlBQnAwRUJjVG9BQUNBRVFRRnFJUVFnQVVJQmlDRUJEQUVMQ3dzaEdDQVVRUUYwSVJWQkFTRUNBMEFnQWlBVlRBUkFJQUpCQW5RZ0Uyb2lCa0VBTmdJQVFRQWhCRUVBSVFBRFFDQUVJQTFJQkVBZ0JDQVJhaXdBQUFSQUlBWWdBaUFFYkNBTUVFOUJBblFnQzJvb0FnQWdBSE1pQURZQ0FBc2dCRUVCYWlFRURBRUxDeUFHSUFCQkFuUWdDV29vQWdBMkFnQkJBU0FGSUFBYklRVWdBa0VCYWlFQ0RBRUxDeUFGUVFCSEloa0VRQ0FQUVFBMkFnQWdEeUFUS0FJRUlnVTJBZ1FnQ0VFQU5nSUFJQWhCQVRZQ1NFRUJJUUFEUUNBQUlCVklCRUFnQUVFQ2RDQUlha0YvTmdJQUlBaEJ5QUJxSUFCQkFuUnFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QVFRUUEyQWdBZ0VFRUFOZ0lFSUJKQmZ6WUNBQ0FTUVFBMkFnUkJBQ0VFUVFBaEFnTkFBa0FnQkVFQmFpRUtJQVZCZjBZRVFDQUVRUUpxSWdSQkFuUWdFR29nQWpZQ0FFRUFJUUFEUUNBQUlBSk1CRUFnQkVISUFHd2dDR29nQUVFQ2RHb2dDa0hJQUd3Z0NHb2dBRUVDZEdvaUJTZ0NBQ0lHTmdJQUlBVWdCa0VDZENBSmFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTEJTQUVJUUFEUUNBQVFYOXFJUVlnQUVFQVNpSUhJQUJCQW5RZ0Qyb29BZ0JCZjBaeEJFQWdCaUVBREFFTEN5QUhCRUFnQUNFR0EwQWdCa0YvYWlJSFFRSjBJQTlxS0FJQVFYOUhCRUFnQnlBQUlBQkJBblFnRW1vb0FnQWdCMEVDZENBU2FpZ0NBRWdiSVFBTElBWkJBVW9FUUNBSElRWU1BUXNMQ3lBRVFRSnFJZ1JCQW5RZ0VHb2dBaUFLSUFCcklob2dBRUVDZENBUWFpSU9LQUlBYWlJR0lBSWdCa29iSWdZMkFnQkJBQ0VIQTBBZ0J5QVZTQVJBSUFSQnlBQnNJQWhxSUFkQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEN5QUZJQXhxSVFjZ0FFRUNkQ0FQYWlFYklBNG9BZ0FoRGtFQUlRVURRQ0FGSUE1TUJFQWdBRUhJQUd3Z0NHb2dCVUVDZEdvb0FnQWlIRUYvUndSQUlBUkJ5QUJzSUFocUlBVWdHbXBCQW5ScUlBY2dIR29nR3lnQ0FHc2dEQkJQUVFKMElBdHFLQUlBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUFoQUFOL0lBQWdBa29FZnlBR0JTQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBcEJ5QUJzSUFocUlBQkJBblJxSWdjb0FnQWlEaUFGS0FJQWN6WUNBQ0FISUE1QkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDeUVDQ3lBRVFRSjBJQkpxSUFvZ0FtczJBZ0FnQ2lBVlRnMEFJQVJCQW5RZ0Qyb2lCaUFFUVFKMElCTnFLQUlBSWdCQmYwWUVmMEVBQlNBQVFRSjBJQXRxS0FJQUN5SUFOZ0lBUVFFaEJRTkFJQVVnQWt3RVFDQUVJQVZyUVFKMElCTnFLQUlBSWdkQmYwY0VRQ0FFUWNnQWJDQUlhaUFGUVFKMGFpZ0NBQ0lPQkVBZ0JpQUhJQTVCQW5RZ0NXb29BZ0JxSUF3UVQwRUNkQ0FMYWlnQ0FDQUFjeUlBTmdJQUN3c2dCVUVCYWlFRkRBRUxDeUFHSUFCQkFuUWdDV29vQWdBaUJUWUNBQ0FDSUJSTUJFQWdDaUVFREFJTEN3dEJmeUFDSUJSS0RRRWFRUUFoQUFOQUlBQWdBa3dFUUNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFVb0FnQkJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQzBFQklRQURRQ0FBSUFKTUJFQWdBRUVDZENBV2FpQUVRY2dBYkNBSWFpQUFRUUowYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMUVFBaEFFRUJJUW9EUUNBTUlBcE9CRUJCQVNFR1FRRWhCUU5BSUFZZ0Frd0VRQ0FHUVFKMElCWnFJZ2NvQWdBaUNVRi9Sd1JBSUFjZ0JpQUphaUFNRUU4aUJ6WUNBQ0FGSUFkQkFuUWdDMm9vQWdCeklRVUxJQVpCQVdvaEJnd0JDd3NnQlVVRVFDQUFRUUowSUJkcUlBd2dDbXMyQWdBZ0FFRUJhaUVBQ3lBS1FRRnFJUW9NQVFzTFFYOGdBQ0FDUncwQkdrRUFJUUFEUUNBQUlBSklCRUFnRVNBQVFRSjBJQmRxS0FJQWFpSUZJQVVzQUFCQkFYTTZBQUFnQUVFQmFpRUFEQUVMQ3dWQkFDRUVDeUFEUWdBM0F3QkNBU0VlSUEwZ0dHc2hBRUlBSVFFRFFDQUFJQTFJQkVBZ0F5QWVJQUFnRVdvdEFBQ3RmaUFCZkNJQk53TUFJQjVDQVlZaEhpQUFRUUZxSVFBTUFRc0xJQmtFZnlBRVFRSjBJQkJxS0FJQUJVRUFDd3NoSFNBV0pBWWdIUXZKQ0FJTGZ3TjhJd1loRGlNR1FSQnFKQVlnRGtFSWFpRUhJQUJGSUFOQkFVaHlCSDhnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BUVg4RkFuOENRQUpBQWtBZ0FRNENBQUVDQ3lBRElBTnNJZ0ZCREd3UVJDSUtSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQVVFRGJDRUxRUUFoQjBFQUlRRURRQ0FISUF0SEJFQWdBU0FDSUFkcUxBQUFRWDl6UWY4QmNXb2hBU0FIUVFGcUlRY01BUXNMSUFFZ0N4QklJUWxCQUNFSFFRQWhBUU5BSUFFZ0MwY0VRQ0FCUVFKMElBcHFJQUVnQW1vc0FBQkJmM05CL3dGeElBbHJJZ2cyQWdBZ0J5QUlJQWhzYWlFSElBRkJBV29oQVF3QkN3c2dCN2VmSWhNZ0E3ZEVrU3RRNW5xMit6K2lvMFFBQUFBQUFBQXVRR01FUUNBRVFRQTJBZ0FnQlVFQU5nSUFJQVpFQUFBQUFBQUE4TDg1QXdBZ0NoQTRRWDRNQXdzZ0FDZ0NBQ0VQUVFBaENVRi9JUU5CZnlFQlFYOGhBZ05BSUFrZ0QwZ0VRQ0FBS0FJSUlRY0NRQUpBQTBBQ1FDQURRUUZxSWdOQkFuUWdCMm9vQWdBT0F3RUNBQUlMQ3d3QkN5QURRUUowSVJCQkFDRUhBMEFnQjBFRVJ3UkFJQWNnRUdvaERVRUFJUXhCQUNFSUEwQWdDQ0FMUndSQUlBd2dDRUVDZENBS2FpZ0NBQ0FBS0FJTUlBMUJBblJxS0FJQUlBaEJBblJxS0FJQWJHb2hEQ0FJUVFGcUlRZ01BUXNMSUFjZ0FpQU10eUFBS0FJUUlBMUJBM1JxS3dNQW95QVRveUlVSUJKa0lnZ2JJUUlnQjBFQmFpRUhJQlFnRWlBSUd5RVNJQU1nQVNBSUd5RUJEQUVMQ3dzZ0NVRUJhaUVKREFFTEN5QUZJQUkyQWdBZ0JDQUJOZ0lBSUFZZ0Vqa0RBQ0FLRURoQkFBd0NDeUFESUFOc0lncEJBblFRUkNJTFJRUkFRUUJCQTBHNTJBSWdCeEE5UVFFUUFRdEJBQ0VIUVFBaEFRTkFJQUVnQ2tjRVFDQUhJQUVnQW1vc0FBQkJmM05CL3dGeGFpRUhJQUZCQVdvaEFRd0JDd3NnQnlBS0VFZ2hDVUVBSVFkQkFDRUJBMEFnQVNBS1J3UkFJQUZCQW5RZ0Myb2dBU0FDYWl3QUFFRi9jMEgvQVhFZ0NXc2lDRFlDQUNBSElBZ2dDR3hxSVFjZ0FVRUJhaUVCREFFTEN5QUh0NThpRXlBRHQ2TkVBQUFBQUFBQUxrQmpCRUFnQkVFQU5nSUFJQVZCQURZQ0FDQUdSQUFBQUFBQUFQQy9PUU1BSUFzUU9FRitEQUlMSUFBb0FnQWhEMEVBSVFsQmZ5RURRWDhoQVVGL0lRSURRQ0FKSUE5SUJFQWdBQ2dDQ0NFSEFrQUNRQU5BQWtBZ0EwRUJhaUlEUVFKMElBZHFLQUlBRGdNQkFnQUNDd3NNQVFzZ0EwRUNkQ0VRUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQkJxSVExQkFDRU1RUUFoQ0FOQUlBZ2dDa2NFUUNBTUlBaEJBblFnQzJvb0FnQWdBQ2dDRkNBTlFRSjBhaWdDQUNBSVFRSjBhaWdDQUd4cUlRd2dDRUVCYWlFSURBRUxDeUFISUFJZ0RMY2dBQ2dDR0NBTlFRTjBhaXNEQUtNZ0U2TWlGQ0FTWkNJSUd5RUNJQWRCQVdvaEJ5QVVJQklnQ0JzaEVpQURJQUVnQ0JzaEFRd0JDd3NMSUFsQkFXb2hDUXdCQ3dzZ0JTQUNOZ0lBSUFRZ0FUWUNBQ0FHSUJJNUF3QWdDeEE0UVFBTUFRdEJmd3NMSVJFZ0RpUUdJQkVMVkFFQmZ5TUdJUU1qQmtFd2FpUUdJQU1nQWpZQ0FDQURRUkJxSWdKQ0FEY0NBQ0FDUVFBMkFnZ2dBaUFCSUFFUVlCQitJQU5CSEdvaUFTQUNJQU1Rb1FjZ0FDQUJFS0lISUFFUVJ5QUNFRWNnQXlRR0Mzd0JBWDhqQmlFR0l3WkJFR29rQmlBQUlBSTJBZ0FnQUNBRE5nSUVJQUFnQkRZQ0NDQUFRUUUyQWhBZ0FDQUVJQVZzTmdJVUlBWkJBRFlDQUNBR1FRUnFJQVlzQUF3NkFBQWdCa0VJYWlBR0tBSUFOZ0lBSUFCQkdHb2dBUkNsQnlBQUlBVkJBRWdFZnlBQ0VMa0RJQU5zQlNBRkN6WUNEQ0FHSkFZTGFnRUNmeU1HSVFFakJrRVFhaVFHQWtBQ1FBSkFBa0FnQUVFQmF3NENBQUVDQ3lBQUlRSU1BZ3RCQkNFQ0RBRUxRUkFRQlNFQUlBRkNBRGNDQUNBQlFRQTJBZ2dnQVVIa29BSkI1S0FDRUdBUWZpQUFJQUVRaGdJZ0FFR0k4Z0JCQlJBRUN5QUJKQVlnQWdzZUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ0xSd0VDZnlNR0lRRWpCa0dRQW1va0JpQUJRWUFDYWlJQ0VCTWFJQUZCZ0FKQnZKd0NJQUlRSWhBZ0dpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0FTQUJFR0FRZmlBQkpBWUxPZ0VDZnlNR0lRSWpCa0VRYWlRR0lBRWdBQ2dDQUd3aEF5QUNRUUE2QUFBZ0FFRUVhaUFESUFJUXJnY2dBRUVRYWlBQkVORURJQUlrQmd0TkFRSi9JQUFvQWd3RVFDQUFLQUlJRUw0RElBQkJBRFlDQ0NBQUtBSUVJUUlEUUNBQklBSkhCRUFnQUNnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQUVFQU5nSU1Dd3NkQVFKL0EwQWdBQVJBSUFBb0FnQWhBaUFBRURnZ0FpRUFEQUVMQ3d1SEFnRUhmeU1HSVFjakJrRVFhaVFHSUFJb0FnQWlCaUFBS0FJQUlnaHJJUUFnQVVFQ1RnUkFJQUZCZm1wQkFoQTVJZ2tnQUVFRGRVNEVRQ0FBUVFKMVFRRnlJZ05CQTNRZ0NHb2lCQ0VBSUFOQkFXb2lCU0FCU0FSQUlBVWdBeUFFSUFSQkNHb2lCQkRCQVNJRkd5RURJQVFnQUNBRkd5RUFDeUFBSUFZUXdRRkZCRUFnQnlBR0tRSUFOd01BQTBBQ1FDQUdJQUFpQmlrQ0FEY0NBQ0FDSUFBMkFnQWdDU0FEU0EwQUlBTkJBWFJCQVhJaUEwRURkQ0FJYWlJRUlRQWdBMEVCYWlJRklBRklCRUFnQlNBRElBUWdCRUVJYWlJRUVNRUJJZ1ViSVFNZ0JDQUFJQVViSVFBTElBQWdCeERCQVVVTkFRc0xJQVlnQnlrREFEY0NBQXNMQ3lBSEpBWUxDQUFnQUVIOEFHb0xYUUVCZjBILy8vLy9BU0FCU1FSQUVBQUxJQUZCLy8vLy93RkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBM1FRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQTNRZ0FtbzJBZ2dMQ3hBQUlBQkNBRGNDQUNBQVFRQTJBZ2dMYlFBZ0FDb0NBQ0FCS2dJQWxDQUFLZ0lFSUFFcUFnU1VraUFBS2dJSUlBRXFBZ2lVa2lBQUtnSU1JQUVxQWd5VWtpQUFLZ0lRSUFFcUFoQ1VraUFBS2dJVUlBRXFBaFNVa2lBQUtnSVlJQUVxQWhpVWtpQUFLZ0ljSUFFcUFoeVVraUFBS2dJZ0lBRXFBaUNVa2d2VkFnRUpmU0FGSUFZcUFnQWdCeW9DQUpJZ0NDb0NBSklnQ1NvQ0FKSkRBQUNBUHBRaUNqZ0NBQ0FGSUFZcUFnUWdCeW9DQkpJZ0NDb0NCSklnQ1NvQ0JKSkRBQUNBUHBRaUN6Z0NCQ0FHS2dJQUlBcVRJZzBnRFpRZ0Jpb0NCQ0FMa3lJT0lBNlVrcEVnQnlvQ0FDQUtreUlQSUErVUlBY3FBZ1FnQzVNaUVDQVFsSktSa2lBSUtnSUFJQXFUSWhFZ0VaUWdDQ29DQkNBTGt5SVNJQktVa3BHU0lBa3FBZ0FnQ3BNaUNpQUtsQ0FKS2dJRUlBdVRJZ3NnQzVTU2taSkRBQUNBUHBRaURFTUFBQUFBV3dSL1FRQUZJQVJEQUFDQVB5QU1sYnRFelR0L1pwNmc5aitpdGlJTU9BSUFJQUFnRFNBTWxEZ0NBQ0FBSUE0Z0JDb0NBSlE0QWdRZ0FTQVBJQVFxQWdDVU9BSUFJQUVnRUNBRUtnSUFsRGdDQkNBQ0lCRWdCQ29DQUpRNEFnQWdBaUFTSUFRcUFnQ1VPQUlFSUFNZ0NpQUVLZ0lBbERnQ0FDQURJQXNnQkNvQ0FKUTRBZ1JCQVFzTERBQWdBQ0FCS1FJQU53SUFDeW9BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBRUVRQ0FBSUFFUXdRTWdBQ0FCRU5vSEN3dHBBUVI5SUFBcUFoQWdBQ29DRkNBQUtnSWNJQUFxQWlBUWdBRWhCQ0FBS2dJTUlBQXFBaFFnQUNvQ0dDQUFLZ0lnRUlBQklRSWdBQ29DRENBQUtnSVFJQUFxQWhnZ0FDb0NIQkNBQVNFRElBUWdBQ29DQUpRZ0FpQUFLZ0lFbEpNZ0F5QUFLZ0lJbEpJTHRnSUJBWDBnQVJESEF5SURpeUFDWHdSL1FRQUZJQUJEQUFDQVB5QURsU0lDSUFFcUFoQWdBU29DRkNBQktnSWNJQUVxQWlBUWdBR1VPQUlBSUFBZ0FpQUJLZ0lJSUFFcUFnUWdBU29DSUNBQktnSWNFSUFCbERnQ0JDQUFJQUlnQVNvQ0JDQUJLZ0lJSUFFcUFoQWdBU29DRkJDQUFaUTRBZ2dnQUNBQ0lBRXFBaFFnQVNvQ0RDQUJLZ0lnSUFFcUFoZ1FnQUdVT0FJTUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0dDQUJLZ0lnRUlBQmxEZ0NFQ0FBSUFJZ0FTb0NDQ0FCS2dJQUlBRXFBaFFnQVNvQ0RCQ0FBWlE0QWhRZ0FDQUNJQUVxQWd3Z0FTb0NFQ0FCS2dJWUlBRXFBaHdRZ0FHVU9BSVlJQUFnQWlBQktnSUVJQUVxQWdBZ0FTb0NIQ0FCS2dJWUVJQUJsRGdDSENBQUlBSWdBU29DQUNBQktnSUVJQUVxQWd3Z0FTb0NFQkNBQVpRNEFpQkJBUXNMaXdJQkJYOGpCaUVJSXdaQkVHb2tCaUFGRUdraEJTQUFJQVFvQWdRZ0JDZ0NBR3RCQTNVUWdBSWdDRUVFYWlFS0EwQWdCaUFFS0FJRUlBUW9BZ0FpQjJ0QkEzVkpCRUFnQ0NBS0lBRWdBeWdDQUNJSklBWkJBM1FnQjJvb0FnUWlCMEVVYkdvcUFnQWdCMEVVYkNBSmFpb0NCQkM5QWlBSUtnSUFJQUlvQWdBZ0JDZ0NBQ0FHUVFOMGFpZ0NBRUVVYkdvcUFnQ1RFR2tnQ2lvQ0FDQUNLQUlBSUFRb0FnQWdCa0VEZEdvb0FnQkJGR3hxS2dJRWt4QnBraUFGWHdSQUlBUW9BZ0FnQmtFRGRHb2hCeUFBS0FJRUlna2dBQ2dDQ0VZRVFDQUFJQWNRbGdFRklBa2dCeWtDQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FMQ3lBR1FRRnFJUVlNQVFzTElBZ2tCZ3ZwQWdJSmZ3RjlJd1loQnlNR1FVQnJKQVlnQjBFc2FpSUxJQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdCMEVnYWlJTUlBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0F5Z0NCQ0FES0FJQUlnTnJRUU4xSVEwZ0FTZ0NBQ0VPSUF3b0FnQWhDU0FDS0FJQUlRSWdDeWdDQUNFS0EwQWdDQ0FOUndSQUlBaEJBM1FnQ1dvZ0NFRURkQ0FEYWlnQ0FDSUJRUlJzSUE1cUtBSUFOZ0lBSUFoQkEzUWdDV29nQVVFVWJDQU9haWdDQkRZQ0JDQUlRUU4wSUFwcUlBaEJBM1FnQTJvb0FnUWlBVUVVYkNBQ2FpZ0NBRFlDQUNBSVFRTjBJQXBxSUFGQkZHd2dBbW9vQWdRMkFnUWdDRUVCYWlFSURBRUxDeUFIUXdBQUFBQTRBZ0FnQjBNQUFBQUFPQUlFSUFjZ0JiSWlFRGdDQ0NBSFF3QUFBQUE0QWd3Z0J5QVFPQUlRSUFjZ0JySWlFRGdDRkNBSFF3QUFBQUE0QWhnZ0J5QVFPQUljSUFRZ0FDQUtJQWtnRFNBSEVQd0hCSDhnQUNBRklBWVErd2NGUVFBTElROGdEQkJWSUFzUVZTQUhKQVlnRHd2OEF3RUtmeU1HSVFRakJrRXdhaVFHSUFSQklHb2hCU0FCSUFSQkRHb2dCRUVJYWlBRVFRUnFJQVFnQXhEWEJ5QUFJQUFvQWdBMkFnUWdBVUh3QUdvaERTQUJFTUFESWdNb0FnUWdBeWdDQUd0QkFuVWlDeUFDS0FJRUlBSW9BZ0JyUVFOMVN3UkFJQVZCd01nRFFaYUlBaEEzUVpENUFSQTNRZStpQWhBM1FkWUNFRDVCOXFJQ0VEZEJ4SWdDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFVUVBDQURJQVlRUUNBREVEOFFBQXNnQkVFY2FpRUdJQVJCR0dvaENDQUVRUlJxSVFrZ0JFRVFhaUVLSUEwb0FnQWhBMEVBSVFVRFFDQUZJQXRJQkVBZ0FTQUdJQWdnQ1NBS0lBTXFBZ0FnQXlvQ0JDQURLZ0lJSUFNcUFnd2dCQ2dDRExkRUFBQUFBQUFBNEQrZ3RpQUVLQUlJdDBRQUFBQUFBQURnUDZDMklBUW9BZ1MzUkFBQUFBQUFBT0Evb0xZZ0JDZ0NBTGRFQUFBQUFBQUE0RCtndGhEV0J5QUdLZ0lBUXdBQWdEOWRJQWdxQWdCREFBQ0FQMTF4SUFrcUFnQkRBQUNBUDExeElBb3FBZ0JEQUFDQVAxMXhCRUFnQVJEQUF5Z0NBQ0FGUVFKMGFpZ0NBRUVEZENBQ0tBSUFhaUVISUFBb0FnUWlEQ0FBS0FJSVJnUkFJQUFnQnhDV0FRVWdEQ0FIS1FJQU53SUFJQUFnQUNnQ0JFRUlhallDQkFzTElBTkJFR29oQXlBRlFRRnFJUVVNQVFzTElBUWtCZ3ZQQXdJT2Z3RjlJd1loQ1NNR1FTQnFKQVlnQ1VFRWFpRVBJQWxCRkdvaURDQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBbEJDR29pRFNBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFNb0FnUWdBeWdDQUNJUWEwRURkU0VSSUFFb0FnQWhBU0FDS0FJQUlRSWdEQ2dDQUNFU0lBMG9BZ0FoRXdOQUlBb2dFVWNFUUNBS1FRTjBJQkJxS0FJRUlRc2dDa0VDZENJVVFRSjBJQkpxSWdnZ0NrRURkQ0FRYWlnQ0FDSU9RUlJzSUFGcUtBSUFOZ0lBSUFnZ0RrRVViQ0FCYWlnQ0JEWUNCQ0FJSUE1QkZHd2dBV29vQWdnMkFnZ2dDQ0FPUVJSc0lBRnFLQUlNTmdJTUlCUkJBblFnRTJvaUNDQUxRUlJzSUFKcUtBSUFOZ0lBSUFnZ0MwRVViQ0FDYWlnQ0JEWUNCQ0FJSUF0QkZHd2dBbW9vQWdnMkFnZ2dDQ0FMUVJSc0lBSnFLQUlNTmdJTUlBcEJBV29oQ2d3QkN3c2dBQ0FFc2lJV1E4M01URDZVSUJhU0loYU1JQllnQmJJaUZrUE56RXcrbENBV2tpSVdqQ0FXRU1NSElBQWdCa0VCZGJJNEFnZ2dBQ0FIUVFGMXNqZ0NEQ0FBSUFZMkFnQWdBQ0FITmdJRUlBQWdEQ2dDQUNBTktBSUFJQU1vQWdRZ0F5Z0NBR3RCQTNVUXdnY2dBQ0FQSUFrUXVRZEJmeUFKS0FJQUlBOHFBZ0JEQUFCQVFGMGJJUlVnRFJCVklBd1FWU0FKSkFZZ0ZRdEdBQU5BSUFFZ0FrY0VRQ0FBS0FJRUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUFnQUNnQ0JFRVVhallDQkNBQlFSUnFJUUVNQVFzTEN5Z0FJQUlnQVdzaUFrRUFTZ1JBSUFBb0FnUWdBU0FDRUV3YUlBQWdBQ2dDQkNBQ2FqWUNCQXNMT0FFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQ0FBUVFBMkFnZ2dBRUVBTmdJRUlBQkJBRFlDQUFzTE13QWdBaUFCYXlJQ1FRQktCRUFnQWtFTUVFZ2hBeUFBS0FJRUlBRWdBaEJNR2lBQUlBQW9BZ1FnQTBFTWJHbzJBZ1FMQzFzQkEzOGdBQ2dDQkNJRElBQW9BZ0FpQkd0QkZCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUWhnZ0ZJQUlnQVVzRVFDQUJRUlJzSUFScUlRSWdBeUVCQTBBZ0FTQUNSd1JBSUFGQmJHb2hBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTENnQWdBRUhnQURZQ0FBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVhocUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEN4Y0FJQUJDQURjQ0FDQUFRZ0EzQWdnZ0FFRUJPZ0FRQ3lzQkFYOGdBQ2dDQkNFQ0EwQWdBaERVQXlBQUlBQW9BZ1JCRkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMWFFFQmYwSE1tYlBtQUNBQlNRUkFFQUFMSUFGQnpKbXo1Z0JMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCRkd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkZHd2dBbW8yQWdnTEN3a0FJQUFnQVRZQ0NBc1RBQ0FBUVFnMkFnUWdBRUVNYWtFSUVJY0JDd3NBSUFCQkFDQUJFRVVhQy93REFnVi9BbndqQmlFR0l3WkJvQUpxSkFZZ0JrR0FBbW9oQ0NBR1FjQUJhaUlFSUFGQnFBRnFRUVFnQVNnQ0RFRUFTQVIvSUFGQkZHb0ZJQUVvQWdoQkFFZ0VmeUFCUVJocUJTQUJRUkJxQ3dzb0FnQWlCV3RCQkJCUElnZEJCSFJxS3dNQU9RTUFJQVFnQVNBSFFRUjBhaXNEc0FFNUF3Z2dCQ0FCUWFnQmFrRUZJQVZyUVFRUVR5SUhRUVIwYWlzREFEa0RFQ0FFSUFFZ0IwRUVkR29yQTdBQk9RTVlJQVFnQVVHb0FXcEJCaUFGYTBFRUVFOGlCMEVFZEdvckF3QTVBeUFnQkNBQklBZEJCSFJxS3dPd0FUa0RLQ0FFSUFGQnFBRnFRUWNnQld0QkJCQlBJZ1ZCQkhScUt3TUFPUU13SUFRZ0FTQUZRUVIwYWlzRHNBRTVBemdnQmtIZ0FHb2lBU0FDUkFBQUFBQUFBT0Mvb2lJSk9RTUFJQUVnQWtRQUFBQUFBQURnUDZJaUFqa0RDQ0FCUkFBQUFBQUFBQUFBT1FNUUlBRWdBamtER0NBQklBSTVBeUFnQVVRQUFBQUFBQUFBQURrREtDQUJJQUk1QXpBZ0FTQUpPUU00SUFGQlFHdEVBQUFBQUFBQUFBQTVBd0FnQVNBSk9RTklJQUVnQ1RrRFVDQUJSQUFBQUFBQUFBQUFPUU5ZSUFaQmlBSnFJZ1VnQkRZQ0FDQUZJQUUyQWdRZ0JVRUVOZ0lJSUFBb0FnQWdCQ0FCUVFRZ0JoQ1lCRUVBU0FSOFJBQUFBQUNFMTVkQkJTQUFLQUlBSUFVZ0JpQURJQWdRNmdGQkFFZ2hBRVFBQUFBQWhOZVhRU0FJS3dNQUlBQWJDeUVLSUFZa0JpQUtDNzhDQUNBQUtBSUFJQUVvQWdBUWJDQUFLQUlFSUFFb0FnUVFiR29nQUNnQ0NDQUJLQUlJRUd4cUlBQW9BZ3dnQVNnQ0RCQnNhaUFBS0FJUUlBRW9BaEFRYkdvZ0FDZ0NGQ0FCS0FJVUVHeHFJQUFvQWhnZ0FTZ0NHQkJzYWlBQUtBSWNJQUVvQWh3UWJHb2dBQ2dDSUNBQktBSWdFR3hxSUFBb0FpUWdBU2dDSkJCc2FpQUFLQUlvSUFFb0FpZ1FiR29nQUNnQ0xDQUJLQUlzRUd4cUlBQW9BakFnQVNnQ01CQnNhaUFBS0FJMElBRW9BalFRYkdvZ0FDZ0NPQ0FCS0FJNEVHeHFJQUFvQWp3Z0FTZ0NQQkJzYWlBQVFVQnJLQUlBSUFGQlFHc29BZ0FRYkdvZ0FDZ0NSQ0FCS0FKRUVHeHFJQUFvQWtnZ0FTZ0NTQkJzYWlBQUtBSk1JQUVvQWt3UWJHb2dBQ2dDVUNBQktBSlFFR3hxSUFBb0FsUWdBU2dDVkJCc2FpQUFLQUpZSUFFb0FsZ1FiR29nQUNnQ1hDQUJLQUpjRUd4cUMwRUJBbjhnQVVFQlRnUkFBa0FnQUVFQU5nSUFRUUVoQWdOQUlBRWdBa1lOQVNBQ1FRSjBJQUJxSUFOQkFXb2lBellDQUNBQ1FRRnFJUUlNQUFBTEFBc0xDejRCQW44Z0FDZ0NCQ0FBS0FJQUlnUnJRUUoxSWdNZ0FVa0VRQ0FBSUFFZ0Eyc2dBaENmQ0FVZ0F5QUJTd1JBSUFBZ0FVRUNkQ0FFYWpZQ0JBc0xDOG9FQVExL0l3WWhFU01HUVJCcUpBWWdFVUVFYWlFU0lBaEJBa2toRkNBSVFRSkdJUlVEUUNBUUlBVklCRUFnRGtFSWRDQUxhaUFRUWJEeEJHd2dCR29vQWdBMkFnQWdDU0FRUWJEeEJHd2dCR29yQXdpMklCQkJzUEVFYkNBRWFpc0RFTFlnRWlBUkVLWUJRUUJPQkVBZ0RrRUlkQ0FMYWlBU0tnSUF1emtET0NBT1FRaDBJQXRxUVVCcklCRXFBZ0M3T1FNQUlCQkJzUEVFYkNBRWFrRWNhaUFRUWJEeEJHd2dCR3BCM0xnQ2FpQVFRYkR4Qkd3Z0JHb29BaGdnRUVHdzhRUnNJQVJxUVp6eEJHb2dDU0FPUVFoMElBdHFRY2dBYWlBT1FRaDBJQXRxUWFnQmFpSVBFS1lJUVFCT0JFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWWdCeUFJSUFBZ0FTQUNJQU1nQ1NBUElBb2dEa0VJZENBTGFrRUlhaUlXSUE1QkNIUWdDMnBCRkdvaUZ5QU9RUWgwSUF0cVFTaHFJaGdnRGtFSWRDQUxha0VNYWlJWklBNUJDSFFnQzJwQkdHb2lHaUFPUVFoMElBdHFRVEJxSWhNZ0RTQU9RUWgwSUF0cVFmQUJhaUFPUVFoMElBdHFRZmdCYWhEK0JpSVBRWHByRGdjRkJBTUNBUUFHQnd0QkFpRVBEQVVMUVFNaER3d0VDMEVFSVE4TUF3dEJCU0VQREFJTFFRa2hEd3dCQzBFQklROExJQTVCQ0hRZ0Myb2dEellDN0FFTEFrQUNRQ0FVQkVBZ0RrRUlkQ0FMYWlBV0tBSUFOZ0lFSUJnaEV5QVhJUThNQVFVZ0ZRUkFJQTVCQ0hRZ0Myb2dHU2dDQURZQ0JDQWFJUThNQWdzTERBRUxJQTVCQ0hRZ0Myb2dEeWdDQURZQ0VDQU9RUWgwSUF0cUlCTXJBd0E1QXlBTElBNUJBV29oRGdzTElCQkJBV29oRUF3QkN3c2dEQ0FPTmdJQUlCRWtCa0VBQ3dnQUlBQkI2QUJxQzY4SUFRaC9Jd1loQ1NNR1FTQnFKQVlnQUVFTWFpSUhLQUlFSUFBb0Ftd1F4Z0VnQlU0RVFDQUJRUUVRZ3dJZ0FSREZBU0FGRUljQlFRQWhBQU5BSUFBZ0JVZ0VRQ0FBUVFKMElBUnFLQUlBSVFJZ0FSREZBU2dDQUNBQVFRSjBhaUFDTmdJQUlBQkJBV29oQUF3QkN3c2dDU1FHRHdzZ0NVRVVhaUVHSUFsQ0FEY0NBQ0FKUWdBM0FnZ2dDVUdBZ0lEOEF6WUNFQ0FISUFJZ0F5QUVJQVVRcFFnZ0IwRVlhaUlNS0FJRUlnc2dEQ2dDQUNJSWEwRUNkU0FGUndSQUlBWkJ3TWdEUVpueEFSQTNRZEh4QVJBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQjJQSUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDaWdDQUNnQ0hDRU5JQXBCQ2lBTlFUOXhRWW9CYWhFQ0FDRUtJQVlRUENBSElBb1FRQ0FIRUQ4UUFBdEJBQ0VIQWtBQ1FBSkFBa0FEUUNBSElBc2dDR3RCQW5WSkJFQWdCMEVDZENBSWFpZ0NBQ0lJUVg5R0RRSWdDQ0FGVGcwRElBaEJBblFnQkdvaUNDZ0NBQ0FEVGcwRUlBZEJBblFnQkdvaEN5QUpJQWdRd3dJaUNDZ0NCQ0lLSUFnb0FnaEdCRUFnQ0NBTEVLUUlCU0FLSUFzb0FnQTJBZ0FnQ0NBS1FRUnFOZ0lFQ3lBSFFRRnFJUWNnRENnQ0FDRUlJQXdvQWdRaEN3d0JDd3NDUUNBSktBSU1RUUZHQkVBZ0FVRUJFSU1DSUFFUXhRRWdCUkNIQVVFQUlRQURRQ0FBSUFWT0RRSWdBRUVDZENBRWFpZ0NBQ0VDSUFFUXhRRW9BZ0FnQUVFQ2RHb2dBallDQUNBQVFRRnFJUUFNQUFBTEFBVWdBUkRmQXlBSktBSU1FS01JSUFsQkNHb2hCQU5BQWtBZ0JDZ0NBQ0lFUlEwRElBUW9BaEFnQkNnQ0RFWU5BRUdBQVJCUklnVWdBQkRoQXlBQ0lBUW9BZ2hCNEFCc2FoQ2lDQ0FHSUFVMkFnQWdCVUVBRUlNQ0lBRVEzd01pQlNnQ0JDSUhJQVVvQWdoR0JFQWdCU0FHRU1JQ0JTQUhJQVlvQWdBMkFnQWdCU0FGS0FJRVFRUnFOZ0lFQ3lBQUlBWW9BZ0FnQWlBRElBUW9BZ3dpQlNBRUtBSVFJQVZyUVFKMUVPQUREQUVMQ3lBR1FjRElBMEczOUFFUU4wSFI4UUVRTjBIdm9nSVFOMEdEQXhBK1FmYWlBaEEzUWVYMEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUpFT2tESUFra0JnOExJQVpCd01nRFFlN3lBUkEzUWRIeEFSQTNRZStpQWhBM1FlMENFRDVCOXFJQ0VEZEJtZk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFJTElBWkJ3TWdEUWEvekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU0Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUVMSUFaQndNZ0RRZnJ6QVJBM1FkSHhBUkEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0N5QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUdFRHdnQUNBQkVFQWdBQkEvRUFBTEV3QWdBQ0FBS0FJRUlnQkJBV28yQWdRZ0FBdkZBd0VJZnlBQkJFQUNRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSUNFSWdCSUFKQnRJc0JOZ0lBSUFKQitQY0FRUllRQkFzZ0FVRUNkQkJSSVFJZ0FDZ0NBQ0VESUFBZ0FqWUNBQ0FEQkVBZ0FDZ0NCQm9nQXhBNEN5QUFJQUUyQWdSQkFDRUNBMEFnQVNBQ1J3UkFJQUFvQWdBZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQ0dvaEF5QUFLQUlJSWdJRVFDQUNLQUlFSVFRZ0FTQUJRWDlxSWdoeFJTSUpCSDhnQkNBSWNRVWdCQ0FCVHdSL0lBUWdBUkJPQlNBRUN3c2hCaUFBS0FJQUlBWkJBblJxSUFNMkFnQURRQ0FDSVFRRFFBSkFBMEFDUUNBRUtBSUFJZ0pGRFFZZ0FpZ0NCQ0VESUFZZ0NRUi9JQU1nQ0hFRklBTWdBVThFZnlBRElBRVFUZ1VnQXdzTElnVkdEUUFnQUNnQ0FDQUZRUUowYWlJREtBSUFSUTBDSUFJaEF3TkFJQU1vQWdBaUJ3UkFJQUlvQWdnZ0J5Z0NDRVlFUUNBSElRTU1BZ3NMQ3lBRUlBYzJBZ0FnQXlBQUtBSUFJQVZCQW5ScUtBSUFLQUlBTmdJQUlBQW9BZ0FnQlVFQ2RHb29BZ0FnQWpZQ0FBd0JDd3NnQWlFRURBRUxDeUFESUFRMkFnQWdCU0VHREFBQUN3QUxDd1VnQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3lBQVFRQTJBZ1FMQ3pzQVFlQzhBeXdBQUVVRVFFSGd2QU1RY0FSQVFZakVBMEVBTmdJQVFZekVBMEVBTmdJQVFaREVBMEVBTmdJQVFlQzhBeEJ2Q3d0QmlNUURDd2tBSUFBZ0FUWUNCQXNKQUNBQUlBRTJBZ0FMVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRWnlHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3pRQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFCQkpHb1FsQWdMdVFFQkJYOGdBU2dDQUNFQklBQW9BZ1FpQWdSQUFrQWdBaUFDUVg5cUlnUnhSU0lGQkg4Z0FTQUVjUVVnQVNBQ1NRUi9JQUVGSUFFZ0FoQk9Dd3NpQmtFQ2RDQUFLQUlBYWlnQ0FDSUFCSDhEUUNBQUtBSUFJZ0JGQkVCQkFDRUFEQU1MSUFBb0FnUWlBeUFCUmdSQUlBRWdBQ2dDQ0VZTkF3VWdCUVJBSUFNZ0JIRWhBd1VnQXlBQ1R3UkFJQU1nQWhCT0lRTUxDeUFESUFaSEJFQkJBQ0VBREFRTEN3d0FBQXNBQlVFQUN5RUFDd1ZCQUNFQUN5QUFDeWtCQVg4Z0FDZ0NDQkMyQ0NBQUtBSUFJUUVnQUVFQU5nSUFJQUVFUUNBQUtBSUVHaUFCRURnTEMyMEJBWDhnQUVHVUJtb2lBVUVZYWhCVklBRkJER29RVlNBQkVGVWdBRUdNQldvaUFVSDhBR29RVlNBQlFmQUFhaEJWSUFGQjNBQnFFTVFISUFCQi9BUnFFRlVnQUVHZ0FXb1EvQWdnQUVIY0FHb1F4d0lnQUVISUFHb1F1UWdnQUVGQWF4Q1ZBU0FBUVF4cUVGVUxLQUVCZnlBQVFRUnFFT2tESUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFFUTZnTWdBUkE0Q3d1d0J3SUhmd0Y4UWNZQUlRWkJ3SVE5SVFjZ0EwRUJSaUlMQkVCQnhnQkJCQkE1SVFaQndJUTlRUVFRT1NFSElBQkJBaEE1SVFBZ0FVRUNFRGtoQVFzZ0JVRUFOZ0lBSUFCQmZtb2hDQ0FCUVg1cUlRa2dBa0dRZ01nQWFpRU1RUUFoQVFKQUFrQURRQUpBSUFFZ0FpZ0NDRTROQWlBQ1FReHFJQUZCQW5ScUlnTW9BZ0FpQ2lBR1NDQUtJQWRLY2tVRVFDQUNRWXlBQ0dvZ0FVRUVkR29pQ2lnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCa0lBSWFpZ0NBQ0FJUndSQUlBSWdBVUVFZEdwQmxJQUlhaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJtSUFJYWlnQ0FDQUpSd1JBSUFJb0FnQWdBQ0FNSUFGQkFXb2dDaUFGS0FJQVFiRHhCR3dnQkdvUXZnaEJBRTRFUUNBREtBSUFJQVVvQWdCQnNQRUViQ0FFYWhDM0NFRUFUZ1JBSUFVb0FnQkJzUEVFYkNBRWFpQURLQUlBTmdJQUlBVW9BZ0FpQTBHdzhRUnNJQVJxSUFKQmtJQW9haUFCUVFSMGFpc0RBRGtEQ0NBRFFiRHhCR3dnQkdvZ0FpQUJRUVIwYWtHWWdDaHFLd01BT1FNUUlBVWdBMEVCYWlJRE5nSUFJQU5CUEVZRVFFRThJUUFNQ0FzTEN3c0xDd3NMSUFGQkFXb2hBUXdCQ3dzTUFRc2dCU2dDQUNFQUMwRUFJUUVEUUNBQklBQklCRUFnQVVHdzhRUnNJQVJxSVFZZ0FVR3c4UVJzSUFScUlRY2dBVUd3OFFSc0lBUnFJUU1nQVVFQmFpSUJJUUlEUUNBQ0lBQklCRUFnQmlzRENDQUNRYkR4Qkd3Z0JHb3JBd2loSWcwZ0RhSWdCeXNERUNBQ1FiRHhCR3dnQkdvckF4Q2hJZzBnRGFLZ0lRMGdBeWdDQUNJQUlBSkJzUEVFYkNBRWFpSUlLQUlBSWdsS0JFQWdEU0FBUVFRUU9iZGpCRUFnQ0VFQU5nSUFDd1VnRFNBSlFRUVFPYmRqQkVBZ0EwRUFOZ0lBQ3dzZ0FrRUJhaUVDSUFVb0FnQWhBQXdCQ3dzTUFRc0xRUUFoQWdOQUlBSWdBRWdFUUNBQ1FiRHhCR3dnQkdvb0FnQkZCRUFnQWlFQklBQWhBd05BSUFGQkFXb2lBQ0FEU0FSQUlBRkJzUEVFYkNBRWFpQUFRYkR4Qkd3Z0JHcEJzUEVFRUV3YUlBQWhBU0FGS0FJQUlRTU1BUXNMSUFVZ0EwRi9haUlBTmdJQUN5QUNRUUZxSVFJTUFRc0xJQXNFUUFKQVFRQWhBUU5BSUFFZ0FFNE5BU0FFSUFRb0FnQkJBblEyQWdBZ0JDQUVLd01JUkFBQUFBQUFBQUJBb2prRENDQUVJQVFyQXhCRUFBQUFBQUFBQUVDaU9RTVFJQVFvQWhnaEFrRUFJUUFEUUNBQUlBSklCRUFnQkVFY2FpQUFRUUowYWlJRElBTW9BZ0JCQVhRMkFnQWdCRUhjdUFKcUlBQkJBblJxSWdNZ0F5Z0NBRUVCZERZQ0FDQUFRUUZxSVFBTUFRc0xJQVJCc1BFRWFpRUVJQUZCQVdvaEFTQUZLQUlBSVFBTUFBQUxBQXNMUVFBTEVnQWdBRUg4aFFFMkFnQWdBRUVFYWhCSEMwZ0JBWDhqQmlFREl3WkJJR29rQmlBRElBQW9BamdnQWlnQ0FDQUNLQUlFSUFJb0FnZ2dBaWdDREJDNEF5QUFJQU1nQWhEZ0FTQUFJQUVnQXhEZ0FTQURFTjBCSUFNa0JndUxBd0VFZndKQUFrQUNRQUpBSUFBb0FoZ09Bd0FBQVFJTElBQW9BaXdoQWdOQUlBRWdBazROQXlBQUlBRkJDSFJxSWdNb0FqUkJmMG9FUUNBQUlBRkJDSFJxS3dOUVJBQUFBQUFBQU9BL1l3UkFJQUFnQVVFSWRHcEJmellDT0NBRFFYODJBalFnQUNBQlFRaDBha0VHTmdLY0Fnc0xJQUZCQVdvaEFRd0FBQXNBQ3lBQUtBSXNJUUlEUUNBQklBSk9EUUlnQUNBQlFRaDBhaUlES0FJMFFYOUtCRUFnQUNBQlFRaDBhaXNEVUVRQUFBQUFBQURnUDJNRVFDQUFJQUZCQ0hScVFYODJBandnQTBGL05nSTBJQUFnQVVFSWRHcEJCallDbkFJTEN5QUJRUUZxSVFFTUFBQUxBQXNnQUNnQ0xDRURBMEFnQVNBRFRnMEJJQUFnQVVFSWRHb2lBaWdDT0VGL1NnUi9JQUFnQVVFSWRHb3JBMWhFQUFBQUFBQUE0RDlqQkg4Z0FrRi9OZ0k0UVFBRlFRRUxCVUVCQ3lFQ0lBQWdBVUVJZEdvaUJDZ0NQRUYvU2dSQUlBQWdBVUVJZEdvckEyQkVBQUFBQUFBQTREOWpCRUFnQkVGL05nSThJQUpGQkVBZ0FDQUJRUWgwYWtFR05nS2NBZ3NMQ3lBQlFRRnFJUUVNQUFBTEFBc0xDd0FnQUVNQUFBQS9rbzRMRFFBZ0FCRFNBVU1ZY2pFL2xRdTNBd0lEZndOOUlBQW9BZ0FpQkNvQ0FDSUhJQUVvQWdBaUF5b0NBQ0lHWFFSL1FRRUZJQVlnQjEwRWYwRUFCU0FFS0FJRUlBTW9BZ1JKQ3dzaEFTQUdJQUlvQWdBaUFpb0NBQ0lJWFFSL1FRRUZJQWdnQmwwRWYwRUFCU0FES0FJRUlBSW9BZ1JKQ3dzaEFBSi9JQUVFZnlBQUJFQWdCQ0FJT0FJQUlBSWdCemdDQUNBRUtBSUVJUUFnQkNBQ0tBSUVOZ0lFSUFJZ0FEWUNCRUVCREFJTElBUWdCamdDQUNBRElBYzRBZ0FnQkNnQ0JDRUZJQVFnQXlnQ0JEWUNCQ0FESUFVMkFnUWdCeUFDS2dJQUlnWmRCRUFnQWtFRWFpRUFJQUlvQWdRaEFRVkJBU0FHSUFkZERRSWFRUUVnQlNBQ1FRUnFJZ0FvQWdBaUFVOE5BaG9MSUFNZ0JqZ0NBQ0FDSUFjNEFnQWdBeUFCTmdJRUlBQWdCVFlDQUVFQ0JTQUFCSDhnQXlBSU9BSUFJQUlnQmpnQ0FDQURLQUlFSVFBZ0F5QUNLQUlFTmdJRUlBSWdBRFlDQkNBRUtnSUFJZ2NnQXlvQ0FDSUdYUVJBSUFSQkJHb2hBQ0FES0FJRUlRRWdCQ2dDQkNFQ0JVRUJJQVlnQjEwTkF4cEJBU0FFUVFScUlnQW9BZ0FpQWlBREtBSUVJZ0ZQRFFNYUN5QUVJQVk0QWdBZ0F5QUhPQUlBSUFBZ0FUWUNBQ0FESUFJMkFnUkJBZ1ZCQUFzTEN3dnRBUUVGZnlBQUtBSUFJUVlnQUNnQ0JDRURBMEFnQXlBR1J3UkFJQUVvQWdRaUJFRjBhaUlDUVFBMkFnQWdCRUY0YWlJRlFRQTJBZ0FnQkVGOGFpSUVRUUEyQWdBZ0FpQURRWFJxSWdJb0FnQTJBZ0FnQlNBRFFYaHFJZ1VvQWdBMkFnQWdCQ0FEUVh4cUlnTW9BZ0EyQWdBZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FDUVFBMkFnQWdBU0FCS0FJRVFYUnFOZ0lFSUFJaEF3d0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVNYkJCRkdpQUFJQUZCREd3Z0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUXhzRUVVYUlBQWdBVUVNYkNBQ2FqWUNCQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUVDeE1BSUFBZ0FUWUNWQ0FBUVR4cUlBRVEwUUlMT3dFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmJHbzJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xxUUVCQTM4Z0FDZ0NBQ0VFSUFBb0FnUWhBZ05BSUFJZ0JFY0VRQ0FCS0FJRVFXeHFJZ01nQWtGc2FpSUNLUUlBTndJQUlBTWdBaWtDQ0RjQ0NDQURJQUlvQWhBMkFoQWdBU0FCS0FJRVFXeHFOZ0lFREFFTEN5QUFLQUlBSVFJZ0FDQUJLQUlFTmdJQUlBRWdBallDQkNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQUVvQWdRMkFnQUxjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFjeVpzK1lBU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVVYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVJSc0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRVViQ0FFYWpZQ0RBdmtBUUVHZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQXlBQUJIOGdBU0FBUWZTR3J3TnFJZ1VvQWdCR0JIOUJBQVVnQUVHSWg2OERhaUlFS0FJQUlnWUVRQ0FHRUVrZ0JFRUFOZ0lBQ3dKQUFrQUNRQUpBSUFFT0JRTUFBQUFCQWdzZ0JDQUFLQUlrSUFBb0FpZ1Fnd2cyQWdBTUFnc2dBRUdFaDY4RGFrRUJOZ0lBSUFCQmdJZXZBMnBCQVRZQ0FFRUVJUUVNQVF0QkFFRURRY2lsQVNBQ0VEMUJBQ0VCQ3lBRklBRTJBZ0FnQUNnQ0FFRUJSZ1JBSUFNZ0FVRUNkRUdBQ0dvb0FnQTJBZ0JCQUVFRFFaS21BU0FERUQwTFFRQUxCVUYvQ3lFSElBSWtCaUFIQ3lnQUlBQWdBVGdDQUNBQUlBSTRBZ1FnQUNBRE9BSUlJQUFnQkRnQ0RDQUFJQVZCQVhFNkFCQUxld0VCZnlNR0lRSWpCa0VRYWlRR0lBQUVRQ0FBS0FJQUlBRkhCRUFDUUNBQUlBRTJBZ0FnQVVVRVFDQUFRZVNHcHdKcUlnQW9BZ0FRT0NBQVFRQTJBZ0FNQVFzZ0FFSGtocWNDYWlBQUtBSW9JQUFvQWlSc0VFUWlBRFlDQUNBQVJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc0xDd3NnQWlRR0M1b0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FpQUJheUlFUVc5TEJFQVFBQXNnQkVFTFNRUkFJQUFnQkRvQUN3VWdBQ0FFUVJCcVFYQnhJZ1lRVVNJRE5nSUFJQUFnQmtHQWdJQ0FlSEkyQWdnZ0FDQUVOZ0lFSUFNaEFBc2dBaUFCYXlFR0lBQWhBd05BSUFFZ0FrY0VRQ0FESUFFUVh5QUJRUUZxSVFFZ0EwRUJhaUVEREFFTEN5QUZRUUE2QUFBZ0FDQUdhaUFGRUY4Z0JTUUdDNElCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQVJBSUFBb0FnQWlBUVJBSUFFb0FnQWlBUVJBSUFFUU9BdEJBQ0VCQTBBZ0FTQUFLQUlBSWdNb0FneElCRUFnQXlnQ0NDQUJRUXhzYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQXlnQ0NCQTRJQUFvQWdBUU9DQUFRUUEyQWdBTEJVRUFRUU5CM0xnQklBSVFQUXNnQWlRR0N4RUFJQUFnQUNnQ0FDQUFLQUlFRUtVSkM2NEJBUVYvSXdZaEJTTUdRUkJxSkFZZ0FDQUNJQU1nQlVFRWFpQUZFS1lKUVFCSUJIOUJmd1VnQlNvQ0JDQUJLZ0lNSWdLVVF6TXp5MEdWUXdBQUFEK1NFRU1pQUVFQVNBUi9RWDhGSUFFb0FnUWlCeUFBU2dSL0lBRW9BZ2dpQ0xJZ0FpQUZLZ0lBbEVNek04dEJsWk5EQUFBQVA1SVFReUlHUVg5S0lBZ2dCa3B4Qkg4Z0JDQUJLQUlBSUFBZ0JpQUhiR3BxTEFBQU9nQUFRUUFGUVg4TEJVRi9Dd3NMSVFrZ0JTUUdJQWtMdlFJQ0JIOENmU01HSVFZakJrRkFheVFHSUFaQk5Hb2hCeUFHUVRCcUlRZ2dBQVIvSUFCQkNHb2dBU0FHRVBvQklBQkJ1QUZxSWdBZ0Jpb0NEQ0FHS2dJQUlBS1VJQVlxQWdRZ0E1U1NraUFHS2dJc0lBWXFBaUFnQXBRZ0Jpb0NKQ0FEbEpLU0lndVZJZ29nQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUxsU0lESUFRZ0JSQnRRUUJJQkg5QmZ3VWdBQ0FFS2dJQUlBVXFBZ0FnQnlBSUVLWUJRUUJJQkg5QmZ3VWdDaUFIS2dJQWt5SUNJQUtVSUFNZ0NDb0NBSk1pQWlBQ2xKSkRBQUNBUDE1QkgzUkJIM1VMQ3dVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVLSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NpQUNsVGdDQUVFQUN5RUpJQVlrQmlBSkM0WUxBUXAvSUFNb0FoZ2hDQUpBQWtBQ1FDQUNRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dBeWdDRENFTElBTW9BaFFoRFNBQlFRRjBJUTRnQUNBRVFRQWdBeWdDQ0dzaUIwRUJkR29nQVNBRlFRQWdBeWdDRUdzaUJVRUJkR3BzYW1vaEJFRUFJUUJCQUNFQlFRQWhBZ05BSUFVZ0RVb0VRQXdEQlNBSElRd2dCQ0VKQTBBZ0RDQUxUQVJBSUFndUFRQWlEMEdBSUVjRVFDQUFJQWt0QUFBaUNtb2hBQ0FCSUFvZ0NteHFJUUVnQWlBUFFmLy9BM0VnQ214cUlRSUxJQXhCQVdvaERDQUlRUUpxSVFnZ0NVRUNhaUVKREFFTEN5QUVJQTVxSVFRZ0JVRUJhaUVGREFFTEFBQUxBQXNnQWtFQ1NRUkFJQU1vQWhRaERrRUFJQU1vQWhCcklRb2dDQ0VKUVFBaEFrRUFJUWdEUUNBS0lBNUtCRUFnQWlFQUlBZ2hBU0FNSVFJTUF3VWdBeWdDRENFUFFRQWdBeWdDQ0NJSGF5RUxJQUFnQkNBQklBVWdDa0VCZEdwc2FpQUhRUUYwYTBFRGJHb2hCd05BSUFzZ0Qwd0VRQ0FKTGdFQUloQkJnQ0JIQkVBZ0FpQUhMUUFDSUFjdEFBQWdCeTBBQVdwcVFRTVFTQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0MwRUJhaUVMSUFkQkJtb2hCeUFKUVFKcUlRa01BUXNMSUFwQkFXb2hDZ3dCQ3dBQUN3QUxJQUpCQVhKQkEwWUVRQ0FES0FJVUlRNUJBQ0FES0FJUWF5RUtJQWdoQ1VFQUlRSkJBQ0VJQTBBZ0NpQU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUIyc2hDeUFBSUFRZ0FTQUZJQXBCQVhScWJHb2dCMEVCZEd0QkFuUnFJUWNEUUNBTElBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdCeTBBQWlBSExRQUFJQWN0QUFGcWFrRURFRWdpRFdvaEFpQUlJQTBnRFd4cUlRZ2dEQ0FRUWYvL0EzRWdEV3hxSVF3TElBdEJBV29oQ3lBSFFRaHFJUWNnQ1VFQ2FpRUpEQUVMQ3lBS1FRRnFJUW9NQVFzQUFBc0FDeUFDUVFKeVFRWkdCRUFnQXlnQ0ZDRU9RUUFnQXlnQ0VHc2hDaUFJSVFsQkFDRUNRUUFoQ0FOQUlBb2dEa29FUUNBQ0lRQWdDQ0VCSUF3aEFnd0RCU0FES0FJTUlROUJBQ0FES0FJSUlnZHJJUXNnQUNBRUlBRWdCU0FLUVFGMGFteHFJQWRCQVhSclFRSjBhaUVIQTBBZ0N5QVBUQVJBSUFrdUFRQWlFRUdBSUVjRVFDQUNJQWN0QUFNZ0J5MEFBU0FITFFBQ2FtcEJBeEJJSWcxcUlRSWdDQ0FOSUExc2FpRUlJQXdnRUVILy93TnhJQTFzYWlFTUN5QUxRUUZxSVFzZ0IwRUlhaUVISUFsQkFtb2hDUXdCQ3dzZ0NrRUJhaUVLREFFTEFBQUxBQXNDUUFKQUFrQWdBa0VIYXc0Q0FBRUNDeUFES0FJVUlRNUJBQ0VDUVFBZ0F5Z0NFR3NoQ2lBSUlRY0RRQ0FLSUE1S0JFQWdBaUVBSUFraEFTQU1JUUlNQkFVZ0F5Z0NEQ0VQSUFraENFRUFJQU1vQWdnaUMyc2hDU0FBSUFRZ0FTQUZJQXBCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBSklBOU1CRUFnQnk0QkFDSVFRWUFnUndSQUlBSWdDeTBBQVNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVCYWlFSklBdEJCR29oQ3lBSFFRSnFJUWNNQVFzTElBZ2hDU0FLUVFGcUlRb01BUXNBQUFzQUN5QURLQUlVSVE0Z0NDRUpRUUFoQWtFQUlRaEJBQ0FES0FJUWF5RUhBMEFnQnlBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQzJzaENpQUFJQVFnQVNBRklBZEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FLSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBQ0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUNhaUVKSUFwQkFXb2hDaUFMUVFScUlRc01BUXNMSUFkQkFXb2hCd3dCQ3dBQUN3QUxRUUFoQUVFQUlRRkJBQ0VDQ3lBR0lBRWdBQ0FBYkNBREtBSWtJZ0VRT1dzaUJBUi9JQUlnQUNBREtBSWdiQ0FCRURsclFlUUFiQ0FES0FJY0VEbEI1QUJzSUFTeWtSQkRFRGtGUVFBTE5nSUFDMFVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpOREFBQUFQNVFpQTR3Z0F5QURRd0FBQUFCZEd3dUlEZ01JZndGK0RYMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSUlBWkJER29oQ1NBR1FRaHFJUW9nQmtFRWFpRUxJQUpCQUVnRVFFRi9JUUVGQWtBQ1FBSkFBa0FDUUFKQUlBSU9CQUFCQWdNRUN5QUVRUWdRT2JJaEVpQUVRUWRzUVFnUU9iSWhFeUFGUVFnUU9iSWhGQ0FGUVFkc1FRZ1FPYkloRlNBRVFRSVFPYkloRmlBRlFRSVFPYkloRjBFQUlRSkJmeUVCQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdFbDBnRHlBVFhuSkZCRUFnQWtFWWJDQUFhaW9DRkNJUUlCUmRJQkFnRlY1eVJRUkFJQThnRnBNaUR5QVBsQ0FRSUJlVElnOGdENVNTSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1CUXNnQVVFWWJDQUFha0VCTmdJTURBUUxJQVJCQ0JBNXNpRVNJQVJCQjJ4QkNCQTVzaUVUSUFWQkNCQTVzaUVVSUFWQkIyeEJDQkE1c2lFVlFYOGhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBSkJHR3dnQUdvcUFoQWlEeUFTWFNBUElCTmVja1VFUUNBQ1FSaHNJQUJxS2dJVUloQWdGRjBnRUNBVlhuSkZCRUFnRHlBREtnSUFreUlQSUErVUlCQWdBeW9DQkpNaUR5QVBsSklpRHlBUlhnUkFJQThoRVNBQ0lRRUxDd3NMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9SZ1JBUVg4aEFRd0VDeUFCUVJoc0lBQnFRUUUyQWd3TUF3c2dCRUVJRURteUlSSWdCRUVIYkVFSUVEbXlJUk1nQlVFSUVEbXlJUlFnQlVFSGJFRUlFRG15SVJWQmZ5RUJRUUFoQWdOQUFrQUNRQUpBSUFKQkdHd2dBR29vQWd4QmYyc09BZ0lBQVFzZ0FrRVliQ0FBYWlvQ0VDSVBJQkpkSUE4Z0UxNXlSUVJBSUFKQkdHd2dBR29xQWhRaUVDQVZYaUFRSUJSZGNrVUVRQ0FQSUFNcUFnQWlENU1nQXlvQ0RDQURLZ0lFSWhhVGxDQVFJQmFUSUFNcUFnZ2dENU9Va3lJUElBK1VJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUF3c2dBVUVZYkNBQWFrRUJOZ0lNREFJTElBTWdBMEVJYWlBSElBZ1Eyd0lnQXlBRFFSQnFJQWtnQ2hEYkFpQUVRUWdRT2JJaEZpQUVRUWRzUVFnUU9iSWhGeUFGUVFnUU9iSWhHQ0FGUVFkc1FRZ1FPYkloR1NBRFFSaHFJUXdnQ1NvQ0FDSVVJQWdxQWdBaUVwUWlFU0FLS2dJQUloVWdCeW9DQUNJVGxDSVBrME1BQUFBQVlFVWhDU0FQSUJHVFF3QUFBQUJnUlNFTlFRSkJBU0FKR3lFSFFRRkJBaUFKR3lFSVFYOGhBVUVBSVFKREFBQUFBQ0VSQTBBQ1FBSkFBa0FnQWtFWWJDQUFhaWdDREVGL2F3NENBZ0FCQ3lBQ1FSaHNJQUJxS2dJUUlnOGdGbDBnRHlBWFhuSkZCRUFnQWtFWWJDQUFhaUlFS2dJVUloQWdHRjBnRUNBWlhuSkZCRUFnRENBUE9BSUFJQU1nQkNnQ0ZEWUNIQ0FESUF3Z0N5QUdFTnNDSUFzcUFnQWhEd0ovQWtBZ0NRUi9JQVlxQWdBaEVBd0JCU0FTSUErVUlCTWdCaW9DQUNJUWxKTkRBQUFBQUdBRWYwRUNRUU1nRlNBUGxDQVVJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUJJUXBCQTBFQ0lBVWJCUXdDQ3dzTUFRc2dEU0FWSUErVUlob2dGQ0FRbENJYmswTUFBQUFBWUVWeUJIOGdFeUFRbENBU0lBK1VrME1BQUFBQVlFVWdHeUFhazBNQUFBQUFZRVZ5RFFSQkF5RUtJQWdoQkNBSEJVRUJRUU1nRWlBUGxDQVRJQkNVazBNQUFBQUFZRVVpQlJzaEJFRUNJUXBCQTBFQklBVWJDd3NoQlNBRElBb2dCU0FFRUxBSklnOGdFVjRFZnlBUElSRWdBZ1VnQVFzaEFRc0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FCUVJoc0lBQnFRUUUyQWd3TERBRUxRUUFoQXdKQUFrQURRQUpBQWtBQ1FDQURRUmhzSUFGcUlnSW9BZ3hCZjJzT0FnSUFBUXNnQWtFQk5nSU1JQU5CR0d3Z0FXb2hCQ0FEUVJoc0lBRnFJUVVnQTBFWWJDQUJhaUVIUVFBaEFnTkFBa0FDUUNBQ1FSaHNJQUJxSWdnb0FneEJmMnNPQWdNQUFRc2dCQ2dDQUNBQ1FSaHNJQUJxS0FJQVJnUkFJQVVvQWdRZ0FrRVliQ0FBYWlnQ0JFWUVRQ0FIS0FJSUlBSkJHR3dnQUdvb0FnaEdEUWNMQ3dzZ0FrRUJhaUVDREFBQUN3QUxJQU5CQVdvaEF3d0JDd3NNQVFzZ0NFRUJOZ0lNSUFJaEFRd0JDeUFCUVg4MkFneEJoTVFEUVFCQmhNUURLQUlBSWdFRWZ5QUJCVUhvdmdOQkFCQVRRWDlxclRjREFFR0V4QU1vQWdBTFFRRnFJZ0VnQVVHQUFVWWJOZ0lBUVFBaEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBQlJRUkFRWDhoQVF3QkMwSG92Z05CNkw0REtRTUFRcTMrMWVUVWhmMm8yQUIrUWdGOElnNDNBd0FnQWJJZ0RrSWhpS2V5bEVNQUFBQXdsQkJESVFSQkFDRUNRUUFoQVFOQUFrQUNRQUpBQWtBZ0FrRVliQ0FBYWlJRktBSU1JZ05CZjJzT0FnQUJBZ3NnQXlFQkRBUUxJQUVnQkVZTkFTQUJRUUZxSVFFTElBSkJBV29oQWd3QkN3c2dCVUVCTmdJTUlBSWhBUXNMSUFZa0JpQUJDNWdFQWdGL0VYMGpCaUVFSXdaQk1Hb2tCaUFBQkVBZ0FFRUlhaUFCSUFRUStnRWdBaW9DQUNJTElBUXFBZ0FpRkpRaERpQUNLZ0lFSWdZZ0JDb0NCQ0lNbENFUElBWWdCQ29DRkNJTmxDRVFJQVFxQWl3aUNpQUxJQVFxQWlBaUI1UWlDU0FHSUFRcUFpUWlDSlFpQlpLU0lSRWdDaUFMUXdBQUlFR1NJaElnQjVRZ0JaS1NJUk1nQ2lBSklBWkRBQUFnUVpJaUJpQUlsSktTSVFvZ0JDb0NIQ0lISUFzZ0JDb0NFQ0lJbENJRklBWWdEWlNTa2lBS2xTRUxJQVFxQWd3aUNTQU9JQVlnREpTU2tpQUtsU0VNQlNBQ0tnSUFJZ3NnQVNvQ0FDSVVsQ0VPSUFJcUFnUWlCaUFCS2dJRUlneVVJUThnQmlBQktnSVVJZzJVSVJBZ0FTb0NMQ0lLSUFzZ0FTb0NJQ0lIbENJSklBWWdBU29DSkNJSWxDSUZrcEloRVNBS0lBdERBQUFnUVpJaUVpQUhsQ0FGa3BJaEV5QUtJQWtnQmtNQUFDQkJraUlHSUFpVWtwSWhDaUFCS2dJY0lnY2dDeUFCS2dJUUlnaVVJZ1VnQmlBTmxKS1NJQXFWSVFzZ0FTb0NEQ0lKSUE0Z0JpQU1sSktTSUFxVklRd0xJQWNnRWlBSWxDQVFrcElnRTVVaERTQUpJQklnRkpRZ0Q1S1NJQk9WSVJVZ0J5QUZJQkNTa2lBUmxTRUhJQWtnRGlBUGtwSWdFWlVoQ1NBVklBbVRJZ1VnQlpRZ0RTQUhreUlGSUFXVWtpSUlJQXdnQ1pNaUJTQUZsQ0FMSUFlVElnVWdCWlNTSWdWZElRQWdBeUFGSUFnZ0FCdVJRMXlQSWtDVU9BSUFJQU1nQ0NBRklBQWJrVU5janlKQWxEZ0NCQ0FFSkFaQkFBc2ZBQ0FBQkg4Z0FDQUJJQUlnQXhDR0JBVkJBQ0FCSUFJZ0F4Q0dCQXNhQ3dZQVFSd1FBZ3NHQUVFYkVBSUxCZ0JCRnhBQ0N3WUFRUklRQWdzSUFFRVBFQUpDQUFzSUFFRU1FQUpCQUFzSUFFRUtFQUpCQUF1TUFRRUNmeU1GUVFGcUpBVWdBQ01GTmdJQUEwQWdCQ0FEU0FSQUlBUkJBM1FnQW1vb0FnQkZCRUFnQkVFRGRDQUNhaU1GTmdJQUlBUkJBM1JCQkdvZ0Ftb2dBVFlDQUNBRVFRTjBRUWhxSUFKcVFRQTJBZ0FnQXhBRElBSVBDeUFFUVFGcUlRUU1BUXNMSUFBZ0FTQUNJQU5CQVhRaUFFRUJha0VEZEJEb0FTQUFFSThFSVFVZ0FCQURJQVVMcnd3QkIzOGdBQ0FCYWlFRklBQW9BZ1FpQTBFQmNVVUVRQUpBSUFBb0FnQWhBaUFEUVFOeFJRUkFEd3NnQVNBQ2FpRUJJQUFnQW1zaUFFSEEwUU1vQWdCR0JFQWdCU2dDQkNJQ1FRTnhRUU5IRFFGQnRORURJQUUyQWdBZ0JTQUNRWDV4TmdJRUlBQWdBVUVCY2pZQ0JDQUZJQUUyQWdBUEN5QUNRUU4ySVFRZ0FrR0FBa2tFUUNBQUtBSUlJZ0lnQUNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTERBRUxJQUFvQWhnaEJ5QUFJQUFvQWd3aUFrWUVRQUpBSUFCQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQUNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSEJFQWdBQ0FBS0FJY0lnTkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWRCRUdvaUF5QUhRUlJxSUFBZ0F5Z0NBRVliSUFJMkFnQWdBa1VOQWdzZ0FpQUhOZ0lZSUFBb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQUFvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQVVvQWdRaUIwRUNjUVJBSUFVZ0IwRitjVFlDQkNBQUlBRkJBWEkyQWdRZ0FDQUJhaUFCTmdJQUlBRWhBd1VnQlVIRTBRTW9BZ0JHQkVCQnVORURJQUZCdU5FREtBSUFhaUlCTmdJQVFjVFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JFSEEwUU1vQWdBZ0FFY0VRQThMUWNEUkEwRUFOZ0lBUWJUUkEwRUFOZ0lBRHdzZ0JVSEEwUU1vQWdCR0JFQkJ0TkVESUFGQnRORURLQUlBYWlJQk5nSUFRY0RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCQ0FBSUFGcUlBRTJBZ0FQQ3lBSFFRTjJJUVFnQjBHQUFra0VRQ0FGS0FJSUlnSWdCU2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMQlFKQUlBVW9BaGdoQ0NBRktBSU1JZ0lnQlVZRVFBSkFJQVZCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdCU2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFJQkVBZ0JTZ0NIQ0lEUVFKMFFkelRBMm9pQkNnQ0FDQUZSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBaEJFR29pQXlBSVFSUnFJQU1vQWdBZ0JVWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSU5nSVlJQVVvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBVW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBQWdBU0FIUVhoeGFpSURRUUZ5TmdJRUlBQWdBMm9nQXpZQ0FDQUFRY0RSQXlnQ0FFWUVRRUcwMFFNZ0F6WUNBQThMQ3lBRFFRTjJJUUlnQTBHQUFra0VRQ0FDUVFOMFFkVFJBMm9oQVVHczBRTW9BZ0FpQTBFQklBSjBJZ0p4Qkg4Z0FVRUlhaUlES0FJQUJVR3MwUU1nQWlBRGNqWUNBQ0FCUVFocUlRTWdBUXNoQWlBRElBQTJBZ0FnQWlBQU5nSU1JQUFnQWpZQ0NDQUFJQUUyQWd3UEN5QURRUWgySWdFRWZ5QURRZi8vL3dkTEJIOUJId1VnQVNBQlFZRCtQMnBCRUhaQkNIRWlBblFpQkVHQTRCOXFRUkIyUVFSeElRRkJEaUFCSUFKeUlBUWdBWFFpQVVHQWdBOXFRUkIyUVFKeElnSnlheUFCSUFKMFFROTJhaUlCUVFGMElBTWdBVUVIYW5aQkFYRnlDd1ZCQUFzaUFrRUNkRUhjMHdOcUlRRWdBQ0FDTmdJY0lBQkJBRFlDRkNBQVFRQTJBaEFDUUVHdzBRTW9BZ0FpQkVFQklBSjBJZ1p4UlFSQVFiRFJBeUFFSUFaeU5nSUFJQUVnQURZQ0FBd0JDeUFESUFFb0FnQWlBU2dDQkVGNGNVWUVRQ0FCSVFJRkFrQWdBMEVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUVFEUUNBQlFSQnFJQVJCSDNaQkFuUnFJZ1lvQWdBaUFnUkFJQVJCQVhRaEJDQURJQUlvQWdSQmVIRkdEUUlnQWlFQkRBRUxDeUFHSUFBMkFnQU1BZ3NMSUFJb0FnZ2lBU0FBTmdJTUlBSWdBRFlDQ0NBQUlBRTJBZ2dnQUNBQ05nSU1JQUJCQURZQ0dBOExJQUFnQVRZQ0dDQUFJQUEyQWd3Z0FDQUFOZ0lJQzgwQkFRTi9RZS8vLy84RElBRnJJQUpKQkVBUUFBc2dBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJUVVnQVVIbi8vLy9BVWtFUUVFQ0lBRkJBWFFpQnlBQklBSnFJZ0lnQWlBSFNSc2lBa0VFYWtGOGNTQUNRUUpKR3lJQ1FmLy8vLzhEU3dSQUVBQUZJQUloQmdzRlFlLy8vLzhESVFZTElBWkJBblFRVVNFQ0lBUUVRQ0FDSUFVZ0JCQ25BUXNnQXlBRWF5SURCRUFnQWlBRVFRSjBhaUFGSUFSQkFuUnFJQU1RcHdFTElBRkJBVWNFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQzZBQ0FRUi9Jd1loQ0NNR1FSQnFKQVpCN3YvLy93TWdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhCU1FSQVFRSWdBVUVCZENJTElBRWdBbW9pQWlBQ0lBdEpHeUlDUVFScVFYeHhJQUpCQWtrYklnSkIvLy8vL3dOTEJFQVFBQVVnQWlFS0N3VkI3Ly8vL3dNaENnc2dDa0VDZEJCUklRSWdCQVJBSUFJZ0NTQUVFS2NCQ3lBR0JFQWdCRUVDZENBQ2FpQUhJQVlRcHdFTElBTWdCV3NpQXlBRWF5SUhCRUFnQkVFQ2RDQUNhaUFHUVFKMGFpQUVRUUowSUFscUlBVkJBblJxSUFjUXB3RUxJQUZCQVVjRVFDQUpFRGdMSUFBZ0FqWUNBQ0FBSUFwQmdJQ0FnSGh5TmdJSUlBQWdBeUFHYWlJQU5nSUVJQWhCQURZQ0FDQUFRUUowSUFKcUlBZ1FiaUFJSkFZTGtBRUJBMzhqQmlFREl3WkJFR29rQmlBQlFlLy8vLzhEU3dSQUVBQUxJQUZCQWtrRVFDQUFJQUU2QUFzZ0FDRUVCU0FCUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBVFlDQkFzTElBRUVRQ0FFSUFJZ0FSRHJCQXNnQTBFQU5nSUFJQUZCQW5RZ0JHb2dBeEJ1SUFNa0JndnVBUUVEZnlNR0lRZ2pCa0VRYWlRR1FXNGdBV3NnQWtrRVFCQUFDeUFBTEFBTFFRQklCSDhnQUNnQ0FBVWdBQXNoQ1NBQlFlZi8vLzhIU1FSL1FRc2dBVUVCZENJS0lBRWdBbW9pQWlBQ0lBcEpHeUlDUVJCcVFYQnhJQUpCQzBrYkJVRnZDeUlLRUZFaEFpQUVCRUFnQWlBSklBUVFxQUVMSUFZRVFDQUNJQVJxSUFjZ0JoQ29BUXNnQXlBRmF5SURJQVJySWdjRVFDQUdJQUlnQkdwcUlBVWdCQ0FKYW1vZ0J4Q29BUXNnQVVFS1J3UkFJQWtRT0FzZ0FDQUNOZ0lBSUFBZ0NrR0FnSUNBZUhJMkFnZ2dBQ0FESUFacUlnQTJBZ1FnQ0VFQU9nQUFJQUFnQW1vZ0NCQmZJQWdrQmdzV0FDQUJCRUFnQUNBQ0VFSkIvd0Z4SUFFUVJSb0xDM0lCQTM4akJpRURJd1pCRUdva0JpQUJRVzlMQkVBUUFBc2dBVUVMU1FSQUlBQWdBVG9BQ3dVZ0FDQUJRUkJxUVhCeElnUVFVU0lGTmdJQUlBQWdCRUdBZ0lDQWVISTJBZ2dnQUNBQk5nSUVJQVVoQUFzZ0FDQUJJQUlRbFFRZ0EwRUFPZ0FBSUFBZ0FXb2dBeEJmSUFNa0JndjZGUU1NZndGK0Fud2pCaUVMSXdaQjBBRnFKQVlnQzBISUFXb2hEU0FMUWNBQmFpRU9JQXRCNEFCcUlRd2dBeWdDQkNFS0EwQWdCeUFLU0FSQUlBTW9BZ0FpQ0NBSFFjQUNiR29oQ1NBSFFjQUNiQ0FJYWlnQ0JBUkFJQWRCd0FKc0lBaHFJUkJCQUNFRlFYOGhCZ05BSUFVZ0FrZ0VRQUpBQWtBQ1FDQUZRUWgwSUFGcUtBSU1JZzhOQUNBRlFRaDBJQUZxS1FQNEFTSVJVQTBBSUJFZ0VDa0R1QUpSRFFFTUFnc2dEeUFKS0FJQVJnMEFEQUVMSUFWQkNIUWdBV29yQXpBaUVpQURLd040WTBVRVFDQUdRWDlHQkg4Z0JRVWdCa0VJZENBQmFpc0RNQ0FTWXdSL0lBVUZJQVlMQ3lFR0N3c2dCVUVCYWlFRkRBRUxDeUFIUWNBQ2JDQUlhaUFHTmdLd0FpQUdRWDlLQkVBZ0JrRUlkQ0FCYWlBR1FRaDBJQUZxS0FJWU5nSVFDd1ZCZnlFR1FRQWhCUU5BSUFVZ0FrZ0VRQ0FGUVFoMElBRnFLQUlJSUFrb0FnQkdCRUFnQlVFSWRDQUJhaXNES0NJU0lBTXJBM0JqUlFSQUlBWkJmMFlFZnlBRkJTQUdRUWgwSUFGcUt3TW9JQkpqQkg4Z0JRVWdCZ3NMSVFZTEN5QUZRUUZxSVFVTUFRc0xJQWRCd0FKc0lBaHFJQVkyQXJBQ0lBWkJmMG9FUUNBR1FRaDBJQUZxSUFaQkNIUWdBV29vQWhRMkFoQUxDeUFIUVFGcUlRY01BUXNMUVFBaEJVRUFJUUpCQUNFR1FRQWhCd05BSUFjZ0NrZ0VRQ0FES0FJQUlnb2dCMEhBQW14cUtBS3dBaUlJUVFCT0JFQUNRQ0FBSUFoQkNIUWdBV29pQ1NBSFFjQUNiQ0FLYWlzRENDQUxFTm9EUkFBQUFBQUFBQkJBWkFSQUlBTW9BZ0FnQjBIQUFteHFRWDgyQXJBQ0lBaEJDSFFnQVdvaUNDZ0M3QUVOQVNBSVFRYzJBdXdCREFFTElBVkZJQUlnQ1NnQ0FDSUlTSElFUUVFQUlRSURmeUFDUVFOR0JIOGdCeUVHSUFnRlFRQWhCZ05BSUFaQkJFY0VRQ0FDUVFWMElBeHFJQVpCQTNScUlBSkJCWFFnQzJvZ0JrRURkR29yQXdBNUF3QWdCa0VCYWlFR0RBRUxDeUFDUVFGcUlRSU1BUXNMSVFJTElBVkJBV29oQlFzTElBZEJBV29oQnlBREtBSUVJUW9NQVFzTEFrQUNRQ0FGUlEwQUlBVWdBeWdDZ0FGSURRQWdEQ0FES0FJQUlBWkJ3QUpzYWtId0FHb2dDeEN6QWlBRlFRWjBFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTElBVkI0QUJzRUVRaUJrVUVRRUVBUVFOQnVkZ0NJQTBRUFVFQkVBRUxJQVZCQW5RaENDQURLQUlFSVJCQkFDRUZRUUFoQWdOQUlBVWdFRWdFUUNBREtBSUFJZ29nQlVIQUFteHFLQUt3QWlJSlFRQk9CRUFnQWtFRGRDSU5RUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVFnQ1VFSWRDQUJhaWdDRUNJT2EwRUVFRThpRDBFRWRHb3JBd0E1QXdBZ0RVRUJja0VEZENBSGFpQUpRUWgwSUFGcUlBOUJCSFJxS3dPd0FUa0RBQ0FOUVFKeVFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRVWdEbXRCQkJCUElnOUJCSFJxS3dNQU9RTUFJQTFCQTNKQkEzUWdCMm9nQ1VFSWRDQUJhaUFQUVFSMGFpc0RzQUU1QXdBZ0RVRUVja0VEZENBSGFpQUpRUWgwSUFGcVFhZ0Jha0VHSUE1clFRUVFUeUlQUVFSMGFpc0RBRGtEQUNBTlFRVnlRUU4wSUFkcUlBbEJDSFFnQVdvZ0QwRUVkR29yQTdBQk9RTUFJQTFCQm5KQkEzUWdCMm9nQ1VFSWRDQUJha0dvQVdwQkJ5QU9hMEVFRUU4aURrRUVkR29yQXdBNUF3QWdEVUVIY2tFRGRDQUhhaUFKUVFoMElBRnFJQTVCQkhScUt3T3dBVGtEQUNBQ1FReHNJZ2xCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOUFCT1FNQUlBbEJBWEpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBOWdCT1FNQUlBbEJBbkpCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK0FCT1FNQUlBbEJBM0pCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBK2dCT1FNQUlBbEJCR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL0FCT1FNQUlBbEJCV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBL2dCT1FNQUlBbEJCbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNEFDT1FNQUlBbEJCMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNGdDT1FNQUlBbEJDR3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNUFDT1FNQUlBbEJDV3BCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNWdDT1FNQUlBbEJDbXBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNkFDT1FNQUlBbEJDMnBCQTNRZ0Jtb2dCVUhBQW13Z0Ntb3JBNmdDT1FNQUlBSkJBV29oQWdzZ0JVRUJhaUVGREFFTEN5QUVRUUJISVFRZ0F5Z0NhQVJBSUFBZ0N5QUhJQVlnQ0NBTUVMOENJaElnQUNBRFFRaHFJZ0lnQnlBR0lBZ2dBaEMvQWlJVFl5RUZJQVFFUUNBRkJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1abnBQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5aUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVFBQUFBQUFBQUFBQkNOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBRFFRaHFJQUJCQlhScUlBSkJBM1JxSUFCQkJYUWdER29nQWtFRGRHb3JBd0E1QXdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xCU0FUSVJJTEN3c0xDd1VnQlFSQVFRQWhBQU5BSUFCQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0EwRUlhaUFBUVFWMGFpQUNRUU4wYWlBQVFRVjBJQXhxSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDd1VnRXlFU0N3c0ZJQVFnQUNBTElBY2dCaUFJSUFOQkNHb2lBaEMvQWlJU1JBQUFBQUFBQURSQVpuRUVRQ0FBS0FJQVJKcVptWm1abWVrL0VJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkloSkVBQUFBQUFBQU5FQm1CSHdnQUNnQ0FFUXpNek16TXpQalB4Q05BU0FBSUFzZ0J5QUdJQWdnQWhDT0FTSVNSQUFBQUFBQUFEUkFaZ1I4SUFBb0FnQkVtcG1abVptWjJUOFFqUUVnQUNBTElBY2dCaUFJSUFJUWpnRWlFa1FBQUFBQUFBQTBRR1lFZkNBQUtBSUFSQUFBQUFBQUFBQUFFSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJCU0FTQ3dVZ0Vnc0ZJQklMSVJJTEN5QUdFRGdnQnhBNEFrQWdFa1FBQUFBQUFBQTBRR01FUUNBRFFRRTJBbWdNQVFzZ0EwRUFOZ0pvSUFNb0FnUWhBa0VBSVFBRFFDQUFJQUpPRFFFZ0F5Z0NBQ0FBUWNBQ2JHb29BckFDSWdSQkFFNEVRQ0FFUVFoMElBRnFJZ1FvQXV3QlJRUkFJQVJCQ0RZQzdBRUxDeUFBUVFGcUlRQU1BQUFMQUFzTUFRc2dBMEVBTmdKb0N5QUxKQVlMeVF3Q0VIOFJmQ01HSVFZakJrR0FBV29rQmlBR1FmZ0FhaUVPSUFaQjhBQnFJUThnQmtIb0FHb2hFQ0FHUWVBQWFpRVJJQVpCMkFCcUlSSWdCa0hRQUdvaENDQUdRY2dBYWlFSklBTkJCRWdFZjBGL0JRSi9BMEFnQlNBRFNBUkFJQVZCQVdvaEUwRi9JQVZCR0d3Z0Ftb3JBeEJFQUFBQUFBQUFBQUJpRFFJYUlCTWhCUXdCQ3dzZ0FDc0RBRVFBQUFBQUFBQUFBR0VFZjBGL0JTQUFLd01nUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQXloRUFBQUFBQUFBQUFCaEJIOUJmd1VnQUVGQWF5c0RBRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd05JUkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFCRUFBQUFBQUFBOEQ5aUJIOUJmd1VnQUNzREdFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TTRSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMWhFQUFBQUFBQUFBQUJpQkg5QmZ3VWdBMEVCZENJRlFRZ1Fpd0VpQ2tVRVFFRUFRUU5COWF3QklBa1FQVUYvREFvTElBVkJBUkNMQVNJSlJRUkFJQW9RU1VFQVFRTkJqNjBCSUFnUVBVRi9EQW9MUVFBaENBTkFJQU1nQ0VjRVFDQUtLQUlBSWdjZ0NFRUVkQ0lGUVFOMGFpQUlRUmhzSUFKcUlnc3JBd0E1QXdBZ0JVRUJja0VEZENBSGFpQUlRUmhzSUFKcUlnd3JBd2c1QXdBZ0JVRUNja0VEZENBSGFrUUFBQUFBQUFEd1B6a0RBQ0FGUVFOeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJCSEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFRmNrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUVp5UVFOMElBZHFJQXNyQXdBZ0NFRUVkQ0FCYWlJTkt3TUFvcG81QXdBZ0JVRUhja0VEZENBSGFpQU1Ld01JSUEwckF3Q2ltamtEQUNBRlFRaHlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQ1hKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUtja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVF0eVFRTjBJQWRxSUFzckF3QTVBd0FnQlVFTWNrRURkQ0FIYWlBTUt3TUlPUU1BSUFWQkRYSkJBM1FnQjJwRUFBQUFBQUFBOEQ4NUF3QWdCVUVPY2tFRGRDQUhhaUFMS3dNQUlBaEJCSFFnQVdvaUN5c0RDS0thT1FNQUlBVkJEM0pCQTNRZ0Iyb2dEQ3NEQ0NBTEt3TUlvcG81QXdBZ0NTZ0NBQ0lISUFoQkFYUWlCVUVEZEdvZ0RTc0RBRGtEQUNBRlFRRnlRUU4wSUFkcUlBc3JBd2c1QXdBZ0NFRUJhaUVJREFFTEN5QUtFS0FESWdGRkJFQWdDaEJKSUFrUVNVRUFRUU5CcWEwQklCSVFQVUYvREFvTElBRWdDaERaQVNJRFJRUkFJQW9RU1NBSkVFa2dBUkJKUVFCQkEwSERyUUVnRVJBOVFYOE1DZ3NnQVNBSkVOa0JJZ1ZGQkVBZ0NoQkpJQWtRU1NBQkVFa2dBeEJKUVFCQkEwSGRyUUVnRUJBOVFYOE1DZ3NnQXhEV0FVRUFTQVJBSUFvUVNTQUpFRWtnQVJCSklBTVFTU0FGRUVsQkFFRURRZmV0QVNBUEVEMUJmd3dLQ3lBRElBVVEyUUVpQndSL0lBY29BZ0FpQWlzRE1DRVdJQUlyQXdBZ0ZpQUFLd01RSWgyaW9TQUNLd01ZSUJZZ0FDc0RNQ0lib3FFZ0FDc0RLQ0ljb3lJWklBQXJBd2dpSHFLaElBQXJBd0FpSDZNaEdDQUNLd01nSUJzZ0Fpc0RPQ0lWb3FFZ0hLTWhGeUFDS3dNSUlCMGdGYUtoSUI0Z0Y2S2hJQitqSVJvZ0Fpc0RLQ0Fib1NBY295RWJJQUlyQXhBaEpDQUtFRWtnQ1JCSklBRVFTU0FERUVrZ0JSQkpJQWNRU1NBR0lCZ2dGaUFXb2lBWklCbWlJQmdnR0tLZ29KOGlHS001QXdBZ0JpQVpJQmlqT1FNSUlBWWdGaUFZb3prREVDQUdJQm9nRlNBVm9pQVhJQmVpSUJvZ0dxS2dvSjhpRnFNNUF4Z2dCaUFYSUJhak9RTWdJQVlnRlNBV296a0RLQ0FHRVBJSklBWXJBd2dpR1NBR0t3TW9JaHFpSUFZckF4QWlIQ0FHS3dNZ0lpQ2lvU0VWSUJ3Z0Jpc0RHQ0lob2lBYUlBWXJBd0FpSXFLaElSY2dCaUFWSUNBZ0lxSWdHU0Fob3FFaUl5QWpvaUFWSUJXaUlCY2dGNktnb0o4aUZhTWlKVGtETUNBR0lCY2dGYU1pRnprRE9DQUdRVUJySUNNZ0ZhTWlGVGtEQUNBRUlDSTVBd0FnQkNBWk9RTWdJQVJCUUdzZ0hEa0RBQ0FFSUNFNUF3Z2dCQ0FnT1FNb0lBUWdHamtEU0NBRUlDVTVBeEFnQkNBWE9RTXdJQVFnRlRrRFVDQUVJQ1FnSGFFZ0hpQWJvcUVnSDZNZ0dDQVdvRVFBQUFBQUFBRGdQNklpRnFNNUF4Z2dCQ0FiSUJhak9RTTRJQVJFQUFBQUFBQUE4RDhnRnFNNUExaEJBQVVnQ2hCSklBa1FTU0FCRUVrZ0F4QkpJQVVRU1VFQVFRTkJrYTRCSUE0UVBVRi9Dd3NMQ3dzTEN3c0xDd3NMSVJRZ0JpUUdJQlFMRWdBZ0FFR3NvZ0UyQWdBZ0FFRVFhaEJIQ3hJQUlBQkJoS0lCTmdJQUlBQkJER29RUndzakFRRi9JQUJCMEtFQk5nSUFJQUFvQWdnaUFRUkFJQUFzQUF3RVFDQUJFRGdMQ3d0OUFRUi9JQUJCdktFQk5nSUFJQUJCQ0dvaEF3TkFJQUlnQUNnQ0RDQURLQUlBSWdGclFRSjFTUVJBSUFKQkFuUWdBV29vQWdBaUFRUkFJQUVnQVNnQ0JDSUVRWDlxTmdJRUlBUkZCRUFnQVNBQktBSUFLQUlJUWY4QmNVR3NBMm9SQVFBTEN5QUNRUUZxSVFJTUFRc0xJQUJCa0FGcUVFY2dBeENQQ2d2VUNnSVBmd1I4SXdZaEN5TUdRY0FCYWlRR0lBdEJ1QUZxSVFnZ0MwR3dBV29oRGlBTFFhZ0JhaUVLSUF0Qm9BRnFJUVVnQzBHUUFXb2hEeUFMUVRCcUlSQWdBU2dDQ0NJSlFRUklCSDlCZndVQ2Z3Si9JQUFyQTRBQklBbTNvaEJ6SVJFZ0NVSGdBR3dRUkNJR1JRUkFRUUJCQTBISzJBSWdCUkE5UVg4TUFnc2dDVUVFZEJCRUlnZEZCRUJCQUVFRFFjcllBaUFLRUQwZ0JoQTRRWDhNQWdzZ0NVRURkQ0lGRUVRaUNVVUVRRUVBUVFOQnl0Z0NJQTRRUFNBR0VEZ2dCeEE0UVg4TUFnc2dCUkJFSWcxRkJFQkJBRUVEUWNyWUFpQUlFRDBnQmhBNElBY1FPQ0FKRURoQmZ3d0NDeUFSUVg5cUlnVUxRUU1nQlVFRFNoc2hFa0VBSVFvRFFDQUtRUU5IQkVCQkFDRU1BMEFnREVFRVJ3UkFJQXBCQlhRZ0Eyb2dERUVEZEdvZ0NrRUZkQ0FDYWlBTVFRTjBhaXNEQURrREFDQU1RUUZxSVF3TUFRc0xJQXBCQVdvaENnd0JDd3NnRWtFRGRDQU5haUVNUVFBaENnSkFBa0FDUUFKQUEwQUNRQ0FBSUFNZ0VCQ3pBa0VBSVFVRFFDQUZJQUVvQWdnaUFrZ0VRQ0FQSUJBZ0FTZ0NCQ0FGUVJoc2FoQzdCRUVBU0EwQ0lBRW9BZ0FpQWlBRlFRUjBhaXNEQUNBUEt3TUFvU0VXSUFWQkJIUWdBbW9yQXdnZ0R5c0RDS0VoRkNBRlFRRjBJZ0pCQTNRZ0Iyb2dGamtEQUNBQ1FRRnlRUU4wSUFkcUlCUTVBd0FnQlVFRGRDQU5haUFXSUJhaUlCUWdGS0tnSWhRNUF3QWdCVUVEZENBSmFpQVVPUU1BSUFWQkFXb2hCUXdCQ3dzZ0RTQUNRUWhCRWhDQ0F5QUJLQUlJSVFKRUFBQUFBQUFBTUVBZ0RDc0RBRVFBQUFBQUFBQVFRS0lpRkNBVVJBQUFBQUFBQURCQVl4c2lGMFFBQUFBQUFBQVlRS01oRmtRQUFBQUFBQUFBQUNFVVFRQWhCUU5BSUFVZ0FrZ0VRQ0FVSUFWQkEzUWdEV29yQXdBaUZDQVhaQVI4SUJZRklCWkVBQUFBQUFBQThEOUVBQUFBQUFBQThEOGdGQ0FYbzZFaUZDQVVJQlNpb3FHaUM2QWhGQ0FGUVFGcUlRVU1BUXNMSUJRZ0FyZWpJaFFnQUNzRGFHTU5CU0FLQkVBZ0ZDQUFLd040WXdSQUlCUWdGYU1nQUNzRGNHUU5Cd3NMSUFvZ0FDZ0NZRVlOQlVFQUlRVkJBQ0VPQTBBZ0RpQUNTQVJBSUE1QkEzUWdDV29yQXdBaUZTQVhaUVJBSUFWQkJtd2lDRUVEZENBR2FpSUNJQUFnQXlBQktBSUVJQTVCR0d4cUVMa0VRUUJJRFFVZ0FrUUFBQUFBQUFEd1B5QVZJQmVqb1NJVklCV2lJaFVnQWlzREFLSTVBd0FnQ0VFQmNrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVDYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRURha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVGYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUdha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVJYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUpha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFS2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVMYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0JVRURkQ0FIYWlBVklBNUJBWFFpQWtFRGRDQUhhaXNEQUtJNUF3QWdCVUVCYWtFRGRDQUhhaUFWSUFKQkFYSkJBM1FnQjJvckF3Q2lPUU1BSUFWQkFtb2hCU0FCS0FJSUlRSUxJQTVCQVdvaERnd0JDd3NnQlVFR1NBMERJQXNnQnlBR0lBVVFzd1JCQUVnTkJDQURJQXNRc2dRZ0ZDRVZJQXBCQVdvaENnd0JDd3NnQmlBSElBa2dEUkNQQWtGL0RBUUxJQVlnQnlBSklBMFFqd0pCZnd3REN5QUdJQWNnQ1NBTkVJOENRWDhNQWdzZ0JpQUhJQWtnRFJDUEFrRi9EQUVMSUFRZ0ZEa0RBQ0FHRURnZ0J4QTRJQWtRT0NBTkVEaEJBQXNMSVJNZ0N5UUdJQk1MSGdBZ0FFR01vUUUyQWdBZ0FDZ0NDQkJjUndSQUlBQW9BZ2dRaHdNTEN4SUFJQVFnQWpZQ0FDQUhJQVUyQWdCQkF3c0VBRUVFQ3hVQUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3hwQmZ3ditDQUVNZnlBQ0lBQTJBZ0FnRFVFRWFpRVlJQU5CZ0FSeFJTRVpJQTVCQUVvaEdnTkFJQmRCQkVjRVFBSkFBa0FDUUFKQUFrQUNRQ0FJSUJkcUxBQUFEZ1VBQVFNQ0JBVUxJQUVnQWlnQ0FEWUNBQXdFQ3lBQklBSW9BZ0EyQWdBZ0JpZ0NBQ2dDTENFUElBWkJJQ0FQUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFOZ0lBSUE4Z0VEWUNBQXdEQ3lBTkxBQUxJZzlCQUVnaEVDQVlLQUlBSUE5Qi93RnhJQkFiQkVBZ0RTZ0NBQ0FOSUJBYktBSUFJUkFnQWlBQ0tBSUFJZzlCQkdvMkFnQWdEeUFRTmdJQUN3d0NDeUFNTEFBTElnOUJBRWdoRUNBWklBd29BZ1FnRDBIL0FYRWdFQnNpRTBWeVJRUkFJQXdvQWdBZ0RDQVFHeUlQSUJOQkFuUnFJUkVnQWlnQ0FDSVFJUklEUUNBUElCRkhCRUFnRWlBUEtBSUFOZ0lBSUJKQkJHb2hFaUFQUVFScUlROE1BUXNMSUFJZ0UwRUNkQ0FRYWpZQ0FBc01BUXNnQWlnQ0FDRVVJQVJCQkdvZ0JDQUhHeUlXSVFRRFFBSkFJQVFnQlU4TkFDQUdLQUlBS0FJTUlROGdCa0dBRUNBRUtBSUFJQTlCUDNGQnlnRnFFUVFBUlEwQUlBUkJCR29oQkF3QkN3c2dHZ1JBSUE0aER3TkFJQTlCQUVvaUVDQUVJQlpMY1FSQUlBUkJmR29pQkNnQ0FDRVJJQUlnQWlnQ0FDSVFRUVJxTmdJQUlCQWdFVFlDQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSXNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFVElBOGhFU0FDS0FJQUlSQURRQ0FRUVFScUlROGdFVUVBU2dSQUlCQWdFellDQUNBUlFYOXFJUkVnRHlFUURBRUxDeUFDSUE4MkFnQWdFQ0FKTmdJQUN5QUVJQlpHQkVBZ0JpZ0NBQ2dDTENFRUlBWkJNQ0FFUVQ5eFFZb0JhaEVDQUNFUUlBSWdBaWdDQUNJUFFRUnFJZ1EyQWdBZ0R5QVFOZ0lBQlNBTExBQUxJZzlCQUVnaEVDQUxLQUlFSUE5Qi93RnhJQkFiQkg4Z0N5Z0NBQ0FMSUJBYkxBQUFCVUYvQ3lFUFFRQWhFRUVBSVJJZ0JDRVJBMEFnRVNBV1J3UkFJQUlvQWdBaEZTQVBJQkpHQkg4Z0FpQVZRUVJxSWhNMkFnQWdGU0FLTmdJQUlBc3NBQXNpRDBFQVNDRVZJQkJCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlViU1FSQVFYOGdCQ0FMS0FJQUlBc2dGUnRxTEFBQUlnOGdEMEgvQUVZYklROEZJQkloRHd0QkFDRVNJQk1GSUJBaEJDQVZDeUVRSUJGQmZHb2lFU2dDQUNFVElBSWdFRUVFYWpZQ0FDQVFJQk0yQWdBZ0JDRVFJQkpCQVdvaEVnd0JDd3NnQWlnQ0FDRUVDeUFFSUJSR0JIOGdGZ1VEUUNBVUlBUkJmR29pQkVrRVFDQVVLQUlBSVE4Z0ZDQUVLQUlBTmdJQUlBUWdEellDQUNBVVFRUnFJUlFNQVFVZ0ZpRUVEQU1MQUFBTEFBc2hCQXNnRjBFQmFpRVhEQUVMQ3lBTkxBQUxJZ1JCQUVnaEJ5QVlLQUlBSUFSQi93RnhJQWNiSWdaQkFVc0VRQ0FOS0FJQUlnVkJCR29nR0NBSEd5RUVJQVpCQW5RZ0JTQU5JQWNiYWlJSElBUnJJUVlnQWlnQ0FDSUZJUWdEUUNBRUlBZEhCRUFnQ0NBRUtBSUFOZ0lBSUFoQkJHb2hDQ0FFUVFScUlRUU1BUXNMSUFJZ0JrRUNka0VDZENBRmFqWUNBQXNDUUNBRFFiQUJjVUVZZEVFWWRVRVFheUlEUlEwQUlBTkJFRVlFUUNBQklBSW9BZ0EyQWdBTUFRc2dBU0FBTmdJQUN3dlpCUUVGZnlNR0lRb2pCa0VRYWlRR0lBcEJER29oQ3lBS0lBQUVmeUFDUWZqUEF4QTZCU0FDUWZEUEF4QTZDeUlBSUFFRWZ5QUxJQUFnQUNnQ0FDZ0NMRUUvY1VHeUJXb1JBd0FnQXlBTEtBSUFOZ0FBSUFBb0FnQW9BaUFGSUFzZ0FDQUFLQUlBS0FJb1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0hBdEJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFFSUFBZ0FDZ0NBQ2dDREVIL0FIRkJDR29SQUFBMkFnQWdCU0FBSUFBb0FnQW9BaEJCL3dCeFFRaHFFUUFBTmdJQUlBb2dBQ0FBS0FJQUtBSVVRVDl4UWJJRmFoRURBQ0FHTEFBTFFRQklCRUFDZnlBR0tBSUFJUTBnQzBFQU9nQUFJQTBMSUFzUVh5QUdRUUEyQWdRZ0Jpd0FDMEVBU0FSQUlBWW9BZ2dhSUFZb0FnQVFPQ0FHUVFBMkFnZ0xCU0FMUVFBNkFBQWdCaUFMRUY4Z0JrRUFPZ0FMQ3lBR0lBb3BBZ0EzQWdBZ0JpQUtLQUlJTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBcHFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUtFRWNnQ2lBQUlBQW9BZ0FvQWhoQlAzRkJzZ1ZxRVFNQUlBY3NBQXRCQUVnRVFBSi9JQWNvQWdBaERpQUxRUUEyQWdBZ0Rnc2dDeEJ1SUFkQkFEWUNCQ0FITEFBTFFRQklCRUFnQnlnQ0NCb2dCeWdDQUJBNElBZEJBRFlDQ0FzRklBdEJBRFlDQUNBSElBc1FiaUFIUVFBNkFBc0xJQWNnQ2lrQ0FEY0NBQ0FISUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUpJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUEyQWdBZ0NpUUdDN1lJQVFwL0lBSWdBRFlDQUNBRFFZQUVjVVVoRnlBT1FRQktJUmdEUUNBVlFRUkhCRUFDUUFKQUFrQUNRQUpBQWtBZ0NDQVZhaXdBQUE0RkFBRURBZ1FGQ3lBQklBSW9BZ0EyQWdBTUJBc2dBU0FDS0FJQU5nSUFJQVlvQWdBb0Fod2hEeUFHUVNBZ0QwRS9jVUdLQVdvUkFnQWhFQ0FDSUFJb0FnQWlEMEVCYWpZQ0FDQVBJQkE2QUFBTUF3c2dEU3dBQ3lJUFFRQklJUkFnRFNnQ0JDQVBRZjhCY1NBUUd3UkFJQTBvQWdBZ0RTQVFHeXdBQUNFUUlBSWdBaWdDQUNJUFFRRnFOZ0lBSUE4Z0VEb0FBQXNNQWdzZ0RDd0FDeUlQUVFCSUlSQWdGeUFNS0FJRUlBOUIvd0Z4SUJBYklnOUZja1VFUUNBUElBd29BZ0FnRENBUUd5SVBhaUVRSUFJb0FnQWhFUU5BSUE4Z0VFY0VRQ0FSSUE4c0FBQTZBQUFnRVVFQmFpRVJJQTlCQVdvaER3d0JDd3NnQWlBUk5nSUFDd3dCQ3lBQ0tBSUFJUklnQkVFQmFpQUVJQWNiSWhNaEJBTkFBa0FnQkNBRlR3MEFJQVFzQUFBaUQwRi9UQTBBSUFZb0FnZ2dEMEVCZEdvdUFRQkJnQkJ4UlEwQUlBUkJBV29oQkF3QkN3c2dHQVJBSUE0aER3TkFJQTlCQUVvaUVDQUVJQk5MY1FSQUlBUkJmMm9pQkN3QUFDRVJJQUlnQWlnQ0FDSVFRUUZxTmdJQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQUVmeUFHS0FJQUtBSWNJUkFnQmtFd0lCQkJQM0ZCaWdGcUVRSUFCVUVBQ3lFUkEwQWdBaUFDS0FJQUloQkJBV28yQWdBZ0QwRUFTZ1JBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBZ0NUb0FBQXNnQkNBVFJnUkFJQVlvQWdBb0Fod2hCQ0FHUVRBZ0JFRS9jVUdLQVdvUkFnQWhEeUFDSUFJb0FnQWlCRUVCYWpZQ0FDQUVJQTg2QUFBRkFrQWdDeXdBQ3lJUFFRQklJUkFnQ3lnQ0JDQVBRZjhCY1NBUUd3Ui9JQXNvQWdBZ0N5QVFHeXdBQUFWQmZ3c2hEMEVBSVJGQkFDRVVJQVFoRUFOQUlCQWdFMFlOQVNBUElCUkdCRUFnQWlBQ0tBSUFJZ1JCQVdvMkFnQWdCQ0FLT2dBQUlBc3NBQXNpRDBFQVNDRVdJQkZCQVdvaUJDQUxLQUlFSUE5Qi93RnhJQlliU1FSQVFYOGdCQ0FMS0FJQUlBc2dGaHRxTEFBQUlnOGdEMEgvQUVZYklROEZJQlFoRHd0QkFDRVVCU0FSSVFRTElCQkJmMm9pRUN3QUFDRVdJQUlnQWlnQ0FDSVJRUUZxTmdJQUlCRWdGam9BQUNBRUlSRWdGRUVCYWlFVURBQUFDd0FMQ3lBQ0tBSUFJZ1FnRWtZRWZ5QVRCUU5BSUJJZ0JFRi9haUlFU1FSQUlCSXNBQUFoRHlBU0lBUXNBQUE2QUFBZ0JDQVBPZ0FBSUJKQkFXb2hFZ3dCQlNBVElRUU1Bd3NBQUFzQUN5RUVDeUFWUVFGcUlSVU1BUXNMSUEwc0FBc2lCRUVBU0NFR0lBMG9BZ1FnQkVIL0FYRWdCaHNpQlVFQlN3UkFJQTBvQWdBZ0RTQUdHeUlFSUFWcUlRVWdBaWdDQUNFR0EwQWdCU0FFUVFGcUlnUkhCRUFnQmlBRUxBQUFPZ0FBSUFaQkFXb2hCZ3dCQ3dzZ0FpQUdOZ0lBQ3dKQUlBTkJzQUZ4UVJoMFFSaDFRUkJySWdORkRRQWdBMEVRUmdSQUlBRWdBaWdDQURZQ0FBd0JDeUFCSUFBMkFnQUxDOWtGQVFWL0l3WWhDaU1HUVJCcUpBWWdDa0VNYWlFTElBb2dBQVIvSUFKQjZNOERFRG9GSUFKQjRNOERFRG9MSWdBZ0FRUi9JQXNnQUNBQUtBSUFLQUlzUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSUFVZ0N5QUFJQUFvQWdBb0FpaEJQM0ZCc2dWcUVRTUFJQU1nQ3lnQ0FEWUFBQ0FBS0FJQUtBSWNDMEUvY1VHeUJXb1JBd0FnQ0N3QUMwRUFTQVJBQW44Z0NDZ0NBQ0VNSUF0QkFEb0FBQ0FNQ3lBTEVGOGdDRUVBTmdJRUlBZ3NBQXRCQUVnRVFDQUlLQUlJR2lBSUtBSUFFRGdnQ0VFQU5nSUlDd1VnQzBFQU9nQUFJQWdnQ3hCZklBaEJBRG9BQ3dzZ0NDQUtLUUlBTndJQUlBZ2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFRZ0FDQUFLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FGSUFBZ0FDZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFBSUFBb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBTFFRQTZBQUFnRFFzZ0N4QmZJQVpCQURZQ0JDQUdMQUFMUVFCSUJFQWdCaWdDQ0JvZ0JpZ0NBQkE0SUFaQkFEWUNDQXNGSUF0QkFEb0FBQ0FHSUFzUVh5QUdRUUE2QUFzTElBWWdDaWtDQURjQ0FDQUdJQW9vQWdnMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdDbXBCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQW9RUnlBS0lBQWdBQ2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU9JQXRCQURvQUFDQU9DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQWtnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMdFNNQkczOGpCaUVQSXdaQmdBUnFKQVlnRDBIMEEyb2hHU0FQUWRnRGFpRWZJQTlCMUFOcUlTQWdEMEc4QTJvaERDQVBRYkFEYWlFTklBOUJwQU5xSVE0Z0QwR1lBMm9oRVNBUFFaUURhaUVYSUE5QmtBTnFJUndnRDBId0Eyb2lHaUFLTmdJQUlBOUI2QU5xSWhRZ0R6WUNBQ0FVUVpFQk5nSUVJQTlCNEFOcUloSWdEellDQUNBUFFkd0RhaUliSUE5QmtBTnFOZ0lBSUE5QnlBTnFJaFpDQURjQ0FDQVdRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0ZtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBeENBRGNDQUNBTVFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnREdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUExQ0FEY0NBQ0FOUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTVDQURjQ0FDQU9RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RtcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElCRkNBRGNDQUNBUlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRVdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUFJZ0F5QVpJQjhnSUNBV0lBd2dEU0FPSUJjUXF3b2dDU0FJS0FJQU5nSUFJQVJCZ0FSeFFRQkhJU0ZCQUNFQ0FuOENRQUpBQWtBQ1FBSkFBa0FEUUFKQUlCTkJCRThOQnlBQUtBSUFJZ01FZnlBREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQUJLQUlBSWd0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXNMQWtBQ1FBSkFBa0FDUUFKQUFrQWdFeUFaYWl3QUFBNEZBUUFEQWdRR0N5QVRRUU5IQkVBZ0IwR0F3QUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkJ5QVJJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUFVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FMRUk0Q0RBVUxEQVVMSUJOQkEwY05Bd3dFQ3lBTktBSUVJQTBzQUFzaUEwSC9BWEVnQTBFQVNCc2lDMEVBSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SVFhMGNFUUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmlFS0lBdEZJZ3NnRUVWeUJFQWdDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSVFNZ0N3UkFJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5Z0NBQ0FEUncwR0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnQmtFQk9nQUFJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJnc2dEU2dDQUNBTklBMHNBQXRCQUVnYktBSUFJQU5IQkVBZ0JrRUJPZ0FBREFZTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JFRUVhallDRENBRUtBSUFHZ3NnRFNBQ0lBMG9BZ1FnRFN3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDd0ovSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5RWtJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nSkNBTktBSUFJQTBnRFN3QUMwRUFTQnNvQWdCR0N3UkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QU5JQUlnRFNnQ0JDQU5MQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFVTElBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFPS0FJQUlBNGdEaXdBQzBFQVNCc29BZ0JIRFFjZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFHUVFFNkFBQWdEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWdzTUF3c0NRQUpBSUJOQkFra2dBbklFUUNBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTWdFdzBCQlNBVFFRSkdJQmtzQUFOQkFFZHhJQ0Z5UlFSQVFRQWhBZ3dHQ3lBTUtBSUFJZ1FnRENBTUxBQUxJZ3BCQUVnYklRTU1BUXNNQVFzZ0dTQVRRWDlxYWkwQUFFRUNTQVJBQWtBQ1FBTkFJQU1nRENnQ0JDQUtRZjhCY1NBS1FSaDBRUmgxUVFCSUloQWJRUUowSUFRZ0RDQVFHMnBIQkVBZ0IwR0F3QUFnQXlnQ0FDQUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c01BUXNnREN3QUN5RUtJQXdvQWdBaEJBc2dFU3dBQ3lJWVFRQklJUlVnQXlBRUlBd2dDa0VZZEVFWWRVRUFTQnNpSFNJUWEwRUNkU0lpSUJFb0FnUWlIaUFZUWY4QmNTSVlJQlViU3dSL0lCQUZJQkVvQWdBZ0hrRUNkR29pSGlBWVFRSjBJQkZxSWhnZ0ZSc2hJMEVBSUNKclFRSjBJQjRnR0NBVkcyb2hGUU4vSUJVZ0kwWU5BeUFWS0FJQUlCMG9BZ0JHQkg4Z0hVRUVhaUVkSUJWQkJHb2hGUXdCQlNBUUN3c0xJUU1MQ3dOQUFrQWdBeUFNS0FJRUlBcEIvd0Z4SUFwQkdIUkJHSFZCQUVnaUNodEJBblFnQkNBTUlBb2Jha1lOQUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQUxSUTBBSUFzb0Fnd2lDaUFMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBEQ3d3QkN5QUVEUUZCQUNFTEN5QUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxJQU1vQWdCSERRQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVRQ0FFSUFRb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0JDQUtRUVJxTmdJTUlBb29BZ0FhQ3lBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NnSVFSQUlBd3NBQXNpQ2tFQVNDRUVJQXdvQWdRZ0NrSC9BWEVnQkJ0QkFuUWdEQ2dDQUNBTUlBUWJhaUFEUncwSEN3d0NDMEVBSVFRZ0N5RURBMEFDUUNBQUtBSUFJZ29FZnlBS0tBSU1JaEFnQ2lnQ0VFWUVmeUFLSUFvb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVLQWtBQ1FDQUxSUTBBSUFzb0Fnd2lFQ0FMS0FJUVJnUi9JQXNnQ3lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhDd3NnQjBHQUVDQUFLQUlBSWdvb0Fnd2lFQ0FLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJBb0FnQUxJaEFnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUFFZnlBSktBSUFJZ29nR2lnQ0FFWUVRQ0FJSUFrZ0doRE5BU0FKS0FJQUlRb0xJQWtnQ2tFRWFqWUNBQ0FLSUJBMkFnQWdCRUVCYWdVZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQkFnSUNnQ0FFWnhSUTBCSUJJb0FnQWlDaUFiS0FJQVJnUkFJQlFnRWlBYkVNMEJJQklvQWdBaENnc2dFaUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJUUlBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nRUVFRWFqWUNEQ0FRS0FJQUdnc01BUXNMSUJJb0FnQWlDaUFVS0FJQVJ5QUVRUUJIY1FSQUlBb2dHeWdDQUVZRVFDQVVJQklnR3hETkFTQVNLQUlBSVFvTElCSWdDa0VFYWpZQ0FDQUtJQVEyQWdBTElCY29BZ0JCQUVvRVFBSkFJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzZ0h5Z0NBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkJHbzJBZ3dnQ2lnQ0FCb0xBMEFnRnlnQ0FFRUFUQTBCSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBZEJnQkFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQ3lBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkNpQUpLQUlBSUJvb0FnQkdCRUFnQ0NBSklCb1F6UUVMSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUFzaEJDQUpJQWtvQWdBaUNrRUVhallDQUNBS0lBUTJBZ0FnRnlBWEtBSUFRWDlxTmdJQUlBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JFQWdCQ0FFS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFRZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRTUNRQUpBSUF0RkRRQWdDeWdDRENJRUlBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRUUxEQUVMSUFNTkFrRUFJUXNMSUFkQmdNQUFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXNnQnlnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUVhallDRENBRUtBSUFDeENPQWd3QUFBc0FDeUFUUVFGcUlSTU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQUVvQWdBaUEwVU5BQ0FES0FJTUlnZ2dBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0JFVU5Bd3NNQVFzZ0JBMEJDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMSUFJc0FBdEJBRWdFZnlBQ0tBSUFCU0FDQ3lBSFFRSjBhaWdDQUVjTkFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJCR28yQWd3Z0JDZ0NBQm9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCUW9BZ0FpQUNBU0tBSUFJZ0ZHQkg5QkFRVWdIRUVBTmdJQUlCWWdBQ0FCSUJ3UWVDQWNLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKU0FSRUVjZ0RoQkhJQTBRUnlBTUVFY2dGaEJISUJRb0FnQWhBQ0FVUVFBMkFnQWdBQVJBSUFBZ0ZDZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUEpBWWdKUXVzQVFFRmZ5QUNLQUlBSUFBb0FnQWlBeUlHYXlJRlFRRjBJZ1JCQVNBRUcwRi9JQVZCLy8vLy93ZEpHeUVGSUFFb0FnQWhCeUFEUVFBZ0FDZ0NCRUdSQVVjaUJCc2dCUkRvQVNJRFJRUkFFQUFMSUFRRVFDQUFJQU0yQWdBRklBQW9BZ0FoQkNBQUlBTTJBZ0FnQkFSQUlBUWdBQ2dDQkVIL0FYRkJyQU5xRVFFQUlBQW9BZ0FoQXdzTElBQkJrZ0UyQWdRZ0FTQUhJQVpySUFOcU5nSUFJQUlnQlNBQUtBSUFhallDQUF1Y0pBRWFmeU1HSVJBakJrR0FCR29rQmlBUVFmQURhaUVhSUJCQjdRTnFJU0FnRUVIc0Eyb2hJU0FRUWJ3RGFpRU5JQkJCc0FOcUlRNGdFRUdrQTJvaER5QVFRWmdEYWlFUklCQkJsQU5xSVJjZ0VFR1FBMm9oSGlBUVFlZ0RhaUliSUFvMkFnQWdFRUhnQTJvaUZTQVFOZ0lBSUJWQmtRRTJBZ1FnRUVIWUEyb2lFeUFRTmdJQUlCQkIxQU5xSWh3Z0VFR1FBMm8yQWdBZ0VFSElBMm9pRmtJQU53SUFJQlpCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVdha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEVUlBTndJQUlBMUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBTmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RrSUFOd0lBSUE1QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FPYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRDBJQU53SUFJQTlCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVBha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dFVUlBTndJQUlCRkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUmFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0FpQURJQm9nSUNBaElCWWdEU0FPSUE4Z0Z4Q3ZDaUFKSUFnb0FnQTJBZ0FnQkVHQUJIRkJBRWNoSWtFQUlRSUNmd0pBQWtBQ1FBSkFBa0FDUUFOQUFrQWdGRUVFVHcwSElBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnQVNnQ0FDSU1SUTBBSUF3b0Fnd2lCQ0FNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRd0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0ZDQWFhaXdBQUE0RkFRQURBZ1FHQ3lBVVFRTkhCRUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTElnTkIvd0Z4UVJoMFFSaDFRWDlNRFFjZ0J5Z0NDQ0FEUVJoMFFSaDFRUUYwYWk0QkFFR0F3QUJ4UlEwSElCRWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDQzBIL0FYRVF6QUVNQlFzTUJRc2dGRUVEUncwRERBUUxJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJTFFRQWdEeWdDQkNBUExBQUxJZ05CL3dGeElBTkJBRWdiSWd4clJ3UkFJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nQzBVaUN5QU1SWElFUUNBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEgvQVhFaEF5QUxCRUFnRHlnQ0FDQVBJQThzQUF0QkFFZ2JMUUFBSUFOSERRWWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBWkJBVG9BQUNBUElBSWdEeWdDQkNBUExBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVlMSUE0b0FnQWdEaUFPTEFBTFFRQklHeTBBQUNBRFJ3UkFJQVpCQVRvQUFBd0dDeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dEaUFDSUE0b0FnUWdEaXdBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN5QUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQ3lFTElBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dEaWdDQUNBT0lBNHNBQXRCQUVnYkxRQUFJQXRCL3dGeFJnUkFJQW9FUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQTRnQWlBT0tBSUVJQTRzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTUJRc2dDZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0Qi93RnhJQThvQWdBZ0R5QVBMQUFMUVFCSUd5MEFBRWNOQnlBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnQmtFQk9nQUFJQThnQWlBUEtBSUVJQThzQUFzaUFrSC9BWEVnQWtFQVNCdEJBVXNiSVFJTERBTUxBa0FDUUNBVVFRSkpJQUp5QkVBZ0RTZ0NBQ0lLSUEwZ0RTd0FDeUlEUVFCSUlnc2JJaGdoQkNBVURRRUZJQlJCQWtZZ0dpd0FBMEVBUjNFZ0luSkZCRUJCQUNFQ0RBWUxJQTBvQWdBaUNpQU5JQTBzQUFzaUEwRUFTQ0lMR3lJWUlRUU1BUXNNQVFzZ0dpQVVRWDlxYWkwQUFFRUNTQVJBSUEwb0FnUWdBMEgvQVhFZ0N4c2dHR29oRWlBRUlRc0RRQUpBSUFzZ0VrWU5BQ0FMTEFBQUloMUJmMHdOQUNBSEtBSUlJQjFCQVhScUxnRUFRWURBQUhGRkRRQWdDMEVCYWlFTERBRUxDeUFSTEFBTElobEJBRWdoRWlBTElBUnJJaDBnRVNnQ0JDSWZJQmxCL3dGeEloa2dFaHROQkVBZ0h5QVJLQUlBYWlJZklCRWdHV29pR1NBU0d5RWpJQjhnSFdzZ0dTQWRheUFTR3lFU0EwQWdFaUFqUmdSQUlBc2hCQXdFQ3lBU0xBQUFJQmdzQUFCR0JFQWdHRUVCYWlFWUlCSkJBV29oRWd3QkN3c0xDd3NEUUFKQUlBUWdDaUFOSUFOQkdIUkJHSFZCQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwR0RRQWdBQ2dDQUNJREJIOGdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBTVJRMEFJQXdvQWd3aUNpQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUU1MREFFTElBTU5BVUVBSVF3TElBQW9BZ0FpQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0JDMEFBRWNOQUNBQUtBSUFJZ01vQWd3aUNpQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NnQkVFQmFpRUVJQTBzQUFzaEF5QU5LQUlBSVFvTUFRc0xJQ0lFUUNBRUlBMG9BZ0FnRFNBTkxBQUxJZ05CQUVnaUNoc2dEU2dDQkNBRFFmOEJjU0FLRzJwSERRY0xEQUlMUVFBaEJDQU1JUU1EUUFKQUlBQW9BZ0FpQ2dSL0lBb29BZ3dpQ3lBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBc3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaENnSkFBa0FnREVVTkFDQU1LQUlNSWdzZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUxMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaERBc0Nmd0pBSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkg4Z0NpQUtLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0N5SUtRZjhCY1NJTFFSaDBRUmgxUVg5TURRQWdCeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRQWdDU2dDQUNJS0lCc29BZ0JHQkVBZ0NDQUpJQnNRcHdRZ0NTZ0NBQ0VLQ3lBSklBcEJBV28yQWdBZ0NpQUxPZ0FBSUFSQkFXb01BUXNnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElDRXRBQUFnQzBaeFJRMEJJQk1vQWdBaUNpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dDMEVCYWpZQ0RDQUxMQUFBRUVJYUN3d0JDd3NnRXlnQ0FDSUtJQlVvQWdCSElBUkJBRWR4QkVBZ0NpQWNLQUlBUmdSQUlCVWdFeUFjRU0wQklCTW9BZ0FoQ2dzZ0V5QUtRUVJxTmdJQUlBb2dCRFlDQUFzZ0Z5Z0NBRUVBU2dSQUFrQWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEgvQVhFZ0lDMEFBRWNOQ0NBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NEUUNBWEtBSUFRUUJNRFFFZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0N5SUVRZjhCY1VFWWRFRVlkVUYvVEEwS0lBY29BZ2dnQkVFWWRFRVlkVUVCZEdvdUFRQkJnQkJ4UlEwS0lBa29BZ0FnR3lnQ0FFWUVRQ0FJSUFrZ0d4Q25CQXNnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtMQUFBRUVJTElRUWdDU0FKS0FJQUlncEJBV28yQWdBZ0NpQUVPZ0FBSUJjZ0Z5Z0NBRUYvYWpZQ0FDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdERVVOQUNBTUtBSU1JZ1FnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FEUlEwRUN3d0JDeUFERFFKQkFDRU1DeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWdzaUEwSC9BWEZCR0hSQkdIVkJmMHdOQVNBSEtBSUlJQU5CR0hSQkdIVkJBWFJxTGdFQVFZREFBSEZGRFFFZ0VTQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFGSUFNZ0JFRUJhallDRENBRUxBQUFFRUlMUWY4QmNSRE1BUXdBQUFzQUN5QVVRUUZxSVJRTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQWdBU2dDQUNJRFJRMEFJQU1vQWd3aUNDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUU1MREFFTElBUU5BUXNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFmOEJjU0FDTEFBTFFRQklCSDhnQWlnQ0FBVWdBZ3NnQjJvdEFBQkhEUUFnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJVb0FnQWlBQ0FUS0FJQUlnRkdCSDlCQVFVZ0hrRUFOZ0lBSUJZZ0FDQUJJQjRRZUNBZUtBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpDQVJFRWNnRHhCSElBNFFSeUFORUVjZ0ZoQkhJQlVvQWdBaEFDQVZRUUEyQWdBZ0FBUkFJQUFnRlNnQ0JFSC9BWEZCckFOcUVRRUFDeUFRSkFZZ0pBc1pBQ0FBUWdBM0FnQWdBRUVBTmdJSUlBQkJBVUV0RUpNRUN4a0FJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFRUJRUzBRbGdRTEZRQWdBQ2dDQUJCY1J3UkFJQUFvQWdBUWh3TUxDMk1CQVg4akJpRUdJd1pCRUdva0JpQUdRU1U2QUFBZ0JpQUVPZ0FCSUFZZ0JUb0FBaUFHUVFBNkFBTWdCVUgvQVhFRVFDQUdJQVU2QUFFZ0JpQUVPZ0FDQ3lBQ0lBRWdBaWdDQUNBQmF5QUdJQU1nQUNnQ0FCQWZJQUZxTmdJQUlBWWtCZ3NPQUNBQVFRaHFFS3NFSUFBUU9Bc0tBQ0FBUVFocUVLc0VDMndCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKa0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkIwQTlxSUFGQjdBNXFJQUVnQVVIa0FFZ2JJQUZCeFFCSUcwR1VjV28yQWdBTElBVWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlFSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYUFDYWlBRklBUkJBQkNWQWlBQWF5SUFRYUFDU0FSQUlBRWdBRUVNRURsQkRCQlBOZ0lBQ3lBR0pBWUxld0VDZnlNR0lRWWpCa0VRYWlRR0lBQkJDR29pQUNnQ0FDZ0NBQ0VISUFBZ0IwSC9BSEZCQ0dvUkFBQWhBQ0FHSUFNb0FnQTJBZ0FnQmtFRWFpSURJQVlvQWdBMkFnQWdBaUFESUFBZ0FFR29BV29nQlNBRVFRQVFsUUlnQUdzaUFFR29BVWdFUUNBQklBQkJEQkE1UVFjUVR6WUNBQXNnQmlRR0M3Z0NBUVovSXdZaEF5TUdRWUFDYWlRR0lBTkJ3QUZxSWdJZ0FSREVDaUFEUWVBQWFpSUVJQUlRdXdwQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQlhRZ0FHb2hCU0FCUVFWMElBQnFJUVlnQVVFRmRDQUFhaUVIUVFBaEFnTkFJQUpCQkVjRVFDQUJRUVYwSUFOcUlBSkJBM1JxSUFVckF3QWdBa0VEZENBRWFpc0RBS0lnQmlzRENDQUVRU0JxSUFKQkEzUnFLd01Bb3FBZ0J5c0RFQ0FFUVVCcklBSkJBM1JxS3dNQW9xQTVBd0FnQWtFQmFpRUNEQUVMQ3lBQlFRVjBJQU5xSWdJZ0FVRUZkQ0FBYWlzREdDQUNLd01Zb0RrREdDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBVUVGZENBQWFpQUNRUU4wYWlBQlFRVjBJQU5xSUFKQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFESkFZTDBBRUJCSDhqQmlFRUl3WkJNR29rQmlBRVFSaHFJZ1ZCQmpZQ0JDQUZRUUUyQWdnZ0JTQUFOZ0lBSUFSQkRHb2lCaUFETmdJRUlBWkJBVFlDQ0NBR0lBRTJBZ0FnQkNBRE5nSUVJQVJCQmpZQ0NDQUVJQUkyQWdBZ0JCQ2dBeUlBQkg4Q2Z5QUFJQVFRMlFFaUFVVUVRQ0FBRUVsQmZ3d0JDeUFBSUFZUTJRRWlBa1VFUUNBQUVFa2dBUkJKUVg4TUFRc2dBUkRXQVVFQVNBUi9JQUFRU1NBQkVFa2dBaEJKUVg4RklBVWdBU0FDRUswQ0dpQUFFRWtnQVJCSklBSVFTVUVBQ3dzRlFYOExJUWNnQkNRR0lBY0xiQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1nRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVSFFEMm9nQVVIc0Rtb2dBU0FCUWVRQVNCc2dBVUhGQUVnYlFaUnhhallDQUFzZ0JTUUdDM3NCQW44akJpRUdJd1pCRUdva0JpQUFRUWhxSWdBb0FnQW9BZ1FoQnlBQUlBZEIvd0J4UVFocUVRQUFJUUFnQmlBREtBSUFOZ0lBSUFaQkJHb2lBeUFHS0FJQU5nSUFJQUlnQXlBQUlBQkJvQUpxSUFVZ0JFRUFFSllDSUFCcklnQkJvQUpJQkVBZ0FTQUFRUXdRT1VFTUVFODJBZ0FMSUFZa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUFJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhZ0JhaUFGSUFSQkFCQ1dBaUFBYXlJQVFhZ0JTQVJBSUFFZ0FFRU1FRGxCQnhCUE5nSUFDeUFHSkFZTEJBQkJBZ3VYQ0FFTGZ5TUdJUXNqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZzBvQWdBb0FoUWhCaUFMSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWd3Q2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFLSUFJZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUVhallDQUNBR0lBSTJBZ0FnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUtRVEFnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFRWFqWUNBQ0FISUFJMkFnQWdDaUFHTEFBQklBb29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJCR28yQWdBZ0J5QUNOZ0lBSUFaQkFtb2lCaUVDQTBBZ0FpQU1TUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnREU4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFzb0FnUWdDeXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUWtnQ0NBSExBQUFPZ0FBSUFjZ0NUb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVFsQkFDRUhRUUFoQ0FOQUlBa2dBa2tFUUNBSElBc29BZ0FnQ3lBTExBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnRHpZQ0FDQUhJQWNnQ3lnQ0JDQUxMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQW9nQ1N3QUFDQUtLQUlBS0FJc1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUVJxTmdJQUlCQWdEallDQUNBSlFRRnFJUWtnQ0VFQmFpRUlEQUVMQ3lBR0lBQnJRUUowSUFOcUlna2dCU2dDQUNJSVJnUi9JQW9oQnlBSkJTQUlJUVlEZnlBSklBWkJmR29pQmtrRWZ5QUpLQUlBSVFjZ0NTQUdLQUlBTmdJQUlBWWdCellDQUNBSlFRUnFJUWtNQVFVZ0NpRUhJQWdMQ3dzaEJnVWdDaUFHSUFJZ0JTZ0NBQ0FLS0FJQUtBSXdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQUlnQm10QkFuUnFJZ1kyQWdBZ0NpRUhDd0pBQWtBRFFDQUNJQXhKQkVBZ0Fpd0FBQ0lHUVM1R0RRSWdDaUFHSUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFrZ0JTQUZLQUlBSWdoQkJHb2lCallDQUNBSUlBazJBZ0FnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUWNnQlNBRktBSUFJZ2xCQkdvaUJqWUNBQ0FKSUFjMkFnQWdBa0VCYWlFQ0N5QUtJQUlnRENBR0lBb29BZ0FvQWpCQkQzRkJpZ0pxRVFrQUdpQUZJQVVvQWdBZ0RDQUNhMEVDZEdvaUFqWUNBQ0FFSUFJZ0FTQUFhMEVDZENBRGFpQUJJQXhHR3pZQ0FDQUxFRWNnQ3lRR0MvVUJBZ1YvQVh3akJpRUVJd1pCNEFGcUpBWWdCRUhZQVdvaEJTQUVRVEJxSWdZZ0JFSEFBV29pQnlBQ0lBTVE4d29nQkNBQklBY1E2QXBCQUVnRWYwRUFRUU5CNGF3QklBVVFQVUYvQlVFQUlRRURmeUFCUVFKR0JIOUJBQVZCQUNFQ0EwQWdBa0VHUndSQUlBRkJNR3dnQUdvZ0FrRURkR29pQlVRQUFBQUFBQUFBQURrREFFRUFJUU5FQUFBQUFBQUFBQUFoQ1FOQUlBTkJBMGNFUUNBRklBa2dBVUVZYkNBRWFpQURRUU4wYWlzREFDQURRVEJzSUFacUlBSkJBM1JxS3dNQW9xQWlDVGtEQUNBRFFRRnFJUU1NQVFzTElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDd3NoQ0NBRUpBWWdDQXY2QndFTGZ5TUdJUW9qQmtFUWFpUUdJQVpCZ000REVEb2hDU0FHUVpET0F4QTZJZzBvQWdBb0FoUWhCaUFLSUEwZ0JrRS9jVUd5QldvUkF3QWdCU0FETmdJQUFrQUNRQ0FDSWdzQ2Z3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFKSUFJZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBSTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJUQTBBSUFZc0FBQkJNRWNOQUNBR0xBQUJRZGdBYXlJQ1FRQWdBa0VnUnhzTkFDQUpRVEFnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQjBFQmFqWUNBQ0FISUFJNkFBQWdDU0FHTEFBQklBa29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRSWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUNPZ0FBSUFaQkFtb2lCaUVDQTBBZ0FpQUxTUVJBSUFJc0FBQVFYQkNEQXdSQUlBSkJBV29oQWd3Q0N3c0xEQUVMSUFZaEFnTkFJQUlnQzA4TkFRSi9JQUlzQUFBaEVSQmNHaUFSQ3hDS0FRUkFJQUpCQVdvaEFnd0JDd3NMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3Ui9JQUlnQmtjRVFBSkFJQUloQnlBR0lRZ0RRQ0FJSUFkQmYyb2lCMDhOQVNBSUxBQUFJUXdnQ0NBSExBQUFPZ0FBSUFjZ0REb0FBQ0FJUVFGcUlRZ01BQUFMQUFzTElBMGdEU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQWhEeUFHSVF4QkFDRUlRUUFoQndOQUlBd2dBa2tFUUNBSElBb29BZ0FnQ2lBS0xBQUxRUUJJRzJvc0FBQWlEa0VBU2lBSUlBNUdjUVJBSUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnRHpvQUFDQUhJQWNnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlFYOXFTV29oQjBFQUlRZ0xJQWtnREN3QUFDQUpLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRU9JQVVnQlNnQ0FDSVFRUUZxTmdJQUlCQWdEam9BQUNBTVFRRnFJUXdnQ0VFQmFpRUlEQUVMQ3lBRElBWWdBR3RxSWdjZ0JTZ0NBQ0lHUmdSL0lBa0ZBMzhnQnlBR1FYOXFJZ1pKQkg4Z0J5d0FBQ0VJSUFjZ0Jpd0FBRG9BQUNBR0lBZzZBQUFnQjBFQmFpRUhEQUVGSUFrTEN3c0ZJQWtnQmlBQ0lBVW9BZ0FnQ1NnQ0FDZ0NJRUVQY1VHS0Ftb1JDUUFhSUFVZ0JTZ0NBQ0FDSUFacmFqWUNBQ0FKQ3lFR0FrQUNRQU5BSUFJZ0Mwa0VRQ0FDTEFBQUlnZEJMa1lOQWlBSklBY2dCaWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCeUFGSUFVb0FnQWlDRUVCYWpZQ0FDQUlJQWM2QUFBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFZZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR09nQUFJQUpCQVdvaEFnc2dDU0FDSUFzZ0JTZ0NBQ0FKS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQlNBRktBSUFJQXNnQW10cUlnSTJBZ0FnQkNBQ0lBTWdBU0FBYTJvZ0FTQUxSaHMyQWdBZ0NoQkhJQW9rQmd1ZUFRRUZmQ0FCS3dOWUlBSXJBd0FpQXlBQlFVQnJLd01Bb2lBQ0t3TUlJZ1FnQVNzRFNLS2dJQUlyQXhBaUJTQUJLd05Rb3FDZ0lnWkVBQUFBQUFBQUFBQmhCSDlCZndVZ0FTc0RPQ0FESUFFckF5Q2lJQVFnQVNzREtLS2dJQVVnQVNzRE1LS2dvQ0VISUFBZ0FTc0RHQ0FESUFFckF3Q2lJQVFnQVNzRENLS2dJQVVnQVNzREVLS2dvQ0FHb3prREFDQUFJQWNnQnFNNUF3aEJBQXNMVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJa0xJUWNnQmlRR0lBY0wwd0VDQTM4QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRWZ5QUNRUVEyQWdCQkFBVkJwTVVES0FJQUlRVkJwTVVEUVFBMkFnQWdBQ0FFSUFNUVhCRDlBaUVIUWFURkF5Z0NBQ0lBUlFSQVFhVEZBeUFGTmdJQUN5QUJJQVFvQWdCR0JIOENmeUFBUWNRQVJnUkFJQUpCQkRZQ0FFSC8vLy8vQnlBSFFnQlZEUUVhQlFKQUlBZENnSUNBZ0hoVEJFQWdBa0VFTmdJQURBRUxJQWVuSUFkQy8vLy8vd2RYRFFJYUlBSkJCRFlDQUVILy8vLy9Cd3dDQ3d0QmdJQ0FnSGdMQlNBQ1FRUTJBZ0JCQUFzTElRWWdCQ1FHSUFZTG9nRUNBbjhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VGUWFURkEwRUFOZ0lBSUFBZ0JDQURFRndRL1FJaEJrR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JUWUNBQXNnQVNBRUtBSUFSZ1IrSUFCQnhBQkdCSDRnQWtFRU5nSUFRdi8vLy8vLy8vLy8vd0JDZ0lDQWdJQ0FnSUNBZnlBR1FnQlZHd1VnQmdzRklBSkJCRFlDQUVJQUN5RUdDeUFFSkFZZ0JndldBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmd0ovSUFCQnhBQkdJQWhDLy84RFZuSUVRQ0FDUVFRMkFnQkJmd3dCQ3lBSXAwSC8vd054SVFCQkFDQUlwMnRCLy84RGNTQUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dkhBUUlFZndGK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSL0lBSkJCRFlDQUVFQUJRSi9JQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVFQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFoQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmeUFBUWNRQVJpQUlRdi8vLy84UFZuSUVmeUFDUVFRMkFnQkJmd1ZCQUNBSXB5SUFheUFBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3U2QVFJRGZ3SitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUitJQUpCQkRZQ0FFSUFCUUorSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFSUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRZEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZmlBQVFjUUFSZ1IrSUFKQkJEWUNBRUovQlVJQUlBZDlJQWNnQlJzTEJTQUNRUVEyQWdCQ0FBc0xDeUVJSUFRa0JpQUlDNG9CQWdKL0FYMGpCaUVESXdaQkVHb2tCaUFBSUFGR0JFQWdBa0VFTmdJQUJVR2t4UU1vQWdBaEJFR2t4UU5CQURZQ0FCQmNHaUFBSUFOQkFCQ2dBclloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVNQUFBQUFJUVVNQVFzTUFRc2dBa0VFTmdJQUN3c2dBeVFHSUFVTGpRRUNBbjhCZkNNR0lRTWpCa0VRYWlRR0lBQWdBVVlFUUNBQ1FRUTJBZ0FGUWFURkF5Z0NBQ0VFUWFURkEwRUFOZ0lBRUZ3YUlBQWdBMEVCRUtBQ0lRVkJwTVVES0FJQUlnQkZCRUJCcE1VRElBUTJBZ0FMQWtBQ1FDQUJJQU1vQWdCR0JFQWdBRUhFQUVZTkFRVkVBQUFBQUFBQUFBQWhCUXdCQ3d3QkN5QUNRUVEyQWdBTEN5QURKQVlnQlF1TkFRSUNmd0Y4SXdZaEF5TUdRUkJxSkFZZ0FDQUJSZ1JBSUFKQkJEWUNBQVZCcE1VREtBSUFJUVJCcE1VRFFRQTJBZ0FRWEJvZ0FDQURRUUlRb0FJaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVUUFBQUFBQUFBQUFDRUZEQUVMREFFTElBSkJCRFlDQUFzTElBTWtCaUFGQ3prQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBUkJpSVFFZ0FFR0Rrd01nQXhDVkF5RUVJQUVFUUNBQkVHSWFDeUFESkFZZ0JBdFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbkFzaEJ5QUdKQVlnQnd1bEFRRUVmeU1HSVFVakJrRVFhaVFHSUFJZ0FXdEJBblVpQkVIdi8vLy9BMHNFUUJBQUN5QUVRUUpKQkVBZ0FDQUVPZ0FMSUFBaEF3VWdCRUVFYWtGOGNTSUdRZi8vLy84RFN3UkFFQUFGSUFBZ0JrRUNkQkJSSWdNMkFnQWdBQ0FHUVlDQWdJQjRjallDQ0NBQUlBUTJBZ1FMQ3dOQUlBRWdBa2NFUUNBRElBRVFiaUFCUVFScUlRRWdBMEVFYWlFRERBRUxDeUFGUVFBMkFnQWdBeUFGRUc0Z0JTUUdDNnNEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEb0FBQXdCQlFKQUlBUkJBV29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUE2QUFBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFTEFBQUVFSTJBakFGQWtBRFFDQUNRUUJNRFFFZ0F5QUNRWDlxSWdKcUxBQUFFRUlnQUNnQ0lCRHZBVUYvUncwQUMwRi9JUUFNQWdzTElBUXNBQUFRUWlFQUN3c0xJQVVrQmlBQUM2VURBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURZQ0FBd0JCUUpBSUFSQkJHb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTJBZ0FNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVLQUlBTmdJd0JRSkFBMEFnQWtFQVRBMEJJQU1nQWtGL2FpSUNhaXdBQUNBQUtBSWdFTzhCUVg5SERRQUxRWDhoQUF3Q0N3c2dCQ2dDQUNFQUN3c0xJQVVrQmlBQUM1b0JBUVYvSXdZaEFTTUdRUkJxSkFZZ0FVRUlhaUlDUVFocUlRVUNRQUpBQTBBZ0FDZ0NKQ0lES0FJQUtBSVVJUVFnQXlBQUtBSW9JQUlnQlNBQklBUkJIM0ZCb2dKcUVRZ0FJUU1DUUNBQktBSUFJQUpySWdRZ0FrRUJJQVFnQUNnQ0lCQ1RBVWNOQUFKQUlBTkJBV3NPQWdBQkF3c01BUXNMUVg4aEFBd0JDeUFBS0FJZ0VLa0NRUUJIUVI5MFFSOTFJUUFMSUFFa0JpQUFDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1E2Z0lMRXdBZ0FDQUFLQUlBUVhScUtBSUFhaENaQWdzVEFDQUFJQUFvQWdCQmRHb29BZ0JxRU9zQ0N4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUW1nSUxLd0VCZndOQUlBSkJDRWNFUUNBQklBSnFJQUJCQnlBQ2Eyb3NBQUE2QUFBZ0FrRUJhaUVDREFFTEN3c1NBQ0FBUWR5TUFUWUNBQ0FBUVFScUVEd0xCQUJCZndzUUFDQUFRZ0EzQXdBZ0FFSi9Od01JQ3hBQUlBQkNBRGNEQUNBQVFuODNBd2dMQkFBZ0FBc3JBUUYvQTBBZ0FrRUVSd1JBSUFFZ0Ftb2dBRUVESUFKcmFpd0FBRG9BQUNBQ1FRRnFJUUlNQVFzTEN4SUFJQUJCbkl3Qk5nSUFJQUJCQkdvUVBBdFRBUU4vSUFJb0FnQWhCQ0FCSUFCclFRSjFJUUVEUUNBQkJFQWdBVUVCZGlJQ1FRSjBJQUJxSWdVb0FnQWdCRWtoQXlBRlFRUnFJQUFnQXhzaEFDQUJRWDlxSUFKcklBSWdBeHNoQVF3QkN3c2dBQXZPQVFFRGZ5TUdJUUlqQmtIQUFXb2tCaUFBSUFJUTFRUWdBRUVFYWlBQ1FRUnFFTlVFQTBBZ0FVRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUFRUWhxSUFGQkJYUnFJQU5CQTNScUlBSkJDR29nQVVFRmRHb2dBMEVEZEdvUXp3UWdBMEVCYWlFRERBRUxDeUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUNnQ3NBRWlBMEVEZEVHWUZXb29BZ0JJQkVBZ0FFSG9BR29nQVVFRGRHb2dBa0hvQUdvZ0FVRURkR29RendRZ0FVRUJhaUVCREFFTEN5QUNJQU0yQXJBQklBQWdBa0c0QVJCTUdpQUNKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSFkrUUJCQlNBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCNFBrQVFRUWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFlajVBRUVESUFFb0FnQVFDQ0FCSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUh3K1FCQkFpQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQitQa0FRUUVnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRWUQ2QUVFQUlBRW9BZ0FRQ0NBQkpBWUxtQXNCRlh3Q2Z3SkFBa0FDUUFKQUFrQUNRQ0FGUVFGckRnUURBZ0VBQkFzZ0FDc0RBQ0VKSUFBckF3Z2hDaUFBUVVCckt3TUFJUTBnQUNzREVDSU9SQUFBQUFBQUFBQkFvaUVQSUFBckF4Z2lFRVFBQUFBQUFBQVlRS0loRXlBUVJBQUFBQUFBQUFCQW9pRVVJQTVFQUFBQUFBQUFHRUNpSVJVZ0FTQUFLd013SWhhaElBQXJBeUFpRjZNaUN5RUJJQUlnQUNzRE9DSVlvU0FBS3dNb0lobWpJZ3doQWlBTElBdWlJUVlnRENBTW9pRUhRUUVoQUFOQUFrQWdCa1FBQUFBQUFBQUFBR0lnQjBRQUFBQUFBQUFBQUdKeVJRUkFSQUFBQUFBQUFBQUFJUUZFQUFBQUFBQUFBQUFoQWd3QkN5QUpJQWNnQnFBaUNLSkVBQUFBQUFBQThEK2dJQWdnQ2lBSW9xS2dJUkVnQnlBR1JBQUFBQUFBQUFoQW9pSWFvaUVTSUFJZ0RpQUhSQUFBQUFBQUFBQkFvaUFJb0tJZ0FpQVJvcUFnQWlBVUlBRWdFQ0FJSUFaRUFBQUFBQUFBQUVDaW9LSWdBaUFQSUFHaW9pQUJJQkdpb0tBZ0M2RWdFeUFCb2lBUElBS2lJQWtnQnlBYW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSG9pQUdJQVpFQUFBQUFBQUFGRUNpb2lBU29LQ2lvS0NnbzZFaUFhSWlDS0tnSUF5aElCVWdBcUlnQ1NBR0lBZEVBQUFBQUFBQUNFQ2lvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhSQUFBQUFBQUFCUkFvcUlnQmlBR29pQVNvS0Npb0tBZ0NLQ2pvU0VDSUFCQkJFY0VRQ0FCSUFHaUlRWWdBaUFDb2lFSElBQkJBV29oQUF3Q0N3c0xJQU1nRmlBWElBR2lJQTJqb0RrREFDQVlJQmtnQXFJZ0RhT2dJUUVNQkFzZ0FDc0RJRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElBQXJBeGlqSWdFZ0FhSWdBaUFBS3dNSW9TSUNJQUtpb0NJSG55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQUVnQmlBR1JBQUFBQUFBQVBBL0lBZ2dCNktoSUFjZ0NpQUhvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQWVpb1NBSElBc2dCNktpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBQklBR2lJQUlnQXFLZ0lnWWhCeUFGUVFGcUlRVWdCcDhoQmd3Q0N3c0xJQU1nRENBQklBQXJBeENqb0RrREFDQUNJQUFyQXhDaklBQXJBd2lnSVFFTUF3c2dBQ3NER0VRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJZ2NnQjZJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lCbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBY2dCaUFHUkFBQUFBQUFBUEEvSUFnZ0FhS2hJQUVnQ2lBQm9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBR2lvU0FCSUFzZ0FhS2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FGUVFGcUlRVWdBU0lISUFHaUlBSWdBcUtnSWdHZklRWU1BZ3NMQ3lBRElBd2dBU0FBS3dNUW82QTVBd0FnQWlBQUt3TVFveUFBS3dNSW9DRUJEQUlMSUFBckF4aEVBQUFBQUlUWGwwR2pJZ2hFQUFBQUFBQUFDRUNpSVFsQkFTRUZJQUVnQUNzREFDSUtvU0lISUFlaUlBSWdBQ3NEQ0tFaUFpQUNvcUFpQVo4aUN5RUdBMEFDUUNBR1JBQUFBQUFBQUFBQVlRUkFSQUFBQUFBQUFBQUFJUUpFQUFBQUFBQUFBQUFoQVF3QkN5QUhJQVlnQmtRQUFBQUFBQUR3UHlBSUlBR2lvYUlnQzZGRUFBQUFBQUFBOEQ4Z0NTQUJvcUdqb1NJSG9pQUdveUVCSUFJZ0I2SWdCcU1oQWlBRlFRTkhCRUFnQlVFQmFpRUZJQUVpQnlBQm9pQUNJQUtpb0NJQm55RUdEQUlMQ3dzZ0F5QUtJQUVnQUNzREVLT2dPUU1BSUFJZ0FDc0RFS01nQUNzRENLQWhBUXdCQzBGL0RBRUxJQVFnQVRrREFFRUFDeG9MNVFFQVFiajRBRUgxZ2dNUUxVSEErQUJCK29JRFFRRkJBVUVBRUM4UTVBc1E0d3NRNGdzUTRRc1E0QXNRM3dzUTNnc1EzUXNRM0FzUTJ3c1EyZ3RCeVBJQVFlU0RBeEFWUWVENkFFSHdnd01RRlVISStnQkJCRUdSaEFNUUVrR3crZ0JCQWtHZWhBTVFFa0dZK2dCQkJFR3RoQU1RRWtHUStnQkJ2SVFERUM0UTJRdEI2b1FERU40RVFZK0ZBeERkQkVHMmhRTVEzQVJCMVlVREVOc0VRZjJGQXhEYUJFR2FoZ01RMlFRUTF3c1ExZ3RCaFljREVONEVRYVdIQXhEZEJFSEdod01RM0FSQjU0Y0RFTnNFUVltSUF4RGFCRUdxaUFNUTJRUVExUXNRMUFzUTB3c0xXZ0VEZnlBQUtBSUVJUVVnQWdSQUlBVkJDSFVoQkNBRlFRRnhCRUFnQkNBQ0tBSUFhaWdDQUNFRUN3c2dBQ2dDQUNJQUtBSUFLQUljSVFZZ0FDQUJJQUlnQkdvZ0EwRUNJQVZCQW5FYklBWkJIM0ZCK2dWcUVRY0FDd3NBSUFBUTR3UWdBQkE0Q3hNQUlBQkJvSXNCTmdJQUlBQkJCR29RN2dzTHh3SUJCSDhqQmlFREl3WkJRR3NrQmlBQUlBQW9BZ0FpQkVGNGFpZ0NBR29oQlNBRVFYeHFLQUlBSVFRZ0F5QUNOZ0lBSUFNZ0FEWUNCQ0FESUFFMkFnZ2dBMEVBTmdJTUlBTkNBRGNDRUNBRFFnQTNBaGdnQTBJQU53SWdJQU5DQURjQ0tDQURRUUEyQWpBZ0EwRUFPd0UwSUFOQkFEb0FOaUFFSUFKQkFCQ0JBUVIvSUFOQkFUWUNNQ0FFSUFNZ0JTQUZRUUZCQUNBRUtBSUFLQUlVUVFkeFFkb0dhaEVNQUNBRlFRQWdBeWdDR0VFQlJoc0ZBbjhnQkNBRElBVkJBVUVBSUFRb0FnQW9BaGhCUDNGQm1nWnFFUVVBQWtBQ1FBSkFJQU1vQWlRT0FnQUNBUXNnQXlnQ0ZFRUFJQU1vQWloQkFVWWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRWJEQUlMUVFBTUFRc2dBeWdDR0VFQlJ3UkFRUUFnQXlnQ0tFVWdBeWdDSEVFQlJuRWdBeWdDSUVFQlJuRkZEUUVhQ3lBREtBSVFDd3NoQmlBREpBWWdCZ3VuREFJSGZ3aDlJQUc4SWdWQi8vLy8vd2R4SWdKRklBQzhJZ1pCZ0lDQS9BTkdjZ1JBUXdBQWdEOFBDeUFHUWYvLy8vOEhjU0lEUVlDQWdQd0hTeUFDUVlDQWdQd0hTM0lFUUNBQUlBR1NEd3NnQmtFQVNDSUlCSDhnQWtILy8vL2JCRXNFZjBFQ0JTQUNRZi8vLy9zRFN3Ui9RUUlnQWtHV0FTQUNRUmQyYXlJRWRpSUhRUUZ4YTBFQUlBY2dCSFFnQWtZYkJVRUFDd3NGUVFBTElRUUNRQ0FGUWYvLy8vOEhjU0lIUVlDQWdQd0hTQVJBSUFkQmdJQ0EvQU5yRFFFZ0FFTUFBSUEvSUFDVklBVkJmMG9iRHdVZ0IwR0FnSUQ4QjJzTkFTQURRWUNBZ1B3RFJnUkFRd0FBZ0Q4UEN5QUZRWDlLSVFJZ0EwR0FnSUQ4QTBzRVFDQUJRd0FBQUFBZ0Foc1BCVU1BQUFBQUlBR01JQUliRHdzQUN3QUxJQVZCZ0lDQWdBUkdCRUFnQUNBQWxBOExJQVZCZ0lDQStBTkdJQVpCZjBweEJFQWdBSkVQQ3lBQWl5RUpBa0FDUUFKQUlBTkZJQU5CZ0lDQWdBUnlRWUNBZ1B3SFJuSUVRRU1BQUlBL0lBbVZJQWtnQlVFQVNCc2hBQ0FJUlFSQUlBQVBDeUFFSUFOQmdJQ0FoSHhxY2dSQUlBQ01JQUFnQkVFQlJoc1BDd3dCQ3lBSUJFQUNRQUpBQWtBZ0JBNENCQUFCQzBNQUFJQy9JUXNNQVF0REFBQ0FQeUVMQ3dWREFBQ0FQeUVMQ3lBQ1FZQ0FnT2dFU3dSQUFrQWdBMEg0Ly8vN0Ewa0VRQ0FMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNCc1BDeUFEUVllQWdQd0RUUVJBSUFsREFBQ0F2NUlpQUVNQXFyZy9sQ0lLSUFCRGNLWHNOcFFnQUNBQWxFTUFBQUEvSUFCRHE2cXFQaUFBUXdBQWdENlVrNVNUbEVNN3FyZy9sSk1pQUpLOFFZQmdjYjRpRENFSklBd2dDcE1oQ2d3QkN5QUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU2hzUEN3VWdDVU1BQUlCTGxMd2dBeUFEUVlDQWdBUkpJZ01iSWdSQkYzVkI2WDVCZ1g4Z0F4dHFJUUlnQkVILy8vOERjU0lFUVlDQWdQd0RjaUVESUFSQjhvanpBRWtFUUVFQUlRUUZJQVJCMStmMkFra2lCaUVFSUFJZ0JrRUJjMEVCY1dvaEFpQURJQU5CZ0lDQWZHb2dCaHNoQXdzZ0JFRUNkRUhBaWdGcUtnSUFJZzRnQTc0aUNpQUVRUUowUWJDS0FXb3FBZ0FpREpNaURVTUFBSUEvSUF3Z0NwS1ZJZytVSWdtOFFZQmdjYjRpQUNBQUlBQ1VJaEJEQUFCQVFKSWdDU0FBa2lBUElBMGdBMEVCZFVHQTRQLy9mWEZCZ0lDQWdBSnlRWUNBZ0FKcUlBUkJGWFJxdmlJTklBQ1VreUFLSUEwZ0RKT1RJQUNVazVRaUNwUWdDU0FKbENJQUlBQ1VJQUFnQUNBQUlBQWdBRU5DOFZNK2xFTlZNbXcra3BSREJhT0xQcEtVUTZ1cXFqNlNsRU8zYmRzK2twUkRtcGtaUDVLVWtpSU1rcnhCZ0dCeHZpSUFsQ0lOSUFvZ0FKUWdDU0FNSUFCREFBQkF3SklnRUpPVGxKSWlDWks4UVlCZ2NiNGlBRU1BUUhZL2xDSUtJQVJCQW5SQnVJb0JhaW9DQUNBSklBQWdEWk9UUTA4NGRqK1VJQUJEeGlQMk9KU1RraUlBa3BJZ0FySWlESks4UVlCZ2NiNGlEU0VKSUEwZ0RKTWdEcE1nQ3BNaENnc2dBQ0FLa3lBQmxDQUJJQVZCZ0dCeHZpSUFreUFKbEpJaEFTQUpJQUNVSWdBZ0FaSWlDYndpQTBHQWdJQ1lCRW9OQVFKQUFrQWdBMEdBZ0lDWUJFWUVRQ0FCUXp5cU9ET1NJQWtnQUpOZUJFQU1CUVZCZ0lDQW1BUWhBZ3dDQ3dBRkFrQWdBMEgvLy8vL0IzRWlBa0dBZ05pWUJFc05CaUFCSUFrZ0FKTmZSU0FEUVlDQTJKaDhSM0lFUUNBQ1FZQ0FnUGdEU3dSQURBUUZRUUFoQWd3Q0N3QUxEQVlMQ3d3QkN5QURRWUNBZ0FRZ0FrRVhka0dDZjJwMmFpSUNRUmQyUWY4QmNTRUZJQUFnQWtHQWdJQjhJQVZCZ1g5cWRYRytreUlKSVFCQkFDQUNRZi8vL3dOeFFZQ0FnQVJ5UVpZQklBVnJkaUlDYXlBQ0lBTkJBRWdiSVFJZ0FTQUprcndoQXdzZ0MwTUFBSUEvSUFOQmdJQitjYjRpQ1VNQWNqRS9sQ0lLSUFsRGpMNi9OWlFnQVNBSklBQ1RrME1ZY2pFL2xKSWlDWklpQUNBQUlBQWdBSlFpQVNBQklBRWdBU0FCUTB5N01UT1VRdzdxM2JXU2xFTlZzNG80a3BSRFlRczJ1NUtVUTZ1cUtqNlNsSk1pQVpRZ0FVTUFBQURBa3BVZ0NTQUFJQXFUa3lJQklBQWdBWlNTa3lBQWs1TWlBTHdnQWtFWGRHb2lBMEdBZ0lBRVNBUjlJQUFnQWhEMUJBVWdBNzRMbEE4TElBQWdBSk1pQUNBQWxROExJQXREeXZKSmNaUkR5dkpKY1pRUEN5QUxRMkJDb2cyVVEyQkNvZzJVQzhBQkFRSi9Jd1loQVNNR1FSQnFKQVlnQUwxQ0lJaW5RZi8vLy84SGNTSUNRZnpEcFA4RFNRUkFJQUpCZ0lEQThnTlBCRUFnQUVRQUFBQUFBQUFBQUVFQUVOUUJJUUFMQlFKOElBQWdBS0VnQWtILy83Ly9CMHNOQUJvQ1FBSkFBa0FDUUNBQUlBRVEvQUpCQTNFT0F3QUJBZ01MSUFFckF3QWdBU3NEQ0VFQkVOUUJEQU1MSUFFckF3QWdBU3NEQ0JEVEFRd0NDeUFCS3dNQUlBRXJBd2hCQVJEVUFab01BUXNnQVNzREFDQUJLd01JRU5NQm1nc2hBQXNnQVNRR0lBQUx5QUVDQW44QmZDTUdJUUVqQmtFUWFpUUdJQUM5UWlDSXAwSC8vLy8vQjNFaUFrSDh3NlQvQTBrRWZDQUNRWjdCbXZJRFNRUjhSQUFBQUFBQUFQQS9CU0FBUkFBQUFBQUFBQUFBRU5NQkN3VUNmQ0FBSUFDaElBSkIvLysvL3dkTERRQWFBa0FDUUFKQUFrQWdBQ0FCRVB3Q1FRTnhEZ01BQVFJREN5QUJLd01BSUFFckF3Z1Ewd0VNQXdzZ0FTc0RBQ0FCS3dNSVFRRVExQUdhREFJTElBRXJBd0FnQVNzRENCRFRBWm9NQVFzZ0FTc0RBQ0FCS3dNSVFRRVExQUVMQ3lFRElBRWtCaUFEQzlrQ0FRWi9Jd1loQ0NNR1FaQUNhaVFHSUFoQmdBSnFJZ2NnQVNnQ0FDSUVOZ0lBSUFOQmdBSWdBRUVBUnlJSkd5RUZJQUFnQ0NBSkd5RUFJQVZCQUVjZ0JFRUFSM0VFUUFKQVFRQWhBd05BQWtBZ0FpQUZUeUlHSUFKQklFdHlSUTBDSUFJZ0JTQUNJQVliSWdScklRSWdBQ0FISUFRUTh3UWlCRUYvUmcwQUlBVkJBQ0FFSUFBZ0NFWWlCaHRySVFVZ0FDQUFJQVJxSUFZYklRQWdBeUFFYWlFRElBY29BZ0FpQkVFQVJ5QUZRUUJIY1EwQkRBSUxDMEYvSVFOQkFDRUZJQWNvQWdBaEJBc0ZRUUFoQXdzZ0JBUkFJQVZCQUVjZ0FrRUFSM0VFUUFKQUEwQWdBQ0FFS0FJQUVKNEJJZ1pCQVdwQkFrOEVRQ0FISUFjb0FnQkJCR29pQkRZQ0FDQUFJQVpxSVFBZ0F5QUdhaUVESUFVZ0Jtc2lCVUVBUnlBQ1FYOXFJZ0pCQUVkeERRRU1BZ3NMSUFZRVFFRi9JUU1GSUFkQkFEWUNBQXNMQ3dzZ0NRUkFJQUVnQnlnQ0FEWUNBQXNnQ0NRR0lBTUxhUUVDZnlBQUlBRnJRUUoxSUFKSkJFQURRQ0FDUVg5cUlnSkJBblFnQUdvZ0FrRUNkQ0FCYWlnQ0FEWUNBQ0FDRFFBTEJTQUNCRUFEUUNBQlFRUnFJUU1nQUVFRWFpRUVJQUFnQVNnQ0FEWUNBQ0FDUVg5cUlnSUVRQ0FESVFFZ0JDRUFEQUVMQ3dzTEM0Z0JBUVYvSUFBb0FnUWlCU0FCS0FJSVJnUi9JQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZnlBQktBSUFJQUpCQW5ScUlRTkJBQ0VFQTBBZ0JDQUdTQVJBSUFBZ0F5Z0NBRFlDQUNBRlFRSjBJQU5xSVFNZ0JFRUJhaUVFSUFCQkJHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDeW9CQVg4Z0FnUkFBMEFnQUVFRWFpRURJQUFnQVRZQ0FDQUNRWDlxSWdJRVFDQURJUUFNQVFzTEN3dGtBUUovSUFBUVlDQUFhaUVBSUFJRVFBSkFJQUloQXlBQklRSWdBQ0VCQTM4Z0Fpd0FBQ0lFUlEwQklBSkJBV29oQWlBQlFRRnFJUUFnQVNBRU9nQUFJQU5CZjJvaUF3Ui9JQUFoQVF3QkJTQUFDd3NoQVFzRklBQWhBUXNnQVVFQU9nQUFDOVVCQVFSL1FmR3BBU0VDSXdZaEF5TUdRU0JxSkFZQ1FBSkFRZkdwQVN3QUFDSUJSUTBBUWZLcEFTd0FBRVVOQUNBRFFRQkJJQkJGR2tIeHFRRXNBQUFpQVFSQUEwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpSUVJQVFvQWdCQkFTQUJRUjl4ZEhJMkFnQWdBa0VCYWlJQ0xBQUFJZ0VOQUFzTElBQXNBQUFpQVFSQUFrQWdBQ0VDQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlnQ0FFRUJJQUZCSDNGMGNRMEJJQUpCQVdvaUFpd0FBQ0lCRFFBTEN3VWdBQ0VDQ3d3QkN5QUFJQUVRcWdJaEFnc2dBeVFHSUFJZ0FHc0xsQUVCQTM4RFFDQUFRUUZxSVFFZ0FDd0FBQkN5QVFSQUlBRWhBQXdCQ3dzQ2Z3SkFBa0FDUUFKQUlBQXNBQUFpQTBFcmF3NERBUUlBQWd0QkFTRUFEQUlMUVFBaEFBd0JDeUFEREFFTElBQWhBaUFCSWdBc0FBQUxFSW9CQkVCQkFDRUJBMEFnQVVFS2JFRXdhaUFBTEFBQWF5RUJJQUJCQVdvaUFDd0FBQkNLQVEwQUN3VkJBQ0VCQ3lBQlFRQWdBV3NnQWhzTFpBSUJmd0YrSUFBb0FpZ2hBU0FBUWdBZ0FDZ0NBRUdBQVhFRWYwRUNRUUVnQUNnQ0ZDQUFLQUljU3hzRlFRRUxJQUZCQTNGQnBnTnFFUlFBSWdKQ0FGa0VRQ0FBS0FJVUlBQW9BaHhyckNBQ0lBQW9BZ2dnQUNnQ0JHdXNmWHdoQWdzZ0FndUJBd0VIZnlNR0lRVWpCa0dRQ0dva0JpQUZRWUFJYWlJSUlBRW9BZ0FpQmpZQ0FDQURRWUFDSUFCQkFFY2lDUnNoQnlBQUlBVWlDaUFKR3lFRElBZEJBRWNnQmlJRlFRQkhjUVJBQWtCQkFDRUFBMEFDUUNBQ1FRSjJJZ1lnQjA4aUN5QUNRWU1CUzNKRkRRSWdBaUFISUFZZ0N4c2lCV3NoQWlBRElBZ2dCU0FFRVA0Q0lnVkJmMFlOQUNBSFFRQWdCU0FESUFwR0lnWWJheUVISUFNZ0JVRUNkQ0FEYWlBR0d5RURJQUFnQldvaEFDQUlLQUlBSWdWQkFFY2dCMEVBUjNFTkFRd0NDd3RCZnlFQVFRQWhCeUFJS0FJQUlRVUxCVUVBSVFBTElBVUVRQ0FIUVFCSElBSkJBRWR4QkVBQ1FBTkFJQU1nQlNBQ0lBUVExd0VpQmtFQ2FrRURUd1JBSUFnZ0JpQUlLQUlBYWlJRk5nSUFJQU5CQkdvaEF5QUFRUUZxSVFBZ0IwRi9haUlIUVFCSElBSWdCbXNpQWtFQVIzRU5BUXdDQ3dzQ1FBSkFBa0FnQmtGL2F3NENBQUVDQ3lBR0lRQU1BZ3NnQ0VFQU5nSUFEQUVMSUFSQkFEWUNBQXNMQ3lBSkJFQWdBU0FJS0FJQU5nSUFDeUFLSkFZZ0FBdUlBUUVGZnlBQUtBSUVJZ1VnQVNnQ0NFWUVmeUFBS0FJSUlnWWdBU2dDQkVZRWZ5QUFLQUlBSVFBRGZ5QUNJQVZJQkg4Z0FTZ0NBQ0FDUVFOMGFpRURRUUFoQkFOQUlBUWdCa2dFUUNBQUlBTXJBd0E1QXdBZ0JVRURkQ0FEYWlFRElBUkJBV29oQkNBQVFRaHFJUUFNQVFzTElBSkJBV29oQWd3QkJVRUFDd3NGUVg4TEJVRi9Dd3Q3QVFGL0FrQWdBQ2dDVEVFQVRnUkFBa0FnQUN3QVMwRUtSZzBBSUFBb0FoUWlBU0FBS0FJUVR3MEFJQUFnQVVFQmFqWUNGQ0FCUVFvNkFBQU1BZ3NnQUJDWkF3d0JDeUFBTEFCTFFRcEhCRUFnQUNnQ0ZDSUJJQUFvQWhCSkJFQWdBQ0FCUVFGcU5nSVVJQUZCQ2pvQUFBd0NDd3NnQUJDWkF3c0x4UU1CQkg4akJpRUdJd1pCRUdva0JnSkFJQUFFUUNBQ1FRTkxCRUFDUUNBQ0lRTWdBU2dDQUNFRUEwQUNRQ0FFS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBQUlBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QURJQVZySVFNZ0FDQUZhZ1VnQUNBRk9nQUFJQU5CZjJvaEF5QUJLQUlBSVFRZ0FFRUJhZ3NoQUNBQklBUkJCR29pQkRZQ0FDQURRUU5MRFFFZ0F5RUVEQUlMQ3lBQVFRQTZBQUFnQVVFQU5nSUFJQUlnQTJzaEFnd0RDd1VnQWlFRUN5QUVCRUFnQUNFRElBRW9BZ0FoQUFKQUEwQUNRQ0FBS0FJQUlnVkJmMnBCL2dCTEJIOGdCVVVOQVNBR0lBVVFuZ0VpQlVGL1JnUkFRWDhoQWd3SEN5QUVJQVZKRFFNZ0F5QUFLQUlBRUo0QkdpQURJQVZxSVFNZ0JDQUZhd1VnQXlBRk9nQUFJQU5CQVdvaEF5QUJLQUlBSVFBZ0JFRi9hZ3NoQkNBQklBQkJCR29pQURZQ0FDQUVEUUVNQlFzTElBTkJBRG9BQUNBQlFRQTJBZ0FnQWlBRWF5RUNEQU1MSUFJZ0JHc2hBZ3NGSUFFb0FnQWlBQ2dDQUNJQkJFQkJBQ0VDQTBBZ0FVSC9BRXNFUUNBR0lBRVFuZ0VpQVVGL1JnUkFRWDhoQWd3RkN3VkJBU0VCQ3lBQklBSnFJUUlnQUVFRWFpSUFLQUlBSWdFTkFBc0ZRUUFoQWdzTEN5QUdKQVlnQWd0YUFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQ0tBSUFOZ0lBUVFCQkFDQUJJQU1RcVFFaUJFRUFTQVIvUVg4RklBQWdCRUVCYWlJRUVFUWlBRFlDQUNBQUJIOGdBQ0FFSUFFZ0FoQ3BBUVZCZndzTElRVWdBeVFHSUFVTG13RUJBbjhnQVVIL0FFb0VRQ0FBUXdBQUFIK1VJZ0JEQUFBQWY1UWdBQ0FCUWY0QlNpSUNHeUVBSUFGQmduNXFJZ05CL3dBZ0EwSC9BRWdiSUFGQmdYOXFJQUliSVFFRklBRkJnbjlJQkVBZ0FFTUFBSUFBbENJQVF3QUFnQUNVSUFBZ0FVR0Vma2dpQWhzaEFDQUJRZndCYWlJRFFZSi9JQU5CZ245S0d5QUJRZjRBYWlBQ0d5RUJDd3NnQUNBQlFSZDBRWUNBZ1B3RGFyNlVDNE1HQWdwL0FuMGpCaUVKSXdaQjBBOXFKQVlnQVVIMEEwb0VRRUVBSVFBRkFrQUNRQUpBQWtBZ0FRNENBQUVDQzBFQUlRQU1BZ3NnQUVNQUFJQS9JQUFxQWdDVk9BSUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkFuUWdBR29pRENFS0EwQWdCaUFCU0FSQVF3QUFBQUFoRFNBQ0lBWnNRUUowSUFCcUlnVWhCMEYvSVFRZ0JpRURBMEFnQVNBRFJ3UkFJQTBnQnlvQ0FJc2lEbDBoQ0NBT0lBMGdDQnNoRFNBQ1FRSjBJQWRxSVFjZ0F5QUVJQWdiSVFRZ0EwRUJhaUVEREFFTEN5QUVRWDlHSUExRC8rYmJMbDl5QkVCQkFDRUFEQU1GSUFSQkFuUWdDV29pQXlnQ0FDRUhJQU1nQmtFQ2RDQUphaUlES0FJQU5nSUFJQU1nQnpZQ0FFRUFJUWNnQlNFRElBSWdCR3hCQW5RZ0FHb2hCQU5BSUFFZ0IwY0VRQ0FFS0FJQUlRZ2dCQ0FES0FJQU5nSUFJQU1nQ0RZQ0FDQUhRUUZxSVFjZ0EwRUVhaUVESUFSQkJHb2hCQXdCQ3dzZ0JTb0NBQ0VOUVFFaEJDQUZJUU1EUUNBQklBUkhCRUFnQXlBRFFRUnFJZ01xQWdBZ0RaVTRBZ0FnQkVFQmFpRUVEQUVMQ3lBS1F3QUFnRDhnRFpVNEFnQkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVDZENBQWFpSURLZ0lBSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJCR29pQXlvQ0FDQU5JQWNxQWdDVWt6Z0NBQ0FIUVFScUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npb0NBSlNNT0FJQUN5QUlRUUZxSVFnZ0FrRUNkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VDZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRSjBJQUJxSVFZZ0EwRUNkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTW9BZ0FoQnlBRElBWW9BZ0EyQWdBZ0JpQUhOZ0lBSUFSQkFXb2hCQ0FDUVFKMElBWnFJUVlnQWtFQ2RDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUwvUUVCQlg5Qjhha0JJUUVqQmlFREl3WkJJR29rQmlBRFFnQTNBd0FnQTBJQU53TUlJQU5DQURjREVDQURRZ0EzQXhoQjhha0JMQUFBSWdJRWZ3Si9RZktwQVN3QUFFVUVRQ0FBSVFFRFFDQUJRUUZxSVFRZ0FpQUJMQUFBUmdSQUlBUWhBUXdCQ3dzZ0FTQUFhd3dCQ3dOQUlBSkIvd0Z4SWdKQkJYWkJBblFnQTJvaUJDQUVLQUlBUVFFZ0FrRWZjWFJ5TmdJQUlBRkJBV29pQVN3QUFDSUNEUUFMSUFBc0FBQWlBZ1JBQWtBZ0FDRUJBMEFnQWtIL0FYRWlCRUVGZGtFQ2RDQURhaWdDQUVFQklBUkJIM0YwY1VVTkFTQUJRUUZxSWdFc0FBQWlBZzBBQ3dzRklBQWhBUXNnQVNBQWF3c0ZRUUFMSVFVZ0F5UUdJQVVMa3dZQ0NuOENmQ01HSVFrakJrSFFEMm9rQmlBQlFmUURTZ1JBUVFBaEFBVUNRQUpBQWtBQ1FDQUJEZ0lBQVFJTFFRQWhBQXdDQ3lBQVJBQUFBQUFBQVBBL0lBQXJBd0NqT1FNQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQTNRZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUkFBQUFBQUFBQUFBSVEwZ0FpQUdiRUVEZENBQWFpSUZJUWRCZnlFRUlBWWhBd05BSUFFZ0EwY0VRQ0FOSUFjckF3Q1pJZzVqSVFnZ0RpQU5JQWdiSVEwZ0FrRURkQ0FIYWlFSElBTWdCQ0FJR3lFRUlBTkJBV29oQXd3QkN3c2dCRUYvUmlBTlJMdTkxOW5mZk5zOVpYSUVRRUVBSVFBTUF3VWdCRUVDZENBSmFpSURLQUlBSVFjZ0F5QUdRUUowSUFscUlnTW9BZ0EyQWdBZ0F5QUhOZ0lBUVFBaEJ5QUZJUU1nQWlBRWJFRURkQ0FBYWlFRUEwQWdBU0FIUndSQUlBUXJBd0FoRFNBRUlBTXJBd0E1QXdBZ0F5QU5PUU1BSUFkQkFXb2hCeUFEUVFocUlRTWdCRUVJYWlFRURBRUxDeUFGS3dNQUlRMUJBU0VFSUFVaEF3TkFJQUVnQkVjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOb3prREFDQUVRUUZxSVFRTUFRc0xJQXBFQUFBQUFBQUE4RDhnRGFNNUF3QkJBQ0VJSUF3aEJBTkFJQUVnQ0VjRVFDQUdJQWhIQkVBZ0FpQUliRUVEZENBQWFpSURLd01BSVEwZ0JTRUhRUUVoQ3dOQUlBRWdDMGNFUUNBRElBTkJDR29pQXlzREFDQU5JQWNyQXdDaW9Ua0RBQ0FIUVFocUlRY2dDMEVCYWlFTERBRUxDeUFFSUEwZ0Npc0RBS0thT1FNQUN5QUlRUUZxSVFnZ0FrRURkQ0FFYWlFRURBRUxDeUFHUVFGcUlRWWdBa0VEZENBS2FpRUtEQUlMQUFzTFFRQWhCUU5BSUFVZ0FVZ0VRQ0FGSVFNRFFBSkFJQU5CQW5RZ0NXb2hCaUFESUFGT0RRQWdCU0FHS0FJQVJnMEFJQU5CQVdvaEF3d0JDd3NnQmlBRlFRSjBJQWxxS0FJQU5nSUFRUUFoQkNBRlFRTjBJQUJxSVFZZ0EwRURkQ0FBYWlFREEwQWdCQ0FCU0FSQUlBTXJBd0FoRFNBRElBWXJBd0E1QXdBZ0JpQU5PUU1BSUFSQkFXb2hCQ0FDUVFOMElBWnFJUVlnQWtFRGRDQURhaUVEREFFTEN5QUZRUUZxSVFVTUFRc0xDd3NnQ1NRR0lBQUxsQUlCQVg4Q1FBSkFJQUFnQVhOQkEzRU5BQUpBSUFKQkFFY2lBeUFCUVFOeFFRQkhjUVJBQTBBZ0FDQUJMQUFBSWdNNkFBQWdBMFVOQWlBQVFRRnFJUUFnQWtGL2FpSUNRUUJISWdNZ0FVRUJhaUlCUVFOeFFRQkhjUTBBQ3dzZ0F3UkFJQUVzQUFBRVFDQUNRUU5MQkVBRFFDQUJLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQUlBTTJBZ0FnQVVFRWFpRUJJQUJCQkdvaEFDQUNRWHhxSWdKQkEwc05BUXNMQ3d3REN3VkJBQ0VDQ3dzTUFRc2dBZ1IvSUFFaEF5QUNJUUVEZnlBQUlBTXNBQUFpQWpvQUFDQUNSUVJBSUFFaEFnd0RDeUFEUVFGcUlRTWdBRUVCYWlFQUlBRkJmMm9pQVEwQVFRQUxCVUVBQ3lFQ0N5QUFRUUFnQWhCRkdndEFBUUovSUFJRVFDQUJJUU1nQUNFQkEwQWdBMEVFYWlFQUlBRkJCR29oQkNBQklBTW9BZ0EyQWdBZ0FrRi9haUlDQkVBZ0FDRURJQVFoQVF3QkN3c0xDd01BQVFzc0FRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlnQVRZQ0JFSGJBQ0FDRURJUW1nTWFJQUlrQmd2V0FRRUZmeU1HSVFJakJrRWdhaVFHUVFBUWhnTUVRQU5BUVFFZ0FIUkIvLy8vL3dkeEJFQWdBRUVDZENBQVFZYVRBeENGQXpZQ0FBc2dBRUVCYWlJQVFRWkhEUUFMQlFKQUEwQWdCRUVCSUFCMFFmLy8vLzhIY1NJRFJVRUFjUVIvSUFCQkFuUW9BZ0FGSUFCQmhwTURRYWZWQXlBREd4Q0ZBd3NpQTBFQVIyb2hCQ0FBUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVFaSERRQUxBa0FDUUFKQUlBUkIvLy8vL3dkeERnSUFBUUlMUWN6RUF5RUJEQUlMSUFJb0FnQkI4SWNCUmdSQVFZeUlBU0VCQ3dzTEN5QUNKQVlnQVF1ckF3SUpmd0o4SUFBb0FnUWlCVUVCU0NBQUtBSUlJZ1pCQVVoeUJIOUJmd1VnQVNnQ0JDQUZSZ1IvSUFFb0FnZ2dCVVlFZnlBQ0tBSUVJQVZHQkg4Z0FpZ0NDQ0FHUmdSL0lBTW9BZ1FnQlVZRWZ5QUNLQUlBSVFJRFFBSkFJQVFnQlU0TkFDQURLQUlBSUFSQkEzUnFLd01BSWcxRXZJbllsN0xTbkR4akRRQkVBQUFBQUFBQThEOGdEWm1mb3lFT0lBUWdCV3doREVFQUlRY2dBaUVJQTBBZ0JpQUhSd1JBUVFBaENTQUJLQUlBSUF4QkEzUnFJUXBFQUFBQUFBQUFBQUFoRFNBQUtBSUFJQWRCQTNScUlRc0RRQ0FGSUFsSEJFQWdEU0FLS3dNQUlBc3JBd0Npb0NFTklBbEJBV29oQ1NBS1FRaHFJUW9nQmtFRGRDQUxhaUVMREFFTEN5QUlJQTRnRGFJNUF3QWdCMEVCYWlFSElBaEJDR29oQ0F3QkN3c2dCRUVCYWlFRUlBWkJBM1FnQW1vaEFnd0JDd3NnQWlFQUEzOGdCQ0FGU0FSL0lBTW9BZ0FnQkVFRGRHcEVBQUFBQUFBQUFBQTVBd0JCQUNFQkEwQWdBU0FHU0FSQUlBQkVBQUFBQUFBQUFBQTVBd0FnQVVFQmFpRUJJQUJCQ0dvaEFBd0JDd3NnQkVFQmFpRUVEQUVGUVFBTEN3VkJmd3NGUVg4TEJVRi9Dd1ZCZndzRlFYOExDd3VPQVFFQ2Z3SkFBa0FEUUNBQ1FiRGFBR290QUFBZ0FFY0VRQ0FDUVFGcUlnSkIxd0JIRFFGQjF3QWhBZ3dDQ3dzZ0FnMEFRWkRiQUNFQURBRUxRWkRiQUNFQUEwQWdBQ0VEQTBBZ0EwRUJhaUVBSUFNc0FBQUVRQ0FBSVFNTUFRc0xJQUpCZjJvaUFnMEFDd3NnQVNnQ0ZDSUJCSDhnQVNnQ0FDQUJLQUlFSUFBUW13VUZRUUFMSWdFZ0FDQUJHd3MxQUNBQkJIOENmd05BSUFBZ0FVRi9haUlCYWkwQUFFRXZSd1JBSUFFRVFBd0NCVUVBREFNTEFBc0xJQUFnQVdvTEJVRUFDd3VzQVFFRGYwR2N1QUVoQWlBQVFaeTRBWE5CQTNGRkJFQkJuTGdCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFBTi9JQUJCQkdvaEFTQUFJQU0yQWdBZ0FrRUVhaUlDS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1FSL0lBRUZJQUVoQUF3QkN3c2hBQXNMSUFBZ0Fpd0FBQ0lCT2dBQUlBRUVRQU5BSUFCQkFXb2lBQ0FDUVFGcUlnSXNBQUFpQVRvQUFDQUJEUUFMQ3dzMUFRSi9JQUlnQUNnQ0VDQUFLQUlVSWdScklnTWdBeUFDU3hzaEF5QUVJQUVnQXhCTUdpQUFJQUFvQWhRZ0EybzJBaFFnQWd1VUNRSVlmd2Q4SXdZaEdDTUdRUkJxSkFZZ0dDRU1JQUFvQWdRaUJpQUFLQUlJUnlBR1FRSkljZ1IvUVg4RklBRW9BZ1FnQmtZRWZ5QUdFT2NDSWcwRWZ3Si9JQXdnQmtGL2FpSVJOZ0lFSUF3Z0RTZ0NBRUVJYWpZQ0FDQUFJQUVnREJDSEMwRUFTQVJBSUEwUXp3RkJmd3dCQ3lBTktBSUFJZ2hFQUFBQUFBQUFBQUE1QXdBZ0VTRURBMEFnQTBFQVNnUkFJQU1oQndOQUlBZEJBRW9FUUNBSFFRTjBJQWhxS3dNQW1TQUJLQUlBSWdVZ0IwRi9haUlDUVFOMGFpc0RBSmtnQjBFRGRDQUZhaXNEQUptZ1JJM3R0YUQzeHJBK29tUUVRQ0FDSVFjTUFnc0xDeUFEUVg5cUlRa2dBeUFIUndSQUFrQWdBMEVEZENBSWFpRVNJQWRCQVdwQkEzUWdDR29oRTBFQUlRVURRQ0FGUWVNQVN3MEJJQVZCQVdvaEJTQVNLd01BSWhzZ0c2SWlHaUFCS0FJQUlnNGdDVUVEZEdvaUZDc0RBQ0FEUVFOMElBNXFJaFVyQXdBaUc2RkVBQUFBQUFBQTREK2lJaDhnSDZLZ255RWNJQk1yQXdBaEhTQUhJZ0pCQTNRZ0Rtb3JBd0FnRzZFZ0dpQWZJQnlhSUJ3Z0gwUUFBQUFBQUFBQUFHTWJvS09nSVJzRFFDQUNJQU5JQkVBZ0c1a2lHaUFkbVdZRVFDQWFSTHlKMkpleTBwdzhaQVI4UkFBQUFBQUFBUEEvSUIyYUlCdWpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWlHaUVlSUJ3Z0dxSUZSQUFBQUFBQUFQQS9JUjVFQUFBQUFBQUFBQUFMSVJvRlJBQUFBQUFBQVBBL0lCdWFJQjJqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1oR2lBY0lCcWlJUjRMSUFKQkEzUWdEbW9pRHlzREFDSWNJQUpCQVdvaUNrRURkQ0FPYWlJRUt3TUFJaCtoSVNBZ0R5QWNJQm9nR2lBZ29pQWVSQUFBQUFBQUFBQkFvaUFLUVFOMElBaHFJaEFyQXdDaW9LSWlIS0U1QXdBZ0JDQWZJQnlnT1FNQUlBSkJBM1FnQ0dvaEJDQUNJQWRLQkVBZ0JDQWVJQVFyQXdDaUlCMGdHcUtoT1FNQUN5QVFJQkFyQXdBaUhDQWFJQjRnSUtJZ0drUUFBQUFBQUFBQVFLSWdIS0tob3FBNUF3QWdBaUFHYkNFV0lBWWdDbXdoRjBFQUlRc0RRQ0FHSUF0SEJFQWdBQ2dDQUNJUElBc2dGbXBCQTNScUlnUXJBd0FoR3lBRUlCNGdHNklnR2lBTElCZHFRUU4wSUE5cUlnUXJBd0FpSGFLaE9RTUFJQVFnR2lBYm9pQWVJQjJpb0RrREFDQUxRUUZxSVFzTUFRc0xJQUlnQ1VnRVFDQVFLd01BSVJzZ0FrRUNha0VEZENBSWFpSUNLd01BSVIwZ0FpQWVJQjJpT1FNQUlCb2dIYUthSVIwTElBb2hBZ3dCQ3dzZ0Vpc0RBSmtnRkNzREFKa2dGU3NEQUptZ1JJM3R0YUQzeHJBK29tUU5BQXNMQ3lBSklRTU1BUXNMUVFBaEF3TkFJQU1nRVVjRVFDQUJLQUlBSWdrZ0EwRURkR29pQlNzREFDSWRJUm9nQXlJQ1FRRnFJZ2NoQkFOQUlBUWdCa2dFUUNBRVFRTjBJQWxxS3dNQUloc2dHbVFoQ2lBYklCb2dDaHNoR2lBRUlBSWdDaHNoQWlBRVFRRnFJUVFNQVFzTElBSkJBM1FnQ1dvZ0hUa0RBQ0FGSUJvNUF3QWdBeUFHYkVFRGRDQUFLQUlBSWdOcUlRVWdBaUFHYkVFRGRDQURhaUVDUVFBaEF3TkFJQU1nQmtjRVFDQUNLd01BSVJzZ0FpQUZLd01BT1FNQUlBVWdHemtEQUNBRlFRaHFJUVVnQWtFSWFpRUNJQU5CQVdvaEF3d0JDd3NnQnlFRERBRUxDeUFORU04QlFRQUxCVUYvQ3dWQmZ3c0xJUmtnRENRR0lCa0xMQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBS2RCQjNGQk1ISTZBQUFnQUVJRGlDSUFVRVVOQUFzTElBRUxOQUFnQUZCRkJFQURRQ0FCUVg5cUlnRWdBaUFBcDBFUGNVR2cyZ0JxTFFBQWNqb0FBQ0FBUWdTSUlnQlFSUTBBQ3dzZ0FRdWhBZ0lKZndGOElBQW9BZ1FoQ1NBQUtBSUlJZ0lnQVNnQ0JFWUVRQ0FCS0FJSUlBSkdCRUFDUUNBQktBSUFJZ29oQmdOQUlBTWdBazRFUUVFQUlRQU1BZ3RCQUNFRUlBWWhBUU5BSUFJZ0JFY0VRQ0FFSUFOSkJFQWdBU0FESUFJZ0JHeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQlNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQnlBRFFRTjBJQVZxSVFnZ0JFRURkQ0FGYWlFRlJBQUFBQUFBQUFBQUlRc0RRQ0FISUFsT0RRRWdBU0FMSUFnckF3QWdCU3NEQUtLZ0lnczVBd0FnQjBFQmFpRUhJQUpCQTNRZ0NHb2hDQ0FDUVFOMElBVnFJUVVNQUFBTEFBc0xJQVJCQVdvaEJDQUJRUWhxSVFFTUFRc0xJQU5CQVdvaEF5QUNRUU4wSUFacUlRWU1BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXZXQWdFR2Z5TUdJUU1qQmtIZ0FXb2tCaUFEUWFBQmFpSUVRZ0EzQXdBZ0JFSUFOd01JSUFSQ0FEY0RFQ0FFUWdBM0F4Z2dCRUlBTndNZ0lBTkIwQUZxSWdVZ0FpZ0NBRFlDQUVFQUlBRWdCU0FEUWRBQWFpSUNJQVFRcEFKQkFFZ0VmMEYvQlNBQUtBSk1RWDlLQkg5QkFRVkJBQXNhSUFBb0FnQWhCaUFBTEFCS1FRRklCRUFnQUNBR1FWOXhOZ0lBQ3lBQUtBSXdCRUFnQUNBQklBVWdBaUFFRUtRQ0lRRUZJQUFvQWl3aEJ5QUFJQU0yQWl3Z0FDQUROZ0ljSUFBZ0F6WUNGQ0FBUWRBQU5nSXdJQUFnQTBIUUFHbzJBaEFnQUNBQklBVWdBaUFFRUtRQ0lRRWdCd1JBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUJRWDhnQUNnQ0ZCc2hBU0FBSUFjMkFpd2dBRUVBTmdJd0lBQkJBRFlDRUNBQVFRQTJBaHdnQUVFQU5nSVVDd3NnQUNBQUtBSUFJZ0FnQmtFZ2NYSTJBZ0JCZnlBQklBQkJJSEViQ3lFSUlBTWtCaUFJQ3lrQ0FYOEJmQ0FCS0FJQVFRZHFRWGh4SWdJckF3QWhBeUFCSUFKQkNHbzJBZ0FnQUNBRE9RTUFDOHdYQXhSL0EzNEJmQ01HSVJRakJrR3dCR29rQmlBVVFaZ0VhaUlNUVFBMkFnQWdBYjBpR2tJQVV3Ui9JQUdhSWgwaEFVR2gvZ0loRWlBZHZTRWFRUUVGUWFUK0FrR24vZ0pCb3Y0Q0lBUkJBWEViSUFSQmdCQnhHeUVTSUFSQmdSQnhRUUJIQ3lFVElCUkJJR29oQmlBVUlnNGhFU0FPUVp3RWFpSUtRUXhxSVE4Z0drS0FnSUNBZ0lDQStQOEFnMEtBZ0lDQWdJQ0ErUDhBVVFSL0lBQkJJQ0FDSUJOQkEyb2lBeUFFUWYvL2UzRVFkU0FBSUJJZ0V4QnlJQUJCdlA0Q1FjRCtBaUFGUVNCeFFRQkhJZ1ViUWJUK0FrRzQvZ0lnQlJzZ0FTQUJZaHRCQXhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3VUNmeUFCSUF3UWlnTkVBQUFBQUFBQUFFQ2lJZ0ZFQUFBQUFBQUFBQUJpSWdjRVFDQU1JQXdvQWdCQmYybzJBZ0FMSUFWQklISWlDMEhoQUVZRVFDQVNRUWxxSUJJZ0JVRWdjU0lKR3lFSVFRd2dBMnNpQjBVZ0EwRUxTM0pGQkVCRUFBQUFBQUFBSUVBaEhRTkFJQjFFQUFBQUFBQUFNRUNpSVIwZ0IwRi9haUlIRFFBTElBZ3NBQUJCTFVZRWZDQWRJQUdhSUIyaG9Kb0ZJQUVnSGFBZ0hhRUxJUUVMSUE5QkFDQU1LQUlBSWdacklBWWdCa0VBU0J1c0lBOFF2Z0VpQjBZRVFDQUtRUXRxSWdkQk1Eb0FBQXNnRTBFQ2NpRUtJQWRCZjJvZ0JrRWZkVUVDY1VFcmFqb0FBQ0FIUVg1cUlnY2dCVUVQYWpvQUFDQURRUUZJSVF3Z0JFRUljVVVoRFNBT0lRVURRQ0FGSUFrZ0FSQnpJZ1pCb05vQWFpMEFBSEk2QUFBZ0FTQUd0NkZFQUFBQUFBQUFNRUNpSVFFZ0JVRUJhaUlHSUJGclFRRkdCSDhnRFNBTUlBRkVBQUFBQUFBQUFBQmhjWEVFZnlBR0JTQUdRUzQ2QUFBZ0JVRUNhZ3NGSUFZTElRVWdBVVFBQUFBQUFBQUFBR0lOQUFzQ2Z5QURSU0FGUVg0Z0VXdHFJQU5PY2tVRVFDQVBJQU5CQW1wcUlBZHJJUXNnQnd3QkN5QUZJQThnRVdzZ0IydHFJUXNnQndzaEJpQUFRU0FnQWlBS0lBdHFJZ01nQkJCMUlBQWdDQ0FLRUhJZ0FFRXdJQUlnQXlBRVFZQ0FCSE1RZFNBQUlBNGdCU0FSYXlJRkVISWdBRUV3SUFzZ0JTQVBJQVpySWdacWEwRUFRUUFRZFNBQUlBY2dCaEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXd3QkN5QUhCRUFnRENBTUtBSUFRV1JxSWdnMkFnQWdBVVFBQUFBQUFBQ3dRYUloQVFVZ0RDZ0NBQ0VJQ3lBR0lBWkJvQUpxSUFoQkFFZ2JJZ29oQmdOQUlBWWdBUkNLQlNJSE5nSUFJQVpCQkdvaEJpQUJJQWU0b1VRQUFBQUFaYzNOUWFJaUFVUUFBQUFBQUFBQUFHSU5BQXNnQ0VFQVNnUkFJQW9oQndOQUlBaEJIU0FJUVIxSUd5RU5JQVpCZkdvaUNDQUhUd1JBSUEydElSdEJBQ0VKQTBBZ0NhMGdDQ2dDQUswZ0c0WjhJaHhDZ0pUcjNBTVE5Z0VoR2lBSUlCd2dHa0tBbE92Y0EzNTlQZ0lBSUJxbklRa2dDRUY4YWlJSUlBZFBEUUFMSUFrRVFDQUhRWHhxSWdjZ0NUWUNBQXNMSUFZZ0Iwc0VRQUpBQTM4Z0JrRjhhaUlJS0FJQURRRWdDQ0FIU3dSL0lBZ2hCZ3dCQlNBSUN3c2hCZ3NMSUF3Z0RDZ0NBQ0FOYXlJSU5nSUFJQWhCQUVvTkFBc0ZJQW9oQnd0QkJpQURJQU5CQUVnYklRMGdDRUVBU0FSQUlBMUJHV3BCQ1JBNVFRRnFJUkFnQzBIbUFFWWhGU0FHSVFNRFFFRUFJQWhySWdaQkNTQUdRUWxJR3lFSklBb2dCeUFEU1FSL1FRRWdDWFJCZjJvaEZrR0FsT3ZjQXlBSmRpRVhRUUFoQ0NBSElRWURRQ0FHSUFnZ0JpZ0NBQ0lZSUFsMmFqWUNBQ0FYSUJZZ0dIRnNJUWdnQmtFRWFpSUdJQU5KRFFBTElBY2dCMEVFYWlBSEtBSUFHeUVaSUFnRWZ5QURJQWcyQWdBZ0EwRUVhZ1VnQXdzaEJpQVpCU0FESVFZZ0J5QUhRUVJxSUFjb0FnQWJDeUlESUJVYklnY2dFRUVDZEdvZ0JpQUdJQWRyUVFKMUlCQktHeUVJSUF3Z0NTQU1LQUlBYWlJR05nSUFJQVpCQUVnRVFDQURJUWNnQ0NFRElBWWhDQXdCQ3dzRklBY2hBeUFHSVFnTElBb2hEQ0FESUFoSkJFQWdEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hCZ05BSUFkQkFXb2hCeUFLSUFaQkNtd2lCazhOQUFzTEJVRUFJUWNMSUExQkFDQUhJQXRCNWdCR0cyc2dDMEhuQUVZaUZTQU5RUUJISWhaeFFSOTBRUjkxYWlJR0lBZ2dER3RCQW5WQkNXeEJkMnBJQkg4Z0JrR0F5QUJxSWdaQkNSQTVJUWtnQmlBSlFRbHNheUlHUVFoSUJFQkJDaUVMQTBBZ0JrRUJhaUVLSUF0QkNtd2hDeUFHUVFkSUJFQWdDaUVHREFFTEN3VkJDaUVMQ3lBSlFRSjBJQXhxUVlSZ2FpSUdLQUlBSWdrZ0N4QklJUkFnQ0NBR1FRUnFSaUlYSUFrZ0N5QVFiR3NpQ2tWeFJRUkFSQUVBQUFBQUFFQkRSQUFBQUFBQUFFQkRJQkJCQVhFYklRRkVBQUFBQUFBQTREOUVBQUFBQUFBQThEOUVBQUFBQUFBQStEOGdGeUFLSUF0QkFYWWlFRVp4R3lBS0lCQkpHeUVkSUJNRVFDQWRtaUFkSUJJc0FBQkJMVVlpRUJzaEhTQUJtaUFCSUJBYklRRUxJQVlnQ1NBS2F5SUtOZ0lBSUFFZ0hhQWdBV0lFUUNBR0lBb2dDMm9pQnpZQ0FDQUhRZitUNjl3RFN3UkFBMEFnQmtFQU5nSUFJQVpCZkdvaUJpQURTUVJBSUFOQmZHb2lBMEVBTmdJQUN5QUdJQVlvQWdCQkFXb2lCellDQUNBSFFmK1Q2OXdEU3cwQUN3c2dEQ0FEYTBFQ2RVRUpiQ0VISUFNb0FnQWlDa0VLVHdSQVFRb2hDd05BSUFkQkFXb2hCeUFLSUF0QkNtd2lDMDhOQUFzTEN3c2dCeUVKSUFaQkJHb2lCaUFJSUFnZ0Jrc2JJUVlnQXdVZ0J5RUpJQWdoQmlBREN5RUtJQVlnQ2tzRWZ3Si9JQVloQXdOL0lBTkJmR29pQmlnQ0FBUkFJQU1oQmtFQkRBSUxJQVlnQ2tzRWZ5QUdJUU1NQVFWQkFBc0xDd1ZCQUFzaEJ5QVZCSDhnRmtFQmN5QU5haUlESUFsS0lBbEJlMHB4Qkg4Z0EwRi9haUFKYXlFSUlBVkJmMm9GSUFOQmYyb2hDQ0FGUVg1cUN5RUZJQVJCQ0hFRWZ5QUlCU0FIQkVBZ0JrRjhhaWdDQUNJTkJFQWdEVUVLRUU0RVFFRUFJUU1GUVFBaEEwRUtJUXNEUUNBRFFRRnFJUU1nRFNBTFFRcHNJZ3NRVGtVTkFBc0xCVUVKSVFNTEJVRUpJUU1MSUFZZ0RHdEJBblZCQ1d4QmQyb2hEU0FGUVNCeVFlWUFSZ1IvSUFnZ0RTQURheUlEUVFBZ0EwRUFTaHNpQXlBSUlBTklHd1VnQ0NBSklBMXFJQU5ySWdOQkFDQURRUUJLR3lJRElBZ2dBMGdiQ3dzRklBMExJUU5CQUNBSmF5RUlJQUJCSUNBQ0lBVkJJSEpCNWdCR0loQUVmMEVBSVFnZ0NVRUFJQWxCQUVvYkJTQVBJQWdnQ1NBSlFRQklHNndnRHhDK0FTSUxhMEVDU0FSQUEwQWdDMEYvYWlJTFFUQTZBQUFnRHlBTGEwRUNTQTBBQ3dzZ0MwRi9haUFKUVI5MVFRSnhRU3RxT2dBQUlBdEJmbW9pQ0NBRk9nQUFJQThnQ0dzTElBTWdFMEVCYW1wQkFTQUVRUU4yUVFGeElBTkJBRWNpQ3h0cWFpSU5JQVFRZFNBQUlCSWdFeEJ5SUFCQk1DQUNJQTBnQkVHQWdBUnpFSFVnRUFSQUlBNUJDV29pQ1NFUElBNUJDR29oQ0NBTUlBb2dDaUFNU3hzaUNpRUhBMEFnQnlnQ0FLMGdDUkMrQVNFRklBY2dDa1lFUUNBRklBbEdCRUFnQ0VFd09nQUFJQWdoQlFzRklBVWdEa3NFUUNBT1FUQWdCU0FSYXhCRkdnTkFJQVZCZjJvaUJTQU9TdzBBQ3dzTElBQWdCU0FQSUFWckVISWdCMEVFYWlJRklBeE5CRUFnQlNFSERBRUxDeUFFUVFoeFJTQUxRUUZ6Y1VVRVFDQUFRY1QrQWtFQkVISUxJQUJCTUNBRklBWkpJQU5CQUVweEJIOERmeUFGS0FJQXJTQUpFTDRCSWdjZ0Rrc0VRQ0FPUVRBZ0J5QVJheEJGR2dOQUlBZEJmMm9pQnlBT1N3MEFDd3NnQUNBSElBTkJDU0FEUVFsSUd4QnlJQU5CZDJvaEJ5QUZRUVJxSWdVZ0Jra2dBMEVKU25FRWZ5QUhJUU1NQVFVZ0J3c0xCU0FEQzBFSmFrRUpRUUFRZFFVZ0FFRXdJQW9nQmlBS1FRUnFJQWNiSWd0SklBTkJmMHB4Qkg4Z0JFRUljVVVoRWlBT1FRbHFJZ3doRTBFQUlCRnJJUkVnRGtFSWFpRUpJQU1oQlNBS0lRWURmeUFNSUFZb0FnQ3RJQXdRdmdFaUEwWUVRQ0FKUVRBNkFBQWdDU0VEQ3dKQUlBWWdDa1lFUUNBRFFRRnFJUWNnQUNBRFFRRVFjaUFTSUFWQkFVaHhCRUFnQnlFRERBSUxJQUJCeFA0Q1FRRVFjaUFISVFNRklBTWdEazBOQVNBT1FUQWdBeUFSYWhCRkdnTkFJQU5CZjJvaUF5QU9TdzBBQ3dzTElBQWdBeUFUSUFOcklnTWdCU0FGSUFOS0d4QnlJQVpCQkdvaUJpQUxTU0FGSUFOcklnVkJmMHB4RFFBZ0JRc0ZJQU1MUVJKcVFSSkJBQkIxSUFBZ0NDQVBJQWhyRUhJTElBQkJJQ0FDSUEwZ0JFR0F3QUJ6RUhVZ0RRc0xJUUFnRkNRR0lBSWdBQ0FBSUFKSUd3czBBQ0FBSUFCaUJIOUJBQVVnQUVRQUFBQUFBQUR3UVdZRWYwRUFCU0FBUkFBQUFBQUFBUEMvWlFSL1FRQUZJQUNyQ3dzTEN5WUJBWDhqQmlFQ0l3WkJFR29rQmlBQ0lBRTJBZ0FnQUVIMi9RSWdBaENsQWhvZ0FpUUdDMVlCQTM4Z0FDZ0NWQ0lEUVFBZ0FrR0FBbW9pQlJDbUFpRUVJQUVnQXlBRUlBTnJJQVVnQkJzaUFTQUNJQUVnQWtrYklnSVFUQm9nQUNBQ0lBTnFOZ0lFSUFBZ0FTQURhaUlCTmdJSUlBQWdBVFlDVkNBQ0M2VUNBZ3AvQVh3Z0FDZ0NDQ0VHSUFBb0FnUWlCU0FCS0FJRVJnUkFJQUVvQWdnZ0JVWUVRQUpBSUFFb0FnQWlDaUVIQTBBZ0FpQUZUZ1JBUVFBaEFBd0NDeUFDSUFac0lRdEJBQ0VESUFjaEFRTkFJQU1nQlVjRVFDQURJQUpKQkVBZ0FTQUNJQU1nQld4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCQ0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhDQ0FMUVFOMElBUnFJUWtnQXlBR2JFRURkQ0FFYWlFRVJBQUFBQUFBQUFBQUlRd0RRQ0FJSUFaT0RRRWdBU0FNSUFrckF3QWdCQ3NEQUtLZ0lndzVBd0FnQ0VFQmFpRUlJQWxCQ0dvaENTQUVRUWhxSVFRTUFBQUxBQXNMSUFOQkFXb2hBeUFCUVFocUlRRU1BUXNMSUFKQkFXb2hBaUFGUVFOMElBZHFJUWNNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2N0F3SURmd1YrSUFDOUlnZENOSWluUWY4UGNTRUNJQUc5SWdaQ05JaW5RZjhQY1NFRUlBZENnSUNBZ0lDQWdJQ0FmNE1oQ1FKOEFrQWdCa0lCaGlJRlVBMEFBbndnQWtIL0QwWWdBYjFDLy8vLy8vLy8vLy8vQUlOQ2dJQ0FnSUNBZ1BqL0FGWnlEUUVnQjBJQmhpSUlJQVZZQkVBZ0FFUUFBQUFBQUFBQUFLSWdBQ0FGSUFoUkd3OExJQUlFZmlBSFF2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQUNJUUZJQWRDRElZaUJVSi9WUVJBUVFBaEFnTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2YxVU5BQXNGUVFBaEFnc2dCMEVCSUFKcnJZWUxJZ2dnQkFSK0lBWkMvLy8vLy8vLy93ZURRb0NBZ0lDQWdJQUloQVVnQmtJTWhpSUZRbjlWQkVBRFFDQURRWDlxSVFNZ0JVSUJoaUlGUW45VkRRQUxDeUFHUVFFZ0F5SUVhNjJHQ3lJR2ZTSUZRbjlWSVFNZ0FpQUVTZ1JBQWtBRFFBSkFJQU1FUUNBRlVBMEJCU0FJSVFVTElBVkNBWVlpQ0NBR2ZTSUZRbjlWSVFNZ0FrRi9haUlDSUFSS0RRRU1BZ3NMSUFCRUFBQUFBQUFBQUFDaURBSUxDeUFEQkVBZ0FFUUFBQUFBQUFBQUFLSWdCVkFOQVJvRklBZ2hCUXNnQlVLQWdJQ0FnSUNBQ0ZRRVFBTkFJQUpCZjJvaEFpQUZRZ0dHSWdWQ2dJQ0FnSUNBZ0FoVURRQUxDeUFGUW9DQWdJQ0FnSUI0ZkNBQ3JVSTBob1FnQlVFQklBSnJyWWdnQWtFQVNoc2dDWVMvQ3d3QkN5QUFJQUdpSWdBZ0FLTUxDL2tUQXc1L0FuNEhmQ01HSVFvakJrR0FCR29rQmtFQUlBSWdBMm9pRUdzaEVRSkFBa0FEUUFKQUFrQUNRQ0FCUVM1ckRnTUVBQUVBQ3lBQklRWWdCeUVCREFFTElBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRkJBU0VIREFFTEN3d0JDeUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDeUlHUVRCR0JIOERmeUFVUW45OElSUWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lCa0V3UmcwQVFRRWhDMEVCQ3dWQkFTRUxJQWNMSVFFTElBcEJBRFlDQUFKOEFrQUNRQUpBQWtBZ0JrRXVSaUlPSUFaQlVHb2lEVUVLU1hJRVFBSkFRUUFoQnlBR0lRa2dEU0VHQTBBQ1FDQU9CRUFnQ3cwQlFRRWhDeUFWSVJRRkFrQWdGVUlCZkNFVklBbEJNRWNoRFNBSVFmMEFUZ1JBSUExRkRRRWdDaUFLS0FMd0EwRUJjallDOEFNTUFRc2dDRUVDZENBS2FpSUJJQXdFZnlBSlFWQnFJQUVvQWdCQkNteHFCU0FHQ3pZQ0FDQU1RUUZxSWdaQkNVWWhBVUVBSUFZZ0FSc2hEQ0FCSUFocUlRZ2dGYWNnQnlBTkd5RUhRUUVoQVFzTElBQW9BZ1FpQmlBQUtBSm9TUVIvSUFBZ0JrRUJhallDQkNBR0xRQUFCU0FBRUZRTElnbEJVR29pQmtFS1NTQUpRUzVHSWc1eURRRWdDU0VHREFJTEN5QUJRUUJISVFFTUFnc0ZRUUFoQndzZ0ZDQVZJQXNiSVJRZ0FVRUFSeUlCSUFaQklISkI1UUJHY1VVRVFDQUdRWDlLQkVBTUFnVU1Bd3NBQ3lBVUlBQWdCUkNSQXlJVVFvQ0FnSUNBZ0lDQWdIOVJCSDRnQlVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJnc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0ZBdDhJUlFNQXdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JDQUJSUTBDREFNTEN5QUJSUTBBREFFTFFhVEZBMEVjTmdJQUlBQkNBQkNDQVVRQUFBQUFBQUFBQUF3QkN5QUV0MFFBQUFBQUFBQUFBS0lnQ2lnQ0FDSUFSUTBBR2lBVUlCVlJJQlZDQ2xOeEJFQWdCTGNnQUxpaUlBQWdBblpGSUFKQkhrcHlEUUVhQ3lBVUlBTkJmaEE1ckZVRVFFR2t4UU5CeEFBMkFnQWdCTGRFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QVVJQU5CbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQkxkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFNQkVBZ0RFRUpTQVJBSUFoQkFuUWdDbW9pQlNnQ0FDRUJBMEFnQVVFS2JDRUJJQXhCQVdvaEFDQU1RUWhJQkVBZ0FDRU1EQUVMQ3lBRklBRTJBZ0FMSUFoQkFXb2hDQXNnRktjaEFTQUhRUWxJQkVBZ0FVRVNTQ0FISUFGTWNRUkFJQUZCQ1VZRVFDQUV0eUFLS0FJQXVLSU1Bd3NnQVVFSlNBUkFJQVMzSUFvb0FnQzRva0VBSUFGclFRSjBRY0RVQUdvb0FnQzNvd3dEQ3lBQ1FSdHFJQUZCZld4cUlnQkJIa29nQ2lnQ0FDSUZJQUIyUlhJRVFDQUV0eUFGdUtJZ0FVRUNkRUg0MHdCcUtBSUF0NklNQXdzTEN5QUJRUWtRVHlJQUJIOUJBQ0FBSUFCQkNXb2dBVUYvU2hzaURHdEJBblJCd05RQWFpZ0NBQ0VHSUFnRWYwR0FsT3ZjQXlBR0VEa2hDMEVBSVFkQkFDRUFRUUFoQlFOQUlBY2dCVUVDZENBS2FpSU5LQUlBSWc0Z0JoQklJZzlxSVFrZ0RTQUpOZ0lBSUFzZ0RpQUdJQTlzYTJ3aEJ5QUJRWGRxSUFFZ0NVVWdBQ0FGUm5FaUNSc2hBU0FBUVFGcVFmOEFjU0FBSUFrYklRQWdCVUVCYWlJRklBaEhEUUFMSUFjRWZ5QUlRUUowSUFwcUlBYzJBZ0FnQUNFRklBaEJBV29GSUFBaEJTQUlDd1ZCQUNFRlFRQUxJUUFnQVVFSklBeHJhaUVCSUFVRklBZ2hBRUVBQ3lFSFFRQWhCUU5BQWtBZ0FVRVNTQ0VNSUFGQkVrWWhEU0FIUVFKMElBcHFJUTREUUNBTVJRUkFJQTFGRFFJZ0RpZ0NBRUhmNEtVRVR3UkFRUkloQVF3REN3dEJBQ0VJSUFCQi93QnFJUXNEUUNBSXJTQUxRZjhBY1NJSlFRSjBJQXBxSWdZb0FnQ3RRaDJHZkNJVXB5RUxJQlJDZ0pUcjNBTldCRUFnRkVLQWxPdmNBeEQyQVNJVnB5RUlJQlFnRlVLQWxPdmNBMzU5cHlFTEJVRUFJUWdMSUFZZ0N6WUNBQ0FBSUFBZ0NTQUxHeUFISUFsR0lnOGdDU0FBUWY4QWFrSC9BSEZIY2hzaEJpQUpRWDlxSVFzZ0QwVUVRQ0FHSVFBTUFRc0xJQVZCWTJvaEJTQUlSUTBBQ3lBR1FmOEFha0gvQUhFaENTQUdRZjRBYWtIL0FIRkJBblFnQ21vaERDQUhRZjhBYWtIL0FIRWlCeUFHUmdSQUlBd2dDVUVDZENBS2FpZ0NBQ0FNS0FJQWNqWUNBQ0FKSVFBTElBZEJBblFnQ21vZ0NEWUNBQ0FCUVFscUlRRU1BUXNMQTBBQ1FDQUFRUUZxUWY4QWNTRUdJQUJCL3dCcVFmOEFjVUVDZENBS2FpRU1BMEFDUUNBQlFSSkdJUWhCQ1VFQklBRkJHMG9iSVFrRFFFRUFJUTRDUUFKQUEwQUNRQ0FBSUFjZ0RtcEIvd0J4SWd0R0RRSWdDMEVDZENBS2FpZ0NBQ0lMSUE1QkFuUkJxSW9CYWlnQ0FDSU5TUTBDSUFzZ0RVc05BQ0FPUVFGcVFRSlBEUUpCQVNFT0RBRUxDd3dCQ3lBSURRUUxJQVVnQ1dvaEJTQUFJQWRHQkVBZ0FDRUhEQUVMQzBFQklBbDBRWDlxSVE1QmdKVHIzQU1nQ1hZaEQwRUFJUWdnQnlFTEEwQWdDQ0FMUVFKMElBcHFJaElvQWdBaUV5QUpkbW9oRFNBU0lBMDJBZ0FnRHlBT0lCTnhiQ0VJSUFGQmQyb2dBU0FOUlNBSElBdEdjU0lOR3lFQklBZEJBV3BCL3dCeElBY2dEUnNoQnlBTFFRRnFRZjhBY1NJTElBQkhEUUFMSUFnRVFDQUdJQWRIRFFFZ0RDQU1LQUlBUVFGeU5nSUFDd3dCQ3dzZ0FFRUNkQ0FLYWlBSU5nSUFJQVloQUF3QkN3dEJBQ0VCQTBBZ0FFRUJha0gvQUhFaEJpQUFJQUVnQjJwQi93QnhJZ2xHQkVBZ0JrRi9ha0VDZENBS2FrRUFOZ0lBSUFZaEFBc2dGa1FBQUFBQVpjM05RYUlnQ1VFQ2RDQUthaWdDQUxpZ0lSWWdBVUVCYWlJQlFRSkhEUUFMSUJZZ0JMY2lHS0loRnlBRlFUVnFJZ1lnQTJzaUF5QUNTQ0VFSUFOQkFDQURRUUJLR3lBQ0lBUWJJZ0ZCTlVnRVFFUUFBQUFBQUFEd1AwSHBBQ0FCYXhDZkFTQVhFSkFESWhraEdpQVhSQUFBQUFBQUFQQS9RVFVnQVdzUW53RVFqd01pR3lFV0lCa2dGeUFib2FBaEZ3VkVBQUFBQUFBQUFBQWhGZ3NnQjBFQ2FrSC9BSEVpQWlBQVJ3UkFBa0FnQWtFQ2RDQUthaWdDQUNJQ1FZREt0ZTRCU1FSOElBSkZRUUFnQUNBSFFRTnFRZjhBY1VZYkRRRWdHRVFBQUFBQUFBRFFQNklnRnFBRklBSkJnTXExN2dGSEJFQWdHRVFBQUFBQUFBRG9QNklnRnFBaEZnd0NDeUFZUkFBQUFBQUFBT0Evb2lBV29DQVlSQUFBQUFBQUFPZy9vaUFXb0NBQUlBZEJBMnBCL3dCeFJoc0xJUllMUVRVZ0FXdEJBVW9FZkNBV1JBQUFBQUFBQVBBL0VJOERSQUFBQUFBQUFBQUFZUVI4SUJaRUFBQUFBQUFBOEQrZ0JTQVdDd1VnRmdzaEZnc2dGeUFXb0NBYW9TRVhJQVpCLy8vLy93ZHhRWDRnRUd0S0JId0NmQ0FGSUJlWlJBQUFBQUFBQUVCRFprVWlBRUVCYzJvaEJTQVhJQmRFQUFBQUFBQUE0RCtpSUFBYklSY2dCVUV5YWlBUlRBUkFJQmNnQkNBQUlBRWdBMGR5Y1NBV1JBQUFBQUFBQUFBQVluRkZEUUVhQzBHa3hRTkJ4QUEyQWdBZ0Z3c0ZJQmNMSUFVUWpnTUxJUndnQ2lRR0lCd0w4Z2dEQ0g4RmZnTjhJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVVDUUFKQUEwQUNRQUpBSUFWQkxtc09Bd01CQUFFTElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVkJBU0VJREFFTEN3d0JDeUFBS0FJRUlnVWdBQ2dDYUVrRWZ5QUFJQVZCQVdvMkFnUWdCUzBBQUFVZ0FCQlVDeUlGUVRCR0JIOERmeUFOUW45OElRMGdBQ2dDQkNJRklBQW9BbWhKQkg4Z0FDQUZRUUZxTmdJRUlBVXRBQUFGSUFBUVZBc2lCVUV3UmcwQVFRRWhDRUVCQ3dWQkFRc2hDUXRFQUFBQUFBQUE4RDhoRXlBRklRY2dDQ0VGQTBBQ1FDQUhRU0J5SVFnQ1FBSkFJQWRCVUdvaUMwRUtTUTBBSUFkQkxrWWlEQ0FJUVo5L2FrRUdTWEpGRFFJZ0RFVU5BQ0FKQkg1QkxpRUhEQU1GUVFFaENTQVBDeUVOREFFTElBaEJxWDlxSUFzZ0IwRTVTaHNoQlNBUFFnaFRCRUFnQlNBR1FRUjBhaUVHQlNBUFFnNVRCSHdnRTBRQUFBQUFBQUN3UDZJaUZDRVRJQklnRkNBRnQ2S2dCU0FLUVFFZ0JVVWdDa0VBUjNJaUJSc2hDaUFTSUJJZ0UwUUFBQUFBQUFEZ1A2S2dJQVViQ3lFU0N5QVBRZ0Y4SVE5QkFTRUZDeUFBS0FJRUlnY2dBQ2dDYUVrRWZ5QUFJQWRCQVdvMkFnUWdCeTBBQUFVZ0FCQlVDeUVIREFFTEN5QUZCSHdDZkNBUFFnaFRCRUFnRHlFT0EwQWdCa0VFZENFR0lBNUNBWHdoRUNBT1FnZFRCRUFnRUNFT0RBRUxDd3NDZnlBSFFTQnlRZkFBUmdSK0lBQWdCQkNSQXlJT1FvQ0FnSUNBZ0lDQWdIOVJCSDRnQkVVRVFDQUFRZ0FRZ2dGRUFBQUFBQUFBQUFBTUJBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRDQUFVZ0Rnc0ZJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUWdBTElSRWdBN2RFQUFBQUFBQUFBQUNpSUFaRkRRRWFJQkVnRFNBUElBa2JRZ0tHUW1COGZDSU5RUUFnQW11c1ZRc0VRRUdreFFOQnhBQTJBZ0FnQTdkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFOSUFKQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0E3ZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBR1FYOUtCRUFEUUNBU1JBQUFBQUFBQU9BL1prVWlBRUVCY3lBR1FRRjBjaUVHSUJJZ0VpQVNSQUFBQUFBQUFQQy9vQ0FBRzZBaEVpQU5Rbjk4SVEwZ0JrRi9TZzBBQ3dzQ2ZBSkFJQTFDSUNBQ3JIMThJZzRnQWF4VEJFQWdEcWNpQVVFQVRBUkFRUUFoQVVIVUFDRUFEQUlMQzBIVUFDQUJheUVBSUFGQk5VZ05BQ0FEdHlFVFJBQUFBQUFBQUFBQURBRUxSQUFBQUFBQUFQQS9JQUFRbndFZ0E3Y2lFeENRQXdzaEZFUUFBQUFBQUFBQUFDQVNJQVpCQVhGRklBRkJJRWdnRWtRQUFBQUFBQUFBQUdKeGNTSUFHeUFUb2lBVUlCTWdBQ0FHYXJpaW9LQWdGS0VpRWtRQUFBQUFBQUFBQUdFRVFFR2t4UU5CeEFBMkFnQUxJQklnRGFjUWpnTUxCU0FBS0FKb1JTSUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCQVJBSUFGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFSUFFZ0NVVnlSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc0xCU0FBUWdBUWdnRUxJQU8zUkFBQUFBQUFBQUFBb2dzTHZnTUJCSDhnQUNnQ0NDSUZJQUFvQWdRaUF5QUZJQU5JR3lFR0lBVkJBa2dnQTBFQ1NISUVmMEYvQlNBQktBSUlJQVZHQkg4Z0FTZ0NCQ0FHUmdSL0lBSW9BZ1FnQmtZRWZ3Si9JQVlnQmhDTEFTSUVLQUlFSUFaR0JFQWdCQ2dDQ0NBR1JnUkFJQU1nQlVnaUF3UkFJQUFnQkJDTkJVRUFTQVJBSUFRUVNVRi9EQVFMQlNBQUlBUVFoZ1ZCQUVnRVFDQUVFRWxCZnd3RUN3c2dCQ0FDRUlNRlFRQklCRUFnQkJCSlFYOE1Bd3NnQXdSQUlBQWdCQ0FCSUFJUS9nUkJBRWdFUUNBRUVFbEJmd3dFQ3dVQ1FFRUFJUVVnQkNnQ0FDRURJQUVvQWdBaEFBTkFBa0FnQlNBR1RnMEFJQUlvQWdBZ0JVRURkR29yQXdCRXZJbllsN0xTbkR4akRRQkJBQ0VCQTBBZ0FTQUdTQVJBSUFBZ0F5c0RBRGtEQUNBQlFRRnFJUUVnQTBFSWFpRURJQUJCQ0dvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRklRRURRQ0FCSUFaT0RRRWdBaWdDQUNBQlFRTjBha1FBQUFBQUFBQUFBRGtEQUVFQUlRTURRQ0FESUFaSUJFQWdBRVFBQUFBQUFBQUFBRGtEQUNBRFFRRnFJUU1nQUVFSWFpRUFEQUVMQ3lBQlFRRnFJUUVNQUFBTEFBc0xJQVFRU1VFQURBSUxDeUFFRUVsQmZ3c0ZRWDhMQlVGL0N3VkJmd3NMQzlJVEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ2NoRENBQklBSkJmMm9pRUd4QkFYUWdCMm9oQmdOQUlBVWdBVWdFUUNBR1FRQTdBUUFnREVFQU93RUFJQXhCQW1vaERDQUZRUUZxSVFVZ0JrRUNhaUVHREFFTEMwRUFJUXdnQnlJR0lBRkJmMm9pRVVFQmRHb2hCUU5BSUF3Z0FrZ0VRQ0FGUVFBN0FRQWdCa0VBT3dFQUlBRkJBWFFnQm1vaEJpQU1RUUZxSVF3Z0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUVpCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hERUVCSVFwQkFDRUZJQUJCQVhRZ0Iyb2hBd0ovQWtBRFFBSkFJQW9nRUU0TkFpQUZJUUJCQVNFSUlBTWhDd05BSUFnZ0VVZ0VRQ0FOTFFBQUlBd3RBQUJLQkVBQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxCU0FMUVFBN0FRQUxJQTFCQVdvaERTQU1RUUZxSVF3Z0NFRUJhaUVJSUF0QkFtb2hDd3dCQ3dzZ0RVRUNhaUVOSUF4QkFtb2hEQ0FLUVFGcUlRb2dBQ0VGSUF0QkJHb2hBd3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhCd05BSUFjZ0JVd0VRQ0FISUFZb0FnQWlERVlFUUNBQVFRRnFJUU1GSUFBaEF5QU1RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQURJUUFnQjBFQmFpRUhJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ1kyQWdnZ0JnUi9JQTFCQUNBR1FRSjBFRVVhSUFSQmtJQW9ha0VBSUFaQkJIUVFSUnBCQUNFREEwQWdBeUFHU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ1pCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUdRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxVd0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQ2dDQURZQ0FBTkFJQUlvQWdCQkEycEJmSEVpQUNnQ0FDRURJQUlnQUVFRWFqWUNBQ0FCUVg5cUlRQWdBVUVCU3dSQUlBQWhBUXdCQ3dzZ0FpUUdJQU1MeGhRREVYOERmZ0Y4SXdZaENTTUdRYUFDYWlRR0lBQW9Ba3hCZjBvRWYwRUJCVUVBQ3hvZ0NVR0lBbW9oRFNBSlFZUUNhaUVTSUFsQmtBSnFJUk1nQVN3QUFDSUxCRUFDUUFKQUFrQUNRQUpBQTBBQ1FDQUxRZjhCY1JDeUFRUkFBMEFnQVVFQmFpSURMUUFBRUxJQkJFQWdBeUVCREFFTEN5QUFRZ0FRZ2dFRFFDQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN4Q3lBUTBBQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdzMkFnUUZJQUFvQWdRaEN3c2dDeUFBS0FJSWE2d2dGQ0FBS1FONGZId2hGQVVDUUNBQkxBQUFRU1ZHSWdjRVFBSkFBbjhDUUFKQUlBRkJBV29pQkN3QUFDSURRU1ZyRGdZREFRRUJBUUFCQzBFQUlRb2dBVUVDYWd3QkN5QURRZjhCY1JDS0FRUkFJQUVzQUFKQkpFWUVRQ0FDSUFRdEFBQkJVR29Ra3dVaENpQUJRUU5xREFJTEN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaENpQUNJQUZCQkdvMkFnQWdCQXNpQVMwQUFCQ0tBUVJBUVFBaEJBTkFJQUV0QUFBZ0JFRUtiRUZRYW1vaEJDQUJRUUZxSWdFdEFBQVFpZ0VOQUFzRlFRQWhCQXNnQVVFQmFpRUhJQUVzQUFBaUNFSHRBRVlFZjBFQUlRWWdBVUVDYWlFQklBY2lBeXdBQUNFSVFRQWhCU0FLUVFCSEJTQUJJUU1nQnlFQlFRQUxJUXNDUUFKQUFrQUNRQUpBQWtBQ1FDQUlRUmgwUVJoMVFjRUFhdzQ2QlE0RkRnVUZCUTRPRGc0RURnNE9EZzRPQlE0T0RnNEZEZzRGRGc0T0RnNEZEZ1VGQlFVRkFBVUNEZ0VPQlFVRkRnNEZBd1VPRGdVT0F3NExRWDVCZnlBQkxBQUFRZWdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFVTFFRTkJBU0FCTEFBQVFld0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVFMUVFNaENBd0RDMEVCSVFnTUFndEJBaUVJREFFTFFRQWhDQ0FESVFFTFFRRWdDQ0FCTFFBQUlnZEJMM0ZCQTBZaUF4c2hEaUFBQW44Q1FBSkFBa0FDUUNBSFFTQnlJQWNnQXhzaURFSC9BWEVpQjBFWWRFRVlkVUhiQUdzT0ZBRURBd01EQXdNREFBTURBd01EQXdNREF3TUNBd3NnQkVFQklBUkJBVW9iREFNTElBUU1BZ3NnQ2lBT0lCUVFsQU1NQkFzZ0FFSUFFSUlCQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzUXNnRU5BQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9haUlJTmdJRUJTQUFLQUlFSVFnTElBZ2dBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUWdCQXNpRWF3aUZoQ0NBU0FBS0FJRUlnTWdBQ2dDYUNJRVNRUkFJQUFnQTBFQmFqWUNCQVVnQUJCVVFRQklEUWdnQUNnQ2FDRUVDeUFFQkVBZ0FDQUFLQUlFUVg5cU5nSUVDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEVZZEVFWWRVSEJBR3NPT0FVSEJ3Y0ZCUVVIQndjSEJ3Y0hCd2NIQndjSEJ3Y0hBUWNIQUFjSEJ3Y0hCUWNBQXdVRkJRY0VCd2NIQndjQ0FRY0hBQWNEQndjQkJ3c2dERUVRY2tIekFFWUVRQ0FKUVg5QmdRSVFSUm9nQ1VFQU9nQUFJQXhCOHdCR0JFQWdDVUVBT2dBaElBbEJBRFlCQ2lBSlFRQTZBQTRMQlFKQUlBa2dBVUVCYWlJSExBQUFRZDRBUmlJRElnUkJnUUlRUlJvZ0NVRUFPZ0FBQWtBQ1FBSkFJQUZCQW1vZ0J5QURHeUlCTEFBQVFTMXJJZ01FUUNBRFFUQkdCRUFNQWdVTUF3c0FDeUFKSUFSQkFYTWlDRG9BTGlBQlFRRnFJUUVNQWdzZ0NTQUVRUUZ6SWdnNkFGNGdBVUVCYWlFQkRBRUxJQVJCQVhNaENBc0RRQUpBQWtBZ0FTd0FBQ0lFRGw0VEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQUFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRURBUXNnQVVFQmFpSURMQUFBSWdRaUIwRUFJQWRCM1FCSEcwVUVRRUV0SVFRTUFRc2dBVUYvYWkwQUFDSUJJQVJCL3dGeFNBUi9BMzhnQVVFQmFpSUJJQWxxSUFnNkFBQWdBU0FETEFBQUlnZEIvd0Z4U1EwQUlBTWhBU0FIQ3dVZ0F5RUJJQVFMSVFRTElBUkIvd0Z4UVFGcUlBbHFJQWc2QUFBZ0FVRUJhaUVCREFBQUN3QUxDeUFSUVFGcVFSOGdERUhqQUVZaURCc2hCQ0FMUVFCSElSQWdEa0VCUmlJUkJFQWdFQVJBSUFSQkFuUVFSQ0lGUlFSQVFRQWhCa0VBSVFVTUVRc0ZJQW9oQlFzZ0RVRUFOZ0lBSUExQkFEWUNCRUVBSVFZRFFBSkFJQVZGSVFjRFFBTkFBa0FnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVTkF5QVRJQU02QUFBQ1FBSkFJQklnRTBFQklBMFExd0ZCZm1zT0FnRUFBZ3RCQUNFR0RCVUxEQUVMQ3lBSFJRUkFJQVpCQW5RZ0JXb2dFaWdDQURZQ0FDQUdRUUZxSVFZTElCQWdCQ0FHUm5GRkRRQUxJQVVnQkVFQmRFRUJjaUlFUVFKMEVPZ0JJZ01FUUNBRElRVU1BZ1ZCQUNFR0RCSUxBQXNMSUEwRWZ5QU5LQUlBUlFWQkFRc0VmeUFHSVFRZ0JTRURRUUFGUVFBaEJnd1FDeUVHQlFKQUlCQUVRQ0FFRUVRaUJrVUVRRUVBSVFaQkFDRUZEQklMUVFBaEJRTkFBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNpQTBFQmFpQUphaXdBQUVVRVFDQUZJUVJCQUNFRFFRQWhCUXdFQ3lBRklBWnFJQU02QUFBZ0JVRUJhaUlGSUFSSERRQUxJQVlnQkVFQmRFRUJjaUlFRU9nQklnTUVRQ0FESVFZTUFRVkJBQ0VGREJNTEFBQUxBQXNnQ2tVRVFBTkFJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxRUUZxSUFscUxBQUFEUUJCQUNFRVFRQWhCa0VBSVFOQkFDRUZEQUlBQ3dBTFFRQWhCQU4vSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSWdWQkFXb2dDV29zQUFBRWZ5QUVJQXBxSUFVNkFBQWdCRUVCYWlFRURBRUZRUUFoQTBFQUlRVWdDZ3NMSVFZTEN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnZzJBZ1FGSUFBb0FnUWhDQXNnQUNrRGVDQUlJQUFvQWdocnJId2lGVkFnREVFQmN5QVZJQlpSY2tWeURRc2dFQVJBSUJFRVFDQUtJQU0yQWdBRklBb2dCallDQUFzTElBeEZCRUFnQXdSQUlBUkJBblFnQTJwQkFEWUNBQXNnQmtVRVFFRUFJUVlNQ0FzZ0JDQUdha0VBT2dBQUN3d0dDMEVRSVFRTUJBdEJDQ0VFREFNTFFRb2hCQXdDQzBFQUlRUU1BUXNnQUNBT1FRQVFrZ01oRnlBQUtRTjRRZ0FnQUNnQ0JDQUFLQUlJYTZ4OVVRMEdJQW9FUUFKQUFrQUNRQ0FPRGdNQUFRSUZDeUFLSUJlMk9BSUFEQVFMSUFvZ0Z6a0RBQXdEQ3lBS0lCYzVBd0FNQWdzTUFRc2dBQ0FFUVFCQ2Z4Q1RBeUVWSUFBcEEzaENBQ0FBS0FJRUlBQW9BZ2hyckgxUkRRVWdERUh3QUVZZ0NrRUFSM0VFUUNBS0lCVStBZ0FGSUFvZ0RpQVZFSlFEQ3dzZ0R5QUtRUUJIYWlFUElBQW9BZ1FnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFNQWdzTElBQkNBQkNDQVNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3lFRElBTWdBU0FIYWlJQkxRQUFSdzBFSUJSQ0FYd2hGQXNMSUFGQkFXb2lBU3dBQUNJTERRRU1CZ3NMREFNTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQU5CZjBvZ0QzSU5BMEVBSVFzTUFRc2dEMFVOQUF3QkMwRi9JUThMSUFzRVFDQUdFRGdnQlJBNEN3c0xJQWtrQmlBUEN3c0FJQUFnQVNBQ0VJd0ZDM2tCQlg4Z0FDZ0NCQ0VGSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWYwRUFJUU1nQVNnQ0FDRUVBMEFnQXlBR1NBUkFJQUFnQUNzREFDQUVLd01Bb1RrREFDQURRUUZxSVFNZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzTEx3RUNmeUFBRUtzQ0lnRW9BZ0EyQWpnZ0FTZ0NBQ0lDQkVBZ0FpQUFOZ0kwQ3lBQklBQTJBZ0JCcU1VREVBNEw2d0lCQjM4akJpRURJd1pCTUdva0JpQURRUmhxSVFRZ0EwRUlhaUVGSUFOQktHb2hCa0g2L1FJZ0FTd0FBQkMvQVFSQVFaZ0pFRVFpQWdSQUlBSkJBRUdRQVJCRkdnSi9JQUZCS3hDL0FVVWhDQ0FCTEFBQUlRRWdDQXNFUUNBQ1FRaEJCQ0FCUWZJQVJoczJBZ0FMSUFGQjRRQkdCRUFnQXlBQU5nSUFJQU5CQXpZQ0JFSGRBU0FERUJraUFVR0FDSEZGQkVBZ0JTQUFOZ0lBSUFWQkJEWUNCQ0FGSUFGQmdBaHlOZ0lJUWQwQklBVVFHUm9MSUFJZ0FpZ0NBRUdBQVhJaUFUWUNBQVVnQWlnQ0FDRUJDeUFDSUFBMkFqd2dBaUFDUVpnQmFqWUNMQ0FDUVlBSU5nSXdJQUpCZnpvQVN5QUJRUWh4UlFSQUlBUWdBRFlDQUNBRVFaT29BVFlDQkNBRUlBWTJBZ2hCTmlBRUVETkZCRUFnQWtFS09nQkxDd3NnQWtFQ05nSWdJQUpCQVRZQ0pDQUNRUUUyQWlnZ0FrRUNOZ0lNUWVqRUF5Z0NBRVVFUUNBQ1FYODJBa3dMSUFJUWx3VUZRUUFoQWdzRlFhVEZBMEVjTmdJQUN5QURKQVlnQWd0d0FRSi9JQUJCS3hDL0FVVWhBU0FBTEFBQUlnSkI4Z0JIUVFJZ0FSc2lBU0FCUVlBQmNpQUFRZmdBRUw4QlJSc2lBU0FCUVlDQUlISWdBRUhsQUJDL0FVVWJJZ0FnQUVIQUFISWdBa0h5QUVZYklnQkJnQVJ5SUFBZ0FrSDNBRVliSWdCQmdBaHlJQUFnQWtIaEFFWWJDL2dCQWdaL0FYd2dBQ2dDQkNJSFFRRklJQUFvQWdnaUEwRUJTSElFZjBGL0JTQURJQUVvQWdSR0JIOERRQ0FDSUFOSEJFQWdBU2dDQUNBQ1FRTjBha1FBQUFBQUFBQUFBRGtEQUNBQ1FRRnFJUUlNQVFzTElBQW9BZ0FoQUFOQUlBVWdCMGNFUUVFQUlRWWdBU2dDQUNFRUlBQWhBZ05BSUFNZ0JrY0VRQ0FFSUFJckF3QWdCQ3NEQUtBNUF3QWdCa0VCYWlFR0lBUkJDR29oQkNBQ1FRaHFJUUlNQVFzTElBTkJBM1FnQUdvaEFDQUZRUUZxSVFVTUFRc0xJQWUzSVFoQkFDRUFBMzhnQUNBRFJnUi9RUUFGSUFFb0FnQWdBRUVEZEdvaUFpQUNLd01BSUFpak9RTUFJQUJCQVdvaEFBd0JDd3NGUVg4TEN3dnNBZ0VMZnlBQUtBSUlJQUFvQWdCQm90cnYxd1pxSWdZUXNRRWhCQ0FBS0FJTUlBWVFzUUVoQlNBQUtBSVFJQVlRc1FFaEF5QUVJQUZCQW5aSkJIOGdCU0FCSUFSQkFuUnJJZ2RKSUFNZ0IwbHhCSDhnQXlBRmNrRURjUVIvUVFBRkFuOGdCVUVDZGlFSkFuOGdBMEVDZGlFTlFRQWhCUU5BQWtBZ0NTQUZJQVJCQVhZaUIyb2lDMEVCZENJTWFpSURRUUowSUFCcUtBSUFJQVlRc1FFaENFRUFJQU5CQVdwQkFuUWdBR29vQWdBZ0JoQ3hBU0lESUFGSklBZ2dBU0FEYTBseFJRMERHa0VBSUFBZ0F5QUlhbW9zQUFBTkF4b2dBaUFBSUFOcUVMTUJJZ05GRFFBZ0EwRUFTQ0VEUVFBZ0JFRUJSZzBER2lBRklBc2dBeHNoQlNBSElBUWdCMnNnQXhzaEJBd0JDd3NnRFNBTWFpSUNRUUowSUFCcUtBSUFDeUFHRUxFQklRUWdBa0VCYWtFQ2RDQUFhaWdDQUNBR0VMRUJJZ0lnQVVrZ0JDQUJJQUpyU1hFRWYwRUFJQUFnQW1vZ0FDQUNJQVJxYWl3QUFCc0ZRUUFMQ3dzRlFRQUxCVUVBQ3dzK0FRRi9JQUFvQWtRRVFDQUFLQUtFQVNJQkJFQWdBU0FBS0FLQUFUWUNnQUVMSUFBb0FvQUJJZ0FFZnlBQVFZUUJhZ1ZCbElvQkN5QUJOZ0lBQ3d2cUFnSURmd0Y4SUFBb0FnUWlCaUFBS0FJSUlnVWdCaUFGU0JzaEJDQUdRUUpJSUFWQkFraHlCRUJCZnlFQUJTQUJLQUlJSUFWR0JFQWdBU2dDQkNBRVJnUkFJQUlvQWdRZ0JFWUVRQ0FES0FJRUlBVkdCRUFnQUJEZkJTSUVCRUFDUUNBRUlBTVFtZ1ZCQUVnRVFDQUVFRWxCZnlFQURBRUxJQVFnQXhDV0JVRUFTQVJBSUFRUVNVRi9JUUFNQVFzZ0JyZWZJUWNnQlNBR2JDRURRUUFoQUFOQUlBQWdBMGdFUUNBRUtBSUFJQUJCQTNScUlnVWdCU3NEQUNBSG96a0RBQ0FBUVFGcUlRQU1BUXNMSUFRZ0FTQUNFSkVGSVFBZ0JCQkpJQUlvQWdRaEEwUUFBQUFBQUFBQUFDRUhRUUFoQVFOQUlBRWdBMGdFUUNBSElBSW9BZ0FnQVVFRGRHb3JBd0NnSVFjZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQWlnQ0FDQUJRUU4wYWlJRUlBUXJBd0FnQjZNNUF3QWdBVUVCYWlFQkRBRUxDd3NGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzTElBQUxCQUJDQUF2aEFRRUVmeU1HSVFRakJrRWdhaVFHSUFRZ0FUWUNBQ0FFSUFJZ0FDZ0NNQ0lEUVFCSGF6WUNCQ0FFSUFBb0FpdzJBZ2dnQkNBRE5nSU1Ba0FDUUNBQUtBSThJQVJCQWlBRVFSQnFJZ01RTVJDc0FnUkFJQU5CZnpZQ0FFRi9JUUlNQVFVZ0F5Z0NBQ0lEUVFGSUJFQWdBeUVDREFJRklBTWdCQ2dDQkNJR1N3UkFJQUFnQUNnQ0xDSUZOZ0lFSUFBZ0JTQURJQVpyYWpZQ0NDQUFLQUl3QkVBZ0FDQUZRUUZxTmdJRUlBRWdBa0YvYW1vZ0JTd0FBRG9BQUFzRklBTWhBZ3NMQ3d3QkN5QUFJQUFvQWdBZ0FrRXdjVUVRYzNJMkFnQUxJQVFrQmlBQ0N3WUFRYVRGQXd0R0FnRi9BWDRqQmlFREl3WkJFR29rQmlBQUtBSThJQUduSUFGQ0lJaW5JQUpCL3dGeElBTVFIUkNzQWdSK0lBTkNmemNEQUVKL0JTQURLUU1BQ3lFRUlBTWtCaUFFQzdjQ0FRZC9Jd1loQmlNR1FTQnFKQVlnQmtFUWFpRUhJQVlpQXlBQUtBSWNJZ1EyQWdBZ0F5QUFLQUlVSUFScklnVTJBZ1FnQXlBQk5nSUlJQU1nQWpZQ0RFRUNJUVFnQWlBRmFpRUZJQU1oQVFKQUFrQURRQ0FBS0FJOElBRWdCQ0FIRURBUXJBSUVmeUFIUVg4MkFnQkJmd1VnQnlnQ0FBc2lBeUFGUndSQUlBTkJBRWdOQWlBQlFRaHFJQUVnQXlBQktBSUVJZ2hMSWdrYklnRWdBeUFJUVFBZ0NSdHJJZ2dnQVNnQ0FHbzJBZ0FnQVNBQktBSUVJQWhyTmdJRUlBUWdDVUVmZEVFZmRXb2hCQ0FGSUFOcklRVU1BUXNMSUFBZ0FDZ0NMQ0lCSUFBb0FqQnFOZ0lRSUFBZ0FUWUNIQ0FBSUFFMkFoUU1BUXNnQUVFQU5nSVFJQUJCQURZQ0hDQUFRUUEyQWhRZ0FDQUFLQUlBUVNCeU5nSUFJQVJCQWtZRWYwRUFCU0FDSUFFb0FnUnJDeUVDQ3lBR0pBWWdBZ3NPQUNBQUtBSThFQmhCLy84RGNRdW1BZ0VDZndKQUFrQWdBQ2dDRkNJQlFiTitha0VDVHcwQUlBQkJRR3NvQWdBTkFDQUFLQUtNQVNBQUtBSjBTUVJBSUFBb0FnQWlBVUhGQURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fyd0RLQUlFSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUVIU0FUWUNGQXdCQ3dKQUFrQWdBVUhQQVdzT0JBQUJBUUlCQ3lBQVFkSUJOZ0lVREFFTElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dESWdFb0FoUkZCRUFDUUFOQUFrQWdBU2dDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0N6QU1pQVNnQ0ZFVU5BUXdDQ3d0QkFBOExDeUFBS0FJWUtBSVlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkNkQTBFQkMvMEdBUVIvQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaFFpQVVISUFXc09Dd0FCQXdJQ0FnSUNBZ1FDQkFzZ0FFSE1BMm9pQVNnQ0FDZ0NCQ0VDSUFBZ0FrSC9BWEZCckFOcUVRRUFJQUFvQWhnb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFDQUFRY2tCTmdJVURBUUxJQUJCekFOcUlRRU1Bd3NnQUNnQ3pBTW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFEd3RCQVE4TElBQW9BZ0FpQWtFVk5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkFBOExJQUVvQWdBb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBVWNFUUNBQkR3c0NRQUpBQWtBQ1FBSkFJQUFvQWlRaUFVRUJhdzRFQUFNQkFnTUxJQUVoQWd3REN5QUFLQUxZQVNJREtBSUFJUUVnQXlnQ3NBRWlBa0VEUmlBQlFRRkdJZ1FnQXlnQ1dDSURRUUpHY1hFRWYwRURJUUpCQWdVZ0JDQURRU0pHY1NBQ1FTTkdjUVIvUVFjaEFrRUNCU0FCUWRJQVJpQURRY2NBUm5FZ0FrSENBRVp4Qkg5QkFpRUNRUUlGSUFGQjhnQkdJQU5CNXdCR2NTQUNRZUlBUm5FRWYwRUdJUUpCQWdVZ0FDZ0NuQUlFZjBFRElRSkJBZ1VnQUNnQ3FBSkZCRUFnQUNnQ0FDSUVJQUUyQWhnZ0JDQUROZ0ljSUFRZ0FqWUNJQ0FFUWZFQU5nSVVJQVFvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdCQkFpRUJRUU1oQWd3SUN3SkFBa0FDUUNBQUxBQ3NBaUlCRGdJQUFRSUxRUUloQVVFQ0lRSU1DUXRCQWlFQlFRTWhBZ3dJQ3lBQUtBSUFJZ0pCOUFBMkFoUWdBaUFCUWY4QmNUWUNHQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFRUUloQVVFRElRSU1Cd3NMQ3dzTElRRU1BZ3NnQUNnQ3FBSUVmd0pBQWtBQ1FDQUFMQUNzQWlJQkRnTUFBZ0VDQzBFRUlRRkJCQ0VDREFRTFFRUWhBVUVGSVFJTUF3c2dBQ2dDQUNJQ1FmUUFOZ0lVSUFJZ0FVSC9BWEUyQWhnZ0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUVFRUlRRkJCU0VDREFJRlFRUWhBa0VFQ3lFQkRBRUxRUUFoQVVFQUlRSUxJQUFnQWpZQ0tDQUFJQUUyQWl3Z0FDQUFLQUtzQXlJQk5nSXdJQUFnQVRZQ05DQUFSQUFBQUFBQUFQQS9PUU00SUFCQlFHdEJBRFlDQUNBQVFRQTJBa1FnQUVFQU5nSklJQUJCQVRZQ1RDQUFRUUUyQWxBZ0FFRUFOZ0pVSUFCQkFqWUNXQ0FBUVFFMkFsd2dBRUdBQWpZQ1lDQUFRUUEyQW9nQklBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNJQUJCeWdFMkFoUkJBUXVOQVFFQ2Z5QUFLQUlVSWdKQmZuRkJ5QUZIQkVBZ0FDZ0NBQ0lEUVJVMkFoUWdBeUFDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzQ1FBSkFBa0FnQUJDbEJTSUNRUUZyRGdJQUFRSUxRUUVQQ3lBQkJFQWdBQ2dDQUNJQlFUVTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFFSjBEUVFJUEN5QUNDd2NBSUFBUW5nTUxud0lCQW44Z0FFRUFOZ0lFSUFGQjJnQkhCRUFnQUNnQ0FDSURRUTAyQWhRZ0EwSGFBRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FlZ0RSd1JBSUFBb0FnQWlBVUVXTmdJVUlBRkI2QU0yQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzQ2Z5QUFJUVFnQUNnQ0FDRUNJQUFvQWd3aEF5QUFRUVJxUVFCQjVBTVFSUm9nQUNBQ05nSUFJQUFnQXpZQ0RDQUFRUUUyQWhBZ0JBc1F3Z1VnQUVFQU5nSUlJQUJCQURZQ0dDQUFRUUEyQXJnQ0lBQkNBRGNDcEFFZ0FFSUFOd0tzQVNBQVFnQTNBclFCSUFCQ0FEY0N2QUVnQUVJQU53TEVBU0FBUWdBM0Fzd0JJQUFRdUFVZ0FCQ1FCaUFBUWNnQk5nSVVDeFVBSUFBb0FnQWlBRUVBTmdKc0lBQkJBRFlDRkF2cEFnRUtmeU1HSVFZakJrRXdhaVFHSUFaQkNHb2hCQUpBQWtBQ2Z5QUFLQUlBSWdJb0FoUWlBMEVBU2dSQUlBTWdBaWdDZEV3RVFDQUNLQUp3SUFOQkFuUnFEQUlMQ3lBQ0tBSjRJZ1ZGRFFFZ0F5QUNLQUo4SWdCSURRRWdBeUFDS0FLQUFVb05BU0FESUFCclFRSjBJQVZxQ3lnQ0FDSUZSUTBBREFFTElBSWdBellDR0NBQ0tBSndLQUlBSVFVTElBVWhBQUpBQWtBRFFBSkFJQUJCQVdvaEF3SkFJQUFzQUFBaUFBUkFJQUJCSlVZRVFBd0ZCUXdDQ3dBTERBRUxJQU1oQUF3QkN3c01BUXNnQXl3QUFFSHpBRVlFUUNBR0lBSkJHR28yQWdBZ0FTQUZJQVlRdkFFZ0JpUUdEd3NMSUFJb0Fod2hCeUFDS0FJZ0lRZ2dBaWdDSkNFSklBSW9BaWdoQ2lBQ0tBSXNJUXNnQWlnQ01DRURJQUlvQWpRaEFDQUVJQUlvQWhnMkFnQWdCQ0FITmdJRUlBUWdDRFlDQ0NBRUlBazJBZ3dnQkNBS05nSVFJQVFnQ3pZQ0ZDQUVJQU0yQWhnZ0JDQUFOZ0ljSUFFZ0JTQUVFTHdCSUFZa0JndE9BUU4vSXdZaEFTTUdRZEFCYWlRR0lBQW9BZ0FvQWd3aEFpQUFJQUVnQWtFL2NVR3lCV29SQXdBQ2YwR2tpQUVvQWdBaEF5QUJRY2dCYWlJQ0lBRTJBZ0FnQXdzZ0FoQ0xCU0FCSkFZTGVRRUJmeUFBS0FJQUlRSWdBVUVBVGdSQUlBSW9BbWdnQVVnRVFBOExJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUE4TEFrQUNRQ0FDS0FKc0lnRkZEUUFnQWlnQ2FFRUNTZzBBREFFTElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FDS0FKc0lRRUxJQUlnQVVFQmFqWUNiQXNtQVFGL0lBQW9BZ0FvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUVKNERRUUVRQVF0bEFDQUFRWXdCTmdJQUlBQkJOVFlDQkNBQVFZMEJOZ0lJSUFCQk5qWUNEQ0FBUVk0Qk5nSVFJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0lVSUFCQmdCZzJBbkFnQUVIK0FEWUNkQ0FBUVFBMkFuZ2dBRUVBTmdKOElBQkJBRFlDZ0FFZ0FBc3JBUUYvSUFBb0FnUW9BZ0FoQVNBQVFRQkJoQUVnQVVFL2NVSEtBV29SQkFBaUFFRUFOZ0tBQVNBQUN5c0JBWDhnQUNnQ0JDZ0NBQ0VCSUFCQkFFR1lBaUFCUVQ5eFFjb0JhaEVFQUNJQVFRQTJBcFFDSUFBTHR3WUJCbjhnQWlBRGFpRUVBa0FDUUFKQUFrQWdBa0VOU3dSQUlBRXNBQUJCeWdCR0JFQWdBU3dBQVVIR0FFY05BaUFCTEFBQ1Fja0FSdzBDSUFFc0FBTkJ4Z0JIRFFJZ0FTd0FCQTBDSUFCQkFUWUNuQUlnQUNBQkxBQUZJZ2M2QUtBQ0lBQWdBU3dBQmlJSU9nQ2hBaUFBSUFFc0FBY2lDVG9Bb2dJZ0FDQUJMUUFKSUFFdEFBaEJDSFJ5SWdZN0FhUUNJQUFnQVMwQUN5QUJMUUFLUVFoMGNpSURPd0dtQWlBSFFYOXFRUmgwUVJoMVFmOEJjVUVDVGdSQUlBQW9BZ0FpQWtINkFEWUNGQ0FDSUFkQi93RnhOZ0lZSUFBb0FnQWdBQzBBb1FJMkFod2dBQ2dDQUNnQ0JDRUNJQUJCZnlBQ1FUOXhRYklGYWhFREFDQUFMQUNnQWlFSElBQXNBS0VDSVFnZ0FDNEJwQUloQmlBQUxnR21BaUVESUFBc0FLSUNJUWtMSUFBaEFpQUFLQUlBSWdVZ0IwSC9BWEUyQWhnZ0JTQUlRZjhCY1RZQ0hDQUZJQVpCLy84RGNUWUNJQ0FGSUFOQi8vOERjVFlDSkNBRklBbEIvd0Z4TmdJb0lBVkIyUUEyQWhRZ0JTZ0NCQ0VESUFKQkFTQURRVDl4UWJJRmFoRURBQ0FCTEFBTUlnWWdBU3dBRFNJRGNrSC9BWEVFUUNBQUtBSUFJZ05CM0FBMkFoUWdBeUFCTFFBTU5nSVlJQUFvQWdBZ0FTMEFEVFlDSENBQUtBSUFLQUlFSVFNZ0FrRUJJQU5CUDNGQnNnVnFFUU1BSUFFc0FBd2hCaUFCTEFBTklRTUxJQVpCL3dGeFFRTnNJQU5CL3dGeGJDQUVRWEpxSWdOR0JFQVBDeUFBS0FJQUlnRkIyZ0EyQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ1FoQUNBQ1FRRWdBRUUvY1VHeUJXb1JBd0FQQ3dVZ0FrRUZTd1JBSUFFc0FBQkJ5Z0JHRFFJTEN3d0JDeUFCTEFBQlFjWUFSZ1JBSUFFc0FBSkIyQUJHQkVBZ0FTd0FBMEhZQUVZRVFDQUJMQUFFUlFSQUFrQUNRQUpBQWtBZ0FTd0FCVUVRYXc0RUFBRURBZ01MSUFBb0FnQWlBVUh1QURZQ0ZBd0lDeUFBS0FJQUlnRkI3d0EyQWhRTUJ3c2dBQ2dDQUNJQlFmQUFOZ0lVREFZTElBQW9BZ0FpQWtIYkFEWUNGQ0FDSUFFdEFBVTJBaGdnQUNnQ0FDQUVOZ0ljREFZTEN3c0xDeUFBS0FJQUlnRkJ6d0EyQWhRZ0FTQUVOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FQQ3lBQklBUTJBaGdMSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FMeWdVQkNYOGpCaUVDSXdaQkVHb2tCZ0pBSUFBb0FoZ2lCQ2dDQkNJRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXdzZ0JDZ0NBQ0lHUVFGcUlRRWdCaTBBQUNFRklBTkJmMm9pQTBVRVFDQUVLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUFJUUVnQkNnQ0JDRURDeUFEUVg5cUlRTWdBVUVCYWlFR1FRNGdBUzBBQUNBRlFmOEJjVUVJZEhJaUFVRithaUlIUVFBZ0FVRUNTeHNnQVVFUFN4c2lCUVJBQWtCQkFDRUJBMEFDUUNBRFJRUkFJQVFvQWd3aEF5QUFJQU5CL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFJUVlMSUFFZ0Ftb2dCaXdBQURvQUFDQURRWDlxSVFNZ0JrRUJhaUVHSUFGQkFXb2lBU0FGU1EwQkRBSUxDd3dDQ3dzZ0J5QUZheUVJQWtBQ1FBSkFJQUFvQXJnRElnRkI0QUZySWdrRVFDQUpRUTVHQkVBTUFnVU1Bd3NBQ3lBQUlBSWdCU0FJRUxFRkRBSUxJQUlzQUFCQndRQkdJQVZCQzB0eEJFQWdBaXdBQVVIa0FFWUVRQ0FDTEFBQ1FlOEFSZ1JBSUFJc0FBTkI0Z0JHQkVBZ0Fpd0FCRUhsQUVZRVFDQUNMUUFJSUFJdEFBZEJDSFJ5SVFjZ0FpMEFDaUFDTFFBSlFRaDBjaUVKSUFJc0FBc2hCU0FBS0FJQUlnRWdBaTBBQmlBQ0xRQUZRUWgwY2pZQ0dDQUJJQWMyQWh3Z0FTQUpOZ0lnSUFFZ0JVSC9BWEUyQWlRZ0FVSE9BRFlDRkNBQktBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUJCQVRZQ3FBSWdBQ0FGT2dDc0Fnd0dDd3NMQ3dzZ0FDZ0NBQ0lCUWRBQU5nSVVJQUVnQnpZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQURBRUxJQUFvQWdBaUJVSEdBRFlDRkNBRklBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFFSUFZMkFnQWdCQ0FETmdJRUlBaEJBRXdFUUNBQ0pBWkJBUThMSUFBb0FoZ29BaEFoQXlBQUlBZ2dBMEUvY1VHeUJXb1JBd0FnQWlRR1FRRVBDeUFDSkFaQkFBdU1BZ0VHZnlBQUtBSVlJZ0lvQWdRaUFVVUVRQ0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUFSL0lBSW9BZ1FGUVFBUEN5RUJDeUFDS0FJQUlnTkJBV29oQkNBRExRQUFJUU1nQVVGL2FpSUJSUVJBSUFJb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQUJIOGdBaWdDQUNFRUlBSW9BZ1FGUVFBUEN5RUJDeUFFTFFBQUlBTkIvd0Z4UVFoMGNpSUdRWDVxSVFVZ0FDZ0NBQ0lEUWQwQU5nSVVJQU1nQUNnQ3VBTTJBaGdnQUNnQ0FDQUZOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQWlBRVFRRnFOZ0lBSUFJZ0FVRi9hallDQkNBR1FRSk5CRUJCQVE4TElBQW9BaGdvQWhBaEFTQUFJQVVnQVVFL2NVR3lCV29SQXdCQkFRdUJBUUVHZnlBQUtBSUVJZ1VnQVNnQ0JFWUVmeUFBS0FJSUlnUWdBU2dDQ0VZRWZ3Ti9JQUlnQlVnRWZ5QUNJQVJzSVFaQkFDRURBMEFnQXlBRVNBUkFJQUFvQWdBZ0F5QUdhaUlIUVFOMGFpQUJLQUlBSUFkQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQzZrQkFRSi9JQUFvQXJnRElnRkZCRUFnQUJDeEFnUi9JQUFvQXJnREJVRUFEd3NoQVFzZ0FDZ0MwQU1vQWhRaUFrSFFBV29nQVVZRVFDQUFLQUlBSWdGQjVBQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBU0FBUVFNZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF3VWdBQ2dDR0NnQ0ZDRUJJQUFnQWlBQlFUOXhRWW9CYWhFQ0FFVUVRRUVBRHdzTElBQW9BdEFESWdBZ0FDZ0NGRUVCYWtFSGNUWUNGRUVCQzZSVUFTbC9Jd1loS1NNR1FZQUNhaVFHSUNraENpQUFLQUs0QXlFQkEwQUNRQ0FCUlFSQUFuOGdBQ2dDMEFNb0Fnd0VRQ0FBRUxFQ1JRUkFRZDRDSVFFTUJBc2dBQ2dDdUFNTUFRc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUJFRUJhaUVDSUFRc0FBQWhBeUFCUVg5cUlnUUVmeUFDQlNBR0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBUUxJQVlvQWdRaEJDQUdLQUlBQ3lFQklBTkIvd0Z4SVFVZ0FTd0FBQ0lIUWY4QmNTRUNJQU5CZjBjZ0IwRllSM0lFUUNBQUtBSUFJZ05CTnpZQ0ZDQURJQVUyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDQUNOZ0s0QXlBR0lBRkJBV28yQWdBZ0JpQUVRWDlxTmdJRUlBSUxJUUVMQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUJRUUZyRHY0QkVCSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSURCQVVJQ2dnSUNBZ0dCd2dKQ0FnSUVCQVFFQkFRRUJBQ0FRQUxFUXdTRWc0T0RnNE9EZzRPRGc0T0RnNE9EZzRTRWhJU0VoSVNFZzBTRWhJU0VnOFNDMEVaSVFFTUV3dEJ5d0FoQVF3U0N5QUFLQUlBSWdGQjZBQTJBaFFnQVNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUxRQTBFTWFpSUJLQUlBQkVBZ0FDZ0NBQ0lCUWNBQU5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBMEVNYWlFQkN5QUFRZ0EzQU9nQklBQkNBRGNBOEFFZ0FFS0Jnb1NJa0tEQWdBRTNBUGdCSUFCQ2dZS0VpSkNnd0lBQk53Q0FBaUFBUW9XS2xLalFvTUdDQlRjQWlBSWdBRUtGaXBTbzBLREJnZ1UzQUpBQ0lBQkJBRFlDbUFJZ0FFRUFOZ0lvSUFCQkFEWUNzQUlnQUVFQU5nSzBBaUFBUVFBMkFwd0NJQUJCQVRvQW9BSWdBRUVCT2dDaEFpQUFRUUE2QUtJQ0lBQkJBVHNCcEFJZ0FFRUJPd0dtQWlBQVFRQTJBcWdDSUFCQkFEb0FyQUlnQVVFQk5nSUFEQkFMSUFCQkFVRUFRUUFRMkFGRkJFQkIzZ0loQVF3UkN3d1BDeUFBUVFCQkFFRUFFTmdCUlFSQVFkNENJUUVNRUFzTURnc2dBRUVBUVFGQkFCRFlBVVVFUUVIZUFpRUJEQThMREEwTElBQkJBRUVBUVFFUTJBRkZCRUJCM2dJaEFRd09Dd3dNQ3lBQVFRQkJBVUVCRU5nQlJRUkFRZDRDSVFFTURRc01Dd3NnQUNnQ0FDSUNRVDgyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdLQ3lBQUtBSVlJZ01vQWdRaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVFzZ0F5Z0NBQ0lFUVFGcUlRSWdCQzBBQUNFRUlBRkJmMm9pQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBU0FES0FJQUlRSUxJQUl0QUFBZ0JFSC9BWEZCQ0hSeUlnWkJmbW9oQkNBQlFYOXFJUUVnQWtFQmFpRUNJQVpCQWtzRVFBTi9JQUZGQkVBZ0F5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFES0FJRUlRRWdBeWdDQUNFQ0N5QUNRUUZxSVFZZ0FpMEFBQ0VGSUFGQmYyb2lBa1VFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBNExJQU1vQWdRaEFpQURLQUlBSVFZTElBWXNBQUFpQ1VIL0FYRWhCeUFBS0FJQUlnRkIwUUEyQWhRZ0FTQUZRZjhCY1NJQk5nSVlJQUFvQWdBZ0J6WUNIQ0FBS0FJQUtBSUVJUWdnQUVFQklBaEJQM0ZCc2dWcUVRTUFBa0FDUUNBRlFmOEJjVUVmU2dSQUlBQW9BZ0FpQlVFZE5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTUFRVWdCVUgvQVhGQkQwb05BU0FCSUFCQjZBRnFhaUFIUVE5eElnVTZBQUFnQVNBQVFmZ0JhbW9nQ1VIL0FYRkJCSFlpQVRvQUFDQUZJQUZMQkVBZ0FDZ0NBQ0lCUVI0MkFoUWdBU0FITmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTERBRUxJQUFnQVdwQitBRnFJQWs2QUFBTElBUkJmbW9oQVNBQ1FYOXFJUUlnQmtFQmFpRUdJQVJCQWtvRWZ5QUJJUVFnQWlFQklBWWhBZ3dCQlNBQklRUWdBaUVCSUFZTEN5RUNDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRElBSTJBZ0FnQXlBQk5nSUVEQWtMSUFBb0FoZ2lCU2dDQkNJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCQ3lBRktBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VTU3dSQUEwQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFTQUZLQUlBSVFJTElBSXRBQUFoQnlBQUtBSUFJZ1pCMGdBMkFoUWdCaUFITmdJWUlBQW9BZ0FvQWdRaEJpQUFRUUVnQmtFL2NVR3lCV29SQXdBZ0FrRUJhaUVHSUFGQmYyb2lBZ1IvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBTElnRXNBQUFoQ1NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VJSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhEU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVFJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSRWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEVpQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFVElBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJRZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRlNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VXSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUmNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhHQ0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVpJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSb2dBVUVCYWlFR0lBSkJmMm9pQVFSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VCSUFVb0FnQUxJUUlnQWl3QUFDSW5RZjhCY1NJb0lCcEIvd0Z4SWlZZ0dVSC9BWEVpSlNBWVFmOEJjU0lrSUJkQi93RnhJaU1nRmtIL0FYRWlJaUFWUWY4QmNTSWhJQlJCL3dGeElpQWdFMEgvQVhFaUh5QVNRZjhCY1NJZUlCRkIvd0Z4SWgwZ0VFSC9BWEVpSENBTlFmOEJjU0liSUF0Qi93RnhJZzhnQ1VIL0FYRWlEaUFJUWY4QmNTSU1hbXBxYW1wcWFtcHFhbXBxYW1wcUlRWWdBQ2dDQUNJRElBNDJBaGdnQXlBTU5nSWNJQU1nRHpZQ0lDQURJQnMyQWlRZ0F5QWNOZ0lvSUFNZ0hUWUNMQ0FESUI0MkFqQWdBeUFmTmdJMElBTkIyQUEyQWhRZ0F5Z0NCQ0VESUFCQkFpQURRVDl4UWJJRmFoRURBQ0FBS0FJQUlnTWdJRFlDR0NBRElDRTJBaHdnQXlBaU5nSWdJQU1nSXpZQ0pDQURJQ1EyQWlnZ0F5QWxOZ0lzSUFNZ0pqWUNNQ0FESUNnMkFqUWdBMEhZQURZQ0ZDQURLQUlFSVFNZ0FFRUNJQU5CUDNGQnNnVnFFUU1BSUFSQmIyb2lEaUFHU0NBR1FZQUNTM0lFUUNBQUtBSUFJZ1JCQ1RZQ0ZDQUVLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMSUFGQmYyb2hBU0FDUVFGcUlRSWdDa0VBUVlBQ0VFVWFJQVlFUUVFQUlRUURRQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdQQ3lBRktBSUVJUUVnQlNnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFQ0lBUWdDbW9nQXl3QUFEb0FBQ0FFUVFGcUlnUWdCa2tOQUFzRlFRQWhCZ3NnQnlBSFFYQnFJZ1FnQjBFUWNVVWlBeHNpREVFRFN3UkFJQUFvQWdBaUQwRWZOZ0lVSUE4Z0REWUNHQ0FBS0FJQUtBSUFJUXdnQUNBTVFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBZEJBblJxSUFCQnhBRnFJQVJCQW5ScUlBTWJJZ01vQWdBaUJFVUVRQ0FESUFBUXNBVWlCRFlDQUFzZ0JFRUFPZ0FBSUFRZ0NUb0FBU0FFSUFnNkFBSWdCQ0FMT2dBRElBUWdEVG9BQkNBRUlCQTZBQVVnQkNBUk9nQUdJQVFnRWpvQUJ5QUVJQk02QUFnZ0JDQVVPZ0FKSUFRZ0ZUb0FDaUFFSUJZNkFBc2dCQ0FYT2dBTUlBUWdHRG9BRFNBRUlCazZBQTRnQkNBYU9nQVBJQVFnSnpvQUVDQURLQUlBUVJGcUlBcEJnQUlRVEJvZ0RpQUdheUlFUVJCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBRklBSTJBZ0FnQlNBQk5nSUVEQWdMSUFBb0FoZ2lDQ2dDQkNJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCQ3lBSUtBSUFJZ0pCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJJQWdvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjaUlHUVg1cUlRUWdCa0VDU3dSQUEwQWdBUVIvSUFFaEJTQUNCU0FJS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBZ29BZ1FoQlNBSUtBSUFDeUlHTFFBQUlnRkJCSFloQWlBQUtBSUFJZ05CMHdBMkFoUWdBeUFCUVE5eElnRTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQVVFRFN3UkFJQUFvQWdBaUEwRWdOZ0lVSUFNZ0FUWUNHQ0FBS0FJQUtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUJCcEFGcUlBRkJBblJxSWdFb0FnQWlBMFVFUUNBQklBQVFyd1VpQXpZQ0FBc2dCRUYvYWlFSkFuOENmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FDUVFCSElnc0VmeUFFUVlFQlRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKUVFGMUJTQUVRY0VBVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpDeUlCUVFSckRpNEFCZ1lHQmdFR0JnWUdCZ1lDQmdZR0JnWUdCZ1lEQmdZR0JnWUdCZ1lHQmdRR0JnWUdCZ1lHQmdZR0JnWUZCZ3RCd0NVaEFnd0dDMEhRSkNFQ0RBVUxRZEFqSVFJTUJBdEJvQ0loQWd3REMwSFFJQ0VDREFJTFFjQWVJUUlNQVFzZ0JVRi9haUVDSUFaQkFXb2hCaUFCUVFCS0JFQkJnQndoQnlBR0RBTUZJQUVoQkNBQ0lRRWdCZ3dFQ3dBTElBSWhCeUFGUVg5cUlRSWdCa0VCYWd3QkMwR0FIQ0VIUWNBQUlRRWdCVUYvYWlFQ0lBWkJBV29MSVFRZ0MwVUVRRUVBSVFVRFFDQUNSUVJBSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUR3c2dDQ2dDQkNFQ0lBZ29BZ0FoQkFzZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFPd0VBSUFKQmYyb2hBaUFFUVFGcUlRWWdCVUVCYWlJRklBRklCRUFnQmlFRURBRUZJQUVoQkNBQ0lRRWdCZ3dEQ3dBQUN3QUxRUUFoQlFOL0lBSkZCRUFnQ0NnQ0RDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QUlLQUlFSVFJZ0NDZ0NBQ0VFQ3lBRVFRRnFJUVlnQkMwQUFDRU5JQUpCZjJvaUFnUi9JQVlGSUFnb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTURnc2dDQ2dDQkNFQ0lBZ29BZ0FMSVFRZ0JVRUNkQ0FIYWlnQ0FFRUJkQ0FEYWlBRUxRQUFJQTFCL3dGeFFRaDBjanNCQUNBQ1FYOXFJUUlnQkVFQmFpRUdJQVZCQVdvaUJTQUJTQVIvSUFZaEJBd0JCU0FCSVFRZ0FpRUJJQVlMQ3dzaEFpQUFLQUlBSWdVb0FtaEJBVW9FUUFKQVFRQWhCZ05BSUFVZ0JrRUJkQ0FEYWk4QkFEWUNHQ0FGSUFaQkFYSkJBWFFnQTJvdkFRQTJBaHdnQlNBR1FRSnlRUUYwSUFOcUx3RUFOZ0lnSUFVZ0JrRURja0VCZENBRGFpOEJBRFlDSkNBRklBWkJCSEpCQVhRZ0Eyb3ZBUUEyQWlnZ0JTQUdRUVZ5UVFGMElBTnFMd0VBTmdJc0lBVWdCa0VHY2tFQmRDQURhaThCQURZQ01DQUZJQVpCQjNKQkFYUWdBMm92QVFBMkFqUWdCVUhmQURZQ0ZDQUZLQUlFSVFVZ0FFRUNJQVZCUDNGQnNnVnFFUU1BSUFaQkNHb2lCa0hBQUU4TkFTQUFLQUlBSVFVTUFBQUxBQXNMSUFrZ0JHdEJBQ0FFYTBFQUlBc2JhaUlFUVFCS0RRQUxDeUFFQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBSUlBSTJBZ0FnQ0NBQk5nSUVEQWNMSUFBb0FoZ2lCaWdDQkNJQlJRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VCQ3lBR0tBSUFJZ0pCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQUxJZ0V0QUFCeVFRUkhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ1FzZ0JpZ0NCQ0VDSUFZb0FnQWhBUXNnQVVFQmFpRUVJQUV0QUFCQkNIUWdBa0YvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3SkN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWhCQ0FBS0FJQUlnTkIxQUEyQWhRZ0F5QUVOZ0lZSUFBb0FnQW9BZ1FoQXlBQVFRRWdBMEUvY1VHeUJXb1JBd0FnQUNBRU5nS1lBaUFHSUFGQkFXbzJBZ0FnQmlBQ1FYOXFOZ0lFREFZTElBQW9BaGdpQlNnQ0FDRUNJQVVvQWdRaEFTQUFLQUxRQXlnQ0VFVUVRQ0FBS0FJQUlnUkJQRFlDRkNBRVFSaHFRZkw5QWtIUUFCRFZBU0FBS0FJQUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxBa0FDUUNBQUtBSWtRUU5JRFFBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFdEFBQnlRUmhIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBRUVOUndSQUlBQW9BZ0FpQkVIR0FEWUNGQ0FFSUFBb0FyZ0ROZ0lZSUFBb0FnQW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFGQkFXb2hCQ0FCTFFBQUlRWWdBa0YvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tIL0FVY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUJCQTBjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdBQ2dDMkFFaUF5Z0NXRWNOQUNBQkJIOGdBU0VFSUFJaEJpQURCU0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFvTElBVW9BZ1FoQkNBRktBSUFJUVlnQUNnQzJBRUxJUUVnQkVGL2FpRUNJQVpCQVdvaEJDQUdMUUFBSUFFb0FnQkdCRUFnQWdSL0lBRUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VDSUFVb0FnQWhCQ0FBS0FMWUFRc2hCaUFDUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmlnQ3NBRkhEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBUVlCL1J3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlEUUVnQVFSL0lBSUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQUxJUVFnQVVGL2FpRUJJQVJCQVdvaEFpQUVMQUFBRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2tFQlJ3MEJJQUZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFQ0N5QUNRUUZxSVFRZ0FpMEFBQ0VHSUFGQmYyb2lBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFRTElBRkJmMm9oQVNBRVFRRnFJUUlnQkMwQUFDQUdRZjhCY1VFSWRISU5BU0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXNBQUFOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5UVFGSERRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNnMEJCU0FDSVFFZ0JDRUNEQUVMREFFTElBQW9BZ0FpQkVFY05nSVVJQVFvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FFRUJOZ0t3QWlBRklBSTJBZ0FnQlNBQk5nSUVEQVVMSUFBb0F0QURJQUZCQW5ScVFhQjVhaWdDQUNFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdHQ3d3RUN5QUFLQUxRQXlnQ0hDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RkN3d0RDeUFBS0FJQUlnSkIzZ0EyQWhRZ0FpQUJOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FNQWdzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQWtFQmFpRUVJQUl0QUFCQkNIUWdBVUYvYWlJQ0JIOGdCQVVnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFJZ0JpZ0NBQXNpQVMwQUFISWlBMEYrYWlFRUlBQW9BZ0FpQlVIZEFEWUNGQ0FGSUFBb0FyZ0ROZ0lZSUFBb0FnQWdCRFlDSENBQUtBSUFLQUlFSVFVZ0FFRUJJQVZCUDNGQnNnVnFFUU1BSUFZZ0FVRUJhallDQUNBR0lBSkJmMm8yQWdRZ0EwRUNTd1JBSUFBb0FoZ29BaEFoQVNBQUlBUWdBVUUvY1VHeUJXb1JBd0FMREFFTElBQW9BZ0FpQWtIR0FEWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFRUUEyQXJnRFFRQWhBUXdCQ3dzQ1FDQUJRUmxHQkVBZ0FDZ0NHQ0lIS0FJQUlRUWdCeWdDQkNFQklBQW9BdEFES0FJUVJRUkFJQUFvQWdBaUFrRThOZ0lVSUFKQkdHcEI3djBDUWRBQUVOVUJJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBUVIvSUFFaEFpQUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUVJQUV0QUFBaEJTQUNRWDlxSWdJRWZ5QUVCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFJZ0J5Z0NBQXNpQVVFQmFpRUdJQUV0QUFBaENDQUNRWDlxSWdRRWZ5QUdCU0FIS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUhLQUlFSVFRZ0J5Z0NBQXNpQVN3QUFDSURRZjhCY1NFSklBQW9BZ0FpQWtIcEFEWUNGQ0FDSUFrMkFoZ2dBQ2dDQUNnQ0JDRUNJQUJCQVNBQ1FUOXhRYklGYWhFREFBSkFBa0FDUUFKL0FrQWdDVUVCZEVFR2FpQUlRZjhCY1NBRlFmOEJjVUVJZEhKSElBTkIvd0Z4UVFSS2NnMEFJQU1FUUNBQUlBazJBdFFDSUFGQkFXb2hBU0FFUVg5cUlnUWhBaUFFUlF3Q0N5QUFLQUxnQVVVTkFDQUFJQWsyQXRRQ0lBRkJBV29oQWlBRVFYOXFJZ0VFZjBFQkJVRUJJUVFNQkFzaEJBd0VDeUFBS0FJQUlnSkJERFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQWdBQ0FKTmdMVUFpQUJRUUZxSVFJZ0JFRi9haUlFUlNFR0lBTUVmeUFDSVFFZ0JDRUNJQVlGSUFRaEFVRUJJUVFNQWdzTElRUkJBQ0VEQTBBQ1FDQUVCSDhnQnlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCeWdDQkNFR0lBY29BZ0FGSUFJaEJpQUJDeUlFTFFBQUlRSWdBd1JBQWtCQkFDRUJBMEFnQUVIWUFtb2dBVUVDZEdvb0FnQW9BZ0FnQWtjRVFDQUJRUUZxSWdFZ0Ewa0VRQXdDQlF3REN3QUxDeUFBS0FMWUFpZ0NBQ0VCSUFOQkFVc0VRRUVCSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNnQ0FDSUZJQUVnQlNBQlNoc2hBU0FDUVFGcUlnSWdBMGNOQUFzTElBRkJBV29oQWdzTElBWkJmMm9oQmlBRVFRRnFJUVVnQUNnQzJBRWhBUUpBQWtBZ0FDZ0NKQ0lJUVFCTURRQkJBQ0VFQWtBRFFDQUNJQUVvQWdCR0RRRWdBVUhZQUdvaEFTQUVRUUZxSWdRZ0NFZ05BQXNNQVFzTUFRc2dBQ2dDQUNJRVFRUTJBaFFnQkNBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBRUhZQW1vZ0EwRUNkR29nQVRZQ0FDQUJJQVlFZnlBRkJTQUhLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBSEtBSUVJUVlnQnlnQ0FBc2lBaTBBQUNJRVFRUjJOZ0lVSUFFZ0JFRVBjVFlDR0NBQUtBSUFJZ1FnQVNnQ0FEWUNHQ0FFSUFFb0FoUTJBaHdnQkNBQktBSVlOZ0lnSUFSQjZnQTJBaFFnQkNnQ0JDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUNRUUZxSVFJZ0JrRi9haUlFUlNFR0lBTkJBV29pQXlBSlNRUkFJQUloQVNBRUlRSWdCaUVFREFJRklBUWhBVUVBSVFRTUF3c0FDd3NNQkFzZ0JnMEFEQUVMSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdBaEFpQUhLQUlFSVFFTElBSkJBV29oQmlBQUlBSXRBQUEyQXB3RElBRkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCUVFGcUlRWWdBQ0FCTFFBQU5nS2dBeUFBSUFKQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJMUUFBSWdaQkJIWTJBcVFESUFBZ0JrRVBjVFlDcUFNZ0FDZ0NBQ0lHSUFBb0Fwd0ROZ0lZSUFZZ0FDZ0NvQU0yQWh3Z0JpQUFLQUtrQXpZQ0lDQUdJQUFvQXFnRE5nSWtJQVpCNndBMkFoUWdCaWdDQkNFR0lBQkJBU0FHUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVBTmdJVUlBUkZCRUFnQUNBQUtBS1FBVUVCYWpZQ2tBRUxJQWNnQVVFQmFqWUNBQ0FISUFKQmYybzJBZ1FnQUVFQU5nSzRBeUFLSkFaQkFROEZJQUZCeXdCR0JFQWdBQ2dDQUNJQlFkY0FOZ0lVSUFFb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBRUVBTmdLNEF5QUtKQVpCQWc4RklBRkJyZ0ZHQkVBTUF3VWdBVUhlQWtZTkF3c0xDMEVBRHdzZ0NpUUdRUUFMUVFFQmZ5QUFLQUxRQXlFQklBQkJBRFlDMkFFZ0FFRUFOZ0tRQVNBQVFRQTJBcmdESUFGQkFEWUNEQ0FCUVFBMkFoQWdBVUVBTmdJWUlBRkJBRFlDcEFFTGlRTUJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRYXdCSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdEFESUFGQml3RTJBZ0FnQVVIWEFEWUNCQ0FCUWRnQU5nSUlJQUZCMlFBMkFod2dBVUVBTmdKZ0lBRkJBRFlDWkNBQlFka0FOZ0lrSUFGQkFEWUNhQ0FCUWRrQU5nSW9JQUZCQURZQ2JDQUJRZGtBTmdJc0lBRkJBRFlDY0NBQlFka0FOZ0l3SUFGQkFEWUNkQ0FCUWRrQU5nSTBJQUZCQURZQ2VDQUJRZGtBTmdJNElBRkJBRFlDZkNBQlFka0FOZ0k4SUFGQkFEWUNnQUVnQVVGQWEwSFpBRFlDQUNBQlFRQTJBb1FCSUFGQjJRQTJBa1FnQVVFQU5nS0lBU0FCUWRrQU5nSklJQUZCQURZQ2pBRWdBVUhaQURZQ1RDQUJRUUEyQXBBQklBRkIyUUEyQWxBZ0FVRUFOZ0tVQVNBQlFka0FOZ0pVSUFGQkFEWUNtQUVnQVVFQU5nS2NBU0FCUWRrQU5nSmNJQUZCQURZQ29BRWdBVUhhQURZQ0lDQUJRZG9BTmdKWUlBQW9BdEFESVFFZ0FFRUFOZ0xZQVNBQVFRQTJBcEFCSUFCQkFEWUN1QU1nQVVFQU5nSU1JQUZCQURZQ0VDQUJRUUEyQWhnZ0FVRUFOZ0trQVFzZUFDQUFRUUVRcmdJZ0FFRUFFSzRDSUFBb0FnUVFPQ0FBUVFBMkFnUUwyUWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSVFRZDBJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdoQkIzUWhDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnaEJCM1FoQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTE1nRUJmeUFBS0FJSUlBQW9BZ1FRcFFNaUFRUkFJQUVnQUJEcUJFRUFTQVJBSUFFUVNVRUFJUUVMQlVFQUlRRUxJQUVMMEFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlJUW9nQVNnQ0dDRUdJQUVvQWhBaUJVRUFTZ1JBQWtBZ0FVRXdhaUVMSUFFb0FoUWlBeUFGSUFNZ0JVZ2JJZ1VnQVNnQ0hDQUdheUlESUFVZ0EwZ2JJZ1VnQVNnQ0JDQUdheUlESUFVZ0EwZ2JJZ05CQVU0RVFDQUdJQXBzSVFWQkFDRUdBMEFnQVNnQ05DRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkFpQUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFGQkFEWUNKQXNnQVNnQ0VDRUdJQUVnQVNnQ0dDQUNTUVIvSUFJRklBa2dCbXNpQTBFQUlBTkJBRW9iQ3lJRk5nSVlJQUVvQWdnaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdnaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0w0QW9CRTM4Z0FDZ0NCQ0lLS0FKRUlnRUVmd04vSUFFb0FnQkZCRUFnQXlBQktBSUlJZ1FnQVNnQ0RHeHFJUU1nQWlBRUlBRW9BZ1JzYWlFQ0N5QUJLQUlzSWdFTkFDQURJUUVnQWdzRlFRQWhBVUVBQ3lFRElBb29Ba2dpQkFSQUlBRWhBZ05BSUFRb0FnQkZCRUFnQWlBRUtBSUlJZ0VnQkNnQ0RFRUhkR3hxSVFJZ0F5QUVLQUlFSUFGQkIzUnNhaUVEQ3lBRUtBSXNJZ1FOQUFzRklBRWhBZ3NnQWtFQlNBUkFEd3NnQ2lnQ1RCb2dBeUlCSUFOSUJIOGdBU0FDRURraUFVRUJJQUZCQVVvYkJVR0FsT3ZjQXdzaER5QUtLQUpFSWdJRVFBTkFJQUlvQWdCRkJFQWdBaWdDQkNJRlFYOXFJQUlvQWd3aUFSQklRUUZxSUE5S0JFQWdBaUFCSUE5c05nSVFJQUFnQlNBQ1FRaHFJZ01vQWdCc0VKOERJQUpCQVRZQ0tDQUNLQUlRSVFVRklBSWdCVFlDRUNBQ1FRaHFJUU1MSUFBb0FnUWhFa0h3ayt2Y0F5QURLQUlBSWdzUVNDRUJJQXRCOEpQcjNBTkxCRUFnQUNnQ0FDSURRY2dBTmdJVUlBQWdBeWdDQUVIL0FYRkJyQU5xRVFFQUN5QVNJQUVnQlNBQklBVklHeUlCTmdKUUlBQkJBU0FGUVFKMEVMVUJJUXdnQlFSQUlBVkJmM01oRUVFQUlRTURRQ0FBS0FJRUlRY2dBU0FGSUFOcklnUWdBU0FFU1JzaUJDQUxiQ0lHUWZDVDY5d0RTd1JBSUFBb0FnQWlDRUU0TmdJVUlBaEJBellDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCa0VJSUFaQkIzRWlDR3RCQUNBSUcyb2lDRUVRYWlJTkVFUWlCa1VFUUNBQUtBSUFJZ2xCT0RZQ0ZDQUpRUVEyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWNnQnlnQ1RDQU5hallDVENBR0lBZEJRR3NpQnlnQ0FEWUNBQ0FHSUFnMkFnUWdCa0VBTmdJSUlBY2dCallDQUNBRUJFQWdBeUFRYWlJTklBRkJmM01pQ1VzaERpQUVJUWNnQmtFUWFpRUlJQU1oQVFOQUlBRkJBV29oQmlBQlFRSjBJQXhxSUFnMkFnQWdDQ0FMYWlFSUlBZEJmMm9pQndSQUlBWWhBUXdCQ3dzZ0EwRi9haUFOSUFrZ0RodHJJUU1MSUFNZ0JVa0VRQ0FFSVFFTUFRc0xDeUFDSUF3MkFnQWdBaUFLS0FKUU5nSVVJQUpCQURZQ0dDQUNRUUEyQWh3Z0FrRUFOZ0lrQ3lBQ0tBSXNJZ0lOQUFzTElBb29Ba2dpQWtVRVFBOExBMEFnQWlnQ0FFVUVRQ0FDS0FJRUlnVkJmMm9nQWlnQ0RDSUJFRWhCQVdvZ0Qwb0VRQ0FDSUFFZ0QydzJBaEFnQUNBQ1FRaHFJZ01vQWdBZ0JVRUhkR3dRbndNZ0FrRUJOZ0lvSUFJb0FoQWhCUVVnQWlBRk5nSVFJQUpCQ0dvaEF3c2dBQ2dDQkNFVFFmQ1Q2OXdESUFNb0FnQWlFRUVIZENJTEVFZ2hBU0FMUWZDVDY5d0RTd1JBSUFBb0FnQWlBMEhJQURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFBc2dFeUFCSUFVZ0FTQUZTQnNpQVRZQ1VDQUFRUUVnQlVFQ2RCQzFBU0VNSUFVRVFDQUZRWDl6SVExQkFDRURBMEFnQUNnQ0JDRUhJQUVnQlNBRGF5SUVJQUVnQkVrYklnUWdDMndpQ0VId2srdmNBMHNFUUNBQUtBSUFJZ1pCT0RZQ0ZDQUdRUU0yQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQWhCRUhJaUNSQkVJZ1pGQkVBZ0FDZ0NBQ0lPUVRnMkFoUWdEa0VFTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFISUFrZ0J5Z0NUR28yQWt3Z0JpQUhRVUJySWdjb0FnQTJBZ0FnQmlBSU5nSUVJQVpCQURZQ0NDQUhJQVkyQWdBZ0JBUkFJQU1nRFdvaUNTQUJRWDl6SWc1TElSRWdCQ0VISUFaQkVHb2hDQ0FESVFFRFFDQUJRUUZxSVFZZ0FVRUNkQ0FNYWlBSU5nSUFJQkJCQjNRZ0NHb2hDQ0FIUVg5cUlnY0VRQ0FHSVFFTUFRc0xJQU5CZjJvZ0NTQU9JQkViYXlFREN5QURJQVZKQkVBZ0JDRUJEQUVMQ3dzZ0FpQU1OZ0lBSUFJZ0NpZ0NVRFlDRkNBQ1FRQTJBaGdnQWtFQU5nSWNJQUpCQURZQ0pBc2dBaWdDTENJQ0RRQUxDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpJTmdJc0lBY2dBRFlDU0NBQUM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSkVOZ0lzSUFjZ0FEWUNSQ0FBQzR3Q0FRdC9JQUFvQWdRaERrSHdrK3ZjQXlBQ1FRZDBJZ29RU0NFRklBcEI4SlByM0FOTEJFQWdBQ2dDQUNJR1FjZ0FOZ0lVSUFZb0FnQWhCaUFBSUFaQi93RnhRYXdEYWhFQkFBc2dEaUFGSUFNZ0JTQURTQnNpQkRZQ1VDQUFJQUVnQTBFQ2RCQzFBU0VISUFORkJFQWdCdzhMSUFOQmYzTWhDMEVBSVFZRFFDQUFJQUVnQkNBRElBWnJJZ1VnQkNBRlNSc2lDQ0FLYkJDdkFpRUpJQWdFUUNBR0lBdHFJZ1VnQkVGL2N5SUVJQVVnQkVzYklRd2dDQ0VFSUFZaEJRTkFJQVZCQVdvaERTQUZRUUowSUFkcUlBazJBZ0FnQWtFSGRDQUphaUVKSUFSQmYyb2lCQVJBSUEwaEJRd0JDd3NnQmtGL2FpQU1heUVHQ3lBR0lBTkpCRUFnQ0NFRURBRUxDeUFIQzRRQ0FRcC9JQUFvQWdRaERVSHdrK3ZjQXlBQ0VFZ2hCU0FDUWZDVDY5d0RTd1JBSUFBb0FnQWlCa0hJQURZQ0ZDQUdLQUlBSVFZZ0FDQUdRZjhCY1VHc0Eyb1JBUUFMSUEwZ0JTQURJQVVnQTBnYklnUTJBbEFnQUNBQklBTkJBblFRdFFFaEJ5QURSUVJBSUFjUEN5QURRWDl6SVFwQkFDRUdBMEFnQUNBQklBSWdCQ0FESUFacklnVWdCQ0FGU1JzaUNHd1Fyd0loQ1NBSUJFQWdCaUFLYWlJRklBUkJmM01pQkNBRklBUkxHeUVMSUFnaEJDQUdJUVVEUUNBRlFRRnFJUXdnQlVFQ2RDQUhhaUFKTmdJQUlBSWdDV29oQ1NBRVFYOXFJZ1FFUUNBTUlRVU1BUXNMSUFaQmYyb2dDMnNoQmdzZ0JpQURTUVJBSUFnaEJBd0JDd3NnQnd2dEFnRURmeU1HSVFJakJrRVFhaVFHSUFCQkFEWUNCQ0FDUVFBMkFnaEIxQUFRUkNJQlJRUkFJQUFvQWdBaUEwRTROZ0lVSUFOQkFEWUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0FVRWhOZ0lBSUFGQklqWUNCQ0FCUVFjMkFnZ2dBVUVJTmdJTUlBRkJJellDRUNBQlFTUTJBaFFnQVVHSkFUWUNHQ0FCUVJVMkFod2dBVUVXTmdJZ0lBRkJORFlDSkNBQlFZb0JOZ0lvSUFGQmdKVHIzQU0yQWpBZ0FVRUFOZ0lzSUFGQkFEWUNPQ0FCUVVCclFRQTJBZ0FnQVVFQU5nSTBJQUZCQURZQ1BDQUJRUUEyQWtRZ0FVRUFOZ0pJSUFGQjFBQTJBa3dnQUNBQk5nSUVRZUQ5QWhBTklnQkZCRUFnQWlRR0R3c2dBa0g0QURvQURDQUNJQUpCQ0dvMkFnQWdBaUFDUVF4cU5nSUVJQUJCNlAwQ0lBSVFnd0ZCQUVvRVFBSkFJQUlzQUF4QnpRQnJJZ0JCQUNBQVFTQkhHMFVFUUNBQ0lBSW9BZ2hCNkFkc0lnQTJBZ2dNQVFzZ0FpZ0NDQ0VBQ3lBQklBQkI2QWRzTmdJc0N5QUNKQVlMOVFFQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJVUlnTkJ6UUZIQkVBZ0FDZ0NBQ0lGUVJVMkFoUWdCU0FETmdJWUlBQW9BZ0FvQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0FDZ0NqQUVpQlNBQUtBSjBJZ1pQQkVBZ0FDZ0NBQ0lCUWY0QU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBZ0JDUUdRUUFQQ3lBQUtBSUlJZ01FUUNBRElBVTJBZ1FnQXlBR05nSUlJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzZ0JFRUFOZ0lBSUFBb0FzQURLQUlFSVFNZ0FDQUJJQVFnQWlBRFFSOXhRZm9GYWhFSEFDQUFJQVFvQWdBaUFTQUFLQUtNQVdvMkFvd0JJQVFrQmlBQkM1SUVBUjEvSUFBb0F1UURJUVFnQUNnQ2VDRUlJQUFvQW5BaENTQUFLQUxRQWlFU0lBTkJBRXdFUUE4TElBaEJBRW9oRXlBSlJTRVVJQWxCZjJvaUZTQUliQ0VXUVFBZ0NHc2hGeUFKUVFGcUlROERRQ0FLUVFKMElBSnFJaGdvQWdCQkFDQUpFRVVhSUJNRVFBSkFJQlFFUUNBRUtBSlVSU0VHUVFBaEFBTkFJQVJCeEFCcUlBQkJBblJxS0FJQUlnVWdEMEVCZENBRmFpQUdHMEVBT3dFQUlBZ2dBRUVCYWlJQVJ3MEFDd3dCQ3lBS1FRSjBJQUZxSVJsQkFDRUhBMEFnQnlBWktBSUFhaUVHSUJnb0FnQWhBQ0FFS0FKVUJIOUJmeUVMSUFSQnhBQnFJQWRCQW5ScUtBSUFJQTlCQVhScUlRMGdCaUFXYWlFR0lBQWdGV29oQUNBWEJVRUJJUXNnQkVIRUFHb2dCMEVDZEdvb0FnQWhEU0FJQ3lFYUlBUW9BaGdnQjBFQ2RHb29BZ0FoR3lBRUtBSVFJQWRCQW5ScUtBSUFJUndnQ1NBTGJDRWdRUUFoRUNBSklSRkJBQ0VPUVFBaERDQU5JUVVEUUNBQUlCc2dFaUFHTFFBQUlBdEJBWFFnQldvaUhpNEJBQ0FNUVFocWFrRUVkV3BxTFFBQUlneHFMUUFBSWg4Z0FDMEFBR282QUFBZ0JTQU9JQXdnSENBZmFpMEFBR3NpQlVFRGJHbzdBUUFnRUNBRlFRVnNhaUVPSUFWQkIyd2hEQ0FHSUJwcUlRWWdBQ0FMYWlFQUlCRkJmMm9pRVFSQUlBVWhFQ0FlSVFVTUFRc0xJQ0JCQVhRZ0RXb2dEanNCQUNBSFFRRnFJZ2NnQ0VjTkFBc0xDeUFFSUFRb0FsUkZOZ0pVSUFwQkFXb2lDaUFEUncwQUN3dkZBZ0VPZnlBQUtBTGtBeUVFSUFBb0FuZ2hDU0FBS0FKd0lRWWdBMEVBVEFSQUR3c2dDVUVBVEFSQVFRQWhBQU5BSUFCQkFuUWdBbW9vQWdCQkFDQUdFRVVhSUFRZ0JDZ0NNRUVCYWtFUGNUWUNNQ0FBUVFGcUlnQWdBMGNOQUFzUEN5QUdSU0VOQTBBZ0IwRUNkQ0FDYWlJT0tBSUFRUUFnQmhCRkdpQUVLQUl3SVF3Z0IwRUNkQ0FCYWlFUElBMUZCRUJCQUNFRkEwQWdCQ2dDR0NBRlFRSjBhaWdDQUNFUUlBUkJOR29nQlVFQ2RHb29BZ0FoRVNBR0lRQWdEaWdDQUNFSVFRQWhDaUFGSUE4b0FnQnFJUXNEUUNBSUlCQWdDeTBBQUNBTVFRWjBJQkZxSUFwQkFuUnFLQUlBYW1vdEFBQWdDQzBBQUdvNkFBQWdDU0FMYWlFTElBaEJBV29oQ0NBS1FRRnFRUTl4SVFvZ0FFRi9haUlBRFFBTElBa2dCVUVCYWlJRlJ3MEFDd3NnQkNBTVFRRnFRUTl4TmdJd0lBZEJBV29pQnlBRFJ3MEFDd3ZJQWdFUGZ5QUFLQUxrQXlJRUtBSVlJZ1VvQWdBaEN5QUZLQUlFSVF3Z0JTZ0NDQ0VOSUFBb0FuQWhDaUFEUVFCTUJFQVBDeUFFS0FJd0lRQWdDa1VFUUVFQUlRRURRQ0FBUVFGcVFROXhJUUFnQVVFQmFpSUJJQU5IRFFBTElBUWdBRFlDTUE4TEEwQWdCQ2dDTkNFT0lBUW9BamdoRHlBRUtBSThJUkFnQ2lFRlFRQWhCaUFJUVFKMElBSnFLQUlBSVFrZ0NFRUNkQ0FCYWlnQ0FDRUhBMEFnQjBFRGFpRVJJQWxCQVdvaEVpQUpJQTBnQnkwQUFpQUFRUVowSUJCcUlBWkJBblJxS0FJQWFtb3RBQUFnQnkwQUFDQUFRUVowSUE1cUlBWkJBblJxS0FJQWFpQUxhaTBBQUNBTUlBY3RBQUVnQUVFR2RDQVBhaUFHUVFKMGFpZ0NBR3BxTFFBQWFtbzZBQUFnQmtFQmFrRVBjU0VHSUFWQmYyb2lCUVJBSUJJaENTQVJJUWNNQVFzTElBUWdBRUVCYWtFUGNTSUFOZ0l3SUFoQkFXb2lDQ0FEUncwQUN3dnRBUUVLZnlBQUtBTGtBeWdDR0NFTUlBQW9BbmdoQmlBQUtBSndJZ3BGSUFOQkFVaHlCRUFQQ3lBR1FRQk1CRUJCQUNFQUEwQWdBRUVDZENBQ2FpZ0NBRUVBSUFvUVJSb2dBRUVCYWlJQUlBTkhEUUFMRHdzRFFDQUtJUXNnQlVFQ2RDQUNhaWdDQUNFSElBVkJBblFnQVdvb0FnQWhBQU5BUVFBaENFRUFJUWtnQUNFRUEwQWdCRUVCYWlFTklBa2dDRUVDZENBTWFpZ0NBQ0FFTFFBQWFpMEFBR29oQ1NBSVFRRnFJZ2dnQmtjRVFDQU5JUVFNQVFzTElBQWdCbW9oQUNBSFFRRnFJUVFnQnlBSk9nQUFJQXRCZjJvaUN3UkFJQVFoQnd3QkN3c2dCVUVCYWlJRklBTkhEUUFMQzY0QkFRbC9JQUFvQXVRREtBSVlJZ1FvQWdBaEJ5QUVLQUlFSVFnZ0JDZ0NDQ0VKSUFBb0FuQWlDa1VnQTBFQlNISUVRQThMQTBBZ0NpRUFJQVZCQW5RZ0Ftb29BZ0FoQmlBRlFRSjBJQUZxS0FJQUlRUURRQ0FFUVFOcUlRc2dCa0VCYWlFTUlBWWdDU0FFTFFBQ2FpMEFBQ0FFTFFBQUlBZHFMUUFBSUFnZ0JDMEFBV290QUFCcWFqb0FBQ0FBUVg5cUlnQUVRQ0FNSVFZZ0N5RUVEQUVMQ3lBRlFRRnFJZ1VnQTBjTkFBc0xKZ0VCZnlBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMdlFVQkNYOGdBQ0FBS0FMa0F5SUNLQUlRTmdLSUFTQUFJQUlvQWhRMkFvUUJBa0FDUUFKQUFrQWdBQ2dDV0E0REFBRUNBd3NnQUNnQ2VFRURSZ1JBSUFKQkZqWUNCQVVnQWtFWE5nSUVDdzhMSUFKQkdFRVpJQUFvQW5oQkEwWWJOZ0lFSUFKQkFEWUNNQ0FDS0FJY1JRUkFJQUFRb1FNTElBSW9BalFFUUE4TElBQW9BdVFESVFJZ0FDZ0NlQ0lCUVFCTUJFQVBDd05BSUFKQklHb2dCRUVDZEdvb0FnQWhCUUpBQWtBZ0JFVU5BRUVBSVFNRFFDQUNRU0JxSUFOQkFuUnFLQUlBSUFWSEJFQWdBMEVCYWlJRElBUlBEUUlNQVFzTElBSkJOR29nQTBFQ2RHb29BZ0FpQTBVTkFBd0JDeUFBS0FJRUtBSUFJUUVnQUVFQlFZQUlJQUZCUDNGQnlnRnFFUVFBSVFZZ0JVRUpkRUdBZkdvaEJVRUFJUUVEUUVFQUlRTURRRUgvQVNBRElBRkJCSFJCc0RKcWFpMEFBRUVCZEdzaUNFSC9BV3doQnlBQlFRWjBJQVpxSUFOQkFuUnFJQWhCQUVnRWYwRUFRUUFnQjJzZ0JSQTVhd1VnQnlBRkVEa0xOZ0lBSUFOQkFXb2lBMEVRUncwQUN5QUJRUUZxSWdGQkVFY05BQXNnQmlFRElBQW9BbmdoQVFzZ0FrRTBhaUFFUVFKMGFpQUROZ0lBSUFSQkFXb2lCQ0FCU0EwQUN3OExJQUpCR2pZQ0JDQUNRUUEyQWxRZ0FpZ0NSQVIvSUFCQitBQnFJZ0VoQXlBQktBSUFJUUVnQUVId0FHb0ZJQUJCOEFCcUlnUW9BZ0FoQ1NBQVFmZ0FhaUlES0FJQVFRQk1CRUFQQ3lBSlFRRjBRUVJxSVFWQkFDRUJBMzhnQUNnQ0JDZ0NCQ0VHSUFKQnhBQnFJQUZCQW5ScUlBQkJBU0FGSUFaQlAzRkJ5Z0ZxRVFRQU5nSUFJQUZCQVdvaUFTQURLQUlBSWdaSURRQWdCaUVCSUFRTEN5Z0NBQ0VLSUFGQkFFd0VRQThMSUFwQkFYUkJCR29oQVVFQUlRQURRQ0FDUWNRQWFpQUFRUUowYWlnQ0FFRUFJQUVRUlJvZ0FFRUJhaUlBSUFNb0FnQklEUUFMRHdzZ0FDZ0NBQ0lCUVRFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQzhzQkFRdC9JQUFvQXVRREtBSVlJUW9nQUNnQ2NDSUxSU0FEUVFGSWNnUkFEd3NEUUNBTElRZ2dCVUVDZENBQ2FpZ0NBQ0VHSUFWQkFuUWdBV29vQWdBaEJBTkFJQVF0QUFCQkEzWWlERUVDZENBS2FpZ0NBQ0FFTFFBQlFRSjJJZ2RCQm5ScUlBUXRBQUpCQTNZaURVRUJkR29pRGk0QkFDSUpSUVJBSUFBZ0RDQUhJQTBRb2dNZ0RpNEJBQ0VKQ3lBRVFRTnFJUVFnQmtFQmFpRUhJQVlnQ1VILy93TnhRZjhCYWpvQUFDQUlRWDlxSWdnRVFDQUhJUVlNQVFzTElBVkJBV29pQlNBRFJ3MEFDd3ZLQlFFbmZ5QUFLQUxrQXlJTEtBSVlJUndnQUNnQ2NDRU1JQUFvQXRBQ0lSTWdDeWdDS0NFVUlBQW9Bb2dCSWdRb0FnQWhIU0FFS0FJRUlSNGdCQ2dDQ0NFZklBTkJBRXdFUUE4TElBeEZJU0FnREVGL2FpSWhRUU5zSVNJZ0RFRURiRUVEYWlFakEwQWdEa0VDZENBQmFpZ0NBQ0VISUE1QkFuUWdBbW9vQWdBaERTQUxJQXNvQWlRRWYwRjlJUWxCZnlFV0lBc29BaUFnSTBFQmRHb2hDQ0FOSUNGcUlRMGdCeUFpYWlFSFFRQUZRUU1oQ1VFQklSWWdDeWdDSUNFSVFRRUxOZ0lrSUNBRVFFRUFJUTlCQUNFUVFRQWhCQVVnQ1VFQmFpRWtJQWxCQW1vaEpTQUpJQXhzSVNwQkFDRVJRUUFoRWtFQUlSZEJBQ0VZUVFBaEdVRUFJUTlCQUNFUVFRQWhHaUFNSVJ0QkFDRUZJQWdoQkFOQUlCTWdKRUVCZENBRWFpNEJBQ0FSUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQmFtb3RBQUFpQ2tFQ2RpSUdRUVowSUJNZ0NVRUJkQ0FFYWlJbkxnRUFJQVZCQ0dwcVFRUjFRUUowSUJScUtBSUFJQWN0QUFCcWFpMEFBQ0lSUVFOMkloVkJBblFnSEdvb0FnQnFJQk1nSlVFQmRDQUVhaTRCQUNBU1FRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUNhbW90QUFBaUVrRURkaUlvUVFGMGFpSXBMZ0VBSWdWRkJFQWdBQ0FWSUFZZ0tCQ2lBeUFwTGdFQUlRVUxJQTBnQlVILy93TnhRWDlxSWdZNkFBQWdDaUFHSUI1cUxRQUFheUVGSUJJZ0JpQWZhaTBBQUdzaENpQUVJQThnRVNBR0lCMXFMUUFBYXlJR1FRTnNhanNCQUNBWElBWkJCV3hxSVE4Z0JrRUhiQ0VWSUFRZ0VDQUZRUU5zYWpzQkFpQVlJQVZCQld4cUlSQWdCVUVIYkNFUklBUWdHaUFLUVFOc2Fqc0JCQ0FaSUFwQkJXeHFJUVFnQ2tFSGJDRVNJQWNnQ1dvaEJ5QU5JQlpxSVEwZ0cwRi9haUliQkVBZ0JpRVhJQVVoR0NBS0lSa2dCQ0VhSUJVaEJTQW5JUVFNQVFzTElDcEJBWFFnQ0dvaENBc2dDQ0FQT3dFQUlBZ2dFRHNCQWlBSUlBUTdBUVFnRGtFQmFpSU9JQU5IRFFBTEM5Z0lBUmQvSUFBZ0FDZ0M1QU1pRXlnQ0VEWUNpQUVnQUNnQ0JDZ0NBQ0VCSUFCQkFTQVRLQUlVSWd0QkJYUWdBVUUvY1VIS0FXb1JCQUFpQlVFQU5nSUFJQVZCSHpZQ0JDQUZRUUEyQWdnZ0JVRS9OZ0lNSUFWQkFEWUNFQ0FGUVI4MkFoUWdBQ0FGRUxBQ0lBdEJBVW9FZndKL1FRRWhCQU4vSUFSQkFYUWdDMG9FUUVFQUlRWkJBQ0VDSUFVaEFVRUFJUU1EZnlBQktBSVlJZ2tnQmtvaEJ5QUpJQVlnQnhzaEJpQUJJQU1nQnhzaEF5QUJRU0JxSVFFZ0FrRUJhaUlDSUFSSERRQWdBd3NoQVFWQkFDRUdRUUFoQWlBRklRTkJBQ0VCQTBBZ0F5Z0NIQ0lISUFaS0JFQWdBeUFCSUFNb0FoaEJBRW9pQ1JzaEFTQUhJQVlnQ1JzaEJnc2dBMEVnYWlFRElBSkJBV29pQWlBRVJ3MEFDd3NnQkNBQlJRMEJHaUFFUVFWMElBVnFJQUVvQWdRMkFnUWdCRUVGZENBRmFpQUJJZ01vQWd3MkFnd2dCRUVGZENBRmFpQUJJZ0lvQWhRMkFoUWdCRUVGZENBRmFpSUdJQUlvQWdBMkFnQWdCRUVGZENBRmFrRUlhaUlISUFJb0FnZzJBZ0FnQkVFRmRDQUZha0VRYWlJSklBSW9BaEEyQWdBQ1FBSi9Ba0FDUUFKQVFRSWdBaWdDQkNJSUlBSW9BZ0FpREd0QkJIUWlDaUFDS0FJTUlnMGdBaWdDQ0NJT2EwRU1iQ0lQU2lJUVFRRnpJQUlvQWhRaUVTQUNLQUlRSWhKclFRTjBJQW9nRHlBUUcwb2JRUU54RGdNQUFRSUVDeUFCSUFnZ0RHcEJBaEE1SWdNMkFnUWdCZ3dDQ3lBRElBMGdEbXBCQWhBNUlnTTJBZ3dnQnd3QkN5QUNJQkVnRW1wQkFoQTVJZ00yQWhRZ0NRc2dBMEVCYWpZQ0FBc2dBQ0FDRUxBQ0lBQWdCaEN3QWlBRVFRRnFJZ1FnQzBnTkFDQUVDd3NGUVFFTElRdEJBQ0VJQTBBZ0FDZ0M1QU1vQWhnaER5QUlRUVYwSUFWcUtBSUFJZ0lnQ0VFRmRDQUZhaWdDQkNJUlNpQUlRUVYwSUFWcUtBSUlJZzRnQ0VFRmRDQUZhaWdDRENJU1NuSWdDRUVGZENBRmFpZ0NFQ0lOSUFoQkJYUWdCV29vQWhRaUVFcHlCRUJCQUNFQlFRQWhBMEVBSVFSQkFDRUdCVUVBSVFGQkFDRURRUUFoQkVFQUlRWURRQ0FDUVFKMElBOXFLQUlBSVJRZ0FrRURkRUVFY2lFVklBNGhCd05BSUFkQkFuUkJBbkloRmlBSFFRWjBJQlJxSUExQkFYUnFJUXdnRFNFSkEwQWdEQzRCQUNJWFFmLy9BM0VoQ2lBWEJFQWdBU0FLSUFsQkEzUkJCSEpzYWlFQklBTWdDaUFXYkdvaEF5QUVJQW9nRld4cUlRUWdCaUFLYWlFR0N5QU1RUUpxSVF3Z0NVRUJhaUVLSUFrZ0VFZ0VRQ0FLSVFrTUFRc0xJQWRCQVdvaENTQUhJQkpJQkVBZ0NTRUhEQUVMQ3lBQ1FRRnFJUWNnQWlBUlNBUkFJQWNoQWd3QkN3c0xJQVFnQmtFQmRTSUVhaUFHRURsQi93RnhJUUlnQ0NBQUtBS0lBU2dDQUdvZ0Fqb0FBQ0FESUFScUlBWVFPVUgvQVhFaEF5QUlJQUFvQW9nQktBSUVhaUFET2dBQUlBRWdCR29nQmhBNVFmOEJjU0VCSUFnZ0FDZ0NpQUVvQWdocUlBRTZBQUFnQ0VFQmFpSUlJQXRJRFFBTElBQWdDellDaEFFZ0FDZ0NBQ0lCUWVJQU5nSVVJQUVnQ3pZQ0dDQUFLQUlBS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlCTkJBVFlDSEF1YkFRRUdmeUFBS0FMa0F5Z0NHQ0VHSUFBb0FuQWlCMFVnQTBFQlNISUVRQThMQTBBZ0J5RUFJQVJCQW5RZ0FXb29BZ0FoQWdOQUlBSXRBQUJCQTNaQkFuUWdCbW9vQWdBZ0FpMEFBVUVDZGtFR2RHb2dBaTBBQWtFRGRrRUJkR29pQ0M0QkFDSUpRUUZxUVJCMFFSQjFJUVVnQ0NBRklBa2dCUnM3QVFBZ0FrRURhaUVDSUFCQmYyb2lBQTBBQ3lBRVFRRnFJZ1FnQTBjTkFBc0xEUUFnQUNnQzVBTkJBVFlDSEF2akJRRURmeUFBS0FMa0F5SURLQUlZSVFJZ0FDZ0NXQVIvSUFCQkFqWUNXRUVDQlVFQUN5RUVJQUVFUUNBRFFSTTJBZ1FnQTBHSEFUWUNDQ0FEUVFFMkFod0ZJQU5CRkVFVklBUkJBa1liTmdJRUlBTkJpQUUyQWdnZ0FDZ0NoQUVpQVVFQlNBUkFJQUFvQWdBaUFVRTZOZ0lVSUFGQkFUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQlFUczJBaFFnQVVHQUFqWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKWVFRSkdCRUFnQUNnQ2NFRUdiRUVNYWlFRUlBTW9BaUFpQVVVRVFDQUFLQUlFS0FJRUlRRWdBeUFBUVFFZ0JDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJZ0N5QUJRUUFnQkJCRkdpQURLQUlvUlFSQUlBQVFwQU1MSUFOQkFEWUNKQXNMSUFNb0FoeEZCRUFQQ3lBQ0tBSUFRUUJCZ0NBUVJSb2dBaWdDQkVFQVFZQWdFRVVhSUFJb0FnaEJBRUdBSUJCRkdpQUNLQUlNUVFCQmdDQVFSUm9nQWlnQ0VFRUFRWUFnRUVVYUlBSW9BaFJCQUVHQUlCQkZHaUFDS0FJWVFRQkJnQ0FRUlJvZ0FpZ0NIRUVBUVlBZ0VFVWFJQUlvQWlCQkFFR0FJQkJGR2lBQ0tBSWtRUUJCZ0NBUVJSb2dBaWdDS0VFQVFZQWdFRVVhSUFJb0FpeEJBRUdBSUJCRkdpQUNLQUl3UVFCQmdDQVFSUm9nQWlnQ05FRUFRWUFnRUVVYUlBSW9BamhCQUVHQUlCQkZHaUFDS0FJOFFRQkJnQ0FRUlJvZ0FrRkFheWdDQUVFQVFZQWdFRVVhSUFJb0FrUkJBRUdBSUJCRkdpQUNLQUpJUVFCQmdDQVFSUm9nQWlnQ1RFRUFRWUFnRUVVYUlBSW9BbEJCQUVHQUlCQkZHaUFDS0FKVVFRQkJnQ0FRUlJvZ0FpZ0NXRUVBUVlBZ0VFVWFJQUlvQWx4QkFFR0FJQkJGR2lBQ0tBSmdRUUJCZ0NBUVJSb2dBaWdDWkVFQVFZQWdFRVVhSUFJb0FtaEJBRUdBSUJCRkdpQUNLQUpzUVFCQmdDQVFSUm9nQWlnQ2NFRUFRWUFnRUVVYUlBSW9BblJCQUVHQUlCQkZHaUFDS0FKNFFRQkJnQ0FRUlJvZ0FpZ0NmRUVBUVlBZ0VFVWFJQU5CQURZQ0hBdVZCQUVUZnlBQUtBTFFBaUVGSUFBb0F0d0RJZ1FvQWhBaERDQUVLQUlVSVEwZ0JDZ0NHQ0VPSUFRb0Fod2hEeUFCS0FJQUlBSkJBblJxS0FJQUlRZ2dBU2dDQkNBQ1FRSjBhaWdDQUNFRUlBRW9BZ2dnQWtFQ2RHb29BZ0FoQ1NBREtBSUFJUVlnQUNnQ2NDSUJRUUYySWdvRVFDQUVJQXBxSVJZZ0FVRitjU0VTSUFwQkJtd2hFeUFKSVFNZ0NDRUNJQVloQVNBS0lSQURRQ0FFUVFGcUlSUWdBMEVCYWlFVklBTXRBQUFpQjBFQ2RDQU1haWdDQUNFRElBUXRBQUFpQzBFQ2RDQVBhaWdDQUNBSFFRSjBJQTVxS0FJQWFrRVFkU0VFSUF0QkFuUWdEV29vQWdBaEN5QUJJQU1nQWkwQUFDSUhhaUFGYWl3QUFEb0FBQ0FCSUFRZ0Iyb2dCV29zQUFBNkFBRWdBU0FISUF0cUlBVnFMQUFBT2dBQ0lBSkJBbW9oQnlBQklBTWdBaTBBQVNJQ2FpQUZhaXdBQURvQUF5QUJJQVVnQWlBRWFtb3NBQUE2QUFRZ0FTQUZJQUlnQzJwcUxBQUFPZ0FGSUFGQkJtb2hBU0FRUVg5cUloQUVRQ0FWSVFNZ0ZDRUVJQWNoQWd3QkN3c2dDU0FLYWlFSklCWWhCQ0FJSUJKcUlRZ2dCaUFUYWlFR0lBQW9BbkFoQVFzZ0FVRUJjVVVFUUE4TElBUXRBQUFpQUVFQ2RDQVBhaWdDQUNBSkxRQUFJZ0ZCQW5RZ0Rtb29BZ0JxUVJCMUlRSWdBRUVDZENBTmFpZ0NBQ0VESUFZZ0NDMEFBQ0lBSUFGQkFuUWdER29vQWdCcUlBVnFMQUFBT2dBQUlBWWdBQ0FDYWlBRmFpd0FBRG9BQVNBR0lBQWdBMm9nQldvc0FBQTZBQUlMUndBZ0FDZ0MzQU1vQWd3aEF5QUFJQUVnQWlnQ0FDQUZLQUlBUVFKMElBUnFJQU5CSDNGQitnVnFFUWNBSUFVZ0JTZ0NBRUVCYWpZQ0FDQUNJQUlvQWdCQkFXbzJBZ0FMZ0FZQkYzOGdBQ2dDMEFJaEJTQUFLQUxjQXlJRUtBSVFJUThnQkNnQ0ZDRVFJQVFvQWhnaEVTQUVLQUljSVJJZ0FTZ0NBQ0lISUFKQkFYUWlCRUVDZEdvb0FnQWhEQ0FFUVFGeVFRSjBJQWRxS0FJQUlRUWdBU2dDQkNBQ1FRSjBhaWdDQUNFR0lBRW9BZ2dnQWtFQ2RHb29BZ0FoRFNBREtBSUFJUWdnQXlnQ0JDRUpJQUFvQW5BaUFVRUJkaUlPQkVBZ0JpQU9haUVhSUE1QkJtd2hFeUFFSUFGQmZuRWlGbW9oRnlBTklRY2dCQ0VESUF3aEJDQUpJUUVnQ0NFQ0lBNGhGQU5BSUFaQkFXb2hHQ0FIUVFGcUlSa2dCeTBBQUNJS1FRSjBJQTlxS0FJQUlRY2dCaTBBQUNJTFFRSjBJQkpxS0FJQUlBcEJBblFnRVdvb0FnQnFRUkIxSVFZZ0MwRUNkQ0FRYWlnQ0FDRUxJQUlnQnlBRUxRQUFJZ3BxSUFWcUxBQUFPZ0FBSUFJZ0JpQUthaUFGYWl3QUFEb0FBU0FDSUFvZ0Myb2dCV29zQUFBNkFBSWdCRUVDYWlFS0lBSWdCU0FISUFRdEFBRWlCR3BxTEFBQU9nQURJQUlnQlNBRUlBWnFhaXdBQURvQUJDQUNJQVVnQkNBTGFtb3NBQUE2QUFVZ0FrRUdhaUVDSUFFZ0JTQUhJQU10QUFBaUJHcHFMQUFBT2dBQUlBRWdCU0FFSUFacWFpd0FBRG9BQVNBQklBVWdCQ0FMYW1vc0FBQTZBQUlnQTBFQ2FpRUVJQUVnQXkwQUFTSURJQWRxSUFWcUxBQUFPZ0FESUFFZ0F5QUdhaUFGYWl3QUFEb0FCQ0FCSUFNZ0Myb2dCV29zQUFBNkFBVWdBVUVHYWlFQklCUkJmMm9pRkFSQUlCa2hCeUFZSVFZZ0JDRURJQW9oQkF3QkN3c2dEU0FPYWlFTklCb2hCaUFYSVFRZ0RDQVdhaUVNSUFrZ0Uyb2hDU0FJSUJOcUlRZ2dBQ2dDY0NFQkN5QUJRUUZ4UlFSQUR3c2dEUzBBQUNJQlFRSjBJQTlxS0FJQUlRQWdCaTBBQUNJQ1FRSjBJQkpxS0FJQUlBRkJBblFnRVdvb0FnQnFRUkIxSVFFZ0FrRUNkQ0FRYWlnQ0FDRUNJQWdnQUNBTUxRQUFJZ05xSUFWcUxBQUFPZ0FBSUFnZ0FTQURhaUFGYWl3QUFEb0FBU0FJSUFJZ0Eyb2dCV29zQUFBNkFBSWdDU0FBSUFRdEFBQWlBR29nQldvc0FBQTZBQUFnQ1NBQUlBRnFJQVZxTEFBQU9nQUJJQWtnQUNBQ2FpQUZhaXdBQURvQUFndThFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJR0lRMGdBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FISUFGSUJFQWdCVUVBT3dFQUlBMUJBRHNCQUNBTlFRSnFJUTBnQlVFQ2FpRUZJQWRCQVdvaEJ3d0JDd3NnQmlFSElBRkJmMm9pRVVFQmRDQUdhaUVOUVFBaEJRTkFJQVVnQWtnRVFDQU5RUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBQlFRRjBJQTFxSVEwZ0JVRUJhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5RUUVoQzBFQUlRVWdBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrZ0JpRU1BMEFnQ1NBUlNBUkFJQTB0QUFBZ0Ewb0VRQUpBSUJKQkFYUWdER29pRHk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUE5QmZtb3VBUUFpQ2lFSUlBcEJBRW9oQmlBUExnRUNJZ1ZCQUV3RVFDQUdCRUFnRENBS093RUFJQWhCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbElCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0RFRithaTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFNSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBR0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFGSUFZb0FnQkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUNBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dERUYrYWk0QkFDSUdRUUJNQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0FnTkFBYWlJRktBSUFJQWxLQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lJU2dSQUlBd2dDRHNCQUNBSElRWkJBQ0VLQTBBZ0NpQUFUZ1JBSUFnaEJRd0RDeUFHS0FJQUlBVkdCRUFnQmlBSU5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FGSUF3Z0JUc0JBQ0FGSUFoSUJFQWdCeUVHUVFBaENnTkFJQW9nQUU0TkF5QUlJQVlvQWdCR0JFQWdCaUFGTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJR1FRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBR1FRSjBJQVJxUWZqL3p3QnFJZ1VnQ1NBRktBSUFhallDQUNBR1FRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzRklBeEJBRHNCQUFzZ0RVRUJhaUVOSUFsQkFXb2hDU0FNUVFKcUlRd01BUXNMSUExQkFtb2hEU0FMUVFGcUlRc2dBQ0VGSUF4QkJHb2hCZ3dCQ3d0QkFFRURRYWlsQVNBT0VEMUJmd3dCQ3lBRVFReHFJUTFCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ2MyQWdnZ0J3Ui9JQTFCQUNBSFFRSjBFRVVhSUFSQmtJQW9ha0VBSUFkQkJIUVFSUnBCQUNFREEwQWdBeUFIU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ0JCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQUJCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFCQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBQkJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRTURRQ0FESUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFOQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdBZ0JFR1FnTkFBYWlBRFFRZHNJZ2RCQW5ScUtBSUFJQUFvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQUhRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFaeUEwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFDQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYVNBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFEUVFGcUlRTU1BUXNMSUFRb0FnZ2hBa0VBSVFNRGZ5QURJQUpJQkg4Z0JFR1FnQ2hxSUFOQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFSQkRHb2dBMEVDZEdvb0FnQzNJaFNqT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnRktNNUF3QWdBMEVCYWlFRERBRUZRUUFMQ3dWQkFBc0xJUk1nRGlRR0lCTUxuZ0lCQkg4akJpRURJd1pCRUdva0JpQUFLQUxjQXlJSEtBSWtCRUFnQjBFZ2FrRUFJQVVvQWdCQkFuUWdCR3BCQUVFQklBY29BaWdROXdFZ0IwRUFOZ0lrSUFVZ0JTZ0NBRUVCYWpZQ0FDQUhJQWNvQWl4QmYybzJBaXdGSUFZZ0JTZ0NBQ0lKYXlJR0lBY29BaXdpQ0VFQ0lBaEJBa2tiSWdnZ0NDQUdTeHNoQmlBRElBbEJBblFnQkdvb0FnQTJBZ0FnQmtFQlN3UkFJQU1nQ1VFQmFrRUNkQ0FFYWlnQ0FEWUNCQVVnQXlBSEtBSWdOZ0lFSUFkQkFUWUNKQXNnQnlnQ0RDRUVJQUFnQVNBQ0tBSUFJQU1nQkVFZmNVSDZCV29SQndBQ2Z5QUhLQUlrUlNFS0lBVWdCaUFGS0FJQWFqWUNBQ0FISUFjb0Fpd2dCbXMyQWl3Z0NrVUxCRUFnQXlRR0R3c0xJQUlnQWlnQ0FFRUJhallDQUNBREpBWUxHd0VCZnlBQUtBTGNBeUlCUVFBMkFpUWdBU0FBS0FKME5nSXNDN29CQVFkL0lBQW9BaVFoQlNBQUtBSndJUWdnQkVFQVRBUkFEd3NnQlVFQVRBUkFEd3NnQ0VVaENnTkFJQXBGQkVCQkFDRUFBMEJCQUNFSklBQkJBblFnQVdvb0FnQWdBa0VDZEdvb0FnQWhCaUFBSUFNb0FnQnFJUWNEUUNBR1FRRnFJUXNnQnlBR0xBQUFPZ0FBSUFVZ0Iyb2hCeUFJSUFsQkFXb2lDVWNFUUNBTElRWU1BUXNMSUFVZ0FFRUJhaUlBUncwQUN3c2dCRUYvYWlFQUlBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQUFoQkF3QkN3c0wyQUlCRDM4Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FCS0FJTUlBSkJBblJxS0FJQUlSRWdBa0VCYWlFU0lBTW9BZ0FoQWtFQUlRQURRQ0FBSUE5cUxRQUFJUWNnQWlBRklBQWdEbW9zQUFCQmYzTkIvd0Z4SWdnZ0FDQVFhaTBBQUNJVFFRSjBJQWxxS0FJQWEyb3NBQUE2QUFBZ0FpQUZJQWdnQjBFQ2RDQU1haWdDQUNBVFFRSjBJQXRxS0FJQWFrRVFkV3RxTEFBQU9nQUJJQUlnQlNBSUlBZEJBblFnQ21vb0FnQnJhaXdBQURvQUFpQUNJQUFnRVdvc0FBQTZBQU1nQWtFRWFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkloQWlBTklRUU1BUXNMQzlNQkFRbC9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FBSUFscUxRQUFJUXNnQWlBQUlBaHFMQUFBSWd4Qi93RnhRWUFCYWlJTklBQWdCMm90QUFCcU9nQUFJQUlnRERvQUFTQUNJQXNnRFdvNkFBSWdBa0VEYWlFQ0lBVWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBb2hBaUFHSVFRTUFRc0xDNzBCQVFaL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUNJQUFnQjJvc0FBQTZBQUFnQWlBQUlBaHFMQUFBT2dBQklBSWdBQ0FKYWl3QUFEb0FBaUFDUVFOcUlRSWdCU0FBUVFGcUlnQkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdDaUVDSUFZaEJBd0JDd3NMdEFJQkRuOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQ1FRRnFJUkVnQXlnQ0FDRUNRUUFoQUFOQUlBQWdEMm90QUFBaEJ5QUNJQVVnQUNBT2FpMEFBQ0lJSUFBZ0VHb3RBQUFpRWtFQ2RDQUphaWdDQUdwcUxBQUFPZ0FBSUFJZ0JTQUlJQWRCQW5RZ0RHb29BZ0FnRWtFQ2RDQUxhaWdDQUdwQkVIVnFhaXdBQURvQUFTQUNJQVVnQ0NBSFFRSjBJQXBxS0FJQWFtb3NBQUE2QUFJZ0FrRURhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJFaEFpQU5JUVFNQVFzTEM0b0JBUVYvSUFBb0FuQWlCMFVnQkVFQlNISUVRQThMQTBBZ0JFRi9haUVJSUFFb0FnQWdBa0VDZEdvb0FnQWhDVUVBSVFBZ0F5Z0NBQ0VGQTBBZ0JTQUFJQWxxTEFBQUlnWTZBQUlnQlNBR09nQUJJQVVnQmpvQUFDQUZRUU5xSVFVZ0J5QUFRUUZxSWdCSERRQUxJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFnaEJBd0JDd3NMOUFFQkNYOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQWxxTFFBQUlneEJnQUZxSWcwZ0FDQUlhaTBBQUdwQi93RnhRUUowSUFWcUtBSUFJQXhCZ0FKeVFRSjBJQVZxS0FJQWFpQUFJQXBxTFFBQUlBMXFRZjhCY1VHQUJISkJBblFnQldvb0FnQnFRUkIyT2dBQUlBQkJBV29pQUNBR1J3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlBY2hCQXdCQ3dzTDNnRUJCMzhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFwcUxRQUFRWUFFY2tFQ2RDQUZhaWdDQUNBQUlBaHFMUUFBUVFKMElBVnFLQUlBSUFBZ0NXb3RBQUJCZ0FKeVFRSjBJQVZxS0FJQWFtcEJFSFk2QUFBZ0FFRUJhaUlBSUFaSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0J5RUVEQUVMQ3dzeUFRRi9JQUFvQWdRZ0FDZ0NDQkNMQVNJQkJFQWdBU0FBRUxRRlFRQklCRUFnQVJCSlFRQWhBUXNGUVFBaEFRc2dBUXNYQUNBQktBSUFJQUlnQTBFQUlBUWdBQ2dDY0JEM0FRdUhCQUVNZnlBREtBSUFJUWdnQVNnQ0JDSURJQUFvQXR3RElnVkJqQUZxYWl3QUFDRUJJQU1nQlVHV0FXcHFMUUFBSVFNZ0FDZ0N3QUlpQkVFQVRBUkFEd3NnQVVIL0FYRWhCU0FCUVFCSElRd2dBMEgvQVhFaUNrRi9haUVOSUFOQi93RnhRUUZLQkVBZ0JVRitJQVZCZjNNZ0FSdHFRUUpxSVE1QkFDRUVBMEFDUUNBRVFRSjBJQWhxS0FJQUlnTWdBQ2dDY0NJQmFpRVBJQUZCQUVvRVFDQU1SUTBCSUFaQkFuUWdBbW9vQWdBaEJ5QURJUUVEUUNBQklBY3NBQUFnRGhCRkdpQUZJUU1EUUNBQlFRRnFJUUVnQTBGL2FpRUxJQU5CQVVvRVFDQUxJUU1NQVFzTElBZEJBV29oQnlBQklBOUpEUUFMSUFBb0FuQWhBUXNnQ0NBRUlBZ2dCRUVCYWlBTklBRVE5d0VnQmtFQmFpRUdJQVFnQ21vaUJDQUFLQUxBQWtnTkFVRWJJUWtMQ3lBSlFSdEdCRUFQQ3dOQURBQUFDd0FMSUF4RkJFQWdBQ2dDY0VFQVNpRUJRUUFoQUFOL0lBRUVmMEVBQlNBQUlBcHFJZ0FnQkVnRWZ3d0NCVUViQ3dzTFFSdEdCRUFQQ3dOQURBQUFDd0FMUVFBaEJBTkFJQVpCQW5RZ0NHb29BZ0FpQVNBQUtBSndJZ05xSVFrZ0EwRUFTZ1JBSUFSQkFuUWdBbW9vQWdBaEJ3TkFJQUVnQnl3QUFDQUZFRVVhSUFVaEF3TkFJQUZCQVdvaEFTQURRWDlxSVFzZ0EwRUJTZ1JBSUFzaEF3d0JDd3NnQjBFQmFpRUhJQUVnQ1VrTkFBc0xJQVJCQVdvaEJDQUdJQXBxSWdZZ0FDZ0N3QUpJRFFBTEM2OEJBUVYvSUFNb0FnQWhCU0FBS0FMQUFrRUFUQVJBRHd0QkFDRURBMEFnQTBFQ2RDQUZhaWdDQUNJSElBQW9BbkFpQVdvaENDQUJRUUJLQkVBZ0JrRUNkQ0FDYWlnQ0FDRUVJQWNoQVFOQUlBUkJBV29oQnlBQklBUXNBQUFpQkRvQUFDQUJJQVE2QUFFZ0FVRUNhaUlCSUFoSkJFQWdCeUVFREFFTEN5QUFLQUp3SVFFTElBVWdBeUFGSUFOQkFYSkJBU0FCRVBjQklBWkJBV29oQmlBRFFRSnFJZ01nQUNnQ3dBSklEUUFMQzVVQkFRUi9JQU1vQWdBaEJpQUFLQUxBQWlJQlFRQk1CRUFQQzBFQUlRTURRQ0FEUVFKMElBWnFLQUlBSWdVZ0FDZ0NjQ0lFYWlFSElBUkJBRW9FUUNBRFFRSjBJQUpxS0FJQUlRUWdCU0VCQTBBZ0JFRUJhaUVGSUFFZ0JDd0FBQ0lFT2dBQUlBRWdCRG9BQVNBQlFRSnFJZ0VnQjBrRVFDQUZJUVFNQVFzTElBQW9Bc0FDSVFFTElBTkJBV29pQXlBQlNBMEFDd3NKQUNBRElBSTJBZ0FMQ1FBZ0EwRUFOZ0lBQzhvQ0FRTi9JQUFvQXR3RElnY29BbHdpQ0NBQUtBTEFBaUlEU0FSL0lBZ0ZJQUFvQWlSQkFFb0VRQ0FBS0FMWUFTRUlRUUFoQXdOQUlBZEJOR29nQTBFQ2RHb29BZ0FoQ1NBQUlBZ2dBMEVDZENBQmFpZ0NBQ0FDS0FJQUlBZEI1QUJxSUFOQkFuUnFLQUlBYkVFQ2RHb2dCMEVNYWlBRFFRSjBhaUFKUVI5eFFmb0ZhaEVIQUNBSVFkZ0FhaUVJSUFOQkFXb2lBeUFBS0FJa1NBMEFDeUFBS0FMQUFpRURDeUFIUVFBMkFseEJBQXNoQVNBR0lBVW9BZ0FpQm1zaUNDQUhLQUpnSWdrZ0F5QUJheUlESUFNZ0NVc2JJZ01nQXlBSVN4c2hBeUFBS0FMZ0F5Z0NCQ0VJSUFBZ0IwRU1haUFCSUFaQkFuUWdCR29nQXlBSVFUOXhRWm9HYWhFRkFDQUZJQU1nQlNnQ0FHbzJBZ0FnQnlBSEtBSmdJQU5yTmdKZ0lBY2dBeUFIS0FKY2FpSUJOZ0pjSUFFZ0FDZ0N3QUpJQkVBUEN5QUNJQUlvQWdCQkFXbzJBZ0FMSHdFQmZ5QUFLQUxjQXlJQklBQW9Bc0FDTmdKY0lBRWdBQ2dDZERZQ1lBdUhBZ0VGZnlBQUtBTElBeUlIS0FJWUlnTUVRQ0FIUVJScUlRRWdCMEVRYWlFQ0lBY29BZ3doQ1FVZ0FDZ0NCQ2dDSENFRElBY2dBQ0FIS0FJSUlBZEJGR29pQVNnQ0FDQUhRUkJxSWdJb0FnQkJBQ0FEUVI5eFFhSUNhaEVJQUNJSk5nSU1JQWNvQWhnaEF3c2dBQ2dDZENBQktBSUFheUlJSUFZZ0JTZ0NBQ0lLYXlJR0lBSW9BZ0FnQTJzaUN5QUxJQVpMR3lJR0lBWWdDRXNiSVFZZ0FDZ0M1QU1vQWdRaENDQUFJQU5CQW5RZ0NXb2dDa0VDZENBRWFpQUdJQWhCSDNGQitnVnFFUWNBSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQVlnQnlnQ0dHb2lBRFlDR0NBQUlBSW9BZ0FpQUVrRVFBOExJQUVnQUNBQktBSUFhallDQUNBSFFRQTJBaGdMaWdJQkJYOGdBQ2dDeUFNaUIwRVlhaUlJS0FJQUlnUUVRQ0FIUVJCcUlRWWdCMEVNYWlJSklRb2dDU2dDQUNFSkJTQUFLQUlFS0FJY0lRUWdCMEVNYWlJS0lBQWdCeWdDQ0NBSEtBSVVJQWRCRUdvaUJpZ0NBRUVCSUFSQkgzRkJvZ0pxRVFnQUlnazJBZ0FnQ0NnQ0FDRUVDeUFBS0FMY0F5Z0NCQ0VMSUFBZ0FTQUNJQU1nQ1NBSUlBWW9BZ0FnQzBFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0lCSUFSTEJFQWdBQ2dDNUFNb0FnUWhBaUFBSUFvb0FnQWdCRUVDZEdwQkFDQUJJQVJySWdBZ0FrRWZjVUg2QldvUkJ3QWdCU0FBSUFVb0FnQnFOZ0lBSUFnb0FnQWhBUXNnQVNBR0tBSUFJZ0JKQkVBUEN5QUhJQUFnQnlnQ0ZHbzJBaFFnQ0VFQU5nSUFDNThCQVFSL0l3WWhCeU1HUVJCcUpBWWdCaUFGS0FJQWF5RUlJQUFvQXNnRElna29BaEFoQ2lBSFFRQTJBZ0FnQUNnQzNBTW9BZ1FoQmlBQUlBRWdBaUFESUFrb0Fnd2dCeUFLSUFnZ0NDQUtTeHNnQmtFSGNVSGlCbW9SRFFBZ0FDZ0M1QU1vQWdRaEFTQUFJQWtvQWd3Z0JTZ0NBRUVDZENBRWFpQUhLQUlBSUFGQkgzRkIrZ1ZxRVFjQUlBVWdCeWdDQUNBRktBSUFhallDQUNBSEpBWUxrZ0lCQVg4Z0FDZ0N5QU1oQWdKQUFrQUNRQUpBQWtBZ0FRNEVBQU1DQVFNTElBQW9BbFJGQkVBZ0FpQUFLQUxjQXlnQ0JEWUNCQXdFQ3lBQ1FRUTJBZ1FnQWlnQ0RFVUVRQ0FBS0FJRUtBSWNJUUVnQWlBQUlBSW9BZ2hCQUNBQ0tBSVFRUUVnQVVFZmNVR2lBbW9SQ0FBMkFnd0xEQU1MSUFJb0FnaEZCRUFnQUNnQ0FDSUJRUU0yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUVFVMkFnUU1BZ3NnQWlnQ0NFVUVRQ0FBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQmpZQ0JBd0JDeUFBS0FJQUlnRkJBellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUpCQURZQ0dDQUNRUUEyQWhRTEtRRUJmeUFBS0FMSUF5Z0NCQ0VFSUFCQkFFRUFRUUFnQVNBQ0lBTWdCRUVIY1VIaUJtb1JEUUFMZndFRWZ5QUFLQUxBQXlJRVFUQnFJZ1lvQWdBZ0JDZ0NOQ0lGU1FSQUlBUkJDR29oQndVZ0FDZ0N4QU1vQWd3aEJTQUFJQVJCQ0dvaUJ5QUZRVDl4UVlvQmFoRUNBQVIvSUFaQkFEWUNBQ0FFS0FJMEJROExJUVVMSUFBb0FzZ0RLQUlFSVFRZ0FDQUhJQVlnQlNBQklBSWdBeUFFUVFkeFFlSUdhaEVOQUF1VkJ3RVBmeUFBS0FMQUF5SUVLQUk0UlFSQUlBQW9Bc1FES0FJTUlRZ2dBQ0FFUVR4cUlBUW9Ba1JCQW5ScUtBSUFJQWhCUDNGQmlnRnFFUUlBQkVBZ0JFRUJOZ0k0SUFRZ0JDZ0NURUVCYWpZQ1RBVVBDd3NDUUFKQUFrQUNRQUpBQWtBZ0JDZ0NTQTREQVFJQUF3c2dBQ2dDeUFNb0FnUWhCU0FBSUFSQlBHb2dCQ2dDUkVFQ2RHb29BZ0FnQkVFd2FpSUlJQVJCTkdvaUNpZ0NBQ0FCSUFJZ0F5QUZRUWR4UWVJR2FoRU5BQ0FJS0FJQUlBb29BZ0JKQkVBUEN5QUVRUUEyQWtnZ0FpZ0NBQ0FEU1EwRER3c2dCRUV3YWlFSUlBUkJOR29oQ2d3Q0N5QUVRVEJxSVFnZ0JFRTBhaUVLREFJTER3c2dDRUVBTmdJQUlBb2dBQ2dDeUFJaURrRi9hallDQUNBRUtBSk1JQUFvQXN3Q1JnUkFJQUFvQXNBRElRc2dBQ2dDSkNJUFFRQktCRUFnQzBFOGFpQUxLQUpFUVFKMGFpRVFJQUFvQXRnQklRVURRQ0FGS0FJTUlBVW9BaWhzSWdjZ0RoQTVJUVlnQnlBRktBSXdJQWNRVGlJSElBZEZHeUVISUFsRkJFQWdDeUFIUVg5cUlBWVFPVUVCYWpZQ05Bc2dFQ2dDQUNBSlFRSjBhaWdDQUNFTklBWkJBWFFoRVNBR1FRQktCRUFnQjBGL2FrRUNkQ0FOYWlFTVFRQWhCZ05BSUFZZ0IycEJBblFnRFdvZ0RDZ0NBRFlDQUNBR1FRRnFJZ1lnRVVnTkFBc0xJQVZCMkFCcUlRVWdDVUVCYWlJSklBOUhEUUFMQ3dzZ0JFRUJOZ0pJQ3lBQUtBTElBeWdDQkNFRklBQWdCRUU4YWlBRUtBSkVRUUowYWlnQ0FDQUlJQW9vQWdBZ0FTQUNJQU1nQlVFSGNVSGlCbW9SRFFBZ0NDZ0NBQ0FLS0FJQVNRUkFEd3NnQkNnQ1RFRUJSZ1JBSUFBb0FzQURJUXNnQUNnQ3lBSWhBU0FBS0FJa0lnZEJBRW9FUUNBTFFVQnJJUTBnQVVFQmFpRU9JQUZCQW1vaER5QUFLQUxZQVNFQ1FRQWhBd05BSUFJb0Fnd2dBaWdDS0d3Z0FSQTVJUVVnQ3lnQ1BDQURRUUowYWlnQ0FDRUpJQTBvQWdBZ0EwRUNkR29vQWdBaEJpQUZRUUJLQkVBZ0JTQU9iQ0VRSUFVZ0Qyd2hFVUVBSVFBRFFDQUFJQVZySWd4QkFuUWdDV29nQUNBUWFpSVNRUUowSUFscUtBSUFOZ0lBSUF4QkFuUWdCbW9nRWtFQ2RDQUdhaWdDQURZQ0FDQUFJQkZxSWd4QkFuUWdDV29nQUVFQ2RDQUphaWdDQURZQ0FDQU1RUUowSUFacUlBQkJBblFnQm1vb0FnQTJBZ0FnQUVFQmFpSUFJQVZIRFFBTEN5QUNRZGdBYWlFQ0lBTkJBV29pQXlBSFJ3MEFDd3NGSUFBb0FzZ0NJUUVMSUFRZ0JDZ0NSRUVCY3pZQ1JDQUVRUUEyQWpnZ0NDQUJRUUZxTmdJQUlBb2dBVUVDYWpZQ0FDQUVRUUkyQWtnTDZRTUJFSDhnQUNnQ3dBTWhBZ0pBQWtBQ1FDQUJEZ01BQWdFQ0N5QUFLQUxjQXlnQ0NFVUVRQ0FDUVJFMkFnUWdBaUFDS0FJME5nSXdEd3NnQWtFUU5nSUVJQUFvQXNnQ0lRUWdBQ2dDSkNJTFFRQktCRUFnQWtGQWF5RU1JQVJCQW1vaERTQUVRWDVxSVE0Z0FDZ0MyQUVoQlVFQUlRQURRQ0FGS0FJTUlBVW9BaWhzSUFRUU9TRURJQUlvQWp3Z0FFRUNkR29vQWdBaEJpQU1LQUlBSUFCQkFuUnFLQUlBSVFjZ0FrRUlhaUFBUVFKMGFpZ0NBQ0VJSUFNZ0RXd2lDVUVBU2dSQVFRQWhBUU5BSUFGQkFuUWdCMm9nQVVFQ2RDQUlhaWdDQUNJS05nSUFJQUZCQW5RZ0Jtb2dDallDQUNBQlFRRnFJZ0VnQ1VjTkFBc0xJQU5CQVhRaENTQURRUUJLQkVBZ0F5QUViQ0VLSUFNZ0Rtd2hEMEVBSVFFRFFDQUJJQTlxSWhCQkFuUWdCMm9nQVNBS2FpSVJRUUowSUFocUtBSUFOZ0lBSUJGQkFuUWdCMm9nRUVFQ2RDQUlhaWdDQURZQ0FDQUJRUUZxSWdFZ0NVZ05BQXRCQUNFQkEwQWdBU0FEYTBFQ2RDQUdhaUFHS0FJQU5nSUFJQUZCQVdvaUFTQURSdzBBQ3dzZ0JVSFlBR29oQlNBQVFRRnFJZ0FnQzBjTkFBc0xJQUpCQURZQ1JDQUNRUUEyQWtnZ0FrRUFOZ0pNSUFKQkFEWUNPQThMSUFKQkVqWUNCQThMSUFBb0FnQWlBVUVETmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXVCQkFFSmZ5QUFJQUJCQVVIUUFDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDSUVOZ0xBQXlBRVFUTTJBZ0FnQUNnQ3lBSWhBaUFBS0FMY0F5Z0NDQVIvSUFKQkFrZ0VRQ0FBS0FJQUlnTkJNRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUNBQUtBTElBaUVDQ3lBQUtBTEFBeUlESUFCQkFTQUFRU1JxSWdZb0FnQkJBM1FnQUNnQ0JDZ0NBRUUvY1VIS0FXb1JCQUFpQVRZQ1BDQURRVUJySWdjZ0FTQUFLQUlrSWdGQkFuUnFOZ0lBSUFGQkFFb0VRQ0FDUVFScUlRZ2dBQ2dDMkFFaEFrRUFJUUVEZnlBQVFRRWdBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJZ1VnQ0d3aUNVRURkQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0FGUVFKMGFpRUZJQU1vQWp3Z0FVRUNkR29nQlRZQ0FDQUhLQUlBSUFGQkFuUnFJQWxCQW5RZ0JXbzJBZ0FnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkNJRlNBMEFJQVVMSVFFTElBQW9Bc2dDSWdWQkFtb2hBaUFCSVFNZ0JRVWdCQ0FDTmdJMElBQkJKR29oQmlBQUtBSWtJUU1nQWdzaEFTQURRUUJNQkVBUEN5QUVRUWhxSVFWQkFDRURJQUFvQXRnQklRUURRQ0FFS0FJTUlBUW9BaWhzSUFFUU9TRUJJQU5CQW5RZ0JXb2dBRUVCSUFRb0Fod2dCQ2dDSkd3Z0FTQUNiQ0FBS0FJRUtBSUlRUTl4UVlvQ2FoRUpBRFlDQUNBRFFRRnFJZ01nQmlnQ0FFZ0VRQ0FFUWRnQWFpRUVJQUFvQXNnQ0lRRU1BUXNMQzhJQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVRWNJQUpCUDNGQnlnRnFFUVFBSWdJMkFzZ0RJQUpCTWpZQ0FDQUNRUUEyQWdnZ0FrRUFOZ0lNSUFBb0FsUkZCRUFQQ3lBQ0lBQW9Bc0FDSWdNMkFoQWdBQ2dDQkNFRUlBRUVRQ0FFS0FJUUlRRWdBaUFBUVFGQkFDQUFLQUp3SUFBb0FuaHNJQUFvQW5RZ0F4RDRBU0FDS0FJUUlBRkJQM0ZCeGdKcUVRb0FOZ0lJQlNBRUtBSUlJUUVnQWlBQVFRRWdBQ2dDY0NBQUtBSjRiQ0FESUFGQkQzRkJpZ0pxRVFrQU5nSU1Dd3VoQkFFTWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQm9BRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzNBTWdBa0dHQVRZQ0FDQUNRUU0yQWdRZ0FrRUFOZ0lJSUFBb0FyUUNCRUFnQUNnQ0FDSUJRUm8yQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBS0FJa1FRQk1CRUFQQ3lBQ1FlUUFhaUVKSUFKQk5Hb2hCU0FDUVF4cUlRb2dBa0dNQVdvaEN5QUNRWllCYWlFTUlBQW9BdGdCSVFKQkFDRUJBMEFnQWlnQ0NDQUNLQUlrYkNBQUtBTEVBaEE1SVFjZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlRWWdBQ2dDdkFJaEJDQUFLQUxBQWlFSUlBRkJBblFnQ1dvZ0JqWUNBQ0FDS0FJMEJFQUNRQ0FHSUFoR0lnTWdCQ0FIUm5FRVFDQUJRUUowSUFWcVFRdzJBZ0FNQVFzZ0F5QUVJQWRCQVhSR0lnTnhCRUFnQVVFQ2RDQUZha0VOTmdJQUJRSkFJQU1nQ0NBR1FRRjBSbkVFUUNBQlFRSjBJQVZxUVE0MkFnQU1BUXNnQkNBSElBUWdCeEE1SWdSc2EwVUVRQ0FJSUFZZ0NDQUdFRGtpQTJ4clJRUkFJQUZCQW5RZ0JXcEJEellDQUNBQklBdHFJQVE2QUFBZ0FTQU1haUFET2dBQURBSUxDeUFBS0FJQUlnTkJKellDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUU1nQVVFQ2RDQUthaUFBUVFFZ0FDZ0NjQ0FBS0FLOEFoRDRBU0FBS0FMQUFpQURRUTl4UVlvQ2FoRUpBRFlDQUFzRklBRkJBblFnQldwQkN6WUNBQXNnQWtIWUFHb2hBaUFCUVFGcUlnRWdBQ2dDSkVnTkFBc0xraEFCQm44Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBVFlDNEFNZ0FVR0ZBVFlDQUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUJBZ0lCQVFNTElBQW9BaVJCQVVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBTUxJQUFvQWlSQkEwY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUlMSUFBb0FpUkJCRWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFFTElBQW9BaVJCQVVnRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUt3QWdSQUFrQUNRQ0FBS0FJb1FRSnJEZ1VCQUFBQUFRQUxJQUFvQWdBaUFrRWNOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0xBa0FDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBa0VCYXc0R0FBRUVBd1FDQkFzZ0FFRUJOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQUFnSUNBQUlMSUFGQkpqWUNCQ0FBS0FJa0lnSkJBVXdOQnlBQUtBTFlBU0VEUVFFaEFRTkFJQUZCMkFCc0lBTnFRUUEyQWpRZ0FVRUJhaUlCSUFKSURRQUxEQUlMQWtBQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRW5OZ0lFREFJTElBRkJLRFlDQkF3QkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFLQUxnQXlBQVFRRkJnQmdnQVVFL2NVSEtBV29SQkFBaUFqWUNHRUVBSVFFRFFDQUJRUUowSUFKcUlBRkJpNWtCYkRZQ0FDQUJRWUFDYWtFQ2RDQUNhaUFCUWNhc0FtdzJBZ0FnQVVHQUJHcEJBblFnQW1vZ0FVR3ZPbXhCZ0lBQ2FqWUNBQ0FCUVFGcUlnRkJnQUpIRFFBTERBRUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDd3dFQ3lBQVFRTTJBbmdDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBTUJCQVFFQWdRTElBRkJLVFlDQkF3SUN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0RDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjA1c0xiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtIRWxnNXNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWQya2VtdzJBZ0FnQVVFQ2RDQURhaUFDUWMyZmZXeEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3dKQUFrQUNRQ0FBS0FLd0FnNENBQUVDQ3lBQlFTczJBZ1FNQndzZ0FVRXNOZ0lFREFZTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUJBc01Bd3NnQUVFRE5nSjRJQUFvQWloQkJrY0VRQ0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1Bd3NDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFck5nSUVEQVFMSUFGQkxEWUNCQXdEQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQWdzZ0FFRUVOZ0o0QWtBQ1FBSkFBa0FnQUNnQ0tFRUVhdzRDQVFBQ0N5QUJRUzAyQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCNmMwRmJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0dpaXdkc1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRYTZTZld3MkFnQWdBVUVDZENBRGFpQUNRZWZQZm14QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDeUFCUVM0MkFnUU1Bd3NnQUNnQ0FDSUJRUncyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUlMREFFTElBQW9BaWdnQWtZRVFDQUFJQUFvQWlRMkFuZ2dBVUV1TmdJRUJTQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpVQkVBZ0FFRUJOZ0o4RHdzZ0FDQUFLQUo0TmdKOEM4NEVBUWQvSUFBb0FnUW9BZ0FoQVNBQUlBQkJBVUV3SUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdHdESUFGQmhBRTJBZ0FnQVVFQU5nSUlJQUVnQUNnQ2VDQUFLQUp3YkNJQ05nSW9JQUFvQXNBQ1FRSkdCRUFnQVVFQk5nSUVJQUZCQ1RZQ0RDQUFLQUlFS0FJRUlRTWdBU0FBUVFFZ0FpQURRVDl4UWNvQmFoRUVBRFlDSUNBQUtBTGNBeUVCQlNBQlFRSTJBZ1FnQVVFS05nSU1JQUZCQURZQ0lBc0NmeUFBS0FJb1FRZEdJUWNnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSVFJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0ZDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhnZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ0kyQWh3Z0FTZ0NFQ0VESUFFb0FoUWhCQ0FCS0FJWUlRVWdCd3NFUUVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSFRtd3RzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFjU1dEbXhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQjNhUjZiRFlDQUNBQVFRSjBJQUpxSUFGQnpaOTliRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQlVFQUlRQkJnSDhoQVFOQUlBQkJBblFnQTJvZ0FVSHB6UVZzUVlDQUFtcEJFSFUyQWdBZ0FFRUNkQ0FFYWlBQlFhS0xCMnhCZ0lBQ2FrRVFkVFlDQUNBQVFRSjBJQVZxSUFGQnJwSjliRFlDQUNBQVFRSjBJQUpxSUFGQjU4OStiRUdBZ0FKcU5nSUFJQUZCQVdvaEFTQUFRUUZxSWdCQmdBSkhEUUFMQ3d2SEF3RURmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJMQ0FCUVQ5eFFjb0JhaEVFQUNJRE5nTGtBeUFEUVRFMkFnQWdBMEdEQVRZQ0RDQURRUUEyQWlBZ0EwRUFOZ0lvSUFBb0FuaEJBMGNFUUNBQUtBSUFJZ0ZCTURZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBRElBQkJBVUdBQVNBQlFUOXhRY29CYWhFRUFEWUNHRUVBSVFFRFFDQUFLQUlFS0FJRUlRSWdBRUVCUVlBZ0lBSkJQM0ZCeWdGcUVRUUFJUUlnQXlnQ0dDQUJRUUowYWlBQ05nSUFJQUZCQVdvaUFVRWdSdzBBQ3lBRFFRRTJBaHdnQUNnQ2JBUkFJQUFvQW1BaUFVRUlTQVJBSUFBb0FnQWlBa0U2TmdJVUlBSkJDRFlDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUNRVHMyQWhRZ0FrR0FBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFJZ0F5QUFRUUVnQVVFRElBSkJEM0ZCaWdKcUVRa0FOZ0lRSUFNZ0FUWUNGQVVnQTBFQU5nSVFDeUFBS0FKWVJRUkFEd3NnQUVFQ05nSllJQUFvQWdRb0FnUWhBU0FESUFCQkFTQUFLQUp3UVFac1FReHFJQUZCUDNGQnlnRnFFUVFBTmdJZ0lBQVFwQU1MalFrQkQzOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFkZ0FJQUZCUDNGQnlnRnFFUVFBSWdFMkF1UURJQUZCTURZQ0FDQUJRWUVCTmdJSUlBRkJnZ0UyQWd3Z0FVRUFOZ0pFSUFGQkFEWUNOQ0FBS0FKNFFRUktCRUFnQUNnQ0FDSUJRVGsyQWhRZ0FVRUVOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ1lDSUZRWUFDU2dSQUlBQW9BZ0FpQVVFN05nSVVJQUZCZ0FJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BbUFoQlFzZ0FDZ0M1QU1oQnlBQUtBSjRJZ1pCQVVvRVFFRUJJUUVEZjBFQklRTWdBVUVCYWlJRUlRSURRQ0FDSUFSc0lRSWdBMEVCYWlJRElBWkhEUUFMSUFJZ0JVb0VmeUFDSVFNZ0FRVWdCQ0VCREFFTEN5RUNCU0FGUVFFZ0JVRUJTaHNpQWtFQmFpRURDeUFDUVFKSkJFQWdBQ2dDQUNJQlFUbzJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dCa0VBU2dSQVFRRWhBVUVBSVFNRFFDQUhRU0JxSUFOQkFuUnFJQUkyQWdBZ0FTQUNiQ0VCSUFOQkFXb2lBeUFHUncwQUN3SkFJQUFvQWl4QkFrWUVRRUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowUWRTSEFXb29BZ0JCQW5ScUlna29BZ0FpQkVFQmFpRUlBa0FDUUNBQklBUVFPU0FJYkNJRUlBVktEUUFnQ1NBSU5nSUFJQU5CQVdvaUF5QUdTQVIvUVFFaEFpQUVCVUVCSVFJZ0JDRUJEQUVMSVFFTUFRc2dBa1VOQTBFQUlRTkJBQ0VDQ3d3QUFBc0FCVUVBSVFKQkFDRURBMEFnQjBFZ2FpQURRUUowYWlJSktBSUFJZ1JCQVdvaENBSkFBa0FnQVNBRUVEa2dDR3dpQkNBRlNnMEFJQWtnQ0RZQ0FDQURRUUZxSWdNZ0JrZ0VmMEVCSVFJZ0JBVkJBU0VDSUFRaEFRd0JDeUVCREFFTElBSkZEUU5CQUNFRFFRQWhBZ3NNQUFBTEFBc0FDeUFCSVFJRlFRRWhBZ3NnQUNnQ0FDRUJJQUFvQW5oQkEwWUVRQ0FCSUFJMkFoZ2dBU0FIS0FJZ05nSWNJQUVnQnlnQ0pEWUNJQ0FCSUFjb0FpZzJBaVFnQVVIZ0FEWUNGQ0FCS0FJRUlRRUZJQUZCNFFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFRc2dBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BZ1FvQWdnaEFTQUFRUUVnQWlBQUtBSjRJQUZCRDNGQmlnSnFFUWtBSVFvZ0FDZ0NlQ0lCUVFCS0JFQkJBQ0VFSUFJaEF3TkFJQU1nQjBFZ2FpQUVRUUowYWlnQ0FDSUpFRGtoQlNBSlFRQktCRUFnQ1VGL2FpSUxRUUlRT1NFTUlBUkJBblFnQ21vaERTQUZRUUJLQkVCQkFDRUdBMEFnQlNBR2JDSUJJQUpJQkVBZ0RDQUdRZjhCYkdvZ0N4QTVRZjhCY1NFT0EwQkJBQ0VJQTBBZ0RTZ0NBQ0FCSUFocWFpQU9PZ0FBSUFVZ0NFRUJhaUlJUncwQUN5QUJJQU5xSWdFZ0FrZ05BQXNMSUFrZ0JrRUJhaUlHUncwQUN5QUFLQUo0SVFFTEN5QUVRUUZxSWdRZ0FVZ0VRQ0FGSVFNTUFRc0xDeUFISUFvMkFoQWdCeUFDTmdJVUlBQVFvUU1nQUNnQ1dFRUNSd1JBRHdzZ0FDZ0M1QU1oQWlBQUtBSndJUThnQUNnQ2VFRUFUQVJBRHdzZ0QwRUJkRUVFYWlFRFFRQWhBUU5BSUFBb0FnUW9BZ1FoQkNBQ1FjUUFhaUFCUVFKMGFpQUFRUUVnQXlBRVFUOXhRY29CYWhFRUFEWUNBQ0FCUVFGcUlnRWdBQ2dDZUVnTkFBc0wyd1VCRDM4Z0FDZ0NGQ0lDUWNvQlJ3UkFJQUFvQWdBaUFVRVZOZ0lVSUFFZ0FqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFRa1FZZ0FDZ0MyQUVoQkNBQUtBSWtJZ3hCQUVvaURnUi9JQUFvQXNnQ0lRSWdBQ2dDeEFJaUNFRUlRUVFnQUNnQ1RCc2lDVW9FUUNBQ0lBbEtJUTBnQ0VFQmRDRURJQVFoQVFOQUlBRWlCeUFJTmdJa0lBMEVRQ0FDSVFFRkFrQWdBQ2dDd0FJaENpQUhLQUlNSVF0QkFTRUdJQUloQVFOQUlBb2dCa0VCZENJR0lBdHNFRThOQVNBQ0lBWnNJZ0VnQ1V3TkFBc0xDeUFISWdZZ0FUWUNLQ0FJSUFGQkFYUWlDa29FUUNBSElBbzJBaVFGSUFFZ0Ewb0VRQ0FHSUFNMkFpZ0xDeUFHUWRnQWFpRUJJQVZCQVdvaUJTQU1TQTBBQ3dVZ0FDZ0N2QUloRFNBQ0lBbEtJUW9nQkNFQkEwQWdBU2dDQ0NFRFFRRWhCU0FJSVFjRFFDQU5JQU1nQlVFQmRDSUZiQkJQUlFSQUlBVWdDR3dpQnlBSlRBMEJDd3NnQVNJRklBYzJBaVFnQ2dSQUlBSWhBUVVDUUNBQUtBTEFBaUVMSUFVb0Fnd2hEMEVCSVFNZ0FpRUJBMEFnQ3lBUElBTkJBWFFpQTJ3UVR3MEJJQUlnQTJ3aUFTQUpUQTBBQ3dzTElBVWlBeUFCTmdJb0lBY2dBVUVCZENJTFNnUkFJQVVnQ3pZQ0pBVWdBU0FIUVFGMElnRktCRUFnQXlBQk5nSW9Dd3NnQTBIWUFHb2hBU0FHUVFGcUlnWWdERWdOQUFzTElBNEVmMEVBSVFJRGZ5QUVJQVFvQWlRZ0FDZ0NIQ0FFS0FJSWJHd2dBQ2dDdkFJZ0FDZ0NyQU5zRUdnMkFpd2dCQ0FFS0FJb0lBQW9BaUFnQkNnQ0RHeHNJQUFvQXNBQ0lBQW9BcXdEYkJCb05nSXdJQVJCMkFCcUlRUWdBa0VCYWlJQ0lBQW9BaVFpQVVnTkFDQUJDd1VnREFzRklBd0xJUUlDUUFKQUFrQUNRQUpBSUFBb0Fpd2lBVUVCYXc0SEFBRUNBd01CQWdRTElBRWhBZ3dEQzBFRElRSU1BZ3RCQXlFQ0RBRUxRUVFoQWdzZ0FDQUNOZ0o0SUFCQkFTQUNJQUFvQWxRYk5nSjhJQUFRcGdORkJFQWdBRUVCTmdLQUFROExJQUFnQUNnQ3dBSTJBb0FCQ3pzQkFuOGdBQ2dDdkFNaEFTQUFLQUpVQkVBZ0FDZ0M1QU1vQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FTQUJLQUlNUVFGcU5nSU1DNUFFQVFOL0lBQW9BcndESWdJb0FnZ0VRQ0FDUVFBMkFnZ2dBQ2dDNUFNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QWdBQ2dDeUFNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFJZ0FVRS9jVUd5QldvUkF3QUZJQUFvQWxRRVFDQUFLQUtJQVVVRVFBSkFJQUFvQWx3RVFDQUFLQUpzQkVBZ0FDQUNLQUlZTmdMa0F5QUNRUUUyQWdnTUFnc0xJQUFvQW1RRVFDQUFJQUlvQWhRMkF1UURCU0FBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDd3NMSUFBb0F0Z0RLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3hBTW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKRVJRUkFJQUlvQWhCRkJFQWdBQ2dDNEFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDM0FNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpVQkVBZ0FDZ0M1QU1vQWdBaEFTQUFJQUlvQWdnZ0FVRS9jVUd5QldvUkF3QUxJQUFvQXNnREtBSUFJUUVnQUVFRFFRQWdBaWdDQ0JzZ0FVRS9jVUd5QldvUkF3QWdBQ2dDd0FNb0FnQWhBU0FBUVFBZ0FVRS9jVUd5QldvUkF3QUxDeUFBS0FJSUlnRkZCRUFQQ3lBQklBSW9BZ3dpQXpZQ0RDQUJJQU5CQWtFQklBSW9BZ2diYWlJQ05nSVFJQUJCUUdzb0FnQkZCRUFQQ3lBQUtBTE1BeWdDRkFSQUR3c2dBU0FDUVFKQkFTQUFLQUpzRzJvMkFoQUw4d1lCQkg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBallDdkFNZ0FrSC9BRFlDQUNBQ1FZQUJOZ0lFSUFKQkFEWUNDQ0FBS0FMVUFTSUJRUWhIQkVBZ0FDZ0NBQ0lEUVJBMkFoUWdBeUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FCRDNCU0FBS0FJRUtBSUFJUUVnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdOQkFFR0FCQkJGR2lBQUlBTkJnQVJxSWdRMkF0QUNRUUFoQVFOQUlBRWdCR29nQVRvQUFDQUJRUUZxSWdGQmdBSkhEUUFMSUFOQmdBWnFRWDlCZ0FRUVJSb0NRQUpBSUFBb0FuUkZEUUFnQUNnQ2NFVU5BQ0FBUWZnQWFpSURLQUlBUVFGSURRQU1BUXNnQUNnQ0FDSUJRU0UyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCK0FCcUlRTUxJQUpCQURZQ0RDQUNJQUFRcGdNMkFoQWdBa0VBTmdJVUlBSkJBRFlDR0NBQUtBSlVCRUFDUUNBQVFVQnJLQUlBUlFSQUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVFQU5nSnNDeUFBUWNRQWFpSUJLQUlBQkVBZ0FDZ0NBQ0lFUVRBMkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFRUU5HQkVBQ1FDQUFLQUtJQVFSQUlBQkJBVFlDYUF3QkN5QUFLQUpjQkVBZ0FFRUJOZ0pzQlNBQVFRRTJBbVFMQ3dVZ0FFRUJOZ0prSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdLSUFRc2dBQ2dDWkFSQUlBQVE5Z1VnQWlBQUtBTGtBellDRkFzZ0FDZ0NiRVVFUUNBQUtBSm9SUTBCQ3lBQUVQVUZJQUlnQUNnQzVBTTJBaGdMQlNBQVFRQTJBbVFnQUVFQU5nSm9JQUJCQURZQ2JDQUFRY1FBYWlFQkN5QUJLQUlBUlFSQUlBSW9BaEFFUUNBQUVQUUZCU0FBRVBNRklBQVE4Z1VMSUFBZ0FDZ0NiQkR4QlFzZ0FCREhCaUFBS0FMa0FRUkFJQUFRaXdZRklBQVFtd1lMSUFBZ0FDZ0N6QU1vQWhBRWYwRUJCU0FBUVVCcktBSUFRUUJIQ3hDS0JpQUJLQUlBUlFSQUlBQVE4QVVMSUFBb0FnUW9BaGdoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMTUF5Z0NDQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWdnaUFVVUVRQThMSUFCQlFHc29BZ0FFUUE4TElBQW9Bc3dES0FJUVJRUkFEd3NnQUNnQ0pDSURJQU5CQTJ4QkFtb2dBQ2dDNEFGRkd5RURJQUZCQURZQ0JDQUJJQU1nQUNnQ3pBSnNOZ0lJSUFGQkFEWUNEQ0FCUVFOQkFpQUFLQUpzR3pZQ0VDQUNJQUlvQWd4QkFXbzJBZ3dML2dRQkJYOENRQUpBQWtBQ1FBSkFBa0FnQUNnQ0ZDSUJRY29CYXc0REFBTUJBZ3NnQUJENkJTQUFRVUJyS0FJQVJRUkFJQUJCeXdFMkFoUU1Bd3NnQUVIUEFUWUNGRUVCRHdzZ0FFRzhBMm9oQXd3REN5QUFLQUlBSWdKQkZUWUNGQ0FDSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBRUxJQUFvQXN3REtBSVFCRUFDUUNBQUtBSUlJUUVEUUFKQUlBRUVRQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9Bc3dES0FJQUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnSU9Bd0VBQXdBTElBSkJBbkpCQTBZZ0FDZ0NDQ0lCUVFCSGNRUkFJQUVnQVNnQ0JFRUJhaUlDTmdJRUlBSWdBU2dDQ0NJQ1RnUkFJQUVnQWlBQUtBTE1BbW8yQWdnTEN3d0JDd3NnQWc4TEN5QUFJQUFvQXBBQk5nS1lBUXNnQUVHOEEyb2hBeUFBS0FJVVFjd0JSd1JBSUFNb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBUVFBMkFvd0JJQUJCekFFMkFoUUxDeUFES0FJQUlnRW9BZ2dFUUFKQUlBQkJqQUZxSWdVb0FnQWhBZ05BQWtBZ0FpQUFLQUowSWdSSkJFQWdBaUVCSUFRaEFnTkFJQUFvQWdnaUJBUi9JQVFnQVRZQ0JDQUVJQUkyQWdnZ0JDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQVVvQWdBRklBRUxJUUlnQUNnQ3dBTW9BZ1FoQVNBQVFRQWdCVUVBSUFGQkgzRkIrZ1ZxRVFjQUlBVW9BZ0FpQVNBQ1JnMENJQUVnQUNnQ2RDSUNTUTBBQ3lBREtBSUFJUUVMSUFFb0FnUWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQURLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JVRUFOZ0lBSUFNb0FnQWlBU2dDQ0VVTkFrRUFJUUlNQVFzTFFRQVBDd3NnQUVIT0FVSE5BU0FBS0FKRUd6WUNGRUVCQzFBQkEzOUJmeUVCQTBBQ1FBSkFBa0FnQUNBQ2Fpd0FBQ0lEQkVBZ0EwRXVSZ1JBREFJRkRBTUxBQXNNQWdzZ0FpRUJDeUFDUVFGcUlRSU1BUXNMSUFGQmYwY0VRQ0FBSUFGcVFRQTZBQUFMQzhvSkFRMS9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RU5JQUFvQXZBQ1FRQk1CRUJCQVE4TElBVkJ2QUZxSVE0Q1FBSkFBMEFDUUNBSVFRSjBJQUZxS0FJQUlRd2dBQ0FGUVR4cUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZ3RCQW5ScUtBSUFJZ1lvQWhRaUIwRUNkR29pQXlnQ0FDQUZRU2hxSUF0QkFuUnFJZ2tvQWdCcUlnSVFYUVJBSUFBZ0FDQUNRUUZxRUYwaUNpQUNRUUpxYWlJRUVGMGlBZ1JBSUFBZ0F5Z0NBRUVVYWlJRUVGMEVRQU5BSUFKQkFYUWlBa0dBZ0FKR0RRUWdBQ0FFUVFGcUlnUVFYUTBBQ3dzRlFRQWhBZ3NnQ1NBQ1FRRWdCeUFBUWVnQmFtb3RBQUIwUVFGMVNBUi9RUUFGSUFwQkFuUWhBeUFDUVFFZ0J5QUFRZmdCYW1vdEFBQjBRUUYxU2dSL0lBTkJER29GSUFOQkJHb0xDellDQUNBRVFRNXFJUU1nQWtFQmRTSUVCRUFEUUNBQ0lBUkJBQ0FBSUFNUVhSdHlJUUlnQkVFQmRTSUVEUUFMQ3lBRlFSaHFJQXRCQW5ScUlnUW9BZ0FnQWtGL2N5QUNRUUZxSUFvYmFpRUNJQVFnQWpZQ0FBVWdDVUVBTmdJQUlBVkJHR29nQzBFQ2RHb29BZ0FoQWdzZ0RDQUNPd0VBSUFBb0FyUURCRUFDUUNBRlFmd0FhaUFHS0FJWUlnSkJBblJxSVFjZ0FpQUFRWWdDYW1vaENVRUFJUVFEUUNBQUlBY29BZ0FnQkVFRGJHb2lBeEJkRFFFZ0JFRUJhaUVDSUFBZ0EwRUJhaEJkQkVBZ0JDRUdJQUloQkFVZ0F5RUdBMzhnQWlBQUtBSzBBMDROQ0NBR1FRTnFJUU1nQWtFQmFpRUVJQUFnQmtFRWFoQmRCSDhnQWdVZ0F5RUdJQVFoQWd3QkN3c2hCZ3NnQUNBT0VGMGhDaUFBSUFOQkFtb2lBeEJkSWdJRVFDQUFJQU1RWFFSQUlBSkJBWFFoQWlBQUlBY29BZ0JCdlFGQjJRRWdCaUFKTFFBQVNCdHFJZ01RWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQ2lBQUlBTkJBV29pQXhCZERRQUxDd3NnQTBFT2FpRUdJQUpCQVhVaUF3UkFBMEFnQWlBRFFRQWdBQ0FHRUYwYmNpRUNJQU5CQVhVaUF3MEFDd3NGUVFBaEFnc2dCRUVDZENBTmFpZ0NBRUVCZENBTWFpQUNRZi8vQTNNZ0FrRUJhaUFLR3pzQkFDQUVJQUFvQXJRRFNBMEFDd3NMSUFoQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFnTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdTZCZ0VOZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0NzQU1oQmlBQktBSUFJUWNnQUNnQzJBSW9BaGdoQWtFQklBQW9BcWdESWdGMElRaEJmeUFCZENFSklBQW9BcUFESVFFRGZ3Si9JQUVnQVVFQ2RDQUdhaWdDQUVFQmRDQUhhaTRCQUEwQUdpQUJRWDlxSWdFTkFVRUFDd3NoQlNBRFFmd0FhaUFDUVFKMGFpRUtJQU5CdkFGcUlRc2dDRUgvL3dOeElRd2dDVUgvL3dOeElRMGdBQ2dDbkFOQmYyb2hBUUpBQTBBQ1FDQUtLQUlBSUFGQkEyeHFJUUlnQVNBRlRnUkFJQUFnQWhCZERRTUxBa0FDUUNBQlFRRnFJZ0ZCQW5RZ0Jtb29BZ0JCQVhRZ0Iyb2lCQzRCQUEwQUEwQWdBQ0FDUVFGcUVGMUZCRUFnQVNBQUtBS2dBMDROQkNBQ1FRTnFJUUlnQVVFQmFpSUJRUUowSUFacUtBSUFRUUYwSUFkcUlnUXVBUUJGRFFFTUFnc0xJQUFnQ3hCZEJFQWdCQ0FOT3dFQUJTQUVJQXc3QVFBTERBRUxJQUFnQWtFQ2FoQmRCRUFnQkM0QkFDSU9JUUlnRGtFQVNBUkFJQVFnQWlBSmFqc0JBQVVnQkNBQ0lBaHFPd0VBQ3dzTElBRWdBQ2dDb0FOSURRRU1BZ3NMSUFBb0FnQWlBVUgxQURZQ0ZDQUJLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFOQmZ6WUNGRUVCRHd0QkFRdmpBd0VFZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCUUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JTZ0NGRUVDZEdvb0FnQWlCRUlBTndBQUlBUkNBRGNBQ0NBRVFnQTNBQkFnQkVJQU53QVlJQVJDQURjQUlDQUVRZ0EzQUNnZ0JFSUFOd0F3SUFSQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JTZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQUFvQXFnRElRSWdBQ2dDOEFKQkFFd0VRRUVCRHdzZ0EwRzhBV29oQTBFQklBSjBJUVJCQUNFQ0EwQWdBQ0FERUYwRVFDQUNRUUowSUFGcUtBSUFJZ1VnQkNBRkx3RUFjanNCQUFzZ0FrRUJhaUlDSUFBb0F2QUNTQTBBQzBFQkM4MEdBUXAvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVISUFFb0FnQWhDQ0FGUWZ3QWFpQUFLQUxZQWlnQ0dDSUJRUUowYWlFR0lBVkJ2QUZxSVFrZ0FTQUFRWWdDYW1vaENpQUFLQUtjQTBGL2FpRUNBa0FDUUFOQUFrQWdBQ0FHS0FJQUlBSkJBMnhxSWdNUVhRMENJQUpCQVdvaEFTQUFJQU5CQVdvUVhRUkFJQUloQkNBQklRSUZBMzhnQVNBQUtBS2dBMDROQWlBRFFRTnFJUVFnQVVFQmFpRUNJQUFnQTBFRWFoQmRCSDhnQkNFRElBRUZJQVFoQXlBQ0lRRU1BUXNMSVFRTElBQWdDUkJkSVFzZ0FDQURRUUpxSWdNUVhTSUJCRUFnQUNBREVGMEVRQ0FCUVFGMElRRWdBQ0FHS0FJQVFiMEJRZGtCSUFRZ0NpMEFBRWdiYWlJRUVGMEVRQU5BSUFGQkFYUWlBVUdBZ0FKR0RRY2dBQ0FFUVFGcUlnUVFYUTBBQ3dzRklBTWhCQXNnQkVFT2FpRURJQUZCQVhVaUJBUkFBMEFnQVNBRVFRQWdBQ0FERUYwYmNpRUJJQVJCQVhVaUJBMEFDd3NGUVFBaEFRc2dBa0VDZENBSGFpZ0NBRUVCZENBSWFpQUJRWDl6SUFGQkFXb2dDeHNnQUNnQ3FBTjBPd0VBSUFJZ0FDZ0NvQU5JRFFFTUFnc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUZRWDgyQWhSQkFRdmtCZ0VMZnlBQUtBTFVBeUVESUFBb0FwZ0NCRUFnQXlnQ09DSUNSUVJBSUFBb0F0QURLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ0pCR1RZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNRUUJLQkVCQkFDRUNBMEFnQUVIWUFtb2dBa0VDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQU5CUEdvZ0JDZ0NGRUVDZEdvb0FnQWlCVUlBTndBQUlBVkNBRGNBQ0NBRlFnQTNBQkFnQlVJQU53QVlJQVZDQURjQUlDQUZRZ0EzQUNnZ0JVSUFOd0F3SUFWQ0FEY0FPQ0FEUVJocUlBSkJBblJxUVFBMkFnQWdBMEVvYWlBQ1FRSjBha0VBTmdJQUlBQW9BdUFCQkVBZ0FDZ0NuQU1OQVFVZ0FDZ0N0QU1OQVFzTUFRc2dBMEg4QUdvZ0JDZ0NHRUVDZEdvb0FnQkJBRUdBQWhCRkdnc2dBa0VCYWlJQ0lBQW9BdFFDU0EwQUN3c2dBMEVBTmdJTUlBTkJBRFlDRUNBRFFYQTJBaFFnQXlBQUtBS1lBaUlDTmdJNEN5QURJQUpCZjJvMkFqZ0xJQU1vQWhSQmYwWUVRRUVCRHdzZ0FDZ0M4QUpCQUV3RVFFRUJEd3RCQUNFRkFrQUNRQU5BQWtBZ0JVRUNkQ0FCYWlnQ0FDRU1JQUFnQTBFOGFpQUFRZGdDYWlBQVFmUUNhaUFGUVFKMGFpZ0NBQ0lIUVFKMGFpZ0NBQ2dDRkNJSVFRSjBhaUlHS0FJQUlBTkJLR29nQjBFQ2RHb2lDU2dDQUdvaUFoQmRCRUFnQUNBQUlBSkJBV29RWFNJS0lBSkJBbXBxSWdRUVhTSUNCRUFnQUNBR0tBSUFRUlJxSWdRUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkJDQUFJQVJCQVdvaUJCQmREUUFMQ3dWQkFDRUNDeUFKSUFKQkFTQUlJQUJCNkFGcWFpMEFBSFJCQVhWSUJIOUJBQVVnQ2tFQ2RDRUdJQUpCQVNBSUlBQkIrQUZxYWkwQUFIUkJBWFZLQkg4Z0JrRU1hZ1VnQmtFRWFnc0xOZ0lBSUFSQkRtb2hCaUFDUVFGMUlnUUVRQU5BSUFJZ0JFRUFJQUFnQmhCZEczSWhBaUFFUVFGMUlnUU5BQXNMSUFOQkdHb2dCMEVDZEdvaUJDZ0NBQ0FDUVg5eklBSkJBV29nQ2h0cUlRSWdCQ0FDTmdJQUJTQUpRUUEyQWdBZ0EwRVlhaUFIUVFKMGFpZ0NBQ0VDQ3lBTUlBSWdBQ2dDcUFOME93RUFJQVZCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUVVNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRFFYODJBaFJCQVF2S0NRRUpmeUFBS0FMVUF5RUNJQUFvQXB3RElnWkZJUU1nQUNnQzRBRUVRQ0FBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBWklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBR05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFSFVBbW9pQmlnQ0FDSUJRUUJLQkVBZ0FFR2tBMm9oQlVFQUlRTURRQ0FBUWRnQ2FpQURRUUowYWlnQ0FDZ0NCQ0VJSUFBb0FxQUJJUWtnQUNnQ25BTWlBUVJBSUFoQkNIUWdDV29vQWdCQkFFZ0VRQ0FBS0FJQUlnRkI5Z0EyQWhRZ0FTQUlOZ0lZSUFBb0FnQkJBRFlDSENBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BSUFBb0Fwd0RJUUVMQlVFQUlRRUxJQUVnQUNnQ29BTk1CRUFEUUNBRktBSUFJQWhCQ0hRZ0NXb2dBVUVDZEdvaUJDZ0NBQ0lIUVFBZ0IwRUFTaHRIQkVBZ0FDZ0NBQ0lIUWZZQU5nSVVJQWNnQ0RZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0JDRUhJQUJCZnlBSFFUOXhRYklGYWhFREFBc2dCQ0FBS0FLb0F6WUNBQ0FCUVFGcUlRUWdBU0FBS0FLZ0EwZ0VRQ0FFSVFFTUFRc0xDeUFEUVFGcUlnTWdCaWdDQUNJQlNBMEFDd1VnQUVHa0Eyb2hCUXNnQUNnQ25BTkZJUU1nQlNnQ0FBUkFJQU1FUUNBQ1FTMDJBZ1FGSUFKQkxqWUNCQXNGSUFNRVFDQUNRU3MyQWdRRklBSkJMRFlDQkFzTEJRSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0NvQU1pQVVIQUFFZ0VRQ0FBS0FLMEF5QUJSdzBCQ3d3QkN5QUFLQUlBSWdGQi9RQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFBc2dBa0V2TmdJRUlBQkIxQUpxSWdFaEJpQUJLQUlBSVFFTElBRkJBRXdFUUNBQ1FRQTJBZ3dnQWtFQU5nSVFJQUpCY0RZQ0ZDQUNJQUFvQXBnQ05nSTREd3RCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBUW9BaFFpQVVFUFN3UkFJQUFvQWdBaUJVRXlOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUpCUEdvZ0FVRUNkR29pQlNnQ0FDSUJSUVJBSUFBb0FnUW9BZ0FoQVNBRklBQkJBVUhBQUNBQlFUOXhRY29CYWhFRUFDSUJOZ0lBQ3lBQlFnQTNBQUFnQVVJQU53QUlJQUZDQURjQUVDQUJRZ0EzQUJnZ0FVSUFOd0FnSUFGQ0FEY0FLQ0FCUWdBM0FEQWdBVUlBTndBNElBSkJHR29nQTBFQ2RHcEJBRFlDQUNBQ1FTaHFJQU5CQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRUtBSVlJZ0ZCRDBzRVFDQUFLQUlBSWdSQk1qWUNGQ0FFSUFFMkFoZ2dBQ2dDQUNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUNRZndBYWlBQlFRSjBhaUlFS0FJQUlnRkZCRUFnQUNnQ0JDZ0NBQ0VCSUFRZ0FFRUJRWUFDSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBZ0FMSUFGQkFFR0FBaEJGR2dzZ0EwRUJhaUlESUFZb0FnQklEUUFMSUFKQkFEWUNEQ0FDUVFBMkFoQWdBa0Z3TmdJVUlBSWdBQ2dDbUFJMkFqZ0xtZ3dCTW44akJpRUhJd1pCZ0FGcUpBWWdBQ2dDeEFNaEZ5QUFLQUxNQWlFeElBQW9BcEFCSWdRZ0FDZ0NtQUVpQlV3RVFBSkFBMEFDUUNBQUtBTE1BeUlDS0FJVURRSWdCQ0FGUmdSQUlBQW9BcFFCSUFBb0Fwd0JJQUFvQXB3RFJXcExEUU1MSUFBZ0FpZ0NBRUgvQUhGQkNHb1JBQUJGRFFBZ0FDZ0NrQUVpQkNBQUtBS1lBU0lGVEEwQkRBSUxDeUFISkFaQkFBOExDeUF4UVg5cUlTb2dBQ2dDSkVFQVNnUi9JQUJCbkFGcUlSd2dBQ2dDMkFFaENnTi9JQW9vQWpRRVFDQWNLQUlBSWdnZ0tra0VmeUFLS0FJTUloRkJBWFFoQlNBUklRUkJBQVVnQ2lnQ0lDQUtLQUlNSWdRUVRpSUZJQVFnQlJzaUVTRUZRUUVMSVFrZ0NBUi9JQUFnRjBISUFHb2dEVUVDZEdvb0FnQWdCQ0FJUVg5cWJDQUVJQVZxUVFBZ0FDZ0NCQ2dDSUVFZmNVR2lBbW9SQ0FBZ0NpZ0NERUVDZEdvaEZFRUFCU0FBSUJkQnlBQnFJQTFCQW5ScUtBSUFRUUFnQlVFQUlBQW9BZ1FvQWlCQkgzRkJvZ0pxRVFnQUlSUkJBUXNoRWlBWEtBSndJQTFCQm14QkFuUnFJUk1nQ2lnQ1VDSUVMd0VBSVFnZ0JDOEJBaUVGSUFRdkFSQWhBaUFFTHdFZ0lRNGdCQzhCRWlFUElBUXZBUVFoQkNBQUtBTFlBMEVFYWlBTlFRSjBhaWdDQUNFcklCRkJBRW9FUUNBU1FRQkhJU3dnQ1VFQVJ5RXRJQkZCZjJvaExpQUlRU1JzSVIwZ0JVRUhkQ0VlSUFKQkIzUWhIeUFGUVFoMElTQWdDRUVKYkNFaElBNUJCM1FoSWlBQ1FRaDBJU01nQ2lFdklBaEJCV3doTUNBUFFRZDBJU1FnRGtFSWRDRWxJQVJCQjNRaEppQVBRUWgwSVNjZ0JFRUlkQ0VvUVFBaERDQU5RUUowSUFGcUtBSUFJUmdEUUNBTVFRSjBJQlJxS0FJQUlRSWdMQ0FNUlhFRWZ5QUNCU0FNUVg5cVFRSjBJQlJxS0FJQUN5RVZJQW9vQWh4QmYyb2hLU0F0SUF3Z0xrWnhCSDhnQWdVZ0RFRUJha0VDZENBVWFpZ0NBQXNpR1M0QkFDSUdJUVFnQWk0QkFDSUpJUVVnRlM0QkFDSVFJUWhCQUNFYUlBSWhGa0VBSVJzRFFDQUhJQlpCZ0FFUVRCb2dHaUFwU1FSL0lCa3VBWUFCSVE0Z0ZTNEJnQUVoRHlBV0xnR0FBUVVnQkNFT0lBZ2hEeUFGQ3lFU0lBY3VBUUpGSUJNb0FnUWlBa0VBUjNFRVFDQUhJQjBnQ1NBU2Eyd2lBMEYvU2dSL0lBTWdIbW9nSUJBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2hzRlFRQWdIaUFEYXlBZ0VEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0cyc0xPd0VDQ3lBSExnRVFSU0FUS0FJSUlnSkJBRWR4QkVBZ0J5QWRJQWdnQkd0c0lnTkJmMG9FZnlBRElCOXFJQ01RT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iQlVFQUlCOGdBMnNnSXhBNUlnTkJBU0FDZENJTFFYOXFJQU1nQzBnYklBTWdBa0VBU2h0ckN6c0JFQXNnQnk0QklFVWdFeWdDRENJQ1FRQkhjUVJBSUFjZ0lTQUVJQWdnQlVFQmRHdHFiQ0lEUVg5S0JIOGdBeUFpYWlBbEVEa2lBMEVCSUFKMElndEJmMm9nQXlBTFNCc2dBeUFDUVFCS0d3VkJBQ0FpSUFOcklDVVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2Jhd3M3QVNBTElBY3VBUkpGSUJNb0FoQWlBa0VBUjNFRVFDQUhJREFnRGlBUUlBWnJJQTlyYW13aUJrRi9TZ1IvSUFZZ0pHb2dKeEE1SWdaQkFTQUNkQ0lRUVg5cUlBWWdFRWdiSUFZZ0FrRUFTaHNGUVFBZ0pDQUdheUFuRURraUJrRUJJQUowSWhCQmYyb2dCaUFRU0JzZ0JpQUNRUUJLRzJzTE93RVNDeUFITGdFRVJTQVRLQUlVSWdKQkFFZHhCRUFnQnlBaElCSWdDU0FGUVFGMGEycHNJZ2xCZjBvRWZ5QUpJQ1pxSUNnUU9TSUpRUUVnQW5RaUJrRi9haUFKSUFaSUd5QUpJQUpCQUVvYkJVRUFJQ1lnQ1dzZ0tCQTVJZ2xCQVNBQ2RDSUdRWDlxSUFrZ0JrZ2JJQWtnQWtFQVNodHJDenNCQkFzZ0FDQUtJQWNnR0NBYklDdEJQM0ZCbWdacUVRVUFJQlpCZ0FGcUlSWWdGVUdBQVdvaEZTQVpRWUFCYWlFWklCc2dMeWdDSkdvaEd5QWFRUUZxSWhvZ0tVMEVRQ0FJSVRJZ0JTRUpJQVFoQmlBT0lRUWdFaUVGSUE4aENDQXlJUkFNQVFzTElBb29BaWhCQW5RZ0dHb2hHQ0FNUVFGcUlnd2dFVWNOQUFzTEN5QUtRZGdBYWlFS0lBMUJBV29pRFNBQUtBSWtTQTBBSUJ3TEJTQUFRWndCYWdzaUFTQUJLQUlBUVFGcUlnRTJBZ0JCQTBFRUlBRWdBQ2dDekFKSkd5RXpJQWNrQmlBekM1VUdBUlYvSUFBb0F1Z0NRWDlxSVFvZ0FDZ0N6QUlpQWtGL2FpRVRJQUFvQXNRRElnWW9BaGdpQ0NBR0tBSWNJZ05JQkVBQ1FDQUdRU0JxSVEwZ0FFR1VBV29oRGlBRElRSWdCaWdDRkNFSEFrQUNRQU5BQWtBZ0J5QUtUUVJBQTBBZ0FDZ0N0QU1FUUNBTktBSUFRUUFnQUNnQzhBSkJCM1FRUlJvTElBQW9BdFFES0FJRUlRSWdBQ0FOSUFKQlAzRkJpZ0ZxRVFJQVJRMENJQUFvQXRRQ0lnSkJBRW9FUUNBSElBcEpJUlJCQUNFRFFRQWhDd05BSUFCQjJBSnFJQXRCQW5ScUtBSUFJZ1FvQWpRRVFBSkFJQUFvQXRnRFFRUnFJQVFvQWdRaUJVRUNkR29vQWdBaEZTQUVRVGhxSWc4Z0JFSElBR29nRkJzb0FnQWhFQ0FFS0FJb0lSRWdCeUFFS0FKRWJDRVdJQVFvQWp3aUVrRUFTZ1JBSUJCQkFFd0VRQ0FQS0FJQUlRbEJBQ0VGQTBBZ0F5QUphaUVESUFWQkFXb2lCU0FTU0EwQUN3d0NDeUFGUVFKMElBRnFLQUlBSUFnZ0VXeEJBblJxSVFsQkFDRU1JQU1oQlNBU0lRSWdFU0VEQTBBQ1FBSkFJQTRvQWdBZ0Uwa05BQ0FJSUF4cUlBUW9Ba3hJRFFBTUFRc2dGaUVDUVFBaEF3TkFJQUFnQkNBR1FTQnFJQU1nQldwQkFuUnFLQUlBSUFrZ0FpQVZRVDl4UVpvR2FoRUZBQ0FDSUFRb0FpUnFJUUlnQTBFQmFpSURJQkJIRFFBTElBUW9BaWdoQXlBRUtBSThJUUlMSUFVZ0R5Z0NBR29oQlNBRFFRSjBJQWxxSVFrZ0RFRUJhaUlNSUFKSURRQUxJQVVoQXlBQUtBTFVBaUVDQ3dzRklBTWdCRUZBYXlnQ0FHb2hBd3NnQzBFQmFpSUxJQUpJRFFBTEN5QUhRUUZxSWdjZ0NrME5BQXNnQmlnQ0hDRUNDeUFHUVFBMkFoUWdDRUVCYWlJSUlBSk9EUUpCQUNFSERBRUxDd3dCQ3lBT0lRRWdBQ2dDekFJaEFnd0JDeUFHSUFnMkFoZ2dCaUFITmdJVVFRQVBDd1VnQUVHVUFXb2hBUXNnQUNBQUtBS2NBVUVCYWpZQ25BRWdBU0FCS0FJQVFRRnFJZ00yQWdBZ0F5QUNUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQkE4TElBQW9Bc1FESWdFZ0FDZ0MxQUpCQVVvRWYwRUJCU0FBS0FMWUFpSUFRUXhxSUFCQnpBQnFJQU1nQWtGL2Fra2JLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZUVFNTG9RRUJCSDhEUUFKQUFrQUNRQ0FBSUFGcUxBQUFJZ01FUUNBRFFTNUdCRUFNQWdVTUF3c0FDd3dDQ3lBQklRSUxJQUZCQVdvaEFRd0JDd3NnQUNBQmFpRURRWnk0QVJCZ1FRSnFJUVFDZndKQUlBSUVmeUFDSUFScVFZQUNTZ1IvUVg4RkRBSUxCU0FCSUFScVFZQUNTZ1IvUVg4RklBTkJMam9BQUNBQklRSU1BZ3NMREFFTElBQWdBa0VCYW1wQkFEb0FBQ0FBRUdBZ0FHb1FnUVZCQUFzYUM5b0RBUTkvSUFBb0FzUURJUXNnQUNnQ3pBSkJmMm9oREFKQUFrQURRQUpBSUFBb0FwQUJJZ0lnQUNnQ21BRWlBMDRFUUNBQ0lBTkhEUUVnQUNnQ2xBRWdBQ2dDbkFGTERRRUxJQUFvQXN3REtBSUFJUUlnQUNBQ1FmOEFjVUVJYWhFQUFBMEJEQUlMQ3d3QkMwRUFEd3NnQUNnQ0pFRUFTZ1JBSUFBb0F0Z0JJUUlEUUNBQ0tBSTBCRUFnQUNnQ0JDZ0NJQ0VESUFBZ0MwSElBR29nQkVFQ2RHb29BZ0FnQWlnQ0RDSUZJQUFvQXB3QmJDQUZRUUFnQTBFZmNVR2lBbW9SQ0FBaERTQUFLQUtjQVNBTVNRUi9JQUlvQWd3RklBSW9BaUFnQWlnQ0RDSUZFRTRoQXlBRElBVWdBeHNMSVFrZ0FDZ0MyQU5CQkdvZ0JFRUNkR29vQWdBaERpQUpRUUJLQkVBZ0JFRUNkQ0FCYWlnQ0FDRUdRUUFoQnlBQ0lnVWlEeWdDSENFREEwQWdBd1IvUVFBaEF5QUhRUUowSUExcUtBSUFJUWhCQUNFS0EzOGdBQ0FDSUFnZ0JpQURJQTVCUDNGQm1nWnFFUVVBSUFoQmdBRnFJUWdnQXlBUEtBSWthaUVESUFwQkFXb2lDaUFDS0FJY0loQkpEUUFnRUFzRlFRQUxJUU1nQlNnQ0tFRUNkQ0FHYWlFR0lBZEJBV29pQnlBSlJ3MEFDd3NMSUFKQjJBQnFJUUlnQkVFQmFpSUVJQUFvQWlSSURRQUxDeUFBSUFBb0Fwd0JRUUZxSWdFMkFwd0JRUU5CQkNBQklBQW9Bc3dDU1JzTG5RVUJFMzhqQmlFVEl3WkJFR29rQmlBVElRWWdBQ2dDeEFNaEJDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQW9BZ1FvQWlBaEJTQUFRZGdDYWlBQlFRSjBhaWdDQUNJREtBSU1JUUlnQVVFQ2RDQUdhaUFBSUFSQnlBQnFJQU1vQWdSQkFuUnFLQUlBSUFBb0FwUUJJQUpzSUFKQkFTQUZRUjl4UWFJQ2FoRUlBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSklEUUFMQ3lBRUtBSVlJZ1VnQkNnQ0hDSUJTQVJBQWtBZ0JFRWdhaUVNSUFRb0FoUWhBeUFBS0FMb0FpRUNBMEFDUUNBRElBSkpCRUFnQXlFQ0EwQWdBQ2dDMUFJaURVRUFTZ1JBUVFBaEFVRUFJUWNEUUNBQ0lBQkIyQUpxSUFkQkFuUnFLQUlBSWdNb0FqZ2lDR3doRGlBREtBSThJZzlCQUVvRVFDQUhRUUowSUFacUtBSUFJUkFnQ0VFQVNnUkFRUUFoQ1FOQVFRQWhDeUFGSUFscVFRSjBJQkJxS0FJQUlBNUJCM1JxSVFvZ0FTRURBMEFnQ2tHQUFXb2hFU0FEUVFGcUlSSWdCRUVnYWlBRFFRSjBhaUFLTmdJQUlBdEJBV29pQ3lBSVJ3UkFJQkVoQ2lBU0lRTU1BUXNMSUFFZ0NHb2hBU0FKUVFGcUlna2dEMGdOQUFzTEN5QUhRUUZxSWdjZ0RVZ05BQXNMSUFBb0F0UURLQUlFSVFFZ0FDQU1JQUZCUDNGQmlnRnFFUUlBUlEwQ0lBSkJBV29pQWlBQUtBTG9BaUlCU1EwQUN5QUJJUUlnQkNnQ0hDRUJDeUFFUVFBMkFoUWdCVUVCYWlJRklBRk9EUUpCQUNFRERBRUxDeUFFSUFVMkFoZ2dCQ0FDTmdJVUlBWWtCa0VBRHdzTElBQWdBQ2dDbEFGQkFXb2lBallDbEFFZ0FpQUFLQUxNQWlJRlR3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCaVFHUVFRUEN5QUFLQUxFQXlJQklBQW9BdFFDUVFGS0JIOUJBUVVnQUNnQzJBSWlBRUVNYWlBQVFjd0FhaUFDSUFWQmYycEpHeWdDQUFzMkFod2dBVUVBTmdJVUlBRkJBRFlDR0NBR0pBWkJBd3VsQXdFTGZ5QUFLQUxFQXlJQktBSVFSUVJBSUFCQkFEWUNuQUVQQ3lBQkFuOENRQ0FBS0FKUVJRMEFJQUFvQXVBQlJRMEFJQUFvQXFBQlJRMEFJQUVvQW5BaUFnUkFJQUJCSkdvaEJnVWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQklBQkJKR29pQmlnQ0FFRVliQ0FDUVQ5eFFjb0JhaEVFQUNJQ05nSndDeUFHS0FJQVFRQk1EUUFnQUNnQzJBRWhDQU5BSUFnb0FsQWlBVVVOQVNBQkxnRUFSUTBCSUFFdUFRSkZEUUVnQVM0QkVFVU5BU0FCTGdFZ1JRMEJJQUV1QVJKRkRRRWdBUzRCQkVVTkFTQUFLQUtnQVNJQklBUkJDSFJxS0FJQVFRQklEUUVnQWlBRVFRaDBJQUZxSWdNb0FnUTJBZ1FnQXlnQ0JDRUpJQUlnQkVFSWRDQUJhaUlGS0FJSU5nSUlJQWtnQlNnQ0NISWhDaUFDSUFSQkNIUWdBV29pQlNnQ0REWUNEQ0FLSUFVb0FneHlJUXNnQWlBRVFRaDBJQUZxSWdVb0FoQTJBaEFnQ3lBRktBSVFjaUVESUFJZ0JFRUlkQ0FCYWlJQktBSVVOZ0lVUVFFZ0J5QURJQUVvQWhSeUd5RUhJQUpCR0dvaEFpQUlRZGdBYWlFSUlBUkJBV29pQkNBR0tBSUFTQTBBQ3lBSFJRMEFRU29NQVF0QktBczJBZ3dnQUVFQU5nS2NBUXRTQVFKL0lBQkJBRFlDbEFFZ0FDZ0N4QU1pQVNBQUtBTFVBa0VCU2dSL1FRRUZJQUFvQXRnQ0lnSkJ6QUJxSUFKQkRHb2dBQ2dDekFKQkFVWWJLQUlBQ3pZQ0hDQUJRUUEyQWhRZ0FVRUFOZ0lZQzZ3REFRVi9JQUFvQWdRb0FnQWhBeUFBSUFCQkFVSDBBQ0FEUVQ5eFFjb0JhaEVFQUNJQ05nTEVBeUFDUWYwQU5nSUFJQUpCL2dBMkFnZ2dBa0VBTmdKd0lBRkZCRUFnQUNnQ0JDZ0NCQ0VCSUFJZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBaUFnQWlBQlFZQUJhallDSkNBQ0lBRkJnQUpxTmdJb0lBSWdBVUdBQTJvMkFpd2dBaUFCUVlBRWFqWUNNQ0FDSUFGQmdBVnFOZ0kwSUFJZ0FVR0FCbW8yQWpnZ0FpQUJRWUFIYWpZQ1BDQUNRVUJySUFGQmdBaHFOZ0lBSUFJZ0FVR0FDV28yQWtRZ0FDZ0N0QU5GQkVBZ0FVRUFRWUFLRUVVYUN5QUNRZFlBTmdJRUlBSkJLVFlDRENBQ1FRQTJBaEFQQ3lBQUtBSWtRUUJLQkVBZ0FrSElBR29oQkVFQUlRTWdBQ2dDMkFFaEFRTkFJQUVvQWd3aUJTQUZRUU5zSUFBb0F1QUJSUnNoQlNBQUtBSUVLQUlVSVFZZ0EwRUNkQ0FFYWlBQVFRRkJBU0FCS0FJY0lBRW9BZ2dRK0FFZ0FTZ0NJQ0FCS0FJTUVQZ0JJQVVnQmtFL2NVSEdBbW9SQ2dBMkFnQWdBVUhZQUdvaEFTQURRUUZxSWdNZ0FDZ0NKRWdOQUFzRklBSkJ5QUJxSVFRTElBSkIxUUEyQWdRZ0FrRW9OZ0lNSUFJZ0JEWUNFQXVoQWdFQ2Z5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQndBRWdBVUUvY1VIS0FXb1JCQUFpQWpZQzFBTWdBa0g3QURZQ0FDQUNRZndBTmdJSUlBSkJQR29pQVVJQU53SUFJQUZDQURjQ0NDQUJRZ0EzQWhBZ0FVSUFOd0lZSUFGQ0FEY0NJQ0FCUWdBM0FpZ2dBVUlBTndJd0lBRkNBRGNDT0NBQlFVQnJRZ0EzQWdBZ0FVSUFOd0pJSUFGQ0FEY0NVQ0FCUWdBM0FsZ2dBVUlBTndKZ0lBRkNBRGNDYUNBQlFnQTNBbkFnQVVJQU53SjRJQUpCOFFBNkFMd0JJQUFvQXVBQlJRUkFEd3NnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJJQUFvQWlSQkNIUWdBVUUvY1VIS0FXb1JCQUFpQWpZQ29BRWdBQ2dDSkVFQVRBUkFEd3RCQUNFQkEwQWdBaUFCUVFoMGFrRi9RWUFDRUVVYUlBRkJBV29pQVNBQUtBSWtTQTBBQ3dzcUFRRi9JQUFvQXRRREtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDekFOQjFBQTJBZ0FMWWdFQmZ5QUFLQUxNQXlJQlFkUUFOZ0lBSUFGQkFEWUNFQ0FCUVFBMkFoUWdBVUVCTmdJWUlBQW9BZ0FvQWhBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTFFBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQkFEWUNvQUVMWXdFQmZ5QUFRUUJISUFGQkFFZHhCRUFDUUNBQklBRVFZRUVCYWhDQUJTSUNSUVJBSUFCQkFEb0FBQXdCQ3lBQ1FRRnFJQUZySWdKQkFXcEJnQkJMQkVCQkFDRUFCU0FBSUFFZ0FoRFZBU0FBSUFKcVFRQTZBQUFMQ3dWQkFDRUFDeUFBQzZVUEFRbC9JQUFvQXN3RElnUW9BaFFFUUVFQ0R3c0NRQUpBQWtBRFFBSkFJQUFvQXRBREtBSUVJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVdzT0FnQUVCUXNDUUFKQUFrQUNRQUpBSUFRb0FoZ09BZ0FCQWdzZ0JDZ0NFRVVFUUNBQUtBSUFJZ0ZCSkRZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0UUNEUVlNQXdzQ1FBSkFJQUFvQWlCQjNQOERTZzBBSUFBb0FoeEIzUDhEU2cwQURBRUxJQUFvQWdBaUFVRXFOZ0lVSUFGQjNQOEROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBRWlBVUY0YWtFRVN3UkFJQUFvQWdBaUFrRVFOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWlRaUFVRUtTZ1JBSUFBb0FnQWlBa0ViTmdJVUlBSWdBVFlDR0NBQUtBSUFRUW8yQWh3Z0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBUXNnQUVFQk5nSzhBaUFBUVFFMkFzQUNJQUZCQUVvRVFFRUFJUWNnQUNnQzJBRWhBa0VCSVFOQkFTRUZBMEFDZndKQUlBSWlDQ2dDQ0NJR1FYOXFRUU5MRFFBZ0FpZ0NEQ0lKUVg5cVFRTkxEUUFnQ1F3QkN5QUFLQUlBSWdGQkV6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N2QUloQlNBSUtBSUlJUVlnQUNnQ3dBSWhBeUFBS0FJa0lRRWdBaWdDREFzaEFpQUFJQVVnQmlBRklBWktHeUlGTmdLOEFpQUFJQU1nQWlBRElBSktHeUlETmdMQUFpQUlRZGdBYWlFQ0lBZEJBV29pQnlBQlNBMEFDd3NnQUFKL0FrQWdBQ2dDM0FFTkFBSi9JQUFvQXVBQkJFQWdBQ2dDMUFJTkFnc0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BcUFERG9BQ0FCQVFBUkFRRUJBQ0VCQVFFQkFRQXhBUUVCQVFFQkFRQkJBUUVCQVFFQkFRRUJBRkVCQVFFQkFRRUJBUUVCQVFCaEFRRUJBUUVCQVFFQkFRRUJBUUJ4QVFFQkFRRUJBUUVCQVFFQkFRRUJBSUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDaEFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBTEVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRREJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRFJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBT0VCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEeEFMSUFCQkFUWUNyQU1nQUVHQUhEWUNzQU1nQUVFQU5nSzBBMEVCREJBTElBQkJBallDckFNZ0FFSEFKVFlDc0FNZ0FFRUROZ0swQTBFQ0RBOExJQUJCQXpZQ3JBTWdBRUhRSkRZQ3NBTWdBRUVJTmdLMEEwRUREQTRMSUFCQkJEWUNyQU1nQUVIUUl6WUNzQU1nQUVFUE5nSzBBMEVFREEwTElBQkJCVFlDckFNZ0FFR2dJallDc0FNZ0FFRVlOZ0swQTBFRkRBd0xJQUJCQmpZQ3JBTWdBRUhRSURZQ3NBTWdBRUVqTmdLMEEwRUdEQXNMSUFCQkJ6WUNyQU1nQUVIQUhqWUNzQU1nQUVFd05nSzBBMEVIREFvTElBQkJDRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSURBa0xJQUJCQ1RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUpEQWdMSUFCQkNqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVLREFjTElBQkJDellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTERBWUxJQUJCRERZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU1EQVVMSUFCQkRUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVOREFRTElBQkJEallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFT0RBTUxJQUJCRHpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVBEQUlMSUFCQkVEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVRREFFTElBQW9BZ0FpQVVFUk5nSVVJQUVnQUNnQ25BTTJBaGdnQUNnQ0FDQUFLQUtnQXpZQ0hDQUFLQUlBSUFBb0FxUUROZ0lnSUFBb0FnQWdBQ2dDcUFNMkFpUWdBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVNBQUtBS3NBd3NNQVFzZ0FFRUlOZ0tzQXlBQVFZQWNOZ0t3QXlBQVFUODJBclFEUVFnTElnSTJBc1FDSUFBZ0FqWUN5QUlnQVVFQVNnUkFRUUFoQVNBQUtBTFlBU0VEQTBBZ0F5QUNOZ0lrSUFNZ0FqWUNLQ0FESUFBb0Fod2dBeWdDQ0d3Z0FpQUFLQUs4QW13UWFEWUNIQ0FESUFBb0FpQWdBeWdDREd3Z0FDZ0N3QUlnQUNnQ3JBTnNFR2cyQWlBZ0F5QUFLQUljSUFNb0FnaHNJQUFvQXJ3Q0VHZzJBaXdnQXlBQUtBSWdJQU1vQWd4c0lBQW9Bc0FDRUdnMkFqQWdBMEVCTmdJMElBTkJBRFlDVUNBQlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FEUWRnQWFpRURJQUFvQXF3RElRSU1BUXNMSUFBb0Fxd0RJUUlMSUFBZ0FDZ0NJQ0FBS0FMQUFpQUNiQkJvTmdMTUFpQUFLQUxVQWlJQklBQW9BaVJPQkVBZ0FDZ0M0QUZGQkVBZ0FDZ0N6QU5CQURZQ0VBd0RDd3NnQUNnQ3pBTkJBVFlDRUF3QkN5QUFLQUxVQWlFQkN5QUJEUUVnQkVFQ05nSVlDd3dCQ3dzZ0JFRUFOZ0lZUVFFUEN5QUFFS2NEUVFFUEN5QUVRUUUyQWhRZ0JDZ0NHQVJBSUFBb0F0QURLQUlRUlFSQVFRSVBDeUFBS0FJQUlnRkJQallDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUZJQUFvQXBnQklBQW9BcEFCSWdGTUJFQkJBZzhMSUFBZ0FUWUNtQUVMUVFJUEN5QUJDMTBCQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUVJ3Z0FVRS9jVUhLQVdvUkJBQWlBRFlDekFNZ0FFSFVBRFlDQUNBQVFmZ0FOZ0lFSUFCQitRQTJBZ2dnQUVINkFEWUNEQ0FBUVFBMkFoQWdBRUVBTmdJVUlBQkJBVFlDR0F2L0JRRUVmeUFBSUFBb0Fxd0RJZ0lnQUNnQ01Hd2lBU0FBS0FJMElnTkxCSDhDZnlBQklBTkJBWFJOQkVBZ0FDQUFLQUljUVFGMElBSVFhRFlDY0VFQ0lRRWdBQ2dDSUVFQmRBd0JDeUFCSUFOQkEyeE5CRUFnQUNBQUtBSWNRUU5zSUFJUWFEWUNjRUVESVFFZ0FDZ0NJRUVEYkF3QkN5QUJJQU5CQW5STkJFQWdBQ0FBS0FJY1FRSjBJQUlRYURZQ2NFRUVJUUVnQUNnQ0lFRUNkQXdCQ3lBQklBTkJCV3hOQkVBZ0FDQUFLQUljUVFWc0lBSVFhRFlDY0VFRklRRWdBQ2dDSUVFRmJBd0JDeUFCSUFOQkJteE5CRUFnQUNBQUtBSWNRUVpzSUFJUWFEWUNjRUVHSVFFZ0FDZ0NJRUVHYkF3QkN5QUJJQU5CQjJ4TkJFQWdBQ0FBS0FJY1FRZHNJQUlRYURZQ2NFRUhJUUVnQUNnQ0lFRUhiQXdCQ3lBQklBTkJBM1JOQkVBZ0FDQUFLQUljUVFOMElBSVFhRFlDY0VFSUlRRWdBQ2dDSUVFRGRBd0JDeUFCSUFOQkNXeE5CRUFnQUNBQUtBSWNRUWxzSUFJUWFEWUNjRUVKSVFFZ0FDZ0NJRUVKYkF3QkN5QUJJQU5CQ214TkJFQWdBQ0FBS0FJY1FRcHNJQUlRYURZQ2NFRUtJUUVnQUNnQ0lFRUtiQXdCQ3lBQklBTkJDMnhOQkVBZ0FDQUFLQUljUVF0c0lBSVFhRFlDY0VFTElRRWdBQ2dDSUVFTGJBd0JDeUFCSUFOQkRHeE5CRUFnQUNBQUtBSWNRUXhzSUFJUWFEWUNjRUVNSVFFZ0FDZ0NJRUVNYkF3QkN5QUJJQU5CRFd4TkJFQWdBQ0FBS0FJY1FRMXNJQUlRYURZQ2NFRU5JUUVnQUNnQ0lFRU5iQXdCQ3lBQklBTkJEbXhOQkVBZ0FDQUFLQUljUVE1c0lBSVFhRFlDY0VFT0lRRWdBQ2dDSUVFT2JBd0JDeUFBS0FJY0lRUWdBU0FEUVE5c1N3Ui9JQUFnQkVFRWRDQUNFR2cyQW5CQkVDRUJJQUFvQWlCQkJIUUZJQUFnQkVFUGJDQUNFR2cyQW5CQkR5RUJJQUFvQWlCQkQyd0xDd1VnQUNBQUtBSWNJQUlRYURZQ2NFRUJJUUVnQUNnQ0lBc2dBQ2dDckFNUWFEWUNkQ0FBSUFFMkFzUUNJQUFnQVRZQ3lBSWdBQ2dDSkNJRFFRQk1CRUFQQzBFQUlRSWdBQ2dDMkFFaEFBTkFJQUFnQVRZQ0pDQUFJQUUyQWlnZ0FFSFlBR29oQUNBQ1FRRnFJZ0lnQTBnTkFBc0x0QXNCRDM4akJpRUlJd1pCTUdva0JpQUFLQUxVQXlFSElBQW9BcGdDQkVBZ0J5Z0NMRVVFUUNBSEtBSVFRUWdRT1NFQ0lBQW9BdEFESWdVZ0FpQUZLQUlZYWpZQ0dDQUhRUUEyQWhBZ0JTZ0NDQ0VGSUFBZ0JVSC9BSEZCQ0dvUkFBQkZCRUFnQ0NRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEJRTkFJQWRCR0dvZ0JVRUNkR3BCQURZQ0FDQUZRUUZxSWdVZ0FDZ0MxQUpJRFFBTEN5QUhRUUEyQWhRZ0J5QUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUhRUUEyQWlnTEN3c2dDRUVVYWlFR0lBY29BaWhGQkVBZ0FDZ0NzQU1oRHlBQUtBSzBBeUVOSUFZZ0FEWUNFQ0FHSUFBb0FoZ2lCQ2dDQUNJSk5nSUFJQVlnQkNnQ0JDSUROZ0lFSUFjb0Fnd2hCU0FIS0FJUUlRSWdDQ0FIS1FJVU53SUFJQWdnQnlrQ0hEY0NDQ0FJSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDUUpBQTBBZ0NVRUNkQ0FCYWlnQ0FDRUtJQWRCNUFCcUlBbEJBblJxS0FJQUlRUUNmd0pBSUFKQkNFZ0VRQ0FHSUFVZ0FrRUFFR2RGRFFRZ0JpZ0NDQ0VGSUFZb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JFR1FBV29nQlNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUN3Ui9JQU1nQkVHUUNXcHFMUUFBSVFRZ0FpQUxhd1ZCQ1NFRERBRUxEQUVMSUFZZ0JTQUNJQVFnQXhDZ0FTSUVRUUJJRFFJZ0JpZ0NDQ0VGSUFZb0Fnd0xJUUlnQjBHTUFXb2dDVUVDZEdvb0FnQWhDeUFFUVFCSElRTUNRQUpBSUFkQnRBRnFJQWxCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFSSUJFQWdCaUFGSUFJZ0JCQm5SUTBISUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVJCQW5SQjhERnFLQUlBSWdNZ0JTQUNJQVJySWdKMWNTSU1RUUFnQXlBTUlBUkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUlRUVJxSUFCQjlBSnFJQWxCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVFSUFNZ0JEWUNBQ0FLSUFRN0FRQWdEa0VCU2dSQVFRRWhCQU5BQW44Q1FDQUNRUWhJQkVBZ0JpQUZJQUpCQUJCblJRMEtJQVlvQWdnaEJTQUdLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBVWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ3dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnREdzRlFRa2hBd3dCQ3d3QkN5QUdJQVVnQWlBTElBTVFvQUVpQTBFQVNBMElJQVlvQWdnaEJTQUdLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ01FUUNBQ0lBTklCRUFnQmlBRklBSWdBeEJuUlEwSklBWW9BZ2doQlNBR0tBSU1JUUlMSUFRZ0RHb2lCRUVDZENBUGFpZ0NBRUVCZENBS2FpQURRUUowUWZBeGFpZ0NBQ0lNSUFVZ0FpQURheUlDZFhFaUVFRUFJQXdnRUNBRFFRSjBRZXd4YWlnQ0FFb2JhenNCQUFVZ0RFRVBSdzBESUFSQkQyb2hCQXNnQkVFQmFpSUVJQTVJRFFBTERBTUZRUUVoQkF3REN3QUxCU0FEQkVBZ0FpQUVTQVJBSUFZZ0JTQUNJQVFRWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBUnJJUUlMUVFFaEJBd0JDd3dCQ3lBRUlBMU1CRUFEUUFKL0FrQWdBa0VJU0FSQUlBWWdCU0FDUVFBUVowVU5CeUFHS0FJSUlRVWdCaWdDRENJQ1FRaElCRUJCQVNFRERBSUxDeUFMUVpBQmFpQUZJQUpCZUdwMVFmOEJjU0lEUVFKMGFpZ0NBQ0lLQkg4Z0F5QUxRWkFKYW1vdEFBQWhBeUFDSUFwckJVRUpJUU1NQVFzTUFRc2dCaUFGSUFJZ0N5QURFS0FCSWdOQkFFZ05CU0FHS0FJSUlRVWdCaWdDREFzaEFpQURRUVIySVFvZ0EwRVBjU0lEQkVBZ0FpQURTQVJBSUFZZ0JTQUNJQU1RWjBVTkJpQUdLQUlJSVFVZ0JpZ0NEQ0VDQ3lBQ0lBTnJJUUlGSUFwQkQwY05BMEVQSVFvTElBUkJBV29nQ21vaUJDQU5UQTBBQ3dzTElBbEJBV29pQ1NBQUtBTHdBa2dOQUFzZ0FDZ0NHQ0VBSUFZb0FnQWhBU0FHS0FJRUlRUU1BUXNnQ0NRR1FRQVBDd1VnQkNFQUlBa2hBU0FESVFRTElBQWdBVFlDQUNBQUlBUTJBZ1FnQnlBRk5nSU1JQWNnQWpZQ0VDQUhJQWdwQWdBM0FoUWdCeUFJS1FJSU53SWNJQWNnQ0NnQ0VEWUNKQXNnQnlBSEtBSXNRWDlxTmdJc0lBZ2tCa0VCQzZJTEFRMS9Jd1loQ1NNR1FUQnFKQVlnQUNnQzFBTWhCeUFBS0FLWUFnUkFJQWNvQWl4RkJFQWdCeWdDRUVFSUVEa2hBaUFBS0FMUUF5SUVJQUlnQkNnQ0dHbzJBaGdnQjBFQU5nSVFJQVFvQWdnaEJDQUFJQVJCL3dCeFFRaHFFUUFBUlFSQUlBa2tCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUVFEUUNBSFFSaHFJQVJCQW5ScVFRQTJBZ0FnQkVFQmFpSUVJQUFvQXRRQ1NBMEFDd3NnQjBFQU5nSVVJQWNnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQjBFQU5nSW9Dd3NMSUFsQkZHb2hCU0FIS0FJb1JRUkFJQVVnQURZQ0VDQUZJQUFvQWhnaUJpZ0NBQ0lLTmdJQUlBVWdCaWdDQkNJRE5nSUVJQWNvQWd3aEJDQUhLQUlRSVFJZ0NTQUhLUUlVTndJQUlBa2dCeWtDSERjQ0NDQUpJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENnSkFBMEFnQ2tFQ2RDQUJhaWdDQUNFTklBZEI1QUJxSUFwQkFuUnFLQUlBSVFZQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVFnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQmtHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdCa0dRQ1dwcUxRQUFJUVlnQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBWWdBeENnQVNJR1FRQklEUUlnQlNnQ0NDRUVJQVVvQWd3TElRSWdCMEdNQVdvZ0NrRUNkR29vQWdBaEN5QUdRUUJISVFNQ1FBSkFJQWRCdEFGcUlBcEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEhJQVVvQWdnaEJDQUZLQUlNSVFJTElBWkJBblJCOERGcUtBSUFJZ01nQkNBQ0lBWnJJZ0oxY1NJSVFRQWdBeUFJSUFaQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSlFRUnFJQUJCOUFKcUlBcEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUdJQU1nQmpZQ0FDQU5JQVk3QVFBZ0RrRUJTZ1JBUVFFaEJnTkFBbjhDUUNBQ1FRaElCRUFnQlNBRUlBSkJBQkJuUlEwS0lBVW9BZ2doQkNBRktBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFRZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnZ0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdDR3NGUVFraEF3d0JDd3dCQ3lBRklBUWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBVW9BZ2doQkNBRktBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnZ0VRQ0FDSUFoSUJFQWdCU0FFSUFJZ0NCQm5SUTBKSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVlnREdvaUEwRUNkRUdBSEdvb0FnQkJBWFFnRFdvZ0NFRUNkRUh3TVdvb0FnQWlCaUFFSUFJZ0NHc2lBblZ4SWd4QkFDQUdJQXdnQ0VFQ2RFSHNNV29vQWdCS0cyczdBUUFGSUF4QkQwY05BeUFHUVE5cUlRTUxJQU5CQVdvaUJpQU9TQTBBQ3lBRFFUOUlEUU1GUVFFaEJnd0RDd3NGSUFNRVFDQUNJQVpJQkVBZ0JTQUVJQUlnQmhCblJRMEdJQVVvQWdnaEJDQUZLQUlNSVFJTElBSWdCbXNoQWd0QkFTRUdEQUVMREFFTEEwQUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFZZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0MwR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQzBHUUNXcHFMUUFBSVFNZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQXNnQXhDZ0FTSURRUUJJRFFRZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQTBFRWRpRUlJQU5CRDNFaUF3UkFJQUlnQTBnRVFDQUZJQVFnQWlBREVHZEZEUVVnQlNnQ0NDRUVJQVVvQWd3aEFnc2dBaUFEYXlFQ0JTQUlRUTlIRFFKQkR5RUlDeUFHUVFGcUlBaHFJZ1pCd0FCSURRQUxDeUFLUVFGcUlnb2dBQ2dDOEFKSURRQUxJQUFvQWhnaEFDQUZLQUlBSVFFZ0JTZ0NCQ0VHREFFTElBa2tCa0VBRHdzRklBWWhBQ0FLSVFFZ0F5RUdDeUFBSUFFMkFnQWdBQ0FHTmdJRUlBY2dCRFlDRENBSElBSTJBaEFnQnlBSktRSUFOd0lVSUFjZ0NTa0NDRGNDSENBSElBa29BaEEyQWlRTElBY2dCeWdDTEVGL2FqWUNMQ0FKSkFaQkFRdWVDZ0VSZnlNR0lRVWpCa0dnQW1va0JpQUFLQUxVQXlFSUlBQW9BcGdDQkVBZ0NDZ0NMRVVFUUNBSUtBSVFRUWdRT1NFRUlBQW9BdEFESWdJZ0JDQUNLQUlZYWpZQ0dDQUlRUUEyQWhBZ0FpZ0NDQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUFnQlNRR1FRQVBDeUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQWhCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUlRUUEyQWhRZ0NDQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUlRUUEyQWlnTEN3c2dCVUdBQW1vaEJ5QUZJUW9nQ0NnQ0tFVUVRQUpBSUFBb0FxQURJUTVCQVNBQUtBS29BeUlDZENFTFFYOGdBblFoRHlBQUtBS3dBeUVRSUFjZ0FEWUNFQ0FISUFBb0FoZ2lBaWdDQURZQ0FDQUhJQUlvQWdRMkFnUWdDQ2dDRENFRklBZ29BaEFoQkNBQktBSUFJUTBnQ0VGQWF5Z0NBQ0VNSUFBb0Fwd0RJUUlDUUFKL0FrQWdDQ2dDRkNJSkRRQkJBQ0VCQWtBRFFBSkFBbjhDUUNBRVFRaElCRUFnQnlBRklBUkJBQkJuUlEwRklBY29BZ2doQlNBSEtBSU1JZ1JCQ0VnRVFFRUJJUU1NQWdzTElBeEJrQUZxSUFVZ0JFRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUF4QmtBbHFhaTBBQUNFR0lBUWdDV3NGUVFraEF3d0JDd3dCQ3lBSElBVWdCQ0FNSUFNUW9BRWlCa0VBU0EwRElBY29BZ2doQlNBSEtBSU1DeUVFSUFaQkJIWWhBd0ovQWtBQ1FBSkFJQVpCRDNFT0FnQUNBUXNnQTBFUFJ3MERJQVFoQmtFQURBSUxJQUFvQWdBaUJrSDVBRFlDRkNBR0tBSUVJUVlnQUVGL0lBWkJQM0ZCc2dWcUVRTUFDeUFFUVFGSUJFQWdCeUFGSUFSQkFSQm5SUTBFSUFjb0Fnd2hCQ0FIS0FJSUlRVUxJQXNnRHlBRlFRRWdCRUYvYWlJR2RIRWJDeUVKSUFNaEJDQUNJUU1nQmlFQ0EzOENmeUFEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1l1QVFBRVFDQUNRUUZJQkVBZ0J5QUZJQUpCQVJCblJRMEdJQWNvQWd3aEFpQUhLQUlJSVFVTElBVkJBU0FDUVg5cUlnSjBjUVJBSUFZdUFRQWlFaUlSSUF0eFJRUkFJQkpCZjBvRVFDQUdJQXNnRVdvN0FRQUZJQVlnRHlBUmFqc0JBQXNMQ3dVZ0JFRi9haUVHSUFSQkFVZ0VmeUFDREFJRklBWUxJUVFMSUFOQkFXb2hCaUFESUE1SUJIOGdCaUVEREFJRklBWWhBeUFDQ3dzTElRUWdDUVJBSUFOQkFuUWdFR29vQWdBaUFrRUJkQ0FOYWlBSk93RUFJQUZCQW5RZ0Ntb2dBallDQUNBQlFRRnFJUUVMSUFOQkFXb2hBaUFESUE1SURRRWdCQ0VCUVFBTUJBc0xRUUVnQTNRaEJpQURCRUFnQkNBRFNBUkFJQWNnQlNBRUlBTVFaMFVOQWlBSEtBSU1JUVFnQnlnQ0NDRUZDeUFHSUFOQkFuUkI4REZxS0FJQUlBVWdCQ0FEYXlJRWRYRnFJZ2tFUUNBQklRWU1Bd1VnQkNFQlFRQU1CQXNBQlVFQklRa2dBU0VHREFJTEFBc01BZ3NnQWlFRElBUWhBU0FGSVFJRFFDQURRUUowSUJCcUtBSUFRUUYwSUExcUlnVXVBUUFFUUNBQlFRRklCRUFnQnlBQ0lBRkJBUkJuUlFSQUlBWWhBUXdGQ3lBSEtBSU1JUUVnQnlnQ0NDRUNDeUFDUVFFZ0FVRi9haUlCZEhFRVFDQUZMZ0VBSWd3aUJDQUxjVVVFUUNBTVFYOUtCRUFnQlNBRUlBdHFPd0VBQlNBRklBUWdEMm83QVFBTEN3c0xJQU5CQVdvaEJTQURJQTVJQkVBZ0JTRUREQUVMQ3lBQ0lRVWdDVUYvYWdzaEF5QUFLQUlZSWdBZ0J5Z0NBRFlDQUNBQUlBY29BZ1EyQWdRZ0NDQUZOZ0lNSUFnZ0FUWUNFQ0FJSUFNMkFoUU1BUXNnQVVVRVFDQUtKQVpCQUE4TEEwQWdBVUYvYWlJQlFRSjBJQXBxS0FJQVFRRjBJQTFxUVFBN0FRQWdBUTBBQ3lBS0pBWkJBQThMQ3lBSUlBZ29BaXhCZjJvMkFpd2dDaVFHUVFFTE9nQUNmd0pBQWtBQ1FBSkFBa0FnQUE0UEFBQUJBUUVDQVFNREF3TURBZ0lDQkF0QkF3d0VDMEVFREFNTFFRRU1BZ3RCQWd3QkMwRUFDd3ZFQXdFSWZ5TUdJUVFqQmtFZ2FpUUdJQUFvQXRRRElRSWdBQ2dDbUFJRVFDQUNLQUlzUlFSQUlBSW9BaEJCQ0JBNUlRTWdBQ2dDMEFNaUJTQURJQVVvQWhocU5nSVlJQUpCQURZQ0VDQUZLQUlJSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBRUpBWkJBQThMSUFBb0F0UUNRUUJLQkVCQkFDRURBMEFnQWtFWWFpQURRUUowYWtFQU5nSUFJQU5CQVdvaUF5QUFLQUxVQWtnTkFBc0xJQUpCQURZQ0ZDQUNJQUFvQXBnQ05nSXNJQUFvQXJnRFJRUkFJQUpCQURZQ0tBc0xDeUFFSWdZZ0FEWUNFQ0FHSUFBb0FoZ2lCeWdDQUNJSU5nSUFJQVlnQnlnQ0JDSUZOZ0lFSUFJb0Fnd2hBeUFDS0FJUUlRUkJBU0FBS0FLb0EzUWhDU0FBS0FMd0FrRUFTZ1JBQWtCQkFDRUZBa0FEUUNBRVFRRklCRUFnQmlBRElBUkJBUkJuUlEwQ0lBWW9BZ3doQkNBR0tBSUlJUU1MSUFOQkFTQUVRWDlxSWdSMGNRUkFJQVZCQW5RZ0FXb29BZ0FpQ0NBSklBZ3ZBUUJ5T3dFQUN5QUZRUUZxSWdVZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQnlBR0tBSUFJUWdnQmlnQ0JDRUZEQUVMSUFZa0JrRUFEd3NMSUFjZ0NEWUNBQ0FISUFVMkFnUWdBaUFETmdJTUlBSWdCRFlDRUNBQ0lBSW9BaXhCZjJvMkFpd2dCaVFHUVFFTHRnWUJESDhqQmlFRUl3WkJJR29rQmlBQUtBTFVBeUVGQWtBZ0FDZ0NtQUlFUUNBRktBSXNSUVJBSUFVb0FoQkJDQkE1SVFZZ0FDZ0MwQU1pQWlBR0lBSW9BaGhxTmdJWUlBVkJBRFlDRUNBQ0tBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BaUFBS0FMVUFrRUFTZ1JBUVFBaEFnTkFJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWhRZ0JTQUFLQUtZQWpZQ0xDQUFLQUs0QTBVRVFDQUZRUUEyQWlnTEN3c2dCU2dDS0VVRVFDQUZLQUlVSWdJRVFDQUNRWDlxSVFNRklBUWdBRFlDRUNBRUlBQW9BaGdpQWlnQ0FEWUNBQ0FFSUFJb0FnUTJBZ1FnQlNnQ0RDRUdJQVVvQWhBaEFpQUFLQUtvQXlFS0lBQW9BckFESVFzZ0FTZ0NBQ0VNSUFWQlFHc29BZ0FoQ0NBQUtBS2NBeUlESUFBb0FxQURJZzFLQkVCQkFDRURJQVloQVFVQ1FDQUdJUUVnQXlFR0FrQURRQUpBQW44Q1FDQUNRUWhJQkVBZ0JDQUJJQUpCQUJCblJRMEZJQVFvQWdnaEFTQUVLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQWhCa0FGcUlBRWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBaEJrQWxxYWkwQUFDRUhJQUlnQ1dzRlFRa2hBd3dCQ3d3QkN5QUVJQUVnQWlBSUlBTVFvQUVpQjBFQVNBMERJQVFvQWdnaEFTQUVLQUlNQ3lFQ0lBZEJCSFloQXlBSFFROXhJZ2NFUUNBQ0lBZElCRUFnQkNBQklBSWdCeEJuUlEwRUlBUW9BZ3doQWlBRUtBSUlJUUVMSUFNZ0Jtb2lBMEVDZENBTGFpZ0NBRUVCZENBTWFpQUhRUUowUWZBeGFpZ0NBQ0lHSUFFZ0FpQUhheUlDZFhFaUNVRUFJQVlnQ1NBSFFRSjBRZXd4YWlnQ0FFb2JheUFLZERzQkFBVUNRQ0FEQkVBZ0EwRVBSZ1JBREFJRkRBUUxBQXRCQUNFRERBVUxJQVpCRDJvaEF3c2dBMEVCYWlFR0lBTWdEVWdOQVVFQUlRTU1Bd3NMSUFJZ0EwZ0VRQ0FFSUFFZ0FpQURFR2RGRFFZZ0JDZ0NEQ0VDSUFRb0FnZ2hBUXRCQVNBRGRFRi9haUFEUVFKMFFmQXhhaWdDQUNBQklBSWdBMnNpQW5WeGFpRUREQUVMREFRTEN5QUFLQUlZSWdBZ0JDZ0NBRFlDQUNBQUlBUW9BZ1EyQWdRZ0JTQUJOZ0lNSUFVZ0FqWUNFQXNnQlNBRE5nSVVDeUFGSUFVb0FpeEJmMm8yQWl3Z0JDUUdRUUVQQ3lBRUpBWkJBQXVXQmdFTmZ5TUdJUVFqQmtFd2FpUUdJQUFvQXRRRElRSWdBQ2dDcUFNaEN5QUFLQUtZQWdSQUlBSW9BaXhGQkVBZ0FpZ0NFRUVJRURraEF5QUFLQUxRQXlJSUlBTWdDQ2dDR0dvMkFoZ2dBa0VBTmdJUUlBZ29BZ2doQXlBQUlBTkIvd0J4UVFocUVRQUFSUVJBSUFRa0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRTURRQ0FDUVJocUlBTkJBblJxUVFBMkFnQWdBMEVCYWlJRElBQW9BdFFDU0EwQUN3c2dBa0VBTmdJVUlBSWdBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdBa0VBTmdJb0N3c0xJQVJCRkdvaEJpQUVJUWtnQWlnQ0tFVUVRQ0FHSUFBMkFoQWdCaUFBS0FJWUlnY29BZ0FpQlRZQ0FDQUdJQWNvQWdRaUNEWUNCQ0FDS0FJTUlRTWdBaWdDRUNFRUlBa2dBaWtDRkRjQ0FDQUpJQUlwQWh3M0FnZ2dDU0FDS0FJa05nSVFJQUFvQXZBQ1FRQktCRUFDUUVFQUlRZ0NRQU5BSUFoQkFuUWdBV29vQWdBaERpQUNRVEJxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlnMUJBblJxS0FJQUtBSVVRUUowYWlnQ0FDRUtBbjhDUUNBRVFRaElCRUFnQmlBRElBUkJBQkJuUlEwRUlBWW9BZ2doQXlBR0tBSU1JZ1JCQ0VnRVFFRUJJUVVNQWdzTElBcEJrQUZxSUFNZ0JFRjRhblZCL3dGeElnVkJBblJxS0FJQUlnY0VmeUFGSUFwQmtBbHFhaTBBQUNFRklBUWdCMnNGUVFraEJRd0JDd3dCQ3lBR0lBTWdCQ0FLSUFVUW9BRWlBMEVBU0EwQ0lBTWhCU0FHS0FJSUlRTWdCaWdDREFzaEJDQUZCSDhnQkNBRlNBUkFJQVlnQXlBRUlBVVFaMFVOQXlBR0tBSU1JUVFnQmlnQ0NDRURDeUFGUVFKMFFmQXhhaWdDQUNJS0lBTWdCQ0FGYXlJRWRYRWlCMEVBSUFvZ0J5QUZRUUowUWV3eGFpZ0NBRW9iYXdWQkFBc2dDVUVFYWlBTlFRSjBhaUlGS0FJQWFpRUhJQVVnQnpZQ0FDQU9JQWNnQzNRN0FRQWdDRUVCYWlJSUlBQW9BdkFDU0EwQUN5QUFLQUlZSVFjZ0JpZ0NBQ0VGSUFZb0FnUWhDQXdCQ3lBSkpBWkJBQThMQ3lBSElBVTJBZ0FnQnlBSU5nSUVJQUlnQXpZQ0RDQUNJQVEyQWhBZ0FpQUpLUUlBTndJVUlBSWdDU2tDQ0RjQ0hDQUNJQWtvQWhBMkFpUUxJQUlnQWlnQ0xFRi9hallDTENBSkpBWkJBUXN2QVFKL0lBQW9BdFFESWdFb0FoQkJDQkE1SVFJZ0FDZ0MwQU1pQUNBQ0lBQW9BaGhxTmdJWUlBRkJBRFlDRUF2c0RBRUlmeUFBS0FMVUF5RUVJQUFvQXB3RElnSkZJUU1DUUNBQUtBTGdBVVVFUUFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQzNBRWdBQ2dDb0FNaUFVSEFBRWh5QkVBZ0FDZ0N0QU1nQVVjTkFRc01BUXNnQUNnQ0FDSUJRZjBBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FMSUFSQkprRW5JQUFvQXJRRFFUOUdHellDQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFCQkFTQUFRZGdDYWlBQlFRSjBhaWdDQUNJQ0tBSVVJZ01nQkVIRUFHb2dBMEVDZEdvUStRRWdBQ2dDdEFNRVFDQUFRUUFnQWlnQ0dDSUNJQVJCMUFCcUlBSkJBblJxRVBrQkN5QUVRUmhxSUFGQkFuUnFRUUEyQWdBZ0FVRUJhaUlCSUFBb0F0UUNTQTBBQ3dzZ0FDZ0M4QUpCQUV3TkFVRUFJUUVEUUNBRVFlUUFhaUFCUVFKMGFpQUVRY1FBYWlBQVFkZ0NhaUFBUWZRQ2FpQUJRUUowYWlnQ0FFRUNkR29vQWdBaUF5Z0NGRUVDZEdvb0FnQTJBZ0FnQkVHTUFXb2dBVUVDZEdvZ0JFSFVBR29nQXlnQ0dFRUNkR29vQWdBMkFnQWdCRUcwQVdvZ0FVRUNkR29nQXlnQ05BUi9BbjhnQXlnQ0tDRUNJQU1vQWlRaEF3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FDZ0N0QU1PTVFBSEJ3RUhCd2NIQWdjSEJ3Y0hCd01IQndjSEJ3Y0hCd1FIQndjSEJ3Y0hCd2NIQlFjSEJ3Y0hCd2NIQndjSEJ3WUhDMEVCREFjTElBSkJBVWRCQTNSQm9DdHFJQU5CQVVkQkFuUnFLQUlBUVFGcURBWUxJQUpCZjJvaUFrRUNJQUpCQWtrYlFReHNRYkFyYWlBRFFYOXFJZ0pCQWlBQ1FRSkpHMEVDZEdvb0FnQkJBV29NQlFzZ0FrRi9haUlDUVFNZ0FrRURTUnRCQkhSQjRDdHFJQU5CZjJvaUFrRURJQUpCQTBrYlFRSjBhaWdDQUVFQmFnd0VDeUFDUVg5cUlnSkJCQ0FDUVFSSkcwRVViRUdnTEdvZ0EwRi9haUlDUVFRZ0FrRUVTUnRCQW5ScUtBSUFRUUZxREFNTElBSkJmMm9pQWtFRklBSkJCVWtiUVJoc1FaQXRhaUFEUVg5cUlnSkJCU0FDUVFWSkcwRUNkR29vQWdCQkFXb01BZ3NnQWtGL2FpSUNRUVlnQWtFR1NSdEJIR3hCb0M1cUlBTkJmMm9pQWtFR0lBSkJCa2tiUVFKMGFpZ0NBRUVCYWd3QkN5QUNRWDlxSWdKQkJ5QUNRUWRKRzBFRmRFSHdMMm9nQTBGL2FpSUNRUWNnQWtFSFNSdEJBblJxS0FJQVFRRnFDd1ZCQUFzMkFnQWdBVUVCYWlJQklBQW9BdkFDU0EwQUN3d0JDeUFBS0FLZ0F5RUJBa0FDUUNBREJFQWdBUTBCQlNBQklBSklEUUVnQVNBQUtBSzBBMG9OQVNBQUtBTFVBa0VCUncwQkN5QUFLQUtrQXlJQkJFQWdBVUYvYWlJQklBQW9BcWdEUncwQkJTQUFLQUtvQXlFQkN5QUJRUTFLRFFBTUFRc2dBQ2dDQUNJQlFSRTJBaFFnQVNBQ05nSVlJQUFvQWdBZ0FDZ0NvQU0yQWh3Z0FDZ0NBQ0FBS0FLa0F6WUNJQ0FBS0FJQUlBQW9BcWdETmdJa0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUlpQVVFQVNnUi9JQUJCcEFOcUlRVkJBQ0VDQTM4Z0FFSFlBbW9nQWtFQ2RHb29BZ0FvQWdRaEJpQUFLQUtnQVNFSUlBQW9BcHdESWdFRVFDQUdRUWgwSUFocUtBSUFRUUJJQkVBZ0FDZ0NBQ0lCUWZZQU5nSVVJQUVnQmpZQ0dDQUFLQUlBUVFBMkFod2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQUFLQUtjQXlFQkN3VkJBQ0VCQ3lBQklBQW9BcUFEVEFSQUEwQWdCU2dDQUNBR1FRaDBJQWhxSUFGQkFuUnFJZ01vQWdBaUIwRUFJQWRCQUVvYlJ3UkFJQUFvQWdBaUIwSDJBRFlDRkNBSElBWTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQnlBQVFYOGdCMEUvY1VHeUJXb1JBd0FMSUFNZ0FDZ0NxQU0yQWdBZ0FVRUJhaUVESUFFZ0FDZ0NvQU5JQkVBZ0F5RUJEQUVMQ3dzZ0FrRUJhaUlDSUFBb0F0UUNJZ0ZJRFFBZ0JRc0ZJQUJCcEFOcUN5RUNJQVJCSWtFaklBQW9BcHdESWdORklnVWJRU1JCSlNBRkd5QUNLQUlBUlJzMkFnUWdBVUVBU2dSQUFrQWdCRUZBYXlFR1FRQWhBUU5BSUFCQjJBSnFJQUZCQW5ScUtBSUFJUVVnQXdSQUlBUkJNR29nQlNnQ0dDSUZRUUowYWlFRElBQkJBQ0FGSUFNUStRRWdCaUFES0FJQU5nSUFCU0FDS0FJQVJRUkFJQUJCQVNBRktBSVVJZ01nQkVFd2FpQURRUUowYWhENUFRc0xJQVJCR0dvZ0FVRUNkR3BCQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpPRFFFZ0FDZ0NuQU1oQXd3QUFBc0FDd3NnQkVFQU5nSVVJQVJCQURZQ0VDQUVRUUEyQWd3Z0JFRUFOZ0lvSUFRZ0FDZ0NtQUkyQWl3UEN5QUVRUUEyQWhBZ0JFRUFOZ0lNSUFSQkFEWUNLQ0FFSUFBb0FwZ0NOZ0lzQzljQkFRTi9JQUFvQWdRb0FnQWhBaUFBSUFCQkFVSGNBU0FDUVQ5eFFjb0JhaEVFQUNJQk5nTFVBeUFCUWZZQU5nSUFJQUZCOXdBMkFnZ2dBQ2dDNEFGRkJFQWdBVUlBTndKRUlBRkNBRGNDVENBQlFRQTJBbFFnQVVFQU5nSllJQUZCQURZQ1hDQUJRUUEyQW1BUEN5QUFLQUlFS0FJQUlRSWdBQ0FBUVFFZ0FDZ0NKRUVJZENBQ1FUOXhRY29CYWhFRUFDSUROZ0tnQVNBQUtBSWtRUUJLQkVCQkFDRUNBMEFnQXlBQ1FRaDBha0YvUVlBQ0VFVWFJQUpCQVdvaUFpQUFLQUlrU0EwQUN3c2dBVUlBTndJd0lBRkNBRGNDT0F2REFnRUpmeUFBS0FLNEF5RUNJQUFvQWdBaUEwSDhBRFlDRkNBRElBSTJBaGdnQUNnQ0FDQUJOZ0ljSUFBb0FnQW9BZ1FoQXlBQVFYOGdBMEUvY1VHeUJXb1JBd0FnQVVFQmFrRUhjVUhRQVhJaEJDQUJRUUpxUVFkeFFkQUJjaUVGSUFGQkIycEJCM0ZCMEFGeUlRWWdBVUVHYWtFSGNVSFFBWEloQndKQUEwQUNRQ0FDUWNBQlNDRUlJQUlnQkVZZ0FrRjRjVUhRQVVkeUlBSWdCVVp5SVFsQkFrRUJJQUlnQmtZZ0FpQUhSbkliSVFvRFFBSkFJQUFvQWdBaUFVSGpBRFlDRkNBQklBSTJBaGdnQUNnQ0FFRUNRUU1nQ2lBSkd5QUlHeUlETmdJY0lBQW9BZ0FvQWdRaEFTQUFRUVFnQVVFL2NVR3lCV29SQXdBQ1FBSkFJQU5CQTNGQkFXc09Bd1FDQUFFTFFRRWhBQXdGQ3d3QkN3c2dBQkN4QWdSQUlBQW9BcmdESVFJTUFnVkJBQ0VBREFNTEFBc0xJQUJCQURZQ3VBTkJBUThMSUFBTFlnRURmeUFBS0FJWUlRSWdBVUVBVEFSQUR3c2dBaWdDQkNJRElBRklCRUFEUUNBQ0tBSU1JUVFnQUNBRVFmOEFjVUVJYWhFQUFCb2dBU0FEYXlJQklBSW9BZ1FpQTBvTkFBc0xJQUlnQVNBQ0tBSUFhallDQUNBQ0lBTWdBV3MyQWdRTDd3RUJCSDlCQkVFRUVJc0JJUVFEUUNBQ1FRTkhCRUFnQWtFQ2RDRUZRUUFoQXdOQUlBTkJCRWNFUUNBRUtBSUFJQU1nQldwQkEzUnFJQUpCQkhRZ0FHb2dBMEVDZEdvcUFnQzdPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUVkQ0FCYWlBQ1FRSjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUF0amdDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3c2dCQkJKQzcwQkFRTi9JQUFvQWhnaUFTZ0NJRUVCUVlBZ0lBRW9BaHdRWVNJQ0JFQWdBU0FCS0FJZ05nSUFJQUVnQWpZQ0JDQUJRUUEyQWlSQkFROExJQUVvQWlRRVFDQUFLQUlBSWdKQkt6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEFuOGdBQ0VESUFBb0FnQWlBRUg3QURZQ0ZDQUFLQUlFSVFBZ0F3dEJmeUFBUVQ5eFFiSUZhaEVEQUNBQktBSWdRWDg2QUFBZ0FTZ0NJRUZaT2dBQklBRWdBU2dDSURZQ0FDQUJRUUkyQWdRZ0FVRUFOZ0lrUVFFTERBQWdBQ2dDR0VFQk5nSWtDNVlCQVFKL0lBQW9BaGdpQWtVRVFDQUFLQUlFS0FJQUlRSWdBQ0FBUVFCQktDQUNRVDl4UWNvQmFoRUVBQ0lETmdJWUlBQW9BZ1FvQWdBaEFpQURJQUJCQUVHQUlDQUNRVDl4UWNvQmFoRUVBRFlDSUNBQUtBSVlJUUlMSUFKQjlBQTJBZ2dnQWtIVEFEWUNEQ0FDUVM4MkFoQWdBa0VoTmdJVUlBSkI5UUEyQWhnZ0FpQUJOZ0ljSUFKQkFEWUNCQ0FDUVFBMkFnQUw2Z2tCRW44akJpRVRJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZpQVRJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQktBSUFJQUl1QVFCQkFuUnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSUlBSXVBVEFnQVNnQ1lHd2lDMm9pRENBQ0xnRlFJQUVvQXFBQmJDSU5JQWNnQVNnQ0lHd2lCMm9pQ21wQm9jc0FiQ0lPSUF4QnU0Si9iR29pRENBSElBaHFRYk5HYkNJUUlBaEJqaE5zYW1vaENDQU9JQXBCaEdkc2FpSUtJQkFnQjBHTDRBQnNhbW9oQnlBS0lBc2dEV3BCL2R0K2JDSUtJQTFCczRNQmJHcHFJUTBnQmlBSElBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnNGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlFR29pRVNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWdVZ0FpNEJZQ0FCS0FMQUFXd2lFbXBCMFNKc0loUWdCVUgrTUd4cUlnVnFJaFZxUVF0MU5nSUFJQVlnRlNBSGEwRUxkVFlDNEFFZ0JpQU1JQW9nQzBIVXhBRnNhbW9pQ3lBUUlBNXJJZ2NnRkNBU1FkK0pmMnhxSWd4cUlncHFRUXQxTmdJZ0lBWWdDaUFMYTBFTGRUWUN3QUVnQmtGQWF5QU5JQWNnREdzaUMycEJDM1UyQWdBZ0JpQUxJQTFyUVF0MU5nS2dBU0FHSUFnZ0VTQUZheUlGYWtFTGRUWUNZQ0FGSUFoclFRdDFJUVZCSUF0QkFuUWdCbW9nQlRZQ0FDQUdRUVJxSVFZZ0FVRUVhaUVCSUFKQkFtb2hBaUFKUVg5cUlRVWdDVUVCU3dSQUlBVWhDUXdCQ3dzZ0ZrR0FmV29oQ1VFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlRWWdBQ2dDQUVHUWdBRnFJUVVDUUFKQUlBQW9BZ1FpQ0NBQUtBSUlJZ0p5RFFBZ0FDZ0NEQVJBUVFBaEFnd0JCU0FBS0FJUUJFQkJBQ0VDREFJRklBQW9BaFFFUUVFQUlRSU1Bd1VnQUNnQ0dBUkFRUUFoQWd3RUJTQUFLQUljQkVCQkFDRUNEQVVGSUFZZ0NTQUZRUVYyUWY4SGNXb3NBQUFpQWpvQUFDQUdRUUZxSUFKQkJ4QkZHZ3NMQ3dzTERBRUxJQUFvQWh3aUN5QUFLQUlNSWcxcUlnOGdDQ0FBS0FJVUlnZHFJZ3hxUWFITEFHd2lDaUFQUWJ1Q2YyeHFJZzhnQ0NBTGFrR3pSbXdpRGlBTFFZNFRiR3BxSVFzZ0NpQU1RWVJuYkdvaURDQU9JQWhCaStBQWJHcHFJUWdnRENBSElBMXFRZjNiZm13aURDQUhRYk9EQVd4cWFpRUhJQVlnQ1NBRklBQW9BaEFpQ21wQkRYUWlEaUFBS0FJWUloQWdBbXBCMFNKc0loRWdBa0grTUd4cUlnSnFJaElnQ0dwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFrZ0VpQUlhMEVTZGtIL0IzRnFMQUFBT2dBSElBWWdDU0FGSUFwclFRMTBJZ1VnRVNBUVFkK0pmMnhxSWdocUlnb2dEeUFNSUExQjFNUUJiR3BxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSklBb2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUdJQWtnQlNBSWF5SUZJQWRxUVJKMlFmOEhjV29zQUFBNkFBSWdCaUFKSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQlNBR0lBa2dEaUFDYXlJQ0lBdHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUpJQUlnQzJ0QkVuWkIvd2R4YWl3QUFEb0FCQXNnQUVFZ2FpRUFJQUZCQVdvaUFVRUlSdzBBQ3lBVEpBWUxOQUFnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29nQWk0QkFDQUJLQUpVS0FJQWJFR0VJR3BCQTNaQi93ZHhhaXdBQURvQUFBdkRBUUVGZnlBRUlBTW9BZ0JxSWdVZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCRUNBQktBSlVJZ0VvQWlCc0lnWWdBaTRCQUNBQktBSUFiRUdFSUdvaUIyb2lDQ0FDTGdFQ0lBRW9BZ1JzSWdrZ0FpNEJFaUFCS0FJa2JDSUJhaUlDYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVVnQ0NBQ2EwRURka0gvQjNFZ0FHb3NBQUE2QUFFZ0JDQURLQUlFYWlJQ0lBY2dCbXNpQXlBSklBRnJJZ0ZxUVFOMlFmOEhjU0FBYWl3QUFEb0FBQ0FDSUFNZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM2Z0ZBUWwvSXdZaEJTTUdRVEJxSkFZZ0FDZ0MwQUloQ0NBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSGFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFNJTE5nSUFJQVVnQVNBQWEwRUxkVFlDR0NBRklBa2dCMEYrYkdwQkMzVTJBZ3dnQlNBR0tBSUVJQUl1QVFKQkRYUnNRWUFJY2lJSklBWW9Ba1FnQWk0QklrR2hMV3hzSWdkcUlnRWdCaWdDSkNBQ0xnRVNRYkhPQUd4c0lnQnFRUXQxSWd3MkFnUWdCU0FCSUFCclFRdDFOZ0ljSUFVZ0NTQUhRWDVzYWtFTGRTSU5OZ0lRSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUNTQUdLQUpJSUFJdUFTUkJvUzFzYkNJSGFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFNJS05nSUlJQVVnQVNBQWEwRUxkU0lHTmdJZ0lBVWdDU0FIUVg1c2FrRUxkU0lKTmdJVUlBUWdBeWdDQUdvaUJ5QUlRWUI5YWlJSUlBdEJEWFJCZ0lDSXdBQnFJZ0lnQ2tHaExXeHFJZ0VnREVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFJSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBZ2dBaUFLUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlFYWlJSElBZ2dCU2dDREVFTmRFR0FnSWpBQUdvaUFpQUpRYUV0YkdvaUFTQU5RYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBZ2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQ0NBQ0lBbEJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnaHFJZ01nQ0NBRktBSVlRUTEwUVlDQWlNQUFhaUlDSUFaQm9TMXNhaUlCSUFVb0FoeEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFNZ0NDQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdBeUFJSUFJZ0JrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVrQmd2c0NRRUlmeU1HSVFVakJrRkFheVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUNTZ0NBR3dpQ0NBQ0xnRWdJQWxCUUdzb0FnQnNJZ3RxUVFKMElnRWdBaTRCRUNBSktBSWdiQ0lBSUFJdUFUQWdDU2dDWUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0FDQUZJQUVnQUdzMkFqQWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lRSUFVZ0FTQUFhellDSUNBRklBSXVBUUlnQ1NnQ0JHd2lDQ0FDTGdFaUlBa29Ba1JzSWd0cVFRSjBJZ0VnQWk0QkVpQUpLQUlrYkNJQUlBSXVBVElnQ1NnQ1pHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNCQ0FGSUFFZ0FHczJBalFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJVUlBVWdBU0FBYXpZQ0pDQUZJQUl1QVFRZ0NTZ0NDR3dpQ0NBQ0xnRWtJQWtvQWtoc0lndHFRUUowSWdFZ0FpNEJGQ0FKS0FJb2JDSUFJQUl1QVRRZ0NTZ0NhR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhaUlNTmdJSUlBVWdBU0FBYXpZQ09DQUZJQWdnQzJ0QkFuUWlBU0FLSUFaQjM0bC9iR3BCQzNVaUFHbzJBaGdnQlNBQklBQnJOZ0lvSUFVZ0FpNEJCaUFKS0FJTWJDSUxJQUl1QVNZZ0NTZ0NUR3dpQm1wQkFuUWlBU0FDTGdFV0lBa29BaXhzSWdBZ0FpNEJOaUFKS0FKc2JDSUtha0hSSW14QmdBaHFJZ0lnQUVIK01HeHFRUXQxSWdCcUlnZzJBZ3dnQlNBQklBQnJOZ0k4SUFVZ0N5QUdhMEVDZENJQklBSWdDa0hmaVg5c2FrRUxkU0lBYWlJTE5nSWNJQVVnQVNBQWF6WUNMQ0FFSUFNb0FnQnFJZ1lnQjBHQWZXb2lCeUFNSUFVb0FnQkJrSUFCYWlJS2FrRU5kQ0lCSUFnZ0JTZ0NCQ0lBYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUtJQXhyUVExMElnRWdBaUFJUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ1JxSWdnZ0J5QUZLQUlRUVpDQUFXb2lCaUFGS0FJWUlncHFRUTEwSWdFZ0N5QUZLQUlVSWdCcVFkRWliQ0lDSUFCQi9qQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWdnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0NDQUhJQVlnQ210QkRYUWlBU0FDSUF0QjM0bC9iR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUNDQUhJQVVvQWlCQmtJQUJhaUlMSUFVb0FpZ2lCbXBCRFhRaUFTQUZLQUlrSWdBZ0JTZ0NMQ0lLYWtIUkltd2lBaUFBUWY0d2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFnZ0J5QUxJQVpyUVExMElnRWdBaUFLUWQrSmYyeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDQ0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUl3UVpDQUFXb2lDaUFGS0FJNElnUnFRUTEwSWdFZ0JTZ0NOQ0lBSUFVb0Fqd2lBMnBCMFNKc0lnSWdBRUgrTUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NpQUVhMEVOZENJQklBSWdBMEhmaVg5c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OFFBUXAvSXdZaEJTTUdRZkFBYWlRR0lBQW9BdEFDSVE0Z0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUVHSUFVZ0FpNEJJQ0FJUVVCcktBSUFiQ0lCSUFKQlFHc3VBUUFnQ0NnQ2dBRnNJZ0JxUWN3eWJDSU5JQVlnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFUUlBZ29BaUJzSWdBZ0FpNEJNQ0FJS0FKZ2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWdBZ0JTQUJJQUJyUVF0MU5nSlFJQVVnQ2lBTmF5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUdJQWxCd0tWL2JHcEJDM1UyQWlnZ0JTQUNMZ0VTSUFnb0FpUnNJZ0FnQWk0Qk1pQUlLQUprYkNJSGFrR2FOV3dpQmlBQVFmRWdiR29pRFNBQ0xnRWlJQWdvQWtSc0lnRWdBaTRCUWlBSUtBS0VBV3dpQUdwQnpESnNJZ2tnQ0NnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQ2lBQklBQnJJZ3RCMEJac2FpSU1haUlBYWtFTGRUWUNCQ0FGSUFBZ0RXdEJDM1UyQWxRZ0JTQUdJQWRCM1BSK2JHb2lBU0FNSUFscklnQnFRUXQxTmdJWUlBVkJRR3NnQUNBQmEwRUxkVFlDQUNBRklBb2dDMEhBcFg5c2FrRUxkVFlDTENBRklBSXVBU1FnQ0NnQ1NHd2lBU0FDTGdGRUlBZ29Bb2dCYkNJQWFrSE1NbXdpQmlBSUtBSUlJQUl1QVFSQkRYUnNRWUFJY2lJTklBRWdBR3NpQ1VIUUZteHFJZ3BxSWdFZ0FpNEJGQ0FJS0FJb2JDSUFJQUl1QVRRZ0NDZ0NhR3dpQzJwQm1qVnNJZ3dnQUVIeElHeHFJZ0JxUVF0MU5nSUlJQVVnQVNBQWEwRUxkVFlDV0NBRklBb2dCbXNpQVNBTUlBdEIzUFIrYkdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSkVJQVVnRFNBSlFjQ2xmMnhxUVF0MU5nSXdJQVVnQWk0QkppQUlLQUpNYkNJQklBSXVBVVlnQ0NnQ2pBRnNJZ0JxUWN3eWJDSUdJQWdvQWd3Z0FpNEJCa0VOZEd4QmdBaHlJZzBnQVNBQWF5SUpRZEFXYkdvaUNtb2lBU0FDTGdFV0lBZ29BaXhzSWdBZ0FpNEJOaUFJS0FKc2JDSUxha0dhTld3aURDQUFRZkVnYkdvaUFHcEJDM1UyQWd3Z0JTQUJJQUJyUVF0MU5nSmNJQVVnQ2lBR2F5SUJJQXdnQzBIYzlINXNhaUlBYWtFTGRUWUNJQ0FGSUFFZ0FHdEJDM1UyQWtnZ0JTQU5JQWxCd0tWL2JHcEJDM1UyQWpRZ0JTQUNMZ0VvSUFnb0FsQnNJZ0VnQWk0QlNDQUlLQUtRQVd3aUFHcEJ6REpzSWcwZ0NDZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBSXVBUmdnQ0NnQ01Hd2lBQ0FDTGdFNElBZ29BbkJzSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFTGRUWUNFQ0FGSUFFZ0FHdEJDM1UyQW1BZ0JTQUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUXQxTmdJa0lBVWdBU0FBYTBFTGRUWUNUQ0FGSUFrZ0NrSEFwWDlzYWtFTGRUWUNPQ0FFSUFNb0FnQnFJZ1lnRGtHQWZXb2lCeUFGS0FJSUlnRWdCU2dDRUNJQWFrSE1NbXdpRFNBRktBSUFRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlNnQ0JDSUFJQVVvQWd3aURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJpQUhJQVVvQWh3aUFTQUZLQUlrSWdCcVFjd3liQ0lOSUFVb0FoUkJEWFJCZ0lDSXdBQnFJZ2tnQVNBQWF5SUtRZEFXYkdvaUMyb2lBU0FGS0FJWUlnQWdCU2dDSUNJTWFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBWWdCeUFMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDU0FLUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlJYWlJR0lBY2dCU2dDTUNJQklBVW9BamdpQUdwQnpESnNJZzBnQlNnQ0tFRU5kRUdBZ0lqQUFHb2lDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQVVvQWl3aUFDQUZLQUkwSWd4cVFabzFiQ0lDSUFCQjhTQnNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JpQUhJQXNnRFdzaUFTQUNJQXhCM1BSK2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFZZ0J5QUpJQXBCd0tWL2JHcEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdZZ0J5QUZLQUpFSWdFZ0JTZ0NUQ0lBYWtITU1td2lEU0FGS0FJOFFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCVUZBYXlnQ0FDSUFJQVVvQWtnaURHcEJtalZzSWdJZ0FFSHhJR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUdJQWNnQ3lBTmF5SUJJQUlnREVIYzlINXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JpQUhJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRUdvaUNTQUhJQVVvQWxnaUFTQUZLQUpnSWdCcVFjd3liQ0lLSUFVb0FsQkJEWFJCZ0lDSXdBQnFJZ3NnQVNBQWF5SU1RZEFXYkdvaUJHb2lBU0FGS0FKVUlnQWdCU2dDWENJRGFrR2FOV3dpQWlBQVFmRWdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRUlBa2dCeUFFSUFwcklnRWdBaUFEUWR6MGZteHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDU0FISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBSklBY2dDeUFNUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThFQVE5L0l3WWhFQ01HUVpBQmFpUUdJQUFvQXRBQ0lSTWdFQ0lBSVFVZ0FTZ0NWQ0VCQTBBZ0JTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUtJQUVvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lNYWlJTklBRkJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSU9haUlQSUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0ZRSUFFb0FxQUJiQ0lJYWtHMkYyd2lFU0FHSUFJdUFUQWdBU2dDWUd3aUNXcEJEWFJxSWhKcVFRdDFOZ0lBSUFVZ0R5QVNhMEVMZFRZQ2VDQUZJQW9nREVGK2JHcEJDM1VpQ2lBR0lBbHJJQWhyUVFKMElnWnFOZ0lZSUFVZ0NpQUdhellDWUNBRklBMGdEbXNpQmlBUklBZ2dDV3RCRFhScUlnaHFRUXQxTmdJd0lBVWdCaUFJYTBFTGRUWUNTQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSFFRRnFJZ2RCQmtjTkFBc2dFMEdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQUNnQ0JDSUhJQUFvQWhRaUJtcEJ0aGRzSWdzZ0J5QUFLQUlNSWdocVFRMTBhaUlLSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ3dnQUNnQ0VFR2hMV3dpQ1dvaURTQUFLQUlJUWJIT0FHd2lEbW9pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0R5QUthMEVTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FISUFocklBWnJRUTEwSWdjZ0RDQUpheUFKYXlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFFZ0JTQUpJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCQ0FGSUEwZ0Rtc2lCeUFMSUFZZ0NHdEJEWFJxSWdacVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBY2dCbXRCRW5aQi93ZHhJQUpxTEFBQU9nQURJQUJCR0dvaEFDQUJRUUZxSWdGQkJrY05BQXNnRUNRR0MrMEJBUVIvUVFSQkJCQ0xBU0VFQTBBZ0FrRURSd1JBSUFKQkFuUWhCVUVBSVFNRFFDQURRUVJIQkVBZ0JDZ0NBQ0FESUFWcVFRTjBhaUFDUVFWMElBQnFJQU5CQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFTEN5QUVLQUlBSWdCQ0FEY0RZQ0FBUWdBM0EyZ2dBRUlBTndOd0lBQkVBQUFBQUFBQThEODVBM2dnQkJEV0FScEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FFRUZkQ0FCYWlBQ1FRTjBhaUFFS0FJQUlBSWdBMnBCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN5QUVFRWtMdFFZQkZIOGpCaUVWSXdaQjBBRnFKQVlnQUNnQzBBSWhHQ0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJSElBSXVBV0FnQVNnQ3dBRnNJZ1pyUWJjNGJDSU9JQUl1QVNBZ0FVRkFheWdDQUd3aUNTQUhhMEdTRkd3aUVTQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBJQWRCbFlwL2JHcHFhaUVLSUFJdUFSQWdBU2dDSUd3aUN5QUNMZ0V3SUFFb0FtQnNJZ2hxUWU4N2JDSVNJQXNnQ0d0Qjh3cHNJaE5xSUFnZ0FpNEJVQ0FCS0FLZ0FXd2lDR3BCNGFkL2JDSVVhaUVOSUFVZ0R5QUdJQWxxSWhaQnh0RUFiR29pRnlBT0lBWkJnM3RzYW1vaUJpQUlJQXRxUWFNbmJDSUxJQklnRTJ0cUlnNXFRUXQxTmdJQUlBVWdCaUFPYTBFTGRUWUNxQUVnQlNBS0lBMXFRUXQxTmdJY0lBVWdDaUFOYTBFTGRUWUNqQUVnQlNBWElCRWdDVUh4NFg1c2Ftb2lCaUFVSUFzZ0NFSGU5d0JzYW1vaUNXcEJDM1UyQWpnZ0JTQUdJQWxyUVF0MU5nSndJQVVnRHlBSElCWnJRY0hhQUd4cVFRdDFOZ0pVSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSFJ3MEFDeUFZUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSVlJZ2RyUWJjNGJDSU5JQUFvQWdnaUJpQU1hMEdTRkd3aUVDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBeEJsWXAvYkdwcWFpRVBJQUFvQWdRaUNpQUFLQUlNSWdWcVFlODdiQ0lPSUFvZ0JXdEI4d3BzSWhGcUlBVWdBQ2dDRkNJTGFrSGhwMzlzSWhKcUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdDU0FHSUFkcUloTkJ4dEVBYkdvaUZDQU5JQWRCZzN0c2Ftb2lCeUFLSUF0cVFhTW5iQ0lLSUE0Z0VXdHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFjZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBRklBSWdDQ0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBUElBaHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQlFnRUNBR1FmSGhmbXhxYWlJSElCSWdDaUFMUWQ3M0FHeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWtnRENBVGEwSEIyZ0JzYWtFU2RrSC9CM0ZxTEFBQU9nQURJQUJCSEdvaEFDQUJRUUZxSWdGQkIwY05BQXNnRlNRR0M2SUhBUlIvSXdZaEZTTUdRYUFDYWlRR0lBQW9BdEFDSVJnZ0ZTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBQktBTEFBU0FDTGdGZ1FhRXRiR3dpQm1vaENDQUhJQVpySUFackloQWdBaTRCSUNBQlFVQnJLQUlBYkNJR0lBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdkckloRkJvUzFzYWlFSklBSXVBUkFnQVNnQ0lHd2lDaUFDTGdGUUlBRW9BcUFCYkNJTWFrR1hPbXdoRFNBRklBZ2dCaUFIYWtHSDFRQnNJaElnQjBIY0Qyd2lFMnRxSWhRZ0NpQUNMZ0Z3SUFFb0F1QUJiQ0lIYWtINkhtd2lGaUFOSUFFb0FtQWdBaTRCTUVIUHNYOXNiQ0lPYTJvaUYycEJDM1UyQWdBZ0JTQVVJQmRyUVF0MU5nS0FBaUFGSUFrZ0NpQU1heUFIYTBHeHpnQnNJZ3BxUVF0MU5nSWdJQVVnQ1NBS2EwRUxkVFlDNEFFZ0JVRkFheUFHUWF2RkFHd2lCaUFJSUJKcmFpSUpJQTBnRGlBTUlBZHJRWkhaQUd3aUIydHFJZ3BxUVF0MU5nSUFJQVVnQ1NBS2EwRUxkVFlDd0FFZ0JTQVRJQWdnQm10cUlnZ2dGaUFISUE1cWFpSUdha0VMZFRZQ1lDQUZJQWdnQm10QkMzVTJBcUFCSUFVZ0VDQVJRYjZsZjJ4cVFRdDFOZ0tBQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUxRUUZxSWd0QkNFY05BQXNnR0VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJSUlBQW9BaGhCb1Mxc0lnVnFJUXNnQ0NBRmF5QUZheUlPSUFBb0FnZ2lDQ0FBS0FJUUlnWnJJZzlCb1Mxc2FpRUhJQUFvQWdRaUNTQUFLQUlVSWdwcVFaYzZiQ0VNSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFzZ0JpQUlha0dIMVFCc0loQWdCa0hjRDJ3aUVXdHFJaElnQ1NBQUtBSWNJZ1pxUWZvZWJDSVRJQXdnQUNnQ0RFSFBzWDlzSWcxcmFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFTSUJSclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDU0FLYXlBR2EwR3h6Z0JzSWdscVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0VHcnhRQnNJZ2dnQ3lBUWEyb2lCeUFNSUEwZ0NpQUdhMEdSMlFCc0lnWnJhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQkVnQ3lBSWEyb2lDeUFUSUFZZ0RXcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdEaUFQUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVKUncwQUN5QVZKQVlML2djQkZYOGpCaUVWSXdaQndBSnFKQVlnQUNnQzBBSWhHU0FWSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0V3SUFFb0FtQnNJZ1lnQWk0QmNDQUJLQUxnQVd3aUNtb2hCeUFGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdrZ0FrRkFheTRCQUNBQktBS0FBV3dpQzBHZHlRQnNhaUlRSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJUmFrR2FOV3dpRFNBTVFmRWdiR29pREdvaURpQUdJQXBySWdwQjR4TnNJaElnQWk0QlVDQUJLQUtnQVd3aUZFRU5kQ0lQYWlJV0lBZEI3enhzSWhjZ0FpNEJFQ0FCS0FJZ2JDSUdRYlBaQUd4cWFpSVlha0VMZFRZQ0FDQUZJQTRnR0d0QkMzVTJBcUFDSUFVZ0NTQUxRWVJrYkdvaURpQU5JQkZCM1BSK2JHb2lFV29pRFNBR1FkUFFBR3dnQjBIUEpXd2lCMnNnRHlBU2F5QUtRUXgwYXlJU2F5SVBha0VMZFRZQ0lDQUZJQTBnRDJ0QkMzVTJBb0FDSUFWQlFHc2dDU0FMUWI2bGYyeHFRUXQxSWdrZ0JpQVVheUFLYTBFQ2RDSUxhallDQUNBRklBa2dDMnMyQXVBQklBVWdEaUFSYXlJSklCSWdCa0dNS1d3Z0IydHFJZ2RxUVF0MU5nSmdJQVVnQ1NBSGEwRUxkVFlDd0FFZ0JTQVFJQXhySWdjZ0ZpQUdRWlFPYkNBWGEyb2lCbXBCQzNVMkFvQUJJQVVnQnlBR2EwRUxkVFlDb0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDRUVCYWlJSVFRaEhEUUFMSUJsQmdIMXFJUUpCQUNFQkEwQWdBQ2dDRENJSUlBQW9BaHdpQ21vaEJpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpQ1VHZHlRQnNhaUlUSUFBb0FnZ2lDeUFBS0FJWUloQnFRWm8xYkNJTUlBdEI4U0JzYWlJUmFpSU5JQUFvQWhSQkRYUWlDeUFJSUFwcklncEI0eE5zSWc1cUloSWdCa0h2UEd3aUZDQUFLQUlFSWdoQnM5a0FiR3BxSWc5cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBMGdEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnQnlBSlFZUmtiR29pRFNBTUlCQkIzUFIrYkdvaUVHb2lEQ0FJUWRQUUFHd2dCa0hQSld3aUJtc2dDeUFPYXlBS1FReDBheUlPYXlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQU1JQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NVRytwWDlzYWlJSElBZ2dDbXRCRFhRZ0Myc2lDV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQnlBSmEwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkJySWdjZ0RpQUlRWXdwYkNBR2Eyb2lCbXBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQVRJQkZySWdZZ0VpQUlRWlFPYkNBVWEyb2lDR3BCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZTUUdDOTRKQVJsL0l3WWhHU01HUWVBQ2FpUUdJQUFvQXRBQ0lSMGdHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRWdJQUZCUUdzb0FnQnNJZ2xyUWNrYmJDRVVJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaFlnQ1NBQ0xnRmdJQUVvQXNBQmJDSUhhaUlRSUFackloZEI3TllBYkdvaERpQVVJQVlnQjJ0Qi9xSUJiQ0FPYWlJUklBWkJ0SXQvYkdwcUlRb2dBaTRCY0NBQktBTGdBV3dpQ3lBQ0xnRlFJQUVvQXFBQmJDSU5JQUl1QVJBZ0FTZ0NJR3dpQ0NBQ0xnRXdJQUVvQW1Cc0lnOXFJaE5xYWtIQUdXd2lFaUFJSUF0cVFiZ1hiR29pR0NBSUlBMXFRZlFxYkNJYUlCTkI2amhzSWhzZ0NFSDJSR3hxYW1vaENDQU5JQTlxUWNtMWYyd2dFbW9pSENBTlFkcXpmMndnR21wcUlSTWdCU0FSSUFkQnRZY0JiR29pRVNBSWFrRUxkVFlDQUNBRklCRWdDR3RCQzNVMkFzQUNJQVVnSENBTElBOXFRZldNZjJ3aUNDQVBRZGlFQVd3Z0cycHFhaUlSSUFwcVFRdDFOZ0lnSUFVZ0NpQVJhMEVMZFRZQ29BSWdCVUZBYXlBVElCQkJoYlovYkNBT2FpSUtJQWRCdzAxc2FpSUhha0VMZFRZQ0FDQUZJQWNnRTJ0QkMzVTJBb0FDSUFVZ0NDQUxRY2VHQVd4cUlCaHFJZ2NnRGlBVWFpQUpRWkdmZjJ4cUlnNXFRUXQxTmdKZ0lBVWdEaUFIYTBFTGRUWUM0QUVnQlNBUFFZMmlmMndnRFVHTHdBQnNhaUFMUVphVWYyeHFJQkpxSWdzZ0NpQUdRYm44QUd3Z0NVSDlwbjlzYW1vaUJtcEJDM1UyQW9BQklBVWdCaUFMYTBFTGRUWUN3QUVnQlNBV0lCZEJ2NlYvYkdwQkMzVTJBcUFCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFkUVlCOWFpRUNRUUFoQVFOQUlBQW9BaEFpRENBQUtBSUlJZzlyUWNrYmJDRU9JQUFvQWdCQkRYUkJnSUNJd0FCcUloTWdEeUFBS0FJWUlnbHFJaFVnREdzaUZrSHMxZ0JzYWlFSElBNGdEQ0FKYTBIK29nRnNJQWRxSWhBZ0RFRzBpMzlzYW1vaENDQUFLQUljSWdZZ0FDZ0NGQ0lMSUFBb0FnUWlCU0FBS0FJTUlnMXFJZ3BxYWtIQUdXd2lGQ0FGSUFacVFiZ1hiR29pRnlBRklBdHFRZlFxYkNJU0lBcEI2amhzSWhFZ0JVSDJSR3hxYW1vaENpQVVJQXNnRFdwQnliVi9iR29pR0NBU0lBdEIyck4vYkdwcUlSSWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdFQ0FKUWJXSEFXeHFJaEFnQ21wQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0VDQUthMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFJSUJnZ0JpQU5ha0gxakg5c0lnb2dFU0FOUWRpRUFXeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0NDQVFhMEVTZGtIL0IzRnFMQUFBT2dBSklBVWdBaUFWUVlXMmYyd2dCMm9pQ0NBSlFjTk5iR29pQ1NBU2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUpJQkpyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0Rtb2dEMEdSbjM5c2FpSUpJQmNnQ2lBR1FjZUdBV3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUpJQWRyUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0RFRzUvQUJzSUE5Qi9hWi9iR3BxSWd3Z0ZDQU5RWTJpZjJ3Z0MwR0x3QUJzYWlBR1FaYVVmMnhxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQU1JQVpyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJNZ0ZrRy9wWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkMwY05BQXNnR1NRR0M1a0pBUmQvSXdZaEdTTUdRWUFEYWlRR0lBQW9BdEFDSVJzZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQktBS0FBU0FDUVVCckxnRUFRYkhPQUd4c0loSnFJUTBnQ1NBQ0xnRWdJQUZCUUdzb0FnQnNJZ3BCRFhRZ0FTZ0N3QUVnQWk0QllFRU5kR3dpRG1zaUVHb2hFU0FGSUEwZ0NrRzIxd0JzSUE1cUloZHFJaE1nQWk0QmNDQUJLQUxnQVd3aUJpQUNMZ0VRSUFFb0FpQnNJZ2NnQWk0QlVDQUJLQUtnQVd3aUNHb2lDMnBCalRkc0lnOGdDMEhiRUd4cUloUWdBaTRCTUNBQktBSmdiQ0lMUWMvVEFHd2lHQ0FIUWZjUmJHcHFJaFZxUVF0MU5nSUFJQVVnRXlBVmEwRUxkVFlDNEFJZ0JTQUxJQWhySWhNZ0J5QUdheUlWYWtIUkltd2lHaUFWUWY0d2JHb2lGU0FSYWtFTGRUWUNJQ0FGSUJFZ0ZXdEJDM1UyQXNBQ0lBVkJRR3NnQ1NBU2F5SVJJQXBCdGhkc0lBNXJJZ3BxSWc0Z0ZDQUdJQWhxUVl1OWYyd2lFaUFMUWE5ZGJDSUxJQWhCc0tGL2JHcHFhaUlJYWtFTGRUWUNBQ0FGSUE0Z0NHdEJDM1UyQXFBQ0lBVWdFU0FLYXlJSUlCSWdEeUFHUWNibEFHd2dHR3RxYWlJS2FrRUxkVFlDWUNBRklBZ2dDbXRCQzNVMkFvQUNJQVVnR2lBVFFkK0pmMnhxSWdnZ0NTQVFheUlKYWtFTGRUWUNnQUVnQlNBSklBaHJRUXQxTmdMZ0FTQUZJQTBnRjJzaUNTQVBJQXNnQjBIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nS2dBU0FGSUFrZ0JtdEJDM1UyQXNBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBYlFZQjlhaUVDUVFBaEFRTkFJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUVHeHpnQnNJZ3RxSVFnZ0JpQUFLQUlJSWcxQkRYUWdBQ2dDR0VFTmRDSUtheUlXYWlFT0lBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBZ2dEVUcyMXdCc0lBcHFJaEpxSWhBZ0FDZ0NIQ0lNSUFBb0FnUWlDU0FBS0FJVUlnZHFJZzlxUVkwM2JDSVJJQTlCMnhCc2FpSVhJQUFvQWd3aUQwSFAwd0JzSWhNZ0NVSDNFV3hxYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVFJQlJyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUE0Z0NTQU1heUlRSUE4Z0Iyc2lGR3BCMFNKc0loZ2dFRUgrTUd4cUloQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQTRnRUd0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0JpQUxheUlPSUExQnRoZHNJQXBySWcxcUlnb2dGeUFISUF4cVFZdTlmMndpQ3lBUFFhOWRiQ0lQSUFkQnNLRi9iR3BxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUtJQWRyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUE0Z0RXc2lCeUFMSUJFZ0RFSEc1UUJzSUJOcmFtb2lEV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FJSUFVZ0FpQUdJQlpySWdZZ0dDQVVRZCtKZjJ4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQVlnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NDQVNheUlHSUJFZ0R5QUpRZHhVYkdvZ0RFR01nWDlzYW1vaURHcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCaUFNYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQUJCSUdvaEFDQUJRUUZxSWdGQkRFY05BQXNnR1NRR0Mrd0tBUmgvSXdZaEdTTUdRYUFEYWlRR0lBQW9BdEFDSVJ3Z0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdGZ0lBRW9Bc0FCYkNJSGFpRU5JQUl1QVJBZ0FTZ0NJR3dpRGlBQ0xnRXdJQUVvQW1Cc0lnaHFRZERVQUd3aENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJaEVnQmlBSGF5SUtRWmtHYkdvaUR5QU5RZm5KQUd3aUVpQUNMZ0VnSUFGQlFHc29BZ0JzSWdaQjhkY0FiR3BxSWhNZ0RpQUNMZ0Z3SUFFb0F1QUJiQ0lMYWlJWFFZSThiQ0lVSUE0Z0FpNEJVQ0FCS0FLZ0FXd2lCMnBCdnNvQWJDSVZJQWtnRGtIYi9uNXNhbXBxSWhacVFRdDFOZ0lBSUFVZ0V5QVdhMEVMZFRZQ2dBTWdCU0FJSUF0cVFjSzFmMndpRXlBSElBaHFRYXRxYkNJV0lBaEJ5elZzSUFscWFtb2lDU0FSSUFwQmxSOXNhaUlZSUFaQjRNTUFiQ0FOUWFBVWJDSWFhMm9pRzJwQkMzVTJBaUFnQlNBYklBbHJRUXQxTmdMZ0FpQUZRVUJySUFjZ0MycEIrRlZzSWdrZ0ZpQUhRYkdiZjJ4cUlCVnFhaUlWSUE4Z0JrR01JR3dnRW10cUlnOXFRUXQxTmdJQUlBVWdEeUFWYTBFTGRUWUN3QUlnQlNBVElBdEJsSTBCYkdvZ0ZHb2dDV29pQ1NBUklBcEJna1JzYWlJUElBWkJqSFZzSUExQjhodHNJZzFyYWlJU2FrRUxkVFlDWUNBRklCSWdDV3RCQzNVMkFxQUNJQVVnQ0VHV1ltd2dGMEhWRld3Z0J5QUlhMEdDUEd4cUlnZ2dEa0d6Rkd4cWFpSU9JQThnRFNBR1FjdE1iR3BxSWcxcVFRdDFOZ0tBQVNBRklBMGdEbXRCQzNVMkFvQUNJQVVnQ0NBSFFjNFliR29nQzBHL2tIOXNhaUlJSUJnZ0dpQUdRZTZ2ZjJ4cWFpSUhha0VMZFRZQ29BRWdCU0FISUFoclFRdDFOZ0xnQVNBRklCRWdDaUFHYTBIQjJnQnNha0VMZFRZQ3dBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnREVFQmFpSU1RUWhIRFFBTElCeEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0VDSU1JQUFvQWhnaUNHb2hDeUFBS0FJRUlnY2dBQ2dDRENJR2FrSFExQUJzSVFvZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pRFNBTUlBaHJJaEZCbVFac2FpSUpJQXRCK2NrQWJDSVFJQUFvQWdnaURFSHgxd0JzYW1vaUR5QUhJQUFvQWh3aURtb2lFa0dDUEd3aUV5QUhJQUFvQWhRaUNHcEJ2c29BYkNJWElBb2dCMEhiL241c2FtcHFJaFJxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0ZHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdEU0FSUVpVZmJHb2lEeUFNUWVEREFHd2dDMEdnRkd3aUZHdHFJaFVnQmlBT2FrSEN0WDlzSWhZZ0JpQUlha0dyYW13aUdDQUtJQVpCeXpWc2FtcHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJVZ0NtdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDU0FNUVl3Z2JDQVFhMm9pQ2lBSUlBNXFRZmhWYkNJSklCY2dHQ0FJUWJHYmYyeHFhbW9pRUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NpQVFhMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFOSUJGQmdrUnNhaUlLSUF4QmpIVnNJQXRCOGh0c0lndHJhaUlRSUJNZ0ZpQU9RWlNOQVd4cWFpQUphaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBUUlBbHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQW9nQ3lBTVFjdE1iR3BxSWdzZ0JrR1dZbXdnRWtIVkZXd2dDQ0FHYTBHQ1BHeHFJZ1lnQjBHekZHeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTElBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQThnRkNBTVFlNnZmMnhxYWlJSElBWWdDRUhPR0d4cUlBNUJ2NUIvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQlNBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCRWdER3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUTFIRFFBTElCa2tCZ3ZDQ2dFWmZ5TUdJUm9qQmtIQUEyb2tCaUFBS0FMUUFpRWRJQm9pQUNFRklBRW9BbFFoQVFOQUlBSXVBWEFnQVNnQzRBRnNJaFpCRFhRaUNTQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2lERUhTekFCc0loRWdCaUFDTGdFd0lBRW9BbUJzSWdwcVFiZlZBR3dpRWlBR1FmQzNmMnhxYW1vaEN5QUdJQXBySWhOQjhoMXNJQWxySWhnZ0RFR1VNR3dpRnlBR1FZdThmMnhxYWlFUUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSU1RY2JSQUd4cUloUWdBaTRCSUNBQlFVQnJLQUlBYkNJTklBSXVBV0FnQVNnQ3dBRnNJZzVxUWVMR0FHd2lGU0FOUWIwUmJHb2lHMm9pR1NBTGFrRUxkVFlDQUNBRklCa2dDMnRCQzNVMkFxQURJQVVnQnlBS2FrSHZkV3dnQ1dzaUN5QUtRZTVrYkNBU2Ftb2lFaUFHSUF4QmtoUnNhaUlaSUJVZ0RrSDhrWDlzYWlJVmFpSWNha0VMZFRZQ0lDQUZJQndnRW10QkMzVTJBb0FESUFWQlFHc2dDeUFIUVlub2Ztd2dFV3BxSWdzZ0JpQU1RY2xIYkdvaUVTQU5RYU1uYkNBT1FlR25mMnhxSWcxcUlnNXFRUXQxTmdJQUlBVWdEaUFMYTBFTGRUWUM0QUlnQlNBVElBZHJJQlpxUVFKMElnc2dCaUFNUWI2bGYyeHFRUXQxSWdacU5nSmdJQVVnQmlBTGF6WUN3QUlnQlNBSElBcHJRZmpaQUd3aUJpQUhRZWFUZjJ4cUlCZHFJQWxxSWdjZ0VTQU5heUlKYWtFTGRUWUNnQUVnQlNBSklBZHJRUXQxTmdLZ0FpQUZJQVlnQ2tHWksyeHFJQmhxSWdjZ0dTQVZheUlLYWtFTGRUWUNvQUVnQlNBS0lBZHJRUXQxTmdLQUFpQUZJQlFnRzJzaUJ5QVFha0VMZFRZQ3dBRWdCU0FISUJCclFRdDFOZ0xnQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUlRUUZxSWdoQkNFY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUljUVExMElnb2dBQ2dDQkNJRklBQW9BaFFpQ0dvaUJrSFN6QUJzSWc0Z0JTQUFLQUlNSWdkcVFiZlZBR3dpRHlBRlFmQzNmMnhxYW1vaERDQUZJQWRySWhGQjhoMXNJQXBySWhJZ0JrR1VNR3dpRmlBRlFZdThmMnhxYWlFTElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFQ0lKUWNiUkFHeHFJaGNnQUNnQ0NDSVFJQUFvQWhnaURXcEI0c1lBYkNJVElCQkJ2UkZzYWlJWWFpSVVJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJRZ0RHdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCaUFKUVpJVWJHb2lEQ0FUSUExQi9KRi9iR29pRTJvaUZDQUhJQWhxUWU5MWJDQUtheUlWSUE4Z0IwSHVaR3hxYWlJUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVVJQTlyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUFZZ0NVSEpSMnhxSWc4Z0VFR2pKMndnRFVIaHAzOXNhaUlRYWlJTklCVWdEaUFJUVlub2ZteHFhaUlPYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBNXJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQVlnQ1VHK3BYOXNhaUlHSUFvZ0VTQUlhMEVOZEdvaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBUElCQnJJZ1lnRmlBSUlBZHJRZmpaQUd3aUNTQUtJQWhCNXBOL2JHcHFhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBR0lBaHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQXdnRTJzaUNDQVNJQWtnQjBHWksyeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSUlBZHJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQmNnR0dzaUNDQUxha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFJSUF0clFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRU9SdzBBQ3lBYUpBWUxuZ3NCRzM4akJpRWRJd1pCNEFOcUpBWWdBQ2dDMEFJaEh5QWRJZ0FoQlNBQktBSlVJUUVEUUNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJTElBSXVBV0FnQVNnQ3dBRnNJZ2hCaEdSc2FpRVJJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNRVUJyTGdFQUlBRW9Bb0FCYkNJVGF5RUhJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCY0NBQktBTGdBV3dpRFdzaUZtcEJtalZzSWhjZ0JrSHhJR3hxSVFrZ0FTZ0NvQUVnQWk0QlVFR3h6Z0JzYkNJT0lBWWdEV3NpR0VHQzJnQnNhaUlQSUExQm81MEJiQ0FLUWZhcGYyd2lHV3RxSVJJZ0R5QUtRZVpLYkNJYUlBWkI1N2gvYkdwcUlRb2dCU0FTSUFzZ0NFR2R5UUJzYWlJUElBd2dFMm9pRTBITzFRQnNJaFFnQjBIMkFtd2lHMnBxSWh4cVFRdDFOZ0lBSUFVZ0hDQVNhMEVMZFRZQ3dBTWdCU0FSSUJOQnpESnNJaElnQjBIUUZtd2lIR3BxSWg0Z0NXcEJDM1UyQWlBZ0JTQWVJQWxyUVF0MU5nS2dBeUFGUVVCcklCaEJzYzRBYkNBT2F5SUpJQXNnQ0VHK3BYOXNhaUlMSUFkQm9DMXNhaUlJYWtFTGRUWUNBQ0FGSUFnZ0NXdEJDM1UyQW9BRElBVWdCaUFOYWtIb0pHd2lDQ0FHUWJrZWJDQWFhaUFPYTJvaUJpQVJJQnNnREVHVDNBQnNJZ3dnRkd0cWFpSUpha0VMZFRZQ1lDQUZJQWtnQm10QkMzVTJBdUFDSUFVZ0hDQVBJQkpyYWlJR0lCY2dGa0hjOUg1c2FpSUpha0VMZFRZQ2dBRWdCU0FHSUFsclFRdDFOZ0xBQWlBRklBZ2dEaUFaYWlBTlFhOUliR3BxSWdZZ0IwRzVabXdpRFNBUElCTkJnaU5zSWc1cmFpSUlha0VMZFRZQ29BRWdCU0FJSUFaclFRdDFOZ0tnQWlBRklBb2dFU0FOSUE0Z0RHdHFhaUlHYWtFTGRUWUN3QUVnQlNBR0lBcHJRUXQxTmdLQUFpQUZJQXNnQjBIQXBYOXNha0VMZFRZQzRBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnRUVFQmFpSVFRUWhIRFFBTElCOUJnSDFxSVFKQkFDRUJBMEFnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEaUFBS0FJWUlndEJoR1JzYWlFTklBQW9BZ2dpQ0NBQUtBSVFJZzlySVJBZ0FDZ0NCQ0lISUFBb0Fnd2lCU0FBS0FJY0lnWnJJaE5xUVpvMWJDSVZJQWRCOFNCc2FpRU1JQUFvQWhSQnNjNEFiQ0lSSUFjZ0Jtc2lGa0dDMmdCc2FpSUpJQVpCbzUwQmJDQUZRZmFwZjJ3aUYydHFJUW9nQ1NBRlFlWktiQ0lZSUFkQjU3aC9iR3BxSVFrZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0RpQUxRWjNKQUd4cUloSWdDQ0FQYWlJUFFjN1ZBR3dpR1NBUVFmWUNiQ0lhYW1vaUZDQUtha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFVSUFwclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBMGdEMEhNTW13aUNpQVFRZEFXYkNJVWFtb2lHeUFNYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBYklBeHJRUkoyUWY4SGNXb3NBQUE2QUEwZ0JTQUNJQTRnQzBHK3BYOXNhaUlPSUJCQm9DMXNhaUlMSUJaQnNjNEFiQ0FSYXlJTWFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQXhyUVJKMlFmOEhjV29zQUFBNkFBd2dCU0FDSUEwZ0dpQUlRWlBjQUd3aUN5QVphMnBxSWdnZ0JpQUhha0hvSkd3aURDQVlJQWRCdVI1c2FpQVJhMm9pQjJwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NDQUhhMEVTZGtIL0IzRnFMQUFBT2dBTElBVWdBaUFVSUJJZ0NtdHFJZ2NnRlNBVFFkejBmbXhxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRUVHNVptd2lCeUFTSUE5QmdpTnNJZ2hyYWlJS0lBd2dFU0FYYWlBR1FhOUliR3BxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBb2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBSElBZ2dDMnRxYWlJSElBbHFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0RpQVFRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQWNnQUVFZ2FpRUFJQUZCQVdvaUFVRVBSdzBBQ3lBZEpBWUwyd3dCSG44akJpRWdJd1pCZ0FScUpBWWdBQ2dDMEFJaElpQWdJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRWdJQUZCUUdzb0FnQnNJaEFnQWk0QllDQUJLQUxBQVd3aUQyc2lFVUhVRVd3aERDQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUIyb2hDaUFHSUFJdUFYQWdBU2dDNEFGc0lnMXFRZnpGQUd3aUZ5QUtRZW5QQUd3aUV5QUdJQUl1QVRBZ0FTZ0NZR3dpQ0dwQnp0WUFiQ0lMSUFaQjF1MStiR3BxYWlFT0lBWWdEV3RCdGpsc0loa2dDa0hWS213aUdDQUdJQWhyUWFNYWJDSVNJQVpCd29wL2JHcHFhaUVLSUFnZ0RXb2lCa0dyVld3aUdpQUhJQWhxUWZBSWJDSVVJQWhCelFSc0lBdHFhbW9oQ3lBR1FaZXdmMndpR3lBSElBaHJRWW5hQUd3aUhDQUlRWnIrQUd3Z0VtcHFhaUVJSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJU1FjL1RBR3dpSFdvaUZTQVJRZVBZQUd3aUVTQVBRWU9rQVd4cUloNXFJaDhnRG1wQkMzVTJBZ0FnQlNBZklBNXJRUXQxTmdMZ0F5QUZJQXNnQmlBU1FkRWliQ0lPYWlJU0lBd2dFRUhOT1d4cUloOXFJaUZxUVF0MU5nSWdJQVVnSVNBTGEwRUxkVFlDd0FNZ0JVRkFheUFISUExcVFiS3BmMndpQ3lBVUlBZEIrcmQvYkdvZ0UycHFJaE1nQmlBT2F5SU9JQkVnRUVIQ1dXeHFJaEJxSWhGcVFRdDFOZ0lBSUFVZ0VTQVRhMEVMZFRZQ29BTWdCU0FhSUExQm1NUUFiR29nRjJvZ0Myb2lDeUFHSUIxcklnWWdEQ0FQUWJCZmJHb2lEMm9pREdwQkMzVTJBbUFnQlNBTUlBdHJRUXQxTmdLQUF5QUZJQnNnRFVHRnlRRnNhaUFaYWlBTklBZHJRYU1hYkNJTmFpSU1JQVlnRDJzaUJtcEJDM1UyQW9BQklBVWdCaUFNYTBFTGRUWUM0QUlnQlNBY0lBZEIrazVzYWlBWWFpQU5haUlHSUE0Z0VHc2lCMnBCQzNVMkFxQUJJQVVnQnlBR2EwRUxkVFlDd0FJZ0JTQUlJQklnSDJzaUJtcEJDM1UyQXNBQklBVWdCaUFJYTBFTGRUWUNvQUlnQlNBS0lCVWdIbXNpQm1wQkMzVTJBdUFCSUFVZ0JpQUthMEVMZFRZQ2dBSWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUWhIRFFBTElDSkJnSDFxSVFKQkFDRUJBMEFnQUNnQ0NDSU5JQUFvQWhnaUNHc2lDMEhVRVd3aEVDQUFLQUlFSWdVZ0FDZ0NGQ0lKYWlFUElBVWdBQ2dDSENJR2FrSDh4UUJzSWhZZ0QwSHB6d0JzSWhFZ0JTQUFLQUlNSWdkcVFjN1dBR3dpQ2lBRlFkYnRmbXhxYW1vaERDQUZJQVpyUWJZNWJDSVhJQTlCMVNwc0loTWdCU0FIYTBHakdtd2lEaUFGUWNLS2YyeHFhbW9oRHlBR0lBZHFJZ1ZCcTFWc0loZ2dCeUFKYWtId0NHd2lFaUFLSUFkQnpRUnNhbXBxSVFvZ0JVR1hzSDlzSWhrZ0NTQUhhMEdKMmdCc0lob2dEaUFIUVpyK0FHeHFhbW9oRGlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlGRUhQMHdCc0lodHFJaHdnQzBIajJBQnNJZ3NnQ0VHRHBBRnNhaUlkYWlJVklBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlVnREd0QkVuWkIvd2R4YWl3QUFEb0FEeUFGSUFJZ0J5QVVRZEVpYkNJTWFpSVVJQkFnRFVITk9XeHFJaFZxSWg0Z0NtcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdIaUFLYTBFU2RrSC9CM0ZxTEFBQU9nQU9JQVVnQWlBSElBeHJJZ3dnQ3lBTlFjSlpiR29pRFdvaUNpQUdJQWxxUWJLcGYyd2lDeUFSSUJJZ0NVSDZ0MzlzYW1wcUloRnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQW9nRVd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0J5QWJheUlISUJBZ0NFR3dYMnhxSWdocUloQWdGaUFZSUFaQm1NUUFiR3BxSUF0cUlncHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQkFnQ210QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUlheUlISUJjZ0dTQUdRWVhKQVd4cWFpQUdJQWxyUWFNYWJDSUdhaUlJYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBaHJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQXdnRFdzaUJ5QVRJQm9nQ1VINlRteHFhaUFHYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUJRZ0ZXc2lDU0FPYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSklBNXJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQndnSFdzaUNTQVBha0VTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFKSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBZ0pBWUw3Z3NCSEg4akJpRVhJd1pCZ0FKcUpBWWdBQ2dDMEFJaElDQVhJZ0FoQlNBQktBSlVJUUZCQ0NFSUEwQUNmd0pBSUFJdUFSQWlDaUFDTGdFZ0lnWnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VHREFJRklBSkJRR3N1QVFBRWYwRUFJUVlNQXdVZ0FpNEJVQVIvUVFBaEJnd0VCU0FDTGdGZ0JIOUJBQ0VHREFVRklBSXVBWEFFZjBFQUlRWU1CZ1VnQlNBQktBSUFJQUl1QVFCQkFuUnNJZ1kyQWdBZ0JTQUdOZ0lnSUFWQlFHc2dCallDQUNBRklBWTJBbUFnQlNBR05nS0FBU0FGSUFZMkFxQUJJQVVnQmpZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFDTGdGd0lBRW9BdUFCYkNJSElBSXVBVEFnQVNnQ1lHd2lEV29pQ3lBQ0xnRlFJQUVvQXFBQmJDSU1JQW9nQVNnQ0lHd2lDbW9pQ1dwQm9jc0FiQ0lQSUF0QnU0Si9iR29pQ3lBSElBcHFRYk5HYkNJT0lBZEJqaE5zYW1vaEJ5QVBJQWxCaEdkc2FpSUpJQTRnQ2tHTDRBQnNhbW9oQ2lBSklBd2dEV3BCL2R0K2JDSUpJQXhCczRNQmJHcHFJUXdnQlNBS0lBRW9Bb0FCSUFKQlFHc3VBUUJCRFhSc0lnOGdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlEbW9pRWlBQlFVQnJLQUlBSUFaQkVIUkJFSFZzSWdZZ0FpNEJZQ0FCS0FMQUFXd2lFV3BCMFNKc0loTWdCa0grTUd4cUlnWnFJaFJxUVF0MU5nSUFJQVVnRkNBS2EwRUxkVFlDNEFFZ0JTQUxJQWtnRFVIVXhBRnNhbW9pRFNBT0lBOXJJZ29nRXlBUlFkK0pmMnhxSWd0cUlnbHFRUXQxTmdJZ0lBVWdDU0FOYTBFTGRUWUN3QUVnQlVGQWF5QU1JQW9nQzJzaURXcEJDM1UyQWdBZ0JTQU5JQXhyUVF0MU5nS2dBU0FGSUFjZ0VpQUdheUlHYWtFTGRUWUNZQ0FHSUFkclFRdDFJUVpCSUF0QkFuUWdCV29nQmpZQ0FDQUZRUVJxSVFVZ0FVRUVhaUVCSUFKQkFtb2hBaUFJUVg5cUlRWWdDRUVCU3dSQUlBWWhDQXdCQ3dzZ0lFR0FmV29oQWtFQUlRRURRQ0FBS0FJSUlnMGdBQ2dDR0NJTWF5SU9RZFFSYkNFS0lBQW9BZ1FpQlNBQUtBSVVJZ2hxSVJBZ0JTQUFLQUljSWdacVFmekZBR3dpRWlBUVFlblBBR3dpRVNBRklBQW9BZ3dpQjJwQnp0WUFiQ0lKSUFWQjF1MStiR3BxYWlFTElBVWdCbXRCdGpsc0loTWdFRUhWS213aUZDQUZJQWRyUWFNYWJDSVBJQVZCd29wL2JHcHFhaUVRSUFZZ0Iyb2lCVUdyVld3aUdDQUhJQWhxUWZBSWJDSVpJQWtnQjBITkJHeHFhbW9oQ1NBRlFaZXdmMndpR2lBSUlBZHJRWW5hQUd3aUd5QVBJQWRCbXY0QWJHcHFhaUVQSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ2NnQUNnQ0VDSVZRYy9UQUd3aUhHb2lIU0FPUWVQWUFHd2lEaUFNUVlPa0FXeHFJaDVxSWhZZ0MycEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGaUFMYTBFU2RrSC9CM0ZxTEFBQU9nQVBJQVVnQWlBSElCVkIwU0pzSWd0cUloVWdDaUFOUWMwNWJHb2lGbW9pSHlBSmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWZJQWxyUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUFjZ0Myc2lDeUFPSUExQndsbHNhaUlOYWlJSklBWWdDR3BCc3FsL2JDSU9JQkVnR1NBSVFmcTNmMnhxYW1vaUVXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDU0FSYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElCeHJJZ2NnQ2lBTVFiQmZiR29pREdvaUNpQVNJQmdnQmtHWXhBQnNhbW9nRG1vaUNXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDaUFKYTBFU2RrSC9CM0ZxTEFBQU9nQU1JQVVnQWlBSElBeHJJZ2NnRXlBYUlBWkJoY2tCYkdwcUlBWWdDR3RCb3hwc0lnWnFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0RHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdDeUFOYXlJSElCUWdHeUFJUWZwT2JHcHFJQVpxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBY2dDR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnRlNBV2F5SUlJQTlxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFnZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdIU0FlYXlJSUlCQnFRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnRUd0QkVuWkIvd2R4YWl3QUFEb0FDQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJja0JndlRFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFGQkFoQTVJUXdnQWtFQ0VEa2hEaUFFS0FJQUlnY2hBaUFNSUE1QmYyb2lFR3hCQVhRZ0Iyb2hCUU5BSUFZZ0RFZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQmtFQmFpRUdEQUVMQ3lBSElRSWdERUYvYWlJUlFRRjBJQWRxSVFWQkFDRUdBMEFnQmlBT1NBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RFRUJkQ0FDYWlFQ0lBeEJBWFFnQldvaEJTQUdRUUZxSVFZTUFRc0xJQVJCa0lESUFHb2hBa0VBSUF4cklSSWdBQ0FCUVFGMFFRSnFhaUVOUVFFaEMwRUFJUVVnREVFQmFrRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBQWtBZ0VrRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFMTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nQ3pZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTElBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUN5QU5RUUpxSVEwZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU5ha0VFYWlFTklBdEJBV29oQ3lBQUlRVWdCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJR1JnUkFJQUJCQVdvaEFRVWdBQ0VCSUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRERZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEallDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF2YUNBRVdmeU1HSVJnakJrSGdBV29rQmlBQUtBTFFBaUVhSUJnaUFDRUZJQUVvQWxRaEFRTkFJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZ2dBaTRCWUNBQktBTEFBV3dpQ1d0QnR6aHNJZ3dnQWk0QklDQUJRVUJyS0FJQWJDSUhJQWhyUVpJVWJDSVNJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ29nQ0VHVmluOXNhbXBxSVEwZ0FpNEJFQ0FCS0FJZ2JDSU9JQUl1QVRBZ0FTZ0NZR3dpQzJwQjd6dHNJaE1nRGlBTGEwSHpDbXdpRkdvZ0N5QUNMZ0ZRSUFFb0FxQUJiQ0lMYWtIaHAzOXNJaFZxSVE4Z0JTQUtJQWNnQ1dvaUVVSEcwUUJzYWlJV0lBd2dDVUdEZTJ4cWFpSUpJQXNnRG1wQm95ZHNJZzRnRXlBVWEyb2lER3BCQzNVMkFnQWdCU0FKSUF4clFRdDFOZ0xBQVNBRklBMGdEMnBCQzNVMkFpQWdCU0FOSUE5clFRdDFOZ0tnQVNBRlFVQnJJQllnRWlBSFFmSGhmbXhxYWlJSklCVWdEaUFMUWQ3M0FHeHFhaUlIYWtFTGRUWUNBQ0FGSUFrZ0IydEJDM1UyQW9BQklBVWdDaUFJSUJGclFjSGFBR3hxUVF0MU5nSmdJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFaQkFXb2lCa0VJUncwQUN5QWFRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoeEJEWFFpQ1NBQUtBSUVJZ1VnQUNnQ0ZDSUdhaUlIUWRMTUFHd2lFQ0FGSUFBb0Fnd2lDR3BCdDlVQWJDSU1JQVZCOExkL2JHcHFhaUVOSUFVZ0NHc2lFMEh5SFd3Z0NXc2lGQ0FIUVpRd2JDSVNJQVZCaTd4L2JHcHFJUTRnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUUlncEJ4dEVBYkdvaUZTQUFLQUlJSWdzZ0FDZ0NHQ0lQYWtIaXhnQnNJaEVnQzBHOUVXeHFJaFpxSWhjZ0RXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdGeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQU5JQVVnQWlBSElBcEJraFJzYWlJTklCRWdEMEg4a1g5c2FpSVJhaUlYSUFZZ0NHcEI3M1ZzSUFsckloa2dEQ0FJUWU1a2JHcHFJZ3hxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUJjZ0RHdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFLUWNsSGJHb2lEQ0FMUWFNbmJDQVBRZUduZjJ4cUlndHFJZzhnR1NBUUlBWkJpZWgrYkdwcUloQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQThnRUd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0J5QUtRYjZsZjJ4cUlnY2dDU0FUSUFaclFRMTBhaUlLYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSElBcHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQXdnQzJzaUJ5QVNJQVlnQ0d0QitOa0FiQ0lLSUFrZ0JrSG1rMzlzYW1wcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQVJheUlHSUJRZ0NpQUlRWmtyYkdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQVlnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDQ0FGSUFJZ0ZTQVdheUlHSUE1cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBWWdEbXRCRW5aQi93ZHhhaXdBQURvQUJ5QUFRU0JxSVFBZ0FVRUJhaUlCUVFkSERRQUxJQmdrQmd1UkJ3RVZmeU1HSVJRakJrSEFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ0NBQktBS0FBU0FDUVVCckxnRUFRYUV0Ykd3aURHb2lEU0FCUVVCcktBSUFJQUl1QVNCQnNjNEFiR3dpRVdvaUNpQUNMZ0VRSUFFb0FpQnNJZ1lnQWk0QlVDQUJLQUtnQVd3aUMycEJ0aGRzSWc0Z0JpQUNMZ0V3SUFFb0FtQnNJZ2RxUVExMGFpSVNha0VMZFRZQ0FDQUZJQW9nRW10QkMzVTJBcUFCSUFVZ0NDQU1RWDVzYWtFTGRTSUlJQVlnQjJzZ0MydEJBblFpQm1vMkFpQWdCU0FJSUFack5nS0FBU0FGUVVCcklBMGdFV3NpQmlBT0lBc2dCMnRCRFhScUlndHFRUXQxTmdJQUlBVWdCaUFMYTBFTGRUWUNZQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSlFRRnFJZ2xCQ0VjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlHSUFBb0FoQkJzYzRBYkNJT2FpRVFJQUFvQWdnaUNFRU5kQ0FBS0FJWVFRMTBJZ3hySWhJZ0Jtb2hEU0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdEQ0FJUWJiWEFHeHFJaFVnRUdvaUR5QUFLQUljSWdrZ0FDZ0NCQ0lMSUFBb0FoUWlCMm9pQ21wQmpUZHNJaEVnQ2tIYkVHeHFJaFlnQUNnQ0RDSUtRYy9UQUd3aUZ5QUxRZmNSYkdwcUloTnFRUkoyUWY4SGNTQUNhaXdBQURvQUFDQUZJQThnRTJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FMSUFVZ0RTQUxJQWxySWc4Z0NpQUhheUlUYWtIUkltd2lHQ0FQUWY0d2JHb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUJJQVVnRFNBUGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFvZ0JTQUlRYllYYkNBTWF5SUlJQVlnRG1zaURHb2lEU0FXSUFjZ0NXcEJpNzEvYkNJT0lBcEJyMTFzSWdvZ0IwR3dvWDlzYW1wcUlnZHFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQTBnQjJ0QkVuWkIvd2R4SUFKcUxBQUFPZ0FKSUFVZ0RDQUlheUlISUE0Z0VTQUpRY2JsQUd3Z0YydHFhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSElBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUNDQUZJQVlnRW1zaUJpQVlJQk5CMzRsL2JHb2lCMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUVJQVVnQmlBSGEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFjZ0JTQVFJQlZySWdZZ0VTQUtJQXRCM0ZSc2FpQUpRWXlCZjJ4cWFpSUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBVWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBQVFTQnFJUUFnQVVFQmFpSUJRUVpIRFFBTElCUWtCZ3VjQmdFU2Z5TUdJUlFqQmtHZ0FXb2tCaUFBS0FMUUFpRVdJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBaTRCSUNBQlFVQnJLQUlBYkNJSklBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdacVFjd3liQ0lLSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWc0Z0NTQUdheUlKUWRBV2JHb2lCbW9pQ3lBQ0xnRVFJQUVvQWlCc0lnd2dBaTRCTUNBQktBSmdiQ0lQYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER3BCQzNVMkFnQWdCU0FMSUF4clFRdDFOZ0tBQVNBRklBWWdDbXNpQmlBTklBOUIzUFIrYkdvaUNtcEJDM1UyQWlBZ0JTQUdJQXByUVF0MU5nSmdJQVZCUUdzZ0RpQUpRY0NsZjJ4cVFRdDFOZ0lBSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBZEJBV29pQjBFSVJ3MEFDeUFXUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ3dpQnlBQUtBSWNJZ1pxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFBb0FoUkJEWFFpQ1NBSElBWnJJZ1pCNHhOc0lndHFJZ3dnQ0VIdlBHd2lEeUFBS0FJRUlnZEJzOWtBYkdwcUlnMGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUNpQUFLQUlRSWc1Qm5ja0FiR29pRlNBQUtBSUlJaEFnQUNnQ0dDSVJha0dhTld3aUVpQVFRZkVnYkdvaUVHb2lFMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRXlBTmEwRVNka0gvQjNFZ0Ftb3NBQUE2QUFrZ0JTQUhRZFBRQUd3Z0NFSFBKV3dpQ0dzZ0NTQUxheUFHUVF4MGF5SUxheUlOSUFvZ0RrR0VaR3hxSWhNZ0VpQVJRZHowZm14cUloRnFJaEpxUVJKMlFmOEhjU0FDYWl3QUFEb0FBU0FGSUJJZ0RXdEJFblpCL3dkeElBSnFMQUFBT2dBSUlBVWdCeUFHYTBFTmRDQUpheUlKSUFvZ0RrRytwWDlzYWlJR2FrRVNka0gvQjNFZ0Ftb3NBQUE2QUFJZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCeUFGSUJNZ0VXc2lDU0FMSUFkQmpDbHNJQWhyYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUpJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFGSUF3Z0IwR1VEbXdnRDJ0cUlnY2dGU0FRYXlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFRZ0JTQUlJQWRyUVJKMlFmOEhjU0FDYWl3QUFEb0FCU0FBUVNCcUlRQWdBVUVCYWlJQlFRVkhEUUFMSUJRa0JndkJEQUVRZnlNR0lRNGpCa0dBQVdva0JpQUFLQUxRQWlFVUlBNGlBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHd2lCU0FDTGdFZ0lBRkJRR3NvQWdCc0lnZHFRUUowSWdnZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVRBZ0FTZ0NZR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQUNBQUlBZ2dCbXMyQW1BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWdJQUJCUUdzZ0JTQUhhellDQUNBQUlBSXVBUUlnQVNnQ0JHd2lCU0FDTGdFaUlBRW9Ba1JzSWdkcVFRSjBJZ2dnQWk0QkVpQUJLQUlrYkNJR0lBSXVBVElnQVNnQ1pHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNCQ0FBSUFnZ0JtczJBbVFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJa0lBQWdCU0FIYXpZQ1JDQUFJQUl1QVFRZ0FTZ0NDR3dpQlNBQ0xnRWtJQUVvQWtoc0lnZHFRUUowSWdnZ0FpNEJGQ0FCS0FJb2JDSUdJQUl1QVRRZ0FTZ0NhR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQ0NBQUlBZ2dCbXMyQW1nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSW9JQUFnQlNBSGF6WUNTQ0FBSUFJdUFRWWdBU2dDREd3aUJTQUNMZ0VtSUFFb0FreHNJZ2RxUVFKMElnZ2dBaTRCRmlBQktBSXNiQ0lHSUFJdUFUWWdBU2dDYkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0RDQUFJQWdnQm1zMkFtd2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lzSUFBZ0JTQUhhellDVENBQUlBSXVBUWdnQVNnQ0VHd2lCU0FDTGdFb0lBRW9BbEJzSWdkcVFRSjBJZ2dnQWk0QkdDQUJLQUl3YkNJR0lBSXVBVGdnQVNnQ2NHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNFQ0FBSUFnZ0JtczJBbkFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJd0lBQWdCU0FIYXpZQ1VDQUFJQUl1QVFvZ0FTZ0NGR3dpQlNBQ0xnRXFJQUVvQWxSc0lnZHFRUUowSWdnZ0FpNEJHaUFCS0FJMGJDSUdJQUl1QVRvZ0FTZ0NkR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRkNBQUlBZ2dCbXMyQW5RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTBJQUFnQlNBSGF6WUNWQ0FBSUFJdUFRd2dBU2dDR0d3aUJTQUNMZ0VzSUFFb0FsaHNJZ2RxUVFKMElnZ2dBaTRCSENBQktBSTRiQ0lHSUFJdUFUd2dBU2dDZUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0dDQUFJQWdnQm1zMkFuZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0k0SUFBZ0JTQUhhellDV0NBQUlBSXVBUTRnQVNnQ0hHd2lCU0FDTGdFdUlBRW9BbHhzSWdkcVFRSjBJZ2dnQWk0QkhpQUJLQUk4YkNJR0lBSXVBVDRnQVNnQ2ZHd2lBV3BCMFNKc1FZQUlhaUlDSUFaQi9qQnNha0VMZFNJR2FqWUNIQ0FBSUFnZ0JtczJBbndnQUNBRklBZHJRUUowSWdVZ0FpQUJRZCtKZjJ4cVFRdDFJZ0ZxTmdJOElBQWdCU0FCYXpZQ1hDQVVRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lDeUFBS0FJTUlnVnFJZ1lnQUNnQ0ZDSUhJQUFvQWdRaUNHb2lDbXBCb2NzQWJDSUpJQVpCdTRKL2JHb2lEeUFJSUF0cVFiTkdiQ0lNSUF0QmpoTnNhbW9oQmlBSklBcEJoR2RzYWlJTElBd2dDRUdMNEFCc2Ftb2hDQ0FMSUFVZ0IycEIvZHQrYkNJS0lBZEJzNE1CYkdwcUlRY2dCQ0FCUVFKMElBTnFLQUlBYWlJTElBSWdBQ2dDQUVHUWdBRnFJZ2tnQUNnQ0VDSU1ha0VOZENJUUlBQW9BZ2dpRFNBQUtBSVlJaEZxUWRFaWJDSVNJQTFCL2pCc2FpSU5haUlUSUFocVFSSjJRZjhIY1dvc0FBQTZBQUFnQ3lBQ0lCTWdDR3RCRW5aQi93ZHhhaXdBQURvQUJ5QUxJQUlnQ1NBTWEwRU5kQ0lJSUJJZ0VVSGZpWDlzYWlJSmFpSU1JQThnQ2lBRlFkVEVBV3hxYWlJRmFrRVNka0gvQjNGcUxBQUFPZ0FCSUFzZ0FpQU1JQVZyUVJKMlFmOEhjV29zQUFBNkFBWWdDeUFDSUFnZ0NXc2lCU0FIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQXNnQWlBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFVZ0N5QUNJQkFnRFdzaUJTQUdha0VTZGtIL0IzRnFMQUFBT2dBRElBc2dBaUFGSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUVSdzBBQ3lBT0pBWUwrUW9CQzM4akJpRUZJd1pCMEFCcUpBWWdBQ2dDMEFJaEN5QUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUlhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRUWUNBQ0FGSUFFZ0FHdEJDM1UyQWpBZ0JTQUhJQWhCZm14cVFRdDFOZ0lZSUFVZ0JpZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUJ5QUdLQUpFSUFJdUFTSkJvUzFzYkNJSWFpSUJJQVlvQWlRZ0FpNEJFa0d4emdCc2JDSUFha0VMZFRZQ0JDQUZJQUVnQUd0QkMzVTJBalFnQlNBSElBaEJmbXhxUVF0MU5nSWNJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQnlBR0tBSklJQUl1QVNSQm9TMXNiQ0lJYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkVFlDQ0NBRklBRWdBR3RCQzNVMkFqZ2dCU0FISUFoQmZteHFRUXQxTmdJZ0lBVWdCaWdDRENBQ0xnRUdRUTEwYkVHQUNISWlCeUFHS0FKTUlBSXVBU1pCb1Mxc2JDSUlhaUlCSUFZb0Fpd2dBaTRCRmtHeHpnQnNiQ0lBYWtFTGRUWUNEQ0FGSUFFZ0FHdEJDM1UyQWp3Z0JTQUhJQWhCZm14cVFRdDFOZ0lrSUFVZ0JpZ0NFQ0FDTGdFSVFRMTBiRUdBQ0hJaUJ5QUdLQUpRSUFJdUFTaEJvUzFzYkNJSWFpSUJJQVlvQWpBZ0FpNEJHRUd4emdCc2JDSUFha0VMZFRZQ0VDQUZRVUJySUFFZ0FHdEJDM1UyQWdBZ0JTQUhJQWhCZm14cVFRdDFOZ0lvSUFVZ0JpZ0NGQ0FDTGdFS1FRMTBiRUdBQ0hJaUJ5QUdLQUpVSUFJdUFTcEJvUzFzYkNJSWFpSUJJQVlvQWpRZ0FpNEJHa0d4emdCc2JDSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBa1FnQlNBSElBaEJmbXhxUVF0MUlnODJBaXdnQkNBREtBSUFhaUlPSUF0QmdIMXFJZ2tnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lDeUFGS0FJUVFhRXRiQ0lNYWlJSElBVW9BZ2hCc2M0QWJDSUlhaUlCSUFVb0FnUWlDaUFGS0FJVUlnMXFRYllYYkNJQ0lBb2dCU2dDRENJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FPSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBNGdDU0FMSUF4cklBeHJJZ0VnQ2lBR2F5QU5hMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUE0Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEaUFKSUFjZ0NHc2lBU0FDSUEwZ0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRGlBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdScUlnd2dDU0FGS0FJWVFRMTBRWUNBaU1BQWFpSUxJQVVvQWloQm9TMXNJZ3BxSWdjZ0JTZ0NJRUd4emdCc0lnaHFJZ0VnRHlBRktBSWNJZzFxUWJZWGJDSUNJQTBnQlNnQ0pDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBTUlBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQXdnQ1NBTElBcHJJQXBySWdFZ0RTQUdheUFQYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBd2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRENBSklBY2dDR3NpQVNBQ0lBOGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RDQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnaHFJZ29nQ1NBRktBSXdRUTEwUVlDQWlNQUFhaUlJSUFWQlFHc29BZ0JCb1Mxc0lnMXFJZ1FnQlNnQ09FR3h6Z0JzSWdOcUlnRWdCU2dDTkNJR0lBVW9Ba1FpQzJwQnRoZHNJZ0lnQmlBRktBSThJZ2RxUVExMGFpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBb2dDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVVnQ2lBSklBZ2dEV3NnRFdzaUFTQUdJQWRySUF0clFRMTBJZ0JxUVJKMlFmOEhjV29zQUFBNkFBRWdDaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBS0lBa2dCQ0FEYXlJQklBSWdDeUFIYTBFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFpQUtJQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FESUFVa0JndUxCQUVLZnlNR0lRVWpCa0VnYWlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlCaWdDQUd3aUFTQUNMZ0VRSUFZb0FpQnNJZ0JxSWdnMkFnQWdCU0FCSUFCck5nSVFJQVVnQWk0QkFpQUdLQUlFYkNJQklBSXVBUklnQmlnQ0pHd2lBR29pQ2pZQ0JDQUZJQUVnQUdzaUN6WUNGQ0FGSUFJdUFRUWdCaWdDQ0d3aUFTQUNMZ0VVSUFZb0FpaHNJZ0JxSWd3MkFnZ2dCU0FCSUFCcklnMDJBaGdnQlNBQ0xnRUdJQVlvQWd4c0lnRWdBaTRCRmlBR0tBSXNiQ0lBYWlJT05nSU1JQVVnQVNBQWF5SUdOZ0ljSUFRZ0F5Z0NBR29pQ1NBSFFZQjlhaUlISUF3Z0NFR0VJR29pQ0dwQkRYUWlBU0FLSUE1cVFkRWliQ0lDSUFwQi9qQnNhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQWtnQnlBQklBQnJRUkIyUWY4SGNXb3NBQUE2QUFNZ0NTQUhJQWdnREd0QkRYUWlBU0FDSUE1QjM0bC9iR29pQUdwQkVIWkIvd2R4YWl3QUFEb0FBU0FKSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBUWdBeWdDQkdvaUJDQUZLQUlRUVlRZ2FpSURJQTFxUVExMElnRWdCaUFMYWtIUkltd2lBaUFMUWY0d2JHb2lBR3BCRUhaQi93ZHhJQWRxTEFBQU9nQUFJQVFnQVNBQWEwRVFka0gvQjNFZ0Iyb3NBQUE2QUFNZ0JDQURJQTFyUVExMElnRWdBaUFHUWQrSmYyeHFJZ0JxUVJCMlFmOEhjU0FIYWl3QUFEb0FBU0FFSUFFZ0FHdEJFSFpCL3dkeElBZHFMQUFBT2dBQ0lBVWtCZ3RoQUNBRUlBTW9BZ0JxSWdNZ0FDZ0MwQUpCZ0gxcUlnQWdBaTRCQUNBQktBSlVJZ0VvQWdCc1FZUWdhaUlFSUFJdUFRSWdBU2dDQkd3aUFXcEJBM1pCL3dkeGFpd0FBRG9BQUNBRElBUWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDOWNKQVI1L0l3WWhGaU1HUVlBRWFpUUdJQUFvQXRBQ0lTSWdGaUlBSVFVZ0FTZ0NWQ0VCQTBBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lNSUFJdUFXQWdBU2dDd0FGc0loRnJJZzlCMUJGc0lRb2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFWQWdBU2dDb0FGc0lnZHFJUkFnQmlBQ0xnRndJQUVvQXVBQmJDSUlha0g4eFFCc0loY2dFRUhwendCc0loUWdCaUFDTGdFd0lBRW9BbUJzSWdscVFjN1dBR3dpRFNBR1FkYnRmbXhxYW1vaERpQUdJQWhyUWJZNWJDSVpJQkJCMVNwc0loZ2dCaUFKYTBHakdtd2lFaUFHUWNLS2YyeHFhbW9oRUNBSUlBbHFJZ1pCcTFWc0lob2dCeUFKYWtId0NHd2lHeUFKUWMwRWJDQU5hbXBxSVEwZ0JrR1hzSDlzSWh3Z0J5QUphMEdKMmdCc0loMGdDVUdhL2dCc0lCSnFhbW9oQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnWWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUVrSFAwd0JzSWg1cUloOGdEMEhqMkFCc0lnOGdFVUdEcEFGc2FpSWdhaUlWSUE1cVFRdDFOZ0lBSUFVZ0ZTQU9hMEVMZFRZQzRBTWdCU0FOSUFZZ0VrSFJJbXdpRG1vaUVpQUtJQXhCelRsc2FpSVZhaUloYWtFTGRUWUNJQ0FGSUNFZ0RXdEJDM1UyQXNBRElBVkJRR3NnQnlBSWFrR3lxWDlzSWcwZ0d5QUhRZnEzZjJ4cUlCUnFhaUlVSUFZZ0Rtc2lEaUFQSUF4QndsbHNhaUlNYWlJUGFrRUxkVFlDQUNBRklBOGdGR3RCQzNVMkFxQURJQVVnR2lBSVFaakVBR3hxSUJkcUlBMXFJZzBnQmlBZWF5SUdJQW9nRVVHd1gyeHFJaEZxSWdwcVFRdDFOZ0pnSUFVZ0NpQU5hMEVMZFRZQ2dBTWdCU0FjSUFoQmhja0JiR29nR1dvZ0NDQUhhMEdqR213aUNHb2lDaUFHSUJGcklnWnFRUXQxTmdLQUFTQUZJQVlnQ210QkMzVTJBdUFDSUFVZ0hTQUhRZnBPYkdvZ0dHb2dDR29pQmlBT0lBeHJJZ2RxUVF0MU5nS2dBU0FGSUFjZ0JtdEJDM1UyQXNBQ0lBVWdDU0FTSUJWcklnWnFRUXQxTmdMQUFTQUZJQVlnQ1d0QkMzVTJBcUFDSUFVZ0VDQWZJQ0JySWdacVFRdDFOZ0xnQVNBRklBWWdFR3RCQzNVMkFvQUNJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF0QkFXb2lDMEVJUncwQUN5QWlRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fod2lCU0FBS0FJTUlndHFJZ2dnQUNnQ0ZDSUdJQUFvQWdRaUIyb2lDV3BCb2NzQWJDSU1JQWhCdTRKL2JHb2lFU0FGSUFkcVFiTkdiQ0lLSUFWQmpoTnNhbW9oQ0NBTUlBbEJoR2RzYWlJRklBb2dCMEdMNEFCc2Ftb2hCeUFGSUFZZ0MycEIvZHQrYkNJSklBWkJzNE1CYkdwcUlRWWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVHUWdBRnFJZ3dnQUNnQ0VDSUtha0VOZENJUUlBQW9BZ2dpRGlBQUtBSVlJZzFxUWRFaWJDSVRJQTVCL2pCc2FpSU9haUlQSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnRENBS2EwRU5kQ0lISUJNZ0RVSGZpWDlzYWlJTWFpSUtJQkVnQ1NBTFFkVEVBV3hxYWlJTGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUtJQXRyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0RHc2lDeUFHYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBWnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQkFnRG1zaUN5QUlha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFMSUFoclFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRVFSdzBBQ3lBV0pBWUxuUWdCR1g4akJpRVhJd1pCa0FOcUpBWWdBQ2dDMEFJaEhTQVhJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRndJQUVvQXVBQmJDSVRRUTEwSWdzZ0FpNEJFQ0FCS0FJZ2JDSUhJQUl1QVZBZ0FTZ0NvQUZzSWdacUlncEIwc3dBYkNJUElBY2dBaTRCTUNBQktBSmdiQ0lJYWtHMzFRQnNJaEFnQjBId3QzOXNhbXBxSVFrZ0J5QUlheUlZUWZJZGJDQUxheUlaSUFwQmxEQnNJaFFnQjBHTHZIOXNhbW9oRVNBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnY2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUNrSEcwUUJzYWlJYUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSU9ha0hpeGdCc0loVWdERUc5RVd4cUlodHFJaFlnQ1dwQkMzVTJBZ0FnQlNBV0lBbHJRUXQxTmdMc0FpQUZJQVlnQ0dwQjczVnNJQXRySWdrZ0NFSHVaR3dnRUdwcUloQWdCeUFLUVpJVWJHb2lGaUFWSUE1Qi9KRi9iR29pRldvaUhHcEJDM1UyQWh3Z0JTQWNJQkJyUVF0MU5nTFFBaUFGSUFrZ0JrR0o2SDVzSUE5cWFpSUpJQWNnQ2tISlIyeHFJZzhnREVHakoyd2dEa0hocDM5c2FpSU1haUlPYWtFTGRUWUNPQ0FGSUE0Z0NXdEJDM1UyQXJRQ0lBVWdHQ0FHYXlBVGFrRUNkQ0lKSUFjZ0NrRytwWDlzYWtFTGRTSUhhallDVkNBRklBY2dDV3MyQXBnQ0lBVWdCaUFJYTBINDJRQnNJZ2NnQmtIbWszOXNhaUFVYWlBTGFpSUdJQThnREdzaUMycEJDM1UyQW5BZ0JTQUxJQVpyUVF0MU5nTDhBU0FGSUFjZ0NFR1pLMnhxSUJscUlnWWdGaUFWYXlJSWFrRUxkVFlDakFFZ0JTQUlJQVpyUVF0MU5nTGdBU0FGSUJvZ0cyc2lCaUFSYWtFTGRUWUNxQUVnQlNBR0lCRnJRUXQxTmdMRUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FOUVFGcUlnMUJCMGNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJUUlnMGdBQ2dDR0NJR2EwRzNPR3dpRENBQUtBSUlJZ2dnRFd0QmtoUnNJZzRnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFOUVpXS2YyeHFhbW9oQ3lBQUtBSUVJZ29nQUNnQ0RDSUZha0h2TzJ3aUVpQUtJQVZyUWZNS2JDSVRhaUFGSUFBb0FoUWlDV3BCNGFkL2JDSVBhaUVSSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFjZ0JpQUlhaUlRUWNiUkFHeHFJaFFnRENBR1FZTjdiR3BxSWdZZ0NTQUtha0dqSjJ3aUNpQVNJQk5yYWlJTWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQUdJQXhyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFzZ0VXcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBVUlBNGdDRUh4NFg1c2Ftb2lCaUFQSUFvZ0NVSGU5d0JzYW1vaUNHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBSElBMGdFR3RCd2RvQWJHcEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSeHFJUUFnQVVFQmFpSUJRUTVIRFFBTElCY2tCZ3ZuQmdFWGZ5TUdJUlFqQmtHZ0Ftb2tCaUFBS0FMUUFpRWJJQlFpQUNFRklBRW9BbFFoQVFOQUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnZ2dBU2dDZ0FFZ0FrRkFheTRCQUVHeHpnQnNiQ0lTYWlFUUlBZ2dBaTRCSUNBQlFVQnJLQUlBYkNJS1FRMTBJQUVvQXNBQklBSXVBV0JCRFhSc0lndHJJaFpxSVF3Z0JTQVFJQXBCdHRjQWJDQUxhaUlYYWlJVElBSXVBWEFnQVNnQzRBRnNJZ1lnQWk0QkVDQUJLQUlnYkNJTklBSXVBVkFnQVNnQ29BRnNJZ2RxSWc1cVFZMDNiQ0lSSUE1QjJ4QnNhaUlZSUFJdUFUQWdBU2dDWUd3aURrSFAwd0JzSWhrZ0RVSDNFV3hxYWlJUGFrRUxkVFlDQUNBRklCTWdEMnRCQzNVMkFvZ0NJQVVnRGlBSGF5SVRJQTBnQm1zaUQycEIwU0pzSWhvZ0QwSCtNR3hxSWc4Z0RHcEJDM1UyQWhnZ0JTQU1JQTlyUVF0MU5nTHdBU0FGSUFnZ0Vtc2lEQ0FLUWJZWGJDQUxheUlLYWlJTElCZ2dCaUFIYWtHTHZYOXNJaElnRGtHdlhXd2lEaUFIUWJDaGYyeHFhbW9pQjJwQkMzVTJBakFnQlNBTElBZHJRUXQxTmdMWUFTQUZJQXdnQ21zaUJ5QVNJQkVnQmtIRzVRQnNJQmxyYW1vaUNtcEJDM1UyQWtnZ0JTQUhJQXByUVF0MU5nTEFBU0FGSUJvZ0UwSGZpWDlzYWlJSElBZ2dGbXNpQ0dwQkMzVTJBbUFnQlNBSUlBZHJRUXQxTmdLb0FTQUZJQkFnRjJzaUNDQVJJQTRnRFVIY1ZHeHFJQVpCaklGL2JHcHFJZ1pxUVF0MU5nSjRJQVVnQ0NBR2EwRUxkVFlDa0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRWkhEUUFMSUJ0QmdIMXFJUUpCQUNFQkEwQWdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRUWFFdGJDSUphaUlRSUFBb0FnaEJzYzRBYkNJS2FpSUxJQUFvQWdRaUJpQUFLQUlVSWdocVFiWVhiQ0lNSUFZZ0FDZ0NEQ0lOYWtFTmRHb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUhJQWxySUFscklna2dCaUFOYXlBSWEwRU5kQ0lHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBSklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQkFnQ21zaUNTQU1JQWdnRFd0QkRYUnFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFrZ0JtdEJFblpCL3dkeGFpd0FBRG9BQXlBQVFSaHFJUUFnQVVFQmFpSUJRUXhIRFFBTElCUWtCZ3Y5QlFFVmZ5TUdJUlFqQmtIUUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBSXVBVEFnQVNnQ1lHd2lCaUFDTGdGd0lBRW9BdUFCYkNJSWFpRUhJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQ1NBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lMUVozSkFHeHFJZzBnQWk0QklDQUJRVUJyS0FJQWJDSU9JQUl1QVdBZ0FTZ0N3QUZzSWc5cVFabzFiQ0lRSUE1QjhTQnNhaUlPYWlJUklBWWdDR3NpQ0VIakUyd2lFaUFDTGdGUUlBRW9BcUFCYkNJVlFRMTBJaE5xSWhZZ0IwSHZQR3dpRnlBQ0xnRVFJQUVvQWlCc0lnWkJzOWtBYkdwcUloaHFRUXQxTmdJQUlBVWdFU0FZYTBFTGRUWUN0QUVnQlNBSklBdEJoR1JzYWlJUklCQWdEMEhjOUg1c2FpSVBhaUlRSUFaQjA5QUFiQ0FIUWM4bGJDSUhheUFUSUJKcklBaEJESFJySWhKckloTnFRUXQxTmdJVUlBVWdFQ0FUYTBFTGRUWUNvQUVnQlNBSklBdEJ2cVYvYkdwQkMzVWlDU0FHSUJWcklBaHJRUUowSWd0cU5nSW9JQVVnQ1NBTGF6WUNqQUVnQlNBUklBOXJJZ2tnRWlBR1FZd3BiQ0FIYTJvaUIycEJDM1UyQWp3Z0JTQUpJQWRyUVF0MU5nSjRJQVVnRFNBT2F5SUhJQllnQmtHVURtd2dGMnRxSWdacVFRdDFOZ0pRSUFVZ0J5QUdhMEVMZFRZQ1pDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FLUVFGcUlncEJCVWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJSUlnb2dBQ2dDRUNJR2FrSE1NbXdpQnlBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUFvZ0Jtc2lDa0hRRm14cUlnWnFJZ3NnQUNnQ0JDSUlJQUFvQWd3aURHcEJtalZzSWcwZ0NFSHhJR3hxSWdocVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJDQUZJQUlnQmlBSGF5SUdJQTBnREVIYzlINXNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBR0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQWtnQ2tIQXBYOXNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBQkJGR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGQ1FHQytnUEFSQi9Jd1loQ0NNR1FZQUJhaVFHSUFBb0F0QUNJUkFnQ0NFQUlBRW9BbFFoQVVFRUlRWURRQUovQWtBZ0FpNEJFQ0lMSUFJdUFTQWlCWEpCLy84RGNRUi9EQUVGSUFJdUFUQUVmMEVBSVFVTUFnVWdBa0ZBYXk0QkFBUi9RUUFoQlF3REJTQUNMZ0ZRQkg5QkFDRUZEQVFGSUFJdUFXQUVmMEVBSVFVTUJRVWdBaTRCY0FSL1FRQWhCUXdHQlNBQUlBRW9BZ0FnQWk0QkFFRUNkR3dpQlRZQ0FDQUFJQVUyQWhBZ0FDQUZOZ0lnSUFBZ0JUWUNNQ0FBUVVCcklBVTJBZ0FnQUNBRk5nSlFJQUFnQlRZQ1lFRWNDd3NMQ3dzTERBRUxJQUl1QVhBZ0FTZ0M0QUZzSWdjZ0FpNEJNQ0FCS0FKZ2JDSUphaUlOSUFJdUFWQWdBU2dDb0FGc0lnb2dDeUFCS0FJZ2JDSUxhaUlNYWtHaHl3QnNJZzRnRFVHN2duOXNhaUlOSUFjZ0MycEJzMFpzSWc4Z0IwR09FMnhxYWlFSElBNGdERUdFWjJ4cUlnd2dEeUFMUVl2Z0FHeHFhaUVMSUF3Z0NTQUtha0g5MjM1c0lnd2dDa0d6Z3dGc2Ftb2hDaUFBSUFzZ0FTZ0NnQUVnQWtGQWF5NEJBRUVOZEd3aURpQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSVBhaUlSSUFGQlFHc29BZ0FnQlVFUWRFRVFkV3dpQlNBQ0xnRmdJQUVvQXNBQmJDSVNha0hSSW13aUV5QUZRZjR3YkdvaUJXb2lGR3BCQzNVMkFnQWdBQ0FVSUF0clFRdDFOZ0p3SUFBZ0RTQU1JQWxCMU1RQmJHcHFJZ2tnRHlBT2F5SUxJQk1nRWtIZmlYOXNhaUlOYWlJTWFrRUxkVFlDRUNBQUlBd2dDV3RCQzNVMkFtQWdBQ0FLSUFzZ0RXc2lDV3BCQzNVMkFpQWdBQ0FKSUFwclFRdDFOZ0pRSUFBZ0J5QVJJQVZySWdWcVFRdDFOZ0l3SUFVZ0IydEJDM1VoQlVFUUMwRUNkQ0FBYWlBRk5nSUFJQUJCQkdvaEFDQUJRUVJxSVFFZ0FrRUNhaUVDSUFaQmYyb2hCU0FHUVFGTEJFQWdCU0VHREFFTEN5QUVJQU1vQWdCcUlnRWdFRUdBZldvaUFDQUlLQUlBUVpDQUFXb2lBaUFJS0FJSUlnWnFRUTEwSWdVZ0NDZ0NCQ0lISUFnb0Fnd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUVhaUlCSUFBZ0NDZ0NFRUdRZ0FGcUlnSWdDQ2dDR0NJR2FrRU5kQ0lGSUFnb0FoUWlCeUFJS0FJY0lnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lBU0FBSUFnb0FpQkJrSUFCYWlJQ0lBZ29BaWdpQm1wQkRYUWlCU0FJS0FJa0lnY2dDQ2dDTENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnRWdBQ0FJS0FJd1FaQ0FBV29pQWlBSUtBSTRJZ1pxUVExMElnVWdDQ2dDTkNJSElBZ29BandpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlRYWlJQklBQWdDRUZBYXlnQ0FFR1FnQUZxSWdJZ0NDZ0NTQ0lHYWtFTmRDSUZJQWdvQWtRaUJ5QUlLQUpNSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDRkdvaUFTQUFJQWdvQWxCQmtJQUJhaUlDSUFnb0FsZ2lCbXBCRFhRaUJTQUlLQUpVSWdjZ0NDZ0NYQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BaGhxSWdFZ0FDQUlLQUpnUVpDQUFXb2lBaUFJS0FKb0lnWnFRUTEwSWdVZ0NDZ0NaQ0lISUFnb0Ftd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSWNhaUlCSUFBZ0NDZ0NjRUdRZ0FGcUlnSWdDQ2dDZUNJRGFrRU5kQ0lFSUFnb0FuUWlCaUFJS0FKOElnVnFRZEVpYkNJSElBWkIvakJzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUVJQVpyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0EydEJEWFFpQWlBSElBVkIzNGwvYkdvaUEycEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFEYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWdrQmd1Z0N3RUxmeU1HSVFVakJrSFFBR29rQmlBQUtBTFFBaUVQSUFVZ0FTZ0NWQ0lJS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlPSUFnb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJS2FpSUdJQWhCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lKYWlJQklBSXVBUkFnQ0NnQ0lHd2lDeUFDTGdGUUlBZ29BcUFCYkNJTWFrRzJGMndpQnlBTElBSXVBVEFnQ0NnQ1lHd2lEV3BCRFhScUlnQnFRUXQxTmdJQUlBVWdBU0FBYTBFTGRUWUNQQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQTFySUF4clFRSjBJZ0JxTmdJTUlBVWdBU0FBYXpZQ01DQUZJQVlnQ1dzaUFTQUhJQXdnRFd0QkRYUnFJZ0JxUVF0MU5nSVlJQVVnQVNBQWEwRUxkVFlDSkNBRklBZ29Ba1FnQWk0QklrR3h6Z0JzYkNJT0lBZ29BZ1FnQWk0QkFrRU5kR3hCZ0FoeUlnb2dDQ2dDaEFFZ0FpNEJRa0doTFd4c0lnWnFJZ2xxSWdFZ0FpNEJFaUFJS0FJa2JDSUxJQUl1QVZJZ0NDZ0NwQUZzSWd4cVFiWVhiQ0lISUFzZ0FpNEJNaUFJS0FKa2JDSU5ha0VOZEdvaUFHcEJDM1UyQWdRZ0JVRkFheUFCSUFCclFRdDFOZ0lBSUFVZ0N5QU5heUFNYTBFQ2RDSUJJQW9nQmtGK2JHcEJDM1VpQUdvMkFoQWdCU0FBSUFGck5nSTBJQVVnQ1NBT2F5SUJJQWNnRENBTmEwRU5kR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdJb0lBVWdDQ2dDQ0NBQ0xnRUVRUTEwYkVHQUNISWlEaUFJS0FLSUFTQUNMZ0ZFUWFFdGJHd2lDbW9pQmlBSUtBSklJQUl1QVNSQnNjNEFiR3dpQ1dvaUFTQUNMZ0VVSUFnb0FpaHNJZ3NnQWk0QlZDQUlLQUtvQVd3aURHcEJ0aGRzSWdjZ0N5QUNMZ0UwSUFnb0FtaHNJZ0pxUVExMGFpSUFha0VMZFNJTk5nSUlJQVVnQVNBQWEwRUxkVFlDUkNBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUFKcklBeHJRUUowSWdCcUlnbzJBaFFnQlNBQklBQnJOZ0k0SUFVZ0JpQUpheUlCSUFjZ0RDQUNhMEVOZEdvaUFHcEJDM1VpQ1RZQ0lDQUZJQUVnQUd0QkMzVTJBaXdnQkNBREtBSUFhaUlISUE5QmdIMXFJZ1lnQlNnQ0FFRU5kRUdBZ0lqQUFHb2lBaUFOUWFFdGJHb2lBU0FGS0FJRVFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dCaUFDSUExQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdScUlnY2dCaUFGS0FJTVFRMTBRWUNBaU1BQWFpSUNJQXBCb1Mxc2FpSUJJQVVvQWhCQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWNnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0J5QUdJQUlnQ2tHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDQ0dvaUJ5QUdJQVVvQWhoQkRYUkJnSUNJd0FCcUlnSWdDVUdoTFd4cUlnRWdCU2dDSEVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCeUFHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBSElBWWdBaUFKUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JDQURLQUlNYWlJSklBWWdCU2dDSkVFTmRFR0FnSWpBQUdvaUJ5QUZLQUlzSWdKQm9TMXNhaUlCSUFVb0FpaEJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFrZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdDU0FHSUFjZ0FrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0VHb2lDU0FHSUFVb0FqQkJEWFJCZ0lDSXdBQnFJZ2NnQlNnQ09DSUNRYUV0YkdvaUFTQUZLQUkwUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFrZ0JpQUhJQUpCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BaFJxSWdRZ0JpQUZLQUk4UVExMFFZQ0FpTUFBYWlJRElBVW9Ba1FpQWtHaExXeHFJZ0VnQlVGQWF5Z0NBRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JDQUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFZZ0F5QUNRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNRR0M3SUVBUXAvSXdZaEJpTUdRU0JxSkFZZ0FDZ0MwQUloRENBR0lBSXVBUUFnQVNnQ1ZDSUhLQUlBYkNJSklBSXVBU0FnQjBGQWF5Z0NBR3dpQ21wQkRYUWlBU0FDTGdFUUlBY29BaUJzSWdBZ0FpNEJNQ0FIS0FKZ2JDSUZha0hSSW13aUNDQUFRZjR3YkdvaUFHb2lEVFlDQUNBR0lBRWdBR3MyQWhnZ0JpQUpJQXByUVExMElnRWdDQ0FGUWQrSmYyeHFJZ0JxSWc0MkFnZ2dCaUFCSUFCcklnazJBaEFnQmlBQ0xnRUNJQWNvQWdSc0lnb2dBaTRCSWlBSEtBSkViQ0lGYWtFTmRDSUJJQUl1QVJJZ0J5Z0NKR3dpQUNBQ0xnRXlJQWNvQW1Sc0lnaHFRZEVpYkNJQ0lBQkIvakJzYWlJQWFpSUxOZ0lFSUFZZ0FTQUFheUlITmdJY0lBWWdDaUFGYTBFTmRDSUJJQUlnQ0VIZmlYOXNhaUlBYWlJSU5nSU1JQVlnQVNBQWF5SUNOZ0lVSUFRZ0F5Z0NBR29pQVNBTVFZQjlhaUlGSUFzZ0RVR0FnSUlRYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUxhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCQ0FES0FJRWFpSUJJQTVCZ0lDQ0VHb2lBQ0FJYWtFUWRrSC9CM0VnQldvc0FBQTZBQUFnQVNBQUlBaHJRUkIyUWY4SGNTQUZhaXdBQURvQUFTQUVJQU1vQWdocUlnRWdDVUdBZ0lJUWFpSUFJQUpxUVJCMlFmOEhjU0FGYWl3QUFEb0FBQ0FCSUFBZ0FtdEJFSFpCL3dkeElBVnFMQUFBT2dBQklBUWdBeWdDREdvaUFTQUdLQUlZUVlDQWdoQnFJZ0FnQjJwQkVIWkIvd2R4SUFWcUxBQUFPZ0FBSUFFZ0FDQUhhMEVRZGtIL0IzRWdCV29zQUFBNkFBRWdCaVFHQzJjQkFYOGdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2lBQ0FDTGdFQUlBRW9BbFFpQVNnQ0FHeEJoQ0JxSWdVZ0FpNEJFQ0FCS0FJZ2JDSUJha0VEZGtIL0IzRnFMQUFBT2dBQUlBUWdBeWdDQkdvZ0JTQUJhMEVEZGtIL0IzRWdBR29zQUFBNkFBQUw4UWdCRVg4akJpRVNJd1pCZ0FKcUpBWWdBQ2dDMEFJaEZTQVNJZ0FoQmlBQktBSlVJUUZCQ0NFSkEwQUNmd0pBSUFJdUFSQWlCeUFDTGdFZ0lnVnlRZi8vQTNFRWZ3d0JCU0FDTGdFd0JIOUJBQ0VGREFJRklBSkJRR3N1QVFBRWYwRUFJUVVNQXdVZ0FpNEJVQVIvUVFBaEJRd0VCU0FDTGdGZ0JIOUJBQ0VGREFVRklBSXVBWEFFZjBFQUlRVU1CZ1VnQmlBQ0xnRUFJQUVvQWdCc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUhJQUVvQWlCc0lnY2dBaTRCY0NBQktBTGdBV3dpQ0dvaUN5QUNMZ0V3SUFFb0FtQnNJZ29nQWk0QlVDQUJLQUtnQVd3aURXb2lEbXRCNmdKc1FRaDFJQTBnQ21zaUNpQUhJQWhySWcxcVFka0RiRUVJZFNJUElBcEJuUVZzUVFoMWF5QUxJQTVxSWdocklndHJJUWNnQmlBQ0xnRUFJQUVvQWdCc0lnb2dBa0ZBYXk0QkFDQUJLQUtBQVd3aURtb2lFQ0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJaEVnQWk0QllDQUJLQUxBQVd3aUUyb2lCV29pRkNBSWFqWUNBQ0FHSUJRZ0NHczJBdUFCSUFZZ0N5QUtJQTVySWdnZ0VTQVRhMEhxQW14QkNIVWdCV3NpQ21vaURtbzJBaUFnQmlBT0lBdHJOZ0xBQVNBR1FVQnJJQWNnQ0NBS2F5SUlhallDQUNBR0lBZ2dCMnMyQXFBQklBWWdEeUFOUVpVQ2JFRUlkV3NnQjJzaUJ5QVFJQVZySWdWcU5nSmdJQVVnQjJzaEJVRWdDMEVDZENBR2FpQUZOZ0lBSUFaQkJHb2hCaUFCUVFScUlRRWdBa0VDYWlFQ0lBbEJmMm9oQlNBSlFRRkxCRUFnQlNFSkRBRUxDeUFWUVlCOWFpRUpRUUFoQVFOQUlBUWdBVUVDZENBRGFpZ0NBR29oQmlBQUtBSUFRWkNBQVdvaEJRSkFBa0FnQUNnQ0JDSUhJQUFvQWdnaUFuSU5BQ0FBS0FJTUJFQkJBQ0VDREFFRklBQW9BaEFFUUVFQUlRSU1BZ1VnQUNnQ0ZBUkFRUUFoQWd3REJTQUFLQUlZQkVCQkFDRUNEQVFGSUFBb0Fod0VRRUVBSVFJTUJRVWdCaUFKSUFWQkJYWkIvd2R4YWl3QUFDSUNPZ0FBSUFaQkFXb2dBa0VIRUVVYUN3c0xDd3NNQVFzZ0J5QUFLQUljSWdocUlnc2dBQ2dDRkNJTUlBQW9BZ3dpQ21vaURXdEI2Z0pzUVFoMUlBd2dDbXNpRENBSElBaHJJZ3BxUWRrRGJFRUlkU0lPSUF4Qm5RVnNRUWgxYXlBTElBMXFJZ2hySWd0cklRY2dCaUFKSUFVZ0FDZ0NFQ0lOYWlJUElBQW9BaGdpRUNBQ2FpSU1haUlSSUFocVFRVjJRZjhIY1dvc0FBQTZBQUFnQmlBSklCRWdDR3RCQlhaQi93ZHhhaXdBQURvQUJ5QUdJQWtnQlNBTmF5SUZJQUlnRUd0QjZnSnNRUWgxSUF4cklnSnFJZ2dnQzJwQkJYWkIvd2R4YWl3QUFEb0FBU0FHSUFrZ0NDQUxhMEVGZGtIL0IzRnFMQUFBT2dBR0lBWWdDU0FGSUFKcklnSWdCMnBCQlhaQi93ZHhhaXdBQURvQUFpQUdJQWtnQWlBSGEwRUZka0gvQjNGcUxBQUFPZ0FGSUFZZ0NTQVBJQXhySWdJZ0RpQUtRWlVDYkVFSWRXc2dCMnNpQldwQkJYWkIvd2R4YWl3QUFEb0FBeUFHSUFrZ0FpQUZhMEVGZGtIL0IzRnFMQUFBT2dBRUN5QUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQklrQmd2ckJ3SUhmd3g5SXdZaENDTUdRWUFDYWlRR0lBQW9BdEFDSVFzZ0NDSUFJUVVnQVNnQ1ZDRUJRUWdoQndOQUFuOENRQ0FDTGdFUUlnb2dBaTRCSUNJR2NrSC8vd054Qkg4TUFRVWdBaTRCTUFSL1FRQWhCZ3dDQlNBQ1FVQnJMZ0VBQkg5QkFDRUdEQU1GSUFJdUFWQUVmMEVBSVFZTUJBVWdBaTRCWUFSL1FRQWhCZ3dGQlNBQ0xnRndCSDlCQUNFR0RBWUZJQVVnQVNvQ0FDQUNMZ0VBc3BRaUREZ0NBQ0FGSUF3NEFpQWdCVUZBYXlBTU9BSUFJQVVnRERnQ1lDQUZJQXc0QW9BQklBVWdERGdDb0FFZ0JTQU1PQUxBQVVFNEN3c0xDd3NMREFFTElBRXFBaUFnQ3JLVUlnd2dBU29DNEFFZ0FpNEJjTEtVSWcyU0loQWdBU29DWUNBQ0xnRXdzcFFpRGlBQktnS2dBU0FDTGdGUXNwUWlFWklpRDVORDh3UzFQNVFnRVNBT2t5SU9JQXdnRFpNaUVaSkRYb1BzUDVRaUV5QU9RM1U5SjBDVWt5QVBJQkNTSWcyVEloQ1RJUXdnQlNBQktnSUFJQUl1QVFDeWxDSVBJQUVxQW9BQklBSkJRR3N1QVFDeWxDSVNraUlVSUFGQlFHc3FBZ0FnQmtFUWRFRVFkYktVSWhVZ0FTb0N3QUVnQWk0QllMS1VJaGFTSWc2U0loY2dEWkk0QWdBZ0JTQVhJQTJUT0FMZ0FTQUZJQThnRXBNaURTQVZJQmFUUS9NRXRUK1VJQTZUSWcrU0loSWdFSkk0QWlBZ0JTQVNJQkNUT0FMQUFTQUZRVUJySUEwZ0Q1TWlEU0FNa2pnQ0FDQUZJQTBnREpNNEFxQUJJQVVnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSTRBbUFnRFNBTWt5RU1RU0FMUVFKMElBVnFJQXc0QWdBZ0JVRUVhaUVGSUFGQkJHb2hBU0FDUVFKcUlRSWdCMEYvYWlFR0lBZEJBVXNFUUNBR0lRY01BUXNMSUF0QmdIMXFJUUpCQUNFQkEwQWdBQ29DQkNJTUlBQXFBaHdpRFpJaUVDQUFLZ0lVSWc0Z0FDb0NEQ0lSa2lJUGswUHpCTFUvbENBT0lCR1RJZzRnRENBTmt5SVJra05lZyt3L2xDSVRJQTVEZFQwblFKU1RJQThnRUpJaURaTWlFSk1oRENBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtnSUFRd0FnQUVTU0lnOGdBQ29DRUNJU2tpSVVJQUFxQWdnaUZTQUFLZ0lZSWhhU0lnNlNJaGNnRFpJUVEwSC9CM0ZxTEFBQU9nQUFJQVVnQWlBWElBMlRFRU5CL3dkeGFpd0FBRG9BQnlBRklBSWdEeUFTa3lJTklCVWdGcE5EOHdTMVA1UWdEcE1pRDVJaUVpQVFraEJEUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQklnRUpNUVEwSC9CM0ZxTEFBQU9nQUdJQVVnQWlBTklBK1RJZzBnREpJUVEwSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQlNBRklBSWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJUVEwSC9CM0ZxTEFBQU9nQURJQVVnQWlBTklBeVRFRU5CL3dkeGFpd0FBRG9BQkNBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElBZ2tCZ3ZOS0FJTGZ3RjhJQUFvQXRnRElRc2dBQ2dDSkVFQVRBUkFEd3NnQUNnQzJBRWhBUU5BQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBU0lJS0FJb0lBRW9BaVFpQkVFSWRHcEJnUUpyRHBBZUFCNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQllCSUIwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBSWdJQndnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlVnQXlBZ0lCc2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUVJQ0FnSUJvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQlFnSUFVZ0lDQWdJQmtnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdCaUFnSUNBZ0lCZ2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQk1nSUNBZklDQWdJQ0FnSUJjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQWNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQklnSUNBZ0NDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FKSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkVnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ3lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQkFnSUNBZ0lDQU1JQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUEwZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQThnSUNBZ0lDQWdEaUFMUVFBaEFrRUVJUU1NSUF0QkFDRUNRUVVoQXd3ZkMwRUFJUUpCQmlFRERCNExRUUFoQWtFSElRTU1IUXRCQUNFQ1FRZ2hBd3djQzBFQUlRSkJDU0VEREJzTFFRQWhBa0VLSVFNTUdndEJBQ0VDUVFzaEF3d1pDMEVBSVFKQkRDRUREQmdMUVFBaEFrRU5JUU1NRnd0QkFDRUNRUTRoQXd3V0MwRUFJUUpCRHlFRERCVUxRUUFoQWtFUUlRTU1GQXRCQUNFQ1FSRWhBd3dUQzBFQUlRSkJFaUVEREJJTFFRQWhBa0VUSVFNTUVRdEJBQ0VDUVJRaEF3d1FDMEVBSVFKQkZTRUREQThMUVFBaEFrRVdJUU1NRGd0QkFDRUNRUmNoQXd3TkMwRUFJUUpCR0NFRERBd0xRUUFoQWtFWklRTU1Dd3RCQUNFQ1FSb2hBd3dLQzBFQUlRSkJHeUVEREFrTFFRQWhBa0VjSVFNTUNBdEJBQ0VDUVIwaEF3d0hDMEVBSVFKQkhpRUREQVlMUVFBaEFrRWZJUU1NQlF0QkFDRUNRU0FoQXd3RUMwRUFJUUpCSVNFRERBTUxRUUFoQWtFaUlRTU1BZ3NDUUFKQUFrQUNRQ0FBS0FKSUlnRU9Bd0FCQWdNTElBRWhBa0VqSVFNTUJBc2dBU0VDUVNRaEF3d0RDeUFCSVFKQkpTRUREQUlMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdCQ3lBQUtBSUFJZ0ZCQnpZQ0ZDQUJJQVEyQWhnZ0FDZ0NBQ0FJS0FJb05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dDMEVFYWlBSlFRSjBhaUFETmdJQUlBZ29BalFFUUNBTFFTeHFJQWxCQW5ScUlnRW9BZ0FnQWtjRVFDQUlLQUpRSWdZRVFDQUJJQUkyQWdBQ1FBSkFBa0FDUUFKQUlBSU9Bd0FCQWdNTElBZ29BbFFoQkVFQUlRRURRQ0FCUVFKMElBUnFJQUZCQVhRZ0Jtb3ZBUUEyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dEQ3lBSUtBSlVJUVJCQUNFQkEwQWdBVUVDZENBRWFpQUJRUUYwSUFacUx3RUFJQUZCQVhSQjRDbHFMZ0VBYkVHQUVHcEJESFUyQWdBZ0FVRUJhaUlCUWNBQVJ3MEFDd3dDQ3lBSUtBSlVJUWRCQUNFQlFRQWhCQU5BSUFSQkFuUWdCMm9nQVVFRGRFSGdLbW9yQXdBaURDQUVRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUUZ5SWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkU3MkZJc1ZBeDlqK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0JVRUJhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJNcHZUWkd1NS9RL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkEzSWlDa0VDZENBSGFpQU1JQXBCQVhRZ0Jtb3ZBUUMzb2tTcUVXenZZdER5UDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFGcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUpxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVPNytud0drazZUK2lSQUFBQUFBQUFNQS9vclk0QWdBZ0NrRURhaUlGUVFKMElBZHFJQXdnQlVFQmRDQUdhaThCQUxlaVJMc2d4M3Q2VWVFL29rUUFBQUFBQUFEQVA2SzJPQUlBSUFSQkIzSWlCVUVDZENBSGFpQU1JQVZCQVhRZ0Jtb3ZBUUMzb2tSZHEzTGVWYWpSUDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFocUlRUWdBVUVCYWlJQlFRaEhEUUFMREFFTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzTEN3c2dDRUhZQUdvaEJDQUpRUUZxSWdFZ0FDZ0NKRWdFUUNBQklRa2dCQ0VCREFFTEN3dWxBUUVFZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCMUFBZ0FVRS9jVUhLQVdvUkJBQWlBVFlDMkFNZ0FVSHpBRFlDQUNBQUtBSWtRUUJNQkVBUEN5QUJRU3hxSVFSQkFDRUJJQUFvQXRnQklRSURRQ0FBS0FJRUtBSUFJUU1nQWlBQVFRRkJnQUlnQTBFL2NVSEtBV29SQkFBaUF6WUNWQ0FEUVFCQmdBSVFSUm9nQVVFQ2RDQUVha0YvTmdJQUlBSkIyQUJxSVFJZ0FVRUJhaUlCSUFBb0FpUklEUUFMQzhzRkFRdC9Jd1loRFNNR1FTQnFKQVlnQWlnQ0FDRUhJQUlvQWdRaEN5QUNLQUlJSVFvZ0JTZ0NBQ0lJUlFSQUlBVWdBQ2dDSENBQUtBSWdFS2tKSWdnMkFnQUxJQTBpQWtFY2FpRU9JQUpCR0dvaER5QUFLQUlNSUFCQk1Hb2dCMEV3YkdvaURDQUJLQUlBSWdrZ0IwSHdBR3hxS0FJQUlBZEI4QUJzSUFscUtBSUVLQUlBSUF0QkZHeHFJQW9nQ0JDb0NVRUFTQVIvUVg4RklBVW9BZ0FpQ0NnQ0hDRUpJQWdvQWd3Z0NDZ0NDRUVCYW1vZ0NDZ0NGQ0FJS0FJUVFRRnFhbXl5UXdBQW9FQ1VRd0FBb0VDVUlBa2dDV3l5WGdSL1FYOEZJQUVvQXBnQkloQkJBVVlFUUNBQUtBSU1JQXhCQUVFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQUFvQWd3aENDQUFRWkFFYWlBSFFUQnNhaUVKSUJCQkFrWUVRQ0FJSUF3Z0NVRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFnZ0RDQUpJQUJCOEFkcUlBZEJNR3hxSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJTEN5QURJQVFnQUNnQ0JDQUFLQUlJSUFBb0FoUWdCU2dDQUNBQUtBSVlJZ0FnQUNBQ0lBNGdEeUFHRUt3SlFRQklCSDlCZndVZ0JpQU9LQUlBc2pnQ0JDQUdJQThvQWdDeU9BSUlJQUVvQWdBaUFDQUhRZkFBYkdvb0FnUW9BZ0FnQzBFVWJHb29BZ0FpQWlBS1FSUnNhaUVCSUFZZ0IwSHdBR3dnQUdvcUFoZ2dCMEh3QUd3Z0FHb3FBZ3dnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaEFnQ2tFVWJDQUNhaUlDS2dJTWxKS1NPQUlNSUFZZ0IwSHdBR3dnQUdvcUFpZ2dCMEh3QUd3Z0FHb3FBaHdnQVNvQ0NKUWdCMEh3QUd3Z0FHb3FBaUFnQWlvQ0RKU1NramdDRUNBR0lBZEI4QUJzSUFCcUtnSTRJQWRCOEFCc0lBQnFLZ0lzSUFFcUFnaVVJQWRCOEFCc0lBQnFLZ0l3SUFJcUFneVVrcEk0QWhSQkFBc0xDeUVSSUEwa0JpQVJDeUlCQVgxQmZ5QUFLZ0lBSUFFcUFnQ1RJZ0pEQUFBQUFGNGdBa01BQUFBQVhSc0xpaEFDREg4S2ZTTUdJUW9qQmtGQWF5UUdJQXBCT0dvaEJ5QUtRVEJxSVFnZ0NrRW9haUVMSUFwQklHb2hDU0FEUVFSSUJFQkRJTHkrVENFRkJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUZCUUpBQW44Z0E3SWlHaUFGbEJCRElSQWdBMEVHZEJCRUlnWkZCRUJCQUVFRFFjcllBaUFKRUQxREFBQ0F2eUVGREFJTElBTkJBM1FRUkNJSlJRUkFRUUJCQTBISzJBSWdDeEE5SUFZUU9FTUFBSUMvSVFVTUFnc2dBMEVDZENJTEVFUWlEVVVFUUVFQVFRTkJ5dGdDSUFnUVBTQUdFRGdnQ1JBNFF3QUFnTDhoQlF3Q0N5QUxFRVFpQzBVRVFFRUFRUU5CeXRnQ0lBY1FQU0FHRURnZ0NSQTRJQTBRT0VNQUFJQy9JUVVNQWdzZ0VFRi9haUlIQzBFRUlBZEJCRW9iSVJGQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQ0FOQUlBaEJCRWNFUUNBSFFRUjBJQVJxSUFoQkFuUnFJQWRCQkhRZ0FHb2dDRUVDZEdvcUFnQWdBQ29DTEpVNEFnQWdDRUVCYWlFSURBRUxDeUFIUVFGcUlRY01BUXNMSUJGQkFuUWdDMm9oRHdKQUFrQUNRQU5BQWtCQkFDRUhBMEFnQnlBRFNBUkFJQVFxQWdBaEZ5QUVLZ0lFSVJZZ0JDb0NEQ0VaSUFRcUFoQWhFeUFFS2dJVUlSZ2dCQ29DSENFYklBZEJER3dnQW1vcUFnQWlGQ0FFS2dJZ2xDQUhRUXhzSUFKcUtnSUVJaFVnQkNvQ0pKU1NRd0FBZ0QrU0lnVkRBQUFBQUZzTkFpQUhRUU4wSUFGcUtnSUVJQnNnRkNBVGxDQVZJQmlVa3BJaUdDQUZsWk1oRXlBSFFRRjBJZ0JCQW5RZ0NXb2dCMEVEZENBQmFpb0NBQ0FaSUJjZ0ZKUWdGaUFWbEpLU0loY2dCWldUSWhZNEFnQWdBRUVCY2tFQ2RDQUphaUFUT0FJQUlBZEJBblFnQzJvZ0ZpQVdsQ0FUSUJPVWtpSVRPQUlBSUFkQkFuUWdEV29nRXpnQ0FDQUhRUVIwSWdCQkFuUWdCbW9nRkNBRmxTSVRPQUlBSUFCQkFYSkJBblFnQm1vZ0ZTQUZsU0lXT0FJQUlBQkJBbkpCQW5RZ0JtcERBQUNBUHlBRmxTSVpPQUlBSUFCQkEzSkJBblFnQm1wREFBQUFBRGdDQUNBQVFRUnlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUZja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJCbkpCQW5RZ0Jtb2dGQ0FYbEl3Z0JTQUZsQ0lGbFRnQ0FDQUFRUWR5UVFKMElBWnFJQlVnRjVTTUlBV1ZPQUlBSUFCQkNISkJBblFnQm1wREFBQUFBRGdDQUNBQVFRbHlRUUowSUFacVF3QUFBQUE0QWdBZ0FFRUtja0VDZENBR2FrTUFBQUFBT0FJQUlBQkJDM0pCQW5RZ0Jtb2dFemdDQUNBQVFReHlRUUowSUFacUlCWTRBZ0FnQUVFTmNrRUNkQ0FHYWlBWk9BSUFJQUJCRG5KQkFuUWdCbW9nRkNBWWxJd2dCWlU0QWdBZ0FFRVBja0VDZENBR2FpQVZJQmlVakNBRmxUZ0NBQ0FIUVFGcUlRY01BUXNMSUFzZ0EwRUVRU0FRZ2dOREFBQ0FRU0FQS2dJQVF3QUFnRUNVSWdVZ0JVTUFBSUJCWFJzaUZVTUFBTUJBbFNFRlF3QUFBQUFoRTBFQUlRQURRQ0FBSUFOSEJFQWdFeUFBUVFKMElBdHFLZ0lBSWhRZ0ZWNEVmU0FGQlNBRlF3QUFnRDlEQUFDQVB5QVVJQldWa3lJVUlCUWdGSlNVazVRTGtpRVRJQUJCQVdvaEFBd0JDd3NnRXlBYWxTSUZRODNNekQxZERRUWdEa0VBUnlBRlF3QUFnRUJkY1FSQUlBNUJDa1lnQlNBU2xVT2tjSDAvWG5JTkJRVWdEa0VLUmcwRkMwRUFJUUJCQUNFTUEwQWdBeUFNUndSQUlBeEJBblFnRFdvcUFnQWlFaUFWWHdSQUlBQkJBM1FpQjBFQ2RDQUdha01BQUlBL0lCSWdGWldUSWhJZ0VwUWlFaUFNUVFSMElnaEJBblFnQm1vcUFnQ1VPQUlBSUFkQkFYSkJBblFnQm1vZ0VpQUlRUUZ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUUp5UVFKMElBWnFJQklnQ0VFQ2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFRGNrRUNkQ0FHYWlBU0lBaEJBM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCSEpCQW5RZ0Jtb2dFaUFJUVFSeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFWeVFRSjBJQVpxSUJJZ0NFRUZja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUdja0VDZENBR2FpQVNJQWhCQm5KQkFuUWdCbW9xQWdDVU9BSUFJQWRCQjNKQkFuUWdCbW9nRWlBSVFRZHlRUUowSUFacUtnSUFsRGdDQUNBSFFRaHFRUUowSUFacUlCSWdDRUVJY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVKYWtFQ2RDQUdhaUFTSUFoQkNYSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkNtcEJBblFnQm1vZ0VpQUlRUXB5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUXRxUVFKMElBWnFJQklnQ0VFTGNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFTWFrRUNkQ0FHYWlBU0lBaEJESEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJEV3BCQW5RZ0Jtb2dFaUFJUVExeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVE1cVFRSjBJQVpxSUJJZ0NFRU9ja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRVBha0VDZENBR2FpQVNJQWhCRDNKQkFuUWdCbW9xQWdDVU9BSUFJQUJCQW5RZ0NXb2dFaUFNUVFGMElnZEJBblFnQ1dvcUFnQ1VPQUlBSUFCQkFXcEJBblFnQ1dvZ0VpQUhRUUZ5UVFKMElBbHFLZ0lBbERnQ0FDQUFRUUpxSVFBTElBeEJBV29oREF3QkN3c2dBRUVHU0EwQ0lBb2dDU0FHSUFBUXFBTkJBRWdOQXlBRUlBb3FBZ0FnQkNvQ0FKSTRBZ0FnQkNBS0tnSUVJQVFxQWdTU09BSUVJQVFnQ2lvQ0NDQUVLZ0lNa2pnQ0RDQUVJQW9xQWd3Z0JDb0NFSkk0QWhBZ0JDQUtLZ0lRSUFRcUFoU1NPQUlVSUFRZ0Npb0NGQ0FFS2dJY2tqZ0NIQ0FFSUFvcUFoZ2dCQ29DSUpJNEFpQWdCQ0FLS2dJY0lBUXFBaVNTT0FJa0lBVWhFaUFPUVFGcUlRNE1BUXNMSUFZUU9DQUpFRGdnRFJBNElBc1FPRU1ndkw1TUlRVU1Bd3NnQmhBNElBa1FPQ0FORURnZ0N4QTRRd0FBZ0w4aEJRd0NDeUFHRURnZ0NSQTRJQTBRT0NBTEVEaERJTHkrVENFRkRBRUxJQVlRT0NBSkVEZ2dEUkE0SUFzUU9Bc0xDeUFLSkFZZ0JRdkZDQUlHZnc1OUl3WWhCeU1HUVRCcUpBWWdCMEVvYWlFR0lBZEJJR29oQ0NBRFFRUklCRUJESUx5K1RDRUxCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VMQlFKQUlBTkJCblFRUkNJRlJRUkFRUUJCQTBISzJBSWdDQkE5UXdBQWdMOGhDd3dCQ3lBRFFRTjBFRVFpQ2tVRVFFRUFRUU5CeXRnQ0lBWVFQU0FGRURoREFBQ0F2eUVMREFFTFFRQWhCZ05BSUFaQkEwY0VRRUVBSVFnRFFDQUlRUVJIQkVBZ0JrRUVkQ0FFYWlBSVFRSjBhaUFHUVFSMElBQnFJQWhCQW5ScUtnSUFJQUFxQWl5Vk9BSUFJQWhCQVdvaENBd0JDd3NnQmtFQmFpRUdEQUVMQ3lBRHNpRVlJQU5CQVhRaENFRUFJUVlDUUFKQUEwQUNRRU1BQUFBQUlSSkJBQ0VKQTBBZ0NTQURTQVJBSUFRcUFnQWhEU0FFS2dJRUlSQWdCQ29DRENFUklBUXFBaEFoRXlBRUtnSVVJUlFnQkNvQ0hDRUxJQWxCREd3Z0Ftb3FBZ0FpRGlBRUtnSWdsQ0FKUVF4c0lBSnFLZ0lFSWc4Z0JDb0NKSlNTUXdBQWdEK1NJZ3hEQUFBQUFGc05BaUFKUVFOMElBRnFLZ0lFSUFzZ0RpQVRsQ0FQSUJTVWtwSWlGeUFNbFpNaEZTQUpRUUYwSWdCQkFuUWdDbW9nQ1VFRGRDQUJhaW9DQUNBUklBMGdEcFFnRUNBUGxKS1NJaEFnREpXVEloRTRBZ0FnQUVFQmNrRUNkQ0FLYWlBVk9BSUFJQWxCQkhRaUFFRUNkQ0FGYWlBT0lBeVZJaE00QWdBZ0FFRUJja0VDZENBRmFpQVBJQXlWSWhRNEFnQWdBRUVDY2tFQ2RDQUZha01BQUlBL0lBeVZJZ3M0QWdBZ0FFRURja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJCSEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUVZ5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVHY2tFQ2RDQUZhaUFPSUJDVWpDQU1JQXlVSWcyVk9BSUFJQUJCQjNKQkFuUWdCV29nRHlBUWxJd2dEWlU0QWdBZ0FFRUlja0VDZENBRmFrTUFBQUFBT0FJQUlBQkJDWEpCQW5RZ0JXcERBQUFBQURnQ0FDQUFRUXB5UVFKMElBVnFRd0FBQUFBNEFnQWdBRUVMY2tFQ2RDQUZhaUFUT0FJQUlBQkJESEpCQW5RZ0JXb2dGRGdDQUNBQVFRMXlRUUowSUFWcUlBczRBZ0FnQUVFT2NrRUNkQ0FGYWlBT0lCZVVqQ0FObFRnQ0FDQUFRUTl5UVFKMElBVnFJQThnRjVTTUlBMlZPQUlBSUJJZ0VTQVJsQ0FWSUJXVWtwSWhFaUFKUVFGcUlRa01BUXNMSUJJZ0dKVWlDMFBOek13OVhRMERJQVpCQUVjZ0MwTUFBSUJBWFhFRVFDQUdRUXBHSUFzZ0ZwVkRwSEI5UDE1eURRUUZJQVpCQ2tZTkJBc2dCeUFLSUFVZ0NCQ29BMEVBU0EwQ0lBUWdCeW9DQUNBRUtnSUFramdDQUNBRUlBY3FBZ1FnQkNvQ0JKSTRBZ1FnQkNBSEtnSUlJQVFxQWd5U09BSU1JQVFnQnlvQ0RDQUVLZ0lRa2pnQ0VDQUVJQWNxQWhBZ0JDb0NGSkk0QWhRZ0JDQUhLZ0lVSUFRcUFoeVNPQUljSUFRZ0J5b0NHQ0FFS2dJZ2tqZ0NJQ0FFSUFjcUFod2dCQ29DSkpJNEFpUWdDeUVXSUFaQkFXb2hCZ3dCQ3dzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQWdzZ0JSQTRJQW9RT0VNZ3ZMNU1JUXNNQVFzZ0JSQTRJQW9RT0FzTEN5QUhKQVlnQ3d1N0JnSU1md1I5SXdZaENTTUdRZEFBYWlRR0lBbEJNR29oRUNBSlFjd0FhaUVNSUFsQnlBQnFJUTBnQ1VGQWF5RU9JQWxCT0dvaER5QUFzaUVVSUFHeUlSVWdCVUhNSldvaEVVRUFJUUZCQUNFQUFuOENRQU5BQWtBZ0NDQURLQUlFVGcwQ1FRQWhDd05BSUF0QkEwY0VRRUVBSVFZRFFDQUdRUVJIQkVBZ0MwRUVkQ0FKYWlBR1FRSjBhaUFJUVRCc0lBSnFJQXRCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQzBFQmFpRUxEQUVMQzBFQUlRY2dBeWdDQUNBSVFmQUFiR29vQWdRaEJnTkFJQWNnQmlnQ0JFZ0VRRUVBSVFvRFFDQUtJQVlvQWdBaUN5QUhRUlJzYWlnQ0JFZ0VRRUVBSUFrZ0IwRVViQ0FMYWlnQ0FDSUdJQXBCRkd4cUtnSUlJQXBCRkd3Z0Jtb3FBZ3dnRENBTkVJSUVRUUJJSUF3cUFnQWlFa01BQUFBQVhYSkZCRUFnRFNvQ0FDSVRJQlZnSUJOREFBQUFBRjBnRWlBVVlISnlSUVJBQWtBZ0RpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDQUhRUlJzYWlnQ0FDSUdJQXBCRkd4cUtBSUlOZ0lBSUE0Z0NrRVViQ0FHYWlnQ0REWUNCRUVBSUFrZ0RpQVBFSWNFSUE4cUFnUWlFaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0lHSUFkQkZHeHFLZ0lNSWhOZkJFQWdFaUFIUVJSc0lBWnFLZ0lRWUFSQUlBQkJ5QUZHRFFrZ0FFRVliQ0FFYWlBSU5nSUFJQUJCR0d3Z0JHb2dCellDQkNBQVFSaHNJQVJxSUFvMkFnZ2dBRUVZYkNBRWFpQU1LQUlBTmdJUUlBQkJHR3dnQkdvZ0RTZ0NBRFlDRkNBQVFSaHNJQVJxUVFBMkFnd2dBRUVCYWlFQURBSUxDeUFTSUJOREFBQUFRSlJmQkVBZ0VpQUhRUlJzSUFacUtnSVFRd0FBQUQrVVlBUkFJQUZCeUFGR0JIOGdFVUYvTmdJQVFjZ0JCU0FCUVJoc0lBVnFJQWcyQWdBZ0FVRVliQ0FGYWlBSE5nSUVJQUZCR0d3Z0JXb2dDallDQ0NBQlFSaHNJQVZxSUF3b0FnQTJBaEFnQVVFWWJDQUZhaUFOS0FJQU5nSVVJQUZCR0d3Z0JXcEJBRFlDRENBQlFRRnFDeUVCQ3dzTEN3c2dDa0VCYWlFS0lBTW9BZ0FnQ0VId0FHeHFLQUlFSVFZTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQ0VFQmFpRUlEQUVMQzBFQVFRTkIyZGdDSUJBUVBTQUVRY3dsYWd3QkN5QUFRUmhzSUFScVFYODJBZ3dnQVVFWWJDQUZha0VNYWd0QmZ6WUNBQ0FKSkFZTHd3Y0NEbjhJZlNNR0lRVWpCa0hRQUdva0JpQUZRVEJxSVJBZ0JVSE1BR29oRENBRlFjZ0FhaUVOSUFWQlFHc2hEaUFGUVRocUlROGdBQ2dDQUxJaEdTQUFLQUlFc2lFYUlBUkJ6Q1ZxSVJFQ2Z3SkFBMEFDUUNBS0lBSW9BZ1JPRFFKQkFDRUhBMEFnQjBFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBSFFRUjBJQVZxSUFaQkFuUnFJQXBCTUd3Z0FXb2dCMEVFZEdvZ0JrRUNkR29vQWdBMkFnQWdCa0VCYWlFR0RBRUxDeUFIUVFGcUlRY01BUXNMUVFBaEJpQUNLQUlBSUFwQjhBQnNhaWdDQkNFSEEwQWdCaUFIS0FJRVNBUkFRUUFoQ3dOQUlBc2dCeWdDQUNJU0lBWkJGR3hxS0FJRVNBUkFJQUFnQlNBR1FSUnNJQkpxS0FJQUlnY2dDMEVVYkdvcUFnZ2dDMEVVYkNBSGFpb0NEQ0FNSUEwUWdnUkJBRWdnRENvQ0FDSVRRd0FBQUFCZGNrVUVRQ0FOS2dJQUloUWdHbUFnRkVNQUFBQUFYU0FUSUJsZ2NuSkZCRUFDUUNBRktnSU1JQVVxQWdBZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBZ0JrRVViR29vQWdBaUJ5QUxRUlJzYWlvQ0NDSVRsQ0FGS2dJRUlBdEJGR3dnQjJvcUFnd2lGSlNTa2lJV0lCYVVJQVVxQWh3Z0V5QUZLZ0lRbENBVUlBVXFBaFNVa3BJaUZ5QVhsSklnQlNvQ0xDQVRJQVVxQWlDVUlCUWdCU29DSkpTU2tpSVlJQmlVa3BFaEZTQUZLZ0lvSUJnZ0ZaV1VJQVVxQWdnZ0ZpQVZsWlFnQlNvQ0dDQVhJQldWbEpLU1E4M016TDFlUlFSQUlBNGdFemdDQUNBT0lCUTRBZ1FnQUNBRklBNGdEeENIQkNBUEtnSUVJaE1nQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FpQnlBR1FSUnNhaW9DRENJVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUdBRVFDQUpRY2dCUmcwS0lBbEJHR3dnQTJvZ0NqWUNBQ0FKUVJoc0lBTnFJQVkyQWdRZ0NVRVliQ0FEYWlBTE5nSUlJQWxCR0d3Z0Eyb2dEQ2dDQURZQ0VDQUpRUmhzSUFOcUlBMG9BZ0EyQWhRZ0NVRVliQ0FEYWtFQU5nSU1JQWxCQVdvaENRd0RDd3NnRXlBVVF3QUFBRUNVWHdSQUlCTWdCa0VVYkNBSGFpb0NFRU1BQUFBL2xHQUVRQ0FJUWNnQlJnUi9JQkZCZnpZQ0FFSElBUVVnQ0VFWWJDQUVhaUFLTmdJQUlBaEJHR3dnQkdvZ0JqWUNCQ0FJUVJoc0lBUnFJQXMyQWdnZ0NFRVliQ0FFYWlBTUtBSUFOZ0lRSUFoQkdHd2dCR29nRFNnQ0FEWUNGQ0FJUVJoc0lBUnFRUUEyQWd3Z0NFRUJhZ3NoQ0FzTEN3c0xDeUFMUVFGcUlRc2dBaWdDQUNBS1FmQUFiR29vQWdRaEJ3d0JDd3NnQmtFQmFpRUdEQUVMQ3lBS1FRRnFJUW9NQVFzTFFRQkJBMEhaMkFJZ0VCQTlJQU5CekNWcURBRUxJQWxCR0d3Z0EycEJmellDRENBSVFSaHNJQVJxUVF4cUMwRi9OZ0lBSUFVa0JndlZFUUlVZndGOUl3WWhCU01HUVRCcUpBWWdCU0lNUVNocUlSSWdCVUVnYWlFVElBQkJBRWNnQVVFQVIzRWdBa0VBUjNFZ0EwRUFSM0VnQkVFQVIzRUVmeUFCS0FLWUFVRUJTQVIvUVg0RkFuOGdCRU1BQUFBQU9BSUFJQUZCQ0dvaERTQUJRVGhxSVFnZ0FVSG9BR29oQ2tFQUlRVURRQ0FGSUFFb0FnUklCRUFnRFNBQktBSUFJQVZCOEFCc2FrRU1haUFBUVRCcUlBVkJNR3hxRUxJQ0lBRW9BcGdCUVFGS0JFQWdDQ0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRWkFFYWlBRlFUQnNhaEN5QWlBQktBS1lBVUVDU2dSQUlBb2dBU2dDQUNBRlFmQUFiR3BCREdvZ0FFSHdCMm9nQlVFd2JHb1FzZ0lMQ3lBRlFRRnFJUVVNQVFzTElBQW9BZ0JCQVVZRVFDQUFRUXhxSWhRb0FnQWdBRUV3YWlBQklBQkI4QlJxSWc0Z0FFSElPbW9pQ2hETkJpQUFRUVJxSVE4Z0FFRUlhaUVRQlNBQVFRUnFJZzhvQWdBZ0FFRUlhaUlRS0FJQUlBQkJNR29nQVNBQVFmQVVhaUlPSUFCQnlEcHFJZ29RekFZZ0FFRU1haUVVQ3lBQVFlRG5BR29oRnlBQlFad0JhaUVWSUFCQjBBdHFJUllnRGlFSUEwQUNRQ0FMSUFBb0FpUk9EUUJCQUNFSklBWWhCeUFJSVFVRFFBSkFJQWtnRnlnQ0FFNEVRQ0FGSVFnTUFRc2dDeUFBS0FJa1JnUkFJQVVoQ0F3QkN5QUZJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJFQWdCU0FPUndSQUlBVWhDQXdDQ3lBS0lCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkg4Z0NpRUlEQUlGSUFvTElRVUxJQWxCQW5RZ0RHb2dDRUVZYkNBRmFpSVJOZ0lBSUFCQjBBdHFJQWRCQTNScUlBaEJHR3dnQldvb0FoQTJBZ0FnQUNBSFFRTjBha0hVQzJvZ0NFRVliQ0FGYWlnQ0ZEWUNBQ0FBUWVUbkFHb2dDVUUwYkdvZ0FEWUNBQ0FBSUFsQk5HeHFRZWpuQUdvZ0FUWUNBQ0FBSUFsQk5HeHFRZXpuQUdvZ0VUWUNBQ0FBSUFsQk5HeHFRZkRuQUdvZ0FqWUNBQ0FKUVFGcUlRa2dCaUFIUVFGcUlnZ2dDRUVGUmhzaEJ5QUxRUUZxSVFzTUFRc0xJQWxGRFFCQkFDRUhJQVloQlFOQUlBY2dDVWNFUUNBQUlBZEJOR3hxUVpUb0FHb2dBRUhrNXdCcUlBZEJOR3hxS0FJQUlBQWdCMEUwYkdwQjZPY0FhaWdDQUNBQUlBZEJOR3hxUWV6bkFHb29BZ0FnQUNBSFFUUnNha0h3NXdCcUtBSUFJQUFnQjBFMGJHcEI5T2NBYWlnQ0FDQUFJQWRCTkd4cVFmam5BR29nQUNBSFFUUnNha0g4NXdCcUlnWVF5QVlpRVRZQ0FDQVJSUVJBSUFZcUFnQWdBQ29DS0Y0RVFDQUFLQUlBUVFGR0JFQWdGQ2dDQUNJR1FlZ0FhaUFBSUFkQk5HeHFRWURvQUdvcUFnQzdJQUFnQjBFMGJHcEJoT2dBYWlvQ0FMc2dFaUFUSUFZb0FyQUJFTjhFSUFCQjBBNXFJQVZCQTNScUlCSXJBd0MyT0FJQUlBQWdCVUVEZEdwQjFBNXFJQk1yQXdDMk9BSUFCU0FBUWRBT2FpQUZRUU4wYWlBQUlBZEJOR3hxUVlEb0FHb29BZ0EyQWdBZ0FDQUZRUU4wYWtIVURtb2dBQ0FIUVRSc2FrR0U2QUJxS0FJQU5nSUFDeUFBUVpBUmFpQUZRUXhzYWlBQUlBZEJOR3hxUVlqb0FHb29BZ0EyQWdBZ0FDQUZRUXhzYWtHVUVXb2dBQ0FIUVRSc2FrR002QUJxS0FJQU5nSUFJQUFnQlVFTWJHcEJtQkZxSUFBZ0IwRTBiR3BCa09nQWFpZ0NBRFlDQUNBQVFkQUxhaUFGUVFOMGFpQUhRUUowSUF4cUtBSUFJZ1lvQWhBMkFnQWdBQ0FGUVFOMGFrSFVDMm9nQmlnQ0ZEWUNBQ0FBUWFEZ0FHb2dCVUVZYkdvZ0JpZ0NBRFlDQUNBQUlBVkJHR3hxUWFUZ0FHb2dCaWdDQkRZQ0FDQUFJQVZCR0d4cVFhamdBR29nQmlnQ0NEWUNBQ0FBSUFWQkdHeHFRYXpnQUdwQkFEWUNBQ0FGUVFGcUlRVUxDeUFIUVFGcUlRY01BUXNMSUFVaEJnd0JDd3RCQUNFQ0EwQWdBaUFHU0FSQUlBRkJuQUZxSUFKQkdHeHFJZ1VnQUVHZzRBQnFJQUpCR0d4cUlnZ3BBZ0EzQWdBZ0JTQUlLUUlJTndJSUlBVWdDQ2tDRURjQ0VDQUNRUUZxSVFJTUFRc0xJQUVnQmtFWWJHcEJmellDcUFFZ0JrRURTQ0VDSUFBb0FnQkJBVVlFUUNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0FDZ0NFQ0FOSUFCQjBBNXFJZ0lnQUVHUUVXb2lCU0FHSUFOQkFCRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZWsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFFQXpNK00vRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFLQ1ptZGsvRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUFLQUlRUkFBQUFBQUFBQUFBRUkwQklBUWdBQ2dDRUNBRElBSWdCU0FHSUFOQkFSRGJBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUJRUUEyQXBnQlFYd01CZ3NMQ3dzTEJTQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdEU0FBUWRBT2FpSUNJQUJCa0JGcUlnVWdCaUFEUVFCREFBQ0FQeERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlE4M01URDhRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQkNBRElBSWdCU0FHSUFOQkFVT2FtUmsvRU5vQkloazRBZ0FnR1NBQUtnSXNYZ1JBSUFRZ0F5QUNJQVVnQmlBRFFRRkR6Y3pNUGhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRd0FBQUFBUTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0FVRUFOZ0tZQVVGOERBWUxDd3NMQ3dzZ0FTQUJLQUtZQVVFQmFqWUNtQUZCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FCUWVnQWFpQUFRUVIwYWlBQ1FRSjBhaUFCUVRocUlBQkJCSFJxSUFKQkFuUnFLQUlBTmdJQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDMEVBSVFBRFFDQUFRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUZCT0dvZ0FFRUVkR29nQWtFQ2RHb2dBVUVJYWlBQVFRUjBhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJBV29oQUF3QkN3dEJBQ0VBQTM4Z0FFRURSZ1IvUVFBRlFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFocUlBQkJCSFJxSUFKQkFuUnFJQUJCQkhRZ0Eyb2dBa0VDZEdvb0FnQTJBZ0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEN3c0ZRWDhMSVJnZ0RDUUdJQmdMd1FFQkEzOGpCaUVFSXdaQkVHb2tCa0drNndBUVJDSURSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQkVFSWFpRUZJQU1nQURZQ0ZDQURJQUUyQWdRZ0F5QUNOZ0lJSUFOQkdUWUNHQ0FEUVFzMkFod2dBMEVMTmdJZ0lBTkJDallDSkNBRFE1cVpHVDg0QWlnZ0EwTUFBQUJBT0FJc0lBTkI0T2NBYWtFQk5nSUFJQU5COU9jQWFpQUJJQUpzRUVRaUFEWUNBQ0FBQkVBZ0EwSDQ1d0JxUVFBMkFnQWdCQ1FHSUFNUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxMd0FnQUNnQ0NDQUJRUUowYWlJQktBSUFCSDhnQVVFQU5nSUFJQUFnQUNnQ0FFRi9hallDQUVFQUJVRi9DeG9MUGdBZ0FTQUFLQUlBSUFBb0FnUVF6d1lpQVVFQk5nSUFJQUVnQURZQ0RDQUJJQUJCQ0dvUTR3SWlBRFlDRUNBQVJBQUFBQUFBQUFBQUVJMEJJQUVMdWdFQkJuOGdBQ2dDQUNFQlFiVEVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRYkRFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXY3QWdFR2Z5TUdJUU1qQmtFd2FpUUdJQU5CR0dvaEJTQURRUkJxSVFZZ0EwRUlhaUVISUFOQklHb2lBaUFBTmdJQUlBTkJIR29pQkNBQk5nSUFJQUlRVXdSL0FuOGdBaEJTSVFBZ0JCRFNCZ1IvSUFCQkNHb2lBU0FFRUt3RFFiZ0JFRXdhSUFBb0Fnd2hBZ0pBQWtBZ0FTZ0NBQ0lFSUFBb0F0QUJSdzBBSUFBb0F0UUJJQUpIRFFBTUFRc2dBeUFFTmdJQUlBTWdBallDQkVFQVFRSkJtZGNDSUFNUVBTQUJJQUFvQXRBQklBQW9BdFFCSUFFUStRc0xJQUFRcVFNZ0FDQUJFTHdMSWdJMkFzQUJJQUpGQkVCQkFFRURRY2pYQWlBSEVEMUJmd3dDQ3lBQUlBSVFvZ2tpQWpZQzJBRWdBa1VFUUVFQVFRTkI3dGNDSUFZUVBVRi9EQUlMSUFJZ0FDZ0MyQU1RNHdnZ0FDQUJRUWhxRUs4SklnRTJBdVFCSUFFRVFDQUFLQUxZQVNBQUtBTGNBUkRIQnlBQUtBTEFBU0FBS3dPNEFpQUFLd1BBQWlBQVFkZ0NhaERHQ3lBQUlBQW9Bc0FCRUlBRU5nTG9BUVZCQUVFRFFaUFlBaUFGRUQwTFFRQUZRWDhMQ3dWQmZ3c2FJQU1rQmdzekFRSi9Jd1loQkNNR1FSQnFKQVlnQkNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQURZQ0FDQUVLQUlBSVFVZ0JDUUdJQVVMN3dJQkNIOGdBU2dDQUNJRktBSUVJUU5Cb01RREtBSUFJZ1JCZjJvaEJpQUVJQVp4UlNJSUJIOGdBeUFHY1FVZ0F5QUVUd1IvSUFNZ0JCQk9CU0FEQ3dzaEEwR2N4QU1vQWdBZ0EwRUNkR29pQnlnQ0FDRUJBMEFnQlNBQktBSUFJZ0pIQkVBZ0FpRUJEQUVMQ3dKL0FrQWdBVUdreEFOR0RRQWdBU2dDQkNFQ0lBZ0VmeUFDSUFaeEJTQUNJQVJQQkg4Z0FpQUVFRTRGSUFJTEN5QURSdzBBSUFVTUFRc2dCU2dDQUNJQ0JFQWdBaWdDQkNFQ0lBVWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJQU5HRFFFYUN5QUhRUUEyQWdBZ0JRc2lDU2dDQUNJQ0lRY2dBU0FDQkg4Z0FpZ0NCQ0VDSUFNZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElnSkhCSDlCbk1RREtBSUFJQUpCQW5ScUlBRTJBZ0FnQlNnQ0FBVWdCd3NGSUFjTE5nSUFJQWxCQURZQ0FFR294QU5CcU1RREtBSUFRWDlxTmdJQUlBQWdCVFlDQUNBQVFhVEVBellDQkNBQVFRRTZBQWdMWlFFQmZ5TUdJUUVqQmtFZ2FpUUdJQUFvQWdBaUFDZ0NBQm9nQVNBQU5nSUFJQUZCRUdvaUFDQUJLQUlBTmdJQUlBRkJCR29nQUJEVkJpQUJLQUlFSVFBZ0FVRUFOZ0lFSUFBRVFDQUJMQUFNQkVBZ0FFRVFhaEN6QXdzZ0FCQTRDeUFCSkFZTE9RRUNmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFBRUZNaUFBUkFJQUVnQURZQ0FDQUNJQUVvQWdBMkFnQWdBaERXQmdzZ0FTUUdDeThCQW44akJpRUNJd1pCRUdva0JpQUNJQUVnQUVIL0FIRkJDR29SQUFBMkFnQWdBaWdDQUNFRElBSWtCaUFEQzFBQkFuOGpCaUVESXdaQkVHb2tCaUFCSUFJb0FnQWdBQkNxQXlJQk5nSUFJQUZCQUVnRWZ5QURJQUEyQWdCQkFFRURRZlRUQWlBREVEMGdBaWdDQUJDNEFrRUFCVUVCQ3lFRUlBTWtCaUFFQzBFQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJUXJRTWdBMEVNYWlJQ0lBRWdBeUFBUVQ5eFFZb0JhaEVDQURZQ0FDQUNLQUlBSVFRZ0F4QkhJQU1rQmlBRUMzd0JBbjhqQmlFRUl3WkJFR29rQmlBRElBQWdBaWdDQUJEbENTSUFOZ0lBSUFBRWZ3Si9Ba0FDUUFKQUlBQW9BbXdPQWdBQkFnc2dBVUVBRUlvQ0drRUJEQUlMSUFGQkFoQ0tBaHBCQVF3QkN5QUJRUU1RaWdJYVFRRUxCVUVBUVFOQnJkTUNJQVFRUFNBQ0tBSUFFTGdDUVFBTElRVWdCQ1FHSUFVTG5BTUJEMzhqQmlFREl3WkI0QUJxSkFZZ0EwSFFBR29oQ2lBRFFjZ0FhaUVMSUFOQlFHc2hEQ0FEUVRocUlRVWdBMEV3YWlFR0lBTkJLR29oRFNBRFFTQnFJUTRnQTBFWWFpRVBJQU5CRUdvaEJ5QURRUWhxSVFnZ0FDZ0M2QUVoRUNBRFFkZ0FhaUlFUVFBMkFnQWdBeUFDTmdJQVFRQkJBVUh1MEFJZ0F4QTlJQUlnQTBIVUFHb2lDUkNoQ1VFQVNBUi9JQWdnQWpZQ0FFRUFRUU5CaHRFQ0lBZ1FQVUVBQlFKL0lBY2dBVFlDQUVFQVFRRkJyTkVDSUFjUVBTQUpLQUlBSUFFUW9BbEJBRWdFUUVFQVFRTkJ4ZEVDSUE4UVBVRUFEQUVMSUFRZ0NSQ2pDVUVBU0FSQVFRQkJBMEhwMFFJZ0RoQTlRUUFNQVF0QkFFRUJRWVRTQWlBTkVEMGdCaUFDTmdJQVFRQkJBVUdOMGdJZ0JoQTlJQUJCK0FGcUlBRkJBblJxSUFJUXJna2lBRFlDQUNBQVJRUkFJQVVnQWpZQ0FFRUFRUU5CbzlJQ0lBVVFQUXRCQUVFQlFZVFNBaUFNRUQwZ0FVRUtSZ1JBUVg4UUFRc2dFQ0FFS0FJQUVKNEpRUUJJQkg5QkFFRURRY1RTQWlBTEVEMUJBQVVnQkJEL0EwRUFRUUZCM2RJQ0lBb1FQVUVCQ3dzTElSRWdBeVFHSUJFTE1RRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FTQUNJQUJCUDNGQmlnRnFFUUlBTmdJQUlBTW9BZ0FoQkNBREpBWWdCQXVZQVFFQ2Z5QUFRUUZHQkg5QkFnVWdBQ0FBUVg5cWNRUi9JQUFRMFFFRklBQUxDeUlBUWJURUF5Z0NBQ0lDU3dSQUlBQVFxd01GSUFBZ0Fra0VRRUc4eEFNb0FnQ3pRY0RFQXlvQ0FKV05FSklCSVFFZ0FrRi9haUFDY1VVZ0FrRUNTM0VFZnlBQlFRRkJJQ0FCUVg5cVoydDBJQUZCQWtrYkJTQUJFTkVCQ3lJQklBQWdBQ0FCU1JzaUFDQUNTUVJBSUFBUXF3TUxDd3NMU0FFQmZ5QUFRY2dCRUZFaUF6WUNBQ0FBUWJqRUF6WUNCQ0FESUFJb0FnQW9BZ0EyQWdnZ0EwRVFha0VBUWJnQkVFVWFJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQ3o4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFUXJRTWdBa0VNYWlJQklBSWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ0VESUFJUVJ5QUNKQVlnQXd2REJnSVFmd0Y4SXdZaEFpTUdRU0JxSkFZZ0FrRVlhaUVOSUFKQkVHb2hBeUFDUVFocUlRUWdBaUVNSUFBRVFBSkFJQUZGQkVCQkFFRURRYTJwQVNBRUVEMUJmeUVFREFFTElBQW9BZ1FoQWtFQUlRUURRQUpBSUFRZ0FrNE5BQ0FBS0FJSUlBUkJBblJxS0FJQVJRMEFJQVJCQVdvaEJBd0JDd3NnQWlBRVJnUkFRWDhoQkFVZ0FSQ0lBeUlMUlFSQVFRQkJBMEhhcVFFZ0F4QTlRWDhoQkF3Q0N5QUVRUUowSVE0Z0N4RDNBaUVCQWtBRFFBSkFJQXBCQkU4TkFpQUtJQTVxSVFoQkFDRUNRUUFoQlFOQUlBVkJBMGtFUUNBRlJTRVBJQVZCQWtZaEVFRUFJUWNnQUNnQ0hDRURBMEFnQnlBRFNBUkFRUUFoQmdOQUlBWWdBMGdFUUNBQlJRMEdJQUVRN2dRaEEwRUFFUGNDSVFFZ0FDZ0NEQ0FJUVFKMGFpZ0NBQ0FGSUFZZ0J5QUFLQUljYkdwQkEyeHFRUUowYWtIL0FTQURheUlETmdJQUlBQW9BaFFnQ0VFQ2RHb29BZ0FpRVNBR0lBY2dBQ2dDSEd4cVFRSjBhaUVKSUE4RVFDQUpJQU0yQWdBRklBa2dBeUFKS0FJQWFqWUNBQ0FRQkVBZ0JpQUhJQUFvQWh4c2FrRUNkQ0FSYWlJSklBa29BZ0JCQXhBNU5nSUFDd3NnQmtFQmFpRUdJQUlnQTJvaEFpQUFLQUljSVFNTUFRc0xJQWRCQVdvaEJ3d0JDd3NnQlVFQmFpRUZEQUVMQ3lBQ0lBQW9BaHdpQWlBQ1FRTnNiQkE1SVFkQkFDRUZRUUFoQXdOQUlBTWdBa0VEYkNBQ2JFa0VRQ0FBS0FJTUlBaEJBblJxS0FJQUlBTkJBblJxSWdZb0FnQWdCMnNoQWlBR0lBSTJBZ0FnQlNBQ0lBSnNhaUVGSUFOQkFXb2hBeUFBS0FJY0lRSU1BUXNMSUFBb0FoQWdDRUVEZEdwRVNLKzhtdkxYZWo0Z0JiZWZJaElnRWtRQUFBQUFBQUFBQUdFYk9RTUFRUUFoQlVFQUlRTURRQ0FESUFJZ0FteEpCRUFnQUNnQ0ZDQUlRUUowYWlnQ0FDQURRUUowYWlJR0tBSUFJQWRySVFJZ0JpQUNOZ0lBSUFVZ0FpQUNiR29oQlNBRFFRRnFJUU1nQUNnQ0hDRUNEQUVMQ3lBQUtBSVlJQWhCQTNScVJFaXZ2SnJ5MTNvK0lBVzNueUlTSUJKRUFBQUFBQUFBQUFCaEd6a0RBQ0FLUVFGcUlRb01BUXNMUVFCQkEwSDJxUUVnRFJBOUlBc1FPRUYvSVFRTUFnc2dDeEE0SUFBb0FnZ2dCRUVDZEdwQkFUWUNBQ0FBSUFBb0FnQkJBV28yQWdBTEN3VkJBRUVEUVpTcEFTQU1FRDFCZnlFRUN5QU1KQVlnQkFzc0FRSi9Jd1loQVNNR1FSQnFKQVlnQVNBQVFRRnhRUVpxRVJBQU5nSUFJQUVvQWdBaEFpQUJKQVlnQWdzdEFnRi9BbndqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUVEY1JFU0FEa0RBQ0FDS3dNQUlRUWdBaVFHSUFRTGpBRUFJQUJCQURZQ3dBRWdBRUVBTmdMRUFTQUFRZ0EzQXN3QklBQkNBRGNDMUFFZ0FFSUFOd0xjQVNBQVFYNDJBdkFCSUFCQkFEWUM5QUVnQUVJQU53S2dBaUFBUWdBM0FxZ0NJQUJCZ0lDQS9BTTJBckFDSUFCRUxVTWM2K0kyR2o4NUE3Z0NJQUJFQUFBQUFBQkFqMEE1QThBQ0lBQkNBRGNDeUFJZ0FFSUFOd0xRQWlBQVFRSTJBdGdEQzBFQkEzOGdBQ2dDQ0NFQkEwQWdBUVJBSUFFb0FnQWhBeUFCRURnZ0F5RUJEQUVMQ3lBQUtBSUFJUUlnQUVFQU5nSUFJQUlFUUNBQUtBSUVHaUFDRURnTEM2d0tBUTEvSXdZaEN5TUdRYUFCYWlRR0lBdEJtQUZxSVFVZ0MwR1FBV29oRHlBTFFZQUJhaUlJUVFBMkFnQWdDRUcyQVRZQ0JDQUlRY01CTmdJSUlBaEJEVFlDREVGL0lRWURRQ0FIUVFSSEJFQWdBQ0FIUVFKMElBaHFLQUlBYWl3QUFDRUtJQWRCQVdvaEJ5QUtJQWtnQ2tIL0FYRWdDVUgvQVhGS0d5RUpJQW9nQmlBS1FmOEJjU0FHUWY4QmNVZ2JJUVlNQVFzTElBbEIvd0Z4SWdjZ0JrSC9BWEVpQ1d0QkhrZ0VmeUFDUVFBMkFnQWdBMFFBQUFBQUFBRHd2emtEQUVGK0JRSi9JQWNnQ1dwQkFYWWhDa0VBSVFjRFFDQUhRUVJIQkVBZ0JTQUhhaUFLSUFBZ0IwRUNkQ0FJYWlnQ0FHb3RBQUJMT2dBQUlBZEJBV29oQnd3QkN3dEJBQ0VKQTBBQ1FDQUpRUVJQRFFBZ0NVRUJhaUVJSUFVZ0NXb3NBQUJCQVVZRVFDQUlRUU54SUFWcUxBQUFRUUZHQkVBZ0NVRUNha0VEY1NBRmFpd0FBRVVOQWdzTElBZ2hDUXdCQ3dzZ0F3SjhBa0FDUUFKQUFrQUNRQUpBQWtBZ0NVSC8vLy8vQjNFT0JRRUNBd1FBQlFzZ0FrRUFOZ0lBSUFORUFBQUFBQUFBOEw4NUF3QkJmUXdIQzBIM0FDRUlRUUFoQlVIL0FTRUhBMEFnQlVFT1JnUkFEQVlGSUFWQmZXb2hEQ0FGUWY3Ly8vOEhjVUVNUmlFTklBVkJEbXdoRGtFQUlRWURRQ0FHUVE1SEJFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQi92Ly8vd2R4SVFNZ0JTQUdja0grLy8vL0IzRUVRQ0FOSUFORklBTkJERVp5Y1VVRVFDQUlJQXRxSUFBZ0JpQU9hbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxBQUFMQUF0Qjl3QWhDRUgvQVNFSFFRQWhCZ05BSUFaQkRrWUVRQXdGQlNBR1FYMXFJUXdnQmtIKy8vLy9CM0VpQlVVaERTQUZRUXhHSVE1QkRTRUZBMEFnQlVGL1NnUkFJQVZCZldvZ0RISkJDRThFUUNBTklBVkJmbkZCREVZaUEzRkZCRUFnRGlBRElBVkJBa2x5Y1VVRVFDQUlJQXRxSUFBZ0JpQUZRUTVzYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVZCZjJvaEJRd0JDd3NnQmtFQmFpRUdEQUVMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUXdnQlVGK2NVRU1SaUFGUVFKSmNpRU5JQVZCRG13aERrRU5JUVlEUUNBR1FYOUtCRUFnRENBR1FYMXFja0VJVHdSQUlBWkJmbkZCREVZZ0RYRWdCU0FHY2tFQ1NYSkZCRUFnQ0NBTGFpQUFJQVlnRG1wcUxRQUFJQXBySWdOQkgzWTZBQUFnQ0VGL2FpRUlJQU5CQUNBRGF5QURRWDlLR3lJRElBY2dBeUFIU0JzaEJ3c0xJQVpCZjJvaEJnd0JDd3NnQlVGL2FpRUZEQUVGREFRTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVEwZ0JVRitjU0lNUVF4R0lRNGdERVVoRUVFQUlRWURRQ0FHUVE1SEJFQWdCa0Y5YWlBTmNrRUlUd1JBSUE0Z0JrSCsvLy8vQjNFaUEwVnhSUVJBSUFNZ0RISkZJQkFnQTBFTVJuRnlSUVJBSUFnZ0Myb2dBQ0FGSUFaQkRteHFhaTBBQUNBS2F5SURRUjkyT2dBQUlBaEJmMm9oQ0NBRFFRQWdBMnNnQTBGL1Noc2lBeUFISUFNZ0IwZ2JJUWNMQ3dzZ0JrRUJhaUVHREFFTEN5QUZRWDlxSVFVTUFRVU1Bd3NBQUFzQUN5QUNJQWsyQWdCRUFBQUFBQUFBOEQ4TUFRc2dCeUVBSUFJZ0NUWUNBRVFBQUFBQUFBRHdQeUFBdDBRQUFBQUFBQUErUUtNZ0FFRWVTaHNMT1FNQVFZNFdRZ0FnQ3lBUEVMVURJZ0JCQUVnRWYwRjhCU0FFQkVBZ0JDQUFOZ0lBQ3lBQklBOHBBd0EzQXdCQkFBc0xDeUVSSUFza0JpQVJDNWdCQVFKL0lBQkJBVVlFZjBFQ0JTQUFJQUJCZjJweEJIOGdBQkRSQVFVZ0FBc0xJZ0JCb01RREtBSUFJZ0pMQkVBZ0FCQ3lBd1VnQUNBQ1NRUkFRYWpFQXlnQ0FMTkJyTVFES2dJQWxZMFFrZ0VoQVNBQ1FYOXFJQUp4UlNBQ1FRSkxjUVIvSUFGQkFVRWdJQUZCZjJwbmEzUWdBVUVDU1JzRklBRVEwUUVMSWdFZ0FDQUFJQUZKR3lJQUlBSkpCRUFnQUJDeUF3c0xDd3RQQVFGL0lBQkI4QU1RVVNJRE5nSUFJQUJCcE1RRE5nSUVJQU1nQWlnQ0FDZ0NBRFlDQ0NBRFFSQnFJZ0pCQUVIZ0F4QkZHaUFDRU9RR0lBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NGRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxYd0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFaUFFRUFSeUFCUVFKSmNRUi9JQUFnQVRZQ0ZFRUFCVUYvQzBVRVFDQUNJQUUyQWdCQkFFRUJRWnkyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJTU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ZkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0lBUVFCSElBRkJBa2x4Qkg4Z0FDQUJOZ0lNUVFBRlFYOExSUVJBSUFJZ0FUWUNBRUVBUVFGQnViWUNJQUlRUFFzTElBSWtCZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRN2dnZ0FpZ0NBQVZCZndzaEF5QUJKQVlnQXd0QkFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaWdDMkFFaUFBUi9JQUJCbUlldkEyb2dBVFlDQUVFQUJVRi9DeG9MSUFJa0JndDdBZ0ovQW53akJpRUJJd1pCRUdva0JpQUJRUWhxSWdJZ0FEWUNBQ0FDRUZNRWZDQUNFRklvQXRnQklnQUVmQ0FBQkg4Z0FTQUFRWkNIcndOcUt3TUFPUU1BUVFBRlFYOExSU0VBSUFFckF3QkVBQUFBQUFBQThMOGdBQnNGUkFBQUFBQUFBUEMvQ3dWRUFBQUFBQUFBOEw4TElRUWdBU1FHSUFRTEtnRUNmd0ovSXdZaEFTTUdRUkJxSkFaQjc2Z0NRUU5COUlZQlFkSzJBa0VCUVFFUUNTQUJDeVFHQzNFQ0FuOEJmQ01HSVFJakJrRVFhaVFHSUFKQkNHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpRUFJQUZEQUFBQUFGOGdBVU1BQUlBL1lISkZCRUFnQWJzaEJDQUFLQUxZQVNJQUJFQWdBQ0FFRU9vSVJRUkFJQUlnQkRrREFFRUFRUUZCMTdZQ0lBSVFQUXNMQ3dzZ0FpUUdDMWdCQTM4akJpRUJJd1pCRUdva0JpQUJRUVJxSVFJZ0FTQUFOZ0lBSUFFUVV3Ui9JQUVRVWlnQzJBRWlBQVIvSUFJZ0FDZ0NHRFlDQUVFQUJVRi9DMFVoQUNBQ0tBSUFRWDhnQUJzRlFYOExJUU1nQVNRR0lBTUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSkJCR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaWdDMkFFZ0FSQ0tBa1VFUUNBQ0lBRTJBZ0JCQUVFQlFmYTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlRTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RyQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTSVFBZ0FVSC9BVTBFUUNBQUtBTFlBU0lBUlNBQlFmOEJTM0lFZjBGL0JTQUFJQUUyQWhCQkFBdEZCRUFnQWlBQk5nSUFRUUJCQVVHWnR3SWdBaEE5Q3dzTElBSWtCZ3RKQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRL1FoRklRQWdBaWdDQUVGL0lBQWJCVUYvQ3lFRElBRWtCaUFEQzBvQkFuOGpCaUVDSXdaQkVHb2tCaUFDUVFScUlnTWdBRFlDQUNBREVGTUVRQ0FERUZJb0F0Z0JJQUVRK3dORkJFQWdBaUFCTmdJQVFRQkJBVUd6dHdJZ0FoQTlDd3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE4QUNCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUVBBQWdzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBN2dDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FPNEFnc2dBaVFHQ3lzQkFuOENmeU1HSVFFakJrRVFhaVFHUVoybkFrRUJRYUNIQVVIV3R3SkIwZ0JCQVJBSklBRUxKQVlMQ1FCQjBJVUJLQUlBQzVzRUFnSi9BWDRqQmlFVEl3WkJrT0FBYWlRR0lCTkJnT0FBYWlFVUlBSkJmbXBCQTBrRVFBSkFJQkJCamhaSEJFQWdBVUVDSUJCQi93RnhJaFFnRkVFRGJDQURJQVFnQlNBR0lBY2dDQ0FKSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBSUxJQk1nRkNBTklBNGdEeUFRSUJFUXFRY2hEU0FTUlEwQklCSkNBRGNEQUF3QkN5QUJRUUpCRGtFcUlBTWdCQ0FGSUFZZ0J5QUlSQUFBQUFBQUFPdy9JQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFFTElCTWdGQ0FPSUE4Z0VSRG1CaUlPUVFCSUJFQWdEVUYvTmdJQUlBNGhEUXdCQ3lBVUtRTUFJaFZDZjFFRVFDQU5RWDgyQWdCQmV5RU5EQUVMSUEwZ0ZhZEIvLzhCY1VFQUlCVkNnSUQrL3crRFVCczJBZ0FnRWdSQUlCSWdGVGNEQUFzZ0RpRU5Dd1ZCQVNFTkN3Si9Ba0FDUUNBQ0RnVUFBQUVBQUFFTElBQkZCRUFnQ2tGL05nSUFRWDhNQWdzZ0FDZ0NIQ0lPUVFKMElROENRQUpBSUFJT0JBQUJBUUFCQ3lBQlFRQWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQU1GSUFCQkFDQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUF3c0FDeUFCUVFFZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBSUZJQUJCQVNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQWdzQUMwRUJDeUVBSUExQkFVY0VRQ0FOSUFCQkFDQUFJQTF4UVFCSUd5QUFRUUZHR3lFQUN5QVRKQVlnQUFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHUnB3SkJBa0draHdGQjJiY0NRUzVCOGdBUUNTQUJDeVFHQ3dzQVFkQ0ZBU0FBTmdJQUN6a0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFVSGtocWNDYWlnQ0FBVkJBQXNoQWlBQkpBWWdBZ3RCQVFOL0l3WWhBU01HUVJCcUpBWWdBVUVFYWlFQ0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JJQUlRZ0FrZ0FpZ0NBQVZCQUFzaEF5QUJKQVlnQXd0YkFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0tBTFlBU0FCUVFCSElnQVEvUU1nQWtIZHR3SkI0YmNDSUFBYk5nSUFRUUJCQVVIbXR3SWdBaEE5QlVFQUlRRUxJQUlrQmlBQkMrRUZBZ3AvQVgwakJpRUNJd1pCMEFCcUpBWWdBa0U0YWlFSUlBSkJNR29oQ1NBQ1Fjd0FhaUVFSUFKQnhBQnFJUVVnQWtGQWF5RUhJQUpCeUFCcUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpSURLQUwwQVNBQlRBUkFRZkNHQVNnQ0FBd0JDeUFFUVFBMkFnQWdCVUYvTmdJQUlBZERBQUNBdnpnQ0FBSkFBa0FnQXlnQzhBRWlBRUYrUmdSQUlBTW9BdWdCSUFNb0Fzd0JFSmNKSUFNb0F1Z0JJZ0FFZnlBRUlBQW9BalEyQWdBZ0JTQUFLQUk0TmdJQVFRQUZRWDhMR2lBRktBSUFJUVlnQkNnQ0FDRUZRWDhoQUVFQUlRUURRQ0FFSUFaSUJFQWdBU0FFUWNRQWJDQUZhaWdDTUVZRVFDQUVRY1FBYkNBRmFpZ0NQRVVFUUFKQUlBY2dBRUYvUmdSL0lBUkJ4QUJzSUFWcUtBSTBCU0FIS2dJQUlBUkJ4QUJzSUFWcUtnSTBJZ3hlUlEwQklBeThDellDQUNBRUlRQUxDd3NnQkVFQmFpRUVEQUVMQ3lBQVFYOU1CRUFnQTBGK05nTHdBUXdDQ3lBRElBVW9BakFpQ2pZQzhBRkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUVRUVIwSUFKcUlBWkJBblJxSUFCQnhBQnNJQVZxSUFSQkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0JFRUJhaUVFREFFTEN5QURRZmdCYWlBS1FRSjBhaWdDQUNBQ0VLMEpJQU1vQXZBQklRQUxJQUJCZjB3TkFDQURLQUxzQVNBRFFmZ0JhaUFBUVFKMGFpZ0NBQ0FES0FMRUFTQUNJQWNRemdZaUFFRUFTQVJBSUFrZ0FEWUNBRUVBUVFGQi9MY0NJQWtRUFNBRFFYNDJBdkFCREFFTElBTW9BdlFCUVg5cUlRQWdDQ0FEUWZnQmFpQURLQUx3QVVFQ2RHb29BZ0EyQWdBZ0NDQUFOZ0lFUVFCQkFVR1B1QUlnQ0JBOUlBTW9BdkFCUVg5TURRQkJBeUFCSUFjcUFnQzdJQUlxQWdDN0lBSXFBZ1M3SUFJcUFnaTdJQUlxQWd5N0lBSXFBaEM3SUFJcUFoUzdJQUlxQWhpN0lBSXFBaHk3SUFJcUFpQzdJQUlxQWlTN0lBSXFBaWk3SUFJcUFpeTdFQ3NhREFFTFFRUWdBUkFzR2d0QkFBc0ZRZWlHQVNnQ0FBc2hDeUFDSkFZZ0N3dWFBZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEVDUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQW9BZ0FnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBQ2dDRUNBQUtBSVVJQUFvQWhnZ0FDc0RJQ0FBS3dNb0lBQXJBekFnQUNzRE9DQUFRVUJyS3dNQUlBQXJBMGdnQUNzRFVDQUFLd05ZSUFBckEyQWdBQ3NEYUNBQUt3TndJQUFyQTNnZ0FDc0RnQUVnQUNzRGlBRWdBQ3NEa0FFZ0FDc0RtQUVnQUNzRG9BRWdBQ3NEcUFFZ0FDc0RzQUVnQUNzRHVBRWdBQ3NEd0FFZ0FDc0R5QUVnQUNzRDBBRWdBQ3NEMkFFZ0FDc0Q0QUVnQUNnQzhBRVFLQnBCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRElBSWtCaUFEQzgwQkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0FuOGdBeEJTSWdRb0FzZ0NJUUFnQVVFQVNDQUVLQUxNQWlBQWEwRURkU0FCVFhJRVFFSHNoZ0VvQWdBTUFRc2dBa0VBU0NBQlFRTjBJQUJxS0FJRUlnQW9BZ1FnQWt4eUJIOUI4SVlCS0FJQUJTQUFLQUlBSWdBZ0FrSEFBbXhxUVJCcUVMUUNRUUVnQWtIQUFtd2dBR29vQXJBQ0lBSkJ3QUpzSUFCcUtBSUFJQUpCd0FKc0lBQnFLQUlFSUFKQndBSnNJQUJxS3dNSUVDb2FRUUFMQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQ3lnQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkVBZ0FSQlNHZ3NnQVNRR1FYOExPQUVDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmeUFCRUZJb0F0Z0JRU3hxQlVIb2hnRUxLQUlBSVFJZ0FTUUdJQUlMb0FVQkNYOUJDRUVJRUlzQklRZEJDRUVCRUlzQklRaEJDRUVCRUlzQklRa0RRQ0FGUVFSSEJFQWdCeWdDQUNJRUlBVkJCSFFpQTBFRGRHb2dCVUVFZENBQWFpSUdLd01BT1FNQUlBTkJBWEpCQTNRZ0JHb2dCVUVFZENBQWFpSUtLd01JT1FNQUlBTkJBbkpCQTNRZ0JHcEVBQUFBQUFBQThEODVBd0FnQTBFRGNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUVJ5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkJYSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVHY2tFRGRDQUVhaUFHS3dNQUlBVkJCSFFnQVdvaUN5c0RBS0thT1FNQUlBTkJCM0pCQTNRZ0JHb2dDaXNEQ0NBTEt3TUFvcG81QXdBZ0EwRUlja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFseVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJDbkpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFTGNrRURkQ0FFYWlBR0t3TUFPUU1BSUFOQkRISkJBM1FnQkdvZ0Npc0RDRGtEQUNBRFFRMXlRUU4wSUFScVJBQUFBQUFBQVBBL09RTUFJQU5CRG5KQkEzUWdCR29nQmlzREFDQUZRUVIwSUFGcUlnWXJBd2lpbWprREFDQURRUTl5UVFOMElBUnFJQW9yQXdnZ0Jpc0RDS0thT1FNQUlBZ29BZ0FpQkNBRlFRRjBJZ05CQTNScUlBc3JBd0E1QXdBZ0EwRUJja0VEZENBRWFpQUdLd01JT1FNQUlBVkJBV29oQlF3QkN3c2dCeERXQVJvZ0NTQUhJQWdRclFJYUlBa29BZ0FoQVVFQUlRQURRQ0FBUVFKSEJFQWdBRUVZYkNBQ2FpQUFRUU5zSWdOQkEzUWdBV29yQXdBNUF3QWdBRUVZYkNBQ2FpQURRUUZxUVFOMElBRnFLd01BT1FNSUlBQkJHR3dnQW1vZ0EwRUNha0VEZENBQmFpc0RBRGtERUNBQVFRRnFJUUFNQVFzTElBSWdBU3NETURrRE1DQUNJQUVyQXpnNUF6Z2dBa0ZBYTBRQUFBQUFBQUR3UHprREFDQUhFRWtnQ0JCSklBa1FTUXZTRXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUhJUXdnQVNBQ1FYOXFJaEJzUVFGMElBZHFJUVlEUUNBRklBRklCRUFnQmtFQU93RUFJQXhCQURzQkFDQU1RUUpxSVF3Z0JVRUJhaUVGSUFaQkFtb2hCZ3dCQ3d0QkFDRU1JQWNpQmlBQlFYOXFJaEZCQVhScUlRVURRQ0FNSUFKSUJFQWdCVUVBT3dFQUlBWkJBRHNCQUNBQlFRRjBJQVpxSVFZZ0RFRUJhaUVNSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUdRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlReEJBU0VLUVFBaEJTQUFRUUYwSUFkcUlRTUNmd0pBQTBBQ1FDQUtJQkJPRFFJZ0JTRUFRUUVoQ0NBRElRc0RRQ0FJSUJGSUJFQWdEUzBBQUNBTUxRQUFTZ1JBSUF0QkFEc0JBQVVDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEN5QU5RUUZxSVEwZ0RFRUJhaUVNSUFoQkFXb2hDQ0FMUVFKcUlRc01BUXNMSUExQkFtb2hEU0FNUVFKcUlRd2dDa0VCYWlFS0lBQWhCU0FMUVFScUlRTU1BUXNMUVFCQkEwR29wUUVnRGhBOVFYOE1BUXNnQkVFTWFpRU5RUUVoQUVFQklRY0RRQ0FISUFWTUJFQWdCeUFHS0FJQUlneEdCRUFnQUVFQmFpRURCU0FBSVFNZ0RFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUdJQUEyQWdBZ0F5RUFJQWRCQVdvaEJ5QUdRUVJxSVFZTUFRc0xJQVFnQUVGL2FpSUdOZ0lJSUFZRWZ5QU5RUUFnQmtFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FHUVFSMEVFVWFRUUFoQXdOQUlBTWdCa2dFUUNBRVFZeUFDR29nQTBFQ2RDSUFRUUowYWlBQk5nSUFJQVJCaklBSWFpQUFRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFBUVFKeVFRSjBhaUFDTmdJQUlBUkJqSUFJYWlBQVFRTnlRUUowYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFEUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlBSUFSQmtJRFFBR29nQTBFSGJDSUdRUUowYWlnQ0FDQUFLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0JrRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHY2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2tnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dBMEVCYWlFRERBRUxDeUFFS0FJSUlRSkJBQ0VEQTM4Z0F5QUNTQVIvSUFSQmtJQW9haUFEUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FFUVF4cUlBTkJBblJxS0FJQXR5SVVvemtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQlNqT1FNQUlBTkJBV29oQXd3QkJVRUFDd3NGUVFBTEN5RVRJQTRrQmlBVEM0TUJBUU4vSXdZaEFTTUdRVEJxSkFZZ0FVRW9haUlDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJUUFnQVVJQU53TUFJQUZDQURjRENDQUJRZ0EzQXhBZ0FVSUFOd01ZSUFGQ0FEY0RJQ0FCSUFBb0FzUUJOZ0lBSUFGQkFUWUNFQ0FCSUFBb0Fzd0JOZ0lNSUFBb0F0Z0JJQUVRMXdnRlFlaUdBU2dDQUFzaEF5QUJKQVlnQXd1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQkVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXVMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVBRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdHRBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9JQU1RVWlJRUtBTFlBU0lBS0FJc0lBRktCSDhnQkNnQzVBRkI2THdESUFCQk1Hb2dBVUVJZEdvZ0FVRUFTQnNnQXJjUW1RaEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDM0lCQTM4akJpRURJd1pCRUdva0JpQURJQUEyQWdBZ0F4QlRCSDhnQXhCU0lnUW9BdGdCSWdBb0Fpd2dBVW9FZnlBRUtBTGtBVUhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ3QwR0FwQU1RMmdNYVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCU0FESkFZZ0JRdVFBZ0lDZndoOEl3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpZ0MyQUVpQUNnQ0xDQUJTZ1IvUWVpOEF5QUFRVEJxSUFGQkNIUnFJQUZCQUVnYklnQkJnS1FES3dNQUlnUTVBNmdCSUFCQmlLUURLd01BSWdVNUE3QUJJQUJCa0tRREt3TUFJZ1k1QTdnQklBQkJtS1FES3dNQUlnYzVBOEFCSUFCQm9LUURLd01BSWdnNUE4Z0JJQUJCcUtRREt3TUFJZ2s1QTlBQklBQkJzS1FES3dNQUlnbzVBOWdCSUFCQnVLUURLd01BSWdzNUErQUJJQUFnQkNBR29DQUlvQ0FLb0VRQUFBQUFBQURRUDZJNUF6Z2dBRUZBYXlBRklBZWdJQW1nSUF1Z1JBQUFBQUFBQU5BL29qa0RBRUVBQlVId2hnRW9BZ0FMQlVIb2hnRW9BZ0FMSVFNZ0FpUUdJQU1MWkFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQURZQ0FDQURFRk1FZnlBREVGSW9BdGdCSWdBb0Fpd2dBVW9FZjBIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUNOZ0lRUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJDQURKQVlnQkFzckFRSi9BbjhqQmlFQkl3WkJFR29rQmtHRHBRSkJBa0dzaHdGQm1NOENRUjlCeGdBUUNTQUJDeVFHQzVvQkFRUi9Jd1loQVNNR1FkQUJhaVFHSUFGQndBRnFJUU1nQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSUFFZ0FVRzRBV29pQWhESUMwRUFTQVIvSUFBc0FBdEJBRWdFUUNBQUtBSUFJUUFMSUFNZ0FEWUNBRUVBUVFOQmdkQUNJQU1RUFVGL0JVSEV4QU5CeE1RREtBSUFJZ0JCQVdvMkFnQWdBaUFBTmdJQUlBSVFyQU1nQVVHNEFSQk1HaUFDS0FJQUN5RUVJQUVrQmlBRUN6d0JBbjhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdBb0Fzd0NJQUFvQXNnQ2EwRURkUVZCZndzaEFpQUJKQVlnQWd0aUFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVBSUFGQkFFZ0VmMEYvQlNBQUtBTE1BaUFBS0FMSUFpSUFhMEVEZFNBQlN3Ui9JQUZCQTNRZ0FHb29BZ1FvQWdRRlFYOExDd1ZCZndzaEF5QUNKQVlnQXd0M0FRSi9Jd1loQXlNR1FSQnFKQVlnQTBFRWFpSUNJQUEyQWdBZ0FoQlRCRUFnQWhCU0lnSW9BdlFCSVFBZ0FTd0FDMEVBU0FSQUlBRW9BZ0FoQVFzZ0FpQUFJQUVRM0FZRVFDQUNJQUlvQXZRQlFRRnFOZ0wwQVFWQkFFRURRY0hRQWlBREVEMUJmeUVBQ3dWQmZ5RUFDeUFESkFZZ0FBdlVBUUVFZnlNR0lRSWpCa0VRYWlRR0lBSkJDR29oQkNBQ1FReHFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUVBSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FDZ0MyQUVnQUVIY0FXb2dBRUhnQVdvaUF4RGJCa1VFUUVFQVFRTkIvTklDSUFRUVBVRi9EQUVMSUFJZ0FDZ0N6QUlpQVNBQVFjZ0NhaUlFS0FJQWEwRURkVFlDQUNBQ0lBTW9BZ0EyQWdRZ0FTQUFLQUxRQWtZRVFDQUVJQUlRbGdFRklBRWdBaWtEQURjQ0FDQUFJQUFvQXN3Q1FRaHFOZ0xNQWdzZ0FpZ0NBQXNGUVg4TElRVWdBaVFHSUFVTGJ3RURmeU1HSVFNakJrRVFhaVFHSUFOQkJHb2lBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUNJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQWtIVUFtb2lBQ0FDUWR3QmFoRFpCZ1IvSUFBb0FnQUZRUUJCQTBISTB3SWdBeEE5UVg4TEJVRi9DeUVFSUFNa0JpQUVDNWNDQVFSL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJQklBQTJBZ0FnQVJCVEJIOGdBUkJTSWdFb0FzQUJJQUVvQXRnREVORUdJUUFnQVNBQU5nTHNBU0FBQkVBZ0FVSG9BV29oQXdWQkFFRURRYUxVQWlBQ0VEMGdBVUhvQVdvaUF4Q2tDU0FCS0FMc0FTRUFDeUFBQkg4Z0FFTUFBS0JBT0FJc1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFTUFBQUEvT0FJb1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRVFOZ0lrUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSVlRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJY1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lnUVFBRlFYOExHaUFESUFFb0FzQUJFSUFFTmdJQVFRQUZRWDhMSVFRZ0FpUUdJQVFMdGdFQkJYOGpCaUVDSXdaQkVHb2tCaUFDSUFBMkFnQWdBaEJUQkg4Z0FoQlNJZ0FvQXNRQklnRUVRQ0FCRURnZ0FFRUFOZ0xFQVNBQVFRQTJBc2dCQ3lBQUVLa0RJQUFvQXR3QkVMZ0NJQUlRMXdZZ0FFSElBbW9oQTBFQUlRRURRQ0FCSUFBb0Fzd0NJQU1vQWdBaUJHdEJBM1ZKQkVBZ0FVRURkQ0FFYWlnQ0JDSUVLQUlBRURnZ0JCQTRJQUZCQVdvaEFRd0JDd3NnQXhCVklBTVFPQ0FBRUxNRElBQVFPRUVBQlVGL0N5RUZJQUlrQmlBRkMrNEJBUVIvSXdZaEJDTUdRUkJxSkFaQnlNUURRY2pFQXlnQ0FDSURRUUZxTmdJQUlBUkJER29pQlNBRE5nSUFJQVVRVWlJRElBVW9BZ0EyQWdBZ0F5QUFOZ0xRQVNBRElBRTJBdFFCSUFNZ0FTQUFRUUowYkNJQU5nTElBU0FESUFBUVJEWUN4QUVnQXlBREtBTElBVUVFRURrUVJEWUN6QUVnQXhDM0J5SUFOZ0xjQVNBQVJRUkFRUUJCQTBIQjFBSWdCQkE5Q3lBRktBSUFJQUlRMHdZZ0JFRUlhaUlBSUFNb0FzZ0JOZ0lBUVFCQkFVSG0xQUlnQUJBOVFRQWdBeWdDQUNBREtBTEVBU0FES0FMSUFTQURRZGdDYWtHQXBBTWdBeWdDekFFUUtSb2dBeWdDQUNFR0lBUWtCaUFHQzRjSkFRRi9Jd1loQUNNR1FSQnFKQVpCbktRQ1FSb1EzQUZCb3FRQ1FjTUFFSVFCUWF1a0FrSEVBQkNFQVVHMHBBSkJGQkMyQWtHL3BBSkJGUkMyQWtIUHBBSkJGaEMyQWtIZHBBSkJGeEMyQVVIdnBBSkJ4UUFRaEFFUWtnZEJqNlVDUVJzUTNBRkJvS1VDUVJnUXRnRkJ0S1VDUVJ3UTNBRkJ4cVVDUVIwUTNBRkIzS1VDUVJrUXRnRkI4NlVDUVJvUXRnRkJrS1lDUWNjQUVJUUJRWjJtQWtISUFCQ0VBVUdxcGdKQnlRQVFoQUZCdXFZQ1FSNFEzQUZCemFZQ1FSc1F0Z0ZCMTZZQ1FSd1F0Z0ZCNUtZQ1FSMFF0Z0ZCOGFZQ1Fjb0FFSVFCUWY2bUFrSExBQkNFQVJEL0JoRDhCa0dwcHdKQkFSQzBBMEhBcHdKQkFSQzFBa0hYcHdKQkFoQzBBMEh0cHdKQkFoQzFBa0dEcUFKQktCREFBVUdVcUFKQnpBQVFoQUZCcGFnQ1FTa1F3QUZCc3FnQ1FjMEFFSVFCUWIrb0FrRXFFTUFCUWRlb0FrSE9BQkNFQVJEd0JrSDhxQUpCQXhDMUFrR0pxUUpCS3hEQUFVR2JxUUpCendBUWhBRkJyYWtDUVN3UXdBRkJ2YWtDUWRBQUVJUUJRYzJwQWtFdEVNQUJRZDZwQWtIUkFCQ0VBVUh2cVFKQjZJWUJFRXRCaktvQ1FleUdBUkJMUWFpcUFrSHdoZ0VRU3lBQVFRQTJBZ0JCeWFvQ0lBQVFTeUFBUVFFMkFnQkIycW9DSUFBUVN5QUFRUUEyQWdCQjZxb0NJQUFRU3lBQVFRQTJBZ0JCZ0tzQ0lBQVFTeUFBUVFFMkFnQkJtYXNDSUFBUVN5QUFRUUUyQWdCQnNxc0NJQUFRU3lBQVFlUUFOZ0lBUWN1ckFpQUFFRXNnQUVFQU5nSUFRZWFyQWlBQUVFc2dBRUVCTmdJQVFZQ3NBaUFBRUVzZ0FFRUFOZ0lBUVpxc0FpQUFFRXNnQUVFQU5nSUFRYldzQWlBQUVFc2dBRUVCTmdJQVFkQ3NBaUFBRUVzZ0FFRUNOZ0lBUWVxc0FpQUFFRXNnQUVFRE5nSUFRWU90QWlBQUVFc2dBRUVFTmdJQVFhbXRBaUFBRUVzZ0FFRUFOZ0lBUWM2dEFpQUFFRXNnQUVFQU5nSUFRZkN0QWlBQUVFc2dBRUVCTmdJQVFZaXVBaUFBRUVzZ0FFRUNOZ0lBUWFLdUFpQUFFRXNnQUVFQ05nSUFRYjJ1QWlBQUVFc2dBRUVGTmdJQVFkK3VBaUFBRUVzZ0FFUUFBQUFBQUFEZ1B6a0RBRUh4cmdKQm1Qa0FJQUFyQXdBUUZ5QUFRUUEyQWdCQmhxOENJQUFRU3lBQVFRRTJBZ0JCbWE4Q0lBQVFTeUFBUVFJMkFnQkJxNjhDSUFBUVN5QUFRUU0yQWdCQnZhOENJQUFRU3lBQVFRUTJBZ0JCMEs4Q0lBQVFTeUFBUVFNMkFnQkI1cThDSUFBUVN5QUFRWU1FTmdJQVFmbXZBaUFBRUVzZ0FFR0RBallDQUVHV3NBSWdBQkJMSUFCQkJEWUNBRUd5c0FJZ0FCQkxJQUJCaEFZMkFnQkJ4YkFDSUFBUVN5QUFRWVFJTmdJQVFlT3dBaUFBRUVzZ0FFRUFOZ0lBUVlHeEFpQUFFRXNnQUVFQk5nSUFRYUN4QWlBQUVFc2dBRUVDTmdJQVFjU3hBaUFBRUVzZ0FFRUROZ0lBUWVheEFpQUFFRXNnQUVFQU5nSUFRWXl5QWlBQUVFc2dBRUVCTmdJQVFhMnlBaUFBRUVzZ0FFRUNOZ0lBUWR5eUFpQUFFRXNnQUVFRE5nSUFRWWF6QWlBQUVFc2dBRUVFTmdJQVFiR3pBaUFBRUVzZ0FFRUZOZ0lBUWVXekFpQUFFRXNnQUVFR05nSUFRWmkwQWlBQUVFc2dBRUVITmdJQVFjVzBBaUFBRUVzZ0FFRUlOZ0lBUWV5MEFpQUFFRXNnQUVFSk5nSUFRWm0xQWlBQUVFc2dBQ1FHQzBNQVFaekVBMElBTndJQVFhVEVBMElBTndJQVFhekVBMEdBZ0lEOEF6WUNBRUd3eEFOQ0FEY0NBRUc0eEFOQ0FEY0NBRUhBeEFOQmdJQ0EvQU0yQWdBUW5BY0xxQUlDQkg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUFyQXdBaUJVUUFBQUFBQUFBQUFHWkZCRUFnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEIwQUFRUGtIMm9nSVFOMEg1b2dJUU55SUVLQUlBUVhScUtBSUFJQVJxRURzZ0FVR0F6Z01RT2lJQ0tBSUFLQUljSVFNZ0FrRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0FSQThJQVFnQXhCQUlBUVFQeEFBQ3lBQUt3TUlJZ1pFQUFBQUFBQUFBQUJtQkVBZ0FTUUdJQVlnQmFFUEJTQUJRY0RJQTBHVW93SVFOMEg5b1FJUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FicWpBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FCRUR3Z0FpQUFFRUFnQWhBL0VBQUxSQUFBQUFBQUFBQUFDN1lCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ3NEQUVRQUFBQUFBQUFBQUdZRVFDQUJRUUFRRkJvZ0FDQUJLQUlFdDBTTjdiV2c5OGF3UHFJZ0FTZ0NBTGVnT1FNSUlBRWtCZ1VnQVVIQXlBTkIxcUVDRURkQi9hRUNFRGRCNzZJQ0VEZEJ3d0FRUGtIMm9nSVFOMEg1b2dJUU55SUNLQUlBUVhScUtBSUFJQUpxRURzZ0FVR0F6Z01RT2lJREtBSUFLQUljSVFBZ0EwRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FSQThJQUlnQUJCQUlBSVFQeEFBQ3dzMkFRRi9Jd1loQVNNR1FSQnFKQVlnQVVFQUVCUWFJQUFnQVNnQ0JMZEVqZTIxb1BmR3NENmlJQUVvQWdDM29Ea0RBQ0FCSkFZTFJ3RUJmeU1HSVFNakJrR0FFR29rQmlBRFFZQVFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd5QUNFS2tCR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQXlBREVHQVFmaUFESkFZTFRRRURmd05BSUFJZ0FDZ0NCQ0FBS0FJQUlnTnJRUU4xU1FSQUlBSkJBM1FnQTJvb0FnQWlBeWdDQUNnQ0NDRUVJQU5CQ0NBQklBUkJBM0ZCOWdWcUVRWUFJQUpCQVdvaEFnd0JDd3NMRkFBZ0FFRU1ha0VBSUFFb0FnUkI5NkFDUmhzTENBQWdBQ2dDREJvTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUWRTR0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N4UUFJQUJCREdwQkFDQUJLQUlFUWYyZkFrWWJDd2tBSUFBb0Fnd1FPQXRSQVFKL0l3WWhBeU1HUVJCcUpBWWdBQ0FCTmdJQVFSQVFVU0lDUVFBMkFnUWdBa0VBTmdJSUlBSkJ1SVlCTmdJQUlBSWdBVFlDRENBQUlBSTJBZ1FnQXlBQk5nSUFJQU1nQVRZQ0JDQURKQVlMbFJJQ0MzOEJmaU1HSVF3akJrRWdhaVFHSUF4QkdHb2hDQ0FNUVJCcUlRNGdBVUY5YWtFRlN3Ui9JQUpCZnpZQ0FDQURRUUEyQWdBZ0JFUUFBQUFBQUFEd3Z6a0RBRUYvQlFKL0lBeEJBRFlDQUNBTUlBRWdBVUYvYWlJTGJEWUNCQ0FNSUFFZ0FXd2lEMEYvYWpZQ0NDQU1JQXMyQWd4QmZ5RUpBMEFnQjBFRVJ3UkFJQUFnQjBFQ2RDQU1haWdDQUdvc0FBQWhEU0FIUVFGcUlRY2dEU0FLSUExQi93RnhJQXBCL3dGeFNoc2hDaUFOSUFrZ0RVSC9BWEVnQ1VIL0FYRklHeUVKREFFTEN5QUtRZjhCY1NJSElBbEIvd0Z4SWdwclFSNUlCRUFnQWtGL05nSUFJQU5CQURZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVg0TUFRc2dCeUFLYWtFQmRpRUpRUUFoQndOQUlBZEJCRWNFUUNBSElBaHFJQWtnQUNBSFFRSjBJQXhxS0FJQWFpMEFBRXM2QUFBZ0IwRUJhaUVIREFFTEMwRUFJUWNDUUFKQUEwQUNRQ0FIUVFSUERRSWdCMEVCYWlFS0lBY2dDR29zQUFCQkFVWUVRQ0FLUVFOeElBaHFMQUFBUVFGR0JFQWdCMEVDYWtFRGNTQUlhaXdBQUVVTkFnc0xJQW9oQnd3QkN3c2dBeUFITmdJQURBRUxJQWRCQkVZRVFDQUNRWDgyQWdBZ0EwRUFOZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmUXdDQ3d0Qi93RWhDa0VBSVFjRFFDQUhJQTlIQkVCQkFDQUFJQWRxSWcwdEFBQWlFQ0FKYXlJSWF5QUlJQWhCQUVnYklRZ2dEU0FKSUJCTE9nQUFJQWdnQ2lBSUlBcElHeUVLSUFkQkFXb2hCd3dCQ3dzQ1FBSkFBa0FDUUFKQUlBTW9BZ0FpQXc0RUFBRUNBd1FMQTBBZ0F5QUJTQVJBSUFNZ0MwWWhDQ0FCSUFOc0lRbEJBQ0VIQTBBZ0FTQUhSd1JBSUFNZ0IzSUVRQ0FJSUFkRklBY2dDMFp5Y1VVRVFDQUFJQWNnQ1dwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0IwRUJhaUVIREFFTEN5QURRUUZxSVFNTUFRVU1CUXNBQUFzQUMwRUFJUWNEUUNBSElBRklCRUFnQjBVaENDQUhJQXRHSVFrZ0N5RURBMEFnQTBGL1NnUkFJQWdnQXlBTFJpSU5jVVVFUUNBSklBMGdBMFZ5Y1VVRVFDQUFJQWNnQVNBRGJHcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dBMEYvYWlFRERBRUxDeUFIUVFGcUlRY01BUVVNQkFzQUFBc0FDeUFMSVFNRFFDQURRWDlLQkVBZ0EwVWdBeUFMUm5JaENDQUJJQU5zSVFrZ0N5RUhBMEFnQjBGL1NnUkFJQU1nQjNKRklBY2dDMFlnQ0hGeVJRUkFJQUFnQnlBSmFtb3NBQUJCQUVldElCSkNBWWFFSVJJTElBZEJmMm9oQnd3QkN3c2dBMEYvYWlFRERBRUZEQU1MQUFBTEFBc2dDeUVEQTBBZ0EwRi9TZ1JBSUFNZ0MwWWhDQ0FEUlNFSlFRQWhCd05BSUFjZ0FVZ0VRQ0FKSUFjZ0MwWnhJQU1nQjNKRklBZ2dCMFZ4Y25KRkJFQWdBQ0FESUFFZ0IyeHFhaXdBQUVFQVI2MGdFa0lCaG9RaEVnc2dCMEVCYWlFSERBRUxDeUFEUVg5cUlRTU1BUXNMQ3lBRVJBQUFBQUFBQVBBL0lBcTNSQUFBQUFBQUFENUFveUFLUVI1S0d6a0RBQUpBQWtBQ1FBSkFBa0FnQlVHREFtc09nd2dBQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFRTURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREFnSURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01DQXdzZ0RpQVNwMEhnQ1dvc0FBQWlBS3czQXdBZ0FFRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CUXNNQXdzZ0RpQVNweUlBUWVBSWFpd0FBQ0lCckRjREFDQUdCRUFnQmlBQVFhQUphaTBBQURZQ0FBc2dBVUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQkFzTUFnc2dCU0FTUVFBZ0RoQzFBeUlBUVFCSUJFQWdBa0YvTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZkF3REN5QUFRUUJISUFaQkFFZHhCRUFnQmlBQU5nSUFDd3dCQ3lBT0lCSTNBd0FMSUFJZ0Rpa0RBRDRDQUVFQUN3c2hFU0FNSkFZZ0VRc2xBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUNBQkVLc0hDNjhCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ0FCS0FJQU5nSUFJQUFnQVNnQ0JEWUNCQ0FBSUFFb0FnZzJBZ2dnQUNBQktBSU1OZ0lNSUFBZ0FTZ0NFRFlDRUNBQUlBRW9BaFEyQWhRZ0FpQUJLQUlZSWdRMkFnQWdBa0VFYWlJRElBRW9BaHdpQVRZQ0FDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ0FGUVFBTElRRWdBaUFBS0FJWU5nSUFJQUFnQkRZQ0dDQURJQUFvQWh3MkFnQWdBQ0FCTmdJY0lBSVFsUUVnQWlRR0N6QUJBWDhnQUNnQ0NDRURBMEFnQXlBQ0xBQUFPZ0FBSUFBZ0FDZ0NDRUVCYWlJRE5nSUlJQUZCZjJvaUFRMEFDd3U1QVFFRmZ5TUdJUVFqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYXlBQlNRUkFRZi8vLy84SElBRWdBeUFBS0FJQWEyb2lBMGtFUUJBQUJTQUVJQU1nQUNnQ0NDQUFLQUlBSWdWcklnWkJBWFFpQnlBSElBTkpHMEgvLy8vL0J5QUdRZi8vLy84RFNSc2dBQ2dDQkNBRmF5QUFRUWhxRU5nQ0lBUWdBU0FDRUt3SElBQWdCQkRYQWlBRUVOWUNDd1VEUUNBRElBSXNBQUE2QUFBZ0FDQUFLQUlFUVFGcUlnTTJBZ1FnQVVGL2FpSUJEUUFMQ3lBRUpBWUxPQUVDZnlBQUtBSUVJQUFvQWdBaUJHc2lBeUFCU1FSQUlBQWdBU0FEYXlBQ0VLMEhCU0FESUFGTEJFQWdBQ0FCSUFScU5nSUVDd3NMSWdBZ0FDQUJJQUFvQWdSQmZtcXpFT01CSUFJZ0FDZ0NDRUYrYXJNUTR3RVFUUXRoQVFGOUlBTVE5Z0lnQkpRaEJTQURFUFVDSUFTVUlRTWdBQ0FGT0FJQUlBQWdBNHc0QWdRZ0FDQUJPQUlJSUFBZ0F6Z0NEQ0FBSUFVNEFoQWdBQ0FDT0FJVUlBQkRBQUFBQURnQ0dDQUFRd0FBQUFBNEFod2dBRU1BQUlBL09BSWdDeUlBSUFGQkNCQTVJQUJxSWdBZ0FDMEFBQ0FDUWY4QmNTQUJRUWR4ZEhJNkFBQUxpd0VCQ0g4Z0FFSFVBQkRaQTBFa0lRVkJJeUVHUVNRaEJ3TkFJQUpCSlVjRVFDQUNRUUowSUFGcUlRa2dBa0VCYWlJQ0lRZ2dCQ0VEQTBBZ0F5QUhSd1JBSUFBZ0F5QUpLZ0lBSUFoQkFuUWdBV29xQWdCZEVMRUhJQWhCQVdvaENDQURRUUZxSVFNTUFRc0xJQVlnQjJvaEJ5QUVJQVZxSVFRZ0JVRi9haUVGSUFaQmYyb2hCZ3dCQ3dzTHFBNENJSDhDZlNNR0lSSWpCa0hRQW1va0JpQVNRYUFDYWlJUklBSXFBZ0FnQWlvQ0JDQUNLZ0lJUXdBQWdEOGdBaW9DRENBUWxDSVFJQkJEQUFDQVAxMGJJakVRc0FjZ0VTb0NDQ0V5SUJFcUFoUWhFQ0FTUWZBQmFpSVRJQkVnQXhCYklCTkJDR29pR0NBUklBTkJDR29RV3lBVFFSQnFJaGtnRVNBRFFSQnFFRnNnRTBFWWFpSWFJQkVnQTBFWWFoQmJJQk5CSUdvaUd5QVJJQU5CSUdvUVd5QVRRU2hxSWh3Z0VTQURRU2hxRUZzZ0VrSEFBV29pRkNBUklBUVFXeUFVUVFocUloMGdFU0FFUVFocUVGc2dGRUVRYWlJZUlCRWdCRUVRYWhCYklCUkJHR29pSHlBUklBUkJHR29RV3lBVVFTQnFJaUFnRVNBRVFTQnFFRnNnRkVFb2FpSWhJQkVnQkVFb2FoQmJJQkpCa0FGcUloVWdFU0FGRUZzZ0ZVRUlhaUlpSUJFZ0JVRUlhaEJiSUJWQkVHb2lJeUFSSUFWQkVHb1FXeUFWUVJocUlpUWdFU0FGUVJocUVGc2dGVUVnYWlJbElCRWdCVUVnYWhCYklCVkJLR29pSmlBUklBVkJLR29RV3lBU1FlQUFhaUlXSUJFZ0JoQmJJQlpCQ0dvaUp5QVJJQVpCQ0dvUVd5QVdRUkJxSWlnZ0VTQUdRUkJxRUZzZ0ZrRVlhaUlwSUJFZ0JrRVlhaEJiSUJaQklHb2lLaUFSSUFaQklHb1FXeUFXUVNocUlpc2dFU0FHUVNocUVGc2dFa0V3YWlJWElCRWdCeEJiSUJkQkNHb2lMQ0FSSUFkQkNHb1FXeUFYUVJCcUlpMGdFU0FIUVJCcUVGc2dGMEVZYWlJdUlCRWdCMEVZYWhCYklCZEJJR29pTHlBUklBZEJJR29RV3lBWFFTaHFJakFnRVNBSFFTaHFFRnNnRWlBUklBZ1FXeUFTUVFocUlnWWdFU0FJUVFocUVGc2dFa0VRYWlJRklCRWdDRUVRYWhCYklCSkJHR29pQkNBUklBaEJHR29RV3lBU1FTQnFJZ01nRVNBSVFTQnFFRnNnRWtFb2FpSUNJQkVnQ0VFb2FoQmJJQUVnRWtISUFtb2lDQ0FTUWNRQ2FpSUhJREVnRDVRUXR3RWdBQ0FCSUJJcUFnQWdFaW9DQkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0Jpb0NBQ0FTS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUlFSUFBZ0FTQUZLZ0lBSUJJcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWdnZ0FDQUJJQVFxQWdBZ0Vpb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ0RDQUFJQUVnQXlvQ0FDQVNLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSVFJQUFnQVNBQ0tnSUFJQklxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBaFFnQVNBSUlBY2dNU0FPbEJDM0FTQUFJQUVnRnlvQ0FDQVhLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSVlJQUFnQVNBc0tnSUFJQmNxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBaHdnQUNBQklDMHFBZ0FnRnlvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDSUNBQUlBRWdMaW9DQUNBWEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FJa0lBQWdBU0F2S2dJQUlCY3FBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFpZ2dBQ0FCSURBcUFnQWdGeW9DTENBSUtBSUFJQWNvQWdBUVdUZ0NMQ0FCSUFnZ0J5QXhJQTJVRUxjQklBQWdBU0FXS2dJQUlCWXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFqQWdBQ0FCSUNjcUFnQWdGaW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NOQ0FBSUFFZ0tDb0NBQ0FXS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUk0SUFBZ0FTQXBLZ0lBSUJZcUFod2dDQ2dDQUNBSEtBSUFFRms0QWp3Z0FFRkFheUFCSUNvcUFnQWdGaW9DSkNBSUtBSUFJQWNvQWdBUVdUZ0NBQ0FBSUFFZ0t5b0NBQ0FXS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUpFSUFFZ0NDQUhJREVnREpRUXR3RWdBQ0FCSUJVcUFnQWdGU29DQkNBSUtBSUFJQWNvQWdBUVdUZ0NTQ0FBSUFFZ0lpb0NBQ0FWS2dJTUlBZ29BZ0FnQnlnQ0FCQlpPQUpNSUFBZ0FTQWpLZ0lBSUJVcUFoUWdDQ2dDQUNBSEtBSUFFRms0QWxBZ0FDQUJJQ1FxQWdBZ0ZTb0NIQ0FJS0FJQUlBY29BZ0FRV1RnQ1ZDQUFJQUVnSlNvQ0FDQVZLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BSllJQUFnQVNBbUtnSUFJQlVxQWl3Z0NDZ0NBQ0FIS0FJQUVGazRBbHdnQVNBSUlBY2dNU0FMbEJDM0FTQUFJQUVnRkNvQ0FDQVVLZ0lFSUFnb0FnQWdCeWdDQUJCWk9BSmdJQUFnQVNBZEtnSUFJQlFxQWd3Z0NDZ0NBQ0FIS0FJQUVGazRBbVFnQUNBQklCNHFBZ0FnRkNvQ0ZDQUlLQUlBSUFjb0FnQVFXVGdDYUNBQUlBRWdIeW9DQUNBVUtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FKc0lBQWdBU0FnS2dJQUlCUXFBaVFnQ0NnQ0FDQUhLQUlBRUZrNEFuQWdBQ0FCSUNFcUFnQWdGQ29DTENBSUtBSUFJQWNvQWdBUVdUZ0NkQ0FCSUFnZ0J5QXhJQXFVRUxjQklBQWdBU0FUS2dJQUlCTXFBZ1FnQ0NnQ0FDQUhLQUlBRUZrNEFuZ2dBQ0FCSUJncUFnQWdFeW9DRENBSUtBSUFJQWNvQWdBUVdUZ0NmQ0FBSUFFZ0dTb0NBQ0FUS2dJVUlBZ29BZ0FnQnlnQ0FCQlpPQUtBQVNBQUlBRWdHaW9DQUNBVEtnSWNJQWdvQWdBZ0J5Z0NBQkJaT0FLRUFTQUFJQUVnR3lvQ0FDQVRLZ0lrSUFnb0FnQWdCeWdDQUJCWk9BS0lBU0FBSUFFZ0hDb0NBQ0FUS2dJc0lBZ29BZ0FnQnlnQ0FCQlpPQUtNQVNBQklBZ2dCeUF4SUFtVUVMY0JJQUFnQVNBeUlCQWdDQ2dDQUNBSEtBSUFFRms0QXBBQklCSWtCa0VCQzB3QkFuOGpCaUVSSXdaQm9BRnFKQVlnRVNBQklBSWdBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTE1IQkg4Z0FDQVJFTElIUVFFRlFRQUxJUklnRVNRR0lCSUx0Z1FCQm44akJpRVRJd1pCRUdva0JpQUJSUVJBSUJOQndNZ0RRY2VXQWhBM1FlYVdBaEEzUWUraUFoQTNRWmtFRUQ1QjlxSUNFRGRCMUpjQ0VEY2lFU0FSS0FJQVFYUnFLQUlBYWhBN0lCTkJnTTRERURvaUVpZ0NBQ2dDSENFVUlCSkJDaUFVUVQ5eFFZb0JhaEVDQUNFU0lCTVFQQ0FSSUJJUVFDQVJFRDhRQUFzZ0FCQnhJQUlvQWdRaUZDQUNLQUlBSWhWclFSUVFPVWNFUUNBVFFjRElBMEhrbHdJUU4wSG1sZ0lRTjBIdm9nSVFOMEdhQkJBK1FmYWlBaEEzUVptWUFoQTNJaEVnRVNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNkloSW9BZ0FvQWh3aEZpQVNRUW9nRmtFL2NVR0tBV29SQWdBaEVpQVRFRHdnRVNBU0VFQWdFUkEvRUFBTFFRQWhFa0VBSVJFRFFDQVNJQlFnRld0QkZCQTVJaFJKQkVBZ0FDZ0NCQ0FSSUFBb0FnQnNhaUFCSUFJb0FnQWdFa0VVYkdvZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMUUhCRUFnQUNnQ0VDQVJRUlJzYWlJVUlBSW9BZ0FnRWtFVWJHb2lGU2tDQURjQ0FDQVVJQlVwQWdnM0FnZ2dGQ0FWTEFBUU9nQVFJQkZCQVdvaEVRc2dFa0VCYWlFU0lBSW9BZ1FoRkNBQ0tBSUFJUlVNQVFzTElCRWdGRVlFUUNBQUlCRVF2QU1nRXlRR0JTQVRRY0RJQTBHK21BSVFOMEhtbGdJUU4wSHZvZ0lRTjBIcEJCQStRZmFpQWhBM1FmR1lBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FURUR3Z0FDQUJFRUFnQUJBL0VBQUxDM01BSUFFUTBnTWdBU0FES0FJRUlBTW9BZ0JyUVJRUU9SQzhBeUFCSUFJZ0F5QUFJQUJCTUdvZ0FFSGdBR29nQUVHUUFXb2dBRUhBQVdvZ0FFSHdBV29nQUNvQ29BSWdBQ29DcEFJZ0FDb0NxQUlnQUNvQ3JBSWdBQ29Dc0FJZ0FDb0N0QUlnQUNvQ3VBSWdBQ29DdkFJUXRRY0x4d01CRFg4akJpRUNJd1pCUUdza0JpQUNRVGhxSVFrZ0FrRXdhaUVLSUFKQktHb2hDeUFDUVNCcUlRTWdBa0VZYWlFRklBSkJFR29oQmlBQ1FRaHFJUUJCSUJCRUlnRkZCRUJCQUVFRFFibllBaUFDRUQxQkFSQUJDeUFCUVFBMkFnQWdBVUV5TmdJRUlBRkJFRFlDSENBQlFjZ0JFRVFpQnpZQ0NDQUhSUVJBUVFCQkEwRzUyQUlnQUJBOVFRRVFBUXNnQVVHZ0JoQkVJZ2cyQWd3Z0NFVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQUZCb0FZUVJDSUFOZ0lVSUFCRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUJRY0FNRUVRaUFEWUNFQ0FBUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0FVSEFEQkJFSWdBMkFoZ2dBRVVFUUVFQVFRTkJ1ZGdDSUFzUVBVRUJFQUVMQWtBQ1FBSkFBMEFDUUNBRVFUSk9CRUFnQVNFTURBVUxJQVJCQW5RZ0IycEJBRFlDQUNBRVFRSjBJUVZCQUNFREEwQWdBMEVFU1FSQUlBTWdCV29pQmtFQ2RDQUlha0dBR0JCRUlnQTJBZ0FnQUVVTkFrR0FDQkJFSVFBZ0FTZ0NGQ0FHUVFKMGFpQUFOZ0lBSUFCRkRRUWdBMEVCYWlFRERBRUxDeUFFUVFGcUlRUU1BUXNMUVFCQkEwRzUyQUlnQ2hBOURBRUxRUUJCQTBHNTJBSWdDUkE5QzBFQkVBRUxJQUlrQmlBTUM2a0JBQ0FBUWRBVlFRd1F1QUVnQUVFd2FrR0FGa0VNRUxnQklBQkI0QUJxUWJBV1FRd1F1QUVnQUVHUUFXcEI0QlpCREJDNEFTQUFRY0FCYWtHUUYwRU1FTGdCSUFCQjhBRnFRY0FYUVF3UXVBRWdBRVBOek13OU9BS2dBaUFBUXpNek16NDRBcVFDSUFCREFBQ0FQamdDcUFJZ0FFTm1acVkrT0FLc0FpQUFRODNNekQ0NEFyQUNJQUJETXpQelBqZ0N0QUlnQUVQTnpBdy9PQUs0QWlBQVF3QUE0RUE0QXJ3Q0MwOEJBWDBnQVVNQUFBQUFPQUlBSUFKQmZ6WUNBQ0FBUWVRQWFpRUFBMEFnQUNnQ0FDSUFCRUFnQXlBQUtBSU1zMTBFUUNBQ0lBQW9BZ2cyQWdBZ0FTQUFLQUlNc3lJRE9BSUFDd3dCQ3dzTHV3TUNDbjhEZlNNR0lRVWpCa0VRYWlRR0lBRkJBRXdFUUNBRlFjRElBMEgxbEFJUU4wR1NsUUlRTjBIdm9nSVFOMEUxRUQ1QjlxSUNFRGRCaEpZQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRUFUQVJBSUFWQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRVFlRUGtIMm9nSVFOMEcwbGdJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRUtJQVpCUDNGQmlnRnFFUUlBSVFRZ0JSQThJQU1nQkJCQUlBTVFQeEFBQ3lBQ1FYOXFJZ2xCQW5RZ0FHb2hDaUFCUVg5cUlRY0RRQ0FLS2dJQUlRMGdDQ0FIU0FSQUlBZ2hBU0FISVFNRFFBTkFJQUZCQVdvaEJDQUJRUUowSUFCcUlnc3FBZ0FpRGlBTlhRUkFJQVFoQVF3QkN3c0RRQ0FEUVg5cUlRWWdEU0FEUVFKMElBQnFJZ3dxQWdBaUQxMEVRQ0FHSVFNTUFRc0xJQUVnQTB3RVFDQUxJQTg0QWdBZ0RDQU9PQUlBSUFRaEFTQUdJUU1MSUFFZ0Ewd05BQXNnQnlBRElBRWdBa2diSVFjZ0FTQUlJQU1nQ1VnYklRZ01BUXNMSUFVa0JpQU5DelVCQVgwZ0FSRDJBaUFDbENFRElBRVE5UUlnQXBRaEFTQUFJQU00QWdBZ0FDQUJqRGdDQkNBQUlBRTRBZ2dnQUNBRE9BSU1DMElCQVg4Z0FFRVFFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQU5nSUlJQVFnQXlnQ0JEWUNEQ0FBUVFFNkFBZ2dCQ0FDTmdJRUlBUkJBRFlDQUF1YUFRRUJmU0FBS0FJMHNpRUpJQUVnQlNBQUtnSVVJZ1dUSUFBcUFoZ2dCWk1RM2dFZ0NaUTRBZ0FnQUNnQ09MSWhCU0FDSUFZZ0FDb0NIQ0lHa3lBQUtnSWdJQWFURU40QklBV1VPQUlBSUFNZ0I3dEVHQzFFVlBzaENVQ2dSSVBJeVcwd1g4US9vaUFBS0FJOHQ2SzJPQUlBSUFCQlFHc29BZ0N5SVFVZ0JDQUlJQUFxQWlRaUJwTWdBQ29DS0NBR2t4RGVBU0FGbERnQ0FBdTdEQU1MZndaOUFYd2pCaUVJSXdaQkVHb2tCaUFBS2dJVUloQWdBVjRFZjBFQUJTQUFLZ0lZSWhFZ0FWOEVmMEVBQlNBQUtnSWNJaElnQWw0RWYwRUFCU0FBS2dJZ0loTWdBbDhFZjBFQUJTQUR1eUlXUkJndFJGVDdJUW5BWlNBV1JCZ3RSRlQ3SVFsQVpISUVmMEVBQlNBQUtnSWtJaFFnQkY0RWYwRUFCU0FBS2dJb0loVWdCRjhFZjBFQUJTQVFJQUZmUlFSQUlBaEJ3TWdEUVpHS0FoQTNRYk9LQWhBM1FlK2lBaEEzUWVnQ0VENUI5cUlDRURkQnM0c0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dFU0FCWGtVRVFDQUlRY0RJQTBIQ2l3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FiT0xBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQklnQWw5RkJFQWdDRUhBeUFOQjQ0c0NFRGRCczRvQ0VEZEI3NklDRURkQjZnSVFQa0gyb2dJUU4wR0ZqQUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFUSUFKZVJRUkFJQWhCd01nRFFaU01BaEEzUWJPS0FoQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEJoWXdDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRmtRWUxVUlUreUVKd0dSRkJFQWdDRUhBeUFOQnRZd0NFRGRCczRvQ0VEZEI3NklDRURkQjdBSVFQa0gyb2dJUU4wSFlqQUlRTnlJR0tBSUFRWFJxS0FJQUlBWnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFXUkJndFJGVDdJUWxBWlVVRVFDQUlRY0RJQTBIcmpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIdEFoQStRZmFpQWhBM1FkaU1BaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ2NvQWdBb0Fod2hCU0FIUVFvZ0JVRS9jVUdLQVdvUkFnQWhCU0FJRUR3Z0JpQUZFRUFnQmhBL0VBQUxJQlFnQkY5RkJFQWdDRUhBeUFOQmpvMENFRGRCczRvQ0VEZEI3NklDRURkQjdnSVFQa0gyb2dJUU4wRzRqUUlRTnlJR0lBWW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUVVnQjBFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQ0JBOElBWWdCUkJBSUFZUVB4QUFDeUFWSUFSZVJRUkFJQWhCd01nRFFjdU5BaEEzUWJPS0FoQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEJ1STBDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnQUNBQVFjUUFhaUlKSUFCQnlBQnFJZ1lnQUVITUFHb2lCU0FBUWRBQWFpSUhJQUVnQWlBRElBUVF2UWNnQ1NvQ0FFTUFBQUMva280UVF5RUtJQVlxQWdCREFBQUF2NUtPRUVNaEN3Si9JQVVxQWdCREFBQUF2NUtPRUVNaERpQUhLZ0lBUXdBQUFMK1NqaEJESVF3Z0RpQUFLQUk4SWdWcUN5QUZFRThoRFNBS1FRQklCSDlCQUFVZ0MwRUFTQ0FLUVFGcUlna2dBQ2dDTkU1eUJIOUJBQVVnREVFQVNDQUxRUUZxSWdZZ0FDZ0NPRTV5Qkg5QkFBVWdERUVCYWlJSElBQkJRR3NvQWdCSUJIOGdEVUVCYWlBRkVFOGhCU0FBSUFBZ0NpQUxJQTBnREJCOEVIc2dBQ0FBSUFrZ0N5QU5JQXdRZkJCN0lBQWdBQ0FKSUFZZ0RTQU1FSHdRZXlBQUlBQWdDU0FHSUFVZ0RCQjhFSHNnQUNBQUlBa2dCaUFGSUFjUWZCQjdJQUFnQUNBSklBWWdEU0FIRUh3UWV5QUFJQUFnQ1NBTElBVWdEQkI4RUhzZ0FDQUFJQWtnQ3lBRklBY1FmQkI3SUFBZ0FDQUpJQXNnRFNBSEVId1FleUFBSUFBZ0NpQUdJQTBnREJCOEVIc2dBQ0FBSUFvZ0JpQUZJQXdRZkJCN0lBQWdBQ0FLSUFZZ0JTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0J4QjhFSHNnQUNBQUlBb2dDeUFGSUF3UWZCQjdJQUFnQUNBS0lBc2dCU0FIRUh3UWV5QUFJQUFnQ2lBTElBMGdCeEI4RUh0QkFRVkJBQXNMQ3dzTEN3c0xDd3NMSVE4Z0NDUUdJQThMSndBZ0FBUi9JQUJCOElhdkEyb2lBQ2dDQUFSL0lBQkJBRFlDQUVFQUJVRi9Dd1ZCZndzYUM0Y0VBZ1YvQVh3akJpRU5Jd1pCSUdva0JpQU5RUkJxSVE0Z0F5QUhJQXVUSWdjNEFnQUNRQUpBSUFlN0loSkVHQzFFVlBzaENjQmxCRUFnRWtRWUxVUlUreUVaUUtDMklRY01BUVVnRWtRWUxVUlUreUVKUUdRRVFDQVNSQmd0UkZUN0lSbkFvTFloQnd3Q0N3c01BUXNnQXlBSE9BSUFDeUFIdXlJU1JCZ3RSRlQ3SVFuQVpFVUVRQ0FPUWNESUEwRzFqQUlRTjBHemlnSVFOMEh2b2dJUU4wSFVBeEErUWZhaUFoQTNRZGlNQWhBM0lnOGdEeWdDQUVGMGFpZ0NBR29RT3lBT1FZRE9BeEE2SWhBb0FnQW9BaHdoRVNBUVFRb2dFVUUvY1VHS0FXb1JBZ0FoRUNBT0VEd2dEeUFRRUVBZ0R4QS9FQUFMSUJKRUdDMUVWUHNoQ1VCbEJFQWdCQ0FJSUF3UTNnRWlCemdDQUNBTklBTXFBZ0FnQnhDN0J5QUVJQVFxQWdBUTBnRWdBQ29DTUpRNEFnQWdEU29DQ0NFSElBMHFBZ3doQ0NBQklBVWdEU29DQUNJRklBbVVJQTBxQWdRaUN5QUtsSktUSUFVZ0FDb0NDSlFnQ3lBQUtnSU1sSktTT0FJQUlBSWdCaUFISUFtVUlBZ2dDcFNTa3lBSElBQXFBZ2lVSUFnZ0FDb0NESlNTa2pnQ0FDQU5KQVlGSUE1QndNZ0RRZXVNQWhBM1FiT0tBaEEzUWUraUFoQTNRZFVERUQ1QjlxSUNFRGRCMkl3Q0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBNUJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBNFFQQ0FBSUFFUVFDQUFFRDhRQUFzTDdRUUNCMzhDZlNNR0lRY2pCa0VRYWlRR0lBZEJER29oQkNBQUtBSUFJQUFvQWdRUXhnRWhDaUFISUFNUWhBSWdBMEVBVEFSQUlBUkJ3TWdEUWJtU0FoQTNRZG1TQWhBM1FlK2lBaEEzUWRBQkVENUI5cUlDRURkQjI1TUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQUVFQVRBUkFJQVJCd01nRFFmR1RBaEEzUWRtU0FoQTNRZStpQWhBM1FkRUJFRDVCOXFJQ0VEZEJtNVFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0JFRUFUQVJBSUFSQndNZ0RRYktVQWhBM1FkbVNBaEEzUWUraUFoQTNRZElCRUQ1QjlxSUNFRGRCM1pRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0NySWhDMEVBSVFRRFFDQURJQVJIQkVBZ0JFRUNkQ0lGUVFKMElBRnFLZ0lNSUFWQkFuUWdBbW9xQWd3UTNnRWdDNVFoRENBSEtBSUFJQVJCQW5ScUlBdzRBZ0FnQkVFQmFpRUVEQUVMQ3lBSEtBSUFJZ0VnQnlnQ0JDQUJhMEVDZFNJQklBRkJBaEE1SUFGQkFYRkJmMnBxRUxvSFF3QUFnRDZVSVFzZ0FFRUZJQUFxQWhnZ0FDb0NGSk1nQzVXTkVFTVF4Z0UyQWpRZ0FFRUZJQUFxQWlBZ0FDb0NISk1nQzVXTkVFTVF4Z0VpQVRZQ09DQUFJQUVnQUNnQ05Hd2lBVFlDVkNBQUlBRWdBQ2dDUEd3MkFsZ2dCeEJWSUFja0JndTdBZ0VLZnlNR0lRVWpCa0VRYWlRR0lBVkJER29oQ1NBRlFRaHFJUW9nQlVFRWFpRUxJQUJCM0FCcUVMMERJQU1FUUNBQVFmQUFhaUlNSUFOQkFuUVFod0VnQUVIOEFHb2lEU0FERUljQklBQXNBQkFFUUNBQUlBRWdBaUFERU1FSEN3TkFJQWNnQTBnRVFDQUFJQWtnQ2lBTElBVWdCMEVDZENJRVFRSjBJQUZxSWdncUFnQWdDQ29DQkNBSUtnSUlJQWdxQWd3Z0JFRUNkQ0FDYWlJRUtnSUFJQVFxQWdRZ0JDb0NDQ0FFS2dJTUVNQUhJQUFnQ1NvQ0FDQUtLZ0lBSUFzcUFnQWdCU29DQUJDK0J3UkFJQXdvQWdBZ0JrRUVkR29pQkNBQUtBSkVOZ0lBSUFRZ0FDZ0NTRFlDQkNBRUlBQW9Ba3cyQWdnZ0JDQUFLQUpRTmdJTUlBMG9BZ0FnQmtFQ2RHb2dCellDQUNBR1FRRnFJUVlMSUFkQkFXb2hCd3dCQ3dzZ0RDQUdRUUowRUljQklBMGdCaENIQVFzZ0JTUUdDNE1CQUNBQUlBRTRBaFFnQUNBQ09BSVlJQUFnQXpnQ0hDQUFJQVE0QWlBZ0FFTUFBSUMvT0FJa0lBQkRBQUNBUHpnQ0tDQUFRUUEyQWpRZ0FFRUFOZ0k0SUFCQkREWUNQQ0FBUVVCclFRbzJBZ0FnQUVFQU5nSlVJQUJCQURZQ1dDQUFRd0FBSUVFNEFpd2dBRVBZVzk0K09BSXdJQUJCQVRvQUVDQUFRZHdBYWhDOUF3c3BBUUYvSUFBb0FnZ1F2Z01nQUNnQ0FDRUJJQUJCQURZQ0FDQUJCRUFnQUNnQ0JCb2dBUkE0Q3d1UEFRRUJmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBVG9BRUNBQVFSUnFJZ0ZDQURjQ0FDQUJRZ0EzQWdnZ0FVSUFOd0lRSUFGQ0FEY0NHQ0FCUWdBM0FpQWdBVUlBTndJb0lBRkNBRGNDTUNBQlFnQTNBamdnQVVGQWEwSUFOd0lBSUFGQ0FEY0NTQ0FCUWdBM0FsQWdBRUdBZ0lEOEF6WUNiQ0FBUWdBM0FuQWdBRUlBTndKNElBQkNBRGNDZ0FFTExRQWdBQ0FCUVVCcktBSUFOZ0lBSUFBZ0FTZ0NSQ0lBTmdJRUlBQUVRQ0FBSUFBb0FnUkJBV28yQWdRTEN5Y0FJQUFFZnlBQVFmQ0dyd05xSWdBb0FnQUVmMEYvQlNBQUlBRTJBZ0JCQUFzRlFYOExHZ3NyQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFCTmdJQUlBQW9BZ0JCQkdvZ0FoRERBaUVESUFJa0JpQURDN2dCQVFOL0lBRWdBU2dDQkVFQUlBSWdBQ2dDQUNJRWF5SURRUUoxYTBFQ2RHb2lCVFlDQkNBRFFRQktCRUFnQlNBRUlBTVFUQm9MSUFBb0FnUWdBbXNpQTBFQVNnUkFJQUVvQWdnZ0FpQURFRXdhSUFFZ0FTZ0NDQ0FEUVFKMlFRSjBhallDQ0FzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUMwUUJBbjhnQWlnQ0FDRURJQUVvQWdBaEFnTkFJQUlnQTBjRVFDQUFLQUlJSWdRZ0FpZ0NBRFlDQUNBQUlBUkJCR28yQWdnZ0FTQUNRUVJxSWdJMkFnQU1BUXNMQzJNQkJIOGdBQ2dDQkNJRklBTnJJZ1pCQW5VaUIwRUNkQ0FCYWlFRUlBVWhBd05BSUFRZ0Fra0VRQ0FESUFRb0FnQTJBZ0FnQUNBRFFRUnFJZ00yQWdRZ0JFRUVhaUVFREFFTEN5QUdCRUJCQUNBSGEwRUNkQ0FGYWlBQklBWVE1d0VhQ3dzL0FRRi9JQUlvQWdBaEFpQUJLQUlBSVFFRFFDQUJJQUpIQkVBZ0FDZ0NCQ0lESUFFb0FnQTJBZ0FnQUNBRFFRUnFOZ0lFSUFGQkJHb2hBUXdCQ3dzTE5BRUJmeUFBS0FJRUlRSURRQ0FDUVFBMkFnQWdBa0VBTmdJRUlBQWdBQ2dDQkVFSWFpSUNOZ0lFSUFGQmYyb2lBUTBBQ3dzN0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRjRhallDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VUQVFFQ2Z5QUFLQUlBSVFNZ0FDZ0NCQ0VDQTBBZ0FpQURSd1JBSUFFb0FnUkJlR29nQWtGNGFpSUNLUUlBTndJQUlBRWdBU2dDQkVGNGFqWUNCQXdCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUM2RUJBUVIvSXdZaEF5TUdRUkJxSkFZZ0FrRUJTZ1JBSUFKQmZtcEJBaEE1SWdKQkEzUWdBQ2dDQUNJRmFpRUFJQUVnQVNnQ0FFRjRhaUlFTmdJQUlBQWdCQkRCQVFSQUlBTWdCQ2tDQURjREFBTkFBa0FnQkNBQUtRSUFOd0lBSUFFZ0FEWUNBQ0FDUlEwQUlBSkJmMnBCQWhBNUlnSkJBM1FnQldvaUJpQURFTUVCQkVBZ0FDRUVJQVloQUF3Q0N3c0xJQUFnQXlrREFEY0NBQXNMSUFNa0JndWRBUUVGZnlNR0lRSWpCa0VnYWlRR1FmLy8vLzhCSUFBb0FnUWdBQ2dDQUd0QkEzVkJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSW9BZ2dnQVNrQ0FEY0NBQ0FDSUFJb0FnaEJDR28yQWdnZ0FDQUNFTThISUFJUXpnY2dBaVFHQ3dzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTUVESUFBZ0FSRE5Cd3NMaEFVQkNIOGpCaUVJSXdaQk1Hb2tCaUFJUVFocUlRVWdDRUVRYWlJSklBQW9BbXdnQUNnQ2FHdEJBblVRMGdkQmZ5RUVRWDhoQ2dOQUlBWWdDU2dDQkNBSktBSUFhMEVEZFVrRVFDQUFLQUpvSUFaQkFuUnFLQUlBUVFScUlBTVFnZ0loQnlBRklBQW9BbWdnQmtFQ2RHb29BZ0EyQWdBZ0JTQUhOZ0lFSUFrb0FnQWdCa0VEZEdvZ0JTa0RBRGNDQUNBR0lBb2dCeUFFU1NJTEd5RUtJQWNnQkNBTEd5RUVJQVpCQVdvaEJnd0JDd3NnQ2tGL1JnUkFJQVZCd01nRFFkbUpBaEEzUWRIeEFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIrNGtDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQlNBQUtBSm9JQXBCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lFSUFFb0FnaEpCRUFnQkNBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3lBSVFTUnFJUVpCQUNFRUEwQWdDU2dDQUNJRElRY2dCQ0FKS0FJRUlBTnJRUU4xU1FSQUlBUWdDa2NFUUNBRVFRTjBJQWRxS0FJRUlBa29BZ0FnQ2tFRGRHb29BZ1JHQkVBZ0JTQUFLQUpvSUFSQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJSElBRW9BZ2hKQkVBZ0J5QUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N3VWdDU2dDQUNBRVFRTjBhaUVESUFJb0FnUWlCeUFDS0FJSVJnUkFJQUlnQXhEUkJ5QUNLQUlFSVFNRklBY2dBeWtDQURjQ0FDQUNJQUlvQWdSQkNHb2lBellDQkFzZ0NDQUNLQUlBSWdjMkFpQWdDQ0FETmdJY0lBWWdDQ2dDSURZQ0FDQUZJQWdvQWh3MkFnQWdCaUFGSUFNZ0IydEJBM1VRMEFjTEN5QUVRUUZxSVFRTUFRc0xJQWtRMHdNZ0NDUUdDNTREQVFoL0l3WWhCQ01HUVRCcUpBWWdCRUVvYWlFSUlBUkJKR29oQ1NBRVFRaHFJUVVnQVNnQ0FDQUFLQUlBSWdFaUJtdEJBblZCQW5RZ0FXb2hBU0FES0FJQUlnb2dBaWdDQUNJRGF5SUNRUUoxSVFjZ0FrRUFTZ1JBQWtBZ0J5QUFLQUlJSUFBb0FnUWlDeUlDYTBFQ2RVb0VRRUgvLy8vL0F5QUhJQUlnQm10QkFuVnFJZ1pKQkVBUUFBVWdCU0FHSUFBb0FnZ2dBQ2dDQUNJQ2F5SUhRUUYxSWdzZ0N5QUdTUnRCLy8vLy93TWdCMEVDZFVILy8vLy9BVWtiSUFFZ0FtdEJBblVnQUVFSWFoRElBU0FFSUFNMkFnUWdCQ0FLTmdJQUlBa2dCQ2dDQkRZQ0FDQUlJQVFvQWdBMkFnQWdCU0FKSUFnUXlnY2dBQ0FGSUFFUXlRY2dCUkRIQVF3Q0N3c2dBaUFCYXlJRlFRSjFJZ1pCQW5RZ0Eyb2hBaUFISUFaS0JFQWdCQ0FDTmdJZ0lBUWdDallDSENBSklBUW9BaUEyQWdBZ0NDQUVLQUljTmdJQUlBQWdDU0FJRU13SElBVkJBRXdOQVFVZ0NpRUNDeUFBSUFFZ0N5QUhRUUowSUFGcUVNc0hJQUVoQUFOQUlBSWdBMGNFUUNBQUlBTW9BZ0EyQWdBZ0FFRUVhaUVBSUFOQkJHb2hBd3dCQ3dzTEN5QUVKQVlMaEFNQ0IzOEJmaU1HSVFRakJrRXdhaVFHSUFSQkNHb2hCU0FBS0FJSVJRUkFJQVZCd01nRFFhS0pBaEEzUWRIeEFSQTNRZStpQWhBM1FaVURFRDVCOXFJQ0VEZEJ4WWtDRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VHSUFOQkNpQUdRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUNJQU1RUUNBQ0VEOFFBQXNnQkVFY2FpRUdJQUJCQURZQ1pDQUFJQUFvQWtnMkFrd2dBRUhVQUdvaEJ5QUFLQUpZSVFJRFFDQUNJQWNvQWdBaUEwY0VRQ0FDSUFOcklnaEJDRW9FZnlBRklBTXBBZ0FpQ1RjREFDQURJQUpCZUdvaUFpa0NBRGNDQUNBQ0lBazNBZ0FnQkNBRE5nSVlJQVFnQWpZQ0ZDQUVJQU0yQWhBZ0JpQUVLQUlZTmdJQUlBUWdCQ2dDRkRZQ0lDQUZJQVFvQWhBMkFnQWdCaUFJUVFOMlFYOXFJQVVRdndNZ0FDZ0NXQVVnQWdzaEEwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQUlBTkJlR29pQWpZQ1dBd0JDd3NnQUNBSElBQW9BZ2dnQVJDN0FpQUFLQUpNSUFBb0FraHJHaUFFSkFZTHlBRUJBWDhqQmlFTkl3WkJFR29rQmlBQklBVWdDWk9MT0FJQUlBSWdCaUFLazRzNEFnQWdCQ0FJSUF5VGl6Z0NBQ0FESUFjZ0M1T0xJZ1VnQUNnQ1BMSWdCWk1RL2dFaUJUZ0NBQ0FGUXdBQUFBQmdCRUFnRFNRR0JTQU5RY0RJQTBIWGlBSVFOMEd6aWdJUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FZQ0pBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFOUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FORUR3Z0FpQUFFRUFnQWhBL0VBQUxDK29JQVFOL0l3WWhCaU1HUVJCcUpBWWdBU0FGSUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJCUElnYzJBZ0FnQWlBRklBZHJJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkE1SWdjMkFnQWdBeUFGSUFFb0FnQnJJQWNnQUNnQ05HeHJJQUFvQWxnUVR5QUFLQUpVRURraUJ6WUNBQ0FFSUFVZ0FTZ0NBR3NnQWlnQ0FDQUFLQUkwYkNBSElBQW9BbFJzYW1zZ0FDZ0NXQkE1SWdjMkFnQWdBU2dDQUNJRlFYOU1CRUFnQmtIQXlBTkJxWTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2Z0VRUGtIMm9nSVFOMEhLamdJUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQWdnQVJCQUlBZ1FQeEFBQ3lBRklBQW9BalJPQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdndFUVBrSDJvZ0lRTjBIS2pnSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFVZ0FSQkFJQVVRUHhBQUN5QUNLQUlBSWdSQmYwd0VRQ0FHUWNESUEwR0Vqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRYVdQQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCU0FCRUVBZ0JSQS9FQUFMSUFRZ0FDZ0NPRTRFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1FvQWdCQmRHb29BZ0FnQkdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQkNBQkVFQWdCQkEvRUFBTElBTW9BZ0FpQTBGL1RBUkFJQVpCd01nRFFkK1BBaEEzUWJPS0FoQTNRZStpQWhBM1FjSUJFRDVCOXFJQ0VEZEJoSkFDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQUVJQUVRUUNBRUVEOFFBQXNnQXlBQUtBSThUZ1JBSUFaQndNZ0RRWnFRQWhBM1FiT0tBaEEzUWUraUFoQTNRY01CRUQ1QjlxSUNFRGRCaEpBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0IwRi9UQVJBSUFaQndNZ0RRY3FRQWhBM1FiT0tBaEEzUWUraUFoQTNRY1FCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FESUFFUVFDQURFRDhRQUFzZ0J5QUFRVUJyS0FJQVNBUkFJQVlrQmdVZ0JrSEF5QU5CaFpFQ0VEZEJzNG9DRURkQjc2SUNFRGRCeFFFUVBrSDJvZ0lRTjBIdmtBSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCaEE4SUFJZ0FCQkFJQUlRUHhBQUN3dnhBZ0VMZnlBQUlBRVF2QUlpQWtFQVNBUi9JQUlGQW44Z0FDZ0NBQVJBSUFCQkJHb2hDQ0FBUVFocUlRVUZJQUFnQUVFSWFpSUZLQUlBSUFCQkJHb2lDQ2dDQUd3UVJDSUNOZ0lBUVg4Z0FrVU5BUm9MQTBBZ0JpQUZLQUlBSWdKSUJFQkJBQ0VDQTBBZ0FpQUlLQUlBSWdsSUJFQkJmQ0VIUVFBaENrRUFJUU1EUUNBSFFRUk1CRUFnQmlBSGFpSUVRUUJPQkVBZ0JDQUZLQUlBU0FSQUFrQWdCQ0FKYkNFTVFYd2hCQU5BSUFSQkJFb05BU0FDSUFScUlndEJmMG9nQ3lBSlNIRUVRQ0FLUVFGcUlRb2dBeUFCSUFzZ0RHcHFMUUFBYWlFREN5QUVRUUZxSVFRTUFBQUxBQXNMQ3lBSFFRRnFJUWNNQVFzTElBTWdDaEE1UWY4QmNTRURJQUFvQWdBZ0FpQUdJQWxzYW1vZ0F6b0FBQ0FDUVFGcUlRSU1BUXNMSUFaQkFXb2hCZ3dCQ3d0QkFDRURJQUloQVFOL0lBTWdDQ2dDQUNBQmJFZ0VmeUFESUFBb0FnQnFJZ0VnQVMwQUFFRjVham9BQUNBRFFRRnFJUU1nQlNnQ0FDRUJEQUVGUVFBTEN3c0xDN3dUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnWWhEU0FCSUFKQmYyb2lFR3hCQVhRZ0Jtb2hCUU5BSUFjZ0FVZ0VRQ0FGUVFBN0FRQWdEVUVBT3dFQUlBMUJBbW9oRFNBRlFRSnFJUVVnQjBFQmFpRUhEQUVMQ3lBR0lRY2dBVUYvYWlJUlFRRjBJQVpxSVExQkFDRUZBMEFnQlNBQ1NBUkFJQTFCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnRFdvaERTQUZRUUZxSVFVTUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTFCQVNFTFFRQWhCU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENTQUdJUXdEUUNBSklCRklCRUFnRFMwQUFDQURTZ1JBSUF4QkFEc0JBQVVDUUNBU1FRRjBJQXhxSWc4dUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBUFFYNXFMZ0VBSWdvaENDQUtRUUJLSVFZZ0R5NEJBaUlGUVFCTUJFQWdCZ1JBSUF3Z0Nqc0JBQ0FJUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpTQVJBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFJTElBeEJmbW91QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmhJRFFBR29pQlNnQ0FDQUpUZzBDSUFVZ0NUWUNBQVVnQUVILy93RktEUVlnRENBQVFRRnFJZ1U3QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFGUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFMTmdJQUlBVWhBQXNNQVFzZ0JnUkFBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFoQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQlNBR0tBSUFSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQXhCZm1vdUFRQWlCa0VBVEFSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJnSURRQUdvaUJTZ0NBQ0FKU2dSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxBa0FnQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGSUFaQkFuUWdCR3BCaklESUFHb29BZ0FpQ0VvRVFDQU1JQWc3QVFBZ0J5RUdRUUFoQ2dOQUlBb2dBRTRFUUNBSUlRVU1Bd3NnQmlnQ0FDQUZSZ1JBSUFZZ0NEWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQlNBTUlBVTdBUUFnQlNBSVNBUkFJQWNoQmtFQUlRb0RRQ0FLSUFCT0RRTWdDQ0FHS0FJQVJnUkFJQVlnQlRZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FDd3NMSUFWQkVIUkJFSFZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBTEN5QU5RUUZxSVEwZ0NVRUJhaUVKSUF4QkFtb2hEQXdCQ3dzZ0RVRUNhaUVOSUF0QkFXb2hDeUFBSVFVZ0RFRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBNFFQVUYvREFFTElBUkJER29oRFVFQklRQkJBU0VJQTBBZ0NDQUZUQVJBSUFnZ0J5Z0NBQ0lHUmdSQUlBQkJBV29oQXdVZ0FDRURJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQnlBQU5nSUFJQU1oQUNBSVFRRnFJUWdnQjBFRWFpRUhEQUVMQ3lBRUlBQkJmMm9pQnpZQ0NDQUhCSDhnRFVFQUlBZEJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0IwRUVkQkJGR2tFQUlRTURRQ0FESUFkSUJFQWdCRUdNZ0FocUlBTkJBblFpQUVFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQUVFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FFRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dBRUVEY2tFQ2RHcEJBRFlDQUNBRFFRRnFJUU1NQVFzTFFRQWhBd05BSUFNZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0EwRUNkR29vQWdCQmYyb2lBa0VDZEdvaUFDQUVRWkNBMEFCcUlBTkJCMndpQjBFQ2RHb29BZ0FnQUNnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUFVRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQVVFQmNrRURkR29pQUNBQUt3TUFJQWRCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJuSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm9JRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcElEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFOQkFXb2hBd3dCQ3dzZ0JDZ0NDQ0VDUVFBaEF3Ti9JQU1nQWtnRWZ5QUVRWkNBS0dvZ0EwRUJkQ0lCUVFOMGFpSUFJQUFyQXdBZ0JFRU1haUFEUVFKMGFpZ0NBTGNpRktNNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBVW96a0RBQ0FEUVFGcUlRTU1BUVZCQUFzTEJVRUFDd3NoRXlBT0pBWWdFd3M2QVFGL0lBQW9BZ1FoQWdOQUlBSkRBQUFBQURnQ0FDQUNRd0FBQUFBNEFnUWdBQ0FBS0FJRVFRaHFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1TUJBUUYvUVFkQkJrRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0hDQUJRUUowSUFCcUtnSUFYaHNMZlFFQmYwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNMWndFQmYwRUZRUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lVSUFGQkFuUWdBR29xQWdCZUd3dFJBUUYvUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc0xPd0VCZjBFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzTDhBRUNBMzhIZlNBQUlBRVF2QUlpQVVFQVRnUkFRUUVoQVFOQUlBY2dBRUVNYWlBQlFRSjBhaWdDQUNBQmJMT1NJUWNnQVVFQmFpSUJRWUFDUncwQUN5QUFLQUlFSUFBb0FnaHNzaUVNUVFBaEFRTkFBa0FnQmlBQVFReHFJQU5CQW5ScUtBSUFJZ1N6a2lJR1F3QUFBQUJjQkVBZ0RDQUdreUlMUXdBQUFBQmJEUUVnQ1NBRElBUnNzNUlpQ1NBR2xTQUhJQW1USUF1Vmt5SUtJQVlnQzVRZ0NwU1VJZ29nQ0Y0aEJTQURRZjhCY1NJRUlBRWdCUnNoQVNBS0lBZ2dCUnNoQ0FVZ0EwSC9BWEVoQkFzZ0EwRUJhaUVESUFSQi93RnhRZjhCUncwQkN3c2dBaUFCT2dBQVFRQWhBUXNnQVFzbEFRRi9RUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YkM2a0JBUUYvUVFoQkIwRUdRUVZCQkVFRFFRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NEQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0lRSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWhRZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0dDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSWNJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaUFnQVVFQ2RDQUFhaW9DQUY0YkMra0JBUU4vSXdZaEFpTUdRWUFEYWlRR0lBSkIwQUpxSWdNZ0FpQUJRUUFRb1FFNEFnQWdBeUFDUVNScUlBRkJBUkNoQVRnQ0JDQURJQUpCeUFCcUlBRkJBaENoQVRnQ0NDQURJQUpCN0FCcUlBRkJBeENoQVRnQ0RDQURJQUpCa0FGcUlBRkJCQkNoQVRnQ0VDQURJQUpCdEFGcUlBRkJCUkNoQVRnQ0ZDQURJQUpCMkFGcUlBRkJCaENoQVRnQ0dDQURJQUpCL0FGcUlBRkJCeENoQVRnQ0hDQURJQUpCb0FKcUlBRkJDQkNoQVRnQ0lDQURFT0lISWdGQkFuUWdBMm9xQWdCREFBQUFBRnNFZjBFQUJTQUFJQUZCQ1d4QkFuUWdBbW9RdmdKQkFRc2hCQ0FDSkFZZ0JBdW9BUUVFZnlBQUlBRVE5Z2NpQVVFQVNBUi9JQUVGSUFBb0FnZ2dBQ2dDQkd5eVF3QUFBRCtVRUpJQklRUkJBQ0VCQTBBZ0FVRUJha0VZZEVFWWRTRURJQUJCakFocUlBRkIvd0Z4SWdaQkFuUnFLQUlBSWdVZ0JFa0VRQ0FESVFFTUFRc0xBMEFnQVVFQmFrRVlkRUVZZFNFRElBUWdCVVlFUUNBQVFZd0lhaUFESWdGQi93RnhRUUowYWlnQ0FDRUZEQUVMQ3lBQ0lBWWdBVUgvQVhGcVFRRjJPZ0FBUVFBTEMwQUNBWDhCZlNBQVFmd0JhaUlDSUFCQjJBRnFJQUZCL0FGcUVHVWdBaEJhSWdOREFBQUFBRnNFZjBFQUJTQUNJQUpEQUFDQVB5QURrWlVRbEFGQkFRc0xyUUVCQlg4akJpRUNJd1pCRUdva0JpQUFRZGdCYWlJRElBQkJ0QUZxSWdVZ0FVSFlBV29pQkJCbElBQkIvQUZxSWdBZ0JTQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdBQkJhT0FJRUlBSXFBZ1FnQWlvQ0FGNGlBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JDQUFRUUowSUFScUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFR0lBSWtCaUFHQzhJQkFRWi9Jd1loQWlNR1FSQnFKQVlnQUVHMEFXb2lBeUFBUVpBQmFpSUVJQUZCdEFGcUlnVVFaU0FBUWRnQmFpSUdJQVFnQVVIWUFXb1FaU0FBUWZ3QmFpSUFJQVFnQVVIOEFXb1FaU0FDSUFNUVdqZ0NBQ0FDSUFZUVdqZ0NCQ0FDSUFBUVdqZ0NDQ0FDRU9FSElnQkJBblFnQW1vaUFTb0NBRU1BQUFBQVd3Ui9RUUFGSUFNZ0FFRUpiQ0lBUVFKMElBTnFFSXdCSUFVZ0FFRUNkQ0FGYWhDTUFTQURJQU5EQUFDQVB5QUJLZ0lBa1pVUWxBRkJBUXNoQnlBQ0pBWWdCd3ZkQVFFSGZ5TUdJUUlqQmtFUWFpUUdJQUJCa0FGcUlnTWdBRUhzQUdvaUJDQUJRWkFCYWlJRkVHVWdBRUcwQVdvaUJpQUVJQUZCdEFGcUVHVWdBRUhZQVdvaUJ5QUVJQUZCMkFGcUVHVWdBRUg4QVdvaUFDQUVJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFHRUZvNEFnUWdBaUFIRUZvNEFnZ2dBaUFBRUZvNEFnd2dBaERmQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FGSUFCQkFuUWdCV29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUWdnQWlRR0lBZ0wrQUVCQ0g4akJpRUNJd1pCSUdva0JpQUFRZXdBYWlJRElBQkJ5QUJxSWdRZ0FVSHNBR29pQlJCbElBQkJrQUZxSWdZZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdjZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdnZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdBQkJhT0FJUUlBSVEzZ2NpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUpJQUlrQmlBSkM1SUNBUWwvSXdZaEFpTUdRU0JxSkFZZ0FFSElBR29pQXlBQVFTUnFJZ1FnQVVISUFHb2lCUkJsSUFCQjdBQnFJZ1lnQkNBQlFld0FhaEJsSUFCQmtBRnFJZ2NnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2dnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2tnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0NSQmFPQUlRSUFJZ0FCQmFPQUlVSUFJUTNRY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFS0lBSWtCaUFLQzZZQ0FRcC9Jd1loQWlNR1FTQnFKQVlnQUVFa2FpSURJQUFnQVVFa2FpSUVFR1VnQUVISUFHb2lCU0FBSUFGQnlBQnFFR1VnQUVIc0FHb2lCaUFBSUFGQjdBQnFFR1VnQUVHUUFXb2lCeUFBSUFGQmtBRnFFR1VnQUVHMEFXb2lDQ0FBSUFGQnRBRnFFR1VnQUVIWUFXb2lDU0FBSUFGQjJBRnFFR1VnQUVIOEFXb2lDaUFBSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBRkVGbzRBZ1FnQWlBR0VGbzRBZ2dnQWlBSEVGbzRBZ3dnQWlBSUVGbzRBaEFnQWlBSkVGbzRBaFFnQWlBS0VGbzRBaGdnQWhEY0J5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRUlBQkJBblFnQkdvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFzZ0FpUUdJQXNMeXdFQkJYOGpCaUVDSXdaQklHb2tCaUFDSUFFUVdqZ0NBQ0FDSUFGQkpHb2lBeEJhT0FJRUlBSWdBVUhJQUdvUVdqZ0NDQ0FDSUFGQjdBQnFFRm80QWd3Z0FpQUJRWkFCYWhCYU9BSVFJQUlnQVVHMEFXb1FXamdDRkNBQ0lBRkIyQUZxRUZvNEFoZ2dBaUFCUWZ3QmFoQmFPQUljSUFJUTJ3Y2lCRUVDZENBQ2FpSUZLZ0lBUXdBQUFBQmJCSDlCQUFVZ0FTQUVRUWxzUVFKMElBRnFFSXdCSUFBZ0FVTUFBSUEvSUFVcUFnQ1JsUkNVQVNBQVFTUnFJQU5CUHhDNEFVRUJDeUVHSUFJa0JpQUdDNGNCQVFKL0l3WWhBaU1HUWFBQ2FpUUdJQUlnQVJEc0J3Ui9JQUlnQVJEckJ3Ui9JQUlnQVJEcUJ3Ui9JQUlnQVJEcEJ3Ui9JQUlnQVJEb0J3Ui9JQUlnQVJEbkJ3Ui9JQUlnQVJEbUJ3Ui9JQUlnQVJEbEJ3Ui9JQUFnQWhEakJ3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMSVFNZ0FpUUdJQU1MTWdBZ0FDQUJJQVVRL0FFZ0FFSElBR29nQWlBR0VQd0JJQUJCa0FGcUlBTWdCeEQ4QVNBQVFkZ0JhaUFFSUFnUS9BRUxtQUlCQm4wZ0FTb0NHQ0lHSUFVcUFnQWlCNVFnQVNvQ0FDQUVsWkloQ2lBSElBRXFBaHdpQ0pRZ0FTb0NCQ0FFbFpJaEJ5QUdJQVVxQWdRaUNaUWdBU29DRENBRWxaSWhCaUFJSUFtVUlBRXFBaEFnQkpXU0lRZ2dBeW9DQUNBQ2xDRUpJQU1xQWdRZ0FwUWhDeUFBSUFvZ0FwUTRBZ0FnQUNBSElBS1VPQUlFSUFBZ0FTb0NJQ0FGS2dJQWxDQUJLZ0lJSUFTVmtpQUtJQW1Va3lBSElBdVVremdDQ0NBQUlBWWdBcFE0QWd3Z0FDQUlJQUtVT0FJUUlBQWdBU29DSUNBRktnSUVsQ0FCS2dJVUlBU1ZraUFHSUFtVWt5QUlJQXVVa3pnQ0ZDQUFJQUVxQWhnZ0FwUWlCRGdDR0NBQUlBRXFBaHdnQXBRaUFqZ0NIQ0FBSUFFcUFpQWdCQ0FES2dJQWxKTWdBaUFES2dJRWxKTTRBaUFMVEFFQ2Z5TUdJUWtqQmtHZ0Ftb2tCaUFKSUFFZ0FpQURJQVFnQlNBR0lBY2dDQkR1QnlBQUlBa1E3UWNFZnlBQUVNY0RpN3RFOFdqamlMWDQ1RDVqUlFWQkFBc2hDaUFKSkFZZ0NndTJCQUlLZndOOUl3WWhCeU1HUVJCcUpBWWdBa0VBVEFSQUlBZEJ3TWdEUWZXVUFoQTNRWktWQWhBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQmhKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEVBVEFSQUlBZEJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUWRNQUVENUI5cUlDRURkQnRKWUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCU2dDQUNnQ0hDRUdJQVZCQ2lBR1FUOXhRWW9CYWhFQ0FDRUZJQWNRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBMEYvYWlJS1FRTjBJQUZxSVFzZ0NrRURkQ0FCYWlFTklBSkJmMm9oQlVFQUlRWURRQ0FHSUFWSUJFQWdDeW9DQUNFT0lBMG9BZ1FoRENBR0lRSWdCU0VFQTBBRFFBSkFJQUpCQTNRZ0FXb2lDQ29DQUNJUElBNWRSUVJBSUE0Z0QxME5BU0FDUVFOMElBRnFLQUlFSUF4T0RRRUxJQUpCQVdvaEFnd0JDd3NEUUFKQUlBNGdCRUVEZENBQmFpSUpLZ0lBSWhCZFJRUkFJQkFnRGwwTkFTQU1JQVJCQTNRZ0FXb29BZ1JPRFFFTElBUkJmMm9oQkF3QkN3c2dBaUFFVEFSQUlBZ2dFRGdDQUNBSklBODRBZ0FnQWtFRGRDQUJhaUlJS0FJRUlRa2dDQ0FFUVFOMElBRnFJZ2dvQWdRMkFnUWdDQ0FKTmdJRUlBSkJBV29oQWlBRVFYOXFJUVFMSUFJZ0JFd05BQXNnQlNBRUlBSWdBMGdiSVFVZ0FpQUdJQVFnQ2tnYklRWU1BUXNMSUFBZ0N5a0NBRGNDQUNBSEpBWUxnUUVCQVgwZ0FDQUFLZ0lBUXdBQWdEOGdBQ29DSUpVaUFaUTRBZ0FnQUNBQklBQXFBZ1NVT0FJRUlBQWdBU0FBS2dJSWxEZ0NDQ0FBSUFFZ0FDb0NESlE0QWd3Z0FDQUJJQUFxQWhDVU9BSVFJQUFnQVNBQUtnSVVsRGdDRkNBQUlBRWdBQ29DR0pRNEFoZ2dBQ0FCSUFBcUFoeVVPQUljSUFCREFBQ0FQemdDSUF0NUFnTi9BbjBqQmlFRUl3WkJFR29rQmlBRVFRaHFJZ1ZCQkdvaEJpQUZJQVlnQUNBQktnSUFJQUVxQWdRUXZRSWdCQ0FGS2dJQUlBSXFBZ0NUT0FJQUlBUWdCaW9DQUNBQ0tnSUVremdDQkNBRUtnSUFJZ2NnQjVRZ0JDb0NCQ0lISUFlVWtpQURsRU1BQUlBL2toRFNBU0VJSUFRa0JpQUlDL2NCQVExL0l3WWhBaU1HUVRCcUpBWUNmeUFDUVNCcUlnTWdBQ0FCRUtvQklBSkJHR29pQkNBQUlBRkJDR29pQnhDcUFTQUNRUkJxSWdVZ0FDQUJRUkJxSWdZUXFnRWdBa0VJYWlJS0lBTVF4UU1nQWlBRUVNVURJQUVnQnlBR0lBTWdCQ0FGRVAwQkJIOUJBeUVJSUFjaENTQUJJUXNEUUNBSVFRUklCRUFnQXlBQUlBWkJDR29pQmhDcUFVRUFJQXRCQ0dvaUN5QUpRUWhxSWdrZ0JpQUVJQVVnQXhEOUFVVU5BeG9nQXlFTklBaEJBV29oQ0NBRUlRTWdCU0VFSUEwaEJRd0JDd3NnQ1NBR0lBRWdCQ0FGSUFvUS9RRUVmeUFHSUFFZ0J5QUZJQW9nQWhEOUFRVkJBQXNGUVFBTEN5RU9JQUlrQmlBT0M5UUJBUTUvSXdZaENTTUdRWUFCYWlRR0lBbEIrQUJxSVFvZ0NVSG9BR29oQ3lBSlFVQnJJUXdnQ1VFNGFpRU5JQWxCTUdvaERpQUpRU2hxSVE4Z0NVSGdBR29pRUNBSlFkZ0FhaUlSSUFsQjBBQnFJaElnQ1VISUFHb2lFeUFKUWZ3QWFpSVVJQWxCOEFCcUloVWdBU0FDSUFNZ0JCREVBd1IvSUF3Z0RTQU9JQThnQ2lBTElBVWdCaUFISUFnUXhBTUVmeUFKSUJBZ0VTQVNJQk1nRENBTklBNGdEeER3QndSL0lBQWdDU0FVS2dJQUlCVWdDaW9DQUNBTEVPOEhRUUVGUVFBTEJVRUFDd1ZCQUFzaEZpQUpKQVlnRmd0UEFRRi9JQUFnQVJDOEFpSUJRUUJPQkVCQkFDRUJBMzhnQUVHTUNHb2dBVUVDZEdvZ0FpQUFRUXhxSUFGQkFuUnFLQUlBYWlJQ05nSUFJQUZCQVdvaUFVR0FBa2NOQUVFQUN5RUJDeUFCQzVrQkFRRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUlRZ2dCQ0FGSUFZUWhRRkRBQUFBQUY0Z0NITUVmMEVBQlNBQklBSWdBeENGQVVNQUFBQUFYaUFGSUFZZ0J4Q0ZBVU1BQUFBQVhuTUVmMEVBQlNBQ0lBTWdBQkNGQVVNQUFBQUFYaUFHSUFjZ0JCQ0ZBVU1BQUFBQVhuTUVmMEVBQlNBRElBQWdBUkNGQVVNQUFBQUFYaUFISUFRZ0JSQ0ZBVU1BQUFBQVhuTkJBWE1MQ3dzTGtBa0NDbjhCZlNNR0lSRWpCa0VRYWlRR0lCRkJDR29oRHlBRktBSUVJQVVvQWdCclFRSjFJQWxCQ1d4SkJFQWdEMEhBeUFOQjA0UUNFRGRCallVQ0VEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR1VoZ0lRTnlJTUlBd29BZ0JCZEdvb0FnQnFFRHNnRDBHQXpnTVFPaUlOS0FJQUtBSWNJUTRnRFVFS0lBNUJQM0ZCaWdGcUVRSUFJUTBnRHhBOElBd2dEUkJBSUF3UVB4QUFDeUFHS0FJRUlBWW9BZ0FpREd0QkFuVWdBMGtFUUNBUFFjRElBMEhHaGdJUU4wR05oUUlRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWZpR0FoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBY29BZ1FnQnlnQ0FHdEJBM1VnQ1VrRVFDQVBRY0RJQTBHaWh3SVFOMEdOaFFJUU4wSHZvZ0lRTjBINUFCQStRZmFpQWhBM1FlQ0hBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQU5CQkVnRWYwRUFCU0FSUWRJSk5nSUFJQWdRYVNFSUlBc2dBeENGQWlFTklBd2dBeERjQXlBTUlBTWdBeUFSRU1FQ1FRQWhCZ05BSUJBZ0NrZ2dCaUFKU0hFRVFDQU1JQU5CQkNBUkVNRUNJQXdvQWdCQkFYUWlDMEVDZENBQmFpQU1LQUlFUVFGMElnNUJBblFnQVdvZ0RDZ0NDRUVCZENJU1FRSjBJQUZxSUF3b0FneEJBWFFpRTBFQ2RDQUJhaUFMUVFKMElBSnFJQTVCQW5RZ0Ftb2dFa0VDZENBQ2FpQVRRUUowSUFKcUVQY0hCRUFnQlNnQ0FDQUdRUWxzSWd0QkFuUnFJQXdvQWdCQkFYUWlEa0VDZENBQmFpQU1LQUlFUVFGMEloSkJBblFnQVdvZ0RDZ0NDRUVCZENJVFFRSjBJQUZxSUF3b0FneEJBWFFpRkVFQ2RDQUJhaUFPUVFKMElBSnFJQkpCQW5RZ0Ftb2dFMEVDZENBQ2FpQVVRUUowSUFKcUVQVUhCRUFnQlNnQ0FDQUxRUUowYWlBRUVQUUhCRUFnQmtFQmFpRUdDd3NMSUJCQkFXb2hFQXdCQ3d0REFBQ0FQeUFJbFNFSUlBWUVmeUFIS0FJQUlRUkJBQ0VMQTBBZ0N5QUdTQVJBSUF0QkEzUWdCR3BEQUFBQUFEZ0NBQ0FMUVFOMElBUnFJQXMyQWdRZ0MwRUJhaUVMREFFTEMwRUFJUXNnQmlFS0EwQWdDeUFEU0NBS1FRSktjUVJBSUEwZ0F5QUxheENGQWlBTGFpRUdRUUFoRUNBSEtBSUFJUVFEUUNBS0lCQkhCRUFnQlNnQ0FDQVFRUU4wSUFScUtBSUVRUWxzUVFKMGFpRU9JQXNoQ1FOQUlBa2dCa2dFUUNBT0lBbEJBblFnREdvb0FnQkJBWFFpQkVFQ2RDQUJhaUFFUVFKMElBSnFJQWdROHdjaEZpQUhLQUlBSWdRZ0VFRURkR29pRWlBV0lCSXFBZ0NTT0FJQUlBbEJBV29oQ1F3QkN3c2dFRUVCYWlFUURBRUxDeUFQSUFRZ0NpQUtRUUlRT1NBS1FRRnhRWDlxYWhEeEJ5QUdJUXNnQ2tFQmRTRUtEQUVMQzBFQklRTWdCeWdDQUNJQ0tnSUFJUWdnQWlnQ0JDRUJBMEFnQXlBS1NBUkFJQU5CQTNRZ0Ftb3FBZ0FpRmlBSVhRUkFJQlloQ0NBRFFRTjBJQUpxS0FJRUlRRUxJQU5CQVdvaEF3d0JDd3NnQUNBRktBSUFJQUZCQ1d4QkFuUnFFTDRDSUFBUThnZEJBUVZCQUFzTElSVWdFU1FHSUJVTFpRQkJBVUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVHMEVCUVg4Z0FTQUNJQU1RaFFGREFBQUFBRjRiYWtFQlFYOGdBaUFESUFBUWhRRkRBQUFBQUY0YmFrRUJRWDhnQXlBQUlBRVFoUUZEQUFBQUFGNGJhaUlBUVFBZ0FHc2dBRUYvU2h0QkJFWUxqZ0VDQkg4R2ZTTUdJUVFqQmtFd2FpUUdJQVJCSUdvaUJTQUJJQUFRM3dFZ0JFRVlhaUlHSUFJZ0FCRGZBU0FFUVJCcUlnY2dBeUFBRU44QklBUkJDR29pQUNBQklBSVEzd0VnQkNBRElBSVEzd0VnQlNBR0VQOEJBbjBnQmlBSEVQOEJJUXdnQlNBSEVQOEJJUW9nQUNBRUVQOEJJUXNnREFzUS9nRWdDaEQrQVNBTEVQNEJJUTBnQkNRR0lBMEw2Z0VDQ1g4QmZTTUdJUU1qQmtIZ0FHb2tCaUFEUWRnQWFpRUVJQU5CMEFCcUlRVWdBMEhJQUdvaEJpQURRVUJySVFjZ0EwRTRhaUVJSUFOQk1Hb2hDU0FEUVNocUlRb2dBeUFBUTZ6Rkp6Y1F5QU1FZnlBSUlBR3lJZ3c0QWdBZ0NFTUFBQUFBT0FJRUlBa2dERGdDQUNBSklBS3lJZ3c0QWdRZ0NrTUFBQUFBT0FJQUlBb2dERGdDQkNBRUlBTkJsTVFERUtvQklBVWdBeUFJRUtvQklBWWdBeUFKRUtvQklBY2dBeUFLRUtvQklBUWdCU0FHSUFjUStnY2dBU0FDYkxkRUxVTWM2K0kyR2oraXRsMEVmMEVBQlNBRUlBVWdCaUFIRVBrSEN3VkJBQXNoQ3lBREpBWWdDd3M2QVFGL0lBQkJER29pQmlBRUVJY0JJQUVnQWlBRElBUWdCU0FBSUFZZ0FFRVlhaUFBS2dJa0lBQW9BaWdnQUNnQ0xDQUFLQUl3RVBnSEM4b0dBZzEvQVgwakJpRUlJd1pCUUdza0JpQUlRU2hxSVFRZ0NFRTBhaUVNSUFoQk1Hb2hEU0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVCREFBQWdRUkJwSVJFZ0NDQURRd0FBQUFBUXlBTkZCRUFnQkVIQXlBTkI0b0VDRURkQis0RUNFRGRCNzZJQ0VEZEJ4QUVRUGtIMm9nSVFOMEg2Z2dJUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0JCQThJQU1nQlJCQUlBTVFQeEFBQ3lBQUlBRVFjUkNBQWdKQUFrQURRQ0FKSUFFUWNVa0VRQ0FCSUFrUXhBRWhEeUFNSUEwZ0NDQUJJQWtRd3dFaURpb0NBQ0FPS2dJRUVMMENRUUFoQmtGL0lRVkJmeUVLUWYvLy8vOEhJUU1EUUNBR0lBSVFjVWtFUUNBQ0lBWVF3d0VoQnlBT0xBQVFJQWNzQUJCR0JFQWdEQ29DQUNBSEtnSUFreEJwSUEwcUFnQWdCeW9DQkpNUWFaSWdFVjVGQkVBZ0R5QUNJQVlReEFFUTJ3TWlCeUFGU1NFTElBVWdCeUFLSUFjZ0Nra2JJQXNiSVFvZ0JpQURJQXNiSVFNZ0J5QUZJQXNiSVFVTEN5QUdRUUZxSVFZTUFRc0xJQVZCZjBjRVFBSkFJQU5CZjBZTkJDQUtRWDlHQkVBZ0JDQUpJQU1Rd2dFZ0FDZ0NCQ0lESUFBb0FnaEpCRUFnQXlBRUtRTUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBVWdBQ0FFRUpZQkN3d0JDeUFGc3lBS3M1VWdBQ29DREYwRVFDQUVJQWtnQXhEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxDd3NMSUFsQkFXb2hDUXdCQ3dzTUFRc2dCRUhBeUFOQm00TUNFRGRCKzRFQ0VEZEI3NklDRURkQjhRRVFQa0gyb2dJUU4wSGpnd0lRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdBQWhBK1FmYWlBaEEzUWJHRUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUVFRHdnQUNBQkVFQWdBQkEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoRUFzTEN5QUlKQVlnRUF2OEF3RU1meU1HSVE0akJrRVFhaVFHSUE0aEJDQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUFnQUNBQkVIRVFnQUlEUUNBRklBRVFjVWtFUUNBQklBVVF4QUVoRENBQklBVVF3d0VoRFVFQUlRZEJmeUVHUWYvLy8vOEhJUWhCZnlFREEwQWdCeUFDRUhGSkJFQWdEU3dBRUNBQ0lBY1F3d0VzQUJCR0JFQWdCeUFJSUF3Z0FpQUhFTVFCRUlJQ0lnb2dCa2tpQ3hzaENDQUdJQW9nQXlBS0lBTkpHeUFMR3lFRElBb2dCaUFMR3lFR0N5QUhRUUZxSVFjTUFRc0xJQVpCZjBjRVFBSkFJQU5CZjBZRVFDQUVJQVVnQ0JEQ0FTQUFLQUlFSWdNZ0FDZ0NDRWtFUUNBRElBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFheklBT3psU0FBS2dJTVhRUkFJQVFnQlNBSUVNSUJJQUFvQWdRaUF5QUFLQUlJU1FSQUlBTWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JVRUJhaUVGREFFTEN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wSHdBQkErUWZhaUFoQTNRYkdFQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRUVEd2dBaUFBRUVBZ0FoQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhDUXNMQ3lBRUpBWWdDUXVwQlFFTGZ5TUdJUVFqQmtFUWFpUUdJQUFnQUNnQ0FEWUNCQ0FCRUhFRVFDQUNFSEVFUUNBQUlBRVFjUkNBQWdKQUFrQURRQ0FHSUFFUWNVa0VRQ0FESUFFZ0JoREVBU0lNRU5VSElBRWdCaEREQVNFTklBTkJ5QUJxSVFwQkFDRUhRWDhoQlVGL0lRaEIvLy8vL3djaEN3TkFJQWNnQ2lnQ0JDQUtLQUlBSWdsclFRSjFTUVJBSUEwc0FCQWdBaUFIUVFKMElBbHFLQUlBRU1NQkxBQVFSZ1JBSUF3Z0FpQUtLQUlBSUFkQkFuUnFLQUlBRU1RQkVJSUNJZ2tnQlVrRWZ5QUZJUWdnQ2lnQ0FDQUhRUUowYWlnQ0FDRUxJQWtGSUFrZ0NDQUpJQWhKR3lFSUlBVUxJUVVMSUFkQkFXb2hCd3dCQ3dzZ0JVRi9Sd1JBQWtBZ0MwRi9SZzBFSUFoQmYwWUVRQ0FFSUFZZ0N4RENBU0FBS0FJRUlnVWdBQ2dDQ0VrRVFDQUZJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBV3pJQWl6bFNBQUtnSU1YUVJBSUFRZ0JpQUxFTUlCSUFBb0FnUWlCU0FBS0FJSVNRUkFJQVVnQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCa0VCYWlFR0RBRUxDd3dCQ3lBRVFjRElBMEdiZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEdnQVJBK1FmYWlBaEEzUWVPREFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BZ1FnQUNnQ0FHdEJBM1VnQVJCeFN3UkFJQVJCd01nRFFmV0RBaEEzUWZ1QkFoQTNRZStpQWhBM1FhOEJFRDVCOXFJQ0VEZEJzWVFDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQVVnQUNnQ0JDQUFLQUlBYTBFRGRTRU9Dd3NMSUFRa0JpQU9DNXNHQVE5L0l3WWhCU01HUVpBQmFpUUdJQVZCNkFCcUlRSWdCVUhJQUdvaEF5QUZRU2hxSVFRZ0FDQUFRUXhxSWcwb0FnQTJBaEFnQUVGL05nSVlJQUVRaGdGQkVHb2hDU0FBUWZ3RWFpRUlJQUJCakFWcUlRd2dBRUdVQm1vaERpQUFRUnhxSVE4Z0FFSFFBR29oQ3dOQUlBc29BZ0FpQ3dSQUlBSkJub0FDRUhrZ0FDd0FDRVVoRUNBQkVJWUJJUWNnQzBFTWFpSUdLQUlBRUlZQklRb0NRQUpBSUJBRVFDQUlJQWNnQ2hEK0J5QUFLQUlBVHcwQkJTQUlJQWNnQ2lBTEtBSU1RU1JxRVA4SElBQW9BZ0JQRFFFTElBSVFhd3dCQ3lBQ0VHc2dCaWdDQUJDR0FSQ0JBaUVISUFKQnI0QUNFSGtnRENBSklBY2dDQ0FCS0FJQUlBRW9BZ1FnQmlnQ0FDZ0NBQ0FHS0FJQUtBSUVFTXdESWdwQkFFZ0VRQ0FDRUdzTUFRc2dBaEJySUFKQkFEWUNBQ0FDUVFBMkFnUWdBa0VBTmdJSUlBVkJ3SUFDRUhrZ0FpQU1JQWdnQ2hETEF5QUZFR3NnQTBIWGdBSVFlUUpBSUFVZ0NTQUhJQUlnRGlBR0tBSUFLQUlBSUFZb0FnQW9BZ1FReWdORkJFQWdBeEJyREFFTElBTVFheUFEUVFBMkFnQWdBMEVBTmdJRUlBTkJBRFlDQ0NBRVFlK0FBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtEQWtBZ0F5Z0NCQ0FES0FJQWEwRURkU0FBS0FJQVNRUkFJQVFRYXd3QkN5QUVFR3NnQkVHQWdRSVFlU0FJSUFFUWhnRWdCaWdDQUJDR0FTQUZFUDBISUFBb0FnQkpCRUFnQkJCckRBRUxJQVFRYXlBRVFaR0JBaEI1SUF3Z0NTQUhJQWdnQVNnQ0FDQUJLQUlFSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRNQXlJS1FRQklCRUFnQkJCckRBRUxJQVFRYXlBRVFhS0JBaEI1SUFJZ0RDQUlJQW9ReXdNZ0JCQnJJQVJCdVlFQ0VIa2dCU0FKSUFjZ0FpQU9JQVlvQWdBb0FnQWdCaWdDQUNnQ0JCREtBMFVFUUNBRUVHc01BUXNnQkJCcklBTWdBeWdDQURZQ0JDQUVRZEdCQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rRElBUVFheUFES0FJRUlBTW9BZ0JyUVFOMUlnWWdBQ2dDQUU4RVFDQUdJQUFvQWhBZ0RTZ0NBR3RCQTNWTEJFQWdEeUFGRUw0Q0lBMGdBeENKQWlBQUlBc29BZ2cyQWhnTEN3c2dBeEJWQ3lBQ0VGVUxEQUVMQ3lBQUtBSVlHaUFGSkFZTDNBSUJCMzhqQmlFQ0l3WkJRR3NrQmlBQ1FSQnFJUU1nQWtFNGFpRUVBa0FDUUNBQVFhQUJhaUlHS0FJQUlBRVFkQ2dDQUNnQ0JFY05BQ0FHS0FJRUlBRVFkQ2dDQUNnQ0NFY05BQXdCQ3lBR0lBRVErd2dMUVpRQkVGRWlCUkRuQXlBQ1FRQTJBakFnQXlBQ0tBSXdOZ0lBSUFRZ0JSRG1BeUFFS0FJQUlRY2dCQ0FBUVVCcklnVW9BZ0EyQWdBZ0JTQUhOZ0lBSUFRb0FnUWhCeUFFSUFBb0FrUTJBZ1FnQUNBSE5nSkVJQVFRbFFFZ0JTZ0NBQ0FCRUhRb0FnQW9BZ1FRNVFNZ0JTZ0NBQ0FCRUhRb0FnQW9BZ2dRNUFNZ0EwR0k4UUVRZVNBRktBSUFJQUVnQmlBQVFid0NhaEN0Q0NBREVHc0NmeERqQXlFSUlBTVF1d01nQXlnQ0FDQURJQU1zQUF0QkFFZ2JJUVFnQlNnQ0FCQ0dBUkJ4SVFZZ0FrSHdvd0kyQWdBZ0FpQUVOZ0lFSUFKQi9QMEJOZ0lJSUFJZ0JqWUNEQ0FJQzBIUS9RRWdBaEMzQXlBREVFY2dBQ0FGS0FJQUVJQUlJQUlrQmd1UUFRRURmeU1HSVFNakJrRWdhaVFHQWtBQ1FDQUFRZHdBYWlJQ0VIUWlCQ2dDQkNBRUtBSUFSZzBBSUFJUWRDZ0NBQ2dDQkNBQktBSUVSdzBBSUFJUWRDZ0NBQ2dDQ0NBQktBSUlSdzBBREFFTElBRW9BZ1FnQVNnQ0NCQ3VDQ0VFSUFJZ0FTZ0NCQ0FCS0FJSUlBUVEwQWdMSUFOQit2QUJFSGtnQWlBQkVNZ0lJQU1RYXlBQUlBSVFnUWdnQXlRR0N5VUJBWDlCa0JBUVJDSUNCRUFnQWtFQU5nSUFJQUlnQURZQ0JDQUNJQUUyQWdnTElBSUxOQUVCZnlNR0lRUWpCa0VnYWlRR0lBUWdBVUVCSUFJZ0F5QUNFTGdESUFBb0FnQW9BZ0FnQkJDQ0NDQUVFTjBCSUFRa0Jnc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUTFBTWdBQ0FBS0FJSVFSUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEM2Z0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUlFRT1NBQlNRUkFRY3lacytZQUlBTWdBQ2dDQUd0QkZCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVVRURraUJVRUJkQ0lHSUFZZ0Ewa2JRY3lacytZQUlBVkI1c3laTTBrYklBQW9BZ1FnQkd0QkZCQTVJQUJCQ0dvUStnTWdBaUFCRUlVSUlBQWdBaEQ1QXlBQ0VQZ0RDd1VnQUNBQkVOVURDeUFDSkFZTFVnRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUZzYWlFQkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0SUFCQkFEWUNDQ0FBUVFBMkFnUWdBRUVBTmdJQUN3c3RBUUYvSUFBb0FnZ2hBZ05BSUFKQkFEb0FBQ0FBSUFBb0FnaEJBV29pQWpZQ0NDQUJRWDlxSWdFTkFBc0xMUUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTZBQUFnQUNBQUtBSUVRUUZxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNWtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05ySUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCcmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpQUJFSWdJSUFBZ0FoRFhBaUFDRU5ZQ0N3VWdBQ0FCRUlrSUN5QUNKQVlMTHdFQmYwSC8vLy8vQnlBQlNRUkFFQUFGSUFBZ0FSQlJJZ0kyQWdRZ0FDQUNOZ0lBSUFBZ0FTQUNhallDQ0FzTFhRRUJmMEhWcXRXcUFTQUJTUVJBRUFBTElBRkIxYXJWcWdGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkRHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJER3dnQW1vMkFnZ0xDK2NCQVFkL0lBSWdBV3RCREJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUXdRT1VzRVFDQUFFTThEUWRXcTFhb0JJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkRCQTVJZ1JCQVhRaUJTQUZJQU5KRzBIVnF0V3FBU0FFUWFyVnF0VUFTUnNRakFnZ0FDQUJJQUlnQXhEUUF3c0ZJQU1nQUNnQ0JDQUVhMEVNRURraUJrc2hCU0FHUVF4c0lBRnFJQUlnQlJzaUNDQUJheUlHUVF3UU9TRUpJQVlFUUNBRUlBRWdCaERuQVJvTElBVUVRQ0FBSUFnZ0FpQURJQUFvQWdRZ0FDZ0NBR3RCREJBNWF4RFFBd1VnQUNBSlFReHNJQWRxTmdJRUN3c0x5QUVCQW44akJpRUVJd1pCRUdva0JpQUVRUVJxSVFNZ0JDQUNOZ0lBSUFCQnlBQnFJZ0lnQkJEb0F3UkFRUkFRQlNFQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQTBIbzhBRkI2UEFCRUdBUWZpQUFJQU1RaGdJZ0FFR0k4Z0JCQlJBRUN5QUNJQVFRcXdnaEFDQURJQUVvQWdBaUFqWUNBQ0FESUFFb0FnUWlBVFlDQkNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnUUZRUUFMSVFFZ0F5QUFLQUlBTmdJQUlBQWdBallDQUNBRElBQW9BZ1EyQWdRZ0FDQUJOZ0lFSUFNUWxRRWdCQ1FHQzhNQkFRVi9JQUFvQWdBaUF5RUZJQUlnQVdzaUJDQUFLQUlJSUFOclN3UkFJQUFRendOQi8vLy8vd2NnQkVrRVFCQUFCU0FBSUFRZ0FDZ0NDQ0FBS0FJQWF5SURRUUYwSWdVZ0JTQUVTUnRCLy8vLy93Y2dBMEgvLy8vL0Ewa2JFSXNJSUFBZ0FTQUNJQVFRemdNTEJTQUVJQUFvQWdRZ0Eyc2lCa3NoQXlBQklBWnFJQUlnQXhzaUJ5QUJheUlHQkVBZ0JTQUJJQVlRNXdFYUN5QURCRUFnQUNBSElBSWdBQ2dDQUNBRUlBQW9BZ1JyYWhET0F3VWdBQ0FGSUFacU5nSUVDd3NMTmdFQ2Z5QUFLQUlFSUFBb0FnQWlBMnNpQWlBQlNRUkFJQUFnQVNBQ2F4Q0tDQVVnQWlBQlN3UkFJQUFnQVNBRGFqWUNCQXNMQzRrQ0FRaC9JQUlnQVd0QkZCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVJRUU9Vc0VRQ0FBRUljSVFjeVpzK1lBSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJGQkE1SWdSQkFYUWlCU0FGSUFOSkcwSE1tYlBtQUNBRVFlYk1tVE5KR3hEV0F5QUFJQUVnQWlBREVNMERDd1VDUUNBRElBQW9BZ1FnQkd0QkZCQTVJZ1pMSVFVZ0JrRVViQ0FCYWlBQ0lBVWJJZ2dnQVdzaUJrRVVFRGtoQ2lBR0JFQWdCQ0FCSUFZUTV3RWFDeUFGQkVBZ0FDQUlJQUlnQXlBQUtBSUVJQUFvQWdCclFSUVFPV3NRelFNTUFRc2dDa0VVYkNBSGFpRUNJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRV3hxSVFFTUFRc0xJQUFnQWpZQ0JBc0xDOWtDQVFWL0l3WWhCeU1HUVNCcUpBWWdCMEVNYWlJSUlBWTJBZ0JCbEFFUVVTSUpFT2NESUFkQkFEWUNDQ0FIUVJocUlnb2dCeWdDQ0RZQ0FDQUhRUkJxSWdZZ0NSRG1BeUFHS0FJQUlBUVE1UU1nQmlnQ0FDQUZFT1FESUFZb0FnQVFoZ0VRMGdNZ0JpZ0NBQkNHQVJDQkFpQUJLQUlFSUFFb0FnQnJRUlFRT1JEUkF5QUdLQUlBRUlZQkVJRUNJZ1FnQVVjRVFDQUVJQUVvQWdBZ0FTZ0NCQkNSQ0FzZ0JpZ0NBQkNHQVJCMElBSW9BZ1FnQWlnQ0FHc1FrQWdnQmlnQ0FCQ0dBUkIwSWdFZ0FrY0VRQ0FCSUFJb0FnQWdBaWdDQkJDUENBc2dCaWdDQUJDc0NBSi9JQUFvQWdBb0FnQWhDeUFISUFZb0FnQTJBZ0FnQnlBR0tBSUVJZ0UyQWdRZ0FRUkFJQUVnQVNnQ0JFRUJhallDQkFzZ0N3c2dCeUFJS0FJQUVJNElJQWNRbFFFZ0FDZ0NBRUVFYWlBSUVNTUNJZ0FnQTBjRVFDQUFJQU1vQWdBZ0F5Z0NCQkNOQ0FzZ0JoQ1ZBU0FISkFZTFB3QWdBQ0FCTmdJQUlBQkJCR29pQUVJQU53SUFJQUJDQURjQ0NDQUFRZ0EzQWhBZ0FFSUFOd0lZSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUlBTndJd0Mxd0JBWDhnQUVIU0NUWUNBQ0FBUVFBMkFnUWdBRUVBTmdJSUlBQkJER29pQVNBQUVKTUlJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFSUFOd0pJSUFCQ0FEY0NVQ0FBUWdBM0FsZ2dBRUVRTmdKc0lBRVEyQU1nQVVFQkVOY0RDeFFBSUFCQkRHcEJBQ0FCS0FJRVFiWDhBVVliQ3hVQUlBQW9BZ3dpQUFSQUlBQVFtd2dnQUJBNEN3c2VBQ0FBUVRCcUVGVWdBRUVrYWhCVklBQkJHR29RVlNBQVFReHFFRlVMT1FFQmZ5QUFRZFFBYWhEVEF5QUFRY2dBYWhCVklBQkJER29RbHdnZ0FDZ0NDQ0VCSUFCQkFEWUNDQ0FCQkVBZ0FSREVBaUFCRURnTEM4WURBZ04vQVh3akJpRURJd1pCd0FGcUpBWWdBeUFCUWFnQmFrRUVJQUVvQWd4QkFFZ0VmeUFCUVJScUJTQUJLQUlJUVFCSUJIOGdBVUVZYWdVZ0FVRVFhZ3NMS0FJQUlnUnJRUVFRVHlJRlFRUjBhaXNEQURrRFlDQURJQUVnQlVFRWRHb3JBN0FCT1FOb0lBTWdBVUdvQVdwQkJTQUVhMEVFRUU4aUJVRUVkR29yQXdBNUEzQWdBeUFCSUFWQkJIUnFLd093QVRrRGVDQURJQUZCcUFGcVFRWWdCR3RCQkJCUElnVkJCSFJxS3dNQU9RT0FBU0FESUFFZ0JVRUVkR29yQTdBQk9RT0lBU0FESUFGQnFBRnFRUWNnQkd0QkJCQlBJZ1JCQkhScUt3TUFPUU9RQVNBRElBRWdCRUVFZEdvckE3QUJPUU9ZQVNBRElBSkVBQUFBQUFBQTRMK2lJZ1k1QXdBZ0F5QUNSQUFBQUFBQUFPQS9vaUlDT1FNSUlBTkVBQUFBQUFBQUFBQTVBeEFnQXlBQ09RTVlJQU1nQWprRElDQURSQUFBQUFBQUFBQUFPUU1vSUFNZ0Fqa0RNQ0FESUFZNUF6Z2dBMEZBYTBRQUFBQUFBQUFBQURrREFDQURJQVk1QTBnZ0F5QUdPUU5RSUFORUFBQUFBQUFBQUFBNUExZ2dBMEdvQVdvaUFTQURRZUFBYWpZQ0FDQUJJQU0yQWdRZ0FVRUVOZ0lJSUFBb0FnQWdBVUdBcEFOQmdLUURJQU5Cb0FGcUVPb0JHaUFES3dPZ0FSb2dBeVFHQzlNVEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdBVUVDRURraERDQUNRUUlRT1NFT0lBUW9BZ0FpQnlFQ0lBd2dEa0YvYWlJUWJFRUJkQ0FIYWlFRkEwQWdCaUFNU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUdRUUZxSVFZTUFRc0xJQWNoQWlBTVFYOXFJaEZCQVhRZ0Iyb2hCVUVBSVFZRFFDQUdJQTVJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FNUVFGMElBSnFJUUlnREVFQmRDQUZhaUVGSUFaQkFXb2hCZ3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdER3NoRWlBQUlBRkJBWFJCQW1wcUlRMUJBU0VMUVFBaEJTQU1RUUZxUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FMSUJCT0RRSWdCU0VBUVFFaENRTkFJQWtnRVVnRVFDQU5MUUFBSUFOS0JFQWdCMEVBT3dFQUJRSkFJQkpCQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNMSUExQkFtb2hEU0FKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUExcVFRUnFJUTBnQzBFQmFpRUxJQUFoQlNBSFFRUnFJUWNNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVIUVFFaEFFRUJJUU1EUUNBRElBVk1CRUFnQXlBQ0tBSUFJZ1pHQkVBZ0FFRUJhaUVCQlNBQUlRRWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFDSUFBMkFnQWdBU0VBSUFOQkFXb2hBeUFDUVFScUlRSU1BUXNMSUFRZ0FFRi9haUlBTmdJSUlBQUVmeUFIUVFBZ0FFRUNkQkJGR2lBRVFaQ0FLR3BCQUNBQVFRUjBFRVVhUVFBaEFRTkFJQUVnQUVnRVFDQUVRWXlBQ0dvZ0FVRUNkQ0lDUVFKMGFpQU1OZ0lBSUFSQmpJQUlhaUFDUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQ1FRSnlRUUowYWlBT05nSUFJQVJCaklBSWFpQUNRUU55UVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QkFDRUJBMEFnQVNBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBQlFRSjBhaWdDQUVGL2FpSUNRUUowYWlJRElBUkJrSURRQUdvZ0FVRUhiQ0lBUVFKMGFpZ0NBQ0FES0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJRFFRTjBhaUlISUFjckF3QWdBRUVDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFEUVFGeVFRTjBhaUlESUFNckF3QWdBRUVDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2NnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJSFNBUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0drZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdJb0FnQWdBRUVDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFJZ0FEWUNBQXNnQVVFQmFpRUJEQUVMQ3lBRUtBSUlJUUZCQUNFQUEzOGdBQ0FCU0FSL0lBUkJrSUFvYWlBQVFRRjBJZ0pCQTNScUlnTWdBeXNEQUNBRVFReHFJQUJCQW5ScUtBSUF0eUlWb3prREFDQUVRWkNBS0dvZ0FrRUJja0VEZEdvaUFpQUNLd01BSUJXak9RTUFJQUJCQVdvaEFBd0JCVUVBQ3dzRlFRQUxDeUVVSUE4a0JpQVVDeDRBSUFCQkpHb1FtQWdnQUVFSWFpSUFRUkJxRU5rQ0lBQkJCR29RVlFzcUFDQUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkFEWUNDQ0FCQkVBZ0FDQUJFTllESUFBZ0FSRFZBd3NMWFFFQmYwSC8vLy8vQXlBQlNRUkFFQUFMSUFGQi8vLy8vd05MQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQW5RUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkFuUWdBbW8yQWdnTEN6c0JBMzhnQVNFRUlBQW9BZ2dpQlNFREEwQWdBeUFDS0FJQU5nSUFJQU5CQkdvaEF5QUVRWDlxSWdRTkFBc2dBQ0FCUVFKMElBVnFOZ0lJQzlvQkFRWi9Jd1loQ0NNR1FTQnFKQVlnQ0NFRUlBQW9BZ1FpQXlFR0lBQW9BZ2dnQTJ0QkFuVWdBVWtFUUVILy8vLy9BeUFCSUFNZ0FDZ0NBR3RCQW5WcUlnZEpCRUFRQUFVZ0JDQUhJQUFvQWdnZ0FDZ0NBQ0lGYXlJR1FRRjFJZ01nQXlBSFNSdEIvLy8vL3dNZ0JrRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JXdEJBblVnQUVFSWFoRElBU0FFSUFFZ0FoQ2VDQ0FBSUFRUTVBRWdCQkRIQVFzRklBRWhBeUFHSVFVRFFDQUZJQUlvQWdBMkFnQWdCVUVFYWlFRklBTkJmMm9pQXcwQUN5QUFJQUZCQW5RZ0JtbzJBZ1FMSUFRa0JndUZCUUVIZnlNR0lRa2pCa0VRYWlRR0lBQW9BZ1FnQUNnQ0FHdEJBblVnQkVjRVFDQUpRY0RJQTBHWjhRRVFOMEczOVFFUU4wSHZvZ0lRTjBIR0FSQStRZmFpQWhBM1FhejRBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQUpCQUV3RVFDQUpRY0RJQTBIVjlnRVFOMEczOVFFUU4wSHZvZ0lRTjBISEFSQStRZmFpQWhBM1FmMzJBUkEzSWdjZ0J5Z0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2dvQWdBb0Fod2hDaUFJUVFvZ0NrRS9jVUdLQVdvUkFnQWhDQ0FKRUR3Z0J5QUlFRUFnQnhBL0VBQUxJQVFnQWtvRVFDQUpRY0RJQTBHaDl3RVFOMEczOVFFUU4wSHZvZ0lRTjBISUFSQStRZmFpQWhBM1FkVDNBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxJQVpCQUV3RVFDQUpRY0RJQTBISitBRVFOMEczOVFFUU4wSHZvZ0lRTjBISkFSQStRZmFpQWhBM1FmRDRBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFKRUR3Z0FpQUhFRUFnQWhBL0VBQUxRUUFoQ0FOQUlBZ2dCRWdFUUNBSVFRSjBJQU5xSVF4QkFDRUtRWDhoQWdOQUlBWWdDa2NFUUNBQklBd29BZ0JCNEFCc2FpQUJJQXBCQW5RZ0JXb2lEU2dDQUVFQ2RDQURhaWdDQUVIZ0FHeHFFSUlDSWdjZ0Fra0VRQ0FBS0FJQUlBaEJBblJxSUEwb0FnQTJBZ0FnQnlFQ0N5QUtRUUZxSVFvTUFRc0xJQUlnQzJvaEN5QUlRUUZxSVFnTUFRc0xJQWtrQmlBTEMxQUJBWDhnQUVFWUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBS0FJQU5nSUlJQVJCQURZQ0RDQUVRUUEyQWhBZ0JFRUFOZ0lVSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUN6SUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWlBQ1FlQUFFRXdhQzB3QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkFuVWdBVWtFUUNBQ0lBRWdBQ2dDQkNBRGEwRUNkU0FBUVFocUVNZ0JJQUFnQWhEa0FTQUNFTWNCQ3lBQ0pBWUxuQUVCQlg4akJpRUNJd1pCSUdva0JrSC8vLy8vQXlBQUtBSUVJQUFvQWdCclFRSjFRUUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFGMUlnWWdCaUFEU1J0Qi8vLy8vd01nQlVFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQkd0QkFuVWdBRUVJYWhESUFTQUNLQUlJSWdNZ0FTZ0NBRFlDQUNBQ0lBTkJCR28yQWdnZ0FDQUNFT1FCSUFJUXh3RWdBaVFHQ3d2REJnRUdmeU1HSVFZakJrRVFhaVFHSUFBb0FnUWlDQ0FBS0FJUUlBQW9BZ3hyUVFKMVJ3UkFJQVpCd01nRFFZcjFBUkEzUWJmMUFSQTNRZStpQWhBM1Fab0JFRDVCOXFJQ0VEZEJxUFlCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQWtFQVRBUkFJQVpCd01nRFFkWDJBUkEzUWJmMUFSQTNRZStpQWhBM1Fac0JFRDVCOXFJQ0VEZEIvZllCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkNBQ1NnUkFJQVpCd01nRFFhSDNBUkEzUWJmMUFSQTNRZStpQWhBM1Fad0JFRDVCOXFJQ0VEZEIxUGNCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQnlnQ0FDZ0NIQ0VKSUFkQkNpQUpRVDl4UVlvQmFoRUNBQ0VISUFZUVBDQUZJQWNRUUNBRkVEOFFBQXNnQ0NBRVNnUkFJQVpCd01nRFFlLzNBUkEzUWJmMUFSQTNRZStpQWhBM1FaMEJFRDVCOXFJQ0VEZEJtUGdCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VISUFoQkNpQUhRVDl4UVlvQmFoRUNBQ0VJSUFZUVBDQUZJQWdRUUNBRkVEOFFBQXNnQmtGL05nSUFJQUJCR0dvaUNpQUVJQVlRM1FNZ0JrRi9OZ0lBSUFCQkpHb2lDU0FFSUFZUTNRTWdBRUV3YWlBRUVJY0JJQUFvQWpBaUJTQUFLQUkwSUFWclFRSjFFTndEUVg4aEJVRUFJUWNEUUNBSElBQW9BZ2hJQkVBZ0FDZ0NNQ0lJSUFBb0FqUWdDR3RCQW5VZ0FDZ0NCQ0FBS0FJQUVNRUNJQWtnQVNBQ0lBTWdCQ0FBS0FJd0lBQW9BZ1FRb0FnaUNDQUZTUVJBSUFvZ0NSQ0pBaUFBS0FJTUlBQW9BakFnQUNnQ0JFRUNkQkJNR2lBSUlRVUxJQWRCQVdvaEJ3d0JDd3NnQUNnQ0JDQUFLQUlRSUFBb0FneHJRUUoxUmdSQUlBWWtCZ1VnQmtIQXlBTkJpdlVCRURkQnQvVUJFRGRCNzZJQ0VEZEJ1d0VRUGtIMm9nSVFOMEdvOWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQUFnQVJCQUlBQVFQeEFBQ3d2a0JBSU5md044SXdZaENpTUdRUkJxSkFZZ0NrRUVhaUVRUVFJUTV3SWhEa0VDRU9jQ0lRdEJBa0VDRUlzQklRd0Nmd0pBQWtBRFFBSkFJQWRCQkU4TkFpQUhRUUZxSWdKQkFuUWdBMm9vQWdBaUQwRUJhaUFIUVFKMElBTnFLQUlBSWdocnQwU2FtWm1abVptcFA2SkVBQUFBQUFBQTREK2dJaFFnQ0xlZ0VITWhFU0FQdHlBVW9SQnpJQkZySWhKQkFXcEJBaENMQVNFTlFRQWhDUU5BSUFrZ0Vrd0VRQ0FFSUFrZ0VXb2lDRUVDZENBQWFpZ0NBTElnQ0VFQ2RDQUJhaWdDQUxJZ0VDQUtFS1lCUVFCSURRSWdEU2dDQUNJSUlBbEJBWFFpRDBFRGRHb2dFQ29DQUxzNUF3QWdEMEVCY2tFRGRDQUlhaUFLS2dJQXV6a0RBQ0FKUVFGcUlRa01BUXNMSUEwZ0RDQU9JQXNRblFWQkFFZ05BeUFIUVJoc0lBVnFJQXdvQWdBaUNDc0RDQ0lWT1FNQUlBZEJHR3dnQldvZ0NDc0RBSm9pRkRrRENDQUhRUmhzSUFWcUlCVWdDeWdDQUNJSEt3TUFvaUFIS3dNSUlCU2lvSm81QXhBZ0RSQkpJQUloQnd3QkN3c01BUXNnREJCSklBc1F6d0VnRGhEUEFVRUFJUVFEZjBFQUlBUkJCRThOQWhvZ0JFRURha0VEY1NJQVFSaHNJQVZxSWdNckF3QWdCRUVZYkNBRmFpc0RDQ0lWb2lBRVFSaHNJQVZxSWdJckF3QWdBRUVZYkNBRmFpc0RDQ0lVb3FFaUZwbEVMVU1jNitJMkdqOWpCSDlCZndVZ0JFRUVkQ0FHYWlBVUlBUkJHR3dnQldvaUFTc0RFS0lnRlNBQVFSaHNJQVZxSWdBckF4Q2lvU0FXb3prREFDQUVRUVIwSUFacUlBSXJBd0FnQUNzREVLSWdBeXNEQUNBQkt3TVFvcUVnRnFNNUF3Z2dCRUVCYWlFRURBRUxDd3dCQ3lBTkVFa2dEQkJKSUFzUXp3RWdEaERQQVVGL0N5RVRJQW9rQmlBVEN6QUFJQUFnQVRZQ0FDQUFRUUU2QUdRZ0FFSUFOd0pvSUFCQ0FEY0NjQ0FBUWdBM0FuZ2dBRUVFYWtIZ0FCRFpBd3RPQVFKL1FZQUJFRkVpQmlBQUVPRURFS2NJSUFBb0FnZ2hCU0FBSUFZMkFnZ2dCUVIvSUFVUXhBSWdCUkE0SUFBb0FnZ0ZJQVlMUVFBUWd3SWdBQ0FBS0FJSUlBRWdBaUFESUFRUTRBTUxYZ0VFZnlNR0lRTWpCa0VRYWlRR0lBTWdBaENFQWlBREtBSUVJQU1vQWdBaUJXdEJBblVoQmdOQUlBUWdCa2NFUUNBRVFRSjBJQVZxSUFRMkFnQWdCRUVCYWlFRURBRUxDeUFBSUFFZ0FpQUZJQVlRcUFnZ0F4QlZJQU1rQmd0SkFRRi9JQUJCRkJCUklnUTJBZ0FnQUNBQlFRaHFOZ0lFSUFRZ0F5Z0NBQ2dDQURZQ0NDQUVRUUEyQWd3Z0JFRUFOZ0lRSUFCQkFUb0FDQ0FFSUFJMkFnUWdCRUVBTmdJQUM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUXFnZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFB3RUJmeUFBUVNScUlnRkJER3BCZ0FFUTF3TWdBVUVNYWhEWUF5QUJRUWcyQW1nZ0FVRVFOZ0pzSUFFZ0FFRUlhaUlBRUhRb0FnQWdBQkJ4RUtrSUM4OEdBUVYvSXdZaENDTUdRU0JxSkFZZ0NFRVVhaUVHSUFGRkJFQWdCa0hBeUFOQng1WUNFRGRCa1BrQkVEZEI3NklDRURkQjFBRVFQa0gyb2dJUU4wSFVsd0lRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDUlFSQUlBWkJ3TWdEUVlqNkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRVQkVENUI5cUlDRURkQnFQb0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwSWdRb0FnUWdCQ2dDQUVZRVFDQUdRY0RJQTBHNStnRVFOMEdRK1FFUU4wSHZvZ0lRTjBIV0FSQStRZmFpQWhBM1FlMzZBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZFRUFnQkJBL0VBQUxJQUVRZENnQ0FDZ0NCQ0FDS0FJQVJ3UkFJQVpCd01nRFFmNzZBUkEzUVpENUFSQTNRZStpQWhBM1FkY0JFRDVCOXFJQ0VEZEJ4L3NCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMEtBSUFLQUlJSUFJb0FnUkhCRUFnQmtIQXlBTkI2dnNCRURkQmtQa0JFRGRCNzZJQ0VEZEIyQUVRUGtIMm9nSVFOMEhIK3dFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ0lBRVE5QWdnQmlBQ0VNQUNJZ1FvQWdRZ0JDZ0NBR3RCSkJBNUVKd0lRUUFoQkFOQUlBUWdBaERBQWlJRktBSUVJQVVvQWdCclFTUVFPVWtFUUNBSUlBSVF3QUlvQWdBaUJTQUVRU1JzYWlvQ0FDQUVRU1JzSUFWcUtnSUVJQVJCSkd3Z0JXb3FBZ2dnQkVFa2JDQUZhaW9DSENBRVFTUnNJQVZxS2dJWVF3QUFBQUJlRVB3RElBWW9BZ0FnQkVFVWJHb2lCU0FJS1FJQU53SUFJQVVnQ0NrQ0NEY0NDQ0FGSUFnc0FCQTZBQkFnQkVFQmFpRUVEQUVMQ3lBRElBQVFoZ0VnQVNBR0VMWUhJQVlRMlFJZ0NDUUdDeThCQVg4RFFDQUFRUWhJSUFGQkNFaHlSUVJBSUFKQkFXb2hBaUFCUVFGMUlRRWdBRUVCZFNFQURBRUxDeUFDQ3lJQkFYOGdBQ2dDQ0NJQ1FRQWdBVUVEZEJCRkdpQUFJQUZCQTNRZ0FtbzJBZ2dMSWdFQmZ5QUFLQUlFSWdKQkFDQUJRUU4wRUVVYUlBQWdBVUVEZENBQ2FqWUNCQXVsQVFFRmZ5TUdJUUlqQmtFZ2FpUUdJQUFvQWdnZ0FDZ0NCQ0lEYTBFRGRTQUJTUVJBUWYvLy8vOEJJQUVnQXlBQUtBSUFhMEVEZFdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlnQVJDdkNDQUFJQUlRelFJZ0FoRE1BZ3NGSUFBZ0FSQ3dDQXNnQWlRR0N6MEJBbjhnQUNnQ0JDQUFLQUlBSWdKclFRTjFJZ0ZCZ0FoSkJFQWdBRUdBQ0NBQmF4Q3hDQVVnQVVHQUNFc0VRQ0FBSUFKQmdFQnJOZ0lFQ3dzTE5BQWdBRUdBeUFBUWh3RWdBRUVZYWhDeUNDQUFRd3JYSXp3NEFpUWdBRUdBQ0RZQ0tDQUFRYWdJTmdJc0lBQkJNallDTUFzcUFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQVFzd2dMeEFFQkFYOGdBRUVBTmdJTUlBQkJBRFlDRUNBQVFRQTJBaFFnQUVGQWF5SUJRZ0EzQWdBZ0FVSUFOd0lJSUFGQ0FEY0NFQ0FBUVlDQWdQd0ROZ0pZSUFCQjNBQnFFTkVJSUFCQm9BRnFJZ0VRZ2drZ0FFRzhBbW9RdUFjZ0FFRUFOZ0w4QkNBQVFRQTJBb0FGSUFCQkFEWUNoQVVnQUVNek16TS9PQUtJQlNBQVFZd0ZhaERGQnlBQVFaUUdhaEMwQ0NBQlF3QUFRRUE0QWpRZ0FVTUFBSUJBT0FJNElBRkI5QU1ROXdNZ0FFTUFBRUJBT0FJRUlBQkJDRFlDQUNBQVFRRTZBQWdMSkFFQ2Z3TkFJQUFFUUNBQUtBSUFJUUlnQUVFTWFoQlZJQUFRT0NBQ0lRQU1BUXNMQzQ4RkFnOS9BWHdqQmlFRUl3WkI0QUJxSkFZZ0JFRXdhaUVISUFSQjNBQnFJUU1nQkVIWUFHb2hCU0FCUVJ4cUlnZ29BZ0FoQ3lBQlFkeTRBbW9pQ1NnQ0FDRU1JQUVvQWhoQmYyb2hEVUVCSVFZRFFDQUdJQTFJQkVBZ0JpQUNJQUZCSEdvZ0JrRUNkR29vQWdBZ0Myc2lBaUFDYkNBQlFkeTRBbW9nQmtFQ2RHb29BZ0FnREdzaUFpQUNiR29pRGlBS1NpSVBHeUVDSUFaQkFXb2hCaUFPSUFvZ0R4c2hDZ3dCQ3dzZ0EwRUFOZ0lBSUFWQkFEWUNBQ0FJSUFsQkFDQUNJQUMzUkFBQUFBQUFBT2cvbzBSN0ZLNUg0WHFFUDZJaUVTQUhJQU1RcXdGQkFFZ0VmMEYvQlNBSUlBa2dBaUFCS0FJWVFYOXFJQkVnQkNBRkVLc0JRUUJJQkg5QmZ3VUNmeUFES0FJQUlnQkJBVVlnQlNnQ0FDSUdRUUZHY1FSQUlBUW9BZ0FoQUNBSEtBSUFJUU1GQW44Z0JrVWdBRUVCU25FRVFDQUNRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBbEJBQ0FBSUJFZ0J5QURFS3NCUVFCSURRTWFRWDhnQ0NBSklBQWdBaUFSSUFRZ0JSQ3JBVUVBU0EwREdrRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUU1hSUFJaEFDQUhLQUlBSVFNZ0JDZ0NBQXdCQzBGL0lBQkZJQVpCQVVweFJRMENHaUFCS0FJWUlBSkJmMnBxUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWtnQWlBQUlCRWdCeUFERUtzQlFRQklEUUlhUVg4Z0NDQUpJQUFnQVNnQ0dFRi9haUFSSUFRZ0JSQ3JBVUVBU0EwQ0drRi9JQU1vQWdCQkFVWWdCU2dDQUVFQlJuRkZEUUlhSUFRb0FnQWhBQ0FDSVFNZ0J5Z0NBQXNoQWdzZ0FVR2M4UVJxUVFBMkFnQWdBVUdnOFFScUlBTTJBZ0FnQVVHazhRUnFJQUkyQWdBZ0FVR284UVJxSUFBMkFnQWdBVUdzOFFScUlBRW9BaGhCZjJvMkFnQkJBQXNMQ3lFUUlBUWtCaUFRQ3lVQkFuOERRQ0FBQkVBZ0FDZ0NBQ0VDSUFCQkRHb1FsUUVnQUJBNElBSWhBQXdCQ3dzTEtRRUJmeUFBS0FJSUVMZ0lJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUFvQWdRYUlBRVFPQXNMU2dFQ2Z5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFEWUNFQ0FBUVlDQWdQd0ROZ0lVUWNnR0VGRWlBaEMxQ0NBQUtBSUFJUUVnQUNBQ05nSUFJQUVFUUNBQkVPb0RJQUVRT0FzTE1BRUNmeUFBUVFBMkFnQkJHQkJSSWdJUXVnZ2dBQ2dDQUNFQklBQWdBallDQUNBQkJFQWdBUkRyQXlBQkVEZ0xDOXdCQWdGL0JuMGdCU29DQUNJSUlBTXFBZ0FpQjVNaENTQUlJQVFxQWdBaUNKTWdDWlFoQ2lBSElBaVRJZ3NnQ1pRaENTQUtRd0FBQUFCYklBbERBQUFBQUZ0eUlBdERBQUFBQUZ0eUJIOGdBRU1BQUFBQU9BSUFJQUZEQUFBQUFEZ0NBRU1BQUFBQUlRZEJBQVVnQUNBRktnSUVJQVFxQWdRaURKTWdDcFVnQXlvQ0JDQU1reUFKbFpNaUNUZ0NBQ0FCSUFNcUFnUWdCQ29DQkpNZ0NDQUlsQ0FISUFlVUlnZVRJQW1Va2lBTGxTSUlPQUlBSUFNcUFnUWdCeUFBS2dJQWxKTWdDQ0FES2dJQWxKTWhCMEVCQ3lFR0lBSWdCemdDQUNBR0M2UUJBZ0ovQW4wZ0FTb0NBQ0VHSUFKQmYyb2lBMEVDZENBQmFpSUVLZ0lBSVFWQkFDRUNBMEFnQWlBRFJ3UkFJQUpCQW5RZ0FHb2dCVUdJaGdFcUFnQ1VJQUpCQW5RZ0FXb3FBZ0FpQlVHTWhnRXFBZ0NVa2tHUWhnRXFBZ0FnQWtFQmFpSUNRUUowSUFGcUtnSUFsSkk0QWdBTUFRc0xJQU5CQW5RZ0FHb2dCVUdJaGdFcUFnQ1VRWXlHQVNvQ0FDQUVLZ0lBbEpJZ0JrR1FoZ0VxQWdDVWtqZ0NBQXYyQndFTWZ5TUdJUWNqQmtHZzhRUnFKQVlnQjBHUThRUnFJUTBnQjBHSThRUnFJUTRnQjBHQThRUnFJUWdnQjBIQXVBSnFJUXdnQnlFTElBUW9BZ1FoQ2lBRUtBSUFJZ2toQnlBSklBRWdCQ2dDQ0NJSmJHcEJBWFFnQUdvaEJnSi9Ba0FEUUFKQUlBY2dDa29OQWlBR0xnRUFJZ1JCQUVvRVFDQURJQVJCZjJwQkFuUWdBbW9vQWdCR0RRRUxJQWRCQVdvaEJ5QUdRUUpxSVFZTUFRc0xJQWRCZjBZTkFDQUZRUUUyQWhnZ0JTQUhOZ0ljSUFWQjNMZ0NhaUlQSUFrMkFnQkJCU0VHSUFraEJDQUhJUU5CQVNFQ0FrQUNRQU5BQWtBZ0FTQUViQ0FEYWtFQmRDQUFhaUVRUVFBaENDQUdRUVZxSVFZQ1FBSkFBMEFnQmtFSUVFOGhCaUFJUVFoUERRRWdCa0VDZEVIQUNHb29BZ0FpQkNBQklBWkJBblJCb0FocUtBSUFJZ3BzYWtFQmRDQVFhaTRCQUVFQVRBUkFJQWhCQVdvaENDQUdRUUZxSVFZTUFRc0xEQUVMSUFoQkNFWU5BU0FHUVFKMFFjQUlhaWdDQUNFRUlBWkJBblJCb0FocUtBSUFJUW9MSUFWQkhHb2dBa0VDZEdvZ0F5QUVhallDQUNBRlFkeTRBbW9nQlNnQ0dDSUNRUUowYWlBQ1FRSjBJQVZxUWRpNEFtb29BZ0FnQ21vMkFnQWdCeUFGUVJ4cUlBVW9BaGdpQTBFQ2RHb2lDQ2dDQUVZRVFDQUpJQVZCM0xnQ2FpQURRUUowYWlnQ0FFWU5Bd3NnQlNBRFFRRnFJZ0kyQWhnZ0FrR1B6Z0JHRFFNZ0JVSGN1QUpxSUFOQkFuUnFLQUlBSVFRZ0NDZ0NBQ0VEREFFTEMwRUFRUU5CNUtnQklBNFFQVUYvREFNTFFRQWhBRUVBSVFaQkFTRUJBMEFnQVNBRFNBUkFJQUVnQUNBRlFSeHFJQUZCQW5ScUtBSUFJQWRySWdBZ0FHd2dCVUhjdUFKcUlBRkJBblJxS0FJQUlBbHJJZ0FnQUd4cUlnSWdCa29pQkJzaEFDQUNJQVlnQkJzaEJpQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBRWdFUUNBQlFRSjBJQXhxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQ2RDQUxhaUFGUWR5NEFtb2dBVUVDZEdvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQUlRRURRQ0FCSUFOSUJFQWdCVUVjYWlBQklBQnJJZ0pCQW5ScUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFKQkFuUnFJQVZCM0xnQ2FpQUJRUUowYWlnQ0FEWUNBQ0FCUVFGcUlRRWdCU2dDR0NFRERBRUxDMEVBSVFFRFFDQUJJQUJJQkVBZ0JVRWNhaUFCSUFCcklnSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0RHb29BZ0EyQWdBZ0JVSGN1QUpxSUFJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnQzJvb0FnQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBRlFSeHFJQVVvQWhoQkFuUnFJQVVvQWh3MkFnQWdCVUhjdUFKcUlBVW9BaGhCQW5ScUlBOG9BZ0EyQWdBZ0JTQUZLQUlZUVFGcU5nSVlRUUFNQWd0QkFFRURRZXVvQVNBTkVEMUJmd3dCQzBFQVFRTkIzYWdCSUFnUVBVRi9DeUVSSUFza0JpQVJDOFFJQWdWL0FYMGpCaUVGSXdaQkVHb2tCaUFBUlFSQUlBVkJ3TWdEUWNMckFSQTNRZWJyQVJBM1FlK2lBaEEzUVlzQkVENUI5cUlDRURkQjV1d0JFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBVU1BQUFBL2trTUFBQUFBWGdSQUlBRkRBQUFBdjVJaUNTQURzbDBFUUNBQ1F3QUFBQUJnUlFSQUlBVkJ3TWdEUWVudEFSQTNRZWJyQVJBM1FlK2lBaEEzUVkwQkVENUI5cUlDRURkQmorNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBc2dBMEYvVEFSQUlBVkJ3TWdEUWF6dUFSQTNRZWJyQVJBM1FlK2lBaEEzUVk0QkVENUI5cUlDRURkQjBlNEJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lDQ2dDQUNnQ0hDRUVJQWhCQ2lBRVFUOXhRWW9CYWhFQ0FDRUVJQVVRUENBR0lBUVFRQ0FHRUQ4UUFBdERBQUNBUHlBQklBbU9FRU1pQkxLVFF3QUFBTCtTSWdtVElRRWdBeUFFYWlBREVFOGhCaUFFUVFGcUlBTVFUeUVJSUFGREFBQUFBR0JGQkVBZ0JVSEF5QU5CN3U0QkVEZEI1dXNCRURkQjc2SUNFRGRCbGdFUVBrSDJvZ0lRTjBHTjd3RVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRTWdCRUVLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdCUkE4SUFjZ0F4QkFJQWNRUHhBQUN5QUpRd0FBQUFCZ1JRUkFJQVZCd01nRFFhSHZBUkEzUWVickFSQTNRZStpQWhBM1FaY0JFRDVCOXFJQ0VEZEJ3TzhCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQmtGL1RBUkFJQVZCd01nRFFkVHZBUkEzUWVickFSQTNRZStpQWhBM1FaZ0JFRDVCOXFJQ0VEZEJoUEFCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VESUFSQkNpQURRVDl4UVlvQmFoRUNBQ0VESUFVUVBDQUhJQU1RUUNBSEVEOFFBQXNnQ0VGL1NnUkFJQVpCQW5RZ0FHb2lBeUFCSUFLVUlBTXFBZ0NTT0FJQUlBaEJBblFnQUdvaUFDQUpJQUtVSUFBcUFnQ1NPQUlBSUFVa0JnOEZJQVZCd01nRFFaN3dBUkEzUWVickFSQTNRZStpQWhBM1Faa0JFRDVCOXFJQ0VEZEJ6dkFCRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQXlnQ0FDZ0NIQ0VBSUFOQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFVUVBDQUVJQUFRUUNBRUVEOFFBQXNMQ3lBRlFjRElBMEdBN1FFUU4wSG02d0VRTjBIdm9nSVFOMEdNQVJBK1FmYWlBaEEzUWNIdEFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUZRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUZFRHdnQkNBQUVFQWdCQkEvRUFBTFF3QWdBRU1BQU1CQWtpQUFsRU1BQVBCQmtpQUFsRU1BQVBCQ2tpQUFsRU1BQUxSRGtpQUFsRU1BQURSRWtpQUFsRU1BQURSRWtydEVPV3hTL212QlZqK2l0Z3Y0REFJT2Z3TjlJd1loRENNR1FUQnFKQVlnREVFZ2FpRUtJQVZEQUFBQUFHQkZCRUFnQ2tIQXlBTkI2ZWNCRURkQnZ1WUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdINkFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUVzeUFGWGtVRVFDQUtRY0RJQTBHYTZBRVFOMEcrNWdFUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1Flcm9BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVpEQUFBQUFHQkZCRUFnQ2tIQXlBTkJqdWtCRURkQnZ1WUJFRGRCNzZJQ0VEZEIrUUFRUGtIMm9nSVFOMEdzNlFFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0NrR0F6Z01RT2lJSktBSUFLQUljSVFzZ0NVRUtJQXRCUDNGQmlnRnFFUUlBSVFrZ0NoQThJQWdnQ1JCQUlBZ1FQeEFBQ3lBQUtBSW9JQVFnQXlBQUtBSUViR3BCQlhScUtBSUlzeUFHWGtVRVFDQUtRY0RJQTBHLzZRRVFOMEcrNWdFUU4wSHZvZ0lRTjBINkFCQStRZmFpQWhBM1FaRHFBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2tvQWdBb0Fod2hDeUFKUVFvZ0MwRS9jVUdLQVdvUkFnQWhDU0FLRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQUFvQWlnZ0JDQURJQUFvQWdSc2FrRUZkR29pQ1NnQ0VFRUNSd1JBSUFwQndNZ0RRYlhxQVJBM1FiN21BUkEzUWUraUFoQTNRZjRBRUQ1QjlxSUNFRGRCM3VvQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBcEJnTTRERURvaUJDZ0NBQ2dDSENFSUlBUkJDaUFJUVQ5eFFZb0JhaEVDQUNFRUlBb1FQQ0FESUFRUVFDQURFRDhRQUFzZ0RFRVlhaUVMSUF4QkVHb2hEeUFNUVF4cUlSQWdERUVJYWlFUklBeEJCR29oRWlBQ1FRQTJBZ0FnQlVNQUFBQS9raEJESVFNZ0JrTUFBQUEva2hCRElRUWdBMEVBVGdSQUlBUkJBRWdnQ1NnQ0JDQURUWEpGQkVBZ0NTZ0NDQ0FFU3dSQUFrQkRBQUNBdjBNQUFJQS9JQUFxQWd3Z0I1UWlCME1BQUlBL0lBZGVHeUlIRUdsREFBQUFRSlNWSVJjZ0J5QUFLZ0lRbENJSEVHbU5JUmhCQUNBRElBZERBQUFBUDVJUVF5SU5heERHQVNFSUlBTWdEV29nQ1NnQ0JFRi9haENGQWlFT1FRQWdCQ0FOYXhER0FTRURJQVFnRFdvZ0NTZ0NDRUYvYWhDRkFpRU5JQUFvQWh3aUJFRUFJQUFvQWlBZ0JHdEJBblZCQW5RUVJSb0RRQ0FESUExTUJFQWdBN0lnQnBNUWFTRUhJQWtnQXhCUUlSTWdDQ0VFQTBBZ0JDQU9UQVJBSUFjZ0JMSWdCWk1RYVpJaUZpQVlYa1VFUUNBWElCYVVFTUFJSVJZZ0FDZ0NIQ0FFUVFOMElCTnFJaFFxQWdBZ0FDZ0NDQ0lWc3BTN1JIZkl5VzB3WDhRL29yWWdGaUFVS2dJRWxDQVZFTDhJQ3lBRVFRRnFJUVFNQVFzTElBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUFLQUlVU0FSQUlBQW9BaHdpQkNBRUlBQW9BZ2dRdlFnZ0EwRUJhaUVEREFFTEN5QUFLQUlJSVFOQkFDRUVRd0FBQUFBaEJRTkFJQVFnQTBnRVFDQUFLQUljSUFSQkFuUnFLZ0lBSVFZZ0JFRUJhaUVFSUFZZ0JTQUdJQVZlR3lFRkRBRUxDeUFGUXdBQUFBQmNCRUFnQlVNQUFBQUFYa1VFUUNBS1FjRElBMEg5NmdFUU4wRys1Z0VRTjBIdm9nSVFOMEhhQVJBK1FmYWlBaEEzUWFQckFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklnZ29BZ0FvQWh3aENTQUlRUW9nQ1VFL2NVR0tBV29SQWdBaENDQUtFRHdnQkNBSUVFQWdCQkEvRUFBTFFRQWhCQU5BSUFRZ0EwNE5BaUFLSUFTeUlnYzRBZ0FnQ2lBQUtBSWNJZ2dnQkVFQ2RHb2lDU2dDQUNJTk5nSUVJQXNnQkVGL2FpSU9zamdDQUNBTElBTWdEbW9nQXhCUFFRSjBJQWhxS0FJQUlnNDJBZ1FnRHlBRVFRRnFJZ1N5T0FJQUlBOGdBeUFFYWlBREVFOUJBblFnQ0dvb0FnQWlDRFlDQkNBTnZpRUdJQWtxQWdBZ0JTQUFLZ0lZbEY0RVFDQUdJQTYrWGlBR0lBaStYbkVFUUNBTUlBYzRBZ0FnRUNBUklCSWdDeUFLSUE4UXZBZ0VRQ0FSS2dJQUlRWWdFaW9DQUJvZ0VDb0NBQ0lIUXdBQUFBQmNCRUFnRENBR2pDQUhRd0FBQUVDVWxUZ0NBQXNMSUF3cUFnQkRBQUFBUDVJZ0FDZ0NDTElpQnBJZ0JwVzdSQmd0UkZUN0lSbEFva1FZTFVSVSt5RVpRQkFldGlFR0lBSW9BZ0FpQTBFQ2RDQUJhaUFHT0FJQUlBSWdBMEVCYWpZQ0FDQUFLQUlJSVFNTEN3d0FBQXNBQ3dzTEN3c2dEQ1FHQytVQkFRTi9Jd1loQkNNR1FSQnFKQVlDUUFOQUlBSWdBUkIwSWdNb0FnUWdBeWdDQUd0QkJYVkpCRUFnQVJCMEtBSUFJQUpCQlhScUlnTW9BZ1FnQXlnQ0RFRUNka2NOQWlBQUtBSW9JQUpCQlhScUtBSVlJQU1vQWhnZ0F5Z0NCQ0FES0FJSUVNVUlJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c2dCRUhBeUFOQmdlWUJFRGRCdnVZQkVEZEI3NklDRURkQjRBQVFQa0gyb2dJUU4wSEE1d0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQkJBOElBQWdBUkJBSUFBUVB4QUFDN3NCQVFWL0lBQWdBellDQUNBQUlBUTJBZ1FnQUVFa05nSUlJQUJEQUFCQVFEZ0NEQ0FBUXdBQXdEODRBaEFnQUVFRk5nSVVJQUJEemN4TVB6Z0NHQ0FBUVJ4cVFTUVFod0VnQUNJR1FTaHFJQUFvQWdBZ0FDZ0NCR3dRMUFKQkFDRUFBMEFnQUNBRFJ3UkFJQUFnQkd3aEJ5QUJJQUIySVFnZ0FpQUFkaUVKUVFBaEJRTkFJQVFnQlVjRVFDQUdLQUlvSUFVZ0IycEJCWFJxUVFJZ0NDQUpRUUlRdHdJZ0JVRUJhaUVGREFFTEN5QUFRUUZxSVFBTUFRc0xDek1BSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJTUlBQkNBRGNDRkNBQVFnQTNBaHdnQUVJQU53SWtJQUJDQURjQ0xBdU5Cd0lKZndKOUlBSkJmMm9oQ1NBQlFRUnFJZ1FxQWdBZ0FTb0NBQ0lOa3lFT0lBQWdBa0VDZENBQmFpSUdLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSUVRUUVoQ0NBR0lRY0RRQ0FBUVFocUlRVWdCMEVFYWlFSElBZ2dDVWtFUUNBRklBY3FBZ0FnQkNvQ0FKTWlEaUFFUVFScUlnb3FBZ0FnQkVGOGFpb0NBSk1pRFJDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBMGdEWlFnRGlBT2xKS1JPQUlNSUFoQkFXb2hDQ0FLSVFRZ0JTRUFEQUVMQ3lBRFFYOXFJUXdnQkNvQ0FDSU5JQVJCZkdvcUFnQ1RJUTRnQlNBSEtnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhDQ0FGSVFNZ0FrRUNkQ0FHYWlFRUlBRWhCUU5BSUFOQkNHb2hBQ0FJSUF4SkJFQWdBQ0FFS2dJQUlBVXFBZ0NUSWc0Z0JrRUVhaUlBS2dJQUlBWXFBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDREVFQklRc2dBMEVRYWlFREEwQWdCRUVFYWlFSElBVkJCR29oQmlBTElBbEpCRUFnQXlBSEtnSUFJQVlxQWdDVElnNGdBRUVFYWlJS0tnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FMUVFGcUlRc2dCeUVFSUFZaEJTQUtJUUFnQTBFSWFpRUREQUVMQ3lBRElBY3FBZ0FnQmlvQ0FKTWlEaUFBS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUlRUUZxSVFnZ0JFRUlhaUVFSUFWQkNHb2hCU0FBUVFScUlRWU1BUXNMSUFJZ0RHeEJBblFnQVdvaUFVRUFJQUpyUVFKMGFpRUNJQUZCQkdvaUJDb0NBQ0FCS2dJQUlnMlRJUTRnQUNBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQURJQTRnRHBRZ0RTQU5sSktST0FJTVFRRWhCU0FBSVFFZ0JDRUFBMEFnQVVFSWFpRURJQUpCQkdvaEFpQUZJQWxKQkVBZ0F5QUFLZ0lBSUFJcUFnQ1RJZzRnQUVFRWFpSUVLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0FTQU5JQTJVSUE0Z0RwU1NrVGdDRENBRlFRRnFJUVVnQXlFQklBUWhBQXdCQ3dzZ0FDb0NBQ0lOSUFCQmZHb3FBZ0NUSVE0Z0F5QU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FCSUE0Z0RwUWdEU0FObEpLUk9BSU1DeHNBSUFCQkJHb2lBQ3dBQzBFQVNBUkFJQUFvQWdBaEFBc2dBQXNMQUNBQUVPMERJQUFRT0F2K0JnRUVmeU1HSVFRakJrRVFhaVFHSUFFb0FnQkJBVWNFUUNBRVFjRElBMEhYNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEhLQWhBK1FmYWlBaEEzUVlyaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BaEJCQVVjRVFDQUVRY0RJQTBHaTRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITEFoQStRZmFpQWhBM1FjL2lBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWhBZ0FDZ0NGR3dnQUNnQ0NDQUFLQUlFYTBFRmRVY0VRQ0FFUWNESUEwSHA0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRYlBqQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnUWdBQ2dDQkNnQ0JFY0VRQ0FFUWNESUEwSFc0d0VRTjBHWjRBRVFOMEh2b2dJUU4wSE9BaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FnZ2dBQ2dDQkNnQ0NFY0VRQ0FFUWNESUEwR3k1QUVRTjBHWjRBRVFOMEh2b2dJUU4wSFBBaEErUWZhaUFoQTNRWkxrQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBZ0FDZ0NCQ0FCRU9BQklBQWdBQ2dDQkNJQlFTQnFJQUVRNEFFZ0FDQUFLQUlFSWdGQlFHc2dBVUVnYWhEdUEwRUJJUUVEUUNBQklBQW9BaEJKQkVBZ0FDZ0NCQ0FCSUFBb0FoUnNRUVYwYWlnQ0dDQUFLQUlFSUFFZ0FDZ0NGR3hCZjJwQkJYUnFLQUlZSUFBb0FnUWdBU0FBS0FJVWJFRi9ha0VGZEdvb0FnUWdBQ2dDQkNBQklBQW9BaFJzUVg5cVFRVjBhaWdDQ0JEVUNDQUFJQUFvQWdRaUFpQUJJQUFvQWhSc0lnTkJBV3BCQlhScUlBTkJCWFFnQW1vUTRBRWdBQ0FBS0FJRUlnSWdBU0FBS0FJVWJDSURRUUpxUVFWMGFpQURRUUZxUVFWMElBSnFFTzRESUFGQkFXb2hBUXdCQ3dzZ0JDUUdDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmZtb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRUJkV3RCQVhScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXNpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUlDMjhCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVRUFTQVJBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUJkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQmRDQUVhallDREFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lFQzZBQkFRUi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRRjFJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyUVFGMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQldzaUJDQUVJQU5KRzBILy8vLy9CeUFFUVFGMVFmLy8vLzhEU1JzZ0FDZ0NCQ0FGYTBFQmRTQUFRUWhxRU13SUlBSWdBUkRMQ0NBQUlBSVF5Z2dnQWhESkNBc0ZJQUFnQVJETkNBc2dBaVFHQ3p3QkFuOGdBQ2dDQkNBQUtBSUFJZ05yUVFGMUlnSWdBVWtFUUNBQUlBRWdBbXNRemdnRklBSWdBVXNFUUNBQUlBRkJBWFFnQTJvMkFnUUxDd3ViQVFFR2Z5QUFJQU1RMGdnZ0FFRUVhaUlHSUFNZ0FDZ0NGR3dRMUFJRFFDQUVJQU5JQkVBZ0FTQUVkaUVISUFJZ0JIWWhDRUVBSVFVRFFDQUZJQUFvQWhRaUNVa0VRQ0FHS0FJQUlBVWdCQ0FKYkdwQkJYUnFRUUlnQnlBSVFRRVF0d0lnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTElBQkJJR29nQVNBQ2JDSUJFTThJSUFCQkxHb2dBUkNIQVNBQVFUaHFJQUVRaHdFTE9BQWdBQkRUQ0NBQVFkeUZBVFlDQUNBQVFTQnFJZ0JDQURjQ0FDQUFRZ0EzQWdnZ0FFSUFOd0lRSUFCQ0FEY0NHQ0FBUVFBMkFpQUxOUUVCZlNBQUlBRTJBaEFnQUVFRE5nSVVJQUJFQUFBQUFBQUE0RDhRSTdZaUFqZ0NHQ0FBUXdBQWdEOGdBaERTQVpVNEFod0xMQUFnQUVIc2hRRTJBZ0FnQUVFRWFpSUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUVFBMkFoZ0xud0VCQjM4Z0FrRUJkaUVJSUFOQkFYWWhDU0FDUVFGMElRb0RRQ0FFSUFsSEJFQkJBQ0VHSUFRZ0NteEJBblFnQVdvaUF5QUNRUUowYWlFRklBQWhCd05BSUFZZ0NFY0VRQ0FISUFNcUFnQWdBeW9DQkpJZ0JTb0NBSklnQlNvQ0JKSkRBQUNBUHBRNEFnQWdCa0VCYWlFR0lBVkJDR29oQlNBRFFRaHFJUU1nQjBFRWFpRUhEQUVMQ3lBRVFRRnFJUVFnQ0VFQ2RDQUFhaUVBREFFTEN3dXVDd0lMZndGOUl3WWhDeU1HUVJCcUpBWWdBMEVFVFFSQUlBdEJ3TWdEUWZmZkFSQTNRWm5nQVJBM1FlK2lBaEEzUWFnQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dCRUVFVFFSQUlBdEJ3TWdEUWJUaEFSQTNRWm5nQVJBM1FlK2lBaEEzUWFrQkVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXRCZ000REVEb2lCeWdDQUNnQ0hDRUdJQWRCQ2lBR1FUOXhRWW9CYWhFQ0FDRUhJQXNRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTUlBTkJmbW9oQ1NBRFFYMXFJUTBnQTBGOGFpRU9JQUVoQndOQUlBUWdDRWNFUUNBRElBaHNRUUowSUFKcUlnWXFBZ0FoRUNBSElBWXFBZ2dnRUNBUVF3QUF3RUNVSUJBZ0Jpb0NCSkpEQUFDQVFKU1NrcEk0QWdBZ0J5QUdLZ0lNSUFZcUFnQWlFQ0FHS2dJRVF3QUF3RUNVSUJBZ0Jpb0NDSkpEQUFDQVFKU1NrcEk0QWdSQkFpRUZJQWRCQ0dvaENnTkFJQVVnQ1VjRVFDQUtJQVZCQW1wQkFuUWdCbW9xQWdBZ0JVRitha0VDZENBR2Fpb0NBQ0FGUVFKMElBWnFLZ0lBUXdBQXdFQ1VJQVZCZjJwQkFuUWdCbW9xQWdBZ0JVRUJhaUlGUVFKMElBWnFLZ0lBa2tNQUFJQkFsSktTa2pnQ0FDQUtRUVJxSVFvTUFRc0xJQWxCQW5RZ0Iyb2lCU0FNUVFKMElBWnFJZ29xQWdBaUVDQU9RUUowSUFacUtnSUFJQWxCQW5RZ0Jtb2lEeW9DQUVNQUFNQkFsQ0FOUVFKMElBWnFJZ1lxQWdBZ0VKSkRBQUNBUUpTU2twSTRBZ0FnQlNBS0tnSUFJaEFnQmlvQ0FDQVFRd0FBd0VDVUlCQWdEeW9DQUpKREFBQ0FRSlNTa3BJNEFnUWdBMEVDZENBSGFpRUhJQWhCQVdvaENBd0JDd3NnQkVGK2FpRU5RUUFoQ1NBRFFRSjBJQUZxSWdJZ0EwRUNkR29pQ0NFS0lBSWhCU0FCSVFjZ0FDRUdBMEFnQXlBSlJ3UkFJQVlnQ2lvQ0FDQUhLZ0lBSWhBZ0VFTUFBTUJBbENBUUlBVXFBZ0NTUXdBQWdFQ1VrcEtTUXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFScUlRb2dCVUVFYWlFRklBZEJCR29oQnlBR1FRUnFJUVlNQVFzTFFRQWhCaUFEUVFKMElBaHFJUWtnQ0NFRklBRWhCeUFEUVFKMElBQnFJUWdEUUNBRElBWkhCRUFnQ0NBSktnSUFJQWNxQWdBaUVDQUNLZ0lBUXdBQXdFQ1VJQkFnQlNvQ0FKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBbEJCR29oQ1NBRlFRUnFJUVVnQWtFRWFpRUNJQWRCQkdvaEJ5QUlRUVJxSVFnTUFRc0xRUUloQ0FOQUlBZ2dEVWNFUUVFQUlRa2dBeUFJUVg1cWJFRUNkQ0FCYWlJR0lBTkJBblJxSWdjZ0EwRUNkR29pQlNBRFFRSjBhaUlDSUFOQkFuUnFJUW9nQXlBSWJFRUNkQ0FBYWlFTUEwQWdBeUFKUndSQUlBd2dDaW9DQUNBR0tnSUFJQVVxQWdCREFBREFRSlFnQnlvQ0FDQUNLZ0lBa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBSlFRRnFJUWtnQ2tFRWFpRUtJQUpCQkdvaEFpQUZRUVJxSVFVZ0IwRUVhaUVISUFaQkJHb2hCaUFNUVFScUlRd01BUXNMSUFoQkFXb2hDQXdCQ3d0QkFDRUdJQU1nQkVGOGFteEJBblFnQVdvaUJ5QURRUUowYWlJRklBTkJBblJxSWdJZ0EwRUNkR29oQ0NBRElBMXNRUUowSUFCcUlRa0RRQ0FESUFaSEJFQWdDU0FJS2dJQUloQWdCeW9DQUNBQ0tnSUFRd0FBd0VDVUlBVXFBZ0FnRUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFoQkJHb2hDQ0FDUVFScUlRSWdCVUVFYWlFRklBZEJCR29oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUowSUFGcUlnSWdBMEVDZEdvaUFTQURRUUowYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3FBZ0FpRUNBQ0tnSUFJQkJEQUFEQVFKUWdBU29DQUNBUWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUZRUUZxSVFVZ0IwRUVhaUVISUFGQkJHb2hBU0FDUVFScUlRSWdBRUVFYWlFQURBRUxDeUFMSkFZTHpnb0JESDhqQmlFTUl3WkJFR29rQmlBRFFRUk5CRUFnREVIQXlBTkI5OThCRURkQm1lQUJFRGRCNzZJQ0VEZEJOeEErUWZhaUFoQTNRYUhoQVJBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBTVFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBTUVEd2dCU0FIRUVBZ0JSQS9FQUFMSUFSQkJFMEVRQ0FNUWNESUEwRzA0UUVRTjBHWjRBRVFOMEh2b2dJUU4wRTRFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF4QmdNNERFRG9pQnlnQ0FDZ0NIQ0VJSUFkQkNpQUlRVDl4UVlvQmFoRUNBQ0VISUF3UVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU5JQU5CZm1vaENpQURRWDFxSVE0Z0EwRjhhaUVQSUFFaENBTkFJQVFnQ1VjRVFDQUlJQUlnQXlBSmJHb2lCaTBBQUNJRklBWXRBQUZxUVFKMElBWXRBQUlnQlVFSGJHcHFPd0VBSUFnZ0JpMEFBQ0lGSUFZdEFBSnFRUUowSUFZdEFBTWdCaTBBQVVFR2JDQUZhbXBxT3dFQ1FRSWhCU0FJUVFScUlRc0RRQ0FGSUFwSEJFQWdDeUFGUVFKcUlBWnFMUUFBSUFWQmZtb2dCbW90QUFBZ0JTQUdhaTBBQUVFR2JHb2dCVUYvYWlBR2FpMEFBQ0FGUVFGcUlnY2dCbW90QUFCcVFRSjBhbW83QVFBZ0J5RUZJQXRCQW1vaEN3d0JDd3NnQ2tFQmRDQUlhaUlGSUFZZ0RXb2lDeTBBQUNJUUlBWWdEbW9pQnkwQUFHcEJBblFnQmlBUGFpMEFBQ0FHSUFwcUlnWXRBQUJCQm13Z0VHcHFhanNCQUNBRklBc3RBQUFpQlNBR0xRQUFha0VDZENBSExRQUFJQVZCQjJ4cWFqc0JBaUFEUVFGMElBaHFJUWdnQ1VFQmFpRUpEQUVMQ3lBRVFYNXFJUTFCQUNFSklBTkJBWFFnQVdvaUFpQURRUUYwYWlJR0lRb2dBaUVGSUFFaEJ5QUFJUWdEUUNBRElBbEhCRUFnQ0NBS0x3RUFJQWN2QVFBaUN5QUZMd0VBYWtFQ2RDQUxRUWRzYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQlVFQ2FpRUZJQWRCQW1vaEJ5QUlRUVJxSVFnTUFRc0xRUUFoQ0NBRFFRRjBJQVpxSVFrZ0JpRUZJQUVoQnlBRFFRSjBJQUJxSVFZRFFDQURJQWhIQkVBZ0JpQUpMd0VBSUFjdkFRQWlDaUFGTHdFQWFrRUNkQ0FDTHdFQVFRWnNJQXBxYW1xeVF3QUFnRHVVT0FJQUlBaEJBV29oQ0NBSlFRSnFJUWtnQlVFQ2FpRUZJQUpCQW1vaEFpQUhRUUpxSVFjZ0JrRUVhaUVHREFFTEMwRUNJUVlEUUNBR0lBMUhCRUJCQUNFSklBTWdCa0YrYW14QkFYUWdBV29pQ0NBRFFRRjBhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUtJQU1nQm14QkFuUWdBR29oQ3dOQUlBTWdDVWNFUUNBTElBb3ZBUUFnQ0M4QkFDQUZMd0VBUVFac2FpQUhMd0VBSUFJdkFRQnFRUUowYW1xeVF3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRSnFJUW9nQWtFQ2FpRUNJQVZCQW1vaEJTQUhRUUpxSVFjZ0NFRUNhaUVJSUF0QkJHb2hDd3dCQ3dzZ0JrRUJhaUVHREFFTEMwRUFJUWdnQXlBRVFYeHFiRUVCZENBQmFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFR0lBTWdEV3hCQW5RZ0FHb2hDUU5BSUFNZ0NFY0VRQ0FKSUFZdkFRQWlDaUFITHdFQUlBSXZBUUJCQm14cUlBVXZBUUFnQ21wQkFuUnFhckpEQUFDQU81UTRBZ0FnQ0VFQmFpRUlJQVpCQW1vaEJpQUNRUUpxSVFJZ0JVRUNhaUVGSUFkQkFtb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRRjBJQUZxSWdJZ0EwRUJkR29pQVNBRFFRRjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjdkFRQWlCQ0FDTHdFQUlBUkJCbXhxSUFRZ0FTOEJBR3BCQW5ScWFySkRBQUNBTzVRNEFnQWdCVUVCYWlFRklBZEJBbW9oQnlBQlFRSnFJUUVnQWtFQ2FpRUNJQUJCQkdvaEFBd0JDd3NnRENRR0M1UVpBaFovQlh3akJpRUlJd1pCUUdza0JpQUlRU0JxSVFvZ0NFRVlhaUVOSUFoQk5Hb2hCQ0FJUVNocUlRVWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FFRXNhaUlMUVFBMkFnQUNRQUpBSUFCQjlJYXZBMm9pRHlnQ0FDSUNRUVJIRFFBQ1FDQUFRZnlHcndOcUlnd29BZ0FpQWtFQVNnUkFJQXdnQWtGL2FqWUNBQVVDUUNBRUlBQW9BaEFpQnlBQVFZQ0hyd05xSWdZb0FnQnFJZ0pCL3dFZ0FrSC9BVWdiSWhBMkFnQWdCQ0FISUFCQmhJZXZBMm9pQ1NnQ0FHc2lBa0VBSUFKQkFFb2JJaEUyQWdRZ0JDQUhOZ0lJSUFCQjRJYW5BbW9oQXlBQVFiajRBR29oRGlBQVFiRDRBR29oRWlBQVFmQ0dyd05xSVJNZ0FFR1FoNjhEYWlFVUlBQkJNR29oRlNBQVFaaUhyd05xSVJaQkFDRUNBa0FDUUFOQUlBSkJBMGtFUUNBQktBSU1JQUFvQWlRZ0FDZ0NLQ0FBS0FJQUlBQW9BZ3dnQWtFQ2RDQUVhaWdDQUNBQUtBSVVJQU5CQUJDNkFrRUFTQTBDSUFBb0FpUWdBQ2dDS0NBRElBQW9BaFFnRGlBU0VPd0RRUUJJRFFJZ0FTZ0NBQ0FBS0FJa0lBQW9BaWdnQUNnQ0JDQU9JQklvQWdBZ0V5Z0NBQ0FBS0FJVUlBQW9BaGdnQUNnQ0lFRzRBV29nRkNzREFDQVZJQXNnRmlnQ0FCRGVBMEVBU0EwQ0lBSkJBblFnQldvZ0N5Z0NBRFlDQUNBQ1FRRnFJUUlNQVFzTERBRUxRWDhNQmdzZ0FDZ0NBRUVCUmdSQUlBVW9BZ1FoRGlBRktBSUlJUU1nQlNnQ0FDRUNJQWdnRVRZQ0FDQUlJQTQyQWdRZ0NDQUhOZ0lJSUFnZ0F6WUNEQ0FJSUJBMkFoQWdDQ0FDTmdJVVFRQkJBMEdpcHdFZ0NCQTlCU0FGS0FJQUlRSWdCU2dDQ0NFREN5QUNJQU5LSUFVb0FnUWlCU0FEU25JRVFDQUFJQkVnRUNBQ0lBVklHeUlDTmdJUUlBa2dBaUFIYXlJRFFRQktCSDhnQmlBRE5nSUFRUUVGSUFaQkFUWUNBRUVBSUFOckN6WUNBQ0FBS0FJQVFRRkdCRUFnRFNBQ05nSUFRUUJCQTBIdXB3RWdEUkE5Q3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQVFzZ0JpZ0NBQ0lCSUFrb0FnQWlBa2dFUUNBR0lBRkJBV29pQVRZQ0FBVWdBU0FDVEFSQUlBWWdBVUVCYWlJQk5nSUFDeUFKSUFKQkFXbzJBZ0FMSUFjZ0FTQUhha0grQVVvRWZ5QUdRUUUyQWdCQkFRVWdBUXRNQkVBZ0NVRUJOZ0lBQ3lBTUlBQkIrSWF2QTJvb0FnQTJBZ0FNQWdzTElBOG9BZ0FoQWd3QkN3d0JDd0pBQWtBQ1FBSkFJQUpCQVdzT0F3RUJBQUlMSUFCQmlJZXZBMm9pQWlnQ0FDQUJLQUlNRU5nSElnTkJBRWdFUUNBRERBVUxJQUVvQWd3Z0FpZ0NBQ0lES0FJRUlBTW9BZ2dnQUNnQ0FDQUFLQUlNUVFCQkFDQUFRZUNHcHdKcUlnSWdBeWdDQUJDNkFpSURRUUJJQkVBZ0F3d0ZDeUFBUVNScUlRTWdBRUVvYWlFRUlBQkJGR29oQlF3Q0N5QUFRZnlHcndOcUlnTW9BZ0FpQlVFQVNnUkFJQU1nQlVGL2FqWUNBQXdCQ3lBQVFZaUhyd05xS0FJQUlRVWdBU2dDRENFSElBSkJBVVlFZnlBRklBY2dCQkRrQndVZ0JTQUhJQVFRNEFjTElnSkJBRWdFUUNBQ0RBUUxJQUFvQWdCQkFVWUVRQ0FFTFFBQUlnSWdBQ2dDRUVjRVFDQUtRYUtvQVVHcHFBRWdEeWdDQUVFQlJoczJBZ0FnQ2lBQ05nSUVRUUJCQTBHdXFBRWdDaEE5Q3dzZ0FDQUVMUUFBTmdJUUlBTWdBRUg0aHE4RGFpZ0NBRFlDQUF0QmZ5QUJLQUlNSUFCQkpHb2lBeWdDQUNBQVFTaHFJZ1FvQWdBZ0FDZ0NBQ0FBS0FJTUlBQW9BaEFnQUVFVWFpSUZLQUlBSUFCQjRJYW5BbW9pQWtFQUVMb0NRUUJJRFFJYUMwRi9JQU1vQWdBZ0JDZ0NBQ0FDSUFVb0FnQWdBRUc0K0FCcUlnSWdBRUd3K0FCcUlnY1E3QU5CQUVnTkFScEJmeUFCS0FJQUlBTW9BZ0FnQkNnQ0FDQUFLQUlFSUFJZ0J5Z0NBQ0FBUWZDR3J3TnFLQUlBSUFVb0FnQWdBQ2dDR0NBQUtBSWdRYmdCYWlBQVFaQ0hyd05xS3dNQUlBQkJNR29nQ3lBQVFaaUhyd05xS0FJQUVONERRUUJJRFFFYUN5QUFLQUljUVFGR0JFQWdBQkR2QTBFQURBRUxJQUJCK0lxbUFtb2lCeWdDQUNFSlFRQWhBd05BSUFNZ0NVZ0VRQ0FMS0FJQUlRUWdBRUdBaTZZQ2FpQURRWWdDYkdvaEJTQUFJQU5CaUFKc2FrRzRpNllDYWlFR0lBQWdBMEdJQW14cVFjQ0xwZ0pxSVFwQkFDRUNRWDhoQVVRQUFBQUFBQURnUHlFWkEwQWdBaUFFU0FSQUlBVW9BZ0MzSUFCQk1Hb2dBa0VJZEdvb0FnQzNJaGlqSWhwRVptWm1abVptNWo5aklCcEU0WG9VcmtmaDlqOWtja1VFUUNBQUlBSkJDSFJxS3dOb0lBWXJBd0NoSWhvZ0dxSWdBQ0FDUVFoMGFpc0RjQ0FLS3dNQW9TSWFJQnFpb0NBWW95SVlJQmxqQkVBZ0dDRVpJQUloQVFzTElBSkJBV29oQWd3QkN3c2dBVUYvU2dSQUFrQUNRQUpBQWtBZ0FDZ0NHQ0lLRGdVQ0FnSUFBQUVMSUFBZ0FVRUlkR29pQkNzRFdDQUFJQU5CaUFKc2FrR29pNllDYWlzREFDSVlZd1JBSUFBZ0FVRUlkR3BCNEFCcUlRSWdBQ0FEUVlnQ2JHcEJzSXVtQW1vckF3QWhHUVVnQUNBQlFRaDBha0hnQUdvaUFpc0RBQ0FBSUFOQmlBSnNha0d3aTZZQ2Fpc0RBQ0laWTBVTkF3c2dCQ0FZT1FOWUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmlJdW1BbW9vQWdBMkFqZ2dBaUFaT1FNQUlBQWdBVUVJZEdvZ0FDQURRWWdDYkdwQmpJdW1BbW9vQWdBMkFqeEJBQ0VGUVg4aEFrUUFBQUFBaE5lWFFTRVlBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWkEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaUJrRUVkR29yQXdDaElSb2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBR1FRUjBhaXNENEFHaElSc2dCRUVCYWlFRUlCa2dHaUFhb2lBYklCdWlvS0FoR1F3QkN3c2dCU0FDSUJrZ0dHTWlCQnNoQWlBRlFRRnFJUVVnR1NBWUlBUWJJUmdNQVFzTElBQWdBVUVJZEdwQkJDQUNheUlDSUFBZ0EwR0lBbXhxUVpTTHBnSnFLQUlBYWtFRUVFODJBa1FnQUNBQlFRaDBhaUFDSUFBZ0EwR0lBbXhxUVppTHBnSnFLQUlBYWtFRUVFODJBa2dNQWd0QmZ3d0ZDeUFBSUFGQkNIUnFJZ0lyQTFBZ0FDQURRWWdDYkdwQm9JdW1BbW9yQXdBaUdtTUVRQ0FDSUJvNUExQWdBQ0FCUVFoMGFpQUFJQU5CaUFKc2FrR0VpNllDYWlnQ0FDSUdOZ0kwSUFBZ0EwR0lBbXhxUVpDTHBnSnFJUXhCZnlFQ1JBQUFBQUNFMTVkQklSbEJBQ0VGQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVlBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlEVUVFZEdvckF3Q2hJUnNnQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQU5RUVIwYWlzRDRBR2hJUndnQkVFQmFpRUVJQmdnR3lBYm9pQWNJQnlpb0tBaEdBd0JDd3NnR0NBWll3UkFJQmdoR1NBTUtBSUFRUVFnQld0cVFRUVFUeUVDQ3lBRlFRRnFJUVVNQVFzTElBQWdBVUVJZEdwQlFHc2dBallDQUNBS1FRSkpCRUFnQUNBQlFRaDBhaUFHTmdJNElBQWdBVUVJZEdvZ0dqa0RXQ0FBSUFGQkNIUnFJQUkyQWtRRklBQWdBVUVJZEdvZ0JqWUNQQ0FBSUFGQkNIUnFJQm81QTJBZ0FDQUJRUWgwYWlBQ05nSklDd3NMQ3lBRFFRRnFJUU1NQVFzTElBQVE3d05CQUNFQ1FRQWhBUU5BSUFJZ0J5Z0NBRWdFUUNBQUlBSkJpQUpzYWtHQWphWUNhaUlFS0FJQUlRTWdCQ0FEUVFGcU5nSUFJQU5CQTBnRVFDQUJJQUpIQkVBZ0FFR0FpNllDYWlBQlFZZ0NiR29nQUVHQWk2WUNhaUFDUVlnQ2JHcEJpQUlRVEJvTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUhJQUUyQWdBZ0N5Z0NBQ0VEUVFBaEJBTkFBa0FnQkNBRFRnMEFJQUJCTUdvZ0JFRUlkR29oQlNBQUlBUkJDSFJxS0FJMElnWkJBRTRFUUVFQUlRSURRQUpBSUFJZ0FVNE5BQ0FHSUFBZ0FrR0lBbXhxUVlTTHBnSnFLQUlBUmcwQUlBSkJBV29oQWd3QkN3c2dBU0FDUmdSQUlBRkJQRVlOQWlBSElBRkJBV29pQVRZQ0FBc2dBRUdBaTZZQ2FpQUNRWWdDYkdvZ0JVR0FBaEJNR2lBQUlBSkJpQUpzYWtHQWphWUNha0VCTmdJQUN5QUVRUUZxSVFRTUFRc0xJQUFvQWh4QkFrWUVmMEVBQlVFQUlRUWdBU0VDSUFNaEFRTkFRUUFnQkNBQ1RnMENHaUFBUVlDTHBnSnFJQVJCaUFKc2FpRUZJQUFnQkVHSUFteHFRYmlMcGdKcUlRWWdBQ0FFUVlnQ2JHcEJ3SXVtQW1vaENVRUFJUU1EUUFKQUlBTWdBVTROQUNBRktBSUF0eUFBUVRCcUlBTkJDSFJxS0FJQXR5SVpveUlZUkdabVptWm1adVkvWXlBWVJPRjZGSzVINGZZL1pISkZCRUFnQUNBRFFRaDBhaXNEYUNBR0t3TUFvU0lZSUJpaUlBQWdBMEVJZEdvckEzQWdDU3NEQUtFaUdDQVlvcUFnR2FORUFBQUFBQUFBNEQ5akRRRUxJQU5CQVdvaEF3d0JDd3NnQVNBRFJnUkFJQUJCTUdvZ0FVRUlkR29nQUVHQWk2WUNhaUFFUVlnQ2JHcEJnQUlRVEJvZ0N5QUJRUUZxSWdFMkFnQWdCeWdDQUNFQ0N5QUVRUUZxSVFRTUFBQUxBQXNMQlVGL0N5RVhJQWdrQmlBWEN3c0FJQUFReGdJZ0FCQTRDd3NBSUFBUXh3SWdBQkE0Qzd3QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNnQ0JDQUFLQUlBSWdOclFRVjFJQUZMQkVBZ0F5Z0NCQ0FBS0FJQUlBRkJCWFJxS0FJRUVFaXpFUEVERVBBREVFTWhCQ0FDSkFZZ0JBOEZJQUpCd01nRFFaWGZBUkEzUWM3TEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ3OThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQVNnQ0FDZ0NIQ0VESUFGQkNpQURRVDl4UVlvQmFoRUNBQ0VCSUFJUVBDQUFJQUVRUUNBQUVEOFFBQXRCQUF0SkFRRi9JQUFvQWdnaEFnTkFJQUpDQURjQ0FDQUNRZ0EzQWdnZ0FrSUFOd0lRSUFKQ0FEY0NHQ0FDUVFBMkFpQWdBQ0FBS0FJSVFTUnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMwa0JBWDhnQUNnQ0JDRUNBMEFnQWtJQU53SUFJQUpDQURjQ0NDQUNRZ0EzQWhBZ0FrSUFOd0lZSUFKQkFEWUNJQ0FBSUFBb0FnUkJKR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xwZ0VCQlg4akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnUWlBMnRCSkJBNUlBRkpCRUJCeCtQeE9DQURJQUFvQWdCclFTUVFPU0FCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3RCSkJBNUlnVkJBWFFpQmlBR0lBTkpHMEhINC9FNElBVkI0L0c0SEVrYklBQW9BZ1FnQkd0QkpCQTVJQUJCQ0dvUTBBSWdBaUFCRU5zSUlBQWdBaERQQWlBQ0VNNENDd1VnQUNBQkVOd0lDeUFDSkFZTG9Bd0NCbjhGZlNNR0lRY2pCa0VRYWlRR0lBU09FRU1pQ2lBRUVFTkhCRUFnQjBIQXlBTkI2dEVCRURkQm50SUJFRGRCNzZJQ0VEZEJ4UUFRUGtIMm9nSVFOMEdUMHdFUU55SUlJQWdvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVFZZ0NVRUtJQVpCUDNGQmlnRnFFUUlBSVFZZ0J4QThJQWdnQmhCQUlBZ1FQeEFBQ3lBRmpoQkRJZ3NnQlJCRFJ3UkFJQWRCd01nRFFiSFRBUkEzUVo3U0FSQTNRZStpQWhBM1FjWUFFRDVCOXFJQ0VEZEJrOU1CRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VHSUFsQkNpQUdRVDl4UVlvQmFoRUNBQ0VHSUFjUVBDQUlJQVlRUUNBSUVEOFFBQXNnQ3lBQ1NTQUxRWDlLY1VVRVFDQUhRY0RJQTBIbDB3RVFOMEdlMGdFUU4wSHZvZ0lRTjBIUEFCQStRZmFpQWhBM1FaUFVBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hCaUFKUVFvZ0JrRS9jVUdLQVdvUkFnQWhCaUFIRUR3Z0NDQUdFRUFnQ0JBL0VBQUxJQXRCQVdvaUNTQUNUd1JBSUFkQndNZ0RRYVRVQVJBM1FaN1NBUkEzUWUraUFoQTNRZEFBRUQ1QjlxSUNFRGRCNE5RQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJpZ0NBQ2dDSENFQ0lBWkJDaUFDUVQ5eFFZb0JhaEVDQUNFQ0lBY1FQQ0FJSUFJUVFDQUlFRDhRQUFzZ0NpQUJTU0FLUVg5S2NVVUVRQ0FIUWNESUEwSDQxQUVRTjBHZTBnRVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYVhWQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdZb0FnQW9BaHdoQWlBR1FRb2dBa0UvY1VHS0FXb1JBZ0FoQWlBSEVEd2dDQ0FDRUVBZ0NCQS9FQUFMSUFwQkFXb2lDQ0FCVHdSQUlBZEJ3TWdEUWJiVkFSQTNRWjdTQVJBM1FlK2lBaEEzUWRJQUVENUI5cUlDRURkQjhkVUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dDTElnQkpNaURpQUpzaUFGa3lJTWxDSU5Rd0FBQUFCZ1JTQU51MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUVluV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dCQ0FLc3BNaUR5QU1sQ0lNUXdBQUFBQmdSU0FNdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFjWFdBUkEzUVo3U0FSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRGlBRklBdXlreUlFbENJRlF3QUFBQUJnUlNBRnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRZlRXQVJBM1FaN1NBUkEzUWUraUFoQTNRZUFBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0R5QUVsQ0lFUXdBQUFBQmdSU0FFdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFhUFhBUkEzUVo3U0FSQTNRZStpQWhBM1FlRUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQXlBQUlBTWdDMnhxSWdGcUlRQWdCQ0FGSUEwZ0RKS1NrcnRFY2F5TDIyZ0E4RDlsQkVBZ0RTQUtRUUowSUFGcUtnSUFsQ0FNSUFoQkFuUWdBV29xQWdDVWtpQUZJQXBCQW5RZ0FHb3FBZ0NVa2lBRUlBaEJBblFnQUdvcUFnQ1VraUVRSUFja0JpQVFEd1VnQjBIQXlBTkIwdGNCRURkQm50SUJFRGRCNzZJQ0VEZEI0Z0FRUGtIMm9nSVFOMEc0MWdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0J4QThJQUlnQUJCQUlBSVFQeEFBQzBNQUFBQUFDNzhKQWcxL0JYMGpCaUVLSXdaQklHb2tCaUFLUVJ4cUlRY2dDa0VZYWlFTElBcEJGR29oRENBS1FSQnFJUThnQ2tFTWFpRVFJQXBCQ0dvaEVTQUtRUVJxSVJJZ0JVRUFTZ1JBSUFWQkFXb2dBeWdDQkVrRVFDQUdRWDlxSVE0Z0JrRUFTZ1JBSUFaQkFXb2lFeUFES0FJSVNRUkFJQU1vQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBIa3p3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIcEFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdRZ0FpZ0NCRUVCZGtjRVFDQUhRY0RJQTBHNzBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQU1vQWdnZ0FpZ0NDRUVCZGtjRVFDQUhRY0RJQTBIMDBBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaM1FBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hEU0FKUVFvZ0RVRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxJQVFvQWdnZ0FpZ0NDRUVCZGtZRVFDQURJQVlRVUNBRlFRSjBhaUVJSUFRZ0RoQlFJQVZCQW5ScUlRNGdCQ0FHRUZBZ0JVRUNkR29oQnlBRUlCTVFVQ0FGUVFKMGFpRUVJQXNnRENBRnNpQUdza0VCRU9FQklBOGdFQ0FSSUJJZ0NpQURJQVVnQmhESkFpQUNJQXNxQWdBZ0RDb0NBQkJOSVJRZ0J5b0NBQ0lYSUJRZ0NDb0NBRU1BQUFCQWxKT1NJUmdnQWlBTEtnSUFRd0FBQU1DU0lBd3FBZ0FRVFNBSEtnSUVraUFDSUFzcUFnQkRBQUFBUUpJZ0RDb0NBQkJOSUFkQmZHb3FBZ0NTazBNQUFJQStsQ0VWSUFJZ0N5b0NBQ0FNS2dJQVF3QUFBTUNTRUUwZ0JDb0NBSklnQWlBTEtnSUFJQXdxQWdCREFBQUFRSklRVFNBT0tnSUFrcE5EQUFDQVBwUWhGaUFBSUJFb0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVZPQUlJSUFBZ0FqWUNEQ0FBSUJJb0FnQTJBaEFnQUNBV09BSVVJQUFnRlRnQ0dDQUFJQlk0QWh3Z0FDQVlPQUlnSUFFZ0R5b0NBSXc0QWdBZ0FTQVFLZ0lBakRnQ0JDQUJJQmNnRkpOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRZXdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIb0FoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wSG5BaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMencwQ0RuOEZmU01HSVFzakJrRWdhaVFHSUF0QkhHb2hCeUFMUVJocUlRMGdDMEVVYWlFTUlBdEJFR29oRVNBTFFReHFJUklnQzBFSWFpRVRJQXRCQkdvaEZDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERpQUdRUUJLQkVBZ0JrRUJhaUlQSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUVo4REVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQkNBQ0tBSUVRUUYyUndSQUlBZEJ3TWdEUWJ2UUFSQTNRYzdMQVJBM1FlK2lBaEEzUWFBREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYUVERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ2dDQUVGMGFpZ0NBQ0FJYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NDQ0FDS0FJSVFRRjJSd1JBSUFkQndNZ0RRYS9SQVJBM1FjN0xBUkEzUWUraUFoQTNRYUlERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpQU9FRkFoQ0NBQ0lBWVFVQ0VPSUFJZ0R4QlFJUThnQXlBR0VGQWhDaUFOSUF3Z0JiSWdCckpCQVJETEFpQU5LZ0lBSWhWREFBQUF2NUpEQUFBQUFHQkZCRUFnQjBIQXlBTkIzTmtCRURkQnpzc0JFRGRCNzZJQ0VEZEJyQU1RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBTUtnSUFRd0FBQUwrU1F3QUFBQUJnUlFSQUlBZEJ3TWdEUWJ2YUFSQTNRYzdMQVJBM1FlK2lBaEEzUWEwREVENUI5cUlDRURkQjVOb0JFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRVFJQWxCQ2lBUVFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBQ0lBa1FRQ0FDRUQ4UUFBc2dGVU1BQUFBL2tpQUVLQUlFczExRkJFQWdCMEhBeUFOQm10c0JFRGRCenNzQkVEZEI3NklDRURkQnJnTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFGUVFKMElBaHFJUWdnQlVFQ2RDQU9haUVDSUFWQkFuUWdEMm9oRGlBRlFRSjBJQXBxSVE4Z0RDb0NBRU1BQUFBL2tpQUVLQUlJczEwRVFDQVJJQklnRXlBVUlBc2dBeUFGSUFZUXlRSWdCQ0FOS2dJQUlBd3FBZ0FRVFNJWElBSXFBZ0FpR0NBUEtnSUFRd0FBQUVDVWs1SWhHU0FDUVh4cUtnSUFJQVFnRFNvQ0FFTUFBQUEva2lBTUtnSUFFRTJTSUFJcUFnUWdCQ0FOS2dJQVF3QUFBTCtTSUF3cUFnQVFUWktUUXdBQWdENlVJUlVnQ0NvQ0FDQUVJQTBxQWdBZ0RDb0NBRU1BQUFBL2toQk5raUFPS2dJQUlBUWdEU29DQUNBTUtnSUFRd0FBQUwrU0VFMlNrME1BQUlBK2xDRVdJQUFnRXlnQ0FEWUNBQ0FBSUFzb0FnQWlBallDQkNBQUlCVTRBZ2dnQUNBQ05nSU1JQUFnRkNnQ0FEWUNFQ0FBSUJZNEFoUWdBQ0FWT0FJWUlBQWdGamdDSENBQUlCazRBaUFnQVNBUktnSUFqRGdDQUNBQklCSXFBZ0NNT0FJRUlBRWdGeUFZazBNQUFBQS9sSXc0QWdnZ0N5UUdEd1VnQjBIQXlBTkJ6ZHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyd01RUGtIMm9nSVFOMEhrMmdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzTElBZEJ3TWdEUVpuUEFSQTNRYzdMQVJBM1FlK2lBaEEzUVo0REVENUI5cUlDRURkQjFNOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xJQWRCd01nRFFjL09BUkEzUWM3TEFSQTNRZStpQWhBM1FaMERFRDVCOXFJQ0VEZEJpYzhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXY4Q0FJTWZ3VjlJd1loQ2lNR1FTQnFKQVlnQ2tFVWFpRUhJQXBCRUdvaERTQUtRUXhxSVE0Z0NrRUlhaUVQSUFwQkJHb2hFQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEQ0FHUVFCS0JFQWdCa0VCYWlJUklBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FiY0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0JDQUVLQUlFUndSQUlBZEJ3TWdEUVlIY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJnQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBREtBSUlSd1JBSUFkQndNZ0RRYWJaQVJBM1FjN0xBUkEzUWUraUFoQTNRYmtDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FFS0FJSVJnUkFJQUlnREJCUUlBVkJBblJxSVJJZ0FpQUdFRkFnQlVFQ2RHb2hCeUFDSUJFUVVDQUZRUUowYWlFSklBTWdCaEJRSUFWQkFuUnFJUXNnQkNBTUVGQWdCVUVDZEdvaERDQUVJQVlRVUNBRlFRSjBhaUVDSUFRZ0VSQlFJQVZCQW5ScUlRUWdEU0FPSUE4Z0VDQUtJQU1nQlNBR0VNa0NJQUlxQWdBaUZTQUhLZ0lBSWhZZ0N5b0NBRU1BQUFCQWxKT1NJUmNnQjBGOGFpb0NBQ0FIS2dJRWt5QUNLZ0lFSUFKQmZHb3FBZ0NUa2tNQUFJQStsQ0VUSUJJcUFnQWdDU29DQUpNZ0JDb0NBQ0FNS2dJQWs1SkRBQUNBUHBRaEZDQUFJQThvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVE9BSUlJQUFnQWpZQ0RDQUFJQkFvQWdBMkFoQWdBQ0FVT0FJVUlBQWdFemdDR0NBQUlCUTRBaHdnQUNBWE9BSWdJQUVnRFNvQ0FJdzRBZ0FnQVNBT0tnSUFqRGdDQkNBQklCVWdGcE5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFiWGNBUkEzUWM3TEFSQTNRZStpQWhBM1Fib0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEcyQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBHMUFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxXZ0VDZlNBQUtnSWdJQUFxQWdRUWFaUWhBU0FBS2dJRVF3QUFBRUNVSUFBcUFnZ2lBcFFnQUNvQ0ZKUWdBWk1nQUNvQ0VDQUNFR21Va3lBQUtnSUFJQUFxQWhRUWFaU1RJQUFxQWdBZ0FDb0NFSlFnQUNvQ0lKU1NDOHdCQVFKL0l3WWhBaU1HUVJCcUpBWWdBQVIvSUFFZ0FDZ0NCRVlFZjBFQUJRSi9JQUZCRDA4RVFDQUNJQUUyQWdCQkFFRURRZkdtQVNBQ0VEMUJmd3dCQ3lBQUlBRTJBZ1FnQUNBQkVKVUdOZ0lJSUFBb0FoZ2hBMEdnNEFFZ0FVSC8vd0Z4ZGtFQmNRUkFBa0FDUUFKQUlBTU9CQUFDQWdFQ0N5QUFRUUUyQWhoQkFBd0RDeUFBUVFRMkFoaEJBQXdDQ3dVQ1FBSkFBa0FnQTBFQmF3NEVBQUlDQVFJTElBQkJCRFlDR0VFQURBTUxJQUJCQXpZQ0dFRUFEQUlMQzBFQUN3c0ZRWDhMR2lBQ0pBWUxlZ0FnQUNBQktnSUFJQUlxQWdDVUlBRXFBZ1FnQWlvQ0JKU1NJQUVxQWdnZ0Fpb0NDSlNTT0FJQUlBQWdBU29DRENBQ0tnSUFsQ0FCS2dJUUlBSXFBZ1NVa2lBQktnSVVJQUlxQWdpVWtqZ0NCQ0FBSUFFcUFoZ2dBaW9DQUpRZ0FTb0NIQ0FDS2dJRWxKSWdBU29DSUNBQ0tnSUlsSkk0QWdnTDZ3RUJBWDBnQVJEaUNDSUNpME1BQUFBMFh3Ui9RUUFGSUFCREFBQ0FQeUFDbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0lnRU1vQ2xEZ0NBQ0FBSUFJZ0FTb0NDQ0FCS2dJRUlBRXFBaUFnQVNvQ0hCQ0FBWlE0QWdRZ0FDQUNJQUVxQWdRZ0FTb0NDQ0FCS2dJUUlBRXFBaFFRZ0FHVU9BSUlJQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NJQkRLQXBRNEFoQWdBQ0FDSUFFcUFnZ2dBU29DQUNBQktnSVVJQUVxQWd3UWdBR1VPQUlVSUFBZ0FpQUJLZ0lBSUFFcUFnUWdBU29DRUJES0FwUTRBaUFnQUNBQUtBSUVOZ0lNSUFBZ0FDZ0NDRFlDR0NBQUlBQW9BaFEyQWh4QkFRc0xQQUVCZlNBQktnSUFJQUVxQWhDVUlBRXFBZ1FRYVpNaUFrTUFBQUFBV3dSL1FRQUZJQUFnQVNvQ0FDQUJLZ0lRa2hCcElBS1ZPQUlBUVFFTEN5OEJBbjhqQmlFREl3WkJNR29rQmlBRElBRVE1UWdFZnlBQUlBTWdBaERrQ0VFQkJVRUFDeUVFSUFNa0JpQUVDNmtGQVFSL0l3WWhCeU1HUVJCcUpBWWdCQ2dDQkNBQ0tBSUVJQU1vQWdSR1JnUkFJQVFvQWdnZ0FpZ0NDQ0FES0FJSVJrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPRUlCU0FIUWNESUEwR0h5d0VRTjBIT3l3RVFOMEh2b2dJUU4wSFNBeEErUWZhaUFoQTNRZFRNQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQlFKQUlBSW9BZ1FnQXlnQ0JFWUVRQ0FFS0FJRUlBTW9BZ1JCQVhaR0JFQWdBaWdDQ0NBREtBSUlSZ1JBSUFRb0FnZ2dBeWdDQ0VFQmRrWUVRQ0FBSUFFZ0FpQURJQVFnQlNBR0VPQUlEQVFMQ3lBSFFjRElBMEgwekFFUU4wSE95d0VRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aENpQUpRUW9nQ2tFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTEN5QURLQUlFSUFJb0FnUkJBWFpHQkVBZ0F5Z0NCQ0FFS0FJRVJnUkFJQU1vQWdRZ0FpZ0NCRUVCZGtZRVFDQURLQUlFSUFRb0FnUkdCRUFnQUNBQklBSWdBeUFFSUFVZ0JoRGZDQXdFQ3dzZ0IwSEF5QU5CMWMwQkVEZEJ6c3NCRURkQjc2SUNFRGRCMkFNUVBrSDJvZ0lRTjBIVXpBRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCMEhBeUFOQjRvRUNFRGRCenNzQkVEZEI3NklDRURkQjJ3TVFQa0gyb2dJUU4wR3l6Z0VRTnlJQUtBSUFRWFJxS0FJQUlBQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQnlRR1FRRUxQUUVDZnlBQUtBSUVJQUFvQWdBaUEydEJKQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1EzUWdGSUFJZ0FVc0VRQ0FBSUFGQkpHd2dBMm8yQWdRTEN3czRBQ0FBQkg4Z0FVUUFBQUFBQUFBQUFHVWdBVVFBQUFBQUFBRHdQMlp5Qkg5QmZ3VWdBRUdRaDY4RGFpQUJPUU1BUVFBTEJVRi9Dd3ZNQVFJRmZ3SjlJQUVvQWdBaUJFRjRhaUVHSUFBb0FnQWhBZ05BSUFJZ0JrY0VRQ0FDSUFSR0JFQWdCQ0VCQlFKQUlBSWhBUU5BSUFFaEJRTkFBa0FnQkNBRlFRaHFJZ05HRFFNZ0FTb0NBQ0lISUFNcUFnQWlDRjBOQUNBSUlBZGRSUVJBSUFFb0FnUWdCU2dDREVrTkFRc2dBeUVGREFFTEN5QURJUUVNQUFBTEFBc0xJQUVnQWtjRVFDQUNLQUlBSVFNZ0FpQUJLQUlBTmdJQUlBRWdBellDQUNBQ0tBSUVJUU1nQWlBQktBSUVOZ0lFSUFFZ0F6WUNCQXNnQUNBQ1FRaHFJZ0kyQWdBTUFRc0xDOTBNQWhGL0EzMGpCaUVJSXdaQk1Hb2tCaUFJUVNocUlRc2dDRUVrYWlFTUlBaEJJR29oRVNBQktBSUFJUTBDUUFKQUFrQUNRQU5BQWtBZ0FpZ0NBQ0lPUVhocUlRWWdEa0Y4YWlFS0lBMGdEa1lOQUNBR0lRY2dBQ2dDQUNJQklRUUNmd0pBQWtBQ1FBTkFBa0FDUUNBT0lBUnJJZ05CQTNVaUNRNEVCd2NKQ2dBTElBTkJ3QUJJRFFvZ0NDQUVOZ0lJSUFnZ0NVRUJkaUlEUVFOMElBRnFJZ2syQWdRZ0NDQUhOZ0lBSUJFZ0NDZ0NDRFlDQUNBTUlBZ29BZ1EyQWdBZ0N5QUlLQUlBTmdJQUlCRWdEQ0FMRVBJRElROGdDU29DQUNJVUlBUXFBZ0FpRlYwTkF5QURRUU4wSUFGcUlSSWdGU0FVWFVVRVFDQVNLQUlFSUFRb0FnUkpEUVFMSUFZaEF3TkFJQU5CZUdvaUJTQUVSd1JBSUJRZ0JTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0VpZ0NCQ0FEUVh4cUtBSUFJaEJKRFFVTElBVWhBd3dCQ3dzZ0JFRUlhaUlGSVFRZ0Jpb0NBQ0lWSUFFcUFnQWlGRjFGQkVBQ1FDQVVJQlZkQkVBZ0FVRUVhaUVEQlNBS0tBSUFJQUZCQkdvaUF5Z0NBRWtOQVFzQ2Z3SkFBMEFDUUNBRklBWkdEUXdnQlNvQ0FDSVdJQlJkRFFBZ0ZDQVdYVVVFUUNBRktBSUVJZ1FnQXlnQ0FFa05Bd3NnQlVFSWFpRUZEQUVMQ3lBRktBSUVJUVFnQlVFRWFnd0JDeUFGUVFScUN5RVRJQVVnRlRnQ0FDQUdJQlk0QWdBZ0V5QUtLQUlBTmdJQUlBb2dCRFlDQUNBRlFRaHFJUVFMQ3lBRUlBWkdEUVlnQVNFSklBY2hBUU5BSUFrcUFnQWhGQU5BQWtBZ0JDb0NBQ0lWSUJSZERRQWdGQ0FWWFVVRVFDQUVLQUlFSUFrb0FnUkpEUUVMSUFSQkNHb2hCQXdCQ3dzZ0JDRURJQUVoQkFOQUFrQWdCRUY0YWlJQktnSUFJaFVnRkYxRkJFQWdGQ0FWWFEwQklBUkJmR29vQWdBZ0NTZ0NCRThOQVFzZ0FTRUVEQUVMQ3lBQklBTkxCRUFnQXlnQ0FDRUZJQU1nRlRnQ0FDQUJJQVUyQWdBZ0F5Z0NCQ0VGSUFNZ0JFRjhhaUlFS0FJQU5nSUVJQVFnQlRZQ0FDQURRUWhxSVFRTUFRc0xJQTBnQXlJQlNRMEdJQUFnQVRZQ0FDQUJJUVFNQVFzTElBTkJmR29pQVNFRElBRW9BZ0FoRUF3Q0N5QURRWHhxSVFNTUFRc2dEeUVESUFZTUFRc2dCQ2dDQUNFQklBUWdGVGdDQUNBRklBRTJBZ0FnQkNnQ0JDRUJJQVFnRURZQ0JDQURJQUUyQWdBZ0QwRUJhaUVESUFVTElRRWdCRUVJYWlJSElRWWdCeUFCU1FSL0lBTWhCU0FHSVFNRFFDQUpLZ0lBSVJRRFFBSkFJQlFnQXlvQ0FDSVZYVVVFUUNBVklCUmREUUVnQ1NnQ0JDQURLQUlFVHcwQkN5QURRUWhxSVFNTUFRc0xJQU1oQnlBQklRTURRQUpBSUJRZ0EwRjRhaUlCS2dJQUloVmREUUFnRlNBVVhVVUVRQ0FKS0FJRUlBTkJmR29vQWdCSkRRRUxJQUVoQXd3QkN3c2dBU0FIU3dSQUlBY29BZ0FoQmlBSElCVTRBZ0FnQVNBR05nSUFJQWNvQWdRaEJpQUhJQU5CZkdvaUF5Z0NBRFlDQkNBRElBWTJBZ0FnQlVFQmFpRUZJQUVnQ1NBSElBbEdHeUVKSUFkQkNHb2hBd3dCQ3dzZ0J5RUdJQVVGSUFNTElRRWdCeUFKUndSQUFrQWdCeW9DQUNJVklBa3FBZ0FpRkYwRVFDQUpRUVJxSVFVZ0IwRUVhaUVQSUFrb0FnUWhBeUFIS0FJRUlSQUZJQlFnRlYwTkFTQUhRUVJxSWc4b0FnQWlFQ0FKUVFScUlnVW9BZ0FpQTA4TkFRc2dCaWdDQUNFS0lBWWdGRGdDQUNBSklBbzJBZ0FnRHlBRE5nSUFJQVVnRURZQ0FDQUJRUUZxSVFFTEN5QUhJQTFHRFFBZ0JpRURJQUZGQkVBQ1FDQU5JQWRKQkVBRFFDQUhJQVJCQ0dvaUFVWU5CQ0FFS2dJQUloUWdBU29DQUNJVlhRMENJQlVnRkYxRkJFQWdCQ2dDQkNBRUtBSU1TUTBEQ3lBQklRUU1BQUFMQUFVZ0F5RUJBMEFnRGlBQlFRaHFJZ05HRFFRZ0FTb0NBQ0lVSUFNcUFnQWlGVjBOQWlBVklCUmRSUVJBSUFFb0FnUWdBU2dDREVrTkF3c2dBeUVCREFBQUN3QUxBQXNMSUEwZ0Iwa0VRQ0FDSUFZMkFnQUZJQUFnQjBFSWFqWUNBQXNNQVFzTERBTUxJQUlnQmpZQ0FDQUJLZ0lBSWhRZ0Jpb0NBQ0lWWFFSQUlBRkJCR29oQXlBS0tBSUFJUUFnQVNnQ0JDRUNCU0FWSUJSZERRTWdBVUVFYWlJREtBSUFJZ0lnQ2lnQ0FDSUFUdzBEQ3lBQklCVTRBZ0FnQmlBVU9BSUFJQU1nQURZQ0FDQUtJQUkyQWdBTUFnc2dDQ0FFTmdJY0lBZ2dCRUVJYWpZQ0dDQUNJQVkyQWdBZ0NDQUdOZ0lVSUJFZ0NDZ0NIRFlDQUNBTUlBZ29BaGcyQWdBZ0N5QUlLQUlVTmdJQUlCRWdEQ0FMRVBJREdnd0JDeUFJSUFRMkFoQWdDQ0FPTmdJTUlBd2dDQ2dDRURZQ0FDQUxJQWdvQWd3MkFnQWdEQ0FMRU9zSUN5QUlKQVlMcGdjQ0NIOERmU01HSVFnakJrRXdhaVFHSUFoQkNHb2hDU0FJUVNCcUlRMGdDRUVjYWlFT0lBTWdCR3doQ2dKOUlBV3lJQU95bFkwaEVpQUdzaUFFc3BXTklSRWdBU0FCS0FJQU5nSUVJQUVnQnhEUkFpQUFLQUlFSUFBb0FnQWlBMnRCREJBNUlRdEJBQ0VGQTBBZ0JTQUxSd1JBSUFWQkRHd2dBMm9vQWdRZ0JVRU1iQ0FEYWlnQ0FDSUVhMEVNRURraERFRUFJUVlEUUNBR0lBeEhCRUFnQmtFTWJDQUVhaUFHUVF4c0lBUnFLQUlBTmdJRUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDeUFISUFvUU9TRUxJQklMRUVPeUlSQWdFUkJEc2lFUlFRQWhCQU5BSUFRZ0FpZ0NCQ0FDS0FJQUlnTnJRU1FRT1VrRVFDQUVRU1JzSUFOcUtnSUFJQkNWRUVNaEJpQUVRU1JzSUFOcUtnSUVJQkdWRUVNaEJTQUFLQUlBSUFaQkRHeHFLQUlBSVFZZ0NTQUVRU1JzSUFOcUtnSVlpemdDQUNBSklBUTJBZ1FnQlVFTWJDQUdhaUlES0FJRUlnY2dCVUVNYkNBR2FpZ0NDRWtFUUNBSElBa3BBd0EzQWdBZ0F5QURLQUlFUVFocU5nSUVCU0FGUVF4c0lBWnFJQWtRbGdFTElBUkJBV29oQkF3QkN3dEJBQ0VHSUFBb0FnQWlCU0lFSVFNQ1FBTkFJQVlnQUNnQ0JDQUZhMEVNRURsSkJFQkJBQ0VGQTBBZ0JTQUdRUXhzSUFScUtBSUVJQVpCREd3Z0JHb29BZ0FpQjJ0QkRCQTVTUVJBSUFzZ0JVRU1iQ0FIYWlJS0tBSUVJZzhnQlVFTWJDQUhhaUlNS0FJQUlnUnJRUU4xSWdjZ0N5QUhTUnNpQndSQUlBZ2dCRFlDR0NBSUlBZEJBM1FnQkdvMkFoUWdDQ0FQTmdJUUlBNGdDQ2dDR0RZQ0FDQU5JQWdvQWhRMkFnQWdDU0FJS0FJUU5nSUFJQTRnRFNBSkVPd0lJQXdvQWdBaUJDRURJQWNnQ2lnQ0JDQUVhMEVEZFVzRVFDQURLZ0lBSUFkQkEzUWdBMm9xQWdCZ1JRMEdDMEVBSVFvRFFDQUtJQWRKQkVBZ0FpZ0NBQ0FNS0FJQUlBcEJBM1JxS0FJRVFTUnNhaUVESUFFb0FnUWlCQ0FCS0FJSVJnUkFJQUVnQXhEaUFRVWdCQ0FES1FJQU53SUFJQVFnQXlrQ0NEY0NDQ0FFSUFNcEFoQTNBaEFnQkNBREtRSVlOd0lZSUFRZ0F5Z0NJRFlDSUNBQklBRW9BZ1JCSkdvMkFnUUxJQXBCQVdvaENnd0JDd3NnQUNnQ0FDRURDeUFGUVFGcUlRVWdBeUVFREFFTEN5QUdRUUZxSVFZZ0JDRUZEQUVMQ3lBSUpBWVBDeUFKUWNESUEwSHB5QUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZCUkErUWZhaUFoQTNRYVBKQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSkVEd2dBQ0FCRUVBZ0FCQS9FQUFMSmdBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVHWWg2OERhaWdDQURZQ0FFRUFCVUYvQ3hvTFJBRUNmVU1BQUlBL1FRRWdCblN5bFNJSFF3QUFBRCtVUXdBQUFMK1NJUWdnQUNBSElBT1VJQWlTT0FJQUlBRWdCeUFFbENBSWtqZ0NBQ0FDSUFjZ0JaUTRBZ0FMM1FRQ0RIOEJmU01HSVFJakJrRkFheVFHSUFKQk1Hb2hDaUFDUVN4cUlRY2dBa0VvYWlFSUlBSkJKR29oQ3lBQUxBQWNCRUFnQUNBQVFjZ0FhaUlKS0FJQU5nSk1JQWtnQUVGQWF5SU1LQUlBSUFCQlBHb2lCU2dDQUdzUTBRSWdBRUhjQUdvaURTQUJFTUlJQTBBZ0JTZ0NBQ0lHSVFNZ0JDQU1LQUlBSUFaclFTUVFPVWtFUUNBSElBZ2dDeUFFUVNSc0lBTnFLZ0lBSUFSQkpHd2dBMm9xQWdRZ0JFRWtiQ0FEYWlvQ0hDQUVRU1JzSUFOcUtBSU1FTzhJSUFjZ0J5b0NBQ0FCSUFVb0FnQWdCRUVrYkdvb0FneEJBQkNzQVNnQ0JFRi9hck1RNHdFNEFnQWdDQ0FJS2dJQUlBRWdCU2dDQUNBRVFTUnNhaWdDREVFQUVLd0JLQUlJUVg5cXN4RGpBU0lPT0FJQUlBMGdBQ2dDa0FFZ0NpQUZLQUlBSWdNZ0JFRWtiR29vQWd3Z0JFRWtiQ0FEYWlnQ0VDQUhLZ0lBSUE0Z0N5b0NBQkRCQ0VFQUlRWURRQ0FHSUFvb0FnQklCRUFnQWlBRktBSUFJQVJCSkd4cUlnTXBBZ0EzQWdBZ0FpQURLUUlJTndJSUlBSWdBeWtDRURjQ0VDQUNJQU1wQWhnM0FoZ2dBaUFES0FJZ05nSWdJQUlnQUNnQ2tBRWdCa0VDZEdvb0FnQTJBZ2dnQUNnQ1RDSURJQUFvQWxCR0JFQWdDU0FDRU9JQkJTQURJQUlwQWdBM0FnQWdBeUFDS1FJSU53SUlJQU1nQWlrQ0VEY0NFQ0FESUFJcEFoZzNBaGdnQXlBQ0tBSWdOZ0lnSUFBZ0FDZ0NURUVrYWpZQ1RBc2dCa0VCYWlFR0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFVZ0NSQ0pBZ1VDUUNBQVFVQnJLQUlBSUFBb0Fqd2lBR3RCSkJBNUlRRURRQ0FCSUFWR0RRRWdCVUVrYkNBQWFrTUFBQUFBT0FJSUlBVkJBV29oQlF3QUFBc0FDd3NnQWlRR0M1SUVBUXQvSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVCSUFCQlFHc2lDQ2dDQUNBQVFUeHFJZ1FvQWdCclFTUVFPU0FBS0FKVUlnbExCRUFnQUNnQ0ZDQUFRUkJxSWdvb0FnQWlCbXRCREJBNUlnc2dBQ2dDQ0VjRVFDQUJRY0RJQTBHQnh3RVFOMEhBdkFFUU4wSHZvZ0lRTjBIR0F4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQVlvQWdRZ0JpZ0NBR3RCREJBNUlnWWdBQ2dDREVjRVFDQUJRY0RJQTBIU3h3RVFOMEhBdkFFUU4wSHZvZ0lRTjBISEF4QStRZmFpQWhBM1FiakhBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1VvQWdBb0Fod2hCeUFGUVFvZ0IwRS9jVUdLQVdvUkFnQWhCU0FCRUR3Z0FpQUZFRUFnQWhBL0VBQUxJQU5CQURZQ0FDQURRUUEyQWdRZ0EwRUFOZ0lJSUFvZ0F5QUVJQXNnQmlBQUtBSUFJQUFvQWdRZ0NSRHRDQ0FFSUFNUWlRSWdDQ2dDQUNBRUtBSUFhMEVrRURrZ0FDZ0NWRXNFUUNBQlFjRElBMEdNeUFFUU4wSEF2QUVRTjBIdm9nSVFOMEhWQXhBK1FmYWlBaEEzUWRISUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnUW9BZ0FvQWh3aEFpQUVRUW9nQWtFL2NVR0tBV29SQWdBaEJDQUJFRHdnQUNBRUVFQWdBQkEvRUFBRklBTVFWUXNMSUFNa0JndWFCd0lWZndSOUl3WWhCU01HUWRBQWFpUUdJQVZCeEFCcUlRa2dCVUU0YWlFTUlBVkJMR29oQnlBRlFTaHFJUTBnQlVFa2FpRU9JQUFxQWpRUWFTRVlJQUFxQWpoREFBQ0FQNUlRYVNBQUtnSTRsU0VaSUFCQlBHb2hEeUFBUVVCcklSVWdBRUVnYWlFR0FrQUNRQUpBQTBBZ0FpQVZLQUlBSUE4b0FnQWlBMnRCSkJBNVNRUkFJQUpCSkd3Z0Eyb2lFaWdDRUNBR0tBSVFUZzBDSUJJb0FoQWdCaWdDRUNBQ1FTUnNJQU5xSWhBb0FneHNhaUVLSUEwZ0RpQUNRU1JzSUFOcUlnZ3FBZ0FnQWtFa2JDQURha0VFYWlJVEtnSUFJQkFvQWd3UXl3SWdEU29DQUVNQUFBQS9raEJESVFzZ0Rpb0NBRU1BQUFBL2toQkRJUkVnQlNBTUlBWW9BZ0FnQ2tGL2FrRUZkR29nQmlnQ0FDQUtRUVYwYWlJVUlBWW9BZ0FnQ2tFQmFrRUZkR29nQ3lBUkVPZ0lCRUFnQnlBRklBd1E1d2dFUUNBSEtnSUFFR2tnQnlvQ0JCQnBraUFBS2dKWVhrVUVRQ0FDUVNSc0lBTnFJaFpCSUdvZ0JSRG1DQVJBSUFKQkpHd2dBMm9pQ2lvQ0dDQVVJQkVRVUNBTFFRSjBhaW9DQUZ3TkJ5QUtJQlFnRVJCUUlBdEJBblJxS2dJQUlBd3FBZ0FnQnlvQ0FDSVhsQ0FNS2dJRUlBY3FBZ1FpR3BTU0lBd3FBZ2dnQnlvQ0NKU1NremdDR0NBSUlCTWdGeUFOS2dJQWtpQWFJQTRxQWdDU0lCQW9BZ3dRNFFFZ0FrRWtiQ0FEYWlJTElBY3FBZ2dnRWlnQ0VMS1NJaGM0QWhRZ0N5QVhJQVlvQWhDeUVPTUJPQUlVSUJZcUFpQ0xJQmxkQkg4Z0Npb0NHQkJwSUJoZ0JIOGdDQ29DQUNJWFF3QUFBQUJnQkg4Z0Z5QUdLQUlBS0FJRXMxMEVmeUFUS2dJQUloZERBQUFBQUdBRWZ5QVhJQVlvQWdBb0FnaXpYUVIvSUFKQkpHd2dBMm9nQVNBUUtBSU1JQXNxQWhRUWh3STRBaHdnRHlnQ0FDQUVRU1JzYWlJRElBZ3BBZ0EzQWdBZ0F5QUlLUUlJTndJSUlBTWdDQ2tDRURjQ0VDQURJQWdwQWhnM0FoZ2dBeUFJS0FJZ05nSWdJQVJCQVdvRklBUUxCU0FFQ3dVZ0JBc0ZJQVFMQlNBRUN3VWdCQXNoQkFzTEN3c2dBa0VCYWlFQ0RBRUxDeUFQSUFRUTZRZ2dCU1FHRHdzZ0NVSEF5QU5CdHNrQkVEZEJ3THdCRURkQjc2SUNFRGRCNlFNUVBrSDJvZ0lRTjBIK3lRRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc01BUXNnQ1VIQXlBTkJvOG9CRURkQndMd0JFRGRCNzZJQ0VEZEJqZ1FRUGtIMm9nSVFOMEhjeWdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTElBbEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBa1FQQ0FBSUFFUVFDQUFFRDhRQUF1TUpBSWNmd3A5SXdZaEJTTUdRVEJxSkFZZ0FFRkFheUlSSUFCQlBHb2lHQ2dDQURZQ0FDQUFLZ0kwRUdraEpTQUFRU0JxSVJrZ0JVRUVhaUVhSUFWQkJHb2hHeUFGUVFScUlSeEJBU0VEQWtBQ1FBSkFBa0FDUUFKQUFrQURRQ0FESUJrb0FnUWdHU2dDQUd0QkJYVkJmMnBKQkVBZ0FpQURRWDlxRU1nQ0lRY2dBaUFERU1nQ0lRb2dBaUFEUVFGcUloMFF5QUloQ0NBQ0lBTVEyZ2doRWlBRElBSW9BaEFRVHlFV0FrQUNRQ0FIS0FJRUlBb29BZ1JIRFFBZ0J5Z0NCQ0FJS0FJRVJ3MEFJQWNvQWdnZ0NpZ0NDRWNOQkNBSEtBSUlJQWdvQWdoSERRVWdDaWdDQkVGL2FpRVhJQW9vQWdoQmYyb2hIaUFXc2lFZ1FRRWhBd05BSUFNZ0hra0VRQ0FISUFOQmYyb2lCQkJRSVJNZ0J5QURFRkFoQ3lBSElBTkJBV29pRkJCUUlRd2dDaUFFRUZBaERTQUtJQU1RVUNFVklBb2dGQkJRSVE0Z0NDQUVFRkFoRHlBSUlBTVFVQ0VRSUFnZ0ZCQlFJUWtnQTdNaElVRUJJUU1EUUNBRElCZEpCRUFnQTBFQ2RDQVZhaUlFS2dJQUVHa2dKVjFGQkVBQ1FBSkFBa0FnQkNvQ0FDSWZJQU5CZjJvaUJFRUNkQ0FUYWlvQ0FDSWlYa1VOQUNBZklBTkJBblFnRTJvcUFnQmVSUTBBSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0ZXb3FBZ0JlUlEwQUlCOGdCa0VDZENBVmFpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBTkJBblFnRG1vcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVBhaW9DQUY1RkRRQWdIeUFFUVFKMElCQnFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUVRUUowSUFscUtnSUFYa1VOQUNBZklBTkJBblFnQ1dvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FKYWlvQ0FGNUZEUUFNQVFzZ0h5QWlYVVVOQVNBZklBTkJBblFnRTJvcUFnQmRSUTBCSUI4Z0EwRUJhaUlHUVFKMElCTnFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0ZXb3FBZ0JkUlEwQklCOGdCa0VDZENBVmFpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBTkJBblFnRG1vcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFOQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVBhaW9DQUYxRkRRRWdIeUFFUVFKMElCQnFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUVRUUowSUFscUtnSUFYVVVOQVNBZklBTkJBblFnQ1dvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FKYWlvQ0FGMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FmT0FJWUlBVWdBU0FTSUNBUWh3STRBaHdnQlNBYUlBT3pJQ0VnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFFTEN3d0JDeUFIS0FJRUlBb29BZ1JHQkVBZ0NDZ0NCQ0FLS0FJRVFRRjJSZ1JBSUFjb0FnZ2dDaWdDQ0VjTkJ5QUlLQUlJSUFvb0FnaEJBWFpIRFFnZ0NDZ0NCRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUk1nQ0NnQ0NFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSVWdGckloSmtFQ0lRTURRQ0FESUJWUERRTWdCeUFEUVg5cUlnUVFVQ0VQSUFjZ0F4QlFJUXNnQnlBRFFRRnFJaFFRVUNFTUlBb2dCQkJRSVEwZ0NpQURFRkFoRUNBS0lCUVFVQ0VPSUFPeklpZERBQUFBUDVSREFBQ0F2cElpSVVNQUFBQy9raUVpSUNGREFBQUFQNUloSTBFQ0lRUURRQ0FFSUJOSkJFQWdCRUVDZENBUWFpSURLZ0lBRUdrZ0pWMUZCRUFDUUNBRXN5SW9Rd0FBQUQrVVF3QUFnTDZTSVNBQ1FBSkFJQU1xQWdBaUh5QUVRWDlxSWdaQkFuUWdEMm9pRnlvQ0FGNUZEUUFnSHlBRVFRSjBJQTlxS2dJQVhrVU5BQ0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF0cUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXhxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdDVUVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUJCcUtnSUFYa1VOQUNBZklBbEJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFsQkFuUWdEbW9xQWdCZVJRMEFJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5Ya1VOQUNBREtnSUFJQWdnSUNBaUVFMWVSUTBBSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhrVU5BQ0FES2dJQUlBZ2dIeUFoRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ0VRVFY1RkRRQWdBeW9DQUNBSUlDUWdJUkJOWGtVTkFDQURLZ0lBSUFnZ0h5QWpFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDTVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0l4Qk5Ya1VOQUF3QkN5QURLZ0lBSWg4Z0Z5b0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0Myb3FBZ0JkUlEwQklCOGdDVUVDZENBTGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnREdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdEV29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU5haW9DQUYxRkRRRWdIeUFHUVFKMElCQnFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0VHb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE1cUtnSUFYVVVOQVNBZklBbEJBblFnRG1vcUFnQmRSUTBCSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWFVVTkFTQURLZ0lBSUFnZ0lDQWlFRTFkUlEwQklBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5YVVVOQVNBREtnSUFJQWdnSHlBaEVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNFUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSVJCTlhVVU5BU0FES2dJQUlBZ2dIeUFqRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ01RVFYxRkRRRWdBeW9DQUNBSUlDUWdJeEJOWFVVTkFRc2dCU0FTTmdJTUlBVWdGallDRUNBRklBTW9BZ0EyQWhnZ0JTQUJJQklnSmhDSEFqZ0NIQ0FGSUJzZ0tDQW5JQklRNFFFZ0VTZ0NBQ0lESUFBb0FrUkdCRUFnR0NBRkVPSUJCU0FESUFVcEFnQTNBZ0FnQXlBRktRSUlOd0lJSUFNZ0JTa0NFRGNDRUNBRElBVXBBaGczQWhnZ0F5QUZLQUlnTmdJZ0lCRWdFU2dDQUVFa2FqWUNBQXNMQ3lBRVFRRnFJUVFNQVFzTElCUWhBd3dBQUFzQUN3c2dDaWdDQkNBSEtBSUVRUUYyUmdSQUlBZ29BZ1FnQnlnQ0JFRUJka1lFUUNBS0tBSUlJQWNvQWdoQkFYWkhEUWtnQ0NnQ0NDQUhLQUlJUVFGMlJ3MEtJQW9vQWdSQmYyb2hFeUFLS0FJSVFYOXFJUlVnRnJJaEprRUJJUU1EUUNBRElCVlBEUU1nQ2lBRFFYOXFJZ1FRVUNFUElBb2dBeEJRSVJBZ0NpQURRUUZxSWhRUVVDRUxJQWdnQkJCUUlRd2dDQ0FERUZBaERTQUlJQlFRVUNFT0lBT3pJU2NnQTBFQmRMTkRBQUFBUDVJaUlVTUFBQURBa2lFaUlDRkRBQUFBUUpJaEkwRUJJUU1EUUNBRElCTkpCRUFnQTBFQ2RDQVFhaUlFS2dJQUVHa2dKVjFGQkVBQ1FDQURRUUYwczBNQUFBQS9raUVnQWtBQ1FDQUVLZ0lBSWg4Z0EwRi9haUlHUVFKMElBOXFJaGNxQWdCZVJRMEFJQjhnQTBFQ2RDQVBhaW9DQUY1RkRRQWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFaQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFKUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUpRUUowSUF4cUtnSUFYa1VOQUNBZklBWkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTFxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEbW9xQWdCZVJRMEFJQjhnQTBFQ2RDQU9haW9DQUY1RkRRQWdIeUFKUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQ0FnSWhCTlhrVU5BQ0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFY1RkRRQWdCQ29DQUNBSElCOGdJUkJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWhFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDRVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0l4Qk5Ya1VOQUNBRUtnSUFJQWNnSUNBakVFMWVSUTBBSUFRcUFnQWdCeUFrSUNNUVRWNUZEUUFNQVFzZ0JDb0NBQ0lmSUJjcUFnQmRSUTBCSUI4Z0EwRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUWFpb0NBRjFGRFFFZ0h5QUpRUUowSUJCcUtnSUFYVVVOQVNBZklBWkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXRxS2dJQVhVVU5BU0FmSUFaQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFKUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUpRUUowSUExcUtnSUFYVVVOQVNBZklBWkJBblFnRG1vcUFnQmRSUTBCSUI4Z0EwRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTVxS2dJQVhVVU5BU0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjFGRFFFZ0JDb0NBQ0FISUNBZ0loQk5YVVVOQVNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSVJCTlhVVU5BU0FFS2dJQUlBY2dJQ0FoRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ0VRVFYxRkRRRWdCQ29DQUNBSElCOGdJeEJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWpFRTFkUlEwQklBUXFBZ0FnQnlBa0lDTVFUVjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBRUtBSUFOZ0lZSUFVZ0FTQVNJQ1lRaHdJNEFod2dCU0FjSUFPeklDY2dFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUFBQ3dBTEN3c2dIU0VEREFFTEN5QUZKQVlQQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0ZDeUFGUWNESUEwRzIzUUVRTjBIQXZBRVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RUN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dEQ3lBRlFjRElBMEhxM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEdXQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0NDeUFGUWNESUEwR2ozZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3QkN5QUZRY0RJQTBIYzNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIckFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3NnQlVHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQlJBOElBQWdBUkJBSUFBUVB4QUFDL0FCQVFSL0l3WWhBaU1HUVNCcUpBWWdBU2dDRUVFQVRBUkFJQUpCd01nRFFkdStBUkEzUWNDOEFSQTNRZStpQWhBM1FaTUJFRDVCOXFJQ0VEZEJqTDhCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFKQmdNNERFRG9pQkNnQ0FDZ0NIQ0VGSUFSQkNpQUZRVDl4UVlvQmFoRUNBQ0VFSUFJUVBDQURJQVFRUUNBREVEOFFBQXNnQWtHNHhnRVFlU0FBUVNCcUlBRVFoUWtnQWhCcklBSkJ4TVlCRUhrZ0FDQUJJQUJCSUdvUTh3Z2dBaEJySUFKQjJNWUJFSGtnQUNBQkVQSUlJQUlRYXlBQ1FlSEdBUkI1SUFBUThRZ2dBaEJySUFKQjc4WUJFSGtnQUNBQkVQQUlJQUlRYXlBQ0pBWUxRZ0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCZEdvaUFqWUNDQ0FDRU5NQ0RBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEMUNBc0ZJQUFnQVJEMUF3c2dBaVFHQzBFQkFuOGdBQ2dDQkNFQkEwQWdBQ2dDQ0NJQ0lBRkhCRUFnQUNBQ1FYUnFJZ0kyQWdnZ0FoQlZEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDNDQXNGSUFBZ0FSRDFBd3NnQWlRR0MxMEJBMzhnQUNnQ0JDSUVJQUFvQWdBaUFtdEJEQkE1SWdNZ0FVa0VRQ0FBSUFFZ0Eyc1ErQWdGSUFNZ0FVc0VRQ0FCUVF4c0lBSnFJUUlnQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUUxDd3RlQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVF3UU9TSURJQUZKQkVBZ0FDQUJJQU5yRVBZSUJTQURJQUZMQkVBZ0FVRU1iQ0FDYWlFQ0lBUWhBUU5BSUFFZ0FrY0VRQ0FCUVhScUlnRVEwd0lNQVFzTElBQWdBallDQkFzTEM1Y0JBUUYvSUFCQklHb2dBUkNOQ1NBQVFkd0FhaUFCRUhRb0FnQW9BZ1FnQVJCMEtBSUFLQUlJSUFFb0FoQWdBU2dDRkJERENDQUFJQUVRZENnQ0FDZ0NCRFlDQUNBQUlBRVFkQ2dDQUNnQ0NEWUNCQ0FBUVJCcUlBQW9BZ2dRK2doQkFDRUJBMEFnQVNBQUtBSVVJQUFvQWhBaUFtdEJEQkE1U1FSQUlBRkJER3dnQW1vZ0FDZ0NEQkQ1Q0NBQlFRRnFJUUVNQVFzTEMwQUJBWDhnQUVHUUFXb1FWU0FBUWR3QWFpSUJRU2hxRU5JQ0lBRkJIR29RVlNBQVFjZ0FhaEJWSUFCQlBHb1FWU0FBUVNCcUVOSUNJQUJCRUdvUWdRa0xKUUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUgwaHE4RGFpZ0NBRFlDQUVFQUJVRi9Dd3NpQVFGL0lBQW9BZ2dpQWtFQUlBRkJBblFRUlJvZ0FDQUJRUUowSUFKcU5nSUlDNlVCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFKMUlBRkpCRUJCLy8vLy93TWdBU0FESUFBb0FnQnJRUUoxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaUFCRVA0SUlBQWdBaERrQVNBQ0VNY0JDd1VnQUNBQkVQWURDeUFDSkFZTElBQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FDZ0NBRFlDQUVFQUJVRi9DeG9MUUFFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRjBhaUlCRU5NQ0RBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d1NUFRRUJmeUFBUVFBMkFnQWdBRUVBTmdJRUlBQkJDallDQ0NBQVFRbzJBZ3dnQUVFQU5nSVFJQUJCQURZQ0ZDQUFRUUEyQWhnZ0FFRUJPZ0FjSUFCQ0FEY0NJQ0FBUWdBM0FpZ2dBRUVBTmdJd0lBQkRBQUFBQURnQ05DQUFRd0FBSUVFNEFqZ2dBRUlBTndJOElBQkNBRGNDUkNBQVFnQTNBa3dnQUVNQUFCQkJPQUpZSUFCQjNBQnFFTVFJSUFCQmtBRnFJZ0ZCQURZQ0FDQUFRUUEyQXBRQklBQkJBRFlDbUFFZ0FFR0lKeEQzQXlBQlFTUVFod0VMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQzhBS0FRWi9Jd1loQlNNR1FSQnFKQVlnQUNnQ0FFRUNSd1JBSUFWQndNZ0RRWnZBQVJBM1FjQzhBUkEzUWUraUFoQTNRZFlBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NBRUVDUndSQUlBVkJ3TWdEUWVMQUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRjQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDQUVFQ1J3UkFJQVZCd01nRFFaSEJBUkEzUWNDOEFSQTNRZStpQWhBM1FkZ0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0VFRUJSd1JBSUFWQndNZ0RRY0RCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGtBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NFRUVCUndSQUlBVkJ3TWdEUVk3Q0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRvQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBaWdDRUVFQlJ3UkFJQVZCd01nRFFibkNBUkEzUWNDOEFSQTNRZStpQWhBM1Fkc0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5Z0NBRUYwYWlnQ0FDQURhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUWVUQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWR3QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYlREQVJBM1FjQzhBUkEzUWUraUFoQTNRZDBBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFZZkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJuRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBdEJBQ0VEQTBBZ0F5QUJLQUlJU1FSQUlBQWdBeENEQ1NFR0lBRWdBeEJRSVFjZ0FpQURFRkFoQ0VFQUlRUURRQ0FFSUFFb0FnUkpCRUFnQkVFQ2RDQUdhaUFFUVFKMElBZHFLZ0lBSUFSQkFuUWdDR29xQWdDVE9BSUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBRkpBWUw1Z01CQkg4akJpRUVJd1pCRUdva0JpQUFLQUlFSUFBb0FnQkdCRUFnQkVIQXlBTkJpTDRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5QUFRUGtIMm9nSVFOMEd5dmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQktBSVFRUUJNQkVBZ0JFSEF5QU5CMjc0QkVEZEJ3THdCRURkQjc2SUNFRGRCeVFBUVBrSDJvZ0lRTjBHTXZ3RVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJCRUFnQVVIdzhRQkIrUEVBRU9RRUJFQkJBQ0VDQTBBZ0FpQUFLQUlNU1FSQVFRQWhBd05BSUFNZ0FDZ0NFRWtFUUNBQUtBSUFJQU1nQWlBQUtBSVFiR3BCQlhScUlBRWdBaUFERUt3QklBRWdBaUFEUVFGcUlnTVFyQUVRaEFrTUFRc0xJQUpCQVdvaEFnd0JDd3NnQkNRR0R3c0xJQVJCd01nRFFiQy9BUkEzUWNDOEFSQTNRZStpQWhBM1Fjb0FFRDVCOXFJQ0VEZEIrTDhCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUFJQUVRUUNBQUVEOFFBQXRDQVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGZ2FpSUNOZ0lJSUFJUTNRRU1BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTFNnRUNmeUFBQkg4Z0FFR0loNjhEYWlJQktBSUFJZ0lFUUNBQ0VFa2dBVUVBTmdJQUN5QUFRZUNHcHdKcUtBSUFFRGdnQUVIa2hxY0NhaWdDQUJBNElBQVFPRUVBQlVGL0N4b0xrQUVCQW44Z0FDZ0NBQ0VESUFBb0FnUWhBZ05BSUFJZ0EwY0VRQ0FCS0FJRVFXQnFJQUpCWUdvaUFoQ3FCeUFCSUFFb0FnUkJZR28yQWdRTUFRc0xJQUFvQWdBaEFpQUFJQUVvQWdRMkFnQWdBU0FDTmdJRUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQVNnQ0JEWUNBQXNyQVFGL0lBQW9BZ2doQWdOQUlBSVF1Z01nQUNBQUtBSUlRU0JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDM0lCQVg4Z0FFRUFOZ0lNSUFBZ0F6WUNFQ0FCQkVBZ0FVSC8vLzgvU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVGZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFWMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUZkQ0FFYWpZQ0RBc3JBUUYvSUFBb0FnUWhBZ05BSUFJUXVnTWdBQ0FBS0FJRVFTQnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM2SUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUVYxSUFGSkJFQkIvLy8vUHlBQklBTWdBQ2dDQUd0QkJYVnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUVIxSWdZZ0JpQURTUnRCLy8vL1B5QUZRUVYxUWYvLy94OUpHeUFBS0FJRUlBUnJRUVYxSUFCQkNHb1FpZ2tnQWlBQkVJa0pJQUFnQWhDSUNTQUNFSVlKQ3dVZ0FDQUJFSXNKQ3lBQ0pBWUx3d0lCQ0g4akJpRUVJd1pCRUdva0JpQUJLQUlJSUFFb0FnUnJRUVYxUlFSQUlBUkJ3TWdEUVpXOEFSQTNRY0M4QVJBM1FlK2lBaEEzUVRVUVBrSDJvZ0lRTjBISXZRRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJRUUJCQUJDc0FTZ0NBQ0VESUFGQkFFRUFFS3dCS0FJRUlRVWdBVUVBUVFBUXJBRW9BZ2doQmlBQUlBRW9BaEEyQWd3Z0FDQUJLQUlVUVg5cUlnRTJBaEFnQUNBQklBQW9BZ3hzRU5RQ1FRQWhBUU5BSUFFZ0FDZ0NERWtFUUNBRklBRjJJUWNnQmlBQmRpRUlRUUFoQWdOQUlBSWdBQ2dDRUNJSlNRUkFJQUFvQWdBZ0FpQUJJQWxzYWtFRmRHb2dBeUFISUFoQkFSQzNBaUFDUVFGcUlRSU1BUXNMSUFGQkFXb2hBUXdCQ3dzZ0JDUUdDM01CQkg4akJpRURJd1pCRUdva0JpQURRUWhxSVFRZ0FBUkFJQUFRWUNFQ1FZRFJBaEJnSUFKQkFtcHFFRVFpQWdSQUlBUWdBRFlDQUNBRVFZRFJBallDQkNBQ1FZKzhBU0FFRUx3QklBSWdBUkN3QVNFRklBSVFPQVZCQUVFRFFibllBaUFERUQxQkFSQUJDd3NnQXlRR0lBVUx2UUlCQ0g4akJpRUtJd1pCRUdva0JpQURJQUZCQkJBNUlnczJBZ0FnQkNBQ1FRUVFPU0lNTmdJQUlBc2dER3dRUkNJRFJRUkFRUUJCQTBHNTJBSWdDaEE5UVFFUUFRc2dBeUVDQTBBZ0NDQU1TQVJBUVFBaENTQUFJQUVnQ0VFQ2RDSUZiR29oQkNBQUlBRWdCVUVEY214cUlRWWdBQ0FCSUFWQkFuSnNhaUVISUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWtnQzBnRVFDQUNJQVl0QUFNZ0JpMEFBaUFHTFFBQklBWXRBQUFnQnkwQUF5QUhMUUFDSUFjdEFBRWdCeTBBQUNBRkxRQURJQVV0QUFJZ0JTMEFBU0FGTFFBQUlBUXRBQU1nQkMwQUFpQUVMUUFBSUFRdEFBRnFhbXBxYW1wcWFtcHFhbXBxYW1wQkVCQTVPZ0FBSUFsQkFXb2hDU0FFUVFScUlRUWdCa0VFYWlFR0lBZEJCR29oQnlBRlFRUnFJUVVnQWtFQmFpRUNEQUVMQ3lBSVFRRnFJUWdNQVFzTElBb2tCaUFEQ3ljQUlBQUVmeUFBUWZpR3J3TnFRUWMyQWdBZ0FFSDhocThEYWtFQU5nSUFRUUFGUVg4TEdndi9BUUVIZnlNR0lRa2pCa0VRYWlRR0lBTWdBVUVERURraUNqWUNBQ0FFSUFKQkF4QTVJZ3MyQWdBZ0NpQUxiQkJFSWdORkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURJUUlEUUNBSElBdElCRUJCQUNFSUlBQWdBU0FIUVFOc0lnVnNhaUVFSUFBZ0FTQUZRUUpxYkdvaEJpQUFJQUVnQlVFQmFteHFJUVVEUUNBSUlBcElCRUFnQWlBR0xRQUNJQVl0QUFFZ0JpMEFBQ0FGTFFBQ0lBVXRBQUVnQlMwQUFDQUVMUUFDSUFRdEFBQWdCQzBBQVdwcWFtcHFhbXBxUVFrUU9Ub0FBQ0FJUVFGcUlRZ2dCRUVEYWlFRUlBWkJBMm9oQmlBRlFRTnFJUVVnQWtFQmFpRUNEQUVMQ3lBSFFRRnFJUWNNQVFzTElBa2tCaUFEQzlBQkFRWi9Jd1loQ0NNR1FSQnFKQVlnQXlBQlFRSVFPU0lKTmdJQUlBUWdBa0VDRURraUNqWUNBQ0FKSUFwc0VFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVMUVFBaEJDQURJUUlEUUNBRUlBcElCRUJCQUNFSElBQWdBU0FFUVFGMElnVnNhaUVHSUFBZ0FTQUZRUUZ5YkdvaEJRTkFJQWNnQ1VnRVFDQUNJQVV0QUFFZ0JTMEFBQ0FHTFFBQUlBWXRBQUZxYW1wQkFuWTZBQUFnQjBFQmFpRUhJQVpCQW1vaEJpQUZRUUpxSVFVZ0FrRUJhaUVDREFFTEN5QUVRUUZxSVFRTUFRc0xJQWdrQmlBREM2WURBUWwvSXdZaEN5TUdRUkJxSkFZZ0F5QUJRUU1RT1NJTVFRRjBJZ2syQWdBZ0JDQUNRUU1RT1NJTlFRRjBJZ0kyQWdBZ0FpQUpiQkJFSWdSRkJFQkJBRUVEUWJuWUFpQUxFRDFCQVJBQkN5QUVJZ0loQXdOQUlBZ2dEVWdFUUVFQUlRb2dBQ0FCSUFoQkEyd2lCa0VDYW14cUlRY2dBQ0FCSUFaQkFXcHNhaUVGSUFBZ0FTQUdiR29oQmlBRElBbHFJUU1EUUNBS0lBeElCRUFnQWlBR0xRQUFJQVl0QUFGQkFYWnFJQVV0QUFCQkFYWnFJQVV0QUFGQkFuWnFRUUowUVFrUVNEb0FBQ0FESUFjdEFBQWdCUzBBQUVFQmRpQUZMUUFCUVFKMmFrRVlkRUVZZFVIL0FYRnFJQWN0QUFGQkFYWnFRUUowUVFrUVNEb0FBQ0FDSUFZdEFBSWdCaTBBQVVFQmRtb2dCUzBBQVVFQ2Rtb2dCUzBBQWtFQmRtcEJBblJCQ1JCSU9nQUJJQU1nQnkwQUFpQUZMUUFCUVFKMklBVXRBQUpCQVhacVFSaDBRUmgxUWY4QmNTQUhMUUFCUVFGMmFtcEJBblJCQ1JCSU9nQUJJQXBCQVdvaENpQUhRUU5xSVFjZ0JVRURhaUVGSUFaQkEyb2hCaUFDUVFKcUlRSWdBMEVDYWlFRERBRUxDeUFJUVFGcUlRZ2dBaUFKYWlFQ0RBRUxDeUFMSkFZZ0JBdE9BUUYvSXdZaEJTTUdRUkJxSkFZZ0F5QUJOZ0lBSUFRZ0FqWUNBQ0FCSUFKc0lnRVFSQ0lDQkVBZ0FpQUFJQUVRVEJvZ0JTUUdJQUlQQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTGFnQUNmd0pBQWtBQ1FBSkFBa0FnQTBFQmF3NEZBQUlFQXdFRUN5QUFJQUVnQWlBRUlBVVFsQWtNQkFzZ0FDQUJJQUlnQkNBRkVKTUpEQU1MSUFBZ0FTQUNJQVFnQlJDU0NRd0NDeUFBSUFFZ0FpQUVJQVVRa1FrTUFRc2dBQ0FCSUFJZ0JDQUZFSThKQ3d2RkJBSUxmd0Y5SXdZaENDTUdRZkFCYWlRR0lBaEIwQUZxSVFrZ0NFSElBV29oQmlBSVFlQUJhaUVNSUFoQjFBRnFJUW9nQ0VIZ0FHb2hEaUFJUWNBQmFpRVBJQUVvQWdRZ0FTZ0NBQ0lCYXlJSFFRTjFJZ3RCQkVrRWYwRi9CUUovSUFkQkFYUVFSQ0lIUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVFzZ0MwRVliQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkN5QURLQUlBSVFNZ0FpZ0NBQ0VKUVFBaEFnTkFJQUlnQzBjRVFDQUNRUVIwSUFkcUlBSkJBM1FnQVdvb0FnQWlEVUVVYkNBRGFpb0NBTHM1QXdBZ0FrRUVkQ0FIYWlBTlFSUnNJQU5xS2dJRXV6a0RDQ0FDUVJoc0lBWnFJQUpCQTNRZ0FXb29BZ1FpRFVFTWJDQUphaW9DQUxzNUF3QWdBa0VZYkNBR2FpQU5RUXhzSUFscUtnSUV1emtEQ0NBQ1FSaHNJQVpxUkFBQUFBQUFBQUFBT1FNUUlBSkJBV29oQWd3QkN3c2dDaUFMTmdJSUlBb2dCellDQUNBS0lBWTJBZ1FnQUVFSWFpSUFJQWNnQmlBTElBNFFtQVJCQUVnRVFDQUhFRGdnQmhBNFFYOE1BUXNnRENBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FIRURnZ0JoQTRRWDhNQVFzZ0FDQUtJQTRnQ0NBUEVPb0JRUUJJQkg4Z0J4QTRJQVlRT0NBTUVPSUNRWDhGUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUVEUUNBQlFRUkhCRUFnQUVFRWRDQUVhaUFCUVFKMGFpQUFRUVYwSUFocUlBRkJBM1JxS3dNQXRqZ0NBQ0FCUVFGcUlRRU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0RCRGlBaUFIRURnZ0JoQTRJQVVnRHlzREFMWWlFVGdDQUNBUlF3QUFJRUZlUVI5MFFSOTFDd3NMSVJBZ0NDUUdJQkFMclF3REMzOENmUUY4SXdZaEJpTUdRVEJxSkFZZ0JrRVFhaUVISUFaQkNHb2hCU0FHUVN4cUlRZ2dCa0VvYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFBb0Fnd2hCQ0FBS0FJUUlRSUNmeUFBS0FJVUlnTkJBVVlpQ2dSL0lBRWhDRUVBQlNBQklBUWdBaUFESUFnZ0NSQ1ZDU0lJQkg5QkFRVkJmd3dEQ3dzaERDQUFLQUlBSUFnZ0JDQUNFSVFJSUFBZ0FDZ0NBQkM1QWlJQktBSUVJQUVvQWdCcklnRkJGQkE1SWdRMkFqQWdBUVJBQWtBZ0FDQUFLQUlzSWdFRWZ5QUJFRGdnQUNnQ01BVWdCQXRCQTNRUVJDSUJOZ0lzSUFGRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkN5QUFLQUlBRUxrQ0lRUUNRQ0FLQkVBZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFNBT0lBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUEwNEFnQWdBa0VEZENBRGFpQU9PQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBVUNRQUpBQWtBQ1FDQURRUUpyRGdRQkF3SUFBd3NnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJTQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQU1BL2xDQU9Rd0FBd0QrVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBREFQNVE0QWdBZ0FrRURkQ0FEYWlBT1F3QUF3RCtVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkJDQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUFCQWxDQU9Rd0FBQUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQUFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFBRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkF5QUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUVCQWxDQU9Rd0FBUUVDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQkFRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFRRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEVU1BQUlCQWxDQU9Rd0FBZ0VDVUlBQW9BaXdpQXlBQ1FRTjBhaUFDUVFOMElBTnFRUVJxRUtZQkdnVWdBQ2dDTENJRElBSkJBM1JxSUExREFBQ0FRSlE0QWdBZ0FrRURkQ0FEYWlBT1F3QUFnRUNVT0FJRUN5QUNRUUZxSVFJTUFBQUxBQXNBQ3lBQVFUUnFJUVJCQUNFREEwQWdBeUFBS0FJNElnSk9CRUFnQkNFQUlBSWhBUXdDQ3lBRUtBSUFJZ0lnQTBIRUFHeHFJQUFvQWlRZ0EwRU1iR29vQWdnMkFqQWdBMEhFQUd3Z0FtcEJmellDUENBRFFjUUFiQ0FDYWtGQWF5Z0NBRVVFUUNBQUtBSUFLQUlBS0FJQVFReHFJUUlnQUNnQ0FDZ0NBQ2dDQUNnQ0dDSUpRUUJPQkVBZ0FTZ0NBQ0FDSUFBb0FnQWdDUkRJQnlBQUtBSUFFTGtDSUFRb0FnQWlCU0FEUWNRQWJHb2dBMEhFQUd3Z0JXcEJOR29RbGdsRkJFQWdCQ2dDQUNJRklBTkJ4QUJzYWtFQU5nSThJQU5CeEFCc0lBVnFJQUlvQWdRZ0FpZ0NBR3RCQTNVaUFqWUNPQ0FEUWNRQWJDQUZhaUFBUVR4cUlBbEJBblJxS0FJQU5nSXdJQU5CeEFCc0lBVnFLZ0kwdXlFUElBY2dBellDQUNBSElBSTJBZ1FnQnlBQ05nSUlJQWNnRHprREVFRUFRUUZCNTdzQklBY1FQUXNMQ3lBRFFRRnFJUU1NQUFBTEFBc0ZJQUFvQWpnaEFTQUFJZ1JCTkdvaEFFRUFJUUlEUUNBQ0lBRklCRUFnQkNnQ05DQUNRY1FBYkdwQmZ6WUNQQ0FDUVFGcUlRSU1BUXNMQzBFQUlRSURRQ0FDSUFGSUJFQWdBQ2dDQUNBQ1FjUUFiR3BCUUd0QkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF3TEJFQWdDQkE0QzBFQUN3VkJBRUVEUWJ1N0FTQUdFRDFCQUFzYUlBWWtCZ3NHQUNBQUpBWUxQd0VDZnlBQUtBSUVJUUlnQUNnQ0NDRUJBMEFnQVNBQ1J3UkFJQUFnQVVGMGFpSUJOZ0lJREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNWNCQVFSL0lBRkJCR29pQXlnQ0FDRUNJQU1nQUNnQ0JDQUFLQUlBSWdScklnVkJkQkE1UVF4c0lBSnFJZ0kyQWdBZ0JVRUFTZ1JBSUFJZ0JDQUZFRXdhSUFNb0FnQWhBZ3NnQUNnQ0FDRUVJQUFnQWpZQ0FDQURJQVEyQWdBZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FES0FJQU5nSUFDNVFCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3djZ0FDZ0NCQ0FBS0FJQWEwRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaWdDQ0NBQkxBQUFPZ0FBSUFJZ0FpZ0NDRUVCYWpZQ0NDQUFJQUlRMXdJZ0FoRFdBaUFDSkFZTEM2d0JBUVYvSXdZaEFpTUdRU0JxSkFaQjFhclZxZ0VnQUNnQ0JDQUFLQUlBYTBFTUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUXdRT1NJRlFRRjBJZ1lnQmlBRFNSdEIxYXJWcWdFZ0JVR3ExYXJWQUVrYklBQW9BZ1FnQkd0QkRCQTVJQUJCQ0dvUTFRSWdBaWdDQ0NJRElBRXBBZ0EzQWdBZ0F5QUJLQUlJTmdJSUlBSWdBaWdDQ0VFTWFqWUNDQ0FBSUFJUW1na2dBaENaQ1NBQ0pBWUxDN1VCQVFWL0l3WWhBaU1HUVNCcUpBWkJ6Sm16NWdBZ0FDZ0NCQ0FBS0FJQWEwRVVFRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVJRUU9TSUZRUUYwSWdZZ0JpQURTUnRCekptejVnQWdCVUhtekprelNSc2dBQ2dDQkNBRWEwRVVFRGtnQUVFSWFoRDZBeUFDS0FJSUlnTWdBU2tDQURjQ0FDQURJQUVwQWdnM0FnZ2dBeUFCS0FJUU5nSVFJQUlnQWlnQ0NFRVVhallDQ0NBQUlBSVErUU1nQWhENEF5QUNKQVlMQzRjTUFnOS9BbjBqQmlFSEl3WkI4QUJxSkFZZ0IwRXdhaUVQSUFkQktHb2hEU0FIUVNCcUlRNGdCMEVZYWlFTUlBZEJFR29oQkNBSFFRaHFJUU1nQjBIZ0FHb2hDQ0FIUWRRQWFpRUtJQWRCeUFCcUlRc2dCMEUwYWlFSklBQkJBRWNnQVVFQVIzRUVmd0ovSUFFb0FnUWlBa1VFUUVFQVFRTkJqN3NCSUFNUVBVRi9EQUVMQWtBQ1FDQUFLQUljSWdORkRRQWdBeEE0SUFFb0FnUWlBZzBBSUFCQkFEWUNIRUVBSVFJTUFRc2dBQ0FDUVlRQmJCQkVJZ00yQWh3Z0EwVUVRRUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFoQkFOQUlBUWdBa2dFUUNBQUtBSWNJQVJCaEFGc2FpQUJLQUlBSUFSQmhBRnNha0dFQVJCTUdpQUVRUUZxSVFRZ0FTZ0NCQ0VDREFFTEN3c2dBQ0FDTmdJZ0lBQW9BaVFpQWdSQVFRQWhBd05BSUFNZ0FDZ0NLRWdFUUNBRFFReHNJQUpxS0FJQUlnUUVRQ0FFRURnZ0FDZ0NKQ0VDQ3lBRFFRRnFJUU1NQVFzTElBSVFPQXNnQVNnQ0RDSUNCRUFDUUNBQUlBSkJER3dRUkNJRU5nSWtJQVJGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3dOQUFrQWdCU0FDVGdSQUlBSWhCZ3dEQ3lBQUtBSWtJZ01nQlVFTWJHb2dBU2dDQ0NJRUlBVkJER3hxS0FJSU5nSUlJQVZCREd3Z0Eyb2dCVUVNYkNBRWFpSU1LQUlFTmdJRUlBd29BZ1FpREFSQUlBVkJER3dnQTJvZ0RFRU1iQkJFSWdJMkFnQWdBa1VOQVVFQUlRTWdCQ0VDQTBBZ0F5QUZRUXhzSUFKcUtBSUVTQVJBSUFBb0FpUWdCVUVNYkdvb0FnQWdBMEVNYkdvaUJDQUZRUXhzSUFKcUtBSUFJQU5CREd4cUlnSXBBZ0EzQWdBZ0JDQUNLQUlJTmdJSUlBTkJBV29oQXlBQktBSUlJUUlNQVFzTElBRW9BZ3doQWdVZ0JVRU1iQ0FFYWtFQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNGSUFCQkFEWUNKQXNnQUNBR05nSW9JQUFvQWpRaUFnUkFJQUlRT0NBQVFRQTJBalFnQUVFQU5nSTRDeUFCS0FJTUlnRkJBRW9FUUFKQUlBQWdBVFlDT0NBQUlBRkJ4QUJzRUVRaUFqWUNOQ0FDUlFSQVFRQkJBMEc1MkFJZ0RSQTlRUUVRQVF0QkFDRUdBMEFnQVNBR1JnMEJJQVpCeEFCc0lBSnFRVUJyUVFBMkFnQWdCa0VCYWlFR0RBQUFDd0FMQ3lBQUtBSWdJZzBFZjBFQUlRWkJBQ0VCQTBCQkFDQUdJQUFvQWloT0RRSWFRUUFoQkFOQUlBUWdBQ2dDSkNBR1FReHNhaWdDQkVnRVFDQUlRUUEyQWdBZ0NFRUFOZ0lFSUFoQkFEWUNDQ0FLUVFBMkFnQWdDa0VBTmdJRUlBcEJBRFlDQ0NBTFFRQTJBZ0FnQzBFQU5nSUVJQXRCQURZQ0NFRUFJUUlEUUNBQ0lBMUlCRUFnQUNnQ0hDSURJQUpCaEFGc2FpZ0NnQUVnQUNnQ0pDSUZJQVpCREd4cUtBSUFJQVJCREd4cUtBSUlSZ1JBSUFKQmhBRnNJQU5xS0FKOElBWkJER3dnQldvb0FnaEdCRUFDUUNBSklBSkJoQUZzSUFOcUtnSUFJQUpCaEFGc0lBTnFLZ0lFSUFKQmhBRnNJQU5xS2dKd0lBSkJoQUZzSUFOcUtnSjBJQUpCaEFGc0lBTnFLQUo0UVFCSEVQd0RJQWdvQWdRaUF5QUlLQUlJU1FSQUlBTWdDU2tDQURjQ0FDQURJQWtwQWdnM0FnZ2dBeUFKS0FJUU5nSVFJQWdnQTBFVWFqWUNCQVVnQ0NBSkVKMEpDeUFBS0FJY0lnTWdBa0dFQVd4cUtnSUlJUkVnQWtHRUFXd2dBMm9xQWd3aEVpQUpJQkU0QWdBZ0NTQVNPQUlFSUFsREFBQUFBRGdDQ0NBS0tBSUVJZ01nQ2lnQ0NFa0VRQ0FESUFrcEFnQTNBZ0FnQXlBSktBSUlOZ0lJSUFvZ0NpZ0NCRUVNYWpZQ0JBVWdDaUFKRUp3SkMwRUFJUU1EUUNBRFFlQUFUdzBCSUFNZ0FDZ0NIQ0FDUVlRQmJHcEJFR3BxSVFVZ0N5Z0NCQ0lPSUFzb0FnaEdCRUFnQ3lBRkVKc0pCU0FPSUFVc0FBQTZBQUFnQ3lBTEtBSUVRUUZxTmdJRUN5QURRUUZxSVFNTUFBQUxBQXNMQ3lBQ1FRRnFJUUlNQVFzTElBOGdDQ2dDQkNBSUtBSUFhMEVVRURrMkFnQkJBRUVCUWJDN0FTQVBFRDBnQUVFOGFpQUJRUUowYWlBQUtBSWtJZ0lnQmtFTWJHb29BZ2cyQWdBZ0FDZ0NBQ0FJSUFzZ0NpQUdRUXhzSUFKcUtBSUFJZ0lnQkVFTWJHb29BZ0FnQkVFTWJDQUNhaWdDQkNBQkVKSUlJQXNRVlNBS0VGVWdDQkRaQWlBRVFRRnFJUVFnQVVFQmFpRUJEQUVMQ3lBR1FRRnFJUVlNQUFBTEFBVkJBQXNMQlVFQVFRTkIzN29CSUFjUVBVRi9DeUVRSUFja0JpQVFDL1VCQVFaL0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFR0lBTWdBQkNZQWlBRExBQUFCRUFnQXlBQUlBQW9BZ0JCZEdvaUJDZ0NBR29vQWhnMkFnZ2dBQ0FFS0FJQWFpSUVLQUlFSVFkQmZ5QUVLQUpNRUVFRVFDQUdJQVFRT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQ0NBRlFTQWdDRUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGUVJoMFFSaDFJZ1UyQWt3RklBUW9Ba3doQlFzZ0JpQURLQUlJTmdJQUlBWWdBU0FCSUFKcUlnSWdBU0FIUWJBQmNVRWdSaHNnQWlBRUlBVkIvd0Z4RUpjQlJRUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFTQUJLQUlRUVFWeUVPNEJDd3NnQXhDWEFpQURKQVlnQUF1N0FRRUZmeU1HSVFZakJrRVFhaVFHSUFBRVFBSkFJQUFvQWdRaEF3TkFJQUlnQTBnRVFDQUFLQUlBSUFKQmhBRnNhaUlFS0FKOElnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFud0xJQUpCQVdvaEFnd0JDd3NnQUNnQ0RDRURRUUFoQWdOQUlBSWdBMDRFUUVFQUlRQU1BZ3NnQUNnQ0NDQUNRUXhzYWlJRUtBSUlJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBZ2dMSUFKQkFXb2hBZ3dBQUFzQUN3VkJBRUVEUWE2NkFTQUdFRDFCZnlFQUN5QUdKQVlnQUF2N0JRRUtmeU1HSVFVakJrRkFheVFHSUFWQk9Hb2hDQ0FGUVRCcUlRa2dCVUVvYWlFR0lBVkJJR29oQnlBRlFSaHFJUW9nQlVFSWFpRUNJQVZCUEdvaUEwR0l1UUV1QUFBN0FBQWdBMEdLdVFFc0FBQTZBQUlnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBQ0FERUk0SklnUkZCRUFnQWlBQU5nSUFJQUpCeFA0Q05nSUVJQUpCZ05FQ05nSUlRUUJCQTBHK3VRRWdBaEE5UVg4TUFRdEJBVUVRRUkwQ0lnSkZCRUJCQUVFRFFibllBaUFLRUQxQkFSQUJDeUFDUVFScVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJRUlnQkJBVTRFUUFKQUlBSWdBRUdFQVd3UVJDSUROZ0lBSUFORkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkMwRUFJUU1EUUNBRElBQklCRUFnQWlnQ0FDQURRWVFCYkdwQkNFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUVFocVFRaEJBU0FFRUdGQkFVY05BaUFDS0FJQUlBTkJoQUZzYWtFUWFrSHNBRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFmd0Fha0VFUVFFZ0JCQmhRUUZIRFFJZ0FpZ0NBQ0FEUVlRQmJHcEJnQUZxUVFSQkFTQUVFR0ZCQVVjTkFpQURRUUZxSVFNZ0FpZ0NCQ0VBREFFTEN5QUNRUXhxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlNSWdCQkFVZ0VRQ0FDUVFBMkFnZ01BZ3NnQWlBQVFReHNFRVFpQXpZQ0NDQURSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFREFrQUNRQU5BQWtBZ0F5QUFUZzBDSUFJb0FnZ2dBMEVNYkdwQkNHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2dBMEVNYkdwQkJHcEJCRUVCSUFRUVlVRUJSdzBGSUFJb0FnZ2lCeUFEUVF4c2FpZ0NCQ0lHUVF4c0VFUWhBQ0FEUVF4c0lBZHFJQUEyQWdBZ0FFVU5BQ0FBUVF3Z0JpQUVFR0VnQmtjTkJTQURRUUZxSVFNZ0FpZ0NEQ0VBREFFTEMwRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTUFRc2dBU0FDTmdJQUlBUVFha0VBREFVTEN3c0xDMEVBUVFOQmdib0JJQWdRUFNBQ0tBSUlJZ0FFUUNBQUVEZ0xJQUlvQWdBaUFBUkFJQUFRT0FzZ0FoQTRJQVFRYWtGL0N3VkJBRUVEUVl1NUFTQUZFRDFCZndzaEN5QUZKQVlnQ3d2WEFnRUVmeU1HSVFJakJrRVFhaVFHUWFDSHJ3TVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FrRUlhaUVESUFGQkFEWUNBQ0FCUWVTR3B3SnFRUUEyQWdBZ0FVR0loNjhEYWtFQU5nSUFJQUZCZnpZQ0JDQUJRUUEyQWdnZ0FVRUJOZ0lNSUFGQjVBQTJBaEFnQVVFQU5nSVVJQUZCQURZQ0dDQUJRUUkyQWh3Z0FVR1FoNjhEYWtRQUFBQUFBQURnUHprREFDQUJRWmlIcndOcVFRTTJBZ0FnQVNBQU5nSWdJQUVnQUNnQ0FDSUVOZ0lrSUFFZ0FDZ0NCQ0lBTmdJb0lBRkJBRFlDTENBQlFiRDRBR3BCQURZQ0FDQUJRZWlHcHdKcVFRQTJBZ0FnQVVINGlxWUNha0VBTmdJQUlBRkI0SWFuQW1vZ0FDQUVRUUYwYkJCRUlnQTJBZ0FnQUFSQUlBRkI4SWF2QTJwQkFEWUNBQ0FCUVFBUS9RTWdBVUgwaHE4RGFrRi9OZ0lBSUFGQkFCRDdBeG9nQVJDUUNTQUNKQVlnQVE4RlFRQkJBMEc1MkFJZ0F4QTlRUUVRQVF0QkFBdnNDZ0VRZnlNR0lRMGpCa0V3YWlRR0lBMUJLR29oRUNBTlFTQnFJUThnRFVFWWFpRUpJQTFCRUdvaEJpQU5RUWhxSVFjZ0FFRUFSeUFCUVFCSGNRUi9JQUFvQWdBaUFnUkFJQUlpQkNFREJTQUFRUkFRUkNJQ05nSUFJQUlFUUNBQ1FRQTJBZ1FnQWtFQU5nSUFJQUpCQURZQ0RDQUNRUUEyQWdnZ0FpSUVJUU1GUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXNMSUFFb0FnQWlEQVJBSUFRb0FnUWlCU0FNS0FJRUlnZHFJZ0pCaEFGc0VFUWlDMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMUVFBaEJnTkFJQVlnQlVnRVFDQUdRWVFCYkNBTGFpQUVLQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xRUUFoQmdOQUlBWWdCMGdFUUNBRklBWnFRWVFCYkNBTGFpQU1LQUlBSUFaQmhBRnNha0dFQVJCTUdpQUdRUUZxSVFZTUFRc0xJQVFvQWdBaUJBUkFJQVFRT0NBQUtBSUFJUU1MSUFNZ0N6WUNBQ0FBS0FJQUlnY2dBallDQkNBSEtBSU1JUXNnQVNnQ0FDSURLQUlNSVF4QkFDRUVRUUFoQmdOQUlBWWdERWdFUUVFQUlRSUNRQUpBQTBBZ0FpQUxTQVJBSUFNb0FnZ2dCa0VNYkdvb0FnZ2dCeWdDQ0NBQ1FReHNhaWdDQ0VZTkFpQUNRUUZxSVFJTUFRc0xEQUVMSUFSQkFXb2hCQXNnQmtFQmFpRUdEQUVMQ3lBTElBeHFJQVJySWdaQkRHd1FSQ0lPUlFSQVFRQkJBMEc1MkFJZ0NSQTlRUUVRQVFzQ1FBSkFBMEFnQ2lBTFNBUkFJQXBCREd3Z0Rtb2dBQ2dDQUNJSEtBSUlJZ1FnQ2tFTWJHb2lBaWdDQ0RZQ0NDQUtRUXhzSUFScUtBSUVJUVJCQUNFSkEwQWdDU0FNU0FSQUlBRW9BZ0FvQWdnaUF5QUpRUXhzYWlnQ0NDQUNLQUlJUmdSQUlBUWdDVUVNYkNBRGFpZ0NCR29oQkFzZ0NVRUJhaUVKREFFTEN5QUtRUXhzSUE1cUlna2dCRUVNYkJCRUlnTTJBZ0FnQTBVTkFpQUhLQUlJSUFwQkRHeHFLQUlFSVFkQkFDRUZBMEFnQlNBSFNBUkFJQWtvQWdBZ0JVRU1iR29pQWlBQUtBSUFLQUlJSUFwQkRHeHFLQUlBSUFWQkRHeHFJZ01wQWdBM0FnQWdBaUFES0FJSU5nSUlJQVZCQVdvaEJRd0JDd3RCQUNFSUFrQUNRQU5BSUFnZ0RFZ0VRQ0FCS0FJQUtBSUlJZ01nQ0VFTWJHb29BZ2dnQUNnQ0FDZ0NDQ0FLUVF4c2FpZ0NDRVlOQWlBSVFRRnFJUWdNQVFzTERBRUxRUUFoQlFOQUlBVWdDRUVNYkNBRGFpZ0NCRTROQVNBSktBSUFJQVVnQjJwQkRHeHFJZ0lnQ0VFTWJDQURhaWdDQUNBRlFReHNhaUlES1FJQU53SUFJQUlnQXlnQ0NEWUNDQ0FGUVFGcUlRVWdBU2dDQUNnQ0NDRUREQUFBQ3dBTElBcEJER3dnRG1vZ0JEWUNCQ0FLUVFGcUlRb01BUXNMREFFTFFRQkJBMEc1MkFJZ0R4QTlRUUVRQVF0QkFDRUVRUUFoQ0FKQUFrQURRQ0FJSUF4SUJFQWdBU2dDQUNnQ0NDSUhJQWhCREd4cUtBSUlJUVZCQUNFQ0FrQUNRQU5BSUFJZ0MwNE5BU0FDUVFGcUlRTWdBQ2dDQUNnQ0NDQUNRUXhzYWlnQ0NDQUZSd1JBSUFNaEFnd0JDd3NnQkVFQmFpRUVEQUVMSUFnZ0Myb2dCR3NpRDBFTWJDQU9haUVKSUE5QkRHd2dEbW9nQlRZQ0NDQUpJQWhCREd3Z0Iyb29BZ1FpQjBFTWJCQkVJZ00yQWdBZ0EwVU5BMEVBSVFVRFFDQUZJQWRJQkVBZ0NTZ0NBQ0FGUVF4c2FpSUNJQUVvQWdBb0FnZ2dDRUVNYkdvb0FnQWdCVUVNYkdvaUF5a0NBRGNDQUNBQ0lBTW9BZ2cyQWdnZ0JVRUJhaUVGREFFTEN5QVBRUXhzSUE1cUlBYzJBZ1FMSUFoQkFXb2hDQXdCQ3dzTUFRdEJBRUVEUWJuWUFpQVFFRDFCQVJBQkN5QUFLQUlBSWdKQkNHb2lBeWdDQUNJRUJFQkJBQ0VEQTBBZ0F5QUNLQUlNU0FSQUlBTkJER3dnQkdvb0FnQVFPQ0FEUVFGcUlRTWdBQ2dDQUNJRUlRSWdCQ2dDQ0NFRURBRUxDeUFFRURnZ0FDZ0NBRUVJYWlFREN5QURJQTQyQWdBZ0FDZ0NBQ0FHTmdJTUlBRVEvd01MUVFBRlFRQkJBMEdndUFFZ0RSQTlRWDhMSVJFZ0RTUUdJQkVMb3dFQkFuOGdBQ2dDQUNJQkJIOGdBU2dDQUNJQ0JFQWdBaWdDQUNFQklBSkJBRFlDQUNBQkJFQWdBUkRyQXlBQkVEZ0xJQUlRT0NBQUtBSUFJUUVMSUFFb0Fod2lBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaVFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWpRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0Fpd2lBZ1IvSUFJUU9DQUFLQUlBQlNBQkN4QTRJQUJCQURZQ0FFRUFCVUYvQ3hvTGpBRUJBMzhqQmlFRUl3WkJFR29rQmtFQlFid2dFSTBDSWdNRVFFRUVFRkVpQlJDN0NDQURJQVUyQWdBZ0F5QUFOZ0lFSUFOQkFUWUNDQ0FESUFFMkFnd2dBeUFDTmdJUUlBTkJBVFlDRkNBRFFYODJBaGdnQTBJQU53SWNJQU5DQURjQ0pDQURRZ0EzQWl3Z0EwSUFOd0kwSUFRa0JpQUREd1ZCQUVFRFFibllBaUFFRUQxQkFSQUJDMEVBQzhjQkFnSi9CMzBDZnlNR0lRWWpCa0ZBYXlRR0lBQXFBZ3dnQUNvQ0xDSU1JQUdVa3lFSklBQXFBaVFpQnlBQ2xDQUFLZ0lVa3lFS0lBQXFBaUFpQ0NBQ2xDQUFLZ0lRa3lFTElBY2dBWlFnQUNvQ0JKTWhCeUFJSUFHVUlBQXFBZ0NUSVFnZ0FDb0NIQ0VOSUF3Z0FwUWhBUUpBREFBTElBMGdBWk1oQVNBSUlBcVVJQWNnQzVTVElnSkRBQUFBQUZzRWYwRi9CU0FESUFvZ0NaUWdCeUFCbEpNZ0FwVTRBZ0FnQkNBSUlBR1VJQXNnQ1pTVElBS1ZPQUlBUVFBTElRQWdCZ3NrQmlBQUN5Y0JBWDhnQUNnQ0FDSUJCSDhnQVJEaUFpQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExHZ3ZWQmdJUGZ3RjlJd1loQ1NNR1FkQUFhaVFHSUFsQlBHb2hDQ0FKUVRocUlRWWdDVUUwYWlFT0lBbEJNR29oRHlBSlFVQnJJUkFDZndKQUlBQUVmeUFBUVFocUlBRWdDUkQ2QVNBSUlBTW9BZ0FpQnlBRVFSUnNhaWdDQ0NJQk5nSUFJQVlnQkVFVWJDQUhhaW9DRENJVk9BSUFRUUFnQ1NBQnZpQVZJQWdnQmhEbEFVRUFTQVIvUVg4RklBQkJ1QUZxSWhFZ0NDb0NBQ0FHS2dJQUlBNGdEeEJ0UVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElRZ2dEeW9DQUVNQUFBQS9raEJESVJKQkFDRUVRUUFnQlNnQ0VDSUFheUVLSUJJZ0FFRUJkR3NoQzBFQUlRRkJBQ0VBSUFVb0FoZ2hCd05BSUFvZ0JTZ0NGRW9FUUNBRUlRY01CUVVnQzdJaEZVRUFJQVVvQWdnaUJtc2hEQ0FJSUFaQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0VTQU5zaUFWSUE0Z0R4Q21BVUVBU0FSQUlBZEJnQ0E3QVFBRklBa2dBaWdDQUNBREtBSUlRUUowYWlnQ0FDQU9LZ0lBSUE4cUFnQWdFQkNCQkVFQVNBUkFJQWRCZ0NBN0FRQUZJQWNnRUMwQUFDSUdPd0VBSUFSQkFXb2hCQ0FCSUFaQi93RnhJZ1lnQm14cUlRRWdBQ0FHYWlFQUN3c2dERUVCYWlFTUlBMUJBbW9oRFNBSFFRSnFJUWNNQVFzTElBcEJBV29oQ2lBTFFRSnFJUXNNQVFzQUFBc0FDd3NGSUFnZ0F5Z0NBQ0lISUFSQkZHeHFLQUlJSWdBMkFnQWdCaUFFUVJSc0lBZHFLZ0lNSWhVNEFnQkJBQ0FCSUFDK0lCVWdEaUFQRU9VQlFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUkVnRHlvQ0FFTUFBQUEva2hCRElSTkJBQ0FGS0FJUUlnQnJJUW9nRXlBQVFRRjBheUVMUVFBaEIwRUFJUVJCQUNFQUlBVW9BaGdoQmdOQUlBb2dCU2dDRkVvRVFDQUVJUUVNQkFVZ0M3SWhGVUVBSUFVb0FnZ2lDR3NoRENBUklBaEJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdBU0FDS0FJQUlBTW9BZ2hCQW5ScUtBSUFJQTJ5SUJVZ0VCQ0JCRUVBU0FSQUlBWkJnQ0E3QVFBRklBWWdFQzBBQUNJSU93RUFJQWRCQVdvaEJ5QUVJQWhCL3dGeElnZ2dDR3hxSVFRZ0FDQUlhaUVBQ3lBTVFRRnFJUXdnRFVFQ2FpRU5JQVpCQW1vaEJnd0JDd3NnQ2tFQmFpRUtJQXRCQW1vaEN3d0JDd0FBQ3dBTEN3d0JDeUFIQkg4Z0JTQUJJQUFnQUd3Z0J4QTVhN0tSRUVNMkFod2dCU0FBTmdJZ0lBVWdCellDSkVFQUJVRi9Dd3NoRkNBSkpBWWdGQXVTQVFFRGZ5TUdJUU1qQmtFUWFpUUdRU2dRUkNJQ1JRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBMEVJYWlFRUlBSWdBRFlDRUNBQ0lBQTJBZ2dnQWlBQk5nSVVJQUlnQVRZQ0RDQUNJQUVnQUVFQmFtb2lBRFlDQUNBQ0lBQTJBZ1FnQWlBQVFRRjBJQUJzRUVRaUFEWUNHQ0FBQkVBZ0F5UUdJQUlQQlVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBTDV3SUJCWDhnQkNnQ0JDRU5JQUZCQVhRaEN5QUVLQUlBSVE0Z0JDZ0NHQ0VLSUFBZ0FpQUJJQU5zYW1vaEFrRUFJUUFEUUNBTUlBMUlCRUJCQUNFRElBSWhBUU5BSUFNZ0RrZ0VRQ0FBSUFFdEFBQWdDaThCQUd4cUlRQWdBMEVCYWlFRElBcEJBbW9oQ2lBQlFRSnFJUUVNQVFzTElBeEJBV29oRENBQ0lBdHFJUUlNQVFzTElBNUJBWFFpQTBFSWFpSUNJQWhCZm1vaUFTQU5RUUYwYW13aEN5QURJQWRCZm1vaUNtb2lDQ0FMYWlJSFFRSjBJQVZxS0FJQUlBb2dBU0FDYkNJQmFpSURRUUowSUFWcUtBSUFhaUFLSUF0cUlnSkJBblFnQldvb0FnQnJJQUVnQ0dvaUFVRUNkQ0FGYWlnQ0FHc2hCU0FKSUFkQkFuUWdCbW9vQWdBZ0EwRUNkQ0FHYWlnQ0FHb2dBa0VDZENBR2FpZ0NBR3NnQVVFQ2RDQUdhaWdDQUdzZ0JTQUZiQ0FFS0FJa0lnSVFPV3NpQVFSL0lBQWdCU0FFS0FJZ2JDQUNFRGxyUWVRQWJDQUVLQUljRURsQjVBQnNJQUd5a1JCREVEa0ZRUUFMTmdJQUM3RUNBUUovSUFNb0FnQWlCd1JBQWtBRFFBSkFJQWdnQjA0TkFDQUlRUUowSUFacUtBSUFJQUpJRFFBZ0NFRUJhaUVJREFFTEN5QUhJQWhHQkVBZ0IwRURUdzBCSUFkQkFuUWdCR29nQURZQ0FDQUhRUUowSUFWcUlBRTJBZ0FnQjBFQ2RDQUdhaUFDTmdJQUlBTWdBeWdDQUVFQmFqWUNBQXdCQ3lBSFFRTkdCSDlCQWdVZ0F5QUhRUUZxTmdJQUlBY0xJUU1EUUNBRElBaEtCRUFnQTBFQ2RDQUVhaUFEUVg5cUlnZEJBblFnQkdvb0FnQTJBZ0FnQTBFQ2RDQUZhaUFIUVFKMElBVnFLQUlBTmdJQUlBTkJBblFnQm1vZ0IwRUNkQ0FHYWlnQ0FEWUNBQ0FISVFNTUFRc0xJQU5CQW5RZ0JHb2dBRFlDQUNBRFFRSjBJQVZxSUFFMkFnQWdBMEVDZENBR2FpQUNOZ0lBQ3dVZ0JDQUFOZ0lBSUFVZ0FUWUNBQ0FHSUFJMkFnQWdBMEVCTmdJQUN3dW9EUUVjZnlNR0lRd2pCa0hRQUdva0JpQU1RUWhxSVJNZ0RDSWVRY2dBYWlFYklBeEJQR29oSENBTVFUQnFJUjBnREVFa2FpRVVJQXhCSUdvaEZ5QU1RUmhxSVI4Z0RFRVFhaUVnSUFVb0FoQWhKaUFGS0FJVUlTVWdBa0YvYWlFV0lBTkJmMm9oR0FOQUFrQWdFVUVEVHcwQUlCRkJBM1FnQ0dvb0FnQWlERUVBU0EwQUlBeEJmSEZCQW5JaURDQUdheUlOUVFBZ0RVRUFTaHNoRFNBR0lBeHFJZ3dnRmlBTUlBSklHeUVaSUJGQkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNGdCMnNoRENBSElBNXFJZzRnR0NBT0lBTklHeUVWSUF4QkFDQU1RUUJLR3lFT0EwQWdEaUFWVEFSQUlBRWdEU0lNSUFJZ0RteHFhaUVQQTBBZ0RDQVpUQVJBSUE5QkFEb0FBQ0FNUVFGcUlRd2dEMEVCYWlFUERBRUxDeUFPUVFGcUlRNE1BUXNMSUJGQkFXb2hFUXdCQ3dzZ0cwRUFOZ0lBSUNWQkFYUWhFQ0FtUVFGMElSSkJBU0VNUVFBaER3SkFBa0FEUUFKQUlBOUJBMDhOQWlBUFFRTjBJQWhxS0FJQUlnMUJBRWdOQUNBSElBOUJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzVxSVJZZ0RVRjhjVUVDY2lJTklBWnJJUkVnQmlBTmFpRVlJQTRnQjJzaERnTkFBa0FnRGlBV1NnMEFJQTRnRWs0RVFBSkFJQTRnRUdvZ0EwNE5BaUFDSUE1c0lSa2dFU0VOQTBBZ0RTQVlTZzBCSUEwZ0JTZ0NDRUVCZEU0RVFDQU5JQVVvQWd4QkFYUnFJQUpPRFFJZ0FTQU5JQmxxYWlJVkxBQUFSUVJBSUJWQkFUb0FBQ0FBSUFJZ0JDQUZJQTBnRGlBWEVJTUVJQTBnRGlBWEtBSUFJQnNnSENBZElCUVFxd2xCQUNFTUN3c2dEVUVFYWlFTkRBQUFDd0FMQ3lBT1FRUnFJUTRNQVFzTElBOUJBV29oRHd3QkN3c2dERVVOQUVGL0lRWU1BUXNnQlNnQ0FFRURkRUVnYWlBRktBSUVRUUYwUVFocWJDSUJFRVFpRVVVRVFFRUFRUU5CdWRnQ0lCNFFQVUVCRUFFTElBRVFSQ0lPUlFSQVFRQkJBMEc1MkFJZ0V4QTlRUUVRQVF0QkFDRUJRUUFoRWtGL0lRWURRQ0FTSUJzb0FnQklCRUFDUUFKQUlBVW9BaVFnQlNnQ0FDSU5JQVVvQWdRaUIyeEhEUUFDUUNBRVFRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0VrRUNkQ0FkYWlJaEtBSUFJZ2hCZldvZ0JTZ0NFRUVCZEdzaUdFRUFTQTBBSUFoQkEyb2dCU2dDRkVFQmRHb2dBMDROQUNBU1FRSjBJQnhxSWlJb0FnQWlDRUY5YWlBRktBSUlRUUYwYXlJWlFRQklEUUFnQ0VFRGFpQUZLQUlNUVFGMGFpQUNUZzBBSUFkQkFYUkJCbW9oSXlBTlFRSjBRUkJxSVE4Z0RpRUhJQkVoQ0VFQUlRd0RRQ0FNSUE5SUJFQWdDRUVBTmdJQUlBZEJBRFlDQUNBSFFRUnFJUWNnQ0VFRWFpRUlJQXhCQVdvaERBd0JDd3NnRFVFQmRFRUdhaUVrSUFBZ0dTQUNJQmhzYW1vaEV5QU9JUXdnRVNFTlFRQWhGZ05BSUJZZ0kwZ0VRQ0FJUVFocUlTY2dCeUVQUVFBaEVBTkFJQkJCQWtjRVFDQUlRUUEyQWdBZ0QwRUFOZ0lBSUJCQkFuUWdIMnBCQURZQ0FDQVFRUUowSUNCcVFRQTJBZ0FnRDBFRWFpRVBJQWhCQkdvaENDQVFRUUZxSVJBTUFRc0xJQk1oRHlBTVFRaHFJUXdnRFVFSWFpRU5JQWRCQ0dvaEJ5QW5JUWhCQUNFVUEwQWdGQ0FrU0FSQUlBOHRBQUFnRkVFQmNTSVZRUUowSUI5cUlob29BZ0JxSVJBZ0dpQVFOZ0lBSUE4dEFBQWlHaUFhYkNBVlFRSjBJQ0JxSWhvb0FnQnFJUlVnR2lBVk5nSUFJQWdnRUNBTktBSUFhallDQUNBSElCVWdEQ2dDQUdvMkFnQWdEMEVCYWlFUElBeEJCR29oRENBTlFRUnFJUTBnQjBFRWFpRUhJQWhCQkdvaENDQVVRUUZxSVJRTUFRc0xJQUlnRTJvaEV5QVdRUUZxSVJZTUFRc0xRUUFoQ0FOQUlBaEJCMGNFUUNBSUlCaHFJUTBnQ0VFQ2FpRVBJQWhCZldvaEUwRUFJUXdEUUNBTVFRZEhCRUFnQUNBQ0lBd2dHV29nRFNBRklCRWdEaUFNUVFKcUlBOGdGeENxQ1NBWEtBSUFJZ2NnQVVvRVFDQUpJQ0lvQWdBZ0RFRjlhbW8yQWdBZ0NpQVRJQ0VvQWdCcU5nSUFJQXNnQjdKREFFQWNScFU0QWdCQkFDRUdJQWNoQVFzZ0RFRUJhaUVNREFFTEN5QUlRUUZxSVFnTUFRc0xEQUVMSUJKQkFuUWdIV29vQWdBaUIwRURhaUVOSUJKQkFuUWdIR29oRHlBSFFYMXFJUWdEUUNBSUlBMUtEUUVnQ0NBRktBSVFRUUYwVGdSQUFrQWdDQ0FGS0FJVVFRRjBhaUFEVGcwRElBOG9BZ0FpQjBFRGFpRVRJQWRCZldvaERBTkFJQXdnRTBvTkFTQU1JQVVvQWdoQkFYUk9CRUFnRENBRktBSU1RUUYwYWlBQ1RnMENJQUFnQWlBRUlBVWdEQ0FJSUJjUWd3UWdGeWdDQUNJSElBRktCRUFnQ1NBTU5nSUFJQW9nQ0RZQ0FDQUxJQWV5UXdCQUhFYVZPQUlBSUFjaEFVRUFJUVlMQ3lBTVFRRnFJUXdNQUFBTEFBc0xJQWhCQVdvaENBd0FBQXNBQ3lBU1FRRnFJUklNQVFzTElCRVFPQ0FPRURnTElCNGtCaUFHQzNBQkFuOGdBQVIvSUFCQkFUWUNtQUVEUUNBRFFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBQkJDR29nQTBFRWRHb2dBa0VDZEdvZ0EwRUVkQ0FCYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQUVGL05nS29BVUVBQlVGL0N4b0x5Z3NCRzM4akJpRUJJd1pCNEFscUpBWWdBVUhRQ1dvaEZDQUJRY2dKYWlFVklBRkJ1QWxxSVFzZ0FVR3dDV29oRmlBQlFhQUphaUVNSUFGQm1BbHFJUmNnQVVHSUNXb2hEU0FCUWVnSWFpRVlJQUZCNEFocUlROGdBVUhZQ0dvaEdTQUJRZEFJYWlFYUlBRkJ5QWhxSVJBZ0FVSEFDR29oR3lBQlFiZ0lhaUVSSUFGQnNBaHFJUklnQVVHb0NHb2hDU0FCUWFBSWFpRUtJQUZCbUFocUlRNGdBVUdRQ0dvaEFpQUJRWWdJYWlFRklBRkJnQWhxSVFnZ0FVR0FCbW9oQmlBQlFZQUVhaUVISUFGQjFBbHFJUVFDUUFKL0FrQkJudElDTEFBQVJRMEFRWjdTQWtHZTBnSVFzd0ZGRFFBZ0NDQUFOZ0lBSUFoQm50SUNOZ0lFSUFGQmo3d0JJQWdRdkFFZ0FVR0p0Z0VRc0FFaUF3Ui9RUUVNQWdVZ0JTQUFOZ0lBUVFCQkEwR0x0Z0VnQlJBOVFhVEZBeWdDQUJDOUFTRUFJQUpCcDlVRE5nSUFJQUlnQURZQ0JFRUFRUU5CcGJZQklBSVFQVUVBQ3lFVERBSUxJQWNnQUVIL0FSRFZBU0FIUVFBNkFQOEJRUUFMSVFCQjlBZ1FSQ0lGUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0JTQUFRUUJISWc0RWZ5QUdJQU1RNWdGRkJFQWdBeEJxSUFVUU9Bd0NDeUFLSUFRMkFnQWdCa0dydGdFZ0NoQ0RBVUVCUndSQUlBTVFhaUFGRURnTUFnc2dCQ2dDQUNJQVFRRklCSDhnQXhCcUlBVVFPQXdDQlNBQUN3VkJBUXNpQ2pZQ0JDQUZRUUEyQXBnQklBVWdDa0h3QUd3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQUpFRDFCQVJBQkMwRUFJUUFDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBQU5nSUFJQUFnQ2s0TkJ5QVNJQUJCQVdvMkFnQkJBRUVCUWE2MkFTQVNFRDBnRGdSQUlBWWdBeERtQVVVTkNDQVJJQWMyQWdBZ0JrSEd0Z0VnRVJDREFVRUJSdzBJSUFjUS9BVUxRUUJCQVVISnRnRWdHeEE5SUFjUXZ3a2hBQ0FFS0FJQVFmQUFiQ0FDYWlBQU5nSUFJQUJGRFFCQkFFRUJRZnEyQVNBYUVEMUJBRUVCUVlTM0FTQVpFRDBnQnhDeENTRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFnUWdBRVVOQWtFQVFRRkIrcllCSUJnUVBTQUVLQUlBUWZBQWJDQUNha0VBTmdJSUlBNEVRQ0FHSUFNUTVnRkZEUWdnRFNBRUtBSUFJZ0JCOEFCc0lBSnFRUXhxTmdJQUlBMGdBRUh3QUd3Z0FtcEJFR28yQWdRZ0RTQUFRZkFBYkNBQ2FrRVVhallDQ0NBTklBQkI4QUJzSUFKcVFSaHFOZ0lNSUFaQjdMY0JJQTBRZ3dGQkJFY05CQ0FHSUFNUTVnRkZEUWdnRENBRUtBSUFJZ0JCOEFCc0lBSnFRUnhxTmdJQUlBd2dBRUh3QUd3Z0FtcEJJR28yQWdRZ0RDQUFRZkFBYkNBQ2FrRWthallDQ0NBTUlBQkI4QUJzSUFKcVFTaHFOZ0lNSUFaQjdMY0JJQXdRZ3dGQkJFY05CU0FHSUFNUTVnRkZEUWdnQ3lBRUtBSUFJZ0JCOEFCc0lBSnFRU3hxTmdJQUlBc2dBRUh3QUd3Z0FtcEJNR28yQWdRZ0N5QUFRZkFBYkNBQ2FrRTBhallDQ0NBTElBQkI4QUJzSUFKcVFUaHFOZ0lNSUFaQjdMY0JJQXNRZ3dGQkJFY05CaUFFS0FJQUlRQUZJQVFvQWdBaEFFRUFJUWdEUUNBSVFRTkhCRUJCQUNFSkEwQWdDVUVFUndSQUlBQkI4QUJzSUFKcVFReHFJQWhCQkhScUlBbEJBblJxUXdBQWdEOURBQUFBQUNBSUlBbEdHemdDQUNBSlFRRnFJUWtNQVFzTElBaEJBV29oQ0F3QkN3c0xJQUJCOEFCc0lBSnFRUXhxSUFCQjhBQnNJQUpxUVR4cUVKNEdJQWNRaFFaQmdBSVFSQ0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBbXdnQUVVTkJpQUFJQWRCZ0FJUTFRRWdCQ2dDQUVFQmFpRUFEQUVMQ3lBUUlBYzJBZ0JCQUVFRFFkdTJBU0FRRUQwZ0FoQTRJQVVRT0NBRFJRMEhJQU1RYWd3SEN5QVBJQWMyQWdCQkFFRURRWmkzQVNBUEVEMGdCQ2dDQUVId0FHd2dBbW9RdUFrZ0FoQTRJQVVRT0NBRFJRMEdJQU1RYWd3R0MwRUFRUU5CK0xjQklCY1FQU0FERUdwQkFCQUJEQVFMUVFCQkEwSDR0d0VnRmhBOUlBTVFha0VBRUFFTUF3dEJBRUVEUWZpM0FTQVZFRDBnQXhCcVFRQVFBUXdDQzBFQVFRTkJ1ZGdDSUJRUVBVRUJFQUVNQVFzZ0F3UkFJQU1RYWdzZ0JDZ0NBQ0FLVGdSQUlBVWhFd3dDQzBFQUVBRUxDeUFCSkFZZ0V3dE5BUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUVFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUJFRGhCQUNFQkN5QUNKQVlnQVFzcEFDQUFJQUZCQTNRZ0FHb2dBa0VEZENBQWFpSUJFSVFFSUFBZ0FTQURRUU4wSUFCcUVJUUVrZ3ZKQndFVGZ5TUdJUUlqQmtHQUJXb2tCaUFDUWZBRWFpRUpJQUpCNkFScUlRb2dBa0hnQkdvaEN5QUNRZGdFYWlFTUlBSkIwQVJxSVEwZ0FrSElCR29oRGlBQ1FjQUVhaUVQSUFKQnVBUnFJUkFnQWtHd0JHb2hFU0FDUWFnRWFpRVNJQUpCb0FScUlRVWdBa0dZQkdvaEJpQUNRWkFFYWlFRUlBSkJpQVJxSVFFZ0FrR0FCR29pQXlBQU5nSUFJQU5CbnRJQ05nSUVJQUpCajd3QklBTVF2QUVnQWtHSXVRRVFzQUVpQXdSQVFRZ1FSQ0lBUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzQ1FBSkFJQUJCQkdwQkJFRUJJQU1RWVVFQlJnUkFBa0FnQUNBQUtBSUVJaE5CRkd3UVJDSUdOZ0lBSUFaRkJFQkJBRUVEUWJuWUFpQUZFRDFCQVJBQkMwRUFJUVVEUUFKQUlBVWdFMDROQWlBRlFSUnNJQVpxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVNSVFFTUFRc2dCVUVVYkNBR2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkR5RUJEQUVMSUFWQkZHd2dCbXBCRUdwQkJFRUJJQU1RWVVFQlJ3UkFRUkVoQVF3QkN5QUZRUlJzSUFacUlnaEJCR3BCQkVFQklBTVFZVUVCUndSQVFSTWhBUXdCQ3lBRlFSUnNJQVpxSWdjZ0NDZ0NCQ0lCUVJSc0VFUWlCRFlDQUNBRVJRUkFRUlloQVF3QkMwRUFJUVFEUUNBRUlBRklCRUFnQnlnQ0FDQUVRUlJzYWtFRVFRRWdBeEJoUVFGSEJFQkJHU0VCREFNTElBY29BZ0FnQkVFVWJHcEJCR3BCQkVFQklBTVFZVUVCUndSQVFSc2hBUXdEQ3lBSEtBSUFJQVJCRkd4cVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFZElRRU1Bd3NnQnlnQ0FDQUVRUlJzYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCSHlFQkRBTUxJQWNvQWdBZ0JFRVViR3BCRUdwQkJFRUJJQU1RWVVFQlJnUkFJQVJCQVdvaEJDQUlLQUlFSVFFTUFnVkJJaUVCREFNTEFBc0xJQVZCQVdvaEJRd0JDd3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJER3NPRndBS0NnRUtBZ29EQ2dvRUNnb0ZDZ1lLQndvSUNnb0pDZ3RCQUVFRFFmdTFBU0FTRUQwTUNRdEJBRUVEUWZ1MUFTQVJFRDBNQ0F0QkFFRURRZnUxQVNBUUVEME1Cd3RCQUVFRFFmdTFBU0FQRUQwTUJndEJBRUVEUWJuWUFpQU9FRDFCQVJBQkRBVUxRUUJCQTBIN3RRRWdEUkE5REFRTFFRQkJBMEg3dFFFZ0RCQTlEQU1MUVFCQkEwSDd0UUVnQ3hBOURBSUxRUUJCQTBIN3RRRWdDaEE5REFFTFFRQkJBMEg3dFFFZ0NSQTlDMEVBSVFFRFFDQUJJQVZIQkVBZ0FVRVViQ0FHYWlnQ0FCQTRJQUZCQVdvaEFRd0JDd3NnQmhBNERBSUxCVUVBUVFOQis3VUJJQVlRUFF3QkN3d0JDeUFBRURoQkFDRUFDeUFERUdvRklBRWdBRFlDQUVFQVFRTkI1clVCSUFFUVBVRUFJUUFMSUFJa0JpQUFDdzhBSUFBb0FnQkJoQUZxUVFFUUJndjVEUUVRZnlNR0lRc2pCa0hBQm1va0JrRUVJUWxCS0JCRUlnaEJBRFlDQUNBTFFSaHFJZ2RCQUVIb0F4QkZHa0VBSkFOQlB5QUxRWmdFYWlJTUVCQWhCaU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWhCQkJCOUlncEZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUtDeUFMUVpBRWFpRVBJQXRCaUFScUlSQWdDMEdBQkdvaEVRSi9FQWNnQ2tFQmEwVU5BQm9nQnlBR05nSUFJQXhCOEFBMkFnQWdERUdFQVdwQkFTQUlRUVFRandRaENCQUhJUWxCQUNRRFFRQWtBMEVBSWdWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElBWkJBV3RGRFFBYVFRQUxJUVVDUUFKQUFrQUNRQU5BQWtBZ0JRUkFRUUFrQTBIeEFDQUhFQThqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRUWhCQUVFRFFhaTFBU0FSRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVdzTkFRd0NDMEVBSkFOQkFTQUhRZG9BUWVnREVCc2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRRFFTY2dCeUFBRUJ3akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEQW45QkV5QUhRUUVRSmlFU0l3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQ2tVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCU0FLUVFGclJRMENJQkpCQVVjTEJFQkJBQ1FEUVFoQkFFRURRY0sxQVNBUUVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFmRUFJQWNRRHlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYXcwRERBSUxRUUFrQTBIQUFDQUhFQkFhSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyUlEwQklBY29BaVFnQnlnQ0hHd2lEQ0FIS0FJZ2JDRUZRUUFrQTBIQkFDQUZFQkFoQlNNRElRWkJBQ1FESUFaQkFFY2pCRUVBUjNFRVFDQUdLQUlBSUFnZ0NSQjlJZ3BGQkVBZ0JpTUVFQVlMSXdRUUF3VkJmeUVLQ3hBSElRWWdDa0VCYTBVRVFDQUdJUVVNQWdzZ0JVVUVRRUVBSkFOQkNFRUFRUU5CdWRnQ0lBOFFFU01ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhMFVOQWtFQUpBTkI4UUFnQnhBUEl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGckRRUU1BZ3RCQUNFTkEwQWdCeWdDakFFZ0J5Z0NkRWtFUUVFQUlRWURRQ0FHUVFWSEJFQWdCa0VDZENBTGFpQUZJQXdnQmlBTmFteHFOZ0lBSUFaQkFXb2hCZ3dCQ3d0QkFDUURRUmtnQnlBTFFRVVFJU0VUSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlEa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUTRMRUFjaEJpQU9RUUZyUlFSQUlBWWhCUXdFQ3lBVElBMXFJUTBNQVFzTFFRQWtBMEhDQUNBSEVCQWFJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQmlBS1FRRnJSUVJBSUFZaEJRd0NDMEVBSkFOQjhRQWdCeEFQSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEZDQUtRUUZyRFFRZ0ZDRUZEQUVMQzBFQUlRVU1Bd3RCQUNFRkRBSUxRUUFoQlF3QkN5QUJCRUFnQVNBSEtBSWNOZ0lBQ3lBQ0JFQWdBaUFIS0FJZ05nSUFDeUFEQkVBZ0F5QUhLQUlrTmdJQUN5QUVCRUFDUUFKQUFrQUNRQ0FITEFDaUFpSUFRUUZyRGdJQUFRSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lPQUlBREFVTERBSUxJQWN1QWFRQ0lnQWdCeTRCcGdKR0JFQWdCQ0FBUWYvL0EzR3lRMXlQSWtDVU9BSUFEQVFMREFFTElBQkIvd0Z4UVFKS0JFQWdCeTRCcEFKRkJFQWdCeTRCcGdKRkJFQWdCQ0FBUWY4QmNiSTRBZ0FNQlFzTEN3c2dCRU1BQUFBQU9BSUFDd3NnQ0JBNElBc2tCaUFGQy80VEFoQi9BWHdqQmlFVEl3WkJFR29rQmlBVElROGdCQ2dDQUNJR0lRY2dBU0FDUVg5cUloQnNRUUYwSUFacUlRVURRQ0FKSUFGSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBSFFRSnFJUWNnQ1VFQmFpRUpJQVZCQW1vaEJRd0JDd3NnQmlFSFFRQWhDU0FCUVg5cUloRkJBWFFnQm1vaEJRTkFJQWtnQWtnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFGQkFYUWdCMm9oQnlBSlFRRnFJUWtnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRZEJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERrRUJJUXhCQUNFRElBQWdCQ2dDQkdvaENTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQU1JQkJPRFFJZ0F5RUFRUUVoQ2dOQUlBb2dFVWdFUUNBTkxRQUFJQTR0QUFCS0JFQUNRQ0FKUVg4NkFBQWdFa0VCZENBR2FpSURMZ0VBSWdWQkFFb0VRQ0FHSUFVN0FRQWdCVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dBMEYrYWk0QkFDSUZJUWdnQlVFQVNpRUxJQU11QVFJaUEwRUFUQVJBSUFzRVFDQUdJQVU3QVFBZ0NFRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ2tnRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFHUVg1cUxnRUFJZ05CQUVvRVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWVNBMEFCcUlnTW9BZ0FnQ2s0TkFpQURJQW8yQWdBRklBQkIvLzhCU2cwR0lBWWdBRUVCYWlJRE93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0EwRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ2pZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FESVFBTERBRUxJQXNFUUFKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUlRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBR1FYNXFMZ0VBSWdWQkFFd0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlDQTBBQnFJZ1VvQWdBZ0Nrb0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBTkJBblFnQkdwQmpJRElBR29vQWdBaUF5QUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVktCRUFnQmlBRk93RUFJQWNoQ0VFQUlRc0RRQ0FMSUFCT0JFQWdCU0VEREFNTElBTWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBVWdCaUFET3dFQUlBTWdCVWdFUUNBSElRaEJBQ0VMQTBBZ0N5QUFUZzBESUFVZ0NDZ0NBRVlFUUNBSUlBTTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFzTEN5QURRUkIwUVJCMVFRZHNJZ05CQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQU5CQW5RZ0JHcEIrUC9QQUdvaUJTQUtJQVVvQWdCcU5nSUFJQU5CQW5RZ0JHcEIvUC9QQUdvaUF5QU1JQU1vQWdCcU5nSUFDd1VnQmtFQU93RUFJQWxCQURvQUFBc2dEVUVCYWlFTklBNUJBV29oRGlBSlFRRnFJUWtnQ2tFQmFpRUtJQVpCQW1vaEJnd0JDd3NnRFVFQ2FpRU5JQTVCQW1vaERpQU1RUUZxSVF3Z0FDRURJQWxCQW1vaENTQUdRUVJxSVFZTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFRlFRRWhBRUVCSVFrZ0J5RUdBMEFnQ1NBRFRBUkFJQWtnQmlnQ0FDSU5SZ1JBSUFCQkFXb2hCd1VnQUNFSElBMUJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCaUFBTmdJQUlBY2hBQ0FKUVFGcUlRa2dCa0VFYWlFR0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCVUVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFjRFFDQUhJQUJJQkVBZ0JFR01nQWhxSUFkQkFuUWlCa0VDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dCa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQmtFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0JrRURja0VDZEdwQkFEWUNBQ0FIUVFGcUlRY01BUXNMUVFBaEFRTkFJQUVnQTBnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQnlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdCeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQjBFRGRHb2lCaUFHS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dCMEVCY2tFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQmtnRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdGhBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5RUNRUlFRUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBU0FBSUFGQkNHb2dBVUVNYWlBQlFRUnFJQUZCRUdvUXN3a2lBRFlDQUNBQVJRUkFJQUVRT0VFQUlRRUxJQUlrQmlBQkN5QUFJQUVnQWlBRHJTQUVyVUlnaG9RZ0JTQUdJQUJCQTNGQjZnWnFFU1VBQ3lrQkFYNGdBU0FDclNBRHJVSWdob1FnQkNBQVFRTnhRYVlEYWhFVUFDSUZRaUNJcHhBRElBV25DM1lCQTM4Z0FBUi9JQUFvQWdBaUFnUi9BMEFnQWlnQ0FDRURJQUVnQWlnQ0JFZ0VRQ0FCUVFKMElBTnFLQUlBS0FJQUVEZ2dBQ2dDQUNnQ0FDQUJRUUowYWlnQ0FCQTRJQUZCQVdvaEFTQUFLQUlBSVFJTUFRc0xJQU1RT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MSUFBZ0FTQUNJQU1nQkNBRnJTQUdyVUlnaG9RZ0FFRUhjVUdlQTJvUkZRQUxCZ0JCRmhBQ0N3WUFRUlVRQWd1WkJnRUpmeU1HSVFrakJrRXdhaVFHSUFraEJrRUlFRVFpQjBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBWkJJR29oQ0NBR1FSaHFJUUlnQmtFUWFpRUJJQVpCQ0dvaEF3SkFBa0FDUUNBSFFRUnFJZ1JCQkVFQklBQVFZVUVCUncwQUlBUW9BZ0FpQkVFQlNBMEFJQWNnQkVFQ2RCQkVJZ00yQWdBZ0EwVUVRRUVBUVFOQnVkZ0NJQUVRUFVFQkVBRUxRUUFoQVFKQUFrQURRQ0FCSUFSSUJFQWdBVUVDZENBRGFrRVFFRVFpQlRZQ0FDQUZSUTBDSUFGQkFXb2hBUXdCQ3dzTUFRdEJBRUVEUWJuWUFpQUNFRDFCQVJBQkMwRUFJUUVDUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQVNBRVRnMEdJQUZCQW5RZ0Eyb2lBaWdDQUVFRWFrRUVRUUVnQUJCaFFRRkhEUUFnQWlnQ0FFRUlha0VFUVFFZ0FCQmhRUUZIRFFJZ0FpZ0NBRUVNYWtFRVFRRWdBQkJoUVFGSERRTWdBaWdDQUNJRktBSUVJQVVvQWdoc0VFUWhCU0FDS0FJQUlBVTJBZ0FnQlVVTkJDQUJRUUZxSVFFZ0FpZ0NBQ0lGS0FJQVFRRWdCU2dDQkNBRktBSUliQ0FBRUdFZ0FpZ0NBQ0lDS0FJRUlBSW9BZ2hzUmcwQkRBVUxDMEVBSVFJRFFDQUJJQUpIQkVBZ0FrRUNkQ0FEYWlnQ0FDZ0NBQkE0SUFKQkFXb2hBZ3dCQ3d0QkFDRUJBMEFnQVNBRVJnMEdJQUZCQW5RZ0Eyb29BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkJTQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTFFRQWhBZ05BSUFFZ0FrY0VRQ0FDUVFKMElBTnFLQUlBS0FJQUVEZ2dBa0VCYWlFQ0RBRUxDMEVBSVFFRFFDQUJJQVJHRFFRZ0FVRUNkQ0FEYWlnQ0FCQTRJQUZCQVdvaEFRd0FBQXNBQzBFQVFRTkJ1ZGdDSUFnUVBVRUJFQUVNQWd0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQWlBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMSUFBUWFnd0JDeUFERURnTUFnc01BZ3RCQUVFRFFiZTBBU0FERUQwTElBY1FPQ0FBRUdwQkFDRUhDeUFHSkFZZ0J3c0dBRUVURUFJTEJnQkJFQkFDQzRJR0FRNS9Jd1loQXlNR1FlQUFhaVFHSUFBUVlFRUdhaEJFSWdoRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN5QURRY2dBYWlFSklBTkJRR3NoQ2lBRFFUaHFJUXdnQTBFd2FpRU5JQU5CS0dvaEFpQURRU0JxSVFRZ0EwRVlhaUVCSUFOQkVHb2hCeUFEUWRBQWFpRUxJQU5CQ0dvaUJpQUFOZ0lBSUFaQmdiUUJOZ0lFSUFoQi9MTUJJQVlRdkFFZ0NFR0l1UUVRc0FFaEJTQUlFRGdnQlFSL0FuOUJDQkJFSWdaRkJFQkJBRUVEUWJuWUFpQUJFRDFCQVJBQkN3SkFBa0FnQmtFRWFpSUJRUVJCQVNBRkVHRkJBVWNOQUNBQktBSUFJZ2RCQVVnTkFDQUNJQWMyQWdCQkFFRUJRZEMwQVNBQ0VEMGdCaUFIUVFKMElnUVFSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFORUQxQkFSQUJDeUFDUVJBUVJDSUJOZ0lBSUFGRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN5QUZFTFVKSWdGRkJFQWdDaUFBTmdJQUlBcEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NoQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBVVErUUlnQlJDOENRd0RDeUFCS0FJRVFRRkhCRUFnQ1NBQU5nSUFJQWxCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDUkE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQUVRT0NBRkVHcEJBQXdEQ3lBQ0tBSUFJZ0FnQVNnQ0NEWUNCQ0FBSUFFb0FndzJBZ2dnQUNBQktBSVFOZ0lNSUFBZ0FTZ0NBRFlDQUNBQkVEZ2dCVUVFSUFSclFRSVE5QUZCQVNFRUFrQUNRQUpBQTBBQ1FDQUVJQWRPRFFNZ0MwRUVRUUVnQlJCaFFRRkhEUUFnQkVFQ2RDQUNhaUFDS0FJQUlBc3FBZ0FReEFraUFEWUNBQ0FBUlEwQ0lBUkJBV29oQkF3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBESUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUJBMEFnQVNBRVJnMENJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXNnQlJCcUlBWU1Bd3NnQWhBNERBRUxRUUJCQTBHM3RBRWdCQkE5Q3lBR0VEZ2dCUkJxUVFBTEJTQUhJQUEyQWdBZ0IwR0J0QUUyQWdSQkFFRURRWWUwQVNBSEVEMUJBQXNoRGlBREpBWWdEZ3NJQUVFRUVBSkJBQXNJQUVFQ0VBSkJBQXNQQUVFQkVBSkVBQUFBQUFBQUFBQUxEd0JCQUJBQ1JBQUFBQUFBQUFBQUM1d0RBaEYvQVgwakJpRUpJd1pCRUdva0JpQUFLQUlFc2lBQmxDQUFLZ0lNSWhPVkVMc0JJUW9nQUNnQ0NMSWdBWlFnRTVVUXV3RWhDMEVRRUVRaUJVVUVRRUVBUVFOQnVkZ0NJQWtRUFVFQkVBRUxJQWxCQ0dvaEF5QUZJQW8yQWdRZ0JTQUxOZ0lJSUFVZ0FUZ0NEQ0FGSUFvZ0Myd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDd05BSUFZZ0MwZ0VRQ0FBS2dJTUloTWdCcktVSUFHVkVMc0JJUThnRXlBR1FRRnFJZ2F5bENBQmxSQzdBU0VFSUFBb0FnZ2lBeUFFSUFRZ0Ewb2JJUkJCQUNFSElBSWhCQU5BSUFjZ0NrZ0VRQ0FBS2dJTUloTWdCN0tVSUFHVkVMc0JJUkVnRXlBSFFRRnFJZ2V5bENBQmxSQzdBU0VDSUFBb0FnUWlEaUFDSUFJZ0Rrb2JJUkpCQUNFQ1FRQWhBeUFQSVFnRFFDQUlJQkJJQkVBZ0FDZ0NBQ0FSSWd3Z0NDQU9iR3BxSVEwRFFDQU1JQkpJQkVBZ0FpQU5MUUFBYWlFQ0lBeEJBV29oRENBTlFRRnFJUTBnQTBFQmFpRUREQUVMQ3lBSVFRRnFJUWdNQVFzTElBUWdBaUFERURrNkFBQWdCRUVCYWlFRURBRUxDeUFFSVFJTUFRc0xJQWtrQmlBRkN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUhpQm1vUkRRQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUhjVUhhQm1vUkRBQUxHQUFnQVNBQ0lBTWdCQ0FGSUFCQlAzRkJtZ1pxRVFVQUN4WUFJQUVnQWlBRElBUWdBRUVmY1VINkJXb1JCd0FMRkFBZ0FTQUNJQU1nQUVFRGNVSDJCV29SQmdBTEZBQWdBU0FDSUFNZ0FFRUJjVUgwQldvUkdBQUxGQUFnQVNBQ0lBTWdBRUVCY1VIeUJXb1JHUUFMRGdBZ0FFRUJjVUdxQTJvUkN3QUxIZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0J5QUlJQUJCRDNGQmpnTnFFUTRBQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVR0dBMm9SRHdBTGtnRUJBbjhnQUFSQUlBQkJpTGtCRUxBQklnRUVRQUpBSUFGQkFFRUNFUFFCSUFFUStBSWhBaUFCUVFCQkFCRDBBU0FDUVFGcUVFUWlBRVVFUUNBQkVHcEJwTVVEUVRBMkFnQkJBQ0VBREFFTElBQWdBa0VCSUFFUVlVVUVRQ0FBRURnZ0FSQnFRUUFoQUF3QkN5QUFJQUpxUVFBNkFBQWdBUkJxQ3dWQkFDRUFDd1ZCcE1VRFFSdzJBZ0JCQUNFQUN5QUFDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJQM0ZCeGdKcUVRb0FDeG9BSUFFZ0FpQURJQVFnQlNBR0lBQkJBM0ZCd2dKcUVSc0FDeGdBSUFFZ0FpQURJQVFnQlNBQVFSOXhRYUlDYWhFSUFBc1lBQ0FCSUFJZ0F5QUVJQVVnQUVFSGNVR2FBbW9SRXdBTEZnQWdBU0FDSUFNZ0JDQUFRUTl4UVlvQ2FoRUpBQXNVQUNBQklBSWdBeUFBUVQ5eFFjb0JhaEVFQUFzU0FDQUJJQUlnQUVFL2NVR0tBV29SQWdBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFQmNVR0lBV29SSWdBTEVBQWdBU0FBUWY4QWNVRUlhaEVBQUFzTkFDQUFRUUZ4UVFacUVSQUFDODhCQVFWL0l3WWhCQ01HUVNCcUpBWWdCRUVRYWlFR0lBRkZRZENGQVNnQ0FDQUFTbkpGQkVBZ0FTd0FBQVJBSUFRZ0FpZ0NBRFlDQUVFQVFRQWdBU0FFRUtrQklnY0VRQ0FBUVFSSkJIOGdBRUVDZEVIQUZXb29BZ0FRWUVFRGFnVkJBQXNpQlNBSGFrRUJhaEJFSVFNZ0JRUkFJQVlnQUVFQ2RFSEFGV29vQWdBMkFnQWdBeUFGUVFGcVFkMnpBU0FHRUtNQ0dnc2dBeUFGYWlBSFFRRnFJQUVnQWhDcEFScEJwSWdCS0FJQUlRQWdBeEJnSWdFZ0EwRUJJQUVnQUJDVEFVY2FJQU1RT0FzTEN5QUVKQVlMRVFBZ0FTQUNJQUJCQVhGQkJHb1JIZ0FMREFBZ0FTQUFRUU54RVJJQUN5a0FJQUJFQUFBQUFBQUE0RCtnbkNBQVJBQUFBQUFBQU9BL29ac2dBRVFBQUFBQUFBQUFBR1liQ3hBQUl3TkZCRUFnQUNRRElBRWtCQXNMS3dBZ0FFSC9BWEZCR0hRZ0FFRUlkVUgvQVhGQkVIUnlJQUJCRUhWQi93RnhRUWgwY2lBQVFSaDJjZ3VSQndFSWZ5QUFLQUlFSWdaQmVIRWhBZ0pBSUFaQkEzRkZCRUFnQVVHQUFra05BU0FDSUFGQkJHcFBCRUFnQWlBQmEwR00xUU1vQWdCQkFYUk5CRUFnQUE4TEN3d0JDeUFBSUFKcUlRUWdBaUFCVHdSQUlBSWdBV3NpQWtFUFRRUkFJQUFQQ3lBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdCQ0FFS0FJRVFRRnlOZ0lFSUFFZ0FoQ1FCQ0FBRHd0QnhORURLQUlBSUFSR0JFQkJ1TkVES0FJQUlBSnFJZ0lnQVUwTkFTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlESUFJZ0FXc2lBVUVCY2pZQ0JFSEUwUU1nQXpZQ0FFRzQwUU1nQVRZQ0FDQUFEd3RCd05FREtBSUFJQVJHQkVBZ0FrRzAwUU1vQWdCcUlnTWdBVWtOQVNBRElBRnJJZ0pCRDBzRVFDQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkFYSTJBZ1FnQUNBRGFpSURJQUkyQWdBZ0F5QURLQUlFUVg1eE5nSUVCU0FBSUFNZ0JrRUJjWEpCQW5JMkFnUWdBQ0FEYWlJQklBRW9BZ1JCQVhJMkFnUkJBQ0VCUVFBaEFndEJ0TkVESUFJMkFnQkJ3TkVESUFFMkFnQWdBQThMSUFRb0FnUWlBMEVDY1EwQUlBSWdBMEY0Y1dvaUJ5QUJTUTBBSUFOQkEzWWhCU0FEUVlBQ1NRUkFJQVFvQWdnaUFpQUVLQUlNSWdOR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFWMFFYOXpjVFlDQUFVZ0FpQUROZ0lNSUFNZ0FqWUNDQXNGQWtBZ0JDZ0NHQ0VJSUFRZ0JDZ0NEQ0lDUmdSQUFrQWdCRUVRYWlJRFFRUnFJZ1VvQWdBaUFnUkFJQVVoQXdVZ0F5Z0NBQ0lDUlFSQVFRQWhBZ3dDQ3dzRFFBSkFJQUpCRkdvaUJTZ0NBQ0lKUlFSQUlBSkJFR29pQlNnQ0FDSUpSUTBCQ3lBRklRTWdDU0VDREFFTEN5QURRUUEyQWdBTEJTQUVLQUlJSWdNZ0FqWUNEQ0FDSUFNMkFnZ0xJQWdFUUNBRUtBSWNJZ05CQW5SQjNOTURhaUlGS0FJQUlBUkdCRUFnQlNBQ05nSUFJQUpGQkVCQnNORURRYkRSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQXdEQ3dVZ0NFRVFhaUlESUFoQkZHb2dBeWdDQUNBRVJoc2dBallDQUNBQ1JRMENDeUFDSUFnMkFoZ2dCQ2dDRUNJREJFQWdBaUFETmdJUUlBTWdBallDR0FzZ0JDZ0NGQ0lEQkVBZ0FpQUROZ0lVSUFNZ0FqWUNHQXNMQ3dzZ0J5QUJheUlDUVJCSkJFQWdBQ0FHUVFGeElBZHlRUUp5TmdJRUlBQWdCMm9pQVNBQktBSUVRUUZ5TmdJRUJTQUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQUNBSGFpSURJQU1vQWdSQkFYSTJBZ1FnQVNBQ0VKQUVDeUFBRHd0QkFBdS9BUUVFZnlNR0lRVWpCa0VRYWlRR0lBQXNBQXNpQTBFQVNDSUdCSDhnQUNnQ0NFSC8vLy8vQjNGQmYyb2hCQ0FBS0FJRUJVRUJJUVFnQTBIL0FYRUxJUU1nQkNBRGF5QUNTUVJBSUFBZ0JDQUNJQU5xSUFScklBTWdBMEVBSUFJZ0FSQ1NCQVVnQWdSQUlBWUVmeUFBS0FJQUJTQUFDeUlFSUFOQkFuUnFJQUVnQWhDbkFTQUNJQU5xSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3lBRlFRQTJBZ0FnQVVFQ2RDQUVhaUFGRUc0TEN5QUZKQVlMc0FFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFQkN5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWtnUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2tFQ3lBRlFRQTJBZ0FnQWtFQ2RDQURhaUFGRUc0Z0FDd0FDMEVBU0FSQUlBQWdBallDQkFVZ0FDQUNPZ0FMQ3dzZ0JTUUdDN2tCQVFSL0l3WWhCU01HUVJCcUpBWWdBQ3dBQ3lJRFFRQklJZ1lFZnlBQUtBSUlRZi8vLy84SGNVRi9haUVFSUFBb0FnUUZRUW9oQkNBRFFmOEJjUXNoQXlBRUlBTnJJQUpKQkVBZ0FDQUVJQUlnQTJvZ0JHc2dBeUFEUVFBZ0FpQUJFSlFFQlNBQ0JFQWdBeUFHQkg4Z0FDZ0NBQVVnQUFzaUJHb2dBU0FDRUtnQklBSWdBMm9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFWQkFEb0FBQ0FCSUFScUlBVVFYd3NMSUFVa0JndTNBUUVFZnlNR0lRUWpCa0VRYWlRR0lBRUVRQ0FBTEFBTElnTkJBRWdFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQU5CL3dGeElRSkJDZ3NpQlNBQ2F5QUJTUVIvSUFBZ0JTQUJJQUpxSUFWcklBSWdBaERkQWlBQUxBQUxCU0FEQzBFQVNBUi9JQUFvQWdBRklBQUxJZ01nQW1vZ0FVRUFFSlVFSUFFZ0Ftb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVJCQURvQUFDQUJJQU5xSUFRUVh3c2dCQ1FHQzYwTUF5Si9BWDRDZkNNR0lRSWpCa0hnRTJva0JpQUNRZEFUYWlFYUlBSkJ5Qk5xSVE0Z0FrRzRFMm9oQ3lBQ1FiQVRhaUVQSUFKQnFCTnFJUkFnQWtHWUUyb2hEQ0FDUVpBVGFpRVJJQUpCaUJOcUlSY2dBa0dBRTJvaEVpQUNRZmdTYWlFWUlBSkI4QkpxSVJNZ0FrSG9FbW9oRkNBQ1FlQVNhaUVJSUFKQjJCSnFJUVVnQWtIUUVtb2hGU0FDUWNnU2FpRURJQUpCd0JKcUlRb2dBa0dBRW1vaEJ5QUNRWUFRYWlFR0lBSkIzQk5xSVJzZ0FrSFlFMm9oRFNBQ1FkUVRhaUVjSUFCQmliWUJFTEFCSWdrRVFBSkFJQVlnQ1JEcEFTQVZJQTAyQWdBZ0JrR3J0Z0VnRlJDREFVRUJSd1JBSUFVZ0FEWUNBRUVBUVFOQjRLNEJJQVVRUFNBSkVHcEJBQ0VBREFFTElBMG9BZ0FpQlVIQUFtd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NCQTlRUUVRQVFzZ0FVVWhIVUVBSVFvQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUZUZzBISUFZZ0NSRHBBU0FFUWNBQ2JDQURhaUVGSUJRZ0JFSEFBbXdnQTJvaUNFRzRBbW8yQWdBZ0ZDQWJOZ0lFSUFSQndBSnNJQU5xSUFaQnhhOEJJQlFRZ3dGQkFVWUVmeUFGSUFncEE3Z0NJaVNuUWYvL0FYRkJBQ0FrUW9DQS92OFBnMUFiTmdJQVFRSWhDRUVCQlNBZERRRWdBaUFBRUk0R1JRMERJQUlnQmtIL0R5QUNFR0JyRU93RUlBVWdBU0FDRUtvRElnVTJBZ0FnQlVFQVNBMEVRUUVoQ0VFQUN6WUNCQ0FHSUFrUTZRRWdGeUFFUWNBQ2JDQURhaUlXUVFocU5nSUFJQVpCN2JFQklCY1Fnd0ZCQVVjTkJDQUdJQWtRNlFFZ0RDQUVRY0FDYkNBRGFrRVFhaUlaTmdJQUlBd2dCRUhBQW13Z0Eyb2lIa0VZYWpZQ0JDQU1JQVJCd0FKc0lBTnFRU0JxTmdJSUlBd2dCRUhBQW13Z0Eyb2lIMEVvYWpZQ0RDQUdRZHF5QVNBTUVJTUJRUVJHQkg5QkFRVWdFQ0FWTmdJQUlCQWdIRFlDQkNBR1FlcXlBU0FRRUlNQlFRSkhEUVpCQUFzaEJTQUlJQXB5SVFvRFFDQUdJQWtRNlFFZ0N5QUVRY0FDYkNBRGFrRVFhaUFGUVFWMGFqWUNBQ0FMSUFSQndBSnNJQU5xSUFWQkJYUnFRUmhxTmdJRUlBc2dCRUhBQW13Z0Eyb2dCVUVGZEdwQklHbzJBZ2dnQ3lBRVFjQUNiQ0FEYWlBRlFRVjBha0VvYWpZQ0RDQUdRZHF5QVNBTEVJTUJRUVJIRFFjZ0JVRUJhaUlGUVFOSkRRQUxJQmtnQkVIQUFtd2dBMnBCOEFCcUVLa0dJQWNnRmlzRENDSWxSQUFBQUFBQUFPQy9vaUltT1FNQUlBY2dKVVFBQUFBQUFBRGdQNklpSlRrRENDQUhJQ1U1QXhBZ0J5QWxPUU1ZSUFjZ0pUa0RJQ0FISUNZNUF5Z2dCeUFtT1FNd0lBY2dKamtET0NBRVFjQUNiQ0FEYWlFSUlBUkJ3QUpzSUFOcUlSWWdCRUhBQW13Z0Eyb2hJQ0FFUWNBQ2JDQURhaUVoSUFSQndBSnNJQU5xSVNJZ0JFSEFBbXdnQTJvaEkwRUFJUVVEUUNBRlFRUkhCRUFnQkVIQUFtd2dBMnBCMEFGcUlBVkJHR3hxSUI4ckF5Z2dHU3NEQUNBRlFRUjBJQWRxS3dNQUlpYWlJQjRyQXhnZ0JVRUVkQ0FIYWlzRENDSWxvcUNnT1FNQUlBUkJ3QUpzSUFOcUlBVkJHR3hxSUNBckEwZ2dKaUFJS3dNd29pQWxJQllyQXppaW9LQTVBOWdCSUFSQndBSnNJQU5xSUFWQkdHeHFJQ01yQTJnZ0ppQWhLd05Rb2lBbElDSXJBMWlpb0tBNUErQUJJQVZCQVdvaEJRd0JDd3NnQkVFQmFpRUVJQTBvQWdBaEJRd0JDd3NnRXlBQU5nSUFJQk1nQmpZQ0JFRUFRUU5Ceks4QklCTVFQUXdHQ3lBWUlBQTJBZ0JCQUVFRFFjeXdBU0FZRUQwTUJRc2dFaUFBTmdJQUlCSWdBallDQkVFQVFRTkJvTEVCSUJJUVBRd0VDeUFSSUFBMkFnQWdFU0FFUVFGcU5nSUVRUUJCQTBIeHNRRWdFUkE5REFNTElBOGdBRFlDQUNBUElBUkJBV28yQWdSQkFFRURRZkN5QVNBUEVEME1BZ3NnRGlBQU5nSUFJQTRnQkVFQmFqWUNCRUVBUVFOQjhMSUJJQTRRUFF3QkN5QUpFR3BCaUFFUVJDSUFSUVJBUVFCQkEwRzUyQUlnR2hBOVFRRVFBUXNnQUNBRE5nSUFJQUFnRFNnQ0FEWUNCQ0FBUVFBMkFvQUJJQUJCQURZQ2FDQUtRUU54UVFOR0JFQWdBRUVDTmdKc0JTQUtRUUZ4QkVBZ0FFRUFOZ0pzQlNBQVFRRTJBbXdMQ3lBQVJBQUFBQUFBQU9BL09RTndJQUJFQUFBQUFBQUE0RDg1QTNnTUFRc2dDUkJxSUFNUU9FRUFJUUFMQlNBS0lBQTJBZ0JCQUVFRFFhdXVBU0FLRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRUUFoQUFzZ0FpUUdJQUFMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0ZJQWhCQURzQkFDQU1RUUE2QUFBTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHJnRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFsQVFGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9jQkdnc2dCVUVBT2dBQUlBSWdBMm9nQlJCZklBQXNBQXRCQUVnRVFDQUFJQUkyQWdRRklBQWdBam9BQ3dzTElBVWtCZ3RBQVFKL1FkaTFBaEJnSWdKQkRXb1FVU0lCSUFJMkFnQWdBU0FDTmdJRUlBRkJBRFlDQ0NBQlFReHFJZ0ZCMkxVQ0lBSkJBV29RVEJvZ0FDQUJOZ0lBQ3k0QUEwQWdBQ2dDQUVFQlJnMEFDeUFBS0FJQVJRUkFJQUJCQVRZQ0FDQUJRYndFRVFFQUlBQkJmellDQUFzTFZBRUJmeUFBS0FJSUJFQWdBQ0FBS0FJSUlnRkJmMm8yQWdnZ0FVVUVRQ0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxCU0FBS0FJQUtBSVFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeHNBSUFBZ0FTZ0NBQ0lBTmdJQUlBQWdBQ2dDQkVFQmFqWUNCQXRPQVFOL0lBSWdBV3RCQW5ZaEJ5QUJJUUFEUUNBQUlBSkhCRUFnQkNBQUtBSUFJZ1pCL3dGeElBTWdCa0dBQVVrYk9nQUFJQVJCQVdvaEJDQUFRUVJxSVFBTUFRc0xJQWRCQW5RZ0FXb0xFUUFnQVVIL0FYRWdBaUFCUVlBQlNSc0xLUUFEUUNBQklBSkhCRUFnQXlBQkxBQUFOZ0lBSUFOQkJHb2hBeUFCUVFGcUlRRU1BUXNMSUFJTENnQWdBVUVZZEVFWWRRdEJBQU5BSUFFZ0FrY0VRQ0FCSUFFb0FnQWlBRUdBQVVrRWYwRzBpQUVvQWdBZ0FTZ0NBRUVDZEdvb0FnQUZJQUFMTmdJQUlBRkJCR29oQVF3QkN3c2dBZ3NlQUNBQlFZQUJTUVIvUWJTSUFTZ0NBQ0FCUVFKMGFpZ0NBQVVnQVFzTG5Rd0NBbjhVZkNBQUt3TUlJZ29nQUNzREtDSUxvaUFBS3dNUUlna2dBQ3NESUNJUW9xRWhCQ0FKSUFBckF4Z2lEYUlnQUNzREFDSUlJQXVpb1NFSElBZ2dFS0lnQ2lBTm9xRWlBeUFEb2lBRUlBU2lJQWNnQjZLZ29KOGlCVVFBQUFBQUFBQUFBR0lFUUNBRElBV2pJUVlnQ0NBSElBV2pJaEdpSWdNZ0NpQUVJQVdqSWcraUloT2hJaEpFQUFBQUFBQUFBQUJpQkh3Z0R5RUVJQWdoQlNBS0lRNGdFU0VISUFrRklBa2dDaUFJSUFhaUlBa2dENktoUkFBQUFBQUFBQUFBWWlJQkd5RU9RUUZCQWlBQkd5RUNJQTRnRHlBR0lBRWJJZ1NpSWhJaEV5QUlJQWtnQVJzaUJTQUdJQkVnQVJzaUI2SWlBeUFTb1NFU0lCRWdEeUFCR3lFR0lBb2dDQ0FCR3dzaERDQUlJQTJpSUFvZ0VLS2dJQWtnQzZLZ0lnaWFJQWdnQ0VRQUFBQUFBQUFBQUdNYklnaEVBQUFBQUFBQThEK2duMFFBQUFBQUFBRHdQeUFJb1orZ1JBQUFBQUFBQU9BL29pRVVJQkpFQUFBQUFBQUFBQUJpQkVBZ0RpQUdvaUFNSUFlaW9TQVNveUlPSUE2aUlBVWdCcUlnRENBRW9xRWdFeUFEb1NJRG95SUlJQWlpb0VRQUFBQUFBQUR3UDZBaENpQU9JQlFnQjZJZ0VxTWlCYUlnQ0NBVUlBU2lJQU9qSWdtaW9DSVBJQStpSUFvZ0JTQUZvaUFKSUFtaW9FUUFBQUFBQUFEd3Y2Q2lvU0lEUkFBQUFBQUFBQUFBWTBVRVFDQUZJQTRnQTU4aURDQVBvU0FLb3lJUm9xQWhBeUFKSUFnZ0VhS2dJUklnQlNBT0lBK2FJQXloSUFxaklncWlvQ0VGSUFrZ0NDQUtvcUFoQ0NBTkFud0NRQUpBQWtBZ0FrRURjVUVCYXc0Q0FBRUNDeUFJSVE0Z0NpRUlJQVVoQ2lBU0lROGdFU0VTSUFNaEVTQUVJUU1nQnlFRUlBWU1BZ3NnQlNFT0lBTWhEeUFHSVFNZ0J3d0JDeUFLSVE0Z0JTRUtJQkVoRHlBRElSRWdCQ0VESUFZaEJDQUhDeUlGb2lJVklCQWdBNklpRnFFaUUwUUFBQUFBQUFBQUFHSUVmeUFESVFjZ0RTRUpJQkFoRENBRklRWkJBQVVnQ3lBUUlBMGdCS0lnQ3lBRG9xRkVBQUFBQUFBQUFBQmlJZ0ViSVF3Z0RTQUxJQUViSWdrZ0JDQUZJQUViSWdhaUlnc2hGU0FNSUFNZ0JDQUJHeUlIb2lJRUlSWWdDeUFFb1NFVElCQWdEU0FCR3lFTElBVWdBeUFCR3lFRVFRRkJBaUFCR3dzaEFpQVRSQUFBQUFBQUFBQUFZZ1JBSUF3Z0JLSWdDeUFHb3FFZ0U2TWlBeUFEb2lBSklBU2lJQXNnQjZLaElCWWdGYUVpQmFNaUJDQUVvcUJFQUFBQUFBQUE4RCtnSVEwZ0F5QVVJQWFpSUJPaklnYWlJQVFnRkNBSG9pQUZveUlIb3FBaUN5QUxvaUFOSUFZZ0JxSWdCeUFIb3FCRUFBQUFBQUFBOEwrZ29xRWlCVVFBQUFBQUFBQUFBR05GQkVBZ0JpQURJQVdmSWhBZ0M2RWdEYU1pQ2FLZ0lRd2dCeUFFSUFtaW9DRUZJQVlnQXlBTG1pQVFvU0FOb3lJRG9xQWhCaUFISUFRZ0E2S2dJUWNDUUFKQUFrQUNRQ0FDUVFOeFFRRnJEZ0lBQVFJTElBY2hCQ0FESVFjZ0JpRURJQVVoQmlBSklRVWdEQ0VKREFJTElBWWhCQ0FNSVFZTUFRc2dBeUVFSUFZaEF5QUpJUVlnRENFSkN5QUtJQW1pSUFnZ0JhS2dJQTRnQnFLZ0lneWFJQXdnREVRQUFBQUFBQUFBQUdNYklRd2dDaUFEb2lBSUlBZWlvQ0FPSUFTaW9DSU5taUFOSUExRUFBQUFBQUFBQUFCakd5RU5JQkVnQ2FJZ0VpQUZvcUFnRHlBR29xQWlDNW9nQ3lBTFJBQUFBQUFBQUFBQVl4c2lDeUFSSUFPaUlCSWdCNktnSUE4Z0JLS2dJaENhSUJBZ0VFUUFBQUFBQUFBQUFHTWJJaEJqQkVBZ0N5QU1Zd1JBSUFzZ0RXTUVRQ0FBSUJFNUF3QWdBQ0FTT1FNSUlBQWdEemtERUNBQUlBazVBeGdnQUNBRk9RTWdJQUFnQmprREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnQUNBRE9RTVlJQUFnQnprRElDQUFJQVE1QXlnTEJTQUFJQW81QXdBZ0FDQUlPUU1JSUFBZ0Rqa0RFQ0FNSUExakJFQWdBQ0FKT1FNWUlBQWdCVGtESUNBQUlBWTVBeWdGSUFBZ0F6a0RHQ0FBSUFjNUF5QWdBQ0FFT1FNb0N3c0ZJQkFnREdNRVFDQVFJQTFqQkVBZ0FDQVJPUU1BSUFBZ0Vqa0RDQ0FBSUE4NUF4QUZJQUFnQ2prREFDQUFJQWc1QXdnZ0FDQU9PUU1RQ3lBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBVWdBQ0FLT1FNQUlBQWdDRGtEQ0NBQUlBNDVBeEFnRENBTll3UkFJQUFnQ1RrREdDQUFJQVU1QXlBZ0FDQUdPUU1vQlNBQUlBTTVBeGdnQUNBSE9RTWdJQUFnQkRrREtBc0xDd3NMQ3dzTEMwRUFBMEFnQVNBQ1J3UkFJQUVnQVNnQ0FDSUFRWUFCU1FSL1FhU0tBU2dDQUNBQktBSUFRUUowYWlnQ0FBVWdBQXMyQWdBZ0FVRUVhaUVCREFFTEN5QUNDeDRBSUFGQmdBRkpCSDlCcElvQktBSUFJQUZCQW5ScUtBSUFCU0FCQ3d0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlR3MEFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhCRUFnQWtFRWFpRUNEQUlMQ3dzZ0FndEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJTUVJBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054RFFFTElBSkJCR29oQWd3QkN3c2dBZ3RHQUFOQUlBRWdBa2NFUUNBRElBRW9BZ0JCZ0FGSkJIOUJvSW9CS0FJQUlBRW9BZ0JCQVhScUx3RUFCVUVBQ3pzQkFDQURRUUpxSVFNZ0FVRUVhaUVCREFFTEN5QUNDeWtBSUFKQmdBRkpCSDhnQVVHZ2lnRW9BZ0FnQWtFQmRHb3VBUUJ4UWYvL0EzRkJBRWNGUVFBTEN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSE1vZ0ZCektJQkVMUUJFTXNCQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVIa29nRkI1S0lCRUxRQkVNc0JDd3dBSUFBZ0FVRVFhaERlQWdzSEFDQUFLQUlNQ3djQUlBQW9BZ2dMQ3dBZ0FCQ1pCQ0FBRURnTEhnQWdBRUlBTndJQUlBQkJBRFlDQ0NBQVFZMmpBMEdOb3dNUVlCQitDeDRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUdUb3dOQms2TURFR0FRZmdzTUFDQUFJQUZCREdvUTNnSUxCd0FnQUN3QUNRc0hBQ0FBTEFBSUN3c0FJQUFRbWdRZ0FCQTRDeW9CQVh4QmZ5QUFLd01BSUFFckF3Q2hJZ0pFQUFBQUFBQUFBQUJrSUFKRUFBQUFBQUFBQUFCakd3c3pBQU5BSUFFZ0FrY0VRQ0FFSUFFc0FBQWlBQ0FESUFCQmYwb2JPZ0FBSUFSQkFXb2hCQ0FCUVFGcUlRRU1BUXNMSUFJTEVnQWdBU0FDSUFGQkdIUkJHSFZCZjBvYkN5a0FBMEFnQVNBQ1J3UkFJQU1nQVN3QUFEb0FBQ0FEUVFGcUlRTWdBVUVCYWlFQkRBRUxDeUFDQ3dRQUlBRUxSQUFEUUNBQklBSkhCRUFnQVNBQkxBQUFJZ0JCZjBvRWYwRzBpQUVvQWdBZ0FTd0FBRUVDZEdvb0FnQkIvd0Z4QlNBQUN6b0FBQ0FCUVFGcUlRRU1BUXNMSUFJTExRQWdBVUVZZEVFWWRVRi9TZ1IvUWJTSUFTZ0NBQ0FCUVJoMFFSaDFRUUowYWlnQ0FFSC9BWEVGSUFFTEMwUUFBMEFnQVNBQ1J3UkFJQUVnQVN3QUFDSUFRWDlLQkg5QnBJb0JLQUlBSUFFc0FBQkJBblJxS0FJQVFmOEJjUVVnQUFzNkFBQWdBVUVCYWlFQkRBRUxDeUFDQ3lzQUlBRkJHSFJCR0hWQmYwb0VmMEdraWdFb0FnQWdBVUgvQVhGQkFuUnFLQUlBUWY4QmNRVWdBUXNMQ3dBZ0FCQ2JCQ0FBRURnTE53RUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFFZ0FFRVFha1lFUUNBQVFRQTZBSUFCQlNBQUtBSUlHaUFCRURnTEN3c0xBQ0FBRUp3RUlBQVFPQXVRQmdFQ2Z5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBTGdFQUlnWkIvLzhEY1NJRFFmLy93d0JMQkVCQkFpRUFEQUVMSUFaQi8vOERjVUdBQVVnRVFDQUVJQVVvQWdBaUFHdEJBVWdFUUVFQklRQU1BZ3NnQlNBQVFRRnFOZ0lBSUFBZ0Jqb0FBQVVDUUNBR1FmLy9BM0ZCZ0JCSUJFQWdCQ0FGS0FJQUlnQnJRUUpJQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJCblpCd0FGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEUvY1VHQUFYSTZBQUFNQVFzZ0JrSC8vd054UVlDd0EwZ0VRQ0FFSUFVb0FnQWlBR3RCQTBnRVFFRUJJUUFNQkFzZ0JTQUFRUUZxTmdJQUlBQWdBMEVNZGtIZ0FYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVFaMlFUOXhRWUFCY2pvQUFDQUZJQVVvQWdBaUFFRUJhallDQUNBQUlBTkJQM0ZCZ0FGeU9nQUFEQUVMSUFaQi8vOERjVUdBdUFOT0JFQWdCa0gvL3dOeFFZREFBMGdFUUVFQ0lRQU1CQXNnQkNBRktBSUFJZ0JyUVFOSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CREhaQjRBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFR2RrRS9jVUdBQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRVDl4UVlBQmNqb0FBQXdCQ3lBQklBQnJRUVJJQkVCQkFTRUFEQU1MSUFCQkFtb2hCaUFBTHdFQ0lnQkJnUGdEY1VHQXVBTkhCRUJCQWlFQURBTUxJQVFnQlNnQ0FHdEJCRWdFUUVFQklRQU1Bd3NnQUVIL0IzRWdBMEhBQjNFaUIwRUtkRUdBZ0FScUlBTkJDblJCZ1BnRGNYSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBSWdCallDQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFkQkJuWkJBV29pQmtFQ2RrSHdBWEk2QUFBZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBR1FRUjBRVEJ4SUFOQkFuWkJEM0Z5UVlBQmNqb0FBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQU5CQkhSQk1IRWdBRUVHZGtFUGNYSkJnQUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxDeUFDSUFJb0FnQkJBbW9pQURZQ0FBd0JDd3NnQUF1OEJnRUZmeUFDSUFBMkFnQWdCU0FETmdJQUEwQUNRQ0FDS0FJQUlnTWdBVThFUUVFQUlRQU1BUXNnQlNnQ0FDSUlJQVJQQkVCQkFTRUFEQUVMSUFNc0FBQWlCa0gvQVhFaUNVSC8vOE1BU3dSQVFRSWhBQXdCQ3lBQ0lBWkJmMG9FZnlBSUlBWkIvd0Z4T3dFQUlBTkJBV29GQW44Z0JrSC9BWEZCd2dGSUJFQkJBaUVBREFNTElBWkIvd0Z4UWVBQlNBUkFJQUVnQTJ0QkFrZ0VRRUVCSVFBTUJBc2dBeTBBQVNJQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzZ0NVRUdkRUhBRDNFZ0FFRS9jWElpQUVILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVDYWd3QkN5QUdRZjhCY1VId0FVZ0VRQ0FCSUFOclFRTklCRUJCQVNFQURBUUxJQU1zQUFFaEJ5QURMUUFDSVFBQ1FBSkFBa0FnQmtGZ2F5SUdCRUFnQmtFTlJnUkFEQUlGREFNTEFBc2dCMEhnQVhGQm9BRkhCRUJCQWlFQURBY0xEQUlMSUFkQjRBRnhRWUFCUndSQVFRSWhBQXdHQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJRc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0VDeUFBUVQ5eElBbEJESFFnQjBFL2NVRUdkSEp5SWdCQi8vOERjVUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRURhZ3dCQ3lBR1FmOEJjVUgxQVU0RVFFRUNJUUFNQXdzZ0FTQURhMEVFU0FSQVFRRWhBQXdEQ3lBRExBQUJJUWNnQXkwQUFpRUFJQU10QUFNaEF3SkFBa0FDUUFKQUlBWkJjR3NPQlFBQ0FnSUJBZ3NnQjBId0FHcEJHSFJCR0hWQi93RnhRVEJPQkVCQkFpRUFEQVlMREFJTElBZEI4QUZ4UVlBQlJ3UkFRUUloQUF3RkN3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdEQ3lBRFFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0JDQUlhMEVFU0FSQVFRRWhBQXdEQ3lBRFFUOXhJZ1lnQUVFR2RDSUtRY0FmY1NBSFFmOEJjU0lEUVF4MFFZRGdEM0VnQ1VFSGNTSUhRUkowY25KeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFnZ0EwRUVka0VEY1NBSFFRSjBja0VHZEVIQS93QnFJQU5CQW5SQlBIRWdBRUVFZGtFRGNYSnlRWUN3QTNJN0FRQWdCU0FJUVFKcU5nSUFJQWdnQmlBS1FjQUhjWEpCZ0xnRGNqc0JBaUFDS0FJQVFRUnFDd3MyQWdBZ0JTQUZLQUlBUVFKcU5nSUFEQUVMQ3lBQUM1TUVBUWQvSUFFaEJ5QUFJUUVEUUFKQUlBRWdCMGtnQmlBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NJSVFmLy93d0JMRFFBZ0EwRi9TZ1IvSUFGQkFXb0ZBbjhnQTBIL0FYRkJ3Z0ZJRFFJZ0EwSC9BWEZCNEFGSUJFQWdCeUFCYTBFQ1NBMERJQUV0QUFFaUJFSEFBWEZCZ0FGSElBaEJCblJCd0E5eElBUkJQM0Z5UWYvL3d3QkxjZzBESUFGQkFtb01BUXNnQTBIL0FYRkI4QUZJQkVBZ0J5QUJhMEVEU0EwRElBRXNBQUVoQkNBQkxRQUNJUVVDUUFKQUFrQWdBMEZnYXlJREJFQWdBMEVOUmdSQURBSUZEQU1MQUFzZ0JFSGdBWEZCb0FGSERRWU1BZ3NnQkVIZ0FYRkJnQUZIRFFVTUFRc2dCRUhBQVhGQmdBRkhEUVFMSUFWQndBRnhRWUFCUnlBRlFUOXhJQWhCREhSQmdPQURjU0FFUVQ5eFFRWjBjbkpCLy8vREFFdHlEUU1nQVVFRGFnd0JDeUFISUFGclFRUklJQUlnQm10QkFrbHlJQU5CL3dGeFFmVUJUbklOQWlBQkxBQUJJUVVnQVMwQUFpRUVJQUV0QUFNaENRSkFBa0FDUUFKQUlBTkJjR3NPQlFBQ0FnSUJBZ3NnQlVId0FHcEJHSFJCR0hWQi93RnhRVEJPRFFVTUFnc2dCVUh3QVhGQmdBRkhEUVFNQVFzZ0JVSEFBWEZCZ0FGSERRTUxJQWxCd0FGeFFZQUJSeUFKUVQ5eElBUkJCblJCd0I5eElBaEJFblJCZ0lEd0FIRWdCVUUvY1VFTWRISnlja0gvLzhNQVMzSWdCRUhBQVhGQmdBRkhjZzBDSUFaQkFXb2hCaUFCUVFScUN3c2hBU0FHUVFGcUlRWU1BUXNMSUFFZ0FHc0xDd0FnQWlBRElBUVFrd29MVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDU0NpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNSQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTEN3QWdBQkNlQkNBQUVEZ0xLZ0VCZnlBQUtBSUlJZ0FFUUNBQUVHSWhBUkNiQXlFQUlBRUVRQ0FCRUdJYUN3VkJBU0VBQ3lBQUMzTUJCSDhnQXlFRkEwQUNRQ0FDSUFWR0lBWWdCRTl5RFFBZ0FDZ0NDQkJpSVFkQkFDQUNJQVVnQW1zZ0FVSEl4UU1nQVJzUTF3RWhBeUFIQkVBZ0J4QmlHZ3NDUUFKQUlBTkJmbXNPQXdJQ0FBRUxRUUVoQXdzZ0JrRUJhaUVHSUFNZ0NHb2hDQ0FDSUFOcUlRSU1BUXNMSUFnTFVBRUVmeUFBS0FJSUVHSWhBUUovSXdZaEF5TUdRUkJxSkFZZ0F3c2tCaUFCQkVBZ0FSQmlHZ3NnQUNnQ0NDSUFCSDhnQUJCaUlRQVFtd01oQkNBQUJFQWdBQkJpR2dzZ0JFRUJSZ1ZCQVFzTG1BRUJBbjhqQmlFRkl3WkJFR29rQmlBRUlBSTJBZ0FnQUNnQ0NCQmlJUUlnQlNJQVFRQVFuZ0VoQVNBQ0JFQWdBaEJpR2dzZ0FVRUJha0VDU1FSL1FRSUZJQUZCZjJvaUFTQURJQVFvQWdCclN3Ui9RUUVGQTM4Z0FRUi9JQUFzQUFBaEFpQUVJQVFvQWdBaUEwRUJhallDQUNBRElBSTZBQUFnQUVFQmFpRUFJQUZCZjJvaEFRd0JCVUVBQ3dzTEN5RUdJQVVrQmlBR0Mva0RBUVovSXdZaERDTUdRUkJxSkFZZ0RDRUpJQUloQ0FOQUFrQWdBeUFJUmdSQUlBTWhDQXdCQ3lBSUxBQUFCRUFnQ0VFQmFpRUlEQUlMQ3dzZ0J5QUZOZ0lBSUFRZ0FqWUNBQ0FHSVFvZ0NDRUdBa0FDUUFKQUEwQUNRQ0FDSUFOR0lBVWdDa1p5RFFNZ0NTQUJLUUlBTndNQUlBQW9BZ2dRWWlFSUlBVWdCQ0FHSUFKcklBb2dCV3RCQW5VZ0FSRHdCQ0VMSUFnRVFDQUlFR0lhQ3lBTFFYOUdEUUFnQnlBSEtBSUFJQXRCQW5ScUlnVTJBZ0FnQlNBS1JnMENJQVFvQWdBaEFpQURJQVpHQkVBZ0F5RUdCU0FBS0FJSUVHSWhCZ0ovSUFVZ0FrRUJJQUVRMXdFaERTQUdCRUFnQmhCaUdnc2dEUXNFUUVFQ0lRQU1CZ3NnQnlBSEtBSUFRUVJxTmdJQUlBUWdCQ2dDQUVFQmFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdMQUFBQkVBZ0JrRUJhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NDUUFKQUEwQUNRQ0FISUFVMkFnQWdBaUFFS0FJQVJnMERJQUFvQWdnUVlpRUlJQVVnQWlBR0lBSnJJQWtRMXdFaEFTQUlCRUFnQ0JCaUdnc0NRQUpBSUFGQmZtc09Bd1FDQUFFTFFRRWhBUXNnQVNBQ2FpRUNJQWNvQWdCQkJHb2hCUXdCQ3dzZ0JDQUNOZ0lBUVFJaEFBd0VDeUFFSUFJMkFnQkJBU0VBREFNTElBUWdBallDQUNBQ0lBTkhJUUFNQWdzZ0JDZ0NBQ0VDQ3lBQ0lBTkhJUUFMSUFra0JpQUFDNWdFQVFaL0l3WWhEU01HUVJCcUpBWWdEU0lLUVFocUlRc2dBaUVJQTBBQ1FDQURJQWhHQkVBZ0F5RUlEQUVMSUFnb0FnQUVRQ0FJUVFScUlRZ01BZ3NMQ3lBSElBVTJBZ0FnQkNBQ05nSUFJQVloQ1NBSUlRWUNRQUpBQWtBRFFBSkFJQUlnQTBZZ0JTQUpSbklOQXlBS0lBRXBBZ0EzQXdBZ0FDZ0NDQkJpSVFnZ0JTQUVJQVlnQW10QkFuVWdDU0FGYXhEb0JDRU1JQWdFUUNBSUVHSWFDd0pBQWtBZ0RFRi9hdzRDQWdBQkMwRUJJUUFNQlFzZ0J5QU1JQWNvQWdCcUlnVTJBZ0FnQlNBSlJnMENJQU1nQmtZRVFDQURJUVlnQkNnQ0FDRUNCU0FBS0FJSUVHSWhCU0FMUVFBUW5nRWhBaUFGQkVBZ0JSQmlHZ3NnQWtGL1JnUkFRUUloQUF3R0N5QUNJQWtnQnlnQ0FHdExCRUJCQVNFQURBWUxJQXNoQlFOQUlBSUVRQ0FGTEFBQUlRWWdCeUFIS0FJQUlnaEJBV28yQWdBZ0NDQUdPZ0FBSUFWQkFXb2hCU0FDUVg5cUlRSU1BUXNMSUFRZ0JDZ0NBRUVFYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0tBSUFCRUFnQmtFRWFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c2dCeUFGTmdJQUEwQUNRQ0FDSUFRb0FnQkdEUUFnQWlnQ0FDRURJQUFvQWdnUVlpRUJJQVVnQXhDZUFTRURJQUVFUUNBQkVHSWFDeUFEUVg5R0RRQWdCeUFESUFjb0FnQnFJZ1UyQWdBZ0FrRUVhaUVDREFFTEN5QUVJQUkyQWdCQkFpRUFEQUlMSUFRb0FnQWhBZ3NnQWlBRFJ5RUFDeUFLSkFZZ0FBc1JBQ0FESUFKcklnQWdCQ0FBSUFSSkd3dVBBd0VCZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFLQUlBSWdCQmdIQnhRWUN3QTBZZ0FFSC8vOE1BUzNJRVFFRUNJUUFNQVFzZ0FFR0FBVWtFUUNBRUlBVW9BZ0FpQTJ0QkFVZ0VRRUVCSVFBTUFnc2dCU0FEUVFGcU5nSUFJQU1nQURvQUFBVUNRQ0FBUVlBUVNRUkFJQVFnQlNnQ0FDSURhMEVDU0FSQVFRRWhBQXdFQ3lBRklBTkJBV28yQWdBZ0F5QUFRUVoyUWNBQmNqb0FBQXdCQ3lBRUlBVW9BZ0FpQTJzaEJpQUFRWUNBQkVrRVFDQUdRUU5JQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJESFpCNEFGeU9nQUFCU0FHUVFSSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCRW5aQjhBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFTWRrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVHZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRS9jVUdBQVhJNkFBQUxJQUlnQWlnQ0FFRUVhaUlBTmdJQURBRUxDeUFBQzdrRkFRVi9JQUlnQURZQ0FDQUZJQU0yQWdBRFFBSkFJQUlvQWdBaUJpQUJUd1JBUVFBaEFBd0JDeUFGS0FJQUlnb2dCRThFUUVFQklRQU1BUXNnQml3QUFDSUhRZjhCY1NFRElBZEJmMG9FZnlBRFFmLy93d0JMQkg5QkFpRUFEQUlGUVFFTEJRSi9JQWRCL3dGeFFjSUJTQVJBUVFJaEFBd0RDeUFIUWY4QmNVSGdBVWdFUUNBQklBWnJRUUpJQkVCQkFTRUFEQVFMSUFZdEFBRWlBRUhBQVhGQmdBRkhCRUJCQWlFQURBUUxRUUlnQTBFR2RFSEFEM0VnQUVFL2NYSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjhBRklCRUFnQVNBR2EwRURTQVJBUVFFaEFBd0VDeUFHTEFBQklRZ2dCaTBBQWlFQUFrQUNRQUpBSUFkQllHc2lCd1JBSUFkQkRVWUVRQXdDQlF3REN3QUxJQWhCNEFGeFFhQUJSd1JBUVFJaEFBd0hDd3dDQ3lBSVFlQUJjVUdBQVVjRVFFRUNJUUFNQmdzTUFRc2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBVUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXRCQXlBQVFUOXhJQU5CREhSQmdPQURjU0FJUVQ5eFFRWjBjbklpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI5UUZPQkVCQkFpRUFEQU1MSUFFZ0JtdEJCRWdFUUVFQklRQU1Bd3NnQml3QUFTRUpJQVl0QUFJaEFDQUdMUUFESVFnQ1FBSkFBa0FDUUNBSFFYQnJEZ1VBQWdJQ0FRSUxJQWxCOEFCcVFSaDBRUmgxUWY4QmNVRXdUZ1JBUVFJaEFBd0dDd3dDQ3lBSlFmQUJjVUdBQVVjRVFFRUNJUUFNQlFzTUFRc2dDVUhBQVhGQmdBRkhCRUJCQWlFQURBUUxDeUFBUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQU1MSUFoQlAzRWdBRUVHZEVIQUgzRWdBMEVTZEVHQWdQQUFjU0FKUVQ5eFFReDBjbkp5SWdOQi8vL0RBRXNFZjBFQ0lRQU1Bd1ZCQkFzTEN5RUFJQW9nQXpZQ0FDQUNJQUFnQm1vMkFnQWdCU0FGS0FJQVFRUnFOZ0lBREFFTEN5QUFDNFVFQVFkL0lBRWhCaUFBSVFFRFFBSkFJQUVnQmtrZ0NDQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTRUhJQU5CZjBvRWZ5QUhRZi8vd3dCTERRRWdBVUVCYWdVQ2Z5QURRZjhCY1VIQ0FVZ05BaUFEUWY4QmNVSGdBVWdFUUNBR0lBRnJRUUpJRFFNZ0FTMEFBU0lFUWNBQmNVR0FBVWNnQjBFR2RFSEFEM0VnQkVFL2NYSkIvLy9EQUV0eURRTWdBVUVDYWd3QkN5QURRZjhCY1VId0FVZ0VRQ0FHSUFGclFRTklEUU1nQVN3QUFTRUVJQUV0QUFJaEJRSkFBa0FDUUNBRFFXQnJJZ01FUUNBRFFRMUdCRUFNQWdVTUF3c0FDeUFFUWVBQmNVR2dBVWNOQmd3Q0N5QUVRZUFCY1VHQUFVY05CUXdCQ3lBRVFjQUJjVUdBQVVjTkJBc2dCVUhBQVhGQmdBRkhJQVZCUDNFZ0IwRU1kRUdBNEFOeElBUkJQM0ZCQm5SeWNrSC8vOE1BUzNJTkF5QUJRUU5xREFFTElBWWdBV3RCQkVnZ0EwSC9BWEZCOVFGT2NnMENJQUVzQUFFaEJTQUJMUUFDSVFRZ0FTMEFBeUVKQWtBQ1FBSkFBa0FnQTBGd2F3NEZBQUlDQWdFQ0N5QUZRZkFBYWtFWWRFRVlkVUgvQVhGQk1FNE5CUXdDQ3lBRlFmQUJjVUdBQVVjTkJBd0JDeUFGUWNBQmNVR0FBVWNOQXdzZ0NVSEFBWEZCZ0FGSElBbEJQM0VnQkVFR2RFSEFIM0VnQjBFU2RFR0FnUEFBY1NBRlFUOXhRUXgwY25KeVFmLy93d0JMY2lBRVFjQUJjVUdBQVVkeURRSWdBVUVFYWdzTElRRWdDRUVCYWlFSURBRUxDeUFCSUFCckN3c0FJQUlnQXlBRUVLRUtDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRb0FvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUMwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFud29oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzhNRUFRaC9Jd1loQkNNR1FiQUJhaVFHSUFSQnFBRnFJUXdnQkNFQklBUkJwQUZxSVFvZ0JFR2dBV29oQnlBRVFaZ0JhaUVDSUFSQmtBRnFJUXNnQkVHQUFXb2lDRUlBTndJQUlBaEJBRFlDQ0FOQUlBWkJBMGNFUUNBR1FRSjBJQWhxUVFBMkFnQWdCa0VCYWlFR0RBRUxDeUFDUVFBMkFnUWdBa0dzb0FFMkFnQWdCU2dDQUNBRklBVXNBQXNpQTBFQVNDSUpHeUlHSUFVb0FnUWdBMEgvQVhFZ0NSdEJBblJxSVFNZ0FVRWdhaUVKUVFBaEJRSkFBa0FEUUNBRlFRSkhJQVlnQTBseEJFQWdCeUFHTmdJQUlBSWdEQ0FHSUFNZ0J5QUJJQWtnQ2lBQ0tBSUFLQUlNUVE5eFFZNERhaEVPQUNJRlFRSkdJQVlnQnlnQ0FFWnlEUUlnQVNFR0EwQWdCaUFLS0FJQVNRUkFJQWdnQml3QUFCRE1BU0FHUVFGcUlRWU1BUXNMSUFjb0FnQWhCZ3dCQ3dzTUFRc1FBQXNDZnlBSUtBSUFJQWdnQ0N3QUMwRUFTQnNpQXlFTklBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQUdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUF0QkFEWUNCQ0FMUWR5Z0FUWUNBQ0FOQ3hCZ0lBTnFJZ1VoQmlBQlFZQUJhaUVKUVFBaEFnSkFBa0FEUUNBQ1FRSkhJQU1nQlVseFJRMEJJQWNnQXpZQ0FDQUxJQXdnQXlBRFFTQnFJQVVnQmlBRGEwRWdTaHNnQnlBQklBa2dDaUFMS0FJQUtBSVFRUTl4UVk0RGFoRU9BQ0lDUVFKR0lBTWdCeWdDQUVaeVJRUkFJQUVoQXdOQUlBTWdDaWdDQUVrRVFDQUFJQU1vQWdBUWpnSWdBMEVFYWlFRERBRUxDeUFIS0FJQUlRTU1BUXNMRUFBTUFRc2dDQkJISUFRa0Jnc0xnQUlCQW44akJpRUJJd1pCRUdva0JpQUJRZ0EzQWdBZ0FVRUFOZ0lJQTBBZ0JrRURSd1JBSUFaQkFuUWdBV3BCQURZQ0FDQUdRUUZxSVFZTUFRc0xJQVVvQWdBZ0JTQUZMQUFMSWdOQkFFZ2lCQnNpQWlBRktBSUVJQU5CL3dGeElBUWJhaUVESUFJaEJRTkFJQVVnQTBrRVFDQUJJQVVzQUFBUXpBRWdCVUVCYWlFRkRBRUxDd0ovSUFFb0FnQWdBU0FCTEFBTFFRQklHeUlDSVFjZ0FFSUFOd0lBSUFCQkFEWUNDRUVBSVFNRFFDQURRUU5IQkVBZ0EwRUNkQ0FBYWtFQU5nSUFJQU5CQVdvaEF3d0JDd3NnQndzUVlDQUNhaUVEQTBBZ0FpQURTUVJBSUFBZ0Fpd0FBQkRNQVNBQ1FRRnFJUUlNQVFzTElBRVFSeUFCSkFZTHdnVUJFbjhqQmlFR0l3WkI0QU5xSkFZZ0JrSE1BMm9pQ3lBREVEc2dDMEdnemdNUU9pRU1JQVVzQUFzaUIwRUFTQ0VBSUFVb0FnUWdCMEgvQVhFZ0FCc0VmeUFGS0FJQUlBVWdBQnNvQWdBZ0RFRXRJQXdvQWdBb0FpeEJQM0ZCaWdGcUVRSUFSZ1ZCQUFzaERpQUdRZFFEYWlFUElBWkJ5QU5xSVJBZ0JrSEVBMm9oRVNBR1Fhd0RhaUVISUFaQm9BTnFJUWdnQmtHY0Eyb2hDU0FHUWJnRGFpSUtRZ0EzQWdBZ0NrRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFwcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSFFnQTNBZ0FnQjBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFJUWdBM0FnQWdDRUVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBaHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUNJQTRnQ3lBUElCQWdFU0FLSUFjZ0NDQUpFS01FSUFVc0FBc2lBRUVBU0NFU0lBVW9BZ1FnQUVIL0FYRWdFaHNpRXlBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVCYWlBVElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSUWdDVUVDYWdzaEZpQUdJUUFnQWlBVUlCWnFhaUlDUWVRQVN3UkFJQUpCQW5RUVJDSUFJUUlnQUFSQUlBQWhEU0FDSVJVRkVBQUxCU0FBSVEwTElBMGdCa0dZQTJvZ0JrR1VBMm9nQXlnQ0JDQUZLQUlBSUFVZ0Voc2lBQ0FUUVFKMElBQnFJQXdnRGlBUElCQW9BZ0FnRVNnQ0FDQUtJQWNnQ0NBSkVLSUVJQVlnQVNnQ0FEWUNrQU1nQmlnQ21BTWhBQ0FHS0FLVUF5RUJJQVpCMEFOcUlnSWdCaWdDa0FNMkFnQWdBaUFOSUFBZ0FTQURJQVFRcFFFaEZ5QVZCRUFnRlJBNEN5QUlFRWNnQnhCSElBb1FSeUFMRUR3Z0JpUUdJQmNMdUFZQkZYOGpCaUVHSXdaQjRBZHFKQVlnQmtHSUIyb2hDQ0FHUVpBRGFpRUFJQVpCMkFkcUlna2dCa0dnQm1vaUJ6WUNBQ0FHUVpBSGFpSU5JQVU1QXdBZ0IwSGtBRUhTbmdNZ0RSQ2pBaUlIUWVNQVN3UkFFRndoQUNBSUlBVTVBd0FnQ1NBQVFkS2VBeUFJRUpzQklRQWdDU2dDQUNJSVJRUkFFQUFMSUFCQkFuUVFSQ0lISVFvZ0J3UkFJQWNoRENBQUlRc2dDaUVRSUFnaEVRVVFBQXNGSUFBaERDQUhJUXNMSUFaQjFBZHFJZzRnQXhBN0lBNUJvTTRERURvaUVpZ0NBQ2dDTUNFQUlCSWdDU2dDQUNJSElBY2dDMm9nRENBQVFROXhRWW9DYWhFSkFCb2dDd1IvSUFrb0FnQXNBQUJCTFVZRlFRQUxJUk1nQmtIY0Iyb2hGQ0FHUWRBSGFpRVZJQVpCekFkcUlSWWdCa0cwQjJvaEJ5QUdRYWdIYWlFSUlBWkJwQWRxSVFrZ0JrSEFCMm9pQ2tJQU53SUFJQXBCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dCMElBTndJQUlBZEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSGFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NFSUFOd0lBSUFoQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FJYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQWlBVElBNGdGQ0FWSUJZZ0NpQUhJQWdnQ1JDakJDQUxJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRRnFJQXNnQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRnlBSlFRSnFDeUVaSUFZaEFDQUNJQmNnR1dwcUlnSkI1QUJMQkVBZ0FrRUNkQkJFSWdBaEFpQUFCRUFnQUNFUElBSWhHQVVRQUFzRklBQWhEd3NnRHlBR1FhQUhhaUFHUVp3SGFpQURLQUlFSUF3Z0MwRUNkQ0FNYWlBU0lCTWdGQ0FWS0FJQUlCWW9BZ0FnQ2lBSElBZ2dDUkNpQkNBR0lBRW9BZ0EyQXBnSElBWW9BcUFISVFBZ0JpZ0NuQWNoQVNBTklBWW9BcGdITmdJQUlBMGdEeUFBSUFFZ0F5QUVFS1VCSVJvZ0dBUkFJQmdRT0FzZ0NCQkhJQWNRUnlBS0VFY2dEaEE4SUJBRVFDQVFFRGdMSUJFRVFDQVJFRGdMSUFZa0JpQWFDN3dGQVJKL0l3WWhCaU1HUWJBQmFpUUdJQVpCbUFGcUlnc2dBeEE3SUF0QmdNNERFRG9oRENBRkxBQUxJZ2RCQUVnaEFDQUZLQUlFSUFkQi93RnhJQUFiQkg4Z0JTZ0NBQ0FGSUFBYkxRQUFJQXhCTFNBTUtBSUFLQUljUVQ5eFFZb0JhaEVDQUVIL0FYRkdCVUVBQ3lFT0lBWkJwQUZxSVE4Z0JrR2hBV29oRUNBR1FhQUJhaUVSSUFaQmdBRnFJUWNnQmtIMEFHb2hDQ0FHUWZBQWFpRUpJQVpCakFGcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdEaUFMSUE4Z0VDQVJJQW9nQnlBSUlBa1FwUVFnQlN3QUN5SUFRUUJJSVJJZ0JTZ0NCQ0FBUWY4QmNTQVNHeUlUSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUZxSUJNZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZDQUpRUUpxQ3lFV0lBWWhBQ0FDSUJRZ0ZtcHFJZ0pCNUFCTEJFQWdBaEJFSWdBaEFpQUFCRUFnQUNFTklBSWhGUVVRQUFzRklBQWhEUXNnRFNBR1Fld0FhaUFHUWVnQWFpQURLQUlFSUFVb0FnQWdCU0FTR3lJQUlBQWdFMm9nRENBT0lBOGdFQ3dBQUNBUkxBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0prSUFZb0Ftd2hBQ0FHS0FKb0lRRWdCa0djQVdvaUFpQUdLQUprTmdJQUlBSWdEU0FBSUFFZ0F5QUVFSmNCSVJjZ0ZRUkFJQlVRT0FzZ0NCQkhJQWNRUnlBS0VFY2dDeEE4SUFZa0JpQVhDNjhHQVJWL0l3WWhCaU1HUWFBRGFpUUdJQVpCeUFKcUlRZ2dCa0h3QUdvaEFDQUdRWkFEYWlJSklBWkI0QUZxSWdjMkFnQWdCa0hRQW1vaURTQUZPUU1BSUFkQjVBQkIwcDRESUEwUW93SWlCMEhqQUVzRVFCQmNJUUFnQ0NBRk9RTUFJQWtnQUVIU25nTWdDQkNiQVNFQUlBa29BZ0FpQ0VVRVFCQUFDeUFBRUVRaUJ5RUtJQWNFUUNBSElRd2dBQ0VMSUFvaEVDQUlJUkVGRUFBTEJTQUFJUXdnQnlFTEN5QUdRWXdEYWlJT0lBTVFPeUFPUVlET0F4QTZJaElvQWdBb0FpQWhBQ0FTSUFrb0FnQWlCeUFISUF0cUlBd2dBRUVQY1VHS0Ftb1JDUUFhSUFzRWZ5QUpLQUlBTEFBQVFTMUdCVUVBQ3lFVElBWkJtQU5xSVJRZ0JrR1ZBMm9oRlNBR1FaUURhaUVXSUFaQjlBSnFJUWNnQmtIb0Ftb2hDQ0FHUWVRQ2FpRUpJQVpCZ0FOcUlncENBRGNDQUNBS1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFkQ0FEY0NBQ0FIUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCMnBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhDQURjQ0FDQUlRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NHcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBSWdFeUFPSUJRZ0ZTQVdJQW9nQnlBSUlBa1FwUVFnQ3lBSktBSUFJZ2xLQkg4Z0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVCYWlBTElBbHJRUUYwYWdVZ0J5Z0NCQ0FITEFBTElnQkIvd0Z4SUFCQkFFZ2JJUUlnQ0NnQ0JDQUlMQUFMSWdCQi93RnhJQUJCQUVnYklSY2dDVUVDYWdzaEdTQUdJUUFnQWlBWElCbHFhaUlDUWVRQVN3UkFJQUlRUkNJQUlRSWdBQVJBSUFBaER5QUNJUmdGRUFBTEJTQUFJUThMSUE4Z0JrSGdBbW9nQmtIY0Ftb2dBeWdDQkNBTUlBc2dER29nRWlBVElCUWdGU3dBQUNBV0xBQUFJQW9nQnlBSUlBa1FwQVFnQmlBQktBSUFOZ0xZQWlBR0tBTGdBaUVBSUFZb0F0d0NJUUVnRFNBR0tBTFlBallDQUNBTklBOGdBQ0FCSUFNZ0JCQ1hBU0VhSUJnRVFDQVlFRGdMSUFnUVJ5QUhFRWNnQ2hCSElBNFFQQ0FRQkVBZ0VCQTRDeUFSQkVBZ0VSQTRDeUFHSkFZZ0dndmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWZqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCOE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBMkFnQWdEQXNnQ3hCdUlBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURZQ0FDQUlJQXNRYmlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRFlDQUNBTkN5QUxFRzRnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFjZ0N4QnVJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRFlDQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEWUNBQ0FQQ3lBTEVHNGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU5nSUFJQVlnQ3hCdUlBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJRSUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkFTRUVJQVpCL3dGeEN5RUZJQUlnQVdzaUNFRUNkU0VKSUFnRVFBSkFJQWNFZnlBQUtBSUVJUVlnQUNnQ0FBVWdCa0gvQVhFaEJpQUFDeUlISVFnZ0FTQUdRUUowSUFkcVNTQUlJQUZOY1FSQUlBTkNBRGNDQUNBRFFRQTJBZ2dnQXlBQklBSVF4d1FnQUNBREtBSUFJQU1nQXl3QUN5SUFRUUJJSWdFYklBTW9BZ1FnQUVIL0FYRWdBUnNRNFFrZ0F4QkhEQUVMSUFRZ0JXc2dDVWtFUUNBQUlBUWdCU0FKYWlBRWF5QUZJQVVRa1FRTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5QUZRUUowYWlFRUEwQWdBU0FDUndSQUlBUWdBUkJ1SUFSQkJHb2hCQ0FCUVFScUlRRU1BUXNMSUFOQkFEWUNBQ0FFSUFNUWJpQUZJQWxxSVFFZ0FDd0FDMEVBU0FSQUlBQWdBVFlDQkFVZ0FDQUJPZ0FMQ3dzTElBTWtCZ3V3QkFFSWZ5TUdJUUFqQmtHd0Eyb2tCaUFBUWFBRGFpSUlJQUEyQWdBZ0NFR1JBVFlDQkNBQVFaQURhaUlMSUFRUU95QUxRYURPQXhBNklRY2dBRUdzQTJvaUNrRUFPZ0FBSUFBZ0FpZ0NBQ0lKTmdLVUF5QUVLQUlFSVF3Z0FFR29BMm9pQkNBQUtBS1VBellDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFaZ0RhaUFBUVpBRGFoQ21CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTJBZ0FnRFFzZ0JCQnVJQVpCQURZQ0JBVWdCRUVBTmdJQUlBWWdCQkJ1SUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUVJNENDeUFIUVRBZ0J5Z0NBQ2dDTEVFL2NVR0tBV29SQWdBaEJDQUFLQUtZQXlJSFFYeHFJUW9nQ0NnQ0FDRURBMEFDUUNBRElBcFBEUUFnQXlnQ0FDQUVSdzBBSUFOQkJHb2hBd3dCQ3dzZ0JpQURJQWNRckFvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQ1VVTkFDQUpLQUlNSWdRZ0NTZ0NFRVlFZnlBSklBa29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQTBVTkFnc01BZ3NnQXcwQURBRUxJQVVnQlNnQ0FFRUNjallDQUFzZ0FTZ0NBQ0VPSUFzUVBDQUlLQUlBSVFFZ0NFRUFOZ0lBSUFFRVFDQUJJQWdvQWdSQi93RnhRYXdEYWhFQkFBc2dBQ1FHSUE0TG9BVUJDMzhqQmlFSEl3WkIwQVJxSkFZZ0IwR29CR29oRGlBSElROGdCMEc0QkdvaUNTQUhRZkFBYWlJS05nSUFJQWxCa1FFMkFnUWdCMEd3QkdvaURTQUVFRHNnRFVHZ3pnTVFPaUVBSUFkQndBUnFJZ3hCQURvQUFDQUhJQUlvQWdBMkFxd0VJQVFvQWdRaEN5QUhRWUFFYWlJRUlBY29BcXdFTmdJQUlBRWdCQ0FESUEwZ0N5QUZJQXdnQUNBSklBZEJ0QVJxSUFwQmtBTnFFS1lFQkVBZ0FFSG9uUU5COHAwRElBUWdBQ2dDQUNnQ01FRVBjVUdLQW1vUkNRQWFJQWNvQXJRRUlnc2dDU2dDQUNJS2F5SUFRWWdEU2dSQUlBQkJBblpCQW1vUVJDSUFJUU1nQUFSQUlBQWhDQ0FESVJBRkVBQUxCU0FQSVFnTElBd3NBQUFFUUNBSVFTMDZBQUFnQ0VFQmFpRUlDeUFFUVNocUlRTWdCQ0VNQTBBZ0NpQUxTUVJBSUFvb0FnQWhDeUFFSVFBRFFBSkFJQUFnQTBZRVFDQURJUUFNQVFzZ0FDZ0NBQ0FMUndSQUlBQkJCR29oQUF3Q0N3c0xJQWdnQUNBTWEwRUNkVUhvblFOcUxBQUFPZ0FBSUFwQkJHb2hDaUFJUVFGcUlRZ2dCeWdDdEFRaEN3d0JDd3NnQ0VFQU9nQUFJQTRnQmpZQ0FDQVBRWVdkQXlBT0VJTUJRUUZIQkVBUUFBc2dFQVJBSUJBUU9Bc0xJQUVvQWdBaUFBUi9JQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0FpZ0NBQ0lBUlEwQUlBQW9BZ3dpQkNBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZWpQQXhBNklnRW9BZ0FvQWl3RklBRkI0TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUE2QUFBZ0RBc2dDeEJmSUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRG9BQUNBSUlBc1FYeUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEb0FBQ0FOQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEb0FBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBNkFBQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURvQUFDQVBDeUFMRUY4Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBT2dBQUlBWWdDeEJmSUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMndJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnVkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQ2lFRUlBVkIvd0Z4Q3lFR0lBSWdBV3NpQ0FSQUFrQWdCd1IvSUFBb0FnUWhCU0FBS0FJQUJTQUZRZjhCY1NFRklBQUxJZ2NoQ1NBQklBVWdCMnBKSUFrZ0FVMXhCRUFnQTBJQU53SUFJQU5CQURZQ0NDQURJQUVnQWhEK0F5QUFJQU1vQWdBZ0F5QURMQUFMSWdCQkFFZ2lBUnNnQXlnQ0JDQUFRZjhCY1NBQkd4RGpDU0FERUVjTUFRc2dCQ0FHYXlBSVNRUkFJQUFnQkNBR0lBaHFJQVJySUFZZ0JoRGRBZ3NnQWlBR0lBRnJhaUVISUFZZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElnVnFJUVFEUUNBQklBSkhCRUFnQkNBQkVGOGdCRUVCYWlFRUlBRkJBV29oQVF3QkN3c2dBMEVBT2dBQUlBVWdCMm9nQXhCZklBWWdDR29oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMQ3dzZ0F5UUdDN1VFQVFoL0l3WWhBQ01HUVlBQmFpUUdJQUJCOEFCcUlnZ2dBRFlDQUNBSVFaRUJOZ0lFSUFCQjVBQnFJZ3NnQkJBN0lBdEJnTTRERURvaEJ5QUFRZndBYWlJS1FRQTZBQUFnQUNBQ0tBSUFJZ2syQW1nZ0JDZ0NCQ0VNSUFCQitBQnFJZ1FnQUNnQ2FEWUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUWV3QWFpQUFRZVFBYWhDb0JBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBNkFBQWdEUXNnQkJCZklBWkJBRFlDQkFVZ0JFRUFPZ0FBSUFZZ0JCQmZJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaHhCUDNGQmlnRnFFUUlBRU13QkN5QUhRVEFnQnlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQkNBQUtBSnNJZ2RCZjJvaENpQUlLQUlBSVFNRFFBSkFJQU1nQ2s4TkFDQURMUUFBSUFSQi93RnhSdzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQURJQWNRc0FvTElBRW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGSUFFb0FnQkZDd1ZCQVFzaEF3SkFBa0FDUUNBSlJRMEFJQWtvQWd3aUJDQUpLQUlRUmdSL0lBa2dDU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBTkZEUUlMREFJTElBTU5BQXdCQ3lBRklBVW9BZ0JCQW5JMkFnQUxJQUVvQWdBaERpQUxFRHdnQ0NnQ0FDRUJJQWhCQURZQ0FDQUJCRUFnQVNBSUtBSUVRZjhCY1VHc0Eyb1JBUUFMSUFBa0JpQU9DL3NUQWhGL0FYd2pCaUVVSXdaQkVHb2tCaUFVSVJBZ0FVRUNFRGtoRFNBQ1FRSVFPU0VQSUFRb0FnQWlCeUVDSUEwZ0QwRi9haUlSYkVFQmRDQUhhaUVGQTBBZ0N5QU5TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBTFFRRnFJUXNNQVFzTElBY2hBaUFOUVg5cUloSkJBWFFnQjJvaEJVRUFJUXNEUUNBTElBOUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU5RUUYwSUFKcUlRSWdEVUVCZENBRmFpRUZJQXRCQVdvaEN3d0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RXc2hFeUFBSUFGQkFYUkJBbXBxSVE1QkFTRU1RUUFoQlNBTlFRRnFJZ0FnQkNnQ0JHb2hDeUFBUVFGMElBZHFJUWNDZndKQUEwQUNRQ0FNSUJGT0RRSWdCU0VBUVFFaENRTkFJQWtnRWtnRVFDQU9MUUFBSUFOS0JFQUNRQ0FMUVg4NkFBQWdFMEVCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFNTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0REWUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQU1JQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQU1JQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFJQXRCQURvQUFBc2dEa0VDYWlFT0lBdEJBV29oQ3lBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBNXFRUVJxSVE0Z0RFRUJhaUVNSUFBaEJTQUxRUUpxSVFzZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklCQVFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lMUmdSQUlBQkJBV29oQVFVZ0FDRUJJQXRCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dEVFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0R6WUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRnFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBV296a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRlNBUUpBWWdGUXVlQlFFTGZ5TUdJUWNqQmtHQUFtb2tCaUFIUWRnQmFpRU9JQWNoRHlBSFFlZ0JhaUlKSUFkQjhBQnFJZ28yQWdBZ0NVR1JBVFlDQkNBSFFlQUJhaUlOSUFRUU95QU5RWURPQXhBNklRQWdCMEg2QVdvaURFRUFPZ0FBSUFjZ0FpZ0NBRFlDM0FFZ0JDZ0NCQ0VMSUFkQjhBRnFJZ1FnQnlnQzNBRTJBZ0FnQVNBRUlBTWdEU0FMSUFVZ0RDQUFJQWtnQjBIa0FXb2dDa0hrQUdvUXFBUUVRQ0FBUWZxY0EwR0VuUU1nQkNBQUtBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0J5Z0M1QUVpQ3lBSktBSUFJZ3BySWdCQjRnQktCRUFnQUVFQ2FoQkVJZ0FoQXlBQUJFQWdBQ0VJSUFNaEVBVVFBQXNGSUE4aENBc2dEQ3dBQUFSQUlBaEJMVG9BQUNBSVFRRnFJUWdMSUFSQkNtb2hBeUFFSVF3RFFDQUtJQXRKQkVBZ0Npd0FBQ0VMSUFRaEFBTkFBa0FnQUNBRFJnUkFJQU1oQUF3QkN5QUFMQUFBSUF0SEJFQWdBRUVCYWlFQURBSUxDd3NnQ0NBQUlBeHJRZnFjQTJvc0FBQTZBQUFnQ2tFQmFpRUtJQWhCQVdvaENDQUhLQUxrQVNFTERBRUxDeUFJUVFBNkFBQWdEaUFHTmdJQUlBOUJoWjBESUE0UWd3RkJBVWNFUUJBQUN5QVFCRUFnRUJBNEN3c2dBU2dDQUNJQUJIOGdBQ2dDRENJRElBQW9BaEJHQkg4Z0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFVZ0FTZ0NBRVVMQlVFQkN5RURBa0FDUUFKQUlBSW9BZ0FpQUVVTkFDQUFLQUlNSWdRZ0FDZ0NFRVlFZnlBQUlBQW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdVRBUUVDZnlNR0lRWWpCa0dBQVdva0JpQUdRZlFBYWlJSElBWkI1QUJxTmdJQUlBQWdCaUFISUFNZ0JDQUZFS3dFSUFaQjZBQnFJZ05DQURjREFDQUdRZkFBYWlJRUlBWTJBZ0FnQWlnQ0FDQUJhMEVDZFNFRklBQW9BZ0FRWWlFQUlBRWdCQ0FGSUFNUS9nSWhBeUFBQkVBZ0FCQmlHZ3NnQTBGL1JnUkFFQUFGSUFJZ0EwRUNkQ0FCYWpZQ0FDQUdKQVlMQzdFQkFDTUdJUUlqQmtHZ0Eyb2tCaUFDUVpBRGFpSURJQUpCa0FOcU5nSUFJQUJCQ0dvZ0FpQURJQVFnQlNBR0VMUUtJQU1vQWdBaEJTQUNJUU1nQVNnQ0FDRUFBMEFnQXlBRlJ3UkFJQU1vQWdBaEFTQUFCSDlCQUNBQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBZ0FTQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFScU5nSVlJQVFnQVRZQ0FDQUJDMEYvRUVFYkJVRUFDeUVBSUFOQkJHb2hBd3dCQ3dzZ0FpUUdJQUFMdVFFQUl3WWhBaU1HUWZBQWFpUUdJQUpCNUFCcUlnTWdBa0hrQUdvMkFnQWdBRUVJYWlBQ0lBTWdCQ0FGSUFZUXJBUWdBeWdDQUNFRklBSWhBeUFCS0FJQUlRQURRQ0FESUFWSEJFQWdBeXdBQUNFQklBQUVmMEVBSUFBZ0FDZ0NHQ0lFSUFBb0FoeEdCSDhnQUNnQ0FDZ0NOQ0VFSUFBZ0FSQkNJQVJCUDNGQmlnRnFFUUlBQlNBQUlBUkJBV28yQWhnZ0JDQUJPZ0FBSUFFUVFndEJmeEJCR3dWQkFBc2hBQ0FEUVFGcUlRTU1BUXNMSUFJa0JpQUFDNDBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFBa0FnQVNnQ0FDSUVCRUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBRkJFQU1CQVVNQXdzQUN3c2dCVVVFUUVFQUlRUU1BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FBd0JDeUFESUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFFSC9BWEZCSlVjRVFDQUNJQUlvQWdCQkJISTJBZ0FNQVFzZ0FDZ0NBQ0lES0FJTUlnVWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRlFRUnFOZ0lNSUFVb0FnQWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQURRTUxEQUVMSUFCRkRRRUxJQUlnQWlnQ0FFRUNjallDQUFzTFVnRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbVFFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVHVWNXbzJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQVJDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFSFNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVQxSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTHF3SUJCSHhFQUFBQUFBQUE4RDhnQVNzREdDSURFT2NFSWdTaElRSWdBeERtQkNFRElBQWdCQ0FCS3dNQUlnVWdCYUlnQXFLZ09RTUFJQUFnQWlBQkt3TUFJQUVyQXdpaW9pQURJQUVyQXhDaW9Ua0RDQ0FBSUFJZ0FTc0RBQ0FCS3dNUW9xSWdBeUFCS3dNSW9xQTVBeEFnQUNBQkt3TWdPUU1ZSUFBZ0FpQUJLd01JSUFFckF3Q2lvaUFESUFFckF4Q2lvRGtESUNBQUlBUWdBaUFCS3dNSUlnVWdCYUtpb0RrREtDQUFJQUlnQVNzRENDQUJLd01Rb3FJZ0F5QUJLd01Bb3FFNUF6QWdBQ0FCS3dNb09RTTRJQUJCUUdzZ0FpQUJLd01RSUFFckF3Q2lvaUFESUFFckF3aWlvVGtEQUNBQUlBSWdBU3NERUNBQkt3TUlvcUlnQXlBQkt3TUFvcUE1QTBnZ0FDQUVJQUlnQVNzREVDSUNJQUtpb3FBNUExQWdBQ0FCS3dNd09RTllDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDVkFpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQy9ZREFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVGQWtBQ1FDQUJLQUlBSWdSRkRRQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFWRkRRTUxEQUVMSUFVRWYwRUFJUVFNQWdWQkFBc2hCQXNnQTBHQXdBQWdBQ2dDQUNJRktBSU1JZ1lnQlNnQ0VFWUVmeUFGSUFVb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDeUFES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkJHbzJBZ3dnQlNnQ0FCb0xEQUVMQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndXdBUUVDZkNBQUlBRXJBd0FpQXlBRG9pQUJLd01JSWdJZ0FxS2dJQUVyQXhBaUFpQUNvcUFpQWtRQUFBQUFBQUFBQUdFRWZDQUFSQUFBQUFBQUFQQS9PUU1BSUFCRUFBQUFBQUFBQUFBNUF3aEVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQVVnQUNBRElBS2ZJZ0tqT1FNQUlBQWdBU3NEQ0NBQ296a0RDQ0FCS3dNUUlBS2pDemtERUNBQUlBSTVBeGdnQUNBQkt3TVlPUU1nSUFBZ0FTc0RJRGtES0NBQUlBRXJBeWc1QXpBTDlBRUJBbjlCa01BRExBQUFSUVJBUVpEQUF4QndCRUJCc0xzRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQjJMd0RSdzBBQzBHUXdBTVFid3NMUWJDN0EwR1FtZ0VRVmtHOHV3TkJySm9CRUZaQnlMc0RRY2lhQVJCV1FkUzdBMEhvbWdFUVZrSGd1d05Ca0pzQkVGWkI3THNEUWJTYkFSQldRZmk3QTBIUW13RVFWa0dFdkFOQjlKc0JFRlpCa0x3RFFZU2NBUkJXUVp5OEEwR1VuQUVRVmtHb3ZBTkJwSndCRUZaQnRMd0RRYlNjQVJCV1FjQzhBMEhFbkFFUVZrSE12QU5CMUp3QkVGWUwyQUlCQW45QmdNQURMQUFBUlFSQVFZREFBeEJ3QkVCQmtMa0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJzTHNEUncwQUMwR0F3QU1RYndzTFFaQzVBMEdJbGdFUVZrR2N1UU5CcUpZQkVGWkJxTGtEUWN5V0FSQldRYlM1QTBIa2xnRVFWa0hBdVFOQi9KWUJFRlpCekxrRFFZeVhBUkJXUWRpNUEwR2dsd0VRVmtIa3VRTkJ0SmNCRUZaQjhMa0RRZENYQVJCV1FmeTVBMEg0bHdFUVZrR0l1Z05CbUpnQkVGWkJsTG9EUWJ5WUFSQldRYUM2QTBIZ21BRVFWa0dzdWdOQjhKZ0JFRlpCdUxvRFFZQ1pBUkJXUWNTNkEwR1FtUUVRVmtIUXVnTkIvSllCRUZaQjNMb0RRYUNaQVJCV1FlaTZBMEd3bVFFUVZrSDB1Z05Cd0prQkVGWkJnTHNEUWRDWkFSQldRWXk3QTBIZ21RRVFWa0dZdXdOQjhKa0JFRlpCcExzRFFZQ2FBUkJXQzN3QkFuOUI4TDhETEFBQVJRUkFRZkMvQXhCd0JFQkI4TGdESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCaUxrRFJ3MEFDMEh3dndNUWJ3c0xRZkM0QTBId2xRRVFWa0g4dUFOQi9KVUJFRllMUkFCQnlMOERMQUFBUlFSQVFjaS9BeEJ3QkVCQmpNOERRZ0EzQWdCQmxNOERRUUEyQWdCQmpNOERRYVNVQVVHa2xBRVF0QUVReXdGQnlMOERFRzhMQzBHTXp3TUxSQUJCMEw4RExBQUFSUVJBUWRDL0F4QndCRUJCbU04RFFnQTNBZ0JCb004RFFRQTJBZ0JCbU04RFFjaVVBVUhJbEFFUXRBRVF5d0ZCMEw4REVHOExDMEdZendNTFJBQkIyTDhETEFBQVJRUkFRZGkvQXhCd0JFQkJwTThEUWdBM0FnQkJyTThEUVFBMkFnQkJwTThEUWV5VUFVSHNsQUVRdEFFUXl3RkIyTDhERUc4TEMwR2t6d01MUkFCQjRMOERMQUFBUlFSQVFlQy9BeEJ3QkVCQnNNOERRZ0EzQWdCQnVNOERRUUEyQWdCQnNNOERRWnlWQVVHY2xRRVF0QUVReXdGQjRMOERFRzhMQzBHd3p3TUxNUUJCNkw4RExBQUFSUVJBUWVpL0F4QndCRUFReHdwQnZNOERRZkM0QXpZQ0FFSG92d01RYndzTFFielBBeWdDQUFzeEFFSDR2d01zQUFCRkJFQkIrTDhERUhBRVFCREdDa0hBendOQmtMa0ROZ0lBUWZpL0F4QnZDd3RCd004REtBSUFDekVBUVlqQUF5d0FBRVVFUUVHSXdBTVFjQVJBRU1VS1FjVFBBMEd3dXdNMkFnQkJpTUFERUc4TEMwSEV6d01vQWdBTGdnd0JCWDhqQmlFSEl3WkJrQUZxSkFZZ0IwSHdBR29oQ2lBSFFVQnJJUXNnQkVFQU5nSUFJQWRCZ0FGcUlnZ2dBeEE3SUFoQm9NNERFRG9oQ1NBSUVEd0Nmd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBWkJHSFJCR0hWQkpXc09WUllYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNBQVJjRUZ3VVhCZ2NYRnhjS0Z4Y1hGdzRQRUJjWEZ4TVZGeGNYRnhjWEZ3QUJBZ01ERnhjQkZ3Z1hGd2tMRnd3WERSY0xGeGNSRWhRWEN5QUhJQUlvQWdBMkFud2dDQ0FIS0FKOE5nSUFJQUFnQlVFWWFpQUJJQWdnQkNBSkVMRUVEQmNMSUFjZ0FpZ0NBRFlDZUNBSUlBY29BbmcyQWdBZ0FDQUZRUkJxSUFFZ0NDQUVJQWtRc0FRTUZnc2dBRUVJYWlJR0tBSUFLQUlNSVFrZ0JpQUpRZjhBY1VFSWFoRUFBQ0VHSUFjZ0FTZ0NBRFlDZENBSElBSW9BZ0EyQW13Z0JpZ0NBQ0FHSUFZc0FBc2lDVUVBU0NJTEd5RUNJQVlvQWdRZ0NVSC9BWEVnQ3h0QkFuUWdBbW9oQmlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQWlBR0VLTUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU1NS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRYUR3QUVIQThBQVFvd0UyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ3UEFBUWVEd0FCQ2pBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQ0Nnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSREJDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRBQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JDL0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSQytDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUXZRb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkM4Q2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSGc4QUJCalBFQUVLTUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFaRHhBRUdrOFFBUW93RTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1F1Z29NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnNQRUFRZER4QUJDakFUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkM1Q2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdsQkFFZ2lDeHNoQWlBR0tBSUVJQWxCL3dGeElBc2JRUUowSUFKcUlRWWdDaUFIS0FJUU5nSUFJQWdnQnlnQ0REWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRklBSWdCaENqQVRZQ0FBd0VDeUFISUFJb0FnQTJBZ2dnQ0NBSEtBSUlOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQ3ZCQXdEQ3lBSElBSW9BZ0EyQWdRZ0NDQUhLQUlFTmdJQUlBVkJGR29nQVNBSUlBUWdDUkM0Q2d3Q0N5QUhJQUlvQWdBMkFnQWdDQ0FIS0FJQU5nSUFJQUVnQ0NBRUlBa1F0d29NQVFzZ0JDQUVLQUlBUVFSeU5nSUFDeUFCS0FJQUN5RU1JQWNrQmlBTUMxa0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBRlFSUnFJQUVnQnlBRUlBTVFyd1FnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJvTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJFR29nQVNBSElBUWdBeEN3QkNBQktBSUFJUWdnQmlRR0lBZ0xXd0VEZnlNR0lRWWpCa0VRYWlRR0lBWkJCR29pQnlBREVEc2dCMEdnemdNUU9pRURJQWNRUENBR0lBSW9BZ0EyQWdBZ0J5QUdLQUlBTmdJQUlBQWdCVUVZYWlBQklBY2dCQ0FERUxFRUlBRW9BZ0FoQ0NBR0pBWWdDQXVuQVFFRWZ5TUdJUWNqQmtFUWFpUUdJQUJCQ0dvaUJpZ0NBQ2dDRkNFSUlBWWdDRUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWdRZ0J5QUNLQUlBTmdJQUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNCc2hBU0FHS0FJRUlBSkIvd0Z4SUFnYlFRSjBJQUZxSVFJZ0IwRUlhaUlHSUFjb0FnUTJBZ0FnQjBFTWFpSUlJQWNvQWdBMkFnQWdBQ0FHSUFnZ0F5QUVJQVVnQVNBQ0VLTUJJUWtnQnlRR0lBa0xZQUVDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQUNBQklBSWdBeUFFSUFWQjBQRUFRZkR4QUJDakFTRUhJQVlrQmlBSEM1MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlnUUVRQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUVEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQU1BUXNnQXlBQUtBSUFJZ1VvQWd3aUJpQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEIvd0Z4UVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFCQi93RnhRU1ZIQkVBZ0FpQUNLQUlBUVFSeU5nSUFEQUVMSUFBb0FnQWlBeWdDRENJRklBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBQTBEQ3d3QkN5QUFSUTBCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMUlCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFRUVKb0JJUUVnQXlnQ0FFRUVjVVVFUUNBQUlBRkJsSEZxTmdJQUN5QUZKQVlMWVFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRRVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJCMGh4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRTlTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDK0lCQVFSL0l3WWhCeU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlJSVFZZ0FDQUdRZjhBY1VFSWFoRUFBQ0lBTEFBTElnWkJBRWdFZnlBQUtBSUVCU0FHUWY4QmNRc2hCaUFIUVFScUlRaEJBQ0FBTEFBWElnbEJBRWdFZnlBQUtBSVFCU0FKUWY4QmNRdHJJQVpHQkVBZ0JDQUVLQUlBUVFSeU5nSUFCUUpBSUFjZ0F5Z0NBRFlDQUNBSUlBY29BZ0EyQWdBZ0FpQUlJQUFnQUVFWWFpQUZJQVJCQUJDV0FpQUFheUlDUlNBQktBSUFJZ0JCREVaeEJFQWdBVUVBTmdJQURBRUxJQUpCREVZZ0FFRU1TSEVFUUNBQklBQkJER28yQWdBTEN3c2dCeVFHQzVRRUFRTi9BMEFDUUNBQUtBSUFJZ1FFZnlBRUtBSU1JZ1VnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFVQ1FBSkFJQUVvQWdBaUJFVU5BQ0FFS0FJTUlnWWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUZSUTBEQ3d3QkN5QUZCSDlCQUNFRURBSUZRUUFMSVFRTElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlGUWY4QmNVRVlkRUVZZFVGL1RBMEFJQU1vQWdnZ0JVRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQVdvMkFnd2dCU3dBQUJCQ0dnc01BUXNMSUFBb0FnQWlBd1IvSUFNb0Fnd2lCU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQUFKQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUw4UVFCQVg4Z0FFSUFOd01BSUFCQ0FEY0RDQ0FBUWdBM0F4QWdBRUlBTndNWUlBQkNBRGNESUNBQVFnQTNBeWdnQUVJQU53TXdJQUJDQURjRE9DQUFRVUJyUkFBQUFBQUFBUEMvT1FNQUlBQkNBRGNEU0NBQVFnQTNBMUFnQUVJQU53TllJQUJDQURjRFlDQUFSQUFBQUFBQUFQQS9PUU5vSUFCQ0FEY0RjQ0FBUWdBM0EzZ2dBRUlBTndPQUFTQUFRZ0EzQTRnQklBQkNBRGNEa0FFZ0FFSUFOd09ZQVNBQVJBQUFBQUFBQVBBL09RT2dBU0FBUWFnQmFpSUJRZ0EzQXdBZ0FVSUFOd01JSUFGQ0FEY0RFQ0FCUWdBM0F4Z2dBVUlBTndNZ0lBRkNBRGNES0NBQlFnQTNBekFnQVVJQU53TTRJQUZCUUd0Q0FEY0RBQ0FBUkFBQUFBQUFBUEMvT1FQd0FTQUFRZ0EzQS9nQklBQkNBRGNEZ0FJZ0FFSUFOd09JQWlBQVFnQTNBNUFDSUFCQ0FEY0RtQUlnQUVJQU53T2dBaUFBUkFBQUFBQUFBUEMvT1FPb0FpQUFRZ0EzQTdBQ0lBQkNBRGNEdUFJZ0FFSUFOd1BBQWlBQVFnQTNBOGdDSUFCRUFBQUFBQUFBOEQ4NUE5QUNJQUJCMkFKcUlnRkNBRGNEQUNBQlFnQTNBd2dnQVVJQU53TVFJQUZDQURjREdDQUJRZ0EzQXlBZ0FVSUFOd01vSUFGQ0FEY0RNQ0FCUWdBM0F6Z2dBVUZBYTBJQU53TUFJQUZDQURjRFNDQUJRZ0EzQTFBZ0FVSUFOd05ZSUFGQ0FEY0RZQ0FCUWdBM0EyZ2dBRVFBQUFBQUFBRHdQemtEeUFNZ0FFSUFOd1BRQXlBQVFnQTNBOWdESUFCQ0FEY0Q0QU1nQUVJQU53UG9BeUFBUWdBM0EvQURJQUJDQURjRCtBTWdBRVFBQUFBQUFBRHdQemtEZ0FRZ0FFSUFOd09JQkNBQVFnQTNBNUFFSUFCQ0FEY0RtQVFnQUVJQU53T2dCQ0FBUWdBM0E2Z0VJQUJDQURjRHNBUWdBRVFBQUFBQUFBRHdQemtEdUFRTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCZjJwQkgwbHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndjBBUUVDZjBIQXZ3TXNBQUJGQkVCQndMOERFSEFFUUVIQXR3TWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSG91QU5IRFFBTFFjQy9BeEJ2Q3d0QndMY0RRZkNYQXhCWFFjeTNBMEgzbHdNUVYwSFl0d05CL3BjREVGZEI1TGNEUVlhWUF4QlhRZkMzQTBHUW1BTVFWMEg4dHdOQm1aZ0RFRmRCaUxnRFFhQ1lBeEJYUVpTNEEwR3BtQU1RVjBHZ3VBTkJyWmdERUZkQnJMZ0RRYkdZQXhCWFFiaTRBMEcxbUFNUVYwSEV1QU5CdVpnREVGZEIwTGdEUWIyWUF4QlhRZHk0QTBIQm1BTVFWd3ZZQWdFQ2YwR3d2d01zQUFCRkJFQkJzTDhERUhBRVFFR2d0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhBdHdOSERRQUxRYkMvQXhCdkN3dEJvTFVEUWU2V0F4QlhRYXkxQTBIMmxnTVFWMEc0dFFOQi81WURFRmRCeExVRFFZV1hBeEJYUWRDMUEwR0xsd01RVjBIY3RRTkJqNWNERUZkQjZMVURRWlNYQXhCWFFmUzFBMEdabHdNUVYwR0F0Z05Cb0pjREVGZEJqTFlEUWFxWEF4QlhRWmkyQTBHeWx3TVFWMEdrdGdOQnU1Y0RFRmRCc0xZRFFjU1hBeEJYUWJ5MkEwSElsd01RVjBISXRnTkJ6SmNERUZkQjFMWURRZENYQXhCWFFlQzJBMEdMbHdNUVYwSHN0Z05CMUpjREVGZEIrTFlEUWRpWEF4QlhRWVMzQTBIY2x3TVFWMEdRdHdOQjRKY0RFRmRCbkxjRFFlU1hBeEJYUWFpM0EwSG9sd01RVjBHMHR3TkI3SmNERUZjTGZBRUNmMEdndndNc0FBQkZCRUJCb0w4REVIQUVRRUdBdFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVHWXRRTkhEUUFMUWFDL0F4QnZDd3RCZ0xVRFFlaVdBeEJYUVl5MUEwSHJsZ01RVnd0Q0FFSDR2Z01zQUFCRkJFQkIrTDRERUhBRVFFSEl6Z05DQURjQ0FFSFF6Z05CQURZQ0FFSEl6Z05CdFpZRFFiV1dBeEJnRUg1QitMNERFRzhMQzBISXpnTUxRZ0JCZ0w4RExBQUFSUVJBUVlDL0F4QndCRUJCMU00RFFnQTNBZ0JCM000RFFRQTJBZ0JCMU00RFFiNldBMEcrbGdNUVlCQitRWUMvQXhCdkN3dEIxTTREQzBJQVFZaS9BeXdBQUVVRVFFR0l2d01RY0FSQVFlRE9BMElBTndJQVFlak9BMEVBTmdJQVFlRE9BMEhIbGdOQng1WURFR0FRZmtHSXZ3TVFid3NMUWVET0F3dXBBZ0VHZkNBQkt3TVlJQUVyQXdBaUNDQUNLd01BSWdTaUlBRXJBd2dnQWlzRENDSUhvcUFnQVNzREVDQUNLd01RSWdPaW9LQWhCU0FCS3dNNElBUWdBU3NESUtJZ0J5QUJLd01vb3FBZ0F5QUJLd013b3FDZ0lRWWdBU3NEV0NBRUlBRkJRR3NpQWlzREFDSUVvaUFISUFFckEwaWlvQ0FESUFFckExQ2lvS0FpQTBRQUFBQUFBQUFBQUdFRWYwRi9CU0FBSUFnZ0E2SWdCU0FFb3FFZ0F5QURvaUlFb3prREFDQUFJQU1nQVNzRENLSWdCU0FCS3dOSW9xRWdCS001QXdnZ0FDQURJQUVyQXhDaUlBVWdBU3NEVUtLaElBU2pPUU1RSUFBZ0F5QUJLd01nb2lBR0lBSXJBd0Npb1NBRW96a0RHQ0FBSUFNZ0FTc0RLS0lnQmlBQkt3TklvcUVnQktNNUF5QWdBQ0FESUFFckF6Q2lJQVlnQVNzRFVLS2hJQVNqT1FNb1FRQUxDMElBUVpDL0F5d0FBRVVFUUVHUXZ3TVFjQVJBUWV6T0EwSUFOd0lBUWZUT0EwRUFOZ0lBUWV6T0EwSFRsZ05CMDVZREVHQVFma0dRdndNUWJ3c0xRZXpPQXdzeEFFR1l2d01zQUFCRkJFQkJtTDhERUhBRVFCRGtDa0g0emdOQmdMVUROZ0lBUVppL0F4QnZDd3RCK000REtBSUFDekVBUWFpL0F5d0FBRVVFUUVHb3Z3TVFjQVJBRU9NS1Fmek9BMEdndFFNMkFnQkJxTDhERUc4TEMwSDh6Z01vQWdBTE1RQkJ1TDhETEFBQVJRUkFRYmkvQXhCd0JFQVE0Z3BCZ004RFFjQzNBellDQUVHNHZ3TVFid3NMUVlEUEF5Z0NBQXY0Q3dFRmZ5TUdJUWNqQmtHUUFXb2tCaUFIUWZBQWFpRUtJQWRCUUdzaEN5QUVRUUEyQWdBZ0IwR0FBV29pQ0NBREVEc2dDRUdBemdNUU9pRUpJQWdRUEFKL0FrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQmtFWWRFRVlkVUVsYXc1VkZoY1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ3QUJGd1FYQlJjR0J4Y1hGd29YRnhjWERnOFFGeGNYRXhVWEZ4Y1hGeGNYQUFFQ0F3TVhGd0VYQ0JjWENRc1hEQmNORndzWEZ4RVNGQmNMSUFjZ0FpZ0NBRFlDZkNBSUlBY29BbncyQWdBZ0FDQUZRUmhxSUFFZ0NDQUVJQWtRdGdRTUZ3c2dCeUFDS0FJQU5nSjRJQWdnQnlnQ2VEWUNBQ0FBSUFWQkVHb2dBU0FJSUFRZ0NSQzFCQXdXQ3lBQVFRaHFJZ1lvQWdBb0Fnd2hDU0FHSUFsQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSjBJQWNnQWlnQ0FEWUNiQ0FHS0FJQUlBWWdCaXdBQ3lJQ1FRQklJZ2tiSWdzZ0JpZ0NCQ0FDUWY4QmNTQUpHMm9oQWlBS0lBY29BblEyQWdBZ0NDQUhLQUpzTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVVnQ3lBQ0VLUUJOZ0lBREJVTElBY2dBaWdDQURZQ2FDQUlJQWNvQW1nMkFnQWdCVUVNYWlBQklBZ2dCQ0FKRU9FS0RCUUxJQWNnQVNnQ0FEWUNaQ0FISUFJb0FnQTJBbUFnQ2lBSEtBSmtOZ0lBSUFnZ0J5Z0NZRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRY1dZQTBITm1BTVFwQUUyQWdBTUV3c2dCeUFCS0FJQU5nSmNJQWNnQWlnQ0FEWUNXQ0FLSUFjb0FsdzJBZ0FnQ0NBSEtBSllOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJ6WmdEUWRXWUF4Q2tBVFlDQUF3U0N5QUhJQUlvQWdBMkFsUWdDQ0FIS0FKVU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZkNnd1JDeUFISUFJb0FnQTJBbEFnQ0NBSEtBSlFOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGVDZ3dRQ3lBSElBSW9BZ0EyQWt3Z0NDQUhLQUpNTmdJQUlBVkJIR29nQVNBSUlBUWdDUkRkQ2d3UEN5QUhJQUlvQWdBMkFrZ2dDQ0FIS0FKSU5nSUFJQVZCRUdvZ0FTQUlJQVFnQ1JEY0Nnd09DeUFISUFJb0FnQTJBa1FnQ0NBSEtBSkVOZ0lBSUFWQkJHb2dBU0FJSUFRZ0NSRGJDZ3dOQ3lBTElBSW9BZ0EyQWdBZ0NDQUxLQUlBTmdJQUlBRWdDQ0FFSUFrUTJnb01EQXNnQnlBQ0tBSUFOZ0k4SUFnZ0J5Z0NQRFlDQUNBQUlBVkJDR29nQVNBSUlBUWdDUkRaQ2d3TEN5QUhJQUVvQWdBMkFqZ2dCeUFDS0FJQU5nSTBJQW9nQnlnQ09EWUNBQ0FJSUFjb0FqUTJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JVSFZtQU5CNEpnREVLUUJOZ0lBREFvTElBY2dBU2dDQURZQ01DQUhJQUlvQWdBMkFpd2dDaUFIS0FJd05nSUFJQWdnQnlnQ0xEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFlQ1lBMEhsbUFNUXBBRTJBZ0FNQ1FzZ0J5QUNLQUlBTmdJb0lBZ2dCeWdDS0RZQ0FDQUZJQUVnQ0NBRUlBa1EyQW9NQ0FzZ0J5QUJLQUlBTmdJa0lBY2dBaWdDQURZQ0lDQUtJQWNvQWlRMkFnQWdDQ0FIS0FJZ05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQjVaZ0RRZTJZQXhDa0FUWUNBQXdIQ3lBSElBSW9BZ0EyQWh3Z0NDQUhLQUljTmdJQUlBVkJHR29nQVNBSUlBUWdDUkRYQ2d3R0N5QUFLQUlBS0FJVUlRWWdCeUFCS0FJQU5nSVlJQWNnQWlnQ0FEWUNGQ0FLSUFjb0FoZzJBZ0FnQ0NBSEtBSVVOZ0lBSUFBZ0NpQUlJQU1nQkNBRklBWkJQM0ZCeGdKcUVRb0FEQVlMSUFCQkNHb2lCaWdDQUNnQ0dDRUpJQVlnQ1VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFoQWdCeUFDS0FJQU5nSU1JQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDUnNpQ3lBR0tBSUVJQUpCL3dGeElBa2JhaUVDSUFvZ0J5Z0NFRFlDQUNBSUlBY29BZ3cyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCU0FMSUFJUXBBRTJBZ0FNQkFzZ0J5QUNLQUlBTmdJSUlBZ2dCeWdDQ0RZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRdEFRTUF3c2dCeUFDS0FJQU5nSUVJQWdnQnlnQ0JEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUTFnb01BZ3NnQnlBQ0tBSUFOZ0lBSUFnZ0J5Z0NBRFlDQUNBQklBZ2dCQ0FKRU5VS0RBRUxJQVFnQkNnQ0FFRUVjallDQUFzZ0FTZ0NBQXNoRENBSEpBWWdEQXRaQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdCVUVVYWlBQklBY2dCQ0FERUxRRUlBRW9BZ0FoQ0NBR0pBWWdDQXRiQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlJSElBTVFPeUFIUVlET0F4QTZJUU1nQnhBOElBWWdBaWdDQURZQ0FDQUhJQVlvQWdBMkFnQWdBQ0FGUVJCcUlBRWdCeUFFSUFNUXRRUWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQmdNNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkdHb2dBU0FISUFRZ0F4QzJCQ0FCS0FJQUlRZ2dCaVFHSUFnTG9nRUJCSDhqQmlFSEl3WkJFR29rQmlBQVFRaHFJZ1lvQWdBb0FoUWhDQ0FHSUFoQi93QnhRUWhxRVFBQUlRWWdCeUFCS0FJQU5nSUVJQWNnQWlnQ0FEWUNBQ0FHS0FJQUlBWWdCaXdBQ3lJQlFRQklJZ0liSWdnZ0JpZ0NCQ0FCUWY4QmNTQUNHMm9oQVNBSFFRaHFJZ0lnQnlnQ0JEWUNBQ0FIUVF4cUlnWWdCeWdDQURZQ0FDQUFJQUlnQmlBRElBUWdCU0FJSUFFUXBBRWhDU0FISkFZZ0NRdGdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FBSUFFZ0FpQURJQVFnQlVIdG1BTkI5WmdERUtRQklRY2dCaVFHSUFjTDN3VUNBMzhHZkNNR0lRVWpCa0hnQm1va0JpQUJJQUlyQXhnZ0Fpc0RBQ0FES3dNQW9pQUNLd01JSUFNckF3Z2lDS0tnSUFJckF4QWdBeXNERUNJSm9xQ2dPUU1BSUFFZ0Fpc0RPQ0FDS3dNZ0lBTXJBd0FpQjZJZ0NDQUNLd01vb3FBZ0NTQUNLd013b3FDZ09RTUlJQUVnQWlzRFdDQUhJQUpCUUdzaUJDc0RBS0lnQWlzRFNDQURLd01JSWdpaW9DQUpJQUlyQTFDaW9LQTVBeEFnQlVIQUJHb2lBU0FISUFJckF3QWlDcUk1QXdBZ0FTQUlJQXFpT1FNSUlBRWdDaUFES3dNUUlnbWlPUU1RSUFFZ0J5QUNLd01JSWd1aU9RTVlJQUVnQ0NBTG9qa0RJQ0FCSUFrZ0M2STVBeWdnQVNBSElBSXJBeEFpREtJNUF6QWdBU0FJSUF5aU9RTTRJQUZCUUdzZ0NTQU1vamtEQUNBQklBbzVBMGdnQVNBTE9RTlFJQUVnRERrRFdDQUJJQWNnQWlzRElDSUtvamtEWUNBQklBZ2dDcUk1QTJnZ0FTQUpJQXFpT1FOd0lBRWdCeUFDS3dNb0lndWlPUU40SUFFZ0NDQUxvamtEZ0FFZ0FTQUpJQXVpT1FPSUFTQUJJQWNnQWlzRE1DSU1vamtEa0FFZ0FTQUlJQXlpT1FPWUFTQUJJQWtnREtJNUE2QUJJQUVnQ2prRHFBRWdBU0FMT1FPd0FTQUJJQXc1QTdnQklBRWdCeUFFS3dNQUlncWlPUVBBQVNBQklBZ2dDcUk1QThnQklBRWdDU0FLb2prRDBBRWdBU0FISUFJckEwZ2lDNkk1QTlnQklBRWdDQ0FMb2prRDRBRWdBU0FKSUF1aU9RUG9BU0FCSUFjZ0Fpc0RVQ0lIb2prRDhBRWdBU0FJSUFlaU9RUDRBU0FCSUFrZ0I2STVBNEFDSUFFZ0Nqa0RpQUlnQVNBTE9RT1FBaUFCSUFjNUE1Z0NJQVVRNEFwQkFDRUNBMEFnQWtFRFJ3UkFRUUFoQXdOQUlBTkJCa2NFUUNBQ1FUQnNJQUJxSUFOQkEzUnFJZ1pFQUFBQUFBQUFBQUE1QXdCQkFDRUVSQUFBQUFBQUFBQUFJUWNEUUNBRVFReEhCRUFnQmlBSElBSkI0QUJzSUFGcUlBUkJBM1JxS3dNQUlBUkJNR3dnQldvZ0EwRURkR29yQXdDaW9DSUhPUU1BSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQVVrQmd2Y0FRRUhmeU1HSVFBakJrSFFBV29rQmlBQVFjQUJhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVHNEFXb2lCaUFFTmdJQUlBQkJvQUZxSWdSQkZDQUhJQVVnQmhCM0lna2dCR29oQlNBRUlBVWdBaENKQVNFSElBWWdBaEE3SUFaQm9NNERFRG9oQ0NBR0VEd2dDQ2dDQUNnQ01DRUtJQWdnQkNBRklBQWdDa0VQY1VHS0Ftb1JDUUFhSUFBZ0FTZ0NBRFlDdkFFZ0JpQUFLQUs4QVRZQ0FDQUdJQUFnQ1VFQ2RDQUFhaUlCSUFjZ0JHdEJBblFnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFwUUVoQ3lBQUpBWWdDd3UxQXdFUGZ5TUdJUVVqQmtIZ0Ftb2tCaUFGUWFnQ2FpRU5JQVZCbUFKcUlRQWdCVUdRQW1vaUJrSWxOd01BSUFaQkFXcEIyNVFESUFJb0FnUVFsQUloRGlBRlFkUUNhaUlISUFWQjhBRnFJZ28yQWdBUVhDRVBJQVZCd0FKcUlSQWdCVUd3QW1vaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREVFQklSSUZJQWhCQTNRUVJDSUFCRUFnQUNJTUlSTUZFQUFMQ3lBRlFkZ0NhaUlBSUFJUU95QUpJQWNnQmlBTUlBVkIwQUpxSUFWQnpBSnFJQUFRdUFRZ0FCQThJQVVnQVNnQ0FEWUN5QUlnQlNnQzBBSWhDQ0FGS0FMTUFpRUdJQUFnQlNnQ3lBSTJBZ0FnQVNBQUlBd2dDQ0FHSUFJZ0F4Q2xBU0lBTmdJQUlCSkZCRUFnRXhBNEN5QVJFRGdnQlNRR0lBQUx0UU1CRDM4akJpRUZJd1pCNEFKcUpBWWdCVUdvQW1vaERTQUZRWmdDYWlFQUlBVkJrQUpxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVIVUFtb2lCeUFGUWZBQmFpSUtOZ0lBRUZ3aER5QUZRY0FDYWlFUUlBVkJzQUpxSVFzZ0RnUi9JQUFnQWlnQ0NEWUNBQ0FBSUFRNUF3Z2dDa0VlSUE4Z0JpQUFFSGNGSUEwZ0JEa0RBQ0FLUVI0Z0R5QUdJQTBRZHdzaUFFRWRTZ1JBRUZ3aEFDQU9CSDhnQ3lBQ0tBSUlOZ0lBSUFzZ0JEa0RDQ0FISUFBZ0JpQUxFSnNCQlNBUUlBUTVBd0FnQnlBQUlBWWdFQkNiQVFzaEFDQUhLQUlBSWdZRVFDQUFJUWdnQmlJUklRa0ZFQUFMQlNBQUlRZ2dCeWdDQUNFSkN5QUZJUUFnQ1NBSUlBbHFJZ1lnQWhDSkFTRUhJQWtnQ2tZRVFDQUFJUXhCQVNFU0JTQUlRUU4wRUVRaUFBUkFJQUFpRENFVEJSQUFDd3NnQlVIWUFtb2lBQ0FDRURzZ0NTQUhJQVlnRENBRlFkQUNhaUFGUWN3Q2FpQUFFTGdFSUFBUVBDQUZJQUVvQWdBMkFzZ0NJQVVvQXRBQ0lRZ2dCU2dDekFJaEJpQUFJQVVvQXNnQ05nSUFJQUVnQUNBTUlBZ2dCaUFDSUFNUXBRRWlBRFlDQUNBU1JRUkFJQk1RT0FzZ0VSQTRJQVVrQmlBQUMvWUJBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeFFSWnlJZ2hCQVdvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBM1JCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFBZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJESEloQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJWeVFRSjBRUTlxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDL2tCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRjJvaEJ3Si9FQXNoRENNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENTQUFRUWhxSWdZZ0JEY0RBQ0FGSUFVZ0J5QUpJQUFnQmhCM0lBVnFJZ2tnQWhDSkFTRUxJd1loQnlNR0lBaEJBWFJCTEhKQkFuUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRXb2hCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUmh5UVFKMFFRdHFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkM5Z0NBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUVGSUFJb0FnUkJBWEVFUUNBRklBSVFPeUFGUWFqT0F4QTZJUUFnQlJBOElBQW9BZ0FoQWlBRklBQWdCQVIvSUFJb0FoZ0ZJQUlvQWh3TFFUOXhRYklGYWhFREFDQUZLQUlBSWdJZ0JTQUZMQUFMSWdCQkFFZ2JJUU1EUUNBRktBSUVJQUJCL3dGeElBQkJHSFJCR0hWQkFFZ2lBQnRCQW5RZ0FpQUZJQUFiYWlBRFJ3UkFJQU1vQWdBaEFpQUJLQUlBSWdBRVFDQUFLQUlZSWdRZ0FDZ0NIRVlFZnlBQUlBSWdBQ2dDQUNnQ05FRS9jVUdLQVdvUkFnQUZJQUFnQkVFRWFqWUNHQ0FFSUFJMkFnQWdBZ3RCZnhCQkJFQWdBVUVBTmdJQUN3c2dBMEVFYWlFRElBVXNBQXNoQUNBRktBSUFJUUlNQVFzTElBRW9BZ0FoQUNBRkVFY0ZJQUFvQWdBb0FoZ2hCeUFHSUFFb0FnQTJBZ0FnQlNBR0tBSUFOZ0lBSUFBZ0JTQUNJQU1nQkVFQmNTQUhRUjl4UWFJQ2FoRUlBQ0VBQ3lBR0pBWWdBQXZUQVFFSGZ5TUdJUUFqQmtIZ0FHb2tCaUFBUWRBQWFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUhJQUdvaUJpQUVOZ0lBSUFCQk1Hb2lCRUVVSUFjZ0JTQUdFSGNpQ1NBRWFpRUZJQVFnQlNBQ0VJa0JJUWNnQmlBQ0VEc2dCa0dBemdNUU9pRUlJQVlRUENBSUtBSUFLQUlnSVFvZ0NDQUVJQVVnQUNBS1FROXhRWW9DYWhFSkFCb2dBQ0FCS0FJQU5nSk1JQVlnQUNnQ1REWUNBQ0FHSUFBZ0FDQUphaUlCSUFjZ0JHc2dBR29nQlNBSFJoc2dBU0FDSUFNUWx3RWhDeUFBSkFZZ0N3ditFd0lRZndGOEl3WWhFeU1HUVJCcUpBWWdFeUVQSUFRb0FnQWlCaUVISUFFZ0FrRi9haUlRYkVFQmRDQUdhaUVGQTBBZ0NTQUJTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdCMEVDYWlFSElBbEJBV29oQ1NBRlFRSnFJUVVNQVFzTElBWWhCMEVBSVFrZ0FVRi9haUlSUVFGMElBWnFJUVVEUUNBSklBSklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUJRUUYwSUFkcUlRY2dDVUVCYWlFSklBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVIUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUTVCQVNFTVFRQWhBeUFBSUFRb0FnUnFJUWtnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnRENBUVRnMENJQU1oQUVFQklRb0RRQ0FLSUJGSUJFQWdEUzBBQUNBT0xRQUFTZ1JBSUFaQkFEc0JBQ0FKUVFBNkFBQUZBa0FnQ1VGL09nQUFJQkpCQVhRZ0Jtb2lBeTRCQUNJRlFRQktCRUFnQmlBRk93RUFJQVZCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQU5CZm1vdUFRQWlCU0VJSUFWQkFFb2hDeUFETGdFQ0lnTkJBRXdFUUNBTEJFQWdCaUFGT3dFQUlBaEJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwSUJFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQmtGK2FpNEJBQ0lEUVFCS0JFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dFZ05BQWFpSURLQUlBSUFwT0RRSWdBeUFLTmdJQUJTQUFRZi8vQVVvTkJpQUdJQUJCQVdvaUF6c0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBTkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQXlFQUN3d0JDeUFMQkVBQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JrRithaTRCQUNJRlFRQk1CRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBcEtCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQURRUUowSUFScVFZeUF5QUJxS0FJQUlnTWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZTZ1JBSUFZZ0JUc0JBQ0FISVFoQkFDRUxBMEFnQ3lBQVRnUkFJQVVoQXd3REN5QURJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUZJQVlnQXpzQkFDQURJQVZJQkVBZ0J5RUlRUUFoQ3dOQUlBc2dBRTROQXlBRklBZ29BZ0JHQkVBZ0NDQUROZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBTEN3c2dBMEVRZEVFUWRVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnTWdEQ0FES0FJQWFqWUNBQXNMSUExQkFXb2hEU0FPUVFGcUlRNGdDVUVCYWlFSklBcEJBV29oQ2lBR1FRSnFJUVlNQVFzTElBMUJBbW9oRFNBT1FRSnFJUTRnREVFQmFpRU1JQUFoQXlBSlFRSnFJUWtnQmtFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCVUVCSVFCQkFTRUpJQWNoQmdOQUlBa2dBMHdFUUNBSklBWW9BZ0FpRFVZRVFDQUFRUUZxSVFjRklBQWhCeUFOUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FISVFBZ0NVRUJhaUVKSUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFWQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUhBMEFnQnlBQVNBUkFJQVJCaklBSWFpQUhRUUowSWdaQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFaQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBWkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQVpCQTNKQkFuUnFRUUEyQWdBZ0IwRUJhaUVIREFFTEMwRUFJUUVEUUNBQklBTklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnY2dCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFjb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnZEJBM1JxSWdZZ0Jpc0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFkQkFYSkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnWklCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRZHVVQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1McFFNQkQzOGpCaUVGSXdaQnNBRnFKQVlnQlVINEFHb2hEU0FGUWVnQWFpRUFJQVZCNEFCcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVR2tBV29pQnlBRlFVQnJJZ28yQWdBUVhDRVBJQVZCa0FGcUlSQWdCVUdBQVdvaEN5QU9CSDhnQUNBQ0tBSUlOZ0lBSUFBZ0JEa0RDQ0FLUVI0Z0R5QUdJQUFRZHdVZ0RTQUVPUU1BSUFwQkhpQVBJQVlnRFJCM0N5SUFRUjFLQkVBUVhDRUFJQTRFZnlBTElBSW9BZ2cyQWdBZ0N5QUVPUU1JSUFjZ0FDQUdJQXNRbXdFRklCQWdCRGtEQUNBSElBQWdCaUFRRUpzQkN5RUFJQWNvQWdBaUJnUkFJQUFoQ0NBR0loRWhDUVVRQUFzRklBQWhDQ0FIS0FJQUlRa0xJQVVoQUNBSklBZ2dDV29pQmlBQ0VJa0JJUWNnQ1NBS1JnUkFJQUFoREFVZ0NFRUJkQkJFSWdBRVFDQUFJZ3doRWdVUUFBc0xJQVZCcUFGcUlnQWdBaEE3SUFrZ0J5QUdJQXdnQlVHZ0FXb2dCVUdjQVdvZ0FCQzZCQ0FBRUR3Z0JTQUJLQUlBTmdLWUFTQUZLQUtnQVNFQklBVW9BcHdCSVFnZ0FDQUZLQUtZQVRZQ0FDQUFJQXdnQVNBSUlBSWdBeENYQVNFVElCSVFPQ0FSRURnZ0JTUUdJQk1MOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEZCRm5JaUNFRUJhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBQ0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTWNpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJGWEpCRDJwQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMOWdFQkNIOGpCaUVBSXdaQklHb2tCaUFBUWlVM0F3QWdBRUVCYWtIZGxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFWGFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFc2NrRU9ha0Z3Y1dva0JpQUdJQUlRT3lBRklBc2dDU0FISUFCQkdHb2lCU0FBUVJCcUlnZ2dCaENUQWlBR0VEd2dBQ0FCS0FJQU5nSVVJQVVvQWdBaEFTQUlLQUlBSVFVZ0JpQUFLQUlVTmdJQUlBWWdCeUFCSUFVZ0FpQURFSmNCSVFFZ0RBc1FEQ0FBSkFZZ0FRdUhBZ0VIZnlNR0lRQWpCa0VnYWlRR0lBQkJFR29pQmtIZ2xBTW9BQUEyQUFBZ0JrSGtsQU11QUFBN0FBUWdCa0VCYWtIbWxBTkJBU0FDS0FJRUVLOEJJQUlvQWdSQkNYWkJBWEVpQ0VFTmFpRUhBbjhRQ3lFTEl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUtJQUFnQkRZQ0FDQUZJQVVnQnlBS0lBWWdBQkIzSUFWcUlnWWdBaENKQVNFSEl3WWhCQ01HSUFoQkFYUkJHSEpCRG1wQmNIRnFKQVlnQUNBQ0VEc2dCU0FISUFZZ0JDQUFRUXhxSWdVZ0FFRUVhaUlHSUFBUWt3SWdBQkE4SUFBZ0FTZ0NBRFlDQ0NBRktBSUFJUUVnQmlnQ0FDRUZJQUFnQUNnQ0NEWUNBQ0FBSUFRZ0FTQUZJQUlnQXhDWEFTRUJJQXNMRUF3Z0FDUUdJQUVMM1FJQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlRVWdBaWdDQkVFQmNRUkFJQVVnQWhBN0lBVkJrTTRERURvaEFDQUZFRHdnQUNnQ0FDRUNJQVVnQUNBRUJIOGdBaWdDR0FVZ0FpZ0NIQXRCUDNGQnNnVnFFUU1BSUFVb0FnQWlBaUFGSUFVc0FBc2lBRUVBU0JzaEF3TkFJQUlnQlNBQVFSaDBRUmgxUVFCSUlnSWJJQVVvQWdRZ0FFSC9BWEVnQWh0cUlBTkhCRUFnQXl3QUFDRUNJQUVvQWdBaUFBUkFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQW9BZ0FvQWpRaEJDQUFJQUlRUWlBRVFUOXhRWW9CYWhFQ0FBVWdBQ0FFUVFGcU5nSVlJQVFnQWpvQUFDQUNFRUlMUVg4UVFRUkFJQUZCQURZQ0FBc0xJQU5CQVdvaEF5QUZMQUFMSVFBZ0JTZ0NBQ0VDREFFTEN5QUJLQUlBSVFBZ0JSQkhCU0FBS0FJQUtBSVlJUWNnQmlBQktBSUFOZ0lBSUFVZ0JpZ0NBRFlDQUNBQUlBVWdBaUFESUFSQkFYRWdCMEVmY1VHaUFtb1JDQUFoQUFzZ0JpUUdJQUFMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVMMEVOZ0lBSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDK0JEY0RBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndStDQUlRZndSOEl3WWhDU01HUVJCcUpBWWdDVUVJYWlFSUlBQW9BZ2dpQXlBQUtBSUVSZ1JBSUFFb0FnUWdBMFlFUUNBQ0tBSUVRUUZxSUFOR0JFQUNRQ0FEUVg1cUlRd0RRQ0FISUF4SUJFQWdBU2dDQUNBSFFRTjBhaUFBS0FJQUlBTWdCMnhCQTNScUlnc2dCMEVEZEdvckF3QTVBd0FnQ0NBRElBZHJRWDlxSWc0MkFnUWdDQ0FIUVFGcUlnWkJBM1FnQzJvaUR6WUNBQ0FJRUpZTElSTWdBaWdDQUNBSFFRTjBhaUFUT1FNQUlCTkVBQUFBQUFBQUFBQmlCRUFDUUNBR0lRVURRQ0FGSUFOSUJFQWdCaUVFUkFBQUFBQUFBQUFBSVJNRFFDQUVJQVZKQkVBZ0V5QUFLQUlBSUFVZ0F5QUViR3BCQTNScUt3TUFJQVJCQTNRZ0Myb3JBd0Npb0NFVElBUkJBV29oQkF3QkN3c2dBeUFGYkNFUUlBVWhCQU5BSUFRZ0EwZ0VRQ0FUSUFBb0FnQWdCQ0FRYWtFRGRHb3JBd0FnQkVFRGRDQUxhaXNEQUtLZ0lSTWdCRUVCYWlFRURBRUxDeUFCS0FJQUlBVkJBM1JxSUJNNUF3QWdCVUVCYWlFRkRBRUxDeUFKSUE0MkFnUWdDQ0FPTmdJRUlBZ2dEellDQUNBSklBRW9BZ0FnQmtFRGRHbzJBZ0FnQ0NBSkVPWUNSQUFBQUFBQUFPQS9vaUVWSUFNaEJRTkFJQVZCZjJvaUJTQUhUQTBCSUFFb0FnQWlEaUFGUVFOMGFpSUVLd01BSUJVZ0JVRURkQ0FMYWlzREFDSVdvcUVoRXlBRUlCTTVBd0FnQXlBRmJDRVBJQVVoQkFOQUlBUWdBMGdFUUNBQUtBSUFJQVFnRDJwQkEzUnFJaEFnRUNzREFDQVdJQVJCQTNRZ0Rtb3JBd0NpSUJNZ0JFRURkQ0FMYWlzREFLS2dvVGtEQUNBRVFRRnFJUVFNQVFzTERBQUFDd0FMQ3lBR0lRY01BUXNMQWtBQ1FDQURRUUZLQkg4Z0FTZ0NBQ0lOSUF4QkEzUnFJQUFvQWdBaUFTQU1JQU1nREd3aUJtcEJBM1JxS3dNQU9RTUFJQUlvQWdBZ0RFRURkR29nQmlBRFFYOXFJZ0pxUVFOMElBRnFLd01BT1FNQUlBRWhCaUFOSVFFTUFRVWdBMEVCUmdSL1FRQWhBaUFBS0FJQUlRWWdBU2dDQUNFQkRBSUZJQU1MQ3lFS0RBRUxJQU1oRFNBQ0lBSWdBMnhxUVFOMElBWnFLd01BSVJRZ0FrRURkQ0FCYWlFUlFSd2hFZ3NEUUNBU1FSeEdCRUFnRVNBVU9RTUFJQTBoQ2dzZ0NrRUFUQVJBUVFBaEFBd0NDeUFBS0FJQUlBcEJmMm9pRFNBRGJFRURkR29oQmlBS0lBeE1CRUFDUUNBRElBMXJRWDlxSVFVZ0NrRURkQ0FHYWlFSElBb2hBZ05BSUFJZ0EwNE5BU0FKSUFVMkFnUWdDQ0FGTmdJRUlBZ2dCellDQUNBSklBQW9BZ0FnQ2lBQ0lBTnNJZ1JxUVFOMGFqWUNBQ0FJSUFrUTVnSWhFeUFLSVFFRFFDQUJJQU5JQkVBZ0FDZ0NBQ0FCSUFScVFRTjBhaUlMSUFzckF3QWdFeUFCUVFOMElBWnFLd01Bb3FFNUF3QWdBVUVCYWlFQkRBRUxDeUFDUVFGcUlRSU1BQUFMQUFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FCUVFOMElBWnFSQUFBQUFBQUFBQUFPUU1BSUFGQkFXb2hBUXdCQ3d0RUFBQUFBQUFBOEQ4aEZDQU5RUU4wSUFacUlSRkJIQ0VTREFBQUN3QUxCVUYvSVFBTEJVRi9JUUFMQlVGL0lRQUxJQWtrQmlBQUM1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMvQkRzQkFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1U0J3RU9meU1HSVFnakJrR3dBbW9rQmlBQ0VKd0JJUThnQWlBSVFhQUJhaERzQVNFUUlBaEJvQUpxSWdvZ0FpQUlRYXdDYWhEckFTQUlRWlFDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFoQmtBSnFJZ3NnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0NFR01BbW9pRENBSU5nSUFJQWhCaUFKcUlnMUJBRFlDQUNBQUtBSUFJZ0loRGdOQUFrQWdBZ1IvSUFJb0Fnd2lCaUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloRWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FSS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0IwVU5Bd3NNQVFzZ0J3Ui9RUUFoQmd3Q0JVRUFDeUVHQ3lBTEtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdkQi93RnhJQWRCQUVnYklnZHFSZ1JBSUFVZ0IwRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXNnQnlBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTElBOGdDU0FMSUEwZ0NDZ0NyQUlnQ2lBSUlBd2dFQkRPQVEwQUlBSW9BZ3dpQmlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQVpCQkdvMkFnd2dCaWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0JrVU5BQ0FHS0FJTUlnUWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFU0lBVVFSeUFLRUVjZ0NDUUdJQklMU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUJBN0lBSkJvTTRERURvaUFDZ0NBQ2dDTUNFRElBQkI4TzhBUVlyd0FDQUJJQU5CRDNGQmlnSnFFUWtBR2lBQ0VEd2dBaVFHSUFFTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTUVFTndNQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzdZSEFROS9Jd1loQmlNR1FkQUNhaVFHSUFaQnVBSnFJZ29nQWlBR1FhQUJhaUlRSUFaQnlBSnFJQVpCeEFKcUVPVUNJQVpCckFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrR29BbW9pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRYVFDYWlJTklBWTJBZ0FnQmtHZ0Ftb2lEa0VBTmdJQUlBWkJ6UUpxSWd0QkFUb0FBQ0FHUWN3Q2FpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBc2dDeUFSSUFrZ0RDQUdLQUxJQWlBR0tBTEVBaUFLSUFZZ0RTQU9JQkFRNUFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3UyQndFUGZ5TUdJUVlqQmtIUUFtb2tCaUFHUWJnQ2FpSUtJQUlnQmtHZ0FXb2lFQ0FHUWNnQ2FpQUdRY1FDYWhEbEFpQUdRYXdDYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnFBSnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrR2tBbW9pRFNBR05nSUFJQVpCb0FKcUlnNUJBRFlDQUNBR1FjMENhaUlMUVFFNkFBQWdCa0hNQW1vaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdvQWdBTElBc2dFU0FKSUF3Z0JpZ0N5QUlnQmlnQ3hBSWdDaUFHSUEwZ0RpQVFFT1FDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVFYWpZQ0RDQUhLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXd3UTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx0Z2NCRDM4akJpRUdJd1pCMEFKcUpBWWdCa0c0QW1vaUNpQUNJQVpCb0FGcUloQWdCa0hJQW1vZ0JrSEVBbW9RNVFJZ0JrR3NBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWFnQ2FpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnBBSnFJZzBnQmpZQ0FDQUdRYUFDYWlJT1FRQTJBZ0FnQmtITkFtb2lDMEVCT2dBQUlBWkJ6QUpxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQ3lBTElCRWdDU0FNSUFZb0FzZ0NJQVlvQXNRQ0lBb2dCaUFOSUE0Z0VCRGtBZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJCR28yQWd3Z0J5Z0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1RRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEM4Y0hBUTUvSXdZaENDTUdRYkFDYWlRR0lBaEJvQUZxSVEwZ0NFR1lBbW9oQmlBSVFhUUNhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FhRE9BeEE2SWdBb0FnQW9BakFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQmlBSnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdVQW1vaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUVpBQ2FpSVBJQWcyQWdBZ0NFR01BbW9pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoREVFQUlRTkJBUVZCQUFzRlFRQWhERUVBSVFOQkFRc2hDUUpBQWtBZ0FpZ0NBQ0lIUlEwQUlBY29BZ3dpRVNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FKUlEwREN3d0JDeUFKQkg5QkFDRUhEQUlGUVFBTElRY0xJQW9vQWdBZ0FDQUdLQUlFSUFZc0FBc2lDVUgvQVhFZ0NVRUFTQnNpQ1dwR0JFQWdCaUFKUVFGMEVFb2dCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NpQUpJQVlvQWdBZ0JpQUdMQUFMUVFCSUd5SUFhallDQUFzZ0F5Z0NEQ0lKSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NTZ0NBQXRCRUNBQUlBb2dFRUVBSUFzZ0NDQVBJQTBRemdFTkFDQURLQUlNSWdjZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFIUVFScU5nSU1JQWNvQWdBYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRRUZRUUFMQlVFQkN5RUFBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSURJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FrRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBRUlBUW9BZ0JCQW5JMkFnQUxJQUVvQWdBaEV5QUdFRWNnQ3hCSElBZ2tCaUFUQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ09DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTkN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNNQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0xDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDSUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNHQ3lFSElBWWtCaUFIQzVBQkFnTi9BbndnQUNBQUVPWUNueUlFUkFBQUFBQUFBQUFBWWdSQUlBU2FJQVFnQUNnQ0FDSUJLd01BSWdWRUFBQUFBQUFBQUFCakd5RUVJQUVnQlNBRW9DSUZPUU1BUkFBQUFBQUFBUEEvSUFRZ0JhS2ZveUVGSUFBb0FnUWhBa0VBSVFBRFFDQUFJQUpJQkVBZ0FFRURkQ0FCYWlJRElBVWdBeXNEQUtJNUF3QWdBRUVCYWlFQURBRUxDd3NnQkpvTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSVVMSVFjZ0JpUUdJQWNMN1FJQkJIOGpCaUVHSXdaQk1Hb2tCaUFHUVNocUlRY2dCa0VnYWlFSUlBTW9BZ1JCQVhFRVFDQUhJQU1RT3lBSFFhRE9BeEE2SVFrZ0J4QThJQWNnQXhBN0lBZEJxTTRERURvaEF5QUhFRHdnQXlnQ0FDZ0NHQ0VBSUFZZ0F5QUFRVDl4UWJJRmFoRURBQ0FES0FJQUtBSWNJUUFnQmtFTWFpQURJQUJCUDNGQnNnVnFFUU1BSUFZZ0FpZ0NBRFlDR0NBSElBWW9BaGcyQWdBZ0JTQUJJQWNnQmlBR1FSaHFJZ0FnQ1NBRVFRRVFsUUlnQmtZNkFBQWdBU2dDQUNFQkEwQWdBRUYwYWlJQUVFY2dBQ0FHUncwQUN3VWdDRUYvTmdJQUlBQW9BZ0FvQWhBaENTQUdJQUVvQWdBMkFpUWdCaUFDS0FJQU5nSWNJQVlnQmlnQ0pEWUNBQ0FISUFZb0FodzJBZ0FnQVNBQUlBWWdCeUFESUFRZ0NDQUpRVDl4UWNZQ2FoRUtBRFlDQUFKQUFrQUNRQUpBSUFnb0FnQU9BZ0FCQWdzZ0JVRUFPZ0FBREFJTElBVkJBVG9BQUF3QkN5QUZRUUU2QUFBZ0JFRUVOZ0lBQ3lBQktBSUFJUUVMSUFZa0JpQUJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZRUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2Z1EzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdndRN0FRQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3UVEzQXdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM4WUhBUTkvSXdZaEJpTUdRZkFCYWlRR0lBWkIyQUZxSWdvZ0FpQUdRYUFCYWlJUUlBWkI1d0ZxSUFaQjVnRnFFT2tDSUFaQnpBRnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0hJQVdvaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWNRQmFpSU5JQVkyQWdBZ0JrSEFBV29pRGtFQU5nSUFJQVpCNVFGcUlndEJBVG9BQUNBR1FlUUJhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFUFFRQWhBa0VCQlVFQUN3VkJBQ0VQUVFBaEFrRUJDeUVJQWtBQ1FDQUJLQUlBSWdkRkRRQWdCeWdDRENJU0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFaXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0NFVU5Bd3NNQVFzZ0NBUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBTUtBSUFJQWtnQlNnQ0JDQUZMQUFMSWdoQi93RnhJQWhCQUVnYklnaHFSZ1JBSUFVZ0NFRUJkQkJLSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQXdnQ0NBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1dvMkFnQUxJQUlvQWd3aUNDQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEIvd0Z4SUFzZ0VTQUpJQXdnQml3QTV3RWdCaXdBNWdFZ0NpQUdJQTBnRGlBUUVPZ0NEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MeGdjQkQzOGpCaUVHSXdaQjhBRnFKQVlnQmtIWUFXb2lDaUFDSUFaQm9BRnFJaEFnQmtIbkFXb2dCa0htQVdvUTZRSWdCa0hNQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FjZ0JhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJ4QUZxSWcwZ0JqWUNBQ0FHUWNBQmFpSU9RUUEyQWdBZ0JrSGxBV29pQzBFQk9nQUFJQVpCNUFGcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSExBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWdDeUFSSUFrZ0RDQUdMQURuQVNBR0xBRG1BU0FLSUFZZ0RTQU9JQkFRNkFJTkFDQUNLQUlNSWdjZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFIUVFGcU5nSU1JQWNzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTU1FT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dkdCd0VQZnlNR0lRWWpCa0h3QVdva0JpQUdRZGdCYWlJS0lBSWdCa0dnQVdvaUVDQUdRZWNCYWlBR1FlWUJhaERwQWlBR1Fjd0JhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCeUFGcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtIRUFXb2lEU0FHTmdJQUlBWkJ3QUZxSWc1QkFEWUNBQ0FHUWVVQmFpSUxRUUU2QUFBZ0JrSGtBV29pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRZjhCY1NBTElCRWdDU0FNSUFZc0FPY0JJQVlzQU9ZQklBb2dCaUFOSUE0Z0VCRG9BZzBBSUFJb0Fnd2lCeUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBZEJBV28yQWd3Z0J5d0FBQkJDR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlJUWY4QmNTQUlRUUJJRzBVZ0N5d0FBRVZ5UlFSQUlBMG9BZ0FpQ3lBR2EwR2dBVWdFUUNBT0tBSUFJUTRnRFNBTFFRUnFOZ0lBSUFzZ0RqWUNBQXNMSUFRZ0NTQU1LQUlBSUFNUXhBUTVBd0FnQ2lBR0lBMG9BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQThvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBSFJRMEFJQWNvQWd3aUJDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzBFQkFuOGdBQ2dDQkNFQklBQW9BZ0FnQUNnQ0NDSUNRUUYxYWlFQUlBSkJBWEVFUUNBQklBQW9BZ0JxS0FJQUlRRUxJQUFnQVVIL0FYRkJyQU5xRVFFQUN3MEFJQUFvQWdBb0FnQVFvUXNMSndFQmZ5QUJLQUlBSVFNZ0FTZ0NCQ0VCSUFBZ0FqWUNBQ0FBSUFNMkFnUWdBQ0FCTmdJSUN5RUJBWDlCak00RFFZek9BeWdDQUNJQlFRRnFOZ0lBSUFBZ0FVRUJhallDQkF0dEFRUi9Jd1loQVNNR1FUQnFKQVlnQVVFWWFpRURJQUZCandFMkFoQWdBVUVBTmdJVUlBRkJJR29pQWlBQktRSVFOd0lBSUFFZ0FpQUFFS01MSUFBb0FnQkJmMGNFUUNBQ0lBRTJBZ0FnQXlBQ05nSUFJQUFnQXhEcENRc2dBQ2dDQkVGL2FpRUVJQUVrQmlBRUM5Y0hBUTUvSXdZaENDTUdRZkFCYWlRR0lBaEJvQUZxSVEwZ0NFSFFBV29oQmlBSVFkd0JhaUlMUWdBM0FnQWdDMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBdHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUdJQU1RT3lBR1FZRE9BeEE2SWdBb0FnQW9BaUFoQXlBQVFmRHZBRUdLOEFBZ0RTQURRUTl4UVlvQ2FoRUpBQm9nQmhBOElBWkNBRGNDQUNBR1FRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQm1wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQndBRnFJUTRnQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUhNQVdvaUNpQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFEWUNBQ0FJUWNnQmFpSVBJQWcyQWdBZ0NFSEVBV29pRUVFQU5nSUFJQUVvQWdBaUF5RU1BMEFDUUNBREJIOGdBeWdDRENJSElBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFTVFRQWhBMEVCQlVFQUN3VkJBQ0VNUVFBaEEwRUJDeUVKQWtBQ1FDQUNLQUlBSWdkRkRRQWdCeWdDRENJUklBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU3dBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NVVU5Bd3NNQVFzZ0NRUi9RUUFoQnd3Q0JVRUFDeUVIQ3lBS0tBSUFJQUFnQmlnQ0JDQUdMQUFMSWdsQi93RnhJQWxCQUVnYklnbHFSZ1JBSUFZZ0NVRUJkQkJLSUFZZ0Jpd0FDMEVBU0FSL0lBWW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQW9nQ1NBR0tBSUFJQVlnQml3QUMwRUFTQnNpQUdvMkFnQUxJQU1vQWd3aUNTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtzQUFBUVFndEIvd0Z4UVJBZ0FDQUtJQkJCQUNBTElBZ2dEeUFORU5BQkRRQWdBeWdDRENJSElBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFBQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdNZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQURMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QUJLQUlBSVJNZ0JoQkhJQXNRUnlBSUpBWWdFd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW9Bc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbndzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Rc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbXdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtZ3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1Rc2hCeUFHSkFZZ0J3dnRBZ0VFZnlNR0lRWWpCa0V3YWlRR0lBWkJLR29oQnlBR1FTQnFJUWdnQXlnQ0JFRUJjUVJBSUFjZ0F4QTdJQWRCZ000REVEb2hDU0FIRUR3Z0J5QURFRHNnQjBHUXpnTVFPaUVESUFjUVBDQURLQUlBS0FJWUlRQWdCaUFESUFCQlAzRkJzZ1ZxRVFNQUlBTW9BZ0FvQWh3aEFDQUdRUXhxSUFNZ0FFRS9jVUd5QldvUkF3QWdCaUFDS0FJQU5nSVlJQWNnQmlnQ0dEWUNBQ0FGSUFFZ0J5QUdJQVpCR0dvaUFDQUpJQVJCQVJDV0FpQUdSam9BQUNBQktBSUFJUUVEUUNBQVFYUnFJZ0FRUnlBQUlBWkhEUUFMQlNBSVFYODJBZ0FnQUNnQ0FDZ0NFQ0VKSUFZZ0FTZ0NBRFlDSkNBR0lBSW9BZ0EyQWh3Z0JpQUdLQUlrTmdJQUlBY2dCaWdDSERZQ0FDQUJJQUFnQmlBSElBTWdCQ0FJSUFsQlAzRkJ4Z0pxRVFvQU5nSUFBa0FDUUFKQUFrQWdDQ2dDQUE0Q0FBRUNDeUFGUVFBNkFBQU1BZ3NnQlVFQk9nQUFEQUVMSUFWQkFUb0FBQ0FFUVFRMkFnQUxJQUVvQWdBaEFRc2dCaVFHSUFFTFFRRUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTZ0NBQ0FBUVFSMGFpSURRWUNBZ0lCL2NTRUFJQU1nQUNBQVFSaDJjbk1oQUNBQlFRUnFJUUVNQVFzTElBQUxHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhESEJBdFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFb0FnQWlBQ0FES0FJQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRUnFJUU1nQVVFRWFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTFB3RUJmMEVBSVFBRFFDQUJJQUpIQkVBZ0FTd0FBQ0FBUVFSMGFpSUFRWUNBZ0lCL2NTSURJQU5CR0haeUlBQnpJUUFnQVVFQmFpRUJEQUVMQ3lBQUN6MEJBWDhnQUFSL0lBQW9BZ0FpQVFSL0lBRW9BcmdCRURnZ0FDZ0NBQ2dDdkFFUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeEQrQXd0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVzQUFBaUFDQURMQUFBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFGcUlRTWdBVUVCYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMSWdFQmZ5QUFCRUFnQUNnQ0FDZ0NCQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDd3UxQWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUVJxSVFNZ0JVRUlhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBRUVJNkFBQWdBQ2dDSkNJSEtBSUFLQUlNSVFnQ2Z3SkFBa0FDUUNBSElBQW9BaWdnQkNBRVFRRnFJQVVnQWlBQ1FRaHFJQU1nQ0VFUGNVR09BMm9SRGdCQkFXc09Bd0lDQUFFTElBSWdCaWdDQURvQUFDQURJQUpCQVdvMkFnQUxBMEFnQXlnQ0FDSUVJQUpOQkVCQkFTRURRUUFNQXdzZ0F5QUVRWDlxSWdRMkFnQWdCQ3dBQUNBQUtBSWdFTzhCUVg5SERRQUxDMEVBSVFOQmZ3c2hBaUFEQkg4Z0JnVWdBaUVCREFJTEJTQUFRVEJxQ3lBQk5nSUFJQUJCQVRvQU5Bc0xJQVVrQmlBQkN3a0FJQUJCQVJESUJBc0pBQ0FBUVFBUXlBUUxYZ0VCZnlBQUlBRkJzTkFERURvaUFUWUNKQ0FBSUFFZ0FTZ0NBQ2dDR0VIL0FIRkJDR29SQUFBMkFpd2dBQ2dDSkNJQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQTFJQUFvQWl4QkNFb0VRQkFBQ3d1ekFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFocUlRTWdCVUVFYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQU5nSUFJQUFvQWlRaUJ5Z0NBQ2dDRENFSUFuOENRQUpBQWtBZ0J5QUFLQUlvSUFRZ0JFRUVhaUFGSUFJZ0FrRUlhaUFESUFoQkQzRkJqZ05xRVE0QVFRRnJEZ01DQWdBQkN5QUNJQVlvQWdBNkFBQWdBeUFDUVFGcU5nSUFDd05BSUFNb0FnQWlCQ0FDVFFSQVFRRWhBMEVBREFNTElBTWdCRUYvYWlJRU5nSUFJQVFzQUFBZ0FDZ0NJQkR2QVVGL1J3MEFDd3RCQUNFRFFYOExJUUlnQXdSL0lBWUZJQUloQVF3Q0N3VWdBRUV3YWdzZ0FUWUNBQ0FBUVFFNkFEUUxDeUFGSkFZZ0FRdUtBd0lNZndKOEl3WWhBU01HUVVCckpBWWdBVUVnYWlFQ1FkQUJFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBSVFQVUVCRUFFTElBRkJLR29oQkNBRElBQkJ1QUVRVEJvZ0F5QUFLQUlBUVI1cUlnZzJBc0FCSUFNZ0FDZ0NCRUVlYWlJSk5nTEVBU0FEUVE4MkFzZ0JJQU5CRHpZQ3pBRWdBeUFKSUFoQkEzUnNJZ1VRUkNJQ05nSzRBU0FDUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0FVRXdhaUVHSUFNZ0JSQkVJZ1EyQXJ3QklBUkZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFCUVJocUlRVWdBVUVRYWlFR0lBRkJDR29oQ2lBQVFlZ0FhaUVMSUFBb0FyQUJJUXdnQWlFQUEwQWdCeUFKU0FSQUlBZEJEMnV5dXlFTlFRQWhBZ05BSUFJZ0NFZ0VRQ0FMSUFKQkQydXl1eUlPSUEwZ0NpQUJJQXdRMkFzZ0FDQUtLd01BdGpnQ0FDQUFJQUVyQXdDMk9BSUVJQXNnRGlBTklBVWdCaUFNRU44RUlBUWdCU3NEQUxZNEFnQWdCQ0FHS3dNQXRqZ0NCQ0FDUVFGcUlRSWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dCMEVCYWlFSERBRUxDeUFCSkFZZ0F3c0pBQ0FBUVFFUXlRUUxDUUFnQUVFQUVNa0VDMTRCQVg4Z0FDQUJRYmpRQXhBNklnRTJBaVFnQUNBQklBRW9BZ0FvQWhoQi93QnhRUWhxRVFBQU5nSXNJQUFvQWlRaUFTZ0NBQ2dDSENFQ0lBQWdBU0FDUWY4QWNVRUlhaEVBQUVFQmNUb0FOU0FBS0FJc1FRaEtCRUFRQUFzTG5RSUJDWDhqQmlFREl3WkJJR29rQmlBRFFSQnFJUVFnQTBFSWFpRUNJQU5CQkdvaEJnSi9Ba0FnQVVGL0VFRU5BQUovSUFJZ0FSQkNPZ0FBSUFBc0FDd0VRQ0FDUVFGQkFTQUFLQUlnRUpNQlFRRkdEUUpCZnd3QkN5QUdJQVEyQWdBZ0FrRUJhaUVISUFSQkNHb2hDQUpBQTBBQ1FDQUFLQUlrSWdVb0FnQW9BZ3doQ1NBRklBQW9BaWdnQWlBSElBTWdCQ0FJSUFZZ0NVRVBjVUdPQTJvUkRnQWhCU0FDSUFNb0FnQkdEUUlnQlVFRFJnMEFJQVZCQWs4TkFpQUdLQUlBSUFScklnSWdCRUVCSUFJZ0FDZ0NJQkNUQVVjTkFpQURLQUlBSVFJZ0JVRUJSZzBCREFRTEN5QUNRUUZCQVNBQUtBSWdFSk1CUVFGSERRQU1BZ3RCZndzTUFRc2dBVUYvRUVFRWYwRUFCU0FCQ3dzaENpQURKQVlnQ2d0ZkFRSi9JQUFzQUN3RVFDQUJRUUVnQWlBQUtBSWdFSk1CSVFNRkEwQWdBeUFDU0FSQUlBQW9BZ0FvQWpRaEJDQUFJQUVzQUFBUVFpQUVRVDl4UVlvQmFoRUNBRUYvUndSQUlBTkJBV29oQXlBQlFRRnFJUUVNQWdzTEN3c2dBd3RNQVFGL0lBQW9BZ0FvQWhnaEFpQUFJQUpCL3dCeFFRaHFFUUFBR2lBQUlBRkJzTkFERURvaUFUWUNKQ0FCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBc0M1c0NBUWwvSXdZaEF5TUdRU0JxSkFZZ0EwRVFhaUVFSUFOQkNHb2hBaUFEUVFScUlRWUNmd0pBSUFGQmZ4QkJEUUFDZnlBQ0lBRTJBZ0FnQUN3QUxBUkFJQUpCQkVFQklBQW9BaUFRa3dGQkFVWU5Ba0YvREFFTElBWWdCRFlDQUNBQ1FRUnFJUWNnQkVFSWFpRUlBa0FEUUFKQUlBQW9BaVFpQlNnQ0FDZ0NEQ0VKSUFVZ0FDZ0NLQ0FDSUFjZ0F5QUVJQWdnQmlBSlFROXhRWTREYWhFT0FDRUZJQUlnQXlnQ0FFWU5BaUFGUVFOR0RRQWdCVUVDVHcwQ0lBWW9BZ0FnQkdzaUFpQUVRUUVnQWlBQUtBSWdFSk1CUncwQ0lBTW9BZ0FoQWlBRlFRRkdEUUVNQkFzTElBSkJBVUVCSUFBb0FpQVFrd0ZCQVVjTkFBd0NDMEYvQ3d3QkN5QUJRWDhRUVFSL1FRQUZJQUVMQ3lFS0lBTWtCaUFLQzFrQkFYOGdBQ3dBTEFSQUlBRkJCQ0FDSUFBb0FpQVFrd0VoQXdVRFFDQURJQUpJQkVBZ0FDQUJLQUlBSUFBb0FnQW9BalJCUDNGQmlnRnFFUUlBUVg5SEJFQWdBMEVCYWlFRElBRkJCR29oQVF3Q0N3c0xDeUFEQzB3QkFYOGdBQ2dDQUNnQ0dDRUNJQUFnQWtIL0FIRkJDR29SQUFBYUlBQWdBVUc0MEFNUU9pSUJOZ0lrSUFFb0FnQW9BaHdoQWlBQUlBRWdBa0gvQUhGQkNHb1JBQUJCQVhFNkFDd0w3QVVDQjM4Q2ZDTUdJUVFqQmtHZ0Eyb2tCaUFFUVpBRGFpRUdJQVJCZ0FGcUlRZ2dBQ2dDQUNFSElBQW9BZ1FoQlNBQVFRaHFJQVJCc0FKcUlnb2dCRUhRQVdvaUNSRHpDMEVBU0FSQVFRQkJBMEdickFFZ0JoQTlCUUpBSUFWQmYycTNJUXhCQUNFRkEwQWdCVUVFUndSQUlBcEJJR29nQlVFRGRHb2lBQ0FLUVVCcklBVkJBM1JxS3dNQUlBeWlJQUFyQXdDaE9RTUFJQVZCQVdvaEJRd0JDd3NnQ2lzRFVDRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRQURRQ0FBUVFOSEJFQWdCVUVZYkNBSWFpQUFRUU4wYWlBRlFRVjBJQXBxSUFCQkEzUnFLd01BSUF1ak9RTUFJQUJCQVdvaEFBd0JDd3NnQlVFQmFpRUZEQUVMQ3lBRUlBZ3JBd0JFQUFBQUFBQUFBRUNpSUFkQmYycTNJZ3VqT1FNQUlBUWdDQ3NEQ0VRQUFBQUFBQUFBUUtJZ0M2TTVBd2dnQkNBSUt3TVFSQUFBQUFBQUFBQkFvaUFMbzBRQUFBQUFBQUR3djZDYU9RTVFJQVJDQURjREdDQUVRZ0EzQXlBZ0JDQUlLd01nUkFBQUFBQUFBQUJBb2lBTW81bzVBeWdnQkNBSUt3TW9SQUFBQUFBQUFBQkFvaUFNbzBRQUFBQUFBQUR3djZDYU9RTXdJQVJDQURjRE9DQUVRZ0EzQTBBZ0JFSUFOd05JSUFRZ0FTQUNvQ0FCSUFLaElndWpPUU5RSUFRZ0FrUUFBQUFBQUFBQVFLSWdBYUlnQzZNNUExZ2dCRUlBTndOZ0lBUkNBRGNEYUNBRVJBQUFBQUFBQVBDL09RTndJQVJFQUFBQUFBQUFBQUE1QTNnZ0NTc0RHQ0VMSUFrckF6Z2hBaUFKS3dOWUlRRkJBQ0VHQTBBZ0JrRUVSZzBCSUFaQkJYUWdCR29yQXdBaERDQUdRUVYwSUFScUlRVWdCa0VGZENBRWFpRUFRUUFoQndOQUlBZEJBMGNFUUNBR0lBZEJBblJxUVFOMElBTnFJQXdnQjBFRGRDQUphaXNEQUtJZ0JTc0RDQ0FKUVNCcUlBZEJBM1JxS3dNQW9xQWdBQ3NERUNBSlFVQnJJQWRCQTNScUt3TUFvcUE1QXdBZ0IwRUJhaUVIREFFTEN5QUdRUXhxUVFOMElBTnFJQVpCQlhRZ0JHb3JBeGdnRENBTG9pQUZLd01JSUFLaW9DQUFLd01RSUFHaW9LQTVBd0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUVKQVlMNGhNQ0VIOEJmQ01HSVJNakJrRVFhaVFHSUJNaER5QUVLQUlBSWdnaEJ5QUJJQUpCZjJvaUVHeEJBWFFnQ0dvaEJRTkFJQXdnQVVnRVFDQUZRUUE3QVFBZ0IwRUFPd0VBSUFkQkFtb2hCeUFGUVFKcUlRVWdERUVCYWlFTURBRUxDeUFJSVFjZ0FVRi9haUlSUVFGMElBaHFJUVZCQUNFTUEwQWdEQ0FDU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdCV29oQlNBTVFRRnFJUXdNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRNUJBU0VOUVFBaEJTQUFJQVFvQWdScUlRd2dBRUVCZENBSWFpRUlBbjhDUUFOQUFrQWdEU0FRVGcwQ0lBVWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RpMEFBQ0FEU2dSQUlBaEJBRHNCQUNBTVFRQTZBQUFGQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzTElBNUJBV29oRGlBTVFRRnFJUXdnQ2tFQmFpRUtJQWhCQW1vaENBd0JDd3NnRGtFQ2FpRU9JQTFCQVdvaERTQUFJUVVnREVFQ2FpRU1JQWhCQkdvaENBd0JDd3RCQUVFRFFhaWxBU0FQRUQxQmZ3d0JDeUFFUVF4cUlReEJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBeEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VEQTBBZ0F5QUFTQVJBSUFSQmpJQUlhaUFEUVFKMElnZEJBblJxSUFFMkFnQWdCRUdNZ0FocUlBZEJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQWRCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFkQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTDZBVUNDbjhCZkNNR0lRUWpCa0dBQW1va0JpQUVRZmdCYWlFSUlBUkI4QUZxSVFvZ0JFSG9BV29oRENBRVFlQUJhaUVGSUFSQjJBRnFJUXNnQkVIUUFXb2hCeUFFUWNnQmFpRUpJQVJCRUdvaEF5QUFRUUJISUFGQkFFZHhCRUFDUUNBQVFZaTVBUkN3QVNJR1JRUkFJQWxCcE1VREtBSUFOZ0lBSUFrZ0FEWUNCRUVBUVFOQnM2b0JJQWtRUFVHa3hRTW9BZ0FRdlFFaEFDQUhRYWZWQXpZQ0FDQUhJQUEyQWdSQkFFRURRYVcyQVNBSEVEMUJmeUVBREFFTElBWkJBRUVDRVBRQklBWW9Ba3dhSUFZb0FnQkJCWFpCQVhFRVFDQUxRYVRGQXlnQ0FEWUNBRUVBUVFOQitLb0JJQXNRUFVHa3hRTW9BZ0FRdlFFaEFDQUZRYWZWQXpZQ0FDQUZJQUEyQWdSQkFFRURRYVcyQVNBRkVEMUJmeUVBQlFKQUlBWVErQUloQnlBR0VQa0NRUUFoQUFKQUFrQURmeUFBUVFSUERRRWdBRUVCYWlFRklBY2dBRUVEZEVHa0ZXb29BZ0FpQUJCUEJIOGdCU0VBREFFRklBVUxDeUVGREFFTElBQkJCRVlFZjBFQVFRTkJwYXNCSUF3UVBVRi9JUUFNQWdWQkFDRUZRYVFWS0FJQUN5RUFDeUFESUFCQkFTQUdFR0ZCQVVjRVFDQUtRYVRGQXlnQ0FEWUNBRUVBUVFOQjlhc0JJQW9RUFVHa3hRTW9BZ0FRdlFFaEFDQUlRYWZWQXpZQ0FDQUlJQUEyQWdSQkFFRURRYVcyQVNBSUVEMUJmeUVBREFFTElBTWdCVFlDc0FFZ0F4RFlCQ0FGUVFGR0lnY0VRQ0FES3dONElRMGdBeUFEUVlBQmFpSUFLd01BT1FONElBTWdEVGtEZ0FFRklBTkJnQUZxSVFBTElBRWdBMEc0QVJCTUdpQUVJQUkyQWdCQkFTRUNBMEFnQWtFQlRnUkFRUUFoQUF3Q0N5QUVLQUlBUVFOcVFYeHhJZ2tvQWdBaENDQUVJQWxCQkdvMkFnQWdDQ0FCS0FLd0FUWUNzQUVnQXlBQktBS3dBVUVEZEVHY0ZXb29BZ0JCQVNBR0VHRkJBVWNFUUVGL0lRQU1BZ3NnQXlBRk5nS3dBU0FERU5nRUlBY0VRQ0FES3dONElRMGdBeUFBS3dNQU9RTjRJQUFnRFRrREFBc2dDQ0FEUWJnQkVFd2FJQUpCQVdvaEFnd0FBQXNBQ3dzZ0JoQnFDd1ZCZnlFQUN5QUVKQVlnQUF1VEFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWhnZ0EwRUNkR28yQWhnZ0F5QUVhaUVFSUFOQkFuUWdBV29GSUFBZ0FTZ0NBQ0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRUnFDeUVCREFFTEN5QUVDek1BSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFRWFqWUNEQ0FBS0FJQUN3dVVBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BZ3dpQXlBQUtBSVFJZ1ZKQkg4Z0FTQURJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0Fnd2dBMEVDZEdvMkFnd2dBMEVDZENBQmFnVWdBQ0FBS0FJQUtBSW9RZjhBY1VFSWFoRUFBQ0lEUVg5R0RRRWdBU0FETmdJQVFRRWhBeUFCUVFScUN5RUJJQU1nQkdvaEJBd0JDd3NnQkF1UUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0FoZ2lBeUFBS0FJY0lnVkpCSDhnQXlBQklBSWdCR3NpQmlBRklBTnJJZ01nQmlBRFNCc2lBeENvQVNBQUlBTWdBQ2dDR0dvMkFoZ2dBeUFFYWlFRUlBRWdBMm9GSUFBb0FnQW9BalFoQXlBQUlBRXNBQUFRUWlBRFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFGcUN5RUJEQUVMQ3lBRUN6VUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVCYWpZQ0RDQUFMQUFBRUVJTEM0MEJBUVIvQTBBQ1FDQUVJQUpPRFFBZ0FDZ0NEQ0lESUFBb0FoQWlCVWtFZnlBQklBTWdBaUFFYXlJR0lBVWdBMnNpQXlBR0lBTklHeUlERUtnQklBQWdBeUFBS0FJTWFqWUNEQ0FCSUFOcUJTQUFJQUFvQWdBb0FpaEIvd0J4UVFocUVRQUFJZ05CZjBZTkFTQUJJQU1RUWpvQUFFRUJJUU1nQVVFQmFnc2hBU0FESUFScUlRUU1BUXNMSUFRTEN3QWdBQkNkQWlBQUVEZ0xTQUVDZnlBQUtBSW9JUUVEUUNBQkJFQWdBQ2dDSUNBQlFYOXFJZ0ZCQW5ScUtBSUFJUUpCQUNBQUlBQW9BaVFnQVVFQ2RHb29BZ0FnQWtFRGNVSDJCV29SQmdBTUFRc0xDd1FBUVFBTE13RUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCSUFFb0FnQTJBZ1FnQVNnQ0JDZ0NCQkNJQXlFQ0lBRWtCaUFDQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVl1SkF6WUNBRUd3K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZXVJQXpZQ0FFRzQrUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjeUlBellDQUVIQStRQkJCaUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWQ2R0F6WUNBRUhJK1FCQkJTQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY0NHQXpZQ0FFSFErUUJCQkNBQUtBSUFFQWdnQUNRR0Mrb0ZBUVo4QW44Q1FBSkFBa0FDUUFKQUFrQWdCVUVCYXc0RUF3SUJBQVFMSUFBckF3QWdBU0FBS3dNd0lnaWhJQUJCUUdzckF3QWlCcUlnQUNzRElDSUpveUlCSUFHaUlBSWdBQ3NET0NJS29TQUdvaUFBS3dNb0lndWpJZ0lnQXFLZ0lnYWlSQUFBQUFBQUFQQS9vQ0FHSUFBckF3Z2dCcUtpb0NFSElBTWdDQ0FKSUFBckF4Z2lDQ0FHSUFFZ0FVUUFBQUFBQUFBQVFLS2lvS0lnQWlBQUt3TVFJZ2xFQUFBQUFBQUFBRUNpSUFHaW9pQUJJQWVpb0tDaW9Ea0RBQ0FLSUFzZ0FpQUlSQUFBQUFBQUFBQkFvaUFCb3FJZ0NTQUdJQUlnQWtRQUFBQUFBQUFBUUtLaW9LSWdBaUFIb3FDZ29xQWhBUXdFQ3lBQklBQXJBd0FpQnFFZ0FDc0RFQ0lIb2lJQlJBQUFBQUFBQUFBQVlTQUhJQUlnQUNzRENLR2lJZ0pFQUFBQUFBQUFBQUJoY1FSOElBTWdCamtEQUNBQUt3TUlCU0FESUFZZ0FDc0RHQ0FCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01nUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBTUxJQUVnQUNzREFDSUdvU0FBS3dNUUlnZWlJZ0ZFQUFBQUFBQUFBQUJoSUFjZ0FpQUFLd01Jb2FJaUFrUUFBQUFBQUFBQUFHRnhCSHdnQXlBR09RTUFJQUFyQXdnRklBTWdCaUFCUkFBQUFBQUFBUEEvSUFFZ0FhSWdBaUFDb3FBaUFTQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElBRWdBU0FBS3dNZ1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLT2lvcUVpQWFLZ09RTUFJQUFyQXdnZ0FpQUJvcUFMSVFFTUFnc2dBU0FBS3dNQUlnYWhJQUFyQXhBaUI2SWlBVVFBQUFBQUFBQUFBR0VnQnlBQ0lBQXJBd2lob2lJQ1JBQUFBQUFBQUFBQVlYRUVmQ0FESUFZNUF3QWdBQ3NEQ0FVZ0F5QUdJQUZFQUFBQUFBQUE4RDhnQVNBQm9pQUNJQUtpb0NBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSWdHaW9Ea0RBQ0FBS3dNSUlBSWdBYUtnQ3lFQkRBRUxRWDhNQVFzZ0JDQUJPUU1BUVFBTEdnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSE1oQU0yQWdCQmlQb0FRUUFnQUNnQ0FCQUlJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIZGd3TTJBZ0JCbVBrQUlBQW9BZ0JCQ0JBV0lBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhYZ3dNMkFnQkJrUGtBSUFBb0FnQkJCQkFXSUFBa0Jnc3RBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSEpnd00yQWdCQmlQa0FJQUFvQWdCQkJFRUFRWDhRQ2lBQUpBWUxOUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ4SU1ETmdJQVFZRDVBQ0FBS0FJQVFRUkJnSUNBZ0hoQi8vLy8vd2NRQ2lBQUpBWUxMUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJ0NE1ETmdJQVFmajRBQ0FBS0FJQVFRUkJBRUYvRUFvZ0FDUUdDelVCQVg4akJpRUFJd1pCRUdva0JpQUFRYk9EQXpZQ0FFSHcrQUFnQUNnQ0FFRUVRWUNBZ0lCNFFmLy8vLzhIRUFvZ0FDUUdDeThCQVg4akJpRUFJd1pCRUdva0JpQUFRYVNEQXpZQ0FFSG8rQUFnQUNnQ0FFRUNRUUJCLy84REVBb2dBQ1FHQ3pFQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVo2REF6WUNBRUhnK0FBZ0FDZ0NBRUVDUVlDQWZrSC8vd0VRQ2lBQUpBWUxMZ0VCZnlNR0lRQWpCa0VRYWlRR0lBQkJrSU1ETmdJQVFkRDRBQ0FBS0FJQVFRRkJBRUgvQVJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdFZ3dNMkFnQkIyUGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIL2dnTTJBZ0JCeVBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc2ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR20xUU0yQWdBUTRBUWdBQ1FHQ3dZQVFlREZBd3NHQUVIY3hRTUxCZ0JCMU1VREN3Z0FRZVRGQXhBMkMzQUJBbjhnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnVUNRQ0FBUVJCcUlBQW9BZ3dpQkVFRGRHb2hCU0FBUVJCcUlBRWdBaUFERU9FRUlBUkJBVW9FUUNBQVFSaHFJUUFEUUNBQUlBRWdBaUFERU9FRUlBRXNBRFlOQWlBQVFRaHFJZ0FnQlVrTkFBc0xDd3NMeFFRQkEzOGdBQ0FCS0FJSUlBUVFnUUVFUUNBQklBSWdBeER5QWdVQ1FDQUFJQUVvQWdBZ0JCQ0JBVVVFUUNBQUtBSU1JUVVnQUVFUWFpQUJJQUlnQXlBRUVKNENJQVZCQVV3TkFTQUFRUkJxSUFWQkEzUnFJUVlnQUVFWWFpRUZJQUFvQWdnaUFFRUNjVVVFUUNBQktBSWtRUUZIQkVBZ0FFRUJjVVVFUUFOQUlBRXNBRFlOQlNBQktBSWtRUUZHRFFVZ0JTQUJJQUlnQXlBRUVKNENJQVZCQ0dvaUJTQUdTUTBBREFVQUN3QUxBMEFnQVN3QU5nMEVJQUVvQWlSQkFVWUVRQ0FCS0FJWVFRRkdEUVVMSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQXdzTEEwQWdBU3dBTmcwQ0lBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUFRc2dBU2dDRUNBQ1J3UkFJQUVvQWhRZ0FrY0VRQ0FCSUFNMkFpQWdBU2dDTEVFRVJ3UkFJQUJCRUdvZ0FDZ0NERUVEZEdvaEIwRUFJUU1nQUVFUWFpRUdJQUVDZndKQUEwQUNRQ0FHSUFkUERRQWdBVUVBT2dBMElBRkJBRG9BTlNBR0lBRWdBaUFDUVFFZ0JCRHZBaUFCTEFBMkRRQWdBU3dBTlFSQUFrQWdBU3dBTkVVRVFDQUFLQUlJUVFGeEJFQkJBU0VGREFJRkRBWUxBQXNnQVNnQ0dFRUJSZ1JBUVFFaEF3d0ZDeUFBS0FJSVFRSnhCSDlCQVNFRlFRRUZRUUVoQXd3RkN5RURDd3NnQmtFSWFpRUdEQUVMQ3lBRkJIOE1BUVZCQkFzTUFRdEJBd3MyQWl3Z0EwRUJjUTBEQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDL1FDQVFsL0lBQWdBU2dDQ0NBRkVJRUJCRUFnQVNBQ0lBTWdCQkR4QWdVZ0FTd0FOQ0VPSUFFc0FEVWhCaUFBUVJCcUlBQW9BZ3dpQjBFRGRHb2hEQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQkJFR29nQVNBQ0lBTWdCQ0FGRU84Q0lBNGdBU3dBTkNJTGNpRUpJQVlnQVN3QU5TSUljaUVHSUFkQkFVb0Vmd0ovSUFCQkdHb2hDZ04vSUFaQkFYRWhCeUFKUVFGeElRWWdBU3dBTmdSQUlBWWhBaUFIREFJTElBdEIvd0Z4QkVBZ0FTZ0NHRUVCUmdSQUlBWWhBaUFIREFNTElBQW9BZ2hCQW5GRkJFQWdCaUVDSUFjTUF3c0ZJQWhCL3dGeEJFQWdBQ2dDQ0VFQmNVVUVRQ0FHSVFJZ0J3d0VDd3NMSUFGQkFEb0FOQ0FCUVFBNkFEVWdDaUFCSUFJZ0F5QUVJQVVRN3dJZ0JpQUJMQUEwSWd0eUlRZ2dCeUFCTEFBMUlnMXlJUVlnQ2tFSWFpSUhJQXhKQkg4Z0J5RUtJQWdoQ1NBTklRZ01BUVVnQ0NFQ0lBWUxDd3NGSUFraEFpQUdDeUVBSUFFZ0FrSC9BWEZCQUVjNkFEUWdBU0FBUWY4QmNVRUFSem9BTlFzTEN3QWdBQ0FCUVFBUWdRRUxLUUVCZnlBQUtBSUFRWFJxSWdBb0FnZ2hBU0FBSUFGQmYybzJBZ2dnQVVFQlNBUkFJQUFRT0FzTEJ3QWdBQ2dDQkF0QUFRRi9JQUFnQVNnQ0NFRUFFSUVCQkVBZ0FTQUNJQU1ROHdJRklBQW9BZ2dpQUNnQ0FDZ0NIQ0VFSUFBZ0FTQUNJQU1nQkVFZmNVSDZCV29SQndBTEM1Z0NBUUovSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZBa0FnQUNBQktBSUFJQVFRZ1FGRkJFQWdBQ2dDQ0NJQUtBSUFLQUlZSVFVZ0FDQUJJQUlnQXlBRUlBVkJQM0ZCbWdacUVRVUFEQUVMSUFFb0FoQWdBa2NFUUNBQktBSVVJQUpIQkVBZ0FTQUROZ0lnSUFFb0FpeEJCRWNFUUNBQlFRQTZBRFFnQVVFQU9nQTFJQUFvQWdnaUFDZ0NBQ2dDRkNFRElBQWdBU0FDSUFKQkFTQUVJQU5CQjNGQjJnWnFFUXdBSUFFc0FEVUVRQ0FCTEFBMFJTRUdJQUZCQXpZQ0xDQUdSUTBFQlNBQlFRUTJBaXdMQ3lBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVjTkFpQUJLQUlZUVFKSERRSWdBVUVCT2dBMkRBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDMFlCQVg4Z0FDQUJLQUlJSUFVUWdRRUVRQ0FCSUFJZ0F5QUVFUEVDQlNBQUtBSUlJZ0FvQWdBb0FoUWhCaUFBSUFFZ0FpQURJQVFnQlNBR1FRZHhRZG9HYWhFTUFBc0x3QVlDQTM4R2ZDTUdJUVFqQmtIZ0FHb2tCZ0pBSUFBckExaEVBQUFBQUFBQUFBQm1CRUFEUUNBRlFRTkdEUUpCQUNFREEwQWdBMEVFUndSQUlBVkJCWFFnQkdvZ0EwRURkR29nQlVFRmRDQUFhaUFEUVFOMGFpc0RBRGtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FCUU5BSUFWQkEwWU5Ba0VBSVFNRFFDQURRUVJIQkVBZ0JVRUZkQ0FFYWlBRFFRTjBhaUFGUVFWMElBQnFJQU5CQTNScUt3TUFtamtEQUNBRFFRRnFJUU1NQVFzTElBVkJBV29oQlF3QUFBc0FDd0FMUVFBaEF3TkFJQU5CQTBjRVFFRUFJUUFEUUNBQVFRUkhCRUFnQTBFRmRDQUJhaUFBUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FBUVFGcUlRQU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FTQUVRVUJyS3dNQUlnZ2dCQ3NEU0NJR0lBUXJBMUFpQ2hEd0FpSUhPUU5RSUFKQlFHc2lBQ0FJSUFlaklnZzVBd0FnQWlBR0lBRXJBMUNqSWdZNUEwZ2dBaUFLSUFFckExQ2pJZ2M1QTFBZ0FpQUVLd05ZSUFFckExQ2pPUU5ZSUFFZ0NDQUdJQWNnQkNzRElDSUlJQVFyQXlnaUJpQUVLd013SWdjUTdnSWlDVGtETUNBQklBZ2dDU0FBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQTFDaW9TSUdFUEFDSWdjNUF5Z2dBaUFLSUFlak9RTWdJQUlnQ0NBQkt3TW9vemtES0NBQ0lBWWdBU3NES0tNNUF6QWdBU0FBS3dNQUlBSXJBMGdnQWlzRFVDQUVLd01BSWdnZ0JDc0RDQ0lHSUFRckF4QWlCeER1QWlJTE9RTVFJQUVnQWlzRElDQUNLd01vSUFJckF6QWdDQ0FHSUFjUTdnSWlDVGtEQ0NBQklBZ2dDU0FDS3dNZ29xRWdDeUFBS3dNQW9xRWlDaUFHSUFrZ0Fpc0RLS0toSUFzZ0Fpc0RTS0toSWdnZ0J5QUpJQUlyQXpDaW9TQUxJQUlyQTFDaW9TSUdFUEFDSWdjNUF3QWdBaUFLSUFlak9RTUFJQUlnQ0NBQkt3TUFvemtEQ0NBQ0lBWWdBU3NEQUtNNUF4QWdBaUFFS3dNNElBRXJBekFnQWlzRFdDSUdvcUVnQVNzREtLTWlCemtET0NBQ0lBUXJBeGdnQnlBQkt3TUlvcUVnQmlBQkt3TVFvcUVnQVNzREFLTTVBeGhCQUNFREEwQWdBMEVEUndSQVFRQWhBZ05BSUFKQkEwY0VRQ0FEUVFWMElBRnFJQUpCQTNScUlnQWdBQ3NEQUNBQkt3TlFvemtEQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dCQ1FHUVFBTEdnQWdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdzTGt3RUFJQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRklBQWdBU2dDQUNBRUVJRUJCRUFDUUNBQktBSVFJQUpIQkVBZ0FTZ0NGQ0FDUndSQUlBRWdBellDSUNBQklBSTJBaFFnQVNBQktBSW9RUUZxTmdJb0lBRW9BaVJCQVVZRVFDQUJLQUlZUVFKR0JFQWdBVUVCT2dBMkN3c2dBVUVFTmdJc0RBSUxDeUFEUVFGR0JFQWdBVUVCTmdJZ0N3c0xDd3NjQUNBQUlBRW9BZ2dnQlJDQkFRUkFJQUVnQWlBRElBUVE4UUlMQzlJQkFRSi9Jd1loQXlNR1FVQnJKQVlnQUNBQlFRQVFnUUVFZjBFQkJTQUJCSDhnQVVIQTl3QkJzUGNBRU9RRUlnRUVmeUFESUFFMkFnQWdBMEVBTmdJRUlBTWdBRFlDQ0NBRFFYODJBZ3dnQTBJQU53SVFJQU5DQURjQ0dDQURRZ0EzQWlBZ0EwSUFOd0lvSUFOQkFEWUNNQ0FEUVFBN0FUUWdBMEVBT2dBMklBTkJBVFlDTUNBQktBSUFLQUljSVFBZ0FTQURJQUlvQWdCQkFTQUFRUjl4UWZvRmFoRUhBQ0FES0FJWVFRRkdCSDhnQWlBREtBSVFOZ0lBUVFFRlFRQUxCVUVBQ3dWQkFBc0xJUVFnQXlRR0lBUUwzUUVCQlg4akJpRUFJd1pCTUdva0JpQUFRUmhxSVFJZ0FFRVFhaUVCSUFCQkpHb2hBMEhNeFFNb0FnQWlCQVJBSUFKQjlmOENOZ0lBUWNQL0FpQUNFSjhDSUFNZ0JFSFFBR28yQWdBZ0JDZ0NBQ0lFS0FJRUlRSkJxUGNBSUFRZ0EwR285d0FvQWdBb0FoQkJQM0ZCeWdGcUVRUUFCRUFnQXlnQ0FDSUJLQUlBS0FJSUlRTWdBU0FEUWY4QWNVRUlhaEVBQUNFQklBQkI5ZjhDTmdJQUlBQWdBallDQkNBQUlBRTJBZ2hCN2Y0Q0lBQVFud0lGSUFGQjlmOENOZ0lBSUFFZ0FqWUNCRUdhL3dJZ0FSQ2ZBZ3NMUWVuL0FpQUFRU0JxRUo4Q0M2Y0VBUUo4SUFHM0lBQW9BZ0Mzb3lFRUlBSzNJQUFvQWdTM295RUZJQU1nQVRZQ0FDQURJQUkyQWdSQkFDRUJBMEFnQVVFRVJ3UkFJQU5CQ0dvZ0FVRURkR29nQkNBQVFRaHFJQUZCQTNScUt3TUFvamtEQUNBRFFTaHFJQUZCQTNScUlBVWdBRUVvYWlBQlFRTjBhaXNEQUtJNUF3QWdBMEhJQUdvZ0FVRURkR29nQUVISUFHb2dBVUVEZEdvckF3QTVBd0FnQVVFQmFpRUJEQUVMQ3dKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXJBQklnRkJBV3NPQkFNQ0FRQUVDeUFESUFBckEyZzVBMmdnQXlBQUt3TndPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQVFnQUNzRGlBR2lPUU9JQVNBRElBVWdBQ3NEa0FHaU9RT1FBU0FESUFRZ0FDc0RtQUdpT1FPWUFTQURJQVVnQUNzRG9BR2lPUU9nQVNBRElBQXJBNmdCT1FPb0FRd0VDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBQXJBNGdCSUFRZ0JhS2pPUU9JQVNBRElBQXJBNUFCSUFVZ0JDQUVvaUFGb3FLak9RT1FBUXdEQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVNBRElBQXJBNGdCSUFVZ0JDQUVvaUFGb3FLak9RT0lBUXdDQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCSUFRZ0JhS2pPUU9BQVF3QkN3d0JDeUFESUFFMkFyQUJDd3Y3RXdJUmZ3RjhJd1loRkNNR1FSQnFKQVlnRkNFUUlBRkJBaEE1SVEwZ0FrRUNFRGtoRHlBRUtBSUFJZ2NoQWlBTklBOUJmMm9pRVd4QkFYUWdCMm9oQlFOQUlBc2dEVWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0MwRUJhaUVMREFFTEN5QUhJUUlnRFVGL2FpSVNRUUYwSUFkcUlRVkJBQ0VMQTBBZ0N5QVBTQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdEVUVCZENBQ2FpRUNJQTFCQVhRZ0JXb2hCU0FMUVFGcUlRc01BUXNMSUFSQmtJRElBR29oQWtFQUlBMXJJUk1nQUNBQlFRRjBRUUpxYWlFT1FRRWhERUVBSVFVZ0RVRUJhaUlBSUFRb0FnUnFJUXNnQUVFQmRDQUhhaUVIQW44Q1FBTkFBa0FnRENBUlRnMENJQVVoQUVFQklRa0RRQ0FKSUJKSUJFQWdEaTBBQUNBRFNnUkFJQWRCQURzQkFDQUxRUUE2QUFBRkFrQWdDMEYvT2dBQUlCTkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FBc0xJQTVCQW1vaERpQUxRUUZxSVFzZ0NVRUJhaUVKSUFkQkFtb2hCd3dCQ3dzZ0FTQU9ha0VFYWlFT0lBeEJBV29oRENBQUlRVWdDMEVDYWlFTElBZEJCR29oQnd3QkN3dEJBRUVEUWFpbEFTQVFFRDFCZnd3QkN5QUVRUXhxSVFkQkFTRUFRUUVoQXdOQUlBTWdCVXdFUUNBRElBSW9BZ0FpQzBZRVFDQUFRUUZxSVFFRklBQWhBU0FMUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFJZ0FEWUNBQ0FCSVFBZ0EwRUJhaUVESUFKQkJHb2hBZ3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUFkQkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRUJBMEFnQVNBQVNBUkFJQVJCaklBSWFpQUJRUUowSWdKQkFuUnFJQTAyQWdBZ0JFR01nQWhxSUFKQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBSkJBbkpCQW5ScUlBODJBZ0FnQkVHTWdBaHFJQUpCQTNKQkFuUnFRUUEyQWdBZ0FVRUJhaUVCREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhhak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZxTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJVZ0VDUUdJQlVMQkFBakJnc2JBUUovSXdZaEFpQUFJd1pxSkFZakJrRVBha0Z3Y1NRR0lBSUxDNkdMQTJFQVFZQUlDeEkyVXdBQVBWTUFBRWxUQUFCVFV3QUFZVk1BUWFBSUM5b1QvLy8vLy8vLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLy8vLy8vLy8vLy8vd0FBQUFFQUFRRUJBQUlFLy84RkF3RUFBdjhHQi84REFRSUNBd0lEQWdNREFQOEVCZ2NGL3dFRUJRUUVCUVVFQlFjR0JnWUhCd2NHL3dJRUJnY0ZBLzhBQVFFQkFRRUJBQUVCQVFBQUFRRUJBUUVBQVFFQUFRRUJBQUVCQVFFQUFRRUFBUUVCQVFBQkFRRUFBUUVBQVFFQkFRRUFBQUVCQVFBQkFRRUJBUUVBQVAvL0EvOEZCdi8vQ1FyL0RQLy9ELzhSRXY4VS8vOFhHUC8vRy84ZEh2Ly9BUUwvQlAvL0J3ai8vd3YvRFE3L0VQLy9FLzhWRnYvL0dSci9IUC8vSHdFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUJRQUFBQW9BQUFBVUFBQUFEUUFBQUJvQUFBQVJBQUFBQndBQUFBNEFBQUFjQUFBQUhRQUFBQjhBQUFBYkFBQUFFd0FBQUFNQUFBQUdBQUFBREFBQUFCZ0FBQUFWQUFBQUR3QUFBQjRBQUFBWkFBQUFGd0FBQUFzQUFBQVdBQUFBQ1FBQUFCSUFBQUFBQUFBQUFRQUFBQUlBQUFBRUFBQUFDQUFBQUFNQUFBQUdBQUFBREFBQUFBc0FBQUFGQUFBQUNnQUFBQWNBQUFBT0FBQUFEd0FBQUEwQUFBQUpBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQklBQUFBQ0FBQUFCUUFBQUJNQUFBQUxBQUFBQXdBQUFCMEFBQUFHQUFBQUd3QUFBQlFBQUFBSUFBQUFEQUFBQUJjQUFBQUVBQUFBQ2dBQUFCNEFBQUFSQUFBQUJ3QUFBQllBQUFBY0FBQUFHZ0FBQUJVQUFBQVpBQUFBQ1FBQUFCQUFBQUFOQUFBQURnQUFBQmdBQUFBUEFBQUEvLy8vL3dBQUFBQUJBQUFBQkFBQUFBSUFBQUFJQUFBQUJRQUFBQW9BQUFBREFBQUFEZ0FBQUFrQUFBQUhBQUFBQmdBQUFBMEFBQUFMQUFBQURBQUFBQUVBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBSUFBQUFFQUFBQUFEQUFBQUJnQUFBQXdBQUFBWUFBQUFNQUFBQUdBQUFBQkRBQUFBQlFBQUFBb0FBQUFVQUFBQUtBQUFBRkFBQUFBakFBQUFSZ0FBQUE4QUFBQWVBQUFBUEFBQUFIZ0FBQUJ6QUFBQVpRQUFBRWtBQUFBUkFBQUFJZ0FBQUVRQUFBQUxBQUFBRmdBQUFDd0FBQUJZQUFBQU13QUFBR1lBQUFCUEFBQUFIUUFBQURvQUFBQjBBQUFBYXdBQUFGVUFBQUFwQUFBQVVnQUFBQ2NBQUFCT0FBQUFId0FBQUQ0QUFBQjhBQUFBZXdBQUFIVUFBQUJwQUFBQVVRQUFBQ0VBQUFCQ0FBQUFCd0FBQUE0QUFBQWNBQUFBT0FBQUFIQUFBQUJqQUFBQVJRQUFBQWtBQUFBU0FBQUFKQUFBQUVnQUFBQVRBQUFBSmdBQUFFd0FBQUFiQUFBQU5nQUFBR3dBQUFCYkFBQUFOUUFBQUdvQUFBQlhBQUFBTFFBQUFGb0FBQUEzQUFBQWJnQUFBRjhBQUFBOUFBQUFlZ0FBQUhjQUFBQnRBQUFBV1FBQUFERUFBQUJpQUFBQVJ3QUFBQTBBQUFBYUFBQUFOQUFBQUdnQUFBQlRBQUFBSlFBQUFFb0FBQUFYQUFBQUxnQUFBRndBQUFBN0FBQUFkZ0FBQUc4QUFBQmRBQUFBT1FBQUFISUFBQUJuQUFBQVRRQUFBQmtBQUFBeUFBQUFaQUFBQUVzQUFBQVZBQUFBS2dBQUFGUUFBQUFyQUFBQVZnQUFBQzhBQUFCZUFBQUFQd0FBQUg0QUFBQi9BQUFBZlFBQUFIa0FBQUJ4QUFBQVlRQUFBRUVBQUFBQUFBQUEvLy8vL3dBQUFBQUJBQUFBQndBQUFBSUFBQUFPQUFBQUNBQUFBRGdBQUFBREFBQUFQd0FBQUE4QUFBQWZBQUFBQ1FBQUFGb0FBQUE1QUFBQUZRQUFBQVFBQUFBY0FBQUFRQUFBQUVNQUFBQVFBQUFBY0FBQUFDQUFBQUJoQUFBQUNnQUFBR3dBQUFCYkFBQUFSZ0FBQURvQUFBQW1BQUFBRmdBQUFDOEFBQUFGQUFBQU5nQUFBQjBBQUFBVEFBQUFRUUFBQUY4QUFBQkVBQUFBTFFBQUFCRUFBQUFyQUFBQWNRQUFBSE1BQUFBaEFBQUFUUUFBQUdJQUFBQjFBQUFBQ3dBQUFGY0FBQUJ0QUFBQUl3QUFBRndBQUFCS0FBQUFSd0FBQUU4QUFBQTdBQUFBYUFBQUFDY0FBQUJrQUFBQUZ3QUFBRklBQUFBd0FBQUFkd0FBQUFZQUFBQitBQUFBTndBQUFBMEFBQUFlQUFBQVBnQUFBQlFBQUFCWkFBQUFRZ0FBQUJzQUFBQmdBQUFBYndBQUFFVUFBQUJyQUFBQUxnQUFBQ1VBQUFBU0FBQUFOUUFBQUN3QUFBQmVBQUFBY2dBQUFDb0FBQUIwQUFBQVRBQUFBQ0lBQUFCV0FBQUFUZ0FBQUVrQUFBQmpBQUFBWndBQUFIWUFBQUJSQUFBQURBQUFBSDBBQUFCWUFBQUFQUUFBQUc0QUFBQWFBQUFBSkFBQUFHb0FBQUJkQUFBQU5BQUFBRXNBQUFBcEFBQUFTQUFBQUZVQUFBQlFBQUFBWmdBQUFEd0FBQUI4QUFBQWFRQUFBQmtBQUFBb0FBQUFNd0FBQUdVQUFBQlVBQUFBR0FBQUFIc0FBQUJUQUFBQU1nQUFBREVBQUFCNkFBQUFlQUFBQUhrQUFBQUVBQUFBaUFBQUFBVUFBQUNRQUFBQUJnQUFBSmdBQUFBSkFBQUFzQUFBQU9OWkFBRHBXUUFBN2xrQUFQWlpBQUFBQUFBQXNyNjVQaExjb0w2UXZqaytFdHlndnBDK09iNEFBQUNBc3I2NXZoTGNvRDZRdmptK0V0eWdQcEMrT1Q3U2NoaS9BQUFBQU5KeW1MNDZCZ1MvMG5LWVBqb0dCTC9TY2hnL0FBQUFnTkp5bUQ0NkJnUS8wbktZdmpvR0JEOEFBQUNBVnJnOXYyWk5KRDlXdUwyK1prMGtQMWE0dlQ0QUFBQUFWcmc5UDJaTkpMOVd1TDArWmswa3YxYTR2YjRNNlZnL0FBQUFnQXpwMkQ2WjJUcy9ET25ZdnBuWk96OE02VmkvQUFBQUFBenAyTDZaMlR1L0RPbllQcG5aTzc4QUFBQUEvRk51UC9GbFRyOE5WTzQrOFdWT3Z3MVU3cjRBQUFDQS9GTnV2L0ZsVGo4TlZPNis4V1ZPUHcxVTdqNEFBSUMvQUFBQUFBQUFBTC9RczEyL0FBQUFQOUN6WGI4QUFJQS9BQUFBZ0FBQUFEL1FzMTAvQUFBQXY5Q3pYVDl3UEFBQWNEd0FBSEE4QUFCd1BBQUFqS3dBQUtLc0FBRENyQUFBNTZ3QUFBR3RBQUFnclFBQU5hMEFBRkt0QUFCOHJRQUF2SzBBQU51dEFBRHlyUUFBQ0s0QUFCeXVBQUJacmdBQWlhNEFBS1d1QUFESXJnQUEvNjRBQURhdkFBQk5yd0FBYmE4QUFKZXZBQURrcndBQS82OEFBQ3F3QUFCR3NBQUFhN0FBQUpHd0FBQzJzQUFBeWJBQUFONndBQUR4c0FBQUJMRUFBQ214QUFBK3NRQUFVckVBQUhPeEFBQ0pzUUFBdUxFQUFPQ3hBQUFCc2dBQUlySUFBRkd5QUFCaXNnQUFmcklBQUx5eUFBRGpzZ0FBQ3JNQUFCNnpBQUJNc3dBQWRMTUFBSkN6QUFDMXN3QUExN01BQUFHMEFBQXN0QUFBU3JRQUFIaTBBQUNndEFBQXg3UUFBUEswQUFBZnRRQUFUN1VBQUhtMUFBQ210UUFBeWJVQUFPZTFBQUFGdGdBQU83WUFBR1cyQUFDRXRnQUFwN1lBQU02MkFBRGp0Z0FBOTdZQUFDeTNBQUE4dHdBQWVyY0FBTHkzQUFEbXR3QUFFcmdBQURtNEFBQlZ1QUFBZ0xnQUFKdTRBQUN2dUFBQXhyZ0FBTk80QUFEN3VBQUFNTGtBQUd5NUFBQ2F1UUFBdTdrQUFPSzVBQUQ3dVFBQUk3b0FBRWE2QUFCZXVnQUFncm9BQUtlNkFBQ3R1Z0FBNXJvQUFDQzdBQUEvdXdBQVRyc0FBR3U3QUFDSnV3QUFwcnNBQUwrN0FBRFl1d0FBR3J3QUFGUzhBQUNLdkFBQXZyd0FBTks4QUFEcHZBQUFENzBBQURhOUFBQjR2UUFBdEwwQUFPVzlBQUFKdmdBQU43NEFBRksrQUFDS3ZnQUF0YjRBUVlRY0M3MEVBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFEQUFBQUNnQUFBQkVBQUFBWUFBQUFJQUFBQUJrQUFBQVNBQUFBQ3dBQUFBUUFBQUFGQUFBQURBQUFBQk1BQUFBYUFBQUFJUUFBQUNnQUFBQXdBQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBR0FBQUFCd0FBQUE0QUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQU1RQUFBRGdBQUFBNUFBQUFNZ0FBQUNzQUFBQWtBQUFBSFFBQUFCWUFBQUFQQUFBQUZ3QUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTZBQUFBT3dBQUFEUUFBQUF0QUFBQUpnQUFBQjhBQUFBbkFBQUFMZ0FBQURVQUFBQThBQUFBUFFBQUFEWUFBQUF2QUFBQU53QUFBRDRBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBVUFBQUFNQUFBQUV3QUFBQm9BQUFBaEFBQUFLQUFBQURBQUFBQXBBQUFBSWdBQUFCc0FBQUFVQUFBQURRQUFBQVlBQUFBT0FBQUFGUUFBQUJ3QUFBQWpBQUFBS2dBQUFERUFBQUF5QUFBQUt3QUFBQ1FBQUFBZEFBQUFGZ0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUEwQUFBQUxRQUFBQ1lBQUFBdUFBQUFOUUFBQURZQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJQXZ0QWdFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUNBQUFBQVpBQUFBRWdBQUFBc0FBQUFFQUFBQUJRQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQW9BQUFBS1FBQUFDSUFBQUFiQUFBQUZBQUFBQTBBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBS3dBQUFDUUFBQUFkQUFBQUpRQUFBQ3dBQUFBdEFBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBQUFBQUFBQkFBQUFDQUFBQUJBQUFBQUpBQUFBQWdBQUFBTUFBQUFLQUFBQUVRQUFBQmdBQUFBZ0FBQUFHUUFBQUJJQUFBQUxBQUFBQkFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBaUFBQUFHd0FBQUJRQUFBQWNBQUFBSXdBQUFDUUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSXd2ZEFRRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFCa0FBQUFTQUFBQUN3QUFBQk1BQUFBYUFBQUFHd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBQUFBQUFBUUFBQUFnQUFBQVFBQUFBQ1FBQUFBSUFBQUFLQUFBQUVRQUFBQklBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIRUpRdVVCQUVBQUFBSUFBQUFDUUFBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFDQkFSMWFEZ0tHSlJBREZCRVNCQXNJRkFYWUF4Y0cyZ0VaQitVQUhBaHZBQjRKTmdBaENob0FJd3NOQUFrTUJnQUtEUU1BREEwQkFJOFBmMW9rRUNVL0poSHlMQ2NTZkNBb0U3a1hLaFNDRVNzVjd3d3RGcUVKTGhjdkJ6QVlYQVV4R1FZRU14b0RBelFiUUFJMkhMRUJPQjFFQVRrZTlRQTdIN2NBUENDS0FENGhhQUEvSWs0QUlDTTdBQ0VKTEFDbEplRmFRQ1pNU0VFbkRUcERLUEV1UkNrZkprVXFNeDlHSzZnWlNDd1lGVWt0ZHhGS0xuUU9TeS83QzAwdytBbE9NV0VJVHpJR0J6QXp6UVV5Tk40RU1qVVBCRE0yWXdNME45UUNOVGhjQWpZNStBRTNPcVFCT0R0Z0FUazhKUUU2UGZZQU96N0xBRDAvcXdBOUlJOEF3VUVTVzFCQ0JFMVJReXhCVWtUWU4xTkY2QzlVUmp3cFZrZDVJMWRJM3g1WFNha2FTRXBPRjBoTEpCUktUSndSU2sxckQwdE9VUTFOVDdZTFRUQkFDdEJSTWxoWVVoeE5XVk9PUTFwVTNUdGJWZTQwWEZhdUxsMVhtaWxXUnhZbDJGbHdWVjlhcVV4Z1c5bEVZVndpUG1OZEpEaGpYclF5WFZZWEx0OWdxRlpsWVVaUFptTGxSMmRqejBGb1pEMDhZMTFlTjJsbU1WSnFadzlNYTJnNVJtZGpYa0hwYWlkV2JHdm5VRzFuaFV0dWJaZFZiMnRQVU81dkVGcHdiU0pWOEcvcldYRnhIVm9BUWVFcEMvQUJRTVZZbjFOQ1N3QkFTVEtqSXFnUnhWZ2hlL3h6WW1qRldMOUZDekIrR0o5VC9ITkJiVlJpbjFPelFVRXRFaGRDUzJKb1ZHSitXRUpMSVR1NktNTVVBRURGV0o5VFFrc0FRRWt5b3lLb0VVa3l2MFd6UVNFN1NUS0NKemNiNEEyaklnc3dRUzI2S0tNaU54dS9FbzRKcUJGK0dCSVh3eFNvRWVBTmpnbmZCQUFBQUFBQUFQQS83MkZJc1ZBeDlqL0tiMDJScnVmMFA2b1JiTzlpMFBJL0FBQUFBQUFBOEQ4N3Y2ZkFhU1RwUDdzZ3gzdDZVZUUvWGF0eTNsV28wVDhBQUFBQUFRQUFBQUlBQUFBREFBQUFBQUFBQUFFQUFBQUZBQUFBQWdBQUFBUUFBQUFHQUFBQUF3QUFBQWNBQUFBSUFFSGtLd3VkQVFFQUFBQUZBQUFBQmdBQUFBSUFBQUFFQUFBQUJ3QUFBQXdBQUFBREFBQUFDQUFBQUFzQUFBQU5BQUFBQ1FBQUFBb0FBQUFPQUFBQUR3QUFBQUFBQUFBQkFBQUFCUUFBQUFZQUFBQU9BQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQThBQUFBREFBQUFDQUFBQUF3QUFBQVFBQUFBRlFBQUFBa0FBQUFMQUFBQUVRQUFBQlFBQUFBV0FBQUFDZ0FBQUJJQUFBQVRBQUFBRndBQUFCZ0FRWlF0QzgwQ0FRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQmtBQUFBREFBQUFDQUFBQUF3QUFBQVJBQUFBR0FBQUFCb0FBQUFKQUFBQUN3QUFBQklBQUFBWEFBQUFHd0FBQUNBQUFBQUtBQUFBRXdBQUFCWUFBQUFjQUFBQUh3QUFBQ0VBQUFBVUFBQUFGUUFBQUIwQUFBQWVBQUFBSWdBQUFDTUFBQUFBQUFBQUFRQUFBQVVBQUFBR0FBQUFEZ0FBQUE4QUFBQWJBQUFBQWdBQUFBUUFBQUFIQUFBQURRQUFBQkFBQUFBYUFBQUFIQUFBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhRQUFBQ1lBQUFBSkFBQUFDd0FBQUJJQUFBQVlBQUFBSGdBQUFDVUFBQUFuQUFBQUNnQUFBQk1BQUFBWEFBQUFId0FBQUNRQUFBQW9BQUFBTFFBQUFCUUFBQUFXQUFBQUlBQUFBQ01BQUFBcEFBQUFMQUFBQUM0QUFBQVZBQUFBSVFBQUFDSUFBQUFxQUFBQUt3QUFBQzhBQUFBd0FFSDBMd3ZRQkFFQUFBQUZBQUFBQmdBQUFBNEFBQUFQQUFBQUd3QUFBQndBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCb0FBQUFkQUFBQUtnQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSGdBQUFDa0FBQUFyQUFBQUNRQUFBQXNBQUFBU0FBQUFHQUFBQUI4QUFBQW9BQUFBTEFBQUFEVUFBQUFLQUFBQUV3QUFBQmNBQUFBZ0FBQUFKd0FBQUMwQUFBQTBBQUFBTmdBQUFCUUFBQUFXQUFBQUlRQUFBQ1lBQUFBdUFBQUFNd0FBQURjQUFBQThBQUFBRlFBQUFDSUFBQUFsQUFBQUx3QUFBRElBQUFBNEFBQUFPd0FBQUQwQUFBQWpBQUFBSkFBQUFEQUFBQUF4QUFBQU9RQUFBRG9BQUFBK0FBQUFQd0FBQUFBQUFBQUJBQUFBQXdBQUFBY0FBQUFQQUFBQUh3QUFBRDhBQUFCL0FBQUEvd0FBQVA4QkFBRC9Bd0FBL3djQUFQOFBBQUQvSHdBQS96OEFBUDkvQUFBQXdERHdETXc4L0FQRE0vTVB6ei8vZ0VDd2NJeE12SHlEUTdOemowKy9meURnRU5BczdCemNJK01UMHkvdkg5K2dZSkJRckd5Y1hLTmprMU92YjU5ZkNNZzQrQVRFTlBRTHl6djdCOGMzOTRoSXVIaUVSTFIwaTB1N2U0ZEh0M2NvNkJqWUpPUVUxQ3ZyRzlzbjV4ZlhxR2lZV0tSa2xGU3JhNXRicDJlWFZ3TENNdklPemo3K0FjRXg4UTNOUGYyQ1FySnlqazYrZm9GQnNYR05UYjE5SXVJUzBpN3VIdDRoNFJIUkxlMGQzYUppa2xLdWJwNWVvV0dSVWExdG5WMEt5anI2QnNZMjlnbkpPZmtGeFRYMWlrcTZlb1pHdG5hSlNibDVoVVcxZFNycUd0b201aGJXS2VrWjJTWGxGZFdxYXBwYXBtYVdWcWxwbVZtbFpaVlYzaElFbFFBQUFBRC8vLy8vLy8vLy8vLy8vLzhBUWRBMEM4d0JBZ0FBd0FNQUFNQUVBQURBQlFBQXdBWUFBTUFIQUFEQUNBQUF3QWtBQU1BS0FBREFDd0FBd0F3QUFNQU5BQURBRGdBQXdBOEFBTUFRQUFEQUVRQUF3QklBQU1BVEFBREFGQUFBd0JVQUFNQVdBQURBRndBQXdCZ0FBTUFaQUFEQUdnQUF3QnNBQU1BY0FBREFIUUFBd0I0QUFNQWZBQURBQUFBQXN3RUFBTU1DQUFEREF3QUF3d1FBQU1NRkFBRERCZ0FBd3djQUFNTUlBQUREQ1FBQXd3b0FBTU1MQUFERERBQUF3dzBBQU5NT0FBREREd0FBd3dBQURMc0JBQXpEQWdBTXd3TUFETU1FQUF6VEFFR2tPZ3Y1QXdFQUFBQUNBQUFBQXdBQUFBUUFBQUFGQUFBQUJnQUFBQWNBQUFBSUFBQUFDUUFBQUFvQUFBQUxBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUlRQUFBQ0lBQUFBakFBQUFKQUFBQUNVQUFBQW1BQUFBSndBQUFDZ0FBQUFwQUFBQUtnQUFBQ3NBQUFBc0FBQUFMUUFBQUM0QUFBQXZBQUFBTUFBQUFERUFBQUF5QUFBQU13QUFBRFFBQUFBMUFBQUFOZ0FBQURjQUFBQTRBQUFBT1FBQUFEb0FBQUE3QUFBQVBBQUFBRDBBQUFBK0FBQUFQd0FBQUVBQUFBQmhBQUFBWWdBQUFHTUFBQUJrQUFBQVpRQUFBR1lBQUFCbkFBQUFhQUFBQUdrQUFBQnFBQUFBYXdBQUFHd0FBQUJ0QUFBQWJnQUFBRzhBQUFCd0FBQUFjUUFBQUhJQUFBQnpBQUFBZEFBQUFIVUFBQUIyQUFBQWR3QUFBSGdBQUFCNUFBQUFlZ0FBQUZzQUFBQmNBQUFBWFFBQUFGNEFBQUJmQUFBQVlBQUFBR0VBQUFCaUFBQUFZd0FBQUdRQUFBQmxBQUFBWmdBQUFHY0FBQUJvQUFBQWFRQUFBR29BQUFCckFBQUFiQUFBQUcwQUFBQnVBQUFBYndBQUFIQUFBQUJ4QUFBQWNnQUFBSE1BQUFCMEFBQUFkUUFBQUhZQUFBQjNBQUFBZUFBQUFIa0FBQUI2QUFBQWV3QUFBSHdBQUFCOUFBQUFmZ0FBQUg4QVFhREVBQXYvQVFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFNZ0FpQUNJQUlnQWlBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQllBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QWpZQ05nSTJBallDTmdJMkFqWUNOZ0kyQWpZQk1BRXdBVEFCTUFFd0FUQUJNQUkxUWpWQ05VSTFRalZDTlVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkJNQUV3QVRBQk1BRXdBVEFDTllJMWdqV0NOWUkxZ2pXQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnVEFCTUFFd0FUQUFnQkJwTXdBQy9rREFRQUFBQUlBQUFBREFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQXNBQUFBTUFBQUFEUUFBQUE0QUFBQVBBQUFBRUFBQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBVkFBQUFGZ0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDTUFBQUFrQUFBQUpRQUFBQ1lBQUFBbkFBQUFLQUFBQUNrQUFBQXFBQUFBS3dBQUFDd0FBQUF0QUFBQUxnQUFBQzhBQUFBd0FBQUFNUUFBQURJQUFBQXpBQUFBTkFBQUFEVUFBQUEyQUFBQU53QUFBRGdBQUFBNUFBQUFPZ0FBQURzQUFBQThBQUFBUFFBQUFENEFBQUEvQUFBQVFBQUFBRUVBQUFCQ0FBQUFRd0FBQUVRQUFBQkZBQUFBUmdBQUFFY0FBQUJJQUFBQVNRQUFBRW9BQUFCTEFBQUFUQUFBQUUwQUFBQk9BQUFBVHdBQUFGQUFBQUJSQUFBQVVnQUFBRk1BQUFCVUFBQUFWUUFBQUZZQUFBQlhBQUFBV0FBQUFGa0FBQUJhQUFBQVd3QUFBRndBQUFCZEFBQUFYZ0FBQUY4QUFBQmdBQUFBUVFBQUFFSUFBQUJEQUFBQVJBQUFBRVVBQUFCR0FBQUFSd0FBQUVnQUFBQkpBQUFBU2dBQUFFc0FBQUJNQUFBQVRRQUFBRTRBQUFCUEFBQUFVQUFBQUZFQUFBQlNBQUFBVXdBQUFGUUFBQUJWQUFBQVZnQUFBRmNBQUFCWUFBQUFXUUFBQUZvQUFBQjdBQUFBZkFBQUFIMEFBQUIrQUFBQWZ3QkJvTlFBQzZFQ0NnQUFBR1FBQUFEb0F3QUFFQ2NBQUtDR0FRQkFRZzhBZ0phWUFBRGg5UVgvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL0FBRUNBd1FGQmdjSUNmLy8vLy8vLy84S0N3d05EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSS8vLy8vLy8vd29MREEwT0R4QVJFaE1VRlJZWEdCa2FHeHdkSGg4Z0lTSWovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy93QkIwTllBQ3hnUkFBb0FFUkVSQUFBQUFBVUFBQUFBQUFBSkFBQUFBQXNBUWZEV0FBc2hFUUFQQ2hFUkVRTUtCd0FCRXdrTEN3QUFDUVlMQUFBTEFBWVJBQUFBRVJFUkFFR2gxd0FMQVFzQVFhclhBQXNZRVFBS0NoRVJFUUFLQUFBQ0FBa0xBQUFBQ1FBTEFBQUxBRUhiMXdBTEFRd0FRZWZYQUFzVkRBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BRUdWMkFBTEFRNEFRYUhZQUFzVkRRQUFBQVFOQUFBQUFBa09BQUFBQUFBT0FBQU9BRUhQMkFBTEFSQUFRZHZZQUFzZUR3QUFBQUFQQUFBQUFBa1FBQUFBQUFBUUFBQVFBQUFTQUFBQUVoSVNBRUdTMlFBTERoSUFBQUFTRWhJQUFBQUFBQUFKQUVIRDJRQUxBUXNBUWMvWkFBc1ZDZ0FBQUFBS0FBQUFBQWtMQUFBQUFBQUxBQUFMQUVIOTJRQUxBUXdBUVluYUFBdCtEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUFBd01USXpORFUyTnpnNVFVSkRSRVZHR1JKRU93SS9MRWNVUFRNd0Noc0dSa3RGTnc5SkRvNFhBMEFkUEdrck5oOUtMUndCSUNVcElRZ01GUllpTGhBNFBnczBNUmhrZEhWMkwwRUpmemtSSTBNeVFvbUtpd1VFSmlnbkRTb2VOWXdIR2tpVEU1U1ZBRUdRMndBTDF3NUpiR3hsWjJGc0lHSjVkR1VnYzJWeGRXVnVZMlVBUkc5dFlXbHVJR1Z5Y205eUFGSmxjM1ZzZENCdWIzUWdjbVZ3Y21WelpXNTBZV0pzWlFCT2IzUWdZU0IwZEhrQVVHVnliV2x6YzJsdmJpQmtaVzVwWldRQVQzQmxjbUYwYVc5dUlHNXZkQ0J3WlhKdGFYUjBaV1FBVG04Z2MzVmphQ0JtYVd4bElHOXlJR1JwY21WamRHOXllUUJPYnlCemRXTm9JSEJ5YjJObGMzTUFSbWxzWlNCbGVHbHpkSE1BVm1Gc2RXVWdkRzl2SUd4aGNtZGxJR1p2Y2lCa1lYUmhJSFI1Y0dVQVRtOGdjM0JoWTJVZ2JHVm1kQ0J2YmlCa1pYWnBZMlVBVDNWMElHOW1JRzFsYlc5eWVRQlNaWE52ZFhKalpTQmlkWE41QUVsdWRHVnljblZ3ZEdWa0lITjVjM1JsYlNCallXeHNBRkpsYzI5MWNtTmxJSFJsYlhCdmNtRnlhV3g1SUhWdVlYWmhhV3hoWW14bEFFbHVkbUZzYVdRZ2MyVmxhd0JEY205emN5MWtaWFpwWTJVZ2JHbHVhd0JTWldGa0xXOXViSGtnWm1sc1pTQnplWE4wWlcwQVJHbHlaV04wYjNKNUlHNXZkQ0JsYlhCMGVRQkRiMjV1WldOMGFXOXVJSEpsYzJWMElHSjVJSEJsWlhJQVQzQmxjbUYwYVc5dUlIUnBiV1ZrSUc5MWRBQkRiMjV1WldOMGFXOXVJSEpsWm5WelpXUUFTRzl6ZENCcGN5QmtiM2R1QUVodmMzUWdhWE1nZFc1eVpXRmphR0ZpYkdVQVFXUmtjbVZ6Y3lCcGJpQjFjMlVBUW5KdmEyVnVJSEJwY0dVQVNTOVBJR1Z5Y205eUFFNXZJSE4xWTJnZ1pHVjJhV05sSUc5eUlHRmtaSEpsYzNNQVFteHZZMnNnWkdWMmFXTmxJSEpsY1hWcGNtVmtBRTV2SUhOMVkyZ2daR1YyYVdObEFFNXZkQ0JoSUdScGNtVmpkRzl5ZVFCSmN5QmhJR1JwY21WamRHOXllUUJVWlhoMElHWnBiR1VnWW5WemVRQkZlR1ZqSUdadmNtMWhkQ0JsY25KdmNnQkpiblpoYkdsa0lHRnlaM1Z0Wlc1MEFFRnlaM1Z0Wlc1MElHeHBjM1FnZEc5dklHeHZibWNBVTNsdFltOXNhV01nYkdsdWF5QnNiMjl3QUVacGJHVnVZVzFsSUhSdmJ5QnNiMjVuQUZSdmJ5QnRZVzU1SUc5d1pXNGdabWxzWlhNZ2FXNGdjM2x6ZEdWdEFFNXZJR1pwYkdVZ1pHVnpZM0pwY0hSdmNuTWdZWFpoYVd4aFlteGxBRUpoWkNCbWFXeGxJR1JsYzJOeWFYQjBiM0lBVG04Z1kyaHBiR1FnY0hKdlkyVnpjd0JDWVdRZ1lXUmtjbVZ6Y3dCR2FXeGxJSFJ2YnlCc1lYSm5aUUJVYjI4Z2JXRnVlU0JzYVc1cmN3Qk9ieUJzYjJOcmN5QmhkbUZwYkdGaWJHVUFVbVZ6YjNWeVkyVWdaR1ZoWkd4dlkyc2dkMjkxYkdRZ2IyTmpkWElBVTNSaGRHVWdibTkwSUhKbFkyOTJaWEpoWW14bEFGQnlaWFpwYjNWeklHOTNibVZ5SUdScFpXUUFUM0JsY21GMGFXOXVJR05oYm1ObGJHVmtBRVoxYm1OMGFXOXVJRzV2ZENCcGJYQnNaVzFsYm5SbFpBQk9ieUJ0WlhOellXZGxJRzltSUdSbGMybHlaV1FnZEhsd1pRQkpaR1Z1ZEdsbWFXVnlJSEpsYlc5MlpXUUFSR1YyYVdObElHNXZkQ0JoSUhOMGNtVmhiUUJPYnlCa1lYUmhJR0YyWVdsc1lXSnNaUUJFWlhacFkyVWdkR2x0Wlc5MWRBQlBkWFFnYjJZZ2MzUnlaV0Z0Y3lCeVpYTnZkWEpqWlhNQVRHbHVheUJvWVhNZ1ltVmxiaUJ6WlhabGNtVmtBRkJ5YjNSdlkyOXNJR1Z5Y205eUFFSmhaQ0J0WlhOellXZGxBRVpwYkdVZ1pHVnpZM0pwY0hSdmNpQnBiaUJpWVdRZ2MzUmhkR1VBVG05MElHRWdjMjlqYTJWMEFFUmxjM1JwYm1GMGFXOXVJR0ZrWkhKbGMzTWdjbVZ4ZFdseVpXUUFUV1Z6YzJGblpTQjBiMjhnYkdGeVoyVUFVSEp2ZEc5amIyd2dkM0p2Ym1jZ2RIbHdaU0JtYjNJZ2MyOWphMlYwQUZCeWIzUnZZMjlzSUc1dmRDQmhkbUZwYkdGaWJHVUFVSEp2ZEc5amIyd2dibTkwSUhOMWNIQnZjblJsWkFCVGIyTnJaWFFnZEhsd1pTQnViM1FnYzNWd2NHOXlkR1ZrQUU1dmRDQnpkWEJ3YjNKMFpXUUFVSEp2ZEc5amIyd2dabUZ0YVd4NUlHNXZkQ0J6ZFhCd2IzSjBaV1FBUVdSa2NtVnpjeUJtWVcxcGJIa2dibTkwSUhOMWNIQnZjblJsWkNCaWVTQndjbTkwYjJOdmJBQkJaR1J5WlhOeklHNXZkQ0JoZG1GcGJHRmliR1VBVG1WMGQyOXlheUJwY3lCa2IzZHVBRTVsZEhkdmNtc2dkVzV5WldGamFHRmliR1VBUTI5dWJtVmpkR2x2YmlCeVpYTmxkQ0JpZVNCdVpYUjNiM0pyQUVOdmJtNWxZM1JwYjI0Z1lXSnZjblJsWkFCT2J5QmlkV1ptWlhJZ2MzQmhZMlVnWVhaaGFXeGhZbXhsQUZOdlkydGxkQ0JwY3lCamIyNXVaV04wWldRQVUyOWphMlYwSUc1dmRDQmpiMjV1WldOMFpXUUFRMkZ1Ym05MElITmxibVFnWVdaMFpYSWdjMjlqYTJWMElITm9kWFJrYjNkdUFFOXdaWEpoZEdsdmJpQmhiSEpsWVdSNUlHbHVJSEJ5YjJkeVpYTnpBRTl3WlhKaGRHbHZiaUJwYmlCd2NtOW5jbVZ6Y3dCVGRHRnNaU0JtYVd4bElHaGhibVJzWlFCU1pXMXZkR1VnU1M5UElHVnljbTl5QUZGMWIzUmhJR1Y0WTJWbFpHVmtBRTV2SUcxbFpHbDFiU0JtYjNWdVpBQlhjbTl1WnlCdFpXUnBkVzBnZEhsd1pRQk9ieUJsY25KdmNpQnBibVp2Y20xaGRHbHZiZ0FBQUFBQUFFeERYME5VV1ZCRkFBQUFBRXhEWDA1VlRVVlNTVU1BQUV4RFgxUkpUVVVBQUFBQUFFeERYME5QVEV4QlZFVUFBRXhEWDAxUFRrVlVRVkpaQUV4RFgwMUZVMU5CUjBWVEFFSHc2UUFMbHdJREFBQUFCQUFBQUFRQUFBQUdBQUFBZy9taUFFUk9iZ0Q4S1JVQTBWY25BTjAwOVFCaTI4QUFQSm1WQUVHUVF3QmpVZjRBdTk2ckFMZGh4UUE2YmlRQTBrMUNBRWtHNEFBSjZpNEFISkxSQU9zZC9nQXBzUndBNkQ2bkFQVTFnZ0JFdXk0QW5PbUVBTFFtY0FCQmZsOEExcEU1QUZPRE9RQ2M5RGtBaTErRUFDajV2UUQ0SHpzQTN2K1hBQStZQlFBUkwrOEFDbHFMQUcwZmJRRFBmallBQ2NzbkFFWlB0d0NlWmo4QUxlcGZBTG9uZFFEbDY4Y0FQWHZ4QVBjNUJ3Q1NVb29BKzJ2cUFCK3hYd0FJWFkwQU1BTldBSHY4UmdEd3Eyc0FJTHpQQURiMG1nRGpxUjBBWG1HUkFBZ2I1Z0NGbVdVQW9CUmZBSTFBYUFDQTJQOEFKM05OQUFZR01RREtWaFVBeWFoekFIdmlZQUJyak1BQVFaUHNBQXY5QTBEN0lmay9BQUFBQUMxRWRENEFBQUNBbUViNFBBQUFBR0JSekhnN0FBQUFnSU1iOERrQUFBQkFJQ1Y2T0FBQUFJQWlndU0yQUFBQUFCM3phVFU0WSswKzJnOUpQMTZZZXovYUQ4ay9hVGVzTVdnaElqTzBEeFF6YUNHaU13QUFBQUFDQUFBQUF3QUFBQVVBQUFBSEFBQUFDd0FBQUEwQUFBQVJBQUFBRXdBQUFCY0FBQUFkQUFBQUh3QUFBQ1VBQUFBcEFBQUFLd0FBQUM4QUFBQTFBQUFBT3dBQUFEMEFBQUJEQUFBQVJ3QUFBRWtBQUFCUEFBQUFVd0FBQUZrQUFBQmhBQUFBWlFBQUFHY0FBQUJyQUFBQWJRQUFBSEVBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBbFFBQUFKY0FBQUNkQUFBQW93QUFBS2NBQUFDdEFBQUFzd0FBQUxVQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTB3QUFBQUVBQUFBTEFBQUFEUUFBQUJFQUFBQVRBQUFBRndBQUFCMEFBQUFmQUFBQUpRQUFBQ2tBQUFBckFBQUFMd0FBQURVQUFBQTdBQUFBUFFBQUFFTUFBQUJIQUFBQVNRQUFBRThBQUFCVEFBQUFXUUFBQUdFQUFBQmxBQUFBWndBQUFHc0FBQUJ0QUFBQWNRQUFBSGtBQUFCL0FBQUFnd0FBQUlrQUFBQ0xBQUFBandBQUFKVUFBQUNYQUFBQW5RQUFBS01BQUFDbkFBQUFxUUFBQUswQUFBQ3pBQUFBdFFBQUFMc0FBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwUUFBQURBeE1qTTBOVFkzT0RsaFltTmtaV1pCUWtORVJVWjRXQ3N0Y0ZCcFNXNU9BRUdnOEFBTGdRRWxBQUFBYlFBQUFDOEFBQUFsQUFBQVpBQUFBQzhBQUFBbEFBQUFlUUFBQUNVQUFBQlpBQUFBTFFBQUFDVUFBQUJ0QUFBQUxRQUFBQ1VBQUFCa0FBQUFKUUFBQUVrQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFBZ0FBQUFKUUFBQUhBQUFBQUFBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBUWJEeEFBdTVBU1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUJRUlFBQUUyTUFBSGhGQUFEWmJ3QUE4RGdBQUFBQUFBQjRSUUFBN1hJQUFLZzdBQUFBQUFBQWVFVUFBR2wrQUFDNFFnQUFBQUFBQUhoRkFBQVprQUFBdUVJQUFBQUFBQUI0UlFBQWpaQUFBTGhDQUFBQUFBQUE1RVVBQUp5bkFBQUFBQUFBQVFBQUFHQTVBQUFBQUFBQVVFVUFBTnVuQUFBRkFFSDA4Z0FMQVFJQVFZenpBQXNLQVFBQUFBRUFBQUNtNmdCQnBQTUFDd0VDQUVHejh3QUxCZi8vLy8vL0FFSDQ4d0FMQVFrQVFZVDBBQXNCQWdCQm1QUUFDeElDQUFBQUFBQUFBQUVBQUFCbzBnQUFBQVFBUWNUMEFBc0UvLy8vL3dCQmlQVUFDd0VGQUVHVTlRQUxBUU1BUWF6MUFBc09BUUFBQUFJQUFBQjQxZ0FBQUFRQVFjVDFBQXNCQVFCQjAvVUFDd1VLLy8vLy93QkJ2UFlBQ3dFREFFSGo5Z0FMQmYvLy8vLy9BRUdvOXdBTDF4QlFSUUFBL3I4QUFIaEZBQUJld0FBQXdEc0FBQUFBQUFCNFJRQUFDOEFBQU5BN0FBQUFBQUFBVUVVQUFDekFBQUI0UlFBQU9jQUFBTEE3QUFBQUFBQUFlRVVBQUtqQUFBQ29Pd0FBQUFBQUFIaEZBQUM0d0FBQTZEc0FBQUFBQUFCNFJRQUF5Y0FBQU1BN0FBQUFBQUFBZUVVQUFPdkFBQUFJUEFBQUFBQUFBSGhGQUFBUHdRQUF3RHNBQUFBQUFBRElSUUFBTjhFQUFNaEZBQUE1d1FBQXlFVUFBRHZCQUFESVJRQUFQY0VBQU1oRkFBQS93UUFBeUVVQUFFSEJBQURJUlFBQVE4RUFBTWhGQUFCRndRQUF5RVVBQUVmQkFBRElSUUFBWnNvQUFNaEZBQUJKd1FBQXlFVUFBRXZCQUFESVJRQUFUY0VBQUhoRkFBQlB3UUFBc0RzQUFBQUFBQUJRUlFBQXNNUUFBRkJGQUFEUHhBQUFVRVVBQU83RUFBQlFSUUFBRGNVQUFGQkZBQUFzeFFBQVVFVUFBRXZGQUFCUVJRQUFhc1VBQUZCRkFBQ0p4UUFBVUVVQUFLakZBQUJRUlFBQXg4VUFBRkJGQUFEbXhRQUFVRVVBQUFYR0FBQlFSUUFBSk1ZQUFPUkZBQUEzeGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQjV4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFDN3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUQ2eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQUhoRkFBQkx4d0FBaUQwQUFBQUFBQUJRUlFBQU9jY0FBSGhGQUFCMXh3QUFpRDBBQUFBQUFBQlFSUUFBbjhjQUFGQkZBQURReHdBQTVFVUFBQUhJQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFERElBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy81RVVBQUYvSUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBSTdJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vZUVVQUFMM0lBQUNvUFFBQUFBQUFBSGhGQUFEV3lBQUFvRDBBQUFBQUFBQjRSUUFBRmNrQUFLZzlBQUFBQUFBQWVFVUFBQzNKQUFDZ1BRQUFBQUFBQUhoRkFBQkZ5UUFBWUQ0QUFBQUFBQUI0UlFBQVdja0FBTEJDQUFBQUFBQUFlRVVBQUcvSkFBQmdQZ0FBQUFBQUFPUkZBQUNJeVFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUtBK0FBQUFBQUFBNUVVQUFNekpBQUFBQUFBQUFRQUFBTGcrQUFBQUFBQUFVRVVBQU9MSkFBRGtSUUFBKzhrQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEZ1BnQUFBQUFBQU9SRkFBQS95Z0FBQUFBQUFBRUFBQUM0UGdBQUFBQUFBT1JGQUFCb3lnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFCZy9BQUFBQUFBQTVFVUFBS3pLQUFBQUFBQUFBUUFBQURBL0FBQUFBQUFBVUVVQUFNTEtBQURrUlFBQTI4b0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQllQd0FBQUFBQUFPUkZBQUFmeXdBQUFBQUFBQUVBQUFBd1B3QUFBQUFBQU9SRkFBQjF6QUFBQUFBQUFBTUFBQUJnUGdBQUFnQUFBSmcvQUFBQ0FBQUFvRDhBQUFBSUFBQlFSUUFBM013QUFGQkZBQUM2ekFBQTVFVUFBTy9NQUFBQUFBQUFBd0FBQUdBK0FBQUNBQUFBbUQ4QUFBSUFBQURRUHdBQUFBZ0FBRkJGQUFBMHpRQUE1RVVBQUZiTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQStEOEFBQUFJQUFCUVJRQUFtODBBQU9SRkFBQ3d6UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBUGcvQUFBQUNBQUE1RVVBQVBYTkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFCUVJRQUFFYzRBQU9SRkFBQW16Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJBQUFBQ0FBQUE1RVVBQUVMT0FBQUFBQUFBQWdBQUFHQStBQUFDQUFBQVFFQUFBQUlBQUFEa1JRQUFYczRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJBUUFBQUFnQUFBT1JGQUFDSnpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNaEFBQUFBQUFBQVVFVUFBTS9PQUFEa1JRQUE4ODRBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUR3UUFBQUFBQUFBRkJGQUFBNXp3QUE1RVVBQUZqUEFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQUdFRUFBQUFBQUFCUVJRQUFuczhBQU9SRkFBQzN6d0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBRUJCQUFBQUFBQUFVRVVBQVAzUEFBRGtSUUFBRnRBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCb1FRQUFBZ0FBQUZCRkFBQXIwQUFBNUVVQUFNTFFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUVBQUFJQUFBQjRSUUFBUTlBQUFLQkJBQUFBQUFBQTVFVUFBR2JRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUJRUlFBQWlkQUFBSGhGQUFDZzBBQUFvRUVBQUFBQUFBRGtSUUFBMTlBQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEQVFRQUFBZ0FBQU9SRkFBRDUwQUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTUJCQUFBQ0FBQUE1RVVBQUJ2UkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCNFJRQUFQdEVBQUdBK0FBQUFBQUFBNUVVQUFGVFJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFhRUlBQUFJQUFBQlFSUUFBWnRFQUFPUkZBQUI3MFFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUdoQ0FBQUNBQUFBZUVVQUFKalJBQUJnUGdBQUFBQUFBSGhGQUFDdDBRQUFZRDRBQUFBQUFBQlFSUUFBd3RFQUFPUkZBQURiMFFBQUFBQUFBQUVBQUFDd1FnQUFBQUFBQUFFQUFBQUFBQUFBK0RnQUFBRUFBQUFDQUFBQUFBQUFBUEE0QUFBREFBQUFCQUFBQUFBQUFBQUlPUUFBQlFBQUFBWUFBQUFCQUFBQXVWS01QbzVhNXo2NVVvdytBQUFBQUJnNUFBQUhBQUFBQ0FBQUFBa0FBQUFCQUFBQUNnQUFBQUFBQUFBb09RQUFCd0FBQUFzQUFBQU1BQUFBQWdBQUFBMEFBQUFBQUFBQU9Ea0FBQWNBQUFBT0FBQUFEd0FBQUFNQUFBQVFBQUFBLy8vLy8vNy8vLy85Ly8vL09Ed0FBSEE4QUFDUVBBQUFPRHdBQUhBOEFBQndQQUFBbUR3QUFIQThBQUE0UEFBQWNEd0FBSmc4QUFCd1BBQUFPRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQWNEd0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBQVFBQUFBQUFBQUFDQUFBQVFBWUFBSUErQUFBQUFBQUFpQk1BQURBYUFBQVVBQUFBUXk1VlZFWXRPQUJCaklnQkN3THdRd0JCcElnQkN4Sm9PUUFBK0RrQUFJZzZBQUNJT2dBQUlCMEFRZWlKQVFzQ2pPSUFRYUNLQVF1OUVpQWlBQUFnSmdBQVgzQ0pBUDhKTHc4QUFJQS9BQURBUHdBQUFBRGN6OUUxQUFBQUFBREFGVDhBQUFBQXNEc0FBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQUVBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBTmc3QUFBUkFBQUFGUUFBQUJNQUFBQVVBQUFBQkFBQUFBSUFBQUFDQUFBQUFnQUFBQUFBQUFEb093QUFGZ0FBQUJjQUFBQUVBQUFBQUFBQUFQZzdBQUFXQUFBQUdBQUFBQVFBQUFBQUFBQUFLRHdBQUJFQUFBQVpBQUFBRXdBQUFCUUFBQUFGQUFBQUFBQUFBS0E4QUFBUkFBQUFHZ0FBQUJNQUFBQVVBQUFBQkFBQUFBTUFBQUFEQUFBQUF3QUFBQUFBQUFDSVBRQUFHd0FBQUJ3QUFBQUFBQUFBb0QwQUFCMEFBQUFlQUFBQUFRQUFBQVlBQUFBQkFBQUFCQUFBQUFVQUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQWdBQUFBRkFBQUFBQUFBQUtnOUFBQWZBQUFBSUFBQUFBSUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQUxBQUFBREFBQUFBWUFBQUFMQUFBQUJ3QUFBQWdBQUFBQUFBQUFzRDBBQUNFQUFBQWlBQUFBK1AvLy8vai8vLyt3UFFBQUl3QUFBQ1FBQUFDZ1JnQUF0RVlBQUFnQUFBQUFBQUFBeUQwQUFDVUFBQUFtQUFBQStQLy8vL2ovLy8vSVBRQUFKd0FBQUNnQUFBRFFSZ0FBNUVZQUFBUUFBQUFBQUFBQTREMEFBQ2tBQUFBcUFBQUEvUC8vLy96Ly8vL2dQUUFBS3dBQUFDd0FBQUFBUndBQUZFY0FBQVFBQUFBQUFBQUErRDBBQUMwQUFBQXVBQUFBL1AvLy8vei8vLy80UFFBQUx3QUFBREFBQUFBd1J3QUFSRWNBQUFBQUFBQVFQZ0FBSHdBQUFERUFBQUFEQUFBQUNRQUFBQUlBQUFBRkFBQUFEUUFBQUFvQUFBQUtBQUFBQ3dBQUFBd0FBQUFHQUFBQURBQUFBQWdBQUFBQUFBQUFJRDRBQUIwQUFBQXlBQUFBQkFBQUFBWUFBQUFCQUFBQUJBQUFBQTRBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBMEFBQUFKQUFBQUFBQUFBREErQUFBZkFBQUFNd0FBQUFVQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBUEFBQUFFQUFBQUFvQUFBQUxBQUFBQndBQUFBQUFBQUJBUGdBQUhRQUFBRFFBQUFBR0FBQUFCZ0FBQUFFQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUVRQUFBQklBQUFBTEFBQUFDQUFBQUFVQUFBQUFBQUFBVUQ0QUFEVUFBQUEyQUFBQU53QUFBQUVBQUFBR0FBQUFEZ0FBQUFBQUFBQndQZ0FBT0FBQUFEa0FBQUEzQUFBQUFnQUFBQWNBQUFBUEFBQUFBQUFBQUlBK0FBQTZBQUFBT3dBQUFEY0FBQUFCQUFBQUFnQUFBQU1BQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBQ0FBQUFBa0FBQUFLQUFBQUN3QUFBQUFBQUFEQVBnQUFQQUFBQUQwQUFBQTNBQUFBREFBQUFBMEFBQUFPQUFBQUR3QUFBQkFBQUFBUkFBQUFFZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFBQUFBQStENEFBRDRBQUFBL0FBQUFOd0FBQUFNQUFBQUVBQUFBQVFBQUFBVUFBQUFDQUFBQUFRQUFBQUlBQUFBR0FBQUFBQUFBQURnL0FBQkFBQUFBUVFBQUFEY0FBQUFIQUFBQUNBQUFBQU1BQUFBSkFBQUFCQUFBQUFNQUFBQUVBQUFBQ2dBQUFBQUFBQUJ3UHdBQVFnQUFBRU1BQUFBM0FBQUFFd0FBQUJjQUFBQVlBQUFBR1FBQUFCb0FBQUFiQUFBQUFRQUFBUGovLy85d1B3QUFGQUFBQUJVQUFBQVdBQUFBRndBQUFCZ0FBQUFaQUFBQUdnQUFBQUFBQUFDb1B3QUFSQUFBQUVVQUFBQTNBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFBZ0FBQVBqLy8vK29Qd0FBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFBQUFBQUNVQUFBQnRBQUFBTHdBQUFDVUFBQUJrQUFBQUx3QUFBQ1VBQUFCNUFBQUFBQUFBQUNVQUFBQkpBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQndBQUFBQUFBQUFDVUFBQUJoQUFBQUlBQUFBQ1VBQUFCaUFBQUFJQUFBQUNVQUFBQmtBQUFBSUFBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJaQUFBQUFBQUFBRUVBQUFCTkFBQUFBQUFBQUZBQUFBQk5BQUFBQUFBQUFFb0FBQUJoQUFBQWJnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBUmdBQUFHVUFBQUJpQUFBQWNnQUFBSFVBQUFCaEFBQUFjZ0FBQUhrQUFBQUFBQUFBVFFBQUFHRUFBQUJ5QUFBQVl3QUFBR2dBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBYVFBQUFHd0FBQUFBQUFBQVRRQUFBR0VBQUFCNUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFHVUFBQUFBQUFBQVNnQUFBSFVBQUFCc0FBQUFlUUFBQUFBQUFBQkJBQUFBZFFBQUFHY0FBQUIxQUFBQWN3QUFBSFFBQUFBQUFBQUFVd0FBQUdVQUFBQndBQUFBZEFBQUFHVUFBQUJ0QUFBQVlnQUFBR1VBQUFCeUFBQUFBQUFBQUU4QUFBQmpBQUFBZEFBQUFHOEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFSQUFBQUdVQUFBQmpBQUFBWlFBQUFHMEFBQUJpQUFBQVpRQUFBSElBQUFBQUFBQUFTZ0FBQUdFQUFBQnVBQUFBQUFBQUFFWUFBQUJsQUFBQVlnQUFBQUFBQUFCTkFBQUFZUUFBQUhJQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUFBQUFBQktBQUFBZFFBQUFHd0FBQUFBQUFBQVFRQUFBSFVBQUFCbkFBQUFBQUFBQUZNQUFBQmxBQUFBY0FBQUFBQUFBQUJQQUFBQVl3QUFBSFFBQUFBQUFBQUFUZ0FBQUc4QUFBQjJBQUFBQUFBQUFFUUFBQUJsQUFBQVl3QUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBSE1BQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVndBQUFHVUFBQUJrQUFBQWJnQUFBR1VBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFGUUFBQUJvQUFBQWRRQUFBSElBQUFCekFBQUFaQUFBQUdFQUFBQjVBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFBQUIxQUFBQWNnQUFBR1FBQUFCaEFBQUFlUUFBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUFBQUFBQVRRQUFBRzhBQUFCdUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFBQUFBQUJYQUFBQVpRQUFBR1FBQUFBQUFBQUFWQUFBQUdnQUFBQjFBQUFBQUFBQUFFWUFBQUJ5QUFBQWFRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQVFlaWNBUXNSMkQ4QUFFWUFBQUJIQUFBQU53QUFBQUVBUVlHZEFRdndCVUFBQUVnQUFBQkpBQUFBTndBQUFBSUFBQUFBQUFBQUlFQUFBRW9BQUFCTEFBQUFOd0FBQUNNQUFBQWtBQUFBQndBQUFBZ0FBQUFKQUFBQUNnQUFBQ1VBQUFBTEFBQUFEQUFBQUFBQUFBQklRQUFBVEFBQUFFMEFBQUEzQUFBQUpnQUFBQ2NBQUFBTkFBQUFEZ0FBQUE4QUFBQVFBQUFBS0FBQUFCRUFBQUFTQUFBQUFBQUFBR2hBQUFCT0FBQUFUd0FBQURjQUFBQXBBQUFBS2dBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBckFBQUFGd0FBQUJnQUFBQUFBQUFBaUVBQUFGQUFBQUJSQUFBQU53QUFBQ3dBQUFBdEFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFDNEFBQUFkQUFBQUhnQUFBQUFBQUFDb1FBQUFVZ0FBQUZNQUFBQTNBQUFBQXdBQUFBUUFBQUFBQUFBQTBFQUFBRlFBQUFCVkFBQUFOd0FBQUFVQUFBQUdBQUFBQUFBQUFQaEFBQUJXQUFBQVZ3QUFBRGNBQUFBQkFBQUFJUUFBQUFBQUFBQWdRUUFBV0FBQUFGa0FBQUEzQUFBQUFnQUFBQ0lBQUFBQUFBQUFTRUVBQUZvQUFBQmJBQUFBTndBQUFCQUFBQUFFQUFBQUh3QUFBQUFBQUFCd1FRQUFYQUFBQUYwQUFBQTNBQUFBRVFBQUFBVUFBQUFnQUFBQUFBQUFBTWhCQUFCZUFBQUFYd0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUpCQkFBQmVBQUFBWUFBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFQaEJBQUJoQUFBQVlnQUFBRGNBQUFBRkFBQUFCZ0FBQUEwQUFBQXlBQUFBTXdBQUFBNEFBQUEwQUFBQUFBQUFBRGhDQUFCakFBQUFaQUFBQURjQUFBQUFBQUFBU0VJQUFHVUFBQUJtQUFBQU53QUFBQXdBQUFBU0FBQUFEUUFBQUJNQUFBQU9BQUFBQVFBQUFCUUFBQUFQQUFBQUFBQUFBSkJDQUFCbkFBQUFhQUFBQURjQUFBQTFBQUFBTmdBQUFDRUFBQUFpQUFBQUl3QUFBQUFBQUFDZ1FnQUFhUUFBQUdvQUFBQTNBQUFBTndBQUFEZ0FBQUFrQUFBQUpRQUFBQ1lBQUFCbUFBQUFZUUFBQUd3QUFBQnpBQUFBWlFBQUFBQUFBQUIwQUFBQWNnQUFBSFVBQUFCbEFFSDhvZ0VML0lBQ1lENEFBRjRBQUFCckFBQUFOd0FBQUFBQUFBQndRZ0FBWGdBQUFHd0FBQUEzQUFBQUZRQUFBQUlBQUFBREFBQUFCQUFBQUE4QUFBQVdBQUFBRUFBQUFCY0FBQUFSQUFBQUJRQUFBQmdBQUFBUUFBQUFBQUFBQU5oQkFBQmVBQUFBYlFBQUFEY0FBQUFIQUFBQUNBQUFBQkVBQUFBNUFBQUFPZ0FBQUJJQUFBQTdBQUFBQUFBQUFCaENBQUJlQUFBQWJnQUFBRGNBQUFBSkFBQUFDZ0FBQUJNQUFBQThBQUFBUFFBQUFCUUFBQUErQUFBQUFBQUFBS0JCQUFCZUFBQUFid0FBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQUtBL0FBQVVBQUFBRlFBQUFCWUFBQUFYQUFBQUdBQUFBQmtBQUFBYUFBQUFBQUFBQU5BL0FBQWNBQUFBSFFBQUFCNEFBQUFmQUFBQUlBQUFBQ0VBQUFBaUFBQUFSWEp5YjNJNklHeGhZbVZzYVc1bklIZHZjbXNnYjNabGNtWnNiM2N1Q2dCVmJtdHViM2R1SUc5eUlIVnVjM1Z3Y0c5eWRHVmtJR3hoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElISmxjWFZsYzNSbFpDNGdVMlYwSUhSdklHMWhiblZoYkM0S0FFeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhObGRDQjBieUFsY3k0S0FFMUJUbFZCVEFCQlZWUlBYMDFGUkVsQlRnQkJWVlJQWDA5VVUxVUFRVlZVVDE5QlJFRlFWRWxXUlFCQlZWUlBYMEpTUVVOTFJWUkpUa2NBUlhKeWIzSTZJRlZ1YzNWd2NHOXlkR1ZrSUhCcGVHVnNJR1p2Y20xaGRDQW9KV1FwSUhKbGNYVmxjM1JsWkM0S0FFRjFkRzhnZEdoeVpYTm9iMnhrSUNoaWNtRmphMlYwS1NCdFlYSnJaWElnWTI5MWJuUnpJQzFiSlROa09pQWxNMlJkSUZzbE0yUTZJQ1V6WkYwZ1d5VXpaRG9nSlROa1hTc3VDZ0JCZFhSdklIUm9jbVZ6YUc5c1pDQW9ZbkpoWTJ0bGRDa2dZV1JxZFhOMFpXUWdkR2h5WlhOb2IyeGtJSFJ2SUNWa0xnb0FiV1ZrYVdGdUFFOTBjM1VBUVhWMGJ5QjBhSEpsYzJodmJHUWdLQ1Z6S1NCaFpHcDFjM1JsWkNCMGFISmxjMmh2YkdRZ2RHOGdKV1F1Q2dBL1B6OGdNUW9BUHo4L0lESUtBRDgvUHlBekNnQkZjbkp2Y2pvZ2RXNXpkWEJ3YjNKMFpXUWdjR2w0Wld3Z1ptOXliV0YwTGdvQVJYSnliM0k2SUU1VlRFd2djR0YwZEVoaGJtUnNaUzRLQUVWeWNtOXlPaUJqWVc0bmRDQnNiMkZrSUhCaGRIUmxjbTRnWm5KdmJTQk9WVXhNSUdKMVptWmxjaTRLQUVWeWNtOXlPaUJ2ZFhRZ2IyWWdiV1Z0YjNKNUxnb0FJQWtLRFFCUVlYUjBaWEp1SUVSaGRHRWdjbVZoWkNCbGNuSnZjaUVoQ2dCRmNuSnZjaUJ5WldGa2FXNW5JSEJoZEhSbGNtNGdabWxzWlNBbkpYTW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHOXdaVzRnWTJGdFpYSmhJSEJoY21GdFpYUmxjbk1nWm1sc1pTQWlKWE1pSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCbWFXeGxJR3hsYm1kMGFDNEFSWEp5YjNJNklITjFjSEJzYVdWa0lHWnBiR1VnWkc5bGN5QnViM1FnWVhCd1pXRnlJSFJ2SUdKbElHRnVJRUZTVkc5dmJFdHBkQ0JqWVcxbGNtRWdjR0Z5WVcxbGRHVnlJR1pwYkdVdUNnQkZjbkp2Y2lBb0pXUXBPaUIxYm1GaWJHVWdkRzhnY21WaFpDQm1jbTl0SUdacGJHVXVBR0Z5WjJ4RFlXMWxjbUZHY25WemRIVnRVa2dvS1RvZ1lYSlFZWEpoYlVSbFkyOXRjRTFoZENncElHbHVaR2xqWVhSbFpDQndZWEpoYldWMFpYSWdaWEp5YjNJdUNnQkZjbkp2Y2pvZ2FXTndSMlYwU2w5VlgxaGpBRVZ5Y205eUlERTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ01qb2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBek9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURRNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTlRvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUEyT2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRGM2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3VDZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUVacGNuTjBJR3hwYm1VZ2JYVnpkQ0JpWlNCdWRXMWlaWElnYjJZZ2JXRnlhMlZ5SUdOdmJtWnBaM01nZEc4Z2NtVmhaQzRLQUNWc2JIVWxZd0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWM2SUhCaGRIUmxjbTRnSnlWekp5QnpjR1ZqYVdacFpXUWdhVzRnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuZFhKaGRHbHZiaUIzYUdsc1pTQnBiaUJpWVhKamIyUmxMVzl1YkhrZ2JXOWtaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQmthWEpsWTNSdmNua2dibUZ0WlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR3h2WVdRZ2NHRjBkR1Z5YmlBbkpYTW5MZ29BSld4bUFFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp5d2diV0Z5YTJWeUlHUmxabWx1YVhScGIyNGdKVE5rT2lCR2FYSnpkQ0JzYVc1bElHMTFjM1FnWW1VZ2NHRjBkR1Z5YmlCM2FXUjBhQzRLQUNWc1ppQWxiR1lnSld4bUlDVnNaZ0FsWmlBbFpnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5Y3NJRzFoY210bGNpQmtaV1pwYm1sMGFXOXVJQ1V6WkRvZ1RHbHVaWE1nTWlBdElEUWdiWFZ6ZENCaVpTQnRZWEpyWlhJZ2RISmhibk5tYjNKdExnb0FXeVZ6WFNBQVpHVmlkV2NBYVc1bWJ3QjNZWEp1YVc1bkFHVnljbTl5QUNWekpYTUFMbWx6WlhRQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJR1pwYkdVZ0p5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2NtVmhaR2x1WnlCcGJXRm5aVk5sZEM0S0FFbHRZV2RsYzJWMElHTnZiblJoYVc1eklDVmtJR2x0WVdkbGN5NEtBRVpoYkd4cGJtY2dZbUZqYXlCMGJ5QnlaV0ZrYVc1bklDY2xjeVZ6SnlCcGJpQkJVbFJ2YjJ4TGFYUWdkalF1ZUNCbWIzSnRZWFF1Q2dCRmNuSnZjaUJ5WldGa2FXNW5JRXBRUlVjZ1ptbHNaUzRLQUVWeWNtOXlJSEpsWVdScGJtY2dTbEJGUnlCbWFXeGxJR2hsWVdSbGNpNEtBQ1ZtQUVacGJHVWdiM0JsYmlCbGNuSnZjaTRnSlhNS0FGSmxZV1FnWlhKeWIzSWhJUW9BY2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpKem9nQUNWekpYTUtBQ1ZrQUFvakl5TWdVM1Z5Wm1GalpTQk9ieTRsWkNBakl5TUtBQ1Z6QUNBZ1VtVmhaQ0JKYldGblpWTmxkQzRLQUVWeWNtOXlJRzl3Wlc1cGJtY2dabWxzWlNBbkpYTXVhWE5sZENjdUNnQWdJQ0FnWlc1a0xnb0FJQ0JTWldGa0lFWmxZWFIxY21WVFpYUXVDZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtWnpaWFFuTGdvQUlDQlNaV0ZrSUUxaGNtdGxjbE5sZEM0S0FHMXlhd0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekxtMXlheWN1Q2dBbFppQWxaaUFsWmlBbFpnQlVjbUZ1YzJadmNtMWhkR2x2YmlCdFlYUnlhWGdnY21WaFpDQmxjbkp2Y2lFaENnQnFjR2NBYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXhMM0psWmtSaGRHRlRaWFJRZEhJeUxnb0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJdUNnQnlZZ0JyY0cxTWIyRmtVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JR1pwYkdWdVlXMWxMM0psWmtSaGRHRlRaWFJRZEhJdUNnQkZjbkp2Y2lCc2IyRmthVzVuSUV0UVRTQmtZWFJoT2lCMWJtRmliR1VnZEc4Z2IzQmxiaUJtYVd4bElDY2xjeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdiRzloWkdsdVp5QkxVRTBnWkdGMFlUb2daWEp5YjNJZ2NtVmhaR2x1WnlCa1lYUmhMZ29BYTNCdFEyaGhibWRsVUdGblpVNXZUMlpTWldaRVlYUmhVMlYwS0NrNklFNVZURXdnY21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmNtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nY21WbVJHRjBZVk5sZEM0S0FIQnZhVzUwY3kwbFpBb0FhM0J0VFdGMFkyaHBibWNvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2YVc1SmJXRm5aVXgxYldFdUNnQlFZV2RsV3lWa1hTQWdjSEpsT2lVelpDd2dZV1owT2lVelpDd2daWEp5YjNJZ1BTQWxaZ29BSlhNdUpYTUFRWE56WlhKMGFXOXVJR0J3ZVhKaGJXbGtMVDV6YVhwbEtDa2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTlFYjBkZmMyTmhiR1ZmYVc1MllYSnBZVzUwWDJSbGRHVmpkRzl5TG1Od2NBQlFlWEpoYldsa0lHbHpJRzV2ZENCaGJHeHZZMkYwWldRQVQyTjBZWFpsSUc5MWRDQnZaaUJ5WVc1blpRQlRZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J0U1cxaFoyVnpMbk5wZW1Vb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRHRndiR0ZqYVdGdUlIQjVjbUZ0YVdRZ2FHRnpJRzV2ZENCaVpXVnVJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1F0UG01MWJVOWpkR0YyWlhNb0tTQStJREJnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCa2IyVnpJRzV2ZENCamIyNTBZV2x1SUdGdWVTQnNaWFpsYkhNQVFYTnpaWEowYVc5dUlHQmtlVzVoYldsalgyTmhjM1E4WTI5dWMzUWdRbWx1YjIxcFlXeFFlWEpoYldsa016Sm1LajRvY0hseVlXMXBaQ2xnSUdaaGFXeGxaQ0JwYmlBQVQyNXNlU0JpYVc1dmJXbGhiQ0J3ZVhKaGJXbGtJR2x6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCUGJteDVJRVl6TWlCcGJXRm5aWE1nYzNWd2NHOXlkR1ZrQUVGemMyVnlkR2x2YmlCZ2FXMHhMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOUdNekpnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR1F1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUU5dWJIa2djMmx1WjJ4bElHTm9ZVzV1Wld3Z2FXMWhaMlZ6SUhOMWNIQnZjblJsWkFCQmMzTmxjblJwYjI0Z1lHbHRNUzVqYUdGdWJtVnNjeWdwSUQwOUlERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnWkM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVsdFlXZGxjeUJ0ZFhOMElHaGhkbVVnZEdobElITmhiV1VnZDJsa2RHZ0FRWE56WlhKMGFXOXVJR0JrTG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aWE1nYlhWemRDQm9ZWFpsSUhSb1pTQnpZVzFsSUdobGFXZG9kQUJCYzNObGNuUnBiMjRnWUdsdE1TNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG1obGFXZG9kQ2dwSUQwOUlHbHRNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lISnZkeUE4SUcxSVpXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtZ0FjbTkzSUc5MWRDQnZaaUJpYjNWdVpITUFUaloyYVhOcGIyNHlOVWRoZFhOemFXRnVVMk5oYkdWVGNHRmpaVkI1Y21GdGFXUkZBRVJ2UnlCUWVYSmhiV2xrQUU1dmJpMXRZWGdnYzNWd2NISmxjM05wYjI0QVUzVmljR2w0Wld3QWNISjFibVZHWldGMGRYSmxjd0JHYVc1a0lFOXlhV1Z1ZEdGMGFXOXVjd0JCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6TG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxaGdJR1poYVd4bFpDQnBiaUFBUW5WamEyVjBjeUJoY21VZ2JtOTBJR0ZzYkc5allYUmxaQUJCYzNObGNuUnBiMjRnWUcxQ2RXTnJaWFJ6V3pCZExuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnRSbVZoZEhWeVpWQnZhVzUwY3k1emFYcGxLQ2tnUEQwZ2JVMWhlRTUxYlVabFlYUjFjbVZRYjJsdWRITmdJR1poYVd4bFpDQnBiaUFBVkc5dklHMWhibmtnWm1WaGRIVnlaU0J3YjJsdWRITUFRWE56WlhKMGFXOXVJR0JpZFdOclpYUmJNRjB1Wm1seWMzUWdQajBnWW5WamEyVjBXMjVkTG1acGNuTjBZQ0JtWVdsc1pXUWdhVzRnQUc1MGFGOWxiR1Z0Wlc1MElHWmhhV3hsWkFCQmMzTmxjblJwYjI0Z1lHdHdMbk5qWVd4bElEd2diVXhoY0d4aFkybGhibEI1Y21GdGFXUXViblZ0VTJOaGJHVlFaWEpQWTNSaGRtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhCdmFXNTBJSE5qWVd4bElHbHpJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQnJjQzV6WTI5eVpTQTlQU0JzWVhBeExtZGxkRHhtYkc5aGRENG9lU2xiZUYxZ0lHWmhhV3hsWkNCcGJpQUFVMk52Y21VZ2FYTWdibTkwSUdOdmJuTnBjM1JsYm5RZ2QybDBhQ0IwYUdVZ1JHOUhJR2x0WVdkbEFFRnpjMlZ5ZEdsdmJpQmdiR0Z3TUM1b1pXbG5hSFFvS1NBOVBTQnNZWEF4TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZaR1YwWldOMGIzSnpMMFJ2UjE5elkyRnNaVjlwYm5aaGNtbGhiblJmWkdWMFpXTjBiM0l1YUFCWGFXUjBhQzlvWldsbmFIUWdZWEpsSUc1dmRDQmpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0d4aGNEQXVhR1ZwWjJoMEtDa2dQVDBnYkdGd01TNW9aV2xuYUhRb0tTa2dKaVlnS0Noc1lYQXhMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2dvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDa3BJQ1ltSUNoc1lYQXhMbmRwWkhSb0tDa2dQVDBnYkdGd01pNTNhV1IwYUNncEtXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnphWHBsY3lCaGNtVWdhVzVqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tIZ3RNU2tnUGowZ01DQW1KaUFvZUNzeEtTQThJR3hoY0RFdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9lUzB4S1NBK1BTQXdJQ1ltSUNoNUt6RXBJRHdnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUI1SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBU1cxaFoyVWdaR2x0Wlc1emFXOXVjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaHNZWEF3TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdWRDbHpkR1E2T21ac2IyOXlLSGdwSUQwOUlDaHBiblFwZUdBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YVc1MFpYSndiMnhoZEdVdWFBQm1iRzl2Y2lncElHRnVaQ0JqWVhOMElHNXZkQ0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUNocGJuUXBjM1JrT2pwbWJHOXZjaWg1S1NBOVBTQW9hVzUwS1hsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I1Y0NBK1BTQXdJQ1ltSUhsd0lEd2dhR1ZwWjJoMFlDQm1ZV2xzWldRZ2FXNGdBSGx3SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I1Y0Y5d2JIVnpYekVnUGowZ01DQW1KaUI1Y0Y5d2JIVnpYekVnUENCb1pXbG5hSFJnSUdaaGFXeGxaQ0JwYmlBQWVYQmZjR3gxYzE4eElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNGNDQStQU0F3SUNZbUlIaHdJRHdnZDJsa2RHaGdJR1poYVd4bFpDQnBiaUFBZUhBZ2IzVjBJRzltSUdKdmRXNWtjd0JCYzNObGNuUnBiMjRnWUhod1gzQnNkWE5mTVNBK1BTQXdJQ1ltSUhod1gzQnNkWE5mTVNBOElIZHBaSFJvWUNCbVlXbHNaV1FnYVc0Z0FIaHdYM0JzZFhOZk1TQnZkWFFnYjJZZ1ltOTFibVJ6QUVGemMyVnlkR2x2YmlCZ2R6QWdQajBnTUNBbUppQjNNQ0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVQzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnZHpFZ1BqMGdNQ0FtSmlCM01TQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3SUNZbUlIY3lJRHc5SURFdU1EQXdNV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIY3pJRDQ5SURBZ0ppWWdkek1nUEQwZ01TNHdNREF4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLSGN3SzNjeEszY3lLM2N6S1NBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0FvZUMweEtTQStQU0F3SUNZbUlDaDRLekVwSUR3Z2FXMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoNUxURXBJRDQ5SURBZ0ppWWdLSGtyTVNrZ1BDQnBiUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXhMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNERXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNFgyUnBkbDh5TFRBdU5XWWdQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRYMlJwZGw4eUlHOTFkQ0J2WmlCaWIzVnVaSE1nYjNWMElHOW1JR0p2ZFc1a2N5Qm1iM0lnYVc1MFpYSndiMnhoZEdsdmJnQkJjM05sY25ScGIyNGdZSGxmWkdsMlh6SXRNQzQxWmlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhsZlpHbDJYeklnYjNWMElHOW1JR0p2ZFc1a2N5QnZkWFFnYjJZZ1ltOTFibVJ6SUdadmNpQnBiblJsY25CdmJHRjBhVzl1QUVGemMyVnlkR2x2YmlCZ2VGOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnZVY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREl1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVobGFXZG9kQ0JwY3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TVM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHhMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BDQnRTVzFoWjJWekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpibVJsZUNCcGN5QnZkWFFnYjJZZ2NtRnVaMlVBVGpaMmFYTnBiMjR4T0VKcGJtOXRhV0ZzVUhseVlXMXBaRE15WmtVQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK1BTQTFZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbU53Y0FCSmJXRm5aU0JwY3lCMGIyOGdjMjFoYkd3QVFYTnpaWEowYVc5dUlHQm9aV2xuYUhRZ1BqMGdOV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlWU1U1VU9HQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdKbElHZHlZWGx6WTJGc1pRQkJjM05sY25ScGIyNGdZR2x0WVdkbExtTm9ZVzV1Wld4ektDa2dQVDBnTVdBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR2hoZG1VZ01TQmphR0Z1Ym1Wc0FFRnpjMlZ5ZEdsdmJpQmdiVkI1Y21GdGFXUXVjMmw2WlNncElEMDlJRzFPZFcxUFkzUmhkbVZ6S20xT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQm9ZWE1nYm05MElHSmxaVzRnWVd4c2IyTmhkR1ZrSUhsbGRBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuZHBaSFJvS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J2WmlCM2NtOXVaeUJ6YVhwbElHWnZjaUJ3ZVhKaGJXbGtBRUZ6YzJWeWRHbHZiaUJnYVcxaFoyVXVhR1ZwWjJoMEtDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JrYzNRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJFWlhOMGFXNWhkR2x2YmlCcGJXRm5aU0J6YUc5MWJHUWdZbVVnWVNCbWJHOWhkQUJWYm10dWIzZHVJR2x0WVdkbElIUjVjR1VBVlc1emRYQndiM0owWldRZ2FXMWhaMlVnZEhsd1pRQk9OblpwYzJsdmJqbEZlR05sY0hScGIyNUZBRUZ6YzJWeWRHbHZiaUJnYVcwdWQybGtkR2dvS1NBOVBTQnBiUzV6ZEdWd0tDa3ZjMmw2Wlc5bUtHWnNiMkYwS1dBZ1ptRnBiR1ZrSUdsdUlBQXZWWE5sY25NdllYTXZSRzlqZFcxbGJuUnpMMFJsZG1Wc2IzQnRaVzUwTDJkcGRHaDFZaTloY25SdmIyeHJhWFExTFdwekwyeHBZaTloY25SdmIyeHJhWFExTDJ4cFlpOVRVa012UzFCTkwwWnlaV0ZyVFdGMFkyaGxjaTlrWlhSbFkzUnZjbk12YjNKcFpXNTBZWFJwYjI1ZllYTnphV2R1YldWdWRDNWpjSEFBVTNSbGNDQnphWHBsSUcxMWMzUWdZbVVnWlhGMVlXd2dkRzhnZDJsa2RHZ2dabTl5SUc1dmR3QkJjM05sY25ScGIyNGdZSGdnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNElEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUcxMWMzUWdZbVVnYkdWemN5QjBhR0Z1SUhSb1pTQnBiV0ZuWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjVJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQWVTQnRkWE4wSUdKbElHeGxjM01nZEdoaGJpQjBhR1VnYVcxaFoyVWdhR1ZwWjJoMEFFRnpjMlZ5ZEdsdmJpQmdaeTVqYUdGdWJtVnNjeWdwSUQwOUlESmdJR1poYVd4bFpDQnBiaUFBVG5WdFltVnlJRzltSUdOb1lXNXVaV3h6SUhOb2IzVnNaQ0JpWlNBeUFFRnpjMlZ5ZEdsdmJpQmdiV0Y0WDJobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUV0Y0YVcxMWJTQmlhVzRnYzJodmRXeGtJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2FHbHpkQ0FoUFNCT1ZVeE1ZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OXZjbWxsYm5SaGRHbHZibDloYzNOcFoyNXRaVzUwTG1nQVNHbHpkRzluY21GdElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCQmMzTmxjblJwYjI0Z1lDaG1ZbWx1S3pBdU5XWXBJRDRnTUNBbUppQW9abUpwYmkwd0xqVm1LU0E4SUc1MWJWOWlhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFUmxZMmx0WVd3Z1ltbHVJSEJ2YzJsMGFXOXVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUcxaFoyNXBkSFZrWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUUxaFoyNXBkSFZrWlNCallXNXViM1FnWW1VZ2JtVm5ZWFJwZG1VQVFYTnpaWEowYVc5dUlHQnVkVzFmWW1sdWN5QStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCaWFXNXpJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTVNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN5SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCaU1TQStQU0F3SUNZbUlHSXhJRHdnYm5WdFgySnBibk5nSUdaaGFXeGxaQ0JwYmlBQVlqRWdZbWx1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSXlJRDQ5SURBZ0ppWWdZaklnUENCdWRXMWZZbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQmlNaUJpYVc0Z2FXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFbEVJR0ZzY21WaFpIa2daWGhwYzNSekFFSjFhV3hrSUZCNWNtRnRhV1FBUlhoMGNtRmpkQ0JHWldGMGRYSmxjd0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5RdWMybDZaU2dwSUQwOUlHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwySnBibUZ5ZVY5b2FXVnlZWEpqYUdsallXeGZZMngxYzNSbGNtbHVaeTVvQUVGemMybG5ibTFsYm5RZ2MybDZaU0IzY205dVp3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblJiYVYwZ0lUMGdMVEZnSUdaaGFXeGxaQ0JwYmlBQVFYTnphV2R1YldWdWRDQnBjeUJwYm5aaGJHbGtBRUZ6YzJWeWRHbHZiaUJnWVhOemFXZHViV1Z1ZEZ0cFhTQThJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMmxuYm0xbGJuUWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2FXNWthV05sYzF0aGMzTnBaMjV0Wlc1MFcybGRYU0E4SUc1MWJWOW1aV0YwZFhKbGMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsMExUNXpaV052Ym1RdWMybDZaU2dwSUNFOUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4MWMzUmxjaUJ0ZFhOMElHaGhkbVVnWVhSc1pXRnpaWFFnTVNCbVpXRjBkWEpsQUVGemMyVnlkR2x2YmlCZ2JVc2dQVDBnYlVObGJuUmxjbk11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyMWhkR05vWlhKekwydHRaV1J2YVdSekxtZ0FheUJ6YUc5MWJHUWdiV0YwWTJnZ2RHaGxJRzUxYldKbGNpQnZaaUJqYkhWemRHVnlJR05sYm5SbGNuTUFRWE56WlhKMGFXOXVJR0J1ZFcxZlptVmhkSFZ5WlhNZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCbVpXRjBkWEpsY3lCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQRDBnYm5WdFgyWmxZWFIxY21WellDQm1ZV2xzWldRZ2FXNGdBRTF2Y21VZ2FXNWthV05sY3lCMGFHRnVJR1psWVhSMWNtVnpBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BqMGdiVXRnSUdaaGFXeGxaQ0JwYmlBQVRtOTBJR1Z1YjNWbmFDQm1aV0YwZFhKbGN3QkJjM05wWjI1dFpXNTBJSE5wZW1VZ2FYTWdhVzVqYjNKeVpXTjBBRUZ6YzJWeWRHbHZiaUJnYm5WdFgyTmxiblJsY25NZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUZSb1pYSmxJRzExYzNRZ1ltVWdZWFFnYkdWaGMzUWdNU0JqWlc1MFpYSUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12ZG1semRXRnNYMlJoZEdGaVlYTmxMbWdBUVhOelpYSjBhVzl1SUdCa1pYUmxZM1J2Y21BZ1ptRnBiR1ZrSUdsdUlBQkVaWFJsWTNSdmNpQnBjeUJPVlV4TUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDa3VjMmw2WlNncElENGdNR0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdseklHVnRjSFI1QUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVkMmxrZEdnb0tTQTlQU0JrWlhSbFkzUnZjaTArZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCUWVYSmhiV2xrSUdGdVpDQmtaWFJsWTNSdmNpQnphWHBsSUcxcGMyMWhkR05vQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NsYk1GMHVhR1ZwWjJoMEtDa2dQVDBnWkdWMFpXTjBiM0l0UG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFNVRkRE5mWHpJeE5HUmxabUYxYkhSZlpHVnNaWFJsU1U0MmRtbHphVzl1T0V0bGVXWnlZVzFsU1V4cE9UWkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFUaloyYVhOcGIyNDRTMlY1Wm5KaGJXVkpUR2s1TmtWRlJVNVRYekUwWkdWbVlYVnNkRjlrWld4bGRHVkpVek5mUlVWT1UxODVZV3hzYjJOaGRHOXlTVk16WDBWRlJVVUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQkdiM1Z1WkNBbFpDQm1aV0YwZFhKbGN5QnBiaUJ4ZFdWeWVRQmliMjlzSUhacGMybHZiam82Vm1semRXRnNSR0YwWVdKaGMyVThkbWx6YVc5dU9qcEdVa1ZCUzBWNGRISmhZM1J2Y2l3Z2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxVM1J2Y21Vc0lIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVTFoZEdOb1pYSThPVFkrSUQ0Nk9uRjFaWEo1S0dOdmJuTjBJSFpwYzJsdmJqbzZSMkYxYzNOcFlXNVRZMkZzWlZOd1lXTmxVSGx5WVcxcFpDQXFLU0JiUmtWQlZGVlNSVjlGV0ZSU1FVTlVUMUlnUFNCMmFYTnBiMjQ2T2taU1JVRkxSWGgwY21GamRHOXlMQ0JUVkU5U1JTQTlJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlZOMGIzSmxMQ0JOUVZSRFNFVlNJRDBnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFRXRjBZMmhsY2p3NU5qNWRBRVpwYm1RZ1RXRjBZMmhsY3lBb01Ta0FTRzkxWjJnZ1ZtOTBhVzVuSUNneEtRQkdhVzVrSUVodmRXZG9JRTFoZEdOb1pYTWdLREVwQUVWemRHbHRZWFJsSUVodmJXOW5jbUZ3YUhrZ0tERXBBRVpwYm1RZ1NXNXNhV1Z5Y3lBb01Ta0FSbWx1WkNCTllYUmphR1Z6SUNneUtRQkliM1ZuYUNCV2IzUnBibWNnS0RJcEFFWnBibVFnU0c5MVoyZ2dUV0YwWTJobGN5QW9NaWtBUlhOMGFXMWhkR1VnU0c5dGIyZHlZWEJvZVNBb01pa0FSbWx1WkNCSmJteHBaWEp6SUNneUtRQkJjM05sY25ScGIyNGdZREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabVZoZEhWeVpWOXRZWFJqYUdWeUxXbHViR2x1WlM1b0FFWmhhV3hsWkNCMGJ5QmpiMjF3ZFhSbElHMWhkSEpwZUNCcGJuWmxjbk5sQUVGemMyVnlkR2x2YmlCZ1ltVnpkRjlwYm1SbGVDQWhQU0J6ZEdRNk9tNTFiV1Z5YVdOZmJHbHRhWFJ6UEhOcGVtVmZkRDQ2T20xaGVDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOdmJXVjBhR2x1WnlCemRISmhibWRsQUVGemMyVnlkR2x2YmlCZ2JVMWhkR05vWlhNdWMybDZaU2dwSUR3OUlHWmxZWFIxY21Wek1TMCtjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJ0WVhSamFHVnpJSE5vYjNWc1pDQmlaU0JzYjNkbGNnQkJjM05sY25ScGIyNGdZR2g1Y0M1emFYcGxLQ2tnUGowZ09TcHRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmFHOXRiMmR5WVhCb2VWOWxjM1JwYldGMGFXOXVMM0p2WW5WemRGOW9iMjF2WjNKaGNHaDVMbWdBYUhsd0lIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNBNUttMWhlRjl1ZFcxZmFIbHdiM1JvWlhObGN3QkJjM05sY25ScGIyNGdZSFJ0Y0Y5cExuTnBlbVVvS1NBK1BTQnVkVzFmY0c5cGJuUnpZQ0JtWVdsc1pXUWdhVzRnQUhSdGNGOXBJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnVkVzFmY0c5cGJuUnpBRUZ6YzJWeWRHbHZiaUJnYUhsd1gyTnZjM1J6TG5OcGVtVW9LU0ErUFNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFhSGx3WDJOdmMzUnpJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTUFRWE56WlhKMGFXOXVJR0J1SUR3OUlHbHVYMjFoZEdOb1pYTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBRk5vYjNWc1pDQmlaU0IwYUdVZ2MyRnRaUUJCYzNObGNuUnBiMjRnWUdScGMzUkNhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHUnBjM1JDYVc1QmJtZHNaU0J0ZFhOMElHNXZkQ0JpWlNCdVpXZGhkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNiMjkwTG1kbGRDZ3BZQ0JtWVdsc1pXUWdhVzRnQUZKdmIzUWdZMkZ1Ym05MElHSmxJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnRhVzVwSUNFOUlDMHhZQ0JtWVdsc1pXUWdhVzRnQUUxcGJtbHRkVzBnYVc1a1pYZ2dibTkwSUhObGRBQkJjM05sY25ScGIyNGdZSGdnUGowZ2JVMXBibGhnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdWFBQjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lIZ2dQQ0J0VFdGNFdHQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhrZ1BqMGdiVTFwYmxsZ0lHWmhhV3hsWkNCcGJpQUFlU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQjVJRHdnYlUxaGVGbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0ErSUMxUVNXQWdabUZwYkdWa0lHbHVJQUJoYm1kc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCaGJtZHNaU0E4UFNCUVNXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhOallXeGxJRDQ5SUcxTmFXNVRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQnpZMkZzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFOWVhoVFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbHVaR1Y0SUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmxnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQThJRzFPZFcxWVFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUJpYVc1WklHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQQ0J0VG5WdFdVSnBibk5nSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmlhVzVCYm1kc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBia0Z1WjJ4bElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdKcGJrRnVaMnhsSUR3Z2JVNTFiVUZ1WjJ4bFFtbHVjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHSnBibE5qWVd4bElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVltbHVVMk5oYkdVZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVUyTmhiR1VnUENCdFRuVnRVMk5oYkdWQ2FXNXpZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUEQwZ0tHSnBibGdnS3lCaWFXNVpLbTFPZFcxWVFtbHVjeUFySUdKcGJrRnVaMnhsS20xT2RXMVlRbWx1Y3lwdFRuVnRXVUpwYm5NZ0t5QmlhVzVUWTJGc1pTcHRUblZ0V0VKcGJuTXFiVTUxYlZsQ2FXNXpLbTFPZFcxQmJtZHNaVUpwYm5NcFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYzJsNlpTQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZhRzkxWjJoZmMybHRhV3hoY21sMGVWOTJiM1JwYm1jdVkzQndBSE5wZW1VZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHMVNaV1pKYldGblpWZHBaSFJvSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUIzYVdSMGFDQnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiVkpsWmtsdFlXZGxTR1ZwWjJoMElENGdNR0FnWm1GcGJHVmtJR2x1SUFCb1pXbG5hSFFnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUc0Z1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwzVjBhV3h6TDNCaGNuUnBZV3hmYzI5eWRDNW9BRzRnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUdzZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUdzZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm5KbFlXc3VhQUJRZVhKaGJXbGtJR2x6SUU1VlRFd0FRWE56WlhKMGFXOXVJR0J6ZEc5eVpTNXphWHBsS0NrZ1BUMGdjRzlwYm5SekxuTnBlbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElITjBiM0psSUdoaGN5QnViM1FnWW1WbGJpQmhiR3h2WTJGMFpXUUFRWE56WlhKMGFXOXVJR0J1ZFcxZmNHOXBiblJ6SUQwOUlIQnZhVzUwY3k1emFYcGxLQ2xnSUdaaGFXeGxaQ0JwYmlBQVUyaHZkV3hrSUdKbElITmhiV1VnYzJsNlpRQkJjM05sY25ScGIyNGdZRzlqZEdGMlpTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1nQVQyTjBZWFpsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCdlkzUmhkbVVnUENCdFRuVnRUMk4wWVhabGMyQWdabUZwYkdWa0lHbHVJQUJQWTNSaGRtVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JRzlqZEdGMlpYTUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FGTmpZV3hsSUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxT2RXMVRZMkZzWlhOUVpYSlBZM1JoZG1WZ0lHWmhhV3hsWkNCcGJpQUFVMk5oYkdVZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlITmpZV3hsSUhCbGNpQnZZM1JoZG1VQUpXMHRKV1F0SlZrdEpVZ3RKVTB0SlZNQVFYTnpaWEowYVc5dUlHQjNhV1IwYUNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1Od2NBQlhhV1IwYUNCallXNXViM1FnWW1VZ2VtVnlid0JCYzNObGNuUnBiMjRnWUdobGFXZG9kQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFTR1ZwWjJoMElHTmhibTV2ZENCaVpTQjZaWEp2QUVGemMyVnlkR2x2YmlCZ2MzUmxjQ0ErUFNCM2FXUjBhR0FnWm1GcGJHVmtJR2x1SUFCVGRHVndJRzExYzNRZ1ltVWdaM0psWVhSbGNpQjBhR0Z1SUc5eUlHVnhkV0ZzSUhSb1pTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lHTm9ZVzV1Wld4eklENGdNR0FnWm1GcGJHVmtJR2x1SUFCT2RXMWlaWElnYjJZZ1kyaGhibTVsYkhNZ1kyRnVibTkwSUdKbElIcGxjbThBUVhOelpYSjBhVzl1SUdCdFJHRjBZUzVuWlhRb0tXQWdabUZwYkdWa0lHbHVJQUJFWVhSaElIQnZhVzUwWlhJZ2FYTWdUbFZNVEFCT1UzUXpYMTh5TVRSa1pXWmhkV3gwWDJSbGJHVjBaVWxvUlVVQVRsTjBNMTlmTWpJd1gxOXphR0Z5WldSZmNIUnlYM0J2YVc1MFpYSkpVR2hPVTE4eE5HUmxabUYxYkhSZlpHVnNaWFJsU1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFTVzUyWVd4cFpDQnBiV0ZuWlNCMGVYQmxBREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlFCT1UzUXpYMTh5TWpCZlgzTm9ZWEpsWkY5d2RISmZjRzlwYm5SbGNrbFFhREUyVG5Wc2JFRnljbUY1UkdWc1pYUmxja2xvUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVFYTnpaWEowYVc5dUlHQnRVM1JoY25SVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDNScGJXVnljeTVqY0hBQUlHeHBibVVnQURvZ0FFTnNiMk5ySUdoaGN5QnViM1FnWW1WbGJpQnpkR0Z5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdiVk4wYjNCVWFXMWxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMnh2WTJzZ2FHRnpJRzV2ZENCaVpXVnVJSE4wYjNCd1pXUUFXeVZ6WFNCYkpYTmRJRnNsYzEwZ09pQWxjem9nSldZZ2JYTUFJRWxPUms4Z0lBQjJhWE5wYjI0Nk9sTmpiM0JsWkZScGJXVnlPanArVTJOdmNHVmtWR2x0WlhJb0tRQnpaWFIxY0FCMFpXRnlaRzkzYmdCelpYUjFjRUZTTWdCZllXUmtUV0Z5YTJWeUFGOWhaR1JOZFd4MGFVMWhjbXRsY2dCZllXUmtUa1pVVFdGeWEyVnlBR2RsZEUxMWJIUnBUV0Z5YTJWeVRuVnRBR2RsZEUxMWJIUnBUV0Z5YTJWeVEyOTFiblFBWDJ4dllXUkRZVzFsY21FQWMyVjBUV0Z5YTJWeVNXNW1iMFJwY2dCelpYUk5ZWEpyWlhKSmJtWnZWbVZ5ZEdWNEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBVM0YxWVhKbFEyOXVkQUJuWlhSVWNtRnVjMDFoZEUxMWJIUnBVM0YxWVhKbEFHZGxkRlJ5WVc1elRXRjBUWFZzZEdsVGNYVmhjbVZTYjJKMWMzUUFaR1YwWldOMFRXRnlhMlZ5QUdkbGRFMWhjbXRsY2s1MWJRQmtaWFJsWTNST1JsUk5ZWEpyWlhJQVoyVjBUWFZzZEdsRllXTm9UV0Z5YTJWeUFHZGxkRTFoY210bGNnQm5aWFJPUmxSTllYSnJaWElBYzJWMFJHVmlkV2ROYjJSbEFHZGxkRVJsWW5WblRXOWtaUUJuWlhSUWNtOWpaWE56YVc1blNXMWhaMlVBYzJWMFRHOW5UR1YyWld3QVoyVjBURzluVEdWMlpXd0FjMlYwVUhKdmFtVmpkR2x2Yms1bFlYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVUbVZoY2xCc1lXNWxBSE5sZEZCeWIycGxZM1JwYjI1R1lYSlFiR0Z1WlFCblpYUlFjbTlxWldOMGFXOXVSbUZ5VUd4aGJtVUFjMlYwVkdoeVpYTm9iMnhrVFc5a1pRQm5aWFJVYUhKbGMyaHZiR1JOYjJSbEFITmxkRlJvY21WemFHOXNaQUJuWlhSVWFISmxjMmh2YkdRQWMyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBWjJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFjMlYwVUdGMGRGSmhkR2x2QUdkbGRGQmhkSFJTWVhScGJ3QnpaWFJOWVhSeWFYaERiMlJsVkhsd1pRQm5aWFJOWVhSeWFYaERiMlJsVkhsd1pRQnpaWFJNWVdKbGJHbHVaMDF2WkdVQVoyVjBUR0ZpWld4cGJtZE5iMlJsQUhObGRFbHRZV2RsVUhKdlkwMXZaR1VBWjJWMFNXMWhaMlZRY205alRXOWtaUUJGVWxKUFVsOUJVa05QVGxSU1QweE1SVkpmVGs5VVgwWlBWVTVFQUVWU1VrOVNYMDFWVEZSSlRVRlNTMFZTWDA1UFZGOUdUMVZPUkFCRlVsSlBVbDlOUVZKTFJWSmZTVTVFUlZoZlQxVlVYMDlHWDBKUFZVNUVVd0JCVWw5RVJVSlZSMTlFU1ZOQlFreEZBRUZTWDBSRlFsVkhYMFZPUVVKTVJRQkJVbDlFUlVaQlZVeFVYMFJGUWxWSFgwMVBSRVVBUVZKZlRFRkNSVXhKVGtkZlYwaEpWRVZmVWtWSFNVOU9BRUZTWDB4QlFrVk1TVTVIWDBKTVFVTkxYMUpGUjBsUFRnQkJVbDlFUlVaQlZVeFVYMHhCUWtWTVNVNUhYMDFQUkVVQVFWSmZSRVZHUVZWTVZGOU1RVUpGVEVsT1IxOVVTRkpGVTBnQVFWSmZTVTFCUjBWZlVGSlBRMTlHVWtGTlJWOUpUVUZIUlFCQlVsOUpUVUZIUlY5UVVrOURYMFpKUlV4RVgwbE5RVWRGQUVGU1gwUkZSa0ZWVEZSZlNVMUJSMFZmVUZKUFExOU5UMFJGQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwMVBUazhBUVZKZlRVRlVVa2xZWDBOUFJFVmZSRVZVUlVOVVNVOU9BRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNYMEZPUkY5TlFWUlNTVmdBUVZKZlZFVk5VRXhCVkVWZlRVRlVRMGhKVGtkZlRVOU9UMTlCVGtSZlRVRlVVa2xZQUVGU1gwUkZSa0ZWVEZSZlVFRlVWRVZTVGw5RVJWUkZRMVJKVDA1ZlRVOUVSUUJCVWw5VlUwVmZWRkpCUTB0SlRrZGZTRWxUVkU5U1dRQkJVbDlPVDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWkFFRlNYMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaWDFZeUFFRlNYMFJGUmtGVlRGUmZUVUZTUzBWU1gwVllWRkpCUTFSSlQwNWZUVTlFUlFCQlVsOU5RVmhmVEU5UFVGOURUMVZPVkFCQlVsOU1UMDlRWDBKU1JVRkxYMVJJVWtWVFNBQkJVbDlNVDBkZlRFVldSVXhmUkVWQ1ZVY0FRVkpmVEU5SFgweEZWa1ZNWDBsT1JrOEFRVkpmVEU5SFgweEZWa1ZNWDFkQlVrNEFRVkpmVEU5SFgweEZWa1ZNWDBWU1VrOVNBRUZTWDB4UFIxOU1SVlpGVEY5U1JVeGZTVTVHVHdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZURNQVFWSmZUVUZVVWtsWVgwTlBSRVZmTTNnelgwaEJUVTFKVGtjMk13QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETmZVRUZTU1ZSWk5qVUFRVkpmVFVGVVVrbFlYME5QUkVWZk5IZzBBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZPVjh6QUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mTlY4MUFFRlNYMHhCUWtWTVNVNUhYMVJJVWtWVFNGOU5UMFJGWDAxQlRsVkJUQUJCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDAxRlJFbEJUZ0JCVWw5TVFVSkZURWxPUjE5VVNGSkZVMGhmVFU5RVJWOUJWVlJQWDA5VVUxVUFRVkpmVEVGQ1JVeEpUa2RmVkVoU1JWTklYMDFQUkVWZlFWVlVUMTlCUkVGUVZFbFdSUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVGs5T1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZVRUZVVkVWU1RsOUZXRlJTUVVOVVNVOU9BRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOUhSVTVGVWtsREFFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5RFQwNVVVa0ZUVkFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRVRlVRMGhmUWtGU1EwOUVSVjlPVDFSZlJrOVZUa1FBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYMEpCVWtOUFJFVmZSVVJEWDBaQlNVd0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwTlBUa1pKUkVWT1EwVUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUlBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFKZlRWVk1WRWtBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDBoRlZWSkpVMVJKUTE5VVVrOVZRa3hGVTA5TlJWOU5RVlJTU1ZoZlEwOUVSVk1BWVd4c2IyTmhkRzl5UEZRK09qcGhiR3h2WTJGMFpTaHphWHBsWDNRZ2Jpa2dKMjRuSUdWNFkyVmxaSE1nYldGNGFXMTFiU0J6ZFhCd2IzSjBaV1FnYzJsNlpRQkpiV0ZuWlNCd2NtOWpMaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRXhoWW1Wc2FXNW5JRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQjJhV2xtQUZCaGRIUmxjbTRnY21GMGFXOGdjMmw2WlNCelpYUWdkRzhnSldZdUNnQlFZWFIwWlhKdUlHUmxkR1ZqZEdsdmJpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FGUm9jbVZ6YUc5c1pDQnpaWFFnZEc4Z0pXUUtBSFpwYVdrQVZHaHlaWE5vYjJ4a0lHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCa2FXa0FkbWxwWkFCcGFRQjJhV2tBYjI0dUFHOW1aaTRBUkdWaWRXY2diVzlrWlNCelpYUWdkRzhnSlhNS0FGUnlZV05yYVc1bklHeHZjM1F1SUNWa0NnQlVjbUZqYTJWa0lIQmhaMlVnSldRZ0tHMWhlQ0FsWkNrdUNnQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F3T3lCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRLU0I3SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkSUQwZ0tIc2dhV1E2SURBc0lHVnljbTl5T2lBdE1Td2dabTkxYm1RNklEQXNJSEJ2YzJVNklGc3dMREFzTUN3d0xDQXdMREFzTUN3d0xDQXdMREFzTUN3d1hTQjlLVHNnZlNCMllYSWdiV0Z5YTJWeVNXNW1ieUE5SUdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkT3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2laWEp5YjNJaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1admRXNWtJbDBnUFNBeE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTWwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTlYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJObDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk4xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT0YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1UQmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWNHOXpaU0pkV3pFeFhTQTlJQ1JoVzJrcksxMDdJSDBBZXlCMllYSWdKR0VnUFNCaGNtZDFiV1Z1ZEhNN0lIWmhjaUJwSUQwZ01Ec2dhV1lnS0NGaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUdsa09pQXdMQ0JsY25KdmNqb2dMVEVzSUdadmRXNWtPaUF3TENCd2IzTmxPaUJiTUN3d0xEQXNNQ3dnTUN3d0xEQXNNQ3dnTUN3d0xEQXNNRjBnZlNrN0lIMGdkbUZ5SUcxaGNtdGxja2x1Wm04Z1BTQmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhUc2diV0Z5YTJWeVNXNW1iMXNpYVdRaVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW1WeWNtOXlJbDBnUFNBdE1Uc2diV0Z5YTJWeVNXNW1iMXNpWm05MWJtUWlYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3dYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3lYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3pYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczBYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczFYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczJYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczNYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczRYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWczVYU0E5SURBN0lHMWhjbXRsY2tsdVptOWJJbkJ2YzJVaVhWc3hNRjBnUFNBd095QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEZkSUQwZ01Ec2dmUUI3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBeE1qc2dhV1lnS0NGaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYkltMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lIQnZjem9nV3pBc01GMHNJR3hwYm1VNklGdGJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZExDQmJNQ3d3TERCZFhTd2dkbVZ5ZEdWNE9pQmJXekFzTUYwc0lGc3dMREJkTENCYk1Dd3dYU3dnV3pBc01GMWRJSDBwT3lCOUlIWmhjaUJ0WVhKclpYSkpibVp2SUQwZ1lYSjBiMjlzYTJsMFd5SnRZWEpyWlhKSmJtWnZJbDA3SUcxaGNtdGxja2x1Wm05YkltRnlaV0VpWFNBOUlDUXdPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkRFN0lHMWhjbXRsY2tsdVptOWJJbWxrVUdGMGRDSmRJRDBnSkRJN0lHMWhjbXRsY2tsdVptOWJJbWxrVFdGMGNtbDRJbDBnUFNBa016c2diV0Z5YTJWeVNXNW1iMXNpWkdseUlsMGdQU0FrTkRzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5VUdGMGRDSmRJRDBnSkRVN0lHMWhjbXRsY2tsdVptOWJJbVJwY2sxaGRISnBlQ0pkSUQwZ0pEWTdJRzFoY210bGNrbHVabTliSW1ObUlsMGdQU0FrTnpzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpRWVhSMElsMGdQU0FrT0RzZ2JXRnlhMlZ5U1c1bWIxc2lZMlpOWVhSeWFYZ2lYU0E5SUNRNU95QnRZWEpyWlhKSmJtWnZXeUp3YjNNaVhWc3dYU0E5SUNReE1Ec2diV0Z5YTJWeVNXNW1iMXNpY0c5eklsMWJNVjBnUFNBa01URTdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN3WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN4WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN5WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW14cGJtVWlYVnN6WFZzeVhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pCZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1GMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekZkV3pGZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6TmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNMTFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUpsY25KdmNrTnZjbkpsWTNSbFpDSmRJRDBnSkdGYmFTc3JYVHNnZlFCN0lHbG1JQ2doWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMHBJSHNnWVhKMGIyOXNhMmwwV3lKdGRXeDBhVVZoWTJoTllYSnJaWEpKYm1adklsMGdQU0FvZTMwcE95QjlJSFpoY2lCdGRXeDBhVVZoWTJoTllYSnJaWElnUFNCaGNuUnZiMnhyYVhSYkltMTFiSFJwUldGamFFMWhjbXRsY2tsdVptOGlYVHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQyYVhOcFlteGxKMTBnUFNBa01Ec2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZHdZWFIwU1dRblhTQTlJQ1F4T3lCdGRXeDBhVVZoWTJoTllYSnJaWEpiSjNCaGRIUlVlWEJsSjEwZ1BTQWtNanNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWQzYVdSMGFDZGRJRDBnSkRNN0lIMEFhV2xwQUU1VGRETmZYekl4TW1KaGMybGpYM04wY21sdVowbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZPVTE4NVlXeHNiMk5oZEc5eVNXTkZSVVZGQUU1VGRETmZYekl5TVY5ZlltRnphV05mYzNSeWFXNW5YMk52YlcxdmJrbE1ZakZGUlVVQWJHOWhaRU5oYldWeVlTZ3BPaUJGY25KdmNpQnNiMkZrYVc1bklIQmhjbUZ0WlhSbGNpQm1hV3hsSUNWeklHWnZjaUJqWVcxbGNtRXVDZ0JwYVdscEFFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnVGtaVUlHMWhjbXRsY2k0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZERNS0FHWnpaWFF6QUVWeWNtOXlJSEpsWVdScGJtY2dTMUJOSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwTXdvQUlDQkJjM05wWjI1bFpDQndZV2RsSUc1dkxpQWxaQzRLQUVWeWNtOXlPaUJyY0cxRGFHRnVaMlZRWVdkbFRtOVBabEpsWmtSaGRHRlRaWFFLQUVWeWNtOXlPaUJyY0cxTlpYSm5aVkpsWmtSaGRHRlRaWFFLQUNBZ1JHOXVaUzRLQUZKbFlXUnBibWNnSlhNdVpuTmxkQW9BWm5ObGRBQkZjbkp2Y2lCeVpXRmthVzVuSUdSaGRHRWdabkp2YlNBbGN5NW1jMlYwQ2dCRmNuSnZjam9nYTNCdFUyVjBVbVZtUkdGMFlWTmxkQW9BVEc5aFpHbHVaeUJ2WmlCT1JsUWdaR0YwWVNCamIyMXdiR1YwWlM0S0FFRlNWRzl2YkV0cGRFcFRLQ2s2SUZWdVlXSnNaU0IwYnlCelpYUWdkWEFnUVZJZ2JYVnNkR2x0WVhKclpYSXVDZ0JqYjI1bWFXY2daR0YwWVNCc2IyRmtJR1Z5Y205eUlDRWhDZ0JCVWxSdmIyeExhWFJLVXlncE9pQlZibUZpYkdVZ2RHOGdjMlYwSUhWd0lFRlNJRzFoY210bGNpNEtBR3h2WVdSTllYSnJaWElvS1RvZ1JYSnliM0lnYkc5aFpHbHVaeUJ3WVhSMFpYSnVJR1pwYkdVZ0pYTXVDZ0JGY25KdmNqb2dZWEl5UTNKbFlYUmxTR0Z1Wkd4bExnb0FhV2xwYVdrQWMyVjBkWEFvS1RvZ1JYSnliM0k2SUdGeVVHRjBkRU55WldGMFpVaGhibVJzWlM0S0FFRnNiRzlqWVhSbFpDQjJhV1JsYjBaeVlXMWxVMmw2WlNBbFpBb0FleUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbVp5WVcxbFRXRnNiRzlqSWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJtY21GdFpVMWhiR3h2WXlBOUlHRnlkRzl2Ykd0cGRGc2labkpoYldWTllXeHNiMk1pWFRzZ1puSmhiV1ZOWVd4c2IyTmJJbVp5WVcxbGNHOXBiblJsY2lKZElEMGdKREU3SUdaeVlXMWxUV0ZzYkc5ald5Sm1jbUZ0WlhOcGVtVWlYU0E5SUNReU95Qm1jbUZ0WlUxaGJHeHZZMXNpWTJGdFpYSmhJbDBnUFNBa016c2dabkpoYldWTllXeHNiMk5iSW5SeVlXNXpabTl5YlNKZElEMGdKRFE3SUdaeVlXMWxUV0ZzYkc5ald5SjJhV1JsYjB4MWJXRlFiMmx1ZEdWeUlsMGdQU0FrTlRzZ2ZRQXFLaW9nUTJGdFpYSmhJRkJoY21GdFpYUmxjaUJ5WlhOcGVtVmtJR1p5YjIwZ0pXUXNJQ1ZrTGlBcUtpb0tBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjam9nWVhKUVlYSmhiVXhVUTNKbFlYUmxMZ29BYzJWMFEyRnRaWEpoS0NrNklFVnljbTl5T2lCaGNrTnlaV0YwWlVoaGJtUnNaUzRLQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCamNtVmhkR2x1WnlBelJDQm9ZVzVrYkdVQVQzVjBJRzltSUcxbGJXOXllU0VoQ2dCRmNuSnZjam9nYldGc2JHOWpDZ0FqSXlNZ1JtVmhkSFZ5WlNCallXNWthV1JoZEdWeklHWnZjaUIwY21GamEybHVaeUJoY21VZ2IzWmxjbVpzYjNjdUNnQkNiMmQxY3lCdFpYTnpZV2RsSUdOdlpHVWdKV1FBUVV4SlIwNWZWRmxRUlNCcGN5QjNjbTl1Wnl3Z2NHeGxZWE5sSUdacGVBQk5RVmhmUVV4TVQwTmZRMGhWVGtzZ2FYTWdkM0p2Ym1jc0lIQnNaV0Z6WlNCbWFYZ0FRbTluZFhNZ1luVm1abVZ5SUdOdmJuUnliMndnYlc5a1pRQkpiblpoYkdsa0lHTnZiWEJ2Ym1WdWRDQkpSQ0FsWkNCcGJpQlRUMU1BU1c1MllXeHBaQ0JqY205d0lISmxjWFZsYzNRQVJFTlVJR052WldabWFXTnBaVzUwSUc5MWRDQnZaaUJ5WVc1blpRQkVRMVFnYzJOaGJHVmtJR0pzYjJOcklITnBlbVVnSldSNEpXUWdibTkwSUhOMWNIQnZjblJsWkFCRGIyMXdiMjVsYm5RZ2FXNWtaWGdnSldRNklHMXBjMjFoZEdOb2FXNW5JSE5oYlhCc2FXNW5JSEpoZEdsdklDVmtPaVZrTENBbFpEb2xaQ3dnSldNQVFtOW5kWE1nU0hWbVptMWhiaUIwWVdKc1pTQmtaV1pwYm1sMGFXOXVBRUp2WjNWeklHbHVjSFYwSUdOdmJHOXljM0JoWTJVQVFtOW5kWE1nU2xCRlJ5QmpiMnh2Y25Od1lXTmxBRUp2WjNWeklHMWhjbXRsY2lCc1pXNW5kR2dBVjNKdmJtY2dTbEJGUnlCc2FXSnlZWEo1SUhabGNuTnBiMjQ2SUd4cFluSmhjbmtnYVhNZ0pXUXNJR05oYkd4bGNpQmxlSEJsWTNSeklDVmtBRk5oYlhCc2FXNW5JR1poWTNSdmNuTWdkRzl2SUd4aGNtZGxJR1p2Y2lCcGJuUmxjbXhsWVhabFpDQnpZMkZ1QUVsdWRtRnNhV1FnYldWdGIzSjVJSEJ2YjJ3Z1kyOWtaU0FsWkFCVmJuTjFjSEJ2Y25SbFpDQktVRVZISUdSaGRHRWdjSEpsWTJsemFXOXVJQ1ZrQUVsdWRtRnNhV1FnY0hKdlozSmxjM05wZG1VZ2NHRnlZVzFsZEdWeWN5QlRjejBsWkNCVFpUMGxaQ0JCYUQwbFpDQkJiRDBsWkFCSmJuWmhiR2xrSUhCeWIyZHlaWE56YVhabElIQmhjbUZ0WlhSbGNuTWdZWFFnYzJOaGJpQnpZM0pwY0hRZ1pXNTBjbmtnSldRQVFtOW5kWE1nYzJGdGNHeHBibWNnWm1GamRHOXljd0JKYm5aaGJHbGtJSE5qWVc0Z2MyTnlhWEIwSUdGMElHVnVkSEo1SUNWa0FFbHRjSEp2Y0dWeUlHTmhiR3dnZEc4Z1NsQkZSeUJzYVdKeVlYSjVJR2x1SUhOMFlYUmxJQ1ZrQUVwUVJVY2djR0Z5WVcxbGRHVnlJSE4wY25WamRDQnRhWE50WVhSamFEb2diR2xpY21GeWVTQjBhR2x1YTNNZ2MybDZaU0JwY3lBbGRTd2dZMkZzYkdWeUlHVjRjR1ZqZEhNZ0pYVUFRbTluZFhNZ2RtbHlkSFZoYkNCaGNuSmhlU0JoWTJObGMzTUFRblZtWm1WeUlIQmhjM05sWkNCMGJ5QktVRVZISUd4cFluSmhjbmtnYVhNZ2RHOXZJSE50WVd4c0FGTjFjM0JsYm5OcGIyNGdibTkwSUdGc2JHOTNaV1FnYUdWeVpRQkRRMGxTTmpBeElITmhiWEJzYVc1bklHNXZkQ0JwYlhCc1pXMWxiblJsWkNCNVpYUUFWRzl2SUcxaGJua2dZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN6b2dKV1FzSUcxaGVDQWxaQUJWYm5OMWNIQnZjblJsWkNCamIyeHZjaUJqYjI1MlpYSnphVzl1SUhKbGNYVmxjM1FBUW05bmRYTWdSRUZESUdsdVpHVjRJQ1ZrQUVKdlozVnpJRVJCUXlCMllXeDFaU0F3ZUNWNEFFSnZaM1Z6SUVSSVZDQnBibVJsZUNBbFpBQkNiMmQxY3lCRVVWUWdhVzVrWlhnZ0pXUUFSVzF3ZEhrZ1NsQkZSeUJwYldGblpTQW9SRTVNSUc1dmRDQnpkWEJ3YjNKMFpXUXBBRkpsWVdRZ1puSnZiU0JGVFZNZ1ptRnBiR1ZrQUZkeWFYUmxJSFJ2SUVWTlV5Qm1ZV2xzWldRQVJHbGtiaWQwSUdWNGNHVmpkQ0J0YjNKbElIUm9ZVzRnYjI1bElITmpZVzRBU1c1d2RYUWdabWxzWlNCeVpXRmtJR1Z5Y205eUFFOTFkSEIxZENCbWFXeGxJSGR5YVhSbElHVnljbTl5SUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFSbkpoWTNScGIyNWhiQ0J6WVcxd2JHbHVaeUJ1YjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUVoMVptWnRZVzRnWTI5a1pTQnphWHBsSUhSaFlteGxJRzkyWlhKbWJHOTNBRTFwYzNOcGJtY2dTSFZtWm0xaGJpQmpiMlJsSUhSaFlteGxJR1Z1ZEhKNUFFMWhlR2x0ZFcwZ2MzVndjRzl5ZEdWa0lHbHRZV2RsSUdScGJXVnVjMmx2YmlCcGN5QWxkU0J3YVhobGJITUFSVzF3ZEhrZ2FXNXdkWFFnWm1sc1pRQlFjbVZ0WVhSMWNtVWdaVzVrSUc5bUlHbHVjSFYwSUdacGJHVUFRMkZ1Ym05MElIUnlZVzV6WTI5a1pTQmtkV1VnZEc4Z2JYVnNkR2x3YkdVZ2RYTmxJRzltSUhGMVlXNTBhWHBoZEdsdmJpQjBZV0pzWlNBbFpBQlRZMkZ1SUhOamNtbHdkQ0JrYjJWeklHNXZkQ0IwY21GdWMyMXBkQ0JoYkd3Z1pHRjBZUUJKYm5aaGJHbGtJR052Ykc5eUlIRjFZVzUwYVhwaGRHbHZiaUJ0YjJSbElHTm9ZVzVuWlFCT2IzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFGSmxjWFZsYzNSbFpDQm1aV0YwZFhKbElIZGhjeUJ2YldsMGRHVmtJR0YwSUdOdmJYQnBiR1VnZEdsdFpRQkJjbWwwYUcxbGRHbGpJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBUW1GamEybHVaeUJ6ZEc5eVpTQnViM1FnYzNWd2NHOXlkR1ZrQUVoMVptWnRZVzRnZEdGaWJHVWdNSGdsTURKNElIZGhjeUJ1YjNRZ1pHVm1hVzVsWkFCS1VFVkhJR1JoZEdGemRISmxZVzBnWTI5dWRHRnBibk1nYm04Z2FXMWhaMlVBVVhWaGJuUnBlbUYwYVc5dUlIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFUbTkwSUdFZ1NsQkZSeUJtYVd4bE9pQnpkR0Z5ZEhNZ2QybDBhQ0F3ZUNVd01uZ2dNSGdsTURKNEFFbHVjM1ZtWm1samFXVnVkQ0J0WlcxdmNua2dLR05oYzJVZ0pXUXBBRU5oYm01dmRDQnhkV0Z1ZEdsNlpTQnRiM0psSUhSb1lXNGdKV1FnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjd0JEWVc1dWIzUWdjWFZoYm5ScGVtVWdkRzhnWm1WM1pYSWdkR2hoYmlBbFpDQmpiMnh2Y25NQVEyRnVibTkwSUhGMVlXNTBhWHBsSUhSdklHMXZjbVVnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFTVzUyWVd4cFpDQktVRVZISUdacGJHVWdjM1J5ZFdOMGRYSmxPaUFsY3lCaVpXWnZjbVVnVTA5R0FFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFJpQnRZWEpyWlhKekFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2diV2x6YzJsdVp5QlRUMU1nYldGeWEyVnlBRlZ1YzNWd2NHOXlkR1ZrSUVwUVJVY2djSEp2WTJWemN6b2dVMDlHSUhSNWNHVWdNSGdsTURKNEFFbHVkbUZzYVdRZ1NsQkZSeUJtYVd4bElITjBjblZqZEhWeVpUb2dkSGR2SUZOUFNTQnRZWEpyWlhKekFFWmhhV3hsWkNCMGJ5QmpjbVZoZEdVZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVVtVmhaQ0JtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFVMlZsYXlCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVjNKcGRHVWdabUZwYkdWa0lHOXVJSFJsYlhCdmNtRnllU0JtYVd4bElDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUVhCd2JHbGpZWFJwYjI0Z2RISmhibk5tWlhKeVpXUWdkRzl2SUdabGR5QnpZMkZ1YkdsdVpYTUFWVzV6ZFhCd2IzSjBaV1FnYldGeWEyVnlJSFI1Y0dVZ01IZ2xNREo0QUZacGNuUjFZV3dnWVhKeVlYa2dZMjl1ZEhKdmJHeGxjaUJ0WlhOelpXUWdkWEFBU1cxaFoyVWdkRzl2SUhkcFpHVWdabTl5SUhSb2FYTWdhVzF3YkdWdFpXNTBZWFJwYjI0QVVtVmhaQ0JtY205dElGaE5VeUJtWVdsc1pXUUFWM0pwZEdVZ2RHOGdXRTFUSUdaaGFXeGxaQUJEYjNCNWNtbG5hSFFnS0VNcElESXdNVGdzSUZSb2IyMWhjeUJITGlCTVlXNWxMQ0JIZFdsa2J5QldiMnhzWW1Wa2FXNW5BRGxqSUNBeE5DMUtZVzR0TWpBeE9BQkRZWFYwYVc5dU9pQnhkV0Z1ZEdsNllYUnBiMjRnZEdGaWJHVnpJR0Z5WlNCMGIyOGdZMjloY25ObElHWnZjaUJpWVhObGJHbHVaU0JLVUVWSEFFRmtiMkpsSUVGUVVERTBJRzFoY210bGNqb2dkbVZ5YzJsdmJpQWxaQ3dnWm14aFozTWdNSGdsTURSNElEQjRKVEEwZUN3Z2RISmhibk5tYjNKdElDVmtBRlZ1YTI1dmQyNGdRVkJRTUNCdFlYSnJaWElnS0c1dmRDQktSa2xHS1N3Z2JHVnVaM1JvSUNWMUFGVnVhMjV2ZDI0Z1FWQlFNVFFnYldGeWEyVnlJQ2h1YjNRZ1FXUnZZbVVwTENCc1pXNW5kR2dnSlhVQVJHVm1hVzVsSUVGeWFYUm9iV1YwYVdNZ1ZHRmliR1VnTUhnbE1ESjRPaUF3ZUNVd01uZ0FSR1ZtYVc1bElFaDFabVp0WVc0Z1ZHRmliR1VnTUhnbE1ESjRBRVJsWm1sdVpTQlJkV0Z1ZEdsNllYUnBiMjRnVkdGaWJHVWdKV1FnSUhCeVpXTnBjMmx2YmlBbFpBQkVaV1pwYm1VZ1VtVnpkR0Z5ZENCSmJuUmxjblpoYkNBbGRRQkdjbVZsWkNCRlRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRVZOVXlCb1lXNWtiR1VnSlhVQVJXNWtJRTltSUVsdFlXZGxBQ0FnSUNBZ0lDQWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkFCS1JrbEdJRUZRVURBZ2JXRnlhMlZ5T2lCMlpYSnphVzl1SUNWa0xpVXdNbVFzSUdSbGJuTnBkSGtnSldSNEpXUWdJQ1ZrQUZkaGNtNXBibWM2SUhSb2RXMWlibUZwYkNCcGJXRm5aU0J6YVhwbElHUnZaWE1nYm05MElHMWhkR05vSUdSaGRHRWdiR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ2RIbHdaU0F3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUFnSUNBZ2QybDBhQ0FsWkNCNElDVmtJSFJvZFcxaWJtRnBiQ0JwYldGblpRQk5hWE5qWld4c1lXNWxiM1Z6SUcxaGNtdGxjaUF3ZUNVd01uZ3NJR3hsYm1kMGFDQWxkUUJWYm1WNGNHVmpkR1ZrSUcxaGNtdGxjaUF3ZUNVd01uZ0FJQ0FnSUNBZ0lDQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxQUZGMVlXNTBhWHBwYm1jZ2RHOGdKV1FnUFNBbFpDb2xaQ29sWkNCamIyeHZjbk1BVVhWaGJuUnBlbWx1WnlCMGJ5QWxaQ0JqYjJ4dmNuTUFVMlZzWldOMFpXUWdKV1FnWTI5c2IzSnpJR1p2Y2lCeGRXRnVkR2w2WVhScGIyNEFRWFFnYldGeWEyVnlJREI0SlRBeWVDd2djbVZqYjNabGNua2dZV04wYVc5dUlDVmtBRkpUVkNWa0FGTnRiMjkwYUdsdVp5QnViM1FnYzNWd2NHOXlkR1ZrSUhkcGRHZ2dibTl1YzNSaGJtUmhjbVFnYzJGdGNHeHBibWNnY21GMGFXOXpBRk4wWVhKMElFOW1JRVp5WVcxbElEQjRKVEF5ZURvZ2QybGtkR2c5SlhVc0lHaGxhV2RvZEQwbGRTd2dZMjl0Y0c5dVpXNTBjejBsWkFBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lBbFpHaDRKV1IySUhFOUpXUUFVM1JoY25RZ2IyWWdTVzFoWjJVQVUzUmhjblFnVDJZZ1UyTmhiam9nSldRZ1kyOXRjRzl1Wlc1MGN3QWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQmtZejBsWkNCaFl6MGxaQUFnSUZOelBTVmtMQ0JUWlQwbFpDd2dRV2c5SldRc0lFRnNQU1ZrQUVOc2IzTmxaQ0IwWlcxd2IzSmhjbmtnWm1sc1pTQWxjd0JQY0dWdVpXUWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCS1VFVkhMV052YlhCeVpYTnpaV1FnZEdoMWJXSnVZV2xzSUdsdFlXZGxMQ0JzWlc1bmRHZ2dKWFVBU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQndZV3hsZEhSbElIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nVWtkQ0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlN3Z2JHVnVaM1JvSUNWMUFGVnVjbVZqYjJkdWFYcGxaQ0JqYjIxd2IyNWxiblFnU1VSeklDVmtJQ1ZrSUNWa0xDQmhjM04xYldsdVp5QlpRMkpEY2dCR2NtVmxaQ0JZVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lGaE5VeUJvWVc1a2JHVWdKWFVBVlc1cmJtOTNiaUJCWkc5aVpTQmpiMnh2Y2lCMGNtRnVjMlp2Y20wZ1kyOWtaU0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ1ltRmtJR0Z5YVhSb2JXVjBhV01nWTI5a1pRQkpibU52Ym5OcGMzUmxiblFnY0hKdlozSmxjM05wYjI0Z2MyVnhkV1Z1WTJVZ1ptOXlJR052YlhCdmJtVnVkQ0FsWkNCamIyVm1abWxqYVdWdWRDQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nSlhVZ1pYaDBjbUZ1Wlc5MWN5QmllWFJsY3lCaVpXWnZjbVVnYldGeWEyVnlJREI0SlRBeWVBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2djSEpsYldGMGRYSmxJR1Z1WkNCdlppQmtZWFJoSUhObFoyMWxiblFBUTI5eWNuVndkQ0JLVUVWSElHUmhkR0U2SUdKaFpDQklkV1ptYldGdUlHTnZaR1VBVjJGeWJtbHVaem9nZFc1cmJtOTNiaUJLUmtsR0lISmxkbWx6YVc5dUlHNTFiV0psY2lBbFpDNGxNREprQUZCeVpXMWhkSFZ5WlNCbGJtUWdiMllnU2xCRlJ5Qm1hV3hsQUVOdmNuSjFjSFFnU2xCRlJ5QmtZWFJoT2lCbWIzVnVaQ0J0WVhKclpYSWdNSGdsTURKNElHbHVjM1JsWVdRZ2IyWWdVbE5VSldRQVNXNTJZV3hwWkNCVFQxTWdjR0Z5WVcxbGRHVnljeUJtYjNJZ2MyVnhkV1Z1ZEdsaGJDQktVRVZIQUVGd2NHeHBZMkYwYVc5dUlIUnlZVzV6Wm1WeWNtVmtJSFJ2YnlCdFlXNTVJSE5qWVc1c2FXNWxjd0JLVUVWSFRVVk5BQ1ZzWkNWakFGTlBVd0JNVTBVQUpYTUtBSEozWVFCcGJtWnBibWwwZVFBQUFRSUVCd01HQlFBdEt5QWdJREJZTUhnQUtHNTFiR3dwQUMwd1dDc3dXQ0F3V0Mwd2VDc3dlQ0F3ZUFCcGJtWUFTVTVHQUc1aGJnQk9RVTRBTGdCTVExOUJURXdBVEVGT1J3QkRMbFZVUmkwNEFGQlBVMGxZQUUxVlUweGZURTlEVUVGVVNBQjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6T2lBbGN3QjBaWEp0YVc1aGRHbHVaeUIzYVhSb0lDVnpJR1Y0WTJWd2RHbHZiaUJ2WmlCMGVYQmxJQ1Z6QUhSbGNtMXBibUYwYVc1bklIZHBkR2dnSlhNZ1ptOXlaV2xuYmlCbGVHTmxjSFJwYjI0QWRHVnliV2x1WVhScGJtY0FkVzVqWVhWbmFIUUFVM1E1WlhoalpYQjBhVzl1QUU0eE1GOWZZM2g0WVdKcGRqRXhObDlmYzJocGJWOTBlWEJsWDJsdVptOUZBRk4wT1hSNWNHVmZhVzVtYndCT01UQmZYMk40ZUdGaWFYWXhNakJmWDNOcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEUzWDE5amJHRnpjMTkwZVhCbFgybHVabTlGQUhSbGNtMXBibUYwWlY5b1lXNWtiR1Z5SUhWdVpYaHdaV04wWldSc2VTQnlaWFIxY201bFpBQlRkREV4Ykc5bmFXTmZaWEp5YjNJQVUzUXhNbXhsYm1kMGFGOWxjbkp2Y2dCT01UQmZYMk40ZUdGaWFYWXhNVGRmWDNCaVlYTmxYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTVYMTl3YjJsdWRHVnlYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1USXpYMTltZFc1a1lXMWxiblJoYkY5MGVYQmxYMmx1Wm05RkFIWUFZZ0JqQUdnQVlRQnpBSFFBYVFCcUFHMEFaZ0JrQUU0eE1GOWZZM2g0WVdKcGRqRXlNVjlmZG0xcFgyTnNZWE56WDNSNWNHVmZhVzVtYjBVQWRtOXBaQUJpYjI5c0FHTm9ZWElBYzJsbmJtVmtJR05vWVhJQWRXNXphV2R1WldRZ1kyaGhjZ0J6YUc5eWRBQjFibk5wWjI1bFpDQnphRzl5ZEFCcGJuUUFkVzV6YVdkdVpXUWdhVzUwQUd4dmJtY0FkVzV6YVdkdVpXUWdiRzl1WndCbWJHOWhkQUJrYjNWaWJHVUFjM1JrT2pwemRISnBibWNBYzNSa09qcGlZWE5wWTE5emRISnBibWM4ZFc1emFXZHVaV1FnWTJoaGNqNEFjM1JrT2pwM2MzUnlhVzVuQUhOMFpEbzZkVEUyYzNSeWFXNW5BSE4wWkRvNmRUTXljM1J5YVc1bkFHVnRjMk55YVhCMFpXNDZPblpoYkFCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhqYUdGeVBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhjMmh2Y25RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUhOb2IzSjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJR2x1ZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4Ykc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXNXphV2R1WldRZ2JHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5ReE5sOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwTVRaZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBNekpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFdsdWRETXlYM1ErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR1pzYjJGMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4a2IzVmliR1UrQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQR3h2Ym1jZ1pHOTFZbXhsUGdCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsbFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpaRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1daRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHRSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKYkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXcEZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxwUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmRFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTWE5GUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsb1JVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpZVVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dORlJRQk9NVEJsYlhOamNtbHdkR1Z1TTNaaGJFVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VScFRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWFVVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWFVVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVjMFZGVGxOZk9XRnNiRzlqWVhSdmNrbEVjMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlU1VFh6bGhiR3h2WTJGMGIzSkpkMFZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TV2hPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVRsTjBNMTlmTWpocGIzTmZZbUZ6WlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRTFZbUZ6YVdOZmMzUnlaV0Z0WW5WbVNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TldKaGMybGpYM04wY21WaGJXSjFaa2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5cGMzUnlaV0Z0U1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhNMkpoYzJsalgybHpkSEpsWVcxSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakV6WW1GemFXTmZiM04wY21WaGJVbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTl2YzNSeVpXRnRTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRkFFNVRkRE5mWHpJeE1WOWZjM1JrYjNWMFluVm1TWGRGUlFCT1UzUXpYMTh5TVRGZlgzTjBaRzkxZEdKMVprbGpSVVVBZFc1emRYQndiM0owWldRZ2JHOWpZV3hsSUdadmNpQnpkR0Z1WkdGeVpDQnBibkIxZEFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNYZEZSUUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1dORlJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSlkwVkZBRTVUZEROZlh6STJiRzlqWVd4bE5XWmhZMlYwUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKZDBWRkFDVndBRU1BVGxOME0xOWZNamR1ZFcxZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDJkbGRFbGpSVVVBVGxOME0xOWZNakUwWDE5dWRXMWZaMlYwWDJKaGMyVkZBRTVUZEROZlh6STNiblZ0WDJkbGRFbDNUbE5mTVRscGMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpsZlgyNTFiVjluWlhSSmQwVkZBQ1Z3QUFBQUFFd0FiR3dBSlFBQUFBQUFiQUJPVTNRelgxOHlOMjUxYlY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJNVgxOXVkVzFmY0hWMFNXTkZSUUJPVTNRelgxOHlNVFJmWDI1MWJWOXdkWFJmWW1GelpVVUFUbE4wTTE5Zk1qZHVkVzFmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYM0IxZEVsM1JVVUFKVWc2SlUwNkpWTUFKVzB2SldRdkpYa0FKVWs2SlUwNkpWTWdKWEFBSldFZ0pXSWdKV1FnSlVnNkpVMDZKVk1nSlZrQVFVMEFVRTBBU21GdWRXRnllUUJHWldKeWRXRnllUUJOWVhKamFBQkJjSEpwYkFCTllYa0FTblZ1WlFCS2RXeDVBRUYxWjNWemRBQlRaWEIwWlcxaVpYSUFUMk4wYjJKbGNnQk9iM1psYldKbGNnQkVaV05sYldKbGNnQktZVzRBUm1WaUFFMWhjZ0JCY0hJQVNuVnVBRXAxYkFCQmRXY0FVMlZ3QUU5amRBQk9iM1lBUkdWakFGTjFibVJoZVFCTmIyNWtZWGtBVkhWbGMyUmhlUUJYWldSdVpYTmtZWGtBVkdoMWNuTmtZWGtBUm5KcFpHRjVBRk5oZEhWeVpHRjVBRk4xYmdCTmIyNEFWSFZsQUZkbFpBQlVhSFVBUm5KcEFGTmhkQUFsYlM4bFpDOGxlU1ZaTFNWdExTVmtKVWs2SlUwNkpWTWdKWEFsU0RvbFRTVklPaVZOT2lWVEpVZzZKVTA2SlZOT1UzUXpYMTh5T0hScGJXVmZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNakJmWDNScGJXVmZaMlYwWDJOZmMzUnZjbUZuWlVsalJVVUFUbE4wTTE5Zk1qbDBhVzFsWDJKaGMyVkZBRTVUZEROZlh6STRkR2x0WlY5blpYUkpkMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlVWRkFFNVRkRE5mWHpJeU1GOWZkR2x0WlY5blpYUmZZMTl6ZEc5eVlXZGxTWGRGUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1dOT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlNVEJmWDNScGJXVmZjSFYwUlFCT1UzUXpYMTh5T0hScGJXVmZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1dOTVlqQkZSVVVBVGxOME0xOWZNakV3Ylc5dVpYbGZZbUZ6WlVVQVRsTjBNMTlmTWpFd2JXOXVaWGx3ZFc1amRFbGpUR0l4UlVWRkFFNVRkRE5mWHpJeE1HMXZibVY1Y0hWdVkzUkpkMHhpTUVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTWGRNWWpGRlJVVUFNREV5TXpRMU5qYzRPUUFsVEdZQVRsTjBNMTlmTWpsdGIyNWxlVjluWlhSSlkwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmWjJWMFNXTkZSUUF3TVRJek5EVTJOemc1QUU1VGRETmZYekk1Ylc5dVpYbGZaMlYwU1hkT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlNVEZmWDIxdmJtVjVYMmRsZEVsM1JVVUFKUzR3VEdZQVRsTjBNMTlmTWpsdGIyNWxlVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekl4TVY5ZmJXOXVaWGxmY0hWMFNXTkZSUUJPVTNRelgxOHlPVzF2Ym1WNVgzQjFkRWwzVGxOZk1UbHZjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qRXhYMTl0YjI1bGVWOXdkWFJKZDBWRkFFNVRkRE5mWHpJNGJXVnpjMkZuWlhOSlkwVkZBRTVUZEROZlh6SXhNMjFsYzNOaFoyVnpYMkpoYzJWRkFFNVRkRE5mWHpJeE4xOWZkMmxrWlc1ZlpuSnZiVjkxZEdZNFNVeHRNekpGUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1VScFl6RXhYMTl0WW5OMFlYUmxYM1JGUlFCT1UzUXpYMTh5TVRKamIyUmxZM1owWDJKaGMyVkZBRTVUZEROZlh6SXhObDlmYm1GeWNtOTNYM1J2WDNWMFpqaEpURzB6TWtWRlJRQk9VM1F6WDE4eU9HMWxjM05oWjJWelNYZEZSUUJPVTNRelgxOHlOMk52WkdWamRuUkpZMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNYZGpNVEZmWDIxaWMzUmhkR1ZmZEVWRkFFNVRkRE5mWHpJM1kyOWtaV04yZEVsRWMyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpac2IyTmhiR1UxWDE5cGJYQkZBRTVUZEROZlh6STFZM1I1Y0dWSlkwVkZBRTVUZEROZlh6SXhNR04wZVhCbFgySmhjMlZGQUU1VGRETmZYekkxWTNSNWNHVkpkMFZGQUdaaGJITmxBSFJ5ZFdVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsalJVVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbDNSVVVBVGxOME0xOWZNakUwWDE5emFHRnlaV1JmWTI5MWJuUkZBRTVUZEROZlh6SXhPVjlmYzJoaGNtVmtYM2RsWVd0ZlkyOTFiblJGQUVId3ZnTUxBUUVBUVpqQUF3dGFYRWdBQUFFQUFBQjhTQUFBQVFBQUFOQlFBQUFCQUFBQUlDSUFBQUFBQUFDVVVRQUFBUUFBQU5oUkFBQUJBQUFBakZBQUFBRUFBQUJNNGdBQUFBQUFBQWhTQUFBQkFBQUFPRklBQUFFQUFBQUVVUUFBQVFBQUFDNHNBRUdBd1FNTERTeFJBQUFCQUFBQUxnQUFBQ3dBUWFEQkF3dkpBcHhJQUFBQkFBQUEzRWdBQUFFQUFBQWNTUUFBQVFBQUFGQkpBQUFCQUFBQW5FNEFBQUVBQUFEVVRnQUFBUUFBQUF4UEFBQUJBQUFBUkU4QUFBRUFBQUI4VHdBQUFRQUFBSmhQQUFBQkFBQUF0RThBQUFFQUFBRFFUd0FBQVFBQUFJUkpBQUFCQUFBQXRFa0FBQUFBQUFEWVNRQUFBUUFBQUFoS0FBQUFBQUFBYkU0QUFBRUFBQUJNNGdBQUFBQUFBSVJPQUFBQkFBQUFUT0lBQUFBQUFBRHNUd0FBQVFBQUFBeFFBQUFCQUFBQUFRQUFBQUFBQUFDOFVBQUFEd0FBQUhEaEFBRGc0UUFBNE9FQUFBQUFBQUFZNEFBQUlPQUFBQ2pnQUFBNDRBQUFRT0FBQUVqZ0FBQlk0QUFBWU9BQUFHamdBQUNBNEFBQW9PQUFBS2pnQUFDdzRBQUF1T0FBQU1EZ0FBREk0QUFBME9BQUFOamdBQURnNEFBQTZPQUFBUERnQUFENDRBQUFBT0VBQUJEaEFBQWc0UUFBTU9FQUFFRGhBQUJJNFFBQUFRQUFBQUFBQUFCREFFSHp3d01MQmdFQUFBQUFBUUJCNk1VREN4R2dSZ0FBQUFBQUFMUkdBQUFDRUFBQUJnQkJpTVlEQ3dhUTVRQUFXT0VBUWJqR0F3c1ptT01BQVAvLy8vL1FSZ0FBQUFBQUFPUkdBQUFDRUFBQUJnQkI0TVlEQ3diUTVRQUFXT0VBUVpESEF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHMHh3TUxCaERtQUFCWTRRQkI2TWNEQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQmlNZ0RDd1pJNWdBQVdPRUFRYnpJQXdzUi8vLy8vd0JIQUFBVVJ3QUFBakFBQUFZQVFkeklBd3NHZ09ZQUFGamhBRUdNeVFNTEZaampBQUQvLy8vL01FY0FBRVJIQUFBQ01BQUFCZ0JCc01rREN3YTQ1Z0FBV09FQVFlREpBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFR0V5Z01MQm9EbUFBQlk0UUJCdU1vREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkIyTW9EQ3dhNDVnQUFXT0VBUVl6TEF3c0svLy8vL3h4SUFBQlk0UUJCc01zREN4YjRPUUFBUU9BQUFNamxBQUFCQUFBQS8vLy8vd0FCQUVIUXl3TUxCdHhIQUFCWTRRQkI4TXNEQ3hUNE9RQUFTT0FBQUFqbUFBQUJBQUFBLy8vLy93QkJrTXdEQ3dhY1J3QUFXT0VBUWJETUF3c05pRG9BQUVEZ0FBQkE1Z0FBQVFCQnlNd0RDd1pjUndBQVdPRUFRZWpNQXdzS2lEb0FBRWpnQUFCNDVnQkJnTTBEQ3dhY1J3QUFXT0VBUWFETkF3c05hRGtBQUVEZ0FBQ3c1Z0FBQVFCQnVNMERDd1pjUndBQVdPRUFRZGpOQXdzS2FEa0FBRWpnQUFEbzVnQkI4TTBEQzFYLy8vLy9BUUFBQVAvLy8vOENBQUFBLy8vLy93TUFBQUJNNGdBQUhBQUFBUC8vLy84SkFBQUEvLy8vL3dzQUFBRC8vLy8vQkFBQUFQLy8vLzhLQUFBQS8vLy8vd3dBQUFELy8vLy9EUUFBQVAvLy8vOE9BRUdFendNTEJmLy8vLzhYQUVISXp3TUxsZ0gvLy8vL0dBQUFBUC8vLy84WkFBQUEvLy8vL3hvQUFBRC8vLy8vRHdBQUFQLy8vLzhRQUFBQS8vLy8veEVBQUFELy8vLy9FZ0FBQVAvLy8vOFRBQUFBLy8vLy94UUFBQUQvLy8vL0ZRQUFBUC8vLy84V0FBQUEvLy8vL3hzQUFBRC8vLy8vSEFBQUFQLy8vLzhGQUFBQS8vLy8vd1lBQUFELy8vLy9Cd0FBQVAvLy8vOElBQUFBV09FQUFGRG9BQUJZNFFBQVdPZ0FRZkRlQXdzQ1dPRUFRWURmQXdzRk9PZ0FBSThBUVpEZkF3c1Jqd0FBQUFBQUFBQ2c3d0FBQUFBQUFJOD1cIjtmdW5jdGlvbiBsQSgpe3RyeXtpZihuKXJldHVybiBuZXcgVWludDhBcnJheShuKTt2YXIgQT1qZyhmQSk7aWYoQSlyZXR1cm4gQTtpZihoKXJldHVybiBoKGZBKTt0aHJvd1wiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWRcIn1jYXRjaChBKXtKQShBKX19ZnVuY3Rpb24gdUEoKXtyZXR1cm4gbnx8IWkmJiFvfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBmZXRjaD9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSxJKXtBKGxBKCkpfSkpOmZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtpZighQS5vayl0aHJvd1wiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnXCIrZkErXCInXCI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbEEoKX0pKX1mdW5jdGlvbiBXQSgpe3ZhciBJPXtlbnY6QkIsd2FzaV9zbmFwc2hvdF9wcmV2aWV3MTpCQixnbG9iYWw6e05hTjpOYU4sSW5maW5pdHk6MS8wfSxcImdsb2JhbC5NYXRoXCI6TWF0aCxhc20yd2FzbTprfTtmdW5jdGlvbiBnKEksZyl7dmFyIEI9SS5leHBvcnRzO0EuYXNtPUIsZUEoKX1mdW5jdGlvbiBCKEEpe2coQS5pbnN0YW5jZSl9ZnVuY3Rpb24gQyhBKXtyZXR1cm4gdUEoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQSxJKX0pKS50aGVuKEEsKGZ1bmN0aW9uKEEpe1MoXCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiBcIitBKSxKQShBKX0pKX1pZihZQSgpLEEuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gQS5pbnN0YW50aWF0ZVdhc20oSSxnKX1jYXRjaChBKXtyZXR1cm4gUyhcIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6IFwiK0EpLCExfXJldHVybiBmdW5jdGlvbigpe2lmKG58fFwiZnVuY3Rpb25cIiE9dHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nfHxMQShmQSl8fFwiZnVuY3Rpb25cIiE9dHlwZW9mIGZldGNoKXJldHVybiBDKEIpO2ZldGNoKGZBLHtjcmVkZW50aWFsczpcInNhbWUtb3JpZ2luXCJ9KS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQSxJKS50aGVuKEIsKGZ1bmN0aW9uKEEpe1MoXCJ3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogXCIrQSksUyhcImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uXCIpLEMoQil9KSl9KSl9KCkse319TEEoZkEpfHwoZkE9eShmQSkpLEEuYXNtPVdBO3ZhciBwQT1bZnVuY3Rpb24oQSxJLGcsQixDLFEpe2FydG9vbGtpdC5mcmFtZU1hbGxvY3x8KGFydG9vbGtpdC5mcmFtZU1hbGxvYz17fSk7dmFyIEU9YXJ0b29sa2l0LmZyYW1lTWFsbG9jO0UuZnJhbWVwb2ludGVyPUksRS5mcmFtZXNpemU9ZyxFLmNhbWVyYT1CLEUudHJhbnNmb3JtPUMsRS52aWRlb0x1bWFQb2ludGVyPVF9LGZ1bmN0aW9uKEEsSSxnLEIpe2FydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm89e30pO3ZhciBDPWFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvO0MudmlzaWJsZT1BLEMucGF0dElkPUksQy5wYXR0VHlwZT1nLEMud2lkdGg9Qn0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwpe3ZhciBxPWFyZ3VtZW50cyxkPTEyO2FydG9vbGtpdC5tYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lm1hcmtlckluZm89e3BvczpbMCwwXSxsaW5lOltbMCwwLDBdLFswLDAsMF0sWzAsMCwwXSxbMCwwLDBdXSx2ZXJ0ZXg6W1swLDBdLFswLDBdLFswLDBdLFswLDBdXX0pO3ZhciBmPWFydG9vbGtpdC5tYXJrZXJJbmZvO2YuYXJlYT1BLGYuaWQ9SSxmLmlkUGF0dD1nLGYuaWRNYXRyaXg9QixmLmRpcj1DLGYuZGlyUGF0dD1RLGYuZGlyTWF0cml4PUUsZi5jZj1pLGYuY2ZQYXR0PW8sZi5jZk1hdHJpeD1ELGYucG9zWzBdPWEsZi5wb3NbMV09dyxmLmxpbmVbMF1bMF09cVtkKytdLGYubGluZVswXVsxXT1xW2QrK10sZi5saW5lWzBdWzJdPXFbZCsrXSxmLmxpbmVbMV1bMF09cVtkKytdLGYubGluZVsxXVsxXT1xW2QrK10sZi5saW5lWzFdWzJdPXFbZCsrXSxmLmxpbmVbMl1bMF09cVtkKytdLGYubGluZVsyXVsxXT1xW2QrK10sZi5saW5lWzJdWzJdPXFbZCsrXSxmLmxpbmVbM11bMF09cVtkKytdLGYubGluZVszXVsxXT1xW2QrK10sZi5saW5lWzNdWzJdPXFbZCsrXSxmLnZlcnRleFswXVswXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMV09cVtkKytdLGYudmVydGV4WzFdWzBdPXFbZCsrXSxmLnZlcnRleFsxXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMF09cVtkKytdLGYudmVydGV4WzJdWzFdPXFbZCsrXSxmLnZlcnRleFszXVswXT1xW2QrK10sZi52ZXJ0ZXhbM11bMV09cVtkKytdLGYuZXJyb3JDb3JyZWN0ZWQ9cVtkKytdfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcpe3ZhciBoPWFyZ3VtZW50cyxzPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBSPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO1IuaWQ9aFtzKytdLFIuZXJyb3I9aFtzKytdLFIuZm91bmQ9MSxSLnBvc2VbMF09aFtzKytdLFIucG9zZVsxXT1oW3MrK10sUi5wb3NlWzJdPWhbcysrXSxSLnBvc2VbM109aFtzKytdLFIucG9zZVs0XT1oW3MrK10sUi5wb3NlWzVdPWhbcysrXSxSLnBvc2VbNl09aFtzKytdLFIucG9zZVs3XT1oW3MrK10sUi5wb3NlWzhdPWhbcysrXSxSLnBvc2VbOV09aFtzKytdLFIucG9zZVsxMF09aFtzKytdLFIucG9zZVsxMV09aFtzKytdfSxmdW5jdGlvbihBKXt2YXIgST1hcmd1bWVudHMsZz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgQj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztCLmlkPUlbZysrXSxCLmVycm9yPS0xLEIuZm91bmQ9MCxCLnBvc2VbMF09MCxCLnBvc2VbMV09MCxCLnBvc2VbMl09MCxCLnBvc2VbM109MCxCLnBvc2VbNF09MCxCLnBvc2VbNV09MCxCLnBvc2VbNl09MCxCLnBvc2VbN109MCxCLnBvc2VbOF09MCxCLnBvc2VbOV09MCxCLnBvc2VbMTBdPTAsQi5wb3NlWzExXT0wfV07ZnVuY3Rpb24gWkEoQSxJLGcsQixDLFEsRSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFKX1mdW5jdGlvbiBiQShBLEksZyxCLEMpe3JldHVybiBwQVtBXShJLGcsQixDKX1mdW5jdGlvbiB4QShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCl9ZnVuY3Rpb24gbUEoQSxJKXtyZXR1cm4gcEFbQV0oSSl9ZnVuY3Rpb24gWEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl7cmV0dXJuIHBBW0FdKEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKX1mdW5jdGlvbiBWQShBKXtyZXR1cm4gQS5yZXBsYWNlKC9cXGJfX1pbXFx3XFxkX10rL2csKGZ1bmN0aW9uKEEpe3JldHVybiBBPT1BP0E6QStcIiBbXCIrQStcIl1cIn0pKX1mdW5jdGlvbiBPQSgpe3ZhciBBPW5ldyBFcnJvcjtpZighQS5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChJKXtBPUl9aWYoIUEuc3RhY2spcmV0dXJuXCIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKVwifXJldHVybiBBLnN0YWNrLnRvU3RyaW5nKCl9ZnVuY3Rpb24gVEEoKXt2YXIgST1PQSgpO3JldHVybiBBLmV4dHJhU3RhY2tUcmFjZSYmKEkrPVwiXFxuXCIrQS5leHRyYVN0YWNrVHJhY2UoKSksVkEoSSl9d0EucHVzaCh7ZnVuYzpmdW5jdGlvbigpe0VCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2FCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe2lCKCl9fSx7ZnVuYzpmdW5jdGlvbigpe29CKCl9fSk7dmFyIGpBPXt9O2Z1bmN0aW9uIFBBKCl7cmV0dXJuIFF8fFwiLi90aGlzLnByb2dyYW1cIn1mdW5jdGlvbiB2QShBKXt2YXIgSSxnO3ZBLmNhbGxlZD8oZz1BQVtBPj4yXSxJPUFBW2c+PjJdKToodkEuY2FsbGVkPSEwLGpBLlVTRVI9XCJ3ZWJfdXNlclwiLGpBLkxPR05BTUU9XCJ3ZWJfdXNlclwiLGpBLlBBVEg9XCIvXCIsakEuUFdEPVwiL1wiLGpBLkhPTUU9XCIvaG9tZS93ZWJfdXNlclwiLGpBLkxBTkc9KFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5hdmlnYXRvcj9cInVuZGVmaW5lZFwiOkQobmF2aWdhdG9yKSkmJm5hdmlnYXRvci5sYW5ndWFnZXMmJm5hdmlnYXRvci5sYW5ndWFnZXNbMF18fFwiQ1wiKS5yZXBsYWNlKFwiLVwiLFwiX1wiKStcIi5VVEYtOFwiLGpBLl89UEEoKSxJPUwoMTAyNCksZz1MKDI1NiksQUFbZz4+Ml09SSxBQVtBPj4yXT1nKTt2YXIgQj1bXSxDPTA7Zm9yKHZhciBRIGluIGpBKWlmKFwic3RyaW5nXCI9PXR5cGVvZiBqQVtRXSl7dmFyIEU9UStcIj1cIitqQVtRXTtCLnB1c2goRSksQys9RS5sZW5ndGh9aWYoQz4xMDI0KXRocm93IG5ldyBFcnJvcihcIkVudmlyb25tZW50IHNpemUgZXhjZWVkZWQgVE9UQUxfRU5WX1NJWkUhXCIpO2Zvcih2YXIgaT0wO2k8Qi5sZW5ndGg7aSsrKWooRT1CW2ldLEkpLEFBW2crNCppPj4yXT1JLEkrPUUubGVuZ3RoKzE7QUFbZys0KkIubGVuZ3RoPj4yXT0wfWZ1bmN0aW9uIHpBKEEpe3JldHVybiBSQihBKX12YXIgX0E9e307ZnVuY3Rpb24gJEEoQSxJLGcpe3Rocm93IF9BW0FdPXtwdHI6QSxhZGp1c3RlZDpbQV0sdHlwZTpJLGRlc3RydWN0b3I6ZyxyZWZjb3VudDowLGNhdWdodDohMSxyZXRocm93bjohMX0sXCJ1bmNhdWdodF9leGNlcHRpb25cImluIERCP0RCLnVuY2F1Z2h0X2V4Y2VwdGlvbnMrKzpEQi51bmNhdWdodF9leGNlcHRpb25zPTEsQX1mdW5jdGlvbiBBSSgpe31mdW5jdGlvbiBJSShJKXtyZXR1cm4gQS5fX19lcnJub19sb2NhdGlvbiYmKEFBW0EuX19fZXJybm9fbG9jYXRpb24oKT4+Ml09SSksSX1mdW5jdGlvbiBnSShBLEkpe3JldHVybiBJSSg2MyksLTF9dmFyIEJJPXtzcGxpdFBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuL14oXFwvP3wpKFtcXHNcXFNdKj8pKCg/OlxcLnsxLDJ9fFteXFwvXSs/fCkoXFwuW14uXFwvXSp8KSkoPzpbXFwvXSopJC8uZXhlYyhBKS5zbGljZSgxKX0sbm9ybWFsaXplQXJyYXk6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPUEubGVuZ3RoLTE7Qj49MDtCLS0pe3ZhciBDPUFbQl07XCIuXCI9PT1DP0Euc3BsaWNlKEIsMSk6XCIuLlwiPT09Qz8oQS5zcGxpY2UoQiwxKSxnKyspOmcmJihBLnNwbGljZShCLDEpLGctLSl9aWYoSSlmb3IoO2c7Zy0tKUEudW5zaGlmdChcIi4uXCIpO3JldHVybiBBfSxub3JtYWxpemU6ZnVuY3Rpb24oQSl7dmFyIEk9XCIvXCI9PT1BLmNoYXJBdCgwKSxnPVwiL1wiPT09QS5zdWJzdHIoLTEpO3JldHVybihBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fEl8fChBPVwiLlwiKSxBJiZnJiYoQSs9XCIvXCIpLChJP1wiL1wiOlwiXCIpK0F9LGRpcm5hbWU6ZnVuY3Rpb24oQSl7dmFyIEk9Qkkuc3BsaXRQYXRoKEEpLGc9SVswXSxCPUlbMV07cmV0dXJuIGd8fEI/KEImJihCPUIuc3Vic3RyKDAsQi5sZW5ndGgtMSkpLGcrQik6XCIuXCJ9LGJhc2VuYW1lOmZ1bmN0aW9uKEEpe2lmKFwiL1wiPT09QSlyZXR1cm5cIi9cIjt2YXIgST1BLmxhc3RJbmRleE9mKFwiL1wiKTtyZXR1cm4tMT09PUk/QTpBLnN1YnN0cihJKzEpfSxleHRuYW1lOmZ1bmN0aW9uKEEpe3JldHVybiBCSS5zcGxpdFBhdGgoQSlbM119LGpvaW46ZnVuY3Rpb24oKXt2YXIgQT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIEJJLm5vcm1hbGl6ZShBLmpvaW4oXCIvXCIpKX0sam9pbjI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQkkubm9ybWFsaXplKEErXCIvXCIrSSl9fSxDST17cmVzb2x2ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1cIlwiLEk9ITEsZz1hcmd1bWVudHMubGVuZ3RoLTE7Zz49LTEmJiFJO2ctLSl7dmFyIEI9Zz49MD9hcmd1bWVudHNbZ106aUkuY3dkKCk7aWYoXCJzdHJpbmdcIiE9dHlwZW9mIEIpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50cyB0byBwYXRoLnJlc29sdmUgbXVzdCBiZSBzdHJpbmdzXCIpO2lmKCFCKXJldHVyblwiXCI7QT1CK1wiL1wiK0EsST1cIi9cIj09PUIuY2hhckF0KDApfXJldHVybihJP1wiL1wiOlwiXCIpKyhBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFwiL1wiKSl8fFwiLlwifSxyZWxhdGl2ZTpmdW5jdGlvbihBLEkpe2Z1bmN0aW9uIGcoQSl7Zm9yKHZhciBJPTA7STxBLmxlbmd0aCYmXCJcIj09PUFbSV07SSsrKTtmb3IodmFyIGc9QS5sZW5ndGgtMTtnPj0wJiZcIlwiPT09QVtnXTtnLS0pO3JldHVybiBJPmc/W106QS5zbGljZShJLGctSSsxKX1BPUNJLnJlc29sdmUoQSkuc3Vic3RyKDEpLEk9Q0kucmVzb2x2ZShJKS5zdWJzdHIoMSk7Zm9yKHZhciBCPWcoQS5zcGxpdChcIi9cIikpLEM9ZyhJLnNwbGl0KFwiL1wiKSksUT1NYXRoLm1pbihCLmxlbmd0aCxDLmxlbmd0aCksRT1RLGk9MDtpPFE7aSsrKWlmKEJbaV0hPT1DW2ldKXtFPWk7YnJlYWt9dmFyIG89W107Zm9yKGk9RTtpPEIubGVuZ3RoO2krKylvLnB1c2goXCIuLlwiKTtyZXR1cm4obz1vLmNvbmNhdChDLnNsaWNlKEUpKSkuam9pbihcIi9cIil9fSxRST17dHR5czpbXSxpbml0OmZ1bmN0aW9uKCl7fSxzaHV0ZG93bjpmdW5jdGlvbigpe30scmVnaXN0ZXI6ZnVuY3Rpb24oQSxJKXtRSS50dHlzW0FdPXtpbnB1dDpbXSxvdXRwdXQ6W10sb3BzOkl9LGlJLnJlZ2lzdGVyRGV2aWNlKEEsUUkuc3RyZWFtX29wcyl9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9UUkudHR5c1tBLm5vZGUucmRldl07aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO0EudHR5PUksQS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5nZXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7Zm9yKHZhciBRPTAsRT0wO0U8QjtFKyspe3ZhciBpO3RyeXtpPUEudHR5Lm9wcy5nZXRfY2hhcihBLnR0eSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PWkmJjA9PT1RKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PWkpYnJlYWs7USsrLElbZytFXT1pfXJldHVybiBRJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5wdXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7dHJ5e2Zvcih2YXIgUT0wO1E8QjtRKyspQS50dHkub3BzLnB1dF9jaGFyKEEudHR5LElbZytRXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBCJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjpmdW5jdGlvbihBKXtpZighQS5pbnB1dC5sZW5ndGgpe3ZhciBJPW51bGw7aWYodyl7dmFyIGc9QnVmZmVyLmFsbG9jP0J1ZmZlci5hbGxvYygyNTYpOm5ldyBCdWZmZXIoMjU2KSxCPTA7dHJ5e0I9cy5yZWFkU3luYyhwcm9jZXNzLnN0ZGluLmZkLGcsMCwyNTYsbnVsbCl9Y2F0Y2goQSl7aWYoLTE9PUEudG9TdHJpbmcoKS5pbmRleE9mKFwiRU9GXCIpKXRocm93IEE7Qj0wfUk9Qj4wP2cuc2xpY2UoMCxCKS50b1N0cmluZyhcInV0Zi04XCIpOm51bGx9ZWxzZVwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHdpbmRvdy5wcm9tcHQ/bnVsbCE9PShJPXdpbmRvdy5wcm9tcHQoXCJJbnB1dDogXCIpKSYmKEkrPVwiXFxuXCIpOlwiZnVuY3Rpb25cIj09dHlwZW9mIHJlYWRsaW5lJiZudWxsIT09KEk9cmVhZGxpbmUoKSkmJihJKz1cIlxcblwiKTtpZighSSlyZXR1cm4gbnVsbDtBLmlucHV0PVhnKEksITApfXJldHVybiBBLmlucHV0LnNoaWZ0KCl9LHB1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8odChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYodChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX19LEVJPXtvcHNfdGFibGU6bnVsbCxtb3VudDpmdW5jdGlvbihBKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShudWxsLFwiL1wiLDE2ODk1LDApfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKGlJLmlzQmxrZGV2KGcpfHxpSS5pc0ZJRk8oZykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0VJLm9wc190YWJsZXx8KEVJLm9wc190YWJsZT17ZGlyOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLGxvb2t1cDpFSS5ub2RlX29wcy5sb29rdXAsbWtub2Q6RUkubm9kZV9vcHMubWtub2QscmVuYW1lOkVJLm5vZGVfb3BzLnJlbmFtZSx1bmxpbms6RUkubm9kZV9vcHMudW5saW5rLHJtZGlyOkVJLm5vZGVfb3BzLnJtZGlyLHJlYWRkaXI6RUkubm9kZV9vcHMucmVhZGRpcixzeW1saW5rOkVJLm5vZGVfb3BzLnN5bWxpbmt9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrfX0sZmlsZTp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOntsbHNlZWs6RUkuc3RyZWFtX29wcy5sbHNlZWsscmVhZDpFSS5zdHJlYW1fb3BzLnJlYWQsd3JpdGU6RUkuc3RyZWFtX29wcy53cml0ZSxhbGxvY2F0ZTpFSS5zdHJlYW1fb3BzLmFsbG9jYXRlLG1tYXA6RUkuc3RyZWFtX29wcy5tbWFwLG1zeW5jOkVJLnN0cmVhbV9vcHMubXN5bmN9fSxsaW5rOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLHJlYWRsaW5rOkVJLm5vZGVfb3BzLnJlYWRsaW5rfSxzdHJlYW06e319LGNocmRldjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOmlJLmNocmRldl9zdHJlYW1fb3BzfX0pO3ZhciBDPWlJLmNyZWF0ZU5vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmlzRGlyKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmRpci5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZGlyLnN0cmVhbSxDLmNvbnRlbnRzPXt9KTppSS5pc0ZpbGUoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuZmlsZS5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZmlsZS5zdHJlYW0sQy51c2VkQnl0ZXM9MCxDLmNvbnRlbnRzPW51bGwpOmlJLmlzTGluayhDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5saW5rLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5saW5rLnN0cmVhbSk6aUkuaXNDaHJkZXYoQy5tb2RlKSYmKEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuY2hyZGV2LnN0cmVhbSksQy50aW1lc3RhbXA9RGF0ZS5ub3coKSxBJiYoQS5jb250ZW50c1tJXT1DKSxDfSxnZXRGaWxlRGF0YUFzUmVndWxhckFycmF5OmZ1bmN0aW9uKEEpe2lmKEEuY29udGVudHMmJkEuY29udGVudHMuc3ViYXJyYXkpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLnVzZWRCeXRlczsrK2cpSS5wdXNoKEEuY29udGVudHNbZ10pO3JldHVybiBJfXJldHVybiBBLmNvbnRlbnRzfSxnZXRGaWxlRGF0YUFzVHlwZWRBcnJheTpmdW5jdGlvbihBKXtyZXR1cm4gQS5jb250ZW50cz9BLmNvbnRlbnRzLnN1YmFycmF5P0EuY29udGVudHMuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyk6bmV3IFVpbnQ4QXJyYXkoQS5jb250ZW50cyk6bmV3IFVpbnQ4QXJyYXl9LGV4cGFuZEZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9QS5jb250ZW50cz9BLmNvbnRlbnRzLmxlbmd0aDowO2lmKCEoZz49SSkpe0k9TWF0aC5tYXgoSSxnKihnPDEwNDg1NzY/MjoxLjEyNSl8MCksMCE9ZyYmKEk9TWF0aC5tYXgoSSwyNTYpKTt2YXIgQj1BLmNvbnRlbnRzO0EuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkoSSksQS51c2VkQnl0ZXM+MCYmQS5jb250ZW50cy5zZXQoQi5zdWJhcnJheSgwLEEudXNlZEJ5dGVzKSwwKX19LHJlc2l6ZUZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7aWYoQS51c2VkQnl0ZXMhPUkpe2lmKDA9PUkpcmV0dXJuIEEuY29udGVudHM9bnVsbCx2b2lkKEEudXNlZEJ5dGVzPTApO2lmKCFBLmNvbnRlbnRzfHxBLmNvbnRlbnRzLnN1YmFycmF5KXt2YXIgZz1BLmNvbnRlbnRzO3JldHVybiBBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLGcmJkEuY29udGVudHMuc2V0KGcuc3ViYXJyYXkoMCxNYXRoLm1pbihJLEEudXNlZEJ5dGVzKSkpLHZvaWQoQS51c2VkQnl0ZXM9SSl9aWYoQS5jb250ZW50c3x8KEEuY29udGVudHM9W10pLEEuY29udGVudHMubGVuZ3RoPkkpQS5jb250ZW50cy5sZW5ndGg9STtlbHNlIGZvcig7QS5jb250ZW50cy5sZW5ndGg8STspQS5jb250ZW50cy5wdXNoKDApO0EudXNlZEJ5dGVzPUl9fSxub2RlX29wczp7Z2V0YXR0cjpmdW5jdGlvbihBKXt2YXIgST17fTtyZXR1cm4gSS5kZXY9aUkuaXNDaHJkZXYoQS5tb2RlKT9BLmlkOjEsSS5pbm89QS5pZCxJLm1vZGU9QS5tb2RlLEkubmxpbms9MSxJLnVpZD0wLEkuZ2lkPTAsSS5yZGV2PUEucmRldixpSS5pc0RpcihBLm1vZGUpP0kuc2l6ZT00MDk2OmlJLmlzRmlsZShBLm1vZGUpP0kuc2l6ZT1BLnVzZWRCeXRlczppSS5pc0xpbmsoQS5tb2RlKT9JLnNpemU9QS5saW5rLmxlbmd0aDpJLnNpemU9MCxJLmF0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLm10aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmN0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmJsa3NpemU9NDA5NixJLmJsb2Nrcz1NYXRoLmNlaWwoSS5zaXplL0kuYmxrc2l6ZSksSX0sc2V0YXR0cjpmdW5jdGlvbihBLEkpe3ZvaWQgMCE9PUkubW9kZSYmKEEubW9kZT1JLm1vZGUpLHZvaWQgMCE9PUkudGltZXN0YW1wJiYoQS50aW1lc3RhbXA9SS50aW1lc3RhbXApLHZvaWQgMCE9PUkuc2l6ZSYmRUkucmVzaXplRmlsZVN0b3JhZ2UoQSxJLnNpemUpfSxsb29rdXA6ZnVuY3Rpb24oQSxJKXt0aHJvdyBpSS5nZW5lcmljRXJyb3JzWzQ0XX0sbWtub2Q6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIEVJLmNyZWF0ZU5vZGUoQSxJLGcsQil9LHJlbmFtZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNEaXIoQS5tb2RlKSl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShJLGcpfWNhdGNoKEEpe31pZihCKWZvcih2YXIgQyBpbiBCLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KX1kZWxldGUgQS5wYXJlbnQuY29udGVudHNbQS5uYW1lXSxBLm5hbWU9ZyxJLmNvbnRlbnRzW2ddPUEsQS5wYXJlbnQ9SX0sdW5saW5rOmZ1bmN0aW9uKEEsSSl7ZGVsZXRlIEEuY29udGVudHNbSV19LHJtZGlyOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwTm9kZShBLEkpO2Zvcih2YXIgQiBpbiBnLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTtkZWxldGUgQS5jb250ZW50c1tJXX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1bXCIuXCIsXCIuLlwiXTtmb3IodmFyIGcgaW4gQS5jb250ZW50cylBLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGcpJiZJLnB1c2goZyk7cmV0dXJuIEl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUVJLmNyZWF0ZU5vZGUoQSxJLDQxNDcxLDApO3JldHVybiBCLmxpbms9ZyxCfSxyZWFkbGluazpmdW5jdGlvbihBKXtpZighaUkuaXNMaW5rKEEubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLmxpbmt9fSxzdHJlYW1fb3BzOntyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PUEubm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oQS5ub2RlLnVzZWRCeXRlcy1DLEIpO2lmKEU+OCYmUS5zdWJhcnJheSlJLnNldChRLnN1YmFycmF5KEMsQytFKSxnKTtlbHNlIGZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtyZXR1cm4gRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKCFCKXJldHVybiAwO3ZhciBFPUEubm9kZTtpZihFLnRpbWVzdGFtcD1EYXRlLm5vdygpLEkuc3ViYXJyYXkmJighRS5jb250ZW50c3x8RS5jb250ZW50cy5zdWJhcnJheSkpe2lmKFEpcmV0dXJuIEUuY29udGVudHM9SS5zdWJhcnJheShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKDA9PT1FLnVzZWRCeXRlcyYmMD09PUMpcmV0dXJuIEUuY29udGVudHM9SS5zbGljZShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKEMrQjw9RS51c2VkQnl0ZXMpcmV0dXJuIEUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpLEJ9aWYoRUkuZXhwYW5kRmlsZVN0b3JhZ2UoRSxDK0IpLEUuY29udGVudHMuc3ViYXJyYXkmJkkuc3ViYXJyYXkpRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyk7ZWxzZSBmb3IodmFyIGk9MDtpPEI7aSsrKUUuY29udGVudHNbQytpXT1JW2craV07cmV0dXJuIEUudXNlZEJ5dGVzPU1hdGgubWF4KEUudXNlZEJ5dGVzLEMrQiksQn0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1JO2lmKDE9PT1nP0IrPUEucG9zaXRpb246Mj09PWcmJmlJLmlzRmlsZShBLm5vZGUubW9kZSkmJihCKz1BLm5vZGUudXNlZEJ5dGVzKSxCPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBCfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7RUkuZXhwYW5kRmlsZVN0b3JhZ2UoQS5ub2RlLEkrZyksQS5ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChBLm5vZGUudXNlZEJ5dGVzLEkrZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3ZhciBpLG8sRD1BLm5vZGUuY29udGVudHM7aWYoMiZFfHxELmJ1ZmZlciE9PUkuYnVmZmVyKXsoQz4wfHxDK0I8QS5ub2RlLnVzZWRCeXRlcykmJihEPUQuc3ViYXJyYXk/RC5zdWJhcnJheShDLEMrQik6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoRCxDLEMrQikpLG89ITA7dmFyIGE9SS5idWZmZXI9PXYuYnVmZmVyO2lmKCEoaT1SQihCKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDgpOyhhP3Y6SSkuc2V0KEQsaSl9ZWxzZSBvPSExLGk9RC5ieXRlT2Zmc2V0O3JldHVybntwdHI6aSxhbGxvY2F0ZWQ6b319LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiAyJkN8fEVJLnN0cmVhbV9vcHMud3JpdGUoQSxJLDAsQixnLCExKSwwfX19LGlJPXtyb290Om51bGwsbW91bnRzOltdLGRldmljZXM6e30sc3RyZWFtczpbXSxuZXh0SW5vZGU6MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDpcIi9cIixpbml0aWFsaXplZDohMSxpZ25vcmVQZXJtaXNzaW9uczohMCx0cmFja2luZ0RlbGVnYXRlOnt9LHRyYWNraW5nOntvcGVuRmxhZ3M6e1JFQUQ6MSxXUklURToyfX0sRXJybm9FcnJvcjpudWxsLGdlbmVyaWNFcnJvcnM6e30sZmlsZXN5c3RlbXM6bnVsbCxzeW5jRlNSZXF1ZXN0czowLGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcikpdGhyb3cgQStcIiA6IFwiK1RBKCk7cmV0dXJuIElJKEEuZXJybm8pfSxsb29rdXBQYXRoOmZ1bmN0aW9uKEEsSSl7aWYoST1JfHx7fSwhKEE9Q0kucmVzb2x2ZShpSS5jd2QoKSxBKSkpcmV0dXJue3BhdGg6XCJcIixub2RlOm51bGx9O3ZhciBnPXtmb2xsb3dfbW91bnQ6ITAscmVjdXJzZV9jb3VudDowfTtmb3IodmFyIEIgaW4gZyl2b2lkIDA9PT1JW0JdJiYoSVtCXT1nW0JdKTtpZihJLnJlY3Vyc2VfY291bnQ+OCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMik7Zm9yKHZhciBDPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXCIvXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCExKSxRPWlJLnJvb3QsRT1cIi9cIixpPTA7aTxDLmxlbmd0aDtpKyspe3ZhciBvPWk9PT1DLmxlbmd0aC0xO2lmKG8mJkkucGFyZW50KWJyZWFrO2lmKFE9aUkubG9va3VwTm9kZShRLENbaV0pLEU9Qkkuam9pbjIoRSxDW2ldKSxpSS5pc01vdW50cG9pbnQoUSkmJighb3x8byYmSS5mb2xsb3dfbW91bnQpJiYoUT1RLm1vdW50ZWQucm9vdCksIW98fEkuZm9sbG93KWZvcih2YXIgRD0wO2lJLmlzTGluayhRLm1vZGUpOyl7dmFyIGE9aUkucmVhZGxpbmsoRSk7aWYoRT1DSS5yZXNvbHZlKEJJLmRpcm5hbWUoRSksYSksUT1pSS5sb29rdXBQYXRoKEUse3JlY3Vyc2VfY291bnQ6SS5yZWN1cnNlX2NvdW50fSkubm9kZSxEKys+NDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzIpfX1yZXR1cm57cGF0aDpFLG5vZGU6UX19LGdldFBhdGg6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJOzspe2lmKGlJLmlzUm9vdChBKSl7dmFyIGc9QS5tb3VudC5tb3VudHBvaW50O3JldHVybiBJP1wiL1wiIT09Z1tnLmxlbmd0aC0xXT9nK1wiL1wiK0k6ZytJOmd9ST1JP0EubmFtZStcIi9cIitJOkEubmFtZSxBPUEucGFyZW50fX0saGFzaE5hbWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MCxCPTA7QjxJLmxlbmd0aDtCKyspZz0oZzw8NSktZytJLmNoYXJDb2RlQXQoQil8MDtyZXR1cm4oQStnPj4+MCklaUkubmFtZVRhYmxlLmxlbmd0aH0saGFzaEFkZE5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtBLm5hbWVfbmV4dD1pSS5uYW1lVGFibGVbSV0saUkubmFtZVRhYmxlW0ldPUF9LGhhc2hSZW1vdmVOb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7aWYoaUkubmFtZVRhYmxlW0ldPT09QSlpSS5uYW1lVGFibGVbSV09QS5uYW1lX25leHQ7ZWxzZSBmb3IodmFyIGc9aUkubmFtZVRhYmxlW0ldO2c7KXtpZihnLm5hbWVfbmV4dD09PUEpe2cubmFtZV9uZXh0PUEubmFtZV9uZXh0O2JyZWFrfWc9Zy5uYW1lX25leHR9fSxsb29rdXBOb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubWF5TG9va3VwKEEpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyxBKTtmb3IodmFyIEI9aUkuaGFzaE5hbWUoQS5pZCxJKSxDPWlJLm5hbWVUYWJsZVtCXTtDO0M9Qy5uYW1lX25leHQpe3ZhciBRPUMubmFtZTtpZihDLnBhcmVudC5pZD09PUEuaWQmJlE9PT1JKXJldHVybiBDfXJldHVybiBpSS5sb29rdXAoQSxJKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZighaUkuRlNOb2RlKXtpSS5GU05vZGU9ZnVuY3Rpb24oQSxJLGcsQil7QXx8KEE9dGhpcyksdGhpcy5wYXJlbnQ9QSx0aGlzLm1vdW50PUEubW91bnQsdGhpcy5tb3VudGVkPW51bGwsdGhpcy5pZD1pSS5uZXh0SW5vZGUrKyx0aGlzLm5hbWU9SSx0aGlzLm1vZGU9Zyx0aGlzLm5vZGVfb3BzPXt9LHRoaXMuc3RyZWFtX29wcz17fSx0aGlzLnJkZXY9Qn0saUkuRlNOb2RlLnByb3RvdHlwZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpSS5GU05vZGUucHJvdG90eXBlLHtyZWFkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMzY1PT0oMzY1JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MzY1OnRoaXMubW9kZSY9LTM2Nn19LHdyaXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTQ2PT0oMTQ2JnRoaXMubW9kZSl9LHNldDpmdW5jdGlvbihBKXtBP3RoaXMubW9kZXw9MTQ2OnRoaXMubW9kZSY9LTE0N319LGlzRm9sZGVyOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNEaXIodGhpcy5tb2RlKX19LGlzRGV2aWNlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuaXNDaHJkZXYodGhpcy5tb2RlKX19fSl9dmFyIEM9bmV3IGlJLkZTTm9kZShBLEksZyxCKTtyZXR1cm4gaUkuaGFzaEFkZE5vZGUoQyksQ30sZGVzdHJveU5vZGU6ZnVuY3Rpb24oQSl7aUkuaGFzaFJlbW92ZU5vZGUoQSl9LGlzUm9vdDpmdW5jdGlvbihBKXtyZXR1cm4gQT09PUEucGFyZW50fSxpc01vdW50cG9pbnQ6ZnVuY3Rpb24oQSl7cmV0dXJuISFBLm1vdW50ZWR9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm4gMzI3Njg9PSg2MTQ0MCZBKX0saXNEaXI6ZnVuY3Rpb24oQSl7cmV0dXJuIDE2Mzg0PT0oNjE0NDAmQSl9LGlzTGluazpmdW5jdGlvbihBKXtyZXR1cm4gNDA5NjA9PSg2MTQ0MCZBKX0saXNDaHJkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDgxOTI9PSg2MTQ0MCZBKX0saXNCbGtkZXY6ZnVuY3Rpb24oQSl7cmV0dXJuIDI0NTc2PT0oNjE0NDAmQSl9LGlzRklGTzpmdW5jdGlvbihBKXtyZXR1cm4gNDA5Nj09KDYxNDQwJkEpfSxpc1NvY2tldDpmdW5jdGlvbihBKXtyZXR1cm4gNDkxNTI9PSg0OTE1MiZBKX0sZmxhZ01vZGVzOntyOjAscnM6MTA1MjY3MixcInIrXCI6Mix3OjU3Nyx3eDo3MDUseHc6NzA1LFwidytcIjo1NzgsXCJ3eCtcIjo3MDYsXCJ4dytcIjo3MDYsYToxMDg5LGF4OjEyMTcseGE6MTIxNyxcImErXCI6MTA5MCxcImF4K1wiOjEyMTgsXCJ4YStcIjoxMjE4fSxtb2RlU3RyaW5nVG9GbGFnczpmdW5jdGlvbihBKXt2YXIgST1pSS5mbGFnTW9kZXNbQV07aWYodm9pZCAwPT09SSl0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGZpbGUgb3BlbiBtb2RlOiBcIitBKTtyZXR1cm4gSX0sZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmc6ZnVuY3Rpb24oQSl7dmFyIEk9W1wiclwiLFwid1wiLFwicndcIl1bMyZBXTtyZXR1cm4gNTEyJkEmJihJKz1cIndcIiksSX0sbm9kZVBlcm1pc3Npb25zOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIGlJLmlnbm9yZVBlcm1pc3Npb25zfHwoLTE9PT1JLmluZGV4T2YoXCJyXCIpfHwyOTImQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFwid1wiKXx8MTQ2JkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcInhcIil8fDczJkEubW9kZSk/MDoyfSxtYXlMb29rdXA6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLm5vZGVQZXJtaXNzaW9ucyhBLFwieFwiKXx8KEEubm9kZV9vcHMubG9va3VwPzA6Mil9LG1heUNyZWF0ZTpmdW5jdGlvbihBLEkpe3RyeXtyZXR1cm4gaUkubG9va3VwTm9kZShBLEkpLDIwfWNhdGNoKEEpe31yZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKX0sbWF5RGVsZXRlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjt0cnl7Qj1pSS5sb29rdXBOb2RlKEEsSSl9Y2F0Y2goQSl7cmV0dXJuIEEuZXJybm99dmFyIEM9aUkubm9kZVBlcm1pc3Npb25zKEEsXCJ3eFwiKTtpZihDKXJldHVybiBDO2lmKGcpe2lmKCFpSS5pc0RpcihCLm1vZGUpKXJldHVybiA1NDtpZihpSS5pc1Jvb3QoQil8fGlJLmdldFBhdGgoQik9PT1pSS5jd2QoKSlyZXR1cm4gMTB9ZWxzZSBpZihpSS5pc0RpcihCLm1vZGUpKXJldHVybiAzMTtyZXR1cm4gMH0sbWF5T3BlbjpmdW5jdGlvbihBLEkpe3JldHVybiBBP2lJLmlzTGluayhBLm1vZGUpPzMyOmlJLmlzRGlyKEEubW9kZSkmJihcInJcIiE9PWlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpfHw1MTImSSk/MzE6aUkubm9kZVBlcm1pc3Npb25zKEEsaUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSkpOjQ0fSxNQVhfT1BFTl9GRFM6NDA5NixuZXh0ZmQ6ZnVuY3Rpb24oQSxJKXtBPUF8fDAsST1JfHxpSS5NQVhfT1BFTl9GRFM7Zm9yKHZhciBnPUE7Zzw9STtnKyspaWYoIWlJLnN0cmVhbXNbZ10pcmV0dXJuIGc7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzMpfSxnZXRTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0cmVhbXNbQV19LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihBLEksZyl7aUkuRlNTdHJlYW18fChpSS5GU1N0cmVhbT1mdW5jdGlvbigpe30saUkuRlNTdHJlYW0ucHJvdG90eXBlPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5ub2RlPUF9fSxpc1JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzV3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAwIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzQXBwZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTAyNCZ0aGlzLmZsYWdzfX19KSk7dmFyIEI9bmV3IGlJLkZTU3RyZWFtO2Zvcih2YXIgQyBpbiBBKUJbQ109QVtDXTtBPUI7dmFyIFE9aUkubmV4dGZkKEksZyk7cmV0dXJuIEEuZmQ9USxpSS5zdHJlYW1zW1FdPUEsQX0sY2xvc2VTdHJlYW06ZnVuY3Rpb24oQSl7aUkuc3RyZWFtc1tBXT1udWxsfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1pSS5nZXREZXZpY2UoQS5ub2RlLnJkZXYpO0Euc3RyZWFtX29wcz1JLnN0cmVhbV9vcHMsQS5zdHJlYW1fb3BzLm9wZW4mJkEuc3RyZWFtX29wcy5vcGVuKEEpfSxsbHNlZWs6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9fSxtYWpvcjpmdW5jdGlvbihBKXtyZXR1cm4gQT4+OH0sbWlub3I6ZnVuY3Rpb24oQSl7cmV0dXJuIDI1NSZBfSxtYWtlZGV2OmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE8PDh8SX0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24oQSxJKXtpSS5kZXZpY2VzW0FdPXtzdHJlYW1fb3BzOkl9fSxnZXREZXZpY2U6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLmRldmljZXNbQV19LGdldE1vdW50czpmdW5jdGlvbihBKXtmb3IodmFyIEk9W10sZz1bQV07Zy5sZW5ndGg7KXt2YXIgQj1nLnBvcCgpO0kucHVzaChCKSxnLnB1c2guYXBwbHkoZyxCLm1vdW50cyl9cmV0dXJuIEl9LHN5bmNmczpmdW5jdGlvbihBLEkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIEEmJihJPUEsQT0hMSksaUkuc3luY0ZTUmVxdWVzdHMrKyxpSS5zeW5jRlNSZXF1ZXN0cz4xJiZTKFwid2FybmluZzogXCIraUkuc3luY0ZTUmVxdWVzdHMrXCIgRlMuc3luY2ZzIG9wZXJhdGlvbnMgaW4gZmxpZ2h0IGF0IG9uY2UsIHByb2JhYmx5IGp1c3QgZG9pbmcgZXh0cmEgd29ya1wiKTt2YXIgZz1pSS5nZXRNb3VudHMoaUkucm9vdC5tb3VudCksQj0wO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGlJLnN5bmNGU1JlcXVlc3RzLS0sSShBKX1mdW5jdGlvbiBRKEEpe2lmKEEpcmV0dXJuIFEuZXJyb3JlZD92b2lkIDA6KFEuZXJyb3JlZD0hMCxDKEEpKTsrK0I+PWcubGVuZ3RoJiZDKG51bGwpfWcuZm9yRWFjaCgoZnVuY3Rpb24oSSl7aWYoIUkudHlwZS5zeW5jZnMpcmV0dXJuIFEobnVsbCk7SS50eXBlLnN5bmNmcyhJLEEsUSl9KSl9LG1vdW50OmZ1bmN0aW9uKEEsSSxnKXt2YXIgQixDPVwiL1wiPT09ZyxRPSFnO2lmKEMmJmlJLnJvb3QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFDJiYhUSl7dmFyIEU9aUkubG9va3VwUGF0aChnLHtmb2xsb3dfbW91bnQ6ITF9KTtpZihnPUUucGF0aCxCPUUubm9kZSxpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFpSS5pc0RpcihCLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KX12YXIgaT17dHlwZTpBLG9wdHM6SSxtb3VudHBvaW50OmcsbW91bnRzOltdfSxvPUEubW91bnQoaSk7cmV0dXJuIG8ubW91bnQ9aSxpLnJvb3Q9byxDP2lJLnJvb3Q9bzpCJiYoQi5tb3VudGVkPWksQi5tb3VudCYmQi5tb3VudC5tb3VudHMucHVzaChpKSksb30sdW5tb3VudDpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvd19tb3VudDohMX0pO2lmKCFpSS5pc01vdW50cG9pbnQoSS5ub2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIGc9SS5ub2RlLEI9Zy5tb3VudGVkLEM9aUkuZ2V0TW91bnRzKEIpO09iamVjdC5rZXlzKGlJLm5hbWVUYWJsZSkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBJPWlJLm5hbWVUYWJsZVtBXTtJOyl7dmFyIGc9SS5uYW1lX25leHQ7LTEhPT1DLmluZGV4T2YoSS5tb3VudCkmJmlJLmRlc3Ryb3lOb2RlKEkpLEk9Z319KSksZy5tb3VudGVkPW51bGw7dmFyIFE9Zy5tb3VudC5tb3VudHMuaW5kZXhPZihCKTtnLm1vdW50Lm1vdW50cy5zcGxpY2UoUSwxKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEubm9kZV9vcHMubG9va3VwKEEsSSl9LG1rbm9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQz1CSS5iYXNlbmFtZShBKTtpZighQ3x8XCIuXCI9PT1DfHxcIi4uXCI9PT1DKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT1pSS5tYXlDcmVhdGUoQixDKTtpZihRKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKFEpO2lmKCFCLm5vZGVfb3BzLm1rbm9kKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gQi5ub2RlX29wcy5ta25vZChCLEMsSSxnKX0sY3JlYXRlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjQzOCxJJj00MDk1LEl8PTMyNzY4LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NTExLEkmPTEwMjMsSXw9MTYzODQsaUkubWtub2QoQSxJLDApfSxta2RpclRyZWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9QS5zcGxpdChcIi9cIiksQj1cIlwiLEM9MDtDPGcubGVuZ3RoOysrQylpZihnW0NdKXtCKz1cIi9cIitnW0NdO3RyeXtpSS5ta2RpcihCLEkpfWNhdGNoKEEpe2lmKDIwIT1BLmVycm5vKXRocm93IEF9fX0sbWtkZXY6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB2b2lkIDA9PT1nJiYoZz1JLEk9NDM4KSxJfD04MTkyLGlJLm1rbm9kKEEsSSxnKX0sc3ltbGluazpmdW5jdGlvbihBLEkpe2lmKCFDSS5yZXNvbHZlKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgZz1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBCPUJJLmJhc2VuYW1lKEkpLEM9aUkubWF5Q3JlYXRlKGcsQik7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighZy5ub2RlX29wcy5zeW1saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5zeW1saW5rKGcsQixBKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSl7dmFyIGcsQixDPUJJLmRpcm5hbWUoQSksUT1CSS5kaXJuYW1lKEkpLEU9QkkuYmFzZW5hbWUoQSksaT1CSS5iYXNlbmFtZShJKTt0cnl7Zz1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQj1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGV9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApfWlmKCFnfHwhQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoZy5tb3VudCE9PUIubW91bnQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzUpO3ZhciBvLEQ9aUkubG9va3VwTm9kZShnLEUpLGE9Q0kucmVsYXRpdmUoQSxRKTtpZihcIi5cIiE9PWEuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihcIi5cIiE9PShhPUNJLnJlbGF0aXZlKEksQykpLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7dHJ5e289aUkubG9va3VwTm9kZShCLGkpfWNhdGNoKEEpe31pZihEIT09byl7dmFyIHc9aUkuaXNEaXIoRC5tb2RlKSxGPWlJLm1heURlbGV0ZShnLEUsdyk7aWYoRil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZihGPW8/aUkubWF5RGVsZXRlKEIsaSx3KTppSS5tYXlDcmVhdGUoQixpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTtpZighZy5ub2RlX29wcy5yZW5hbWUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChEKXx8byYmaUkuaXNNb3VudHBvaW50KG8pKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZihCIT09ZyYmKEY9aUkubm9kZVBlcm1pc3Npb25zKGcsXCJ3XCIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxNb3ZlUGF0aCddKCdcIitBK1wiJywgJ1wiK0krXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK2cubWVzc2FnZSl9aUkuaGFzaFJlbW92ZU5vZGUoRCk7dHJ5e2cubm9kZV9vcHMucmVuYW1lKEQsQixpKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuaGFzaEFkZE5vZGUoRCl9dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uTW92ZVBhdGgnXSgnXCIrQStcIicsICdcIitJK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitnLm1lc3NhZ2UpfX19LHJtZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMCk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy5ybWRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnJtZGlyKEksZyksaUkuZGVzdHJveU5vZGUoQik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9fSxyZWFkZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtpZighSS5ub2RlX29wcy5yZWFkZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtyZXR1cm4gSS5ub2RlX29wcy5yZWFkZGlyKEkpfSx1bmxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCExKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnVubGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnVubGluayhJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfX0scmVhZGxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBKS5ub2RlO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighSS5ub2RlX29wcy5yZWFkbGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIENJLnJlc29sdmUoaUkuZ2V0UGF0aChJLnBhcmVudCksSS5ub2RlX29wcy5yZWFkbGluayhJKSl9LHN0YXQ6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFnLm5vZGVfb3BzLmdldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBnLm5vZGVfb3BzLmdldGF0dHIoZyl9LGxzdGF0OmZ1bmN0aW9uKEEpe3JldHVybiBpSS5zdGF0KEEsITApfSxjaG1vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI7aWYoIShCPVwic3RyaW5nXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFnfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtCLm5vZGVfb3BzLnNldGF0dHIoQix7bW9kZTo0MDk1Jkl8LTQwOTYmQi5tb2RlLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG1vZDpmdW5jdGlvbihBLEkpe2lJLmNobW9kKEEsSSwhMCl9LGZjaG1vZDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG1vZChnLm5vZGUsSSl9LGNob3duOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDO2lmKCEoQz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohQn0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qy5ub2RlX29wcy5zZXRhdHRyKEMse3RpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG93bjpmdW5jdGlvbihBLEksZyl7aUkuY2hvd24oQSxJLGcsITApfSxmY2hvd246ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG93bihCLm5vZGUsSSxnKX0sdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXtpZihJPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnO2lmKCEoZz1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNEaXIoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIWlJLmlzRmlsZShnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgQj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcIndcIik7aWYoQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihCKTtnLm5vZGVfb3BzLnNldGF0dHIoZyx7c2l6ZTpJLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGZ0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZnLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aUkudHJ1bmNhdGUoZy5ub2RlLEkpfSx1dGltZTpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO0Iubm9kZV9vcHMuc2V0YXR0cihCLHt0aW1lc3RhbXA6TWF0aC5tYXgoSSxnKX0pfSxvcGVuOmZ1bmN0aW9uKEksZyxCLEMsUSl7aWYoXCJcIj09PUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBFO2lmKEI9dm9pZCAwPT09Qj80Mzg6QixCPTY0JihnPVwic3RyaW5nXCI9PXR5cGVvZiBnP2lJLm1vZGVTdHJpbmdUb0ZsYWdzKGcpOmcpPzQwOTUmQnwzMjc2ODowLFwib2JqZWN0XCI9PT1EKEkpKUU9STtlbHNle0k9Qkkubm9ybWFsaXplKEkpO3RyeXtFPWlJLmxvb2t1cFBhdGgoSSx7Zm9sbG93OiEoMTMxMDcyJmcpfSkubm9kZX1jYXRjaChBKXt9fXZhciBpPSExO2lmKDY0JmcpaWYoRSl7aWYoMTI4JmcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjApfWVsc2UgRT1pSS5ta25vZChJLEIsMCksaT0hMDtpZighRSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoaUkuaXNDaHJkZXYoRS5tb2RlKSYmKGcmPS01MTMpLDY1NTM2JmcmJiFpSS5pc0RpcihFLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtpZighaSl7dmFyIG89aUkubWF5T3BlbihFLGcpO2lmKG8pdGhyb3cgbmV3IGlJLkVycm5vRXJyb3Iobyl9NTEyJmcmJmlJLnRydW5jYXRlKEUsMCksZyY9LTY0MTt2YXIgYT1pSS5jcmVhdGVTdHJlYW0oe25vZGU6RSxwYXRoOmlJLmdldFBhdGgoRSksZmxhZ3M6ZyxzZWVrYWJsZTohMCxwb3NpdGlvbjowLHN0cmVhbV9vcHM6RS5zdHJlYW1fb3BzLHVuZ290dGVuOltdLGVycm9yOiExfSxDLFEpO2Euc3RyZWFtX29wcy5vcGVuJiZhLnN0cmVhbV9vcHMub3BlbihhKSwhQS5sb2dSZWFkRmlsZXN8fDEmZ3x8KGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlcz17fSksSSBpbiBpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXNbSV09MSxTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZSBlcnJvciBvbiByZWFkIGZpbGU6IFwiK0kpKSk7dHJ5e2lmKGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZSl7dmFyIHc9MDsxIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5SRUFEKSwwIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5XUklURSksaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk9wZW5GaWxlKEksdyl9fWNhdGNoKEEpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk9wZW5GaWxlJ10oJ1wiK0krXCInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitBLm1lc3NhZ2UpfXJldHVybiBhfSxjbG9zZTpmdW5jdGlvbihBKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtBLmdldGRlbnRzJiYoQS5nZXRkZW50cz1udWxsKTt0cnl7QS5zdHJlYW1fb3BzLmNsb3NlJiZBLnN0cmVhbV9vcHMuY2xvc2UoQSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmNsb3NlU3RyZWFtKEEuZmQpfUEuZmQ9bnVsbH0saXNDbG9zZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PT1BLmZkfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFBLnNlZWthYmxlfHwhQS5zdHJlYW1fb3BzLmxsc2Vlayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCk7aWYoMCE9ZyYmMSE9ZyYmMiE9Zyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEucG9zaXRpb249QS5zdHJlYW1fb3BzLmxsc2VlayhBLEksZyksQS51bmdvdHRlbj1bXSxBLnBvc2l0aW9ufSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy5yZWFkKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT12b2lkIDAhPT1DO2lmKFEpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgRT1BLnN0cmVhbV9vcHMucmVhZChBLEksZyxCLEMpO3JldHVybiBRfHwoQS5wb3NpdGlvbis9RSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMud3JpdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpOzEwMjQmQS5mbGFncyYmaUkubGxzZWVrKEEsMCwyKTt2YXIgRT12b2lkIDAhPT1DO2lmKEUpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgaT1BLnN0cmVhbV9vcHMud3JpdGUoQSxJLGcsQixDLFEpO0V8fChBLnBvc2l0aW9uKz1pKTt0cnl7QS5wYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZShBLnBhdGgpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbldyaXRlVG9GaWxlJ10oJ1wiK0EucGF0aCtcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX1yZXR1cm4gaX0sYWxsb2NhdGU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKEk8MHx8Zzw9MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoMD09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkmJiFpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO2lmKCFBLnN0cmVhbV9vcHMuYWxsb2NhdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTM4KTtBLnN0cmVhbV9vcHMuYWxsb2NhdGUoQSxJLGcpfSxtbWFwOmZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUpe2lmKDAhPSgyJlEpJiYwPT0oMiZFKSYmMiE9KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoMT09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMik7aWYoIUEuc3RyZWFtX29wcy5tbWFwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtyZXR1cm4gQS5zdHJlYW1fb3BzLm1tYXAoQSxJLGcsQixDLFEsRSl9LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEEmJkEuc3RyZWFtX29wcy5tc3luYz9BLnN0cmVhbV9vcHMubXN5bmMoQSxJLGcsQixDKTowfSxtdW5tYXA6ZnVuY3Rpb24oQSl7cmV0dXJuIDB9LGlvY3RsOmZ1bmN0aW9uKEEsSSxnKXtpZighQS5zdHJlYW1fb3BzLmlvY3RsKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU5KTtyZXR1cm4gQS5zdHJlYW1fb3BzLmlvY3RsKEEsSSxnKX0scmVhZEZpbGU6ZnVuY3Rpb24oQSxJKXtpZigoST1JfHx7fSkuZmxhZ3M9SS5mbGFnc3x8XCJyXCIsSS5lbmNvZGluZz1JLmVuY29kaW5nfHxcImJpbmFyeVwiLFwidXRmOFwiIT09SS5lbmNvZGluZyYmXCJiaW5hcnlcIiE9PUkuZW5jb2RpbmcpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVuY29kaW5nIHR5cGUgXCInK0kuZW5jb2RpbmcrJ1wiJyk7dmFyIGcsQj1pSS5vcGVuKEEsSS5mbGFncyksQz1pSS5zdGF0KEEpLnNpemUsUT1uZXcgVWludDhBcnJheShDKTtyZXR1cm4gaUkucmVhZChCLFEsMCxDLDApLFwidXRmOFwiPT09SS5lbmNvZGluZz9nPWQoUSwwKTpcImJpbmFyeVwiPT09SS5lbmNvZGluZyYmKGc9USksaUkuY2xvc2UoQiksZ30sd3JpdGVGaWxlOmZ1bmN0aW9uKEEsSSxnKXsoZz1nfHx7fSkuZmxhZ3M9Zy5mbGFnc3x8XCJ3XCI7dmFyIEI9aUkub3BlbihBLGcuZmxhZ3MsZy5tb2RlKTtpZihcInN0cmluZ1wiPT10eXBlb2YgSSl7dmFyIEM9bmV3IFVpbnQ4QXJyYXkoVyhJKSsxKSxRPWwoSSxDLDAsQy5sZW5ndGgpO2lJLndyaXRlKEIsQywwLFEsdm9pZCAwLGcuY2FuT3duKX1lbHNle2lmKCFBcnJheUJ1ZmZlci5pc1ZpZXcoSSkpdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgZGF0YSB0eXBlXCIpO2lJLndyaXRlKEIsSSwwLEkuYnl0ZUxlbmd0aCx2b2lkIDAsZy5jYW5Pd24pfWlJLmNsb3NlKEIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuY3VycmVudFBhdGh9LGNoZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSk7aWYobnVsbD09PUkubm9kZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWlJLmlzRGlyKEkubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7dmFyIGc9aUkubm9kZVBlcm1pc3Npb25zKEkubm9kZSxcInhcIik7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnKTtpSS5jdXJyZW50UGF0aD1JLnBhdGh9LGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczpmdW5jdGlvbigpe2lJLm1rZGlyKFwiL3RtcFwiKSxpSS5ta2RpcihcIi9ob21lXCIpLGlJLm1rZGlyKFwiL2hvbWUvd2ViX3VzZXJcIil9LGNyZWF0ZURlZmF1bHREZXZpY2VzOmZ1bmN0aW9uKCl7dmFyIEE7aWYoaUkubWtkaXIoXCIvZGV2XCIpLGlJLnJlZ2lzdGVyRGV2aWNlKGlJLm1ha2VkZXYoMSwzKSx7cmVhZDpmdW5jdGlvbigpe3JldHVybiAwfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBCfX0pLGlJLm1rZGV2KFwiL2Rldi9udWxsXCIsaUkubWFrZWRldigxLDMpKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDUsMCksUUkuZGVmYXVsdF90dHlfb3BzKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDYsMCksUUkuZGVmYXVsdF90dHkxX29wcyksaUkubWtkZXYoXCIvZGV2L3R0eVwiLGlJLm1ha2VkZXYoNSwwKSksaUkubWtkZXYoXCIvZGV2L3R0eTFcIixpSS5tYWtlZGV2KDYsMCkpLFwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIGNyeXB0bz9cInVuZGVmaW5lZFwiOkQoY3J5cHRvKSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciBJPW5ldyBVaW50OEFycmF5KDEpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhJKSxJWzBdfX1lbHNlIGlmKHcpdHJ5e3ZhciBCPWcoNjU0KTtBPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmFuZG9tQnl0ZXMoMSlbMF19fWNhdGNoKEEpe31BfHwoQT1mdW5jdGlvbigpe0pBKFwicmFuZG9tX2RldmljZVwiKX0pLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInJhbmRvbVwiLEEpLGlJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInVyYW5kb21cIixBKSxpSS5ta2RpcihcIi9kZXYvc2htXCIpLGlJLm1rZGlyKFwiL2Rldi9zaG0vdG1wXCIpfSxjcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcIi9wcm9jXCIpLGlJLm1rZGlyKFwiL3Byb2Mvc2VsZlwiKSxpSS5ta2RpcihcIi9wcm9jL3NlbGYvZmRcIiksaUkubW91bnQoe21vdW50OmZ1bmN0aW9uKCl7dmFyIEE9aUkuY3JlYXRlTm9kZShcIi9wcm9jL3NlbGZcIixcImZkXCIsMTY4OTUsNzMpO3JldHVybiBBLm5vZGVfb3BzPXtsb29rdXA6ZnVuY3Rpb24oQSxJKXt2YXIgZz0rSSxCPWlJLmdldFN0cmVhbShnKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTt2YXIgQz17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6XCJmYWtlXCJ9LG5vZGVfb3BzOntyZWFkbGluazpmdW5jdGlvbigpe3JldHVybiBCLnBhdGh9fX07cmV0dXJuIEMucGFyZW50PUMsQ319LEF9fSx7fSxcIi9wcm9jL3NlbGYvZmRcIil9LGNyZWF0ZVN0YW5kYXJkU3RyZWFtczpmdW5jdGlvbigpe0Euc3RkaW4/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3RkaW5cIixBLnN0ZGluKTppSS5zeW1saW5rKFwiL2Rldi90dHlcIixcIi9kZXYvc3RkaW5cIiksQS5zdGRvdXQ/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3Rkb3V0XCIsbnVsbCxBLnN0ZG91dCk6aUkuc3ltbGluayhcIi9kZXYvdHR5XCIsXCIvZGV2L3N0ZG91dFwiKSxBLnN0ZGVycj9pSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJzdGRlcnJcIixudWxsLEEuc3RkZXJyKTppSS5zeW1saW5rKFwiL2Rldi90dHkxXCIsXCIvZGV2L3N0ZGVyclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRpblwiLFwiclwiKSxpSS5vcGVuKFwiL2Rldi9zdGRvdXRcIixcIndcIiksaUkub3BlbihcIi9kZXYvc3RkZXJyXCIsXCJ3XCIpfSxlbnN1cmVFcnJub0Vycm9yOmZ1bmN0aW9uKCl7aUkuRXJybm9FcnJvcnx8KGlJLkVycm5vRXJyb3I9ZnVuY3Rpb24oQSxJKXt0aGlzLm5vZGU9SSx0aGlzLnNldEVycm5vPWZ1bmN0aW9uKEEpe3RoaXMuZXJybm89QX0sdGhpcy5zZXRFcnJubyhBKSx0aGlzLm1lc3NhZ2U9XCJGUyBlcnJvclwifSxpSS5FcnJub0Vycm9yLnByb3RvdHlwZT1uZXcgRXJyb3IsaUkuRXJybm9FcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I9aUkuRXJybm9FcnJvcixbNDRdLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lJLmdlbmVyaWNFcnJvcnNbQV09bmV3IGlJLkVycm5vRXJyb3IoQSksaUkuZ2VuZXJpY0Vycm9yc1tBXS5zdGFjaz1cIjxnZW5lcmljIGVycm9yLCBubyBzdGFjaz5cIn0pKSl9LHN0YXRpY0luaXQ6ZnVuY3Rpb24oKXtpSS5lbnN1cmVFcnJub0Vycm9yKCksaUkubmFtZVRhYmxlPW5ldyBBcnJheSg0MDk2KSxpSS5tb3VudChFSSx7fSxcIi9cIiksaUkuY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzKCksaUkuY3JlYXRlRGVmYXVsdERldmljZXMoKSxpSS5jcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXMoKSxpSS5maWxlc3lzdGVtcz17TUVNRlM6RUl9fSxpbml0OmZ1bmN0aW9uKEksZyxCKXtpSS5pbml0LmluaXRpYWxpemVkPSEwLGlJLmVuc3VyZUVycm5vRXJyb3IoKSxBLnN0ZGluPUl8fEEuc3RkaW4sQS5zdGRvdXQ9Z3x8QS5zdGRvdXQsQS5zdGRlcnI9Qnx8QS5zdGRlcnIsaUkuY3JlYXRlU3RhbmRhcmRTdHJlYW1zKCl9LHF1aXQ6ZnVuY3Rpb24oKXtpSS5pbml0LmluaXRpYWxpemVkPSExO3ZhciBJPUEuX2ZmbHVzaDtJJiZJKDApO2Zvcih2YXIgZz0wO2c8aUkuc3RyZWFtcy5sZW5ndGg7ZysrKXt2YXIgQj1pSS5zdHJlYW1zW2ddO0ImJmlJLmNsb3NlKEIpfX0sZ2V0TW9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPTA7cmV0dXJuIEEmJihnfD0zNjUpLEkmJihnfD0xNDYpLGd9LGpvaW5QYXRoOmZ1bmN0aW9uKEEsSSl7dmFyIGc9Qkkuam9pbi5hcHBseShudWxsLEEpO3JldHVybiBJJiZcIi9cIj09Z1swXSYmKGc9Zy5zdWJzdHIoMSkpLGd9LGFic29sdXRlUGF0aDpmdW5jdGlvbihBLEkpe3JldHVybiBDSS5yZXNvbHZlKEksQSl9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbihBKXtyZXR1cm4gQkkubm9ybWFsaXplKEEpfSxmaW5kT2JqZWN0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuYW5hbHl6ZVBhdGgoQSxJKTtyZXR1cm4gZy5leGlzdHM/Zy5vYmplY3Q6KElJKGcuZXJyb3IpLG51bGwpfSxhbmFseXplUGF0aDpmdW5jdGlvbihBLEkpe3RyeXtBPShCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkpLnBhdGh9Y2F0Y2goQSl7fXZhciBnPXtpc1Jvb3Q6ITEsZXhpc3RzOiExLGVycm9yOjAsbmFtZTpudWxsLHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ITEscGFyZW50UGF0aDpudWxsLHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KTtnLnBhcmVudEV4aXN0cz0hMCxnLnBhcmVudFBhdGg9Qi5wYXRoLGcucGFyZW50T2JqZWN0PUIubm9kZSxnLm5hbWU9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLGcuZXhpc3RzPSEwLGcucGF0aD1CLnBhdGgsZy5vYmplY3Q9Qi5ub2RlLGcubmFtZT1CLm5vZGUubmFtZSxnLmlzUm9vdD1cIi9cIj09PUIucGF0aH1jYXRjaChBKXtnLmVycm9yPUEuZXJybm99cmV0dXJuIGd9LGNyZWF0ZUZvbGRlcjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksUT1pSS5nZXRNb2RlKGcsQik7cmV0dXJuIGlJLm1rZGlyKEMsUSl9LGNyZWF0ZVBhdGg6ZnVuY3Rpb24oQSxJLGcsQil7QT1cInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSk7Zm9yKHZhciBDPUkuc3BsaXQoXCIvXCIpLnJldmVyc2UoKTtDLmxlbmd0aDspe3ZhciBRPUMucG9wKCk7aWYoUSl7dmFyIEU9Qkkuam9pbjIoQSxRKTt0cnl7aUkubWtkaXIoRSl9Y2F0Y2goQSl7fUE9RX19cmV0dXJuIEV9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksRT1pSS5nZXRNb2RlKEIsQyk7cmV0dXJuIGlJLmNyZWF0ZShRLEUpfSxjcmVhdGVEYXRhRmlsZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7dmFyIEU9ST9CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk6QSxpPWlJLmdldE1vZGUoQixDKSxvPWlJLmNyZWF0ZShFLGkpO2lmKGcpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBnKXtmb3IodmFyIEQ9bmV3IEFycmF5KGcubGVuZ3RoKSxhPTAsdz1nLmxlbmd0aDthPHc7KythKURbYV09Zy5jaGFyQ29kZUF0KGEpO2c9RH1pSS5jaG1vZChvLDE0NnxpKTt2YXIgRj1pSS5vcGVuKG8sXCJ3XCIpO2lJLndyaXRlKEYsZywwLGcubGVuZ3RoLDAsUSksaUkuY2xvc2UoRiksaUkuY2htb2QobyxpKX1yZXR1cm4gb30sY3JlYXRlRGV2aWNlOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoISFnLCEhQik7aUkuY3JlYXRlRGV2aWNlLm1ham9yfHwoaUkuY3JlYXRlRGV2aWNlLm1ham9yPTY0KTt2YXIgRT1pSS5tYWtlZGV2KGlJLmNyZWF0ZURldmljZS5tYWpvcisrLDApO3JldHVybiBpSS5yZWdpc3RlckRldmljZShFLHtvcGVuOmZ1bmN0aW9uKEEpe0Euc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0ImJkIuYnVmZmVyJiZCLmJ1ZmZlci5sZW5ndGgmJkIoMTApfSxyZWFkOmZ1bmN0aW9uKEEsSSxCLEMsUSl7Zm9yKHZhciBFPTAsaT0wO2k8QztpKyspe3ZhciBvO3RyeXtvPWcoKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09byYmMD09PUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09bylicmVhaztFKyssSVtCK2ldPW99cmV0dXJuIEUmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSl7Zm9yKHZhciBFPTA7RTxDO0UrKyl0cnl7QihJW2crRV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQyYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX19KSxpSS5ta2RldihDLFEsRSl9LGNyZWF0ZUxpbms6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk7cmV0dXJuIGlJLnN5bWxpbmsoZyxRKX0sZm9yY2VMb2FkRmlsZTpmdW5jdGlvbihBKXtpZihBLmlzRGV2aWNlfHxBLmlzRm9sZGVyfHxBLmxpbmt8fEEuY29udGVudHMpcmV0dXJuITA7dmFyIEk9ITA7aWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXRocm93IG5ldyBFcnJvcihcIkxhenkgbG9hZGluZyBzaG91bGQgaGF2ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBpbiBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtzIGluIHdlYiB3b3JrZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2Mgb24gdGhlIG1haW4gdGhyZWFkLlwiKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgbG9hZCB3aXRob3V0IHJlYWQoKSBvciBYTUxIdHRwUmVxdWVzdC5cIik7dHJ5e0EuY29udGVudHM9WGcoRyhBLnVybCksITApLEEudXNlZEJ5dGVzPUEuY29udGVudHMubGVuZ3RofWNhdGNoKEEpe0k9ITF9cmV0dXJuIEl8fElJKDI5KSxJfSxjcmVhdGVMYXp5RmlsZTpmdW5jdGlvbihBLEksZyxCLEMpe2Z1bmN0aW9uIFEoKXt0aGlzLmxlbmd0aEtub3duPSExLHRoaXMuY2h1bmtzPVtdfWlmKFEucHJvdG90eXBlLmdldD1mdW5jdGlvbihBKXtpZighKEE+dGhpcy5sZW5ndGgtMXx8QTwwKSl7dmFyIEk9QSV0aGlzLmNodW5rU2l6ZSxnPUEvdGhpcy5jaHVua1NpemV8MDtyZXR1cm4gdGhpcy5nZXR0ZXIoZylbSV19fSxRLnByb3RvdHlwZS5zZXREYXRhR2V0dGVyPWZ1bmN0aW9uKEEpe3RoaXMuZ2V0dGVyPUF9LFEucHJvdG90eXBlLmNhY2hlTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIEE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEub3BlbihcIkhFQURcIixnLCExKSxBLnNlbmQobnVsbCksIShBLnN0YXR1cz49MjAwJiZBLnN0YXR1czwzMDB8fDMwND09PUEuc3RhdHVzKSl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBsb2FkIFwiK2crXCIuIFN0YXR1czogXCIrQS5zdGF0dXMpO3ZhciBJLEI9TnVtYmVyKEEuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LWxlbmd0aFwiKSksQz0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQWNjZXB0LVJhbmdlc1wiKSkmJlwiYnl0ZXNcIj09PUksUT0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1FbmNvZGluZ1wiKSkmJlwiZ3ppcFwiPT09SSxFPTEwNDg1NzY7Q3x8KEU9Qik7dmFyIGk9dGhpcztpLnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKEEpe3ZhciBJPUEqRSxDPShBKzEpKkUtMTtpZihDPU1hdGgubWluKEMsQi0xKSx2b2lkIDA9PT1pLmNodW5rc1tBXSYmKGkuY2h1bmtzW0FdPWZ1bmN0aW9uKEEsSSl7aWYoQT5JKXRocm93IG5ldyBFcnJvcihcImludmFsaWQgcmFuZ2UgKFwiK0ErXCIsIFwiK0krXCIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCFcIik7aWYoST5CLTEpdGhyb3cgbmV3IEVycm9yKFwib25seSBcIitCK1wiIGJ5dGVzIGF2YWlsYWJsZSEgcHJvZ3JhbW1lciBlcnJvciFcIik7dmFyIEM9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEMub3BlbihcIkdFVFwiLGcsITEpLEIhPT1FJiZDLnNldFJlcXVlc3RIZWFkZXIoXCJSYW5nZVwiLFwiYnl0ZXM9XCIrQStcIi1cIitJKSxcInVuZGVmaW5lZFwiIT10eXBlb2YgVWludDhBcnJheSYmKEMucmVzcG9uc2VUeXBlPVwiYXJyYXlidWZmZXJcIiksQy5vdmVycmlkZU1pbWVUeXBlJiZDLm92ZXJyaWRlTWltZVR5cGUoXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkXCIpLEMuc2VuZChudWxsKSwhKEMuc3RhdHVzPj0yMDAmJkMuc3RhdHVzPDMwMHx8MzA0PT09Qy5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGxvYWQgXCIrZytcIi4gU3RhdHVzOiBcIitDLnN0YXR1cyk7cmV0dXJuIHZvaWQgMCE9PUMucmVzcG9uc2U/bmV3IFVpbnQ4QXJyYXkoQy5yZXNwb25zZXx8W10pOlhnKEMucmVzcG9uc2VUZXh0fHxcIlwiLCEwKX0oSSxDKSksdm9pZCAwPT09aS5jaHVua3NbQV0pdGhyb3cgbmV3IEVycm9yKFwiZG9YSFIgZmFpbGVkIVwiKTtyZXR1cm4gaS5jaHVua3NbQV19KSksIVEmJkJ8fChFPUI9MSxCPXRoaXMuZ2V0dGVyKDApLmxlbmd0aCxFPUIsdChcIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBvZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZFwiKSksdGhpcy5fbGVuZ3RoPUIsdGhpcy5fY2h1bmtTaXplPUUsdGhpcy5sZW5ndGhLbm93bj0hMH0sXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXtpZighbyl0aHJvd1wiQ2Fubm90IGRvIHN5bmNocm9ub3VzIGJpbmFyeSBYSFJzIG91dHNpZGUgd2Vid29ya2VycyBpbiBtb2Rlcm4gYnJvd3NlcnMuIFVzZSAtLWVtYmVkLWZpbGUgb3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jY1wiO3ZhciBFPW5ldyBRO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoS25vd258fHRoaXMuY2FjaGVMZW5ndGgoKSx0aGlzLl9sZW5ndGh9fSxjaHVua1NpemU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fY2h1bmtTaXplfX19KTt2YXIgaT17aXNEZXZpY2U6ITEsY29udGVudHM6RX19ZWxzZSBpPXtpc0RldmljZTohMSx1cmw6Z307dmFyIEQ9aUkuY3JlYXRlRmlsZShBLEksaSxCLEMpO2kuY29udGVudHM/RC5jb250ZW50cz1pLmNvbnRlbnRzOmkudXJsJiYoRC5jb250ZW50cz1udWxsLEQudXJsPWkudXJsKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhELHt1c2VkQnl0ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRzLmxlbmd0aH19fSk7dmFyIGE9e307cmV0dXJuIE9iamVjdC5rZXlzKEQuc3RyZWFtX29wcykuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9RC5zdHJlYW1fb3BzW0FdO2FbQV09ZnVuY3Rpb24oKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7cmV0dXJuIEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfX0pKSxhLnJlYWQ9ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PVEubGVuZ3RoKXJldHVybiAwO3ZhciBFPU1hdGgubWluKFEubGVuZ3RoLUMsQik7aWYoUS5zbGljZSlmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07ZWxzZSBmb3IoaT0wO2k8RTtpKyspSVtnK2ldPVEuZ2V0KEMraSk7cmV0dXJuIEV9LEQuc3RyZWFtX29wcz1hLER9LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24oSSxnLEIsQyxRLEUsaSxvLEQsYSl7QnJvd3Nlci5pbml0KCk7dmFyIHc9Zz9DSS5yZXNvbHZlKEJJLmpvaW4yKEksZykpOkk7ZnVuY3Rpb24gRihCKXtmdW5jdGlvbiBGKEEpe2EmJmEoKSxvfHxpSS5jcmVhdGVEYXRhRmlsZShJLGcsQSxDLFEsRCksRSYmRSgpLGVBKCl9dmFyIEc9ITE7QS5wcmVsb2FkUGx1Z2lucy5mb3JFYWNoKChmdW5jdGlvbihBKXtHfHxBLmNhbkhhbmRsZSh3KSYmKEEuaGFuZGxlKEIsdyxGLChmdW5jdGlvbigpe2kmJmkoKSxlQSgpfSkpLEc9ITApfSkpLEd8fEYoQil9WUEoKSxcInN0cmluZ1wiPT10eXBlb2YgQj9Ccm93c2VyLmFzeW5jTG9hZChCLChmdW5jdGlvbihBKXtGKEEpfSksaSk6RihCKX0saW5kZXhlZERCOmZ1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5pbmRleGVkREJ8fHdpbmRvdy5tb3pJbmRleGVkREJ8fHdpbmRvdy53ZWJraXRJbmRleGVkREJ8fHdpbmRvdy5tc0luZGV4ZWREQn0sREJfTkFNRTpmdW5jdGlvbigpe3JldHVyblwiRU1fRlNfXCIrd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6XCJGSUxFX0RBVEFcIixzYXZlRmlsZXNUb0RCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbigpe3QoXCJjcmVhdGluZyBkYlwiKSxDLnJlc3VsdC5jcmVhdGVPYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKX0sQy5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgQj1DLnJlc3VsdC50cmFuc2FjdGlvbihbaUkuREJfU1RPUkVfTkFNRV0sXCJyZWFkd3JpdGVcIiksUT1CLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLEU9MCxpPTAsbz1BLmxlbmd0aDtmdW5jdGlvbiBEKCl7MD09aT9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9US5wdXQoaUkuYW5hbHl6ZVBhdGgoQSkub2JqZWN0LmNvbnRlbnRzLEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7KytFK2k9PW8mJkQoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7aSsrLEUraT09byYmRCgpfX0pKSxCLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZyxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0O3RyeXt2YXIgUT1CLnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcInJlYWRvbmx5XCIpfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9dmFyIEU9US5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxpPTAsbz0wLEQ9QS5sZW5ndGg7ZnVuY3Rpb24gYSgpezA9PW8/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUUuZ2V0KEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7aUkuYW5hbHl6ZVBhdGgoQSkuZXhpc3RzJiZpSS51bmxpbmsoQSksaUkuY3JlYXRlRGF0YUZpbGUoQkkuZGlybmFtZShBKSxCSS5iYXNlbmFtZShBKSxJLnJlc3VsdCwhMCwhMCwhMCksKytpK289PUQmJmEoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7bysrLGkrbz09RCYmYSgpfX0pKSxRLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9fSxvST17REVGQVVMVF9QT0xMTUFTSzo1LG1hcHBpbmdzOnt9LHVtYXNrOjUxMSxjYWxjdWxhdGVBdDpmdW5jdGlvbihBLEkpe2lmKFwiL1wiIT09SVswXSl7dmFyIGc7aWYoLTEwMD09PUEpZz1pSS5jd2QoKTtlbHNle3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtnPUIucGF0aH1JPUJJLmpvaW4yKGcsSSl9cmV0dXJuIEl9LGRvU3RhdDpmdW5jdGlvbihBLEksZyl7dHJ5e3ZhciBCPUEoSSl9Y2F0Y2goQSl7aWYoQSYmQS5ub2RlJiZCSS5ub3JtYWxpemUoSSkhPT1CSS5ub3JtYWxpemUoaUkuZ2V0UGF0aChBLm5vZGUpKSlyZXR1cm4tNTQ7dGhyb3cgQX1yZXR1cm4gQUFbZz4+Ml09Qi5kZXYsQUFbZys0Pj4yXT0wLEFBW2crOD4+Ml09Qi5pbm8sQUFbZysxMj4+Ml09Qi5tb2RlLEFBW2crMTY+PjJdPUIubmxpbmssQUFbZysyMD4+Ml09Qi51aWQsQUFbZysyND4+Ml09Qi5naWQsQUFbZysyOD4+Ml09Qi5yZGV2LEFBW2crMzI+PjJdPTAsZEE9W0Iuc2l6ZT4+PjAsKHFBPUIuc2l6ZSwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crNDA+PjJdPWRBWzBdLEFBW2crNDQ+PjJdPWRBWzFdLEFBW2crNDg+PjJdPTQwOTYsQUFbZys1Mj4+Ml09Qi5ibG9ja3MsQUFbZys1Nj4+Ml09Qi5hdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2MD4+Ml09MCxBQVtnKzY0Pj4yXT1CLm10aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzY4Pj4yXT0wLEFBW2crNzI+PjJdPUIuY3RpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNzY+PjJdPTAsZEE9W0IuaW5vPj4+MCwocUE9Qi5pbm8sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzgwPj4yXT1kQVswXSxBQVtnKzg0Pj4yXT1kQVsxXSwwfSxkb01zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9ei5zbGljZShBLEErZyk7aUkubXN5bmMoSSxRLEMsZyxCKX0sZG9Na2RpcjpmdW5jdGlvbihBLEkpe3JldHVyblwiL1wiPT09KEE9Qkkubm9ybWFsaXplKEEpKVtBLmxlbmd0aC0xXSYmKEE9QS5zdWJzdHIoMCxBLmxlbmd0aC0xKSksaUkubWtkaXIoQSxJLDApLDB9LGRvTWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3N3aXRjaCg2MTQ0MCZJKXtjYXNlIDMyNzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuLTI4fXJldHVybiBpSS5ta25vZChBLEksZyksMH0sZG9SZWFkbGluazpmdW5jdGlvbihBLEksZyl7aWYoZzw9MClyZXR1cm4tMjg7dmFyIEI9aUkucmVhZGxpbmsoQSksQz1NYXRoLm1pbihnLFcoQikpLFE9dltJK0NdO3JldHVybiB1KEIsSSxnKzEpLHZbSStDXT1RLEN9LGRvQWNjZXNzOmZ1bmN0aW9uKEEsSSl7aWYoLTgmSSlyZXR1cm4tMjg7dmFyIGc7aWYoIShnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZSkpcmV0dXJuLTQ0O3ZhciBCPVwiXCI7cmV0dXJuIDQmSSYmKEIrPVwiclwiKSwyJkkmJihCKz1cIndcIiksMSZJJiYoQis9XCJ4XCIpLEImJmlJLm5vZGVQZXJtaXNzaW9ucyhnLEIpPy0yOjB9LGRvRHVwOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oZyk7cmV0dXJuIEImJmlJLmNsb3NlKEIpLGlJLm9wZW4oQSxJLDAsZyxnKS5mZH0sZG9SZWFkdjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLnJlYWQoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7aWYoQys9byxvPGkpYnJlYWt9cmV0dXJuIEN9LGRvV3JpdGV2OmZ1bmN0aW9uKEEsSSxnLEIpe2Zvcih2YXIgQz0wLFE9MDtRPGc7USsrKXt2YXIgRT1BQVtJKzgqUT4+Ml0saT1BQVtJKyg4KlErNCk+PjJdLG89aUkud3JpdGUoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7Qys9b31yZXR1cm4gQ30sdmFyYXJnczowLGdldDpmdW5jdGlvbihBKXtyZXR1cm4gb0kudmFyYXJncys9NCxBQVtvSS52YXJhcmdzLTQ+PjJdfSxnZXRTdHI6ZnVuY3Rpb24oKXtyZXR1cm4gZihvSS5nZXQoKSl9LGdldFN0cmVhbUZyb21GRDpmdW5jdGlvbihBKXt2b2lkIDA9PT1BJiYoQT1vSS5nZXQoKSk7dmFyIEk9aUkuZ2V0U3RyZWFtKEEpO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3JldHVybiBJfSxnZXQ2NDpmdW5jdGlvbigpe3ZhciBBPW9JLmdldCgpO3JldHVybiBvSS5nZXQoKSxBfSxnZXRaZXJvOmZ1bmN0aW9uKCl7b0kuZ2V0KCl9fTtmdW5jdGlvbiBESShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCk7c3dpdGNoKG9JLmdldCgpKXtjYXNlIDA6cmV0dXJuKEI9b0kuZ2V0KCkpPDA/LTI4OmlJLm9wZW4oZy5wYXRoLGcuZmxhZ3MsMCxCKS5mZDtjYXNlIDE6Y2FzZSAyOmNhc2UgMTM6Y2FzZSAxNDpyZXR1cm4gMDtjYXNlIDM6cmV0dXJuIGcuZmxhZ3M7Y2FzZSA0OnZhciBCPW9JLmdldCgpO3JldHVybiBnLmZsYWdzfD1CLDA7Y2FzZSAxMjpyZXR1cm4gQj1vSS5nZXQoKSxfW0IrMD4+MV09MiwwO2RlZmF1bHQ6cmV0dXJuLTI4O2Nhc2UgOTpyZXR1cm4gSUkoMjgpLC0xfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gYUkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cigpLEI9b0kuZ2V0KCksQz1vSS5nZXQoKTtyZXR1cm4gaUkub3BlbihnLEIsQykuZmR9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIHdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHJlYW1Gcm9tRkQoKSxCPW9JLmdldCgpO3N3aXRjaChCKXtjYXNlIDIxNTA5OmNhc2UgMjE1MDU6Y2FzZSAyMTUxMDpjYXNlIDIxNTExOmNhc2UgMjE1MTI6Y2FzZSAyMTUwNjpjYXNlIDIxNTA3OmNhc2UgMjE1MDg6Y2FzZSAyMTUyMzpjYXNlIDIxNTI0OnJldHVybiBnLnR0eT8wOi01OTtjYXNlIDIxNTE5OmlmKCFnLnR0eSlyZXR1cm4tNTk7dmFyIEM9b0kuZ2V0KCk7cmV0dXJuIEFBW0M+PjJdPTAsMDtjYXNlIDIxNTIwOnJldHVybiBnLnR0eT8tMjg6LTU5O2Nhc2UgMjE1MzE6cmV0dXJuIEM9b0kuZ2V0KCksaUkuaW9jdGwoZyxCLEMpO2RlZmF1bHQ6SkEoXCJiYWQgaW9jdGwgc3lzY2FsbCBcIitCKX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIEZJKEEsSSl7aWYoLTE9PT1BfHwwPT09SSlyZXR1cm4tMjg7dmFyIGc9b0kubWFwcGluZ3NbQV07aWYoIWcpcmV0dXJuIDA7aWYoST09PWcubGVuKXt2YXIgQj1pSS5nZXRTdHJlYW0oZy5mZCk7b0kuZG9Nc3luYyhBLEIsSSxnLmZsYWdzLGcub2Zmc2V0KSxpSS5tdW5tYXAoQiksb0kubWFwcGluZ3NbQV09bnVsbCxnLmFsbG9jYXRlZCYmc0IoZy5tYWxsb2MpfXJldHVybiAwfWZ1bmN0aW9uIEdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXtyZXR1cm4gRkkob0kuZ2V0KCksb0kuZ2V0KCkpfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBoSSgpe31mdW5jdGlvbiBzSShBKXt0cnl7dmFyIEk9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpO3JldHVybiBpSS5jbG9zZShJKSwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFJJKCl7cmV0dXJuIHNJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBVSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9SZWFkdihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiB5SSgpe3JldHVybiBVSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gdEkoQSxJLGcsQixDKXt0cnl7dmFyIFE9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLEU9NDI5NDk2NzI5NipnKyhJPj4+MCksaT05MDA3MTk5MjU0NzQwOTkyO3JldHVybiBFPD0taXx8RT49aT8tNjE6KGlJLmxsc2VlayhRLEUsQiksZEE9W1EucG9zaXRpb24+Pj4wLChxQT1RLnBvc2l0aW9uLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbQz4+Ml09ZEFbMF0sQUFbQys0Pj4yXT1kQVsxXSxRLmdldGRlbnRzJiYwPT09RSYmMD09PUImJihRLmdldGRlbnRzPW51bGwpLDApfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIFNJKCl7cmV0dXJuIHRJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBNSShBLEksZyxCKXt0cnl7dmFyIEM9b0kuZ2V0U3RyZWFtRnJvbUZEKEEpLFE9b0kuZG9Xcml0ZXYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gbkkoKXtyZXR1cm4gTUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIGNJKEEpe3N3aXRjaChBKXtjYXNlIDE6cmV0dXJuIDA7Y2FzZSAyOnJldHVybiAxO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDg6cmV0dXJuIDM7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biB0eXBlIHNpemU6IFwiK0EpfX1mdW5jdGlvbiBySSgpe2Zvcih2YXIgQT1uZXcgQXJyYXkoMjU2KSxJPTA7STwyNTY7KytJKUFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShJKTtrST1BfXZhciBrST12b2lkIDA7ZnVuY3Rpb24gS0koQSl7Zm9yKHZhciBJPVwiXCIsZz1BO3pbZ107KUkrPWtJW3pbZysrXV07cmV0dXJuIEl9dmFyIE5JPXt9LFlJPXt9LGVJPXt9LEpJPTQ4LEhJPTU3O2Z1bmN0aW9uIExJKEEpe2lmKHZvaWQgMD09PUEpcmV0dXJuXCJfdW5rbm93blwiO3ZhciBJPShBPUEucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLFwiJFwiKSkuY2hhckNvZGVBdCgwKTtyZXR1cm4gST49SkkmJkk8PUhJP1wiX1wiK0E6QX1mdW5jdGlvbiBxSShBLEkpe3JldHVybiBBPUxJKEEpLG5ldyBGdW5jdGlvbihcImJvZHlcIixcInJldHVybiBmdW5jdGlvbiBcIitBKycoKSB7XFxuICAgIFwidXNlIHN0cmljdFwiOyAgICByZXR1cm4gYm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcbn07XFxuJykoSSl9ZnVuY3Rpb24gZEkoQSxJKXt2YXIgZz1xSShJLChmdW5jdGlvbihBKXt0aGlzLm5hbWU9SSx0aGlzLm1lc3NhZ2U9QTt2YXIgZz1uZXcgRXJyb3IoQSkuc3RhY2s7dm9pZCAwIT09ZyYmKHRoaXMuc3RhY2s9dGhpcy50b1N0cmluZygpK1wiXFxuXCIrZy5yZXBsYWNlKC9eRXJyb3IoOlteXFxuXSopP1xcbi8sXCJcIikpfSkpO3JldHVybiBnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSxnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1nLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMubWVzc2FnZT90aGlzLm5hbWU6dGhpcy5uYW1lK1wiOiBcIit0aGlzLm1lc3NhZ2V9LGd9dmFyIGZJPXZvaWQgMDtmdW5jdGlvbiBsSShBKXt0aHJvdyBuZXcgZkkoQSl9dmFyIHVJPXZvaWQgMDtmdW5jdGlvbiBXSShBKXt0aHJvdyBuZXcgdUkoQSl9ZnVuY3Rpb24gcEkoQSxJLGcpe2Z1bmN0aW9uIEIoSSl7dmFyIEI9ZyhJKTtCLmxlbmd0aCE9PUEubGVuZ3RoJiZXSShcIk1pc21hdGNoZWQgdHlwZSBjb252ZXJ0ZXIgY291bnRcIik7Zm9yKHZhciBDPTA7QzxBLmxlbmd0aDsrK0MpWkkoQVtDXSxCW0NdKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe2VJW0FdPUl9KSk7dmFyIEM9bmV3IEFycmF5KEkubGVuZ3RoKSxRPVtdLEU9MDtJLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7WUkuaGFzT3duUHJvcGVydHkoQSk/Q1tJXT1ZSVtBXTooUS5wdXNoKEEpLE5JLmhhc093blByb3BlcnR5KEEpfHwoTklbQV09W10pLE5JW0FdLnB1c2goKGZ1bmN0aW9uKCl7Q1tJXT1ZSVtBXSwrK0U9PT1RLmxlbmd0aCYmQihDKX0pKSl9KSksMD09PVEubGVuZ3RoJiZCKEMpfWZ1bmN0aW9uIFpJKEEsSSxnKXtpZihnPWd8fHt9LCEoXCJhcmdQYWNrQWR2YW5jZVwiaW4gSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2VcIik7dmFyIEI9SS5uYW1lO2lmKEF8fGxJKCd0eXBlIFwiJytCKydcIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyksWUkuaGFzT3duUHJvcGVydHkoQSkpe2lmKGcuaWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9ucylyZXR1cm47bEkoXCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnXCIrQitcIicgdHdpY2VcIil9aWYoWUlbQV09SSxkZWxldGUgZUlbQV0sTkkuaGFzT3duUHJvcGVydHkoQSkpe3ZhciBDPU5JW0FdO2RlbGV0ZSBOSVtBXSxDLmZvckVhY2goKGZ1bmN0aW9uKEEpe0EoKX0pKX19ZnVuY3Rpb24gYkkoQSxJLGcsQixDKXt2YXIgUT1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiEhQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBJP0I6Q30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpmdW5jdGlvbihBKXt2YXIgQjtpZigxPT09ZylCPXY7ZWxzZSBpZigyPT09ZylCPV87ZWxzZXtpZig0IT09Zyl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogXCIrSSk7Qj1BQX1yZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQltBPj5RXSl9LGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24geEkoSSxnLEIpe0k9S0koSSkscEkoW10sW2ddLChmdW5jdGlvbihnKXtyZXR1cm4gZz1nWzBdLEFbSV09Zy5mcm9tV2lyZVR5cGUoQiksW119KSl9dmFyIG1JPVtdLFhJPVt7fSx7dmFsdWU6dm9pZCAwfSx7dmFsdWU6bnVsbH0se3ZhbHVlOiEwfSx7dmFsdWU6ITF9XTtmdW5jdGlvbiBWSShBKXtBPjQmJjA9PS0tWElbQV0ucmVmY291bnQmJihYSVtBXT12b2lkIDAsbUkucHVzaChBKSl9ZnVuY3Rpb24gT0koKXtmb3IodmFyIEE9MCxJPTU7STxYSS5sZW5ndGg7KytJKXZvaWQgMCE9PVhJW0ldJiYrK0E7cmV0dXJuIEF9ZnVuY3Rpb24gVEkoKXtmb3IodmFyIEE9NTtBPFhJLmxlbmd0aDsrK0EpaWYodm9pZCAwIT09WElbQV0pcmV0dXJuIFhJW0FdO3JldHVybiBudWxsfWZ1bmN0aW9uIGpJKCl7QS5jb3VudF9lbXZhbF9oYW5kbGVzPU9JLEEuZ2V0X2ZpcnN0X2VtdmFsPVRJfWZ1bmN0aW9uIFBJKEEpe3N3aXRjaChBKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlIG51bGw6cmV0dXJuIDI7Y2FzZSEwOnJldHVybiAzO2Nhc2UhMTpyZXR1cm4gNDtkZWZhdWx0OnZhciBJPW1JLmxlbmd0aD9tSS5wb3AoKTpYSS5sZW5ndGg7cmV0dXJuIFhJW0ldPXtyZWZjb3VudDoxLHZhbHVlOkF9LEl9fWZ1bmN0aW9uIHZJKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShJQVtBPj4yXSl9ZnVuY3Rpb24gekkoQSxJKXtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBJPVhJW0FdLnZhbHVlO3JldHVybiBWSShBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIFBJKEkpfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gX0koQSl7aWYobnVsbD09PUEpcmV0dXJuXCJudWxsXCI7dmFyIEk9RChBKTtyZXR1cm5cIm9iamVjdFwiPT09SXx8XCJhcnJheVwiPT09SXx8XCJmdW5jdGlvblwiPT09ST9BLnRvU3RyaW5nKCk6XCJcIitBfWZ1bmN0aW9uICRJKEEsSSl7c3dpdGNoKEkpe2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGdBW0E+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQkFbQT4+M10pfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGZsb2F0IHR5cGU6IFwiK0EpfX1mdW5jdGlvbiBBZyhBLEksZyl7dmFyIEI9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4gQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBJJiZcImJvb2xlYW5cIiE9dHlwZW9mIEkpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXCInK19JKEkpKydcIiB0byAnK3RoaXMubmFtZSk7cmV0dXJuIEl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6JEkoSSxCKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIElnKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoXCJuZXdfIGNhbGxlZCB3aXRoIGNvbnN0cnVjdG9yIHR5cGUgXCIrRChBKStcIiB3aGljaCBpcyBub3QgYSBmdW5jdGlvblwiKTt2YXIgZz1xSShBLm5hbWV8fFwidW5rbm93bkZ1bmN0aW9uTmFtZVwiLChmdW5jdGlvbigpe30pKTtnLnByb3RvdHlwZT1BLnByb3RvdHlwZTt2YXIgQj1uZXcgZyxDPUEuYXBwbHkoQixJKTtyZXR1cm4gQyBpbnN0YW5jZW9mIE9iamVjdD9DOkJ9ZnVuY3Rpb24gZ2coQSl7Zm9yKDtBLmxlbmd0aDspe3ZhciBJPUEucG9wKCk7QS5wb3AoKShJKX19ZnVuY3Rpb24gQmcoQSxJLGcsQixDKXt2YXIgUT1JLmxlbmd0aDtRPDImJmxJKFwiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhXCIpO2Zvcih2YXIgRT1udWxsIT09SVsxXSYmbnVsbCE9PWcsaT0hMSxvPTE7bzxJLmxlbmd0aDsrK28paWYobnVsbCE9PUlbb10mJnZvaWQgMD09PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKXtpPSEwO2JyZWFrfXZhciBEPVwidm9pZFwiIT09SVswXS5uYW1lLGE9XCJcIix3PVwiXCI7Zm9yKG89MDtvPFEtMjsrK28pYSs9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28sdys9KDAhPT1vP1wiLCBcIjpcIlwiKStcImFyZ1wiK28rXCJXaXJlZFwiO3ZhciBGPVwicmV0dXJuIGZ1bmN0aW9uIFwiK0xJKEEpK1wiKFwiK2ErXCIpIHtcXG5pZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gXCIrKFEtMikrXCIpIHtcXG50aHJvd0JpbmRpbmdFcnJvcignZnVuY3Rpb24gXCIrQStcIiBjYWxsZWQgd2l0aCAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgYXJndW1lbnRzLCBleHBlY3RlZCBcIisoUS0yKStcIiBhcmdzIScpO1xcbn1cXG5cIjtpJiYoRis9XCJ2YXIgZGVzdHJ1Y3RvcnMgPSBbXTtcXG5cIik7dmFyIEc9aT9cImRlc3RydWN0b3JzXCI6XCJudWxsXCIsaD1bXCJ0aHJvd0JpbmRpbmdFcnJvclwiLFwiaW52b2tlclwiLFwiZm5cIixcInJ1bkRlc3RydWN0b3JzXCIsXCJyZXRUeXBlXCIsXCJjbGFzc1BhcmFtXCJdLHM9W2xJLEIsQyxnZyxJWzBdLElbMV1dO2ZvcihFJiYoRis9XCJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKFwiK0crXCIsIHRoaXMpO1xcblwiKSxvPTA7bzxRLTI7KytvKUYrPVwidmFyIGFyZ1wiK28rXCJXaXJlZCA9IGFyZ1R5cGVcIitvK1wiLnRvV2lyZVR5cGUoXCIrRytcIiwgYXJnXCIrbytcIik7IC8vIFwiK0lbbysyXS5uYW1lK1wiXFxuXCIsaC5wdXNoKFwiYXJnVHlwZVwiK28pLHMucHVzaChJW28rMl0pO2lmKEUmJih3PVwidGhpc1dpcmVkXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3cpLEYrPShEP1widmFyIHJ2ID0gXCI6XCJcIikrXCJpbnZva2VyKGZuXCIrKHcubGVuZ3RoPjA/XCIsIFwiOlwiXCIpK3crXCIpO1xcblwiLGkpRis9XCJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XFxuXCI7ZWxzZSBmb3Iobz1FPzE6MjtvPEkubGVuZ3RoOysrbyl7dmFyIFI9MT09PW8/XCJ0aGlzV2lyZWRcIjpcImFyZ1wiKyhvLTIpK1wiV2lyZWRcIjtudWxsIT09SVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24mJihGKz1SK1wiX2R0b3IoXCIrUitcIik7IC8vIFwiK0lbb10ubmFtZStcIlxcblwiLGgucHVzaChSK1wiX2R0b3JcIikscy5wdXNoKElbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKSl9cmV0dXJuIEQmJihGKz1cInZhciByZXQgPSByZXRUeXBlLmZyb21XaXJlVHlwZShydik7XFxucmV0dXJuIHJldDtcXG5cIiksRis9XCJ9XFxuXCIsaC5wdXNoKEYpLElnKEZ1bmN0aW9uLGgpLmFwcGx5KG51bGwscyl9ZnVuY3Rpb24gQ2coQSxJLGcpe2lmKHZvaWQgMD09PUFbSV0ub3ZlcmxvYWRUYWJsZSl7dmFyIEI9QVtJXTtBW0ldPWZ1bmN0aW9uKCl7cmV0dXJuIEFbSV0ub3ZlcmxvYWRUYWJsZS5oYXNPd25Qcm9wZXJ0eShhcmd1bWVudHMubGVuZ3RoKXx8bEkoXCJGdW5jdGlvbiAnXCIrZytcIicgY2FsbGVkIHdpdGggYW4gaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIChcIithcmd1bWVudHMubGVuZ3RoK1wiKSAtIGV4cGVjdHMgb25lIG9mIChcIitBW0ldLm92ZXJsb2FkVGFibGUrXCIpIVwiKSxBW0ldLm92ZXJsb2FkVGFibGVbYXJndW1lbnRzLmxlbmd0aF0uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxBW0ldLm92ZXJsb2FkVGFibGU9W10sQVtJXS5vdmVybG9hZFRhYmxlW0IuYXJnQ291bnRdPUJ9fWZ1bmN0aW9uIFFnKEksZyxCKXtBLmhhc093blByb3BlcnR5KEkpPygodm9pZCAwPT09Qnx8dm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGVbQl0pJiZsSShcIkNhbm5vdCByZWdpc3RlciBwdWJsaWMgbmFtZSAnXCIrSStcIicgdHdpY2VcIiksQ2coQSxJLEkpLEEuaGFzT3duUHJvcGVydHkoQikmJmxJKFwiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXCIrQitcIikhXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nKTooQVtJXT1nLHZvaWQgMCE9PUImJihBW0ldLm51bUFyZ3VtZW50cz1CKSl9ZnVuY3Rpb24gRWcoQSxJKXtmb3IodmFyIGc9W10sQj0wO0I8QTtCKyspZy5wdXNoKEFBWyhJPj4yKStCXSk7cmV0dXJuIGd9ZnVuY3Rpb24gaWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSl8fFdJKFwiUmVwbGFjaW5nIG5vbmV4aXN0YW50IHB1YmxpYyBzeW1ib2xcIiksdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1CP0FbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nOihBW0ldPWcsQVtJXS5hcmdDb3VudD1CKX1mdW5jdGlvbiBvZyhJLGcpe3ZhciBCO2lmKEk9S0koSSksdm9pZCAwIT09QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldKUI9QVtcIkZVTkNUSU9OX1RBQkxFX1wiK0ldW2ddO2Vsc2UgaWYoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZVTkNUSU9OX1RBQkxFKUI9RlVOQ1RJT05fVEFCTEVbZ107ZWxzZXt2YXIgQz1BW1wiZHluQ2FsbF9cIitJXTt2b2lkIDA9PT1DJiZ2b2lkIDA9PT0oQz1BW1wiZHluQ2FsbF9cIitJLnJlcGxhY2UoL2YvZyxcImRcIildKSYmbEkoXCJObyBkeW5DYWxsIGludm9rZXIgZm9yIHNpZ25hdHVyZTogXCIrSSksQj1mdW5jdGlvbihBKXtmb3IodmFyIEI9W10sQz0xO0M8SS5sZW5ndGg7KytDKUIucHVzaChcImFcIitDKTt2YXIgUT1cInJldHVybiBmdW5jdGlvbiBkeW5DYWxsX1wiK0krXCJfXCIrZytcIihcIitCLmpvaW4oXCIsIFwiKStcIikge1xcblwiO3JldHVybiBRKz1cIiAgICByZXR1cm4gZHluQ2FsbChyYXdGdW5jdGlvblwiKyhCLmxlbmd0aD9cIiwgXCI6XCJcIikrQi5qb2luKFwiLCBcIikrXCIpO1xcblwiLFErPVwifTtcXG5cIixuZXcgRnVuY3Rpb24oXCJkeW5DYWxsXCIsXCJyYXdGdW5jdGlvblwiLFEpKEEsZyl9KEMpfXJldHVyblwiZnVuY3Rpb25cIiE9dHlwZW9mIEImJmxJKFwidW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlIFwiK0krXCI6IFwiK2cpLEJ9dmFyIERnPXZvaWQgMDtmdW5jdGlvbiBhZyhBKXt2YXIgST13QihBKSxnPUtJKEkpO3JldHVybiBzQihJKSxnfWZ1bmN0aW9uIHdnKEEsSSl7dmFyIGc9W10sQj17fTt0aHJvdyBJLmZvckVhY2goKGZ1bmN0aW9uIEEoSSl7QltJXXx8WUlbSV18fChlSVtJXT9lSVtJXS5mb3JFYWNoKEEpOihnLnB1c2goSSksQltJXT0hMCkpfSkpLG5ldyBEZyhBK1wiOiBcIitnLm1hcChhZykuam9pbihbXCIsIFwiXSkpfWZ1bmN0aW9uIEZnKEEsSSxnLEIsQyxRKXt2YXIgRT1FZyhJLGcpO0E9S0koQSksQz1vZyhCLEMpLFFnKEEsKGZ1bmN0aW9uKCl7d2coXCJDYW5ub3QgY2FsbCBcIitBK1wiIGR1ZSB0byB1bmJvdW5kIHR5cGVzXCIsRSl9KSxJLTEpLHBJKFtdLEUsKGZ1bmN0aW9uKGcpe3ZhciBCPVtnWzBdLG51bGxdLmNvbmNhdChnLnNsaWNlKDEpKTtyZXR1cm4gaWcoQSxCZyhBLEIsbnVsbCxDLFEpLEktMSksW119KSl9ZnVuY3Rpb24gR2coQSxJLGcpe3N3aXRjaChJKXtjYXNlIDA6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIHZbQV19OmZ1bmN0aW9uKEEpe3JldHVybiB6W0FdfTtjYXNlIDE6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIF9bQT4+MV19OmZ1bmN0aW9uKEEpe3JldHVybiAkW0E+PjFdfTtjYXNlIDI6cmV0dXJuIGc/ZnVuY3Rpb24oQSl7cmV0dXJuIEFBW0E+PjJdfTpmdW5jdGlvbihBKXtyZXR1cm4gSUFbQT4+Ml19O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gaW50ZWdlciB0eXBlOiBcIitBKX19ZnVuY3Rpb24gaGcoQSxJLGcsQixDKXtJPUtJKEkpLC0xPT09QyYmKEM9NDI5NDk2NzI5NSk7dmFyIFE9Y0koZyksRT1mdW5jdGlvbihBKXtyZXR1cm4gQX07aWYoMD09PUIpe3ZhciBpPTMyLTgqZztFPWZ1bmN0aW9uKEEpe3JldHVybiBBPDxpPj4+aX19dmFyIG89LTEhPUkuaW5kZXhPZihcInVuc2lnbmVkXCIpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6RSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsZyl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIGcmJlwiYm9vbGVhblwiIT10eXBlb2YgZyl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcIicrX0koZykrJ1wiIHRvICcrdGhpcy5uYW1lKTtpZihnPEJ8fGc+Qyl0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXNzaW5nIGEgbnVtYmVyIFwiJytfSShnKSsnXCIgZnJvbSBKUyBzaWRlIHRvIEMvQysrIHNpZGUgdG8gYW4gYXJndW1lbnQgb2YgdHlwZSBcIicrSSsnXCIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0IrXCIsIFwiK0MrXCJdIVwiKTtyZXR1cm4gbz9nPj4+MDowfGd9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6R2coSSxRLDAhPT1CKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHNnKEEsSSxnKXt2YXIgQj1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldW0ldO2Z1bmN0aW9uIEMoQSl7dmFyIEk9SUEsZz1JW0E+Pj0yXSxDPUlbQSsxXTtyZXR1cm4gbmV3IEIoSS5idWZmZXIsQyxnKX1aSShBLHtuYW1lOmc9S0koZyksZnJvbVdpcmVUeXBlOkMsYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpDfSx7aWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9uczohMH0pfWZ1bmN0aW9uIFJnKEEsSSl7dmFyIGc9XCJzdGQ6OnN0cmluZ1wiPT09KEk9S0koSSkpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEksQj1JQVtBPj4yXTtpZihnKXt2YXIgQz16W0ErNCtCXSxRPTA7MCE9QyYmKFE9Qyx6W0ErNCtCXT0wKTtmb3IodmFyIEU9QSs0LGk9MDtpPD1COysraSl7dmFyIG89QSs0K2k7aWYoMD09eltvXSl7dmFyIEQ9ZihFKTt2b2lkIDA9PT1JP0k9RDooSSs9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxJKz1EKSxFPW8rMX19MCE9USYmKHpbQSs0K0JdPVEpfWVsc2V7dmFyIGE9bmV3IEFycmF5KEIpO2ZvcihpPTA7aTxCOysraSlhW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUoeltBKzQraV0pO0k9YS5qb2luKFwiXCIpfXJldHVybiBzQihBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7SSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiYoST1uZXcgVWludDhBcnJheShJKSk7dmFyIEI9XCJzdHJpbmdcIj09dHlwZW9mIEk7Qnx8SSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fEkgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8SSBpbnN0YW5jZW9mIEludDhBcnJheXx8bEkoXCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIHN0ZDo6c3RyaW5nXCIpO3ZhciBDPShnJiZCP2Z1bmN0aW9uKCl7cmV0dXJuIFcoSSl9OmZ1bmN0aW9uKCl7cmV0dXJuIEkubGVuZ3RofSkoKSxRPVJCKDQrQysxKTtpZihJQVtRPj4yXT1DLGcmJkIpdShJLFErNCxDKzEpO2Vsc2UgaWYoQilmb3IodmFyIEU9MDtFPEM7KytFKXt2YXIgaT1JLmNoYXJDb2RlQXQoRSk7aT4yNTUmJihzQihRKSxsSShcIlN0cmluZyBoYXMgVVRGLTE2IGNvZGUgdW5pdHMgdGhhdCBkbyBub3QgZml0IGluIDggYml0c1wiKSkseltRKzQrRV09aX1lbHNlIGZvcihFPTA7RTxDOysrRSl6W1ErNCtFXT1JW0VdO3JldHVybiBudWxsIT09QSYmQS5wdXNoKHNCLFEpLFF9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIFVnKEEsSSxnKXt2YXIgQixDLFEsRSxpO2c9S0koZyksMj09PUk/KEI9WixDPWIsRT14LFE9ZnVuY3Rpb24oKXtyZXR1cm4gJH0saT0xKTo0PT09SSYmKEI9bSxDPVgsRT1WLFE9ZnVuY3Rpb24oKXtyZXR1cm4gSUF9LGk9MiksWkkoQSx7bmFtZTpnLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgZyxDPUlBW0E+PjJdLEU9USgpLG89RVtBKzQrQypJPj5pXSxEPTA7MCE9byYmKEQ9byxFW0ErNCtDKkk+PmldPTApO2Zvcih2YXIgYT1BKzQsdz0wO3c8PUM7Kyt3KXt2YXIgRj1BKzQrdypJO2lmKDA9PUVbRj4+aV0pe3ZhciBHPUIoYSk7dm9pZCAwPT09Zz9nPUc6KGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksZys9RyksYT1GK0l9fXJldHVybiAwIT1EJiYoRVtBKzQrQypJPj5pXT1EKSxzQihBKSxnfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsQil7XCJzdHJpbmdcIiE9dHlwZW9mIEImJmxJKFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgXCIrZyk7dmFyIFE9RShCKSxvPVJCKDQrUStJKTtyZXR1cm4gSUFbbz4+Ml09UT4+aSxDKEIsbys0LFErSSksbnVsbCE9PUEmJkEucHVzaChzQixvKSxvfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiB5ZyhBLEkpe1pJKEEse2lzVm9pZDohMCxuYW1lOkk9S0koSSksYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXt9fSl9ZnVuY3Rpb24gdGcoKXtKQSgpfWZ1bmN0aW9uIFNnKCl7cmV0dXJuIHoubGVuZ3RofWZ1bmN0aW9uIE1nKEEpe0pBKFwiT09NXCIpfWZ1bmN0aW9uIG5nKEEpe01nKCl9ZnVuY3Rpb24gY2coQSl7ZUIoQSl9ZnVuY3Rpb24gcmcoQSl7cmV0dXJuIDA9PT1BPzA6KEE9ZihBKSxqQS5oYXNPd25Qcm9wZXJ0eShBKT8ocmcucmV0JiZzQihyZy5yZXQpLHJnLnJldD1PKGpBW0FdKSxyZy5yZXQpOjApfWZ1bmN0aW9uIGtnKEEpe3ZhciBJPURhdGUubm93KCk7cmV0dXJuIEFBW0E+PjJdPUkvMWUzfDAsQUFbQSs0Pj4yXT1JJTFlMyoxZTN8MCwwfWZ1bmN0aW9uIEtnKEEpe3JldHVybiBNYXRoLnBvdygyLEEpfWZ1bmN0aW9uIE5nKEEpe3ZhciBJPVlnLGc9SS5MTFZNX1NBVkVEU1RBQ0tTW0FdO0kuTExWTV9TQVZFRFNUQUNLUy5zcGxpY2UoQSwxKSx5QihnKX1mdW5jdGlvbiBZZygpe3ZhciBBPVlnO3JldHVybiBBLkxMVk1fU0FWRURTVEFDS1N8fChBLkxMVk1fU0FWRURTVEFDS1M9W10pLEEuTExWTV9TQVZFRFNUQUNLUy5wdXNoKHRCKCkpLEEuTExWTV9TQVZFRFNUQUNLUy5sZW5ndGgtMX12YXIgZWc9NjExMzY7ZnVuY3Rpb24gSmcoKXtpZighSmcuY2FsbGVkKXtKZy5jYWxsZWQ9ITAsQUFbR0IoKT4+Ml09NjAqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBBPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxJPW5ldyBEYXRlKEEsMCwxKSxnPW5ldyBEYXRlKEEsNiwxKTtBQVtGQigpPj4yXT1OdW1iZXIoSS5nZXRUaW1lem9uZU9mZnNldCgpIT1nLmdldFRpbWV6b25lT2Zmc2V0KCkpO3ZhciBCPWkoSSksQz1pKGcpLFE9TyhCKSxFPU8oQyk7Zy5nZXRUaW1lem9uZU9mZnNldCgpPEkuZ2V0VGltZXpvbmVPZmZzZXQoKT8oQUFbaEIoKT4+Ml09USxBQVtoQigpKzQ+PjJdPUUpOihBQVtoQigpPj4yXT1FLEFBW2hCKCkrND4+Ml09USl9ZnVuY3Rpb24gaShBKXt2YXIgST1BLnRvVGltZVN0cmluZygpLm1hdGNoKC9cXCgoW0EtWmEteiBdKylcXCkkLyk7cmV0dXJuIEk/SVsxXTpcIkdNVFwifX1mdW5jdGlvbiBIZyhBLEkpe0pnKCk7dmFyIGc9bmV3IERhdGUoMWUzKkFBW0E+PjJdKTtBQVtJPj4yXT1nLmdldFNlY29uZHMoKSxBQVtJKzQ+PjJdPWcuZ2V0TWludXRlcygpLEFBW0krOD4+Ml09Zy5nZXRIb3VycygpLEFBW0krMTI+PjJdPWcuZ2V0RGF0ZSgpLEFBW0krMTY+PjJdPWcuZ2V0TW9udGgoKSxBQVtJKzIwPj4yXT1nLmdldEZ1bGxZZWFyKCktMTkwMCxBQVtJKzI0Pj4yXT1nLmdldERheSgpO3ZhciBCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSwwLDEpLEM9KGcuZ2V0VGltZSgpLUIuZ2V0VGltZSgpKS84NjRlNXwwO0FBW0krMjg+PjJdPUMsQUFbSSszNj4+Ml09LTYwKmcuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgUT1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksNiwxKS5nZXRUaW1lem9uZU9mZnNldCgpLEU9Qi5nZXRUaW1lem9uZU9mZnNldCgpLGk9MHwoUSE9RSYmZy5nZXRUaW1lem9uZU9mZnNldCgpPT1NYXRoLm1pbihFLFEpKTtBQVtJKzMyPj4yXT1pO3ZhciBvPUFBW2hCKCkrKGk/NDowKT4+Ml07cmV0dXJuIEFBW0krNDA+PjJdPW8sSX1mdW5jdGlvbiBMZyhBKXtyZXR1cm4gSGcoQSxlZyl9ZnVuY3Rpb24gcWcoQSxJKXt0aHJvdyBVQihBLEl8fDEpLFwibG9uZ2ptcFwifWZ1bmN0aW9uIGRnKEEsSSxnKXt6LnNldCh6LnN1YmFycmF5KEksSStnKSxBKX1mdW5jdGlvbiBmZyhBKXtyZXR1cm4gQSU0PT0wJiYoQSUxMDAhPTB8fEElNDAwPT0wKX1mdW5jdGlvbiBsZyhBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPD1JO2crPUFbQisrXSk7cmV0dXJuIGd9dShcIkdNVFwiLDYxMTg0LDQpO3ZhciB1Zz1bMzEsMjksMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLFdnPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07ZnVuY3Rpb24gcGcoQSxJKXtmb3IodmFyIGc9bmV3IERhdGUoQS5nZXRUaW1lKCkpO0k+MDspe3ZhciBCPWZnKGcuZ2V0RnVsbFllYXIoKSksQz1nLmdldE1vbnRoKCksUT0oQj91ZzpXZylbQ107aWYoIShJPlEtZy5nZXREYXRlKCkpKXJldHVybiBnLnNldERhdGUoZy5nZXREYXRlKCkrSSksZztJLT1RLWcuZ2V0RGF0ZSgpKzEsZy5zZXREYXRlKDEpLEM8MTE/Zy5zZXRNb250aChDKzEpOihnLnNldE1vbnRoKDApLGcuc2V0RnVsbFllYXIoZy5nZXRGdWxsWWVhcigpKzEpKX1yZXR1cm4gZ31mdW5jdGlvbiBaZyhBLEksZyxCKXt2YXIgQz1BQVtCKzQwPj4yXSxRPXt0bV9zZWM6QUFbQj4+Ml0sdG1fbWluOkFBW0IrND4+Ml0sdG1faG91cjpBQVtCKzg+PjJdLHRtX21kYXk6QUFbQisxMj4+Ml0sdG1fbW9uOkFBW0IrMTY+PjJdLHRtX3llYXI6QUFbQisyMD4+Ml0sdG1fd2RheTpBQVtCKzI0Pj4yXSx0bV95ZGF5OkFBW0IrMjg+PjJdLHRtX2lzZHN0OkFBW0IrMzI+PjJdLHRtX2dtdG9mZjpBQVtCKzM2Pj4yXSx0bV96b25lOkM/ZihDKTpcIlwifSxFPWYoZyksaT17XCIlY1wiOlwiJWEgJWIgJWQgJUg6JU06JVMgJVlcIixcIiVEXCI6XCIlbS8lZC8leVwiLFwiJUZcIjpcIiVZLSVtLSVkXCIsXCIlaFwiOlwiJWJcIixcIiVyXCI6XCIlSTolTTolUyAlcFwiLFwiJVJcIjpcIiVIOiVNXCIsXCIlVFwiOlwiJUg6JU06JVNcIixcIiV4XCI6XCIlbS8lZC8leVwiLFwiJVhcIjpcIiVIOiVNOiVTXCIsXCIlRWNcIjpcIiVjXCIsXCIlRUNcIjpcIiVDXCIsXCIlRXhcIjpcIiVtLyVkLyV5XCIsXCIlRVhcIjpcIiVIOiVNOiVTXCIsXCIlRXlcIjpcIiV5XCIsXCIlRVlcIjpcIiVZXCIsXCIlT2RcIjpcIiVkXCIsXCIlT2VcIjpcIiVlXCIsXCIlT0hcIjpcIiVIXCIsXCIlT0lcIjpcIiVJXCIsXCIlT21cIjpcIiVtXCIsXCIlT01cIjpcIiVNXCIsXCIlT1NcIjpcIiVTXCIsXCIlT3VcIjpcIiV1XCIsXCIlT1VcIjpcIiVVXCIsXCIlT1ZcIjpcIiVWXCIsXCIlT3dcIjpcIiV3XCIsXCIlT1dcIjpcIiVXXCIsXCIlT3lcIjpcIiV5XCJ9O2Zvcih2YXIgbyBpbiBpKUU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksaVtvXSk7dmFyIEQ9W1wiU3VuZGF5XCIsXCJNb25kYXlcIixcIlR1ZXNkYXlcIixcIldlZG5lc2RheVwiLFwiVGh1cnNkYXlcIixcIkZyaWRheVwiLFwiU2F0dXJkYXlcIl0sYT1bXCJKYW51YXJ5XCIsXCJGZWJydWFyeVwiLFwiTWFyY2hcIixcIkFwcmlsXCIsXCJNYXlcIixcIkp1bmVcIixcIkp1bHlcIixcIkF1Z3VzdFwiLFwiU2VwdGVtYmVyXCIsXCJPY3RvYmVyXCIsXCJOb3ZlbWJlclwiLFwiRGVjZW1iZXJcIl07ZnVuY3Rpb24gdyhBLEksZyl7Zm9yKHZhciBCPVwibnVtYmVyXCI9PXR5cGVvZiBBP0EudG9TdHJpbmcoKTpBfHxcIlwiO0IubGVuZ3RoPEk7KUI9Z1swXStCO3JldHVybiBCfWZ1bmN0aW9uIEYoQSxJKXtyZXR1cm4gdyhBLEksXCIwXCIpfWZ1bmN0aW9uIEcoQSxJKXtmdW5jdGlvbiBnKEEpe3JldHVybiBBPDA/LTE6QT4wPzE6MH12YXIgQjtyZXR1cm4gMD09PShCPWcoQS5nZXRGdWxsWWVhcigpLUkuZ2V0RnVsbFllYXIoKSkpJiYwPT09KEI9ZyhBLmdldE1vbnRoKCktSS5nZXRNb250aCgpKSkmJihCPWcoQS5nZXREYXRlKCktSS5nZXREYXRlKCkpKSxCfWZ1bmN0aW9uIGgoQSl7c3dpdGNoKEEuZ2V0RGF5KCkpe2Nhc2UgMDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMjkpO2Nhc2UgMTpyZXR1cm4gQTtjYXNlIDI6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDMpO2Nhc2UgMzpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMik7Y2FzZSA0OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwxKTtjYXNlIDU6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMxKTtjYXNlIDY6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMwKX19ZnVuY3Rpb24gcyhBKXt2YXIgST1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSksZz1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCksMCw0KSxCPW5ldyBEYXRlKEkuZ2V0RnVsbFllYXIoKSsxLDAsNCksQz1oKGcpLFE9aChCKTtyZXR1cm4gRyhDLEkpPD0wP0coUSxJKTw9MD9JLmdldEZ1bGxZZWFyKCkrMTpJLmdldEZ1bGxZZWFyKCk6SS5nZXRGdWxsWWVhcigpLTF9dmFyIFI9e1wiJWFcIjpmdW5jdGlvbihBKXtyZXR1cm4gRFtBLnRtX3dkYXldLnN1YnN0cmluZygwLDMpfSxcIiVBXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XX0sXCIlYlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXS5zdWJzdHJpbmcoMCwzKX0sXCIlQlwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXX0sXCIlQ1wiOmZ1bmN0aW9uKEEpe3JldHVybiBGKChBLnRtX3llYXIrMTkwMCkvMTAwfDAsMil9LFwiJWRcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXksMil9LFwiJWVcIjpmdW5jdGlvbihBKXtyZXR1cm4gdyhBLnRtX21kYXksMixcIiBcIil9LFwiJWdcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlR1wiOmZ1bmN0aW9uKEEpe3JldHVybiBzKEEpfSxcIiVIXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9ob3VyLDIpfSxcIiVJXCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9ob3VyO3JldHVybiAwPT1JP0k9MTI6ST4xMiYmKEktPTEyKSxGKEksMil9LFwiJWpcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXkrbGcoZmcoQS50bV95ZWFyKzE5MDApP3VnOldnLEEudG1fbW9uLTEpLDMpfSxcIiVtXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tb24rMSwyKX0sXCIlTVwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWluLDIpfSxcIiVuXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIlxcblwifSxcIiVwXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1faG91cj49MCYmQS50bV9ob3VyPDEyP1wiQU1cIjpcIlBNXCJ9LFwiJVNcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX3NlYywyKX0sXCIldFwiOmZ1bmN0aW9uKCl7cmV0dXJuXCJcXHRcIn0sXCIldVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl8fDd9LFwiJVVcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLGc9MD09PUkuZ2V0RGF5KCk/STpwZyhJLDctSS5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XCIwMVwiOlwiMDBcIn0sXCIlVlwiOmZ1bmN0aW9uKEEpe3ZhciBJLGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCw0KSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAxLDAsNCksQz1oKGcpLFE9aChCKSxFPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KTtyZXR1cm4gRyhFLEMpPDA/XCI1M1wiOkcoUSxFKTw9MD9cIjAxXCI6KEk9Qy5nZXRGdWxsWWVhcigpPEEudG1feWVhcisxOTAwP0EudG1feWRheSszMi1DLmdldERhdGUoKTpBLnRtX3lkYXkrMS1DLmdldERhdGUoKSxGKE1hdGguY2VpbChJLzcpLDIpKX0sXCIld1wiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl9LFwiJVdcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIsMCwxKSxnPTE9PT1JLmdldERheSgpP0k6cGcoSSwwPT09SS5nZXREYXkoKT8xOjctSS5nZXREYXkoKSsxKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cIjAxXCI6XCIwMFwifSxcIiV5XCI6ZnVuY3Rpb24oQSl7cmV0dXJuKEEudG1feWVhcisxOTAwKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXCIlWVwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3llYXIrMTkwMH0sXCIlelwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1fZ210b2ZmLGc9ST49MDtyZXR1cm4gST0oST1NYXRoLmFicyhJKS82MCkvNjAqMTAwK0klNjAsKGc/XCIrXCI6XCItXCIpK1N0cmluZyhcIjAwMDBcIitJKS5zbGljZSgtNCl9LFwiJVpcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV96b25lfSxcIiUlXCI6ZnVuY3Rpb24oKXtyZXR1cm5cIiVcIn19O2Zvcih2YXIgbyBpbiBSKUUuaW5kZXhPZihvKT49MCYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcImdcIiksUltvXShRKSkpO3ZhciBVPVhnKEUsITEpO3JldHVybiBVLmxlbmd0aD5JPzA6KFQoVSxBKSxVLmxlbmd0aC0xKX1mdW5jdGlvbiBiZyhBLEksZyxCKXtyZXR1cm4gWmcoQSxJLGcsQil9ZnVuY3Rpb24geGcoQSl7dmFyIEk9RGF0ZS5ub3coKS8xZTN8MDtyZXR1cm4gQSYmKEFBW0E+PjJdPUkpLEl9aUkuc3RhdGljSW5pdCgpLHJJKCksZkk9QS5CaW5kaW5nRXJyb3I9ZEkoRXJyb3IsXCJCaW5kaW5nRXJyb3JcIiksdUk9QS5JbnRlcm5hbEVycm9yPWRJKEVycm9yLFwiSW50ZXJuYWxFcnJvclwiKSxqSSgpLERnPUEuVW5ib3VuZFR5cGVFcnJvcj1kSShFcnJvcixcIlVuYm91bmRUeXBlRXJyb3JcIik7dmFyIG1nPSExO2Z1bmN0aW9uIFhnKEEsSSxnKXt2YXIgQj1nPjA/ZzpXKEEpKzEsQz1uZXcgQXJyYXkoQiksUT1sKEEsQywwLEMubGVuZ3RoKTtyZXR1cm4gSSYmKEMubGVuZ3RoPVEpLEN9ZnVuY3Rpb24gVmcoQSl7Zm9yKHZhciBJPVtdLGc9MDtnPEEubGVuZ3RoO2crKyl7dmFyIEI9QVtnXTtCPjI1NSYmKG1nJiZIKCExLFwiQ2hhcmFjdGVyIGNvZGUgXCIrQitcIiAoXCIrU3RyaW5nLmZyb21DaGFyQ29kZShCKStcIikgIGF0IG9mZnNldCBcIitnK1wiIG5vdCBpbiAweDAwLTB4RkYuXCIpLEImPTI1NSksSS5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXJldHVybiBJLmpvaW4oXCJcIil9dmFyIE9nPVwiZnVuY3Rpb25cIj09dHlwZW9mIGF0b2I/YXRvYjpmdW5jdGlvbihBKXt2YXIgSSxnLEIsQyxRLEUsaT1cIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XCIsbz1cIlwiLEQ9MDtBPUEucmVwbGFjZSgvW15BLVphLXowLTlcXCtcXC9cXD1dL2csXCJcIik7ZG97ST1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSk8PDJ8KEM9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+NCxnPSgxNSZDKTw8NHwoUT1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpPj4yLEI9KDMmUSk8PDZ8KEU9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKSxvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLDY0IT09USYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoZykpLDY0IT09RSYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXdoaWxlKEQ8QS5sZW5ndGgpO3JldHVybiBvfTtmdW5jdGlvbiBUZyhBKXtpZihcImJvb2xlYW5cIj09dHlwZW9mIHcmJncpe3ZhciBJO3RyeXtJPUJ1ZmZlci5mcm9tKEEsXCJiYXNlNjRcIil9Y2F0Y2goZyl7ST1uZXcgQnVmZmVyKEEsXCJiYXNlNjRcIil9cmV0dXJuIG5ldyBVaW50OEFycmF5KEkuYnVmZmVyLEkuYnl0ZU9mZnNldCxJLmJ5dGVMZW5ndGgpfXRyeXtmb3IodmFyIGc9T2coQSksQj1uZXcgVWludDhBcnJheShnLmxlbmd0aCksQz0wO0M8Zy5sZW5ndGg7KytDKUJbQ109Zy5jaGFyQ29kZUF0KEMpO3JldHVybiBCfWNhdGNoKEEpe3Rocm93IG5ldyBFcnJvcihcIkNvbnZlcnRpbmcgYmFzZTY0IHN0cmluZyB0byBieXRlcyBmYWlsZWQuXCIpfX1mdW5jdGlvbiBqZyhBKXtpZihMQShBKSlyZXR1cm4gVGcoQS5zbGljZShIQS5sZW5ndGgpKX1mdW5jdGlvbiBQZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e3JldHVybiBTQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHZnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyZXR1cm4gTUIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHpnKEEsSSxnLEIpe3ZhciBDPXRCKCk7dHJ5e3JldHVybiBuQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBfZyhBLEkpe3ZhciBnPXRCKCk7dHJ5e2NCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gJGcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JCKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBBQihBLEksZyxCKXt2YXIgQz10QigpO3RyeXtrQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBJQihBLEksZyxCLEMpe3ZhciBRPXRCKCk7dHJ5e0tCKEEsSSxnLEIsQyl9Y2F0Y2goQSl7aWYoeUIoUSksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19dmFyIGdCPXt9LEJCPXskOnZBLGY6ekEsZTokQSxBOkFJLF86Z0ksejpESSxaOmFJLFk6d0ksWDpHSSxvOmhJLHk6UkksVzp5SSxEOlNJLFY6bkksVTpiSSx4OnhJLFQ6ekksdzpBZyxqOkZnLGs6aGcsaTpzZyx2OlJnLHM6VWcsUzp5ZyxfX21lbW9yeV9iYXNlOjEwMjQsX190YWJsZV9iYXNlOjAsYTp0ZyxSOm1BLFE6eEEsUDpiQSxPOlpBLE46WEEsTTpTZyxLOmRnLEo6bmcsYjpjZyxuOnJnLHU6a2csSTpLZyxtOk5nLGw6WWcsSDpMZyxnOnFnLEY6WmcsRTpiZyx0OnhnLGM6SkEsaDpZLHE6UGcsTDp2ZyxHOnpnLHA6X2csQzokZyxCOkFCLHI6SUIsbWVtb3J5OnIsZDpOLHRhYmxlOmV9LENCPUEuYXNtKGdCLEJCLFApO0EuYXNtPUNCO3ZhciBRQixFQj1BLl9fR0xPQkFMX19zdWJfSV9BUlRvb2xLaXRKU19jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpQj1BLl9fR0xPQkFMX19zdWJfSV9iaW5kX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5iYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9CPUEuX19HTE9CQUxfX3N1Yl9JX2lvc3RyZWFtX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5jYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERCPUEuX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhQj0oQS5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksd0I9KEEuX19fZXJybm9fbG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2dldFR5cGVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEZCPUEuX19nZXRfZGF5bGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHQj1BLl9fZ2V0X3RpbWV6b25lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saEI9QS5fX2dldF90em5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ua2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzQj1BLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUkI9QS5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVUI9QS5fc2V0VGhyZXc9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5Qj0oQS5zdGFja0FsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5zdGFja1Jlc3RvcmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uU2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksdEI9QS5zdGFja1NhdmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uVGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTQj0oQS5keW5DYWxsX2RpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2RpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5wYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9pPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLE1CPShBLmR5bkNhbGxfaWlkaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5zYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksbkI9QS5keW5DYWxsX2lpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjQj0oQS5keW5DYWxsX2lpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS53YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS55YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5CYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWo9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5EYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHJCPShBLmR5bkNhbGxfdmlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5IYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksa0I9KEEuZHluQ2FsbF92aWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uS2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5MYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxLQj1BLmR5bkNhbGxfdmlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiBOQihBKXt0aGlzLm5hbWU9XCJFeGl0U3RhdHVzXCIsdGhpcy5tZXNzYWdlPVwiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdChcIitBK1wiKVwiLHRoaXMuc3RhdHVzPUF9ZnVuY3Rpb24gWUIoSSl7ZnVuY3Rpb24gZygpe1FCfHwoUUI9ITAsSnx8KFJBKCksVUEoKSxBLm9uUnVudGltZUluaXRpYWxpemVkJiZBLm9uUnVudGltZUluaXRpYWxpemVkKCkseUEoKSkpfUk9SXx8QyxrQT4wfHwoc0EoKSxrQT4wfHwoQS5zZXRTdGF0dXM/KEEuc2V0U3RhdHVzKFwiUnVubmluZy4uLlwiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7QS5zZXRTdGF0dXMoXCJcIil9KSwxKSxnKCl9KSwxKSk6ZygpKSl9ZnVuY3Rpb24gZUIoSSxnKXtnJiZjJiYwPT09SXx8KGN8fChKPSEwLEEub25FeGl0JiZBLm9uRXhpdChJKSksRShJLG5ldyBOQihJKSkpfWlmKEEuZHluQ2FsbF92aWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5PYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5QYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlqaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmFzbT1DQixBLkZTPWlJLEEudGhlbj1mdW5jdGlvbihJKXtpZihRQilJKEEpO2Vsc2V7dmFyIGc9QS5vblJ1bnRpbWVJbml0aWFsaXplZDtBLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7ZyYmZygpLEkoQSl9fXJldHVybiBBfSxOQT1mdW5jdGlvbiBBKCl7UUJ8fFlCKCksUUJ8fChOQT1BKX0sQS5ydW49WUIsQS5wcmVJbml0KWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnByZUluaXQmJihBLnByZUluaXQ9W0EucHJlSW5pdF0pO0EucHJlSW5pdC5sZW5ndGg+MDspQS5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIGM9ITAsWUIoKSxBfSk7Y29uc3QgRj13LEc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0Yoe29uUnVudGltZUluaXRpYWxpemVkOmZ1bmN0aW9uKCl7QSh7aW5zdGFuY2U6dGhpc30pfX0pfSkpfTt2YXIgaD1nKDY2OSkscz1nLm4oaCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSl9dmFyIGc7cmV0dXJuIEUoQSxudWxsLFt7a2V5OlwiZmV0Y2hSZW1vdGVEYXRhXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLnByZXY9MCxBLm5leHQ9MyxzKCkuZ2V0KEkse3Jlc3BvbnNlVHlwZTpcImFycmF5YnVmZmVyXCJ9KTtjYXNlIDM6cmV0dXJuIGc9QS5zZW50LEEuYWJydXB0KFwicmV0dXJuXCIsbmV3IFVpbnQ4QXJyYXkoZy5kYXRhKSk7Y2FzZSA3OnRocm93IEEucHJldj03LEEudDA9QS5jYXRjaCgwKSxBLnQwO2Nhc2UgMTA6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsbnVsbCxbWzAsN11dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJzdHJpbmcyVWludDhEYXRhXCIsdmFsdWU6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPW5ldyBVaW50OEFycmF5KEEubGVuZ3RoKSxnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXT0yNTUmQS5jaGFyQ29kZUF0KGcpO3JldHVybiBJfX0se2tleTpcInVpbnQ4RGF0YTJTdHJpbmdcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsQSl9fSx7a2V5OlwicGFyc2VNdWx0aUZpbGVcIix2YWx1ZTpmdW5jdGlvbihJKXt2YXIgZz1BLnVpbnQ4RGF0YTJTdHJpbmcoSSkuc3BsaXQoXCJcXG5cIiksQj1bXSxDPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7aWYoKEE9QS50cmltKCkpJiYhQS5zdGFydHNXaXRoKFwiI1wiKSlzd2l0Y2goQyl7Y2FzZSAwOnJldHVybiB2b2lkKEM9MSk7Y2FzZSAxOkEubWF0Y2goL15cXGQrJC8pfHxCLnB1c2goQSk7Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6cmV0dXJuIHZvaWQgQysrO2Nhc2UgNTpyZXR1cm4gdm9pZChDPTEpfX0pKSxCfX1dKSxBfSgpLFU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpLHRoaXMuaW5zdGFuY2UsdGhpcy5tYXJrZXJDb3VudD0wLHRoaXMubXVsdGlNYXJrZXJDb3VudD0wLHRoaXMuY2FtZXJhQ291bnQ9MCx0aGlzLnZlcnNpb249XCIwLjEuMFwiLGNvbnNvbGUuaW5mbyhcIkFSVG9vbGtpdCBcIix0aGlzLnZlcnNpb24pfXZhciBCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcImluaXRcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsRygpO2Nhc2UgMjpyZXR1cm4gST1BLnNlbnQsdGhpcy5pbnN0YW5jZT1JLmluc3RhbmNlLHRoaXMuX2RlY29yYXRlKCksKFwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OmcuZykuYXJ0b29sa2l0PXRoaXMsQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzKTtjYXNlIDg6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfZGVjb3JhdGVcIix2YWx1ZTpmdW5jdGlvbigpe3ZhciBBPXRoaXM7Zm9yKHZhciBJIGluW1wic2V0dXBcIixcInRlYXJkb3duXCIsXCJzZXR1cEFSMlwiLFwic2V0TG9nTGV2ZWxcIixcImdldExvZ0xldmVsXCIsXCJzZXREZWJ1Z01vZGVcIixcImdldERlYnVnTW9kZVwiLFwiZ2V0UHJvY2Vzc2luZ0ltYWdlXCIsXCJzZXRNYXJrZXJJbmZvRGlyXCIsXCJzZXRNYXJrZXJJbmZvVmVydGV4XCIsXCJnZXRUcmFuc01hdFNxdWFyZVwiLFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXCIsXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsXCJnZXRNdWx0aU1hcmtlck51bVwiLFwiZ2V0TXVsdGlNYXJrZXJDb3VudFwiLFwiZGV0ZWN0TWFya2VyXCIsXCJnZXRNYXJrZXJOdW1cIixcImRldGVjdE5GVE1hcmtlclwiLFwiZ2V0TkZUTWFya2VyXCIsXCJnZXRNYXJrZXJcIixcImdldE11bHRpRWFjaE1hcmtlclwiLFwic2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLFwic2V0UHJvamVjdGlvbkZhclBsYW5lXCIsXCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIixcInNldFRocmVzaG9sZE1vZGVcIixcImdldFRocmVzaG9sZE1vZGVcIixcInNldFRocmVzaG9sZFwiLFwiZ2V0VGhyZXNob2xkXCIsXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLFwiZ2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIixcInNldE1hdHJpeENvZGVUeXBlXCIsXCJnZXRNYXRyaXhDb2RlVHlwZVwiLFwic2V0TGFiZWxpbmdNb2RlXCIsXCJnZXRMYWJlbGluZ01vZGVcIixcInNldFBhdHRSYXRpb1wiLFwiZ2V0UGF0dFJhdGlvXCIsXCJzZXRJbWFnZVByb2NNb2RlXCIsXCJnZXRJbWFnZVByb2NNb2RlXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe0FbSV09QS5pbnN0YW5jZVtJXX0pKSx0aGlzLmluc3RhbmNlKUkubWF0Y2goL15BUi8pJiYodGhpc1tJXT10aGlzLmluc3RhbmNlW0ldKX19LHtrZXk6XCJsb2FkQ2FtZXJhXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxCO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoZz1cIi9jYW1lcmFfcGFyYW1fXCIrdGhpcy5jYW1lcmFDb3VudCsrLCEoSSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXtBLm5leHQ9NTticmVha31CPUksQS5uZXh0PTE0O2JyZWFrO2Nhc2UgNTpyZXR1cm4gQS5wcmV2PTUsQS5uZXh0PTgsUi5mZXRjaFJlbW90ZURhdGEoSSk7Y2FzZSA4OkI9QS5zZW50LEEubmV4dD0xNDticmVhaztjYXNlIDExOnRocm93IEEucHJldj0xMSxBLnQwPUEuY2F0Y2goNSksQS50MDtjYXNlIDE0OnJldHVybiB0aGlzLl9zdG9yZURhdGFGaWxlKEIsZyksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9sb2FkQ2FtZXJhKGcpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE1hcmtlclwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSxnKXt2YXIgQixDO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoQj1cIi9tYXJrZXJfXCIrdGhpcy5tYXJrZXJDb3VudCsrLC0xPT09Zy5pbmRleE9mKFwiXFxuXCIpKXtBLm5leHQ9NTticmVha31DPVIuc3RyaW5nMlVpbnQ4RGF0YShnKSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDg6Qz1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxCKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2FkZE1hcmtlcihJLEIpKTtjYXNlIDE2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiYWRkTXVsdGlNYXJrZXJcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGksRCxhLHc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cIi9tdWx0aV9tYXJrZXJfXCIrdGhpcy5tdWx0aU1hcmtlckNvdW50KyssQS5uZXh0PTMsUi5mZXRjaFJlbW90ZURhdGEoQik7Y2FzZSAzOnJldHVybiBRPUEuc2VudCxFPVIucGFyc2VNdWx0aUZpbGUoUSksaT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPW5ldyBVUkwoSSxCKS50b1N0cmluZygpLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgMzpDPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEMsSSk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxEPUUubWFwKGksdGhpcyksQS5uZXh0PTksUHJvbWlzZS5hbGwoRCk7Y2FzZSA5OnJldHVybiBhPXRoaXMuaW5zdGFuY2UuX2FkZE11bHRpTWFya2VyKGcsQyksdz10aGlzLmluc3RhbmNlLmdldE11bHRpTWFya2VyTnVtKGcsYSksQS5hYnJ1cHQoXCJyZXR1cm5cIixbYSx3XSk7Y2FzZSAxMjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE5GVE1hcmtlclwiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoZyxCKXt2YXIgQyxRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBDPVwiL21hcmtlck5GVF9cIit0aGlzLm1hcmtlckNvdW50KyssUT1bXCJmc2V0XCIsXCJpc2V0XCIsXCJmc2V0M1wiXSxFPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxRLEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1CK1wiLlwiK0ksUT1DK1wiLlwiK0ksQS5uZXh0PTQsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSA0OkU9QS5zZW50LHRoaXMuX3N0b3JlRGF0YUZpbGUoRSxRKTtjYXNlIDY6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGk9US5tYXAoRSx0aGlzKSxBLm5leHQ9NixQcm9taXNlLmFsbChpKTtjYXNlIDY6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fYWRkTkZUTWFya2VyKGcsQykpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcIl9zdG9yZURhdGFGaWxlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmluc3RhbmNlLkZTLndyaXRlRmlsZShJLEEse2VuY29kaW5nOlwiYmluYXJ5XCJ9KX19XSxbe2tleTpcIlVOS05PV05fTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuLTF9fSx7a2V5OlwiUEFUVEVSTl9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHtrZXk6XCJCQVJDT0RFX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybiAxfX0se2tleTpcIk5GVF9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMn19XSksQX0oKTtmdW5jdGlvbiB5KEEsSSxnKXtyZXR1cm4gSSBpbiBBP09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTpBW0ldPWcsQX1mdW5jdGlvbiB0KEEsSSl7dmFyIGc9T2JqZWN0LmtleXMoQSk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIEI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhBKTtJJiYoQj1CLmZpbHRlcigoZnVuY3Rpb24oSSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQSxJKS5lbnVtZXJhYmxlfSkpKSxnLnB1c2guYXBwbHkoZyxCKX1yZXR1cm4gZ31mdW5jdGlvbiBTKEEpe2Zvcih2YXIgST0xO0k8YXJndW1lbnRzLmxlbmd0aDtJKyspe3ZhciBnPW51bGwhPWFyZ3VtZW50c1tJXT9hcmd1bWVudHNbSV06e307SSUyP3QoT2JqZWN0KGcpLCEwKS5mb3JFYWNoKChmdW5jdGlvbihJKXt5KEEsSSxnW0ldKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyhBLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGcpKTp0KE9iamVjdChnKSkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGcsSSkpfSkpfXJldHVybiBBfXZhciBNPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQShJLGcsQixRKXtDKHRoaXMsQSksdGhpcy5vcHRpb25zPVMoUyh7fSx7Y2FudmFzOm51bGwsb3JpZW50YXRpb246XCJsYW5kc2NhcGVcIn0pLFEpLHRoaXMuaWQ9LTEsdGhpcy53aWR0aD1JLHRoaXMuaGVpZ2h0PWcsdGhpcy5pbWFnZSx0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbix0aGlzLmNhbWVyYVBhcmFtPUIsdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmFydG9vbGtpdCx0aGlzLmxpc3RlbmVycz17fSx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aD0xLHRoaXMucGF0dGVybk1hcmtlcnM9e30sdGhpcy5iYXJjb2RlTWFya2Vycz17fSx0aGlzLm5mdE1hcmtlcnM9e30sdGhpcy50cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLHRoaXMudHJhbnNmb3JtR0xfUkg9bmV3IEZsb2F0NjRBcnJheSgxNiksdGhpcy52aWRlb1dpZHRoPUksdGhpcy52aWRlb0hlaWdodD1nLHRoaXMudmlkZW9TaXplPXRoaXMudmlkZW9XaWR0aCp0aGlzLnZpZGVvSGVpZ2h0LHRoaXMuZnJhbWVwb2ludGVyPW51bGwsdGhpcy5mcmFtZXNpemU9bnVsbCx0aGlzLmRhdGFIZWFwPW51bGwsdGhpcy52aWRlb0x1bWE9bnVsbCx0aGlzLmNhbWVyYV9tYXQ9bnVsbCx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW51bGwsdGhpcy52aWRlb0x1bWFQb2ludGVyPW51bGwsdGhpcy5vcHRpb25zLmNhbnZhcz90aGlzLmNhbnZhcz10aGlzLm9wdGlvbnMuY2FudmFzOlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmKHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIikpLHRoaXMuY2FudmFzPyh0aGlzLmNhbnZhcy53aWR0aD1JLHRoaXMuY2FudmFzLmhlaWdodD1nLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoXCIyZFwiKSk6Y29uc29sZS53YXJuKFwiTm8gY2FudmFzIGF2YWlsYWJsZVwiKSx0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPSExLHRoaXMubmZ0TWFya2VyQ291bnQ9MCx0aGlzLl9id3BvaW50ZXI9ITF9dmFyIGcsQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XCJkaXNwb3NlXCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEEgaW4gdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYVBhcmFtPVwiXCIsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5pZD4tMSYmdGhpcy5hcnRvb2xraXQudGVhcmRvd24odGhpcy5pZCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5zcmNPYmplY3QsdGhpcyl0aGlzW0FdPW51bGx9fSx7a2V5OlwicHJvY2Vzc1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMuZGV0ZWN0TWFya2VyKEEpOzAhPUkmJmNvbnNvbGUuZXJyb3IoXCJbQVJDb250cm9sbGVyXVwiLFwiZGV0ZWN0TWFya2VyIGVycm9yOlwiLEkpO3ZhciBnLEIsQz10aGlzLmdldE1hcmtlck51bSgpO2ZvcihnIGluIHRoaXMucGF0dGVybk1hcmtlcnMpKEI9dGhpcy5wYXR0ZXJuTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLmJhcmNvZGVNYXJrZXJzKShCPXRoaXMuYmFyY29kZU1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5uZnRNYXJrZXJzKShCPXRoaXMubmZ0TWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IodmFyIFE9MDtRPEM7USsrKXt2YXIgRT10aGlzLmdldE1hcmtlcihRKSxpPVUuVU5LTk9XTl9NQVJLRVIsbz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKC0xKTtFLmlkUGF0dD4tMSYmKEUuaWQ9PT1FLmlkUGF0dHx8LTE9PT1FLmlkTWF0cml4KT8obz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKEUuaWRQYXR0KSxpPVUuUEFUVEVSTl9NQVJLRVIsRS5kaXIhPT1FLmRpclBhdHQmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyUGF0dCkpOkUuaWRNYXRyaXg+LTEmJihvPXRoaXMudHJhY2tCYXJjb2RlTWFya2VySWQoRS5pZE1hdHJpeCksaT1VLkJBUkNPREVfTUFSS0VSLEUuZGlyIT09RS5kaXJNYXRyaXgmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyTWF0cml4KSksaSE9PVUuVU5LTk9XTl9NQVJLRVImJm8uaW5QcmV2aW91cz90aGlzLmdldFRyYW5zTWF0U3F1YXJlQ29udChRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgsby5tYXRyaXgpOnRoaXMuZ2V0VHJhbnNNYXRTcXVhcmUoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4KSxvLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChvLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OlEsdHlwZTppLG1hcmtlcjpFLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX12YXIgRD10aGlzLm5mdE1hcmtlckNvdW50O3RoaXMuZGV0ZWN0TkZUTWFya2VyKCk7Zm9yKHZhciBhPTA7YTxEO2ErKyl7dmFyIHc9dGhpcy5nZXRORlRNYXJrZXIoYSksRj1VLk5GVF9NQVJLRVI7aWYody5mb3VuZCl7dGhpcy5uZnRNYXJrZXJGb3VuZD1hLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPURhdGUubm93KCk7dmFyIEc9dGhpcy50cmFja05GVE1hcmtlcklkKGEpO0cubWF0cml4LnNldCh3LnBvc2UpLEcuaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KEcubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfWVsc2Ugc2VsZi5uZnRNYXJrZXJGb3VuZD09PWEmJkRhdGUubm93KCktdGhpcy5uZnRNYXJrZXJGb3VuZFRpbWU+MjAwJiYodGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJsb3N0TkZUTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pKX1mb3IodmFyIGg9dGhpcy5nZXRNdWx0aU1hcmtlckNvdW50KCkscz0wO3M8aDtzKyspe3ZhciBSPXRoaXMuZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnQocykseT0hMTt0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0KHRoaXMuaWQscyksdGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpO2Zvcih2YXIgdD0wO3Q8Ujt0KyspaWYoKE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyx0KSkudmlzaWJsZT49MCl7eT0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSk7YnJlYWt9aWYoeSlmb3IodmFyIFM9MDtTPFI7UysrKXt2YXIgTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLFMpO3RoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNdWx0aU1hcmtlclN1YlwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXJrZXJJbmRleDpTLG1hcmtlcjpNLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX19dGhpcy5fYndwb2ludGVyJiZ0aGlzLmRlYnVnRHJhdygpfX0se2tleTpcImRldGVjdE5GVE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuZGV0ZWN0TkZUTWFya2VyKHRoaXMuaWQpfX0se2tleTpcInRyYWNrUGF0dGVybk1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLnBhdHRlcm5NYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5wYXR0ZXJuTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrQmFyY29kZU1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLmJhcmNvZGVNYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5iYXJjb2RlTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcInRyYWNrTkZUTWFya2VySWRcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMubmZ0TWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMubmZ0TWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcImdldE11bHRpTWFya2VyQ291bnRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlckNvdW50KHRoaXMuaWQpfX0se2tleTpcImdldE11bHRpTWFya2VyUGF0dGVybkNvdW50XCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE11bHRpTWFya2VyTnVtKHRoaXMuaWQsQSl9fSx7a2V5OlwiYWRkRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5saXN0ZW5lcnNbQV18fCh0aGlzLmxpc3RlbmVyc1tBXT1bXSksdGhpcy5saXN0ZW5lcnNbQV0ucHVzaChJKX19LHtrZXk6XCJyZW1vdmVFdmVudExpc3RlbmVyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZih0aGlzLmxpc3RlbmVyc1tBXSl7dmFyIGc9dGhpcy5saXN0ZW5lcnNbQV0uaW5kZXhPZihJKTtnPi0xJiZ0aGlzLmxpc3RlbmVyc1tBXS5zcGxpY2UoZywxKX19fSx7a2V5OlwiZGlzcGF0Y2hFdmVudFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMubGlzdGVuZXJzW0EubmFtZV07aWYoSSlmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKylJW2ddLmNhbGwodGhpcyxBKX19LHtrZXk6XCJkZWJ1Z1NldHVwXCIsdmFsdWU6ZnVuY3Rpb24oKXtcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQ/KGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLHRoaXMuc2V0RGVidWdNb2RlKCEwKSx0aGlzLl9id3BvaW50ZXI9dGhpcy5nZXRQcm9jZXNzaW5nSW1hZ2UoKSk6Y29uc29sZS5sb2coXCJkZWJ1Z1NldHVwKCkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgQnJvd3NlciBlbnZpcm9ubWVudHNcIil9fSx7a2V5OlwiZGVidWdEcmF3XCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5fYndwb2ludGVyLHRoaXMuZnJhbWVzaXplKSxJPW5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuY2FudmFzLndpZHRoKnRoaXMuY2FudmFzLmhlaWdodCo0KSx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLGc9MCxCPTA7ZzxBLmxlbmd0aDtnKyssQis9NCl7dmFyIEM9QVtnXTtJLmRhdGFbQiswXT1DLEkuZGF0YVtCKzFdPUMsSS5kYXRhW0IrMl09QyxJLmRhdGFbQiszXT0yNTV9dGhpcy5jdHgucHV0SW1hZ2VEYXRhKEksMCwwKTtmb3IodmFyIFE9dGhpcy5nZXRNYXJrZXJOdW0oKSxFPTA7RTxRO0UrKyl0aGlzLmRyYXdEZWJ1Z01hcmtlcih0aGlzLmdldE1hcmtlcihFKSl9fSx7a2V5OlwiZHJhd0RlYnVnTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9QS52ZXJ0ZXgsZz1BLnBvcyxCPXRoaXMuY3R4O0IubGluZVdpZHRoPTUsQi5zdHJva2VTdHlsZT1cInJlZFwiLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVswXVswXSxJWzBdWzFdKSxCLmxpbmVUbyhJWzFdWzBdLElbMV1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzJdWzBdLElbMl1bMV0pLEIubGluZVRvKElbM11bMF0sSVszXVsxXSksQi5zdHJva2UoKSxCLnN0cm9rZVN0eWxlPVwiZ3JlZW5cIixCLmJlZ2luUGF0aCgpLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5saW5lVG8oSVsyXVswXSxJWzJdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVszXVswXSxJWzNdWzFdKSxCLmxpbmVUbyhJWzBdWzBdLElbMF1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLmFyYyhnWzBdLGdbMV0sOCwwLDIqTWF0aC5QSSksQi5maWxsU3R5bGU9XCJyZWRcIixCLmZpbGwoKX19LHtrZXk6XCJsb2FkTWFya2VyXCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwibG9hZE11bHRpTWFya2VyXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRNdWx0aU1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXCJyZXR1cm5cIixBLnNlbnQpO2Nhc2UgMzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJsb2FkTkZUTWFya2VyXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9Mix0aGlzLmFydG9vbGtpdC5hZGRORlRNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIGc9QS5zZW50LHRoaXMubmZ0TWFya2VyQ291bnQ9ZysxLEEuYWJydXB0KFwicmV0dXJuXCIsZyk7Y2FzZSA1OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImdldFRyYW5zTWF0U3F1YXJlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdFNxdWFyZSh0aGlzLmlkLEEsSSksZy5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksZ319LHtrZXk6XCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcIix2YWx1ZTpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdC5zZXQoZyksdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmVDb250KHRoaXMuaWQsQSxJKSxCLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxCfX0se2tleTpcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlwidHJhbnNNYXRUb0dMTWF0XCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBudWxsPT1JJiYoST1uZXcgRmxvYXQ2NEFycmF5KDE2KSksSVswXT1BWzBdLElbNF09QVsxXSxJWzhdPUFbMl0sSVsxMl09QVszXSxJWzFdPUFbNF0sSVs1XT1BWzVdLElbOV09QVs2XSxJWzEzXT1BWzddLElbMl09QVs4XSxJWzZdPUFbOV0sSVsxMF09QVsxMF0sSVsxNF09QVsxMV0sSVszXT0wLElbN109MCxJWzExXT0wLElbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihJWzEyXSo9ZyxJWzEzXSo9ZyxJWzE0XSo9ZyksSX19LHtrZXk6XCJhcmdsQ2FtZXJhVmlld1JIZlwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtyZXR1cm4oQj1udWxsPT1JP25ldyBGbG9hdDY0QXJyYXkoMTYpOkkpWzBdPUFbMF0sQls0XT1BWzRdLEJbOF09QVs4XSxCWzEyXT1BWzEyXSxCWzFdPS1BWzFdLEJbNV09LUFbNV0sQls5XT0tQVs5XSxCWzEzXT0tQVsxM10sQlsyXT0tQVsyXSxCWzZdPS1BWzZdLEJbMTBdPS1BWzEwXSxCWzE0XT0tQVsxNF0sQlszXT0wLEJbN109MCxCWzExXT0wLEJbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihCWzEyXSo9ZyxCWzEzXSo9ZyxCWzE0XSo9ZyksQn19LHtrZXk6XCJkZXRlY3RNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fY29weUltYWdlVG9IZWFwKEEpP3RoaXMuYXJ0b29sa2l0LmRldGVjdE1hcmtlcih0aGlzLmlkKTotOTl9fSx7a2V5OlwiZ2V0TWFya2VyTnVtXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyTnVtKHRoaXMuaWQpfX0se2tleTpcImdldE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubWFya2VySW5mb319LHtrZXk6XCJnZXRORlRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TkZUTWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lk5GVE1hcmtlckluZm99fSx7a2V5Olwic2V0TWFya2VySW5mb1ZlcnRleFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMF09SVtnXVswXSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZysxXT1JW2ddWzFdO3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvVmVydGV4KHRoaXMuaWQsQSl9fSx7a2V5OlwiY2xvbmVNYXJrZXJJbmZvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQSkpfX0se2tleTpcImdldE11bHRpRWFjaE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE11bHRpRWFjaE1hcmtlcih0aGlzLmlkLEEsSSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm99fSx7a2V5OlwiZ2V0VHJhbnNmb3JtYXRpb25NYXRyaXhcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybV9tYXR9fSx7a2V5OlwiZ2V0Q2FtZXJhTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW1lcmFfbWF0fX0se2tleTpcImdldE1hcmtlclRyYW5zZm9ybWF0aW9uTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdH19LHtrZXk6XCJzZXREZWJ1Z01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0RGVidWdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0RGVidWdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0RGVidWdNb2RlKHRoaXMuaWQpfX0se2tleTpcImdldFByb2Nlc3NpbmdJbWFnZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2Nlc3NpbmdJbWFnZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMb2dMZXZlbChBKX19LHtrZXk6XCJnZXRMb2dMZXZlbFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldExvZ0xldmVsKCl9fSx7a2V5Olwic2V0TWFya2VySW5mb0RpclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hcmtlckluZm9EaXIodGhpcy5pZCxBLEkpfX0se2tleTpcInNldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFByb2plY3Rpb25OZWFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcInNldFByb2plY3Rpb25GYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0VGhyZXNob2xkTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZE1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0VGhyZXNob2xkXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZCh0aGlzLmlkLEEpfX0se2tleTpcImdldFRocmVzaG9sZFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZCh0aGlzLmlkKX19LHtrZXk6XCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0TWF0cml4Q29kZVR5cGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRNYXRyaXhDb2RlVHlwZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQpfX0se2tleTpcInNldExhYmVsaW5nTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMYWJlbGluZ01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRMYWJlbGluZ01vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMYWJlbGluZ01vZGUodGhpcy5pZCl9fSx7a2V5Olwic2V0UGF0dFJhdGlvXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRSYXRpbyh0aGlzLmlkLEEpfX0se2tleTpcImdldFBhdHRSYXRpb1wiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRSYXRpbyh0aGlzLmlkKX19LHtrZXk6XCJzZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldEltYWdlUHJvY01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRJbWFnZVByb2NNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0SW1hZ2VQcm9jTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJfaW5pdGlhbGl6ZVwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSSxnPXRoaXM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsKG5ldyBVKS5pbml0KCk7Y2FzZSAyOnJldHVybiB0aGlzLmFydG9vbGtpdD1BLnNlbnQsY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiQVJUb29sa2l0IGluaXRpYWxpemVkXCIpLEEubmV4dD02LHRoaXMuYXJ0b29sa2l0LmxvYWRDYW1lcmEodGhpcy5jYW1lcmFQYXJhbSk7Y2FzZSA2OnJldHVybiB0aGlzLmNhbWVyYUlkPUEuc2VudCxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJDYW1lcmEgcGFyYW1zIGxvYWRlZCB3aXRoIElEXCIsdGhpcy5jYW1lcmFJZCksdGhpcy5pZD10aGlzLmFydG9vbGtpdC5zZXR1cCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LHRoaXMuY2FtZXJhSWQpLGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkdvdCBJRCBmcm9tIHNldHVwXCIsdGhpcy5pZCksdGhpcy5faW5pdE5GVCgpLEk9YXJ0b29sa2l0LmZyYW1lTWFsbG9jLHRoaXMuZnJhbWVwb2ludGVyPUkuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplPUkuZnJhbWVzaXplLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1JLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5kYXRhSGVhcD1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplKSx0aGlzLnZpZGVvTHVtYT1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMudmlkZW9MdW1hUG9pbnRlcix0aGlzLmZyYW1lc2l6ZS80KSx0aGlzLmNhbWVyYV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkuY2FtZXJhLDE2KSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLnRyYW5zZm9ybSwxMiksdGhpcy5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKC4xKSx0aGlzLnNldFByb2plY3Rpb25GYXJQbGFuZSgxZTMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Zy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwibG9hZFwiLHRhcmdldDpnfSl9KSwxKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMpO2Nhc2UgMjM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfaW5pdE5GVFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuc2V0dXBBUjIodGhpcy5pZCl9fSx7a2V5OlwiX2NvcHlJbWFnZVRvSGVhcFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJO2lmKEF8fChBPXRoaXMuaW1hZ2UpLEEuZGF0YT9JPUEuZGF0YToodGhpcy5jdHguc2F2ZSgpLFwicG9ydHJhaXRcIj09PXRoaXMub3JpZW50YXRpb24/dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLmhlaWdodCx0aGlzLmNhbnZhcy53aWR0aCk6dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5jdHgucmVzdG9yZSgpLEk9dGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHRoaXMudmlkZW9MdW1hKWZvcih2YXIgZz0wLEI9MDtCPHRoaXMudmlkZW9TaXplO0IrKyl7dmFyIEM9SVtnKzBdLFE9SVtnKzFdLEU9SVtnKzJdO3RoaXMudmlkZW9MdW1hW0JdPUMrQytDK0UrUStRK1ErUT4+MyxnKz00fXJldHVybiEhdGhpcy5kYXRhSGVhcCYmKHRoaXMuZGF0YUhlYXAuc2V0KEkpLCEwKX19XSxbe2tleTpcImluaXRXaXRoRGltZW5zaW9uc1wiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMsUSl7dmFyIEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihJKXtmb3IoOzspc3dpdGNoKEkucHJldj1JLm5leHQpe2Nhc2UgMDpyZXR1cm4gRT1uZXcgQShnLEIsQyxRKSxJLm5leHQ9MyxFLl9pbml0aWFsaXplKCk7Y2FzZSAzOnJldHVybiBJLmFicnVwdChcInJldHVyblwiLEkuc2VudCk7Y2FzZSA0OmNhc2VcImVuZFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLGcsQyl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJpbml0V2l0aEltYWdlXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gSShnLEIsQyl7dmFyIFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIFE9Zy52aWRlb1dpZHRofHxnLndpZHRoLEU9Zy52aWRlb0hlaWdodHx8Zy5oZWlnaHQsSS5uZXh0PTQsQS5pbml0V2l0aERpbWVuc2lvbnMoUSxFLEIsQyk7Y2FzZSA0OnJldHVybihpPUkuc2VudCkuaW1hZ2U9ZyxJLmFicnVwdChcInJldHVyblwiLGkpO2Nhc2UgNzpjYXNlXCJlbmRcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxCKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1dKSxBfSgpO2NvbnN0IG49e0FSVG9vbGtpdDpVLEFSQ29udHJvbGxlcjpNfX0pKCksQi5kZWZhdWx0fSkoKX0pKTsiLCJcbmltcG9ydCB3b3JrZXIgZnJvbSBcIiEhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3dvcmtlci1sb2FkZXIvZGlzdC9ydW50aW1lL2lubGluZS5qc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBXb3JrZXJfZm4oKSB7XG4gIHJldHVybiB3b3JrZXIoXCIvKioqKioqLyAoKCkgPT4geyAvLyB3ZWJwYWNrQm9vdHN0cmFwXFxuLyoqKioqKi8gXFx0dmFyIF9fd2VicGFja19tb2R1bGVzX18gPSAoe1xcblxcbi8qKiovIFxcXCIuL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanNcXFwiOlxcbi8qISoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxcXFxuICAhKioqIC4vbm9kZV9tb2R1bGVzL0Bhci1qcy1vcmcvYXJ0b29sa2l0NS1qcy9kaXN0L0FSVG9vbGtpdC5qcyAqKiohXFxuICBcXFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxuLyoqKi8gKGZ1bmN0aW9uKG1vZHVsZSkge1xcblxcbiFmdW5jdGlvbihBLEkpeyB0cnVlP21vZHVsZS5leHBvcnRzPUkoKTowfShcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHNlbGY/c2VsZjp0aGlzLChmdW5jdGlvbigpe3JldHVybigoKT0+e3ZhciBBPXs3NTc6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDY2Nil9LDY2OTooQSxJLGcpPT57QS5leHBvcnRzPWcoNjA5KX0sNDQ4OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9ZygyNiksUT1nKDM3MiksRT1nKDMyNyksaT1nKDk3KSxvPWcoMTA5KSxEPWcoOTg1KSxhPWcoNjEpLHc9Zyg2NTUpLEY9ZygyNjMpO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEksZyl7dmFyIEcsaD1BLmRhdGEscz1BLmhlYWRlcnMsUj1BLnJlc3BvbnNlVHlwZTtmdW5jdGlvbiBVKCl7QS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi51bnN1YnNjcmliZShHKSxBLnNpZ25hbCYmQS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcXFwiYWJvcnRcXFwiLEcpfUIuaXNGb3JtRGF0YShoKSYmZGVsZXRlIHNbXFxcIkNvbnRlbnQtVHlwZVxcXCJdO3ZhciB5PW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLmF1dGgpe3ZhciB0PUEuYXV0aC51c2VybmFtZXx8XFxcIlxcXCIsUz1BLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEEuYXV0aC5wYXNzd29yZCkpOlxcXCJcXFwiO3MuQXV0aG9yaXphdGlvbj1cXFwiQmFzaWMgXFxcIitidG9hKHQrXFxcIjpcXFwiK1MpfXZhciBNPWkoQS5iYXNlVVJMLEEudXJsKTtmdW5jdGlvbiBuKCl7aWYoeSl7dmFyIEI9XFxcImdldEFsbFJlc3BvbnNlSGVhZGVyc1xcXCJpbiB5P28oeS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk6bnVsbCxRPXtkYXRhOlImJlxcXCJ0ZXh0XFxcIiE9PVImJlxcXCJqc29uXFxcIiE9PVI/eS5yZXNwb25zZTp5LnJlc3BvbnNlVGV4dCxzdGF0dXM6eS5zdGF0dXMsc3RhdHVzVGV4dDp5LnN0YXR1c1RleHQsaGVhZGVyczpCLGNvbmZpZzpBLHJlcXVlc3Q6eX07QygoZnVuY3Rpb24oQSl7SShBKSxVKCl9KSwoZnVuY3Rpb24oQSl7ZyhBKSxVKCl9KSxRKSx5PW51bGx9fWlmKHkub3BlbihBLm1ldGhvZC50b1VwcGVyQ2FzZSgpLEUoTSxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSx5LnRpbWVvdXQ9QS50aW1lb3V0LFxcXCJvbmxvYWRlbmRcXFwiaW4geT95Lm9ubG9hZGVuZD1uOnkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7eSYmND09PXkucmVhZHlTdGF0ZSYmKDAhPT15LnN0YXR1c3x8eS5yZXNwb25zZVVSTCYmMD09PXkucmVzcG9uc2VVUkwuaW5kZXhPZihcXFwiZmlsZTpcXFwiKSkmJnNldFRpbWVvdXQobil9LHkub25hYm9ydD1mdW5jdGlvbigpe3kmJihnKGEoXFxcIlJlcXVlc3QgYWJvcnRlZFxcXCIsQSxcXFwiRUNPTk5BQk9SVEVEXFxcIix5KSkseT1udWxsKX0seS5vbmVycm9yPWZ1bmN0aW9uKCl7ZyhhKFxcXCJOZXR3b3JrIEVycm9yXFxcIixBLG51bGwseSkpLHk9bnVsbH0seS5vbnRpbWVvdXQ9ZnVuY3Rpb24oKXt2YXIgST1BLnRpbWVvdXQ/XFxcInRpbWVvdXQgb2YgXFxcIitBLnRpbWVvdXQrXFxcIm1zIGV4Y2VlZGVkXFxcIjpcXFwidGltZW91dCBleGNlZWRlZFxcXCIsQj1BLnRyYW5zaXRpb25hbHx8dy50cmFuc2l0aW9uYWw7QS50aW1lb3V0RXJyb3JNZXNzYWdlJiYoST1BLnRpbWVvdXRFcnJvck1lc3NhZ2UpLGcoYShJLEEsQi5jbGFyaWZ5VGltZW91dEVycm9yP1xcXCJFVElNRURPVVRcXFwiOlxcXCJFQ09OTkFCT1JURURcXFwiLHkpKSx5PW51bGx9LEIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSl7dmFyIGM9KEEud2l0aENyZWRlbnRpYWxzfHxEKE0pKSYmQS54c3JmQ29va2llTmFtZT9RLnJlYWQoQS54c3JmQ29va2llTmFtZSk6dm9pZCAwO2MmJihzW0EueHNyZkhlYWRlck5hbWVdPWMpfVxcXCJzZXRSZXF1ZXN0SGVhZGVyXFxcImluIHkmJkIuZm9yRWFjaChzLChmdW5jdGlvbihBLEkpe3ZvaWQgMD09PWgmJlxcXCJjb250ZW50LXR5cGVcXFwiPT09SS50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBzW0ldOnkuc2V0UmVxdWVzdEhlYWRlcihJLEEpfSkpLEIuaXNVbmRlZmluZWQoQS53aXRoQ3JlZGVudGlhbHMpfHwoeS53aXRoQ3JlZGVudGlhbHM9ISFBLndpdGhDcmVkZW50aWFscyksUiYmXFxcImpzb25cXFwiIT09UiYmKHkucmVzcG9uc2VUeXBlPUEucmVzcG9uc2VUeXBlKSxcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5vbkRvd25sb2FkUHJvZ3Jlc3MmJnkuYWRkRXZlbnRMaXN0ZW5lcihcXFwicHJvZ3Jlc3NcXFwiLEEub25Eb3dubG9hZFByb2dyZXNzKSxcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5vblVwbG9hZFByb2dyZXNzJiZ5LnVwbG9hZCYmeS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcihcXFwicHJvZ3Jlc3NcXFwiLEEub25VcGxvYWRQcm9ncmVzcyksKEEuY2FuY2VsVG9rZW58fEEuc2lnbmFsKSYmKEc9ZnVuY3Rpb24oQSl7eSYmKGcoIUF8fEEmJkEudHlwZT9uZXcgRihcXFwiY2FuY2VsZWRcXFwiKTpBKSx5LmFib3J0KCkseT1udWxsKX0sQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi5zdWJzY3JpYmUoRyksQS5zaWduYWwmJihBLnNpZ25hbC5hYm9ydGVkP0coKTpBLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFxcXCJhYm9ydFxcXCIsRykpKSxofHwoaD1udWxsKSx5LnNlbmQoaCl9KSl9fSw2MDk6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1nKDg0OSksUT1nKDMyMSksRT1nKDE4NSksaT1mdW5jdGlvbiBBKEkpe3ZhciBnPW5ldyBRKEkpLGk9QyhRLnByb3RvdHlwZS5yZXF1ZXN0LGcpO3JldHVybiBCLmV4dGVuZChpLFEucHJvdG90eXBlLGcpLEIuZXh0ZW5kKGksZyksaS5jcmVhdGU9ZnVuY3Rpb24oZyl7cmV0dXJuIEEoRShJLGcpKX0saX0oZyg2NTUpKTtpLkF4aW9zPVEsaS5DYW5jZWw9ZygyNjMpLGkuQ2FuY2VsVG9rZW49Zyg5NzIpLGkuaXNDYW5jZWw9Zyg1MDIpLGkuVkVSU0lPTj1nKDI4OCkudmVyc2lvbixpLmFsbD1mdW5jdGlvbihBKXtyZXR1cm4gUHJvbWlzZS5hbGwoQSl9LGkuc3ByZWFkPWcoNzEzKSxpLmlzQXhpb3NFcnJvcj1nKDI2OCksQS5leHBvcnRzPWksQS5leHBvcnRzLmRlZmF1bHQ9aX0sMjYzOkE9PntcXFwidXNlIHN0cmljdFxcXCI7ZnVuY3Rpb24gSShBKXt0aGlzLm1lc3NhZ2U9QX1JLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblxcXCJDYW5jZWxcXFwiKyh0aGlzLm1lc3NhZ2U/XFxcIjogXFxcIit0aGlzLm1lc3NhZ2U6XFxcIlxcXCIpfSxJLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLEEuZXhwb3J0cz1JfSw5NzI6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDI2Myk7ZnVuY3Rpb24gQyhBKXtpZihcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uXFxcIik7dmFyIEk7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtJPUF9KSk7dmFyIGc9dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oQSl7aWYoZy5fbGlzdGVuZXJzKXt2YXIgSSxCPWcuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKEk9MDtJPEI7SSsrKWcuX2xpc3RlbmVyc1tJXShBKTtnLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oQSl7dmFyIEksQj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Zy5zdWJzY3JpYmUoQSksST1BfSkpLnRoZW4oQSk7cmV0dXJuIEIuY2FuY2VsPWZ1bmN0aW9uKCl7Zy51bnN1YnNjcmliZShJKX0sQn0sQSgoZnVuY3Rpb24oQSl7Zy5yZWFzb258fChnLnJlYXNvbj1uZXcgQihBKSxJKGcucmVhc29uKSl9KSl9Qy5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7dGhpcy5yZWFzb24/QSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKEEpOnRoaXMuX2xpc3RlbmVycz1bQV19LEMucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKEEpe2lmKHRoaXMuX2xpc3RlbmVycyl7dmFyIEk9dGhpcy5fbGlzdGVuZXJzLmluZGV4T2YoQSk7LTEhPT1JJiZ0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKEksMSl9fSxDLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBBO3JldHVybnt0b2tlbjpuZXcgQygoZnVuY3Rpb24oSSl7QT1JfSkpLGNhbmNlbDpBfX0sQS5leHBvcnRzPUN9LDUwMjpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4hKCFBfHwhQS5fX0NBTkNFTF9fKX19LDMyMTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPWcoMzI3KSxRPWcoNzgyKSxFPWcoNTcyKSxpPWcoMTg1KSxvPWcoODc1KSxEPW8udmFsaWRhdG9ycztmdW5jdGlvbiBhKEEpe3RoaXMuZGVmYXVsdHM9QSx0aGlzLmludGVyY2VwdG9ycz17cmVxdWVzdDpuZXcgUSxyZXNwb25zZTpuZXcgUX19YS5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihBKXtcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/KEE9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTpBPUF8fHt9LChBPWkodGhpcy5kZWZhdWx0cyxBKSkubWV0aG9kP0EubWV0aG9kPUEubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/QS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTpBLm1ldGhvZD1cXFwiZ2V0XFxcIjt2YXIgST1BLnRyYW5zaXRpb25hbDt2b2lkIDAhPT1JJiZvLmFzc2VydE9wdGlvbnMoSSx7c2lsZW50SlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxmb3JjZWRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKX0sITEpO3ZhciBnPVtdLEI9ITA7dGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKChmdW5jdGlvbihJKXtcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgSS5ydW5XaGVuJiYhMT09PUkucnVuV2hlbihBKXx8KEI9QiYmSS5zeW5jaHJvbm91cyxnLnVuc2hpZnQoSS5mdWxmaWxsZWQsSS5yZWplY3RlZCkpfSkpO3ZhciBDLFE9W107aWYodGhpcy5pbnRlcmNlcHRvcnMucmVzcG9uc2UuZm9yRWFjaCgoZnVuY3Rpb24oQSl7US5wdXNoKEEuZnVsZmlsbGVkLEEucmVqZWN0ZWQpfSkpLCFCKXt2YXIgYT1bRSx2b2lkIDBdO2ZvcihBcnJheS5wcm90b3R5cGUudW5zaGlmdC5hcHBseShhLGcpLGE9YS5jb25jYXQoUSksQz1Qcm9taXNlLnJlc29sdmUoQSk7YS5sZW5ndGg7KUM9Qy50aGVuKGEuc2hpZnQoKSxhLnNoaWZ0KCkpO3JldHVybiBDfWZvcih2YXIgdz1BO2cubGVuZ3RoOyl7dmFyIEY9Zy5zaGlmdCgpLEc9Zy5zaGlmdCgpO3RyeXt3PUYodyl9Y2F0Y2goQSl7RyhBKTticmVha319dHJ5e0M9RSh3KX1jYXRjaChBKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoQSl9Zm9yKDtRLmxlbmd0aDspQz1DLnRoZW4oUS5zaGlmdCgpLFEuc2hpZnQoKSk7cmV0dXJuIEN9LGEucHJvdG90eXBlLmdldFVyaT1mdW5jdGlvbihBKXtyZXR1cm4gQT1pKHRoaXMuZGVmYXVsdHMsQSksQyhBLnVybCxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXFxcPy8sXFxcIlxcXCIpfSxCLmZvckVhY2goW1xcXCJkZWxldGVcXFwiLFxcXCJnZXRcXFwiLFxcXCJoZWFkXFxcIixcXFwib3B0aW9uc1xcXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcpe3JldHVybiB0aGlzLnJlcXVlc3QoaShnfHx7fSx7bWV0aG9kOkEsdXJsOkksZGF0YTooZ3x8e30pLmRhdGF9KSl9fSkpLEIuZm9yRWFjaChbXFxcInBvc3RcXFwiLFxcXCJwdXRcXFwiLFxcXCJwYXRjaFxcXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcsQil7cmV0dXJuIHRoaXMucmVxdWVzdChpKEJ8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOmd9KSl9fSkpLEEuZXhwb3J0cz1hfSw3ODI6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQygpe3RoaXMuaGFuZGxlcnM9W119Qy5wcm90b3R5cGUudXNlPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6QSxyZWplY3RlZDpJLHN5bmNocm9ub3VzOiEhZyYmZy5zeW5jaHJvbm91cyxydW5XaGVuOmc/Zy5ydW5XaGVuOm51bGx9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfSxDLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihBKXt0aGlzLmhhbmRsZXJzW0FdJiYodGhpcy5oYW5kbGVyc1tBXT1udWxsKX0sQy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihBKXtCLmZvckVhY2godGhpcy5oYW5kbGVycywoZnVuY3Rpb24oSSl7bnVsbCE9PUkmJkEoSSl9KSl9LEEuZXhwb3J0cz1DfSw5NzooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoNzkzKSxDPWcoMzAzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSYmIUIoSSk/QyhBLEkpOkl9fSw2MTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoNDgxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQyxRKXt2YXIgRT1uZXcgRXJyb3IoQSk7cmV0dXJuIEIoRSxJLGcsQyxRKX19LDU3MjooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPWcoNTI3KSxRPWcoNTAyKSxFPWcoNjU1KSxpPWcoMjYzKTtmdW5jdGlvbiBvKEEpe2lmKEEuY2FuY2VsVG9rZW4mJkEuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpLEEuc2lnbmFsJiZBLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBpKFxcXCJjYW5jZWxlZFxcXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbyhBKSxBLmhlYWRlcnM9QS5oZWFkZXJzfHx7fSxBLmRhdGE9Qy5jYWxsKEEsQS5kYXRhLEEuaGVhZGVycyxBLnRyYW5zZm9ybVJlcXVlc3QpLEEuaGVhZGVycz1CLm1lcmdlKEEuaGVhZGVycy5jb21tb258fHt9LEEuaGVhZGVyc1tBLm1ldGhvZF18fHt9LEEuaGVhZGVycyksQi5mb3JFYWNoKFtcXFwiZGVsZXRlXFxcIixcXFwiZ2V0XFxcIixcXFwiaGVhZFxcXCIsXFxcInBvc3RcXFwiLFxcXCJwdXRcXFwiLFxcXCJwYXRjaFxcXCIsXFxcImNvbW1vblxcXCJdLChmdW5jdGlvbihJKXtkZWxldGUgQS5oZWFkZXJzW0ldfSkpLChBLmFkYXB0ZXJ8fEUuYWRhcHRlcikoQSkudGhlbigoZnVuY3Rpb24oSSl7cmV0dXJuIG8oQSksSS5kYXRhPUMuY2FsbChBLEkuZGF0YSxJLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSksSX0pLChmdW5jdGlvbihJKXtyZXR1cm4gUShJKXx8KG8oQSksSSYmSS5yZXNwb25zZSYmKEkucmVzcG9uc2UuZGF0YT1DLmNhbGwoQSxJLnJlc3BvbnNlLmRhdGEsSS5yZXNwb25zZS5oZWFkZXJzLEEudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoSSl9KSl9fSw0ODE6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQS5jb25maWc9SSxnJiYoQS5jb2RlPWcpLEEucmVxdWVzdD1CLEEucmVzcG9uc2U9QyxBLmlzQXhpb3NFcnJvcj0hMCxBLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnttZXNzYWdlOnRoaXMubWVzc2FnZSxuYW1lOnRoaXMubmFtZSxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9uLG51bWJlcjp0aGlzLm51bWJlcixmaWxlTmFtZTp0aGlzLmZpbGVOYW1lLGxpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbk51bWJlcjp0aGlzLmNvbHVtbk51bWJlcixzdGFjazp0aGlzLnN0YWNrLGNvbmZpZzp0aGlzLmNvbmZpZyxjb2RlOnRoaXMuY29kZSxzdGF0dXM6dGhpcy5yZXNwb25zZSYmdGhpcy5yZXNwb25zZS5zdGF0dXM/dGhpcy5yZXNwb25zZS5zdGF0dXM6bnVsbH19LEF9fSwxODU6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7ST1JfHx7fTt2YXIgZz17fTtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuIEIuaXNQbGFpbk9iamVjdChBKSYmQi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2UoQSxJKTpCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZSh7fSxJKTpCLmlzQXJyYXkoSSk/SS5zbGljZSgpOkl9ZnVuY3Rpb24gUShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKEFbZ10sSVtnXSl9ZnVuY3Rpb24gRShBKXtpZighQi5pc1VuZGVmaW5lZChJW0FdKSlyZXR1cm4gQyh2b2lkIDAsSVtBXSl9ZnVuY3Rpb24gaShnKXtyZXR1cm4gQi5pc1VuZGVmaW5lZChJW2ddKT9CLmlzVW5kZWZpbmVkKEFbZ10pP3ZvaWQgMDpDKHZvaWQgMCxBW2ddKTpDKHZvaWQgMCxJW2ddKX1mdW5jdGlvbiBvKGcpe3JldHVybiBnIGluIEk/QyhBW2ddLElbZ10pOmcgaW4gQT9DKHZvaWQgMCxBW2ddKTp2b2lkIDB9dmFyIEQ9e3VybDpFLG1ldGhvZDpFLGRhdGE6RSxiYXNlVVJMOmksdHJhbnNmb3JtUmVxdWVzdDppLHRyYW5zZm9ybVJlc3BvbnNlOmkscGFyYW1zU2VyaWFsaXplcjppLHRpbWVvdXQ6aSx0aW1lb3V0TWVzc2FnZTppLHdpdGhDcmVkZW50aWFsczppLGFkYXB0ZXI6aSxyZXNwb25zZVR5cGU6aSx4c3JmQ29va2llTmFtZTppLHhzcmZIZWFkZXJOYW1lOmksb25VcGxvYWRQcm9ncmVzczppLG9uRG93bmxvYWRQcm9ncmVzczppLGRlY29tcHJlc3M6aSxtYXhDb250ZW50TGVuZ3RoOmksbWF4Qm9keUxlbmd0aDppLHRyYW5zcG9ydDppLGh0dHBBZ2VudDppLGh0dHBzQWdlbnQ6aSxjYW5jZWxUb2tlbjppLHNvY2tldFBhdGg6aSxyZXNwb25zZUVuY29kaW5nOmksdmFsaWRhdGVTdGF0dXM6b307cmV0dXJuIEIuZm9yRWFjaChPYmplY3Qua2V5cyhBKS5jb25jYXQoT2JqZWN0LmtleXMoSSkpLChmdW5jdGlvbihBKXt2YXIgST1EW0FdfHxRLEM9SShBKTtCLmlzVW5kZWZpbmVkKEMpJiZJIT09b3x8KGdbQV09Qyl9KSksZ319LDI2OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg2MSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQz1nLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztnLnN0YXR1cyYmQyYmIUMoZy5zdGF0dXMpP0koQihcXFwiUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgY29kZSBcXFwiK2cuc3RhdHVzLGcuY29uZmlnLG51bGwsZy5yZXF1ZXN0LGcpKTpBKGcpfX0sNTI3OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9Zyg2NTUpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIFE9dGhpc3x8QztyZXR1cm4gQi5mb3JFYWNoKGcsKGZ1bmN0aW9uKGcpe0E9Zy5jYWxsKFEsQSxJKX0pKSxBfX0sNjU1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9ZygxNiksUT1nKDQ4MSksRT17XFxcIkNvbnRlbnQtVHlwZVxcXCI6XFxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFxcXCJ9O2Z1bmN0aW9uIGkoQSxJKXshQi5pc1VuZGVmaW5lZChBKSYmQi5pc1VuZGVmaW5lZChBW1xcXCJDb250ZW50LVR5cGVcXFwiXSkmJihBW1xcXCJDb250ZW50LVR5cGVcXFwiXT1JKX12YXIgbyxEPXt0cmFuc2l0aW9uYWw6e3NpbGVudEpTT05QYXJzaW5nOiEwLGZvcmNlZEpTT05QYXJzaW5nOiEwLGNsYXJpZnlUaW1lb3V0RXJyb3I6ITF9LGFkYXB0ZXI6KChcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0fHxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHByb2Nlc3MmJlxcXCJbb2JqZWN0IHByb2Nlc3NdXFxcIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSkmJihvPWcoNDQ4KSksbyksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oQSxJKXtyZXR1cm4gQyhJLFxcXCJBY2NlcHRcXFwiKSxDKEksXFxcIkNvbnRlbnQtVHlwZVxcXCIpLEIuaXNGb3JtRGF0YShBKXx8Qi5pc0FycmF5QnVmZmVyKEEpfHxCLmlzQnVmZmVyKEEpfHxCLmlzU3RyZWFtKEEpfHxCLmlzRmlsZShBKXx8Qi5pc0Jsb2IoQSk/QTpCLmlzQXJyYXlCdWZmZXJWaWV3KEEpP0EuYnVmZmVyOkIuaXNVUkxTZWFyY2hQYXJhbXMoQSk/KGkoSSxcXFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLThcXFwiKSxBLnRvU3RyaW5nKCkpOkIuaXNPYmplY3QoQSl8fEkmJlxcXCJhcHBsaWNhdGlvbi9qc29uXFxcIj09PUlbXFxcIkNvbnRlbnQtVHlwZVxcXCJdPyhpKEksXFxcImFwcGxpY2F0aW9uL2pzb25cXFwiKSxmdW5jdGlvbihBLEksZyl7aWYoQi5pc1N0cmluZyhBKSl0cnl7cmV0dXJuKDAsSlNPTi5wYXJzZSkoQSksQi50cmltKEEpfWNhdGNoKEEpe2lmKFxcXCJTeW50YXhFcnJvclxcXCIhPT1BLm5hbWUpdGhyb3cgQX1yZXR1cm4oMCxKU09OLnN0cmluZ2lmeSkoQSl9KEEpKTpBfV0sdHJhbnNmb3JtUmVzcG9uc2U6W2Z1bmN0aW9uKEEpe3ZhciBJPXRoaXMudHJhbnNpdGlvbmFsfHxELnRyYW5zaXRpb25hbCxnPUkmJkkuc2lsZW50SlNPTlBhcnNpbmcsQz1JJiZJLmZvcmNlZEpTT05QYXJzaW5nLEU9IWcmJlxcXCJqc29uXFxcIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKEV8fEMmJkIuaXNTdHJpbmcoQSkmJkEubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShBKX1jYXRjaChBKXtpZihFKXtpZihcXFwiU3ludGF4RXJyb3JcXFwiPT09QS5uYW1lKXRocm93IFEoQSx0aGlzLFxcXCJFX0pTT05fUEFSU0VcXFwiKTt0aHJvdyBBfX1yZXR1cm4gQX1dLHRpbWVvdXQ6MCx4c3JmQ29va2llTmFtZTpcXFwiWFNSRi1UT0tFTlxcXCIseHNyZkhlYWRlck5hbWU6XFxcIlgtWFNSRi1UT0tFTlxcXCIsbWF4Q29udGVudExlbmd0aDotMSxtYXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKEEpe3JldHVybiBBPj0yMDAmJkE8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDpcXFwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXFxcIn19fTtCLmZvckVhY2goW1xcXCJkZWxldGVcXFwiLFxcXCJnZXRcXFwiLFxcXCJoZWFkXFxcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT17fX0pKSxCLmZvckVhY2goW1xcXCJwb3N0XFxcIixcXFwicHV0XFxcIixcXFwicGF0Y2hcXFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPUIubWVyZ2UoRSl9KSksQS5leHBvcnRzPUR9LDI4ODpBPT57QS5leHBvcnRzPXt2ZXJzaW9uOlxcXCIwLjI0LjBcXFwifX0sODQ5OkE9PntcXFwidXNlIHN0cmljdFxcXCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBnPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxCPTA7QjxnLmxlbmd0aDtCKyspZ1tCXT1hcmd1bWVudHNbQl07cmV0dXJuIEEuYXBwbHkoSSxnKX19fSwzMjc6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KEEpLnJlcGxhY2UoLyUzQS9naSxcXFwiOlxcXCIpLnJlcGxhY2UoLyUyNC9nLFxcXCIkXFxcIikucmVwbGFjZSgvJTJDL2dpLFxcXCIsXFxcIikucmVwbGFjZSgvJTIwL2csXFxcIitcXFwiKS5yZXBsYWNlKC8lNUIvZ2ksXFxcIltcXFwiKS5yZXBsYWNlKC8lNUQvZ2ksXFxcIl1cXFwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe2lmKCFJKXJldHVybiBBO3ZhciBRO2lmKGcpUT1nKEkpO2Vsc2UgaWYoQi5pc1VSTFNlYXJjaFBhcmFtcyhJKSlRPUkudG9TdHJpbmcoKTtlbHNle3ZhciBFPVtdO0IuZm9yRWFjaChJLChmdW5jdGlvbihBLEkpe251bGwhPUEmJihCLmlzQXJyYXkoQSk/SSs9XFxcIltdXFxcIjpBPVtBXSxCLmZvckVhY2goQSwoZnVuY3Rpb24oQSl7Qi5pc0RhdGUoQSk/QT1BLnRvSVNPU3RyaW5nKCk6Qi5pc09iamVjdChBKSYmKEE9SlNPTi5zdHJpbmdpZnkoQSkpLEUucHVzaChDKEkpK1xcXCI9XFxcIitDKEEpKX0pKSl9KSksUT1FLmpvaW4oXFxcIiZcXFwiKX1pZihRKXt2YXIgaT1BLmluZGV4T2YoXFxcIiNcXFwiKTstMSE9PWkmJihBPUEuc2xpY2UoMCxpKSksQSs9KC0xPT09QS5pbmRleE9mKFxcXCI/XFxcIik/XFxcIj9cXFwiOlxcXCImXFxcIikrUX1yZXR1cm4gQX19LDMwMzpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBJP0EucmVwbGFjZSgvXFxcXC8rJC8sXFxcIlxcXCIpK1xcXCIvXFxcIitJLnJlcGxhY2UoL15cXFxcLysvLFxcXCJcXFwiKTpBfX0sMzcyOihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSxFKXt2YXIgaT1bXTtpLnB1c2goQStcXFwiPVxcXCIrZW5jb2RlVVJJQ29tcG9uZW50KEkpKSxCLmlzTnVtYmVyKGcpJiZpLnB1c2goXFxcImV4cGlyZXM9XFxcIituZXcgRGF0ZShnKS50b0dNVFN0cmluZygpKSxCLmlzU3RyaW5nKEMpJiZpLnB1c2goXFxcInBhdGg9XFxcIitDKSxCLmlzU3RyaW5nKFEpJiZpLnB1c2goXFxcImRvbWFpbj1cXFwiK1EpLCEwPT09RSYmaS5wdXNoKFxcXCJzZWN1cmVcXFwiKSxkb2N1bWVudC5jb29raWU9aS5qb2luKFxcXCI7IFxcXCIpfSxyZWFkOmZ1bmN0aW9uKEEpe3ZhciBJPWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKFxcXCIoXnw7XFxcXFxcXFxzKikoXFxcIitBK1xcXCIpPShbXjtdKilcXFwiKSk7cmV0dXJuIEk/ZGVjb2RlVVJJQ29tcG9uZW50KElbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihBKXt0aGlzLndyaXRlKEEsXFxcIlxcXCIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX19LDc5MzpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4vXihbYS16XVthLXpcXFxcZFxcXFwrXFxcXC1cXFxcLl0qOik/XFxcXC9cXFxcLy9pLnRlc3QoQSl9fSwyNjg6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIm9iamVjdFxcXCI9PXR5cGVvZiBBJiYhMD09PUEuaXNBeGlvc0Vycm9yfX0sOTg1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/ZnVuY3Rpb24oKXt2YXIgQSxJPS8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFxcXCJhXFxcIik7ZnVuY3Rpb24gQyhBKXt2YXIgQj1BO3JldHVybiBJJiYoZy5zZXRBdHRyaWJ1dGUoXFxcImhyZWZcXFwiLEIpLEI9Zy5ocmVmKSxnLnNldEF0dHJpYnV0ZShcXFwiaHJlZlxcXCIsQikse2hyZWY6Zy5ocmVmLHByb3RvY29sOmcucHJvdG9jb2w/Zy5wcm90b2NvbC5yZXBsYWNlKC86JC8sXFxcIlxcXCIpOlxcXCJcXFwiLGhvc3Q6Zy5ob3N0LHNlYXJjaDpnLnNlYXJjaD9nLnNlYXJjaC5yZXBsYWNlKC9eXFxcXD8vLFxcXCJcXFwiKTpcXFwiXFxcIixoYXNoOmcuaGFzaD9nLmhhc2gucmVwbGFjZSgvXiMvLFxcXCJcXFwiKTpcXFwiXFxcIixob3N0bmFtZTpnLmhvc3RuYW1lLHBvcnQ6Zy5wb3J0LHBhdGhuYW1lOlxcXCIvXFxcIj09PWcucGF0aG5hbWUuY2hhckF0KDApP2cucGF0aG5hbWU6XFxcIi9cXFwiK2cucGF0aG5hbWV9fXJldHVybiBBPUMod2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKEkpe3ZhciBnPUIuaXNTdHJpbmcoSSk/QyhJKTpJO3JldHVybiBnLnByb3RvY29sPT09QS5wcm90b2NvbCYmZy5ob3N0PT09QS5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sMTY6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7Qi5mb3JFYWNoKEEsKGZ1bmN0aW9uKGcsQil7QiE9PUkmJkIudG9VcHBlckNhc2UoKT09PUkudG9VcHBlckNhc2UoKSYmKEFbSV09ZyxkZWxldGUgQVtCXSl9KSl9fSwxMDk6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1bXFxcImFnZVxcXCIsXFxcImF1dGhvcml6YXRpb25cXFwiLFxcXCJjb250ZW50LWxlbmd0aFxcXCIsXFxcImNvbnRlbnQtdHlwZVxcXCIsXFxcImV0YWdcXFwiLFxcXCJleHBpcmVzXFxcIixcXFwiZnJvbVxcXCIsXFxcImhvc3RcXFwiLFxcXCJpZi1tb2RpZmllZC1zaW5jZVxcXCIsXFxcImlmLXVubW9kaWZpZWQtc2luY2VcXFwiLFxcXCJsYXN0LW1vZGlmaWVkXFxcIixcXFwibG9jYXRpb25cXFwiLFxcXCJtYXgtZm9yd2FyZHNcXFwiLFxcXCJwcm94eS1hdXRob3JpemF0aW9uXFxcIixcXFwicmVmZXJlclxcXCIsXFxcInJldHJ5LWFmdGVyXFxcIixcXFwidXNlci1hZ2VudFxcXCJdO0EuZXhwb3J0cz1mdW5jdGlvbihBKXt2YXIgSSxnLFEsRT17fTtyZXR1cm4gQT8oQi5mb3JFYWNoKEEuc3BsaXQoXFxcIlxcXFxuXFxcIiksKGZ1bmN0aW9uKEEpe2lmKFE9QS5pbmRleE9mKFxcXCI6XFxcIiksST1CLnRyaW0oQS5zdWJzdHIoMCxRKSkudG9Mb3dlckNhc2UoKSxnPUIudHJpbShBLnN1YnN0cihRKzEpKSxJKXtpZihFW0ldJiZDLmluZGV4T2YoSSk+PTApcmV0dXJuO0VbSV09XFxcInNldC1jb29raWVcXFwiPT09ST8oRVtJXT9FW0ldOltdKS5jb25jYXQoW2ddKTpFW0ldP0VbSV0rXFxcIiwgXFxcIitnOmd9fSkpLEUpOkV9fSw3MTM6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KG51bGwsSSl9fX0sODc1OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9ZygyODgpLnZlcnNpb24sQz17fTtbXFxcIm9iamVjdFxcXCIsXFxcImJvb2xlYW5cXFwiLFxcXCJudW1iZXJcXFwiLFxcXCJmdW5jdGlvblxcXCIsXFxcInN0cmluZ1xcXCIsXFxcInN5bWJvbFxcXCJdLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7Q1tBXT1mdW5jdGlvbihnKXtyZXR1cm4gdHlwZW9mIGc9PT1BfHxcXFwiYVxcXCIrKEk8MT9cXFwibiBcXFwiOlxcXCIgXFxcIikrQX19KSk7dmFyIFE9e307Qy50cmFuc2l0aW9uYWw9ZnVuY3Rpb24oQSxJLGcpe2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm5cXFwiW0F4aW9zIHZcXFwiK0IrXFxcIl0gVHJhbnNpdGlvbmFsIG9wdGlvbiAnXFxcIitBK1xcXCInXFxcIitJKyhnP1xcXCIuIFxcXCIrZzpcXFwiXFxcIil9cmV0dXJuIGZ1bmN0aW9uKGcsQixFKXtpZighMT09PUEpdGhyb3cgbmV3IEVycm9yKEMoQixcXFwiIGhhcyBiZWVuIHJlbW92ZWRcXFwiKyhJP1xcXCIgaW4gXFxcIitJOlxcXCJcXFwiKSkpO3JldHVybiBJJiYhUVtCXSYmKFFbQl09ITAsY29uc29sZS53YXJuKEMoQixcXFwiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdlxcXCIrSStcXFwiIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5lYXIgZnV0dXJlXFxcIikpKSwhQXx8QShnLEIsRSl9fSxBLmV4cG9ydHM9e2Fzc2VydE9wdGlvbnM6ZnVuY3Rpb24oQSxJLGcpe2lmKFxcXCJvYmplY3RcXFwiIT10eXBlb2YgQSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0XFxcIik7Zm9yKHZhciBCPU9iamVjdC5rZXlzKEEpLEM9Qi5sZW5ndGg7Qy0tID4wOyl7dmFyIFE9QltDXSxFPUlbUV07aWYoRSl7dmFyIGk9QVtRXSxvPXZvaWQgMD09PWl8fEUoaSxRLEEpO2lmKCEwIT09byl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJvcHRpb24gXFxcIitRK1xcXCIgbXVzdCBiZSBcXFwiK28pfWVsc2UgaWYoITAhPT1nKXRocm93IEVycm9yKFxcXCJVbmtub3duIG9wdGlvbiBcXFwiK1EpfX0sdmFsaWRhdG9yczpDfX0sODY3OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NDkpLEM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBRKEEpe3JldHVyblxcXCJbb2JqZWN0IEFycmF5XVxcXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gRShBKXtyZXR1cm4gdm9pZCAwPT09QX1mdW5jdGlvbiBpKEEpe3JldHVybiBudWxsIT09QSYmXFxcIm9iamVjdFxcXCI9PXR5cGVvZiBBfWZ1bmN0aW9uIG8oQSl7aWYoXFxcIltvYmplY3QgT2JqZWN0XVxcXCIhPT1DLmNhbGwoQSkpcmV0dXJuITE7dmFyIEk9T2JqZWN0LmdldFByb3RvdHlwZU9mKEEpO3JldHVybiBudWxsPT09SXx8ST09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gRChBKXtyZXR1cm5cXFwiW29iamVjdCBGdW5jdGlvbl1cXFwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIGEoQSxJKXtpZihudWxsIT1BKWlmKFxcXCJvYmplY3RcXFwiIT10eXBlb2YgQSYmKEE9W0FdKSxRKEEpKWZvcih2YXIgZz0wLEI9QS5sZW5ndGg7ZzxCO2crKylJLmNhbGwobnVsbCxBW2ddLGcsQSk7ZWxzZSBmb3IodmFyIEMgaW4gQSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQSxDKSYmSS5jYWxsKG51bGwsQVtDXSxDLEEpfUEuZXhwb3J0cz17aXNBcnJheTpRLGlzQXJyYXlCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIltvYmplY3QgQXJyYXlCdWZmZXJdXFxcIj09PUMuY2FsbChBKX0saXNCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGwhPT1BJiYhRShBKSYmbnVsbCE9PUEuY29uc3RydWN0b3ImJiFFKEEuY29uc3RydWN0b3IpJiZcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlciYmQS5jb25zdHJ1Y3Rvci5pc0J1ZmZlcihBKX0saXNGb3JtRGF0YTpmdW5jdGlvbihBKXtyZXR1cm5cXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIEZvcm1EYXRhJiZBIGluc3RhbmNlb2YgRm9ybURhdGF9LGlzQXJyYXlCdWZmZXJWaWV3OmZ1bmN0aW9uKEEpe3JldHVyblxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoQSk6QSYmQS5idWZmZXImJkEuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9LGlzU3RyaW5nOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQX0saXNOdW1iZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcIm51bWJlclxcXCI9PXR5cGVvZiBBfSxpc09iamVjdDppLGlzUGxhaW5PYmplY3Q6byxpc1VuZGVmaW5lZDpFLGlzRGF0ZTpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBEYXRlXVxcXCI9PT1DLmNhbGwoQSl9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBGaWxlXVxcXCI9PT1DLmNhbGwoQSl9LGlzQmxvYjpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBCbG9iXVxcXCI9PT1DLmNhbGwoQSl9LGlzRnVuY3Rpb246RCxpc1N0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaShBKSYmRChBLnBpcGUpfSxpc1VSTFNlYXJjaFBhcmFtczpmdW5jdGlvbihBKXtyZXR1cm5cXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmQSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc30saXNTdGFuZGFyZEJyb3dzZXJFbnY6ZnVuY3Rpb24oKXtyZXR1cm4oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBuYXZpZ2F0b3J8fFxcXCJSZWFjdE5hdGl2ZVxcXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXFxcIk5hdGl2ZVNjcmlwdFxcXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXFxcIk5TXFxcIiE9PW5hdmlnYXRvci5wcm9kdWN0KSYmXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiB3aW5kb3cmJlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZG9jdW1lbnR9LGZvckVhY2g6YSxtZXJnZTpmdW5jdGlvbiBBKCl7dmFyIEk9e307ZnVuY3Rpb24gZyhnLEIpe28oSVtCXSkmJm8oZyk/SVtCXT1BKElbQl0sZyk6byhnKT9JW0JdPUEoe30sZyk6UShnKT9JW0JdPWcuc2xpY2UoKTpJW0JdPWd9Zm9yKHZhciBCPTAsQz1hcmd1bWVudHMubGVuZ3RoO0I8QztCKyspYShhcmd1bWVudHNbQl0sZyk7cmV0dXJuIEl9LGV4dGVuZDpmdW5jdGlvbihBLEksZyl7cmV0dXJuIGEoSSwoZnVuY3Rpb24oSSxDKXtBW0NdPWcmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBJP0IoSSxnKTpJfSkpLEF9LHRyaW06ZnVuY3Rpb24oQSl7cmV0dXJuIEEudHJpbT9BLnRyaW0oKTpBLnJlcGxhY2UoL15cXFxccyt8XFxcXHMrJC9nLFxcXCJcXFwiKX0sc3RyaXBCT006ZnVuY3Rpb24oQSl7cmV0dXJuIDY1Mjc5PT09QS5jaGFyQ29kZUF0KDApJiYoQT1BLnNsaWNlKDEpKSxBfX19LDY2NjpBPT57dmFyIEk9ZnVuY3Rpb24oQSl7XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBJLGc9T2JqZWN0LnByb3RvdHlwZSxCPWcuaGFzT3duUHJvcGVydHksQz1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxRPUMuaXRlcmF0b3J8fFxcXCJAQGl0ZXJhdG9yXFxcIixFPUMuYXN5bmNJdGVyYXRvcnx8XFxcIkBAYXN5bmNJdGVyYXRvclxcXCIsaT1DLnRvU3RyaW5nVGFnfHxcXFwiQEB0b1N0cmluZ1RhZ1xcXCI7ZnVuY3Rpb24gbyhBLEksZyl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSxBW0ldfXRyeXtvKHt9LFxcXCJcXFwiKX1jYXRjaChBKXtvPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gQVtJXT1nfX1mdW5jdGlvbiBEKEEsSSxnLEIpe3ZhciBDPUkmJkkucHJvdG90eXBlIGluc3RhbmNlb2YgUj9JOlIsUT1PYmplY3QuY3JlYXRlKEMucHJvdG90eXBlKSxFPW5ldyBZKEJ8fFtdKTtyZXR1cm4gUS5faW52b2tlPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQj13O3JldHVybiBmdW5jdGlvbihDLFEpe2lmKEI9PT1HKXRocm93IG5ldyBFcnJvcihcXFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1xcXCIpO2lmKEI9PT1oKXtpZihcXFwidGhyb3dcXFwiPT09Qyl0aHJvdyBRO3JldHVybiBKKCl9Zm9yKGcubWV0aG9kPUMsZy5hcmc9UTs7KXt2YXIgRT1nLmRlbGVnYXRlO2lmKEUpe3ZhciBpPWsoRSxnKTtpZihpKXtpZihpPT09cyljb250aW51ZTtyZXR1cm4gaX19aWYoXFxcIm5leHRcXFwiPT09Zy5tZXRob2QpZy5zZW50PWcuX3NlbnQ9Zy5hcmc7ZWxzZSBpZihcXFwidGhyb3dcXFwiPT09Zy5tZXRob2Qpe2lmKEI9PT13KXRocm93IEI9aCxnLmFyZztnLmRpc3BhdGNoRXhjZXB0aW9uKGcuYXJnKX1lbHNlXFxcInJldHVyblxcXCI9PT1nLm1ldGhvZCYmZy5hYnJ1cHQoXFxcInJldHVyblxcXCIsZy5hcmcpO0I9Rzt2YXIgbz1hKEEsSSxnKTtpZihcXFwibm9ybWFsXFxcIj09PW8udHlwZSl7aWYoQj1nLmRvbmU/aDpGLG8uYXJnPT09cyljb250aW51ZTtyZXR1cm57dmFsdWU6by5hcmcsZG9uZTpnLmRvbmV9fVxcXCJ0aHJvd1xcXCI9PT1vLnR5cGUmJihCPWgsZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1vLmFyZyl9fX0oQSxnLEUpLFF9ZnVuY3Rpb24gYShBLEksZyl7dHJ5e3JldHVybnt0eXBlOlxcXCJub3JtYWxcXFwiLGFyZzpBLmNhbGwoSSxnKX19Y2F0Y2goQSl7cmV0dXJue3R5cGU6XFxcInRocm93XFxcIixhcmc6QX19fUEud3JhcD1EO3ZhciB3PVxcXCJzdXNwZW5kZWRTdGFydFxcXCIsRj1cXFwic3VzcGVuZGVkWWllbGRcXFwiLEc9XFxcImV4ZWN1dGluZ1xcXCIsaD1cXFwiY29tcGxldGVkXFxcIixzPXt9O2Z1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gVSgpe31mdW5jdGlvbiB5KCl7fXZhciB0PXt9O28odCxRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpO3ZhciBTPU9iamVjdC5nZXRQcm90b3R5cGVPZixNPVMmJlMoUyhlKFtdKSkpO00mJk0hPT1nJiZCLmNhbGwoTSxRKSYmKHQ9TSk7dmFyIG49eS5wcm90b3R5cGU9Ui5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0KTtmdW5jdGlvbiBjKEEpe1tcXFwibmV4dFxcXCIsXFxcInRocm93XFxcIixcXFwicmV0dXJuXFxcIl0uZm9yRWFjaCgoZnVuY3Rpb24oSSl7byhBLEksKGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9pbnZva2UoSSxBKX0pKX0pKX1mdW5jdGlvbiByKEEsSSl7ZnVuY3Rpb24gZyhDLFEsRSxpKXt2YXIgbz1hKEFbQ10sQSxRKTtpZihcXFwidGhyb3dcXFwiIT09by50eXBlKXt2YXIgRD1vLmFyZyx3PUQudmFsdWU7cmV0dXJuIHcmJlxcXCJvYmplY3RcXFwiPT10eXBlb2YgdyYmQi5jYWxsKHcsXFxcIl9fYXdhaXRcXFwiKT9JLnJlc29sdmUody5fX2F3YWl0KS50aGVuKChmdW5jdGlvbihBKXtnKFxcXCJuZXh0XFxcIixBLEUsaSl9KSwoZnVuY3Rpb24oQSl7ZyhcXFwidGhyb3dcXFwiLEEsRSxpKX0pKTpJLnJlc29sdmUodykudGhlbigoZnVuY3Rpb24oQSl7RC52YWx1ZT1BLEUoRCl9KSwoZnVuY3Rpb24oQSl7cmV0dXJuIGcoXFxcInRocm93XFxcIixBLEUsaSl9KSl9aShvLmFyZyl9dmFyIEM7dGhpcy5faW52b2tlPWZ1bmN0aW9uKEEsQil7ZnVuY3Rpb24gUSgpe3JldHVybiBuZXcgSSgoZnVuY3Rpb24oSSxDKXtnKEEsQixJLEMpfSkpfXJldHVybiBDPUM/Qy50aGVuKFEsUSk6USgpfX1mdW5jdGlvbiBrKEEsZyl7dmFyIEI9QS5pdGVyYXRvcltnLm1ldGhvZF07aWYoQj09PUkpe2lmKGcuZGVsZWdhdGU9bnVsbCxcXFwidGhyb3dcXFwiPT09Zy5tZXRob2Qpe2lmKEEuaXRlcmF0b3IucmV0dXJuJiYoZy5tZXRob2Q9XFxcInJldHVyblxcXCIsZy5hcmc9SSxrKEEsZyksXFxcInRocm93XFxcIj09PWcubWV0aG9kKSlyZXR1cm4gcztnLm1ldGhvZD1cXFwidGhyb3dcXFwiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXFxcIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJ3Rocm93JyBtZXRob2RcXFwiKX1yZXR1cm4gc312YXIgQz1hKEIsQS5pdGVyYXRvcixnLmFyZyk7aWYoXFxcInRocm93XFxcIj09PUMudHlwZSlyZXR1cm4gZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1DLmFyZyxnLmRlbGVnYXRlPW51bGwsczt2YXIgUT1DLmFyZztyZXR1cm4gUT9RLmRvbmU/KGdbQS5yZXN1bHROYW1lXT1RLnZhbHVlLGcubmV4dD1BLm5leHRMb2MsXFxcInJldHVyblxcXCIhPT1nLm1ldGhvZCYmKGcubWV0aG9kPVxcXCJuZXh0XFxcIixnLmFyZz1JKSxnLmRlbGVnYXRlPW51bGwscyk6UTooZy5tZXRob2Q9XFxcInRocm93XFxcIixnLmFyZz1uZXcgVHlwZUVycm9yKFxcXCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdFxcXCIpLGcuZGVsZWdhdGU9bnVsbCxzKX1mdW5jdGlvbiBLKEEpe3ZhciBJPXt0cnlMb2M6QVswXX07MSBpbiBBJiYoSS5jYXRjaExvYz1BWzFdKSwyIGluIEEmJihJLmZpbmFsbHlMb2M9QVsyXSxJLmFmdGVyTG9jPUFbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKEkpfWZ1bmN0aW9uIE4oQSl7dmFyIEk9QS5jb21wbGV0aW9ufHx7fTtJLnR5cGU9XFxcIm5vcm1hbFxcXCIsZGVsZXRlIEkuYXJnLEEuY29tcGxldGlvbj1JfWZ1bmN0aW9uIFkoQSl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOlxcXCJyb290XFxcIn1dLEEuZm9yRWFjaChLLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIGUoQSl7aWYoQSl7dmFyIGc9QVtRXTtpZihnKXJldHVybiBnLmNhbGwoQSk7aWYoXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIEEubmV4dClyZXR1cm4gQTtpZighaXNOYU4oQS5sZW5ndGgpKXt2YXIgQz0tMSxFPWZ1bmN0aW9uIGcoKXtmb3IoOysrQzxBLmxlbmd0aDspaWYoQi5jYWxsKEEsQykpcmV0dXJuIGcudmFsdWU9QVtDXSxnLmRvbmU9ITEsZztyZXR1cm4gZy52YWx1ZT1JLGcuZG9uZT0hMCxnfTtyZXR1cm4gRS5uZXh0PUV9fXJldHVybntuZXh0Okp9fWZ1bmN0aW9uIEooKXtyZXR1cm57dmFsdWU6SSxkb25lOiEwfX1yZXR1cm4gVS5wcm90b3R5cGU9eSxvKG4sXFxcImNvbnN0cnVjdG9yXFxcIix5KSxvKHksXFxcImNvbnN0cnVjdG9yXFxcIixVKSxVLmRpc3BsYXlOYW1lPW8oeSxpLFxcXCJHZW5lcmF0b3JGdW5jdGlvblxcXCIpLEEuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbihBKXt2YXIgST1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQSYmQS5jb25zdHJ1Y3RvcjtyZXR1cm4hIUkmJihJPT09VXx8XFxcIkdlbmVyYXRvckZ1bmN0aW9uXFxcIj09PShJLmRpc3BsYXlOYW1lfHxJLm5hbWUpKX0sQS5tYXJrPWZ1bmN0aW9uKEEpe3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKEEseSk6KEEuX19wcm90b19fPXksbyhBLGksXFxcIkdlbmVyYXRvckZ1bmN0aW9uXFxcIikpLEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobiksQX0sQS5hd3JhcD1mdW5jdGlvbihBKXtyZXR1cm57X19hd2FpdDpBfX0sYyhyLnByb3RvdHlwZSksbyhyLnByb3RvdHlwZSxFLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLEEuQXN5bmNJdGVyYXRvcj1yLEEuYXN5bmM9ZnVuY3Rpb24oSSxnLEIsQyxRKXt2b2lkIDA9PT1RJiYoUT1Qcm9taXNlKTt2YXIgRT1uZXcgcihEKEksZyxCLEMpLFEpO3JldHVybiBBLmlzR2VuZXJhdG9yRnVuY3Rpb24oZyk/RTpFLm5leHQoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gQS5kb25lP0EudmFsdWU6RS5uZXh0KCl9KSl9LGMobiksbyhuLGksXFxcIkdlbmVyYXRvclxcXCIpLG8obixRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLG8obixcXFwidG9TdHJpbmdcXFwiLChmdW5jdGlvbigpe3JldHVyblxcXCJbb2JqZWN0IEdlbmVyYXRvcl1cXFwifSkpLEEua2V5cz1mdW5jdGlvbihBKXt2YXIgST1bXTtmb3IodmFyIGcgaW4gQSlJLnB1c2goZyk7cmV0dXJuIEkucmV2ZXJzZSgpLGZ1bmN0aW9uIGcoKXtmb3IoO0kubGVuZ3RoOyl7dmFyIEI9SS5wb3AoKTtpZihCIGluIEEpcmV0dXJuIGcudmFsdWU9QixnLmRvbmU9ITEsZ31yZXR1cm4gZy5kb25lPSEwLGd9fSxBLnZhbHVlcz1lLFkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZLHJlc2V0OmZ1bmN0aW9uKEEpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PUksdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD1cXFwibmV4dFxcXCIsdGhpcy5hcmc9SSx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChOKSwhQSlmb3IodmFyIGcgaW4gdGhpcylcXFwidFxcXCI9PT1nLmNoYXJBdCgwKSYmQi5jYWxsKHRoaXMsZykmJiFpc05hTigrZy5zbGljZSgxKSkmJih0aGlzW2ddPUkpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciBBPXRoaXMudHJ5RW50cmllc1swXS5jb21wbGV0aW9uO2lmKFxcXCJ0aHJvd1xcXCI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24oQSl7aWYodGhpcy5kb25lKXRocm93IEE7dmFyIGc9dGhpcztmdW5jdGlvbiBDKEIsQyl7cmV0dXJuIGkudHlwZT1cXFwidGhyb3dcXFwiLGkuYXJnPUEsZy5uZXh0PUIsQyYmKGcubWV0aG9kPVxcXCJuZXh0XFxcIixnLmFyZz1JKSwhIUN9Zm9yKHZhciBRPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtRPj0wOy0tUSl7dmFyIEU9dGhpcy50cnlFbnRyaWVzW1FdLGk9RS5jb21wbGV0aW9uO2lmKFxcXCJyb290XFxcIj09PUUudHJ5TG9jKXJldHVybiBDKFxcXCJlbmRcXFwiKTtpZihFLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgbz1CLmNhbGwoRSxcXFwiY2F0Y2hMb2NcXFwiKSxEPUIuY2FsbChFLFxcXCJmaW5hbGx5TG9jXFxcIik7aWYobyYmRCl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfWVsc2UgaWYobyl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCl9ZWxzZXtpZighRCl0aHJvdyBuZXcgRXJyb3IoXFxcInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5XFxcIik7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2c+PTA7LS1nKXt2YXIgQz10aGlzLnRyeUVudHJpZXNbZ107aWYoQy50cnlMb2M8PXRoaXMucHJldiYmQi5jYWxsKEMsXFxcImZpbmFsbHlMb2NcXFwiKSYmdGhpcy5wcmV2PEMuZmluYWxseUxvYyl7dmFyIFE9QzticmVha319USYmKFxcXCJicmVha1xcXCI9PT1BfHxcXFwiY29udGludWVcXFwiPT09QSkmJlEudHJ5TG9jPD1JJiZJPD1RLmZpbmFsbHlMb2MmJihRPW51bGwpO3ZhciBFPVE/US5jb21wbGV0aW9uOnt9O3JldHVybiBFLnR5cGU9QSxFLmFyZz1JLFE/KHRoaXMubWV0aG9kPVxcXCJuZXh0XFxcIix0aGlzLm5leHQ9US5maW5hbGx5TG9jLHMpOnRoaXMuY29tcGxldGUoRSl9LGNvbXBsZXRlOmZ1bmN0aW9uKEEsSSl7aWYoXFxcInRocm93XFxcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm5cXFwiYnJlYWtcXFwiPT09QS50eXBlfHxcXFwiY29udGludWVcXFwiPT09QS50eXBlP3RoaXMubmV4dD1BLmFyZzpcXFwicmV0dXJuXFxcIj09PUEudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPUEuYXJnLHRoaXMubWV0aG9kPVxcXCJyZXR1cm5cXFwiLHRoaXMubmV4dD1cXFwiZW5kXFxcIik6XFxcIm5vcm1hbFxcXCI9PT1BLnR5cGUmJkkmJih0aGlzLm5leHQ9SSksc30sZmluaXNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLmZpbmFsbHlMb2M9PT1BKXJldHVybiB0aGlzLmNvbXBsZXRlKGcuY29tcGxldGlvbixnLmFmdGVyTG9jKSxOKGcpLHN9fSxjYXRjaDpmdW5jdGlvbihBKXtmb3IodmFyIEk9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO0k+PTA7LS1JKXt2YXIgZz10aGlzLnRyeUVudHJpZXNbSV07aWYoZy50cnlMb2M9PT1BKXt2YXIgQj1nLmNvbXBsZXRpb247aWYoXFxcInRocm93XFxcIj09PUIudHlwZSl7dmFyIEM9Qi5hcmc7TihnKX1yZXR1cm4gQ319dGhyb3cgbmV3IEVycm9yKFxcXCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHRcXFwiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbihBLGcsQil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOmUoQSkscmVzdWx0TmFtZTpnLG5leHRMb2M6Qn0sXFxcIm5leHRcXFwiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1JKSxzfX0sQX0oQS5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPUl9Y2F0Y2goQSl7XFxcIm9iamVjdFxcXCI9PXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXMucmVnZW5lcmF0b3JSdW50aW1lPUk6RnVuY3Rpb24oXFxcInJcXFwiLFxcXCJyZWdlbmVyYXRvclJ1bnRpbWUgPSByXFxcIikoSSl9fSw2NTQ6KCk9Pnt9LDIzMTooKT0+e30sNzAzOigpPT57fX0sST17fTtmdW5jdGlvbiBnKEIpe3ZhciBDPUlbQl07aWYodm9pZCAwIT09QylyZXR1cm4gQy5leHBvcnRzO3ZhciBRPUlbQl09e2V4cG9ydHM6e319O3JldHVybiBBW0JdKFEsUS5leHBvcnRzLGcpLFEuZXhwb3J0c31nLm49QT0+e3ZhciBJPUEmJkEuX19lc01vZHVsZT8oKT0+QS5kZWZhdWx0OigpPT5BO3JldHVybiBnLmQoSSx7YTpJfSksSX0sZy5kPShBLEkpPT57Zm9yKHZhciBCIGluIEkpZy5vKEksQikmJiFnLm8oQSxCKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQix7ZW51bWVyYWJsZTohMCxnZXQ6SVtCXX0pfSxnLmc9ZnVuY3Rpb24oKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oXFxcInJldHVybiB0aGlzXFxcIikoKX1jYXRjaChBKXtpZihcXFwib2JqZWN0XFxcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxnLm89KEEsSSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEkpO3ZhciBCPXt9O3JldHVybigoKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiBBKEEsSSxnLEIsQyxRLEUpe3RyeXt2YXIgaT1BW1FdKEUpLG89aS52YWx1ZX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfWkuZG9uZT9JKG8pOlByb21pc2UucmVzb2x2ZShvKS50aGVuKEIsQyl9ZnVuY3Rpb24gSShJKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz10aGlzLEI9YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oQyxRKXt2YXIgRT1JLmFwcGx5KGcsQik7ZnVuY3Rpb24gaShJKXtBKEUsQyxRLGksbyxcXFwibmV4dFxcXCIsSSl9ZnVuY3Rpb24gbyhJKXtBKEUsQyxRLGksbyxcXFwidGhyb3dcXFwiLEkpfWkodm9pZCAwKX0pKX19ZnVuY3Rpb24gQyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblxcXCIpfWZ1bmN0aW9uIFEoQSxJKXtmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKyl7dmFyIEI9SVtnXTtCLmVudW1lcmFibGU9Qi5lbnVtZXJhYmxlfHwhMSxCLmNvbmZpZ3VyYWJsZT0hMCxcXFwidmFsdWVcXFwiaW4gQiYmKEIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIua2V5LEIpfX1mdW5jdGlvbiBFKEEsSSxnKXtyZXR1cm4gSSYmUShBLnByb3RvdHlwZSxJKSxnJiZRKEEsZyksQX1nLmQoQix7ZGVmYXVsdDooKT0+bn0pO3ZhciBpPWcoNzU3KSxvPWcubihpKTtmdW5jdGlvbiBEKEEpe3JldHVybiBEPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJlxcXCJzeW1ib2xcXFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKEEpe3JldHVybiB0eXBlb2YgQX06ZnVuY3Rpb24oQSl7cmV0dXJuIEEmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2wmJkEuY29uc3RydWN0b3I9PT1TeW1ib2wmJkEhPT1TeW1ib2wucHJvdG90eXBlP1xcXCJzeW1ib2xcXFwiOnR5cGVvZiBBfSxEKEEpfXZhciBhLHc9KGE9KGE9XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuY3VycmVudFNjcmlwdD9kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYzp2b2lkIDApfHxcXFwiL2luZGV4LmpzXFxcIixmdW5jdGlvbihBKXtBPXZvaWQgMCE9PShBPUF8fHt9KT9BOnt9O3ZhciBJLEI9e307Zm9yKEkgaW4gQSlBLmhhc093blByb3BlcnR5KEkpJiYoQltJXT1BW0ldKTt2YXIgQz1bXSxRPVxcXCIuL3RoaXMucHJvZ3JhbVxcXCIsRT1mdW5jdGlvbihBLEkpe3Rocm93IEl9LGk9ITEsbz0hMSx3PSExLEY9ITE7aT1cXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIHdpbmRvdz9cXFwidW5kZWZpbmVkXFxcIjpEKHdpbmRvdykpLG89XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGltcG9ydFNjcmlwdHMsdz1cXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIHByb2Nlc3M/XFxcInVuZGVmaW5lZFxcXCI6RChwcm9jZXNzKSkmJlxcXCJvYmplY3RcXFwiPT09RChwcm9jZXNzLnZlcnNpb25zKSYmXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsRj0haSYmIXcmJiFvO3ZhciBHLGgscyxSLFU9XFxcIlxcXCI7ZnVuY3Rpb24geShJKXtyZXR1cm4gQS5sb2NhdGVGaWxlP0EubG9jYXRlRmlsZShJLFUpOlUrSX13PyhVPW8/Zyg3MDMpLmRpcm5hbWUoVSkrXFxcIi9cXFwiOlxcXCIvL1xcXCIsRz1mdW5jdGlvbihBLEkpe3ZhciBCPWpnKEEpO3JldHVybiBCP0k/QjpCLnRvU3RyaW5nKCk6KHN8fChzPWcoMjMxKSksUnx8KFI9Zyg3MDMpKSxBPVIubm9ybWFsaXplKEEpLHMucmVhZEZpbGVTeW5jKEEsST9udWxsOlxcXCJ1dGY4XFxcIikpfSxoPWZ1bmN0aW9uKEEpe3ZhciBJPUcoQSwhMCk7cmV0dXJuIEkuYnVmZmVyfHwoST1uZXcgVWludDhBcnJheShJKSksSChJLmJ1ZmZlciksSX0scHJvY2Vzcy5hcmd2Lmxlbmd0aD4xJiYoUT1wcm9jZXNzLmFyZ3ZbMV0ucmVwbGFjZSgvXFxcXFxcXFwvZyxcXFwiL1xcXCIpKSxDPXByb2Nlc3MuYXJndi5zbGljZSgyKSxwcm9jZXNzLm9uKFxcXCJ1bmNhdWdodEV4Y2VwdGlvblxcXCIsKGZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIE5CKSl0aHJvdyBBfSkpLHByb2Nlc3Mub24oXFxcInVuaGFuZGxlZFJlamVjdGlvblxcXCIsSkEpLEU9ZnVuY3Rpb24oQSl7cHJvY2Vzcy5leGl0KEEpfSxBLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm5cXFwiW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF1cXFwifSk6Rj8oXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiByZWFkJiYoRz1mdW5jdGlvbihBKXt2YXIgST1qZyhBKTtyZXR1cm4gST9WZyhJKTpyZWFkKEEpfSksaD1mdW5jdGlvbihBKXt2YXIgSTtyZXR1cm4oST1qZyhBKSk/STpcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgcmVhZGJ1ZmZlcj9uZXcgVWludDhBcnJheShyZWFkYnVmZmVyKEEpKTooSChcXFwib2JqZWN0XFxcIj09PUQoST1yZWFkKEEsXFxcImJpbmFyeVxcXCIpKSksSSl9LFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2Ygc2NyaXB0QXJncz9DPXNjcmlwdEFyZ3M6dm9pZCAwIT09YXJndW1lbnRzJiYoQz1hcmd1bWVudHMpLFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBxdWl0JiYoRT1mdW5jdGlvbihBKXtxdWl0KEEpfSksXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBwcmludCYmKFxcXCJ1bmRlZmluZWRcXFwiPT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgcHJpbnRFcnI/cHJpbnRFcnI6cHJpbnQpKTooaXx8bykmJihvP1U9c2VsZi5sb2NhdGlvbi5ocmVmOmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxhJiYoVT1hKSxVPTAhPT1VLmluZGV4T2YoXFxcImJsb2I6XFxcIik/VS5zdWJzdHIoMCxVLmxhc3RJbmRleE9mKFxcXCIvXFxcIikrMSk6XFxcIlxcXCIsRz1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXFxcIkdFVFxcXCIsQSwhMSksSS5zZW5kKG51bGwpLEkucmVzcG9uc2VUZXh0fWNhdGNoKEkpe3ZhciBnPWpnKEEpO2lmKGcpcmV0dXJuIFZnKGcpO3Rocm93IEl9fSxvJiYoaD1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXFxcIkdFVFxcXCIsQSwhMSksSS5yZXNwb25zZVR5cGU9XFxcImFycmF5YnVmZmVyXFxcIixJLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoSS5yZXNwb25zZSl9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gZzt0aHJvdyBJfX0pKTt2YXIgdD1BLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLFM9QS5wcmludEVycnx8Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7Zm9yKEkgaW4gQilCLmhhc093blByb3BlcnR5KEkpJiYoQVtJXT1CW0ldKTtmdW5jdGlvbiBNKEEpe3ZhciBJPUFBW2lBPj4yXSxnPUkrQSsxNSYtMTY7cmV0dXJuIGc+U2coKSYmSkEoKSxBQVtpQT4+Ml09ZyxJfUI9bnVsbCxBLmFyZ3VtZW50cyYmKEM9QS5hcmd1bWVudHMpLEEudGhpc1Byb2dyYW0mJihRPUEudGhpc1Byb2dyYW0pLEEucXVpdCYmKEU9QS5xdWl0KTt2YXIgbixjLHIsaz17XFxcImY2NC1yZW1cXFwiOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEElSX0sZGVidWdnZXI6ZnVuY3Rpb24oKXt9fSxLPShuZXcgQXJyYXkoMCksMCksTj1mdW5jdGlvbihBKXtLPUF9LFk9ZnVuY3Rpb24oKXtyZXR1cm4gS307QS53YXNtQmluYXJ5JiYobj1BLndhc21CaW5hcnkpLEEubm9FeGl0UnVudGltZSYmKGM9QS5ub0V4aXRSdW50aW1lKSxcXFwib2JqZWN0XFxcIiE9PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIFdlYkFzc2VtYmx5P1xcXCJ1bmRlZmluZWRcXFwiOkQoV2ViQXNzZW1ibHkpKSYmUyhcXFwibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZFxcXCIpO3ZhciBlPW5ldyBXZWJBc3NlbWJseS5UYWJsZSh7aW5pdGlhbDo4NzgsbWF4aW11bTo4NzgsZWxlbWVudDpcXFwiYW55ZnVuY1xcXCJ9KSxKPSExO2Z1bmN0aW9uIEgoQSxJKXtBfHxKQShcXFwiQXNzZXJ0aW9uIGZhaWxlZDogXFxcIitJKX1mdW5jdGlvbiBMKEEpe3JldHVybiBoQT9SQihBKTpNKEEpfXZhciBxPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFxcXCJ1dGY4XFxcIik6dm9pZCAwO2Z1bmN0aW9uIGQoQSxJLGcpe2Zvcih2YXIgQj1JK2csQz1JO0FbQ10mJiEoQz49Qik7KSsrQztpZihDLUk+MTYmJkEuc3ViYXJyYXkmJnEpcmV0dXJuIHEuZGVjb2RlKEEuc3ViYXJyYXkoSSxDKSk7Zm9yKHZhciBRPVxcXCJcXFwiO0k8Qzspe3ZhciBFPUFbSSsrXTtpZigxMjgmRSl7dmFyIGk9NjMmQVtJKytdO2lmKDE5MiE9KDIyNCZFKSl7dmFyIG89NjMmQVtJKytdO2lmKChFPTIyND09KDI0MCZFKT8oMTUmRSk8PDEyfGk8PDZ8bzooNyZFKTw8MTh8aTw8MTJ8bzw8Nnw2MyZBW0krK10pPDY1NTM2KVErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSk7ZWxzZXt2YXIgRD1FLTY1NTM2O1ErPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8RD4+MTAsNTYzMjB8MTAyMyZEKX19ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgzMSZFKTw8NnxpKX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSl9cmV0dXJuIFF9ZnVuY3Rpb24gZihBLEkpe3JldHVybiBBP2QoeixBLEkpOlxcXCJcXFwifWZ1bmN0aW9uIGwoQSxJLGcsQil7aWYoIShCPjApKXJldHVybiAwO2Zvcih2YXIgQz1nLFE9ZytCLTEsRT0wO0U8QS5sZW5ndGg7KytFKXt2YXIgaT1BLmNoYXJDb2RlQXQoRSk7aWYoaT49NTUyOTYmJmk8PTU3MzQzJiYoaT02NTUzNisoKDEwMjMmaSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK0UpKSxpPD0xMjcpe2lmKGc+PVEpYnJlYWs7SVtnKytdPWl9ZWxzZSBpZihpPD0yMDQ3KXtpZihnKzE+PVEpYnJlYWs7SVtnKytdPTE5MnxpPj42LElbZysrXT0xMjh8NjMmaX1lbHNlIGlmKGk8PTY1NTM1KXtpZihnKzI+PVEpYnJlYWs7SVtnKytdPTIyNHxpPj4xMixJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfWVsc2V7aWYoZyszPj1RKWJyZWFrO0lbZysrXT0yNDB8aT4+MTgsSVtnKytdPTEyOHxpPj4xMiY2MyxJW2crK109MTI4fGk+PjYmNjMsSVtnKytdPTEyOHw2MyZpfX1yZXR1cm4gSVtnXT0wLGctQ31mdW5jdGlvbiB1KEEsSSxnKXtyZXR1cm4gbChBLHosSSxnKX1mdW5jdGlvbiBXKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKEI9NjU1MzYrKCgxMDIzJkIpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytnKSksQjw9MTI3PysrSTpJKz1CPD0yMDQ3PzI6Qjw9NjU1MzU/Mzo0fXJldHVybiBJfXZhciBwPVxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFxcXCJ1dGYtMTZsZVxcXCIpOnZvaWQgMDtmdW5jdGlvbiBaKEEpe2Zvcih2YXIgST1BLGc9ST4+MTtfW2ddOykrK2c7aWYoKEk9Zzw8MSktQT4zMiYmcClyZXR1cm4gcC5kZWNvZGUoei5zdWJhcnJheShBLEkpKTtmb3IodmFyIEI9MCxDPVxcXCJcXFwiOzspe3ZhciBRPV9bQSsyKkI+PjFdO2lmKDA9PVEpcmV0dXJuIEM7KytCLEMrPVN0cmluZy5mcm9tQ2hhckNvZGUoUSl9fWZ1bmN0aW9uIGIoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8MilyZXR1cm4gMDtmb3IodmFyIEI9SSxDPShnLT0yKTwyKkEubGVuZ3RoP2cvMjpBLmxlbmd0aCxRPTA7UTxDOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO19bST4+MV09RSxJKz0yfXJldHVybiBfW0k+PjFdPTAsSS1CfWZ1bmN0aW9uIHgoQSl7cmV0dXJuIDIqQS5sZW5ndGh9ZnVuY3Rpb24gbShBKXtmb3IodmFyIEk9MCxnPVxcXCJcXFwiOzspe3ZhciBCPUFBW0ErNCpJPj4yXTtpZigwPT1CKXJldHVybiBnO2lmKCsrSSxCPj02NTUzNil7dmFyIEM9Qi02NTUzNjtnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEM+PjEwLDU2MzIwfDEwMjMmQyl9ZWxzZSBnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpfX1mdW5jdGlvbiBYKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDQpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz1CK2ctNCxRPTA7UTxBLmxlbmd0aDsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtpZihFPj01NTI5NiYmRTw9NTczNDMmJihFPTY1NTM2KygoMTAyMyZFKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrUSkpLEFBW0k+PjJdPUUsKEkrPTQpKzQ+QylicmVha31yZXR1cm4gQUFbST4+Ml09MCxJLUJ9ZnVuY3Rpb24gVihBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJisrZyxJKz00fXJldHVybiBJfWZ1bmN0aW9uIE8oQSl7dmFyIEk9VyhBKSsxLGc9UkIoSSk7cmV0dXJuIGcmJmwoQSx2LGcsSSksZ31mdW5jdGlvbiBUKEEsSSl7di5zZXQoQSxJKX1mdW5jdGlvbiBqKEEsSSxnKXtmb3IodmFyIEI9MDtCPEEubGVuZ3RoOysrQil2W0krKz4+MF09QS5jaGFyQ29kZUF0KEIpO2d8fCh2W0k+PjBdPTApfXZhciBQLHYseixfLCQsQUEsSUEsZ0EsQkEsQ0E9NjU1MzY7ZnVuY3Rpb24gUUEoSSl7UD1JLEEuSEVBUDg9dj1uZXcgSW50OEFycmF5KEkpLEEuSEVBUDE2PV89bmV3IEludDE2QXJyYXkoSSksQS5IRUFQMzI9QUE9bmV3IEludDMyQXJyYXkoSSksQS5IRUFQVTg9ej1uZXcgVWludDhBcnJheShJKSxBLkhFQVBVMTY9JD1uZXcgVWludDE2QXJyYXkoSSksQS5IRUFQVTMyPUlBPW5ldyBVaW50MzJBcnJheShJKSxBLkhFQVBGMzI9Z0E9bmV3IEZsb2F0MzJBcnJheShJKSxBLkhFQVBGNjQ9QkE9bmV3IEZsb2F0NjRBcnJheShJKX12YXIgRUE9NTMwNDE3NixpQT02MTEwNCxvQT1BLlRPVEFMX01FTU9SWXx8MjY4NDM1NDU2O2Z1bmN0aW9uIERBKEkpe2Zvcig7SS5sZW5ndGg+MDspe3ZhciBnPUkuc2hpZnQoKTtpZihcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgZyl7dmFyIEI9Zy5mdW5jO1xcXCJudW1iZXJcXFwiPT10eXBlb2YgQj92b2lkIDA9PT1nLmFyZz9BLmR5bkNhbGxfdihCKTpBLmR5bkNhbGxfdmkoQixnLmFyZyk6Qih2b2lkIDA9PT1nLmFyZz9udWxsOmcuYXJnKX1lbHNlIGcoKX19KHI9QS53YXNtTWVtb3J5P0Eud2FzbU1lbW9yeTpuZXcgV2ViQXNzZW1ibHkuTWVtb3J5KHtpbml0aWFsOm9BL0NBLG1heGltdW06b0EvQ0F9KSkmJihQPXIuYnVmZmVyKSxvQT1QLmJ5dGVMZW5ndGgsUUEoUCksQUFbaUE+PjJdPUVBO3ZhciBhQT1bXSx3QT1bXSxGQT1bXSxHQT1bXSxoQT0hMTtmdW5jdGlvbiBzQSgpe2lmKEEucHJlUnVuKWZvcihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5wcmVSdW4mJihBLnByZVJ1bj1bQS5wcmVSdW5dKTtBLnByZVJ1bi5sZW5ndGg7KXRBKEEucHJlUnVuLnNoaWZ0KCkpO0RBKGFBKX1mdW5jdGlvbiBSQSgpe2hBPSEwLEEubm9GU0luaXR8fGlJLmluaXQuaW5pdGlhbGl6ZWR8fGlJLmluaXQoKSxRSS5pbml0KCksREEod0EpfWZ1bmN0aW9uIFVBKCl7aUkuaWdub3JlUGVybWlzc2lvbnM9ITEsREEoRkEpfWZ1bmN0aW9uIHlBKCl7aWYoQS5wb3N0UnVuKWZvcihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5wb3N0UnVuJiYoQS5wb3N0UnVuPVtBLnBvc3RSdW5dKTtBLnBvc3RSdW4ubGVuZ3RoOylTQShBLnBvc3RSdW4uc2hpZnQoKSk7REEoR0EpfWZ1bmN0aW9uIHRBKEEpe2FBLnVuc2hpZnQoQSl9ZnVuY3Rpb24gU0EoQSl7R0EudW5zaGlmdChBKX12YXIgTUE9TWF0aC5hYnMsbkE9TWF0aC5jZWlsLGNBPU1hdGguZmxvb3IsckE9TWF0aC5taW4sa0E9MCxLQT1udWxsLE5BPW51bGw7ZnVuY3Rpb24gWUEoSSl7a0ErKyxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSl9ZnVuY3Rpb24gZUEoSSl7aWYoa0EtLSxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSksMD09a0EmJihudWxsIT09S0EmJihjbGVhckludGVydmFsKEtBKSxLQT1udWxsKSxOQSkpe3ZhciBnPU5BO05BPW51bGwsZygpfX1mdW5jdGlvbiBKQShJKXt0aHJvdyBBLm9uQWJvcnQmJkEub25BYm9ydChJKSx0KEkrPVxcXCJcXFwiKSxTKEkpLEo9ITAsST1cXFwiYWJvcnQoXFxcIitJK1xcXCIpLiBCdWlsZCB3aXRoIC1zIEFTU0VSVElPTlM9MSBmb3IgbW9yZSBpbmZvLlxcXCIsbmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihJKX1BLnByZWxvYWRlZEltYWdlcz17fSxBLnByZWxvYWRlZEF1ZGlvcz17fTt2YXIgSEE9XFxcImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxcXFwiO2Z1bmN0aW9uIExBKEEpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/QS5zdGFydHNXaXRoKEhBKTowPT09QS5pbmRleE9mKEhBKX12YXIgcUEsZEEsZkE9XFxcImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJqd2h6WUFGL0FYOWdBWDhBWUFKL2Z3Ri9ZQUovZndCZ0EzOS9md0YvWUFWL2YzOS9md0JnQTM5L2Z3QmdCSDkvZjM4QVlBVi9mMzkvZndGL1lBUi9mMzkvQVg5Z0JuOS9mMzkvZndGL1lBQUFZQVovZjM5L2YzOEFZQWQvZjM5L2YzOS9BR0FJZjM5L2YzOS9mMzhCZjJBSGYzOS9mMzkvZndGL1lBQUJmMkFCZlFGOVlBRi9BWHhnQlg5L2YzOThBWDlnQTM5K2Z3RitZQVYvZjM5L2ZnRi9ZQWgvZjM5L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBTi9mMzBBWUFOL2Yzd0FZQUovZkFCZ0JuOS9mMzkvZkFGL1lBTi9mMzhCZldBQ2ZYMEJmV0FDZjM4QmZHQURmMzkvQVh4Z0FueDhBWHhnQ1g5L2YzOS9mMzkvZndGL1lBWi9mSDkvZjM4QmYyQUVmMzkvZndGK1lBRjhBWHhnQlg5L2ZuOS9BR0FDZjMwQVlBcC9mMzkvZjM5L2YzOS9BWDlnREg5L2YzOS9mMzkvZjM5L2Z3Ri9ZQVYvZlgxL2Z3Ri9ZQUY5QVg5Z0FYOEJmV0FHZjM5L2YzOS9BWHhnQW54L0FYeGdEMzkvZjM5L2YzOS9mMzkvZjM5L2Z3QmdEWDkvZjM5L2ZYMTlmWDE5ZlgwQVlBUi9mMzk5QUdBRmYzOTlmWDhBWUFWL2ZYMTlmUUJnQm45OGZIOS9md0JnQzM5L2YzOS9mMzkvZjM5L0FYOWdFWDkvZjM5L2YzOS9mMzE5ZlgxOWZYMTlBWDlnQm45L2ZYMS9md0YvWUFKK2Z3Ri9ZQUY4QVg5Z0JIOS9mMzRCZm1BQ2YzOEJmV0FFZjM5L2Z3RjlZQU4vZlgwQmZXQUJmQUY5WUFsL2YzOS9mMzkvZjM4QVlCRi9mMzkvZjM5L2YzOTlmWDE5ZlgxOWZRQmdCbjkvZjM5L2ZRQmdDSDkvZjM5L2ZYMTlBR0FKZjM5L2YzOTlmWDE5QUdBRmYzOS9mWDBBWUFkL2YzOTlmWDEvQUdBRWYzOS9mQUJnQTM5L2ZnQmdCbjkvZlg5OWZ3QmdBbjkrQUdBRGYzNS9BR0FEZjMxOUFHQUVmMzE5ZndCZ0JuOTlmWDE5ZndCZ0JIOThmSDhBWUF4L2YzOS9mMzkvZjM5L2ZIOEJmMkFPZjM5L2YzOS9mMzkvZjN4L2YzOEJmMkFUZjM5L2YzOS9mMzkvZkg5L2YzOS9mMzkvZndGL1lBeC9mMzkvZjM5L2YzMS9mMzhCZjJBaWYzOS9mMzkvZjM5OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4ZndGL1lBZC9mMzkvZjM5OEFYOWdCMzkvZjM5OGYzOEJmMkFEZjM5OUFYOWdCWDkvZlgxL0FYOWdCMzkvZkg5L2YzOEJmMkFQZjM5OGZIeDhmSHg4Zkh4OGZIeDhBWDlnQkg5K2YzOEJmMkFDZjMwQmYyQUZmMzE5ZlgwQmYyQUNmM3dCZjJBRGZuOS9BWDlnQW4xL0FYOWdBbngvQVg5Z0FYOEJmbUFDZjM4QmZtQUNmbjRCZm1BRmYzOS9mMzhCZldBSGYzOS9mMzkvZndGOVlBZC9mMzkvZjM5OUFYMWdCbjkvZjM5L2ZRRjlZQVovZjM5L2ZYMEJmV0FFZjM5L2ZRRjlZQU4vZjMwQmZXQUZmMzE5ZjM4QmZXQUNmWDhCZldBRGZYMTlBWDFnQkgxOWZYMEJmV0FGZjM5L2YzOEJmR0FFZjM5OGZ3RjhZQU44Zkg4QmZHQURmSHg4QVh4Z0JueDhmSHg4ZkFGOEFwc0VQQU5sYm5ZQllRQUxBMlZ1ZGdGaUFBRURaVzUyQVdNQUFRTmxibllCWkFBQkEyVnVkZ0ZsQUFZRFpXNTJBV1lBQUFObGJuWUJad0FEQTJWdWRnRm9BQkFEWlc1MkFXa0FCZ05sYm5ZQmFnQU1BMlZ1ZGdGckFBVURaVzUyQVd3QUVBTmxibllCYlFBQkEyVnVkZ0Z1QUFBRFpXNTJBVzhBQVFObGJuWUJjQUFEQTJWdWRnRnhBQUlEWlc1MkFYSUFCUU5sYm5ZQmN3QUdBMlZ1ZGdGMEFBQURaVzUyQVhVQUFnTmxibllCZGdBREEyVnVkZ0YzQUFZRFpXNTJBWGdBR1FObGJuWUJlUUFBQTJWdWRnRjZBQUlEWlc1MkFVRUFBUU5sYm5ZQlFnQUhBMlZ1ZGdGREFBWURaVzUyQVVRQUNBaGhjMjB5ZDJGemJRZG1OalF0Y21WdEFDQURaVzUyQVVVQUNBTmxibllCUmdBSkEyVnVkZ0ZIQUFrRFpXNTJBVWdBQUFObGJuWUJTUUFrQTJWdWRnRktBQUFEWlc1MkFVc0FCQU5sYm5ZQlRBQUVBMlZ1ZGdGTkFCQURaVzUyQVU0QVVnTmxibllCVHdBUEEyVnVkZ0ZRQUJNRFpXNTJBVkVBV0FObGJuWUJVZ0FDQTJWdWRnRlRBQU1EWlc1MkFWUUFBd05sYm5ZQlZRQUZBMlZ1ZGdGV0FBa0RaVzUyQVZjQUNRTmxibllCV0FBQ0EyVnVkZ0ZaQUFJRFpXNTJBVm9BQWdObGJuWUJYd0FDQTJWdWRnRWtBQUVEWlc1MkRGOWZkR0ZpYkdWZlltRnpaUU4vQUFabmJHOWlZV3dEVG1GT0Ezd0FCbWRzYjJKaGJBaEpibVpwYm1sMGVRTjhBQU5sYm5ZR2JXVnRiM0o1QWdHQUlJQWdBMlZ1ZGdWMFlXSnNaUUZ3QWU0RzdnWUR5QXZHQ3dJQkFnSURBUWNDQVFNQ0FDb0FCQUVCQWdFREF3UThBZ0lDQUFBQUFBRURBd0JxS3dZUUFnRURBQWtBQVFRR0Nna0NFUUVCQWlrREFRQUFCamdBQlFVSUJ3TUNBd2dFQmdCdEJFZ0VBeHdBQXdFRUFBSURHaXdEUFQwcUNSZ0JBd29JQ0FnSkFCMENMUWdjQXc0T0Npa0dCZ2tHVkFRSkF3Y0NBZ0FDQUFRRE1BWVlBQ29HQURjQ0F3SUdBZ0lBQWdFSEJ3NEdBd1luQVNjQUVTQndCZ0FKQ1FKbFpBTUJIUVlHTVFNZEF6WUNCQUlEQ0FZQ0JnTUNBdzBEQUFZQVlnd0NCd1pPQmdvZE9nTUFBZ01EQWdOcEJ3TUNGUk1DQXdjQUFBME5CQThQQVFNQkFRSURBUVVESHlNRkNRZ0VCQUFBQUFJUUFBUURCQU1BQmdZQkF3TUZBUUFoQndKREF5d0FCd01DQVFNQkFRSVdiREVCQXdFREJ3TUJBUU1IQVFNSEFRd0hEQVVEQUFNSUFRQW9CUjRBS0FVQkFRRUJjZ3h4QndZR0VSRVJBQUFCWGdoZkl3a0dBQUFIQWprQ0FBRUFTUzBDQmdBdElDQmhIemxHQkFJRUFBRUFFQVFCQVFNQUFRY0NBUUlBQVFrQkFnRUFBd01aQmhnQkFRTlpEd1lNQUFFQkF3RUJCZ0FEQVRvbkF3TXJWVUFQQnc0SEJ3RUhBd0VCQVFNREF3RURid0lEQms4QURBQURFQU1EQXdFQ0FRRUJDZ0VHQVJFUkJBTURBd01EQVFNSEFrd0RCZ0VBVmpZTkhBb0pCeVVOQmhvVUR4c0pBd1VXQmhZR0JnVUlBUUVCQVFnQkRnQUVMaGN1RnpRR05BTURBUXdCQVFVTURBTUpCUXdNQUEwSkRRUUtDU01KQ1NNY0h4OEVDZ1lDQWdBQkFRRUJBd0VBQnlVRUF3RUVBUUVCQVFFQkFUTUxCd0VCQkIwa0pBa0dBZ1lHQUFCZ0NBSUJCQVJyQkFBRUJnWUxBeEFKQWdJQkJBSTNYUUlFQXlJNEF3UUNJQ3h1QkFnQ0JBUUNBUUlBQWdRQkNSUUVFQlFFQUFBQUFnRUdBUU1CQXdFQUFBQUhBQUFDQUFBQkFRRUlBQWdCQ2dvSkNRRUVCd2NIQndjQkF3Y0hBUWNCQXdjTkJ3Z05BUVVGQlFVRkJRVUZBQVVIQndjSEJ3MEJEUTBOQXdjSEJ3TUJBd0VCQVFFQkFRRUJBUUFCQWdJQ0FnSUJBZ0lCQWdBQkFRTUJBUUVDQUFFQkFnSUNBQUlDQWdFQkFRSURBd0FCQXdVRkJRVUZCUVVEQlFVRkJRVUZCUVVGQlFnRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFFQkR3Sm1Zd3dGQ0FRREFnQURDUU1CQVFJRUJBa0VCQUVHQWdJQUhnRUJDQUVHQUFNQUF3QURFZ3NtQUFNQUF3QURFaG9TR2dzUVVBc0JBQUFDQWdJRUFBQUdDQUFDQWdRRUFnUUxBQUFDQWdJQ0FBQUVDd3NTQVFFR0F3SUJBd0lCQXc4REF3WUdCand5QmdNMU5UOEhFQUVHSEVvSFFsc0JMd2NITWdFQkF3TUNCZ1lIQmdNQkF3WURBd2NIQXk4TUFnZ0RBQUFBQUFBRUFBQUNCQUlDQWdJQ0FnSUNBajVISVFjQmFBSWhBZzVSQ1RzRUNna0VDUU1EQXdJSEF3TUJBd01EQXdNR0JnWURCZzBEQVFJQkFRRVpDQUVEQXdZR0R3Y0dBd01GRHdNRkJnY0NBUWNDQXdNREFRRUJBUUVDQVFFQkFRb0dDa3NSUVFNRkFRY0FBUU1CQXdNSEF3TURCd0VEQVFjRkJRSUJBUUlEQXdObkRRME5Ld01HQWdJRUR3TmNBd1lXQTBRREFRTUdBd0VEQVFNREF3TUJBZ01EQXdFQkFnWURBUUVEQXdjREF3TUNDQUVJQ0FnSUNnb0RBUUVEQXdNREFnUUNBZ0FDQVFRcEFRb0NGdzBvQXdBQU93QUJDQWdBRFFnQkR4Z1pBQ1lMQUNJUUhoSmFGZzBNQlFjd1JRRWhEZ0FQVXdvYkNBa0VWd0lBQmg4ZUpBTUFBZ1lHQmdNQ0NBWUJBd0VEQ0FRSkFnUUNBUVFDQ1FrSkJBTURBd0FBQVFNREF3QUFBUUlJQkFrQ0JBSUVBZ0VCQVFvS0JBZ09EZ0VBQ0FBSURnNElDZ29FQ0E0T0RBd0tHd29iRndZUER4Y0dEd2dQREE4UEJ3VUZCUU1NQndVRkJRVUZCUU1MQ3dzQUFBQUFBQUFBRGdvS0Nnb0tCd1VGQlF3SEJRVUZCUVVCQlFzTEN3QUFBQVFBQUFBQURnb0tDZ29LQndnVEV4VUlGUWdJQ0FnVEV4VUlGUWdJQ0FnRUNBZ0NDQWdJQ0FvS0Nnb0tDZ29TQ2dvSUNBZ0lDQWdJQ0FFQkJnRUFDZ29LQ2dvS0Nnb0tCQWNJQkFFSENBRUNBQUFEQWdBQUFBTUNCQU1DQkFOTkNBUUVBQVFFQUFRQkFSQUFDd3NMQ3dzekN3c0xDd3NMQ3dzTEN3c0xDeEFRRUFzSEJRd0VBUUFIQlF3RUJ3VU1CQXNIQ0JBQUJoY0Vmd0ZCQUF0L0FVRUFDMzhCUVFBTGZ3RkI4TjREQ3dlVEFpNENZV0VBblFjQ1ltRUE1UXNDWTJFQSt3UUNaR0VBMFFzQ1pXRUE0QVFDWm1FQTZRc0NaMkVBb0FVQ2FHRUEwZ3NDYVdFQTV3c0NhbUVBNWdzQ2EyRUE2QXNDYkdFQU9BSnRZUUJFQW01aEFONEpBbTloQU53SkFuQmhBTnNKQW5GaEFOa0pBbkpoQU5nSkFuTmhBTmNKQW5SaEFOWUpBblZoQU5VSkFuWmhBTlFKQW5kaEFOTUpBbmhoQU5JSkFubGhBTkVKQW5waEFOQUpBa0ZoQU00SkFrSmhBTTBKQWtOaEFMa0pBa1JoQUxjSkFrVmhBTXdKQWtaaEFLNERBa2RoQUs4REFraGhBTEVEQWtsaEFMQURBa3BoQU1zSkFrdGhBTW9KQWt4aEFNa0pBazFoQU1nSkFrNWhBTWNKQWs5aEFNWUpBbEJoQU1VSkFsRmhBTFlKQWxKaEFQd0xBbE5oQUpnSkFsUmhBUHNMQ2FFTEFRQWpBQXZ1QnNNSitnYjRCdThHd2duakJzRUovUVpZeGdpakJYL3ZDMzkvMFFUTkMzOS8wUVRLQzhvRXlnUytDNzBMdVF1NEM3Y0U3QXJyQ3VvSzZRcm5DdVlLNVFxM0JNNEt6UXJNQ3NzS3lnckpDc2dLa1FLUkFuK1JBcEVDZjVBQ2tBSi9rQUtRQW45L2Y2QUVtZ3AvbUFxRENvSUsvUW44Q2Q4QzN3TGZBbjkvb0FTdUJmc0ZSS1FGbWdlWkI1UUhrd2VMQjRnSGh3ZUNCNEVIOWdiMEJ2SUc3UWJyQnVrRzRnYWZCbzhHaHdaL3RnVzFCYk1Gc2dWWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWXdBbUpCWHFWQ0tZSG93ZWJBcHNDbXdLYkFzTUx3QXU3QzdjTGpRcUxDb2tLOUFueENlOEpoUXFtQlpnSGx3ZVdCNVVIa0FlTkI0d0hoUWVFQjRNSDJBYmdCc2tHbkFhWUJwY0dsZ2FVQnBNR2tnYUdCb1FHZ3dhQkJvQUcvd1grQmYwRmVucDZlbnA2ZW5wNmVucDZlbnA2ZW1TaUJaOEZnZ1gzQyswTDFBVE9DOHdMMUFUTEM4a0x4QXZCQzdJTHJ3dWhCS0VFakFxS0NvY0srQW56Q2ZBSjdRbkRCWnNIa1FlUEI0NEhoZ2ZhQnQwR3RRR3ZBcFVGWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkswQmlBcjNDZllKOVFudUNkUUd3UVhBQmEwQnJRR3RBYTBCclFHdEFhMEJqQUwvQ3Y0SzlncjFDb3dDakFLTUFwZ0J0UXV4QzRRTGd3dUJDL3dLK3dyNkN2Z0s5QXJoQXFJS213cVpDb1lLN0FuaEFwNEs0UUtVQ3J3RnVnV1lBWmdCbUFHWUFaZ0JtQUdZQVpnQm1BR09CS29LcUFxT0JHYXVDNjBMckF1ckM4WUV4Z1NxQzZrTHFBdW5DNllMbUF1WEM1VUxsQXU4Qkx3RWt3dVNDNUVMa0F1UEMvSUs4UXJ3Q3U4SzdnclVDdE1LMGdyUkN0QUtxUXFuQ3I4RnZnVm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptYU5CTFlLdFFxekNyRUtyZ3F0Q28wRXlnSHRDczhLcEFxakNwMEtuQXFmQko4RWxncVZDc29CeWdIS0Fjb0J5Z0dMQW9JTGdBdjVDdmNLaXdLTEFvc0NqQVNoQlo0RmpBUytDZmdMUnNjQzJRakdBdGdJN1FQSENHTmVsZ2hlWHFjSFhsNmtCMTVqWG1Oalh1TUU0Z1RpQkY1ZW5RTFBDOVlFN1FMUUJPd0NtZ0xyQXM0RXpRU2FBdXNDemdUTkJKa0M2Z0xNQk1zRW1RTHFBc3dFeXdUc0F1MEM3QUx0QW1OZXRndGpYbU5lWTE1alhtTmVZMTVqWHE0RXJRU3VCSzBFWTE1alhtTmVZMTVqWG1OZVkxNWpYbU5lWTE1alhsNmVCSmNLbkFTUUNwc0VqZ3FhQklRS21RVCtDVjVlWGw1ZXNnbW5CWUFIeGdhZ0JtT2FCcGtHalFhbkE0d0dnZ1pqaVFhSUJ2a0YrQVZqeVFYUEJkWUZZK2NGelFWanZRVzVCYmNGclFXckJha0ZwQXVpQzJNNFJrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1Jvc0Urd2I1Qm9zRXZRbnhCcUlCbkFLY0FzVUx3Z3UvQzdvTGp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxUVN1QWE0Qmp3R1BBWThCcVFTdUFhNEJuQUtjQW9FS2dBci9DZnNKK2duNUNhRUc5d2IxQnZNRzdnYnNCdW9HcmdPZEJzb0YwQVhyQmU4RnJnS3NCYW9GaUFXaUFhSUJvZ0dpQWFJQm9nR2lBYUlCdXdtdkE3b0pzUU9LQktnRnNBT0tCTWtCOUF2d0Mrb0wwZ1RTQkxRTHNBczkwd1hSQmVVRjVBWGpCZUlGNFFYdUJlMEY3QVhPQmN3Rnl3WElCY2NGeGdYRkJjUUZ5UUhKQWNrQnlRSEpBWGIxQy9FTDZ3dWpCcVFHcFFhbUJxY0dxQWFxQnFzR3JBYXRCcTRHcndhd0JyRUdzZ2F6QnJVR3RnYTNCcmdHdVFhNkJyc0d2QWE5QnI0R3Z3YkFCc0VHd2diREJxSUd4QWJGQnVBRjNnWGRCZHdGMndYYUJka0YyQVhYQlhaMmRuWjJkbloyZG5aMmRuWjJkbloyM0FMMkMvSUw3QXVtQ3FVSzNBTGNBb2tFMVFYU0JlWUY2Z1hwQmVnRmlRU0lCTk1FMHdTSUJBcXFpeDdHQ3cwQUlBQWdBU0FCRUdBUW53a0x5UTBCQ1g4Z0FFVUVRQThMUWJ6UkF5Z0NBQ0VFSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0pCZUhFaUFHb2hCU0FDUVFGeEJIOGdBd1VDZnlBREtBSUFJUUVnQWtFRGNVVUVRQThMSUFNZ0FXc2lBeUFFU1FSQUR3c2dBQ0FCYWlFQUlBTkJ3TkVES0FJQVJnUkFJQU1nQlNnQ0JDSUJRUU54UVFOSERRRWFRYlRSQXlBQU5nSUFJQVVnQVVGK2NUWUNCQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBRHdzZ0FVRURkaUVFSUFGQmdBSkpCRUFnQXlnQ0NDSUJJQU1vQWd3aUFrWUVRRUdzMFFOQnJORURLQUlBUVFFZ0JIUkJmM054TmdJQUJTQUJJQUkyQWd3Z0FpQUJOZ0lJQ3lBRERBRUxJQU1vQWhnaEJ5QURJQU1vQWd3aUFVWUVRQUpBSUFOQkVHb2lBa0VFYWlJRUtBSUFJZ0VFUUNBRUlRSUZJQUlvQWdBaUFVVUVRRUVBSVFFTUFnc0xBMEFDUUNBQlFSUnFJZ1FvQWdBaUJrVUVRQ0FCUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VDSUFZaEFRd0JDd3NnQWtFQU5nSUFDd1VnQXlnQ0NDSUNJQUUyQWd3Z0FTQUNOZ0lJQ3lBSEJIOGdBeUFES0FJY0lnSkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBVFlDQUNBQlJRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBQ2RFRi9jM0UyQWdBZ0F3d0RDd1VnQjBFUWFpSUNJQWRCRkdvZ0F5QUNLQUlBUmhzZ0FUWUNBQ0FESUFGRkRRSWFDeUFCSUFjMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNnQXdVZ0F3c0xDeUlISUFWUEJFQVBDeUFGS0FJRUlnaEJBWEZGQkVBUEN5QUlRUUp4QkVBZ0JTQUlRWDV4TmdJRUlBTWdBRUVCY2pZQ0JDQUFJQWRxSUFBMkFnQWdBQ0VDQlNBRlFjVFJBeWdDQUVZRVFFRzQwUU1nQUVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFNMkFnQWdBeUFBUVFGeU5nSUVRY0RSQXlnQ0FDQURSd1JBRHd0QndORURRUUEyQWdCQnRORURRUUEyQWdBUEMwSEEwUU1vQWdBZ0JVWUVRRUcwMFFNZ0FFRzAwUU1vQWdCcUlnQTJBZ0JCd05FRElBYzJBZ0FnQXlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUE4TElBaEJBM1loQkNBSVFZQUNTUVJBSUFVb0FnZ2lBU0FGS0FJTUlnSkdCRUJCck5FRFFhelJBeWdDQUVFQklBUjBRWDl6Y1RZQ0FBVWdBU0FDTmdJTUlBSWdBVFlDQ0FzRkFrQWdCU2dDR0NFSklBVW9BZ3dpQVNBRlJnUkFBa0FnQlVFUWFpSUNRUVJxSWdRb0FnQWlBUVJBSUFRaEFnVWdBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCQ2dDQUNJR1JRUkFJQUZCRUdvaUJDZ0NBQ0lHUlEwQkN5QUVJUUlnQmlFQkRBRUxDeUFDUVFBMkFnQUxCU0FGS0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFDQUZLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFJQVZHQkVBZ0JDQUJOZ0lBSUFGRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFKMFFYOXpjVFlDQUF3REN3VWdDVUVRYWlJQ0lBbEJGR29nQWlnQ0FDQUZSaHNnQVRZQ0FDQUJSUTBDQ3lBQklBazJBaGdnQlNnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dCU2dDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzTEN3c2dBeUFBSUFoQmVIRnFJZ0pCQVhJMkFnUWdBaUFIYWlBQ05nSUFJQU5Cd05FREtBSUFSZ1JBUWJUUkF5QUNOZ0lBRHdzTElBSkJBM1loQVNBQ1FZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdBellDQUNBQklBTTJBZ3dnQXlBQk5nSUlJQU1nQURZQ0RBOExJQUpCQ0hZaUFBUi9JQUpCLy8vL0Iwc0VmMEVmQlNBQUlBQkJnUDQvYWtFUWRrRUljU0lCZENJRVFZRGdIMnBCRUhaQkJIRWhBRUVPSUFBZ0FYSWdCQ0FBZENJQVFZQ0FEMnBCRUhaQkFuRWlBWEpySUFBZ0FYUkJEM1pxSWdCQkFYUWdBaUFBUVFkcWRrRUJjWElMQlVFQUN5SUJRUUowUWR6VEEyb2hBQ0FESUFFMkFod2dBMEVBTmdJVUlBTkJBRFlDRUVHdzBRTW9BZ0FpQkVFQklBRjBJZ1p4QkVBQ1FDQUNJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0FrRUFRUmtnQVVFQmRtc2dBVUVmUmh0MElRUURRQ0FBUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBUkJBWFFoQkNBQ0lBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQU0yQWdBZ0F5QUFOZ0lZSUFNZ0F6WUNEQ0FESUFNMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FETmdJTUlBRWdBellDQ0NBRElBQTJBZ2dnQXlBQk5nSU1JQU5CQURZQ0dBc0ZRYkRSQXlBRUlBWnlOZ0lBSUFBZ0F6WUNBQ0FESUFBMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F0QnpORURRY3pSQXlnQ0FFRi9haUlBTmdJQUlBQUVRQThMUWZUVUF5RUFBMEFnQUNnQ0FDSURRUWhxSVFBZ0F3MEFDMEhNMFFOQmZ6WUNBQXNrQUNBQkJIOGdBRUdBZ0lDQWVFWWdBVUYvUm5FRWYwRUFCU0FBSUFGdEN3VkJBQXNMSUFFQmZ5QUFLQUlBSVFJZ0FSQ2xDeUVCSUFJb0FnZ2dBVUVDZEdvb0FnQUxEQUFnQUNBQlFSeHFFT3NKQ3prQkFYOGdBQ2dDQUNJQUtBSUVJUUVnQUNBQlFYOXFOZ0lFSUFGRkJFQWdBQ2dDQUNnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3czhBQ01HSVFBakJrRVFhaVFHSUFKQkFFZEIwSVVCS0FJQUlBRk1jUVJBSUFJc0FBQUVRQ0FBSUFNMkFnQWdBU0FDSUFBUTJna0xDeUFBSkFZTGlnSUJCMzhqQmlFREl3WkJFR29rQmlBRFFReHFJUUlnQXlBQUVKZ0NJQU1zQUFBRVFDQUNJQUFnQUNnQ0FFRjBhaWdDQUdvUU95QUNRYmpPQXhBNklRY2dBaEE4SUFBZ0FDZ0NBRUYwYWlnQ0FHb2lCU2dDR0NFSVFYOGdCU2dDVEJCQkJFQWdBaUFGRURzZ0FrR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRWdJQVpCUDNGQmlnRnFFUUlBSVFRZ0FoQThJQVVnQkVFWWRFRVlkU0lFTmdKTUJTQUZLQUpNSVFRTElBY29BZ0FvQWhBaEJpQURJQWcyQWdnZ0FpQURLQUlJTmdJQUlBY2dBaUFGSUFSQi93RnhJQUVnQmtFZmNVR2lBbW9SQ0FCRkJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlJQklBRW9BaEJCQlhJUTdnRUxDeUFERUpjQ0lBTWtCaUFBQzRVQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQVJBSUFFZ0FCQ1lBaUFCTEFBQUJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dDSUNLQUlBS0FJWUlRTWdBaUFEUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQVJDWEFnc2dBU1FHQzZnQkFRUi9Jd1loQWlNR1FSQnFKQVlnQWlBQUVKZ0NJQUlzQUFBRVFBSkFJQUFnQUNnQ0FFRjBhaWdDQUdvb0FoZ2lBeUVFSUFNRVFDQUVLQUlZSWdVZ0JDZ0NIRVlFZnlBREtBSUFLQUkwSVFNZ0JDQUJFRUlnQTBFL2NVR0tBV29SQWdBRklBUWdCVUVCYWpZQ0dDQUZJQUU2QUFBZ0FSQkNDMEYvRUVGRkRRRUxJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQWhDWEFpQUNKQVlMQndBZ0FDQUJSZ3NJQUNBQVFmOEJjUXM0QUNBQUlBQmNCSDlCZ0lDQWdIZ0ZJQUJEQUFBQVQyQUVmMEdBZ0lDQWVBVWdBRU1BQUFEUFh3Ui9RWUNBZ0lCNEJTQUFxQXNMQ3d1M05RRU1meU1HSVFvakJrRVFhaVFHSUFCQjlRRkpCRUJCck5FREtBSUFJZ1ZCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ0pCQTNZaUFIWWlBVUVEY1FSQUlBRkJBWEZCQVhNZ0FHb2lBa0VEZEVIVTBRTnFJZ0FvQWdnaUEwRUlhaUlFS0FJQUlRRWdBQ0FCUmdSQVFhelJBMEVCSUFKMFFYOXpJQVZ4TmdJQUJTQUJJQUEyQWd3Z0FDQUJOZ0lJQ3lBRElBSkJBM1FpQUVFRGNqWUNCQ0FBSUFOcUlnQWdBQ2dDQkVFQmNqWUNCQ0FLSkFZZ0JBOExJQUpCdE5FREtBSUFJZ2xMQkg4Z0FRUkFRUUlnQUhRaUEwRUFJQU5yY2lBQklBQjBjU0lBUVFBZ0FHdHhRWDlxSWdCQkRIWkJFSEVpQVNBQUlBRjJJZ0JCQlhaQkNIRWlBWElnQUNBQmRpSUFRUUoyUVFSeElnRnlJQUFnQVhZaUFFRUJka0VDY1NJQmNpQUFJQUYySWdCQkFYWkJBWEVpQVhJZ0FDQUJkbW9pQkVFRGRFSFUwUU5xSWdBb0FnZ2lBVUVJYWlJR0tBSUFJUU1nQUNBRFJnUkFRYXpSQTBFQklBUjBRWDl6SUFWeElnQTJBZ0FGSUFNZ0FEWUNEQ0FBSUFNMkFnZ2dCU0VBQ3lBQklBSkJBM0kyQWdRZ0FTQUNhaUlGSUFSQkEzUWlBeUFDYXlJRVFRRnlOZ0lFSUFFZ0Eyb2dCRFlDQUNBSkJFQkJ3TkVES0FJQUlRRWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEEwRUJJQUowSWdJZ0FIRUVmeUFEUVFocUlnSW9BZ0FGUWF6UkF5QUFJQUp5TmdJQUlBTkJDR29oQWlBREN5RUFJQUlnQVRZQ0FDQUFJQUUyQWd3Z0FTQUFOZ0lJSUFFZ0F6WUNEQXRCdE5FRElBUTJBZ0JCd05FRElBVTJBZ0FnQ2lRR0lBWVBDMEd3MFFNb0FnQWlDd1IvUVFBZ0Myc2dDM0ZCZjJvaUFFRU1ka0VRY1NJQklBQWdBWFlpQUVFRmRrRUljU0lCY2lBQUlBRjJJZ0JCQW5aQkJIRWlBWElnQUNBQmRpSUFRUUYyUVFKeElnRnlJQUFnQVhZaUFFRUJka0VCY1NJQmNpQUFJQUYyYWtFQ2RFSGMwd05xS0FJQUlnUWhBQ0FFS0FJRVFYaHhJQUpySVFnRFFBSkFJQUFvQWhBaUFRUkFJQUVoQUFVZ0FDZ0NGQ0lBUlEwQkN5QUFJQVFnQUNnQ0JFRjRjU0FDYXlJQklBaEpJZ01iSVFRZ0FTQUlJQU1iSVFnTUFRc0xJQUlnQkdvaURDQUVTd1IvSUFRb0FoZ2hCeUFFSUFRb0Fnd2lBRVlFUUFKQUlBUkJGR29pQVNnQ0FDSUFSUVJBSUFSQkVHb2lBU2dDQUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lBeWdDQUNJR1JRUkFJQUJCRUdvaUF5Z0NBQ0lHUlEwQkN5QURJUUVnQmlFQURBRUxDeUFCUVFBMkFnQUxCU0FFS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFjRVFBSkFJQVFnQkNnQ0hDSUJRUUowUWR6VEEyb2lBeWdDQUVZRVFDQURJQUEyQWdBZ0FFVUVRRUd3MFFOQkFTQUJkRUYvY3lBTGNUWUNBQXdDQ3dVZ0IwRVFhaUFIUVJScUlBUWdCeWdDRUVZYklBQTJBZ0FnQUVVTkFRc2dBQ0FITmdJWUlBUW9BaEFpQVFSQUlBQWdBVFlDRUNBQklBQTJBaGdMSUFRb0FoUWlBUVJBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDd3NnQ0VFUVNRUkFJQVFnQWlBSWFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRUJTQUVJQUpCQTNJMkFnUWdEQ0FJUVFGeU5nSUVJQWdnREdvZ0NEWUNBQ0FKQkVCQndORURLQUlBSVFBZ0NVRURkaUlDUVFOMFFkVFJBMm9oQVVFQklBSjBJZ0lnQlhFRWZ5QUJRUWhxSWdJb0FnQUZRYXpSQXlBQ0lBVnlOZ0lBSUFGQkNHb2hBaUFCQ3lFRElBSWdBRFlDQUNBRElBQTJBZ3dnQUNBRE5nSUlJQUFnQVRZQ0RBdEJ0TkVESUFnMkFnQkJ3TkVESUF3MkFnQUxJQW9rQmlBRVFRaHFEd1VnQWdzRklBSUxCU0FDQ3lFQUJTQUFRYjkvU3dSQVFYOGhBQVVDUUNBQVFRdHFJZ0ZCZUhFaEFFR3cwUU1vQWdBaUJRUkFRUUFnQUdzaEJBSkFBa0FnQVVFSWRpSUJCSDhnQUVILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnWkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JpQUJkQ0lHUVlDQUQycEJFSFpCQW5FaUNDQUJJQUp5Y21zZ0JpQUlkRUVQZG1vaUFVRUJkQ0FBSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ2RCQW5SQjNOTURhaWdDQUNJQkJIOUJBQ0VDSUFCQkFFRVpJQWRCQVhacklBZEJIMFliZENFR0EzOGdBU2dDQkVGNGNTQUFheUlJSUFSSkJFQWdDQVIvSUFnaEJDQUJCVUVBSVFRZ0FTRUNEQVFMSVFJTElBTWdBU2dDRkNJRElBTkZJQU1nQVVFUWFpQUdRUjkyUVFKMGFpZ0NBQ0lCUm5JYklRTWdCa0VCZENFR0lBRU5BQ0FDQ3dWQkFBc2lBU0FEY2dSL0lBTUZJQVZCQWlBSGRDSUJRUUFnQVd0eWNTSUNSUTBFUVFBaEFTQUNRUUFnQW10eFFYOXFJZ0pCREhaQkVIRWlBeUFDSUFOMklnSkJCWFpCQ0hFaUEzSWdBaUFEZGlJQ1FRSjJRUVJ4SWdOeUlBSWdBM1lpQWtFQmRrRUNjU0lEY2lBQ0lBTjJJZ0pCQVhaQkFYRWlBM0lnQWlBRGRtcEJBblJCM05NRGFpZ0NBQXNpQWcwQUlBRWhBd3dCQ3lBQklRTWdCQ0VCQTM4Z0FpZ0NCRUY0Y1NBQWF5SUlJQUZKSVFZZ0NDQUJJQVliSVFFZ0FpQURJQVliSVFNZ0FpZ0NFQ0lFUlFSQUlBSW9BaFFoQkFzZ0JBUi9JQVFoQWd3QkJTQUJDd3NoQkFzZ0F3UkFJQVJCdE5FREtBSUFJQUJyU1FSQUlBQWdBMm9pQnlBRFN3UkFJQU1vQWhnaENTQURJQU1vQWd3aUFVWUVRQUpBSUFOQkZHb2lBaWdDQUNJQlJRUkFJQU5CRUdvaUFpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJpZ0NBQ0lJUlFSQUlBRkJFR29pQmlnQ0FDSUlSUTBCQ3lBR0lRSWdDQ0VCREFFTEN5QUNRUUEyQWdBTEJTQURLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUFKQUlBTWdBeWdDSENJQ1FRSjBRZHpUQTJvaUJpZ0NBRVlFUUNBR0lBRTJBZ0FnQVVVRVFFR3cwUU1nQlVFQklBSjBRWDl6Y1NJQk5nSUFEQUlMQlNBSlFSQnFJQWxCRkdvZ0F5QUpLQUlRUmhzZ0FUWUNBQ0FCUlFSQUlBVWhBUXdDQ3dzZ0FTQUpOZ0lZSUFNb0FoQWlBZ1JBSUFFZ0FqWUNFQ0FDSUFFMkFoZ0xJQU1vQWhRaUFnUkFJQUVnQWpZQ0ZDQUNJQUUyQWhnTElBVWhBUXNGSUFVaEFRc2dCRUVRU1FSQUlBTWdBQ0FFYWlJQVFRTnlOZ0lFSUFBZ0Eyb2lBQ0FBS0FJRVFRRnlOZ0lFQlFKQUlBTWdBRUVEY2pZQ0JDQUhJQVJCQVhJMkFnUWdCQ0FIYWlBRU5nSUFJQVJCQTNZaEFpQUVRWUFDU1FSQUlBSkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUJRUUVnQW5RaUFuRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQnpZQ0FDQUJJQWMyQWd3Z0J5QUJOZ0lJSUFjZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFuUWlCa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUdJQUIwSWdaQmdJQVBha0VRZGtFQ2NTSUZJQUFnQW5KeWF5QUdJQVYwUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFBZ0J5QUNOZ0ljSUFkQkFEWUNGQ0FIUVFBMkFoQkJBU0FDZENJR0lBRnhSUVJBUWJEUkF5QUJJQVp5TmdJQUlBQWdCellDQUNBSElBQTJBaGdnQnlBSE5nSU1JQWNnQnpZQ0NBd0JDeUFFSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdCRUVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUUlEUUNBQVFSQnFJQUpCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQUpCQVhRaEFpQUVJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFjMkFnQWdCeUFBTmdJWUlBY2dCellDRENBSElBYzJBZ2dNQWdzTElBRW9BZ2dpQUNBSE5nSU1JQUVnQnpZQ0NDQUhJQUEyQWdnZ0J5QUJOZ0lNSUFkQkFEWUNHQXNMSUFva0JpQURRUWhxRHdzTEN3c0xDd3NDUUFKQVFiVFJBeWdDQUNJQ0lBQlBCRUJCd05FREtBSUFJUUVnQWlBQWF5SURRUTlMQkVCQndORURJQUFnQVdvaUJEWUNBRUcwMFFNZ0F6WUNBQ0FFSUFOQkFYSTJBZ1FnQVNBQ2FpQUROZ0lBSUFFZ0FFRURjallDQkFWQnRORURRUUEyQWdCQndORURRUUEyQWdBZ0FTQUNRUU55TmdJRUlBRWdBbW9pQUNBQUtBSUVRUUZ5TmdJRUN3d0JDd0pBUWJqUkF5Z0NBQ0lCSUFCTEJFQU1BUXNnQUVFdmFpSUZRWVRWQXlnQ0FBUi9RWXpWQXlnQ0FBVkJqTlVEUVlBZ05nSUFRWWpWQTBHQUlEWUNBRUdRMVFOQmZ6WUNBRUdVMVFOQmZ6WUNBRUdZMVFOQkFEWUNBRUhvMUFOQkFEWUNBRUdFMVFNZ0NrRndjVUhZcXRXcUJYTTJBZ0JCZ0NBTElnSnFJZ05CQUNBQ2F5SUljU0lHSUFCTkJFQU1Bd3RCNU5RREtBSUFJZ0lFUUNBR1FkelVBeWdDQUNJRWFpSUhJQVJOSUFjZ0FrdHlCRUFNQkFzTElBQkJNR29oQndKQUFrQkI2TlFES0FJQVFRUnhCRUJCQUNFQ0JRSkFBa0FDUUVIRTBRTW9BZ0FpQWtVTkFFSHMxQU1oQkFOQUFrQWdCQ2dDQUNJSklBSk5CRUFnQ1NBRUtBSUVhaUFDU3cwQkN5QUVLQUlJSWdRTkFRd0NDd3NnQ0NBRElBRnJjU0lDUWYvLy8vOEhTUVJBSUFJUXVnRWlBU0FFS0FJQUlBUW9BZ1JxUmdSQUlBRkJmMGNOQmdVTUF3c0ZRUUFoQWdzTUFndEJBQkM2QVNJQlFYOUdCSDlCQUFWQjNOUURLQUlBSWdRZ0JpQUJRWWpWQXlnQ0FDSUNRWDlxSWdOcVFRQWdBbXR4SUFGclFRQWdBU0FEY1J0cUlnSnFJUU1nQWtILy8vLy9CMGtnQWlBQVMzRUVmMEhrMUFNb0FnQWlDQVJBSUFNZ0JFMGdBeUFJUzNJRVFFRUFJUUlNQlFzTElBRWdBaEM2QVNJRFJnMEZJQU1oQVF3Q0JVRUFDd3NoQWd3QkN5QUJRWDlISUFKQi8vLy8vd2RKY1NBSElBSkxjVVVFUUNBQlFYOUdCRUJCQUNFQ0RBSUZEQVFMQUF0QmpOVURLQUlBSWdNZ0JTQUNhMnBCQUNBRGEzRWlBMEgvLy8vL0IwOE5Ba0VBSUFKcklRUWdBeEM2QVVGL1JnUi9JQVFRdWdFYVFRQUZJQUlnQTJvaEFnd0RDeUVDQzBIbzFBTkI2TlFES0FJQVFRUnlOZ0lBQ3lBR1FmLy8vLzhIU1FSQUlBWVF1Z0VoQVVFQUVMb0JJZ01nQVdzaUJpQUFRU2hxU3lFRUlBWWdBaUFFR3lFQ0lBUkJBWE1nQVVGL1JuSWdBVUYvUnlBRFFYOUhjU0FCSUFOSmNVRUJjM0pGRFFFTERBRUxRZHpVQXlBQ1FkelVBeWdDQUdvaUF6WUNBQ0FEUWVEVUF5Z0NBRXNFUUVIZzFBTWdBellDQUF0QnhORURLQUlBSWdNRVFBSkFRZXpVQXlFRUFrQUNRQU5BSUFFZ0JDZ0NBQ0lHSUFRb0FnUWlCV3BHRFFFZ0JDZ0NDQ0lFRFFBTERBRUxJQVFvQWd4QkNIRkZCRUFnQmlBRFRTQUJJQU5MY1FSQUlBUWdBaUFGYWpZQ0JDQURRUUFnQTBFSWFpSUJhMEVIY1VFQUlBRkJCM0ViSWdScUlRRWdBa0c0MFFNb0FnQnFJZ1lnQkdzaEFrSEUwUU1nQVRZQ0FFRzQwUU1nQWpZQ0FDQUJJQUpCQVhJMkFnUWdBeUFHYWtFb05nSUVRY2pSQTBHVTFRTW9BZ0EyQWdBTUF3c0xDeUFCUWJ6UkF5Z0NBRWtFUUVHODBRTWdBVFlDQUFzZ0FTQUNhaUVHUWV6VUF5RUVBa0FDUUFOQUlBWWdCQ2dDQUVZTkFTQUVLQUlJSWdRTkFBc01BUXNnQkNnQ0RFRUljVVVFUUNBRUlBRTJBZ0FnQkNBQ0lBUW9BZ1JxTmdJRUlBQWdBVUVBSUFGQkNHb2lBbXRCQjNGQkFDQUNRUWR4RzJvaUIyb2hCU0FHUVFBZ0JrRUlhaUlCYTBFSGNVRUFJQUZCQjNFYmFpSUNJQWRySUFCcklRUWdCeUFBUVFOeU5nSUVJQUlnQTBZRVFFRzQwUU1nQkVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFVMkFnQWdCU0FBUVFGeU5nSUVCUUpBSUFKQndORURLQUlBUmdSQVFiVFJBeUFFUWJUUkF5Z0NBR29pQURZQ0FFSEEwUU1nQlRZQ0FDQUZJQUJCQVhJMkFnUWdBQ0FGYWlBQU5nSUFEQUVMSUFJb0FnUWlDVUVEY1VFQlJnUkFJQWxCQTNZaEF5QUpRWUFDU1FSQUlBSW9BZ2dpQUNBQ0tBSU1JZ0ZHQkVCQnJORURRYXpSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQVVnQUNBQk5nSU1JQUVnQURZQ0NBc0ZBa0FnQWlnQ0dDRUlJQUlnQWlnQ0RDSUFSZ1JBQWtBZ0FrRVFhaUlCUVFScUlnTW9BZ0FpQUFSQUlBTWhBUVVnQWlnQ0VDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQmlnQ0FDSURSUVJBSUFCQkVHb2lCaWdDQUNJRFJRMEJDeUFHSVFFZ0F5RUFEQUVMQ3lBQlFRQTJBZ0FMQlNBQ0tBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBaEZEUUFnQWlBQ0tBSWNJZ0ZCQW5SQjNOTURhaUlES0FJQVJnUkFBa0FnQXlBQU5nSUFJQUFOQUVHdzBRTkJzTkVES0FJQVFRRWdBWFJCZjNOeE5nSUFEQUlMQlNBSVFSQnFJQWhCRkdvZ0FpQUlLQUlRUmhzZ0FEWUNBQ0FBUlEwQkN5QUFJQWcyQWhnZ0FpZ0NFQ0lCQkVBZ0FDQUJOZ0lRSUFFZ0FEWUNHQXNnQWlnQ0ZDSUJSUTBBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDeUFDSUFsQmVIRWlBR29oQWlBQUlBUnFJUVFMSUFJZ0FpZ0NCRUYrY1RZQ0JDQUZJQVJCQVhJMkFnUWdCQ0FGYWlBRU5nSUFJQVJCQTNZaEFTQUVRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQlRZQ0FDQUJJQVUyQWd3Z0JTQUJOZ0lJSUFVZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFYUWlBa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUNJQUIwSWdKQmdJQVBha0VRZGtFQ2NTSURJQUFnQVhKeWF5QUNJQU4wUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQVVFQ2RFSGMwd05xSVFBZ0JTQUJOZ0ljSUFWQkFEWUNGQ0FGUVFBMkFoQkJzTkVES0FJQUlnSkJBU0FCZENJRGNVVUVRRUd3MFFNZ0FpQURjallDQUNBQUlBVTJBZ0FnQlNBQU5nSVlJQVVnQlRZQ0RDQUZJQVUyQWdnTUFRc2dCQ0FBS0FJQUlnQW9BZ1JCZUhGR0JFQWdBQ0VCQlFKQUlBUkJBRUVaSUFGQkFYWnJJQUZCSDBZYmRDRUNBMEFnQUVFUWFpQUNRUjkyUVFKMGFpSURLQUlBSWdFRVFDQUNRUUYwSVFJZ0JDQUJLQUlFUVhoeFJnMENJQUVoQUF3QkN3c2dBeUFGTmdJQUlBVWdBRFlDR0NBRklBVTJBZ3dnQlNBRk5nSUlEQUlMQ3lBQktBSUlJZ0FnQlRZQ0RDQUJJQVUyQWdnZ0JTQUFOZ0lJSUFVZ0FUWUNEQ0FGUVFBMkFoZ0xDeUFLSkFZZ0IwRUlhZzhMQzBIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lHSUFOTkJFQWdCaUFFS0FJRWFpSUdJQU5MRFFFTElBUW9BZ2doQkF3QkN3dEJ4TkVESUFGQkFDQUJRUWhxSWdSclFRZHhRUUFnQkVFSGNSc2lCR29pQlRZQ0FFRzQwUU1nQWtGWWFpSUlJQVJySWdRMkFnQWdCU0FFUVFGeU5nSUVJQUVnQ0dwQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUlBTkJBQ0FHUVZGcUlnUkJDR29pQld0QkIzRkJBQ0FGUVFkeEd5QUVhaUlFSUFRZ0EwRVFha2tiSWdSQkd6WUNCQ0FFUWV6VUF5a0NBRGNDQ0NBRVFmVFVBeWtDQURjQ0VFSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSDAxQU1nQkVFSWFqWUNBQ0FFUVJocUlRRURRQ0FCUVFScUlnSkJCellDQUNBQlFRaHFJQVpKQkVBZ0FpRUJEQUVMQ3lBRElBUkhCRUFnQkNBRUtBSUVRWDV4TmdJRUlBTWdCQ0FEYXlJR1FRRnlOZ0lFSUFRZ0JqWUNBQ0FHUVFOMklRSWdCa0dBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlCRUVCSUFKMElnSnhCSDhnQVVFSWFpSUVLQUlBQlVHczBRTWdBaUFFY2pZQ0FDQUJRUWhxSVFRZ0FRc2hBaUFFSUFNMkFnQWdBaUFETmdJTUlBTWdBallDQ0NBRElBRTJBZ3dNQWdzZ0JrRUlkaUlCQkg4Z0JrSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1JCZ09BZmFrRVFka0VFY1NFQlFRNGdCQ0FCZENJRVFZQ0FEMnBCRUhaQkFuRWlCU0FCSUFKeWNtc2dCQ0FGZEVFUGRtb2lBVUVCZENBR0lBRkJCMnAyUVFGeGNnc0ZRUUFMSWdKQkFuUkIzTk1EYWlFQklBTWdBallDSENBRFFRQTJBaFFnQTBFQU5nSVFRYkRSQXlnQ0FDSUVRUUVnQW5RaUJYRkZCRUJCc05FRElBUWdCWEkyQWdBZ0FTQUROZ0lBSUFNZ0FUWUNHQ0FESUFNMkFnd2dBeUFETmdJSURBSUxJQVlnQVNnQ0FDSUJLQUlFUVhoeFJnUkFJQUVoQWdVQ1FDQUdRUUJCR1NBQ1FRRjJheUFDUVI5R0czUWhCQU5BSUFGQkVHb2dCRUVmZGtFQ2RHb2lCU2dDQUNJQ0JFQWdCRUVCZENFRUlBWWdBaWdDQkVGNGNVWU5BaUFDSVFFTUFRc0xJQVVnQXpZQ0FDQURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdEQ3dzZ0FpZ0NDQ0lCSUFNMkFnd2dBaUFETmdJSUlBTWdBVFlDQ0NBRElBSTJBZ3dnQTBFQU5nSVlDd3NGUWJ6UkF5Z0NBQ0lEUlNBQklBTkpjZ1JBUWJ6UkF5QUJOZ0lBQzBIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIUTBRTkJoTlVES0FJQU5nSUFRY3pSQTBGL05nSUFRZURSQTBIVTBRTTJBZ0JCM05FRFFkVFJBellDQUVIbzBRTkIzTkVETmdJQVFlVFJBMEhjMFFNMkFnQkI4TkVEUWVUUkF6WUNBRUhzMFFOQjVORUROZ0lBUWZqUkEwSHMwUU0yQWdCQjlORURRZXpSQXpZQ0FFR0EwZ05COU5FRE5nSUFRZnpSQTBIMDBRTTJBZ0JCaU5JRFFmelJBellDQUVHRTBnTkIvTkVETmdJQVFaRFNBMEdFMGdNMkFnQkJqTklEUVlUU0F6WUNBRUdZMGdOQmpOSUROZ0lBUVpUU0EwR00wZ00yQWdCQm9OSURRWlRTQXpZQ0FFR2MwZ05CbE5JRE5nSUFRYWpTQTBHYzBnTTJBZ0JCcE5JRFFaelNBellDQUVHdzBnTkJwTklETmdJQVFhelNBMEdrMGdNMkFnQkJ1TklEUWF6U0F6WUNBRUcwMGdOQnJOSUROZ0lBUWNEU0EwRzAwZ00yQWdCQnZOSURRYlRTQXpZQ0FFSEkwZ05Cdk5JRE5nSUFRY1RTQTBHODBnTTJBZ0JCME5JRFFjVFNBellDQUVITTBnTkJ4TklETmdJQVFkalNBMEhNMGdNMkFnQkIxTklEUWN6U0F6WUNBRUhnMGdOQjFOSUROZ0lBUWR6U0EwSFUwZ00yQWdCQjZOSURRZHpTQXpZQ0FFSGswZ05CM05JRE5nSUFRZkRTQTBIazBnTTJBZ0JCN05JRFFlVFNBellDQUVINDBnTkI3TklETmdJQVFmVFNBMEhzMGdNMkFnQkJnTk1EUWZUU0F6WUNBRUg4MGdOQjlOSUROZ0lBUVlqVEEwSDgwZ00yQWdCQmhOTURRZnpTQXpZQ0FFR1Ewd05CaE5NRE5nSUFRWXpUQTBHRTB3TTJBZ0JCbU5NRFFZelRBellDQUVHVTB3TkJqTk1ETmdJQVFhRFRBMEdVMHdNMkFnQkJuTk1EUVpUVEF6WUNBRUdvMHdOQm5OTUROZ0lBUWFUVEEwR2Mwd00yQWdCQnNOTURRYVRUQXpZQ0FFR3Mwd05CcE5NRE5nSUFRYmpUQTBHczB3TTJBZ0JCdE5NRFFhelRBellDQUVIQTB3TkJ0Tk1ETmdJQVFielRBMEcwMHdNMkFnQkJ5Tk1EUWJ6VEF6WUNBRUhFMHdOQnZOTUROZ0lBUWREVEEwSEUwd00yQWdCQnpOTURRY1RUQXpZQ0FFSFkwd05Cek5NRE5nSUFRZFRUQTBITTB3TTJBZ0JCeE5FRElBRkJBQ0FCUVFocUlnTnJRUWR4UVFBZ0EwRUhjUnNpQTJvaUJEWUNBRUc0MFFNZ0FrRllhaUlDSUFOcklnTTJBZ0FnQkNBRFFRRnlOZ0lFSUFFZ0FtcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFDMEc0MFFNb0FnQWlBU0FBU3dSQURBSUxDMEdreFFOQk1EWUNBQXdDQzBHNDBRTWdBU0FBYXlJQ05nSUFRY1RSQXlBQVFjVFJBeWdDQUNJQmFpSUROZ0lBSUFNZ0FrRUJjallDQkNBQklBQkJBM0kyQWdRTElBb2tCaUFCUVFocUR3c2dDaVFHUVFBTG1BSUJCSDhnQUNBQ2FpRUVJQUZCL3dGeElRTWdBa0hEQUU0RVFBTkFJQUJCQTNFRVFDQUFJQU02QUFBZ0FFRUJhaUVBREFFTEN5QURRUWgwSUFOeUlBTkJFSFJ5SUFOQkdIUnlJUUVnQkVGOGNTSUZRVUJxSVFZRFFDQUFJQVpNQkVBZ0FDQUJOZ0lBSUFBZ0FUWUNCQ0FBSUFFMkFnZ2dBQ0FCTmdJTUlBQWdBVFlDRUNBQUlBRTJBaFFnQUNBQk5nSVlJQUFnQVRZQ0hDQUFJQUUyQWlBZ0FDQUJOZ0lrSUFBZ0FUWUNLQ0FBSUFFMkFpd2dBQ0FCTmdJd0lBQWdBVFlDTkNBQUlBRTJBamdnQUNBQk5nSThJQUJCUUdzaEFBd0JDd3NEUUNBQUlBVklCRUFnQUNBQk5nSUFJQUJCQkdvaEFBd0JDd3NMQTBBZ0FDQUVTQVJBSUFBZ0F6b0FBQ0FBUVFGcUlRQU1BUXNMSUFRZ0Ftc0xCZ0JCRVJBQ0N4b0FJQUFzQUF0QkFFZ0VRQ0FBS0FJSUdpQUFLQUlBRURnTEN3OEFJQUVFZnlBQUlBRnVCVUVBQ3dzU0FDQUFCRUFnQUNnQ0FCQTRJQUFRT0FzTGZ3RUVmeU1HSVFJakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJRUJIOGdBQ2dDQkFVZ0EwSC9BWEVMSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1E1QWtGSUFRRVFBSi9JQUVnQUNnQ0FHb2hCU0FDUVFBNkFBQWdCUXNnQWhCZklBQWdBVFlDQkFVZ0FrRUFPZ0FBSUFBZ0FXb2dBaEJmSUFBZ0FUb0FDd3NMSUFJa0Jnc1FBQ0FBUWZENEFDQUJLQUlBdHhBWEM4WURBUU4vSUFKQmdNQUFUZ1JBSUFBZ0FTQUNFQ1VhSUFBUEN5QUFJUVFnQUNBQ2FpRURJQUJCQTNFZ0FVRURjVVlFUUFOQUlBQkJBM0VFUUNBQ1JRUkFJQVFQQ3lBQUlBRXNBQUE2QUFBZ0FFRUJhaUVBSUFGQkFXb2hBU0FDUVFGcklRSU1BUXNMSUFOQmZIRWlBa0ZBYWlFRkEwQWdBQ0FGVEFSQUlBQWdBU2dDQURZQ0FDQUFJQUVvQWdRMkFnUWdBQ0FCS0FJSU5nSUlJQUFnQVNnQ0REWUNEQ0FBSUFFb0FoQTJBaEFnQUNBQktBSVVOZ0lVSUFBZ0FTZ0NHRFlDR0NBQUlBRW9BaHcyQWh3Z0FDQUJLQUlnTmdJZ0lBQWdBU2dDSkRZQ0pDQUFJQUVvQWlnMkFpZ2dBQ0FCS0FJc05nSXNJQUFnQVNnQ01EWUNNQ0FBSUFFb0FqUTJBalFnQUNBQktBSTROZ0k0SUFBZ0FTZ0NQRFlDUENBQVFVQnJJUUFnQVVGQWF5RUJEQUVMQ3dOQUlBQWdBa2dFUUNBQUlBRW9BZ0EyQWdBZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzRklBTkJCR3NoQWdOQUlBQWdBa2dFUUNBQUlBRXNBQUE2QUFBZ0FDQUJMQUFCT2dBQklBQWdBU3dBQWpvQUFpQUFJQUVzQUFNNkFBTWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0xBMEFnQUNBRFNBUkFJQUFnQVN3QUFEb0FBQ0FBUVFGcUlRQWdBVUVCYWlFQkRBRUxDeUFFQ3gwQUlBQW9BaGdnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBU0FDRU40SUN3OEFJQUVFZnlBQUlBRndCVUVBQ3dzUEFDQUJCSDhnQUNBQmJ3VkJBQXNMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQi9BQVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQ3hVQUlBQkJBU0FBR3hCRUlnQUVmeUFBQlVFQUN3dXFCQUlKZndKOUl3WWhCU01HUVNCcUpBWWdCVUVFYWlFRUlBVWdBRFlDQUNBQUtBSUFJUU1DUUFKQVFhREVBeWdDQUNJQlJTSUpCRUJCQUNFQURBRUZJQUVnQVVGL2FpSUljVVVpQndSL0lBTWdDSEVGSUFNZ0FVa0VmeUFEQlNBRElBRVFUZ3NMSWdCQkFuUkJuTVFES0FJQWFpZ0NBQ0lDQkVBRFFDQUNLQUlBSWdKRkRRTWdBeUFDS0FJRUlnWkhCRUFnQndSL0lBWWdDSEVGSUFZZ0FVOEVmeUFHSUFFUVRnVWdCZ3NMSUFCSERRUUxJQU1nQWlnQ0NFY05BQXNGREFJTEN3d0JDeUFFSUFNZ0JSRG9Ca0dzeEFNcUFnQWlDaUFCczVSQnFNUURLQUlBUVFGcXN5SUxYU0FKY2dSQUFuOGdDeUFLbFkwUWtnRWlBaUFCUVg5cUlBRnhRUUJISUFGQkEwbHlJQUZCQVhSeUlnQWdBQ0FDU1JzUTV3WkJvTVFES0FJQUlnSkJmMm9pQUNBRGNTQUFJQUp4UlEwQUdpQURJQUpKQkg4Z0F3VWdBeUFDRUU0TEN5RUFCU0FCSVFJTFFaekVBeWdDQUNBQVFRSjBhaWdDQUNJQkJIOGdCQ2dDQUNBQktBSUFOZ0lBSUFFZ0JDZ0NBRFlDQUNBRUJTQUVLQUlBUWFURUF5Z0NBRFlDQUVHa3hBTWdCQ2dDQURZQ0FFR2N4QU1vQWdBZ0FFRUNkR3BCcE1RRE5nSUFJQVFvQWdBaUJ5Z0NBQ0lBQkVBZ0FDZ0NCQ0VBSUFJZ0FrRi9haUlCY1FSL0lBQWdBazhFZnlBQUlBSVFUZ1VnQUFzRklBQWdBWEVMSVFCQm5NUURLQUlBSUFCQkFuUnFJQWMyQWdBTElBUUxJZ0FvQWdBaEFrR294QU5CcU1RREtBSUFRUUZxTmdJQUlBQkJBRFlDQUFzZ0JTUUdJQUpCRUdvTHVnRUJCbjhnQUNnQ0FDRUJRYURFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUVp6RUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2Q0FRSURmd0YrQWtBQ1FDQUFLUU53SWdSUVJRUkFJQUFwQTNnZ0JGa05BUXNnQUJEMUFTSUNRUUJJRFFBZ0FDZ0NDQ0VCQWtBQ1FDQUFLUU53SWdSUURRQWdCQ0FBS1FONGZTSUVJQUVnQUNnQ0JDSURhNnhWRFFBZ0FDQURJQVNuUVg5cWFqWUNhQXdCQ3lBQklRTWdBQ0FCTmdKb0N5QUNJQUVFZnlBQUlBQXBBM2dnQVVFQmFpQUFLQUlFSWdGcnJIdzNBM2dnQVFVZ0FDZ0NCQXRCZjJvaUFDMEFBRWNFUUNBQUlBSTZBQUFMREFFTElBQkJBRFlDYUVGL0lRSUxJQUlMSXdFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQXNMRGdBZ0FDQUJJQUVRdEFFUTRna0xEUUFnQUNBQklBRVFZQkRuQ1FzSUFFRURFQUpCQUF0R0FnSi9BWDBqQmlFRkl3WkJFR29rQmdKL0lBQWdBeUFFRUt3QklRWWdCVUVFYWlBRklBRWdBaUFERU1zQ0lBWUxJQVVxQWdRZ0JTb0NBQkN2QnlFSElBVWtCaUFIQ3drQUlBQWdBQkREQXd0R0FDQUFJQUVxQWdnZ0FTb0NBQ0FDS2dJQWxDQUJLZ0lFSUFJcUFnU1VrcEk0QWdBZ0FDQUJLZ0lVSUFFcUFnd2dBaW9DQUpRZ0FTb0NFQ0FDS2dJRWxKS1NPQUlFQ3kwQVFmQytBeXdBQUVVRVFFSHd2Z01RY0FSQVFZak9BeEQ5QkRZQ0FFSHd2Z01RYndzTFFZak9BeWdDQUF1ekJRRUlmeUFBS0FMVUF5SUVLQUlRSWdKQmdJQUNTQVJBSUFSQkRHb2hCU0FFS0FJVUlRTURmeUFFSUFOQmYyb2lBallDRkNBRFFRRklCRUFnQUNnQ3VBTUVRRUVBSVFNRklBQW9BaGdpQWlnQ0JFVUVRQ0FDS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdOQkdUWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUNJQUlvQWdSQmYybzJBZ1FnQWlBQ0tBSUFJZ0pCQVdvMkFnQWdBaXdBQUNJRFFmOEJjU0VDSUFOQmYwWUVRQUovQTBBQ1FDQUFLQUlZSWdJb0FnUkZCRUFnQWlnQ0RDRURJQUFnQTBIL0FIRkJDR29SQUFCRkJFQWdBQ2dDQUNJRFFSazJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN3c2dBaUFDS0FJRVFYOXFOZ0lFSUFJZ0FpZ0NBQ0lDUVFGcU5nSUFBa0FDUUNBQ0xBQUFJZ0pCZjJzT0FnRUFBZ3RCL3dFTUF3c01BUXNMSUFBZ0FrSC9BWEUyQXJnRFFRQUxJUUlMSUFJaEF5QUVLQUlVSVFJTElBVWdBeUFGS0FJQVFRaDBjallDQUNBRUlBSkJDR29pQXpZQ0ZDQUNRWGhJQkVBZ0JDQUNRUWxxSWdJMkFoUWdBa1VFUUNBRVFZQ0FBallDRUVFQUlRSUxCU0FESVFJTEN5QUVJQVFvQWhCQkFYUWlBellDRUNBRFFZQ0FBa2dFZnlBQ0lRTU1BUVVnQXdzTElRQUZJQUloQUNBRVFReHFJUVVnQkNnQ0ZDRUNDeUFCTFFBQUlnTkIvd0J4UVFKMFFaQW1haWdDQUNJR1FRaDFJUWdnQkNBQUlBWkJFSFVpQjJzaUFEWUNFQ0FGS0FJQUlna2dBQ0FDZENJQ1RnUkFJQVVnQ1NBQ2F6WUNBQ0FFSUFjMkFoQWdBMEdBQVhFaEFpQUFJQWRJQkVBZ0FTQUNJQWh6T2dBQUlBTkJCM1VQQlNBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVUEN3QUxJQUJCZ0lBQ1RnUkFJQU5CQjNVUEN5QURRWUFCY1NFQ0lBQWdCMGdFZnlBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVRklBRWdBaUFJY3pvQUFDQURRUWQxQ3dzR0FDQUFFRGdMREFBZ0FDQUJMQUFBT2dBQUM0MEJBUU4vQWtBQ1FDQUFJZ0pCQTNGRkRRQWdBaUlCSVFBQ1FBTkFJQUVzQUFCRkRRRWdBVUVCYWlJQklnQkJBM0VOQUFzZ0FTRUFEQUVMREFFTEEwQWdBRUVFYWlFQklBQW9BZ0FpQTBILy9mdDNhaUFEUVlDQmdvUjRjVUdBZ1lLRWVITnhSUVJBSUFFaEFBd0JDd3NnQTBIL0FYRUVRQU5BSUFCQkFXb2lBQ3dBQUEwQUN3c0xJQUFnQW1zTDJBRUJBMzhnQXlnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFCSUFKc0lRVWdBeUFETEFCS0lnUWdCRUgvQVdweU9nQktJQUpCQUNBQkd5RUNBa0FnQXlnQ0NDQURLQUlFSWdacklnUkJBRW9FZnlBQUlBWWdCQ0FGSUFRZ0JVa2JJZ1FRVEJvZ0F5QUVJQU1vQWdScU5nSUVJQUFnQkdvaEFDQUZJQVJyQlNBRkN5SUVSUTBBSUFBaEJpQUVJUUFEUUFKQUlBTVFwd0lOQUNBRElBWWdBQ0FES0FJZ1FUOXhRY29CYWhFRUFDSUVRUUZxUVFKSkRRQWdBQ0FFYXlJQVJRMENJQVFnQm1vaEJnd0JDd3NnQlNBQWF5QUJFRWdoQWdzZ0Fnc3hBUUYvUWVpSkFTZ0NBQ0VCSUFBRVFFSG9pUUZCak1VRElBQWdBRUYvUmhzMkFnQUxRWDhnQVNBQlFZekZBMFliQ3dNQUFRc0lBRUVHRUFKQkFBdTRBUUVCZlNBQ0lBRVF3d01oQXlBQUlBQXFBZ0FnQXlBQktnSUFsSk00QWdBZ0FDQUFLZ0lFSUFNZ0FTb0NCSlNUT0FJRUlBQWdBQ29DQ0NBRElBRXFBZ2lVa3pnQ0NDQUFJQUFxQWd3Z0F5QUJLZ0lNbEpNNEFnd2dBQ0FBS2dJUUlBTWdBU29DRUpTVE9BSVFJQUFnQUNvQ0ZDQURJQUVxQWhTVWt6Z0NGQ0FBSUFBcUFoZ2dBeUFCS2dJWWxKTTRBaGdnQUNBQUtnSWNJQU1nQVNvQ0hKU1RPQUljSUFBZ0FDb0NJQ0FESUFFcUFpQ1VremdDSUFzSUFFRUxFQUpCQUF2WEF3RUdmeUFBS0FJQUlRUWdBQ2dDQkNFSEFrQUNRQ0FBS0FJUUlnVW9BcmdEQkVBZ0FTRUlJQUloQmlBSElRSWdCQ0VCREFFRklBSkJHVWdFUUFKQUlBRWhDQ0FDSVFZQ1FBTkFBa0FnQjBVRVFDQUZLQUlZS0FJTUlRRWdCU0FCUWY4QWNVRUlhaEVBQUVVTkF5QUZLQUlZSWdFb0FnUWhCeUFCS0FJQUlRUUxJQWRCZjJvaEFpQUVRUUZxSVFFZ0JDd0FBQ0lIUWY4QmNTRUVJQWRCZjBZRVFBTkFBa0FnQWdSL0lBRUZJQVVvQWhnb0Fnd2hBU0FGSUFGQi93QnhRUWhxRVFBQVJRMEdJQVVvQWhnaUFTZ0NCQ0VDSUFFb0FnQUxJUVFnQWtGL2FpRUNJQVJCQVdvaEFRSkFBa0FnQkN3QUFDSUVRWDlyRGdJQkFBVUxRZjhCSVFRTUFRc01BUXNMQ3lBRUlBaEJDSFJ5SVFnZ0JrRUlhaUVKSUFaQkVVZ0VRQ0FDSVFjZ0FTRUVJQWtoQmd3Q0JTQUpJUVlNQkFzQUN3c2dCU0FFUWY4QmNUWUN1QU1NQkF0QkFBOExCU0FCSVFnZ0FpRUdJQWNoQWlBRUlRRUxDd3dCQ3lBR0lBTklCRUFnQlNnQzFBTW9BaWhGQkVBZ0JTZ0NBQ0lEUWZnQU5nSVVJQU1vQWdRaEF5QUZRWDhnQTBFL2NVR3lCV29SQXdBZ0JTZ0MxQU5CQVRZQ0tBc2dDRUVaSUFacmRDRUlRUmtoQmdzTElBQWdBVFlDQUNBQUlBSTJBZ1FnQUNBSU5nSUlJQUFnQmpZQ0RFRUJDdzRBSUFFZ0FFRi9hbW9nQVJBNUN3Y0FJQUFnQUpRTG5RRUJCSDhnQUNnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFBRUp3RklBQW9BZ0JCQVhGQkFFY2lCRVVFUUJDckFpRUJJQUFvQWpRaUFnUkFJQUlnQUNnQ09EWUNPQXNnQUNnQ09DSURCRUFnQXlBQ05nSTBDeUFBSUFFb0FnQkdCRUFnQVNBRE5nSUFDMEdveFFNUURnc2dBQkNwQWhvZ0FDQUFLQUlNUWY4QWNVRUlhaEVBQUJvZ0FDZ0NZQ0lCQkVBZ0FSQTRDeUFFUlFSQUlBQVFPQXNMcVFFQ0NIOEJmQ01HSVFNakJrRXdhaVFHSUFBUW53Y0NmeERqQXlFSUlBTkJHR29pQVJDN0F5QUJMQUFMSVFVZ0FTZ0NBQ0VHSUFCQkVHb2lBaXdBQzBFQVNBUi9JQUlvQWdBRklBSUxJUWNnQUJDZUIwUUFBQUFBQUVDUFFLSWhDU0FESWdCQjhLTUNOZ0lBSUFBZ0JpQUJJQVZCQUVnYk5nSUVJQUJCK0tNQ05nSUlJQUFnQnpZQ0RDQUFJQWs1QXhBZ0NBdEIxYU1DSUFBUXR3TWdBUkJISUFJUVJ5QUFKQVlMUkFBZ0FDQUJjeUlBSUFCQkFYWkIxYXJWcWdWeGF5SUFRYlBtekprRGNTQUFRUUoyUWJQbXpKa0RjV29pQUVFRWRpQUFha0dQbnJ6NEFIRkJnWUtFQ0d4QkdIWUxmZ0VEZnlBQlF3QUFBRCtTRUVNZ0FDZ0NFR29oQlNBQ1F3QUFBRCtTRUVNZ0FDZ0NGR29oQmlBRlFRQklCSDlCZndVZ0JrRUFTQ0FGSUFBb0FnZ2lCMDV5Qkg5QmZ3VWdCaUFBS0FJTVNBUi9JQU1nQUNnQ0FDQUdJQWRzSUFWcVFRTjBhaUlBS0FJQU5nSUFJQVFnQUNnQ0JEWUNBRUVBQlVGL0N3c0xDd3dBSUFBZ0FTZ0NBRFlDQUFzV0FDQUFRUUEyQWdBZ0FDQUFLQUlBUVFGeU5nSUFDdzBBSUFBc0FBQkJBRWRCQVhNTEVRQWdBQ2dDRkNBQUtBSVFhMEVVRURrTEdBQWdBQ2dDQUVFZ2NVVUVRQ0FCSUFJZ0FCQ1hBeG9MQzBBQUlBQWdBR0lFZjBHQWdJQ0FlQVVnQUVRQUFBQUFBQURnUVdZRWYwR0FnSUNBZUFVZ0FFUUFBQ0FBQUFEZ3dXVUVmMEdBZ0lDQWVBVWdBS29MQ3dzTEJ3QWdBRUVFYWd0OUFRSi9Jd1loQlNNR1FZQUNhaVFHSUFSQmdNQUVjVVVnQWlBRFNuRUVRQ0FGSUFGQkdIUkJHSFVnQWlBRGF5SUJRWUFDSUFGQmdBSkpHeEJGR2lBQlFmOEJTd1JBSUFJZ0Eyc2hCZ05BSUFBZ0JVR0FBaEJ5SUFGQmdINXFJZ0ZCL3dGTERRQUxJQVpCL3dGeElRRUxJQUFnQlNBQkVISUxJQVVrQmdzR0FFRVpFQUlMT1FFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQkRZQ0FDQUNFR0loQWlBQUlBRWdBeUFGRUtrQklRWWdBZ1JBSUFJUVlob0xJQVVrQmlBR0M1WUNBUVIvSUFBb0FnUWlCaUFBTEFBTElnUkIvd0Z4SWdVZ0JFRUFTQnNFUUFKQUlBRWdBa2NFUUNBQ0lRUWdBU0VGQTBBZ0JTQUVRWHhxSWdSSkJFQWdCU2dDQUNFR0lBVWdCQ2dDQURZQ0FDQUVJQVkyQWdBZ0JVRUVhaUVGREFFTEN5QUFMQUFMSWdSQi93RnhJUVVnQUNnQ0JDRUdDeUFDUVh4cUlRY2dBQ2dDQUNBQUlBUkJHSFJCR0hWQkFFZ2lBaHNpQUNBR0lBVWdBaHRxSVFVQ1FBSkFBMEFDUUNBQUxBQUFJZ0pCQUVvZ0FrSC9BRWR4SVFRZ0FTQUhUdzBBSUFRRVFDQUJLQUlBSUFKSERRTUxJQUZCQkdvaEFTQUFRUUZxSUFBZ0JTQUFhMEVCU2hzaEFBd0JDd3NNQVFzZ0EwRUVOZ0lBREFFTElBUUVRQ0FIS0FJQVFYOXFJQUpQQkVBZ0EwRUVOZ0lBQ3dzTEN3dENBUUYvSUFCRUFBQUFBQUFBOEw4NUF3QWdBRVFBQUFBQUFBRHd2emtEQ0NBQVFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBQVFvQWNMQ0FCQkJSQUNRUUFMcmdVQ0MzOENmU01HSVFjakJrRWdhaVFHSUFkQkNHb2hCU0FCUVg5TUJFQWdCVUhBeUFOQjlJMENFRGRCczRvQ0VEZEI3NklDRURkQm9nSVFQa0gyb2dJUU4wR1dqZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUUlnQkVFS0lBSkJQM0ZCaWdGcUVRSUFJUUlnQlJBOElBTWdBaEJBSUFNUVB4QUFDeUFGSUFFMkFnQWdBRUhjQUdvaUJpQUZFT2dESWdJRVFDQUNJQUlvQWd4QkFXbzJBZ3dGSUFjZ0FUWUNBQ0FIUVFFMkFnUUNRQUpBSUFBb0FtQWlCRVVpQ2dSQVFRQWhBZ3dCQlNBRUlBUkJmMm9pQ1hGRklnc0VmeUFCSUFseEJTQUVJQUZMQkg4Z0FRVWdBU0FFRUU0TEN5SUNRUUowSUFZb0FnQnFLQUlBSWdNRVFBTkFJQU1vQWdBaUEwVU5BeUFES0FJRUlnZ2dBVWNFUUNBTEJIOGdDQ0FKY1FVZ0NDQUVUd1IvSUFnZ0JCQk9CU0FJQ3dzZ0FrY05CQXNnQXlnQ0NDQUJSdzBBQ3dVTUFnc0xEQUVMSUFVZ0JpQUJJQWNRdkFjZ0NpQUFLZ0pzSWcwZ0JMT1VJQUFvQW1oQkFXcXpJZzVkY2dSL0FuOGdCaUFPSUEyVmpSQ1NBU0lESUFRZ0JFRi9hbkZCQUVjZ0JFRURTWElnQkVFQmRISWlBaUFDSUFOSkd4REZBaUFBS0FKZ0lnTkJmMm9oQWlBQklBSnhJQUlnQTNGRkRRQWFJQU1nQVUwRWZ5QUJJQU1RVGdVZ0FRc0xCU0FFSVFNZ0Fnc2hBU0FHS0FJQUlBRkJBblJxS0FJQUlnSUVmeUFGS0FJQUlBSW9BZ0EyQWdBZ0FpQUZLQUlBTmdJQUlBVUZJQVVvQWdBZ0FDZ0NaRFlDQUNBQUlBVW9BZ0EyQW1RZ0JpZ0NBQ0FCUVFKMGFpQUFRZVFBYWpZQ0FDQUZLQUlBSWdRb0FnQWlBUVJBSUFFb0FnUWhBU0FESUFOQmYyb2lBbkVFZnlBQklBTlBCSDhnQVNBREVFNEZJQUVMQlNBQklBSnhDeUVCSUFZb0FnQWdBVUVDZEdvZ0JEWUNBQXNnQlFzaERDQUFJQUFvQW1oQkFXbzJBbWdnREVFQU5nSUFDd3NnQnlRR0MvWUlBUWQvSXdZaEJpTUdRUkJxSkFZZ0FVRi9UQVJBSUFaQndNZ0RRYW1PQWhBM1FiT0tBaEEzUWUraUFoQTNRYVVCRUQ1QjlxSUNFRGRCeW80Q0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FISUFVUVFDQUhFRDhRQUFzZ0FDZ0NOQ0lLSUFGTUJFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnBnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFDUVg5TUJFQWdCa0hBeUFOQmhJOENFRGRCczRvQ0VEZEI3NklDRURkQnB3RVFQa0gyb2dJUU4wR2xqd0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFBS0FJNElnc2dBa3dFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdvQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBTkJmMHdFUUNBR1FjRElBMEhmandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdwQVJBK1FmYWlBaEEzUVlTUUFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBQW9BandpQnlBRFRBUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhb0JFRDVCOXFJQ0VEZEJoSkFDRURjaUNTZ0NBRUYwYWlnQ0FDQUphaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQkVGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhc0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQUVGQWF5Z0NBQ0FFVEFSQUlBWkJ3TWdEUVlXUkFoQTNRYk9LQWhBM1FlK2lBaEEzUWF3QkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBU0FDSUFwc2FpSUJJQU1nQUNnQ1ZHeHFJQVFnQUNnQ1dHeHFJZ0FnQVNBRElBUWdCMnhxSUFvZ0MyeHNha29FUUNBR1FjRElBMEcxa1FJUU4wR3ppZ0lRTjBIdm9nSVFOMEd3QVJBK1FmYWlBaEEzUVphT0FoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUdFRHdnQWlBQUVFQWdBaEEvRUFBRklBWWtCaUFBRHd0QkFBdEZBUUovQTBBQ1FDQURJQUpPRFFBZ0EwRURkQ0FCYWlnQ0FDSUVSUTBBSUFBZ0JFWUVRQ0FEUVFOMFFRUnFJQUZxS0FJQUR3VWdBMEVCYWlFRERBSUxBQXNMUVFBTGNnRURmeU1HSVFNakJrRVFhaVFHSUFKQmIwc0VRQkFBQ3lBQ1FRdEpCRUFnQUNBQ09nQUxCU0FBSUFKQkVHcEJjSEVpQkJCUklnVTJBZ0FnQUNBRVFZQ0FnSUI0Y2pZQ0NDQUFJQUkyQWdRZ0JTRUFDeUFBSUFFZ0FoQ29BU0FEUVFBNkFBQWdBQ0FDYWlBREVGOGdBeVFHQ3dRQVFRQUxEUUFnQUNBRGxDQUJJQUtVa3dzYkFDQUNCSDhnQUNnQ0JDQUJLQUlFRUxNQlJRVWdBQ0FCUmdzTFJRSUNmd0YrSUFBZ0FUY0RjQ0FBSUFBb0FnZ2lBaUFBS0FJRUlnTnJyQ0lFTndONElBRkNBRklnQkNBQlZYRUVRQ0FBSUFNZ0FhZHFOZ0pvQlNBQUlBSTJBbWdMQ3ljQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBQ0FCSUFNUWxRTWhCQ0FESkFZZ0JBc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUUpCekljQlFaalBBa0VlSUFFUUNTQURDeVFHQ3pFQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTUxCd0FnQUVFSWFnczhBUUovSUFBb0FnUWdBQ2dDQUNJRGEwRUNkU0lDSUFGSkJFQWdBQ0FCSUFKckVQOElCU0FDSUFGTEJFQWdBQ0FCUVFKMElBTnFOZ0lFQ3dzTEV3QWdBRUdnaXdFMkFnQWdBRUVFYWhEb0NRdUJBUUFDUUFKQUlBSW9BZ1JCc0FGeFFSaDBRUmgxUVJCcklnSUVRQ0FDUVJCR0JFQU1BZ1VNQXdzQUN3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFBUVFGcUlRQU1BZ3NnQWtFd1JpQUJJQUJyUVFGS2NVVU5BU0FBTEFBQlFkZ0FheUlCUVFBZ0FVRWdSeHNOQVNBQVFRSnFJUUFNQVFzZ0FTRUFDeUFBQ3dvQUlBQkJVR3BCQ2trTFFRRUNmMEVNRUVRaUFnUkFJQUlnQVNBQVFRTjBiQkJFSWdNMkFnQWdBd1JBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0ZJQUlRT0VFQUlRSUxCVUVBSVFJTElBSUwzQUVCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnZ0FDZ0NEQ0VDSUFBZ0FTZ0NERFlDRENBQklBSTJBZ3dnQUNnQ0VDRUNJQUFnQVNnQ0VEWUNFQ0FCSUFJMkFoQWdBQ2dDRkNFQ0lBQWdBU2dDRkRZQ0ZDQUJJQUkyQWhRZ0FDZ0NHQ0VDSUFBZ0FTZ0NHRFlDR0NBQklBSTJBaGdnQUNnQ0hDRUNJQUFnQVNnQ0hEWUNIQ0FCSUFJMkFod2dBQ2dDSUNFQ0lBQWdBU2dDSURZQ0lDQUJJQUkyQWlBTEZRQWdBQVIvSUFBZ0FUa0RnQUZCQUFWQmZ3c2FDN2dDQWdWL0Fud2pCaUVISXdaQklHb2tCaUFIUVFocUlRWWdCMEVVYWlJSUlBUkJCSFFRUkNJS05nSUFJQXBGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBSFFSQnFJUVlnQ0NBRVFSaHNFRVFpQ1RZQ0JDQUpSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFR0EwQWdCaUFFU0FSQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzREFEa0RBQ0FHUVFSMElBcHFJQVpCQkhRZ0Ftb3JBd2c1QXdnZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNQU9RTUFJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXhBNUF4QWdCa0VCYWlFR0RBRUxDeUFJSUFRMkFnZ2dBQ2dDQUNBSUlBRWdCU0FIRUowRVFRQklCRUFnQjBRQUFBQUFoTmVYUVRrREFBc2dDQ2dDQUJBNElBZ29BZ1FRT0NBSEt3TUFJUXdnQnlRR0lBd0xOUUFnQUVJQU53SUFJQUJCQURZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUFha0VBTmdJQUlBRkJBV29oQVF3QkN3c0xVUUVCZkNBQUlBQ2lJZ0FnQUtJaEFVUUFBQUFBQUFEd1B5QUFSSUZlRFAzLy85OC9vcUVnQVVSQ09nWGhVMVdsUDZLZ0lBQWdBYUlnQUVScFVPN2dRcFA1UHFKRUp4NFA2SWZBVnIrZ29xQzJDMHNCQW53Z0FDQUFvaUlCSUFDaUlnSWdBU0FCb3FJZ0FVU25SanVNaDgzR1BxSkVkT2ZLNHZrQUtyK2dvaUFDSUFGRXN2dHVpUkFSZ1QraVJIZXN5MVJWVmNXL29LSWdBS0NndGdzc0FDQUFJQUJjQkg5QkFBVWdBRU1BQUlCUFlBUi9RUUFGSUFCREFBQ0F2MThFZjBFQUJTQUFxUXNMQ3dzMEFRRi9JQUVnQW13aEJDQUNRUUFnQVJzaEFpQURLQUpNR2lBRUlBQWdCQ0FERUpjRElnQkhCSDhnQUNBQkVFZ0ZJQUlMQzNjQUlBQWdBU29DQUNBQ2xEZ0NBQ0FBSUFFcUFnUWdBcFE0QWdRZ0FDQUJLZ0lJSUFLVU9BSUlJQUFnQVNvQ0RDQUNsRGdDRENBQUlBRXFBaEFnQXBRNEFoQWdBQ0FCS2dJVUlBS1VPQUlVSUFBZ0FTb0NHQ0FDbERnQ0dDQUFJQUVxQWh3Z0FwUTRBaHdnQUNBQktnSWdJQUtVT0FJZ0MwRUJBWDhnQUNnQ0JDSUFCRUFnQUNBQUtBSUVJZ0ZCZjJvMkFnUWdBVVVFUUNBQUtBSUFLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJEcUNRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dFZ0FDZ0NCQ0FBS0FJQWEwRURkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQ2RTSUdJQVlnQTBrYlFmLy8vLzhCSUFWQkEzVkIvLy8vL3dCSkd5QUFLQUlFSUFSclFRTjFJQUJCQ0dvUWlBSWdBaWdDQ0NBQktRSUFOd0lBSUFJZ0FpZ0NDRUVJYWpZQ0NDQUFJQUlRelFJZ0FoRE1BaUFDSkFZTEM2UUNBUVYvSXdZaEJ5TUdRUkJxSkFZZ0FDZ0NBQ0lHQkVBQ1FDQUVLQUlNSVFnZ0FpQUJheUlKUVFCS0JFQWdCaWdDQUNnQ01DRUtJQVlnQVNBSklBcEJQM0ZCeWdGcUVRUUFJQWxIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ0NBRElBRnJJZ0ZyUVFBZ0NDQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRbGdRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ0ZCQUVvRVFDQUdLQUlBS0FJd0lRTWdCaUFDSUFFZ0EwRS9jVUhLQVdvUkJBQWdBVWNFUUNBQVFRQTJBZ0JCQUNFR0RBSUxDeUFFUVFBMkFnd0xCVUVBSVFZTElBY2tCaUFHQ3dnQVFRa1FBa0VBQzdVSEFRaC9JQUFvQWdBaUJ3Ui9JQWNvQWd3aUJpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRWUNRQUpBQWtBZ0FTZ0NBQ0lIQkVBZ0J5Z0NEQ0lGSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUdCRUFNQkFVTUF3c0FDd3NnQmtVRVFFRUFJUWNNQWdzTElBSWdBaWdDQUVFR2NqWUNBRUVBSVFjTUFRc2dBMEdBRUNBQUtBSUFJZ1lvQWd3aUJTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTElnWWdBeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZCRUFnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCd3dCQ3lBRElBWkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFRWFqWUNEQ0FGS0FJQUdnc2dDMEVZZEVFWWRTRUZJQVFoQmlBSElnUWhDQU5BQWtBZ0JVRlFhaUVISUFBb0FnQWlCUVIvSUFVb0Fnd2lDU0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxBbjhnQ0FSL0lBZ29BZ3dpQlNBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUVJCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoRENBQUtBSUFJUVVnREF0eklBWkJBVXB4UlEwQUlBTkJnQkFnQlNnQ0RDSUpJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBc2lCU0FES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRElBVkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VLSUFBb0FnQWlCU2dDRENJSklBVW9BaEJHQkVBZ0JTQUZLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVVnQ1VFRWFqWUNEQ0FKS0FJQUdnc2dCMEVLYkNBS1FSaDBRUmgxYWlFRklBWkJmMm9oQmd3QkN3c2dCUVIvSUFVb0Fnd2lBeUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQU5Bd3NNQVFzZ0FFVU5BUXNnQWlBQ0tBSUFRUUp5TmdJQUN5QUhDK3dIQVFoL0lBQW9BZ0FpQlFSL0lBVW9BZ3dpQ0NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ2tFUUNBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VKREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0JCQUNFRURBRUxJQUFvQWdBaUJTZ0NEQ0lJSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQ3lJRlFmOEJjU0lJUVJoMFFSaDFRWDlLQkVBZ0F5Z0NDQ0FGUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEVFUUNBRElBaEJBQ0FES0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFMUVJoMFFSaDFJUVlnQkNFSUlBa2hCUU5BQWtBZ0JrRlFhaUVFSUFBb0FnQWlDZ1IvSUFvb0Fnd2lCaUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2lBRkJIOGdCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSlFRQWhCVUVCQlVFQUN3VkJBQ0VGUVFFTElRd2dBQ2dDQUNFSElBd2dDbk1nQ0VFQlNuRkZEUUFnQnlnQ0RDSUdJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlLUWY4QmNTSUdRUmgwUVJoMVFYOU1EUVFnQXlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUVFnQXlBR1FRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQWhCaUFBS0FJQUlnY29BZ3dpQ2lBSEtBSVFSZ1JBSUFjZ0J5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUhJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVLYkNBR1FSaDBRUmgxYWlFR0lBaEJmMm9oQ0F3QkN3c2dCd1IvSUFjb0Fnd2lBeUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdDVVVOQUNBSktBSU1JZ0FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBQUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FERFFVTERBRUxJQU5GRFFNTElBSWdBaWdDQUVFQ2NqWUNBQXdDQ3dzZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQkFzZ0JBczNBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUROZ0lBSUFFUVlpRUJJQUFnQWlBRUVQUUVJUVVnQVFSQUlBRVFZaG9MSUFRa0JpQUZDMndBQW44Q1FBSkFBa0FDUUNBQUtBSUVRY29BY1E1QkFnTURBd01EQXdNQkF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3QURDMEVJREFNTFFSQU1BZ3RCQUF3QkMwRUtDd3Z6QXdFR2Z3SkFBa0FnQWJ3aUJVSC8vLy8vQjNFaUJrR0FnSUQ4QjBzTkFDQUF2Q0lDUWYvLy8vOEhjU0lEUVlDQWdQd0hTdzBBQWtBZ0JVR0FnSUQ4QTBZRVFDQUFFUFFDSVFBTUFRc2dBa0VmZGlJSElBVkJIblpCQW5GeUlRSWdBMFVFUUFKQUFrQUNRQ0FDUVFOeERnUUVCQUFCQWd0RDJ3OUpRQ0VBREFNTFE5c1BTY0FoQUF3Q0N3c0NRQ0FGUWYvLy8vOEhjU0lFUVlDQWdQd0hTQVJBSUFRTkFVUGJEOG0vUTlzUHlUOGdCeHNoQUF3Q0JTQUVRWUNBZ1B3SGF3MEJJQUpCL3dGeElRUWdBMEdBZ0lEOEIwWUVRQUpBQWtBQ1FBSkFBa0FnQkVFRGNRNEVBQUVDQXdRTFE5c1BTVDhoQUF3SEMwUGJEMG0vSVFBTUJndEQ1TXNXUUNFQURBVUxRK1RMRnNBaEFBd0VDd1VDUUFKQUFrQUNRQUpBSUFSQkEzRU9CQUFCQWdNRUMwTUFBQUFBSVFBTUJ3dERBQUFBZ0NFQURBWUxROXNQU1VBaEFBd0ZDMFBiRDBuQUlRQU1CQXNMQ3dzZ0EwR0FnSUQ4QjBZZ0JrR0FnSURvQUdvZ0EwbHlCRUJEMncvSnYwUGJEOGsvSUFjYklRQU1BUXNnQlVFQVNDQURRWUNBZ09nQWFpQUdTWEVFZlVNQUFBQUFCU0FBSUFHVml4RDBBZ3NoQUFKQUFrQUNRQ0FDUVFOeERnTURBQUVDQ3lBQWpDRUFEQUlMUTlzUFNVQWdBRU11dmJzemtwTWhBQXdCQ3lBQVF5Njl1ek9TUTlzUFNjQ1NJUUFMREFFTElBQWdBWkloQUFzZ0FBdWpBZ0FnQUFSL0FuOGdBVUdBQVVrRVFDQUFJQUU2QUFCQkFRd0JDMEhvaVFFb0FnQW9BZ0JGQkVBZ0FVR0FmM0ZCZ0w4RFJnUkFJQUFnQVRvQUFFRUJEQUlGUWFURkEwRVpOZ0lBUVg4TUFnc0FDeUFCUVlBUVNRUkFJQUFnQVVFR2RrSEFBWEk2QUFBZ0FDQUJRVDl4UVlBQmNqb0FBVUVDREFFTElBRkJnRUJ4UVlEQUEwWWdBVUdBc0FOSmNnUkFJQUFnQVVFTWRrSGdBWEk2QUFBZ0FDQUJRUVoyUVQ5eFFZQUJjam9BQVNBQUlBRkJQM0ZCZ0FGeU9nQUNRUU1NQVFzZ0FVR0FnSHhxUVlDQXdBQkpCSDhnQUNBQlFSSjJRZkFCY2pvQUFDQUFJQUZCREhaQlAzRkJnQUZ5T2dBQklBQWdBVUVHZGtFL2NVR0FBWEk2QUFJZ0FDQUJRVDl4UVlBQmNqb0FBMEVFQlVHa3hRTkJHVFlDQUVGL0N3c0ZRUUVMQzZrQkFRSi9JQUZCL3dkS0JFQWdBRVFBQUFBQUFBRGdmNklpQUVRQUFBQUFBQURnZjZJZ0FDQUJRZjRQU2lJQ0d5RUFJQUZCZ25CcUlnTkIvd2NnQTBIL0IwZ2JJQUZCZ1hocUlBSWJJUUVGSUFGQmduaElCRUFnQUVRQUFBQUFBQUFRQUtJaUFFUUFBQUFBQUFBUUFLSWdBQ0FCUVlSd1NDSUNHeUVBSUFGQi9BOXFJZ05CZ25nZ0EwR0NlRW9iSUFGQi9nZHFJQUliSVFFTEN5QUFJQUZCL3dkcXJVSTBocitpQzVzQ0FRSi9JQUlnQkVnRVFDQUFJQUVnQWlBRUVHY0VmeUFBS0FJSUlRVWdBQ2dDREFWQmZ3OExJUUlGSUFFaEJRc2dCRUVDZEVId01Xb29BZ0FnQlNBQ0lBUnJJZ0YxY1NJR0lBUkJBblFnQTJvb0FnQktCRUFDUUNBRklRSURRQUpBSUFGQkFVZ0VRQ0FBSUFJZ0FVRUJFR2RGRFFFZ0FDZ0NDQ0VDSUFBb0Fnd2hBUXNnQWlBQlFYOXFJZ0YyUVFGeElBWkJBWFJ5SWdZZ0JFRUJhaUlFUVFKMElBTnFLQUlBU2cwQkRBSUxDMEYvRHdzRklBVWhBZ3NnQUNBQ05nSUlJQUFnQVRZQ0RDQUVRUkJLQkg4Z0FDZ0NFQ0lBS0FJQUlnRkIrUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVBQlNBR0lBTkJ5QUJxSUFSQkFuUnFLQUlBYWlBREtBS01BVUVSYW1vdEFBQUxDNU1DQWdGL0FuMGdBQ0FCSUFKQkFuUWdBV29xQWdDTUVKUUJJQUpCQW5RZ0FHb2lBeUFES2dJQVF3QUFnRCtTT0FJQUlBQWdBVUVrYWlBQ1FRbHFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ5QUJxSUFKQkVtcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSHNBR29nQWtFYmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFaQUJhaUFDUVNScVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnRBRnFJQUpCTFdwQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIWUFXb2dBa0UyYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUWZ3QmFpQUNRVDlxUVFKMElBRnFLZ0lBakJDNUFTQUFFRm9pQlpFaEJDQUZRd0FBQUFCYkJFQkRBQUFBQUNFRUJTQUFJQUJEQUFDQVB5QUVsUkNVQVFzZ0JBc0dBRUVVRUFJTC9na0JDbjhqQmlFTkl3WkJFR29rQmlBTlFRaHFJUkFnRFVFTWFpSU9JQU1RT3lBT1FhRE9BeEE2SVFzZ0RoQThJQVJCQURZQ0FBSkFBa0FEUUFKQUlBRW9BZ0FoQ0NBSlJTQUdJQWRIY1VVTkFDQUlJZ2tFZnlBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFTRU1RUUFoQ1VFQUJVRUFJUXdnQ1FzRlFRRWhERUVBQ3lFSUlBSW9BZ0FpQ2lFUkFrQUNRQ0FLUlEwQUlBb29BZ3dpRHlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBOG9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0RFVU5CUXNNQVFzZ0RBMERRUUFoQ2dzZ0N5QUdLQUlBUVFBZ0N5Z0NBQ2dDTkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUVJxSWd4R0RRTUNRQ0FMSUF3b0FnQkJBQ0FMS0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQ0dwR0RRVWdDaUVJSUFzZ0JpZ0NDRUVBSUFzb0FnQW9BalJCUDNGQnlnRnFFUVFBSVFvZ0RDRUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRU1JQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQU1RUTl4UVk0RGFoRU9BRFlDQUNBR1FRaHFJUVlGQWtBZ0MwR0F3QUFnQmlnQ0FDQUxLQUlBS0FJTVFUOXhRY29CYWhFRUFFVUVRQ0FMSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUWtnQ3lBR0tBSUFJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJQWxIQkVBZ0JFRUVOZ0lBREFJTElBZ29BZ3dpQ1NBSUtBSVFSZ1JBSUFnZ0NDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUlJQWxCQkdvMkFnd2dDU2dDQUJvTElBWkJCR29oQmd3QkN3TkFBa0FnQnlBR1FRUnFJZ1pHQkVBZ0J5RUdEQUVMSUF0QmdNQUFJQVlvQWdBZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFBTkFRc0xJQW9oQ1FOQUlBZ0VmeUFJS0FJTUlnb2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQ2dKQUFrQWdDVVVOQUNBSktBSU1JZ3dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQkFzTUFRc2dDZzBDUVFBaENRc2dDMEdBd0FBZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0NDZ0NEQ0lLSUFnb0FoQkdCRUFnQ0NBSUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBZ2dDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFFQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUJSUTBDQ3d3Q0N5QUJEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFOSkFZZ0NBdXRDZ0VLZnlNR0lRMGpCa0VRYWlRR0lBMUJDR29oRUNBTlFReHFJZzRnQXhBN0lBNUJnTTRERURvaERDQU9FRHdnQkVFQU5nSUFBa0FDUUFOQUFrQWdBU2dDQUNFSUlBbEZJQVlnQjBkeFJRMEFJQWdpQ1FSL0lBa29BZ3dpQ0NBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVoQzBFQUlRbEJBQVZCQUNFTElBa0xCVUVCSVF0QkFBc2hDQ0FDS0FJQUlnb2hFUUpBQWtBZ0NrVU5BQ0FLS0FJTUlnOGdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FQTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnQzBVTkJRc01BUXNnQ3cwRFFRQWhDZ3NnRENBR0xBQUFRUUFnRENnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRRnFJZ3RHRFFNQ1FDQU1JQXNzQUFCQkFDQU1LQUlBS0FJa1FUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJBbXBHRFFVZ0NpRUlJQXdnQml3QUFrRUFJQXdvQWdBb0FpUkJQM0ZCeWdGcUVRUUFJUW9nQ3lFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTElBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTFFROXhRWTREYWhFT0FEWUNBQ0FHUVFKcUlRWUZBa0FnQml3QUFDSUpRWDlLQkVBZ0RDZ0NDQ0lMSUFsQkFYUnFMZ0VBUVlEQUFIRUVRQU5BQWtBZ0J5QUdRUUZxSWdaR0JFQWdCeUVHREFFTElBWXNBQUFpQ1VGL1RBMEFJQWxCQVhRZ0Myb3VBUUJCZ01BQWNRMEJDd3NnQ2lFSkEwQWdDQVIvSUFnb0Fnd2lDaUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRb0NRQUpBSUFsRkRRQWdDU2dDRENJTElBa29BaEJHQkg4Z0NTQUpLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CZ3NNQVFzZ0NnMEVRUUFoQ1FzZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJS1FmOEJjVUVZZEVFWWRVRi9UQTBESUF3b0FnZ2dDa0VZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQXlBSUtBSU1JZ29nQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUtRUUZxTmdJTUlBb3NBQUFRUWhvTERBQUFDd0FMQ3lBTUlBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhJQXdvQWdBb0FneEJQM0ZCaWdGcUVRSUFRZjhCY1NBTUlBWXNBQUFnRENnQ0FDZ0NERUUvY1VHS0FXb1JBZ0JCL3dGeFJ3UkFJQVJCQkRZQ0FBd0JDeUFJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRRnFOZ0lNSUFrc0FBQVFRaG9MSUFaQkFXb2hCZ3NMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaEFRSkFBa0FDUUNBQ0tBSUFJZ0JGRFFBZ0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQVVVTkFnc01BZ3NnQVEwQURBRUxJQVFnQkNnQ0FFRUNjallDQUFzZ0RTUUdJQWdMdFFJQkJYOGpCaUVISXdaQkVHb2tCaUFBS0FJQUlnWUVRQUpBSUFRb0Fnd2hDU0FDSUFGcklnaEJBblVoQ2lBSVFRQktCRUFnQmlnQ0FDZ0NNQ0VJSUFZZ0FTQUtJQWhCUDNGQnlnRnFFUVFBSUFwSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NTQURJQUZyUVFKMUlnRnJRUUFnQ1NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFrd1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnTkJBblVoQVNBRFFRQktCRUFnQmlnQ0FDZ0NNQ0VESUFZZ0FpQUJJQU5CUDNGQnlnRnFFUVFBSUFGSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0JFRUFOZ0lNQ3dWQkFDRUdDeUFISkFZZ0JndCtBUU4vSUFGREFBQUFQNUlRUXlBQUtBSVFhaUVGSUFKREFBQUFQNUlRUXlBQUtBSVVhaUVHSUFWQkFFZ0VmMEYvQlNBR1FRQklJQVVnQUNnQ0NDSUhUbklFZjBGL0JTQUdJQUFvQWd4SUJIOGdBeUFBS0FJRUlBWWdCMndnQldwQkEzUnFJZ0FvQWdBMkFnQWdCQ0FBS0FJRU5nSUFRUUFGUVg4TEN3c0xFQUFnQWdSQUlBQWdBU0FDRVBvRUN3c1FBQ0FDQkVBZ0FDQUJJQUlRVEJvTEM3OEJBUUovSXdZaEJDTUdRYUFCYWlRR0lBUkJrQUZxSVFVZ0JFR1k5Z0JCa0FFUVRCb0NRQUpBSUFGQmYycEIvdi8vL3dkTkRRQWdBUVIvUWFURkEwRTlOZ0lBUVg4RklBVWhBRUVCSVFFTUFRc2hBQXdCQ3lBRVFYNGdBR3NpQlNBQklBRWdCVXNiSWdFMkFqQWdCQ0FBTmdJVUlBUWdBRFlDTENBRUlBQWdBV29pQURZQ0VDQUVJQUEyQWh3Z0JDQUNJQU1RcFFJaEFDQUJCRUFnQkNnQ0ZDSUJJQUVnQkNnQ0VFWkJIM1JCSDNWcVFRQTZBQUFMQ3lBRUpBWWdBQXRyQVFOOUlBRXFBaUFnQVNvQ0dDQUNLZ0lBSWdTVUlBRXFBaHdnQWlvQ0JDSUZsSktTSVFNZ0FDQUJLZ0lJSUFRZ0FTb0NBSlFnQlNBQktnSUVsSktTSUFPVk9BSUFJQUFnQVNvQ0ZDQUJLZ0lNSUFJcUFnQ1VJQUVxQWhBZ0Fpb0NCSlNTa2lBRGxUZ0NCQXVmQWdJRWZ3VjhJQU5CQW5RZ0FXb29BZ0FpQ2lBQ1FRSjBJQUZxS0FJQUlnaHJ0eUVNSUFKQkFuUWdBR29vQWdBaUNTQURRUUowSUFCcUtBSUFJZ2RydHlFTklBY2dDR3dnQ1NBS2JHdTNJUThnQWtFQmFpSUhJUWdEUUNBSElBTklCRUFnQnlBSUlBd2dCMEVDZENBQWFpZ0NBTGVpSUEwZ0IwRUNkQ0FCYWlnQ0FMZWlvQ0FQb0NJT0lBNmlJZzRnQzJRaUNSc2hDQ0FIUVFGcUlRY2dEaUFMSUFrYklRc01BUXNMQW44Q1FDQUxJQXdnREtJZ0RTQU5vcUNqSUFSa1JRMEFJQUFnQVNBQ0lBZ2dCQ0FGSUFZUXF3RkJBRTRFUUNBR0tBSUFJZ0pCQlV3RVFDQUNRUUowSUFWcUlBZzJBZ0FnQmlBR0tBSUFRUUZxTmdJQUlBQWdBU0FJSUFNZ0JDQUZJQVlRcXdGQkFFNE5BZ3NMUVg4TUFRdEJBQXNMbmdJQkJYOGpCaUVESXdaQkVHb2tCaUFBS0FJUUlBRk5CRUFnQTBIQXlBTkJ4cG9DRURkQnFKa0NFRGRCNzZJQ0VEZEIyZ0VRUGtIMm9nSVFOMEhodlFFUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVJZ1FnQWtzRVFDQUFLQUlFSUFJZ0FTQUViR3BCQlhScUlRY2dBeVFHSUFjUEJTQURRY0RJQTBIV213SVFOMEdvbVFJUU4wSHZvZ0lRTjBIYkFSQStRZmFpQWhBM1FmVzlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFEUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FERUR3Z0FpQUFFRUFnQWhBL0VBQUxRUUFMQ0FCQkJ4QUNRUUFMREFBZ0FFR0Nob0FnTmdBQUM1SUJBUUYvSUFOQmdCQnhCRUFnQUVFck9nQUFJQUJCQVdvaEFBc2dBMEdBQkhFRVFDQUFRU002QUFBZ0FFRUJhaUVBQ3dOQUlBRXNBQUFpQkFSQUlBQWdCRG9BQUNBQlFRRnFJUUVnQUVFQmFpRUFEQUVMQ3lBQUFuOENRQ0FEUWNvQWNVRUlheUlCQkVBZ0FVRTRSdzBCUWU4QURBSUxJQU5CQ1haQklIRkIrQUJ6REFFTFFlUUFRZlVBSUFJYkN6b0FBQXQrQVFOL0l3WWhBaU1HUVJCcUpBWkIrdjBDSUFFc0FBQVF2d0VFZnlBQkVKa0ZRWUNBQW5JaEF5QUNJQUEyQWdBZ0FpQUROZ0lFSUFKQnRnTTJBZ2hCQlNBQ0VEUVFtZ01pQTBFQVNBUi9RUUFGSUFNZ0FSQ1lCU0lBQkg4Z0FBVWdBeEFZR2tFQUN3c0ZRYVRGQTBFY05nSUFRUUFMSVFRZ0FpUUdJQVFMREFBZ0FCRGZDU0FBSUFFYkN4QUFJQUJCSUVZZ0FFRjNha0VGU1hJTFhBRUNmeUFBTEFBQUlnSWdBU3dBQUNJRFJ5QUNSWElFZnlBQ0lRRWdBd1VEZnlBQVFRRnFJZ0FzQUFBaUFpQUJRUUZxSWdFc0FBQWlBMGNnQWtWeUJIOGdBaUVCSUFNRkRBRUxDd3NoQUNBQlFmOEJjU0FBUWY4QmNXc0xLQUVDZnlBQUlRRURRQ0FCUVFScUlRSWdBU2dDQUFSQUlBSWhBUXdCQ3dzZ0FTQUFhMEVDZFF2SUF3RUhmeUFBS0FJRUlRVWdBa0h3ayt2Y0Ewc0VRQ0FBS0FJQUlnTkJPRFlDRkNBRFFRRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBRkJBVXNFUUNBQUtBSUFJZ05CRHpZQ0ZDQURJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUpCQ0NBQ1FRZHhJZ05yUVFBZ0F4dHFJUVFDUUFKQUlBVkJOR29nQVVFQ2RHb2lDQ2dDQUNJQ0JFQURRQUpBSUFJb0FnZ2dCRThFUUNBQ0lRQU1BUXNnQWlnQ0FDSURCRUFnQXlFQ0RBSUZJQUloQXd3RUN3QUxDd1ZCQUNFRERBRUxEQUVMSUFSQjhKUHIzQU1nQkdzaUFpQUJRUUowUWVDSEFVSG9od0VnQTBVaUNSdHFLQUlBSWdFZ0FTQUNTeHNpQVdvaUFrRVFhaUlHRUVRaUJ3Ui9JQVloQVNBSEJRTi9JQUZCNUFCSkJFQWdBQ2dDQUNJQ1FUZzJBaFFnQWtFQ05nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBRUlBRkJBWFlpQVdvaUFrRVFhaUlHRUVRaUIwVU5BQ0FHSVFFZ0J3c0xJUUFnQlNBQklBVW9Ba3hxTmdKTUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUNBQ05nSUlJQWtFUUNBSUlBQTJBZ0FGSUFNZ0FEWUNBQXNMSUFBZ0JDQUFLQUlFSWdGcU5nSUVJQUFnQUNnQ0NDQUVhellDQ0NBQVFSQnFJQUZxQ3lnQkFuOENmeU1HSVFNakJrRVFhaVFHSUFCQkEwRzBod0ZCdk5BQ1FTQWdBUkFKSUFNTEpBWUxsd1VCQkg4akJpRUVJd1pCRUdva0JpQUJJQU1ROFFPT0VFTWlCallDQUNBRFFRRWdCblN5bFJEU0FTRURJQUlnQUNvQ0hDQURsQkR3QXhCRElnWTJBZ0FnQmlBQUtBSVVRWDlxUmdSQUlBRWdBU2dDQUVFQmFqWUNBQ0FDUVFBMkFnQkJBQ0VHQ3dKQUFrQWdBU2dDQUNJRlFRQklCRUFnQVVFQU5nSUFRUUFoQmd3QkJTQUZJQUFvQWhBaUJVNEVRQ0FCSUFWQmYybzJBZ0FnQUNnQ0ZFRi9haUVHREFJTEN3d0JDeUFDSUFZMkFnQUxJQUVvQWdBaUJVRi9UQVJBSUFSQndNZ0RRWVdaQWhBM1FhaVpBaEEzUWUraUFoQTNRWXdDRUQ1QjlxSUNFRGRCcnBvQ0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FISUFFUVFDQUhFRDhRQUFzZ0JTQUFLQUlRVGdSQUlBUkJ3TWdEUWNhYUFoQTNRYWlaQWhBM1FlK2lBaEEzUVkwQ0VENUI5cUlDRURkQjhwb0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCa0YvVEFSQUlBUkJ3TWdEUVoyYkFoQTNRYWlaQWhBM1FlK2lBaEEzUVk0Q0VENUI5cUlDRURkQnY1c0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCaUFBS0FJVVNBUkFJQVFrQmdVZ0JFSEF5QU5CMXBzQ0VEZEJxSmtDRURkQjc2SUNFRGRCandJUVBrSDJvZ0lRTjBHSm5BSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCQkE4SUFJZ0FCQkFJQUlRUHhBQUN3c09BQ0FBSUFFZ0FrRUNkQkJNR2d1dEFRQWdBQ0FBS2dJQUlBRXFBZ0FnQXBTU09BSUFJQUFnQUNvQ0JDQUJLZ0lFSUFLVWtqZ0NCQ0FBSUFBcUFnZ2dBU29DQ0NBQ2xKSTRBZ2dnQUNBQUtnSU1JQUVxQWd3Z0FwU1NPQUlNSUFBZ0FDb0NFQ0FCS2dJUUlBS1VramdDRUNBQUlBQXFBaFFnQVNvQ0ZDQUNsSkk0QWhRZ0FDQUFLZ0lZSUFFcUFoZ2dBcFNTT0FJWUlBQWdBQ29DSENBQktnSWNJQUtVa2pnQ0hDQUFJQUFxQWlBZ0FTb0NJQ0FDbEpJNEFpQUxVUUVCZjBHdzNRTW9BZ0FpQVNBQVFRTnFRWHh4YWlJQVFRQklCRUJCcE1VRFFUQTJBZ0JCZnc4TElBQVFKMHNFUUNBQUVDUkZCRUJCcE1VRFFUQTJBZ0JCZnc4TEMwR3czUU1nQURZQ0FDQUJDd3NBSUFDN0VOMEp0aEJEQ3lvQkFYOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBRUgvLy8vL0J5QUJJQU1RcVFFYUlBTWtCZ3NPQUNBQVFlaUpBU2dDQUJEL0JBdUdBUUlDZndGK0lBQ25JUUlnQUVMLy8vLy9EMVlFUUFOQUlBRkJmMm9pQVNBQUlBQkNDaEQyQVNJRVFncCtmYWRCL3dGeFFUQnlPZ0FBSUFCQy8vLy8vNThCVmdSQUlBUWhBQXdCQ3dzZ0JLY2hBZ3NnQWdSQUEwQWdBVUYvYWlJQklBSWdBa0VLRUVnaUEwRUtiR3RCTUhJNkFBQWdBa0VLVHdSQUlBTWhBZ3dCQ3dzTElBRUxHZ0FnQUNBQkVLb0NJZ0JCQUNBQUxRQUFJQUZCL3dGeFJoc0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVlDSEFVR3V0d0pCQWlBQkVBa2dBd3NrQmdzTkFDQUFLQUlFSUFFb0FnUkxDeEFBSUFBZ0FUWUNBQ0FBSUFJMkFnUUxEUUFnQUNnQ0VDQUJRUlJzYWdzUUFDQUFLQUlFSUFFZ0FDZ0NBR3hxQ3dnQUlBQkI5QUJxQ3d3QUlBQWdBU0FBSUFGS0d3cy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVh4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVDZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFKMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUNkQ0FFYWpZQ0RBc0dBRUVZRUFJTENBQkJEUkFDUVFBTGl3RUJBMzhqQmlFREl3WkJFR29rQmlBQ1FlLy8vLzhEU3dSQUVBQUxJQUpCQWtrRVFDQUFJQUk2QUFzZ0FDRUVCU0FDUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBallDQkFzTElBUWdBU0FDRUtjQklBTkJBRFlDQUNBQ1FRSjBJQVJxSUFNUWJpQURKQVlMdVFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFNkFBQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJDZ3NoQVNBRFFRRnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUTNRSWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FDQUNhaUlBSUFNUVh5QUVRUUE2QUFBZ0FFRUJhaUFFRUY4Z0F5UUdDN2dCQVFWL0lBSW9BZ0FnQUNnQ0FDSURJZ1pySWdWQkFYUWlCRUVFSUFRYlFYOGdCVUgvLy8vL0Iwa2JJUVVnQVNnQ0FDRUhJQU5CQUNBQUtBSUVRWkVCUnlJRUd5QUZFT2dCSWdORkJFQVFBQXNnQkFSQUlBQWdBellDQUFVZ0FDZ0NBQ0VFSUFBZ0F6WUNBQ0FFQkVBZ0JDQUFLQUlFUWY4QmNVR3NBMm9SQVFBZ0FDZ0NBQ0VEQ3dzZ0FFR1NBVFlDQkNBQklBY2dCbXRCQW5WQkFuUWdBMm8yQWdBZ0FpQUFLQUlBSUFWQkFuWkJBblJxTmdJQUM2UURBUU4vQW44Q1FDQUNJQU1vQWdBaUNrWWlDMFVOQUNBQUlBa29BbUJHSWd4RkJFQWdDU2dDWkNBQVJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBQ0FGUmlBR0tBSUVJQVlzQUFzaUJrSC9BWEVnQmtFQVNCdEJBRWR4QkVCQkFDQUlLQUlBSWdBZ0IydEJvQUZPRFFFYUlBUW9BZ0FoQVNBSUlBQkJCR28yQWdBZ0FDQUJOZ0lBSUFSQkFEWUNBRUVBREFFTElBbEI2QUJxSVFkQkFDRUZBMzhnQlVFYVJnUi9JQWNGSUFWQkFXb2hCaUFBSUFWQkFuUWdDV29pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBSmF5SUZRUUoxSVFBZ0JVSGNBRW9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dCVUhZQUU0RVFFRi9JQXNOQXhwQmZ5QUtJQUpyUVFOT0RRTWFRWDhnQ2tGL2Fpd0FBRUV3UncwREdpQUVRUUEyQWdBZ0FFSHc3d0JxTEFBQUlRQWdBeUFLUVFGcU5nSUFJQW9nQURvQUFFRUFEQU1MQ3lBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQUlBUWdCQ2dDQUVFQmFqWUNBRUVBQ3dzTERRQWdBQ2dDQUJBNElBQVFPQXVyQXdFRGZ3Si9Ba0FnQWlBREtBSUFJZ3BHSWd0RkRRQWdDUzBBR0NBQVFmOEJjVVlpREVVRVFDQUpMUUFaSUFCQi93RnhSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUVIL0FYRWdCVUgvQVhGR0lBWW9BZ1FnQml3QUN5SUdRZjhCY1NBR1FRQklHMEVBUjNFRVFFRUFJQWdvQWdBaUFDQUhhMEdnQVU0TkFSb2dCQ2dDQUNFQklBZ2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0JFRUFOZ0lBUVFBTUFRc2dDVUVhYWlFSFFRQWhCUU4vSUFWQkdrWUVmeUFIQlNBRlFRRnFJUVlnQlNBSmFpSUZMUUFBSUFCQi93RnhSZ1IvSUFVRklBWWhCUXdDQ3dzTElBbHJJZ0JCRjBvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQUVFV1RnUkFRWDhnQ3cwREdrRi9JQW9nQW10QkEwNE5BeHBCZnlBS1FYOXFMQUFBUVRCSERRTWFJQVJCQURZQ0FDQUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFRUUFNQXdzTElBQkI4TzhBYWl3QUFDRUFJQU1nQ2tFQmFqWUNBQ0FLSUFBNkFBQWdCQ0FFS0FJQVFRRnFOZ0lBUVFBTEN3dW9GUUVKZnlNR0lRSWpCa0VRYWlRR0lBSWlCVUVFYWlFRElBSkJDR29pQmlBQU5nSUFJQUJCMUFGSkJFQkI4T3dBUWJEdUFDQUdFTmNFS0FJQUlRQUZBa0FnQXlBQUlBQkIwZ0VRU0NJSVFkSUJiQ0lDYXpZQ0FFRUFJUUJCc080QVFmRHZBQ0FERU5jRVFiRHVBR3RCQW5VaEJ3SkFBMEFDUUNBQ0lBZEJBblJCc080QWFpZ0NBR29oQTBFRklRSUNRQUpBQTBBZ0FrRXZUdzBCSUFNZ0FrRUNkRUh3N0FCcUtBSUFJZ0VRU0NJRUlBRkpEUU1nQWtFQmFpRUNJQUVnQkd3Z0EwY05BQXNNQVF0QjB3RWhBZ05BQWtBZ0F5QUNFRWdpQVNBQ1NRUi9JQU1oQUVFQkJTQURJQUVnQW14R0JIOUJDUVVnQXlBQ1FRcHFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRU1haUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJFR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVZ0F5QUNRUkpxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VXYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCSEdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVUNmeUFESUFKQkhtb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0VrYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FTaHFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCS21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRXVhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVRScUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJPbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFOGFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYzRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZUFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlUUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZW9BYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fld0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZmdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZb0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVk0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVp3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYXdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYm9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNBQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRBQmFpSUJFRWdpQ1NBQlNTRUVJQUVnQWtIU0FXb2dCQ0FESUFFZ0NXeEdJZ0Z5R3lFQ0lBTWdBQ0FFR3lFQVFRRkJDVUVBSUFFYklBUWJDd3NMQ3dzTEN3c0xDd3NMQ3dzTElnRkJEM0VPQ2dFQUFBQUFBQUFBQUFJQUN3c2dBUTBEQ3lBSUlBZEJBV29pQTBFd1JpSUJhaUlDSVFnZ0FrSFNBV3doQWtFQUlBTWdBUnNoQnd3QkN3c2dCaUFETmdJQUlBTWhBQXdCQ3lBR0lBTTJBZ0FMQ3lBRkpBWWdBQXVRQWdJQ2Z3UjlJQUM4SWdGQkFFZ2hBaUFCUVlDQWdBUkpJQUp5QkVBQ1FDQUJRZi8vLy84SGNVVUVRRU1BQUlDL0lBQWdBSlNWRHdzZ0FrVUVRRUhvZmlFQ0lBQkRBQUFBVEpTOElRRU1BUXNnQUNBQWswTUFBQUFBbFE4TEJTQUJRZi8vLy9zSFN3UkFJQUFQQ3lBQlFZQ0FnUHdEUmdSL1F3QUFBQUFQQlVHQmZ3c2hBZ3NnQVVHTjlxc0NhaUlCUWYvLy93TnhRZk9KMVBrRGFyNURBQUNBdjVJaUF5QURRd0FBQUVDU2xTSUZJQVdVSWdZZ0JwUWhCQ0FDSUFGQkYzWnFzaUlBUTRCeE1UK1VJQU1nQUVQUjl4YzNsQ0FGSUFNZ0EwTUFBQUEvbEpRaUFDQUdJQVJEN3VtUlBwUkRxcW9xUDVLVUlBUWdCRU1tbm5nK2xFTVR6c3cra3BTU2twU1NJQUNUa3BJTGxBRUJCSHdnQUNBQW9pSUNJQUtpSVFORUFBQUFBQUFBOEQ4Z0FrUUFBQUFBQUFEZ1A2SWlCS0VpQlVRQUFBQUFBQUR3UHlBRm9TQUVvU0FDSUFJZ0FpQUNSSkFWeXhtZ0Fmbytva1IzVWNFV2JNRld2NkNpUkV4VlZWVlZWYVUvb0tJZ0F5QURvaUFDUk1TeHRMMmU3aUUrSUFKRTFEaUl2dW42cUQyaW9hSkVyVktjZ0U5K2tyNmdvcUNpSUFBZ0FhS2hvS0FMbFFFQkEzd2dBQ0FBb2lJRElBTWdBNktpSUFORWZOWFBXanJaNVQyaVJPdWNLNHJtNVZxK29LSWdBeUFEUkgzK3NWZmpIY2Mrb2tUVlljRVpvQUVxdjZDaVJLYjRFQkVSRVlFL29LQWhCU0FESUFDaUlRUWdBQ0FFUkVsVlZWVlZWY1Uvb2lBRElBRkVBQUFBQUFBQTREK2lJQVFnQmFLaG9pQUJvYUNoSUFRZ0F5QUZva1JKVlZWVlZWWEZ2NkNpSUFDZ0lBSWJDd3NBSUFBZ0FTQUNFUGtFQ3hvQUlBQW9BZ0FnQUNnQ0JDSUFJQUFRK0FSRlFSOTBRUjkxQzRnREFRWi9Jd1loQnlNR1FSQnFKQVlnQTBHMHhRTWdBeHNpQlNnQ0FDRURBbjhDUUNBQkJIOENmeUFBSUFjZ0FCc2hCaUFDQkVBQ1FBSkFJQU1FUUNBRElRQWdBaUVEREFFRklBRXNBQUFpQUVGL1NnUkFJQVlnQUVIL0FYRTJBZ0FnQUVFQVJ3d0ZDeUFCTEFBQUlRQkI2SWtCS0FJQUtBSUFSUVJBSUFZZ0FFSC92d054TmdJQVFRRU1CUXNnQUVIL0FYRkJ2bjVxSWdCQk1rc05CaUFCUVFGcUlRRWdBRUVDZEVIUU5Hb29BZ0FoQUNBQ1FYOXFJZ01OQVFzTUFRc2dBUzBBQUNJSVFRTjJJZ1JCY0dvZ0JDQUFRUnAxYW5KQkIwc05CQ0FEUVg5cUlRUWdDRUdBZjJvZ0FFRUdkSElpQUVFQVNBUkFJQUVoQXlBRUlRRURRQ0FCUlEwQ0lBTkJBV29pQXl3QUFDSUVRY0FCY1VHQUFVY05CaUFCUVg5cUlRRWdCRUgvQVhGQmdIOXFJQUJCQm5SeUlnQkJBRWdOQUFzRklBUWhBUXNnQlVFQU5nSUFJQVlnQURZQ0FDQUNJQUZyREFJTElBVWdBRFlDQUF0QmZnc0ZJQU1OQVVFQUN3d0JDeUFGUVFBMkFnQkJwTVVEUVJrMkFnQkJmd3NoQ1NBSEpBWWdDUXZJQ3dFSWZ5QUFLQUlZSWdRb0FnQWhCaUFFS0FJRUlRVWdBQ0FCTmdMY0FTQUFJQUkyQXVBQklBQWdBellDNUFFQ1FDQUZCSDhnQmdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUZJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUVlnQlVGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUW9nQWtGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUEyQXRRQklBSkJmMm9pQWdSL0lBTUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQWlBRUtBSUFDeUlCUVFGcUlRTWdBQ0FCTFFBQVFRaDBJZ1UyQWlBZ0FrRi9haUlDQkVBZ0F5RUJJQVVoQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQUFvQWlBaEF5QUVLQUlBSVFFTElBRkJBV29oQlNBQUlBRXRBQUFnQTJvMkFpQWdBa0YvYWlJQ0JIOGdCUVVnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQkJDSFFpQlRZQ0hDQUNRWDlxSWdJRVFDQURJUUVnQlNFREJTQUVLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUUlnQUNnQ0hDRURJQVFvQWdBaEFRc2dBVUVCYWlFRklBQWdBUzBBQUNBRGFqWUNIQ0FDUVg5cUlnRUVRQ0FGSVFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnQWhBaUFFS0FJRUlRRUxJQUFnQWkwQUFEWUNKQ0FBS0FJQUlnTWdBQ2dDdUFNMkFoZ2dBeUFBS0FJY05nSWNJQU1nQUNnQ0lEWUNJQ0FESUFBb0FpUTJBaVFnQTBIbUFEWUNGQ0FES0FJRUlRTWdBRUVCSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFES0FJUUJFQWdBQ2dDQUNJRFFUMDJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN5QUtRZjhCY1NBR1FmOEJjVUVJZEhKQmVHb2hCUUpBQWtBZ0FDZ0NJRVVOQUNBQUtBSWNSUTBBSUFBb0FpUWlBMEVCU0EwQURBRUxJQUFvQWdBaUEwRWhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFDQUFLQUlrSVFNTElBTkJBMndnQlVjRVFDQUFLQUlBSWdOQkREWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQW9BdGdCUlFSQUlBQW9BZ1FvQWdBaEF5QUFJQUJCQVNBQUtBSWtRZGdBYkNBRFFUOXhRY29CYWhFRUFEWUMyQUVMSUFGQmYyb2hBU0FDUVFGcUlRSWdBQ2dDSkVFQVNnUkFBa0JCQUNFRkEwQUNRQ0FCQkg4Z0FTRUlJQUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaENDQUVLQUlBQ3lJSExRQUFJUUlnQUNnQzJBRWhBeUFGQkVBQ1FDQURJUUZCQUNFR0EwQWdBU2dDQUNBQ1J3UkFJQUZCMkFCcUlRRWdCa0VCYWlJR0lBVkpEUUVNQWdzTElBTW9BZ0FoQVNBRFFkZ0FhaUVDSUFWQkFVc0VmMEVCSVFZRFFDQUNLQUlBSWdrZ0FTQUpJQUZLR3lFQklBSkIyQUJxSVFJZ0JrRUJhaUlHSUFWSERRQUxJQVZCMkFCc0lBTnFCU0FDQ3lFTElBRkJBV29oQWlBTElRRUxCU0FESVFFTElBZEJBV29oQmlBQklBSTJBZ0FnQVNBRk5nSUVJQWhCZjJvaUF3Ui9JQVlGSUFRb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBQ3lJQ1FRRnFJUVlnQVNBQ0xRQUFJZ0pCQkhZMkFnZ2dBU0lISUFKQkQzRTJBZ3dnQVNBRFFYOXFJZ01FZnlBR0JTQUVLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUU1nQkNnQ0FBc2lBaTBBQURZQ0VDQUFLQUlBSWdZZ0J5Z0NBRFlDR0NBR0lBRW9BZ2cyQWh3Z0JpQUhLQUlNTmdJZ0lBWWdCeWdDRURZQ0pDQUdRZWNBTmdJVUlBWW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQTBGL2FpRUJJQUpCQVdvaEFpQUZRUUZxSWdVZ0FDZ0NKRWdOQVF3Q0N3c01BZ3NMSUFBb0F0QURRUUUyQWhBZ0JDQUNOZ0lBSUFRZ0FUWUNCRUVCRHd0QkFBczBBUUYvSUFBb0FnUWdBU2dDQ0JDTEFTSUNCRUFnQWlBQUlBRVFyUUpCQUVnRVFDQUNFRWxCQUNFQ0N3VkJBQ0VDQ3lBQ0N5UUFJQVVFZlNBQUlBRWdBaUFESUFRZ0JoREtCZ1VnQUNBQklBSWdBeUFFRU1zR0N3djNCZ01IZndWOUEzd2pCaUVJSXdaQjRBRnFKQVlnQ0VISUFXb2hCeUFJUWRRQmFpSUpJQVJCQkhRUVJDSU5OZ0lBSUExRkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkN5QUlRZEFCYWlFSElBa2dCRUVZYkJCRUlndzJBZ1FnREVVRVFFRUFRUU5CdWRnQ0lBY1FQVUVCRUFFTElBaEI0QUJxSVFvZ0NFSEFBV29oQzBFQUlRY0RRQ0FISUFSSUJFQWdFQ0FIUVF4c0lBTnFLZ0lBa2lFUUlBOGdCMEVNYkNBRGFpb0NCSkloRHlBT0lBZEJER3dnQTJvcUFnaVNJUTRnQjBFQmFpRUhEQUVMQ3lBUUlBU3lJaEdWSVJBZ0R5QVJsU0VQSUE0Z0VaVWhEa0VBSVFjRFFDQUhJQVJJQkVBZ0IwRUVkQ0FOYWlBSFFRTjBJQUpxS2dJQXV6a0RBQ0FIUVFSMElBMXFJQWRCQTNRZ0Ftb3FBZ1M3T1FNSUlBZEJHR3dnREdvZ0IwRU1iQ0FEYWlvQ0FDQVFrN3M1QXdBZ0IwRVliQ0FNYWlBSFFReHNJQU5xS2dJRUlBK1R1emtEQ0NBSFFSaHNJQXhxSUFkQkRHd2dBMm9xQWdnZ0RwTzdPUU1RSUFkQkFXb2hCd3dCQ3dzZ0NTQUVOZ0lJUVFBaEFnTkFJQUpCQTBjRVFFRUFJUU1EUUNBRFFRTkhCRUFnQWtFRmRDQUthaUFEUVFOMGFpQUNRUVIwSUFGcUlBTkJBblJxS2dJQXV6a0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0NpQUJLZ0lNSUJBZ0FTb0NBSlFnRHlBQktnSUVsSklnRGlBQktnSUlsSktTdXprREdDQUtJQUVxQWh3Z0VDQUJLZ0lRbENBUElBRXFBaFNVa2lBT0lBRXFBaGlVa3BLN09RTTRJQW9nQVNvQ0xDQVFJQUVxQWlDVUlBOGdBU29DSkpTU0lBNGdBU29DS0pTU2tyczVBMWdnQmdSQUlBQWdDU0FLSUFnZ0N4Q2RCRUVBU0FSQUlBdEVBQUFBQUlUWGwwRTVBd0FMQlNBQUlBa2dDaUFJSUFzUTZnRkJBRWdFUUNBTFJBQUFBQUNFMTVkQk9RTUFDd3NnQ1NnQ0FCQTRJQWtvQWdRUU9FRUFJUUFEUUNBQVFRTkhCRUJCQUNFQkEwQWdBVUVEUndSQUlBQkJCSFFnQldvZ0FVRUNkR29nQUVFRmRDQUlhaUFCUVFOMGFpc0RBTFk0QWdBZ0FVRUJhaUVCREFFTEN5QUFRUUZxSVFBTUFRc0xJQVVnQ0NzREdDQUlLd01BSUJDN0loT2lvU0FJS3dNSUlBKzdJaFNpb1NBSUt3TVFJQTY3SWhXaW9iWTRBZ3dnQlNBSUt3TTRJQWdyQXlBZ0U2S2hJQWdyQXlnZ0ZLS2hJQWdyQXpBZ0ZhS2h0amdDSENBRklBZ3JBMWdnQ0VGQWF5c0RBQ0FUb3FFZ0NDc0RTQ0FVb3FFZ0NDc0RVQ0FWb3FHMk9BSXNJQXNyQXdDMklSSWdDQ1FHSUJJTEp3RUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUVRZkFYUWJ2VUFrRUdJQUVRQ1NBREN5UUdDd29BSUFCQkdHb1FsUUVMRlFBZ0FFTUFBSUEvSUFFZ0FVTUFBQUFBV3h1VkN5SUFJQUFnQVNvQ0FDQUNLZ0lBa3pnQ0FDQUFJQUVxQWdRZ0Fpb0NCSk00QWdRTHlRSUJCSDhqQmlFREl3WkJFR29rQmlBQktBSUFRUUpIQkVBZ0EwSEF5QU5COE9RQkVEZEJtZUFCRURkQjc2SUNFRGRCNVFJUVBrSDJvZ0lRTjBHZjVRRVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdBeEE4SUFRZ0JSQkFJQVFRUHhBQUN3SkFBa0FDUUFKQUFrQWdBaWdDQUE0REFnQUJBd3NnQVNnQ0dDQUFLQUlnSUFJb0FoZ2dBaWdDQkNBQ0tBSUlFTllJREFNTElBRW9BaGdnQUNnQ0xDQUNLQUlZSUFJb0FnUWdBaWdDQ0JEVkNBd0NDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQncrVUJRY1BsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBd0JDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQjF1VUJRZGJsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBc2dBeVFHQzBBQkFYMGdBRUVCSUFSMHNpSUZJQUtVUkFBQUFBQUFBUEEvSUFSQmYyb1Fud0ZFQUFBQUFBQUE0TCtndGlJQ2tqZ0NBQ0FCSUFVZ0E1UWdBcEk0QWdBTHhBRUJCWDhqQmlFREl3WkJJR29rQmtISDQvRTRJQUFvQWdRZ0FDZ0NBR3RCSkJBNVFRRnFJZ0pKQkVBUUFBVWdBeUFDSUFBb0FnZ2dBQ2dDQUNJRWEwRWtFRGtpQlVFQmRDSUdJQVlnQWtrYlFjZmo4VGdnQlVIajhiZ2NTUnNnQUNnQ0JDQUVhMEVrRURrZ0FFRUlhaERRQWlBREtBSUlJZ0lnQVNrQ0FEY0NBQ0FDSUFFcEFnZzNBZ2dnQWlBQktRSVFOd0lRSUFJZ0FTa0NHRGNDR0NBQ0lBRW9BaUEyQWlBZ0F5QUNRU1JxTmdJSUlBQWdBeERQQWlBREVNNENJQU1rQmdzTEdnQkRBQUFBQUNBQklBQWdBQ0FCWGhzZ0FFTUFBQUFBWFJzTGx3RUJCSDhnQVVFRWFpSURLQUlBUVFBZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCQW5WclFRSjBhaUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTDRBRUNBbjhCZlNNR0lRWWpCa0V3YWlRR0lBQUVmeUFBUVFocUlBRWdCaEQ2QVNBQVFiZ0JhaUFHS2dJTUlBWXFBZ0FnQXBRZ0Jpb0NCQ0FEbEpLU0lBWXFBaXdnQmlvQ0lDQUNsQ0FHS2dJa0lBT1VrcElpQ0pVZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFJbFNBRUlBVVFiVUVmZFFVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVJSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NDQUNsVGdDQUVFQUN5RUhJQVlrQmlBSEN6UUJBbjhEUUFKQUlBQWdBUkNXQXlJQ1JRUkFRUUFoQWd3QkN5QUFMQUFBUVFwcklnTkJBQ0FEUVJsSEcwVU5BUXNMSUFJTFhRRUJmeUFCSUFCSUlBQWdBU0FDYWtoeEJFQWdBU0FDYWlFQklBQWlBeUFDYWlFQUEwQWdBa0VBU2dSQUlBSkJBV3NoQWlBQVFRRnJJZ0FnQVVFQmF5SUJMQUFBT2dBQURBRUxDeUFESVFBRklBQWdBU0FDRUV3YUN5QUFDNE1CQVFKL0lBQkZCRUFnQVJCRUR3c2dBVUcvZjBzRVFFR2t4UU5CTURZQ0FFRUFEd3NnQUVGNGFrRVFJQUZCQzJwQmVIRWdBVUVMU1JzUTRBa2lBZ1JBSUFKQkNHb1BDeUFCRUVRaUFrVUVRRUVBRHdzZ0FpQUFJQUJCZkdvb0FnQWlBMEY0Y1VFRVFRZ2dBMEVEY1J0cklnTWdBU0FESUFGSkd4Qk1HaUFBRURnZ0FndFpBUUovQTBBZ0FDQUJFSllEQkVBZ0FCQmdJUUlEUUFKQUlBSkZEUUFDUUNBQUlBSkJmMm9pQW1vaUF5d0FBRUVLYXc0RUFBRUJBQUVMSUFOQkFEb0FBQXdCQ3dzZ0FDd0FBQ0lDUVFBZ0FrRWpSeHRGRFFFTEN3dm1CQUlJZndSOEl3WWhDQ01HUWJBQmFpUUdJQWhCcUFGcUlRVWdDRUdnQVdvaEJpQUlRWkFCYWlFS0lBaEJNR29oQ3lBQktBSUlJZ2RCQTBnRWYwRi9CUUovSUFkQjRBQnNFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBWVFQVUYvREFFTElBZEJCSFFRUkNJSFJRUkFRUUJCQTBISzJBSWdCUkE5SUFrUU9FRi9EQUVMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQlVFRmRDQURhaUFHUVFOMGFpQUZRUVYwSUFKcUlBWkJBM1JxS3dNQU9RTUFJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQzBFQUlRWUNRQUpBQWtBRFFBSkFJQUFnQXlBTEVMTUNSQUFBQUFBQUFBQUFJUTFCQUNFRkEwQWdCU0FCS0FJSUlnSklCRUFnQ2lBTElBRW9BZ1FnQlVFWWJHb1F1d1JCQUVnTkFpQUJLQUlBSWdJZ0JVRUVkR29yQXdBZ0Npc0RBS0VoRGlBRlFRUjBJQUpxS3dNSUlBb3JBd2loSVE4Z0JVRUJkQ0lDUVFOMElBZHFJQTQ1QXdBZ0FrRUJja0VEZENBSGFpQVBPUU1BSUEwZ0RpQU9vaUFQSUEraW9LQWhEU0FGUVFGcUlRVU1BUXNMSUEwZ0FyZWpJZzBnQUNzRGFHTU5CQ0FHQkVBZ0RTQUFLd040WXdSQUlBMGdFS01nQUNzRGNHUU5CZ3NMSUFZZ0FDZ0NZRVlOQkVFQUlRVURRQ0FGSUFKSUJFQWdCVUVNYkVFRGRDQUphaUFBSUFNZ0FTZ0NCQ0FGUVJoc2FoQzVCRUVBU0EwRUlBVkJBV29oQlNBQktBSUlJUUlNQVFzTElBZ2dCeUFKSUFKQkFYUVFzd1JCQUVnTkF5QURJQWdRc2dRZ0RTRVFJQVpCQVdvaEJnd0JDd3NnQ1NBSEVPQUNRWDhNQXdzZ0NTQUhFT0FDUVg4TUFnc2dDU0FIRU9BQ1FYOE1BUXNnQkNBTk9RTUFJQWtRT0NBSEVEaEJBQXNMSVF3Z0NDUUdJQXdMWEFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVJBN0lBTkJxTTRERURvaUFTZ0NBQ2dDRUNFRUlBSWdBU0FFUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBTVFQQ0FESkFZTENRQWdBQ0FCRUlvTEMxd0JBbjhqQmlFREl3WkJFR29rQmlBRElBRVFPeUFEUVpET0F4QTZJZ0VvQWdBb0FoQWhCQ0FDSUFFZ0JFSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FERUR3Z0F5UUdDeEFBSUFBZ0FTQUFLQUlZUlhJMkFoQUxld0VCZnlBQVFYOUdCRUJCZnlFQUJRSkFJQUVvQWt4QmYwb0VmMEVCQlVFQUN4b0NRQUpBSUFFb0FnUWlBZzBBSUFFUXB3SWFJQUVvQWdRaUFnMEFEQUVMSUFJZ0FTZ0NMRUY0YWtzRVFDQUJJQUpCZjJvaUFqWUNCQ0FDSUFBNkFBQWdBU0FCS0FJQVFXOXhOZ0lBREFJTEMwRi9JUUFMQ3lBQUMxUUJBbjhnQVVFZlN3Ui9JQUFnQUNnQ0FDSUNOZ0lFSUFCQkFEWUNBQ0FCUVdCcUlRRkJBQVVnQUNnQ0JDRUNJQUFvQWdBTElRTWdBQ0FDSUFGMElBTkJJQ0FCYTNaeU5nSUVJQUFnQXlBQmREWUNBQXVYQXdFRmZ5TUdJUWdqQmtId0FXb2tCaUFJUWVnQmFpSUpJQU1vQWdBaUJ6WUNBQ0FKSUFNb0FnUWlBellDQkNBSUlBQTJBZ0FDUUFKQUlBTWdCMEVCUjNJRVFFRUFJQUZySVFzZ0FDQUVRUUowSUFacUtBSUFheUlLSUFBZ0FrRS9jVUdLQVdvUkFnQkJBVWdFUUVFQklRTUZRUUVoQnlBRlJTRUZJQUFoQXlBS0lRQURmeUFGSUFSQkFVcHhCRUFnQkVGK2FrRUNkQ0FHYWlnQ0FDRUtJQU1nQzJvaUJTQUFJQUpCUDNGQmlnRnFFUUlBUVg5S0JFQWdCeUVGSUFNaEFBd0ZDeUFGSUFwcklBQWdBa0UvY1VHS0FXb1JBZ0JCZjBvRVFDQUhJUVVnQXlFQURBVUxDeUFIUVFGcUlRVWdCMEVDZENBSWFpQUFOZ0lBSUFrZ0NSQ0JBeUlERVBJQklBTWdCR29oQkNBSktBSUFRUUZISUFrb0FnUkJBRWR5UlEwRElBQWdCRUVDZENBR2FpZ0NBR3NpQ2lBSUtBSUFJQUpCUDNGQmlnRnFFUUlBUVFGSUJIOGdCU0VEUVFBRklBQWhBeUFGSVFkQkFTRUZJQW9oQUF3QkN3c2hCUXNGUVFFaEF3c2dCVVVFUUNBRElRVU1BUXNNQVFzZ0FTQUlJQVVRL3dJZ0FDQUJJQUlnQkNBR0VLSUNDeUFJSkFZTFZBRUNmeUFCUVI5TEJIOGdBQ0FBS0FJRUlnSTJBZ0FnQUVFQU5nSUVJQUZCWUdvaEFVRUFCU0FBS0FJQUlRSWdBQ2dDQkFzaEF5QUFJQU5CSUNBQmEzUWdBaUFCZG5JMkFnQWdBQ0FESUFGMk5nSUVDMTRCQVg4Q2Z5QUFLQUpNUVFCT0JFQWdBQ2dDQkNJQklBQW9BZ2hKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUTlRRUxEQUVMSUFBb0FnUWlBU0FBS0FJSVNRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFUFVCQ3dzTEVnQWdBQ2dDVEJvZ0FDQUJyQ0FDRUlrREMwa0JBMzhqQmlFQkl3WkJFR29rQmlBQUVLY0NCSDlCZndVZ0FDZ0NJQ0VDSUFBZ0FVRUJJQUpCUDNGQnlnRnFFUVFBUVFGR0JIOGdBUzBBQUFWQmZ3c0xJUU1nQVNRR0lBTUxFQUFnQVZBRWZrSUFCU0FBSUFHQUN3dGVBUUYvSUFSQkFFd0VRQThMSUFGQkFuUWdBR29oQUNBRFFRSjBJQUpxSVFFRFFDQUFRUVJxSVFJZ0FVRUVhaUVESUFFb0FnQWdBQ2dDQUNBRkVFd2FJQVJCZjJvaEJpQUVRUUZLQkVBZ0FpRUFJQU1oQVNBR0lRUU1BUXNMQ3hNQUlBRWdBRUYvYW1vaUFDQUFJQUVRVDJzTHZDMEJDWDhqQmlFS0l3WkJvQXBxSkFZZ0FrRURTd1JBSUFBb0FnQWlCVUUwTmdJVUlBVWdBallDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQUpCQW5ScUlBQkJ4QUZxSUFKQkFuUnFJQUZCQUVjaURCc29BZ0FpQmtVRVFDQUFLQUlBSWdGQk5EWUNGQ0FCSUFJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QURLQUlBSWdSRkJFQWdBQ2dDQkNnQ0FDRUJJQU1nQUVFQlFaQUxJQUZCUDNGQnlnRnFFUVFBSWdRMkFnQUxJQUFoQ3lBS1FaQUlhaUVKSUFRZ0JqWUNqQUVnQml3QUFTSUNRZjhCY1NFQklBSUVRQ0FKUVFFZ0FSQkZHZ1ZCQUNFQkN5QUJJQVlzQUFJaUEwSC9BWEVpQldvaUFrR0FBa3NFUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFJZ0JSQkZHaUFDSVFFTElBRWdCaXdBQXlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQXlBRkVFVWFJQUloQVFzZ0FTQUdMQUFFSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VFSUFVUVJSb2dBaUVCQ3lBQklBWXNBQVVpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUVVnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FCaUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJCaUFGRUVVYUlBSWhBUXNnQVNBR0xBQUhJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUhJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBZ2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRZ2dCUkJGR2lBQ0lRRUxJQUVnQml3QUNTSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkNTQUZFRVVhSUFJaEFRc2dBU0FHTEFBS0lnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFS0lBVVFSUm9nQWlFQkN5QUJJQVlzQUFzaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFzZ0JSQkZHaUFDSVFFTElBRWdCaXdBRENJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRENBRkVFVWFJQUloQVFzZ0FTQUdMQUFOSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VOSUFVUVJSb2dBaUVCQ3lBQklBWXNBQTRpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUTRnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEeUFGRUVVYUlBSWhBUXNnQVNBR0xBQVFJZ0pCL3dGeElnTnFJZ2hCZ0FKS0JFQWdBQ2dDQUNJRlFRazJBaFFnQlNnQ0FDRUZJQXNnQlVIL0FYRkJyQU5xRVFFQUN5QUNCRUFnQVNBSmFrRVFJQU1RUlJvRklBRWhDQXNnQ0NBSmFrRUFPZ0FBSUFrc0FBQWlCUVJBUVFBaEFVRUFJUUlnQlNFREEwQWdCU0FEUVJoMFFSaDFSZ1JBQTBBZ0FrRUNkQ0FLYWlBQk5nSUFJQUZCQVdvaEFTQUZJQWtnQWtFQmFpSUNhaXdBQUNJRFJnMEFDd3NnQVVFQklBVjBUZ1JBSUFBb0FnQWlCMEVKTmdJVUlBY29BZ0FoQnlBTElBZEIvd0Z4UWF3RGFoRUJBQXNnQVVFQmRDRUJJQVZCQVdvaEJTQURRZjhCY1EwQUN3c2dCQ0FHTEFBQkJIOGdCRUVBSUFvb0FnQnJOZ0pNSUFZdEFBRWlBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRUUFoQVVGL0N6WUNCQ0FFSUFZc0FBSUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbEFnQVNBR0xRQUNhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFnZ2dCQ0FHTEFBREJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSlVJQUVnQmkwQUEyb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJTUlBUWdCaXdBQkFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1dDQUJJQVl0QUFScUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDRUNBRUlBWXNBQVVFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWx3Z0FTQUdMUUFGYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaFFnQkNBR0xBQUdCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pnSUFFZ0JpMEFCbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSVlJQVFnQml3QUJ3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNaQ0FCSUFZdEFBZHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0hDQUVJQVlzQUFnRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFtZ2dBU0FHTFFBSWFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWlBZ0JDQUdMQUFKQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKc0lBRWdCaTBBQ1dvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lrSUFRZ0Jpd0FDZ1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDY0NBQklBWXRBQXBxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNLQ0FFSUFZc0FBc0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBblFnQVNBR0xRQUxhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpd2dCQ0FHTEFBTUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSjRJQUVnQmkwQURHb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJd0lBUWdCaXdBRFFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2ZDQUJJQVl0QUExcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDTkNBRUlBWXNBQTRFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW9BQklBRWdCaTBBRG1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0k0SUFRZ0Jpd0FEd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDaEFFZ0FTQUdMUUFQYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBandnQkVGQWF5QUdMQUFRQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdLSUFTQUJJQVl0QUJCcVFYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0FDQUVRZi8vUHpZQ1JDQUVRWkFCYWtFQVFZQUlFRVVhSUFZc0FBRUVRRUVCSVFOQkFDRUJBMEFnQVNBR1FSRnFhaUVIUVlBQklRVWdBVUVDZENBS2FpZ0NBRUVIZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQVRZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUZKQkVBZ0FpRUREQUVMQ3dWQkFDRUJDeUFHTEFBQ0JFQkJBU0VEQTBBZ0FTQUdRUkZxYWlFSFFjQUFJUVVnQVVFQ2RDQUthaWdDQUVFR2RDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFqWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFKSkJFQWdBaUVEREFFTEN3c2dCaXdBQXdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQlhRaUNVRUNkR3BCQXpZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUlhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVKYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFS2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUxhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVNYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU9haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVQYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFZmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQU5KQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCSFFpQ1VFQ2RHcEJCRFlDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFSSkJFQWdBeUVDREFFTEN3c2dCaXdBQlFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQTNRaUJVRUNkR3BCQlRZQ0FDQUZJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUNhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGNpSUZRUUowYWtFRk5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVZKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCZ1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBblFpQTBFQ2RHcEJCallDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0EwRURjaUlEUVFKMGFrRUdOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFaSkJFQWdBeUVDREFFTEN3c2dCaXdBQndSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQVhRaUEwRUNkR3BCQnpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSURRUUowYWtFSE5nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQWRKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FDQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQWlBMEVDZEdwQkNEWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFMQUFBT2dBQUlBSkJBV29oQXlBQlFRRnFJUUVnQWlBR0xRQUlTUVJBSUFNaEFnd0JDd3NMSUF3Z0NFRUFTbkZGQkVBZ0NpUUdEd3RCQUNFQkEwQWdBU0FHUVJGcWFpMEFBRUVQU2dSQUlBQW9BZ0FpQWtFSk5nSVVJQUlvQWdBaEFpQUxJQUpCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUlCSUFoSERRQUxJQW9rQmd1OEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRFFRSjBJQUZxS2dJQUlBVXJBd0MybENBQlFSQnFJQU5CQW5ScUtnSUFJQVlyQXdpMmxKSWdBVUVnYWlBRFFRSjBhaW9DQUNBSEt3TVF0cFNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQU1xQWd3Z0JFRUZkQ0FBYWlzREdMYVNPQUlNSUFSQkFXb2hCQXdCQ3dzTCtsY0REbjhEZlFsOEl3WWhEU01HUVlBQ2FpUUdJQTFCMEFCcUlSSWdEVUdRQVdvaUQwUUFBQUFBQUFCWlFEa0RBQ0FQUkFBQUFBQUFBRmxBT1FNSUlBOUVBQUFBQUFDQVcwQTVBeEFnRDBRQUFBQUFBQUJaUURrREdDQVBSQUFBQUFBQWdGdEFPUU1nSUE5RUFBQUFBQUNBVzBBNUF5Z2dEMFFBQUFBQUFBQlpRRGtETUNBUFJBQUFBQUFBZ0Z0QU9RTTRBMEFnRUVFRVJ3UkFJQkJCQkhRZ0Vtb2dFRUVFZENBSmFpc0RBRGtEQUNBUVFRUjBJQkpxSUJCQkJIUWdDV29yQXdnNUF3Z2dFRUVCYWlFUURBRUxDeUFQSUJJZ0RSQ0pCeUFTS3dNQUloMGdFaXNERUNJZW9TSWZJQitpSUJJckF3Z2lIeUFTS3dNWUlpQ2hJaUVnSWFLZ0VITWhDU0FTS3dNZ0lpRWdFaXNETUNJaW9TSWpJQ09pSUJJckF5Z2lJeUFTS3dNNElpU2hJaVVnSmFLZ0VITWhFaUFlSUNHaEloNGdIcUlnSUNBam9TSWVJQjZpb0JCeklROGdJaUFkb1NJZElCMmlJQ1FnSDZFaUhTQWRvcUFRY3lFUUlCSWdDU0FTSUFsS0c3Y2dDcUlnQ3FJUWN5RVZJQkFnRHlBUUlBOUtHN2NnQ3FJZ0NxSVFjeUVRSUFBRVFDQUNJUWtEUUNBSlFRRjBJUklnQ1NBSlFRSjBiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFa0VDZEd3Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEJTQUNJUWtEUUNBSlFRRjBJUklnQ1NBSmJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0Vtd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xDeUFOUWVnQmFpRU1JQTFCNEFGcUlRNGdEVUhZQVdvaEV5QU5RZEFCYWlFUklBMUI4QUZxSVJBZ0RVSHNBV29oRHlBRElBa2dDU0FEU2hzaUNTQUNFRGtoRlNBRElCSWdFaUFEU2hzaUF5QUNFRGtoRWtRQUFBQUFBQUR3UHlBS29VUUFBQUFBQUFEZ1A2SkVBQUFBQUFBQUpFQ2lJUjBnQ2tRQUFBQUFBQUFrUUtJaENpQUNJQUpzSVJRQ2Z3SkFJQUVFUUNBVVFRUVFqUUlpQVVVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTEFrQWdCMEVDU1FSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRURiQ0lNYWkwQUFDQUVJQXhCQVdwcUxRQUFhaUFFSUF4QkFtcHFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBVWdCMEVCY2tFRFJnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTWFpMEFBQ0FFSUF4QkFYSnFMUUFBYWlBRUlBeEJBbkpxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnQjBFQ2NrRUdSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUUZ5YWkwQUFDQUVJQXhCQW5KcUxRQUFhaUFFSUF4QkEzSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSFFRVnJEZ29BQmdFQ0F3UUZBQUFBQmdzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VDZENBQmFpSU9JQXdnRGlnQ0FHbzJBZ0FMQ3lBSFFRRnFJUWNNQVFzTElBQkJBV29oQUF3QUFBc0FDeUFkUkFBQUFBQUFBRmxBb0NFZUlBTzNJU0VnQ2JjaElpQU5RVUJySVJNZ0FFRUJSaUVSUVFBaEFBTkFJQUFnQTA0TkJ5QWVJQW9nQUxkRUFBQUFBQUFBNEQrZ29pQWhvNkFoSFVFQUlRY0RRQ0FISUFsSUJFQWdFeXNEQUNBZUlBb2dCN2RFQUFBQUFBQUE0RCtnb2lBaW82QWlIeUFOS3dNd29pQWRJQTByQXppaW9LQWlJRVFBQUFBQUFBQUFBR0VOQ3lBUUlBMHJBeEFnSHlBTkt3TUFvaUFkSUEwckF3aWlvS0FnSUtPMklobzRBZ0FnRHlBTkt3TW9JQjhnRFNzREdLSWdIU0FOS3dNZ29xQ2dJQ0NqdGlJYk9BSUFJQWdnR2lBYklCQWdEeEJ0R2lBUUtnSUFJUm9nRVFSL0lCcERBQUNBUDVJUVEwRUNFRGxCQVhRaERDQVBLZ0lBUXdBQWdEK1NFRU5CQWhBNVFRRjBCU0FhUXdBQUFEK1NFRU1oRENBUEtnSUFRd0FBQUQrU0VFTUxJUTRnREVGL1NnUkFJQXdnQlVnZ0RrRi9TbkVnRGlBR1NIRUVRQ0FFSUF3Z0JTQU9iR3BCQVhSQkFYSnFMUUFBSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRHb3RBQUFoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRVWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFrZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VjY1hKQkFuSnFJQXhCQTNSQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFRZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRVljWEpCQkhKcUlBeEJBblJCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUU1nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRY2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUI4QUZ4UVFoeUlBNUJCSFJCOEFGeFFRaHlhaUFFSUF4QkFYSnFMQUFBUVhCeFFRaHlRZjhCY1dwQkF4QklJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxRUUJCQTBIeXFBRWdEQkE5REFNTEFBc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0ZFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0ZJQlJCQTJ3aUdFRUVFSTBDSWdGRkJFQkJBRUVEUWJuWUFpQVJFRDFCQVJBQkN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCdzRQQUFFQ0F3UUZCZ2NJQ1FvTEJRVUZEQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRMGdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJFZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneEJBbXBxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRd2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJBZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFtcHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRc2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE4Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBbkpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRb2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE0Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFuSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRa2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFEwZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBWEpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQW5KcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBM0pxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwSElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBMSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRTnlhaTBBQUNFUklBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdFU0FXS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0JDQU1RUUp5YWkwQUFDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnQkNBTVFRRnlhaTBBQUNBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZHb3RBQUJCZ0g5cXNpRWFJQVFnRkVFQ2Ftb3RBQUJCZ0g5cXNpRWJJQnBEVGhvQlJKUWdCQ0FNSUE1cVFRRjBRUUZ5YWkwQUFFRndhckpEZndxVlE1UWlISklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEZJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSklCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZFRUJjbW90QUFCQmdIOXFzaUVhSUFRZ0ZFRURhbW90QUFCQmdIOXFzaUViSUFRZ0RDQU9ha0VCZEdvdEFBQkJjR3F5UTM4S2xVT1VJaHdnR2tOT0dnRkVsSklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEVJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSUlCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUU4wUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFlQUJjVUVEZG5KQkFuSnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRSjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWNBQmNVRURkbkpCQkhKcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lPUVFGeWFpd0FBRUZ3Y1VFSWNrSC9BWEVoRVNBQUlCSVFPU0FDYkNBSElCVVFPV3BCQTJ3aURFRUNkQ0FCYWlJV0lCRWdGaWdDQUdvMkFnQWdERUVCYWtFQ2RDQUJhaUlSSUJFb0FnQWdCQ0FPYWl3QUFDSU9RUVIwUWY4QmNVRUljbW8yQWdBZ0RFRUNha0VDZENBQmFpSU1JQXdvQWdBZ0RrRndjVUVJY2tIL0FYRnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXRCQUVFRFFmS29BU0FURUQwTUFnc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0dFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0xJQUVRT0VFQURBRUxJQUVRT0VGL0N5RVpJQTBrQmlBWkM2a0JBQ0FBSUFFcUFnQ01PQUlBSUFBZ0FTb0NCSXc0QWdRZ0FFTUFBSUMvT0FJSUlBQkJER29Rd2dNZ0FDQUNLZ0lBSUFFcUFnQ1VPQUlZSUFBZ0Fpb0NBQ0FCS2dJRWxEZ0NIQ0FBSUFJb0FnQTJBaUFnQUVFa2FoRENBeUFBSUFFcUFnQ01PQUl3SUFBZ0FTb0NCSXc0QWpRZ0FFTUFBSUMvT0FJNElBQWdBaW9DQkNBQktnSUFsRGdDUENBQVFVQnJJQUlxQWdRZ0FTb0NCSlE0QWdBZ0FDQUNLQUlFTmdKRUN5UUFJQUFnQVNBQ0VJVUJRd0FBQUFCZUlBTWdCQ0FGRUlVQlF3QUFBQUJlYzBFQmN3c01BQ0FBSUFFZ0FDQUJYUnNMSUFBZ0FDb0NBQ0FCS2dJRWxDQUFLZ0lFSUFFcUFnQ1VrNHREQUFBQVA1UUxUQUVDZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0FDSURhMEVEZFNBQlNRUkFJQUlnQVNBQUtBSUVJQU5yUVFOMUlBQkJDR29RaUFJZ0FDQUNFTTBDSUFJUXpBSUxJQUlrQmdzSEFDQUFRUkJxQ3drQUlBQWdBUkRiQXdzTUFDQUFJQUZCQVhFNkFHUUxLZ0FnQUVFQU5nSUFJQUJCQURZQ0JDQUFRUUEyQWdnZ0FRUkFJQUFnQVJDZENDQUFJQUVROWdNTEN3d0FJQUFnQVNBQUlBRklHd3NWQUNBQVFmeUZBVFlDQUNBQVFRUnFJQUVRM2dJTG93SUNCSDhCZlNNR0lRTWpCa0VRYWlRR0lBSkRBQUFBQUdCRkJFQWdBMEhBeUFOQm5ac0NFRGRCcUprQ0VEZEI3NklDRURkQjZBRVFQa0gyb2dJUU4wRy9td0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVXNpQUNYZ1JBSUFBcUFoZ2dBaERsQkVFQklBRjBzcFFoQnlBREpBWWdCdzhGSUFOQndNZ0RRZGFiQWhBM1FhaVpBaEEzUWUraUFoQTNRZWtCRUQ1QjlxSUNFRGRCaVp3Q0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBTkJnTTRERURvaUFTZ0NBQ2dDSENFQUlBRkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBTVFQQ0FFSUFBUVFDQUVFRDhRQUF0REFBQUFBQXR6QVFGL0lBQkJBRFlDRENBQUlBTTJBaEFnQVFSQUlBRkIvLy8vL3dGTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVFOMEVGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkEzUWdCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRUU4wSUFScU5nSU1DMHdCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnTEhBQWdBRUVBUnlBQlFRVkpjUVIvSUFBZ0FUWUNHRUVBQlVGL0N3c0lBRUVPRUFKQkFBc0lBRUVJRUFKQkFBdFhBUUYvSUFBRVFDQUFJQUZzSVFJZ0FDQUJja0gvL3dOTEJFQWdBa0YvSUFJZ0FCQklJQUZHR3lFQ0N3c2dBaEJFSWdCRkJFQWdBQThMSUFCQmZHb29BZ0JCQTNGRkJFQWdBQThMSUFCQkFDQUNFRVVhSUFBTHZBRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTJBZ0FnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQVFzaEFTQURRUVJxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVFrUVFnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBa0VDZENBQWFpSUFJQU1RYmlBRVFRQTJBZ0FnQUVFRWFpQUVFRzRnQXlRR0N4SUFJQUFRT0NBQkVEZ2dBaEE0SUFNUU9Bc0lBRUgvLy8vL0J3c0ZBRUgvQUF1SkJnRUlmeU1HSVFrakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWdzb0FnQW9BaFFoQmlBSklBc2dCa0UvY1VHeUJXb1JBd0FnQ1NnQ0JDQUpMQUFMSWdaQi93RnhJQVpCQUVnYkJFQWdCU0FETmdJQUlBSUNmd0pBQWtBZ0FDd0FBQ0lHUVN0ckRnTUFBUUFCQ3lBS0tBSUFLQUlzSVFjZ0NpQUdJQWRCUDNGQmlnRnFFUUlBSVFZZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBR05nSUFJQUJCQVdvTUFRc2dBQXNpQm10QkFVb0VRQ0FHTEFBQVFUQkdCRUFnQml3QUFVSFlBR3NpQjBFQUlBZEJJRWNiUlFSQUlBb29BZ0FvQWl3aEJ5QUtRVEFnQjBFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUVhallDQUNBSUlBYzJBZ0FnQ2lnQ0FDZ0NMQ0VISUFvZ0Jpd0FBU0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0J6WUNBQ0FHUVFKcUlRWUxDd3NnQWlBR1J3UkFBa0FnQWlFSElBWWhDQU5BSUFnZ0IwRi9haUlIVHcwQklBZ3NBQUFoRFNBSUlBY3NBQUE2QUFBZ0J5QU5PZ0FBSUFoQkFXb2hDQXdBQUFzQUN3c2dDeWdDQUNnQ0VDRUhJQXNnQjBIL0FIRkJDR29SQUFBaERTQUdJUWhCQUNFSFFRQWhDd05BSUFnZ0Fra0VRQ0FISUFrb0FnQWdDU0FKTEFBTFFRQklHMm9zQUFBaURFRUFSeUFMSUF4R2NRUkFJQVVnQlNnQ0FDSUxRUVJxTmdJQUlBc2dEVFlDQUNBSElBY2dDU2dDQkNBSkxBQUxJZ2RCL3dGeElBZEJBRWdiUVg5cVNXb2hCMEVBSVFzTElBb29BZ0FvQWl3aERDQUtJQWdzQUFBZ0RFRS9jVUdLQVdvUkFnQWhEQ0FGSUFVb0FnQWlEa0VFYWpZQ0FDQU9JQXcyQWdBZ0NFRUJhaUVJSUF0QkFXb2hDd3dCQ3dzZ0JpQUFhMEVDZENBRGFpSUhJQVVvQWdBaUJrWUVmeUFIQlFOQUlBY2dCa0Y4YWlJR1NRUkFJQWNvQWdBaENDQUhJQVlvQWdBMkFnQWdCaUFJTmdJQUlBZEJCR29oQnd3QkN3c2dCU2dDQUFzaEJRVWdDaWdDQUNnQ01DRUdJQW9nQUNBQ0lBTWdCa0VQY1VHS0Ftb1JDUUFhSUFVZ0FpQUFhMEVDZENBRGFpSUZOZ0lBQ3lBRUlBVWdBU0FBYTBFQ2RDQURhaUFCSUFKR0d6WUNBQ0FKRUVjZ0NTUUdDNEFHQVFoL0l3WWhDU01HUVJCcUpBWWdCa0dBemdNUU9pRUtJQVpCa000REVEb2lDeWdDQUNnQ0ZDRUdJQWtnQ3lBR1FUOXhRYklGYWhFREFDQUpLQUlFSUFrc0FBc2lCa0gvQVhFZ0JrRUFTQnNFUUNBRklBTTJBZ0FnQWdKL0FrQUNRQ0FBTEFBQUlnWkJLMnNPQXdBQkFBRUxJQW9vQWdBb0Fod2hCeUFLSUFZZ0IwRS9jVUdLQVdvUkFnQWhCaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQVk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCU2dSQUlBWXNBQUJCTUVZRVFDQUdMQUFCUWRnQWF5SUhRUUFnQjBFZ1J4dEZCRUFnQ2lnQ0FDZ0NIQ0VISUFwQk1DQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnQnpvQUFDQUtLQUlBS0FJY0lRY2dDaUFHTEFBQklBZEJQM0ZCaWdGcUVRSUFJUWNnQlNBRktBSUFJZ2hCQVdvMkFnQWdDQ0FIT2dBQUlBWkJBbW9oQmdzTEN5QUNJQVpIQkVBQ1FDQUNJUWNnQmlFSUEwQWdDQ0FIUVg5cUlnZFBEUUVnQ0N3QUFDRU5JQWdnQnl3QUFEb0FBQ0FISUEwNkFBQWdDRUVCYWlFSURBQUFDd0FMQ3lBTEtBSUFLQUlRSVFjZ0N5QUhRZjhBY1VFSWFoRUFBQ0VOSUFZaENFRUFJUWRCQUNFTEEwQWdDQ0FDU1FSQUlBY2dDU2dDQUNBSklBa3NBQXRCQUVnYmFpd0FBQ0lNUVFCSElBc2dERVp4QkVBZ0JTQUZLQUlBSWd0QkFXbzJBZ0FnQ3lBTk9nQUFJQWNnQnlBSktBSUVJQWtzQUFzaUIwSC9BWEVnQjBFQVNCdEJmMnBKYWlFSFFRQWhDd3NnQ2lnQ0FDZ0NIQ0VNSUFvZ0NDd0FBQ0FNUVQ5eFFZb0JhaEVDQUNFTUlBVWdCU2dDQUNJT1FRRnFOZ0lBSUE0Z0REb0FBQ0FJUVFGcUlRZ2dDMEVCYWlFTERBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFjRkEwQWdCeUFHUVg5cUlnWkpCRUFnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUxDeUFGS0FJQUN5RUZCU0FLS0FJQUtBSWdJUVlnQ2lBQUlBSWdBeUFHUVE5eFFZb0NhaEVKQUJvZ0JTQURJQUlnQUd0cUlnVTJBZ0FMSUFRZ0JTQURJQUVnQUd0cUlBRWdBa1liTmdJQUlBa1FSeUFKSkFZTDdRRUJCWDhnQWtHQUVIRUVRQ0FBUVNzNkFBQWdBRUVCYWlFQUN5QUNRWUFJY1FSQUlBQkJJem9BQUNBQVFRRnFJUUFMSUFKQmhBSnhJZ05CaEFKR0lnUUVmMEVBQlNBQVFTNDZBQUFnQUVFcU9nQUJJQUJCQW1vaEFFRUJDeUVISUFKQmdJQUJjU0VDQTBBZ0FTd0FBQ0lHQkVBZ0FDQUdPZ0FBSUFGQkFXb2hBU0FBUVFGcUlRQU1BUXNMSUFBQ2Z3SkFBa0FnQTBFRWF5SUJCRUFnQVVIOEFVWUVRQXdDQlF3REN3QUxJQUpCQ1haQi93RnhRZVlBY3d3Q0N5QUNRUWwyUWY4QmNVSGxBSE1NQVFzZ0FrRUpka0gvQVhFaEFTQUJRZUVBY3lBQlFlY0FjeUFFR3dzNkFBQWdCd3VlQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFrZ0F5QUNhMEVNRURraUIwSGtBRXNFUUNBSEVFUWlDUVJBSUFraURTRVNCUkFBQ3dVZ0NTRU5DeUFDSVFvZ0RTRUpBMEFnQXlBS1J3UkFJQW9zQUFzaUNFRUFTQVIvSUFvb0FnUUZJQWhCL3dGeEN3UkFJQWxCQVRvQUFBVWdDVUVDT2dBQUlBeEJBV29oRENBSFFYOXFJUWNMSUFwQkRHb2hDaUFKUVFGcUlRa01BUXNMSUF3aENTQUhJUXdEUUFKQUlBQW9BZ0FpQ0FSL0lBZ29BZ3dpQnlBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFvZ0FTZ0NBQ0lIQkg4Z0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhCMEVCQlVFQUN3VkJBQ0VIUVFFTElSTWdBQ2dDQUNFTElCTWdDbk1nREVFQVIzRkZEUUFnQ3lnQ0RDSUhJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2hEeUFHUlFSQUlBUWdEeUFFS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VQQ3lBUlFRRnFJUXNnQWlFSVFRQWhDaUFOSVE0Z0NTRUhBMEFnQXlBSVJ3UkFJQTRzQUFCQkFVWUVRQUpBSUFnc0FBdEJBRWdFZnlBSUtBSUFCU0FJQ3lBUlFRSjBhaWdDQUNFSklBWUVmeUFKQlNBRUlBa2dCQ2dDQUNnQ0hFRS9jVUdLQVdvUkFnQUxJQTlIQkVBZ0RrRUFPZ0FBSUF4QmYyb2hEQXdCQ3lBSUxBQUxJZ2xCQUVnRWZ5QUlLQUlFQlNBSlFmOEJjUXNnQzBZRVFDQU9RUUk2QUFBZ0RFRi9haUVNSUFkQkFXb2hCd3RCQVNFS0N3c2dDRUVNYWlFSUlBNUJBV29oRGd3QkN3c2dDZ1JBQWtBZ0FDZ0NBQ0lJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRUnFOZ0lNSUFrb0FnQWFDeUFISUF4cVFRRkxCRUFnQWlFS0lBMGhDUU5BSUFNZ0NrWU5BaUFKTEFBQVFRSkdCRUFnQ2l3QUN5SUlRUUJJQkg4Z0NpZ0NCQVVnQ0VIL0FYRUxJQXRIQkVBZ0NVRUFPZ0FBSUFkQmYyb2hCd3NMSUFwQkRHb2hDaUFKUVFGcUlRa01BQUFMQUFzTEN5QUxJUkVnQnlFSkRBRUxDeUFMQkg4Z0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQUNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwQ0N3d0NDeUFFRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURRQ0FDSUFOR0RRRWdEU3dBQUVFQ1J3UkFJQUpCREdvaEFpQU5RUUZxSVEwTUFRc0xEQUVMSUFVZ0JTZ0NBRUVFY2pZQ0FDQURJUUlMSUJJUU9DQVFKQVlnQWd1ckNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRY2dBeUFDYTBFTUVEa2lDVUhrQUVzRVFDQUpFRVFpQndSQUlBY2lDeUVTQlJBQUN3VWdCeUVMQ3lBQ0lRY2dDeUVLQTBBZ0F5QUhSd1JBSUFjc0FBc2lERUVBU0FSL0lBY29BZ1FGSUF4Qi93RnhDd1JBSUFwQkFUb0FBQVVnQ2tFQ09nQUFJQWxCZjJvaENTQUlRUUZxSVFnTElBZEJER29oQnlBS1FRRnFJUW9NQVFzTElBa2hDaUFJSVFrRFFBSkFJQUFvQWdBaUJ3Ui9JQWNvQWd3aUNDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc0NmeUFCS0FJQUlnZ0VmeUFJS0FJTUlnY2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRaEJBUVZCQUFzRlFRQWhDRUVCQ3lFVElBQW9BZ0FoQnlBVEMzTWdDa0VBUjNGRkRRQWdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVoRGlBR1JRUkFJQVFnRGlBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUNFT0N5QVBRUUZxSVF3Z0FpRUhRUUFoQ0NBTElRMERRQ0FESUFkSEJFQWdEU3dBQUVFQlJnUkFBa0FnQnl3QUMwRUFTQVIvSUFjb0FnQUZJQWNMSUE5cUxBQUFJUkVnRGtIL0FYRWdCZ1IvSUJFRklBUWdFU0FFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQXRCL3dGeFJ3UkFJQTFCQURvQUFDQUtRWDlxSVFvTUFRc2dCeXdBQ3lJSVFRQklCSDhnQnlnQ0JBVWdDRUgvQVhFTElBeEdCRUFnRFVFQ09nQUFJQXBCZjJvaENpQUpRUUZxSVFrTFFRRWhDQXNMSUFkQkRHb2hCeUFOUVFGcUlRME1BUXNMSUFnRVFBSkFJQUFvQWdBaUJ5Z0NEQ0lJSUFjb0FoQkdCRUFnQnlBSEtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBY2dDRUVCYWpZQ0RDQUlMQUFBRUVJYUN5QUpJQXBxUVFGTEJFQWdBaUVISUFzaENBTkFJQU1nQjBZTkFpQUlMQUFBUVFKR0JFQWdCeXdBQ3lJUFFRQklCSDhnQnlnQ0JBVWdEMEgvQVhFTElBeEhCRUFnQ0VFQU9nQUFJQWxCZjJvaENRc0xJQWRCREdvaEJ5QUlRUUZxSVFnTUFBQUxBQXNMQ3lBTUlROE1BUXNMSUFjRWZ5QUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBQWtBZ0NFVU5BQ0FJS0FJTUlnUWdDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRGZ5QUNJQU5HRFFFZ0N5d0FBRUVDUmdSL0lBSUZJQUpCREdvaEFpQUxRUUZxSVFzTUFRc0xJUU1NQVFzZ0JTQUZLQUlBUVFSeU5nSUFDeUFTRURnZ0VDUUdJQU1MaVFFQkFuOGdBQ2dDQkNJQklBRW9BZ0JCZEdvb0FnQnFJZ0VvQWhnRVFDQUJLQUlRUlFSQUlBRW9BZ1JCZ01BQWNRUkFJQUFvQWdRaUFTQUJLQUlBUVhScUtBSUFhaWdDR0NJQktBSUFLQUlZSVFJZ0FTQUNRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQW9BZ1FpQUNBQUtBSUFRWFJxS0FJQWFpSUFJQUFvQWhCQkFYSVE3Z0VMQ3dzTEN6d0FJQUJCQURvQUFDQUFJQUUyQWdRZ0FTQUJLQUlBUVhScUtBSUFhaUlCS0FJUVJRUkFJQUVvQWtnaUFRUkFJQUVRUHdzZ0FFRUJPZ0FBQ3dzS0FDQUFRUVJxRUowQ0N3b0FJQUJCQ0dvUW5RSUxCQUJCZndzREFBRUxNd0FnQUVHTWpBRTJBZ0FnQUJEUUN5QUFRUnhxRUR3Z0FDZ0NJQkE0SUFBb0FpUVFPQ0FBS0FJd0VEZ2dBQ2dDUEJBNEMxVUJBMzhnQUNnQ0JDSUdRUWgxSVFVZ0JrRUJjUVJBSUFJb0FnQWdCV29vQWdBaEJRc2dBQ2dDQUNJQUtBSUFLQUlZSVFjZ0FDQUJJQUlnQldvZ0EwRUNJQVpCQW5FYklBUWdCMEUvY1VHYUJtb1JCUUFMTGdFQmZ5TUdJUUlqQmtFUWFpUUdJQUlnQVRZQ0FFR2tpQUVvQWdBaUFTQUFJQUlRcFFJYUlBRVE4Z1FRQUF0OEF3Ri9BWDRDZkNNR0lRTWpCa0dRQVdva0JpQURRUUJCa0FFUVJSb2dBeUFBTmdJRUlBTkJmellDQ0NBRElBQTJBaXdnQTBGL05nSk1JQU5DQUJDQ0FTQURJQUpCQVJDU0F5RUdJQU1wQTNnZ0F5Z0NCQ0FES0FJSWE2eDhJUVFnQVFSQUlBRWdBQ0FBSUFTbmFpQUVVQnMyQWdBTElBTWtCaUFHQ3cwQUlBQWdBU0FDUW44UWhBTUwzd0VCQm44akJpRUdJd1pCOEFGcUpBWWdCaUFBTmdJQUlBTkJBVW9FUUFKQVFRQWdBV3NoQ1NBRElRZEJBU0VESUFBaEJRTkFJQVVnQUNBSmFpSUFJQWRCZm1vaUNrRUNkQ0FFYWlnQ0FHc2lDQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUkFJQVVnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZzBDQ3lBRFFRSjBJQVpxSVFVZ0EwRUJhaUVESUFnZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2dSL0lBVWdDRFlDQUNBSUlRQWdCMEYvYWdVZ0JTQUFOZ0lBSUFvTElnZEJBVW9FUUNBR0tBSUFJUVVNQVFzTEN3VkJBU0VEQ3lBQklBWWdBeEQvQWlBR0pBWUxLUUVDZnlNR0lRUWpCa0VRYWlRR0lBUWdBellDQUNBQUlBRWdBaUFFRUtrQklRVWdCQ1FHSUFVTDZoSUNGSDhCZmlNR0lROGpCa0ZBYXlRR0lBOUJLR29oQ2lBUFFUQnFJUmdnRDBFOGFpRVdJQTlCT0dvaURDQUJOZ0lBSUFCQkFFY2hFaUFQUVNocUloVWhFeUFQUVNkcUlSZEJBQ0VCQWtBQ1FBTkFBa0FEUUNBSlFYOUtCRUFnQVVILy8vLy9CeUFKYTBvRWYwR2t4UU5CUFRZQ0FFRi9CU0FCSUFscUN5RUpDeUFNS0FJQUlnc3NBQUFpQ0VVTkF5QUxJUUVDUUFKQUEwQUNRQUpBSUFoQkdIUkJHSFVpQ0FSQUlBaEJKVWNOQVF3RUN3d0JDeUFNSUFGQkFXb2lBVFlDQUNBQkxBQUFJUWdNQVFzTERBRUxJQUVoQ0FOQUlBZ3NBQUZCSlVjTkFTQUJRUUZxSVFFZ0RDQUlRUUpxSWdnMkFnQWdDQ3dBQUVFbFJnMEFDd3NnQVNBTGF5RUJJQklFUUNBQUlBc2dBUkJ5Q3lBQkRRQUxJQXdvQWdBc0FBRVFpZ0ZGSVFnZ0RDQU1LQUlBSWdFZ0NBUi9RWDhoRFVFQkJTQUJMQUFDUVNSR0JIOGdBU3dBQVVGUWFpRU5RUUVoQlVFREJVRi9JUTFCQVFzTGFpSUJOZ0lBSUFFc0FBQWlCa0ZnYWlJSVFSOUxRUUVnQ0hSQmlkRUVjVVZ5QkVCQkFDRUlCVUVBSVFZRFFDQUdRUUVnQ0hSeUlRZ2dEQ0FCUVFGcUlnRTJBZ0FnQVN3QUFDSUdRV0JxSWdkQkgwdEJBU0FIZEVHSjBRUnhSWEpGQkVBZ0NDRUdJQWNoQ0F3QkN3c0xJQVpCL3dGeFFTcEdCRUFnREFKL0FrQWdBU3dBQVJDS0FVVU5BQ0FNS0FJQUlnY3NBQUpCSkVjTkFDQUhMQUFCUVZCcVFRSjBJQVJxUVFvMkFnQWdCeXdBQVVGUWFrRURkQ0FEYWlrREFLY2hBVUVCSVFZZ0IwRURhZ3dCQ3lBRkJFQkJmeUVKREFNTElCSUVRQ0FDS0FJQVFRTnFRWHh4SWdVb0FnQWhBU0FDSUFWQkJHbzJBZ0FGUVFBaEFRdEJBQ0VHSUF3b0FnQkJBV29MSWdVMkFnQkJBQ0FCYXlBQklBRkJBRWdpQVJzaEVDQUlRWURBQUhJZ0NDQUJHeUVPSUFZaENBVWdEQkNOQXlJUVFRQklCRUJCZnlFSkRBSUxJQWdoRGlBRklRZ2dEQ2dDQUNFRkN5QUZMQUFBUVM1R0JFQUNRQ0FGUVFGcUlRRWdCU3dBQVVFcVJ3UkFJQXdnQVRZQ0FDQU1FSTBESVFFZ0RDZ0NBQ0VGREFFTElBVXNBQUlRaWdFRVFDQU1LQUlBSWdVc0FBTkJKRVlFUUNBRkxBQUNRVkJxUVFKMElBUnFRUW8yQWdBZ0JTd0FBa0ZRYWtFRGRDQURhaWtEQUtjaEFTQU1JQVZCQkdvaUJUWUNBQXdDQ3dzZ0NBUkFRWDhoQ1F3REN5QVNCRUFnQWlnQ0FFRURha0Y4Y1NJRktBSUFJUUVnQWlBRlFRUnFOZ0lBQlVFQUlRRUxJQXdnRENnQ0FFRUNhaUlGTmdJQUN3VkJmeUVCQzBFQUlRY0RRQ0FGTEFBQVFiOS9ha0U1U3dSQVFYOGhDUXdDQ3lBTUlBVkJBV29pQmpZQ0FDQUZMQUFBSUFkQk9teHFRWS9XQUdvc0FBQWlFVUgvQVhFaUJVRi9ha0VJU1FSQUlBVWhCeUFHSVFVTUFRc0xJQkZGQkVCQmZ5RUpEQUVMSUExQmYwb2hGQUpBQWtBZ0VVRVRSZ1JBSUJRRVFFRi9JUWtNQkFzRkFrQWdGQVJBSUExQkFuUWdCR29nQlRZQ0FDQUtJQTFCQTNRZ0Eyb3BBd0EzQXdBTUFRc2dFa1VFUUVFQUlRa01CUXNnQ2lBRklBSVFqQU1nRENnQ0FDRUdEQUlMQ3lBU0RRQkJBQ0VCREFFTElBNUIvLzk3Y1NJTklBNGdEa0dBd0FCeEd5RUZBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUdRWDlxTEFBQUlnWkJYM0VnQmlBR1FROXhRUU5HSUFkQkFFZHhHeUlHUWNFQWF3NDRDUW9IQ2drSkNRb0tDZ29LQ2dvS0Nnb0tDQW9LQ2dvTENnb0tDZ29LQ2dvSkNnVURDUWtKQ2dNS0Nnb0tBQUlCQ2dvR0NnUUtDZ3NLQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBIL0FYRkJHSFJCR0hVT0NBQUJBZ01FQndVR0J3c2dDaWdDQUNBSk5nSUFRUUFoQVF3WEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJZTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJVTElBb29BZ0FnQ1RzQkFFRUFJUUVNRkFzZ0NpZ0NBQ0FKT2dBQVFRQWhBUXdUQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQklMSUFvb0FnQWdDYXczQXdCQkFDRUJEQkVMUVFBaEFRd1FDMEg0QUNFR0lBRkJDQ0FCUVFoTEd5RUJJQVZCQ0hJaEJRd0pDMEVBSVF0QmtQNENJUTRnQVNBVElBb3BBd0FnRlJDRUJTSUhheUlHUVFGcUlBVkJDSEZGSUFFZ0JrcHlHeUVCREFzTElBb3BBd0FpR1VJQVV3Ui9JQXBDQUNBWmZTSVpOd01BUVFFaEMwR1EvZ0lGSUFWQmdSQnhRUUJISVF0QmtmNENRWkwrQWtHUS9nSWdCVUVCY1JzZ0JVR0FFSEViQ3lFT0RBZ0xRUUFoQzBHUS9nSWhEaUFLS1FNQUlSa01Cd3NnRnlBS0tRTUFQQUFBSUJjaEJrRUFJUXRCa1A0Q0lRNUJBU0VISUEwaEJTQVRJUUVNQ2dzZ0NpZ0NBQ0lGUVpyK0FpQUZHeUlHUVFBZ0FSQ21BaUlSUlNFVVFRQWhDMEdRL2dJaERpQUJJQkVnQm1zZ0ZCc2hCeUFOSVFVZ0FTQUdhaUFSSUJRYklRRU1DUXNnRHlBS0tRTUFQZ0l3SUE5QkFEWUNOQ0FLSUJnMkFnQkJmeUVMREFVTElBRUVRQ0FCSVFzTUJRVWdBRUVnSUJCQkFDQUZFSFZCQUNFQkRBY0xBQXNnQUNBS0t3TUFJQkFnQVNBRklBWkJpUUVSSWdBaEFRd0hDeUFMSVFaQkFDRUxRWkQrQWlFT0lBRWhCeUFUSVFFTUJRc2dDaWtEQUNBVklBWkJJSEVRaFFVaEIwRUFRUUlnQlVFSWNVVWdDaWtEQUZCeUlnMGJJUXRCa1A0Q0lBWkJCSFpCa1A0Q2FpQU5HeUVPREFJTElCa2dGUkMrQVNFSERBRUxJQW9vQWdBaEJrRUFJUUVDUUFKQUEwQWdCaWdDQUNJSEJFQWdGaUFIRUlzRElnZEJBRWdpRFNBSElBc2dBV3RMY2cwQ0lBWkJCR29oQmlBTElBRWdCMm9pQVVzTkFRc0xEQUVMSUEwRVFFRi9JUWtNQmdzTElBQkJJQ0FRSUFFZ0JSQjFJQUVFUUNBS0tBSUFJUVpCQUNFTEEwQWdCaWdDQUNJSFJRMERJQXNnRmlBSEVJc0RJZ2RxSWdzZ0FVb05BeUFHUVFScUlRWWdBQ0FXSUFjUWNpQUxJQUZKRFFBTEJVRUFJUUVMREFFTElBY2dGU0FLS1FNQVFnQlNJZzBnQVVFQVIzSWlFUnNoQmlBQklCTWdCMnNnRFVFQmMyb2lCeUFCSUFkS0cwRUFJQkViSVFjZ0JVSC8vM3R4SUFVZ0FVRi9TaHNoQlNBVElRRU1BUXNnQUVFZ0lCQWdBU0FGUVlEQUFITVFkU0FRSUFFZ0VDQUJTaHNoQVF3QkN5QUFRU0FnQ3lBQklBWnJJZzBnQnlBSElBMUlHeUlSYWlJSElCQWdFQ0FIU0JzaUFTQUhJQVVRZFNBQUlBNGdDeEJ5SUFCQk1DQUJJQWNnQlVHQWdBUnpFSFVnQUVFd0lCRWdEVUVBRUhVZ0FDQUdJQTBRY2lBQVFTQWdBU0FISUFWQmdNQUFjeEIxQ3lBSUlRVU1BUXNMREFFTElBQkZCRUFnQlFSL1FRRWhBQU5BSUFCQkFuUWdCR29vQWdBaUFRUkFJQUJCQTNRZ0Eyb2dBU0FDRUl3RElBQkJBV29pQUVFS1NRMEJRUUVoQ1F3RUN3c0RmeUFBUVFKMElBUnFLQUlBQkVCQmZ5RUpEQVFMSUFCQkFXb2lBRUVLU1EwQVFRRUxCVUVBQ3lFSkN3c2dEeVFHSUFrTEN3QWdBQ0FCSUFJUWh3VUwvUUVCQTM4Z0FVSC9BWEVoQkFKQUFrQUNRQ0FDUVFCSElnTWdBRUVEY1VFQVIzRUVRQ0FCUWY4QmNTRUZBMEFnQlNBQUxRQUFSZzBDSUFKQmYyb2lBa0VBUnlJRElBQkJBV29pQUVFRGNVRUFSM0VOQUFzTElBTkZEUUVMSUFGQi93RnhJZ0VnQUMwQUFFWUVRQ0FDUlEwQkRBSUxJQVJCZ1lLRUNHd2hBd0pBQWtBZ0FrRURUUTBBQTBBZ0F5QUFLQUlBY3lJRVFmLzkrM2RxSUFSQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBZ0FFRUVhaUVBSUFKQmZHb2lBa0VEU3cwQkRBSUxDd3dCQ3lBQ1JRMEJDd05BSUFBdEFBQWdBVUgvQVhGR0RRSWdBa0YvYWlJQ1JRMEJJQUJCQVdvaEFBd0FBQXNBQzBFQUlRQUxJQUFMandFQkFuOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWhRZ0FDZ0NIRXNFUUNBQUtBSWtJUUVnQUVFQVFRQWdBVUUvY1VIS0FXb1JCQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFLQUlBSWdGQkJIRUVmeUFBSUFGQklISTJBZ0JCZndVZ0FDQUFLQUlzSUFBb0FqQnFJZ0kyQWdnZ0FDQUNOZ0lFSUFGQkczUkJIM1VMQzVFQkFRTi9BbjhDUUNBQUtBSVVJQUFvQWh4TkRRQWdBQ2dDSkNFQklBQkJBRUVBSUFGQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFCQmZ3d0JDeUFBS0FJRUlnRWdBQ2dDQ0NJQ1NRUkFJQUFvQWlnaEF5QUFJQUVnQW11c1FRRWdBMEVEY1VHbUEyb1JGQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFRUUEyQWdnZ0FFRUFOZ0lFUVFBTEM0Y0JBUUYvSUFBRVFBSi9JQUFvQWt4QmYwd0VRQ0FBRUtnQ0RBRUxJQUFRcUFJTElRQUZRYkNJQVNnQ0FBUi9RYkNJQVNnQ0FCQ3BBZ1ZCQUFzaEFCQ3JBaWdDQUNJQkJFQURRQ0FCS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUVvQWhRZ0FTZ0NIRXNFUUNBQkVLZ0NJQUJ5SVFBTElBRW9BamdpQVEwQUN3dEJxTVVERUE0TElBQUwrZ0VCQTM4Z0FVSC9BWEVpQWdSQUFrQWdBRUVEY1FSQUlBRkIvd0Z4SVFNRFFDQUFMQUFBSWdSRklBTkJHSFJCR0hVZ0JFWnlEUUlnQUVFQmFpSUFRUU54RFFBTEN5QUNRWUdDaEFoc0lRTWdBQ2dDQUNJQ1FmLzkrM2RxSUFKQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBRFFDQUNJQU56SWdKQi8vMzdkMm9nQWtHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQVFRUnFJZ0FvQWdBaUFrSC8vZnQzYWlBQ1FZQ0Jnb1I0Y1VHQWdZS0VlSE54UlEwQkN3c0xJQUZCL3dGeElRSURRQ0FBUVFGcUlRRWdBQ3dBQUNJRFJTQUNRUmgwUVJoMUlBTkdja1VFUUNBQklRQU1BUXNMQ3dVZ0FCQmdJQUJxSVFBTElBQUxEQUJCcU1VREVCcEJzTVVEQ3g4QUlBQkIvLzhEY1FSL1FhVEZBeUFBUWYvL0EzRTJBZ0JCZndWQkFBc0w5QUVDQ1g4QmZDQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFSQUFBQUFBQUFBQUFPUU1BSUFJb0FnQWdCRUVEZEdvaEJTQUJLQUlBSUF0QkEzUnFJUVpCQUNFSFJBQUFBQUFBQUFBQUlRd0RRQ0FISUFoSUJFQWdBQ0FNSUFZckF3QWdCU3NEQUtLZ0lndzVBd0FnQ1VFRGRDQUZhaUVGSUFaQkNHb2hCaUFIUVFGcUlRY01BUXNMSUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFOQkFXb2hBd3dCQlVFQUN3c0ZRWDhMQlVGL0N3VkJmd3NMOGdJQkEzOGdBQ2dDQkNFRElBRkJBVXNFUUNBQUtBSUFJZ0pCRHpZQ0ZDQUNJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUZJQUZCQVVZRVFDQURLQUpFSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNSQ0FES0FKSUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDU0FzTElBTkJQR29nQVVFQ2RHb2lBQ2dDQUNFQ0lBQkJBRFlDQUNBQ0JFQURRQ0FDS0FJQUlRQWdBaWdDQ0NBQ0tBSUVRUkJxYWlFRUlBSVFPQ0FESUFNb0Frd2dCR3MyQWt3Z0FBUkFJQUFoQWd3QkN3c0xJQU5CTkdvZ0FVRUNkR29pQUNnQ0FDRUJJQUJCQURZQ0FDQUJSUVJBRHdzRFFDQUJLQUlBSVFBZ0FTZ0NDQ0FCS0FJRVFSQnFhaUVDSUFFUU9DQURJQU1vQWt3Z0FtczJBa3dnQUFSQUlBQWhBUXdCQ3dzTDlBRUJCSDhnQUNnQ0JDRUVJQUpCOEpQcjNBTkxCRUFnQUNnQ0FDSURRVGcyQWhRZ0EwRUROZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUJRUUZMQkVBZ0FDZ0NBQ0lEUVE4MkFoUWdBeUFCTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFDUVFnZ0FrRUhjU0lEYTBFQUlBTWJhaUlEUVJCcUlnVVFSQ0lDUlFSQUlBQW9BZ0FpQmtFNE5nSVVJQVpCQkRZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQkNBRklBUW9Ba3hxTmdKTUlBSWdCRUU4YWlBQlFRSjBhaUlBS0FJQU5nSUFJQUlnQXpZQ0JDQUNRUUEyQWdnZ0FDQUNOZ0lBSUFKQkVHb0wyZ2tCRVg4Z0FDZ0M1QU1vQWhnaERDQUJLQUlFSWdnZ0FTZ0NBQ0lDVENBQktBSUlJZ2tnQVNnQ0RDSUtTbklnQVNnQ0VDSUdJQUVvQWhRaUIwcHlCRUFnQWlFQUJRSkFJQUloQUFOQUFrQWdBRUVDZENBTWFpZ0NBQ0VOSUFraEF3TkFJQU5CQm5RZ0RXb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBS1NBUkFJQVFoQXd3QkN3c2dBRUVCYWlFRElBQWdDRWdFUUNBRElRQU1BZ1VnQWlFQURBTUxBQXNMSUFFZ0FEWUNBQXNMSUFnZ0FFd2dDU0FLU25JZ0JpQUhTbkpGQkVBQ1FDQUlJUUlEUUFKQUlBSkJBblFnREdvb0FnQWhEU0FKSVFNRFFDQURRUVowSUExcUlBWkJBWFJxSVFVZ0JpRUVBMEFnQlM0QkFBMENJQVZCQW1vaEJTQUVRUUZxSVFzZ0JDQUhTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ2tnRVFDQUVJUU1NQVFzTElBSkJmMm9oRGlBQ0lBQk1EUUlnRGlFQ0RBRUxDeUFCSUFJMkFnUWdBaUVJQ3dzZ0NDQUFTQ0FLSUFsTWNpQUdJQWRLY2tVRVFBSkFJQWtoQWdOQUFrQWdBQ0VEQTBBZ0EwRUNkQ0FNYWlnQ0FDQUNRUVowYWlBR1FRRjBhaUVGSUFZaEJBTkFJQVV1QVFBTkFpQUZRUUpxSVFVZ0JFRUJhaUVMSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUThnQWlBS1RnMENJQThoQWd3QkN3c2dBU0FDTmdJSUlBSWhDUXNMSUFnZ0FFZ2dDaUFKVEhJZ0JpQUhTbkpGQkVBQ1FDQUtJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0FrRUdkR29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUlTQVJBSUFRaEF3d0JDd3NnQWtGL2FpRVFJQUlnQ1V3TkFpQVFJUUlNQVFzTElBRWdBallDRENBQ0lRb0xDeUFJSUFCSUlBY2dCa3h5SUFvZ0NVaHlSUVJBQWtBZ0JpRUNBMEFDUUNBQUlRTURRQ0FEUVFKMElBeHFLQUlBSUFraUJFRUdkR29nQWtFQmRHb2hCUU5BSUFVdUFRQU5BaUFFUVFGcUlRc2dCVUZBYXlFRklBUWdDa2dFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVJFZ0FpQUhUZzBDSUJFaEFnd0JDd3NnQVNBQ05nSVFJQUloQmdzTElBZ2dBRWdnQnlBR1RISWdDaUFKU0hKRkJFQUNRQ0FISVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdDU0lFUVFaMGFpQUNRUUYwYWlFRkEwQWdCUzRCQUEwQ0lBUkJBV29oQ3lBRlFVQnJJUVVnQkNBS1NBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDRWdFUUNBRUlRTU1BUXNMSUFKQmYyb2hFaUFDSUFaTURRSWdFaUVDREFFTEN5QUJJQUkyQWhRZ0FpRUhDd3NnQVNBSUlBQnJRUVIwSWdJZ0Ftd2dDaUFKYTBFTWJDSUNJQUpzYWlBSElBWnJRUU4wSWdJZ0FteHFOZ0lZSUFnZ0FFZ2dDaUFKU0hJZ0J5QUdTSElFUUNBQlFRQTJBaHdQQzBFQUlRTWdBQ0VDQTBBZ0FrRUNkQ0FNYWlnQ0FDRU5JQU1oQUNBSklRTURRQ0FEUVFaMElBMXFJQVlpQkVFQmRHb2hCUU5BSUFBZ0JTNEJBRUVBUjJvaEFDQUVRUUZxSVFzZ0JVRUNhaUVGSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQXBJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUVFnQWlBSVNBUkFJQUFoQXlBRUlRSU1BUXNMSUFFZ0FEWUNIQXV4QXdFR2Z5QUFLQUlZSWdJb0FnUWhBU0FDS0FJQUlRUUNRQU5BSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY0VRQU5BSUFBb0F0QURJZ01nQXlnQ0dFRUJhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQkNBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjTkFBc0xBMEFnQVFSL0lBUUZJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwRElBSW9BZ1FoQVNBQ0tBSUFDeUVESUFGQmYyb2hBU0FEUVFGcUlRUWdBeXdBQUNJRlFYOUdEUUFMSUFBb0F0QURJZ1lvQWhnaEF5QUZSUVJBSUFZZ0EwRUNhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVEQUVMQ3lBRlFmOEJjU0VGSUFNRVFDQUFLQUlBSWdaQjl3QTJBaFFnQmlBRE5nSVlJQUFvQWdBZ0JUWUNIQ0FBS0FJQUtBSUVJUU1nQUVGL0lBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBRFFRQTJBaGdMSUFBZ0JUWUN1QU1nQWlBRU5nSUFJQUlnQVRZQ0JFRUJEd3RCQUF1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFSMElBQnFJUVVnQkVFRWRDQUFhaUVHSUFSQkJIUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRktnSUFJQU5CQW5RZ0FXb3FBZ0NVSUFZcUFnUWdBVUVRYWlBRFFRSjBhaW9DQUpTU0lBY3FBZ2dnQVVFZ2FpQURRUUowYWlvQ0FKU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBUkJCSFFnQUdvcUFnd2dBeW9DREpJNEFnd2dCRUVCYWlFRURBRUxDd3U0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUZkQ0FDYWlBRFFRTjBhaUFGS3dNQUlBTkJBM1FnQVdvckF3Q2lJQVlyQXdnZ0FVRWdhaUFEUVFOMGFpc0RBS0tnSUFjckF4QWdBVUZBYXlBRFFRTjBhaXNEQUtLZ09RTUFJQU5CQVdvaEF3d0JDd3NnQkVFRmRDQUNhaUlESUFSQkJYUWdBR29yQXhnZ0F5c0RHS0E1QXhnZ0JFRUJhaUVFREFFTEN3dFVBUUovQTBBZ0FrRURSd1JBUVFBaEFRTkFJQUZCQkVjRVFDQUNRUVYwUVlDa0Eyb2dBVUVEZEdvZ0FrRUZkQ0FBYWlBQlFRTjBhaXNEQURrREFDQUJRUUZxSVFFTUFRc0xJQUpCQVdvaEFnd0JDd3NMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFQ1FZeUhBVUhOdHdKQkFTQUJFQWtnQXdza0Jnc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUU5Cd0ljQlFielFBa0VmSUFFUUNTQURDeVFHQy8wRkFRWi9Jd1loQ1NNR1FTQnFKQVlnQ1VFUWFpRUlJQUpGQkVBZ0NFSEF5QU5CenB3Q0VEZEI3NXdDRURkQjc2SUNFRGRCL3dBUVBrSDJvZ0lRTjBIZ25RSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUdLQUlBS0FJY0lRY2dCa0VLSUFkQlAzRkJpZ0ZxRVFJQUlRWWdDQkE4SUFVZ0JoQkFJQVVRUHhBQUN5QURSUVJBSUFoQndNZ0RRZldkQWhBM1FlK2NBaEEzUWUraUFoQTNRWUFCRUQ1QjlxSUNFRGRCbDU0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUF0QmZ5QUNTUVJBSUFoQndNZ0RRYTJlQWhBM1FlK2NBaEEzUWUraUFoQTNRWUVCRUQ1QjlxSUNFRGRCMHA0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUFzZ0JFVUVRQ0FJUWNESUEwSC9uZ0lRTjBIdm5BSVFOMEh2b2dJUU4wR0NBUkErUWZhaUFoQTNRYU9mQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdZb0FnQW9BaHdoQnlBR1FRb2dCMEUvY1VHS0FXb1JBZ0FoQmlBSUVEd2dCU0FHRUVBZ0JSQS9FQUFMSUFsQkNHb2hCU0FBSUFFUXVRTWdBaUFFYkd3aUJqWUNEQ0FESUFac0lnWWdBQ2dDRkVjRVFDQUdFRkVoQnlBSlFRQTJBZ0FnQ0NBSktBSUFOZ0lBSUFVZ0J4Q29CeUFGS0FJQUlRY2dCU0FBS0FJWU5nSUFJQUFnQnpZQ0dDQUZLQUlFSVFjZ0JTQUFLQUljTmdJRUlBQWdCellDSENBRkVKVUJJQUFvQWhoRkJFQWdDRUhBeUFOQnhaOENFRGRCNzV3Q0VEZEI3NklDRURkQmxRRVFQa0gyb2dJUU4wSG9ud0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUW9nQjBFS0lBcEJQM0ZCaWdGcUVRSUFJUWNnQ0JBOElBVWdCeEJBSUFVUVB4QUFDd3NnQUNBQk5nSUFJQUFnQWpZQ0JDQUFJQU0yQWdnZ0FDQUVOZ0lRSUFBZ0JqWUNGQ0FKSkFZTHFRRUJCSDhnQUFSL0EwQWdBU0FBS0FJRVNBUkFJQUFvQWdnZ0FVRUNkR29vQWdBRVFDQUFJQUVRMEFZTElBRkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBQ2dDRENBQ0lBTnFJZ1JCQW5ScUtBSUFFRGdnQUNnQ0ZDQUVRUUowYWlnQ0FCQTRJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBQUtBSU1FRGdnQUNnQ0ZCQTRJQUFvQWdnUU9DQUFLQUlRRURnZ0FDZ0NHQkE0SUFBUU9FRUFCVUYvQ3hvTE5BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FDZ0NBQ2dDQUJER0J5QUJLQUlBRUlZQkVJRUNJUUlnQVJDVkFTQUJKQVlnQWd2M0FRRUJmeUFFUVFGR0lRa2dDRUVBUnlFRUFuOGdBd1IvSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRVAwS0RBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUStnc0ZJQUFnQVNBQ0lBVWdCeERIQ3dzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRdEFrTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDeUNnVWdBQ0FCSUFJZ0JTQUhFT1lKQ3dzRklBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVJb0hEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1FtZ2dGSUFBZ0FTQUNJQVVnQnhEWkJ3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUWtnVU1Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4QzBCZ1VnQUNBQklBSWdCU0FIRU5RRkN3c0xDd3ZHQXdJSWZ3RitJd1loQkNNR1FVQnJKQVlnQkVFSWFpRUhJQVJCT0dvaENpQUVRVFJxSVFnZ0JFRVFhaUVHSUFJc0FHUUVRQ0FFSUFBb0FrdzJBakFnQkNBQ0VNVUJLQUlBTmdJb0lBUWdBaERGQVNnQ0JEWUNJQ0FJSUFRb0FqQTJBZ0FnQ2lBRUtBSW9OZ0lBSUFjZ0JDZ0NJRFlDQUNBQVFjZ0FhaUFJSUFvZ0J4RFVCd1VnQmtFQU5nSUFJQVpCQURZQ0JDQUdRUUEyQWdnZ0FpQUdJQUVnQXhEVEJ3TkFJQVVnQmlnQ0JDQUdLQUlBSWdKclFRSjFTUVJBSUFBZ0FTQUZRUUowSUFKcUtBSUFJQU1RdXdJZ0JVRUJhaUVGREFFTEN5QUFLQUprSUFBb0FtaElCRUFnQVNnQ0FDSUNJQUVvQWdSSEJFQWdBaWdDQUNFTElBRW9BZ1FpQlNBQktBSUFJZ2xySWdKQkNFb0VRQ0FISUFrcEFnQWlERGNEQUNBSklBVkJlR29pQlNrQ0FEY0NBQ0FGSUF3M0FnQWdCQ0FKTmdJc0lBUWdCVFlDSkNBRUlBazJBaHdnQ0NBRUtBSXNOZ0lBSUFvZ0JDZ0NKRFlDQUNBSElBUW9BaHcyQWdBZ0NDQUNRUU4yUVg5cUlBY1F2d01nQVNnQ0JDRUZDMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUJJQVZCZUdvMkFnUWdBQ0FBS0FKa1FRRnFOZ0prSUFBZ0FTQUxJQU1RdXdJTEN5QUdFRlVMSUFRa0JndGtBUUovSUFCQkFFY2dBVUVBUjNFRWZ5QUFRUXhxUVFCQmdBZ1FSUm9nQVNBQUtBSUVJQUFvQWdoc2FpRUNBMzhnQVNBQ1NRUi9JQUJCREdvZ0FTMEFBRUVDZEdvaUF5QURLQUlBUVFGcU5nSUFJQUZCQVdvaEFRd0JCVUVBQ3dzRlFYOExDMWtCQVgwZ0FDQUNLZ0lJSUFJcUFnQWdBNVFnQWlvQ0JDQUVsSktTSUFJcUFpQWdBaW9DR0NBRGxDQUNLZ0ljSUFTVWtwSWlCWlU0QWdBZ0FTQUNLZ0lVSUFJcUFnd2dBNVFnQWlvQ0VDQUVsSktTSUFXVk9BSUFDelFBSUFBZ0FTa0NBRGNDQUNBQUlBRXBBZ2czQWdnZ0FDQUJLUUlRTndJUUlBQWdBU2tDR0RjQ0dDQUFJQUVvQWlBMkFpQUx1QUlDQlg4Q2ZDTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJpQUhRUlJxSWdnZ0JFRUVkQkJFSWdvMkFnQWdDa1VFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFkQkVHb2hCaUFJSUFSQkdHd1FSQ0lKTmdJRUlBbEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDMEVBSVFZRFFDQUdJQVJJQkVBZ0JrRUVkQ0FLYWlBR1FRUjBJQUpxS3dNQU9RTUFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXdBNUF3QWdCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUlPUU1JSUFaQkdHd2dDV29nQmtFWWJDQURhaXNERURrREVDQUdRUUZxSVFZTUFRc0xJQWdnQkRZQ0NDQUFLQUlBSUFnZ0FTQUZJQWNRNmdGQkFFZ0VRQ0FIUkFBQUFBQ0UxNWRCT1FNQUN5QUlLQUlBRURnZ0NDZ0NCQkE0SUFjckF3QWhEQ0FISkFZZ0RBc0hBQ0FBUVR4cUMyVUJCSDhEUUNBRklBSklCRUFnQXlBREtBSUFRZjJIRFd4Qnc3MmFBV29pQkRZQ0FDQUVRUkIyUWYvL0FYRWdBUkJQUVFKMElBQnFJUVFnQlVFQ2RDQUFhaUlHS0FJQUlRY2dCaUFFS0FJQU5nSUFJQVFnQnpZQ0FDQUZRUUZxSVFVTUFRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dNZ0FDZ0NCQ0FBS0FJQWEwRUNkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaWdDQ0NBQktBSUFOZ0lBSUFJZ0FpZ0NDRUVFYWpZQ0NDQUFJQUlRNUFFZ0FoREhBU0FDSkFZTEM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUW9RZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFV3RURmeUFBUWVnQWFpRURBMEFnQWlBQUtBSnNJQU1vQWdBaUFXdEJBblZKQkVBZ0FrRUNkQ0FCYWlnQ0FDSUJCRUFnQVJERUFpQUJFRGdMSUFKQkFXb2hBZ3dCQ3dzZ0FFSDBBR29RVlNBREVGVUxsd0VCQW44Z0FVRUJSZ1JBUVFJaEFRVWdBU0FCUVg5cWNRUkFJQUVRMFFFaEFRc0xJQUVnQUNnQ0JDSURTd1JBSUFBZ0FSRGlBd1VnQVNBRFNRUkFJQUFvQWd5eklBQXFBaENWalJDU0FTRUNJQU5CZjJvZ0EzRkZJQU5CQWt0eEJIOGdBa0VCUVNBZ0FrRi9hbWRyZENBQ1FRSkpHd1VnQWhEUkFRc2lBaUFCSUFFZ0Fra2JJZ0VnQTBrRVFDQUFJQUVRNGdNTEN3c0xFd0FnQUVIc2hRRTJBZ0FnQUVFRWFoRFNBZ3NsQUNBQVFkeUZBVFlDQUNBQVFUaHFFRlVnQUVFc2FoQlZJQUJCSUdvUVZTQUFFTVlDQ3cwQUlBQW9BZ0FnQVVFRmRHb0wzZ01CQTM4akJpRUlJd1pCRUdva0JpQUdRUUJLQkVBZ0JrRUJhaUFGS0FJRVNRUkFJQWRCZjJvaENTQUhRUUJLQkVBZ0IwRUJhaUlLSUFVb0FnaEpCRUFnQlNBSkVGQWdCa0VDZEdvaENTQUZJQWNRVUNBR1FRSjBhaUVISUFVZ0NoQlFJQVpCQW5ScUlRVWdBQ0FIS2dJRUlBZEJmR29pQUNvQ0FKTkRBQUFBUDVRNEFnQWdBU0FGS2dJQUlBa3FBZ0NUUXdBQUFEK1VPQUlBSUFJZ0J5b0NCQ0FBS2dJQUlBY3FBZ0JEQUFBQVFKU1RramdDQUNBRElBVXFBZ0FnQ1NvQ0FDQUhLZ0lBUXdBQUFFQ1VrNUk0QWdBZ0JDQUpRWHhxS2dJQUlBVXFBZ1NTSUFrcUFnUWdCVUY4YWlvQ0FKS1RRd0FBZ0Q2VU9BSUFJQWdrQmc4TEN5QUlRY0RJQTBHNTJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHZEFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFJUWNESUEwR0IyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2NBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMRFFBZ0FDQUNsQ0FCSUFHVWt3czZBUUo5UXdBQWdEOUJBU0FFZExLVklnVkRBQUFBUDVSREFBQUF2NUloQmlBQUlBVWdBcFFnQnBJNEFnQWdBU0FGSUFPVUlBYVNPQUlBQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJlR29pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVEZFd0QkEzUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRVnhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGx3RUJCSDhnQVVFRWFpSURLQUlBSVFJZ0F5QUFLQUlFSUFBb0FnQWlCR3NpQlVGY0VEbEJKR3dnQW1vaUFqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTGNnRUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWNmajhUaExCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFTUnNFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJKR3dnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVNSc0lBUnFOZ0lNQzA0QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkpCQTVJQUZKQkVBZ0FpQUJJQUFvQWdRZ0EydEJKQkE1SUFCQkNHb1EwQUlnQUNBQ0VNOENJQUlRemdJTElBSWtCZ3RBQVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXQnFJZ0VRM1FFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3o4QkFuOGdBQ2dDQUNJQ0JFQWdBQ2dDQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d0ZEFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRVjFJZ01nQVVrRVFDQUFJQUVnQTJzUWpBa0ZJQU1nQVVzRVFDQUJRUVYwSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQllHb2lBUkRkQVF3QkN3c2dBQ0FDTmdJRUN3c0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFkV3ExYW9CU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVNYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVF4c0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRU1iQ0FFYWpZQ0RBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVg5cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xqZ0VCQkg4Z0FVRUVhaUlES0FJQUlBQW9BZ1FnQUNnQ0FDSUVheUlGYXlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxRQUFnQUVFQU5nSU1JQUFnQXpZQ0VDQUFJQUVFZnlBQkVGRUZRUUFMSWdNMkFnQWdBQ0FDSUFOcUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVNBRGFqWUNEQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDOVFDQWdaL0FuMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSklBWkJER29oQ3lBR1FRaHFJUWdnQmtFRWFpRUtJQVFxQWdnaERDQUVLZ0lNSVEwZ0JRSi9Ba0FDUUFKQUlBRkZEUUFnQUNBQklBd2dEU0FISUFnUTVRRkJBRWdOQUNBRklBY3FBZ0FRUXpZQ0FDQUZJQWdxQWdBUVF6WUNCQ0FDUlEwQklBQWdBaUFNSUEwZ0NTQUtFT1VCUVFCSURRRWdCU0FIS2dJQVF3QUFBRUNVSUFrcUFnQ1RFRU0yQWdnZ0JTQUlLZ0lBUXdBQUFFQ1VJQW9xQWdDVEVFTTJBZ3dnQTBVTkFpQUFJQU1nRENBTklBc2dCaERsQVVFQVNBMENJQVVnQ3lvQ0FDQUhLZ0lBUXdBQVFFQ1VJQWtxQWdCREFBQkFRSlNUa2hCRE5nSVFJQVlxQWdBZ0NDb0NBRU1BQUVCQWxDQUtLZ0lBUXdBQVFFQ1VrNUlRUXd3REN5QUZRWDgyQWdBZ0JVRi9OZ0lFQ3lBRlFYODJBZ2dnQlVGL05nSU1DeUFGUVg4MkFoQkJmd3MyQWhRZ0JpUUdDMDRCQW4wZ0FTb0NBQ0FBS2dJQWt5SUVJQVNVSUFFcUFnUWdBQ29DQkpNaUJDQUVsSktSSWdWREFBQUFBRndFUUNBQ0lBUWdCWlU0QWdBZ0F5QUJLZ0lBSUFBcUFnQ1RJQVdWT0FJQUN3c0dBRUVhRUFJTHB3RUJBbjlCYnlBQmF5QUNTUVJBRUFBTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5RUZJQUZCNS8vLy93ZEpCSDlCQ3lBQlFRRjBJZ1lnQVNBQ2FpSUNJQUlnQmtrYklnSkJFR3BCY0hFZ0FrRUxTUnNGUVc4TElnWVFVU0VDSUFRRVFDQUNJQVVnQkJDb0FRc2dBeUFFYXlJREJFQWdBaUFFYWlBRUlBVnFJQU1RcUFFTElBRkJDa2NFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQ3o0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQVN3QUMwRUFTQVJBSUFBZ0FTZ0NBQ0FCS0FJRUVINEZJQUFnQVNrQ0FEY0NBQ0FBSUFFb0FnZzJBZ2dMQ3dRQVFRRUxDZ0FnQUJBNElBRVFPQXNMQUNBRUlBSTJBZ0JCQXdzZkFRRi9JQUFvQWdBaUFRUi9JQUVRT0NBQVFRQTJBZ0JCQUFWQmZ3c2FDNk1CQVFOL1FZZ0JFRVFpQVFSQUEwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FDUVFWMElBRnFJQU5CQTNScUlBSkJCWFFnQUdvZ0EwRURkR29yQXdBNUF3QWdBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFGQkNqWUNZQ0FCUkFBQUFLQ1ptYmsvT1FOb0lBRkVBQUFBZ0JTdTd6ODVBM0FnQVVRQUFBQUFBQUFRUURrRGVDQUJSQUFBQUFBQUFPQS9PUU9BQVFWQkFDRUJDeUFCQzc4RUFRRi9JQUFnQlVZRWZ5QUJMQUFBQkg4Z0FVRUFPZ0FBSUFRZ0JDZ0NBQ0lBUVFGcU5nSUFJQUJCTGpvQUFDQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNFUUNBSktBSUFJZ0FnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQUxDMEVBQlVGL0N3VUNmeUFBSUFaR0JFQWdCeWdDQkNBSExBQUxJZ1ZCL3dGeElBVkJBRWdiQkVCQmZ5QUJMQUFBUlEwQ0drRUFJQWtvQWdBaUFDQUlhMEdnQVU0TkFob2dDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0NrRUFOZ0lBUVFBTUFnc0xJQXRCZ0FGcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBQUlBVkJBblFnQzJvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUxheUlBUWZ3QVNnUi9RWDhGSUFCQkFuVkI4TzhBYWl3QUFDRUZBa0FDUUFKQUFrQWdBRUdvZjJvaUJrRUNkaUFHUVI1MGNnNEVBUUVBQUFJTElBUW9BZ0FpQUNBRFJ3UkFRWDhnQUVGL2Fpd0FBRUhmQUhFZ0Fpd0FBRUgvQUhGSERRVWFDeUFFSUFCQkFXbzJBZ0FnQUNBRk9nQUFRUUFNQkFzZ0FrSFFBRG9BQUF3QkN5QUZRZDhBY1NJRElBSXNBQUJHQkVBZ0FpQURRWUFCY2pvQUFDQUJMQUFBQkVBZ0FVRUFPZ0FBSUFjb0FnUWdCeXdBQ3lJQlFmOEJjU0FCUVFCSUd3UkFJQWtvQWdBaUFTQUlhMEdnQVVnRVFDQUtLQUlBSVFJZ0NTQUJRUVJxTmdJQUlBRWdBallDQUFzTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdCVG9BQUNBQVFkUUFUQVJBSUFvZ0NpZ0NBRUVCYWpZQ0FBdEJBQXNMQ3d1a0FRRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0FSQTdJQVZCb000REVEb2lBU2dDQUNnQ01DRUdJQUZCOE84QVFaRHdBQ0FDSUFaQkQzRkJpZ0pxRVFrQUdpQUZRYWpPQXhBNklnRW9BZ0FvQWd3aEFpQURJQUVnQWtIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNnQ0VDRUNJQVFnQVNBQ1FmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQVVRUENBRkpBWUxVZ0lDZndGOElBQW9BZ1FpQXlBQktBSUVSd1JBUVFBUUFRc0RRQ0FDSUFOSUJFQWdCQ0FBS0FJQUlBSkJBM1JxS3dNQUlBRW9BZ0FnQWtFRGRHb3JBd0Npb0NFRUlBSkJBV29oQWd3QkN3c2dCQXMzQVFKL1FRZ1FSQ0lCQkVBZ0FTQUFRUU4wRUVRaUFqWUNBQ0FDQkVBZ0FTQUFOZ0lFQlNBQkVEaEJBQ0VCQ3dWQkFDRUJDeUFCQzlVRUFRRi9JQUJCL3dGeElBVkIvd0Z4UmdSL0lBRXNBQUFFZnlBQlFRQTZBQUFnQkNBRUtBSUFJZ0JCQVdvMkFnQWdBRUV1T2dBQUlBY29BZ1FnQnl3QUN5SUFRZjhCY1NBQVFRQklHd1JBSUFrb0FnQWlBQ0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRRWdDU0FBUVFScU5nSUFJQUFnQVRZQ0FBc0xRUUFGUVg4TEJRSi9JQUJCL3dGeElBWkIvd0Z4UmdSQUlBY29BZ1FnQnl3QUN5SUZRZjhCY1NBRlFRQklHd1JBUVg4Z0FTd0FBRVVOQWhwQkFDQUpLQUlBSWdBZ0NHdEJvQUZPRFFJYUlBb29BZ0FoQVNBSklBQkJCR28yQWdBZ0FDQUJOZ0lBSUFwQkFEWUNBRUVBREFJTEN5QUxRU0JxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFGSUF0cUlnVXRBQUFnQUVIL0FYRkdCSDhnQlFVZ0JpRUZEQUlMQ3dzZ0Myc2lCVUVmU2dSL1FYOEZJQVZCOE84QWFpd0FBQ0VBQWtBQ1FBSkFJQVZCRm1zT0JBRUJBQUFDQ3lBRUtBSUFJZ0VnQTBjRVFFRi9JQUZCZjJvc0FBQkIzd0J4SUFJc0FBQkIvd0J4UncwRUdnc2dCQ0FCUVFGcU5nSUFJQUVnQURvQUFFRUFEQU1MSUFKQjBBQTZBQUFnQkNBRUtBSUFJZ0ZCQVdvMkFnQWdBU0FBT2dBQVFRQU1BZ3NnQUVIZkFIRWlBeUFDTEFBQVJnUkFJQUlnQTBHQUFYSTZBQUFnQVN3QUFBUkFJQUZCQURvQUFDQUhLQUlFSUFjc0FBc2lBVUgvQVhFZ0FVRUFTQnNFUUNBSktBSUFJZ0VnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUNJQWtnQVVFRWFqWUNBQ0FCSUFJMkFnQUxDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQURvQUFFRUFJQVZCRlVvTkFSb2dDaUFLS0FJQVFRRnFOZ0lBUVFBTEN3c0xwQUVCQW44akJpRUZJd1pCRUdva0JpQUZJQUVRT3lBRlFZRE9BeEE2SWdFb0FnQW9BaUFoQmlBQlFmRHZBRUdROEFBZ0FpQUdRUTl4UVlvQ2FoRUpBQm9nQlVHUXpnTVFPaUlCS0FJQUtBSU1JUUlnQXlBQklBSkIvd0J4UVFocUVRQUFPZ0FBSUFFb0FnQW9BaEFoQWlBRUlBRWdBa0gvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBRkVEd2dCU1FHQ3dzQUlBQVFtUUlnQUJBNEN3c0FJQUFRbWdJZ0FCQTRDd3NBSUFBUTBBUWdBQkE0Q3dzQUlBQVExZ1FnQUJBNEN4TUFJQUFnQTZJZ0FTQUVvcUFnQWlBRm9xQUxWd0VEZnlBQUtBSUVJZ2RCQ0hVaEJpQUhRUUZ4QkVBZ0F5Z0NBQ0FHYWlnQ0FDRUdDeUFBS0FJQUlnQW9BZ0FvQWhRaENDQUFJQUVnQWlBRElBWnFJQVJCQWlBSFFRSnhHeUFGSUFoQkIzRkIyZ1pxRVF3QUN4UUFJQUFnQUtJZ0FTQUJvcUFnQWlBQ29xQ2ZDNmNCQUNBQVFRRTZBRFVnQWlBQUtBSUVSZ1JBQWtBZ0FFRUJPZ0EwSUFBb0FoQWlBa1VFUUNBQUlBRTJBaEFnQUNBRE5nSVlJQUJCQVRZQ0pDQUFLQUl3UVFGR0lBTkJBVVp4UlEwQklBQkJBVG9BTmd3QkN5QUJJQUpIQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQVRvQU5nd0JDeUFBS0FJWUlnRkJBa1lFUUNBQUlBTTJBaGdGSUFFaEF3c2dBQ2dDTUVFQlJpQURRUUZHY1FSQUlBQkJBVG9BTmdzTEN3c2ZBQ0FCSUFBb0FnUkdCRUFnQUNnQ0hFRUJSd1JBSUFBZ0FqWUNIQXNMQzE0QkFYOGdBQ2dDRUNJREJFQUNRQ0FCSUFOSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFqWUNHQ0FBUVFFNkFEWU1BUXNnQUNnQ0dFRUNSZ1JBSUFBZ0FqWUNHQXNMQlNBQUlBRTJBaEFnQUNBQ05nSVlJQUJCQVRZQ0pBc0w1QUlDQW44Q2ZTQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUgvLy8vakJFc0VRQ0FBUTlvUHliOUQyZy9KUHlBQ0d5QUJRWUNBZ1B3SFN4c1BDeUFCUVlDQWdQY0RTUVJBSUFGQmdJQ0F6QU5KQkg4Z0FBOEZRWDhMSVFFRklBQ0xJUUFnQVVHQWdPRDhBMGtFZlNBQlFZQ0F3UGtEU1FSOVFRQWhBU0FBUXdBQUFFQ1VRd0FBZ0wrU0lBQkRBQUFBUUpLVkJVRUJJUUVnQUVNQUFJQy9raUFBUXdBQWdEK1NsUXNGSUFGQmdJRHdnQVJKQkgxQkFpRUJJQUJEQUFEQXY1SWdBRU1BQU1BL2xFTUFBSUEva3BVRlFRTWhBVU1BQUlDL0lBQ1ZDd3NoQUFzZ0FDQUFsQ0lFSUFTVUlRTWdCQ0FESUFOREpheDhQWlJERGZVUlBwS1VRNm1xcWo2U2xDRUVJQU5EbU1wTXZpQURRMGNTMmoyVWs1UWhBeUFCUVFCSUJIMGdBQ0FBSUFNZ0JKS1Vrd1VnQVVFQ2RFSFE3QUJxS2dJQUlBQWdBeUFFa3BRZ0FVRUNkRUhnN0FCcUtnSUFreUFBazVNaUFDQUFqQ0FDUlJzTEMvd0NBZ04vQVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VRQ0FCUVlDQWdNd0RUd1JBSUFDN0VKRUJJUUFMQlFKOUlBRkIwcWZ0Z3dSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIa2w5dUFCRThFUUVRWUxVUlUreUVKUUVRWUxVUlUreUVKd0NBQ0d5QUVvSm9Ra1FFTUFnc2dBZ1JBSUFSRUdDMUVWUHNoK1QrZ0VKQUJqQXdDQlNBRVJCZ3RSRlQ3SWZtL29CQ1FBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIZzI3K0ZCRThFUUVRWUxVUlUreUVaUUVRWUxVUlUreUVad0NBQ0d5QUVvQkNSQVF3Q0N5QUNCRUFnQkVUU0lUTi9mTmtTUUtBUWtBRU1BZ1VnQkVUU0lUTi9mTmtTd0tBUWtBR01EQUlMQUFzZ0FDQUFreUFCUWYvLy8vc0hTdzBBR2dKQUFrQUNRQUpBSUFBZ0F4RDZBa0VEY1E0REFBRUNBd3NnQXlzREFCQ1JBUXdEQ3lBREt3TUFFSkFCREFJTElBTXJBd0NhRUpFQkRBRUxJQU1yQXdBUWtBR01DeUVBQ3lBREpBWWdBQXYvQWdNRGZ3RjlBWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRWZTQUJRWUNBZ013RFNRUjlRd0FBZ0Q4RklBQzdFSkFCQ3dVQ2ZTQUJRZEtuN1lNRVNRUkFJQUpCQUVjaEFpQUF1eUVGSUFGQjQ1ZmJnQVJMQkVCRUdDMUVWUHNoQ1VCRUdDMUVWUHNoQ2NBZ0Foc2dCYUFRa0FHTURBSUxJQUlFUUNBRlJCZ3RSRlQ3SWZrL29CQ1JBUXdDQlVRWUxVUlUreUg1UHlBRm9SQ1JBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBRkIzOXUvaFFSTEJFQkVHQzFFVlBzaEdVQkVHQzFFVlBzaEdjQWdBaHNnQUx1Z0VKQUJEQUlMSUFJRVFDQUFqTHRFMGlFemYzelpFc0NnRUpFQkRBSUZJQUM3Uk5JaE0zOTgyUkxBb0JDUkFRd0NDd0FMSUFBZ0FKTWdBVUgvLy8vN0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFNUStnSkJBM0VPQXdBQkFnTUxJQU1yQXdBUWtBRU1Bd3NnQXlzREFKb1FrUUVNQWdzZ0F5c0RBQkNRQVl3TUFRc2dBeXNEQUJDUkFRc0xJUVFnQXlRR0lBUUxkd0VCZndKQUFrQWdBQTBBUWNURkF5Z0NBQ0lBRFFCQkFDRUFEQUVMSUFBUTl3UWdBR29pQUN3QUFFVUVRRUhFeFFOQkFEWUNBRUVBSVFBTUFRdEJ4TVVESUFBUTdRUWdBR29pQVRZQ0FDQUJMQUFBQkVCQnhNVURJQUZCQVdvMkFnQWdBVUVBT2dBQUJVSEV4UU5CQURZQ0FBc0xJQUFMS2dFQmZpQUFLQUpNR2lBQUVPOEVJZ0ZDLy8vLy93ZFZCSDlCcE1VRFFUMDJBZ0JCZndVZ0FhY0xDeDRBSUFBb0Frd2FJQUJDQUVFQUVJa0RJQUFnQUNnQ0FFRmZjVFlDQUF2d0FRSUdmd0o4SXdZaEF5TUdRUkJxSkFZZ0EwRUlhaUVFSUFDOElnVkIvLy8vL3dkeElnSkIyNStrN2dSSkJIOGdBTHNpQ0VTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSUpFSE1oQmlBQklBZ2dDVVFBQUFCUSt5SDVQNktoSUFsRVkySWFZYlFRVVQ2aW9Ua0RBQ0FHQlFKL0lBSkIvLy8vK3dkTEJFQWdBU0FBSUFDVHV6a0RBRUVBREFFTElBUWdBaUFDUVJkMlFlcCthaUlDUVJkMGE3NjdPUU1BSUFRZ0F5QUNRUUZCQUJEN0FpRUNJQU1yQXdBaENDQUZRUUJJQkg4Z0FTQUltamtEQUVFQUlBSnJCU0FCSUFnNUF3QWdBZ3NMQ3lFSElBTWtCaUFIQzRNUkFoWi9BM3dqQmlFTkl3WkJzQVJxSkFZZ0RVSEFBbW9oRHlBRVFRSjBRZkRwQUdvb0FnQWhEaUFDUVgxcVFSZ1FPU0lGUVFBZ0JVRUFTaHNoRVNBT0lBTkJmMm9pQjJwQkFFNEVRQ0FESUE1cUlRa2dFU0FIYXlFRkEwQWdCa0VEZENBUGFpQUZRUUJJQkh4RUFBQUFBQUFBQUFBRklBVkJBblJCZ09vQWFpZ0NBTGNMT1FNQUlBVkJBV29oQlNBR1FRRnFJZ1lnQ1VjTkFBc0xJQTFCNEFOcUlRd2dEVUdnQVdvaENpQVJRV2hzSWhVZ0FrRm9hbW9oQ1NBRFFRQktJUWhCQUNFRkEwQWdDQVJBSUFVZ0Iyb2hDMFFBQUFBQUFBQUFBQ0ViUVFBaEJnTkFJQnNnQmtFRGRDQUFhaXNEQUNBTElBWnJRUU4wSUE5cUt3TUFvcUFoR3lBR1FRRnFJZ1lnQTBjTkFBc0ZSQUFBQUFBQUFBQUFJUnNMSUFWQkEzUWdEV29nR3prREFDQUZRUUZxSVFZZ0JTQU9TQVJBSUFZaEJRd0JDd3NnQ1VFQVNpRVNRUmdnQ1dzaEUwRVhJQWxySVJZZ0NVVWhGeUFEUVFCS0lSZ2dEaUVGQWtBQ1FBTkFBa0FnQlVFRGRDQU5haXNEQUNFYklBVkJBRW9pQ3dSQUlBVWhCa0VBSVFjRFFDQUhRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRYzdjaUcwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0JrRi9haUlJUVFOMElBMXFLd01BSUJ1Z0lSc2dCMEVCYWlFSElBWkJBVW9FUUNBSUlRWU1BUXNMQ3lBYklBa1Fud0VpR3lBYlJBQUFBQUFBQU1BL29weEVBQUFBQUFBQUlFQ2lvU0liRUhNaEJpQWJJQWEzb1NFYkFrQUNRQUpBSUJJRWZ5QUZRWDlxUVFKMElBeHFJZ2dvQWdBaUVDQVRkU0VISUFnZ0VDQUhJQk4wYXlJSU5nSUFJQWdnRm5VaENDQUdJQWRxSVFZTUFRVWdGd1IvSUFWQmYycEJBblFnREdvb0FnQkJGM1VoQ0F3Q0JTQWJSQUFBQUFBQUFPQS9aZ1IvUVFJaENBd0VCVUVBQ3dzTElRZ01BZ3NnQ0VFQVNnMEFEQUVMSUFZaEdpQUxCSDlCQUNFR1FRQWhDd04vSUF0QkFuUWdER29pR1NnQ0FDRVFBa0FDUUNBR0JIOUIvLy8vQnlFVURBRUZJQkFFZjBFQklRWkJnSUNBQ0NFVURBSUZRUUFMQ3lFR0RBRUxJQmtnRkNBUWF6WUNBQXNnQzBFQmFpSUxJQVZIRFFBZ0Jnc0ZRUUFMSVFzZ0VnUkFBa0FDUUFKQUlBbEJBV3NPQWdBQkFnc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQTNFMkFnQU1BUXNnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0FYRTJBZ0FMQ3lBYVFRRnFJUVlnQ0VFQ1JnUkFSQUFBQUFBQUFQQS9JQnVoSVJzZ0N3UkFJQnRFQUFBQUFBQUE4RDhnQ1JDZkFhRWhHd3RCQWlFSUN3c2dHMFFBQUFBQUFBQUFBR0lOQWlBRklBNUtCRUJCQUNFTElBVWhCd05BSUFzZ0IwRi9haUlIUVFKMElBeHFLQUlBY2lFTElBY2dEa29OQUFzZ0N3MEJDMEVCSVFZRFFDQUdRUUZxSVFjZ0RpQUdhMEVDZENBTWFpZ0NBRVVFUUNBSElRWU1BUXNMSUFVZ0Jtb2hCd05BSUFNZ0JXb2lDRUVEZENBUGFpQUZRUUZxSWdZZ0VXcEJBblJCZ09vQWFpZ0NBTGM1QXdBZ0dBUkFSQUFBQUFBQUFBQUFJUnRCQUNFRkEwQWdHeUFGUVFOMElBQnFLd01BSUFnZ0JXdEJBM1FnRDJvckF3Q2lvQ0ViSUFWQkFXb2lCU0FEUncwQUN3VkVBQUFBQUFBQUFBQWhHd3NnQmtFRGRDQU5haUFiT1FNQUlBWWdCMGdFUUNBR0lRVU1BUXNMSUFjaEJRd0JDd3NnQ1NFQUEzOGdBRUZvYWlFQUlBVkJmMm9pQlVFQ2RDQU1haWdDQUVVTkFDQUFJUUlnQlFzaEFBd0JDeUFiUVFBZ0NXc1Fud0VpRzBRQUFBQUFBQUJ3UVdZRWZ5QUZRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRY3lJRHQwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0FpQVZhaUVDSUFWQkFXb0ZJQWtoQWlBYkVITWhBeUFGQ3lJQVFRSjBJQXhxSUFNMkFnQUxSQUFBQUFBQUFQQS9JQUlRbndFaEd5QUFRWDlLSWdjRVFDQUFJUUlEUUNBQ1FRTjBJQTFxSUJzZ0FrRUNkQ0FNYWlnQ0FMZWlPUU1BSUJ0RUFBQUFBQUFBY0Q2aUlSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMSUFjRVFDQUFJUUlEUUNBQUlBSnJJUWxCQUNFRFJBQUFBQUFBQUFBQUlSc0RRQ0FiSUFOQkEzUkJrT3dBYWlzREFDQUNJQU5xUVFOMElBMXFLd01Bb3FBaEd5QURRUUZxSVFVZ0F5QU9UaUFESUFsUGNrVUVRQ0FGSVFNTUFRc0xJQWxCQTNRZ0Ntb2dHemtEQUNBQ1FYOXFJUU1nQWtFQVNnUkFJQU1oQWd3QkN3c0xDd0pBQWtBQ1FBSkFJQVFPQkFBQkFRSURDeUFIQkVCRUFBQUFBQUFBQUFBaEd3TkFJQnNnQUVFRGRDQUthaXNEQUtBaEd5QUFRWDlxSVFJZ0FFRUFTZ1JBSUFJaEFBd0JDd3NGUkFBQUFBQUFBQUFBSVJzTElBRWdHNW9nR3lBSUd6a0RBQXdDQ3lBSEJFQkVBQUFBQUFBQUFBQWhHeUFBSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBQklCc2dHNW9nQ0VVaUJCczVBd0FnQ2lzREFDQWJvU0ViSUFCQkFVNEVRRUVCSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRUJhaUVESUFBZ0FrY0VRQ0FESVFJTUFRc0xDeUFCSUJzZ0c1b2dCQnM1QXdnTUFRc2dBRUVBU2dSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1FyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRUlCdzVBd0FnQWtFQlNnUkFJQU1oQWlBY0lSc01BUXNMSUFCQkFVb2lCQVJBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnVXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FGSUJ3NUF3QWdBa0VDU2dSQUlBTWhBaUFjSVJzTUFRc0xJQVFFUUVRQUFBQUFBQUFBQUNFYkEwQWdHeUFBUVFOMElBcHFLd01Bb0NFYklBQkJmMm9oQWlBQVFRSktCRUFnQWlFQURBRUxDd1ZFQUFBQUFBQUFBQUFoR3dzRlJBQUFBQUFBQUFBQUlSc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBS0t3TUFJUndnQ0FSQUlBRWdISm81QXdBZ0FTQUtLd01JbWprRENDQUJJQnVhT1FNUUJTQUJJQnc1QXdBZ0FTQUtLd01JT1FNSUlBRWdHemtERUFzTElBMGtCaUFHUVFkeEM0QUpBd2gvQVg0RWZDTUdJUVFqQmtFd2FpUUdJQVJCRUdvaEJTQUF2U0lLUWorSXB5RUdBbjhDUUNBS1FpQ0lweUlDUWYvLy8vOEhjU0lEUWZ2VXZZQUVTUVIvSUFKQi8vOC9jVUg3d3lSR0RRRWdCa0VBUnlFQ0lBTkIvYktMZ0FSSkJIOGdBZ1IvSUFFZ0FFUUFBRUJVK3lINVA2QWlBRVF4WTJJYVliVFFQYUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEQyZ09RTUlRWDhGSUFFZ0FFUUFBRUJVK3lINXY2QWlBRVF4WTJJYVliVFF2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEwyZ09RTUlRUUVMQlNBQ0JIOGdBU0FBUkFBQVFGVDdJUWxBb0NJQVJERmpZaHBodE9BOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGdQYUE1QXdoQmZnVWdBU0FBUkFBQVFGVDdJUW5Bb0NJQVJERmpZaHBodE9DOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGd2YUE1QXdoQkFnc0xCUUovSUFOQnZJenhnQVJKQkVBZ0EwRzkrOWVBQkVrRVFDQURRZnl5eTRBRVJnMEVJQVlFUUNBQklBQkVBQUF3ZjN6WkVrQ2dJZ0JFeXBTVHA1RU82VDJnSWdzNUF3QWdBU0FBSUF1aFJNcVVrNmVSRHVrOW9Ea0RDRUY5REFNRklBRWdBRVFBQURCL2ZOa1N3S0FpQUVUS2xKT25rUTdwdmFBaUN6a0RBQ0FCSUFBZ0M2RkV5cFNUcDVFTzZiMmdPUU1JUVFNTUF3c0FCU0FEUWZ2RDVJQUVSZzBFSUFZRVFDQUJJQUJFQUFCQVZQc2hHVUNnSWdCRU1XTmlHbUcwOEQyZ0lnczVBd0FnQVNBQUlBdWhSREZqWWhwaHRQQTlvRGtEQ0VGOERBTUZJQUVnQUVRQUFFQlUreUVad0tBaUFFUXhZMklhWWJUd3ZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzA4TDJnT1FNSVFRUU1Bd3NBQ3dBTElBTkIrOFBraVFSSkRRSWdBMEgvLzcvL0Iwc0VRQ0FCSUFBZ0FLRWlBRGtEQ0NBQklBQTVBd0JCQUF3QkN5QUtRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FzTUVBaEw4aEFFRUFJUUlEUUNBQ1FRTjBJQVZxSUFBUWM3Y2lDemtEQUNBQUlBdWhSQUFBQUFBQUFIQkJvaUVBSUFKQkFXb2lBa0VDUncwQUN5QUZJQUE1QXhBZ0FFUUFBQUFBQUFBQUFHRUVRRUVCSVFJRFFDQUNRWDlxSVFjZ0FrRURkQ0FGYWlzREFFUUFBQUFBQUFBQUFHRUVRQ0FISVFJTUFRc0xCVUVDSVFJTElBVWdCQ0FEUVJSMlFlcDNhaUFDUVFGcVFRRVErd0loQWlBRUt3TUFJUUFnQmdSL0lBRWdBSm81QXdBZ0FTQUVLd01JbWprRENFRUFJQUpyQlNBQklBQTVBd0FnQVNBRUt3TUlPUU1JSUFJTEN3c01BUXNnQUVTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSU1FSE1oQ0NBQklBQWdERVFBQUVCVSt5SDVQNktoSWdzZ0RFUXhZMklhWWJUUVBhSWlBS0VpRFRrREFDQURRUlIySWdjZ0RiMUNOSWluUWY4UGNXdEJFRW9FUUNBTVJITndBeTZLR2FNN29pQUxJQXNnREVRQUFHQWFZYlRRUGFJaUFLRWlDNkVnQUtHaElRQWdBU0FMSUFDaElnMDVBd0FnREVUQlNTQWxtb043T2FJZ0N5QUxJQXhFQUFBQUxvb1pvenVpSWc2aElneWhJQTZob1NFT0lBY2dEYjFDTklpblFmOFBjV3RCTVVvRVFDQUJJQXdnRHFFaURUa0RBQ0FPSVFBZ0RDRUxDd3NnQVNBTElBMmhJQUNoT1FNSUlBZ0xJUWtnQkNRR0lBa0xGZ0FnQUNBQklBSkNnSUNBZ0lDQWdJQ0FmeENFQXd2bENnRVNmeUFCS0FJQUlRVUNmd0pBSUFORkRRQWdBeWdDQUNJRVJRMEFJQUFFZnlBRFFRQTJBZ0FnQkNFT0lBQWhEeUFDSVJBZ0JTRUlRVEFGSUFRaENTQUZJUWNnQWlFTFFSb0xEQUVMSUFCQkFFY2hBMEhvaVFFb0FnQW9BZ0FFUUNBREJFQWdBQ0VTSUFJaEVTQUZJUXhCSVF3Q0JTQUNJUk1nQlNFVVFROE1BZ3NBQ3lBRFJRUkFJQVVRWUNFS1FUOE1BUXNnQWdSQUFrQWdBQ0VHSUFJaEJDQUZJUU1EUUNBRExBQUFJZ1VFUUNBRFFRRnFJUU1nQmlBRlFmKy9BM0UyQWdBZ0JFRi9haUlFUlEwQ0lBWkJCR29oQmd3QkN3c2dCa0VBTmdJQUlBRkJBRFlDQUNBQ0lBUnJJUXBCUHd3Q0N3VWdCU0VEQ3lBQklBTTJBZ0FnQWlFS1FUOExJUU1EUUFKQUFrQUNRQUpBSUFOQkQwWUVRQ0FUSVFNZ0ZDRUZBMEFnQlN3QUFDSUVRZjhCY1VGL2FrSC9BRWtFZnlBRlFRTnhCSDhnQkFVZ0JTZ0NBQ0lHUWY4QmNTRUVJQVlnQmtILy9mdDNhbkpCZ0lHQ2hIaHhCSDhnQkFVRFFDQURRWHhxSVFNZ0JVRUVhaUlGS0FJQUlnUWdCRUgvL2Z0M2FuSkJnSUdDaEhoeFJRMEFDeUFFUWY4QmNRc0xCU0FFQzBIL0FYRWlCRUYvYWtIL0FFa0VRQ0FEUVg5cUlRTWdCVUVCYWlFRkRBRUxDeUFFUWI1K2FpSUVRVEpMQkVBZ0JTRUVJQUFoQmd3REJTQUVRUUowUWRBMGFpZ0NBQ0VKSUFWQkFXb2hCeUFESVF0QkdpRUREQVlMQUFVZ0EwRWFSZ1JBSUFjdEFBQkJBM1lpQTBGd2FpQURJQWxCR25WcWNrRUhTd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdEQlNBSFFRRnFJUU1nQ1VHQWdJQVFjUVIvSUFNc0FBQkJ3QUZ4UVlBQlJ3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0ZDeUFIUVFKcUlRTWdDVUdBZ0NCeEJIOGdBeXdBQUVIQUFYRkJnQUZIQkVBZ0FDRURJQWtoQmlBSElRUWdDeUVGREFZTElBZEJBMm9GSUFNTEJTQURDeUVVSUF0QmYyb2hFMEVQSVFNTUJ3c0FCU0FEUVNGR0JFQWdFUVJBQWtBZ0VpRUZJQkVoQXlBTUlRUURRQUpBQWtBQ1FDQUVMUUFBSWdaQmYyb2lEVUgvQUU4TkFDQUVRUU54UlNBRFFRUkxjUVJBQW44Q1FBTkFJQVFvQWdBaUJpQUdRZi85KzNkcWNrR0FnWUtFZUhFTkFTQUZJQVpCL3dGeE5nSUFJQVVnQkMwQUFUWUNCQ0FGSUFRdEFBSTJBZ2dnQkVFRWFpRU5JQVZCRUdvaEJpQUZJQVF0QUFNMkFnd2dBMEY4YWlJRFFRUkxCRUFnQmlFRklBMGhCQXdCQ3dzZ0JpRUZJQTBpQkN3QUFBd0JDeUFHUWY4QmNRdEIvd0Z4SWdaQmYyb2hEUXdCQ3d3QkN5QU5RZjhBVHcwQkN5QUVRUUZxSVFRZ0JTQUdOZ0lBSUFOQmYyb2lBMFVOQWlBRlFRUnFJUVVNQVFzTElBWkJ2bjVxSWdaQk1rc0VRQ0FGSVFZTUJ3c2dCa0VDZEVIUU5Hb29BZ0FoRGlBRklROGdBeUVRSUFSQkFXb2hDRUV3SVFNTUNRc0ZJQXdoQkFzZ0FTQUVOZ0lBSUFJaENrRS9JUU1NQndVZ0EwRXdSZ1JBSUFndEFBQWlCRUVEZGlJRFFYQnFJQU1nRGtFYWRXcHlRUWRMQkVBZ0R5RURJQTRoQmlBSUlRUWdFQ0VGREFVRkFrQWdDRUVCYWlFRklBUkJnSDlxSUE1QkJuUnlJZ05CQUVnRVFBSkFJQVV0QUFCQmdIOXFJZ1JCUDAwRVFDQUlRUUpxSVFVZ0JDQURRUVowY2lJRFFRQk9CRUFnQlNFTURBSUxJQVV0QUFCQmdIOXFJZ1ZCUDAwRVFDQUlRUU5xSVF3Z0JTQURRUVowY2lFRERBSUxDMEdreFFOQkdUWUNBQ0FJUVg5cUlSVU1BZ3NGSUFVaERBc2dEeUFETmdJQUlBOUJCR29oRWlBUVFYOXFJUkZCSVNFRERBb0xDd1VnQTBFL1JnUkFJQW9QQ3dzTEN3c01Bd3NnQkVGL2FpRUVJQVlOQVNBRElRWWdCU0VEQ3lBRUxBQUFCSDhnQmdVZ0JnUkFJQVpCQURZQ0FDQUJRUUEyQWdBTElBSWdBMnNoQ2tFL0lRTU1Bd3NoQXd0QnBNVURRUmsyQWdBZ0F3Ui9JQVFGUVg4aENrRS9JUU1NQWdzaEZRc2dBU0FWTmdJQVFYOGhDa0UvSVFNTUFBQUxBQXVrQVFFRmZ5TUdJUVVqQmtHQUFtb2tCaUFGSVFNZ0FrRUNUZ1JBQWtBZ0FrRUNkQ0FCYWlJSElBTTJBZ0FnQUFSQUEwQWdBeUFCS0FJQUlBQkJnQUlnQUVHQUFra2JJZ1FRVEJwQkFDRURBMEFnQTBFQ2RDQUJhaUlHS0FJQUlBTkJBV29pQTBFQ2RDQUJhaWdDQUNBRUVFd2FJQVlnQmlnQ0FDQUVhallDQUNBQ0lBTkhEUUFMSUFBZ0JHc2lBRVVOQWlBSEtBSUFJUU1NQUFBTEFBc0xDeUFGSkFZTE9RRUNmeUFBQkVBZ0FFRUJjVVVFUUFOQUlBRkJBV29oQVNBQVFRRjJJUUlnQUVFQ2NVVUVRQ0FDSVFBTUFRc0xDd1ZCSUNFQkN5QUJDeWtCQVg4Z0FDZ0NBRUYvYWhDQUF5SUJCSDhnQVFVZ0FDZ0NCQkNBQXlJQVFTQnFRUUFnQUJzTEM1c0VBUWQvSXdZaEJpTUdRZEFCYWlRR0lBWkJ3QUZxSWdSQ0FUY0RBQ0FCSUFKc0lna0VRQUpBUVFBZ0Ftc2hDQ0FHSUFJMkFnUWdCaUFDTmdJQVFRSWhCeUFDSWdVaEFRTkFJQWRCQW5RZ0Jtb2dBaUFGYWlBQmFpSUtOZ0lBSUFkQkFXb2hCeUFLSUFsSkJFQWdBU0VGSUFvaEFRd0JDd3NnQUNBSmFpQUlhaUlCSUFCTEJIOGdBU0VIUVFFaEFVRUJJUVVEZnlBRlFRTnhRUU5HQkg4Z0FDQUNJQU1nQVNBR0VLSUNJQVJCQWhEeUFTQUJRUUpxQlNBQlFYOXFJZ1ZCQW5RZ0Jtb29BZ0FnQnlBQWEwa0VRQ0FBSUFJZ0F5QUJJQVlRb2dJRklBQWdBaUFESUFRZ0FVRUFJQVlROFFFTElBRkJBVVlFZnlBRVFRRVE4QUZCQUFVZ0JDQUZFUEFCUVFFTEN5RUJJQVFnQkNnQ0FFRUJjaUlGTmdJQUlBQWdBbW9pQUNBSFNRMEFJQUVMQlVFQklRVkJBUXNoQnlBQUlBSWdBeUFFSUFkQkFDQUdFUEVCSUFBaEFTQUhJUUFEUUFKL0FrQWdBRUVCUmlBRlFRRkdjUVIvSUFRb0FnUkZEUVFNQVFVZ0FFRUNTQTBCSUFSQkFoRHdBU0FFSUFRb0FnQkJCM00yQWdBZ0JFRUJFUElCSUFFZ0FFRithaUlGUVFKMElBWnFLQUlBYXlBSWFpQUNJQU1nQkNBQVFYOXFRUUVnQmhEeEFTQUVRUUVROEFFZ0JDQUVLQUlBUVFGeUlnYzJBZ0FnQVNBSWFpSUJJQUlnQXlBRUlBVkJBU0FHRVBFQklBVWhBQ0FIQ3d3QkN5QUVJQVFRZ1FNaUJSRHlBU0FCSUFocUlRRWdBQ0FGYWlFQUlBUW9BZ0FMSVFVTUFBQUxBQXNMSUFZa0Jnc1hBQ0FBRUlvQlFRQkhJQUJCSUhKQm4zOXFRUVpKY2d0OUFnRi9BWDRqQmlFRUl3WkJrQUZxSkFZZ0JFRUFOZ0lBSUFRZ0FEWUNCQ0FFSUFBMkFpd2dCRUYvSUFCQi8vLy8vd2RxSUFCQkFFZ2JOZ0lJSUFSQmZ6WUNUQ0FFUWdBUWdnRWdCQ0FDUVFFZ0F4Q1RBeUVGSUFFRVFDQUJJQUFnQkNnQ0JDQUVLUU40cDJvZ0JDZ0NDR3RxTmdJQUN5QUVKQVlnQlF2ZkJRRUpmeU1HSVFVakJrR1FBbW9rQmlBQkxBQUFSUVJBQWtCQnh2NENFQTBpQVFSQUlBRXNBQUFOQVFzZ0FFRU1iRUdnNlFCcUVBMGlBUVJBSUFFc0FBQU5BUXRCemY0Q0VBMGlBUVJBSUFFc0FBQU5BUXRCMHY0Q0lRRUxDeUFGUVlBQ2FpRUdBMzhDZnlBQ0lBRWdBbW9zQUFBaUEwRUFJQU5CTDBjYlJRMEFHaUFDUVFGcUlnSkJEMGtOQVVFUEN3c2hBd0pBQWtBQ1FDQUJMQUFBSWdKQkxrWUVRRUhTL2dJaEFRVWdBU0FEYWl3QUFBUkFRZEwrQWlFQkJTQUNRY01BUncwQ0N3c2dBU3dBQVVVTkFRc2dBVUhTL2dJUXN3RkZEUUFnQVVIYS9nSVFzd0ZGRFFCQnVNVURLQUlBSWdJRVFBTkFJQUVnQWtFSWFoQ3pBVVVOQXlBQ0tBSVlJZ0lOQUFzTFFiekZBeEFhUWJqRkF5Z0NBQ0lDQkVBQ1FBTkFJQUVnQWtFSWFoQ3pBUVJBSUFJb0FoZ2lBa1VOQWd3QkN3dEJ2TVVERUE0TUF3c0xBbjhDUUVIc3hBTW9BZ0FOQUVIZy9nSVFEU0lDUlEwQUlBSXNBQUJGRFFCQi9nRWdBMnNoQ1NBRFFRRnFJUW9EUUFKQUlBSkJPaENxQWlJSExBQUFJZ1JCQUVkQkgzUkJIM1VnQnlBQ2Eyb2lDQ0FKU1FSL0lBVWdBaUFJRUV3YUlBVWdDR29pQWtFdk9nQUFJQUpCQVdvZ0FTQURFRXdhSUFVZ0NDQUthbXBCQURvQUFDQUZJQVlRTlNJRURRRWdCeXdBQUFVZ0JBc2hBaUFISUFKQi93RnhRUUJIYWlJQ0xBQUFEUUVNQWdzTFFSd1FSQ0lDQkg4Z0FpQUVOZ0lBSUFJZ0JpZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUNBQ0JTQUVJQVlvQWdBUS9BUU1BUXNNQVF0QkhCQkVJZ0lFUUNBQ1FmQ0hBU2dDQURZQ0FDQUNRZlNIQVNnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQXNnQWdzaEFVRzh4UU1RRGlBQlFmQ0hBU0FBSUFGeUd5RUNEQUVMSUFCRkJFQWdBU3dBQVVFdVJnUkFRZkNIQVNFQ0RBSUxDMEVBSVFJTElBVWtCaUFDQ3hjQUlBQkJBRWNnQUVITXhBTkhjU0FBUVl5SUFVZHhDdzRBSUFBUWhnTUVRQ0FBRURnTEN4OEJBbjhnQUJCZ1FRRnFJZ0VRUkNJQ0JIOGdBaUFBSUFFUVRBVkJBQXNMbmdFQUlBSkJBVVlFUUNBQklBQW9BZ2dnQUNnQ0JHdXNmU0VCQ3dKQUFrQWdBQ2dDRkNBQUtBSWNUUTBBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFBTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQklBSWdBQ2dDS0VFRGNVR21BMm9SRkFCQ0FGTUVmMEYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0FFRnZjVFlDQUVFQUN4b0xDNUVCQWdGL0FuNENRQUpBSUFDOUlnTkNOSWdpQktkQi93OXhJZ0lFUUNBQ1FmOFBSZ1JBREFNRkRBSUxBQXNnQVNBQVJBQUFBQUFBQUFBQVlnUi9JQUJFQUFBQUFBQUE4RU9pSUFFUWlnTWhBQ0FCS0FJQVFVQnFCVUVBQ3pZQ0FBd0JDeUFCSUFTblFmOFBjVUdDZUdvMkFnQWdBMEwvLy8vLy8vLy9oNEIvZzBLQWdJQ0FnSUNBOEQrRXZ5RUFDeUFBQ3hFQUlBQUVmeUFBSUFFUW5nRUZRUUFMQzc0REF3Ri9BWDRCZkNBQlFSUk5CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJDV3NPQ2dBQkFnTUVCUVlIQ0FrS0N5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FETmdJQURBa0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPc053TUFEQWdMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3ROd01BREFjTElBSW9BZ0JCQjJwQmVIRWlBU2tEQUNFRUlBSWdBVUVJYWpZQ0FDQUFJQVEzQXdBTUJnc2dBaWdDQUVFRGFrRjhjU0lCS0FJQUlRTWdBaUFCUVFScU5nSUFJQUFnQTBILy93TnhRUkIwUVJCMXJEY0RBQXdGQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZi8vQTNHdE53TUFEQVFMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBTkIvd0Z4UVJoMFFSaDFyRGNEQUF3REN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWY4QmNhMDNBd0FNQWdzZ0FpZ0NBRUVIYWtGNGNTSUJLd01BSVFVZ0FpQUJRUWhxTmdJQUlBQWdCVGtEQUF3QkN5QUFJQUpCNlFVUkF3QUxDd3RBQVFKL0lBQW9BZ0FzQUFBUWlnRUVRQU5BSUFBb0FnQWlBaXdBQUNBQlFRcHNRVkJxYWlFQklBQWdBa0VCYWpZQ0FDQUNMQUFCRUlvQkRRQUxDeUFCQ3drQUlBQWdBUkNmQVFzSkFDQUFJQUVRamdVTElnQWdBTDFDLy8vLy8vLy8vLy8vQUlNZ0FiMUNnSUNBZ0lDQWdJQ0FmNE9Fdnd2Z0F3SURmd0YrQW40Q1FBSkFBa0FDUUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FTdHJEZ01BQVFBQkN5QUNRUzFHSVFRZ0FVRUFSeUFBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUlEUVZCcUlnSkJDVXR4Qkg0Z0FDZ0NhQVIrSUFBZ0FDZ0NCRUYvYWpZQ0JBd0VCVUtBZ0lDQWdJQ0FnSUIvQ3dVZ0F5RUJEQUlMREFNTElBSWlBVUZRYWlFQ0N5QUNRUWxMRFFCQkFDRUNBMEFnQVVGUWFpQUNRUXBzYWlFQ0lBSkJ6Sm16NWdCSUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQTBFS1NYRU5BQXNnQXF3aEJTQURRUXBKQkVBRFFDQUJyRUpRZkNBRlFncCtmQ0VGSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBa0VLU1NBRlFxNlBoZGZId3V1akFWTnhEUUFMSUFKQkNra0VRQU5BSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMUVZCcVFRcEpEUUFMQ3dzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQ0FGZlNBRklBUWJEQUVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFvQ0FnSUNBZ0lDQWdIOExDOGtIQVFWL0Fud0NRQUpBQWtBQ1FBSkFJQUVPQXdBQkFnTUxRZXQrSVFSQkdDRUZEQU1MUWM1M0lRUkJOU0VGREFJTFFjNTNJUVJCTlNFRkRBRUxSQUFBQUFBQUFBQUFEQUVMQTBBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFSQ3lBUTBBQ3dKQUFrQUNRQ0FCUVN0ckRnTUFBUUFCQzBFQklBRkJMVVpCQVhScklRWWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXdCQzBFQklRWUxBa0FDUUFKQUEzOGdBMEgrL1FKcUxBQUFJQUZCSUhKR0JIOGdBMEVIU1FSQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRUxJQU5CQVdvaUEwRUlTUTBCUVFnRklBTUxDeUlEUWYvLy8vOEhjVUVEYXc0R0FRQUFBQUFDQUFzZ0FrRUFSeUlISUFOQkEwdHhCRUFnQTBFSVJnMENEQUVMSUFORkJFQUNRRUVBSVFNRGZ5QURRYnorQW1vc0FBQWdBVUVnY2tjTkFTQURRUUpKQkVBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRc2dBMEVCYWlJRFFRTkpEUUJCQXdzaEF3c0xBa0FDUUFKQUlBTU9CQUVDQWdBQ0N5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwRW9Sd1JBSXdFZ0FDZ0NhRVVOQlJvZ0FDQUFLQUlFUVg5cU5nSUVJd0VNQlF0QkFTRUJBMEJCQUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FWQnFRUXBKSUFKQnYzOXFRUnBKY2tVZ0FrSGZBRVlnQWtHZmYycEJHa2x5RzBVRVFDQUJRUUZxSVFFTUFRc0xJd0VnQWtFcFJnMEVHaUFBS0FKb1JTSUNSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCMFVFUUVHa3hRTkJIRFlDQUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQlFzakFTQUJSUTBFR2dOQUlBSkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5TUJJQUZCZjJvaUFVVU5CUm9NQUFBTEFBc2dBQ0FCUVRCR0JIOGdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBdEJJSEpCK0FCR0JFQWdBQ0FGSUFRZ0JpQUNFSkFGREFVTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRVEFGSUFFTElBVWdCQ0FHSUFJUWp3VU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0QnBNVURRUncyQWdBZ0FFSUFFSUlCUkFBQUFBQUFBQUFBREFJTElBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1FRQkhJQU5CQTB0eEJFQURRQ0FCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQTBGL2FpSURRUU5MRFFBTEN3c2dCcklqQXJhVXV3c0x2Z3NDQlg4RmZpQUJRU1JMQkVCQnBNVURRUncyQWdCQ0FDRURCUUpBQTBBZ0FDZ0NCQ0lFSUFBb0FtaEpCSDhnQUNBRVFRRnFOZ0lFSUFRdEFBQUZJQUFRVkFzaUJCQ3lBUTBBQ3dKQUFrQWdCRUVyYXc0REFBRUFBUXNnQkVFdFJrRWZkRUVmZFNFSElBQW9BZ1FpQkNBQUtBSm9TUVIvSUFBZ0JFRUJhallDQkNBRUxRQUFCU0FBRUZRTElRUU1BQXNnQVVVaEJRSkFBa0FDUUNBQlFSQnlRUkJHSUFSQk1FWnhCRUFDUUNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRVFTQnlRZmdBUndSQUlBVUVRQ0FFSVFKQkNDRUJEQVFGSUFRaEFnd0NDd0FMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQndkUUFhaTBBQUVFUFNnUkFJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNSUVJBSUFCQ0FCQ0NBVUlBSVFNTUJ3c2dBUVJBUWdBaEF3d0hDeUFBSUFBb0FnUkJmMm8yQWdSQ0FDRUREQVlGSUFFaEFrRVFJUUVNQXdzQUN3VkJDaUFCSUFVYklnRWdCRUhCMUFCcUxRQUFTd1IvSUFRRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQUJDQUJDQ0FVR2t4UU5CSERZQ0FFSUFJUU1NQlFzaEFnc2dBVUVLUncwQUlBSkJVR29pQWtFS1NRUkFRUUFoQVFOQUlBRkJDbXdnQW1vaEFTQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUVRVkJxSWdKQkNra2dBVUdacytiTUFVbHhEUUFMSUFHdElRa2dBa0VLU1FSQUlBUWhBUU5BSUFsQ0NuNGlDaUFDckNJTFFuK0ZWZ1JBUVFvaEFnd0ZDeUFLSUF0OElRa2dBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBVUZRYWlJQ1FRcEpJQWxDbXJQbXpKbXo1c3daVkhFTkFBc2dBa0VKVFFSQVFRb2hBZ3dFQ3dzTERBSUxJQUVnQVVGL2FuRkZCRUFnQVVFWGJFRUZka0VIY1VHSC9nSnFMQUFBSVFZZ0FTQUNRY0hVQUdvc0FBQWlDRUgvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQkNBR2RDQUNjaUlFUVlDQWdNQUFTU0FCSUFBb0FnUWlBaUFBS0FKb1NRUi9JQUFnQWtFQmFqWUNCQ0FDTFFBQUJTQUFFRlFMSWdWQndkUUFhaXdBQUNJSVFmOEJjU0lDUzNFTkFBc2dCSzBoQ1NBRklRUWdBaUVGQlNBQ0lRUUxJQWdoQWlBQklBVk5RbjhnQnEwaUNvZ2lDeUFKVkhJRVFDQUJJUUlnQkNFQkRBSUxBMEFnQVNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRlFjSFVBR29zQUFBaUJFSC9BWEZOSUFKQi93RnhyU0FKSUFxR2hDSUpJQXRXY2dSQUlBRWhBaUFGSVFFTUF3VWdCQ0VDREFFTEFBQUxBQXNnQVNBQ1FjSFVBR29zQUFBaUJrSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdBU0FFYkNBQ2FpSUVRY2ZqOFRoSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCVUhCMUFCcUxBQUFJZ1pCL3dGeElnSkxjUTBBQ3lBRXJTRUpJQVVoQkNBQ0lRVUZJQUloQkFzZ0JpRUNJQUd0SVFvZ0FTQUZTd1IvUW44Z0NoRDJBU0VMQTM4Z0NTQUxWZ1JBSUFFaEFpQUVJUUVNQXdzZ0NTQUtmaUlNSUFKQi93RnhyU0lOUW4rRlZnUkFJQUVoQWlBRUlRRU1Bd3NnRENBTmZDRUpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQkVIQjFBQnFMQUFBSWdKQi93RnhTdzBBSUFFaEFpQUVDd1VnQVNFQ0lBUUxJUUVMSUFJZ0FVSEIxQUJxTFFBQVN3UkFBMEFnQWlBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBIQjFBQnFMUUFBU3cwQUMwR2t4UU5CeEFBMkFnQWdCMEVBSUFOQ0FZTlFHeUVISUFNaENRc0xJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFrZ0Exb0VRQ0FIUVFCSElBTkNBWU5DQUZKeVJRUkFRYVRGQTBIRUFEWUNBQ0FEUW45OElRTU1BZ3NnQ1NBRFZnUkFRYVRGQTBIRUFEWUNBQXdDQ3dzZ0NTQUhyQ0lEaFNBRGZTRURDd3NnQXd0U0FDQUFCRUFDUUFKQUFrQUNRQUpBQWtBZ0FVRithdzRHQUFFQ0F3VUVCUXNnQUNBQ1BBQUFEQVFMSUFBZ0FqMEJBQXdEQ3lBQUlBSStBZ0FNQWdzZ0FDQUNQZ0lBREFFTElBQWdBamNEQUFzTEMwY0JBbjhqQmlFREl3WkJrQUZxSkFZZ0EwRUFRWkFCRUVVYUlBTkJJellDSUNBRElBQTJBaXdnQTBGL05nSk1JQU1nQURZQ1ZDQURJQUVnQWhDVUJTRUVJQU1rQmlBRUM1d0NBUWQvSUFFb0FreEJmMG9FZjBFQkJVRUFDeHBCL3dFaEJTQUFJUVFDUUFKQUEwQUNRQ0FCS0FJSUlBRW9BZ1FpQWlJR2F5RURJQUpCQ2lBREVLWUNJZ2hGSVFjZ0JDQUNJQU1nQ0VFQklBWnJhaUFIR3lJQ0lBVWdBaUFGU1JzaUF4Qk1HaUFCSUFNZ0FTZ0NCR29pQmpZQ0JDQURJQVJxSVFJZ0J5QUZJQU5ySWdWQkFFZHhSUVJBSUFJaEJBd0RDeUFHSUFFb0FnaEpCSDhnQVNBR1FRRnFOZ0lFSUFZdEFBQUZJQUVROVFFaUJFRUFTQTBCSUFRTElRTWdBa0VCYWlFRUlBSWdBem9BQUNBRlFYOXFJZ1ZGSUFOQi93RnhRUXBHY2tVTkFRd0NDd3NnQUNBQ1JnUi9RUUFGSUFFb0FnQkJFSEVFZnlBQ0lRUU1BZ1ZCQUFzTElRQU1BUXNnQUFSQUlBUkJBRG9BQUFWQkFDRUFDd3NnQUF2d0FRRURmd0pBQWtBZ0FpZ0NFQ0lERFFBZ0FoQ1lBd1IvUVFBRklBSW9BaEFoQXd3QkN5RUVEQUVMSUFNZ0FpZ0NGQ0lFYXlBQlNRUkFJQUlvQWlRaEF5QUNJQUFnQVNBRFFUOXhRY29CYWhFRUFDRUVEQUVMSUFGRklBSXNBRXRCQUVoeUJFQkJBQ0VEQlFKQUlBRWhBd05BSUFBZ0EwRi9haUlGYWl3QUFFRUtSd1JBSUFVRVFDQUZJUU1NQWdWQkFDRUREQU1MQUFzTElBSW9BaVFoQkNBQ0lBQWdBeUFFUVQ5eFFjb0JhaEVFQUNJRUlBTkpEUUlnQUNBRGFpRUFJQUVnQTJzaEFTQUNLQUlVSVFRTEN5QUVJQUFnQVJCTUdpQUNJQUVnQWlnQ0ZHbzJBaFFnQVNBRGFpRUVDeUFFQzJFQkFYOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWdBaUFVRUljUVIvSUFBZ0FVRWdjallDQUVGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NMQ0lCTmdJY0lBQWdBVFlDRkNBQUlBRWdBQ2dDTUdvMkFoQkJBQXNMakFFQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFvNkFBQUNRQUpBSUFBb0FoQWlBZzBBSUFBUW1BTkZCRUFnQUNnQ0VDRUNEQUVMREFFTElBQW9BaFFpQXlBQ1NRUkFJQUFzQUV0QkNrY0VRQ0FBSUFOQkFXbzJBaFFnQTBFS09nQUFEQUlMQ3lBQUlBRkJBU0FBS0FJa1FUOXhRY29CYWhFRUFFRUJSZ1IvSUFFdEFBQUZRWDhMR2dzZ0FTUUdDeHdBSUFCQmdHQkxCSDlCcE1VRFFRQWdBR3MyQWdCQmZ3VWdBQXNMRVFCQkJFRUJRZWlKQVNnQ0FDZ0NBQnNMN0FFQ0NYOEJmU0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUXdBQUFBQTRBZ0FnQWlnQ0FDQUVRUUowYWlFRklBRW9BZ0FnQzBFQ2RHb2hCa0VBSVFkREFBQUFBQ0VNQTBBZ0J5QUlTQVJBSUFBZ0RDQUdLZ0lBSUFVcUFnQ1VraUlNT0FJQUlBbEJBblFnQldvaEJTQUdRUVJxSVFZZ0IwRUJhaUVIREFFTEN5QUVRUUZxSVFRZ0FFRUVhaUVBREFFTEN5QURRUUZxSVFNTUFRVkJBQXNMQlVGL0N3VkJmd3NGUVg4TEMwZ0JBWDhnQUNnQ0JDSUJSUVJBRHdzZ0FTZ0NKQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FJUUJFQWdBRUhJQVRZQ0ZDQUFRUUEyQXJnQ0JTQUFRZVFBTmdJVUN3c3lBUUYvSUFBb0FnUWlBUVJBSUFFb0FpZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUVBTmdJRUlBQkJBRFlDRkFzZ0FDQUFLQUlBSWdGQk16WUNGQ0FBSUFFb0FnQkIvd0Z4UWF3RGFoRUJBQXN5QVFGL0lBQW9BZ2dnQUNnQ0JCQ0xBU0lCQkVBZ0FTQUFFUEVFUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRdUNCQUVKZnlBQUtBTGtBeUlGSUFBb0FsaEJBVVlpQWpZQ0hDQUFLQUlFS0FJSUlRRWdCU0FBUVFGQi9nVkJnQUlnQWhzZ0FDZ0NlQ0FCUVE5eFFZb0NhaEVKQUNJRU5nSVlJQVVvQWhRaEFTQUFLQUo0UVFCTUJFQVBDeUFDUlFSQUEwQWdBU0FGUVNCcUlBTkJBblJxS0FJQUlnSVFPU0VISUFOQkFuUWdCR29vQWdBaEJrRUFJUUVnQWtIK0FXb2dBa0YvYWlJSVFRRjBJZ2tRT1NFRVFRQWhBZ05BSUFJZ0JFb0VRQU5BSUFJZ0NDQUJRUUZxSWdGQkFYUkJBWEpCL3dGc2FpQUpFRGtpQkVvTkFBc0xJQUlnQm1vZ0FTQUhiRG9BQUNBQ1FRRnFJZ0pCZ0FKSERRQUxJQU5CQVdvaUF5QUFLQUo0U0FSQUlBY2hBU0FGS0FJWUlRUU1BUXNMRHd0QkFDRUNBMEFnQVNBRlFTQnFJQUpCQW5ScUtBSUFJZ01RT1NFSElBSkJBblFnQkdvaUFTQUJLQUlBUWY4QmFqWUNBQ0FGS0FJWUlBSkJBblJxS0FJQUlRWkJBQ0VCSUFOQi9nRnFJQU5CZjJvaUNFRUJkQ0lKRURraEJFRUFJUU1EUUNBRElBUktCRUFEUUNBRElBZ2dBVUVCYWlJQlFRRjBRUUZ5UWY4QmJHb2dDUkE1SWdSS0RRQUxDeUFESUFacUlBRWdCMnc2QUFBZ0EwRUJhaUlEUVlBQ1J3MEFDMEVCSVFFRFFDQUdJQUZySUFZc0FBQTZBQUFnQmlBQlFmOEJhbW9nQml3QS93RTZBQUFnQVVFQmFpSUJRWUFDUncwQUN5QUNRUUZxSWdJZ0FDZ0NlRWdFUUNBSElRRWdCU2dDR0NFRURBRUxDd3ZqSHdFZGZ5TUdJUmNqQmtHQUMyb2tCaUFYUVlBRGFpRUVJQmRCZ0FGcUlSa2dBQ2dDNUFNb0FoZ2hHaUFCUVFKMlFRVjBJZ1ZCQkhJaUZDQUZRUnh5SWd4cVFRRjFJUTRnQWtFRGRrRUZkQ0lGUVFKeUloVWdCVUVlY2lJUGFrRUJkU0VRSUFOQkFuWkJCWFFpQlVFRWNpSVdJQVZCSEhJaUVXcEJBWFVoRWlBQUtBS0VBU0lMUVFCS0JIOGdBQ2dDaUFFaUJTZ0NBQ0VLSUFVb0FnUWhDU0FGS0FJSUlSaEIvLy8vL3djaEJ3TkFJQlFnQ0NBS2FpMEFBQ0lGU2dSL0lBVWdER3RCQVhRaUJpQUdiQ0VOSUFVZ0ZHdEJBWFFpQlNBRmJBVUNmeUFNSUFWSUJFQWdCU0FVYTBFQmRDSUdJQVpzSVEwZ0JTQU1hMEVCZENJRklBVnNEQUVMSUE0Z0JVZ0VRQ0FGSUJSclFRRjBJZ1VnQld3aERRVWdCU0FNYTBFQmRDSUZJQVZzSVEwTFFRQUxDeUVGSUJVZ0NDQUphaTBBQUNJR1NnUi9JQVVnQmlBVmEwRURiQ0lGSUFWc2FpRUZJQVlnRDJ0QkEyd2lCaUFHYkFVQ2Z5QVBJQVpJQkVBZ0JTQUdJQTlyUVFOc0lnVWdCV3hxSVFVZ0JpQVZhMEVEYkNJR0lBWnNEQUVMSUJBZ0JrZ0VmeUFHSUJWclFRTnNJZ1lnQm13RklBWWdEMnRCQTJ3aUJpQUdiQXNMQ3lFVElCWWdDQ0FZYWkwQUFDSUdTZ1IvSUFVZ0JpQVdheUlGSUFWc2FpRUZJQVlnRVdzaUJpQUdiQVVDZnlBUklBWklCRUFnQlNBR0lCRnJJZ1VnQld4cUlRVWdCaUFXYXlJR0lBWnNEQUVMSUJJZ0JrZ0VmeUFHSUJacklnWWdCbXdGSUFZZ0VXc2lCaUFHYkFzTEN5RUdJQWhCQW5RZ0JHb2dCVFlDQUNBTklCTnFJQVpxSWdVZ0J5QUZJQWRJR3lFSElBc2dDRUVCYWlJSVJ3MEFDMEVBSVFWQkFDRUlBMzhnQ0VFQ2RDQUVhaWdDQUNBSFRBUkFJQVVnR1dvZ0NEb0FBQ0FGUVFGcUlRVUxJQXNnQ0VFQmFpSUlSdzBBSUFVTEJVRUFDeUVUSUJjaENDQUVRZi8vLy84SE5nSUFJQVJCLy8vLy93YzJBZ1FnQkVILy8vLy9CellDQ0NBRVFmLy8vLzhITmdJTUlBUkIvLy8vL3djMkFoQWdCRUgvLy8vL0J6WUNGQ0FFUWYvLy8vOEhOZ0lZSUFSQi8vLy8vd2MyQWh3Z0JFSC8vLy8vQnpZQ0lDQUVRZi8vLy84SE5nSWtJQVJCLy8vLy93YzJBaWdnQkVILy8vLy9CellDTENBRVFmLy8vLzhITmdJd0lBUkIvLy8vL3djMkFqUWdCRUgvLy8vL0J6WUNPQ0FFUWYvLy8vOEhOZ0k4SUFSQlFHdEIvLy8vL3djMkFnQWdCRUgvLy8vL0J6WUNSQ0FFUWYvLy8vOEhOZ0pJSUFSQi8vLy8vd2MyQWt3Z0JFSC8vLy8vQnpZQ1VDQUVRZi8vLy84SE5nSlVJQVJCLy8vLy93YzJBbGdnQkVILy8vLy9CellDWENBRVFmLy8vLzhITmdKZ0lBUkIvLy8vL3djMkFtUWdCRUgvLy8vL0J6WUNhQ0FFUWYvLy8vOEhOZ0pzSUFSQi8vLy8vd2MyQW5BZ0JFSC8vLy8vQnpZQ2RDQUVRZi8vLy84SE5nSjRJQVJCLy8vLy93YzJBbndnQkVILy8vLy9CellDZ0FFZ0JFSC8vLy8vQnpZQ2hBRWdCRUgvLy8vL0J6WUNpQUVnQkVILy8vLy9CellDakFFZ0JFSC8vLy8vQnpZQ2tBRWdCRUgvLy8vL0J6WUNsQUVnQkVILy8vLy9CellDbUFFZ0JFSC8vLy8vQnpZQ25BRWdCRUgvLy8vL0J6WUNvQUVnQkVILy8vLy9CellDcEFFZ0JFSC8vLy8vQnpZQ3FBRWdCRUgvLy8vL0J6WUNyQUVnQkVILy8vLy9CellDc0FFZ0JFSC8vLy8vQnpZQ3RBRWdCRUgvLy8vL0J6WUN1QUVnQkVILy8vLy9CellDdkFFZ0JFSC8vLy8vQnpZQ3dBRWdCRUgvLy8vL0J6WUN4QUVnQkVILy8vLy9CellDeUFFZ0JFSC8vLy8vQnpZQ3pBRWdCRUgvLy8vL0J6WUMwQUVnQkVILy8vLy9CellDMUFFZ0JFSC8vLy8vQnpZQzJBRWdCRUgvLy8vL0J6WUMzQUVnQkVILy8vLy9CellDNEFFZ0JFSC8vLy8vQnpZQzVBRWdCRUgvLy8vL0J6WUM2QUVnQkVILy8vLy9CellDN0FFZ0JFSC8vLy8vQnpZQzhBRWdCRUgvLy8vL0J6WUM5QUVnQkVILy8vLy9CellDK0FFZ0JFSC8vLy8vQnpZQy9BRWdCRUgvLy8vL0J6WUNnQUlnQkVILy8vLy9CellDaEFJZ0JFSC8vLy8vQnpZQ2lBSWdCRUgvLy8vL0J6WUNqQUlnQkVILy8vLy9CellDa0FJZ0JFSC8vLy8vQnpZQ2xBSWdCRUgvLy8vL0J6WUNtQUlnQkVILy8vLy9CellDbkFJZ0JFSC8vLy8vQnpZQ29BSWdCRUgvLy8vL0J6WUNwQUlnQkVILy8vLy9CellDcUFJZ0JFSC8vLy8vQnpZQ3JBSWdCRUgvLy8vL0J6WUNzQUlnQkVILy8vLy9CellDdEFJZ0JFSC8vLy8vQnpZQ3VBSWdCRUgvLy8vL0J6WUN2QUlnQkVILy8vLy9CellDd0FJZ0JFSC8vLy8vQnpZQ3hBSWdCRUgvLy8vL0J6WUN5QUlnQkVILy8vLy9CellDekFJZ0JFSC8vLy8vQnpZQzBBSWdCRUgvLy8vL0J6WUMxQUlnQkVILy8vLy9CellDMkFJZ0JFSC8vLy8vQnpZQzNBSWdCRUgvLy8vL0J6WUM0QUlnQkVILy8vLy9CellDNUFJZ0JFSC8vLy8vQnpZQzZBSWdCRUgvLy8vL0J6WUM3QUlnQkVILy8vLy9CellDOEFJZ0JFSC8vLy8vQnpZQzlBSWdCRUgvLy8vL0J6WUMrQUlnQkVILy8vLy9CellDL0FJZ0JFSC8vLy8vQnpZQ2dBTWdCRUgvLy8vL0J6WUNoQU1nQkVILy8vLy9CellDaUFNZ0JFSC8vLy8vQnpZQ2pBTWdCRUgvLy8vL0J6WUNrQU1nQkVILy8vLy9CellDbEFNZ0JFSC8vLy8vQnpZQ21BTWdCRUgvLy8vL0J6WUNuQU1nQkVILy8vLy9CellDb0FNZ0JFSC8vLy8vQnpZQ3BBTWdCRUgvLy8vL0J6WUNxQU1nQkVILy8vLy9CellDckFNZ0JFSC8vLy8vQnpZQ3NBTWdCRUgvLy8vL0J6WUN0QU1nQkVILy8vLy9CellDdUFNZ0JFSC8vLy8vQnpZQ3ZBTWdCRUgvLy8vL0J6WUN3QU1nQkVILy8vLy9CellDeEFNZ0JFSC8vLy8vQnpZQ3lBTWdCRUgvLy8vL0J6WUN6QU1nQkVILy8vLy9CellDMEFNZ0JFSC8vLy8vQnpZQzFBTWdCRUgvLy8vL0J6WUMyQU1nQkVILy8vLy9CellDM0FNZ0JFSC8vLy8vQnpZQzRBTWdCRUgvLy8vL0J6WUM1QU1nQkVILy8vLy9CellDNkFNZ0JFSC8vLy8vQnpZQzdBTWdCRUgvLy8vL0J6WUM4QU1nQkVILy8vLy9CellDOUFNZ0JFSC8vLy8vQnpZQytBTWdCRUgvLy8vL0J6WUMvQU1nRTBFQVNnUkFRUUFoRHdOQUlCUWdEeUFaYWl3QUFDSUxRZjhCY1NJSElBQW9Bb2dCSWdZb0FnQnFMUUFBYXlJTlFRRjBJUXdnRlNBSElBWW9BZ1JxTFFBQWF5SUZRUU5zSVFvZ0JVSElBR3dpQlVHUUFXb2hHQ0FXSUFjZ0JpZ0NDR290QUFCcklnZEJCSFFpQmtGQWF5RU9JQVpCd0FGcUlSQWdCa0hBQW1vaEVpQUZRYkFEYWlFYklBVkIwQVZxSVJ3Z0JVSHdCMm9oSFNBRlFaQUthaUVlSUFWQnNBeHFJUjhnQlVIUURtb2hJRUVESVJFZ0RVRUdkRUdBQW1vaERTQU1JQXhzSUFvZ0NteHFJQWNnQjJ4cUlRd2dDQ0VISUFRaEJRTkFJQXdnQlNnQ0FFZ0VRQ0FGSUF3MkFnQWdCeUFMT2dBQUN5QU1JQTVxSWdvZ0JTSUdLQUlFU0FSQUlBWWdDallDQkNBSElBczZBQUVMSUFvZ0VHb2lDaUFHS0FJSVNBUkFJQVlnQ2pZQ0NDQUhJQXM2QUFJTElBb2dFbW9pQ2lBR0tBSU1TQVJBSUFZZ0NqWUNEQ0FISUFzNkFBTUxJQXdnR0dvaUNpQUZLQUlRU0FSQUlBVWdDallDRUNBSElBczZBQVFMSUFvZ0Rtb2lDU0FHS0FJVVNBUkFJQVVnQ1RZQ0ZDQUhJQXM2QUFVTElBa2dFR29pQ1NBRktBSVlTQVJBSUFVZ0NUWUNHQ0FISUFzNkFBWUxJQWtnRW1vaUNTQUZLQUljU0FSQUlBVWdDVFlDSENBSElBczZBQWNMSUFvZ0cyb2lDaUFHS0FJZ1NBUkFJQVlnQ2pZQ0lDQUhJQXM2QUFnTElBb2dEbW9pQ1NBRktBSWtTQVJBSUFZZ0NUWUNKQ0FISUFzNkFBa0xJQWtnRUdvaUNTQUdLQUlvU0FSQUlBWWdDVFlDS0NBSElBczZBQW9MSUFrZ0Vtb2lDU0FHS0FJc1NBUkFJQVlnQ1RZQ0xDQUhJQXM2QUFzTElBb2dIR29pQ2lBRktBSXdTQVJBSUFVZ0NqWUNNQ0FISUFzNkFBd0xJQW9nRG1vaUJTQUdLQUkwU0FSQUlBWWdCVFlDTkNBSElBczZBQTBMSUFVZ0VHb2lCU0FHS0FJNFNBUkFJQVlnQlRZQ09DQUhJQXM2QUE0TElBVWdFbW9pQ1NBR0lnVW9BanhJQkVBZ0JTQUpOZ0k4SUFjZ0N6b0FEd3NnQ2lBZGFpSUtJQVZCUUdzaUJpZ0NBRWdFUUNBR0lBbzJBZ0FnQnlBTE9nQVFDeUFLSUE1cUlna2dCU0lHS0FKRVNBUkFJQVlnQ1RZQ1JDQUhJQXM2QUJFTElBa2dFR29pQ1NBR0tBSklTQVJBSUFZZ0NUWUNTQ0FISUFzNkFCSUxJQWtnRW1vaUNTQUdLQUpNU0FSQUlBWWdDVFlDVENBSElBczZBQk1MSUFvZ0htb2lDaUFGS0FKUVNBUkFJQVVnQ2pZQ1VDQUhJQXM2QUJRTElBb2dEbW9pQ1NBR0tBSlVTQVJBSUFVZ0NUWUNWQ0FISUFzNkFCVUxJQWtnRUdvaUNTQUZLQUpZU0FSQUlBVWdDVFlDV0NBSElBczZBQllMSUFrZ0Vtb2lDU0FGS0FKY1NBUkFJQVVnQ1RZQ1hDQUhJQXM2QUJjTElBb2dIMm9pQ2lBR0tBSmdTQVJBSUFZZ0NqWUNZQ0FISUFzNkFCZ0xJQW9nRG1vaUNTQUZLQUprU0FSQUlBWWdDVFlDWkNBSElBczZBQmtMSUFrZ0VHb2lDU0FHS0FKb1NBUkFJQVlnQ1RZQ2FDQUhJQXM2QUJvTElBa2dFbW9pQ1NBR0tBSnNTQVJBSUFZZ0NUWUNiQ0FISUFzNkFCc0xJQW9nSUdvaUNpQUZLQUp3U0FSQUlBVWdDallDY0NBSElBczZBQndMSUFvZ0Rtb2lCU0FHS0FKMFNBUkFJQVlnQlRZQ2RDQUhJQXM2QUIwTElBVWdFR29pQlNBR0tBSjRTQVJBSUFZZ0JUWUNlQ0FISUFzNkFCNExJQVVnRW1vaUJTQUdLQUo4U0FSQUlBWWdCVFlDZkNBSElBczZBQjhMSUFaQmdBRnFJUVVnQjBFZ2FpRUhJQXdnRFdvaERDQU5RWUFFYWlFTklCRkJmMm9oQmlBUkJFQWdCaUVSREFFTEN5QVBRUUZxSWc4Z0UwY05BQXNMSUFGQmZIRWhCeUFEUVh4eElRRWdBa0Y0Y1NJRFFRRnlJUVlnQTBFQ2NpRU1JQU5CQTNJaER5QURRUVJ5SVJFZ0EwRUZjaUVOSUFOQkJuSWhCQ0FDUVFkeUlSTkJBQ0VBQTBBZ0FDQUhha0VDZENBYWFpSUxLQUlBSWdJZ0EwRUdkR29nQVVFQmRHb2lCU0FJTFFBQVFRRnFPd0VBSUFVZ0NDMEFBVUVCYWpzQkFpQUZJQWd0QUFKQkFXbzdBUVFnQlNBSUxRQURRUUZxT3dFR0lBWkJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUVRUUZxT3dFQUlBVWdDQzBBQlVFQmFqc0JBaUFGSUFndEFBWkJBV283QVFRZ0JTQUlMUUFIUVFGcU93RUdJQXhCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFJUVFGcU93RUFJQVVnQ0MwQUNVRUJhanNCQWlBRklBZ3RBQXBCQVdvN0FRUWdCU0FJTFFBTFFRRnFPd0VHSUE5QkJuUWdBbW9nQVVFQmRHb2lBaUFJTFFBTVFRRnFPd0VBSUFJZ0NDMEFEVUVCYWpzQkFpQUNJQWd0QUE1QkFXbzdBUVFnQWlBSUxRQVBRUUZxT3dFR0lBc29BZ0FpQWlBUlFRWjBhaUFCUVFGMGFpSUZJQWd0QUJCQkFXbzdBUUFnQlNBSUxRQVJRUUZxT3dFQ0lBVWdDQzBBRWtFQmFqc0JCQ0FGSUFndEFCTkJBV283QVFZZ0RVRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCUkJBV283QVFBZ0JTQUlMUUFWUVFGcU93RUNJQVVnQ0MwQUZrRUJhanNCQkNBRklBZ3RBQmRCQVdvN0FRWWdCRUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQmhCQVdvN0FRQWdCU0FJTFFBWlFRRnFPd0VDSUFVZ0NDMEFHa0VCYWpzQkJDQUZJQWd0QUJ0QkFXbzdBUVlnRTBFR2RDQUNhaUFCUVFGMGFpSUNJQWd0QUJ4QkFXbzdBUUFnQWlBSUxRQWRRUUZxT3dFQ0lBSWdDQzBBSGtFQmFqc0JCQ0FDSUFndEFCOUJBV283QVFZZ0NFRWdhaUVJSUFCQkFXb2lBRUVFUncwQUN5QVhKQVlMTkFFQmZ5QUFLQUlFSUFFb0FnZ1FwUU1pQWdSQUlBSWdBQ0FCRUp3RFFRQklCRUFnQWhCSlFRQWhBZ3NGUVFBaEFnc2dBZ3ZTQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ2dDNUFNZ0FFRUJRZndQSUFGQlAzRkJ5Z0ZxRVFRQUlnQkIvQWRxSWdJMkFpZ2dBa0VBTmdJQUlBQkJnQWhxUVFFMkFnQWdBRUYvTmdMNEJ5QUFRWVFJYWtFQ05nSUFJQUJCZmpZQzlBY2dBRUdJQ0dwQkF6WUNBQ0FBUVgwMkF2QUhJQUJCakFocVFRUTJBZ0FnQUVGOE5nTHNCeUFBUVpBSWFrRUZOZ0lBSUFCQmV6WUM2QWNnQUVHVUNHcEJCallDQUNBQVFYbzJBdVFISUFCQm1BaHFRUWMyQWdBZ0FFRjVOZ0xnQnlBQVFad0lha0VJTmdJQUlBQkJlRFlDM0FjZ0FFR2dDR3BCQ1RZQ0FDQUFRWGMyQXRnSElBQkJwQWhxUVFvMkFnQWdBRUYyTmdMVUJ5QUFRYWdJYWtFTE5nSUFJQUJCZFRZQzBBY2dBRUdzQ0dwQkREWUNBQ0FBUVhRMkFzd0hJQUJCc0FocVFRMDJBZ0FnQUVGek5nTElCeUFBUWJRSWFrRU9OZ0lBSUFCQmNqWUN4QWNnQUVHNENHcEJEellDQUNBQVFYRTJBc0FIUVJBaEFFRVFJUUVEUUNBQVFRSjBJQUpxSUFFMkFnQkJBQ0FBYTBFQ2RDQUNha0VBSUFGck5nSUFJQUVnQUVFQmFpSUFRUUZ4UVFGemFpRUJJQUJCTUVjTkFBdEJBQ0FCYXlFRFFUQWhBQU5BSUFCQkFuUWdBbW9nQVRZQ0FFRUFJQUJyUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVlBQ1J3MEFDd3RCQVFKL1FRd1FSQ0lDQkVBZ0FpQUJJQUJCQW5Sc0VFUWlBellDQUNBREJFQWdBaUFBTmdJRUlBSWdBVFlDQ0FVZ0FoQTRRUUFoQWdzRlFRQWhBZ3NnQWd2Y0FRRUNmd0pBSUFBb0FyUUNEUUFDUUNBQUtBSW9RUU5yRGdVQUFRRUJBQUVMSUFBb0FpUkJBMGNOQUNBQUtBSXNRUUpIRFFBZ0FDZ0NlRUVEUncwQUlBQW9BckFDRFFBZ0FDZ0MyQUVpQVNnQ0NFRUNSdzBBSUFFb0FtQkJBVWNOQUNBQktBSzRBVUVCUncwQUlBRW9BZ3hCQWtvTkFDQUJLQUprUVFGSERRQWdBU2dDdkFGQkFVY05BQ0FCS0FJa0lnSWdBQ2dDeEFKSERRQWdBU2dDZkNBQ1J3MEFJQUVvQXRRQklBSkhEUUFnQVNnQ0tDSUNJQUFvQXNnQ1J3MEFJQUlnQVNnQ2dBRkdCSDhnQWlBQktBTFlBVVlGUVFBTER3dEJBQXZqQmdFR2Z3SkFJQUFvQXRRQ0lnRkJBVVlFUUNBQUlBQW9BdGdDSWdFb0FodzJBdWdDSUFBZ0FTZ0NJQ0lETmdMc0FpQUJRUUUyQWpnZ0FVRUJOZ0k4SUFGQlFHdEJBVFlDQUNBQklBRW9BaVEyQWtRZ0FVRUJOZ0pJSUFNZ0FTZ0NEQ0lDRUU0aEF5QUJJQU1nQWlBREd6WUNUQ0FBUVFFMkF2QUNJQUJCQURZQzlBSkJBU0VCQlNBQlFYOXFRUU5MQkVBZ0FDZ0NBQ0lEUVJzMkFoUWdBeUFCTmdJWUlBQW9BZ0JCQkRZQ0hDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQWdBQ2dDSENBQUtBSzhBaUFBS0FLc0Eyd1FhRFlDNkFJZ0FDQUFLQUlnSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0xzQWlBQVFRQTJBdkFDSUFBb0F0UUNRUUJNRFFGQkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDQ0NFRUlBSWdCRFlDT0NBQ0lBSW9BZ3dpQlRZQ1BDQUNRVUJySUFRZ0JXd2lBVFlDQUNBQ0lBUWdBaWdDSkd3MkFrUWdBaUFFSUFJb0Fod2dCQkJPSWdRZ0JFVWJOZ0pJSUFJZ0FpZ0NJQ0FGRUU0aUFpQUZJQUliTmdKTUlBRWdCbXBCQ2tvRVFDQUFLQUlBSWdKQkRqWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBRkJBRW9FUUFOQUlBRkJmMm9oQWlBQUlBQW9BdkFDSWdSQkFXbzJBdkFDSUFCQjlBSnFJQVJCQW5ScUlBTTJBZ0FnQVVFQlNnUkFJQUloQVF3QkN3c0xJQU5CQVdvaUF5QUFLQUxVQWlJQlNBUkFJQUFvQXZBQ0lRWU1BUXNMSUFGQkFFd05BUXRCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NVRVVFUUNBQVFhUUJhaUFDS0FJUUlnRkJBblJxSVFRQ1FBSkFJQUZCQTBzTkFDQUVLQUlBUlEwQURBRUxJQUFvQWdBaUJVRTJOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBUVFGQmhBRWdBVUUvY1VIS0FXb1JCQUFpQVNBRUtBSUFRWVFCRUV3YUlBSWdBVFlDVUNBQUtBTFVBaUVCQ3lBRFFRRnFJZ01nQVVnTkFBc2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUR3c2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUM4b0JBUUovSXdZaEJDTUdRVEJxSkFZZ0JFRVlhaUlGUVFnMkFnUWdCVUVCTmdJSUlBVWdBRFlDQUNBRVFReHFJZ0FnQXpZQ0JDQUFRUUUyQWdnZ0FDQUJOZ0lBSUFRZ0F6WUNCQ0FFUVFnMkFnZ2dCQ0FDTmdJQUlBUVF1d1VpQWdSQUlBSWdCQkNqQXlJQkJFQWdBaUFBRUtNRElnTUVRQ0FCS0FJQUlBRW9BZ1FpQUNBQUVQWUVSVUVmZEVFZmRVRUFTQVIvUVg4RklBVWdBU0FERUp3REdrRUFDeUVBSUFNUVNRVkJmeUVBQ3lBQkVFa0ZRWDhoQUFzZ0FoQkpCVUYvSVFBTElBUWtCaUFBQzFrQkFYOGdBQ2dDMkFFaUFRUkFJQUVRdndjZ0FDZ0MyQUVRaHdrZ0FFRUFOZ0xZQVFzZ0FFSGtBV29pQVNnQ0FBUkFJQUVRcHdrZ0FVRUFOZ0lBQ3lBQVFjQUJhaUlBS0FJQUJFQWdBQkN6Q3lBQVFRQTJBZ0FMQzNNQkEzOGpCaUVDSXdaQkVHb2tCaUFDUVFocUlRTWdBUkRQQ1NJRUJFQWdBQ0FFRU9FR0lRQWdCQkE0QlNBQ0lBRTJBZ0JCQUVFRFFaR3FBU0FDRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRWDhoQUFzZ0FpUUdJQUFMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRYkRFQXlnQ0FDRUNRYkRFQXlBQk5nSUFJQUlFUUVHMHhBTW9BZ0FhSUFJUU9BdEJ0TVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUWJERUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnVNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUd3eEFNb0FnQWdCVUVDZEdwQnVNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFiREVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0d3eEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQnNNUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUWJERUF5Z0NBQ0VBUWJERUEwRUFOZ0lBSUFBRVFFRzB4QU1vQWdBYUlBQVFPQXRCdE1RRFFRQTJBZ0FMQzZvRUFnbC9BbjBqQmlFRkl3WkJJR29rQmlBRlFRUnFJUVFnQlNBQU5nSUFJQUFvQWdBaEF3SkFBa0JCdE1RREtBSUFJZ0ZGSWdrRVFFRUFJUUFNQVFVZ0FTQUJRWDlxSWdoeFJTSUhCSDhnQXlBSWNRVWdBeUFCU1FSL0lBTUZJQU1nQVJCT0N3c2lBRUVDZEVHd3hBTW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUhCSDhnQmlBSWNRVWdCaUFCVHdSL0lBWWdBUkJPQlNBR0N3c2dBRWNOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBUWdBeUFGRU44R1FjREVBeW9DQUNJS0lBR3psRUc4eEFNb0FnQkJBV3F6SWd0ZElBbHlCRUFDZnlBTElBcVZqUkNTQVNJQ0lBRkJmMm9nQVhGQkFFY2dBVUVEU1hJZ0FVRUJkSElpQUNBQUlBSkpHeERlQmtHMHhBTW9BZ0FpQWtGL2FpSUFJQU54SUFBZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFBRklBRWhBZ3RCc01RREtBSUFJQUJCQW5ScUtBSUFJZ0VFZnlBRUtBSUFJQUVvQWdBMkFnQWdBU0FFS0FJQU5nSUFJQVFGSUFRb0FnQkJ1TVFES0FJQU5nSUFRYmpFQXlBRUtBSUFOZ0lBUWJERUF5Z0NBQ0FBUVFKMGFrRzR4QU0yQWdBZ0JDZ0NBQ0lIS0FJQUlnQUVRQ0FBS0FJRUlRQWdBaUFDUVg5cUlnRnhCSDhnQUNBQ1R3Ui9JQUFnQWhCT0JTQUFDd1VnQUNBQmNRc2hBRUd3eEFNb0FnQWdBRUVDZEdvZ0J6WUNBQXNnQkFzaUFDZ0NBQ0VDUWJ6RUEwRzh4QU1vQWdCQkFXbzJBZ0FnQUVFQU5nSUFDeUFGSkFZZ0FrRVFhZ3NrQVFGL0lBRW9BZ0FoQWlBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVVFRWFpQUNFSDRMRVFBZ0FTQUFRZjhCY1VHc0Eyb1JBUUFMRWdBZ0FTQUNJQUJCQTNGQnJBVnFFUm9BQ3hJQUlBRWdBaUFBUVQ5eFFiSUZhaEVEQUFzU0FDQUJJQUlnQUVFQmNVR3dCV29SSmdBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUVp6RUF5Z0NBQ0VDUVp6RUF5QUJOZ0lBSUFJRVFFR2d4QU1vQWdBYUlBSVFPQXRCb01RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFaekVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJwTVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHY3hBTW9BZ0FnQlVFQ2RHcEJwTVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRWnpFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHY3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJuTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFaekVBeWdDQUNFQVFaekVBMEVBTmdJQUlBQUVRRUdneEFNb0FnQWFJQUFRT0F0Qm9NUURRUUEyQWdBTEN4TUFJQUJCeUFKcUVGVWdBRUdnQW1vUTVRWUxLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVpTSEFVSFJ0d0pCQVNBQkVBa2dBd3NrQmd2Z0hRSWFmd0YrSXdZaEJDTUdRZEFTYWlRR0lBUkJrQkpxSVJFZ0JFSHdCbW9oQ0NBRVFhQUdhaUVQSUFSQjBBVnFJUkFnQkVHQUJXb2hFaUFFUWJBRWFpRVRJQVJCTUdvaEZ5QUVJUllDZndKL0FuOENRQUpBQWtBQ1FBSkFBa0FDUUNBQVFZUUdhdzZMRUFFRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUNBd1VGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFRRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUFGQ3lBQ0lSRkJvQkVoQ1VHZ0RTRUxRZmdBSVExQi93QWhERUVKSVJSQndBQU1Cd3RCNEF3aENVR2dDeUVMUVEwaERVRUpJUUJCQVNFQ1FROE1CUXRCNEF3aENVR2dDeUVMUVEwaERVRUZJUUJCQWlFQ1FROE1CQXRCRENFQVFRSWhBZ3dDQzBFSElRQkJBeUVDREFFTFFYOE1Bd3RCNEFzaENVR2dDaUVMUVJZaERVRWZDeUVNUVFBaEJBTi9JQVFnRFVZRWZ5QUNJUlFnQUFVZ0JDQVJhaUFCcDBFQmNUb0FBQ0FFUVFGcUlRUWdBVUlCaUNFQkRBRUxDd3NoR0NBVVFRRjBJUlZCQVNFQ0EwQWdBaUFWVEFSQUlBSkJBblFnRTJvaUJrRUFOZ0lBUVFBaEJFRUFJUUFEUUNBRUlBMUlCRUFnQkNBUmFpd0FBQVJBSUFZZ0FpQUViQ0FNRUU5QkFuUWdDMm9vQWdBZ0FITWlBRFlDQUFzZ0JFRUJhaUVFREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0EyQWdCQkFTQUZJQUFiSVFVZ0FrRUJhaUVDREFFTEN5QUZRUUJISWhrRVFDQVBRUUEyQWdBZ0R5QVRLQUlFSWdVMkFnUWdDRUVBTmdJQUlBaEJBVFlDU0VFQklRQURRQ0FBSUJWSUJFQWdBRUVDZENBSWFrRi9OZ0lBSUFoQnlBQnFJQUJCQW5ScVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBUVFRQTJBZ0FnRUVFQU5nSUVJQkpCZnpZQ0FDQVNRUUEyQWdSQkFDRUVRUUFoQWdOQUFrQWdCRUVCYWlFS0lBVkJmMFlFUUNBRVFRSnFJZ1JCQW5RZ0VHb2dBallDQUVFQUlRQURRQ0FBSUFKTUJFQWdCRUhJQUd3Z0NHb2dBRUVDZEdvZ0NrSElBR3dnQ0dvZ0FFRUNkR29pQlNnQ0FDSUdOZ0lBSUFVZ0JrRUNkQ0FKYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMQlNBRUlRQURRQ0FBUVg5cUlRWWdBRUVBU2lJSElBQkJBblFnRDJvb0FnQkJmMFp4QkVBZ0JpRUFEQUVMQ3lBSEJFQWdBQ0VHQTBBZ0JrRi9haUlIUVFKMElBOXFLQUlBUVg5SEJFQWdCeUFBSUFCQkFuUWdFbW9vQWdBZ0IwRUNkQ0FTYWlnQ0FFZ2JJUUFMSUFaQkFVb0VRQ0FISVFZTUFRc0xDeUFFUVFKcUlnUkJBblFnRUdvZ0FpQUtJQUJySWhvZ0FFRUNkQ0FRYWlJT0tBSUFhaUlHSUFJZ0Jrb2JJZ1kyQWdCQkFDRUhBMEFnQnlBVlNBUkFJQVJCeUFCc0lBaHFJQWRCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQ3lBRklBeHFJUWNnQUVFQ2RDQVBhaUViSUE0b0FnQWhEa0VBSVFVRFFDQUZJQTVNQkVBZ0FFSElBR3dnQ0dvZ0JVRUNkR29vQWdBaUhFRi9Sd1JBSUFSQnlBQnNJQWhxSUFVZ0dtcEJBblJxSUFjZ0hHb2dHeWdDQUdzZ0RCQlBRUUowSUF0cUtBSUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQWhBQU4vSUFBZ0Frb0VmeUFHQlNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFwQnlBQnNJQWhxSUFCQkFuUnFJZ2NvQWdBaURpQUZLQUlBY3pZQ0FDQUhJQTVCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEN5RUNDeUFFUVFKMElCSnFJQW9nQW1zMkFnQWdDaUFWVGcwQUlBUkJBblFnRDJvaUJpQUVRUUowSUJOcUtBSUFJZ0JCZjBZRWYwRUFCU0FBUVFKMElBdHFLQUlBQ3lJQU5nSUFRUUVoQlFOQUlBVWdBa3dFUUNBRUlBVnJRUUowSUJOcUtBSUFJZ2RCZjBjRVFDQUVRY2dBYkNBSWFpQUZRUUowYWlnQ0FDSU9CRUFnQmlBSElBNUJBblFnQ1dvb0FnQnFJQXdRVDBFQ2RDQUxhaWdDQUNBQWN5SUFOZ0lBQ3dzZ0JVRUJhaUVGREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0FpQlRZQ0FDQUNJQlJNQkVBZ0NpRUVEQUlMQ3d0QmZ5QUNJQlJLRFFFYVFRQWhBQU5BSUFBZ0Frd0VRQ0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQVVvQWdCQkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDMEVCSVFBRFFDQUFJQUpNQkVBZ0FFRUNkQ0FXYWlBRVFjZ0FiQ0FJYWlBQVFRSjBhaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xRUUFoQUVFQklRb0RRQ0FNSUFwT0JFQkJBU0VHUVFFaEJRTkFJQVlnQWt3RVFDQUdRUUowSUJacUlnY29BZ0FpQ1VGL1J3UkFJQWNnQmlBSmFpQU1FRThpQnpZQ0FDQUZJQWRCQW5RZ0Myb29BZ0J6SVFVTElBWkJBV29oQmd3QkN3c2dCVVVFUUNBQVFRSjBJQmRxSUF3Z0NtczJBZ0FnQUVFQmFpRUFDeUFLUVFGcUlRb01BUXNMUVg4Z0FDQUNSdzBCR2tFQUlRQURRQ0FBSUFKSUJFQWdFU0FBUVFKMElCZHFLQUlBYWlJRklBVXNBQUJCQVhNNkFBQWdBRUVCYWlFQURBRUxDd1ZCQUNFRUN5QURRZ0EzQXdCQ0FTRWVJQTBnR0dzaEFFSUFJUUVEUUNBQUlBMUlCRUFnQXlBZUlBQWdFV290QUFDdGZpQUJmQ0lCTndNQUlCNUNBWVloSGlBQVFRRnFJUUFNQVFzTElCa0VmeUFFUVFKMElCQnFLQUlBQlVFQUN3c2hIU0FXSkFZZ0hRdkpDQUlMZndOOEl3WWhEaU1HUVJCcUpBWWdEa0VJYWlFSElBQkZJQU5CQVVoeUJIOGdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFRWDhGQW44Q1FBSkFBa0FnQVE0Q0FBRUNDeUFESUFOc0lnRkJER3dRUkNJS1JRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dBVUVEYkNFTFFRQWhCMEVBSVFFRFFDQUhJQXRIQkVBZ0FTQUNJQWRxTEFBQVFYOXpRZjhCY1dvaEFTQUhRUUZxSVFjTUFRc0xJQUVnQ3hCSUlRbEJBQ0VIUVFBaEFRTkFJQUVnQzBjRVFDQUJRUUowSUFwcUlBRWdBbW9zQUFCQmYzTkIvd0Z4SUFscklnZzJBZ0FnQnlBSUlBaHNhaUVISUFGQkFXb2hBUXdCQ3dzZ0I3ZWZJaE1nQTdkRWtTdFE1bnEyK3oraW8wUUFBQUFBQUFBdVFHTUVRQ0FFUVFBMkFnQWdCVUVBTmdJQUlBWkVBQUFBQUFBQThMODVBd0FnQ2hBNFFYNE1Bd3NnQUNnQ0FDRVBRUUFoQ1VGL0lRTkJmeUVCUVg4aEFnTkFJQWtnRDBnRVFDQUFLQUlJSVFjQ1FBSkFBMEFDUUNBRFFRRnFJZ05CQW5RZ0Iyb29BZ0FPQXdFQ0FBSUxDd3dCQ3lBRFFRSjBJUkJCQUNFSEEwQWdCMEVFUndSQUlBY2dFR29oRFVFQUlReEJBQ0VJQTBBZ0NDQUxSd1JBSUF3Z0NFRUNkQ0FLYWlnQ0FDQUFLQUlNSUExQkFuUnFLQUlBSUFoQkFuUnFLQUlBYkdvaERDQUlRUUZxSVFnTUFRc0xJQWNnQWlBTXR5QUFLQUlRSUExQkEzUnFLd01Bb3lBVG95SVVJQkprSWdnYklRSWdCMEVCYWlFSElCUWdFaUFJR3lFU0lBTWdBU0FJR3lFQkRBRUxDd3NnQ1VFQmFpRUpEQUVMQ3lBRklBSTJBZ0FnQkNBQk5nSUFJQVlnRWprREFDQUtFRGhCQUF3Q0N5QURJQU5zSWdwQkFuUVFSQ0lMUlFSQVFRQkJBMEc1MkFJZ0J4QTlRUUVRQVF0QkFDRUhRUUFoQVFOQUlBRWdDa2NFUUNBSElBRWdBbW9zQUFCQmYzTkIvd0Z4YWlFSElBRkJBV29oQVF3QkN3c2dCeUFLRUVnaENVRUFJUWRCQUNFQkEwQWdBU0FLUndSQUlBRkJBblFnQzJvZ0FTQUNhaXdBQUVGL2MwSC9BWEVnQ1dzaUNEWUNBQ0FISUFnZ0NHeHFJUWNnQVVFQmFpRUJEQUVMQ3lBSHQ1OGlFeUFEdDZORUFBQUFBQUFBTGtCakJFQWdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFJQXNRT0VGK0RBSUxJQUFvQWdBaEQwRUFJUWxCZnlFRFFYOGhBVUYvSVFJRFFDQUpJQTlJQkVBZ0FDZ0NDQ0VIQWtBQ1FBTkFBa0FnQTBFQmFpSURRUUowSUFkcUtBSUFEZ01CQWdBQ0N3c01BUXNnQTBFQ2RDRVFRUUFoQndOQUlBZEJCRWNFUUNBSElCQnFJUTFCQUNFTVFRQWhDQU5BSUFnZ0NrY0VRQ0FNSUFoQkFuUWdDMm9vQWdBZ0FDZ0NGQ0FOUVFKMGFpZ0NBQ0FJUVFKMGFpZ0NBR3hxSVF3Z0NFRUJhaUVJREFFTEN5QUhJQUlnRExjZ0FDZ0NHQ0FOUVFOMGFpc0RBS01nRTZNaUZDQVNaQ0lJR3lFQ0lBZEJBV29oQnlBVUlCSWdDQnNoRWlBRElBRWdDQnNoQVF3QkN3c0xJQWxCQVdvaENRd0JDd3NnQlNBQ05nSUFJQVFnQVRZQ0FDQUdJQkk1QXdBZ0N4QTRRUUFNQVF0QmZ3c0xJUkVnRGlRR0lCRUxWQUVCZnlNR0lRTWpCa0V3YWlRR0lBTWdBallDQUNBRFFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBTkJIR29pQVNBQ0lBTVFvUWNnQUNBQkVLSUhJQUVRUnlBQ0VFY2dBeVFHQzN3QkFYOGpCaUVHSXdaQkVHb2tCaUFBSUFJMkFnQWdBQ0FETmdJRUlBQWdCRFlDQ0NBQVFRRTJBaEFnQUNBRUlBVnNOZ0lVSUFaQkFEWUNBQ0FHUVFScUlBWXNBQXc2QUFBZ0JrRUlhaUFHS0FJQU5nSUFJQUJCR0dvZ0FSQ2xCeUFBSUFWQkFFZ0VmeUFDRUxrRElBTnNCU0FGQ3pZQ0RDQUdKQVlMYWdFQ2Z5TUdJUUVqQmtFUWFpUUdBa0FDUUFKQUFrQWdBRUVCYXc0Q0FBRUNDeUFBSVFJTUFndEJCQ0VDREFFTFFSQVFCU0VBSUFGQ0FEY0NBQ0FCUVFBMkFnZ2dBVUhrb0FKQjVLQUNFR0FRZmlBQUlBRVFoZ0lnQUVHSThnQkJCUkFFQ3lBQkpBWWdBZ3NlQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnTFJ3RUNmeU1HSVFFakJrR1FBbW9rQmlBQlFZQUNhaUlDRUJNYUlBRkJnQUpCdkp3Q0lBSVFJaEFnR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVNBQkVHQVFmaUFCSkFZTE9nRUNmeU1HSVFJakJrRVFhaVFHSUFFZ0FDZ0NBR3doQXlBQ1FRQTZBQUFnQUVFRWFpQURJQUlRcmdjZ0FFRVFhaUFCRU5FRElBSWtCZ3ROQVFKL0lBQW9BZ3dFUUNBQUtBSUlFTDRESUFCQkFEWUNDQ0FBS0FJRUlRSURRQ0FCSUFKSEJFQWdBQ2dDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dBRUVBTmdJTUN3c2RBUUovQTBBZ0FBUkFJQUFvQWdBaEFpQUFFRGdnQWlFQURBRUxDd3VIQWdFSGZ5TUdJUWNqQmtFUWFpUUdJQUlvQWdBaUJpQUFLQUlBSWdocklRQWdBVUVDVGdSQUlBRkJmbXBCQWhBNUlna2dBRUVEZFU0RVFDQUFRUUoxUVFGeUlnTkJBM1FnQ0dvaUJDRUFJQU5CQVdvaUJTQUJTQVJBSUFVZ0F5QUVJQVJCQ0dvaUJCREJBU0lGR3lFRElBUWdBQ0FGR3lFQUN5QUFJQVlRd1FGRkJFQWdCeUFHS1FJQU53TUFBMEFDUUNBR0lBQWlCaWtDQURjQ0FDQUNJQUEyQWdBZ0NTQURTQTBBSUFOQkFYUkJBWElpQTBFRGRDQUlhaUlFSVFBZ0EwRUJhaUlGSUFGSUJFQWdCU0FESUFRZ0JFRUlhaUlFRU1FQklnVWJJUU1nQkNBQUlBVWJJUUFMSUFBZ0J4REJBVVVOQVFzTElBWWdCeWtEQURjQ0FBc0xDeUFISkFZTENBQWdBRUg4QUdvTFhRRUJmMEgvLy8vL0FTQUJTUVJBRUFBTElBRkIvLy8vL3dGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkEzUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBM1FnQW1vMkFnZ0xDeEFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ0xiUUFnQUNvQ0FDQUJLZ0lBbENBQUtnSUVJQUVxQWdTVWtpQUFLZ0lJSUFFcUFnaVVraUFBS2dJTUlBRXFBZ3lVa2lBQUtnSVFJQUVxQWhDVWtpQUFLZ0lVSUFFcUFoU1VraUFBS2dJWUlBRXFBaGlVa2lBQUtnSWNJQUVxQWh5VWtpQUFLZ0lnSUFFcUFpQ1VrZ3ZWQWdFSmZTQUZJQVlxQWdBZ0J5b0NBSklnQ0NvQ0FKSWdDU29DQUpKREFBQ0FQcFFpQ2pnQ0FDQUZJQVlxQWdRZ0J5b0NCSklnQ0NvQ0JKSWdDU29DQkpKREFBQ0FQcFFpQ3pnQ0JDQUdLZ0lBSUFxVElnMGdEWlFnQmlvQ0JDQUxreUlPSUE2VWtwRWdCeW9DQUNBS2t5SVBJQStVSUFjcUFnUWdDNU1pRUNBUWxKS1JraUFJS2dJQUlBcVRJaEVnRVpRZ0NDb0NCQ0FMa3lJU0lCS1VrcEdTSUFrcUFnQWdDcE1pQ2lBS2xDQUpLZ0lFSUF1VElnc2dDNVNTa1pKREFBQ0FQcFFpREVNQUFBQUFXd1IvUVFBRklBUkRBQUNBUHlBTWxidEV6VHQvWnA2ZzlqK2l0aUlNT0FJQUlBQWdEU0FNbERnQ0FDQUFJQTRnQkNvQ0FKUTRBZ1FnQVNBUElBUXFBZ0NVT0FJQUlBRWdFQ0FFS2dJQWxEZ0NCQ0FDSUJFZ0JDb0NBSlE0QWdBZ0FpQVNJQVFxQWdDVU9BSUVJQU1nQ2lBRUtnSUFsRGdDQUNBRElBc2dCQ29DQUpRNEFnUkJBUXNMREFBZ0FDQUJLUUlBTndJQUN5b0FJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFFRVFDQUFJQUVRd1FNZ0FDQUJFTm9IQ3d0cEFRUjlJQUFxQWhBZ0FDb0NGQ0FBS2dJY0lBQXFBaUFRZ0FFaEJDQUFLZ0lNSUFBcUFoUWdBQ29DR0NBQUtnSWdFSUFCSVFJZ0FDb0NEQ0FBS2dJUUlBQXFBaGdnQUNvQ0hCQ0FBU0VESUFRZ0FDb0NBSlFnQWlBQUtnSUVsSk1nQXlBQUtnSUlsSklMdGdJQkFYMGdBUkRIQXlJRGl5QUNYd1IvUVFBRklBQkRBQUNBUHlBRGxTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJY0lBRXFBaUFRZ0FHVU9BSUFJQUFnQWlBQktnSUlJQUVxQWdRZ0FTb0NJQ0FCS2dJY0VJQUJsRGdDQkNBQUlBSWdBU29DQkNBQktnSUlJQUVxQWhBZ0FTb0NGQkNBQVpRNEFnZ2dBQ0FDSUFFcUFoUWdBU29DRENBQktnSWdJQUVxQWhnUWdBR1VPQUlNSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DR0NBQktnSWdFSUFCbERnQ0VDQUFJQUlnQVNvQ0NDQUJLZ0lBSUFFcUFoUWdBU29DREJDQUFaUTRBaFFnQUNBQ0lBRXFBZ3dnQVNvQ0VDQUJLZ0lZSUFFcUFod1FnQUdVT0FJWUlBQWdBaUFCS2dJRUlBRXFBZ0FnQVNvQ0hDQUJLZ0lZRUlBQmxEZ0NIQ0FBSUFJZ0FTb0NBQ0FCS2dJRUlBRXFBZ3dnQVNvQ0VCQ0FBWlE0QWlCQkFRc0xpd0lCQlg4akJpRUlJd1pCRUdva0JpQUZFR2toQlNBQUlBUW9BZ1FnQkNnQ0FHdEJBM1VRZ0FJZ0NFRUVhaUVLQTBBZ0JpQUVLQUlFSUFRb0FnQWlCMnRCQTNWSkJFQWdDQ0FLSUFFZ0F5Z0NBQ0lKSUFaQkEzUWdCMm9vQWdRaUIwRVViR29xQWdBZ0IwRVViQ0FKYWlvQ0JCQzlBaUFJS2dJQUlBSW9BZ0FnQkNnQ0FDQUdRUU4wYWlnQ0FFRVViR29xQWdDVEVHa2dDaW9DQUNBQ0tBSUFJQVFvQWdBZ0JrRURkR29vQWdCQkZHeHFLZ0lFa3hCcGtpQUZYd1JBSUFRb0FnQWdCa0VEZEdvaEJ5QUFLQUlFSWdrZ0FDZ0NDRVlFUUNBQUlBY1FsZ0VGSUFrZ0J5a0NBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUxDeUFHUVFGcUlRWU1BUXNMSUFna0JndnBBZ0lKZndGOUl3WWhCeU1HUVVCckpBWWdCMEVzYWlJTElBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0IwRWdhaUlNSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQXlnQ0JDQURLQUlBSWdOclFRTjFJUTBnQVNnQ0FDRU9JQXdvQWdBaENTQUNLQUlBSVFJZ0N5Z0NBQ0VLQTBBZ0NDQU5Sd1JBSUFoQkEzUWdDV29nQ0VFRGRDQURhaWdDQUNJQlFSUnNJQTVxS0FJQU5nSUFJQWhCQTNRZ0NXb2dBVUVVYkNBT2FpZ0NCRFlDQkNBSVFRTjBJQXBxSUFoQkEzUWdBMm9vQWdRaUFVRVViQ0FDYWlnQ0FEWUNBQ0FJUVFOMElBcHFJQUZCRkd3Z0Ftb29BZ1EyQWdRZ0NFRUJhaUVJREFFTEN5QUhRd0FBQUFBNEFnQWdCME1BQUFBQU9BSUVJQWNnQmJJaUVEZ0NDQ0FIUXdBQUFBQTRBZ3dnQnlBUU9BSVFJQWNnQnJJaUVEZ0NGQ0FIUXdBQUFBQTRBaGdnQnlBUU9BSWNJQVFnQUNBS0lBa2dEU0FIRVB3SEJIOGdBQ0FGSUFZUSt3Y0ZRUUFMSVE4Z0RCQlZJQXNRVlNBSEpBWWdEd3Y4QXdFS2Z5TUdJUVFqQmtFd2FpUUdJQVJCSUdvaEJTQUJJQVJCREdvZ0JFRUlhaUFFUVFScUlBUWdBeERYQnlBQUlBQW9BZ0EyQWdRZ0FVSHdBR29oRFNBQkVNQURJZ01vQWdRZ0F5Z0NBR3RCQW5VaUN5QUNLQUlFSUFJb0FnQnJRUU4xU3dSQUlBVkJ3TWdEUVphSUFoQTNRWkQ1QVJBM1FlK2lBaEEzUWRZQ0VENUI5cUlDRURkQnhJZ0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVVRUENBRElBWVFRQ0FERUQ4UUFBc2dCRUVjYWlFR0lBUkJHR29oQ0NBRVFSUnFJUWtnQkVFUWFpRUtJQTBvQWdBaEEwRUFJUVVEUUNBRklBdElCRUFnQVNBR0lBZ2dDU0FLSUFNcUFnQWdBeW9DQkNBREtnSUlJQU1xQWd3Z0JDZ0NETGRFQUFBQUFBQUE0RCtndGlBRUtBSUl0MFFBQUFBQUFBRGdQNkMySUFRb0FnUzNSQUFBQUFBQUFPQS9vTFlnQkNnQ0FMZEVBQUFBQUFBQTREK2d0aERXQnlBR0tnSUFRd0FBZ0Q5ZElBZ3FBZ0JEQUFDQVAxMXhJQWtxQWdCREFBQ0FQMTF4SUFvcUFnQkRBQUNBUDExeEJFQWdBUkRBQXlnQ0FDQUZRUUowYWlnQ0FFRURkQ0FDS0FJQWFpRUhJQUFvQWdRaURDQUFLQUlJUmdSQUlBQWdCeENXQVFVZ0RDQUhLUUlBTndJQUlBQWdBQ2dDQkVFSWFqWUNCQXNMSUFOQkVHb2hBeUFGUVFGcUlRVU1BUXNMSUFRa0JndlBBd0lPZndGOUl3WWhDU01HUVNCcUpBWWdDVUVFYWlFUElBbEJGR29pRENBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFsQkNHb2lEU0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQU1vQWdRZ0F5Z0NBQ0lRYTBFRGRTRVJJQUVvQWdBaEFTQUNLQUlBSVFJZ0RDZ0NBQ0VTSUEwb0FnQWhFd05BSUFvZ0VVY0VRQ0FLUVFOMElCQnFLQUlFSVFzZ0NrRUNkQ0lVUVFKMElCSnFJZ2dnQ2tFRGRDQVFhaWdDQUNJT1FSUnNJQUZxS0FJQU5nSUFJQWdnRGtFVWJDQUJhaWdDQkRZQ0JDQUlJQTVCRkd3Z0FXb29BZ2cyQWdnZ0NDQU9RUlJzSUFGcUtBSU1OZ0lNSUJSQkFuUWdFMm9pQ0NBTFFSUnNJQUpxS0FJQU5nSUFJQWdnQzBFVWJDQUNhaWdDQkRZQ0JDQUlJQXRCRkd3Z0Ftb29BZ2cyQWdnZ0NDQUxRUlJzSUFKcUtBSU1OZ0lNSUFwQkFXb2hDZ3dCQ3dzZ0FDQUVzaUlXUTgzTVRENlVJQmFTSWhhTUlCWWdCYklpRmtQTnpFdytsQ0FXa2lJV2pDQVdFTU1ISUFBZ0JrRUJkYkk0QWdnZ0FDQUhRUUYxc2pnQ0RDQUFJQVkyQWdBZ0FDQUhOZ0lFSUFBZ0RDZ0NBQ0FOS0FJQUlBTW9BZ1FnQXlnQ0FHdEJBM1VRd2djZ0FDQVBJQWtRdVFkQmZ5QUpLQUlBSUE4cUFnQkRBQUJBUUYwYklSVWdEUkJWSUF3UVZTQUpKQVlnRlF0R0FBTkFJQUVnQWtjRVFDQUFLQUlFSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBQWdBQ2dDQkVFVWFqWUNCQ0FCUVJScUlRRU1BUXNMQ3lnQUlBSWdBV3NpQWtFQVNnUkFJQUFvQWdRZ0FTQUNFRXdhSUFBZ0FDZ0NCQ0FDYWpZQ0JBc0xPQUVDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9DQUFRUUEyQWdnZ0FFRUFOZ0lFSUFCQkFEWUNBQXNMTXdBZ0FpQUJheUlDUVFCS0JFQWdBa0VNRUVnaEF5QUFLQUlFSUFFZ0FoQk1HaUFBSUFBb0FnUWdBMEVNYkdvMkFnUUxDMXNCQTM4Z0FDZ0NCQ0lESUFBb0FnQWlCR3RCRkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRaGdnRklBSWdBVXNFUUNBQlFSUnNJQVJxSVFJZ0F5RUJBMEFnQVNBQ1J3UkFJQUZCYkdvaEFRd0JDd3NnQUNBQ05nSUVDd3NMQ2dBZ0FFSGdBRFlDQUFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRWGhxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3hjQUlBQkNBRGNDQUNBQVFnQTNBZ2dnQUVFQk9nQVFDeXNCQVg4Z0FDZ0NCQ0VDQTBBZ0FoRFVBeUFBSUFBb0FnUkJGR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xYUUVCZjBITW1iUG1BQ0FCU1FSQUVBQUxJQUZCekptejVnQkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJGR3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCRkd3Z0FtbzJBZ2dMQ3drQUlBQWdBVFlDQ0FzVEFDQUFRUWcyQWdRZ0FFRU1ha0VJRUljQkN3c0FJQUJCQUNBQkVFVWFDL3dEQWdWL0Fud2pCaUVHSXdaQm9BSnFKQVlnQmtHQUFtb2hDQ0FHUWNBQmFpSUVJQUZCcUFGcVFRUWdBU2dDREVFQVNBUi9JQUZCRkdvRklBRW9BZ2hCQUVnRWZ5QUJRUmhxQlNBQlFSQnFDd3NvQWdBaUJXdEJCQkJQSWdkQkJIUnFLd01BT1FNQUlBUWdBU0FIUVFSMGFpc0RzQUU1QXdnZ0JDQUJRYWdCYWtFRklBVnJRUVFRVHlJSFFRUjBhaXNEQURrREVDQUVJQUVnQjBFRWRHb3JBN0FCT1FNWUlBUWdBVUdvQVdwQkJpQUZhMEVFRUU4aUIwRUVkR29yQXdBNUF5QWdCQ0FCSUFkQkJIUnFLd093QVRrREtDQUVJQUZCcUFGcVFRY2dCV3RCQkJCUElnVkJCSFJxS3dNQU9RTXdJQVFnQVNBRlFRUjBhaXNEc0FFNUF6Z2dCa0hnQUdvaUFTQUNSQUFBQUFBQUFPQy9vaUlKT1FNQUlBRWdBa1FBQUFBQUFBRGdQNklpQWprRENDQUJSQUFBQUFBQUFBQUFPUU1RSUFFZ0Fqa0RHQ0FCSUFJNUF5QWdBVVFBQUFBQUFBQUFBRGtES0NBQklBSTVBekFnQVNBSk9RTTRJQUZCUUd0RUFBQUFBQUFBQUFBNUF3QWdBU0FKT1FOSUlBRWdDVGtEVUNBQlJBQUFBQUFBQUFBQU9RTllJQVpCaUFKcUlnVWdCRFlDQUNBRklBRTJBZ1FnQlVFRU5nSUlJQUFvQWdBZ0JDQUJRUVFnQmhDWUJFRUFTQVI4UkFBQUFBQ0UxNWRCQlNBQUtBSUFJQVVnQmlBRElBZ1E2Z0ZCQUVnaEFFUUFBQUFBaE5lWFFTQUlLd01BSUFBYkN5RUtJQVlrQmlBS0M3OENBQ0FBS0FJQUlBRW9BZ0FRYkNBQUtBSUVJQUVvQWdRUWJHb2dBQ2dDQ0NBQktBSUlFR3hxSUFBb0Fnd2dBU2dDREJCc2FpQUFLQUlRSUFFb0FoQVFiR29nQUNnQ0ZDQUJLQUlVRUd4cUlBQW9BaGdnQVNnQ0dCQnNhaUFBS0FJY0lBRW9BaHdRYkdvZ0FDZ0NJQ0FCS0FJZ0VHeHFJQUFvQWlRZ0FTZ0NKQkJzYWlBQUtBSW9JQUVvQWlnUWJHb2dBQ2dDTENBQktBSXNFR3hxSUFBb0FqQWdBU2dDTUJCc2FpQUFLQUkwSUFFb0FqUVFiR29nQUNnQ09DQUJLQUk0RUd4cUlBQW9BandnQVNnQ1BCQnNhaUFBUVVCcktBSUFJQUZCUUdzb0FnQVFiR29nQUNnQ1JDQUJLQUpFRUd4cUlBQW9Ba2dnQVNnQ1NCQnNhaUFBS0FKTUlBRW9Ba3dRYkdvZ0FDZ0NVQ0FCS0FKUUVHeHFJQUFvQWxRZ0FTZ0NWQkJzYWlBQUtBSllJQUVvQWxnUWJHb2dBQ2dDWENBQktBSmNFR3hxQzBFQkFuOGdBVUVCVGdSQUFrQWdBRUVBTmdJQVFRRWhBZ05BSUFFZ0FrWU5BU0FDUVFKMElBQnFJQU5CQVdvaUF6WUNBQ0FDUVFGcUlRSU1BQUFMQUFzTEN6NEJBbjhnQUNnQ0JDQUFLQUlBSWdSclFRSjFJZ01nQVVrRVFDQUFJQUVnQTJzZ0FoQ2ZDQVVnQXlBQlN3UkFJQUFnQVVFQ2RDQUVhallDQkFzTEM4b0VBUTEvSXdZaEVTTUdRUkJxSkFZZ0VVRUVhaUVTSUFoQkFra2hGQ0FJUVFKR0lSVURRQ0FRSUFWSUJFQWdEa0VJZENBTGFpQVFRYkR4Qkd3Z0JHb29BZ0EyQWdBZ0NTQVFRYkR4Qkd3Z0JHb3JBd2kySUJCQnNQRUViQ0FFYWlzREVMWWdFaUFSRUtZQlFRQk9CRUFnRGtFSWRDQUxhaUFTS2dJQXV6a0RPQ0FPUVFoMElBdHFRVUJySUJFcUFnQzdPUU1BSUJCQnNQRUViQ0FFYWtFY2FpQVFRYkR4Qkd3Z0JHcEIzTGdDYWlBUVFiRHhCR3dnQkdvb0FoZ2dFRUd3OFFSc0lBUnFRWnp4QkdvZ0NTQU9RUWgwSUF0cVFjZ0FhaUFPUVFoMElBdHFRYWdCYWlJUEVLWUlRUUJPQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFZZ0J5QUlJQUFnQVNBQ0lBTWdDU0FQSUFvZ0RrRUlkQ0FMYWtFSWFpSVdJQTVCQ0hRZ0MycEJGR29pRnlBT1FRaDBJQXRxUVNocUloZ2dEa0VJZENBTGFrRU1haUlaSUE1QkNIUWdDMnBCR0dvaUdpQU9RUWgwSUF0cVFUQnFJaE1nRFNBT1FRaDBJQXRxUWZBQmFpQU9RUWgwSUF0cVFmZ0JhaEQrQmlJUFFYcHJEZ2NGQkFNQ0FRQUdCd3RCQWlFUERBVUxRUU1oRHd3RUMwRUVJUThNQXd0QkJTRVBEQUlMUVFraER3d0JDMEVCSVE4TElBNUJDSFFnQzJvZ0R6WUM3QUVMQWtBQ1FDQVVCRUFnRGtFSWRDQUxhaUFXS0FJQU5nSUVJQmdoRXlBWElROE1BUVVnRlFSQUlBNUJDSFFnQzJvZ0dTZ0NBRFlDQkNBYUlROE1BZ3NMREFFTElBNUJDSFFnQzJvZ0R5Z0NBRFlDRUNBT1FRaDBJQXRxSUJNckF3QTVBeUFMSUE1QkFXb2hEZ3NMSUJCQkFXb2hFQXdCQ3dzZ0RDQU9OZ0lBSUJFa0JrRUFDd2dBSUFCQjZBQnFDNjhJQVFoL0l3WWhDU01HUVNCcUpBWWdBRUVNYWlJSEtBSUVJQUFvQW13UXhnRWdCVTRFUUNBQlFRRVFnd0lnQVJERkFTQUZFSWNCUVFBaEFBTkFJQUFnQlVnRVFDQUFRUUowSUFScUtBSUFJUUlnQVJERkFTZ0NBQ0FBUVFKMGFpQUNOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NTUUdEd3NnQ1VFVWFpRUdJQWxDQURjQ0FDQUpRZ0EzQWdnZ0NVR0FnSUQ4QXpZQ0VDQUhJQUlnQXlBRUlBVVFwUWdnQjBFWWFpSU1LQUlFSWdzZ0RDZ0NBQ0lJYTBFQ2RTQUZSd1JBSUFaQndNZ0RRWm54QVJBM1FkSHhBUkEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCMlBJQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNpZ0NBQ2dDSENFTklBcEJDaUFOUVQ5eFFZb0JhaEVDQUNFS0lBWVFQQ0FISUFvUVFDQUhFRDhRQUF0QkFDRUhBa0FDUUFKQUFrQURRQ0FISUFzZ0NHdEJBblZKQkVBZ0IwRUNkQ0FJYWlnQ0FDSUlRWDlHRFFJZ0NDQUZUZzBESUFoQkFuUWdCR29pQ0NnQ0FDQURUZzBFSUFkQkFuUWdCR29oQ3lBSklBZ1F3d0lpQ0NnQ0JDSUtJQWdvQWdoR0JFQWdDQ0FMRUtRSUJTQUtJQXNvQWdBMkFnQWdDQ0FLUVFScU5nSUVDeUFIUVFGcUlRY2dEQ2dDQUNFSUlBd29BZ1FoQ3d3QkN3c0NRQ0FKS0FJTVFRRkdCRUFnQVVFQkVJTUNJQUVReFFFZ0JSQ0hBVUVBSVFBRFFDQUFJQVZPRFFJZ0FFRUNkQ0FFYWlnQ0FDRUNJQUVReFFFb0FnQWdBRUVDZEdvZ0FqWUNBQ0FBUVFGcUlRQU1BQUFMQUFVZ0FSRGZBeUFKS0FJTUVLTUlJQWxCQ0dvaEJBTkFBa0FnQkNnQ0FDSUVSUTBESUFRb0FoQWdCQ2dDREVZTkFFR0FBUkJSSWdVZ0FCRGhBeUFDSUFRb0FnaEI0QUJzYWhDaUNDQUdJQVUyQWdBZ0JVRUFFSU1DSUFFUTN3TWlCU2dDQkNJSElBVW9BZ2hHQkVBZ0JTQUdFTUlDQlNBSElBWW9BZ0EyQWdBZ0JTQUZLQUlFUVFScU5nSUVDeUFBSUFZb0FnQWdBaUFESUFRb0Fnd2lCU0FFS0FJUUlBVnJRUUoxRU9BRERBRUxDeUFHUWNESUEwRzM5QUVRTjBIUjhRRVFOMEh2b2dJUU4wR0RBeEErUWZhaUFoQTNRZVgwQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSkVPa0RJQWtrQmc4TElBWkJ3TWdEUWU3eUFSQTNRZEh4QVJBM1FlK2lBaEEzUWUwQ0VENUI5cUlDRURkQm1mTUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUlMSUFaQndNZ0RRYS96QVJBM1FkSHhBUkEzUWUraUFoQTNRZTRDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBRUxJQVpCd01nRFFmcnpBUkEzUWRIeEFSQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3Q3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMRXdBZ0FDQUFLQUlFSWdCQkFXbzJBZ1FnQUF2RkF3RUlmeUFCQkVBQ1FDQUJRZi8vLy84RFN3UkFRUWdRQlNJQ0VJZ0JJQUpCdElzQk5nSUFJQUpCK1BjQVFSWVFCQXNnQVVFQ2RCQlJJUUlnQUNnQ0FDRURJQUFnQWpZQ0FDQURCRUFnQUNnQ0JCb2dBeEE0Q3lBQUlBRTJBZ1JCQUNFQ0EwQWdBU0FDUndSQUlBQW9BZ0FnQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJDR29oQXlBQUtBSUlJZ0lFUUNBQ0tBSUVJUVFnQVNBQlFYOXFJZ2h4UlNJSkJIOGdCQ0FJY1FVZ0JDQUJUd1IvSUFRZ0FSQk9CU0FFQ3dzaEJpQUFLQUlBSUFaQkFuUnFJQU0yQWdBRFFDQUNJUVFEUUFKQUEwQUNRQ0FFS0FJQUlnSkZEUVlnQWlnQ0JDRURJQVlnQ1FSL0lBTWdDSEVGSUFNZ0FVOEVmeUFESUFFUVRnVWdBd3NMSWdWR0RRQWdBQ2dDQUNBRlFRSjBhaUlES0FJQVJRMENJQUloQXdOQUlBTW9BZ0FpQndSQUlBSW9BZ2dnQnlnQ0NFWUVRQ0FISVFNTUFnc0xDeUFFSUFjMkFnQWdBeUFBS0FJQUlBVkJBblJxS0FJQUtBSUFOZ0lBSUFBb0FnQWdCVUVDZEdvb0FnQWdBallDQUF3QkN3c2dBaUVFREFFTEN5QURJQVEyQWdBZ0JTRUdEQUFBQ3dBTEN3VWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDeUFBUVFBMkFnUUxDenNBUWVDOEF5d0FBRVVFUUVIZ3ZBTVFjQVJBUVlqRUEwRUFOZ0lBUVl6RUEwRUFOZ0lBUVpERUEwRUFOZ0lBUWVDOEF4QnZDd3RCaU1RREN3a0FJQUFnQVRZQ0JBc0pBQ0FBSUFFMkFnQUxVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FaeUdBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDelFBSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUJCSkdvUWxBZ0x1UUVCQlg4Z0FTZ0NBQ0VCSUFBb0FnUWlBZ1JBQWtBZ0FpQUNRWDlxSWdSeFJTSUZCSDhnQVNBRWNRVWdBU0FDU1FSL0lBRUZJQUVnQWhCT0N3c2lCa0VDZENBQUtBSUFhaWdDQUNJQUJIOERRQ0FBS0FJQUlnQkZCRUJCQUNFQURBTUxJQUFvQWdRaUF5QUJSZ1JBSUFFZ0FDZ0NDRVlOQXdVZ0JRUkFJQU1nQkhFaEF3VWdBeUFDVHdSQUlBTWdBaEJPSVFNTEN5QURJQVpIQkVCQkFDRUFEQVFMQ3d3QUFBc0FCVUVBQ3lFQUN3VkJBQ0VBQ3lBQUN5a0JBWDhnQUNnQ0NCQzJDQ0FBS0FJQUlRRWdBRUVBTmdJQUlBRUVRQ0FBS0FJRUdpQUJFRGdMQzIwQkFYOGdBRUdVQm1vaUFVRVlhaEJWSUFGQkRHb1FWU0FCRUZVZ0FFR01CV29pQVVIOEFHb1FWU0FCUWZBQWFoQlZJQUZCM0FCcUVNUUhJQUJCL0FScUVGVWdBRUdnQVdvUS9BZ2dBRUhjQUdvUXh3SWdBRUhJQUdvUXVRZ2dBRUZBYXhDVkFTQUFRUXhxRUZVTEtBRUJmeUFBUVFScUVPa0RJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUVRNmdNZ0FSQTRDd3V3QndJSGZ3RjhRY1lBSVFaQndJUTlJUWNnQTBFQlJpSUxCRUJCeGdCQkJCQTVJUVpCd0lROVFRUVFPU0VISUFCQkFoQTVJUUFnQVVFQ0VEa2hBUXNnQlVFQU5nSUFJQUJCZm1vaENDQUJRWDVxSVFrZ0FrR1FnTWdBYWlFTVFRQWhBUUpBQWtBRFFBSkFJQUVnQWlnQ0NFNE5BaUFDUVF4cUlBRkJBblJxSWdNb0FnQWlDaUFHU0NBS0lBZEtja1VFUUNBQ1FZeUFDR29nQVVFRWRHb2lDaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJrSUFJYWlnQ0FDQUlSd1JBSUFJZ0FVRUVkR3BCbElBSWFpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQm1JQUlhaWdDQUNBSlJ3UkFJQUlvQWdBZ0FDQU1JQUZCQVdvZ0NpQUZLQUlBUWJEeEJHd2dCR29RdmdoQkFFNEVRQ0FES0FJQUlBVW9BZ0JCc1BFRWJDQUVhaEMzQ0VFQVRnUkFJQVVvQWdCQnNQRUViQ0FFYWlBREtBSUFOZ0lBSUFVb0FnQWlBMEd3OFFSc0lBUnFJQUpCa0lBb2FpQUJRUVIwYWlzREFEa0RDQ0FEUWJEeEJHd2dCR29nQWlBQlFRUjBha0dZZ0NocUt3TUFPUU1RSUFVZ0EwRUJhaUlETmdJQUlBTkJQRVlFUUVFOElRQU1DQXNMQ3dzTEN3c0xJQUZCQVdvaEFRd0JDd3NNQVFzZ0JTZ0NBQ0VBQzBFQUlRRURRQ0FCSUFCSUJFQWdBVUd3OFFSc0lBUnFJUVlnQVVHdzhRUnNJQVJxSVFjZ0FVR3c4UVJzSUFScUlRTWdBVUVCYWlJQklRSURRQ0FDSUFCSUJFQWdCaXNEQ0NBQ1FiRHhCR3dnQkdvckF3aWhJZzBnRGFJZ0J5c0RFQ0FDUWJEeEJHd2dCR29yQXhDaElnMGdEYUtnSVEwZ0F5Z0NBQ0lBSUFKQnNQRUViQ0FFYWlJSUtBSUFJZ2xLQkVBZ0RTQUFRUVFRT2JkakJFQWdDRUVBTmdJQUN3VWdEU0FKUVFRUU9iZGpCRUFnQTBFQU5nSUFDd3NnQWtFQmFpRUNJQVVvQWdBaEFBd0JDd3NNQVFzTFFRQWhBZ05BSUFJZ0FFZ0VRQ0FDUWJEeEJHd2dCR29vQWdCRkJFQWdBaUVCSUFBaEF3TkFJQUZCQVdvaUFDQURTQVJBSUFGQnNQRUViQ0FFYWlBQVFiRHhCR3dnQkdwQnNQRUVFRXdhSUFBaEFTQUZLQUlBSVFNTUFRc0xJQVVnQTBGL2FpSUFOZ0lBQ3lBQ1FRRnFJUUlNQVFzTElBc0VRQUpBUVFBaEFRTkFJQUVnQUU0TkFTQUVJQVFvQWdCQkFuUTJBZ0FnQkNBRUt3TUlSQUFBQUFBQUFBQkFvamtEQ0NBRUlBUXJBeEJFQUFBQUFBQUFBRUNpT1FNUUlBUW9BaGdoQWtFQUlRQURRQ0FBSUFKSUJFQWdCRUVjYWlBQVFRSjBhaUlESUFNb0FnQkJBWFEyQWdBZ0JFSGN1QUpxSUFCQkFuUnFJZ01nQXlnQ0FFRUJkRFlDQUNBQVFRRnFJUUFNQVFzTElBUkJzUEVFYWlFRUlBRkJBV29oQVNBRktBSUFJUUFNQUFBTEFBc0xRUUFMRWdBZ0FFSDhoUUUyQWdBZ0FFRUVhaEJIQzBnQkFYOGpCaUVESXdaQklHb2tCaUFESUFBb0FqZ2dBaWdDQUNBQ0tBSUVJQUlvQWdnZ0FpZ0NEQkM0QXlBQUlBTWdBaERnQVNBQUlBRWdBeERnQVNBREVOMEJJQU1rQmd1TEF3RUVmd0pBQWtBQ1FBSkFJQUFvQWhnT0F3QUFBUUlMSUFBb0Fpd2hBZ05BSUFFZ0FrNE5BeUFBSUFGQkNIUnFJZ01vQWpSQmYwb0VRQ0FBSUFGQkNIUnFLd05RUkFBQUFBQUFBT0EvWXdSQUlBQWdBVUVJZEdwQmZ6WUNPQ0FEUVg4MkFqUWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTElBRkJBV29oQVF3QUFBc0FDeUFBS0FJc0lRSURRQ0FCSUFKT0RRSWdBQ0FCUVFoMGFpSURLQUkwUVg5S0JFQWdBQ0FCUVFoMGFpc0RVRVFBQUFBQUFBRGdQMk1FUUNBQUlBRkJDSFJxUVg4MkFqd2dBMEYvTmdJMElBQWdBVUVJZEdwQkJqWUNuQUlMQ3lBQlFRRnFJUUVNQUFBTEFBc2dBQ2dDTENFREEwQWdBU0FEVGcwQklBQWdBVUVJZEdvaUFpZ0NPRUYvU2dSL0lBQWdBVUVJZEdvckExaEVBQUFBQUFBQTREOWpCSDhnQWtGL05nSTRRUUFGUVFFTEJVRUJDeUVDSUFBZ0FVRUlkR29pQkNnQ1BFRi9TZ1JBSUFBZ0FVRUlkR29yQTJCRUFBQUFBQUFBNEQ5akJFQWdCRUYvTmdJOElBSkZCRUFnQUNBQlFRaDBha0VHTmdLY0Fnc0xDeUFCUVFGcUlRRU1BQUFMQUFzTEN3QWdBRU1BQUFBL2tvNExEUUFnQUJEU0FVTVljakUvbFF1M0F3SURmd045SUFBb0FnQWlCQ29DQUNJSElBRW9BZ0FpQXlvQ0FDSUdYUVIvUVFFRklBWWdCMTBFZjBFQUJTQUVLQUlFSUFNb0FnUkpDd3NoQVNBR0lBSW9BZ0FpQWlvQ0FDSUlYUVIvUVFFRklBZ2dCbDBFZjBFQUJTQURLQUlFSUFJb0FnUkpDd3NoQUFKL0lBRUVmeUFBQkVBZ0JDQUlPQUlBSUFJZ0J6Z0NBQ0FFS0FJRUlRQWdCQ0FDS0FJRU5nSUVJQUlnQURZQ0JFRUJEQUlMSUFRZ0JqZ0NBQ0FESUFjNEFnQWdCQ2dDQkNFRklBUWdBeWdDQkRZQ0JDQURJQVUyQWdRZ0J5QUNLZ0lBSWdaZEJFQWdBa0VFYWlFQUlBSW9BZ1FoQVFWQkFTQUdJQWRkRFFJYVFRRWdCU0FDUVFScUlnQW9BZ0FpQVU4TkFob0xJQU1nQmpnQ0FDQUNJQWM0QWdBZ0F5QUJOZ0lFSUFBZ0JUWUNBRUVDQlNBQUJIOGdBeUFJT0FJQUlBSWdCamdDQUNBREtBSUVJUUFnQXlBQ0tBSUVOZ0lFSUFJZ0FEWUNCQ0FFS2dJQUlnY2dBeW9DQUNJR1hRUkFJQVJCQkdvaEFDQURLQUlFSVFFZ0JDZ0NCQ0VDQlVFQklBWWdCMTBOQXhwQkFTQUVRUVJxSWdBb0FnQWlBaUFES0FJRUlnRlBEUU1hQ3lBRUlBWTRBZ0FnQXlBSE9BSUFJQUFnQVRZQ0FDQURJQUkyQWdSQkFnVkJBQXNMQ3d2dEFRRUZmeUFBS0FJQUlRWWdBQ2dDQkNFREEwQWdBeUFHUndSQUlBRW9BZ1FpQkVGMGFpSUNRUUEyQWdBZ0JFRjRhaUlGUVFBMkFnQWdCRUY4YWlJRVFRQTJBZ0FnQWlBRFFYUnFJZ0lvQWdBMkFnQWdCU0FEUVhocUlnVW9BZ0EyQWdBZ0JDQURRWHhxSWdNb0FnQTJBZ0FnQTBFQU5nSUFJQVZCQURZQ0FDQUNRUUEyQWdBZ0FTQUJLQUlFUVhScU5nSUVJQUloQXd3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRU1iQkJGR2lBQUlBRkJER3dnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFReHNFRVVhSUFBZ0FVRU1iQ0FDYWpZQ0JBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJRUN4TUFJQUFnQVRZQ1ZDQUFRVHhxSUFFUTBRSUxPd0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCYkdvMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTHFRRUJBMzhnQUNnQ0FDRUVJQUFvQWdRaEFnTkFJQUlnQkVjRVFDQUJLQUlFUVd4cUlnTWdBa0ZzYWlJQ0tRSUFOd0lBSUFNZ0Fpa0NDRGNDQ0NBRElBSW9BaEEyQWhBZ0FTQUJLQUlFUVd4cU5nSUVEQUVMQ3lBQUtBSUFJUUlnQUNBQktBSUVOZ0lBSUFFZ0FqWUNCQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBRW9BZ1EyQWdBTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWN5WnMrWUFTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRVViQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUlJzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFVWJDQUVhallDREF2a0FRRUdmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hBeUFBQkg4Z0FTQUFRZlNHcndOcUlnVW9BZ0JHQkg5QkFBVWdBRUdJaDY4RGFpSUVLQUlBSWdZRVFDQUdFRWtnQkVFQU5nSUFDd0pBQWtBQ1FBSkFJQUVPQlFNQUFBQUJBZ3NnQkNBQUtBSWtJQUFvQWlnUWd3ZzJBZ0FNQWdzZ0FFR0VoNjhEYWtFQk5nSUFJQUJCZ0lldkEycEJBVFlDQUVFRUlRRU1BUXRCQUVFRFFjaWxBU0FDRUQxQkFDRUJDeUFGSUFFMkFnQWdBQ2dDQUVFQlJnUkFJQU1nQVVFQ2RFR0FDR29vQWdBMkFnQkJBRUVEUVpLbUFTQURFRDBMUVFBTEJVRi9DeUVISUFJa0JpQUhDeWdBSUFBZ0FUZ0NBQ0FBSUFJNEFnUWdBQ0FET0FJSUlBQWdCRGdDRENBQUlBVkJBWEU2QUJBTGV3RUJmeU1HSVFJakJrRVFhaVFHSUFBRVFDQUFLQUlBSUFGSEJFQUNRQ0FBSUFFMkFnQWdBVVVFUUNBQVFlU0dwd0pxSWdBb0FnQVFPQ0FBUVFBMkFnQU1BUXNnQUVIa2hxY0NhaUFBS0FJb0lBQW9BaVJzRUVRaUFEWUNBQ0FBUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzTEN3c2dBaVFHQzVvQkFRUi9Jd1loQlNNR1FSQnFKQVlnQWlBQmF5SUVRVzlMQkVBUUFBc2dCRUVMU1FSQUlBQWdCRG9BQ3dVZ0FDQUVRUkJxUVhCeElnWVFVU0lETmdJQUlBQWdCa0dBZ0lDQWVISTJBZ2dnQUNBRU5nSUVJQU1oQUFzZ0FpQUJheUVHSUFBaEF3TkFJQUVnQWtjRVFDQURJQUVRWHlBQlFRRnFJUUVnQTBFQmFpRUREQUVMQ3lBRlFRQTZBQUFnQUNBR2FpQUZFRjhnQlNRR0M0SUJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FBUkFJQUFvQWdBaUFRUkFJQUVvQWdBaUFRUkFJQUVRT0F0QkFDRUJBMEFnQVNBQUtBSUFJZ01vQWd4SUJFQWdBeWdDQ0NBQlFReHNhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dBeWdDQ0JBNElBQW9BZ0FRT0NBQVFRQTJBZ0FMQlVFQVFRTkIzTGdCSUFJUVBRc2dBaVFHQ3hFQUlBQWdBQ2dDQUNBQUtBSUVFS1VKQzY0QkFRVi9Jd1loQlNNR1FSQnFKQVlnQUNBQ0lBTWdCVUVFYWlBRkVLWUpRUUJJQkg5QmZ3VWdCU29DQkNBQktnSU1JZ0tVUXpNenkwR1ZRd0FBQUQrU0VFTWlBRUVBU0FSL1FYOEZJQUVvQWdRaUJ5QUFTZ1IvSUFFb0FnZ2lDTElnQWlBRktnSUFsRU16TTh0QmxaTkRBQUFBUDVJUVF5SUdRWDlLSUFnZ0JrcHhCSDhnQkNBQktBSUFJQUFnQmlBSGJHcHFMQUFBT2dBQVFRQUZRWDhMQlVGL0N3c0xJUWtnQlNRR0lBa0x2UUlDQkg4Q2ZTTUdJUVlqQmtGQWF5UUdJQVpCTkdvaEJ5QUdRVEJxSVFnZ0FBUi9JQUJCQ0dvZ0FTQUdFUG9CSUFCQnVBRnFJZ0FnQmlvQ0RDQUdLZ0lBSUFLVUlBWXFBZ1FnQTVTU2tpQUdLZ0lzSUFZcUFpQWdBcFFnQmlvQ0pDQURsSktTSWd1Vklnb2dCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBTGxTSURJQVFnQlJCdFFRQklCSDlCZndVZ0FDQUVLZ0lBSUFVcUFnQWdCeUFJRUtZQlFRQklCSDlCZndVZ0NpQUhLZ0lBa3lJQ0lBS1VJQU1nQ0NvQ0FKTWlBaUFDbEpKREFBQ0FQMTVCSDNSQkgzVUxDd1VnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUtJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ2lBQ2xUZ0NBRUVBQ3lFSklBWWtCaUFKQzRZTEFRcC9JQU1vQWhnaENBSkFBa0FDUUNBQ1FRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0F5Z0NEQ0VMSUFNb0FoUWhEU0FCUVFGMElRNGdBQ0FFUVFBZ0F5Z0NDR3NpQjBFQmRHb2dBU0FGUVFBZ0F5Z0NFR3NpQlVFQmRHcHNhbW9oQkVFQUlRQkJBQ0VCUVFBaEFnTkFJQVVnRFVvRVFBd0RCU0FISVF3Z0JDRUpBMEFnRENBTFRBUkFJQWd1QVFBaUQwR0FJRWNFUUNBQUlBa3RBQUFpQ21vaEFDQUJJQW9nQ214cUlRRWdBaUFQUWYvL0EzRWdDbXhxSVFJTElBeEJBV29oRENBSVFRSnFJUWdnQ1VFQ2FpRUpEQUVMQ3lBRUlBNXFJUVFnQlVFQmFpRUZEQUVMQUFBTEFBc2dBa0VDU1FSQUlBTW9BaFFoRGtFQUlBTW9BaEJySVFvZ0NDRUpRUUFoQWtFQUlRZ0RRQ0FLSUE1S0JFQWdBaUVBSUFnaEFTQU1JUUlNQXdVZ0F5Z0NEQ0VQUVFBZ0F5Z0NDQ0lIYXlFTElBQWdCQ0FCSUFVZ0NrRUJkR3BzYWlBSFFRRjBhMEVEYkdvaEJ3TkFJQXNnRDB3RVFDQUpMZ0VBSWhCQmdDQkhCRUFnQWlBSExRQUNJQWN0QUFBZ0J5MEFBV3BxUVFNUVNDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQzBFQmFpRUxJQWRCQm1vaEJ5QUpRUUpxSVFrTUFRc0xJQXBCQVdvaENnd0JDd0FBQ3dBTElBSkJBWEpCQTBZRVFDQURLQUlVSVE1QkFDQURLQUlRYXlFS0lBZ2hDVUVBSVFKQkFDRUlBMEFnQ2lBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQjJzaEN5QUFJQVFnQVNBRklBcEJBWFJxYkdvZ0IwRUJkR3RCQW5ScUlRY0RRQ0FMSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0J5MEFBaUFITFFBQUlBY3RBQUZxYWtFREVFZ2lEV29oQWlBSUlBMGdEV3hxSVFnZ0RDQVFRZi8vQTNFZ0RXeHFJUXdMSUF0QkFXb2hDeUFIUVFocUlRY2dDVUVDYWlFSkRBRUxDeUFLUVFGcUlRb01BUXNBQUFzQUN5QUNRUUp5UVFaR0JFQWdBeWdDRkNFT1FRQWdBeWdDRUdzaENpQUlJUWxCQUNFQ1FRQWhDQU5BSUFvZ0Rrb0VRQ0FDSVFBZ0NDRUJJQXdoQWd3REJTQURLQUlNSVE5QkFDQURLQUlJSWdkcklRc2dBQ0FFSUFFZ0JTQUtRUUYwYW14cUlBZEJBWFJyUVFKMGFpRUhBMEFnQ3lBUFRBUkFJQWt1QVFBaUVFR0FJRWNFUUNBQ0lBY3RBQU1nQnkwQUFTQUhMUUFDYW1wQkF4QklJZzFxSVFJZ0NDQU5JQTFzYWlFSUlBd2dFRUgvL3dOeElBMXNhaUVNQ3lBTFFRRnFJUXNnQjBFSWFpRUhJQWxCQW1vaENRd0JDd3NnQ2tFQmFpRUtEQUVMQUFBTEFBc0NRQUpBQWtBZ0FrRUhhdzRDQUFFQ0N5QURLQUlVSVE1QkFDRUNRUUFnQXlnQ0VHc2hDaUFJSVFjRFFDQUtJQTVLQkVBZ0FpRUFJQWtoQVNBTUlRSU1CQVVnQXlnQ0RDRVBJQWtoQ0VFQUlBTW9BZ2dpQzJzaENTQUFJQVFnQVNBRklBcEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FKSUE5TUJFQWdCeTRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBU0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUJhaUVKSUF0QkJHb2hDeUFIUVFKcUlRY01BUXNMSUFnaENTQUtRUUZxSVFvTUFRc0FBQXNBQ3lBREtBSVVJUTRnQ0NFSlFRQWhBa0VBSVFoQkFDQURLQUlRYXlFSEEwQWdCeUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lDMnNoQ2lBQUlBUWdBU0FGSUFkQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUtJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQ2FpRUpJQXBCQVdvaENpQUxRUVJxSVFzTUFRc0xJQWRCQVdvaEJ3d0JDd0FBQ3dBTFFRQWhBRUVBSVFGQkFDRUNDeUFHSUFFZ0FDQUFiQ0FES0FJa0lnRVFPV3NpQkFSL0lBSWdBQ0FES0FJZ2JDQUJFRGxyUWVRQWJDQURLQUljRURsQjVBQnNJQVN5a1JCREVEa0ZRUUFMTmdJQUMwVUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk5EQUFBQVA1UWlBNHdnQXlBRFF3QUFBQUJkR3d1SURnTUlmd0YrRFgwakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVJSUFaQkRHb2hDU0FHUVFocUlRb2dCa0VFYWlFTElBSkJBRWdFUUVGL0lRRUZBa0FDUUFKQUFrQUNRQUpBSUFJT0JBQUJBZ01FQ3lBRVFRZ1FPYkloRWlBRVFRZHNRUWdRT2JJaEV5QUZRUWdRT2JJaEZDQUZRUWRzUVFnUU9iSWhGU0FFUVFJUU9iSWhGaUFGUVFJUU9iSWhGMEVBSVFKQmZ5RUJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0VsMGdEeUFUWG5KRkJFQWdBa0VZYkNBQWFpb0NGQ0lRSUJSZElCQWdGVjV5UlFSQUlBOGdGcE1pRHlBUGxDQVFJQmVUSWc4Z0Q1U1NJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUJRc2dBVUVZYkNBQWFrRUJOZ0lNREFRTElBUkJDQkE1c2lFU0lBUkJCMnhCQ0JBNXNpRVRJQVZCQ0JBNXNpRVVJQVZCQjJ4QkNCQTVzaUVWUVg4aEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFKQkdHd2dBR29xQWhBaUR5QVNYU0FQSUJOZWNrVUVRQ0FDUVJoc0lBQnFLZ0lVSWhBZ0ZGMGdFQ0FWWG5KRkJFQWdEeUFES2dJQWt5SVBJQStVSUJBZ0F5b0NCSk1pRHlBUGxKSWlEeUFSWGdSQUlBOGhFU0FDSVFFTEN3c0xJQUpCQVdvaEFnd0JDd3NnQVVGL1JnUkFRWDhoQVF3RUN5QUJRUmhzSUFCcVFRRTJBZ3dNQXdzZ0JFRUlFRG15SVJJZ0JFRUhiRUVJRURteUlSTWdCVUVJRURteUlSUWdCVUVIYkVFSUVEbXlJUlZCZnlFQlFRQWhBZ05BQWtBQ1FBSkFJQUpCR0d3Z0FHb29BZ3hCZjJzT0FnSUFBUXNnQWtFWWJDQUFhaW9DRUNJUElCSmRJQThnRTE1eVJRUkFJQUpCR0d3Z0FHb3FBaFFpRUNBVlhpQVFJQlJkY2tVRVFDQVBJQU1xQWdBaUQ1TWdBeW9DRENBREtnSUVJaGFUbENBUUlCYVRJQU1xQWdnZ0Q1T1VreUlQSUErVUlnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQXdzZ0FVRVliQ0FBYWtFQk5nSU1EQUlMSUFNZ0EwRUlhaUFISUFnUTJ3SWdBeUFEUVJCcUlBa2dDaERiQWlBRVFRZ1FPYkloRmlBRVFRZHNRUWdRT2JJaEZ5QUZRUWdRT2JJaEdDQUZRUWRzUVFnUU9iSWhHU0FEUVJocUlRd2dDU29DQUNJVUlBZ3FBZ0FpRXBRaUVTQUtLZ0lBSWhVZ0J5b0NBQ0lUbENJUGswTUFBQUFBWUVVaENTQVBJQkdUUXdBQUFBQmdSU0VOUVFKQkFTQUpHeUVIUVFGQkFpQUpHeUVJUVg4aEFVRUFJUUpEQUFBQUFDRVJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0ZsMGdEeUFYWG5KRkJFQWdBa0VZYkNBQWFpSUVLZ0lVSWhBZ0dGMGdFQ0FaWG5KRkJFQWdEQ0FQT0FJQUlBTWdCQ2dDRkRZQ0hDQURJQXdnQ3lBR0VOc0NJQXNxQWdBaER3Si9Ba0FnQ1FSL0lBWXFBZ0FoRUF3QkJTQVNJQStVSUJNZ0Jpb0NBQ0lRbEpOREFBQUFBR0FFZjBFQ1FRTWdGU0FQbENBVUlCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQklRcEJBMEVDSUFVYkJRd0NDd3NNQVFzZ0RTQVZJQStVSWhvZ0ZDQVFsQ0liazBNQUFBQUFZRVZ5Qkg4Z0V5QVFsQ0FTSUErVWswTUFBQUFBWUVVZ0d5QWFrME1BQUFBQVlFVnlEUVJCQXlFS0lBZ2hCQ0FIQlVFQlFRTWdFaUFQbENBVElCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQ0lRcEJBMEVCSUFVYkN3c2hCU0FESUFvZ0JTQUVFTEFKSWc4Z0VWNEVmeUFQSVJFZ0FnVWdBUXNoQVFzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUJRUmhzSUFCcVFRRTJBZ3dMREFFTFFRQWhBd0pBQWtBRFFBSkFBa0FDUUNBRFFSaHNJQUZxSWdJb0FneEJmMnNPQWdJQUFRc2dBa0VCTmdJTUlBTkJHR3dnQVdvaEJDQURRUmhzSUFGcUlRVWdBMEVZYkNBQmFpRUhRUUFoQWdOQUFrQUNRQ0FDUVJoc0lBQnFJZ2dvQWd4QmYyc09BZ01BQVFzZ0JDZ0NBQ0FDUVJoc0lBQnFLQUlBUmdSQUlBVW9BZ1FnQWtFWWJDQUFhaWdDQkVZRVFDQUhLQUlJSUFKQkdHd2dBR29vQWdoR0RRY0xDd3NnQWtFQmFpRUNEQUFBQ3dBTElBTkJBV29oQXd3QkN3c01BUXNnQ0VFQk5nSU1JQUloQVF3QkN5QUJRWDgyQWd4QmhNUURRUUJCaE1RREtBSUFJZ0VFZnlBQkJVSG92Z05CQUJBVFFYOXFyVGNEQUVHRXhBTW9BZ0FMUVFGcUlnRWdBVUdBQVVZYk5nSUFRUUFoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFCUlFSQVFYOGhBUXdCQzBIb3ZnTkI2TDRES1FNQVFxMysxZVRVaGYybzJBQitRZ0Y4SWc0M0F3QWdBYklnRGtJaGlLZXlsRU1BQUFBd2xCQkRJUVJCQUNFQ1FRQWhBUU5BQWtBQ1FBSkFBa0FnQWtFWWJDQUFhaUlGS0FJTUlnTkJmMnNPQWdBQkFnc2dBeUVCREFRTElBRWdCRVlOQVNBQlFRRnFJUUVMSUFKQkFXb2hBZ3dCQ3dzZ0JVRUJOZ0lNSUFJaEFRc0xJQVlrQmlBQkM1Z0VBZ0YvRVgwakJpRUVJd1pCTUdva0JpQUFCRUFnQUVFSWFpQUJJQVFRK2dFZ0Fpb0NBQ0lMSUFRcUFnQWlGSlFoRGlBQ0tnSUVJZ1lnQkNvQ0JDSU1sQ0VQSUFZZ0JDb0NGQ0lObENFUUlBUXFBaXdpQ2lBTElBUXFBaUFpQjVRaUNTQUdJQVFxQWlRaUNKUWlCWktTSVJFZ0NpQUxRd0FBSUVHU0loSWdCNVFnQlpLU0lSTWdDaUFKSUFaREFBQWdRWklpQmlBSWxKS1NJUW9nQkNvQ0hDSUhJQXNnQkNvQ0VDSUlsQ0lGSUFZZ0RaU1NraUFLbFNFTElBUXFBZ3dpQ1NBT0lBWWdESlNTa2lBS2xTRU1CU0FDS2dJQUlnc2dBU29DQUNJVWxDRU9JQUlxQWdRaUJpQUJLZ0lFSWd5VUlROGdCaUFCS2dJVUlnMlVJUkFnQVNvQ0xDSUtJQXNnQVNvQ0lDSUhsQ0lKSUFZZ0FTb0NKQ0lJbENJRmtwSWhFU0FLSUF0REFBQWdRWklpRWlBSGxDQUZrcEloRXlBS0lBa2dCa01BQUNCQmtpSUdJQWlVa3BJaENpQUJLZ0ljSWdjZ0N5QUJLZ0lRSWdpVUlnVWdCaUFObEpLU0lBcVZJUXNnQVNvQ0RDSUpJQTRnQmlBTWxKS1NJQXFWSVF3TElBY2dFaUFJbENBUWtwSWdFNVVoRFNBSklCSWdGSlFnRDVLU0lCT1ZJUlVnQnlBRklCQ1NraUFSbFNFSElBa2dEaUFQa3BJZ0VaVWhDU0FWSUFtVElnVWdCWlFnRFNBSGt5SUZJQVdVa2lJSUlBd2dDWk1pQlNBRmxDQUxJQWVUSWdVZ0JaU1NJZ1ZkSVFBZ0F5QUZJQWdnQUJ1UlExeVBJa0NVT0FJQUlBTWdDQ0FGSUFBYmtVTmNqeUpBbERnQ0JDQUVKQVpCQUFzZkFDQUFCSDhnQUNBQklBSWdBeENHQkFWQkFDQUJJQUlnQXhDR0JBc2FDd1lBUVJ3UUFnc0dBRUViRUFJTEJnQkJGeEFDQ3dZQVFSSVFBZ3NJQUVFUEVBSkNBQXNJQUVFTUVBSkJBQXNJQUVFS0VBSkJBQXVNQVFFQ2Z5TUZRUUZxSkFVZ0FDTUZOZ0lBQTBBZ0JDQURTQVJBSUFSQkEzUWdBbW9vQWdCRkJFQWdCRUVEZENBQ2FpTUZOZ0lBSUFSQkEzUkJCR29nQW1vZ0FUWUNBQ0FFUVFOMFFRaHFJQUpxUVFBMkFnQWdBeEFESUFJUEN5QUVRUUZxSVFRTUFRc0xJQUFnQVNBQ0lBTkJBWFFpQUVFQmFrRURkQkRvQVNBQUVJOEVJUVVnQUJBRElBVUxyd3dCQjM4Z0FDQUJhaUVGSUFBb0FnUWlBMEVCY1VVRVFBSkFJQUFvQWdBaEFpQURRUU54UlFSQUR3c2dBU0FDYWlFQklBQWdBbXNpQUVIQTBRTW9BZ0JHQkVBZ0JTZ0NCQ0lDUVFOeFFRTkhEUUZCdE5FRElBRTJBZ0FnQlNBQ1FYNXhOZ0lFSUFBZ0FVRUJjallDQkNBRklBRTJBZ0FQQ3lBQ1FRTjJJUVFnQWtHQUFra0VRQ0FBS0FJSUlnSWdBQ2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMREFFTElBQW9BaGdoQnlBQUlBQW9BZ3dpQWtZRVFBSkFJQUJCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdBQ2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFIQkVBZ0FDQUFLQUljSWdOQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBZEJFR29pQXlBSFFSUnFJQUFnQXlnQ0FFWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSE5nSVlJQUFvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBQW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBVW9BZ1FpQjBFQ2NRUkFJQVVnQjBGK2NUWUNCQ0FBSUFGQkFYSTJBZ1FnQUNBQmFpQUJOZ0lBSUFFaEF3VWdCVUhFMFFNb0FnQkdCRUJCdU5FRElBRkJ1TkVES0FJQWFpSUJOZ0lBUWNUUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkVIQTBRTW9BZ0FnQUVjRVFBOExRY0RSQTBFQU5nSUFRYlRSQTBFQU5nSUFEd3NnQlVIQTBRTW9BZ0JHQkVCQnRORURJQUZCdE5FREtBSUFhaUlCTmdJQVFjRFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQVBDeUFIUVFOMklRUWdCMEdBQWtrRVFDQUZLQUlJSWdJZ0JTZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xCUUpBSUFVb0FoZ2hDQ0FGS0FJTUlnSWdCVVlFUUFKQUlBVkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0JTZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUlCRUFnQlNnQ0hDSURRUUowUWR6VEEyb2lCQ2dDQUNBRlJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFoQkVHb2lBeUFJUVJScUlBTW9BZ0FnQlVZYklBSTJBZ0FnQWtVTkFnc2dBaUFJTmdJWUlBVW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFVb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFBZ0FTQUhRWGh4YWlJRFFRRnlOZ0lFSUFBZ0Eyb2dBellDQUNBQVFjRFJBeWdDQUVZRVFFRzAwUU1nQXpZQ0FBOExDeUFEUVFOMklRSWdBMEdBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlBMEVCSUFKMElnSnhCSDhnQVVFSWFpSURLQUlBQlVHczBRTWdBaUFEY2pZQ0FDQUJRUWhxSVFNZ0FRc2hBaUFESUFBMkFnQWdBaUFBTmdJTUlBQWdBallDQ0NBQUlBRTJBZ3dQQ3lBRFFRaDJJZ0VFZnlBRFFmLy8vd2RMQkg5Qkh3VWdBU0FCUVlEK1AycEJFSFpCQ0hFaUFuUWlCRUdBNEI5cVFSQjJRUVJ4SVFGQkRpQUJJQUp5SUFRZ0FYUWlBVUdBZ0E5cVFSQjJRUUp4SWdKeWF5QUJJQUowUVE5MmFpSUJRUUYwSUFNZ0FVRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFFZ0FDQUNOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFoQUNRRUd3MFFNb0FnQWlCRUVCSUFKMElnWnhSUVJBUWJEUkF5QUVJQVp5TmdJQUlBRWdBRFlDQUF3QkN5QURJQUVvQWdBaUFTZ0NCRUY0Y1VZRVFDQUJJUUlGQWtBZ0EwRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRUURRQ0FCUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQWdSQUlBUkJBWFFoQkNBRElBSW9BZ1JCZUhGR0RRSWdBaUVCREFFTEN5QUdJQUEyQWdBTUFnc0xJQUlvQWdnaUFTQUFOZ0lNSUFJZ0FEWUNDQ0FBSUFFMkFnZ2dBQ0FDTmdJTUlBQkJBRFlDR0E4TElBQWdBVFlDR0NBQUlBQTJBZ3dnQUNBQU5nSUlDODBCQVFOL1FlLy8vLzhESUFGcklBSkpCRUFRQUFzZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElRVWdBVUhuLy8vL0FVa0VRRUVDSUFGQkFYUWlCeUFCSUFKcUlnSWdBaUFIU1JzaUFrRUVha0Y4Y1NBQ1FRSkpHeUlDUWYvLy8vOERTd1JBRUFBRklBSWhCZ3NGUWUvLy8vOERJUVlMSUFaQkFuUVFVU0VDSUFRRVFDQUNJQVVnQkJDbkFRc2dBeUFFYXlJREJFQWdBaUFFUVFKMGFpQUZJQVJCQW5ScUlBTVFwd0VMSUFGQkFVY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDNkFDQVFSL0l3WWhDQ01HUVJCcUpBWkI3di8vL3dNZ0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEJTUVJBUVFJZ0FVRUJkQ0lMSUFFZ0Ftb2lBaUFDSUF0Skd5SUNRUVJxUVh4eElBSkJBa2tiSWdKQi8vLy8vd05MQkVBUUFBVWdBaUVLQ3dWQjcvLy8vd01oQ2dzZ0NrRUNkQkJSSVFJZ0JBUkFJQUlnQ1NBRUVLY0JDeUFHQkVBZ0JFRUNkQ0FDYWlBSElBWVFwd0VMSUFNZ0JXc2lBeUFFYXlJSEJFQWdCRUVDZENBQ2FpQUdRUUowYWlBRVFRSjBJQWxxSUFWQkFuUnFJQWNRcHdFTElBRkJBVWNFUUNBSkVEZ0xJQUFnQWpZQ0FDQUFJQXBCZ0lDQWdIaHlOZ0lJSUFBZ0F5QUdhaUlBTmdJRUlBaEJBRFlDQUNBQVFRSjBJQUpxSUFnUWJpQUlKQVlMa0FFQkEzOGpCaUVESXdaQkVHb2tCaUFCUWUvLy8vOERTd1JBRUFBTElBRkJBa2tFUUNBQUlBRTZBQXNnQUNFRUJTQUJRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FUWUNCQXNMSUFFRVFDQUVJQUlnQVJEckJBc2dBMEVBTmdJQUlBRkJBblFnQkdvZ0F4QnVJQU1rQmd2dUFRRURmeU1HSVFnakJrRVFhaVFHUVc0Z0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEhTUVIvUVFzZ0FVRUJkQ0lLSUFFZ0Ftb2lBaUFDSUFwSkd5SUNRUkJxUVhCeElBSkJDMGtiQlVGdkN5SUtFRkVoQWlBRUJFQWdBaUFKSUFRUXFBRUxJQVlFUUNBQ0lBUnFJQWNnQmhDb0FRc2dBeUFGYXlJRElBUnJJZ2NFUUNBR0lBSWdCR3BxSUFVZ0JDQUphbW9nQnhDb0FRc2dBVUVLUndSQUlBa1FPQXNnQUNBQ05nSUFJQUFnQ2tHQWdJQ0FlSEkyQWdnZ0FDQURJQVpxSWdBMkFnUWdDRUVBT2dBQUlBQWdBbW9nQ0JCZklBZ2tCZ3NXQUNBQkJFQWdBQ0FDRUVKQi93RnhJQUVRUlJvTEMzSUJBMzhqQmlFREl3WkJFR29rQmlBQlFXOUxCRUFRQUFzZ0FVRUxTUVJBSUFBZ0FUb0FDd1VnQUNBQlFSQnFRWEJ4SWdRUVVTSUZOZ0lBSUFBZ0JFR0FnSUNBZUhJMkFnZ2dBQ0FCTmdJRUlBVWhBQXNnQUNBQklBSVFsUVFnQTBFQU9nQUFJQUFnQVdvZ0F4QmZJQU1rQmd2NkZRTU1md0YrQW53akJpRUxJd1pCMEFGcUpBWWdDMEhJQVdvaERTQUxRY0FCYWlFT0lBdEI0QUJxSVF3Z0F5Z0NCQ0VLQTBBZ0J5QUtTQVJBSUFNb0FnQWlDQ0FIUWNBQ2JHb2hDU0FIUWNBQ2JDQUlhaWdDQkFSQUlBZEJ3QUpzSUFocUlSQkJBQ0VGUVg4aEJnTkFJQVVnQWtnRVFBSkFBa0FDUUNBRlFRaDBJQUZxS0FJTUlnOE5BQ0FGUVFoMElBRnFLUVA0QVNJUlVBMEFJQkVnRUNrRHVBSlJEUUVNQWdzZ0R5QUpLQUlBUmcwQURBRUxJQVZCQ0hRZ0FXb3JBekFpRWlBREt3TjRZMFVFUUNBR1FYOUdCSDhnQlFVZ0JrRUlkQ0FCYWlzRE1DQVNZd1IvSUFVRklBWUxDeUVHQ3dzZ0JVRUJhaUVGREFFTEN5QUhRY0FDYkNBSWFpQUdOZ0t3QWlBR1FYOUtCRUFnQmtFSWRDQUJhaUFHUVFoMElBRnFLQUlZTmdJUUN3VkJmeUVHUVFBaEJRTkFJQVVnQWtnRVFDQUZRUWgwSUFGcUtBSUlJQWtvQWdCR0JFQWdCVUVJZENBQmFpc0RLQ0lTSUFNckEzQmpSUVJBSUFaQmYwWUVmeUFGQlNBR1FRaDBJQUZxS3dNb0lCSmpCSDhnQlFVZ0Jnc0xJUVlMQ3lBRlFRRnFJUVVNQVFzTElBZEJ3QUpzSUFocUlBWTJBckFDSUFaQmYwb0VRQ0FHUVFoMElBRnFJQVpCQ0hRZ0FXb29BaFEyQWhBTEN5QUhRUUZxSVFjTUFRc0xRUUFoQlVFQUlRSkJBQ0VHUVFBaEJ3TkFJQWNnQ2tnRVFDQURLQUlBSWdvZ0IwSEFBbXhxS0FLd0FpSUlRUUJPQkVBQ1FDQUFJQWhCQ0hRZ0FXb2lDU0FIUWNBQ2JDQUthaXNEQ0NBTEVOb0RSQUFBQUFBQUFCQkFaQVJBSUFNb0FnQWdCMEhBQW14cVFYODJBckFDSUFoQkNIUWdBV29pQ0NnQzdBRU5BU0FJUVFjMkF1d0JEQUVMSUFWRklBSWdDU2dDQUNJSVNISUVRRUVBSVFJRGZ5QUNRUU5HQkg4Z0J5RUdJQWdGUVFBaEJnTkFJQVpCQkVjRVFDQUNRUVYwSUF4cUlBWkJBM1JxSUFKQkJYUWdDMm9nQmtFRGRHb3JBd0E1QXdBZ0JrRUJhaUVHREFFTEN5QUNRUUZxSVFJTUFRc0xJUUlMSUFWQkFXb2hCUXNMSUFkQkFXb2hCeUFES0FJRUlRb01BUXNMQWtBQ1FDQUZSUTBBSUFVZ0F5Z0NnQUZJRFFBZ0RDQURLQUlBSUFaQndBSnNha0h3QUdvZ0N4Q3pBaUFGUVFaMEVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMSUFWQjRBQnNFRVFpQmtVRVFFRUFRUU5CdWRnQ0lBMFFQVUVCRUFFTElBVkJBblFoQ0NBREtBSUVJUkJCQUNFRlFRQWhBZ05BSUFVZ0VFZ0VRQ0FES0FJQUlnb2dCVUhBQW14cUtBS3dBaUlKUVFCT0JFQWdBa0VEZENJTlFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRUWdDVUVJZENBQmFpZ0NFQ0lPYTBFRUVFOGlEMEVFZEdvckF3QTVBd0FnRFVFQmNrRURkQ0FIYWlBSlFRaDBJQUZxSUE5QkJIUnFLd093QVRrREFDQU5RUUp5UVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFVZ0RtdEJCQkJQSWc5QkJIUnFLd01BT1FNQUlBMUJBM0pCQTNRZ0Iyb2dDVUVJZENBQmFpQVBRUVIwYWlzRHNBRTVBd0FnRFVFRWNrRURkQ0FIYWlBSlFRaDBJQUZxUWFnQmFrRUdJQTVyUVFRUVR5SVBRUVIwYWlzREFEa0RBQ0FOUVFWeVFRTjBJQWRxSUFsQkNIUWdBV29nRDBFRWRHb3JBN0FCT1FNQUlBMUJCbkpCQTNRZ0Iyb2dDVUVJZENBQmFrR29BV3BCQnlBT2EwRUVFRThpRGtFRWRHb3JBd0E1QXdBZ0RVRUhja0VEZENBSGFpQUpRUWgwSUFGcUlBNUJCSFJxS3dPd0FUa0RBQ0FDUVF4c0lnbEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5QUJPUU1BSUFsQkFYSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5Z0JPUU1BSUFsQkFuSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErQUJPUU1BSUFsQkEzSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErZ0JPUU1BSUFsQkJHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvQUJPUU1BSUFsQkJXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvZ0JPUU1BSUFsQkJtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0QUNPUU1BSUFsQkIycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0Z0NPUU1BSUFsQkNHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1QUNPUU1BSUFsQkNXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1Z0NPUU1BSUFsQkNtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2QUNPUU1BSUFsQkMycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2Z0NPUU1BSUFKQkFXb2hBZ3NnQlVFQmFpRUZEQUVMQ3lBRVFRQkhJUVFnQXlnQ2FBUkFJQUFnQ3lBSElBWWdDQ0FNRUw4Q0loSWdBQ0FEUVFocUlnSWdCeUFHSUFnZ0FoQy9BaUlUWXlFRklBUUVRQ0FGQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpucFB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1ablpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUUFBQUFBQUFBQUFCQ05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FEUVFocUlBQkJCWFJxSUFKQkEzUnFJQUJCQlhRZ0RHb2dBa0VEZEdvckF3QTVBd0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEJTQVRJUklMQ3dzTEN3VWdCUVJBUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQTBFSWFpQUFRUVYwYWlBQ1FRTjBhaUFBUVFWMElBeHFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN3VWdFeUVTQ3dzRklBUWdBQ0FMSUFjZ0JpQUlJQU5CQ0dvaUFoQy9BaUlTUkFBQUFBQUFBRFJBWm5FRVFDQUFLQUlBUkpxWm1abVptZWsvRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCSWhKRUFBQUFBQUFBTkVCbUJId2dBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dBaENPQVNJU1JBQUFBQUFBQURSQVpnUjhJQUFvQWdCRW1wbVptWm1aMlQ4UWpRRWdBQ0FMSUFjZ0JpQUlJQUlRamdFaUVrUUFBQUFBQUFBMFFHWUVmQ0FBS0FJQVJBQUFBQUFBQUFBQUVJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkJTQVNDd1VnRWdzRklCSUxJUklMQ3lBR0VEZ2dCeEE0QWtBZ0VrUUFBQUFBQUFBMFFHTUVRQ0FEUVFFMkFtZ01BUXNnQTBFQU5nSm9JQU1vQWdRaEFrRUFJUUFEUUNBQUlBSk9EUUVnQXlnQ0FDQUFRY0FDYkdvb0FyQUNJZ1JCQUU0RVFDQUVRUWgwSUFGcUlnUW9BdXdCUlFSQUlBUkJDRFlDN0FFTEN5QUFRUUZxSVFBTUFBQUxBQXNNQVFzZ0EwRUFOZ0pvQ3lBTEpBWUx5UXdDRUg4UmZDTUdJUVlqQmtHQUFXb2tCaUFHUWZnQWFpRU9JQVpCOEFCcUlROGdCa0hvQUdvaEVDQUdRZUFBYWlFUklBWkIyQUJxSVJJZ0JrSFFBR29oQ0NBR1FjZ0FhaUVKSUFOQkJFZ0VmMEYvQlFKL0EwQWdCU0FEU0FSQUlBVkJBV29oRTBGL0lBVkJHR3dnQW1vckF4QkVBQUFBQUFBQUFBQmlEUUlhSUJNaEJRd0JDd3NnQUNzREFFUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUt3TWdSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBeWhFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBRUZBYXlzREFFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TklSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMUJFQUFBQUFBQUE4RDlpQkg5QmZ3VWdBQ3NER0VRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dNNFJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExaEVBQUFBQUFBQUFBQmlCSDlCZndVZ0EwRUJkQ0lGUVFnUWl3RWlDa1VFUUVFQVFRTkI5YXdCSUFrUVBVRi9EQW9MSUFWQkFSQ0xBU0lKUlFSQUlBb1FTVUVBUVFOQmo2MEJJQWdRUFVGL0RBb0xRUUFoQ0FOQUlBTWdDRWNFUUNBS0tBSUFJZ2NnQ0VFRWRDSUZRUU4wYWlBSVFSaHNJQUpxSWdzckF3QTVBd0FnQlVFQmNrRURkQ0FIYWlBSVFSaHNJQUpxSWd3ckF3ZzVBd0FnQlVFQ2NrRURkQ0FIYWtRQUFBQUFBQUR3UHprREFDQUZRUU55UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkJISkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVGY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRWnlRUU4wSUFkcUlBc3JBd0FnQ0VFRWRDQUJhaUlOS3dNQW9wbzVBd0FnQlVFSGNrRURkQ0FIYWlBTUt3TUlJQTByQXdDaW1qa0RBQ0FGUVFoeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJDWEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFS2NrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUXR5UVFOMElBZHFJQXNyQXdBNUF3QWdCVUVNY2tFRGRDQUhhaUFNS3dNSU9RTUFJQVZCRFhKQkEzUWdCMnBFQUFBQUFBQUE4RDg1QXdBZ0JVRU9ja0VEZENBSGFpQUxLd01BSUFoQkJIUWdBV29pQ3lzRENLS2FPUU1BSUFWQkQzSkJBM1FnQjJvZ0RDc0RDQ0FMS3dNSW9wbzVBd0FnQ1NnQ0FDSUhJQWhCQVhRaUJVRURkR29nRFNzREFEa0RBQ0FGUVFGeVFRTjBJQWRxSUFzckF3ZzVBd0FnQ0VFQmFpRUlEQUVMQ3lBS0VLQURJZ0ZGQkVBZ0NoQkpJQWtRU1VFQVFRTkJxYTBCSUJJUVBVRi9EQW9MSUFFZ0NoRFpBU0lEUlFSQUlBb1FTU0FKRUVrZ0FSQkpRUUJCQTBIRHJRRWdFUkE5UVg4TUNnc2dBU0FKRU5rQklnVkZCRUFnQ2hCSklBa1FTU0FCRUVrZ0F4QkpRUUJCQTBIZHJRRWdFQkE5UVg4TUNnc2dBeERXQVVFQVNBUkFJQW9RU1NBSkVFa2dBUkJKSUFNUVNTQUZFRWxCQUVFRFFmZXRBU0FQRUQxQmZ3d0tDeUFESUFVUTJRRWlCd1IvSUFjb0FnQWlBaXNETUNFV0lBSXJBd0FnRmlBQUt3TVFJaDJpb1NBQ0t3TVlJQllnQUNzRE1DSWJvcUVnQUNzREtDSWNveUlaSUFBckF3Z2lIcUtoSUFBckF3QWlINk1oR0NBQ0t3TWdJQnNnQWlzRE9DSVZvcUVnSEtNaEZ5QUNLd01JSUIwZ0ZhS2hJQjRnRjZLaElCK2pJUm9nQWlzREtDQWJvU0Fjb3lFYklBSXJBeEFoSkNBS0VFa2dDUkJKSUFFUVNTQURFRWtnQlJCSklBY1FTU0FHSUJnZ0ZpQVdvaUFaSUJtaUlCZ2dHS0tnb0o4aUdLTTVBd0FnQmlBWklCaWpPUU1JSUFZZ0ZpQVlvemtERUNBR0lCb2dGU0FWb2lBWElCZWlJQm9nR3FLZ29KOGlGcU01QXhnZ0JpQVhJQmFqT1FNZ0lBWWdGU0FXb3prREtDQUdFUElKSUFZckF3Z2lHU0FHS3dNb0locWlJQVlyQXhBaUhDQUdLd01nSWlDaW9TRVZJQndnQmlzREdDSWhvaUFhSUFZckF3QWlJcUtoSVJjZ0JpQVZJQ0FnSXFJZ0dTQWhvcUVpSXlBam9pQVZJQldpSUJjZ0Y2S2dvSjhpRmFNaUpUa0RNQ0FHSUJjZ0ZhTWlGemtET0NBR1FVQnJJQ01nRmFNaUZUa0RBQ0FFSUNJNUF3QWdCQ0FaT1FNZ0lBUkJRR3NnSERrREFDQUVJQ0U1QXdnZ0JDQWdPUU1vSUFRZ0dqa0RTQ0FFSUNVNUF4QWdCQ0FYT1FNd0lBUWdGVGtEVUNBRUlDUWdIYUVnSGlBYm9xRWdINk1nR0NBV29FUUFBQUFBQUFEZ1A2SWlGcU01QXhnZ0JDQWJJQmFqT1FNNElBUkVBQUFBQUFBQThEOGdGcU01QTFoQkFBVWdDaEJKSUFrUVNTQUJFRWtnQXhCSklBVVFTVUVBUVFOQmthNEJJQTRRUFVGL0N3c0xDd3NMQ3dzTEN3c0xJUlFnQmlRR0lCUUxFZ0FnQUVHc29nRTJBZ0FnQUVFUWFoQkhDeElBSUFCQmhLSUJOZ0lBSUFCQkRHb1FSd3NqQVFGL0lBQkIwS0VCTmdJQUlBQW9BZ2dpQVFSQUlBQXNBQXdFUUNBQkVEZ0xDd3Q5QVFSL0lBQkJ2S0VCTmdJQUlBQkJDR29oQXdOQUlBSWdBQ2dDRENBREtBSUFJZ0ZyUVFKMVNRUkFJQUpCQW5RZ0FXb29BZ0FpQVFSQUlBRWdBU2dDQkNJRVFYOXFOZ0lFSUFSRkJFQWdBU0FCS0FJQUtBSUlRZjhCY1VHc0Eyb1JBUUFMQ3lBQ1FRRnFJUUlNQVFzTElBQkJrQUZxRUVjZ0F4Q1BDZ3ZVQ2dJUGZ3UjhJd1loQ3lNR1FjQUJhaVFHSUF0QnVBRnFJUWdnQzBHd0FXb2hEaUFMUWFnQmFpRUtJQXRCb0FGcUlRVWdDMEdRQVdvaER5QUxRVEJxSVJBZ0FTZ0NDQ0lKUVFSSUJIOUJmd1VDZndKL0lBQXJBNEFCSUFtM29oQnpJUkVnQ1VIZ0FHd1FSQ0lHUlFSQVFRQkJBMEhLMkFJZ0JSQTlRWDhNQWdzZ0NVRUVkQkJFSWdkRkJFQkJBRUVEUWNyWUFpQUtFRDBnQmhBNFFYOE1BZ3NnQ1VFRGRDSUZFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBNFFQU0FHRURnZ0J4QTRRWDhNQWdzZ0JSQkVJZzFGQkVCQkFFRURRY3JZQWlBSUVEMGdCaEE0SUFjUU9DQUpFRGhCZnd3Q0N5QVJRWDlxSWdVTFFRTWdCVUVEU2hzaEVrRUFJUW9EUUNBS1FRTkhCRUJCQUNFTUEwQWdERUVFUndSQUlBcEJCWFFnQTJvZ0RFRURkR29nQ2tFRmRDQUNhaUFNUVFOMGFpc0RBRGtEQUNBTVFRRnFJUXdNQVFzTElBcEJBV29oQ2d3QkN3c2dFa0VEZENBTmFpRU1RUUFoQ2dKQUFrQUNRQUpBQTBBQ1FDQUFJQU1nRUJDekFrRUFJUVVEUUNBRklBRW9BZ2dpQWtnRVFDQVBJQkFnQVNnQ0JDQUZRUmhzYWhDN0JFRUFTQTBDSUFFb0FnQWlBaUFGUVFSMGFpc0RBQ0FQS3dNQW9TRVdJQVZCQkhRZ0Ftb3JBd2dnRHlzRENLRWhGQ0FGUVFGMElnSkJBM1FnQjJvZ0Zqa0RBQ0FDUVFGeVFRTjBJQWRxSUJRNUF3QWdCVUVEZENBTmFpQVdJQmFpSUJRZ0ZLS2dJaFE1QXdBZ0JVRURkQ0FKYWlBVU9RTUFJQVZCQVdvaEJRd0JDd3NnRFNBQ1FRaEJFaENDQXlBQktBSUlJUUpFQUFBQUFBQUFNRUFnRENzREFFUUFBQUFBQUFBUVFLSWlGQ0FVUkFBQUFBQUFBREJBWXhzaUYwUUFBQUFBQUFBWVFLTWhGa1FBQUFBQUFBQUFBQ0VVUVFBaEJRTkFJQVVnQWtnRVFDQVVJQVZCQTNRZ0RXb3JBd0FpRkNBWFpBUjhJQllGSUJaRUFBQUFBQUFBOEQ5RUFBQUFBQUFBOEQ4Z0ZDQVhvNkVpRkNBVUlCU2lvcUdpQzZBaEZDQUZRUUZxSVFVTUFRc0xJQlFnQXJlakloUWdBQ3NEYUdNTkJTQUtCRUFnRkNBQUt3TjRZd1JBSUJRZ0ZhTWdBQ3NEY0dRTkJ3c0xJQW9nQUNnQ1lFWU5CVUVBSVFWQkFDRU9BMEFnRGlBQ1NBUkFJQTVCQTNRZ0NXb3JBd0FpRlNBWFpRUkFJQVZCQm13aUNFRURkQ0FHYWlJQ0lBQWdBeUFCS0FJRUlBNUJHR3hxRUxrRVFRQklEUVVnQWtRQUFBQUFBQUR3UHlBVklCZWpvU0lWSUJXaUloVWdBaXNEQUtJNUF3QWdDRUVCY2tFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUNha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVFYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUZha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFR2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVIYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUlha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVLYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUxha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQlVFRGRDQUhhaUFWSUE1QkFYUWlBa0VEZENBSGFpc0RBS0k1QXdBZ0JVRUJha0VEZENBSGFpQVZJQUpCQVhKQkEzUWdCMm9yQXdDaU9RTUFJQVZCQW1vaEJTQUJLQUlJSVFJTElBNUJBV29oRGd3QkN3c2dCVUVHU0EwRElBc2dCeUFHSUFVUXN3UkJBRWdOQkNBRElBc1FzZ1FnRkNFVklBcEJBV29oQ2d3QkN3c2dCaUFISUFrZ0RSQ1BBa0YvREFRTElBWWdCeUFKSUEwUWp3SkJmd3dEQ3lBR0lBY2dDU0FORUk4Q1FYOE1BZ3NnQmlBSElBa2dEUkNQQWtGL0RBRUxJQVFnRkRrREFDQUdFRGdnQnhBNElBa1FPQ0FORURoQkFBc0xJUk1nQ3lRR0lCTUxIZ0FnQUVHTW9RRTJBZ0FnQUNnQ0NCQmNSd1JBSUFBb0FnZ1Fod01MQ3hJQUlBUWdBallDQUNBSElBVTJBZ0JCQXdzRUFFRUVDeFVBSUFFb0FnQWdBU0FCTEFBTFFRQklHeHBCZnd2K0NBRU1meUFDSUFBMkFnQWdEVUVFYWlFWUlBTkJnQVJ4UlNFWklBNUJBRW9oR2dOQUlCZEJCRWNFUUFKQUFrQUNRQUpBQWtBQ1FDQUlJQmRxTEFBQURnVUFBUU1DQkFVTElBRWdBaWdDQURZQ0FBd0VDeUFCSUFJb0FnQTJBZ0FnQmlnQ0FDZ0NMQ0VQSUFaQklDQVBRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScU5nSUFJQThnRURZQ0FBd0RDeUFOTEFBTElnOUJBRWdoRUNBWUtBSUFJQTlCL3dGeElCQWJCRUFnRFNnQ0FDQU5JQkFiS0FJQUlSQWdBaUFDS0FJQUlnOUJCR28yQWdBZ0R5QVFOZ0lBQ3d3Q0N5QU1MQUFMSWc5QkFFZ2hFQ0FaSUF3b0FnUWdEMEgvQVhFZ0VCc2lFMFZ5UlFSQUlBd29BZ0FnRENBUUd5SVBJQk5CQW5ScUlSRWdBaWdDQUNJUUlSSURRQ0FQSUJGSEJFQWdFaUFQS0FJQU5nSUFJQkpCQkdvaEVpQVBRUVJxSVE4TUFRc0xJQUlnRTBFQ2RDQVFhallDQUFzTUFRc2dBaWdDQUNFVUlBUkJCR29nQkNBSEd5SVdJUVFEUUFKQUlBUWdCVThOQUNBR0tBSUFLQUlNSVE4Z0JrR0FFQ0FFS0FJQUlBOUJQM0ZCeWdGcUVRUUFSUTBBSUFSQkJHb2hCQXdCQ3dzZ0dnUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCWkxjUVJBSUFSQmZHb2lCQ2dDQUNFUklBSWdBaWdDQUNJUVFRUnFOZ0lBSUJBZ0VUWUNBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJc0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVUSUE4aEVTQUNLQUlBSVJBRFFDQVFRUVJxSVE4Z0VVRUFTZ1JBSUJBZ0V6WUNBQ0FSUVg5cUlSRWdEeUVRREFFTEN5QUNJQTgyQWdBZ0VDQUpOZ0lBQ3lBRUlCWkdCRUFnQmlnQ0FDZ0NMQ0VFSUFaQk1DQUVRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScUlnUTJBZ0FnRHlBUU5nSUFCU0FMTEFBTElnOUJBRWdoRUNBTEtBSUVJQTlCL3dGeElCQWJCSDhnQ3lnQ0FDQUxJQkFiTEFBQUJVRi9DeUVQUVFBaEVFRUFJUklnQkNFUkEwQWdFU0FXUndSQUlBSW9BZ0FoRlNBUElCSkdCSDhnQWlBVlFRUnFJaE0yQWdBZ0ZTQUtOZ0lBSUFzc0FBc2lEMEVBU0NFVklCQkJBV29pQkNBTEtBSUVJQTlCL3dGeElCVWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZSdHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCSWhEd3RCQUNFU0lCTUZJQkFoQkNBVkN5RVFJQkZCZkdvaUVTZ0NBQ0VUSUFJZ0VFRUVhallDQUNBUUlCTTJBZ0FnQkNFUUlCSkJBV29oRWd3QkN3c2dBaWdDQUNFRUN5QUVJQlJHQkg4Z0ZnVURRQ0FVSUFSQmZHb2lCRWtFUUNBVUtBSUFJUThnRkNBRUtBSUFOZ0lBSUFRZ0R6WUNBQ0FVUVFScUlSUU1BUVVnRmlFRURBTUxBQUFMQUFzaEJBc2dGMEVCYWlFWERBRUxDeUFOTEFBTElnUkJBRWdoQnlBWUtBSUFJQVJCL3dGeElBY2JJZ1pCQVVzRVFDQU5LQUlBSWdWQkJHb2dHQ0FIR3lFRUlBWkJBblFnQlNBTklBY2JhaUlISUFScklRWWdBaWdDQUNJRklRZ0RRQ0FFSUFkSEJFQWdDQ0FFS0FJQU5nSUFJQWhCQkdvaENDQUVRUVJxSVFRTUFRc0xJQUlnQmtFQ2RrRUNkQ0FGYWpZQ0FBc0NRQ0FEUWJBQmNVRVlkRUVZZFVFUWF5SURSUTBBSUFOQkVFWUVRQ0FCSUFJb0FnQTJBZ0FNQVFzZ0FTQUFOZ0lBQ3d2WkJRRUZmeU1HSVFvakJrRVFhaVFHSUFwQkRHb2hDeUFLSUFBRWZ5QUNRZmpQQXhBNkJTQUNRZkRQQXhBNkN5SUFJQUVFZnlBTElBQWdBQ2dDQUNnQ0xFRS9jVUd5QldvUkF3QWdBeUFMS0FJQU5nQUFJQUFvQWdBb0FpQUZJQXNnQUNBQUtBSUFLQUlvUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSEF0QlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUVJQUFnQUNnQ0FDZ0NERUgvQUhGQkNHb1JBQUEyQWdBZ0JTQUFJQUFvQWdBb0FoQkIvd0J4UVFocUVRQUFOZ0lBSUFvZ0FDQUFLQUlBS0FJVVFUOXhRYklGYWhFREFDQUdMQUFMUVFCSUJFQUNmeUFHS0FJQUlRMGdDMEVBT2dBQUlBMExJQXNRWHlBR1FRQTJBZ1FnQml3QUMwRUFTQVJBSUFZb0FnZ2FJQVlvQWdBUU9DQUdRUUEyQWdnTEJTQUxRUUE2QUFBZ0JpQUxFRjhnQmtFQU9nQUxDeUFHSUFvcEFnQTNBZ0FnQmlBS0tBSUlOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFwcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBS0VFY2dDaUFBSUFBb0FnQW9BaGhCUDNGQnNnVnFFUU1BSUFjc0FBdEJBRWdFUUFKL0lBY29BZ0FoRGlBTFFRQTJBZ0FnRGdzZ0N4QnVJQWRCQURZQ0JDQUhMQUFMUVFCSUJFQWdCeWdDQ0JvZ0J5Z0NBQkE0SUFkQkFEWUNDQXNGSUF0QkFEWUNBQ0FISUFzUWJpQUhRUUE2QUFzTElBY2dDaWtDQURjQ0FDQUhJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBSklBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lRR0M3WUlBUXAvSUFJZ0FEWUNBQ0FEUVlBRWNVVWhGeUFPUVFCS0lSZ0RRQ0FWUVFSSEJFQUNRQUpBQWtBQ1FBSkFBa0FnQ0NBVmFpd0FBQTRGQUFFREFnUUZDeUFCSUFJb0FnQTJBZ0FNQkFzZ0FTQUNLQUlBTmdJQUlBWW9BZ0FvQWh3aER5QUdRU0FnRDBFL2NVR0tBV29SQWdBaEVDQUNJQUlvQWdBaUQwRUJhallDQUNBUElCQTZBQUFNQXdzZ0RTd0FDeUlQUVFCSUlSQWdEU2dDQkNBUFFmOEJjU0FRR3dSQUlBMG9BZ0FnRFNBUUd5d0FBQ0VRSUFJZ0FpZ0NBQ0lQUVFGcU5nSUFJQThnRURvQUFBc01BZ3NnREN3QUN5SVBRUUJJSVJBZ0Z5QU1LQUlFSUE5Qi93RnhJQkFiSWc5RmNrVUVRQ0FQSUF3b0FnQWdEQ0FRR3lJUGFpRVFJQUlvQWdBaEVRTkFJQThnRUVjRVFDQVJJQThzQUFBNkFBQWdFVUVCYWlFUklBOUJBV29oRHd3QkN3c2dBaUFSTmdJQUN3d0JDeUFDS0FJQUlSSWdCRUVCYWlBRUlBY2JJaE1oQkFOQUFrQWdCQ0FGVHcwQUlBUXNBQUFpRDBGL1RBMEFJQVlvQWdnZ0QwRUJkR291QVFCQmdCQnhSUTBBSUFSQkFXb2hCQXdCQ3dzZ0dBUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCTkxjUVJBSUFSQmYyb2lCQ3dBQUNFUklBSWdBaWdDQUNJUVFRRnFOZ0lBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJY0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVSQTBBZ0FpQUNLQUlBSWhCQkFXbzJBZ0FnRDBFQVNnUkFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFnQ1RvQUFBc2dCQ0FUUmdSQUlBWW9BZ0FvQWh3aEJDQUdRVEFnQkVFL2NVR0tBV29SQWdBaER5QUNJQUlvQWdBaUJFRUJhallDQUNBRUlBODZBQUFGQWtBZ0N5d0FDeUlQUVFCSUlSQWdDeWdDQkNBUFFmOEJjU0FRR3dSL0lBc29BZ0FnQ3lBUUd5d0FBQVZCZndzaEQwRUFJUkZCQUNFVUlBUWhFQU5BSUJBZ0UwWU5BU0FQSUJSR0JFQWdBaUFDS0FJQUlnUkJBV28yQWdBZ0JDQUtPZ0FBSUFzc0FBc2lEMEVBU0NFV0lCRkJBV29pQkNBTEtBSUVJQTlCL3dGeElCWWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZodHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCUWhEd3RCQUNFVUJTQVJJUVFMSUJCQmYyb2lFQ3dBQUNFV0lBSWdBaWdDQUNJUlFRRnFOZ0lBSUJFZ0Zqb0FBQ0FFSVJFZ0ZFRUJhaUVVREFBQUN3QUxDeUFDS0FJQUlnUWdFa1lFZnlBVEJRTkFJQklnQkVGL2FpSUVTUVJBSUJJc0FBQWhEeUFTSUFRc0FBQTZBQUFnQkNBUE9nQUFJQkpCQVdvaEVnd0JCU0FUSVFRTUF3c0FBQXNBQ3lFRUN5QVZRUUZxSVJVTUFRc0xJQTBzQUFzaUJFRUFTQ0VHSUEwb0FnUWdCRUgvQVhFZ0Joc2lCVUVCU3dSQUlBMG9BZ0FnRFNBR0d5SUVJQVZxSVFVZ0FpZ0NBQ0VHQTBBZ0JTQUVRUUZxSWdSSEJFQWdCaUFFTEFBQU9nQUFJQVpCQVdvaEJnd0JDd3NnQWlBR05nSUFDd0pBSUFOQnNBRnhRUmgwUVJoMVFSQnJJZ05GRFFBZ0EwRVFSZ1JBSUFFZ0FpZ0NBRFlDQUF3QkN5QUJJQUEyQWdBTEM5a0ZBUVYvSXdZaENpTUdRUkJxSkFZZ0NrRU1haUVMSUFvZ0FBUi9JQUpCNk04REVEb0ZJQUpCNE04REVEb0xJZ0FnQVFSL0lBc2dBQ0FBS0FJQUtBSXNRVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NJQVVnQ3lBQUlBQW9BZ0FvQWloQlAzRkJzZ1ZxRVFNQUlBTWdDeWdDQURZQUFDQUFLQUlBS0FJY0MwRS9jVUd5QldvUkF3QWdDQ3dBQzBFQVNBUkFBbjhnQ0NnQ0FDRU1JQXRCQURvQUFDQU1DeUFMRUY4Z0NFRUFOZ0lFSUFnc0FBdEJBRWdFUUNBSUtBSUlHaUFJS0FJQUVEZ2dDRUVBTmdJSUN3VWdDMEVBT2dBQUlBZ2dDeEJmSUFoQkFEb0FDd3NnQ0NBS0tRSUFOd0lBSUFnZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQVFnQUNBQUtBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUZJQUFnQUNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUFJQUFvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FMUVFBNkFBQWdEUXNnQ3hCZklBWkJBRFlDQkNBR0xBQUxRUUJJQkVBZ0JpZ0NDQm9nQmlnQ0FCQTRJQVpCQURZQ0NBc0ZJQXRCQURvQUFDQUdJQXNRWHlBR1FRQTZBQXNMSUFZZ0Npa0NBRGNDQUNBR0lBb29BZ2cyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0NtcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBb1FSeUFLSUFBZ0FDZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFT0lBdEJBRG9BQUNBT0N5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBa2dBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUx0U01CRzM4akJpRVBJd1pCZ0FScUpBWWdEMEgwQTJvaEdTQVBRZGdEYWlFZklBOUIxQU5xSVNBZ0QwRzhBMm9oRENBUFFiQURhaUVOSUE5QnBBTnFJUTRnRDBHWUEyb2hFU0FQUVpRRGFpRVhJQTlCa0FOcUlSd2dEMEh3QTJvaUdpQUtOZ0lBSUE5QjZBTnFJaFFnRHpZQ0FDQVVRWkVCTmdJRUlBOUI0QU5xSWhJZ0R6WUNBQ0FQUWR3RGFpSWJJQTlCa0FOcU5nSUFJQTlCeUFOcUloWkNBRGNDQUNBV1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRm1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUF4Q0FEY0NBQ0FNUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdER3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTFDQURjQ0FDQU5RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBNUNBRGNDQUNBT1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRG1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUJGQ0FEY0NBQ0FSUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdFV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQUlnQXlBWklCOGdJQ0FXSUF3Z0RTQU9JQmNRcXdvZ0NTQUlLQUlBTmdJQUlBUkJnQVJ4UVFCSElTRkJBQ0VDQW44Q1FBSkFBa0FDUUFKQUFrQURRQUpBSUJOQkJFOE5CeUFBS0FJQUlnTUVmeUFES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBQktBSUFJZ3RGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRc0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0V5QVphaXdBQUE0RkFRQURBZ1FHQ3lBVFFRTkhCRUFnQjBHQXdBQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQnlBUklBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQVVnQXlBRVFRUnFOZ0lNSUFRb0FnQUxFSTRDREFVTERBVUxJQk5CQTBjTkF3d0VDeUFOS0FJRUlBMHNBQXNpQTBIL0FYRWdBMEVBU0JzaUMwRUFJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJUWEwY0VRQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSaUVLSUF0Rklnc2dFRVZ5QkVBZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJUU1nQ3dSQUlBNG9BZ0FnRGlBT0xBQUxRUUJJR3lnQ0FDQURSdzBHSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dCa0VCT2dBQUlBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQmdzZ0RTZ0NBQ0FOSUEwc0FBdEJBRWdiS0FJQUlBTkhCRUFnQmtFQk9nQUFEQVlMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dEU0FDSUEwb0FnUWdEU3dBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN3Si9JQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lFa0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dKQ0FOS0FJQUlBMGdEU3dBQzBFQVNCc29BZ0JHQ3dSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBTklBSWdEU2dDQkNBTkxBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVVMSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QU9LQUlBSUE0Z0Rpd0FDMEVBU0Jzb0FnQkhEUWNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QUdRUUU2QUFBZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3NNQXdzQ1FBSkFJQk5CQWtrZ0FuSUVRQ0FNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNZ0V3MEJCU0FUUVFKR0lCa3NBQU5CQUVkeElDRnlSUVJBUVFBaEFnd0dDeUFNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNTUFRc01BUXNnR1NBVFFYOXFhaTBBQUVFQ1NBUkFBa0FDUUFOQUlBTWdEQ2dDQkNBS1FmOEJjU0FLUVJoMFFSaDFRUUJJSWhBYlFRSjBJQVFnRENBUUcycEhCRUFnQjBHQXdBQWdBeWdDQUNBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzTUFRc2dEQ3dBQ3lFS0lBd29BZ0FoQkFzZ0VTd0FDeUlZUVFCSUlSVWdBeUFFSUF3Z0NrRVlkRUVZZFVFQVNCc2lIU0lRYTBFQ2RTSWlJQkVvQWdRaUhpQVlRZjhCY1NJWUlCVWJTd1IvSUJBRklCRW9BZ0FnSGtFQ2RHb2lIaUFZUVFKMElCRnFJaGdnRlJzaEkwRUFJQ0pyUVFKMElCNGdHQ0FWRzJvaEZRTi9JQlVnSTBZTkF5QVZLQUlBSUIwb0FnQkdCSDhnSFVFRWFpRWRJQlZCQkdvaEZRd0JCU0FRQ3dzTElRTUxDd05BQWtBZ0F5QU1LQUlFSUFwQi93RnhJQXBCR0hSQkdIVkJBRWdpQ2h0QkFuUWdCQ0FNSUFvYmFrWU5BQ0FBS0FJQUlnUUVmeUFFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBTFJRMEFJQXNvQWd3aUNpQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMERDd3dCQ3lBRURRRkJBQ0VMQ3lBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTElBTW9BZ0JIRFFBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRVFDQUVJQVFvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQkNBS1FRUnFOZ0lNSUFvb0FnQWFDeUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c2dJUVJBSUF3c0FBc2lDa0VBU0NFRUlBd29BZ1FnQ2tIL0FYRWdCQnRCQW5RZ0RDZ0NBQ0FNSUFRYmFpQURSdzBIQ3d3Q0MwRUFJUVFnQ3lFREEwQUNRQ0FBS0FJQUlnb0VmeUFLS0FJTUloQWdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUtBa0FDUUNBTFJRMEFJQXNvQWd3aUVDQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaEN3c2dCMEdBRUNBQUtBSUFJZ29vQWd3aUVDQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTEloQWdCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQUVmeUFKS0FJQUlnb2dHaWdDQUVZRVFDQUlJQWtnR2hETkFTQUpLQUlBSVFvTElBa2dDa0VFYWpZQ0FDQUtJQkEyQWdBZ0JFRUJhZ1VnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElCQWdJQ2dDQUVaeFJRMEJJQklvQWdBaUNpQWJLQUlBUmdSQUlCUWdFaUFiRU0wQklCSW9BZ0FoQ2dzZ0VpQUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lRSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dFRUVFYWpZQ0RDQVFLQUlBR2dzTUFRc0xJQklvQWdBaUNpQVVLQUlBUnlBRVFRQkhjUVJBSUFvZ0d5Z0NBRVlFUUNBVUlCSWdHeEROQVNBU0tBSUFJUW9MSUJJZ0NrRUVhallDQUNBS0lBUTJBZ0FMSUJjb0FnQkJBRW9FUUFKQUlBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnSHlnQ0FFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQkdvMkFnd2dDaWdDQUJvTEEwQWdGeWdDQUVFQVRBMEJJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFkQmdCQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQ2lBSktBSUFJQm9vQWdCR0JFQWdDQ0FKSUJvUXpRRUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNoQkNBSklBa29BZ0FpQ2tFRWFqWUNBQ0FLSUFRMkFnQWdGeUFYS0FJQVFYOXFOZ0lBSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkVBZ0JDQUVLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVFnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFNQ1FBSkFJQXRGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFRTERBRUxJQU1OQWtFQUlRc0xJQWRCZ01BQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBc2dCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFRWFqWUNEQ0FFS0FJQUN4Q09BZ3dBQUFzQUN5QVRRUUZxSVJNTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBRW9BZ0FpQTBVTkFDQURLQUlNSWdnZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQkVVTkF3c01BUXNnQkEwQkN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJQUlzQUF0QkFFZ0VmeUFDS0FJQUJTQUNDeUFIUVFKMGFpZ0NBRWNOQUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkJHbzJBZ3dnQkNnQ0FCb0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJRb0FnQWlBQ0FTS0FJQUlnRkdCSDlCQVFVZ0hFRUFOZ0lBSUJZZ0FDQUJJQndRZUNBY0tBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpTQVJFRWNnRGhCSElBMFFSeUFNRUVjZ0ZoQkhJQlFvQWdBaEFDQVVRUUEyQWdBZ0FBUkFJQUFnRkNnQ0JFSC9BWEZCckFOcUVRRUFDeUFQSkFZZ0pRdXNBUUVGZnlBQ0tBSUFJQUFvQWdBaUF5SUdheUlGUVFGMElnUkJBU0FFRzBGL0lBVkIvLy8vL3dkSkd5RUZJQUVvQWdBaEJ5QURRUUFnQUNnQ0JFR1JBVWNpQkJzZ0JSRG9BU0lEUlFSQUVBQUxJQVFFUUNBQUlBTTJBZ0FGSUFBb0FnQWhCQ0FBSUFNMkFnQWdCQVJBSUFRZ0FDZ0NCRUgvQVhGQnJBTnFFUUVBSUFBb0FnQWhBd3NMSUFCQmtnRTJBZ1FnQVNBSElBWnJJQU5xTmdJQUlBSWdCU0FBS0FJQWFqWUNBQXVjSkFFYWZ5TUdJUkFqQmtHQUJHb2tCaUFRUWZBRGFpRWFJQkJCN1FOcUlTQWdFRUhzQTJvaElTQVFRYndEYWlFTklCQkJzQU5xSVE0Z0VFR2tBMm9oRHlBUVFaZ0RhaUVSSUJCQmxBTnFJUmNnRUVHUUEyb2hIaUFRUWVnRGFpSWJJQW8yQWdBZ0VFSGdBMm9pRlNBUU5nSUFJQlZCa1FFMkFnUWdFRUhZQTJvaUV5QVFOZ0lBSUJCQjFBTnFJaHdnRUVHUUEybzJBZ0FnRUVISUEyb2lGa0lBTndJQUlCWkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBV2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RVSUFOd0lBSUExQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FOYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRGtJQU53SUFJQTVCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU9ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEMElBTndJQUlBOUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUGFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0VVSUFOd0lBSUJGQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FSYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnQWlBRElCb2dJQ0FoSUJZZ0RTQU9JQThnRnhDdkNpQUpJQWdvQWdBMkFnQWdCRUdBQkhGQkFFY2hJa0VBSVFJQ2Z3SkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0ZFRUVUdzBISUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdBU2dDQUNJTVJRMEFJQXdvQWd3aUJDQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVF3TEFrQUNRQUpBQWtBQ1FBSkFBa0FnRkNBYWFpd0FBQTRGQVFBREFnUUdDeUFVUVFOSEJFQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMSWdOQi93RnhRUmgwUVJoMVFYOU1EUWNnQnlnQ0NDQURRUmgwUVJoMVFRRjBhaTRCQUVHQXdBQnhSUTBISUJFZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNDMEgvQVhFUXpBRU1CUXNNQlFzZ0ZFRURSdzBEREFRTElBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlMUVFBZ0R5Z0NCQ0FQTEFBTElnTkIvd0Z4SUFOQkFFZ2JJZ3hyUndSQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dDMFVpQ3lBTVJYSUVRQ0FLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwSC9BWEVoQXlBTEJFQWdEeWdDQUNBUElBOHNBQXRCQUVnYkxRQUFJQU5IRFFZZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFaQkFUb0FBQ0FQSUFJZ0R5Z0NCQ0FQTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBWUxJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5MEFBQ0FEUndSQUlBWkJBVG9BQUF3R0N5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3lBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDeUVMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0RpZ0NBQ0FPSUE0c0FBdEJBRWdiTFFBQUlBdEIvd0Z4UmdSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQlFzZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCL3dGeElBOG9BZ0FnRHlBUExBQUxRUUJJR3kwQUFFY05CeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dCa0VCT2dBQUlBOGdBaUFQS0FJRUlBOHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlMREFNTEFrQUNRQ0FVUVFKSklBSnlCRUFnRFNnQ0FDSUtJQTBnRFN3QUN5SURRUUJJSWdzYkloZ2hCQ0FVRFFFRklCUkJBa1lnR2l3QUEwRUFSM0VnSW5KRkJFQkJBQ0VDREFZTElBMG9BZ0FpQ2lBTklBMHNBQXNpQTBFQVNDSUxHeUlZSVFRTUFRc01BUXNnR2lBVVFYOXFhaTBBQUVFQ1NBUkFJQTBvQWdRZ0EwSC9BWEVnQ3hzZ0dHb2hFaUFFSVFzRFFBSkFJQXNnRWtZTkFDQUxMQUFBSWgxQmYwd05BQ0FIS0FJSUlCMUJBWFJxTGdFQVFZREFBSEZGRFFBZ0MwRUJhaUVMREFFTEN5QVJMQUFMSWhsQkFFZ2hFaUFMSUFSckloMGdFU2dDQkNJZklCbEIvd0Z4SWhrZ0VodE5CRUFnSHlBUktBSUFhaUlmSUJFZ0dXb2lHU0FTR3lFaklCOGdIV3NnR1NBZGF5QVNHeUVTQTBBZ0VpQWpSZ1JBSUFzaEJBd0VDeUFTTEFBQUlCZ3NBQUJHQkVBZ0dFRUJhaUVZSUJKQkFXb2hFZ3dCQ3dzTEN3c0RRQUpBSUFRZ0NpQU5JQU5CR0hSQkdIVkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBHRFFBZ0FDZ0NBQ0lEQkg4Z0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FNUlEwQUlBd29BZ3dpQ2lBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRTUxEQUVMSUFNTkFVRUFJUXdMSUFBb0FnQWlBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnQkMwQUFFY05BQ0FBS0FJQUlnTW9BZ3dpQ2lBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVCYWlFRUlBMHNBQXNoQXlBTktBSUFJUW9NQVFzTElDSUVRQ0FFSUEwb0FnQWdEU0FOTEFBTElnTkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBIRFFjTERBSUxRUUFoQkNBTUlRTURRQUpBSUFBb0FnQWlDZ1IvSUFvb0Fnd2lDeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFzc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2dKQUFrQWdERVVOQUNBTUtBSU1JZ3NnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTExBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoREFzQ2Z3SkFJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCSDhnQ2lBS0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQ3lJS1FmOEJjU0lMUVJoMFFSaDFRWDlNRFFBZ0J5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFBZ0NTZ0NBQ0lLSUJzb0FnQkdCRUFnQ0NBSklCc1Fwd1FnQ1NnQ0FDRUtDeUFKSUFwQkFXbzJBZ0FnQ2lBTE9nQUFJQVJCQVdvTUFRc2dGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUNFdEFBQWdDMFp4UlEwQklCTW9BZ0FpQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0MwRUJhallDRENBTExBQUFFRUlhQ3d3QkN3c2dFeWdDQUNJS0lCVW9BZ0JISUFSQkFFZHhCRUFnQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBQXNnRnlnQ0FFRUFTZ1JBQWtBZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnSUMwQUFFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc0RRQ0FYS0FJQVFRQk1EUUVnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJRVFmOEJjVUVZZEVFWWRVRi9UQTBLSUFjb0FnZ2dCRUVZZEVFWWRVRUJkR291QVFCQmdCQnhSUTBLSUFrb0FnQWdHeWdDQUVZRVFDQUlJQWtnR3hDbkJBc2dBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0xBQUFFRUlMSVFRZ0NTQUpLQUlBSWdwQkFXbzJBZ0FnQ2lBRU9nQUFJQmNnRnlnQ0FFRi9hallDQUNBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0RFVU5BQ0FNS0FJTUlnUWdEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQURSUTBFQ3d3QkN5QUREUUpCQUNFTUN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3NpQTBIL0FYRkJHSFJCR0hWQmYwd05BU0FIS0FJSUlBTkJHSFJCR0hWQkFYUnFMZ0VBUVlEQUFIRkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFQmFqWUNEQ0FFTEFBQUVFSUxRZjhCY1JETUFRd0FBQXNBQ3lBVVFRRnFJUlFNQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBZ0FTZ0NBQ0lEUlEwQUlBTW9BZ3dpQ0NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRTUxEQUVMSUFRTkFRc2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUWY4QmNTQUNMQUFMUVFCSUJIOGdBaWdDQUFVZ0Fnc2dCMm90QUFCSERRQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlVvQWdBaUFDQVRLQUlBSWdGR0JIOUJBUVVnSGtFQU5nSUFJQllnQUNBQklCNFFlQ0FlS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSkNBUkVFY2dEeEJISUE0UVJ5QU5FRWNnRmhCSElCVW9BZ0FoQUNBVlFRQTJBZ0FnQUFSQUlBQWdGU2dDQkVIL0FYRkJyQU5xRVFFQUN5QVFKQVlnSkFzWkFDQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFCQkFVRXRFSk1FQ3hrQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVFQlFTMFFsZ1FMRlFBZ0FDZ0NBQkJjUndSQUlBQW9BZ0FRaHdNTEMyTUJBWDhqQmlFR0l3WkJFR29rQmlBR1FTVTZBQUFnQmlBRU9nQUJJQVlnQlRvQUFpQUdRUUE2QUFNZ0JVSC9BWEVFUUNBR0lBVTZBQUVnQmlBRU9nQUNDeUFDSUFFZ0FpZ0NBQ0FCYXlBR0lBTWdBQ2dDQUJBZklBRnFOZ0lBSUFZa0Jnc09BQ0FBUVFocUVLc0VJQUFRT0FzS0FDQUFRUWhxRUtzRUMyd0JBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUprQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQjBBOXFJQUZCN0E1cUlBRWdBVUhrQUVnYklBRkJ4UUJJRzBHVWNXbzJBZ0FMSUFVa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUVJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhQUNhaUFGSUFSQkFCQ1ZBaUFBYXlJQVFhQUNTQVJBSUFFZ0FFRU1FRGxCREJCUE5nSUFDeUFHSkFZTGV3RUNmeU1HSVFZakJrRVFhaVFHSUFCQkNHb2lBQ2dDQUNnQ0FDRUhJQUFnQjBIL0FIRkJDR29SQUFBaEFDQUdJQU1vQWdBMkFnQWdCa0VFYWlJRElBWW9BZ0EyQWdBZ0FpQURJQUFnQUVHb0FXb2dCU0FFUVFBUWxRSWdBR3NpQUVHb0FVZ0VRQ0FCSUFCQkRCQTVRUWNRVHpZQ0FBc2dCaVFHQzdnQ0FRWi9Jd1loQXlNR1FZQUNhaVFHSUFOQndBRnFJZ0lnQVJERUNpQURRZUFBYWlJRUlBSVF1d3BCQUNFQkEwQWdBVUVEUndSQUlBRkJCWFFnQUdvaEJTQUJRUVYwSUFCcUlRWWdBVUVGZENBQWFpRUhRUUFoQWdOQUlBSkJCRWNFUUNBQlFRVjBJQU5xSUFKQkEzUnFJQVVyQXdBZ0FrRURkQ0FFYWlzREFLSWdCaXNEQ0NBRVFTQnFJQUpCQTNScUt3TUFvcUFnQnlzREVDQUVRVUJySUFKQkEzUnFLd01Bb3FBNUF3QWdBa0VCYWlFQ0RBRUxDeUFCUVFWMElBTnFJZ0lnQVVFRmRDQUFhaXNER0NBQ0t3TVlvRGtER0NBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFGQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0FVRUZkQ0FBYWlBQ1FRTjBhaUFCUVFWMElBTnFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QURKQVlMMEFFQkJIOGpCaUVFSXdaQk1Hb2tCaUFFUVJocUlnVkJCallDQkNBRlFRRTJBZ2dnQlNBQU5nSUFJQVJCREdvaUJpQUROZ0lFSUFaQkFUWUNDQ0FHSUFFMkFnQWdCQ0FETmdJRUlBUkJCallDQ0NBRUlBSTJBZ0FnQkJDZ0F5SUFCSDhDZnlBQUlBUVEyUUVpQVVVRVFDQUFFRWxCZnd3QkN5QUFJQVlRMlFFaUFrVUVRQ0FBRUVrZ0FSQkpRWDhNQVFzZ0FSRFdBVUVBU0FSL0lBQVFTU0FCRUVrZ0FoQkpRWDhGSUFVZ0FTQUNFSzBDR2lBQUVFa2dBUkJKSUFJUVNVRUFDd3NGUVg4TElRY2dCQ1FHSUFjTGJBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbWdFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVIUUQyb2dBVUhzRG1vZ0FTQUJRZVFBU0JzZ0FVSEZBRWdiUVpSeGFqWUNBQXNnQlNRR0Mzc0JBbjhqQmlFR0l3WkJFR29rQmlBQVFRaHFJZ0FvQWdBb0FnUWhCeUFBSUFkQi93QnhRUWhxRVFBQUlRQWdCaUFES0FJQU5nSUFJQVpCQkdvaUF5QUdLQUlBTmdJQUlBSWdBeUFBSUFCQm9BSnFJQVVnQkVFQUVKWUNJQUJySWdCQm9BSklCRUFnQVNBQVFRd1FPVUVNRUU4MkFnQUxJQVlrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJQUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFnQmFpQUZJQVJCQUJDV0FpQUFheUlBUWFnQlNBUkFJQUVnQUVFTUVEbEJCeEJQTmdJQUN5QUdKQVlMQkFCQkFndVhDQUVMZnlNR0lRc2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnMG9BZ0FvQWhRaEJpQUxJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3dDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUtJQUlnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFRWFqWUNBQ0FHSUFJMkFnQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBS1FUQWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVFYWpZQ0FDQUhJQUkyQWdBZ0NpQUdMQUFCSUFvb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBQ05nSUFJQVpCQW1vaUJpRUNBMEFnQWlBTVNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdERThOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQXNvQWdRZ0N5d0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRa2dDQ0FITEFBQU9nQUFJQWNnQ1RvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUWxCQUNFSFFRQWhDQU5BSUFrZ0Fra0VRQ0FISUFzb0FnQWdDeUFMTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dEellDQUNBSElBY2dDeWdDQkNBTExBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBb2dDU3dBQUNBS0tBSUFLQUlzUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRUnFOZ0lBSUJBZ0RqWUNBQ0FKUVFGcUlRa2dDRUVCYWlFSURBRUxDeUFHSUFCclFRSjBJQU5xSWdrZ0JTZ0NBQ0lJUmdSL0lBb2hCeUFKQlNBSUlRWURmeUFKSUFaQmZHb2lCa2tFZnlBSktBSUFJUWNnQ1NBR0tBSUFOZ0lBSUFZZ0J6WUNBQ0FKUVFScUlRa01BUVVnQ2lFSElBZ0xDd3NoQmdVZ0NpQUdJQUlnQlNnQ0FDQUtLQUlBS0FJd1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBSWdCbXRCQW5ScUlnWTJBZ0FnQ2lFSEN3SkFBa0FEUUNBQ0lBeEpCRUFnQWl3QUFDSUdRUzVHRFFJZ0NpQUdJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUWtnQlNBRktBSUFJZ2hCQkdvaUJqWUNBQ0FJSUFrMkFnQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRY2dCU0FGS0FJQUlnbEJCR29pQmpZQ0FDQUpJQWMyQWdBZ0FrRUJhaUVDQ3lBS0lBSWdEQ0FHSUFvb0FnQW9BakJCRDNGQmlnSnFFUWtBR2lBRklBVW9BZ0FnRENBQ2EwRUNkR29pQWpZQ0FDQUVJQUlnQVNBQWEwRUNkQ0FEYWlBQklBeEdHellDQUNBTEVFY2dDeVFHQy9VQkFnVi9BWHdqQmlFRUl3WkI0QUZxSkFZZ0JFSFlBV29oQlNBRVFUQnFJZ1lnQkVIQUFXb2lCeUFDSUFNUTh3b2dCQ0FCSUFjUTZBcEJBRWdFZjBFQVFRTkI0YXdCSUFVUVBVRi9CVUVBSVFFRGZ5QUJRUUpHQkg5QkFBVkJBQ0VDQTBBZ0FrRUdSd1JBSUFGQk1Hd2dBR29nQWtFRGRHb2lCVVFBQUFBQUFBQUFBRGtEQUVFQUlRTkVBQUFBQUFBQUFBQWhDUU5BSUFOQkEwY0VRQ0FGSUFrZ0FVRVliQ0FFYWlBRFFRTjBhaXNEQUNBRFFUQnNJQVpxSUFKQkEzUnFLd01Bb3FBaUNUa0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN3c2hDQ0FFSkFZZ0NBdjZCd0VMZnlNR0lRb2pCa0VRYWlRR0lBWkJnTTRERURvaENTQUdRWkRPQXhBNklnMG9BZ0FvQWhRaEJpQUtJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3NDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUpJQUlnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFJNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBSlFUQWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQUk2QUFBZ0NTQUdMQUFCSUFrb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBQ09nQUFJQVpCQW1vaUJpRUNBMEFnQWlBTFNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdDMDhOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSL0lBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRd2dDQ0FITEFBQU9nQUFJQWNnRERvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUXhCQUNFSVFRQWhCd05BSUF3Z0Fra0VRQ0FISUFvb0FnQWdDaUFLTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dEem9BQUNBSElBY2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBa2dEQ3dBQUNBSktBSUFLQUljUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRRnFOZ0lBSUJBZ0Rqb0FBQ0FNUVFGcUlRd2dDRUVCYWlFSURBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFrRkEzOGdCeUFHUVg5cUlnWkpCSDhnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUZJQWtMQ3dzRklBa2dCaUFDSUFVb0FnQWdDU2dDQUNnQ0lFRVBjVUdLQW1vUkNRQWFJQVVnQlNnQ0FDQUNJQVpyYWpZQ0FDQUpDeUVHQWtBQ1FBTkFJQUlnQzBrRVFDQUNMQUFBSWdkQkxrWU5BaUFKSUFjZ0JpZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUJhallDQUNBSUlBYzZBQUFnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUVlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHT2dBQUlBSkJBV29oQWdzZ0NTQUNJQXNnQlNnQ0FDQUpLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBc2dBbXRxSWdJMkFnQWdCQ0FDSUFNZ0FTQUFhMm9nQVNBTFJoczJBZ0FnQ2hCSElBb2tCZ3VlQVFFRmZDQUJLd05ZSUFJckF3QWlBeUFCUVVCckt3TUFvaUFDS3dNSUlnUWdBU3NEU0tLZ0lBSXJBeEFpQlNBQkt3TlFvcUNnSWdaRUFBQUFBQUFBQUFCaEJIOUJmd1VnQVNzRE9DQURJQUVyQXlDaUlBUWdBU3NES0tLZ0lBVWdBU3NETUtLZ29DRUhJQUFnQVNzREdDQURJQUVyQXdDaUlBUWdBU3NEQ0tLZ0lBVWdBU3NERUtLZ29DQUdvemtEQUNBQUlBY2dCcU01QXdoQkFBc0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlrTElRY2dCaVFHSUFjTDB3RUNBMzhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFZnlBQ1FRUTJBZ0JCQUFWQnBNVURLQUlBSVFWQnBNVURRUUEyQWdBZ0FDQUVJQU1RWEJEOUFpRUhRYVRGQXlnQ0FDSUFSUVJBUWFURkF5QUZOZ0lBQ3lBQklBUW9BZ0JHQkg4Q2Z5QUFRY1FBUmdSQUlBSkJCRFlDQUVILy8vLy9CeUFIUWdCVkRRRWFCUUpBSUFkQ2dJQ0FnSGhUQkVBZ0FrRUVOZ0lBREFFTElBZW5JQWRDLy8vLy93ZFhEUUlhSUFKQkJEWUNBRUgvLy8vL0J3d0NDd3RCZ0lDQWdIZ0xCU0FDUVFRMkFnQkJBQXNMSVFZZ0JDUUdJQVlMb2dFQ0FuOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUZRYVRGQTBFQU5nSUFJQUFnQkNBREVGd1EvUUloQmtHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQlRZQ0FBc2dBU0FFS0FJQVJnUitJQUJCeEFCR0JINGdBa0VFTmdJQVF2Ly8vLy8vLy8vLy93QkNnSUNBZ0lDQWdJQ0FmeUFHUWdCVkd3VWdCZ3NGSUFKQkJEWUNBRUlBQ3lFR0N5QUVKQVlnQmd2V0FRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ3Si9JQUJCeEFCR0lBaEMvLzhEVm5JRVFDQUNRUVEyQWdCQmZ3d0JDeUFJcDBILy93TnhJUUJCQUNBSXAydEIvLzhEY1NBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd2SEFRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ5QUFRY1FBUmlBSVF2Ly8vLzhQVm5JRWZ5QUNRUVEyQWdCQmZ3VkJBQ0FJcHlJQWF5QUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dTZBUUlEZndKK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSK0lBSkJCRFlDQUVJQUJRSitJQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVJQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFkQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmaUFBUWNRQVJnUitJQUpCQkRZQ0FFSi9CVUlBSUFkOUlBY2dCUnNMQlNBQ1FRUTJBZ0JDQUFzTEN5RUlJQVFrQmlBSUM0b0JBZ0ovQVgwakJpRURJd1pCRUdva0JpQUFJQUZHQkVBZ0FrRUVOZ0lBQlVHa3hRTW9BZ0FoQkVHa3hRTkJBRFlDQUJCY0dpQUFJQU5CQUJDZ0FyWWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVU1BQUFBQUlRVU1BUXNNQVFzZ0FrRUVOZ0lBQ3dzZ0F5UUdJQVVMalFFQ0FuOEJmQ01HSVFNakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUVRYVRGQTBFQU5nSUFFRndhSUFBZ0EwRUJFS0FDSVFWQnBNVURLQUlBSWdCRkJFQkJwTVVESUFRMkFnQUxBa0FDUUNBQklBTW9BZ0JHQkVBZ0FFSEVBRVlOQVFWRUFBQUFBQUFBQUFBaEJRd0JDd3dCQ3lBQ1FRUTJBZ0FMQ3lBREpBWWdCUXVOQVFJQ2Z3RjhJd1loQXlNR1FSQnFKQVlnQUNBQlJnUkFJQUpCQkRZQ0FBVkJwTVVES0FJQUlRUkJwTVVEUVFBMkFnQVFYQm9nQUNBRFFRSVFvQUloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVRQUFBQUFBQUFBQUNFRkRBRUxEQUVMSUFKQkJEWUNBQXNMSUFNa0JpQUZDemtCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FSQmlJUUVnQUVHRGt3TWdBeENWQXlFRUlBRUVRQ0FCRUdJYUN5QURKQVlnQkF0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuQXNoQnlBR0pBWWdCd3VsQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUlnQVd0QkFuVWlCRUh2Ly8vL0Ewc0VRQkFBQ3lBRVFRSkpCRUFnQUNBRU9nQUxJQUFoQXdVZ0JFRUVha0Y4Y1NJR1FmLy8vLzhEU3dSQUVBQUZJQUFnQmtFQ2RCQlJJZ00yQWdBZ0FDQUdRWUNBZ0lCNGNqWUNDQ0FBSUFRMkFnUUxDd05BSUFFZ0FrY0VRQ0FESUFFUWJpQUJRUVJxSVFFZ0EwRUVhaUVEREFFTEN5QUZRUUEyQWdBZ0F5QUZFRzRnQlNRR0M2c0RBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURvQUFBd0JCUUpBSUFSQkFXb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTZBQUFNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVMQUFBRUVJMkFqQUZBa0FEUUNBQ1FRQk1EUUVnQXlBQ1FYOXFJZ0pxTEFBQUVFSWdBQ2dDSUJEdkFVRi9SdzBBQzBGL0lRQU1BZ3NMSUFRc0FBQVFRaUVBQ3dzTElBVWtCaUFBQzZVREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRFlDQUF3QkJRSkFJQVJCQkdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBMkFnQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUtBSUFOZ0l3QlFKQUEwQWdBa0VBVEEwQklBTWdBa0YvYWlJQ2Fpd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTFFYOGhBQXdDQ3dzZ0JDZ0NBQ0VBQ3dzTElBVWtCaUFBQzVvQkFRVi9Jd1loQVNNR1FSQnFKQVlnQVVFSWFpSUNRUWhxSVFVQ1FBSkFBMEFnQUNnQ0pDSURLQUlBS0FJVUlRUWdBeUFBS0FJb0lBSWdCU0FCSUFSQkgzRkJvZ0pxRVFnQUlRTUNRQ0FCS0FJQUlBSnJJZ1FnQWtFQklBUWdBQ2dDSUJDVEFVY05BQUpBSUFOQkFXc09BZ0FCQXdzTUFRc0xRWDhoQUF3QkN5QUFLQUlnRUtrQ1FRQkhRUjkwUVI5MUlRQUxJQUVrQmlBQUN4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUTZnSUxFd0FnQUNBQUtBSUFRWFJxS0FJQWFoQ1pBZ3NUQUNBQUlBQW9BZ0JCZEdvb0FnQnFFT3NDQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RbWdJTEt3RUJmd05BSUFKQkNFY0VRQ0FCSUFKcUlBQkJCeUFDYTJvc0FBQTZBQUFnQWtFQmFpRUNEQUVMQ3dzU0FDQUFRZHlNQVRZQ0FDQUFRUVJxRUR3TEJBQkJmd3NRQUNBQVFnQTNBd0FnQUVKL053TUlDeEFBSUFCQ0FEY0RBQ0FBUW44M0F3Z0xCQUFnQUFzckFRRi9BMEFnQWtFRVJ3UkFJQUVnQW1vZ0FFRURJQUpyYWl3QUFEb0FBQ0FDUVFGcUlRSU1BUXNMQ3hJQUlBQkJuSXdCTmdJQUlBQkJCR29RUEF0VEFRTi9JQUlvQWdBaEJDQUJJQUJyUVFKMUlRRURRQ0FCQkVBZ0FVRUJkaUlDUVFKMElBQnFJZ1VvQWdBZ0JFa2hBeUFGUVFScUlBQWdBeHNoQUNBQlFYOXFJQUpySUFJZ0F4c2hBUXdCQ3dzZ0FBdk9BUUVEZnlNR0lRSWpCa0hBQVdva0JpQUFJQUlRMVFRZ0FFRUVhaUFDUVFScUVOVUVBMEFnQVVFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQVFRaHFJQUZCQlhScUlBTkJBM1JxSUFKQkNHb2dBVUVGZEdvZ0EwRURkR29RendRZ0EwRUJhaUVEREFFTEN5QUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBQ2dDc0FFaUEwRURkRUdZRldvb0FnQklCRUFnQUVIb0FHb2dBVUVEZEdvZ0FrSG9BR29nQVVFRGRHb1F6d1FnQVVFQmFpRUJEQUVMQ3lBQ0lBTTJBckFCSUFBZ0FrRzRBUkJNR2lBQ0pBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIWStRQkJCU0FCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkI0UGtBUVFRZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUWVqNUFFRURJQUVvQWdBUUNDQUJKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSHcrUUJCQWlBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCK1BrQVFRRWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFZRDZBRUVBSUFFb0FnQVFDQ0FCSkFZTG1Bc0JGWHdDZndKQUFrQUNRQUpBQWtBQ1FDQUZRUUZyRGdRREFnRUFCQXNnQUNzREFDRUpJQUFyQXdnaENpQUFRVUJyS3dNQUlRMGdBQ3NERUNJT1JBQUFBQUFBQUFCQW9pRVBJQUFyQXhnaUVFUUFBQUFBQUFBWVFLSWhFeUFRUkFBQUFBQUFBQUJBb2lFVUlBNUVBQUFBQUFBQUdFQ2lJUlVnQVNBQUt3TXdJaGFoSUFBckF5QWlGNk1pQ3lFQklBSWdBQ3NET0NJWW9TQUFLd01vSWhtaklnd2hBaUFMSUF1aUlRWWdEQ0FNb2lFSFFRRWhBQU5BQWtBZ0JrUUFBQUFBQUFBQUFHSWdCMFFBQUFBQUFBQUFBR0p5UlFSQVJBQUFBQUFBQUFBQUlRRkVBQUFBQUFBQUFBQWhBZ3dCQ3lBSklBY2dCcUFpQ0tKRUFBQUFBQUFBOEQrZ0lBZ2dDaUFJb3FLZ0lSRWdCeUFHUkFBQUFBQUFBQWhBb2lJYW9pRVNJQUlnRGlBSFJBQUFBQUFBQUFCQW9pQUlvS0lnQWlBUm9xQWdBaUFVSUFFZ0VDQUlJQVpFQUFBQUFBQUFBRUNpb0tJZ0FpQVBJQUdpb2lBQklCR2lvS0FnQzZFZ0V5QUJvaUFQSUFLaUlBa2dCeUFhb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIb2lBR0lBWkVBQUFBQUFBQUZFQ2lvaUFTb0tDaW9LQ2dvNkVpQWFJaUNLS2dJQXloSUJVZ0FxSWdDU0FHSUFkRUFBQUFBQUFBQ0VDaW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSFJBQUFBQUFBQUJSQW9xSWdCaUFHb2lBU29LQ2lvS0FnQ0tDam9TRUNJQUJCQkVjRVFDQUJJQUdpSVFZZ0FpQUNvaUVISUFCQkFXb2hBQXdDQ3dzTElBTWdGaUFYSUFHaUlBMmpvRGtEQUNBWUlCa2dBcUlnRGFPZ0lRRU1CQXNnQUNzRElFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSUFBckF4aWpJZ0VnQWFJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lIbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBRWdCaUFHUkFBQUFBQUFBUEEvSUFnZ0I2S2hJQWNnQ2lBSG9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBZWlvU0FISUFzZ0I2S2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FCSUFHaUlBSWdBcUtnSWdZaEJ5QUZRUUZxSVFVZ0JwOGhCZ3dDQ3dzTElBTWdEQ0FCSUFBckF4Q2pvRGtEQUNBQ0lBQXJBeENqSUFBckF3aWdJUUVNQXdzZ0FDc0RHRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElnY2dCNklnQWlBQUt3TUlvU0lDSUFLaW9DSUJueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFjZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQWFLaElBRWdDaUFCb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFHaW9TQUJJQXNnQWFLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUZRUUZxSVFVZ0FTSUhJQUdpSUFJZ0FxS2dJZ0dmSVFZTUFnc0xDeUFESUF3Z0FTQUFLd01RbzZBNUF3QWdBaUFBS3dNUW95QUFLd01Jb0NFQkRBSUxJQUFyQXhoRUFBQUFBSVRYbDBHaklnaEVBQUFBQUFBQUNFQ2lJUWxCQVNFRklBRWdBQ3NEQUNJS29TSUhJQWVpSUFJZ0FDc0RDS0VpQWlBQ29xQWlBWjhpQ3lFR0EwQUNRQ0FHUkFBQUFBQUFBQUFBWVFSQVJBQUFBQUFBQUFBQUlRSkVBQUFBQUFBQUFBQWhBUXdCQ3lBSElBWWdCa1FBQUFBQUFBRHdQeUFJSUFHaW9hSWdDNkZFQUFBQUFBQUE4RDhnQ1NBQm9xR2pvU0lIb2lBR295RUJJQUlnQjZJZ0JxTWhBaUFGUVFOSEJFQWdCVUVCYWlFRklBRWlCeUFCb2lBQ0lBS2lvQ0lCbnlFR0RBSUxDd3NnQXlBS0lBRWdBQ3NERUtPZ09RTUFJQUlnQUNzREVLTWdBQ3NEQ0tBaEFRd0JDMEYvREFFTElBUWdBVGtEQUVFQUN4b0w1UUVBUWJqNEFFSDFnZ01RTFVIQStBQkIrb0lEUVFGQkFVRUFFQzhRNUFzUTR3c1E0Z3NRNFFzUTRBc1Ezd3NRM2dzUTNRc1EzQXNRMndzUTJndEJ5UElBUWVTREF4QVZRZUQ2QUVId2d3TVFGVUhJK2dCQkJFR1JoQU1RRWtHdytnQkJBa0dlaEFNUUVrR1krZ0JCQkVHdGhBTVFFa0dRK2dCQnZJUURFQzRRMlF0QjZvUURFTjRFUVkrRkF4RGRCRUcyaFFNUTNBUkIxWVVERU5zRVFmMkZBeERhQkVHYWhnTVEyUVFRMXdzUTFndEJoWWNERU40RVFhV0hBeERkQkVIR2h3TVEzQVJCNTRjREVOc0VRWW1JQXhEYUJFR3FpQU1RMlFRUTFRc1ExQXNRMHdzTFdnRURmeUFBS0FJRUlRVWdBZ1JBSUFWQkNIVWhCQ0FGUVFGeEJFQWdCQ0FDS0FJQWFpZ0NBQ0VFQ3dzZ0FDZ0NBQ0lBS0FJQUtBSWNJUVlnQUNBQklBSWdCR29nQTBFQ0lBVkJBbkViSUFaQkgzRkIrZ1ZxRVFjQUN3c0FJQUFRNHdRZ0FCQTRDeE1BSUFCQm9Jc0JOZ0lBSUFCQkJHb1E3Z3NMeHdJQkJIOGpCaUVESXdaQlFHc2tCaUFBSUFBb0FnQWlCRUY0YWlnQ0FHb2hCU0FFUVh4cUtBSUFJUVFnQXlBQ05nSUFJQU1nQURZQ0JDQURJQUUyQWdnZ0EwRUFOZ0lNSUFOQ0FEY0NFQ0FEUWdBM0FoZ2dBMElBTndJZ0lBTkNBRGNDS0NBRFFRQTJBakFnQTBFQU93RTBJQU5CQURvQU5pQUVJQUpCQUJDQkFRUi9JQU5CQVRZQ01DQUVJQU1nQlNBRlFRRkJBQ0FFS0FJQUtBSVVRUWR4UWRvR2FoRU1BQ0FGUVFBZ0F5Z0NHRUVCUmhzRkFuOGdCQ0FESUFWQkFVRUFJQVFvQWdBb0FoaEJQM0ZCbWdacUVRVUFBa0FDUUFKQUlBTW9BaVFPQWdBQ0FRc2dBeWdDRkVFQUlBTW9BaWhCQVVZZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5FYkRBSUxRUUFNQVFzZ0F5Z0NHRUVCUndSQVFRQWdBeWdDS0VVZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5GRkRRRWFDeUFES0FJUUN3c2hCaUFESkFZZ0JndW5EQUlIZndoOUlBRzhJZ1ZCLy8vLy93ZHhJZ0pGSUFDOElnWkJnSUNBL0FOR2NnUkFRd0FBZ0Q4UEN5QUdRZi8vLy84SGNTSURRWUNBZ1B3SFN5QUNRWUNBZ1B3SFMzSUVRQ0FBSUFHU0R3c2dCa0VBU0NJSUJIOGdBa0gvLy8vYkJFc0VmMEVDQlNBQ1FmLy8vL3NEU3dSL1FRSWdBa0dXQVNBQ1FSZDJheUlFZGlJSFFRRnhhMEVBSUFjZ0JIUWdBa1liQlVFQUN3c0ZRUUFMSVFRQ1FDQUZRZi8vLy84SGNTSUhRWUNBZ1B3SFNBUkFJQWRCZ0lDQS9BTnJEUUVnQUVNQUFJQS9JQUNWSUFWQmYwb2JEd1VnQjBHQWdJRDhCMnNOQVNBRFFZQ0FnUHdEUmdSQVF3QUFnRDhQQ3lBRlFYOUtJUUlnQTBHQWdJRDhBMHNFUUNBQlF3QUFBQUFnQWhzUEJVTUFBQUFBSUFHTUlBSWJEd3NBQ3dBTElBVkJnSUNBZ0FSR0JFQWdBQ0FBbEE4TElBVkJnSUNBK0FOR0lBWkJmMHB4QkVBZ0FKRVBDeUFBaXlFSkFrQUNRQUpBSUFORklBTkJnSUNBZ0FSeVFZQ0FnUHdIUm5JRVFFTUFBSUEvSUFtVklBa2dCVUVBU0JzaEFDQUlSUVJBSUFBUEN5QUVJQU5CZ0lDQWhIeHFjZ1JBSUFDTUlBQWdCRUVCUmhzUEN3d0JDeUFJQkVBQ1FBSkFBa0FnQkE0Q0JBQUJDME1BQUlDL0lRc01BUXREQUFDQVB5RUxDd1ZEQUFDQVB5RUxDeUFDUVlDQWdPZ0VTd1JBQWtBZ0EwSDQvLy83QTBrRVFDQUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU0JzUEN5QURRWWVBZ1B3RFRRUkFJQWxEQUFDQXY1SWlBRU1BcXJnL2xDSUtJQUJEY0tYc05wUWdBQ0FBbEVNQUFBQS9JQUJEcTZxcVBpQUFRd0FBZ0Q2VWs1U1RsRU03cXJnL2xKTWlBSks4UVlCZ2NiNGlEQ0VKSUF3Z0NwTWhDZ3dCQ3lBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTaHNQQ3dVZ0NVTUFBSUJMbEx3Z0F5QURRWUNBZ0FSSklnTWJJZ1JCRjNWQjZYNUJnWDhnQXh0cUlRSWdCRUgvLy84RGNTSUVRWUNBZ1B3RGNpRURJQVJCOG9qekFFa0VRRUVBSVFRRklBUkIxK2YyQWtraUJpRUVJQUlnQmtFQmMwRUJjV29oQWlBRElBTkJnSUNBZkdvZ0Joc2hBd3NnQkVFQ2RFSEFpZ0ZxS2dJQUlnNGdBNzRpQ2lBRVFRSjBRYkNLQVdvcUFnQWlESk1pRFVNQUFJQS9JQXdnQ3BLVklnK1VJZ204UVlCZ2NiNGlBQ0FBSUFDVUloQkRBQUJBUUpJZ0NTQUFraUFQSUEwZ0EwRUJkVUdBNFAvL2ZYRkJnSUNBZ0FKeVFZQ0FnQUpxSUFSQkZYUnF2aUlOSUFDVWt5QUtJQTBnREpPVElBQ1VrNVFpQ3BRZ0NTQUpsQ0lBSUFDVUlBQWdBQ0FBSUFBZ0FFTkM4Vk0rbEVOVk1tdytrcFJEQmFPTFBwS1VRNnVxcWo2U2xFTzNiZHMra3BSRG1wa1pQNUtVa2lJTWtyeEJnR0J4dmlJQWxDSU5JQW9nQUpRZ0NTQU1JQUJEQUFCQXdKSWdFSk9UbEpJaUNaSzhRWUJnY2I0aUFFTUFRSFkvbENJS0lBUkJBblJCdUlvQmFpb0NBQ0FKSUFBZ0RaT1RRMDg0ZGorVUlBQkR4aVAyT0pTVGtpSUFrcElnQXJJaURKSzhRWUJnY2I0aURTRUpJQTBnREpNZ0RwTWdDcE1oQ2dzZ0FDQUtreUFCbENBQklBVkJnR0J4dmlJQWt5QUpsSkloQVNBSklBQ1VJZ0FnQVpJaUNid2lBMEdBZ0lDWUJFb05BUUpBQWtBZ0EwR0FnSUNZQkVZRVFDQUJRenlxT0RPU0lBa2dBSk5lQkVBTUJRVkJnSUNBbUFRaEFnd0NDd0FGQWtBZ0EwSC8vLy8vQjNFaUFrR0FnTmlZQkVzTkJpQUJJQWtnQUpOZlJTQURRWUNBMkpoOFIzSUVRQ0FDUVlDQWdQZ0RTd1JBREFRRlFRQWhBZ3dDQ3dBTERBWUxDd3dCQ3lBRFFZQ0FnQVFnQWtFWGRrR0NmMnAyYWlJQ1FSZDJRZjhCY1NFRklBQWdBa0dBZ0lCOElBVkJnWDlxZFhHK2t5SUpJUUJCQUNBQ1FmLy8vd054UVlDQWdBUnlRWllCSUFWcmRpSUNheUFDSUFOQkFFZ2JJUUlnQVNBSmtyd2hBd3NnQzBNQUFJQS9JQU5CZ0lCK2NiNGlDVU1BY2pFL2xDSUtJQWxEakw2L05aUWdBU0FKSUFDVGswTVljakUvbEpJaUNaSWlBQ0FBSUFBZ0FKUWlBU0FCSUFFZ0FTQUJRMHk3TVRPVVF3N3EzYldTbEVOVnM0bzRrcFJEWVFzMnU1S1VRNnVxS2o2U2xKTWlBWlFnQVVNQUFBREFrcFVnQ1NBQUlBcVRreUlCSUFBZ0FaU1NreUFBazVNaUFMd2dBa0VYZEdvaUEwR0FnSUFFU0FSOUlBQWdBaEQxQkFVZ0E3NExsQThMSUFBZ0FKTWlBQ0FBbFE4TElBdER5dkpKY1pSRHl2SkpjWlFQQ3lBTFEyQkNvZzJVUTJCQ29nMlVDOEFCQVFKL0l3WWhBU01HUVJCcUpBWWdBTDFDSUlpblFmLy8vLzhIY1NJQ1FmekRwUDhEU1FSQUlBSkJnSURBOGdOUEJFQWdBRVFBQUFBQUFBQUFBRUVBRU5RQklRQUxCUUo4SUFBZ0FLRWdBa0gvLzcvL0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFFUS9BSkJBM0VPQXdBQkFnTUxJQUVyQXdBZ0FTc0RDRUVCRU5RQkRBTUxJQUVyQXdBZ0FTc0RDQkRUQVF3Q0N5QUJLd01BSUFFckF3aEJBUkRVQVpvTUFRc2dBU3NEQUNBQkt3TUlFTk1CbWdzaEFBc2dBU1FHSUFBTHlBRUNBbjhCZkNNR0lRRWpCa0VRYWlRR0lBQzlRaUNJcDBILy8vLy9CM0VpQWtIOHc2VC9BMGtFZkNBQ1FaN0JtdklEU1FSOFJBQUFBQUFBQVBBL0JTQUFSQUFBQUFBQUFBQUFFTk1CQ3dVQ2ZDQUFJQUNoSUFKQi8vKy8vd2RMRFFBYUFrQUNRQUpBQWtBZ0FDQUJFUHdDUVFOeERnTUFBUUlEQ3lBQkt3TUFJQUVyQXdnUTB3RU1Bd3NnQVNzREFDQUJLd01JUVFFUTFBR2FEQUlMSUFFckF3QWdBU3NEQ0JEVEFab01BUXNnQVNzREFDQUJLd01JUVFFUTFBRUxDeUVESUFFa0JpQURDOWtDQVFaL0l3WWhDQ01HUVpBQ2FpUUdJQWhCZ0FKcUlnY2dBU2dDQUNJRU5nSUFJQU5CZ0FJZ0FFRUFSeUlKR3lFRklBQWdDQ0FKR3lFQUlBVkJBRWNnQkVFQVIzRUVRQUpBUVFBaEF3TkFBa0FnQWlBRlR5SUdJQUpCSUV0eVJRMENJQUlnQlNBQ0lBWWJJZ1JySVFJZ0FDQUhJQVFROHdRaUJFRi9SZzBBSUFWQkFDQUVJQUFnQ0VZaUJodHJJUVVnQUNBQUlBUnFJQVliSVFBZ0F5QUVhaUVESUFjb0FnQWlCRUVBUnlBRlFRQkhjUTBCREFJTEMwRi9JUU5CQUNFRklBY29BZ0FoQkFzRlFRQWhBd3NnQkFSQUlBVkJBRWNnQWtFQVIzRUVRQUpBQTBBZ0FDQUVLQUlBRUo0QklnWkJBV3BCQWs4RVFDQUhJQWNvQWdCQkJHb2lCRFlDQUNBQUlBWnFJUUFnQXlBR2FpRURJQVVnQm1zaUJVRUFSeUFDUVg5cUlnSkJBRWR4RFFFTUFnc0xJQVlFUUVGL0lRTUZJQWRCQURZQ0FBc0xDd3NnQ1FSQUlBRWdCeWdDQURZQ0FBc2dDQ1FHSUFNTGFRRUNmeUFBSUFGclFRSjFJQUpKQkVBRFFDQUNRWDlxSWdKQkFuUWdBR29nQWtFQ2RDQUJhaWdDQURZQ0FDQUNEUUFMQlNBQ0JFQURRQ0FCUVFScUlRTWdBRUVFYWlFRUlBQWdBU2dDQURZQ0FDQUNRWDlxSWdJRVFDQURJUUVnQkNFQURBRUxDd3NMQzRnQkFRVi9JQUFvQWdRaUJTQUJLQUlJUmdSL0lBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmeUFCS0FJQUlBSkJBblJxSVFOQkFDRUVBMEFnQkNBR1NBUkFJQUFnQXlnQ0FEWUNBQ0FGUVFKMElBTnFJUU1nQkVFQmFpRUVJQUJCQkdvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEN5b0JBWDhnQWdSQUEwQWdBRUVFYWlFRElBQWdBVFlDQUNBQ1FYOXFJZ0lFUUNBRElRQU1BUXNMQ3d0a0FRSi9JQUFRWUNBQWFpRUFJQUlFUUFKQUlBSWhBeUFCSVFJZ0FDRUJBMzhnQWl3QUFDSUVSUTBCSUFKQkFXb2hBaUFCUVFGcUlRQWdBU0FFT2dBQUlBTkJmMm9pQXdSL0lBQWhBUXdCQlNBQUN3c2hBUXNGSUFBaEFRc2dBVUVBT2dBQUM5VUJBUVIvUWZHcEFTRUNJd1loQXlNR1FTQnFKQVlDUUFKQVFmR3BBU3dBQUNJQlJRMEFRZktwQVN3QUFFVU5BQ0FEUVFCQklCQkZHa0h4cVFFc0FBQWlBUVJBQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlJRUlBUW9BZ0JCQVNBQlFSOXhkSEkyQWdBZ0FrRUJhaUlDTEFBQUlnRU5BQXNMSUFBc0FBQWlBUVJBQWtBZ0FDRUNBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaWdDQUVFQklBRkJIM0YwY1EwQklBSkJBV29pQWl3QUFDSUJEUUFMQ3dVZ0FDRUNDd3dCQ3lBQUlBRVFxZ0loQWdzZ0F5UUdJQUlnQUdzTGxBRUJBMzhEUUNBQVFRRnFJUUVnQUN3QUFCQ3lBUVJBSUFFaEFBd0JDd3NDZndKQUFrQUNRQUpBSUFBc0FBQWlBMEVyYXc0REFRSUFBZ3RCQVNFQURBSUxRUUFoQUF3QkN5QUREQUVMSUFBaEFpQUJJZ0FzQUFBTEVJb0JCRUJCQUNFQkEwQWdBVUVLYkVFd2FpQUFMQUFBYXlFQklBQkJBV29pQUN3QUFCQ0tBUTBBQ3dWQkFDRUJDeUFCUVFBZ0FXc2dBaHNMWkFJQmZ3RitJQUFvQWlnaEFTQUFRZ0FnQUNnQ0FFR0FBWEVFZjBFQ1FRRWdBQ2dDRkNBQUtBSWNTeHNGUVFFTElBRkJBM0ZCcGdOcUVSUUFJZ0pDQUZrRVFDQUFLQUlVSUFBb0FoeHJyQ0FDSUFBb0FnZ2dBQ2dDQkd1c2ZYd2hBZ3NnQWd1QkF3RUhmeU1HSVFVakJrR1FDR29rQmlBRlFZQUlhaUlJSUFFb0FnQWlCallDQUNBRFFZQUNJQUJCQUVjaUNSc2hCeUFBSUFVaUNpQUpHeUVESUFkQkFFY2dCaUlGUVFCSGNRUkFBa0JCQUNFQUEwQUNRQ0FDUVFKMklnWWdCMDhpQ3lBQ1FZTUJTM0pGRFFJZ0FpQUhJQVlnQ3hzaUJXc2hBaUFESUFnZ0JTQUVFUDRDSWdWQmYwWU5BQ0FIUVFBZ0JTQURJQXBHSWdZYmF5RUhJQU1nQlVFQ2RDQURhaUFHR3lFRElBQWdCV29oQUNBSUtBSUFJZ1ZCQUVjZ0IwRUFSM0VOQVF3Q0N3dEJmeUVBUVFBaEJ5QUlLQUlBSVFVTEJVRUFJUUFMSUFVRVFDQUhRUUJISUFKQkFFZHhCRUFDUUFOQUlBTWdCU0FDSUFRUTF3RWlCa0VDYWtFRFR3UkFJQWdnQmlBSUtBSUFhaUlGTmdJQUlBTkJCR29oQXlBQVFRRnFJUUFnQjBGL2FpSUhRUUJISUFJZ0Jtc2lBa0VBUjNFTkFRd0NDd3NDUUFKQUFrQWdCa0YvYXc0Q0FBRUNDeUFHSVFBTUFnc2dDRUVBTmdJQURBRUxJQVJCQURZQ0FBc0xDeUFKQkVBZ0FTQUlLQUlBTmdJQUN5QUtKQVlnQUF1SUFRRUZmeUFBS0FJRUlnVWdBU2dDQ0VZRWZ5QUFLQUlJSWdZZ0FTZ0NCRVlFZnlBQUtBSUFJUUFEZnlBQ0lBVklCSDhnQVNnQ0FDQUNRUU4wYWlFRFFRQWhCQU5BSUFRZ0JrZ0VRQ0FBSUFNckF3QTVBd0FnQlVFRGRDQURhaUVESUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFKQkFXb2hBZ3dCQlVFQUN3c0ZRWDhMQlVGL0N3dDdBUUYvQWtBZ0FDZ0NURUVBVGdSQUFrQWdBQ3dBUzBFS1JnMEFJQUFvQWhRaUFTQUFLQUlRVHcwQUlBQWdBVUVCYWpZQ0ZDQUJRUW82QUFBTUFnc2dBQkNaQXd3QkN5QUFMQUJMUVFwSEJFQWdBQ2dDRkNJQklBQW9BaEJKQkVBZ0FDQUJRUUZxTmdJVUlBRkJDam9BQUF3Q0N3c2dBQkNaQXdzTHhRTUJCSDhqQmlFR0l3WkJFR29rQmdKQUlBQUVRQ0FDUVFOTEJFQUNRQ0FDSVFNZ0FTZ0NBQ0VFQTBBQ1FDQUVLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FBSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRElBVnJJUU1nQUNBRmFnVWdBQ0FGT2dBQUlBTkJmMm9oQXlBQktBSUFJUVFnQUVFQmFnc2hBQ0FCSUFSQkJHb2lCRFlDQUNBRFFRTkxEUUVnQXlFRURBSUxDeUFBUVFBNkFBQWdBVUVBTmdJQUlBSWdBMnNoQWd3REN3VWdBaUVFQ3lBRUJFQWdBQ0VESUFFb0FnQWhBQUpBQTBBQ1FDQUFLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FHSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRUlBVkpEUU1nQXlBQUtBSUFFSjRCR2lBRElBVnFJUU1nQkNBRmF3VWdBeUFGT2dBQUlBTkJBV29oQXlBQktBSUFJUUFnQkVGL2Fnc2hCQ0FCSUFCQkJHb2lBRFlDQUNBRURRRU1CUXNMSUFOQkFEb0FBQ0FCUVFBMkFnQWdBaUFFYXlFQ0RBTUxJQUlnQkdzaEFnc0ZJQUVvQWdBaUFDZ0NBQ0lCQkVCQkFDRUNBMEFnQVVIL0FFc0VRQ0FHSUFFUW5nRWlBVUYvUmdSQVFYOGhBZ3dGQ3dWQkFTRUJDeUFCSUFKcUlRSWdBRUVFYWlJQUtBSUFJZ0VOQUFzRlFRQWhBZ3NMQ3lBR0pBWWdBZ3RhQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFDS0FJQU5nSUFRUUJCQUNBQklBTVFxUUVpQkVFQVNBUi9RWDhGSUFBZ0JFRUJhaUlFRUVRaUFEWUNBQ0FBQkg4Z0FDQUVJQUVnQWhDcEFRVkJmd3NMSVFVZ0F5UUdJQVVMbXdFQkFuOGdBVUgvQUVvRVFDQUFRd0FBQUgrVUlnQkRBQUFBZjVRZ0FDQUJRZjRCU2lJQ0d5RUFJQUZCZ241cUlnTkIvd0FnQTBIL0FFZ2JJQUZCZ1g5cUlBSWJJUUVGSUFGQmduOUlCRUFnQUVNQUFJQUFsQ0lBUXdBQWdBQ1VJQUFnQVVHRWZrZ2lBaHNoQUNBQlFmd0JhaUlEUVlKL0lBTkJnbjlLR3lBQlFmNEFhaUFDR3lFQkN3c2dBQ0FCUVJkMFFZQ0FnUHdEYXI2VUM0TUdBZ3AvQW4wakJpRUpJd1pCMEE5cUpBWWdBVUgwQTBvRVFFRUFJUUFGQWtBQ1FBSkFBa0FnQVE0Q0FBRUNDMEVBSVFBTUFnc2dBRU1BQUlBL0lBQXFBZ0NWT0FJQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQW5RZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUXdBQUFBQWhEU0FDSUFac1FRSjBJQUJxSWdVaEIwRi9JUVFnQmlFREEwQWdBU0FEUndSQUlBMGdCeW9DQUlzaURsMGhDQ0FPSUEwZ0NCc2hEU0FDUVFKMElBZHFJUWNnQXlBRUlBZ2JJUVFnQTBFQmFpRUREQUVMQ3lBRVFYOUdJQTFELytiYkxsOXlCRUJCQUNFQURBTUZJQVJCQW5RZ0NXb2lBeWdDQUNFSElBTWdCa0VDZENBSmFpSURLQUlBTmdJQUlBTWdCellDQUVFQUlRY2dCU0VESUFJZ0JHeEJBblFnQUdvaEJBTkFJQUVnQjBjRVFDQUVLQUlBSVFnZ0JDQURLQUlBTmdJQUlBTWdDRFlDQUNBSFFRRnFJUWNnQTBFRWFpRURJQVJCQkdvaEJBd0JDd3NnQlNvQ0FDRU5RUUVoQkNBRklRTURRQ0FCSUFSSEJFQWdBeUFEUVFScUlnTXFBZ0FnRFpVNEFnQWdCRUVCYWlFRURBRUxDeUFLUXdBQWdEOGdEWlU0QWdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRUNkQ0FBYWlJREtnSUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkJHb2lBeW9DQUNBTklBY3FBZ0NVa3pnQ0FDQUhRUVJxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lvQ0FKU01PQUlBQ3lBSVFRRnFJUWdnQWtFQ2RDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRUNkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFKMElBQnFJUVlnQTBFQ2RDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNb0FnQWhCeUFESUFZb0FnQTJBZ0FnQmlBSE5nSUFJQVJCQVdvaEJDQUNRUUowSUFacUlRWWdBa0VDZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTC9RRUJCWDlCOGFrQklRRWpCaUVESXdaQklHb2tCaUFEUWdBM0F3QWdBMElBTndNSUlBTkNBRGNERUNBRFFnQTNBeGhCOGFrQkxBQUFJZ0lFZndKL1FmS3BBU3dBQUVVRVFDQUFJUUVEUUNBQlFRRnFJUVFnQWlBQkxBQUFSZ1JBSUFRaEFRd0JDd3NnQVNBQWF3d0JDd05BSUFKQi93RnhJZ0pCQlhaQkFuUWdBMm9pQkNBRUtBSUFRUUVnQWtFZmNYUnlOZ0lBSUFGQkFXb2lBU3dBQUNJQ0RRQUxJQUFzQUFBaUFnUkFBa0FnQUNFQkEwQWdBa0gvQVhFaUJFRUZka0VDZENBRGFpZ0NBRUVCSUFSQkgzRjBjVVVOQVNBQlFRRnFJZ0VzQUFBaUFnMEFDd3NGSUFBaEFRc2dBU0FBYXdzRlFRQUxJUVVnQXlRR0lBVUxrd1lDQ244Q2ZDTUdJUWtqQmtIUUQyb2tCaUFCUWZRRFNnUkFRUUFoQUFVQ1FBSkFBa0FDUUNBQkRnSUFBUUlMUVFBaEFBd0NDeUFBUkFBQUFBQUFBUEEvSUFBckF3Q2pPUU1BREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBM1FnQUdvaURDRUtBMEFnQmlBQlNBUkFSQUFBQUFBQUFBQUFJUTBnQWlBR2JFRURkQ0FBYWlJRklRZEJmeUVFSUFZaEF3TkFJQUVnQTBjRVFDQU5JQWNyQXdDWklnNWpJUWdnRGlBTklBZ2JJUTBnQWtFRGRDQUhhaUVISUFNZ0JDQUlHeUVFSUFOQkFXb2hBd3dCQ3dzZ0JFRi9SaUFOUkx1OTE5bmZmTnM5WlhJRVFFRUFJUUFNQXdVZ0JFRUNkQ0FKYWlJREtBSUFJUWNnQXlBR1FRSjBJQWxxSWdNb0FnQTJBZ0FnQXlBSE5nSUFRUUFoQnlBRklRTWdBaUFFYkVFRGRDQUFhaUVFQTBBZ0FTQUhSd1JBSUFRckF3QWhEU0FFSUFNckF3QTVBd0FnQXlBTk9RTUFJQWRCQVdvaEJ5QURRUWhxSVFNZ0JFRUlhaUVFREFFTEN5QUZLd01BSVExQkFTRUVJQVVoQXdOQUlBRWdCRWNFUUNBRElBTkJDR29pQXlzREFDQU5vemtEQUNBRVFRRnFJUVFNQVFzTElBcEVBQUFBQUFBQThEOGdEYU01QXdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRURkQ0FBYWlJREt3TUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkNHb2lBeXNEQUNBTklBY3JBd0Npb1RrREFDQUhRUWhxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lzREFLS2FPUU1BQ3lBSVFRRnFJUWdnQWtFRGRDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRURkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFOMElBQnFJUVlnQTBFRGRDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNckF3QWhEU0FESUFZckF3QTVBd0FnQmlBTk9RTUFJQVJCQVdvaEJDQUNRUU4wSUFacUlRWWdBa0VEZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTGxBSUJBWDhDUUFKQUlBQWdBWE5CQTNFTkFBSkFJQUpCQUVjaUF5QUJRUU54UVFCSGNRUkFBMEFnQUNBQkxBQUFJZ002QUFBZ0EwVU5BaUFBUVFGcUlRQWdBa0YvYWlJQ1FRQkhJZ01nQVVFQmFpSUJRUU54UVFCSGNRMEFDd3NnQXdSQUlBRXNBQUFFUUNBQ1FRTkxCRUFEUUNBQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBSUFNMkFnQWdBVUVFYWlFQklBQkJCR29oQUNBQ1FYeHFJZ0pCQTBzTkFRc0xDd3dEQ3dWQkFDRUNDd3NNQVFzZ0FnUi9JQUVoQXlBQ0lRRURmeUFBSUFNc0FBQWlBam9BQUNBQ1JRUkFJQUVoQWd3REN5QURRUUZxSVFNZ0FFRUJhaUVBSUFGQmYyb2lBUTBBUVFBTEJVRUFDeUVDQ3lBQVFRQWdBaEJGR2d0QUFRSi9JQUlFUUNBQklRTWdBQ0VCQTBBZ0EwRUVhaUVBSUFGQkJHb2hCQ0FCSUFNb0FnQTJBZ0FnQWtGL2FpSUNCRUFnQUNFRElBUWhBUXdCQ3dzTEN3TUFBUXNzQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSWdBVFlDQkVIYkFDQUNFRElRbWdNYUlBSWtCZ3ZXQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRUUFRaGdNRVFBTkFRUUVnQUhSQi8vLy8vd2R4QkVBZ0FFRUNkQ0FBUVlhVEF4Q0ZBellDQUFzZ0FFRUJhaUlBUVFaSERRQUxCUUpBQTBBZ0JFRUJJQUIwUWYvLy8vOEhjU0lEUlVFQWNRUi9JQUJCQW5Rb0FnQUZJQUJCaHBNRFFhZlZBeUFER3hDRkF3c2lBMEVBUjJvaEJDQUFRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRUVpIRFFBTEFrQUNRQUpBSUFSQi8vLy8vd2R4RGdJQUFRSUxRY3pFQXlFQkRBSUxJQUlvQWdCQjhJY0JSZ1JBUVl5SUFTRUJDd3NMQ3lBQ0pBWWdBUXVyQXdJSmZ3SjhJQUFvQWdRaUJVRUJTQ0FBS0FJSUlnWkJBVWh5Qkg5QmZ3VWdBU2dDQkNBRlJnUi9JQUVvQWdnZ0JVWUVmeUFDS0FJRUlBVkdCSDhnQWlnQ0NDQUdSZ1IvSUFNb0FnUWdCVVlFZnlBQ0tBSUFJUUlEUUFKQUlBUWdCVTROQUNBREtBSUFJQVJCQTNScUt3TUFJZzFFdkluWWw3TFNuRHhqRFFCRUFBQUFBQUFBOEQ4Z0RabWZveUVPSUFRZ0JXd2hERUVBSVFjZ0FpRUlBMEFnQmlBSFJ3UkFRUUFoQ1NBQktBSUFJQXhCQTNScUlRcEVBQUFBQUFBQUFBQWhEU0FBS0FJQUlBZEJBM1JxSVFzRFFDQUZJQWxIQkVBZ0RTQUtLd01BSUFzckF3Q2lvQ0VOSUFsQkFXb2hDU0FLUVFocUlRb2dCa0VEZENBTGFpRUxEQUVMQ3lBSUlBNGdEYUk1QXdBZ0IwRUJhaUVISUFoQkNHb2hDQXdCQ3dzZ0JFRUJhaUVFSUFaQkEzUWdBbW9oQWd3QkN3c2dBaUVBQTM4Z0JDQUZTQVIvSUFNb0FnQWdCRUVEZEdwRUFBQUFBQUFBQUFBNUF3QkJBQ0VCQTBBZ0FTQUdTQVJBSUFCRUFBQUFBQUFBQUFBNUF3QWdBVUVCYWlFQklBQkJDR29oQUF3QkN3c2dCRUVCYWlFRURBRUZRUUFMQ3dWQmZ3c0ZRWDhMQlVGL0N3VkJmd3NGUVg4TEN3dU9BUUVDZndKQUFrQURRQ0FDUWJEYUFHb3RBQUFnQUVjRVFDQUNRUUZxSWdKQjF3QkhEUUZCMXdBaEFnd0NDd3NnQWcwQVFaRGJBQ0VBREFFTFFaRGJBQ0VBQTBBZ0FDRURBMEFnQTBFQmFpRUFJQU1zQUFBRVFDQUFJUU1NQVFzTElBSkJmMm9pQWcwQUN3c2dBU2dDRkNJQkJIOGdBU2dDQUNBQktBSUVJQUFRbXdVRlFRQUxJZ0VnQUNBQkd3czFBQ0FCQkg4Q2Z3TkFJQUFnQVVGL2FpSUJhaTBBQUVFdlJ3UkFJQUVFUUF3Q0JVRUFEQU1MQUFzTElBQWdBV29MQlVFQUN3dXNBUUVEZjBHY3VBRWhBaUFBUVp5NEFYTkJBM0ZGQkVCQm5MZ0JLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUFOL0lBQkJCR29oQVNBQUlBTTJBZ0FnQWtFRWFpSUNLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjUVIvSUFFRklBRWhBQXdCQ3dzaEFBc0xJQUFnQWl3QUFDSUJPZ0FBSUFFRVFBTkFJQUJCQVdvaUFDQUNRUUZxSWdJc0FBQWlBVG9BQUNBQkRRQUxDd3MxQVFKL0lBSWdBQ2dDRUNBQUtBSVVJZ1JySWdNZ0F5QUNTeHNoQXlBRUlBRWdBeEJNR2lBQUlBQW9BaFFnQTJvMkFoUWdBZ3VVQ1FJWWZ3ZDhJd1loR0NNR1FSQnFKQVlnR0NFTUlBQW9BZ1FpQmlBQUtBSUlSeUFHUVFKSWNnUi9RWDhGSUFFb0FnUWdCa1lFZnlBR0VPY0NJZzBFZndKL0lBd2dCa0YvYWlJUk5nSUVJQXdnRFNnQ0FFRUlhallDQUNBQUlBRWdEQkNIQzBFQVNBUkFJQTBRendGQmZ3d0JDeUFOS0FJQUlnaEVBQUFBQUFBQUFBQTVBd0FnRVNFREEwQWdBMEVBU2dSQUlBTWhCd05BSUFkQkFFb0VRQ0FIUVFOMElBaHFLd01BbVNBQktBSUFJZ1VnQjBGL2FpSUNRUU4wYWlzREFKa2dCMEVEZENBRmFpc0RBSm1nUkkzdHRhRDN4ckErb21RRVFDQUNJUWNNQWdzTEN5QURRWDlxSVFrZ0F5QUhSd1JBQWtBZ0EwRURkQ0FJYWlFU0lBZEJBV3BCQTNRZ0NHb2hFMEVBSVFVRFFDQUZRZU1BU3cwQklBVkJBV29oQlNBU0t3TUFJaHNnRzZJaUdpQUJLQUlBSWc0Z0NVRURkR29pRkNzREFDQURRUU4wSUE1cUloVXJBd0FpRzZGRUFBQUFBQUFBNEQraUloOGdINktnbnlFY0lCTXJBd0FoSFNBSElnSkJBM1FnRG1vckF3QWdHNkVnR2lBZklCeWFJQndnSDBRQUFBQUFBQUFBQUdNYm9LT2dJUnNEUUNBQ0lBTklCRUFnRzVraUdpQWRtV1lFUUNBYVJMeUoySmV5MHB3OFpBUjhSQUFBQUFBQUFQQS9JQjJhSUJ1aklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaUdpRWVJQndnR3FJRlJBQUFBQUFBQVBBL0lSNUVBQUFBQUFBQUFBQUxJUm9GUkFBQUFBQUFBUEEvSUJ1YUlCMmpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWhHaUFjSUJxaUlSNExJQUpCQTNRZ0Rtb2lEeXNEQUNJY0lBSkJBV29pQ2tFRGRDQU9haUlFS3dNQUloK2hJU0FnRHlBY0lCb2dHaUFnb2lBZVJBQUFBQUFBQUFCQW9pQUtRUU4wSUFocUloQXJBd0Npb0tJaUhLRTVBd0FnQkNBZklCeWdPUU1BSUFKQkEzUWdDR29oQkNBQ0lBZEtCRUFnQkNBZUlBUXJBd0NpSUIwZ0dxS2hPUU1BQ3lBUUlCQXJBd0FpSENBYUlCNGdJS0lnR2tRQUFBQUFBQUFBUUtJZ0hLS2hvcUE1QXdBZ0FpQUdiQ0VXSUFZZ0Ntd2hGMEVBSVFzRFFDQUdJQXRIQkVBZ0FDZ0NBQ0lQSUFzZ0ZtcEJBM1JxSWdRckF3QWhHeUFFSUI0Z0c2SWdHaUFMSUJkcVFRTjBJQTlxSWdRckF3QWlIYUtoT1FNQUlBUWdHaUFib2lBZUlCMmlvRGtEQUNBTFFRRnFJUXNNQVFzTElBSWdDVWdFUUNBUUt3TUFJUnNnQWtFQ2FrRURkQ0FJYWlJQ0t3TUFJUjBnQWlBZUlCMmlPUU1BSUJvZ0hhS2FJUjBMSUFvaEFnd0JDd3NnRWlzREFKa2dGQ3NEQUprZ0ZTc0RBSm1nUkkzdHRhRDN4ckErb21RTkFBc0xDeUFKSVFNTUFRc0xRUUFoQXdOQUlBTWdFVWNFUUNBQktBSUFJZ2tnQTBFRGRHb2lCU3NEQUNJZElSb2dBeUlDUVFGcUlnY2hCQU5BSUFRZ0JrZ0VRQ0FFUVFOMElBbHFLd01BSWhzZ0dtUWhDaUFiSUJvZ0Noc2hHaUFFSUFJZ0Noc2hBaUFFUVFGcUlRUU1BUXNMSUFKQkEzUWdDV29nSFRrREFDQUZJQm81QXdBZ0F5QUdiRUVEZENBQUtBSUFJZ05xSVFVZ0FpQUdiRUVEZENBRGFpRUNRUUFoQXdOQUlBTWdCa2NFUUNBQ0t3TUFJUnNnQWlBRkt3TUFPUU1BSUFVZ0d6a0RBQ0FGUVFocUlRVWdBa0VJYWlFQ0lBTkJBV29oQXd3QkN3c2dCeUVEREFFTEN5QU5FTThCUVFBTEJVRi9Dd1ZCZndzTElSa2dEQ1FHSUJrTExBQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FLZEJCM0ZCTUhJNkFBQWdBRUlEaUNJQVVFVU5BQXNMSUFFTE5BQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FpQUFwMEVQY1VHZzJnQnFMUUFBY2pvQUFDQUFRZ1NJSWdCUVJRMEFDd3NnQVF1aEFnSUpmd0Y4SUFBb0FnUWhDU0FBS0FJSUlnSWdBU2dDQkVZRVFDQUJLQUlJSUFKR0JFQUNRQ0FCS0FJQUlnb2hCZ05BSUFNZ0FrNEVRRUVBSVFBTUFndEJBQ0VFSUFZaEFRTkFJQUlnQkVjRVFDQUVJQU5KQkVBZ0FTQURJQUlnQkd4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCU0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhCeUFEUVFOMElBVnFJUWdnQkVFRGRDQUZhaUVGUkFBQUFBQUFBQUFBSVFzRFFDQUhJQWxPRFFFZ0FTQUxJQWdyQXdBZ0JTc0RBS0tnSWdzNUF3QWdCMEVCYWlFSElBSkJBM1FnQ0dvaENDQUNRUU4wSUFWcUlRVU1BQUFMQUFzTElBUkJBV29oQkNBQlFRaHFJUUVNQVFzTElBTkJBV29oQXlBQ1FRTjBJQVpxSVFZTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdldBZ0VHZnlNR0lRTWpCa0hnQVdva0JpQURRYUFCYWlJRVFnQTNBd0FnQkVJQU53TUlJQVJDQURjREVDQUVRZ0EzQXhnZ0JFSUFOd01nSUFOQjBBRnFJZ1VnQWlnQ0FEWUNBRUVBSUFFZ0JTQURRZEFBYWlJQ0lBUVFwQUpCQUVnRWYwRi9CU0FBS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUFvQWdBaEJpQUFMQUJLUVFGSUJFQWdBQ0FHUVY5eE5nSUFDeUFBS0FJd0JFQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFRklBQW9BaXdoQnlBQUlBTTJBaXdnQUNBRE5nSWNJQUFnQXpZQ0ZDQUFRZEFBTmdJd0lBQWdBMEhRQUdvMkFoQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFZ0J3UkFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQlFYOGdBQ2dDRkJzaEFTQUFJQWMyQWl3Z0FFRUFOZ0l3SUFCQkFEWUNFQ0FBUVFBMkFod2dBRUVBTmdJVUN3c2dBQ0FBS0FJQUlnQWdCa0VnY1hJMkFnQkJmeUFCSUFCQklIRWJDeUVJSUFNa0JpQUlDeWtDQVg4QmZDQUJLQUlBUVFkcVFYaHhJZ0lyQXdBaEF5QUJJQUpCQ0dvMkFnQWdBQ0FET1FNQUM4d1hBeFIvQTM0QmZDTUdJUlFqQmtHd0JHb2tCaUFVUVpnRWFpSU1RUUEyQWdBZ0FiMGlHa0lBVXdSL0lBR2FJaDBoQVVHaC9nSWhFaUFkdlNFYVFRRUZRYVQrQWtHbi9nSkJvdjRDSUFSQkFYRWJJQVJCZ0JCeEd5RVNJQVJCZ1JCeFFRQkhDeUVUSUJSQklHb2hCaUFVSWc0aEVTQU9RWndFYWlJS1FReHFJUThnR2tLQWdJQ0FnSUNBK1A4QWcwS0FnSUNBZ0lDQStQOEFVUVIvSUFCQklDQUNJQk5CQTJvaUF5QUVRZi8vZTNFUWRTQUFJQklnRXhCeUlBQkJ2UDRDUWNEK0FpQUZRU0J4UVFCSElnVWJRYlQrQWtHNC9nSWdCUnNnQVNBQllodEJBeEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXdVQ2Z5QUJJQXdRaWdORUFBQUFBQUFBQUVDaUlnRkVBQUFBQUFBQUFBQmlJZ2NFUUNBTUlBd29BZ0JCZjJvMkFnQUxJQVZCSUhJaUMwSGhBRVlFUUNBU1FRbHFJQklnQlVFZ2NTSUpHeUVJUVF3Z0Eyc2lCMFVnQTBFTFMzSkZCRUJFQUFBQUFBQUFJRUFoSFFOQUlCMUVBQUFBQUFBQU1FQ2lJUjBnQjBGL2FpSUhEUUFMSUFnc0FBQkJMVVlFZkNBZElBR2FJQjJob0pvRklBRWdIYUFnSGFFTElRRUxJQTlCQUNBTUtBSUFJZ1pySUFZZ0JrRUFTQnVzSUE4UXZnRWlCMFlFUUNBS1FRdHFJZ2RCTURvQUFBc2dFMEVDY2lFS0lBZEJmMm9nQmtFZmRVRUNjVUVyYWpvQUFDQUhRWDVxSWdjZ0JVRVBham9BQUNBRFFRRklJUXdnQkVFSWNVVWhEU0FPSVFVRFFDQUZJQWtnQVJCeklnWkJvTm9BYWkwQUFISTZBQUFnQVNBR3Q2RkVBQUFBQUFBQU1FQ2lJUUVnQlVFQmFpSUdJQkZyUVFGR0JIOGdEU0FNSUFGRUFBQUFBQUFBQUFCaGNYRUVmeUFHQlNBR1FTNDZBQUFnQlVFQ2Fnc0ZJQVlMSVFVZ0FVUUFBQUFBQUFBQUFHSU5BQXNDZnlBRFJTQUZRWDRnRVd0cUlBTk9ja1VFUUNBUElBTkJBbXBxSUFkcklRc2dCd3dCQ3lBRklBOGdFV3NnQjJ0cUlRc2dCd3NoQmlBQVFTQWdBaUFLSUF0cUlnTWdCQkIxSUFBZ0NDQUtFSElnQUVFd0lBSWdBeUFFUVlDQUJITVFkU0FBSUE0Z0JTQVJheUlGRUhJZ0FFRXdJQXNnQlNBUElBWnJJZ1pxYTBFQVFRQVFkU0FBSUFjZ0JoQnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd3dCQ3lBSEJFQWdEQ0FNS0FJQVFXUnFJZ2cyQWdBZ0FVUUFBQUFBQUFDd1FhSWhBUVVnRENnQ0FDRUlDeUFHSUFaQm9BSnFJQWhCQUVnYklnb2hCZ05BSUFZZ0FSQ0tCU0lITmdJQUlBWkJCR29oQmlBQklBZTRvVVFBQUFBQVpjM05RYUlpQVVRQUFBQUFBQUFBQUdJTkFBc2dDRUVBU2dSQUlBb2hCd05BSUFoQkhTQUlRUjFJR3lFTklBWkJmR29pQ0NBSFR3UkFJQTJ0SVJ0QkFDRUpBMEFnQ2EwZ0NDZ0NBSzBnRzRaOEloeENnSlRyM0FNUTlnRWhHaUFJSUJ3Z0drS0FsT3ZjQTM1OVBnSUFJQnFuSVFrZ0NFRjhhaUlJSUFkUERRQUxJQWtFUUNBSFFYeHFJZ2NnQ1RZQ0FBc0xJQVlnQjBzRVFBSkFBMzhnQmtGOGFpSUlLQUlBRFFFZ0NDQUhTd1IvSUFnaEJnd0JCU0FJQ3dzaEJnc0xJQXdnRENnQ0FDQU5heUlJTmdJQUlBaEJBRW9OQUFzRklBb2hCd3RCQmlBRElBTkJBRWdiSVEwZ0NFRUFTQVJBSUExQkdXcEJDUkE1UVFGcUlSQWdDMEhtQUVZaEZTQUdJUU1EUUVFQUlBaHJJZ1pCQ1NBR1FRbElHeUVKSUFvZ0J5QURTUVIvUVFFZ0NYUkJmMm9oRmtHQWxPdmNBeUFKZGlFWFFRQWhDQ0FISVFZRFFDQUdJQWdnQmlnQ0FDSVlJQWwyYWpZQ0FDQVhJQllnR0hGc0lRZ2dCa0VFYWlJR0lBTkpEUUFMSUFjZ0IwRUVhaUFIS0FJQUd5RVpJQWdFZnlBRElBZzJBZ0FnQTBFRWFnVWdBd3NoQmlBWkJTQURJUVlnQnlBSFFRUnFJQWNvQWdBYkN5SURJQlViSWdjZ0VFRUNkR29nQmlBR0lBZHJRUUoxSUJCS0d5RUlJQXdnQ1NBTUtBSUFhaUlHTmdJQUlBWkJBRWdFUUNBRElRY2dDQ0VESUFZaENBd0JDd3NGSUFjaEF5QUdJUWdMSUFvaERDQURJQWhKQkVBZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEJnTkFJQWRCQVdvaEJ5QUtJQVpCQ213aUJrOE5BQXNMQlVFQUlRY0xJQTFCQUNBSElBdEI1Z0JHRzJzZ0MwSG5BRVlpRlNBTlFRQkhJaFp4UVI5MFFSOTFhaUlHSUFnZ0RHdEJBblZCQ1d4QmQycElCSDhnQmtHQXlBQnFJZ1pCQ1JBNUlRa2dCaUFKUVFsc2F5SUdRUWhJQkVCQkNpRUxBMEFnQmtFQmFpRUtJQXRCQ213aEN5QUdRUWRJQkVBZ0NpRUdEQUVMQ3dWQkNpRUxDeUFKUVFKMElBeHFRWVJnYWlJR0tBSUFJZ2tnQ3hCSUlSQWdDQ0FHUVFScVJpSVhJQWtnQ3lBUWJHc2lDa1Z4UlFSQVJBRUFBQUFBQUVCRFJBQUFBQUFBQUVCRElCQkJBWEViSVFGRUFBQUFBQUFBNEQ5RUFBQUFBQUFBOEQ5RUFBQUFBQUFBK0Q4Z0Z5QUtJQXRCQVhZaUVFWnhHeUFLSUJCSkd5RWRJQk1FUUNBZG1pQWRJQklzQUFCQkxVWWlFQnNoSFNBQm1pQUJJQkFiSVFFTElBWWdDU0FLYXlJS05nSUFJQUVnSGFBZ0FXSUVRQ0FHSUFvZ0Myb2lCellDQUNBSFFmK1Q2OXdEU3dSQUEwQWdCa0VBTmdJQUlBWkJmR29pQmlBRFNRUkFJQU5CZkdvaUEwRUFOZ0lBQ3lBR0lBWW9BZ0JCQVdvaUJ6WUNBQ0FIUWYrVDY5d0RTdzBBQ3dzZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEN3TkFJQWRCQVdvaEJ5QUtJQXRCQ213aUMwOE5BQXNMQ3dzZ0J5RUpJQVpCQkdvaUJpQUlJQWdnQmtzYklRWWdBd1VnQnlFSklBZ2hCaUFEQ3lFS0lBWWdDa3NFZndKL0lBWWhBd04vSUFOQmZHb2lCaWdDQUFSQUlBTWhCa0VCREFJTElBWWdDa3NFZnlBR0lRTU1BUVZCQUFzTEN3VkJBQXNoQnlBVkJIOGdGa0VCY3lBTmFpSURJQWxLSUFsQmUwcHhCSDhnQTBGL2FpQUpheUVJSUFWQmYyb0ZJQU5CZjJvaENDQUZRWDVxQ3lFRklBUkJDSEVFZnlBSUJTQUhCRUFnQmtGOGFpZ0NBQ0lOQkVBZ0RVRUtFRTRFUUVFQUlRTUZRUUFoQTBFS0lRc0RRQ0FEUVFGcUlRTWdEU0FMUVFwc0lnc1FUa1VOQUFzTEJVRUpJUU1MQlVFSklRTUxJQVlnREd0QkFuVkJDV3hCZDJvaERTQUZRU0J5UWVZQVJnUi9JQWdnRFNBRGF5SURRUUFnQTBFQVNoc2lBeUFJSUFOSUd3VWdDQ0FKSUExcUlBTnJJZ05CQUNBRFFRQktHeUlESUFnZ0EwZ2JDd3NGSUEwTElRTkJBQ0FKYXlFSUlBQkJJQ0FDSUFWQklISkI1Z0JHSWhBRWYwRUFJUWdnQ1VFQUlBbEJBRW9iQlNBUElBZ2dDU0FKUVFCSUc2d2dEeEMrQVNJTGEwRUNTQVJBQTBBZ0MwRi9haUlMUVRBNkFBQWdEeUFMYTBFQ1NBMEFDd3NnQzBGL2FpQUpRUjkxUVFKeFFTdHFPZ0FBSUF0QmZtb2lDQ0FGT2dBQUlBOGdDR3NMSUFNZ0UwRUJhbXBCQVNBRVFRTjJRUUZ4SUFOQkFFY2lDeHRxYWlJTklBUVFkU0FBSUJJZ0V4QnlJQUJCTUNBQ0lBMGdCRUdBZ0FSekVIVWdFQVJBSUE1QkNXb2lDU0VQSUE1QkNHb2hDQ0FNSUFvZ0NpQU1TeHNpQ2lFSEEwQWdCeWdDQUswZ0NSQytBU0VGSUFjZ0NrWUVRQ0FGSUFsR0JFQWdDRUV3T2dBQUlBZ2hCUXNGSUFVZ0Rrc0VRQ0FPUVRBZ0JTQVJheEJGR2dOQUlBVkJmMm9pQlNBT1N3MEFDd3NMSUFBZ0JTQVBJQVZyRUhJZ0IwRUVhaUlGSUF4TkJFQWdCU0VIREFFTEN5QUVRUWh4UlNBTFFRRnpjVVVFUUNBQVFjVCtBa0VCRUhJTElBQkJNQ0FGSUFaSklBTkJBRXB4Qkg4RGZ5QUZLQUlBclNBSkVMNEJJZ2NnRGtzRVFDQU9RVEFnQnlBUmF4QkZHZ05BSUFkQmYyb2lCeUFPU3cwQUN3c2dBQ0FISUFOQkNTQURRUWxJR3hCeUlBTkJkMm9oQnlBRlFRUnFJZ1VnQmtrZ0EwRUpTbkVFZnlBSElRTU1BUVVnQndzTEJTQURDMEVKYWtFSlFRQVFkUVVnQUVFd0lBb2dCaUFLUVFScUlBY2JJZ3RKSUFOQmYwcHhCSDhnQkVFSWNVVWhFaUFPUVFscUlnd2hFMEVBSUJGcklSRWdEa0VJYWlFSklBTWhCU0FLSVFZRGZ5QU1JQVlvQWdDdElBd1F2Z0VpQTBZRVFDQUpRVEE2QUFBZ0NTRURDd0pBSUFZZ0NrWUVRQ0FEUVFGcUlRY2dBQ0FEUVFFUWNpQVNJQVZCQVVoeEJFQWdCeUVEREFJTElBQkJ4UDRDUVFFUWNpQUhJUU1GSUFNZ0RrME5BU0FPUVRBZ0F5QVJhaEJGR2dOQUlBTkJmMm9pQXlBT1N3MEFDd3NMSUFBZ0F5QVRJQU5ySWdNZ0JTQUZJQU5LR3hCeUlBWkJCR29pQmlBTFNTQUZJQU5ySWdWQmYwcHhEUUFnQlFzRklBTUxRUkpxUVJKQkFCQjFJQUFnQ0NBUElBaHJFSElMSUFCQklDQUNJQTBnQkVHQXdBQnpFSFVnRFFzTElRQWdGQ1FHSUFJZ0FDQUFJQUpJR3dzMEFDQUFJQUJpQkg5QkFBVWdBRVFBQUFBQUFBRHdRV1lFZjBFQUJTQUFSQUFBQUFBQUFQQy9aUVIvUVFBRklBQ3JDd3NMQ3lZQkFYOGpCaUVDSXdaQkVHb2tCaUFDSUFFMkFnQWdBRUgyL1FJZ0FoQ2xBaG9nQWlRR0MxWUJBMzhnQUNnQ1ZDSURRUUFnQWtHQUFtb2lCUkNtQWlFRUlBRWdBeUFFSUFOcklBVWdCQnNpQVNBQ0lBRWdBa2tiSWdJUVRCb2dBQ0FDSUFOcU5nSUVJQUFnQVNBRGFpSUJOZ0lJSUFBZ0FUWUNWQ0FDQzZVQ0FncC9BWHdnQUNnQ0NDRUdJQUFvQWdRaUJTQUJLQUlFUmdSQUlBRW9BZ2dnQlVZRVFBSkFJQUVvQWdBaUNpRUhBMEFnQWlBRlRnUkFRUUFoQUF3Q0N5QUNJQVpzSVF0QkFDRURJQWNoQVFOQUlBTWdCVWNFUUNBRElBSkpCRUFnQVNBQ0lBTWdCV3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJDQUJSQUFBQUFBQUFBQUFPUU1BUVFBaENDQUxRUU4wSUFScUlRa2dBeUFHYkVFRGRDQUVhaUVFUkFBQUFBQUFBQUFBSVF3RFFDQUlJQVpPRFFFZ0FTQU1JQWtyQXdBZ0JDc0RBS0tnSWd3NUF3QWdDRUVCYWlFSUlBbEJDR29oQ1NBRVFRaHFJUVFNQUFBTEFBc0xJQU5CQVdvaEF5QUJRUWhxSVFFTUFRc0xJQUpCQVdvaEFpQUZRUU4wSUFkcUlRY01BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXY3QXdJRGZ3VitJQUM5SWdkQ05JaW5RZjhQY1NFQ0lBRzlJZ1pDTklpblFmOFBjU0VFSUFkQ2dJQ0FnSUNBZ0lDQWY0TWhDUUo4QWtBZ0JrSUJoaUlGVUEwQUFud2dBa0gvRDBZZ0FiMUMvLy8vLy8vLy8vLy9BSU5DZ0lDQWdJQ0FnUGovQUZaeURRRWdCMElCaGlJSUlBVllCRUFnQUVRQUFBQUFBQUFBQUtJZ0FDQUZJQWhSR3c4TElBSUVmaUFIUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBQ0lRRklBZENESVlpQlVKL1ZRUkFRUUFoQWdOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZjFVTkFBc0ZRUUFoQWdzZ0IwRUJJQUpycllZTElnZ2dCQVIrSUFaQy8vLy8vLy8vL3dlRFFvQ0FnSUNBZ0lBSWhBVWdCa0lNaGlJRlFuOVZCRUFEUUNBRFFYOXFJUU1nQlVJQmhpSUZRbjlWRFFBTEN5QUdRUUVnQXlJRWE2MkdDeUlHZlNJRlFuOVZJUU1nQWlBRVNnUkFBa0FEUUFKQUlBTUVRQ0FGVUEwQkJTQUlJUVVMSUFWQ0FZWWlDQ0FHZlNJRlFuOVZJUU1nQWtGL2FpSUNJQVJLRFFFTUFnc0xJQUJFQUFBQUFBQUFBQUNpREFJTEN5QURCRUFnQUVRQUFBQUFBQUFBQUtJZ0JWQU5BUm9GSUFnaEJRc2dCVUtBZ0lDQWdJQ0FDRlFFUUFOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZ0lDQWdJQ0FnQWhVRFFBTEN5QUZRb0NBZ0lDQWdJQjRmQ0FDclVJMGhvUWdCVUVCSUFKcnJZZ2dBa0VBU2hzZ0NZUy9Dd3dCQ3lBQUlBR2lJZ0FnQUtNTEMva1RBdzUvQW40SGZDTUdJUW9qQmtHQUJHb2tCa0VBSUFJZ0Eyb2lFR3NoRVFKQUFrQURRQUpBQWtBQ1FDQUJRUzVyRGdNRUFBRUFDeUFCSVFZZ0J5RUJEQUVMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFGQkFTRUhEQUVMQ3d3QkN5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUN5SUdRVEJHQkg4RGZ5QVVRbjk4SVJRZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUJrRXdSZzBBUVFFaEMwRUJDd1ZCQVNFTElBY0xJUUVMSUFwQkFEWUNBQUo4QWtBQ1FBSkFBa0FnQmtFdVJpSU9JQVpCVUdvaURVRUtTWElFUUFKQVFRQWhCeUFHSVFrZ0RTRUdBMEFDUUNBT0JFQWdDdzBCUVFFaEN5QVZJUlFGQWtBZ0ZVSUJmQ0VWSUFsQk1FY2hEU0FJUWYwQVRnUkFJQTFGRFFFZ0NpQUtLQUx3QTBFQmNqWUM4QU1NQVFzZ0NFRUNkQ0FLYWlJQklBd0VmeUFKUVZCcUlBRW9BZ0JCQ214cUJTQUdDellDQUNBTVFRRnFJZ1pCQ1VZaEFVRUFJQVlnQVJzaERDQUJJQWhxSVFnZ0ZhY2dCeUFOR3lFSFFRRWhBUXNMSUFBb0FnUWlCaUFBS0FKb1NRUi9JQUFnQmtFQmFqWUNCQ0FHTFFBQUJTQUFFRlFMSWdsQlVHb2lCa0VLU1NBSlFTNUdJZzV5RFFFZ0NTRUdEQUlMQ3lBQlFRQkhJUUVNQWdzRlFRQWhCd3NnRkNBVklBc2JJUlFnQVVFQVJ5SUJJQVpCSUhKQjVRQkdjVVVFUUNBR1FYOUtCRUFNQWdVTUF3c0FDeUFVSUFBZ0JSQ1JBeUlVUW9DQWdJQ0FnSUNBZ0g5UkJINGdCVVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQmdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRkF0OElSUU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkNBQlJRMENEQU1MQ3lBQlJRMEFEQUVMUWFURkEwRWNOZ0lBSUFCQ0FCQ0NBVVFBQUFBQUFBQUFBQXdCQ3lBRXQwUUFBQUFBQUFBQUFLSWdDaWdDQUNJQVJRMEFHaUFVSUJWUklCVkNDbE54QkVBZ0JMY2dBTGlpSUFBZ0FuWkZJQUpCSGtweURRRWFDeUFVSUFOQmZoQTVyRlVFUUVHa3hRTkJ4QUEyQWdBZ0JMZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBVUlBTkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdCTGRFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QU1CRUFnREVFSlNBUkFJQWhCQW5RZ0Ntb2lCU2dDQUNFQkEwQWdBVUVLYkNFQklBeEJBV29oQUNBTVFRaElCRUFnQUNFTURBRUxDeUFGSUFFMkFnQUxJQWhCQVdvaENBc2dGS2NoQVNBSFFRbElCRUFnQVVFU1NDQUhJQUZNY1FSQUlBRkJDVVlFUUNBRXR5QUtLQUlBdUtJTUF3c2dBVUVKU0FSQUlBUzNJQW9vQWdDNG9rRUFJQUZyUVFKMFFjRFVBR29vQWdDM293d0RDeUFDUVJ0cUlBRkJmV3hxSWdCQkhrb2dDaWdDQUNJRklBQjJSWElFUUNBRXR5QUZ1S0lnQVVFQ2RFSDQwd0JxS0FJQXQ2SU1Bd3NMQ3lBQlFRa1FUeUlBQkg5QkFDQUFJQUJCQ1dvZ0FVRi9TaHNpREd0QkFuUkJ3TlFBYWlnQ0FDRUdJQWdFZjBHQWxPdmNBeUFHRURraEMwRUFJUWRCQUNFQVFRQWhCUU5BSUFjZ0JVRUNkQ0FLYWlJTktBSUFJZzRnQmhCSUlnOXFJUWtnRFNBSk5nSUFJQXNnRGlBR0lBOXNhMndoQnlBQlFYZHFJQUVnQ1VVZ0FDQUZSbkVpQ1JzaEFTQUFRUUZxUWY4QWNTQUFJQWtiSVFBZ0JVRUJhaUlGSUFoSERRQUxJQWNFZnlBSVFRSjBJQXBxSUFjMkFnQWdBQ0VGSUFoQkFXb0ZJQUFoQlNBSUN3VkJBQ0VGUVFBTElRQWdBVUVKSUF4cmFpRUJJQVVGSUFnaEFFRUFDeUVIUVFBaEJRTkFBa0FnQVVFU1NDRU1JQUZCRWtZaERTQUhRUUowSUFwcUlRNERRQ0FNUlFSQUlBMUZEUUlnRGlnQ0FFSGY0S1VFVHdSQVFSSWhBUXdEQ3d0QkFDRUlJQUJCL3dCcUlRc0RRQ0FJclNBTFFmOEFjU0lKUVFKMElBcHFJZ1lvQWdDdFFoMkdmQ0lVcHlFTElCUkNnSlRyM0FOV0JFQWdGRUtBbE92Y0F4RDJBU0lWcHlFSUlCUWdGVUtBbE92Y0EzNTlweUVMQlVFQUlRZ0xJQVlnQ3pZQ0FDQUFJQUFnQ1NBTEd5QUhJQWxHSWc4Z0NTQUFRZjhBYWtIL0FIRkhjaHNoQmlBSlFYOXFJUXNnRDBVRVFDQUdJUUFNQVFzTElBVkJZMm9oQlNBSVJRMEFDeUFHUWY4QWFrSC9BSEVoQ1NBR1FmNEFha0gvQUhGQkFuUWdDbW9oRENBSFFmOEFha0gvQUhFaUJ5QUdSZ1JBSUF3Z0NVRUNkQ0FLYWlnQ0FDQU1LQUlBY2pZQ0FDQUpJUUFMSUFkQkFuUWdDbW9nQ0RZQ0FDQUJRUWxxSVFFTUFRc0xBMEFDUUNBQVFRRnFRZjhBY1NFR0lBQkIvd0JxUWY4QWNVRUNkQ0FLYWlFTUEwQUNRQ0FCUVJKR0lRaEJDVUVCSUFGQkcwb2JJUWtEUUVFQUlRNENRQUpBQTBBQ1FDQUFJQWNnRG1wQi93QnhJZ3RHRFFJZ0MwRUNkQ0FLYWlnQ0FDSUxJQTVCQW5SQnFJb0JhaWdDQUNJTlNRMENJQXNnRFVzTkFDQU9RUUZxUVFKUERRSkJBU0VPREFFTEN3d0JDeUFJRFFRTElBVWdDV29oQlNBQUlBZEdCRUFnQUNFSERBRUxDMEVCSUFsMFFYOXFJUTVCZ0pUcjNBTWdDWFloRDBFQUlRZ2dCeUVMQTBBZ0NDQUxRUUowSUFwcUloSW9BZ0FpRXlBSmRtb2hEU0FTSUEwMkFnQWdEeUFPSUJOeGJDRUlJQUZCZDJvZ0FTQU5SU0FISUF0R2NTSU5HeUVCSUFkQkFXcEIvd0J4SUFjZ0RSc2hCeUFMUVFGcVFmOEFjU0lMSUFCSERRQUxJQWdFUUNBR0lBZEhEUUVnRENBTUtBSUFRUUZ5TmdJQUN3d0JDd3NnQUVFQ2RDQUthaUFJTmdJQUlBWWhBQXdCQ3d0QkFDRUJBMEFnQUVFQmFrSC9BSEVoQmlBQUlBRWdCMnBCL3dCeElnbEdCRUFnQmtGL2FrRUNkQ0FLYWtFQU5nSUFJQVloQUFzZ0ZrUUFBQUFBWmMzTlFhSWdDVUVDZENBS2FpZ0NBTGlnSVJZZ0FVRUJhaUlCUVFKSERRQUxJQllnQkxjaUdLSWhGeUFGUVRWcUlnWWdBMnNpQXlBQ1NDRUVJQU5CQUNBRFFRQktHeUFDSUFRYklnRkJOVWdFUUVRQUFBQUFBQUR3UDBIcEFDQUJheENmQVNBWEVKQURJaGtoR2lBWFJBQUFBQUFBQVBBL1FUVWdBV3NRbndFUWp3TWlHeUVXSUJrZ0Z5QWJvYUFoRndWRUFBQUFBQUFBQUFBaEZnc2dCMEVDYWtIL0FIRWlBaUFBUndSQUFrQWdBa0VDZENBS2FpZ0NBQ0lDUVlES3RlNEJTUVI4SUFKRlFRQWdBQ0FIUVFOcVFmOEFjVVliRFFFZ0dFUUFBQUFBQUFEUVA2SWdGcUFGSUFKQmdNcTE3Z0ZIQkVBZ0dFUUFBQUFBQUFEb1A2SWdGcUFoRmd3Q0N5QVlSQUFBQUFBQUFPQS9vaUFXb0NBWVJBQUFBQUFBQU9nL29pQVdvQ0FBSUFkQkEycEIvd0J4UmhzTElSWUxRVFVnQVd0QkFVb0VmQ0FXUkFBQUFBQUFBUEEvRUk4RFJBQUFBQUFBQUFBQVlRUjhJQlpFQUFBQUFBQUE4RCtnQlNBV0N3VWdGZ3NoRmdzZ0Z5QVdvQ0Fhb1NFWElBWkIvLy8vL3dkeFFYNGdFR3RLQkh3Q2ZDQUZJQmVaUkFBQUFBQUFBRUJEWmtVaUFFRUJjMm9oQlNBWElCZEVBQUFBQUFBQTREK2lJQUFiSVJjZ0JVRXlhaUFSVEFSQUlCY2dCQ0FBSUFFZ0EwZHljU0FXUkFBQUFBQUFBQUFBWW5GRkRRRWFDMEdreFFOQnhBQTJBZ0FnRndzRklCY0xJQVVRamdNTElSd2dDaVFHSUJ3TDhnZ0RDSDhGZmdOOElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVUNRQUpBQTBBQ1FBSkFJQVZCTG1zT0F3TUJBQUVMSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFWQkFTRUlEQUVMQ3d3QkN5QUFLQUlFSWdVZ0FDZ0NhRWtFZnlBQUlBVkJBV28yQWdRZ0JTMEFBQVVnQUJCVUN5SUZRVEJHQkg4RGZ5QU5Rbjk4SVEwZ0FDZ0NCQ0lGSUFBb0FtaEpCSDhnQUNBRlFRRnFOZ0lFSUFVdEFBQUZJQUFRVkFzaUJVRXdSZzBBUVFFaENFRUJDd1ZCQVFzaENRdEVBQUFBQUFBQThEOGhFeUFGSVFjZ0NDRUZBMEFDUUNBSFFTQnlJUWdDUUFKQUlBZEJVR29pQzBFS1NRMEFJQWRCTGtZaURDQUlRWjkvYWtFR1NYSkZEUUlnREVVTkFDQUpCSDVCTGlFSERBTUZRUUVoQ1NBUEN5RU5EQUVMSUFoQnFYOXFJQXNnQjBFNVNoc2hCU0FQUWdoVEJFQWdCU0FHUVFSMGFpRUdCU0FQUWc1VEJId2dFMFFBQUFBQUFBQ3dQNklpRkNFVElCSWdGQ0FGdDZLZ0JTQUtRUUVnQlVVZ0NrRUFSM0lpQlJzaENpQVNJQklnRTBRQUFBQUFBQURnUDZLZ0lBVWJDeUVTQ3lBUFFnRjhJUTlCQVNFRkN5QUFLQUlFSWdjZ0FDZ0NhRWtFZnlBQUlBZEJBV28yQWdRZ0J5MEFBQVVnQUJCVUN5RUhEQUVMQ3lBRkJId0NmQ0FQUWdoVEJFQWdEeUVPQTBBZ0JrRUVkQ0VHSUE1Q0FYd2hFQ0FPUWdkVEJFQWdFQ0VPREFFTEN3c0NmeUFIUVNCeVFmQUFSZ1IrSUFBZ0JCQ1JBeUlPUW9DQWdJQ0FnSUNBZ0g5UkJINGdCRVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQkFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRGdzRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRZ0FMSVJFZ0E3ZEVBQUFBQUFBQUFBQ2lJQVpGRFFFYUlCRWdEU0FQSUFrYlFnS0dRbUI4ZkNJTlFRQWdBbXVzVlFzRVFFR2t4UU5CeEFBMkFnQWdBN2RFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QU5JQUpCbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQTdkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFHUVg5S0JFQURRQ0FTUkFBQUFBQUFBT0EvWmtVaUFFRUJjeUFHUVFGMGNpRUdJQklnRWlBU1JBQUFBQUFBQVBDL29DQUFHNkFoRWlBTlFuOThJUTBnQmtGL1NnMEFDd3NDZkFKQUlBMUNJQ0FDckgxOElnNGdBYXhUQkVBZ0RxY2lBVUVBVEFSQVFRQWhBVUhVQUNFQURBSUxDMEhVQUNBQmF5RUFJQUZCTlVnTkFDQUR0eUVUUkFBQUFBQUFBQUFBREFFTFJBQUFBQUFBQVBBL0lBQVFud0VnQTdjaUV4Q1FBd3NoRkVRQUFBQUFBQUFBQUNBU0lBWkJBWEZGSUFGQklFZ2dFa1FBQUFBQUFBQUFBR0p4Y1NJQUd5QVRvaUFVSUJNZ0FDQUdhcmlpb0tBZ0ZLRWlFa1FBQUFBQUFBQUFBR0VFUUVHa3hRTkJ4QUEyQWdBTElCSWdEYWNRamdNTEJTQUFLQUpvUlNJQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0JBUkFJQUZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVJQUVnQ1VWeVJRUkFJQUFnQUNnQ0JFRi9hallDQkFzTEJTQUFRZ0FRZ2dFTElBTzNSQUFBQUFBQUFBQUFvZ3NMdmdNQkJIOGdBQ2dDQ0NJRklBQW9BZ1FpQXlBRklBTklHeUVHSUFWQkFrZ2dBMEVDU0hJRWYwRi9CU0FCS0FJSUlBVkdCSDhnQVNnQ0JDQUdSZ1IvSUFJb0FnUWdCa1lFZndKL0lBWWdCaENMQVNJRUtBSUVJQVpHQkVBZ0JDZ0NDQ0FHUmdSQUlBTWdCVWdpQXdSQUlBQWdCQkNOQlVFQVNBUkFJQVFRU1VGL0RBUUxCU0FBSUFRUWhnVkJBRWdFUUNBRUVFbEJmd3dFQ3dzZ0JDQUNFSU1GUVFCSUJFQWdCQkJKUVg4TUF3c2dBd1JBSUFBZ0JDQUJJQUlRL2dSQkFFZ0VRQ0FFRUVsQmZ3d0VDd1VDUUVFQUlRVWdCQ2dDQUNFRElBRW9BZ0FoQUFOQUFrQWdCU0FHVGcwQUlBSW9BZ0FnQlVFRGRHb3JBd0JFdkluWWw3TFNuRHhqRFFCQkFDRUJBMEFnQVNBR1NBUkFJQUFnQXlzREFEa0RBQ0FCUVFGcUlRRWdBMEVJYWlFRElBQkJDR29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFGSVFFRFFDQUJJQVpPRFFFZ0FpZ0NBQ0FCUVFOMGFrUUFBQUFBQUFBQUFEa0RBRUVBSVFNRFFDQURJQVpJQkVBZ0FFUUFBQUFBQUFBQUFEa0RBQ0FEUVFGcUlRTWdBRUVJYWlFQURBRUxDeUFCUVFGcUlRRU1BQUFMQUFzTElBUVFTVUVBREFJTEN5QUVFRWxCZndzRlFYOExCVUYvQ3dWQmZ3c0xDOUlUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnY2hEQ0FCSUFKQmYyb2lFR3hCQVhRZ0Iyb2hCZ05BSUFVZ0FVZ0VRQ0FHUVFBN0FRQWdERUVBT3dFQUlBeEJBbW9oRENBRlFRRnFJUVVnQmtFQ2FpRUdEQUVMQzBFQUlRd2dCeUlHSUFGQmYyb2lFVUVCZEdvaEJRTkFJQXdnQWtnRVFDQUZRUUE3QVFBZ0JrRUFPd0VBSUFGQkFYUWdCbW9oQmlBTVFRRnFJUXdnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRWkJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERFRUJJUXBCQUNFRklBQkJBWFFnQjJvaEF3Si9Ba0FEUUFKQUlBb2dFRTROQWlBRklRQkJBU0VJSUFNaEN3TkFJQWdnRVVnRVFDQU5MUUFBSUF3dEFBQktCRUFDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEJTQUxRUUE3QVFBTElBMUJBV29oRFNBTVFRRnFJUXdnQ0VFQmFpRUlJQXRCQW1vaEN3d0JDd3NnRFVFQ2FpRU5JQXhCQW1vaERDQUtRUUZxSVFvZ0FDRUZJQXRCQkdvaEF3d0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaEJ3TkFJQWNnQlV3RVFDQUhJQVlvQWdBaURFWUVRQ0FBUVFGcUlRTUZJQUFoQXlBTVFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBRElRQWdCMEVCYWlFSElBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnWTJBZ2dnQmdSL0lBMUJBQ0FHUVFKMEVFVWFJQVJCa0lBb2FrRUFJQVpCQkhRUVJScEJBQ0VEQTBBZ0F5QUdTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnWkJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTFV3RUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FDZ0NBRFlDQUFOQUlBSW9BZ0JCQTJwQmZIRWlBQ2dDQUNFRElBSWdBRUVFYWpZQ0FDQUJRWDlxSVFBZ0FVRUJTd1JBSUFBaEFRd0JDd3NnQWlRR0lBTUx4aFFERVg4RGZnRjhJd1loQ1NNR1FhQUNhaVFHSUFBb0FreEJmMG9FZjBFQkJVRUFDeG9nQ1VHSUFtb2hEU0FKUVlRQ2FpRVNJQWxCa0FKcUlSTWdBU3dBQUNJTEJFQUNRQUpBQWtBQ1FBSkFBMEFDUUNBTFFmOEJjUkN5QVFSQUEwQWdBVUVCYWlJRExRQUFFTElCQkVBZ0F5RUJEQUVMQ3lBQVFnQVFnZ0VEUUNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3hDeUFRMEFDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ3MyQWdRRklBQW9BZ1FoQ3dzZ0N5QUFLQUlJYTZ3Z0ZDQUFLUU40Zkh3aEZBVUNRQ0FCTEFBQVFTVkdJZ2NFUUFKQUFuOENRQUpBSUFGQkFXb2lCQ3dBQUNJRFFTVnJEZ1lEQVFFQkFRQUJDMEVBSVFvZ0FVRUNhZ3dCQ3lBRFFmOEJjUkNLQVFSQUlBRXNBQUpCSkVZRVFDQUNJQVF0QUFCQlVHb1Frd1VoQ2lBQlFRTnFEQUlMQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQ2lBQ0lBRkJCR28yQWdBZ0JBc2lBUzBBQUJDS0FRUkFRUUFoQkFOQUlBRXRBQUFnQkVFS2JFRlFhbW9oQkNBQlFRRnFJZ0V0QUFBUWlnRU5BQXNGUVFBaEJBc2dBVUVCYWlFSElBRXNBQUFpQ0VIdEFFWUVmMEVBSVFZZ0FVRUNhaUVCSUFjaUF5d0FBQ0VJUVFBaEJTQUtRUUJIQlNBQklRTWdCeUVCUVFBTElRc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSVFSaDBRUmgxUWNFQWF3NDZCUTRGRGdVRkJRNE9EZzRFRGc0T0RnNE9CUTRPRGc0RkRnNEZEZzRPRGc0RkRnVUZCUVVGQUFVQ0RnRU9CUVVGRGc0RkF3VU9EZ1VPQXc0TFFYNUJmeUFCTEFBQVFlZ0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVVMUVFOQkFTQUJMQUFBUWV3QVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBUUxRUU1oQ0F3REMwRUJJUWdNQWd0QkFpRUlEQUVMUVFBaENDQURJUUVMUVFFZ0NDQUJMUUFBSWdkQkwzRkJBMFlpQXhzaERpQUFBbjhDUUFKQUFrQUNRQ0FIUVNCeUlBY2dBeHNpREVIL0FYRWlCMEVZZEVFWWRVSGJBR3NPRkFFREF3TURBd01EQUFNREF3TURBd01EQXdNQ0F3c2dCRUVCSUFSQkFVb2JEQU1MSUFRTUFnc2dDaUFPSUJRUWxBTU1CQXNnQUVJQUVJSUJBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNRc2dFTkFBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FpSUlOZ0lFQlNBQUtBSUVJUWdMSUFnZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRZ0JBc2lFYXdpRmhDQ0FTQUFLQUlFSWdNZ0FDZ0NhQ0lFU1FSQUlBQWdBMEVCYWpZQ0JBVWdBQkJVUVFCSURRZ2dBQ2dDYUNFRUN5QUVCRUFnQUNBQUtBSUVRWDlxTmdJRUN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwRVlkRUVZZFVIQkFHc09PQVVIQndjRkJRVUhCd2NIQndjSEJ3Y0hCd2NIQndjSEFRY0hBQWNIQndjSEJRY0FBd1VGQlFjRUJ3Y0hCd2NDQVFjSEFBY0RCd2NCQndzZ0RFRVFja0h6QUVZRVFDQUpRWDlCZ1FJUVJSb2dDVUVBT2dBQUlBeEI4d0JHQkVBZ0NVRUFPZ0FoSUFsQkFEWUJDaUFKUVFBNkFBNExCUUpBSUFrZ0FVRUJhaUlITEFBQVFkNEFSaUlESWdSQmdRSVFSUm9nQ1VFQU9nQUFBa0FDUUFKQUlBRkJBbW9nQnlBREd5SUJMQUFBUVMxcklnTUVRQ0FEUVRCR0JFQU1BZ1VNQXdzQUN5QUpJQVJCQVhNaUNEb0FMaUFCUVFGcUlRRU1BZ3NnQ1NBRVFRRnpJZ2c2QUY0Z0FVRUJhaUVCREFFTElBUkJBWE1oQ0FzRFFBSkFBa0FnQVN3QUFDSUVEbDRUQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFREFRc2dBVUVCYWlJRExBQUFJZ1FpQjBFQUlBZEIzUUJIRzBVRVFFRXRJUVFNQVFzZ0FVRi9haTBBQUNJQklBUkIvd0Z4U0FSL0EzOGdBVUVCYWlJQklBbHFJQWc2QUFBZ0FTQURMQUFBSWdkQi93RnhTUTBBSUFNaEFTQUhDd1VnQXlFQklBUUxJUVFMSUFSQi93RnhRUUZxSUFscUlBZzZBQUFnQVVFQmFpRUJEQUFBQ3dBTEN5QVJRUUZxUVI4Z0RFSGpBRVlpREJzaEJDQUxRUUJISVJBZ0RrRUJSaUlSQkVBZ0VBUkFJQVJCQW5RUVJDSUZSUVJBUVFBaEJrRUFJUVVNRVFzRklBb2hCUXNnRFVFQU5nSUFJQTFCQURZQ0JFRUFJUVlEUUFKQUlBVkZJUWNEUUFOQUFrQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVOQXlBVElBTTZBQUFDUUFKQUlCSWdFMEVCSUEwUTF3RkJmbXNPQWdFQUFndEJBQ0VHREJVTERBRUxDeUFIUlFSQUlBWkJBblFnQldvZ0VpZ0NBRFlDQUNBR1FRRnFJUVlMSUJBZ0JDQUdSbkZGRFFBTElBVWdCRUVCZEVFQmNpSUVRUUowRU9nQklnTUVRQ0FESVFVTUFnVkJBQ0VHREJJTEFBc0xJQTBFZnlBTktBSUFSUVZCQVFzRWZ5QUdJUVFnQlNFRFFRQUZRUUFoQmd3UUN5RUdCUUpBSUJBRVFDQUVFRVFpQmtVRVFFRUFJUVpCQUNFRkRCSUxRUUFoQlFOQUEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVFUUNBRklRUkJBQ0VEUVFBaEJRd0VDeUFGSUFacUlBTTZBQUFnQlVFQmFpSUZJQVJIRFFBTElBWWdCRUVCZEVFQmNpSUVFT2dCSWdNRVFDQURJUVlNQVFWQkFDRUZEQk1MQUFBTEFBc2dDa1VFUUFOQUlBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTFFRRnFJQWxxTEFBQURRQkJBQ0VFUVFBaEJrRUFJUU5CQUNFRkRBSUFDd0FMUVFBaEJBTi9JQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJZ1ZCQVdvZ0NXb3NBQUFFZnlBRUlBcHFJQVU2QUFBZ0JFRUJhaUVFREFFRlFRQWhBMEVBSVFVZ0Nnc0xJUVlMQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdnMkFnUUZJQUFvQWdRaENBc2dBQ2tEZUNBSUlBQW9BZ2hyckh3aUZWQWdERUVCY3lBVklCWlJja1Z5RFFzZ0VBUkFJQkVFUUNBS0lBTTJBZ0FGSUFvZ0JqWUNBQXNMSUF4RkJFQWdBd1JBSUFSQkFuUWdBMnBCQURZQ0FBc2dCa1VFUUVFQUlRWU1DQXNnQkNBR2FrRUFPZ0FBQ3d3R0MwRVFJUVFNQkF0QkNDRUVEQU1MUVFvaEJBd0NDMEVBSVFRTUFRc2dBQ0FPUVFBUWtnTWhGeUFBS1FONFFnQWdBQ2dDQkNBQUtBSUlhNng5VVEwR0lBb0VRQUpBQWtBQ1FDQU9EZ01BQVFJRkN5QUtJQmUyT0FJQURBUUxJQW9nRnprREFBd0RDeUFLSUJjNUF3QU1BZ3NNQVFzZ0FDQUVRUUJDZnhDVEF5RVZJQUFwQTNoQ0FDQUFLQUlFSUFBb0FnaHJySDFSRFFVZ0RFSHdBRVlnQ2tFQVIzRUVRQ0FLSUJVK0FnQUZJQW9nRGlBVkVKUURDd3NnRHlBS1FRQkhhaUVQSUFBb0FnUWdBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUU1BZ3NMSUFCQ0FCQ0NBU0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUVESUFNZ0FTQUhhaUlCTFFBQVJ3MEVJQlJDQVh3aEZBc0xJQUZCQVdvaUFTd0FBQ0lMRFFFTUJnc0xEQU1MSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBTkJmMG9nRDNJTkEwRUFJUXNNQVFzZ0QwVU5BQXdCQzBGL0lROExJQXNFUUNBR0VEZ2dCUkE0Q3dzTElBa2tCaUFQQ3dzQUlBQWdBU0FDRUl3RkMza0JCWDhnQUNnQ0JDRUZJQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZjBFQUlRTWdBU2dDQUNFRUEwQWdBeUFHU0FSQUlBQWdBQ3NEQUNBRUt3TUFvVGtEQUNBRFFRRnFJUU1nQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NMTHdFQ2Z5QUFFS3NDSWdFb0FnQTJBamdnQVNnQ0FDSUNCRUFnQWlBQU5nSTBDeUFCSUFBMkFnQkJxTVVERUE0TDZ3SUJCMzhqQmlFREl3WkJNR29rQmlBRFFSaHFJUVFnQTBFSWFpRUZJQU5CS0dvaEJrSDYvUUlnQVN3QUFCQy9BUVJBUVpnSkVFUWlBZ1JBSUFKQkFFR1FBUkJGR2dKL0lBRkJLeEMvQVVVaENDQUJMQUFBSVFFZ0NBc0VRQ0FDUVFoQkJDQUJRZklBUmhzMkFnQUxJQUZCNFFCR0JFQWdBeUFBTmdJQUlBTkJBellDQkVIZEFTQURFQmtpQVVHQUNIRkZCRUFnQlNBQU5nSUFJQVZCQkRZQ0JDQUZJQUZCZ0FoeU5nSUlRZDBCSUFVUUdSb0xJQUlnQWlnQ0FFR0FBWElpQVRZQ0FBVWdBaWdDQUNFQkN5QUNJQUEyQWp3Z0FpQUNRWmdCYWpZQ0xDQUNRWUFJTmdJd0lBSkJmem9BU3lBQlFRaHhSUVJBSUFRZ0FEWUNBQ0FFUVpPb0FUWUNCQ0FFSUFZMkFnaEJOaUFFRURORkJFQWdBa0VLT2dCTEN3c2dBa0VDTmdJZ0lBSkJBVFlDSkNBQ1FRRTJBaWdnQWtFQ05nSU1RZWpFQXlnQ0FFVUVRQ0FDUVg4MkFrd0xJQUlRbHdVRlFRQWhBZ3NGUWFURkEwRWNOZ0lBQ3lBREpBWWdBZ3R3QVFKL0lBQkJLeEMvQVVVaEFTQUFMQUFBSWdKQjhnQkhRUUlnQVJzaUFTQUJRWUFCY2lBQVFmZ0FFTDhCUlJzaUFTQUJRWUNBSUhJZ0FFSGxBQkMvQVVVYklnQWdBRUhBQUhJZ0FrSHlBRVliSWdCQmdBUnlJQUFnQWtIM0FFWWJJZ0JCZ0FoeUlBQWdBa0hoQUVZYkMvZ0JBZ1ovQVh3Z0FDZ0NCQ0lIUVFGSUlBQW9BZ2dpQTBFQlNISUVmMEYvQlNBRElBRW9BZ1JHQkg4RFFDQUNJQU5IQkVBZ0FTZ0NBQ0FDUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FDUVFGcUlRSU1BUXNMSUFBb0FnQWhBQU5BSUFVZ0IwY0VRRUVBSVFZZ0FTZ0NBQ0VFSUFBaEFnTkFJQU1nQmtjRVFDQUVJQUlyQXdBZ0JDc0RBS0E1QXdBZ0JrRUJhaUVHSUFSQkNHb2hCQ0FDUVFocUlRSU1BUXNMSUFOQkEzUWdBR29oQUNBRlFRRnFJUVVNQVFzTElBZTNJUWhCQUNFQUEzOGdBQ0FEUmdSL1FRQUZJQUVvQWdBZ0FFRURkR29pQWlBQ0t3TUFJQWlqT1FNQUlBQkJBV29oQUF3QkN3c0ZRWDhMQ3d2c0FnRUxmeUFBS0FJSUlBQW9BZ0JCb3RydjF3WnFJZ1lRc1FFaEJDQUFLQUlNSUFZUXNRRWhCU0FBS0FJUUlBWVFzUUVoQXlBRUlBRkJBblpKQkg4Z0JTQUJJQVJCQW5ScklnZEpJQU1nQjBseEJIOGdBeUFGY2tFRGNRUi9RUUFGQW44Z0JVRUNkaUVKQW44Z0EwRUNkaUVOUVFBaEJRTkFBa0FnQ1NBRklBUkJBWFlpQjJvaUMwRUJkQ0lNYWlJRFFRSjBJQUJxS0FJQUlBWVFzUUVoQ0VFQUlBTkJBV3BCQW5RZ0FHb29BZ0FnQmhDeEFTSURJQUZKSUFnZ0FTQURhMGx4UlEwREdrRUFJQUFnQXlBSWFtb3NBQUFOQXhvZ0FpQUFJQU5xRUxNQklnTkZEUUFnQTBFQVNDRURRUUFnQkVFQlJnMERHaUFGSUFzZ0F4c2hCU0FISUFRZ0Iyc2dBeHNoQkF3QkN3c2dEU0FNYWlJQ1FRSjBJQUJxS0FJQUN5QUdFTEVCSVFRZ0FrRUJha0VDZENBQWFpZ0NBQ0FHRUxFQklnSWdBVWtnQkNBQklBSnJTWEVFZjBFQUlBQWdBbW9nQUNBQ0lBUnFhaXdBQUJzRlFRQUxDd3NGUVFBTEJVRUFDd3MrQVFGL0lBQW9Ba1FFUUNBQUtBS0VBU0lCQkVBZ0FTQUFLQUtBQVRZQ2dBRUxJQUFvQW9BQklnQUVmeUFBUVlRQmFnVkJsSW9CQ3lBQk5nSUFDd3ZxQWdJRGZ3RjhJQUFvQWdRaUJpQUFLQUlJSWdVZ0JpQUZTQnNoQkNBR1FRSklJQVZCQWtoeUJFQkJmeUVBQlNBQktBSUlJQVZHQkVBZ0FTZ0NCQ0FFUmdSQUlBSW9BZ1FnQkVZRVFDQURLQUlFSUFWR0JFQWdBQkRmQlNJRUJFQUNRQ0FFSUFNUW1nVkJBRWdFUUNBRUVFbEJmeUVBREFFTElBUWdBeENXQlVFQVNBUkFJQVFRU1VGL0lRQU1BUXNnQnJlZklRY2dCU0FHYkNFRFFRQWhBQU5BSUFBZ0EwZ0VRQ0FFS0FJQUlBQkJBM1JxSWdVZ0JTc0RBQ0FIb3prREFDQUFRUUZxSVFBTUFRc0xJQVFnQVNBQ0VKRUZJUUFnQkJCSklBSW9BZ1FoQTBRQUFBQUFBQUFBQUNFSFFRQWhBUU5BSUFFZ0EwZ0VRQ0FISUFJb0FnQWdBVUVEZEdvckF3Q2dJUWNnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdBaWdDQUNBQlFRTjBhaUlFSUFRckF3QWdCNk01QXdBZ0FVRUJhaUVCREFFTEN3c0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNMSUFBTEJBQkNBQXZoQVFFRWZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVRZQ0FDQUVJQUlnQUNnQ01DSURRUUJIYXpZQ0JDQUVJQUFvQWl3MkFnZ2dCQ0FETmdJTUFrQUNRQ0FBS0FJOElBUkJBaUFFUVJCcUlnTVFNUkNzQWdSQUlBTkJmellDQUVGL0lRSU1BUVVnQXlnQ0FDSURRUUZJQkVBZ0F5RUNEQUlGSUFNZ0JDZ0NCQ0lHU3dSQUlBQWdBQ2dDTENJRk5nSUVJQUFnQlNBRElBWnJhallDQ0NBQUtBSXdCRUFnQUNBRlFRRnFOZ0lFSUFFZ0FrRi9hbW9nQlN3QUFEb0FBQXNGSUFNaEFnc0xDd3dCQ3lBQUlBQW9BZ0FnQWtFd2NVRVFjM0kyQWdBTElBUWtCaUFDQ3dZQVFhVEZBd3RHQWdGL0FYNGpCaUVESXdaQkVHb2tCaUFBS0FJOElBR25JQUZDSUlpbklBSkIvd0Z4SUFNUUhSQ3NBZ1IrSUFOQ2Z6Y0RBRUovQlNBREtRTUFDeUVFSUFNa0JpQUVDN2NDQVFkL0l3WWhCaU1HUVNCcUpBWWdCa0VRYWlFSElBWWlBeUFBS0FJY0lnUTJBZ0FnQXlBQUtBSVVJQVJySWdVMkFnUWdBeUFCTmdJSUlBTWdBallDREVFQ0lRUWdBaUFGYWlFRklBTWhBUUpBQWtBRFFDQUFLQUk4SUFFZ0JDQUhFREFRckFJRWZ5QUhRWDgyQWdCQmZ3VWdCeWdDQUFzaUF5QUZSd1JBSUFOQkFFZ05BaUFCUVFocUlBRWdBeUFCS0FJRUlnaExJZ2tiSWdFZ0F5QUlRUUFnQ1J0cklnZ2dBU2dDQUdvMkFnQWdBU0FCS0FJRUlBaHJOZ0lFSUFRZ0NVRWZkRUVmZFdvaEJDQUZJQU5ySVFVTUFRc0xJQUFnQUNnQ0xDSUJJQUFvQWpCcU5nSVFJQUFnQVRZQ0hDQUFJQUUyQWhRTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQUtBSUFRU0J5TmdJQUlBUkJBa1lFZjBFQUJTQUNJQUVvQWdSckN5RUNDeUFHSkFZZ0Fnc09BQ0FBS0FJOEVCaEIvLzhEY1F1bUFnRUNmd0pBQWtBZ0FDZ0NGQ0lCUWJOK2FrRUNUdzBBSUFCQlFHc29BZ0FOQUNBQUtBS01BU0FBS0FKMFNRUkFJQUFvQWdBaUFVSEZBRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXJ3REtBSUVJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBRUhTQVRZQ0ZBd0JDd0pBQWtBZ0FVSFBBV3NPQkFBQkFRSUJDeUFBUWRJQk5nSVVEQUVMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RJZ0VvQWhSRkJFQUNRQU5BQWtBZ0FTZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ3pBTWlBU2dDRkVVTkFRd0NDd3RCQUE4TEN5QUFLQUlZS0FJWUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCQ2RBMEVCQy8wR0FRUi9Ba0FDUUFKQUFrQUNRQUpBSUFBb0FoUWlBVUhJQVdzT0N3QUJBd0lDQWdJQ0FnUUNCQXNnQUVITUEyb2lBU2dDQUNnQ0JDRUNJQUFnQWtIL0FYRkJyQU5xRVFFQUlBQW9BaGdvQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUNBQVFja0JOZ0lVREFRTElBQkJ6QU5xSVFFTUF3c2dBQ2dDekFNb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUR3dEJBUThMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQUE4TElBRW9BZ0FvQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFVY0VRQ0FCRHdzQ1FBSkFBa0FDUUFKQUlBQW9BaVFpQVVFQmF3NEVBQU1CQWdNTElBRWhBZ3dEQ3lBQUtBTFlBU0lES0FJQUlRRWdBeWdDc0FFaUFrRURSaUFCUVFGR0lnUWdBeWdDV0NJRFFRSkdjWEVFZjBFRElRSkJBZ1VnQkNBRFFTSkdjU0FDUVNOR2NRUi9RUWNoQWtFQ0JTQUJRZElBUmlBRFFjY0FSbkVnQWtIQ0FFWnhCSDlCQWlFQ1FRSUZJQUZCOGdCR0lBTkI1d0JHY1NBQ1FlSUFSbkVFZjBFR0lRSkJBZ1VnQUNnQ25BSUVmMEVESVFKQkFnVWdBQ2dDcUFKRkJFQWdBQ2dDQUNJRUlBRTJBaGdnQkNBRE5nSWNJQVFnQWpZQ0lDQUVRZkVBTmdJVUlBUW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0JCQWlFQlFRTWhBZ3dJQ3dKQUFrQUNRQ0FBTEFDc0FpSUJEZ0lBQVFJTFFRSWhBVUVDSVFJTUNRdEJBaUVCUVFNaEFnd0lDeUFBS0FJQUlnSkI5QUEyQWhRZ0FpQUJRZjhCY1RZQ0dDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQVFRSWhBVUVESVFJTUJ3c0xDd3NMSVFFTUFnc2dBQ2dDcUFJRWZ3SkFBa0FDUUNBQUxBQ3NBaUlCRGdNQUFnRUNDMEVFSVFGQkJDRUNEQVFMUVFRaEFVRUZJUUlNQXdzZ0FDZ0NBQ0lDUWZRQU5nSVVJQUlnQVVIL0FYRTJBaGdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVFSVFGQkJTRUNEQUlGUVFRaEFrRUVDeUVCREFFTFFRQWhBVUVBSVFJTElBQWdBallDS0NBQUlBRTJBaXdnQUNBQUtBS3NBeUlCTmdJd0lBQWdBVFlDTkNBQVJBQUFBQUFBQVBBL09RTTRJQUJCUUd0QkFEWUNBQ0FBUVFBMkFrUWdBRUVBTmdKSUlBQkJBVFlDVENBQVFRRTJBbEFnQUVFQU5nSlVJQUJCQWpZQ1dDQUFRUUUyQWx3Z0FFR0FBallDWUNBQVFRQTJBb2dCSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0lBQkJ5Z0UyQWhSQkFRdU5BUUVDZnlBQUtBSVVJZ0pCZm5GQnlBRkhCRUFnQUNnQ0FDSURRUlUyQWhRZ0F5QUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUFrQWdBQkNsQlNJQ1FRRnJEZ0lBQVFJTFFRRVBDeUFCQkVBZ0FDZ0NBQ0lCUVRVMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUVKMERRUUlQQ3lBQ0N3Y0FJQUFRbmdNTG53SUJBbjhnQUVFQU5nSUVJQUZCMmdCSEJFQWdBQ2dDQUNJRFFRMDJBaFFnQTBIYUFEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUWVnRFJ3UkFJQUFvQWdBaUFVRVdOZ0lVSUFGQjZBTTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNDZnlBQUlRUWdBQ2dDQUNFQ0lBQW9BZ3doQXlBQVFRUnFRUUJCNUFNUVJSb2dBQ0FDTmdJQUlBQWdBellDRENBQVFRRTJBaEFnQkFzUXdnVWdBRUVBTmdJSUlBQkJBRFlDR0NBQVFRQTJBcmdDSUFCQ0FEY0NwQUVnQUVJQU53S3NBU0FBUWdBM0FyUUJJQUJDQURjQ3ZBRWdBRUlBTndMRUFTQUFRZ0EzQXN3QklBQVF1QVVnQUJDUUJpQUFRY2dCTmdJVUN4VUFJQUFvQWdBaUFFRUFOZ0pzSUFCQkFEWUNGQXZwQWdFS2Z5TUdJUVlqQmtFd2FpUUdJQVpCQ0dvaEJBSkFBa0FDZnlBQUtBSUFJZ0lvQWhRaUEwRUFTZ1JBSUFNZ0FpZ0NkRXdFUUNBQ0tBSndJQU5CQW5ScURBSUxDeUFDS0FKNElnVkZEUUVnQXlBQ0tBSjhJZ0JJRFFFZ0F5QUNLQUtBQVVvTkFTQURJQUJyUVFKMElBVnFDeWdDQUNJRlJRMEFEQUVMSUFJZ0F6WUNHQ0FDS0FKd0tBSUFJUVVMSUFVaEFBSkFBa0FEUUFKQUlBQkJBV29oQXdKQUlBQXNBQUFpQUFSQUlBQkJKVVlFUUF3RkJRd0NDd0FMREFFTElBTWhBQXdCQ3dzTUFRc2dBeXdBQUVIekFFWUVRQ0FHSUFKQkdHbzJBZ0FnQVNBRklBWVF2QUVnQmlRR0R3c0xJQUlvQWh3aEJ5QUNLQUlnSVFnZ0FpZ0NKQ0VKSUFJb0FpZ2hDaUFDS0FJc0lRc2dBaWdDTUNFRElBSW9BalFoQUNBRUlBSW9BaGcyQWdBZ0JDQUhOZ0lFSUFRZ0NEWUNDQ0FFSUFrMkFnd2dCQ0FLTmdJUUlBUWdDellDRkNBRUlBTTJBaGdnQkNBQU5nSWNJQUVnQlNBRUVMd0JJQVlrQmd0T0FRTi9Jd1loQVNNR1FkQUJhaVFHSUFBb0FnQW9BZ3doQWlBQUlBRWdBa0UvY1VHeUJXb1JBd0FDZjBHa2lBRW9BZ0FoQXlBQlFjZ0JhaUlDSUFFMkFnQWdBd3NnQWhDTEJTQUJKQVlMZVFFQmZ5QUFLQUlBSVFJZ0FVRUFUZ1JBSUFJb0FtZ2dBVWdFUUE4TElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQThMQWtBQ1FDQUNLQUpzSWdGRkRRQWdBaWdDYUVFQ1NnMEFEQUVMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUNLQUpzSVFFTElBSWdBVUVCYWpZQ2JBc21BUUYvSUFBb0FnQW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBRUo0RFFRRVFBUXRsQUNBQVFZd0JOZ0lBSUFCQk5UWUNCQ0FBUVkwQk5nSUlJQUJCTmpZQ0RDQUFRWTRCTmdJUUlBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nSVVJQUJCZ0JnMkFuQWdBRUgrQURZQ2RDQUFRUUEyQW5nZ0FFRUFOZ0o4SUFCQkFEWUNnQUVnQUFzckFRRi9JQUFvQWdRb0FnQWhBU0FBUVFCQmhBRWdBVUUvY1VIS0FXb1JCQUFpQUVFQU5nS0FBU0FBQ3lzQkFYOGdBQ2dDQkNnQ0FDRUJJQUJCQUVHWUFpQUJRVDl4UWNvQmFoRUVBQ0lBUVFBMkFwUUNJQUFMdHdZQkJuOGdBaUFEYWlFRUFrQUNRQUpBQWtBZ0FrRU5Td1JBSUFFc0FBQkJ5Z0JHQkVBZ0FTd0FBVUhHQUVjTkFpQUJMQUFDUWNrQVJ3MENJQUVzQUFOQnhnQkhEUUlnQVN3QUJBMENJQUJCQVRZQ25BSWdBQ0FCTEFBRklnYzZBS0FDSUFBZ0FTd0FCaUlJT2dDaEFpQUFJQUVzQUFjaUNUb0FvZ0lnQUNBQkxRQUpJQUV0QUFoQkNIUnlJZ1k3QWFRQ0lBQWdBUzBBQ3lBQkxRQUtRUWgwY2lJRE93R21BaUFIUVg5cVFSaDBRUmgxUWY4QmNVRUNUZ1JBSUFBb0FnQWlBa0g2QURZQ0ZDQUNJQWRCL3dGeE5nSVlJQUFvQWdBZ0FDMEFvUUkyQWh3Z0FDZ0NBQ2dDQkNFQ0lBQkJmeUFDUVQ5eFFiSUZhaEVEQUNBQUxBQ2dBaUVISUFBc0FLRUNJUWdnQUM0QnBBSWhCaUFBTGdHbUFpRURJQUFzQUtJQ0lRa0xJQUFoQWlBQUtBSUFJZ1VnQjBIL0FYRTJBaGdnQlNBSVFmOEJjVFlDSENBRklBWkIvLzhEY1RZQ0lDQUZJQU5CLy84RGNUWUNKQ0FGSUFsQi93RnhOZ0lvSUFWQjJRQTJBaFFnQlNnQ0JDRURJQUpCQVNBRFFUOXhRYklGYWhFREFDQUJMQUFNSWdZZ0FTd0FEU0lEY2tIL0FYRUVRQ0FBS0FJQUlnTkIzQUEyQWhRZ0F5QUJMUUFNTmdJWUlBQW9BZ0FnQVMwQURUWUNIQ0FBS0FJQUtBSUVJUU1nQWtFQklBTkJQM0ZCc2dWcUVRTUFJQUVzQUF3aEJpQUJMQUFOSVFNTElBWkIvd0Z4UVFOc0lBTkIvd0Z4YkNBRVFYSnFJZ05HQkVBUEN5QUFLQUlBSWdGQjJnQTJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnUWhBQ0FDUVFFZ0FFRS9jVUd5QldvUkF3QVBDd1VnQWtFRlN3UkFJQUVzQUFCQnlnQkdEUUlMQ3d3QkN5QUJMQUFCUWNZQVJnUkFJQUVzQUFKQjJBQkdCRUFnQVN3QUEwSFlBRVlFUUNBQkxBQUVSUVJBQWtBQ1FBSkFBa0FnQVN3QUJVRVFhdzRFQUFFREFnTUxJQUFvQWdBaUFVSHVBRFlDRkF3SUN5QUFLQUlBSWdGQjd3QTJBaFFNQndzZ0FDZ0NBQ0lCUWZBQU5nSVVEQVlMSUFBb0FnQWlBa0hiQURZQ0ZDQUNJQUV0QUFVMkFoZ2dBQ2dDQUNBRU5nSWNEQVlMQ3dzTEN5QUFLQUlBSWdGQnp3QTJBaFFnQVNBRU5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QVBDeUFCSUFRMkFoZ0xJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QUx5Z1VCQ1g4akJpRUNJd1pCRUdva0JnSkFJQUFvQWhnaUJDZ0NCQ0lEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBd3NnQkNnQ0FDSUdRUUZxSVFFZ0JpMEFBQ0VGSUFOQmYyb2lBMFVFUUNBRUtBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJQUlRRWdCQ2dDQkNFREN5QURRWDlxSVFNZ0FVRUJhaUVHUVE0Z0FTMEFBQ0FGUWY4QmNVRUlkSElpQVVGK2FpSUhRUUFnQVVFQ1N4c2dBVUVQU3hzaUJRUkFBa0JCQUNFQkEwQUNRQ0FEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUlRWUxJQUVnQW1vZ0Jpd0FBRG9BQUNBRFFYOXFJUU1nQmtFQmFpRUdJQUZCQVdvaUFTQUZTUTBCREFJTEN3d0NDd3NnQnlBRmF5RUlBa0FDUUFKQUlBQW9BcmdESWdGQjRBRnJJZ2tFUUNBSlFRNUdCRUFNQWdVTUF3c0FDeUFBSUFJZ0JTQUlFTEVGREFJTElBSXNBQUJCd1FCR0lBVkJDMHR4QkVBZ0Fpd0FBVUhrQUVZRVFDQUNMQUFDUWU4QVJnUkFJQUlzQUFOQjRnQkdCRUFnQWl3QUJFSGxBRVlFUUNBQ0xRQUlJQUl0QUFkQkNIUnlJUWNnQWkwQUNpQUNMUUFKUVFoMGNpRUpJQUlzQUFzaEJTQUFLQUlBSWdFZ0FpMEFCaUFDTFFBRlFRaDBjallDR0NBQklBYzJBaHdnQVNBSk5nSWdJQUVnQlVIL0FYRTJBaVFnQVVIT0FEWUNGQ0FCS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQkJBVFlDcUFJZ0FDQUZPZ0NzQWd3R0N3c0xDd3NnQUNnQ0FDSUJRZEFBTmdJVUlBRWdCellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BREFFTElBQW9BZ0FpQlVIR0FEWUNGQ0FGSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUVJQVkyQWdBZ0JDQUROZ0lFSUFoQkFFd0VRQ0FDSkFaQkFROExJQUFvQWhnb0FoQWhBeUFBSUFnZ0EwRS9jVUd5QldvUkF3QWdBaVFHUVFFUEN5QUNKQVpCQUF1TUFnRUdmeUFBS0FJWUlnSW9BZ1FpQVVVRVFDQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBQVIvSUFJb0FnUUZRUUFQQ3lFQkN5QUNLQUlBSWdOQkFXb2hCQ0FETFFBQUlRTWdBVUYvYWlJQlJRUkFJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBQkg4Z0FpZ0NBQ0VFSUFJb0FnUUZRUUFQQ3lFQkN5QUVMUUFBSUFOQi93RnhRUWgwY2lJR1FYNXFJUVVnQUNnQ0FDSURRZDBBTmdJVUlBTWdBQ2dDdUFNMkFoZ2dBQ2dDQUNBRk5nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBaUFFUVFGcU5nSUFJQUlnQVVGL2FqWUNCQ0FHUVFKTkJFQkJBUThMSUFBb0FoZ29BaEFoQVNBQUlBVWdBVUUvY1VHeUJXb1JBd0JCQVF1QkFRRUdmeUFBS0FJRUlnVWdBU2dDQkVZRWZ5QUFLQUlJSWdRZ0FTZ0NDRVlFZndOL0lBSWdCVWdFZnlBQ0lBUnNJUVpCQUNFREEwQWdBeUFFU0FSQUlBQW9BZ0FnQXlBR2FpSUhRUU4wYWlBQktBSUFJQWRCQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDNmtCQVFKL0lBQW9BcmdESWdGRkJFQWdBQkN4QWdSL0lBQW9BcmdEQlVFQUR3c2hBUXNnQUNnQzBBTW9BaFFpQWtIUUFXb2dBVVlFUUNBQUtBSUFJZ0ZCNUFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUU1nQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXdVZ0FDZ0NHQ2dDRkNFQklBQWdBaUFCUVQ5eFFZb0JhaEVDQUVVRVFFRUFEd3NMSUFBb0F0QURJZ0FnQUNnQ0ZFRUJha0VIY1RZQ0ZFRUJDNlJVQVNsL0l3WWhLU01HUVlBQ2FpUUdJQ2toQ2lBQUtBSzRBeUVCQTBBQ1FDQUJSUVJBQW44Z0FDZ0MwQU1vQWd3RVFDQUFFTEVDUlFSQVFkNENJUUVNQkFzZ0FDZ0N1QU1NQVFzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQkVFQmFpRUNJQVFzQUFBaEF5QUJRWDlxSWdRRWZ5QUNCU0FHS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFRTElBWW9BZ1FoQkNBR0tBSUFDeUVCSUFOQi93RnhJUVVnQVN3QUFDSUhRZjhCY1NFQ0lBTkJmMGNnQjBGWVIzSUVRQ0FBS0FJQUlnTkJOellDRkNBRElBVTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNBQ05nSzRBeUFHSUFGQkFXbzJBZ0FnQmlBRVFYOXFOZ0lFSUFJTElRRUxBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQlFRRnJEdjRCRUJJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJREJBVUlDZ2dJQ0FnR0J3Z0pDQWdJRUJBUUVCQVFFQkFDQVFBTEVRd1NFZzRPRGc0T0RnNE9EZzRPRGc0T0RnNFNFaElTRWhJU0VnMFNFaElTRWc4U0MwRVpJUUVNRXd0Qnl3QWhBUXdTQ3lBQUtBSUFJZ0ZCNkFBMkFoUWdBU2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVNYWlJQktBSUFCRUFnQUNnQ0FDSUJRY0FBTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUEwRU1haUVCQ3lBQVFnQTNBT2dCSUFCQ0FEY0E4QUVnQUVLQmdvU0lrS0RBZ0FFM0FQZ0JJQUJDZ1lLRWlKQ2d3SUFCTndDQUFpQUFRb1dLbEtqUW9NR0NCVGNBaUFJZ0FFS0ZpcFNvMEtEQmdnVTNBSkFDSUFCQkFEWUNtQUlnQUVFQU5nSW9JQUJCQURZQ3NBSWdBRUVBTmdLMEFpQUFRUUEyQXB3Q0lBQkJBVG9Bb0FJZ0FFRUJPZ0NoQWlBQVFRQTZBS0lDSUFCQkFUc0JwQUlnQUVFQk93R21BaUFBUVFBMkFxZ0NJQUJCQURvQXJBSWdBVUVCTmdJQURCQUxJQUJCQVVFQVFRQVEyQUZGQkVCQjNnSWhBUXdSQ3d3UEN5QUFRUUJCQUVFQUVOZ0JSUVJBUWQ0Q0lRRU1FQXNNRGdzZ0FFRUFRUUZCQUJEWUFVVUVRRUhlQWlFQkRBOExEQTBMSUFCQkFFRUFRUUVRMkFGRkJFQkIzZ0loQVF3T0N3d01DeUFBUVFCQkFVRUJFTmdCUlFSQVFkNENJUUVNRFFzTUN3c2dBQ2dDQUNJQ1FUODJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0tDeUFBS0FJWUlnTW9BZ1FpQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBUXNnQXlnQ0FDSUVRUUZxSVFJZ0JDMEFBQ0VFSUFGQmYyb2lBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFTQURLQUlBSVFJTElBSXRBQUFnQkVIL0FYRkJDSFJ5SWdaQmZtb2hCQ0FCUVg5cUlRRWdBa0VCYWlFQ0lBWkJBa3NFUUFOL0lBRkZCRUFnQXlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QURLQUlFSVFFZ0F5Z0NBQ0VDQ3lBQ1FRRnFJUVlnQWkwQUFDRUZJQUZCZjJvaUFrVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREE0TElBTW9BZ1FoQWlBREtBSUFJUVlMSUFZc0FBQWlDVUgvQVhFaEJ5QUFLQUlBSWdGQjBRQTJBaFFnQVNBRlFmOEJjU0lCTmdJWUlBQW9BZ0FnQnpZQ0hDQUFLQUlBS0FJRUlRZ2dBRUVCSUFoQlAzRkJzZ1ZxRVFNQUFrQUNRQ0FGUWY4QmNVRWZTZ1JBSUFBb0FnQWlCVUVkTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFNQVFVZ0JVSC9BWEZCRDBvTkFTQUJJQUJCNkFGcWFpQUhRUTl4SWdVNkFBQWdBU0FBUWZnQmFtb2dDVUgvQVhGQkJIWWlBVG9BQUNBRklBRkxCRUFnQUNnQ0FDSUJRUjQyQWhRZ0FTQUhOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMREFFTElBQWdBV3BCK0FGcUlBazZBQUFMSUFSQmZtb2hBU0FDUVg5cUlRSWdCa0VCYWlFR0lBUkJBa29FZnlBQklRUWdBaUVCSUFZaEFnd0JCU0FCSVFRZ0FpRUJJQVlMQ3lFQ0N5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFESUFJMkFnQWdBeUFCTmdJRURBa0xJQUFvQWhnaUJTZ0NCQ0lCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJDeUFGS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRVNTd1JBQTBBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFJdEFBQWhCeUFBS0FJQUlnWkIwZ0EyQWhRZ0JpQUhOZ0lZSUFBb0FnQW9BZ1FoQmlBQVFRRWdCa0UvY1VHeUJXb1JBd0FnQWtFQmFpRUdJQUZCZjJvaUFnUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFc0FBQWhDU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRUlJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlRc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaERTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFUUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJFZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRWlBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VUSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUlFnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhGU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVdJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSY2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEdDQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFWklBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJvZ0FVRUJhaUVHSUFKQmYyb2lBUVIvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUJJQVVvQWdBTElRSWdBaXdBQUNJblFmOEJjU0lvSUJwQi93RnhJaVlnR1VIL0FYRWlKU0FZUWY4QmNTSWtJQmRCL3dGeElpTWdGa0gvQVhFaUlpQVZRZjhCY1NJaElCUkIvd0Z4SWlBZ0UwSC9BWEVpSHlBU1FmOEJjU0llSUJGQi93RnhJaDBnRUVIL0FYRWlIQ0FOUWY4QmNTSWJJQXRCL3dGeElnOGdDVUgvQVhFaURpQUlRZjhCY1NJTWFtcHFhbXBxYW1wcWFtcHFhbXBxSVFZZ0FDZ0NBQ0lESUE0MkFoZ2dBeUFNTmdJY0lBTWdEellDSUNBRElCczJBaVFnQXlBY05nSW9JQU1nSFRZQ0xDQURJQjQyQWpBZ0F5QWZOZ0kwSUFOQjJBQTJBaFFnQXlnQ0JDRURJQUJCQWlBRFFUOXhRYklGYWhFREFDQUFLQUlBSWdNZ0lEWUNHQ0FESUNFMkFod2dBeUFpTmdJZ0lBTWdJellDSkNBRElDUTJBaWdnQXlBbE5nSXNJQU1nSmpZQ01DQURJQ2cyQWpRZ0EwSFlBRFlDRkNBREtBSUVJUU1nQUVFQ0lBTkJQM0ZCc2dWcUVRTUFJQVJCYjJvaURpQUdTQ0FHUVlBQ1MzSUVRQ0FBS0FJQUlnUkJDVFlDRkNBRUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0NrRUFRWUFDRUVVYUlBWUVRRUVBSVFRRFFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd1BDeUFGS0FJRUlRRWdCU2dDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVDSUFRZ0Ntb2dBeXdBQURvQUFDQUVRUUZxSWdRZ0Jra05BQXNGUVFBaEJnc2dCeUFIUVhCcUlnUWdCMEVRY1VVaUF4c2lERUVEU3dSQUlBQW9BZ0FpRDBFZk5nSVVJQThnRERZQ0dDQUFLQUlBS0FJQUlRd2dBQ0FNUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFkQkFuUnFJQUJCeEFGcUlBUkJBblJxSUFNYklnTW9BZ0FpQkVVRVFDQURJQUFRc0FVaUJEWUNBQXNnQkVFQU9nQUFJQVFnQ1RvQUFTQUVJQWc2QUFJZ0JDQUxPZ0FESUFRZ0RUb0FCQ0FFSUJBNkFBVWdCQ0FST2dBR0lBUWdFam9BQnlBRUlCTTZBQWdnQkNBVU9nQUpJQVFnRlRvQUNpQUVJQlk2QUFzZ0JDQVhPZ0FNSUFRZ0dEb0FEU0FFSUJrNkFBNGdCQ0FhT2dBUElBUWdKem9BRUNBREtBSUFRUkZxSUFwQmdBSVFUQm9nRGlBR2F5SUVRUkJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFGSUFJMkFnQWdCU0FCTmdJRURBZ0xJQUFvQWhnaUNDZ0NCQ0lCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJDeUFJS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQklBZ29BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRUNTd1JBQTBBZ0FRUi9JQUVoQlNBQ0JTQUlLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFnb0FnUWhCU0FJS0FJQUN5SUdMUUFBSWdGQkJIWWhBaUFBS0FJQUlnTkIwd0EyQWhRZ0F5QUJRUTl4SWdFMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBVUVEU3dSQUlBQW9BZ0FpQTBFZ05nSVVJQU1nQVRZQ0dDQUFLQUlBS0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQkJwQUZxSUFGQkFuUnFJZ0VvQWdBaUEwVUVRQ0FCSUFBUXJ3VWlBellDQUFzZ0JFRi9haUVKQW44Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUJISWdzRWZ5QUVRWUVCVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpRUUYxQlNBRVFjRUFUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSkN5SUJRUVJyRGk0QUJnWUdCZ0VHQmdZR0JnWUNCZ1lHQmdZR0JnWURCZ1lHQmdZR0JnWUdCZ1FHQmdZR0JnWUdCZ1lHQmdZRkJndEJ3Q1VoQWd3R0MwSFFKQ0VDREFVTFFkQWpJUUlNQkF0Qm9DSWhBZ3dEQzBIUUlDRUNEQUlMUWNBZUlRSU1BUXNnQlVGL2FpRUNJQVpCQVdvaEJpQUJRUUJLQkVCQmdCd2hCeUFHREFNRklBRWhCQ0FDSVFFZ0Jnd0VDd0FMSUFJaEJ5QUZRWDlxSVFJZ0JrRUJhZ3dCQzBHQUhDRUhRY0FBSVFFZ0JVRi9haUVDSUFaQkFXb0xJUVFnQzBVRVFFRUFJUVVEUUNBQ1JRUkFJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRHdzZ0NDZ0NCQ0VDSUFnb0FnQWhCQXNnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQU93RUFJQUpCZjJvaEFpQUVRUUZxSVFZZ0JVRUJhaUlGSUFGSUJFQWdCaUVFREFFRklBRWhCQ0FDSVFFZ0Jnd0RDd0FBQ3dBTFFRQWhCUU4vSUFKRkJFQWdDQ2dDRENFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBSUtBSUVJUUlnQ0NnQ0FDRUVDeUFFUVFGcUlRWWdCQzBBQUNFTklBSkJmMm9pQWdSL0lBWUZJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRGdzZ0NDZ0NCQ0VDSUFnb0FnQUxJUVFnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQUlBMUIvd0Z4UVFoMGNqc0JBQ0FDUVg5cUlRSWdCRUVCYWlFR0lBVkJBV29pQlNBQlNBUi9JQVloQkF3QkJTQUJJUVFnQWlFQklBWUxDd3NoQWlBQUtBSUFJZ1VvQW1oQkFVb0VRQUpBUVFBaEJnTkFJQVVnQmtFQmRDQURhaThCQURZQ0dDQUZJQVpCQVhKQkFYUWdBMm92QVFBMkFod2dCU0FHUVFKeVFRRjBJQU5xTHdFQU5nSWdJQVVnQmtFRGNrRUJkQ0FEYWk4QkFEWUNKQ0FGSUFaQkJISkJBWFFnQTJvdkFRQTJBaWdnQlNBR1FRVnlRUUYwSUFOcUx3RUFOZ0lzSUFVZ0JrRUdja0VCZENBRGFpOEJBRFlDTUNBRklBWkJCM0pCQVhRZ0Eyb3ZBUUEyQWpRZ0JVSGZBRFlDRkNBRktBSUVJUVVnQUVFQ0lBVkJQM0ZCc2dWcUVRTUFJQVpCQ0dvaUJrSEFBRThOQVNBQUtBSUFJUVVNQUFBTEFBc0xJQWtnQkd0QkFDQUVhMEVBSUFzYmFpSUVRUUJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFJSUFJMkFnQWdDQ0FCTmdJRURBY0xJQUFvQWhnaUJpZ0NCQ0lCUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUJDeUFHS0FJQUlnSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBTElnRXRBQUJ5UVFSSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBaEFRc2dBVUVCYWlFRUlBRXRBQUJCQ0hRZ0FrRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdKQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaEJDQUFLQUlBSWdOQjFBQTJBaFFnQXlBRU5nSVlJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBQ0FFTmdLWUFpQUdJQUZCQVdvMkFnQWdCaUFDUVg5cU5nSUVEQVlMSUFBb0FoZ2lCU2dDQUNFQ0lBVW9BZ1FoQVNBQUtBTFFBeWdDRUVVRVFDQUFLQUlBSWdSQlBEWUNGQ0FFUVJocVFmTDlBa0hRQUJEVkFTQUFLQUlBS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTEFrQUNRQ0FBS0FJa1FRTklEUUFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0V0QUFCeVFSaEhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFFRU5Sd1JBSUFBb0FnQWlCRUhHQURZQ0ZDQUVJQUFvQXJnRE5nSVlJQUFvQWdBb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUZCQVdvaEJDQUJMUUFBSVFZZ0FrRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0gvQVVjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQkJBMGNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0FDZ0MyQUVpQXlnQ1dFY05BQ0FCQkg4Z0FTRUVJQUloQmlBREJTQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhCQ0FGS0FJQUlRWWdBQ2dDMkFFTElRRWdCRUYvYWlFQ0lBWkJBV29oQkNBR0xRQUFJQUVvQWdCR0JFQWdBZ1IvSUFFRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUNJQVVvQWdBaEJDQUFLQUxZQVFzaEJpQUNRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCaWdDc0FGSERRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFRWUIvUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeURRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0VCUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlRUUZIRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2cwQkJTQUNJUUVnQkNFQ0RBRUxEQUVMSUFBb0FnQWlCRUVjTmdJVUlBUW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQUVFQk5nS3dBaUFGSUFJMkFnQWdCU0FCTmdJRURBVUxJQUFvQXRBRElBRkJBblJxUWFCNWFpZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0dDd3dFQ3lBQUtBTFFBeWdDSENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdGQ3d3REN5QUFLQUlBSWdKQjNnQTJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QU1BZ3NnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlBa0VCYWlFRUlBSXRBQUJCQ0hRZ0FVRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaUEwRithaUVFSUFBb0FnQWlCVUhkQURZQ0ZDQUZJQUFvQXJnRE5nSVlJQUFvQWdBZ0JEWUNIQ0FBS0FJQUtBSUVJUVVnQUVFQklBVkJQM0ZCc2dWcUVRTUFJQVlnQVVFQmFqWUNBQ0FHSUFKQmYybzJBZ1FnQTBFQ1N3UkFJQUFvQWhnb0FoQWhBU0FBSUFRZ0FVRS9jVUd5QldvUkF3QUxEQUVMSUFBb0FnQWlBa0hHQURZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQVFRQTJBcmdEUVFBaEFRd0JDd3NDUUNBQlFSbEdCRUFnQUNnQ0dDSUhLQUlBSVFRZ0J5Z0NCQ0VCSUFBb0F0QURLQUlRUlFSQUlBQW9BZ0FpQWtFOE5nSVVJQUpCR0dwQjd2MENRZEFBRU5VQklBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FRUi9JQUVoQWlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFRUlBRXRBQUFoQlNBQ1FYOXFJZ0lFZnlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFR0lBRXRBQUFoQ0NBQ1FYOXFJZ1FFZnlBR0JTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUVFnQnlnQ0FBc2lBU3dBQUNJRFFmOEJjU0VKSUFBb0FnQWlBa0hwQURZQ0ZDQUNJQWsyQWhnZ0FDZ0NBQ2dDQkNFQ0lBQkJBU0FDUVQ5eFFiSUZhaEVEQUFKQUFrQUNRQUovQWtBZ0NVRUJkRUVHYWlBSVFmOEJjU0FGUWY4QmNVRUlkSEpISUFOQi93RnhRUVJLY2cwQUlBTUVRQ0FBSUFrMkF0UUNJQUZCQVdvaEFTQUVRWDlxSWdRaEFpQUVSUXdDQ3lBQUtBTGdBVVVOQUNBQUlBazJBdFFDSUFGQkFXb2hBaUFFUVg5cUlnRUVmMEVCQlVFQklRUU1CQXNoQkF3RUN5QUFLQUlBSWdKQkREWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBZ0FDQUpOZ0xVQWlBQlFRRnFJUUlnQkVGL2FpSUVSU0VHSUFNRWZ5QUNJUUVnQkNFQ0lBWUZJQVFoQVVFQklRUU1BZ3NMSVFSQkFDRURBMEFDUUNBRUJIOGdCeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0J5Z0NCQ0VHSUFjb0FnQUZJQUloQmlBQkN5SUVMUUFBSVFJZ0F3UkFBa0JCQUNFQkEwQWdBRUhZQW1vZ0FVRUNkR29vQWdBb0FnQWdBa2NFUUNBQlFRRnFJZ0VnQTBrRVFBd0NCUXdEQ3dBTEN5QUFLQUxZQWlnQ0FDRUJJQU5CQVVzRVFFRUJJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ2dDQUNJRklBRWdCU0FCU2hzaEFTQUNRUUZxSWdJZ0EwY05BQXNMSUFGQkFXb2hBZ3NMSUFaQmYyb2hCaUFFUVFGcUlRVWdBQ2dDMkFFaEFRSkFBa0FnQUNnQ0pDSUlRUUJNRFFCQkFDRUVBa0FEUUNBQ0lBRW9BZ0JHRFFFZ0FVSFlBR29oQVNBRVFRRnFJZ1FnQ0VnTkFBc01BUXNNQVFzZ0FDZ0NBQ0lFUVFRMkFoUWdCQ0FDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FFSFlBbW9nQTBFQ2RHb2dBVFlDQUNBQklBWUVmeUFGQlNBSEtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FIS0FJRUlRWWdCeWdDQUFzaUFpMEFBQ0lFUVFSMk5nSVVJQUVnQkVFUGNUWUNHQ0FBS0FJQUlnUWdBU2dDQURZQ0dDQUVJQUVvQWhRMkFod2dCQ0FCS0FJWU5nSWdJQVJCNmdBMkFoUWdCQ2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQ1FRRnFJUUlnQmtGL2FpSUVSU0VHSUFOQkFXb2lBeUFKU1FSQUlBSWhBU0FFSVFJZ0JpRUVEQUlGSUFRaEFVRUFJUVFNQXdzQUN3c01CQXNnQmcwQURBRUxJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ0FoQWlBSEtBSUVJUUVMSUFKQkFXb2hCaUFBSUFJdEFBQTJBcHdESUFGQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJRUUZxSVFZZ0FDQUJMUUFBTmdLZ0F5QUFJQUpCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQkxRQUFJZ1pCQkhZMkFxUURJQUFnQmtFUGNUWUNxQU1nQUNnQ0FDSUdJQUFvQXB3RE5nSVlJQVlnQUNnQ29BTTJBaHdnQmlBQUtBS2tBellDSUNBR0lBQW9BcWdETmdJa0lBWkI2d0EyQWhRZ0JpZ0NCQ0VHSUFCQkFTQUdRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRUFOZ0lVSUFSRkJFQWdBQ0FBS0FLUUFVRUJhallDa0FFTElBY2dBVUVCYWpZQ0FDQUhJQUpCZjJvMkFnUWdBRUVBTmdLNEF5QUtKQVpCQVE4RklBRkJ5d0JHQkVBZ0FDZ0NBQ0lCUWRjQU5nSVVJQUVvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXlBS0pBWkJBZzhGSUFGQnJnRkdCRUFNQXdVZ0FVSGVBa1lOQXdzTEMwRUFEd3NnQ2lRR1FRQUxRUUVCZnlBQUtBTFFBeUVCSUFCQkFEWUMyQUVnQUVFQU5nS1FBU0FBUVFBMkFyZ0RJQUZCQURZQ0RDQUJRUUEyQWhBZ0FVRUFOZ0lZSUFGQkFEWUNwQUVMaVFNQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFhd0JJQUZCUDNGQnlnRnFFUVFBSWdFMkF0QURJQUZCaXdFMkFnQWdBVUhYQURZQ0JDQUJRZGdBTmdJSUlBRkIyUUEyQWh3Z0FVRUFOZ0pnSUFGQkFEWUNaQ0FCUWRrQU5nSWtJQUZCQURZQ2FDQUJRZGtBTmdJb0lBRkJBRFlDYkNBQlFka0FOZ0lzSUFGQkFEWUNjQ0FCUWRrQU5nSXdJQUZCQURZQ2RDQUJRZGtBTmdJMElBRkJBRFlDZUNBQlFka0FOZ0k0SUFGQkFEWUNmQ0FCUWRrQU5nSThJQUZCQURZQ2dBRWdBVUZBYTBIWkFEWUNBQ0FCUVFBMkFvUUJJQUZCMlFBMkFrUWdBVUVBTmdLSUFTQUJRZGtBTmdKSUlBRkJBRFlDakFFZ0FVSFpBRFlDVENBQlFRQTJBcEFCSUFGQjJRQTJBbEFnQVVFQU5nS1VBU0FCUWRrQU5nSlVJQUZCQURZQ21BRWdBVUVBTmdLY0FTQUJRZGtBTmdKY0lBRkJBRFlDb0FFZ0FVSGFBRFlDSUNBQlFkb0FOZ0pZSUFBb0F0QURJUUVnQUVFQU5nTFlBU0FBUVFBMkFwQUJJQUJCQURZQ3VBTWdBVUVBTmdJTUlBRkJBRFlDRUNBQlFRQTJBaGdnQVVFQU5nS2tBUXNlQUNBQVFRRVFyZ0lnQUVFQUVLNENJQUFvQWdRUU9DQUFRUUEyQWdRTDJRY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJUVFkMElRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2hCQjNRaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdoQkIzUWhCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MTWdFQmZ5QUFLQUlJSUFBb0FnUVFwUU1pQVFSQUlBRWdBQkRxQkVFQVNBUkFJQUVRU1VFQUlRRUxCVUVBSVFFTElBRUwwQWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSUlRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2doQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2doQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTDRBb0JFMzhnQUNnQ0JDSUtLQUpFSWdFRWZ3Ti9JQUVvQWdCRkJFQWdBeUFCS0FJSUlnUWdBU2dDREd4cUlRTWdBaUFFSUFFb0FnUnNhaUVDQ3lBQktBSXNJZ0VOQUNBRElRRWdBZ3NGUVFBaEFVRUFDeUVESUFvb0FrZ2lCQVJBSUFFaEFnTkFJQVFvQWdCRkJFQWdBaUFFS0FJSUlnRWdCQ2dDREVFSGRHeHFJUUlnQXlBRUtBSUVJQUZCQjNSc2FpRURDeUFFS0FJc0lnUU5BQXNGSUFFaEFnc2dBa0VCU0FSQUR3c2dDaWdDVEJvZ0F5SUJJQU5JQkg4Z0FTQUNFRGtpQVVFQklBRkJBVW9iQlVHQWxPdmNBd3NoRHlBS0tBSkVJZ0lFUUFOQUlBSW9BZ0JGQkVBZ0FpZ0NCQ0lGUVg5cUlBSW9BZ3dpQVJCSVFRRnFJQTlLQkVBZ0FpQUJJQTlzTmdJUUlBQWdCU0FDUVFocUlnTW9BZ0JzRUo4RElBSkJBVFlDS0NBQ0tBSVFJUVVGSUFJZ0JUWUNFQ0FDUVFocUlRTUxJQUFvQWdRaEVrSHdrK3ZjQXlBREtBSUFJZ3NRU0NFQklBdEI4SlByM0FOTEJFQWdBQ2dDQUNJRFFjZ0FOZ0lVSUFBZ0F5Z0NBRUgvQVhGQnJBTnFFUUVBQ3lBU0lBRWdCU0FCSUFWSUd5SUJOZ0pRSUFCQkFTQUZRUUowRUxVQklRd2dCUVJBSUFWQmYzTWhFRUVBSVFNRFFDQUFLQUlFSVFjZ0FTQUZJQU5ySWdRZ0FTQUVTUnNpQkNBTGJDSUdRZkNUNjl3RFN3UkFJQUFvQWdBaUNFRTROZ0lVSUFoQkF6WUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JrRUlJQVpCQjNFaUNHdEJBQ0FJRzJvaUNFRVFhaUlORUVRaUJrVUVRQ0FBS0FJQUlnbEJPRFlDRkNBSlFRUTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBY2dCeWdDVENBTmFqWUNUQ0FHSUFkQlFHc2lCeWdDQURZQ0FDQUdJQWcyQWdRZ0JrRUFOZ0lJSUFjZ0JqWUNBQ0FFQkVBZ0F5QVFhaUlOSUFGQmYzTWlDVXNoRGlBRUlRY2dCa0VRYWlFSUlBTWhBUU5BSUFGQkFXb2hCaUFCUVFKMElBeHFJQWcyQWdBZ0NDQUxhaUVJSUFkQmYyb2lCd1JBSUFZaEFRd0JDd3NnQTBGL2FpQU5JQWtnRGh0cklRTUxJQU1nQlVrRVFDQUVJUUVNQVFzTEN5QUNJQXcyQWdBZ0FpQUtLQUpRTmdJVUlBSkJBRFlDR0NBQ1FRQTJBaHdnQWtFQU5nSWtDeUFDS0FJc0lnSU5BQXNMSUFvb0FrZ2lBa1VFUUE4TEEwQWdBaWdDQUVVRVFDQUNLQUlFSWdWQmYyb2dBaWdDRENJQkVFaEJBV29nRDBvRVFDQUNJQUVnRDJ3MkFoQWdBQ0FDUVFocUlnTW9BZ0FnQlVFSGRHd1Fud01nQWtFQk5nSW9JQUlvQWhBaEJRVWdBaUFGTmdJUUlBSkJDR29oQXdzZ0FDZ0NCQ0VUUWZDVDY5d0RJQU1vQWdBaUVFRUhkQ0lMRUVnaEFTQUxRZkNUNjl3RFN3UkFJQUFvQWdBaUEwSElBRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0V5QUJJQVVnQVNBRlNCc2lBVFlDVUNBQVFRRWdCVUVDZEJDMUFTRU1JQVVFUUNBRlFYOXpJUTFCQUNFREEwQWdBQ2dDQkNFSElBRWdCU0FEYXlJRUlBRWdCRWtiSWdRZ0Myd2lDRUh3ayt2Y0Ewc0VRQ0FBS0FJQUlnWkJPRFlDRkNBR1FRTTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBaEJFSElpQ1JCRUlnWkZCRUFnQUNnQ0FDSU9RVGcyQWhRZ0RrRUVOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUhJQWtnQnlnQ1RHbzJBa3dnQmlBSFFVQnJJZ2NvQWdBMkFnQWdCaUFJTmdJRUlBWkJBRFlDQ0NBSElBWTJBZ0FnQkFSQUlBTWdEV29pQ1NBQlFYOXpJZzVMSVJFZ0JDRUhJQVpCRUdvaENDQURJUUVEUUNBQlFRRnFJUVlnQVVFQ2RDQU1haUFJTmdJQUlCQkJCM1FnQ0dvaENDQUhRWDlxSWdjRVFDQUdJUUVNQVFzTElBTkJmMm9nQ1NBT0lCRWJheUVEQ3lBRElBVkpCRUFnQkNFQkRBRUxDd3NnQWlBTU5nSUFJQUlnQ2lnQ1VEWUNGQ0FDUVFBMkFoZ2dBa0VBTmdJY0lBSkJBRFlDSkFzZ0FpZ0NMQ0lDRFFBTEM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSklOZ0lzSUFjZ0FEWUNTQ0FBQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKRU5nSXNJQWNnQURZQ1JDQUFDNHdDQVF0L0lBQW9BZ1FoRGtId2srdmNBeUFDUVFkMElnb1FTQ0VGSUFwQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lHUWNnQU5nSVVJQVlvQWdBaEJpQUFJQVpCL3dGeFFhd0RhaEVCQUFzZ0RpQUZJQU1nQlNBRFNCc2lCRFlDVUNBQUlBRWdBMEVDZEJDMUFTRUhJQU5GQkVBZ0J3OExJQU5CZjNNaEMwRUFJUVlEUUNBQUlBRWdCQ0FESUFacklnVWdCQ0FGU1JzaUNDQUtiQkN2QWlFSklBZ0VRQ0FHSUF0cUlnVWdCRUYvY3lJRUlBVWdCRXNiSVF3Z0NDRUVJQVloQlFOQUlBVkJBV29oRFNBRlFRSjBJQWRxSUFrMkFnQWdBa0VIZENBSmFpRUpJQVJCZjJvaUJBUkFJQTBoQlF3QkN3c2dCa0YvYWlBTWF5RUdDeUFHSUFOSkJFQWdDQ0VFREFFTEN5QUhDNFFDQVFwL0lBQW9BZ1FoRFVId2srdmNBeUFDRUVnaEJTQUNRZkNUNjl3RFN3UkFJQUFvQWdBaUJrSElBRFlDRkNBR0tBSUFJUVlnQUNBR1FmOEJjVUdzQTJvUkFRQUxJQTBnQlNBRElBVWdBMGdiSWdRMkFsQWdBQ0FCSUFOQkFuUVF0UUVoQnlBRFJRUkFJQWNQQ3lBRFFYOXpJUXBCQUNFR0EwQWdBQ0FCSUFJZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0d3UXJ3SWhDU0FJQkVBZ0JpQUthaUlGSUFSQmYzTWlCQ0FGSUFSTEd5RUxJQWdoQkNBR0lRVURRQ0FGUVFGcUlRd2dCVUVDZENBSGFpQUpOZ0lBSUFJZ0NXb2hDU0FFUVg5cUlnUUVRQ0FNSVFVTUFRc0xJQVpCZjJvZ0Myc2hCZ3NnQmlBRFNRUkFJQWdoQkF3QkN3c2dCd3Z0QWdFRGZ5TUdJUUlqQmtFUWFpUUdJQUJCQURZQ0JDQUNRUUEyQWdoQjFBQVFSQ0lCUlFSQUlBQW9BZ0FpQTBFNE5nSVVJQU5CQURZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQVVFaE5nSUFJQUZCSWpZQ0JDQUJRUWMyQWdnZ0FVRUlOZ0lNSUFGQkl6WUNFQ0FCUVNRMkFoUWdBVUdKQVRZQ0dDQUJRUlUyQWh3Z0FVRVdOZ0lnSUFGQk5EWUNKQ0FCUVlvQk5nSW9JQUZCZ0pUcjNBTTJBakFnQVVFQU5nSXNJQUZCQURZQ09DQUJRVUJyUVFBMkFnQWdBVUVBTmdJMElBRkJBRFlDUENBQlFRQTJBa1FnQVVFQU5nSklJQUZCMUFBMkFrd2dBQ0FCTmdJRVFlRDlBaEFOSWdCRkJFQWdBaVFHRHdzZ0FrSDRBRG9BRENBQ0lBSkJDR28yQWdBZ0FpQUNRUXhxTmdJRUlBQkI2UDBDSUFJUWd3RkJBRW9FUUFKQUlBSXNBQXhCelFCcklnQkJBQ0FBUVNCSEcwVUVRQ0FDSUFJb0FnaEI2QWRzSWdBMkFnZ01BUXNnQWlnQ0NDRUFDeUFCSUFCQjZBZHNOZ0lzQ3lBQ0pBWUw5UUVCQkg4akJpRUVJd1pCRUdva0JpQUFLQUlVSWdOQnpRRkhCRUFnQUNnQ0FDSUZRUlUyQWhRZ0JTQUROZ0lZSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ2pBRWlCU0FBS0FKMElnWlBCRUFnQUNnQ0FDSUJRZjRBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FnQkNRR1FRQVBDeUFBS0FJSUlnTUVRQ0FESUFVMkFnUWdBeUFHTmdJSUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQkVFQU5nSUFJQUFvQXNBREtBSUVJUU1nQUNBQklBUWdBaUFEUVI5eFFmb0ZhaEVIQUNBQUlBUW9BZ0FpQVNBQUtBS01BV28yQW93QklBUWtCaUFCQzVJRUFSMS9JQUFvQXVRRElRUWdBQ2dDZUNFSUlBQW9BbkFoQ1NBQUtBTFFBaUVTSUFOQkFFd0VRQThMSUFoQkFFb2hFeUFKUlNFVUlBbEJmMm9pRlNBSWJDRVdRUUFnQ0dzaEZ5QUpRUUZxSVE4RFFDQUtRUUowSUFKcUloZ29BZ0JCQUNBSkVFVWFJQk1FUUFKQUlCUUVRQ0FFS0FKVVJTRUdRUUFoQUFOQUlBUkJ4QUJxSUFCQkFuUnFLQUlBSWdVZ0QwRUJkQ0FGYWlBR0cwRUFPd0VBSUFnZ0FFRUJhaUlBUncwQUN3d0JDeUFLUVFKMElBRnFJUmxCQUNFSEEwQWdCeUFaS0FJQWFpRUdJQmdvQWdBaEFDQUVLQUpVQkg5QmZ5RUxJQVJCeEFCcUlBZEJBblJxS0FJQUlBOUJBWFJxSVEwZ0JpQVdhaUVHSUFBZ0ZXb2hBQ0FYQlVFQklRc2dCRUhFQUdvZ0IwRUNkR29vQWdBaERTQUlDeUVhSUFRb0FoZ2dCMEVDZEdvb0FnQWhHeUFFS0FJUUlBZEJBblJxS0FJQUlSd2dDU0FMYkNFZ1FRQWhFQ0FKSVJGQkFDRU9RUUFoRENBTklRVURRQ0FBSUJzZ0VpQUdMUUFBSUF0QkFYUWdCV29pSGk0QkFDQU1RUWhxYWtFRWRXcHFMUUFBSWd4cUxRQUFJaDhnQUMwQUFHbzZBQUFnQlNBT0lBd2dIQ0FmYWkwQUFHc2lCVUVEYkdvN0FRQWdFQ0FGUVFWc2FpRU9JQVZCQjJ3aERDQUdJQnBxSVFZZ0FDQUxhaUVBSUJGQmYyb2lFUVJBSUFVaEVDQWVJUVVNQVFzTElDQkJBWFFnRFdvZ0Rqc0JBQ0FIUVFGcUlnY2dDRWNOQUFzTEN5QUVJQVFvQWxSRk5nSlVJQXBCQVdvaUNpQURSdzBBQ3d2RkFnRU9meUFBS0FMa0F5RUVJQUFvQW5naENTQUFLQUp3SVFZZ0EwRUFUQVJBRHdzZ0NVRUFUQVJBUVFBaEFBTkFJQUJCQW5RZ0Ftb29BZ0JCQUNBR0VFVWFJQVFnQkNnQ01FRUJha0VQY1RZQ01DQUFRUUZxSWdBZ0EwY05BQXNQQ3lBR1JTRU5BMEFnQjBFQ2RDQUNhaUlPS0FJQVFRQWdCaEJGR2lBRUtBSXdJUXdnQjBFQ2RDQUJhaUVQSUExRkJFQkJBQ0VGQTBBZ0JDZ0NHQ0FGUVFKMGFpZ0NBQ0VRSUFSQk5Hb2dCVUVDZEdvb0FnQWhFU0FHSVFBZ0RpZ0NBQ0VJUVFBaENpQUZJQThvQWdCcUlRc0RRQ0FJSUJBZ0N5MEFBQ0FNUVFaMElCRnFJQXBCQW5ScUtBSUFhbW90QUFBZ0NDMEFBR282QUFBZ0NTQUxhaUVMSUFoQkFXb2hDQ0FLUVFGcVFROXhJUW9nQUVGL2FpSUFEUUFMSUFrZ0JVRUJhaUlGUncwQUN3c2dCQ0FNUVFGcVFROXhOZ0l3SUFkQkFXb2lCeUFEUncwQUN3dklBZ0VQZnlBQUtBTGtBeUlFS0FJWUlnVW9BZ0FoQ3lBRktBSUVJUXdnQlNnQ0NDRU5JQUFvQW5BaENpQURRUUJNQkVBUEN5QUVLQUl3SVFBZ0NrVUVRRUVBSVFFRFFDQUFRUUZxUVE5eElRQWdBVUVCYWlJQklBTkhEUUFMSUFRZ0FEWUNNQThMQTBBZ0JDZ0NOQ0VPSUFRb0FqZ2hEeUFFS0FJOElSQWdDaUVGUVFBaEJpQUlRUUowSUFKcUtBSUFJUWtnQ0VFQ2RDQUJhaWdDQUNFSEEwQWdCMEVEYWlFUklBbEJBV29oRWlBSklBMGdCeTBBQWlBQVFRWjBJQkJxSUFaQkFuUnFLQUlBYW1vdEFBQWdCeTBBQUNBQVFRWjBJQTVxSUFaQkFuUnFLQUlBYWlBTGFpMEFBQ0FNSUFjdEFBRWdBRUVHZENBUGFpQUdRUUowYWlnQ0FHcHFMUUFBYW1vNkFBQWdCa0VCYWtFUGNTRUdJQVZCZjJvaUJRUkFJQkloQ1NBUklRY01BUXNMSUFRZ0FFRUJha0VQY1NJQU5nSXdJQWhCQVdvaUNDQURSdzBBQ3d2dEFRRUtmeUFBS0FMa0F5Z0NHQ0VNSUFBb0FuZ2hCaUFBS0FKd0lncEZJQU5CQVVoeUJFQVBDeUFHUVFCTUJFQkJBQ0VBQTBBZ0FFRUNkQ0FDYWlnQ0FFRUFJQW9RUlJvZ0FFRUJhaUlBSUFOSERRQUxEd3NEUUNBS0lRc2dCVUVDZENBQ2FpZ0NBQ0VISUFWQkFuUWdBV29vQWdBaEFBTkFRUUFoQ0VFQUlRa2dBQ0VFQTBBZ0JFRUJhaUVOSUFrZ0NFRUNkQ0FNYWlnQ0FDQUVMUUFBYWkwQUFHb2hDU0FJUVFGcUlnZ2dCa2NFUUNBTklRUU1BUXNMSUFBZ0Jtb2hBQ0FIUVFGcUlRUWdCeUFKT2dBQUlBdEJmMm9pQ3dSQUlBUWhCd3dCQ3dzZ0JVRUJhaUlGSUFOSERRQUxDNjRCQVFsL0lBQW9BdVFES0FJWUlnUW9BZ0FoQnlBRUtBSUVJUWdnQkNnQ0NDRUpJQUFvQW5BaUNrVWdBMEVCU0hJRVFBOExBMEFnQ2lFQUlBVkJBblFnQW1vb0FnQWhCaUFGUVFKMElBRnFLQUlBSVFRRFFDQUVRUU5xSVFzZ0JrRUJhaUVNSUFZZ0NTQUVMUUFDYWkwQUFDQUVMUUFBSUFkcUxRQUFJQWdnQkMwQUFXb3RBQUJxYWpvQUFDQUFRWDlxSWdBRVFDQU1JUVlnQ3lFRURBRUxDeUFGUVFGcUlnVWdBMGNOQUFzTEpnRUJmeUFBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUx2UVVCQ1g4Z0FDQUFLQUxrQXlJQ0tBSVFOZ0tJQVNBQUlBSW9BaFEyQW9RQkFrQUNRQUpBQWtBZ0FDZ0NXQTREQUFFQ0F3c2dBQ2dDZUVFRFJnUkFJQUpCRmpZQ0JBVWdBa0VYTmdJRUN3OExJQUpCR0VFWklBQW9BbmhCQTBZYk5nSUVJQUpCQURZQ01DQUNLQUljUlFSQUlBQVFvUU1MSUFJb0FqUUVRQThMSUFBb0F1UURJUUlnQUNnQ2VDSUJRUUJNQkVBUEN3TkFJQUpCSUdvZ0JFRUNkR29vQWdBaEJRSkFBa0FnQkVVTkFFRUFJUU1EUUNBQ1FTQnFJQU5CQW5ScUtBSUFJQVZIQkVBZ0EwRUJhaUlESUFSUERRSU1BUXNMSUFKQk5Hb2dBMEVDZEdvb0FnQWlBMFVOQUF3QkN5QUFLQUlFS0FJQUlRRWdBRUVCUVlBSUlBRkJQM0ZCeWdGcUVRUUFJUVlnQlVFSmRFR0FmR29oQlVFQUlRRURRRUVBSVFNRFFFSC9BU0FESUFGQkJIUkJzREpxYWkwQUFFRUJkR3NpQ0VIL0FXd2hCeUFCUVFaMElBWnFJQU5CQW5ScUlBaEJBRWdFZjBFQVFRQWdCMnNnQlJBNWF3VWdCeUFGRURrTE5nSUFJQU5CQVdvaUEwRVFSdzBBQ3lBQlFRRnFJZ0ZCRUVjTkFBc2dCaUVESUFBb0FuZ2hBUXNnQWtFMGFpQUVRUUowYWlBRE5nSUFJQVJCQVdvaUJDQUJTQTBBQ3c4TElBSkJHallDQkNBQ1FRQTJBbFFnQWlnQ1JBUi9JQUJCK0FCcUlnRWhBeUFCS0FJQUlRRWdBRUh3QUdvRklBQkI4QUJxSWdRb0FnQWhDU0FBUWZnQWFpSURLQUlBUVFCTUJFQVBDeUFKUVFGMFFRUnFJUVZCQUNFQkEzOGdBQ2dDQkNnQ0JDRUdJQUpCeEFCcUlBRkJBblJxSUFCQkFTQUZJQVpCUDNGQnlnRnFFUVFBTmdJQUlBRkJBV29pQVNBREtBSUFJZ1pJRFFBZ0JpRUJJQVFMQ3lnQ0FDRUtJQUZCQUV3RVFBOExJQXBCQVhSQkJHb2hBVUVBSVFBRFFDQUNRY1FBYWlBQVFRSjBhaWdDQUVFQUlBRVFSUm9nQUVFQmFpSUFJQU1vQWdCSURRQUxEd3NnQUNnQ0FDSUJRVEUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDOHNCQVF0L0lBQW9BdVFES0FJWUlRb2dBQ2dDY0NJTFJTQURRUUZJY2dSQUR3c0RRQ0FMSVFnZ0JVRUNkQ0FDYWlnQ0FDRUdJQVZCQW5RZ0FXb29BZ0FoQkFOQUlBUXRBQUJCQTNZaURFRUNkQ0FLYWlnQ0FDQUVMUUFCUVFKMklnZEJCblJxSUFRdEFBSkJBM1lpRFVFQmRHb2lEaTRCQUNJSlJRUkFJQUFnRENBSElBMFFvZ01nRGk0QkFDRUpDeUFFUVFOcUlRUWdCa0VCYWlFSElBWWdDVUgvL3dOeFFmOEJham9BQUNBSVFYOXFJZ2dFUUNBSElRWU1BUXNMSUFWQkFXb2lCU0FEUncwQUN3dktCUUVuZnlBQUtBTGtBeUlMS0FJWUlSd2dBQ2dDY0NFTUlBQW9BdEFDSVJNZ0N5Z0NLQ0VVSUFBb0FvZ0JJZ1FvQWdBaEhTQUVLQUlFSVI0Z0JDZ0NDQ0VmSUFOQkFFd0VRQThMSUF4RklTQWdERUYvYWlJaFFRTnNJU0lnREVFRGJFRURhaUVqQTBBZ0RrRUNkQ0FCYWlnQ0FDRUhJQTVCQW5RZ0Ftb29BZ0FoRFNBTElBc29BaVFFZjBGOUlRbEJmeUVXSUFzb0FpQWdJMEVCZEdvaENDQU5JQ0ZxSVEwZ0J5QWlhaUVIUVFBRlFRTWhDVUVCSVJZZ0N5Z0NJQ0VJUVFFTE5nSWtJQ0FFUUVFQUlROUJBQ0VRUVFBaEJBVWdDVUVCYWlFa0lBbEJBbW9oSlNBSklBeHNJU3BCQUNFUlFRQWhFa0VBSVJkQkFDRVlRUUFoR1VFQUlROUJBQ0VRUVFBaEdpQU1JUnRCQUNFRklBZ2hCQU5BSUJNZ0pFRUJkQ0FFYWk0QkFDQVJRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFCYW1vdEFBQWlDa0VDZGlJR1FRWjBJQk1nQ1VFQmRDQUVhaUluTGdFQUlBVkJDR3BxUVFSMVFRSjBJQlJxS0FJQUlBY3RBQUJxYWkwQUFDSVJRUU4ySWhWQkFuUWdIR29vQWdCcUlCTWdKVUVCZENBRWFpNEJBQ0FTUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQ2Ftb3RBQUFpRWtFRGRpSW9RUUYwYWlJcExnRUFJZ1ZGQkVBZ0FDQVZJQVlnS0JDaUF5QXBMZ0VBSVFVTElBMGdCVUgvL3dOeFFYOXFJZ1k2QUFBZ0NpQUdJQjVxTFFBQWF5RUZJQklnQmlBZmFpMEFBR3NoQ2lBRUlBOGdFU0FHSUIxcUxRQUFheUlHUVFOc2Fqc0JBQ0FYSUFaQkJXeHFJUThnQmtFSGJDRVZJQVFnRUNBRlFRTnNhanNCQWlBWUlBVkJCV3hxSVJBZ0JVRUhiQ0VSSUFRZ0dpQUtRUU5zYWpzQkJDQVpJQXBCQld4cUlRUWdDa0VIYkNFU0lBY2dDV29oQnlBTklCWnFJUTBnRzBGL2FpSWJCRUFnQmlFWElBVWhHQ0FLSVJrZ0JDRWFJQlVoQlNBbklRUU1BUXNMSUNwQkFYUWdDR29oQ0FzZ0NDQVBPd0VBSUFnZ0VEc0JBaUFJSUFRN0FRUWdEa0VCYWlJT0lBTkhEUUFMQzlnSUFSZC9JQUFnQUNnQzVBTWlFeWdDRURZQ2lBRWdBQ2dDQkNnQ0FDRUJJQUJCQVNBVEtBSVVJZ3RCQlhRZ0FVRS9jVUhLQVdvUkJBQWlCVUVBTmdJQUlBVkJIellDQkNBRlFRQTJBZ2dnQlVFL05nSU1JQVZCQURZQ0VDQUZRUjgyQWhRZ0FDQUZFTEFDSUF0QkFVb0Vmd0ovUVFFaEJBTi9JQVJCQVhRZ0Mwb0VRRUVBSVFaQkFDRUNJQVVoQVVFQUlRTURmeUFCS0FJWUlna2dCa29oQnlBSklBWWdCeHNoQmlBQklBTWdCeHNoQXlBQlFTQnFJUUVnQWtFQmFpSUNJQVJIRFFBZ0F3c2hBUVZCQUNFR1FRQWhBaUFGSVFOQkFDRUJBMEFnQXlnQ0hDSUhJQVpLQkVBZ0F5QUJJQU1vQWhoQkFFb2lDUnNoQVNBSElBWWdDUnNoQmdzZ0EwRWdhaUVESUFKQkFXb2lBaUFFUncwQUN3c2dCQ0FCUlEwQkdpQUVRUVYwSUFWcUlBRW9BZ1EyQWdRZ0JFRUZkQ0FGYWlBQklnTW9BZ3cyQWd3Z0JFRUZkQ0FGYWlBQklnSW9BaFEyQWhRZ0JFRUZkQ0FGYWlJR0lBSW9BZ0EyQWdBZ0JFRUZkQ0FGYWtFSWFpSUhJQUlvQWdnMkFnQWdCRUVGZENBRmFrRVFhaUlKSUFJb0FoQTJBZ0FDUUFKL0FrQUNRQUpBUVFJZ0FpZ0NCQ0lJSUFJb0FnQWlER3RCQkhRaUNpQUNLQUlNSWcwZ0FpZ0NDQ0lPYTBFTWJDSVBTaUlRUVFGeklBSW9BaFFpRVNBQ0tBSVFJaEpyUVFOMElBb2dEeUFRRzBvYlFRTnhEZ01BQVFJRUN5QUJJQWdnREdwQkFoQTVJZ00yQWdRZ0Jnd0NDeUFESUEwZ0RtcEJBaEE1SWdNMkFnd2dCd3dCQ3lBQ0lCRWdFbXBCQWhBNUlnTTJBaFFnQ1FzZ0EwRUJhallDQUFzZ0FDQUNFTEFDSUFBZ0JoQ3dBaUFFUVFGcUlnUWdDMGdOQUNBRUN3c0ZRUUVMSVF0QkFDRUlBMEFnQUNnQzVBTW9BaGdoRHlBSVFRVjBJQVZxS0FJQUlnSWdDRUVGZENBRmFpZ0NCQ0lSU2lBSVFRVjBJQVZxS0FJSUlnNGdDRUVGZENBRmFpZ0NEQ0lTU25JZ0NFRUZkQ0FGYWlnQ0VDSU5JQWhCQlhRZ0JXb29BaFFpRUVweUJFQkJBQ0VCUVFBaEEwRUFJUVJCQUNFR0JVRUFJUUZCQUNFRFFRQWhCRUVBSVFZRFFDQUNRUUowSUE5cUtBSUFJUlFnQWtFRGRFRUVjaUVWSUE0aEJ3TkFJQWRCQW5SQkFuSWhGaUFIUVFaMElCUnFJQTFCQVhScUlRd2dEU0VKQTBBZ0RDNEJBQ0lYUWYvL0EzRWhDaUFYQkVBZ0FTQUtJQWxCQTNSQkJISnNhaUVCSUFNZ0NpQVdiR29oQXlBRUlBb2dGV3hxSVFRZ0JpQUthaUVHQ3lBTVFRSnFJUXdnQ1VFQmFpRUtJQWtnRUVnRVFDQUtJUWtNQVFzTElBZEJBV29oQ1NBSElCSklCRUFnQ1NFSERBRUxDeUFDUVFGcUlRY2dBaUFSU0FSQUlBY2hBZ3dCQ3dzTElBUWdCa0VCZFNJRWFpQUdFRGxCL3dGeElRSWdDQ0FBS0FLSUFTZ0NBR29nQWpvQUFDQURJQVJxSUFZUU9VSC9BWEVoQXlBSUlBQW9Bb2dCS0FJRWFpQURPZ0FBSUFFZ0JHb2dCaEE1UWY4QmNTRUJJQWdnQUNnQ2lBRW9BZ2hxSUFFNkFBQWdDRUVCYWlJSUlBdElEUUFMSUFBZ0N6WUNoQUVnQUNnQ0FDSUJRZUlBTmdJVUlBRWdDellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUJOQkFUWUNIQXViQVFFR2Z5QUFLQUxrQXlnQ0dDRUdJQUFvQW5BaUIwVWdBMEVCU0hJRVFBOExBMEFnQnlFQUlBUkJBblFnQVdvb0FnQWhBZ05BSUFJdEFBQkJBM1pCQW5RZ0Jtb29BZ0FnQWkwQUFVRUNka0VHZEdvZ0FpMEFBa0VEZGtFQmRHb2lDQzRCQUNJSlFRRnFRUkIwUVJCMUlRVWdDQ0FGSUFrZ0JSczdBUUFnQWtFRGFpRUNJQUJCZjJvaUFBMEFDeUFFUVFGcUlnUWdBMGNOQUFzTERRQWdBQ2dDNUFOQkFUWUNIQXZqQlFFRGZ5QUFLQUxrQXlJREtBSVlJUUlnQUNnQ1dBUi9JQUJCQWpZQ1dFRUNCVUVBQ3lFRUlBRUVRQ0FEUVJNMkFnUWdBMEdIQVRZQ0NDQURRUUUyQWh3RklBTkJGRUVWSUFSQkFrWWJOZ0lFSUFOQmlBRTJBZ2dnQUNnQ2hBRWlBVUVCU0FSQUlBQW9BZ0FpQVVFNk5nSVVJQUZCQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lCUVRzMkFoUWdBVUdBQWpZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpZUVFKR0JFQWdBQ2dDY0VFR2JFRU1haUVFSUFNb0FpQWlBVVVFUUNBQUtBSUVLQUlFSVFFZ0F5QUFRUUVnQkNBQlFUOXhRY29CYWhFRUFDSUJOZ0lnQ3lBQlFRQWdCQkJGR2lBREtBSW9SUVJBSUFBUXBBTUxJQU5CQURZQ0pBc0xJQU1vQWh4RkJFQVBDeUFDS0FJQVFRQkJnQ0FRUlJvZ0FpZ0NCRUVBUVlBZ0VFVWFJQUlvQWdoQkFFR0FJQkJGR2lBQ0tBSU1RUUJCZ0NBUVJSb2dBaWdDRUVFQVFZQWdFRVVhSUFJb0FoUkJBRUdBSUJCRkdpQUNLQUlZUVFCQmdDQVFSUm9nQWlnQ0hFRUFRWUFnRUVVYUlBSW9BaUJCQUVHQUlCQkZHaUFDS0FJa1FRQkJnQ0FRUlJvZ0FpZ0NLRUVBUVlBZ0VFVWFJQUlvQWl4QkFFR0FJQkJGR2lBQ0tBSXdRUUJCZ0NBUVJSb2dBaWdDTkVFQVFZQWdFRVVhSUFJb0FqaEJBRUdBSUJCRkdpQUNLQUk4UVFCQmdDQVFSUm9nQWtGQWF5Z0NBRUVBUVlBZ0VFVWFJQUlvQWtSQkFFR0FJQkJGR2lBQ0tBSklRUUJCZ0NBUVJSb2dBaWdDVEVFQVFZQWdFRVVhSUFJb0FsQkJBRUdBSUJCRkdpQUNLQUpVUVFCQmdDQVFSUm9nQWlnQ1dFRUFRWUFnRUVVYUlBSW9BbHhCQUVHQUlCQkZHaUFDS0FKZ1FRQkJnQ0FRUlJvZ0FpZ0NaRUVBUVlBZ0VFVWFJQUlvQW1oQkFFR0FJQkJGR2lBQ0tBSnNRUUJCZ0NBUVJSb2dBaWdDY0VFQVFZQWdFRVVhSUFJb0FuUkJBRUdBSUJCRkdpQUNLQUo0UVFCQmdDQVFSUm9nQWlnQ2ZFRUFRWUFnRUVVYUlBTkJBRFlDSEF1VkJBRVRmeUFBS0FMUUFpRUZJQUFvQXR3RElnUW9BaEFoRENBRUtBSVVJUTBnQkNnQ0dDRU9JQVFvQWh3aER5QUJLQUlBSUFKQkFuUnFLQUlBSVFnZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VFSUFFb0FnZ2dBa0VDZEdvb0FnQWhDU0FES0FJQUlRWWdBQ2dDY0NJQlFRRjJJZ29FUUNBRUlBcHFJUllnQVVGK2NTRVNJQXBCQm13aEV5QUpJUU1nQ0NFQ0lBWWhBU0FLSVJBRFFDQUVRUUZxSVJRZ0EwRUJhaUVWSUFNdEFBQWlCMEVDZENBTWFpZ0NBQ0VESUFRdEFBQWlDMEVDZENBUGFpZ0NBQ0FIUVFKMElBNXFLQUlBYWtFUWRTRUVJQXRCQW5RZ0RXb29BZ0FoQ3lBQklBTWdBaTBBQUNJSGFpQUZhaXdBQURvQUFDQUJJQVFnQjJvZ0JXb3NBQUE2QUFFZ0FTQUhJQXRxSUFWcUxBQUFPZ0FDSUFKQkFtb2hCeUFCSUFNZ0FpMEFBU0lDYWlBRmFpd0FBRG9BQXlBQklBVWdBaUFFYW1vc0FBQTZBQVFnQVNBRklBSWdDMnBxTEFBQU9nQUZJQUZCQm1vaEFTQVFRWDlxSWhBRVFDQVZJUU1nRkNFRUlBY2hBZ3dCQ3dzZ0NTQUthaUVKSUJZaEJDQUlJQkpxSVFnZ0JpQVRhaUVHSUFBb0FuQWhBUXNnQVVFQmNVVUVRQThMSUFRdEFBQWlBRUVDZENBUGFpZ0NBQ0FKTFFBQUlnRkJBblFnRG1vb0FnQnFRUkIxSVFJZ0FFRUNkQ0FOYWlnQ0FDRURJQVlnQ0MwQUFDSUFJQUZCQW5RZ0RHb29BZ0JxSUFWcUxBQUFPZ0FBSUFZZ0FDQUNhaUFGYWl3QUFEb0FBU0FHSUFBZ0Eyb2dCV29zQUFBNkFBSUxSd0FnQUNnQzNBTW9BZ3doQXlBQUlBRWdBaWdDQUNBRktBSUFRUUowSUFScUlBTkJIM0ZCK2dWcUVRY0FJQVVnQlNnQ0FFRUJhallDQUNBQ0lBSW9BZ0JCQVdvMkFnQUxnQVlCRjM4Z0FDZ0MwQUloQlNBQUtBTGNBeUlFS0FJUUlROGdCQ2dDRkNFUUlBUW9BaGdoRVNBRUtBSWNJUklnQVNnQ0FDSUhJQUpCQVhRaUJFRUNkR29vQWdBaERDQUVRUUZ5UVFKMElBZHFLQUlBSVFRZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VHSUFFb0FnZ2dBa0VDZEdvb0FnQWhEU0FES0FJQUlRZ2dBeWdDQkNFSklBQW9BbkFpQVVFQmRpSU9CRUFnQmlBT2FpRWFJQTVCQm13aEV5QUVJQUZCZm5FaUZtb2hGeUFOSVFjZ0JDRURJQXdoQkNBSklRRWdDQ0VDSUE0aEZBTkFJQVpCQVdvaEdDQUhRUUZxSVJrZ0J5MEFBQ0lLUVFKMElBOXFLQUlBSVFjZ0JpMEFBQ0lMUVFKMElCSnFLQUlBSUFwQkFuUWdFV29vQWdCcVFSQjFJUVlnQzBFQ2RDQVFhaWdDQUNFTElBSWdCeUFFTFFBQUlncHFJQVZxTEFBQU9nQUFJQUlnQmlBS2FpQUZhaXdBQURvQUFTQUNJQW9nQzJvZ0JXb3NBQUE2QUFJZ0JFRUNhaUVLSUFJZ0JTQUhJQVF0QUFFaUJHcHFMQUFBT2dBRElBSWdCU0FFSUFacWFpd0FBRG9BQkNBQ0lBVWdCQ0FMYW1vc0FBQTZBQVVnQWtFR2FpRUNJQUVnQlNBSElBTXRBQUFpQkdwcUxBQUFPZ0FBSUFFZ0JTQUVJQVpxYWl3QUFEb0FBU0FCSUFVZ0JDQUxhbW9zQUFBNkFBSWdBMEVDYWlFRUlBRWdBeTBBQVNJRElBZHFJQVZxTEFBQU9nQURJQUVnQXlBR2FpQUZhaXdBQURvQUJDQUJJQU1nQzJvZ0JXb3NBQUE2QUFVZ0FVRUdhaUVCSUJSQmYyb2lGQVJBSUJraEJ5QVlJUVlnQkNFRElBb2hCQXdCQ3dzZ0RTQU9haUVOSUJvaEJpQVhJUVFnRENBV2FpRU1JQWtnRTJvaENTQUlJQk5xSVFnZ0FDZ0NjQ0VCQ3lBQlFRRnhSUVJBRHdzZ0RTMEFBQ0lCUVFKMElBOXFLQUlBSVFBZ0JpMEFBQ0lDUVFKMElCSnFLQUlBSUFGQkFuUWdFV29vQWdCcVFSQjFJUUVnQWtFQ2RDQVFhaWdDQUNFQ0lBZ2dBQ0FNTFFBQUlnTnFJQVZxTEFBQU9nQUFJQWdnQVNBRGFpQUZhaXdBQURvQUFTQUlJQUlnQTJvZ0JXb3NBQUE2QUFJZ0NTQUFJQVF0QUFBaUFHb2dCV29zQUFBNkFBQWdDU0FBSUFGcUlBVnFMQUFBT2dBQklBa2dBQ0FDYWlBRmFpd0FBRG9BQWd1OEV3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lHSVEwZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUhJQUZJQkVBZ0JVRUFPd0VBSUExQkFEc0JBQ0FOUVFKcUlRMGdCVUVDYWlFRklBZEJBV29oQnd3QkN3c2dCaUVISUFGQmYyb2lFVUVCZENBR2FpRU5RUUFoQlFOQUlBVWdBa2dFUUNBTlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFCUVFGMElBMXFJUTBnQlVFQmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTlFRRWhDMEVBSVFVZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtnQmlFTUEwQWdDU0FSU0FSQUlBMHRBQUFnQTBvRVFBSkFJQkpCQVhRZ0RHb2lEeTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQTlCZm1vdUFRQWlDaUVJSUFwQkFFb2hCaUFQTGdFQ0lnVkJBRXdFUUNBR0JFQWdEQ0FLT3dFQUlBaEJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsSUJFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnREVGK2FpNEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQU1JQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFHQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUZJQVlvQWdCR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQ0FHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0RFRithaTRCQUNJR1FRQk1CRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBbEtCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUdLQUlBSUFWR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNGSUF4QkFEc0JBQXNnRFVFQmFpRU5JQWxCQVdvaENTQU1RUUpxSVF3TUFRc0xJQTFCQW1vaERTQUxRUUZxSVFzZ0FDRUZJQXhCQkdvaEJnd0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnYzJBZ2dnQndSL0lBMUJBQ0FIUVFKMEVFVWFJQVJCa0lBb2FrRUFJQWRCQkhRUVJScEJBQ0VEQTBBZ0F5QUhTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnZEJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTG5nSUJCSDhqQmlFREl3WkJFR29rQmlBQUtBTGNBeUlIS0FJa0JFQWdCMEVnYWtFQUlBVW9BZ0JCQW5RZ0JHcEJBRUVCSUFjb0FpZ1E5d0VnQjBFQU5nSWtJQVVnQlNnQ0FFRUJhallDQUNBSElBY29BaXhCZjJvMkFpd0ZJQVlnQlNnQ0FDSUpheUlHSUFjb0Fpd2lDRUVDSUFoQkFra2JJZ2dnQ0NBR1N4c2hCaUFESUFsQkFuUWdCR29vQWdBMkFnQWdCa0VCU3dSQUlBTWdDVUVCYWtFQ2RDQUVhaWdDQURZQ0JBVWdBeUFIS0FJZ05nSUVJQWRCQVRZQ0pBc2dCeWdDRENFRUlBQWdBU0FDS0FJQUlBTWdCRUVmY1VINkJXb1JCd0FDZnlBSEtBSWtSU0VLSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQWNvQWl3Z0JtczJBaXdnQ2tVTEJFQWdBeVFHRHdzTElBSWdBaWdDQUVFQmFqWUNBQ0FESkFZTEd3RUJmeUFBS0FMY0F5SUJRUUEyQWlRZ0FTQUFLQUowTmdJc0M3b0JBUWQvSUFBb0FpUWhCU0FBS0FKd0lRZ2dCRUVBVEFSQUR3c2dCVUVBVEFSQUR3c2dDRVVoQ2dOQUlBcEZCRUJCQUNFQUEwQkJBQ0VKSUFCQkFuUWdBV29vQWdBZ0FrRUNkR29vQWdBaEJpQUFJQU1vQWdCcUlRY0RRQ0FHUVFGcUlRc2dCeUFHTEFBQU9nQUFJQVVnQjJvaEJ5QUlJQWxCQVdvaUNVY0VRQ0FMSVFZTUFRc0xJQVVnQUVFQmFpSUFSdzBBQ3dzZ0JFRi9haUVBSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBQWhCQXdCQ3dzTDJBSUJEMzhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUJLQUlNSUFKQkFuUnFLQUlBSVJFZ0FrRUJhaUVTSUFNb0FnQWhBa0VBSVFBRFFDQUFJQTlxTFFBQUlRY2dBaUFGSUFBZ0Rtb3NBQUJCZjNOQi93RnhJZ2dnQUNBUWFpMEFBQ0lUUVFKMElBbHFLQUlBYTJvc0FBQTZBQUFnQWlBRklBZ2dCMEVDZENBTWFpZ0NBQ0FUUVFKMElBdHFLQUlBYWtFUWRXdHFMQUFBT2dBQklBSWdCU0FJSUFkQkFuUWdDbW9vQWdCcmFpd0FBRG9BQWlBQ0lBQWdFV29zQUFBNkFBTWdBa0VFYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCSWhBaUFOSVFRTUFRc0xDOU1CQVFsL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUFJQWxxTFFBQUlRc2dBaUFBSUFocUxBQUFJZ3hCL3dGeFFZQUJhaUlOSUFBZ0Iyb3RBQUJxT2dBQUlBSWdERG9BQVNBQ0lBc2dEV282QUFJZ0FrRURhaUVDSUFVZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFvaEFpQUdJUVFNQVFzTEM3MEJBUVovSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQ0lBQWdCMm9zQUFBNkFBQWdBaUFBSUFocUxBQUFPZ0FCSUFJZ0FDQUphaXdBQURvQUFpQUNRUU5xSVFJZ0JTQUFRUUZxSWdCSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0NpRUNJQVloQkF3QkN3c0x0QUlCRG44Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FDUVFGcUlSRWdBeWdDQUNFQ1FRQWhBQU5BSUFBZ0Qyb3RBQUFoQnlBQ0lBVWdBQ0FPYWkwQUFDSUlJQUFnRUdvdEFBQWlFa0VDZENBSmFpZ0NBR3BxTEFBQU9nQUFJQUlnQlNBSUlBZEJBblFnREdvb0FnQWdFa0VDZENBTGFpZ0NBR3BCRUhWcWFpd0FBRG9BQVNBQ0lBVWdDQ0FIUVFKMElBcHFLQUlBYW1vc0FBQTZBQUlnQWtFRGFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkVoQWlBTklRUU1BUXNMQzRvQkFRVi9JQUFvQW5BaUIwVWdCRUVCU0hJRVFBOExBMEFnQkVGL2FpRUlJQUVvQWdBZ0FrRUNkR29vQWdBaENVRUFJUUFnQXlnQ0FDRUZBMEFnQlNBQUlBbHFMQUFBSWdZNkFBSWdCU0FHT2dBQklBVWdCam9BQUNBRlFRTnFJUVVnQnlBQVFRRnFJZ0JIRFFBTElBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQWdoQkF3QkN3c0w5QUVCQ1g4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBbHFMUUFBSWd4QmdBRnFJZzBnQUNBSWFpMEFBR3BCL3dGeFFRSjBJQVZxS0FJQUlBeEJnQUp5UVFKMElBVnFLQUlBYWlBQUlBcHFMUUFBSUExcVFmOEJjVUdBQkhKQkFuUWdCV29vQWdCcVFSQjJPZ0FBSUFCQkFXb2lBQ0FHUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFjaEJBd0JDd3NMM2dFQkIzOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQXBxTFFBQVFZQUVja0VDZENBRmFpZ0NBQ0FBSUFocUxRQUFRUUowSUFWcUtBSUFJQUFnQ1dvdEFBQkJnQUp5UVFKMElBVnFLQUlBYW1wQkVIWTZBQUFnQUVFQmFpSUFJQVpIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQnlFRURBRUxDd3N5QVFGL0lBQW9BZ1FnQUNnQ0NCQ0xBU0lCQkVBZ0FTQUFFTFFGUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRc1hBQ0FCS0FJQUlBSWdBMEVBSUFRZ0FDZ0NjQkQzQVF1SEJBRU1meUFES0FJQUlRZ2dBU2dDQkNJRElBQW9BdHdESWdWQmpBRnFhaXdBQUNFQklBTWdCVUdXQVdwcUxRQUFJUU1nQUNnQ3dBSWlCRUVBVEFSQUR3c2dBVUgvQVhFaEJTQUJRUUJISVF3Z0EwSC9BWEVpQ2tGL2FpRU5JQU5CL3dGeFFRRktCRUFnQlVGK0lBVkJmM01nQVJ0cVFRSnFJUTVCQUNFRUEwQUNRQ0FFUVFKMElBaHFLQUlBSWdNZ0FDZ0NjQ0lCYWlFUElBRkJBRW9FUUNBTVJRMEJJQVpCQW5RZ0Ftb29BZ0FoQnlBRElRRURRQ0FCSUFjc0FBQWdEaEJGR2lBRklRTURRQ0FCUVFGcUlRRWdBMEYvYWlFTElBTkJBVW9FUUNBTElRTU1BUXNMSUFkQkFXb2hCeUFCSUE5SkRRQUxJQUFvQW5BaEFRc2dDQ0FFSUFnZ0JFRUJhaUFOSUFFUTl3RWdCa0VCYWlFR0lBUWdDbW9pQkNBQUtBTEFBa2dOQVVFYklRa0xDeUFKUVJ0R0JFQVBDd05BREFBQUN3QUxJQXhGQkVBZ0FDZ0NjRUVBU2lFQlFRQWhBQU4vSUFFRWYwRUFCU0FBSUFwcUlnQWdCRWdFZnd3Q0JVRWJDd3NMUVJ0R0JFQVBDd05BREFBQUN3QUxRUUFoQkFOQUlBWkJBblFnQ0dvb0FnQWlBU0FBS0FKd0lnTnFJUWtnQTBFQVNnUkFJQVJCQW5RZ0Ftb29BZ0FoQndOQUlBRWdCeXdBQUNBRkVFVWFJQVVoQXdOQUlBRkJBV29oQVNBRFFYOXFJUXNnQTBFQlNnUkFJQXNoQXd3QkN3c2dCMEVCYWlFSElBRWdDVWtOQUFzTElBUkJBV29oQkNBR0lBcHFJZ1lnQUNnQ3dBSklEUUFMQzY4QkFRVi9JQU1vQWdBaEJTQUFLQUxBQWtFQVRBUkFEd3RCQUNFREEwQWdBMEVDZENBRmFpZ0NBQ0lISUFBb0FuQWlBV29oQ0NBQlFRQktCRUFnQmtFQ2RDQUNhaWdDQUNFRUlBY2hBUU5BSUFSQkFXb2hCeUFCSUFRc0FBQWlCRG9BQUNBQklBUTZBQUVnQVVFQ2FpSUJJQWhKQkVBZ0J5RUVEQUVMQ3lBQUtBSndJUUVMSUFVZ0F5QUZJQU5CQVhKQkFTQUJFUGNCSUFaQkFXb2hCaUFEUVFKcUlnTWdBQ2dDd0FKSURRQUxDNVVCQVFSL0lBTW9BZ0FoQmlBQUtBTEFBaUlCUVFCTUJFQVBDMEVBSVFNRFFDQURRUUowSUFacUtBSUFJZ1VnQUNnQ2NDSUVhaUVISUFSQkFFb0VRQ0FEUVFKMElBSnFLQUlBSVFRZ0JTRUJBMEFnQkVFQmFpRUZJQUVnQkN3QUFDSUVPZ0FBSUFFZ0JEb0FBU0FCUVFKcUlnRWdCMGtFUUNBRklRUU1BUXNMSUFBb0FzQUNJUUVMSUFOQkFXb2lBeUFCU0EwQUN3c0pBQ0FESUFJMkFnQUxDUUFnQTBFQU5nSUFDOG9DQVFOL0lBQW9BdHdESWdjb0Fsd2lDQ0FBS0FMQUFpSURTQVIvSUFnRklBQW9BaVJCQUVvRVFDQUFLQUxZQVNFSVFRQWhBd05BSUFkQk5Hb2dBMEVDZEdvb0FnQWhDU0FBSUFnZ0EwRUNkQ0FCYWlnQ0FDQUNLQUlBSUFkQjVBQnFJQU5CQW5ScUtBSUFiRUVDZEdvZ0IwRU1haUFEUVFKMGFpQUpRUjl4UWZvRmFoRUhBQ0FJUWRnQWFpRUlJQU5CQVdvaUF5QUFLQUlrU0EwQUN5QUFLQUxBQWlFREN5QUhRUUEyQWx4QkFBc2hBU0FHSUFVb0FnQWlCbXNpQ0NBSEtBSmdJZ2tnQXlBQmF5SURJQU1nQ1VzYklnTWdBeUFJU3hzaEF5QUFLQUxnQXlnQ0JDRUlJQUFnQjBFTWFpQUJJQVpCQW5RZ0JHb2dBeUFJUVQ5eFFab0dhaEVGQUNBRklBTWdCU2dDQUdvMkFnQWdCeUFIS0FKZ0lBTnJOZ0pnSUFjZ0F5QUhLQUpjYWlJQk5nSmNJQUVnQUNnQ3dBSklCRUFQQ3lBQ0lBSW9BZ0JCQVdvMkFnQUxId0VCZnlBQUtBTGNBeUlCSUFBb0FzQUNOZ0pjSUFFZ0FDZ0NkRFlDWUF1SEFnRUZmeUFBS0FMSUF5SUhLQUlZSWdNRVFDQUhRUlJxSVFFZ0IwRVFhaUVDSUFjb0Fnd2hDUVVnQUNnQ0JDZ0NIQ0VESUFjZ0FDQUhLQUlJSUFkQkZHb2lBU2dDQUNBSFFSQnFJZ0lvQWdCQkFDQURRUjl4UWFJQ2FoRUlBQ0lKTmdJTUlBY29BaGdoQXdzZ0FDZ0NkQ0FCS0FJQWF5SUlJQVlnQlNnQ0FDSUtheUlHSUFJb0FnQWdBMnNpQ3lBTElBWkxHeUlHSUFZZ0NFc2JJUVlnQUNnQzVBTW9BZ1FoQ0NBQUlBTkJBblFnQ1dvZ0NrRUNkQ0FFYWlBR0lBaEJIM0ZCK2dWcUVRY0FJQVVnQmlBRktBSUFhallDQUNBSElBWWdCeWdDR0dvaUFEWUNHQ0FBSUFJb0FnQWlBRWtFUUE4TElBRWdBQ0FCS0FJQWFqWUNBQ0FIUVFBMkFoZ0xpZ0lCQlg4Z0FDZ0N5QU1pQjBFWWFpSUlLQUlBSWdRRVFDQUhRUkJxSVFZZ0IwRU1haUlKSVFvZ0NTZ0NBQ0VKQlNBQUtBSUVLQUljSVFRZ0IwRU1haUlLSUFBZ0J5Z0NDQ0FIS0FJVUlBZEJFR29pQmlnQ0FFRUJJQVJCSDNGQm9nSnFFUWdBSWdrMkFnQWdDQ2dDQUNFRUN5QUFLQUxjQXlnQ0JDRUxJQUFnQVNBQ0lBTWdDU0FJSUFZb0FnQWdDMEVIY1VIaUJtb1JEUUFnQ0NnQ0FDSUJJQVJMQkVBZ0FDZ0M1QU1vQWdRaEFpQUFJQW9vQWdBZ0JFRUNkR3BCQUNBQklBUnJJZ0FnQWtFZmNVSDZCV29SQndBZ0JTQUFJQVVvQWdCcU5nSUFJQWdvQWdBaEFRc2dBU0FHS0FJQUlnQkpCRUFQQ3lBSElBQWdCeWdDRkdvMkFoUWdDRUVBTmdJQUM1OEJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JpQUZLQUlBYXlFSUlBQW9Bc2dESWdrb0FoQWhDaUFIUVFBMkFnQWdBQ2dDM0FNb0FnUWhCaUFBSUFFZ0FpQURJQWtvQWd3Z0J5QUtJQWdnQ0NBS1N4c2dCa0VIY1VIaUJtb1JEUUFnQUNnQzVBTW9BZ1FoQVNBQUlBa29BZ3dnQlNnQ0FFRUNkQ0FFYWlBSEtBSUFJQUZCSDNGQitnVnFFUWNBSUFVZ0J5Z0NBQ0FGS0FJQWFqWUNBQ0FISkFZTGtnSUJBWDhnQUNnQ3lBTWhBZ0pBQWtBQ1FBSkFBa0FnQVE0RUFBTUNBUU1MSUFBb0FsUkZCRUFnQWlBQUtBTGNBeWdDQkRZQ0JBd0VDeUFDUVFRMkFnUWdBaWdDREVVRVFDQUFLQUlFS0FJY0lRRWdBaUFBSUFJb0FnaEJBQ0FDS0FJUVFRRWdBVUVmY1VHaUFtb1JDQUEyQWd3TERBTUxJQUlvQWdoRkJFQWdBQ2dDQUNJQlFRTTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRUVUyQWdRTUFnc2dBaWdDQ0VVRVFDQUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJCallDQkF3QkN5QUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJBRFlDR0NBQ1FRQTJBaFFMS1FFQmZ5QUFLQUxJQXlnQ0JDRUVJQUJCQUVFQVFRQWdBU0FDSUFNZ0JFRUhjVUhpQm1vUkRRQUxmd0VFZnlBQUtBTEFBeUlFUVRCcUlnWW9BZ0FnQkNnQ05DSUZTUVJBSUFSQkNHb2hCd1VnQUNnQ3hBTW9BZ3doQlNBQUlBUkJDR29pQnlBRlFUOXhRWW9CYWhFQ0FBUi9JQVpCQURZQ0FDQUVLQUkwQlE4TElRVUxJQUFvQXNnREtBSUVJUVFnQUNBSElBWWdCU0FCSUFJZ0F5QUVRUWR4UWVJR2FoRU5BQXVWQndFUGZ5QUFLQUxBQXlJRUtBSTRSUVJBSUFBb0FzUURLQUlNSVFnZ0FDQUVRVHhxSUFRb0FrUkJBblJxS0FJQUlBaEJQM0ZCaWdGcUVRSUFCRUFnQkVFQk5nSTRJQVFnQkNnQ1RFRUJhallDVEFVUEN3c0NRQUpBQWtBQ1FBSkFBa0FnQkNnQ1NBNERBUUlBQXdzZ0FDZ0N5QU1vQWdRaEJTQUFJQVJCUEdvZ0JDZ0NSRUVDZEdvb0FnQWdCRUV3YWlJSUlBUkJOR29pQ2lnQ0FDQUJJQUlnQXlBRlFRZHhRZUlHYWhFTkFDQUlLQUlBSUFvb0FnQkpCRUFQQ3lBRVFRQTJBa2dnQWlnQ0FDQURTUTBERHdzZ0JFRXdhaUVJSUFSQk5Hb2hDZ3dDQ3lBRVFUQnFJUWdnQkVFMGFpRUtEQUlMRHdzZ0NFRUFOZ0lBSUFvZ0FDZ0N5QUlpRGtGL2FqWUNBQ0FFS0FKTUlBQW9Bc3dDUmdSQUlBQW9Bc0FESVFzZ0FDZ0NKQ0lQUVFCS0JFQWdDMEU4YWlBTEtBSkVRUUowYWlFUUlBQW9BdGdCSVFVRFFDQUZLQUlNSUFVb0FpaHNJZ2NnRGhBNUlRWWdCeUFGS0FJd0lBY1FUaUlISUFkRkd5RUhJQWxGQkVBZ0N5QUhRWDlxSUFZUU9VRUJhallDTkFzZ0VDZ0NBQ0FKUVFKMGFpZ0NBQ0VOSUFaQkFYUWhFU0FHUVFCS0JFQWdCMEYvYWtFQ2RDQU5haUVNUVFBaEJnTkFJQVlnQjJwQkFuUWdEV29nRENnQ0FEWUNBQ0FHUVFGcUlnWWdFVWdOQUFzTElBVkIyQUJxSVFVZ0NVRUJhaUlKSUE5SERRQUxDd3NnQkVFQk5nSklDeUFBS0FMSUF5Z0NCQ0VGSUFBZ0JFRThhaUFFS0FKRVFRSjBhaWdDQUNBSUlBb29BZ0FnQVNBQ0lBTWdCVUVIY1VIaUJtb1JEUUFnQ0NnQ0FDQUtLQUlBU1FSQUR3c2dCQ2dDVEVFQlJnUkFJQUFvQXNBRElRc2dBQ2dDeUFJaEFTQUFLQUlrSWdkQkFFb0VRQ0FMUVVCcklRMGdBVUVCYWlFT0lBRkJBbW9oRHlBQUtBTFlBU0VDUVFBaEF3TkFJQUlvQWd3Z0FpZ0NLR3dnQVJBNUlRVWdDeWdDUENBRFFRSjBhaWdDQUNFSklBMG9BZ0FnQTBFQ2RHb29BZ0FoQmlBRlFRQktCRUFnQlNBT2JDRVFJQVVnRDJ3aEVVRUFJUUFEUUNBQUlBVnJJZ3hCQW5RZ0NXb2dBQ0FRYWlJU1FRSjBJQWxxS0FJQU5nSUFJQXhCQW5RZ0Jtb2dFa0VDZENBR2FpZ0NBRFlDQUNBQUlCRnFJZ3hCQW5RZ0NXb2dBRUVDZENBSmFpZ0NBRFlDQUNBTVFRSjBJQVpxSUFCQkFuUWdCbW9vQWdBMkFnQWdBRUVCYWlJQUlBVkhEUUFMQ3lBQ1FkZ0FhaUVDSUFOQkFXb2lBeUFIUncwQUN3c0ZJQUFvQXNnQ0lRRUxJQVFnQkNnQ1JFRUJjellDUkNBRVFRQTJBamdnQ0NBQlFRRnFOZ0lBSUFvZ0FVRUNhallDQUNBRVFRSTJBa2dMNlFNQkVIOGdBQ2dDd0FNaEFnSkFBa0FDUUNBQkRnTUFBZ0VDQ3lBQUtBTGNBeWdDQ0VVRVFDQUNRUkUyQWdRZ0FpQUNLQUkwTmdJd0R3c2dBa0VRTmdJRUlBQW9Bc2dDSVFRZ0FDZ0NKQ0lMUVFCS0JFQWdBa0ZBYXlFTUlBUkJBbW9oRFNBRVFYNXFJUTRnQUNnQzJBRWhCVUVBSVFBRFFDQUZLQUlNSUFVb0FpaHNJQVFRT1NFRElBSW9BandnQUVFQ2RHb29BZ0FoQmlBTUtBSUFJQUJCQW5ScUtBSUFJUWNnQWtFSWFpQUFRUUowYWlnQ0FDRUlJQU1nRFd3aUNVRUFTZ1JBUVFBaEFRTkFJQUZCQW5RZ0Iyb2dBVUVDZENBSWFpZ0NBQ0lLTmdJQUlBRkJBblFnQm1vZ0NqWUNBQ0FCUVFGcUlnRWdDVWNOQUFzTElBTkJBWFFoQ1NBRFFRQktCRUFnQXlBRWJDRUtJQU1nRG13aEQwRUFJUUVEUUNBQklBOXFJaEJCQW5RZ0Iyb2dBU0FLYWlJUlFRSjBJQWhxS0FJQU5nSUFJQkZCQW5RZ0Iyb2dFRUVDZENBSWFpZ0NBRFlDQUNBQlFRRnFJZ0VnQ1VnTkFBdEJBQ0VCQTBBZ0FTQURhMEVDZENBR2FpQUdLQUlBTmdJQUlBRkJBV29pQVNBRFJ3MEFDd3NnQlVIWUFHb2hCU0FBUVFGcUlnQWdDMGNOQUFzTElBSkJBRFlDUkNBQ1FRQTJBa2dnQWtFQU5nSk1JQUpCQURZQ09BOExJQUpCRWpZQ0JBOExJQUFvQWdBaUFVRUROZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBdUJCQUVKZnlBQUlBQkJBVUhRQUNBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNJRU5nTEFBeUFFUVRNMkFnQWdBQ2dDeUFJaEFpQUFLQUxjQXlnQ0NBUi9JQUpCQWtnRVFDQUFLQUlBSWdOQk1EWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQ0FBS0FMSUFpRUNDeUFBS0FMQUF5SURJQUJCQVNBQVFTUnFJZ1lvQWdCQkEzUWdBQ2dDQkNnQ0FFRS9jVUhLQVdvUkJBQWlBVFlDUENBRFFVQnJJZ2NnQVNBQUtBSWtJZ0ZCQW5ScU5nSUFJQUZCQUVvRVFDQUNRUVJxSVFnZ0FDZ0MyQUVoQWtFQUlRRURmeUFBUVFFZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlnVWdDR3dpQ1VFRGRDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDQUZRUUowYWlFRklBTW9BandnQVVFQ2RHb2dCVFlDQUNBSEtBSUFJQUZCQW5ScUlBbEJBblFnQldvMkFnQWdBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKQ0lGU0EwQUlBVUxJUUVMSUFBb0FzZ0NJZ1ZCQW1vaEFpQUJJUU1nQlFVZ0JDQUNOZ0kwSUFCQkpHb2hCaUFBS0FJa0lRTWdBZ3NoQVNBRFFRQk1CRUFQQ3lBRVFRaHFJUVZCQUNFRElBQW9BdGdCSVFRRFFDQUVLQUlNSUFRb0FpaHNJQUVRT1NFQklBTkJBblFnQldvZ0FFRUJJQVFvQWh3Z0JDZ0NKR3dnQVNBQ2JDQUFLQUlFS0FJSVFROXhRWW9DYWhFSkFEWUNBQ0FEUVFGcUlnTWdCaWdDQUVnRVFDQUVRZGdBYWlFRUlBQW9Bc2dDSVFFTUFRc0xDOElCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVFY0lBSkJQM0ZCeWdGcUVRUUFJZ0kyQXNnRElBSkJNallDQUNBQ1FRQTJBZ2dnQWtFQU5nSU1JQUFvQWxSRkJFQVBDeUFDSUFBb0FzQUNJZ00yQWhBZ0FDZ0NCQ0VFSUFFRVFDQUVLQUlRSVFFZ0FpQUFRUUZCQUNBQUtBSndJQUFvQW5oc0lBQW9BblFnQXhENEFTQUNLQUlRSUFGQlAzRkJ4Z0pxRVFvQU5nSUlCU0FFS0FJSUlRRWdBaUFBUVFFZ0FDZ0NjQ0FBS0FKNGJDQURJQUZCRDNGQmlnSnFFUWtBTmdJTUN3dWhCQUVNZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCb0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDM0FNZ0FrR0dBVFlDQUNBQ1FRTTJBZ1FnQWtFQU5nSUlJQUFvQXJRQ0JFQWdBQ2dDQUNJQlFSbzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFLQUlrUVFCTUJFQVBDeUFDUWVRQWFpRUpJQUpCTkdvaEJTQUNRUXhxSVFvZ0FrR01BV29oQ3lBQ1FaWUJhaUVNSUFBb0F0Z0JJUUpCQUNFQkEwQWdBaWdDQ0NBQ0tBSWtiQ0FBS0FMRUFoQTVJUWNnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SVFZZ0FDZ0N2QUloQkNBQUtBTEFBaUVJSUFGQkFuUWdDV29nQmpZQ0FDQUNLQUkwQkVBQ1FDQUdJQWhHSWdNZ0JDQUhSbkVFUUNBQlFRSjBJQVZxUVF3MkFnQU1BUXNnQXlBRUlBZEJBWFJHSWdOeEJFQWdBVUVDZENBRmFrRU5OZ0lBQlFKQUlBTWdDQ0FHUVFGMFJuRUVRQ0FCUVFKMElBVnFRUTQyQWdBTUFRc2dCQ0FISUFRZ0J4QTVJZ1JzYTBVRVFDQUlJQVlnQ0NBR0VEa2lBMnhyUlFSQUlBRkJBblFnQldwQkR6WUNBQ0FCSUF0cUlBUTZBQUFnQVNBTWFpQURPZ0FBREFJTEN5QUFLQUlBSWdOQkp6WUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRTWdBVUVDZENBS2FpQUFRUUVnQUNnQ2NDQUFLQUs4QWhENEFTQUFLQUxBQWlBRFFROXhRWW9DYWhFSkFEWUNBQXNGSUFGQkFuUWdCV3BCQ3pZQ0FBc2dBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKRWdOQUFzTGtoQUJCbjhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFUWUM0QU1nQVVHRkFUWUNBQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQkFnSUJBUU1MSUFBb0FpUkJBVWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFNTElBQW9BaVJCQTBjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBSUxJQUFvQWlSQkJFY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUVMSUFBb0FpUkJBVWdFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBS3dBZ1JBQWtBQ1FDQUFLQUlvUVFKckRnVUJBQUFBQVFBTElBQW9BZ0FpQWtFY05nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzTEFrQUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFrRUJhdzRHQUFFRUF3UUNCQXNnQUVFQk5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVBQWdJQ0FBSUxJQUZCSmpZQ0JDQUFLQUlrSWdKQkFVd05CeUFBS0FMWUFTRURRUUVoQVFOQUlBRkIyQUJzSUFOcVFRQTJBalFnQVVFQmFpSUJJQUpJRFFBTERBSUxBa0FDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFbk5nSUVEQUlMSUFGQktEWUNCQXdCQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQUtBTGdBeUFBUVFGQmdCZ2dBVUUvY1VIS0FXb1JCQUFpQWpZQ0dFRUFJUUVEUUNBQlFRSjBJQUpxSUFGQmk1a0JiRFlDQUNBQlFZQUNha0VDZENBQ2FpQUJRY2FzQW13MkFnQWdBVUdBQkdwQkFuUWdBbW9nQVVHdk9teEJnSUFDYWpZQ0FDQUJRUUZxSWdGQmdBSkhEUUFMREFFTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN3d0VDeUFBUVFNMkFuZ0NRQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFNQkJBUUVBZ1FMSUFGQktUWUNCQXdJQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3REN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCMDVzTGJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0hFbGc1c1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRZDJrZW13MkFnQWdBVUVDZENBRGFpQUNRYzJmZld4QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDd0pBQWtBQ1FDQUFLQUt3QWc0Q0FBRUNDeUFCUVNzMkFnUU1Cd3NnQVVFc05nSUVEQVlMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQkFzTUF3c2dBRUVETmdKNElBQW9BaWhCQmtjRVFDQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUF3c0NRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVyTmdJRURBUUxJQUZCTERZQ0JBd0RDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1BZ3NnQUVFRU5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFRWF3NENBUUFDQ3lBQlFTMDJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N5QUJRUzQyQWdRTUF3c2dBQ2dDQUNJQlFSdzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBSUxEQUVMSUFBb0FpZ2dBa1lFUUNBQUlBQW9BaVEyQW5nZ0FVRXVOZ0lFQlNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSlVCRUFnQUVFQk5nSjhEd3NnQUNBQUtBSjROZ0o4Qzg0RUFRZC9JQUFvQWdRb0FnQWhBU0FBSUFCQkFVRXdJQUZCUDNGQnlnRnFFUVFBSWdFMkF0d0RJQUZCaEFFMkFnQWdBVUVBTmdJSUlBRWdBQ2dDZUNBQUtBSndiQ0lDTmdJb0lBQW9Bc0FDUVFKR0JFQWdBVUVCTmdJRUlBRkJDVFlDRENBQUtBSUVLQUlFSVFNZ0FTQUFRUUVnQWlBRFFUOXhRY29CYWhFRUFEWUNJQ0FBS0FMY0F5RUJCU0FCUVFJMkFnUWdBVUVLTmdJTUlBRkJBRFlDSUFzQ2Z5QUFLQUlvUVFkR0lRY2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJUUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRkNBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaGdnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBaHdnQVNnQ0VDRURJQUVvQWhRaEJDQUJLQUlZSVFVZ0J3c0VRRUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIVG13dHNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWNTV0RteEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCM2FSNmJEWUNBQ0FBUVFKMElBSnFJQUZCelo5OWJFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxCVUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIcHpRVnNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWFLTEIyeEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCcnBKOWJEWUNBQ0FBUVFKMElBSnFJQUZCNTg5K2JFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxDd3ZIQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQkxDQUJRVDl4UWNvQmFoRUVBQ0lETmdMa0F5QURRVEUyQWdBZ0EwR0RBVFlDRENBRFFRQTJBaUFnQTBFQU5nSW9JQUFvQW5oQkEwY0VRQ0FBS0FJQUlnRkJNRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FESUFCQkFVR0FBU0FCUVQ5eFFjb0JhaEVFQURZQ0dFRUFJUUVEUUNBQUtBSUVLQUlFSVFJZ0FFRUJRWUFnSUFKQlAzRkJ5Z0ZxRVFRQUlRSWdBeWdDR0NBQlFRSjBhaUFDTmdJQUlBRkJBV29pQVVFZ1J3MEFDeUFEUVFFMkFod2dBQ2dDYkFSQUlBQW9BbUFpQVVFSVNBUkFJQUFvQWdBaUFrRTZOZ0lVSUFKQkNEWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQ1FUczJBaFFnQWtHQUFqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUUlnQXlBQVFRRWdBVUVESUFKQkQzRkJpZ0pxRVFrQU5nSVFJQU1nQVRZQ0ZBVWdBMEVBTmdJUUN5QUFLQUpZUlFSQUR3c2dBRUVDTmdKWUlBQW9BZ1FvQWdRaEFTQURJQUJCQVNBQUtBSndRUVpzUVF4cUlBRkJQM0ZCeWdGcUVRUUFOZ0lnSUFBUXBBTUxqUWtCRDM4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUWRnQUlBRkJQM0ZCeWdGcUVRUUFJZ0UyQXVRRElBRkJNRFlDQUNBQlFZRUJOZ0lJSUFGQmdnRTJBZ3dnQVVFQU5nSkVJQUZCQURZQ05DQUFLQUo0UVFSS0JFQWdBQ2dDQUNJQlFUazJBaFFnQVVFRU5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDWUNJRlFZQUNTZ1JBSUFBb0FnQWlBVUU3TmdJVUlBRkJnQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FtQWhCUXNnQUNnQzVBTWhCeUFBS0FKNElnWkJBVW9FUUVFQklRRURmMEVCSVFNZ0FVRUJhaUlFSVFJRFFDQUNJQVJzSVFJZ0EwRUJhaUlESUFaSERRQUxJQUlnQlVvRWZ5QUNJUU1nQVFVZ0JDRUJEQUVMQ3lFQ0JTQUZRUUVnQlVFQlNoc2lBa0VCYWlFREN5QUNRUUpKQkVBZ0FDZ0NBQ0lCUVRvMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0JrRUFTZ1JBUVFFaEFVRUFJUU1EUUNBSFFTQnFJQU5CQW5ScUlBSTJBZ0FnQVNBQ2JDRUJJQU5CQVdvaUF5QUdSdzBBQ3dKQUlBQW9BaXhCQWtZRVFFRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBRZFNIQVdvb0FnQkJBblJxSWdrb0FnQWlCRUVCYWlFSUFrQUNRQ0FCSUFRUU9TQUliQ0lFSUFWS0RRQWdDU0FJTmdJQUlBTkJBV29pQXlBR1NBUi9RUUVoQWlBRUJVRUJJUUlnQkNFQkRBRUxJUUVNQVFzZ0FrVU5BMEVBSVFOQkFDRUNDd3dBQUFzQUJVRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBhaUlKS0FJQUlnUkJBV29oQ0FKQUFrQWdBU0FFRURrZ0NHd2lCQ0FGU2cwQUlBa2dDRFlDQUNBRFFRRnFJZ01nQmtnRWYwRUJJUUlnQkFWQkFTRUNJQVFoQVF3QkN5RUJEQUVMSUFKRkRRTkJBQ0VEUVFBaEFnc01BQUFMQUFzQUN5QUJJUUlGUVFFaEFnc2dBQ2dDQUNFQklBQW9BbmhCQTBZRVFDQUJJQUkyQWhnZ0FTQUhLQUlnTmdJY0lBRWdCeWdDSkRZQ0lDQUJJQWNvQWlnMkFpUWdBVUhnQURZQ0ZDQUJLQUlFSVFFRklBRkI0UUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVFzZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFBb0FnUW9BZ2doQVNBQVFRRWdBaUFBS0FKNElBRkJEM0ZCaWdKcUVRa0FJUW9nQUNnQ2VDSUJRUUJLQkVCQkFDRUVJQUloQXdOQUlBTWdCMEVnYWlBRVFRSjBhaWdDQUNJSkVEa2hCU0FKUVFCS0JFQWdDVUYvYWlJTFFRSVFPU0VNSUFSQkFuUWdDbW9oRFNBRlFRQktCRUJCQUNFR0EwQWdCU0FHYkNJQklBSklCRUFnRENBR1FmOEJiR29nQ3hBNVFmOEJjU0VPQTBCQkFDRUlBMEFnRFNnQ0FDQUJJQWhxYWlBT09nQUFJQVVnQ0VFQmFpSUlSdzBBQ3lBQklBTnFJZ0VnQWtnTkFBc0xJQWtnQmtFQmFpSUdSdzBBQ3lBQUtBSjRJUUVMQ3lBRVFRRnFJZ1FnQVVnRVFDQUZJUU1NQVFzTEN5QUhJQW8yQWhBZ0J5QUNOZ0lVSUFBUW9RTWdBQ2dDV0VFQ1J3UkFEd3NnQUNnQzVBTWhBaUFBS0FKd0lROGdBQ2dDZUVFQVRBUkFEd3NnRDBFQmRFRUVhaUVEUVFBaEFRTkFJQUFvQWdRb0FnUWhCQ0FDUWNRQWFpQUJRUUowYWlBQVFRRWdBeUFFUVQ5eFFjb0JhaEVFQURZQ0FDQUJRUUZxSWdFZ0FDZ0NlRWdOQUFzTDJ3VUJEMzhnQUNnQ0ZDSUNRY29CUndSQUlBQW9BZ0FpQVVFVk5nSVVJQUVnQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQVFrUVlnQUNnQzJBRWhCQ0FBS0FJa0lneEJBRW9pRGdSL0lBQW9Bc2dDSVFJZ0FDZ0N4QUlpQ0VFSVFRUWdBQ2dDVEJzaUNVb0VRQ0FDSUFsS0lRMGdDRUVCZENFRElBUWhBUU5BSUFFaUJ5QUlOZ0lrSUEwRVFDQUNJUUVGQWtBZ0FDZ0N3QUloQ2lBSEtBSU1JUXRCQVNFR0lBSWhBUU5BSUFvZ0JrRUJkQ0lHSUF0c0VFOE5BU0FDSUFac0lnRWdDVXdOQUFzTEN5QUhJZ1lnQVRZQ0tDQUlJQUZCQVhRaUNrb0VRQ0FISUFvMkFpUUZJQUVnQTBvRVFDQUdJQU0yQWlnTEN5QUdRZGdBYWlFQklBVkJBV29pQlNBTVNBMEFDd1VnQUNnQ3ZBSWhEU0FDSUFsS0lRb2dCQ0VCQTBBZ0FTZ0NDQ0VEUVFFaEJTQUlJUWNEUUNBTklBTWdCVUVCZENJRmJCQlBSUVJBSUFVZ0NHd2lCeUFKVEEwQkN3c2dBU0lGSUFjMkFpUWdDZ1JBSUFJaEFRVUNRQ0FBS0FMQUFpRUxJQVVvQWd3aEQwRUJJUU1nQWlFQkEwQWdDeUFQSUFOQkFYUWlBMndRVHcwQklBSWdBMndpQVNBSlRBMEFDd3NMSUFVaUF5QUJOZ0lvSUFjZ0FVRUJkQ0lMU2dSQUlBVWdDellDSkFVZ0FTQUhRUUYwSWdGS0JFQWdBeUFCTmdJb0N3c2dBMEhZQUdvaEFTQUdRUUZxSWdZZ0RFZ05BQXNMSUE0RWYwRUFJUUlEZnlBRUlBUW9BaVFnQUNnQ0hDQUVLQUlJYkd3Z0FDZ0N2QUlnQUNnQ3JBTnNFR2cyQWl3Z0JDQUVLQUlvSUFBb0FpQWdCQ2dDREd4c0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdJd0lBUkIyQUJxSVFRZ0FrRUJhaUlDSUFBb0FpUWlBVWdOQUNBQkN3VWdEQXNGSUF3TElRSUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFVRUJhdzRIQUFFQ0F3TUJBZ1FMSUFFaEFnd0RDMEVESVFJTUFndEJBeUVDREFFTFFRUWhBZ3NnQUNBQ05nSjRJQUJCQVNBQ0lBQW9BbFFiTmdKOElBQVFwZ05GQkVBZ0FFRUJOZ0tBQVE4TElBQWdBQ2dDd0FJMkFvQUJDenNCQW44Z0FDZ0N2QU1oQVNBQUtBSlVCRUFnQUNnQzVBTW9BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVNBQktBSU1RUUZxTmdJTUM1QUVBUU4vSUFBb0Fyd0RJZ0lvQWdnRVFDQUNRUUEyQWdnZ0FDZ0M1QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBZ0FDZ0N5QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBRklBQW9BbFFFUUNBQUtBS0lBVVVFUUFKQUlBQW9BbHdFUUNBQUtBSnNCRUFnQUNBQ0tBSVlOZ0xrQXlBQ1FRRTJBZ2dNQWdzTElBQW9BbVFFUUNBQUlBSW9BaFEyQXVRREJTQUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN3c0xJQUFvQXRnREtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDeEFNb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpFUlFSQUlBSW9BaEJGQkVBZ0FDZ0M0QU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MzQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSlVCRUFnQUNnQzVBTW9BZ0FoQVNBQUlBSW9BZ2dnQVVFL2NVR3lCV29SQXdBTElBQW9Bc2dES0FJQUlRRWdBRUVEUVFBZ0FpZ0NDQnNnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBTEN5QUFLQUlJSWdGRkJFQVBDeUFCSUFJb0Fnd2lBellDRENBQklBTkJBa0VCSUFJb0FnZ2JhaUlDTmdJUUlBQkJRR3NvQWdCRkJFQVBDeUFBS0FMTUF5Z0NGQVJBRHdzZ0FTQUNRUUpCQVNBQUtBSnNHMm8yQWhBTDh3WUJCSDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFqWUN2QU1nQWtIL0FEWUNBQ0FDUVlBQk5nSUVJQUpCQURZQ0NDQUFLQUxVQVNJQlFRaEhCRUFnQUNnQ0FDSURRUkEyQWhRZ0F5QUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUJEM0JTQUFLQUlFS0FJQUlRRWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ05CQUVHQUJCQkZHaUFBSUFOQmdBUnFJZ1EyQXRBQ1FRQWhBUU5BSUFFZ0JHb2dBVG9BQUNBQlFRRnFJZ0ZCZ0FKSERRQUxJQU5CZ0FacVFYOUJnQVFRUlJvQ1FBSkFJQUFvQW5SRkRRQWdBQ2dDY0VVTkFDQUFRZmdBYWlJREtBSUFRUUZJRFFBTUFRc2dBQ2dDQUNJQlFTRTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkIrQUJxSVFNTElBSkJBRFlDRENBQ0lBQVFwZ00yQWhBZ0FrRUFOZ0lVSUFKQkFEWUNHQ0FBS0FKVUJFQUNRQ0FBUVVCcktBSUFSUVJBSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0N5QUFRY1FBYWlJQktBSUFCRUFnQUNnQ0FDSUVRVEEyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFES0FJQVFRTkdCRUFDUUNBQUtBS0lBUVJBSUFCQkFUWUNhQXdCQ3lBQUtBSmNCRUFnQUVFQk5nSnNCU0FBUVFFMkFtUUxDd1VnQUVFQk5nSmtJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0tJQVFzZ0FDZ0NaQVJBSUFBUTlnVWdBaUFBS0FMa0F6WUNGQXNnQUNnQ2JFVUVRQ0FBS0FKb1JRMEJDeUFBRVBVRklBSWdBQ2dDNUFNMkFoZ0xCU0FBUVFBMkFtUWdBRUVBTmdKb0lBQkJBRFlDYkNBQVFjUUFhaUVCQ3lBQktBSUFSUVJBSUFJb0FoQUVRQ0FBRVBRRkJTQUFFUE1GSUFBUThnVUxJQUFnQUNnQ2JCRHhCUXNnQUJESEJpQUFLQUxrQVFSQUlBQVFpd1lGSUFBUW13WUxJQUFnQUNnQ3pBTW9BaEFFZjBFQkJTQUFRVUJyS0FJQVFRQkhDeENLQmlBQktBSUFSUVJBSUFBUThBVUxJQUFvQWdRb0FoZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxNQXlnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BZ2dpQVVVRVFBOExJQUJCUUdzb0FnQUVRQThMSUFBb0Fzd0RLQUlRUlFSQUR3c2dBQ2dDSkNJRElBTkJBMnhCQW1vZ0FDZ0M0QUZGR3lFRElBRkJBRFlDQkNBQklBTWdBQ2dDekFKc05nSUlJQUZCQURZQ0RDQUJRUU5CQWlBQUtBSnNHellDRUNBQ0lBSW9BZ3hCQVdvMkFnd0wvZ1FCQlg4Q1FBSkFBa0FDUUFKQUFrQWdBQ2dDRkNJQlFjb0JhdzREQUFNQkFnc2dBQkQ2QlNBQVFVQnJLQUlBUlFSQUlBQkJ5d0UyQWhRTUF3c2dBRUhQQVRZQ0ZFRUJEd3NnQUVHOEEyb2hBd3dEQ3lBQUtBSUFJZ0pCRlRZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFFTElBQW9Bc3dES0FJUUJFQUNRQ0FBS0FJSUlRRURRQUpBSUFFRVFDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RLQUlBSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdJT0F3RUFBd0FMSUFKQkFuSkJBMFlnQUNnQ0NDSUJRUUJIY1FSQUlBRWdBU2dDQkVFQmFpSUNOZ0lFSUFJZ0FTZ0NDQ0lDVGdSQUlBRWdBaUFBS0FMTUFtbzJBZ2dMQ3d3QkN3c2dBZzhMQ3lBQUlBQW9BcEFCTmdLWUFRc2dBRUc4QTJvaEF5QUFLQUlVUWN3QlJ3UkFJQU1vQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFRUUEyQW93QklBQkJ6QUUyQWhRTEN5QURLQUlBSWdFb0FnZ0VRQUpBSUFCQmpBRnFJZ1VvQWdBaEFnTkFBa0FnQWlBQUtBSjBJZ1JKQkVBZ0FpRUJJQVFoQWdOQUlBQW9BZ2dpQkFSL0lBUWdBVFlDQkNBRUlBSTJBZ2dnQkNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBVW9BZ0FGSUFFTElRSWdBQ2dDd0FNb0FnUWhBU0FBUVFBZ0JVRUFJQUZCSDNGQitnVnFFUWNBSUFVb0FnQWlBU0FDUmcwQ0lBRWdBQ2dDZENJQ1NRMEFDeUFES0FJQUlRRUxJQUVvQWdRaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBREtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQlVFQU5nSUFJQU1vQWdBaUFTZ0NDRVVOQWtFQUlRSU1BUXNMUVFBUEN3c2dBRUhPQVVITkFTQUFLQUpFR3pZQ0ZFRUJDMUFCQTM5QmZ5RUJBMEFDUUFKQUFrQWdBQ0FDYWl3QUFDSURCRUFnQTBFdVJnUkFEQUlGREFNTEFBc01BZ3NnQWlFQkN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUFJQUZxUVFBNkFBQUxDOG9KQVExL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFTklBQW9BdkFDUVFCTUJFQkJBUThMSUFWQnZBRnFJUTRDUUFKQUEwQUNRQ0FJUVFKMElBRnFLQUlBSVF3Z0FDQUZRVHhxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlndEJBblJxS0FJQUlnWW9BaFFpQjBFQ2RHb2lBeWdDQUNBRlFTaHFJQXRCQW5ScUlna29BZ0JxSWdJUVhRUkFJQUFnQUNBQ1FRRnFFRjBpQ2lBQ1FRSnFhaUlFRUYwaUFnUkFJQUFnQXlnQ0FFRVVhaUlFRUYwRVFBTkFJQUpCQVhRaUFrR0FnQUpHRFFRZ0FDQUVRUUZxSWdRUVhRMEFDd3NGUVFBaEFnc2dDU0FDUVFFZ0J5QUFRZWdCYW1vdEFBQjBRUUYxU0FSL1FRQUZJQXBCQW5RaEF5QUNRUUVnQnlBQVFmZ0JhbW90QUFCMFFRRjFTZ1IvSUFOQkRHb0ZJQU5CQkdvTEN6WUNBQ0FFUVE1cUlRTWdBa0VCZFNJRUJFQURRQ0FDSUFSQkFDQUFJQU1RWFJ0eUlRSWdCRUVCZFNJRURRQUxDeUFGUVJocUlBdEJBblJxSWdRb0FnQWdBa0YvY3lBQ1FRRnFJQW9iYWlFQ0lBUWdBallDQUFVZ0NVRUFOZ0lBSUFWQkdHb2dDMEVDZEdvb0FnQWhBZ3NnRENBQ093RUFJQUFvQXJRREJFQUNRQ0FGUWZ3QWFpQUdLQUlZSWdKQkFuUnFJUWNnQWlBQVFZZ0NhbW9oQ1VFQUlRUURRQ0FBSUFjb0FnQWdCRUVEYkdvaUF4QmREUUVnQkVFQmFpRUNJQUFnQTBFQmFoQmRCRUFnQkNFR0lBSWhCQVVnQXlFR0EzOGdBaUFBS0FLMEEwNE5DQ0FHUVFOcUlRTWdBa0VCYWlFRUlBQWdCa0VFYWhCZEJIOGdBZ1VnQXlFR0lBUWhBZ3dCQ3dzaEJnc2dBQ0FPRUYwaENpQUFJQU5CQW1vaUF4QmRJZ0lFUUNBQUlBTVFYUVJBSUFKQkFYUWhBaUFBSUFjb0FnQkJ2UUZCMlFFZ0JpQUpMUUFBU0J0cUlnTVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5DaUFBSUFOQkFXb2lBeEJkRFFBTEN3c2dBMEVPYWlFR0lBSkJBWFVpQXdSQUEwQWdBaUFEUVFBZ0FDQUdFRjBiY2lFQ0lBTkJBWFVpQXcwQUN3c0ZRUUFoQWdzZ0JFRUNkQ0FOYWlnQ0FFRUJkQ0FNYWlBQ1FmLy9BM01nQWtFQmFpQUtHenNCQUNBRUlBQW9BclFEU0EwQUN3c0xJQWhCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUWdNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF1NkJnRU5meUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQ3NBTWhCaUFCS0FJQUlRY2dBQ2dDMkFJb0FoZ2hBa0VCSUFBb0FxZ0RJZ0YwSVFoQmZ5QUJkQ0VKSUFBb0FxQURJUUVEZndKL0lBRWdBVUVDZENBR2FpZ0NBRUVCZENBSGFpNEJBQTBBR2lBQlFYOXFJZ0VOQVVFQUN3c2hCU0FEUWZ3QWFpQUNRUUowYWlFS0lBTkJ2QUZxSVFzZ0NFSC8vd054SVF3Z0NVSC8vd054SVEwZ0FDZ0NuQU5CZjJvaEFRSkFBMEFDUUNBS0tBSUFJQUZCQTJ4cUlRSWdBU0FGVGdSQUlBQWdBaEJkRFFNTEFrQUNRQ0FCUVFGcUlnRkJBblFnQm1vb0FnQkJBWFFnQjJvaUJDNEJBQTBBQTBBZ0FDQUNRUUZxRUYxRkJFQWdBU0FBS0FLZ0EwNE5CQ0FDUVFOcUlRSWdBVUVCYWlJQlFRSjBJQVpxS0FJQVFRRjBJQWRxSWdRdUFRQkZEUUVNQWdzTElBQWdDeEJkQkVBZ0JDQU5Pd0VBQlNBRUlBdzdBUUFMREFFTElBQWdBa0VDYWhCZEJFQWdCQzRCQUNJT0lRSWdEa0VBU0FSQUlBUWdBaUFKYWpzQkFBVWdCQ0FDSUFocU93RUFDd3NMSUFFZ0FDZ0NvQU5JRFFFTUFnc0xJQUFvQWdBaUFVSDFBRFlDRkNBQktBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQU5CZnpZQ0ZFRUJEd3RCQVF2akF3RUVmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBQW9BcWdESVFJZ0FDZ0M4QUpCQUV3RVFFRUJEd3NnQTBHOEFXb2hBMEVCSUFKMElRUkJBQ0VDQTBBZ0FDQURFRjBFUUNBQ1FRSjBJQUZxS0FJQUlnVWdCQ0FGTHdFQWNqc0JBQXNnQWtFQmFpSUNJQUFvQXZBQ1NBMEFDMEVCQzgwR0FRcC9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RUhJQUVvQWdBaENDQUZRZndBYWlBQUtBTFlBaWdDR0NJQlFRSjBhaUVHSUFWQnZBRnFJUWtnQVNBQVFZZ0NhbW9oQ2lBQUtBS2NBMEYvYWlFQ0FrQUNRQU5BQWtBZ0FDQUdLQUlBSUFKQkEyeHFJZ01RWFEwQ0lBSkJBV29oQVNBQUlBTkJBV29RWFFSQUlBSWhCQ0FCSVFJRkEzOGdBU0FBS0FLZ0EwNE5BaUFEUVFOcUlRUWdBVUVCYWlFQ0lBQWdBMEVFYWhCZEJIOGdCQ0VESUFFRklBUWhBeUFDSVFFTUFRc0xJUVFMSUFBZ0NSQmRJUXNnQUNBRFFRSnFJZ01RWFNJQkJFQWdBQ0FERUYwRVFDQUJRUUYwSVFFZ0FDQUdLQUlBUWIwQlFka0JJQVFnQ2kwQUFFZ2JhaUlFRUYwRVFBTkFJQUZCQVhRaUFVR0FnQUpHRFFjZ0FDQUVRUUZxSWdRUVhRMEFDd3NGSUFNaEJBc2dCRUVPYWlFRElBRkJBWFVpQkFSQUEwQWdBU0FFUVFBZ0FDQURFRjBiY2lFQklBUkJBWFVpQkEwQUN3c0ZRUUFoQVFzZ0FrRUNkQ0FIYWlnQ0FFRUJkQ0FJYWlBQlFYOXpJQUZCQVdvZ0N4c2dBQ2dDcUFOME93RUFJQUlnQUNnQ29BTklEUUVNQWdzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF2a0JnRUxmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQkNnQ0ZFRUNkR29vQWdBaUJVSUFOd0FBSUFWQ0FEY0FDQ0FGUWdBM0FCQWdCVUlBTndBWUlBVkNBRGNBSUNBRlFnQTNBQ2dnQlVJQU53QXdJQVZDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQkNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQzhBSkJBRXdFUUVFQkR3dEJBQ0VGQWtBQ1FBTkFBa0FnQlVFQ2RDQUJhaWdDQUNFTUlBQWdBMEU4YWlBQVFkZ0NhaUFBUWZRQ2FpQUZRUUowYWlnQ0FDSUhRUUowYWlnQ0FDZ0NGQ0lJUVFKMGFpSUdLQUlBSUFOQktHb2dCMEVDZEdvaUNTZ0NBR29pQWhCZEJFQWdBQ0FBSUFKQkFXb1FYU0lLSUFKQkFtcHFJZ1FRWFNJQ0JFQWdBQ0FHS0FJQVFSUnFJZ1FRWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQkNBQUlBUkJBV29pQkJCZERRQUxDd1ZCQUNFQ0N5QUpJQUpCQVNBSUlBQkI2QUZxYWkwQUFIUkJBWFZJQkg5QkFBVWdDa0VDZENFR0lBSkJBU0FJSUFCQitBRnFhaTBBQUhSQkFYVktCSDhnQmtFTWFnVWdCa0VFYWdzTE5nSUFJQVJCRG1vaEJpQUNRUUYxSWdRRVFBTkFJQUlnQkVFQUlBQWdCaEJkRzNJaEFpQUVRUUYxSWdRTkFBc0xJQU5CR0dvZ0IwRUNkR29pQkNnQ0FDQUNRWDl6SUFKQkFXb2dDaHRxSVFJZ0JDQUNOZ0lBQlNBSlFRQTJBZ0FnQTBFWWFpQUhRUUowYWlnQ0FDRUNDeUFNSUFJZ0FDZ0NxQU4wT3dFQUlBVkJBV29pQWlBQUtBTHdBazROQWlBQ0lRVU1BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FEUVg4MkFoUkJBUXZLQ1FFSmZ5QUFLQUxVQXlFQ0lBQW9BcHdESWdaRklRTWdBQ2dDNEFFRVFDQUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFaSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FHTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVIVUFtb2lCaWdDQUNJQlFRQktCRUFnQUVHa0Eyb2hCVUVBSVFNRFFDQUFRZGdDYWlBRFFRSjBhaWdDQUNnQ0JDRUlJQUFvQXFBQklRa2dBQ2dDbkFNaUFRUkFJQWhCQ0hRZ0NXb29BZ0JCQUVnRVFDQUFLQUlBSWdGQjlnQTJBaFFnQVNBSU5nSVlJQUFvQWdCQkFEWUNIQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQUFvQXB3RElRRUxCVUVBSVFFTElBRWdBQ2dDb0FOTUJFQURRQ0FGS0FJQUlBaEJDSFFnQ1dvZ0FVRUNkR29pQkNnQ0FDSUhRUUFnQjBFQVNodEhCRUFnQUNnQ0FDSUhRZllBTmdJVUlBY2dDRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQkNFSElBQkJmeUFIUVQ5eFFiSUZhaEVEQUFzZ0JDQUFLQUtvQXpZQ0FDQUJRUUZxSVFRZ0FTQUFLQUtnQTBnRVFDQUVJUUVNQVFzTEN5QURRUUZxSWdNZ0JpZ0NBQ0lCU0EwQUN3VWdBRUdrQTJvaEJRc2dBQ2dDbkFORklRTWdCU2dDQUFSQUlBTUVRQ0FDUVMwMkFnUUZJQUpCTGpZQ0JBc0ZJQU1FUUNBQ1FTczJBZ1FGSUFKQkxEWUNCQXNMQlFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQ29BTWlBVUhBQUVnRVFDQUFLQUswQXlBQlJ3MEJDd3dCQ3lBQUtBSUFJZ0ZCL1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUFzZ0FrRXZOZ0lFSUFCQjFBSnFJZ0VoQmlBQktBSUFJUUVMSUFGQkFFd0VRQ0FDUVFBMkFnd2dBa0VBTmdJUUlBSkJjRFlDRkNBQ0lBQW9BcGdDTmdJNER3dEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFRb0FoUWlBVUVQU3dSQUlBQW9BZ0FpQlVFeU5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBSkJQR29nQVVFQ2RHb2lCU2dDQUNJQlJRUkFJQUFvQWdRb0FnQWhBU0FGSUFCQkFVSEFBQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSUFDeUFCUWdBM0FBQWdBVUlBTndBSUlBRkNBRGNBRUNBQlFnQTNBQmdnQVVJQU53QWdJQUZDQURjQUtDQUJRZ0EzQURBZ0FVSUFOd0E0SUFKQkdHb2dBMEVDZEdwQkFEWUNBQ0FDUVNocUlBTkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFFS0FJWUlnRkJEMHNFUUNBQUtBSUFJZ1JCTWpZQ0ZDQUVJQUUyQWhnZ0FDZ0NBQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQ1Fmd0FhaUFCUVFKMGFpSUVLQUlBSWdGRkJFQWdBQ2dDQkNnQ0FDRUJJQVFnQUVFQlFZQUNJQUZCUDNGQnlnRnFFUVFBSWdFMkFnQUxJQUZCQUVHQUFoQkZHZ3NnQTBFQmFpSURJQVlvQWdCSURRQUxJQUpCQURZQ0RDQUNRUUEyQWhBZ0FrRndOZ0lVSUFJZ0FDZ0NtQUkyQWpnTG1nd0JNbjhqQmlFSEl3WkJnQUZxSkFZZ0FDZ0N4QU1oRnlBQUtBTE1BaUV4SUFBb0FwQUJJZ1FnQUNnQ21BRWlCVXdFUUFKQUEwQUNRQ0FBS0FMTUF5SUNLQUlVRFFJZ0JDQUZSZ1JBSUFBb0FwUUJJQUFvQXB3QklBQW9BcHdEUldwTERRTUxJQUFnQWlnQ0FFSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ2tBRWlCQ0FBS0FLWUFTSUZUQTBCREFJTEN5QUhKQVpCQUE4TEN5QXhRWDlxSVNvZ0FDZ0NKRUVBU2dSL0lBQkJuQUZxSVJ3Z0FDZ0MyQUVoQ2dOL0lBb29BalFFUUNBY0tBSUFJZ2dnS2trRWZ5QUtLQUlNSWhGQkFYUWhCU0FSSVFSQkFBVWdDaWdDSUNBS0tBSU1JZ1FRVGlJRklBUWdCUnNpRVNFRlFRRUxJUWtnQ0FSL0lBQWdGMEhJQUdvZ0RVRUNkR29vQWdBZ0JDQUlRWDlxYkNBRUlBVnFRUUFnQUNnQ0JDZ0NJRUVmY1VHaUFtb1JDQUFnQ2lnQ0RFRUNkR29oRkVFQUJTQUFJQmRCeUFCcUlBMUJBblJxS0FJQVFRQWdCVUVBSUFBb0FnUW9BaUJCSDNGQm9nSnFFUWdBSVJSQkFRc2hFaUFYS0FKd0lBMUJCbXhCQW5ScUlSTWdDaWdDVUNJRUx3RUFJUWdnQkM4QkFpRUZJQVF2QVJBaEFpQUVMd0VnSVE0Z0JDOEJFaUVQSUFRdkFRUWhCQ0FBS0FMWUEwRUVhaUFOUVFKMGFpZ0NBQ0VySUJGQkFFb0VRQ0FTUVFCSElTd2dDVUVBUnlFdElCRkJmMm9oTGlBSVFTUnNJUjBnQlVFSGRDRWVJQUpCQjNRaEh5QUZRUWgwSVNBZ0NFRUpiQ0VoSUE1QkIzUWhJaUFDUVFoMElTTWdDaUV2SUFoQkJXd2hNQ0FQUVFkMElTUWdEa0VJZENFbElBUkJCM1FoSmlBUFFRaDBJU2NnQkVFSWRDRW9RUUFoRENBTlFRSjBJQUZxS0FJQUlSZ0RRQ0FNUVFKMElCUnFLQUlBSVFJZ0xDQU1SWEVFZnlBQ0JTQU1RWDlxUVFKMElCUnFLQUlBQ3lFVklBb29BaHhCZjJvaEtTQXRJQXdnTGtaeEJIOGdBZ1VnREVFQmFrRUNkQ0FVYWlnQ0FBc2lHUzRCQUNJR0lRUWdBaTRCQUNJSklRVWdGUzRCQUNJUUlRaEJBQ0VhSUFJaEZrRUFJUnNEUUNBSElCWkJnQUVRVEJvZ0dpQXBTUVIvSUJrdUFZQUJJUTRnRlM0QmdBRWhEeUFXTGdHQUFRVWdCQ0VPSUFnaER5QUZDeUVTSUFjdUFRSkZJQk1vQWdRaUFrRUFSM0VFUUNBSElCMGdDU0FTYTJ3aUEwRi9TZ1IvSUFNZ0htb2dJQkE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHNGUVFBZ0hpQURheUFnRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLRzJzTE93RUNDeUFITGdFUVJTQVRLQUlJSWdKQkFFZHhCRUFnQnlBZElBZ2dCR3RzSWdOQmYwb0VmeUFESUI5cUlDTVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2JCVUVBSUI4Z0Eyc2dJeEE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHRyQ3pzQkVBc2dCeTRCSUVVZ0V5Z0NEQ0lDUVFCSGNRUkFJQWNnSVNBRUlBZ2dCVUVCZEd0cWJDSURRWDlLQkg4Z0F5QWlhaUFsRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLR3dWQkFDQWlJQU5ySUNVUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYmF3czdBU0FMSUFjdUFSSkZJQk1vQWhBaUFrRUFSM0VFUUNBSElEQWdEaUFRSUFacklBOXJhbXdpQmtGL1NnUi9JQVlnSkdvZ0p4QTVJZ1pCQVNBQ2RDSVFRWDlxSUFZZ0VFZ2JJQVlnQWtFQVNoc0ZRUUFnSkNBR2F5QW5FRGtpQmtFQklBSjBJaEJCZjJvZ0JpQVFTQnNnQmlBQ1FRQktHMnNMT3dFU0N5QUhMZ0VFUlNBVEtBSVVJZ0pCQUVkeEJFQWdCeUFoSUJJZ0NTQUZRUUYwYTJwc0lnbEJmMG9FZnlBSklDWnFJQ2dRT1NJSlFRRWdBblFpQmtGL2FpQUpJQVpJR3lBSklBSkJBRW9iQlVFQUlDWWdDV3NnS0JBNUlnbEJBU0FDZENJR1FYOXFJQWtnQmtnYklBa2dBa0VBU2h0ckN6c0JCQXNnQUNBS0lBY2dHQ0FiSUN0QlAzRkJtZ1pxRVFVQUlCWkJnQUZxSVJZZ0ZVR0FBV29oRlNBWlFZQUJhaUVaSUJzZ0x5Z0NKR29oR3lBYVFRRnFJaG9nS1UwRVFDQUlJVElnQlNFSklBUWhCaUFPSVFRZ0VpRUZJQThoQ0NBeUlSQU1BUXNMSUFvb0FpaEJBblFnR0dvaEdDQU1RUUZxSWd3Z0VVY05BQXNMQ3lBS1FkZ0FhaUVLSUExQkFXb2lEU0FBS0FJa1NBMEFJQndMQlNBQVFad0JhZ3NpQVNBQktBSUFRUUZxSWdFMkFnQkJBMEVFSUFFZ0FDZ0N6QUpKR3lFeklBY2tCaUF6QzVVR0FSVi9JQUFvQXVnQ1FYOXFJUW9nQUNnQ3pBSWlBa0YvYWlFVElBQW9Bc1FESWdZb0FoZ2lDQ0FHS0FJY0lnTklCRUFDUUNBR1FTQnFJUTBnQUVHVUFXb2hEaUFESVFJZ0JpZ0NGQ0VIQWtBQ1FBTkFBa0FnQnlBS1RRUkFBMEFnQUNnQ3RBTUVRQ0FOS0FJQVFRQWdBQ2dDOEFKQkIzUVFSUm9MSUFBb0F0UURLQUlFSVFJZ0FDQU5JQUpCUDNGQmlnRnFFUUlBUlEwQ0lBQW9BdFFDSWdKQkFFb0VRQ0FISUFwSklSUkJBQ0VEUVFBaEN3TkFJQUJCMkFKcUlBdEJBblJxS0FJQUlnUW9BalFFUUFKQUlBQW9BdGdEUVFScUlBUW9BZ1FpQlVFQ2RHb29BZ0FoRlNBRVFUaHFJZzhnQkVISUFHb2dGQnNvQWdBaEVDQUVLQUlvSVJFZ0J5QUVLQUpFYkNFV0lBUW9BandpRWtFQVNnUkFJQkJCQUV3RVFDQVBLQUlBSVFsQkFDRUZBMEFnQXlBSmFpRURJQVZCQVdvaUJTQVNTQTBBQ3d3Q0N5QUZRUUowSUFGcUtBSUFJQWdnRVd4QkFuUnFJUWxCQUNFTUlBTWhCU0FTSVFJZ0VTRURBMEFDUUFKQUlBNG9BZ0FnRTBrTkFDQUlJQXhxSUFRb0FreElEUUFNQVFzZ0ZpRUNRUUFoQXdOQUlBQWdCQ0FHUVNCcUlBTWdCV3BCQW5ScUtBSUFJQWtnQWlBVlFUOXhRWm9HYWhFRkFDQUNJQVFvQWlScUlRSWdBMEVCYWlJRElCQkhEUUFMSUFRb0FpZ2hBeUFFS0FJOElRSUxJQVVnRHlnQ0FHb2hCU0FEUVFKMElBbHFJUWtnREVFQmFpSU1JQUpJRFFBTElBVWhBeUFBS0FMVUFpRUNDd3NGSUFNZ0JFRkFheWdDQUdvaEF3c2dDMEVCYWlJTElBSklEUUFMQ3lBSFFRRnFJZ2NnQ2swTkFBc2dCaWdDSENFQ0N5QUdRUUEyQWhRZ0NFRUJhaUlJSUFKT0RRSkJBQ0VIREFFTEN3d0JDeUFPSVFFZ0FDZ0N6QUloQWd3QkN5QUdJQWcyQWhnZ0JpQUhOZ0lVUVFBUEN3VWdBRUdVQVdvaEFRc2dBQ0FBS0FLY0FVRUJhallDbkFFZ0FTQUJLQUlBUVFGcUlnTTJBZ0FnQXlBQ1R3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJCQThMSUFBb0FzUURJZ0VnQUNnQzFBSkJBVW9FZjBFQkJTQUFLQUxZQWlJQVFReHFJQUJCekFCcUlBTWdBa0YvYWtrYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlRUU1Mb1FFQkJIOERRQUpBQWtBQ1FDQUFJQUZxTEFBQUlnTUVRQ0FEUVM1R0JFQU1BZ1VNQXdzQUN3d0NDeUFCSVFJTElBRkJBV29oQVF3QkN3c2dBQ0FCYWlFRFFaeTRBUkJnUVFKcUlRUUNmd0pBSUFJRWZ5QUNJQVJxUVlBQ1NnUi9RWDhGREFJTEJTQUJJQVJxUVlBQ1NnUi9RWDhGSUFOQkxqb0FBQ0FCSVFJTUFnc0xEQUVMSUFBZ0FrRUJhbXBCQURvQUFDQUFFR0FnQUdvUWdRVkJBQXNhQzlvREFROS9JQUFvQXNRRElRc2dBQ2dDekFKQmYyb2hEQUpBQWtBRFFBSkFJQUFvQXBBQklnSWdBQ2dDbUFFaUEwNEVRQ0FDSUFOSERRRWdBQ2dDbEFFZ0FDZ0NuQUZMRFFFTElBQW9Bc3dES0FJQUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUEwQkRBSUxDd3dCQzBFQUR3c2dBQ2dDSkVFQVNnUkFJQUFvQXRnQklRSURRQ0FDS0FJMEJFQWdBQ2dDQkNnQ0lDRURJQUFnQzBISUFHb2dCRUVDZEdvb0FnQWdBaWdDRENJRklBQW9BcHdCYkNBRlFRQWdBMEVmY1VHaUFtb1JDQUFoRFNBQUtBS2NBU0FNU1FSL0lBSW9BZ3dGSUFJb0FpQWdBaWdDRENJRkVFNGhBeUFESUFVZ0F4c0xJUWtnQUNnQzJBTkJCR29nQkVFQ2RHb29BZ0FoRGlBSlFRQktCRUFnQkVFQ2RDQUJhaWdDQUNFR1FRQWhCeUFDSWdVaUR5Z0NIQ0VEQTBBZ0F3Ui9RUUFoQXlBSFFRSjBJQTFxS0FJQUlRaEJBQ0VLQTM4Z0FDQUNJQWdnQmlBRElBNUJQM0ZCbWdacUVRVUFJQWhCZ0FGcUlRZ2dBeUFQS0FJa2FpRURJQXBCQVdvaUNpQUNLQUljSWhCSkRRQWdFQXNGUVFBTElRTWdCU2dDS0VFQ2RDQUdhaUVHSUFkQkFXb2lCeUFKUncwQUN3c0xJQUpCMkFCcUlRSWdCRUVCYWlJRUlBQW9BaVJJRFFBTEN5QUFJQUFvQXB3QlFRRnFJZ0UyQXB3QlFRTkJCQ0FCSUFBb0Fzd0NTUnNMblFVQkUzOGpCaUVUSXdaQkVHb2tCaUFUSVFZZ0FDZ0N4QU1oQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFBb0FnUW9BaUFoQlNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lES0FJTUlRSWdBVUVDZENBR2FpQUFJQVJCeUFCcUlBTW9BZ1JCQW5ScUtBSUFJQUFvQXBRQklBSnNJQUpCQVNBRlFSOXhRYUlDYWhFSUFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKSURRQUxDeUFFS0FJWUlnVWdCQ2dDSENJQlNBUkFBa0FnQkVFZ2FpRU1JQVFvQWhRaEF5QUFLQUxvQWlFQ0EwQUNRQ0FESUFKSkJFQWdBeUVDQTBBZ0FDZ0MxQUlpRFVFQVNnUkFRUUFoQVVFQUlRY0RRQ0FDSUFCQjJBSnFJQWRCQW5ScUtBSUFJZ01vQWpnaUNHd2hEaUFES0FJOElnOUJBRW9FUUNBSFFRSjBJQVpxS0FJQUlSQWdDRUVBU2dSQVFRQWhDUU5BUVFBaEN5QUZJQWxxUVFKMElCQnFLQUlBSUE1QkIzUnFJUW9nQVNFREEwQWdDa0dBQVdvaEVTQURRUUZxSVJJZ0JFRWdhaUFEUVFKMGFpQUtOZ0lBSUF0QkFXb2lDeUFJUndSQUlCRWhDaUFTSVFNTUFRc0xJQUVnQ0dvaEFTQUpRUUZxSWdrZ0QwZ05BQXNMQ3lBSFFRRnFJZ2NnRFVnTkFBc0xJQUFvQXRRREtBSUVJUUVnQUNBTUlBRkJQM0ZCaWdGcUVRSUFSUTBDSUFKQkFXb2lBaUFBS0FMb0FpSUJTUTBBQ3lBQklRSWdCQ2dDSENFQkN5QUVRUUEyQWhRZ0JVRUJhaUlGSUFGT0RRSkJBQ0VEREFFTEN5QUVJQVUyQWhnZ0JDQUNOZ0lVSUFZa0JrRUFEd3NMSUFBZ0FDZ0NsQUZCQVdvaUFqWUNsQUVnQWlBQUtBTE1BaUlGVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JpUUdRUVFQQ3lBQUtBTEVBeUlCSUFBb0F0UUNRUUZLQkg5QkFRVWdBQ2dDMkFJaUFFRU1haUFBUWN3QWFpQUNJQVZCZjJwSkd5Z0NBQXMyQWh3Z0FVRUFOZ0lVSUFGQkFEWUNHQ0FHSkFaQkF3dWxBd0VMZnlBQUtBTEVBeUlCS0FJUVJRUkFJQUJCQURZQ25BRVBDeUFCQW44Q1FDQUFLQUpRUlEwQUlBQW9BdUFCUlEwQUlBQW9BcUFCUlEwQUlBRW9BbkFpQWdSQUlBQkJKR29oQmdVZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCSUFCQkpHb2lCaWdDQUVFWWJDQUNRVDl4UWNvQmFoRUVBQ0lDTmdKd0N5QUdLQUlBUVFCTURRQWdBQ2dDMkFFaENBTkFJQWdvQWxBaUFVVU5BU0FCTGdFQVJRMEJJQUV1QVFKRkRRRWdBUzRCRUVVTkFTQUJMZ0VnUlEwQklBRXVBUkpGRFFFZ0FTNEJCRVVOQVNBQUtBS2dBU0lCSUFSQkNIUnFLQUlBUVFCSURRRWdBaUFFUVFoMElBRnFJZ01vQWdRMkFnUWdBeWdDQkNFSklBSWdCRUVJZENBQmFpSUZLQUlJTmdJSUlBa2dCU2dDQ0hJaENpQUNJQVJCQ0hRZ0FXb2lCU2dDRERZQ0RDQUtJQVVvQWd4eUlRc2dBaUFFUVFoMElBRnFJZ1VvQWhBMkFoQWdDeUFGS0FJUWNpRURJQUlnQkVFSWRDQUJhaUlCS0FJVU5nSVVRUUVnQnlBRElBRW9BaFJ5R3lFSElBSkJHR29oQWlBSVFkZ0FhaUVJSUFSQkFXb2lCQ0FHS0FJQVNBMEFDeUFIUlEwQVFTb01BUXRCS0FzMkFnd2dBRUVBTmdLY0FRdFNBUUovSUFCQkFEWUNsQUVnQUNnQ3hBTWlBU0FBS0FMVUFrRUJTZ1IvUVFFRklBQW9BdGdDSWdKQnpBQnFJQUpCREdvZ0FDZ0N6QUpCQVVZYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlDNndEQVFWL0lBQW9BZ1FvQWdBaEF5QUFJQUJCQVVIMEFDQURRVDl4UWNvQmFoRUVBQ0lDTmdMRUF5QUNRZjBBTmdJQUlBSkIvZ0EyQWdnZ0FrRUFOZ0p3SUFGRkJFQWdBQ2dDQkNnQ0JDRUJJQUlnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdFMkFpQWdBaUFCUVlBQmFqWUNKQ0FDSUFGQmdBSnFOZ0lvSUFJZ0FVR0FBMm8yQWl3Z0FpQUJRWUFFYWpZQ01DQUNJQUZCZ0FWcU5nSTBJQUlnQVVHQUJtbzJBamdnQWlBQlFZQUhhallDUENBQ1FVQnJJQUZCZ0FocU5nSUFJQUlnQVVHQUNXbzJBa1FnQUNnQ3RBTkZCRUFnQVVFQVFZQUtFRVVhQ3lBQ1FkWUFOZ0lFSUFKQktUWUNEQ0FDUVFBMkFoQVBDeUFBS0FJa1FRQktCRUFnQWtISUFHb2hCRUVBSVFNZ0FDZ0MyQUVoQVFOQUlBRW9BZ3dpQlNBRlFRTnNJQUFvQXVBQlJSc2hCU0FBS0FJRUtBSVVJUVlnQTBFQ2RDQUVhaUFBUVFGQkFTQUJLQUljSUFFb0FnZ1ErQUVnQVNnQ0lDQUJLQUlNRVBnQklBVWdCa0UvY1VIR0Ftb1JDZ0EyQWdBZ0FVSFlBR29oQVNBRFFRRnFJZ01nQUNnQ0pFZ05BQXNGSUFKQnlBQnFJUVFMSUFKQjFRQTJBZ1FnQWtFb05nSU1JQUlnQkRZQ0VBdWhBZ0VDZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCd0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDMUFNZ0FrSDdBRFlDQUNBQ1Fmd0FOZ0lJSUFKQlBHb2lBVUlBTndJQUlBRkNBRGNDQ0NBQlFnQTNBaEFnQVVJQU53SVlJQUZDQURjQ0lDQUJRZ0EzQWlnZ0FVSUFOd0l3SUFGQ0FEY0NPQ0FCUVVCclFnQTNBZ0FnQVVJQU53SklJQUZDQURjQ1VDQUJRZ0EzQWxnZ0FVSUFOd0pnSUFGQ0FEY0NhQ0FCUWdBM0FuQWdBVUlBTndKNElBSkI4UUE2QUx3QklBQW9BdUFCUlFSQUR3c2dBQ2dDQkNnQ0FDRUJJQUFnQUVFQklBQW9BaVJCQ0hRZ0FVRS9jVUhLQVdvUkJBQWlBallDb0FFZ0FDZ0NKRUVBVEFSQUR3dEJBQ0VCQTBBZ0FpQUJRUWgwYWtGL1FZQUNFRVVhSUFGQkFXb2lBU0FBS0FJa1NBMEFDd3NxQVFGL0lBQW9BdFFES0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N6QU5CMUFBMkFnQUxZZ0VCZnlBQUtBTE1BeUlCUWRRQU5nSUFJQUZCQURZQ0VDQUJRUUEyQWhRZ0FVRUJOZ0lZSUFBb0FnQW9BaEFoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCQURZQ29BRUxZd0VCZnlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FCSUFFUVlFRUJhaENBQlNJQ1JRUkFJQUJCQURvQUFBd0JDeUFDUVFGcUlBRnJJZ0pCQVdwQmdCQkxCRUJCQUNFQUJTQUFJQUVnQWhEVkFTQUFJQUpxUVFBNkFBQUxDd1ZCQUNFQUN5QUFDNlVQQVFsL0lBQW9Bc3dESWdRb0FoUUVRRUVDRHdzQ1FBSkFBa0FEUUFKQUlBQW9BdEFES0FJRUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBV3NPQWdBRUJRc0NRQUpBQWtBQ1FBSkFJQVFvQWhnT0FnQUJBZ3NnQkNnQ0VFVUVRQ0FBS0FJQUlnRkJKRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ0RRWU1Bd3NDUUFKQUlBQW9BaUJCM1A4RFNnMEFJQUFvQWh4QjNQOERTZzBBREFFTElBQW9BZ0FpQVVFcU5nSVVJQUZCM1A4RE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFFaUFVRjRha0VFU3dSQUlBQW9BZ0FpQWtFUU5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BaVFpQVVFS1NnUkFJQUFvQWdBaUFrRWJOZ0lVSUFJZ0FUWUNHQ0FBS0FJQVFRbzJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFRc2dBRUVCTmdLOEFpQUFRUUUyQXNBQ0lBRkJBRW9FUUVFQUlRY2dBQ2dDMkFFaEFrRUJJUU5CQVNFRkEwQUNmd0pBSUFJaUNDZ0NDQ0lHUVg5cVFRTkxEUUFnQWlnQ0RDSUpRWDlxUVFOTERRQWdDUXdCQ3lBQUtBSUFJZ0ZCRXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3ZBSWhCU0FJS0FJSUlRWWdBQ2dDd0FJaEF5QUFLQUlrSVFFZ0FpZ0NEQXNoQWlBQUlBVWdCaUFGSUFaS0d5SUZOZ0s4QWlBQUlBTWdBaUFESUFKS0d5SUROZ0xBQWlBSVFkZ0FhaUVDSUFkQkFXb2lCeUFCU0EwQUN3c2dBQUovQWtBZ0FDZ0MzQUVOQUFKL0lBQW9BdUFCQkVBZ0FDZ0MxQUlOQWdzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FxQUREb0FDQUJBUUFSQVFFQkFDRUJBUUVCQVFBeEFRRUJBUUVCQVFCQkFRRUJBUUVCQVFFQkFGRUJBUUVCQVFFQkFRRUJBUUJoQVFFQkFRRUJBUUVCQVFFQkFRQnhBUUVCQVFFQkFRRUJBUUVCQVFFQkFJRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ1JBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNoQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFMRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFPRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUR4QUxJQUJCQVRZQ3JBTWdBRUdBSERZQ3NBTWdBRUVBTmdLMEEwRUJEQkFMSUFCQkFqWUNyQU1nQUVIQUpUWUNzQU1nQUVFRE5nSzBBMEVDREE4TElBQkJBellDckFNZ0FFSFFKRFlDc0FNZ0FFRUlOZ0swQTBFRERBNExJQUJCQkRZQ3JBTWdBRUhRSXpZQ3NBTWdBRUVQTmdLMEEwRUVEQTBMSUFCQkJUWUNyQU1nQUVHZ0lqWUNzQU1nQUVFWU5nSzBBMEVGREF3TElBQkJCallDckFNZ0FFSFFJRFlDc0FNZ0FFRWpOZ0swQTBFR0RBc0xJQUJCQnpZQ3JBTWdBRUhBSGpZQ3NBTWdBRUV3TmdLMEEwRUhEQW9MSUFCQkNEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVJREFrTElBQkJDVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSkRBZ0xJQUJCQ2pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUtEQWNMSUFCQkN6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVMREFZTElBQkJERFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTURBVUxJQUJCRFRZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU5EQVFMSUFCQkRqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVPREFNTElBQkJEellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUERBSUxJQUJCRURZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVFEQUVMSUFBb0FnQWlBVUVSTmdJVUlBRWdBQ2dDbkFNMkFoZ2dBQ2dDQUNBQUtBS2dBellDSENBQUtBSUFJQUFvQXFRRE5nSWdJQUFvQWdBZ0FDZ0NxQU0yQWlRZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBU0FBS0FLc0F3c01BUXNnQUVFSU5nS3NBeUFBUVlBY05nS3dBeUFBUVQ4MkFyUURRUWdMSWdJMkFzUUNJQUFnQWpZQ3lBSWdBVUVBU2dSQVFRQWhBU0FBS0FMWUFTRURBMEFnQXlBQ05nSWtJQU1nQWpZQ0tDQURJQUFvQWh3Z0F5Z0NDR3dnQWlBQUtBSzhBbXdRYURZQ0hDQURJQUFvQWlBZ0F5Z0NER3dnQUNnQ3dBSWdBQ2dDckFOc0VHZzJBaUFnQXlBQUtBSWNJQU1vQWdoc0lBQW9BcndDRUdnMkFpd2dBeUFBS0FJZ0lBTW9BZ3hzSUFBb0FzQUNFR2cyQWpBZ0EwRUJOZ0kwSUFOQkFEWUNVQ0FCUVFGcUlnRWdBQ2dDSkVnRVFDQURRZGdBYWlFRElBQW9BcXdESVFJTUFRc0xJQUFvQXF3RElRSUxJQUFnQUNnQ0lDQUFLQUxBQWlBQ2JCQm9OZ0xNQWlBQUtBTFVBaUlCSUFBb0FpUk9CRUFnQUNnQzRBRkZCRUFnQUNnQ3pBTkJBRFlDRUF3REN3c2dBQ2dDekFOQkFUWUNFQXdCQ3lBQUtBTFVBaUVCQ3lBQkRRRWdCRUVDTmdJWUN3d0JDd3NnQkVFQU5nSVlRUUVQQ3lBQUVLY0RRUUVQQ3lBRVFRRTJBaFFnQkNnQ0dBUkFJQUFvQXRBREtBSVFSUVJBUVFJUEN5QUFLQUlBSWdGQlBqWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBQW9BcGdCSUFBb0FwQUJJZ0ZNQkVCQkFnOExJQUFnQVRZQ21BRUxRUUlQQ3lBQkMxMEJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRUndnQVVFL2NVSEtBV29SQkFBaUFEWUN6QU1nQUVIVUFEWUNBQ0FBUWZnQU5nSUVJQUJCK1FBMkFnZ2dBRUg2QURZQ0RDQUFRUUEyQWhBZ0FFRUFOZ0lVSUFCQkFUWUNHQXYvQlFFRWZ5QUFJQUFvQXF3RElnSWdBQ2dDTUd3aUFTQUFLQUkwSWdOTEJIOENmeUFCSUFOQkFYUk5CRUFnQUNBQUtBSWNRUUYwSUFJUWFEWUNjRUVDSVFFZ0FDZ0NJRUVCZEF3QkN5QUJJQU5CQTJ4TkJFQWdBQ0FBS0FJY1FRTnNJQUlRYURZQ2NFRURJUUVnQUNnQ0lFRURiQXdCQ3lBQklBTkJBblJOQkVBZ0FDQUFLQUljUVFKMElBSVFhRFlDY0VFRUlRRWdBQ2dDSUVFQ2RBd0JDeUFCSUFOQkJXeE5CRUFnQUNBQUtBSWNRUVZzSUFJUWFEWUNjRUVGSVFFZ0FDZ0NJRUVGYkF3QkN5QUJJQU5CQm14TkJFQWdBQ0FBS0FJY1FRWnNJQUlRYURZQ2NFRUdJUUVnQUNnQ0lFRUdiQXdCQ3lBQklBTkJCMnhOQkVBZ0FDQUFLQUljUVFkc0lBSVFhRFlDY0VFSElRRWdBQ2dDSUVFSGJBd0JDeUFCSUFOQkEzUk5CRUFnQUNBQUtBSWNRUU4wSUFJUWFEWUNjRUVJSVFFZ0FDZ0NJRUVEZEF3QkN5QUJJQU5CQ1d4TkJFQWdBQ0FBS0FJY1FRbHNJQUlRYURZQ2NFRUpJUUVnQUNnQ0lFRUpiQXdCQ3lBQklBTkJDbXhOQkVBZ0FDQUFLQUljUVFwc0lBSVFhRFlDY0VFS0lRRWdBQ2dDSUVFS2JBd0JDeUFCSUFOQkMyeE5CRUFnQUNBQUtBSWNRUXRzSUFJUWFEWUNjRUVMSVFFZ0FDZ0NJRUVMYkF3QkN5QUJJQU5CREd4TkJFQWdBQ0FBS0FJY1FReHNJQUlRYURZQ2NFRU1JUUVnQUNnQ0lFRU1iQXdCQ3lBQklBTkJEV3hOQkVBZ0FDQUFLQUljUVExc0lBSVFhRFlDY0VFTklRRWdBQ2dDSUVFTmJBd0JDeUFCSUFOQkRteE5CRUFnQUNBQUtBSWNRUTVzSUFJUWFEWUNjRUVPSVFFZ0FDZ0NJRUVPYkF3QkN5QUFLQUljSVFRZ0FTQURRUTlzU3dSL0lBQWdCRUVFZENBQ0VHZzJBbkJCRUNFQklBQW9BaUJCQkhRRklBQWdCRUVQYkNBQ0VHZzJBbkJCRHlFQklBQW9BaUJCRDJ3TEN3VWdBQ0FBS0FJY0lBSVFhRFlDY0VFQklRRWdBQ2dDSUFzZ0FDZ0NyQU1RYURZQ2RDQUFJQUUyQXNRQ0lBQWdBVFlDeUFJZ0FDZ0NKQ0lEUVFCTUJFQVBDMEVBSVFJZ0FDZ0MyQUVoQUFOQUlBQWdBVFlDSkNBQUlBRTJBaWdnQUVIWUFHb2hBQ0FDUVFGcUlnSWdBMGdOQUFzTHRBc0JEMzhqQmlFSUl3WkJNR29rQmlBQUtBTFVBeUVISUFBb0FwZ0NCRUFnQnlnQ0xFVUVRQ0FIS0FJUVFRZ1FPU0VDSUFBb0F0QURJZ1VnQWlBRktBSVlhallDR0NBSFFRQTJBaEFnQlNnQ0NDRUZJQUFnQlVIL0FIRkJDR29SQUFCRkJFQWdDQ1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQlFOQUlBZEJHR29nQlVFQ2RHcEJBRFlDQUNBRlFRRnFJZ1VnQUNnQzFBSklEUUFMQ3lBSFFRQTJBaFFnQnlBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSFFRQTJBaWdMQ3dzZ0NFRVVhaUVHSUFjb0FpaEZCRUFnQUNnQ3NBTWhEeUFBS0FLMEF5RU5JQVlnQURZQ0VDQUdJQUFvQWhnaUJDZ0NBQ0lKTmdJQUlBWWdCQ2dDQkNJRE5nSUVJQWNvQWd3aEJTQUhLQUlRSVFJZ0NDQUhLUUlVTndJQUlBZ2dCeWtDSERjQ0NDQUlJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENRSkFBMEFnQ1VFQ2RDQUJhaWdDQUNFS0lBZEI1QUJxSUFsQkFuUnFLQUlBSVFRQ2Z3SkFJQUpCQ0VnRVFDQUdJQVVnQWtFQUVHZEZEUVFnQmlnQ0NDRUZJQVlvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQkVHUUFXb2dCU0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ3dSL0lBTWdCRUdRQ1dwcUxRQUFJUVFnQWlBTGF3VkJDU0VEREFFTERBRUxJQVlnQlNBQ0lBUWdBeENnQVNJRVFRQklEUUlnQmlnQ0NDRUZJQVlvQWd3TElRSWdCMEdNQVdvZ0NVRUNkR29vQWdBaEN5QUVRUUJISVFNQ1FBSkFJQWRCdEFGcUlBbEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVJJQkVBZ0JpQUZJQUlnQkJCblJRMEhJQVlvQWdnaEJTQUdLQUlNSVFJTElBUkJBblJCOERGcUtBSUFJZ01nQlNBQ0lBUnJJZ0oxY1NJTVFRQWdBeUFNSUFSQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSVFRUnFJQUJCOUFKcUlBbEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUVJQU1nQkRZQ0FDQUtJQVE3QVFBZ0RrRUJTZ1JBUVFFaEJBTkFBbjhDUUNBQ1FRaElCRUFnQmlBRklBSkJBQkJuUlEwS0lBWW9BZ2doQlNBR0tBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFVZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnd0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdER3NGUVFraEF3d0JDd3dCQ3lBR0lBVWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBWW9BZ2doQlNBR0tBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnTUVRQ0FDSUFOSUJFQWdCaUFGSUFJZ0F4Qm5SUTBKSUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVFnREdvaUJFRUNkQ0FQYWlnQ0FFRUJkQ0FLYWlBRFFRSjBRZkF4YWlnQ0FDSU1JQVVnQWlBRGF5SUNkWEVpRUVFQUlBd2dFQ0FEUVFKMFFld3hhaWdDQUVvYmF6c0JBQVVnREVFUFJ3MERJQVJCRDJvaEJBc2dCRUVCYWlJRUlBNUlEUUFMREFNRlFRRWhCQXdEQ3dBTEJTQURCRUFnQWlBRVNBUkFJQVlnQlNBQ0lBUVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFScklRSUxRUUVoQkF3QkN3d0JDeUFFSUExTUJFQURRQUovQWtBZ0FrRUlTQVJBSUFZZ0JTQUNRUUFRWjBVTkJ5QUdLQUlJSVFVZ0JpZ0NEQ0lDUVFoSUJFQkJBU0VEREFJTEN5QUxRWkFCYWlBRklBSkJlR3AxUWY4QmNTSURRUUowYWlnQ0FDSUtCSDhnQXlBTFFaQUphbW90QUFBaEF5QUNJQXByQlVFSklRTU1BUXNNQVFzZ0JpQUZJQUlnQ3lBREVLQUJJZ05CQUVnTkJTQUdLQUlJSVFVZ0JpZ0NEQXNoQWlBRFFRUjJJUW9nQTBFUGNTSURCRUFnQWlBRFNBUkFJQVlnQlNBQ0lBTVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFOcklRSUZJQXBCRDBjTkEwRVBJUW9MSUFSQkFXb2dDbW9pQkNBTlRBMEFDd3NMSUFsQkFXb2lDU0FBS0FMd0FrZ05BQXNnQUNnQ0dDRUFJQVlvQWdBaEFTQUdLQUlFSVFRTUFRc2dDQ1FHUVFBUEN3VWdCQ0VBSUFraEFTQURJUVFMSUFBZ0FUWUNBQ0FBSUFRMkFnUWdCeUFGTmdJTUlBY2dBallDRUNBSElBZ3BBZ0EzQWhRZ0J5QUlLUUlJTndJY0lBY2dDQ2dDRURZQ0pBc2dCeUFIS0FJc1FYOXFOZ0lzSUFna0JrRUJDNklMQVExL0l3WWhDU01HUVRCcUpBWWdBQ2dDMUFNaEJ5QUFLQUtZQWdSQUlBY29BaXhGQkVBZ0J5Z0NFRUVJRURraEFpQUFLQUxRQXlJRUlBSWdCQ2dDR0dvMkFoZ2dCMEVBTmdJUUlBUW9BZ2doQkNBQUlBUkIvd0J4UVFocUVRQUFSUVJBSUFra0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRUURRQ0FIUVJocUlBUkJBblJxUVFBMkFnQWdCRUVCYWlJRUlBQW9BdFFDU0EwQUN3c2dCMEVBTmdJVUlBY2dBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdCMEVBTmdJb0N3c0xJQWxCRkdvaEJTQUhLQUlvUlFSQUlBVWdBRFlDRUNBRklBQW9BaGdpQmlnQ0FDSUtOZ0lBSUFVZ0JpZ0NCQ0lETmdJRUlBY29BZ3doQkNBSEtBSVFJUUlnQ1NBSEtRSVVOd0lBSUFrZ0J5a0NIRGNDQ0NBSklBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ2dKQUEwQWdDa0VDZENBQmFpZ0NBQ0VOSUFkQjVBQnFJQXBCQW5ScUtBSUFJUVlDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRUWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCa0dRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0JrR1FDV3BxTFFBQUlRWWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFZZ0F4Q2dBU0lHUVFCSURRSWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0IwR01BV29nQ2tFQ2RHb29BZ0FoQ3lBR1FRQkhJUU1DUUFKQUlBZEJ0QUZxSUFwQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwSElBVW9BZ2doQkNBRktBSU1JUUlMSUFaQkFuUkI4REZxS0FJQUlnTWdCQ0FDSUFacklnSjFjU0lJUVFBZ0F5QUlJQVpCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFKUVFScUlBQkI5QUpxSUFwQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFR0lBTWdCallDQUNBTklBWTdBUUFnRGtFQlNnUkFRUUVoQmdOQUFuOENRQ0FDUVFoSUJFQWdCU0FFSUFKQkFCQm5SUTBLSUFVb0FnZ2hCQ0FGS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVFnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdnRWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0NHc0ZRUWtoQXd3QkN3d0JDeUFGSUFRZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFVb0FnZ2hCQ0FGS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdnRVFDQUNJQWhJQkVBZ0JTQUVJQUlnQ0JCblJRMEpJQVVvQWdnaEJDQUZLQUlNSVFJTElBWWdER29pQTBFQ2RFR0FIR29vQWdCQkFYUWdEV29nQ0VFQ2RFSHdNV29vQWdBaUJpQUVJQUlnQ0dzaUFuVnhJZ3hCQUNBR0lBd2dDRUVDZEVIc01Xb29BZ0JLRzJzN0FRQUZJQXhCRDBjTkF5QUdRUTlxSVFNTElBTkJBV29pQmlBT1NBMEFDeUFEUVQ5SURRTUZRUUVoQmd3REN3c0ZJQU1FUUNBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwR0lBVW9BZ2doQkNBRktBSU1JUUlMSUFJZ0Jtc2hBZ3RCQVNFR0RBRUxEQUVMQTBBQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVlnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQzBHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdDMEdRQ1dwcUxRQUFJUU1nQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBc2dBeENnQVNJRFFRQklEUVFnQlNnQ0NDRUVJQVVvQWd3TElRSWdBMEVFZGlFSUlBTkJEM0VpQXdSQUlBSWdBMGdFUUNBRklBUWdBaUFERUdkRkRRVWdCU2dDQ0NFRUlBVW9BZ3doQWdzZ0FpQURheUVDQlNBSVFROUhEUUpCRHlFSUN5QUdRUUZxSUFocUlnWkJ3QUJJRFFBTEN5QUtRUUZxSWdvZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQUNBRktBSUFJUUVnQlNnQ0JDRUdEQUVMSUFra0JrRUFEd3NGSUFZaEFDQUtJUUVnQXlFR0N5QUFJQUUyQWdBZ0FDQUdOZ0lFSUFjZ0JEWUNEQ0FISUFJMkFoQWdCeUFKS1FJQU53SVVJQWNnQ1NrQ0NEY0NIQ0FISUFrb0FoQTJBaVFMSUFjZ0J5Z0NMRUYvYWpZQ0xDQUpKQVpCQVF1ZUNnRVJmeU1HSVFVakJrR2dBbW9rQmlBQUtBTFVBeUVJSUFBb0FwZ0NCRUFnQ0NnQ0xFVUVRQ0FJS0FJUVFRZ1FPU0VFSUFBb0F0QURJZ0lnQkNBQ0tBSVlhallDR0NBSVFRQTJBaEFnQWlnQ0NDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQWdCU1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBaEJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBSVFRQTJBaFFnQ0NBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSVFRQTJBaWdMQ3dzZ0JVR0FBbW9oQnlBRklRb2dDQ2dDS0VVRVFBSkFJQUFvQXFBRElRNUJBU0FBS0FLb0F5SUNkQ0VMUVg4Z0FuUWhEeUFBS0FLd0F5RVFJQWNnQURZQ0VDQUhJQUFvQWhnaUFpZ0NBRFlDQUNBSElBSW9BZ1EyQWdRZ0NDZ0NEQ0VGSUFnb0FoQWhCQ0FCS0FJQUlRMGdDRUZBYXlnQ0FDRU1JQUFvQXB3RElRSUNRQUovQWtBZ0NDZ0NGQ0lKRFFCQkFDRUJBa0FEUUFKQUFuOENRQ0FFUVFoSUJFQWdCeUFGSUFSQkFCQm5SUTBGSUFjb0FnZ2hCU0FIS0FJTUlnUkJDRWdFUUVFQklRTU1BZ3NMSUF4QmtBRnFJQVVnQkVGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQXhCa0FscWFpMEFBQ0VHSUFRZ0NXc0ZRUWtoQXd3QkN3d0JDeUFISUFVZ0JDQU1JQU1Rb0FFaUJrRUFTQTBESUFjb0FnZ2hCU0FIS0FJTUN5RUVJQVpCQkhZaEF3Si9Ba0FDUUFKQUlBWkJEM0VPQWdBQ0FRc2dBMEVQUncwRElBUWhCa0VBREFJTElBQW9BZ0FpQmtINUFEWUNGQ0FHS0FJRUlRWWdBRUYvSUFaQlAzRkJzZ1ZxRVFNQUN5QUVRUUZJQkVBZ0J5QUZJQVJCQVJCblJRMEVJQWNvQWd3aEJDQUhLQUlJSVFVTElBc2dEeUFGUVFFZ0JFRi9haUlHZEhFYkN5RUpJQU1oQkNBQ0lRTWdCaUVDQTM4Q2Z5QURRUUowSUJCcUtBSUFRUUYwSUExcUlnWXVBUUFFUUNBQ1FRRklCRUFnQnlBRklBSkJBUkJuUlEwR0lBY29BZ3doQWlBSEtBSUlJUVVMSUFWQkFTQUNRWDlxSWdKMGNRUkFJQVl1QVFBaUVpSVJJQXR4UlFSQUlCSkJmMG9FUUNBR0lBc2dFV283QVFBRklBWWdEeUFSYWpzQkFBc0xDd1VnQkVGL2FpRUdJQVJCQVVnRWZ5QUNEQUlGSUFZTElRUUxJQU5CQVdvaEJpQURJQTVJQkg4Z0JpRUREQUlGSUFZaEF5QUNDd3NMSVFRZ0NRUkFJQU5CQW5RZ0VHb29BZ0FpQWtFQmRDQU5haUFKT3dFQUlBRkJBblFnQ21vZ0FqWUNBQ0FCUVFGcUlRRUxJQU5CQVdvaEFpQURJQTVJRFFFZ0JDRUJRUUFNQkFzTFFRRWdBM1FoQmlBREJFQWdCQ0FEU0FSQUlBY2dCU0FFSUFNUVowVU5BaUFIS0FJTUlRUWdCeWdDQ0NFRkN5QUdJQU5CQW5SQjhERnFLQUlBSUFVZ0JDQURheUlFZFhGcUlna0VRQ0FCSVFZTUF3VWdCQ0VCUVFBTUJBc0FCVUVCSVFrZ0FTRUdEQUlMQUFzTUFnc2dBaUVESUFRaEFTQUZJUUlEUUNBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdVdUFRQUVRQ0FCUVFGSUJFQWdCeUFDSUFGQkFSQm5SUVJBSUFZaEFRd0ZDeUFIS0FJTUlRRWdCeWdDQ0NFQ0N5QUNRUUVnQVVGL2FpSUJkSEVFUUNBRkxnRUFJZ3dpQkNBTGNVVUVRQ0FNUVg5S0JFQWdCU0FFSUF0cU93RUFCU0FGSUFRZ0QybzdBUUFMQ3dzTElBTkJBV29oQlNBRElBNUlCRUFnQlNFRERBRUxDeUFDSVFVZ0NVRi9hZ3NoQXlBQUtBSVlJZ0FnQnlnQ0FEWUNBQ0FBSUFjb0FnUTJBZ1FnQ0NBRk5nSU1JQWdnQVRZQ0VDQUlJQU0yQWhRTUFRc2dBVVVFUUNBS0pBWkJBQThMQTBBZ0FVRi9haUlCUVFKMElBcHFLQUlBUVFGMElBMXFRUUE3QVFBZ0FRMEFDeUFLSkFaQkFBOExDeUFJSUFnb0FpeEJmMm8yQWl3Z0NpUUdRUUVMT2dBQ2Z3SkFBa0FDUUFKQUFrQWdBQTRQQUFBQkFRRUNBUU1EQXdNREFnSUNCQXRCQXd3RUMwRUVEQU1MUVFFTUFndEJBZ3dCQzBFQUN3dkVBd0VJZnlNR0lRUWpCa0VnYWlRR0lBQW9BdFFESVFJZ0FDZ0NtQUlFUUNBQ0tBSXNSUVJBSUFJb0FoQkJDQkE1SVFNZ0FDZ0MwQU1pQlNBRElBVW9BaGhxTmdJWUlBSkJBRFlDRUNBRktBSUlJUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FFSkFaQkFBOExJQUFvQXRRQ1FRQktCRUJCQUNFREEwQWdBa0VZYWlBRFFRSjBha0VBTmdJQUlBTkJBV29pQXlBQUtBTFVBa2dOQUFzTElBSkJBRFlDRkNBQ0lBQW9BcGdDTmdJc0lBQW9BcmdEUlFSQUlBSkJBRFlDS0FzTEN5QUVJZ1lnQURZQ0VDQUdJQUFvQWhnaUJ5Z0NBQ0lJTmdJQUlBWWdCeWdDQkNJRk5nSUVJQUlvQWd3aEF5QUNLQUlRSVFSQkFTQUFLQUtvQTNRaENTQUFLQUx3QWtFQVNnUkFBa0JCQUNFRkFrQURRQ0FFUVFGSUJFQWdCaUFESUFSQkFSQm5SUTBDSUFZb0Fnd2hCQ0FHS0FJSUlRTUxJQU5CQVNBRVFYOXFJZ1IwY1FSQUlBVkJBblFnQVdvb0FnQWlDQ0FKSUFndkFRQnlPd0VBQ3lBRlFRRnFJZ1VnQUNnQzhBSklEUUFMSUFBb0FoZ2hCeUFHS0FJQUlRZ2dCaWdDQkNFRkRBRUxJQVlrQmtFQUR3c0xJQWNnQ0RZQ0FDQUhJQVUyQWdRZ0FpQUROZ0lNSUFJZ0JEWUNFQ0FDSUFJb0FpeEJmMm8yQWl3Z0JpUUdRUUVMdGdZQkRIOGpCaUVFSXdaQklHb2tCaUFBS0FMVUF5RUZBa0FnQUNnQ21BSUVRQ0FGS0FJc1JRUkFJQVVvQWhCQkNCQTVJUVlnQUNnQzBBTWlBaUFHSUFJb0FoaHFOZ0lZSUFWQkFEWUNFQ0FDS0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFpQUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBVkJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBaFFnQlNBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBRlFRQTJBaWdMQ3dzZ0JTZ0NLRVVFUUNBRktBSVVJZ0lFUUNBQ1FYOXFJUU1GSUFRZ0FEWUNFQ0FFSUFBb0FoZ2lBaWdDQURZQ0FDQUVJQUlvQWdRMkFnUWdCU2dDRENFR0lBVW9BaEFoQWlBQUtBS29BeUVLSUFBb0FyQURJUXNnQVNnQ0FDRU1JQVZCUUdzb0FnQWhDQ0FBS0FLY0F5SURJQUFvQXFBRElnMUtCRUJCQUNFRElBWWhBUVVDUUNBR0lRRWdBeUVHQWtBRFFBSkFBbjhDUUNBQ1FRaElCRUFnQkNBQklBSkJBQkJuUlEwRklBUW9BZ2doQVNBRUtBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBaEJrQUZxSUFFZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUFoQmtBbHFhaTBBQUNFSElBSWdDV3NGUVFraEF3d0JDd3dCQ3lBRUlBRWdBaUFJSUFNUW9BRWlCMEVBU0EwRElBUW9BZ2doQVNBRUtBSU1DeUVDSUFkQkJIWWhBeUFIUVE5eElnY0VRQ0FDSUFkSUJFQWdCQ0FCSUFJZ0J4Qm5SUTBFSUFRb0Fnd2hBaUFFS0FJSUlRRUxJQU1nQm1vaUEwRUNkQ0FMYWlnQ0FFRUJkQ0FNYWlBSFFRSjBRZkF4YWlnQ0FDSUdJQUVnQWlBSGF5SUNkWEVpQ1VFQUlBWWdDU0FIUVFKMFFld3hhaWdDQUVvYmF5QUtkRHNCQUFVQ1FDQURCRUFnQTBFUFJnUkFEQUlGREFRTEFBdEJBQ0VEREFVTElBWkJEMm9oQXdzZ0EwRUJhaUVHSUFNZ0RVZ05BVUVBSVFNTUF3c0xJQUlnQTBnRVFDQUVJQUVnQWlBREVHZEZEUVlnQkNnQ0RDRUNJQVFvQWdnaEFRdEJBU0FEZEVGL2FpQURRUUowUWZBeGFpZ0NBQ0FCSUFJZ0Eyc2lBblZ4YWlFRERBRUxEQVFMQ3lBQUtBSVlJZ0FnQkNnQ0FEWUNBQ0FBSUFRb0FnUTJBZ1FnQlNBQk5nSU1JQVVnQWpZQ0VBc2dCU0FETmdJVUN5QUZJQVVvQWl4QmYybzJBaXdnQkNRR1FRRVBDeUFFSkFaQkFBdVdCZ0VOZnlNR0lRUWpCa0V3YWlRR0lBQW9BdFFESVFJZ0FDZ0NxQU1oQ3lBQUtBS1lBZ1JBSUFJb0FpeEZCRUFnQWlnQ0VFRUlFRGtoQXlBQUtBTFFBeUlJSUFNZ0NDZ0NHR28yQWhnZ0FrRUFOZ0lRSUFnb0FnZ2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRUkFJQVFrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFNRFFDQUNRUmhxSUFOQkFuUnFRUUEyQWdBZ0EwRUJhaUlESUFBb0F0UUNTQTBBQ3dzZ0FrRUFOZ0lVSUFJZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0FrRUFOZ0lvQ3dzTElBUkJGR29oQmlBRUlRa2dBaWdDS0VVRVFDQUdJQUEyQWhBZ0JpQUFLQUlZSWdjb0FnQWlCVFlDQUNBR0lBY29BZ1FpQ0RZQ0JDQUNLQUlNSVFNZ0FpZ0NFQ0VFSUFrZ0Fpa0NGRGNDQUNBSklBSXBBaHczQWdnZ0NTQUNLQUlrTmdJUUlBQW9BdkFDUVFCS0JFQUNRRUVBSVFnQ1FBTkFJQWhCQW5RZ0FXb29BZ0FoRGlBQ1FUQnFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWcxQkFuUnFLQUlBS0FJVVFRSjBhaWdDQUNFS0FuOENRQ0FFUVFoSUJFQWdCaUFESUFSQkFCQm5SUTBFSUFZb0FnZ2hBeUFHS0FJTUlnUkJDRWdFUUVFQklRVU1BZ3NMSUFwQmtBRnFJQU1nQkVGNGFuVkIvd0Z4SWdWQkFuUnFLQUlBSWdjRWZ5QUZJQXBCa0FscWFpMEFBQ0VGSUFRZ0Iyc0ZRUWtoQlF3QkN3d0JDeUFHSUFNZ0JDQUtJQVVRb0FFaUEwRUFTQTBDSUFNaEJTQUdLQUlJSVFNZ0JpZ0NEQXNoQkNBRkJIOGdCQ0FGU0FSQUlBWWdBeUFFSUFVUVowVU5BeUFHS0FJTUlRUWdCaWdDQ0NFREN5QUZRUUowUWZBeGFpZ0NBQ0lLSUFNZ0JDQUZheUlFZFhFaUIwRUFJQW9nQnlBRlFRSjBRZXd4YWlnQ0FFb2Jhd1ZCQUFzZ0NVRUVhaUFOUVFKMGFpSUZLQUlBYWlFSElBVWdCellDQUNBT0lBY2dDM1E3QVFBZ0NFRUJhaUlJSUFBb0F2QUNTQTBBQ3lBQUtBSVlJUWNnQmlnQ0FDRUZJQVlvQWdRaENBd0JDeUFKSkFaQkFBOExDeUFISUFVMkFnQWdCeUFJTmdJRUlBSWdBellDRENBQ0lBUTJBaEFnQWlBSktRSUFOd0lVSUFJZ0NTa0NDRGNDSENBQ0lBa29BaEEyQWlRTElBSWdBaWdDTEVGL2FqWUNMQ0FKSkFaQkFRc3ZBUUovSUFBb0F0UURJZ0VvQWhCQkNCQTVJUUlnQUNnQzBBTWlBQ0FDSUFBb0FoaHFOZ0lZSUFGQkFEWUNFQXZzREFFSWZ5QUFLQUxVQXlFRUlBQW9BcHdESWdKRklRTUNRQ0FBS0FMZ0FVVUVRQUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDM0FFZ0FDZ0NvQU1pQVVIQUFFaHlCRUFnQUNnQ3RBTWdBVWNOQVFzTUFRc2dBQ2dDQUNJQlFmMEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QUxJQVJCSmtFbklBQW9BclFEUVQ5R0d6WUNCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUJCQVNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lDS0FJVUlnTWdCRUhFQUdvZ0EwRUNkR29RK1FFZ0FDZ0N0QU1FUUNBQVFRQWdBaWdDR0NJQ0lBUkIxQUJxSUFKQkFuUnFFUGtCQ3lBRVFSaHFJQUZCQW5ScVFRQTJBZ0FnQVVFQmFpSUJJQUFvQXRRQ1NBMEFDd3NnQUNnQzhBSkJBRXdOQVVFQUlRRURRQ0FFUWVRQWFpQUJRUUowYWlBRVFjUUFhaUFBUWRnQ2FpQUFRZlFDYWlBQlFRSjBhaWdDQUVFQ2RHb29BZ0FpQXlnQ0ZFRUNkR29vQWdBMkFnQWdCRUdNQVdvZ0FVRUNkR29nQkVIVUFHb2dBeWdDR0VFQ2RHb29BZ0EyQWdBZ0JFRzBBV29nQVVFQ2RHb2dBeWdDTkFSL0FuOGdBeWdDS0NFQ0lBTW9BaVFoQXdKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQUNnQ3RBTU9NUUFIQndFSEJ3Y0hBZ2NIQndjSEJ3TUhCd2NIQndjSEJ3UUhCd2NIQndjSEJ3Y0hCUWNIQndjSEJ3Y0hCd2NIQndZSEMwRUJEQWNMSUFKQkFVZEJBM1JCb0N0cUlBTkJBVWRCQW5ScUtBSUFRUUZxREFZTElBSkJmMm9pQWtFQ0lBSkJBa2tiUVF4c1FiQXJhaUFEUVg5cUlnSkJBaUFDUVFKSkcwRUNkR29vQWdCQkFXb01CUXNnQWtGL2FpSUNRUU1nQWtFRFNSdEJCSFJCNEN0cUlBTkJmMm9pQWtFRElBSkJBMGtiUVFKMGFpZ0NBRUVCYWd3RUN5QUNRWDlxSWdKQkJDQUNRUVJKRzBFVWJFR2dMR29nQTBGL2FpSUNRUVFnQWtFRVNSdEJBblJxS0FJQVFRRnFEQU1MSUFKQmYyb2lBa0VGSUFKQkJVa2JRUmhzUVpBdGFpQURRWDlxSWdKQkJTQUNRUVZKRzBFQ2RHb29BZ0JCQVdvTUFnc2dBa0YvYWlJQ1FRWWdBa0VHU1J0QkhHeEJvQzVxSUFOQmYyb2lBa0VHSUFKQkJra2JRUUowYWlnQ0FFRUJhZ3dCQ3lBQ1FYOXFJZ0pCQnlBQ1FRZEpHMEVGZEVId0wyb2dBMEYvYWlJQ1FRY2dBa0VIU1J0QkFuUnFLQUlBUVFGcUN3VkJBQXMyQWdBZ0FVRUJhaUlCSUFBb0F2QUNTQTBBQ3d3QkN5QUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFKSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FDTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSWlBVUVBU2dSL0lBQkJwQU5xSVFWQkFDRUNBMzhnQUVIWUFtb2dBa0VDZEdvb0FnQW9BZ1FoQmlBQUtBS2dBU0VJSUFBb0Fwd0RJZ0VFUUNBR1FRaDBJQWhxS0FJQVFRQklCRUFnQUNnQ0FDSUJRZllBTmdJVUlBRWdCallDR0NBQUtBSUFRUUEyQWh3Z0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBQUtBS2NBeUVCQ3dWQkFDRUJDeUFCSUFBb0FxQURUQVJBQTBBZ0JTZ0NBQ0FHUVFoMElBaHFJQUZCQW5ScUlnTW9BZ0FpQjBFQUlBZEJBRW9iUndSQUlBQW9BZ0FpQjBIMkFEWUNGQ0FISUFZMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhCeUFBUVg4Z0IwRS9jVUd5QldvUkF3QUxJQU1nQUNnQ3FBTTJBZ0FnQVVFQmFpRURJQUVnQUNnQ29BTklCRUFnQXlFQkRBRUxDd3NnQWtFQmFpSUNJQUFvQXRRQ0lnRklEUUFnQlFzRklBQkJwQU5xQ3lFQ0lBUkJJa0VqSUFBb0Fwd0RJZ05GSWdVYlFTUkJKU0FGR3lBQ0tBSUFSUnMyQWdRZ0FVRUFTZ1JBQWtBZ0JFRkFheUVHUVFBaEFRTkFJQUJCMkFKcUlBRkJBblJxS0FJQUlRVWdBd1JBSUFSQk1Hb2dCU2dDR0NJRlFRSjBhaUVESUFCQkFDQUZJQU1RK1FFZ0JpQURLQUlBTmdJQUJTQUNLQUlBUlFSQUlBQkJBU0FGS0FJVUlnTWdCRUV3YWlBRFFRSjBhaEQ1QVFzTElBUkJHR29nQVVFQ2RHcEJBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSk9EUUVnQUNnQ25BTWhBd3dBQUFzQUN3c2dCRUVBTmdJVUlBUkJBRFlDRUNBRVFRQTJBZ3dnQkVFQU5nSW9JQVFnQUNnQ21BSTJBaXdQQ3lBRVFRQTJBaEFnQkVFQU5nSU1JQVJCQURZQ0tDQUVJQUFvQXBnQ05nSXNDOWNCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVIY0FTQUNRVDl4UWNvQmFoRUVBQ0lCTmdMVUF5QUJRZllBTmdJQUlBRkI5d0EyQWdnZ0FDZ0M0QUZGQkVBZ0FVSUFOd0pFSUFGQ0FEY0NUQ0FCUVFBMkFsUWdBVUVBTmdKWUlBRkJBRFlDWENBQlFRQTJBbUFQQ3lBQUtBSUVLQUlBSVFJZ0FDQUFRUUVnQUNnQ0pFRUlkQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nS2dBU0FBS0FJa1FRQktCRUJCQUNFQ0EwQWdBeUFDUVFoMGFrRi9RWUFDRUVVYUlBSkJBV29pQWlBQUtBSWtTQTBBQ3dzZ0FVSUFOd0l3SUFGQ0FEY0NPQXZEQWdFSmZ5QUFLQUs0QXlFQ0lBQW9BZ0FpQTBIOEFEWUNGQ0FESUFJMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhBeUFBUVg4Z0EwRS9jVUd5QldvUkF3QWdBVUVCYWtFSGNVSFFBWEloQkNBQlFRSnFRUWR4UWRBQmNpRUZJQUZCQjJwQkIzRkIwQUZ5SVFZZ0FVRUdha0VIY1VIUUFYSWhCd0pBQTBBQ1FDQUNRY0FCU0NFSUlBSWdCRVlnQWtGNGNVSFFBVWR5SUFJZ0JVWnlJUWxCQWtFQklBSWdCa1lnQWlBSFJuSWJJUW9EUUFKQUlBQW9BZ0FpQVVIakFEWUNGQ0FCSUFJMkFoZ2dBQ2dDQUVFQ1FRTWdDaUFKR3lBSUd5SUROZ0ljSUFBb0FnQW9BZ1FoQVNBQVFRUWdBVUUvY1VHeUJXb1JBd0FDUUFKQUlBTkJBM0ZCQVdzT0F3UUNBQUVMUVFFaEFBd0ZDd3dCQ3dzZ0FCQ3hBZ1JBSUFBb0FyZ0RJUUlNQWdWQkFDRUFEQU1MQUFzTElBQkJBRFlDdUFOQkFROExJQUFMWWdFRGZ5QUFLQUlZSVFJZ0FVRUFUQVJBRHdzZ0FpZ0NCQ0lESUFGSUJFQURRQ0FDS0FJTUlRUWdBQ0FFUWY4QWNVRUlhaEVBQUJvZ0FTQURheUlCSUFJb0FnUWlBMG9OQUFzTElBSWdBU0FDS0FJQWFqWUNBQ0FDSUFNZ0FXczJBZ1FMN3dFQkJIOUJCRUVFRUlzQklRUURRQ0FDUVFOSEJFQWdBa0VDZENFRlFRQWhBd05BSUFOQkJFY0VRQ0FFS0FJQUlBTWdCV3BCQTNScUlBSkJCSFFnQUdvZ0EwRUNkR29xQWdDN09RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRWRDQUJhaUFDUVFKMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQXRqZ0NBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0JCQkpDNzBCQVFOL0lBQW9BaGdpQVNnQ0lFRUJRWUFnSUFFb0Fod1FZU0lDQkVBZ0FTQUJLQUlnTmdJQUlBRWdBallDQkNBQlFRQTJBaVJCQVE4TElBRW9BaVFFUUNBQUtBSUFJZ0pCS3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQW44Z0FDRURJQUFvQWdBaUFFSDdBRFlDRkNBQUtBSUVJUUFnQXd0QmZ5QUFRVDl4UWJJRmFoRURBQ0FCS0FJZ1FYODZBQUFnQVNnQ0lFRlpPZ0FCSUFFZ0FTZ0NJRFlDQUNBQlFRSTJBZ1FnQVVFQU5nSWtRUUVMREFBZ0FDZ0NHRUVCTmdJa0M1WUJBUUovSUFBb0FoZ2lBa1VFUUNBQUtBSUVLQUlBSVFJZ0FDQUFRUUJCS0NBQ1FUOXhRY29CYWhFRUFDSUROZ0lZSUFBb0FnUW9BZ0FoQWlBRElBQkJBRUdBSUNBQ1FUOXhRY29CYWhFRUFEWUNJQ0FBS0FJWUlRSUxJQUpCOUFBMkFnZ2dBa0hUQURZQ0RDQUNRUzgyQWhBZ0FrRWhOZ0lVSUFKQjlRQTJBaGdnQWlBQk5nSWNJQUpCQURZQ0JDQUNRUUEyQWdBTDZna0JFbjhqQmlFVEl3WkJnQUpxSkFZZ0FDZ0MwQUloRmlBVElnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFCS0FJQUlBSXVBUUJCQW5Sc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lJSUFJdUFUQWdBU2dDWUd3aUMyb2lEQ0FDTGdGUUlBRW9BcUFCYkNJTklBY2dBU2dDSUd3aUIyb2lDbXBCb2NzQWJDSU9JQXhCdTRKL2JHb2lEQ0FISUFocVFiTkdiQ0lRSUFoQmpoTnNhbW9oQ0NBT0lBcEJoR2RzYWlJS0lCQWdCMEdMNEFCc2Ftb2hCeUFLSUFzZ0RXcEIvZHQrYkNJS0lBMUJzNE1CYkdwcUlRMGdCaUFISUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc0Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUVHb2lFU0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJZ1VnQWk0QllDQUJLQUxBQVd3aUVtcEIwU0pzSWhRZ0JVSCtNR3hxSWdWcUloVnFRUXQxTmdJQUlBWWdGU0FIYTBFTGRUWUM0QUVnQmlBTUlBb2dDMEhVeEFGc2Ftb2lDeUFRSUE1cklnY2dGQ0FTUWQrSmYyeHFJZ3hxSWdwcVFRdDFOZ0lnSUFZZ0NpQUxhMEVMZFRZQ3dBRWdCa0ZBYXlBTklBY2dER3NpQzJwQkMzVTJBZ0FnQmlBTElBMXJRUXQxTmdLZ0FTQUdJQWdnRVNBRmF5SUZha0VMZFRZQ1lDQUZJQWhyUVF0MUlRVkJJQXRCQW5RZ0Jtb2dCVFlDQUNBR1FRUnFJUVlnQVVFRWFpRUJJQUpCQW1vaEFpQUpRWDlxSVFVZ0NVRUJTd1JBSUFVaENRd0JDd3NnRmtHQWZXb2hDVUVBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSVFZZ0FDZ0NBRUdRZ0FGcUlRVUNRQUpBSUFBb0FnUWlDQ0FBS0FJSUlnSnlEUUFnQUNnQ0RBUkFRUUFoQWd3QkJTQUFLQUlRQkVCQkFDRUNEQUlGSUFBb0FoUUVRRUVBSVFJTUF3VWdBQ2dDR0FSQVFRQWhBZ3dFQlNBQUtBSWNCRUJCQUNFQ0RBVUZJQVlnQ1NBRlFRVjJRZjhIY1dvc0FBQWlBam9BQUNBR1FRRnFJQUpCQnhCRkdnc0xDd3NMREFFTElBQW9BaHdpQ3lBQUtBSU1JZzFxSWc4Z0NDQUFLQUlVSWdkcUlneHFRYUhMQUd3aUNpQVBRYnVDZjJ4cUlnOGdDQ0FMYWtHelJtd2lEaUFMUVk0VGJHcHFJUXNnQ2lBTVFZUm5iR29pRENBT0lBaEJpK0FBYkdwcUlRZ2dEQ0FISUExcVFmM2JmbXdpRENBSFFiT0RBV3hxYWlFSElBWWdDU0FGSUFBb0FoQWlDbXBCRFhRaURpQUFLQUlZSWhBZ0FtcEIwU0pzSWhFZ0FrSCtNR3hxSWdKcUloSWdDR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWtnRWlBSWEwRVNka0gvQjNGcUxBQUFPZ0FISUFZZ0NTQUZJQXByUVExMElnVWdFU0FRUWQrSmYyeHFJZ2hxSWdvZ0R5QU1JQTFCMU1RQmJHcHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFKSUFvZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBR0lBa2dCU0FJYXlJRklBZHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JpQUpJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCU0FHSUFrZ0RpQUNheUlDSUF0cVFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSklBSWdDMnRCRW5aQi93ZHhhaXdBQURvQUJBc2dBRUVnYWlFQUlBRkJBV29pQVVFSVJ3MEFDeUFUSkFZTE5BQWdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2dBaTRCQUNBQktBSlVLQUlBYkVHRUlHcEJBM1pCL3dkeGFpd0FBRG9BQUF2REFRRUZmeUFFSUFNb0FnQnFJZ1VnQUNnQzBBSkJnSDFxSWdBZ0FpNEJFQ0FCS0FKVUlnRW9BaUJzSWdZZ0FpNEJBQ0FCS0FJQWJFR0VJR29pQjJvaUNDQUNMZ0VDSUFFb0FnUnNJZ2tnQWk0QkVpQUJLQUlrYkNJQmFpSUNha0VEZGtIL0IzRnFMQUFBT2dBQUlBVWdDQ0FDYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUVnQkNBREtBSUVhaUlDSUFjZ0Jtc2lBeUFKSUFGcklnRnFRUU4yUWY4SGNTQUFhaXdBQURvQUFDQUNJQU1nQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzZnRkFRbC9Jd1loQlNNR1FUQnFKQVlnQUNnQzBBSWhDQ0FGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lIYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkU0lMTmdJQUlBVWdBU0FBYTBFTGRUWUNHQ0FGSUFrZ0IwRitiR3BCQzNVMkFnd2dCU0FHS0FJRUlBSXVBUUpCRFhSc1FZQUljaUlKSUFZb0FrUWdBaTRCSWtHaExXeHNJZ2RxSWdFZ0JpZ0NKQ0FDTGdFU1FiSE9BR3hzSWdCcVFRdDFJZ3cyQWdRZ0JTQUJJQUJyUVF0MU5nSWNJQVVnQ1NBSFFYNXNha0VMZFNJTk5nSVFJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQ1NBR0tBSklJQUl1QVNSQm9TMXNiQ0lIYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkU0lLTmdJSUlBVWdBU0FBYTBFTGRTSUdOZ0lnSUFVZ0NTQUhRWDVzYWtFTGRTSUpOZ0lVSUFRZ0F5Z0NBR29pQnlBSVFZQjlhaUlJSUF0QkRYUkJnSUNJd0FCcUlnSWdDa0doTFd4cUlnRWdERUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUlJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFnZ0FpQUtRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSUVhaUlISUFnZ0JTZ0NERUVOZEVHQWdJakFBR29pQWlBSlFhRXRiR29pQVNBTlFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFnZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dDQ0FDSUFsQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdocUlnTWdDQ0FGS0FJWVFRMTBRWUNBaU1BQWFpSUNJQVpCb1Mxc2FpSUJJQVVvQWh4QnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQU1nQ0NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0F5QUlJQUlnQmtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBVWtCZ3ZzQ1FFSWZ5TUdJUVVqQmtGQWF5UUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQ1NnQ0FHd2lDQ0FDTGdFZ0lBbEJRR3NvQWdCc0lndHFRUUowSWdFZ0FpNEJFQ0FKS0FJZ2JDSUFJQUl1QVRBZ0NTZ0NZR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQUNBRklBRWdBR3MyQWpBZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVFJQVVnQVNBQWF6WUNJQ0FGSUFJdUFRSWdDU2dDQkd3aUNDQUNMZ0VpSUFrb0FrUnNJZ3RxUVFKMElnRWdBaTRCRWlBSktBSWtiQ0lBSUFJdUFUSWdDU2dDWkd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0JDQUZJQUVnQUdzMkFqUWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lVSUFVZ0FTQUFhellDSkNBRklBSXVBUVFnQ1NnQ0NHd2lDQ0FDTGdFa0lBa29Ba2hzSWd0cVFRSjBJZ0VnQWk0QkZDQUpLQUlvYkNJQUlBSXVBVFFnQ1NnQ2FHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFpSU1OZ0lJSUFVZ0FTQUFhellDT0NBRklBZ2dDMnRCQW5RaUFTQUtJQVpCMzRsL2JHcEJDM1VpQUdvMkFoZ2dCU0FCSUFCck5nSW9JQVVnQWk0QkJpQUpLQUlNYkNJTElBSXVBU1lnQ1NnQ1RHd2lCbXBCQW5RaUFTQUNMZ0VXSUFrb0FpeHNJZ0FnQWk0Qk5pQUpLQUpzYkNJS2FrSFJJbXhCZ0FocUlnSWdBRUgrTUd4cVFRdDFJZ0JxSWdnMkFnd2dCU0FCSUFCck5nSThJQVVnQ3lBR2EwRUNkQ0lCSUFJZ0NrSGZpWDlzYWtFTGRTSUFhaUlMTmdJY0lBVWdBU0FBYXpZQ0xDQUVJQU1vQWdCcUlnWWdCMEdBZldvaUJ5QU1JQVVvQWdCQmtJQUJhaUlLYWtFTmRDSUJJQWdnQlNnQ0JDSUFha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBS0lBeHJRUTEwSWdFZ0FpQUlRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FnUnFJZ2dnQnlBRktBSVFRWkNBQVdvaUJpQUZLQUlZSWdwcVFRMTBJZ0VnQ3lBRktBSVVJZ0JxUWRFaWJDSUNJQUJCL2pCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBZ2dCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQ0NBSElBWWdDbXRCRFhRaUFTQUNJQXRCMzRsL2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQ0NBSElBVW9BaUJCa0lBQmFpSUxJQVVvQWlnaUJtcEJEWFFpQVNBRktBSWtJZ0FnQlNnQ0xDSUtha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQWdnQnlBTElBWnJRUTEwSWdFZ0FpQUtRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NDQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSXdRWkNBQVdvaUNpQUZLQUk0SWdScVFRMTBJZ0VnQlNnQ05DSUFJQVVvQWp3aUEycEIwU0pzSWdJZ0FFSCtNR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ2lBRWEwRU5kQ0lCSUFJZ0EwSGZpWDlzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4UUFRcC9Jd1loQlNNR1FmQUFhaVFHSUFBb0F0QUNJUTRnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpRUdJQVVnQWk0QklDQUlRVUJyS0FJQWJDSUJJQUpCUUdzdUFRQWdDQ2dDZ0FGc0lnQnFRY3d5YkNJTklBWWdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VRSUFnb0FpQnNJZ0FnQWk0Qk1DQUlLQUpnYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ0FnQlNBQklBQnJRUXQxTmdKUUlBVWdDaUFOYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBandnQlNBR0lBbEJ3S1YvYkdwQkMzVTJBaWdnQlNBQ0xnRVNJQWdvQWlSc0lnQWdBaTRCTWlBSUtBSmtiQ0lIYWtHYU5Xd2lCaUFBUWZFZ2JHb2lEU0FDTGdFaUlBZ29Ba1JzSWdFZ0FpNEJRaUFJS0FLRUFXd2lBR3BCekRKc0lna2dDQ2dDQkNBQ0xnRUNRUTEwYkVHQUNISWlDaUFCSUFCcklndEIwQlpzYWlJTWFpSUFha0VMZFRZQ0JDQUZJQUFnRFd0QkMzVTJBbFFnQlNBR0lBZEIzUFIrYkdvaUFTQU1JQWxySWdCcVFRdDFOZ0lZSUFWQlFHc2dBQ0FCYTBFTGRUWUNBQ0FGSUFvZ0MwSEFwWDlzYWtFTGRUWUNMQ0FGSUFJdUFTUWdDQ2dDU0d3aUFTQUNMZ0ZFSUFnb0FvZ0JiQ0lBYWtITU1td2lCaUFJS0FJSUlBSXVBUVJCRFhSc1FZQUljaUlOSUFFZ0FHc2lDVUhRRm14cUlncHFJZ0VnQWk0QkZDQUlLQUlvYkNJQUlBSXVBVFFnQ0NnQ2FHd2lDMnBCbWpWc0lnd2dBRUh4SUd4cUlnQnFRUXQxTmdJSUlBVWdBU0FBYTBFTGRUWUNXQ0FGSUFvZ0Jtc2lBU0FNSUF0QjNQUitiR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdKRUlBVWdEU0FKUWNDbGYyeHFRUXQxTmdJd0lBVWdBaTRCSmlBSUtBSk1iQ0lCSUFJdUFVWWdDQ2dDakFGc0lnQnFRY3d5YkNJR0lBZ29BZ3dnQWk0QkJrRU5kR3hCZ0FoeUlnMGdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VXSUFnb0FpeHNJZ0FnQWk0Qk5pQUlLQUpzYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ3dnQlNBQklBQnJRUXQxTmdKY0lBVWdDaUFHYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0lDQUZJQUVnQUd0QkMzVTJBa2dnQlNBTklBbEJ3S1YvYkdwQkMzVTJBalFnQlNBQ0xnRW9JQWdvQWxCc0lnRWdBaTRCU0NBSUtBS1FBV3dpQUdwQnpESnNJZzBnQ0NnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFJdUFSZ2dDQ2dDTUd3aUFDQUNMZ0U0SUFnb0FuQnNJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VMZFRZQ0VDQUZJQUVnQUd0QkMzVTJBbUFnQlNBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFRdDFOZ0lrSUFVZ0FTQUFhMEVMZFRZQ1RDQUZJQWtnQ2tIQXBYOXNha0VMZFRZQ09DQUVJQU1vQWdCcUlnWWdEa0dBZldvaUJ5QUZLQUlJSWdFZ0JTZ0NFQ0lBYWtITU1td2lEU0FGS0FJQVFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCU2dDQkNJQUlBVW9BZ3dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQmlBSElBVW9BaHdpQVNBRktBSWtJZ0JxUWN3eWJDSU5JQVVvQWhSQkRYUkJnSUNJd0FCcUlna2dBU0FBYXlJS1FkQVdiR29pQzJvaUFTQUZLQUlZSWdBZ0JTZ0NJQ0lNYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFZZ0J5QUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NTQUtRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUlhaUlHSUFjZ0JTZ0NNQ0lCSUFVb0FqZ2lBR3BCekRKc0lnMGdCU2dDS0VFTmRFR0FnSWpBQUdvaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBVW9BaXdpQUNBRktBSTBJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnQmlBSElBc2dEV3NpQVNBQ0lBeEIzUFIrYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBSklBcEJ3S1YvYkdwQkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSkVJZ0VnQlNnQ1RDSUFha0hNTW13aURTQUZLQUk4UVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JVRkFheWdDQUNJQUlBVW9Ba2dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NFR29pQ1NBSElBVW9BbGdpQVNBRktBSmdJZ0JxUWN3eWJDSUtJQVVvQWxCQkRYUkJnSUNJd0FCcUlnc2dBU0FBYXlJTVFkQVdiR29pQkdvaUFTQUZLQUpVSWdBZ0JTZ0NYQ0lEYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFrZ0J5QUVJQXBySWdFZ0FpQURRZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NTQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFKSUFjZ0N5QU1RY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OEVBUTkvSXdZaEVDTUdRWkFCYWlRR0lBQW9BdEFDSVJNZ0VDSUFJUVVnQVNnQ1ZDRUJBMEFnQlNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJS0lBRW9Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSU1haUlOSUFGQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJT2FpSVBJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRlFJQUVvQXFBQmJDSUlha0cyRjJ3aUVTQUdJQUl1QVRBZ0FTZ0NZR3dpQ1dwQkRYUnFJaEpxUVF0MU5nSUFJQVVnRHlBU2EwRUxkVFlDZUNBRklBb2dERUYrYkdwQkMzVWlDaUFHSUFscklBaHJRUUowSWdacU5nSVlJQVVnQ2lBR2F6WUNZQ0FGSUEwZ0Rtc2lCaUFSSUFnZ0NXdEJEWFJxSWdocVFRdDFOZ0l3SUFVZ0JpQUlhMEVMZFRZQ1NDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FIUVFGcUlnZEJCa2NOQUFzZ0UwR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBQ2dDQkNJSElBQW9BaFFpQm1wQnRoZHNJZ3NnQnlBQUtBSU1JZ2hxUVExMGFpSUtJQUFvQWdCQkRYUkJnSUNJd0FCcUlnd2dBQ2dDRUVHaExXd2lDV29pRFNBQUtBSUlRYkhPQUd3aURtb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRHlBS2EwRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUhJQWhySUFaclFRMTBJZ2NnRENBSmF5QUpheUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUVnQlNBSklBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJDQUZJQTBnRG1zaUJ5QUxJQVlnQ0d0QkRYUnFJZ1pxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUFjZ0JtdEJFblpCL3dkeElBSnFMQUFBT2dBRElBQkJHR29oQUNBQlFRRnFJZ0ZCQmtjTkFBc2dFQ1FHQyswQkFRUi9RUVJCQkJDTEFTRUVBMEFnQWtFRFJ3UkFJQUpCQW5RaEJVRUFJUU1EUUNBRFFRUkhCRUFnQkNnQ0FDQURJQVZxUVFOMGFpQUNRUVYwSUFCcUlBTkJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRmRDQUJhaUFDUVFOMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3lBRUVFa0x0UVlCRkg4akJpRVZJd1pCMEFGcUpBWWdBQ2dDMEFJaEdDQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lISUFJdUFXQWdBU2dDd0FGc0lnWnJRYmM0YkNJT0lBSXVBU0FnQVVGQWF5Z0NBR3dpQ1NBSGEwR1NGR3dpRVNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUElBZEJsWXAvYkdwcWFpRUtJQUl1QVJBZ0FTZ0NJR3dpQ3lBQ0xnRXdJQUVvQW1Cc0lnaHFRZTg3YkNJU0lBc2dDR3RCOHdwc0loTnFJQWdnQWk0QlVDQUJLQUtnQVd3aUNHcEI0YWQvYkNJVWFpRU5JQVVnRHlBR0lBbHFJaFpCeHRFQWJHb2lGeUFPSUFaQmczdHNhbW9pQmlBSUlBdHFRYU1uYkNJTElCSWdFMnRxSWc1cVFRdDFOZ0lBSUFVZ0JpQU9hMEVMZFRZQ3FBRWdCU0FLSUExcVFRdDFOZ0ljSUFVZ0NpQU5hMEVMZFRZQ2pBRWdCU0FYSUJFZ0NVSHg0WDVzYW1vaUJpQVVJQXNnQ0VIZTl3QnNhbW9pQ1dwQkMzVTJBamdnQlNBR0lBbHJRUXQxTmdKd0lBVWdEeUFISUJaclFjSGFBR3hxUVF0MU5nSlVJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVIUncwQUN5QVlRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJWUlnZHJRYmM0YkNJTklBQW9BZ2dpQmlBTWEwR1NGR3dpRUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUF4QmxZcC9iR3BxYWlFUElBQW9BZ1FpQ2lBQUtBSU1JZ1ZxUWU4N2JDSU9JQW9nQld0Qjh3cHNJaEZxSUFVZ0FDZ0NGQ0lMYWtIaHAzOXNJaEpxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0NTQUdJQWRxSWhOQnh0RUFiR29pRkNBTklBZEJnM3RzYW1vaUJ5QUtJQXRxUWFNbmJDSUtJQTRnRVd0cUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQWNnRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFGSUFJZ0NDQVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFQSUFoclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCUWdFQ0FHUWZIaGZteHFhaUlISUJJZ0NpQUxRZDczQUd4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBa2dEQ0FUYTBIQjJnQnNha0VTZGtIL0IzRnFMQUFBT2dBRElBQkJIR29oQUNBQlFRRnFJZ0ZCQjBjTkFBc2dGU1FHQzZJSEFSUi9Jd1loRlNNR1FhQUNhaVFHSUFBb0F0QUNJUmdnRlNJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFCS0FMQUFTQUNMZ0ZnUWFFdGJHd2lCbW9oQ0NBSElBWnJJQVpySWhBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lHSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2RySWhGQm9TMXNhaUVKSUFJdUFSQWdBU2dDSUd3aUNpQUNMZ0ZRSUFFb0FxQUJiQ0lNYWtHWE9td2hEU0FGSUFnZ0JpQUhha0dIMVFCc0loSWdCMEhjRDJ3aUUydHFJaFFnQ2lBQ0xnRndJQUVvQXVBQmJDSUhha0g2SG13aUZpQU5JQUVvQW1BZ0FpNEJNRUhQc1g5c2JDSU9hMm9pRjJwQkMzVTJBZ0FnQlNBVUlCZHJRUXQxTmdLQUFpQUZJQWtnQ2lBTWF5QUhhMEd4emdCc0lncHFRUXQxTmdJZ0lBVWdDU0FLYTBFTGRUWUM0QUVnQlVGQWF5QUdRYXZGQUd3aUJpQUlJQkpyYWlJSklBMGdEaUFNSUFkclFaSFpBR3dpQjJ0cUlncHFRUXQxTmdJQUlBVWdDU0FLYTBFTGRUWUN3QUVnQlNBVElBZ2dCbXRxSWdnZ0ZpQUhJQTVxYWlJR2FrRUxkVFlDWUNBRklBZ2dCbXRCQzNVMkFxQUJJQVVnRUNBUlFiNmxmMnhxUVF0MU5nS0FBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTFFRRnFJZ3RCQ0VjTkFBc2dHRUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlJSUFBb0FoaEJvUzFzSWdWcUlRc2dDQ0FGYXlBRmF5SU9JQUFvQWdnaUNDQUFLQUlRSWdacklnOUJvUzFzYWlFSElBQW9BZ1FpQ1NBQUtBSVVJZ3BxUVpjNmJDRU1JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQXNnQmlBSWFrR0gxUUJzSWhBZ0JrSGNEMndpRVd0cUloSWdDU0FBS0FJY0lnWnFRZm9lYkNJVElBd2dBQ2dDREVIUHNYOXNJZzFyYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVNJQlJyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NTQUtheUFHYTBHeHpnQnNJZ2xxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDRUdyeFFCc0lnZ2dDeUFRYTJvaUJ5QU1JQTBnQ2lBR2EwR1IyUUJzSWdacmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCRWdDeUFJYTJvaUN5QVRJQVlnRFdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0RpQVBRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUpSdzBBQ3lBVkpBWUwvZ2NCRlg4akJpRVZJd1pCd0FKcUpBWWdBQ2dDMEFJaEdTQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRXdJQUVvQW1Cc0lnWWdBaTRCY0NBQktBTGdBV3dpQ21vaEJ5QUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2tnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDMEdkeVFCc2FpSVFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lSYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER29pRGlBR0lBcHJJZ3BCNHhOc0loSWdBaTRCVUNBQktBS2dBV3dpRkVFTmRDSVBhaUlXSUFkQjd6eHNJaGNnQWk0QkVDQUJLQUlnYkNJR1FiUFpBR3hxYWlJWWFrRUxkVFlDQUNBRklBNGdHR3RCQzNVMkFxQUNJQVVnQ1NBTFFZUmtiR29pRGlBTklCRkIzUFIrYkdvaUVXb2lEU0FHUWRQUUFHd2dCMEhQSld3aUIyc2dEeUFTYXlBS1FReDBheUlTYXlJUGFrRUxkVFlDSUNBRklBMGdEMnRCQzNVMkFvQUNJQVZCUUdzZ0NTQUxRYjZsZjJ4cVFRdDFJZ2tnQmlBVWF5QUthMEVDZENJTGFqWUNBQ0FGSUFrZ0MyczJBdUFCSUFVZ0RpQVJheUlKSUJJZ0JrR01LV3dnQjJ0cUlnZHFRUXQxTmdKZ0lBVWdDU0FIYTBFTGRUWUN3QUVnQlNBUUlBeHJJZ2NnRmlBR1FaUU9iQ0FYYTJvaUJtcEJDM1UyQW9BQklBVWdCeUFHYTBFTGRUWUNvQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NFRUJhaUlJUVFoSERRQUxJQmxCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NEQ0lJSUFBb0Fod2lDbW9oQmlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlDVUdkeVFCc2FpSVRJQUFvQWdnaUN5QUFLQUlZSWhCcVFabzFiQ0lNSUF0QjhTQnNhaUlSYWlJTklBQW9BaFJCRFhRaUN5QUlJQXBySWdwQjR4TnNJZzVxSWhJZ0JrSHZQR3dpRkNBQUtBSUVJZ2hCczlrQWJHcHFJZzlxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUEwZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdCeUFKUVlSa2JHb2lEU0FNSUJCQjNQUitiR29pRUdvaURDQUlRZFBRQUd3Z0JrSFBKV3dpQm1zZ0N5QU9heUFLUVF4MGF5SU9heUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBTUlBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1VHK3BYOXNhaUlISUFnZ0NtdEJEWFFnQzJzaUNXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCeUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCQnJJZ2NnRGlBSVFZd3BiQ0FHYTJvaUJtcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBVElCRnJJZ1lnRWlBSVFaUU9iQ0FVYTJvaUNHcEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRlNRR0M5NEpBUmwvSXdZaEdTTUdRZUFDYWlRR0lBQW9BdEFDSVIwZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdFZ0lBRkJRR3NvQWdCc0lnbHJRY2tiYkNFVUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloWWdDU0FDTGdGZ0lBRW9Bc0FCYkNJSGFpSVFJQVpySWhkQjdOWUFiR29oRGlBVUlBWWdCMnRCL3FJQmJDQU9haUlSSUFaQnRJdC9iR3BxSVFvZ0FpNEJjQ0FCS0FMZ0FXd2lDeUFDTGdGUUlBRW9BcUFCYkNJTklBSXVBUkFnQVNnQ0lHd2lDQ0FDTGdFd0lBRW9BbUJzSWc5cUloTnFha0hBR1d3aUVpQUlJQXRxUWJnWGJHb2lHQ0FJSUExcVFmUXFiQ0lhSUJOQjZqaHNJaHNnQ0VIMlJHeHFhbW9oQ0NBTklBOXFRY20xZjJ3Z0Vtb2lIQ0FOUWRxemYyd2dHbXBxSVJNZ0JTQVJJQWRCdFljQmJHb2lFU0FJYWtFTGRUWUNBQ0FGSUJFZ0NHdEJDM1UyQXNBQ0lBVWdIQ0FMSUE5cVFmV01mMndpQ0NBUFFkaUVBV3dnRzJwcWFpSVJJQXBxUVF0MU5nSWdJQVVnQ2lBUmEwRUxkVFlDb0FJZ0JVRkFheUFUSUJCQmhiWi9iQ0FPYWlJS0lBZEJ3MDFzYWlJSGFrRUxkVFlDQUNBRklBY2dFMnRCQzNVMkFvQUNJQVVnQ0NBTFFjZUdBV3hxSUJocUlnY2dEaUFVYWlBSlFaR2ZmMnhxSWc1cVFRdDFOZ0pnSUFVZ0RpQUhhMEVMZFRZQzRBRWdCU0FQUVkyaWYyd2dEVUdMd0FCc2FpQUxRWmFVZjJ4cUlCSnFJZ3NnQ2lBR1FibjhBR3dnQ1VIOXBuOXNhbW9pQm1wQkMzVTJBb0FCSUFVZ0JpQUxhMEVMZFRZQ3dBRWdCU0FXSUJkQnY2Vi9iR3BCQzNVMkFxQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWRRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJSUlnOXJRY2tiYkNFT0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWhNZ0R5QUFLQUlZSWdscUloVWdER3NpRmtIczFnQnNhaUVISUE0Z0RDQUphMEgrb2dGc0lBZHFJaEFnREVHMGkzOXNhbW9oQ0NBQUtBSWNJZ1lnQUNnQ0ZDSUxJQUFvQWdRaUJTQUFLQUlNSWcxcUlncHFha0hBR1d3aUZDQUZJQVpxUWJnWGJHb2lGeUFGSUF0cVFmUXFiQ0lTSUFwQjZqaHNJaEVnQlVIMlJHeHFhbW9oQ2lBVUlBc2dEV3BCeWJWL2JHb2lHQ0FTSUF0QjJyTi9iR3BxSVJJZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0VDQUpRYldIQVd4cUloQWdDbXBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRUNBS2EwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQUlJQmdnQmlBTmFrSDFqSDlzSWdvZ0VTQU5RZGlFQVd4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ0NBUWEwRVNka0gvQjNGcUxBQUFPZ0FKSUFVZ0FpQVZRWVcyZjJ3Z0Iyb2lDQ0FKUWNOTmJHb2lDU0FTYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSklCSnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnRG1vZ0QwR1JuMzlzYWlJSklCY2dDaUFHUWNlR0FXeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSklBZHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnREVHNS9BQnNJQTlCL2FaL2JHcHFJZ3dnRkNBTlFZMmlmMndnQzBHTHdBQnNhaUFHUVphVWYyeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQk1nRmtHL3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQzBjTkFBc2dHU1FHQzVrSkFSZC9Jd1loR1NNR1FZQURhaVFHSUFBb0F0QUNJUnNnR1NJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FCS0FLQUFTQUNRVUJyTGdFQVFiSE9BR3hzSWhKcUlRMGdDU0FDTGdFZ0lBRkJRR3NvQWdCc0lncEJEWFFnQVNnQ3dBRWdBaTRCWUVFTmRHd2lEbXNpRUdvaEVTQUZJQTBnQ2tHMjF3QnNJQTVxSWhkcUloTWdBaTRCY0NBQktBTGdBV3dpQmlBQ0xnRVFJQUVvQWlCc0lnY2dBaTRCVUNBQktBS2dBV3dpQ0dvaUMycEJqVGRzSWc4Z0MwSGJFR3hxSWhRZ0FpNEJNQ0FCS0FKZ2JDSUxRYy9UQUd3aUdDQUhRZmNSYkdwcUloVnFRUXQxTmdJQUlBVWdFeUFWYTBFTGRUWUM0QUlnQlNBTElBaHJJaE1nQnlBR2F5SVZha0hSSW13aUdpQVZRZjR3YkdvaUZTQVJha0VMZFRZQ0lDQUZJQkVnRld0QkMzVTJBc0FDSUFWQlFHc2dDU0FTYXlJUklBcEJ0aGRzSUE1cklncHFJZzRnRkNBR0lBaHFRWXU5ZjJ3aUVpQUxRYTlkYkNJTElBaEJzS0YvYkdwcWFpSUlha0VMZFRZQ0FDQUZJQTRnQ0d0QkMzVTJBcUFDSUFVZ0VTQUtheUlJSUJJZ0R5QUdRY2JsQUd3Z0dHdHFhaUlLYWtFTGRUWUNZQ0FGSUFnZ0NtdEJDM1UyQW9BQ0lBVWdHaUFUUWQrSmYyeHFJZ2dnQ1NBUWF5SUpha0VMZFRZQ2dBRWdCU0FKSUFoclFRdDFOZ0xnQVNBRklBMGdGMnNpQ1NBUElBc2dCMEhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdLZ0FTQUZJQWtnQm10QkMzVTJBc0FCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFiUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFRUd4emdCc0lndHFJUWdnQmlBQUtBSUlJZzFCRFhRZ0FDZ0NHRUVOZENJS2F5SVdhaUVPSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFnZ0RVRzIxd0JzSUFwcUloSnFJaEFnQUNnQ0hDSU1JQUFvQWdRaUNTQUFLQUlVSWdkcUlnOXFRWTAzYkNJUklBOUIyeEJzYWlJWElBQW9BZ3dpRDBIUDB3QnNJaE1nQ1VIM0VXeHFhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBUUlCUnJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQTRnQ1NBTWF5SVFJQThnQjJzaUZHcEIwU0pzSWhnZ0VFSCtNR3hxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBNGdFR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnQmlBTGF5SU9JQTFCdGhkc0lBcHJJZzFxSWdvZ0Z5QUhJQXhxUVl1OWYyd2lDeUFQUWE5ZGJDSVBJQWRCc0tGL2JHcHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBS0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQTRnRFdzaUJ5QUxJQkVnREVIRzVRQnNJQk5yYW1vaURXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQUlJQVVnQWlBR0lCWnJJZ1lnR0NBVVFkK0pmMnhxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBWWdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0NBU2F5SUdJQkVnRHlBSlFkeFViR29nREVHTWdYOXNhbW9pREdwQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0JpQU1hMEVTZGtIL0IzRnFMQUFBT2dBR0lBQkJJR29oQUNBQlFRRnFJZ0ZCREVjTkFBc2dHU1FHQyt3S0FSaC9Jd1loR1NNR1FhQURhaVFHSUFBb0F0QUNJUndnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlFTklBSXVBUkFnQVNnQ0lHd2lEaUFDTGdFd0lBRW9BbUJzSWdocVFkRFVBR3doQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloRWdCaUFIYXlJS1Faa0diR29pRHlBTlFmbkpBR3dpRWlBQ0xnRWdJQUZCUUdzb0FnQnNJZ1pCOGRjQWJHcHFJaE1nRGlBQ0xnRndJQUVvQXVBQmJDSUxhaUlYUVlJOGJDSVVJQTRnQWk0QlVDQUJLQUtnQVd3aUIycEJ2c29BYkNJVklBa2dEa0hiL241c2FtcHFJaFpxUVF0MU5nSUFJQVVnRXlBV2EwRUxkVFlDZ0FNZ0JTQUlJQXRxUWNLMWYyd2lFeUFISUFocVFhdHFiQ0lXSUFoQnl6VnNJQWxxYW1vaUNTQVJJQXBCbFI5c2FpSVlJQVpCNE1NQWJDQU5RYUFVYkNJYWEyb2lHMnBCQzNVMkFpQWdCU0FiSUFsclFRdDFOZ0xnQWlBRlFVQnJJQWNnQzJwQitGVnNJZ2tnRmlBSFFiR2JmMnhxSUJWcWFpSVZJQThnQmtHTUlHd2dFbXRxSWc5cVFRdDFOZ0lBSUFVZ0R5QVZhMEVMZFRZQ3dBSWdCU0FUSUF0QmxJMEJiR29nRkdvZ0NXb2lDU0FSSUFwQmdrUnNhaUlQSUFaQmpIVnNJQTFCOGh0c0lnMXJhaUlTYWtFTGRUWUNZQ0FGSUJJZ0NXdEJDM1UyQXFBQ0lBVWdDRUdXWW13Z0YwSFZGV3dnQnlBSWEwR0NQR3hxSWdnZ0RrR3pGR3hxYWlJT0lBOGdEU0FHUWN0TWJHcHFJZzFxUVF0MU5nS0FBU0FGSUEwZ0RtdEJDM1UyQW9BQ0lBVWdDQ0FIUWM0WWJHb2dDMEcva0g5c2FpSUlJQmdnR2lBR1FlNnZmMnhxYWlJSGFrRUxkVFlDb0FFZ0JTQUhJQWhyUVF0MU5nTGdBU0FGSUJFZ0NpQUdhMEhCMmdCc2FrRUxkVFlDd0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdERUVCYWlJTVFRaEhEUUFMSUJ4QmdIMXFJUUpCQUNFQkEwQWdBQ2dDRUNJTUlBQW9BaGdpQ0dvaEN5QUFLQUlFSWdjZ0FDZ0NEQ0lHYWtIUTFBQnNJUW9nQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEU0FNSUFockloRkJtUVpzYWlJSklBdEIrY2tBYkNJUUlBQW9BZ2dpREVIeDF3QnNhbW9pRHlBSElBQW9BaHdpRG1vaUVrR0NQR3dpRXlBSElBQW9BaFFpQ0dwQnZzb0FiQ0lYSUFvZ0IwSGIvbjVzYW1wcUloUnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnRkd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0RTQVJRWlVmYkdvaUR5QU1RZUREQUd3Z0MwR2dGR3dpRkd0cUloVWdCaUFPYWtIQ3RYOXNJaFlnQmlBSWFrR3JhbXdpR0NBS0lBWkJ5elZzYW1wcUlncHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQlVnQ210QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0NTQU1RWXdnYkNBUWEyb2lDaUFJSUE1cVFmaFZiQ0lKSUJjZ0dDQUlRYkdiZjJ4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ2lBUWEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQU5JQkZCZ2tSc2FpSUtJQXhCakhWc0lBdEI4aHRzSWd0cmFpSVFJQk1nRmlBT1FaU05BV3hxYWlBSmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFRSUFsclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBb2dDeUFNUWN0TWJHcHFJZ3NnQmtHV1ltd2dFa0hWRld3Z0NDQUdhMEdDUEd4cUlnWWdCMEd6Rkd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFMSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBOGdGQ0FNUWU2dmYyeHFhaUlISUFZZ0NFSE9HR3hxSUE1QnY1Qi9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJFZ0RHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRMUhEUUFMSUJra0JndkNDZ0VaZnlNR0lSb2pCa0hBQTJva0JpQUFLQUxRQWlFZElCb2lBQ0VGSUFFb0FsUWhBUU5BSUFJdUFYQWdBU2dDNEFGc0loWkJEWFFpQ1NBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaURFSFN6QUJzSWhFZ0JpQUNMZ0V3SUFFb0FtQnNJZ3BxUWJmVkFHd2lFaUFHUWZDM2YyeHFhbW9oQ3lBR0lBcHJJaE5COGgxc0lBbHJJaGdnREVHVU1Hd2lGeUFHUVl1OGYyeHFhaUVRSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTVFjYlJBR3hxSWhRZ0FpNEJJQ0FCUVVCcktBSUFiQ0lOSUFJdUFXQWdBU2dDd0FGc0lnNXFRZUxHQUd3aUZTQU5RYjBSYkdvaUcyb2lHU0FMYWtFTGRUWUNBQ0FGSUJrZ0MydEJDM1UyQXFBRElBVWdCeUFLYWtIdmRXd2dDV3NpQ3lBS1FlNWtiQ0FTYW1vaUVpQUdJQXhCa2hSc2FpSVpJQlVnRGtIOGtYOXNhaUlWYWlJY2FrRUxkVFlDSUNBRklCd2dFbXRCQzNVMkFvQURJQVZCUUdzZ0N5QUhRWW5vZm13Z0VXcHFJZ3NnQmlBTVFjbEhiR29pRVNBTlFhTW5iQ0FPUWVHbmYyeHFJZzFxSWc1cVFRdDFOZ0lBSUFVZ0RpQUxhMEVMZFRZQzRBSWdCU0FUSUFkcklCWnFRUUowSWdzZ0JpQU1RYjZsZjJ4cVFRdDFJZ1pxTmdKZ0lBVWdCaUFMYXpZQ3dBSWdCU0FISUFwclFmalpBR3dpQmlBSFFlYVRmMnhxSUJkcUlBbHFJZ2NnRVNBTmF5SUpha0VMZFRZQ2dBRWdCU0FKSUFkclFRdDFOZ0tnQWlBRklBWWdDa0daSzJ4cUlCaHFJZ2NnR1NBVmF5SUtha0VMZFRZQ29BRWdCU0FLSUFkclFRdDFOZ0tBQWlBRklCUWdHMnNpQnlBUWFrRUxkVFlDd0FFZ0JTQUhJQkJyUVF0MU5nTGdBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSVFRRnFJZ2hCQ0VjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSWNRUTEwSWdvZ0FDZ0NCQ0lGSUFBb0FoUWlDR29pQmtIU3pBQnNJZzRnQlNBQUtBSU1JZ2RxUWJmVkFHd2lEeUFGUWZDM2YyeHFhbW9oRENBRklBZHJJaEZCOGgxc0lBcHJJaElnQmtHVU1Hd2lGaUFGUVl1OGYyeHFhaUVMSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VDSUpRY2JSQUd4cUloY2dBQ2dDQ0NJUUlBQW9BaGdpRFdwQjRzWUFiQ0lUSUJCQnZSRnNhaUlZYWlJVUlBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlFnREd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0JpQUpRWklVYkdvaURDQVRJQTFCL0pGL2JHb2lFMm9pRkNBSElBaHFRZTkxYkNBS2F5SVZJQThnQjBIdVpHeHFhaUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBVUlBOXJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQVlnQ1VISlIyeHFJZzhnRUVHakoyd2dEVUhocDM5c2FpSVFhaUlOSUJVZ0RpQUlRWW5vZm14cWFpSU9ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUE1clFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBWWdDVUcrcFg5c2FpSUdJQW9nRVNBSWEwRU5kR29pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0JpQUphMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFQSUJCcklnWWdGaUFJSUFkclFmalpBR3dpQ1NBS0lBaEI1cE4vYkdwcWFpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFHSUFoclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBd2dFMnNpQ0NBU0lBa2dCMEdaSzJ4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFJSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lCY2dHR3NpQ0NBTGFrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUlJQXRyUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFT1J3MEFDeUFhSkFZTG5nc0JHMzhqQmlFZEl3WkI0QU5xSkFZZ0FDZ0MwQUloSHlBZElnQWhCU0FCS0FKVUlRRURRQ0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlMSUFJdUFXQWdBU2dDd0FGc0lnaEJoR1JzYWlFUklBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lUYXlFSElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJjQ0FCS0FMZ0FXd2lEV3NpRm1wQm1qVnNJaGNnQmtIeElHeHFJUWtnQVNnQ29BRWdBaTRCVUVHeHpnQnNiQ0lPSUFZZ0RXc2lHRUdDMmdCc2FpSVBJQTFCbzUwQmJDQUtRZmFwZjJ3aUdXdHFJUklnRHlBS1FlWktiQ0lhSUFaQjU3aC9iR3BxSVFvZ0JTQVNJQXNnQ0VHZHlRQnNhaUlQSUF3Z0Uyb2lFMEhPMVFCc0loUWdCMEgyQW13aUcycHFJaHhxUVF0MU5nSUFJQVVnSENBU2EwRUxkVFlDd0FNZ0JTQVJJQk5CekRKc0loSWdCMEhRRm13aUhHcHFJaDRnQ1dwQkMzVTJBaUFnQlNBZUlBbHJRUXQxTmdLZ0F5QUZRVUJySUJoQnNjNEFiQ0FPYXlJSklBc2dDRUcrcFg5c2FpSUxJQWRCb0Mxc2FpSUlha0VMZFRZQ0FDQUZJQWdnQ1d0QkMzVTJBb0FESUFVZ0JpQU5ha0hvSkd3aUNDQUdRYmtlYkNBYWFpQU9hMm9pQmlBUklCc2dERUdUM0FCc0lnd2dGR3RxYWlJSmFrRUxkVFlDWUNBRklBa2dCbXRCQzNVMkF1QUNJQVVnSENBUElCSnJhaUlHSUJjZ0ZrSGM5SDVzYWlJSmFrRUxkVFlDZ0FFZ0JTQUdJQWxyUVF0MU5nTEFBaUFGSUFnZ0RpQVphaUFOUWE5SWJHcHFJZ1lnQjBHNVptd2lEU0FQSUJOQmdpTnNJZzVyYWlJSWFrRUxkVFlDb0FFZ0JTQUlJQVpyUVF0MU5nS2dBaUFGSUFvZ0VTQU5JQTRnREd0cWFpSUdha0VMZFRZQ3dBRWdCU0FHSUFwclFRdDFOZ0tBQWlBRklBc2dCMEhBcFg5c2FrRUxkVFlDNEFFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdFRUVCYWlJUVFRaEhEUUFMSUI5QmdIMXFJUUpCQUNFQkEwQWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURpQUFLQUlZSWd0QmhHUnNhaUVOSUFBb0FnZ2lDQ0FBS0FJUUlnOXJJUkFnQUNnQ0JDSUhJQUFvQWd3aUJTQUFLQUljSWdackloTnFRWm8xYkNJVklBZEI4U0JzYWlFTUlBQW9BaFJCc2M0QWJDSVJJQWNnQm1zaUZrR0MyZ0JzYWlJSklBWkJvNTBCYkNBRlFmYXBmMndpRjJ0cUlRb2dDU0FGUWVaS2JDSVlJQWRCNTdoL2JHcHFJUWtnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRGlBTFFaM0pBR3hxSWhJZ0NDQVBhaUlQUWM3VkFHd2lHU0FRUWZZQ2JDSWFhbW9pRkNBS2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVVJQXByUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUEwZ0QwSE1NbXdpQ2lBUVFkQVdiQ0lVYW1vaUd5QU1ha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFiSUF4clFSSjJRZjhIY1dvc0FBQTZBQTBnQlNBQ0lBNGdDMEcrcFg5c2FpSU9JQkJCb0Mxc2FpSUxJQlpCc2M0QWJDQVJheUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBeHJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQTBnR2lBSVFaUGNBR3dpQ3lBWmEycHFJZ2dnQmlBSGFrSG9KR3dpRENBWUlBZEJ1UjVzYWlBUmEyb2lCMnBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ0NBSGEwRVNka0gvQjNGcUxBQUFPZ0FMSUFVZ0FpQVVJQklnQ210cUlnY2dGU0FUUWR6MGZteHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdFRUc1Wm13aUJ5QVNJQTlCZ2lOc0lnaHJhaUlLSUF3Z0VTQVhhaUFHUWE5SWJHcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFvZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FISUFnZ0MydHFhaUlISUFscVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRGlBUVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFUFJ3MEFDeUFkSkFZTDJ3d0JIbjhqQmlFZ0l3WkJnQVJxSkFZZ0FDZ0MwQUloSWlBZ0lnQWhCU0FCS0FKVUlRRURRQ0FDTGdFZ0lBRkJRR3NvQWdCc0loQWdBaTRCWUNBQktBTEFBV3dpRDJzaUVVSFVFV3doRENBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaENpQUdJQUl1QVhBZ0FTZ0M0QUZzSWcxcVFmekZBR3dpRnlBS1FlblBBR3dpRXlBR0lBSXVBVEFnQVNnQ1lHd2lDR3BCenRZQWJDSUxJQVpCMXUxK2JHcHFhaUVPSUFZZ0RXdEJ0amxzSWhrZ0NrSFZLbXdpR0NBR0lBaHJRYU1hYkNJU0lBWkJ3b3AvYkdwcWFpRUtJQWdnRFdvaUJrR3JWV3dpR2lBSElBaHFRZkFJYkNJVUlBaEJ6UVJzSUF0cWFtb2hDeUFHUVpld2Yyd2lHeUFISUFoclFZbmFBR3dpSENBSVFacitBR3dnRW1wcWFpRUlJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lTUWMvVEFHd2lIV29pRlNBUlFlUFlBR3dpRVNBUFFZT2tBV3hxSWg1cUloOGdEbXBCQzNVMkFnQWdCU0FmSUE1clFRdDFOZ0xnQXlBRklBc2dCaUFTUWRFaWJDSU9haUlTSUF3Z0VFSE5PV3hxSWg5cUlpRnFRUXQxTmdJZ0lBVWdJU0FMYTBFTGRUWUN3QU1nQlVGQWF5QUhJQTFxUWJLcGYyd2lDeUFVSUFkQityZC9iR29nRTJwcUloTWdCaUFPYXlJT0lCRWdFRUhDV1d4cUloQnFJaEZxUVF0MU5nSUFJQVVnRVNBVGEwRUxkVFlDb0FNZ0JTQWFJQTFCbU1RQWJHb2dGMm9nQzJvaUN5QUdJQjFySWdZZ0RDQVBRYkJmYkdvaUQyb2lER3BCQzNVMkFtQWdCU0FNSUF0clFRdDFOZ0tBQXlBRklCc2dEVUdGeVFGc2FpQVphaUFOSUFkclFhTWFiQ0lOYWlJTUlBWWdEMnNpQm1wQkMzVTJBb0FCSUFVZ0JpQU1hMEVMZFRZQzRBSWdCU0FjSUFkQitrNXNhaUFZYWlBTmFpSUdJQTRnRUdzaUIycEJDM1UyQXFBQklBVWdCeUFHYTBFTGRUWUN3QUlnQlNBSUlCSWdIMnNpQm1wQkMzVTJBc0FCSUFVZ0JpQUlhMEVMZFRZQ29BSWdCU0FLSUJVZ0htc2lCbXBCQzNVMkF1QUJJQVVnQmlBS2EwRUxkVFlDZ0FJZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRaEhEUUFMSUNKQmdIMXFJUUpCQUNFQkEwQWdBQ2dDQ0NJTklBQW9BaGdpQ0dzaUMwSFVFV3doRUNBQUtBSUVJZ1VnQUNnQ0ZDSUphaUVQSUFVZ0FDZ0NIQ0lHYWtIOHhRQnNJaFlnRDBIcHp3QnNJaEVnQlNBQUtBSU1JZ2RxUWM3V0FHd2lDaUFGUWRidGZteHFhbW9oRENBRklBWnJRYlk1YkNJWElBOUIxU3BzSWhNZ0JTQUhhMEdqR213aURpQUZRY0tLZjJ4cWFtb2hEeUFHSUFkcUlnVkJxMVZzSWhnZ0J5QUpha0h3Q0d3aUVpQUtJQWRCelFSc2FtcHFJUW9nQlVHWHNIOXNJaGtnQ1NBSGEwR0oyZ0JzSWhvZ0RpQUhRWnIrQUd4cWFtb2hEaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUZFSFAwd0JzSWh0cUlod2dDMEhqMkFCc0lnc2dDRUdEcEFGc2FpSWRhaUlWSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCVWdER3RCRW5aQi93ZHhhaXdBQURvQUR5QUZJQUlnQnlBVVFkRWliQ0lNYWlJVUlCQWdEVUhOT1d4cUloVnFJaDRnQ21wQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0hpQUthMEVTZGtIL0IzRnFMQUFBT2dBT0lBVWdBaUFISUF4cklnd2dDeUFOUWNKWmJHb2lEV29pQ2lBR0lBbHFRYktwZjJ3aUN5QVJJQklnQ1VINnQzOXNhbXBxSWhGcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBb2dFV3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQnlBYmF5SUhJQkFnQ0VHd1gyeHFJZ2hxSWhBZ0ZpQVlJQVpCbU1RQWJHcHFJQXRxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lCQWdDbXRCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBSWF5SUhJQmNnR1NBR1FZWEpBV3hxYWlBR0lBbHJRYU1hYkNJR2FpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUFoclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBd2dEV3NpQnlBVElCb2dDVUg2VG14cWFpQUdhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQlFnRldzaUNTQU9ha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFKSUE1clFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lCd2dIV3NpQ1NBUGFrRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQUpJQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFnSkFZTDdnc0JISDhqQmlFWEl3WkJnQUpxSkFZZ0FDZ0MwQUloSUNBWElnQWhCU0FCS0FKVUlRRkJDQ0VJQTBBQ2Z3SkFJQUl1QVJBaUNpQUNMZ0VnSWdaeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUdEQUlGSUFKQlFHc3VBUUFFZjBFQUlRWU1Bd1VnQWk0QlVBUi9RUUFoQmd3RUJTQUNMZ0ZnQkg5QkFDRUdEQVVGSUFJdUFYQUVmMEVBSVFZTUJnVWdCU0FCS0FJQUlBSXVBUUJCQW5Sc0lnWTJBZ0FnQlNBR05nSWdJQVZCUUdzZ0JqWUNBQ0FGSUFZMkFtQWdCU0FHTmdLQUFTQUZJQVkyQXFBQklBVWdCallDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lISUFJdUFUQWdBU2dDWUd3aURXb2lDeUFDTGdGUUlBRW9BcUFCYkNJTUlBb2dBU2dDSUd3aUNtb2lDV3BCb2NzQWJDSVBJQXRCdTRKL2JHb2lDeUFISUFwcVFiTkdiQ0lPSUFkQmpoTnNhbW9oQnlBUElBbEJoR2RzYWlJSklBNGdDa0dMNEFCc2Ftb2hDaUFKSUF3Z0RXcEIvZHQrYkNJSklBeEJzNE1CYkdwcUlRd2dCU0FLSUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc4Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaURtb2lFaUFCUVVCcktBSUFJQVpCRUhSQkVIVnNJZ1lnQWk0QllDQUJLQUxBQVd3aUVXcEIwU0pzSWhNZ0JrSCtNR3hxSWdacUloUnFRUXQxTmdJQUlBVWdGQ0FLYTBFTGRUWUM0QUVnQlNBTElBa2dEVUhVeEFGc2Ftb2lEU0FPSUE5cklnb2dFeUFSUWQrSmYyeHFJZ3RxSWdscVFRdDFOZ0lnSUFVZ0NTQU5hMEVMZFRZQ3dBRWdCVUZBYXlBTUlBb2dDMnNpRFdwQkMzVTJBZ0FnQlNBTklBeHJRUXQxTmdLZ0FTQUZJQWNnRWlBR2F5SUdha0VMZFRZQ1lDQUdJQWRyUVF0MUlRWkJJQXRCQW5RZ0JXb2dCallDQUNBRlFRUnFJUVVnQVVFRWFpRUJJQUpCQW1vaEFpQUlRWDlxSVFZZ0NFRUJTd1JBSUFZaENBd0JDd3NnSUVHQWZXb2hBa0VBSVFFRFFDQUFLQUlJSWcwZ0FDZ0NHQ0lNYXlJT1FkUVJiQ0VLSUFBb0FnUWlCU0FBS0FJVUlnaHFJUkFnQlNBQUtBSWNJZ1pxUWZ6RkFHd2lFaUFRUWVuUEFHd2lFU0FGSUFBb0Fnd2lCMnBCenRZQWJDSUpJQVZCMXUxK2JHcHFhaUVMSUFVZ0JtdEJ0amxzSWhNZ0VFSFZLbXdpRkNBRklBZHJRYU1hYkNJUElBVkJ3b3AvYkdwcWFpRVFJQVlnQjJvaUJVR3JWV3dpR0NBSElBaHFRZkFJYkNJWklBa2dCMEhOQkd4cWFtb2hDU0FGUVpld2Yyd2lHaUFJSUFkclFZbmFBR3dpR3lBUElBZEJtdjRBYkdwcWFpRVBJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnY2dBQ2dDRUNJVlFjL1RBR3dpSEdvaUhTQU9RZVBZQUd3aURpQU1RWU9rQVd4cUloNXFJaFlnQzJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0ZpQUxhMEVTZGtIL0IzRnFMQUFBT2dBUElBVWdBaUFISUJWQjBTSnNJZ3RxSWhVZ0NpQU5RYzA1YkdvaUZtb2lIeUFKYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBZklBbHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQWNnQzJzaUN5QU9JQTFCd2xsc2FpSU5haUlKSUFZZ0NHcEJzcWwvYkNJT0lCRWdHU0FJUWZxM2YyeHFhbW9pRVdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NTQVJhMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUJ4cklnY2dDaUFNUWJCZmJHb2lER29pQ2lBU0lCZ2dCa0dZeEFCc2Ftb2dEbW9pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NpQUphMEVTZGtIL0IzRnFMQUFBT2dBTUlBVWdBaUFISUF4cklnY2dFeUFhSUFaQmhja0JiR3BxSUFZZ0NHdEJveHBzSWdacUlneHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnREd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0N5QU5heUlISUJRZ0d5QUlRZnBPYkdwcUlBWnFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdGU0FXYXlJSUlBOXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWdnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0hTQWVheUlJSUJCcVFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dFR3RCRW5aQi93ZHhhaXdBQURvQUNDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQmNrQmd2VEV3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQUZCQWhBNUlRd2dBa0VDRURraERpQUVLQUlBSWdjaEFpQU1JQTVCZjJvaUVHeEJBWFFnQjJvaEJRTkFJQVlnREVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdCa0VCYWlFR0RBRUxDeUFISVFJZ0RFRi9haUlSUVFGMElBZHFJUVZCQUNFR0EwQWdCaUFPU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnREVFQmRDQUNhaUVDSUF4QkFYUWdCV29oQlNBR1FRRnFJUVlNQVFzTElBUkJrSURJQUdvaEFrRUFJQXhySVJJZ0FDQUJRUUYwUVFKcWFpRU5RUUVoQzBFQUlRVWdERUVCYWtFQmRDQUhhaUVIQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFBa0FnRWtFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dDellDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFMSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBQ3lBTlFRSnFJUTBnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBTmFrRUVhaUVOSUF0QkFXb2hDeUFBSVFVZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lHUmdSQUlBQkJBV29oQVFVZ0FDRUJJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dERFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0RqWUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXZhQ0FFV2Z5TUdJUmdqQmtIZ0FXb2tCaUFBS0FMUUFpRWFJQmdpQUNFRklBRW9BbFFoQVFOQUlBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdnZ0FpNEJZQ0FCS0FMQUFXd2lDV3RCdHpoc0lnd2dBaTRCSUNBQlFVQnJLQUlBYkNJSElBaHJRWklVYkNJU0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnb2dDRUdWaW45c2FtcHFJUTBnQWk0QkVDQUJLQUlnYkNJT0lBSXVBVEFnQVNnQ1lHd2lDMnBCN3p0c0loTWdEaUFMYTBIekNtd2lGR29nQ3lBQ0xnRlFJQUVvQXFBQmJDSUxha0hocDM5c0loVnFJUThnQlNBS0lBY2dDV29pRVVIRzBRQnNhaUlXSUF3Z0NVR0RlMnhxYWlJSklBc2dEbXBCb3lkc0lnNGdFeUFVYTJvaURHcEJDM1UyQWdBZ0JTQUpJQXhyUVF0MU5nTEFBU0FGSUEwZ0QycEJDM1UyQWlBZ0JTQU5JQTlyUVF0MU5nS2dBU0FGUVVCcklCWWdFaUFIUWZIaGZteHFhaUlKSUJVZ0RpQUxRZDczQUd4cWFpSUhha0VMZFRZQ0FDQUZJQWtnQjJ0QkMzVTJBb0FCSUFVZ0NpQUlJQkZyUWNIYUFHeHFRUXQxTmdKZ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQVpCQVdvaUJrRUlSdzBBQ3lBYVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh4QkRYUWlDU0FBS0FJRUlnVWdBQ2dDRkNJR2FpSUhRZExNQUd3aUVDQUZJQUFvQWd3aUNHcEJ0OVVBYkNJTUlBVkI4TGQvYkdwcWFpRU5JQVVnQ0dzaUUwSHlIV3dnQ1dzaUZDQUhRWlF3YkNJU0lBVkJpN3gvYkdwcUlRNGdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRSWdwQnh0RUFiR29pRlNBQUtBSUlJZ3NnQUNnQ0dDSVBha0hpeGdCc0loRWdDMEc5RVd4cUloWnFJaGNnRFdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0Z5QU5hMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUFwQmtoUnNhaUlOSUJFZ0QwSDhrWDlzYWlJUmFpSVhJQVlnQ0dwQjczVnNJQWxySWhrZ0RDQUlRZTVrYkdwcUlneHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQmNnREd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUtRY2xIYkdvaURDQUxRYU1uYkNBUFFlR25mMnhxSWd0cUlnOGdHU0FRSUFaQmllaCtiR3BxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBOGdFR3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQnlBS1FiNmxmMnhxSWdjZ0NTQVRJQVpyUVExMGFpSUtha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFISUFwclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lBd2dDMnNpQnlBU0lBWWdDR3RCK05rQWJDSUtJQWtnQmtIbWszOXNhbXBxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBUmF5SUdJQlFnQ2lBSVFaa3JiR3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBWWdDR3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRlNBV2F5SUdJQTVxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFZZ0RtdEJFblpCL3dkeGFpd0FBRG9BQnlBQVFTQnFJUUFnQVVFQmFpSUJRUWRIRFFBTElCZ2tCZ3VSQndFVmZ5TUdJUlFqQmtIQUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDQ0FCS0FLQUFTQUNRVUJyTGdFQVFhRXRiR3dpREdvaURTQUJRVUJyS0FJQUlBSXVBU0JCc2M0QWJHd2lFV29pQ2lBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQzJwQnRoZHNJZzRnQmlBQ0xnRXdJQUVvQW1Cc0lnZHFRUTEwYWlJU2FrRUxkVFlDQUNBRklBb2dFbXRCQzNVMkFxQUJJQVVnQ0NBTVFYNXNha0VMZFNJSUlBWWdCMnNnQzJ0QkFuUWlCbW8yQWlBZ0JTQUlJQVpyTmdLQUFTQUZRVUJySUEwZ0VXc2lCaUFPSUFzZ0IydEJEWFJxSWd0cVFRdDFOZ0lBSUFVZ0JpQUxhMEVMZFRZQ1lDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FKUVFGcUlnbEJDRWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUdJQUFvQWhCQnNjNEFiQ0lPYWlFUUlBQW9BZ2dpQ0VFTmRDQUFLQUlZUVExMElneHJJaElnQm1vaERTQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0RDQUlRYmJYQUd4cUloVWdFR29pRHlBQUtBSWNJZ2tnQUNnQ0JDSUxJQUFvQWhRaUIyb2lDbXBCalRkc0loRWdDa0hiRUd4cUloWWdBQ2dDRENJS1FjL1RBR3dpRnlBTFFmY1JiR3BxSWhOcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQUNBRklBOGdFMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUxJQVVnRFNBTElBbHJJZzhnQ2lBSGF5SVRha0hSSW13aUdDQVBRZjR3YkdvaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQklBVWdEU0FQYTBFU2RrSC9CM0VnQW1vc0FBQTZBQW9nQlNBSVFiWVhiQ0FNYXlJSUlBWWdEbXNpREdvaURTQVdJQWNnQ1dwQmk3MS9iQ0lPSUFwQnIxMXNJZ29nQjBHd29YOXNhbXBxSWdkcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBMGdCMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUpJQVVnRENBSWF5SUhJQTRnRVNBSlFjYmxBR3dnRjJ0cWFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FISUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQ0NBRklBWWdFbXNpQmlBWUlCTkIzNGwvYkdvaUIycEJFblpCL3dkeElBSnFMQUFBT2dBRUlBVWdCaUFIYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWNnQlNBUUlCVnJJZ1lnRVNBS0lBdEIzRlJzYWlBSlFZeUJmMnhxYWlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRWkhEUUFMSUJRa0JndWNCZ0VTZnlNR0lSUWpCa0dnQVdva0JpQUFLQUxRQWlFV0lCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FpNEJJQ0FCUVVCcktBSUFiQ0lKSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ1pxUWN3eWJDSUtJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZzRnQ1NBR2F5SUpRZEFXYkdvaUJtb2lDeUFDTGdFUUlBRW9BaUJzSWd3Z0FpNEJNQ0FCS0FKZ2JDSVBha0dhTld3aURTQU1RZkVnYkdvaURHcEJDM1UyQWdBZ0JTQUxJQXhyUVF0MU5nS0FBU0FGSUFZZ0Ntc2lCaUFOSUE5QjNQUitiR29pQ21wQkMzVTJBaUFnQlNBR0lBcHJRUXQxTmdKZ0lBVkJRR3NnRGlBSlFjQ2xmMnhxUVF0MU5nSUFJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFkQkFXb2lCMEVJUncwQUN5QVdRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fnd2lCeUFBS0FJY0lnWnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUFvQWhSQkRYUWlDU0FISUFacklnWkI0eE5zSWd0cUlnd2dDRUh2UEd3aUR5QUFLQUlFSWdkQnM5a0FiR3BxSWcwZ0FDZ0NBRUVOZEVHQWdJakFBR29pQ2lBQUtBSVFJZzVCbmNrQWJHb2lGU0FBS0FJSUloQWdBQ2dDR0NJUmFrR2FOV3dpRWlBUVFmRWdiR29pRUdvaUUycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdFeUFOYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWtnQlNBSFFkUFFBR3dnQ0VIUEpXd2lDR3NnQ1NBTGF5QUdRUXgwYXlJTGF5SU5JQW9nRGtHRVpHeHFJaE1nRWlBUlFkejBmbXhxSWhGcUloSnFRUkoyUWY4SGNTQUNhaXdBQURvQUFTQUZJQklnRFd0QkVuWkIvd2R4SUFKcUxBQUFPZ0FJSUFVZ0J5QUdhMEVOZENBSmF5SUpJQW9nRGtHK3BYOXNhaUlHYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUlnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJ5QUZJQk1nRVdzaUNTQUxJQWRCakNsc0lBaHJhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSklBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUZJQXdnQjBHVURtd2dEMnRxSWdjZ0ZTQVFheUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVFnQlNBSUlBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJTQUFRU0JxSVFBZ0FVRUJhaUlCUVFWSERRQUxJQlFrQmd2QkRBRVFmeU1HSVE0akJrR0FBV29rQmlBQUtBTFFBaUVVSUE0aUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd3aUJTQUNMZ0VnSUFGQlFHc29BZ0JzSWdkcVFRSjBJZ2dnQWk0QkVDQUJLQUlnYkNJR0lBSXVBVEFnQVNnQ1lHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNBQ0FBSUFnZ0JtczJBbUFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJZ0lBQkJRR3NnQlNBSGF6WUNBQ0FBSUFJdUFRSWdBU2dDQkd3aUJTQUNMZ0VpSUFFb0FrUnNJZ2RxUVFKMElnZ2dBaTRCRWlBQktBSWtiQ0lHSUFJdUFUSWdBU2dDWkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0JDQUFJQWdnQm1zMkFtUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lrSUFBZ0JTQUhhellDUkNBQUlBSXVBUVFnQVNnQ0NHd2lCU0FDTGdFa0lBRW9Ba2hzSWdkcVFRSjBJZ2dnQWk0QkZDQUJLQUlvYkNJR0lBSXVBVFFnQVNnQ2FHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNDQ0FBSUFnZ0JtczJBbWdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJb0lBQWdCU0FIYXpZQ1NDQUFJQUl1QVFZZ0FTZ0NER3dpQlNBQ0xnRW1JQUVvQWt4c0lnZHFRUUowSWdnZ0FpNEJGaUFCS0FJc2JDSUdJQUl1QVRZZ0FTZ0NiR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRENBQUlBZ2dCbXMyQW13Z0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXNJQUFnQlNBSGF6WUNUQ0FBSUFJdUFRZ2dBU2dDRUd3aUJTQUNMZ0VvSUFFb0FsQnNJZ2RxUVFKMElnZ2dBaTRCR0NBQktBSXdiQ0lHSUFJdUFUZ2dBU2dDY0d3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0VDQUFJQWdnQm1zMkFuQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0l3SUFBZ0JTQUhhellDVUNBQUlBSXVBUW9nQVNnQ0ZHd2lCU0FDTGdFcUlBRW9BbFJzSWdkcVFRSjBJZ2dnQWk0QkdpQUJLQUkwYkNJR0lBSXVBVG9nQVNnQ2RHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNGQ0FBSUFnZ0JtczJBblFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJMElBQWdCU0FIYXpZQ1ZDQUFJQUl1QVF3Z0FTZ0NHR3dpQlNBQ0xnRXNJQUVvQWxoc0lnZHFRUUowSWdnZ0FpNEJIQ0FCS0FJNGJDSUdJQUl1QVR3Z0FTZ0NlR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDR0NBQUlBZ2dCbXMyQW5nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTRJQUFnQlNBSGF6WUNXQ0FBSUFJdUFRNGdBU2dDSEd3aUJTQUNMZ0V1SUFFb0FseHNJZ2RxUVFKMElnZ2dBaTRCSGlBQktBSThiQ0lHSUFJdUFUNGdBU2dDZkd3aUFXcEIwU0pzUVlBSWFpSUNJQVpCL2pCc2FrRUxkU0lHYWpZQ0hDQUFJQWdnQm1zMkFud2dBQ0FGSUFkclFRSjBJZ1VnQWlBQlFkK0pmMnhxUVF0MUlnRnFOZ0k4SUFBZ0JTQUJhellDWENBVVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUN5QUFLQUlNSWdWcUlnWWdBQ2dDRkNJSElBQW9BZ1FpQ0dvaUNtcEJvY3NBYkNJSklBWkJ1NEovYkdvaUR5QUlJQXRxUWJOR2JDSU1JQXRCamhOc2Ftb2hCaUFKSUFwQmhHZHNhaUlMSUF3Z0NFR0w0QUJzYW1vaENDQUxJQVVnQjJwQi9kdCtiQ0lLSUFkQnM0TUJiR3BxSVFjZ0JDQUJRUUowSUFOcUtBSUFhaUlMSUFJZ0FDZ0NBRUdRZ0FGcUlna2dBQ2dDRUNJTWFrRU5kQ0lRSUFBb0FnZ2lEU0FBS0FJWUloRnFRZEVpYkNJU0lBMUIvakJzYWlJTmFpSVRJQWhxUVJKMlFmOEhjV29zQUFBNkFBQWdDeUFDSUJNZ0NHdEJFblpCL3dkeGFpd0FBRG9BQnlBTElBSWdDU0FNYTBFTmRDSUlJQklnRVVIZmlYOXNhaUlKYWlJTUlBOGdDaUFGUWRURUFXeHFhaUlGYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXNnQWlBTUlBVnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0N5QUNJQWdnQ1dzaUJTQUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBc2dBaUFGSUFkclFSSjJRZjhIY1dvc0FBQTZBQVVnQ3lBQ0lCQWdEV3NpQlNBR2FrRVNka0gvQjNGcUxBQUFPZ0FESUFzZ0FpQUZJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFRVJ3MEFDeUFPSkFZTCtRb0JDMzhqQmlFRkl3WkIwQUJxSkFZZ0FDZ0MwQUloQ3lBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSWFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFRZQ0FDQUZJQUVnQUd0QkMzVTJBakFnQlNBSElBaEJmbXhxUVF0MU5nSVlJQVVnQmlnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQnlBR0tBSkVJQUl1QVNKQm9TMXNiQ0lJYWlJQklBWW9BaVFnQWk0QkVrR3h6Z0JzYkNJQWFrRUxkVFlDQkNBRklBRWdBR3RCQzNVMkFqUWdCU0FISUFoQmZteHFRUXQxTmdJY0lBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlCeUFHS0FKSUlBSXVBU1JCb1Mxc2JDSUlhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRUWUNDQ0FGSUFFZ0FHdEJDM1UyQWpnZ0JTQUhJQWhCZm14cVFRdDFOZ0lnSUFVZ0JpZ0NEQ0FDTGdFR1FRMTBiRUdBQ0hJaUJ5QUdLQUpNSUFJdUFTWkJvUzFzYkNJSWFpSUJJQVlvQWl3Z0FpNEJGa0d4emdCc2JDSUFha0VMZFRZQ0RDQUZJQUVnQUd0QkMzVTJBandnQlNBSElBaEJmbXhxUVF0MU5nSWtJQVVnQmlnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQnlBR0tBSlFJQUl1QVNoQm9TMXNiQ0lJYWlJQklBWW9BakFnQWk0QkdFR3h6Z0JzYkNJQWFrRUxkVFlDRUNBRlFVQnJJQUVnQUd0QkMzVTJBZ0FnQlNBSElBaEJmbXhxUVF0MU5nSW9JQVVnQmlnQ0ZDQUNMZ0VLUVExMGJFR0FDSElpQnlBR0tBSlVJQUl1QVNwQm9TMXNiQ0lJYWlJQklBWW9BalFnQWk0QkdrR3h6Z0JzYkNJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFrUWdCU0FISUFoQmZteHFRUXQxSWc4MkFpd2dCQ0FES0FJQWFpSU9JQXRCZ0gxcUlna2dCU2dDQUVFTmRFR0FnSWpBQUdvaUN5QUZLQUlRUWFFdGJDSU1haUlISUFVb0FnaEJzYzRBYkNJSWFpSUJJQVVvQWdRaUNpQUZLQUlVSWcxcVFiWVhiQ0lDSUFvZ0JTZ0NEQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU9JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUE0Z0NTQUxJQXhySUF4cklnRWdDaUFHYXlBTmEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQTRnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RpQUpJQWNnQ0dzaUFTQUNJQTBnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ1JxSWd3Z0NTQUZLQUlZUVExMFFZQ0FpTUFBYWlJTElBVW9BaWhCb1Mxc0lncHFJZ2NnQlNnQ0lFR3h6Z0JzSWdocUlnRWdEeUFGS0FJY0lnMXFRYllYYkNJQ0lBMGdCU2dDSkNJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FNSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBd2dDU0FMSUFwcklBcHJJZ0VnRFNBR2F5QVBhMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUF3Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEQ0FKSUFjZ0NHc2lBU0FDSUE4Z0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRENBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdocUlnb2dDU0FGS0FJd1FRMTBRWUNBaU1BQWFpSUlJQVZCUUdzb0FnQkJvUzFzSWcxcUlnUWdCU2dDT0VHeHpnQnNJZ05xSWdFZ0JTZ0NOQ0lHSUFVb0FrUWlDMnBCdGhkc0lnSWdCaUFGS0FJOElnZHFRUTEwYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFvZ0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBVWdDaUFKSUFnZ0RXc2dEV3NpQVNBR0lBZHJJQXRyUVExMElnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FLSUFrZ0JDQURheUlCSUFJZ0N5QUhhMEVOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQWlBS0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVVrQmd1TEJBRUtmeU1HSVFVakJrRWdhaVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUJpZ0NBR3dpQVNBQ0xnRVFJQVlvQWlCc0lnQnFJZ2cyQWdBZ0JTQUJJQUJyTmdJUUlBVWdBaTRCQWlBR0tBSUViQ0lCSUFJdUFSSWdCaWdDSkd3aUFHb2lDallDQkNBRklBRWdBR3NpQ3pZQ0ZDQUZJQUl1QVFRZ0JpZ0NDR3dpQVNBQ0xnRVVJQVlvQWloc0lnQnFJZ3cyQWdnZ0JTQUJJQUJySWcwMkFoZ2dCU0FDTGdFR0lBWW9BZ3hzSWdFZ0FpNEJGaUFHS0FJc2JDSUFhaUlPTmdJTUlBVWdBU0FBYXlJR05nSWNJQVFnQXlnQ0FHb2lDU0FIUVlCOWFpSUhJQXdnQ0VHRUlHb2lDR3BCRFhRaUFTQUtJQTVxUWRFaWJDSUNJQXBCL2pCc2FpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBa2dCeUFCSUFCclFSQjJRZjhIY1dvc0FBQTZBQU1nQ1NBSElBZ2dER3RCRFhRaUFTQUNJQTVCMzRsL2JHb2lBR3BCRUhaQi93ZHhhaXdBQURvQUFTQUpJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQkNBRktBSVFRWVFnYWlJRElBMXFRUTEwSWdFZ0JpQUxha0hSSW13aUFpQUxRZjR3YkdvaUFHcEJFSFpCL3dkeElBZHFMQUFBT2dBQUlBUWdBU0FBYTBFUWRrSC9CM0VnQjJvc0FBQTZBQU1nQkNBRElBMXJRUTEwSWdFZ0FpQUdRZCtKZjJ4cUlnQnFRUkIyUWY4SGNTQUhhaXdBQURvQUFTQUVJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFVa0JndGhBQ0FFSUFNb0FnQnFJZ01nQUNnQzBBSkJnSDFxSWdBZ0FpNEJBQ0FCS0FKVUlnRW9BZ0JzUVlRZ2FpSUVJQUl1QVFJZ0FTZ0NCR3dpQVdwQkEzWkIvd2R4YWl3QUFEb0FBQ0FESUFRZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM5Y0pBUjUvSXdZaEZpTUdRWUFFYWlRR0lBQW9BdEFDSVNJZ0ZpSUFJUVVnQVNnQ1ZDRUJBMEFnQWk0QklDQUJRVUJyS0FJQWJDSU1JQUl1QVdBZ0FTZ0N3QUZzSWhGcklnOUIxQkZzSVFvZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVZBZ0FTZ0NvQUZzSWdkcUlSQWdCaUFDTGdGd0lBRW9BdUFCYkNJSWFrSDh4UUJzSWhjZ0VFSHB6d0JzSWhRZ0JpQUNMZ0V3SUFFb0FtQnNJZ2xxUWM3V0FHd2lEU0FHUWRidGZteHFhbW9oRGlBR0lBaHJRYlk1YkNJWklCQkIxU3BzSWhnZ0JpQUphMEdqR213aUVpQUdRY0tLZjJ4cWFtb2hFQ0FJSUFscUlnWkJxMVZzSWhvZ0J5QUpha0h3Q0d3aUd5QUpRYzBFYkNBTmFtcHFJUTBnQmtHWHNIOXNJaHdnQnlBSmEwR0oyZ0JzSWgwZ0NVR2EvZ0JzSUJKcWFtb2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdZZ0FrRkFheTRCQUNBQktBS0FBV3dpRWtIUDB3QnNJaDVxSWg4Z0QwSGoyQUJzSWc4Z0VVR0RwQUZzYWlJZ2FpSVZJQTVxUVF0MU5nSUFJQVVnRlNBT2EwRUxkVFlDNEFNZ0JTQU5JQVlnRWtIUkltd2lEbW9pRWlBS0lBeEJ6VGxzYWlJVmFpSWhha0VMZFRZQ0lDQUZJQ0VnRFd0QkMzVTJBc0FESUFWQlFHc2dCeUFJYWtHeXFYOXNJZzBnR3lBSFFmcTNmMnhxSUJScWFpSVVJQVlnRG1zaURpQVBJQXhCd2xsc2FpSU1haUlQYWtFTGRUWUNBQ0FGSUE4Z0ZHdEJDM1UyQXFBRElBVWdHaUFJUVpqRUFHeHFJQmRxSUExcUlnMGdCaUFlYXlJR0lBb2dFVUd3WDJ4cUloRnFJZ3BxUVF0MU5nSmdJQVVnQ2lBTmEwRUxkVFlDZ0FNZ0JTQWNJQWhCaGNrQmJHb2dHV29nQ0NBSGEwR2pHbXdpQ0dvaUNpQUdJQkZySWdacVFRdDFOZ0tBQVNBRklBWWdDbXRCQzNVMkF1QUNJQVVnSFNBSFFmcE9iR29nR0dvZ0NHb2lCaUFPSUF4cklnZHFRUXQxTmdLZ0FTQUZJQWNnQm10QkMzVTJBc0FDSUFVZ0NTQVNJQlZySWdacVFRdDFOZ0xBQVNBRklBWWdDV3RCQzNVMkFxQUNJQVVnRUNBZklDQnJJZ1pxUVF0MU5nTGdBU0FGSUFZZ0VHdEJDM1UyQW9BQ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXRCQVdvaUMwRUlSdzBBQ3lBaVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUJTQUFLQUlNSWd0cUlnZ2dBQ2dDRkNJR0lBQW9BZ1FpQjJvaUNXcEJvY3NBYkNJTUlBaEJ1NEovYkdvaUVTQUZJQWRxUWJOR2JDSUtJQVZCamhOc2Ftb2hDQ0FNSUFsQmhHZHNhaUlGSUFvZ0IwR0w0QUJzYW1vaEJ5QUZJQVlnQzJwQi9kdCtiQ0lKSUFaQnM0TUJiR3BxSVFZZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUdRZ0FGcUlnd2dBQ2dDRUNJS2FrRU5kQ0lRSUFBb0FnZ2lEaUFBS0FJWUlnMXFRZEVpYkNJVElBNUIvakJzYWlJT2FpSVBJQWRxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdEQ0FLYTBFTmRDSUhJQk1nRFVIZmlYOXNhaUlNYWlJS0lCRWdDU0FMUWRURUFXeHFhaUlMYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBS0lBdHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnREdzaUN5QUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUFaclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCQWdEbXNpQ3lBSWFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUxJQWhyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFXSkFZTG5RZ0JHWDhqQmlFWEl3WkJrQU5xSkFZZ0FDZ0MwQUloSFNBWElnQWhCU0FCS0FKVUlRRURRQ0FDTGdGd0lBRW9BdUFCYkNJVFFRMTBJZ3NnQWk0QkVDQUJLQUlnYkNJSElBSXVBVkFnQVNnQ29BRnNJZ1pxSWdwQjBzd0FiQ0lQSUFjZ0FpNEJNQ0FCS0FKZ2JDSUlha0czMVFCc0loQWdCMEh3dDM5c2FtcHFJUWtnQnlBSWF5SVlRZklkYkNBTGF5SVpJQXBCbERCc0loUWdCMEdMdkg5c2Ftb2hFU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdjZ0FrRkFheTRCQUNBQktBS0FBV3dpQ2tIRzBRQnNhaUlhSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJT2FrSGl4Z0JzSWhVZ0RFRzlFV3hxSWh0cUloWWdDV3BCQzNVMkFnQWdCU0FXSUFsclFRdDFOZ0xzQWlBRklBWWdDR3BCNzNWc0lBdHJJZ2tnQ0VIdVpHd2dFR3BxSWhBZ0J5QUtRWklVYkdvaUZpQVZJQTVCL0pGL2JHb2lGV29pSEdwQkMzVTJBaHdnQlNBY0lCQnJRUXQxTmdMUUFpQUZJQWtnQmtHSjZINXNJQTlxYWlJSklBY2dDa0hKUjJ4cUlnOGdERUdqSjJ3Z0RrSGhwMzlzYWlJTWFpSU9ha0VMZFRZQ09DQUZJQTRnQ1d0QkMzVTJBclFDSUFVZ0dDQUdheUFUYWtFQ2RDSUpJQWNnQ2tHK3BYOXNha0VMZFNJSGFqWUNWQ0FGSUFjZ0NXczJBcGdDSUFVZ0JpQUlhMEg0MlFCc0lnY2dCa0htazM5c2FpQVVhaUFMYWlJR0lBOGdER3NpQzJwQkMzVTJBbkFnQlNBTElBWnJRUXQxTmdMOEFTQUZJQWNnQ0VHWksyeHFJQmxxSWdZZ0ZpQVZheUlJYWtFTGRUWUNqQUVnQlNBSUlBWnJRUXQxTmdMZ0FTQUZJQm9nRzJzaUJpQVJha0VMZFRZQ3FBRWdCU0FHSUJGclFRdDFOZ0xFQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQU5RUUZxSWcxQkIwY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUlRSWcwZ0FDZ0NHQ0lHYTBHM09Hd2lEQ0FBS0FJSUlnZ2dEV3RCa2hSc0lnNGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QU5RWldLZjJ4cWFtb2hDeUFBS0FJRUlnb2dBQ2dDRENJRmFrSHZPMndpRWlBS0lBVnJRZk1LYkNJVGFpQUZJQUFvQWhRaUNXcEI0YWQvYkNJUGFpRVJJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWNnQmlBSWFpSVFRY2JSQUd4cUloUWdEQ0FHUVlON2JHcHFJZ1lnQ1NBS2FrR2pKMndpQ2lBU0lCTnJhaUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBR0lBeHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQXNnRVdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFVSUE0Z0NFSHg0WDVzYW1vaUJpQVBJQW9nQ1VIZTl3QnNhbW9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUEwZ0VHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJ4cUlRQWdBVUVCYWlJQlFRNUhEUUFMSUJja0Jndm5CZ0VYZnlNR0lSUWpCa0dnQW1va0JpQUFLQUxRQWlFYklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdnZ0FTZ0NnQUVnQWtGQWF5NEJBRUd4emdCc2JDSVNhaUVRSUFnZ0FpNEJJQ0FCUVVCcktBSUFiQ0lLUVExMElBRW9Bc0FCSUFJdUFXQkJEWFJzSWd0ckloWnFJUXdnQlNBUUlBcEJ0dGNBYkNBTGFpSVhhaUlUSUFJdUFYQWdBU2dDNEFGc0lnWWdBaTRCRUNBQktBSWdiQ0lOSUFJdUFWQWdBU2dDb0FGc0lnZHFJZzVxUVkwM2JDSVJJQTVCMnhCc2FpSVlJQUl1QVRBZ0FTZ0NZR3dpRGtIUDB3QnNJaGtnRFVIM0VXeHFhaUlQYWtFTGRUWUNBQ0FGSUJNZ0QydEJDM1UyQW9nQ0lBVWdEaUFIYXlJVElBMGdCbXNpRDJwQjBTSnNJaG9nRDBIK01HeHFJZzhnREdwQkMzVTJBaGdnQlNBTUlBOXJRUXQxTmdMd0FTQUZJQWdnRW1zaURDQUtRYllYYkNBTGF5SUthaUlMSUJnZ0JpQUhha0dMdlg5c0loSWdEa0d2WFd3aURpQUhRYkNoZjJ4cWFtb2lCMnBCQzNVMkFqQWdCU0FMSUFkclFRdDFOZ0xZQVNBRklBd2dDbXNpQnlBU0lCRWdCa0hHNVFCc0lCbHJhbW9pQ21wQkMzVTJBa2dnQlNBSElBcHJRUXQxTmdMQUFTQUZJQm9nRTBIZmlYOXNhaUlISUFnZ0Ztc2lDR3BCQzNVMkFtQWdCU0FJSUFkclFRdDFOZ0tvQVNBRklCQWdGMnNpQ0NBUklBNGdEVUhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdKNElBVWdDQ0FHYTBFTGRUWUNrQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFaSERRQUxJQnRCZ0gxcUlRSkJBQ0VCQTBBZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFRYUV0YkNJSmFpSVFJQUFvQWdoQnNjNEFiQ0lLYWlJTElBQW9BZ1FpQmlBQUtBSVVJZ2hxUWJZWGJDSU1JQVlnQUNnQ0RDSU5ha0VOZEdvaUVXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJJQWxySWdrZ0JpQU5heUFJYTBFTmRDSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFKSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lCQWdDbXNpQ1NBTUlBZ2dEV3RCRFhScUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQWtnQm10QkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJocUlRQWdBVUVCYWlJQlFReEhEUUFMSUJRa0JndjlCUUVWZnlNR0lSUWpCa0hRQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFJdUFUQWdBU2dDWUd3aUJpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWlFSElBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FDUVVCckxnRUFJQUVvQW9BQmJDSUxRWjNKQUd4cUlnMGdBaTRCSUNBQlFVQnJLQUlBYkNJT0lBSXVBV0FnQVNnQ3dBRnNJZzlxUVpvMWJDSVFJQTVCOFNCc2FpSU9haUlSSUFZZ0NHc2lDRUhqRTJ3aUVpQUNMZ0ZRSUFFb0FxQUJiQ0lWUVExMEloTnFJaFlnQjBIdlBHd2lGeUFDTGdFUUlBRW9BaUJzSWdaQnM5a0FiR3BxSWhocVFRdDFOZ0lBSUFVZ0VTQVlhMEVMZFRZQ3RBRWdCU0FKSUF0QmhHUnNhaUlSSUJBZ0QwSGM5SDVzYWlJUGFpSVFJQVpCMDlBQWJDQUhRYzhsYkNJSGF5QVRJQkpySUFoQkRIUnJJaEpySWhOcVFRdDFOZ0lVSUFVZ0VDQVRhMEVMZFRZQ29BRWdCU0FKSUF0QnZxVi9iR3BCQzNVaUNTQUdJQlZySUFoclFRSjBJZ3RxTmdJb0lBVWdDU0FMYXpZQ2pBRWdCU0FSSUE5cklna2dFaUFHUVl3cGJDQUhhMm9pQjJwQkMzVTJBandnQlNBSklBZHJRUXQxTmdKNElBVWdEU0FPYXlJSElCWWdCa0dVRG13Z0YydHFJZ1pxUVF0MU5nSlFJQVVnQnlBR2EwRUxkVFlDWkNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUtRUUZxSWdwQkJVY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlJSWdvZ0FDZ0NFQ0lHYWtITU1td2lCeUFBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQW9nQm1zaUNrSFFGbXhxSWdacUlnc2dBQ2dDQkNJSUlBQW9BZ3dpREdwQm1qVnNJZzBnQ0VIeElHeHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFIYXlJR0lBMGdERUhjOUg1c2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFHSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFCQkZHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZDUUdDK2dQQVJCL0l3WWhDQ01HUVlBQmFpUUdJQUFvQXRBQ0lSQWdDQ0VBSUFFb0FsUWhBVUVFSVFZRFFBSi9Ba0FnQWk0QkVDSUxJQUl1QVNBaUJYSkIvLzhEY1FSL0RBRUZJQUl1QVRBRWYwRUFJUVVNQWdVZ0FrRkFheTRCQUFSL1FRQWhCUXdEQlNBQ0xnRlFCSDlCQUNFRkRBUUZJQUl1QVdBRWYwRUFJUVVNQlFVZ0FpNEJjQVIvUVFBaEJRd0dCU0FBSUFFb0FnQWdBaTRCQUVFQ2RHd2lCVFlDQUNBQUlBVTJBaEFnQUNBRk5nSWdJQUFnQlRZQ01DQUFRVUJySUFVMkFnQWdBQ0FGTmdKUUlBQWdCVFlDWUVFY0N3c0xDd3NMREFFTElBSXVBWEFnQVNnQzRBRnNJZ2NnQWk0Qk1DQUJLQUpnYkNJSmFpSU5JQUl1QVZBZ0FTZ0NvQUZzSWdvZ0N5QUJLQUlnYkNJTGFpSU1ha0doeXdCc0lnNGdEVUc3Z245c2FpSU5JQWNnQzJwQnMwWnNJZzhnQjBHT0UyeHFhaUVISUE0Z0RFR0VaMnhxSWd3Z0R5QUxRWXZnQUd4cWFpRUxJQXdnQ1NBS2FrSDkyMzVzSWd3Z0NrR3pnd0ZzYW1vaENpQUFJQXNnQVNnQ2dBRWdBa0ZBYXk0QkFFRU5kR3dpRGlBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUGFpSVJJQUZCUUdzb0FnQWdCVUVRZEVFUWRXd2lCU0FDTGdGZ0lBRW9Bc0FCYkNJU2FrSFJJbXdpRXlBRlFmNHdiR29pQldvaUZHcEJDM1UyQWdBZ0FDQVVJQXRyUVF0MU5nSndJQUFnRFNBTUlBbEIxTVFCYkdwcUlna2dEeUFPYXlJTElCTWdFa0hmaVg5c2FpSU5haUlNYWtFTGRUWUNFQ0FBSUF3Z0NXdEJDM1UyQW1BZ0FDQUtJQXNnRFdzaUNXcEJDM1UyQWlBZ0FDQUpJQXByUVF0MU5nSlFJQUFnQnlBUklBVnJJZ1ZxUVF0MU5nSXdJQVVnQjJ0QkMzVWhCVUVRQzBFQ2RDQUFhaUFGTmdJQUlBQkJCR29oQUNBQlFRUnFJUUVnQWtFQ2FpRUNJQVpCZjJvaEJTQUdRUUZMQkVBZ0JTRUdEQUVMQ3lBRUlBTW9BZ0JxSWdFZ0VFR0FmV29pQUNBSUtBSUFRWkNBQVdvaUFpQUlLQUlJSWdacVFRMTBJZ1VnQ0NnQ0JDSUhJQWdvQWd3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJRWFpSUJJQUFnQ0NnQ0VFR1FnQUZxSWdJZ0NDZ0NHQ0lHYWtFTmRDSUZJQWdvQWhRaUJ5QUlLQUljSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUFTQUFJQWdvQWlCQmtJQUJhaUlDSUFnb0FpZ2lCbXBCRFhRaUJTQUlLQUlrSWdjZ0NDZ0NMQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdFZ0FDQUlLQUl3UVpDQUFXb2lBaUFJS0FJNElnWnFRUTEwSWdVZ0NDZ0NOQ0lISUFnb0Fqd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSVFhaUlCSUFBZ0NFRkFheWdDQUVHUWdBRnFJZ0lnQ0NnQ1NDSUdha0VOZENJRklBZ29Ba1FpQnlBSUtBSk1JZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NGR29pQVNBQUlBZ29BbEJCa0lBQmFpSUNJQWdvQWxnaUJtcEJEWFFpQlNBSUtBSlVJZ2NnQ0NnQ1hDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FoaHFJZ0VnQUNBSUtBSmdRWkNBQVdvaUFpQUlLQUpvSWdacVFRMTBJZ1VnQ0NnQ1pDSUhJQWdvQW13aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJY2FpSUJJQUFnQ0NnQ2NFR1FnQUZxSWdJZ0NDZ0NlQ0lEYWtFTmRDSUVJQWdvQW5RaUJpQUlLQUo4SWdWcVFkRWliQ0lISUFaQi9qQnNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQTJ0QkRYUWlBaUFISUFWQjM0bC9iR29pQTJwQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQURhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBZ2tCZ3VnQ3dFTGZ5TUdJUVVqQmtIUUFHb2tCaUFBS0FMUUFpRVBJQVVnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSU9JQWdvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lLYWlJR0lBaEJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSUphaUlCSUFJdUFSQWdDQ2dDSUd3aUN5QUNMZ0ZRSUFnb0FxQUJiQ0lNYWtHMkYyd2lCeUFMSUFJdUFUQWdDQ2dDWUd3aURXcEJEWFJxSWdCcVFRdDFOZ0lBSUFVZ0FTQUFhMEVMZFRZQ1BDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBMXJJQXhyUVFKMElnQnFOZ0lNSUFVZ0FTQUFhellDTUNBRklBWWdDV3NpQVNBSElBd2dEV3RCRFhScUlnQnFRUXQxTmdJWUlBVWdBU0FBYTBFTGRUWUNKQ0FGSUFnb0FrUWdBaTRCSWtHeHpnQnNiQ0lPSUFnb0FnUWdBaTRCQWtFTmRHeEJnQWh5SWdvZ0NDZ0NoQUVnQWk0QlFrR2hMV3hzSWdacUlnbHFJZ0VnQWk0QkVpQUlLQUlrYkNJTElBSXVBVklnQ0NnQ3BBRnNJZ3hxUWJZWGJDSUhJQXNnQWk0Qk1pQUlLQUprYkNJTmFrRU5kR29pQUdwQkMzVTJBZ1FnQlVGQWF5QUJJQUJyUVF0MU5nSUFJQVVnQ3lBTmF5QU1hMEVDZENJQklBb2dCa0YrYkdwQkMzVWlBR28yQWhBZ0JTQUFJQUZyTmdJMElBVWdDU0FPYXlJQklBY2dEQ0FOYTBFTmRHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0lvSUFVZ0NDZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaURpQUlLQUtJQVNBQ0xnRkVRYUV0Ykd3aUNtb2lCaUFJS0FKSUlBSXVBU1JCc2M0QWJHd2lDV29pQVNBQ0xnRVVJQWdvQWloc0lnc2dBaTRCVkNBSUtBS29BV3dpREdwQnRoZHNJZ2NnQ3lBQ0xnRTBJQWdvQW1oc0lnSnFRUTEwYWlJQWFrRUxkU0lOTmdJSUlBVWdBU0FBYTBFTGRUWUNSQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQUpySUF4clFRSjBJZ0JxSWdvMkFoUWdCU0FCSUFCck5nSTRJQVVnQmlBSmF5SUJJQWNnRENBQ2EwRU5kR29pQUdwQkMzVWlDVFlDSUNBRklBRWdBR3RCQzNVMkFpd2dCQ0FES0FJQWFpSUhJQTlCZ0gxcUlnWWdCU2dDQUVFTmRFR0FnSWpBQUdvaUFpQU5RYUV0YkdvaUFTQUZLQUlFUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0JpQUNJQTFCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ1JxSWdjZ0JpQUZLQUlNUVExMFFZQ0FpTUFBYWlJQ0lBcEJvUzFzYWlJQklBVW9BaEJCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBY2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQnlBR0lBSWdDa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NDR29pQnlBR0lBVW9BaGhCRFhSQmdJQ0l3QUJxSWdJZ0NVR2hMV3hxSWdFZ0JTZ0NIRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFZZ0FpQUpRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSU1haUlKSUFZZ0JTZ0NKRUVOZEVHQWdJakFBR29pQnlBRktBSXNJZ0pCb1Mxc2FpSUJJQVVvQWloQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWtnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0NTQUdJQWNnQWtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDRUdvaUNTQUdJQVVvQWpCQkRYUkJnSUNJd0FCcUlnY2dCU2dDT0NJQ1FhRXRiR29pQVNBRktBSTBRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWtnQmlBSElBSkJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FoUnFJZ1FnQmlBRktBSThRUTEwUVlDQWlNQUFhaUlESUFVb0FrUWlBa0doTFd4cUlnRWdCVUZBYXlnQ0FFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQkNBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQVlnQXlBQ1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCU1FHQzdJRUFRcC9Jd1loQmlNR1FTQnFKQVlnQUNnQzBBSWhEQ0FHSUFJdUFRQWdBU2dDVkNJSEtBSUFiQ0lKSUFJdUFTQWdCMEZBYXlnQ0FHd2lDbXBCRFhRaUFTQUNMZ0VRSUFjb0FpQnNJZ0FnQWk0Qk1DQUhLQUpnYkNJRmFrSFJJbXdpQ0NBQVFmNHdiR29pQUdvaURUWUNBQ0FHSUFFZ0FHczJBaGdnQmlBSklBcHJRUTEwSWdFZ0NDQUZRZCtKZjJ4cUlnQnFJZzQyQWdnZ0JpQUJJQUJySWdrMkFoQWdCaUFDTGdFQ0lBY29BZ1JzSWdvZ0FpNEJJaUFIS0FKRWJDSUZha0VOZENJQklBSXVBUklnQnlnQ0pHd2lBQ0FDTGdFeUlBY29BbVJzSWdocVFkRWliQ0lDSUFCQi9qQnNhaUlBYWlJTE5nSUVJQVlnQVNBQWF5SUhOZ0ljSUFZZ0NpQUZhMEVOZENJQklBSWdDRUhmaVg5c2FpSUFhaUlJTmdJTUlBWWdBU0FBYXlJQ05nSVVJQVFnQXlnQ0FHb2lBU0FNUVlCOWFpSUZJQXNnRFVHQWdJSVFhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBTGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JDQURLQUlFYWlJQklBNUJnSUNDRUdvaUFDQUlha0VRZGtIL0IzRWdCV29zQUFBNkFBQWdBU0FBSUFoclFSQjJRZjhIY1NBRmFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdFZ0NVR0FnSUlRYWlJQUlBSnFRUkIyUWY4SGNTQUZhaXdBQURvQUFDQUJJQUFnQW10QkVIWkIvd2R4SUFWcUxBQUFPZ0FCSUFRZ0F5Z0NER29pQVNBR0tBSVlRWUNBZ2hCcUlnQWdCMnBCRUhaQi93ZHhJQVZxTEFBQU9nQUFJQUVnQUNBSGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JpUUdDMmNCQVg4Z0JDQURLQUlBYWlBQUtBTFFBa0dBZldvaUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd4QmhDQnFJZ1VnQWk0QkVDQUJLQUlnYkNJQmFrRURka0gvQjNGcUxBQUFPZ0FBSUFRZ0F5Z0NCR29nQlNBQmEwRURka0gvQjNFZ0FHb3NBQUE2QUFBTDhRZ0JFWDhqQmlFU0l3WkJnQUpxSkFZZ0FDZ0MwQUloRlNBU0lnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFDTGdFQUlBRW9BZ0JzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBSElBRW9BaUJzSWdjZ0FpNEJjQ0FCS0FMZ0FXd2lDR29pQ3lBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCVUNBQktBS2dBV3dpRFdvaURtdEI2Z0pzUVFoMUlBMGdDbXNpQ2lBSElBaHJJZzFxUWRrRGJFRUlkU0lQSUFwQm5RVnNRUWgxYXlBTElBNXFJZ2hySWd0cklRY2dCaUFDTGdFQUlBRW9BZ0JzSWdvZ0FrRkFheTRCQUNBQktBS0FBV3dpRG1vaUVDQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0loRWdBaTRCWUNBQktBTEFBV3dpRTJvaUJXb2lGQ0FJYWpZQ0FDQUdJQlFnQ0dzMkF1QUJJQVlnQ3lBS0lBNXJJZ2dnRVNBVGEwSHFBbXhCQ0hVZ0JXc2lDbW9pRG1vMkFpQWdCaUFPSUF0ck5nTEFBU0FHUVVCcklBY2dDQ0FLYXlJSWFqWUNBQ0FHSUFnZ0IyczJBcUFCSUFZZ0R5QU5RWlVDYkVFSWRXc2dCMnNpQnlBUUlBVnJJZ1ZxTmdKZ0lBVWdCMnNoQlVFZ0MwRUNkQ0FHYWlBRk5nSUFJQVpCQkdvaEJpQUJRUVJxSVFFZ0FrRUNhaUVDSUFsQmYyb2hCU0FKUVFGTEJFQWdCU0VKREFFTEN5QVZRWUI5YWlFSlFRQWhBUU5BSUFRZ0FVRUNkQ0FEYWlnQ0FHb2hCaUFBS0FJQVFaQ0FBV29oQlFKQUFrQWdBQ2dDQkNJSElBQW9BZ2dpQW5JTkFDQUFLQUlNQkVCQkFDRUNEQUVGSUFBb0FoQUVRRUVBSVFJTUFnVWdBQ2dDRkFSQVFRQWhBZ3dEQlNBQUtBSVlCRUJCQUNFQ0RBUUZJQUFvQWh3RVFFRUFJUUlNQlFVZ0JpQUpJQVZCQlhaQi93ZHhhaXdBQUNJQ09nQUFJQVpCQVdvZ0FrRUhFRVVhQ3dzTEN3c01BUXNnQnlBQUtBSWNJZ2hxSWdzZ0FDZ0NGQ0lNSUFBb0Fnd2lDbW9pRFd0QjZnSnNRUWgxSUF3Z0Ntc2lEQ0FISUFocklncHFRZGtEYkVFSWRTSU9JQXhCblFWc1FRaDFheUFMSUExcUlnaHJJZ3RySVFjZ0JpQUpJQVVnQUNnQ0VDSU5haUlQSUFBb0FoZ2lFQ0FDYWlJTWFpSVJJQWhxUVFWMlFmOEhjV29zQUFBNkFBQWdCaUFKSUJFZ0NHdEJCWFpCL3dkeGFpd0FBRG9BQnlBR0lBa2dCU0FOYXlJRklBSWdFR3RCNmdKc1FRaDFJQXhySWdKcUlnZ2dDMnBCQlhaQi93ZHhhaXdBQURvQUFTQUdJQWtnQ0NBTGEwRUZka0gvQjNGcUxBQUFPZ0FHSUFZZ0NTQUZJQUpySWdJZ0IycEJCWFpCL3dkeGFpd0FBRG9BQWlBR0lBa2dBaUFIYTBFRmRrSC9CM0ZxTEFBQU9nQUZJQVlnQ1NBUElBeHJJZ0lnRGlBS1FaVUNiRUVJZFdzZ0Iyc2lCV3BCQlhaQi93ZHhhaXdBQURvQUF5QUdJQWtnQWlBRmEwRUZka0gvQjNGcUxBQUFPZ0FFQ3lBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCSWtCZ3ZyQndJSGZ3eDlJd1loQ0NNR1FZQUNhaVFHSUFBb0F0QUNJUXNnQ0NJQUlRVWdBU2dDVkNFQlFRZ2hCd05BQW44Q1FDQUNMZ0VRSWdvZ0FpNEJJQ0lHY2tILy93TnhCSDhNQVFVZ0FpNEJNQVIvUVFBaEJnd0NCU0FDUVVCckxnRUFCSDlCQUNFR0RBTUZJQUl1QVZBRWYwRUFJUVlNQkFVZ0FpNEJZQVIvUVFBaEJnd0ZCU0FDTGdGd0JIOUJBQ0VHREFZRklBVWdBU29DQUNBQ0xnRUFzcFFpRERnQ0FDQUZJQXc0QWlBZ0JVRkFheUFNT0FJQUlBVWdERGdDWUNBRklBdzRBb0FCSUFVZ0REZ0NvQUVnQlNBTU9BTEFBVUU0Q3dzTEN3c0xEQUVMSUFFcUFpQWdDcktVSWd3Z0FTb0M0QUVnQWk0QmNMS1VJZzJTSWhBZ0FTb0NZQ0FDTGdFd3NwUWlEaUFCS2dLZ0FTQUNMZ0ZRc3BRaUVaSWlENU5EOHdTMVA1UWdFU0FPa3lJT0lBd2dEWk1pRVpKRFhvUHNQNVFpRXlBT1EzVTlKMENVa3lBUElCQ1NJZzJUSWhDVElRd2dCU0FCS2dJQUlBSXVBUUN5bENJUElBRXFBb0FCSUFKQlFHc3VBUUN5bENJU2tpSVVJQUZCUUdzcUFnQWdCa0VRZEVFUWRiS1VJaFVnQVNvQ3dBRWdBaTRCWUxLVUloYVNJZzZTSWhjZ0RaSTRBZ0FnQlNBWElBMlRPQUxnQVNBRklBOGdFcE1pRFNBVklCYVRRL01FdFQrVUlBNlRJZytTSWhJZ0VKSTRBaUFnQlNBU0lCQ1RPQUxBQVNBRlFVQnJJQTBnRDVNaURTQU1ramdDQUNBRklBMGdESk00QXFBQklBVWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJNEFtQWdEU0FNa3lFTVFTQUxRUUowSUFWcUlBdzRBZ0FnQlVFRWFpRUZJQUZCQkdvaEFTQUNRUUpxSVFJZ0IwRi9haUVHSUFkQkFVc0VRQ0FHSVFjTUFRc0xJQXRCZ0gxcUlRSkJBQ0VCQTBBZ0FDb0NCQ0lNSUFBcUFod2lEWklpRUNBQUtnSVVJZzRnQUNvQ0RDSVJraUlQazBQekJMVS9sQ0FPSUJHVElnNGdEQ0FOa3lJUmtrTmVnK3cvbENJVElBNURkVDBuUUpTVElBOGdFSklpRFpNaUVKTWhEQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS2dJQVF3QWdBRVNTSWc4Z0FDb0NFQ0lTa2lJVUlBQXFBZ2dpRlNBQUtnSVlJaGFTSWc2U0loY2dEWklRUTBIL0IzRnFMQUFBT2dBQUlBVWdBaUFYSUEyVEVFTkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0R5QVNreUlOSUJVZ0ZwTkQ4d1MxUDVRZ0RwTWlENUlpRWlBUWtoQkRRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCSWdFSk1RUTBIL0IzRnFMQUFBT2dBR0lBVWdBaUFOSUErVElnMGdESklRUTBIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESklRUTBIL0IzRnFMQUFBT2dBRElBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUFna0Jndk5LQUlMZndGOElBQW9BdGdESVFzZ0FDZ0NKRUVBVEFSQUR3c2dBQ2dDMkFFaEFRTkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FTSUlLQUlvSUFFb0FpUWlCRUVJZEdwQmdRSnJEcEFlQUI0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCWUJJQjBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFJZ0lCd2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCVWdBeUFnSUJzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBRUlDQWdJQm9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCUWdJQVVnSUNBZ0lCa2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0JpQWdJQ0FnSUJnZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCTWdJQ0FmSUNBZ0lDQWdJQmNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCSWdJQ0FnQ0NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCRWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCQWdJQ0FnSUNBTUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQTBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBOGdJQ0FnSUNBZ0RpQUxRUUFoQWtFRUlRTU1JQXRCQUNFQ1FRVWhBd3dmQzBFQUlRSkJCaUVEREI0TFFRQWhBa0VISVFNTUhRdEJBQ0VDUVFnaEF3d2NDMEVBSVFKQkNTRUREQnNMUVFBaEFrRUtJUU1NR2d0QkFDRUNRUXNoQXd3WkMwRUFJUUpCRENFRERCZ0xRUUFoQWtFTklRTU1Gd3RCQUNFQ1FRNGhBd3dXQzBFQUlRSkJEeUVEREJVTFFRQWhBa0VRSVFNTUZBdEJBQ0VDUVJFaEF3d1RDMEVBSVFKQkVpRUREQklMUVFBaEFrRVRJUU1NRVF0QkFDRUNRUlFoQXd3UUMwRUFJUUpCRlNFRERBOExRUUFoQWtFV0lRTU1EZ3RCQUNFQ1FSY2hBd3dOQzBFQUlRSkJHQ0VEREF3TFFRQWhBa0VaSVFNTUN3dEJBQ0VDUVJvaEF3d0tDMEVBSVFKQkd5RUREQWtMUVFBaEFrRWNJUU1NQ0F0QkFDRUNRUjBoQXd3SEMwRUFJUUpCSGlFRERBWUxRUUFoQWtFZklRTU1CUXRCQUNFQ1FTQWhBd3dFQzBFQUlRSkJJU0VEREFNTFFRQWhBa0VpSVFNTUFnc0NRQUpBQWtBQ1FDQUFLQUpJSWdFT0F3QUJBZ01MSUFFaEFrRWpJUU1NQkFzZ0FTRUNRU1FoQXd3REN5QUJJUUpCSlNFRERBSUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0JDeUFBS0FJQUlnRkJCellDRkNBQklBUTJBaGdnQUNnQ0FDQUlLQUlvTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0MwRUVhaUFKUVFKMGFpQUROZ0lBSUFnb0FqUUVRQ0FMUVN4cUlBbEJBblJxSWdFb0FnQWdBa2NFUUNBSUtBSlFJZ1lFUUNBQklBSTJBZ0FDUUFKQUFrQUNRQUpBSUFJT0F3QUJBZ01MSUFnb0FsUWhCRUVBSVFFRFFDQUJRUUowSUFScUlBRkJBWFFnQm1vdkFRQTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0RDeUFJS0FKVUlRUkJBQ0VCQTBBZ0FVRUNkQ0FFYWlBQlFRRjBJQVpxTHdFQUlBRkJBWFJCNENscUxnRUFiRUdBRUdwQkRIVTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0NDeUFJS0FKVUlRZEJBQ0VCUVFBaEJBTkFJQVJCQW5RZ0Iyb2dBVUVEZEVIZ0ttb3JBd0FpRENBRVFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRRnlJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRTcyRklzVkF4OWoraVJBQUFBQUFBQU1BL29yWTRBZ0FnQlVFQmFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUk1wdlRaR3U1L1Evb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQTNJaUNrRUNkQ0FIYWlBTUlBcEJBWFFnQm1vdkFRQzNva1NxRVd6dll0RHlQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUZxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRSnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRU83K253R2trNlQraVJBQUFBQUFBQU1BL29yWTRBZ0FnQ2tFRGFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUkxzZ3gzdDZVZUUvb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQjNJaUJVRUNkQ0FIYWlBTUlBVkJBWFFnQm1vdkFRQzNva1JkcTNMZVZhalJQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUWhxSVFRZ0FVRUJhaUlCUVFoSERRQUxEQUVMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMQ3dzZ0NFSFlBR29oQkNBSlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FCSVFrZ0JDRUJEQUVMQ3d1bEFRRUVmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkIxQUFnQVVFL2NVSEtBV29SQkFBaUFUWUMyQU1nQVVIekFEWUNBQ0FBS0FJa1FRQk1CRUFQQ3lBQlFTeHFJUVJCQUNFQklBQW9BdGdCSVFJRFFDQUFLQUlFS0FJQUlRTWdBaUFBUVFGQmdBSWdBMEUvY1VIS0FXb1JCQUFpQXpZQ1ZDQURRUUJCZ0FJUVJSb2dBVUVDZENBRWFrRi9OZ0lBSUFKQjJBQnFJUUlnQVVFQmFpSUJJQUFvQWlSSURRQUxDOHNGQVF0L0l3WWhEU01HUVNCcUpBWWdBaWdDQUNFSElBSW9BZ1FoQ3lBQ0tBSUlJUW9nQlNnQ0FDSUlSUVJBSUFVZ0FDZ0NIQ0FBS0FJZ0VLa0pJZ2cyQWdBTElBMGlBa0VjYWlFT0lBSkJHR29oRHlBQUtBSU1JQUJCTUdvZ0IwRXdiR29pRENBQktBSUFJZ2tnQjBId0FHeHFLQUlBSUFkQjhBQnNJQWxxS0FJRUtBSUFJQXRCRkd4cUlBb2dDQkNvQ1VFQVNBUi9RWDhGSUFVb0FnQWlDQ2dDSENFSklBZ29BZ3dnQ0NnQ0NFRUJhbW9nQ0NnQ0ZDQUlLQUlRUVFGcWFteXlRd0FBb0VDVVF3QUFvRUNVSUFrZ0NXeXlYZ1IvUVg4RklBRW9BcGdCSWhCQkFVWUVRQ0FBS0FJTUlBeEJBRUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBQW9BZ3doQ0NBQVFaQUVhaUFIUVRCc2FpRUpJQkJCQWtZRVFDQUlJQXdnQ1VFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQWdnRENBSklBQkI4QWRxSUFkQk1HeHFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lMQ3lBRElBUWdBQ2dDQkNBQUtBSUlJQUFvQWhRZ0JTZ0NBQ0FBS0FJWUlnQWdBQ0FDSUE0Z0R5QUdFS3dKUVFCSUJIOUJmd1VnQmlBT0tBSUFzamdDQkNBR0lBOG9BZ0N5T0FJSUlBRW9BZ0FpQUNBSFFmQUFiR29vQWdRb0FnQWdDMEVVYkdvb0FnQWlBaUFLUVJSc2FpRUJJQVlnQjBId0FHd2dBR29xQWhnZ0IwSHdBR3dnQUdvcUFnd2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFoQWdDa0VVYkNBQ2FpSUNLZ0lNbEpLU09BSU1JQVlnQjBId0FHd2dBR29xQWlnZ0IwSHdBR3dnQUdvcUFod2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFpQWdBaW9DREpTU2tqZ0NFQ0FHSUFkQjhBQnNJQUJxS2dJNElBZEI4QUJzSUFCcUtnSXNJQUVxQWdpVUlBZEI4QUJzSUFCcUtnSXdJQUlxQWd5VWtwSTRBaFJCQUFzTEN5RVJJQTBrQmlBUkN5SUJBWDFCZnlBQUtnSUFJQUVxQWdDVElnSkRBQUFBQUY0Z0FrTUFBQUFBWFJzTGloQUNESDhLZlNNR0lRb2pCa0ZBYXlRR0lBcEJPR29oQnlBS1FUQnFJUWdnQ2tFb2FpRUxJQXBCSUdvaENTQURRUVJJQkVCRElMeStUQ0VGQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFRkJRSkFBbjhnQTdJaUdpQUZsQkJESVJBZ0EwRUdkQkJFSWdaRkJFQkJBRUVEUWNyWUFpQUpFRDFEQUFDQXZ5RUZEQUlMSUFOQkEzUVFSQ0lKUlFSQVFRQkJBMEhLMkFJZ0N4QTlJQVlRT0VNQUFJQy9JUVVNQWdzZ0EwRUNkQ0lMRUVRaURVVUVRRUVBUVFOQnl0Z0NJQWdRUFNBR0VEZ2dDUkE0UXdBQWdMOGhCUXdDQ3lBTEVFUWlDMFVFUUVFQVFRTkJ5dGdDSUFjUVBTQUdFRGdnQ1JBNElBMFFPRU1BQUlDL0lRVU1BZ3NnRUVGL2FpSUhDMEVFSUFkQkJFb2JJUkZCQUNFSEEwQWdCMEVEUndSQVFRQWhDQU5BSUFoQkJFY0VRQ0FIUVFSMElBUnFJQWhCQW5ScUlBZEJCSFFnQUdvZ0NFRUNkR29xQWdBZ0FDb0NMSlU0QWdBZ0NFRUJhaUVJREFFTEN5QUhRUUZxSVFjTUFRc0xJQkZCQW5RZ0Myb2hEd0pBQWtBQ1FBTkFBa0JCQUNFSEEwQWdCeUFEU0FSQUlBUXFBZ0FoRnlBRUtnSUVJUllnQkNvQ0RDRVpJQVFxQWhBaEV5QUVLZ0lVSVJnZ0JDb0NIQ0ViSUFkQkRHd2dBbW9xQWdBaUZDQUVLZ0lnbENBSFFReHNJQUpxS2dJRUloVWdCQ29DSkpTU1F3QUFnRCtTSWdWREFBQUFBRnNOQWlBSFFRTjBJQUZxS2dJRUlCc2dGQ0FUbENBVklCaVVrcElpR0NBRmxaTWhFeUFIUVFGMElnQkJBblFnQ1dvZ0IwRURkQ0FCYWlvQ0FDQVpJQmNnRkpRZ0ZpQVZsSktTSWhjZ0JaV1RJaFk0QWdBZ0FFRUJja0VDZENBSmFpQVRPQUlBSUFkQkFuUWdDMm9nRmlBV2xDQVRJQk9Va2lJVE9BSUFJQWRCQW5RZ0RXb2dFemdDQUNBSFFRUjBJZ0JCQW5RZ0Jtb2dGQ0FGbFNJVE9BSUFJQUJCQVhKQkFuUWdCbW9nRlNBRmxTSVdPQUlBSUFCQkFuSkJBblFnQm1wREFBQ0FQeUFGbFNJWk9BSUFJQUJCQTNKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFSeVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFRmNrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkJuSkJBblFnQm1vZ0ZDQVhsSXdnQlNBRmxDSUZsVGdDQUNBQVFRZHlRUUowSUFacUlCVWdGNVNNSUFXVk9BSUFJQUJCQ0hKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFseVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFS2NrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkMzSkJBblFnQm1vZ0V6Z0NBQ0FBUVF4eVFRSjBJQVpxSUJZNEFnQWdBRUVOY2tFQ2RDQUdhaUFaT0FJQUlBQkJEbkpCQW5RZ0Jtb2dGQ0FZbEl3Z0JaVTRBZ0FnQUVFUGNrRUNkQ0FHYWlBVklCaVVqQ0FGbFRnQ0FDQUhRUUZxSVFjTUFRc0xJQXNnQTBFRVFTQVFnZ05EQUFDQVFTQVBLZ0lBUXdBQWdFQ1VJZ1VnQlVNQUFJQkJYUnNpRlVNQUFNQkFsU0VGUXdBQUFBQWhFMEVBSVFBRFFDQUFJQU5IQkVBZ0V5QUFRUUowSUF0cUtnSUFJaFFnRlY0RWZTQUZCU0FGUXdBQWdEOURBQUNBUHlBVUlCV1ZreUlVSUJRZ0ZKU1VrNVFMa2lFVElBQkJBV29oQUF3QkN3c2dFeUFhbFNJRlE4M016RDFkRFFRZ0RrRUFSeUFGUXdBQWdFQmRjUVJBSUE1QkNrWWdCU0FTbFVPa2NIMC9YbklOQlFVZ0RrRUtSZzBGQzBFQUlRQkJBQ0VNQTBBZ0F5QU1Sd1JBSUF4QkFuUWdEV29xQWdBaUVpQVZYd1JBSUFCQkEzUWlCMEVDZENBR2FrTUFBSUEvSUJJZ0ZaV1RJaElnRXBRaUVpQU1RUVIwSWdoQkFuUWdCbW9xQWdDVU9BSUFJQWRCQVhKQkFuUWdCbW9nRWlBSVFRRnlRUUowSUFacUtnSUFsRGdDQUNBSFFRSnlRUUowSUFacUlCSWdDRUVDY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVEY2tFQ2RDQUdhaUFTSUFoQkEzSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkJISkJBblFnQm1vZ0VpQUlRUVJ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUVZ5UVFKMElBWnFJQklnQ0VFRmNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFR2NrRUNkQ0FHYWlBU0lBaEJCbkpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCM0pCQW5RZ0Jtb2dFaUFJUVFkeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFocVFRSjBJQVpxSUJJZ0NFRUlja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUpha0VDZENBR2FpQVNJQWhCQ1hKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQ21wQkFuUWdCbW9nRWlBSVFRcHlRUUowSUFacUtnSUFsRGdDQUNBSFFRdHFRUUowSUFacUlCSWdDRUVMY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVNYWtFQ2RDQUdhaUFTSUFoQkRISkJBblFnQm1vcUFnQ1VPQUlBSUFkQkRXcEJBblFnQm1vZ0VpQUlRUTF5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUTVxUVFKMElBWnFJQklnQ0VFT2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFUGFrRUNkQ0FHYWlBU0lBaEJEM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBQkJBblFnQ1dvZ0VpQU1RUUYwSWdkQkFuUWdDV29xQWdDVU9BSUFJQUJCQVdwQkFuUWdDV29nRWlBSFFRRnlRUUowSUFscUtnSUFsRGdDQUNBQVFRSnFJUUFMSUF4QkFXb2hEQXdCQ3dzZ0FFRUdTQTBDSUFvZ0NTQUdJQUFRcUFOQkFFZ05BeUFFSUFvcUFnQWdCQ29DQUpJNEFnQWdCQ0FLS2dJRUlBUXFBZ1NTT0FJRUlBUWdDaW9DQ0NBRUtnSU1ramdDRENBRUlBb3FBZ3dnQkNvQ0VKSTRBaEFnQkNBS0tnSVFJQVFxQWhTU09BSVVJQVFnQ2lvQ0ZDQUVLZ0lja2pnQ0hDQUVJQW9xQWhnZ0JDb0NJSkk0QWlBZ0JDQUtLZ0ljSUFRcUFpU1NPQUlrSUFVaEVpQU9RUUZxSVE0TUFRc0xJQVlRT0NBSkVEZ2dEUkE0SUFzUU9FTWd2TDVNSVFVTUF3c2dCaEE0SUFrUU9DQU5FRGdnQ3hBNFF3QUFnTDhoQlF3Q0N5QUdFRGdnQ1JBNElBMFFPQ0FMRURoRElMeStUQ0VGREFFTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0FzTEN5QUtKQVlnQlF2RkNBSUdmdzU5SXdZaEJ5TUdRVEJxSkFZZ0IwRW9haUVHSUFkQklHb2hDQ0FEUVFSSUJFQkRJTHkrVENFTEJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUxCUUpBSUFOQkJuUVFSQ0lGUlFSQVFRQkJBMEhLMkFJZ0NCQTlRd0FBZ0w4aEN3d0JDeUFEUVFOMEVFUWlDa1VFUUVFQVFRTkJ5dGdDSUFZUVBTQUZFRGhEQUFDQXZ5RUxEQUVMUVFBaEJnTkFJQVpCQTBjRVFFRUFJUWdEUUNBSVFRUkhCRUFnQmtFRWRDQUVhaUFJUVFKMGFpQUdRUVIwSUFCcUlBaEJBblJxS2dJQUlBQXFBaXlWT0FJQUlBaEJBV29oQ0F3QkN3c2dCa0VCYWlFR0RBRUxDeUFEc2lFWUlBTkJBWFFoQ0VFQUlRWUNRQUpBQTBBQ1FFTUFBQUFBSVJKQkFDRUpBMEFnQ1NBRFNBUkFJQVFxQWdBaERTQUVLZ0lFSVJBZ0JDb0NEQ0VSSUFRcUFoQWhFeUFFS2dJVUlSUWdCQ29DSENFTElBbEJER3dnQW1vcUFnQWlEaUFFS2dJZ2xDQUpRUXhzSUFKcUtnSUVJZzhnQkNvQ0pKU1NRd0FBZ0QrU0lneERBQUFBQUZzTkFpQUpRUU4wSUFGcUtnSUVJQXNnRGlBVGxDQVBJQlNVa3BJaUZ5QU1sWk1oRlNBSlFRRjBJZ0JCQW5RZ0Ntb2dDVUVEZENBQmFpb0NBQ0FSSUEwZ0RwUWdFQ0FQbEpLU0loQWdESldUSWhFNEFnQWdBRUVCY2tFQ2RDQUthaUFWT0FJQUlBbEJCSFFpQUVFQ2RDQUZhaUFPSUF5VkloTTRBZ0FnQUVFQmNrRUNkQ0FGYWlBUElBeVZJaFE0QWdBZ0FFRUNja0VDZENBRmFrTUFBSUEvSUF5VklnczRBZ0FnQUVFRGNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkJISkJBblFnQldwREFBQUFBRGdDQUNBQVFRVnlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUdja0VDZENBRmFpQU9JQkNVakNBTUlBeVVJZzJWT0FJQUlBQkJCM0pCQW5RZ0JXb2dEeUFRbEl3Z0RaVTRBZ0FnQUVFSWNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkNYSkJBblFnQldwREFBQUFBRGdDQUNBQVFRcHlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUxja0VDZENBRmFpQVRPQUlBSUFCQkRISkJBblFnQldvZ0ZEZ0NBQ0FBUVExeVFRSjBJQVZxSUFzNEFnQWdBRUVPY2tFQ2RDQUZhaUFPSUJlVWpDQU5sVGdDQUNBQVFROXlRUUowSUFWcUlBOGdGNVNNSUEyVk9BSUFJQklnRVNBUmxDQVZJQldVa3BJaEVpQUpRUUZxSVFrTUFRc0xJQklnR0pVaUMwUE56TXc5WFEwRElBWkJBRWNnQzBNQUFJQkFYWEVFUUNBR1FRcEdJQXNnRnBWRHBIQjlQMTV5RFFRRklBWkJDa1lOQkFzZ0J5QUtJQVVnQ0JDb0EwRUFTQTBDSUFRZ0J5b0NBQ0FFS2dJQWtqZ0NBQ0FFSUFjcUFnUWdCQ29DQkpJNEFnUWdCQ0FIS2dJSUlBUXFBZ3lTT0FJTUlBUWdCeW9DRENBRUtnSVFramdDRUNBRUlBY3FBaEFnQkNvQ0ZKSTRBaFFnQkNBSEtnSVVJQVFxQWh5U09BSWNJQVFnQnlvQ0dDQUVLZ0lna2pnQ0lDQUVJQWNxQWh3Z0JDb0NKSkk0QWlRZ0N5RVdJQVpCQVdvaEJnd0JDd3NnQlJBNElBb1FPRU1ndkw1TUlRc01BZ3NnQlJBNElBb1FPRU1ndkw1TUlRc01BUXNnQlJBNElBb1FPQXNMQ3lBSEpBWWdDd3U3QmdJTWZ3UjlJd1loQ1NNR1FkQUFhaVFHSUFsQk1Hb2hFQ0FKUWN3QWFpRU1JQWxCeUFCcUlRMGdDVUZBYXlFT0lBbEJPR29oRHlBQXNpRVVJQUd5SVJVZ0JVSE1KV29oRVVFQUlRRkJBQ0VBQW44Q1FBTkFBa0FnQ0NBREtBSUVUZzBDUVFBaEN3TkFJQXRCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQzBFRWRDQUphaUFHUVFKMGFpQUlRVEJzSUFKcUlBdEJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dDMEVCYWlFTERBRUxDMEVBSVFjZ0F5Z0NBQ0FJUWZBQWJHb29BZ1FoQmdOQUlBY2dCaWdDQkVnRVFFRUFJUW9EUUNBS0lBWW9BZ0FpQ3lBSFFSUnNhaWdDQkVnRVFFRUFJQWtnQjBFVWJDQUxhaWdDQUNJR0lBcEJGR3hxS2dJSUlBcEJGR3dnQm1vcUFnd2dEQ0FORUlJRVFRQklJQXdxQWdBaUVrTUFBQUFBWFhKRkJFQWdEU29DQUNJVElCVmdJQk5EQUFBQUFGMGdFaUFVWUhKeVJRUkFBa0FnRGlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNBSFFSUnNhaWdDQUNJR0lBcEJGR3hxS0FJSU5nSUFJQTRnQ2tFVWJDQUdhaWdDRERZQ0JFRUFJQWtnRGlBUEVJY0VJQThxQWdRaUVpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDSUdJQWRCRkd4cUtnSU1JaE5mQkVBZ0VpQUhRUlJzSUFacUtnSVFZQVJBSUFCQnlBRkdEUWtnQUVFWWJDQUVhaUFJTmdJQUlBQkJHR3dnQkdvZ0J6WUNCQ0FBUVJoc0lBUnFJQW8yQWdnZ0FFRVliQ0FFYWlBTUtBSUFOZ0lRSUFCQkdHd2dCR29nRFNnQ0FEWUNGQ0FBUVJoc0lBUnFRUUEyQWd3Z0FFRUJhaUVBREFJTEN5QVNJQk5EQUFBQVFKUmZCRUFnRWlBSFFSUnNJQVpxS2dJUVF3QUFBRCtVWUFSQUlBRkJ5QUZHQkg4Z0VVRi9OZ0lBUWNnQkJTQUJRUmhzSUFWcUlBZzJBZ0FnQVVFWWJDQUZhaUFITmdJRUlBRkJHR3dnQldvZ0NqWUNDQ0FCUVJoc0lBVnFJQXdvQWdBMkFoQWdBVUVZYkNBRmFpQU5LQUlBTmdJVUlBRkJHR3dnQldwQkFEWUNEQ0FCUVFGcUN5RUJDd3NMQ3dzZ0NrRUJhaUVLSUFNb0FnQWdDRUh3QUd4cUtBSUVJUVlNQVFzTElBZEJBV29oQnd3QkN3c2dDRUVCYWlFSURBRUxDMEVBUVFOQjJkZ0NJQkFRUFNBRVFjd2xhZ3dCQ3lBQVFSaHNJQVJxUVg4MkFnd2dBVUVZYkNBRmFrRU1hZ3RCZnpZQ0FDQUpKQVlMd3djQ0RuOElmU01HSVFVakJrSFFBR29rQmlBRlFUQnFJUkFnQlVITUFHb2hEQ0FGUWNnQWFpRU5JQVZCUUdzaERpQUZRVGhxSVE4Z0FDZ0NBTEloR1NBQUtBSUVzaUVhSUFSQnpDVnFJUkVDZndKQUEwQUNRQ0FLSUFJb0FnUk9EUUpCQUNFSEEwQWdCMEVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FIUVFSMElBVnFJQVpCQW5ScUlBcEJNR3dnQVdvZ0IwRUVkR29nQmtFQ2RHb29BZ0EyQWdBZ0JrRUJhaUVHREFFTEN5QUhRUUZxSVFjTUFRc0xRUUFoQmlBQ0tBSUFJQXBCOEFCc2FpZ0NCQ0VIQTBBZ0JpQUhLQUlFU0FSQVFRQWhDd05BSUFzZ0J5Z0NBQ0lTSUFaQkZHeHFLQUlFU0FSQUlBQWdCU0FHUVJSc0lCSnFLQUlBSWdjZ0MwRVViR29xQWdnZ0MwRVViQ0FIYWlvQ0RDQU1JQTBRZ2dSQkFFZ2dEQ29DQUNJVFF3QUFBQUJkY2tVRVFDQU5LZ0lBSWhRZ0dtQWdGRU1BQUFBQVhTQVRJQmxnY25KRkJFQUNRQ0FGS2dJTUlBVXFBZ0FnQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FnQmtFVWJHb29BZ0FpQnlBTFFSUnNhaW9DQ0NJVGxDQUZLZ0lFSUF0QkZHd2dCMm9xQWd3aUZKU1NraUlXSUJhVUlBVXFBaHdnRXlBRktnSVFsQ0FVSUFVcUFoU1VrcElpRnlBWGxKSWdCU29DTENBVElBVXFBaUNVSUJRZ0JTb0NKSlNTa2lJWUlCaVVrcEVoRlNBRktnSW9JQmdnRlpXVUlBVXFBZ2dnRmlBVmxaUWdCU29DR0NBWElCV1ZsSktTUTgzTXpMMWVSUVJBSUE0Z0V6Z0NBQ0FPSUJRNEFnUWdBQ0FGSUE0Z0R4Q0hCQ0FQS2dJRUloTWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWlCeUFHUVJSc2Fpb0NEQ0lVWHdSQUlCTWdCa0VVYkNBSGFpb0NFR0FFUUNBSlFjZ0JSZzBLSUFsQkdHd2dBMm9nQ2pZQ0FDQUpRUmhzSUFOcUlBWTJBZ1FnQ1VFWWJDQURhaUFMTmdJSUlBbEJHR3dnQTJvZ0RDZ0NBRFlDRUNBSlFSaHNJQU5xSUEwb0FnQTJBaFFnQ1VFWWJDQURha0VBTmdJTUlBbEJBV29oQ1F3REN3c2dFeUFVUXdBQUFFQ1VYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VFTUFBQUEvbEdBRVFDQUlRY2dCUmdSL0lCRkJmellDQUVISUFRVWdDRUVZYkNBRWFpQUtOZ0lBSUFoQkdHd2dCR29nQmpZQ0JDQUlRUmhzSUFScUlBczJBZ2dnQ0VFWWJDQUVhaUFNS0FJQU5nSVFJQWhCR0d3Z0JHb2dEU2dDQURZQ0ZDQUlRUmhzSUFScVFRQTJBZ3dnQ0VFQmFnc2hDQXNMQ3dzTEN5QUxRUUZxSVFzZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FoQnd3QkN3c2dCa0VCYWlFR0RBRUxDeUFLUVFGcUlRb01BUXNMUVFCQkEwSFoyQUlnRUJBOUlBTkJ6Q1ZxREFFTElBbEJHR3dnQTJwQmZ6WUNEQ0FJUVJoc0lBUnFRUXhxQzBGL05nSUFJQVVrQmd2VkVRSVVmd0Y5SXdZaEJTTUdRVEJxSkFZZ0JTSU1RU2hxSVJJZ0JVRWdhaUVUSUFCQkFFY2dBVUVBUjNFZ0FrRUFSM0VnQTBFQVIzRWdCRUVBUjNFRWZ5QUJLQUtZQVVFQlNBUi9RWDRGQW44Z0JFTUFBQUFBT0FJQUlBRkJDR29oRFNBQlFUaHFJUWdnQVVIb0FHb2hDa0VBSVFVRFFDQUZJQUVvQWdSSUJFQWdEU0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRVEJxSUFWQk1HeHFFTElDSUFFb0FwZ0JRUUZLQkVBZ0NDQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFaQUVhaUFGUVRCc2FoQ3lBaUFCS0FLWUFVRUNTZ1JBSUFvZ0FTZ0NBQ0FGUWZBQWJHcEJER29nQUVId0Iyb2dCVUV3YkdvUXNnSUxDeUFGUVFGcUlRVU1BUXNMSUFBb0FnQkJBVVlFUUNBQVFReHFJaFFvQWdBZ0FFRXdhaUFCSUFCQjhCUnFJZzRnQUVISU9tb2lDaEROQmlBQVFRUnFJUThnQUVFSWFpRVFCU0FBUVFScUlnOG9BZ0FnQUVFSWFpSVFLQUlBSUFCQk1Hb2dBU0FBUWZBVWFpSU9JQUJCeURwcUlnb1F6QVlnQUVFTWFpRVVDeUFBUWVEbkFHb2hGeUFCUVp3QmFpRVZJQUJCMEF0cUlSWWdEaUVJQTBBQ1FDQUxJQUFvQWlST0RRQkJBQ0VKSUFZaEJ5QUlJUVVEUUFKQUlBa2dGeWdDQUU0RVFDQUZJUWdNQVFzZ0N5QUFLQUlrUmdSQUlBVWhDQXdCQ3lBRklCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkVBZ0JTQU9Sd1JBSUFVaENBd0NDeUFLSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCSDhnQ2lFSURBSUZJQW9MSVFVTElBbEJBblFnREdvZ0NFRVliQ0FGYWlJUk5nSUFJQUJCMEF0cUlBZEJBM1JxSUFoQkdHd2dCV29vQWhBMkFnQWdBQ0FIUVFOMGFrSFVDMm9nQ0VFWWJDQUZhaWdDRkRZQ0FDQUFRZVRuQUdvZ0NVRTBiR29nQURZQ0FDQUFJQWxCTkd4cVFlam5BR29nQVRZQ0FDQUFJQWxCTkd4cVFlem5BR29nRVRZQ0FDQUFJQWxCTkd4cVFmRG5BR29nQWpZQ0FDQUpRUUZxSVFrZ0JpQUhRUUZxSWdnZ0NFRUZSaHNoQnlBTFFRRnFJUXNNQVFzTElBbEZEUUJCQUNFSElBWWhCUU5BSUFjZ0NVY0VRQ0FBSUFkQk5HeHFRWlRvQUdvZ0FFSGs1d0JxSUFkQk5HeHFLQUlBSUFBZ0IwRTBiR3BCNk9jQWFpZ0NBQ0FBSUFkQk5HeHFRZXpuQUdvb0FnQWdBQ0FIUVRSc2FrSHc1d0JxS0FJQUlBQWdCMEUwYkdwQjlPY0FhaWdDQUNBQUlBZEJOR3hxUWZqbkFHb2dBQ0FIUVRSc2FrSDg1d0JxSWdZUXlBWWlFVFlDQUNBUlJRUkFJQVlxQWdBZ0FDb0NLRjRFUUNBQUtBSUFRUUZHQkVBZ0ZDZ0NBQ0lHUWVnQWFpQUFJQWRCTkd4cVFZRG9BR29xQWdDN0lBQWdCMEUwYkdwQmhPZ0FhaW9DQUxzZ0VpQVRJQVlvQXJBQkVOOEVJQUJCMEE1cUlBVkJBM1JxSUJJckF3QzJPQUlBSUFBZ0JVRURkR3BCMUE1cUlCTXJBd0MyT0FJQUJTQUFRZEFPYWlBRlFRTjBhaUFBSUFkQk5HeHFRWURvQUdvb0FnQTJBZ0FnQUNBRlFRTjBha0hVRG1vZ0FDQUhRVFJzYWtHRTZBQnFLQUlBTmdJQUN5QUFRWkFSYWlBRlFReHNhaUFBSUFkQk5HeHFRWWpvQUdvb0FnQTJBZ0FnQUNBRlFReHNha0dVRVdvZ0FDQUhRVFJzYWtHTTZBQnFLQUlBTmdJQUlBQWdCVUVNYkdwQm1CRnFJQUFnQjBFMGJHcEJrT2dBYWlnQ0FEWUNBQ0FBUWRBTGFpQUZRUU4wYWlBSFFRSjBJQXhxS0FJQUlnWW9BaEEyQWdBZ0FDQUZRUU4wYWtIVUMyb2dCaWdDRkRZQ0FDQUFRYURnQUdvZ0JVRVliR29nQmlnQ0FEWUNBQ0FBSUFWQkdHeHFRYVRnQUdvZ0JpZ0NCRFlDQUNBQUlBVkJHR3hxUWFqZ0FHb2dCaWdDQ0RZQ0FDQUFJQVZCR0d4cVFhemdBR3BCQURZQ0FDQUZRUUZxSVFVTEN5QUhRUUZxSVFjTUFRc0xJQVVoQmd3QkN3dEJBQ0VDQTBBZ0FpQUdTQVJBSUFGQm5BRnFJQUpCR0d4cUlnVWdBRUdnNEFCcUlBSkJHR3hxSWdncEFnQTNBZ0FnQlNBSUtRSUlOd0lJSUFVZ0NDa0NFRGNDRUNBQ1FRRnFJUUlNQVFzTElBRWdCa0VZYkdwQmZ6WUNxQUVnQmtFRFNDRUNJQUFvQWdCQkFVWUVRQ0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnQUNnQ0VDQU5JQUJCMEE1cUlnSWdBRUdRRVdvaUJTQUdJQU5CQUJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1lay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUVBek0rTS9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1kay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUFBQUFBQUFFSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQlFRQTJBcGdCUVh3TUJnc0xDd3NMQlNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0RTQUFRZEFPYWlJQ0lBQkJrQkZxSWdVZ0JpQURRUUJEQUFDQVB4RGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUTgzTVREOFEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdCQ0FESUFJZ0JTQUdJQU5CQVVPYW1Say9FTm9CSWhrNEFnQWdHU0FBS2dJc1hnUkFJQVFnQXlBQ0lBVWdCaUFEUVFGRHpjek1QaERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlF3QUFBQUFRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQVVFQU5nS1lBVUY4REFZTEN3c0xDd3NnQVNBQktBS1lBVUVCYWpZQ21BRkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQUJRZWdBYWlBQVFRUjBhaUFDUVFKMGFpQUJRVGhxSUFCQkJIUnFJQUpCQW5ScUtBSUFOZ0lBSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEMwRUFJUUFEUUNBQVFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBRkJPR29nQUVFRWRHb2dBa0VDZEdvZ0FVRUlhaUFBUVFSMGFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3d0QkFDRUFBMzhnQUVFRFJnUi9RUUFGUVFBaEFnTkFJQUpCQkVjRVFDQUJRUWhxSUFCQkJIUnFJQUpCQW5ScUlBQkJCSFFnQTJvZ0FrRUNkR29vQWdBMkFnQWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQ3dzRlFYOExJUmdnRENRR0lCZ0x3UUVCQTM4akJpRUVJd1pCRUdva0JrR2s2d0FRUkNJRFJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dCRUVJYWlFRklBTWdBRFlDRkNBRElBRTJBZ1FnQXlBQ05nSUlJQU5CR1RZQ0dDQURRUXMyQWh3Z0EwRUxOZ0lnSUFOQkNqWUNKQ0FEUTVxWkdUODRBaWdnQTBNQUFBQkFPQUlzSUFOQjRPY0Fha0VCTmdJQUlBTkI5T2NBYWlBQklBSnNFRVFpQURZQ0FDQUFCRUFnQTBINDV3QnFRUUEyQWdBZ0JDUUdJQU1QQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTEx3QWdBQ2dDQ0NBQlFRSjBhaUlCS0FJQUJIOGdBVUVBTmdJQUlBQWdBQ2dDQUVGL2FqWUNBRUVBQlVGL0N4b0xQZ0FnQVNBQUtBSUFJQUFvQWdRUXp3WWlBVUVCTmdJQUlBRWdBRFlDRENBQklBQkJDR29RNHdJaUFEWUNFQ0FBUkFBQUFBQUFBQUFBRUkwQklBRUx1Z0VCQm44Z0FDZ0NBQ0VCUWJURUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFiREVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdjdBZ0VHZnlNR0lRTWpCa0V3YWlRR0lBTkJHR29oQlNBRFFSQnFJUVlnQTBFSWFpRUhJQU5CSUdvaUFpQUFOZ0lBSUFOQkhHb2lCQ0FCTmdJQUlBSVFVd1IvQW44Z0FoQlNJUUFnQkJEU0JnUi9JQUJCQ0dvaUFTQUVFS3dEUWJnQkVFd2FJQUFvQWd3aEFnSkFBa0FnQVNnQ0FDSUVJQUFvQXRBQlJ3MEFJQUFvQXRRQklBSkhEUUFNQVFzZ0F5QUVOZ0lBSUFNZ0FqWUNCRUVBUVFKQm1kY0NJQU1RUFNBQklBQW9BdEFCSUFBb0F0UUJJQUVRK1FzTElBQVFxUU1nQUNBQkVMd0xJZ0kyQXNBQklBSkZCRUJCQUVFRFFjalhBaUFIRUQxQmZ3d0NDeUFBSUFJUW9na2lBallDMkFFZ0FrVUVRRUVBUVFOQjd0Y0NJQVlRUFVGL0RBSUxJQUlnQUNnQzJBTVE0d2dnQUNBQlFRaHFFSzhKSWdFMkF1UUJJQUVFUUNBQUtBTFlBU0FBS0FMY0FSREhCeUFBS0FMQUFTQUFLd080QWlBQUt3UEFBaUFBUWRnQ2FoREdDeUFBSUFBb0FzQUJFSUFFTmdMb0FRVkJBRUVEUVpQWUFpQUZFRDBMUVFBRlFYOExDd1ZCZndzYUlBTWtCZ3N6QVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBRFlDQUNBRUtBSUFJUVVnQkNRR0lBVUw3d0lCQ0g4Z0FTZ0NBQ0lGS0FJRUlRTkJvTVFES0FJQUlnUkJmMm9oQmlBRUlBWnhSU0lJQkg4Z0F5QUdjUVVnQXlBRVR3Ui9JQU1nQkJCT0JTQURDd3NoQTBHY3hBTW9BZ0FnQTBFQ2RHb2lCeWdDQUNFQkEwQWdCU0FCS0FJQUlnSkhCRUFnQWlFQkRBRUxDd0ovQWtBZ0FVR2t4QU5HRFFBZ0FTZ0NCQ0VDSUFnRWZ5QUNJQVp4QlNBQ0lBUlBCSDhnQWlBRUVFNEZJQUlMQ3lBRFJ3MEFJQVVNQVFzZ0JTZ0NBQ0lDQkVBZ0FpZ0NCQ0VDSUFVZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElBTkdEUUVhQ3lBSFFRQTJBZ0FnQlFzaUNTZ0NBQ0lDSVFjZ0FTQUNCSDhnQWlnQ0JDRUNJQU1nQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSWdKSEJIOUJuTVFES0FJQUlBSkJBblJxSUFFMkFnQWdCU2dDQUFVZ0J3c0ZJQWNMTmdJQUlBbEJBRFlDQUVHb3hBTkJxTVFES0FJQVFYOXFOZ0lBSUFBZ0JUWUNBQ0FBUWFURUF6WUNCQ0FBUVFFNkFBZ0xaUUVCZnlNR0lRRWpCa0VnYWlRR0lBQW9BZ0FpQUNnQ0FCb2dBU0FBTmdJQUlBRkJFR29pQUNBQktBSUFOZ0lBSUFGQkJHb2dBQkRWQmlBQktBSUVJUUFnQVVFQU5nSUVJQUFFUUNBQkxBQU1CRUFnQUVFUWFoQ3pBd3NnQUJBNEN5QUJKQVlMT1FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUFFRk1pQUFSQUlBRWdBRFlDQUNBQ0lBRW9BZ0EyQWdBZ0FoRFdCZ3NnQVNRR0N5OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FpZ0NBQ0VESUFJa0JpQURDMUFCQW44akJpRURJd1pCRUdva0JpQUJJQUlvQWdBZ0FCQ3FBeUlCTmdJQUlBRkJBRWdFZnlBRElBQTJBZ0JCQUVFRFFmVFRBaUFERUQwZ0FpZ0NBQkM0QWtFQUJVRUJDeUVFSUFNa0JpQUVDMEVCQW44akJpRURJd1pCRUdva0JpQURJQUlRclFNZ0EwRU1haUlDSUFFZ0F5QUFRVDl4UVlvQmFoRUNBRFlDQUNBQ0tBSUFJUVFnQXhCSElBTWtCaUFFQzN3QkFuOGpCaUVFSXdaQkVHb2tCaUFESUFBZ0FpZ0NBQkRsQ1NJQU5nSUFJQUFFZndKL0FrQUNRQUpBSUFBb0Ftd09BZ0FCQWdzZ0FVRUFFSW9DR2tFQkRBSUxJQUZCQWhDS0FocEJBUXdCQ3lBQlFRTVFpZ0lhUVFFTEJVRUFRUU5CcmRNQ0lBUVFQU0FDS0FJQUVMZ0NRUUFMSVFVZ0JDUUdJQVVMbkFNQkQzOGpCaUVESXdaQjRBQnFKQVlnQTBIUUFHb2hDaUFEUWNnQWFpRUxJQU5CUUdzaERDQURRVGhxSVFVZ0EwRXdhaUVHSUFOQktHb2hEU0FEUVNCcUlRNGdBMEVZYWlFUElBTkJFR29oQnlBRFFRaHFJUWdnQUNnQzZBRWhFQ0FEUWRnQWFpSUVRUUEyQWdBZ0F5QUNOZ0lBUVFCQkFVSHUwQUlnQXhBOUlBSWdBMEhVQUdvaUNSQ2hDVUVBU0FSL0lBZ2dBallDQUVFQVFRTkJodEVDSUFnUVBVRUFCUUovSUFjZ0FUWUNBRUVBUVFGQnJORUNJQWNRUFNBSktBSUFJQUVRb0FsQkFFZ0VRRUVBUVFOQnhkRUNJQThRUFVFQURBRUxJQVFnQ1JDakNVRUFTQVJBUVFCQkEwSHAwUUlnRGhBOVFRQU1BUXRCQUVFQlFZVFNBaUFORUQwZ0JpQUNOZ0lBUVFCQkFVR04wZ0lnQmhBOUlBQkIrQUZxSUFGQkFuUnFJQUlRcmdraUFEWUNBQ0FBUlFSQUlBVWdBallDQUVFQVFRTkJvOUlDSUFVUVBRdEJBRUVCUVlUU0FpQU1FRDBnQVVFS1JnUkFRWDhRQVFzZ0VDQUVLQUlBRUo0SlFRQklCSDlCQUVFRFFjVFNBaUFMRUQxQkFBVWdCQkQvQTBFQVFRRkIzZElDSUFvUVBVRUJDd3NMSVJFZ0F5UUdJQkVMTVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVNBQ0lBQkJQM0ZCaWdGcUVRSUFOZ0lBSUFNb0FnQWhCQ0FESkFZZ0JBdVlBUUVDZnlBQVFRRkdCSDlCQWdVZ0FDQUFRWDlxY1FSL0lBQVEwUUVGSUFBTEN5SUFRYlRFQXlnQ0FDSUNTd1JBSUFBUXF3TUZJQUFnQWtrRVFFRzh4QU1vQWdDelFjREVBeW9DQUpXTkVKSUJJUUVnQWtGL2FpQUNjVVVnQWtFQ1MzRUVmeUFCUVFGQklDQUJRWDlxWjJ0MElBRkJBa2tiQlNBQkVORUJDeUlCSUFBZ0FDQUJTUnNpQUNBQ1NRUkFJQUFRcXdNTEN3c0xTQUVCZnlBQVFjZ0JFRkVpQXpZQ0FDQUFRYmpFQXpZQ0JDQURJQUlvQWdBb0FnQTJBZ2dnQTBFUWFrRUFRYmdCRUVVYUlBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDejhCQW44akJpRUNJd1pCRUdva0JpQUNJQUVRclFNZ0FrRU1haUlCSUFJZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDRURJQUlRUnlBQ0pBWWdBd3ZEQmdJUWZ3RjhJd1loQWlNR1FTQnFKQVlnQWtFWWFpRU5JQUpCRUdvaEF5QUNRUWhxSVFRZ0FpRU1JQUFFUUFKQUlBRkZCRUJCQUVFRFFhMnBBU0FFRUQxQmZ5RUVEQUVMSUFBb0FnUWhBa0VBSVFRRFFBSkFJQVFnQWs0TkFDQUFLQUlJSUFSQkFuUnFLQUlBUlEwQUlBUkJBV29oQkF3QkN3c2dBaUFFUmdSQVFYOGhCQVVnQVJDSUF5SUxSUVJBUVFCQkEwSGFxUUVnQXhBOVFYOGhCQXdDQ3lBRVFRSjBJUTRnQ3hEM0FpRUJBa0FEUUFKQUlBcEJCRThOQWlBS0lBNXFJUWhCQUNFQ1FRQWhCUU5BSUFWQkEwa0VRQ0FGUlNFUElBVkJBa1loRUVFQUlRY2dBQ2dDSENFREEwQWdCeUFEU0FSQVFRQWhCZ05BSUFZZ0EwZ0VRQ0FCUlEwR0lBRVE3Z1FoQTBFQUVQY0NJUUVnQUNnQ0RDQUlRUUowYWlnQ0FDQUZJQVlnQnlBQUtBSWNiR3BCQTJ4cVFRSjBha0gvQVNBRGF5SUROZ0lBSUFBb0FoUWdDRUVDZEdvb0FnQWlFU0FHSUFjZ0FDZ0NIR3hxUVFKMGFpRUpJQThFUUNBSklBTTJBZ0FGSUFrZ0F5QUpLQUlBYWpZQ0FDQVFCRUFnQmlBSElBQW9BaHhzYWtFQ2RDQVJhaUlKSUFrb0FnQkJBeEE1TmdJQUN3c2dCa0VCYWlFR0lBSWdBMm9oQWlBQUtBSWNJUU1NQVFzTElBZEJBV29oQnd3QkN3c2dCVUVCYWlFRkRBRUxDeUFDSUFBb0Fod2lBaUFDUVFOc2JCQTVJUWRCQUNFRlFRQWhBd05BSUFNZ0FrRURiQ0FDYkVrRVFDQUFLQUlNSUFoQkFuUnFLQUlBSUFOQkFuUnFJZ1lvQWdBZ0Iyc2hBaUFHSUFJMkFnQWdCU0FDSUFKc2FpRUZJQU5CQVdvaEF5QUFLQUljSVFJTUFRc0xJQUFvQWhBZ0NFRURkR3BFU0srOG12TFhlajRnQmJlZkloSWdFa1FBQUFBQUFBQUFBR0ViT1FNQVFRQWhCVUVBSVFNRFFDQURJQUlnQW14SkJFQWdBQ2dDRkNBSVFRSjBhaWdDQUNBRFFRSjBhaUlHS0FJQUlBZHJJUUlnQmlBQ05nSUFJQVVnQWlBQ2JHb2hCU0FEUVFGcUlRTWdBQ2dDSENFQ0RBRUxDeUFBS0FJWUlBaEJBM1JxUkVpdnZKcnkxM28rSUFXM255SVNJQkpFQUFBQUFBQUFBQUJoR3prREFDQUtRUUZxSVFvTUFRc0xRUUJCQTBIMnFRRWdEUkE5SUFzUU9FRi9JUVFNQWdzZ0N4QTRJQUFvQWdnZ0JFRUNkR3BCQVRZQ0FDQUFJQUFvQWdCQkFXbzJBZ0FMQ3dWQkFFRURRWlNwQVNBTUVEMUJmeUVFQ3lBTUpBWWdCQXNzQVFKL0l3WWhBU01HUVJCcUpBWWdBU0FBUVFGeFFRWnFFUkFBTmdJQUlBRW9BZ0FoQWlBQkpBWWdBZ3N0QWdGL0Fud2pCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFRURjUkVTQURrREFDQUNLd01BSVFRZ0FpUUdJQVFMakFFQUlBQkJBRFlDd0FFZ0FFRUFOZ0xFQVNBQVFnQTNBc3dCSUFCQ0FEY0MxQUVnQUVJQU53TGNBU0FBUVg0MkF2QUJJQUJCQURZQzlBRWdBRUlBTndLZ0FpQUFRZ0EzQXFnQ0lBQkJnSUNBL0FNMkFyQUNJQUJFTFVNYzYrSTJHajg1QTdnQ0lBQkVBQUFBQUFCQWowQTVBOEFDSUFCQ0FEY0N5QUlnQUVJQU53TFFBaUFBUVFJMkF0Z0RDMEVCQTM4Z0FDZ0NDQ0VCQTBBZ0FRUkFJQUVvQWdBaEF5QUJFRGdnQXlFQkRBRUxDeUFBS0FJQUlRSWdBRUVBTmdJQUlBSUVRQ0FBS0FJRUdpQUNFRGdMQzZ3S0FRMS9Jd1loQ3lNR1FhQUJhaVFHSUF0Qm1BRnFJUVVnQzBHUUFXb2hEeUFMUVlBQmFpSUlRUUEyQWdBZ0NFRzJBVFlDQkNBSVFjTUJOZ0lJSUFoQkRUWUNERUYvSVFZRFFDQUhRUVJIQkVBZ0FDQUhRUUowSUFocUtBSUFhaXdBQUNFS0lBZEJBV29oQnlBS0lBa2dDa0gvQVhFZ0NVSC9BWEZLR3lFSklBb2dCaUFLUWY4QmNTQUdRZjhCY1VnYklRWU1BUXNMSUFsQi93RnhJZ2NnQmtIL0FYRWlDV3RCSGtnRWZ5QUNRUUEyQWdBZ0EwUUFBQUFBQUFEd3Z6a0RBRUYrQlFKL0lBY2dDV3BCQVhZaENrRUFJUWNEUUNBSFFRUkhCRUFnQlNBSGFpQUtJQUFnQjBFQ2RDQUlhaWdDQUdvdEFBQkxPZ0FBSUFkQkFXb2hCd3dCQ3d0QkFDRUpBMEFDUUNBSlFRUlBEUUFnQ1VFQmFpRUlJQVVnQ1dvc0FBQkJBVVlFUUNBSVFRTnhJQVZxTEFBQVFRRkdCRUFnQ1VFQ2FrRURjU0FGYWl3QUFFVU5BZ3NMSUFnaENRd0JDd3NnQXdKOEFrQUNRQUpBQWtBQ1FBSkFBa0FnQ1VILy8vLy9CM0VPQlFFQ0F3UUFCUXNnQWtFQU5nSUFJQU5FQUFBQUFBQUE4TDg1QXdCQmZRd0hDMEgzQUNFSVFRQWhCVUgvQVNFSEEwQWdCVUVPUmdSQURBWUZJQVZCZldvaERDQUZRZjcvLy84SGNVRU1SaUVOSUFWQkRtd2hEa0VBSVFZRFFDQUdRUTVIQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCL3YvLy93ZHhJUU1nQlNBR2NrSCsvLy8vQjNFRVFDQU5JQU5GSUFOQkRFWnljVVVFUUNBSUlBdHFJQUFnQmlBT2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEFBQUxBQXRCOXdBaENFSC9BU0VIUVFBaEJnTkFJQVpCRGtZRVFBd0ZCU0FHUVgxcUlRd2dCa0grLy8vL0IzRWlCVVVoRFNBRlFReEdJUTVCRFNFRkEwQWdCVUYvU2dSQUlBVkJmV29nREhKQkNFOEVRQ0FOSUFWQmZuRkJERVlpQTNGRkJFQWdEaUFESUFWQkFrbHljVVVFUUNBSUlBdHFJQUFnQmlBRlFRNXNhbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBVkJmMm9oQlF3QkN3c2dCa0VCYWlFR0RBRUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRd2dCVUYrY1VFTVJpQUZRUUpKY2lFTklBVkJEbXdoRGtFTklRWURRQ0FHUVg5S0JFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQmZuRkJERVlnRFhFZ0JTQUdja0VDU1hKRkJFQWdDQ0FMYWlBQUlBWWdEbXBxTFFBQUlBcHJJZ05CSDNZNkFBQWdDRUYvYWlFSUlBTkJBQ0FEYXlBRFFYOUtHeUlESUFjZ0F5QUhTQnNoQndzTElBWkJmMm9oQmd3QkN3c2dCVUYvYWlFRkRBRUZEQVFMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUTBnQlVGK2NTSU1RUXhHSVE0Z0RFVWhFRUVBSVFZRFFDQUdRUTVIQkVBZ0JrRjlhaUFOY2tFSVR3UkFJQTRnQmtIKy8vLy9CM0VpQTBWeFJRUkFJQU1nREhKRklCQWdBMEVNUm5GeVJRUkFJQWdnQzJvZ0FDQUZJQVpCRG14cWFpMEFBQ0FLYXlJRFFSOTJPZ0FBSUFoQmYyb2hDQ0FEUVFBZ0Eyc2dBMEYvU2hzaUF5QUhJQU1nQjBnYklRY0xDd3NnQmtFQmFpRUdEQUVMQ3lBRlFYOXFJUVVNQVFVTUF3c0FBQXNBQ3lBQ0lBazJBZ0JFQUFBQUFBQUE4RDhNQVFzZ0J5RUFJQUlnQ1RZQ0FFUUFBQUFBQUFEd1B5QUF0MFFBQUFBQUFBQStRS01nQUVFZVNoc0xPUU1BUVk0V1FnQWdDeUFQRUxVRElnQkJBRWdFZjBGOEJTQUVCRUFnQkNBQU5nSUFDeUFCSUE4cEF3QTNBd0JCQUFzTEN5RVJJQXNrQmlBUkM1Z0JBUUovSUFCQkFVWUVmMEVDQlNBQUlBQkJmMnB4Qkg4Z0FCRFJBUVVnQUFzTElnQkJvTVFES0FJQUlnSkxCRUFnQUJDeUF3VWdBQ0FDU1FSQVFhakVBeWdDQUxOQnJNUURLZ0lBbFkwUWtnRWhBU0FDUVg5cUlBSnhSU0FDUVFKTGNRUi9JQUZCQVVFZ0lBRkJmMnBuYTNRZ0FVRUNTUnNGSUFFUTBRRUxJZ0VnQUNBQUlBRkpHeUlBSUFKSkJFQWdBQkN5QXdzTEN3dFBBUUYvSUFCQjhBTVFVU0lETmdJQUlBQkJwTVFETmdJRUlBTWdBaWdDQUNnQ0FEWUNDQ0FEUVJCcUlnSkJBRUhnQXhCRkdpQUNFT1FHSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUMxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0ZEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFh3RUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVpQUVFQVJ5QUJRUUpKY1FSL0lBQWdBVFlDRkVFQUJVRi9DMFVFUUNBQ0lBRTJBZ0JCQUVFQlFaeTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlNTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RmQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTSUFRUUJISUFGQkFrbHhCSDhnQUNBQk5nSU1RUUFGUVg4TFJRUkFJQUlnQVRZQ0FFRUFRUUZCdWJZQ0lBSVFQUXNMSUFJa0JndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVE3Z2dnQWlnQ0FBVkJmd3NoQXlBQkpBWWdBd3RCQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpZ0MyQUVpQUFSL0lBQkJtSWV2QTJvZ0FUWUNBRUVBQlVGL0N4b0xJQUlrQmd0N0FnSi9BbndqQmlFQkl3WkJFR29rQmlBQlFRaHFJZ0lnQURZQ0FDQUNFRk1FZkNBQ0VGSW9BdGdCSWdBRWZDQUFCSDhnQVNBQVFaQ0hyd05xS3dNQU9RTUFRUUFGUVg4TFJTRUFJQUVyQXdCRUFBQUFBQUFBOEw4Z0FCc0ZSQUFBQUFBQUFQQy9Dd1ZFQUFBQUFBQUE4TDhMSVFRZ0FTUUdJQVFMS2dFQ2Z3Si9Jd1loQVNNR1FSQnFKQVpCNzZnQ1FRTkI5SVlCUWRLMkFrRUJRUUVRQ1NBQkN5UUdDM0VDQW44QmZDTUdJUUlqQmtFUWFpUUdJQUpCQ0dvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlFQUlBRkRBQUFBQUY4Z0FVTUFBSUEvWUhKRkJFQWdBYnNoQkNBQUtBTFlBU0lBQkVBZ0FDQUVFT29JUlFSQUlBSWdCRGtEQUVFQVFRRkIxN1lDSUFJUVBRc0xDd3NnQWlRR0MxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0dEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVnQVJDS0FrVUVRQ0FDSUFFMkFnQkJBRUVCUWZhMkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSVFOZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dHJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNJUUFnQVVIL0FVMEVRQ0FBS0FMWUFTSUFSU0FCUWY4QlMzSUVmMEYvQlNBQUlBRTJBaEJCQUF0RkJFQWdBaUFCTmdJQVFRQkJBVUdadHdJZ0FoQTlDd3NMSUFJa0JndEpBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVEvUWhGSVFBZ0FpZ0NBRUYvSUFBYkJVRi9DeUVESUFFa0JpQURDMG9CQW44akJpRUNJd1pCRUdva0JpQUNRUVJxSWdNZ0FEWUNBQ0FERUZNRVFDQURFRklvQXRnQklBRVErd05GQkVBZ0FpQUJOZ0lBUVFCQkFVR3p0d0lnQWhBOUN3c2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQThBQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RUEFBZ3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE3Z0NCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUU80QWdzZ0FpUUdDeXNCQW44Q2Z5TUdJUUVqQmtFUWFpUUdRWjJuQWtFQlFhQ0hBVUhXdHdKQjBnQkJBUkFKSUFFTEpBWUxDUUJCMElVQktBSUFDNXNFQWdKL0FYNGpCaUVUSXdaQmtPQUFhaVFHSUJOQmdPQUFhaUVVSUFKQmZtcEJBMGtFUUFKQUlCQkJqaFpIQkVBZ0FVRUNJQkJCL3dGeEloUWdGRUVEYkNBRElBUWdCU0FHSUFjZ0NDQUpJQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFJTElCTWdGQ0FOSUE0Z0R5QVFJQkVRcVFjaERTQVNSUTBCSUJKQ0FEY0RBQXdCQ3lBQlFRSkJEa0VxSUFNZ0JDQUZJQVlnQnlBSVJBQUFBQUFBQU93L0lCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUVMSUJNZ0ZDQU9JQThnRVJEbUJpSU9RUUJJQkVBZ0RVRi9OZ0lBSUE0aERRd0JDeUFVS1FNQUloVkNmMUVFUUNBTlFYODJBZ0JCZXlFTkRBRUxJQTBnRmFkQi8vOEJjVUVBSUJWQ2dJRCsvdytEVUJzMkFnQWdFZ1JBSUJJZ0ZUY0RBQXNnRGlFTkN3VkJBU0VOQ3dKL0FrQUNRQ0FDRGdVQUFBRUFBQUVMSUFCRkJFQWdDa0YvTmdJQVFYOE1BZ3NnQUNnQ0hDSU9RUUowSVE4Q1FBSkFJQUlPQkFBQkFRQUJDeUFCUVFBZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBTUZJQUJCQUNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQXdzQUN5QUJRUUVnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFJRklBQkJBU0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1BZ3NBQzBFQkN5RUFJQTFCQVVjRVFDQU5JQUJCQUNBQUlBMXhRUUJJR3lBQVFRRkdHeUVBQ3lBVEpBWWdBQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dScHdKQkFrR2tod0ZCMmJjQ1FTNUI4Z0FRQ1NBQkN5UUdDd3NBUWRDRkFTQUFOZ0lBQ3prQkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVVIa2hxY0NhaWdDQUFWQkFBc2hBaUFCSkFZZ0FndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVFnQWtnQWlnQ0FBVkJBQXNoQXlBQkpBWWdBd3RiQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTQUJRUUJISWdBUS9RTWdBa0hkdHdKQjRiY0NJQUFiTmdJQVFRQkJBVUhtdHdJZ0FoQTlCVUVBSVFFTElBSWtCaUFCQytFRkFncC9BWDBqQmlFQ0l3WkIwQUJxSkFZZ0FrRTRhaUVJSUFKQk1Hb2hDU0FDUWN3QWFpRUVJQUpCeEFCcUlRVWdBa0ZBYXlFSElBSkJ5QUJxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlJREtBTDBBU0FCVEFSQVFmQ0dBU2dDQUF3QkN5QUVRUUEyQWdBZ0JVRi9OZ0lBSUFkREFBQ0F2emdDQUFKQUFrQWdBeWdDOEFFaUFFRitSZ1JBSUFNb0F1Z0JJQU1vQXN3QkVKY0pJQU1vQXVnQklnQUVmeUFFSUFBb0FqUTJBZ0FnQlNBQUtBSTROZ0lBUVFBRlFYOExHaUFGS0FJQUlRWWdCQ2dDQUNFRlFYOGhBRUVBSVFRRFFDQUVJQVpJQkVBZ0FTQUVRY1FBYkNBRmFpZ0NNRVlFUUNBRVFjUUFiQ0FGYWlnQ1BFVUVRQUpBSUFjZ0FFRi9SZ1IvSUFSQnhBQnNJQVZxS0FJMEJTQUhLZ0lBSUFSQnhBQnNJQVZxS2dJMElneGVSUTBCSUF5OEN6WUNBQ0FFSVFBTEN3c2dCRUVCYWlFRURBRUxDeUFBUVg5TUJFQWdBMEYrTmdMd0FRd0NDeUFESUFVb0FqQWlDallDOEFGQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBRVFRUjBJQUpxSUFaQkFuUnFJQUJCeEFCc0lBVnFJQVJCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQkVFQmFpRUVEQUVMQ3lBRFFmZ0JhaUFLUVFKMGFpZ0NBQ0FDRUswSklBTW9BdkFCSVFBTElBQkJmMHdOQUNBREtBTHNBU0FEUWZnQmFpQUFRUUowYWlnQ0FDQURLQUxFQVNBQ0lBY1F6Z1lpQUVFQVNBUkFJQWtnQURZQ0FFRUFRUUZCL0xjQ0lBa1FQU0FEUVg0MkF2QUJEQUVMSUFNb0F2UUJRWDlxSVFBZ0NDQURRZmdCYWlBREtBTHdBVUVDZEdvb0FnQTJBZ0FnQ0NBQU5nSUVRUUJCQVVHUHVBSWdDQkE5SUFNb0F2QUJRWDlNRFFCQkF5QUJJQWNxQWdDN0lBSXFBZ0M3SUFJcUFnUzdJQUlxQWdpN0lBSXFBZ3k3SUFJcUFoQzdJQUlxQWhTN0lBSXFBaGk3SUFJcUFoeTdJQUlxQWlDN0lBSXFBaVM3SUFJcUFpaTdJQUlxQWl5N0VDc2FEQUVMUVFRZ0FSQXNHZ3RCQUFzRlFlaUdBU2dDQUFzaEN5QUNKQVlnQ3d1YUFnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklvQXRnQklnQW9BaXdnQVVvRWYwRUNRZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdBb0FnQWdBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FDZ0NFQ0FBS0FJVUlBQW9BaGdnQUNzRElDQUFLd01vSUFBckF6QWdBQ3NET0NBQVFVQnJLd01BSUFBckEwZ2dBQ3NEVUNBQUt3TllJQUFyQTJBZ0FDc0RhQ0FBS3dOd0lBQXJBM2dnQUNzRGdBRWdBQ3NEaUFFZ0FDc0RrQUVnQUNzRG1BRWdBQ3NEb0FFZ0FDc0RxQUVnQUNzRHNBRWdBQ3NEdUFFZ0FDc0R3QUVnQUNzRHlBRWdBQ3NEMEFFZ0FDc0QyQUVnQUNzRDRBRWdBQ2dDOEFFUUtCcEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVESUFJa0JpQURDODBCQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvQW44Z0F4QlNJZ1FvQXNnQ0lRQWdBVUVBU0NBRUtBTE1BaUFBYTBFRGRTQUJUWElFUUVIc2hnRW9BZ0FNQVFzZ0FrRUFTQ0FCUVFOMElBQnFLQUlFSWdBb0FnUWdBa3h5Qkg5QjhJWUJLQUlBQlNBQUtBSUFJZ0FnQWtIQUFteHFRUkJxRUxRQ1FRRWdBa0hBQW13Z0FHb29BckFDSUFKQndBSnNJQUJxS0FJQUlBSkJ3QUpzSUFCcUtBSUVJQUpCd0FKc0lBQnFLd01JRUNvYVFRQUxDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDeWdCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCRUFnQVJCU0dnc2dBU1FHUVg4TE9BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQlFTeHFCVUhvaGdFTEtBSUFJUUlnQVNRR0lBSUxvQVVCQ1g5QkNFRUlFSXNCSVFkQkNFRUJFSXNCSVFoQkNFRUJFSXNCSVFrRFFDQUZRUVJIQkVBZ0J5Z0NBQ0lFSUFWQkJIUWlBMEVEZEdvZ0JVRUVkQ0FBYWlJR0t3TUFPUU1BSUFOQkFYSkJBM1FnQkdvZ0JVRUVkQ0FBYWlJS0t3TUlPUU1BSUFOQkFuSkJBM1FnQkdwRUFBQUFBQUFBOEQ4NUF3QWdBMEVEY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRUnlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQlhKQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUdja0VEZENBRWFpQUdLd01BSUFWQkJIUWdBV29pQ3lzREFLS2FPUU1BSUFOQkIzSkJBM1FnQkdvZ0Npc0RDQ0FMS3dNQW9wbzVBd0FnQTBFSWNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUWx5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkNuSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVMY2tFRGRDQUVhaUFHS3dNQU9RTUFJQU5CREhKQkEzUWdCR29nQ2lzRENEa0RBQ0FEUVExeVFRTjBJQVJxUkFBQUFBQUFBUEEvT1FNQUlBTkJEbkpCQTNRZ0JHb2dCaXNEQUNBRlFRUjBJQUZxSWdZckF3aWltamtEQUNBRFFROXlRUU4wSUFScUlBb3JBd2dnQmlzRENLS2FPUU1BSUFnb0FnQWlCQ0FGUVFGMElnTkJBM1JxSUFzckF3QTVBd0FnQTBFQmNrRURkQ0FFYWlBR0t3TUlPUU1BSUFWQkFXb2hCUXdCQ3dzZ0J4RFdBUm9nQ1NBSElBZ1FyUUlhSUFrb0FnQWhBVUVBSVFBRFFDQUFRUUpIQkVBZ0FFRVliQ0FDYWlBQVFRTnNJZ05CQTNRZ0FXb3JBd0E1QXdBZ0FFRVliQ0FDYWlBRFFRRnFRUU4wSUFGcUt3TUFPUU1JSUFCQkdHd2dBbW9nQTBFQ2FrRURkQ0FCYWlzREFEa0RFQ0FBUVFGcUlRQU1BUXNMSUFJZ0FTc0RNRGtETUNBQ0lBRXJBemc1QXpnZ0FrRkFhMFFBQUFBQUFBRHdQemtEQUNBSEVFa2dDQkJKSUFrUVNRdlNFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJSElRd2dBU0FDUVg5cUloQnNRUUYwSUFkcUlRWURRQ0FGSUFGSUJFQWdCa0VBT3dFQUlBeEJBRHNCQUNBTVFRSnFJUXdnQlVFQmFpRUZJQVpCQW1vaEJnd0JDd3RCQUNFTUlBY2lCaUFCUVg5cUloRkJBWFJxSVFVRFFDQU1JQUpJQkVBZ0JVRUFPd0VBSUFaQkFEc0JBQ0FCUVFGMElBWnFJUVlnREVFQmFpRU1JQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFR1FRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVF4QkFTRUtRUUFoQlNBQVFRRjBJQWRxSVFNQ2Z3SkFBMEFDUUNBS0lCQk9EUUlnQlNFQVFRRWhDQ0FESVFzRFFDQUlJQkZJQkVBZ0RTMEFBQ0FNTFFBQVNnUkFJQXRCQURzQkFBVUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnREVFQmFpRU1JQWhCQVdvaENDQUxRUUpxSVFzTUFRc0xJQTFCQW1vaERTQU1RUUpxSVF3Z0NrRUJhaUVLSUFBaEJTQUxRUVJxSVFNTUFRc0xRUUJCQTBHb3BRRWdEaEE5UVg4TUFRc2dCRUVNYWlFTlFRRWhBRUVCSVFjRFFDQUhJQVZNQkVBZ0J5QUdLQUlBSWd4R0JFQWdBRUVCYWlFREJTQUFJUU1nREVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBR0lBQTJBZ0FnQXlFQUlBZEJBV29oQnlBR1FRUnFJUVlNQVFzTElBUWdBRUYvYWlJR05nSUlJQVlFZnlBTlFRQWdCa0VDZEJCRkdpQUVRWkNBS0dwQkFDQUdRUVIwRUVVYVFRQWhBd05BSUFNZ0JrZ0VRQ0FFUVl5QUNHb2dBMEVDZENJQVFRSjBhaUFCTmdJQUlBUkJqSUFJYWlBQVFRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUFRUUp5UVFKMGFpQUNOZ0lBSUFSQmpJQUlhaUFBUVFOeVFRSjBha0VBTmdJQUlBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQURRUUowYWlnQ0FFRi9haUlDUVFKMGFpSUFJQVJCa0lEUUFHb2dBMEVIYkNJR1FRSjBhaWdDQUNBQUtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0djZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2dnTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHa2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0EwRUJhaUVEREFFTEN5QUVLQUlJSVFKQkFDRURBMzhnQXlBQ1NBUi9JQVJCa0lBb2FpQURRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUVRUXhxSUFOQkFuUnFLQUlBdHlJVW96a0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlCU2pPUU1BSUFOQkFXb2hBd3dCQlVFQUN3c0ZRUUFMQ3lFVElBNGtCaUFUQzRNQkFRTi9Jd1loQVNNR1FUQnFKQVlnQVVFb2FpSUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lRQWdBVUlBTndNQUlBRkNBRGNEQ0NBQlFnQTNBeEFnQVVJQU53TVlJQUZDQURjRElDQUJJQUFvQXNRQk5nSUFJQUZCQVRZQ0VDQUJJQUFvQXN3Qk5nSU1JQUFvQXRnQklBRVExd2dGUWVpR0FTZ0NBQXNoQXlBQkpBWWdBd3VMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVCRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUFFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF0dEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0lBTVFVaUlFS0FMWUFTSUFLQUlzSUFGS0JIOGdCQ2dDNUFGQjZMd0RJQUJCTUdvZ0FVRUlkR29nQVVFQVNCc2dBcmNRbVFoQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkMzSUJBMzhqQmlFREl3WkJFR29rQmlBRElBQTJBZ0FnQXhCVEJIOGdBeEJTSWdRb0F0Z0JJZ0FvQWl3Z0FVb0VmeUFFS0FMa0FVSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDdDBHQXBBTVEyZ01hUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJTQURKQVlnQlF1UUFnSUNmd2g4SXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlnQzJBRWlBQ2dDTENBQlNnUi9RZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdCQmdLUURLd01BSWdRNUE2Z0JJQUJCaUtRREt3TUFJZ1U1QTdBQklBQkJrS1FES3dNQUlnWTVBN2dCSUFCQm1LUURLd01BSWdjNUE4QUJJQUJCb0tRREt3TUFJZ2c1QThnQklBQkJxS1FES3dNQUlnazVBOUFCSUFCQnNLUURLd01BSWdvNUE5Z0JJQUJCdUtRREt3TUFJZ3M1QStBQklBQWdCQ0FHb0NBSW9DQUtvRVFBQUFBQUFBRFFQNkk1QXpnZ0FFRkFheUFGSUFlZ0lBbWdJQXVnUkFBQUFBQUFBTkEvb2prREFFRUFCVUh3aGdFb0FnQUxCVUhvaGdFb0FnQUxJUU1nQWlRR0lBTUxaQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBRFlDQUNBREVGTUVmeUFERUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ05nSVFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQkNBREpBWWdCQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dEcFFKQkFrR3Nod0ZCbU04Q1FSOUJ4Z0FRQ1NBQkN5UUdDNW9CQVFSL0l3WWhBU01HUWRBQmFpUUdJQUZCd0FGcUlRTWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJQUVnQVVHNEFXb2lBaERJQzBFQVNBUi9JQUFzQUF0QkFFZ0VRQ0FBS0FJQUlRQUxJQU1nQURZQ0FFRUFRUU5CZ2RBQ0lBTVFQVUYvQlVIRXhBTkJ4TVFES0FJQUlnQkJBV28yQWdBZ0FpQUFOZ0lBSUFJUXJBTWdBVUc0QVJCTUdpQUNLQUlBQ3lFRUlBRWtCaUFFQ3p3QkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0FvQXN3Q0lBQW9Bc2dDYTBFRGRRVkJmd3NoQWlBQkpBWWdBZ3RpQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUFJQUZCQUVnRWYwRi9CU0FBS0FMTUFpQUFLQUxJQWlJQWEwRURkU0FCU3dSL0lBRkJBM1FnQUdvb0FnUW9BZ1FGUVg4TEN3VkJmd3NoQXlBQ0pBWWdBd3QzQVFKL0l3WWhBeU1HUVJCcUpBWWdBMEVFYWlJQ0lBQTJBZ0FnQWhCVEJFQWdBaEJTSWdJb0F2UUJJUUFnQVN3QUMwRUFTQVJBSUFFb0FnQWhBUXNnQWlBQUlBRVEzQVlFUUNBQ0lBSW9BdlFCUVFGcU5nTDBBUVZCQUVFRFFjSFFBaUFERUQxQmZ5RUFDd1ZCZnlFQUN5QURKQVlnQUF2VUFRRUVmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hCQ0FDUVF4cUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpRUFJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQUNnQzJBRWdBRUhjQVdvZ0FFSGdBV29pQXhEYkJrVUVRRUVBUVFOQi9OSUNJQVFRUFVGL0RBRUxJQUlnQUNnQ3pBSWlBU0FBUWNnQ2FpSUVLQUlBYTBFRGRUWUNBQ0FDSUFNb0FnQTJBZ1FnQVNBQUtBTFFBa1lFUUNBRUlBSVFsZ0VGSUFFZ0Fpa0RBRGNDQUNBQUlBQW9Bc3dDUVFocU5nTE1BZ3NnQWlnQ0FBc0ZRWDhMSVFVZ0FpUUdJQVVMYndFRGZ5TUdJUU1qQmtFUWFpUUdJQU5CQkdvaUFpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQ0lBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBa0hVQW1vaUFDQUNRZHdCYWhEWkJnUi9JQUFvQWdBRlFRQkJBMEhJMHdJZ0F4QTlRWDhMQlVGL0N5RUVJQU1rQmlBRUM1Y0NBUVIvSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0VvQXNBQklBRW9BdGdERU5FR0lRQWdBU0FBTmdMc0FTQUFCRUFnQVVIb0FXb2hBd1ZCQUVFRFFhTFVBaUFDRUQwZ0FVSG9BV29pQXhDa0NTQUJLQUxzQVNFQUN5QUFCSDhnQUVNQUFLQkFPQUlzUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVNQUFBQS9PQUlvUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFUU5nSWtRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJWVFRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0ljUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWdRUUFGUVg4TEdpQURJQUVvQXNBQkVJQUVOZ0lBUVFBRlFYOExJUVFnQWlRR0lBUUx0Z0VCQlg4akJpRUNJd1pCRUdva0JpQUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lnQW9Bc1FCSWdFRVFDQUJFRGdnQUVFQU5nTEVBU0FBUVFBMkFzZ0JDeUFBRUtrRElBQW9BdHdCRUxnQ0lBSVExd1lnQUVISUFtb2hBMEVBSVFFRFFDQUJJQUFvQXN3Q0lBTW9BZ0FpQkd0QkEzVkpCRUFnQVVFRGRDQUVhaWdDQkNJRUtBSUFFRGdnQkJBNElBRkJBV29oQVF3QkN3c2dBeEJWSUFNUU9DQUFFTE1ESUFBUU9FRUFCVUYvQ3lFRklBSWtCaUFGQys0QkFRUi9Jd1loQkNNR1FSQnFKQVpCeU1RRFFjakVBeWdDQUNJRFFRRnFOZ0lBSUFSQkRHb2lCU0FETmdJQUlBVVFVaUlESUFVb0FnQTJBZ0FnQXlBQU5nTFFBU0FESUFFMkF0UUJJQU1nQVNBQVFRSjBiQ0lBTmdMSUFTQURJQUFRUkRZQ3hBRWdBeUFES0FMSUFVRUVFRGtRUkRZQ3pBRWdBeEMzQnlJQU5nTGNBU0FBUlFSQVFRQkJBMEhCMUFJZ0JCQTlDeUFGS0FJQUlBSVEwd1lnQkVFSWFpSUFJQU1vQXNnQk5nSUFRUUJCQVVIbTFBSWdBQkE5UVFBZ0F5Z0NBQ0FES0FMRUFTQURLQUxJQVNBRFFkZ0Nha0dBcEFNZ0F5Z0N6QUVRS1JvZ0F5Z0NBQ0VHSUFRa0JpQUdDNGNKQVFGL0l3WWhBQ01HUVJCcUpBWkJuS1FDUVJvUTNBRkJvcVFDUWNNQUVJUUJRYXVrQWtIRUFCQ0VBVUcwcEFKQkZCQzJBa0cvcEFKQkZSQzJBa0hQcEFKQkZoQzJBa0hkcEFKQkZ4QzJBVUh2cEFKQnhRQVFoQUVRa2dkQmo2VUNRUnNRM0FGQm9LVUNRUmdRdGdGQnRLVUNRUndRM0FGQnhxVUNRUjBRM0FGQjNLVUNRUmtRdGdGQjg2VUNRUm9RdGdGQmtLWUNRY2NBRUlRQlFaMm1Ba0hJQUJDRUFVR3FwZ0pCeVFBUWhBRkJ1cVlDUVI0UTNBRkJ6YVlDUVJzUXRnRkIxNllDUVJ3UXRnRkI1S1lDUVIwUXRnRkI4YVlDUWNvQUVJUUJRZjZtQWtITEFCQ0VBUkQvQmhEOEJrR3Bwd0pCQVJDMEEwSEFwd0pCQVJDMUFrSFhwd0pCQWhDMEEwSHRwd0pCQWhDMUFrR0RxQUpCS0JEQUFVR1VxQUpCekFBUWhBRkJwYWdDUVNrUXdBRkJzcWdDUWMwQUVJUUJRYitvQWtFcUVNQUJRZGVvQWtIT0FCQ0VBUkR3QmtIOHFBSkJBeEMxQWtHSnFRSkJLeERBQVVHYnFRSkJ6d0FRaEFGQnJha0NRU3dRd0FGQnZha0NRZEFBRUlRQlFjMnBBa0V0RU1BQlFkNnBBa0hSQUJDRUFVSHZxUUpCNklZQkVFdEJqS29DUWV5R0FSQkxRYWlxQWtId2hnRVFTeUFBUVFBMkFnQkJ5YW9DSUFBUVN5QUFRUUUyQWdCQjJxb0NJQUFRU3lBQVFRQTJBZ0JCNnFvQ0lBQVFTeUFBUVFBMkFnQkJnS3NDSUFBUVN5QUFRUUUyQWdCQm1hc0NJQUFRU3lBQVFRRTJBZ0JCc3FzQ0lBQVFTeUFBUWVRQU5nSUFRY3VyQWlBQUVFc2dBRUVBTmdJQVFlYXJBaUFBRUVzZ0FFRUJOZ0lBUVlDc0FpQUFFRXNnQUVFQU5nSUFRWnFzQWlBQUVFc2dBRUVBTmdJQVFiV3NBaUFBRUVzZ0FFRUJOZ0lBUWRDc0FpQUFFRXNnQUVFQ05nSUFRZXFzQWlBQUVFc2dBRUVETmdJQVFZT3RBaUFBRUVzZ0FFRUVOZ0lBUWFtdEFpQUFFRXNnQUVFQU5nSUFRYzZ0QWlBQUVFc2dBRUVBTmdJQVFmQ3RBaUFBRUVzZ0FFRUJOZ0lBUVlpdUFpQUFFRXNnQUVFQ05nSUFRYUt1QWlBQUVFc2dBRUVDTmdJQVFiMnVBaUFBRUVzZ0FFRUZOZ0lBUWQrdUFpQUFFRXNnQUVRQUFBQUFBQURnUHprREFFSHhyZ0pCbVBrQUlBQXJBd0FRRnlBQVFRQTJBZ0JCaHE4Q0lBQVFTeUFBUVFFMkFnQkJtYThDSUFBUVN5QUFRUUkyQWdCQnE2OENJQUFRU3lBQVFRTTJBZ0JCdmE4Q0lBQVFTeUFBUVFRMkFnQkIwSzhDSUFBUVN5QUFRUU0yQWdCQjVxOENJQUFRU3lBQVFZTUVOZ0lBUWZtdkFpQUFFRXNnQUVHREFqWUNBRUdXc0FJZ0FCQkxJQUJCQkRZQ0FFR3lzQUlnQUJCTElBQkJoQVkyQWdCQnhiQUNJQUFRU3lBQVFZUUlOZ0lBUWVPd0FpQUFFRXNnQUVFQU5nSUFRWUd4QWlBQUVFc2dBRUVCTmdJQVFhQ3hBaUFBRUVzZ0FFRUNOZ0lBUWNTeEFpQUFFRXNnQUVFRE5nSUFRZWF4QWlBQUVFc2dBRUVBTmdJQVFZeXlBaUFBRUVzZ0FFRUJOZ0lBUWEyeUFpQUFFRXNnQUVFQ05nSUFRZHl5QWlBQUVFc2dBRUVETmdJQVFZYXpBaUFBRUVzZ0FFRUVOZ0lBUWJHekFpQUFFRXNnQUVFRk5nSUFRZVd6QWlBQUVFc2dBRUVHTmdJQVFaaTBBaUFBRUVzZ0FFRUhOZ0lBUWNXMEFpQUFFRXNnQUVFSU5nSUFRZXkwQWlBQUVFc2dBRUVKTmdJQVFabTFBaUFBRUVzZ0FDUUdDME1BUVp6RUEwSUFOd0lBUWFURUEwSUFOd0lBUWF6RUEwR0FnSUQ4QXpZQ0FFR3d4QU5DQURjQ0FFRzR4QU5DQURjQ0FFSEF4QU5CZ0lDQS9BTTJBZ0FRbkFjTHFBSUNCSDhDZkNNR0lRRWpCa0VRYWlRR0lBQXJBd0FpQlVRQUFBQUFBQUFBQUdaRkJFQWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQjBBQVFQa0gyb2dJUU4wSDVvZ0lRTnlJRUtBSUFRWFJxS0FJQUlBUnFFRHNnQVVHQXpnTVFPaUlDS0FJQUtBSWNJUU1nQWtFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQVJBOElBUWdBeEJBSUFRUVB4QUFDeUFBS3dNSUlnWkVBQUFBQUFBQUFBQm1CRUFnQVNRR0lBWWdCYUVQQlNBQlFjRElBMEdVb3dJUU4wSDlvUUlRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWJxakFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUJFRHdnQWlBQUVFQWdBaEEvRUFBTFJBQUFBQUFBQUFBQUM3WUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDc0RBRVFBQUFBQUFBQUFBR1lFUUNBQlFRQVFGQm9nQUNBQktBSUV0MFNON2JXZzk4YXdQcUlnQVNnQ0FMZWdPUU1JSUFFa0JnVWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQnd3QVFQa0gyb2dJUU4wSDVvZ0lRTnlJQ0tBSUFRWFJxS0FJQUlBSnFFRHNnQVVHQXpnTVFPaUlES0FJQUtBSWNJUUFnQTBFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQVJBOElBSWdBQkJBSUFJUVB4QUFDd3MyQVFGL0l3WWhBU01HUVJCcUpBWWdBVUVBRUJRYUlBQWdBU2dDQkxkRWplMjFvUGZHc0Q2aUlBRW9BZ0Mzb0RrREFDQUJKQVlMUndFQmZ5TUdJUU1qQmtHQUVHb2tCaUFEUVlBUUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3lBQ0VLa0JHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBeUFERUdBUWZpQURKQVlMVFFFRGZ3TkFJQUlnQUNnQ0JDQUFLQUlBSWdOclFRTjFTUVJBSUFKQkEzUWdBMm9vQWdBaUF5Z0NBQ2dDQ0NFRUlBTkJDQ0FCSUFSQkEzRkI5Z1ZxRVFZQUlBSkJBV29oQWd3QkN3c0xGQUFnQUVFTWFrRUFJQUVvQWdSQjk2QUNSaHNMQ0FBZ0FDZ0NEQm9MVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRZFNHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3hRQUlBQkJER3BCQUNBQktBSUVRZjJmQWtZYkN3a0FJQUFvQWd3UU9BdFJBUUovSXdZaEF5TUdRUkJxSkFZZ0FDQUJOZ0lBUVJBUVVTSUNRUUEyQWdRZ0FrRUFOZ0lJSUFKQnVJWUJOZ0lBSUFJZ0FUWUNEQ0FBSUFJMkFnUWdBeUFCTmdJQUlBTWdBVFlDQkNBREpBWUxsUklDQzM4QmZpTUdJUXdqQmtFZ2FpUUdJQXhCR0dvaENDQU1RUkJxSVE0Z0FVRjlha0VGU3dSL0lBSkJmellDQUNBRFFRQTJBZ0FnQkVRQUFBQUFBQUR3dnprREFFRi9CUUovSUF4QkFEWUNBQ0FNSUFFZ0FVRi9haUlMYkRZQ0JDQU1JQUVnQVd3aUQwRi9hallDQ0NBTUlBczJBZ3hCZnlFSkEwQWdCMEVFUndSQUlBQWdCMEVDZENBTWFpZ0NBR29zQUFBaERTQUhRUUZxSVFjZ0RTQUtJQTFCL3dGeElBcEIvd0Z4U2hzaENpQU5JQWtnRFVIL0FYRWdDVUgvQVhGSUd5RUpEQUVMQ3lBS1FmOEJjU0lISUFsQi93RnhJZ3ByUVI1SUJFQWdBa0YvTmdJQUlBTkJBRFlDQUNBRVJBQUFBQUFBQVBDL09RTUFRWDRNQVFzZ0J5QUtha0VCZGlFSlFRQWhCd05BSUFkQkJFY0VRQ0FISUFocUlBa2dBQ0FIUVFKMElBeHFLQUlBYWkwQUFFczZBQUFnQjBFQmFpRUhEQUVMQzBFQUlRY0NRQUpBQTBBQ1FDQUhRUVJQRFFJZ0IwRUJhaUVLSUFjZ0NHb3NBQUJCQVVZRVFDQUtRUU54SUFocUxBQUFRUUZHQkVBZ0IwRUNha0VEY1NBSWFpd0FBRVVOQWdzTElBb2hCd3dCQ3dzZ0F5QUhOZ0lBREFFTElBZEJCRVlFUUNBQ1FYODJBZ0FnQTBFQU5nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZRd0NDd3RCL3dFaENrRUFJUWNEUUNBSElBOUhCRUJCQUNBQUlBZHFJZzB0QUFBaUVDQUpheUlJYXlBSUlBaEJBRWdiSVFnZ0RTQUpJQkJMT2dBQUlBZ2dDaUFJSUFwSUd5RUtJQWRCQVdvaEJ3d0JDd3NDUUFKQUFrQUNRQUpBSUFNb0FnQWlBdzRFQUFFQ0F3UUxBMEFnQXlBQlNBUkFJQU1nQzBZaENDQUJJQU5zSVFsQkFDRUhBMEFnQVNBSFJ3UkFJQU1nQjNJRVFDQUlJQWRGSUFjZ0MwWnljVVVFUUNBQUlBY2dDV3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQjBFQmFpRUhEQUVMQ3lBRFFRRnFJUU1NQVFVTUJRc0FBQXNBQzBFQUlRY0RRQ0FISUFGSUJFQWdCMFVoQ0NBSElBdEdJUWtnQ3lFREEwQWdBMEYvU2dSQUlBZ2dBeUFMUmlJTmNVVUVRQ0FKSUEwZ0EwVnljVVVFUUNBQUlBY2dBU0FEYkdwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0EwRi9haUVEREFFTEN5QUhRUUZxSVFjTUFRVU1CQXNBQUFzQUN5QUxJUU1EUUNBRFFYOUtCRUFnQTBVZ0F5QUxSbkloQ0NBQklBTnNJUWtnQ3lFSEEwQWdCMEYvU2dSQUlBTWdCM0pGSUFjZ0MwWWdDSEZ5UlFSQUlBQWdCeUFKYW1vc0FBQkJBRWV0SUJKQ0FZYUVJUklMSUFkQmYyb2hCd3dCQ3dzZ0EwRi9haUVEREFFRkRBTUxBQUFMQUFzZ0N5RURBMEFnQTBGL1NnUkFJQU1nQzBZaENDQURSU0VKUVFBaEJ3TkFJQWNnQVVnRVFDQUpJQWNnQzBaeElBTWdCM0pGSUFnZ0IwVnhjbkpGQkVBZ0FDQURJQUVnQjJ4cWFpd0FBRUVBUjYwZ0VrSUJob1FoRWdzZ0IwRUJhaUVIREFFTEN5QURRWDlxSVFNTUFRc0xDeUFFUkFBQUFBQUFBUEEvSUFxM1JBQUFBQUFBQUQ1QW95QUtRUjVLR3prREFBSkFBa0FDUUFKQUFrQWdCVUdEQW1zT2d3Z0FBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQVFNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQWdJREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd3NnRGlBU3AwSGdDV29zQUFBaUFLdzNBd0FnQUVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJRc01Bd3NnRGlBU3B5SUFRZUFJYWl3QUFDSUJyRGNEQUNBR0JFQWdCaUFBUWFBSmFpMEFBRFlDQUFzZ0FVRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CQXNNQWdzZ0JTQVNRUUFnRGhDMUF5SUFRUUJJQkVBZ0FrRi9OZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmQXdEQ3lBQVFRQkhJQVpCQUVkeEJFQWdCaUFBTmdJQUN3d0JDeUFPSUJJM0F3QUxJQUlnRGlrREFENENBRUVBQ3dzaEVTQU1KQVlnRVFzbEFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBQ0FCRUtzSEM2OEJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDQUJLQUlBTmdJQUlBQWdBU2dDQkRZQ0JDQUFJQUVvQWdnMkFnZ2dBQ0FCS0FJTU5nSU1JQUFnQVNnQ0VEWUNFQ0FBSUFFb0FoUTJBaFFnQWlBQktBSVlJZ1EyQWdBZ0FrRUVhaUlESUFFb0Fod2lBVFlDQUNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnQUZRUUFMSVFFZ0FpQUFLQUlZTmdJQUlBQWdCRFlDR0NBRElBQW9BaHcyQWdBZ0FDQUJOZ0ljSUFJUWxRRWdBaVFHQ3pBQkFYOGdBQ2dDQ0NFREEwQWdBeUFDTEFBQU9nQUFJQUFnQUNnQ0NFRUJhaUlETmdJSUlBRkJmMm9pQVEwQUN3dTVBUUVGZnlNR0lRUWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURheUFCU1FSQVFmLy8vLzhISUFFZ0F5QUFLQUlBYTJvaUEwa0VRQkFBQlNBRUlBTWdBQ2dDQ0NBQUtBSUFJZ1ZySWdaQkFYUWlCeUFISUFOSkcwSC8vLy8vQnlBR1FmLy8vLzhEU1JzZ0FDZ0NCQ0FGYXlBQVFRaHFFTmdDSUFRZ0FTQUNFS3dISUFBZ0JCRFhBaUFFRU5ZQ0N3VURRQ0FESUFJc0FBQTZBQUFnQUNBQUtBSUVRUUZxSWdNMkFnUWdBVUYvYWlJQkRRQUxDeUFFSkFZTE9BRUNmeUFBS0FJRUlBQW9BZ0FpQkdzaUF5QUJTUVJBSUFBZ0FTQURheUFDRUswSEJTQURJQUZMQkVBZ0FDQUJJQVJxTmdJRUN3c0xJZ0FnQUNBQklBQW9BZ1JCZm1xekVPTUJJQUlnQUNnQ0NFRithck1RNHdFUVRRdGhBUUY5SUFNUTlnSWdCSlFoQlNBREVQVUNJQVNVSVFNZ0FDQUZPQUlBSUFBZ0E0dzRBZ1FnQUNBQk9BSUlJQUFnQXpnQ0RDQUFJQVU0QWhBZ0FDQUNPQUlVSUFCREFBQUFBRGdDR0NBQVF3QUFBQUE0QWh3Z0FFTUFBSUEvT0FJZ0N5SUFJQUZCQ0JBNUlBQnFJZ0FnQUMwQUFDQUNRZjhCY1NBQlFRZHhkSEk2QUFBTGl3RUJDSDhnQUVIVUFCRFpBMEVrSVFWQkl5RUdRU1FoQndOQUlBSkJKVWNFUUNBQ1FRSjBJQUZxSVFrZ0FrRUJhaUlDSVFnZ0JDRURBMEFnQXlBSFJ3UkFJQUFnQXlBSktnSUFJQWhCQW5RZ0FXb3FBZ0JkRUxFSElBaEJBV29oQ0NBRFFRRnFJUU1NQVFzTElBWWdCMm9oQnlBRUlBVnFJUVFnQlVGL2FpRUZJQVpCZjJvaEJnd0JDd3NMcUE0Q0lIOENmU01HSVJJakJrSFFBbW9rQmlBU1FhQUNhaUlSSUFJcUFnQWdBaW9DQkNBQ0tnSUlRd0FBZ0Q4Z0Fpb0NEQ0FRbENJUUlCQkRBQUNBUDEwYklqRVFzQWNnRVNvQ0NDRXlJQkVxQWhRaEVDQVNRZkFCYWlJVElCRWdBeEJiSUJOQkNHb2lHQ0FSSUFOQkNHb1FXeUFUUVJCcUloa2dFU0FEUVJCcUVGc2dFMEVZYWlJYUlCRWdBMEVZYWhCYklCTkJJR29pR3lBUklBTkJJR29RV3lBVFFTaHFJaHdnRVNBRFFTaHFFRnNnRWtIQUFXb2lGQ0FSSUFRUVd5QVVRUWhxSWgwZ0VTQUVRUWhxRUZzZ0ZFRVFhaUllSUJFZ0JFRVFhaEJiSUJSQkdHb2lIeUFSSUFSQkdHb1FXeUFVUVNCcUlpQWdFU0FFUVNCcUVGc2dGRUVvYWlJaElCRWdCRUVvYWhCYklCSkJrQUZxSWhVZ0VTQUZFRnNnRlVFSWFpSWlJQkVnQlVFSWFoQmJJQlZCRUdvaUl5QVJJQVZCRUdvUVd5QVZRUmhxSWlRZ0VTQUZRUmhxRUZzZ0ZVRWdhaUlsSUJFZ0JVRWdhaEJiSUJWQktHb2lKaUFSSUFWQktHb1FXeUFTUWVBQWFpSVdJQkVnQmhCYklCWkJDR29pSnlBUklBWkJDR29RV3lBV1FSQnFJaWdnRVNBR1FSQnFFRnNnRmtFWWFpSXBJQkVnQmtFWWFoQmJJQlpCSUdvaUtpQVJJQVpCSUdvUVd5QVdRU2hxSWlzZ0VTQUdRU2hxRUZzZ0VrRXdhaUlYSUJFZ0J4QmJJQmRCQ0dvaUxDQVJJQWRCQ0dvUVd5QVhRUkJxSWkwZ0VTQUhRUkJxRUZzZ0YwRVlhaUl1SUJFZ0IwRVlhaEJiSUJkQklHb2lMeUFSSUFkQklHb1FXeUFYUVNocUlqQWdFU0FIUVNocUVGc2dFaUFSSUFnUVd5QVNRUWhxSWdZZ0VTQUlRUWhxRUZzZ0VrRVFhaUlGSUJFZ0NFRVFhaEJiSUJKQkdHb2lCQ0FSSUFoQkdHb1FXeUFTUVNCcUlnTWdFU0FJUVNCcUVGc2dFa0VvYWlJQ0lCRWdDRUVvYWhCYklBRWdFa0hJQW1vaUNDQVNRY1FDYWlJSElERWdENVFRdHdFZ0FDQUJJQklxQWdBZ0Vpb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnQmlvQ0FDQVNLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSUVJQUFnQVNBRktnSUFJQklxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBZ2dnQUNBQklBUXFBZ0FnRWlvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDRENBQUlBRWdBeW9DQUNBU0tnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FJUUlBQWdBU0FDS2dJQUlCSXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFoUWdBU0FJSUFjZ01TQU9sQkMzQVNBQUlBRWdGeW9DQUNBWEtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FJWUlBQWdBU0FzS2dJQUlCY3FBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFod2dBQ0FCSUMwcUFnQWdGeW9DRkNBSUtBSUFJQWNvQWdBUVdUZ0NJQ0FBSUFFZ0xpb0NBQ0FYS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUlrSUFBZ0FTQXZLZ0lBSUJjcUFpUWdDQ2dDQUNBSEtBSUFFRms0QWlnZ0FDQUJJREFxQWdBZ0Z5b0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ0xDQUJJQWdnQnlBeElBMlVFTGNCSUFBZ0FTQVdLZ0lBSUJZcUFnUWdDQ2dDQUNBSEtBSUFFRms0QWpBZ0FDQUJJQ2NxQWdBZ0Zpb0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ05DQUFJQUVnS0NvQ0FDQVdLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BSTRJQUFnQVNBcEtnSUFJQllxQWh3Z0NDZ0NBQ0FIS0FJQUVGazRBandnQUVGQWF5QUJJQ29xQWdBZ0Zpb0NKQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnS3lvQ0FDQVdLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BSkVJQUVnQ0NBSElERWdESlFRdHdFZ0FDQUJJQlVxQWdBZ0ZTb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ1NDQUFJQUVnSWlvQ0FDQVZLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSk1JQUFnQVNBaktnSUFJQlVxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBbEFnQUNBQklDUXFBZ0FnRlNvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDVkNBQUlBRWdKU29DQUNBVktnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FKWUlBQWdBU0FtS2dJQUlCVXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFsd2dBU0FJSUFjZ01TQUxsQkMzQVNBQUlBRWdGQ29DQUNBVUtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FKZ0lBQWdBU0FkS2dJQUlCUXFBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFtUWdBQ0FCSUI0cUFnQWdGQ29DRkNBSUtBSUFJQWNvQWdBUVdUZ0NhQ0FBSUFFZ0h5b0NBQ0FVS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUpzSUFBZ0FTQWdLZ0lBSUJRcUFpUWdDQ2dDQUNBSEtBSUFFRms0QW5BZ0FDQUJJQ0VxQWdBZ0ZDb0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ2RDQUJJQWdnQnlBeElBcVVFTGNCSUFBZ0FTQVRLZ0lBSUJNcUFnUWdDQ2dDQUNBSEtBSUFFRms0QW5nZ0FDQUJJQmdxQWdBZ0V5b0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ2ZDQUFJQUVnR1NvQ0FDQVRLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BS0FBU0FBSUFFZ0dpb0NBQ0FUS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUtFQVNBQUlBRWdHeW9DQUNBVEtnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FLSUFTQUFJQUVnSENvQ0FDQVRLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BS01BU0FCSUFnZ0J5QXhJQW1VRUxjQklBQWdBU0F5SUJBZ0NDZ0NBQ0FIS0FJQUVGazRBcEFCSUJJa0JrRUJDMHdCQW44akJpRVJJd1pCb0FGcUpBWWdFU0FCSUFJZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMTUhCSDhnQUNBUkVMSUhRUUVGUVFBTElSSWdFU1FHSUJJTHRnUUJCbjhqQmlFVEl3WkJFR29rQmlBQlJRUkFJQk5Cd01nRFFjZVdBaEEzUWVhV0FoQTNRZStpQWhBM1Faa0VFRDVCOXFJQ0VEZEIxSmNDRURjaUVTQVJLQUlBUVhScUtBSUFhaEE3SUJOQmdNNERFRG9pRWlnQ0FDZ0NIQ0VVSUJKQkNpQVVRVDl4UVlvQmFoRUNBQ0VTSUJNUVBDQVJJQklRUUNBUkVEOFFBQXNnQUJCeElBSW9BZ1FpRkNBQ0tBSUFJaFZyUVJRUU9VY0VRQ0FUUWNESUEwSGtsd0lRTjBIbWxnSVFOMEh2b2dJUU4wR2FCQkErUWZhaUFoQTNRWm1ZQWhBM0loRWdFU2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWhJb0FnQW9BaHdoRmlBU1FRb2dGa0UvY1VHS0FXb1JBZ0FoRWlBVEVEd2dFU0FTRUVBZ0VSQS9FQUFMUVFBaEVrRUFJUkVEUUNBU0lCUWdGV3RCRkJBNUloUkpCRUFnQUNnQ0JDQVJJQUFvQWdCc2FpQUJJQUlvQWdBZ0VrRVViR29nQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxRSEJFQWdBQ2dDRUNBUlFSUnNhaUlVSUFJb0FnQWdFa0VVYkdvaUZTa0NBRGNDQUNBVUlCVXBBZ2czQWdnZ0ZDQVZMQUFRT2dBUUlCRkJBV29oRVFzZ0VrRUJhaUVTSUFJb0FnUWhGQ0FDS0FJQUlSVU1BUXNMSUJFZ0ZFWUVRQ0FBSUJFUXZBTWdFeVFHQlNBVFFjRElBMEcrbUFJUU4wSG1sZ0lRTjBIdm9nSVFOMEhwQkJBK1FmYWlBaEEzUWZHWUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQVRFRHdnQUNBQkVFQWdBQkEvRUFBTEMzTUFJQUVRMGdNZ0FTQURLQUlFSUFNb0FnQnJRUlFRT1JDOEF5QUJJQUlnQXlBQUlBQkJNR29nQUVIZ0FHb2dBRUdRQVdvZ0FFSEFBV29nQUVId0FXb2dBQ29Db0FJZ0FDb0NwQUlnQUNvQ3FBSWdBQ29DckFJZ0FDb0NzQUlnQUNvQ3RBSWdBQ29DdUFJZ0FDb0N2QUlRdFFjTHh3TUJEWDhqQmlFQ0l3WkJRR3NrQmlBQ1FUaHFJUWtnQWtFd2FpRUtJQUpCS0dvaEN5QUNRU0JxSVFNZ0FrRVlhaUVGSUFKQkVHb2hCaUFDUVFocUlRQkJJQkJFSWdGRkJFQkJBRUVEUWJuWUFpQUNFRDFCQVJBQkN5QUJRUUEyQWdBZ0FVRXlOZ0lFSUFGQkVEWUNIQ0FCUWNnQkVFUWlCellDQ0NBSFJRUkFRUUJCQTBHNTJBSWdBQkE5UVFFUUFRc2dBVUdnQmhCRUlnZzJBZ3dnQ0VVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBRkJvQVlRUkNJQU5nSVVJQUJGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQlFjQU1FRVFpQURZQ0VDQUFSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQVVIQURCQkVJZ0EyQWhnZ0FFVUVRRUVBUVFOQnVkZ0NJQXNRUFVFQkVBRUxBa0FDUUFKQUEwQUNRQ0FFUVRKT0JFQWdBU0VNREFVTElBUkJBblFnQjJwQkFEWUNBQ0FFUVFKMElRVkJBQ0VEQTBBZ0EwRUVTUVJBSUFNZ0JXb2lCa0VDZENBSWFrR0FHQkJFSWdBMkFnQWdBRVVOQWtHQUNCQkVJUUFnQVNnQ0ZDQUdRUUowYWlBQU5nSUFJQUJGRFFRZ0EwRUJhaUVEREFFTEN5QUVRUUZxSVFRTUFRc0xRUUJCQTBHNTJBSWdDaEE5REFFTFFRQkJBMEc1MkFJZ0NSQTlDMEVCRUFFTElBSWtCaUFNQzZrQkFDQUFRZEFWUVF3UXVBRWdBRUV3YWtHQUZrRU1FTGdCSUFCQjRBQnFRYkFXUVF3UXVBRWdBRUdRQVdwQjRCWkJEQkM0QVNBQVFjQUJha0dRRjBFTUVMZ0JJQUJCOEFGcVFjQVhRUXdRdUFFZ0FFUE56TXc5T0FLZ0FpQUFRek16TXo0NEFxUUNJQUJEQUFDQVBqZ0NxQUlnQUVObVpxWStPQUtzQWlBQVE4M016RDQ0QXJBQ0lBQkRNelB6UGpnQ3RBSWdBRVBOekF3L09BSzRBaUFBUXdBQTRFQTRBcndDQzA4QkFYMGdBVU1BQUFBQU9BSUFJQUpCZnpZQ0FDQUFRZVFBYWlFQUEwQWdBQ2dDQUNJQUJFQWdBeUFBS0FJTXMxMEVRQ0FDSUFBb0FnZzJBZ0FnQVNBQUtBSU1zeUlET0FJQUN3d0JDd3NMdXdNQ0NuOERmU01HSVFVakJrRVFhaVFHSUFGQkFFd0VRQ0FGUWNESUEwSDFsQUlRTjBHU2xRSVFOMEh2b2dJUU4wRTFFRDVCOXFJQ0VEZEJoSllDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWtFQVRBUkFJQVZCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FUWVFQa0gyb2dJUU4wRzBsZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFS0lBWkJQM0ZCaWdGcUVRSUFJUVFnQlJBOElBTWdCQkJBSUFNUVB4QUFDeUFDUVg5cUlnbEJBblFnQUdvaENpQUJRWDlxSVFjRFFDQUtLZ0lBSVEwZ0NDQUhTQVJBSUFnaEFTQUhJUU1EUUFOQUlBRkJBV29oQkNBQlFRSjBJQUJxSWdzcUFnQWlEaUFOWFFSQUlBUWhBUXdCQ3dzRFFDQURRWDlxSVFZZ0RTQURRUUowSUFCcUlnd3FBZ0FpRDEwRVFDQUdJUU1NQVFzTElBRWdBMHdFUUNBTElBODRBZ0FnRENBT09BSUFJQVFoQVNBR0lRTUxJQUVnQTB3TkFBc2dCeUFESUFFZ0FrZ2JJUWNnQVNBSUlBTWdDVWdiSVFnTUFRc0xJQVVrQmlBTkN6VUJBWDBnQVJEMkFpQUNsQ0VESUFFUTlRSWdBcFFoQVNBQUlBTTRBZ0FnQUNBQmpEZ0NCQ0FBSUFFNEFnZ2dBQ0FET0FJTUMwSUJBWDhnQUVFUUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBTmdJSUlBUWdBeWdDQkRZQ0RDQUFRUUU2QUFnZ0JDQUNOZ0lFSUFSQkFEWUNBQXVhQVFFQmZTQUFLQUkwc2lFSklBRWdCU0FBS2dJVUlnV1RJQUFxQWhnZ0JaTVEzZ0VnQ1pRNEFnQWdBQ2dDT0xJaEJTQUNJQVlnQUNvQ0hDSUdreUFBS2dJZ0lBYVRFTjRCSUFXVU9BSUFJQU1nQjd0RUdDMUVWUHNoQ1VDZ1JJUEl5VzB3WDhRL29pQUFLQUk4dDZLMk9BSUFJQUJCUUdzb0FnQ3lJUVVnQkNBSUlBQXFBaVFpQnBNZ0FDb0NLQ0FHa3hEZUFTQUZsRGdDQUF1N0RBTUxmd1o5QVh3akJpRUlJd1pCRUdva0JpQUFLZ0lVSWhBZ0FWNEVmMEVBQlNBQUtnSVlJaEVnQVY4RWYwRUFCU0FBS2dJY0loSWdBbDRFZjBFQUJTQUFLZ0lnSWhNZ0FsOEVmMEVBQlNBRHV5SVdSQmd0UkZUN0lRbkFaU0FXUkJndFJGVDdJUWxBWkhJRWYwRUFCU0FBS2dJa0loUWdCRjRFZjBFQUJTQUFLZ0lvSWhVZ0JGOEVmMEVBQlNBUUlBRmZSUVJBSUFoQndNZ0RRWkdLQWhBM1FiT0tBaEEzUWUraUFoQTNRZWdDRUQ1QjlxSUNFRGRCczRzQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0VTQUJYa1VFUUNBSVFjRElBMEhDaXdJUU4wR3ppZ0lRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUWJPTEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCSWdBbDlGQkVBZ0NFSEF5QU5CNDRzQ0VEZEJzNG9DRURkQjc2SUNFRGRCNmdJUVBrSDJvZ0lRTjBHRmpBSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVRJQUplUlFSQUlBaEJ3TWdEUVpTTUFoQTNRYk9LQWhBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQmhZd0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dGa1FZTFVSVSt5RUp3R1JGQkVBZ0NFSEF5QU5CdFl3Q0VEZEJzNG9DRURkQjc2SUNFRGRCN0FJUVBrSDJvZ0lRTjBIWWpBSVFOeUlHS0FJQVFYUnFLQUlBSUFacUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVdSQmd0UkZUN0lRbEFaVVVFUUNBSVFjRElBMEhyakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEh0QWhBK1FmYWlBaEEzUWRpTUFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCUWdCRjlGQkVBZ0NFSEF5QU5Cam8wQ0VEZEJzNG9DRURkQjc2SUNFRGRCN2dJUVBrSDJvZ0lRTjBHNGpRSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVZJQVJlUlFSQUlBaEJ3TWdEUWN1TkFoQTNRYk9LQWhBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQnVJMENFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dBQ0FBUWNRQWFpSUpJQUJCeUFCcUlnWWdBRUhNQUdvaUJTQUFRZEFBYWlJSElBRWdBaUFESUFRUXZRY2dDU29DQUVNQUFBQy9rbzRRUXlFS0lBWXFBZ0JEQUFBQXY1S09FRU1oQ3dKL0lBVXFBZ0JEQUFBQXY1S09FRU1oRGlBSEtnSUFRd0FBQUwrU2poQkRJUXdnRGlBQUtBSThJZ1ZxQ3lBRkVFOGhEU0FLUVFCSUJIOUJBQVVnQzBFQVNDQUtRUUZxSWdrZ0FDZ0NORTV5Qkg5QkFBVWdERUVBU0NBTFFRRnFJZ1lnQUNnQ09FNXlCSDlCQUFVZ0RFRUJhaUlISUFCQlFHc29BZ0JJQkg4Z0RVRUJhaUFGRUU4aEJTQUFJQUFnQ2lBTElBMGdEQkI4RUhzZ0FDQUFJQWtnQ3lBTklBd1FmQkI3SUFBZ0FDQUpJQVlnRFNBTUVId1FleUFBSUFBZ0NTQUdJQVVnREJCOEVIc2dBQ0FBSUFrZ0JpQUZJQWNRZkJCN0lBQWdBQ0FKSUFZZ0RTQUhFSHdRZXlBQUlBQWdDU0FMSUFVZ0RCQjhFSHNnQUNBQUlBa2dDeUFGSUFjUWZCQjdJQUFnQUNBSklBc2dEU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdEQkI4RUhzZ0FDQUFJQW9nQmlBRklBd1FmQkI3SUFBZ0FDQUtJQVlnQlNBSEVId1FleUFBSUFBZ0NpQUdJQTBnQnhCOEVIc2dBQ0FBSUFvZ0N5QUZJQXdRZkJCN0lBQWdBQ0FLSUFzZ0JTQUhFSHdRZXlBQUlBQWdDaUFMSUEwZ0J4QjhFSHRCQVFWQkFBc0xDd3NMQ3dzTEN3c0xJUThnQ0NRR0lBOExKd0FnQUFSL0lBQkI4SWF2QTJvaUFDZ0NBQVIvSUFCQkFEWUNBRUVBQlVGL0N3VkJmd3NhQzRjRUFnVi9BWHdqQmlFTkl3WkJJR29rQmlBTlFSQnFJUTRnQXlBSElBdVRJZ2M0QWdBQ1FBSkFJQWU3SWhKRUdDMUVWUHNoQ2NCbEJFQWdFa1FZTFVSVSt5RVpRS0MySVFjTUFRVWdFa1FZTFVSVSt5RUpRR1FFUUNBU1JCZ3RSRlQ3SVJuQW9MWWhCd3dDQ3dzTUFRc2dBeUFIT0FJQUN5QUh1eUlTUkJndFJGVDdJUW5BWkVVRVFDQU9RY0RJQTBHMWpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIVUF4QStRZmFpQWhBM1FkaU1BaEEzSWc4Z0R5Z0NBRUYwYWlnQ0FHb1FPeUFPUVlET0F4QTZJaEFvQWdBb0Fod2hFU0FRUVFvZ0VVRS9jVUdLQVdvUkFnQWhFQ0FPRUR3Z0R5QVFFRUFnRHhBL0VBQUxJQkpFR0MxRVZQc2hDVUJsQkVBZ0JDQUlJQXdRM2dFaUJ6Z0NBQ0FOSUFNcUFnQWdCeEM3QnlBRUlBUXFBZ0FRMGdFZ0FDb0NNSlE0QWdBZ0RTb0NDQ0VISUEwcUFnd2hDQ0FCSUFVZ0RTb0NBQ0lGSUFtVUlBMHFBZ1FpQ3lBS2xKS1RJQVVnQUNvQ0NKUWdDeUFBS2dJTWxKS1NPQUlBSUFJZ0JpQUhJQW1VSUFnZ0NwU1NreUFISUFBcUFnaVVJQWdnQUNvQ0RKU1NramdDQUNBTkpBWUZJQTVCd01nRFFldU1BaEEzUWJPS0FoQTNRZStpQWhBM1FkVURFRDVCOXFJQ0VEZEIySXdDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUE1QmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUE0UVBDQUFJQUVRUUNBQUVEOFFBQXNMN1FRQ0IzOENmU01HSVFjakJrRVFhaVFHSUFkQkRHb2hCQ0FBS0FJQUlBQW9BZ1FReGdFaENpQUhJQU1RaEFJZ0EwRUFUQVJBSUFSQndNZ0RRYm1TQWhBM1FkbVNBaEEzUWUraUFoQTNRZEFCRUQ1QjlxSUNFRGRCMjVNQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NBRUVBVEFSQUlBUkJ3TWdEUWZHVEFoQTNRZG1TQWhBM1FlK2lBaEEzUWRFQkVENUI5cUlDRURkQm01UUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQkVFQVRBUkFJQVJCd01nRFFiS1VBaEEzUWRtU0FoQTNRZStpQWhBM1FkSUJFRDVCOXFJQ0VEZEIzWlFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQ3JJaEMwRUFJUVFEUUNBRElBUkhCRUFnQkVFQ2RDSUZRUUowSUFGcUtnSU1JQVZCQW5RZ0Ftb3FBZ3dRM2dFZ0M1UWhEQ0FIS0FJQUlBUkJBblJxSUF3NEFnQWdCRUVCYWlFRURBRUxDeUFIS0FJQUlnRWdCeWdDQkNBQmEwRUNkU0lCSUFGQkFoQTVJQUZCQVhGQmYycHFFTG9IUXdBQWdENlVJUXNnQUVFRklBQXFBaGdnQUNvQ0ZKTWdDNVdORUVNUXhnRTJBalFnQUVFRklBQXFBaUFnQUNvQ0hKTWdDNVdORUVNUXhnRWlBVFlDT0NBQUlBRWdBQ2dDTkd3aUFUWUNWQ0FBSUFFZ0FDZ0NQR3cyQWxnZ0J4QlZJQWNrQmd1N0FnRUtmeU1HSVFVakJrRVFhaVFHSUFWQkRHb2hDU0FGUVFocUlRb2dCVUVFYWlFTElBQkIzQUJxRUwwRElBTUVRQ0FBUWZBQWFpSU1JQU5CQW5RUWh3RWdBRUg4QUdvaURTQURFSWNCSUFBc0FCQUVRQ0FBSUFFZ0FpQURFTUVIQ3dOQUlBY2dBMGdFUUNBQUlBa2dDaUFMSUFVZ0IwRUNkQ0lFUVFKMElBRnFJZ2dxQWdBZ0NDb0NCQ0FJS2dJSUlBZ3FBZ3dnQkVFQ2RDQUNhaUlFS2dJQUlBUXFBZ1FnQkNvQ0NDQUVLZ0lNRU1BSElBQWdDU29DQUNBS0tnSUFJQXNxQWdBZ0JTb0NBQkMrQndSQUlBd29BZ0FnQmtFRWRHb2lCQ0FBS0FKRU5nSUFJQVFnQUNnQ1NEWUNCQ0FFSUFBb0FrdzJBZ2dnQkNBQUtBSlFOZ0lNSUEwb0FnQWdCa0VDZEdvZ0J6WUNBQ0FHUVFGcUlRWUxJQWRCQVdvaEJ3d0JDd3NnRENBR1FRSjBFSWNCSUEwZ0JoQ0hBUXNnQlNRR0M0TUJBQ0FBSUFFNEFoUWdBQ0FDT0FJWUlBQWdBemdDSENBQUlBUTRBaUFnQUVNQUFJQy9PQUlrSUFCREFBQ0FQemdDS0NBQVFRQTJBalFnQUVFQU5nSTRJQUJCRERZQ1BDQUFRVUJyUVFvMkFnQWdBRUVBTmdKVUlBQkJBRFlDV0NBQVF3QUFJRUU0QWl3Z0FFUFlXOTQrT0FJd0lBQkJBVG9BRUNBQVFkd0FhaEM5QXdzcEFRRi9JQUFvQWdnUXZnTWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDd3VQQVFFQmZ5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFUb0FFQ0FBUVJScUlnRkNBRGNDQUNBQlFnQTNBZ2dnQVVJQU53SVFJQUZDQURjQ0dDQUJRZ0EzQWlBZ0FVSUFOd0lvSUFGQ0FEY0NNQ0FCUWdBM0FqZ2dBVUZBYTBJQU53SUFJQUZDQURjQ1NDQUJRZ0EzQWxBZ0FFR0FnSUQ4QXpZQ2JDQUFRZ0EzQW5BZ0FFSUFOd0o0SUFCQ0FEY0NnQUVMTFFBZ0FDQUJRVUJyS0FJQU5nSUFJQUFnQVNnQ1JDSUFOZ0lFSUFBRVFDQUFJQUFvQWdSQkFXbzJBZ1FMQ3ljQUlBQUVmeUFBUWZDR3J3TnFJZ0FvQWdBRWYwRi9CU0FBSUFFMkFnQkJBQXNGUVg4TEdnc3JBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUJOZ0lBSUFBb0FnQkJCR29nQWhEREFpRURJQUlrQmlBREM3Z0JBUU4vSUFFZ0FTZ0NCRUVBSUFJZ0FDZ0NBQ0lFYXlJRFFRSjFhMEVDZEdvaUJUWUNCQ0FEUVFCS0JFQWdCU0FFSUFNUVRCb0xJQUFvQWdRZ0Ftc2lBMEVBU2dSQUlBRW9BZ2dnQWlBREVFd2FJQUVnQVNnQ0NDQURRUUoyUVFKMGFqWUNDQXNnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzBRQkFuOGdBaWdDQUNFRElBRW9BZ0FoQWdOQUlBSWdBMGNFUUNBQUtBSUlJZ1FnQWlnQ0FEWUNBQ0FBSUFSQkJHbzJBZ2dnQVNBQ1FRUnFJZ0kyQWdBTUFRc0xDMk1CQkg4Z0FDZ0NCQ0lGSUFOcklnWkJBblVpQjBFQ2RDQUJhaUVFSUFVaEF3TkFJQVFnQWtrRVFDQURJQVFvQWdBMkFnQWdBQ0FEUVFScUlnTTJBZ1FnQkVFRWFpRUVEQUVMQ3lBR0JFQkJBQ0FIYTBFQ2RDQUZhaUFCSUFZUTV3RWFDd3MvQVFGL0lBSW9BZ0FoQWlBQktBSUFJUUVEUUNBQklBSkhCRUFnQUNnQ0JDSURJQUVvQWdBMkFnQWdBQ0FEUVFScU5nSUVJQUZCQkdvaEFRd0JDd3NMTkFFQmZ5QUFLQUlFSVFJRFFDQUNRUUEyQWdBZ0FrRUFOZ0lFSUFBZ0FDZ0NCRUVJYWlJQ05nSUVJQUZCZjJvaUFRMEFDd3M3QVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGNGFqWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVRBUUVDZnlBQUtBSUFJUU1nQUNnQ0JDRUNBMEFnQWlBRFJ3UkFJQUVvQWdSQmVHb2dBa0Y0YWlJQ0tRSUFOd0lBSUFFZ0FTZ0NCRUY0YWpZQ0JBd0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzZFQkFRUi9Jd1loQXlNR1FSQnFKQVlnQWtFQlNnUkFJQUpCZm1wQkFoQTVJZ0pCQTNRZ0FDZ0NBQ0lGYWlFQUlBRWdBU2dDQUVGNGFpSUVOZ0lBSUFBZ0JCREJBUVJBSUFNZ0JDa0NBRGNEQUFOQUFrQWdCQ0FBS1FJQU53SUFJQUVnQURZQ0FDQUNSUTBBSUFKQmYycEJBaEE1SWdKQkEzUWdCV29pQmlBREVNRUJCRUFnQUNFRUlBWWhBQXdDQ3dzTElBQWdBeWtEQURjQ0FBc0xJQU1rQmd1ZEFRRUZmeU1HSVFJakJrRWdhaVFHUWYvLy8vOEJJQUFvQWdRZ0FDZ0NBR3RCQTNWQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJb0FnZ2dBU2tDQURjQ0FDQUNJQUlvQWdoQkNHbzJBZ2dnQUNBQ0VNOEhJQUlRemdjZ0FpUUdDd3NxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVNRURJQUFnQVJETkJ3c0xoQVVCQ0g4akJpRUlJd1pCTUdva0JpQUlRUWhxSVFVZ0NFRVFhaUlKSUFBb0Ftd2dBQ2dDYUd0QkFuVVEwZ2RCZnlFRVFYOGhDZ05BSUFZZ0NTZ0NCQ0FKS0FJQWEwRURkVWtFUUNBQUtBSm9JQVpCQW5ScUtBSUFRUVJxSUFNUWdnSWhCeUFGSUFBb0FtZ2dCa0VDZEdvb0FnQTJBZ0FnQlNBSE5nSUVJQWtvQWdBZ0JrRURkR29nQlNrREFEY0NBQ0FHSUFvZ0J5QUVTU0lMR3lFS0lBY2dCQ0FMR3lFRUlBWkJBV29oQmd3QkN3c2dDa0YvUmdSQUlBVkJ3TWdEUWRtSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQis0a0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dCU0FBS0FKb0lBcEJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUVJQUVvQWdoSkJFQWdCQ0FETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDeUFJUVNScUlRWkJBQ0VFQTBBZ0NTZ0NBQ0lESVFjZ0JDQUpLQUlFSUFOclFRTjFTUVJBSUFRZ0NrY0VRQ0FFUVFOMElBZHFLQUlFSUFrb0FnQWdDa0VEZEdvb0FnUkdCRUFnQlNBQUtBSm9JQVJCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lISUFFb0FnaEpCRUFnQnlBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3dVZ0NTZ0NBQ0FFUVFOMGFpRURJQUlvQWdRaUJ5QUNLQUlJUmdSQUlBSWdBeERSQnlBQ0tBSUVJUU1GSUFjZ0F5a0NBRGNDQUNBQ0lBSW9BZ1JCQ0dvaUF6WUNCQXNnQ0NBQ0tBSUFJZ2MyQWlBZ0NDQUROZ0ljSUFZZ0NDZ0NJRFlDQUNBRklBZ29BaHcyQWdBZ0JpQUZJQU1nQjJ0QkEzVVEwQWNMQ3lBRVFRRnFJUVFNQVFzTElBa1Ewd01nQ0NRR0M1NERBUWgvSXdZaEJDTUdRVEJxSkFZZ0JFRW9haUVJSUFSQkpHb2hDU0FFUVFocUlRVWdBU2dDQUNBQUtBSUFJZ0VpQm10QkFuVkJBblFnQVdvaEFTQURLQUlBSWdvZ0FpZ0NBQ0lEYXlJQ1FRSjFJUWNnQWtFQVNnUkFBa0FnQnlBQUtBSUlJQUFvQWdRaUN5SUNhMEVDZFVvRVFFSC8vLy8vQXlBSElBSWdCbXRCQW5WcUlnWkpCRUFRQUFVZ0JTQUdJQUFvQWdnZ0FDZ0NBQ0lDYXlJSFFRRjFJZ3NnQ3lBR1NSdEIvLy8vL3dNZ0IwRUNkVUgvLy8vL0FVa2JJQUVnQW10QkFuVWdBRUVJYWhESUFTQUVJQU0yQWdRZ0JDQUtOZ0lBSUFrZ0JDZ0NCRFlDQUNBSUlBUW9BZ0EyQWdBZ0JTQUpJQWdReWdjZ0FDQUZJQUVReVFjZ0JSREhBUXdDQ3dzZ0FpQUJheUlGUVFKMUlnWkJBblFnQTJvaEFpQUhJQVpLQkVBZ0JDQUNOZ0lnSUFRZ0NqWUNIQ0FKSUFRb0FpQTJBZ0FnQ0NBRUtBSWNOZ0lBSUFBZ0NTQUlFTXdISUFWQkFFd05BUVVnQ2lFQ0N5QUFJQUVnQ3lBSFFRSjBJQUZxRU1zSElBRWhBQU5BSUFJZ0EwY0VRQ0FBSUFNb0FnQTJBZ0FnQUVFRWFpRUFJQU5CQkdvaEF3d0JDd3NMQ3lBRUpBWUxoQU1DQjM4QmZpTUdJUVFqQmtFd2FpUUdJQVJCQ0dvaEJTQUFLQUlJUlFSQUlBVkJ3TWdEUWFLSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpVREVENUI5cUlDRURkQnhZa0NFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUdJQU5CQ2lBR1FUOXhRWW9CYWhFQ0FDRURJQVVRUENBQ0lBTVFRQ0FDRUQ4UUFBc2dCRUVjYWlFR0lBQkJBRFlDWkNBQUlBQW9Ba2cyQWt3Z0FFSFVBR29oQnlBQUtBSllJUUlEUUNBQ0lBY29BZ0FpQTBjRVFDQUNJQU5ySWdoQkNFb0VmeUFGSUFNcEFnQWlDVGNEQUNBRElBSkJlR29pQWlrQ0FEY0NBQ0FDSUFrM0FnQWdCQ0FETmdJWUlBUWdBallDRkNBRUlBTTJBaEFnQmlBRUtBSVlOZ0lBSUFRZ0JDZ0NGRFlDSUNBRklBUW9BaEEyQWdBZ0JpQUlRUU4yUVg5cUlBVVF2d01nQUNnQ1dBVWdBZ3NoQTBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFBSUFOQmVHb2lBallDV0F3QkN3c2dBQ0FISUFBb0FnZ2dBUkM3QWlBQUtBSk1JQUFvQWtockdpQUVKQVlMeUFFQkFYOGpCaUVOSXdaQkVHb2tCaUFCSUFVZ0NaT0xPQUlBSUFJZ0JpQUtrNHM0QWdBZ0JDQUlJQXlUaXpnQ0FDQURJQWNnQzVPTElnVWdBQ2dDUExJZ0JaTVEvZ0VpQlRnQ0FDQUZRd0FBQUFCZ0JFQWdEU1FHQlNBTlFjRElBMEhYaUFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUVlDSkFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QU5RWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQU5FRHdnQWlBQUVFQWdBaEEvRUFBTEMrb0lBUU4vSXdZaEJpTUdRUkJxSkFZZ0FTQUZJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkJQSWdjMkFnQWdBaUFGSUFkcklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQTVJZ2MyQWdBZ0F5QUZJQUVvQWdCcklBY2dBQ2dDTkd4cklBQW9BbGdRVHlBQUtBSlVFRGtpQnpZQ0FDQUVJQVVnQVNnQ0FHc2dBaWdDQUNBQUtBSTBiQ0FISUFBb0FsUnNhbXNnQUNnQ1dCQTVJZ2MyQWdBZ0FTZ0NBQ0lGUVg5TUJFQWdCa0hBeUFOQnFZNENFRGRCczRvQ0VEZEI3NklDRURkQnZnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBZ2dBUkJBSUFnUVB4QUFDeUFGSUFBb0FqUk9CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2d0VRUGtIMm9nSVFOMEhLamdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQVVnQVJCQUlBVVFQeEFBQ3lBQ0tBSUFJZ1JCZjB3RVFDQUdRY0RJQTBHRWp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FhV1BBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JTQUJFRUFnQlJBL0VBQUxJQVFnQUNnQ09FNEVRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRYVdQQWhBM0lnUW9BZ0JCZEdvb0FnQWdCR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCQ0FCRUVBZ0JCQS9FQUFMSUFNb0FnQWlBMEYvVEFSQUlBWkJ3TWdEUWQrUEFoQTNRYk9LQWhBM1FlK2lBaEEzUWNJQkVENUI5cUlDRURkQmhKQUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRUlBRVFRQ0FFRUQ4UUFBc2dBeUFBS0FJOFRnUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjTUJFRDVCOXFJQ0VEZEJoSkFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQjBGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjUUJFRDVCOXFJQ0VEZEI3NUFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQnlBQVFVQnJLQUlBU0FSQUlBWWtCZ1VnQmtIQXlBTkJoWkVDRURkQnM0b0NFRGRCNzZJQ0VEZEJ4UUVRUGtIMm9nSVFOMEh2a0FJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JoQThJQUlnQUJCQUlBSVFQeEFBQ3d2eEFnRUxmeUFBSUFFUXZBSWlBa0VBU0FSL0lBSUZBbjhnQUNnQ0FBUkFJQUJCQkdvaENDQUFRUWhxSVFVRklBQWdBRUVJYWlJRktBSUFJQUJCQkdvaUNDZ0NBR3dRUkNJQ05nSUFRWDhnQWtVTkFSb0xBMEFnQmlBRktBSUFJZ0pJQkVCQkFDRUNBMEFnQWlBSUtBSUFJZ2xJQkVCQmZDRUhRUUFoQ2tFQUlRTURRQ0FIUVFSTUJFQWdCaUFIYWlJRVFRQk9CRUFnQkNBRktBSUFTQVJBQWtBZ0JDQUpiQ0VNUVh3aEJBTkFJQVJCQkVvTkFTQUNJQVJxSWd0QmYwb2dDeUFKU0hFRVFDQUtRUUZxSVFvZ0F5QUJJQXNnREdwcUxRQUFhaUVEQ3lBRVFRRnFJUVFNQUFBTEFBc0xDeUFIUVFGcUlRY01BUXNMSUFNZ0NoQTVRZjhCY1NFRElBQW9BZ0FnQWlBR0lBbHNhbW9nQXpvQUFDQUNRUUZxSVFJTUFRc0xJQVpCQVdvaEJnd0JDd3RCQUNFRElBSWhBUU4vSUFNZ0NDZ0NBQ0FCYkVnRWZ5QURJQUFvQWdCcUlnRWdBUzBBQUVGNWFqb0FBQ0FEUVFGcUlRTWdCU2dDQUNFQkRBRUZRUUFMQ3dzTEM3d1RBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdZaERTQUJJQUpCZjJvaUVHeEJBWFFnQm1vaEJRTkFJQWNnQVVnRVFDQUZRUUE3QVFBZ0RVRUFPd0VBSUExQkFtb2hEU0FGUVFKcUlRVWdCMEVCYWlFSERBRUxDeUFHSVFjZ0FVRi9haUlSUVFGMElBWnFJUTFCQUNFRkEwQWdCU0FDU0FSQUlBMUJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdEV29oRFNBRlFRRnFJUVVNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRMUJBU0VMUVFBaEJTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1NBR0lRd0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFJQXhCQURzQkFBVUNRQ0FTUVFGMElBeHFJZzh1QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFQUVg1cUxnRUFJZ29oQ0NBS1FRQktJUVlnRHk0QkFpSUZRUUJNQkVBZ0JnUkFJQXdnQ2pzQkFDQUlRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlNBUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUlMSUF4QmZtb3VBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlRnMENJQVVnQ1RZQ0FBVWdBRUgvL3dGS0RRWWdEQ0FBUVFGcUlnVTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQUZRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFzMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUxOZ0lBSUFVaEFBc01BUXNnQmdSQUFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQWhCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCU0FHS0FJQVJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBeEJmbW91QVFBaUJrRUFUQVJBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmdJRFFBR29pQlNnQ0FDQUpTZ1JBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTEFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCaWdDQUNBRlJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnQ1VFQmFpRUpJQXhCQW1vaERBd0JDd3NnRFVFQ2FpRU5JQXRCQVdvaEN5QUFJUVVnREVFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE0UVBVRi9EQUVMSUFSQkRHb2hEVUVCSVFCQkFTRUlBMEFnQ0NBRlRBUkFJQWdnQnlnQ0FDSUdSZ1JBSUFCQkFXb2hBd1VnQUNFRElBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCeUFBTmdJQUlBTWhBQ0FJUVFGcUlRZ2dCMEVFYWlFSERBRUxDeUFFSUFCQmYyb2lCellDQ0NBSEJIOGdEVUVBSUFkQkFuUVFSUm9nQkVHUWdDaHFRUUFnQjBFRWRCQkZHa0VBSVFNRFFDQURJQWRJQkVBZ0JFR01nQWhxSUFOQkFuUWlBRUVDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dBRUVCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQUVFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0FFRURja0VDZEdwQkFEWUNBQ0FEUVFGcUlRTU1BUXNMUVFBaEF3TkFJQU1nQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQTBFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQUNBRVFaQ0EwQUJxSUFOQkIyd2lCMEVDZEdvb0FnQWdBQ2dDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm5JRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCb0lEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJwSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQU5CQVdvaEF3d0JDd3NnQkNnQ0NDRUNRUUFoQXdOL0lBTWdBa2dFZnlBRVFaQ0FLR29nQTBFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQkVFTWFpQURRUUowYWlnQ0FMY2lGS001QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FVb3prREFDQURRUUZxSVFNTUFRVkJBQXNMQlVFQUN3c2hFeUFPSkFZZ0V3czZBUUYvSUFBb0FnUWhBZ05BSUFKREFBQUFBRGdDQUNBQ1F3QUFBQUE0QWdRZ0FDQUFLQUlFUVFocUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVNQkFRRi9RUWRCQmtFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaGdnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DSENBQlFRSjBJQUJxS2dJQVhoc0xmUUVCZjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc0xad0VCZjBFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3d0UkFRRi9RUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzTE93RUJmMEVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNMOEFFQ0EzOEhmU0FBSUFFUXZBSWlBVUVBVGdSQVFRRWhBUU5BSUFjZ0FFRU1haUFCUVFKMGFpZ0NBQ0FCYkxPU0lRY2dBVUVCYWlJQlFZQUNSdzBBQ3lBQUtBSUVJQUFvQWdoc3NpRU1RUUFoQVFOQUFrQWdCaUFBUVF4cUlBTkJBblJxS0FJQUlnU3praUlHUXdBQUFBQmNCRUFnRENBR2t5SUxRd0FBQUFCYkRRRWdDU0FESUFSc3M1SWlDU0FHbFNBSElBbVRJQXVWa3lJS0lBWWdDNVFnQ3BTVUlnb2dDRjRoQlNBRFFmOEJjU0lFSUFFZ0JSc2hBU0FLSUFnZ0JSc2hDQVVnQTBIL0FYRWhCQXNnQTBFQmFpRURJQVJCL3dGeFFmOEJSdzBCQ3dzZ0FpQUJPZ0FBUVFBaEFRc2dBUXNsQVFGL1FRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiQzZrQkFRRi9RUWhCQjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJY0lBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFpQWdBVUVDZENBQWFpb0NBRjRiQytrQkFRTi9Jd1loQWlNR1FZQURhaVFHSUFKQjBBSnFJZ01nQWlBQlFRQVFvUUU0QWdBZ0F5QUNRU1JxSUFGQkFSQ2hBVGdDQkNBRElBSkJ5QUJxSUFGQkFoQ2hBVGdDQ0NBRElBSkI3QUJxSUFGQkF4Q2hBVGdDRENBRElBSkJrQUZxSUFGQkJCQ2hBVGdDRUNBRElBSkJ0QUZxSUFGQkJSQ2hBVGdDRkNBRElBSkIyQUZxSUFGQkJoQ2hBVGdDR0NBRElBSkIvQUZxSUFGQkJ4Q2hBVGdDSENBRElBSkJvQUpxSUFGQkNCQ2hBVGdDSUNBREVPSUhJZ0ZCQW5RZ0Eyb3FBZ0JEQUFBQUFGc0VmMEVBQlNBQUlBRkJDV3hCQW5RZ0Ftb1F2Z0pCQVFzaEJDQUNKQVlnQkF1b0FRRUVmeUFBSUFFUTlnY2lBVUVBU0FSL0lBRUZJQUFvQWdnZ0FDZ0NCR3l5UXdBQUFEK1VFSklCSVFSQkFDRUJBMEFnQVVFQmFrRVlkRUVZZFNFRElBQkJqQWhxSUFGQi93RnhJZ1pCQW5ScUtBSUFJZ1VnQkVrRVFDQURJUUVNQVFzTEEwQWdBVUVCYWtFWWRFRVlkU0VESUFRZ0JVWUVRQ0FBUVl3SWFpQURJZ0ZCL3dGeFFRSjBhaWdDQUNFRkRBRUxDeUFDSUFZZ0FVSC9BWEZxUVFGMk9nQUFRUUFMQzBBQ0FYOEJmU0FBUWZ3QmFpSUNJQUJCMkFGcUlBRkIvQUZxRUdVZ0FoQmFJZ05EQUFBQUFGc0VmMEVBQlNBQ0lBSkRBQUNBUHlBRGtaVVFsQUZCQVFzTHJRRUJCWDhqQmlFQ0l3WkJFR29rQmlBQVFkZ0JhaUlESUFCQnRBRnFJZ1VnQVVIWUFXb2lCQkJsSUFCQi9BRnFJZ0FnQlNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0FCQmFPQUlFSUFJcUFnUWdBaW9DQUY0aUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQkNBQVFRSjBJQVJxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVHSUFJa0JpQUdDOElCQVFaL0l3WWhBaU1HUVJCcUpBWWdBRUcwQVdvaUF5QUFRWkFCYWlJRUlBRkJ0QUZxSWdVUVpTQUFRZGdCYWlJR0lBUWdBVUhZQVdvUVpTQUFRZndCYWlJQUlBUWdBVUg4QVdvUVpTQUNJQU1RV2pnQ0FDQUNJQVlRV2pnQ0JDQUNJQUFRV2pnQ0NDQUNFT0VISWdCQkFuUWdBbW9pQVNvQ0FFTUFBQUFBV3dSL1FRQUZJQU1nQUVFSmJDSUFRUUowSUFOcUVJd0JJQVVnQUVFQ2RDQUZhaENNQVNBRElBTkRBQUNBUHlBQktnSUFrWlVRbEFGQkFRc2hCeUFDSkFZZ0J3dmRBUUVIZnlNR0lRSWpCa0VRYWlRR0lBQkJrQUZxSWdNZ0FFSHNBR29pQkNBQlFaQUJhaUlGRUdVZ0FFRzBBV29pQmlBRUlBRkJ0QUZxRUdVZ0FFSFlBV29pQnlBRUlBRkIyQUZxRUdVZ0FFSDhBV29pQUNBRUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUdFRm80QWdRZ0FpQUhFRm80QWdnZ0FpQUFFRm80QWd3Z0FoRGZCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUZJQUJCQW5RZ0JXb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRZ2dBaVFHSUFnTCtBRUJDSDhqQmlFQ0l3WkJJR29rQmlBQVFld0FhaUlESUFCQnlBQnFJZ1FnQVVIc0FHb2lCUkJsSUFCQmtBRnFJZ1lnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2NnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2dnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0FCQmFPQUlRSUFJUTNnY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFSklBSWtCaUFKQzVJQ0FRbC9Jd1loQWlNR1FTQnFKQVlnQUVISUFHb2lBeUFBUVNScUlnUWdBVUhJQUdvaUJSQmxJQUJCN0FCcUlnWWdCQ0FCUWV3QWFoQmxJQUJCa0FGcUlnY2dCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnZ2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlna2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQ1JCYU9BSVFJQUlnQUJCYU9BSVVJQUlRM1FjaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVLSUFJa0JpQUtDNllDQVFwL0l3WWhBaU1HUVNCcUpBWWdBRUVrYWlJRElBQWdBVUVrYWlJRUVHVWdBRUhJQUdvaUJTQUFJQUZCeUFCcUVHVWdBRUhzQUdvaUJpQUFJQUZCN0FCcUVHVWdBRUdRQVdvaUJ5QUFJQUZCa0FGcUVHVWdBRUcwQVdvaUNDQUFJQUZCdEFGcUVHVWdBRUhZQVdvaUNTQUFJQUZCMkFGcUVHVWdBRUg4QVdvaUNpQUFJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFGRUZvNEFnUWdBaUFHRUZvNEFnZ2dBaUFIRUZvNEFnd2dBaUFJRUZvNEFoQWdBaUFKRUZvNEFoUWdBaUFLRUZvNEFoZ2dBaERjQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FFSUFCQkFuUWdCR29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUXNnQWlRR0lBc0x5d0VCQlg4akJpRUNJd1pCSUdva0JpQUNJQUVRV2pnQ0FDQUNJQUZCSkdvaUF4QmFPQUlFSUFJZ0FVSElBR29RV2pnQ0NDQUNJQUZCN0FCcUVGbzRBZ3dnQWlBQlFaQUJhaEJhT0FJUUlBSWdBVUcwQVdvUVdqZ0NGQ0FDSUFGQjJBRnFFRm80QWhnZ0FpQUJRZndCYWhCYU9BSWNJQUlRMndjaUJFRUNkQ0FDYWlJRktnSUFRd0FBQUFCYkJIOUJBQVVnQVNBRVFRbHNRUUowSUFGcUVJd0JJQUFnQVVNQUFJQS9JQVVxQWdDUmxSQ1VBU0FBUVNScUlBTkJQeEM0QVVFQkN5RUdJQUlrQmlBR0M0Y0JBUUovSXdZaEFpTUdRYUFDYWlRR0lBSWdBUkRzQndSL0lBSWdBUkRyQndSL0lBSWdBUkRxQndSL0lBSWdBUkRwQndSL0lBSWdBUkRvQndSL0lBSWdBUkRuQndSL0lBSWdBUkRtQndSL0lBSWdBUkRsQndSL0lBQWdBaERqQndWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxJUU1nQWlRR0lBTUxNZ0FnQUNBQklBVVEvQUVnQUVISUFHb2dBaUFHRVB3QklBQkJrQUZxSUFNZ0J4RDhBU0FBUWRnQmFpQUVJQWdRL0FFTG1BSUJCbjBnQVNvQ0dDSUdJQVVxQWdBaUI1UWdBU29DQUNBRWxaSWhDaUFISUFFcUFod2lDSlFnQVNvQ0JDQUVsWkloQnlBR0lBVXFBZ1FpQ1pRZ0FTb0NEQ0FFbFpJaEJpQUlJQW1VSUFFcUFoQWdCSldTSVFnZ0F5b0NBQ0FDbENFSklBTXFBZ1FnQXBRaEN5QUFJQW9nQXBRNEFnQWdBQ0FISUFLVU9BSUVJQUFnQVNvQ0lDQUZLZ0lBbENBQktnSUlJQVNWa2lBS0lBbVVreUFISUF1VWt6Z0NDQ0FBSUFZZ0FwUTRBZ3dnQUNBSUlBS1VPQUlRSUFBZ0FTb0NJQ0FGS2dJRWxDQUJLZ0lVSUFTVmtpQUdJQW1Va3lBSUlBdVVremdDRkNBQUlBRXFBaGdnQXBRaUJEZ0NHQ0FBSUFFcUFod2dBcFFpQWpnQ0hDQUFJQUVxQWlBZ0JDQURLZ0lBbEpNZ0FpQURLZ0lFbEpNNEFpQUxUQUVDZnlNR0lRa2pCa0dnQW1va0JpQUpJQUVnQWlBRElBUWdCU0FHSUFjZ0NCRHVCeUFBSUFrUTdRY0VmeUFBRU1jRGk3dEU4V2pqaUxYNDVENWpSUVZCQUFzaENpQUpKQVlnQ2d1MkJBSUtmd045SXdZaEJ5TUdRUkJxSkFZZ0FrRUFUQVJBSUFkQndNZ0RRZldVQWhBM1FaS1ZBaEEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCaEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRUFUQVJBSUFkQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRZE1BRUQ1QjlxSUNFRGRCdEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRi9haUlLUVFOMElBRnFJUXNnQ2tFRGRDQUJhaUVOSUFKQmYyb2hCVUVBSVFZRFFDQUdJQVZJQkVBZ0N5b0NBQ0VPSUEwb0FnUWhEQ0FHSVFJZ0JTRUVBMEFEUUFKQUlBSkJBM1FnQVdvaUNDb0NBQ0lQSUE1ZFJRUkFJQTRnRDEwTkFTQUNRUU4wSUFGcUtBSUVJQXhPRFFFTElBSkJBV29oQWd3QkN3c0RRQUpBSUE0Z0JFRURkQ0FCYWlJSktnSUFJaEJkUlFSQUlCQWdEbDBOQVNBTUlBUkJBM1FnQVdvb0FnUk9EUUVMSUFSQmYyb2hCQXdCQ3dzZ0FpQUVUQVJBSUFnZ0VEZ0NBQ0FKSUE4NEFnQWdBa0VEZENBQmFpSUlLQUlFSVFrZ0NDQUVRUU4wSUFGcUlnZ29BZ1EyQWdRZ0NDQUpOZ0lFSUFKQkFXb2hBaUFFUVg5cUlRUUxJQUlnQkV3TkFBc2dCU0FFSUFJZ0EwZ2JJUVVnQWlBR0lBUWdDa2diSVFZTUFRc0xJQUFnQ3lrQ0FEY0NBQ0FISkFZTGdRRUJBWDBnQUNBQUtnSUFRd0FBZ0Q4Z0FDb0NJSlVpQVpRNEFnQWdBQ0FCSUFBcUFnU1VPQUlFSUFBZ0FTQUFLZ0lJbERnQ0NDQUFJQUVnQUNvQ0RKUTRBZ3dnQUNBQklBQXFBaENVT0FJUUlBQWdBU0FBS2dJVWxEZ0NGQ0FBSUFFZ0FDb0NHSlE0QWhnZ0FDQUJJQUFxQWh5VU9BSWNJQUJEQUFDQVB6Z0NJQXQ1QWdOL0FuMGpCaUVFSXdaQkVHb2tCaUFFUVFocUlnVkJCR29oQmlBRklBWWdBQ0FCS2dJQUlBRXFBZ1FRdlFJZ0JDQUZLZ0lBSUFJcUFnQ1RPQUlBSUFRZ0Jpb0NBQ0FDS2dJRWt6Z0NCQ0FFS2dJQUlnY2dCNVFnQkNvQ0JDSUhJQWVVa2lBRGxFTUFBSUEva2hEU0FTRUlJQVFrQmlBSUMvY0JBUTEvSXdZaEFpTUdRVEJxSkFZQ2Z5QUNRU0JxSWdNZ0FDQUJFS29CSUFKQkdHb2lCQ0FBSUFGQkNHb2lCeENxQVNBQ1FSQnFJZ1VnQUNBQlFSQnFJZ1lRcWdFZ0FrRUlhaUlLSUFNUXhRTWdBaUFFRU1VRElBRWdCeUFHSUFNZ0JDQUZFUDBCQkg5QkF5RUlJQWNoQ1NBQklRc0RRQ0FJUVFSSUJFQWdBeUFBSUFaQkNHb2lCaENxQVVFQUlBdEJDR29pQ3lBSlFRaHFJZ2tnQmlBRUlBVWdBeEQ5QVVVTkF4b2dBeUVOSUFoQkFXb2hDQ0FFSVFNZ0JTRUVJQTBoQlF3QkN3c2dDU0FHSUFFZ0JDQUZJQW9RL1FFRWZ5QUdJQUVnQnlBRklBb2dBaEQ5QVFWQkFBc0ZRUUFMQ3lFT0lBSWtCaUFPQzlRQkFRNS9Jd1loQ1NNR1FZQUJhaVFHSUFsQitBQnFJUW9nQ1VIb0FHb2hDeUFKUVVCcklRd2dDVUU0YWlFTklBbEJNR29oRGlBSlFTaHFJUThnQ1VIZ0FHb2lFQ0FKUWRnQWFpSVJJQWxCMEFCcUloSWdDVUhJQUdvaUV5QUpRZndBYWlJVUlBbEI4QUJxSWhVZ0FTQUNJQU1nQkJERUF3Ui9JQXdnRFNBT0lBOGdDaUFMSUFVZ0JpQUhJQWdReEFNRWZ5QUpJQkFnRVNBU0lCTWdEQ0FOSUE0Z0R4RHdCd1IvSUFBZ0NTQVVLZ0lBSUJVZ0Npb0NBQ0FMRU84SFFRRUZRUUFMQlVFQUN3VkJBQXNoRmlBSkpBWWdGZ3RQQVFGL0lBQWdBUkM4QWlJQlFRQk9CRUJCQUNFQkEzOGdBRUdNQ0dvZ0FVRUNkR29nQWlBQVFReHFJQUZCQW5ScUtBSUFhaUlDTmdJQUlBRkJBV29pQVVHQUFrY05BRUVBQ3lFQkN5QUJDNWtCQVFGL0lBQWdBU0FDRUlVQlF3QUFBQUJlSVFnZ0JDQUZJQVlRaFFGREFBQUFBRjRnQ0hNRWYwRUFCU0FCSUFJZ0F4Q0ZBVU1BQUFBQVhpQUZJQVlnQnhDRkFVTUFBQUFBWG5NRWYwRUFCU0FDSUFNZ0FCQ0ZBVU1BQUFBQVhpQUdJQWNnQkJDRkFVTUFBQUFBWG5NRWYwRUFCU0FESUFBZ0FSQ0ZBVU1BQUFBQVhpQUhJQVFnQlJDRkFVTUFBQUFBWG5OQkFYTUxDd3NMa0FrQ0NuOEJmU01HSVJFakJrRVFhaVFHSUJGQkNHb2hEeUFGS0FJRUlBVW9BZ0JyUVFKMUlBbEJDV3hKQkVBZ0QwSEF5QU5CMDRRQ0VEZEJqWVVDRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHVWhnSVFOeUlNSUF3b0FnQkJkR29vQWdCcUVEc2dEMEdBemdNUU9pSU5LQUlBS0FJY0lRNGdEVUVLSUE1QlAzRkJpZ0ZxRVFJQUlRMGdEeEE4SUF3Z0RSQkFJQXdRUHhBQUN5QUdLQUlFSUFZb0FnQWlER3RCQW5VZ0Ewa0VRQ0FQUWNESUEwSEdoZ0lRTjBHTmhRSVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZmlHQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFjb0FnUWdCeWdDQUd0QkEzVWdDVWtFUUNBUFFjRElBMEdpaHdJUU4wR05oUUlRTjBIdm9nSVFOMEg1QUJBK1FmYWlBaEEzUWVDSEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBTkJCRWdFZjBFQUJTQVJRZElKTmdJQUlBZ1FhU0VJSUFzZ0F4Q0ZBaUVOSUF3Z0F4RGNBeUFNSUFNZ0F5QVJFTUVDUVFBaEJnTkFJQkFnQ2tnZ0JpQUpTSEVFUUNBTUlBTkJCQ0FSRU1FQ0lBd29BZ0JCQVhRaUMwRUNkQ0FCYWlBTUtBSUVRUUYwSWc1QkFuUWdBV29nRENnQ0NFRUJkQ0lTUVFKMElBRnFJQXdvQWd4QkFYUWlFMEVDZENBQmFpQUxRUUowSUFKcUlBNUJBblFnQW1vZ0VrRUNkQ0FDYWlBVFFRSjBJQUpxRVBjSEJFQWdCU2dDQUNBR1FRbHNJZ3RCQW5ScUlBd29BZ0JCQVhRaURrRUNkQ0FCYWlBTUtBSUVRUUYwSWhKQkFuUWdBV29nRENnQ0NFRUJkQ0lUUVFKMElBRnFJQXdvQWd4QkFYUWlGRUVDZENBQmFpQU9RUUowSUFKcUlCSkJBblFnQW1vZ0UwRUNkQ0FDYWlBVVFRSjBJQUpxRVBVSEJFQWdCU2dDQUNBTFFRSjBhaUFFRVBRSEJFQWdCa0VCYWlFR0N3c0xJQkJCQVdvaEVBd0JDd3REQUFDQVB5QUlsU0VJSUFZRWZ5QUhLQUlBSVFSQkFDRUxBMEFnQ3lBR1NBUkFJQXRCQTNRZ0JHcERBQUFBQURnQ0FDQUxRUU4wSUFScUlBczJBZ1FnQzBFQmFpRUxEQUVMQzBFQUlRc2dCaUVLQTBBZ0N5QURTQ0FLUVFKS2NRUkFJQTBnQXlBTGF4Q0ZBaUFMYWlFR1FRQWhFQ0FIS0FJQUlRUURRQ0FLSUJCSEJFQWdCU2dDQUNBUVFRTjBJQVJxS0FJRVFRbHNRUUowYWlFT0lBc2hDUU5BSUFrZ0JrZ0VRQ0FPSUFsQkFuUWdER29vQWdCQkFYUWlCRUVDZENBQmFpQUVRUUowSUFKcUlBZ1E4d2NoRmlBSEtBSUFJZ1FnRUVFRGRHb2lFaUFXSUJJcUFnQ1NPQUlBSUFsQkFXb2hDUXdCQ3dzZ0VFRUJhaUVRREFFTEN5QVBJQVFnQ2lBS1FRSVFPU0FLUVFGeFFYOXFhaER4QnlBR0lRc2dDa0VCZFNFS0RBRUxDMEVCSVFNZ0J5Z0NBQ0lDS2dJQUlRZ2dBaWdDQkNFQkEwQWdBeUFLU0FSQUlBTkJBM1FnQW1vcUFnQWlGaUFJWFFSQUlCWWhDQ0FEUVFOMElBSnFLQUlFSVFFTElBTkJBV29oQXd3QkN3c2dBQ0FGS0FJQUlBRkJDV3hCQW5ScUVMNENJQUFROGdkQkFRVkJBQXNMSVJVZ0VTUUdJQlVMWlFCQkFVRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUcwRUJRWDhnQVNBQ0lBTVFoUUZEQUFBQUFGNGJha0VCUVg4Z0FpQURJQUFRaFFGREFBQUFBRjRiYWtFQlFYOGdBeUFBSUFFUWhRRkRBQUFBQUY0YmFpSUFRUUFnQUdzZ0FFRi9TaHRCQkVZTGpnRUNCSDhHZlNNR0lRUWpCa0V3YWlRR0lBUkJJR29pQlNBQklBQVEzd0VnQkVFWWFpSUdJQUlnQUJEZkFTQUVRUkJxSWdjZ0F5QUFFTjhCSUFSQkNHb2lBQ0FCSUFJUTN3RWdCQ0FESUFJUTN3RWdCU0FHRVA4QkFuMGdCaUFIRVA4QklRd2dCU0FIRVA4QklRb2dBQ0FFRVA4QklRc2dEQXNRL2dFZ0NoRCtBU0FMRVA0QklRMGdCQ1FHSUEwTDZnRUNDWDhCZlNNR0lRTWpCa0hnQUdva0JpQURRZGdBYWlFRUlBTkIwQUJxSVFVZ0EwSElBR29oQmlBRFFVQnJJUWNnQTBFNGFpRUlJQU5CTUdvaENTQURRU2hxSVFvZ0F5QUFRNnpGSnpjUXlBTUVmeUFJSUFHeUlndzRBZ0FnQ0VNQUFBQUFPQUlFSUFrZ0REZ0NBQ0FKSUFLeUlndzRBZ1FnQ2tNQUFBQUFPQUlBSUFvZ0REZ0NCQ0FFSUFOQmxNUURFS29CSUFVZ0F5QUlFS29CSUFZZ0F5QUpFS29CSUFjZ0F5QUtFS29CSUFRZ0JTQUdJQWNRK2djZ0FTQUNiTGRFTFVNYzYrSTJHaitpdGwwRWYwRUFCU0FFSUFVZ0JpQUhFUGtIQ3dWQkFBc2hDeUFESkFZZ0N3czZBUUYvSUFCQkRHb2lCaUFFRUljQklBRWdBaUFESUFRZ0JTQUFJQVlnQUVFWWFpQUFLZ0lrSUFBb0FpZ2dBQ2dDTENBQUtBSXdFUGdIQzhvR0FnMS9BWDBqQmlFSUl3WkJRR3NrQmlBSVFTaHFJUVFnQ0VFMGFpRU1JQWhCTUdvaERTQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUJEQUFBZ1FSQnBJUkVnQ0NBRFF3QUFBQUFReUFORkJFQWdCRUhBeUFOQjRvRUNFRGRCKzRFQ0VEZEI3NklDRURkQnhBRVFQa0gyb2dJUU4wSDZnZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQkJBOElBTWdCUkJBSUFNUVB4QUFDeUFBSUFFUWNSQ0FBZ0pBQWtBRFFDQUpJQUVRY1VrRVFDQUJJQWtReEFFaER5QU1JQTBnQ0NBQklBa1F3d0VpRGlvQ0FDQU9LZ0lFRUwwQ1FRQWhCa0YvSVFWQmZ5RUtRZi8vLy84SElRTURRQ0FHSUFJUWNVa0VRQ0FDSUFZUXd3RWhCeUFPTEFBUUlBY3NBQkJHQkVBZ0RDb0NBQ0FIS2dJQWt4QnBJQTBxQWdBZ0J5b0NCSk1RYVpJZ0VWNUZCRUFnRHlBQ0lBWVF4QUVRMndNaUJ5QUZTU0VMSUFVZ0J5QUtJQWNnQ2trYklBc2JJUW9nQmlBRElBc2JJUU1nQnlBRklBc2JJUVVMQ3lBR1FRRnFJUVlNQVFzTElBVkJmMGNFUUFKQUlBTkJmMFlOQkNBS1FYOUdCRUFnQkNBSklBTVF3Z0VnQUNnQ0JDSURJQUFvQWdoSkJFQWdBeUFFS1FNQU53SUFJQUFnQUNnQ0JFRUlhallDQkFVZ0FDQUVFSllCQ3d3QkN5QUZzeUFLczVVZ0FDb0NERjBFUUNBRUlBa2dBeERDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTEN3c0xJQWxCQVdvaENRd0JDd3NNQVFzZ0JFSEF5QU5CbTRNQ0VEZEIrNEVDRURkQjc2SUNFRGRCOFFFUVBrSDJvZ0lRTjBIamd3SVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR0FBaEErUWZhaUFoQTNRYkdFQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBRUVEd2dBQ0FCRUVBZ0FCQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhFQXNMQ3lBSUpBWWdFQXY4QXdFTWZ5TUdJUTRqQmtFUWFpUUdJQTRoQkNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQWdBQ0FCRUhFUWdBSURRQ0FGSUFFUWNVa0VRQ0FCSUFVUXhBRWhEQ0FCSUFVUXd3RWhEVUVBSVFkQmZ5RUdRZi8vLy84SElRaEJmeUVEQTBBZ0J5QUNFSEZKQkVBZ0RTd0FFQ0FDSUFjUXd3RXNBQkJHQkVBZ0J5QUlJQXdnQWlBSEVNUUJFSUlDSWdvZ0Jra2lDeHNoQ0NBR0lBb2dBeUFLSUFOSkd5QUxHeUVESUFvZ0JpQUxHeUVHQ3lBSFFRRnFJUWNNQVFzTElBWkJmMGNFUUFKQUlBTkJmMFlFUUNBRUlBVWdDQkRDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQWF6SUFPemxTQUFLZ0lNWFFSQUlBUWdCU0FJRU1JQklBQW9BZ1FpQXlBQUtBSUlTUVJBSUFNZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQlVFQmFpRUZEQUVMQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBId0FCQStRZmFpQWhBM1FiR0VBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FFRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaENRc0xDeUFFSkFZZ0NRdXBCUUVMZnlNR0lRUWpCa0VRYWlRR0lBQWdBQ2dDQURZQ0JDQUJFSEVFUUNBQ0VIRUVRQ0FBSUFFUWNSQ0FBZ0pBQWtBRFFDQUdJQUVRY1VrRVFDQURJQUVnQmhERUFTSU1FTlVISUFFZ0JoRERBU0VOSUFOQnlBQnFJUXBCQUNFSFFYOGhCVUYvSVFoQi8vLy8vd2NoQ3dOQUlBY2dDaWdDQkNBS0tBSUFJZ2xyUVFKMVNRUkFJQTBzQUJBZ0FpQUhRUUowSUFscUtBSUFFTU1CTEFBUVJnUkFJQXdnQWlBS0tBSUFJQWRCQW5ScUtBSUFFTVFCRUlJQ0lna2dCVWtFZnlBRklRZ2dDaWdDQUNBSFFRSjBhaWdDQUNFTElBa0ZJQWtnQ0NBSklBaEpHeUVJSUFVTElRVUxJQWRCQVdvaEJ3d0JDd3NnQlVGL1J3UkFBa0FnQzBGL1JnMEVJQWhCZjBZRVFDQUVJQVlnQ3hEQ0FTQUFLQUlFSWdVZ0FDZ0NDRWtFUUNBRklBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFXeklBaXpsU0FBS2dJTVhRUkFJQVFnQmlBTEVNSUJJQUFvQWdRaUJTQUFLQUlJU1FSQUlBVWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JrRUJhaUVHREFFTEN3d0JDeUFFUWNESUEwR2Jnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR2dBUkErUWZhaUFoQTNRZU9EQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FnUWdBQ2dDQUd0QkEzVWdBUkJ4U3dSQUlBUkJ3TWdEUWZXREFoQTNRZnVCQWhBM1FlK2lBaEEzUWE4QkVENUI5cUlDRURkQnNZUUNFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBVWdBQ2dDQkNBQUtBSUFhMEVEZFNFT0N3c0xJQVFrQmlBT0M1c0dBUTkvSXdZaEJTTUdRWkFCYWlRR0lBVkI2QUJxSVFJZ0JVSElBR29oQXlBRlFTaHFJUVFnQUNBQVFReHFJZzBvQWdBMkFoQWdBRUYvTmdJWUlBRVFoZ0ZCRUdvaENTQUFRZndFYWlFSUlBQkJqQVZxSVF3Z0FFR1VCbW9oRGlBQVFSeHFJUThnQUVIUUFHb2hDd05BSUFzb0FnQWlDd1JBSUFKQm5vQUNFSGtnQUN3QUNFVWhFQ0FCRUlZQklRY2dDMEVNYWlJR0tBSUFFSVlCSVFvQ1FBSkFJQkFFUUNBSUlBY2dDaEQrQnlBQUtBSUFUdzBCQlNBSUlBY2dDaUFMS0FJTVFTUnFFUDhISUFBb0FnQlBEUUVMSUFJUWF3d0JDeUFDRUdzZ0JpZ0NBQkNHQVJDQkFpRUhJQUpCcjRBQ0VIa2dEQ0FKSUFjZ0NDQUJLQUlBSUFFb0FnUWdCaWdDQUNnQ0FDQUdLQUlBS0FJRUVNd0RJZ3BCQUVnRVFDQUNFR3NNQVFzZ0FoQnJJQUpCQURZQ0FDQUNRUUEyQWdRZ0FrRUFOZ0lJSUFWQndJQUNFSGtnQWlBTUlBZ2dDaERMQXlBRkVHc2dBMEhYZ0FJUWVRSkFJQVVnQ1NBSElBSWdEaUFHS0FJQUtBSUFJQVlvQWdBb0FnUVF5Z05GQkVBZ0F4QnJEQUVMSUFNUWF5QURRUUEyQWdBZ0EwRUFOZ0lFSUFOQkFEWUNDQ0FFUWUrQUFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RBa0FnQXlnQ0JDQURLQUlBYTBFRGRTQUFLQUlBU1FSQUlBUVFhd3dCQ3lBRUVHc2dCRUdBZ1FJUWVTQUlJQUVRaGdFZ0JpZ0NBQkNHQVNBRkVQMEhJQUFvQWdCSkJFQWdCQkJyREFFTElBUVFheUFFUVpHQkFoQjVJQXdnQ1NBSElBZ2dBU2dDQUNBQktBSUVJQVlvQWdBb0FnQWdCaWdDQUNnQ0JCRE1BeUlLUVFCSUJFQWdCQkJyREFFTElBUVFheUFFUWFLQkFoQjVJQUlnRENBSUlBb1F5d01nQkJCcklBUkJ1WUVDRUhrZ0JTQUpJQWNnQWlBT0lBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJES0EwVUVRQ0FFRUdzTUFRc2dCQkJySUFNZ0F5Z0NBRFlDQkNBRVFkR0JBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtESUFRUWF5QURLQUlFSUFNb0FnQnJRUU4xSWdZZ0FDZ0NBRThFUUNBR0lBQW9BaEFnRFNnQ0FHdEJBM1ZMQkVBZ0R5QUZFTDRDSUEwZ0F4Q0pBaUFBSUFzb0FnZzJBaGdMQ3dzZ0F4QlZDeUFDRUZVTERBRUxDeUFBS0FJWUdpQUZKQVlMM0FJQkIzOGpCaUVDSXdaQlFHc2tCaUFDUVJCcUlRTWdBa0U0YWlFRUFrQUNRQ0FBUWFBQmFpSUdLQUlBSUFFUWRDZ0NBQ2dDQkVjTkFDQUdLQUlFSUFFUWRDZ0NBQ2dDQ0VjTkFBd0JDeUFHSUFFUSt3Z0xRWlFCRUZFaUJSRG5BeUFDUVFBMkFqQWdBeUFDS0FJd05nSUFJQVFnQlJEbUF5QUVLQUlBSVFjZ0JDQUFRVUJySWdVb0FnQTJBZ0FnQlNBSE5nSUFJQVFvQWdRaEJ5QUVJQUFvQWtRMkFnUWdBQ0FITmdKRUlBUVFsUUVnQlNnQ0FDQUJFSFFvQWdBb0FnUVE1UU1nQlNnQ0FDQUJFSFFvQWdBb0FnZ1E1QU1nQTBHSThRRVFlU0FGS0FJQUlBRWdCaUFBUWJ3Q2FoQ3RDQ0FERUdzQ2Z4RGpBeUVJSUFNUXV3TWdBeWdDQUNBRElBTXNBQXRCQUVnYklRUWdCU2dDQUJDR0FSQnhJUVlnQWtId293STJBZ0FnQWlBRU5nSUVJQUpCL1AwQk5nSUlJQUlnQmpZQ0RDQUlDMEhRL1FFZ0FoQzNBeUFERUVjZ0FDQUZLQUlBRUlBSUlBSWtCZ3VRQVFFRGZ5TUdJUU1qQmtFZ2FpUUdBa0FDUUNBQVFkd0FhaUlDRUhRaUJDZ0NCQ0FFS0FJQVJnMEFJQUlRZENnQ0FDZ0NCQ0FCS0FJRVJ3MEFJQUlRZENnQ0FDZ0NDQ0FCS0FJSVJ3MEFEQUVMSUFFb0FnUWdBU2dDQ0JDdUNDRUVJQUlnQVNnQ0JDQUJLQUlJSUFRUTBBZ0xJQU5CK3ZBQkVIa2dBaUFCRU1nSUlBTVFheUFBSUFJUWdRZ2dBeVFHQ3lVQkFYOUJrQkFRUkNJQ0JFQWdBa0VBTmdJQUlBSWdBRFlDQkNBQ0lBRTJBZ2dMSUFJTE5BRUJmeU1HSVFRakJrRWdhaVFHSUFRZ0FVRUJJQUlnQXlBQ0VMZ0RJQUFvQWdBb0FnQWdCQkNDQ0NBRUVOMEJJQVFrQmdzckFRRi9JQUFvQWdnaEFnTkFJQUlRMUFNZ0FDQUFLQUlJUVJScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzZnQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFSUVFPU0FCU1FSQVFjeVpzK1lBSUFNZ0FDZ0NBR3RCRkJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRVVFRGtpQlVFQmRDSUdJQVlnQTBrYlFjeVpzK1lBSUFWQjVzeVpNMGtiSUFBb0FnUWdCR3RCRkJBNUlBQkJDR29RK2dNZ0FpQUJFSVVJSUFBZ0FoRDVBeUFDRVBnREN3VWdBQ0FCRU5VREN5QUNKQVlMVWdFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRnNhaUVCREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRJQUJCQURZQ0NDQUFRUUEyQWdRZ0FFRUFOZ0lBQ3dzdEFRRi9JQUFvQWdnaEFnTkFJQUpCQURvQUFDQUFJQUFvQWdoQkFXb2lBallDQ0NBQlFYOXFJZ0VOQUFzTExRRUJmeUFBS0FJRUlRSURRQ0FDUVFBNkFBQWdBQ0FBS0FJRVFRRnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlBQkVJZ0lJQUFnQWhEWEFpQUNFTllDQ3dVZ0FDQUJFSWtJQ3lBQ0pBWUxMd0VCZjBILy8vLy9CeUFCU1FSQUVBQUZJQUFnQVJCUklnSTJBZ1FnQUNBQ05nSUFJQUFnQVNBQ2FqWUNDQXNMWFFFQmYwSFZxdFdxQVNBQlNRUkFFQUFMSUFGQjFhclZxZ0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCREd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkRHd2dBbW8yQWdnTEMrY0JBUWQvSUFJZ0FXdEJEQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFRd1FPVXNFUUNBQUVNOERRZFdxMWFvQklBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCREJBNUlnUkJBWFFpQlNBRklBTkpHMEhWcXRXcUFTQUVRYXJWcXRVQVNSc1FqQWdnQUNBQklBSWdBeERRQXdzRklBTWdBQ2dDQkNBRWEwRU1FRGtpQmtzaEJTQUdRUXhzSUFGcUlBSWdCUnNpQ0NBQmF5SUdRUXdRT1NFSklBWUVRQ0FFSUFFZ0JoRG5BUm9MSUFVRVFDQUFJQWdnQWlBRElBQW9BZ1FnQUNnQ0FHdEJEQkE1YXhEUUF3VWdBQ0FKUVF4c0lBZHFOZ0lFQ3dzTHlBRUJBbjhqQmlFRUl3WkJFR29rQmlBRVFRUnFJUU1nQkNBQ05nSUFJQUJCeUFCcUlnSWdCQkRvQXdSQVFSQVFCU0VBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBMEhvOEFGQjZQQUJFR0FRZmlBQUlBTVFoZ0lnQUVHSThnQkJCUkFFQ3lBQ0lBUVFxd2doQUNBRElBRW9BZ0FpQWpZQ0FDQURJQUVvQWdRaUFUWUNCQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdRRlFRQUxJUUVnQXlBQUtBSUFOZ0lBSUFBZ0FqWUNBQ0FESUFBb0FnUTJBZ1FnQUNBQk5nSUVJQU1RbFFFZ0JDUUdDOE1CQVFWL0lBQW9BZ0FpQXlFRklBSWdBV3NpQkNBQUtBSUlJQU5yU3dSQUlBQVF6d05CLy8vLy93Y2dCRWtFUUJBQUJTQUFJQVFnQUNnQ0NDQUFLQUlBYXlJRFFRRjBJZ1VnQlNBRVNSdEIvLy8vL3djZ0EwSC8vLy8vQTBrYkVJc0lJQUFnQVNBQ0lBUVF6Z01MQlNBRUlBQW9BZ1FnQTJzaUJrc2hBeUFCSUFacUlBSWdBeHNpQnlBQmF5SUdCRUFnQlNBQklBWVE1d0VhQ3lBREJFQWdBQ0FISUFJZ0FDZ0NBQ0FFSUFBb0FnUnJhaERPQXdVZ0FDQUZJQVpxTmdJRUN3c0xOZ0VDZnlBQUtBSUVJQUFvQWdBaUEyc2lBaUFCU1FSQUlBQWdBU0FDYXhDS0NBVWdBaUFCU3dSQUlBQWdBU0FEYWpZQ0JBc0xDNGtDQVFoL0lBSWdBV3RCRkJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUlFRT1VzRVFDQUFFSWNJUWN5WnMrWUFJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkZCQTVJZ1JCQVhRaUJTQUZJQU5KRzBITW1iUG1BQ0FFUWViTW1UTkpHeERXQXlBQUlBRWdBaUFERU0wREN3VUNRQ0FESUFBb0FnUWdCR3RCRkJBNUlnWkxJUVVnQmtFVWJDQUJhaUFDSUFVYklnZ2dBV3NpQmtFVUVEa2hDaUFHQkVBZ0JDQUJJQVlRNXdFYUN5QUZCRUFnQUNBSUlBSWdBeUFBS0FJRUlBQW9BZ0JyUVJRUU9Xc1F6UU1NQVFzZ0NrRVViQ0FIYWlFQ0lBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkFzTEM5a0NBUVYvSXdZaEJ5TUdRU0JxSkFZZ0IwRU1haUlJSUFZMkFnQkJsQUVRVVNJSkVPY0RJQWRCQURZQ0NDQUhRUmhxSWdvZ0J5Z0NDRFlDQUNBSFFSQnFJZ1lnQ1JEbUF5QUdLQUlBSUFRUTVRTWdCaWdDQUNBRkVPUURJQVlvQWdBUWhnRVEwZ01nQmlnQ0FCQ0dBUkNCQWlBQktBSUVJQUVvQWdCclFSUVFPUkRSQXlBR0tBSUFFSVlCRUlFQ0lnUWdBVWNFUUNBRUlBRW9BZ0FnQVNnQ0JCQ1JDQXNnQmlnQ0FCQ0dBUkIwSUFJb0FnUWdBaWdDQUdzUWtBZ2dCaWdDQUJDR0FSQjBJZ0VnQWtjRVFDQUJJQUlvQWdBZ0FpZ0NCQkNQQ0FzZ0JpZ0NBQkNzQ0FKL0lBQW9BZ0FvQWdBaEN5QUhJQVlvQWdBMkFnQWdCeUFHS0FJRUlnRTJBZ1FnQVFSQUlBRWdBU2dDQkVFQmFqWUNCQXNnQ3dzZ0J5QUlLQUlBRUk0SUlBY1FsUUVnQUNnQ0FFRUVhaUFJRU1NQ0lnQWdBMGNFUUNBQUlBTW9BZ0FnQXlnQ0JCQ05DQXNnQmhDVkFTQUhKQVlMUHdBZ0FDQUJOZ0lBSUFCQkJHb2lBRUlBTndJQUlBQkNBRGNDQ0NBQVFnQTNBaEFnQUVJQU53SVlJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFSUFOd0l3QzF3QkFYOGdBRUhTQ1RZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFCQkRHb2lBU0FBRUpNSUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVJQU53SklJQUJDQURjQ1VDQUFRZ0EzQWxnZ0FFRVFOZ0pzSUFFUTJBTWdBVUVCRU5jREN4UUFJQUJCREdwQkFDQUJLQUlFUWJYOEFVWWJDeFVBSUFBb0Fnd2lBQVJBSUFBUW13Z2dBQkE0Q3dzZUFDQUFRVEJxRUZVZ0FFRWthaEJWSUFCQkdHb1FWU0FBUVF4cUVGVUxPUUVCZnlBQVFkUUFhaERUQXlBQVFjZ0FhaEJWSUFCQkRHb1Fsd2dnQUNnQ0NDRUJJQUJCQURZQ0NDQUJCRUFnQVJERUFpQUJFRGdMQzhZREFnTi9BWHdqQmlFREl3WkJ3QUZxSkFZZ0F5QUJRYWdCYWtFRUlBRW9BZ3hCQUVnRWZ5QUJRUlJxQlNBQktBSUlRUUJJQkg4Z0FVRVlhZ1VnQVVFUWFnc0xLQUlBSWdSclFRUVFUeUlGUVFSMGFpc0RBRGtEWUNBRElBRWdCVUVFZEdvckE3QUJPUU5vSUFNZ0FVR29BV3BCQlNBRWEwRUVFRThpQlVFRWRHb3JBd0E1QTNBZ0F5QUJJQVZCQkhScUt3T3dBVGtEZUNBRElBRkJxQUZxUVFZZ0JHdEJCQkJQSWdWQkJIUnFLd01BT1FPQUFTQURJQUVnQlVFRWRHb3JBN0FCT1FPSUFTQURJQUZCcUFGcVFRY2dCR3RCQkJCUElnUkJCSFJxS3dNQU9RT1FBU0FESUFFZ0JFRUVkR29yQTdBQk9RT1lBU0FESUFKRUFBQUFBQUFBNEwraUlnWTVBd0FnQXlBQ1JBQUFBQUFBQU9BL29pSUNPUU1JSUFORUFBQUFBQUFBQUFBNUF4QWdBeUFDT1FNWUlBTWdBamtESUNBRFJBQUFBQUFBQUFBQU9RTW9JQU1nQWprRE1DQURJQVk1QXpnZ0EwRkFhMFFBQUFBQUFBQUFBRGtEQUNBRElBWTVBMGdnQXlBR09RTlFJQU5FQUFBQUFBQUFBQUE1QTFnZ0EwR29BV29pQVNBRFFlQUFhallDQUNBQklBTTJBZ1FnQVVFRU5nSUlJQUFvQWdBZ0FVR0FwQU5CZ0tRRElBTkJvQUZxRU9vQkdpQURLd09nQVJvZ0F5UUdDOU1UQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0FVRUNFRGtoRENBQ1FRSVFPU0VPSUFRb0FnQWlCeUVDSUF3Z0RrRi9haUlRYkVFQmRDQUhhaUVGQTBBZ0JpQU1TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBR1FRRnFJUVlNQVFzTElBY2hBaUFNUVg5cUloRkJBWFFnQjJvaEJVRUFJUVlEUUNBR0lBNUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU1RUUYwSUFKcUlRSWdERUVCZENBRmFpRUZJQVpCQVdvaEJnd0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RHc2hFaUFBSUFGQkFYUkJBbXBxSVExQkFTRUxRUUFoQlNBTVFRRnFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFVWdFUUNBTkxRQUFJQU5LQkVBZ0IwRUFPd0VBQlFKQUlCSkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0xJQTFCQW1vaERTQUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTFxUVFScUlRMGdDMEVCYWlFTElBQWhCU0FIUVFScUlRY01BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUhRUUVoQUVFQklRTURRQ0FESUFWTUJFQWdBeUFDS0FJQUlnWkdCRUFnQUVFQmFpRUJCU0FBSVFFZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUNJQUEyQWdBZ0FTRUFJQU5CQVdvaEF5QUNRUVJxSVFJTUFRc0xJQVFnQUVGL2FpSUFOZ0lJSUFBRWZ5QUhRUUFnQUVFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FBUVFSMEVFVWFRUUFoQVFOQUlBRWdBRWdFUUNBRVFZeUFDR29nQVVFQ2RDSUNRUUowYWlBTU5nSUFJQVJCaklBSWFpQUNRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUFPTmdJQUlBUkJqSUFJYWlBQ1FRTnlRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCQUNFQkEwQWdBU0FGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFCUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlESUFSQmtJRFFBR29nQVVFSGJDSUFRUUowYWlnQ0FDQURLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lEUVFOMGFpSUhJQWNyQXdBZ0FFRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQURRUUZ5UVFOMGFpSURJQU1yQXdBZ0FFRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lIU0FSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2tnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0lvQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUlnQURZQ0FBc2dBVUVCYWlFQkRBRUxDeUFFS0FJSUlRRkJBQ0VBQTM4Z0FDQUJTQVIvSUFSQmtJQW9haUFBUVFGMElnSkJBM1JxSWdNZ0F5c0RBQ0FFUVF4cUlBQkJBblJxS0FJQXR5SVZvemtEQUNBRVFaQ0FLR29nQWtFQmNrRURkR29pQWlBQ0t3TUFJQldqT1FNQUlBQkJBV29oQUF3QkJVRUFDd3NGUVFBTEN5RVVJQThrQmlBVUN4NEFJQUJCSkdvUW1BZ2dBRUVJYWlJQVFSQnFFTmtDSUFCQkJHb1FWUXNxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVOWURJQUFnQVJEVkF3c0xYUUVCZjBILy8vLy9BeUFCU1FSQUVBQUxJQUZCLy8vLy93TkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBblFRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQW5RZ0FtbzJBZ2dMQ3pzQkEzOGdBU0VFSUFBb0FnZ2lCU0VEQTBBZ0F5QUNLQUlBTmdJQUlBTkJCR29oQXlBRVFYOXFJZ1FOQUFzZ0FDQUJRUUowSUFWcU5nSUlDOW9CQVFaL0l3WWhDQ01HUVNCcUpBWWdDQ0VFSUFBb0FnUWlBeUVHSUFBb0FnZ2dBMnRCQW5VZ0FVa0VRRUgvLy8vL0F5QUJJQU1nQUNnQ0FHdEJBblZxSWdkSkJFQVFBQVVnQkNBSElBQW9BZ2dnQUNnQ0FDSUZheUlHUVFGMUlnTWdBeUFIU1J0Qi8vLy8vd01nQmtFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQld0QkFuVWdBRUVJYWhESUFTQUVJQUVnQWhDZUNDQUFJQVFRNUFFZ0JCREhBUXNGSUFFaEF5QUdJUVVEUUNBRklBSW9BZ0EyQWdBZ0JVRUVhaUVGSUFOQmYyb2lBdzBBQ3lBQUlBRkJBblFnQm1vMkFnUUxJQVFrQmd1RkJRRUhmeU1HSVFrakJrRVFhaVFHSUFBb0FnUWdBQ2dDQUd0QkFuVWdCRWNFUUNBSlFjRElBMEdaOFFFUU4wRzM5UUVRTjBIdm9nSVFOMEhHQVJBK1FmYWlBaEEzUWF6NEFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBSkJBRXdFUUNBSlFjRElBMEhWOWdFUU4wRzM5UUVRTjBIdm9nSVFOMEhIQVJBK1FmYWlBaEEzUWYzMkFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBUWdBa29FUUNBSlFjRElBMEdoOXdFUU4wRzM5UUVRTjBIdm9nSVFOMEhJQVJBK1FmYWlBaEEzUWRUM0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTElBWkJBRXdFUUNBSlFjRElBMEhKK0FFUU4wRzM5UUVRTjBIdm9nSVFOMEhKQVJBK1FmYWlBaEEzUWZENEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTFFRQWhDQU5BSUFnZ0JFZ0VRQ0FJUVFKMElBTnFJUXhCQUNFS1FYOGhBZ05BSUFZZ0NrY0VRQ0FCSUF3b0FnQkI0QUJzYWlBQklBcEJBblFnQldvaURTZ0NBRUVDZENBRGFpZ0NBRUhnQUd4cUVJSUNJZ2NnQWtrRVFDQUFLQUlBSUFoQkFuUnFJQTBvQWdBMkFnQWdCeUVDQ3lBS1FRRnFJUW9NQVFzTElBSWdDMm9oQ3lBSVFRRnFJUWdNQVFzTElBa2tCaUFMQzFBQkFYOGdBRUVZRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFLQUlBTmdJSUlBUkJBRFlDRENBRVFRQTJBaEFnQkVFQU5nSVVJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQ3pJQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVhaUFDUWVBQUVFd2FDMHdCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCQW5VZ0FVa0VRQ0FDSUFFZ0FDZ0NCQ0FEYTBFQ2RTQUFRUWhxRU1nQklBQWdBaERrQVNBQ0VNY0JDeUFDSkFZTG5BRUJCWDhqQmlFQ0l3WkJJR29rQmtILy8vLy9BeUFBS0FJRUlBQW9BZ0JyUVFKMVFRRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUUYxSWdZZ0JpQURTUnRCLy8vLy93TWdCVUVDZFVILy8vLy9BVWtiSUFBb0FnUWdCR3RCQW5VZ0FFRUlhaERJQVNBQ0tBSUlJZ01nQVNnQ0FEWUNBQ0FDSUFOQkJHbzJBZ2dnQUNBQ0VPUUJJQUlReHdFZ0FpUUdDd3ZEQmdFR2Z5TUdJUVlqQmtFUWFpUUdJQUFvQWdRaUNDQUFLQUlRSUFBb0FneHJRUUoxUndSQUlBWkJ3TWdEUVlyMUFSQTNRYmYxQVJBM1FlK2lBaEEzUVpvQkVENUI5cUlDRURkQnFQWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dBa0VBVEFSQUlBWkJ3TWdEUWRYMkFSQTNRYmYxQVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQi9mWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dCQ0FDU2dSQUlBWkJ3TWdEUWFIM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVp3QkVENUI5cUlDRURkQjFQY0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dDQ0FFU2dSQUlBWkJ3TWdEUWUvM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVowQkVENUI5cUlDRURkQm1QZ0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUhJQWhCQ2lBSFFUOXhRWW9CYWhFQ0FDRUlJQVlRUENBRklBZ1FRQ0FGRUQ4UUFBc2dCa0YvTmdJQUlBQkJHR29pQ2lBRUlBWVEzUU1nQmtGL05nSUFJQUJCSkdvaUNTQUVJQVlRM1FNZ0FFRXdhaUFFRUljQklBQW9BakFpQlNBQUtBSTBJQVZyUVFKMUVOd0RRWDhoQlVFQUlRY0RRQ0FISUFBb0FnaElCRUFnQUNnQ01DSUlJQUFvQWpRZ0NHdEJBblVnQUNnQ0JDQUFLQUlBRU1FQ0lBa2dBU0FDSUFNZ0JDQUFLQUl3SUFBb0FnUVFvQWdpQ0NBRlNRUkFJQW9nQ1JDSkFpQUFLQUlNSUFBb0FqQWdBQ2dDQkVFQ2RCQk1HaUFJSVFVTElBZEJBV29oQnd3QkN3c2dBQ2dDQkNBQUtBSVFJQUFvQWd4clFRSjFSZ1JBSUFZa0JnVWdCa0hBeUFOQml2VUJFRGRCdC9VQkVEZEI3NklDRURkQnV3RVFQa0gyb2dJUU4wR285Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBQWdBUkJBSUFBUVB4QUFDd3ZrQkFJTmZ3TjhJd1loQ2lNR1FSQnFKQVlnQ2tFRWFpRVFRUUlRNXdJaERrRUNFT2NDSVF0QkFrRUNFSXNCSVF3Q2Z3SkFBa0FEUUFKQUlBZEJCRThOQWlBSFFRRnFJZ0pCQW5RZ0Eyb29BZ0FpRDBFQmFpQUhRUUowSUFOcUtBSUFJZ2hydDBTYW1abVptWm1wUDZKRUFBQUFBQUFBNEQrZ0loUWdDTGVnRUhNaEVTQVB0eUFVb1JCeklCRnJJaEpCQVdwQkFoQ0xBU0VOUVFBaENRTkFJQWtnRWt3RVFDQUVJQWtnRVdvaUNFRUNkQ0FBYWlnQ0FMSWdDRUVDZENBQmFpZ0NBTElnRUNBS0VLWUJRUUJJRFFJZ0RTZ0NBQ0lJSUFsQkFYUWlEMEVEZEdvZ0VDb0NBTHM1QXdBZ0QwRUJja0VEZENBSWFpQUtLZ0lBdXprREFDQUpRUUZxSVFrTUFRc0xJQTBnRENBT0lBc1FuUVZCQUVnTkF5QUhRUmhzSUFWcUlBd29BZ0FpQ0NzRENDSVZPUU1BSUFkQkdHd2dCV29nQ0NzREFKb2lGRGtEQ0NBSFFSaHNJQVZxSUJVZ0N5Z0NBQ0lIS3dNQW9pQUhLd01JSUJTaW9KbzVBeEFnRFJCSklBSWhCd3dCQ3dzTUFRc2dEQkJKSUFzUXp3RWdEaERQQVVFQUlRUURmMEVBSUFSQkJFOE5BaG9nQkVFRGFrRURjU0lBUVJoc0lBVnFJZ01yQXdBZ0JFRVliQ0FGYWlzRENDSVZvaUFFUVJoc0lBVnFJZ0lyQXdBZ0FFRVliQ0FGYWlzRENDSVVvcUVpRnBsRUxVTWM2K0kyR2o5akJIOUJmd1VnQkVFRWRDQUdhaUFVSUFSQkdHd2dCV29pQVNzREVLSWdGU0FBUVJoc0lBVnFJZ0FyQXhDaW9TQVdvemtEQUNBRVFRUjBJQVpxSUFJckF3QWdBQ3NERUtJZ0F5c0RBQ0FCS3dNUW9xRWdGcU01QXdnZ0JFRUJhaUVFREFFTEN3d0JDeUFORUVrZ0RCQkpJQXNRendFZ0RoRFBBVUYvQ3lFVElBb2tCaUFUQ3pBQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVha0hnQUJEWkF3dE9BUUovUVlBQkVGRWlCaUFBRU9FREVLY0lJQUFvQWdnaEJTQUFJQVkyQWdnZ0JRUi9JQVVReEFJZ0JSQTRJQUFvQWdnRklBWUxRUUFRZ3dJZ0FDQUFLQUlJSUFFZ0FpQURJQVFRNEFNTFhnRUVmeU1HSVFNakJrRVFhaVFHSUFNZ0FoQ0VBaUFES0FJRUlBTW9BZ0FpQld0QkFuVWhCZ05BSUFRZ0JrY0VRQ0FFUVFKMElBVnFJQVEyQWdBZ0JFRUJhaUVFREFFTEN5QUFJQUVnQWlBRklBWVFxQWdnQXhCVklBTWtCZ3RKQVFGL0lBQkJGQkJSSWdRMkFnQWdBQ0FCUVFocU5nSUVJQVFnQXlnQ0FDZ0NBRFlDQ0NBRVFRQTJBZ3dnQkVFQU5nSVFJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRcWdnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MUHdFQmZ5QUFRU1JxSWdGQkRHcEJnQUVRMXdNZ0FVRU1haERZQXlBQlFRZzJBbWdnQVVFUU5nSnNJQUVnQUVFSWFpSUFFSFFvQWdBZ0FCQnhFS2tJQzg4R0FRVi9Jd1loQ0NNR1FTQnFKQVlnQ0VFVWFpRUdJQUZGQkVBZ0JrSEF5QU5CeDVZQ0VEZEJrUGtCRURkQjc2SUNFRGRCMUFFUVBrSDJvZ0lRTjBIVWx3SVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNSUVJBSUFaQndNZ0RRWWo2QVJBM1FaRDVBUkEzUWUraUFoQTNRZFVCRUQ1QjlxSUNFRGRCcVBvQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBJZ1FvQWdRZ0JDZ0NBRVlFUUNBR1FjRElBMEc1K2dFUU4wR1ErUUVRTjBIdm9nSVFOMEhXQVJBK1FmYWlBaEEzUWUzNkFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRkVFQWdCQkEvRUFBTElBRVFkQ2dDQUNnQ0JDQUNLQUlBUndSQUlBWkJ3TWdEUWY3NkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRjQkVENUI5cUlDRURkQngvc0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwS0FJQUtBSUlJQUlvQWdSSEJFQWdCa0hBeUFOQjZ2c0JFRGRCa1BrQkVEZEI3NklDRURkQjJBRVFQa0gyb2dJUU4wSEgrd0VRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDSUFFUTlBZ2dCaUFDRU1BQ0lnUW9BZ1FnQkNnQ0FHdEJKQkE1RUp3SVFRQWhCQU5BSUFRZ0FoREFBaUlGS0FJRUlBVW9BZ0JyUVNRUU9Va0VRQ0FJSUFJUXdBSW9BZ0FpQlNBRVFTUnNhaW9DQUNBRVFTUnNJQVZxS2dJRUlBUkJKR3dnQldvcUFnZ2dCRUVrYkNBRmFpb0NIQ0FFUVNSc0lBVnFLZ0lZUXdBQUFBQmVFUHdESUFZb0FnQWdCRUVVYkdvaUJTQUlLUUlBTndJQUlBVWdDQ2tDQ0RjQ0NDQUZJQWdzQUJBNkFCQWdCRUVCYWlFRURBRUxDeUFESUFBUWhnRWdBU0FHRUxZSElBWVEyUUlnQ0NRR0N5OEJBWDhEUUNBQVFRaElJQUZCQ0VoeVJRUkFJQUpCQVdvaEFpQUJRUUYxSVFFZ0FFRUJkU0VBREFFTEN5QUNDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRURkQkJGR2lBQUlBRkJBM1FnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFRTjBFRVVhSUFBZ0FVRURkQ0FDYWpZQ0JBdWxBUUVGZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURhMEVEZFNBQlNRUkFRZi8vLy84QklBRWdBeUFBS0FJQWEwRURkV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSWdBUkN2Q0NBQUlBSVF6UUlnQWhETUFnc0ZJQUFnQVJDd0NBc2dBaVFHQ3owQkFuOGdBQ2dDQkNBQUtBSUFJZ0pyUVFOMUlnRkJnQWhKQkVBZ0FFR0FDQ0FCYXhDeENBVWdBVUdBQ0VzRVFDQUFJQUpCZ0VCck5nSUVDd3NMTkFBZ0FFR0F5QUFRaHdFZ0FFRVlhaEN5Q0NBQVF3clhJenc0QWlRZ0FFR0FDRFlDS0NBQVFhZ0lOZ0lzSUFCQk1qWUNNQXNxQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFBUXN3Z0x4QUVCQVg4Z0FFRUFOZ0lNSUFCQkFEWUNFQ0FBUVFBMkFoUWdBRUZBYXlJQlFnQTNBZ0FnQVVJQU53SUlJQUZDQURjQ0VDQUFRWUNBZ1B3RE5nSllJQUJCM0FCcUVORUlJQUJCb0FGcUlnRVFnZ2tnQUVHOEFtb1F1QWNnQUVFQU5nTDhCQ0FBUVFBMkFvQUZJQUJCQURZQ2hBVWdBRU16TXpNL09BS0lCU0FBUVl3RmFoREZCeUFBUVpRR2FoQzBDQ0FCUXdBQVFFQTRBalFnQVVNQUFJQkFPQUk0SUFGQjlBTVE5d01nQUVNQUFFQkFPQUlFSUFCQkNEWUNBQ0FBUVFFNkFBZ0xKQUVDZndOQUlBQUVRQ0FBS0FJQUlRSWdBRUVNYWhCVklBQVFPQ0FDSVFBTUFRc0xDNDhGQWc5L0FYd2pCaUVFSXdaQjRBQnFKQVlnQkVFd2FpRUhJQVJCM0FCcUlRTWdCRUhZQUdvaEJTQUJRUnhxSWdnb0FnQWhDeUFCUWR5NEFtb2lDU2dDQUNFTUlBRW9BaGhCZjJvaERVRUJJUVlEUUNBR0lBMUlCRUFnQmlBQ0lBRkJIR29nQmtFQ2RHb29BZ0FnQzJzaUFpQUNiQ0FCUWR5NEFtb2dCa0VDZEdvb0FnQWdER3NpQWlBQ2JHb2lEaUFLU2lJUEd5RUNJQVpCQVdvaEJpQU9JQW9nRHhzaENnd0JDd3NnQTBFQU5nSUFJQVZCQURZQ0FDQUlJQWxCQUNBQ0lBQzNSQUFBQUFBQUFPZy9vMFI3Rks1SDRYcUVQNklpRVNBSElBTVFxd0ZCQUVnRWYwRi9CU0FJSUFrZ0FpQUJLQUlZUVg5cUlCRWdCQ0FGRUtzQlFRQklCSDlCZndVQ2Z5QURLQUlBSWdCQkFVWWdCU2dDQUNJR1FRRkdjUVJBSUFRb0FnQWhBQ0FIS0FJQUlRTUZBbjhnQmtVZ0FFRUJTbkVFUUNBQ1FRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFsQkFDQUFJQkVnQnlBREVLc0JRUUJJRFFNYVFYOGdDQ0FKSUFBZ0FpQVJJQVFnQlJDckFVRUFTQTBER2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRTWFJQUloQUNBSEtBSUFJUU1nQkNnQ0FBd0JDMEYvSUFCRklBWkJBVXB4UlEwQ0dpQUJLQUlZSUFKQmYycHFRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBa2dBaUFBSUJFZ0J5QURFS3NCUVFCSURRSWFRWDhnQ0NBSklBQWdBU2dDR0VGL2FpQVJJQVFnQlJDckFVRUFTQTBDR2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRSWFJQVFvQWdBaEFDQUNJUU1nQnlnQ0FBc2hBZ3NnQVVHYzhRUnFRUUEyQWdBZ0FVR2c4UVJxSUFNMkFnQWdBVUdrOFFScUlBSTJBZ0FnQVVHbzhRUnFJQUEyQWdBZ0FVR3M4UVJxSUFFb0FoaEJmMm8yQWdCQkFBc0xDeUVRSUFRa0JpQVFDeVVCQW44RFFDQUFCRUFnQUNnQ0FDRUNJQUJCREdvUWxRRWdBQkE0SUFJaEFBd0JDd3NMS1FFQmZ5QUFLQUlJRUxnSUlBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBQW9BZ1FhSUFFUU9Bc0xTZ0VDZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQURZQ0VDQUFRWUNBZ1B3RE5nSVVRY2dHRUZFaUFoQzFDQ0FBS0FJQUlRRWdBQ0FDTmdJQUlBRUVRQ0FCRU9vRElBRVFPQXNMTUFFQ2Z5QUFRUUEyQWdCQkdCQlJJZ0lRdWdnZ0FDZ0NBQ0VCSUFBZ0FqWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTEM5d0JBZ0YvQm4wZ0JTb0NBQ0lJSUFNcUFnQWlCNU1oQ1NBSUlBUXFBZ0FpQ0pNZ0NaUWhDaUFISUFpVElnc2dDWlFoQ1NBS1F3QUFBQUJiSUFsREFBQUFBRnR5SUF0REFBQUFBRnR5Qkg4Z0FFTUFBQUFBT0FJQUlBRkRBQUFBQURnQ0FFTUFBQUFBSVFkQkFBVWdBQ0FGS2dJRUlBUXFBZ1FpREpNZ0NwVWdBeW9DQkNBTWt5QUpsWk1pQ1RnQ0FDQUJJQU1xQWdRZ0JDb0NCSk1nQ0NBSWxDQUhJQWVVSWdlVElBbVVraUFMbFNJSU9BSUFJQU1xQWdRZ0J5QUFLZ0lBbEpNZ0NDQURLZ0lBbEpNaEIwRUJDeUVHSUFJZ0J6Z0NBQ0FHQzZRQkFnSi9BbjBnQVNvQ0FDRUdJQUpCZjJvaUEwRUNkQ0FCYWlJRUtnSUFJUVZCQUNFQ0EwQWdBaUFEUndSQUlBSkJBblFnQUdvZ0JVR0loZ0VxQWdDVUlBSkJBblFnQVdvcUFnQWlCVUdNaGdFcUFnQ1Vra0dRaGdFcUFnQWdBa0VCYWlJQ1FRSjBJQUZxS2dJQWxKSTRBZ0FNQVFzTElBTkJBblFnQUdvZ0JVR0loZ0VxQWdDVVFZeUdBU29DQUNBRUtnSUFsSklnQmtHUWhnRXFBZ0NVa2pnQ0FBdjJCd0VNZnlNR0lRY2pCa0dnOFFScUpBWWdCMEdROFFScUlRMGdCMEdJOFFScUlRNGdCMEdBOFFScUlRZ2dCMEhBdUFKcUlRd2dCeUVMSUFRb0FnUWhDaUFFS0FJQUlna2hCeUFKSUFFZ0JDZ0NDQ0lKYkdwQkFYUWdBR29oQmdKL0FrQURRQUpBSUFjZ0Nrb05BaUFHTGdFQUlnUkJBRW9FUUNBRElBUkJmMnBCQW5RZ0Ftb29BZ0JHRFFFTElBZEJBV29oQnlBR1FRSnFJUVlNQVFzTElBZEJmMFlOQUNBRlFRRTJBaGdnQlNBSE5nSWNJQVZCM0xnQ2FpSVBJQWsyQWdCQkJTRUdJQWtoQkNBSElRTkJBU0VDQWtBQ1FBTkFBa0FnQVNBRWJDQURha0VCZENBQWFpRVFRUUFoQ0NBR1FRVnFJUVlDUUFKQUEwQWdCa0VJRUU4aEJpQUlRUWhQRFFFZ0JrRUNkRUhBQ0dvb0FnQWlCQ0FCSUFaQkFuUkJvQWhxS0FJQUlncHNha0VCZENBUWFpNEJBRUVBVEFSQUlBaEJBV29oQ0NBR1FRRnFJUVlNQVFzTERBRUxJQWhCQ0VZTkFTQUdRUUowUWNBSWFpZ0NBQ0VFSUFaQkFuUkJvQWhxS0FJQUlRb0xJQVZCSEdvZ0FrRUNkR29nQXlBRWFqWUNBQ0FGUWR5NEFtb2dCU2dDR0NJQ1FRSjBhaUFDUVFKMElBVnFRZGk0QW1vb0FnQWdDbW8yQWdBZ0J5QUZRUnhxSUFVb0FoZ2lBMEVDZEdvaUNDZ0NBRVlFUUNBSklBVkIzTGdDYWlBRFFRSjBhaWdDQUVZTkF3c2dCU0FEUVFGcUlnSTJBaGdnQWtHUHpnQkdEUU1nQlVIY3VBSnFJQU5CQW5ScUtBSUFJUVFnQ0NnQ0FDRUREQUVMQzBFQVFRTkI1S2dCSUE0UVBVRi9EQU1MUVFBaEFFRUFJUVpCQVNFQkEwQWdBU0FEU0FSQUlBRWdBQ0FGUVJ4cUlBRkJBblJxS0FJQUlBZHJJZ0FnQUd3Z0JVSGN1QUpxSUFGQkFuUnFLQUlBSUFscklnQWdBR3hxSWdJZ0Jrb2lCQnNoQUNBQ0lBWWdCQnNoQmlBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FFZ0VRQ0FCUVFKMElBeHFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdBVUVDZENBTGFpQUZRZHk0QW1vZ0FVRUNkR29vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFBSVFFRFFDQUJJQU5JQkVBZ0JVRWNhaUFCSUFCcklnSkJBblJxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQlVIY3VBSnFJQUpCQW5ScUlBVkIzTGdDYWlBQlFRSjBhaWdDQURZQ0FDQUJRUUZxSVFFZ0JTZ0NHQ0VEREFFTEMwRUFJUUVEUUNBQklBQklCRUFnQlVFY2FpQUJJQUJySWdJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnREdvb0FnQTJBZ0FnQlVIY3VBSnFJQUlnQlNnQ0dHcEJBblJxSUFGQkFuUWdDMm9vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFGUVJ4cUlBVW9BaGhCQW5ScUlBVW9BaHcyQWdBZ0JVSGN1QUpxSUFVb0FoaEJBblJxSUE4b0FnQTJBZ0FnQlNBRktBSVlRUUZxTmdJWVFRQU1BZ3RCQUVFRFFldW9BU0FORUQxQmZ3d0JDMEVBUVFOQjNhZ0JJQWdRUFVGL0N5RVJJQXNrQmlBUkM4UUlBZ1YvQVgwakJpRUZJd1pCRUdva0JpQUFSUVJBSUFWQndNZ0RRY0xyQVJBM1FlYnJBUkEzUWUraUFoQTNRWXNCRUQ1QjlxSUNFRGRCNXV3QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0FVTUFBQUEva2tNQUFBQUFYZ1JBSUFGREFBQUF2NUlpQ1NBRHNsMEVRQ0FDUXdBQUFBQmdSUVJBSUFWQndNZ0RRZW50QVJBM1FlYnJBUkEzUWUraUFoQTNRWTBCRUQ1QjlxSUNFRGRCais0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0EwRi9UQVJBSUFWQndNZ0RRYXp1QVJBM1FlYnJBUkEzUWUraUFoQTNRWTRCRUQ1QjlxSUNFRGRCMGU0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUF0REFBQ0FQeUFCSUFtT0VFTWlCTEtUUXdBQUFMK1NJZ21USVFFZ0F5QUVhaUFERUU4aEJpQUVRUUZxSUFNUVR5RUlJQUZEQUFBQUFHQkZCRUFnQlVIQXlBTkI3dTRCRURkQjV1c0JFRGRCNzZJQ0VEZEJsZ0VRUGtIMm9nSVFOMEdON3dFUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFNZ0JFRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0JSQThJQWNnQXhCQUlBY1FQeEFBQ3lBSlF3QUFBQUJnUlFSQUlBVkJ3TWdEUWFIdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpjQkVENUI5cUlDRURkQndPOEJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dCa0YvVEFSQUlBVkJ3TWdEUWRUdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpnQkVENUI5cUlDRURkQmhQQUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dDRUYvU2dSQUlBWkJBblFnQUdvaUF5QUJJQUtVSUFNcUFnQ1NPQUlBSUFoQkFuUWdBR29pQUNBSklBS1VJQUFxQWdDU09BSUFJQVVrQmc4RklBVkJ3TWdEUVo3d0FSQTNRZWJyQVJBM1FlK2lBaEEzUVprQkVENUI5cUlDRURkQnp2QUJFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUFJQU5CQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQVVRUENBRUlBQVFRQ0FFRUQ4UUFBc0xDeUFGUWNESUEwR0E3UUVRTjBIbTZ3RVFOMEh2b2dJUU4wR01BUkErUWZhaUFoQTNRY0h0QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBRlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRkVEd2dCQ0FBRUVBZ0JCQS9FQUFMUXdBZ0FFTUFBTUJBa2lBQWxFTUFBUEJCa2lBQWxFTUFBUEJDa2lBQWxFTUFBTFJEa2lBQWxFTUFBRFJFa2lBQWxFTUFBRFJFa3J0RU9XeFMvbXZCVmoraXRndjREQUlPZndOOUl3WWhEQ01HUVRCcUpBWWdERUVnYWlFS0lBVkRBQUFBQUdCRkJFQWdDa0hBeUFOQjZlY0JFRGRCdnVZQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0g2QUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJRXN5QUZYa1VFUUNBS1FjRElBMEdhNkFFUU4wRys1Z0VRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWVyb0FSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBWkRBQUFBQUdCRkJFQWdDa0hBeUFOQmp1a0JFRGRCdnVZQkVEZEI3NklDRURkQitRQVFQa0gyb2dJUU4wR3M2UUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJSXN5QUdYa1VFUUNBS1FjRElBMEcvNlFFUU4wRys1Z0VRTjBIdm9nSVFOMEg2QUJBK1FmYWlBaEEzUVpEcUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBQW9BaWdnQkNBRElBQW9BZ1JzYWtFRmRHb2lDU2dDRUVFQ1J3UkFJQXBCd01nRFFiWHFBUkEzUWI3bUFSQTNRZStpQWhBM1FmNEFFRDVCOXFJQ0VEZEIzdW9CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFwQmdNNERFRG9pQkNnQ0FDZ0NIQ0VJSUFSQkNpQUlRVDl4UVlvQmFoRUNBQ0VFSUFvUVBDQURJQVFRUUNBREVEOFFBQXNnREVFWWFpRUxJQXhCRUdvaER5QU1RUXhxSVJBZ0RFRUlhaUVSSUF4QkJHb2hFaUFDUVFBMkFnQWdCVU1BQUFBL2toQkRJUU1nQmtNQUFBQS9raEJESVFRZ0EwRUFUZ1JBSUFSQkFFZ2dDU2dDQkNBRFRYSkZCRUFnQ1NnQ0NDQUVTd1JBQWtCREFBQ0F2ME1BQUlBL0lBQXFBZ3dnQjVRaUIwTUFBSUEvSUFkZUd5SUhFR2xEQUFBQVFKU1ZJUmNnQnlBQUtnSVFsQ0lIRUdtTklSaEJBQ0FESUFkREFBQUFQNUlRUXlJTmF4REdBU0VJSUFNZ0RXb2dDU2dDQkVGL2FoQ0ZBaUVPUVFBZ0JDQU5heERHQVNFRElBUWdEV29nQ1NnQ0NFRi9haENGQWlFTklBQW9BaHdpQkVFQUlBQW9BaUFnQkd0QkFuVkJBblFRUlJvRFFDQURJQTFNQkVBZ0E3SWdCcE1RYVNFSElBa2dBeEJRSVJNZ0NDRUVBMEFnQkNBT1RBUkFJQWNnQkxJZ0JaTVFhWklpRmlBWVhrVUVRQ0FYSUJhVUVNQUlJUllnQUNnQ0hDQUVRUU4wSUJOcUloUXFBZ0FnQUNnQ0NDSVZzcFM3UkhmSXlXMHdYOFEvb3JZZ0ZpQVVLZ0lFbENBVkVMOElDeUFFUVFGcUlRUU1BUXNMSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBQUtBSVVTQVJBSUFBb0Fod2lCQ0FFSUFBb0FnZ1F2UWdnQTBFQmFpRUREQUVMQ3lBQUtBSUlJUU5CQUNFRVF3QUFBQUFoQlFOQUlBUWdBMGdFUUNBQUtBSWNJQVJCQW5ScUtnSUFJUVlnQkVFQmFpRUVJQVlnQlNBR0lBVmVHeUVGREFFTEN5QUZRd0FBQUFCY0JFQWdCVU1BQUFBQVhrVUVRQ0FLUWNESUEwSDk2Z0VRTjBHKzVnRVFOMEh2b2dJUU4wSGFBUkErUWZhaUFoQTNRYVByQVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdnb0FnQW9BaHdoQ1NBSVFRb2dDVUUvY1VHS0FXb1JBZ0FoQ0NBS0VEd2dCQ0FJRUVBZ0JCQS9FQUFMUVFBaEJBTkFJQVFnQTA0TkFpQUtJQVN5SWdjNEFnQWdDaUFBS0FJY0lnZ2dCRUVDZEdvaUNTZ0NBQ0lOTmdJRUlBc2dCRUYvYWlJT3NqZ0NBQ0FMSUFNZ0Rtb2dBeEJQUVFKMElBaHFLQUlBSWc0MkFnUWdEeUFFUVFGcUlnU3lPQUlBSUE4Z0F5QUVhaUFERUU5QkFuUWdDR29vQWdBaUNEWUNCQ0FOdmlFR0lBa3FBZ0FnQlNBQUtnSVlsRjRFUUNBR0lBNitYaUFHSUFpK1huRUVRQ0FNSUFjNEFnQWdFQ0FSSUJJZ0N5QUtJQThRdkFnRVFDQVJLZ0lBSVFZZ0Vpb0NBQm9nRUNvQ0FDSUhRd0FBQUFCY0JFQWdEQ0FHakNBSFF3QUFBRUNVbFRnQ0FBc0xJQXdxQWdCREFBQUFQNUlnQUNnQ0NMSWlCcElnQnBXN1JCZ3RSRlQ3SVJsQW9rUVlMVVJVK3lFWlFCQWV0aUVHSUFJb0FnQWlBMEVDZENBQmFpQUdPQUlBSUFJZ0EwRUJhallDQUNBQUtBSUlJUU1MQ3d3QUFBc0FDd3NMQ3dzZ0RDUUdDK1VCQVFOL0l3WWhCQ01HUVJCcUpBWUNRQU5BSUFJZ0FSQjBJZ01vQWdRZ0F5Z0NBR3RCQlhWSkJFQWdBUkIwS0FJQUlBSkJCWFJxSWdNb0FnUWdBeWdDREVFQ2RrY05BaUFBS0FJb0lBSkJCWFJxS0FJWUlBTW9BaGdnQXlnQ0JDQURLQUlJRU1VSUlBSkJBV29oQWd3QkN3c2dCQ1FHRHdzZ0JFSEF5QU5CZ2VZQkVEZEJ2dVlCRURkQjc2SUNFRGRCNEFBUVBrSDJvZ0lRTjBIQTV3RVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCQkE4SUFBZ0FSQkFJQUFRUHhBQUM3c0JBUVYvSUFBZ0F6WUNBQ0FBSUFRMkFnUWdBRUVrTmdJSUlBQkRBQUJBUURnQ0RDQUFRd0FBd0Q4NEFoQWdBRUVGTmdJVUlBQkR6Y3hNUHpnQ0dDQUFRUnhxUVNRUWh3RWdBQ0lHUVNocUlBQW9BZ0FnQUNnQ0JHd1ExQUpCQUNFQUEwQWdBQ0FEUndSQUlBQWdCR3doQnlBQklBQjJJUWdnQWlBQWRpRUpRUUFoQlFOQUlBUWdCVWNFUUNBR0tBSW9JQVVnQjJwQkJYUnFRUUlnQ0NBSlFRSVF0d0lnQlVFQmFpRUZEQUVMQ3lBQVFRRnFJUUFNQVFzTEN6TUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lNSUFCQ0FEY0NGQ0FBUWdBM0Fod2dBRUlBTndJa0lBQkNBRGNDTEF1TkJ3SUpmd0o5SUFKQmYyb2hDU0FCUVFScUlnUXFBZ0FnQVNvQ0FDSU5reUVPSUFBZ0FrRUNkQ0FCYWlJR0tnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJRVFRRWhDQ0FHSVFjRFFDQUFRUWhxSVFVZ0IwRUVhaUVISUFnZ0NVa0VRQ0FGSUFjcUFnQWdCQ29DQUpNaURpQUVRUVJxSWdvcUFnQWdCRUY4YWlvQ0FKTWlEUkNkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUEwZ0RaUWdEaUFPbEpLUk9BSU1JQWhCQVdvaENDQUtJUVFnQlNFQURBRUxDeUFEUVg5cUlRd2dCQ29DQUNJTklBUkJmR29xQWdDVElRNGdCU0FIS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaENDQUZJUU1nQWtFQ2RDQUdhaUVFSUFFaEJRTkFJQU5CQ0dvaEFDQUlJQXhKQkVBZ0FDQUVLZ0lBSUFVcUFnQ1RJZzRnQmtFRWFpSUFLZ0lBSUFZcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NERUVCSVFzZ0EwRVFhaUVEQTBBZ0JFRUVhaUVISUFWQkJHb2hCaUFMSUFsSkJFQWdBeUFIS2dJQUlBWXFBZ0NUSWc0Z0FFRUVhaUlLS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUxRUUZxSVFzZ0J5RUVJQVloQlNBS0lRQWdBMEVJYWlFRERBRUxDeUFESUFjcUFnQWdCaW9DQUpNaURpQUFLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBSVFRRnFJUWdnQkVFSWFpRUVJQVZCQ0dvaEJTQUFRUVJxSVFZTUFRc0xJQUlnREd4QkFuUWdBV29pQVVFQUlBSnJRUUowYWlFQ0lBRkJCR29pQkNvQ0FDQUJLZ0lBSWcyVElRNGdBQ0FOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBRElBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaEJTQUFJUUVnQkNFQUEwQWdBVUVJYWlFRElBSkJCR29oQWlBRklBbEpCRUFnQXlBQUtnSUFJQUlxQWdDVElnNGdBRUVFYWlJRUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQVNBTklBMlVJQTRnRHBTU2tUZ0NEQ0FGUVFGcUlRVWdBeUVCSUFRaEFBd0JDd3NnQUNvQ0FDSU5JQUJCZkdvcUFnQ1RJUTRnQXlBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUJJQTRnRHBRZ0RTQU5sSktST0FJTUN4c0FJQUJCQkdvaUFDd0FDMEVBU0FSQUlBQW9BZ0FoQUFzZ0FBc0xBQ0FBRU8wRElBQVFPQXYrQmdFRWZ5TUdJUVFqQmtFUWFpUUdJQUVvQWdCQkFVY0VRQ0FFUWNESUEwSFg0UUVRTjBHWjRBRVFOMEh2b2dJUU4wSEtBaEErUWZhaUFoQTNRWXJpQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FoQkJBVWNFUUNBRVFjRElBMEdpNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhMQWhBK1FmYWlBaEEzUWMvaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BaEFnQUNnQ0ZHd2dBQ2dDQ0NBQUtBSUVhMEVGZFVjRVFDQUVRY0RJQTBIcDRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FiUGpBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdRZ0FDZ0NCQ2dDQkVjRVFDQUVRY0RJQTBIVzR3RVFOMEdaNEFFUU4wSHZvZ0lRTjBIT0FoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdnZ0FDZ0NCQ2dDQ0VjRVFDQUVRY0RJQTBHeTVBRVFOMEdaNEFFUU4wSHZvZ0lRTjBIUEFoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFnQUNnQ0JDQUJFT0FCSUFBZ0FDZ0NCQ0lCUVNCcUlBRVE0QUVnQUNBQUtBSUVJZ0ZCUUdzZ0FVRWdhaER1QTBFQklRRURRQ0FCSUFBb0FoQkpCRUFnQUNnQ0JDQUJJQUFvQWhSc1FRVjBhaWdDR0NBQUtBSUVJQUVnQUNnQ0ZHeEJmMnBCQlhScUtBSVlJQUFvQWdRZ0FTQUFLQUlVYkVGL2FrRUZkR29vQWdRZ0FDZ0NCQ0FCSUFBb0FoUnNRWDlxUVFWMGFpZ0NDQkRVQ0NBQUlBQW9BZ1FpQWlBQklBQW9BaFJzSWdOQkFXcEJCWFJxSUFOQkJYUWdBbW9RNEFFZ0FDQUFLQUlFSWdJZ0FTQUFLQUlVYkNJRFFRSnFRUVYwYWlBRFFRRnFRUVYwSUFKcUVPNERJQUZCQVdvaEFRd0JDd3NnQkNRR0N6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZm1vaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFQmRXdEJBWFJxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBc2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJSUMyOEJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVFQVNBUkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRRjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVCZENBRWFqWUNEQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUVDNkFCQVFSL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFGMUlBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJRUUYxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCV3NpQkNBRUlBTkpHMEgvLy8vL0J5QUVRUUYxUWYvLy8vOERTUnNnQUNnQ0JDQUZhMEVCZFNBQVFRaHFFTXdJSUFJZ0FSRExDQ0FBSUFJUXlnZ2dBaERKQ0FzRklBQWdBUkROQ0FzZ0FpUUdDendCQW44Z0FDZ0NCQ0FBS0FJQUlnTnJRUUYxSWdJZ0FVa0VRQ0FBSUFFZ0Ftc1F6Z2dGSUFJZ0FVc0VRQ0FBSUFGQkFYUWdBMm8yQWdRTEN3dWJBUUVHZnlBQUlBTVEwZ2dnQUVFRWFpSUdJQU1nQUNnQ0ZHd1ExQUlEUUNBRUlBTklCRUFnQVNBRWRpRUhJQUlnQkhZaENFRUFJUVVEUUNBRklBQW9BaFFpQ1VrRVFDQUdLQUlBSUFVZ0JDQUpiR3BCQlhScVFRSWdCeUFJUVFFUXR3SWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMSUFCQklHb2dBU0FDYkNJQkVNOElJQUJCTEdvZ0FSQ0hBU0FBUVRocUlBRVFod0VMT0FBZ0FCRFRDQ0FBUWR5RkFUWUNBQ0FBUVNCcUlnQkNBRGNDQUNBQVFnQTNBZ2dnQUVJQU53SVFJQUJDQURjQ0dDQUFRUUEyQWlBTE5RRUJmU0FBSUFFMkFoQWdBRUVETmdJVUlBQkVBQUFBQUFBQTREOFFJN1lpQWpnQ0dDQUFRd0FBZ0Q4Z0FoRFNBWlU0QWh3TExBQWdBRUhzaFFFMkFnQWdBRUVFYWlJQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRUUEyQWhnTG53RUJCMzhnQWtFQmRpRUlJQU5CQVhZaENTQUNRUUYwSVFvRFFDQUVJQWxIQkVCQkFDRUdJQVFnQ214QkFuUWdBV29pQXlBQ1FRSjBhaUVGSUFBaEJ3TkFJQVlnQ0VjRVFDQUhJQU1xQWdBZ0F5b0NCSklnQlNvQ0FKSWdCU29DQkpKREFBQ0FQcFE0QWdBZ0JrRUJhaUVHSUFWQkNHb2hCU0FEUVFocUlRTWdCMEVFYWlFSERBRUxDeUFFUVFGcUlRUWdDRUVDZENBQWFpRUFEQUVMQ3d1dUN3SUxmd0Y5SXdZaEN5TUdRUkJxSkFZZ0EwRUVUUVJBSUF0QndNZ0RRZmZmQVJBM1FabmdBUkEzUWUraUFoQTNRYWdCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JFRUVUUVJBSUF0QndNZ0RRYlRoQVJBM1FabmdBUkEzUWUraUFoQTNRYWtCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVNSUFOQmZtb2hDU0FEUVgxcUlRMGdBMEY4YWlFT0lBRWhCd05BSUFRZ0NFY0VRQ0FESUFoc1FRSjBJQUpxSWdZcUFnQWhFQ0FISUFZcUFnZ2dFQ0FRUXdBQXdFQ1VJQkFnQmlvQ0JKSkRBQUNBUUpTU2twSTRBZ0FnQnlBR0tnSU1JQVlxQWdBaUVDQUdLZ0lFUXdBQXdFQ1VJQkFnQmlvQ0NKSkRBQUNBUUpTU2twSTRBZ1JCQWlFRklBZEJDR29oQ2dOQUlBVWdDVWNFUUNBS0lBVkJBbXBCQW5RZ0Jtb3FBZ0FnQlVGK2FrRUNkQ0FHYWlvQ0FDQUZRUUowSUFacUtnSUFRd0FBd0VDVUlBVkJmMnBCQW5RZ0Jtb3FBZ0FnQlVFQmFpSUZRUUowSUFacUtnSUFra01BQUlCQWxKS1NramdDQUNBS1FRUnFJUW9NQVFzTElBbEJBblFnQjJvaUJTQU1RUUowSUFacUlnb3FBZ0FpRUNBT1FRSjBJQVpxS2dJQUlBbEJBblFnQm1vaUR5b0NBRU1BQU1CQWxDQU5RUUowSUFacUlnWXFBZ0FnRUpKREFBQ0FRSlNTa3BJNEFnQWdCU0FLS2dJQUloQWdCaW9DQUNBUVF3QUF3RUNVSUJBZ0R5b0NBSkpEQUFDQVFKU1NrcEk0QWdRZ0EwRUNkQ0FIYWlFSElBaEJBV29oQ0F3QkN3c2dCRUYrYWlFTlFRQWhDU0FEUVFKMElBRnFJZ0lnQTBFQ2RHb2lDQ0VLSUFJaEJTQUJJUWNnQUNFR0EwQWdBeUFKUndSQUlBWWdDaW9DQUNBSEtnSUFJaEFnRUVNQUFNQkFsQ0FRSUFVcUFnQ1NRd0FBZ0VDVWtwS1NRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUVJxSVFvZ0JVRUVhaUVGSUFkQkJHb2hCeUFHUVFScUlRWU1BUXNMUVFBaEJpQURRUUowSUFocUlRa2dDQ0VGSUFFaEJ5QURRUUowSUFCcUlRZ0RRQ0FESUFaSEJFQWdDQ0FKS2dJQUlBY3FBZ0FpRUNBQ0tnSUFRd0FBd0VDVUlCQWdCU29DQUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFsQkJHb2hDU0FGUVFScUlRVWdBa0VFYWlFQ0lBZEJCR29oQnlBSVFRUnFJUWdNQVFzTFFRSWhDQU5BSUFnZ0RVY0VRRUVBSVFrZ0F5QUlRWDVxYkVFQ2RDQUJhaUlHSUFOQkFuUnFJZ2NnQTBFQ2RHb2lCU0FEUVFKMGFpSUNJQU5CQW5ScUlRb2dBeUFJYkVFQ2RDQUFhaUVNQTBBZ0F5QUpSd1JBSUF3Z0Npb0NBQ0FHS2dJQUlBVXFBZ0JEQUFEQVFKUWdCeW9DQUNBQ0tnSUFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FKUVFGcUlRa2dDa0VFYWlFS0lBSkJCR29oQWlBRlFRUnFJUVVnQjBFRWFpRUhJQVpCQkdvaEJpQU1RUVJxSVF3TUFRc0xJQWhCQVdvaENBd0JDd3RCQUNFR0lBTWdCRUY4YW14QkFuUWdBV29pQnlBRFFRSjBhaUlGSUFOQkFuUnFJZ0lnQTBFQ2RHb2hDQ0FESUExc1FRSjBJQUJxSVFrRFFDQURJQVpIQkVBZ0NTQUlLZ0lBSWhBZ0J5b0NBQ0FDS2dJQVF3QUF3RUNVSUFVcUFnQWdFSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWhCQkdvaENDQUNRUVJxSVFJZ0JVRUVhaUVGSUFkQkJHb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRSjBJQUZxSWdJZ0EwRUNkR29pQVNBRFFRSjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjcUFnQWlFQ0FDS2dJQUlCQkRBQURBUUpRZ0FTb0NBQ0FRa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBRlFRRnFJUVVnQjBFRWFpRUhJQUZCQkdvaEFTQUNRUVJxSVFJZ0FFRUVhaUVBREFFTEN5QUxKQVlMemdvQkRIOGpCaUVNSXdaQkVHb2tCaUFEUVFSTkJFQWdERUhBeUFOQjk5OEJFRGRCbWVBQkVEZEI3NklDRURkQk54QStRZmFpQWhBM1FhSGhBUkEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFNUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFNRUR3Z0JTQUhFRUFnQlJBL0VBQUxJQVJCQkUwRVFDQU1RY0RJQTBHMDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBFNEVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXhCZ000REVEb2lCeWdDQUNnQ0hDRUlJQWRCQ2lBSVFUOXhRWW9CYWhFQ0FDRUhJQXdRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTklBTkJmbW9oQ2lBRFFYMXFJUTRnQTBGOGFpRVBJQUVoQ0FOQUlBUWdDVWNFUUNBSUlBSWdBeUFKYkdvaUJpMEFBQ0lGSUFZdEFBRnFRUUowSUFZdEFBSWdCVUVIYkdwcU93RUFJQWdnQmkwQUFDSUZJQVl0QUFKcVFRSjBJQVl0QUFNZ0JpMEFBVUVHYkNBRmFtcHFPd0VDUVFJaEJTQUlRUVJxSVFzRFFDQUZJQXBIQkVBZ0N5QUZRUUpxSUFacUxRQUFJQVZCZm1vZ0Jtb3RBQUFnQlNBR2FpMEFBRUVHYkdvZ0JVRi9haUFHYWkwQUFDQUZRUUZxSWdjZ0Jtb3RBQUJxUVFKMGFtbzdBUUFnQnlFRklBdEJBbW9oQ3d3QkN3c2dDa0VCZENBSWFpSUZJQVlnRFdvaUN5MEFBQ0lRSUFZZ0Rtb2lCeTBBQUdwQkFuUWdCaUFQYWkwQUFDQUdJQXBxSWdZdEFBQkJCbXdnRUdwcWFqc0JBQ0FGSUFzdEFBQWlCU0FHTFFBQWFrRUNkQ0FITFFBQUlBVkJCMnhxYWpzQkFpQURRUUYwSUFocUlRZ2dDVUVCYWlFSkRBRUxDeUFFUVg1cUlRMUJBQ0VKSUFOQkFYUWdBV29pQWlBRFFRRjBhaUlHSVFvZ0FpRUZJQUVoQnlBQUlRZ0RRQ0FESUFsSEJFQWdDQ0FLTHdFQUlBY3ZBUUFpQ3lBRkx3RUFha0VDZENBTFFRZHNhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dCVUVDYWlFRklBZEJBbW9oQnlBSVFRUnFJUWdNQVFzTFFRQWhDQ0FEUVFGMElBWnFJUWtnQmlFRklBRWhCeUFEUVFKMElBQnFJUVlEUUNBRElBaEhCRUFnQmlBSkx3RUFJQWN2QVFBaUNpQUZMd0VBYWtFQ2RDQUNMd0VBUVFac0lBcHFhbXF5UXdBQWdEdVVPQUlBSUFoQkFXb2hDQ0FKUVFKcUlRa2dCVUVDYWlFRklBSkJBbW9oQWlBSFFRSnFJUWNnQmtFRWFpRUdEQUVMQzBFQ0lRWURRQ0FHSUExSEJFQkJBQ0VKSUFNZ0JrRithbXhCQVhRZ0FXb2lDQ0FEUVFGMGFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFS0lBTWdCbXhCQW5RZ0FHb2hDd05BSUFNZ0NVY0VRQ0FMSUFvdkFRQWdDQzhCQUNBRkx3RUFRUVpzYWlBSEx3RUFJQUl2QVFCcVFRSjBhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dBa0VDYWlFQ0lBVkJBbW9oQlNBSFFRSnFJUWNnQ0VFQ2FpRUlJQXRCQkdvaEN3d0JDd3NnQmtFQmFpRUdEQUVMQzBFQUlRZ2dBeUFFUVh4cWJFRUJkQ0FCYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVHSUFNZ0RXeEJBblFnQUdvaENRTkFJQU1nQ0VjRVFDQUpJQVl2QVFBaUNpQUhMd0VBSUFJdkFRQkJCbXhxSUFVdkFRQWdDbXBCQW5ScWFySkRBQUNBTzVRNEFnQWdDRUVCYWlFSUlBWkJBbW9oQmlBQ1FRSnFJUUlnQlVFQ2FpRUZJQWRCQW1vaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFGMElBRnFJZ0lnQTBFQmRHb2lBU0FEUVFGMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWN2QVFBaUJDQUNMd0VBSUFSQkJteHFJQVFnQVM4QkFHcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0JVRUJhaUVGSUFkQkFtb2hCeUFCUVFKcUlRRWdBa0VDYWlFQ0lBQkJCR29oQUF3QkN3c2dEQ1FHQzVRWkFoWi9CWHdqQmlFSUl3WkJRR3NrQmlBSVFTQnFJUW9nQ0VFWWFpRU5JQWhCTkdvaEJDQUlRU2hxSVFVZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUVFc2FpSUxRUUEyQWdBQ1FBSkFJQUJCOUlhdkEyb2lEeWdDQUNJQ1FRUkhEUUFDUUNBQVFmeUdyd05xSWd3b0FnQWlBa0VBU2dSQUlBd2dBa0YvYWpZQ0FBVUNRQ0FFSUFBb0FoQWlCeUFBUVlDSHJ3TnFJZ1lvQWdCcUlnSkIvd0VnQWtIL0FVZ2JJaEEyQWdBZ0JDQUhJQUJCaElldkEyb2lDU2dDQUdzaUFrRUFJQUpCQUVvYkloRTJBZ1FnQkNBSE5nSUlJQUJCNElhbkFtb2hBeUFBUWJqNEFHb2hEaUFBUWJENEFHb2hFaUFBUWZDR3J3TnFJUk1nQUVHUWg2OERhaUVVSUFCQk1Hb2hGU0FBUVppSHJ3TnFJUlpCQUNFQ0FrQUNRQU5BSUFKQkEwa0VRQ0FCS0FJTUlBQW9BaVFnQUNnQ0tDQUFLQUlBSUFBb0Fnd2dBa0VDZENBRWFpZ0NBQ0FBS0FJVUlBTkJBQkM2QWtFQVNBMENJQUFvQWlRZ0FDZ0NLQ0FESUFBb0FoUWdEaUFTRU93RFFRQklEUUlnQVNnQ0FDQUFLQUlrSUFBb0FpZ2dBQ2dDQkNBT0lCSW9BZ0FnRXlnQ0FDQUFLQUlVSUFBb0FoZ2dBQ2dDSUVHNEFXb2dGQ3NEQUNBVklBc2dGaWdDQUJEZUEwRUFTQTBDSUFKQkFuUWdCV29nQ3lnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMREFFTFFYOE1CZ3NnQUNnQ0FFRUJSZ1JBSUFVb0FnUWhEaUFGS0FJSUlRTWdCU2dDQUNFQ0lBZ2dFVFlDQUNBSUlBNDJBZ1FnQ0NBSE5nSUlJQWdnQXpZQ0RDQUlJQkEyQWhBZ0NDQUNOZ0lVUVFCQkEwR2lwd0VnQ0JBOUJTQUZLQUlBSVFJZ0JTZ0NDQ0VEQ3lBQ0lBTktJQVVvQWdRaUJTQURTbklFUUNBQUlCRWdFQ0FDSUFWSUd5SUNOZ0lRSUFrZ0FpQUhheUlEUVFCS0JIOGdCaUFETmdJQVFRRUZJQVpCQVRZQ0FFRUFJQU5yQ3pZQ0FDQUFLQUlBUVFGR0JFQWdEU0FDTmdJQVFRQkJBMEh1cHdFZ0RSQTlDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BUXNnQmlnQ0FDSUJJQWtvQWdBaUFrZ0VRQ0FHSUFGQkFXb2lBVFlDQUFVZ0FTQUNUQVJBSUFZZ0FVRUJhaUlCTmdJQUN5QUpJQUpCQVdvMkFnQUxJQWNnQVNBSGFrSCtBVW9FZnlBR1FRRTJBZ0JCQVFVZ0FRdE1CRUFnQ1VFQk5nSUFDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BZ3NMSUE4b0FnQWhBZ3dCQ3d3QkN3SkFBa0FDUUFKQUlBSkJBV3NPQXdFQkFBSUxJQUJCaUlldkEyb2lBaWdDQUNBQktBSU1FTmdISWdOQkFFZ0VRQ0FEREFVTElBRW9BZ3dnQWlnQ0FDSURLQUlFSUFNb0FnZ2dBQ2dDQUNBQUtBSU1RUUJCQUNBQVFlQ0dwd0pxSWdJZ0F5Z0NBQkM2QWlJRFFRQklCRUFnQXd3RkN5QUFRU1JxSVFNZ0FFRW9haUVFSUFCQkZHb2hCUXdDQ3lBQVFmeUdyd05xSWdNb0FnQWlCVUVBU2dSQUlBTWdCVUYvYWpZQ0FBd0JDeUFBUVlpSHJ3TnFLQUlBSVFVZ0FTZ0NEQ0VISUFKQkFVWUVmeUFGSUFjZ0JCRGtCd1VnQlNBSElBUVE0QWNMSWdKQkFFZ0VRQ0FDREFRTElBQW9BZ0JCQVVZRVFDQUVMUUFBSWdJZ0FDZ0NFRWNFUUNBS1FhS29BVUdwcUFFZ0R5Z0NBRUVCUmhzMkFnQWdDaUFDTmdJRVFRQkJBMEd1cUFFZ0NoQTlDd3NnQUNBRUxRQUFOZ0lRSUFNZ0FFSDRocThEYWlnQ0FEWUNBQXRCZnlBQktBSU1JQUJCSkdvaUF5Z0NBQ0FBUVNocUlnUW9BZ0FnQUNnQ0FDQUFLQUlNSUFBb0FoQWdBRUVVYWlJRktBSUFJQUJCNElhbkFtb2lBa0VBRUxvQ1FRQklEUUlhQzBGL0lBTW9BZ0FnQkNnQ0FDQUNJQVVvQWdBZ0FFRzQrQUJxSWdJZ0FFR3crQUJxSWdjUTdBTkJBRWdOQVJwQmZ5QUJLQUlBSUFNb0FnQWdCQ2dDQUNBQUtBSUVJQUlnQnlnQ0FDQUFRZkNHcndOcUtBSUFJQVVvQWdBZ0FDZ0NHQ0FBS0FJZ1FiZ0JhaUFBUVpDSHJ3TnFLd01BSUFCQk1Hb2dDeUFBUVppSHJ3TnFLQUlBRU40RFFRQklEUUVhQ3lBQUtBSWNRUUZHQkVBZ0FCRHZBMEVBREFFTElBQkIrSXFtQW1vaUJ5Z0NBQ0VKUVFBaEF3TkFJQU1nQ1VnRVFDQUxLQUlBSVFRZ0FFR0FpNllDYWlBRFFZZ0NiR29oQlNBQUlBTkJpQUpzYWtHNGk2WUNhaUVHSUFBZ0EwR0lBbXhxUWNDTHBnSnFJUXBCQUNFQ1FYOGhBVVFBQUFBQUFBRGdQeUVaQTBBZ0FpQUVTQVJBSUFVb0FnQzNJQUJCTUdvZ0FrRUlkR29vQWdDM0loaWpJaHBFWm1abVptWm01ajlqSUJwRTRYb1Vya2ZoOWo5a2NrVUVRQ0FBSUFKQkNIUnFLd05vSUFZckF3Q2hJaG9nR3FJZ0FDQUNRUWgwYWlzRGNDQUtLd01Bb1NJYUlCcWlvQ0FZb3lJWUlCbGpCRUFnR0NFWklBSWhBUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9TZ1JBQWtBQ1FBSkFBa0FnQUNnQ0dDSUtEZ1VDQWdJQUFBRUxJQUFnQVVFSWRHb2lCQ3NEV0NBQUlBTkJpQUpzYWtHb2k2WUNhaXNEQUNJWVl3UkFJQUFnQVVFSWRHcEI0QUJxSVFJZ0FDQURRWWdDYkdwQnNJdW1BbW9yQXdBaEdRVWdBQ0FCUVFoMGFrSGdBR29pQWlzREFDQUFJQU5CaUFKc2FrR3dpNllDYWlzREFDSVpZMFVOQXdzZ0JDQVlPUU5ZSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCaUl1bUFtb29BZ0EyQWpnZ0FpQVpPUU1BSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCakl1bUFtb29BZ0EyQWp4QkFDRUZRWDhoQWtRQUFBQUFoTmVYUVNFWUEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VaQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpQmtFRWRHb3JBd0NoSVJvZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFHUVFSMGFpc0Q0QUdoSVJzZ0JFRUJhaUVFSUJrZ0dpQWFvaUFiSUJ1aW9LQWhHUXdCQ3dzZ0JTQUNJQmtnR0dNaUJCc2hBaUFGUVFGcUlRVWdHU0FZSUFRYklSZ01BUXNMSUFBZ0FVRUlkR3BCQkNBQ2F5SUNJQUFnQTBHSUFteHFRWlNMcGdKcUtBSUFha0VFRUU4MkFrUWdBQ0FCUVFoMGFpQUNJQUFnQTBHSUFteHFRWmlMcGdKcUtBSUFha0VFRUU4MkFrZ01BZ3RCZnd3RkN5QUFJQUZCQ0hScUlnSXJBMUFnQUNBRFFZZ0NiR3BCb0l1bUFtb3JBd0FpR21NRVFDQUNJQm81QTFBZ0FDQUJRUWgwYWlBQUlBTkJpQUpzYWtHRWk2WUNhaWdDQUNJR05nSTBJQUFnQTBHSUFteHFRWkNMcGdKcUlReEJmeUVDUkFBQUFBQ0UxNWRCSVJsQkFDRUZBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWUEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaURVRUVkR29yQXdDaElSc2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBTlFRUjBhaXNENEFHaElSd2dCRUVCYWlFRUlCZ2dHeUFib2lBY0lCeWlvS0FoR0F3QkN3c2dHQ0FaWXdSQUlCZ2hHU0FNS0FJQVFRUWdCV3RxUVFRUVR5RUNDeUFGUVFGcUlRVU1BUXNMSUFBZ0FVRUlkR3BCUUdzZ0FqWUNBQ0FLUVFKSkJFQWdBQ0FCUVFoMGFpQUdOZ0k0SUFBZ0FVRUlkR29nR2prRFdDQUFJQUZCQ0hScUlBSTJBa1FGSUFBZ0FVRUlkR29nQmpZQ1BDQUFJQUZCQ0hScUlCbzVBMkFnQUNBQlFRaDBhaUFDTmdKSUN3c0xDeUFEUVFGcUlRTU1BUXNMSUFBUTd3TkJBQ0VDUVFBaEFRTkFJQUlnQnlnQ0FFZ0VRQ0FBSUFKQmlBSnNha0dBamFZQ2FpSUVLQUlBSVFNZ0JDQURRUUZxTmdJQUlBTkJBMGdFUUNBQklBSkhCRUFnQUVHQWk2WUNhaUFCUVlnQ2JHb2dBRUdBaTZZQ2FpQUNRWWdDYkdwQmlBSVFUQm9MSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBSElBRTJBZ0FnQ3lnQ0FDRURRUUFoQkFOQUFrQWdCQ0FEVGcwQUlBQkJNR29nQkVFSWRHb2hCU0FBSUFSQkNIUnFLQUkwSWdaQkFFNEVRRUVBSVFJRFFBSkFJQUlnQVU0TkFDQUdJQUFnQWtHSUFteHFRWVNMcGdKcUtBSUFSZzBBSUFKQkFXb2hBZ3dCQ3dzZ0FTQUNSZ1JBSUFGQlBFWU5BaUFISUFGQkFXb2lBVFlDQUFzZ0FFR0FpNllDYWlBQ1FZZ0NiR29nQlVHQUFoQk1HaUFBSUFKQmlBSnNha0dBamFZQ2FrRUJOZ0lBQ3lBRVFRRnFJUVFNQVFzTElBQW9BaHhCQWtZRWYwRUFCVUVBSVFRZ0FTRUNJQU1oQVFOQVFRQWdCQ0FDVGcwQ0dpQUFRWUNMcGdKcUlBUkJpQUpzYWlFRklBQWdCRUdJQW14cVFiaUxwZ0pxSVFZZ0FDQUVRWWdDYkdwQndJdW1BbW9oQ1VFQUlRTURRQUpBSUFNZ0FVNE5BQ0FGS0FJQXR5QUFRVEJxSUFOQkNIUnFLQUlBdHlJWm95SVlSR1ptWm1abVp1WS9ZeUFZUk9GNkZLNUg0ZlkvWkhKRkJFQWdBQ0FEUVFoMGFpc0RhQ0FHS3dNQW9TSVlJQmlpSUFBZ0EwRUlkR29yQTNBZ0NTc0RBS0VpR0NBWW9xQWdHYU5FQUFBQUFBQUE0RDlqRFFFTElBTkJBV29oQXd3QkN3c2dBU0FEUmdSQUlBQkJNR29nQVVFSWRHb2dBRUdBaTZZQ2FpQUVRWWdDYkdwQmdBSVFUQm9nQ3lBQlFRRnFJZ0UyQWdBZ0J5Z0NBQ0VDQ3lBRVFRRnFJUVFNQUFBTEFBc0xCVUYvQ3lFWElBZ2tCaUFYQ3dzQUlBQVF4Z0lnQUJBNEN3c0FJQUFReHdJZ0FCQTRDN3dCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ2dDQkNBQUtBSUFJZ05yUVFWMUlBRkxCRUFnQXlnQ0JDQUFLQUlBSUFGQkJYUnFLQUlFRUVpekVQRURFUEFERUVNaEJDQUNKQVlnQkE4RklBSkJ3TWdEUVpYZkFSQTNRYzdMQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnc5OEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lBU2dDQUNnQ0hDRURJQUZCQ2lBRFFUOXhRWW9CYWhFQ0FDRUJJQUlRUENBQUlBRVFRQ0FBRUQ4UUFBdEJBQXRKQVFGL0lBQW9BZ2doQWdOQUlBSkNBRGNDQUNBQ1FnQTNBZ2dnQWtJQU53SVFJQUpDQURjQ0dDQUNRUUEyQWlBZ0FDQUFLQUlJUVNScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzBrQkFYOGdBQ2dDQkNFQ0EwQWdBa0lBTndJQUlBSkNBRGNDQ0NBQ1FnQTNBaEFnQWtJQU53SVlJQUpCQURZQ0lDQUFJQUFvQWdSQkpHb2lBallDQkNBQlFYOXFJZ0VOQUFzTHBnRUJCWDhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdRaUEydEJKQkE1SUFGSkJFQkJ4K1B4T0NBRElBQW9BZ0JyUVNRUU9TQUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHdEJKQkE1SWdWQkFYUWlCaUFHSUFOSkcwSEg0L0U0SUFWQjQvRzRIRWtiSUFBb0FnUWdCR3RCSkJBNUlBQkJDR29RMEFJZ0FpQUJFTnNJSUFBZ0FoRFBBaUFDRU00Q0N3VWdBQ0FCRU53SUN5QUNKQVlMb0F3Q0JuOEZmU01HSVFjakJrRVFhaVFHSUFTT0VFTWlDaUFFRUVOSEJFQWdCMEhBeUFOQjZ0RUJFRGRCbnRJQkVEZEI3NklDRURkQnhRQVFQa0gyb2dJUU4wR1Qwd0VRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUVlnQ1VFS0lBWkJQM0ZCaWdGcUVRSUFJUVlnQnhBOElBZ2dCaEJBSUFnUVB4QUFDeUFGamhCRElnc2dCUkJEUndSQUlBZEJ3TWdEUWJIVEFSQTNRWjdTQVJBM1FlK2lBaEEzUWNZQUVENUI5cUlDRURkQms5TUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUdJQWxCQ2lBR1FUOXhRWW9CYWhFQ0FDRUdJQWNRUENBSUlBWVFRQ0FJRUQ4UUFBc2dDeUFDU1NBTFFYOUtjVVVFUUNBSFFjRElBMEhsMHdFUU4wR2UwZ0VRTjBIdm9nSVFOMEhQQUJBK1FmYWlBaEEzUVpQVUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aEJpQUpRUW9nQmtFL2NVR0tBV29SQWdBaEJpQUhFRHdnQ0NBR0VFQWdDQkEvRUFBTElBdEJBV29pQ1NBQ1R3UkFJQWRCd01nRFFhVFVBUkEzUVo3U0FSQTNRZStpQWhBM1FkQUFFRDVCOXFJQ0VEZEI0TlFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQmlnQ0FDZ0NIQ0VDSUFaQkNpQUNRVDl4UVlvQmFoRUNBQ0VDSUFjUVBDQUlJQUlRUUNBSUVEOFFBQXNnQ2lBQlNTQUtRWDlLY1VVRVFDQUhRY0RJQTBINDFBRVFOMEdlMGdFUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FhWFZBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ1lvQWdBb0Fod2hBaUFHUVFvZ0FrRS9jVUdLQVdvUkFnQWhBaUFIRUR3Z0NDQUNFRUFnQ0JBL0VBQUxJQXBCQVdvaUNDQUJUd1JBSUFkQndNZ0RRYmJWQVJBM1FaN1NBUkEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCOGRVQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0NMSWdCSk1pRGlBSnNpQUZreUlNbENJTlF3QUFBQUJnUlNBTnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRWW5XQVJBM1FaN1NBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0JDQUtzcE1pRHlBTWxDSU1Rd0FBQUFCZ1JTQU11MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWNYV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEaUFGSUF1eWt5SUVsQ0lGUXdBQUFBQmdSU0FGdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFmVFdBUkEzUVo3U0FSQTNRZStpQWhBM1FlQUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRHlBRWxDSUVRd0FBQUFCZ1JTQUV1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWFQWEFSQTNRWjdTQVJBM1FlK2lBaEEzUWVFQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dBeUFBSUFNZ0MyeHFJZ0ZxSVFBZ0JDQUZJQTBnREpLU2tydEVjYXlMMjJnQThEOWxCRUFnRFNBS1FRSjBJQUZxS2dJQWxDQU1JQWhCQW5RZ0FXb3FBZ0NVa2lBRklBcEJBblFnQUdvcUFnQ1VraUFFSUFoQkFuUWdBR29xQWdDVWtpRVFJQWNrQmlBUUR3VWdCMEhBeUFOQjB0Y0JFRGRCbnRJQkVEZEI3NklDRURkQjRnQVFQa0gyb2dJUU4wRzQxZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQnhBOElBSWdBQkJBSUFJUVB4QUFDME1BQUFBQUM3OEpBZzEvQlgwakJpRUtJd1pCSUdva0JpQUtRUnhxSVFjZ0NrRVlhaUVMSUFwQkZHb2hEQ0FLUVJCcUlROGdDa0VNYWlFUUlBcEJDR29oRVNBS1FRUnFJUklnQlVFQVNnUkFJQVZCQVdvZ0F5Z0NCRWtFUUNBR1FYOXFJUTRnQmtFQVNnUkFJQVpCQVdvaUV5QURLQUlJU1FSQUlBTW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEhrendFUU4wSE95d0VRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEc3MEFFUU4wSE95d0VRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBTW9BZ2dnQWlnQ0NFRUJka2NFUUNBSFFjRElBMEgwMEFFUU4wSE95d0VRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ2dnQWlnQ0NFRUJka1lFUUNBRElBWVFVQ0FGUVFKMGFpRUlJQVFnRGhCUUlBVkJBblJxSVE0Z0JDQUdFRkFnQlVFQ2RHb2hCeUFFSUJNUVVDQUZRUUowYWlFRUlBc2dEQ0FGc2lBR3NrRUJFT0VCSUE4Z0VDQVJJQklnQ2lBRElBVWdCaERKQWlBQ0lBc3FBZ0FnRENvQ0FCQk5JUlFnQnlvQ0FDSVhJQlFnQ0NvQ0FFTUFBQUJBbEpPU0lSZ2dBaUFMS2dJQVF3QUFBTUNTSUF3cUFnQVFUU0FIS2dJRWtpQUNJQXNxQWdCREFBQUFRSklnRENvQ0FCQk5JQWRCZkdvcUFnQ1NrME1BQUlBK2xDRVZJQUlnQ3lvQ0FDQU1LZ0lBUXdBQUFNQ1NFRTBnQkNvQ0FKSWdBaUFMS2dJQUlBd3FBZ0JEQUFBQVFKSVFUU0FPS2dJQWtwTkRBQUNBUHBRaEZpQUFJQkVvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVk9BSUlJQUFnQWpZQ0RDQUFJQklvQWdBMkFoQWdBQ0FXT0FJVUlBQWdGVGdDR0NBQUlCWTRBaHdnQUNBWU9BSWdJQUVnRHlvQ0FJdzRBZ0FnQVNBUUtnSUFqRGdDQkNBQklCY2dGSk5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1Fld0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEhvQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBIbkFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUx6dzBDRG44RmZTTUdJUXNqQmtFZ2FpUUdJQXRCSEdvaEJ5QUxRUmhxSVEwZ0MwRVVhaUVNSUF0QkVHb2hFU0FMUVF4cUlSSWdDMEVJYWlFVElBdEJCR29oRkNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRGlBR1FRQktCRUFnQmtFQmFpSVBJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRWjhERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NCQ0FDS0FJRVFRRjJSd1JBSUFkQndNZ0RRYnZRQVJBM1FjN0xBUkEzUWUraUFoQTNRYUFERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1FhRURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDZ0NBRUYwYWlnQ0FDQUlhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0NDQUNLQUlJUVFGMlJ3UkFJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1FhSURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlBT0VGQWhDQ0FDSUFZUVVDRU9JQUlnRHhCUUlROGdBeUFHRUZBaENpQU5JQXdnQmJJZ0JySkJBUkRMQWlBTktnSUFJaFZEQUFBQXY1SkRBQUFBQUdCRkJFQWdCMEhBeUFOQjNOa0JFRGRCenNzQkVEZEI3NklDRURkQnJBTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFNS2dJQVF3QUFBTCtTUXdBQUFBQmdSUVJBSUFkQndNZ0RRYnZhQVJBM1FjN0xBUkEzUWUraUFoQTNRYTBERUQ1QjlxSUNFRGRCNU5vQkVEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFUUlBbEJDaUFRUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FDSUFrUVFDQUNFRDhRQUFzZ0ZVTUFBQUEva2lBRUtBSUVzMTFGQkVBZ0IwSEF5QU5CbXRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcmdNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QUZRUUowSUFocUlRZ2dCVUVDZENBT2FpRUNJQVZCQW5RZ0Qyb2hEaUFGUVFKMElBcHFJUThnRENvQ0FFTUFBQUEva2lBRUtBSUlzMTBFUUNBUklCSWdFeUFVSUFzZ0F5QUZJQVlReVFJZ0JDQU5LZ0lBSUF3cUFnQVFUU0lYSUFJcUFnQWlHQ0FQS2dJQVF3QUFBRUNVazVJaEdTQUNRWHhxS2dJQUlBUWdEU29DQUVNQUFBQS9raUFNS2dJQUVFMlNJQUlxQWdRZ0JDQU5LZ0lBUXdBQUFMK1NJQXdxQWdBUVRaS1RRd0FBZ0Q2VUlSVWdDQ29DQUNBRUlBMHFBZ0FnRENvQ0FFTUFBQUEva2hCTmtpQU9LZ0lBSUFRZ0RTb0NBQ0FNS2dJQVF3QUFBTCtTRUUyU2swTUFBSUErbENFV0lBQWdFeWdDQURZQ0FDQUFJQXNvQWdBaUFqWUNCQ0FBSUJVNEFnZ2dBQ0FDTmdJTUlBQWdGQ2dDQURZQ0VDQUFJQlk0QWhRZ0FDQVZPQUlZSUFBZ0ZqZ0NIQ0FBSUJrNEFpQWdBU0FSS2dJQWpEZ0NBQ0FCSUJJcUFnQ01PQUlFSUFFZ0Z5QVlrME1BQUFBL2xJdzRBZ2dnQ3lRR0R3VWdCMEhBeUFOQnpkc0JFRGRCenNzQkVEZEI3NklDRURkQnJ3TVFQa0gyb2dJUU4wSGsyZ0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NMSUFkQndNZ0RRWm5QQVJBM1FjN0xBUkEzUWUraUFoQTNRWjRERUQ1QjlxSUNFRGRCMU04QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTElBZEJ3TWdEUWMvT0FSQTNRYzdMQVJBM1FlK2lBaEEzUVowREVENUI5cUlDRURkQmljOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBdjhDQUlNZndWOUl3WWhDaU1HUVNCcUpBWWdDa0VVYWlFSElBcEJFR29oRFNBS1FReHFJUTRnQ2tFSWFpRVBJQXBCQkdvaEVDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERDQUdRUUJLQkVBZ0JrRUJhaUlSSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUWJjQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQkNBRUtBSUVSd1JBSUFkQndNZ0RRWUhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYmdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1Fia0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQUVLQUlJUmdSQUlBSWdEQkJRSUFWQkFuUnFJUklnQWlBR0VGQWdCVUVDZEdvaEJ5QUNJQkVRVUNBRlFRSjBhaUVKSUFNZ0JoQlFJQVZCQW5ScUlRc2dCQ0FNRUZBZ0JVRUNkR29oRENBRUlBWVFVQ0FGUVFKMGFpRUNJQVFnRVJCUUlBVkJBblJxSVFRZ0RTQU9JQThnRUNBS0lBTWdCU0FHRU1rQ0lBSXFBZ0FpRlNBSEtnSUFJaFlnQ3lvQ0FFTUFBQUJBbEpPU0lSY2dCMEY4YWlvQ0FDQUhLZ0lFa3lBQ0tnSUVJQUpCZkdvcUFnQ1Rra01BQUlBK2xDRVRJQklxQWdBZ0NTb0NBSk1nQkNvQ0FDQU1LZ0lBazVKREFBQ0FQcFFoRkNBQUlBOG9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FUT0FJSUlBQWdBallDRENBQUlCQW9BZ0EyQWhBZ0FDQVVPQUlVSUFBZ0V6Z0NHQ0FBSUJRNEFod2dBQ0FYT0FJZ0lBRWdEU29DQUl3NEFnQWdBU0FPS2dJQWpEZ0NCQ0FCSUJVZ0ZwTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWJYY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJvQ0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wRzJBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEcxQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTFdnRUNmU0FBS2dJZ0lBQXFBZ1FRYVpRaEFTQUFLZ0lFUXdBQUFFQ1VJQUFxQWdnaUFwUWdBQ29DRkpRZ0FaTWdBQ29DRUNBQ0VHbVVreUFBS2dJQUlBQXFBaFFRYVpTVElBQXFBZ0FnQUNvQ0VKUWdBQ29DSUpTU0M4d0JBUUovSXdZaEFpTUdRUkJxSkFZZ0FBUi9JQUVnQUNnQ0JFWUVmMEVBQlFKL0lBRkJEMDhFUUNBQ0lBRTJBZ0JCQUVFRFFmR21BU0FDRUQxQmZ3d0JDeUFBSUFFMkFnUWdBQ0FCRUpVR05nSUlJQUFvQWhnaEEwR2c0QUVnQVVILy93Rnhka0VCY1FSQUFrQUNRQUpBSUFNT0JBQUNBZ0VDQ3lBQVFRRTJBaGhCQUF3REN5QUFRUVEyQWhoQkFBd0NDd1VDUUFKQUFrQWdBMEVCYXc0RUFBSUNBUUlMSUFCQkJEWUNHRUVBREFNTElBQkJBellDR0VFQURBSUxDMEVBQ3dzRlFYOExHaUFDSkFZTGVnQWdBQ0FCS2dJQUlBSXFBZ0NVSUFFcUFnUWdBaW9DQkpTU0lBRXFBZ2dnQWlvQ0NKU1NPQUlBSUFBZ0FTb0NEQ0FDS2dJQWxDQUJLZ0lRSUFJcUFnU1VraUFCS2dJVUlBSXFBZ2lVa2pnQ0JDQUFJQUVxQWhnZ0Fpb0NBSlFnQVNvQ0hDQUNLZ0lFbEpJZ0FTb0NJQ0FDS2dJSWxKSTRBZ2dMNndFQkFYMGdBUkRpQ0NJQ2kwTUFBQUEwWHdSL1FRQUZJQUJEQUFDQVB5QUNsU0lDSUFFcUFoQWdBU29DRkNBQktnSWdFTW9DbERnQ0FDQUFJQUlnQVNvQ0NDQUJLZ0lFSUFFcUFpQWdBU29DSEJDQUFaUTRBZ1FnQUNBQ0lBRXFBZ1FnQVNvQ0NDQUJLZ0lRSUFFcUFoUVFnQUdVT0FJSUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0lCREtBcFE0QWhBZ0FDQUNJQUVxQWdnZ0FTb0NBQ0FCS2dJVUlBRXFBZ3dRZ0FHVU9BSVVJQUFnQWlBQktnSUFJQUVxQWdRZ0FTb0NFQkRLQXBRNEFpQWdBQ0FBS0FJRU5nSU1JQUFnQUNnQ0NEWUNHQ0FBSUFBb0FoUTJBaHhCQVFzTFBBRUJmU0FCS2dJQUlBRXFBaENVSUFFcUFnUVFhWk1pQWtNQUFBQUFXd1IvUVFBRklBQWdBU29DQUNBQktnSVFraEJwSUFLVk9BSUFRUUVMQ3k4QkFuOGpCaUVESXdaQk1Hb2tCaUFESUFFUTVRZ0VmeUFBSUFNZ0FoRGtDRUVCQlVFQUN5RUVJQU1rQmlBRUM2a0ZBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JDZ0NCQ0FDS0FJRUlBTW9BZ1JHUmdSQUlBUW9BZ2dnQWlnQ0NDQURLQUlJUmtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9FSUJTQUhRY0RJQTBHSHl3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIU0F4QStRZmFpQWhBM1FkVE1BUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxCUUpBSUFJb0FnUWdBeWdDQkVZRVFDQUVLQUlFSUFNb0FnUkJBWFpHQkVBZ0FpZ0NDQ0FES0FJSVJnUkFJQVFvQWdnZ0F5Z0NDRUVCZGtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9BSURBUUxDeUFIUWNESUEwSDB6QUVRTjBIT3l3RVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZFRNQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQ2lBSlFRb2dDa0UvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMQ3lBREtBSUVJQUlvQWdSQkFYWkdCRUFnQXlnQ0JDQUVLQUlFUmdSQUlBTW9BZ1FnQWlnQ0JFRUJka1lFUUNBREtBSUVJQVFvQWdSR0JFQWdBQ0FCSUFJZ0F5QUVJQVVnQmhEZkNBd0VDd3NnQjBIQXlBTkIxYzBCRURkQnpzc0JFRGRCNzZJQ0VEZEIyQU1RUGtIMm9nSVFOMEhVekFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0IwSEF5QU5CNG9FQ0VEZEJ6c3NCRURkQjc2SUNFRGRCMndNUVBrSDJvZ0lRTjBHeXpnRVFOeUlBS0FJQVFYUnFLQUlBSUFCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCeVFHUVFFTFBRRUNmeUFBS0FJRUlBQW9BZ0FpQTJ0QkpCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUTNRZ0ZJQUlnQVVzRVFDQUFJQUZCSkd3Z0EybzJBZ1FMQ3dzNEFDQUFCSDhnQVVRQUFBQUFBQUFBQUdVZ0FVUUFBQUFBQUFEd1AyWnlCSDlCZndVZ0FFR1FoNjhEYWlBQk9RTUFRUUFMQlVGL0N3dk1BUUlGZndKOUlBRW9BZ0FpQkVGNGFpRUdJQUFvQWdBaEFnTkFJQUlnQmtjRVFDQUNJQVJHQkVBZ0JDRUJCUUpBSUFJaEFRTkFJQUVoQlFOQUFrQWdCQ0FGUVFocUlnTkdEUU1nQVNvQ0FDSUhJQU1xQWdBaUNGME5BQ0FJSUFkZFJRUkFJQUVvQWdRZ0JTZ0NERWtOQVFzZ0F5RUZEQUVMQ3lBRElRRU1BQUFMQUFzTElBRWdBa2NFUUNBQ0tBSUFJUU1nQWlBQktBSUFOZ0lBSUFFZ0F6WUNBQ0FDS0FJRUlRTWdBaUFCS0FJRU5nSUVJQUVnQXpZQ0JBc2dBQ0FDUVFocUlnSTJBZ0FNQVFzTEM5ME1BaEYvQTMwakJpRUlJd1pCTUdva0JpQUlRU2hxSVFzZ0NFRWthaUVNSUFoQklHb2hFU0FCS0FJQUlRMENRQUpBQWtBQ1FBTkFBa0FnQWlnQ0FDSU9RWGhxSVFZZ0RrRjhhaUVLSUEwZ0RrWU5BQ0FHSVFjZ0FDZ0NBQ0lCSVFRQ2Z3SkFBa0FDUUFOQUFrQUNRQ0FPSUFScklnTkJBM1VpQ1E0RUJ3Y0pDZ0FMSUFOQndBQklEUW9nQ0NBRU5nSUlJQWdnQ1VFQmRpSURRUU4wSUFGcUlnazJBZ1FnQ0NBSE5nSUFJQkVnQ0NnQ0NEWUNBQ0FNSUFnb0FnUTJBZ0FnQ3lBSUtBSUFOZ0lBSUJFZ0RDQUxFUElESVE4Z0NTb0NBQ0lVSUFRcUFnQWlGVjBOQXlBRFFRTjBJQUZxSVJJZ0ZTQVVYVVVFUUNBU0tBSUVJQVFvQWdSSkRRUUxJQVloQXdOQUlBTkJlR29pQlNBRVJ3UkFJQlFnQlNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnRWlnQ0JDQURRWHhxS0FJQUloQkpEUVVMSUFVaEF3d0JDd3NnQkVFSWFpSUZJUVFnQmlvQ0FDSVZJQUVxQWdBaUZGMUZCRUFDUUNBVUlCVmRCRUFnQVVFRWFpRURCU0FLS0FJQUlBRkJCR29pQXlnQ0FFa05BUXNDZndKQUEwQUNRQ0FGSUFaR0RRd2dCU29DQUNJV0lCUmREUUFnRkNBV1hVVUVRQ0FGS0FJRUlnUWdBeWdDQUVrTkF3c2dCVUVJYWlFRkRBRUxDeUFGS0FJRUlRUWdCVUVFYWd3QkN5QUZRUVJxQ3lFVElBVWdGVGdDQUNBR0lCWTRBZ0FnRXlBS0tBSUFOZ0lBSUFvZ0JEWUNBQ0FGUVFocUlRUUxDeUFFSUFaR0RRWWdBU0VKSUFjaEFRTkFJQWtxQWdBaEZBTkFBa0FnQkNvQ0FDSVZJQlJkRFFBZ0ZDQVZYVVVFUUNBRUtBSUVJQWtvQWdSSkRRRUxJQVJCQ0dvaEJBd0JDd3NnQkNFRElBRWhCQU5BQWtBZ0JFRjRhaUlCS2dJQUloVWdGRjFGQkVBZ0ZDQVZYUTBCSUFSQmZHb29BZ0FnQ1NnQ0JFOE5BUXNnQVNFRURBRUxDeUFCSUFOTEJFQWdBeWdDQUNFRklBTWdGVGdDQUNBQklBVTJBZ0FnQXlnQ0JDRUZJQU1nQkVGOGFpSUVLQUlBTmdJRUlBUWdCVFlDQUNBRFFRaHFJUVFNQVFzTElBMGdBeUlCU1EwR0lBQWdBVFlDQUNBQklRUU1BUXNMSUFOQmZHb2lBU0VESUFFb0FnQWhFQXdDQ3lBRFFYeHFJUU1NQVFzZ0R5RURJQVlNQVFzZ0JDZ0NBQ0VCSUFRZ0ZUZ0NBQ0FGSUFFMkFnQWdCQ2dDQkNFQklBUWdFRFlDQkNBRElBRTJBZ0FnRDBFQmFpRURJQVVMSVFFZ0JFRUlhaUlISVFZZ0J5QUJTUVIvSUFNaEJTQUdJUU1EUUNBSktnSUFJUlFEUUFKQUlCUWdBeW9DQUNJVlhVVUVRQ0FWSUJSZERRRWdDU2dDQkNBREtBSUVUdzBCQ3lBRFFRaHFJUU1NQVFzTElBTWhCeUFCSVFNRFFBSkFJQlFnQTBGNGFpSUJLZ0lBSWhWZERRQWdGU0FVWFVVRVFDQUpLQUlFSUFOQmZHb29BZ0JKRFFFTElBRWhBd3dCQ3dzZ0FTQUhTd1JBSUFjb0FnQWhCaUFISUJVNEFnQWdBU0FHTmdJQUlBY29BZ1FoQmlBSElBTkJmR29pQXlnQ0FEWUNCQ0FESUFZMkFnQWdCVUVCYWlFRklBRWdDU0FISUFsR0d5RUpJQWRCQ0dvaEF3d0JDd3NnQnlFR0lBVUZJQU1MSVFFZ0J5QUpSd1JBQWtBZ0J5b0NBQ0lWSUFrcUFnQWlGRjBFUUNBSlFRUnFJUVVnQjBFRWFpRVBJQWtvQWdRaEF5QUhLQUlFSVJBRklCUWdGVjBOQVNBSFFRUnFJZzhvQWdBaUVDQUpRUVJxSWdVb0FnQWlBMDhOQVFzZ0JpZ0NBQ0VLSUFZZ0ZEZ0NBQ0FKSUFvMkFnQWdEeUFETmdJQUlBVWdFRFlDQUNBQlFRRnFJUUVMQ3lBSElBMUdEUUFnQmlFRElBRkZCRUFDUUNBTklBZEpCRUFEUUNBSElBUkJDR29pQVVZTkJDQUVLZ0lBSWhRZ0FTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0JDZ0NCQ0FFS0FJTVNRMERDeUFCSVFRTUFBQUxBQVVnQXlFQkEwQWdEaUFCUVFocUlnTkdEUVFnQVNvQ0FDSVVJQU1xQWdBaUZWME5BaUFWSUJSZFJRUkFJQUVvQWdRZ0FTZ0NERWtOQXdzZ0F5RUJEQUFBQ3dBTEFBc0xJQTBnQjBrRVFDQUNJQVkyQWdBRklBQWdCMEVJYWpZQ0FBc01BUXNMREFNTElBSWdCallDQUNBQktnSUFJaFFnQmlvQ0FDSVZYUVJBSUFGQkJHb2hBeUFLS0FJQUlRQWdBU2dDQkNFQ0JTQVZJQlJkRFFNZ0FVRUVhaUlES0FJQUlnSWdDaWdDQUNJQVR3MERDeUFCSUJVNEFnQWdCaUFVT0FJQUlBTWdBRFlDQUNBS0lBSTJBZ0FNQWdzZ0NDQUVOZ0ljSUFnZ0JFRUlhallDR0NBQ0lBWTJBZ0FnQ0NBR05nSVVJQkVnQ0NnQ0hEWUNBQ0FNSUFnb0FoZzJBZ0FnQ3lBSUtBSVVOZ0lBSUJFZ0RDQUxFUElER2d3QkN5QUlJQVEyQWhBZ0NDQU9OZ0lNSUF3Z0NDZ0NFRFlDQUNBTElBZ29BZ3cyQWdBZ0RDQUxFT3NJQ3lBSUpBWUxwZ2NDQ0g4RGZTTUdJUWdqQmtFd2FpUUdJQWhCQ0dvaENTQUlRU0JxSVEwZ0NFRWNhaUVPSUFNZ0JHd2hDZ0o5SUFXeUlBT3lsWTBoRWlBR3NpQUVzcFdOSVJFZ0FTQUJLQUlBTmdJRUlBRWdCeERSQWlBQUtBSUVJQUFvQWdBaUEydEJEQkE1SVF0QkFDRUZBMEFnQlNBTFJ3UkFJQVZCREd3Z0Eyb29BZ1FnQlVFTWJDQURhaWdDQUNJRWEwRU1FRGtoREVFQUlRWURRQ0FHSUF4SEJFQWdCa0VNYkNBRWFpQUdRUXhzSUFScUtBSUFOZ0lFSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUhJQW9RT1NFTElCSUxFRU95SVJBZ0VSQkRzaUVSUVFBaEJBTkFJQVFnQWlnQ0JDQUNLQUlBSWdOclFTUVFPVWtFUUNBRVFTUnNJQU5xS2dJQUlCQ1ZFRU1oQmlBRVFTUnNJQU5xS2dJRUlCR1ZFRU1oQlNBQUtBSUFJQVpCREd4cUtBSUFJUVlnQ1NBRVFTUnNJQU5xS2dJWWl6Z0NBQ0FKSUFRMkFnUWdCVUVNYkNBR2FpSURLQUlFSWdjZ0JVRU1iQ0FHYWlnQ0NFa0VRQ0FISUFrcEF3QTNBZ0FnQXlBREtBSUVRUWhxTmdJRUJTQUZRUXhzSUFacUlBa1FsZ0VMSUFSQkFXb2hCQXdCQ3d0QkFDRUdJQUFvQWdBaUJTSUVJUU1DUUFOQUlBWWdBQ2dDQkNBRmEwRU1FRGxKQkVCQkFDRUZBMEFnQlNBR1FReHNJQVJxS0FJRUlBWkJER3dnQkdvb0FnQWlCMnRCREJBNVNRUkFJQXNnQlVFTWJDQUhhaUlLS0FJRUlnOGdCVUVNYkNBSGFpSU1LQUlBSWdSclFRTjFJZ2NnQ3lBSFNSc2lCd1JBSUFnZ0JEWUNHQ0FJSUFkQkEzUWdCR28yQWhRZ0NDQVBOZ0lRSUE0Z0NDZ0NHRFlDQUNBTklBZ29BaFEyQWdBZ0NTQUlLQUlRTmdJQUlBNGdEU0FKRU93SUlBd29BZ0FpQkNFRElBY2dDaWdDQkNBRWEwRURkVXNFUUNBREtnSUFJQWRCQTNRZ0Eyb3FBZ0JnUlEwR0MwRUFJUW9EUUNBS0lBZEpCRUFnQWlnQ0FDQU1LQUlBSUFwQkEzUnFLQUlFUVNSc2FpRURJQUVvQWdRaUJDQUJLQUlJUmdSQUlBRWdBeERpQVFVZ0JDQURLUUlBTndJQUlBUWdBeWtDQ0RjQ0NDQUVJQU1wQWhBM0FoQWdCQ0FES1FJWU53SVlJQVFnQXlnQ0lEWUNJQ0FCSUFFb0FnUkJKR28yQWdRTElBcEJBV29oQ2d3QkN3c2dBQ2dDQUNFREN5QUZRUUZxSVFVZ0F5RUVEQUVMQ3lBR1FRRnFJUVlnQkNFRkRBRUxDeUFJSkFZUEN5QUpRY0RJQTBIcHlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkJSQStRZmFpQWhBM1FhUEpBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FKRUR3Z0FDQUJFRUFnQUJBL0VBQUxKZ0FnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUdZaDY4RGFpZ0NBRFlDQUVFQUJVRi9DeG9MUkFFQ2ZVTUFBSUEvUVFFZ0JuU3lsU0lIUXdBQUFEK1VRd0FBQUwrU0lRZ2dBQ0FISUFPVUlBaVNPQUlBSUFFZ0J5QUVsQ0FJa2pnQ0FDQUNJQWNnQlpRNEFnQUwzUVFDREg4QmZTTUdJUUlqQmtGQWF5UUdJQUpCTUdvaENpQUNRU3hxSVFjZ0FrRW9haUVJSUFKQkpHb2hDeUFBTEFBY0JFQWdBQ0FBUWNnQWFpSUpLQUlBTmdKTUlBa2dBRUZBYXlJTUtBSUFJQUJCUEdvaUJTZ0NBR3NRMFFJZ0FFSGNBR29pRFNBQkVNSUlBMEFnQlNnQ0FDSUdJUU1nQkNBTUtBSUFJQVpyUVNRUU9Va0VRQ0FISUFnZ0N5QUVRU1JzSUFOcUtnSUFJQVJCSkd3Z0Eyb3FBZ1FnQkVFa2JDQURhaW9DSENBRVFTUnNJQU5xS0FJTUVPOElJQWNnQnlvQ0FDQUJJQVVvQWdBZ0JFRWtiR29vQWd4QkFCQ3NBU2dDQkVGL2FyTVE0d0U0QWdBZ0NDQUlLZ0lBSUFFZ0JTZ0NBQ0FFUVNSc2FpZ0NERUVBRUt3QktBSUlRWDlxc3hEakFTSU9PQUlBSUEwZ0FDZ0NrQUVnQ2lBRktBSUFJZ01nQkVFa2JHb29BZ3dnQkVFa2JDQURhaWdDRUNBSEtnSUFJQTRnQ3lvQ0FCREJDRUVBSVFZRFFDQUdJQW9vQWdCSUJFQWdBaUFGS0FJQUlBUkJKR3hxSWdNcEFnQTNBZ0FnQWlBREtRSUlOd0lJSUFJZ0F5a0NFRGNDRUNBQ0lBTXBBaGczQWhnZ0FpQURLQUlnTmdJZ0lBSWdBQ2dDa0FFZ0JrRUNkR29vQWdBMkFnZ2dBQ2dDVENJRElBQW9BbEJHQkVBZ0NTQUNFT0lCQlNBRElBSXBBZ0EzQWdBZ0F5QUNLUUlJTndJSUlBTWdBaWtDRURjQ0VDQURJQUlwQWhnM0FoZ2dBeUFDS0FJZ05nSWdJQUFnQUNnQ1RFRWthallDVEFzZ0JrRUJhaUVHREFFTEN5QUVRUUZxSVFRTUFRc0xJQVVnQ1JDSkFnVUNRQ0FBUVVCcktBSUFJQUFvQWp3aUFHdEJKQkE1SVFFRFFDQUJJQVZHRFFFZ0JVRWtiQ0FBYWtNQUFBQUFPQUlJSUFWQkFXb2hCUXdBQUFzQUN3c2dBaVFHQzVJRUFRdC9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUJJQUJCUUdzaUNDZ0NBQ0FBUVR4cUlnUW9BZ0JyUVNRUU9TQUFLQUpVSWdsTEJFQWdBQ2dDRkNBQVFSQnFJZ29vQWdBaUJtdEJEQkE1SWdzZ0FDZ0NDRWNFUUNBQlFjRElBMEdCeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhHQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBWW9BZ1FnQmlnQ0FHdEJEQkE1SWdZZ0FDZ0NERWNFUUNBQlFjRElBMEhTeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhIQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBTkJBRFlDQUNBRFFRQTJBZ1FnQTBFQU5nSUlJQW9nQXlBRUlBc2dCaUFBS0FJQUlBQW9BZ1FnQ1JEdENDQUVJQU1RaVFJZ0NDZ0NBQ0FFS0FJQWEwRWtFRGtnQUNnQ1ZFc0VRQ0FCUWNESUEwR015QUVRTjBIQXZBRVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZEhJQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdRb0FnQW9BaHdoQWlBRVFRb2dBa0UvY1VHS0FXb1JBZ0FoQkNBQkVEd2dBQ0FFRUVBZ0FCQS9FQUFGSUFNUVZRc0xJQU1rQmd1YUJ3SVZmd1I5SXdZaEJTTUdRZEFBYWlRR0lBVkJ4QUJxSVFrZ0JVRTRhaUVNSUFWQkxHb2hCeUFGUVNocUlRMGdCVUVrYWlFT0lBQXFBalFRYVNFWUlBQXFBamhEQUFDQVA1SVFhU0FBS2dJNGxTRVpJQUJCUEdvaER5QUFRVUJySVJVZ0FFRWdhaUVHQWtBQ1FBSkFBMEFnQWlBVktBSUFJQThvQWdBaUEydEJKQkE1U1FSQUlBSkJKR3dnQTJvaUVpZ0NFQ0FHS0FJUVRnMENJQklvQWhBZ0JpZ0NFQ0FDUVNSc0lBTnFJaEFvQWd4c2FpRUtJQTBnRGlBQ1FTUnNJQU5xSWdncUFnQWdBa0VrYkNBRGFrRUVhaUlUS2dJQUlCQW9BZ3dReXdJZ0RTb0NBRU1BQUFBL2toQkRJUXNnRGlvQ0FFTUFBQUEva2hCRElSRWdCU0FNSUFZb0FnQWdDa0YvYWtFRmRHb2dCaWdDQUNBS1FRVjBhaUlVSUFZb0FnQWdDa0VCYWtFRmRHb2dDeUFSRU9nSUJFQWdCeUFGSUF3UTV3Z0VRQ0FIS2dJQUVHa2dCeW9DQkJCcGtpQUFLZ0pZWGtVRVFDQUNRU1JzSUFOcUloWkJJR29nQlJEbUNBUkFJQUpCSkd3Z0Eyb2lDaW9DR0NBVUlCRVFVQ0FMUVFKMGFpb0NBRndOQnlBS0lCUWdFUkJRSUF0QkFuUnFLZ0lBSUF3cUFnQWdCeW9DQUNJWGxDQU1LZ0lFSUFjcUFnUWlHcFNTSUF3cUFnZ2dCeW9DQ0pTU2t6Z0NHQ0FJSUJNZ0Z5QU5LZ0lBa2lBYUlBNHFBZ0NTSUJBb0Fnd1E0UUVnQWtFa2JDQURhaUlMSUFjcUFnZ2dFaWdDRUxLU0loYzRBaFFnQ3lBWElBWW9BaEN5RU9NQk9BSVVJQllxQWlDTElCbGRCSDhnQ2lvQ0dCQnBJQmhnQkg4Z0NDb0NBQ0lYUXdBQUFBQmdCSDhnRnlBR0tBSUFLQUlFczEwRWZ5QVRLZ0lBSWhkREFBQUFBR0FFZnlBWElBWW9BZ0FvQWdpelhRUi9JQUpCSkd3Z0Eyb2dBU0FRS0FJTUlBc3FBaFFRaHdJNEFod2dEeWdDQUNBRVFTUnNhaUlESUFncEFnQTNBZ0FnQXlBSUtRSUlOd0lJSUFNZ0NDa0NFRGNDRUNBRElBZ3BBaGczQWhnZ0F5QUlLQUlnTmdJZ0lBUkJBV29GSUFRTEJTQUVDd1VnQkFzRklBUUxCU0FFQ3dVZ0JBc2hCQXNMQ3dzZ0FrRUJhaUVDREFFTEN5QVBJQVFRNlFnZ0JTUUdEd3NnQ1VIQXlBTkJ0c2tCRURkQndMd0JFRGRCNzZJQ0VEZEI2UU1RUGtIMm9nSVFOMEgreVFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTUFRc2dDVUhBeUFOQm84b0JFRGRCd0x3QkVEZEI3NklDRURkQmpnUVFQa0gyb2dJUU4wSGN5Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNMSUFsQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFrUVBDQUFJQUVRUUNBQUVEOFFBQXVNSkFJY2Z3cDlJd1loQlNNR1FUQnFKQVlnQUVGQWF5SVJJQUJCUEdvaUdDZ0NBRFlDQUNBQUtnSTBFR2toSlNBQVFTQnFJUmtnQlVFRWFpRWFJQVZCQkdvaEd5QUZRUVJxSVJ4QkFTRURBa0FDUUFKQUFrQUNRQUpBQWtBRFFDQURJQmtvQWdRZ0dTZ0NBR3RCQlhWQmYycEpCRUFnQWlBRFFYOXFFTWdDSVFjZ0FpQURFTWdDSVFvZ0FpQURRUUZxSWgwUXlBSWhDQ0FDSUFNUTJnZ2hFaUFESUFJb0FoQVFUeUVXQWtBQ1FDQUhLQUlFSUFvb0FnUkhEUUFnQnlnQ0JDQUlLQUlFUncwQUlBY29BZ2dnQ2lnQ0NFY05CQ0FIS0FJSUlBZ29BZ2hIRFFVZ0NpZ0NCRUYvYWlFWElBb29BZ2hCZjJvaEhpQVdzaUVnUVFFaEF3TkFJQU1nSGtrRVFDQUhJQU5CZjJvaUJCQlFJUk1nQnlBREVGQWhDeUFISUFOQkFXb2lGQkJRSVF3Z0NpQUVFRkFoRFNBS0lBTVFVQ0VWSUFvZ0ZCQlFJUTRnQ0NBRUVGQWhEeUFJSUFNUVVDRVFJQWdnRkJCUUlRa2dBN01oSVVFQklRTURRQ0FESUJkSkJFQWdBMEVDZENBVmFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUFKQUFrQWdCQ29DQUNJZklBTkJmMm9pQkVFQ2RDQVRhaW9DQUNJaVhrVU5BQ0FmSUFOQkFuUWdFMm9xQWdCZVJRMEFJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRldvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FWYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEbW9xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUGFpb0NBRjVGRFFBZ0h5QUVRUUowSUJCcUtnSUFYa1VOQUNBZklBTkJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQWxxS2dJQVhrVU5BQ0FmSUFOQkFuUWdDV29xQWdCZVJRMEFJQjhnQmtFQ2RDQUphaW9DQUY1RkRRQU1BUXNnSHlBaVhVVU5BU0FmSUFOQkFuUWdFMm9xQWdCZFJRMEJJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRldvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FWYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFOQkFuUWdEbW9xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUGFpb0NBRjFGRFFFZ0h5QUVRUUowSUJCcUtnSUFYVVVOQVNBZklBTkJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQWxxS2dJQVhVVU5BU0FmSUFOQkFuUWdDV29xQWdCZFJRMEJJQjhnQmtFQ2RDQUphaW9DQUYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQWZPQUlZSUFVZ0FTQVNJQ0FRaHdJNEFod2dCU0FhSUFPeklDRWdFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUVMQ3d3QkN5QUhLQUlFSUFvb0FnUkdCRUFnQ0NnQ0JDQUtLQUlFUVFGMlJnUkFJQWNvQWdnZ0NpZ0NDRWNOQnlBSUtBSUlJQW9vQWdoQkFYWkhEUWdnQ0NnQ0JFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSTWdDQ2dDQ0VGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJVZ0ZySWhKa0VDSVFNRFFDQURJQlZQRFFNZ0J5QURRWDlxSWdRUVVDRVBJQWNnQXhCUUlRc2dCeUFEUVFGcUloUVFVQ0VNSUFvZ0JCQlFJUTBnQ2lBREVGQWhFQ0FLSUJRUVVDRU9JQU96SWlkREFBQUFQNVJEQUFDQXZwSWlJVU1BQUFDL2tpRWlJQ0ZEQUFBQVA1SWhJMEVDSVFRRFFDQUVJQk5KQkVBZ0JFRUNkQ0FRYWlJREtnSUFFR2tnSlYxRkJFQUNRQ0FFc3lJb1F3QUFBRCtVUXdBQWdMNlNJU0FDUUFKQUlBTXFBZ0FpSHlBRVFYOXFJZ1pCQW5RZ0Qyb2lGeW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQ1VFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdDVUVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQkJxS2dJQVhrVU5BQ0FmSUFsQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhrVU5BQ0FES2dJQUlBZ2dJQ0FpRUUxZVJRMEFJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWGtVTkFDQURLZ0lBSUFnZ0h5QWhFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDRVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0lSQk5Ya1VOQUNBREtnSUFJQWdnSHlBakVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNNUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSXhCTlhrVU5BQXdCQ3lBREtnSUFJaDhnRnlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdDVUVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUJCcUtnSUFYVVVOQVNBZklBbEJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFsQkFuUWdEbW9xQWdCZFJRMEJJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5YVVVOQVNBREtnSUFJQWdnSUNBaUVFMWRSUTBCSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhVVU5BU0FES2dJQUlBZ2dIeUFoRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ0VRVFYxRkRRRWdBeW9DQUNBSUlDUWdJUkJOWFVVTkFTQURLZ0lBSUFnZ0h5QWpFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDTVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0l4Qk5YVVVOQVFzZ0JTQVNOZ0lNSUFVZ0ZqWUNFQ0FGSUFNb0FnQTJBaGdnQlNBQklCSWdKaENIQWpnQ0hDQUZJQnNnS0NBbklCSVE0UUVnRVNnQ0FDSURJQUFvQWtSR0JFQWdHQ0FGRU9JQkJTQURJQVVwQWdBM0FnQWdBeUFGS1FJSU53SUlJQU1nQlNrQ0VEY0NFQ0FESUFVcEFoZzNBaGdnQXlBRktBSWdOZ0lnSUJFZ0VTZ0NBRUVrYWpZQ0FBc0xDeUFFUVFGcUlRUU1BUXNMSUJRaEF3d0FBQXNBQ3dzZ0NpZ0NCQ0FIS0FJRVFRRjJSZ1JBSUFnb0FnUWdCeWdDQkVFQmRrWUVRQ0FLS0FJSUlBY29BZ2hCQVhaSERRa2dDQ2dDQ0NBSEtBSUlRUUYyUncwS0lBb29BZ1JCZjJvaEV5QUtLQUlJUVg5cUlSVWdGckloSmtFQklRTURRQ0FESUJWUERRTWdDaUFEUVg5cUlnUVFVQ0VQSUFvZ0F4QlFJUkFnQ2lBRFFRRnFJaFFRVUNFTElBZ2dCQkJRSVF3Z0NDQURFRkFoRFNBSUlCUVFVQ0VPSUFPeklTY2dBMEVCZExOREFBQUFQNUlpSVVNQUFBREFraUVpSUNGREFBQUFRSkloSTBFQklRTURRQ0FESUJOSkJFQWdBMEVDZENBUWFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUNBRFFRRjBzME1BQUFBL2tpRWdBa0FDUUNBRUtnSUFJaDhnQTBGL2FpSUdRUUowSUE5cUloY3FBZ0JlUlEwQUlCOGdBMEVDZENBUGFpb0NBRjVGRFFBZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFKUVFKMElCQnFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUpRUUowSUF0cUtnSUFYa1VOQUNBZklBWkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXhxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFKUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdBMEVDZENBT2Fpb0NBRjVGRFFBZ0h5QUpRUUowSUE1cUtnSUFYa1VOQUNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFY1RkRRQWdCQ29DQUNBSElDQWdJaEJOWGtVTkFDQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0lSQk5Ya1VOQUNBRUtnSUFJQWNnSUNBaEVFMWVSUTBBSUFRcUFnQWdCeUFrSUNFUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSXhCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FqRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ01RVFY1RkRRQU1BUXNnQkNvQ0FDSWZJQmNxQWdCZFJRMEJJQjhnQTBFQ2RDQVBhaW9DQUYxRkRRRWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQkJxS2dJQVhVVU5BU0FmSUFaQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFKUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUpRUUowSUF4cUtnSUFYVVVOQVNBZklBWkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTFxS2dJQVhVVU5BU0FmSUFaQkFuUWdEbW9xQWdCZFJRMEJJQjhnQTBFQ2RDQU9haW9DQUYxRkRRRWdIeUFKUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQ0FnSWhCTlhVVU5BU0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFYxRkRRRWdCQ29DQUNBSElCOGdJUkJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWhFRTFkUlEwQklBUXFBZ0FnQnlBa0lDRVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0l4Qk5YVVVOQVNBRUtnSUFJQWNnSUNBakVFMWRSUTBCSUFRcUFnQWdCeUFrSUNNUVRWMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FFS0FJQU5nSVlJQVVnQVNBU0lDWVFod0k0QWh3Z0JTQWNJQU96SUNjZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBQUFDd0FMQ3dzZ0hTRUREQUVMQ3lBRkpBWVBDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RkN5QUZRY0RJQTBHMjNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dFQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0RDeUFGUWNESUEwSHEzUUVRTjBIQXZBRVFOMEh2b2dJUU4wR1dBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3Q0N5QUZRY0RJQTBHajNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dCQ3lBRlFjRElBMEhjM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93c2dCVUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCUkE4SUFBZ0FSQkFJQUFRUHhBQUMvQUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FTZ0NFRUVBVEFSQUlBSkJ3TWdEUWR1K0FSQTNRY0M4QVJBM1FlK2lBaEEzUVpNQkVENUI5cUlDRURkQmpMOEJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lCQ2dDQUNnQ0hDRUZJQVJCQ2lBRlFUOXhRWW9CYWhFQ0FDRUVJQUlRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0c0eGdFUWVTQUFRU0JxSUFFUWhRa2dBaEJySUFKQnhNWUJFSGtnQUNBQklBQkJJR29ROHdnZ0FoQnJJQUpCMk1ZQkVIa2dBQ0FCRVBJSUlBSVFheUFDUWVIR0FSQjVJQUFROFFnZ0FoQnJJQUpCNzhZQkVIa2dBQ0FCRVBBSUlBSVFheUFDSkFZTFFnRUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJkR29pQWpZQ0NDQUNFTk1DREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQxQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMEVCQW44Z0FDZ0NCQ0VCQTBBZ0FDZ0NDQ0lDSUFGSEJFQWdBQ0FDUVhScUlnSTJBZ2dnQWhCVkRBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEM0NBc0ZJQUFnQVJEMUF3c2dBaVFHQzEwQkEzOGdBQ2dDQkNJRUlBQW9BZ0FpQW10QkRCQTVJZ01nQVVrRVFDQUFJQUVnQTJzUStBZ0ZJQU1nQVVzRVFDQUJRUXhzSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRTEN3dGVBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUXdRT1NJRElBRkpCRUFnQUNBQklBTnJFUFlJQlNBRElBRkxCRUFnQVVFTWJDQUNhaUVDSUFRaEFRTkFJQUVnQWtjRVFDQUJRWFJxSWdFUTB3SU1BUXNMSUFBZ0FqWUNCQXNMQzVjQkFRRi9JQUJCSUdvZ0FSQ05DU0FBUWR3QWFpQUJFSFFvQWdBb0FnUWdBUkIwS0FJQUtBSUlJQUVvQWhBZ0FTZ0NGQkREQ0NBQUlBRVFkQ2dDQUNnQ0JEWUNBQ0FBSUFFUWRDZ0NBQ2dDQ0RZQ0JDQUFRUkJxSUFBb0FnZ1ErZ2hCQUNFQkEwQWdBU0FBS0FJVUlBQW9BaEFpQW10QkRCQTVTUVJBSUFGQkRHd2dBbW9nQUNnQ0RCRDVDQ0FCUVFGcUlRRU1BUXNMQzBBQkFYOGdBRUdRQVdvUVZTQUFRZHdBYWlJQlFTaHFFTklDSUFGQkhHb1FWU0FBUWNnQWFoQlZJQUJCUEdvUVZTQUFRU0JxRU5JQ0lBQkJFR29RZ1FrTEpRQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFSDBocThEYWlnQ0FEWUNBRUVBQlVGL0N3c2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJSUM2VUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUoxSUFGSkJFQkIvLy8vL3dNZ0FTQURJQUFvQWdCclFRSjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpQUJFUDRJSUFBZ0FoRGtBU0FDRU1jQkN3VWdBQ0FCRVBZREN5QUNKQVlMSUFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUNnQ0FEWUNBRUVBQlVGL0N4b0xRQUVDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGMGFpSUJFTk1DREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3U1QVFFQmZ5QUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkNqWUNDQ0FBUVFvMkFnd2dBRUVBTmdJUUlBQkJBRFlDRkNBQVFRQTJBaGdnQUVFQk9nQWNJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFRUFOZ0l3SUFCREFBQUFBRGdDTkNBQVF3QUFJRUU0QWpnZ0FFSUFOd0k4SUFCQ0FEY0NSQ0FBUWdBM0Frd2dBRU1BQUJCQk9BSllJQUJCM0FCcUVNUUlJQUJCa0FGcUlnRkJBRFlDQUNBQVFRQTJBcFFCSUFCQkFEWUNtQUVnQUVHSUp4RDNBeUFCUVNRUWh3RUxvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDOEFLQVFaL0l3WWhCU01HUVJCcUpBWWdBQ2dDQUVFQ1J3UkFJQVZCd01nRFFadkFBUkEzUWNDOEFSQTNRZStpQWhBM1FkWUFFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0FFRUNSd1JBSUFWQndNZ0RRZUxBQVJBM1FjQzhBUkEzUWUraUFoQTNRZGNBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NBRUVDUndSQUlBVkJ3TWdEUVpIQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRnQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDRUVFQlJ3UkFJQVZCd01nRFFjREJBUkEzUWNDOEFSQTNRZStpQWhBM1Fka0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0VFRUJSd1JBSUFWQndNZ0RRWTdDQVJBM1FjQzhBUkEzUWUraUFoQTNRZG9BRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NFRUVCUndSQUlBVkJ3TWdEUWJuQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRzQUVENUI5cUlDRURkQjZjRUJFRGNpQXlnQ0FFRjBhaWdDQUNBRGFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRZVRDQVJBM1FjQzhBUkEzUWUraUFoQTNRZHdBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFiVERBUkEzUWNDOEFSQTNRZStpQWhBM1FkMEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUVlmRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYm5FQVJBM1FjQzhBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUF0QkFDRURBMEFnQXlBQktBSUlTUVJBSUFBZ0F4Q0RDU0VHSUFFZ0F4QlFJUWNnQWlBREVGQWhDRUVBSVFRRFFDQUVJQUVvQWdSSkJFQWdCRUVDZENBR2FpQUVRUUowSUFkcUtnSUFJQVJCQW5RZ0NHb3FBZ0NUT0FJQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFGSkFZTDVnTUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSUVJQUFvQWdCR0JFQWdCRUhBeUFOQmlMNEJFRGRCd0x3QkVEZEI3NklDRURkQnlBQVFQa0gyb2dJUU4wR3l2Z0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCS0FJUVFRQk1CRUFnQkVIQXlBTkIyNzRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5UUFRUGtIMm9nSVFOMEdNdndFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQkJFQWdBVUh3OFFCQitQRUFFT1FFQkVCQkFDRUNBMEFnQWlBQUtBSU1TUVJBUVFBaEF3TkFJQU1nQUNnQ0VFa0VRQ0FBS0FJQUlBTWdBaUFBS0FJUWJHcEJCWFJxSUFFZ0FpQURFS3dCSUFFZ0FpQURRUUZxSWdNUXJBRVFoQWtNQVFzTElBSkJBV29oQWd3QkN3c2dCQ1FHRHdzTElBUkJ3TWdEUWJDL0FSQTNRY0M4QVJBM1FlK2lBaEEzUWNvQUVENUI5cUlDRURkQitMOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBdENBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0ZnYWlJQ05nSUlJQUlRM1FFTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMU2dFQ2Z5QUFCSDhnQUVHSWg2OERhaUlCS0FJQUlnSUVRQ0FDRUVrZ0FVRUFOZ0lBQ3lBQVFlQ0dwd0pxS0FJQUVEZ2dBRUhraHFjQ2FpZ0NBQkE0SUFBUU9FRUFCVUYvQ3hvTGtBRUJBbjhnQUNnQ0FDRURJQUFvQWdRaEFnTkFJQUlnQTBjRVFDQUJLQUlFUVdCcUlBSkJZR29pQWhDcUJ5QUJJQUVvQWdSQllHbzJBZ1FNQVFzTElBQW9BZ0FoQWlBQUlBRW9BZ1EyQWdBZ0FTQUNOZ0lFSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBU2dDQkRZQ0FBc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUXVnTWdBQ0FBS0FJSVFTQnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMzSUJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVILy8vOC9Td1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUZkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUVYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFRmRDQUVhallDREFzckFRRi9JQUFvQWdRaEFnTkFJQUlRdWdNZ0FDQUFLQUlFUVNCcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzZJQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRVjFJQUZKQkVCQi8vLy9QeUFCSUFNZ0FDZ0NBR3RCQlhWcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRUjFJZ1lnQmlBRFNSdEIvLy8vUHlBRlFRVjFRZi8vL3g5Skd5QUFLQUlFSUFSclFRVjFJQUJCQ0dvUWlna2dBaUFCRUlrSklBQWdBaENJQ1NBQ0VJWUpDd1VnQUNBQkVJc0pDeUFDSkFZTHd3SUJDSDhqQmlFRUl3WkJFR29rQmlBQktBSUlJQUVvQWdSclFRVjFSUVJBSUFSQndNZ0RRWlc4QVJBM1FjQzhBUkEzUWUraUFoQTNRVFVRUGtIMm9nSVFOMEhJdlFFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQlFRQkJBQkNzQVNnQ0FDRURJQUZCQUVFQUVLd0JLQUlFSVFVZ0FVRUFRUUFRckFFb0FnZ2hCaUFBSUFFb0FoQTJBZ3dnQUNBQktBSVVRWDlxSWdFMkFoQWdBQ0FCSUFBb0FneHNFTlFDUVFBaEFRTkFJQUVnQUNnQ0RFa0VRQ0FGSUFGMklRY2dCaUFCZGlFSVFRQWhBZ05BSUFJZ0FDZ0NFQ0lKU1FSQUlBQW9BZ0FnQWlBQklBbHNha0VGZEdvZ0F5QUhJQWhCQVJDM0FpQUNRUUZxSVFJTUFRc0xJQUZCQVdvaEFRd0JDd3NnQkNRR0MzTUJCSDhqQmlFREl3WkJFR29rQmlBRFFRaHFJUVFnQUFSQUlBQVFZQ0VDUVlEUkFoQmdJQUpCQW1wcUVFUWlBZ1JBSUFRZ0FEWUNBQ0FFUVlEUkFqWUNCQ0FDUVkrOEFTQUVFTHdCSUFJZ0FSQ3dBU0VGSUFJUU9BVkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3c2dBeVFHSUFVTHZRSUJDSDhqQmlFS0l3WkJFR29rQmlBRElBRkJCQkE1SWdzMkFnQWdCQ0FDUVFRUU9TSU1OZ0lBSUFzZ0RHd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NoQTlRUUVRQVFzZ0F5RUNBMEFnQ0NBTVNBUkFRUUFoQ1NBQUlBRWdDRUVDZENJRmJHb2hCQ0FBSUFFZ0JVRURjbXhxSVFZZ0FDQUJJQVZCQW5Kc2FpRUhJQUFnQVNBRlFRRnliR29oQlFOQUlBa2dDMGdFUUNBQ0lBWXRBQU1nQmkwQUFpQUdMUUFCSUFZdEFBQWdCeTBBQXlBSExRQUNJQWN0QUFFZ0J5MEFBQ0FGTFFBRElBVXRBQUlnQlMwQUFTQUZMUUFBSUFRdEFBTWdCQzBBQWlBRUxRQUFJQVF0QUFGcWFtcHFhbXBxYW1wcWFtcHFhbXBCRUJBNU9nQUFJQWxCQVdvaENTQUVRUVJxSVFRZ0JrRUVhaUVHSUFkQkJHb2hCeUFGUVFScUlRVWdBa0VCYWlFQ0RBRUxDeUFJUVFGcUlRZ01BUXNMSUFva0JpQURDeWNBSUFBRWZ5QUFRZmlHcndOcVFRYzJBZ0FnQUVIOGhxOERha0VBTmdJQVFRQUZRWDhMR2d2L0FRRUhmeU1HSVFrakJrRVFhaVFHSUFNZ0FVRURFRGtpQ2pZQ0FDQUVJQUpCQXhBNUlnczJBZ0FnQ2lBTGJCQkVJZ05GQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBRElRSURRQ0FISUF0SUJFQkJBQ0VJSUFBZ0FTQUhRUU5zSWdWc2FpRUVJQUFnQVNBRlFRSnFiR29oQmlBQUlBRWdCVUVCYW14cUlRVURRQ0FJSUFwSUJFQWdBaUFHTFFBQ0lBWXRBQUVnQmkwQUFDQUZMUUFDSUFVdEFBRWdCUzBBQUNBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFRUWtRT1RvQUFDQUlRUUZxSVFnZ0JFRURhaUVFSUFaQkEyb2hCaUFGUVFOcUlRVWdBa0VCYWlFQ0RBRUxDeUFIUVFGcUlRY01BUXNMSUFra0JpQURDOUFCQVFaL0l3WWhDQ01HUVJCcUpBWWdBeUFCUVFJUU9TSUpOZ0lBSUFRZ0FrRUNFRGtpQ2pZQ0FDQUpJQXBzRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQWdRUFVFQkVBRUxRUUFoQkNBRElRSURRQ0FFSUFwSUJFQkJBQ0VISUFBZ0FTQUVRUUYwSWdWc2FpRUdJQUFnQVNBRlFRRnliR29oQlFOQUlBY2dDVWdFUUNBQ0lBVXRBQUVnQlMwQUFDQUdMUUFBSUFZdEFBRnFhbXBCQW5ZNkFBQWdCMEVCYWlFSElBWkJBbW9oQmlBRlFRSnFJUVVnQWtFQmFpRUNEQUVMQ3lBRVFRRnFJUVFNQVFzTElBZ2tCaUFEQzZZREFRbC9Jd1loQ3lNR1FSQnFKQVlnQXlBQlFRTVFPU0lNUVFGMElnazJBZ0FnQkNBQ1FRTVFPU0lOUVFGMElnSTJBZ0FnQWlBSmJCQkVJZ1JGQkVCQkFFRURRYm5ZQWlBTEVEMUJBUkFCQ3lBRUlnSWhBd05BSUFnZ0RVZ0VRRUVBSVFvZ0FDQUJJQWhCQTJ3aUJrRUNhbXhxSVFjZ0FDQUJJQVpCQVdwc2FpRUZJQUFnQVNBR2JHb2hCaUFESUFscUlRTURRQ0FLSUF4SUJFQWdBaUFHTFFBQUlBWXRBQUZCQVhacUlBVXRBQUJCQVhacUlBVXRBQUZCQW5acVFRSjBRUWtRU0RvQUFDQURJQWN0QUFBZ0JTMEFBRUVCZGlBRkxRQUJRUUoyYWtFWWRFRVlkVUgvQVhGcUlBY3RBQUZCQVhacVFRSjBRUWtRU0RvQUFDQUNJQVl0QUFJZ0JpMEFBVUVCZG1vZ0JTMEFBVUVDZG1vZ0JTMEFBa0VCZG1wQkFuUkJDUkJJT2dBQklBTWdCeTBBQWlBRkxRQUJRUUoySUFVdEFBSkJBWFpxUVJoMFFSaDFRZjhCY1NBSExRQUJRUUYyYW1wQkFuUkJDUkJJT2dBQklBcEJBV29oQ2lBSFFRTnFJUWNnQlVFRGFpRUZJQVpCQTJvaEJpQUNRUUpxSVFJZ0EwRUNhaUVEREFFTEN5QUlRUUZxSVFnZ0FpQUphaUVDREFFTEN5QUxKQVlnQkF0T0FRRi9Jd1loQlNNR1FSQnFKQVlnQXlBQk5nSUFJQVFnQWpZQ0FDQUJJQUpzSWdFUVJDSUNCRUFnQWlBQUlBRVFUQm9nQlNRR0lBSVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMYWdBQ2Z3SkFBa0FDUUFKQUFrQWdBMEVCYXc0RkFBSUVBd0VFQ3lBQUlBRWdBaUFFSUFVUWxBa01CQXNnQUNBQklBSWdCQ0FGRUpNSkRBTUxJQUFnQVNBQ0lBUWdCUkNTQ1F3Q0N5QUFJQUVnQWlBRUlBVVFrUWtNQVFzZ0FDQUJJQUlnQkNBRkVJOEpDd3ZGQkFJTGZ3RjlJd1loQ0NNR1FmQUJhaVFHSUFoQjBBRnFJUWtnQ0VISUFXb2hCaUFJUWVBQmFpRU1JQWhCMUFGcUlRb2dDRUhnQUdvaERpQUlRY0FCYWlFUElBRW9BZ1FnQVNnQ0FDSUJheUlIUVFOMUlndEJCRWtFZjBGL0JRSi9JQWRCQVhRUVJDSUhSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXNnQzBFWWJCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBREtBSUFJUU1nQWlnQ0FDRUpRUUFoQWdOQUlBSWdDMGNFUUNBQ1FRUjBJQWRxSUFKQkEzUWdBV29vQWdBaURVRVViQ0FEYWlvQ0FMczVBd0FnQWtFRWRDQUhhaUFOUVJSc0lBTnFLZ0lFdXprRENDQUNRUmhzSUFacUlBSkJBM1FnQVdvb0FnUWlEVUVNYkNBSmFpb0NBTHM1QXdBZ0FrRVliQ0FHYWlBTlFReHNJQWxxS2dJRXV6a0RDQ0FDUVJoc0lBWnFSQUFBQUFBQUFBQUFPUU1RSUFKQkFXb2hBZ3dCQ3dzZ0NpQUxOZ0lJSUFvZ0J6WUNBQ0FLSUFZMkFnUWdBRUVJYWlJQUlBY2dCaUFMSUE0UW1BUkJBRWdFUUNBSEVEZ2dCaEE0UVg4TUFRc2dEQ0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUhFRGdnQmhBNFFYOE1BUXNnQUNBS0lBNGdDQ0FQRU9vQlFRQklCSDhnQnhBNElBWVFPQ0FNRU9JQ1FYOEZRUUFoQUFOQUlBQkJBMGNFUUVFQUlRRURRQ0FCUVFSSEJFQWdBRUVFZENBRWFpQUJRUUowYWlBQVFRVjBJQWhxSUFGQkEzUnFLd01BdGpnQ0FDQUJRUUZxSVFFTUFRc0xJQUJCQVdvaEFBd0JDd3NnREJEaUFpQUhFRGdnQmhBNElBVWdEeXNEQUxZaUVUZ0NBQ0FSUXdBQUlFRmVRUjkwUVI5MUN3c0xJUkFnQ0NRR0lCQUxyUXdEQzM4Q2ZRRjhJd1loQmlNR1FUQnFKQVlnQmtFUWFpRUhJQVpCQ0dvaEJTQUdRU3hxSVFnZ0JrRW9haUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUFvQWd3aEJDQUFLQUlRSVFJQ2Z5QUFLQUlVSWdOQkFVWWlDZ1IvSUFFaENFRUFCU0FCSUFRZ0FpQURJQWdnQ1JDVkNTSUlCSDlCQVFWQmZ3d0RDd3NoRENBQUtBSUFJQWdnQkNBQ0VJUUlJQUFnQUNnQ0FCQzVBaUlCS0FJRUlBRW9BZ0JySWdGQkZCQTVJZ1EyQWpBZ0FRUkFBa0FnQUNBQUtBSXNJZ0VFZnlBQkVEZ2dBQ2dDTUFVZ0JBdEJBM1FRUkNJQk5nSXNJQUZGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQUtBSUFFTGtDSVFRQ1FDQUtCRUFnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEU0FPSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTA0QWdBZ0FrRURkQ0FEYWlBT09BSUVDeUFDUVFGcUlRSU1BQUFMQUFVQ1FBSkFBa0FDUUNBRFFRSnJEZ1FCQXdJQUF3c2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQlNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBTUEvbENBT1F3QUF3RCtVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFEQVA1UTRBZ0FnQWtFRGRDQURhaUFPUXdBQXdEK1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQkNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBQUJBbENBT1F3QUFBRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFBQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQUFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQXlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBRUJBbENBT1F3QUFRRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFCQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQVFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBSUJBbENBT1F3QUFnRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFDQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQWdFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc0FDeUFBUVRScUlRUkJBQ0VEQTBBZ0F5QUFLQUk0SWdKT0JFQWdCQ0VBSUFJaEFRd0NDeUFFS0FJQUlnSWdBMEhFQUd4cUlBQW9BaVFnQTBFTWJHb29BZ2cyQWpBZ0EwSEVBR3dnQW1wQmZ6WUNQQ0FEUWNRQWJDQUNha0ZBYXlnQ0FFVUVRQ0FBS0FJQUtBSUFLQUlBUVF4cUlRSWdBQ2dDQUNnQ0FDZ0NBQ2dDR0NJSlFRQk9CRUFnQVNnQ0FDQUNJQUFvQWdBZ0NSRElCeUFBS0FJQUVMa0NJQVFvQWdBaUJTQURRY1FBYkdvZ0EwSEVBR3dnQldwQk5Hb1FsZ2xGQkVBZ0JDZ0NBQ0lGSUFOQnhBQnNha0VBTmdJOElBTkJ4QUJzSUFWcUlBSW9BZ1FnQWlnQ0FHdEJBM1VpQWpZQ09DQURRY1FBYkNBRmFpQUFRVHhxSUFsQkFuUnFLQUlBTmdJd0lBTkJ4QUJzSUFWcUtnSTB1eUVQSUFjZ0F6WUNBQ0FISUFJMkFnUWdCeUFDTmdJSUlBY2dEemtERUVFQVFRRkI1N3NCSUFjUVBRc0xDeUFEUVFGcUlRTU1BQUFMQUFzRklBQW9BamdoQVNBQUlnUkJOR29oQUVFQUlRSURRQ0FDSUFGSUJFQWdCQ2dDTkNBQ1FjUUFiR3BCZnpZQ1BDQUNRUUZxSVFJTUFRc0xDMEVBSVFJRFFDQUNJQUZJQkVBZ0FDZ0NBQ0FDUWNRQWJHcEJRR3RCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXdMQkVBZ0NCQTRDMEVBQ3dWQkFFRURRYnU3QVNBR0VEMUJBQXNhSUFZa0Jnc0dBQ0FBSkFZTFB3RUNmeUFBS0FJRUlRSWdBQ2dDQ0NFQkEwQWdBU0FDUndSQUlBQWdBVUYwYWlJQk5nSUlEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM1Y0JBUVIvSUFGQkJHb2lBeWdDQUNFQ0lBTWdBQ2dDQkNBQUtBSUFJZ1JySWdWQmRCQTVRUXhzSUFKcUlnSTJBZ0FnQlVFQVNnUkFJQUlnQkNBRkVFd2FJQU1vQWdBaEFnc2dBQ2dDQUNFRUlBQWdBallDQUNBRElBUTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQURLQUlBTmdJQUM1UUJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd2NnQUNnQ0JDQUFLQUlBYTBFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpZ0NDQ0FCTEFBQU9nQUFJQUlnQWlnQ0NFRUJhallDQ0NBQUlBSVExd0lnQWhEV0FpQUNKQVlMQzZ3QkFRVi9Jd1loQWlNR1FTQnFKQVpCMWFyVnFnRWdBQ2dDQkNBQUtBSUFhMEVNRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFRd1FPU0lGUVFGMElnWWdCaUFEU1J0QjFhclZxZ0VnQlVHcTFhclZBRWtiSUFBb0FnUWdCR3RCREJBNUlBQkJDR29RMVFJZ0FpZ0NDQ0lESUFFcEFnQTNBZ0FnQXlBQktBSUlOZ0lJSUFJZ0FpZ0NDRUVNYWpZQ0NDQUFJQUlRbWdrZ0FoQ1pDU0FDSkFZTEM3VUJBUVYvSXdZaEFpTUdRU0JxSkFaQnpKbXo1Z0FnQUNnQ0JDQUFLQUlBYTBFVUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUlFRT1NJRlFRRjBJZ1lnQmlBRFNSdEJ6Sm16NWdBZ0JVSG16Smt6U1JzZ0FDZ0NCQ0FFYTBFVUVEa2dBRUVJYWhENkF5QUNLQUlJSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBSWdBaWdDQ0VFVWFqWUNDQ0FBSUFJUStRTWdBaEQ0QXlBQ0pBWUxDNGNNQWc5L0FuMGpCaUVISXdaQjhBQnFKQVlnQjBFd2FpRVBJQWRCS0dvaERTQUhRU0JxSVE0Z0IwRVlhaUVNSUFkQkVHb2hCQ0FIUVFocUlRTWdCMEhnQUdvaENDQUhRZFFBYWlFS0lBZEJ5QUJxSVFzZ0IwRTBhaUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUVvQWdRaUFrVUVRRUVBUVFOQmo3c0JJQU1RUFVGL0RBRUxBa0FDUUNBQUtBSWNJZ05GRFFBZ0F4QTRJQUVvQWdRaUFnMEFJQUJCQURZQ0hFRUFJUUlNQVFzZ0FDQUNRWVFCYkJCRUlnTTJBaHdnQTBVRVFFRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQWhCQU5BSUFRZ0FrZ0VRQ0FBS0FJY0lBUkJoQUZzYWlBQktBSUFJQVJCaEFGc2FrR0VBUkJNR2lBRVFRRnFJUVFnQVNnQ0JDRUNEQUVMQ3dzZ0FDQUNOZ0lnSUFBb0FpUWlBZ1JBUVFBaEF3TkFJQU1nQUNnQ0tFZ0VRQ0FEUVF4c0lBSnFLQUlBSWdRRVFDQUVFRGdnQUNnQ0pDRUNDeUFEUVFGcUlRTU1BUXNMSUFJUU9Bc2dBU2dDRENJQ0JFQUNRQ0FBSUFKQkRHd1FSQ0lFTmdJa0lBUkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDd05BQWtBZ0JTQUNUZ1JBSUFJaEJnd0RDeUFBS0FJa0lnTWdCVUVNYkdvZ0FTZ0NDQ0lFSUFWQkRHeHFLQUlJTmdJSUlBVkJER3dnQTJvZ0JVRU1iQ0FFYWlJTUtBSUVOZ0lFSUF3b0FnUWlEQVJBSUFWQkRHd2dBMm9nREVFTWJCQkVJZ0kyQWdBZ0FrVU5BVUVBSVFNZ0JDRUNBMEFnQXlBRlFReHNJQUpxS0FJRVNBUkFJQUFvQWlRZ0JVRU1iR29vQWdBZ0EwRU1iR29pQkNBRlFReHNJQUpxS0FJQUlBTkJER3hxSWdJcEFnQTNBZ0FnQkNBQ0tBSUlOZ0lJSUFOQkFXb2hBeUFCS0FJSUlRSU1BUXNMSUFFb0Fnd2hBZ1VnQlVFTWJDQUVha0VBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc0ZJQUJCQURZQ0pBc2dBQ0FHTmdJb0lBQW9BalFpQWdSQUlBSVFPQ0FBUVFBMkFqUWdBRUVBTmdJNEN5QUJLQUlNSWdGQkFFb0VRQUpBSUFBZ0FUWUNPQ0FBSUFGQnhBQnNFRVFpQWpZQ05DQUNSUVJBUVFCQkEwRzUyQUlnRFJBOVFRRVFBUXRCQUNFR0EwQWdBU0FHUmcwQklBWkJ4QUJzSUFKcVFVQnJRUUEyQWdBZ0JrRUJhaUVHREFBQUN3QUxDeUFBS0FJZ0lnMEVmMEVBSVFaQkFDRUJBMEJCQUNBR0lBQW9BaWhPRFFJYVFRQWhCQU5BSUFRZ0FDZ0NKQ0FHUVF4c2FpZ0NCRWdFUUNBSVFRQTJBZ0FnQ0VFQU5nSUVJQWhCQURZQ0NDQUtRUUEyQWdBZ0NrRUFOZ0lFSUFwQkFEWUNDQ0FMUVFBMkFnQWdDMEVBTmdJRUlBdEJBRFlDQ0VFQUlRSURRQ0FDSUExSUJFQWdBQ2dDSENJRElBSkJoQUZzYWlnQ2dBRWdBQ2dDSkNJRklBWkJER3hxS0FJQUlBUkJER3hxS0FJSVJnUkFJQUpCaEFGc0lBTnFLQUo4SUFaQkRHd2dCV29vQWdoR0JFQUNRQ0FKSUFKQmhBRnNJQU5xS2dJQUlBSkJoQUZzSUFOcUtnSUVJQUpCaEFGc0lBTnFLZ0p3SUFKQmhBRnNJQU5xS2dKMElBSkJoQUZzSUFOcUtBSjRRUUJIRVB3RElBZ29BZ1FpQXlBSUtBSUlTUVJBSUFNZ0NTa0NBRGNDQUNBRElBa3BBZ2czQWdnZ0F5QUpLQUlRTmdJUUlBZ2dBMEVVYWpZQ0JBVWdDQ0FKRUowSkN5QUFLQUljSWdNZ0FrR0VBV3hxS2dJSUlSRWdBa0dFQVd3Z0Eyb3FBZ3doRWlBSklCRTRBZ0FnQ1NBU09BSUVJQWxEQUFBQUFEZ0NDQ0FLS0FJRUlnTWdDaWdDQ0VrRVFDQURJQWtwQWdBM0FnQWdBeUFKS0FJSU5nSUlJQW9nQ2lnQ0JFRU1hallDQkFVZ0NpQUpFSndKQzBFQUlRTURRQ0FEUWVBQVR3MEJJQU1nQUNnQ0hDQUNRWVFCYkdwQkVHcHFJUVVnQ3lnQ0JDSU9JQXNvQWdoR0JFQWdDeUFGRUpzSkJTQU9JQVVzQUFBNkFBQWdDeUFMS0FJRVFRRnFOZ0lFQ3lBRFFRRnFJUU1NQUFBTEFBc0xDeUFDUVFGcUlRSU1BUXNMSUE4Z0NDZ0NCQ0FJS0FJQWEwRVVFRGsyQWdCQkFFRUJRYkM3QVNBUEVEMGdBRUU4YWlBQlFRSjBhaUFBS0FJa0lnSWdCa0VNYkdvb0FnZzJBZ0FnQUNnQ0FDQUlJQXNnQ2lBR1FReHNJQUpxS0FJQUlnSWdCRUVNYkdvb0FnQWdCRUVNYkNBQ2FpZ0NCQ0FCRUpJSUlBc1FWU0FLRUZVZ0NCRFpBaUFFUVFGcUlRUWdBVUVCYWlFQkRBRUxDeUFHUVFGcUlRWU1BQUFMQUFWQkFBc0xCVUVBUVFOQjM3b0JJQWNRUFVGL0N5RVFJQWNrQmlBUUMvVUJBUVovSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVHSUFNZ0FCQ1lBaUFETEFBQUJFQWdBeUFBSUFBb0FnQkJkR29pQkNnQ0FHb29BaGcyQWdnZ0FDQUVLQUlBYWlJRUtBSUVJUWRCZnlBRUtBSk1FRUVFUUNBR0lBUVFPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hDQ0FGUVNBZ0NFRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZRUmgwUVJoMUlnVTJBa3dGSUFRb0Frd2hCUXNnQmlBREtBSUlOZ0lBSUFZZ0FTQUJJQUpxSWdJZ0FTQUhRYkFCY1VFZ1Joc2dBaUFFSUFWQi93RnhFSmNCUlFSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQVNBQktBSVFRUVZ5RU80QkN3c2dBeENYQWlBREpBWWdBQXU3QVFFRmZ5TUdJUVlqQmtFUWFpUUdJQUFFUUFKQUlBQW9BZ1FoQXdOQUlBSWdBMGdFUUNBQUtBSUFJQUpCaEFGc2FpSUVLQUo4SWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQW53TElBSkJBV29oQWd3QkN3c2dBQ2dDRENFRFFRQWhBZ05BSUFJZ0EwNEVRRUVBSVFBTUFnc2dBQ2dDQ0NBQ1FReHNhaUlFS0FJSUlnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFnZ0xJQUpCQVdvaEFnd0FBQXNBQ3dWQkFFRURRYTY2QVNBR0VEMUJmeUVBQ3lBR0pBWWdBQXY3QlFFS2Z5TUdJUVVqQmtGQWF5UUdJQVZCT0dvaENDQUZRVEJxSVFrZ0JVRW9haUVHSUFWQklHb2hCeUFGUVJocUlRb2dCVUVJYWlFQ0lBVkJQR29pQTBHSXVRRXVBQUE3QUFBZ0EwR0t1UUVzQUFBNkFBSWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FDQURFSTRKSWdSRkJFQWdBaUFBTmdJQUlBSkJ4UDRDTmdJRUlBSkJnTkVDTmdJSVFRQkJBMEcrdVFFZ0FoQTlRWDhNQVF0QkFVRVFFSTBDSWdKRkJFQkJBRUVEUWJuWUFpQUtFRDFCQVJBQkN5QUNRUVJxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlFSWdCQkFVNEVRQUpBSUFJZ0FFR0VBV3dRUkNJRE5nSUFJQU5GQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQzBFQUlRTURRQ0FESUFCSUJFQWdBaWdDQUNBRFFZUUJiR3BCQ0VFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRUWhxUVFoQkFTQUVFR0ZCQVVjTkFpQUNLQUlBSUFOQmhBRnNha0VRYWtIc0FFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUWZ3QWFrRUVRUUVnQkJCaFFRRkhEUUlnQWlnQ0FDQURRWVFCYkdwQmdBRnFRUVJCQVNBRUVHRkJBVWNOQWlBRFFRRnFJUU1nQWlnQ0JDRUFEQUVMQ3lBQ1FReHFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSU1JZ0JCQVVnRVFDQUNRUUEyQWdnTUFnc2dBaUFBUVF4c0VFUWlBellDQ0NBRFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VEQWtBQ1FBTkFBa0FnQXlBQVRnMENJQUlvQWdnZ0EwRU1iR3BCQ0dwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnZ0EwRU1iR3BCQkdwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnaUJ5QURRUXhzYWlnQ0JDSUdRUXhzRUVRaEFDQURRUXhzSUFkcUlBQTJBZ0FnQUVVTkFDQUFRUXdnQmlBRUVHRWdCa2NOQlNBRFFRRnFJUU1nQWlnQ0RDRUFEQUVMQzBFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVNQVFzZ0FTQUNOZ0lBSUFRUWFrRUFEQVVMQ3dzTEMwRUFRUU5CZ2JvQklBZ1FQU0FDS0FJSUlnQUVRQ0FBRURnTElBSW9BZ0FpQUFSQUlBQVFPQXNnQWhBNElBUVFha0YvQ3dWQkFFRURRWXU1QVNBRkVEMUJmd3NoQ3lBRkpBWWdDd3ZYQWdFRWZ5TUdJUUlqQmtFUWFpUUdRYUNIcndNUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQWtFSWFpRURJQUZCQURZQ0FDQUJRZVNHcHdKcVFRQTJBZ0FnQVVHSWg2OERha0VBTmdJQUlBRkJmellDQkNBQlFRQTJBZ2dnQVVFQk5nSU1JQUZCNUFBMkFoQWdBVUVBTmdJVUlBRkJBRFlDR0NBQlFRSTJBaHdnQVVHUWg2OERha1FBQUFBQUFBRGdQemtEQUNBQlFaaUhyd05xUVFNMkFnQWdBU0FBTmdJZ0lBRWdBQ2dDQUNJRU5nSWtJQUVnQUNnQ0JDSUFOZ0lvSUFGQkFEWUNMQ0FCUWJENEFHcEJBRFlDQUNBQlFlaUdwd0pxUVFBMkFnQWdBVUg0aXFZQ2FrRUFOZ0lBSUFGQjRJYW5BbW9nQUNBRVFRRjBiQkJFSWdBMkFnQWdBQVJBSUFGQjhJYXZBMnBCQURZQ0FDQUJRUUFRL1FNZ0FVSDBocThEYWtGL05nSUFJQUZCQUJEN0F4b2dBUkNRQ1NBQ0pBWWdBUThGUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXRCQUF2c0NnRVFmeU1HSVEwakJrRXdhaVFHSUExQktHb2hFQ0FOUVNCcUlROGdEVUVZYWlFSklBMUJFR29oQmlBTlFRaHFJUWNnQUVFQVJ5QUJRUUJIY1FSL0lBQW9BZ0FpQWdSQUlBSWlCQ0VEQlNBQVFSQVFSQ0lDTmdJQUlBSUVRQ0FDUVFBMkFnUWdBa0VBTmdJQUlBSkJBRFlDRENBQ1FRQTJBZ2dnQWlJRUlRTUZRUUJCQTBHNTJBSWdCeEE5UVFFUUFRc0xJQUVvQWdBaURBUkFJQVFvQWdRaUJTQU1LQUlFSWdkcUlnSkJoQUZzRUVRaUMwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxRUUFoQmdOQUlBWWdCVWdFUUNBR1FZUUJiQ0FMYWlBRUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTFFRQWhCZ05BSUFZZ0IwZ0VRQ0FGSUFacVFZUUJiQ0FMYWlBTUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTElBUW9BZ0FpQkFSQUlBUVFPQ0FBS0FJQUlRTUxJQU1nQ3pZQ0FDQUFLQUlBSWdjZ0FqWUNCQ0FIS0FJTUlRc2dBU2dDQUNJREtBSU1JUXhCQUNFRVFRQWhCZ05BSUFZZ0RFZ0VRRUVBSVFJQ1FBSkFBMEFnQWlBTFNBUkFJQU1vQWdnZ0JrRU1iR29vQWdnZ0J5Z0NDQ0FDUVF4c2FpZ0NDRVlOQWlBQ1FRRnFJUUlNQVFzTERBRUxJQVJCQVdvaEJBc2dCa0VCYWlFR0RBRUxDeUFMSUF4cUlBUnJJZ1pCREd3UVJDSU9SUVJBUVFCQkEwRzUyQUlnQ1JBOVFRRVFBUXNDUUFKQUEwQWdDaUFMU0FSQUlBcEJER3dnRG1vZ0FDZ0NBQ0lIS0FJSUlnUWdDa0VNYkdvaUFpZ0NDRFlDQ0NBS1FReHNJQVJxS0FJRUlRUkJBQ0VKQTBBZ0NTQU1TQVJBSUFFb0FnQW9BZ2dpQXlBSlFReHNhaWdDQ0NBQ0tBSUlSZ1JBSUFRZ0NVRU1iQ0FEYWlnQ0JHb2hCQXNnQ1VFQmFpRUpEQUVMQ3lBS1FReHNJQTVxSWdrZ0JFRU1iQkJFSWdNMkFnQWdBMFVOQWlBSEtBSUlJQXBCREd4cUtBSUVJUWRCQUNFRkEwQWdCU0FIU0FSQUlBa29BZ0FnQlVFTWJHb2lBaUFBS0FJQUtBSUlJQXBCREd4cUtBSUFJQVZCREd4cUlnTXBBZ0EzQWdBZ0FpQURLQUlJTmdJSUlBVkJBV29oQlF3QkN3dEJBQ0VJQWtBQ1FBTkFJQWdnREVnRVFDQUJLQUlBS0FJSUlnTWdDRUVNYkdvb0FnZ2dBQ2dDQUNnQ0NDQUtRUXhzYWlnQ0NFWU5BaUFJUVFGcUlRZ01BUXNMREFFTFFRQWhCUU5BSUFVZ0NFRU1iQ0FEYWlnQ0JFNE5BU0FKS0FJQUlBVWdCMnBCREd4cUlnSWdDRUVNYkNBRGFpZ0NBQ0FGUVF4c2FpSURLUUlBTndJQUlBSWdBeWdDQ0RZQ0NDQUZRUUZxSVFVZ0FTZ0NBQ2dDQ0NFRERBQUFDd0FMSUFwQkRHd2dEbW9nQkRZQ0JDQUtRUUZxSVFvTUFRc0xEQUVMUVFCQkEwRzUyQUlnRHhBOVFRRVFBUXRCQUNFRVFRQWhDQUpBQWtBRFFDQUlJQXhJQkVBZ0FTZ0NBQ2dDQ0NJSElBaEJER3hxS0FJSUlRVkJBQ0VDQWtBQ1FBTkFJQUlnQzA0TkFTQUNRUUZxSVFNZ0FDZ0NBQ2dDQ0NBQ1FReHNhaWdDQ0NBRlJ3UkFJQU1oQWd3QkN3c2dCRUVCYWlFRURBRUxJQWdnQzJvZ0JHc2lEMEVNYkNBT2FpRUpJQTlCREd3Z0Rtb2dCVFlDQ0NBSklBaEJER3dnQjJvb0FnUWlCMEVNYkJCRUlnTTJBZ0FnQTBVTkEwRUFJUVVEUUNBRklBZElCRUFnQ1NnQ0FDQUZRUXhzYWlJQ0lBRW9BZ0FvQWdnZ0NFRU1iR29vQWdBZ0JVRU1iR29pQXlrQ0FEY0NBQ0FDSUFNb0FnZzJBZ2dnQlVFQmFpRUZEQUVMQ3lBUFFReHNJQTVxSUFjMkFnUUxJQWhCQVdvaENBd0JDd3NNQVF0QkFFRURRYm5ZQWlBUUVEMUJBUkFCQ3lBQUtBSUFJZ0pCQ0dvaUF5Z0NBQ0lFQkVCQkFDRURBMEFnQXlBQ0tBSU1TQVJBSUFOQkRHd2dCR29vQWdBUU9DQURRUUZxSVFNZ0FDZ0NBQ0lFSVFJZ0JDZ0NDQ0VFREFFTEN5QUVFRGdnQUNnQ0FFRUlhaUVEQ3lBRElBNDJBZ0FnQUNnQ0FDQUdOZ0lNSUFFUS93TUxRUUFGUVFCQkEwR2d1QUVnRFJBOVFYOExJUkVnRFNRR0lCRUxvd0VCQW44Z0FDZ0NBQ0lCQkg4Z0FTZ0NBQ0lDQkVBZ0FpZ0NBQ0VCSUFKQkFEWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTElBSVFPQ0FBS0FJQUlRRUxJQUVvQWh3aUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FpUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BalFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWl3aUFnUi9JQUlRT0NBQUtBSUFCU0FCQ3hBNElBQkJBRFlDQUVFQUJVRi9DeG9MakFFQkEzOGpCaUVFSXdaQkVHb2tCa0VCUWJ3Z0VJMENJZ01FUUVFRUVGRWlCUkM3Q0NBRElBVTJBZ0FnQXlBQU5nSUVJQU5CQVRZQ0NDQURJQUUyQWd3Z0F5QUNOZ0lRSUFOQkFUWUNGQ0FEUVg4MkFoZ2dBMElBTndJY0lBTkNBRGNDSkNBRFFnQTNBaXdnQTBJQU53STBJQVFrQmlBRER3VkJBRUVEUWJuWUFpQUVFRDFCQVJBQkMwRUFDOGNCQWdKL0IzMENmeU1HSVFZakJrRkFheVFHSUFBcUFnd2dBQ29DTENJTUlBR1VreUVKSUFBcUFpUWlCeUFDbENBQUtnSVVreUVLSUFBcUFpQWlDQ0FDbENBQUtnSVFreUVMSUFjZ0FaUWdBQ29DQkpNaEJ5QUlJQUdVSUFBcUFnQ1RJUWdnQUNvQ0hDRU5JQXdnQXBRaEFRSkFEQUFMSUEwZ0FaTWhBU0FJSUFxVUlBY2dDNVNUSWdKREFBQUFBRnNFZjBGL0JTQURJQW9nQ1pRZ0J5QUJsSk1nQXBVNEFnQWdCQ0FJSUFHVUlBc2dDWlNUSUFLVk9BSUFRUUFMSVFBZ0Jnc2tCaUFBQ3ljQkFYOGdBQ2dDQUNJQkJIOGdBUkRpQWlBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEdndlZCZ0lQZndGOUl3WWhDU01HUWRBQWFpUUdJQWxCUEdvaENDQUpRVGhxSVFZZ0NVRTBhaUVPSUFsQk1Hb2hEeUFKUVVCcklSQUNmd0pBSUFBRWZ5QUFRUWhxSUFFZ0NSRDZBU0FJSUFNb0FnQWlCeUFFUVJSc2FpZ0NDQ0lCTmdJQUlBWWdCRUVVYkNBSGFpb0NEQ0lWT0FJQVFRQWdDU0FCdmlBVklBZ2dCaERsQVVFQVNBUi9RWDhGSUFCQnVBRnFJaEVnQ0NvQ0FDQUdLZ0lBSUE0Z0R4QnRRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVFnZ0R5b0NBRU1BQUFBL2toQkRJUkpCQUNFRVFRQWdCU2dDRUNJQWF5RUtJQklnQUVFQmRHc2hDMEVBSVFGQkFDRUFJQVVvQWhnaEJ3TkFJQW9nQlNnQ0ZFb0VRQ0FFSVFjTUJRVWdDN0loRlVFQUlBVW9BZ2dpQm1zaERDQUlJQVpCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnRVNBTnNpQVZJQTRnRHhDbUFVRUFTQVJBSUFkQmdDQTdBUUFGSUFrZ0FpZ0NBQ0FES0FJSVFRSjBhaWdDQUNBT0tnSUFJQThxQWdBZ0VCQ0JCRUVBU0FSQUlBZEJnQ0E3QVFBRklBY2dFQzBBQUNJR093RUFJQVJCQVdvaEJDQUJJQVpCL3dGeElnWWdCbXhxSVFFZ0FDQUdhaUVBQ3dzZ0RFRUJhaUVNSUExQkFtb2hEU0FIUVFKcUlRY01BUXNMSUFwQkFXb2hDaUFMUVFKcUlRc01BUXNBQUFzQUN3c0ZJQWdnQXlnQ0FDSUhJQVJCRkd4cUtBSUlJZ0EyQWdBZ0JpQUVRUlJzSUFkcUtnSU1JaFU0QWdCQkFDQUJJQUMrSUJVZ0RpQVBFT1VCUVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElSRWdEeW9DQUVNQUFBQS9raEJESVJOQkFDQUZLQUlRSWdCcklRb2dFeUFBUVFGMGF5RUxRUUFoQjBFQUlRUkJBQ0VBSUFVb0FoZ2hCZ05BSUFvZ0JTZ0NGRW9FUUNBRUlRRU1CQVVnQzdJaEZVRUFJQVVvQWdnaUNHc2hEQ0FSSUFoQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0FTQUNLQUlBSUFNb0FnaEJBblJxS0FJQUlBMnlJQlVnRUJDQkJFRUFTQVJBSUFaQmdDQTdBUUFGSUFZZ0VDMEFBQ0lJT3dFQUlBZEJBV29oQnlBRUlBaEIvd0Z4SWdnZ0NHeHFJUVFnQUNBSWFpRUFDeUFNUVFGcUlRd2dEVUVDYWlFTklBWkJBbW9oQmd3QkN3c2dDa0VCYWlFS0lBdEJBbW9oQ3d3QkN3QUFDd0FMQ3d3QkN5QUhCSDhnQlNBQklBQWdBR3dnQnhBNWE3S1JFRU0yQWh3Z0JTQUFOZ0lnSUFVZ0J6WUNKRUVBQlVGL0N3c2hGQ0FKSkFZZ0ZBdVNBUUVEZnlNR0lRTWpCa0VRYWlRR1FTZ1FSQ0lDUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0EwRUlhaUVFSUFJZ0FEWUNFQ0FDSUFBMkFnZ2dBaUFCTmdJVUlBSWdBVFlDRENBQ0lBRWdBRUVCYW1vaUFEWUNBQ0FDSUFBMkFnUWdBaUFBUVFGMElBQnNFRVFpQURZQ0dDQUFCRUFnQXlRR0lBSVBCVUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFMNXdJQkJYOGdCQ2dDQkNFTklBRkJBWFFoQ3lBRUtBSUFJUTRnQkNnQ0dDRUtJQUFnQWlBQklBTnNhbW9oQWtFQUlRQURRQ0FNSUExSUJFQkJBQ0VESUFJaEFRTkFJQU1nRGtnRVFDQUFJQUV0QUFBZ0NpOEJBR3hxSVFBZ0EwRUJhaUVESUFwQkFtb2hDaUFCUVFKcUlRRU1BUXNMSUF4QkFXb2hEQ0FDSUF0cUlRSU1BUXNMSUE1QkFYUWlBMEVJYWlJQ0lBaEJmbW9pQVNBTlFRRjBhbXdoQ3lBRElBZEJmbW9pQ21vaUNDQUxhaUlIUVFKMElBVnFLQUlBSUFvZ0FTQUNiQ0lCYWlJRFFRSjBJQVZxS0FJQWFpQUtJQXRxSWdKQkFuUWdCV29vQWdCcklBRWdDR29pQVVFQ2RDQUZhaWdDQUdzaEJTQUpJQWRCQW5RZ0Jtb29BZ0FnQTBFQ2RDQUdhaWdDQUdvZ0FrRUNkQ0FHYWlnQ0FHc2dBVUVDZENBR2FpZ0NBR3NnQlNBRmJDQUVLQUlrSWdJUU9Xc2lBUVIvSUFBZ0JTQUVLQUlnYkNBQ0VEbHJRZVFBYkNBRUtBSWNFRGxCNUFCc0lBR3lrUkJERURrRlFRQUxOZ0lBQzdFQ0FRSi9JQU1vQWdBaUJ3UkFBa0FEUUFKQUlBZ2dCMDROQUNBSVFRSjBJQVpxS0FJQUlBSklEUUFnQ0VFQmFpRUlEQUVMQ3lBSElBaEdCRUFnQjBFRFR3MEJJQWRCQW5RZ0JHb2dBRFlDQUNBSFFRSjBJQVZxSUFFMkFnQWdCMEVDZENBR2FpQUNOZ0lBSUFNZ0F5Z0NBRUVCYWpZQ0FBd0JDeUFIUVFOR0JIOUJBZ1VnQXlBSFFRRnFOZ0lBSUFjTElRTURRQ0FESUFoS0JFQWdBMEVDZENBRWFpQURRWDlxSWdkQkFuUWdCR29vQWdBMkFnQWdBMEVDZENBRmFpQUhRUUowSUFWcUtBSUFOZ0lBSUFOQkFuUWdCbW9nQjBFQ2RDQUdhaWdDQURZQ0FDQUhJUU1NQVFzTElBTkJBblFnQkdvZ0FEWUNBQ0FEUVFKMElBVnFJQUUyQWdBZ0EwRUNkQ0FHYWlBQ05nSUFDd1VnQkNBQU5nSUFJQVVnQVRZQ0FDQUdJQUkyQWdBZ0EwRUJOZ0lBQ3d1b0RRRWNmeU1HSVF3akJrSFFBR29rQmlBTVFRaHFJUk1nRENJZVFjZ0FhaUViSUF4QlBHb2hIQ0FNUVRCcUlSMGdERUVrYWlFVUlBeEJJR29oRnlBTVFSaHFJUjhnREVFUWFpRWdJQVVvQWhBaEppQUZLQUlVSVNVZ0FrRi9haUVXSUFOQmYyb2hHQU5BQWtBZ0VVRURUdzBBSUJGQkEzUWdDR29vQWdBaURFRUFTQTBBSUF4QmZIRkJBbklpRENBR2F5SU5RUUFnRFVFQVNoc2hEU0FHSUF4cUlnd2dGaUFNSUFKSUd5RVpJQkZCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc0Z0Iyc2hEQ0FISUE1cUlnNGdHQ0FPSUFOSUd5RVZJQXhCQUNBTVFRQktHeUVPQTBBZ0RpQVZUQVJBSUFFZ0RTSU1JQUlnRG14cWFpRVBBMEFnRENBWlRBUkFJQTlCQURvQUFDQU1RUUZxSVF3Z0QwRUJhaUVQREFFTEN5QU9RUUZxSVE0TUFRc0xJQkZCQVdvaEVRd0JDd3NnRzBFQU5nSUFJQ1ZCQVhRaEVDQW1RUUYwSVJKQkFTRU1RUUFoRHdKQUFrQURRQUpBSUE5QkEwOE5BaUFQUVFOMElBaHFLQUlBSWcxQkFFZ05BQ0FISUE5QkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNXFJUllnRFVGOGNVRUNjaUlOSUFacklSRWdCaUFOYWlFWUlBNGdCMnNoRGdOQUFrQWdEaUFXU2cwQUlBNGdFazRFUUFKQUlBNGdFR29nQTA0TkFpQUNJQTVzSVJrZ0VTRU5BMEFnRFNBWVNnMEJJQTBnQlNnQ0NFRUJkRTRFUUNBTklBVW9BZ3hCQVhScUlBSk9EUUlnQVNBTklCbHFhaUlWTEFBQVJRUkFJQlZCQVRvQUFDQUFJQUlnQkNBRklBMGdEaUFYRUlNRUlBMGdEaUFYS0FJQUlCc2dIQ0FkSUJRUXF3bEJBQ0VNQ3dzZ0RVRUVhaUVOREFBQUN3QUxDeUFPUVFScUlRNE1BUXNMSUE5QkFXb2hEd3dCQ3dzZ0RFVU5BRUYvSVFZTUFRc2dCU2dDQUVFRGRFRWdhaUFGS0FJRVFRRjBRUWhxYkNJQkVFUWlFVVVFUUVFQVFRTkJ1ZGdDSUI0UVBVRUJFQUVMSUFFUVJDSU9SUVJBUVFCQkEwRzUyQUlnRXhBOVFRRVFBUXRCQUNFQlFRQWhFa0YvSVFZRFFDQVNJQnNvQWdCSUJFQUNRQUpBSUFVb0FpUWdCU2dDQUNJTklBVW9BZ1FpQjJ4SERRQUNRQ0FFUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnRWtFQ2RDQWRhaUloS0FJQUlnaEJmV29nQlNnQ0VFRUJkR3NpR0VFQVNBMEFJQWhCQTJvZ0JTZ0NGRUVCZEdvZ0EwNE5BQ0FTUVFKMElCeHFJaUlvQWdBaUNFRjlhaUFGS0FJSVFRRjBheUlaUVFCSURRQWdDRUVEYWlBRktBSU1RUUYwYWlBQ1RnMEFJQWRCQVhSQkJtb2hJeUFOUVFKMFFSQnFJUThnRGlFSElCRWhDRUVBSVF3RFFDQU1JQTlJQkVBZ0NFRUFOZ0lBSUFkQkFEWUNBQ0FIUVFScUlRY2dDRUVFYWlFSUlBeEJBV29oREF3QkN3c2dEVUVCZEVFR2FpRWtJQUFnR1NBQ0lCaHNhbW9oRXlBT0lRd2dFU0VOUVFBaEZnTkFJQllnSTBnRVFDQUlRUWhxSVNjZ0J5RVBRUUFoRUFOQUlCQkJBa2NFUUNBSVFRQTJBZ0FnRDBFQU5nSUFJQkJCQW5RZ0gycEJBRFlDQUNBUVFRSjBJQ0JxUVFBMkFnQWdEMEVFYWlFUElBaEJCR29oQ0NBUVFRRnFJUkFNQVFzTElCTWhEeUFNUVFocUlRd2dEVUVJYWlFTklBZEJDR29oQnlBbklRaEJBQ0VVQTBBZ0ZDQWtTQVJBSUE4dEFBQWdGRUVCY1NJVlFRSjBJQjlxSWhvb0FnQnFJUkFnR2lBUU5nSUFJQTh0QUFBaUdpQWFiQ0FWUVFKMElDQnFJaG9vQWdCcUlSVWdHaUFWTmdJQUlBZ2dFQ0FOS0FJQWFqWUNBQ0FISUJVZ0RDZ0NBR28yQWdBZ0QwRUJhaUVQSUF4QkJHb2hEQ0FOUVFScUlRMGdCMEVFYWlFSElBaEJCR29oQ0NBVVFRRnFJUlFNQVFzTElBSWdFMm9oRXlBV1FRRnFJUllNQVFzTFFRQWhDQU5BSUFoQkIwY0VRQ0FJSUJocUlRMGdDRUVDYWlFUElBaEJmV29oRTBFQUlRd0RRQ0FNUVFkSEJFQWdBQ0FDSUF3Z0dXb2dEU0FGSUJFZ0RpQU1RUUpxSUE4Z0Z4Q3FDU0FYS0FJQUlnY2dBVW9FUUNBSklDSW9BZ0FnREVGOWFtbzJBZ0FnQ2lBVElDRW9BZ0JxTmdJQUlBc2dCN0pEQUVBY1JwVTRBZ0JCQUNFR0lBY2hBUXNnREVFQmFpRU1EQUVMQ3lBSVFRRnFJUWdNQVFzTERBRUxJQkpCQW5RZ0hXb29BZ0FpQjBFRGFpRU5JQkpCQW5RZ0hHb2hEeUFIUVgxcUlRZ0RRQ0FJSUExS0RRRWdDQ0FGS0FJUVFRRjBUZ1JBQWtBZ0NDQUZLQUlVUVFGMGFpQURUZzBESUE4b0FnQWlCMEVEYWlFVElBZEJmV29oREFOQUlBd2dFMG9OQVNBTUlBVW9BZ2hCQVhST0JFQWdEQ0FGS0FJTVFRRjBhaUFDVGcwQ0lBQWdBaUFFSUFVZ0RDQUlJQmNRZ3dRZ0Z5Z0NBQ0lISUFGS0JFQWdDU0FNTmdJQUlBb2dDRFlDQUNBTElBZXlRd0JBSEVhVk9BSUFJQWNoQVVFQUlRWUxDeUFNUVFGcUlRd01BQUFMQUFzTElBaEJBV29oQ0F3QUFBc0FDeUFTUVFGcUlSSU1BUXNMSUJFUU9DQU9FRGdMSUI0a0JpQUdDM0FCQW44Z0FBUi9JQUJCQVRZQ21BRURRQ0FEUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFCQkNHb2dBMEVFZEdvZ0FrRUNkR29nQTBFRWRDQUJhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dBRUYvTmdLb0FVRUFCVUYvQ3hvTHlnc0JHMzhqQmlFQkl3WkI0QWxxSkFZZ0FVSFFDV29oRkNBQlFjZ0phaUVWSUFGQnVBbHFJUXNnQVVHd0NXb2hGaUFCUWFBSmFpRU1JQUZCbUFscUlSY2dBVUdJQ1dvaERTQUJRZWdJYWlFWUlBRkI0QWhxSVE4Z0FVSFlDR29oR1NBQlFkQUlhaUVhSUFGQnlBaHFJUkFnQVVIQUNHb2hHeUFCUWJnSWFpRVJJQUZCc0FocUlSSWdBVUdvQ0dvaENTQUJRYUFJYWlFS0lBRkJtQWhxSVE0Z0FVR1FDR29oQWlBQlFZZ0lhaUVGSUFGQmdBaHFJUWdnQVVHQUJtb2hCaUFCUVlBRWFpRUhJQUZCMUFscUlRUUNRQUovQWtCQm50SUNMQUFBUlEwQVFaN1NBa0dlMGdJUXN3RkZEUUFnQ0NBQU5nSUFJQWhCbnRJQ05nSUVJQUZCajd3QklBZ1F2QUVnQVVHSnRnRVFzQUVpQXdSL1FRRU1BZ1VnQlNBQU5nSUFRUUJCQTBHTHRnRWdCUkE5UWFURkF5Z0NBQkM5QVNFQUlBSkJwOVVETmdJQUlBSWdBRFlDQkVFQVFRTkJwYllCSUFJUVBVRUFDeUVUREFJTElBY2dBRUgvQVJEVkFTQUhRUUE2QVA4QlFRQUxJUUJCOUFnUVJDSUZSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQlNBQVFRQkhJZzRFZnlBR0lBTVE1Z0ZGQkVBZ0F4QnFJQVVRT0F3Q0N5QUtJQVEyQWdBZ0JrR3J0Z0VnQ2hDREFVRUJSd1JBSUFNUWFpQUZFRGdNQWdzZ0JDZ0NBQ0lBUVFGSUJIOGdBeEJxSUFVUU9Bd0NCU0FBQ3dWQkFRc2lDallDQkNBRlFRQTJBcGdCSUFVZ0NrSHdBR3dRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQzBFQUlRQUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FBTmdJQUlBQWdDazROQnlBU0lBQkJBV28yQWdCQkFFRUJRYTYyQVNBU0VEMGdEZ1JBSUFZZ0F4RG1BVVVOQ0NBUklBYzJBZ0FnQmtIR3RnRWdFUkNEQVVFQlJ3MElJQWNRL0FVTFFRQkJBVUhKdGdFZ0d4QTlJQWNRdndraEFDQUVLQUlBUWZBQWJDQUNhaUFBTmdJQUlBQkZEUUJCQUVFQlFmcTJBU0FhRUQxQkFFRUJRWVMzQVNBWkVEMGdCeEN4Q1NFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQWdRZ0FFVU5Ba0VBUVFGQityWUJJQmdRUFNBRUtBSUFRZkFBYkNBQ2FrRUFOZ0lJSUE0RVFDQUdJQU1RNWdGRkRRZ2dEU0FFS0FJQUlnQkI4QUJzSUFKcVFReHFOZ0lBSUEwZ0FFSHdBR3dnQW1wQkVHbzJBZ1FnRFNBQVFmQUFiQ0FDYWtFVWFqWUNDQ0FOSUFCQjhBQnNJQUpxUVJocU5nSU1JQVpCN0xjQklBMFFnd0ZCQkVjTkJDQUdJQU1RNWdGRkRRZ2dEQ0FFS0FJQUlnQkI4QUJzSUFKcVFSeHFOZ0lBSUF3Z0FFSHdBR3dnQW1wQklHbzJBZ1FnRENBQVFmQUFiQ0FDYWtFa2FqWUNDQ0FNSUFCQjhBQnNJQUpxUVNocU5nSU1JQVpCN0xjQklBd1Fnd0ZCQkVjTkJTQUdJQU1RNWdGRkRRZ2dDeUFFS0FJQUlnQkI4QUJzSUFKcVFTeHFOZ0lBSUFzZ0FFSHdBR3dnQW1wQk1HbzJBZ1FnQ3lBQVFmQUFiQ0FDYWtFMGFqWUNDQ0FMSUFCQjhBQnNJQUpxUVRocU5nSU1JQVpCN0xjQklBc1Fnd0ZCQkVjTkJpQUVLQUlBSVFBRklBUW9BZ0FoQUVFQUlRZ0RRQ0FJUVFOSEJFQkJBQ0VKQTBBZ0NVRUVSd1JBSUFCQjhBQnNJQUpxUVF4cUlBaEJCSFJxSUFsQkFuUnFRd0FBZ0Q5REFBQUFBQ0FJSUFsR0d6Z0NBQ0FKUVFGcUlRa01BUXNMSUFoQkFXb2hDQXdCQ3dzTElBQkI4QUJzSUFKcVFReHFJQUJCOEFCc0lBSnFRVHhxRUo0R0lBY1FoUVpCZ0FJUVJDRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFtd2dBRVVOQmlBQUlBZEJnQUlRMVFFZ0JDZ0NBRUVCYWlFQURBRUxDeUFRSUFjMkFnQkJBRUVEUWR1MkFTQVFFRDBnQWhBNElBVVFPQ0FEUlEwSElBTVFhZ3dIQ3lBUElBYzJBZ0JCQUVFRFFaaTNBU0FQRUQwZ0JDZ0NBRUh3QUd3Z0Ftb1F1QWtnQWhBNElBVVFPQ0FEUlEwR0lBTVFhZ3dHQzBFQVFRTkIrTGNCSUJjUVBTQURFR3BCQUJBQkRBUUxRUUJCQTBINHR3RWdGaEE5SUFNUWFrRUFFQUVNQXd0QkFFRURRZmkzQVNBVkVEMGdBeEJxUVFBUUFRd0NDMEVBUVFOQnVkZ0NJQlFRUFVFQkVBRU1BUXNnQXdSQUlBTVFhZ3NnQkNnQ0FDQUtUZ1JBSUFVaEV3d0NDMEVBRUFFTEN5QUJKQVlnRXd0TkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FRUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFFT01DSWdBMkFnQWdBRVVFUUNBQkVEaEJBQ0VCQ3lBQ0pBWWdBUXNwQUNBQUlBRkJBM1FnQUdvZ0FrRURkQ0FBYWlJQkVJUUVJQUFnQVNBRFFRTjBJQUJxRUlRRWtndkpCd0VUZnlNR0lRSWpCa0dBQldva0JpQUNRZkFFYWlFSklBSkI2QVJxSVFvZ0FrSGdCR29oQ3lBQ1FkZ0VhaUVNSUFKQjBBUnFJUTBnQWtISUJHb2hEaUFDUWNBRWFpRVBJQUpCdUFScUlSQWdBa0d3QkdvaEVTQUNRYWdFYWlFU0lBSkJvQVJxSVFVZ0FrR1lCR29oQmlBQ1FaQUVhaUVFSUFKQmlBUnFJUUVnQWtHQUJHb2lBeUFBTmdJQUlBTkJudElDTmdJRUlBSkJqN3dCSUFNUXZBRWdBa0dJdVFFUXNBRWlBd1JBUVFnUVJDSUFSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNDUUFKQUlBQkJCR3BCQkVFQklBTVFZVUVCUmdSQUFrQWdBQ0FBS0FJRUloTkJGR3dRUkNJR05nSUFJQVpGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQzBFQUlRVURRQUpBSUFVZ0UwNE5BaUFGUVJSc0lBWnFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRU1JUUVNQVFzZ0JVRVViQ0FHYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCRHlFQkRBRUxJQVZCRkd3Z0JtcEJFR3BCQkVFQklBTVFZVUVCUndSQVFSRWhBUXdCQ3lBRlFSUnNJQVpxSWdoQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJNaEFRd0JDeUFGUVJSc0lBWnFJZ2NnQ0NnQ0JDSUJRUlJzRUVRaUJEWUNBQ0FFUlFSQVFSWWhBUXdCQzBFQUlRUURRQ0FFSUFGSUJFQWdCeWdDQUNBRVFSUnNha0VFUVFFZ0F4QmhRUUZIQkVCQkdTRUJEQU1MSUFjb0FnQWdCRUVVYkdwQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJzaEFRd0RDeUFIS0FJQUlBUkJGR3hxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVkSVFFTUF3c2dCeWdDQUNBRVFSUnNha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJIeUVCREFNTElBY29BZ0FnQkVFVWJHcEJFR3BCQkVFQklBTVFZVUVCUmdSQUlBUkJBV29oQkNBSUtBSUVJUUVNQWdWQklpRUJEQU1MQUFzTElBVkJBV29oQlF3QkN3c0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkRHc09Gd0FLQ2dFS0Fnb0RDZ29FQ2dvRkNnWUtCd29JQ2dvSkNndEJBRUVEUWZ1MUFTQVNFRDBNQ1F0QkFFRURRZnUxQVNBUkVEME1DQXRCQUVFRFFmdTFBU0FRRUQwTUJ3dEJBRUVEUWZ1MUFTQVBFRDBNQmd0QkFFRURRYm5ZQWlBT0VEMUJBUkFCREFVTFFRQkJBMEg3dFFFZ0RSQTlEQVFMUVFCQkEwSDd0UUVnREJBOURBTUxRUUJCQTBIN3RRRWdDeEE5REFJTFFRQkJBMEg3dFFFZ0NoQTlEQUVMUVFCQkEwSDd0UUVnQ1JBOUMwRUFJUUVEUUNBQklBVkhCRUFnQVVFVWJDQUdhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dCaEE0REFJTEJVRUFRUU5CKzdVQklBWVFQUXdCQ3d3QkN5QUFFRGhCQUNFQUN5QURFR29GSUFFZ0FEWUNBRUVBUVFOQjVyVUJJQUVRUFVFQUlRQUxJQUlrQmlBQUN3OEFJQUFvQWdCQmhBRnFRUUVRQmd2NURRRVFmeU1HSVFzakJrSEFCbW9rQmtFRUlRbEJLQkJFSWdoQkFEWUNBQ0FMUVJocUlnZEJBRUhvQXhCRkdrRUFKQU5CUHlBTFFaZ0VhaUlNRUJBaEJpTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBaEJCQkI5SWdwRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFS0N5QUxRWkFFYWlFUElBdEJpQVJxSVJBZ0MwR0FCR29oRVFKL0VBY2dDa0VCYTBVTkFCb2dCeUFHTmdJQUlBeEI4QUEyQWdBZ0RFR0VBV3BCQVNBSVFRUVFqd1FoQ0JBSElRbEJBQ1FEUVFBa0EwRUFJZ1ZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISUFaQkFXdEZEUUFhUVFBTElRVUNRQUpBQWtBQ1FBTkFBa0FnQlFSQVFRQWtBMEh4QUNBSEVBOGpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFRaEJBRUVEUWFpMUFTQVJFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3NOQVF3Q0MwRUFKQU5CQVNBSFFkb0FRZWdERUJzakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEUVNjZ0J5QUFFQndqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURBbjlCRXlBSFFRRVFKaUVTSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlDa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJTQUtRUUZyUlEwQ0lCSkJBVWNMQkVCQkFDUURRUWhCQUVFRFFjSzFBU0FRRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUWZFQUlBY1FEeU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhdzBEREFJTFFRQWtBMEhBQUNBSEVCQWFJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJSUTBCSUFjb0FpUWdCeWdDSEd3aURDQUhLQUlnYkNFRlFRQWtBMEhCQUNBRkVCQWhCU01ESVFaQkFDUURJQVpCQUVjakJFRUFSM0VFUUNBR0tBSUFJQWdnQ1JCOUlncEZCRUFnQmlNRUVBWUxJd1FRQXdWQmZ5RUtDeEFISVFZZ0NrRUJhMFVFUUNBR0lRVU1BZ3NnQlVVRVFFRUFKQU5CQ0VFQVFRTkJ1ZGdDSUE4UUVTTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmEwVU5Ba0VBSkFOQjhRQWdCeEFQSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyRFFRTUFndEJBQ0VOQTBBZ0J5Z0NqQUVnQnlnQ2RFa0VRRUVBSVFZRFFDQUdRUVZIQkVBZ0JrRUNkQ0FMYWlBRklBd2dCaUFOYW14cU5nSUFJQVpCQVdvaEJnd0JDd3RCQUNRRFFSa2dCeUFMUVFVUUlTRVRJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaURrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRNExFQWNoQmlBT1FRRnJSUVJBSUFZaEJRd0VDeUFUSUExcUlRME1BUXNMUVFBa0EwSENBQ0FIRUJBYUl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCaUFLUVFGclJRUkFJQVloQlF3Q0MwRUFKQU5COFFBZ0J4QVBJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoRkNBS1FRRnJEUVFnRkNFRkRBRUxDMEVBSVFVTUF3dEJBQ0VGREFJTFFRQWhCUXdCQ3lBQkJFQWdBU0FIS0FJY05nSUFDeUFDQkVBZ0FpQUhLQUlnTmdJQUN5QURCRUFnQXlBSEtBSWtOZ0lBQ3lBRUJFQUNRQUpBQWtBQ1FDQUhMQUNpQWlJQVFRRnJEZ0lBQVFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeU9BSUFEQVVMREFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeVExeVBJa0NVT0FJQURBUUxEQUVMSUFCQi93RnhRUUpLQkVBZ0J5NEJwQUpGQkVBZ0J5NEJwZ0pGQkVBZ0JDQUFRZjhCY2JJNEFnQU1CUXNMQ3dzZ0JFTUFBQUFBT0FJQUN3c2dDQkE0SUFza0JpQUZDLzRUQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0JDZ0NBQ0lHSVFjZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUpJQUZJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FIUVFKcUlRY2dDVUVCYWlFSklBVkJBbW9oQlF3QkN3c2dCaUVIUVFBaENTQUJRWDlxSWhGQkFYUWdCbW9oQlFOQUlBa2dBa2dFUUNBRlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFKUVFGcUlRa2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oRGtFQklReEJBQ0VESUFBZ0JDZ0NCR29oQ1NBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTUlCQk9EUUlnQXlFQVFRRWhDZ05BSUFvZ0VVZ0VRQ0FOTFFBQUlBNHRBQUJLQkVBQ1FDQUpRWDg2QUFBZ0VrRUJkQ0FHYWlJRExnRUFJZ1ZCQUVvRVFDQUdJQVU3QVFBZ0JVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0EwRithaTRCQUNJRklRZ2dCVUVBU2lFTElBTXVBUUlpQTBFQVRBUkFJQXNFUUNBR0lBVTdBUUFnQ0VFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDa2dFUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUdRWDVxTGdFQUlnTkJBRW9FUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdNb0FnQWdDazROQWlBRElBbzJBZ0FGSUFCQi8vOEJTZzBHSUFZZ0FFRUJhaUlET3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQTBFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDallDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQURJUUFMREFFTElBc0VRQUpBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFHUVg1cUxnRUFJZ1ZCQUV3RVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWUNBMEFCcUlnVW9BZ0FnQ2tvRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQXlBTUlBTW9BZ0JxTmdJQUN3VWdCa0VBT3dFQUlBbEJBRG9BQUFzZ0RVRUJhaUVOSUE1QkFXb2hEaUFKUVFGcUlRa2dDa0VCYWlFS0lBWkJBbW9oQmd3QkN3c2dEVUVDYWlFTklBNUJBbW9oRGlBTVFRRnFJUXdnQUNFRElBbEJBbW9oQ1NBR1FRUnFJUVlNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVGUVFFaEFFRUJJUWtnQnlFR0EwQWdDU0FEVEFSQUlBa2dCaWdDQUNJTlJnUkFJQUJCQVdvaEJ3VWdBQ0VISUExQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0JpQUFOZ0lBSUFjaEFDQUpRUUZxSVFrZ0JrRUVhaUVHREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0JVRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUWNEUUNBSElBQklCRUFnQkVHTWdBaHFJQWRCQW5RaUJrRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0JrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dCa0VDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQmtFRGNrRUNkR3BCQURZQ0FDQUhRUUZxSVFjTUFRc0xRUUFoQVFOQUlBRWdBMGdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lCeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0J5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlCMEVEZEdvaUJpQUdLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0IwRUJja0VEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCa2dFUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF0aEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FSUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFJQUZCQ0dvZ0FVRU1haUFCUVFScUlBRkJFR29Rc3draUFEWUNBQ0FBUlFSQUlBRVFPRUVBSVFFTElBSWtCaUFCQ3lBQUlBRWdBaUFEclNBRXJVSWdob1FnQlNBR0lBQkJBM0ZCNmdacUVTVUFDeWtCQVg0Z0FTQUNyU0FEclVJZ2hvUWdCQ0FBUVFOeFFhWURhaEVVQUNJRlFpQ0lweEFESUFXbkMzWUJBMzhnQUFSL0lBQW9BZ0FpQWdSL0EwQWdBaWdDQUNFRElBRWdBaWdDQkVnRVFDQUJRUUowSUFOcUtBSUFLQUlBRURnZ0FDZ0NBQ2dDQUNBQlFRSjBhaWdDQUJBNElBRkJBV29oQVNBQUtBSUFJUUlNQVFzTElBTVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xJQUFnQVNBQ0lBTWdCQ0FGclNBR3JVSWdob1FnQUVFSGNVR2VBMm9SRlFBTEJnQkJGaEFDQ3dZQVFSVVFBZ3VaQmdFSmZ5TUdJUWtqQmtFd2FpUUdJQWtoQmtFSUVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFaQklHb2hDQ0FHUVJocUlRSWdCa0VRYWlFQklBWkJDR29oQXdKQUFrQUNRQ0FIUVFScUlnUkJCRUVCSUFBUVlVRUJSdzBBSUFRb0FnQWlCRUVCU0EwQUlBY2dCRUVDZEJCRUlnTTJBZ0FnQTBVRVFFRUFRUU5CdWRnQ0lBRVFQVUVCRUFFTFFRQWhBUUpBQWtBRFFDQUJJQVJJQkVBZ0FVRUNkQ0FEYWtFUUVFUWlCVFlDQUNBRlJRMENJQUZCQVdvaEFRd0JDd3NNQVF0QkFFRURRYm5ZQWlBQ0VEMUJBUkFCQzBFQUlRRUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdBU0FFVGcwR0lBRkJBblFnQTJvaUFpZ0NBRUVFYWtFRVFRRWdBQkJoUVFGSERRQWdBaWdDQUVFSWFrRUVRUUVnQUJCaFFRRkhEUUlnQWlnQ0FFRU1ha0VFUVFFZ0FCQmhRUUZIRFFNZ0FpZ0NBQ0lGS0FJRUlBVW9BZ2hzRUVRaEJTQUNLQUlBSUFVMkFnQWdCVVVOQkNBQlFRRnFJUUVnQWlnQ0FDSUZLQUlBUVFFZ0JTZ0NCQ0FGS0FJSWJDQUFFR0VnQWlnQ0FDSUNLQUlFSUFJb0FnaHNSZzBCREFVTEMwRUFJUUlEUUNBQklBSkhCRUFnQWtFQ2RDQURhaWdDQUNnQ0FCQTRJQUpCQVdvaEFnd0JDd3RCQUNFQkEwQWdBU0FFUmcwR0lBRkJBblFnQTJvb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQlNBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMUVFBaEFnTkFJQUVnQWtjRVFDQUNRUUowSUFOcUtBSUFLQUlBRURnZ0FrRUJhaUVDREFFTEMwRUFJUUVEUUNBQklBUkdEUVFnQVVFQ2RDQURhaWdDQUJBNElBRkJBV29oQVF3QUFBc0FDMEVBUVFOQnVkZ0NJQWdRUFVFQkVBRU1BZ3RCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5BaUFCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxJQUFRYWd3QkN5QURFRGdNQWdzTUFndEJBRUVEUWJlMEFTQURFRDBMSUFjUU9DQUFFR3BCQUNFSEN5QUdKQVlnQndzR0FFRVRFQUlMQmdCQkVCQUNDNElHQVE1L0l3WWhBeU1HUWVBQWFpUUdJQUFRWUVFR2FoQkVJZ2hGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3lBRFFjZ0FhaUVKSUFOQlFHc2hDaUFEUVRocUlRd2dBMEV3YWlFTklBTkJLR29oQWlBRFFTQnFJUVFnQTBFWWFpRUJJQU5CRUdvaEJ5QURRZEFBYWlFTElBTkJDR29pQmlBQU5nSUFJQVpCZ2JRQk5nSUVJQWhCL0xNQklBWVF2QUVnQ0VHSXVRRVFzQUVoQlNBSUVEZ2dCUVIvQW45QkNCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBQkVEMUJBUkFCQ3dKQUFrQWdCa0VFYWlJQlFRUkJBU0FGRUdGQkFVY05BQ0FCS0FJQUlnZEJBVWdOQUNBQ0lBYzJBZ0JCQUVFQlFkQzBBU0FDRUQwZ0JpQUhRUUowSWdRUVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQU5FRDFCQVJBQkN5QUNRUkFRUkNJQk5nSUFJQUZGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3lBRkVMVUpJZ0ZGQkVBZ0NpQUFOZ0lBSUFwQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ2hBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFVUStRSWdCUkM4Q1F3REN5QUJLQUlFUVFGSEJFQWdDU0FBTmdJQUlBbEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NSQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBRVFPQ0FGRUdwQkFBd0RDeUFDS0FJQUlnQWdBU2dDQ0RZQ0JDQUFJQUVvQWd3MkFnZ2dBQ0FCS0FJUU5nSU1JQUFnQVNnQ0FEWUNBQ0FCRURnZ0JVRUVJQVJyUVFJUTlBRkJBU0VFQWtBQ1FBSkFBMEFDUUNBRUlBZE9EUU1nQzBFRVFRRWdCUkJoUVFGSERRQWdCRUVDZENBQ2FpQUNLQUlBSUFzcUFnQVF4QWtpQURZQ0FDQUFSUTBDSUFSQkFXb2hCQXdCQ3d0QkFDRUJBMEFnQVNBRVJnMERJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQkEwQWdBU0FFUmcwQ0lBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBc2dCUkJxSUFZTUF3c2dBaEE0REFFTFFRQkJBMEczdEFFZ0JCQTlDeUFHRURnZ0JSQnFRUUFMQlNBSElBQTJBZ0FnQjBHQnRBRTJBZ1JCQUVFRFFZZTBBU0FIRUQxQkFBc2hEaUFESkFZZ0Rnc0lBRUVFRUFKQkFBc0lBRUVDRUFKQkFBc1BBRUVCRUFKRUFBQUFBQUFBQUFBTER3QkJBQkFDUkFBQUFBQUFBQUFBQzV3REFoRi9BWDBqQmlFSkl3WkJFR29rQmlBQUtBSUVzaUFCbENBQUtnSU1JaE9WRUxzQklRb2dBQ2dDQ0xJZ0FaUWdFNVVRdXdFaEMwRVFFRVFpQlVVRVFFRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTElBbEJDR29oQXlBRklBbzJBZ1FnQlNBTE5nSUlJQVVnQVRnQ0RDQUZJQW9nQzJ3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3TkFJQVlnQzBnRVFDQUFLZ0lNSWhNZ0JyS1VJQUdWRUxzQklROGdFeUFHUVFGcUlnYXlsQ0FCbFJDN0FTRUVJQUFvQWdnaUF5QUVJQVFnQTBvYklSQkJBQ0VISUFJaEJBTkFJQWNnQ2tnRVFDQUFLZ0lNSWhNZ0I3S1VJQUdWRUxzQklSRWdFeUFIUVFGcUlnZXlsQ0FCbFJDN0FTRUNJQUFvQWdRaURpQUNJQUlnRGtvYklSSkJBQ0VDUVFBaEF5QVBJUWdEUUNBSUlCQklCRUFnQUNnQ0FDQVJJZ3dnQ0NBT2JHcHFJUTBEUUNBTUlCSklCRUFnQWlBTkxRQUFhaUVDSUF4QkFXb2hEQ0FOUVFGcUlRMGdBMEVCYWlFRERBRUxDeUFJUVFGcUlRZ01BUXNMSUFRZ0FpQURFRGs2QUFBZ0JFRUJhaUVFREFFTEN5QUVJUUlNQVFzTElBa2tCaUFGQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVSGlCbW9SRFFBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFSGNVSGFCbW9SREFBTEdBQWdBU0FDSUFNZ0JDQUZJQUJCUDNGQm1nWnFFUVVBQ3hZQUlBRWdBaUFESUFRZ0FFRWZjVUg2QldvUkJ3QUxGQUFnQVNBQ0lBTWdBRUVEY1VIMkJXb1JCZ0FMRkFBZ0FTQUNJQU1nQUVFQmNVSDBCV29SR0FBTEZBQWdBU0FDSUFNZ0FFRUJjVUh5QldvUkdRQUxEZ0FnQUVFQmNVR3FBMm9SQ3dBTEhnQWdBU0FDSUFNZ0JDQUZJQVlnQnlBSUlBQkJEM0ZCamdOcUVRNEFDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VHR0Eyb1JEd0FMa2dFQkFuOGdBQVJBSUFCQmlMa0JFTEFCSWdFRVFBSkFJQUZCQUVFQ0VQUUJJQUVRK0FJaEFpQUJRUUJCQUJEMEFTQUNRUUZxRUVRaUFFVUVRQ0FCRUdwQnBNVURRVEEyQWdCQkFDRUFEQUVMSUFBZ0FrRUJJQUVRWVVVRVFDQUFFRGdnQVJCcVFRQWhBQXdCQ3lBQUlBSnFRUUE2QUFBZ0FSQnFDd1ZCQUNFQUN3VkJwTVVEUVJ3MkFnQkJBQ0VBQ3lBQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQlAzRkJ4Z0pxRVFvQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQkEzRkJ3Z0pxRVJzQUN4Z0FJQUVnQWlBRElBUWdCU0FBUVI5eFFhSUNhaEVJQUFzWUFDQUJJQUlnQXlBRUlBVWdBRUVIY1VHYUFtb1JFd0FMRmdBZ0FTQUNJQU1nQkNBQVFROXhRWW9DYWhFSkFBc1VBQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBQXNTQUNBQklBSWdBRUUvY1VHS0FXb1JBZ0FMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVCY1VHSUFXb1JJZ0FMRUFBZ0FTQUFRZjhBY1VFSWFoRUFBQXNOQUNBQVFRRnhRUVpxRVJBQUM4OEJBUVYvSXdZaEJDTUdRU0JxSkFZZ0JFRVFhaUVHSUFGRlFkQ0ZBU2dDQUNBQVNuSkZCRUFnQVN3QUFBUkFJQVFnQWlnQ0FEWUNBRUVBUVFBZ0FTQUVFS2tCSWdjRVFDQUFRUVJKQkg4Z0FFRUNkRUhBRldvb0FnQVFZRUVEYWdWQkFBc2lCU0FIYWtFQmFoQkVJUU1nQlFSQUlBWWdBRUVDZEVIQUZXb29BZ0EyQWdBZ0F5QUZRUUZxUWQyekFTQUdFS01DR2dzZ0F5QUZhaUFIUVFGcUlBRWdBaENwQVJwQnBJZ0JLQUlBSVFBZ0F4QmdJZ0VnQTBFQklBRWdBQkNUQVVjYUlBTVFPQXNMQ3lBRUpBWUxFUUFnQVNBQ0lBQkJBWEZCQkdvUkhnQUxEQUFnQVNBQVFRTnhFUklBQ3lrQUlBQkVBQUFBQUFBQTREK2duQ0FBUkFBQUFBQUFBT0Evb1pzZ0FFUUFBQUFBQUFBQUFHWWJDeEFBSXdORkJFQWdBQ1FESUFFa0JBc0xLd0FnQUVIL0FYRkJHSFFnQUVFSWRVSC9BWEZCRUhSeUlBQkJFSFZCL3dGeFFRaDBjaUFBUVJoMmNndVJCd0VJZnlBQUtBSUVJZ1pCZUhFaEFnSkFJQVpCQTNGRkJFQWdBVUdBQWtrTkFTQUNJQUZCQkdwUEJFQWdBaUFCYTBHTTFRTW9BZ0JCQVhSTkJFQWdBQThMQ3d3QkN5QUFJQUpxSVFRZ0FpQUJUd1JBSUFJZ0FXc2lBa0VQVFFSQUlBQVBDeUFBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0JDQUVLQUlFUVFGeU5nSUVJQUVnQWhDUUJDQUFEd3RCeE5FREtBSUFJQVJHQkVCQnVORURLQUlBSUFKcUlnSWdBVTBOQVNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSURJQUlnQVdzaUFVRUJjallDQkVIRTBRTWdBellDQUVHNDBRTWdBVFlDQUNBQUR3dEJ3TkVES0FJQUlBUkdCRUFnQWtHMDBRTW9BZ0JxSWdNZ0FVa05BU0FESUFGcklnSkJEMHNFUUNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQVhJMkFnUWdBQ0FEYWlJRElBSTJBZ0FnQXlBREtBSUVRWDV4TmdJRUJTQUFJQU1nQmtFQmNYSkJBbkkyQWdRZ0FDQURhaUlCSUFFb0FnUkJBWEkyQWdSQkFDRUJRUUFoQWd0QnRORURJQUkyQWdCQndORURJQUUyQWdBZ0FBOExJQVFvQWdRaUEwRUNjUTBBSUFJZ0EwRjRjV29pQnlBQlNRMEFJQU5CQTNZaEJTQURRWUFDU1FSQUlBUW9BZ2dpQWlBRUtBSU1JZ05HQkVCQnJORURRYXpSQXlnQ0FFRUJJQVYwUVg5emNUWUNBQVVnQWlBRE5nSU1JQU1nQWpZQ0NBc0ZBa0FnQkNnQ0dDRUlJQVFnQkNnQ0RDSUNSZ1JBQWtBZ0JFRVFhaUlEUVFScUlnVW9BZ0FpQWdSQUlBVWhBd1VnQXlnQ0FDSUNSUVJBUVFBaEFnd0NDd3NEUUFKQUlBSkJGR29pQlNnQ0FDSUpSUVJBSUFKQkVHb2lCU2dDQUNJSlJRMEJDeUFGSVFNZ0NTRUNEQUVMQ3lBRFFRQTJBZ0FMQlNBRUtBSUlJZ01nQWpZQ0RDQUNJQU0yQWdnTElBZ0VRQ0FFS0FJY0lnTkJBblJCM05NRGFpSUZLQUlBSUFSR0JFQWdCU0FDTmdJQUlBSkZCRUJCc05FRFFiRFJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBd0RDd1VnQ0VFUWFpSURJQWhCRkdvZ0F5Z0NBQ0FFUmhzZ0FqWUNBQ0FDUlEwQ0N5QUNJQWcyQWhnZ0JDZ0NFQ0lEQkVBZ0FpQUROZ0lRSUFNZ0FqWUNHQXNnQkNnQ0ZDSURCRUFnQWlBRE5nSVVJQU1nQWpZQ0dBc0xDd3NnQnlBQmF5SUNRUkJKQkVBZ0FDQUdRUUZ4SUFkeVFRSnlOZ0lFSUFBZ0Iyb2lBU0FCS0FJRVFRRnlOZ0lFQlNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdBQ0FIYWlJRElBTW9BZ1JCQVhJMkFnUWdBU0FDRUpBRUN5QUFEd3RCQUF1L0FRRUVmeU1HSVFVakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJR0JIOGdBQ2dDQ0VILy8vLy9CM0ZCZjJvaEJDQUFLQUlFQlVFQklRUWdBMEgvQVhFTElRTWdCQ0FEYXlBQ1NRUkFJQUFnQkNBQ0lBTnFJQVJySUFNZ0EwRUFJQUlnQVJDU0JBVWdBZ1JBSUFZRWZ5QUFLQUlBQlNBQUN5SUVJQU5CQW5ScUlBRWdBaENuQVNBQ0lBTnFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDeUFGUVFBMkFnQWdBVUVDZENBRWFpQUZFRzRMQ3lBRkpBWUxzQUVCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVCQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRa2dRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPa0VDeUFGUVFBMkFnQWdBa0VDZENBRGFpQUZFRzRnQUN3QUMwRUFTQVJBSUFBZ0FqWUNCQVVnQUNBQ09nQUxDd3NnQlNRR0M3a0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FDd0FDeUlEUVFCSUlnWUVmeUFBS0FJSVFmLy8vLzhIY1VGL2FpRUVJQUFvQWdRRlFRb2hCQ0FEUWY4QmNRc2hBeUFFSUFOcklBSkpCRUFnQUNBRUlBSWdBMm9nQkdzZ0F5QURRUUFnQWlBQkVKUUVCU0FDQkVBZ0F5QUdCSDhnQUNnQ0FBVWdBQXNpQkdvZ0FTQUNFS2dCSUFJZ0Eyb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVZCQURvQUFDQUJJQVJxSUFVUVh3c0xJQVVrQmd1M0FRRUVmeU1HSVFRakJrRVFhaVFHSUFFRVFDQUFMQUFMSWdOQkFFZ0VmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBTkIvd0Z4SVFKQkNnc2lCU0FDYXlBQlNRUi9JQUFnQlNBQklBSnFJQVZySUFJZ0FoRGRBaUFBTEFBTEJTQURDMEVBU0FSL0lBQW9BZ0FGSUFBTElnTWdBbW9nQVVFQUVKVUVJQUVnQW1vaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBUkJBRG9BQUNBQklBTnFJQVFRWHdzZ0JDUUdDNjBNQXlKL0FYNENmQ01HSVFJakJrSGdFMm9rQmlBQ1FkQVRhaUVhSUFKQnlCTnFJUTRnQWtHNEUyb2hDeUFDUWJBVGFpRVBJQUpCcUJOcUlSQWdBa0dZRTJvaERDQUNRWkFUYWlFUklBSkJpQk5xSVJjZ0FrR0FFMm9oRWlBQ1FmZ1NhaUVZSUFKQjhCSnFJUk1nQWtIb0Vtb2hGQ0FDUWVBU2FpRUlJQUpCMkJKcUlRVWdBa0hRRW1vaEZTQUNRY2dTYWlFRElBSkJ3QkpxSVFvZ0FrR0FFbW9oQnlBQ1FZQVFhaUVHSUFKQjNCTnFJUnNnQWtIWUUyb2hEU0FDUWRRVGFpRWNJQUJCaWJZQkVMQUJJZ2tFUUFKQUlBWWdDUkRwQVNBVklBMDJBZ0FnQmtHcnRnRWdGUkNEQVVFQlJ3UkFJQVVnQURZQ0FFRUFRUU5CNEs0QklBVVFQU0FKRUdwQkFDRUFEQUVMSUEwb0FnQWlCVUhBQW13UVJDSURSUVJBUVFCQkEwRzUyQUlnQ0JBOVFRRVFBUXNnQVVVaEhVRUFJUW9DUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBRlRnMEhJQVlnQ1JEcEFTQUVRY0FDYkNBRGFpRUZJQlFnQkVIQUFtd2dBMm9pQ0VHNEFtbzJBZ0FnRkNBYk5nSUVJQVJCd0FKc0lBTnFJQVpCeGE4QklCUVFnd0ZCQVVZRWZ5QUZJQWdwQTdnQ0lpU25RZi8vQVhGQkFDQWtRb0NBL3Y4UGcxQWJOZ0lBUVFJaENFRUJCU0FkRFFFZ0FpQUFFSTRHUlEwRElBSWdCa0gvRHlBQ0VHQnJFT3dFSUFVZ0FTQUNFS29ESWdVMkFnQWdCVUVBU0EwRVFRRWhDRUVBQ3pZQ0JDQUdJQWtRNlFFZ0Z5QUVRY0FDYkNBRGFpSVdRUWhxTmdJQUlBWkI3YkVCSUJjUWd3RkJBVWNOQkNBR0lBa1E2UUVnRENBRVFjQUNiQ0FEYWtFUWFpSVpOZ0lBSUF3Z0JFSEFBbXdnQTJvaUhrRVlhallDQkNBTUlBUkJ3QUpzSUFOcVFTQnFOZ0lJSUF3Z0JFSEFBbXdnQTJvaUgwRW9hallDRENBR1FkcXlBU0FNRUlNQlFRUkdCSDlCQVFVZ0VDQVZOZ0lBSUJBZ0hEWUNCQ0FHUWVxeUFTQVFFSU1CUVFKSERRWkJBQXNoQlNBSUlBcHlJUW9EUUNBR0lBa1E2UUVnQ3lBRVFjQUNiQ0FEYWtFUWFpQUZRUVYwYWpZQ0FDQUxJQVJCd0FKc0lBTnFJQVZCQlhScVFSaHFOZ0lFSUFzZ0JFSEFBbXdnQTJvZ0JVRUZkR3BCSUdvMkFnZ2dDeUFFUWNBQ2JDQURhaUFGUVFWMGFrRW9hallDRENBR1FkcXlBU0FMRUlNQlFRUkhEUWNnQlVFQmFpSUZRUU5KRFFBTElCa2dCRUhBQW13Z0EycEI4QUJxRUtrR0lBY2dGaXNEQ0NJbFJBQUFBQUFBQU9DL29pSW1PUU1BSUFjZ0pVUUFBQUFBQUFEZ1A2SWlKVGtEQ0NBSElDVTVBeEFnQnlBbE9RTVlJQWNnSlRrRElDQUhJQ1k1QXlnZ0J5QW1PUU13SUFjZ0pqa0RPQ0FFUWNBQ2JDQURhaUVJSUFSQndBSnNJQU5xSVJZZ0JFSEFBbXdnQTJvaElDQUVRY0FDYkNBRGFpRWhJQVJCd0FKc0lBTnFJU0lnQkVIQUFtd2dBMm9oSTBFQUlRVURRQ0FGUVFSSEJFQWdCRUhBQW13Z0EycEIwQUZxSUFWQkdHeHFJQjhyQXlnZ0dTc0RBQ0FGUVFSMElBZHFLd01BSWlhaUlCNHJBeGdnQlVFRWRDQUhhaXNEQ0NJbG9xQ2dPUU1BSUFSQndBSnNJQU5xSUFWQkdHeHFJQ0FyQTBnZ0ppQUlLd013b2lBbElCWXJBemlpb0tBNUE5Z0JJQVJCd0FKc0lBTnFJQVZCR0d4cUlDTXJBMmdnSmlBaEt3TlFvaUFsSUNJckExaWlvS0E1QStBQklBVkJBV29oQlF3QkN3c2dCRUVCYWlFRUlBMG9BZ0FoQlF3QkN3c2dFeUFBTmdJQUlCTWdCallDQkVFQVFRTkJ6SzhCSUJNUVBRd0dDeUFZSUFBMkFnQkJBRUVEUWN5d0FTQVlFRDBNQlFzZ0VpQUFOZ0lBSUJJZ0FqWUNCRUVBUVFOQm9MRUJJQklRUFF3RUN5QVJJQUEyQWdBZ0VTQUVRUUZxTmdJRVFRQkJBMEh4c1FFZ0VSQTlEQU1MSUE4Z0FEWUNBQ0FQSUFSQkFXbzJBZ1JCQUVFRFFmQ3lBU0FQRUQwTUFnc2dEaUFBTmdJQUlBNGdCRUVCYWpZQ0JFRUFRUU5COExJQklBNFFQUXdCQ3lBSkVHcEJpQUVRUkNJQVJRUkFRUUJCQTBHNTJBSWdHaEE5UVFFUUFRc2dBQ0FETmdJQUlBQWdEU2dDQURZQ0JDQUFRUUEyQW9BQklBQkJBRFlDYUNBS1FRTnhRUU5HQkVBZ0FFRUNOZ0pzQlNBS1FRRnhCRUFnQUVFQU5nSnNCU0FBUVFFMkFtd0xDeUFBUkFBQUFBQUFBT0EvT1FOd0lBQkVBQUFBQUFBQTREODVBM2dNQVFzZ0NSQnFJQU1RT0VFQUlRQUxCU0FLSUFBMkFnQkJBRUVEUWF1dUFTQUtFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFRQWhBQXNnQWlRR0lBQUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzRklBaEJBRHNCQUNBTVFRQTZBQUFMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcmdFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWxBUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2NCR2dzZ0JVRUFPZ0FBSUFJZ0Eyb2dCUkJmSUFBc0FBdEJBRWdFUUNBQUlBSTJBZ1FGSUFBZ0Fqb0FDd3NMSUFVa0JndEFBUUovUWRpMUFoQmdJZ0pCRFdvUVVTSUJJQUkyQWdBZ0FTQUNOZ0lFSUFGQkFEWUNDQ0FCUVF4cUlnRkIyTFVDSUFKQkFXb1FUQm9nQUNBQk5nSUFDeTRBQTBBZ0FDZ0NBRUVCUmcwQUN5QUFLQUlBUlFSQUlBQkJBVFlDQUNBQlFid0VFUUVBSUFCQmZ6WUNBQXNMVkFFQmZ5QUFLQUlJQkVBZ0FDQUFLQUlJSWdGQmYybzJBZ2dnQVVVRVFDQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEJTQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN4c0FJQUFnQVNnQ0FDSUFOZ0lBSUFBZ0FDZ0NCRUVCYWpZQ0JBdE9BUU4vSUFJZ0FXdEJBblloQnlBQklRQURRQ0FBSUFKSEJFQWdCQ0FBS0FJQUlnWkIvd0Z4SUFNZ0JrR0FBVWtiT2dBQUlBUkJBV29oQkNBQVFRUnFJUUFNQVFzTElBZEJBblFnQVdvTEVRQWdBVUgvQVhFZ0FpQUJRWUFCU1JzTEtRQURRQ0FCSUFKSEJFQWdBeUFCTEFBQU5nSUFJQU5CQkdvaEF5QUJRUUZxSVFFTUFRc0xJQUlMQ2dBZ0FVRVlkRUVZZFF0QkFBTkFJQUVnQWtjRVFDQUJJQUVvQWdBaUFFR0FBVWtFZjBHMGlBRW9BZ0FnQVNnQ0FFRUNkR29vQWdBRklBQUxOZ0lBSUFGQkJHb2hBUXdCQ3dzZ0Fnc2VBQ0FCUVlBQlNRUi9RYlNJQVNnQ0FDQUJRUUowYWlnQ0FBVWdBUXNMblF3Q0FuOFVmQ0FBS3dNSUlnb2dBQ3NES0NJTG9pQUFLd01RSWdrZ0FDc0RJQ0lRb3FFaEJDQUpJQUFyQXhnaURhSWdBQ3NEQUNJSUlBdWlvU0VISUFnZ0VLSWdDaUFOb3FFaUF5QURvaUFFSUFTaUlBY2dCNktnb0o4aUJVUUFBQUFBQUFBQUFHSUVRQ0FESUFXaklRWWdDQ0FISUFXakloR2lJZ01nQ2lBRUlBV2pJZytpSWhPaEloSkVBQUFBQUFBQUFBQmlCSHdnRHlFRUlBZ2hCU0FLSVE0Z0VTRUhJQWtGSUFrZ0NpQUlJQWFpSUFrZ0Q2S2hSQUFBQUFBQUFBQUFZaUlCR3lFT1FRRkJBaUFCR3lFQ0lBNGdEeUFHSUFFYklnU2lJaEloRXlBSUlBa2dBUnNpQlNBR0lCRWdBUnNpQjZJaUF5QVNvU0VTSUJFZ0R5QUJHeUVHSUFvZ0NDQUJHd3NoRENBSUlBMmlJQW9nRUtLZ0lBa2dDNktnSWdpYUlBZ2dDRVFBQUFBQUFBQUFBR01iSWdoRUFBQUFBQUFBOEQrZ24wUUFBQUFBQUFEd1B5QUlvWitnUkFBQUFBQUFBT0Evb2lFVUlCSkVBQUFBQUFBQUFBQmlCRUFnRGlBR29pQU1JQWVpb1NBU295SU9JQTZpSUFVZ0JxSWdEQ0FFb3FFZ0V5QURvU0lEb3lJSUlBaWlvRVFBQUFBQUFBRHdQNkFoQ2lBT0lCUWdCNklnRXFNaUJhSWdDQ0FVSUFTaUlBT2pJZ21pb0NJUElBK2lJQW9nQlNBRm9pQUpJQW1pb0VRQUFBQUFBQUR3djZDaW9TSURSQUFBQUFBQUFBQUFZMFVFUUNBRklBNGdBNThpRENBUG9TQUtveUlSb3FBaEF5QUpJQWdnRWFLZ0lSSWdCU0FPSUErYUlBeWhJQXFqSWdxaW9DRUZJQWtnQ0NBS29xQWhDQ0FOQW53Q1FBSkFBa0FnQWtFRGNVRUJhdzRDQUFFQ0N5QUlJUTRnQ2lFSUlBVWhDaUFTSVE4Z0VTRVNJQU1oRVNBRUlRTWdCeUVFSUFZTUFnc2dCU0VPSUFNaER5QUdJUU1nQnd3QkN5QUtJUTRnQlNFS0lCRWhEeUFESVJFZ0JDRURJQVloQkNBSEN5SUZvaUlWSUJBZ0E2SWlGcUVpRTBRQUFBQUFBQUFBQUdJRWZ5QURJUWNnRFNFSklCQWhEQ0FGSVFaQkFBVWdDeUFRSUEwZ0JLSWdDeUFEb3FGRUFBQUFBQUFBQUFCaUlnRWJJUXdnRFNBTElBRWJJZ2tnQkNBRklBRWJJZ2FpSWdzaEZTQU1JQU1nQkNBQkd5SUhvaUlFSVJZZ0N5QUVvU0VUSUJBZ0RTQUJHeUVMSUFVZ0F5QUJHeUVFUVFGQkFpQUJHd3NoQWlBVFJBQUFBQUFBQUFBQVlnUkFJQXdnQktJZ0N5QUdvcUVnRTZNaUF5QURvaUFKSUFTaUlBc2dCNktoSUJZZ0ZhRWlCYU1pQkNBRW9xQkVBQUFBQUFBQThEK2dJUTBnQXlBVUlBYWlJQk9qSWdhaUlBUWdGQ0FIb2lBRm95SUhvcUFpQ3lBTG9pQU5JQVlnQnFJZ0J5QUhvcUJFQUFBQUFBQUE4TCtnb3FFaUJVUUFBQUFBQUFBQUFHTkZCRUFnQmlBRElBV2ZJaEFnQzZFZ0RhTWlDYUtnSVF3Z0J5QUVJQW1pb0NFRklBWWdBeUFMbWlBUW9TQU5veUlEb3FBaEJpQUhJQVFnQTZLZ0lRY0NRQUpBQWtBQ1FDQUNRUU54UVFGckRnSUFBUUlMSUFjaEJDQURJUWNnQmlFRElBVWhCaUFKSVFVZ0RDRUpEQUlMSUFZaEJDQU1JUVlNQVFzZ0F5RUVJQVloQXlBSklRWWdEQ0VKQ3lBS0lBbWlJQWdnQmFLZ0lBNGdCcUtnSWd5YUlBd2dERVFBQUFBQUFBQUFBR01iSVF3Z0NpQURvaUFJSUFlaW9DQU9JQVNpb0NJTm1pQU5JQTFFQUFBQUFBQUFBQUJqR3lFTklCRWdDYUlnRWlBRm9xQWdEeUFHb3FBaUM1b2dDeUFMUkFBQUFBQUFBQUFBWXhzaUN5QVJJQU9pSUJJZ0I2S2dJQThnQktLZ0loQ2FJQkFnRUVRQUFBQUFBQUFBQUdNYkloQmpCRUFnQ3lBTVl3UkFJQXNnRFdNRVFDQUFJQkU1QXdBZ0FDQVNPUU1JSUFBZ0R6a0RFQ0FBSUFrNUF4Z2dBQ0FGT1FNZ0lBQWdCamtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdBQ0FET1FNWUlBQWdCemtESUNBQUlBUTVBeWdMQlNBQUlBbzVBd0FnQUNBSU9RTUlJQUFnRGprREVDQU1JQTFqQkVBZ0FDQUpPUU1ZSUFBZ0JUa0RJQ0FBSUFZNUF5Z0ZJQUFnQXprREdDQUFJQWM1QXlBZ0FDQUVPUU1vQ3dzRklCQWdER01FUUNBUUlBMWpCRUFnQUNBUk9RTUFJQUFnRWprRENDQUFJQTg1QXhBRklBQWdDamtEQUNBQUlBZzVBd2dnQUNBT09RTVFDeUFBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdEQ0FOWXdSQUlBQWdDVGtER0NBQUlBVTVBeUFnQUNBR09RTW9CU0FBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FzTEN3c0xDd3NMQzBFQUEwQWdBU0FDUndSQUlBRWdBU2dDQUNJQVFZQUJTUVIvUWFTS0FTZ0NBQ0FCS0FJQVFRSjBhaWdDQUFVZ0FBczJBZ0FnQVVFRWFpRUJEQUVMQ3lBQ0N4NEFJQUZCZ0FGSkJIOUJwSW9CS0FJQUlBRkJBblJxS0FJQUJTQUJDd3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCVHcwQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeEJFQWdBa0VFYWlFQ0RBSUxDd3NnQWd0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlNRUkFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhEUUVMSUFKQkJHb2hBZ3dCQ3dzZ0FndEdBQU5BSUFFZ0FrY0VRQ0FESUFFb0FnQkJnQUZKQkg5Qm9Jb0JLQUlBSUFFb0FnQkJBWFJxTHdFQUJVRUFDenNCQUNBRFFRSnFJUU1nQVVFRWFpRUJEQUVMQ3lBQ0N5a0FJQUpCZ0FGSkJIOGdBVUdnaWdFb0FnQWdBa0VCZEdvdUFRQnhRZi8vQTNGQkFFY0ZRUUFMQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVITW9nRkJ6S0lCRUxRQkVNc0JDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhrb2dGQjVLSUJFTFFCRU1zQkN3d0FJQUFnQVVFUWFoRGVBZ3NIQUNBQUtBSU1Dd2NBSUFBb0FnZ0xDd0FnQUJDWkJDQUFFRGdMSGdBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBUVkyakEwR05vd01RWUJCK0N4NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFR1Rvd05CazZNREVHQVFmZ3NNQUNBQUlBRkJER29RM2dJTEJ3QWdBQ3dBQ1FzSEFDQUFMQUFJQ3dzQUlBQVFtZ1FnQUJBNEN5b0JBWHhCZnlBQUt3TUFJQUVyQXdDaElnSkVBQUFBQUFBQUFBQmtJQUpFQUFBQUFBQUFBQUJqR3dzekFBTkFJQUVnQWtjRVFDQUVJQUVzQUFBaUFDQURJQUJCZjBvYk9nQUFJQVJCQVdvaEJDQUJRUUZxSVFFTUFRc0xJQUlMRWdBZ0FTQUNJQUZCR0hSQkdIVkJmMG9iQ3lrQUEwQWdBU0FDUndSQUlBTWdBU3dBQURvQUFDQURRUUZxSVFNZ0FVRUJhaUVCREFFTEN5QUNDd1FBSUFFTFJBQURRQ0FCSUFKSEJFQWdBU0FCTEFBQUlnQkJmMG9FZjBHMGlBRW9BZ0FnQVN3QUFFRUNkR29vQWdCQi93RnhCU0FBQ3pvQUFDQUJRUUZxSVFFTUFRc0xJQUlMTFFBZ0FVRVlkRUVZZFVGL1NnUi9RYlNJQVNnQ0FDQUJRUmgwUVJoMVFRSjBhaWdDQUVIL0FYRUZJQUVMQzBRQUEwQWdBU0FDUndSQUlBRWdBU3dBQUNJQVFYOUtCSDlCcElvQktBSUFJQUVzQUFCQkFuUnFLQUlBUWY4QmNRVWdBQXM2QUFBZ0FVRUJhaUVCREFFTEN5QUNDeXNBSUFGQkdIUkJHSFZCZjBvRWYwR2tpZ0VvQWdBZ0FVSC9BWEZCQW5ScUtBSUFRZjhCY1FVZ0FRc0xDd0FnQUJDYkJDQUFFRGdMTndFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUVnQUVFUWFrWUVRQ0FBUVFBNkFJQUJCU0FBS0FJSUdpQUJFRGdMQ3dzTEFDQUFFSndFSUFBUU9BdVFCZ0VDZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFMZ0VBSWdaQi8vOERjU0lEUWYvL3d3QkxCRUJCQWlFQURBRUxJQVpCLy84RGNVR0FBVWdFUUNBRUlBVW9BZ0FpQUd0QkFVZ0VRRUVCSVFBTUFnc2dCU0FBUVFGcU5nSUFJQUFnQmpvQUFBVUNRQ0FHUWYvL0EzRkJnQkJJQkVBZ0JDQUZLQUlBSWdCclFRSklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkJuWkJ3QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRS9jVUdBQVhJNkFBQU1BUXNnQmtILy93TnhRWUN3QTBnRVFDQUVJQVVvQWdBaUFHdEJBMGdFUUVFQklRQU1CQXNnQlNBQVFRRnFOZ0lBSUFBZ0EwRU1ka0hnQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRUVoyUVQ5eFFZQUJjam9BQUNBRklBVW9BZ0FpQUVFQmFqWUNBQ0FBSUFOQlAzRkJnQUZ5T2dBQURBRUxJQVpCLy84RGNVR0F1QU5PQkVBZ0JrSC8vd054UVlEQUEwZ0VRRUVDSVFBTUJBc2dCQ0FGS0FJQUlnQnJRUU5JQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJESFpCNEFGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEVHZGtFL2NVR0FBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFUOXhRWUFCY2pvQUFBd0JDeUFCSUFCclFRUklCRUJCQVNFQURBTUxJQUJCQW1vaEJpQUFMd0VDSWdCQmdQZ0RjVUdBdUFOSEJFQkJBaUVBREFNTElBUWdCU2dDQUd0QkJFZ0VRRUVCSVFBTUF3c2dBRUgvQjNFZ0EwSEFCM0VpQjBFS2RFR0FnQVJxSUFOQkNuUkJnUGdEY1hKeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFJZ0JqWUNBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQWRCQm5aQkFXb2lCa0VDZGtId0FYSTZBQUFnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHUVFSMFFUQnhJQU5CQW5aQkQzRnlRWUFCY2pvQUFDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBTkJCSFJCTUhFZ0FFRUdka0VQY1hKQmdBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTEN5QUNJQUlvQWdCQkFtb2lBRFlDQUF3QkN3c2dBQXU4QmdFRmZ5QUNJQUEyQWdBZ0JTQUROZ0lBQTBBQ1FDQUNLQUlBSWdNZ0FVOEVRRUVBSVFBTUFRc2dCU2dDQUNJSUlBUlBCRUJCQVNFQURBRUxJQU1zQUFBaUJrSC9BWEVpQ1VILy84TUFTd1JBUVFJaEFBd0JDeUFDSUFaQmYwb0VmeUFJSUFaQi93RnhPd0VBSUFOQkFXb0ZBbjhnQmtIL0FYRkJ3Z0ZJQkVCQkFpRUFEQU1MSUFaQi93RnhRZUFCU0FSQUlBRWdBMnRCQWtnRVFFRUJJUUFNQkFzZ0F5MEFBU0lBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNnQ1VFR2RFSEFEM0VnQUVFL2NYSWlBRUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRUNhZ3dCQ3lBR1FmOEJjVUh3QVVnRVFDQUJJQU5yUVFOSUJFQkJBU0VBREFRTElBTXNBQUVoQnlBRExRQUNJUUFDUUFKQUFrQWdCa0ZnYXlJR0JFQWdCa0VOUmdSQURBSUZEQU1MQUFzZ0IwSGdBWEZCb0FGSEJFQkJBaUVBREFjTERBSUxJQWRCNEFGeFFZQUJSd1JBUVFJaEFBd0dDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQlFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3RUN5QUFRVDl4SUFsQkRIUWdCMEUvY1VFR2RISnlJZ0JCLy84RGNVSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFRGFnd0JDeUFHUWY4QmNVSDFBVTRFUUVFQ0lRQU1Bd3NnQVNBRGEwRUVTQVJBUVFFaEFBd0RDeUFETEFBQklRY2dBeTBBQWlFQUlBTXRBQU1oQXdKQUFrQUNRQUpBSUFaQmNHc09CUUFDQWdJQkFnc2dCMEh3QUdwQkdIUkJHSFZCL3dGeFFUQk9CRUJCQWlFQURBWUxEQUlMSUFkQjhBRnhRWUFCUndSQVFRSWhBQXdGQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0RDeUFEUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQkNBSWEwRUVTQVJBUVFFaEFBd0RDeUFEUVQ5eElnWWdBRUVHZENJS1FjQWZjU0FIUWY4QmNTSURRUXgwUVlEZ0QzRWdDVUVIY1NJSFFSSjBjbkp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQWdnQTBFRWRrRURjU0FIUVFKMGNrRUdkRUhBL3dCcUlBTkJBblJCUEhFZ0FFRUVka0VEY1hKeVFZQ3dBM0k3QVFBZ0JTQUlRUUpxTmdJQUlBZ2dCaUFLUWNBSGNYSkJnTGdEY2pzQkFpQUNLQUlBUVFScUN3czJBZ0FnQlNBRktBSUFRUUpxTmdJQURBRUxDeUFBQzVNRUFRZC9JQUVoQnlBQUlRRURRQUpBSUFFZ0Iwa2dCaUFDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0lJUWYvL3d3QkxEUUFnQTBGL1NnUi9JQUZCQVdvRkFuOGdBMEgvQVhGQndnRklEUUlnQTBIL0FYRkI0QUZJQkVBZ0J5QUJhMEVDU0EwRElBRXRBQUVpQkVIQUFYRkJnQUZISUFoQkJuUkJ3QTl4SUFSQlAzRnlRZi8vd3dCTGNnMERJQUZCQW1vTUFRc2dBMEgvQVhGQjhBRklCRUFnQnlBQmEwRURTQTBESUFFc0FBRWhCQ0FCTFFBQ0lRVUNRQUpBQWtBZ0EwRmdheUlEQkVBZ0EwRU5SZ1JBREFJRkRBTUxBQXNnQkVIZ0FYRkJvQUZIRFFZTUFnc2dCRUhnQVhGQmdBRkhEUVVNQVFzZ0JFSEFBWEZCZ0FGSERRUUxJQVZCd0FGeFFZQUJSeUFGUVQ5eElBaEJESFJCZ09BRGNTQUVRVDl4UVFaMGNuSkIvLy9EQUV0eURRTWdBVUVEYWd3QkN5QUhJQUZyUVFSSUlBSWdCbXRCQWtseUlBTkIvd0Z4UWZVQlRuSU5BaUFCTEFBQklRVWdBUzBBQWlFRUlBRXRBQU1oQ1FKQUFrQUNRQUpBSUFOQmNHc09CUUFDQWdJQkFnc2dCVUh3QUdwQkdIUkJHSFZCL3dGeFFUQk9EUVVNQWdzZ0JVSHdBWEZCZ0FGSERRUU1BUXNnQlVIQUFYRkJnQUZIRFFNTElBbEJ3QUZ4UVlBQlJ5QUpRVDl4SUFSQkJuUkJ3Qjl4SUFoQkVuUkJnSUR3QUhFZ0JVRS9jVUVNZEhKeWNrSC8vOE1BUzNJZ0JFSEFBWEZCZ0FGSGNnMENJQVpCQVdvaEJpQUJRUVJxQ3dzaEFTQUdRUUZxSVFZTUFRc0xJQUVnQUdzTEN3QWdBaUFESUFRUWt3b0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNTQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1JDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMQ3dBZ0FCQ2VCQ0FBRURnTEtnRUJmeUFBS0FJSUlnQUVRQ0FBRUdJaEFSQ2JBeUVBSUFFRVFDQUJFR0lhQ3dWQkFTRUFDeUFBQzNNQkJIOGdBeUVGQTBBQ1FDQUNJQVZHSUFZZ0JFOXlEUUFnQUNnQ0NCQmlJUWRCQUNBQ0lBVWdBbXNnQVVISXhRTWdBUnNRMXdFaEF5QUhCRUFnQnhCaUdnc0NRQUpBSUFOQmZtc09Bd0lDQUFFTFFRRWhBd3NnQmtFQmFpRUdJQU1nQ0dvaENDQUNJQU5xSVFJTUFRc0xJQWdMVUFFRWZ5QUFLQUlJRUdJaEFRSi9Jd1loQXlNR1FSQnFKQVlnQXdza0JpQUJCRUFnQVJCaUdnc2dBQ2dDQ0NJQUJIOGdBQkJpSVFBUW13TWhCQ0FBQkVBZ0FCQmlHZ3NnQkVFQlJnVkJBUXNMbUFFQkFuOGpCaUVGSXdaQkVHb2tCaUFFSUFJMkFnQWdBQ2dDQ0JCaUlRSWdCU0lBUVFBUW5nRWhBU0FDQkVBZ0FoQmlHZ3NnQVVFQmFrRUNTUVIvUVFJRklBRkJmMm9pQVNBRElBUW9BZ0JyU3dSL1FRRUZBMzhnQVFSL0lBQXNBQUFoQWlBRUlBUW9BZ0FpQTBFQmFqWUNBQ0FESUFJNkFBQWdBRUVCYWlFQUlBRkJmMm9oQVF3QkJVRUFDd3NMQ3lFR0lBVWtCaUFHQy9rREFRWi9Jd1loRENNR1FSQnFKQVlnRENFSklBSWhDQU5BQWtBZ0F5QUlSZ1JBSUFNaENBd0JDeUFJTEFBQUJFQWdDRUVCYWlFSURBSUxDd3NnQnlBRk5nSUFJQVFnQWpZQ0FDQUdJUW9nQ0NFR0FrQUNRQUpBQTBBQ1FDQUNJQU5HSUFVZ0NrWnlEUU1nQ1NBQktRSUFOd01BSUFBb0FnZ1FZaUVJSUFVZ0JDQUdJQUpySUFvZ0JXdEJBblVnQVJEd0JDRUxJQWdFUUNBSUVHSWFDeUFMUVg5R0RRQWdCeUFIS0FJQUlBdEJBblJxSWdVMkFnQWdCU0FLUmcwQ0lBUW9BZ0FoQWlBRElBWkdCRUFnQXlFR0JTQUFLQUlJRUdJaEJnSi9JQVVnQWtFQklBRVExd0VoRFNBR0JFQWdCaEJpR2dzZ0RRc0VRRUVDSVFBTUJnc2dCeUFIS0FJQVFRUnFOZ0lBSUFRZ0JDZ0NBRUVCYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0xBQUFCRUFnQmtFQmFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c0NRQUpBQTBBQ1FDQUhJQVUyQWdBZ0FpQUVLQUlBUmcwRElBQW9BZ2dRWWlFSUlBVWdBaUFHSUFKcklBa1Exd0VoQVNBSUJFQWdDQkJpR2dzQ1FBSkFJQUZCZm1zT0F3UUNBQUVMUVFFaEFRc2dBU0FDYWlFQ0lBY29BZ0JCQkdvaEJRd0JDd3NnQkNBQ05nSUFRUUloQUF3RUN5QUVJQUkyQWdCQkFTRUFEQU1MSUFRZ0FqWUNBQ0FDSUFOSElRQU1BZ3NnQkNnQ0FDRUNDeUFDSUFOSElRQUxJQWtrQmlBQUM1Z0VBUVovSXdZaERTTUdRUkJxSkFZZ0RTSUtRUWhxSVFzZ0FpRUlBMEFDUUNBRElBaEdCRUFnQXlFSURBRUxJQWdvQWdBRVFDQUlRUVJxSVFnTUFnc0xDeUFISUFVMkFnQWdCQ0FDTmdJQUlBWWhDU0FJSVFZQ1FBSkFBa0FEUUFKQUlBSWdBMFlnQlNBSlJuSU5BeUFLSUFFcEFnQTNBd0FnQUNnQ0NCQmlJUWdnQlNBRUlBWWdBbXRCQW5VZ0NTQUZheERvQkNFTUlBZ0VRQ0FJRUdJYUN3SkFBa0FnREVGL2F3NENBZ0FCQzBFQklRQU1CUXNnQnlBTUlBY29BZ0JxSWdVMkFnQWdCU0FKUmcwQ0lBTWdCa1lFUUNBRElRWWdCQ2dDQUNFQ0JTQUFLQUlJRUdJaEJTQUxRUUFRbmdFaEFpQUZCRUFnQlJCaUdnc2dBa0YvUmdSQVFRSWhBQXdHQ3lBQ0lBa2dCeWdDQUd0TEJFQkJBU0VBREFZTElBc2hCUU5BSUFJRVFDQUZMQUFBSVFZZ0J5QUhLQUlBSWdoQkFXbzJBZ0FnQ0NBR09nQUFJQVZCQVdvaEJTQUNRWDlxSVFJTUFRc0xJQVFnQkNnQ0FFRUVhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHS0FJQUJFQWdCa0VFYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzZ0J5QUZOZ0lBQTBBQ1FDQUNJQVFvQWdCR0RRQWdBaWdDQUNFRElBQW9BZ2dRWWlFQklBVWdBeENlQVNFRElBRUVRQ0FCRUdJYUN5QURRWDlHRFFBZ0J5QURJQWNvQWdCcUlnVTJBZ0FnQWtFRWFpRUNEQUVMQ3lBRUlBSTJBZ0JCQWlFQURBSUxJQVFvQWdBaEFnc2dBaUFEUnlFQUN5QUtKQVlnQUFzUkFDQURJQUpySWdBZ0JDQUFJQVJKR3d1UEF3RUJmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUtBSUFJZ0JCZ0hCeFFZQ3dBMFlnQUVILy84TUFTM0lFUUVFQ0lRQU1BUXNnQUVHQUFVa0VRQ0FFSUFVb0FnQWlBMnRCQVVnRVFFRUJJUUFNQWdzZ0JTQURRUUZxTmdJQUlBTWdBRG9BQUFVQ1FDQUFRWUFRU1FSQUlBUWdCU2dDQUNJRGEwRUNTQVJBUVFFaEFBd0VDeUFGSUFOQkFXbzJBZ0FnQXlBQVFRWjJRY0FCY2pvQUFBd0JDeUFFSUFVb0FnQWlBMnNoQmlBQVFZQ0FCRWtFUUNBR1FRTklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkRIWkI0QUZ5T2dBQUJTQUdRUVJJQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJFblpCOEFGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVNZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRUdka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTElBSWdBaWdDQUVFRWFpSUFOZ0lBREFFTEN5QUFDN2tGQVFWL0lBSWdBRFlDQUNBRklBTTJBZ0FEUUFKQUlBSW9BZ0FpQmlBQlR3UkFRUUFoQUF3QkN5QUZLQUlBSWdvZ0JFOEVRRUVCSVFBTUFRc2dCaXdBQUNJSFFmOEJjU0VESUFkQmYwb0VmeUFEUWYvL3d3QkxCSDlCQWlFQURBSUZRUUVMQlFKL0lBZEIvd0Z4UWNJQlNBUkFRUUloQUF3REN5QUhRZjhCY1VIZ0FVZ0VRQ0FCSUFaclFRSklCRUJCQVNFQURBUUxJQVl0QUFFaUFFSEFBWEZCZ0FGSEJFQkJBaUVBREFRTFFRSWdBMEVHZEVIQUQzRWdBRUUvY1hJaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOEFGSUJFQWdBU0FHYTBFRFNBUkFRUUVoQUF3RUN5QUdMQUFCSVFnZ0JpMEFBaUVBQWtBQ1FBSkFJQWRCWUdzaUJ3UkFJQWRCRFVZRVFBd0NCUXdEQ3dBTElBaEI0QUZ4UWFBQlJ3UkFRUUloQUF3SEN3d0NDeUFJUWVBQmNVR0FBVWNFUUVFQ0lRQU1CZ3NNQVFzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFVTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBdEJBeUFBUVQ5eElBTkJESFJCZ09BRGNTQUlRVDl4UVFaMGNuSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjlRRk9CRUJCQWlFQURBTUxJQUVnQm10QkJFZ0VRRUVCSVFBTUF3c2dCaXdBQVNFSklBWXRBQUloQUNBR0xRQURJUWdDUUFKQUFrQUNRQ0FIUVhCckRnVUFBZ0lDQVFJTElBbEI4QUJxUVJoMFFSaDFRZjhCY1VFd1RnUkFRUUloQUF3R0N3d0NDeUFKUWZBQmNVR0FBVWNFUUVFQ0lRQU1CUXNNQVFzZ0NVSEFBWEZCZ0FGSEJFQkJBaUVBREFRTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBTUxJQWhCUDNFZ0FFRUdkRUhBSDNFZ0EwRVNkRUdBZ1BBQWNTQUpRVDl4UVF4MGNuSnlJZ05CLy8vREFFc0VmMEVDSVFBTUF3VkJCQXNMQ3lFQUlBb2dBellDQUNBQ0lBQWdCbW8yQWdBZ0JTQUZLQUlBUVFScU5nSUFEQUVMQ3lBQUM0VUVBUWQvSUFFaEJpQUFJUUVEUUFKQUlBRWdCa2tnQ0NBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NFSElBTkJmMG9FZnlBSFFmLy93d0JMRFFFZ0FVRUJhZ1VDZnlBRFFmOEJjVUhDQVVnTkFpQURRZjhCY1VIZ0FVZ0VRQ0FHSUFGclFRSklEUU1nQVMwQUFTSUVRY0FCY1VHQUFVY2dCMEVHZEVIQUQzRWdCRUUvY1hKQi8vL0RBRXR5RFFNZ0FVRUNhZ3dCQ3lBRFFmOEJjVUh3QVVnRVFDQUdJQUZyUVFOSURRTWdBU3dBQVNFRUlBRXRBQUloQlFKQUFrQUNRQ0FEUVdCcklnTUVRQ0FEUVExR0JFQU1BZ1VNQXdzQUN5QUVRZUFCY1VHZ0FVY05CZ3dDQ3lBRVFlQUJjVUdBQVVjTkJRd0JDeUFFUWNBQmNVR0FBVWNOQkFzZ0JVSEFBWEZCZ0FGSElBVkJQM0VnQjBFTWRFR0E0QU54SUFSQlAzRkJCblJ5Y2tILy84TUFTM0lOQXlBQlFRTnFEQUVMSUFZZ0FXdEJCRWdnQTBIL0FYRkI5UUZPY2cwQ0lBRXNBQUVoQlNBQkxRQUNJUVFnQVMwQUF5RUpBa0FDUUFKQUFrQWdBMEZ3YXc0RkFBSUNBZ0VDQ3lBRlFmQUFha0VZZEVFWWRVSC9BWEZCTUU0TkJRd0NDeUFGUWZBQmNVR0FBVWNOQkF3QkN5QUZRY0FCY1VHQUFVY05Bd3NnQ1VIQUFYRkJnQUZISUFsQlAzRWdCRUVHZEVIQUgzRWdCMEVTZEVHQWdQQUFjU0FGUVQ5eFFReDBjbkp5UWYvL3d3QkxjaUFFUWNBQmNVR0FBVWR5RFFJZ0FVRUVhZ3NMSVFFZ0NFRUJhaUVJREFFTEN5QUJJQUJyQ3dzQUlBSWdBeUFFRUtFS0MwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFvQW9oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW53b2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDOE1FQVFoL0l3WWhCQ01HUWJBQmFpUUdJQVJCcUFGcUlRd2dCQ0VCSUFSQnBBRnFJUW9nQkVHZ0FXb2hCeUFFUVpnQmFpRUNJQVJCa0FGcUlRc2dCRUdBQVdvaUNFSUFOd0lBSUFoQkFEWUNDQU5BSUFaQkEwY0VRQ0FHUVFKMElBaHFRUUEyQWdBZ0JrRUJhaUVHREFFTEN5QUNRUUEyQWdRZ0FrR3NvQUUyQWdBZ0JTZ0NBQ0FGSUFVc0FBc2lBMEVBU0NJSkd5SUdJQVVvQWdRZ0EwSC9BWEVnQ1J0QkFuUnFJUU1nQVVFZ2FpRUpRUUFoQlFKQUFrQURRQ0FGUVFKSElBWWdBMGx4QkVBZ0J5QUdOZ0lBSUFJZ0RDQUdJQU1nQnlBQklBa2dDaUFDS0FJQUtBSU1RUTl4UVk0RGFoRU9BQ0lGUVFKR0lBWWdCeWdDQUVaeURRSWdBU0VHQTBBZ0JpQUtLQUlBU1FSQUlBZ2dCaXdBQUJETUFTQUdRUUZxSVFZTUFRc0xJQWNvQWdBaEJnd0JDd3NNQVFzUUFBc0NmeUFJS0FJQUlBZ2dDQ3dBQzBFQVNCc2lBeUVOSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdBR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXRCQURZQ0JDQUxRZHlnQVRZQ0FDQU5DeEJnSUFOcUlnVWhCaUFCUVlBQmFpRUpRUUFoQWdKQUFrQURRQ0FDUVFKSElBTWdCVWx4UlEwQklBY2dBellDQUNBTElBd2dBeUFEUVNCcUlBVWdCaUFEYTBFZ1Noc2dCeUFCSUFrZ0NpQUxLQUlBS0FJUVFROXhRWTREYWhFT0FDSUNRUUpHSUFNZ0J5Z0NBRVp5UlFSQUlBRWhBd05BSUFNZ0NpZ0NBRWtFUUNBQUlBTW9BZ0FRamdJZ0EwRUVhaUVEREFFTEN5QUhLQUlBSVFNTUFRc0xFQUFNQVFzZ0NCQkhJQVFrQmdzTGdBSUJBbjhqQmlFQkl3WkJFR29rQmlBQlFnQTNBZ0FnQVVFQU5nSUlBMEFnQmtFRFJ3UkFJQVpCQW5RZ0FXcEJBRFlDQUNBR1FRRnFJUVlNQVFzTElBVW9BZ0FnQlNBRkxBQUxJZ05CQUVnaUJCc2lBaUFGS0FJRUlBTkIvd0Z4SUFRYmFpRURJQUloQlFOQUlBVWdBMGtFUUNBQklBVXNBQUFRekFFZ0JVRUJhaUVGREFFTEN3Si9JQUVvQWdBZ0FTQUJMQUFMUVFCSUd5SUNJUWNnQUVJQU53SUFJQUJCQURZQ0NFRUFJUU1EUUNBRFFRTkhCRUFnQTBFQ2RDQUFha0VBTmdJQUlBTkJBV29oQXd3QkN3c2dCd3NRWUNBQ2FpRURBMEFnQWlBRFNRUkFJQUFnQWl3QUFCRE1BU0FDUVFGcUlRSU1BUXNMSUFFUVJ5QUJKQVlMd2dVQkVuOGpCaUVHSXdaQjRBTnFKQVlnQmtITUEyb2lDeUFERURzZ0MwR2d6Z01RT2lFTUlBVXNBQXNpQjBFQVNDRUFJQVVvQWdRZ0IwSC9BWEVnQUJzRWZ5QUZLQUlBSUFVZ0FCc29BZ0FnREVFdElBd29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQVJnVkJBQXNoRGlBR1FkUURhaUVQSUFaQnlBTnFJUkFnQmtIRUEyb2hFU0FHUWF3RGFpRUhJQVpCb0FOcUlRZ2dCa0djQTJvaENTQUdRYmdEYWlJS1FnQTNBZ0FnQ2tFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXBxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFIUWdBM0FnQWdCMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBZHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUlRZ0EzQWdBZ0NFRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFocVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBQ0lBNGdDeUFQSUJBZ0VTQUtJQWNnQ0NBSkVLTUVJQVVzQUFzaUFFRUFTQ0VTSUFVb0FnUWdBRUgvQVhFZ0Voc2lFeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUJhaUFUSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUNhZ3NoRmlBR0lRQWdBaUFVSUJacWFpSUNRZVFBU3dSQUlBSkJBblFRUkNJQUlRSWdBQVJBSUFBaERTQUNJUlVGRUFBTEJTQUFJUTBMSUEwZ0JrR1lBMm9nQmtHVUEyb2dBeWdDQkNBRktBSUFJQVVnRWhzaUFDQVRRUUowSUFCcUlBd2dEaUFQSUJBb0FnQWdFU2dDQUNBS0lBY2dDQ0FKRUtJRUlBWWdBU2dDQURZQ2tBTWdCaWdDbUFNaEFDQUdLQUtVQXlFQklBWkIwQU5xSWdJZ0JpZ0NrQU0yQWdBZ0FpQU5JQUFnQVNBRElBUVFwUUVoRnlBVkJFQWdGUkE0Q3lBSUVFY2dCeEJISUFvUVJ5QUxFRHdnQmlRR0lCY0x1QVlCRlg4akJpRUdJd1pCNEFkcUpBWWdCa0dJQjJvaENDQUdRWkFEYWlFQUlBWkIyQWRxSWdrZ0JrR2dCbW9pQnpZQ0FDQUdRWkFIYWlJTklBVTVBd0FnQjBIa0FFSFNuZ01nRFJDakFpSUhRZU1BU3dSQUVGd2hBQ0FJSUFVNUF3QWdDU0FBUWRLZUF5QUlFSnNCSVFBZ0NTZ0NBQ0lJUlFSQUVBQUxJQUJCQW5RUVJDSUhJUW9nQndSQUlBY2hEQ0FBSVFzZ0NpRVFJQWdoRVFVUUFBc0ZJQUFoRENBSElRc0xJQVpCMUFkcUlnNGdBeEE3SUE1Qm9NNERFRG9pRWlnQ0FDZ0NNQ0VBSUJJZ0NTZ0NBQ0lISUFjZ0Myb2dEQ0FBUVE5eFFZb0NhaEVKQUJvZ0N3Ui9JQWtvQWdBc0FBQkJMVVlGUVFBTElSTWdCa0hjQjJvaEZDQUdRZEFIYWlFVklBWkJ6QWRxSVJZZ0JrRzBCMm9oQnlBR1FhZ0hhaUVJSUFaQnBBZHFJUWtnQmtIQUIyb2lDa0lBTndJQUlBcEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0IwSUFOd0lBSUFkQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FIYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ0VJQU53SUFJQWhCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUlha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dBaUFUSUE0Z0ZDQVZJQllnQ2lBSElBZ2dDUkNqQkNBTElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFGcUlBc2dDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFKcUN5RVpJQVloQUNBQ0lCY2dHV3BxSWdKQjVBQkxCRUFnQWtFQ2RCQkVJZ0FoQWlBQUJFQWdBQ0VQSUFJaEdBVVFBQXNGSUFBaER3c2dEeUFHUWFBSGFpQUdRWndIYWlBREtBSUVJQXdnQzBFQ2RDQU1haUFTSUJNZ0ZDQVZLQUlBSUJZb0FnQWdDaUFISUFnZ0NSQ2lCQ0FHSUFFb0FnQTJBcGdISUFZb0FxQUhJUUFnQmlnQ25BY2hBU0FOSUFZb0FwZ0hOZ0lBSUEwZ0R5QUFJQUVnQXlBRUVLVUJJUm9nR0FSQUlCZ1FPQXNnQ0JCSElBY1FSeUFLRUVjZ0RoQThJQkFFUUNBUUVEZ0xJQkVFUUNBUkVEZ0xJQVlrQmlBYUM3d0ZBUkovSXdZaEJpTUdRYkFCYWlRR0lBWkJtQUZxSWdzZ0F4QTdJQXRCZ000REVEb2hEQ0FGTEFBTElnZEJBRWdoQUNBRktBSUVJQWRCL3dGeElBQWJCSDhnQlNnQ0FDQUZJQUFiTFFBQUlBeEJMU0FNS0FJQUtBSWNRVDl4UVlvQmFoRUNBRUgvQVhGR0JVRUFDeUVPSUFaQnBBRnFJUThnQmtHaEFXb2hFQ0FHUWFBQmFpRVJJQVpCZ0FGcUlRY2dCa0gwQUdvaENDQUdRZkFBYWlFSklBWkJqQUZxSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0RpQUxJQThnRUNBUklBb2dCeUFJSUFrUXBRUWdCU3dBQ3lJQVFRQklJUklnQlNnQ0JDQUFRZjhCY1NBU0d5SVRJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRRnFJQk1nQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRSnFDeUVXSUFZaEFDQUNJQlFnRm1wcUlnSkI1QUJMQkVBZ0FoQkVJZ0FoQWlBQUJFQWdBQ0VOSUFJaEZRVVFBQXNGSUFBaERRc2dEU0FHUWV3QWFpQUdRZWdBYWlBREtBSUVJQVVvQWdBZ0JTQVNHeUlBSUFBZ0Uyb2dEQ0FPSUE4Z0VDd0FBQ0FSTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nSmtJQVlvQW13aEFDQUdLQUpvSVFFZ0JrR2NBV29pQWlBR0tBSmtOZ0lBSUFJZ0RTQUFJQUVnQXlBRUVKY0JJUmNnRlFSQUlCVVFPQXNnQ0JCSElBY1FSeUFLRUVjZ0N4QThJQVlrQmlBWEM2OEdBUlYvSXdZaEJpTUdRYUFEYWlRR0lBWkJ5QUpxSVFnZ0JrSHdBR29oQUNBR1FaQURhaUlKSUFaQjRBRnFJZ2MyQWdBZ0JrSFFBbW9pRFNBRk9RTUFJQWRCNUFCQjBwNERJQTBRb3dJaUIwSGpBRXNFUUJCY0lRQWdDQ0FGT1FNQUlBa2dBRUhTbmdNZ0NCQ2JBU0VBSUFrb0FnQWlDRVVFUUJBQUN5QUFFRVFpQnlFS0lBY0VRQ0FISVF3Z0FDRUxJQW9oRUNBSUlSRUZFQUFMQlNBQUlRd2dCeUVMQ3lBR1FZd0RhaUlPSUFNUU95QU9RWURPQXhBNkloSW9BZ0FvQWlBaEFDQVNJQWtvQWdBaUJ5QUhJQXRxSUF3Z0FFRVBjVUdLQW1vUkNRQWFJQXNFZnlBSktBSUFMQUFBUVMxR0JVRUFDeUVUSUFaQm1BTnFJUlFnQmtHVkEyb2hGU0FHUVpRRGFpRVdJQVpCOUFKcUlRY2dCa0hvQW1vaENDQUdRZVFDYWlFSklBWkJnQU5xSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0V5QU9JQlFnRlNBV0lBb2dCeUFJSUFrUXBRUWdDeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUJhaUFMSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUNhZ3NoR1NBR0lRQWdBaUFYSUJscWFpSUNRZVFBU3dSQUlBSVFSQ0lBSVFJZ0FBUkFJQUFoRHlBQ0lSZ0ZFQUFMQlNBQUlROExJQThnQmtIZ0Ftb2dCa0hjQW1vZ0F5Z0NCQ0FNSUFzZ0RHb2dFaUFUSUJRZ0ZTd0FBQ0FXTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nTFlBaUFHS0FMZ0FpRUFJQVlvQXR3Q0lRRWdEU0FHS0FMWUFqWUNBQ0FOSUE4Z0FDQUJJQU1nQkJDWEFTRWFJQmdFUUNBWUVEZ0xJQWdRUnlBSEVFY2dDaEJISUE0UVBDQVFCRUFnRUJBNEN5QVJCRUFnRVJBNEN5QUdKQVlnR2d2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZmpQQXhBNklnRW9BZ0FvQWl3RklBRkI4TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEWUNBQ0FOQ3lBTEVHNGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU5nSUFJQWNnQ3hCdUlBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEWUNBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBMkFnQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURZQ0FDQVBDeUFMRUc0Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBTmdJQUlBWWdDeEJ1SUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMlFJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQVNFRUlBWkIvd0Z4Q3lFRklBSWdBV3NpQ0VFQ2RTRUpJQWdFUUFKQUlBY0VmeUFBS0FJRUlRWWdBQ2dDQUFVZ0JrSC9BWEVoQmlBQUN5SUhJUWdnQVNBR1FRSjBJQWRxU1NBSUlBRk5jUVJBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBeUFCSUFJUXh3UWdBQ0FES0FJQUlBTWdBeXdBQ3lJQVFRQklJZ0ViSUFNb0FnUWdBRUgvQVhFZ0FSc1E0UWtnQXhCSERBRUxJQVFnQldzZ0NVa0VRQ0FBSUFRZ0JTQUphaUFFYXlBRklBVVFrUVFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lBRlFRSjBhaUVFQTBBZ0FTQUNSd1JBSUFRZ0FSQnVJQVJCQkdvaEJDQUJRUVJxSVFFTUFRc0xJQU5CQURZQ0FDQUVJQU1RYmlBRklBbHFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDd3NMSUFNa0JndXdCQUVJZnlNR0lRQWpCa0d3QTJva0JpQUFRYUFEYWlJSUlBQTJBZ0FnQ0VHUkFUWUNCQ0FBUVpBRGFpSUxJQVFRT3lBTFFhRE9BeEE2SVFjZ0FFR3NBMm9pQ2tFQU9nQUFJQUFnQWlnQ0FDSUpOZ0tVQXlBRUtBSUVJUXdnQUVHb0Eyb2lCQ0FBS0FLVUF6WUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUVpnRGFpQUFRWkFEYWhDbUJBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBMkFnQWdEUXNnQkJCdUlBWkJBRFlDQkFVZ0JFRUFOZ0lBSUFZZ0JCQnVJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBRUk0Q0N5QUhRVEFnQnlnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQkNBQUtBS1lBeUlIUVh4cUlRb2dDQ2dDQUNFREEwQUNRQ0FESUFwUERRQWdBeWdDQUNBRVJ3MEFJQU5CQkdvaEF3d0JDd3NnQmlBRElBY1FyQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdDVVVOQUNBSktBSU1JZ1FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBMFVOQWdzTUFnc2dBdzBBREFFTElBVWdCU2dDQUVFQ2NqWUNBQXNnQVNnQ0FDRU9JQXNRUENBSUtBSUFJUUVnQ0VFQU5nSUFJQUVFUUNBQklBZ29BZ1JCL3dGeFFhd0RhaEVCQUFzZ0FDUUdJQTRMb0FVQkMzOGpCaUVISXdaQjBBUnFKQVlnQjBHb0JHb2hEaUFISVE4Z0IwRzRCR29pQ1NBSFFmQUFhaUlLTmdJQUlBbEJrUUUyQWdRZ0IwR3dCR29pRFNBRUVEc2dEVUdnemdNUU9pRUFJQWRCd0FScUlneEJBRG9BQUNBSElBSW9BZ0EyQXF3RUlBUW9BZ1FoQ3lBSFFZQUVhaUlFSUFjb0Fxd0VOZ0lBSUFFZ0JDQURJQTBnQ3lBRklBd2dBQ0FKSUFkQnRBUnFJQXBCa0FOcUVLWUVCRUFnQUVIb25RTkI4cDBESUFRZ0FDZ0NBQ2dDTUVFUGNVR0tBbW9SQ1FBYUlBY29BclFFSWdzZ0NTZ0NBQ0lLYXlJQVFZZ0RTZ1JBSUFCQkFuWkJBbW9RUkNJQUlRTWdBQVJBSUFBaENDQURJUkFGRUFBTEJTQVBJUWdMSUF3c0FBQUVRQ0FJUVMwNkFBQWdDRUVCYWlFSUN5QUVRU2hxSVFNZ0JDRU1BMEFnQ2lBTFNRUkFJQW9vQWdBaEN5QUVJUUFEUUFKQUlBQWdBMFlFUUNBRElRQU1BUXNnQUNnQ0FDQUxSd1JBSUFCQkJHb2hBQXdDQ3dzTElBZ2dBQ0FNYTBFQ2RVSG9uUU5xTEFBQU9nQUFJQXBCQkdvaENpQUlRUUZxSVFnZ0J5Z0N0QVFoQ3d3QkN3c2dDRUVBT2dBQUlBNGdCallDQUNBUFFZV2RBeUFPRUlNQlFRRkhCRUFRQUFzZ0VBUkFJQkFRT0FzTElBRW9BZ0FpQUFSL0lBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lCQ0FBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFlalBBeEE2SWdFb0FnQW9BaXdGSUFGQjRNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTZBQUFnREFzZ0N4QmZJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEb0FBQ0FJSUFzUVh5QUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURvQUFDQU5DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRG9BQUNBUEN5QUxFRjhnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFZZ0N4QmZJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyd0lCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdWQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJDaUVFSUFWQi93RnhDeUVHSUFJZ0FXc2lDQVJBQWtBZ0J3Ui9JQUFvQWdRaEJTQUFLQUlBQlNBRlFmOEJjU0VGSUFBTElnY2hDU0FCSUFVZ0IycEpJQWtnQVUxeEJFQWdBMElBTndJQUlBTkJBRFlDQ0NBRElBRWdBaEQrQXlBQUlBTW9BZ0FnQXlBRExBQUxJZ0JCQUVnaUFSc2dBeWdDQkNBQVFmOEJjU0FCR3hEakNTQURFRWNNQVFzZ0JDQUdheUFJU1FSQUlBQWdCQ0FHSUFocUlBUnJJQVlnQmhEZEFnc2dBaUFHSUFGcmFpRUhJQVlnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSWdWcUlRUURRQ0FCSUFKSEJFQWdCQ0FCRUY4Z0JFRUJhaUVFSUFGQkFXb2hBUXdCQ3dzZ0EwRUFPZ0FBSUFVZ0Iyb2dBeEJmSUFZZ0NHb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xDd3NnQXlRR0M3VUVBUWgvSXdZaEFDTUdRWUFCYWlRR0lBQkI4QUJxSWdnZ0FEWUNBQ0FJUVpFQk5nSUVJQUJCNUFCcUlnc2dCQkE3SUF0QmdNNERFRG9oQnlBQVFmd0FhaUlLUVFBNkFBQWdBQ0FDS0FJQUlnazJBbWdnQkNnQ0JDRU1JQUJCK0FCcUlnUWdBQ2dDYURZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRZXdBYWlBQVFlUUFhaENvQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUE2QUFBZ0RRc2dCQkJmSUFaQkFEWUNCQVVnQkVFQU9nQUFJQVlnQkJCZklBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFFTXdCQ3lBSFFUQWdCeWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCQ0FBS0FKc0lnZEJmMm9oQ2lBSUtBSUFJUU1EUUFKQUlBTWdDazhOQUNBRExRQUFJQVJCL3dGeFJ3MEFJQU5CQVdvaEF3d0JDd3NnQmlBRElBY1FzQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRUZJQUVvQWdCRkN3VkJBUXNoQXdKQUFrQUNRQ0FKUlEwQUlBa29BZ3dpQkNBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFORkRRSUxEQUlMSUFNTkFBd0JDeUFGSUFVb0FnQkJBbkkyQWdBTElBRW9BZ0FoRGlBTEVEd2dDQ2dDQUNFQklBaEJBRFlDQUNBQkJFQWdBU0FJS0FJRVFmOEJjVUdzQTJvUkFRQUxJQUFrQmlBT0Mvc1RBaEYvQVh3akJpRVVJd1pCRUdva0JpQVVJUkFnQVVFQ0VEa2hEU0FDUVFJUU9TRVBJQVFvQWdBaUJ5RUNJQTBnRDBGL2FpSVJiRUVCZENBSGFpRUZBMEFnQ3lBTlNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FMUVFGcUlRc01BUXNMSUFjaEFpQU5RWDlxSWhKQkFYUWdCMm9oQlVFQUlRc0RRQ0FMSUE5SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTlFRRjBJQUpxSVFJZ0RVRUJkQ0FGYWlFRklBdEJBV29oQ3d3QkN3c2dCRUdRZ01nQWFpRUNRUUFnRFdzaEV5QUFJQUZCQVhSQkFtcHFJUTVCQVNFTVFRQWhCU0FOUVFGcUlnQWdCQ2dDQkdvaEN5QUFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQU1JQkZPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFa2dFUUNBT0xRQUFJQU5LQkVBQ1FDQUxRWDg2QUFBZ0UwRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTUlBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUlBdEJBRG9BQUFzZ0RrRUNhaUVPSUF0QkFXb2hDeUFKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUE1cVFRUnFJUTRnREVFQmFpRU1JQUFoQlNBTFFRSnFJUXNnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUJBUVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUxSZ1JBSUFCQkFXb2hBUVVnQUNFQklBdEJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0RUWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRHpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGcU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FXb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGU0FRSkFZZ0ZRdWVCUUVMZnlNR0lRY2pCa0dBQW1va0JpQUhRZGdCYWlFT0lBY2hEeUFIUWVnQmFpSUpJQWRCOEFCcUlnbzJBZ0FnQ1VHUkFUWUNCQ0FIUWVBQmFpSU5JQVFRT3lBTlFZRE9BeEE2SVFBZ0IwSDZBV29pREVFQU9nQUFJQWNnQWlnQ0FEWUMzQUVnQkNnQ0JDRUxJQWRCOEFGcUlnUWdCeWdDM0FFMkFnQWdBU0FFSUFNZ0RTQUxJQVVnRENBQUlBa2dCMEhrQVdvZ0NrSGtBR29RcUFRRVFDQUFRZnFjQTBHRW5RTWdCQ0FBS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQnlnQzVBRWlDeUFKS0FJQUlncHJJZ0JCNGdCS0JFQWdBRUVDYWhCRUlnQWhBeUFBQkVBZ0FDRUlJQU1oRUFVUUFBc0ZJQThoQ0FzZ0RDd0FBQVJBSUFoQkxUb0FBQ0FJUVFGcUlRZ0xJQVJCQ21vaEF5QUVJUXdEUUNBS0lBdEpCRUFnQ2l3QUFDRUxJQVFoQUFOQUFrQWdBQ0FEUmdSQUlBTWhBQXdCQ3lBQUxBQUFJQXRIQkVBZ0FFRUJhaUVBREFJTEN3c2dDQ0FBSUF4clFmcWNBMm9zQUFBNkFBQWdDa0VCYWlFS0lBaEJBV29oQ0NBSEtBTGtBU0VMREFFTEN5QUlRUUE2QUFBZ0RpQUdOZ0lBSUE5QmhaMERJQTRRZ3dGQkFVY0VRQkFBQ3lBUUJFQWdFQkE0Q3dzZ0FTZ0NBQ0lBQkg4Z0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVVnQVNnQ0FFVUxCVUVCQ3lFREFrQUNRQUpBSUFJb0FnQWlBRVVOQUNBQUtBSU1JZ1FnQUNnQ0VFWUVmeUFBSUFBb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF1VEFRRUNmeU1HSVFZakJrR0FBV29rQmlBR1FmUUFhaUlISUFaQjVBQnFOZ0lBSUFBZ0JpQUhJQU1nQkNBRkVLd0VJQVpCNkFCcUlnTkNBRGNEQUNBR1FmQUFhaUlFSUFZMkFnQWdBaWdDQUNBQmEwRUNkU0VGSUFBb0FnQVFZaUVBSUFFZ0JDQUZJQU1RL2dJaEF5QUFCRUFnQUJCaUdnc2dBMEYvUmdSQUVBQUZJQUlnQTBFQ2RDQUJhallDQUNBR0pBWUxDN0VCQUNNR0lRSWpCa0dnQTJva0JpQUNRWkFEYWlJRElBSkJrQU5xTmdJQUlBQkJDR29nQWlBRElBUWdCU0FHRUxRS0lBTW9BZ0FoQlNBQ0lRTWdBU2dDQUNFQUEwQWdBeUFGUndSQUlBTW9BZ0FoQVNBQUJIOUJBQ0FBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFnQVNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUVJxTmdJWUlBUWdBVFlDQUNBQkMwRi9FRUViQlVFQUN5RUFJQU5CQkdvaEF3d0JDd3NnQWlRR0lBQUx1UUVBSXdZaEFpTUdRZkFBYWlRR0lBSkI1QUJxSWdNZ0FrSGtBR28yQWdBZ0FFRUlhaUFDSUFNZ0JDQUZJQVlRckFRZ0F5Z0NBQ0VGSUFJaEF5QUJLQUlBSVFBRFFDQURJQVZIQkVBZ0F5d0FBQ0VCSUFBRWYwRUFJQUFnQUNnQ0dDSUVJQUFvQWh4R0JIOGdBQ2dDQUNnQ05DRUVJQUFnQVJCQ0lBUkJQM0ZCaWdGcUVRSUFCU0FBSUFSQkFXbzJBaGdnQkNBQk9nQUFJQUVRUWd0QmZ4QkJHd1ZCQUFzaEFDQURRUUZxSVFNTUFRc0xJQUlrQmlBQUM0MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUFrQWdBU2dDQUNJRUJFQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FGQkVBTUJBVU1Bd3NBQ3dzZ0JVVUVRRUVBSVFRTUFnc0xJQUlnQWlnQ0FFRUdjallDQUF3QkN5QURJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUVIL0FYRkJKVWNFUUNBQ0lBSW9BZ0JCQkhJMkFnQU1BUXNnQUNnQ0FDSURLQUlNSWdVZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFGUVFScU5nSU1JQVVvQWdBYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBRFFNTERBRUxJQUJGRFFFTElBSWdBaWdDQUVFQ2NqWUNBQXNMVWdFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtUUVoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUdVY1dvMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBUkNaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUVIU0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVDFJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMcXdJQkJIeEVBQUFBQUFBQThEOGdBU3NER0NJREVPY0VJZ1NoSVFJZ0F4RG1CQ0VESUFBZ0JDQUJLd01BSWdVZ0JhSWdBcUtnT1FNQUlBQWdBaUFCS3dNQUlBRXJBd2lpb2lBRElBRXJBeENpb1RrRENDQUFJQUlnQVNzREFDQUJLd01Rb3FJZ0F5QUJLd01Jb3FBNUF4QWdBQ0FCS3dNZ09RTVlJQUFnQWlBQkt3TUlJQUVyQXdDaW9pQURJQUVyQXhDaW9Ea0RJQ0FBSUFRZ0FpQUJLd01JSWdVZ0JhS2lvRGtES0NBQUlBSWdBU3NEQ0NBQkt3TVFvcUlnQXlBQkt3TUFvcUU1QXpBZ0FDQUJLd01vT1FNNElBQkJRR3NnQWlBQkt3TVFJQUVyQXdDaW9pQURJQUVyQXdpaW9Ua0RBQ0FBSUFJZ0FTc0RFQ0FCS3dNSW9xSWdBeUFCS3dNQW9xQTVBMGdnQUNBRUlBSWdBU3NERUNJQ0lBS2lvcUE1QTFBZ0FDQUJLd013T1FOWUMrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNWQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDL1lEQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUZBa0FDUUNBQktBSUFJZ1JGRFFBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVZGRFFNTERBRUxJQVVFZjBFQUlRUU1BZ1ZCQUFzaEJBc2dBMEdBd0FBZ0FDZ0NBQ0lGS0FJTUlnWWdCU2dDRUVZRWZ5QUZJQVVvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUN5QURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQkdvMkFnd2dCU2dDQUJvTERBRUxDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd1d0FRRUNmQ0FBSUFFckF3QWlBeUFEb2lBQkt3TUlJZ0lnQXFLZ0lBRXJBeEFpQWlBQ29xQWlBa1FBQUFBQUFBQUFBR0VFZkNBQVJBQUFBQUFBQVBBL09RTUFJQUJFQUFBQUFBQUFBQUE1QXdoRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFBVWdBQ0FESUFLZklnS2pPUU1BSUFBZ0FTc0RDQ0FDb3prRENDQUJLd01RSUFLakN6a0RFQ0FBSUFJNUF4Z2dBQ0FCS3dNWU9RTWdJQUFnQVNzRElEa0RLQ0FBSUFFckF5ZzVBekFMOUFFQkFuOUJrTUFETEFBQVJRUkFRWkRBQXhCd0JFQkJzTHNESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCMkx3RFJ3MEFDMEdRd0FNUWJ3c0xRYkM3QTBHUW1nRVFWa0c4dXdOQnJKb0JFRlpCeUxzRFFjaWFBUkJXUWRTN0EwSG9tZ0VRVmtIZ3V3TkJrSnNCRUZaQjdMc0RRYlNiQVJCV1FmaTdBMEhRbXdFUVZrR0V2QU5COUpzQkVGWkJrTHdEUVlTY0FSQldRWnk4QTBHVW5BRVFWa0dvdkFOQnBKd0JFRlpCdEx3RFFiU2NBUkJXUWNDOEEwSEVuQUVRVmtITXZBTkIxSndCRUZZTDJBSUJBbjlCZ01BRExBQUFSUVJBUVlEQUF4QndCRUJCa0xrRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQnNMc0RSdzBBQzBHQXdBTVFid3NMUVpDNUEwR0lsZ0VRVmtHY3VRTkJxSllCRUZaQnFMa0RRY3lXQVJCV1FiUzVBMEhrbGdFUVZrSEF1UU5CL0pZQkVGWkJ6TGtEUVl5WEFSQldRZGk1QTBHZ2x3RVFWa0hrdVFOQnRKY0JFRlpCOExrRFFkQ1hBUkJXUWZ5NUEwSDRsd0VRVmtHSXVnTkJtSmdCRUZaQmxMb0RRYnlZQVJCV1FhQzZBMEhnbUFFUVZrR3N1Z05COEpnQkVGWkJ1TG9EUVlDWkFSQldRY1M2QTBHUW1RRVFWa0hRdWdOQi9KWUJFRlpCM0xvRFFhQ1pBUkJXUWVpNkEwR3dtUUVRVmtIMHVnTkJ3SmtCRUZaQmdMc0RRZENaQVJCV1FZeTdBMEhnbVFFUVZrR1l1d05COEprQkVGWkJwTHNEUVlDYUFSQldDM3dCQW45QjhMOERMQUFBUlFSQVFmQy9BeEJ3QkVCQjhMZ0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJpTGtEUncwQUMwSHd2d01RYndzTFFmQzRBMEh3bFFFUVZrSDh1QU5CL0pVQkVGWUxSQUJCeUw4RExBQUFSUVJBUWNpL0F4QndCRUJCak04RFFnQTNBZ0JCbE04RFFRQTJBZ0JCak04RFFhU1VBVUdrbEFFUXRBRVF5d0ZCeUw4REVHOExDMEdNendNTFJBQkIwTDhETEFBQVJRUkFRZEMvQXhCd0JFQkJtTThEUWdBM0FnQkJvTThEUVFBMkFnQkJtTThEUWNpVUFVSElsQUVRdEFFUXl3RkIwTDhERUc4TEMwR1l6d01MUkFCQjJMOERMQUFBUlFSQVFkaS9BeEJ3QkVCQnBNOERRZ0EzQWdCQnJNOERRUUEyQWdCQnBNOERRZXlVQVVIc2xBRVF0QUVReXdGQjJMOERFRzhMQzBHa3p3TUxSQUJCNEw4RExBQUFSUVJBUWVDL0F4QndCRUJCc004RFFnQTNBZ0JCdU04RFFRQTJBZ0JCc004RFFaeVZBVUdjbFFFUXRBRVF5d0ZCNEw4REVHOExDMEd3endNTE1RQkI2TDhETEFBQVJRUkFRZWkvQXhCd0JFQVF4d3BCdk04RFFmQzRBellDQUVIb3Z3TVFid3NMUWJ6UEF5Z0NBQXN4QUVINHZ3TXNBQUJGQkVCQitMOERFSEFFUUJER0NrSEF6d05Ca0xrRE5nSUFRZmkvQXhCdkN3dEJ3TThES0FJQUN6RUFRWWpBQXl3QUFFVUVRRUdJd0FNUWNBUkFFTVVLUWNUUEEwR3d1d00yQWdCQmlNQURFRzhMQzBIRXp3TW9BZ0FMZ2d3QkJYOGpCaUVISXdaQmtBRnFKQVlnQjBId0FHb2hDaUFIUVVCcklRc2dCRUVBTmdJQUlBZEJnQUZxSWdnZ0F4QTdJQWhCb000REVEb2hDU0FJRUR3Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFaQkdIUkJHSFZCSldzT1ZSWVhGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y0FBUmNFRndVWEJnY1hGeGNLRnhjWEZ3NFBFQmNYRnhNVkZ4Y1hGeGNYRndBQkFnTURGeGNCRndnWEZ3a0xGd3dYRFJjTEZ4Y1JFaFFYQ3lBSElBSW9BZ0EyQW53Z0NDQUhLQUo4TmdJQUlBQWdCVUVZYWlBQklBZ2dCQ0FKRUxFRURCY0xJQWNnQWlnQ0FEWUNlQ0FJSUFjb0FuZzJBZ0FnQUNBRlFSQnFJQUVnQ0NBRUlBa1FzQVFNRmdzZ0FFRUlhaUlHS0FJQUtBSU1JUWtnQmlBSlFmOEFjVUVJYWhFQUFDRUdJQWNnQVNnQ0FEWUNkQ0FISUFJb0FnQTJBbXdnQmlnQ0FDQUdJQVlzQUFzaUNVRUFTQ0lMR3lFQ0lBWW9BZ1FnQ1VIL0FYRWdDeHRCQW5RZ0Ftb2hCaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdBaUFHRUtNQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFTU1LREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFhRHdBRUhBOEFBUW93RTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQndQQUFRZUR3QUJDakFUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRDQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQkNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSREFDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkMvQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JDK0Nnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdlFvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSQzhDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIZzhBQkJqUEVBRUtNQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUVpEeEFFR2s4UUFRb3dFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUXVnb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCc1BFQVFkRHhBQkNqQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSQzVDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ2xCQUVnaUN4c2hBaUFHS0FJRUlBbEIvd0Z4SUFzYlFRSjBJQUpxSVFZZ0NpQUhLQUlRTmdJQUlBZ2dCeWdDRERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGSUFJZ0JoQ2pBVFlDQUF3RUN5QUhJQUlvQWdBMkFnZ2dDQ0FIS0FJSU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDdkJBd0RDeUFISUFJb0FnQTJBZ1FnQ0NBSEtBSUVOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQzRDZ3dDQ3lBSElBSW9BZ0EyQWdBZ0NDQUhLQUlBTmdJQUlBRWdDQ0FFSUFrUXR3b01BUXNnQkNBRUtBSUFRUVJ5TmdJQUN5QUJLQUlBQ3lFTUlBY2tCaUFNQzFrQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FGUVJScUlBRWdCeUFFSUFNUXJ3UWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkVHb2dBU0FISUFRZ0F4Q3dCQ0FCS0FJQUlRZ2dCaVFHSUFnTFd3RURmeU1HSVFZakJrRVFhaVFHSUFaQkJHb2lCeUFERURzZ0IwR2d6Z01RT2lFRElBY1FQQ0FHSUFJb0FnQTJBZ0FnQnlBR0tBSUFOZ0lBSUFBZ0JVRVlhaUFCSUFjZ0JDQURFTEVFSUFFb0FnQWhDQ0FHSkFZZ0NBdW5BUUVFZnlNR0lRY2pCa0VRYWlRR0lBQkJDR29pQmlnQ0FDZ0NGQ0VJSUFZZ0NFSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBZ1FnQnlBQ0tBSUFOZ0lBSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ0JzaEFTQUdLQUlFSUFKQi93RnhJQWdiUVFKMElBRnFJUUlnQjBFSWFpSUdJQWNvQWdRMkFnQWdCMEVNYWlJSUlBY29BZ0EyQWdBZ0FDQUdJQWdnQXlBRUlBVWdBU0FDRUtNQklRa2dCeVFHSUFrTFlBRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBQ0FCSUFJZ0F5QUVJQVZCMFBFQVFmRHhBQkNqQVNFSElBWWtCaUFIQzUwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdRRVFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFRURBSUxDeUFDSUFJb0FnQkJCbkkyQWdBTUFRc2dBeUFBS0FJQUlnVW9BZ3dpQmlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0Qi93RnhRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkhCRUFnQWlBQ0tBSUFRUVJ5TmdJQURBRUxJQUFvQWdBaUF5Z0NEQ0lGSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FBMERDd3dCQ3lBQVJRMEJDeUFDSUFJb0FnQkJBbkkyQWdBTEMxSUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUpvQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQmxIRnFOZ0lBQ3lBRkpBWUxZUUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFFUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkIwaHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFOVNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNXQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDNVFFQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUlBRW9BZ0FpQkVVTkFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRlJRMERDd3dCQ3lBRkJIOUJBQ0VFREFJRlFRQUxJUVFMSUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUZRZjhCY1VFWWRFRVlkVUYvVEEwQUlBTW9BZ2dnQlVFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJBV28yQWd3Z0JTd0FBQkJDR2dzTUFRc0xJQUFvQWdBaUF3Ui9JQU1vQWd3aUJTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBQUpBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTDhRUUJBWDhnQUVJQU53TUFJQUJDQURjRENDQUFRZ0EzQXhBZ0FFSUFOd01ZSUFCQ0FEY0RJQ0FBUWdBM0F5Z2dBRUlBTndNd0lBQkNBRGNET0NBQVFVQnJSQUFBQUFBQUFQQy9PUU1BSUFCQ0FEY0RTQ0FBUWdBM0ExQWdBRUlBTndOWUlBQkNBRGNEWUNBQVJBQUFBQUFBQVBBL09RTm9JQUJDQURjRGNDQUFRZ0EzQTNnZ0FFSUFOd09BQVNBQVFnQTNBNGdCSUFCQ0FEY0RrQUVnQUVJQU53T1lBU0FBUkFBQUFBQUFBUEEvT1FPZ0FTQUFRYWdCYWlJQlFnQTNBd0FnQVVJQU53TUlJQUZDQURjREVDQUJRZ0EzQXhnZ0FVSUFOd01nSUFGQ0FEY0RLQ0FCUWdBM0F6QWdBVUlBTndNNElBRkJRR3RDQURjREFDQUFSQUFBQUFBQUFQQy9PUVB3QVNBQVFnQTNBL2dCSUFCQ0FEY0RnQUlnQUVJQU53T0lBaUFBUWdBM0E1QUNJQUJDQURjRG1BSWdBRUlBTndPZ0FpQUFSQUFBQUFBQUFQQy9PUU9vQWlBQVFnQTNBN0FDSUFCQ0FEY0R1QUlnQUVJQU53UEFBaUFBUWdBM0E4Z0NJQUJFQUFBQUFBQUE4RDg1QTlBQ0lBQkIyQUpxSWdGQ0FEY0RBQ0FCUWdBM0F3Z2dBVUlBTndNUUlBRkNBRGNER0NBQlFnQTNBeUFnQVVJQU53TW9JQUZDQURjRE1DQUJRZ0EzQXpnZ0FVRkFhMElBTndNQUlBRkNBRGNEU0NBQlFnQTNBMUFnQVVJQU53TllJQUZDQURjRFlDQUJRZ0EzQTJnZ0FFUUFBQUFBQUFEd1B6a0R5QU1nQUVJQU53UFFBeUFBUWdBM0E5Z0RJQUJDQURjRDRBTWdBRUlBTndQb0F5QUFRZ0EzQS9BRElBQkNBRGNEK0FNZ0FFUUFBQUFBQUFEd1B6a0RnQVFnQUVJQU53T0lCQ0FBUWdBM0E1QUVJQUJDQURjRG1BUWdBRUlBTndPZ0JDQUFRZ0EzQTZnRUlBQkNBRGNEc0FRZ0FFUUFBQUFBQUFEd1B6a0R1QVFMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd2MEFRRUNmMEhBdndNc0FBQkZCRUJCd0w4REVIQUVRRUhBdHdNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIb3VBTkhEUUFMUWNDL0F4QnZDd3RCd0xjRFFmQ1hBeEJYUWN5M0EwSDNsd01RVjBIWXR3TkIvcGNERUZkQjVMY0RRWWFZQXhCWFFmQzNBMEdRbUFNUVYwSDh0d05CbVpnREVGZEJpTGdEUWFDWUF4QlhRWlM0QTBHcG1BTVFWMEdndUFOQnJaZ0RFRmRCckxnRFFiR1lBeEJYUWJpNEEwRzFtQU1RVjBIRXVBTkJ1WmdERUZkQjBMZ0RRYjJZQXhCWFFkeTRBMEhCbUFNUVZ3dllBZ0VDZjBHd3Z3TXNBQUJGQkVCQnNMOERFSEFFUUVHZ3RRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSEF0d05IRFFBTFFiQy9BeEJ2Q3d0Qm9MVURRZTZXQXhCWFFheTFBMEgybGdNUVYwRzR0UU5CLzVZREVGZEJ4TFVEUVlXWEF4QlhRZEMxQTBHTGx3TVFWMEhjdFFOQmo1Y0RFRmRCNkxVRFFaU1hBeEJYUWZTMUEwR1psd01RVjBHQXRnTkJvSmNERUZkQmpMWURRYXFYQXhCWFFaaTJBMEd5bHdNUVYwR2t0Z05CdTVjREVGZEJzTFlEUWNTWEF4QlhRYnkyQTBISWx3TVFWMEhJdGdOQnpKY0RFRmRCMUxZRFFkQ1hBeEJYUWVDMkEwR0xsd01RVjBIc3RnTkIxSmNERUZkQitMWURRZGlYQXhCWFFZUzNBMEhjbHdNUVYwR1F0d05CNEpjREVGZEJuTGNEUWVTWEF4QlhRYWkzQTBIb2x3TVFWMEcwdHdOQjdKY0RFRmNMZkFFQ2YwR2d2d01zQUFCRkJFQkJvTDhERUhBRVFFR0F0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUdZdFFOSERRQUxRYUMvQXhCdkN3dEJnTFVEUWVpV0F4QlhRWXkxQTBIcmxnTVFWd3RDQUVINHZnTXNBQUJGQkVCQitMNERFSEFFUUVISXpnTkNBRGNDQUVIUXpnTkJBRFlDQUVISXpnTkJ0WllEUWJXV0F4QmdFSDVCK0w0REVHOExDMEhJemdNTFFnQkJnTDhETEFBQVJRUkFRWUMvQXhCd0JFQkIxTTREUWdBM0FnQkIzTTREUVFBMkFnQkIxTTREUWI2V0EwRytsZ01RWUJCK1FZQy9BeEJ2Q3d0QjFNNERDMElBUVlpL0F5d0FBRVVFUUVHSXZ3TVFjQVJBUWVET0EwSUFOd0lBUWVqT0EwRUFOZ0lBUWVET0EwSEhsZ05CeDVZREVHQVFma0dJdndNUWJ3c0xRZURPQXd1cEFnRUdmQ0FCS3dNWUlBRXJBd0FpQ0NBQ0t3TUFJZ1NpSUFFckF3Z2dBaXNEQ0NJSG9xQWdBU3NERUNBQ0t3TVFJZ09pb0tBaEJTQUJLd000SUFRZ0FTc0RJS0lnQnlBQkt3TW9vcUFnQXlBQkt3TXdvcUNnSVFZZ0FTc0RXQ0FFSUFGQlFHc2lBaXNEQUNJRW9pQUhJQUVyQTBpaW9DQURJQUVyQTFDaW9LQWlBMFFBQUFBQUFBQUFBR0VFZjBGL0JTQUFJQWdnQTZJZ0JTQUVvcUVnQXlBRG9pSUVvemtEQUNBQUlBTWdBU3NEQ0tJZ0JTQUJLd05Jb3FFZ0JLTTVBd2dnQUNBRElBRXJBeENpSUFVZ0FTc0RVS0toSUFTak9RTVFJQUFnQXlBQkt3TWdvaUFHSUFJckF3Q2lvU0FFb3prREdDQUFJQU1nQVNzREtLSWdCaUFCS3dOSW9xRWdCS001QXlBZ0FDQURJQUVyQXpDaUlBWWdBU3NEVUtLaElBU2pPUU1vUVFBTEMwSUFRWkMvQXl3QUFFVUVRRUdRdndNUWNBUkFRZXpPQTBJQU53SUFRZlRPQTBFQU5nSUFRZXpPQTBIVGxnTkIwNVlERUdBUWZrR1F2d01RYndzTFFlek9Bd3N4QUVHWXZ3TXNBQUJGQkVCQm1MOERFSEFFUUJEa0NrSDR6Z05CZ0xVRE5nSUFRWmkvQXhCdkN3dEIrTTRES0FJQUN6RUFRYWkvQXl3QUFFVUVRRUdvdndNUWNBUkFFT01LUWZ6T0EwR2d0UU0yQWdCQnFMOERFRzhMQzBIOHpnTW9BZ0FMTVFCQnVMOERMQUFBUlFSQVFiaS9BeEJ3QkVBUTRncEJnTThEUWNDM0F6WUNBRUc0dndNUWJ3c0xRWURQQXlnQ0FBdjRDd0VGZnlNR0lRY2pCa0dRQVdva0JpQUhRZkFBYWlFS0lBZEJRR3NoQ3lBRVFRQTJBZ0FnQjBHQUFXb2lDQ0FERURzZ0NFR0F6Z01RT2lFSklBZ1FQQUovQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCa0VZZEVFWWRVRWxhdzVWRmhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRndBQkZ3UVhCUmNHQnhjWEZ3b1hGeGNYRGc4UUZ4Y1hFeFVYRnhjWEZ4Y1hBQUVDQXdNWEZ3RVhDQmNYQ1FzWERCY05Gd3NYRnhFU0ZCY0xJQWNnQWlnQ0FEWUNmQ0FJSUFjb0FudzJBZ0FnQUNBRlFSaHFJQUVnQ0NBRUlBa1F0Z1FNRndzZ0J5QUNLQUlBTmdKNElBZ2dCeWdDZURZQ0FDQUFJQVZCRUdvZ0FTQUlJQVFnQ1JDMUJBd1dDeUFBUVFocUlnWW9BZ0FvQWd3aENTQUdJQWxCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdKMElBY2dBaWdDQURZQ2JDQUdLQUlBSUFZZ0Jpd0FDeUlDUVFCSUlna2JJZ3NnQmlnQ0JDQUNRZjhCY1NBSkcyb2hBaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdDeUFDRUtRQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFT0VLREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFjV1lBMEhObUFNUXBBRTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnpaZ0RRZFdZQXhDa0FUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRmQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZUNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSRGRDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkRjQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JEYkNnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRMmdvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSRFpDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIVm1BTkI0SmdERUtRQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWVDWUEwSGxtQU1RcEFFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUTJBb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCNVpnRFFlMllBeENrQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSRFhDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNSc2lDeUFHS0FJRUlBSkIvd0Z4SUFrYmFpRUNJQW9nQnlnQ0VEWUNBQ0FJSUFjb0FndzJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JTQUxJQUlRcEFFMkFnQU1CQXNnQnlBQ0tBSUFOZ0lJSUFnZ0J5Z0NDRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1F0QVFNQXdzZ0J5QUNLQUlBTmdJRUlBZ2dCeWdDQkRZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRMWdvTUFnc2dCeUFDS0FJQU5nSUFJQWdnQnlnQ0FEWUNBQ0FCSUFnZ0JDQUpFTlVLREFFTElBUWdCQ2dDQUVFRWNqWUNBQXNnQVNnQ0FBc2hEQ0FISkFZZ0RBdFpBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0JVRVVhaUFCSUFjZ0JDQURFTFFFSUFFb0FnQWhDQ0FHSkFZZ0NBdGJBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0FDQUZRUkJxSUFFZ0J5QUVJQU1RdFFRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCZ000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCR0dvZ0FTQUhJQVFnQXhDMkJDQUJLQUlBSVFnZ0JpUUdJQWdMb2dFQkJIOGpCaUVISXdaQkVHb2tCaUFBUVFocUlnWW9BZ0FvQWhRaENDQUdJQWhCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdJRUlBY2dBaWdDQURZQ0FDQUdLQUlBSUFZZ0Jpd0FDeUlCUVFCSUlnSWJJZ2dnQmlnQ0JDQUJRZjhCY1NBQ0cyb2hBU0FIUVFocUlnSWdCeWdDQkRZQ0FDQUhRUXhxSWdZZ0J5Z0NBRFlDQUNBQUlBSWdCaUFESUFRZ0JTQUlJQUVRcEFFaENTQUhKQVlnQ1F0Z0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUFJQUVnQWlBRElBUWdCVUh0bUFOQjlaZ0RFS1FCSVFjZ0JpUUdJQWNMM3dVQ0EzOEdmQ01HSVFVakJrSGdCbW9rQmlBQklBSXJBeGdnQWlzREFDQURLd01Bb2lBQ0t3TUlJQU1yQXdnaUNLS2dJQUlyQXhBZ0F5c0RFQ0lKb3FDZ09RTUFJQUVnQWlzRE9DQUNLd01nSUFNckF3QWlCNklnQ0NBQ0t3TW9vcUFnQ1NBQ0t3TXdvcUNnT1FNSUlBRWdBaXNEV0NBSElBSkJRR3NpQkNzREFLSWdBaXNEU0NBREt3TUlJZ2lpb0NBSklBSXJBMUNpb0tBNUF4QWdCVUhBQkdvaUFTQUhJQUlyQXdBaUNxSTVBd0FnQVNBSUlBcWlPUU1JSUFFZ0NpQURLd01RSWdtaU9RTVFJQUVnQnlBQ0t3TUlJZ3VpT1FNWUlBRWdDQ0FMb2prRElDQUJJQWtnQzZJNUF5Z2dBU0FISUFJckF4QWlES0k1QXpBZ0FTQUlJQXlpT1FNNElBRkJRR3NnQ1NBTW9qa0RBQ0FCSUFvNUEwZ2dBU0FMT1FOUUlBRWdERGtEV0NBQklBY2dBaXNESUNJS29qa0RZQ0FCSUFnZ0NxSTVBMmdnQVNBSklBcWlPUU53SUFFZ0J5QUNLd01vSWd1aU9RTjRJQUVnQ0NBTG9qa0RnQUVnQVNBSklBdWlPUU9JQVNBQklBY2dBaXNETUNJTW9qa0RrQUVnQVNBSUlBeWlPUU9ZQVNBQklBa2dES0k1QTZBQklBRWdDamtEcUFFZ0FTQUxPUU93QVNBQklBdzVBN2dCSUFFZ0J5QUVLd01BSWdxaU9RUEFBU0FCSUFnZ0NxSTVBOGdCSUFFZ0NTQUtvamtEMEFFZ0FTQUhJQUlyQTBnaUM2STVBOWdCSUFFZ0NDQUxvamtENEFFZ0FTQUpJQXVpT1FQb0FTQUJJQWNnQWlzRFVDSUhvamtEOEFFZ0FTQUlJQWVpT1FQNEFTQUJJQWtnQjZJNUE0QUNJQUVnQ2prRGlBSWdBU0FMT1FPUUFpQUJJQWM1QTVnQ0lBVVE0QXBCQUNFQ0EwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJrY0VRQ0FDUVRCc0lBQnFJQU5CQTNScUlnWkVBQUFBQUFBQUFBQTVBd0JCQUNFRVJBQUFBQUFBQUFBQUlRY0RRQ0FFUVF4SEJFQWdCaUFISUFKQjRBQnNJQUZxSUFSQkEzUnFLd01BSUFSQk1Hd2dCV29nQTBFRGRHb3JBd0Npb0NJSE9RTUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBVWtCZ3ZjQVFFSGZ5TUdJUUFqQmtIUUFXb2tCaUFBUWNBQmFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUc0QVdvaUJpQUVOZ0lBSUFCQm9BRnFJZ1JCRkNBSElBVWdCaEIzSWdrZ0JHb2hCU0FFSUFVZ0FoQ0pBU0VISUFZZ0FoQTdJQVpCb000REVEb2hDQ0FHRUR3Z0NDZ0NBQ2dDTUNFS0lBZ2dCQ0FGSUFBZ0NrRVBjVUdLQW1vUkNRQWFJQUFnQVNnQ0FEWUN2QUVnQmlBQUtBSzhBVFlDQUNBR0lBQWdDVUVDZENBQWFpSUJJQWNnQkd0QkFuUWdBR29nQlNBSFJoc2dBU0FDSUFNUXBRRWhDeUFBSkFZZ0N3dTFBd0VQZnlNR0lRVWpCa0hnQW1va0JpQUZRYWdDYWlFTklBVkJtQUpxSVFBZ0JVR1FBbW9pQmtJbE53TUFJQVpCQVdwQjI1UURJQUlvQWdRUWxBSWhEaUFGUWRRQ2FpSUhJQVZCOEFGcUlnbzJBZ0FRWENFUElBVkJ3QUpxSVJBZ0JVR3dBbW9oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhERUVCSVJJRklBaEJBM1FRUkNJQUJFQWdBQ0lNSVJNRkVBQUxDeUFGUWRnQ2FpSUFJQUlRT3lBSklBY2dCaUFNSUFWQjBBSnFJQVZCekFKcUlBQVF1QVFnQUJBOElBVWdBU2dDQURZQ3lBSWdCU2dDMEFJaENDQUZLQUxNQWlFR0lBQWdCU2dDeUFJMkFnQWdBU0FBSUF3Z0NDQUdJQUlnQXhDbEFTSUFOZ0lBSUJKRkJFQWdFeEE0Q3lBUkVEZ2dCU1FHSUFBTHRRTUJEMzhqQmlFRkl3WkI0QUpxSkFZZ0JVR29BbW9oRFNBRlFaZ0NhaUVBSUFWQmtBSnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUhVQW1vaUJ5QUZRZkFCYWlJS05nSUFFRndoRHlBRlFjQUNhaUVRSUFWQnNBSnFJUXNnRGdSL0lBQWdBaWdDQ0RZQ0FDQUFJQVE1QXdnZ0NrRWVJQThnQmlBQUVIY0ZJQTBnQkRrREFDQUtRUjRnRHlBR0lBMFFkd3NpQUVFZFNnUkFFRndoQUNBT0JIOGdDeUFDS0FJSU5nSUFJQXNnQkRrRENDQUhJQUFnQmlBTEVKc0JCU0FRSUFRNUF3QWdCeUFBSUFZZ0VCQ2JBUXNoQUNBSEtBSUFJZ1lFUUNBQUlRZ2dCaUlSSVFrRkVBQUxCU0FBSVFnZ0J5Z0NBQ0VKQ3lBRklRQWdDU0FJSUFscUlnWWdBaENKQVNFSElBa2dDa1lFUUNBQUlReEJBU0VTQlNBSVFRTjBFRVFpQUFSQUlBQWlEQ0VUQlJBQUN3c2dCVUhZQW1vaUFDQUNFRHNnQ1NBSElBWWdEQ0FGUWRBQ2FpQUZRY3dDYWlBQUVMZ0VJQUFRUENBRklBRW9BZ0EyQXNnQ0lBVW9BdEFDSVFnZ0JTZ0N6QUloQmlBQUlBVW9Bc2dDTmdJQUlBRWdBQ0FNSUFnZ0JpQUNJQU1RcFFFaUFEWUNBQ0FTUlFSQUlCTVFPQXNnRVJBNElBVWtCaUFBQy9ZQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4UVJaeUlnaEJBV29oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkEzUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRISWhCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUlZ5UVFKMFFROXFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkMva0JBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJGMm9oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkFYUkJMSEpCQW5SQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRFdvaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSaHlRUUowUVF0cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQzlnQ0FRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpRUZJQUlvQWdSQkFYRUVRQ0FGSUFJUU95QUZRYWpPQXhBNklRQWdCUkE4SUFBb0FnQWhBaUFGSUFBZ0JBUi9JQUlvQWhnRklBSW9BaHdMUVQ5eFFiSUZhaEVEQUNBRktBSUFJZ0lnQlNBRkxBQUxJZ0JCQUVnYklRTURRQ0FGS0FJRUlBQkIvd0Z4SUFCQkdIUkJHSFZCQUVnaUFCdEJBblFnQWlBRklBQWJhaUFEUndSQUlBTW9BZ0FoQWlBQktBSUFJZ0FFUUNBQUtBSVlJZ1FnQUNnQ0hFWUVmeUFBSUFJZ0FDZ0NBQ2dDTkVFL2NVR0tBV29SQWdBRklBQWdCRUVFYWpZQ0dDQUVJQUkyQWdBZ0FndEJmeEJCQkVBZ0FVRUFOZ0lBQ3dzZ0EwRUVhaUVESUFVc0FBc2hBQ0FGS0FJQUlRSU1BUXNMSUFFb0FnQWhBQ0FGRUVjRklBQW9BZ0FvQWhnaEJ5QUdJQUVvQWdBMkFnQWdCU0FHS0FJQU5nSUFJQUFnQlNBQ0lBTWdCRUVCY1NBSFFSOXhRYUlDYWhFSUFDRUFDeUFHSkFZZ0FBdlRBUUVIZnlNR0lRQWpCa0hnQUdva0JpQUFRZEFBYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFSElBR29pQmlBRU5nSUFJQUJCTUdvaUJFRVVJQWNnQlNBR0VIY2lDU0FFYWlFRklBUWdCU0FDRUlrQklRY2dCaUFDRURzZ0JrR0F6Z01RT2lFSUlBWVFQQ0FJS0FJQUtBSWdJUW9nQ0NBRUlBVWdBQ0FLUVE5eFFZb0NhaEVKQUJvZ0FDQUJLQUlBTmdKTUlBWWdBQ2dDVERZQ0FDQUdJQUFnQUNBSmFpSUJJQWNnQkdzZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RbHdFaEN5QUFKQVlnQ3d2K0V3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQVFvQWdBaUJpRUhJQUVnQWtGL2FpSVFiRUVCZENBR2FpRUZBMEFnQ1NBQlNBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0IwRUNhaUVISUFsQkFXb2hDU0FGUVFKcUlRVU1BUXNMSUFZaEIwRUFJUWtnQVVGL2FpSVJRUUYwSUFacUlRVURRQ0FKSUFKSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBQlFRRjBJQWRxSVFjZ0NVRUJhaUVKSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUhRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlRNUJBU0VNUVFBaEF5QUFJQVFvQWdScUlRa2dBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdEQ0FRVGcwQ0lBTWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RTMEFBQ0FPTFFBQVNnUkFJQVpCQURzQkFDQUpRUUE2QUFBRkFrQWdDVUYvT2dBQUlCSkJBWFFnQm1vaUF5NEJBQ0lGUVFCS0JFQWdCaUFGT3dFQUlBVkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBTkJmbW91QVFBaUJTRUlJQVZCQUVvaEN5QURMZ0VDSWdOQkFFd0VRQ0FMQkVBZ0JpQUZPd0VBSUFoQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBJQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCa0YrYWk0QkFDSURRUUJLQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJREtBSUFJQXBPRFFJZ0F5QUtOZ0lBQlNBQVFmLy9BVW9OQmlBR0lBQkJBV29pQXpzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFOQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdBeUVBQ3d3QkN5QUxCRUFDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQmtGK2FpNEJBQ0lGUVFCTUJFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFwS0JFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdNZ0RDQURLQUlBYWpZQ0FBc0xJQTFCQVdvaERTQU9RUUZxSVE0Z0NVRUJhaUVKSUFwQkFXb2hDaUFHUVFKcUlRWU1BUXNMSUExQkFtb2hEU0FPUVFKcUlRNGdERUVCYWlFTUlBQWhBeUFKUVFKcUlRa2dCa0VFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEJVRUJJUUJCQVNFSklBY2hCZ05BSUFrZ0Ewd0VRQ0FKSUFZb0FnQWlEVVlFUUNBQVFRRnFJUWNGSUFBaEJ5QU5RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQUhJUUFnQ1VFQmFpRUpJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQVZCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFSEEwQWdCeUFBU0FSQUlBUkJqSUFJYWlBSFFRSjBJZ1pCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQVpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFaQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBWkJBM0pCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdjZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQWNvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdkQkEzUnFJZ1lnQmlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQWRCQVhKQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdaSUJFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFkdVVBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRkJGbklpQ0VFQmFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVNY2lFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkZYSkJEMnBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVYYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVzY2tFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVOYWlFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkdISkJEbXBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUwzUUlCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSVFVZ0FpZ0NCRUVCY1FSQUlBVWdBaEE3SUFWQmtNNERFRG9oQUNBRkVEd2dBQ2dDQUNFQ0lBVWdBQ0FFQkg4Z0FpZ0NHQVVnQWlnQ0hBdEJQM0ZCc2dWcUVRTUFJQVVvQWdBaUFpQUZJQVVzQUFzaUFFRUFTQnNoQXdOQUlBSWdCU0FBUVJoMFFSaDFRUUJJSWdJYklBVW9BZ1FnQUVIL0FYRWdBaHRxSUFOSEJFQWdBeXdBQUNFQ0lBRW9BZ0FpQUFSQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBb0FnQW9BalFoQkNBQUlBSVFRaUFFUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUUZxTmdJWUlBUWdBam9BQUNBQ0VFSUxRWDhRUVFSQUlBRkJBRFlDQUFzTElBTkJBV29oQXlBRkxBQUxJUUFnQlNnQ0FDRUNEQUVMQ3lBQktBSUFJUUFnQlJCSEJTQUFLQUlBS0FJWUlRY2dCaUFCS0FJQU5nSUFJQVVnQmlnQ0FEWUNBQ0FBSUFVZ0FpQURJQVJCQVhFZ0IwRWZjVUdpQW1vUkNBQWhBQXNnQmlRR0lBQUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRUwwRU5nSUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMrQkRjREFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1K0NBSVFmd1I4SXdZaENTTUdRUkJxSkFZZ0NVRUlhaUVJSUFBb0FnZ2lBeUFBS0FJRVJnUkFJQUVvQWdRZ0EwWUVRQ0FDS0FJRVFRRnFJQU5HQkVBQ1FDQURRWDVxSVF3RFFDQUhJQXhJQkVBZ0FTZ0NBQ0FIUVFOMGFpQUFLQUlBSUFNZ0IyeEJBM1JxSWdzZ0IwRURkR29yQXdBNUF3QWdDQ0FESUFkclFYOXFJZzQyQWdRZ0NDQUhRUUZxSWdaQkEzUWdDMm9pRHpZQ0FDQUlFSllMSVJNZ0FpZ0NBQ0FIUVFOMGFpQVRPUU1BSUJORUFBQUFBQUFBQUFCaUJFQUNRQ0FHSVFVRFFDQUZJQU5JQkVBZ0JpRUVSQUFBQUFBQUFBQUFJUk1EUUNBRUlBVkpCRUFnRXlBQUtBSUFJQVVnQXlBRWJHcEJBM1JxS3dNQUlBUkJBM1FnQzJvckF3Q2lvQ0VUSUFSQkFXb2hCQXdCQ3dzZ0F5QUZiQ0VRSUFVaEJBTkFJQVFnQTBnRVFDQVRJQUFvQWdBZ0JDQVFha0VEZEdvckF3QWdCRUVEZENBTGFpc0RBS0tnSVJNZ0JFRUJhaUVFREFFTEN5QUJLQUlBSUFWQkEzUnFJQk01QXdBZ0JVRUJhaUVGREFFTEN5QUpJQTQyQWdRZ0NDQU9OZ0lFSUFnZ0R6WUNBQ0FKSUFFb0FnQWdCa0VEZEdvMkFnQWdDQ0FKRU9ZQ1JBQUFBQUFBQU9BL29pRVZJQU1oQlFOQUlBVkJmMm9pQlNBSFRBMEJJQUVvQWdBaURpQUZRUU4wYWlJRUt3TUFJQlVnQlVFRGRDQUxhaXNEQUNJV29xRWhFeUFFSUJNNUF3QWdBeUFGYkNFUElBVWhCQU5BSUFRZ0EwZ0VRQ0FBS0FJQUlBUWdEMnBCQTNScUloQWdFQ3NEQUNBV0lBUkJBM1FnRG1vckF3Q2lJQk1nQkVFRGRDQUxhaXNEQUtLZ29Ua0RBQ0FFUVFGcUlRUU1BUXNMREFBQUN3QUxDeUFHSVFjTUFRc0xBa0FDUUNBRFFRRktCSDhnQVNnQ0FDSU5JQXhCQTNScUlBQW9BZ0FpQVNBTUlBTWdER3dpQm1wQkEzUnFLd01BT1FNQUlBSW9BZ0FnREVFRGRHb2dCaUFEUVg5cUlnSnFRUU4wSUFGcUt3TUFPUU1BSUFFaEJpQU5JUUVNQVFVZ0EwRUJSZ1IvUVFBaEFpQUFLQUlBSVFZZ0FTZ0NBQ0VCREFJRklBTUxDeUVLREFFTElBTWhEU0FDSUFJZ0EyeHFRUU4wSUFacUt3TUFJUlFnQWtFRGRDQUJhaUVSUVJ3aEVnc0RRQ0FTUVJ4R0JFQWdFU0FVT1FNQUlBMGhDZ3NnQ2tFQVRBUkFRUUFoQUF3Q0N5QUFLQUlBSUFwQmYyb2lEU0FEYkVFRGRHb2hCaUFLSUF4TUJFQUNRQ0FESUExclFYOXFJUVVnQ2tFRGRDQUdhaUVISUFvaEFnTkFJQUlnQTA0TkFTQUpJQVUyQWdRZ0NDQUZOZ0lFSUFnZ0J6WUNBQ0FKSUFBb0FnQWdDaUFDSUFOc0lnUnFRUU4wYWpZQ0FDQUlJQWtRNWdJaEV5QUtJUUVEUUNBQklBTklCRUFnQUNnQ0FDQUJJQVJxUVFOMGFpSUxJQXNyQXdBZ0V5QUJRUU4wSUFacUt3TUFvcUU1QXdBZ0FVRUJhaUVCREFFTEN5QUNRUUZxSVFJTUFBQUxBQXNMUVFBaEFRTkFJQUVnQTBnRVFDQUJRUU4wSUFacVJBQUFBQUFBQUFBQU9RTUFJQUZCQVdvaEFRd0JDd3RFQUFBQUFBQUE4RDhoRkNBTlFRTjBJQVpxSVJGQkhDRVNEQUFBQ3dBTEJVRi9JUUFMQlVGL0lRQUxCVUYvSVFBTElBa2tCaUFBQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4Qy9CRHNCQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3VTQndFT2Z5TUdJUWdqQmtHd0Ftb2tCaUFDRUp3QklROGdBaUFJUWFBQmFoRHNBU0VRSUFoQm9BSnFJZ29nQWlBSVFhd0NhaERyQVNBSVFaUUNhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQWhCa0FKcUlnc2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQ0VHTUFtb2lEQ0FJTmdJQUlBaEJpQUpxSWcxQkFEWUNBQ0FBS0FJQUlnSWhEZ05BQWtBZ0FnUi9JQUlvQWd3aUJpQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhFZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVJLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQjBVTkF3c01BUXNnQndSL1FRQWhCZ3dDQlVFQUN5RUdDeUFMS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2RCL3dGeElBZEJBRWdiSWdkcVJnUkFJQVVnQjBFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBc2dCeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMSUE4Z0NTQUxJQTBnQ0NnQ3JBSWdDaUFJSUF3Z0VCRE9BUTBBSUFJb0Fnd2lCaUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBWkJCR28yQWd3Z0JpZ0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQmtVTkFDQUdLQUlNSWdRZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VTSUFVUVJ5QUtFRWNnQ0NRR0lCSUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQkE3SUFKQm9NNERFRG9pQUNnQ0FDZ0NNQ0VESUFCQjhPOEFRWXJ3QUNBQklBTkJEM0ZCaWdKcUVRa0FHaUFDRUR3Z0FpUUdJQUVMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVNRUVOd01BSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDN1lIQVE5L0l3WWhCaU1HUWRBQ2FpUUdJQVpCdUFKcUlnb2dBaUFHUWFBQmFpSVFJQVpCeUFKcUlBWkJ4QUpxRU9VQ0lBWkJyQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtHb0Ftb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FhUUNhaUlOSUFZMkFnQWdCa0dnQW1vaURrRUFOZ0lBSUFaQnpRSnFJZ3RCQVRvQUFDQUdRY3dDYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUFzZ0N5QVJJQWtnRENBR0tBTElBaUFHS0FMRUFpQUtJQVlnRFNBT0lCQVE1QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dTJCd0VQZnlNR0lRWWpCa0hRQW1va0JpQUdRYmdDYWlJS0lBSWdCa0dnQVdvaUVDQUdRY2dDYWlBR1FjUUNhaERsQWlBR1Fhd0NhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCcUFKcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtHa0Ftb2lEU0FHTmdJQUlBWkJvQUpxSWc1QkFEWUNBQ0FHUWMwQ2FpSUxRUUU2QUFBZ0JrSE1BbW9pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ29BZ0FMSUFzZ0VTQUpJQXdnQmlnQ3lBSWdCaWdDeEFJZ0NpQUdJQTBnRGlBUUVPUUNEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUVhallDRENBSEtBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1Rd3dRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHRnY0JEMzhqQmlFR0l3WkIwQUpxSkFZZ0JrRzRBbW9pQ2lBQ0lBWkJvQUZxSWhBZ0JrSElBbW9nQmtIRUFtb1E1UUlnQmtHc0Ftb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRYWdDYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCcEFKcUlnMGdCallDQUNBR1FhQUNhaUlPUVFBMkFnQWdCa0hOQW1vaUMwRUJPZ0FBSUFaQnpBSnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDeUFMSUJFZ0NTQU1JQVlvQXNnQ0lBWW9Bc1FDSUFvZ0JpQU5JQTRnRUJEa0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkJHbzJBZ3dnQnlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTVFFT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzhjSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFoQm9BRnFJUTBnQ0VHWUFtb2hCaUFJUWFRQ2FpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUWFET0F4QTZJZ0FvQWdBb0FqQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCaUFKcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1VBbW9pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRWkFDYWlJUElBZzJBZ0FnQ0VHTUFtb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhERUVBSVFOQkFRVkJBQXNGUVFBaERFRUFJUU5CQVFzaENRSkFBa0FnQWlnQ0FDSUhSUTBBSUFjb0Fnd2lFU0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUpSUTBEQ3d3QkN5QUpCSDlCQUNFSERBSUZRUUFMSVFjTElBb29BZ0FnQUNBR0tBSUVJQVlzQUFzaUNVSC9BWEVnQ1VFQVNCc2lDV3BHQkVBZ0JpQUpRUUYwRUVvZ0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ2lBSklBWW9BZ0FnQmlBR0xBQUxRUUJJR3lJQWFqWUNBQXNnQXlnQ0RDSUpJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBdEJFQ0FBSUFvZ0VFRUFJQXNnQ0NBUElBMFF6Z0VOQUNBREtBSU1JZ2NnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQUFrQUNRQUpBSUFkRkRRQWdCeWdDRENJRElBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFFSUFRb0FnQkJBbkkyQWdBTElBRW9BZ0FoRXlBR0VFY2dDeEJISUFna0JpQVRDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDT0N5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNOQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ01DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTEN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNJQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0dDeUVISUFZa0JpQUhDNUFCQWdOL0Fud2dBQ0FBRU9ZQ255SUVSQUFBQUFBQUFBQUFZZ1JBSUFTYUlBUWdBQ2dDQUNJQkt3TUFJZ1ZFQUFBQUFBQUFBQUJqR3lFRUlBRWdCU0FFb0NJRk9RTUFSQUFBQUFBQUFQQS9JQVFnQmFLZm95RUZJQUFvQWdRaEFrRUFJUUFEUUNBQUlBSklCRUFnQUVFRGRDQUJhaUlESUFVZ0F5c0RBS0k1QXdBZ0FFRUJhaUVBREFFTEN3c2dCSm9MVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJVUxJUWNnQmlRR0lBY0w3UUlCQkg4akJpRUdJd1pCTUdva0JpQUdRU2hxSVFjZ0JrRWdhaUVJSUFNb0FnUkJBWEVFUUNBSElBTVFPeUFIUWFET0F4QTZJUWtnQnhBOElBY2dBeEE3SUFkQnFNNERFRG9oQXlBSEVEd2dBeWdDQUNnQ0dDRUFJQVlnQXlBQVFUOXhRYklGYWhFREFDQURLQUlBS0FJY0lRQWdCa0VNYWlBRElBQkJQM0ZCc2dWcUVRTUFJQVlnQWlnQ0FEWUNHQ0FISUFZb0FoZzJBZ0FnQlNBQklBY2dCaUFHUVJocUlnQWdDU0FFUVFFUWxRSWdCa1k2QUFBZ0FTZ0NBQ0VCQTBBZ0FFRjBhaUlBRUVjZ0FDQUdSdzBBQ3dVZ0NFRi9OZ0lBSUFBb0FnQW9BaEFoQ1NBR0lBRW9BZ0EyQWlRZ0JpQUNLQUlBTmdJY0lBWWdCaWdDSkRZQ0FDQUhJQVlvQWh3MkFnQWdBU0FBSUFZZ0J5QURJQVFnQ0NBSlFUOXhRY1lDYWhFS0FEWUNBQUpBQWtBQ1FBSkFJQWdvQWdBT0FnQUJBZ3NnQlVFQU9nQUFEQUlMSUFWQkFUb0FBQXdCQ3lBRlFRRTZBQUFnQkVFRU5nSUFDeUFCS0FJQUlRRUxJQVlrQmlBQkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdlFRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZnUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2d1E3QVFBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdRUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzhZSEFROS9Jd1loQmlNR1FmQUJhaVFHSUFaQjJBRnFJZ29nQWlBR1FhQUJhaUlRSUFaQjV3RnFJQVpCNWdGcUVPa0NJQVpCekFGcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrSElBV29pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRY1FCYWlJTklBWTJBZ0FnQmtIQUFXb2lEa0VBTmdJQUlBWkI1UUZxSWd0QkFUb0FBQ0FHUWVRQmFpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Vpd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0Qi93RnhJQXNnRVNBSklBd2dCaXdBNXdFZ0Jpd0E1Z0VnQ2lBR0lBMGdEaUFRRU9nQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx4Z2NCRDM4akJpRUdJd1pCOEFGcUpBWWdCa0hZQVdvaUNpQUNJQVpCb0FGcUloQWdCa0huQVdvZ0JrSG1BV29RNlFJZ0JrSE1BV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWNnQmFpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnhBRnFJZzBnQmpZQ0FDQUdRY0FCYWlJT1FRQTJBZ0FnQmtIbEFXb2lDMEVCT2dBQUlBWkI1QUZxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFZ0N5QVJJQWtnRENBR0xBRG5BU0FHTEFEbUFTQUtJQVlnRFNBT0lCQVE2QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUUZxTmdJTUlBY3NBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNTUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd2R0J3RVBmeU1HSVFZakJrSHdBV29rQmlBR1FkZ0JhaUlLSUFJZ0JrR2dBV29pRUNBR1FlY0JhaUFHUWVZQmFoRHBBaUFHUWN3QmFpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJ5QUZxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0hFQVdvaURTQUdOZ0lBSUFaQndBRnFJZzVCQURZQ0FDQUdRZVVCYWlJTFFRRTZBQUFnQmtIa0FXb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFmOEJjU0FMSUJFZ0NTQU1JQVlzQU9jQklBWXNBT1lCSUFvZ0JpQU5JQTRnRUJEb0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkFXbzJBZ3dnQnl3QUFCQkNHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1ReEFRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDMEVCQW44Z0FDZ0NCQ0VCSUFBb0FnQWdBQ2dDQ0NJQ1FRRjFhaUVBSUFKQkFYRUVRQ0FCSUFBb0FnQnFLQUlBSVFFTElBQWdBVUgvQVhGQnJBTnFFUUVBQ3cwQUlBQW9BZ0FvQWdBUW9Rc0xKd0VCZnlBQktBSUFJUU1nQVNnQ0JDRUJJQUFnQWpZQ0FDQUFJQU0yQWdRZ0FDQUJOZ0lJQ3lFQkFYOUJqTTREUVl6T0F5Z0NBQ0lCUVFGcU5nSUFJQUFnQVVFQmFqWUNCQXR0QVFSL0l3WWhBU01HUVRCcUpBWWdBVUVZYWlFRElBRkJqd0UyQWhBZ0FVRUFOZ0lVSUFGQklHb2lBaUFCS1FJUU53SUFJQUVnQWlBQUVLTUxJQUFvQWdCQmYwY0VRQ0FDSUFFMkFnQWdBeUFDTmdJQUlBQWdBeERwQ1FzZ0FDZ0NCRUYvYWlFRUlBRWtCaUFFQzljSEFRNS9Jd1loQ0NNR1FmQUJhaVFHSUFoQm9BRnFJUTBnQ0VIUUFXb2hCaUFJUWR3QmFpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUVlET0F4QTZJZ0FvQWdBb0FpQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCd0FGcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFSE1BV29pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRY2dCYWlJUElBZzJBZ0FnQ0VIRUFXb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VNUVFBaEEwRUJCVUVBQ3dWQkFDRU1RUUFoQTBFQkN5RUpBa0FDUUNBQ0tBSUFJZ2RGRFFBZ0J5Z0NEQ0lSSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTd0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ1VVTkF3c01BUXNnQ1FSL1FRQWhCd3dDQlVFQUN5RUhDeUFLS0FJQUlBQWdCaWdDQkNBR0xBQUxJZ2xCL3dGeElBbEJBRWdiSWdscVJnUkFJQVlnQ1VFQmRCQktJQVlnQml3QUMwRUFTQVIvSUFZb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBb2dDU0FHS0FJQUlBWWdCaXdBQzBFQVNCc2lBR28yQWdBTElBTW9BZ3dpQ1NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhRUkFnQUNBS0lCQkJBQ0FMSUFnZ0R5QU5FTkFCRFFBZ0F5Z0NEQ0lISUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUFDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ01nQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUk1nQmhCSElBc1FSeUFJSkFZZ0V3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRb0FzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFud3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRblFzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtd3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbVFzaEJ5QUdKQVlnQnd2dEFnRUVmeU1HSVFZakJrRXdhaVFHSUFaQktHb2hCeUFHUVNCcUlRZ2dBeWdDQkVFQmNRUkFJQWNnQXhBN0lBZEJnTTRERURvaENTQUhFRHdnQnlBREVEc2dCMEdRemdNUU9pRURJQWNRUENBREtBSUFLQUlZSVFBZ0JpQURJQUJCUDNGQnNnVnFFUU1BSUFNb0FnQW9BaHdoQUNBR1FReHFJQU1nQUVFL2NVR3lCV29SQXdBZ0JpQUNLQUlBTmdJWUlBY2dCaWdDR0RZQ0FDQUZJQUVnQnlBR0lBWkJHR29pQUNBSklBUkJBUkNXQWlBR1Jqb0FBQ0FCS0FJQUlRRURRQ0FBUVhScUlnQVFSeUFBSUFaSERRQUxCU0FJUVg4MkFnQWdBQ2dDQUNnQ0VDRUpJQVlnQVNnQ0FEWUNKQ0FHSUFJb0FnQTJBaHdnQmlBR0tBSWtOZ0lBSUFjZ0JpZ0NIRFlDQUNBQklBQWdCaUFISUFNZ0JDQUlJQWxCUDNGQnhnSnFFUW9BTmdJQUFrQUNRQUpBQWtBZ0NDZ0NBQTRDQUFFQ0N5QUZRUUE2QUFBTUFnc2dCVUVCT2dBQURBRUxJQVZCQVRvQUFDQUVRUVEyQWdBTElBRW9BZ0FoQVFzZ0JpUUdJQUVMUVFFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVNnQ0FDQUFRUVIwYWlJRFFZQ0FnSUIvY1NFQUlBTWdBQ0FBUVJoMmNuTWhBQ0FCUVFScUlRRU1BUXNMSUFBTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeERIQkF0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVvQWdBaUFDQURLQUlBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFScUlRTWdBVUVFYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMUHdFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVN3QUFDQUFRUVIwYWlJQVFZQ0FnSUIvY1NJRElBTkJHSFp5SUFCeklRQWdBVUVCYWlFQkRBRUxDeUFBQ3owQkFYOGdBQVIvSUFBb0FnQWlBUVIvSUFFb0FyZ0JFRGdnQUNnQ0FDZ0N2QUVRT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4RCtBd3RYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRXNBQUFpQUNBRExBQUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUUZxSVFNZ0FVRUJhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xJZ0VCZnlBQUJFQWdBQ2dDQUNnQ0JDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3dTFBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRUnFJUU1nQlVFSWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFFRUk2QUFBZ0FDZ0NKQ0lIS0FJQUtBSU1JUWdDZndKQUFrQUNRQ0FISUFBb0FpZ2dCQ0FFUVFGcUlBVWdBaUFDUVFocUlBTWdDRUVQY1VHT0Eyb1JEZ0JCQVdzT0F3SUNBQUVMSUFJZ0JpZ0NBRG9BQUNBRElBSkJBV28yQWdBTEEwQWdBeWdDQUNJRUlBSk5CRUJCQVNFRFFRQU1Bd3NnQXlBRVFYOXFJZ1EyQWdBZ0JDd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTEMwRUFJUU5CZndzaEFpQURCSDhnQmdVZ0FpRUJEQUlMQlNBQVFUQnFDeUFCTmdJQUlBQkJBVG9BTkFzTElBVWtCaUFCQ3drQUlBQkJBUkRJQkFzSkFDQUFRUUFReUFRTFhnRUJmeUFBSUFGQnNOQURFRG9pQVRZQ0pDQUFJQUVnQVNnQ0FDZ0NHRUgvQUhGQkNHb1JBQUEyQWl3Z0FDZ0NKQ0lCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBMUlBQW9BaXhCQ0VvRVFCQUFDd3V6QWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUWhxSVFNZ0JVRUVhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBTmdJQUlBQW9BaVFpQnlnQ0FDZ0NEQ0VJQW44Q1FBSkFBa0FnQnlBQUtBSW9JQVFnQkVFRWFpQUZJQUlnQWtFSWFpQURJQWhCRDNGQmpnTnFFUTRBUVFGckRnTUNBZ0FCQ3lBQ0lBWW9BZ0E2QUFBZ0F5QUNRUUZxTmdJQUN3TkFJQU1vQWdBaUJDQUNUUVJBUVFFaEEwRUFEQU1MSUFNZ0JFRi9haUlFTmdJQUlBUXNBQUFnQUNnQ0lCRHZBVUYvUncwQUN3dEJBQ0VEUVg4TElRSWdBd1IvSUFZRklBSWhBUXdDQ3dVZ0FFRXdhZ3NnQVRZQ0FDQUFRUUU2QURRTEN5QUZKQVlnQVF1S0F3SU1md0o4SXdZaEFTTUdRVUJySkFZZ0FVRWdhaUVDUWRBQkVFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFJUVBVRUJFQUVMSUFGQktHb2hCQ0FESUFCQnVBRVFUQm9nQXlBQUtBSUFRUjVxSWdnMkFzQUJJQU1nQUNnQ0JFRWVhaUlKTmdMRUFTQURRUTgyQXNnQklBTkJEellDekFFZ0F5QUpJQWhCQTNSc0lnVVFSQ0lDTmdLNEFTQUNSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQVVFd2FpRUdJQU1nQlJCRUlnUTJBcndCSUFSRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUJRUmhxSVFVZ0FVRVFhaUVHSUFGQkNHb2hDaUFBUWVnQWFpRUxJQUFvQXJBQklRd2dBaUVBQTBBZ0J5QUpTQVJBSUFkQkQydXl1eUVOUVFBaEFnTkFJQUlnQ0VnRVFDQUxJQUpCRDJ1eXV5SU9JQTBnQ2lBQklBd1EyQXNnQUNBS0t3TUF0amdDQUNBQUlBRXJBd0MyT0FJRUlBc2dEaUFOSUFVZ0JpQU1FTjhFSUFRZ0JTc0RBTFk0QWdBZ0JDQUdLd01BdGpnQ0JDQUNRUUZxSVFJZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0IwRUJhaUVIREFFTEN5QUJKQVlnQXdzSkFDQUFRUUVReVFRTENRQWdBRUVBRU1rRUMxNEJBWDhnQUNBQlFialFBeEE2SWdFMkFpUWdBQ0FCSUFFb0FnQW9BaGhCL3dCeFFRaHFFUUFBTmdJc0lBQW9BaVFpQVNnQ0FDZ0NIQ0VDSUFBZ0FTQUNRZjhBY1VFSWFoRUFBRUVCY1RvQU5TQUFLQUlzUVFoS0JFQVFBQXNMblFJQkNYOGpCaUVESXdaQklHb2tCaUFEUVJCcUlRUWdBMEVJYWlFQ0lBTkJCR29oQmdKL0FrQWdBVUYvRUVFTkFBSi9JQUlnQVJCQ09nQUFJQUFzQUN3RVFDQUNRUUZCQVNBQUtBSWdFSk1CUVFGR0RRSkJmd3dCQ3lBR0lBUTJBZ0FnQWtFQmFpRUhJQVJCQ0dvaENBSkFBMEFDUUNBQUtBSWtJZ1VvQWdBb0Fnd2hDU0FGSUFBb0FpZ2dBaUFISUFNZ0JDQUlJQVlnQ1VFUGNVR09BMm9SRGdBaEJTQUNJQU1vQWdCR0RRSWdCVUVEUmcwQUlBVkJBazhOQWlBR0tBSUFJQVJySWdJZ0JFRUJJQUlnQUNnQ0lCQ1RBVWNOQWlBREtBSUFJUUlnQlVFQlJnMEJEQVFMQ3lBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZIRFFBTUFndEJmd3NNQVFzZ0FVRi9FRUVFZjBFQUJTQUJDd3NoQ2lBREpBWWdDZ3RmQVFKL0lBQXNBQ3dFUUNBQlFRRWdBaUFBS0FJZ0VKTUJJUU1GQTBBZ0F5QUNTQVJBSUFBb0FnQW9BalFoQkNBQUlBRXNBQUFRUWlBRVFUOXhRWW9CYWhFQ0FFRi9Sd1JBSUFOQkFXb2hBeUFCUVFGcUlRRU1BZ3NMQ3dzZ0F3dE1BUUYvSUFBb0FnQW9BaGdoQWlBQUlBSkIvd0J4UVFocUVRQUFHaUFBSUFGQnNOQURFRG9pQVRZQ0pDQUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0FzQzVzQ0FRbC9Jd1loQXlNR1FTQnFKQVlnQTBFUWFpRUVJQU5CQ0dvaEFpQURRUVJxSVFZQ2Z3SkFJQUZCZnhCQkRRQUNmeUFDSUFFMkFnQWdBQ3dBTEFSQUlBSkJCRUVCSUFBb0FpQVFrd0ZCQVVZTkFrRi9EQUVMSUFZZ0JEWUNBQ0FDUVFScUlRY2dCRUVJYWlFSUFrQURRQUpBSUFBb0FpUWlCU2dDQUNnQ0RDRUpJQVVnQUNnQ0tDQUNJQWNnQXlBRUlBZ2dCaUFKUVE5eFFZNERhaEVPQUNFRklBSWdBeWdDQUVZTkFpQUZRUU5HRFFBZ0JVRUNUdzBDSUFZb0FnQWdCR3NpQWlBRVFRRWdBaUFBS0FJZ0VKTUJSdzBDSUFNb0FnQWhBaUFGUVFGR0RRRU1CQXNMSUFKQkFVRUJJQUFvQWlBUWt3RkJBVWNOQUF3Q0MwRi9Dd3dCQ3lBQlFYOFFRUVIvUVFBRklBRUxDeUVLSUFNa0JpQUtDMWtCQVg4Z0FDd0FMQVJBSUFGQkJDQUNJQUFvQWlBUWt3RWhBd1VEUUNBRElBSklCRUFnQUNBQktBSUFJQUFvQWdBb0FqUkJQM0ZCaWdGcUVRSUFRWDlIQkVBZ0EwRUJhaUVESUFGQkJHb2hBUXdDQ3dzTEN5QURDMHdCQVg4Z0FDZ0NBQ2dDR0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUFhSUFBZ0FVRzQwQU1RT2lJQk5nSWtJQUVvQWdBb0Fod2hBaUFBSUFFZ0FrSC9BSEZCQ0dvUkFBQkJBWEU2QUN3TDdBVUNCMzhDZkNNR0lRUWpCa0dnQTJva0JpQUVRWkFEYWlFR0lBUkJnQUZxSVFnZ0FDZ0NBQ0VISUFBb0FnUWhCU0FBUVFocUlBUkJzQUpxSWdvZ0JFSFFBV29pQ1JEekMwRUFTQVJBUVFCQkEwR2JyQUVnQmhBOUJRSkFJQVZCZjJxM0lReEJBQ0VGQTBBZ0JVRUVSd1JBSUFwQklHb2dCVUVEZEdvaUFDQUtRVUJySUFWQkEzUnFLd01BSUF5aUlBQXJBd0NoT1FNQUlBVkJBV29oQlF3QkN3c2dDaXNEVUNFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFBRFFDQUFRUU5IQkVBZ0JVRVliQ0FJYWlBQVFRTjBhaUFGUVFWMElBcHFJQUJCQTNScUt3TUFJQXVqT1FNQUlBQkJBV29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFFSUFnckF3QkVBQUFBQUFBQUFFQ2lJQWRCZjJxM0lndWpPUU1BSUFRZ0NDc0RDRVFBQUFBQUFBQUFRS0lnQzZNNUF3Z2dCQ0FJS3dNUVJBQUFBQUFBQUFCQW9pQUxvMFFBQUFBQUFBRHd2NkNhT1FNUUlBUkNBRGNER0NBRVFnQTNBeUFnQkNBSUt3TWdSQUFBQUFBQUFBQkFvaUFNbzVvNUF5Z2dCQ0FJS3dNb1JBQUFBQUFBQUFCQW9pQU1vMFFBQUFBQUFBRHd2NkNhT1FNd0lBUkNBRGNET0NBRVFnQTNBMEFnQkVJQU53TklJQVFnQVNBQ29DQUJJQUtoSWd1ak9RTlFJQVFnQWtRQUFBQUFBQUFBUUtJZ0FhSWdDNk01QTFnZ0JFSUFOd05nSUFSQ0FEY0RhQ0FFUkFBQUFBQUFBUEMvT1FOd0lBUkVBQUFBQUFBQUFBQTVBM2dnQ1NzREdDRUxJQWtyQXpnaEFpQUpLd05ZSVFGQkFDRUdBMEFnQmtFRVJnMEJJQVpCQlhRZ0JHb3JBd0FoRENBR1FRVjBJQVJxSVFVZ0JrRUZkQ0FFYWlFQVFRQWhCd05BSUFkQkEwY0VRQ0FHSUFkQkFuUnFRUU4wSUFOcUlBd2dCMEVEZENBSmFpc0RBS0lnQlNzRENDQUpRU0JxSUFkQkEzUnFLd01Bb3FBZ0FDc0RFQ0FKUVVCcklBZEJBM1JxS3dNQW9xQTVBd0FnQjBFQmFpRUhEQUVMQ3lBR1FReHFRUU4wSUFOcUlBWkJCWFFnQkdvckF4Z2dEQ0FMb2lBRkt3TUlJQUtpb0NBQUt3TVFJQUdpb0tBNUF3QWdCa0VCYWlFR0RBQUFDd0FMQ3lBRUpBWUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBSUFoQkFEc0JBQ0FNUVFBNkFBQUZBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMNkFVQ0NuOEJmQ01HSVFRakJrR0FBbW9rQmlBRVFmZ0JhaUVJSUFSQjhBRnFJUW9nQkVIb0FXb2hEQ0FFUWVBQmFpRUZJQVJCMkFGcUlRc2dCRUhRQVdvaEJ5QUVRY2dCYWlFSklBUkJFR29oQXlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FBUVlpNUFSQ3dBU0lHUlFSQUlBbEJwTVVES0FJQU5nSUFJQWtnQURZQ0JFRUFRUU5CczZvQklBa1FQVUdreFFNb0FnQVF2UUVoQUNBSFFhZlZBellDQUNBSElBQTJBZ1JCQUVFRFFhVzJBU0FIRUQxQmZ5RUFEQUVMSUFaQkFFRUNFUFFCSUFZb0Frd2FJQVlvQWdCQkJYWkJBWEVFUUNBTFFhVEZBeWdDQURZQ0FFRUFRUU5CK0tvQklBc1FQVUdreFFNb0FnQVF2UUVoQUNBRlFhZlZBellDQUNBRklBQTJBZ1JCQUVFRFFhVzJBU0FGRUQxQmZ5RUFCUUpBSUFZUStBSWhCeUFHRVBrQ1FRQWhBQUpBQWtBRGZ5QUFRUVJQRFFFZ0FFRUJhaUVGSUFjZ0FFRURkRUdrRldvb0FnQWlBQkJQQkg4Z0JTRUFEQUVGSUFVTEN5RUZEQUVMSUFCQkJFWUVmMEVBUVFOQnBhc0JJQXdRUFVGL0lRQU1BZ1ZCQUNFRlFhUVZLQUlBQ3lFQUN5QURJQUJCQVNBR0VHRkJBVWNFUUNBS1FhVEZBeWdDQURZQ0FFRUFRUU5COWFzQklBb1FQVUdreFFNb0FnQVF2UUVoQUNBSVFhZlZBellDQUNBSUlBQTJBZ1JCQUVFRFFhVzJBU0FJRUQxQmZ5RUFEQUVMSUFNZ0JUWUNzQUVnQXhEWUJDQUZRUUZHSWdjRVFDQURLd040SVEwZ0F5QURRWUFCYWlJQUt3TUFPUU40SUFNZ0RUa0RnQUVGSUFOQmdBRnFJUUFMSUFFZ0EwRzRBUkJNR2lBRUlBSTJBZ0JCQVNFQ0EwQWdBa0VCVGdSQVFRQWhBQXdDQ3lBRUtBSUFRUU5xUVh4eElna29BZ0FoQ0NBRUlBbEJCR28yQWdBZ0NDQUJLQUt3QVRZQ3NBRWdBeUFCS0FLd0FVRURkRUdjRldvb0FnQkJBU0FHRUdGQkFVY0VRRUYvSVFBTUFnc2dBeUFGTmdLd0FTQURFTmdFSUFjRVFDQURLd040SVEwZ0F5QUFLd01BT1FONElBQWdEVGtEQUFzZ0NDQURRYmdCRUV3YUlBSkJBV29oQWd3QUFBc0FDd3NnQmhCcUN3VkJmeUVBQ3lBRUpBWWdBQXVUQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BaGdnQTBFQ2RHbzJBaGdnQXlBRWFpRUVJQU5CQW5RZ0FXb0ZJQUFnQVNnQ0FDQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFScUN5RUJEQUVMQ3lBRUN6TUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVFYWpZQ0RDQUFLQUlBQ3d1VUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0Fnd2lBeUFBS0FJUUlnVkpCSDhnQVNBRElBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWd3Z0EwRUNkR28yQWd3Z0EwRUNkQ0FCYWdVZ0FDQUFLQUlBS0FJb1FmOEFjVUVJYWhFQUFDSURRWDlHRFFFZ0FTQUROZ0lBUVFFaEF5QUJRUVJxQ3lFQklBTWdCR29oQkF3QkN3c2dCQXVRQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOcklnTWdCaUFEU0JzaUF4Q29BU0FBSUFNZ0FDZ0NHR28yQWhnZ0F5QUVhaUVFSUFFZ0Eyb0ZJQUFvQWdBb0FqUWhBeUFBSUFFc0FBQVFRaUFEUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUUZxQ3lFQkRBRUxDeUFFQ3pVQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUJhallDRENBQUxBQUFFRUlMQzQwQkFRUi9BMEFDUUNBRUlBSk9EUUFnQUNnQ0RDSURJQUFvQWhBaUJVa0VmeUFCSUFNZ0FpQUVheUlHSUFVZ0Eyc2lBeUFHSUFOSUd5SURFS2dCSUFBZ0F5QUFLQUlNYWpZQ0RDQUJJQU5xQlNBQUlBQW9BZ0FvQWloQi93QnhRUWhxRVFBQUlnTkJmMFlOQVNBQklBTVFRam9BQUVFQklRTWdBVUVCYWdzaEFTQURJQVJxSVFRTUFRc0xJQVFMQ3dBZ0FCQ2RBaUFBRURnTFNBRUNmeUFBS0FJb0lRRURRQ0FCQkVBZ0FDZ0NJQ0FCUVg5cUlnRkJBblJxS0FJQUlRSkJBQ0FBSUFBb0FpUWdBVUVDZEdvb0FnQWdBa0VEY1VIMkJXb1JCZ0FNQVFzTEN3UUFRUUFMTXdFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJJQUVvQWdBMkFnUWdBU2dDQkNnQ0JCQ0lBeUVDSUFFa0JpQUNDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRWXVKQXpZQ0FFR3crUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFldUlBellDQUVHNCtRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWN5SUF6WUNBRUhBK1FCQkJpQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZDZHQXpZQ0FFSEkrUUJCQlNBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjQ0dBellDQUVIUStRQkJCQ0FBS0FJQUVBZ2dBQ1FHQytvRkFRWjhBbjhDUUFKQUFrQUNRQUpBQWtBZ0JVRUJhdzRFQXdJQkFBUUxJQUFyQXdBZ0FTQUFLd013SWdpaElBQkJRR3NyQXdBaUJxSWdBQ3NESUNJSm95SUJJQUdpSUFJZ0FDc0RPQ0lLb1NBR29pQUFLd01vSWd1aklnSWdBcUtnSWdhaVJBQUFBQUFBQVBBL29DQUdJQUFyQXdnZ0JxS2lvQ0VISUFNZ0NDQUpJQUFyQXhnaUNDQUdJQUVnQVVRQUFBQUFBQUFBUUtLaW9LSWdBaUFBS3dNUUlnbEVBQUFBQUFBQUFFQ2lJQUdpb2lBQklBZWlvS0Npb0RrREFDQUtJQXNnQWlBSVJBQUFBQUFBQUFCQW9pQUJvcUlnQ1NBR0lBSWdBa1FBQUFBQUFBQUFRS0tpb0tJZ0FpQUhvcUNnb3FBaEFRd0VDeUFCSUFBckF3QWlCcUVnQUNzREVDSUhvaUlCUkFBQUFBQUFBQUFBWVNBSElBSWdBQ3NEQ0tHaUlnSkVBQUFBQUFBQUFBQmhjUVI4SUFNZ0Jqa0RBQ0FBS3dNSUJTQURJQVlnQUNzREdDQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TWdSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFNTElBRWdBQ3NEQUNJR29TQUFLd01RSWdlaUlnRkVBQUFBQUFBQUFBQmhJQWNnQWlBQUt3TUlvYUlpQWtRQUFBQUFBQUFBQUdGeEJId2dBeUFHT1FNQUlBQXJBd2dGSUFNZ0JpQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtnT1FNQUlBQXJBd2dnQWlBQm9xQUxJUUVNQWdzZ0FTQUFLd01BSWdhaElBQXJBeEFpQjZJaUFVUUFBQUFBQUFBQUFHRWdCeUFDSUFBckF3aWhvaUlDUkFBQUFBQUFBQUFBWVhFRWZDQURJQVk1QXdBZ0FDc0RDQVVnQXlBR0lBRkVBQUFBQUFBQThEOGdBU0FCb2lBQ0lBS2lvQ0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJZ0dpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFFTFFYOE1BUXNnQkNBQk9RTUFRUUFMR2dzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVITWhBTTJBZ0JCaVBvQVFRQWdBQ2dDQUJBSUlBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhkZ3dNMkFnQkJtUGtBSUFBb0FnQkJDQkFXSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSFhnd00yQWdCQmtQa0FJQUFvQWdCQkJCQVdJQUFrQmdzdEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVISmd3TTJBZ0JCaVBrQUlBQW9BZ0JCQkVFQVFYOFFDaUFBSkFZTE5RRUJmeU1HSVFBakJrRVFhaVFHSUFCQnhJTUROZ0lBUVlENUFDQUFLQUlBUVFSQmdJQ0FnSGhCLy8vLy93Y1FDaUFBSkFZTExRRUJmeU1HSVFBakJrRVFhaVFHSUFCQnQ0TUROZ0lBUWZqNEFDQUFLQUlBUVFSQkFFRi9FQW9nQUNRR0N6VUJBWDhqQmlFQUl3WkJFR29rQmlBQVFiT0RBellDQUVIdytBQWdBQ2dDQUVFRVFZQ0FnSUI0UWYvLy8vOEhFQW9nQUNRR0N5OEJBWDhqQmlFQUl3WkJFR29rQmlBQVFhU0RBellDQUVIbytBQWdBQ2dDQUVFQ1FRQkIvLzhERUFvZ0FDUUdDekVCQVg4akJpRUFJd1pCRUdva0JpQUFRWjZEQXpZQ0FFSGcrQUFnQUNnQ0FFRUNRWUNBZmtILy93RVFDaUFBSkFZTExnRUJmeU1HSVFBakJrRVFhaVFHSUFCQmtJTUROZ0lBUWRENEFDQUFLQUlBUVFGQkFFSC9BUkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR0Vnd00yQWdCQjJQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUgvZ2dNMkFnQkJ5UGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzZkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHbTFRTTJBZ0FRNEFRZ0FDUUdDd1lBUWVERkF3c0dBRUhjeFFNTEJnQkIxTVVEQ3dnQVFlVEZBeEEyQzNBQkFuOGdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdVQ1FDQUFRUkJxSUFBb0Fnd2lCRUVEZEdvaEJTQUFRUkJxSUFFZ0FpQURFT0VFSUFSQkFVb0VRQ0FBUVJocUlRQURRQ0FBSUFFZ0FpQURFT0VFSUFFc0FEWU5BaUFBUVFocUlnQWdCVWtOQUFzTEN3c0x4UVFCQTM4Z0FDQUJLQUlJSUFRUWdRRUVRQ0FCSUFJZ0F4RHlBZ1VDUUNBQUlBRW9BZ0FnQkJDQkFVVUVRQ0FBS0FJTUlRVWdBRUVRYWlBQklBSWdBeUFFRUo0Q0lBVkJBVXdOQVNBQVFSQnFJQVZCQTNScUlRWWdBRUVZYWlFRklBQW9BZ2dpQUVFQ2NVVUVRQ0FCS0FJa1FRRkhCRUFnQUVFQmNVVUVRQU5BSUFFc0FEWU5CU0FCS0FJa1FRRkdEUVVnQlNBQklBSWdBeUFFRUo0Q0lBVkJDR29pQlNBR1NRMEFEQVVBQ3dBTEEwQWdBU3dBTmcwRUlBRW9BaVJCQVVZRVFDQUJLQUlZUVFGR0RRVUxJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01Bd3NMQTBBZ0FTd0FOZzBDSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQVFzZ0FTZ0NFQ0FDUndSQUlBRW9BaFFnQWtjRVFDQUJJQU0yQWlBZ0FTZ0NMRUVFUndSQUlBQkJFR29nQUNnQ0RFRURkR29oQjBFQUlRTWdBRUVRYWlFR0lBRUNmd0pBQTBBQ1FDQUdJQWRQRFFBZ0FVRUFPZ0EwSUFGQkFEb0FOU0FHSUFFZ0FpQUNRUUVnQkJEdkFpQUJMQUEyRFFBZ0FTd0FOUVJBQWtBZ0FTd0FORVVFUUNBQUtBSUlRUUZ4QkVCQkFTRUZEQUlGREFZTEFBc2dBU2dDR0VFQlJnUkFRUUVoQXd3RkN5QUFLQUlJUVFKeEJIOUJBU0VGUVFFRlFRRWhBd3dGQ3lFREN3c2dCa0VJYWlFR0RBRUxDeUFGQkg4TUFRVkJCQXNNQVF0QkF3czJBaXdnQTBFQmNRMERDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMvUUNBUWwvSUFBZ0FTZ0NDQ0FGRUlFQkJFQWdBU0FDSUFNZ0JCRHhBZ1VnQVN3QU5DRU9JQUVzQURVaEJpQUFRUkJxSUFBb0Fnd2lCMEVEZEdvaERDQUJRUUE2QURRZ0FVRUFPZ0ExSUFCQkVHb2dBU0FDSUFNZ0JDQUZFTzhDSUE0Z0FTd0FOQ0lMY2lFSklBWWdBU3dBTlNJSWNpRUdJQWRCQVVvRWZ3Si9JQUJCR0dvaENnTi9JQVpCQVhFaEJ5QUpRUUZ4SVFZZ0FTd0FOZ1JBSUFZaEFpQUhEQUlMSUF0Qi93RnhCRUFnQVNnQ0dFRUJSZ1JBSUFZaEFpQUhEQU1MSUFBb0FnaEJBbkZGQkVBZ0JpRUNJQWNNQXdzRklBaEIvd0Z4QkVBZ0FDZ0NDRUVCY1VVRVFDQUdJUUlnQnd3RUN3c0xJQUZCQURvQU5DQUJRUUE2QURVZ0NpQUJJQUlnQXlBRUlBVVE3d0lnQmlBQkxBQTBJZ3R5SVFnZ0J5QUJMQUExSWcxeUlRWWdDa0VJYWlJSElBeEpCSDhnQnlFS0lBZ2hDU0FOSVFnTUFRVWdDQ0VDSUFZTEN3c0ZJQWtoQWlBR0N5RUFJQUVnQWtIL0FYRkJBRWM2QURRZ0FTQUFRZjhCY1VFQVJ6b0FOUXNMQ3dBZ0FDQUJRUUFRZ1FFTEtRRUJmeUFBS0FJQVFYUnFJZ0FvQWdnaEFTQUFJQUZCZjJvMkFnZ2dBVUVCU0FSQUlBQVFPQXNMQndBZ0FDZ0NCQXRBQVFGL0lBQWdBU2dDQ0VFQUVJRUJCRUFnQVNBQ0lBTVE4d0lGSUFBb0FnZ2lBQ2dDQUNnQ0hDRUVJQUFnQVNBQ0lBTWdCRUVmY1VINkJXb1JCd0FMQzVnQ0FRSi9JQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRkFrQWdBQ0FCS0FJQUlBUVFnUUZGQkVBZ0FDZ0NDQ0lBS0FJQUtBSVlJUVVnQUNBQklBSWdBeUFFSUFWQlAzRkJtZ1pxRVFVQURBRUxJQUVvQWhBZ0FrY0VRQ0FCS0FJVUlBSkhCRUFnQVNBRE5nSWdJQUVvQWl4QkJFY0VRQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQW9BZ2dpQUNnQ0FDZ0NGQ0VESUFBZ0FTQUNJQUpCQVNBRUlBTkJCM0ZCMmdacUVRd0FJQUVzQURVRVFDQUJMQUEwUlNFR0lBRkJBellDTENBR1JRMEVCU0FCUVFRMkFpd0xDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMwWUJBWDhnQUNBQktBSUlJQVVRZ1FFRVFDQUJJQUlnQXlBRUVQRUNCU0FBS0FJSUlnQW9BZ0FvQWhRaEJpQUFJQUVnQWlBRElBUWdCU0FHUVFkeFFkb0dhaEVNQUFzTHdBWUNBMzhHZkNNR0lRUWpCa0hnQUdva0JnSkFJQUFyQTFoRUFBQUFBQUFBQUFCbUJFQURRQ0FGUVFOR0RRSkJBQ0VEQTBBZ0EwRUVSd1JBSUFWQkJYUWdCR29nQTBFRGRHb2dCVUVGZENBQWFpQURRUU4wYWlzREFEa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUJRTkFJQVZCQTBZTkFrRUFJUU1EUUNBRFFRUkhCRUFnQlVFRmRDQUVhaUFEUVFOMGFpQUZRUVYwSUFCcUlBTkJBM1JxS3dNQW1qa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUN3QUxRUUFoQXdOQUlBTkJBMGNFUUVFQUlRQURRQ0FBUVFSSEJFQWdBMEVGZENBQmFpQUFRUU4wYWtRQUFBQUFBQUFBQURrREFDQUFRUUZxSVFBTUFRc0xJQU5CQVdvaEF3d0JDd3NnQVNBRVFVQnJLd01BSWdnZ0JDc0RTQ0lHSUFRckExQWlDaER3QWlJSE9RTlFJQUpCUUdzaUFDQUlJQWVqSWdnNUF3QWdBaUFHSUFFckExQ2pJZ1k1QTBnZ0FpQUtJQUVyQTFDaklnYzVBMUFnQWlBRUt3TllJQUVyQTFDak9RTllJQUVnQ0NBR0lBY2dCQ3NESUNJSUlBUXJBeWdpQmlBRUt3TXdJZ2NRN2dJaUNUa0RNQ0FCSUFnZ0NTQUFLd01Bb3FFaUNpQUdJQWtnQWlzRFNLS2hJZ2dnQnlBSklBSXJBMUNpb1NJR0VQQUNJZ2M1QXlnZ0FpQUtJQWVqT1FNZ0lBSWdDQ0FCS3dNb296a0RLQ0FDSUFZZ0FTc0RLS001QXpBZ0FTQUFLd01BSUFJckEwZ2dBaXNEVUNBRUt3TUFJZ2dnQkNzRENDSUdJQVFyQXhBaUJ4RHVBaUlMT1FNUUlBRWdBaXNESUNBQ0t3TW9JQUlyQXpBZ0NDQUdJQWNRN2dJaUNUa0RDQ0FCSUFnZ0NTQUNLd01nb3FFZ0N5QUFLd01Bb3FFaUNpQUdJQWtnQWlzREtLS2hJQXNnQWlzRFNLS2hJZ2dnQnlBSklBSXJBekNpb1NBTElBSXJBMUNpb1NJR0VQQUNJZ2M1QXdBZ0FpQUtJQWVqT1FNQUlBSWdDQ0FCS3dNQW96a0RDQ0FDSUFZZ0FTc0RBS001QXhBZ0FpQUVLd000SUFFckF6QWdBaXNEV0NJR29xRWdBU3NES0tNaUJ6a0RPQ0FDSUFRckF4Z2dCeUFCS3dNSW9xRWdCaUFCS3dNUW9xRWdBU3NEQUtNNUF4aEJBQ0VEQTBBZ0EwRURSd1JBUVFBaEFnTkFJQUpCQTBjRVFDQURRUVYwSUFGcUlBSkJBM1JxSWdBZ0FDc0RBQ0FCS3dOUW96a0RBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0JDUUdRUUFMR2dBZ0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ3NMa3dFQUlBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGSUFBZ0FTZ0NBQ0FFRUlFQkJFQUNRQ0FCS0FJUUlBSkhCRUFnQVNnQ0ZDQUNSd1JBSUFFZ0F6WUNJQ0FCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVVlFUUNBQktBSVlRUUpHQkVBZ0FVRUJPZ0EyQ3dzZ0FVRUVOZ0lzREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEN3c2NBQ0FBSUFFb0FnZ2dCUkNCQVFSQUlBRWdBaUFESUFRUThRSUxDOUlCQVFKL0l3WWhBeU1HUVVCckpBWWdBQ0FCUVFBUWdRRUVmMEVCQlNBQkJIOGdBVUhBOXdCQnNQY0FFT1FFSWdFRWZ5QURJQUUyQWdBZ0EwRUFOZ0lFSUFNZ0FEWUNDQ0FEUVg4MkFnd2dBMElBTndJUUlBTkNBRGNDR0NBRFFnQTNBaUFnQTBJQU53SW9JQU5CQURZQ01DQURRUUE3QVRRZ0EwRUFPZ0EySUFOQkFUWUNNQ0FCS0FJQUtBSWNJUUFnQVNBRElBSW9BZ0JCQVNBQVFSOXhRZm9GYWhFSEFDQURLQUlZUVFGR0JIOGdBaUFES0FJUU5nSUFRUUVGUVFBTEJVRUFDd1ZCQUFzTElRUWdBeVFHSUFRTDNRRUJCWDhqQmlFQUl3WkJNR29rQmlBQVFSaHFJUUlnQUVFUWFpRUJJQUJCSkdvaEEwSE14UU1vQWdBaUJBUkFJQUpCOWY4Q05nSUFRY1AvQWlBQ0VKOENJQU1nQkVIUUFHbzJBZ0FnQkNnQ0FDSUVLQUlFSVFKQnFQY0FJQVFnQTBHbzl3QW9BZ0FvQWhCQlAzRkJ5Z0ZxRVFRQUJFQWdBeWdDQUNJQktBSUFLQUlJSVFNZ0FTQURRZjhBY1VFSWFoRUFBQ0VCSUFCQjlmOENOZ0lBSUFBZ0FqWUNCQ0FBSUFFMkFnaEI3ZjRDSUFBUW53SUZJQUZCOWY4Q05nSUFJQUVnQWpZQ0JFR2Evd0lnQVJDZkFnc0xRZW4vQWlBQVFTQnFFSjhDQzZjRUFRSjhJQUczSUFBb0FnQzNveUVFSUFLM0lBQW9BZ1Mzb3lFRklBTWdBVFlDQUNBRElBSTJBZ1JCQUNFQkEwQWdBVUVFUndSQUlBTkJDR29nQVVFRGRHb2dCQ0FBUVFocUlBRkJBM1JxS3dNQW9qa0RBQ0FEUVNocUlBRkJBM1JxSUFVZ0FFRW9haUFCUVFOMGFpc0RBS0k1QXdBZ0EwSElBR29nQVVFRGRHb2dBRUhJQUdvZ0FVRURkR29yQXdBNUF3QWdBVUVCYWlFQkRBRUxDd0pBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BckFCSWdGQkFXc09CQU1DQVFBRUN5QURJQUFyQTJnNUEyZ2dBeUFBS3dOd09RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBUWdBQ3NEaUFHaU9RT0lBU0FESUFVZ0FDc0RrQUdpT1FPUUFTQURJQVFnQUNzRG1BR2lPUU9ZQVNBRElBVWdBQ3NEb0FHaU9RT2dBU0FESUFBckE2Z0JPUU9vQVF3RUN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFBckE0Z0JJQVFnQmFLak9RT0lBU0FESUFBckE1QUJJQVVnQkNBRW9pQUZvcUtqT1FPUUFRd0RDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBU0FESUFBckE0Z0JJQVVnQkNBRW9pQUZvcUtqT1FPSUFRd0NDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBUXdCQ3d3QkN5QURJQUUyQXJBQkN3djdFd0lSZndGOEl3WWhGQ01HUVJCcUpBWWdGQ0VRSUFGQkFoQTVJUTBnQWtFQ0VEa2hEeUFFS0FJQUlnY2hBaUFOSUE5QmYyb2lFV3hCQVhRZ0Iyb2hCUU5BSUFzZ0RVZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQzBFQmFpRUxEQUVMQ3lBSElRSWdEVUYvYWlJU1FRRjBJQWRxSVFWQkFDRUxBMEFnQ3lBUFNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RVRUJkQ0FDYWlFQ0lBMUJBWFFnQldvaEJTQUxRUUZxSVFzTUFRc0xJQVJCa0lESUFHb2hBa0VBSUExcklSTWdBQ0FCUVFGMFFRSnFhaUVPUVFFaERFRUFJUVVnRFVFQmFpSUFJQVFvQWdScUlRc2dBRUVCZENBSGFpRUhBbjhDUUFOQUFrQWdEQ0FSVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkpJQkVBZ0RpMEFBQ0FEU2dSQUlBZEJBRHNCQUNBTFFRQTZBQUFGQWtBZ0MwRi9PZ0FBSUJOQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUFzTElBNUJBbW9oRGlBTFFRRnFJUXNnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBT2FrRUVhaUVPSUF4QkFXb2hEQ0FBSVFVZ0MwRUNhaUVMSUFkQkJHb2hCd3dCQ3d0QkFFRURRYWlsQVNBUUVEMUJmd3dCQ3lBRVFReHFJUWRCQVNFQVFRRWhBd05BSUFNZ0JVd0VRQ0FESUFJb0FnQWlDMFlFUUNBQVFRRnFJUUVGSUFBaEFTQUxRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQUlnQURZQ0FDQUJJUUFnQTBFQmFpRURJQUpCQkdvaEFnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQWRCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFQkEwQWdBU0FBU0FSQUlBUkJqSUFJYWlBQlFRSjBJZ0pCQW5ScUlBMDJBZ0FnQkVHTWdBaHFJQUpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFKQkFuSkJBblJxSUE4MkFnQWdCRUdNZ0FocUlBSkJBM0pCQW5ScVFRQTJBZ0FnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaGFqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRnFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlVnRUNRR0lCVUxCQUFqQmdzYkFRSi9Jd1loQWlBQUl3WnFKQVlqQmtFUGFrRndjU1FHSUFJTEM2R0xBMkVBUVlBSUN4STJVd0FBUFZNQUFFbFRBQUJUVXdBQVlWTUFRYUFJQzlvVC8vLy8vLy8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vLy8vLy8vLy8vLy93QUFBQUVBQVFFQkFBSUUvLzhGQXdFQUF2OEdCLzhEQVFJQ0F3SURBZ01EQVA4RUJnY0Yvd0VFQlFRRUJRVUVCUWNHQmdZSEJ3Y0cvd0lFQmdjRkEvOEFBUUVCQVFFQkFBRUJBUUFBQVFFQkFRRUFBUUVBQVFFQkFBRUJBUUVBQVFFQUFRRUJBUUFCQVFFQUFRRUFBUUVCQVFFQUFBRUJBUUFCQVFFQkFRRUFBUC8vQS84RkJ2Ly9DUXIvRFAvL0QvOFJFdjhVLy84WEdQLy9HLzhkSHYvL0FRTC9CUC8vQndqLy93di9EUTcvRVAvL0UvOFZGdi8vR1JyL0hQLy9Id0VBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBQlFBQUFBb0FBQUFVQUFBQURRQUFBQm9BQUFBUkFBQUFCd0FBQUE0QUFBQWNBQUFBSFFBQUFCOEFBQUFiQUFBQUV3QUFBQU1BQUFBR0FBQUFEQUFBQUJnQUFBQVZBQUFBRHdBQUFCNEFBQUFaQUFBQUZ3QUFBQXNBQUFBV0FBQUFDUUFBQUJJQUFBQUFBQUFBQVFBQUFBSUFBQUFFQUFBQUNBQUFBQU1BQUFBR0FBQUFEQUFBQUFzQUFBQUZBQUFBQ2dBQUFBY0FBQUFPQUFBQUR3QUFBQTBBQUFBSkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFCSUFBQUFDQUFBQUJRQUFBQk1BQUFBTEFBQUFBd0FBQUIwQUFBQUdBQUFBR3dBQUFCUUFBQUFJQUFBQURBQUFBQmNBQUFBRUFBQUFDZ0FBQUI0QUFBQVJBQUFBQndBQUFCWUFBQUFjQUFBQUdnQUFBQlVBQUFBWkFBQUFDUUFBQUJBQUFBQU5BQUFBRGdBQUFCZ0FBQUFQQUFBQS8vLy8vd0FBQUFBQkFBQUFCQUFBQUFJQUFBQUlBQUFBQlFBQUFBb0FBQUFEQUFBQURnQUFBQWtBQUFBSEFBQUFCZ0FBQUEwQUFBQUxBQUFBREFBQUFBRUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFJQUFBQUVBQUFBQURBQUFBQmdBQUFBd0FBQUFZQUFBQU1BQUFBR0FBQUFCREFBQUFCUUFBQUFvQUFBQVVBQUFBS0FBQUFGQUFBQUFqQUFBQVJnQUFBQThBQUFBZUFBQUFQQUFBQUhnQUFBQnpBQUFBWlFBQUFFa0FBQUFSQUFBQUlnQUFBRVFBQUFBTEFBQUFGZ0FBQUN3QUFBQllBQUFBTXdBQUFHWUFBQUJQQUFBQUhRQUFBRG9BQUFCMEFBQUFhd0FBQUZVQUFBQXBBQUFBVWdBQUFDY0FBQUJPQUFBQUh3QUFBRDRBQUFCOEFBQUFld0FBQUhVQUFBQnBBQUFBVVFBQUFDRUFBQUJDQUFBQUJ3QUFBQTRBQUFBY0FBQUFPQUFBQUhBQUFBQmpBQUFBUlFBQUFBa0FBQUFTQUFBQUpBQUFBRWdBQUFBVEFBQUFKZ0FBQUV3QUFBQWJBQUFBTmdBQUFHd0FBQUJiQUFBQU5RQUFBR29BQUFCWEFBQUFMUUFBQUZvQUFBQTNBQUFBYmdBQUFGOEFBQUE5QUFBQWVnQUFBSGNBQUFCdEFBQUFXUUFBQURFQUFBQmlBQUFBUndBQUFBMEFBQUFhQUFBQU5BQUFBR2dBQUFCVEFBQUFKUUFBQUVvQUFBQVhBQUFBTGdBQUFGd0FBQUE3QUFBQWRnQUFBRzhBQUFCZEFBQUFPUUFBQUhJQUFBQm5BQUFBVFFBQUFCa0FBQUF5QUFBQVpBQUFBRXNBQUFBVkFBQUFLZ0FBQUZRQUFBQXJBQUFBVmdBQUFDOEFBQUJlQUFBQVB3QUFBSDRBQUFCL0FBQUFmUUFBQUhrQUFBQnhBQUFBWVFBQUFFRUFBQUFBQUFBQS8vLy8vd0FBQUFBQkFBQUFCd0FBQUFJQUFBQU9BQUFBQ0FBQUFEZ0FBQUFEQUFBQVB3QUFBQThBQUFBZkFBQUFDUUFBQUZvQUFBQTVBQUFBRlFBQUFBUUFBQUFjQUFBQVFBQUFBRU1BQUFBUUFBQUFjQUFBQUNBQUFBQmhBQUFBQ2dBQUFHd0FBQUJiQUFBQVJnQUFBRG9BQUFBbUFBQUFGZ0FBQUM4QUFBQUZBQUFBTmdBQUFCMEFBQUFUQUFBQVFRQUFBRjhBQUFCRUFBQUFMUUFBQUJFQUFBQXJBQUFBY1FBQUFITUFBQUFoQUFBQVRRQUFBR0lBQUFCMUFBQUFDd0FBQUZjQUFBQnRBQUFBSXdBQUFGd0FBQUJLQUFBQVJ3QUFBRThBQUFBN0FBQUFhQUFBQUNjQUFBQmtBQUFBRndBQUFGSUFBQUF3QUFBQWR3QUFBQVlBQUFCK0FBQUFOd0FBQUEwQUFBQWVBQUFBUGdBQUFCUUFBQUJaQUFBQVFnQUFBQnNBQUFCZ0FBQUFid0FBQUVVQUFBQnJBQUFBTGdBQUFDVUFBQUFTQUFBQU5RQUFBQ3dBQUFCZUFBQUFjZ0FBQUNvQUFBQjBBQUFBVEFBQUFDSUFBQUJXQUFBQVRnQUFBRWtBQUFCakFBQUFad0FBQUhZQUFBQlJBQUFBREFBQUFIMEFBQUJZQUFBQVBRQUFBRzRBQUFBYUFBQUFKQUFBQUdvQUFBQmRBQUFBTkFBQUFFc0FBQUFwQUFBQVNBQUFBRlVBQUFCUUFBQUFaZ0FBQUR3QUFBQjhBQUFBYVFBQUFCa0FBQUFvQUFBQU13QUFBR1VBQUFCVUFBQUFHQUFBQUhzQUFBQlRBQUFBTWdBQUFERUFBQUI2QUFBQWVBQUFBSGtBQUFBRUFBQUFpQUFBQUFVQUFBQ1FBQUFBQmdBQUFKZ0FBQUFKQUFBQXNBQUFBT05aQUFEcFdRQUE3bGtBQVBaWkFBQUFBQUFBc3I2NVBoTGNvTDZRdmprK0V0eWd2cEMrT2I0QUFBQ0FzcjY1dmhMY29ENlF2am0rRXR5Z1BwQytPVDdTY2hpL0FBQUFBTkp5bUw0NkJnUy8wbktZUGpvR0JML1NjaGcvQUFBQWdOSnltRDQ2QmdRLzBuS1l2am9HQkQ4QUFBQ0FWcmc5djJaTkpEOVd1TDIrWmswa1AxYTR2VDRBQUFBQVZyZzlQMlpOSkw5V3VMMCtaazBrdjFhNHZiNE02VmcvQUFBQWdBenAyRDZaMlRzL0RPbll2cG5aT3o4TTZWaS9BQUFBQUF6cDJMNloyVHUvRE9uWVBwblpPNzhBQUFBQS9GTnVQL0ZsVHI4TlZPNCs4V1ZPdncxVTdyNEFBQUNBL0ZOdXYvRmxUajhOVk82KzhXVk9QdzFVN2o0QUFJQy9BQUFBQUFBQUFML1FzMTIvQUFBQVA5Q3pYYjhBQUlBL0FBQUFnQUFBQUQvUXMxMC9BQUFBdjlDelhUOXdQQUFBY0R3QUFIQThBQUJ3UEFBQWpLd0FBS0tzQUFEQ3JBQUE1NndBQUFHdEFBQWdyUUFBTmEwQUFGS3RBQUI4clFBQXZLMEFBTnV0QUFEeXJRQUFDSzRBQUJ5dUFBQlpyZ0FBaWE0QUFLV3VBQURJcmdBQS82NEFBRGF2QUFCTnJ3QUFiYThBQUpldkFBRGtyd0FBLzY4QUFDcXdBQUJHc0FBQWE3QUFBSkd3QUFDMnNBQUF5YkFBQU42d0FBRHhzQUFBQkxFQUFDbXhBQUErc1FBQVVyRUFBSE94QUFDSnNRQUF1TEVBQU9DeEFBQUJzZ0FBSXJJQUFGR3lBQUJpc2dBQWZySUFBTHl5QUFEanNnQUFDck1BQUI2ekFBQk1zd0FBZExNQUFKQ3pBQUMxc3dBQTE3TUFBQUcwQUFBc3RBQUFTclFBQUhpMEFBQ2d0QUFBeDdRQUFQSzBBQUFmdFFBQVQ3VUFBSG0xQUFDbXRRQUF5YlVBQU9lMUFBQUZ0Z0FBTzdZQUFHVzJBQUNFdGdBQXA3WUFBTTYyQUFEanRnQUE5N1lBQUN5M0FBQTh0d0FBZXJjQUFMeTNBQURtdHdBQUVyZ0FBRG00QUFCVnVBQUFnTGdBQUp1NEFBQ3Z1QUFBeHJnQUFOTzRBQUQ3dUFBQU1Ma0FBR3k1QUFDYXVRQUF1N2tBQU9LNUFBRDd1UUFBSTdvQUFFYTZBQUJldWdBQWdyb0FBS2U2QUFDdHVnQUE1cm9BQUNDN0FBQS91d0FBVHJzQUFHdTdBQUNKdXdBQXByc0FBTCs3QUFEWXV3QUFHcndBQUZTOEFBQ0t2QUFBdnJ3QUFOSzhBQURwdkFBQUQ3MEFBRGE5QUFCNHZRQUF0TDBBQU9XOUFBQUp2Z0FBTjc0QUFGSytBQUNLdmdBQXRiNEFRWVFjQzcwRUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQURBQUFBQ2dBQUFCRUFBQUFZQUFBQUlBQUFBQmtBQUFBU0FBQUFDd0FBQUFRQUFBQUZBQUFBREFBQUFCTUFBQUFhQUFBQUlRQUFBQ2dBQUFBd0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFHQUFBQUJ3QUFBQTRBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBTVFBQUFEZ0FBQUE1QUFBQU1nQUFBQ3NBQUFBa0FBQUFIUUFBQUJZQUFBQVBBQUFBRndBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBNkFBQUFPd0FBQURRQUFBQXRBQUFBSmdBQUFCOEFBQUFuQUFBQUxnQUFBRFVBQUFBOEFBQUFQUUFBQURZQUFBQXZBQUFBTndBQUFENEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUFVQUFBQU1BQUFBRXdBQUFCb0FBQUFoQUFBQUtBQUFBREFBQUFBcEFBQUFJZ0FBQUJzQUFBQVVBQUFBRFFBQUFBWUFBQUFPQUFBQUZRQUFBQndBQUFBakFBQUFLZ0FBQURFQUFBQXlBQUFBS3dBQUFDUUFBQUFkQUFBQUZnQUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTBBQUFBTFFBQUFDWUFBQUF1QUFBQU5RQUFBRFlBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUlBdnRBZ0VBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQ0FBQUFBWkFBQUFFZ0FBQUFzQUFBQUVBQUFBQlFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBb0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFLd0FBQUNRQUFBQWRBQUFBSlFBQUFDd0FBQUF0QUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFpQUFBQUd3QUFBQlFBQUFBY0FBQUFJd0FBQUNRQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJd3ZkQVFFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUJrQUFBQVNBQUFBQ3dBQUFCTUFBQUFhQUFBQUd3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUFBQUFBQUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQUtBQUFBRVFBQUFCSUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhFSlF1VUJBRUFBQUFJQUFBQUNRQUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUNCQVIxYURnS0dKUkFERkJFU0JBc0lGQVhZQXhjRzJnRVpCK1VBSEFodkFCNEpOZ0FoQ2hvQUl3c05BQWtNQmdBS0RRTUFEQTBCQUk4UGYxb2tFQ1UvSmhIeUxDY1NmQ0FvRTdrWEtoU0NFU3NWN3d3dEZxRUpMaGN2QnpBWVhBVXhHUVlFTXhvREF6UWJRQUkySExFQk9CMUVBVGtlOVFBN0g3Y0FQQ0NLQUQ0aGFBQS9JazRBSUNNN0FDRUpMQUNsSmVGYVFDWk1TRUVuRFRwREtQRXVSQ2tmSmtVcU14OUdLNmdaU0N3WUZVa3RkeEZLTG5RT1N5LzdDMDB3K0FsT01XRUlUeklHQnpBenpRVXlOTjRFTWpVUEJETTJZd00wTjlRQ05UaGNBalk1K0FFM09xUUJPRHRnQVRrOEpRRTZQZllBT3o3TEFEMC9xd0E5SUk4QXdVRVNXMUJDQkUxUlF5eEJVa1RZTjFORjZDOVVSandwVmtkNUkxZEkzeDVYU2FrYVNFcE9GMGhMSkJSS1RKd1JTazFyRDB0T1VRMU5UN1lMVFRCQUN0QlJNbGhZVWh4TldWT09RMXBVM1R0YlZlNDBYRmF1TGwxWG1pbFdSeFlsMkZsd1ZWOWFxVXhnVzlsRVlWd2lQbU5kSkRoalhyUXlYVllYTHQ5Z3FGWmxZVVpQWm1MbFIyZGp6MEZvWkQwOFkxMWVOMmxtTVZKcVp3OU1hMmc1Um1kalhrSHBhaWRXYkd2blVHMW5oVXR1YlpkVmIydFBVTzV2RUZwd2JTSlY4Ry9yV1hGeEhWb0FRZUVwQy9BQlFNVlluMU5DU3dCQVNUS2pJcWdSeFZnaGUveHpZbWpGV0w5RkN6QitHSjlUL0hOQmJWUmluMU96UVVFdEVoZENTMkpvVkdKK1dFSkxJVHU2S01NVUFFREZXSjlUUWtzQVFFa3lveUtvRVVreXYwV3pRU0U3U1RLQ0p6Y2I0QTJqSWdzd1FTMjZLS01pTnh1L0VvNEpxQkYrR0JJWHd4U29FZUFOamduZkJBQUFBQUFBQVBBLzcyRklzVkF4OWovS2IwMlJydWYwUDZvUmJPOWkwUEkvQUFBQUFBQUE4RDg3djZmQWFTVHBQN3NneDN0NlVlRS9YYXR5M2xXbzBUOEFBQUFBQVFBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBRkFBQUFBZ0FBQUFRQUFBQUdBQUFBQXdBQUFBY0FBQUFJQUVIa0t3dWRBUUVBQUFBRkFBQUFCZ0FBQUFJQUFBQUVBQUFBQndBQUFBd0FBQUFEQUFBQUNBQUFBQXNBQUFBTkFBQUFDUUFBQUFvQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUJRQUFBQVlBQUFBT0FBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFBOEFBQUFEQUFBQUNBQUFBQXdBQUFBUUFBQUFGUUFBQUFrQUFBQUxBQUFBRVFBQUFCUUFBQUFXQUFBQUNnQUFBQklBQUFBVEFBQUFGd0FBQUJnQVFaUXRDODBDQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCa0FBQUFEQUFBQUNBQUFBQXdBQUFBUkFBQUFHQUFBQUJvQUFBQUpBQUFBQ3dBQUFCSUFBQUFYQUFBQUd3QUFBQ0FBQUFBS0FBQUFFd0FBQUJZQUFBQWNBQUFBSHdBQUFDRUFBQUFVQUFBQUZRQUFBQjBBQUFBZUFBQUFJZ0FBQUNNQUFBQUFBQUFBQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBYkFBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFCQUFBQUFhQUFBQUhBQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSFFBQUFDWUFBQUFKQUFBQUN3QUFBQklBQUFBWUFBQUFIZ0FBQUNVQUFBQW5BQUFBQ2dBQUFCTUFBQUFYQUFBQUh3QUFBQ1FBQUFBb0FBQUFMUUFBQUJRQUFBQVdBQUFBSUFBQUFDTUFBQUFwQUFBQUxBQUFBQzRBQUFBVkFBQUFJUUFBQUNJQUFBQXFBQUFBS3dBQUFDOEFBQUF3QUVIMEx3dlFCQUVBQUFBRkFBQUFCZ0FBQUE0QUFBQVBBQUFBR3dBQUFCd0FBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJvQUFBQWRBQUFBS2dBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIZ0FBQUNrQUFBQXJBQUFBQ1FBQUFBc0FBQUFTQUFBQUdBQUFBQjhBQUFBb0FBQUFMQUFBQURVQUFBQUtBQUFBRXdBQUFCY0FBQUFnQUFBQUp3QUFBQzBBQUFBMEFBQUFOZ0FBQUJRQUFBQVdBQUFBSVFBQUFDWUFBQUF1QUFBQU13QUFBRGNBQUFBOEFBQUFGUUFBQUNJQUFBQWxBQUFBTHdBQUFESUFBQUE0QUFBQU93QUFBRDBBQUFBakFBQUFKQUFBQURBQUFBQXhBQUFBT1FBQUFEb0FBQUErQUFBQVB3QUFBQUFBQUFBQkFBQUFBd0FBQUFjQUFBQVBBQUFBSHdBQUFEOEFBQUIvQUFBQS93QUFBUDhCQUFEL0F3QUEvd2NBQVA4UEFBRC9Id0FBL3o4QUFQOS9BQUFBd0REd0RNdzgvQVBETS9NUHp6Ly9nRUN3Y0l4TXZIeURRN056ajArL2Z5RGdFTkFzN0J6Y0krTVQweS92SDkrZ1lKQlFyR3ljWEtOamsxT3ZiNTlmQ01nNCtBVEVOUFFMeXp2N0I4YzM5NGhJdUhpRVJMUjBpMHU3ZTRkSHQzY282QmpZSk9RVTFDdnJHOXNuNXhmWHFHaVlXS1JrbEZTcmE1dGJwMmVYVndMQ012SU96ajcrQWNFeDhRM05QZjJDUXJKeWprNitmb0ZCc1hHTlRiMTlJdUlTMGk3dUh0NGg0UkhSTGUwZDNhSmlrbEt1YnA1ZW9XR1JVYTF0blYwS3lqcjZCc1kyOWduSk9ma0Z4VFgxaWtxNmVvWkd0bmFKU2JsNWhVVzFkU3JxR3RvbTVoYldLZWtaMlNYbEZkV3FhcHBhcG1hV1ZxbHBtVm1sWlpWVjNoSUVsUUFBQUFELy8vLy8vLy8vLy8vLy8vOEFRZEEwQzh3QkFnQUF3QU1BQU1BRUFBREFCUUFBd0FZQUFNQUhBQURBQ0FBQXdBa0FBTUFLQUFEQUN3QUF3QXdBQU1BTkFBREFEZ0FBd0E4QUFNQVFBQURBRVFBQXdCSUFBTUFUQUFEQUZBQUF3QlVBQU1BV0FBREFGd0FBd0JnQUFNQVpBQURBR2dBQXdCc0FBTUFjQUFEQUhRQUF3QjRBQU1BZkFBREFBQUFBc3dFQUFNTUNBQUREQXdBQXd3UUFBTU1GQUFEREJnQUF3d2NBQU1NSUFBRERDUUFBd3dvQUFNTUxBQUREREFBQXd3MEFBTk1PQUFERER3QUF3d0FBRExzQkFBekRBZ0FNd3dNQURNTUVBQXpUQUVHa09ndjVBd0VBQUFBQ0FBQUFBd0FBQUFRQUFBQUZBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQW9BQUFBTEFBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBSVFBQUFDSUFBQUFqQUFBQUpBQUFBQ1VBQUFBbUFBQUFKd0FBQUNnQUFBQXBBQUFBS2dBQUFDc0FBQUFzQUFBQUxRQUFBQzRBQUFBdkFBQUFNQUFBQURFQUFBQXlBQUFBTXdBQUFEUUFBQUExQUFBQU5nQUFBRGNBQUFBNEFBQUFPUUFBQURvQUFBQTdBQUFBUEFBQUFEMEFBQUErQUFBQVB3QUFBRUFBQUFCaEFBQUFZZ0FBQUdNQUFBQmtBQUFBWlFBQUFHWUFBQUJuQUFBQWFBQUFBR2tBQUFCcUFBQUFhd0FBQUd3QUFBQnRBQUFBYmdBQUFHOEFBQUJ3QUFBQWNRQUFBSElBQUFCekFBQUFkQUFBQUhVQUFBQjJBQUFBZHdBQUFIZ0FBQUI1QUFBQWVnQUFBRnNBQUFCY0FBQUFYUUFBQUY0QUFBQmZBQUFBWUFBQUFHRUFBQUJpQUFBQVl3QUFBR1FBQUFCbEFBQUFaZ0FBQUdjQUFBQm9BQUFBYVFBQUFHb0FBQUJyQUFBQWJBQUFBRzBBQUFCdUFBQUFid0FBQUhBQUFBQnhBQUFBY2dBQUFITUFBQUIwQUFBQWRRQUFBSFlBQUFCM0FBQUFlQUFBQUhrQUFBQjZBQUFBZXdBQUFId0FBQUI5QUFBQWZnQUFBSDhBUWFERUFBdi9BUUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU1nQWlBQ0lBSWdBaUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FCWUFUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBallDTmdJMkFqWUNOZ0kyQWpZQ05nSTJBallCTUFFd0FUQUJNQUV3QVRBQk1BSTFRalZDTlVJMVFqVkNOVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQk1BRXdBVEFCTUFFd0FUQUNOWUkxZ2pXQ05ZSTFnaldDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdUQUJNQUV3QVRBQWdCQnBNd0FDL2tEQVFBQUFBSUFBQUFEQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFBc0FBQUFNQUFBQURRQUFBQTRBQUFBUEFBQUFFQUFBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFWQUFBQUZnQUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNNQUFBQWtBQUFBSlFBQUFDWUFBQUFuQUFBQUtBQUFBQ2tBQUFBcUFBQUFLd0FBQUN3QUFBQXRBQUFBTGdBQUFDOEFBQUF3QUFBQU1RQUFBRElBQUFBekFBQUFOQUFBQURVQUFBQTJBQUFBTndBQUFEZ0FBQUE1QUFBQU9nQUFBRHNBQUFBOEFBQUFQUUFBQUQ0QUFBQS9BQUFBUUFBQUFFRUFBQUJDQUFBQVF3QUFBRVFBQUFCRkFBQUFSZ0FBQUVjQUFBQklBQUFBU1FBQUFFb0FBQUJMQUFBQVRBQUFBRTBBQUFCT0FBQUFUd0FBQUZBQUFBQlJBQUFBVWdBQUFGTUFBQUJVQUFBQVZRQUFBRllBQUFCWEFBQUFXQUFBQUZrQUFBQmFBQUFBV3dBQUFGd0FBQUJkQUFBQVhnQUFBRjhBQUFCZ0FBQUFRUUFBQUVJQUFBQkRBQUFBUkFBQUFFVUFBQUJHQUFBQVJ3QUFBRWdBQUFCSkFBQUFTZ0FBQUVzQUFBQk1BQUFBVFFBQUFFNEFBQUJQQUFBQVVBQUFBRkVBQUFCU0FBQUFVd0FBQUZRQUFBQlZBQUFBVmdBQUFGY0FBQUJZQUFBQVdRQUFBRm9BQUFCN0FBQUFmQUFBQUgwQUFBQitBQUFBZndCQm9OUUFDNkVDQ2dBQUFHUUFBQURvQXdBQUVDY0FBS0NHQVFCQVFnOEFnSmFZQUFEaDlRWC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUFFQ0F3UUZCZ2NJQ2YvLy8vLy8vLzhLQ3d3TkRnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJLy8vLy8vLy93b0xEQTBPRHhBUkVoTVVGUllYR0JrYUd4d2RIaDhnSVNJai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3dCQjBOWUFDeGdSQUFvQUVSRVJBQUFBQUFVQUFBQUFBQUFKQUFBQUFBc0FRZkRXQUFzaEVRQVBDaEVSRVFNS0J3QUJFd2tMQ3dBQUNRWUxBQUFMQUFZUkFBQUFFUkVSQUVHaDF3QUxBUXNBUWFyWEFBc1lFUUFLQ2hFUkVRQUtBQUFDQUFrTEFBQUFDUUFMQUFBTEFFSGIxd0FMQVF3QVFlZlhBQXNWREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFFR1YyQUFMQVE0QVFhSFlBQXNWRFFBQUFBUU5BQUFBQUFrT0FBQUFBQUFPQUFBT0FFSFAyQUFMQVJBQVFkdllBQXNlRHdBQUFBQVBBQUFBQUFrUUFBQUFBQUFRQUFBUUFBQVNBQUFBRWhJU0FFR1MyUUFMRGhJQUFBQVNFaElBQUFBQUFBQUpBRUhEMlFBTEFRc0FRYy9aQUFzVkNnQUFBQUFLQUFBQUFBa0xBQUFBQUFBTEFBQUxBRUg5MlFBTEFRd0FRWW5hQUF0K0RBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BQUF3TVRJek5EVTJOemc1UVVKRFJFVkdHUkpFT3dJL0xFY1VQVE13Q2hzR1JrdEZOdzlKRG80WEEwQWRQR2tyTmg5S0xSd0JJQ1VwSVFnTUZSWWlMaEE0UGdzME1SaGtkSFYyTDBFSmZ6a1JJME15UW9tS2l3VUVKaWduRFNvZU5Zd0hHa2lURTVTVkFFR1Eyd0FMMXc1SmJHeGxaMkZzSUdKNWRHVWdjMlZ4ZFdWdVkyVUFSRzl0WVdsdUlHVnljbTl5QUZKbGMzVnNkQ0J1YjNRZ2NtVndjbVZ6Wlc1MFlXSnNaUUJPYjNRZ1lTQjBkSGtBVUdWeWJXbHpjMmx2YmlCa1pXNXBaV1FBVDNCbGNtRjBhVzl1SUc1dmRDQndaWEp0YVhSMFpXUUFUbThnYzNWamFDQm1hV3hsSUc5eUlHUnBjbVZqZEc5eWVRQk9ieUJ6ZFdOb0lIQnliMk5sYzNNQVJtbHNaU0JsZUdsemRITUFWbUZzZFdVZ2RHOXZJR3hoY21kbElHWnZjaUJrWVhSaElIUjVjR1VBVG04Z2MzQmhZMlVnYkdWbWRDQnZiaUJrWlhacFkyVUFUM1YwSUc5bUlHMWxiVzl5ZVFCU1pYTnZkWEpqWlNCaWRYTjVBRWx1ZEdWeWNuVndkR1ZrSUhONWMzUmxiU0JqWVd4c0FGSmxjMjkxY21ObElIUmxiWEJ2Y21GeWFXeDVJSFZ1WVhaaGFXeGhZbXhsQUVsdWRtRnNhV1FnYzJWbGF3QkRjbTl6Y3kxa1pYWnBZMlVnYkdsdWF3QlNaV0ZrTFc5dWJIa2dabWxzWlNCemVYTjBaVzBBUkdseVpXTjBiM0o1SUc1dmRDQmxiWEIwZVFCRGIyNXVaV04wYVc5dUlISmxjMlYwSUdKNUlIQmxaWElBVDNCbGNtRjBhVzl1SUhScGJXVmtJRzkxZEFCRGIyNXVaV04wYVc5dUlISmxablZ6WldRQVNHOXpkQ0JwY3lCa2IzZHVBRWh2YzNRZ2FYTWdkVzV5WldGamFHRmliR1VBUVdSa2NtVnpjeUJwYmlCMWMyVUFRbkp2YTJWdUlIQnBjR1VBU1M5UElHVnljbTl5QUU1dklITjFZMmdnWkdWMmFXTmxJRzl5SUdGa1pISmxjM01BUW14dlkyc2daR1YyYVdObElISmxjWFZwY21Wa0FFNXZJSE4xWTJnZ1pHVjJhV05sQUU1dmRDQmhJR1JwY21WamRHOXllUUJKY3lCaElHUnBjbVZqZEc5eWVRQlVaWGgwSUdacGJHVWdZblZ6ZVFCRmVHVmpJR1p2Y20xaGRDQmxjbkp2Y2dCSmJuWmhiR2xrSUdGeVozVnRaVzUwQUVGeVozVnRaVzUwSUd4cGMzUWdkRzl2SUd4dmJtY0FVM2x0WW05c2FXTWdiR2x1YXlCc2IyOXdBRVpwYkdWdVlXMWxJSFJ2YnlCc2IyNW5BRlJ2YnlCdFlXNTVJRzl3Wlc0Z1ptbHNaWE1nYVc0Z2MzbHpkR1Z0QUU1dklHWnBiR1VnWkdWelkzSnBjSFJ2Y25NZ1lYWmhhV3hoWW14bEFFSmhaQ0JtYVd4bElHUmxjMk55YVhCMGIzSUFUbThnWTJocGJHUWdjSEp2WTJWemN3QkNZV1FnWVdSa2NtVnpjd0JHYVd4bElIUnZieUJzWVhKblpRQlViMjhnYldGdWVTQnNhVzVyY3dCT2J5QnNiMk5yY3lCaGRtRnBiR0ZpYkdVQVVtVnpiM1Z5WTJVZ1pHVmhaR3h2WTJzZ2QyOTFiR1FnYjJOamRYSUFVM1JoZEdVZ2JtOTBJSEpsWTI5MlpYSmhZbXhsQUZCeVpYWnBiM1Z6SUc5M2JtVnlJR1JwWldRQVQzQmxjbUYwYVc5dUlHTmhibU5sYkdWa0FFWjFibU4wYVc5dUlHNXZkQ0JwYlhCc1pXMWxiblJsWkFCT2J5QnRaWE56WVdkbElHOW1JR1JsYzJseVpXUWdkSGx3WlFCSlpHVnVkR2xtYVdWeUlISmxiVzkyWldRQVJHVjJhV05sSUc1dmRDQmhJSE4wY21WaGJRQk9ieUJrWVhSaElHRjJZV2xzWVdKc1pRQkVaWFpwWTJVZ2RHbHRaVzkxZEFCUGRYUWdiMllnYzNSeVpXRnRjeUJ5WlhOdmRYSmpaWE1BVEdsdWF5Qm9ZWE1nWW1WbGJpQnpaWFpsY21Wa0FGQnliM1J2WTI5c0lHVnljbTl5QUVKaFpDQnRaWE56WVdkbEFFWnBiR1VnWkdWelkzSnBjSFJ2Y2lCcGJpQmlZV1FnYzNSaGRHVUFUbTkwSUdFZ2MyOWphMlYwQUVSbGMzUnBibUYwYVc5dUlHRmtaSEpsYzNNZ2NtVnhkV2x5WldRQVRXVnpjMkZuWlNCMGIyOGdiR0Z5WjJVQVVISnZkRzlqYjJ3Z2QzSnZibWNnZEhsd1pTQm1iM0lnYzI5amEyVjBBRkJ5YjNSdlkyOXNJRzV2ZENCaGRtRnBiR0ZpYkdVQVVISnZkRzlqYjJ3Z2JtOTBJSE4xY0hCdmNuUmxaQUJUYjJOclpYUWdkSGx3WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRTV2ZENCemRYQndiM0owWldRQVVISnZkRzlqYjJ3Z1ptRnRhV3g1SUc1dmRDQnpkWEJ3YjNKMFpXUUFRV1JrY21WemN5Qm1ZVzFwYkhrZ2JtOTBJSE4xY0hCdmNuUmxaQ0JpZVNCd2NtOTBiMk52YkFCQlpHUnlaWE56SUc1dmRDQmhkbUZwYkdGaWJHVUFUbVYwZDI5eWF5QnBjeUJrYjNkdUFFNWxkSGR2Y21zZ2RXNXlaV0ZqYUdGaWJHVUFRMjl1Ym1WamRHbHZiaUJ5WlhObGRDQmllU0J1WlhSM2IzSnJBRU52Ym01bFkzUnBiMjRnWVdKdmNuUmxaQUJPYnlCaWRXWm1aWElnYzNCaFkyVWdZWFpoYVd4aFlteGxBRk52WTJ0bGRDQnBjeUJqYjI1dVpXTjBaV1FBVTI5amEyVjBJRzV2ZENCamIyNXVaV04wWldRQVEyRnVibTkwSUhObGJtUWdZV1owWlhJZ2MyOWphMlYwSUhOb2RYUmtiM2R1QUU5d1pYSmhkR2x2YmlCaGJISmxZV1I1SUdsdUlIQnliMmR5WlhOekFFOXdaWEpoZEdsdmJpQnBiaUJ3Y205bmNtVnpjd0JUZEdGc1pTQm1hV3hsSUdoaGJtUnNaUUJTWlcxdmRHVWdTUzlQSUdWeWNtOXlBRkYxYjNSaElHVjRZMlZsWkdWa0FFNXZJRzFsWkdsMWJTQm1iM1Z1WkFCWGNtOXVaeUJ0WldScGRXMGdkSGx3WlFCT2J5Qmxjbkp2Y2lCcGJtWnZjbTFoZEdsdmJnQUFBQUFBQUV4RFgwTlVXVkJGQUFBQUFFeERYMDVWVFVWU1NVTUFBRXhEWDFSSlRVVUFBQUFBQUV4RFgwTlBURXhCVkVVQUFFeERYMDFQVGtWVVFWSlpBRXhEWDAxRlUxTkJSMFZUQUVIdzZRQUxsd0lEQUFBQUJBQUFBQVFBQUFBR0FBQUFnL21pQUVST2JnRDhLUlVBMFZjbkFOMDA5UUJpMjhBQVBKbVZBRUdRUXdCalVmNEF1OTZyQUxkaHhRQTZiaVFBMGsxQ0FFa0c0QUFKNmk0QUhKTFJBT3NkL2dBcHNSd0E2RDZuQVBVMWdnQkV1eTRBbk9tRUFMUW1jQUJCZmw4QTFwRTVBRk9ET1FDYzlEa0FpMStFQUNqNXZRRDRIenNBM3YrWEFBK1lCUUFSTCs4QUNscUxBRzBmYlFEUGZqWUFDY3NuQUVaUHR3Q2VaajhBTGVwZkFMb25kUURsNjhjQVBYdnhBUGM1QndDU1Vvb0ErMnZxQUIreFh3QUlYWTBBTUFOV0FIdjhSZ0R3cTJzQUlMelBBRGIwbWdEanFSMEFYbUdSQUFnYjVnQ0ZtV1VBb0JSZkFJMUFhQUNBMlA4QUozTk5BQVlHTVFES1ZoVUF5YWh6QUh2aVlBQnJqTUFBUVpQc0FBdjlBMEQ3SWZrL0FBQUFBQzFFZEQ0QUFBQ0FtRWI0UEFBQUFHQlJ6SGc3QUFBQWdJTWI4RGtBQUFCQUlDVjZPQUFBQUlBaWd1TTJBQUFBQUIzemFUVTRZKzArMmc5SlAxNlllei9hRDhrL2FUZXNNV2doSWpPMER4UXphQ0dpTXdBQUFBQUNBQUFBQXdBQUFBVUFBQUFIQUFBQUN3QUFBQTBBQUFBUkFBQUFFd0FBQUJjQUFBQWRBQUFBSHdBQUFDVUFBQUFwQUFBQUt3QUFBQzhBQUFBMUFBQUFPd0FBQUQwQUFBQkRBQUFBUndBQUFFa0FBQUJQQUFBQVV3QUFBRmtBQUFCaEFBQUFaUUFBQUdjQUFBQnJBQUFBYlFBQUFIRUFBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFsUUFBQUpjQUFBQ2RBQUFBb3dBQUFLY0FBQUN0QUFBQXN3QUFBTFVBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMHdBQUFBRUFBQUFMQUFBQURRQUFBQkVBQUFBVEFBQUFGd0FBQUIwQUFBQWZBQUFBSlFBQUFDa0FBQUFyQUFBQUx3QUFBRFVBQUFBN0FBQUFQUUFBQUVNQUFBQkhBQUFBU1FBQUFFOEFBQUJUQUFBQVdRQUFBR0VBQUFCbEFBQUFad0FBQUdzQUFBQnRBQUFBY1FBQUFIa0FBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFqd0FBQUpVQUFBQ1hBQUFBblFBQUFLTUFBQUNuQUFBQXFRQUFBSzBBQUFDekFBQUF0UUFBQUxzQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTBRQUFBREF4TWpNME5UWTNPRGxoWW1Oa1pXWkJRa05FUlVaNFdDc3RjRkJwU1c1T0FFR2c4QUFMZ1FFbEFBQUFiUUFBQUM4QUFBQWxBQUFBWkFBQUFDOEFBQUFsQUFBQWVRQUFBQ1VBQUFCWkFBQUFMUUFBQUNVQUFBQnRBQUFBTFFBQUFDVUFBQUJrQUFBQUpRQUFBRWtBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUFnQUFBQUpRQUFBSEFBQUFBQUFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFRYkR4QUF1NUFTVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQlFSUUFBRTJNQUFIaEZBQURaYndBQThEZ0FBQUFBQUFCNFJRQUE3WElBQUtnN0FBQUFBQUFBZUVVQUFHbCtBQUM0UWdBQUFBQUFBSGhGQUFBWmtBQUF1RUlBQUFBQUFBQjRSUUFBalpBQUFMaENBQUFBQUFBQTVFVUFBSnluQUFBQUFBQUFBUUFBQUdBNUFBQUFBQUFBVUVVQUFOdW5BQUFGQUVIMDhnQUxBUUlBUVl6ekFBc0tBUUFBQUFFQUFBQ202Z0JCcFBNQUN3RUNBRUd6OHdBTEJmLy8vLy8vQUVINDh3QUxBUWtBUVlUMEFBc0JBZ0JCbVBRQUN4SUNBQUFBQUFBQUFBRUFBQUJvMGdBQUFBUUFRY1QwQUFzRS8vLy8vd0JCaVBVQUN3RUZBRUdVOVFBTEFRTUFRYXoxQUFzT0FRQUFBQUlBQUFCNDFnQUFBQVFBUWNUMUFBc0JBUUJCMC9VQUN3VUsvLy8vL3dCQnZQWUFDd0VEQUVIajlnQUxCZi8vLy8vL0FFR285d0FMMXhCUVJRQUEvcjhBQUhoRkFBQmV3QUFBd0RzQUFBQUFBQUI0UlFBQUM4QUFBTkE3QUFBQUFBQUFVRVVBQUN6QUFBQjRSUUFBT2NBQUFMQTdBQUFBQUFBQWVFVUFBS2pBQUFDb093QUFBQUFBQUhoRkFBQzR3QUFBNkRzQUFBQUFBQUI0UlFBQXljQUFBTUE3QUFBQUFBQUFlRVVBQU92QUFBQUlQQUFBQUFBQUFIaEZBQUFQd1FBQXdEc0FBQUFBQUFESVJRQUFOOEVBQU1oRkFBQTV3UUFBeUVVQUFEdkJBQURJUlFBQVBjRUFBTWhGQUFBL3dRQUF5RVVBQUVIQkFBRElSUUFBUThFQUFNaEZBQUJGd1FBQXlFVUFBRWZCQUFESVJRQUFac29BQU1oRkFBQkp3UUFBeUVVQUFFdkJBQURJUlFBQVRjRUFBSGhGQUFCUHdRQUFzRHNBQUFBQUFBQlFSUUFBc01RQUFGQkZBQURQeEFBQVVFVUFBTzdFQUFCUVJRQUFEY1VBQUZCRkFBQXN4UUFBVUVVQUFFdkZBQUJRUlFBQWFzVUFBRkJGQUFDSnhRQUFVRVVBQUtqRkFBQlFSUUFBeDhVQUFGQkZBQURteFFBQVVFVUFBQVhHQUFCUVJRQUFKTVlBQU9SRkFBQTN4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFCNXhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUM3eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBRDZ4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBSGhGQUFCTHh3QUFpRDBBQUFBQUFBQlFSUUFBT2NjQUFIaEZBQUIxeHdBQWlEMEFBQUFBQUFCUVJRQUFuOGNBQUZCRkFBRFF4d0FBNUVVQUFBSElBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQURESUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvLzVFVUFBRi9JQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFJN0lBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy9lRVVBQUwzSUFBQ29QUUFBQUFBQUFIaEZBQURXeUFBQW9EMEFBQUFBQUFCNFJRQUFGY2tBQUtnOUFBQUFBQUFBZUVVQUFDM0pBQUNnUFFBQUFBQUFBSGhGQUFCRnlRQUFZRDRBQUFBQUFBQjRSUUFBV2NrQUFMQkNBQUFBQUFBQWVFVUFBRy9KQUFCZ1BnQUFBQUFBQU9SRkFBQ0l5UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBS0ErQUFBQUFBQUE1RVVBQU16SkFBQUFBQUFBQVFBQUFMZytBQUFBQUFBQVVFVUFBT0xKQUFEa1JRQUErOGtBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURnUGdBQUFBQUFBT1JGQUFBL3lnQUFBQUFBQUFFQUFBQzRQZ0FBQUFBQUFPUkZBQUJveWdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUJnL0FBQUFBQUFBNUVVQUFLektBQUFBQUFBQUFRQUFBREEvQUFBQUFBQUFVRVVBQU1MS0FBRGtSUUFBMjhvQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCWVB3QUFBQUFBQU9SRkFBQWZ5d0FBQUFBQUFBRUFBQUF3UHdBQUFBQUFBT1JGQUFCMXpBQUFBQUFBQUFNQUFBQmdQZ0FBQWdBQUFKZy9BQUFDQUFBQW9EOEFBQUFJQUFCUVJRQUEzTXdBQUZCRkFBQzZ6QUFBNUVVQUFPL01BQUFBQUFBQUF3QUFBR0ErQUFBQ0FBQUFtRDhBQUFJQUFBRFFQd0FBQUFnQUFGQkZBQUEwelFBQTVFVUFBRmJOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBK0Q4QUFBQUlBQUJRUlFBQW04MEFBT1JGQUFDd3pRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFQZy9BQUFBQ0FBQTVFVUFBUFhOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQUJRUlFBQUVjNEFBT1JGQUFBbXpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkFBQUFDQUFBQTVFVUFBRUxPQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQURrUlFBQVhzNEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQkFRQUFBQWdBQUFPUkZBQUNKemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1oQUFBQUFBQUFBVUVVQUFNL09BQURrUlFBQTg4NEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRHdRQUFBQUFBQUFGQkZBQUE1endBQTVFVUFBRmpQQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBR0VFQUFBQUFBQUJRUlFBQW5zOEFBT1JGQUFDM3p3QUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkJBQUFBQUFBQVVFVUFBUDNQQUFEa1JRQUFGdEFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJvUVFBQUFnQUFBRkJGQUFBcjBBQUE1RVVBQU1MUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFRUFBQUlBQUFCNFJRQUFROUFBQUtCQkFBQUFBQUFBNUVVQUFHYlFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQlFSUUFBaWRBQUFIaEZBQUNnMEFBQW9FRUFBQUFBQUFEa1JRQUExOUFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURBUVFBQUFnQUFBT1JGQUFENTBBQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNQkJBQUFDQUFBQTVFVUFBQnZSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUI0UlFBQVB0RUFBR0ErQUFBQUFBQUE1RVVBQUZUUkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFSUFBQUlBQUFCUVJRQUFadEVBQU9SRkFBQjcwUUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBR2hDQUFBQ0FBQUFlRVVBQUpqUkFBQmdQZ0FBQUFBQUFIaEZBQUN0MFFBQVlENEFBQUFBQUFCUVJRQUF3dEVBQU9SRkFBRGIwUUFBQUFBQUFBRUFBQUN3UWdBQUFBQUFBQUVBQUFBQUFBQUErRGdBQUFFQUFBQUNBQUFBQUFBQUFQQTRBQUFEQUFBQUJBQUFBQUFBQUFBSU9RQUFCUUFBQUFZQUFBQUJBQUFBdVZLTVBvNWE1ejY1VW93K0FBQUFBQmc1QUFBSEFBQUFDQUFBQUFrQUFBQUJBQUFBQ2dBQUFBQUFBQUFvT1FBQUJ3QUFBQXNBQUFBTUFBQUFBZ0FBQUEwQUFBQUFBQUFBT0RrQUFBY0FBQUFPQUFBQUR3QUFBQU1BQUFBUUFBQUEvLy8vLy83Ly8vLzkvLy8vT0R3QUFIQThBQUNRUEFBQU9Ed0FBSEE4QUFCd1BBQUFtRHdBQUhBOEFBQTRQQUFBY0R3QUFKZzhBQUJ3UEFBQU9Ed0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBY0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFBUUFBQUFBQUFBQUNBQUFBUUFZQUFJQStBQUFBQUFBQWlCTUFBREFhQUFBVUFBQUFReTVWVkVZdE9BQkJqSWdCQ3dMd1F3QkJwSWdCQ3hKb09RQUErRGtBQUlnNkFBQ0lPZ0FBSUIwQVFlaUpBUXNDak9JQVFhQ0tBUXU5RWlBaUFBQWdKZ0FBWDNDSkFQOEpMdzhBQUlBL0FBREFQd0FBQUFEY3o5RTFBQUFBQUFEQUZUOEFBQUFBc0RzQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBRUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFOZzdBQUFSQUFBQUZRQUFBQk1BQUFBVUFBQUFCQUFBQUFJQUFBQUNBQUFBQWdBQUFBQUFBQURvT3dBQUZnQUFBQmNBQUFBRUFBQUFBQUFBQVBnN0FBQVdBQUFBR0FBQUFBUUFBQUFBQUFBQUtEd0FBQkVBQUFBWkFBQUFFd0FBQUJRQUFBQUZBQUFBQUFBQUFLQThBQUFSQUFBQUdnQUFBQk1BQUFBVUFBQUFCQUFBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUNJUFFBQUd3QUFBQndBQUFBQUFBQUFvRDBBQUIwQUFBQWVBQUFBQVFBQUFBWUFBQUFCQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBZ0FBQUFGQUFBQUFBQUFBS2c5QUFBZkFBQUFJQUFBQUFJQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBTEFBQUFEQUFBQUFZQUFBQUxBQUFBQndBQUFBZ0FBQUFBQUFBQXNEMEFBQ0VBQUFBaUFBQUErUC8vLy9qLy8vK3dQUUFBSXdBQUFDUUFBQUNnUmdBQXRFWUFBQWdBQUFBQUFBQUF5RDBBQUNVQUFBQW1BQUFBK1AvLy8vai8vLy9JUFFBQUp3QUFBQ2dBQUFEUVJnQUE1RVlBQUFRQUFBQUFBQUFBNEQwQUFDa0FBQUFxQUFBQS9QLy8vL3ovLy8vZ1BRQUFLd0FBQUN3QUFBQUFSd0FBRkVjQUFBUUFBQUFBQUFBQStEMEFBQzBBQUFBdUFBQUEvUC8vLy96Ly8vLzRQUUFBTHdBQUFEQUFBQUF3UndBQVJFY0FBQUFBQUFBUVBnQUFId0FBQURFQUFBQURBQUFBQ1FBQUFBSUFBQUFGQUFBQURRQUFBQW9BQUFBS0FBQUFDd0FBQUF3QUFBQUdBQUFBREFBQUFBZ0FBQUFBQUFBQUlENEFBQjBBQUFBeUFBQUFCQUFBQUFZQUFBQUJBQUFBQkFBQUFBNEFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUEwQUFBQUpBQUFBQUFBQUFEQStBQUFmQUFBQU13QUFBQVVBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFQQUFBQUVBQUFBQW9BQUFBTEFBQUFCd0FBQUFBQUFBQkFQZ0FBSFFBQUFEUUFBQUFHQUFBQUJnQUFBQUVBQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBRVFBQUFCSUFBQUFMQUFBQUNBQUFBQVVBQUFBQUFBQUFVRDRBQURVQUFBQTJBQUFBTndBQUFBRUFBQUFHQUFBQURnQUFBQUFBQUFCd1BnQUFPQUFBQURrQUFBQTNBQUFBQWdBQUFBY0FBQUFQQUFBQUFBQUFBSUErQUFBNkFBQUFPd0FBQURjQUFBQUJBQUFBQWdBQUFBTUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFDQUFBQUFrQUFBQUtBQUFBQ3dBQUFBQUFBQURBUGdBQVBBQUFBRDBBQUFBM0FBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQUFBQUFBK0Q0QUFENEFBQUEvQUFBQU53QUFBQU1BQUFBRUFBQUFBUUFBQUFVQUFBQUNBQUFBQVFBQUFBSUFBQUFHQUFBQUFBQUFBRGcvQUFCQUFBQUFRUUFBQURjQUFBQUhBQUFBQ0FBQUFBTUFBQUFKQUFBQUJBQUFBQU1BQUFBRUFBQUFDZ0FBQUFBQUFBQndQd0FBUWdBQUFFTUFBQUEzQUFBQUV3QUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBQVFBQUFQai8vLzl3UHdBQUZBQUFBQlVBQUFBV0FBQUFGd0FBQUJnQUFBQVpBQUFBR2dBQUFBQUFBQUNvUHdBQVJBQUFBRVVBQUFBM0FBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUFnQUFBUGovLy8rb1B3QUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUFBQUFBQ1VBQUFCdEFBQUFMd0FBQUNVQUFBQmtBQUFBTHdBQUFDVUFBQUI1QUFBQUFBQUFBQ1VBQUFCSkFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCd0FBQUFBQUFBQUNVQUFBQmhBQUFBSUFBQUFDVUFBQUJpQUFBQUlBQUFBQ1VBQUFCa0FBQUFJQUFBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQlpBQUFBQUFBQUFFRUFBQUJOQUFBQUFBQUFBRkFBQUFCTkFBQUFBQUFBQUVvQUFBQmhBQUFBYmdBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFSZ0FBQUdVQUFBQmlBQUFBY2dBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFUUUFBQUdFQUFBQnlBQUFBWXdBQUFHZ0FBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFhUUFBQUd3QUFBQUFBQUFBVFFBQUFHRUFBQUI1QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUdVQUFBQUFBQUFBU2dBQUFIVUFBQUJzQUFBQWVRQUFBQUFBQUFCQkFBQUFkUUFBQUdjQUFBQjFBQUFBY3dBQUFIUUFBQUFBQUFBQVV3QUFBR1VBQUFCd0FBQUFkQUFBQUdVQUFBQnRBQUFBWWdBQUFHVUFBQUJ5QUFBQUFBQUFBRThBQUFCakFBQUFkQUFBQUc4QUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVJBQUFBR1VBQUFCakFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVNnQUFBR0VBQUFCdUFBQUFBQUFBQUVZQUFBQmxBQUFBWWdBQUFBQUFBQUJOQUFBQVlRQUFBSElBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBQUFBQUFCS0FBQUFkUUFBQUd3QUFBQUFBQUFBUVFBQUFIVUFBQUJuQUFBQUFBQUFBRk1BQUFCbEFBQUFjQUFBQUFBQUFBQlBBQUFBWXdBQUFIUUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFBQUFBQUVRQUFBQmxBQUFBWXdBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFITUFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFWd0FBQUdVQUFBQmtBQUFBYmdBQUFHVUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQm9BQUFBZFFBQUFISUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQUFBQjFBQUFBY2dBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUFBQUFBQlhBQUFBWlFBQUFHUUFBQUFBQUFBQVZBQUFBR2dBQUFCMUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBUWVpY0FRc1IyRDhBQUVZQUFBQkhBQUFBTndBQUFBRUFRWUdkQVF2d0JVQUFBRWdBQUFCSkFBQUFOd0FBQUFJQUFBQUFBQUFBSUVBQUFFb0FBQUJMQUFBQU53QUFBQ01BQUFBa0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFDVUFBQUFMQUFBQURBQUFBQUFBQUFCSVFBQUFUQUFBQUUwQUFBQTNBQUFBSmdBQUFDY0FBQUFOQUFBQURnQUFBQThBQUFBUUFBQUFLQUFBQUJFQUFBQVNBQUFBQUFBQUFHaEFBQUJPQUFBQVR3QUFBRGNBQUFBcEFBQUFLZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFyQUFBQUZ3QUFBQmdBQUFBQUFBQUFpRUFBQUZBQUFBQlJBQUFBTndBQUFDd0FBQUF0QUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUM0QUFBQWRBQUFBSGdBQUFBQUFBQUNvUUFBQVVnQUFBRk1BQUFBM0FBQUFBd0FBQUFRQUFBQUFBQUFBMEVBQUFGUUFBQUJWQUFBQU53QUFBQVVBQUFBR0FBQUFBQUFBQVBoQUFBQldBQUFBVndBQUFEY0FBQUFCQUFBQUlRQUFBQUFBQUFBZ1FRQUFXQUFBQUZrQUFBQTNBQUFBQWdBQUFDSUFBQUFBQUFBQVNFRUFBRm9BQUFCYkFBQUFOd0FBQUJBQUFBQUVBQUFBSHdBQUFBQUFBQUJ3UVFBQVhBQUFBRjBBQUFBM0FBQUFFUUFBQUFVQUFBQWdBQUFBQUFBQUFNaEJBQUJlQUFBQVh3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBSkJCQUFCZUFBQUFZQUFBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQVBoQkFBQmhBQUFBWWdBQUFEY0FBQUFGQUFBQUJnQUFBQTBBQUFBeUFBQUFNd0FBQUE0QUFBQTBBQUFBQUFBQUFEaENBQUJqQUFBQVpBQUFBRGNBQUFBQUFBQUFTRUlBQUdVQUFBQm1BQUFBTndBQUFBd0FBQUFTQUFBQURRQUFBQk1BQUFBT0FBQUFBUUFBQUJRQUFBQVBBQUFBQUFBQUFKQkNBQUJuQUFBQWFBQUFBRGNBQUFBMUFBQUFOZ0FBQUNFQUFBQWlBQUFBSXdBQUFBQUFBQUNnUWdBQWFRQUFBR29BQUFBM0FBQUFOd0FBQURnQUFBQWtBQUFBSlFBQUFDWUFBQUJtQUFBQVlRQUFBR3dBQUFCekFBQUFaUUFBQUFBQUFBQjBBQUFBY2dBQUFIVUFBQUJsQUVIOG9nRUwvSUFDWUQ0QUFGNEFBQUJyQUFBQU53QUFBQUFBQUFCd1FnQUFYZ0FBQUd3QUFBQTNBQUFBRlFBQUFBSUFBQUFEQUFBQUJBQUFBQThBQUFBV0FBQUFFQUFBQUJjQUFBQVJBQUFBQlFBQUFCZ0FBQUFRQUFBQUFBQUFBTmhCQUFCZUFBQUFiUUFBQURjQUFBQUhBQUFBQ0FBQUFCRUFBQUE1QUFBQU9nQUFBQklBQUFBN0FBQUFBQUFBQUJoQ0FBQmVBQUFBYmdBQUFEY0FBQUFKQUFBQUNnQUFBQk1BQUFBOEFBQUFQUUFBQUJRQUFBQStBQUFBQUFBQUFLQkJBQUJlQUFBQWJ3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBS0EvQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUFBQUFBTkEvQUFBY0FBQUFIUUFBQUI0QUFBQWZBQUFBSUFBQUFDRUFBQUFpQUFBQVJYSnliM0k2SUd4aFltVnNhVzVuSUhkdmNtc2diM1psY21ac2IzY3VDZ0JWYm10dWIzZHVJRzl5SUhWdWMzVndjRzl5ZEdWa0lHeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhKbGNYVmxjM1JsWkM0Z1UyVjBJSFJ2SUcxaGJuVmhiQzRLQUV4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSE5sZENCMGJ5QWxjeTRLQUUxQlRsVkJUQUJCVlZSUFgwMUZSRWxCVGdCQlZWUlBYMDlVVTFVQVFWVlVUMTlCUkVGUVZFbFdSUUJCVlZSUFgwSlNRVU5MUlZSSlRrY0FSWEp5YjNJNklGVnVjM1Z3Y0c5eWRHVmtJSEJwZUdWc0lHWnZjbTFoZENBb0pXUXBJSEpsY1hWbGMzUmxaQzRLQUVGMWRHOGdkR2h5WlhOb2IyeGtJQ2hpY21GamEyVjBLU0J0WVhKclpYSWdZMjkxYm5SeklDMWJKVE5rT2lBbE0yUmRJRnNsTTJRNklDVXpaRjBnV3lVelpEb2dKVE5rWFNzdUNnQkJkWFJ2SUhSb2NtVnphRzlzWkNBb1luSmhZMnRsZENrZ1lXUnFkWE4wWldRZ2RHaHlaWE5vYjJ4a0lIUnZJQ1ZrTGdvQWJXVmthV0Z1QUU5MGMzVUFRWFYwYnlCMGFISmxjMmh2YkdRZ0tDVnpLU0JoWkdwMWMzUmxaQ0IwYUhKbGMyaHZiR1FnZEc4Z0pXUXVDZ0EvUHo4Z01Rb0FQejgvSURJS0FEOC9QeUF6Q2dCRmNuSnZjam9nZFc1emRYQndiM0owWldRZ2NHbDRaV3dnWm05eWJXRjBMZ29BUlhKeWIzSTZJRTVWVEV3Z2NHRjBkRWhoYm1Sc1pTNEtBRVZ5Y205eU9pQmpZVzRuZENCc2IyRmtJSEJoZEhSbGNtNGdabkp2YlNCT1ZVeE1JR0oxWm1abGNpNEtBRVZ5Y205eU9pQnZkWFFnYjJZZ2JXVnRiM0o1TGdvQUlBa0tEUUJRWVhSMFpYSnVJRVJoZEdFZ2NtVmhaQ0JsY25KdmNpRWhDZ0JGY25KdmNpQnlaV0ZrYVc1bklIQmhkSFJsY200Z1ptbHNaU0FuSlhNbkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUc5d1pXNGdZMkZ0WlhKaElIQmhjbUZ0WlhSbGNuTWdabWxzWlNBaUpYTWlJR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JtYVd4bElHeGxibWQwYUM0QVJYSnliM0k2SUhOMWNIQnNhV1ZrSUdacGJHVWdaRzlsY3lCdWIzUWdZWEJ3WldGeUlIUnZJR0psSUdGdUlFRlNWRzl2YkV0cGRDQmpZVzFsY21FZ2NHRnlZVzFsZEdWeUlHWnBiR1V1Q2dCRmNuSnZjaUFvSldRcE9pQjFibUZpYkdVZ2RHOGdjbVZoWkNCbWNtOXRJR1pwYkdVdUFHRnlaMnhEWVcxbGNtRkdjblZ6ZEhWdFVrZ29LVG9nWVhKUVlYSmhiVVJsWTI5dGNFMWhkQ2dwSUdsdVpHbGpZWFJsWkNCd1lYSmhiV1YwWlhJZ1pYSnliM0l1Q2dCRmNuSnZjam9nYVdOd1IyVjBTbDlWWDFoakFFVnljbTl5SURFNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTWpvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUF6T2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRFE2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdOVG9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQTJPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEYzZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljdUNnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJRVpwY25OMElHeHBibVVnYlhWemRDQmlaU0J1ZFcxaVpYSWdiMllnYldGeWEyVnlJR052Ym1acFozTWdkRzhnY21WaFpDNEtBQ1ZzYkhVbFl3QkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJSEJoZEhSbGNtNGdKeVZ6SnlCemNHVmphV1pwWldRZ2FXNGdiWFZzZEdsdFlYSnJaWElnWTI5dVptbG5kWEpoZEdsdmJpQjNhR2xzWlNCcGJpQmlZWEpqYjJSbExXOXViSGtnYlc5a1pTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCa2FYSmxZM1J2Y25rZ2JtRnRaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHeHZZV1FnY0dGMGRHVnliaUFuSlhNbkxnb0FKV3htQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6Snl3Z2JXRnlhMlZ5SUdSbFptbHVhWFJwYjI0Z0pUTmtPaUJHYVhKemRDQnNhVzVsSUcxMWMzUWdZbVVnY0dGMGRHVnliaUIzYVdSMGFDNEtBQ1ZzWmlBbGJHWWdKV3htSUNWc1pnQWxaaUFsWmdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljc0lHMWhjbXRsY2lCa1pXWnBibWwwYVc5dUlDVXpaRG9nVEdsdVpYTWdNaUF0SURRZ2JYVnpkQ0JpWlNCdFlYSnJaWElnZEhKaGJuTm1iM0p0TGdvQVd5VnpYU0FBWkdWaWRXY0FhVzVtYndCM1lYSnVhVzVuQUdWeWNtOXlBQ1Z6SlhNQUxtbHpaWFFBUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHWnBiR1VnSnlWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnY21WaFpHbHVaeUJwYldGblpWTmxkQzRLQUVsdFlXZGxjMlYwSUdOdmJuUmhhVzV6SUNWa0lHbHRZV2RsY3k0S0FFWmhiR3hwYm1jZ1ltRmpheUIwYnlCeVpXRmthVzVuSUNjbGN5VnpKeUJwYmlCQlVsUnZiMnhMYVhRZ2RqUXVlQ0JtYjNKdFlYUXVDZ0JGY25KdmNpQnlaV0ZrYVc1bklFcFFSVWNnWm1sc1pTNEtBRVZ5Y205eUlISmxZV1JwYm1jZ1NsQkZSeUJtYVd4bElHaGxZV1JsY2k0S0FDVm1BRVpwYkdVZ2IzQmxiaUJsY25KdmNpNGdKWE1LQUZKbFlXUWdaWEp5YjNJaElRb0FjZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekp6b2dBQ1Z6SlhNS0FDVmtBQW9qSXlNZ1UzVnlabUZqWlNCT2J5NGxaQ0FqSXlNS0FDVnpBQ0FnVW1WaFpDQkpiV0ZuWlZObGRDNEtBRVZ5Y205eUlHOXdaVzVwYm1jZ1ptbHNaU0FuSlhNdWFYTmxkQ2N1Q2dBZ0lDQWdaVzVrTGdvQUlDQlNaV0ZrSUVabFlYUjFjbVZUWlhRdUNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG1aelpYUW5MZ29BSUNCU1pXRmtJRTFoY210bGNsTmxkQzRLQUcxeWF3QkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG0xeWF5Y3VDZ0FsWmlBbFppQWxaaUFsWmdCVWNtRnVjMlp2Y20xaGRHbHZiaUJ0WVhSeWFYZ2djbVZoWkNCbGNuSnZjaUVoQ2dCcWNHY0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJeEwzSmxaa1JoZEdGVFpYUlFkSEl5TGdvQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl1Q2dCeVlnQnJjRzFNYjJGa1VtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlHWnBiR1Z1WVcxbEwzSmxaa1JoZEdGVFpYUlFkSEl1Q2dCRmNuSnZjaUJzYjJGa2FXNW5JRXRRVFNCa1lYUmhPaUIxYm1GaWJHVWdkRzhnYjNCbGJpQm1hV3hsSUNjbGN5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2JHOWhaR2x1WnlCTFVFMGdaR0YwWVRvZ1pYSnliM0lnY21WaFpHbHVaeUJrWVhSaExnb0FhM0J0UTJoaGJtZGxVR0ZuWlU1dlQyWlNaV1pFWVhSaFUyVjBLQ2s2SUU1VlRFd2djbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2Y21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2djbVZtUkdGMFlWTmxkQzRLQUhCdmFXNTBjeTBsWkFvQWEzQnRUV0YwWTJocGJtY29LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZhVzVKYldGblpVeDFiV0V1Q2dCUVlXZGxXeVZrWFNBZ2NISmxPaVV6WkN3Z1lXWjBPaVV6WkN3Z1pYSnliM0lnUFNBbFpnb0FKWE11SlhNQVFYTnpaWEowYVc5dUlHQndlWEpoYldsa0xUNXphWHBsS0NrZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OUViMGRmYzJOaGJHVmZhVzUyWVhKcFlXNTBYMlJsZEdWamRHOXlMbU53Y0FCUWVYSmhiV2xrSUdseklHNXZkQ0JoYkd4dlkyRjBaV1FBVDJOMFlYWmxJRzkxZENCdlppQnlZVzVuWlFCVFkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnRTVzFoWjJWekxuTnBlbVVvS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVEdGd2JHRmphV0Z1SUhCNWNtRnRhV1FnYUdGeklHNXZkQ0JpWldWdUlHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUXRQbTUxYlU5amRHRjJaWE1vS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JrYjJWeklHNXZkQ0JqYjI1MFlXbHVJR0Z1ZVNCc1pYWmxiSE1BUVhOelpYSjBhVzl1SUdCa2VXNWhiV2xqWDJOaGMzUThZMjl1YzNRZ1FtbHViMjFwWVd4UWVYSmhiV2xrTXpKbUtqNG9jSGx5WVcxcFpDbGdJR1poYVd4bFpDQnBiaUFBVDI1c2VTQmlhVzV2YldsaGJDQndlWEpoYldsa0lHbHpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJQYm14NUlFWXpNaUJwYldGblpYTWdjM1Z3Y0c5eWRHVmtBRUZ6YzJWeWRHbHZiaUJnYVcweExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5R016SmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHUXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRTl1YkhrZ2MybHVaMnhsSUdOb1lXNXVaV3dnYVcxaFoyVnpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdsdE1TNWphR0Z1Ym1Wc2N5Z3BJRDA5SURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdaQzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRWx0WVdkbGN5QnRkWE4wSUdoaGRtVWdkR2hsSUhOaGJXVWdkMmxrZEdnQVFYTnpaWEowYVc5dUlHQmtMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpYTWdiWFZ6ZENCb1lYWmxJSFJvWlNCellXMWxJR2hsYVdkb2RBQkJjM05sY25ScGIyNGdZR2x0TVM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXMHhMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhKdmR5QThJRzFJWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1nQWNtOTNJRzkxZENCdlppQmliM1Z1WkhNQVRqWjJhWE5wYjI0eU5VZGhkWE56YVdGdVUyTmhiR1ZUY0dGalpWQjVjbUZ0YVdSRkFFUnZSeUJRZVhKaGJXbGtBRTV2YmkxdFlYZ2djM1Z3Y0hKbGMzTnBiMjRBVTNWaWNHbDRaV3dBY0hKMWJtVkdaV0YwZFhKbGN3QkdhVzVrSUU5eWFXVnVkR0YwYVc5dWN3QkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFoZ0lHWmhhV3hsWkNCcGJpQUFRblZqYTJWMGN5QmhjbVVnYm05MElHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpXekJkTG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCdFJtVmhkSFZ5WlZCdmFXNTBjeTV6YVhwbEtDa2dQRDBnYlUxaGVFNTFiVVpsWVhSMWNtVlFiMmx1ZEhOZ0lHWmhhV3hsWkNCcGJpQUFWRzl2SUcxaGJua2dabVZoZEhWeVpTQndiMmx1ZEhNQVFYTnpaWEowYVc5dUlHQmlkV05yWlhSYk1GMHVabWx5YzNRZ1BqMGdZblZqYTJWMFcyNWRMbVpwY25OMFlDQm1ZV2xzWldRZ2FXNGdBRzUwYUY5bGJHVnRaVzUwSUdaaGFXeGxaQUJCYzNObGNuUnBiMjRnWUd0d0xuTmpZV3hsSUR3Z2JVeGhjR3hoWTJsaGJsQjVjbUZ0YVdRdWJuVnRVMk5oYkdWUVpYSlBZM1JoZG1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSEJ2YVc1MElITmpZV3hsSUdseklHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCcmNDNXpZMjl5WlNBOVBTQnNZWEF4TG1kbGREeG1iRzloZEQ0b2VTbGJlRjFnSUdaaGFXeGxaQ0JwYmlBQVUyTnZjbVVnYVhNZ2JtOTBJR052Ym5OcGMzUmxiblFnZDJsMGFDQjBhR1VnUkc5SElHbHRZV2RsQUVGemMyVnlkR2x2YmlCZ2JHRndNQzVvWldsbmFIUW9LU0E5UFNCc1lYQXhMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpHVjBaV04wYjNKekwwUnZSMTl6WTJGc1pWOXBiblpoY21saGJuUmZaR1YwWldOMGIzSXVhQUJYYVdSMGFDOW9aV2xuYUhRZ1lYSmxJRzV2ZENCamIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLR3hoY0RBdWFHVnBaMmgwS0NrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1NrZ0ppWWdLQ2hzWVhBeExtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDZ29iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NrcElDWW1JQ2hzWVhBeExuZHBaSFJvS0NrZ1BUMGdiR0Z3TWk1M2FXUjBhQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCemFYcGxjeUJoY21VZ2FXNWpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0hndE1Ta2dQajBnTUNBbUppQW9lQ3N4S1NBOElHeGhjREV1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2VTMHhLU0ErUFNBd0lDWW1JQ2g1S3pFcElEd2diR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQjVJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFTVzFoWjJVZ1pHbHRaVzV6YVc5dWN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoc1lYQXdMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x1ZENsemRHUTZPbVpzYjI5eUtIZ3BJRDA5SUNocGJuUXBlR0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZhVzUwWlhKd2IyeGhkR1V1YUFCbWJHOXZjaWdwSUdGdVpDQmpZWE4wSUc1dmRDQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZQ2hwYm5RcGMzUmtPanBtYkc5dmNpaDVLU0E5UFNBb2FXNTBLWGxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjVjQ0ErUFNBd0lDWW1JSGx3SUR3Z2FHVnBaMmgwWUNCbVlXbHNaV1FnYVc0Z0FIbHdJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjVjRjl3YkhWelh6RWdQajBnTUNBbUppQjVjRjl3YkhWelh6RWdQQ0JvWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBZVhCZmNHeDFjMTh4SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I0Y0NBK1BTQXdJQ1ltSUhod0lEd2dkMmxrZEdoZ0lHWmhhV3hsWkNCcGJpQUFlSEFnYjNWMElHOW1JR0p2ZFc1a2N3QkJjM05sY25ScGIyNGdZSGh3WDNCc2RYTmZNU0ErUFNBd0lDWW1JSGh3WDNCc2RYTmZNU0E4SUhkcFpIUm9ZQ0JtWVdsc1pXUWdhVzRnQUhod1gzQnNkWE5mTVNCdmRYUWdiMllnWW05MWJtUnpBRUZ6YzJWeWRHbHZiaUJnZHpBZ1BqMGdNQ0FtSmlCM01DQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBVDNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdkekVnUGowZ01DQW1KaUIzTVNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdJQ1ltSUhjeUlEdzlJREV1TURBd01XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhjeklENDlJREFnSmlZZ2R6TWdQRDBnTVM0d01EQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tIY3dLM2N4SzNjeUszY3pLU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9lQzB4S1NBK1BTQXdJQ1ltSUNoNEt6RXBJRHdnYVcwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2g1TFRFcElENDlJREFnSmlZZ0tIa3JNU2tnUENCcGJTNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RFdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I0WDJScGRsOHlMVEF1TldZZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNFgyUnBkbDh5SUc5MWRDQnZaaUJpYjNWdVpITWdiM1YwSUc5bUlHSnZkVzVrY3lCbWIzSWdhVzUwWlhKd2IyeGhkR2x2YmdCQmMzTmxjblJwYjI0Z1lIbGZaR2wyWHpJdE1DNDFaaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGxmWkdsMlh6SWdiM1YwSUc5bUlHSnZkVzVrY3lCdmRYUWdiMllnWW05MWJtUnpJR1p2Y2lCcGJuUmxjbkJ2YkdGMGFXOXVBRUZ6YzJWeWRHbHZiaUJnZUY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdlVjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRWhsYVdkb2RDQnBjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNUzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUENCdFNXMWhaMlZ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJtUmxlQ0JwY3lCdmRYUWdiMllnY21GdVoyVUFUaloyYVhOcGIyNHhPRUpwYm05dGFXRnNVSGx5WVcxcFpETXlaa1VBUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErUFNBMVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtTndjQUJKYldGblpTQnBjeUIwYjI4Z2MyMWhiR3dBUVhOelpYSjBhVzl1SUdCb1pXbG5hSFFnUGowZ05XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOVZTVTVVT0dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR0psSUdkeVlYbHpZMkZzWlFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG1Ob1lXNXVaV3h6S0NrZ1BUMGdNV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHaGhkbVVnTVNCamFHRnVibVZzQUVGemMyVnlkR2x2YmlCZ2JWQjVjbUZ0YVdRdWMybDZaU2dwSUQwOUlHMU9kVzFQWTNSaGRtVnpLbTFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCb1lYTWdibTkwSUdKbFpXNGdZV3hzYjJOaGRHVmtJSGxsZEFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5kcFpIUm9LQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnZaaUIzY205dVp5QnphWHBsSUdadmNpQndlWEpoYldsa0FFRnpjMlZ5ZEdsdmJpQmdhVzFoWjJVdWFHVnBaMmgwS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmtjM1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkVaWE4wYVc1aGRHbHZiaUJwYldGblpTQnphRzkxYkdRZ1ltVWdZU0JtYkc5aGRBQlZibXR1YjNkdUlHbHRZV2RsSUhSNWNHVUFWVzV6ZFhCd2IzSjBaV1FnYVcxaFoyVWdkSGx3WlFCT05uWnBjMmx2YmpsRmVHTmxjSFJwYjI1RkFFRnpjMlZ5ZEdsdmJpQmdhVzB1ZDJsa2RHZ29LU0E5UFNCcGJTNXpkR1Z3S0NrdmMybDZaVzltS0dac2IyRjBLV0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZiM0pwWlc1MFlYUnBiMjVmWVhOemFXZHViV1Z1ZEM1amNIQUFVM1JsY0NCemFYcGxJRzExYzNRZ1ltVWdaWEYxWVd3Z2RHOGdkMmxrZEdnZ1ptOXlJRzV2ZHdCQmMzTmxjblJwYjI0Z1lIZ2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I0SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdiR1Z6Y3lCMGFHRnVJSFJvWlNCcGJXRm5aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZSGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI1SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNUlEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBZVNCdGRYTjBJR0psSUd4bGMzTWdkR2hoYmlCMGFHVWdhVzFoWjJVZ2FHVnBaMmgwQUVGemMyVnlkR2x2YmlCZ1p5NWphR0Z1Ym1Wc2N5Z3BJRDA5SURKZ0lHWmhhV3hsWkNCcGJpQUFUblZ0WW1WeUlHOW1JR05vWVc1dVpXeHpJSE5vYjNWc1pDQmlaU0F5QUVGemMyVnlkR2x2YmlCZ2JXRjRYMmhsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRXRjRhVzExYlNCaWFXNGdjMmh2ZFd4a0lHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYUdsemRDQWhQU0JPVlV4TVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5dmNtbGxiblJoZEdsdmJsOWhjM05wWjI1dFpXNTBMbWdBU0dsemRHOW5jbUZ0SUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJCYzNObGNuUnBiMjRnWUNobVltbHVLekF1TldZcElENGdNQ0FtSmlBb1ptSnBiaTB3TGpWbUtTQThJRzUxYlY5aWFXNXpZQ0JtWVdsc1pXUWdhVzRnQUVSbFkybHRZV3dnWW1sdUlIQnZjMmwwYVc5dUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZRzFoWjI1cGRIVmtaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTFoWjI1cGRIVmtaU0JqWVc1dWIzUWdZbVVnYm1WbllYUnBkbVVBUVhOelpYSjBhVzl1SUdCdWRXMWZZbWx1Y3lBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJpYVc1eklHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN4SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3lJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0JpTVNBK1BTQXdJQ1ltSUdJeElEd2diblZ0WDJKcGJuTmdJR1poYVd4bFpDQnBiaUFBWWpFZ1ltbHVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdJeUlENDlJREFnSmlZZ1lqSWdQQ0J1ZFcxZlltbHVjMkFnWm1GcGJHVmtJR2x1SUFCaU1pQmlhVzRnYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVsRUlHRnNjbVZoWkhrZ1pYaHBjM1J6QUVKMWFXeGtJRkI1Y21GdGFXUUFSWGgwY21GamRDQkdaV0YwZFhKbGN3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblF1YzJsNlpTZ3BJRDA5SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJKcGJtRnllVjlvYVdWeVlYSmphR2xqWVd4ZlkyeDFjM1JsY21sdVp5NW9BRUZ6YzJsbmJtMWxiblFnYzJsNlpTQjNjbTl1WndCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUmJhVjBnSVQwZ0xURmdJR1poYVd4bFpDQnBiaUFBUVhOemFXZHViV1Z1ZENCcGN5QnBiblpoYkdsa0FFRnpjMlZ5ZEdsdmJpQmdZWE56YVdkdWJXVnVkRnRwWFNBOElHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUVGemMybG5ibTFsYm5RZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYVc1a2FXTmxjMXRoYzNOcFoyNXRaVzUwVzJsZFhTQThJRzUxYlY5bVpXRjBkWEpsYzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2wwTFQ1elpXTnZibVF1YzJsNlpTZ3BJQ0U5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMngxYzNSbGNpQnRkWE4wSUdoaGRtVWdZWFJzWldGelpYUWdNU0JtWldGMGRYSmxBRUZ6YzJWeWRHbHZiaUJnYlVzZ1BUMGdiVU5sYm5SbGNuTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJ0dFpXUnZhV1J6TG1nQWF5QnphRzkxYkdRZ2JXRjBZMmdnZEdobElHNTFiV0psY2lCdlppQmpiSFZ6ZEdWeUlHTmxiblJsY25NQVFYTnpaWEowYVc5dUlHQnVkVzFmWm1WaGRIVnlaWE1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJtWldGMGRYSmxjeUJ0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BEMGdiblZ0WDJabFlYUjFjbVZ6WUNCbVlXbHNaV1FnYVc0Z0FFMXZjbVVnYVc1a2FXTmxjeUIwYUdGdUlHWmxZWFIxY21WekFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUGowZ2JVdGdJR1poYVd4bFpDQnBiaUFBVG05MElHVnViM1ZuYUNCbVpXRjBkWEpsY3dCQmMzTnBaMjV0Wlc1MElITnBlbVVnYVhNZ2FXNWpiM0p5WldOMEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJObGJuUmxjbk1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRlJvWlhKbElHMTFjM1FnWW1VZ1lYUWdiR1ZoYzNRZ01TQmpaVzUwWlhJQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZkbWx6ZFdGc1gyUmhkR0ZpWVhObExtZ0FRWE56WlhKMGFXOXVJR0JrWlhSbFkzUnZjbUFnWm1GcGJHVmtJR2x1SUFCRVpYUmxZM1J2Y2lCcGN5Qk9WVXhNQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NrdWMybDZaU2dwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR2x6SUdWdGNIUjVBRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWQybGtkR2dvS1NBOVBTQmtaWFJsWTNSdmNpMCtkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR0Z1WkNCa1pYUmxZM1J2Y2lCemFYcGxJRzFwYzIxaGRHTm9BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWFHVnBaMmgwS0NrZ1BUMGdaR1YwWldOMGIzSXRQbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1VGRETmZYekl4TkdSbFptRjFiSFJmWkdWc1pYUmxTVTQyZG1semFXOXVPRXRsZVdaeVlXMWxTVXhwT1RaRlJVVkZSUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUVRqWjJhWE5wYjI0NFMyVjVabkpoYldWSlRHazVOa1ZGUlU1VFh6RTBaR1ZtWVhWc2RGOWtaV3hsZEdWSlV6TmZSVVZPVTE4NVlXeHNiMk5oZEc5eVNWTXpYMFZGUlVVQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lCR2IzVnVaQ0FsWkNCbVpXRjBkWEpsY3lCcGJpQnhkV1Z5ZVFCaWIyOXNJSFpwYzJsdmJqbzZWbWx6ZFdGc1JHRjBZV0poYzJVOGRtbHphVzl1T2pwR1VrVkJTMFY0ZEhKaFkzUnZjaXdnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFUzUnZjbVVzSUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpVMWhkR05vWlhJOE9UWStJRDQ2T25GMVpYSjVLR052Ym5OMElIWnBjMmx2YmpvNlIyRjFjM05wWVc1VFkyRnNaVk53WVdObFVIbHlZVzFwWkNBcUtTQmJSa1ZCVkZWU1JWOUZXRlJTUVVOVVQxSWdQU0IyYVhOcGIyNDZPa1pTUlVGTFJYaDBjbUZqZEc5eUxDQlRWRTlTUlNBOUlIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVk4wYjNKbExDQk5RVlJEU0VWU0lEMGdkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVFdGMFkyaGxjanc1Tmo1ZEFFWnBibVFnVFdGMFkyaGxjeUFvTVNrQVNHOTFaMmdnVm05MGFXNW5JQ2d4S1FCR2FXNWtJRWh2ZFdkb0lFMWhkR05vWlhNZ0tERXBBRVZ6ZEdsdFlYUmxJRWh2Ylc5bmNtRndhSGtnS0RFcEFFWnBibVFnU1c1c2FXVnljeUFvTVNrQVJtbHVaQ0JOWVhSamFHVnpJQ2d5S1FCSWIzVm5hQ0JXYjNScGJtY2dLRElwQUVacGJtUWdTRzkxWjJnZ1RXRjBZMmhsY3lBb01pa0FSWE4wYVcxaGRHVWdTRzl0YjJkeVlYQm9lU0FvTWlrQVJtbHVaQ0JKYm14cFpYSnpJQ2d5S1FCQmMzTmxjblJwYjI0Z1lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlptVmhkSFZ5WlY5dFlYUmphR1Z5TFdsdWJHbHVaUzVvQUVaaGFXeGxaQ0IwYnlCamIyMXdkWFJsSUcxaGRISnBlQ0JwYm5abGNuTmxBRUZ6YzJWeWRHbHZiaUJnWW1WemRGOXBibVJsZUNBaFBTQnpkR1E2T201MWJXVnlhV05mYkdsdGFYUnpQSE5wZW1WZmRENDZPbTFoZUNncFlDQm1ZV2xzWldRZ2FXNGdBRk52YldWMGFHbHVaeUJ6ZEhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYlUxaGRHTm9aWE11YzJsNlpTZ3BJRHc5SUdabFlYUjFjbVZ6TVMwK2MybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQnRZWFJqYUdWeklITm9iM1ZzWkNCaVpTQnNiM2RsY2dCQmMzTmxjblJwYjI0Z1lHaDVjQzV6YVhwbEtDa2dQajBnT1NwdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YUc5dGIyZHlZWEJvZVY5bGMzUnBiV0YwYVc5dUwzSnZZblZ6ZEY5b2IyMXZaM0poY0doNUxtZ0FhSGx3SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0E1S20xaGVGOXVkVzFmYUhsd2IzUm9aWE5sY3dCQmMzTmxjblJwYjI0Z1lIUnRjRjlwTG5OcGVtVW9LU0ErUFNCdWRXMWZjRzlwYm5SellDQm1ZV2xzWldRZ2FXNGdBSFJ0Y0Y5cElIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdWRXMWZjRzlwYm5SekFFRnpjMlZ5ZEdsdmJpQmdhSGx3WDJOdmMzUnpMbk5wZW1Vb0tTQStQU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQWFIbHdYMk52YzNSeklIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhNQVFYTnpaWEowYVc5dUlHQnVJRHc5SUdsdVgyMWhkR05vWlhNdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FGTm9iM1ZzWkNCaVpTQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZR1JwYzNSQ2FXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdScGMzUkNhVzVCYm1kc1pTQnRkWE4wSUc1dmRDQmlaU0J1WldkaGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU2IyOTBMbWRsZENncFlDQm1ZV2xzWldRZ2FXNGdBRkp2YjNRZ1kyRnVibTkwSUdKbElFNVZURXdBUVhOelpYSjBhVzl1SUdCdGFXNXBJQ0U5SUMweFlDQm1ZV2xzWldRZ2FXNGdBRTFwYm1sdGRXMGdhVzVrWlhnZ2JtOTBJSE5sZEFCQmMzTmxjblJwYjI0Z1lIZ2dQajBnYlUxcGJsaGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1YUFCNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUhnZ1BDQnRUV0Y0V0dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGtnUGowZ2JVMXBibGxnSUdaaGFXeGxaQ0JwYmlBQWVTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCNUlEd2diVTFoZUZsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQStJQzFRU1dBZ1ptRnBiR1ZrSUdsdUlBQmhibWRzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQThQU0JRU1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSE5qWVd4bElENDlJRzFOYVc1VFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCelkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU5ZWGhUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdVpHVjRJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBibGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBOElHMU9kVzFZUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQmlhVzVaSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BDQnRUblZ0V1VKcGJuTmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaWFXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJrRnVaMnhsSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmtGdVoyeGxJRHdnYlU1MWJVRnVaMnhsUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsTmpZV3hsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBWW1sdVUyTmhiR1VnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1VTJOaGJHVWdQQ0J0VG5WdFUyTmhiR1ZDYVc1ellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQRDBnS0dKcGJsZ2dLeUJpYVc1WkttMU9kVzFZUW1sdWN5QXJJR0pwYmtGdVoyeGxLbTFPZFcxWVFtbHVjeXB0VG5WdFdVSnBibk1nS3lCaWFXNVRZMkZzWlNwdFRuVnRXRUpwYm5NcWJVNTFiVmxDYVc1ekttMU9kVzFCYm1kc1pVSnBibk1wWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdjMmw2WlNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1WTNCd0FITnBlbVVnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU1pXWkpiV0ZuWlZkcFpIUm9JRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQjNhV1IwYUNCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JWSmxaa2x0WVdkbFNHVnBaMmgwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJvWldsbmFIUWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzRnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDNWMGFXeHpMM0JoY25ScFlXeGZjMjl5ZEM1b0FHNGdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZR3NnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBR3NnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1JnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabkpsWVdzdWFBQlFlWEpoYldsa0lHbHpJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnpkRzl5WlM1emFYcGxLQ2tnUFQwZ2NHOXBiblJ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhOMGIzSmxJR2hoY3lCdWIzUWdZbVZsYmlCaGJHeHZZMkYwWldRQVFYTnpaWEowYVc5dUlHQnVkVzFmY0c5cGJuUnpJRDA5SUhCdmFXNTBjeTV6YVhwbEtDbGdJR1poYVd4bFpDQnBiaUFBVTJodmRXeGtJR0psSUhOaGJXVWdjMmw2WlFCQmMzTmxjblJwYjI0Z1lHOWpkR0YyWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbWdBVDJOMFlYWmxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J2WTNSaGRtVWdQQ0J0VG5WdFQyTjBZWFpsYzJBZ1ptRnBiR1ZrSUdsdUlBQlBZM1JoZG1VZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlHOWpkR0YyWlhNQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUZOallXeGxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVUyTmhiR1VnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUhOallXeGxJSEJsY2lCdlkzUmhkbVVBSlcwdEpXUXRKVmt0SlVndEpVMHRKVk1BUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbU53Y0FCWGFXUjBhQ0JqWVc1dWIzUWdZbVVnZW1WeWJ3QkJjM05sY25ScGIyNGdZR2hsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVNHVnBaMmgwSUdOaGJtNXZkQ0JpWlNCNlpYSnZBRUZ6YzJWeWRHbHZiaUJnYzNSbGNDQStQU0IzYVdSMGFHQWdabUZwYkdWa0lHbHVJQUJUZEdWd0lHMTFjM1FnWW1VZ1ozSmxZWFJsY2lCMGFHRnVJRzl5SUdWeGRXRnNJSFJvWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUdOb1lXNXVaV3h6SUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJPZFcxaVpYSWdiMllnWTJoaGJtNWxiSE1nWTJGdWJtOTBJR0psSUhwbGNtOEFRWE56WlhKMGFXOXVJR0J0UkdGMFlTNW5aWFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkVZWFJoSUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJPVTNRelgxOHlNVFJrWldaaGRXeDBYMlJsYkdWMFpVbG9SVVVBVGxOME0xOWZNakl3WDE5emFHRnlaV1JmY0hSeVgzQnZhVzUwWlhKSlVHaE9VMTh4TkdSbFptRjFiSFJmWkdWc1pYUmxTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVNXNTJZV3hwWkNCcGJXRm5aU0IwZVhCbEFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUWFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBUVhOelpYSjBhVzl1SUdCdFUzUmhjblJVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMM1JwYldWeWN5NWpjSEFBSUd4cGJtVWdBRG9nQUVOc2IyTnJJR2hoY3lCdWIzUWdZbVZsYmlCemRHRnlkR1ZrQUVGemMyVnlkR2x2YmlCZ2JWTjBiM0JVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeHZZMnNnYUdGeklHNXZkQ0JpWldWdUlITjBiM0J3WldRQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lBbGN6b2dKV1lnYlhNQUlFbE9SazhnSUFCMmFYTnBiMjQ2T2xOamIzQmxaRlJwYldWeU9qcCtVMk52Y0dWa1ZHbHRaWElvS1FCelpYUjFjQUIwWldGeVpHOTNiZ0J6WlhSMWNFRlNNZ0JmWVdSa1RXRnlhMlZ5QUY5aFpHUk5kV3gwYVUxaGNtdGxjZ0JmWVdSa1RrWlVUV0Z5YTJWeUFHZGxkRTExYkhScFRXRnlhMlZ5VG5WdEFHZGxkRTExYkhScFRXRnlhMlZ5UTI5MWJuUUFYMnh2WVdSRFlXMWxjbUVBYzJWMFRXRnlhMlZ5U1c1bWIwUnBjZ0J6WlhSTllYSnJaWEpKYm1adlZtVnlkR1Y0QUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsUTI5dWRBQm5aWFJVY21GdWMwMWhkRTExYkhScFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFRYVnNkR2xUY1hWaGNtVlNiMkoxYzNRQVpHVjBaV04wVFdGeWEyVnlBR2RsZEUxaGNtdGxjazUxYlFCa1pYUmxZM1JPUmxSTllYSnJaWElBWjJWMFRYVnNkR2xGWVdOb1RXRnlhMlZ5QUdkbGRFMWhjbXRsY2dCblpYUk9SbFJOWVhKclpYSUFjMlYwUkdWaWRXZE5iMlJsQUdkbGRFUmxZblZuVFc5a1pRQm5aWFJRY205alpYTnphVzVuU1cxaFoyVUFjMlYwVEc5blRHVjJaV3dBWjJWMFRHOW5UR1YyWld3QWMyVjBVSEp2YW1WamRHbHZiazVsWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVRtVmhjbEJzWVc1bEFITmxkRkJ5YjJwbFkzUnBiMjVHWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVJtRnlVR3hoYm1VQWMyVjBWR2h5WlhOb2IyeGtUVzlrWlFCblpYUlVhSEpsYzJodmJHUk5iMlJsQUhObGRGUm9jbVZ6YUc5c1pBQm5aWFJVYUhKbGMyaHZiR1FBYzJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFaMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQWMyVjBVR0YwZEZKaGRHbHZBR2RsZEZCaGRIUlNZWFJwYndCelpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCblpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCelpYUk1ZV0psYkdsdVowMXZaR1VBWjJWMFRHRmlaV3hwYm1kTmIyUmxBSE5sZEVsdFlXZGxVSEp2WTAxdlpHVUFaMlYwU1cxaFoyVlFjbTlqVFc5a1pRQkZVbEpQVWw5QlVrTlBUbFJTVDB4TVJWSmZUazlVWDBaUFZVNUVBRVZTVWs5U1gwMVZURlJKVFVGU1MwVlNYMDVQVkY5R1QxVk9SQUJGVWxKUFVsOU5RVkpMUlZKZlNVNUVSVmhmVDFWVVgwOUdYMEpQVlU1RVV3QkJVbDlFUlVKVlIxOUVTVk5CUWt4RkFFRlNYMFJGUWxWSFgwVk9RVUpNUlFCQlVsOUVSVVpCVlV4VVgwUkZRbFZIWDAxUFJFVUFRVkpmVEVGQ1JVeEpUa2RmVjBoSlZFVmZVa1ZIU1U5T0FFRlNYMHhCUWtWTVNVNUhYMEpNUVVOTFgxSkZSMGxQVGdCQlVsOUVSVVpCVlV4VVgweEJRa1ZNU1U1SFgwMVBSRVVBUVZKZlJFVkdRVlZNVkY5TVFVSkZURWxPUjE5VVNGSkZVMGdBUVZKZlNVMUJSMFZmVUZKUFExOUdVa0ZOUlY5SlRVRkhSUUJCVWw5SlRVRkhSVjlRVWs5RFgwWkpSVXhFWDBsTlFVZEZBRUZTWDBSRlJrRlZURlJmU1UxQlIwVmZVRkpQUTE5TlQwUkZBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDAxUFRrOEFRVkpmVFVGVVVrbFlYME5QUkVWZlJFVlVSVU5VU1U5T0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U1gwRk9SRjlOUVZSU1NWZ0FRVkpmVkVWTlVFeEJWRVZmVFVGVVEwaEpUa2RmVFU5T1QxOUJUa1JmVFVGVVVrbFlBRUZTWDBSRlJrRlZURlJmVUVGVVZFVlNUbDlFUlZSRlExUkpUMDVmVFU5RVJRQkJVbDlWVTBWZlZGSkJRMHRKVGtkZlNFbFRWRTlTV1FCQlVsOU9UMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaQUVGU1gxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpYMVl5QUVGU1gwUkZSa0ZWVEZSZlRVRlNTMFZTWDBWWVZGSkJRMVJKVDA1ZlRVOUVSUUJCVWw5TlFWaGZURTlQVUY5RFQxVk9WQUJCVWw5TVQwOVFYMEpTUlVGTFgxUklVa1ZUU0FCQlVsOU1UMGRmVEVWV1JVeGZSRVZDVlVjQVFWSmZURTlIWDB4RlZrVk1YMGxPUms4QVFWSmZURTlIWDB4RlZrVk1YMWRCVWs0QVFWSmZURTlIWDB4RlZrVk1YMFZTVWs5U0FFRlNYMHhQUjE5TVJWWkZURjlTUlV4ZlNVNUdUd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE1BUVZKZlRVRlVVa2xZWDBOUFJFVmZNM2d6WDBoQlRVMUpUa2MyTXdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZUROZlVFRlNTVlJaTmpVQVFWSmZUVUZVVWtsWVgwTlBSRVZmTkhnMEFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk9WOHpBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZOVjgxQUVGU1gweEJRa1ZNU1U1SFgxUklVa1ZUU0Y5TlQwUkZYMDFCVGxWQlRBQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDFGUkVsQlRnQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDlVVTFVQVFWSmZURUZDUlV4SlRrZGZWRWhTUlZOSVgwMVBSRVZmUVZWVVQxOUJSRUZRVkVsV1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUazlPUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlVFRlVWRVZTVGw5RldGUlNRVU5VU1U5T0FFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5SFJVNUZVa2xEQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlEVDA1VVVrRlRWQUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVFVGVVEwaGZRa0ZTUTA5RVJWOU9UMVJmUms5VlRrUUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwSkJVa05QUkVWZlJVUkRYMFpCU1V3QVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBOUFRrWkpSRVZPUTBVQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUpmVFZWTVZFa0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMGhGVlZKSlUxUkpRMTlVVWs5VlFreEZVMDlOUlY5TlFWUlNTVmhmUTA5RVJWTUFZV3hzYjJOaGRHOXlQRlErT2pwaGJHeHZZMkYwWlNoemFYcGxYM1FnYmlrZ0oyNG5JR1Y0WTJWbFpITWdiV0Y0YVcxMWJTQnpkWEJ3YjNKMFpXUWdjMmw2WlFCSmJXRm5aU0J3Y205akxpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FFeGhZbVZzYVc1bklHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCMmFXbG1BRkJoZEhSbGNtNGdjbUYwYVc4Z2MybDZaU0J6WlhRZ2RHOGdKV1l1Q2dCUVlYUjBaWEp1SUdSbGRHVmpkR2x2YmlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUZSb2NtVnphRzlzWkNCelpYUWdkRzhnSldRS0FIWnBhV2tBVkdoeVpYTm9iMnhrSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0JrYVdrQWRtbHBaQUJwYVFCMmFXa0FiMjR1QUc5bVppNEFSR1ZpZFdjZ2JXOWtaU0J6WlhRZ2RHOGdKWE1LQUZSeVlXTnJhVzVuSUd4dmMzUXVJQ1ZrQ2dCVWNtRmphMlZrSUhCaFoyVWdKV1FnS0cxaGVDQWxaQ2t1Q2dCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXdPeUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZEtTQjdJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRJRDBnS0hzZ2FXUTZJREFzSUdWeWNtOXlPaUF0TVN3Z1ptOTFibVE2SURBc0lIQnZjMlU2SUZzd0xEQXNNQ3d3TENBd0xEQXNNQ3d3TENBd0xEQXNNQ3d3WFNCOUtUc2dmU0IyWVhJZ2JXRnlhMlZ5U1c1bWJ5QTlJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaVpYSnliM0lpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVp2ZFc1a0lsMGdQU0F4T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNbDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk0xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTkYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTjEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpY0c5elpTSmRXekV4WFNBOUlDUmhXMmtySzEwN0lIMEFleUIyWVhJZ0pHRWdQU0JoY21kMWJXVnVkSE03SUhaaGNpQnBJRDBnTURzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNBOUlDaDdJR2xrT2lBd0xDQmxjbkp2Y2pvZ0xURXNJR1p2ZFc1a09pQXdMQ0J3YjNObE9pQmJNQ3d3TERBc01Dd2dNQ3d3TERBc01Dd2dNQ3d3TERBc01GMGdmU2s3SUgwZ2RtRnlJRzFoY210bGNrbHVabThnUFNCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFRzZ2JXRnlhMlZ5U1c1bWIxc2lhV1FpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVZ5Y205eUlsMGdQU0F0TVRzZ2JXRnlhMlZ5U1c1bWIxc2labTkxYm1RaVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzd1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzelhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMlhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzM1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeE1GMGdQU0F3T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1URmRJRDBnTURzZ2ZRQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F4TWpzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUhCdmN6b2dXekFzTUYwc0lHeHBibVU2SUZ0Yk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkWFN3Z2RtVnlkR1Y0T2lCYld6QXNNRjBzSUZzd0xEQmRMQ0JiTUN3d1hTd2dXekFzTUYxZElIMHBPeUI5SUhaaGNpQnRZWEpyWlhKSmJtWnZJRDBnWVhKMGIyOXNhMmwwV3lKdFlYSnJaWEpKYm1adklsMDdJRzFoY210bGNrbHVabTliSW1GeVpXRWlYU0E5SUNRd095QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKREU3SUcxaGNtdGxja2x1Wm05YkltbGtVR0YwZENKZElEMGdKREk3SUcxaGNtdGxja2x1Wm05YkltbGtUV0YwY21sNElsMGdQU0FrTXpzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5SWwwZ1BTQWtORHNnYldGeWEyVnlTVzVtYjFzaVpHbHlVR0YwZENKZElEMGdKRFU3SUcxaGNtdGxja2x1Wm05YkltUnBjazFoZEhKcGVDSmRJRDBnSkRZN0lHMWhjbXRsY2tsdVptOWJJbU5tSWwwZ1BTQWtOenNnYldGeWEyVnlTVzVtYjFzaVkyWlFZWFIwSWwwZ1BTQWtPRHNnYldGeWEyVnlTVzVtYjFzaVkyWk5ZWFJ5YVhnaVhTQTlJQ1E1T3lCdFlYSnJaWEpKYm1adld5SndiM01pWFZzd1hTQTlJQ1F4TURzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6SWwxYk1WMGdQU0FrTVRFN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekJkV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTUYxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6RmRXekZkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pOZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk0xMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5Smxjbkp2Y2tOdmNuSmxZM1JsWkNKZElEMGdKR0ZiYVNzclhUc2dmUUI3SUdsbUlDZ2hZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwcElIc2dZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJ0ZFd4MGFVVmhZMmhOWVhKclpYSWdQU0JoY25SdmIyeHJhWFJiSW0xMWJIUnBSV0ZqYUUxaGNtdGxja2x1Wm04aVhUc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDJhWE5wWW14bEoxMGdQU0FrTURzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkd1lYUjBTV1FuWFNBOUlDUXhPeUJ0ZFd4MGFVVmhZMmhOWVhKclpYSmJKM0JoZEhSVWVYQmxKMTBnUFNBa01qc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDNhV1IwYUNkZElEMGdKRE03SUgwQWFXbHBBRTVUZEROZlh6SXhNbUpoYzJsalgzTjBjbWx1WjBsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVk9VMTg1WVd4c2IyTmhkRzl5U1dORlJVVkZBRTVUZEROZlh6SXlNVjlmWW1GemFXTmZjM1J5YVc1blgyTnZiVzF2YmtsTVlqRkZSVVVBYkc5aFpFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCc2IyRmthVzVuSUhCaGNtRnRaWFJsY2lCbWFXeGxJQ1Z6SUdadmNpQmpZVzFsY21FdUNnQnBhV2xwQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdUa1pVSUcxaGNtdGxjaTRLQUZKbFlXUnBibWNnSlhNdVpuTmxkRE1LQUdaelpYUXpBRVZ5Y205eUlISmxZV1JwYm1jZ1MxQk5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBNd29BSUNCQmMzTnBaMjVsWkNCd1lXZGxJRzV2TGlBbFpDNEtBRVZ5Y205eU9pQnJjRzFEYUdGdVoyVlFZV2RsVG05UFpsSmxaa1JoZEdGVFpYUUtBRVZ5Y205eU9pQnJjRzFOWlhKblpWSmxaa1JoZEdGVFpYUUtBQ0FnUkc5dVpTNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRBb0Fabk5sZEFCRmNuSnZjaUJ5WldGa2FXNW5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBDZ0JGY25KdmNqb2dhM0J0VTJWMFVtVm1SR0YwWVZObGRBb0FURzloWkdsdVp5QnZaaUJPUmxRZ1pHRjBZU0JqYjIxd2JHVjBaUzRLQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdRVklnYlhWc2RHbHRZWEpyWlhJdUNnQmpiMjVtYVdjZ1pHRjBZU0JzYjJGa0lHVnljbTl5SUNFaENnQkJVbFJ2YjJ4TGFYUktVeWdwT2lCVmJtRmliR1VnZEc4Z2MyVjBJSFZ3SUVGU0lHMWhjbXRsY2k0S0FHeHZZV1JOWVhKclpYSW9LVG9nUlhKeWIzSWdiRzloWkdsdVp5QndZWFIwWlhKdUlHWnBiR1VnSlhNdUNnQkZjbkp2Y2pvZ1lYSXlRM0psWVhSbFNHRnVaR3hsTGdvQWFXbHBhV2tBYzJWMGRYQW9LVG9nUlhKeWIzSTZJR0Z5VUdGMGRFTnlaV0YwWlVoaGJtUnNaUzRLQUVGc2JHOWpZWFJsWkNCMmFXUmxiMFp5WVcxbFUybDZaU0FsWkFvQWV5QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYU2tnZXlCaGNuUnZiMnhyYVhSYkltWnlZVzFsVFdGc2JHOWpJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQm1jbUZ0WlUxaGJHeHZZeUE5SUdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYVHNnWm5KaGJXVk5ZV3hzYjJOYkltWnlZVzFsY0c5cGJuUmxjaUpkSUQwZ0pERTdJR1p5WVcxbFRXRnNiRzlqV3lKbWNtRnRaWE5wZW1VaVhTQTlJQ1F5T3lCbWNtRnRaVTFoYkd4dlkxc2lZMkZ0WlhKaElsMGdQU0FrTXpzZ1puSmhiV1ZOWVd4c2IyTmJJblJ5WVc1elptOXliU0pkSUQwZ0pEUTdJR1p5WVcxbFRXRnNiRzlqV3lKMmFXUmxiMHgxYldGUWIybHVkR1Z5SWwwZ1BTQWtOVHNnZlFBcUtpb2dRMkZ0WlhKaElGQmhjbUZ0WlhSbGNpQnlaWE5wZW1Wa0lHWnliMjBnSldRc0lDVmtMaUFxS2lvS0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNqb2dZWEpRWVhKaGJVeFVRM0psWVhSbExnb0FjMlYwUTJGdFpYSmhLQ2s2SUVWeWNtOXlPaUJoY2tOeVpXRjBaVWhoYm1Sc1pTNEtBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjaUJqY21WaGRHbHVaeUF6UkNCb1lXNWtiR1VBVDNWMElHOW1JRzFsYlc5eWVTRWhDZ0JGY25KdmNqb2diV0ZzYkc5akNnQWpJeU1nUm1WaGRIVnlaU0JqWVc1a2FXUmhkR1Z6SUdadmNpQjBjbUZqYTJsdVp5QmhjbVVnYjNabGNtWnNiM2N1Q2dCQ2IyZDFjeUJ0WlhOellXZGxJR052WkdVZ0pXUUFRVXhKUjA1ZlZGbFFSU0JwY3lCM2NtOXVaeXdnY0d4bFlYTmxJR1pwZUFCTlFWaGZRVXhNVDBOZlEwaFZUa3NnYVhNZ2QzSnZibWNzSUhCc1pXRnpaU0JtYVhnQVFtOW5kWE1nWW5WbVptVnlJR052Ym5SeWIyd2diVzlrWlFCSmJuWmhiR2xrSUdOdmJYQnZibVZ1ZENCSlJDQWxaQ0JwYmlCVFQxTUFTVzUyWVd4cFpDQmpjbTl3SUhKbGNYVmxjM1FBUkVOVUlHTnZaV1ptYVdOcFpXNTBJRzkxZENCdlppQnlZVzVuWlFCRVExUWdjMk5oYkdWa0lHSnNiMk5ySUhOcGVtVWdKV1I0SldRZ2JtOTBJSE4xY0hCdmNuUmxaQUJEYjIxd2IyNWxiblFnYVc1a1pYZ2dKV1E2SUcxcGMyMWhkR05vYVc1bklITmhiWEJzYVc1bklISmhkR2x2SUNWa09pVmtMQ0FsWkRvbFpDd2dKV01BUW05bmRYTWdTSFZtWm0xaGJpQjBZV0pzWlNCa1pXWnBibWwwYVc5dUFFSnZaM1Z6SUdsdWNIVjBJR052Ykc5eWMzQmhZMlVBUW05bmRYTWdTbEJGUnlCamIyeHZjbk53WVdObEFFSnZaM1Z6SUcxaGNtdGxjaUJzWlc1bmRHZ0FWM0p2Ym1jZ1NsQkZSeUJzYVdKeVlYSjVJSFpsY25OcGIyNDZJR3hwWW5KaGNua2dhWE1nSldRc0lHTmhiR3hsY2lCbGVIQmxZM1J6SUNWa0FGTmhiWEJzYVc1bklHWmhZM1J2Y25NZ2RHOXZJR3hoY21kbElHWnZjaUJwYm5SbGNteGxZWFpsWkNCelkyRnVBRWx1ZG1Gc2FXUWdiV1Z0YjNKNUlIQnZiMndnWTI5a1pTQWxaQUJWYm5OMWNIQnZjblJsWkNCS1VFVkhJR1JoZEdFZ2NISmxZMmx6YVc5dUlDVmtBRWx1ZG1Gc2FXUWdjSEp2WjNKbGMzTnBkbVVnY0dGeVlXMWxkR1Z5Y3lCVGN6MGxaQ0JUWlQwbFpDQkJhRDBsWkNCQmJEMGxaQUJKYm5aaGJHbGtJSEJ5YjJkeVpYTnphWFpsSUhCaGNtRnRaWFJsY25NZ1lYUWdjMk5oYmlCelkzSnBjSFFnWlc1MGNua2dKV1FBUW05bmRYTWdjMkZ0Y0d4cGJtY2dabUZqZEc5eWN3QkpiblpoYkdsa0lITmpZVzRnYzJOeWFYQjBJR0YwSUdWdWRISjVJQ1ZrQUVsdGNISnZjR1Z5SUdOaGJHd2dkRzhnU2xCRlJ5QnNhV0p5WVhKNUlHbHVJSE4wWVhSbElDVmtBRXBRUlVjZ2NHRnlZVzFsZEdWeUlITjBjblZqZENCdGFYTnRZWFJqYURvZ2JHbGljbUZ5ZVNCMGFHbHVhM01nYzJsNlpTQnBjeUFsZFN3Z1kyRnNiR1Z5SUdWNGNHVmpkSE1nSlhVQVFtOW5kWE1nZG1seWRIVmhiQ0JoY25KaGVTQmhZMk5sYzNNQVFuVm1abVZ5SUhCaGMzTmxaQ0IwYnlCS1VFVkhJR3hwWW5KaGNua2dhWE1nZEc5dklITnRZV3hzQUZOMWMzQmxibk5wYjI0Z2JtOTBJR0ZzYkc5M1pXUWdhR1Z5WlFCRFEwbFNOakF4SUhOaGJYQnNhVzVuSUc1dmRDQnBiWEJzWlcxbGJuUmxaQ0I1WlhRQVZHOXZJRzFoYm5rZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3pvZ0pXUXNJRzFoZUNBbFpBQlZibk4xY0hCdmNuUmxaQ0JqYjJ4dmNpQmpiMjUyWlhKemFXOXVJSEpsY1hWbGMzUUFRbTluZFhNZ1JFRkRJR2x1WkdWNElDVmtBRUp2WjNWeklFUkJReUIyWVd4MVpTQXdlQ1Y0QUVKdlozVnpJRVJJVkNCcGJtUmxlQ0FsWkFCQ2IyZDFjeUJFVVZRZ2FXNWtaWGdnSldRQVJXMXdkSGtnU2xCRlJ5QnBiV0ZuWlNBb1JFNU1JRzV2ZENCemRYQndiM0owWldRcEFGSmxZV1FnWm5KdmJTQkZUVk1nWm1GcGJHVmtBRmR5YVhSbElIUnZJRVZOVXlCbVlXbHNaV1FBUkdsa2JpZDBJR1Y0Y0dWamRDQnRiM0psSUhSb1lXNGdiMjVsSUhOallXNEFTVzV3ZFhRZ1ptbHNaU0J5WldGa0lHVnljbTl5QUU5MWRIQjFkQ0JtYVd4bElIZHlhWFJsSUdWeWNtOXlJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVJuSmhZM1JwYjI1aGJDQnpZVzF3YkdsdVp5QnViM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRWgxWm1adFlXNGdZMjlrWlNCemFYcGxJSFJoWW14bElHOTJaWEptYkc5M0FFMXBjM05wYm1jZ1NIVm1abTFoYmlCamIyUmxJSFJoWW14bElHVnVkSEo1QUUxaGVHbHRkVzBnYzNWd2NHOXlkR1ZrSUdsdFlXZGxJR1JwYldWdWMybHZiaUJwY3lBbGRTQndhWGhsYkhNQVJXMXdkSGtnYVc1d2RYUWdabWxzWlFCUWNtVnRZWFIxY21VZ1pXNWtJRzltSUdsdWNIVjBJR1pwYkdVQVEyRnVibTkwSUhSeVlXNXpZMjlrWlNCa2RXVWdkRzhnYlhWc2RHbHdiR1VnZFhObElHOW1JSEYxWVc1MGFYcGhkR2x2YmlCMFlXSnNaU0FsWkFCVFkyRnVJSE5qY21sd2RDQmtiMlZ6SUc1dmRDQjBjbUZ1YzIxcGRDQmhiR3dnWkdGMFlRQkpiblpoYkdsa0lHTnZiRzl5SUhGMVlXNTBhWHBoZEdsdmJpQnRiMlJsSUdOb1lXNW5aUUJPYjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUZKbGNYVmxjM1JsWkNCbVpXRjBkWEpsSUhkaGN5QnZiV2wwZEdWa0lHRjBJR052YlhCcGJHVWdkR2x0WlFCQmNtbDBhRzFsZEdsaklIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFRbUZqYTJsdVp5QnpkRzl5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRWgxWm1adFlXNGdkR0ZpYkdVZ01IZ2xNREo0SUhkaGN5QnViM1FnWkdWbWFXNWxaQUJLVUVWSElHUmhkR0Z6ZEhKbFlXMGdZMjl1ZEdGcGJuTWdibThnYVcxaFoyVUFVWFZoYm5ScGVtRjBhVzl1SUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVRtOTBJR0VnU2xCRlJ5Qm1hV3hsT2lCemRHRnlkSE1nZDJsMGFDQXdlQ1V3TW5nZ01IZ2xNREo0QUVsdWMzVm1abWxqYVdWdWRDQnRaVzF2Y25rZ0tHTmhjMlVnSldRcEFFTmhibTV2ZENCeGRXRnVkR2w2WlNCdGIzSmxJSFJvWVc0Z0pXUWdZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN3QkRZVzV1YjNRZ2NYVmhiblJwZW1VZ2RHOGdabVYzWlhJZ2RHaGhiaUFsWkNCamIyeHZjbk1BUTJGdWJtOTBJSEYxWVc1MGFYcGxJSFJ2SUcxdmNtVWdkR2hoYmlBbFpDQmpiMnh2Y25NQVNXNTJZV3hwWkNCS1VFVkhJR1pwYkdVZ2MzUnlkV04wZFhKbE9pQWxjeUJpWldadmNtVWdVMDlHQUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QUmlCdFlYSnJaWEp6QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2JXbHpjMmx1WnlCVFQxTWdiV0Z5YTJWeUFGVnVjM1Z3Y0c5eWRHVmtJRXBRUlVjZ2NISnZZMlZ6Y3pvZ1UwOUdJSFI1Y0dVZ01IZ2xNREo0QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QU1NCdFlYSnJaWEp6QUVaaGFXeGxaQ0IwYnlCamNtVmhkR1VnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BVW1WaFpDQm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVUyVmxheUJtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFWM0pwZEdVZ1ptRnBiR1ZrSUc5dUlIUmxiWEJ2Y21GeWVTQm1hV3hsSUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFRWEJ3YkdsallYUnBiMjRnZEhKaGJuTm1aWEp5WldRZ2RHOXZJR1psZHlCelkyRnViR2x1WlhNQVZXNXpkWEJ3YjNKMFpXUWdiV0Z5YTJWeUlIUjVjR1VnTUhnbE1ESjRBRlpwY25SMVlXd2dZWEp5WVhrZ1kyOXVkSEp2Ykd4bGNpQnRaWE56WldRZ2RYQUFTVzFoWjJVZ2RHOXZJSGRwWkdVZ1ptOXlJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRBVW1WaFpDQm1jbTl0SUZoTlV5Qm1ZV2xzWldRQVYzSnBkR1VnZEc4Z1dFMVRJR1poYVd4bFpBQkRiM0I1Y21sbmFIUWdLRU1wSURJd01UZ3NJRlJvYjIxaGN5QkhMaUJNWVc1bExDQkhkV2xrYnlCV2IyeHNZbVZrYVc1bkFEbGpJQ0F4TkMxS1lXNHRNakF4T0FCRFlYVjBhVzl1T2lCeGRXRnVkR2w2WVhScGIyNGdkR0ZpYkdWeklHRnlaU0IwYjI4Z1kyOWhjbk5sSUdadmNpQmlZWE5sYkdsdVpTQktVRVZIQUVGa2IySmxJRUZRVURFMElHMWhjbXRsY2pvZ2RtVnljMmx2YmlBbFpDd2dabXhoWjNNZ01IZ2xNRFI0SURCNEpUQTBlQ3dnZEhKaGJuTm1iM0p0SUNWa0FGVnVhMjV2ZDI0Z1FWQlFNQ0J0WVhKclpYSWdLRzV2ZENCS1JrbEdLU3dnYkdWdVozUm9JQ1YxQUZWdWEyNXZkMjRnUVZCUU1UUWdiV0Z5YTJWeUlDaHViM1FnUVdSdlltVXBMQ0JzWlc1bmRHZ2dKWFVBUkdWbWFXNWxJRUZ5YVhSb2JXVjBhV01nVkdGaWJHVWdNSGdsTURKNE9pQXdlQ1V3TW5nQVJHVm1hVzVsSUVoMVptWnRZVzRnVkdGaWJHVWdNSGdsTURKNEFFUmxabWx1WlNCUmRXRnVkR2w2WVhScGIyNGdWR0ZpYkdVZ0pXUWdJSEJ5WldOcGMybHZiaUFsWkFCRVpXWnBibVVnVW1WemRHRnlkQ0JKYm5SbGNuWmhiQ0FsZFFCR2NtVmxaQ0JGVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lFVk5VeUJvWVc1a2JHVWdKWFVBUlc1a0lFOW1JRWx0WVdkbEFDQWdJQ0FnSUNBZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQUJLUmtsR0lFRlFVREFnYldGeWEyVnlPaUIyWlhKemFXOXVJQ1ZrTGlVd01tUXNJR1JsYm5OcGRIa2dKV1I0SldRZ0lDVmtBRmRoY201cGJtYzZJSFJvZFcxaWJtRnBiQ0JwYldGblpTQnphWHBsSUdSdlpYTWdibTkwSUcxaGRHTm9JR1JoZEdFZ2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nZEhsd1pTQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQWdJQ0FnZDJsMGFDQWxaQ0I0SUNWa0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlFCTmFYTmpaV3hzWVc1bGIzVnpJRzFoY210bGNpQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQlZibVY0Y0dWamRHVmtJRzFoY210bGNpQXdlQ1V3TW5nQUlDQWdJQ0FnSUNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFBRkYxWVc1MGFYcHBibWNnZEc4Z0pXUWdQU0FsWkNvbFpDb2xaQ0JqYjJ4dmNuTUFVWFZoYm5ScGVtbHVaeUIwYnlBbFpDQmpiMnh2Y25NQVUyVnNaV04wWldRZ0pXUWdZMjlzYjNKeklHWnZjaUJ4ZFdGdWRHbDZZWFJwYjI0QVFYUWdiV0Z5YTJWeUlEQjRKVEF5ZUN3Z2NtVmpiM1psY25rZ1lXTjBhVzl1SUNWa0FGSlRWQ1ZrQUZOdGIyOTBhR2x1WnlCdWIzUWdjM1Z3Y0c5eWRHVmtJSGRwZEdnZ2JtOXVjM1JoYm1SaGNtUWdjMkZ0Y0d4cGJtY2djbUYwYVc5ekFGTjBZWEowSUU5bUlFWnlZVzFsSURCNEpUQXllRG9nZDJsa2RHZzlKWFVzSUdobGFXZG9kRDBsZFN3Z1kyOXRjRzl1Wlc1MGN6MGxaQUFnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUFsWkdoNEpXUjJJSEU5SldRQVUzUmhjblFnYjJZZ1NXMWhaMlVBVTNSaGNuUWdUMllnVTJOaGJqb2dKV1FnWTI5dGNHOXVaVzUwY3dBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lCa1l6MGxaQ0JoWXowbFpBQWdJRk56UFNWa0xDQlRaVDBsWkN3Z1FXZzlKV1FzSUVGc1BTVmtBRU5zYjNObFpDQjBaVzF3YjNKaGNua2dabWxzWlNBbGN3QlBjR1Z1WldRZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJLVUVWSExXTnZiWEJ5WlhOelpXUWdkR2gxYldKdVlXbHNJR2x0WVdkbExDQnNaVzVuZEdnZ0pYVUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCd1lXeGxkSFJsSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dVa2RDSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUZWdWNtVmpiMmR1YVhwbFpDQmpiMjF3YjI1bGJuUWdTVVJ6SUNWa0lDVmtJQ1ZrTENCaGMzTjFiV2x1WnlCWlEySkRjZ0JHY21WbFpDQllUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUZoTlV5Qm9ZVzVrYkdVZ0pYVUFWVzVyYm05M2JpQkJaRzlpWlNCamIyeHZjaUIwY21GdWMyWnZjbTBnWTI5a1pTQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nWW1Ga0lHRnlhWFJvYldWMGFXTWdZMjlrWlFCSmJtTnZibk5wYzNSbGJuUWdjSEp2WjNKbGMzTnBiMjRnYzJWeGRXVnVZMlVnWm05eUlHTnZiWEJ2Ym1WdWRDQWxaQ0JqYjJWbVptbGphV1Z1ZENBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dKWFVnWlhoMGNtRnVaVzkxY3lCaWVYUmxjeUJpWldadmNtVWdiV0Z5YTJWeUlEQjRKVEF5ZUFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ2NISmxiV0YwZFhKbElHVnVaQ0J2WmlCa1lYUmhJSE5sWjIxbGJuUUFRMjl5Y25Wd2RDQktVRVZISUdSaGRHRTZJR0poWkNCSWRXWm1iV0Z1SUdOdlpHVUFWMkZ5Ym1sdVp6b2dkVzVyYm05M2JpQktSa2xHSUhKbGRtbHphVzl1SUc1MWJXSmxjaUFsWkM0bE1ESmtBRkJ5WlcxaGRIVnlaU0JsYm1RZ2IyWWdTbEJGUnlCbWFXeGxBRU52Y25KMWNIUWdTbEJGUnlCa1lYUmhPaUJtYjNWdVpDQnRZWEpyWlhJZ01IZ2xNREo0SUdsdWMzUmxZV1FnYjJZZ1VsTlVKV1FBU1c1MllXeHBaQ0JUVDFNZ2NHRnlZVzFsZEdWeWN5Qm1iM0lnYzJWeGRXVnVkR2xoYkNCS1VFVkhBRUZ3Y0d4cFkyRjBhVzl1SUhSeVlXNXpabVZ5Y21Wa0lIUnZieUJ0WVc1NUlITmpZVzVzYVc1bGN3QktVRVZIVFVWTkFDVnNaQ1ZqQUZOUFV3Qk1VMFVBSlhNS0FISjNZUUJwYm1acGJtbDBlUUFBQVFJRUJ3TUdCUUF0S3lBZ0lEQllNSGdBS0c1MWJHd3BBQzB3V0Nzd1dDQXdXQzB3ZUNzd2VDQXdlQUJwYm1ZQVNVNUdBRzVoYmdCT1FVNEFMZ0JNUTE5QlRFd0FURUZPUndCRExsVlVSaTA0QUZCUFUwbFlBRTFWVTB4ZlRFOURVRUZVU0FCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpPaUFsY3dCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpBSFJsY20xcGJtRjBhVzVuSUhkcGRHZ2dKWE1nWm05eVpXbG5iaUJsZUdObGNIUnBiMjRBZEdWeWJXbHVZWFJwYm1jQWRXNWpZWFZuYUhRQVUzUTVaWGhqWlhCMGFXOXVBRTR4TUY5ZlkzaDRZV0pwZGpFeE5sOWZjMmhwYlY5MGVYQmxYMmx1Wm05RkFGTjBPWFI1Y0dWZmFXNW1id0JPTVRCZlgyTjRlR0ZpYVhZeE1qQmZYM05wWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTNYMTlqYkdGemMxOTBlWEJsWDJsdVptOUZBSFJsY20xcGJtRjBaVjlvWVc1a2JHVnlJSFZ1Wlhod1pXTjBaV1JzZVNCeVpYUjFjbTVsWkFCVGRERXhiRzluYVdOZlpYSnliM0lBVTNReE1teGxibWQwYUY5bGNuSnZjZ0JPTVRCZlgyTjRlR0ZpYVhZeE1UZGZYM0JpWVhObFgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFNVgxOXdiMmx1ZEdWeVgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRJelgxOW1kVzVrWVcxbGJuUmhiRjkwZVhCbFgybHVabTlGQUhZQVlnQmpBR2dBWVFCekFIUUFhUUJxQUcwQVpnQmtBRTR4TUY5ZlkzaDRZV0pwZGpFeU1WOWZkbTFwWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBZG05cFpBQmliMjlzQUdOb1lYSUFjMmxuYm1Wa0lHTm9ZWElBZFc1emFXZHVaV1FnWTJoaGNnQnphRzl5ZEFCMWJuTnBaMjVsWkNCemFHOXlkQUJwYm5RQWRXNXphV2R1WldRZ2FXNTBBR3h2Ym1jQWRXNXphV2R1WldRZ2JHOXVad0JtYkc5aGRBQmtiM1ZpYkdVQWMzUmtPanB6ZEhKcGJtY0FjM1JrT2pwaVlYTnBZMTl6ZEhKcGJtYzhkVzV6YVdkdVpXUWdZMmhoY2o0QWMzUmtPanAzYzNSeWFXNW5BSE4wWkRvNmRURTJjM1J5YVc1bkFITjBaRG82ZFRNeWMzUnlhVzVuQUdWdGMyTnlhWEIwWlc0Nk9uWmhiQUJsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGphR0Z5UGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenh6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGMyaHZjblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJSE5vYjNKMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lHbHVkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnYkc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblF4Tmw5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBNVFpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME16SmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkV2x1ZERNeVgzUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHWnNiMkYwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhrYjNWaWJHVStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHeHZibWNnWkc5MVlteGxQZ0JPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxsUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSlpFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV1pGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsdFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpiRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dwRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHBSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKZEVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NYTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxvUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSllVVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV05GUlFCT01UQmxiWE5qY21sd2RHVnVNM1poYkVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJwVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYVVWRlRsTmZPV0ZzYkc5allYUnZja2xFYVVWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VSelRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWMwVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWMwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVTVUWHpsaGJHeHZZMkYwYjNKSmQwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNXaE9VMTh4TVdOb1lYSmZkSEpoYVhSelNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBVGxOME0xOWZNamhwYjNOZlltRnpaVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFMVltRnphV05mYzNSeVpXRnRZblZtU1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhOV0poYzJsalgzTjBjbVZoYldKMVprbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTlwYzNSeVpXRnRTV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE0ySmhjMmxqWDJsemRISmxZVzFKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRXpZbUZ6YVdOZmIzTjBjbVZoYlVsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXZjM1J5WldGdFNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGQUU1VGRETmZYekl4TVY5ZmMzUmtiM1YwWW5WbVNYZEZSUUJPVTNRelgxOHlNVEZmWDNOMFpHOTFkR0oxWmtsalJVVUFkVzV6ZFhCd2IzSjBaV1FnYkc5allXeGxJR1p2Y2lCemRHRnVaR0Z5WkNCcGJuQjFkQUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1hkRlJRQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TV05GUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKWTBWRkFFNVRkRE5mWHpJMmJHOWpZV3hsTldaaFkyVjBSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpkMFZGQUNWd0FFTUFUbE4wTTE5Zk1qZHVkVzFmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYMmRsZEVsalJVVUFUbE4wTTE5Zk1qRTBYMTl1ZFcxZloyVjBYMkpoYzJWRkFFNVRkRE5mWHpJM2JuVnRYMmRsZEVsM1RsTmZNVGxwYzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNamxmWDI1MWJWOW5aWFJKZDBWRkFDVndBQUFBQUV3QWJHd0FKUUFBQUFBQWJBQk9VM1F6WDE4eU4yNTFiVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekk1WDE5dWRXMWZjSFYwU1dORlJRQk9VM1F6WDE4eU1UUmZYMjUxYlY5d2RYUmZZbUZ6WlVVQVRsTjBNMTlmTWpkdWRXMWZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgzQjFkRWwzUlVVQUpVZzZKVTA2SlZNQUpXMHZKV1F2SlhrQUpVazZKVTA2SlZNZ0pYQUFKV0VnSldJZ0pXUWdKVWc2SlUwNkpWTWdKVmtBUVUwQVVFMEFTbUZ1ZFdGeWVRQkdaV0p5ZFdGeWVRQk5ZWEpqYUFCQmNISnBiQUJOWVhrQVNuVnVaUUJLZFd4NUFFRjFaM1Z6ZEFCVFpYQjBaVzFpWlhJQVQyTjBiMkpsY2dCT2IzWmxiV0psY2dCRVpXTmxiV0psY2dCS1lXNEFSbVZpQUUxaGNnQkJjSElBU25WdUFFcDFiQUJCZFdjQVUyVndBRTlqZEFCT2IzWUFSR1ZqQUZOMWJtUmhlUUJOYjI1a1lYa0FWSFZsYzJSaGVRQlhaV1J1WlhOa1lYa0FWR2gxY25Oa1lYa0FSbkpwWkdGNUFGTmhkSFZ5WkdGNUFGTjFiZ0JOYjI0QVZIVmxBRmRsWkFCVWFIVUFSbkpwQUZOaGRBQWxiUzhsWkM4bGVTVlpMU1Z0TFNWa0pVazZKVTA2SlZNZ0pYQWxTRG9sVFNWSU9pVk5PaVZUSlVnNkpVMDZKVk5PVTNRelgxOHlPSFJwYldWZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM1JwYldWZloyVjBYMk5mYzNSdmNtRm5aVWxqUlVVQVRsTjBNMTlmTWpsMGFXMWxYMkpoYzJWRkFFNVRkRE5mWHpJNGRHbHRaVjluWlhSSmQwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSVVZGQUU1VGRETmZYekl5TUY5ZmRHbHRaVjluWlhSZlkxOXpkRzl5WVdkbFNYZEZSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTV05PVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1UQmZYM1JwYldWZmNIVjBSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTV05NWWpCRlJVVUFUbE4wTTE5Zk1qRXdiVzl1WlhsZlltRnpaVVVBVGxOME0xOWZNakV3Ylc5dVpYbHdkVzVqZEVsalRHSXhSVVZGQUU1VGRETmZYekl4TUcxdmJtVjVjSFZ1WTNSSmQweGlNRVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNYZE1ZakZGUlVVQU1ERXlNelExTmpjNE9RQWxUR1lBVGxOME0xOWZNamx0YjI1bGVWOW5aWFJKWTA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZaMlYwU1dORlJRQXdNVEl6TkRVMk56ZzVBRTVUZEROZlh6STViVzl1WlhsZloyVjBTWGRPVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1URmZYMjF2Ym1WNVgyZGxkRWwzUlVVQUpTNHdUR1lBVGxOME0xOWZNamx0YjI1bGVWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZjSFYwU1dORlJRQk9VM1F6WDE4eU9XMXZibVY1WDNCMWRFbDNUbE5mTVRsdmMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpFeFgxOXRiMjVsZVY5d2RYUkpkMFZGQUU1VGRETmZYekk0YldWemMyRm5aWE5KWTBWRkFFNVRkRE5mWHpJeE0yMWxjM05oWjJWelgySmhjMlZGQUU1VGRETmZYekl4TjE5ZmQybGtaVzVmWm5KdmJWOTFkR1k0U1V4dE16SkZSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTVVJwWXpFeFgxOXRZbk4wWVhSbFgzUkZSUUJPVTNRelgxOHlNVEpqYjJSbFkzWjBYMkpoYzJWRkFFNVRkRE5mWHpJeE5sOWZibUZ5Y205M1gzUnZYM1YwWmpoSlRHMHpNa1ZGUlFCT1UzUXpYMTh5T0cxbGMzTmhaMlZ6U1hkRlJRQk9VM1F6WDE4eU4yTnZaR1ZqZG5SSlkyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1hkak1URmZYMjFpYzNSaGRHVmZkRVZGQUU1VGRETmZYekkzWTI5a1pXTjJkRWxFYzJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNalpzYjJOaGJHVTFYMTlwYlhCRkFFNVRkRE5mWHpJMVkzUjVjR1ZKWTBWRkFFNVRkRE5mWHpJeE1HTjBlWEJsWDJKaGMyVkZBRTVUZEROZlh6STFZM1I1Y0dWSmQwVkZBR1poYkhObEFIUnlkV1VBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWxqUlVVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsM1JVVUFUbE4wTTE5Zk1qRTBYMTl6YUdGeVpXUmZZMjkxYm5SRkFFNVRkRE5mWHpJeE9WOWZjMmhoY21Wa1gzZGxZV3RmWTI5MWJuUkZBRUh3dmdNTEFRRUFRWmpBQXd0YVhFZ0FBQUVBQUFCOFNBQUFBUUFBQU5CUUFBQUJBQUFBSUNJQUFBQUFBQUNVVVFBQUFRQUFBTmhSQUFBQkFBQUFqRkFBQUFFQUFBQk00Z0FBQUFBQUFBaFNBQUFCQUFBQU9GSUFBQUVBQUFBRVVRQUFBUUFBQUM0c0FFR0F3UU1MRFN4UkFBQUJBQUFBTGdBQUFDd0FRYURCQXd2SkFweElBQUFCQUFBQTNFZ0FBQUVBQUFBY1NRQUFBUUFBQUZCSkFBQUJBQUFBbkU0QUFBRUFBQURVVGdBQUFRQUFBQXhQQUFBQkFBQUFSRThBQUFFQUFBQjhUd0FBQVFBQUFKaFBBQUFCQUFBQXRFOEFBQUVBQUFEUVR3QUFBUUFBQUlSSkFBQUJBQUFBdEVrQUFBQUFBQURZU1FBQUFRQUFBQWhLQUFBQUFBQUFiRTRBQUFFQUFBQk00Z0FBQUFBQUFJUk9BQUFCQUFBQVRPSUFBQUFBQUFEc1R3QUFBUUFBQUF4UUFBQUJBQUFBQVFBQUFBQUFBQUM4VUFBQUR3QUFBSERoQUFEZzRRQUE0T0VBQUFBQUFBQVk0QUFBSU9BQUFDamdBQUE0NEFBQVFPQUFBRWpnQUFCWTRBQUFZT0FBQUdqZ0FBQ0E0QUFBb09BQUFLamdBQUN3NEFBQXVPQUFBTURnQUFESTRBQUEwT0FBQU5qZ0FBRGc0QUFBNk9BQUFQRGdBQUQ0NEFBQUFPRUFBQkRoQUFBZzRRQUFNT0VBQUVEaEFBQkk0UUFBQVFBQUFBQUFBQUJEQUVIend3TUxCZ0VBQUFBQUFRQkI2TVVEQ3hHZ1JnQUFBQUFBQUxSR0FBQUNFQUFBQmdCQmlNWURDd2FRNVFBQVdPRUFRYmpHQXdzWm1PTUFBUC8vLy8vUVJnQUFBQUFBQU9SR0FBQUNFQUFBQmdCQjRNWURDd2JRNVFBQVdPRUFRWkRIQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUcweHdNTEJoRG1BQUJZNFFCQjZNY0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCaU1nREN3Wkk1Z0FBV09FQVFieklBd3NSLy8vLy93QkhBQUFVUndBQUFqQUFBQVlBUWR6SUF3c0dnT1lBQUZqaEFFR015UU1MRlpqakFBRC8vLy8vTUVjQUFFUkhBQUFDTUFBQUJnQkJzTWtEQ3dhNDVnQUFXT0VBUWVESkF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHRXlnTUxCb0RtQUFCWTRRQkJ1TW9EQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQjJNb0RDd2E0NWdBQVdPRUFRWXpMQXdzSy8vLy8veHhJQUFCWTRRQkJzTXNEQ3hiNE9RQUFRT0FBQU1qbEFBQUJBQUFBLy8vLy93QUJBRUhReXdNTEJ0eEhBQUJZNFFCQjhNc0RDeFQ0T1FBQVNPQUFBQWptQUFBQkFBQUEvLy8vL3dCQmtNd0RDd2FjUndBQVdPRUFRYkRNQXdzTmlEb0FBRURnQUFCQTVnQUFBUUJCeU13REN3WmNSd0FBV09FQVFlak1Bd3NLaURvQUFFamdBQUI0NWdCQmdNMERDd2FjUndBQVdPRUFRYUROQXdzTmFEa0FBRURnQUFDdzVnQUFBUUJCdU0wREN3WmNSd0FBV09FQVFkak5Bd3NLYURrQUFFamdBQURvNWdCQjhNMERDMVgvLy8vL0FRQUFBUC8vLy84Q0FBQUEvLy8vL3dNQUFBQk00Z0FBSEFBQUFQLy8vLzhKQUFBQS8vLy8vd3NBQUFELy8vLy9CQUFBQVAvLy8vOEtBQUFBLy8vLy93d0FBQUQvLy8vL0RRQUFBUC8vLy84T0FFR0V6d01MQmYvLy8vOFhBRUhJendNTGxnSC8vLy8vR0FBQUFQLy8vLzhaQUFBQS8vLy8veG9BQUFELy8vLy9Ed0FBQVAvLy8vOFFBQUFBLy8vLy94RUFBQUQvLy8vL0VnQUFBUC8vLy84VEFBQUEvLy8vL3hRQUFBRC8vLy8vRlFBQUFQLy8vLzhXQUFBQS8vLy8veHNBQUFELy8vLy9IQUFBQVAvLy8vOEZBQUFBLy8vLy93WUFBQUQvLy8vL0J3QUFBUC8vLy84SUFBQUFXT0VBQUZEb0FBQlk0UUFBV09nQVFmRGVBd3NDV09FQVFZRGZBd3NGT09nQUFJOEFRWkRmQXdzUmp3QUFBQUFBQUFDZzd3QUFBQUFBQUk4PVxcXCI7ZnVuY3Rpb24gbEEoKXt0cnl7aWYobilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobik7dmFyIEE9amcoZkEpO2lmKEEpcmV0dXJuIEE7aWYoaClyZXR1cm4gaChmQSk7dGhyb3dcXFwiYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWRcXFwifWNhdGNoKEEpe0pBKEEpfX1mdW5jdGlvbiB1QSgpe3JldHVybiBufHwhaSYmIW98fFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBmZXRjaD9uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSxJKXtBKGxBKCkpfSkpOmZldGNoKGZBLHtjcmVkZW50aWFsczpcXFwic2FtZS1vcmlnaW5cXFwifSkudGhlbigoZnVuY3Rpb24oQSl7aWYoIUEub2spdGhyb3dcXFwiZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnXFxcIitmQStcXFwiJ1xcXCI7cmV0dXJuIEEuYXJyYXlCdWZmZXIoKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbEEoKX0pKX1mdW5jdGlvbiBXQSgpe3ZhciBJPXtlbnY6QkIsd2FzaV9zbmFwc2hvdF9wcmV2aWV3MTpCQixnbG9iYWw6e05hTjpOYU4sSW5maW5pdHk6MS8wfSxcXFwiZ2xvYmFsLk1hdGhcXFwiOk1hdGgsYXNtMndhc206a307ZnVuY3Rpb24gZyhJLGcpe3ZhciBCPUkuZXhwb3J0cztBLmFzbT1CLGVBKCl9ZnVuY3Rpb24gQihBKXtnKEEuaW5zdGFuY2UpfWZ1bmN0aW9uIEMoQSl7cmV0dXJuIHVBKCkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEEsSSl9KSkudGhlbihBLChmdW5jdGlvbihBKXtTKFxcXCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiBcXFwiK0EpLEpBKEEpfSkpfWlmKFlBKCksQS5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBBLmluc3RhbnRpYXRlV2FzbShJLGcpfWNhdGNoKEEpe3JldHVybiBTKFxcXCJNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiBcXFwiK0EpLCExfXJldHVybiBmdW5jdGlvbigpe2lmKG58fFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZ3x8TEEoZkEpfHxcXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgZmV0Y2gpcmV0dXJuIEMoQik7ZmV0Y2goZkEse2NyZWRlbnRpYWxzOlxcXCJzYW1lLW9yaWdpblxcXCJ9KS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoQSxJKS50aGVuKEIsKGZ1bmN0aW9uKEEpe1MoXFxcIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiBcXFwiK0EpLFMoXFxcImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uXFxcIiksQyhCKX0pKX0pKX0oKSx7fX1MQShmQSl8fChmQT15KGZBKSksQS5hc209V0E7dmFyIHBBPVtmdW5jdGlvbihBLEksZyxCLEMsUSl7YXJ0b29sa2l0LmZyYW1lTWFsbG9jfHwoYXJ0b29sa2l0LmZyYW1lTWFsbG9jPXt9KTt2YXIgRT1hcnRvb2xraXQuZnJhbWVNYWxsb2M7RS5mcmFtZXBvaW50ZXI9SSxFLmZyYW1lc2l6ZT1nLEUuY2FtZXJhPUIsRS50cmFuc2Zvcm09QyxFLnZpZGVvTHVtYVBvaW50ZXI9UX0sZnVuY3Rpb24oQSxJLGcsQil7YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm98fChhcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbz17fSk7dmFyIEM9YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm87Qy52aXNpYmxlPUEsQy5wYXR0SWQ9SSxDLnBhdHRUeXBlPWcsQy53aWR0aD1CfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCl7dmFyIHE9YXJndW1lbnRzLGQ9MTI7YXJ0b29sa2l0Lm1hcmtlckluZm98fChhcnRvb2xraXQubWFya2VySW5mbz17cG9zOlswLDBdLGxpbmU6W1swLDAsMF0sWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLHZlcnRleDpbWzAsMF0sWzAsMF0sWzAsMF0sWzAsMF1dfSk7dmFyIGY9YXJ0b29sa2l0Lm1hcmtlckluZm87Zi5hcmVhPUEsZi5pZD1JLGYuaWRQYXR0PWcsZi5pZE1hdHJpeD1CLGYuZGlyPUMsZi5kaXJQYXR0PVEsZi5kaXJNYXRyaXg9RSxmLmNmPWksZi5jZlBhdHQ9byxmLmNmTWF0cml4PUQsZi5wb3NbMF09YSxmLnBvc1sxXT13LGYubGluZVswXVswXT1xW2QrK10sZi5saW5lWzBdWzFdPXFbZCsrXSxmLmxpbmVbMF1bMl09cVtkKytdLGYubGluZVsxXVswXT1xW2QrK10sZi5saW5lWzFdWzFdPXFbZCsrXSxmLmxpbmVbMV1bMl09cVtkKytdLGYubGluZVsyXVswXT1xW2QrK10sZi5saW5lWzJdWzFdPXFbZCsrXSxmLmxpbmVbMl1bMl09cVtkKytdLGYubGluZVszXVswXT1xW2QrK10sZi5saW5lWzNdWzFdPXFbZCsrXSxmLmxpbmVbM11bMl09cVtkKytdLGYudmVydGV4WzBdWzBdPXFbZCsrXSxmLnZlcnRleFswXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMF09cVtkKytdLGYudmVydGV4WzFdWzFdPXFbZCsrXSxmLnZlcnRleFsyXVswXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMV09cVtkKytdLGYudmVydGV4WzNdWzBdPXFbZCsrXSxmLnZlcnRleFszXVsxXT1xW2QrK10sZi5lcnJvckNvcnJlY3RlZD1xW2QrK119LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyl7dmFyIGg9YXJndW1lbnRzLHM9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIFI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Ui5pZD1oW3MrK10sUi5lcnJvcj1oW3MrK10sUi5mb3VuZD0xLFIucG9zZVswXT1oW3MrK10sUi5wb3NlWzFdPWhbcysrXSxSLnBvc2VbMl09aFtzKytdLFIucG9zZVszXT1oW3MrK10sUi5wb3NlWzRdPWhbcysrXSxSLnBvc2VbNV09aFtzKytdLFIucG9zZVs2XT1oW3MrK10sUi5wb3NlWzddPWhbcysrXSxSLnBvc2VbOF09aFtzKytdLFIucG9zZVs5XT1oW3MrK10sUi5wb3NlWzEwXT1oW3MrK10sUi5wb3NlWzExXT1oW3MrK119LGZ1bmN0aW9uKEEpe3ZhciBJPWFyZ3VtZW50cyxnPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBCPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO0IuaWQ9SVtnKytdLEIuZXJyb3I9LTEsQi5mb3VuZD0wLEIucG9zZVswXT0wLEIucG9zZVsxXT0wLEIucG9zZVsyXT0wLEIucG9zZVszXT0wLEIucG9zZVs0XT0wLEIucG9zZVs1XT0wLEIucG9zZVs2XT0wLEIucG9zZVs3XT0wLEIucG9zZVs4XT0wLEIucG9zZVs5XT0wLEIucG9zZVsxMF09MCxCLnBvc2VbMTFdPTB9XTtmdW5jdGlvbiBaQShBLEksZyxCLEMsUSxFKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUpfWZ1bmN0aW9uIGJBKEEsSSxnLEIsQyl7cmV0dXJuIHBBW0FdKEksZyxCLEMpfWZ1bmN0aW9uIHhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKX1mdW5jdGlvbiBtQShBLEkpe3JldHVybiBwQVtBXShJKX1mdW5jdGlvbiBYQShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpfWZ1bmN0aW9uIFZBKEEpe3JldHVybiBBLnJlcGxhY2UoL1xcXFxiX19aW1xcXFx3XFxcXGRfXSsvZywoZnVuY3Rpb24oQSl7cmV0dXJuIEE9PUE/QTpBK1xcXCIgW1xcXCIrQStcXFwiXVxcXCJ9KSl9ZnVuY3Rpb24gT0EoKXt2YXIgQT1uZXcgRXJyb3I7aWYoIUEuc3RhY2spe3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goSSl7QT1JfWlmKCFBLnN0YWNrKXJldHVyblxcXCIobm8gc3RhY2sgdHJhY2UgYXZhaWxhYmxlKVxcXCJ9cmV0dXJuIEEuc3RhY2sudG9TdHJpbmcoKX1mdW5jdGlvbiBUQSgpe3ZhciBJPU9BKCk7cmV0dXJuIEEuZXh0cmFTdGFja1RyYWNlJiYoSSs9XFxcIlxcXFxuXFxcIitBLmV4dHJhU3RhY2tUcmFjZSgpKSxWQShJKX13QS5wdXNoKHtmdW5jOmZ1bmN0aW9uKCl7RUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7YUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7aUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7b0IoKX19KTt2YXIgakE9e307ZnVuY3Rpb24gUEEoKXtyZXR1cm4gUXx8XFxcIi4vdGhpcy5wcm9ncmFtXFxcIn1mdW5jdGlvbiB2QShBKXt2YXIgSSxnO3ZBLmNhbGxlZD8oZz1BQVtBPj4yXSxJPUFBW2c+PjJdKToodkEuY2FsbGVkPSEwLGpBLlVTRVI9XFxcIndlYl91c2VyXFxcIixqQS5MT0dOQU1FPVxcXCJ3ZWJfdXNlclxcXCIsakEuUEFUSD1cXFwiL1xcXCIsakEuUFdEPVxcXCIvXFxcIixqQS5IT01FPVxcXCIvaG9tZS93ZWJfdXNlclxcXCIsakEuTEFORz0oXFxcIm9iamVjdFxcXCI9PT0oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBuYXZpZ2F0b3I/XFxcInVuZGVmaW5lZFxcXCI6RChuYXZpZ2F0b3IpKSYmbmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlc1swXXx8XFxcIkNcXFwiKS5yZXBsYWNlKFxcXCItXFxcIixcXFwiX1xcXCIpK1xcXCIuVVRGLThcXFwiLGpBLl89UEEoKSxJPUwoMTAyNCksZz1MKDI1NiksQUFbZz4+Ml09SSxBQVtBPj4yXT1nKTt2YXIgQj1bXSxDPTA7Zm9yKHZhciBRIGluIGpBKWlmKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgakFbUV0pe3ZhciBFPVErXFxcIj1cXFwiK2pBW1FdO0IucHVzaChFKSxDKz1FLmxlbmd0aH1pZihDPjEwMjQpdGhyb3cgbmV3IEVycm9yKFxcXCJFbnZpcm9ubWVudCBzaXplIGV4Y2VlZGVkIFRPVEFMX0VOVl9TSVpFIVxcXCIpO2Zvcih2YXIgaT0wO2k8Qi5sZW5ndGg7aSsrKWooRT1CW2ldLEkpLEFBW2crNCppPj4yXT1JLEkrPUUubGVuZ3RoKzE7QUFbZys0KkIubGVuZ3RoPj4yXT0wfWZ1bmN0aW9uIHpBKEEpe3JldHVybiBSQihBKX12YXIgX0E9e307ZnVuY3Rpb24gJEEoQSxJLGcpe3Rocm93IF9BW0FdPXtwdHI6QSxhZGp1c3RlZDpbQV0sdHlwZTpJLGRlc3RydWN0b3I6ZyxyZWZjb3VudDowLGNhdWdodDohMSxyZXRocm93bjohMX0sXFxcInVuY2F1Z2h0X2V4Y2VwdGlvblxcXCJpbiBEQj9EQi51bmNhdWdodF9leGNlcHRpb25zKys6REIudW5jYXVnaHRfZXhjZXB0aW9ucz0xLEF9ZnVuY3Rpb24gQUkoKXt9ZnVuY3Rpb24gSUkoSSl7cmV0dXJuIEEuX19fZXJybm9fbG9jYXRpb24mJihBQVtBLl9fX2Vycm5vX2xvY2F0aW9uKCk+PjJdPUkpLEl9ZnVuY3Rpb24gZ0koQSxJKXtyZXR1cm4gSUkoNjMpLC0xfXZhciBCST17c3BsaXRQYXRoOmZ1bmN0aW9uKEEpe3JldHVybi9eKFxcXFwvP3wpKFtcXFxcc1xcXFxTXSo/KSgoPzpcXFxcLnsxLDJ9fFteXFxcXC9dKz98KShcXFxcLlteLlxcXFwvXSp8KSkoPzpbXFxcXC9dKikkLy5leGVjKEEpLnNsaWNlKDEpfSxub3JtYWxpemVBcnJheTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9QS5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEM9QVtCXTtcXFwiLlxcXCI9PT1DP0Euc3BsaWNlKEIsMSk6XFxcIi4uXFxcIj09PUM/KEEuc3BsaWNlKEIsMSksZysrKTpnJiYoQS5zcGxpY2UoQiwxKSxnLS0pfWlmKEkpZm9yKDtnO2ctLSlBLnVuc2hpZnQoXFxcIi4uXFxcIik7cmV0dXJuIEF9LG5vcm1hbGl6ZTpmdW5jdGlvbihBKXt2YXIgST1cXFwiL1xcXCI9PT1BLmNoYXJBdCgwKSxnPVxcXCIvXFxcIj09PUEuc3Vic3RyKC0xKTtyZXR1cm4oQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFxcXCIvXFxcIikuZmlsdGVyKChmdW5jdGlvbihBKXtyZXR1cm4hIUF9KSksIUkpLmpvaW4oXFxcIi9cXFwiKSl8fEl8fChBPVxcXCIuXFxcIiksQSYmZyYmKEErPVxcXCIvXFxcIiksKEk/XFxcIi9cXFwiOlxcXCJcXFwiKStBfSxkaXJuYW1lOmZ1bmN0aW9uKEEpe3ZhciBJPUJJLnNwbGl0UGF0aChBKSxnPUlbMF0sQj1JWzFdO3JldHVybiBnfHxCPyhCJiYoQj1CLnN1YnN0cigwLEIubGVuZ3RoLTEpKSxnK0IpOlxcXCIuXFxcIn0sYmFzZW5hbWU6ZnVuY3Rpb24oQSl7aWYoXFxcIi9cXFwiPT09QSlyZXR1cm5cXFwiL1xcXCI7dmFyIEk9QS5sYXN0SW5kZXhPZihcXFwiL1xcXCIpO3JldHVybi0xPT09ST9BOkEuc3Vic3RyKEkrMSl9LGV4dG5hbWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEJJLnNwbGl0UGF0aChBKVszXX0sam9pbjpmdW5jdGlvbigpe3ZhciBBPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gQkkubm9ybWFsaXplKEEuam9pbihcXFwiL1xcXCIpKX0sam9pbjI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQkkubm9ybWFsaXplKEErXFxcIi9cXFwiK0kpfX0sQ0k9e3Jlc29sdmU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9XFxcIlxcXCIsST0hMSxnPWFyZ3VtZW50cy5sZW5ndGgtMTtnPj0tMSYmIUk7Zy0tKXt2YXIgQj1nPj0wP2FyZ3VtZW50c1tnXTppSS5jd2QoKTtpZihcXFwic3RyaW5nXFxcIiE9dHlwZW9mIEIpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3NcXFwiKTtpZighQilyZXR1cm5cXFwiXFxcIjtBPUIrXFxcIi9cXFwiK0EsST1cXFwiL1xcXCI9PT1CLmNoYXJBdCgwKX1yZXR1cm4oST9cXFwiL1xcXCI6XFxcIlxcXCIpKyhBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXFxcIi9cXFwiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcXFwiL1xcXCIpKXx8XFxcIi5cXFwifSxyZWxhdGl2ZTpmdW5jdGlvbihBLEkpe2Z1bmN0aW9uIGcoQSl7Zm9yKHZhciBJPTA7STxBLmxlbmd0aCYmXFxcIlxcXCI9PT1BW0ldO0krKyk7Zm9yKHZhciBnPUEubGVuZ3RoLTE7Zz49MCYmXFxcIlxcXCI9PT1BW2ddO2ctLSk7cmV0dXJuIEk+Zz9bXTpBLnNsaWNlKEksZy1JKzEpfUE9Q0kucmVzb2x2ZShBKS5zdWJzdHIoMSksST1DSS5yZXNvbHZlKEkpLnN1YnN0cigxKTtmb3IodmFyIEI9ZyhBLnNwbGl0KFxcXCIvXFxcIikpLEM9ZyhJLnNwbGl0KFxcXCIvXFxcIikpLFE9TWF0aC5taW4oQi5sZW5ndGgsQy5sZW5ndGgpLEU9USxpPTA7aTxRO2krKylpZihCW2ldIT09Q1tpXSl7RT1pO2JyZWFrfXZhciBvPVtdO2ZvcihpPUU7aTxCLmxlbmd0aDtpKyspby5wdXNoKFxcXCIuLlxcXCIpO3JldHVybihvPW8uY29uY2F0KEMuc2xpY2UoRSkpKS5qb2luKFxcXCIvXFxcIil9fSxRST17dHR5czpbXSxpbml0OmZ1bmN0aW9uKCl7fSxzaHV0ZG93bjpmdW5jdGlvbigpe30scmVnaXN0ZXI6ZnVuY3Rpb24oQSxJKXtRSS50dHlzW0FdPXtpbnB1dDpbXSxvdXRwdXQ6W10sb3BzOkl9LGlJLnJlZ2lzdGVyRGV2aWNlKEEsUUkuc3RyZWFtX29wcyl9LHN0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9UUkudHR5c1tBLm5vZGUucmRldl07aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO0EudHR5PUksQS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS50dHkub3BzLmZsdXNoKEEudHR5KX0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5nZXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7Zm9yKHZhciBRPTAsRT0wO0U8QjtFKyspe3ZhciBpO3RyeXtpPUEudHR5Lm9wcy5nZXRfY2hhcihBLnR0eSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PWkmJjA9PT1RKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PWkpYnJlYWs7USsrLElbZytFXT1pfXJldHVybiBRJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFBLnR0eXx8IUEudHR5Lm9wcy5wdXRfY2hhcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2MCk7dHJ5e2Zvcih2YXIgUT0wO1E8QjtRKyspQS50dHkub3BzLnB1dF9jaGFyKEEudHR5LElbZytRXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBCJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxRfX0sZGVmYXVsdF90dHlfb3BzOntnZXRfY2hhcjpmdW5jdGlvbihBKXtpZighQS5pbnB1dC5sZW5ndGgpe3ZhciBJPW51bGw7aWYodyl7dmFyIGc9QnVmZmVyLmFsbG9jP0J1ZmZlci5hbGxvYygyNTYpOm5ldyBCdWZmZXIoMjU2KSxCPTA7dHJ5e0I9cy5yZWFkU3luYyhwcm9jZXNzLnN0ZGluLmZkLGcsMCwyNTYsbnVsbCl9Y2F0Y2goQSl7aWYoLTE9PUEudG9TdHJpbmcoKS5pbmRleE9mKFxcXCJFT0ZcXFwiKSl0aHJvdyBBO0I9MH1JPUI+MD9nLnNsaWNlKDAsQikudG9TdHJpbmcoXFxcInV0Zi04XFxcIik6bnVsbH1lbHNlXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiB3aW5kb3cmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiB3aW5kb3cucHJvbXB0P251bGwhPT0oST13aW5kb3cucHJvbXB0KFxcXCJJbnB1dDogXFxcIikpJiYoSSs9XFxcIlxcXFxuXFxcIik6XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIHJlYWRsaW5lJiZudWxsIT09KEk9cmVhZGxpbmUoKSkmJihJKz1cXFwiXFxcXG5cXFwiKTtpZighSSlyZXR1cm4gbnVsbDtBLmlucHV0PVhnKEksITApfXJldHVybiBBLmlucHV0LnNoaWZ0KCl9LHB1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8odChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYodChkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fSxkZWZhdWx0X3R0eTFfb3BzOntwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKFMoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX19LEVJPXtvcHNfdGFibGU6bnVsbCxtb3VudDpmdW5jdGlvbihBKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShudWxsLFxcXCIvXFxcIiwxNjg5NSwwKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZihpSS5pc0Jsa2RldihnKXx8aUkuaXNGSUZPKGcpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtFSS5vcHNfdGFibGV8fChFSS5vcHNfdGFibGU9e2Rpcjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixsb29rdXA6RUkubm9kZV9vcHMubG9va3VwLG1rbm9kOkVJLm5vZGVfb3BzLm1rbm9kLHJlbmFtZTpFSS5ub2RlX29wcy5yZW5hbWUsdW5saW5rOkVJLm5vZGVfb3BzLnVubGluayxybWRpcjpFSS5ub2RlX29wcy5ybWRpcixyZWFkZGlyOkVJLm5vZGVfb3BzLnJlYWRkaXIsc3ltbGluazpFSS5ub2RlX29wcy5zeW1saW5rfSxzdHJlYW06e2xsc2VlazpFSS5zdHJlYW1fb3BzLmxsc2Vla319LGZpbGU6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrLHJlYWQ6RUkuc3RyZWFtX29wcy5yZWFkLHdyaXRlOkVJLnN0cmVhbV9vcHMud3JpdGUsYWxsb2NhdGU6RUkuc3RyZWFtX29wcy5hbGxvY2F0ZSxtbWFwOkVJLnN0cmVhbV9vcHMubW1hcCxtc3luYzpFSS5zdHJlYW1fb3BzLm1zeW5jfX0sbGluazp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixyZWFkbGluazpFSS5ub2RlX29wcy5yZWFkbGlua30sc3RyZWFtOnt9fSxjaHJkZXY6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTppSS5jaHJkZXZfc3RyZWFtX29wc319KTt2YXIgQz1pSS5jcmVhdGVOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5pc0RpcihDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5kaXIubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmRpci5zdHJlYW0sQy5jb250ZW50cz17fSk6aUkuaXNGaWxlKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmZpbGUubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmZpbGUuc3RyZWFtLEMudXNlZEJ5dGVzPTAsQy5jb250ZW50cz1udWxsKTppSS5pc0xpbmsoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUubGluay5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUubGluay5zdHJlYW0pOmlJLmlzQ2hyZGV2KEMubW9kZSkmJihDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5jaHJkZXYubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5zdHJlYW0pLEMudGltZXN0YW1wPURhdGUubm93KCksQSYmKEEuY29udGVudHNbSV09QyksQ30sZ2V0RmlsZURhdGFBc1JlZ3VsYXJBcnJheTpmdW5jdGlvbihBKXtpZihBLmNvbnRlbnRzJiZBLmNvbnRlbnRzLnN1YmFycmF5KXtmb3IodmFyIEk9W10sZz0wO2c8QS51c2VkQnl0ZXM7KytnKUkucHVzaChBLmNvbnRlbnRzW2ddKTtyZXR1cm4gSX1yZXR1cm4gQS5jb250ZW50c30sZ2V0RmlsZURhdGFBc1R5cGVkQXJyYXk6ZnVuY3Rpb24oQSl7cmV0dXJuIEEuY29udGVudHM/QS5jb250ZW50cy5zdWJhcnJheT9BLmNvbnRlbnRzLnN1YmFycmF5KDAsQS51c2VkQnl0ZXMpOm5ldyBVaW50OEFycmF5KEEuY29udGVudHMpOm5ldyBVaW50OEFycmF5fSxleHBhbmRGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe3ZhciBnPUEuY29udGVudHM/QS5jb250ZW50cy5sZW5ndGg6MDtpZighKGc+PUkpKXtJPU1hdGgubWF4KEksZyooZzwxMDQ4NTc2PzI6MS4xMjUpfDApLDAhPWcmJihJPU1hdGgubWF4KEksMjU2KSk7dmFyIEI9QS5jb250ZW50cztBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLEEudXNlZEJ5dGVzPjAmJkEuY29udGVudHMuc2V0KEIuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyksMCl9fSxyZXNpemVGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe2lmKEEudXNlZEJ5dGVzIT1JKXtpZigwPT1JKXJldHVybiBBLmNvbnRlbnRzPW51bGwsdm9pZChBLnVzZWRCeXRlcz0wKTtpZighQS5jb250ZW50c3x8QS5jb250ZW50cy5zdWJhcnJheSl7dmFyIGc9QS5jb250ZW50cztyZXR1cm4gQS5jb250ZW50cz1uZXcgVWludDhBcnJheShJKSxnJiZBLmNvbnRlbnRzLnNldChnLnN1YmFycmF5KDAsTWF0aC5taW4oSSxBLnVzZWRCeXRlcykpKSx2b2lkKEEudXNlZEJ5dGVzPUkpfWlmKEEuY29udGVudHN8fChBLmNvbnRlbnRzPVtdKSxBLmNvbnRlbnRzLmxlbmd0aD5JKUEuY29udGVudHMubGVuZ3RoPUk7ZWxzZSBmb3IoO0EuY29udGVudHMubGVuZ3RoPEk7KUEuY29udGVudHMucHVzaCgwKTtBLnVzZWRCeXRlcz1JfX0sbm9kZV9vcHM6e2dldGF0dHI6ZnVuY3Rpb24oQSl7dmFyIEk9e307cmV0dXJuIEkuZGV2PWlJLmlzQ2hyZGV2KEEubW9kZSk/QS5pZDoxLEkuaW5vPUEuaWQsSS5tb2RlPUEubW9kZSxJLm5saW5rPTEsSS51aWQ9MCxJLmdpZD0wLEkucmRldj1BLnJkZXYsaUkuaXNEaXIoQS5tb2RlKT9JLnNpemU9NDA5NjppSS5pc0ZpbGUoQS5tb2RlKT9JLnNpemU9QS51c2VkQnl0ZXM6aUkuaXNMaW5rKEEubW9kZSk/SS5zaXplPUEubGluay5sZW5ndGg6SS5zaXplPTAsSS5hdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5tdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5jdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5ibGtzaXplPTQwOTYsSS5ibG9ja3M9TWF0aC5jZWlsKEkuc2l6ZS9JLmJsa3NpemUpLEl9LHNldGF0dHI6ZnVuY3Rpb24oQSxJKXt2b2lkIDAhPT1JLm1vZGUmJihBLm1vZGU9SS5tb2RlKSx2b2lkIDAhPT1JLnRpbWVzdGFtcCYmKEEudGltZXN0YW1wPUkudGltZXN0YW1wKSx2b2lkIDAhPT1JLnNpemUmJkVJLnJlc2l6ZUZpbGVTdG9yYWdlKEEsSS5zaXplKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7dGhyb3cgaUkuZ2VuZXJpY0Vycm9yc1s0NF19LG1rbm9kOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiBFSS5jcmVhdGVOb2RlKEEsSSxnLEIpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzRGlyKEEubW9kZSkpe3ZhciBCO3RyeXtCPWlJLmxvb2t1cE5vZGUoSSxnKX1jYXRjaChBKXt9aWYoQilmb3IodmFyIEMgaW4gQi5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSl9ZGVsZXRlIEEucGFyZW50LmNvbnRlbnRzW0EubmFtZV0sQS5uYW1lPWcsSS5jb250ZW50c1tnXT1BLEEucGFyZW50PUl9LHVubGluazpmdW5jdGlvbihBLEkpe2RlbGV0ZSBBLmNvbnRlbnRzW0ldfSxybWRpcjpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cE5vZGUoQSxJKTtmb3IodmFyIEIgaW4gZy5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7ZGVsZXRlIEEuY29udGVudHNbSV19LHJlYWRkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9W1xcXCIuXFxcIixcXFwiLi5cXFwiXTtmb3IodmFyIGcgaW4gQS5jb250ZW50cylBLmNvbnRlbnRzLmhhc093blByb3BlcnR5KGcpJiZJLnB1c2goZyk7cmV0dXJuIEl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUVJLmNyZWF0ZU5vZGUoQSxJLDQxNDcxLDApO3JldHVybiBCLmxpbms9ZyxCfSxyZWFkbGluazpmdW5jdGlvbihBKXtpZighaUkuaXNMaW5rKEEubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLmxpbmt9fSxzdHJlYW1fb3BzOntyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PUEubm9kZS51c2VkQnl0ZXMpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oQS5ub2RlLnVzZWRCeXRlcy1DLEIpO2lmKEU+OCYmUS5zdWJhcnJheSlJLnNldChRLnN1YmFycmF5KEMsQytFKSxnKTtlbHNlIGZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtyZXR1cm4gRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKCFCKXJldHVybiAwO3ZhciBFPUEubm9kZTtpZihFLnRpbWVzdGFtcD1EYXRlLm5vdygpLEkuc3ViYXJyYXkmJighRS5jb250ZW50c3x8RS5jb250ZW50cy5zdWJhcnJheSkpe2lmKFEpcmV0dXJuIEUuY29udGVudHM9SS5zdWJhcnJheShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKDA9PT1FLnVzZWRCeXRlcyYmMD09PUMpcmV0dXJuIEUuY29udGVudHM9SS5zbGljZShnLGcrQiksRS51c2VkQnl0ZXM9QixCO2lmKEMrQjw9RS51c2VkQnl0ZXMpcmV0dXJuIEUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpLEJ9aWYoRUkuZXhwYW5kRmlsZVN0b3JhZ2UoRSxDK0IpLEUuY29udGVudHMuc3ViYXJyYXkmJkkuc3ViYXJyYXkpRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyk7ZWxzZSBmb3IodmFyIGk9MDtpPEI7aSsrKUUuY29udGVudHNbQytpXT1JW2craV07cmV0dXJuIEUudXNlZEJ5dGVzPU1hdGgubWF4KEUudXNlZEJ5dGVzLEMrQiksQn0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1JO2lmKDE9PT1nP0IrPUEucG9zaXRpb246Mj09PWcmJmlJLmlzRmlsZShBLm5vZGUubW9kZSkmJihCKz1BLm5vZGUudXNlZEJ5dGVzKSxCPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBCfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7RUkuZXhwYW5kRmlsZVN0b3JhZ2UoQS5ub2RlLEkrZyksQS5ub2RlLnVzZWRCeXRlcz1NYXRoLm1heChBLm5vZGUudXNlZEJ5dGVzLEkrZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3ZhciBpLG8sRD1BLm5vZGUuY29udGVudHM7aWYoMiZFfHxELmJ1ZmZlciE9PUkuYnVmZmVyKXsoQz4wfHxDK0I8QS5ub2RlLnVzZWRCeXRlcykmJihEPUQuc3ViYXJyYXk/RC5zdWJhcnJheShDLEMrQik6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoRCxDLEMrQikpLG89ITA7dmFyIGE9SS5idWZmZXI9PXYuYnVmZmVyO2lmKCEoaT1SQihCKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDgpOyhhP3Y6SSkuc2V0KEQsaSl9ZWxzZSBvPSExLGk9RC5ieXRlT2Zmc2V0O3JldHVybntwdHI6aSxhbGxvY2F0ZWQ6b319LG1zeW5jOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmlzRmlsZShBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiAyJkN8fEVJLnN0cmVhbV9vcHMud3JpdGUoQSxJLDAsQixnLCExKSwwfX19LGlJPXtyb290Om51bGwsbW91bnRzOltdLGRldmljZXM6e30sc3RyZWFtczpbXSxuZXh0SW5vZGU6MSxuYW1lVGFibGU6bnVsbCxjdXJyZW50UGF0aDpcXFwiL1xcXCIsaW5pdGlhbGl6ZWQ6ITEsaWdub3JlUGVybWlzc2lvbnM6ITAsdHJhY2tpbmdEZWxlZ2F0ZTp7fSx0cmFja2luZzp7b3BlbkZsYWdzOntSRUFEOjEsV1JJVEU6Mn19LEVycm5vRXJyb3I6bnVsbCxnZW5lcmljRXJyb3JzOnt9LGZpbGVzeXN0ZW1zOm51bGwsc3luY0ZTUmVxdWVzdHM6MCxoYW5kbGVGU0Vycm9yOmZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3IpKXRocm93IEErXFxcIiA6IFxcXCIrVEEoKTtyZXR1cm4gSUkoQS5lcnJubyl9LGxvb2t1cFBhdGg6ZnVuY3Rpb24oQSxJKXtpZihJPUl8fHt9LCEoQT1DSS5yZXNvbHZlKGlJLmN3ZCgpLEEpKSlyZXR1cm57cGF0aDpcXFwiXFxcIixub2RlOm51bGx9O3ZhciBnPXtmb2xsb3dfbW91bnQ6ITAscmVjdXJzZV9jb3VudDowfTtmb3IodmFyIEIgaW4gZyl2b2lkIDA9PT1JW0JdJiYoSVtCXT1nW0JdKTtpZihJLnJlY3Vyc2VfY291bnQ+OCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMik7Zm9yKHZhciBDPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXFxcIi9cXFwiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhMSksUT1pSS5yb290LEU9XFxcIi9cXFwiLGk9MDtpPEMubGVuZ3RoO2krKyl7dmFyIG89aT09PUMubGVuZ3RoLTE7aWYobyYmSS5wYXJlbnQpYnJlYWs7aWYoUT1pSS5sb29rdXBOb2RlKFEsQ1tpXSksRT1CSS5qb2luMihFLENbaV0pLGlJLmlzTW91bnRwb2ludChRKSYmKCFvfHxvJiZJLmZvbGxvd19tb3VudCkmJihRPVEubW91bnRlZC5yb290KSwhb3x8SS5mb2xsb3cpZm9yKHZhciBEPTA7aUkuaXNMaW5rKFEubW9kZSk7KXt2YXIgYT1pSS5yZWFkbGluayhFKTtpZihFPUNJLnJlc29sdmUoQkkuZGlybmFtZShFKSxhKSxRPWlJLmxvb2t1cFBhdGgoRSx7cmVjdXJzZV9jb3VudDpJLnJlY3Vyc2VfY291bnR9KS5ub2RlLEQrKz40MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMil9fXJldHVybntwYXRoOkUsbm9kZTpRfX0sZ2V0UGF0aDpmdW5jdGlvbihBKXtmb3IodmFyIEk7Oyl7aWYoaUkuaXNSb290KEEpKXt2YXIgZz1BLm1vdW50Lm1vdW50cG9pbnQ7cmV0dXJuIEk/XFxcIi9cXFwiIT09Z1tnLmxlbmd0aC0xXT9nK1xcXCIvXFxcIitJOmcrSTpnfUk9ST9BLm5hbWUrXFxcIi9cXFwiK0k6QS5uYW1lLEE9QS5wYXJlbnR9fSxoYXNoTmFtZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPEkubGVuZ3RoO0IrKylnPShnPDw1KS1nK0kuY2hhckNvZGVBdChCKXwwO3JldHVybihBK2c+Pj4wKSVpSS5uYW1lVGFibGUubGVuZ3RofSxoYXNoQWRkTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO0EubmFtZV9uZXh0PWlJLm5hbWVUYWJsZVtJXSxpSS5uYW1lVGFibGVbSV09QX0saGFzaFJlbW92ZU5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtpZihpSS5uYW1lVGFibGVbSV09PT1BKWlJLm5hbWVUYWJsZVtJXT1BLm5hbWVfbmV4dDtlbHNlIGZvcih2YXIgZz1pSS5uYW1lVGFibGVbSV07Zzspe2lmKGcubmFtZV9uZXh0PT09QSl7Zy5uYW1lX25leHQ9QS5uYW1lX25leHQ7YnJlYWt9Zz1nLm5hbWVfbmV4dH19LGxvb2t1cE5vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5tYXlMb29rdXAoQSk7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnLEEpO2Zvcih2YXIgQj1pSS5oYXNoTmFtZShBLmlkLEkpLEM9aUkubmFtZVRhYmxlW0JdO0M7Qz1DLm5hbWVfbmV4dCl7dmFyIFE9Qy5uYW1lO2lmKEMucGFyZW50LmlkPT09QS5pZCYmUT09PUkpcmV0dXJuIEN9cmV0dXJuIGlJLmxvb2t1cChBLEkpfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKCFpSS5GU05vZGUpe2lJLkZTTm9kZT1mdW5jdGlvbihBLEksZyxCKXtBfHwoQT10aGlzKSx0aGlzLnBhcmVudD1BLHRoaXMubW91bnQ9QS5tb3VudCx0aGlzLm1vdW50ZWQ9bnVsbCx0aGlzLmlkPWlJLm5leHRJbm9kZSsrLHRoaXMubmFtZT1JLHRoaXMubW9kZT1nLHRoaXMubm9kZV9vcHM9e30sdGhpcy5zdHJlYW1fb3BzPXt9LHRoaXMucmRldj1CfSxpSS5GU05vZGUucHJvdG90eXBlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTTm9kZS5wcm90b3R5cGUse3JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAzNjU9PSgzNjUmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0zNjU6dGhpcy5tb2RlJj0tMzY2fX0sd3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAxNDY9PSgxNDYmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0xNDY6dGhpcy5tb2RlJj0tMTQ3fX0saXNGb2xkZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0Rpcih0aGlzLm1vZGUpfX0saXNEZXZpY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0NocmRldih0aGlzLm1vZGUpfX19KX12YXIgQz1uZXcgaUkuRlNOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5oYXNoQWRkTm9kZShDKSxDfSxkZXN0cm95Tm9kZTpmdW5jdGlvbihBKXtpSS5oYXNoUmVtb3ZlTm9kZShBKX0saXNSb290OmZ1bmN0aW9uKEEpe3JldHVybiBBPT09QS5wYXJlbnR9LGlzTW91bnRwb2ludDpmdW5jdGlvbihBKXtyZXR1cm4hIUEubW91bnRlZH0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVybiAzMjc2OD09KDYxNDQwJkEpfSxpc0RpcjpmdW5jdGlvbihBKXtyZXR1cm4gMTYzODQ9PSg2MTQ0MCZBKX0saXNMaW5rOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2MD09KDYxNDQwJkEpfSxpc0NocmRldjpmdW5jdGlvbihBKXtyZXR1cm4gODE5Mj09KDYxNDQwJkEpfSxpc0Jsa2RldjpmdW5jdGlvbihBKXtyZXR1cm4gMjQ1NzY9PSg2MTQ0MCZBKX0saXNGSUZPOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2PT0oNjE0NDAmQSl9LGlzU29ja2V0OmZ1bmN0aW9uKEEpe3JldHVybiA0OTE1Mj09KDQ5MTUyJkEpfSxmbGFnTW9kZXM6e3I6MCxyczoxMDUyNjcyLFxcXCJyK1xcXCI6Mix3OjU3Nyx3eDo3MDUseHc6NzA1LFxcXCJ3K1xcXCI6NTc4LFxcXCJ3eCtcXFwiOjcwNixcXFwieHcrXFxcIjo3MDYsYToxMDg5LGF4OjEyMTcseGE6MTIxNyxcXFwiYStcXFwiOjEwOTAsXFxcImF4K1xcXCI6MTIxOCxcXFwieGErXFxcIjoxMjE4fSxtb2RlU3RyaW5nVG9GbGFnczpmdW5jdGlvbihBKXt2YXIgST1pSS5mbGFnTW9kZXNbQV07aWYodm9pZCAwPT09SSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVua25vd24gZmlsZSBvcGVuIG1vZGU6IFxcXCIrQSk7cmV0dXJuIEl9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1bmN0aW9uKEEpe3ZhciBJPVtcXFwiclxcXCIsXFxcIndcXFwiLFxcXCJyd1xcXCJdWzMmQV07cmV0dXJuIDUxMiZBJiYoSSs9XFxcIndcXFwiKSxJfSxub2RlUGVybWlzc2lvbnM6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gaUkuaWdub3JlUGVybWlzc2lvbnN8fCgtMT09PUkuaW5kZXhPZihcXFwiclxcXCIpfHwyOTImQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFxcXCJ3XFxcIil8fDE0NiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXFxcInhcXFwiKXx8NzMmQS5tb2RlKT8wOjJ9LG1heUxvb2t1cDpmdW5jdGlvbihBKXtyZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXFxcInhcXFwiKXx8KEEubm9kZV9vcHMubG9va3VwPzA6Mil9LG1heUNyZWF0ZTpmdW5jdGlvbihBLEkpe3RyeXtyZXR1cm4gaUkubG9va3VwTm9kZShBLEkpLDIwfWNhdGNoKEEpe31yZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXFxcInd4XFxcIil9LG1heURlbGV0ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShBLEkpfWNhdGNoKEEpe3JldHVybiBBLmVycm5vfXZhciBDPWlJLm5vZGVQZXJtaXNzaW9ucyhBLFxcXCJ3eFxcXCIpO2lmKEMpcmV0dXJuIEM7aWYoZyl7aWYoIWlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDU0O2lmKGlJLmlzUm9vdChCKXx8aUkuZ2V0UGF0aChCKT09PWlJLmN3ZCgpKXJldHVybiAxMH1lbHNlIGlmKGlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDMxO3JldHVybiAwfSxtYXlPcGVuOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE/aUkuaXNMaW5rKEEubW9kZSk/MzI6aUkuaXNEaXIoQS5tb2RlKSYmKFxcXCJyXFxcIiE9PWlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpfHw1MTImSSk/MzE6aUkubm9kZVBlcm1pc3Npb25zKEEsaUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSkpOjQ0fSxNQVhfT1BFTl9GRFM6NDA5NixuZXh0ZmQ6ZnVuY3Rpb24oQSxJKXtBPUF8fDAsST1JfHxpSS5NQVhfT1BFTl9GRFM7Zm9yKHZhciBnPUE7Zzw9STtnKyspaWYoIWlJLnN0cmVhbXNbZ10pcmV0dXJuIGc7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzMpfSxnZXRTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0cmVhbXNbQV19LGNyZWF0ZVN0cmVhbTpmdW5jdGlvbihBLEksZyl7aUkuRlNTdHJlYW18fChpSS5GU1N0cmVhbT1mdW5jdGlvbigpe30saUkuRlNTdHJlYW0ucHJvdG90eXBlPXt9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTU3RyZWFtLnByb3RvdHlwZSx7b2JqZWN0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub2RlfSxzZXQ6ZnVuY3Rpb24oQSl7dGhpcy5ub2RlPUF9fSxpc1JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzV3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAwIT0oMjA5NzE1NSZ0aGlzLmZsYWdzKX19LGlzQXBwZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMTAyNCZ0aGlzLmZsYWdzfX19KSk7dmFyIEI9bmV3IGlJLkZTU3RyZWFtO2Zvcih2YXIgQyBpbiBBKUJbQ109QVtDXTtBPUI7dmFyIFE9aUkubmV4dGZkKEksZyk7cmV0dXJuIEEuZmQ9USxpSS5zdHJlYW1zW1FdPUEsQX0sY2xvc2VTdHJlYW06ZnVuY3Rpb24oQSl7aUkuc3RyZWFtc1tBXT1udWxsfSxjaHJkZXZfc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1pSS5nZXREZXZpY2UoQS5ub2RlLnJkZXYpO0Euc3RyZWFtX29wcz1JLnN0cmVhbV9vcHMsQS5zdHJlYW1fb3BzLm9wZW4mJkEuc3RyZWFtX29wcy5vcGVuKEEpfSxsbHNlZWs6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9fSxtYWpvcjpmdW5jdGlvbihBKXtyZXR1cm4gQT4+OH0sbWlub3I6ZnVuY3Rpb24oQSl7cmV0dXJuIDI1NSZBfSxtYWtlZGV2OmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE8PDh8SX0scmVnaXN0ZXJEZXZpY2U6ZnVuY3Rpb24oQSxJKXtpSS5kZXZpY2VzW0FdPXtzdHJlYW1fb3BzOkl9fSxnZXREZXZpY2U6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLmRldmljZXNbQV19LGdldE1vdW50czpmdW5jdGlvbihBKXtmb3IodmFyIEk9W10sZz1bQV07Zy5sZW5ndGg7KXt2YXIgQj1nLnBvcCgpO0kucHVzaChCKSxnLnB1c2guYXBwbHkoZyxCLm1vdW50cyl9cmV0dXJuIEl9LHN5bmNmczpmdW5jdGlvbihBLEkpe1xcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBJiYoST1BLEE9ITEpLGlJLnN5bmNGU1JlcXVlc3RzKyssaUkuc3luY0ZTUmVxdWVzdHM+MSYmUyhcXFwid2FybmluZzogXFxcIitpSS5zeW5jRlNSZXF1ZXN0cytcXFwiIEZTLnN5bmNmcyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRvaW5nIGV4dHJhIHdvcmtcXFwiKTt2YXIgZz1pSS5nZXRNb3VudHMoaUkucm9vdC5tb3VudCksQj0wO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGlJLnN5bmNGU1JlcXVlc3RzLS0sSShBKX1mdW5jdGlvbiBRKEEpe2lmKEEpcmV0dXJuIFEuZXJyb3JlZD92b2lkIDA6KFEuZXJyb3JlZD0hMCxDKEEpKTsrK0I+PWcubGVuZ3RoJiZDKG51bGwpfWcuZm9yRWFjaCgoZnVuY3Rpb24oSSl7aWYoIUkudHlwZS5zeW5jZnMpcmV0dXJuIFEobnVsbCk7SS50eXBlLnN5bmNmcyhJLEEsUSl9KSl9LG1vdW50OmZ1bmN0aW9uKEEsSSxnKXt2YXIgQixDPVxcXCIvXFxcIj09PWcsUT0hZztpZihDJiZpSS5yb290KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighQyYmIVEpe3ZhciBFPWlJLmxvb2t1cFBhdGgoZyx7Zm9sbG93X21vdW50OiExfSk7aWYoZz1FLnBhdGgsQj1FLm5vZGUsaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighaUkuaXNEaXIoQi5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCl9dmFyIGk9e3R5cGU6QSxvcHRzOkksbW91bnRwb2ludDpnLG1vdW50czpbXX0sbz1BLm1vdW50KGkpO3JldHVybiBvLm1vdW50PWksaS5yb290PW8sQz9pSS5yb290PW86QiYmKEIubW91bnRlZD1pLEIubW91bnQmJkIubW91bnQubW91bnRzLnB1c2goaSkpLG99LHVubW91bnQ6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3dfbW91bnQ6ITF9KTtpZighaUkuaXNNb3VudHBvaW50KEkubm9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnPUkubm9kZSxCPWcubW91bnRlZCxDPWlJLmdldE1vdW50cyhCKTtPYmplY3Qua2V5cyhpSS5uYW1lVGFibGUpLmZvckVhY2goKGZ1bmN0aW9uKEEpe2Zvcih2YXIgST1pSS5uYW1lVGFibGVbQV07STspe3ZhciBnPUkubmFtZV9uZXh0Oy0xIT09Qy5pbmRleE9mKEkubW91bnQpJiZpSS5kZXN0cm95Tm9kZShJKSxJPWd9fSkpLGcubW91bnRlZD1udWxsO3ZhciBRPWcubW91bnQubW91bnRzLmluZGV4T2YoQik7Zy5tb3VudC5tb3VudHMuc3BsaWNlKFEsMSl9LGxvb2t1cDpmdW5jdGlvbihBLEkpe3JldHVybiBBLm5vZGVfb3BzLmxvb2t1cChBLEkpfSxta25vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEM9QkkuYmFzZW5hbWUoQSk7aWYoIUN8fFxcXCIuXFxcIj09PUN8fFxcXCIuLlxcXCI9PT1DKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT1pSS5tYXlDcmVhdGUoQixDKTtpZihRKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKFEpO2lmKCFCLm5vZGVfb3BzLm1rbm9kKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gQi5ub2RlX29wcy5ta25vZChCLEMsSSxnKX0sY3JlYXRlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjQzOCxJJj00MDk1LEl8PTMyNzY4LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NTExLEkmPTEwMjMsSXw9MTYzODQsaUkubWtub2QoQSxJLDApfSxta2RpclRyZWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9QS5zcGxpdChcXFwiL1xcXCIpLEI9XFxcIlxcXCIsQz0wO0M8Zy5sZW5ndGg7KytDKWlmKGdbQ10pe0IrPVxcXCIvXFxcIitnW0NdO3RyeXtpSS5ta2RpcihCLEkpfWNhdGNoKEEpe2lmKDIwIT1BLmVycm5vKXRocm93IEF9fX0sbWtkZXY6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB2b2lkIDA9PT1nJiYoZz1JLEk9NDM4KSxJfD04MTkyLGlJLm1rbm9kKEEsSSxnKX0sc3ltbGluazpmdW5jdGlvbihBLEkpe2lmKCFDSS5yZXNvbHZlKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgZz1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGU7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBCPUJJLmJhc2VuYW1lKEkpLEM9aUkubWF5Q3JlYXRlKGcsQik7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighZy5ub2RlX29wcy5zeW1saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5zeW1saW5rKGcsQixBKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSl7dmFyIGcsQixDPUJJLmRpcm5hbWUoQSksUT1CSS5kaXJuYW1lKEkpLEU9QkkuYmFzZW5hbWUoQSksaT1CSS5iYXNlbmFtZShJKTt0cnl7Zz1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQj1pSS5sb29rdXBQYXRoKEkse3BhcmVudDohMH0pLm5vZGV9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApfWlmKCFnfHwhQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoZy5tb3VudCE9PUIubW91bnQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzUpO3ZhciBvLEQ9aUkubG9va3VwTm9kZShnLEUpLGE9Q0kucmVsYXRpdmUoQSxRKTtpZihcXFwiLlxcXCIhPT1hLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoXFxcIi5cXFwiIT09KGE9Q0kucmVsYXRpdmUoSSxDKSkuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTt0cnl7bz1pSS5sb29rdXBOb2RlKEIsaSl9Y2F0Y2goQSl7fWlmKEQhPT1vKXt2YXIgdz1pSS5pc0RpcihELm1vZGUpLEY9aUkubWF5RGVsZXRlKGcsRSx3KTtpZihGKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKEY9bz9pSS5tYXlEZWxldGUoQixpLHcpOmlJLm1heUNyZWF0ZShCLGkpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKCFnLm5vZGVfb3BzLnJlbmFtZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEQpfHxvJiZpSS5pc01vdW50cG9pbnQobykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKEIhPT1nJiYoRj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcXFwid1xcXCIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihGKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbE1vdmVQYXRoJ10oJ1xcXCIrQStcXFwiJywgJ1xcXCIrSStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK2cubWVzc2FnZSl9aUkuaGFzaFJlbW92ZU5vZGUoRCk7dHJ5e2cubm9kZV9vcHMucmVuYW1lKEQsQixpKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuaGFzaEFkZE5vZGUoRCl9dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoKEEsSSl9Y2F0Y2goZyl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Nb3ZlUGF0aCddKCdcXFwiK0ErXFxcIicsICdcXFwiK0krXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitnLm1lc3NhZ2UpfX19LHJtZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMCk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy5ybWRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsRGVsZXRlUGF0aCddKCdcXFwiK0ErXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfUkubm9kZV9vcHMucm1kaXIoSSxnKSxpSS5kZXN0cm95Tm9kZShCKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcXFwiK0ErXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7aWYoIUkubm9kZV9vcHMucmVhZGRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7cmV0dXJuIEkubm9kZV9vcHMucmVhZGRpcihJKX0sdW5saW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMSk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy51bmxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbERlbGV0ZVBhdGgnXSgnXFxcIitBK1xcXCInKSB0aHJldyBhbiBleGNlcHRpb246IFxcXCIrSS5tZXNzYWdlKX1JLm5vZGVfb3BzLnVubGluayhJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1xcXCIrQStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0kubWVzc2FnZSl9fSxyZWFkbGluazpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEpLm5vZGU7aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFJLm5vZGVfb3BzLnJlYWRsaW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQ0kucmVzb2x2ZShpSS5nZXRQYXRoKEkucGFyZW50KSxJLm5vZGVfb3BzLnJlYWRsaW5rKEkpKX0sc3RhdDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkubm9kZTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWcubm9kZV9vcHMuZ2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIGcubm9kZV9vcHMuZ2V0YXR0cihnKX0sbHN0YXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0YXQoQSwhMCl9LGNobW9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtpZighKEI9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFnfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtCLm5vZGVfb3BzLnNldGF0dHIoQix7bW9kZTo0MDk1Jkl8LTQwOTYmQi5tb2RlLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG1vZDpmdW5jdGlvbihBLEkpe2lJLmNobW9kKEEsSSwhMCl9LGZjaG1vZDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG1vZChnLm5vZGUsSSl9LGNob3duOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDO2lmKCEoQz1cXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUJ9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Mubm9kZV9vcHMuc2V0YXR0cihDLHt0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2hvd246ZnVuY3Rpb24oQSxJLGcpe2lJLmNob3duKEEsSSxnLCEwKX0sZmNob3duOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2hvd24oQi5ub2RlLEksZyl9LHRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7aWYoSTwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgZztpZighKGc9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc0RpcihnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighaUkuaXNGaWxlKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBCPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFxcXCJ3XFxcIik7aWYoQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihCKTtnLm5vZGVfb3BzLnNldGF0dHIoZyx7c2l6ZTpJLHRpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGZ0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmdldFN0cmVhbShBKTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZnLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aUkudHJ1bmNhdGUoZy5ub2RlLEkpfSx1dGltZTpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO0Iubm9kZV9vcHMuc2V0YXR0cihCLHt0aW1lc3RhbXA6TWF0aC5tYXgoSSxnKX0pfSxvcGVuOmZ1bmN0aW9uKEksZyxCLEMsUSl7aWYoXFxcIlxcXCI9PT1JKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgRTtpZihCPXZvaWQgMD09PUI/NDM4OkIsQj02NCYoZz1cXFwic3RyaW5nXFxcIj09dHlwZW9mIGc/aUkubW9kZVN0cmluZ1RvRmxhZ3MoZyk6Zyk/NDA5NSZCfDMyNzY4OjAsXFxcIm9iamVjdFxcXCI9PT1EKEkpKUU9STtlbHNle0k9Qkkubm9ybWFsaXplKEkpO3RyeXtFPWlJLmxvb2t1cFBhdGgoSSx7Zm9sbG93OiEoMTMxMDcyJmcpfSkubm9kZX1jYXRjaChBKXt9fXZhciBpPSExO2lmKDY0JmcpaWYoRSl7aWYoMTI4JmcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjApfWVsc2UgRT1pSS5ta25vZChJLEIsMCksaT0hMDtpZighRSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoaUkuaXNDaHJkZXYoRS5tb2RlKSYmKGcmPS01MTMpLDY1NTM2JmcmJiFpSS5pc0RpcihFLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtpZighaSl7dmFyIG89aUkubWF5T3BlbihFLGcpO2lmKG8pdGhyb3cgbmV3IGlJLkVycm5vRXJyb3Iobyl9NTEyJmcmJmlJLnRydW5jYXRlKEUsMCksZyY9LTY0MTt2YXIgYT1pSS5jcmVhdGVTdHJlYW0oe25vZGU6RSxwYXRoOmlJLmdldFBhdGgoRSksZmxhZ3M6ZyxzZWVrYWJsZTohMCxwb3NpdGlvbjowLHN0cmVhbV9vcHM6RS5zdHJlYW1fb3BzLHVuZ290dGVuOltdLGVycm9yOiExfSxDLFEpO2Euc3RyZWFtX29wcy5vcGVuJiZhLnN0cmVhbV9vcHMub3BlbihhKSwhQS5sb2dSZWFkRmlsZXN8fDEmZ3x8KGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlcz17fSksSSBpbiBpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXNbSV09MSxTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlIGVycm9yIG9uIHJlYWQgZmlsZTogXFxcIitJKSkpO3RyeXtpZihpSS50cmFja2luZ0RlbGVnYXRlLm9uT3BlbkZpbGUpe3ZhciB3PTA7MSE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuUkVBRCksMCE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuV1JJVEUpLGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZShJLHcpfX1jYXRjaChBKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk9wZW5GaWxlJ10oJ1xcXCIrSStcXFwiJywgZmxhZ3MpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitBLm1lc3NhZ2UpfXJldHVybiBhfSxjbG9zZTpmdW5jdGlvbihBKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtBLmdldGRlbnRzJiYoQS5nZXRkZW50cz1udWxsKTt0cnl7QS5zdHJlYW1fb3BzLmNsb3NlJiZBLnN0cmVhbV9vcHMuY2xvc2UoQSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmNsb3NlU3RyZWFtKEEuZmQpfUEuZmQ9bnVsbH0saXNDbG9zZWQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGw9PT1BLmZkfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFBLnNlZWthYmxlfHwhQS5zdHJlYW1fb3BzLmxsc2Vlayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCk7aWYoMCE9ZyYmMSE9ZyYmMiE9Zyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEucG9zaXRpb249QS5zdHJlYW1fb3BzLmxsc2VlayhBLEksZyksQS51bmdvdHRlbj1bXSxBLnBvc2l0aW9ufSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy5yZWFkKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgUT12b2lkIDAhPT1DO2lmKFEpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgRT1BLnN0cmVhbV9vcHMucmVhZChBLEksZyxCLEMpO3JldHVybiBRfHwoQS5wb3NpdGlvbis9RSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMud3JpdGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpOzEwMjQmQS5mbGFncyYmaUkubGxzZWVrKEEsMCwyKTt2YXIgRT12b2lkIDAhPT1DO2lmKEUpe2lmKCFBLnNlZWthYmxlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX1lbHNlIEM9QS5wb3NpdGlvbjt2YXIgaT1BLnN0cmVhbV9vcHMud3JpdGUoQSxJLGcsQixDLFEpO0V8fChBLnBvc2l0aW9uKz1pKTt0cnl7QS5wYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZShBLnBhdGgpfWNhdGNoKEkpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uV3JpdGVUb0ZpbGUnXSgnXFxcIitBLnBhdGgrXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfXJldHVybiBpfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoSTwwfHxnPD0wKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSYmIWlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7aWYoIUEuc3RyZWFtX29wcy5hbGxvY2F0ZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMzgpO0Euc3RyZWFtX29wcy5hbGxvY2F0ZShBLEksZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoMCE9KDImUSkmJjA9PSgyJkUpJiYyIT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZigxPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZighQS5zdHJlYW1fb3BzLm1tYXApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiBBLnN0cmVhbV9vcHMubW1hcChBLEksZyxCLEMsUSxFKX0sbXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQSYmQS5zdHJlYW1fb3BzLm1zeW5jP0Euc3RyZWFtX29wcy5tc3luYyhBLEksZyxCLEMpOjB9LG11bm1hcDpmdW5jdGlvbihBKXtyZXR1cm4gMH0saW9jdGw6ZnVuY3Rpb24oQSxJLGcpe2lmKCFBLnN0cmVhbV9vcHMuaW9jdGwpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTkpO3JldHVybiBBLnN0cmVhbV9vcHMuaW9jdGwoQSxJLGcpfSxyZWFkRmlsZTpmdW5jdGlvbihBLEkpe2lmKChJPUl8fHt9KS5mbGFncz1JLmZsYWdzfHxcXFwiclxcXCIsSS5lbmNvZGluZz1JLmVuY29kaW5nfHxcXFwiYmluYXJ5XFxcIixcXFwidXRmOFxcXCIhPT1JLmVuY29kaW5nJiZcXFwiYmluYXJ5XFxcIiE9PUkuZW5jb2RpbmcpdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGVuY29kaW5nIHR5cGUgXFxcIicrSS5lbmNvZGluZysnXFxcIicpO3ZhciBnLEI9aUkub3BlbihBLEkuZmxhZ3MpLEM9aUkuc3RhdChBKS5zaXplLFE9bmV3IFVpbnQ4QXJyYXkoQyk7cmV0dXJuIGlJLnJlYWQoQixRLDAsQywwKSxcXFwidXRmOFxcXCI9PT1JLmVuY29kaW5nP2c9ZChRLDApOlxcXCJiaW5hcnlcXFwiPT09SS5lbmNvZGluZyYmKGc9USksaUkuY2xvc2UoQiksZ30sd3JpdGVGaWxlOmZ1bmN0aW9uKEEsSSxnKXsoZz1nfHx7fSkuZmxhZ3M9Zy5mbGFnc3x8XFxcIndcXFwiO3ZhciBCPWlJLm9wZW4oQSxnLmZsYWdzLGcubW9kZSk7aWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBJKXt2YXIgQz1uZXcgVWludDhBcnJheShXKEkpKzEpLFE9bChJLEMsMCxDLmxlbmd0aCk7aUkud3JpdGUoQixDLDAsUSx2b2lkIDAsZy5jYW5Pd24pfWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhJKSl0aHJvdyBuZXcgRXJyb3IoXFxcIlVuc3VwcG9ydGVkIGRhdGEgdHlwZVxcXCIpO2lJLndyaXRlKEIsSSwwLEkuYnl0ZUxlbmd0aCx2b2lkIDAsZy5jYW5Pd24pfWlJLmNsb3NlKEIpfSxjd2Q6ZnVuY3Rpb24oKXtyZXR1cm4gaUkuY3VycmVudFBhdGh9LGNoZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSk7aWYobnVsbD09PUkubm9kZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWlJLmlzRGlyKEkubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7dmFyIGc9aUkubm9kZVBlcm1pc3Npb25zKEkubm9kZSxcXFwieFxcXCIpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyk7aUkuY3VycmVudFBhdGg9SS5wYXRofSxjcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcXFwiL3RtcFxcXCIpLGlJLm1rZGlyKFxcXCIvaG9tZVxcXCIpLGlJLm1rZGlyKFxcXCIvaG9tZS93ZWJfdXNlclxcXCIpfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbigpe3ZhciBBO2lmKGlJLm1rZGlyKFxcXCIvZGV2XFxcIiksaUkucmVnaXN0ZXJEZXZpY2UoaUkubWFrZWRldigxLDMpLHtyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIDB9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEJ9fSksaUkubWtkZXYoXFxcIi9kZXYvbnVsbFxcXCIsaUkubWFrZWRldigxLDMpKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDUsMCksUUkuZGVmYXVsdF90dHlfb3BzKSxRSS5yZWdpc3RlcihpSS5tYWtlZGV2KDYsMCksUUkuZGVmYXVsdF90dHkxX29wcyksaUkubWtkZXYoXFxcIi9kZXYvdHR5XFxcIixpSS5tYWtlZGV2KDUsMCkpLGlJLm1rZGV2KFxcXCIvZGV2L3R0eTFcXFwiLGlJLm1ha2VkZXYoNiwwKSksXFxcIm9iamVjdFxcXCI9PT0oXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBjcnlwdG8/XFxcInVuZGVmaW5lZFxcXCI6RChjcnlwdG8pKSYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciBJPW5ldyBVaW50OEFycmF5KDEpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhJKSxJWzBdfX1lbHNlIGlmKHcpdHJ5e3ZhciBCPWcoNjU0KTtBPWZ1bmN0aW9uKCl7cmV0dXJuIEIucmFuZG9tQnl0ZXMoMSlbMF19fWNhdGNoKEEpe31BfHwoQT1mdW5jdGlvbigpe0pBKFxcXCJyYW5kb21fZGV2aWNlXFxcIil9KSxpSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJyYW5kb21cXFwiLEEpLGlJLmNyZWF0ZURldmljZShcXFwiL2RldlxcXCIsXFxcInVyYW5kb21cXFwiLEEpLGlJLm1rZGlyKFxcXCIvZGV2L3NobVxcXCIpLGlJLm1rZGlyKFxcXCIvZGV2L3NobS90bXBcXFwiKX0sY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzOmZ1bmN0aW9uKCl7aUkubWtkaXIoXFxcIi9wcm9jXFxcIiksaUkubWtkaXIoXFxcIi9wcm9jL3NlbGZcXFwiKSxpSS5ta2RpcihcXFwiL3Byb2Mvc2VsZi9mZFxcXCIpLGlJLm1vdW50KHttb3VudDpmdW5jdGlvbigpe3ZhciBBPWlJLmNyZWF0ZU5vZGUoXFxcIi9wcm9jL3NlbGZcXFwiLFxcXCJmZFxcXCIsMTY4OTUsNzMpO3JldHVybiBBLm5vZGVfb3BzPXtsb29rdXA6ZnVuY3Rpb24oQSxJKXt2YXIgZz0rSSxCPWlJLmdldFN0cmVhbShnKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTt2YXIgQz17cGFyZW50Om51bGwsbW91bnQ6e21vdW50cG9pbnQ6XFxcImZha2VcXFwifSxub2RlX29wczp7cmVhZGxpbms6ZnVuY3Rpb24oKXtyZXR1cm4gQi5wYXRofX19O3JldHVybiBDLnBhcmVudD1DLEN9fSxBfX0se30sXFxcIi9wcm9jL3NlbGYvZmRcXFwiKX0sY3JlYXRlU3RhbmRhcmRTdHJlYW1zOmZ1bmN0aW9uKCl7QS5zdGRpbj9pSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJzdGRpblxcXCIsQS5zdGRpbik6aUkuc3ltbGluayhcXFwiL2Rldi90dHlcXFwiLFxcXCIvZGV2L3N0ZGluXFxcIiksQS5zdGRvdXQ/aUkuY3JlYXRlRGV2aWNlKFxcXCIvZGV2XFxcIixcXFwic3Rkb3V0XFxcIixudWxsLEEuc3Rkb3V0KTppSS5zeW1saW5rKFxcXCIvZGV2L3R0eVxcXCIsXFxcIi9kZXYvc3Rkb3V0XFxcIiksQS5zdGRlcnI/aUkuY3JlYXRlRGV2aWNlKFxcXCIvZGV2XFxcIixcXFwic3RkZXJyXFxcIixudWxsLEEuc3RkZXJyKTppSS5zeW1saW5rKFxcXCIvZGV2L3R0eTFcXFwiLFxcXCIvZGV2L3N0ZGVyclxcXCIpLGlJLm9wZW4oXFxcIi9kZXYvc3RkaW5cXFwiLFxcXCJyXFxcIiksaUkub3BlbihcXFwiL2Rldi9zdGRvdXRcXFwiLFxcXCJ3XFxcIiksaUkub3BlbihcXFwiL2Rldi9zdGRlcnJcXFwiLFxcXCJ3XFxcIil9LGVuc3VyZUVycm5vRXJyb3I6ZnVuY3Rpb24oKXtpSS5FcnJub0Vycm9yfHwoaUkuRXJybm9FcnJvcj1mdW5jdGlvbihBLEkpe3RoaXMubm9kZT1JLHRoaXMuc2V0RXJybm89ZnVuY3Rpb24oQSl7dGhpcy5lcnJubz1BfSx0aGlzLnNldEVycm5vKEEpLHRoaXMubWVzc2FnZT1cXFwiRlMgZXJyb3JcXFwifSxpSS5FcnJub0Vycm9yLnByb3RvdHlwZT1uZXcgRXJyb3IsaUkuRXJybm9FcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I9aUkuRXJybm9FcnJvcixbNDRdLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lJLmdlbmVyaWNFcnJvcnNbQV09bmV3IGlJLkVycm5vRXJyb3IoQSksaUkuZ2VuZXJpY0Vycm9yc1tBXS5zdGFjaz1cXFwiPGdlbmVyaWMgZXJyb3IsIG5vIHN0YWNrPlxcXCJ9KSkpfSxzdGF0aWNJbml0OmZ1bmN0aW9uKCl7aUkuZW5zdXJlRXJybm9FcnJvcigpLGlJLm5hbWVUYWJsZT1uZXcgQXJyYXkoNDA5NiksaUkubW91bnQoRUkse30sXFxcIi9cXFwiKSxpSS5jcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXMoKSxpSS5jcmVhdGVEZWZhdWx0RGV2aWNlcygpLGlJLmNyZWF0ZVNwZWNpYWxEaXJlY3RvcmllcygpLGlJLmZpbGVzeXN0ZW1zPXtNRU1GUzpFSX19LGluaXQ6ZnVuY3Rpb24oSSxnLEIpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITAsaUkuZW5zdXJlRXJybm9FcnJvcigpLEEuc3RkaW49SXx8QS5zdGRpbixBLnN0ZG91dD1nfHxBLnN0ZG91dCxBLnN0ZGVycj1CfHxBLnN0ZGVycixpSS5jcmVhdGVTdGFuZGFyZFN0cmVhbXMoKX0scXVpdDpmdW5jdGlvbigpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITE7dmFyIEk9QS5fZmZsdXNoO0kmJkkoMCk7Zm9yKHZhciBnPTA7ZzxpSS5zdHJlYW1zLmxlbmd0aDtnKyspe3ZhciBCPWlJLnN0cmVhbXNbZ107QiYmaUkuY2xvc2UoQil9fSxnZXRNb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9MDtyZXR1cm4gQSYmKGd8PTM2NSksSSYmKGd8PTE0NiksZ30sam9pblBhdGg6ZnVuY3Rpb24oQSxJKXt2YXIgZz1CSS5qb2luLmFwcGx5KG51bGwsQSk7cmV0dXJuIEkmJlxcXCIvXFxcIj09Z1swXSYmKGc9Zy5zdWJzdHIoMSkpLGd9LGFic29sdXRlUGF0aDpmdW5jdGlvbihBLEkpe3JldHVybiBDSS5yZXNvbHZlKEksQSl9LHN0YW5kYXJkaXplUGF0aDpmdW5jdGlvbihBKXtyZXR1cm4gQkkubm9ybWFsaXplKEEpfSxmaW5kT2JqZWN0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuYW5hbHl6ZVBhdGgoQSxJKTtyZXR1cm4gZy5leGlzdHM/Zy5vYmplY3Q6KElJKGcuZXJyb3IpLG51bGwpfSxhbmFseXplUGF0aDpmdW5jdGlvbihBLEkpe3RyeXtBPShCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkpLnBhdGh9Y2F0Y2goQSl7fXZhciBnPXtpc1Jvb3Q6ITEsZXhpc3RzOiExLGVycm9yOjAsbmFtZTpudWxsLHBhdGg6bnVsbCxvYmplY3Q6bnVsbCxwYXJlbnRFeGlzdHM6ITEscGFyZW50UGF0aDpudWxsLHBhcmVudE9iamVjdDpudWxsfTt0cnl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KTtnLnBhcmVudEV4aXN0cz0hMCxnLnBhcmVudFBhdGg9Qi5wYXRoLGcucGFyZW50T2JqZWN0PUIubm9kZSxnLm5hbWU9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pLGcuZXhpc3RzPSEwLGcucGF0aD1CLnBhdGgsZy5vYmplY3Q9Qi5ub2RlLGcubmFtZT1CLm5vZGUubmFtZSxnLmlzUm9vdD1cXFwiL1xcXCI9PT1CLnBhdGh9Y2F0Y2goQSl7Zy5lcnJvcj1BLmVycm5vfXJldHVybiBnfSxjcmVhdGVGb2xkZXI6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoZyxCKTtyZXR1cm4gaUkubWtkaXIoQyxRKX0sY3JlYXRlUGF0aDpmdW5jdGlvbihBLEksZyxCKXtBPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSk7Zm9yKHZhciBDPUkuc3BsaXQoXFxcIi9cXFwiKS5yZXZlcnNlKCk7Qy5sZW5ndGg7KXt2YXIgUT1DLnBvcCgpO2lmKFEpe3ZhciBFPUJJLmpvaW4yKEEsUSk7dHJ5e2lJLm1rZGlyKEUpfWNhdGNoKEEpe31BPUV9fXJldHVybiBFfSxjcmVhdGVGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxFPWlJLmdldE1vZGUoQixDKTtyZXR1cm4gaUkuY3JlYXRlKFEsRSl9LGNyZWF0ZURhdGFGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXt2YXIgRT1JP0JJLmpvaW4yKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk6QSxpPWlJLmdldE1vZGUoQixDKSxvPWlJLmNyZWF0ZShFLGkpO2lmKGcpe2lmKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgZyl7Zm9yKHZhciBEPW5ldyBBcnJheShnLmxlbmd0aCksYT0wLHc9Zy5sZW5ndGg7YTx3OysrYSlEW2FdPWcuY2hhckNvZGVBdChhKTtnPUR9aUkuY2htb2QobywxNDZ8aSk7dmFyIEY9aUkub3BlbihvLFxcXCJ3XFxcIik7aUkud3JpdGUoRixnLDAsZy5sZW5ndGgsMCxRKSxpSS5jbG9zZShGKSxpSS5jaG1vZChvLGkpfXJldHVybiBvfSxjcmVhdGVEZXZpY2U6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoISFnLCEhQik7aUkuY3JlYXRlRGV2aWNlLm1ham9yfHwoaUkuY3JlYXRlRGV2aWNlLm1ham9yPTY0KTt2YXIgRT1pSS5tYWtlZGV2KGlJLmNyZWF0ZURldmljZS5tYWpvcisrLDApO3JldHVybiBpSS5yZWdpc3RlckRldmljZShFLHtvcGVuOmZ1bmN0aW9uKEEpe0Euc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0ImJkIuYnVmZmVyJiZCLmJ1ZmZlci5sZW5ndGgmJkIoMTApfSxyZWFkOmZ1bmN0aW9uKEEsSSxCLEMsUSl7Zm9yKHZhciBFPTAsaT0wO2k8QztpKyspe3ZhciBvO3RyeXtvPWcoKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09byYmMD09PUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09bylicmVhaztFKyssSVtCK2ldPW99cmV0dXJuIEUmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSl7Zm9yKHZhciBFPTA7RTxDO0UrKyl0cnl7QihJW2crRV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQyYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX19KSxpSS5ta2RldihDLFEsRSl9LGNyZWF0ZUxpbms6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpO3JldHVybiBpSS5zeW1saW5rKGcsUSl9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24oQSl7aWYoQS5pc0RldmljZXx8QS5pc0ZvbGRlcnx8QS5saW5rfHxBLmNvbnRlbnRzKXJldHVybiEwO3ZhciBJPSEwO2lmKFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3QpdGhyb3cgbmV3IEVycm9yKFxcXCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3JtZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC5cXFwiKTtpZighRyl0aHJvdyBuZXcgRXJyb3IoXFxcIkNhbm5vdCBsb2FkIHdpdGhvdXQgcmVhZCgpIG9yIFhNTEh0dHBSZXF1ZXN0LlxcXCIpO3RyeXtBLmNvbnRlbnRzPVhnKEcoQS51cmwpLCEwKSxBLnVzZWRCeXRlcz1BLmNvbnRlbnRzLmxlbmd0aH1jYXRjaChBKXtJPSExfXJldHVybiBJfHxJSSgyOSksSX0sY3JlYXRlTGF6eUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtmdW5jdGlvbiBRKCl7dGhpcy5sZW5ndGhLbm93bj0hMSx0aGlzLmNodW5rcz1bXX1pZihRLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oQSl7aWYoIShBPnRoaXMubGVuZ3RoLTF8fEE8MCkpe3ZhciBJPUEldGhpcy5jaHVua1NpemUsZz1BL3RoaXMuY2h1bmtTaXplfDA7cmV0dXJuIHRoaXMuZ2V0dGVyKGcpW0ldfX0sUS5wcm90b3R5cGUuc2V0RGF0YUdldHRlcj1mdW5jdGlvbihBKXt0aGlzLmdldHRlcj1BfSxRLnByb3RvdHlwZS5jYWNoZUxlbmd0aD1mdW5jdGlvbigpe3ZhciBBPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLm9wZW4oXFxcIkhFQURcXFwiLGcsITEpLEEuc2VuZChudWxsKSwhKEEuc3RhdHVzPj0yMDAmJkEuc3RhdHVzPDMwMHx8MzA0PT09QS5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcXFwiQ291bGRuJ3QgbG9hZCBcXFwiK2crXFxcIi4gU3RhdHVzOiBcXFwiK0Euc3RhdHVzKTt2YXIgSSxCPU51bWJlcihBLmdldFJlc3BvbnNlSGVhZGVyKFxcXCJDb250ZW50LWxlbmd0aFxcXCIpKSxDPShJPUEuZ2V0UmVzcG9uc2VIZWFkZXIoXFxcIkFjY2VwdC1SYW5nZXNcXFwiKSkmJlxcXCJieXRlc1xcXCI9PT1JLFE9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcXFwiQ29udGVudC1FbmNvZGluZ1xcXCIpKSYmXFxcImd6aXBcXFwiPT09SSxFPTEwNDg1NzY7Q3x8KEU9Qik7dmFyIGk9dGhpcztpLnNldERhdGFHZXR0ZXIoKGZ1bmN0aW9uKEEpe3ZhciBJPUEqRSxDPShBKzEpKkUtMTtpZihDPU1hdGgubWluKEMsQi0xKSx2b2lkIDA9PT1pLmNodW5rc1tBXSYmKGkuY2h1bmtzW0FdPWZ1bmN0aW9uKEEsSSl7aWYoQT5JKXRocm93IG5ldyBFcnJvcihcXFwiaW52YWxpZCByYW5nZSAoXFxcIitBK1xcXCIsIFxcXCIrSStcXFwiKSBvciBubyBieXRlcyByZXF1ZXN0ZWQhXFxcIik7aWYoST5CLTEpdGhyb3cgbmV3IEVycm9yKFxcXCJvbmx5IFxcXCIrQitcXFwiIGJ5dGVzIGF2YWlsYWJsZSEgcHJvZ3JhbW1lciBlcnJvciFcXFwiKTt2YXIgQz1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQy5vcGVuKFxcXCJHRVRcXFwiLGcsITEpLEIhPT1FJiZDLnNldFJlcXVlc3RIZWFkZXIoXFxcIlJhbmdlXFxcIixcXFwiYnl0ZXM9XFxcIitBK1xcXCItXFxcIitJKSxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihDLnJlc3BvbnNlVHlwZT1cXFwiYXJyYXlidWZmZXJcXFwiKSxDLm92ZXJyaWRlTWltZVR5cGUmJkMub3ZlcnJpZGVNaW1lVHlwZShcXFwidGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZFxcXCIpLEMuc2VuZChudWxsKSwhKEMuc3RhdHVzPj0yMDAmJkMuc3RhdHVzPDMwMHx8MzA0PT09Qy5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcXFwiQ291bGRuJ3QgbG9hZCBcXFwiK2crXFxcIi4gU3RhdHVzOiBcXFwiK0Muc3RhdHVzKTtyZXR1cm4gdm9pZCAwIT09Qy5yZXNwb25zZT9uZXcgVWludDhBcnJheShDLnJlc3BvbnNlfHxbXSk6WGcoQy5yZXNwb25zZVRleHR8fFxcXCJcXFwiLCEwKX0oSSxDKSksdm9pZCAwPT09aS5jaHVua3NbQV0pdGhyb3cgbmV3IEVycm9yKFxcXCJkb1hIUiBmYWlsZWQhXFxcIik7cmV0dXJuIGkuY2h1bmtzW0FdfSkpLCFRJiZCfHwoRT1CPTEsQj10aGlzLmdldHRlcigwKS5sZW5ndGgsRT1CLHQoXFxcIkxhenlGaWxlcyBvbiBnemlwIGZvcmNlcyBkb3dubG9hZCBvZiB0aGUgd2hvbGUgZmlsZSB3aGVuIGxlbmd0aCBpcyBhY2Nlc3NlZFxcXCIpKSx0aGlzLl9sZW5ndGg9Qix0aGlzLl9jaHVua1NpemU9RSx0aGlzLmxlbmd0aEtub3duPSEwfSxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0KXtpZighbyl0aHJvd1xcXCJDYW5ub3QgZG8gc3luY2hyb25vdXMgYmluYXJ5IFhIUnMgb3V0c2lkZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjXFxcIjt2YXIgRT1uZXcgUTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fbGVuZ3RofX0sY2h1bmtTaXplOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGhLbm93bnx8dGhpcy5jYWNoZUxlbmd0aCgpLHRoaXMuX2NodW5rU2l6ZX19fSk7dmFyIGk9e2lzRGV2aWNlOiExLGNvbnRlbnRzOkV9fWVsc2UgaT17aXNEZXZpY2U6ITEsdXJsOmd9O3ZhciBEPWlJLmNyZWF0ZUZpbGUoQSxJLGksQixDKTtpLmNvbnRlbnRzP0QuY29udGVudHM9aS5jb250ZW50czppLnVybCYmKEQuY29udGVudHM9bnVsbCxELnVybD1pLnVybCksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRCx7dXNlZEJ5dGVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50cy5sZW5ndGh9fX0pO3ZhciBhPXt9O3JldHVybiBPYmplY3Qua2V5cyhELnN0cmVhbV9vcHMpLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUQuc3RyZWFtX29wc1tBXTthW0FdPWZ1bmN0aW9uKCl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3JldHVybiBJLmFwcGx5KG51bGwsYXJndW1lbnRzKX19KSksYS5yZWFkPWZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1RLmxlbmd0aClyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihRLmxlbmd0aC1DLEIpO2lmKFEuc2xpY2UpZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO2Vsc2UgZm9yKGk9MDtpPEU7aSsrKUlbZytpXT1RLmdldChDK2kpO3JldHVybiBFfSxELnN0cmVhbV9vcHM9YSxEfSxjcmVhdGVQcmVsb2FkZWRGaWxlOmZ1bmN0aW9uKEksZyxCLEMsUSxFLGksbyxELGEpe0Jyb3dzZXIuaW5pdCgpO3ZhciB3PWc/Q0kucmVzb2x2ZShCSS5qb2luMihJLGcpKTpJO2Z1bmN0aW9uIEYoQil7ZnVuY3Rpb24gRihBKXthJiZhKCksb3x8aUkuY3JlYXRlRGF0YUZpbGUoSSxnLEEsQyxRLEQpLEUmJkUoKSxlQSgpfXZhciBHPSExO0EucHJlbG9hZFBsdWdpbnMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7R3x8QS5jYW5IYW5kbGUodykmJihBLmhhbmRsZShCLHcsRiwoZnVuY3Rpb24oKXtpJiZpKCksZUEoKX0pKSxHPSEwKX0pKSxHfHxGKEIpfVlBKCksXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBCP0Jyb3dzZXIuYXN5bmNMb2FkKEIsKGZ1bmN0aW9uKEEpe0YoQSl9KSxpKTpGKEIpfSxpbmRleGVkREI6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmluZGV4ZWREQnx8d2luZG93Lm1vekluZGV4ZWREQnx8d2luZG93LndlYmtpdEluZGV4ZWREQnx8d2luZG93Lm1zSW5kZXhlZERCfSxEQl9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuXFxcIkVNX0ZTX1xcXCIrd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lfSxEQl9WRVJTSU9OOjIwLERCX1NUT1JFX05BTUU6XFxcIkZJTEVfREFUQVxcXCIsc2F2ZUZpbGVzVG9EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZnVuY3Rpb24oKXt0KFxcXCJjcmVhdGluZyBkYlxcXCIpLEMucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpfSxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0LnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcXFwicmVhZHdyaXRlXFxcIiksUT1CLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLEU9MCxpPTAsbz1BLmxlbmd0aDtmdW5jdGlvbiBEKCl7MD09aT9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9US5wdXQoaUkuYW5hbHl6ZVBhdGgoQSkub2JqZWN0LmNvbnRlbnRzLEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7KytFK2k9PW8mJkQoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7aSsrLEUraT09byYmRCgpfX0pKSxCLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9LGxvYWRGaWxlc0Zyb21EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZyxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0O3RyeXt2YXIgUT1CLnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcXFwicmVhZG9ubHlcXFwiKX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfXZhciBFPVEub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksaT0wLG89MCxEPUEubGVuZ3RoO2Z1bmN0aW9uIGEoKXswPT1vP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1FLmdldChBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpe2lJLmFuYWx5emVQYXRoKEEpLmV4aXN0cyYmaUkudW5saW5rKEEpLGlJLmNyZWF0ZURhdGFGaWxlKEJJLmRpcm5hbWUoQSksQkkuYmFzZW5hbWUoQSksSS5yZXN1bHQsITAsITAsITApLCsraStvPT1EJiZhKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe28rKyxpK289PUQmJmEoKX19KSksUS5vbmVycm9yPWd9LEMub25lcnJvcj1nfX0sb0k9e0RFRkFVTFRfUE9MTE1BU0s6NSxtYXBwaW5nczp7fSx1bWFzazo1MTEsY2FsY3VsYXRlQXQ6ZnVuY3Rpb24oQSxJKXtpZihcXFwiL1xcXCIhPT1JWzBdKXt2YXIgZztpZigtMTAwPT09QSlnPWlJLmN3ZCgpO2Vsc2V7dmFyIEI9aUkuZ2V0U3RyZWFtKEEpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2c9Qi5wYXRofUk9Qkkuam9pbjIoZyxJKX1yZXR1cm4gSX0sZG9TdGF0OmZ1bmN0aW9uKEEsSSxnKXt0cnl7dmFyIEI9QShJKX1jYXRjaChBKXtpZihBJiZBLm5vZGUmJkJJLm5vcm1hbGl6ZShJKSE9PUJJLm5vcm1hbGl6ZShpSS5nZXRQYXRoKEEubm9kZSkpKXJldHVybi01NDt0aHJvdyBBfXJldHVybiBBQVtnPj4yXT1CLmRldixBQVtnKzQ+PjJdPTAsQUFbZys4Pj4yXT1CLmlubyxBQVtnKzEyPj4yXT1CLm1vZGUsQUFbZysxNj4+Ml09Qi5ubGluayxBQVtnKzIwPj4yXT1CLnVpZCxBQVtnKzI0Pj4yXT1CLmdpZCxBQVtnKzI4Pj4yXT1CLnJkZXYsQUFbZyszMj4+Ml09MCxkQT1bQi5zaXplPj4+MCwocUE9Qi5zaXplLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys0MD4+Ml09ZEFbMF0sQUFbZys0ND4+Ml09ZEFbMV0sQUFbZys0OD4+Ml09NDA5NixBQVtnKzUyPj4yXT1CLmJsb2NrcyxBQVtnKzU2Pj4yXT1CLmF0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzYwPj4yXT0wLEFBW2crNjQ+PjJdPUIubXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjg+PjJdPTAsQUFbZys3Mj4+Ml09Qi5jdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys3Nj4+Ml09MCxkQT1bQi5pbm8+Pj4wLChxQT1CLmlubywrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crODA+PjJdPWRBWzBdLEFBW2crODQ+PjJdPWRBWzFdLDB9LGRvTXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT16LnNsaWNlKEEsQStnKTtpSS5tc3luYyhJLFEsQyxnLEIpfSxkb01rZGlyOmZ1bmN0aW9uKEEsSSl7cmV0dXJuXFxcIi9cXFwiPT09KEE9Qkkubm9ybWFsaXplKEEpKVtBLmxlbmd0aC0xXSYmKEE9QS5zdWJzdHIoMCxBLmxlbmd0aC0xKSksaUkubWtkaXIoQSxJLDApLDB9LGRvTWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3N3aXRjaCg2MTQ0MCZJKXtjYXNlIDMyNzY4OmNhc2UgODE5MjpjYXNlIDI0NTc2OmNhc2UgNDA5NjpjYXNlIDQ5MTUyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuLTI4fXJldHVybiBpSS5ta25vZChBLEksZyksMH0sZG9SZWFkbGluazpmdW5jdGlvbihBLEksZyl7aWYoZzw9MClyZXR1cm4tMjg7dmFyIEI9aUkucmVhZGxpbmsoQSksQz1NYXRoLm1pbihnLFcoQikpLFE9dltJK0NdO3JldHVybiB1KEIsSSxnKzEpLHZbSStDXT1RLEN9LGRvQWNjZXNzOmZ1bmN0aW9uKEEsSSl7aWYoLTgmSSlyZXR1cm4tMjg7dmFyIGc7aWYoIShnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZSkpcmV0dXJuLTQ0O3ZhciBCPVxcXCJcXFwiO3JldHVybiA0JkkmJihCKz1cXFwiclxcXCIpLDImSSYmKEIrPVxcXCJ3XFxcIiksMSZJJiYoQis9XFxcInhcXFwiKSxCJiZpSS5ub2RlUGVybWlzc2lvbnMoZyxCKT8tMjowfSxkb0R1cDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkuZ2V0U3RyZWFtKGcpO3JldHVybiBCJiZpSS5jbG9zZShCKSxpSS5vcGVuKEEsSSwwLGcsZykuZmR9LGRvUmVhZHY6ZnVuY3Rpb24oQSxJLGcsQil7Zm9yKHZhciBDPTAsUT0wO1E8ZztRKyspe3ZhciBFPUFBW0krOCpRPj4yXSxpPUFBW0krKDgqUSs0KT4+Ml0sbz1pSS5yZWFkKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO2lmKEMrPW8sbzxpKWJyZWFrfXJldHVybiBDfSxkb1dyaXRldjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLndyaXRlKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO0MrPW99cmV0dXJuIEN9LHZhcmFyZ3M6MCxnZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG9JLnZhcmFyZ3MrPTQsQUFbb0kudmFyYXJncy00Pj4yXX0sZ2V0U3RyOmZ1bmN0aW9uKCl7cmV0dXJuIGYob0kuZ2V0KCkpfSxnZXRTdHJlYW1Gcm9tRkQ6ZnVuY3Rpb24oQSl7dm9pZCAwPT09QSYmKEE9b0kuZ2V0KCkpO3ZhciBJPWlJLmdldFN0cmVhbShBKTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtyZXR1cm4gSX0sZ2V0NjQ6ZnVuY3Rpb24oKXt2YXIgQT1vSS5nZXQoKTtyZXR1cm4gb0kuZ2V0KCksQX0sZ2V0WmVybzpmdW5jdGlvbigpe29JLmdldCgpfX07ZnVuY3Rpb24gREkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cmVhbUZyb21GRCgpO3N3aXRjaChvSS5nZXQoKSl7Y2FzZSAwOnJldHVybihCPW9JLmdldCgpKTwwPy0yODppSS5vcGVuKGcucGF0aCxnLmZsYWdzLDAsQikuZmQ7Y2FzZSAxOmNhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6cmV0dXJuIDA7Y2FzZSAzOnJldHVybiBnLmZsYWdzO2Nhc2UgNDp2YXIgQj1vSS5nZXQoKTtyZXR1cm4gZy5mbGFnc3w9QiwwO2Nhc2UgMTI6cmV0dXJuIEI9b0kuZ2V0KCksX1tCKzA+PjFdPTIsMDtkZWZhdWx0OnJldHVybi0yODtjYXNlIDk6cmV0dXJuIElJKDI4KSwtMX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGFJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHIoKSxCPW9JLmdldCgpLEM9b0kuZ2V0KCk7cmV0dXJuIGlJLm9wZW4oZyxCLEMpLmZkfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiB3SShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCksQj1vSS5nZXQoKTtzd2l0Y2goQil7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1OmNhc2UgMjE1MTA6Y2FzZSAyMTUxMTpjYXNlIDIxNTEyOmNhc2UgMjE1MDY6Y2FzZSAyMTUwNzpjYXNlIDIxNTA4OmNhc2UgMjE1MjM6Y2FzZSAyMTUyNDpyZXR1cm4gZy50dHk/MDotNTk7Y2FzZSAyMTUxOTppZighZy50dHkpcmV0dXJuLTU5O3ZhciBDPW9JLmdldCgpO3JldHVybiBBQVtDPj4yXT0wLDA7Y2FzZSAyMTUyMDpyZXR1cm4gZy50dHk/LTI4Oi01OTtjYXNlIDIxNTMxOnJldHVybiBDPW9JLmdldCgpLGlJLmlvY3RsKGcsQixDKTtkZWZhdWx0OkpBKFxcXCJiYWQgaW9jdGwgc3lzY2FsbCBcXFwiK0IpfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gRkkoQSxJKXtpZigtMT09PUF8fDA9PT1JKXJldHVybi0yODt2YXIgZz1vSS5tYXBwaW5nc1tBXTtpZighZylyZXR1cm4gMDtpZihJPT09Zy5sZW4pe3ZhciBCPWlJLmdldFN0cmVhbShnLmZkKTtvSS5kb01zeW5jKEEsQixJLGcuZmxhZ3MsZy5vZmZzZXQpLGlJLm11bm1hcChCKSxvSS5tYXBwaW5nc1tBXT1udWxsLGcuYWxsb2NhdGVkJiZzQihnLm1hbGxvYyl9cmV0dXJuIDB9ZnVuY3Rpb24gR0koQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3JldHVybiBGSShvSS5nZXQoKSxvSS5nZXQoKSl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGhJKCl7fWZ1bmN0aW9uIHNJKEEpe3RyeXt2YXIgST1vSS5nZXRTdHJlYW1Gcm9tRkQoQSk7cmV0dXJuIGlJLmNsb3NlKEkpLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gUkkoKXtyZXR1cm4gc0kuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIFVJKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1JlYWR2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIHlJKCl7cmV0dXJuIFVJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB0SShBLEksZyxCLEMpe3RyeXt2YXIgUT1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksRT00Mjk0OTY3Mjk2KmcrKEk+Pj4wKSxpPTkwMDcxOTkyNTQ3NDA5OTI7cmV0dXJuIEU8PS1pfHxFPj1pPy02MTooaUkubGxzZWVrKFEsRSxCKSxkQT1bUS5wb3NpdGlvbj4+PjAsKHFBPVEucG9zaXRpb24sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtDPj4yXT1kQVswXSxBQVtDKzQ+PjJdPWRBWzFdLFEuZ2V0ZGVudHMmJjA9PT1FJiYwPT09QiYmKFEuZ2V0ZGVudHM9bnVsbCksMCl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gU0koKXtyZXR1cm4gdEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIE1JKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1dyaXRldihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBuSSgpe3JldHVybiBNSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gY0koQSl7c3dpdGNoKEEpe2Nhc2UgMTpyZXR1cm4gMDtjYXNlIDI6cmV0dXJuIDE7Y2FzZSA0OnJldHVybiAyO2Nhc2UgODpyZXR1cm4gMztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlVua25vd24gdHlwZSBzaXplOiBcXFwiK0EpfX1mdW5jdGlvbiBySSgpe2Zvcih2YXIgQT1uZXcgQXJyYXkoMjU2KSxJPTA7STwyNTY7KytJKUFbSV09U3RyaW5nLmZyb21DaGFyQ29kZShJKTtrST1BfXZhciBrST12b2lkIDA7ZnVuY3Rpb24gS0koQSl7Zm9yKHZhciBJPVxcXCJcXFwiLGc9QTt6W2ddOylJKz1rSVt6W2crK11dO3JldHVybiBJfXZhciBOST17fSxZST17fSxlST17fSxKST00OCxIST01NztmdW5jdGlvbiBMSShBKXtpZih2b2lkIDA9PT1BKXJldHVyblxcXCJfdW5rbm93blxcXCI7dmFyIEk9KEE9QS5yZXBsYWNlKC9bXmEtekEtWjAtOV9dL2csXFxcIiRcXFwiKSkuY2hhckNvZGVBdCgwKTtyZXR1cm4gST49SkkmJkk8PUhJP1xcXCJfXFxcIitBOkF9ZnVuY3Rpb24gcUkoQSxJKXtyZXR1cm4gQT1MSShBKSxuZXcgRnVuY3Rpb24oXFxcImJvZHlcXFwiLFxcXCJyZXR1cm4gZnVuY3Rpb24gXFxcIitBKycoKSB7XFxcXG4gICAgXFxcInVzZSBzdHJpY3RcXFwiOyAgICByZXR1cm4gYm9keS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xcXFxufTtcXFxcbicpKEkpfWZ1bmN0aW9uIGRJKEEsSSl7dmFyIGc9cUkoSSwoZnVuY3Rpb24oQSl7dGhpcy5uYW1lPUksdGhpcy5tZXNzYWdlPUE7dmFyIGc9bmV3IEVycm9yKEEpLnN0YWNrO3ZvaWQgMCE9PWcmJih0aGlzLnN0YWNrPXRoaXMudG9TdHJpbmcoKStcXFwiXFxcXG5cXFwiK2cucmVwbGFjZSgvXkVycm9yKDpbXlxcXFxuXSopP1xcXFxuLyxcXFwiXFxcIikpfSkpO3JldHVybiBnLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEEucHJvdG90eXBlKSxnLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1nLGcucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PXRoaXMubWVzc2FnZT90aGlzLm5hbWU6dGhpcy5uYW1lK1xcXCI6IFxcXCIrdGhpcy5tZXNzYWdlfSxnfXZhciBmST12b2lkIDA7ZnVuY3Rpb24gbEkoQSl7dGhyb3cgbmV3IGZJKEEpfXZhciB1ST12b2lkIDA7ZnVuY3Rpb24gV0koQSl7dGhyb3cgbmV3IHVJKEEpfWZ1bmN0aW9uIHBJKEEsSSxnKXtmdW5jdGlvbiBCKEkpe3ZhciBCPWcoSSk7Qi5sZW5ndGghPT1BLmxlbmd0aCYmV0koXFxcIk1pc21hdGNoZWQgdHlwZSBjb252ZXJ0ZXIgY291bnRcXFwiKTtmb3IodmFyIEM9MDtDPEEubGVuZ3RoOysrQylaSShBW0NdLEJbQ10pfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7ZUlbQV09SX0pKTt2YXIgQz1uZXcgQXJyYXkoSS5sZW5ndGgpLFE9W10sRT0wO0kuZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtZSS5oYXNPd25Qcm9wZXJ0eShBKT9DW0ldPVlJW0FdOihRLnB1c2goQSksTkkuaGFzT3duUHJvcGVydHkoQSl8fChOSVtBXT1bXSksTklbQV0ucHVzaCgoZnVuY3Rpb24oKXtDW0ldPVlJW0FdLCsrRT09PVEubGVuZ3RoJiZCKEMpfSkpKX0pKSwwPT09US5sZW5ndGgmJkIoQyl9ZnVuY3Rpb24gWkkoQSxJLGcpe2lmKGc9Z3x8e30sIShcXFwiYXJnUGFja0FkdmFuY2VcXFwiaW4gSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwicmVnaXN0ZXJUeXBlIHJlZ2lzdGVyZWRJbnN0YW5jZSByZXF1aXJlcyBhcmdQYWNrQWR2YW5jZVxcXCIpO3ZhciBCPUkubmFtZTtpZihBfHxsSSgndHlwZSBcXFwiJytCKydcXFwiIG11c3QgaGF2ZSBhIHBvc2l0aXZlIGludGVnZXIgdHlwZWlkIHBvaW50ZXInKSxZSS5oYXNPd25Qcm9wZXJ0eShBKSl7aWYoZy5pZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zKXJldHVybjtsSShcXFwiQ2Fubm90IHJlZ2lzdGVyIHR5cGUgJ1xcXCIrQitcXFwiJyB0d2ljZVxcXCIpfWlmKFlJW0FdPUksZGVsZXRlIGVJW0FdLE5JLmhhc093blByb3BlcnR5KEEpKXt2YXIgQz1OSVtBXTtkZWxldGUgTklbQV0sQy5mb3JFYWNoKChmdW5jdGlvbihBKXtBKCl9KSl9fWZ1bmN0aW9uIGJJKEEsSSxnLEIsQyl7dmFyIFE9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4hIUF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9COkN9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6ZnVuY3Rpb24oQSl7dmFyIEI7aWYoMT09PWcpQj12O2Vsc2UgaWYoMj09PWcpQj1fO2Vsc2V7aWYoNCE9PWcpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogXFxcIitJKTtCPUFBfXJldHVybiB0aGlzLmZyb21XaXJlVHlwZShCW0E+PlFdKX0sZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiB4SShJLGcsQil7ST1LSShJKSxwSShbXSxbZ10sKGZ1bmN0aW9uKGcpe3JldHVybiBnPWdbMF0sQVtJXT1nLmZyb21XaXJlVHlwZShCKSxbXX0pKX12YXIgbUk9W10sWEk9W3t9LHt2YWx1ZTp2b2lkIDB9LHt2YWx1ZTpudWxsfSx7dmFsdWU6ITB9LHt2YWx1ZTohMX1dO2Z1bmN0aW9uIFZJKEEpe0E+NCYmMD09LS1YSVtBXS5yZWZjb3VudCYmKFhJW0FdPXZvaWQgMCxtSS5wdXNoKEEpKX1mdW5jdGlvbiBPSSgpe2Zvcih2YXIgQT0wLEk9NTtJPFhJLmxlbmd0aDsrK0kpdm9pZCAwIT09WElbSV0mJisrQTtyZXR1cm4gQX1mdW5jdGlvbiBUSSgpe2Zvcih2YXIgQT01O0E8WEkubGVuZ3RoOysrQSlpZih2b2lkIDAhPT1YSVtBXSlyZXR1cm4gWElbQV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gakkoKXtBLmNvdW50X2VtdmFsX2hhbmRsZXM9T0ksQS5nZXRfZmlyc3RfZW12YWw9VEl9ZnVuY3Rpb24gUEkoQSl7c3dpdGNoKEEpe2Nhc2Ugdm9pZCAwOnJldHVybiAxO2Nhc2UgbnVsbDpyZXR1cm4gMjtjYXNlITA6cmV0dXJuIDM7Y2FzZSExOnJldHVybiA0O2RlZmF1bHQ6dmFyIEk9bUkubGVuZ3RoP21JLnBvcCgpOlhJLmxlbmd0aDtyZXR1cm4gWElbSV09e3JlZmNvdW50OjEsdmFsdWU6QX0sSX19ZnVuY3Rpb24gdkkoQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKElBW0E+PjJdKX1mdW5jdGlvbiB6SShBLEkpe1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEk9WElbQV0udmFsdWU7cmV0dXJuIFZJKEEpLEl9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gUEkoSSl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBfSShBKXtpZihudWxsPT09QSlyZXR1cm5cXFwibnVsbFxcXCI7dmFyIEk9RChBKTtyZXR1cm5cXFwib2JqZWN0XFxcIj09PUl8fFxcXCJhcnJheVxcXCI9PT1JfHxcXFwiZnVuY3Rpb25cXFwiPT09ST9BLnRvU3RyaW5nKCk6XFxcIlxcXCIrQX1mdW5jdGlvbiAkSShBLEkpe3N3aXRjaChJKXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShnQVtBPj4yXSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJBW0E+PjNdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJVbmtub3duIGZsb2F0IHR5cGU6IFxcXCIrQSl9fWZ1bmN0aW9uIEFnKEEsSSxnKXt2YXIgQj1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiBBfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7aWYoXFxcIm51bWJlclxcXCIhPXR5cGVvZiBJJiZcXFwiYm9vbGVhblxcXCIhPXR5cGVvZiBJKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFxcXCInK19JKEkpKydcXFwiIHRvICcrdGhpcy5uYW1lKTtyZXR1cm4gSX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjokSShJLEIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gSWcoQSxJKXtpZighKEEgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlIFxcXCIrRChBKStcXFwiIHdoaWNoIGlzIG5vdCBhIGZ1bmN0aW9uXFxcIik7dmFyIGc9cUkoQS5uYW1lfHxcXFwidW5rbm93bkZ1bmN0aW9uTmFtZVxcXCIsKGZ1bmN0aW9uKCl7fSkpO2cucHJvdG90eXBlPUEucHJvdG90eXBlO3ZhciBCPW5ldyBnLEM9QS5hcHBseShCLEkpO3JldHVybiBDIGluc3RhbmNlb2YgT2JqZWN0P0M6Qn1mdW5jdGlvbiBnZyhBKXtmb3IoO0EubGVuZ3RoOyl7dmFyIEk9QS5wb3AoKTtBLnBvcCgpKEkpfX1mdW5jdGlvbiBCZyhBLEksZyxCLEMpe3ZhciBRPUkubGVuZ3RoO1E8MiYmbEkoXFxcImFyZ1R5cGVzIGFycmF5IHNpemUgbWlzbWF0Y2ghIE11c3QgYXQgbGVhc3QgZ2V0IHJldHVybiB2YWx1ZSBhbmQgJ3RoaXMnIHR5cGVzIVxcXCIpO2Zvcih2YXIgRT1udWxsIT09SVsxXSYmbnVsbCE9PWcsaT0hMSxvPTE7bzxJLmxlbmd0aDsrK28paWYobnVsbCE9PUlbb10mJnZvaWQgMD09PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uKXtpPSEwO2JyZWFrfXZhciBEPVxcXCJ2b2lkXFxcIiE9PUlbMF0ubmFtZSxhPVxcXCJcXFwiLHc9XFxcIlxcXCI7Zm9yKG89MDtvPFEtMjsrK28pYSs9KDAhPT1vP1xcXCIsIFxcXCI6XFxcIlxcXCIpK1xcXCJhcmdcXFwiK28sdys9KDAhPT1vP1xcXCIsIFxcXCI6XFxcIlxcXCIpK1xcXCJhcmdcXFwiK28rXFxcIldpcmVkXFxcIjt2YXIgRj1cXFwicmV0dXJuIGZ1bmN0aW9uIFxcXCIrTEkoQSkrXFxcIihcXFwiK2ErXFxcIikge1xcXFxuaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IFxcXCIrKFEtMikrXFxcIikge1xcXFxudGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uIFxcXCIrQStcXFwiIGNhbGxlZCB3aXRoICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBhcmd1bWVudHMsIGV4cGVjdGVkIFxcXCIrKFEtMikrXFxcIiBhcmdzIScpO1xcXFxufVxcXFxuXFxcIjtpJiYoRis9XFxcInZhciBkZXN0cnVjdG9ycyA9IFtdO1xcXFxuXFxcIik7dmFyIEc9aT9cXFwiZGVzdHJ1Y3RvcnNcXFwiOlxcXCJudWxsXFxcIixoPVtcXFwidGhyb3dCaW5kaW5nRXJyb3JcXFwiLFxcXCJpbnZva2VyXFxcIixcXFwiZm5cXFwiLFxcXCJydW5EZXN0cnVjdG9yc1xcXCIsXFxcInJldFR5cGVcXFwiLFxcXCJjbGFzc1BhcmFtXFxcIl0scz1bbEksQixDLGdnLElbMF0sSVsxXV07Zm9yKEUmJihGKz1cXFwidmFyIHRoaXNXaXJlZCA9IGNsYXNzUGFyYW0udG9XaXJlVHlwZShcXFwiK0crXFxcIiwgdGhpcyk7XFxcXG5cXFwiKSxvPTA7bzxRLTI7KytvKUYrPVxcXCJ2YXIgYXJnXFxcIitvK1xcXCJXaXJlZCA9IGFyZ1R5cGVcXFwiK28rXFxcIi50b1dpcmVUeXBlKFxcXCIrRytcXFwiLCBhcmdcXFwiK28rXFxcIik7IC8vIFxcXCIrSVtvKzJdLm5hbWUrXFxcIlxcXFxuXFxcIixoLnB1c2goXFxcImFyZ1R5cGVcXFwiK28pLHMucHVzaChJW28rMl0pO2lmKEUmJih3PVxcXCJ0aGlzV2lyZWRcXFwiKyh3Lmxlbmd0aD4wP1xcXCIsIFxcXCI6XFxcIlxcXCIpK3cpLEYrPShEP1xcXCJ2YXIgcnYgPSBcXFwiOlxcXCJcXFwiKStcXFwiaW52b2tlcihmblxcXCIrKHcubGVuZ3RoPjA/XFxcIiwgXFxcIjpcXFwiXFxcIikrdytcXFwiKTtcXFxcblxcXCIsaSlGKz1cXFwicnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO1xcXFxuXFxcIjtlbHNlIGZvcihvPUU/MToyO288SS5sZW5ndGg7KytvKXt2YXIgUj0xPT09bz9cXFwidGhpc1dpcmVkXFxcIjpcXFwiYXJnXFxcIisoby0yKStcXFwiV2lyZWRcXFwiO251bGwhPT1JW29dLmRlc3RydWN0b3JGdW5jdGlvbiYmKEYrPVIrXFxcIl9kdG9yKFxcXCIrUitcXFwiKTsgLy8gXFxcIitJW29dLm5hbWUrXFxcIlxcXFxuXFxcIixoLnB1c2goUitcXFwiX2R0b3JcXFwiKSxzLnB1c2goSVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24pKX1yZXR1cm4gRCYmKEYrPVxcXCJ2YXIgcmV0ID0gcmV0VHlwZS5mcm9tV2lyZVR5cGUocnYpO1xcXFxucmV0dXJuIHJldDtcXFxcblxcXCIpLEYrPVxcXCJ9XFxcXG5cXFwiLGgucHVzaChGKSxJZyhGdW5jdGlvbixoKS5hcHBseShudWxsLHMpfWZ1bmN0aW9uIENnKEEsSSxnKXtpZih2b2lkIDA9PT1BW0ldLm92ZXJsb2FkVGFibGUpe3ZhciBCPUFbSV07QVtJXT1mdW5jdGlvbigpe3JldHVybiBBW0ldLm92ZXJsb2FkVGFibGUuaGFzT3duUHJvcGVydHkoYXJndW1lbnRzLmxlbmd0aCl8fGxJKFxcXCJGdW5jdGlvbiAnXFxcIitnK1xcXCInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXFxcIithcmd1bWVudHMubGVuZ3RoK1xcXCIpIC0gZXhwZWN0cyBvbmUgb2YgKFxcXCIrQVtJXS5vdmVybG9hZFRhYmxlK1xcXCIpIVxcXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVthcmd1bWVudHMubGVuZ3RoXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LEFbSV0ub3ZlcmxvYWRUYWJsZT1bXSxBW0ldLm92ZXJsb2FkVGFibGVbQi5hcmdDb3VudF09Qn19ZnVuY3Rpb24gUWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSk/KCh2b2lkIDA9PT1CfHx2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGUmJnZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZVtCXSkmJmxJKFxcXCJDYW5ub3QgcmVnaXN0ZXIgcHVibGljIG5hbWUgJ1xcXCIrSStcXFwiJyB0d2ljZVxcXCIpLENnKEEsSSxJKSxBLmhhc093blByb3BlcnR5KEIpJiZsSShcXFwiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIG92ZXJsb2FkcyBvZiBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXFxcIitCK1xcXCIpIVxcXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nKTooQVtJXT1nLHZvaWQgMCE9PUImJihBW0ldLm51bUFyZ3VtZW50cz1CKSl9ZnVuY3Rpb24gRWcoQSxJKXtmb3IodmFyIGc9W10sQj0wO0I8QTtCKyspZy5wdXNoKEFBWyhJPj4yKStCXSk7cmV0dXJuIGd9ZnVuY3Rpb24gaWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSl8fFdJKFxcXCJSZXBsYWNpbmcgbm9uZXhpc3RhbnQgcHVibGljIHN5bWJvbFxcXCIpLHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09Qj9BW0ldLm92ZXJsb2FkVGFibGVbQl09ZzooQVtJXT1nLEFbSV0uYXJnQ291bnQ9Qil9ZnVuY3Rpb24gb2coSSxnKXt2YXIgQjtpZihJPUtJKEkpLHZvaWQgMCE9PUFbXFxcIkZVTkNUSU9OX1RBQkxFX1xcXCIrSV0pQj1BW1xcXCJGVU5DVElPTl9UQUJMRV9cXFwiK0ldW2ddO2Vsc2UgaWYoXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBGVU5DVElPTl9UQUJMRSlCPUZVTkNUSU9OX1RBQkxFW2ddO2Vsc2V7dmFyIEM9QVtcXFwiZHluQ2FsbF9cXFwiK0ldO3ZvaWQgMD09PUMmJnZvaWQgMD09PShDPUFbXFxcImR5bkNhbGxfXFxcIitJLnJlcGxhY2UoL2YvZyxcXFwiZFxcXCIpXSkmJmxJKFxcXCJObyBkeW5DYWxsIGludm9rZXIgZm9yIHNpZ25hdHVyZTogXFxcIitJKSxCPWZ1bmN0aW9uKEEpe2Zvcih2YXIgQj1bXSxDPTE7QzxJLmxlbmd0aDsrK0MpQi5wdXNoKFxcXCJhXFxcIitDKTt2YXIgUT1cXFwicmV0dXJuIGZ1bmN0aW9uIGR5bkNhbGxfXFxcIitJK1xcXCJfXFxcIitnK1xcXCIoXFxcIitCLmpvaW4oXFxcIiwgXFxcIikrXFxcIikge1xcXFxuXFxcIjtyZXR1cm4gUSs9XFxcIiAgICByZXR1cm4gZHluQ2FsbChyYXdGdW5jdGlvblxcXCIrKEIubGVuZ3RoP1xcXCIsIFxcXCI6XFxcIlxcXCIpK0Iuam9pbihcXFwiLCBcXFwiKStcXFwiKTtcXFxcblxcXCIsUSs9XFxcIn07XFxcXG5cXFwiLG5ldyBGdW5jdGlvbihcXFwiZHluQ2FsbFxcXCIsXFxcInJhd0Z1bmN0aW9uXFxcIixRKShBLGcpfShDKX1yZXR1cm5cXFwiZnVuY3Rpb25cXFwiIT10eXBlb2YgQiYmbEkoXFxcInVua25vd24gZnVuY3Rpb24gcG9pbnRlciB3aXRoIHNpZ25hdHVyZSBcXFwiK0krXFxcIjogXFxcIitnKSxCfXZhciBEZz12b2lkIDA7ZnVuY3Rpb24gYWcoQSl7dmFyIEk9d0IoQSksZz1LSShJKTtyZXR1cm4gc0IoSSksZ31mdW5jdGlvbiB3ZyhBLEkpe3ZhciBnPVtdLEI9e307dGhyb3cgSS5mb3JFYWNoKChmdW5jdGlvbiBBKEkpe0JbSV18fFlJW0ldfHwoZUlbSV0/ZUlbSV0uZm9yRWFjaChBKTooZy5wdXNoKEkpLEJbSV09ITApKX0pKSxuZXcgRGcoQStcXFwiOiBcXFwiK2cubWFwKGFnKS5qb2luKFtcXFwiLCBcXFwiXSkpfWZ1bmN0aW9uIEZnKEEsSSxnLEIsQyxRKXt2YXIgRT1FZyhJLGcpO0E9S0koQSksQz1vZyhCLEMpLFFnKEEsKGZ1bmN0aW9uKCl7d2coXFxcIkNhbm5vdCBjYWxsIFxcXCIrQStcXFwiIGR1ZSB0byB1bmJvdW5kIHR5cGVzXFxcIixFKX0pLEktMSkscEkoW10sRSwoZnVuY3Rpb24oZyl7dmFyIEI9W2dbMF0sbnVsbF0uY29uY2F0KGcuc2xpY2UoMSkpO3JldHVybiBpZyhBLEJnKEEsQixudWxsLEMsUSksSS0xKSxbXX0pKX1mdW5jdGlvbiBHZyhBLEksZyl7c3dpdGNoKEkpe2Nhc2UgMDpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gdltBXX06ZnVuY3Rpb24oQSl7cmV0dXJuIHpbQV19O2Nhc2UgMTpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gX1tBPj4xXX06ZnVuY3Rpb24oQSl7cmV0dXJuICRbQT4+MV19O2Nhc2UgMjpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gQUFbQT4+Ml19OmZ1bmN0aW9uKEEpe3JldHVybiBJQVtBPj4yXX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJVbmtub3duIGludGVnZXIgdHlwZTogXFxcIitBKX19ZnVuY3Rpb24gaGcoQSxJLGcsQixDKXtJPUtJKEkpLC0xPT09QyYmKEM9NDI5NDk2NzI5NSk7dmFyIFE9Y0koZyksRT1mdW5jdGlvbihBKXtyZXR1cm4gQX07aWYoMD09PUIpe3ZhciBpPTMyLTgqZztFPWZ1bmN0aW9uKEEpe3JldHVybiBBPDxpPj4+aX19dmFyIG89LTEhPUkuaW5kZXhPZihcXFwidW5zaWduZWRcXFwiKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOkUsdG9XaXJlVHlwZTpmdW5jdGlvbihBLGcpe2lmKFxcXCJudW1iZXJcXFwiIT10eXBlb2YgZyYmXFxcImJvb2xlYW5cXFwiIT10eXBlb2YgZyl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcXFwiJytfSShnKSsnXFxcIiB0byAnK3RoaXMubmFtZSk7aWYoZzxCfHxnPkMpdGhyb3cgbmV3IFR5cGVFcnJvcignUGFzc2luZyBhIG51bWJlciBcXFwiJytfSShnKSsnXFxcIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlIFxcXCInK0krJ1xcXCIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0IrXFxcIiwgXFxcIitDK1xcXCJdIVxcXCIpO3JldHVybiBvP2c+Pj4wOjB8Z30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpHZyhJLFEsMCE9PUIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gc2coQSxJLGcpe3ZhciBCPVtJbnQ4QXJyYXksVWludDhBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheV1bSV07ZnVuY3Rpb24gQyhBKXt2YXIgST1JQSxnPUlbQT4+PTJdLEM9SVtBKzFdO3JldHVybiBuZXcgQihJLmJ1ZmZlcixDLGcpfVpJKEEse25hbWU6Zz1LSShnKSxmcm9tV2lyZVR5cGU6QyxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkN9LHtpZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zOiEwfSl9ZnVuY3Rpb24gUmcoQSxJKXt2YXIgZz1cXFwic3RkOjpzdHJpbmdcXFwiPT09KEk9S0koSSkpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEksQj1JQVtBPj4yXTtpZihnKXt2YXIgQz16W0ErNCtCXSxRPTA7MCE9QyYmKFE9Qyx6W0ErNCtCXT0wKTtmb3IodmFyIEU9QSs0LGk9MDtpPD1COysraSl7dmFyIG89QSs0K2k7aWYoMD09eltvXSl7dmFyIEQ9ZihFKTt2b2lkIDA9PT1JP0k9RDooSSs9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxJKz1EKSxFPW8rMX19MCE9USYmKHpbQSs0K0JdPVEpfWVsc2V7dmFyIGE9bmV3IEFycmF5KEIpO2ZvcihpPTA7aTxCOysraSlhW2ldPVN0cmluZy5mcm9tQ2hhckNvZGUoeltBKzQraV0pO0k9YS5qb2luKFxcXCJcXFwiKX1yZXR1cm4gc0IoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe0kgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKEk9bmV3IFVpbnQ4QXJyYXkoSSkpO3ZhciBCPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgSTtCfHxJIGluc3RhbmNlb2YgVWludDhBcnJheXx8SSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxJIGluc3RhbmNlb2YgSW50OEFycmF5fHxsSShcXFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZ1xcXCIpO3ZhciBDPShnJiZCP2Z1bmN0aW9uKCl7cmV0dXJuIFcoSSl9OmZ1bmN0aW9uKCl7cmV0dXJuIEkubGVuZ3RofSkoKSxRPVJCKDQrQysxKTtpZihJQVtRPj4yXT1DLGcmJkIpdShJLFErNCxDKzEpO2Vsc2UgaWYoQilmb3IodmFyIEU9MDtFPEM7KytFKXt2YXIgaT1JLmNoYXJDb2RlQXQoRSk7aT4yNTUmJihzQihRKSxsSShcXFwiU3RyaW5nIGhhcyBVVEYtMTYgY29kZSB1bml0cyB0aGF0IGRvIG5vdCBmaXQgaW4gOCBiaXRzXFxcIikpLHpbUSs0K0VdPWl9ZWxzZSBmb3IoRT0wO0U8QzsrK0UpeltRKzQrRV09SVtFXTtyZXR1cm4gbnVsbCE9PUEmJkEucHVzaChzQixRKSxRfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiBVZyhBLEksZyl7dmFyIEIsQyxRLEUsaTtnPUtJKGcpLDI9PT1JPyhCPVosQz1iLEU9eCxRPWZ1bmN0aW9uKCl7cmV0dXJuICR9LGk9MSk6ND09PUkmJihCPW0sQz1YLEU9VixRPWZ1bmN0aW9uKCl7cmV0dXJuIElBfSxpPTIpLFpJKEEse25hbWU6Zyxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIGcsQz1JQVtBPj4yXSxFPVEoKSxvPUVbQSs0K0MqST4+aV0sRD0wOzAhPW8mJihEPW8sRVtBKzQrQypJPj5pXT0wKTtmb3IodmFyIGE9QSs0LHc9MDt3PD1DOysrdyl7dmFyIEY9QSs0K3cqSTtpZigwPT1FW0Y+PmldKXt2YXIgRz1CKGEpO3ZvaWQgMD09PWc/Zz1HOihnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLGcrPUcpLGE9RitJfX1yZXR1cm4gMCE9RCYmKEVbQSs0K0MqST4+aV09RCksc0IoQSksZ30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEIpe1xcXCJzdHJpbmdcXFwiIT10eXBlb2YgQiYmbEkoXFxcIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gQysrIHN0cmluZyB0eXBlIFxcXCIrZyk7dmFyIFE9RShCKSxvPVJCKDQrUStJKTtyZXR1cm4gSUFbbz4+Ml09UT4+aSxDKEIsbys0LFErSSksbnVsbCE9PUEmJkEucHVzaChzQixvKSxvfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiB5ZyhBLEkpe1pJKEEse2lzVm9pZDohMCxuYW1lOkk9S0koSSksYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXt9fSl9ZnVuY3Rpb24gdGcoKXtKQSgpfWZ1bmN0aW9uIFNnKCl7cmV0dXJuIHoubGVuZ3RofWZ1bmN0aW9uIE1nKEEpe0pBKFxcXCJPT01cXFwiKX1mdW5jdGlvbiBuZyhBKXtNZygpfWZ1bmN0aW9uIGNnKEEpe2VCKEEpfWZ1bmN0aW9uIHJnKEEpe3JldHVybiAwPT09QT8wOihBPWYoQSksakEuaGFzT3duUHJvcGVydHkoQSk/KHJnLnJldCYmc0IocmcucmV0KSxyZy5yZXQ9TyhqQVtBXSkscmcucmV0KTowKX1mdW5jdGlvbiBrZyhBKXt2YXIgST1EYXRlLm5vdygpO3JldHVybiBBQVtBPj4yXT1JLzFlM3wwLEFBW0ErND4+Ml09SSUxZTMqMWUzfDAsMH1mdW5jdGlvbiBLZyhBKXtyZXR1cm4gTWF0aC5wb3coMixBKX1mdW5jdGlvbiBOZyhBKXt2YXIgST1ZZyxnPUkuTExWTV9TQVZFRFNUQUNLU1tBXTtJLkxMVk1fU0FWRURTVEFDS1Muc3BsaWNlKEEsMSkseUIoZyl9ZnVuY3Rpb24gWWcoKXt2YXIgQT1ZZztyZXR1cm4gQS5MTFZNX1NBVkVEU1RBQ0tTfHwoQS5MTFZNX1NBVkVEU1RBQ0tTPVtdKSxBLkxMVk1fU0FWRURTVEFDS1MucHVzaCh0QigpKSxBLkxMVk1fU0FWRURTVEFDS1MubGVuZ3RoLTF9dmFyIGVnPTYxMTM2O2Z1bmN0aW9uIEpnKCl7aWYoIUpnLmNhbGxlZCl7SmcuY2FsbGVkPSEwLEFBW0dCKCk+PjJdPTYwKihuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgQT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCksST1uZXcgRGF0ZShBLDAsMSksZz1uZXcgRGF0ZShBLDYsMSk7QUFbRkIoKT4+Ml09TnVtYmVyKEkuZ2V0VGltZXpvbmVPZmZzZXQoKSE9Zy5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgQj1pKEkpLEM9aShnKSxRPU8oQiksRT1PKEMpO2cuZ2V0VGltZXpvbmVPZmZzZXQoKTxJLmdldFRpbWV6b25lT2Zmc2V0KCk/KEFBW2hCKCk+PjJdPVEsQUFbaEIoKSs0Pj4yXT1FKTooQUFbaEIoKT4+Ml09RSxBQVtoQigpKzQ+PjJdPVEpfWZ1bmN0aW9uIGkoQSl7dmFyIEk9QS50b1RpbWVTdHJpbmcoKS5tYXRjaCgvXFxcXCgoW0EtWmEteiBdKylcXFxcKSQvKTtyZXR1cm4gST9JWzFdOlxcXCJHTVRcXFwifX1mdW5jdGlvbiBIZyhBLEkpe0pnKCk7dmFyIGc9bmV3IERhdGUoMWUzKkFBW0E+PjJdKTtBQVtJPj4yXT1nLmdldFNlY29uZHMoKSxBQVtJKzQ+PjJdPWcuZ2V0TWludXRlcygpLEFBW0krOD4+Ml09Zy5nZXRIb3VycygpLEFBW0krMTI+PjJdPWcuZ2V0RGF0ZSgpLEFBW0krMTY+PjJdPWcuZ2V0TW9udGgoKSxBQVtJKzIwPj4yXT1nLmdldEZ1bGxZZWFyKCktMTkwMCxBQVtJKzI0Pj4yXT1nLmdldERheSgpO3ZhciBCPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSwwLDEpLEM9KGcuZ2V0VGltZSgpLUIuZ2V0VGltZSgpKS84NjRlNXwwO0FBW0krMjg+PjJdPUMsQUFbSSszNj4+Ml09LTYwKmcuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgUT1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksNiwxKS5nZXRUaW1lem9uZU9mZnNldCgpLEU9Qi5nZXRUaW1lem9uZU9mZnNldCgpLGk9MHwoUSE9RSYmZy5nZXRUaW1lem9uZU9mZnNldCgpPT1NYXRoLm1pbihFLFEpKTtBQVtJKzMyPj4yXT1pO3ZhciBvPUFBW2hCKCkrKGk/NDowKT4+Ml07cmV0dXJuIEFBW0krNDA+PjJdPW8sSX1mdW5jdGlvbiBMZyhBKXtyZXR1cm4gSGcoQSxlZyl9ZnVuY3Rpb24gcWcoQSxJKXt0aHJvdyBVQihBLEl8fDEpLFxcXCJsb25nam1wXFxcIn1mdW5jdGlvbiBkZyhBLEksZyl7ei5zZXQoei5zdWJhcnJheShJLEkrZyksQSl9ZnVuY3Rpb24gZmcoQSl7cmV0dXJuIEElND09MCYmKEElMTAwIT0wfHxBJTQwMD09MCl9ZnVuY3Rpb24gbGcoQSxJKXtmb3IodmFyIGc9MCxCPTA7Qjw9STtnKz1BW0IrK10pO3JldHVybiBnfXUoXFxcIkdNVFxcXCIsNjExODQsNCk7dmFyIHVnPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sV2c9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXTtmdW5jdGlvbiBwZyhBLEkpe2Zvcih2YXIgZz1uZXcgRGF0ZShBLmdldFRpbWUoKSk7ST4wOyl7dmFyIEI9ZmcoZy5nZXRGdWxsWWVhcigpKSxDPWcuZ2V0TW9udGgoKSxRPShCP3VnOldnKVtDXTtpZighKEk+US1nLmdldERhdGUoKSkpcmV0dXJuIGcuc2V0RGF0ZShnLmdldERhdGUoKStJKSxnO0ktPVEtZy5nZXREYXRlKCkrMSxnLnNldERhdGUoMSksQzwxMT9nLnNldE1vbnRoKEMrMSk6KGcuc2V0TW9udGgoMCksZy5zZXRGdWxsWWVhcihnLmdldEZ1bGxZZWFyKCkrMSkpfXJldHVybiBnfWZ1bmN0aW9uIFpnKEEsSSxnLEIpe3ZhciBDPUFBW0IrNDA+PjJdLFE9e3RtX3NlYzpBQVtCPj4yXSx0bV9taW46QUFbQis0Pj4yXSx0bV9ob3VyOkFBW0IrOD4+Ml0sdG1fbWRheTpBQVtCKzEyPj4yXSx0bV9tb246QUFbQisxNj4+Ml0sdG1feWVhcjpBQVtCKzIwPj4yXSx0bV93ZGF5OkFBW0IrMjQ+PjJdLHRtX3lkYXk6QUFbQisyOD4+Ml0sdG1faXNkc3Q6QUFbQiszMj4+Ml0sdG1fZ210b2ZmOkFBW0IrMzY+PjJdLHRtX3pvbmU6Qz9mKEMpOlxcXCJcXFwifSxFPWYoZyksaT17XFxcIiVjXFxcIjpcXFwiJWEgJWIgJWQgJUg6JU06JVMgJVlcXFwiLFxcXCIlRFxcXCI6XFxcIiVtLyVkLyV5XFxcIixcXFwiJUZcXFwiOlxcXCIlWS0lbS0lZFxcXCIsXFxcIiVoXFxcIjpcXFwiJWJcXFwiLFxcXCIlclxcXCI6XFxcIiVJOiVNOiVTICVwXFxcIixcXFwiJVJcXFwiOlxcXCIlSDolTVxcXCIsXFxcIiVUXFxcIjpcXFwiJUg6JU06JVNcXFwiLFxcXCIleFxcXCI6XFxcIiVtLyVkLyV5XFxcIixcXFwiJVhcXFwiOlxcXCIlSDolTTolU1xcXCIsXFxcIiVFY1xcXCI6XFxcIiVjXFxcIixcXFwiJUVDXFxcIjpcXFwiJUNcXFwiLFxcXCIlRXhcXFwiOlxcXCIlbS8lZC8leVxcXCIsXFxcIiVFWFxcXCI6XFxcIiVIOiVNOiVTXFxcIixcXFwiJUV5XFxcIjpcXFwiJXlcXFwiLFxcXCIlRVlcXFwiOlxcXCIlWVxcXCIsXFxcIiVPZFxcXCI6XFxcIiVkXFxcIixcXFwiJU9lXFxcIjpcXFwiJWVcXFwiLFxcXCIlT0hcXFwiOlxcXCIlSFxcXCIsXFxcIiVPSVxcXCI6XFxcIiVJXFxcIixcXFwiJU9tXFxcIjpcXFwiJW1cXFwiLFxcXCIlT01cXFwiOlxcXCIlTVxcXCIsXFxcIiVPU1xcXCI6XFxcIiVTXFxcIixcXFwiJU91XFxcIjpcXFwiJXVcXFwiLFxcXCIlT1VcXFwiOlxcXCIlVVxcXCIsXFxcIiVPVlxcXCI6XFxcIiVWXFxcIixcXFwiJU93XFxcIjpcXFwiJXdcXFwiLFxcXCIlT1dcXFwiOlxcXCIlV1xcXCIsXFxcIiVPeVxcXCI6XFxcIiV5XFxcIn07Zm9yKHZhciBvIGluIGkpRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChvLFxcXCJnXFxcIiksaVtvXSk7dmFyIEQ9W1xcXCJTdW5kYXlcXFwiLFxcXCJNb25kYXlcXFwiLFxcXCJUdWVzZGF5XFxcIixcXFwiV2VkbmVzZGF5XFxcIixcXFwiVGh1cnNkYXlcXFwiLFxcXCJGcmlkYXlcXFwiLFxcXCJTYXR1cmRheVxcXCJdLGE9W1xcXCJKYW51YXJ5XFxcIixcXFwiRmVicnVhcnlcXFwiLFxcXCJNYXJjaFxcXCIsXFxcIkFwcmlsXFxcIixcXFwiTWF5XFxcIixcXFwiSnVuZVxcXCIsXFxcIkp1bHlcXFwiLFxcXCJBdWd1c3RcXFwiLFxcXCJTZXB0ZW1iZXJcXFwiLFxcXCJPY3RvYmVyXFxcIixcXFwiTm92ZW1iZXJcXFwiLFxcXCJEZWNlbWJlclxcXCJdO2Z1bmN0aW9uIHcoQSxJLGcpe2Zvcih2YXIgQj1cXFwibnVtYmVyXFxcIj09dHlwZW9mIEE/QS50b1N0cmluZygpOkF8fFxcXCJcXFwiO0IubGVuZ3RoPEk7KUI9Z1swXStCO3JldHVybiBCfWZ1bmN0aW9uIEYoQSxJKXtyZXR1cm4gdyhBLEksXFxcIjBcXFwiKX1mdW5jdGlvbiBHKEEsSSl7ZnVuY3Rpb24gZyhBKXtyZXR1cm4gQTwwPy0xOkE+MD8xOjB9dmFyIEI7cmV0dXJuIDA9PT0oQj1nKEEuZ2V0RnVsbFllYXIoKS1JLmdldEZ1bGxZZWFyKCkpKSYmMD09PShCPWcoQS5nZXRNb250aCgpLUkuZ2V0TW9udGgoKSkpJiYoQj1nKEEuZ2V0RGF0ZSgpLUkuZ2V0RGF0ZSgpKSksQn1mdW5jdGlvbiBoKEEpe3N3aXRjaChBLmdldERheSgpKXtjYXNlIDA6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDI5KTtjYXNlIDE6cmV0dXJuIEE7Y2FzZSAyOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwzKTtjYXNlIDM6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDIpO2Nhc2UgNDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMSk7Y2FzZSA1OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMSk7Y2FzZSA2OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMCl9fWZ1bmN0aW9uIHMoQSl7dmFyIEk9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpLGc9bmV3IERhdGUoSS5nZXRGdWxsWWVhcigpLDAsNCksQj1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCkrMSwwLDQpLEM9aChnKSxRPWgoQik7cmV0dXJuIEcoQyxJKTw9MD9HKFEsSSk8PTA/SS5nZXRGdWxsWWVhcigpKzE6SS5nZXRGdWxsWWVhcigpOkkuZ2V0RnVsbFllYXIoKS0xfXZhciBSPXtcXFwiJWFcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBEW0EudG1fd2RheV0uc3Vic3RyaW5nKDAsMyl9LFxcXCIlQVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XX0sXFxcIiViXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl0uc3Vic3RyaW5nKDAsMyl9LFxcXCIlQlxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIGFbQS50bV9tb25dfSxcXFwiJUNcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKChBLnRtX3llYXIrMTkwMCkvMTAwfDAsMil9LFxcXCIlZFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5LDIpfSxcXFwiJWVcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiB3KEEudG1fbWRheSwyLFxcXCIgXFxcIil9LFxcXCIlZ1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFxcXCIlR1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSl9LFxcXCIlSFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9ob3VyLDIpfSxcXFwiJUlcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1faG91cjtyZXR1cm4gMD09ST9JPTEyOkk+MTImJihJLT0xMiksRihJLDIpfSxcXFwiJWpcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWRheStsZyhmZyhBLnRtX3llYXIrMTkwMCk/dWc6V2csQS50bV9tb24tMSksMyl9LFxcXCIlbVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tb24rMSwyKX0sXFxcIiVNXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21pbiwyKX0sXFxcIiVuXFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCJcXFxcblxcXCJ9LFxcXCIlcFxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1faG91cj49MCYmQS50bV9ob3VyPDEyP1xcXCJBTVxcXCI6XFxcIlBNXFxcIn0sXFxcIiVTXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX3NlYywyKX0sXFxcIiV0XFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCJcXFxcdFxcXCJ9LFxcXCIldVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fd2RheXx8N30sXFxcIiVVXFxcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLGc9MD09PUkuZ2V0RGF5KCk/STpwZyhJLDctSS5nZXREYXkoKSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XFxcIjAxXFxcIjpcXFwiMDBcXFwifSxcXFwiJVZcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJLGc9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCw0KSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAxLDAsNCksQz1oKGcpLFE9aChCKSxFPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KTtyZXR1cm4gRyhFLEMpPDA/XFxcIjUzXFxcIjpHKFEsRSk8PTA/XFxcIjAxXFxcIjooST1DLmdldEZ1bGxZZWFyKCk8QS50bV95ZWFyKzE5MDA/QS50bV95ZGF5KzMyLUMuZ2V0RGF0ZSgpOkEudG1feWRheSsxLUMuZ2V0RGF0ZSgpLEYoTWF0aC5jZWlsKEkvNyksMikpfSxcXFwiJXdcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3dkYXl9LFxcXCIlV1xcXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyLDAsMSksZz0xPT09SS5nZXREYXkoKT9JOnBnKEksMD09PUkuZ2V0RGF5KCk/MTo3LUkuZ2V0RGF5KCkrMSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XFxcIjAxXFxcIjpcXFwiMDBcXFwifSxcXFwiJXlcXFwiOmZ1bmN0aW9uKEEpe3JldHVybihBLnRtX3llYXIrMTkwMCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFxcXCIlWVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1feWVhcisxOTAwfSxcXFwiJXpcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1fZ210b2ZmLGc9ST49MDtyZXR1cm4gST0oST1NYXRoLmFicyhJKS82MCkvNjAqMTAwK0klNjAsKGc/XFxcIitcXFwiOlxcXCItXFxcIikrU3RyaW5nKFxcXCIwMDAwXFxcIitJKS5zbGljZSgtNCl9LFxcXCIlWlxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fem9uZX0sXFxcIiUlXFxcIjpmdW5jdGlvbigpe3JldHVyblxcXCIlXFxcIn19O2Zvcih2YXIgbyBpbiBSKUUuaW5kZXhPZihvKT49MCYmKEU9RS5yZXBsYWNlKG5ldyBSZWdFeHAobyxcXFwiZ1xcXCIpLFJbb10oUSkpKTt2YXIgVT1YZyhFLCExKTtyZXR1cm4gVS5sZW5ndGg+ST8wOihUKFUsQSksVS5sZW5ndGgtMSl9ZnVuY3Rpb24gYmcoQSxJLGcsQil7cmV0dXJuIFpnKEEsSSxnLEIpfWZ1bmN0aW9uIHhnKEEpe3ZhciBJPURhdGUubm93KCkvMWUzfDA7cmV0dXJuIEEmJihBQVtBPj4yXT1JKSxJfWlJLnN0YXRpY0luaXQoKSxySSgpLGZJPUEuQmluZGluZ0Vycm9yPWRJKEVycm9yLFxcXCJCaW5kaW5nRXJyb3JcXFwiKSx1ST1BLkludGVybmFsRXJyb3I9ZEkoRXJyb3IsXFxcIkludGVybmFsRXJyb3JcXFwiKSxqSSgpLERnPUEuVW5ib3VuZFR5cGVFcnJvcj1kSShFcnJvcixcXFwiVW5ib3VuZFR5cGVFcnJvclxcXCIpO3ZhciBtZz0hMTtmdW5jdGlvbiBYZyhBLEksZyl7dmFyIEI9Zz4wP2c6VyhBKSsxLEM9bmV3IEFycmF5KEIpLFE9bChBLEMsMCxDLmxlbmd0aCk7cmV0dXJuIEkmJihDLmxlbmd0aD1RKSxDfWZ1bmN0aW9uIFZnKEEpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLmxlbmd0aDtnKyspe3ZhciBCPUFbZ107Qj4yNTUmJihtZyYmSCghMSxcXFwiQ2hhcmFjdGVyIGNvZGUgXFxcIitCK1xcXCIgKFxcXCIrU3RyaW5nLmZyb21DaGFyQ29kZShCKStcXFwiKSAgYXQgb2Zmc2V0IFxcXCIrZytcXFwiIG5vdCBpbiAweDAwLTB4RkYuXFxcIiksQiY9MjU1KSxJLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShCKSl9cmV0dXJuIEkuam9pbihcXFwiXFxcIil9dmFyIE9nPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBhdG9iP2F0b2I6ZnVuY3Rpb24oQSl7dmFyIEksZyxCLEMsUSxFLGk9XFxcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89XFxcIixvPVxcXCJcXFwiLEQ9MDtBPUEucmVwbGFjZSgvW15BLVphLXowLTlcXFxcK1xcXFwvXFxcXD1dL2csXFxcIlxcXCIpO2Rve0k9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpPDwyfChDPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSk+PjQsZz0oMTUmQyk8PDR8KFE9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+MixCPSgzJlEpPDw2fChFPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSksbys9U3RyaW5nLmZyb21DaGFyQ29kZShJKSw2NCE9PVEmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGcpKSw2NCE9PUUmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX13aGlsZShEPEEubGVuZ3RoKTtyZXR1cm4gb307ZnVuY3Rpb24gVGcoQSl7aWYoXFxcImJvb2xlYW5cXFwiPT10eXBlb2YgdyYmdyl7dmFyIEk7dHJ5e0k9QnVmZmVyLmZyb20oQSxcXFwiYmFzZTY0XFxcIil9Y2F0Y2goZyl7ST1uZXcgQnVmZmVyKEEsXFxcImJhc2U2NFxcXCIpfXJldHVybiBuZXcgVWludDhBcnJheShJLmJ1ZmZlcixJLmJ5dGVPZmZzZXQsSS5ieXRlTGVuZ3RoKX10cnl7Zm9yKHZhciBnPU9nKEEpLEI9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpLEM9MDtDPGcubGVuZ3RoOysrQylCW0NdPWcuY2hhckNvZGVBdChDKTtyZXR1cm4gQn1jYXRjaChBKXt0aHJvdyBuZXcgRXJyb3IoXFxcIkNvbnZlcnRpbmcgYmFzZTY0IHN0cmluZyB0byBieXRlcyBmYWlsZWQuXFxcIil9fWZ1bmN0aW9uIGpnKEEpe2lmKExBKEEpKXJldHVybiBUZyhBLnNsaWNlKEhBLmxlbmd0aCkpfWZ1bmN0aW9uIFBnKEEsSSl7dmFyIGc9dEIoKTt0cnl7cmV0dXJuIFNCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHZnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyZXR1cm4gTUIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlxcXCJsb25nam1wXFxcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB6ZyhBLEksZyxCKXt2YXIgQz10QigpO3RyeXtyZXR1cm4gbkIoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIF9nKEEsSSl7dmFyIGc9dEIoKTt0cnl7Y0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gJGcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JCKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gQUIoQSxJLGcsQil7dmFyIEM9dEIoKTt0cnl7a0IoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIElCKEEsSSxnLEIsQyl7dmFyIFE9dEIoKTt0cnl7S0IoQSxJLGcsQixDKX1jYXRjaChBKXtpZih5QihRKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19dmFyIGdCPXt9LEJCPXskOnZBLGY6ekEsZTokQSxBOkFJLF86Z0ksejpESSxaOmFJLFk6d0ksWDpHSSxvOmhJLHk6UkksVzp5SSxEOlNJLFY6bkksVTpiSSx4OnhJLFQ6ekksdzpBZyxqOkZnLGs6aGcsaTpzZyx2OlJnLHM6VWcsUzp5ZyxfX21lbW9yeV9iYXNlOjEwMjQsX190YWJsZV9iYXNlOjAsYTp0ZyxSOm1BLFE6eEEsUDpiQSxPOlpBLE46WEEsTTpTZyxLOmRnLEo6bmcsYjpjZyxuOnJnLHU6a2csSTpLZyxtOk5nLGw6WWcsSDpMZyxnOnFnLEY6WmcsRTpiZyx0OnhnLGM6SkEsaDpZLHE6UGcsTDp2ZyxHOnpnLHA6X2csQzokZyxCOkFCLHI6SUIsbWVtb3J5OnIsZDpOLHRhYmxlOmV9LENCPUEuYXNtKGdCLEJCLFApO0EuYXNtPUNCO3ZhciBRQixFQj1BLl9fR0xPQkFMX19zdWJfSV9BUlRvb2xLaXRKU19jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpQj1BLl9fR0xPQkFMX19zdWJfSV9iaW5kX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5iYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9CPUEuX19HTE9CQUxfX3N1Yl9JX2lvc3RyZWFtX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5jYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERCPUEuX19aU3QxOHVuY2F1Z2h0X2V4Y2VwdGlvbnY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhQj0oQS5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19lbXNjcmlwdGVuX2Vudmlyb25fY29uc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksd0I9KEEuX19fZXJybm9fbG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2dldFR5cGVOYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEZCPUEuX19nZXRfZGF5bGlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxHQj1BLl9fZ2V0X3RpbWV6b25lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saEI9QS5fX2dldF90em5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ua2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzQj1BLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUkI9QS5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVUI9QS5fc2V0VGhyZXc9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5Qj0oQS5zdGFja0FsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5zdGFja1Jlc3RvcmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uU2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksdEI9QS5zdGFja1NhdmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uVGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTQj0oQS5keW5DYWxsX2RpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2RpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5wYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9pPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLE1CPShBLmR5bkNhbGxfaWlkaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5zYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksbkI9QS5keW5DYWxsX2lpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjQj0oQS5keW5DYWxsX2lpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS53YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS55YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5CYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWo9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQ2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5EYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHJCPShBLmR5bkNhbGxfdmlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5IYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksa0I9KEEuZHluQ2FsbF92aWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkphLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uS2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5MYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxLQj1BLmR5bkNhbGxfdmlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtmdW5jdGlvbiBOQihBKXt0aGlzLm5hbWU9XFxcIkV4aXRTdGF0dXNcXFwiLHRoaXMubWVzc2FnZT1cXFwiUHJvZ3JhbSB0ZXJtaW5hdGVkIHdpdGggZXhpdChcXFwiK0ErXFxcIilcXFwiLHRoaXMuc3RhdHVzPUF9ZnVuY3Rpb24gWUIoSSl7ZnVuY3Rpb24gZygpe1FCfHwoUUI9ITAsSnx8KFJBKCksVUEoKSxBLm9uUnVudGltZUluaXRpYWxpemVkJiZBLm9uUnVudGltZUluaXRpYWxpemVkKCkseUEoKSkpfUk9SXx8QyxrQT4wfHwoc0EoKSxrQT4wfHwoQS5zZXRTdGF0dXM/KEEuc2V0U3RhdHVzKFxcXCJSdW5uaW5nLi4uXFxcIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe0Euc2V0U3RhdHVzKFxcXCJcXFwiKX0pLDEpLGcoKX0pLDEpKTpnKCkpKX1mdW5jdGlvbiBlQihJLGcpe2cmJmMmJjA9PT1JfHwoY3x8KEo9ITAsQS5vbkV4aXQmJkEub25FeGl0KEkpKSxFKEksbmV3IE5CKEkpKSl9aWYoQS5keW5DYWxsX3ZpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5OYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlBhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWppaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5RYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuYXNtPUNCLEEuRlM9aUksQS50aGVuPWZ1bmN0aW9uKEkpe2lmKFFCKUkoQSk7ZWxzZXt2YXIgZz1BLm9uUnVudGltZUluaXRpYWxpemVkO0Eub25SdW50aW1lSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtnJiZnKCksSShBKX19cmV0dXJuIEF9LE5BPWZ1bmN0aW9uIEEoKXtRQnx8WUIoKSxRQnx8KE5BPUEpfSxBLnJ1bj1ZQixBLnByZUluaXQpZm9yKFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLnByZUluaXQmJihBLnByZUluaXQ9W0EucHJlSW5pdF0pO0EucHJlSW5pdC5sZW5ndGg+MDspQS5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIGM9ITAsWUIoKSxBfSk7Y29uc3QgRj13LEc9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0Yoe29uUnVudGltZUluaXRpYWxpemVkOmZ1bmN0aW9uKCl7QSh7aW5zdGFuY2U6dGhpc30pfX0pfSkpfTt2YXIgaD1nKDY2OSkscz1nLm4oaCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSl9dmFyIGc7cmV0dXJuIEUoQSxudWxsLFt7a2V5OlxcXCJmZXRjaFJlbW90ZURhdGFcXFwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5wcmV2PTAsQS5uZXh0PTMscygpLmdldChJLHtyZXNwb25zZVR5cGU6XFxcImFycmF5YnVmZmVyXFxcIn0pO2Nhc2UgMzpyZXR1cm4gZz1BLnNlbnQsQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsbmV3IFVpbnQ4QXJyYXkoZy5kYXRhKSk7Y2FzZSA3OnRocm93IEEucHJldj03LEEudDA9QS5jYXRjaCgwKSxBLnQwO2Nhc2UgMTA6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLG51bGwsW1swLDddXSl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJzdHJpbmcyVWludDhEYXRhXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtmb3IodmFyIEk9bmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpLGc9MDtnPEkubGVuZ3RoO2crKylJW2ddPTI1NSZBLmNoYXJDb2RlQXQoZyk7cmV0dXJuIEl9fSx7a2V5OlxcXCJ1aW50OERhdGEyU3RyaW5nXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsQSl9fSx7a2V5OlxcXCJwYXJzZU11bHRpRmlsZVxcXCIsdmFsdWU6ZnVuY3Rpb24oSSl7dmFyIGc9QS51aW50OERhdGEyU3RyaW5nKEkpLnNwbGl0KFxcXCJcXFxcblxcXCIpLEI9W10sQz0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lmKChBPUEudHJpbSgpKSYmIUEuc3RhcnRzV2l0aChcXFwiI1xcXCIpKXN3aXRjaChDKXtjYXNlIDA6cmV0dXJuIHZvaWQoQz0xKTtjYXNlIDE6QS5tYXRjaCgvXlxcXFxkKyQvKXx8Qi5wdXNoKEEpO2Nhc2UgMjpjYXNlIDM6Y2FzZSA0OnJldHVybiB2b2lkIEMrKztjYXNlIDU6cmV0dXJuIHZvaWQoQz0xKX19KSksQn19XSksQX0oKSxVPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKSx0aGlzLmluc3RhbmNlLHRoaXMubWFya2VyQ291bnQ9MCx0aGlzLm11bHRpTWFya2VyQ291bnQ9MCx0aGlzLmNhbWVyYUNvdW50PTAsdGhpcy52ZXJzaW9uPVxcXCIwLjEuMFxcXCIsY29uc29sZS5pbmZvKFxcXCJBUlRvb2xraXQgXFxcIix0aGlzLnZlcnNpb24pfXZhciBCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcXFwiaW5pdFxcXCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLEcoKTtjYXNlIDI6cmV0dXJuIEk9QS5zZW50LHRoaXMuaW5zdGFuY2U9SS5pbnN0YW5jZSx0aGlzLl9kZWNvcmF0ZSgpLChcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6Zy5nKS5hcnRvb2xraXQ9dGhpcyxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzKTtjYXNlIDg6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJfZGVjb3JhdGVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcztmb3IodmFyIEkgaW5bXFxcInNldHVwXFxcIixcXFwidGVhcmRvd25cXFwiLFxcXCJzZXR1cEFSMlxcXCIsXFxcInNldExvZ0xldmVsXFxcIixcXFwiZ2V0TG9nTGV2ZWxcXFwiLFxcXCJzZXREZWJ1Z01vZGVcXFwiLFxcXCJnZXREZWJ1Z01vZGVcXFwiLFxcXCJnZXRQcm9jZXNzaW5nSW1hZ2VcXFwiLFxcXCJzZXRNYXJrZXJJbmZvRGlyXFxcIixcXFwic2V0TWFya2VySW5mb1ZlcnRleFxcXCIsXFxcImdldFRyYW5zTWF0U3F1YXJlXFxcIixcXFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XFxcIixcXFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVxcXCIsXFxcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3RcXFwiLFxcXCJnZXRNdWx0aU1hcmtlck51bVxcXCIsXFxcImdldE11bHRpTWFya2VyQ291bnRcXFwiLFxcXCJkZXRlY3RNYXJrZXJcXFwiLFxcXCJnZXRNYXJrZXJOdW1cXFwiLFxcXCJkZXRlY3RORlRNYXJrZXJcXFwiLFxcXCJnZXRORlRNYXJrZXJcXFwiLFxcXCJnZXRNYXJrZXJcXFwiLFxcXCJnZXRNdWx0aUVhY2hNYXJrZXJcXFwiLFxcXCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIixcXFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVxcXCIsXFxcInNldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsXFxcImdldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsXFxcInNldFRocmVzaG9sZE1vZGVcXFwiLFxcXCJnZXRUaHJlc2hvbGRNb2RlXFxcIixcXFwic2V0VGhyZXNob2xkXFxcIixcXFwiZ2V0VGhyZXNob2xkXFxcIixcXFwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcXFwiLFxcXCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsXFxcInNldE1hdHJpeENvZGVUeXBlXFxcIixcXFwiZ2V0TWF0cml4Q29kZVR5cGVcXFwiLFxcXCJzZXRMYWJlbGluZ01vZGVcXFwiLFxcXCJnZXRMYWJlbGluZ01vZGVcXFwiLFxcXCJzZXRQYXR0UmF0aW9cXFwiLFxcXCJnZXRQYXR0UmF0aW9cXFwiLFxcXCJzZXRJbWFnZVByb2NNb2RlXFxcIixcXFwiZ2V0SW1hZ2VQcm9jTW9kZVxcXCJdLmZvckVhY2goKGZ1bmN0aW9uKEkpe0FbSV09QS5pbnN0YW5jZVtJXX0pKSx0aGlzLmluc3RhbmNlKUkubWF0Y2goL15BUi8pJiYodGhpc1tJXT10aGlzLmluc3RhbmNlW0ldKX19LHtrZXk6XFxcImxvYWRDYW1lcmFcXFwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQjtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKGc9XFxcIi9jYW1lcmFfcGFyYW1fXFxcIit0aGlzLmNhbWVyYUNvdW50KyssIShJIGluc3RhbmNlb2YgVWludDhBcnJheSkpe0EubmV4dD01O2JyZWFrfUI9SSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShJKTtjYXNlIDg6Qj1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQixnKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzLmluc3RhbmNlLl9sb2FkQ2FtZXJhKGcpKTtjYXNlIDE2OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE1hcmtlclxcXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJLGcpe3ZhciBCLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDppZihCPVxcXCIvbWFya2VyX1xcXCIrdGhpcy5tYXJrZXJDb3VudCsrLC0xPT09Zy5pbmRleE9mKFxcXCJcXFxcblxcXCIpKXtBLm5leHQ9NTticmVha31DPVIuc3RyaW5nMlVpbnQ4RGF0YShnKSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDg6Qz1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxCKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzLmluc3RhbmNlLl9hZGRNYXJrZXIoSSxCKSk7Y2FzZSAxNjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyxbWzUsMTFdXSl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE11bHRpTWFya2VyXFxcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGksRCxhLHc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cXFwiL211bHRpX21hcmtlcl9cXFwiK3RoaXMubXVsdGlNYXJrZXJDb3VudCsrLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKEIpO2Nhc2UgMzpyZXR1cm4gUT1BLnNlbnQsRT1SLnBhcnNlTXVsdGlGaWxlKFEpLGk9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1uZXcgVVJMKEksQikudG9TdHJpbmcoKSxBLm5leHQ9MyxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDM6Qz1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShDLEkpO2Nhc2UgNTpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLEQ9RS5tYXAoaSx0aGlzKSxBLm5leHQ9OSxQcm9taXNlLmFsbChEKTtjYXNlIDk6cmV0dXJuIGE9dGhpcy5pbnN0YW5jZS5fYWRkTXVsdGlNYXJrZXIoZyxDKSx3PXRoaXMuaW5zdGFuY2UuZ2V0TXVsdGlNYXJrZXJOdW0oZyxhKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIixbYSx3XSk7Y2FzZSAxMjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImFkZE5GVE1hcmtlclxcXCIsdmFsdWU6KEI9SShvKCkubWFyaygoZnVuY3Rpb24gQShnLEIpe3ZhciBDLFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEM9XFxcIi9tYXJrZXJORlRfXFxcIit0aGlzLm1hcmtlckNvdW50KyssUT1bXFxcImZzZXRcXFwiLFxcXCJpc2V0XFxcIixcXFwiZnNldDNcXFwiXSxFPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxRLEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1CK1xcXCIuXFxcIitJLFE9QytcXFwiLlxcXCIrSSxBLm5leHQ9NCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDQ6RT1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShFLFEpO2Nhc2UgNjpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLGk9US5tYXAoRSx0aGlzKSxBLm5leHQ9NixQcm9taXNlLmFsbChpKTtjYXNlIDY6cmV0dXJuIEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLHRoaXMuaW5zdGFuY2UuX2FkZE5GVE1hcmtlcihnLEMpKTtjYXNlIDc6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBCLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJfc3RvcmVEYXRhRmlsZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmluc3RhbmNlLkZTLndyaXRlRmlsZShJLEEse2VuY29kaW5nOlxcXCJiaW5hcnlcXFwifSl9fV0sW3trZXk6XFxcIlVOS05PV05fTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4tMX19LHtrZXk6XFxcIlBBVFRFUk5fTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH19LHtrZXk6XFxcIkJBUkNPREVfTUFSS0VSXFxcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMX19LHtrZXk6XFxcIk5GVF9NQVJLRVJcXFwiLGdldDpmdW5jdGlvbigpe3JldHVybiAyfX1dKSxBfSgpO2Z1bmN0aW9uIHkoQSxJLGcpe3JldHVybiBJIGluIEE/T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOkFbSV09ZyxBfWZ1bmN0aW9uIHQoQSxJKXt2YXIgZz1PYmplY3Qua2V5cyhBKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgQj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEEpO0kmJihCPUIuZmlsdGVyKChmdW5jdGlvbihJKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBLEkpLmVudW1lcmFibGV9KSkpLGcucHVzaC5hcHBseShnLEIpfXJldHVybiBnfWZ1bmN0aW9uIFMoQSl7Zm9yKHZhciBJPTE7STxhcmd1bWVudHMubGVuZ3RoO0krKyl7dmFyIGc9bnVsbCE9YXJndW1lbnRzW0ldP2FyZ3VtZW50c1tJXTp7fTtJJTI/dChPYmplY3QoZyksITApLmZvckVhY2goKGZ1bmN0aW9uKEkpe3koQSxJLGdbSV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEEsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZykpOnQoT2JqZWN0KGcpKS5mb3JFYWNoKChmdW5jdGlvbihJKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZyxJKSl9KSl9cmV0dXJuIEF9dmFyIE09ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKEksZyxCLFEpe0ModGhpcyxBKSx0aGlzLm9wdGlvbnM9UyhTKHt9LHtjYW52YXM6bnVsbCxvcmllbnRhdGlvbjpcXFwibGFuZHNjYXBlXFxcIn0pLFEpLHRoaXMuaWQ9LTEsdGhpcy53aWR0aD1JLHRoaXMuaGVpZ2h0PWcsdGhpcy5pbWFnZSx0aGlzLm9yaWVudGF0aW9uPXRoaXMub3B0aW9ucy5vcmllbnRhdGlvbix0aGlzLmNhbWVyYVBhcmFtPUIsdGhpcy5jYW1lcmFJZD0tMSx0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmFydG9vbGtpdCx0aGlzLmxpc3RlbmVycz17fSx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aD0xLHRoaXMucGF0dGVybk1hcmtlcnM9e30sdGhpcy5iYXJjb2RlTWFya2Vycz17fSx0aGlzLm5mdE1hcmtlcnM9e30sdGhpcy50cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDMyQXJyYXkoMTYpLHRoaXMudHJhbnNmb3JtR0xfUkg9bmV3IEZsb2F0NjRBcnJheSgxNiksdGhpcy52aWRlb1dpZHRoPUksdGhpcy52aWRlb0hlaWdodD1nLHRoaXMudmlkZW9TaXplPXRoaXMudmlkZW9XaWR0aCp0aGlzLnZpZGVvSGVpZ2h0LHRoaXMuZnJhbWVwb2ludGVyPW51bGwsdGhpcy5mcmFtZXNpemU9bnVsbCx0aGlzLmRhdGFIZWFwPW51bGwsdGhpcy52aWRlb0x1bWE9bnVsbCx0aGlzLmNhbWVyYV9tYXQ9bnVsbCx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW51bGwsdGhpcy52aWRlb0x1bWFQb2ludGVyPW51bGwsdGhpcy5vcHRpb25zLmNhbnZhcz90aGlzLmNhbnZhcz10aGlzLm9wdGlvbnMuY2FudmFzOlxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZG9jdW1lbnQmJih0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFxcXCJjYW52YXNcXFwiKSksdGhpcy5jYW52YXM/KHRoaXMuY2FudmFzLndpZHRoPUksdGhpcy5jYW52YXMuaGVpZ2h0PWcsdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dChcXFwiMmRcXFwiKSk6Y29uc29sZS53YXJuKFxcXCJObyBjYW52YXMgYXZhaWxhYmxlXFxcIiksdGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT0hMSx0aGlzLm5mdE1hcmtlckNvdW50PTAsdGhpcy5fYndwb2ludGVyPSExfXZhciBnLEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlxcXCJkaXNwb3NlXFxcIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQSBpbiB0aGlzLmNhbWVyYUlkPS0xLHRoaXMuY2FtZXJhUGFyYW09XFxcIlxcXCIsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5pZD4tMSYmdGhpcy5hcnRvb2xraXQudGVhcmRvd24odGhpcy5pZCksdGhpcy5pbWFnZSYmdGhpcy5pbWFnZS5zcmNPYmplY3QsdGhpcyl0aGlzW0FdPW51bGx9fSx7a2V5OlxcXCJwcm9jZXNzXFxcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmRldGVjdE1hcmtlcihBKTswIT1JJiZjb25zb2xlLmVycm9yKFxcXCJbQVJDb250cm9sbGVyXVxcXCIsXFxcImRldGVjdE1hcmtlciBlcnJvcjpcXFwiLEkpO3ZhciBnLEIsQz10aGlzLmdldE1hcmtlck51bSgpO2ZvcihnIGluIHRoaXMucGF0dGVybk1hcmtlcnMpKEI9dGhpcy5wYXR0ZXJuTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLmJhcmNvZGVNYXJrZXJzKShCPXRoaXMuYmFyY29kZU1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5uZnRNYXJrZXJzKShCPXRoaXMubmZ0TWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IodmFyIFE9MDtRPEM7USsrKXt2YXIgRT10aGlzLmdldE1hcmtlcihRKSxpPVUuVU5LTk9XTl9NQVJLRVIsbz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKC0xKTtFLmlkUGF0dD4tMSYmKEUuaWQ9PT1FLmlkUGF0dHx8LTE9PT1FLmlkTWF0cml4KT8obz10aGlzLnRyYWNrUGF0dGVybk1hcmtlcklkKEUuaWRQYXR0KSxpPVUuUEFUVEVSTl9NQVJLRVIsRS5kaXIhPT1FLmRpclBhdHQmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyUGF0dCkpOkUuaWRNYXRyaXg+LTEmJihvPXRoaXMudHJhY2tCYXJjb2RlTWFya2VySWQoRS5pZE1hdHJpeCksaT1VLkJBUkNPREVfTUFSS0VSLEUuZGlyIT09RS5kaXJNYXRyaXgmJnRoaXMuc2V0TWFya2VySW5mb0RpcihRLEUuZGlyTWF0cml4KSksaSE9PVUuVU5LTk9XTl9NQVJLRVImJm8uaW5QcmV2aW91cz90aGlzLmdldFRyYW5zTWF0U3F1YXJlQ29udChRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgsby5tYXRyaXgpOnRoaXMuZ2V0VHJhbnNNYXRTcXVhcmUoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4KSxvLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChvLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwiZ2V0TWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDpRLHR5cGU6aSxtYXJrZXI6RSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9dmFyIEQ9dGhpcy5uZnRNYXJrZXJDb3VudDt0aGlzLmRldGVjdE5GVE1hcmtlcigpO2Zvcih2YXIgYT0wO2E8RDthKyspe3ZhciB3PXRoaXMuZ2V0TkZUTWFya2VyKGEpLEY9VS5ORlRfTUFSS0VSO2lmKHcuZm91bmQpe3RoaXMubmZ0TWFya2VyRm91bmQ9YSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT1EYXRlLm5vdygpO3ZhciBHPXRoaXMudHJhY2tORlRNYXJrZXJJZChhKTtHLm1hdHJpeC5zZXQody5wb3NlKSxHLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChHLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwiZ2V0TkZUTWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDphLHR5cGU6RixtYXJrZXI6dyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9ZWxzZSBzZWxmLm5mdE1hcmtlckZvdW5kPT09YSYmRGF0ZS5ub3coKS10aGlzLm5mdE1hcmtlckZvdW5kVGltZT4yMDAmJih0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwibG9zdE5GVE1hcmtlclxcXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6YSx0eXBlOkYsbWFya2VyOncsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pKX1mb3IodmFyIGg9dGhpcy5nZXRNdWx0aU1hcmtlckNvdW50KCkscz0wO3M8aDtzKyspe3ZhciBSPXRoaXMuZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnQocykseT0hMTt0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0KHRoaXMuaWQscyksdGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpO2Zvcih2YXIgdD0wO3Q8Ujt0KyspaWYoKE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyx0KSkudmlzaWJsZT49MCl7eT0hMCx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XFxcImdldE11bHRpTWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pO2JyZWFrfWlmKHkpZm9yKHZhciBTPTA7UzxSO1MrKyl7dmFyIE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyxTKTt0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJnZXRNdWx0aU1hcmtlclN1YlxcXCIsdGFyZ2V0OnRoaXMsZGF0YTp7bXVsdGlNYXJrZXJJZDpzLG1hcmtlckluZGV4OlMsbWFya2VyOk0sbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfX10aGlzLl9id3BvaW50ZXImJnRoaXMuZGVidWdEcmF3KCl9fSx7a2V5OlxcXCJkZXRlY3RORlRNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuZGV0ZWN0TkZUTWFya2VyKHRoaXMuaWQpfX0se2tleTpcXFwidHJhY2tQYXR0ZXJuTWFya2VySWRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5wYXR0ZXJuTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMucGF0dGVybk1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XFxcInRyYWNrQmFyY29kZU1hcmtlcklkXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMuYmFyY29kZU1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLmJhcmNvZGVNYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlxcXCJ0cmFja05GVE1hcmtlcklkXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMubmZ0TWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMubmZ0TWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcXFwiZ2V0TXVsdGlNYXJrZXJDb3VudFxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJDb3VudCh0aGlzLmlkKX19LHtrZXk6XFxcImdldE11bHRpTWFya2VyUGF0dGVybkNvdW50XFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJOdW0odGhpcy5pZCxBKX19LHtrZXk6XFxcImFkZEV2ZW50TGlzdGVuZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5saXN0ZW5lcnNbQV18fCh0aGlzLmxpc3RlbmVyc1tBXT1bXSksdGhpcy5saXN0ZW5lcnNbQV0ucHVzaChJKX19LHtrZXk6XFxcInJlbW92ZUV2ZW50TGlzdGVuZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYodGhpcy5saXN0ZW5lcnNbQV0pe3ZhciBnPXRoaXMubGlzdGVuZXJzW0FdLmluZGV4T2YoSSk7Zz4tMSYmdGhpcy5saXN0ZW5lcnNbQV0uc3BsaWNlKGcsMSl9fX0se2tleTpcXFwiZGlzcGF0Y2hFdmVudFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy5saXN0ZW5lcnNbQS5uYW1lXTtpZihJKWZvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ10uY2FsbCh0aGlzLEEpfX0se2tleTpcXFwiZGVidWdTZXR1cFxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIGRvY3VtZW50Pyhkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSx0aGlzLnNldERlYnVnTW9kZSghMCksdGhpcy5fYndwb2ludGVyPXRoaXMuZ2V0UHJvY2Vzc2luZ0ltYWdlKCkpOmNvbnNvbGUubG9nKFxcXCJkZWJ1Z1NldHVwKCkgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgQnJvd3NlciBlbnZpcm9ubWVudHNcXFwiKX19LHtrZXk6XFxcImRlYnVnRHJhd1xcXCIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9bmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5fYndwb2ludGVyLHRoaXMuZnJhbWVzaXplKSxJPW5ldyBJbWFnZURhdGEobmV3IFVpbnQ4Q2xhbXBlZEFycmF5KHRoaXMuY2FudmFzLndpZHRoKnRoaXMuY2FudmFzLmhlaWdodCo0KSx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLGc9MCxCPTA7ZzxBLmxlbmd0aDtnKyssQis9NCl7dmFyIEM9QVtnXTtJLmRhdGFbQiswXT1DLEkuZGF0YVtCKzFdPUMsSS5kYXRhW0IrMl09QyxJLmRhdGFbQiszXT0yNTV9dGhpcy5jdHgucHV0SW1hZ2VEYXRhKEksMCwwKTtmb3IodmFyIFE9dGhpcy5nZXRNYXJrZXJOdW0oKSxFPTA7RTxRO0UrKyl0aGlzLmRyYXdEZWJ1Z01hcmtlcih0aGlzLmdldE1hcmtlcihFKSl9fSx7a2V5OlxcXCJkcmF3RGVidWdNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPUEudmVydGV4LGc9QS5wb3MsQj10aGlzLmN0eDtCLmxpbmVXaWR0aD01LEIuc3Ryb2tlU3R5bGU9XFxcInJlZFxcXCIsQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzBdWzBdLElbMF1bMV0pLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMl1bMF0sSVsyXVsxXSksQi5saW5lVG8oSVszXVswXSxJWzNdWzFdKSxCLnN0cm9rZSgpLEIuc3Ryb2tlU3R5bGU9XFxcImdyZWVuXFxcIixCLmJlZ2luUGF0aCgpLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5saW5lVG8oSVsyXVswXSxJWzJdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVszXVswXSxJWzNdWzFdKSxCLmxpbmVUbyhJWzBdWzBdLElbMF1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLmFyYyhnWzBdLGdbMV0sOCwwLDIqTWF0aC5QSSksQi5maWxsU3R5bGU9XFxcInJlZFxcXCIsQi5maWxsKCl9fSx7a2V5OlxcXCJsb2FkTWFya2VyXFxcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwibG9hZE11bHRpTWFya2VyXFxcIix2YWx1ZTooRD1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE11bHRpTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcXFwicmV0dXJuXFxcIixBLnNlbnQpO2Nhc2UgMzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJsb2FkTkZUTWFya2VyXFxcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE5GVE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gZz1BLnNlbnQsdGhpcy5uZnRNYXJrZXJDb3VudD1nKzEsQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsZyk7Y2FzZSA1OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImdldFRyYW5zTWF0U3F1YXJlXFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0U3F1YXJlKHRoaXMuaWQsQSxJKSxnLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxnfX0se2tleTpcXFwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdC5zZXQoZyksdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmVDb250KHRoaXMuaWQsQSxJKSxCLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxCfX0se2tleTpcXFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlxcXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0XFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XFxcInRyYW5zTWF0VG9HTE1hdFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBudWxsPT1JJiYoST1uZXcgRmxvYXQ2NEFycmF5KDE2KSksSVswXT1BWzBdLElbNF09QVsxXSxJWzhdPUFbMl0sSVsxMl09QVszXSxJWzFdPUFbNF0sSVs1XT1BWzVdLElbOV09QVs2XSxJWzEzXT1BWzddLElbMl09QVs4XSxJWzZdPUFbOV0sSVsxMF09QVsxMF0sSVsxNF09QVsxMV0sSVszXT0wLElbN109MCxJWzExXT0wLElbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihJWzEyXSo9ZyxJWzEzXSo9ZyxJWzE0XSo9ZyksSX19LHtrZXk6XFxcImFyZ2xDYW1lcmFWaWV3UkhmXFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7cmV0dXJuKEI9bnVsbD09ST9uZXcgRmxvYXQ2NEFycmF5KDE2KTpJKVswXT1BWzBdLEJbNF09QVs0XSxCWzhdPUFbOF0sQlsxMl09QVsxMl0sQlsxXT0tQVsxXSxCWzVdPS1BWzVdLEJbOV09LUFbOV0sQlsxM109LUFbMTNdLEJbMl09LUFbMl0sQls2XT0tQVs2XSxCWzEwXT0tQVsxMF0sQlsxNF09LUFbMTRdLEJbM109MCxCWzddPTAsQlsxMV09MCxCWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoQlsxMl0qPWcsQlsxM10qPWcsQlsxNF0qPWcpLEJ9fSx7a2V5OlxcXCJkZXRlY3RNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9jb3B5SW1hZ2VUb0hlYXAoQSk/dGhpcy5hcnRvb2xraXQuZGV0ZWN0TWFya2VyKHRoaXMuaWQpOi05OX19LHtrZXk6XFxcImdldE1hcmtlck51bVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyTnVtKHRoaXMuaWQpfX0se2tleTpcXFwiZ2V0TWFya2VyXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm1hcmtlckluZm99fSx7a2V5OlxcXCJnZXRORlRNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRORlRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQuTkZUTWFya2VySW5mb319LHtrZXk6XFxcInNldE1hcmtlckluZm9WZXJ0ZXhcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMF09SVtnXVswXSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZysxXT1JW2ddWzFdO3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvVmVydGV4KHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJjbG9uZU1hcmtlckluZm9cXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEEpKX19LHtrZXk6XFxcImdldE11bHRpRWFjaE1hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlFYWNoTWFya2VyKHRoaXMuaWQsQSxJKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb319LHtrZXk6XFxcImdldFRyYW5zZm9ybWF0aW9uTWF0cml4XFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybV9tYXR9fSx7a2V5OlxcXCJnZXRDYW1lcmFNYXRyaXhcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FtZXJhX21hdH19LHtrZXk6XFxcImdldE1hcmtlclRyYW5zZm9ybWF0aW9uTWF0cml4XFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0fX0se2tleTpcXFwic2V0RGVidWdNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0RGVidWdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXREZWJ1Z01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldERlYnVnTW9kZSh0aGlzLmlkKX19LHtrZXk6XFxcImdldFByb2Nlc3NpbmdJbWFnZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvY2Vzc2luZ0ltYWdlKHRoaXMuaWQpfX0se2tleTpcXFwic2V0TG9nTGV2ZWxcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMb2dMZXZlbChBKX19LHtrZXk6XFxcImdldExvZ0xldmVsXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMb2dMZXZlbCgpfX0se2tleTpcXFwic2V0TWFya2VySW5mb0RpclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWFya2VySW5mb0Rpcih0aGlzLmlkLEEsSSl9fSx7a2V5OlxcXCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldFByb2plY3Rpb25GYXJQbGFuZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFByb2plY3Rpb25GYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uRmFyUGxhbmUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRUaHJlc2hvbGRNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0VGhyZXNob2xkTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldFRocmVzaG9sZFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZCh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0VGhyZXNob2xkXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGQodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRNYXRyaXhDb2RlVHlwZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRNYXRyaXhDb2RlVHlwZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRMYWJlbGluZ01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRMYWJlbGluZ01vZGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldExhYmVsaW5nTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwic2V0UGF0dFJhdGlvXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dFJhdGlvKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQYXR0UmF0aW9cXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRSYXRpbyh0aGlzLmlkKX19LHtrZXk6XFxcInNldEltYWdlUHJvY01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRJbWFnZVByb2NNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwiX2luaXRpYWxpemVcXFwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSSxnPXRoaXM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsKG5ldyBVKS5pbml0KCk7Y2FzZSAyOnJldHVybiB0aGlzLmFydG9vbGtpdD1BLnNlbnQsY29uc29sZS5sb2coXFxcIltBUkNvbnRyb2xsZXJdXFxcIixcXFwiQVJUb29sa2l0IGluaXRpYWxpemVkXFxcIiksQS5uZXh0PTYsdGhpcy5hcnRvb2xraXQubG9hZENhbWVyYSh0aGlzLmNhbWVyYVBhcmFtKTtjYXNlIDY6cmV0dXJuIHRoaXMuY2FtZXJhSWQ9QS5zZW50LGNvbnNvbGUubG9nKFxcXCJbQVJDb250cm9sbGVyXVxcXCIsXFxcIkNhbWVyYSBwYXJhbXMgbG9hZGVkIHdpdGggSURcXFwiLHRoaXMuY2FtZXJhSWQpLHRoaXMuaWQ9dGhpcy5hcnRvb2xraXQuc2V0dXAodGhpcy53aWR0aCx0aGlzLmhlaWdodCx0aGlzLmNhbWVyYUlkKSxjb25zb2xlLmxvZyhcXFwiW0FSQ29udHJvbGxlcl1cXFwiLFxcXCJHb3QgSUQgZnJvbSBzZXR1cFxcXCIsdGhpcy5pZCksdGhpcy5faW5pdE5GVCgpLEk9YXJ0b29sa2l0LmZyYW1lTWFsbG9jLHRoaXMuZnJhbWVwb2ludGVyPUkuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplPUkuZnJhbWVzaXplLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1JLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5kYXRhSGVhcD1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuZnJhbWVwb2ludGVyLHRoaXMuZnJhbWVzaXplKSx0aGlzLnZpZGVvTHVtYT1uZXcgVWludDhBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMudmlkZW9MdW1hUG9pbnRlcix0aGlzLmZyYW1lc2l6ZS80KSx0aGlzLmNhbWVyYV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkuY2FtZXJhLDE2KSx0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLnRyYW5zZm9ybSwxMiksdGhpcy5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKC4xKSx0aGlzLnNldFByb2plY3Rpb25GYXJQbGFuZSgxZTMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Zy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJsb2FkXFxcIix0YXJnZXQ6Z30pfSksMSksQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsdGhpcyk7Y2FzZSAyMzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcIl9pbml0TkZUXFxcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LnNldHVwQVIyKHRoaXMuaWQpfX0se2tleTpcXFwiX2NvcHlJbWFnZVRvSGVhcFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk7aWYoQXx8KEE9dGhpcy5pbWFnZSksQS5kYXRhP0k9QS5kYXRhOih0aGlzLmN0eC5zYXZlKCksXFxcInBvcnRyYWl0XFxcIj09PXRoaXMub3JpZW50YXRpb24/dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLmhlaWdodCx0aGlzLmNhbnZhcy53aWR0aCk6dGhpcy5jdHguZHJhd0ltYWdlKEEsMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5jdHgucmVzdG9yZSgpLEk9dGhpcy5jdHguZ2V0SW1hZ2VEYXRhKDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLmRhdGEpLHRoaXMudmlkZW9MdW1hKWZvcih2YXIgZz0wLEI9MDtCPHRoaXMudmlkZW9TaXplO0IrKyl7dmFyIEM9SVtnKzBdLFE9SVtnKzFdLEU9SVtnKzJdO3RoaXMudmlkZW9MdW1hW0JdPUMrQytDK0UrUStRK1ErUT4+MyxnKz00fXJldHVybiEhdGhpcy5kYXRhSGVhcCYmKHRoaXMuZGF0YUhlYXAuc2V0KEkpLCEwKX19XSxbe2tleTpcXFwiaW5pdFdpdGhEaW1lbnNpb25zXFxcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBJKGcsQixDLFEpe3ZhciBFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIEU9bmV3IEEoZyxCLEMsUSksSS5uZXh0PTMsRS5faW5pdGlhbGl6ZSgpO2Nhc2UgMzpyZXR1cm4gSS5hYnJ1cHQoXFxcInJldHVyblxcXCIsSS5zZW50KTtjYXNlIDQ6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLGcsQyl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImluaXRXaXRoSW1hZ2VcXFwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMpe3ZhciBRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEkpe2Zvcig7Oylzd2l0Y2goSS5wcmV2PUkubmV4dCl7Y2FzZSAwOnJldHVybiBRPWcudmlkZW9XaWR0aHx8Zy53aWR0aCxFPWcudmlkZW9IZWlnaHR8fGcuaGVpZ2h0LEkubmV4dD00LEEuaW5pdFdpdGhEaW1lbnNpb25zKFEsRSxCLEMpO2Nhc2UgNDpyZXR1cm4oaT1JLnNlbnQpLmltYWdlPWcsSS5hYnJ1cHQoXFxcInJldHVyblxcXCIsaSk7Y2FzZSA3OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxCKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX1dKSxBfSgpO2NvbnN0IG49e0FSVG9vbGtpdDpVLEFSQ29udHJvbGxlcjpNfX0pKCksQi5kZWZhdWx0fSkoKX0pKTtcXG5cXG4vKioqLyB9KVxcblxcbi8qKioqKiovIFxcdH0pO1xcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxuLyoqKioqKi8gXFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxcbi8qKioqKiovIFxcdHZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqLyBcXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxcbi8qKioqKiovIFxcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcXG4vKioqKioqLyBcXHRcXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcXG4vKioqKioqLyBcXHRcXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcXG4vKioqKioqLyBcXHRcXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcXG4vKioqKioqLyBcXHRcXHRcXHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XFxuLyoqKioqKi8gXFx0XFx0fVxcbi8qKioqKiovIFxcdFxcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXFxuLyoqKioqKi8gXFx0XFx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XFxuLyoqKioqKi8gXFx0XFx0XFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxcbi8qKioqKiovIFxcdFxcdFxcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXFxuLyoqKioqKi8gXFx0XFx0XFx0ZXhwb3J0czoge31cXG4vKioqKioqLyBcXHRcXHR9O1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdFxcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdFxcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXFxuLyoqKioqKi8gXFx0XFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xcbi8qKioqKiovIFxcdH1cXG4vKioqKioqLyBcXHRcXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0ICovXFxuLyoqKioqKi8gXFx0KCgpID0+IHtcXG4vKioqKioqLyBcXHRcXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcXG4vKioqKioqLyBcXHRcXHRcXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cXG4vKioqKioqLyBcXHRcXHRcXHRcXHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcXG4vKioqKioqLyBcXHRcXHRcXHRcXHQoKSA9PiAobW9kdWxlKTtcXG4vKioqKioqLyBcXHRcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcXG4vKioqKioqLyBcXHRcXHRcXHRyZXR1cm4gZ2V0dGVyO1xcbi8qKioqKiovIFxcdFxcdH07XFxuLyoqKioqKi8gXFx0fSkoKTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqLyBcXHQvKiB3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcXG4vKioqKioqLyBcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xcbi8qKioqKiovIFxcdFxcdFxcdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcXG4vKioqKioqLyBcXHRcXHRcXHRcXHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcXG4vKioqKioqLyBcXHRcXHRcXHRcXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdH1cXG4vKioqKioqLyBcXHRcXHRcXHR9XFxuLyoqKioqKi8gXFx0XFx0fTtcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSlcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcXG4vKioqKioqLyBcXHRcXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xcbi8qKioqKiovIFxcdFxcdFxcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xcbi8qKioqKiovIFxcdFxcdFxcdH1cXG4vKioqKioqLyBcXHRcXHRcXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xcbi8qKioqKiovIFxcdFxcdH07XFxuLyoqKioqKi8gXFx0fSkoKTtcXG4vKioqKioqLyBcXHRcXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xcbnZhciBfX3dlYnBhY2tfZXhwb3J0c19fID0ge307XFxuLy8gVGhpcyBlbnRyeSBuZWVkIHRvIGJlIHdyYXBwZWQgaW4gYW4gSUlGRSBiZWNhdXNlIGl0IG5lZWQgdG8gYmUgaW4gc3RyaWN0IG1vZGUuXFxuKCgpID0+IHtcXG5cXFwidXNlIHN0cmljdFxcXCI7XFxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqISpcXFxcXFxuICAhKioqIC4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC53b3JrZXIuanMgKioqIVxcbiAgXFxcXCoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIoX193ZWJwYWNrX2V4cG9ydHNfXyk7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGpzYXJ0b29sa2l0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fKC8qISBqc2FydG9vbGtpdCAqLyBcXFwiLi9ub2RlX21vZHVsZXMvQGFyLWpzLW9yZy9hcnRvb2xraXQ1LWpzL2Rpc3QvQVJUb29sa2l0LmpzXFxcIik7XFxuLyogaGFybW9ueSBpbXBvcnQgKi8gdmFyIGpzYXJ0b29sa2l0X19XRUJQQUNLX0lNUE9SVEVEX01PRFVMRV8wX19fZGVmYXVsdCA9IC8qI19fUFVSRV9fKi9fX3dlYnBhY2tfcmVxdWlyZV9fLm4oanNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyk7XFxuLyogZXNsaW50LWVudiB3b3JrZXIgKi9cXG5cXG5jb25zdCB7IEFSVG9vbGtpdCwgQVJDb250cm9sbGVyIH0gPSAoanNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0KCkpO1xcbmNvbnN0IGFydG9vbGtpdCA9IG5ldyBBUlRvb2xraXQoKTtcXG5cXG5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZSkge1xcbiAgICB2YXIgbXNnID0gZS5kYXRhO1xcbiAgICBzd2l0Y2ggKG1zZy50eXBlKSB7XFxuICAgICAgICBjYXNlIFxcXCJpbml0XFxcIjoge1xcbiAgICAgICAgICAgIGxvYWQobXNnKTtcXG4gICAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuICAgICAgICBjYXNlIFxcXCJwcm9jZXNzXFxcIjoge1xcbiAgICAgICAgICAgIG5leHQgPSBtc2cuaW1hZ2VkYXRhO1xcbiAgICAgICAgICAgIHByb2Nlc3MoKTtcXG4gICAgICAgICAgICByZXR1cm47XFxuICAgICAgICB9XFxuICAgIH1cXG59O1xcblxcbnZhciBuZXh0ID0gbnVsbDtcXG5cXG52YXIgYXIgPSBudWxsO1xcbnZhciBtYXJrZXJSZXN1bHQgPSBudWxsO1xcblxcbmZ1bmN0aW9uIGxvYWQobXNnKSB7XFxuICAgIHZhciBjYW1VcmwsIG5mdE1hcmtlclVybDtcXG4gICAgdmFyIGJhc2VQYXRoID0gc2VsZi5vcmlnaW47XFxuICAgIGNvbnNvbGUubG9nKCdiYXNlIHBhdGg6JywgYmFzZVBhdGgpO1xcbiAgICAvLyB0ZXN0IGlmIHRoZSBtc2cucGFyYW0gKHRoZSBpbmNvbWluZyB1cmwpIGlzIGFuIGh0dHAgb3IgaHR0cHMgcGF0aFxcbiAgICB2YXIgcmVnZXhDID0gL2h0dHBzPzpcXFxcL1xcXFwvKHd3d1xcXFwuKT9bLWEtekEtWjAtOUA6JS5fXFxcXCt+Iz1dezIsMjU2fVxcXFwuW2Etel17Miw2fVxcXFxiKFstYS16QS1aMC05QDolX1xcXFwrLn4jKCk/Ji8vPV0qKS9pZ21cXG4gICAgdmFyIHJlQyA9IHJlZ2V4Qy50ZXN0KG1zZy5wYXJhbSk7XFxuICAgIGlmIChyZUMgPT0gdHJ1ZSkge1xcbiAgICAgICAgY2FtVXJsID0gbXNnLnBhcmFtO1xcbiAgICB9IGVsc2UgaWYgKHJlQyA9PSBmYWxzZSkge1xcbiAgICAgICAgY2FtVXJsID0gYmFzZVBhdGggKyAnLycgKyBtc2cucGFyYW07XFxuICAgIH1cXG4gICAgdmFyIG9uTG9hZCA9IGZ1bmN0aW9uIChhckNvbnRyb2xsZXIpIHtcXG4gICAgICAgIGFyID0gYXJDb250cm9sbGVyO1xcbiAgICAgICAgdmFyIGNhbWVyYU1hdHJpeCA9IGFyLmdldENhbWVyYU1hdHJpeCgpO1xcblxcbiAgICAgICAgLy8gYWZ0ZXIgdGhlIEFSQ29udHJvbGxlciBpcyBzZXQgdXAsIHdlIGxvYWQgdGhlIE5GVCBNYXJrZXJcXG4gICAgICAgIHZhciByZWdleE0gPSAvaHR0cHM/OlxcXFwvXFxcXC8od3d3XFxcXC4pP1stYS16QS1aMC05QDolLl9cXFxcK34jPV17MiwyNTZ9XFxcXC5bYS16XXsyLDZ9XFxcXGIoWy1hLXpBLVowLTlAOiVfXFxcXCsufiMoKT8mLy89XSopL2lnbVxcbiAgICAgICAgdmFyIHJlTSA9IHJlZ2V4TS50ZXN0KG1zZy5tYXJrZXIpO1xcbiAgICAgICAgaWYgKHJlTSA9PSB0cnVlKSB7XFxuICAgICAgICAgICAgbmZ0TWFya2VyVXJsID0gbXNnLm1hcmtlcjtcXG4gICAgICAgIH0gZWxzZSBpZiAocmVNID09IGZhbHNlKSB7XFxuICAgICAgICAgICAgbmZ0TWFya2VyVXJsID0gYmFzZVBhdGggKyAnLycgKyBtc2cubWFya2VyO1xcbiAgICAgICAgfVxcbiAgICAgICAgYXIubG9hZE5GVE1hcmtlcihuZnRNYXJrZXJVcmwpLnRoZW4oZnVuY3Rpb24gKG1hcmtlcklkKSB7XFxuICAgICAgICAgICAgYXIudHJhY2tORlRNYXJrZXJJZChtYXJrZXJJZCk7XFxuICAgICAgICAgICAgcG9zdE1lc3NhZ2UoeyB0eXBlOiAnZW5kTG9hZGluZycgfSlcXG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnIpIHtcXG4gICAgICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgaW4gbG9hZGluZyBtYXJrZXIgb24gV29ya2VyJywgZXJyKVxcbiAgICAgICAgfSk7XFxuXFxuICAgICAgICAvLyAuLi5hbmQgd2UgbGlzdGVuIGZvciBldmVudCB3aGVuIG1hcmtlciBoYXMgYmVlbiBmb3VuZCBmcm9tIGNhbWVyYVxcbiAgICAgICAgYXIuYWRkRXZlbnRMaXN0ZW5lcignZ2V0TkZUTWFya2VyJywgZnVuY3Rpb24gKGV2KSB7XFxuICAgICAgICAgICAgLy8gbGV0IEFSLmpzIGtub3cgdGhhdCBhIE5GVCBtYXJrZXIgaGFzIGJlZW4gZm91bmQsIHdpdGggaXRzIG1hdHJpeCBmb3IgcG9zaXRpb25pbmdcXG4gICAgICAgICAgICBtYXJrZXJSZXN1bHQgPSB7XFxuICAgICAgICAgICAgICAgIHR5cGU6ICdmb3VuZCcsXFxuICAgICAgICAgICAgICAgIG1hdHJpeDogSlNPTi5zdHJpbmdpZnkoZXYuZGF0YS5tYXRyaXgpLFxcbiAgICAgICAgICAgIH07XFxuICAgICAgICB9KTtcXG5cXG4gICAgICAgIHBvc3RNZXNzYWdlKHsgdHlwZTogXFxcImxvYWRlZFxcXCIsIHByb2o6IEpTT04uc3RyaW5naWZ5KGNhbWVyYU1hdHJpeCkgfSk7XFxuICAgIH07XFxuXFxuICAgIHZhciBvbkVycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XFxuICAgICAgICBjb25zb2xlLmVycm9yKFxcXCJFcnJvciB3aGlsZSBpbnRpemFsaXppbmcgYXJDb250cm9sbGVyXFxcIiwgZXJyb3IpO1xcbiAgICB9O1xcblxcbiAgICBhcnRvb2xraXQuaW5pdCgpLnRoZW4oXyA9PiB7XFxuICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhtc2cucHcsIG1zZy5waCwgY2FtVXJsKS50aGVuKG9uTG9hZCkuY2F0Y2gob25FcnJvcik7XFxuICAgIH0pO1xcbn1cXG5cXG5mdW5jdGlvbiBwcm9jZXNzKCkge1xcbiAgICBtYXJrZXJSZXN1bHQgPSBudWxsO1xcblxcbiAgICBpZiAoYXIgJiYgYXIucHJvY2Vzcykge1xcbiAgICAgICAgYXIucHJvY2VzcyhuZXh0KTtcXG4gICAgfVxcblxcbiAgICBpZiAobWFya2VyUmVzdWx0KSB7XFxuICAgICAgICBwb3N0TWVzc2FnZShtYXJrZXJSZXN1bHQpO1xcbiAgICB9IGVsc2Uge1xcbiAgICAgICAgcG9zdE1lc3NhZ2Uoe1xcbiAgICAgICAgICAgIHR5cGU6IFxcXCJub3QgZm91bmRcXFwiLFxcbiAgICAgICAgfSk7XFxuICAgIH1cXG4gICAgbmV4dCA9IG51bGw7XFxufVxcblxcbn0pKCk7XFxuXFxuLyoqKioqKi8gfSkoKVxcbjtcXG5cIiwgXCJXb3JrZXJcIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQpO1xufVxuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGVzbGludC1lbnYgYnJvd3NlciAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiwgbm8tdXNlLWJlZm9yZS1kZWZpbmUsIG5ldy1jYXAgKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGNvbnRlbnQsIHdvcmtlckNvbnN0cnVjdG9yLCB3b3JrZXJPcHRpb25zLCB1cmwpIHtcbiAgdmFyIGdsb2JhbFNjb3BlID0gc2VsZiB8fCB3aW5kb3c7XG5cbiAgdHJ5IHtcbiAgICB0cnkge1xuICAgICAgdmFyIGJsb2I7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIE5ldyBBUElcbiAgICAgICAgYmxvYiA9IG5ldyBnbG9iYWxTY29wZS5CbG9iKFtjb250ZW50XSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEJsb2JCdWlsZGVyID0gRGVwcmVjYXRlZCwgYnV0IHdpZGVseSBpbXBsZW1lbnRlZFxuICAgICAgICB2YXIgQmxvYkJ1aWxkZXIgPSBnbG9iYWxTY29wZS5CbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5XZWJLaXRCbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5Nb3pCbG9iQnVpbGRlciB8fCBnbG9iYWxTY29wZS5NU0Jsb2JCdWlsZGVyO1xuICAgICAgICBibG9iID0gbmV3IEJsb2JCdWlsZGVyKCk7XG4gICAgICAgIGJsb2IuYXBwZW5kKGNvbnRlbnQpO1xuICAgICAgICBibG9iID0gYmxvYi5nZXRCbG9iKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBVUkwgPSBnbG9iYWxTY29wZS5VUkwgfHwgZ2xvYmFsU2NvcGUud2Via2l0VVJMO1xuICAgICAgdmFyIG9iamVjdFVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICB2YXIgd29ya2VyID0gbmV3IGdsb2JhbFNjb3BlW3dvcmtlckNvbnN0cnVjdG9yXShvYmplY3RVUkwsIHdvcmtlck9wdGlvbnMpO1xuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVUkwpO1xuICAgICAgcmV0dXJuIHdvcmtlcjtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IGdsb2JhbFNjb3BlW3dvcmtlckNvbnN0cnVjdG9yXShcImRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlwdCxcIi5jb25jYXQoZW5jb2RlVVJJQ29tcG9uZW50KGNvbnRlbnQpKSwgd29ya2VyT3B0aW9ucyk7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCF1cmwpIHtcbiAgICAgIHRocm93IEVycm9yKFwiSW5saW5lIHdvcmtlciBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgZ2xvYmFsU2NvcGVbd29ya2VyQ29uc3RydWN0b3JdKHVybCwgd29ya2VyT3B0aW9ucyk7XG4gIH1cbn07IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMnO1xuaW1wb3J0IEFyTXVsdGlNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5cbmNvbnN0IE1hcmtlcnNBcmVhQ29udHJvbHMgPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHRpZiggYXJndW1lbnRzLmxlbmd0aCA+IDMgKVx0Y29uc29sZS5hc3NlcnQoJ3dyb25nIGFwaSBmb3InLCBNYXJrZXJzQXJlYUNvbnRyb2xzKVxuXG5cdC8vIGhhdmUgYSBwYXJhbWV0ZXJzIGluIGFyZ3VtZW50XG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBsaXN0IG9mIGNvbnRyb2xzIGZvciBlYWNoIHN1Yk1hcmtlclxuXHRcdHN1Yk1hcmtlcnNDb250cm9sczogcGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMsXG5cdFx0Ly8gbGlzdCBvZiBwb3NlIGZvciBlYWNoIHN1Yk1hcmtlciByZWxhdGl2ZSB0byB0aGUgb3JpZ2luXG5cdFx0c3ViTWFya2VyUG9zZXM6IHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMsXG5cdFx0Ly8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuXHRcdGNoYW5nZU1hdHJpeE1vZGUgOiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgIT09IHVuZGVmaW5lZCA/IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHR9XG5cdFxuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHQvLyBob25vciBvYnNvbGV0ZSBzdHVmZiAtIGFkZCBhIHdhcm5pbmcgdG8gdXNlXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9sc1xuXHR0aGlzLnN1Yk1hcmtlclBvc2VzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzXG5cblx0Ly8gbGlzdGVuIHRvIGFyVG9vbGtpdENvbnRleHQgZXZlbnQgJ3NvdXJjZVByb2Nlc3NlZCdcblx0Ly8gLSBhZnRlciB3ZSBmdWxseSBwcm9jZXNzZWQgb25lIGltYWdlLCBha2Egd2hlbiB3ZSBrbm93IGFsbCBkZXRlY3RlZCBwb3NlcyBpbiBpdFxuXHRhclRvb2xraXRDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ3NvdXJjZVByb2Nlc3NlZCcsIGZ1bmN0aW9uKCl7XG5cdFx0X3RoaXMuX29uU291cmNlUHJvY2Vzc2VkKClcblx0fSlcbn1cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2Vyc0FyZWFDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBpbWFnZSBzb3VyY2UgaXMgZnVsbHkgcHJvY2Vzc2VkXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLl9vblNvdXJjZVByb2Nlc3NlZCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50OiAwLFxuXHRcdHBvc2l0aW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0fSxcblx0XHRxdWF0ZXJuaW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdH0sXG5cdFx0c2NhbGUgOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHR9XG5cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IF90aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLm9iamVjdDNkLnF1YXRlcm5pb25cblxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHRcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdC8vIGlmIHRoaXMgbWFya2VyIGlzIG5vdCB2aXNpYmxlLCBpZ25vcmUgaXRcblx0XHRpZiggbWFya2VyT2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHQvLyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggb2YgdGhpcy5vYmplY3QzZCBhY2NvcmRpbmcgdG8gdGhpcyBzdWItbWFya2Vyc1xuXHRcdHZhciBtYXRyaXggPSBtYXJrZXJPYmplY3QzZC5tYXRyaXguY2xvbmUoKVxuXHRcdHZhciBtYXJrZXJQb3NlID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlc1ttYXJrZXJJbmRleF1cblx0XHRtYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG1hcmtlclBvc2UpKVxuXG5cdFx0Ly8gZGVjb21wb3NlIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHRcdHZhciBzY2FsZSA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0bWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblxuXHQvLyBob25vciBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHR9ZWxzZXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0fVxuXG5cdC8vIGlmIGF0IGxlYXN0IG9uZSBzdWItbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkLCBtYWtlIHRoZSBhdmVyYWdlIG9mIGFsbCBkZXRlY3RlZCBtYXJrZXJzXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHQvLyBjb21wdXRlIG1vZGVsVmlld01hdHJpeFxuXHRcdHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG5cdFx0bW9kZWxWaWV3TWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdFx0Ly8gY2hhbmdlIF90aGlzLm9iamVjdDNkLm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0XHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmdldEludmVyc2UoIG1vZGVsVmlld01hdHJpeCApXG5cdFx0fWVsc2Uge1xuXHRcdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdFx0fVxuXG5cdFx0Ly8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5kZWNvbXBvc2UoX3RoaXMub2JqZWN0M2QucG9zaXRpb24sIF90aGlzLm9iamVjdDNkLnF1YXRlcm5pb24sIF90aGlzLm9iamVjdDNkLnNjYWxlKVxuXHR9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24gPSBmdW5jdGlvbihxdWF0ZXJuaW9uU3VtLCBuZXdRdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIGNvdW50LCBxdWF0ZXJuaW9uQXZlcmFnZSl7XG5cdHF1YXRlcm5pb25BdmVyYWdlID0gcXVhdGVybmlvbkF2ZXJhZ2UgfHwgbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHQvLyBzYW5pdHkgY2hlY2tcblx0Y29uc29sZS5hc3NlcnQoZmlyc3RRdWF0ZXJuaW9uIGluc3RhbmNlb2YgVEhSRUUuUXVhdGVybmlvbiA9PT0gdHJ1ZSlcblx0XG5cdC8vIGZyb20gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRpZiggbmV3UXVhdGVybmlvbi5kb3QoZmlyc3RRdWF0ZXJuaW9uKSA+IDAgKXtcblx0XHRuZXdRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oLW5ld1F1YXRlcm5pb24ueCwgLW5ld1F1YXRlcm5pb24ueSwgLW5ld1F1YXRlcm5pb24ueiwgLW5ld1F1YXRlcm5pb24udylcblx0fVxuXG5cdHF1YXRlcm5pb25TdW0ueCArPSBuZXdRdWF0ZXJuaW9uLnhcblx0cXVhdGVybmlvblN1bS55ICs9IG5ld1F1YXRlcm5pb24ueVxuXHRxdWF0ZXJuaW9uU3VtLnogKz0gbmV3UXVhdGVybmlvbi56XG5cdHF1YXRlcm5pb25TdW0udyArPSBuZXdRdWF0ZXJuaW9uLndcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLnggPSBxdWF0ZXJuaW9uU3VtLngvY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueSA9IHF1YXRlcm5pb25TdW0ueS9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS56ID0gcXVhdGVybmlvblN1bS56L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLncgPSBxdWF0ZXJuaW9uU3VtLncvY291bnRcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLm5vcm1hbGl6ZSgpXG5cblx0cmV0dXJuIHF1YXRlcm5pb25BdmVyYWdlXG59XG5cblxuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyA9IGZ1bmN0aW9uKHZlY3RvcjNTdW0sIHZlY3RvcjMsIGNvdW50LCB2ZWN0b3IzQXZlcmFnZSl7XG5cdHZlY3RvcjNBdmVyYWdlID0gdmVjdG9yM0F2ZXJhZ2UgfHwgbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHRcblx0dmVjdG9yM1N1bS54ICs9IHZlY3RvcjMueFxuXHR2ZWN0b3IzU3VtLnkgKz0gdmVjdG9yMy55XG5cdHZlY3RvcjNTdW0ueiArPSB2ZWN0b3IzLnpcblx0XG5cdHZlY3RvcjNBdmVyYWdlLnggPSB2ZWN0b3IzU3VtLnggLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS55ID0gdmVjdG9yM1N1bS55IC8gY291bnRcblx0dmVjdG9yM0F2ZXJhZ2UueiA9IHZlY3RvcjNTdW0ueiAvIGNvdW50XG5cdFxuXHRyZXR1cm4gdmVjdG9yM0F2ZXJhZ2Vcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBjb21wdXRlIHRoZSBjZW50ZXIgb2YgdGhpcyBtdWx0aW1hcmtlciBmaWxlXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUNlbnRlciA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBzdGF0cyA9IHtcblx0XHRjb3VudCA6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdH1cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkgLy8gRklYTUUgPz8/XG5cdFxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cdFx0XG5cdFx0Ly8gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRcdHN0YXRzLmNvdW50KytcblxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMucG9zaXRpb24uc3VtLCBwb3NpdGlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbihzdGF0cy5xdWF0ZXJuaW9uLnN1bSwgcXVhdGVybmlvbiwgZmlyc3RRdWF0ZXJuaW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMuc2NhbGUuc3VtLCBzY2FsZSwgc3RhdHMuY291bnQsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdH0pXG5cdFxuXHR2YXIgYXZlcmFnZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0YXZlcmFnZU1hdHJpeC5jb21wb3NlKHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblxuXHRyZXR1cm4gYXZlcmFnZU1hdHJpeFxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmNvbXB1dGVCb3VuZGluZ0JveCA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBib3VuZGluZ0JveCA9IG5ldyBUSFJFRS5Cb3gzKClcblxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHRib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KHBvc2l0aW9uKVxuXHR9KVxuXG5cdHJldHVybiBib3VuZGluZ0JveFxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGVTbW9vdGhlZENvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUudXBkYXRlU21vb3RoZWRDb250cm9scyA9IGZ1bmN0aW9uKHNtb290aGVkQ29udHJvbHMsIGxlcnBzVmFsdWVzKXtcblx0Ly8gaGFuZGxlIGRlZmF1bHQgdmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlcyA9PT0gdW5kZWZpbmVkICl7XG5cdFx0Ly8gRklYTUUgdGhpcyBwYXJhbWV0ZXIgZm9ybWF0IGlzIHVzZWxlc3NseSBjcnlwdGljXG5cdFx0Ly8gbGVycFZhbHVlcyA9IFtcblx0XHQvLyB7bGVycFBvc2l0aW9uOiAwLjUsIGxlcnBRdWF0ZXJuaW9uOiAwLjIsIGxlcnBRdWF0ZXJuaW9uOiAwLjd9XG5cdFx0Ly8gXVxuXHRcdGxlcnBzVmFsdWVzID0gW1xuXHRcdFx0WzAuMysuMSwgMC4xLCAwLjNdLFxuXHRcdFx0WzAuNCsuMSwgMC4xLCAwLjRdLFxuXHRcdFx0WzAuNCsuMSwgMC4yLCAwLjVdLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdF1cblx0fVxuXHQvLyBjb3VudCBob3cgbWFueSBzdWJNYXJrZXJzQ29udHJvbHMgYXJlIHZpc2libGVcblx0dmFyIG5WaXNpYmxlID0gMFxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSB0cnVlIClcdG5WaXNpYmxlICsrXG5cdH0pXG5cblx0Ly8gZmluZCB0aGUgZ29vZCBsZXJwVmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXSAhPT0gdW5kZWZpbmVkICl7XG5cdFx0dmFyIGxlcnBWYWx1ZXMgPSBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXVxuXHR9ZWxzZXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW2xlcnBzVmFsdWVzLmxlbmd0aC0xXVxuXHR9XG5cblx0Ly8gbW9kaWZ5IGxlcnBWYWx1ZXMgaW4gc21vb3RoZWRDb250cm9sc1xuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFBvc2l0aW9uID0gbGVycFZhbHVlc1swXVxuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24gPSBsZXJwVmFsdWVzWzFdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwU2NhbGUgPSBsZXJwVmFsdWVzWzJdXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDcmVhdGUgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gSlNPTlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuZnJvbUpTT04gPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBwYXJlbnQzRCwgbWFya2VyUm9vdCwganNvbkRhdGEsIHBhcmFtZXRlcnMpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0Ly8gZGVjbGFyZSB2YXJpYWJsZXNcblx0dmFyIHN1Yk1hcmtlcnNDb250cm9scyA9IFtdXG5cdHZhciBzdWJNYXJrZXJQb3NlcyA9IFtdXG5cdC8vIGhhbmRsZSBkZWZhdWx0IGFyZ3VtZW50c1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXG5cdC8vIHByZXBhcmUgdGhlIHBhcmFtZXRlcnNcblx0bXVsdGlNYXJrZXJGaWxlLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xuXHRcdC8vIGNyZWF0ZSBhIG1hcmtlclJvb3Rcblx0XHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpXG5cdFx0cGFyZW50M0QuYWRkKG1hcmtlclJvb3QpXG5cblx0XHQvLyBjcmVhdGUgbWFya2VyQ29udHJvbHMgZm9yIG91ciBtYXJrZXJSb290XG5cdFx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gbmV3IEFyTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgaXRlbS5wYXJhbWV0ZXJzKVxuXG4vLyBpZiggdHJ1ZSApe1xuXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0c3ViTWFya2VyUG9zZXMucHVzaChuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpKVx0XG4vLyB9ZWxzZXtcbi8vIFx0XHQvLyBidWlsZCBhIHNtb290aGVkQ29udHJvbHNcbi8vIFx0XHR2YXIgc21vb3RoZWRSb290ID0gbmV3IFRIUkVFLkdyb3VwKClcbi8vIFx0XHRwYXJlbnQzRC5hZGQoc21vb3RoZWRSb290KVxuLy8gXHRcdHZhciBzbW9vdGhlZENvbnRyb2xzID0gbmV3IFRIUkVFeC5BclNtb290aGVkQ29udHJvbHMoc21vb3RoZWRSb290LCB7XG4vLyBcdFx0XHRsZXJwUG9zaXRpb24gOiAwLjEsXG4vLyBcdFx0XHRsZXJwUXVhdGVybmlvbiA6IDAuMSwgXG4vLyBcdFx0XHRsZXJwU2NhbGUgOiAwLjEsXG4vLyBcdFx0XHRtaW5WaXNpYmxlRGVsYXk6IDAsXG4vLyBcdFx0XHRtaW5VbnZpc2libGVEZWxheTogMCxcbi8vIFx0XHR9KVxuLy8gXHRcdG9uUmVuZGVyRmN0cy5wdXNoKGZ1bmN0aW9uKGRlbHRhKXtcbi8vIFx0XHRcdHNtb290aGVkQ29udHJvbHMudXBkYXRlKG1hcmtlclJvb3QpXHQvLyBUT0RPIHRoaXMgaXMgYSBnbG9iYWxcbi8vIFx0XHR9KVxuLy8gXHRcbi8vIFxuLy8gXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG4vLyBcdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc21vb3RoZWRDb250cm9scylcbi8vIFx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXG4vLyB9XG5cdH0pXG5cdFxuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyA9IHN1Yk1hcmtlcnNDb250cm9sc1xuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzID0gc3ViTWFya2VyUG9zZXNcblx0Ly8gY3JlYXRlIGEgbmV3IEFyTXVsdGlNYXJrZXJDb250cm9sc1xuXHR2YXIgbXVsdGlNYXJrZXJDb250cm9scyA9IG5ldyBBck11bHRpTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgcGFyYW1ldGVycylcblxuXHQvLyByZXR1cm4gaXRcblx0cmV0dXJuIG11bHRpTWFya2VyQ29udHJvbHNcdFxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJzQXJlYUNvbnRyb2xzOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL3RocmVleC9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbmNvbnN0IE1hcmtlcnNBcmVhVXRpbHMgPSB7fTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRuYXZpZ2F0ZVRvTGVhcm5lclBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBtdWx0aS1tYXJrZXIgbGVhcm5lciBwYWdlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGxlYXJuZXJCYXNlVVJMICAtIHRoZSBiYXNlIHVybCBmb3IgdGhlIGxlYXJuZXJcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5uYXZpZ2F0ZVRvTGVhcm5lclBhZ2UgPSBmdW5jdGlvbihsZWFybmVyQmFzZVVSTCwgdHJhY2tpbmdCYWNrZW5kKXtcblx0dmFyIGxlYXJuZXJQYXJhbWV0ZXJzID0ge1xuXHRcdGJhY2tVUkwgOiBsb2NhdGlvbi5ocmVmLFxuXHRcdHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnM6IE1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnModHJhY2tpbmdCYWNrZW5kKSxcblx0fVxuXHRsb2NhdGlvbi5ocmVmID0gbGVhcm5lckJhc2VVUkwgKyAnPycgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobGVhcm5lclBhcmFtZXRlcnMpKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdERlZmF1bHRNdWx0aU1hcmtlckZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgc3RvcmUgYSBkZWZhdWx0IG11bHRpLW1hcmtlciBmaWxlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdHZhciBmaWxlID0gTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlKHRyYWNraW5nQmFja2VuZClcblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoZmlsZSkpXG59XG5cblxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgbXVsdGktbWFya2VyIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSBqc29uIG9iamVjdCBvZiB0aGUgbXVsdGktbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0Y29uc29sZS5hc3NlcnQodHJhY2tpbmdCYWNrZW5kKVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSB1bmRlZmluZWQgKVx0ZGVidWdnZXJcblxuXHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblx0Ly8gY3JlYXRlIHRoZSBiYXNlIGZpbGVcblx0dmFyIGZpbGUgPSB7XG5cdFx0bWV0YSA6IHtcblx0XHRcdGNyZWF0ZWRCeSA6ICdBUi5qcyAnICsgQ29udGV4dC5SRVZJU0lPTiArICcgLSBEZWZhdWx0IE1hcmtlcicsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi4gYmVpbmcgZmlsbGVkXG5cdFx0XVxuXHR9XG5cdC8vIGFkZCBhIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXSA9IHtcblx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRwb3NlTWF0cml4OiBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbigwLDAsIDApLnRvQXJyYXkoKSxcblx0fVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMucGF0dGVyblVybCA9IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCdcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdHJldHVybiBmaWxlXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Y3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY29udHJvbHMgcGFyYW1ldGVycyBmb3IgdGhlIG11bHRpLW1hcmtlciBsZWFybmVyXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIGpzb24gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xzIHBhcmFtZXRlcnNcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gcGF0dGVybiBoaXJvL2thbmppL2EvYi9jL2Zcblx0XHR2YXIgbWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IFtcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4ta2FuamkucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckMucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyRi5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblx0cmV0dXJuIG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZ2VuZXJhdGUgYXJlYUZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKSB7XG5cdC8vIGdlbmVyYXRlIGFyZWFGaWxlXG5cdHZhciBhcmVhRmlsZSA9IHRoaXMuYnVpbGRNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSClcblx0Ly8gc3RvcmUgYXJlYUZpbGUgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoYXJlYUZpbGUpKVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYVV0aWxzLmJ1aWxkTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24gPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSCl7XG5cdC8vIGNyZWF0ZSB0aGUgYmFzZSBmaWxlXG5cdHZhciBmaWxlID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiAnQVIuanMgLSBBdWdtZW50ZWQgV2Vic2l0ZScsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi5cblx0XHRdXG5cdH1cblxuXHR2YXIgd2hpdGVNYXJnaW4gPSAwLjFcblx0aWYoIHJlc29sdXRpb25XID4gcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbkhcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XIDwgcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbldcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XID09PSByZXNvbHV0aW9uSCApe1xuXHRcdC8vIHNwZWNpZmljIGZvciB0d2l0dGVyIHBsYXllciAtIGh0dHBzOi8vZGV2LnR3aXR0ZXIuY29tL2NhcmRzL3R5cGVzL3BsYXllclxuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjMzICogcmVzb2x1dGlvbldcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY29uc29sZS53YXJuKCd1c2luZyBuZXcgbWFya2VySW1hZ2VTaXplIGNvbXB1dGF0aW9uJylcblx0dmFyIGFjdHVhbE1hcmtlclNpemUgPSBtYXJrZXJJbWFnZVNpemUgKiAoMSAtIDIqd2hpdGVNYXJnaW4pXG5cblx0dmFyIGRlbHRhWCA9IChyZXNvbHV0aW9uVyAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblx0dmFyIGRlbHRhWiA9IChyZXNvbHV0aW9uSCAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdjZW50ZXInLCAwLCAwKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcGxlZnQnLCAtZGVsdGFYLCAtZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcHJpZ2h0JywgK2RlbHRhWCwgLWRlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21sZWZ0JywgLWRlbHRhWCwgK2RlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21yaWdodCcsICtkZWx0YVgsICtkZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0cmV0dXJuIGZpbGVcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0Q29kZSBTZXBhcmF0b3Jcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0ZnVuY3Rpb24gYnVpbGRTdWJNYXJrZXJDb250cm9scyhsYXlvdXQsIHBvc2l0aW9uWCwgcG9zaXRpb25aKXtcblx0XHRjb25zb2xlLmxvZygnYnVpbGRTdWJNYXJrZXJDb250cm9scycsIGxheW91dCwgcG9zaXRpb25YLCBwb3NpdGlvblopXG5cdFx0Ly8gY3JlYXRlIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRcdHZhciBzdWJNYXJrZXJzQ29udHJvbHMgPSB7XG5cdFx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRcdHBvc2VNYXRyaXg6IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKHBvc2l0aW9uWCwwLCBwb3NpdGlvblopLnRvQXJyYXkoKSxcblx0XHR9XG5cdFx0Ly8gZmlsbCB0aGUgcGFyYW1ldGVyc1xuXHRcdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0XHRsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChzdWJNYXJrZXJzQ29udHJvbHMucGFyYW1ldGVycywgbGF5b3V0KVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHRcdC8vIHJldHVybiBzdWJNYXJrZXJzQ29udHJvbHNcblx0XHRyZXR1cm4gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdH1cblxuXHRmdW5jdGlvbiBsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChwYXJhbWV0ZXJzLCBsYXlvdXQpe1xuXHRcdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0XHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRcdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHRcdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXHRcdHZhciBsYXlvdXQyUGF0dGVyblVybCA9IHtcblx0XHRcdCdjZW50ZXInIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnKSxcblx0XHRcdCd0b3BsZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0JyksXG5cdFx0XHQndG9wcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnKSxcblx0XHRcdCdib3R0b21sZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQy5wYXR0JyksXG5cdFx0XHQnYm90dG9tcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJGLnBhdHQnKSxcblx0XHR9XG5cdFx0Y29uc29sZS5hc3NlcnQobGF5b3V0MlBhdHRlcm5VcmxbbGF5b3V0XSAhPT0gdW5kZWZpbmVkIClcblx0XHRwYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcblx0XHRwYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBsYXlvdXQyUGF0dGVyblVybFtsYXlvdXRdXG5cdFx0cmV0dXJuXG5cdFx0ZnVuY3Rpb24gY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShyZWxhdGl2ZVVybCl7XG5cdFx0XHR2YXIgdG1wTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblx0XHRcdHRtcExpbmsuaHJlZiA9IHJlbGF0aXZlVXJsXG5cdFx0XHRyZXR1cm4gdG1wTGluay5ocmVmXG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICd0aHJlZXhBcm1hcmtlcmNvbnRyb2xzJzsgLy8gQWxpYXMgZm9yIGR5bmFtaWMgaW1wb3J0aW5nXG5pbXBvcnQgQXJNYXJrZXJIZWxwZXIgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlcic7XG5pbXBvcnQgQXJTbW9vdGhlZENvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzJztcbmltcG9ydCBNYXJrZXJzQXJlYUNvbnRyb2xzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMnO1xuaW1wb3J0IE1hcmtlcnNBcmVhVXRpbHMgZnJvbSAnLi4vbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscyc7XG5cbi8vIFRPRE8gdGhpcyBpcyBhIGNvbnRyb2xzLi4uIHNob3VsZCBpIGdpdmUgdGhlIG9iamVjdDNkIGhlcmUgP1xuLy8gbm90IGFjY29yZGluZyB0byAnbm8gdGhyZWUuanMgZGVwZW5kYW5jeSdcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBBbmNob3IgPSBmdW5jdGlvbihhclNlc3Npb24sIG1hcmtlclBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdHZhciBhckNvbnRleHQgPSBhclNlc3Npb24uYXJDb250ZXh0XG5cdHZhciBzY2VuZSA9IGFyU2Vzc2lvbi5wYXJhbWV0ZXJzLnNjZW5lXG5cdHZhciBjYW1lcmEgPSBhclNlc3Npb24ucGFyYW1ldGVycy5jYW1lcmFcblxuXHR0aGlzLmFyU2Vzc2lvbiA9IGFyU2Vzc2lvblxuXHR0aGlzLnBhcmFtZXRlcnMgPSBtYXJrZXJQYXJhbWV0ZXJzXG5cblx0Ly8gbG9nIHRvIGRlYnVnXG5cdGNvbnNvbGUubG9nKCdBUmpzLkFuY2hvciAtJywgJ2NoYW5nZU1hdHJpeE1vZGU6JywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUsICcvIG1hcmtlcnNBcmVhRW5hYmxlZDonLCBtYXJrZXJQYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZClcblxuXHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5Hcm91cCgpXG5cdHNjZW5lLmFkZChtYXJrZXJSb290KVxuXG5cdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBtYXJrZXJSb290XG5cdH1lbHNlIGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBjYW1lcmFcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0aWYoIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID09PSBmYWxzZSApe1xuXHRcdHZhciBtYXJrZXJDb250cm9scyA9IG5ldyBBck1hcmtlckNvbnRyb2xzKGFyQ29udGV4dCwgY29udHJvbGxlZE9iamVjdCwgbWFya2VyUGFyYW1ldGVycylcblx0XHR0aGlzLmNvbnRyb2xzID0gbWFya2VyQ29udHJvbHNcblx0fWVsc2V7XG5cdFx0Ly8gc2FuaXR5IGNoZWNrIC0gTVVTVCBiZSBhIHRyYWNraW5nQmFja2VuZCB3aXRoIG1hcmtlcnNcblx0XHRjb25zb2xlLmFzc2VydCggYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApXG5cblx0XHQvLyBob25vciBtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbiBmb3IgaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZVxuXHRcdGlmKCBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKS5zdGFydHNXaXRoKCdtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbj0nKSA9PT0gdHJ1ZSApe1xuXHRcdFx0Ly8gZ2V0IHJlc29sdXRpb25XL3Jlc29sdXRpb25IIGZyb20gdXJsXG5cdFx0XHR2YXIgbWFya2VyUGFnZVJlc29sdXRpb24gPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKVxuXHRcdFx0dmFyIG1hdGNoZXMgPSBtYXJrZXJQYWdlUmVzb2x1dGlvbi5tYXRjaCgvbWFya2Vycy1wYWdlLXJlc29sdXRpb249KFxcZCspeChcXGQrKS8pXG5cdFx0XHRjb25zb2xlLmFzc2VydChtYXRjaGVzLmxlbmd0aCA9PT0gMylcblx0XHRcdHZhciByZXNvbHV0aW9uVyA9IHBhcnNlSW50KG1hdGNoZXNbMV0pXG5cdFx0XHR2YXIgcmVzb2x1dGlvbkggPSBwYXJzZUludChtYXRjaGVzWzJdKVxuXHRcdFx0dmFyIGFyQ29udGV4dCA9IGFyU2Vzc2lvbi5hckNvbnRleHRcblx0XHRcdC8vIGdlbmVyYXRlIGFuZCBzdG9yZSB0aGUgQVJqc011bHRpTWFya2VyRmlsZVxuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uKGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKVxuXHRcdH1cblxuXHRcdC8vIGlmIHRoZXJlIGlzIG5vIEFSanNNdWx0aU1hcmtlckZpbGUsIGJ1aWxkIGEgZGVmYXVsdCBvbmVcblx0XHRpZiggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSA9PT0gbnVsbCApe1xuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZURlZmF1bHRNdWx0aU1hcmtlckZpbGUoYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuXHRcdH1cblxuXHRcdC8vIGdldCBtdWx0aU1hcmtlckZpbGUgZnJvbSBsb2NhbFN0b3JhZ2Vcblx0XHRjb25zb2xlLmFzc2VydCggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSAhPT0gbnVsbCApXG5cdFx0dmFyIG11bHRpTWFya2VyRmlsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJylcblxuXHRcdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdFx0aWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IHNjZW5lXG5cdFx0fWVsc2UgaWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IGNhbWVyYVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdFx0Ly8gYnVpbGQgYSBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0dmFyIG11bHRpTWFya2VyQ29udHJvbHMgPSBNYXJrZXJzQXJlYUNvbnRyb2xzLmZyb21KU09OKGFyQ29udGV4dCwgcGFyZW50M0QsIGNvbnRyb2xsZWRPYmplY3QsIG11bHRpTWFya2VyRmlsZSlcblx0XHR0aGlzLmNvbnRyb2xzID0gbXVsdGlNYXJrZXJDb250cm9sc1xuXG5cdFx0Ly8gaG9ub3IgbWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG5cdFx0bXVsdGlNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPSBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblxuLy8gVE9ETyBwdXQgc3ViTWFya2VyQ29udHJvbHMgdmlzaWJpbGl0eSBpbnRvIGFuIGV4dGVybmFsIGZpbGUuIHdpdGggMiBoYW5kbGluZyBmb3IgdGhyZWUuanMgYW5kIGJhYnlsb24uanNcblx0XHQvLyBjcmVhdGUgQXJNYXJrZXJIZWxwZXIgLSB1c2VmdWwgdG8gZGVidWcgLSBzdXBlciB0aHJlZS5qcyBzcGVjaWZpY1xuXHRcdHZhciBtYXJrZXJIZWxwZXJzID0gW11cblx0XHRtdWx0aU1hcmtlckNvbnRyb2xzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblx0XHRcdC8vIGFkZCBhbiBoZWxwZXIgdG8gdmlzdWFibGUgZWFjaCBzdWItbWFya2VyXG5cdFx0XHR2YXIgbWFya2VySGVscGVyID0gbmV3IEFyTWFya2VySGVscGVyKHN1Yk1hcmtlckNvbnRyb2xzKVxuXHRcdFx0bWFya2VySGVscGVyLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHRcdFx0Ly8gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0c3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0Ly8gYWRkIGl0IHRvIG1hcmtlckhlbHBlcnNcblx0XHRcdG1hcmtlckhlbHBlcnMucHVzaChtYXJrZXJIZWxwZXIpXG5cdFx0fSlcblx0XHQvLyBkZWZpbmUgQVBJIHNwZWNpZmljIHRvIG1hcmtlcnNBcmVhXG5cdFx0dGhpcy5tYXJrZXJzQXJlYSA9IHt9XG5cdFx0dGhpcy5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eSA9IGZ1bmN0aW9uKHZpc2libGUpe1xuXHRcdFx0bWFya2VySGVscGVycy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckhlbHBlcil7XG5cdFx0XHRcdG1hcmtlckhlbHBlci5vYmplY3QzZC52aXNpYmxlID0gdmlzaWJsZVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cblxuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwKClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0VEhSRUV4LkFyU21vb3RoZWRDb250cm9sc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHR2YXIgc2hvdWxkQmVTbW9vdGhlZCA9IHRydWVcblxuXHRpZiggc2hvdWxkQmVTbW9vdGhlZCA9PT0gdHJ1ZSApe1xuXHRcdC8vIGJ1aWxkIGEgc21vb3RoZWRDb250cm9sc1xuXHRcdHZhciBzbW9vdGhlZFJvb3QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuXHRcdHNjZW5lLmFkZChzbW9vdGhlZFJvb3QpXG5cdFx0dmFyIHNtb290aGVkQ29udHJvbHMgPSBuZXcgQXJTbW9vdGhlZENvbnRyb2xzKHNtb290aGVkUm9vdClcblx0XHRzbW9vdGhlZFJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1lbHNle1xuXHRcdG1hcmtlclJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1cblxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dGhpcy51cGRhdGUgPSBmdW5jdGlvbigpe1xuXHRcdC8vIHVwZGF0ZSBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdFx0X3RoaXMub2JqZWN0M2QudmlzaWJsZSA9IF90aGlzLm9iamVjdDNkLnBhcmVudC52aXNpYmxlXG5cblx0XHQvLyBjb25zb2xlLmxvZygnY29udHJvbGxlZE9iamVjdC52aXNpYmxlJywgX3RoaXMub2JqZWN0M2QucGFyZW50LnZpc2libGUpXG5cdFx0aWYoIHNtb290aGVkQ29udHJvbHMgIT09IHVuZGVmaW5lZCApe1xuXHRcdFx0Ly8gdXBkYXRlIHNtb290aGVkQ29udHJvbHMgcGFyYW1ldGVycyBkZXBlbmRpbmcgb24gaG93IG1hbnkgbWFya2VycyBhcmUgdmlzaWJsZSBpbiBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0XHRpZiggbXVsdGlNYXJrZXJDb250cm9scyAhPT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdG11bHRpTWFya2VyQ29udHJvbHMudXBkYXRlU21vb3RoZWRDb250cm9scyhzbW9vdGhlZENvbnRyb2xzKVxuXHRcdFx0fVxuXG5cdFx0XHQvLyB1cGRhdGUgc21vb3RoZWRDb250cm9sc1xuXHRcdFx0c21vb3RoZWRDb250cm9scy51cGRhdGUobWFya2VyUm9vdClcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5jaG9yOyIsImltcG9ydCBNYXJrZXJzQXJlYVV0aWxzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMnO1xuaW1wb3J0IENvbnRleHQgZnJvbSAnLi4vdGhyZWV4L2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgU2Vzc2lvbkRlYnVnVUkgPSBmdW5jdGlvbiAoYXJTZXNzaW9uKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwwLDAsMC45KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmxlZnQgPSAnNXB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMTBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUudGV4dEFsaWduID0gJ3JpZ2h0J1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Y3VycmVudC10cmFja2luZy1iYWNrZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICBkb21FbGVtZW50LmlubmVySFRNTCA9ICc8Yj50cmFja2luZ0JhY2tlbmQ8L2I+IDogJyArIHRyYWNraW5nQmFja2VuZFxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxufVxuXG4vKipcbiAqIFVybCBvZiBhdWdtZW50ZWQtd2Vic2l0ZSBzZXJ2aWNlIC0gaWYgPT09ICcnIHRoZW4gZG9udCBpbmNsdWRlIGF1Z21lbnRlZC13ZWJzaXRlIGxpbmtcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cblNlc3Npb25EZWJ1Z1VJLkF1Z21lbnRlZFdlYnNpdGVVUkwgPSAnaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZSdcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRBbmNob3JEZWJ1Z1VJXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgQW5jaG9yRGVidWdVSSA9IGZ1bmN0aW9uIChhckFuY2hvcikge1xuICAgIHZhciBhclNlc3Npb24gPSBhckFuY2hvci5hclNlc3Npb25cbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJTZXNzaW9uLmFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgxMjcsMTI3LDEyNywwLjUpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luID0gJzAuNWVtJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50ZXh0QWxpZ24gPSAnbGVmdCdcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdGN1cnJlbnQtdHJhY2tpbmctYmFja2VuZFxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgICBkb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgZG9tRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuNWVtJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICBkb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUubGVmdCA9ICc1cHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnNDBweCdcblxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxuICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJzxiPm1hcmtlcnNBcmVhRW5hYmxlZDwvYj4gOicgKyBhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZFxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0dG9nZ2xlLW1hcmtlci1oZWxwZXJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBhZGRpbmcgPSAnMC41ZW0nXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRleHRBbGlnbiA9ICdsZWZ0J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvblRvZ2dsZU1hcmtlckhlbHBlcnMnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ3RvZ2dsZS1tYXJrZXItaGVscGVyJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIHZhciBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlID8gZmFsc2UgOiB0cnVlXG4gICAgICAgICAgICBhckFuY2hvci5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eShzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRMZWFybi1uZXctbWFya2VyLWFyZWFcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW1lbnQpXG5cbiAgICAgICAgZG9tRWxlbWVudC5pZCA9ICdidXR0b25NYXJrZXJzQXJlYUxlYXJuZXInXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ0xlYXJuLW5ldy1tYXJrZXItYXJlYSdcbiAgICAgICAgZG9tRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSdcblxuICAgICAgICBkb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKEFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxlYXJuZXJVUkwgPSBBbmNob3JEZWJ1Z1VJLk1hcmtlcnNBcmVhTGVhcm5lclVSTFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgbGVhcm5lclVSTCA9IENvbnRleHQuYmFzZVVSTCArICdleGFtcGxlcy9tdWx0aS1tYXJrZXJzL2V4YW1wbGVzL2xlYXJuZXIuaHRtbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIE1hcmtlcnNBcmVhVXRpbHMubmF2aWdhdGVUb0xlYXJuZXJQYWdlKGxlYXJuZXJVUkwsIHRyYWNraW5nQmFja2VuZClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRSZXNldC1tYXJrZXItYXJlYVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJylcbiAgICAgICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvbk1hcmtlcnNBcmVhUmVzZXQnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ1Jlc2V0LW1hcmtlci1hcmVhJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBNYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSh0cmFja2luZ0JhY2tlbmQpXG4gICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuLyoqXG4gKiB1cmwgZm9yIHRoZSBtYXJrZXJzLWFyZWEgbGVhcm5lci4gaWYgbm90IHNldCwgdGFrZSB0aGUgZGVmYXVsdCBvbmVcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cbkFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMID0gbnVsbFxuXG5leHBvcnQge1xuICBTZXNzaW9uRGVidWdVSSxcbiAgQW5jaG9yRGVidWdVSVxufTtcbiIsImltcG9ydCBIaXRUZXN0aW5nUGxhbmUgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1oaXR0ZXN0aW5nLXBsYW5lJztcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBIaXRUZXN0aW5nID0gZnVuY3Rpb24gKGFyU2Vzc2lvbikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICB2YXIgYXJDb250ZXh0ID0gYXJTZXNzaW9uLmFyQ29udGV4dFxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZW5hYmxlZCA9IHRydWVcbiAgICB0aGlzLl9hclNlc3Npb24gPSBhclNlc3Npb25cbiAgICB0aGlzLl9oaXRUZXN0aW5nUGxhbmUgPSBudWxsXG4gICAgX3RoaXMuX2hpdFRlc3RpbmdQbGFuZSA9IG5ldyBIaXRUZXN0aW5nUGxhbmUoYXJTZXNzaW9uLmFyU291cmNlLmRvbUVsZW1lbnQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogdXBkYXRlXG4gKlxuICogQHBhcmFtIHtUSFJFRS5DYW1lcmF9IGNhbWVyYSAgIC0gdGhlIGNhbWVyYSB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuT2JqZWN0M0R9IG9iamVjdDNkIC1cbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpIHtcbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuXG5cblxuICAgIGlmICh0aGlzLl9oaXRUZXN0aW5nUGxhbmUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5faGl0VGVzdGluZ1BsYW5lLnVwZGF0ZShjYW1lcmEsIHBpY2tpbmdSb290LCBjaGFuZ2VNYXRyaXhNb2RlKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhY3R1YWwgaGl0IHRlc3Rpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRlc3QgdGhlIHJlYWwgd29ybGQgZm9yIGludGVyc2VjdGlvbnMgZGlyZWN0bHkgZnJvbSBhIERvbUV2ZW50XG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWCAtIHBvc2l0aW9uIFggb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWSAtIHBvc2l0aW9uIFkgb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdERvbUV2ZW50ID0gZnVuY3Rpb24gKGRvbUV2ZW50KSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMuX2FyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcbiAgICB2YXIgYXJTb3VyY2UgPSB0aGlzLl9hclNlc3Npb24uYXJTb3VyY2VcblxuICAgIC8vIGlmIGl0IGlzbnQgZW5hYmxlZCwgZG8gbm90aGluZ1xuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSByZXR1cm4gW11cbiAgICB2YXIgbW91c2VYID0gZG9tRXZlbnQuY2xpZW50WCAvIGFyU291cmNlLmRvbUVsZW1lbnRXaWR0aCgpXG4gICAgdmFyIG1vdXNlWSA9IGRvbUV2ZW50LmNsaWVudFkgLyBhclNvdXJjZS5kb21FbGVtZW50SGVpZ2h0KClcblxuICAgIHJldHVybiB0aGlzLnRlc3QobW91c2VYLCBtb3VzZVkpXG59XG5cbi8qKlxuICogVGVzdCB0aGUgcmVhbCB3b3JsZCBmb3IgaW50ZXJzZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbW91c2VYIC0gcG9zaXRpb24gWCBvZiB0aGUgaGl0IFswLCArMV1cbiAqIEBwYXJhbSB7TnVtYmVyfSBtb3VzZVkgLSBwb3NpdGlvbiBZIG9mIHRoZSBoaXQgWzAsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uIChtb3VzZVgsIG1vdXNlWSkge1xuICAgIHZhciBhckNvbnRleHQgPSB0aGlzLl9hclNlc3Npb24uYXJDb250ZXh0XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuICAgIHZhciBoaXRUZXN0UmVzdWx0cyA9IFtdXG5cbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuIFtdXG5cbiAgICB2YXIgcmVzdWx0ID0gdGhpcy5faGl0VGVzdGluZ1BsYW5lLnRlc3QobW91c2VYLCBtb3VzZVkpXG5cbiAgICAvLyBpZiBubyByZXN1bHQgaXMgZm91bmQsIHJldHVybiBub3dcbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSByZXR1cm4gaGl0VGVzdFJlc3VsdHNcblxuICAgIC8vIGJ1aWxkIGEgSGl0VGVzdGluZy5SZXN1bHRcbiAgICB2YXIgaGl0VGVzdFJlc3VsdCA9IG5ldyBIaXRUZXN0aW5nLlJlc3VsdChyZXN1bHQucG9zaXRpb24sIHJlc3VsdC5xdWF0ZXJuaW9uLCByZXN1bHQuc2NhbGUpXG4gICAgaGl0VGVzdFJlc3VsdHMucHVzaChoaXRUZXN0UmVzdWx0KVxuXG4gICAgcmV0dXJuIGhpdFRlc3RSZXN1bHRzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0SGl0VGVzdGluZy5SZXN1bHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBDb250YWlucyB0aGUgcmVzdWx0IG9mIEhpdFRlc3RpbmcudGVzdCgpXG4gKlxuICogQHBhcmFtIHtUSFJFRS5WZWN0b3IzfSBwb3NpdGlvbiAtIHBvc2l0aW9uIHRvIHVzZVxuICogQHBhcmFtIHtUSFJFRS5RdWF0ZXJuaW9ufSBxdWF0ZXJuaW9uIC0gcXVhdGVybmlvbiB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuVmVjdG9yM30gc2NhbGUgLSBzY2FsZVxuICovXG5IaXRUZXN0aW5nLlJlc3VsdCA9IGZ1bmN0aW9uIChwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpIHtcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb25cbiAgICB0aGlzLnF1YXRlcm5pb24gPSBxdWF0ZXJuaW9uXG4gICAgdGhpcy5zY2FsZSA9IHNjYWxlXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseSA9IGZ1bmN0aW9uIChvYmplY3QzZCkge1xuICAgIG9iamVjdDNkLnBvc2l0aW9uLmNvcHkodGhpcy5wb3NpdGlvbilcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuICAgIG9iamVjdDNkLnNjYWxlLmNvcHkodGhpcy5zY2FsZSlcblxuICAgIG9iamVjdDNkLnVwZGF0ZU1hdHJpeCgpXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVBvc2l0aW9uID0gZnVuY3Rpb24gKG9iamVjdDNkKSB7XG4gICAgb2JqZWN0M2QucG9zaXRpb24uY29weSh0aGlzLnBvc2l0aW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVF1YXRlcm5pb24gPSBmdW5jdGlvbiAob2JqZWN0M2QpIHtcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbmV4cG9ydCBkZWZhdWx0IEhpdFRlc3Rpbmc7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgU291cmNlIGZyb20gJy4uL3RocmVleC9hcmpzLXNvdXJjZSc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi90aHJlZXgvYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG4vKipcbiAqICAqIGRlZmluZSBhIFNlc3Npb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1ldGVycyAtIHBhcmFtZXRlcnMgZm9yIHRoaXMgc2Vzc2lvblxuICovXG5jb25zdCBTZXNzaW9uID0gZnVuY3Rpb24ocGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0cmVuZGVyZXI6IG51bGwsXG5cdFx0Y2FtZXJhOiBudWxsLFxuXHRcdHNjZW5lOiBudWxsLFxuXHRcdHNvdXJjZVBhcmFtZXRlcnM6IHt9LFxuXHRcdGNvbnRleHRQYXJhbWV0ZXJzOiB7fSxcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblx0Ly8gc2FuaXR5IGNoZWNrXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5yZW5kZXJlciBpbnN0YW5jZW9mIFRIUkVFLldlYkdMUmVuZGVyZXIpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5jYW1lcmEgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5zY2VuZSBpbnN0YW5jZW9mIFRIUkVFLlNjZW5lKVxuXG5cblx0Ly8gYmFja3dhcmQgZW11bGF0aW9uXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAncmVuZGVyZXInLCB7Z2V0OiBmdW5jdGlvbigpe1xuXHRcdGNvbnNvbGUud2FybigndXNlIC5wYXJhbWV0ZXJzLnJlbmRlcmVyIHJlbmRlcmVyJylcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyO1xuXHR9fSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY2FtZXJhJywge2dldDogZnVuY3Rpb24oKXtcblx0XHRjb25zb2xlLndhcm4oJ3VzZSAucGFyYW1ldGVycy5jYW1lcmEgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5jYW1lcmE7XG5cdH19KTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY2VuZScsIHtnZXQ6IGZ1bmN0aW9uKCl7XG5cdFx0Y29uc29sZS53YXJuKCd1c2UgLnBhcmFtZXRlcnMuc2NlbmUgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5zY2VuZTtcblx0fX0pO1xuXG5cblx0Ly8gbG9nIHRoZSB2ZXJzaW9uXG5cdGNvbnNvbGUubG9nKCdBUi5qcycsIENvbnRleHQuUkVWSVNJT04sICctIHRyYWNraW5nQmFja2VuZDonLCBwYXJhbWV0ZXJzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhclNvdXJjZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dmFyIGFyU291cmNlID0gX3RoaXMuYXJTb3VyY2UgPSBuZXcgU291cmNlKHBhcmFtZXRlcnMuc291cmNlUGFyYW1ldGVycylcblxuXHRhclNvdXJjZS5pbml0KGZ1bmN0aW9uIG9uUmVhZHkoKXtcblx0XHRhclNvdXJjZS5vblJlc2l6ZShhckNvbnRleHQsIF90aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhKVxuXHR9KVxuXG5cdC8vIGhhbmRsZSByZXNpemVcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7XG5cdFx0YXJTb3VyY2Uub25SZXNpemUoYXJDb250ZXh0LCBfdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSlcblx0fSlcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhckNvbnRleHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0Ly8gY3JlYXRlIGF0VG9vbGtpdENvbnRleHRcblx0dmFyIGFyQ29udGV4dCA9IF90aGlzLmFyQ29udGV4dCA9IG5ldyBDb250ZXh0KHBhcmFtZXRlcnMuY29udGV4dFBhcmFtZXRlcnMpXG5cblx0Ly8gaW5pdGlhbGl6ZSBpdFxuXHRfdGhpcy5hckNvbnRleHQuaW5pdCgpXG5cblx0YXJDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2luaXRpYWxpemVkJywgZnVuY3Rpb24oZXZlbnQpe1xuXHRcdGFyU291cmNlLm9uUmVzaXplKGFyQ29udGV4dCwgX3RoaXMucGFyYW1ldGVycy5yZW5kZXJlciwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmEpXG5cdH0pXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHVwZGF0ZSBmdW5jdGlvblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gdXBkYXRlIGFydG9vbGtpdCBvbiBldmVyeSBmcmFtZVxuXHR0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG5cdFx0aWYoIGFyU291cmNlLnJlYWR5ID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdGFyQ29udGV4dC51cGRhdGUoIGFyU291cmNlLmRvbUVsZW1lbnQgKVxuXHR9XG59XG5cblNlc3Npb24ucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKCkge1xuXHR0aGlzLmFyU291cmNlLm9uUmVzaXplKHRoaXMuYXJDb250ZXh0LCB0aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIHRoaXMucGFyYW1ldGVycy5jYW1lcmEpXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXNzaW9uOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgVXRpbHMgPSB7fTtcblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHJlbmRlcmluZyBjYW1lcmEgZm9yIHRoaXMgdHJhY2tpbmdCYWNrZW5kLiBUaGV5IG1heSBiZSBtb2RpZmllZCBsYXRlci4gdG8gZml0IHBoeXNpY2FsIGNhbWVyYSBwYXJhbWV0ZXJzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMucGFyc2VUcmFja2luZ01ldGhvZCh0cmFja2luZ01ldGhvZCkudHJhY2tpbmdCYWNrZW5kXG4gICAgLy8gQ3JlYXRlIGEgY2FtZXJhXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdmFyIGNhbWVyYSA9IG5ldyBUSFJFRS5DYW1lcmEoKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmtub3duIHRyYWNraW5nQmFja2VuZDogJyArIHRyYWNraW5nQmFja2VuZClcblxuICAgIHJldHVybiBjYW1lcmFcbn1cblxuLyoqXG4gKiBwYXJzZSB0cmFja2luZyBtZXRob2RcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdNZXRob2QgLSB0aGUgdHJhY2tpbmcgbWV0aG9kIHRvIHBhcnNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdmFyaW91cyBmaWVsZCBvZiB0aGUgdHJhY2tpbmcgbWV0aG9kXG4gKi9cblV0aWxzLnBhcnNlVHJhY2tpbmdNZXRob2QgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcblxuICAgIGlmICh0cmFja2luZ01ldGhvZCA9PT0gJ2Jlc3QnKSB7XG4gICAgICAgIHRyYWNraW5nTWV0aG9kID0gJ2FyZWEtYXJ0b29sa2l0JztcbiAgICB9XG5cbiAgICBpZiAodHJhY2tpbmdNZXRob2Quc3RhcnRzV2l0aCgnYXJlYS0nKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiB0cmFja2luZ01ldGhvZC5yZXBsYWNlKCdhcmVhLScsICcnKSxcbiAgICAgICAgICAgIG1hcmtlcnNBcmVhRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nTWV0aG9kLFxuICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2VyY29udHJvbHMtbmZ0JztcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycywgc291cmNlUGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBMYWJlbGluZyBtb2RlIGZvciBtYXJrZXJzIC0gWydibGFja19yZWdpb24nLCAnd2hpdGVfcmVnaW9uJ11cbiAgICAgICAgLy8gYmxhY2tfcmVnaW9uOiBCbGFjayBib3JkZXJlZCBtYXJrZXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZCwgd2hpdGVfcmVnaW9uOiBXaGl0ZSBib3JkZXJlZCBtYXJrZXJzIG9uIGEgYmxhY2sgYmFja2dyb3VuZFxuICAgICAgICBsYWJlbGluZ01vZGU6ICdibGFja19yZWdpb24nLFxuXG4gICAgICAgIC8vIGVuYWJsZSBpbWFnZSBzbW9vdGhpbmcgb3Igbm90IGZvciBjYW52YXMgY29weSAtIGRlZmF1bHQgdG8gdHJ1ZVxuICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEL2ltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICBpbWFnZVNtb290aGluZ0VuYWJsZWQ6IGZhbHNlLFxuICAgIH1cbiAgICAvLyBwYXJhbWV0ZXJzIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KFsnYXJ0b29sa2l0J10uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciB0cmFja2luZ0JhY2tlbmQnLCB0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuICAgIGNvbnNvbGUuYXNzZXJ0KFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpICE9PSAtMSwgJ2ludmFsaWQgcGFyYW1ldGVyIGRldGVjdGlvbk1vZGUnLCB0aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSlcbiAgICBjb25zb2xlLmFzc2VydChbXCJibGFja19yZWdpb25cIiwgXCJ3aGl0ZV9yZWdpb25cIl0uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMubGFiZWxpbmdNb2RlKSAhPT0gLTEsIFwiaW52YWxpZCBwYXJhbWV0ZXIgbGFiZWxpbmdNb2RlXCIsIHRoaXMucGFyYW1ldGVycy5sYWJlbGluZ01vZGUpO1xuXG4gICAgdGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG5cbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRzZXRQYXJhbWV0ZXJzXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuICAgIGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICAgICAgICBpZiAocGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm5cbiAgICAgICAgZm9yICh2YXIga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNvbnRleHQ6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQ29udGV4dC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudDtcbkNvbnRleHQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyO1xuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcblxuLy8gZGVmYXVsdCB0byBnaXRodWIgcGFnZVxuQ29udGV4dC5iYXNlVVJMID0gJ2h0dHBzOi8vYXItanMtb3JnLmdpdGh1Yi5pby9BUi5qcy90aHJlZS5qcy8nXG5Db250ZXh0LlJFVklTSU9OID0gJzMuMy4zLWVzNi1iZXRhLTAxJztcblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgdG8gdXNlclxuICogQHJldHVybiB7VEhSRUUuQ2FtZXJhfSB0aGUgY3JlYXRlZCBjYW1lcmFcbiAqL1xuQ29udGV4dC5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndXNlIEFSanMuVXRpbHMuY3JlYXRlRGVmYXVsdENhbWVyYSBpbnN0ZWFkJylcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpXG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICAgICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICAgICAgX3RoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiAnaW5pdGlhbGl6ZWQnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIF90aGlzLmluaXRpYWxpemVkID0gdHJ1ZVxuXG4gICAgICAgIG9uQ29tcGxldGVkICYmIG9uQ29tcGxldGVkKClcbiAgICB9XG5cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICB1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuXG4gICAgLy8gYmUgc3VyZSBhckNvbnRyb2xsZXIgaXMgZnVsbHkgaW5pdGlhbGl6ZWRcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgJiYgdGhpcy5hckNvbnRyb2xsZXIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlXG4gICAgdmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgIGlmICh0aGlzLl91cGRhdGVkQXQgIT09IG51bGwgJiYgcHJlc2VudCAtIHRoaXMuX3VwZGF0ZWRBdCA8IDEwMDAgLyB0aGlzLnBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlZEF0ID0gcHJlc2VudFxuXG4gICAgdmFyIHByZXZWaXNpYmxlTWFya2VycyA9IFtdXG5cbiAgICAvLyBtYXJrIGFsbCBtYXJrZXJzIHRvIGludmlzaWJsZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGlzIGZyYW1lXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgaWYgKG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUpIHtcbiAgICAgICAgICAgIHByZXZWaXNpYmxlTWFya2Vycy5wdXNoKG1hcmtlckNvbnRyb2xzKVxuICAgICAgICB9XG4gICAgICAgIGlmICghbWFya2VyQ29udHJvbHMuY29udGV4dC5hckNvbnRyb2xsZXIuc2hvd09iamVjdCkge1xuICAgICAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gcHJvY2VzcyB0aGlzIGZyYW1lXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZUFydG9vbGtpdChzcmNFbGVtZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGRpc3BhdGNoIGV2ZW50XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgdHlwZTogJ3NvdXJjZVByb2Nlc3NlZCdcbiAgICB9KTtcblxuICAgIC8vIEFmdGVyIGZyYW1lIGlzIHByb2Nlc3NlZCwgY2hlY2sgdmlzaWJpbGl0eSBvZiBlYWNoIG1hcmtlciB0byBkZXRlcm1pbmUgaWYgaXQgd2FzIGZvdW5kIG9yIGxvc3RcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICB2YXIgd2FzVmlzaWJsZSA9IHByZXZWaXNpYmxlTWFya2Vycy5pbmNsdWRlcyhtYXJrZXJDb250cm9scyk7XG4gICAgICAgIHZhciBpc1Zpc2libGUgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZC52aXNpYmxlO1xuXG4gICAgICAgIGlmIChpc1Zpc2libGUgPT09IHRydWUgJiYgd2FzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFya2VyRm91bmQnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSA9PT0gZmFsc2UgJiYgd2FzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJMb3N0Jywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2VyQ29udHJvbHMsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfVxuICAgIH0pXG5cbiAgICAvLyByZXR1cm4gdHJ1ZSBhcyB3ZSBwcm9jZXNzZWQgdGhlIGZyYW1lXG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBBZGQvUmVtb3ZlIG1hcmtlckNvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuYWRkTWFya2VyID0gZnVuY3Rpb24gKGFyTWFya2VyQ29udHJvbHMpIHtcbiAgICBjb25zb2xlLmFzc2VydChhck1hcmtlckNvbnRyb2xzIGluc3RhbmNlb2YgQXJNYXJrZXJDb250cm9scylcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5wdXNoKGFyTWFya2VyQ29udHJvbHMpXG59XG5cbkNvbnRleHQucHJvdG90eXBlLnJlbW92ZU1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZSBtYXJrZXIgZm9yJywgYXJNYXJrZXJDb250cm9scylcbiAgICB2YXIgaW5kZXggPSB0aGlzLmFyTWFya2VyQ29udHJvbHMuaW5kZXhPZihhcnRvb2xraXRNYXJrZXIpO1xuICAgIGNvbnNvbGUuYXNzZXJ0KGluZGV4ICE9PSBpbmRleClcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5zcGxpY2UoaW5kZXgsIDEpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0YXJ0b29sa2l0IHNwZWNpZmljXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgLy8gc2V0IHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4IHRvIGNoYW5nZSBhcnRvb2xraXQgcHJvamVjdGlvbiBtYXRyaXggYXhpcyB0byBtYXRjaCB1c3VhbCB3ZWJnbCBvbmVcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblkoTWF0aC5QSSkpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25aKE1hdGguUEkpKVxuXG4gICAgdmFyIG9uRXJyb3IgPSBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH07XG5cbiAgICAvLyBpbml0IEFSVG9vbGtpdFxuICAgIGFydG9vbGtpdC5pbml0KCkudGhlbihfID0+IHtcbiAgICAgICAgLy8gaW5pdCBjb250cm9sbGVyXG4gICAgICAgIEFSQ29udHJvbGxlci5pbml0V2l0aERpbWVuc2lvbnMoX3RoaXMucGFyYW1ldGVycy5jYW52YXNXaWR0aCwgX3RoaXMucGFyYW1ldGVycy5jYW52YXNIZWlnaHQsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCkudGhlbigoYXJDb250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgICBfdGhpcy5hckNvbnRyb2xsZXIgPSBhckNvbnRyb2xsZXJcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5tb3pJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1zSW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuZGVidWdcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLmRlYnVnID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmRlYnVnU2V0dXAoKTtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUudG9wID0gJzBweCdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLm9wYWNpdHkgPSAnMC42J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuekluZGV4ID0gJy0xJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxuICAgICAgICAgICAgdmFyIGRldGVjdGlvbk1vZGVzID0ge1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUixcbiAgICAgICAgICAgICAgICAnY29sb3JfYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYLFxuICAgICAgICAgICAgICAgICdtb25vJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk8sXG4gICAgICAgICAgICAgICAgJ21vbm9fYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19NT05PX0FORF9NQVRSSVgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZSA9IGRldGVjdGlvbk1vZGVzW190aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRldGVjdGlvbk1vZGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZShkZXRlY3Rpb25Nb2RlKTtcblxuICAgICAgICAgICAgLy8gc2V0TWF0cml4Q29kZVR5cGVcbiAgICAgICAgICAgIHZhciBtYXRyaXhDb2RlVHlwZXMgPSB7XG4gICAgICAgICAgICAgICAgJzN4Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDMsXG4gICAgICAgICAgICAgICAgJzN4M19IQU1NSU5HNjMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MyxcbiAgICAgICAgICAgICAgICAnM3gzX1BBUklUWTY1JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4M19QQVJJVFk2NSxcbiAgICAgICAgICAgICAgICAnNHg0JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NCxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM185XzMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM185XzMsXG4gICAgICAgICAgICAgICAgJzR4NF9CQ0hfMTNfNV81JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlID0gbWF0cml4Q29kZVR5cGVzW190aGlzLnBhcmFtZXRlcnMubWF0cml4Q29kZVR5cGVdXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChtYXRyaXhDb2RlVHlwZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldE1hdHJpeENvZGVUeXBlKG1hdHJpeENvZGVUeXBlKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRoZSBwYXR0ZXJuUmF0aW8gZm9yIGFydG9vbGtpdFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRSYXRpbyhfdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aGUgbGFiZWxpbmdNb2RlIGZvciBhcnRvb2xraXRcbiAgICAgICAgICAgIHZhciBsYWJlbGluZ01vZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICBcImJsYWNrX3JlZ2lvblwiOiBhcnRvb2xraXQuQVJfTEFCRUxJTkdfQkxBQ0tfUkVHSU9OLFxuICAgICAgICAgICAgICAgIFwid2hpdGVfcmVnaW9uXCI6IGFydG9vbGtpdC5BUl9MQUJFTElOR19XSElURV9SRUdJT05cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBsYWJlbGluZ01vZGVUeXBlID0gbGFiZWxpbmdNb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5sYWJlbGluZ01vZGVdO1xuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQobGFiZWxpbmdNb2RlVHlwZSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRMYWJlbGluZ01vZGUobGFiZWxpbmdNb2RlVHlwZSk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aHJlc2hvbGRpbmcgaW4gYXJ0b29sa2l0XG4gICAgICAgICAgICAvLyB0aGlzIHNlZW1zIHRvIGJlIHRoZSBkZWZhdWx0XG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfTUFOVUFMKVxuICAgICAgICAgICAgLy8gYWRhdGF0aXZlIGNvbnN1bWUgYSBMT1Qgb2YgY3B1Li4uXG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRSlcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UpXG5cbiAgICAgICAgICAgIC8vIG5vdGlmeVxuICAgICAgICAgICAgb25Db21wbGV0ZWQoKVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIHJldHVybiB0aGUgcHJvamVjdGlvbiBtYXRyaXhcbiAqL1xuQ29udGV4dC5wcm90b3R5cGUuZ2V0UHJvamVjdGlvbk1hdHJpeCA9IGZ1bmN0aW9uICgpIHtcbiAgICAvLyBGSVhNRSByZW5hbWUgdGhpcyBmdW5jdGlvbiB0byBzYXkgaXQgaXMgYXJ0b29sa2l0IHNwZWNpZmljIC0gZ2V0QXJ0b29sa2l0UHJvamVjdE1hdHJpeFxuICAgIC8vIGtlZXAgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggYSBjb25zb2xlLndhcm5cblxuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKVxuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuYXJDb250cm9sbGVyLCAnYXJDb250cm9sbGVyIE1VU1QgYmUgaW5pdGlhbGl6ZWQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uJylcblxuICAgIC8vIGdldCBwcm9qZWN0aW9uTWF0cml4QXJyIGZyb20gYXJ0b29sa2l0XG4gICAgdmFyIHByb2plY3Rpb25NYXRyaXhBcnIgPSB0aGlzLmFyQ29udHJvbGxlci5nZXRDYW1lcmFNYXRyaXgoKTtcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KHByb2plY3Rpb25NYXRyaXhBcnIpXG5cbiAgICAvLyBwcm9qZWN0aW9uTWF0cml4Lm11bHRpcGx5KHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4KVxuXG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb250ZXh0OyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJ3RocmVleEFybWFya2VyY29udHJvbHMnOyAvLyBBbGlhcyBmb3IgZHluYW1pYyBpbXBvcnRpbmdcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBlbmFibGUgaW1hZ2Ugc21vb3RoaW5nIG9yIG5vdCBmb3IgY2FudmFzIGNvcHkgLSBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkOiBmYWxzZSxcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVycyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChbJ2FydG9vbGtpdCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgdHJhY2tpbmdCYWNrZW5kJywgdGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcbiAgICBjb25zb2xlLmFzc2VydChbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciBkZXRlY3Rpb25Nb2RlJywgdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpXG5cbiAgICB0aGlzLmFyQ29udHJvbGxlciA9IG51bGw7XG5cbiAgICBfdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlXG5cblxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzID0gW11cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb250ZXh0OiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50ID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50O1xuQ29udGV4dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcjtcbkNvbnRleHQucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyO1xuXG4vLyBkZWZhdWx0IHRvIGdpdGh1YiBwYWdlXG5Db250ZXh0LmJhc2VVUkwgPSAnaHR0cHM6Ly9hci1qcy1vcmcuZ2l0aHViLmlvL0FSLmpzL3RocmVlLmpzLydcbkNvbnRleHQuUkVWSVNJT04gPSAnMy4zLjMtZXM2LWJldGEtMDEnXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY2FtZXJhIGZvciB0aGlzIHRyYWNraW5nQmFja2VuZFxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5Db250ZXh0LmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1c2UgQVJqcy5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhIGluc3RlYWQnKVxuICAgIC8vIENyZWF0ZSBhIGNhbWVyYVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHZhciBjYW1lcmEgPSBuZXcgVEhSRUUuQ2FtZXJhKCk7XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuXG5cbiAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgICAgICBfdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6ICdpbml0aWFsaXplZCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlXG5cbiAgICAgICAgb25Db21wbGV0ZWQgJiYgb25Db21wbGV0ZWQoKVxuICAgIH1cblxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cbiAgICAvLyBiZSBzdXJlIGFyQ29udHJvbGxlciBpcyBmdWxseSBpbml0aWFsaXplZFxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyAmJiB0aGlzLmFyQ29udHJvbGxlciA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGVcbiAgICB2YXIgcHJlc2VudCA9IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgaWYgKHRoaXMuX3VwZGF0ZWRBdCAhPT0gbnVsbCAmJiBwcmVzZW50IC0gdGhpcy5fdXBkYXRlZEF0IDwgMTAwMCAvIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICB0aGlzLl91cGRhdGVkQXQgPSBwcmVzZW50XG5cbiAgICB2YXIgcHJldlZpc2libGVNYXJrZXJzID0gW11cblxuICAgIC8vIG1hcmsgYWxsIG1hcmtlcnMgdG8gaW52aXNpYmxlIGJlZm9yZSBwcm9jZXNzaW5nIHRoaXMgZnJhbWVcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICBpZiAobWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSkge1xuICAgICAgICAgICAgcHJldlZpc2libGVNYXJrZXJzLnB1c2gobWFya2VyQ29udHJvbHMpXG4gICAgICAgIH1cbiAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgfSlcblxuICAgIC8vIHByb2Nlc3MgdGhpcyBmcmFtZVxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl91cGRhdGVBcnRvb2xraXQoc3JjRWxlbWVudCk7XG4gICAgfSAgZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHR5cGU6ICdzb3VyY2VQcm9jZXNzZWQnXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBmcmFtZSBpcyBwcm9jZXNzZWQsIGNoZWNrIHZpc2liaWxpdHkgb2YgZWFjaCBtYXJrZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBmb3VuZCBvciBsb3N0XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBwcmV2VmlzaWJsZU1hcmtlcnMuaW5jbHVkZXMobWFya2VyQ29udHJvbHMpO1xuICAgICAgICB2YXIgaXNWaXNpYmxlID0gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZTtcbiAgICBcbiAgICAgICAgaWYgKGlzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB3YXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJGb3VuZCcsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IG1hcmtlckNvbnRyb2xzLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0gZWxzZSBpZiAoaXNWaXNpYmxlID09PSBmYWxzZSAmJiB3YXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21hcmtlckxvc3QnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9XG4gICAgfSlcblxuXG4gICAgLy8gcmV0dXJuIHRydWUgYXMgd2UgcHJvY2Vzc2VkIHRoZSBmcmFtZVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgQWRkL1JlbW92ZSBtYXJrZXJDb250cm9sc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmFkZE1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMucHVzaChhck1hcmtlckNvbnRyb2xzKVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHZhciBpbmRleCA9IHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmluZGV4T2YoYXJNYXJrZXJDb250cm9scyk7XG4gICAgaWYoIGluZGV4IDwgMCApIHtcbiAgICBcdHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuc3BsaWNlKGluZGV4LCAxKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFydG9vbGtpdCBzcGVjaWZpY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIHNldCB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCB0byBjaGFuZ2UgYXJ0b29sa2l0IHByb2plY3Rpb24gbWF0cml4IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25ZKE1hdGguUEkpKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWihNYXRoLlBJKSlcblxuICAgIC8vIGluaXQgQVJUb29sa2l0XG4gICAgYXJ0b29sa2l0LmluaXQoKS50aGVuKF8gPT4ge1xuICAgICAgICAvLyBpbml0IGNvbnRyb2xsZXJcbiAgICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc1dpZHRoLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmFQYXJhbWV0ZXJzVXJsKS50aGVuKChhckNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIF90aGlzLmFyQ29udHJvbGxlciA9IGFyQ29udHJvbGxlclxuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1vekltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgubXNJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG5cbiAgICAgICAgICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5kZWJ1Z1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcmFtZXRlcnMuZGVidWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuZGVidWdTZXR1cCgpO1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS50b3AgPSAnMHB4J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUub3BhY2l0eSA9ICcwLjYnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS56SW5kZXggPSAnLTEnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZXMgPSB7XG4gICAgICAgICAgICAgICAgJ2NvbG9yJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SLFxuICAgICAgICAgICAgICAgICdjb2xvcl9hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgsXG4gICAgICAgICAgICAgICAgJ21vbm8nOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OTyxcbiAgICAgICAgICAgICAgICAnbW9ub19hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBkZXRlY3Rpb25Nb2RlID0gZGV0ZWN0aW9uTW9kZXNbX3RoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlXVxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZGV0ZWN0aW9uTW9kZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKGRldGVjdGlvbk1vZGUpO1xuXG4gICAgICAgICAgICAvLyBzZXRNYXRyaXhDb2RlVHlwZVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICAnM3gzJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4MyxcbiAgICAgICAgICAgICAgICAnM3gzX0hBTU1JTkc2Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDNfSEFNTUlORzYzLFxuICAgICAgICAgICAgICAgICczeDNfUEFSSVRZNjUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1LFxuICAgICAgICAgICAgICAgICc0eDQnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0LFxuICAgICAgICAgICAgICAgICc0eDRfQkNIXzEzXzlfMyc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMyxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM181XzUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM181XzUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbWF0cml4Q29kZVR5cGUgPSBtYXRyaXhDb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5tYXRyaXhDb2RlVHlwZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG1hdHJpeENvZGVUeXBlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0TWF0cml4Q29kZVR5cGUobWF0cml4Q29kZVR5cGUpO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIHBhdHRlcm5SYXRpbyBmb3IgYXJ0b29sa2l0XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0UGF0dFJhdGlvKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblJhdGlvKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRocmVzaG9sZGluZyBpbiBhcnRvb2xraXRcbiAgICAgICAgICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgdGhlIGRlZmF1bHRcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwpXG4gICAgICAgICAgICAvLyBhZGF0YXRpdmUgY29uc3VtZSBhIExPVCBvZiBjcHUuLi5cbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX0FEQVBUSVZFKVxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fT1RTVSlcblxuICAgICAgICAgICAgLy8gbm90aWZ5XG4gICAgICAgICAgICBvbkNvbXBsZXRlZCgpXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogcmV0dXJuIHRoZSBwcm9qZWN0aW9uIG1hdHJpeFxuICovXG5Db250ZXh0LnByb3RvdHlwZS5nZXRQcm9qZWN0aW9uTWF0cml4ID0gZnVuY3Rpb24gKHNyY0VsZW1lbnQpIHtcblxuXG4gICAgLy8gRklYTUUgcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc2F5IGl0IGlzIGFydG9vbGtpdCBzcGVjaWZpYyAtIGdldEFydG9vbGtpdFByb2plY3RNYXRyaXhcbiAgICAvLyBrZWVwIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGEgY29uc29sZS53YXJuXG5cbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JylcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmFyQ29udHJvbGxlciwgJ2FyQ29udHJvbGxlciBNVVNUIGJlIGluaXRpYWxpemVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpXG4gICAgLy8gZ2V0IHByb2plY3Rpb25NYXRyaXhBcnIgZnJvbSBhcnRvb2xraXRcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeEFyciA9IHRoaXMuYXJDb250cm9sbGVyLmdldENhbWVyYU1hdHJpeCgpO1xuICAgIHZhciBwcm9qZWN0aW9uTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkocHJvamVjdGlvbk1hdHJpeEFycilcblxuICAgIC8vIHJldHVybiB0aGUgcmVzdWx0XG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdC8vIG1hcmtlcnNcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcblx0XHRjb25zb2xlLmFzc2VydChtYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpO1xuXHRcdG1hcmtlckNvbnRyb2xzLmRpc3Bvc2UoKTtcblx0fSApO1xuXHR0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdO1xuXG5cdC8vIGNhbWVyYVBhcmFtXG5cdGlmICh0aGlzLmFyQ29udHJvbGxlciAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbSAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbS5kaXNwb3NlKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSgpO1xuXHR9XG5cblx0XG5cdC8vIEFSQ29udHJvbGxlclxuXHRpZiggdGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSApIHtcblx0XHR0aGlzLmFyQ29udHJvbGxlci5kaXNwb3NlKCk7XG5cdH1cblx0dGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgLy8gY2xhc3MgcHJvcGVydGllc1xuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbnVsbDtcblxuXHQvLyBhcnRvb2xraXRcblx0Ly8gTk9URTogc2luY2UgdGhlIGluc3RhbmNlIG9mIEFSVG9vbGtpdCBpcyBjcmVhdGVkIGdsb2JhbGx5IFxuXHQvLyB3ZSBzaG91bGQgcHJvYmFibHkgZG8gbm90IGNhbGwgLnRlYXJkb3duKCkgLi4uID9cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IFdvcmtlciBmcm9tICcuL2FyanMtbWFya2VyY29udHJvbHMtbmZ0Lndvcmtlci5qcyc7XG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0IH0gPSBqc2FydG9vbGtpdDtcblxuY29uc3QgTWFya2VyQ29udHJvbHMgPSBmdW5jdGlvbiAoY29udGV4dCwgb2JqZWN0M2QsIHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dFxuICAgIC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB7XG4gICAgICAgIC8vIHNpemUgb2YgdGhlIG1hcmtlciBpbiBtZXRlclxuICAgICAgICBzaXplOiAxLFxuICAgICAgICAvLyB0eXBlIG9mIG1hcmtlciAtIFsncGF0dGVybicsICdiYXJjb2RlJywgJ25mdCcsICd1bmtub3duJyBdXG4gICAgICAgIHR5cGU6ICd1bmtub3duJyxcbiAgICAgICAgLy8gdXJsIG9mIHRoZSBwYXR0ZXJuIC0gSUlGIHR5cGU9J3BhdHRlcm4nXG4gICAgICAgIHBhdHRlcm5Vcmw6IG51bGwsXG4gICAgICAgIC8vIHZhbHVlIG9mIHRoZSBiYXJjb2RlIC0gSUlGIHR5cGU9J2JhcmNvZGUnXG4gICAgICAgIGJhcmNvZGVWYWx1ZTogbnVsbCxcbiAgICAgICAgLy8gdXJsIG9mIHRoZSBkZXNjcmlwdG9ycyBvZiBpbWFnZSAtIElJRiB0eXBlPSduZnQnXG4gICAgICAgIGRlc2NyaXB0b3JzVXJsOiBudWxsLFxuICAgICAgICAvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG4gICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgICAgICAvLyBtaW5pbWFsIGNvbmZpZGVuY2UgaW4gdGhlIG1hcmtlIHJlY29nbml0aW9uIC0gYmV0d2VlbiBbMCwgMV0gLSBkZWZhdWx0IHRvIDFcbiAgICAgICAgbWluQ29uZmlkZW5jZTogMC42LFxuICAgICAgICAvLyB0dXJuIG9uL29mZiBjYW1lcmEgc21vb3RoaW5nXG4gICAgICAgIHNtb290aDogZmFsc2UsXG4gICAgICAgIC8vIG51bWJlciBvZiBtYXRyaWNlcyB0byBzbW9vdGggdHJhY2tpbmcgb3ZlciwgbW9yZSA9IHNtb290aGVyIGJ1dCBzbG93ZXIgZm9sbG93XG4gICAgICAgIHNtb290aENvdW50OiA1LFxuICAgICAgICAvLyBkaXN0YW5jZSB0b2xlcmFuY2UgZm9yIHNtb290aGluZywgaWYgc21vb3RoVGhyZXNob2xkICMgb2YgbWF0cmljZXMgYXJlIHVuZGVyIHRvbGVyYW5jZSwgdHJhY2tpbmcgd2lsbCBzdGF5IHN0aWxsXG4gICAgICAgIHNtb290aFRvbGVyYW5jZTogMC4wMSxcbiAgICAgICAgLy8gdGhyZXNob2xkIGZvciBzbW9vdGhpbmcsIHdpbGwga2VlcCBzdGlsbCB1bmxlc3MgZW5vdWdoIG1hdHJpY2VzIGFyZSBvdmVyIHRvbGVyYW5jZVxuICAgICAgICBzbW9vdGhUaHJlc2hvbGQ6IDIsXG4gICAgfVxuXG4gICAgLy8gc2FuaXR5IGNoZWNrXG4gICAgdmFyIHBvc3NpYmxlVmFsdWVzID0gWydwYXR0ZXJuJywgJ2JhcmNvZGUnLCAnbmZ0JywgJ3Vua25vd24nXVxuICAgIGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnR5cGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMudHlwZSlcbiAgICB2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ21vZGVsVmlld01hdHJpeCcsICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnXVxuICAgIGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSlcblxuICAgIC8vIGNyZWF0ZSB0aGUgbWFya2VyIFJvb3RcbiAgICB0aGlzLm9iamVjdDNkID0gb2JqZWN0M2RcbiAgICB0aGlzLm9iamVjdDNkLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcbiAgICB0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0c2V0UGFyYW1ldGVyc1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcbiAgICBmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgaWYgKHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyTWFya2VyQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIF90aGlzLnBhcmFtZXRlcnNba2V5XSA9IG5ld1ZhbHVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuICAgICAgICB0aGlzLnNtb290aE1hdHJpY2VzID0gW107IC8vIGxhc3QgREVCT1VOQ0VfQ09VTlQgbW9kZWxWaWV3TWF0cml4XG4gICAgfVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Q29kZSBTZXBhcmF0b3JcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBhZGQgdGhpcyBtYXJrZXIgdG8gYXJ0b29sa2l0c3lzdGVtXG4gICAgLy8gVE9ETyByZW5hbWUgdGhhdCAuYWRkTWFya2VyQ29udHJvbHNcbiAgICBjb250ZXh0LmFkZE1hcmtlcih0aGlzKVxuXG4gICAgaWYgKF90aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuX2luaXRBcnRvb2xraXQoKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShBckJhc2VDb250cm9scy5wcm90b3R5cGUpO1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2VyQ29udHJvbHM7XG5cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuY29udGV4dC5yZW1vdmVNYXJrZXIodGhpcylcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgY29udHJvbHMgd2l0aCBuZXcgbW9kZWxWaWV3TWF0cml4XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBXaGVuIHlvdSBhY3R1YWxseSBnb3QgYSBuZXcgbW9kZWxWaWV3TWF0cml4LCB5b3UgbmVlZCB0byBwZXJmb20gYSB3aG9sZSBidW5jaFxuICogb2YgdGhpbmdzLiBpdCBpcyBkb25lIGhlcmUuXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4ID0gZnVuY3Rpb24gKG1vZGVsVmlld01hdHJpeCkge1xuICAgIHZhciBtYXJrZXJPYmplY3QzRCA9IHRoaXMub2JqZWN0M2Q7XG5cbiAgICAvLyBtYXJrIG9iamVjdCBhcyB2aXNpYmxlXG4gICAgbWFya2VyT2JqZWN0M0QudmlzaWJsZSA9IHRydWVcblxuICAgIGlmICh0aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIC8vIGFwcGx5IGNvbnRleHQuX2F4aXNUcmFuc2Zvcm1NYXRyaXggLSBjaGFuZ2UgYXJ0b29sa2l0IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgICAgIHZhciB0bXBNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmNvcHkodGhpcy5jb250ZXh0Ll9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeClcbiAgICAgICAgdG1wTWF0cml4Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeClcblxuICAgICAgICBtb2RlbFZpZXdNYXRyaXguY29weSh0bXBNYXRyaXgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGF4aXMgb3JpZW50YXRpb24gb24gbWFya2VyIC0gYXJ0b29sa2l0IHNheSBaIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyIC0gYXIuanMgc2F5IFkgaXMgbm9ybWFsIHRvIHRoZSBtYXJrZXJcbiAgXHR2YXIgbWFya2VyQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWChNYXRoLlBJLzIpXG4gIFx0bW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5KG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cbiAgICB2YXIgcmVuZGVyUmVxZCA9IGZhbHNlO1xuXG4gICAgLy8gY2hhbmdlIG1hcmtlck9iamVjdDNELm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnKSB7XG4gICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoKSB7XG4gICAgICAgICAgICB2YXIgc3VtLFxuICAgICAgICAgICAgICAgIGksIGosXG4gICAgICAgICAgICAgICAgYXZlcmFnZXMsIC8vIGF2ZXJhZ2UgdmFsdWVzIGZvciBtYXRyaXggb3ZlciBsYXN0IHNtb290aENvdW50XG4gICAgICAgICAgICAgICAgZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPSAwO1xuXG4gICAgICAgICAgICB0aGlzLnNtb290aE1hdHJpY2VzLnB1c2gobW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzLnNsaWNlKCkpOyAvLyBhZGQgbGF0ZXN0XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNtb290aE1hdHJpY2VzLmxlbmd0aCA8ICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQgKyAxKSkge1xuICAgICAgICAgICAgICAgIG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7IC8vIG5vdCBlbm91Z2ggZm9yIGF2ZXJhZ2VcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zbW9vdGhNYXRyaWNlcy5zaGlmdCgpOyAvLyByZW1vdmUgb2xkZXN0IGVudHJ5XG4gICAgICAgICAgICAgICAgYXZlcmFnZXMgPSBbXTtcblxuICAgICAgICAgICAgICAgIGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHsgLy8gbG9vcCBvdmVyIGVudHJpZXMgaW4gbWF0cml4XG4gICAgICAgICAgICAgICAgICAgIHN1bSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoaiBpbiB0aGlzLnNtb290aE1hdHJpY2VzKSB7IC8vIGNhbGN1bGF0ZSBhdmVyYWdlIGZvciB0aGlzIGVudHJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBzdW0gKz0gdGhpcy5zbW9vdGhNYXRyaWNlc1tqXVtpXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBhdmVyYWdlc1tpXSA9IHN1bSAvIHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaG93IG1hbnkgZWxlbWVudHMgdmFyeSBmcm9tIHRoZSBhdmVyYWdlIGJ5IGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRVxuICAgICAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoYXZlcmFnZXNbaV0gLSBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0pID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlKys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBpZiBtb3ZpbmcgKGkuZS4gYXQgbGVhc3QgQVZFUkFHRV9NQVRSSVhfVEhSRVNIT0xEIGVudHJpZXMgYXJlIG92ZXIgQVZFUkFHRV9NQVRSSVhfVE9MRVJBTkNFKVxuICAgICAgICAgICAgICAgIGlmIChleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA+PSB0aGlzLnBhcmFtZXRlcnMuc21vb3RoVGhyZXNob2xkKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZW4gdXBkYXRlIG1hdHJpeCB2YWx1ZXMgdG8gYXZlcmFnZSwgb3RoZXJ3aXNlLCBkb24ndCByZW5kZXIgdG8gbWluaW1pemUgaml0dGVyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSA9IGF2ZXJhZ2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7XG4gICAgICAgICAgICAgICAgICAgIHJlbmRlclJlcWQgPSB0cnVlOyAvLyByZW5kZXIgcmVxdWlyZWQgaW4gYW5pbWF0aW9uIGxvb3BcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4Jykge1xuICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpLmludmVydCgpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXG4gICAgbWFya2VyT2JqZWN0M0QubWF0cml4LmRlY29tcG9zZShtYXJrZXJPYmplY3QzRC5wb3NpdGlvbiwgbWFya2VyT2JqZWN0M0QucXVhdGVybmlvbiwgbWFya2VyT2JqZWN0M0Quc2NhbGUpXG5cbiAgICAvLyBkaXNwYXRjaEV2ZW50XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ21hcmtlckZvdW5kJyB9KTtcblxuICAgIHJldHVybiByZW5kZXJSZXFkO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5hbWUgPSAnJztcbiAgICBuYW1lICs9IHRoaXMucGFyYW1ldGVycy50eXBlO1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgdmFyIHVybCA9IHRoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsO1xuICAgICAgICB2YXIgYmFzZW5hbWUgPSB1cmwucmVwbGFjZSgvXi4qXFwvL2csICcnKTtcbiAgICAgICAgbmFtZSArPSAnIC0gJyArIGJhc2VuYW1lO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJykge1xuICAgICAgICBuYW1lICs9ICcgLSAnICsgdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy50eXBlID09PSAnbmZ0Jykge1xuICAgICAgICB2YXIgdXJsID0gdGhpcy5wYXJhbWV0ZXJzLmRlc2NyaXB0b3JzVXJsO1xuICAgICAgICB2YXIgYmFzZW5hbWUgPSB1cmwucmVwbGFjZSgvXi4qXFwvL2csICcnKTtcbiAgICAgICAgbmFtZSArPSAnIC0gJyArIGJhc2VuYW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAnbm8gLm5hbWUoKSBpbXBsZW1lbnRlZCBmb3IgdGhpcyBtYXJrZXIgY29udHJvbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmFtZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZvciBBcnRvb2xraXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIHZhciBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblxuICAgIHZhciBkZWxheWVkSW5pdFRpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG4gICAgICAgIHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuICAgICAgICBpZiAoYXJDb250cm9sbGVyID09PSBudWxsKSByZXR1cm5cbiAgICAgICAgLy8gc3RvcCBsb29waW5nIGlmIGl0IGlzIGluaXRcbiAgICAgICAgY2xlYXJJbnRlcnZhbChkZWxheWVkSW5pdFRpbWVySWQpXG4gICAgICAgIGRlbGF5ZWRJbml0VGltZXJJZCA9IG51bGxcbiAgICAgICAgLy8gbGF1bmNoIHRoZSBfcG9zdEluaXRBcnRvb2xraXRcbiAgICAgICAgcG9zdEluaXQoKVxuICAgIH0sIDEwMDAgLyA1MClcblxuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gcG9zdEluaXQoKSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG4gICAgICAgIHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuICAgICAgICBjb25zb2xlLmFzc2VydChhckNvbnRyb2xsZXIgIT09IG51bGwpXG5cbiAgICAgICAgLy8gc3RhcnQgdHJhY2tpbmcgdGhpcyBwYXR0ZXJuXG4gICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJykge1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmxvYWRNYXJrZXIoX3RoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsKS50aGVuKGZ1bmN0aW9uIChtYXJrZXJJZCkge1xuICAgICAgICAgICAgICAgIGFydG9vbGtpdE1hcmtlcklkID0gbWFya2VySWRcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIudHJhY2tQYXR0ZXJuTWFya2VySWQoYXJ0b29sa2l0TWFya2VySWQsIF90aGlzLnBhcmFtZXRlcnMuc2l6ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJykge1xuICAgICAgICAgICAgYXJ0b29sa2l0TWFya2VySWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnRyYWNrQmFyY29kZU1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuICAgICAgICB9IGVsc2UgaWYgKF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ25mdCcpIHtcbiAgICAgICAgICAgIC8vIHVzZSB3b3JrZXJzIGFzIGRlZmF1bHRcbiAgICAgICAgICAgIGhhbmRsZU5GVChfdGhpcy5wYXJhbWV0ZXJzLmRlc2NyaXB0b3JzVXJsLCBhckNvbnRyb2xsZXIpO1xuICAgICAgICB9IGVsc2UgaWYgKF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nKSB7XG4gICAgICAgICAgICBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGZhbHNlLCAnaW52YWxpZCBtYXJrZXIgdHlwZScsIF90aGlzLnBhcmFtZXRlcnMudHlwZSlcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpc3RlbiB0byB0aGUgZXZlbnRcbiAgICAgICAgYXJDb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsKSByZXR1cm5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5tYXJrZXIuaWRQYXR0ID09PSBhcnRvb2xraXRNYXJrZXJJZCkgb25NYXJrZXJGb3VuZChldmVudClcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScpIHtcbiAgICAgICAgICAgICAgICBpZiAoYXJ0b29sa2l0TWFya2VySWQgPT09IG51bGwpIHJldHVyblxuICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCA9PT0gYXJ0b29sa2l0TWFya2VySWQpIG9uTWFya2VyRm91bmQoZXZlbnQpXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlVOS05PV05fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nKSB7XG4gICAgICAgICAgICAgICAgb25NYXJrZXJGb3VuZChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0TWF0cml4KG1hdHJpeCwgdmFsdWUpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gW107XG4gICAgICAgIGZvciAodmFyIGtleSBpbiB2YWx1ZSkge1xuICAgICAgICAgICAgYXJyYXlba2V5XSA9IHZhbHVlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBtYXRyaXguZWxlbWVudHMuc2V0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIG1hdHJpeC5lbGVtZW50cy5zZXQoYXJyYXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWF0cml4LmVsZW1lbnRzID0gW10uc2xpY2UuY2FsbChhcnJheSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gaGFuZGxlTkZUKGRlc2NyaXB0b3JzVXJsLCBhckNvbnRyb2xsZXIpIHtcbiAgICAgICAgdmFyIHdvcmtlciA9IG5ldyBXb3JrZXIoKTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYXJqcy12aWRlby1sb2FkZWQnLCBmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgIHZhciB2aWRlbyA9IGV2LmRldGFpbC5jb21wb25lbnQ7XG4gICAgICAgICAgICB2YXIgdncgPSB2aWRlby5jbGllbnRXaWR0aDtcbiAgICAgICAgICAgIHZhciB2aCA9IHZpZGVvLmNsaWVudEhlaWdodDtcblxuICAgICAgICAgICAgdmFyIHBzY2FsZSA9IDMyMCAvIE1hdGgubWF4KHZ3LCB2aCAvIDMgKiA0KTtcblxuICAgICAgICAgICAgY29uc3QgdyA9IHZ3ICogcHNjYWxlO1xuICAgICAgICAgICAgY29uc3QgaCA9IHZoICogcHNjYWxlO1xuICAgICAgICAgICAgY29uc3QgcHcgPSBNYXRoLm1heCh3LCBoIC8gMyAqIDQpO1xuICAgICAgICAgICAgY29uc3QgcGggPSBNYXRoLm1heChoLCB3IC8gNCAqIDMpO1xuICAgICAgICAgICAgY29uc3Qgb3ggPSAocHcgLSB3KSAvIDI7XG4gICAgICAgICAgICBjb25zdCBveSA9IChwaCAtIGgpIC8gMjtcblxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5jbGllbnRXaWR0aCA9IHB3ICsgXCJweFwiO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5jbGllbnRIZWlnaHQgPSBwaCArIFwicHhcIjtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMud2lkdGggPSBwdztcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuaGVpZ2h0ID0gcGg7XG5cbiAgICAgICAgICAgIHZhciBjb250ZXh0X3Byb2Nlc3MgPSBhckNvbnRyb2xsZXIuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIHByb2Nlc3MoKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dF9wcm9jZXNzLmZpbGxTdHlsZSA9IFwiYmxhY2tcIjtcbiAgICAgICAgICAgICAgICBjb250ZXh0X3Byb2Nlc3MuZmlsbFJlY3QoMCwgMCwgcHcsIHBoKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0X3Byb2Nlc3MuZHJhd0ltYWdlKHZpZGVvLCAwLCAwLCB2dywgdmgsIG94LCBveSwgdywgaCk7XG5cbiAgICAgICAgICAgICAgICB2YXIgaW1hZ2VEYXRhID0gY29udGV4dF9wcm9jZXNzLmdldEltYWdlRGF0YSgwLCAwLCBwdywgcGgpO1xuICAgICAgICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7IHR5cGU6IFwicHJvY2Vzc1wiLCBpbWFnZWRhdGE6IGltYWdlRGF0YSB9LCBbaW1hZ2VEYXRhLmRhdGEuYnVmZmVyXSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGluaXRpYWxpemUgdGhlIHdvcmtlclxuICAgICAgICAgICAgd29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW5pdCcsXG4gICAgICAgICAgICAgICAgcHc6IHB3LFxuICAgICAgICAgICAgICAgIHBoOiBwaCxcbiAgICAgICAgICAgICAgICBtYXJrZXI6IGRlc2NyaXB0b3JzVXJsLFxuICAgICAgICAgICAgICAgIHBhcmFtOiBhckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0sXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChldikge1xuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2VuZExvYWRpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBsb2FkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuYXJqcy1sb2FkZXInKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBlbmRMb2FkaW5nRXZlbnQgPSBuZXcgRXZlbnQoJ2FyanMtbmZ0LWxvYWRlZCcpO1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChlbmRMb2FkaW5nRXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2xvYWRlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHByb2ogPSBKU09OLnBhcnNlKGV2LmRhdGEucHJvaik7XG4gICAgICAgICAgICAgICAgICAgIHZhciByYXRpb1cgPSBwdyAvIHc7XG4gICAgICAgICAgICAgICAgICAgIHZhciByYXRpb0ggPSBwaCAvIGg7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMF0gKj0gcmF0aW9XO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzRdICo9IHJhdGlvVztcbiAgICAgICAgICAgICAgICAgICAgcHJvals4XSAqPSByYXRpb1c7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMTJdICo9IHJhdGlvVztcbiAgICAgICAgICAgICAgICAgICAgcHJvalsxXSAqPSByYXRpb0g7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbNV0gKj0gcmF0aW9IO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzldICo9IHJhdGlvSDtcbiAgICAgICAgICAgICAgICAgICAgcHJvalsxM10gKj0gcmF0aW9IO1xuXG4gICAgICAgICAgICAgICAgICAgIHNldE1hdHJpeChfdGhpcy5vYmplY3QzZC5tYXRyaXgsIHByb2opO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChldiAmJiBldi5kYXRhICYmIGV2LmRhdGEudHlwZSA9PT0gJ2ZvdW5kJykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbWF0cml4ID0gSlNPTi5wYXJzZShldi5kYXRhLm1hdHJpeCk7XG5cbiAgICAgICAgICAgICAgICAgICAgb25NYXJrZXJGb3VuZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQVJUb29sa2l0Lk5GVF9NQVJLRVIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4OiBtYXRyaXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnOiBldi5kYXRhLnR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnNob3dPYmplY3QgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnNob3dPYmplY3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwcm9jZXNzKCk7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIG9uTWFya2VyRm91bmQoZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmUGF0dCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSkgcmV0dXJuXG4gICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZk1hdHJpeCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSkgcmV0dXJuXG5cbiAgICAgICAgdmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGV2ZW50LmRhdGEubWF0cml4KVxuICAgICAgICBfdGhpcy51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4KG1vZGVsVmlld01hdHJpeClcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlckNvbnRyb2xzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQgfSA9IGpzYXJ0b29sa2l0O1xuXG5jb25zdCBNYXJrZXJDb250cm9scyA9IGZ1bmN0aW9uKGNvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdEFyQmFzZUNvbnRyb2xzLmNhbGwodGhpcywgb2JqZWN0M2QpXG5cblx0dGhpcy5jb250ZXh0ID0gY29udGV4dFxuXHQvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBzaXplIG9mIHRoZSBtYXJrZXIgaW4gbWV0ZXJcblx0XHRzaXplIDogMSxcblx0XHQvLyB0eXBlIG9mIG1hcmtlciAtIFsncGF0dGVybicsICdiYXJjb2RlJywgJ3Vua25vd24nIF1cblx0XHR0eXBlIDogJ3Vua25vd24nLFxuXHRcdC8vIHVybCBvZiB0aGUgcGF0dGVybiAtIElJRiB0eXBlPSdwYXR0ZXJuJ1xuXHRcdHBhdHRlcm5VcmwgOiBudWxsLFxuXHRcdC8vIHZhbHVlIG9mIHRoZSBiYXJjb2RlIC0gSUlGIHR5cGU9J2JhcmNvZGUnXG5cdFx0YmFyY29kZVZhbHVlIDogbnVsbCxcblx0XHQvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG5cdFx0Y2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHRcdC8vIG1pbmltYWwgY29uZmlkZW5jZSBpbiB0aGUgbWFya2UgcmVjb2duaXRpb24gLSBiZXR3ZWVuIFswLCAxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdG1pbkNvbmZpZGVuY2U6IDAuNixcblx0XHQvLyB0dXJuIG9uL29mZiBjYW1lcmEgc21vb3RoaW5nXG5cdFx0c21vb3RoOiBmYWxzZSxcblx0XHQvLyBudW1iZXIgb2YgbWF0cmljZXMgdG8gc21vb3RoIHRyYWNraW5nIG92ZXIsIG1vcmUgPSBzbW9vdGhlciBidXQgc2xvd2VyIGZvbGxvd1xuXHRcdHNtb290aENvdW50OiA1LFxuXHRcdC8vIGRpc3RhbmNlIHRvbGVyYW5jZSBmb3Igc21vb3RoaW5nLCBpZiBzbW9vdGhUaHJlc2hvbGQgIyBvZiBtYXRyaWNlcyBhcmUgdW5kZXIgdG9sZXJhbmNlLCB0cmFja2luZyB3aWxsIHN0YXkgc3RpbGxcblx0XHRzbW9vdGhUb2xlcmFuY2U6IDAuMDEsXG5cdFx0Ly8gdGhyZXNob2xkIGZvciBzbW9vdGhpbmcsIHdpbGwga2VlcCBzdGlsbCB1bmxlc3MgZW5vdWdoIG1hdHJpY2VzIGFyZSBvdmVyIHRvbGVyYW5jZVxuXHRcdHNtb290aFRocmVzaG9sZDogMixcblx0fVxuXG5cdC8vIHNhbml0eSBjaGVja1xuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ3BhdHRlcm4nLCAnYmFyY29kZScsICd1bmtub3duJ11cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMudHlwZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy50eXBlKVxuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ21vZGVsVmlld01hdHJpeCcsICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnIF1cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKVxuXG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSBtYXJrZXIgUm9vdFxuXHR0aGlzLm9iamVjdDNkID0gb2JqZWN0M2Rcblx0dGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJNYXJrZXJDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblxuXHRpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuXHRcdHRoaXMuc21vb3RoTWF0cmljZXMgPSBbXTsgLy8gbGFzdCBERUJPVU5DRV9DT1VOVCBtb2RlbFZpZXdNYXRyaXhcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gYWRkIHRoaXMgbWFya2VyIHRvIGFydG9vbGtpdHN5c3RlbVxuXHQvLyBUT0RPIHJlbmFtZSB0aGF0IC5hZGRNYXJrZXJDb250cm9sc1xuXHRjb250ZXh0LmFkZE1hcmtlcih0aGlzKVxuXG5cdGlmKCBfdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdHRoaXMuX2luaXRBcnRvb2xraXQoKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggQXJCYXNlQ29udHJvbHMucHJvdG90eXBlICk7XG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBNYXJrZXJDb250cm9scztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgaW5zdGFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbigpe1xuXHRpZiggdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5hckNvbnRyb2xsZXIgKSB7XG5cdFx0dGhpcy5jb250ZXh0LmFyQ29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCB0aGlzLm9uR2V0TWFya2VyKTtcblx0fVxuXG5cdHRoaXMuY29udGV4dC5yZW1vdmVNYXJrZXIodGhpcyk7XG5cdFxuXHR0aGlzLm9iamVjdDNkID0gbnVsbDtcblx0dGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZSBjb250cm9scyB3aXRoIG5ldyBtb2RlbFZpZXdNYXRyaXhcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFdoZW4geW91IGFjdHVhbGx5IGdvdCBhIG5ldyBtb2RlbFZpZXdNYXRyaXgsIHlvdSBuZWVkIHRvIHBlcmZvbSBhIHdob2xlIGJ1bmNoXG4gKiBvZiB0aGluZ3MuIGl0IGlzIGRvbmUgaGVyZS5cbiAqL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXggPSBmdW5jdGlvbihtb2RlbFZpZXdNYXRyaXgpe1xuXHR2YXIgbWFya2VyT2JqZWN0M0QgPSB0aGlzLm9iamVjdDNkO1xuXG5cdC8vIG1hcmsgb2JqZWN0IGFzIHZpc2libGVcblx0bWFya2VyT2JqZWN0M0QudmlzaWJsZSA9IHRydWVcblxuXHRpZiggdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdC8vIGFwcGx5IGNvbnRleHQuX2F4aXNUcmFuc2Zvcm1NYXRyaXggLSBjaGFuZ2UgYXJ0b29sa2l0IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG5cdFx0dmFyIHRtcE1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuY29weSh0aGlzLmNvbnRleHQuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4KVxuXHRcdHRtcE1hdHJpeC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgpXG5cblx0XHRtb2RlbFZpZXdNYXRyaXguY29weSh0bXBNYXRyaXgpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdC8vIGNoYW5nZSBheGlzIG9yaWVudGF0aW9uIG9uIG1hcmtlciAtIGFydG9vbGtpdCBzYXkgWiBpcyBub3JtYWwgdG8gdGhlIG1hcmtlciAtIGFyLmpzIHNheSBZIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyXG5cdHZhciBtYXJrZXJBeGlzVHJhbnNmb3JtTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25YKE1hdGguUEkvMilcblx0bW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5KG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cblx0dmFyIHJlbmRlclJlcWQgPSBmYWxzZTtcblxuXHQvLyBjaGFuZ2UgbWFya2VyT2JqZWN0M0QubWF0cml4IGJhc2VkIG9uIHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0aWYgKHRoaXMucGFyYW1ldGVycy5zbW9vdGgpIHtcblx0XHRcdHZhciBzdW0sXG5cdFx0XHRcdFx0aSwgaixcblx0XHRcdFx0XHRhdmVyYWdlcywgLy8gYXZlcmFnZSB2YWx1ZXMgZm9yIG1hdHJpeCBvdmVyIGxhc3Qgc21vb3RoQ291bnRcblx0XHRcdFx0XHRleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA9IDA7XG5cblx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMucHVzaChtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMuc2xpY2UoKSk7IC8vIGFkZCBsYXRlc3RcblxuXHRcdFx0aWYgKHRoaXMuc21vb3RoTWF0cmljZXMubGVuZ3RoIDwgKHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudCArIDEpKSB7XG5cdFx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7IC8vIG5vdCBlbm91Z2ggZm9yIGF2ZXJhZ2Vcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMuc2hpZnQoKTsgLy8gcmVtb3ZlIG9sZGVzdCBlbnRyeVxuXHRcdFx0XHRhdmVyYWdlcyA9IFtdO1xuXG5cdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHsgLy8gbG9vcCBvdmVyIGVudHJpZXMgaW4gbWF0cml4XG5cdFx0XHRcdFx0c3VtID0gMDtcblx0XHRcdFx0XHRmb3IgKGogaW4gdGhpcy5zbW9vdGhNYXRyaWNlcykgeyAvLyBjYWxjdWxhdGUgYXZlcmFnZSBmb3IgdGhpcyBlbnRyeVxuXHRcdFx0XHRcdFx0c3VtICs9IHRoaXMuc21vb3RoTWF0cmljZXNbal1baV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGF2ZXJhZ2VzW2ldID0gc3VtIC8gdGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50O1xuXHRcdFx0XHRcdC8vIGNoZWNrIGhvdyBtYW55IGVsZW1lbnRzIHZhcnkgZnJvbSB0aGUgYXZlcmFnZSBieSBhdCBsZWFzdCBBVkVSQUdFX01BVFJJWF9UT0xFUkFOQ0Vcblx0XHRcdFx0XHRpZiAoTWF0aC5hYnMoYXZlcmFnZXNbaV0gLSBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0pID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UpIHtcblx0XHRcdFx0XHRcdGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlKys7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaWYgbW92aW5nIChpLmUuIGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RIUkVTSE9MRCBlbnRyaWVzIGFyZSBvdmVyIEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRSlcblx0XHRcdFx0aWYgKGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUaHJlc2hvbGQpIHtcblx0XHRcdFx0XHQvLyB0aGVuIHVwZGF0ZSBtYXRyaXggdmFsdWVzIHRvIGF2ZXJhZ2UsIG90aGVyd2lzZSwgZG9uJ3QgcmVuZGVyIHRvIG1pbmltaXplIGppdHRlclxuXHRcdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHtcblx0XHRcdFx0XHRcdG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSA9IGF2ZXJhZ2VzW2ldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpO1xuXHRcdFx0XHRcdHJlbmRlclJlcWQgPSB0cnVlOyAvLyByZW5kZXIgcmVxdWlyZWQgaW4gYW5pbWF0aW9uIGxvb3Bcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fVxuXHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KS5pbnZlcnQoKVxuXHR9ZWxzZSB7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdH1cblxuXHQvLyBkZWNvbXBvc2UgLSB0aGUgbWF0cml4IGludG8gLnBvc2l0aW9uLCAucXVhdGVybmlvbiwgLnNjYWxlXG5cdG1hcmtlck9iamVjdDNELm1hdHJpeC5kZWNvbXBvc2UobWFya2VyT2JqZWN0M0QucG9zaXRpb24sIG1hcmtlck9iamVjdDNELnF1YXRlcm5pb24sIG1hcmtlck9iamVjdDNELnNjYWxlKVxuXG5cdC8vIGRpc3BhdGNoRXZlbnRcblx0dGhpcy5kaXNwYXRjaEV2ZW50KCB7IHR5cGU6ICdtYXJrZXJGb3VuZCcgfSApO1xuXG5cdHJldHVybiByZW5kZXJSZXFkO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBwcm92aWRlIGEgbmFtZSBmb3IgYSBtYXJrZXJcbiAqIC0gc2lsbHkgaGV1cmlzdGljIGZvciBub3dcbiAqIC0gc2hvdWxkIGJlIGltcHJvdmVkXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0dmFyIG5hbWUgPSAnJ1xuXHRuYW1lICs9IHRoaXMucGFyYW1ldGVycy50eXBlO1xuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdHZhciB1cmwgPSB0aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybFxuXHRcdHZhciBiYXNlbmFtZSA9IHVybC5yZXBsYWNlKC9eLipcXC8vZywgJycpXG5cdFx0bmFtZSArPSAnIC0gJyArIGJhc2VuYW1lXG5cdH1lbHNlIGlmKCB0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0bmFtZSArPSAnIC0gJyArIHRoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcblx0fWVsc2V7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICdubyAubmFtZSgpIGltcGxlbWVudGVkIGZvciB0aGlzIG1hcmtlciBjb250cm9scycpXG5cdH1cblx0cmV0dXJuIG5hbWVcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZvciBBcnRvb2xraXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdHZhciBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblxuXHR2YXIgZGVsYXllZEluaXRUaW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGlmKCBhckNvbnRyb2xsZXIgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0Ly8gc3RvcCBsb29waW5nIGlmIGl0IGlzIGluaXRcblx0XHRjbGVhckludGVydmFsKGRlbGF5ZWRJbml0VGltZXJJZClcblx0XHRkZWxheWVkSW5pdFRpbWVySWQgPSBudWxsXG5cdFx0Ly8gbGF1bmNoIHRoZSBfcG9zdEluaXRBcnRvb2xraXRcblx0XHRwb3N0SW5pdCgpXG5cdH0sIDEwMDAvNTApXG5cblx0cmV0dXJuXG5cblx0ZnVuY3Rpb24gcG9zdEluaXQoKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGNvbnNvbGUuYXNzZXJ0KGFyQ29udHJvbGxlciAhPT0gbnVsbCApXG5cblx0XHQvLyBzdGFydCB0cmFja2luZyB0aGlzIHBhdHRlcm5cblx0XHRpZiggX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0ICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5sb2FkTWFya2VyKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybCkudGhlbihmdW5jdGlvbihtYXJrZXJJZCkge1xuXHRcdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IG1hcmtlcklkXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci50cmFja1BhdHRlcm5NYXJrZXJJZChhcnRvb2xraXRNYXJrZXJJZCwgX3RoaXMucGFyYW1ldGVycy5zaXplKTtcblx0ICAgICAgICAgICAgICAgIH0pO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHRcdFx0YXJDb250cm9sbGVyLnRyYWNrQmFyY29kZU1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG5cdFx0fWVsc2V7XG5cdFx0XHRjb25zb2xlLmxvZyhmYWxzZSwgJ2ludmFsaWQgbWFya2VyIHR5cGUnLCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG5cdFx0fVxuXG5cdFx0Ly8gbGlzdGVuIHRvIHRoZSBldmVudFxuXHRcdGFyQ29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCBvbkdldE1hcmtlcilcblxuXHR9XG5cblx0ZnVuY3Rpb24gb25NYXJrZXJGb3VuZChldmVudCl7XG5cdFx0Ly8gaG9ub3IgaGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZVxuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZlBhdHQgPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgKVx0cmV0dXJuXG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmTWF0cml4IDwgX3RoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlIClcdHJldHVyblxuXG5cdFx0dmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGV2ZW50LmRhdGEubWF0cml4KVxuXHRcdF90aGlzLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXgobW9kZWxWaWV3TWF0cml4KVxuXHR9XG5cblx0ZnVuY3Rpb24gb25HZXRNYXJrZXIoZXZlbnQpe1xuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdFx0aWYoIGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsIClcdHJldHVyblxuXHRcdFx0aWYoIGV2ZW50LmRhdGEubWFya2VyLmlkUGF0dCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSBvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1lbHNlIGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0Ly8gY29uc29sZS5sb2coJ0JBUkNPREVfTUFSS0VSIGlkTWF0cml4JywgZXZlbnQuZGF0YS5tYXJrZXIuaWRNYXRyaXgsIGFydG9vbGtpdE1hcmtlcklkIClcblx0XHRcdGlmKCBhcnRvb2xraXRNYXJrZXJJZCA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHRcdGlmKCBldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSAgb25NYXJrZXJGb3VuZChldmVudClcblx0XHR9ZWxzZSBpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuVU5LTk9XTl9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAndW5rbm93bicpe1xuXHRcdFx0b25NYXJrZXJGb3VuZChldmVudClcblx0XHR9XG5cdH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJDb250cm9scztcbiIsImltcG9ydCBVdGlscyBmcm9tICcuLi9uZXctYXBpL2FyanMtdXRpbHMnO1xuaW1wb3J0IEFyVG9vbGtpdENvbnRleHQgZnJvbSAnLi9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbi8qKlxuICogQXJUb29sa2l0UHJvZmlsZSBoZWxwcyB5b3UgYnVpbGQgcGFyYW1ldGVycyBmb3IgYXJ0b29sa2l0XG4gKiAtIGl0IGlzIGZ1bGx5IGluZGVwZW5kZW50IG9mIHRoZSByZXN0IG9mIHRoZSBjb2RlXG4gKiAtIGFsbCB0aGUgb3RoZXIgY2xhc3NlcyBhcmUgc3RpbGwgZXhwZWN0aW5nIG5vcm1hbCBwYXJhbWV0ZXJzXG4gKiAtIHlvdSBjYW4gdXNlIHRoaXMgY2xhc3MgdG8gdW5kZXJzdGFuZCBob3cgdG8gdHVuZSB5b3VyIHNwZWNpZmljIHVzZWNhc2VcbiAqIC0gaXQgaXMgbWFkZSB0byBoZWxwIHBlb3BsZSB0byBidWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdW5kZXJzdGFuZGluZyBhbGwgdGhlIHVuZGVybHlpbmcgZGV0YWlscy5cbiAqL1xuY29uc3QgUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlc2V0KClcblxuICAgIHRoaXMucGVyZm9ybWFuY2UoJ2RlZmF1bHQnKVxufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5fZ3Vlc3NQZXJmb3JtYW5jZUxhYmVsID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBpc01vYmlsZSA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvd2ViT1MvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQYWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9CbGFja0JlcnJ5L2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dpbmRvd3MgUGhvbmUvaSlcbiAgICAgICAgPyB0cnVlIDogZmFsc2VcbiAgICBpZiAoaXNNb2JpbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuICdwaG9uZS1ub3JtYWwnXG4gICAgfVxuICAgIHJldHVybiAnZGVza3RvcC1ub3JtYWwnXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHJlc2V0IGFsbCBwYXJhbWV0ZXJzXG4gKi9cblByb2ZpbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdG8gcmVhZCBmcm9tIHRoZSB3ZWJjYW1cbiAgICAgICAgc291cmNlVHlwZTogJ3dlYmNhbScsXG4gICAgfVxuXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycyA9IHtcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLCAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICAgICAgZGV0ZWN0aW9uTW9kZTogJ21vbm8nLFxuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgIHBhdHRlcm5Vcmw6IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJywgLy8gVE9ETyBkZXBlbmRlbnQgb2YgYnVpbGQ/XG4gICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xufTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtYW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG5Qcm9maWxlLnByb3RvdHlwZS5wZXJmb3JtYW5jZSA9IGZ1bmN0aW9uIChsYWJlbCkge1xuXG4gICAgaWYgKGxhYmVsID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgbGFiZWwgPSB0aGlzLl9ndWVzc1BlcmZvcm1hbmNlTGFiZWwoKVxuICAgIH1cblxuICAgIGlmIChsYWJlbCA9PT0gJ2Rlc2t0b3AtZmFzdCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDY0MCAqIDNcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnZGVza3RvcC1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA2NDBcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODBcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSA2MFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA4MCAqIDRcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA2MCAqIDRcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1zbG93Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gODAgKiAzXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNjAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3Vua25vbnduIGxhYmVsICcgKyBsYWJlbClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRNYXJrZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblByb2ZpbGUucHJvdG90eXBlLmRlZmF1bHRNYXJrZXIgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgdHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kIHx8IHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUgPSAnbW9ubydcbiAgICAgICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG4gICAgICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMucGF0dGVyblVybCA9IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJyAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cbiAgICByZXR1cm4gdGhpc1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRTb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlV2ViY2FtID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3dlYmNhbSdcbiAgICBkZWxldGUgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybFxuICAgIHJldHVybiB0aGlzXG59XG5cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZVZpZGVvID0gZnVuY3Rpb24gKHVybCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3ZpZGVvJ1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmwgPSB1cmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VJbWFnZSA9IGZ1bmN0aW9uICh1cmwpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9ICdpbWFnZSdcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUudHJhY2tpbmdCYWNrZW5kID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUud2Fybignc3RvcCBwcm9maWxlLnRyYWNraW5nQmFja2VuZCgpIG9ic29sZXRlIGZ1bmN0aW9uLiB1c2UgLnRyYWNraW5nTWV0aG9kIGluc3RlYWQnKVxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuY2hhbmdlTWF0cml4TW9kZSA9IGZ1bmN0aW9uIChjaGFuZ2VNYXRyaXhNb2RlKSB7XG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID0gY2hhbmdlTWF0cml4TW9kZVxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dHJhY2tpbmdCYWNrZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLnRyYWNraW5nTWV0aG9kID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIGRhdGEgPSBVdGlscy5wYXJzZVRyYWNraW5nTWV0aG9kKHRyYWNraW5nTWV0aG9kKVxuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZGF0YS5tYXJrZXJzQXJlYUVuYWJsZWRcbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9IGRhdGEudHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLyoqXG4gKiBjaGVjayBpZiB0aGUgcHJvZmlsZSBpcyB2YWxpZC4gVGhyb3cgYW4gZXhjZXB0aW9uIGlzIG5vdCB2YWxpZFxuICovXG5Qcm9maWxlLnByb3RvdHlwZS5jaGVja0lmVmFsaWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvZmlsZTtcbiIsImNvbnN0IFNvdXJjZSA9IGZ1bmN0aW9uIChwYXJhbWV0ZXJzKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgdGhpcy5yZWFkeSA9IGZhbHNlXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdHlwZSBvZiBzb3VyY2UgLSBbJ3dlYmNhbScsICdpbWFnZScsICd2aWRlbyddXG4gICAgICAgIHNvdXJjZVR5cGU6ICd3ZWJjYW0nLFxuICAgICAgICAvLyB1cmwgb2YgdGhlIHNvdXJjZSAtIHZhbGlkIGlmIHNvdXJjZVR5cGUgPSBpbWFnZXx2aWRlb1xuICAgICAgICBzb3VyY2VVcmw6IG51bGwsXG5cbiAgICAgICAgLy8gRGV2aWNlIGlkIG9mIHRoZSBjYW1lcmEgdG8gdXNlIChvcHRpb25hbClcbiAgICAgICAgZGV2aWNlSWQ6IG51bGwsXG5cbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBpbml0aWFsaXplIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgc291cmNlV2lkdGg6IDY0MCxcbiAgICAgICAgc291cmNlSGVpZ2h0OiA0ODAsXG4gICAgICAgIC8vIHJlc29sdXRpb24gZGlzcGxheWVkIGZvciB0aGUgc291cmNlXG4gICAgICAgIGRpc3BsYXlXaWR0aDogNjQwLFxuICAgICAgICBkaXNwbGF5SGVpZ2h0OiA0ODAsXG4gICAgfVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJUb29sa2l0U291cmNlOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyVG9vbGtpdFNvdXJjZTogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub25Jbml0aWFsQ2xpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYoIHRoaXMuZG9tRWxlbWVudCAmJiB0aGlzLmRvbUVsZW1lbnQucGxheSApIHtcbiAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5wbGF5KCkudGhlbiggKCkgPT4ge30pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvblJlYWR5LCBvbkVycm9yKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZUltYWdlKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VWaWRlbyhvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICd3ZWJjYW0nKSB7XG4gICAgICAgIC8vIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVdlYmNhbU9sZChvblNvdXJjZVJlYWR5KVxuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VXZWJjYW0ob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyBhdHRhY2hcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50XG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50b3AgPSAnMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5sZWZ0ID0gJzBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuekluZGV4ID0gJy0yJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2FyanMtdmlkZW8nKTtcblxuICAgIHJldHVybiB0aGlzXG4gICAgZnVuY3Rpb24gb25Tb3VyY2VSZWFkeSgpIHtcbiAgICAgICAgaWYoICFfdGhpcy5kb21FbGVtZW50ICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChfdGhpcy5kb21FbGVtZW50KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdhcmpzLXZpZGVvLWxvYWRlZCcsIHtcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcblxuICAgICAgICBfdGhpcy5yZWFkeSA9IHRydWVcblxuICAgICAgICBvblJlYWR5ICYmIG9uUmVhZHkoKVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VJbWFnZSA9IGZ1bmN0aW9uIChvblJlYWR5KSB7XG4gICAgLy8gVE9ETyBtYWtlIGl0IHN0YXRpY1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aDtcbiAgICBkb21FbGVtZW50LmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQ7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnO1xuXG4gICAgZG9tRWxlbWVudC5vbmxvYWQgPSBvblJlYWR5O1xuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IHZpZGVvIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlVmlkZW8gPSBmdW5jdGlvbiAob25SZWFkeSkge1xuICAgIC8vIFRPRE8gbWFrZSBpdCBzdGF0aWNcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC5zdHlsZS5vYmplY3RGaXQgPSAnaW5pdGlhbCc7XG5cbiAgICBkb21FbGVtZW50LmF1dG9wbGF5ID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LndlYmtpdFBsYXlzaW5saW5lID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LmNvbnRyb2xzID0gZmFsc2U7XG4gICAgZG9tRWxlbWVudC5sb29wID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50Lm11dGVkID0gdHJ1ZTtcblxuICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTtcblxuICAgIGRvbUVsZW1lbnQud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGg7XG4gICAgZG9tRWxlbWVudC5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0O1xuICAgIGRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheVdpZHRoICsgJ3B4JztcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4JztcblxuICAgIGRvbUVsZW1lbnQub25sb2FkZWRkYXRhID0gb25SZWFkeTtcbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCB3ZWJjYW0gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlV2ViY2FtID0gZnVuY3Rpb24gKG9uUmVhZHksIG9uRXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAvLyBpbml0IGRlZmF1bHQgdmFsdWVcbiAgICBvbkVycm9yID0gb25FcnJvciB8fCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtZXJyb3InLCB7IGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5pbm5lckhUTUwgPSAnV2ViY2FtIEVycm9yXFxuTmFtZTogJyArIGVycm9yLm5hbWUgKyAnXFxuTWVzc2FnZTogJyArIGVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAxMDAwKTtcbiAgICB9XG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2F1dG9wbGF5JywgJycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdtdXRlZCcsICcnKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgncGxheXNpbmxpbmUnLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCdcblxuICAgIC8vIGNoZWNrIEFQSSBpcyBhdmFpbGFibGVcbiAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSB1bmRlZmluZWQpIHZhciBmY3ROYW1lID0gJ25hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnXG4gICAgICAgIGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnV2ViUlRDIGlzc3VlLSEgJyArIGZjdE5hbWUgKyAnIG5vdCBwcmVzZW50IGluIHlvdXIgYnJvd3NlcidcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgLy8gZ2V0IGF2YWlsYWJsZSBkZXZpY2VzXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbihmdW5jdGlvbiAoZGV2aWNlcykge1xuICAgICAgICB2YXIgdXNlck1lZGlhQ29uc3RyYWludHMgPSB7XG4gICAgICAgICAgICBhdWRpbzogZmFsc2UsXG4gICAgICAgICAgICB2aWRlbzoge1xuICAgICAgICAgICAgICAgIGZhY2luZ01vZGU6ICdlbnZpcm9ubWVudCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbjogMTAyNCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxOTIwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAvLyBtaW46IDc3NixcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxMDgwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChudWxsICE9PSBfdGhpcy5wYXJhbWV0ZXJzLmRldmljZUlkKSB7XG4gICAgICAgICAgICB1c2VyTWVkaWFDb25zdHJhaW50cy52aWRlby5kZXZpY2VJZCA9IHtcbiAgICAgICAgICAgICAgICBleGFjdDogX3RoaXMucGFyYW1ldGVycy5kZXZpY2VJZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdldCBhIGRldmljZSB3aGljaCBzYXRpc2Z5IHRoZSBjb25zdHJhaW50c1xuICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh1c2VyTWVkaWFDb25zdHJhaW50cykudGhlbihmdW5jdGlvbiBzdWNjZXNzKHN0cmVhbSkge1xuICAgICAgICAgICAgLy8gc2V0IHRoZSAuc3JjIG9mIHRoZSBkb21FbGVtZW50XG4gICAgICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdCA9IHN0cmVhbTtcblxuICAgICAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtaW5pdCcsIHsgc3RyZWFtOiBzdHJlYW0gfSk7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cbiAgICAgICAgICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgX3RoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTsgICAgICAgICAgICBcblxuICAgICAgICAgICAgb25SZWFkeSgpO1xuICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlYWR5ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgICAgIHRoaXMuX2Rpc3Bvc2VTb3VyY2VJbWFnZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAndmlkZW8nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVZpZGVvKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICd3ZWJjYW0nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVdlYmNhbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcblxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uSW5pdGlhbENsaWNrLCB7b25jZTp0cnVlfSk7ICAgICAgICAgICAgXG59XHRcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgdmlkZW8gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlVmlkZW8gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuICAgIFxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL21lZGlhLmh0bWwjYmVzdC1wcmFjdGljZXMtZm9yLWF1dGhvcnMtdXNpbmctbWVkaWEtZWxlbWVudHNcbiAgICBkb21FbGVtZW50LnBhdXNlKCk7XG4gICAgZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3NyYycpOyBcbiAgICBkb21FbGVtZW50LmxvYWQoKTsgXG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpOyAgICBcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2Ugd2ViY2FtIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5fZGlzcG9zZVNvdXJjZVdlYmNhbSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG5cbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTI0MzY3NzJcbiAgICBpZiggZG9tRWxlbWVudC5zcmNPYmplY3QgJiYgZG9tRWxlbWVudC5zcmNPYmplY3QuZ2V0VHJhY2tzICkge1xuICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdC5nZXRUcmFja3MoKS5tYXAoKHRyYWNrKSA9PiB0cmFjay5zdG9wKCkpOyAgICBcbiAgICB9XHRcblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRIYW5kbGUgTW9iaWxlIFRvcmNoXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaGFzTW9iaWxlVG9yY2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN0cmVhbSA9IGFyVG9vbGtpdFNvdXJjZS5kb21FbGVtZW50LnNyY09iamVjdFxuICAgIGlmIChzdHJlYW0gaW5zdGFuY2VvZiBNZWRpYVN0cmVhbSA9PT0gZmFsc2UpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IGZhbHNlXG4gICAgfVxuXG4gICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTtcblxuICAgIC8vIGlmIHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKCkgZG9lc250IGV4aXN0LCByZXR1cm4gZmFsc2Ugbm93XG4gICAgaWYgKHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZVxuXG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIHJldHVybiBjYXBhYmlsaXRpZXMudG9yY2ggPyB0cnVlIDogZmFsc2Vcbn1cblxuLyoqXG4gKiB0b2dnbGUgdGhlIGZsYXNoL3RvcmNoIG9mIHRoZSBtb2JpbGUgZnVuIGlmIGFwcGxpY2FibGUuXG4gKiBHcmVhdCBwb3N0IGFib3V0IGl0IGh0dHBzOi8vd3d3Lm9iZXJob2Zlci5jby9tZWRpYXN0cmVhbXRyYWNrLWFuZC1pdHMtY2FwYWJpbGl0aWVzL1xuICovXG5Tb3VyY2UucHJvdG90eXBlLnRvZ2dsZU1vYmlsZVRvcmNoID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaGFzTW9iaWxlVG9yY2goKSA9PT0gdHJ1ZSlcblxuICAgIHZhciBzdHJlYW0gPSBhclRvb2xraXRTb3VyY2UuZG9tRWxlbWVudC5zcmNPYmplY3RcbiAgICBpZiAoc3RyZWFtIGluc3RhbmNlb2YgTWVkaWFTdHJlYW0gPT09IGZhbHNlKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdlbmFibGluZyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9ubHkgb24gd2ViY2FtJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPSBmYWxzZVxuICAgIH1cblxuICAgIHZhciB2aWRlb1RyYWNrID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07XG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIGlmICghY2FwYWJpbGl0aWVzLnRvcmNoKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdubyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9uIHlvdXIgY2FtZXJhJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2VcbiAgICB2aWRlb1RyYWNrLmFwcGx5Q29uc3RyYWludHMoe1xuICAgICAgICBhZHZhbmNlZDogW3tcbiAgICAgICAgICAgIHRvcmNoOiB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXNcbiAgICAgICAgfV1cbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgfSk7XG59XG5cblNvdXJjZS5wcm90b3R5cGUuZG9tRWxlbWVudFdpZHRoID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBwYXJzZUludCh0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGgpXG59XG5Tb3VyY2UucHJvdG90eXBlLmRvbUVsZW1lbnRIZWlnaHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBoYW5kbGUgcmVzaXplXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG4gICAgdmFyIHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGhcbiAgICB2YXIgc2NyZWVuSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0XG5cbiAgICAvLyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxuXG4gICAgLy8gY29tcHV0ZSBzb3VyY2VXaWR0aCwgc291cmNlSGVpZ2h0XG4gICAgaWYgKHRoaXMuZG9tRWxlbWVudC5ub2RlTmFtZSA9PT0gXCJJTUdcIikge1xuICAgICAgICB2YXIgc291cmNlV2lkdGggPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbFdpZHRoXG4gICAgICAgIHZhciBzb3VyY2VIZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbEhlaWdodFxuICAgIH0gZWxzZSBpZiAodGhpcy5kb21FbGVtZW50Lm5vZGVOYW1lID09PSBcIlZJREVPXCIpIHtcbiAgICAgICAgdmFyIHNvdXJjZVdpZHRoID0gdGhpcy5kb21FbGVtZW50LnZpZGVvV2lkdGhcbiAgICAgICAgdmFyIHNvdXJjZUhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC52aWRlb0hlaWdodFxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgc291cmNlQXNwZWN0XG4gICAgdmFyIHNvdXJjZUFzcGVjdCA9IHNvdXJjZVdpZHRoIC8gc291cmNlSGVpZ2h0XG4gICAgLy8gY29tcHV0ZSBzY3JlZW5Bc3BlY3RcbiAgICB2YXIgc2NyZWVuQXNwZWN0ID0gc2NyZWVuV2lkdGggLyBzY3JlZW5IZWlnaHRcblxuICAgIC8vIGlmIHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCwgdGhlbiBjaGFuZ2UgdGhlIHdpZHRoLCBlbHNlIGNoYW5nZSB0aGUgaGVpZ2h0XG4gICAgaWYgKHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCkge1xuICAgICAgICAvLyBjb21wdXRlIG5ld1dpZHRoIGFuZCBzZXQgLndpZHRoLy5tYXJnaW5MZWZ0XG4gICAgICAgIHZhciBuZXdXaWR0aCA9IHNvdXJjZUFzcGVjdCAqIHNjcmVlbkhlaWdodFxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAtKG5ld1dpZHRoIC0gc2NyZWVuV2lkdGgpIC8gMiArICdweCdcblxuICAgICAgICAvLyBpbml0IHN0eWxlLmhlaWdodC8ubWFyZ2luVG9wIHRvIG5vcm1hbCB2YWx1ZVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc2NyZWVuSGVpZ2h0ICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gJzBweCdcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBjb21wdXRlIG5ld0hlaWdodCBhbmQgc2V0IC5oZWlnaHQvLm1hcmdpblRvcFxuICAgICAgICB2YXIgbmV3SGVpZ2h0ID0gMSAvIChzb3VyY2VBc3BlY3QgLyBzY3JlZW5XaWR0aClcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IG5ld0hlaWdodCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IC0obmV3SGVpZ2h0IC0gc2NyZWVuSGVpZ2h0KSAvIDIgKyAncHgnXG5cbiAgICAgICAgLy8gaW5pdCBzdHlsZS53aWR0aC8ubWFyZ2luTGVmdCB0byBub3JtYWwgdmFsdWVcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoID0gc2NyZWVuV2lkdGggKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gJzBweCdcbiAgICB9XG59XG4vKlxuU291cmNlLnByb3RvdHlwZS5jb3B5RWxlbWVudFNpemVUbyA9IGZ1bmN0aW9uKG90aGVyRWxlbWVudCl7XG5cdG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuXHRvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuXHRvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG5cdG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG59XG4qL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlFbGVtZW50U2l6ZVRvID0gZnVuY3Rpb24gKG90aGVyRWxlbWVudCkge1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICAgIC8vbGFuZHNjYXBlXG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvL3BvcnRyYWl0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IChwYXJzZUludChvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0KSAqIDQgLyAzKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAoKHdpbmRvdy5pbm5lcldpZHRoIC0gcGFyc2VJbnQob3RoZXJFbGVtZW50LnN0eWxlLndpZHRoKSkgLyAyKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IDA7XG4gICAgfVxuXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlTaXplVG8gPSBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS53YXJuKCdvYnNvbGV0ZSBmdW5jdGlvbiBhclRvb2xraXRTb3VyY2UuY29weVNpemVUby4gVXNlIGFyVG9vbGtpdFNvdXJjZS5jb3B5RWxlbWVudFNpemVUbycpXG4gICAgdGhpcy5jb3B5RWxlbWVudFNpemVUby5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKGFyVG9vbGtpdENvbnRleHQsIHJlbmRlcmVyLCBjYW1lcmEpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ29ic29sZXRlIGZ1bmN0aW9uIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZS4gVXNlIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZUVsZW1lbnQnKVxuICAgICAgICByZXR1cm4gdGhpcy5vblJlc2l6ZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIH1cblxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhclRvb2xraXRDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cblxuICAgIC8vIFJFU0laRSBET01FTEVNRU5UXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcblxuICAgICAgICB0aGlzLm9uUmVzaXplRWxlbWVudCgpXG5cbiAgICAgICAgdmFyIGlzQWZyYW1lID0gcmVuZGVyZXIuZG9tRWxlbWVudC5kYXRhc2V0LmFmcmFtZUNhbnZhcyA/IHRydWUgOiBmYWxzZVxuICAgICAgICBpZiAoaXNBZnJhbWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvKHJlbmRlcmVyLmRvbUVsZW1lbnQpXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jb3B5RWxlbWVudFNpemVUbyhhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlci5jYW52YXMpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmhhbmRsZWQgdHJhY2tpbmdCYWNrZW5kICcgKyB0cmFja2luZ0JhY2tlbmQpXG5cblxuICAgIC8vIFVQREFURSBDQU1FUkFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICBpZiAoYXJUb29sa2l0Q29udGV4dC5hckNvbnRyb2xsZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbWVyYS5wcm9qZWN0aW9uTWF0cml4LmNvcHkoYXJUb29sa2l0Q29udGV4dC5nZXRQcm9qZWN0aW9uTWF0cml4KCkpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5oYW5kbGVkIHRyYWNraW5nQmFja2VuZCAnICsgdHJhY2tpbmdCYWNrZW5kKVxufVxuXG5leHBvcnQgZGVmYXVsdCBTb3VyY2U7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBBckJhc2VDb250cm9scyA9IGZ1bmN0aW9uKG9iamVjdDNkKSB7XG5cdHRoaXMuaWQgPSBBckJhc2VDb250cm9scy5pZCsrXG5cblx0dGhpcy5vYmplY3QzZCA9IG9iamVjdDNkXG5cdHRoaXMub2JqZWN0M2QubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG5cdC8vIEV2ZW50cyB0byBob25vclxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ21hcmtlclZpc2libGUnIH0pXHQvLyByZXBsYWNlIG1hcmtlckZvdW5kXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVVblZpc2libGUnIH0pXG59XG5cbkFyQmFzZUNvbnRyb2xzLmlkID0gMFxuXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIGVycm9yIGNhdGNoaW5nIGZ1bmN0aW9uIGZvciB1cGRhdGUoKVxuICovXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gdXBkYXRlJylcbn1cblxuLyoqXG4gKiBlcnJvciBjYXRjaGluZyBmdW5jdGlvbiBmb3IgbmFtZSgpXG4gKi9cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gLm5hbWUoKScpXG5cdHJldHVybiAnTm90IHlldCBpbXBsZW1lbnRlZCAtIG5hbWUoKSdcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJCYXNlQ29udHJvbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEFyTWFya2VySGVscGVyID0gZnVuY3Rpb24obWFya2VyQ29udHJvbHMpe1xuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwXG5cblx0dmFyIG1lc2ggPSBuZXcgVEhSRUUuQXhlc0hlbHBlcigpXG5cdHRoaXMub2JqZWN0M2QuYWRkKG1lc2gpXG5cblx0dmFyIHRleHQgPSBtYXJrZXJDb250cm9scy5pZFxuXHQvLyBkZWJ1Z2dlclxuXHQvLyB2YXIgdGV4dCA9IG1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMucGF0dGVyblVybC5zbGljZSgtMSkudG9VcHBlckNhc2UoKTtcblxuXHR2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2NhbnZhcycgKTtcblx0Y2FudmFzLndpZHRoID0gIDY0O1xuXHRjYW52YXMuaGVpZ2h0ID0gNjQ7XG5cblx0dmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCggJzJkJyApO1xuXHR2YXIgdGV4dHVyZSA9IG5ldyBUSFJFRS5DYW52YXNUZXh0dXJlKCBjYW52YXMgKTtcblxuXHQvLyBwdXQgdGhlIHRleHQgaW4gdGhlIHNwcml0ZVxuXHRjb250ZXh0LmZvbnQgPSAnNDhweCBtb25vc3BhY2UnO1xuXHRjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDE5MiwxOTIsMjU1LCAwLjUpJztcblx0Y29udGV4dC5maWxsUmVjdCggMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0ICk7XG5cdGNvbnRleHQuZmlsbFN0eWxlID0gJ2RhcmtibHVlJztcblx0Y29udGV4dC5maWxsVGV4dCh0ZXh0LCBjYW52YXMud2lkdGgvNCwgMypjYW52YXMuaGVpZ2h0LzQgKVxuXHR0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZVxuXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5DdWJlR2VvbWV0cnkoMSwgMSwgMSlcblx0dmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkoMSwgMSlcblx0dmFyIG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcblx0XHRtYXA6IHRleHR1cmUsXG5cdFx0dHJhbnNwYXJlbnQ6IHRydWVcblx0fSk7XG5cdHZhciBtZXNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHRtZXNoLnJvdGF0aW9uLnggPSAtTWF0aC5QSS8yXG5cblx0dGhpcy5vYmplY3QzZC5hZGQobWVzaClcblxufVxuXG5leHBvcnQgZGVmYXVsdCBBck1hcmtlckhlbHBlcjtcbiIsImltcG9ydCBBckJhc2VDb250cm9scyBmcm9tICcuL3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5cbi8qKlxuICogLSBsZXJwIHBvc2l0aW9uL3F1YXRlcm5pbm8vc2NhbGVcbiAqIC0gbWluRGVsYXlEZXRlY3RlZFxuICogLSBtaW5EZWxheVVuZGV0ZWN0ZWRcbiAqIEBwYXJhbSB7W3R5cGVdfSBvYmplY3QzZCAgIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSB7W3R5cGVdfSBwYXJhbWV0ZXJzIFtkZXNjcmlwdGlvbl1cbiAqL1xuY29uc3QgQXJTbW9vdGhlZENvbnRyb2xzID0gZnVuY3Rpb24ob2JqZWN0M2QsIHBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdFxuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXHRcblx0Ly8gY29weSBwYXJhbWV0ZXJzXG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdFxuXHR0aGlzLl9sYXN0TGVycFN0ZXBBdCA9IG51bGxcblx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcblx0cGFyYW1ldGVycyA9IHBhcmFtZXRlcnMgfHwge31cblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHBvc2l0aW9uIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBQb3NpdGlvbjogMC44LFxuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHF1YXRlcm5pb24gLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFF1YXRlcm5pb246IDAuMixcblx0XHQvLyBsZXJwIGNvZWZpY2llbnQgZm9yIHRoZSBzY2FsZSAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwU2NhbGU6IDAuNyxcblx0XHQvLyBkZWxheSBmb3IgbGVycCBmaXhlZCBzdGVwcyAtIGluIHNlY29uZHMgLSBkZWZhdWx0IHRvIDEvMTIwXG5cdFx0bGVycFN0ZXBEZWxheTogMS82MCxcblx0XHQvLyBtaW5pbXVtIGRlbGF5IHRoZSBzdWItY29udHJvbCBtdXN0IGJlIHZpc2libGUgYmVmb3JlIHRoaXMgY29udHJvbHMgYmVjb21lIHZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblZpc2libGVEZWxheTogMC4wLFxuXHRcdC8vIG1pbmltdW0gZGVsYXkgdGhlIHN1Yi1jb250cm9sIG11c3QgYmUgdW52aXNpYmxlIGJlZm9yZSB0aGlzIGNvbnRyb2xzIGJlY29tZSB1bnZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblVudmlzaWJsZURlbGF5OiAwLjIsXG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyU21vb3RoZWRDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBclNtb290aGVkQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxufVxuXHRcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBBclNtb290aGVkQ29udHJvbHM7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0YXJnZXRPYmplY3QzZCl7XG5cdHZhciBvYmplY3QzZCA9IHRoaXMub2JqZWN0M2Rcblx0dmFyIHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcblx0dmFyIHdhc1Zpc2libGUgPSBvYmplY3QzZC52aXNpYmxlXG5cdHZhciBwcmVzZW50ID0gcGVyZm9ybWFuY2Uubm93KCkvMTAwMFxuXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGhhbmRsZSBvYmplY3QzZC52aXNpYmxlIHdpdGggbWluVmlzaWJsZURlbGF5L21pblVudmlzaWJsZURlbGF5XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKVx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSB0cnVlICYmIHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPT09IG51bGwgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IHByZXNlbnRcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICYmIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9PT0gbnVsbCApXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBwcmVzZW50XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR2YXIgdmlzaWJsZUZvciA9IHByZXNlbnQgLSB0aGlzLl92aXNpYmxlU3RhcnRlZEF0XG5cdFx0aWYoIHZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblZpc2libGVEZWxheSApe1xuXHRcdFx0b2JqZWN0M2QudmlzaWJsZSA9IHRydWVcblx0XHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0XHR9XG5cdFx0Ly8gY29uc29sZS5sb2coJ3Zpc2libGVGb3InLCB2aXNpYmxlRm9yKVxuXHR9XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR2YXIgdW52aXNpYmxlRm9yID0gcHJlc2VudCAtIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdFxuXHRcdGlmKCB1bnZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblVudmlzaWJsZURlbGF5ICl7XG5cdFx0XHRvYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0XHR9XG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRhcHBseSBsZXJwIG9uIHBvc2l0b24vcXVhdGVybmlvbi9zY2FsZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHQvLyBhcHBseSBsZXJwIHN0ZXBzIC0gcmVxdWlyZSBmaXggdGltZSBzdGVwcyB0byBiZWhhdmUgdGhlIHNhbWUgbm8gbWF0dGVyIHRoZSBmcHNcblx0aWYoIHRoaXMuX2xhc3RMZXJwU3RlcEF0ID09PSBudWxsICl7XG5cdFx0YXBwbHlPbmVTbGVycFN0ZXAoKVxuXHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ID0gcHJlc2VudFxuXHR9ZWxzZXtcblx0XHR2YXIgblN0ZXBzVG9EbyA9IE1hdGguZmxvb3IoIChwcmVzZW50IC0gdGhpcy5fbGFzdExlcnBTdGVwQXQpL3RoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5IClcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgblN0ZXBzVG9EbzsgaSsrKXtcblx0XHRcdGFwcGx5T25lU2xlcnBTdGVwKClcblx0XHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ICs9IHRoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5XG5cdFx0fVxuXHR9XG5cblx0Ly8gZGlzYWJsZSB0aGUgbGVycCBieSBkaXJlY3RseSBjb3B5aW5nIHRhcmdldE9iamVjdDNkIHBvc2l0aW9uL3F1YXRlcm5pb24vc2NhbGVcblx0aWYoIGZhbHNlICl7XHRcdFxuXHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0fVxuXG5cdC8vIHVwZGF0ZSB0aGUgbWF0cml4XG5cdHRoaXMub2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aG9ub3IgYmVjYW1lVmlzaWJsZS9iZWNhbWVVblZpc2libGUgZXZlbnRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vIGhvbm9yIGJlY2FtZVZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIG9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0fVxuXHQvLyBob25vciBiZWNhbWVVblZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgb2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVW5WaXNpYmxlJyB9KVxuXHR9XG5cdHJldHVyblxuXG5cdGZ1bmN0aW9uIHNuYXBEaXJlY3RseVRvVGFyZ2V0KCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24uY29weSggdGFyZ2V0T2JqZWN0M2QucG9zaXRpb24gKVxuXHRcdG9iamVjdDNkLnF1YXRlcm5pb24uY29weSggdGFyZ2V0T2JqZWN0M2QucXVhdGVybmlvbiApXG5cdFx0b2JqZWN0M2Quc2NhbGUuY29weSggdGFyZ2V0T2JqZWN0M2Quc2NhbGUgKVxuXHR9XHRcblx0XG5cdGZ1bmN0aW9uIGFwcGx5T25lU2xlcnBTdGVwKCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24ubGVycCh0YXJnZXRPYmplY3QzZC5wb3NpdGlvbiwgcGFyYW1ldGVycy5sZXJwUG9zaXRpb24pXG5cdFx0b2JqZWN0M2QucXVhdGVybmlvbi5zbGVycCh0YXJnZXRPYmplY3QzZC5xdWF0ZXJuaW9uLCBwYXJhbWV0ZXJzLmxlcnBRdWF0ZXJuaW9uKVxuXHRcdG9iamVjdDNkLnNjYWxlLmxlcnAodGFyZ2V0T2JqZWN0M2Quc2NhbGUsIHBhcmFtZXRlcnMubGVycFNjYWxlKVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyU21vb3RoZWRDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLy8gVE9ETyB0aGlzIGlzIHVzZWxlc3MgLSBwcmVmZXJlIGFyanMtSGl0VGVzdGluZy5qc1xuXG4vKipcbiAqIC0gbWF5YmUgc3VwcG9ydCAub25DbGlja0ZjdHMgaW4gZWFjaCBvYmplY3QzZFxuICogLSBzZWVtcyBhbiBlYXN5IGxpZ2h0IGxheWVyIGZvciBjbGlja2FibGUgb2JqZWN0XG4gKiAtIHVwIHRvIFxuICovXG5jb25zdCBIaXRUZXN0aW5nUGxhbmUgPSBmdW5jdGlvbihzb3VyY2VFbGVtZW50KXtcblx0dGhpcy5fc291cmNlRWxlbWVudCA9IHNvdXJjZUVsZW1lbnRcblxuXHQvLyBjcmVhdGUgX3BpY2tpbmdTY2VuZVxuXHR0aGlzLl9waWNraW5nU2NlbmUgPSBuZXcgVEhSRUUuU2NlbmVcblx0XG5cdC8vIGNyZWF0ZSBfcGlja2luZ1BsYW5lXG5cdHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwLDE5LDE5KS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwKS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdHZhciBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG5cdFx0Ly8gb3BhY2l0eTogMC41LFxuXHRcdC8vIHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdHdpcmVmcmFtZTogdHJ1ZVxuXHR9KVxuXHQvLyBtYXRlcmlhbC52aXNpYmxlID0gZmFsc2Vcblx0dGhpcy5fcGlja2luZ1BsYW5lID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHR0aGlzLl9waWNraW5nU2NlbmUuYWRkKHRoaXMuX3BpY2tpbmdQbGFuZSlcblxuXHQvLyBDcmVhdGUgcGlja2luZ0NhbWVyYVxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0Ly8gVE9ETyBoYXJkY29kZWQgZm92IC0gY291Y2hcblx0dGhpcy5fcGlja2luZ0NhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSg0MiwgZnVsbFdpZHRoIC8gZnVsbEhlaWdodCwgMC4xLCAzMCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpe1xuXG5cdHRoaXMub25SZXNpemUoKVxuXHRcblxuXHRpZiggY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHQvLyBzZXQgcGlja2luZ1BsYW5lIHBvc2l0aW9uXG5cdFx0dmFyIHBpY2tpbmdQbGFuZSA9IHRoaXMuX3BpY2tpbmdQbGFuZVxuXHRcdHBpY2tpbmdSb290LnBhcmVudC51cGRhdGVNYXRyaXhXb3JsZCgpXG5cdFx0cGlja2luZ1BsYW5lLm1hdHJpeC5jb3B5KHBpY2tpbmdSb290LnBhcmVudC5tYXRyaXhXb3JsZClcblx0XHQvLyBzZXQgcG9zaXRpb24vcXVhdGVybmlvbi9zY2FsZSBmcm9tIHBpY2tpbmdQbGFuZS5tYXRyaXhcblx0XHRwaWNraW5nUGxhbmUubWF0cml4LmRlY29tcG9zZShwaWNraW5nUGxhbmUucG9zaXRpb24sIHBpY2tpbmdQbGFuZS5xdWF0ZXJuaW9uLCBwaWNraW5nUGxhbmUuc2NhbGUpXG5cdH1lbHNlIGlmKCBjaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdC8vIHNldCBwaWNraW5nUGxhbmUgcG9zaXRpb25cblx0XHR2YXIgcGlja2luZ0NhbWVyYSA9IHRoaXMuX3BpY2tpbmdDYW1lcmFcblx0XHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoKVxuXHRcdHBpY2tpbmdDYW1lcmEubWF0cml4LmNvcHkoY2FtZXJhLm1hdHJpeFdvcmxkKVxuXHRcdC8vIHNldCBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlIGZyb20gcGlja2luZ0NhbWVyYS5tYXRyaXhcblx0XHRwaWNraW5nQ2FtZXJhLm1hdHJpeC5kZWNvbXBvc2UocGlja2luZ0NhbWVyYS5wb3NpdGlvbiwgcGlja2luZ0NhbWVyYS5xdWF0ZXJuaW9uLCBwaWNraW5nQ2FtZXJhLnNjYWxlKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXG4vLyB2YXIgcG9zaXRpb24gPSB0aGlzLl9waWNraW5nUGxhbmUucG9zaXRpb25cbi8vIGNvbnNvbGUubG9nKCdwaWNraW5nUGxhbmUgcG9zaXRpb24nLCBwb3NpdGlvbi54LnRvRml4ZWQoMiksIHBvc2l0aW9uLnkudG9GaXhlZCgyKSwgcG9zaXRpb24uei50b0ZpeGVkKDIpKVxuLy8gdmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ0NhbWVyYS5wb3NpdGlvblxuLy8gY29uc29sZS5sb2coJ2hpcy5fcGlja2luZ0NhbWVyYSBwb3NpdGlvbicsIHBvc2l0aW9uLngudG9GaXhlZCgyKSwgcG9zaXRpb24ueS50b0ZpeGVkKDIpLCBwb3NpdGlvbi56LnRvRml4ZWQoMikpXG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlc2l6ZSBjYW1lcmFcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24oKXtcblx0dmFyIHNvdXJjZUVsZW1lbnQgPSB0aGlzLl9zb3VyY2VFbGVtZW50XG5cdHZhciBwaWNraW5nQ2FtZXJhID0gdGhpcy5fcGlja2luZ0NhbWVyYVxuXHRcbi8vIEZJWE1FIHdoeSB1c2luZyBjc3MgaGVyZSA/Pz8gbm90IGV2ZW4gY29tcHV0ZWQgc3R5bGVcbi8vIHNob3VsZCBnZXQgdGhlIHNpemUgb2YgdGhlIGVsbWVudCBkaXJlY3RseSBpbmRlcGVuZGFudGx5IFxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0cGlja2luZ0NhbWVyYS5hc3BlY3QgPSBmdWxsV2lkdGggLyBmdWxsSGVpZ2h0XG5cblx0cGlja2luZ0NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtIHRlc3Rcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuSGl0VGVzdGluZ1BsYW5lLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24obW91c2VYLCBtb3VzZVkpe1xuXHQvLyBjb252ZXJ0IG1vdXNlWCwgbW91c2VZIHRvIFstMSwgKzFdXG5cdG1vdXNlWCA9IChtb3VzZVgtMC41KSoyXG5cdG1vdXNlWSA9LShtb3VzZVktMC41KSoyXG5cdFxuXHR0aGlzLl9waWNraW5nU2NlbmUudXBkYXRlTWF0cml4V29ybGQodHJ1ZSlcblxuXHQvLyBjb21wdXRlIGludGVyc2VjdGlvbnMgYmV0d2VlbiBtb3VzZVZlY3RvcjMgYW5kIHBpY2tpbmdQbGFuZVxuXHR2YXIgcmF5Y2FzdGVyID0gbmV3IFRIUkVFLlJheWNhc3RlcigpO1xuXHR2YXIgbW91c2VWZWN0b3IzID0gbmV3IFRIUkVFLlZlY3RvcjMobW91c2VYLCBtb3VzZVksIDEpO1xuXHRyYXljYXN0ZXIuc2V0RnJvbUNhbWVyYSggbW91c2VWZWN0b3IzLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcblx0dmFyIGludGVyc2VjdHMgPSByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyggW3RoaXMuX3BpY2tpbmdQbGFuZV0gKVxuXG5cdGlmKCBpbnRlcnNlY3RzLmxlbmd0aCA9PT0gMCApXHRyZXR1cm4gbnVsbFxuXG5cdC8vIHNldCBuZXcgZGVtb1Jvb3QgcG9zaXRpb25cblx0dmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ1BsYW5lLndvcmxkVG9Mb2NhbCggaW50ZXJzZWN0c1swXS5wb2ludC5jbG9uZSgpIClcblx0Ly8gVE9ETyBoZXJlIGRvIGEgbG9vayBhdCB0aGUgY2FtZXJhID9cblx0dmFyIHF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvblxuXHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yMygxLDEsMSkvLy5tdWx0aXBseVNjYWxhcigxKVxuXHRcblx0cmV0dXJuIHtcblx0XHRwb3NpdGlvbiA6IHBvc2l0aW9uLFxuXHRcdHF1YXRlcm5pb24gOiBxdWF0ZXJuaW9uLFxuXHRcdHNjYWxlIDogc2NhbGVcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlbmRlciB0aGUgcGlja2luZ1BsYW5lIGZvciBkZWJ1Z1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkhpdFRlc3RpbmdQbGFuZS5wcm90b3R5cGUucmVuZGVyRGVidWcgPSBmdW5jdGlvbihyZW5kZXJlcil7XG5cdC8vIHJlbmRlciBzY2VuZU9ydGhvXG5cdHJlbmRlcmVyLnJlbmRlciggdGhpcy5fcGlja2luZ1NjZW5lLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgSGl0VGVzdGluZ1BsYW5lO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCBBbmNob3IgZnJvbSAnLi9uZXctYXBpL2FyanMtYW5jaG9yJztcbmltcG9ydCBIaXRUZXN0aW5nIGZyb20gJy4vbmV3LWFwaS9hcmpzLWhpdHRlc3RpbmcnO1xuaW1wb3J0IHsgQW5jaG9yRGVidWdVSSwgU2Vzc2lvbkRlYnVnVUkgfSBmcm9tICcuL25ldy1hcGkvYXJqcy1kZWJ1Z3VpJztcbmltcG9ydCBTZXNzaW9uIGZyb20gJy4vbmV3LWFwaS9hcmpzLXNlc3Npb24nO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vbmV3LWFwaS9hcmpzLXV0aWxzJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4vdGhyZWV4L2FyanMtY29udGV4dC1uZnQnOyAvLyBuZnQtc3BlY2lmaWNcbmltcG9ydCBQcm9maWxlIGZyb20gJy4vdGhyZWV4L2FyanMtcHJvZmlsZSc7XG5pbXBvcnQgU291cmNlIGZyb20gJy4vdGhyZWV4L2FyanMtc291cmNlJztcblxuZXhwb3J0IHtcbiAgQW5jaG9yLFxuICBIaXRUZXN0aW5nLFxuICBBbmNob3JEZWJ1Z1VJLFxuICBTZXNzaW9uRGVidWdVSSxcbiAgU2Vzc2lvbixcbiAgVXRpbHMsXG4gIENvbnRleHQsXG4gIFByb2ZpbGUsXG4gIFNvdXJjZVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/three.js/build/ar-threex-nft.js b/three.js/build/ar-threex-nft.js new file mode 100644 index 00000000..8e1de220 --- /dev/null +++ b/three.js/build/ar-threex-nft.js @@ -0,0 +1,3613 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("three")); + else if(typeof define === 'function' && define.amd) + define(["three"], factory); + else if(typeof exports === 'object') + exports["THREEx"] = factory(require("three")); + else + root["THREEx"] = factory(root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { + +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6biQA0k1CAEkG4AAJ6i4AHJLRAOsd/gApsRwA6D6nAPU1ggBEuy4AnOmEALQmcABBfl8A1pE5AFODOQCc9DkAi1+EACj5vQD4HzsA3v+XAA+YBQARL+8AClqLAG0fbQDPfjYACcsnAEZPtwCeZj8ALepfALondQDl68cAPXvxAPc5BwCSUooA+2vqAB+xXwAIXY0AMANWAHv8RgDwq2sAILzPADb0mgDjqR0AXmGRAAgb5gCFmWUAoBRfAI1AaACA2P8AJ3NNAAYGMQDKVhUAyahzAHviYABrjMAAQZPsAAv9A0D7Ifk/AAAAAC1EdD4AAACAmEb4PAAAAGBRzHg7AAAAgIMb8DkAAABAICV6OAAAAIAiguM2AAAAAB3zaTU4Y+0+2g9JP16Yez/aD8k/aTesMWghIjO0DxQzaCGiMwAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAADAxMjM0NTY3ODlhYmNkZWZBQkNERUZ4WCstcFBpSW5OAEGg8AALgQElAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AQbDxAAu5ASUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAABQRQAAE2MAAHhFAADZbwAA8DgAAAAAAAB4RQAA7XIAAKg7AAAAAAAAeEUAAGl+AAC4QgAAAAAAAHhFAAAZkAAAuEIAAAAAAAB4RQAAjZAAALhCAAAAAAAA5EUAAJynAAAAAAAAAQAAAGA5AAAAAAAAUEUAANunAAAFAEH08gALAQIAQYzzAAsKAQAAAAEAAACm6gBBpPMACwECAEGz8wALBf//////AEH48wALAQkAQYT0AAsBAgBBmPQACxICAAAAAAAAAAEAAABo0gAAAAQAQcT0AAsE/////wBBiPUACwEFAEGU9QALAQMAQaz1AAsOAQAAAAIAAAB41gAAAAQAQcT1AAsBAQBB0/UACwUK/////wBBvPYACwEDAEHj9gALBf//////AEGo9wAL1xBQRQAA/r8AAHhFAABewAAAwDsAAAAAAAB4RQAAC8AAANA7AAAAAAAAUEUAACzAAAB4RQAAOcAAALA7AAAAAAAAeEUAAKjAAACoOwAAAAAAAHhFAAC4wAAA6DsAAAAAAAB4RQAAycAAAMA7AAAAAAAAeEUAAOvAAAAIPAAAAAAAAHhFAAAPwQAAwDsAAAAAAADIRQAAN8EAAMhFAAA5wQAAyEUAADvBAADIRQAAPcEAAMhFAAA/wQAAyEUAAEHBAADIRQAAQ8EAAMhFAABFwQAAyEUAAEfBAADIRQAAZsoAAMhFAABJwQAAyEUAAEvBAADIRQAATcEAAHhFAABPwQAAsDsAAAAAAABQRQAAsMQAAFBFAADPxAAAUEUAAO7EAABQRQAADcUAAFBFAAAsxQAAUEUAAEvFAABQRQAAasUAAFBFAACJxQAAUEUAAKjFAABQRQAAx8UAAFBFAADmxQAAUEUAAAXGAABQRQAAJMYAAORFAAA3xgAAAAAAAAEAAABgOQAAAAAAAORFAAB5xgAAAAAAAAEAAABgOQAAAAAAAORFAAC7xgAAAAAAAAEAAABgOQAAAAAAAORFAAD6xgAAAAAAAAEAAABgOQAAAAAAAHhFAABLxwAAiD0AAAAAAABQRQAAOccAAHhFAAB1xwAAiD0AAAAAAABQRQAAn8cAAFBFAADQxwAA5EUAAAHIAAAAAAAAAQAAAHg9AAAD9P//5EUAADDIAAAAAAAAAQAAAJA9AAAD9P//5EUAAF/IAAAAAAAAAQAAAHg9AAAD9P//5EUAAI7IAAAAAAAAAQAAAJA9AAAD9P//eEUAAL3IAACoPQAAAAAAAHhFAADWyAAAoD0AAAAAAAB4RQAAFckAAKg9AAAAAAAAeEUAAC3JAACgPQAAAAAAAHhFAABFyQAAYD4AAAAAAAB4RQAAWckAALBCAAAAAAAAeEUAAG/JAABgPgAAAAAAAORFAACIyQAAAAAAAAIAAABgPgAAAgAAAKA+AAAAAAAA5EUAAMzJAAAAAAAAAQAAALg+AAAAAAAAUEUAAOLJAADkRQAA+8kAAAAAAAACAAAAYD4AAAIAAADgPgAAAAAAAORFAAA/ygAAAAAAAAEAAAC4PgAAAAAAAORFAABoygAAAAAAAAIAAABgPgAAAgAAABg/AAAAAAAA5EUAAKzKAAAAAAAAAQAAADA/AAAAAAAAUEUAAMLKAADkRQAA28oAAAAAAAACAAAAYD4AAAIAAABYPwAAAAAAAORFAAAfywAAAAAAAAEAAAAwPwAAAAAAAORFAAB1zAAAAAAAAAMAAABgPgAAAgAAAJg/AAACAAAAoD8AAAAIAABQRQAA3MwAAFBFAAC6zAAA5EUAAO/MAAAAAAAAAwAAAGA+AAACAAAAmD8AAAIAAADQPwAAAAgAAFBFAAA0zQAA5EUAAFbNAAAAAAAAAgAAAGA+AAACAAAA+D8AAAAIAABQRQAAm80AAORFAACwzQAAAAAAAAIAAABgPgAAAgAAAPg/AAAACAAA5EUAAPXNAAAAAAAAAgAAAGA+AAACAAAAQEAAAAIAAABQRQAAEc4AAORFAAAmzgAAAAAAAAIAAABgPgAAAgAAAEBAAAACAAAA5EUAAELOAAAAAAAAAgAAAGA+AAACAAAAQEAAAAIAAADkRQAAXs4AAAAAAAACAAAAYD4AAAIAAABAQAAAAgAAAORFAACJzgAAAAAAAAIAAABgPgAAAgAAAMhAAAAAAAAAUEUAAM/OAADkRQAA884AAAAAAAACAAAAYD4AAAIAAADwQAAAAAAAAFBFAAA5zwAA5EUAAFjPAAAAAAAAAgAAAGA+AAACAAAAGEEAAAAAAABQRQAAns8AAORFAAC3zwAAAAAAAAIAAABgPgAAAgAAAEBBAAAAAAAAUEUAAP3PAADkRQAAFtAAAAAAAAACAAAAYD4AAAIAAABoQQAAAgAAAFBFAAAr0AAA5EUAAMLQAAAAAAAAAgAAAGA+AAACAAAAaEEAAAIAAAB4RQAAQ9AAAKBBAAAAAAAA5EUAAGbQAAAAAAAAAgAAAGA+AAACAAAAwEEAAAIAAABQRQAAidAAAHhFAACg0AAAoEEAAAAAAADkRQAA19AAAAAAAAACAAAAYD4AAAIAAADAQQAAAgAAAORFAAD50AAAAAAAAAIAAABgPgAAAgAAAMBBAAACAAAA5EUAABvRAAAAAAAAAgAAAGA+AAACAAAAwEEAAAIAAAB4RQAAPtEAAGA+AAAAAAAA5EUAAFTRAAAAAAAAAgAAAGA+AAACAAAAaEIAAAIAAABQRQAAZtEAAORFAAB70QAAAAAAAAIAAABgPgAAAgAAAGhCAAACAAAAeEUAAJjRAABgPgAAAAAAAHhFAACt0QAAYD4AAAAAAABQRQAAwtEAAORFAADb0QAAAAAAAAEAAACwQgAAAAAAAAEAAAAAAAAA+DgAAAEAAAACAAAAAAAAAPA4AAADAAAABAAAAAAAAAAIOQAABQAAAAYAAAABAAAAuVKMPo5a5z65Uow+AAAAABg5AAAHAAAACAAAAAkAAAABAAAACgAAAAAAAAAoOQAABwAAAAsAAAAMAAAAAgAAAA0AAAAAAAAAODkAAAcAAAAOAAAADwAAAAMAAAAQAAAA//////7////9////ODwAAHA8AACQPAAAODwAAHA8AABwPAAAmDwAAHA8AAA4PAAAcDwAAJg8AABwPAAAODwAAHA8AABwPAAASDkAAHA8AABwPAAAcDwAAHA8AABwPAAASDkAAHA8AABwPAAAAQAAAAAAAAACAAAAQAYAAIA+AAAAAAAAiBMAADAaAAAUAAAAQy5VVEYtOABBjIgBCwLwQwBBpIgBCxJoOQAA+DkAAIg6AACIOgAAIB0AQeiJAQsCjOIAQaCKAQu9EiAiAAAgJgAAX3CJAP8JLw8AAIA/AADAPwAAAADcz9E1AAAAAADAFT8AAAAAsDsAABEAAAASAAAAEwAAABQAAAAEAAAAAQAAAAEAAAABAAAAAAAAANg7AAARAAAAFQAAABMAAAAUAAAABAAAAAIAAAACAAAAAgAAAAAAAADoOwAAFgAAABcAAAAEAAAAAAAAAPg7AAAWAAAAGAAAAAQAAAAAAAAAKDwAABEAAAAZAAAAEwAAABQAAAAFAAAAAAAAAKA8AAARAAAAGgAAABMAAAAUAAAABAAAAAMAAAADAAAAAwAAAAAAAACIPQAAGwAAABwAAAAAAAAAoD0AAB0AAAAeAAAAAQAAAAYAAAABAAAABAAAAAUAAAAGAAAABwAAAAcAAAAIAAAABAAAAAgAAAAFAAAAAAAAAKg9AAAfAAAAIAAAAAIAAAAJAAAAAgAAAAUAAAAJAAAACgAAAAoAAAALAAAADAAAAAYAAAALAAAABwAAAAgAAAAAAAAAsD0AACEAAAAiAAAA+P////j///+wPQAAIwAAACQAAACgRgAAtEYAAAgAAAAAAAAAyD0AACUAAAAmAAAA+P////j////IPQAAJwAAACgAAADQRgAA5EYAAAQAAAAAAAAA4D0AACkAAAAqAAAA/P////z////gPQAAKwAAACwAAAAARwAAFEcAAAQAAAAAAAAA+D0AAC0AAAAuAAAA/P////z////4PQAALwAAADAAAAAwRwAAREcAAAAAAAAQPgAAHwAAADEAAAADAAAACQAAAAIAAAAFAAAADQAAAAoAAAAKAAAACwAAAAwAAAAGAAAADAAAAAgAAAAAAAAAID4AAB0AAAAyAAAABAAAAAYAAAABAAAABAAAAA4AAAAGAAAABwAAAAcAAAAIAAAABAAAAA0AAAAJAAAAAAAAADA+AAAfAAAAMwAAAAUAAAAJAAAAAgAAAAUAAAAJAAAACgAAAAoAAAAPAAAAEAAAAAoAAAALAAAABwAAAAAAAABAPgAAHQAAADQAAAAGAAAABgAAAAEAAAAEAAAABQAAAAYAAAAHAAAAEQAAABIAAAALAAAACAAAAAUAAAAAAAAAUD4AADUAAAA2AAAANwAAAAEAAAAGAAAADgAAAAAAAABwPgAAOAAAADkAAAA3AAAAAgAAAAcAAAAPAAAAAAAAAIA+AAA6AAAAOwAAADcAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAAAAADAPgAAPAAAAD0AAAA3AAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAAAAAA+D4AAD4AAAA/AAAANwAAAAMAAAAEAAAAAQAAAAUAAAACAAAAAQAAAAIAAAAGAAAAAAAAADg/AABAAAAAQQAAADcAAAAHAAAACAAAAAMAAAAJAAAABAAAAAMAAAAEAAAACgAAAAAAAABwPwAAQgAAAEMAAAA3AAAAEwAAABcAAAAYAAAAGQAAABoAAAAbAAAAAQAAAPj///9wPwAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAAAAAAACoPwAARAAAAEUAAAA3AAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAAgAAAPj///+oPwAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAAAAAACUAAABtAAAALwAAACUAAABkAAAALwAAACUAAAB5AAAAAAAAACUAAABJAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABwAAAAAAAAACUAAABhAAAAIAAAACUAAABiAAAAIAAAACUAAABkAAAAIAAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAAIAAAACUAAABZAAAAAAAAAEEAAABNAAAAAAAAAFAAAABNAAAAAAAAAEoAAABhAAAAbgAAAHUAAABhAAAAcgAAAHkAAAAAAAAARgAAAGUAAABiAAAAcgAAAHUAAABhAAAAcgAAAHkAAAAAAAAATQAAAGEAAAByAAAAYwAAAGgAAAAAAAAAQQAAAHAAAAByAAAAaQAAAGwAAAAAAAAATQAAAGEAAAB5AAAAAAAAAEoAAAB1AAAAbgAAAGUAAAAAAAAASgAAAHUAAABsAAAAeQAAAAAAAABBAAAAdQAAAGcAAAB1AAAAcwAAAHQAAAAAAAAAUwAAAGUAAABwAAAAdAAAAGUAAABtAAAAYgAAAGUAAAByAAAAAAAAAE8AAABjAAAAdAAAAG8AAABiAAAAZQAAAHIAAAAAAAAATgAAAG8AAAB2AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAARAAAAGUAAABjAAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAASgAAAGEAAABuAAAAAAAAAEYAAABlAAAAYgAAAAAAAABNAAAAYQAAAHIAAAAAAAAAQQAAAHAAAAByAAAAAAAAAEoAAAB1AAAAbgAAAAAAAABKAAAAdQAAAGwAAAAAAAAAQQAAAHUAAABnAAAAAAAAAFMAAABlAAAAcAAAAAAAAABPAAAAYwAAAHQAAAAAAAAATgAAAG8AAAB2AAAAAAAAAEQAAABlAAAAYwAAAAAAAABTAAAAdQAAAG4AAABkAAAAYQAAAHkAAAAAAAAATQAAAG8AAABuAAAAZAAAAGEAAAB5AAAAAAAAAFQAAAB1AAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVwAAAGUAAABkAAAAbgAAAGUAAABzAAAAZAAAAGEAAAB5AAAAAAAAAFQAAABoAAAAdQAAAHIAAABzAAAAZAAAAGEAAAB5AAAAAAAAAEYAAAByAAAAaQAAAGQAAABhAAAAeQAAAAAAAABTAAAAYQAAAHQAAAB1AAAAcgAAAGQAAABhAAAAeQAAAAAAAABTAAAAdQAAAG4AAAAAAAAATQAAAG8AAABuAAAAAAAAAFQAAAB1AAAAZQAAAAAAAABXAAAAZQAAAGQAAAAAAAAAVAAAAGgAAAB1AAAAAAAAAEYAAAByAAAAaQAAAAAAAABTAAAAYQAAAHQAQeicAQsR2D8AAEYAAABHAAAANwAAAAEAQYGdAQvwBUAAAEgAAABJAAAANwAAAAIAAAAAAAAAIEAAAEoAAABLAAAANwAAACMAAAAkAAAABwAAAAgAAAAJAAAACgAAACUAAAALAAAADAAAAAAAAABIQAAATAAAAE0AAAA3AAAAJgAAACcAAAANAAAADgAAAA8AAAAQAAAAKAAAABEAAAASAAAAAAAAAGhAAABOAAAATwAAADcAAAApAAAAKgAAABMAAAAUAAAAFQAAABYAAAArAAAAFwAAABgAAAAAAAAAiEAAAFAAAABRAAAANwAAACwAAAAtAAAAGQAAABoAAAAbAAAAHAAAAC4AAAAdAAAAHgAAAAAAAACoQAAAUgAAAFMAAAA3AAAAAwAAAAQAAAAAAAAA0EAAAFQAAABVAAAANwAAAAUAAAAGAAAAAAAAAPhAAABWAAAAVwAAADcAAAABAAAAIQAAAAAAAAAgQQAAWAAAAFkAAAA3AAAAAgAAACIAAAAAAAAASEEAAFoAAABbAAAANwAAABAAAAAEAAAAHwAAAAAAAABwQQAAXAAAAF0AAAA3AAAAEQAAAAUAAAAgAAAAAAAAAMhBAABeAAAAXwAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAJBBAABeAAAAYAAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAPhBAABhAAAAYgAAADcAAAAFAAAABgAAAA0AAAAyAAAAMwAAAA4AAAA0AAAAAAAAADhCAABjAAAAZAAAADcAAAAAAAAASEIAAGUAAABmAAAANwAAAAwAAAASAAAADQAAABMAAAAOAAAAAQAAABQAAAAPAAAAAAAAAJBCAABnAAAAaAAAADcAAAA1AAAANgAAACEAAAAiAAAAIwAAAAAAAACgQgAAaQAAAGoAAAA3AAAANwAAADgAAAAkAAAAJQAAACYAAABmAAAAYQAAAGwAAABzAAAAZQAAAAAAAAB0AAAAcgAAAHUAAABlAEH8ogEL/IACYD4AAF4AAABrAAAANwAAAAAAAABwQgAAXgAAAGwAAAA3AAAAFQAAAAIAAAADAAAABAAAAA8AAAAWAAAAEAAAABcAAAARAAAABQAAABgAAAAQAAAAAAAAANhBAABeAAAAbQAAADcAAAAHAAAACAAAABEAAAA5AAAAOgAAABIAAAA7AAAAAAAAABhCAABeAAAAbgAAADcAAAAJAAAACgAAABMAAAA8AAAAPQAAABQAAAA+AAAAAAAAAKBBAABeAAAAbwAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAKA/AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAANA/AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAARXJyb3I6IGxhYmVsaW5nIHdvcmsgb3ZlcmZsb3cuCgBVbmtub3duIG9yIHVuc3VwcG9ydGVkIGxhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHJlcXVlc3RlZC4gU2V0IHRvIG1hbnVhbC4KAExhYmVsaW5nIHRocmVzaG9sZCBtb2RlIHNldCB0byAlcy4KAE1BTlVBTABBVVRPX01FRElBTgBBVVRPX09UU1UAQVVUT19BREFQVElWRQBBVVRPX0JSQUNLRVRJTkcARXJyb3I6IFVuc3VwcG9ydGVkIHBpeGVsIGZvcm1hdCAoJWQpIHJlcXVlc3RlZC4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBtYXJrZXIgY291bnRzIC1bJTNkOiAlM2RdIFslM2Q6ICUzZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols-nft.worker.js": +/*!***************************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ Worker_fn) +/* harmony export */ }); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !!../../../node_modules/worker-loader/dist/runtime/inline.js */ "./node_modules/worker-loader/dist/runtime/inline.js"); +/* harmony import */ var _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0__); + + + +function Worker_fn() { + return _node_modules_worker_loader_dist_runtime_inline_js__WEBPACK_IMPORTED_MODULE_0___default()("/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***!\n \\*****************************************************************/\n/***/ (function(module) {\n\n!function(A,I){ true?module.exports=I():0}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{\"use strict\";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener(\"abort\",G)}B.isFormData(h)&&delete s[\"Content-Type\"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||\"\",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):\"\";s.Authorization=\"Basic \"+btoa(t+\":\"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B=\"getAllResponseHeaders\"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&\"text\"!==R&&\"json\"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,\"onloadend\"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf(\"file:\"))&&setTimeout(n)},y.onabort=function(){y&&(g(a(\"Request aborted\",A,\"ECONNABORTED\",y)),y=null)},y.onerror=function(){g(a(\"Network Error\",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?\"timeout of \"+A.timeout+\"ms exceeded\":\"timeout exceeded\",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?\"ETIMEDOUT\":\"ECONNABORTED\",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}\"setRequestHeader\"in y&&B.forEach(s,(function(A,I){void 0===h&&\"content-type\"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&\"json\"!==R&&(y.responseType=A.responseType),\"function\"==typeof A.onDownloadProgress&&y.addEventListener(\"progress\",A.onDownloadProgress),\"function\"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener(\"progress\",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F(\"canceled\"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener(\"abort\",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{\"use strict\";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{\"use strict\";function I(A){this.message=A}I.prototype.toString=function(){return\"Cancel\"+(this.message?\": \"+this.message:\"\")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{\"use strict\";var B=g(263);function C(A){if(\"function\"!=typeof A)throw new TypeError(\"executor must be a function.\");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{\"use strict\";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{\"use strict\";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){\"string\"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method=\"get\";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){\"function\"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\\?/,\"\")},B.forEach([\"delete\",\"get\",\"head\",\"options\"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{\"use strict\";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{\"use strict\";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{\"use strict\";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{\"use strict\";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i(\"canceled\")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach([\"delete\",\"get\",\"head\",\"post\",\"put\",\"patch\",\"common\"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{\"use strict\";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{\"use strict\";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B(\"Request failed with status code \"+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{\"use strict\";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{\"use strict\";var B=g(867),C=g(16),Q=g(481),E={\"Content-Type\":\"application/x-www-form-urlencoded\"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A[\"Content-Type\"])&&(A[\"Content-Type\"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:((\"undefined\"!=typeof XMLHttpRequest||\"undefined\"!=typeof process&&\"[object process]\"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,\"Accept\"),C(I,\"Content-Type\"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,\"application/x-www-form-urlencoded;charset=utf-8\"),A.toString()):B.isObject(A)||I&&\"application/json\"===I[\"Content-Type\"]?(i(I,\"application/json\"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if(\"SyntaxError\"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&\"json\"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if(\"SyntaxError\"===A.name)throw Q(A,this,\"E_JSON_PARSE\");throw A}}return A}],timeout:0,xsrfCookieName:\"XSRF-TOKEN\",xsrfHeaderName:\"X-XSRF-TOKEN\",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:\"application/json, text/plain, */*\"}}};B.forEach([\"delete\",\"get\",\"head\"],(function(A){D.headers[A]={}})),B.forEach([\"post\",\"put\",\"patch\"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:\"0.24.0\"}},849:A=>{\"use strict\";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{\"use strict\";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,\":\").replace(/%24/g,\"$\").replace(/%2C/gi,\",\").replace(/%20/g,\"+\").replace(/%5B/gi,\"[\").replace(/%5D/gi,\"]\")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+=\"[]\":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+\"=\"+C(A))})))})),Q=E.join(\"&\")}if(Q){var i=A.indexOf(\"#\");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf(\"?\")?\"?\":\"&\")+Q}return A}},303:A=>{\"use strict\";A.exports=function(A,I){return I?A.replace(/\\/+$/,\"\")+\"/\"+I.replace(/^\\/+/,\"\"):A}},372:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+\"=\"+encodeURIComponent(I)),B.isNumber(g)&&i.push(\"expires=\"+new Date(g).toGMTString()),B.isString(C)&&i.push(\"path=\"+C),B.isString(Q)&&i.push(\"domain=\"+Q),!0===E&&i.push(\"secure\"),document.cookie=i.join(\"; \")},read:function(A){var I=document.cookie.match(new RegExp(\"(^|;\\\\s*)(\"+A+\")=([^;]*)\"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,\"\",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{\"use strict\";A.exports=function(A){return/^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(A)}},268:A=>{\"use strict\";A.exports=function(A){return\"object\"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement(\"a\");function C(A){var B=A;return I&&(g.setAttribute(\"href\",B),B=g.href),g.setAttribute(\"href\",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,\"\"):\"\",host:g.host,search:g.search?g.search.replace(/^\\?/,\"\"):\"\",hash:g.hash?g.hash.replace(/^#/,\"\"):\"\",hostname:g.hostname,port:g.port,pathname:\"/\"===g.pathname.charAt(0)?g.pathname:\"/\"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{\"use strict\";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{\"use strict\";var B=g(867),C=[\"age\",\"authorization\",\"content-length\",\"content-type\",\"etag\",\"expires\",\"from\",\"host\",\"if-modified-since\",\"if-unmodified-since\",\"last-modified\",\"location\",\"max-forwards\",\"proxy-authorization\",\"referer\",\"retry-after\",\"user-agent\"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split(\"\\n\"),(function(A){if(Q=A.indexOf(\":\"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]=\"set-cookie\"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+\", \"+g:g}})),E):E}},713:A=>{\"use strict\";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{\"use strict\";var B=g(288).version,C={};[\"object\",\"boolean\",\"number\",\"function\",\"string\",\"symbol\"].forEach((function(A,I){C[A]=function(g){return typeof g===A||\"a\"+(I<1?\"n \":\" \")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return\"[Axios v\"+B+\"] Transitional option '\"+A+\"'\"+I+(g?\". \"+g:\"\")}return function(g,B,E){if(!1===A)throw new Error(C(B,\" has been removed\"+(I?\" in \"+I:\"\")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B,\" has been deprecated since v\"+I+\" and will be removed in the near future\"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if(\"object\"!=typeof A)throw new TypeError(\"options must be an object\");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError(\"option \"+Q+\" must be \"+o)}else if(!0!==g)throw Error(\"Unknown option \"+Q)}},validators:C}},867:(A,I,g)=>{\"use strict\";var B=g(849),C=Object.prototype.toString;function Q(A){return\"[object Array]\"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&\"object\"==typeof A}function o(A){if(\"[object Object]\"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return\"[object Function]\"===C.call(A)}function a(A,I){if(null!=A)if(\"object\"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){\"use strict\";var I,g=Object.prototype,B=g.hasOwnProperty,C=\"function\"==typeof Symbol?Symbol:{},Q=C.iterator||\"@@iterator\",E=C.asyncIterator||\"@@asyncIterator\",i=C.toStringTag||\"@@toStringTag\";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},\"\")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error(\"Generator is already running\");if(B===h){if(\"throw\"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if(\"next\"===g.method)g.sent=g._sent=g.arg;else if(\"throw\"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else\"return\"===g.method&&g.abrupt(\"return\",g.arg);B=G;var o=a(A,I,g);if(\"normal\"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}\"throw\"===o.type&&(B=h,g.method=\"throw\",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:\"normal\",arg:A.call(I,g)}}catch(A){return{type:\"throw\",arg:A}}}A.wrap=D;var w=\"suspendedStart\",F=\"suspendedYield\",G=\"executing\",h=\"completed\",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){[\"next\",\"throw\",\"return\"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if(\"throw\"!==o.type){var D=o.arg,w=D.value;return w&&\"object\"==typeof w&&B.call(w,\"__await\")?I.resolve(w.__await).then((function(A){g(\"next\",A,E,i)}),(function(A){g(\"throw\",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g(\"throw\",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,\"throw\"===g.method){if(A.iterator.return&&(g.method=\"return\",g.arg=I,k(A,g),\"throw\"===g.method))return s;g.method=\"throw\",g.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return s}var C=a(B,A.iterator,g.arg);if(\"throw\"===C.type)return g.method=\"throw\",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,\"return\"!==g.method&&(g.method=\"next\",g.arg=I),g.delegate=null,s):Q:(g.method=\"throw\",g.arg=new TypeError(\"iterator result is not an object\"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type=\"normal\",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:\"root\"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if(\"function\"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if(\"root\"===E.tryLoc)return C(\"end\");if(E.tryLoc<=this.prev){var o=B.call(E,\"catchLoc\"),D=B.call(E,\"finallyLoc\");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,\"finallyLoc\")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if(\"throw\"===B.type){var C=B.arg;N(g)}return C}}throw new Error(\"illegal catch attempt\")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},\"next\"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=I:Function(\"r\",\"regeneratorRuntime = r\")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(A){if(\"object\"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{\"use strict\";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,\"next\",I)}function o(I){A(E,C,Q,i,o,\"throw\",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError(\"Cannot call a class as a function\")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&\"function\"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?\"symbol\":typeof A},D(A)}var a,w=(a=(a=\"undefined\"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||\"/index.js\",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q=\"./this.program\",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i=\"object\"===(\"undefined\"==typeof window?\"undefined\":D(window)),o=\"function\"==typeof importScripts,w=\"object\"===(\"undefined\"==typeof process?\"undefined\":D(process))&&\"object\"===D(process.versions)&&\"string\"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U=\"\";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+\"/\":\"//\",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:\"utf8\"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\\\/g,\"/\")),C=process.argv.slice(2),process.on(\"uncaughtException\",(function(A){if(!(A instanceof NB))throw A})),process.on(\"unhandledRejection\",JA),E=function(A){process.exit(A)},A.inspect=function(){return\"[Emscripten Module object]\"}):F?(\"undefined\"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:\"function\"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H(\"object\"===D(I=read(A,\"binary\"))),I)},\"undefined\"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),\"function\"==typeof quit&&(E=function(A){quit(A)}),\"undefined\"!=typeof print&&(\"undefined\"==typeof console&&(console={}),console.log=print,console.warn=console.error=\"undefined\"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf(\"blob:\")?U.substr(0,U.lastIndexOf(\"/\")+1):\"\",G=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open(\"GET\",A,!1),I.responseType=\"arraybuffer\",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={\"f64-rem\":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),\"object\"!==(\"undefined\"==typeof WebAssembly?\"undefined\":D(WebAssembly))&&S(\"no native wasm support detected\");var e=new WebAssembly.Table({initial:878,maximum:878,element:\"anyfunc\"}),J=!1;function H(A,I){A||JA(\"Assertion failed: \"+I)}function L(A){return hA?RB(A):M(A)}var q=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q=\"\";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):\"\"}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C=\"\";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g=\"\";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if(\"function\"!=typeof g){var B=g.func;\"number\"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for(\"function\"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for(\"function\"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=\"\"),S(I),J=!0,I=\"abort(\"+I+\"). Build with -s ASSERTIONS=1 for more info.\",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA=\"data:application/octet-stream;base64,\";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA=\"data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEEQQAhAgNAAkAgBEEBaiEKIAVBf0YEQCAEQQJqIgRBAnQgEGogAjYCAEEAIQADQCAAIAJMBEAgBEHIAGwgCGogAEECdGogCkHIAGwgCGogAEECdGoiBSgCACIGNgIAIAUgBkECdCAJaigCADYCACAAQQFqIQAMAQsLBSAEIQADQCAAQX9qIQYgAEEASiIHIABBAnQgD2ooAgBBf0ZxBEAgBiEADAELCyAHBEAgACEGA0AgBkF/aiIHQQJ0IA9qKAIAQX9HBEAgByAAIABBAnQgEmooAgAgB0ECdCASaigCAEgbIQALIAZBAUoEQCAHIQYMAQsLCyAEQQJqIgRBAnQgEGogAiAKIABrIhogAEECdCAQaiIOKAIAaiIGIAIgBkobIgY2AgBBACEHA0AgByAVSARAIARByABsIAhqIAdBAnRqQQA2AgAgB0EBaiEHDAELCyAFIAxqIQcgAEECdCAPaiEbIA4oAgAhDkEAIQUDQCAFIA5MBEAgAEHIAGwgCGogBUECdGooAgAiHEF/RwRAIARByABsIAhqIAUgGmpBAnRqIAcgHGogGygCAGsgDBBPQQJ0IAtqKAIANgIACyAFQQFqIQUMAQsLQQAhAAN/IAAgAkoEfyAGBSAEQcgAbCAIaiAAQQJ0aiIFIApByABsIAhqIABBAnRqIgcoAgAiDiAFKAIAczYCACAHIA5BAnQgCWooAgA2AgAgAEEBaiEADAELCyECCyAEQQJ0IBJqIAogAms2AgAgCiAVTg0AIARBAnQgD2oiBiAEQQJ0IBNqKAIAIgBBf0YEf0EABSAAQQJ0IAtqKAIACyIANgIAQQEhBQNAIAUgAkwEQCAEIAVrQQJ0IBNqKAIAIgdBf0cEQCAEQcgAbCAIaiAFQQJ0aigCACIOBEAgBiAHIA5BAnQgCWooAgBqIAwQT0ECdCALaigCACAAcyIANgIACwsgBUEBaiEFDAELCyAGIABBAnQgCWooAgAiBTYCACACIBRMBEAgCiEEDAILCwtBfyACIBRKDQEaQQAhAANAIAAgAkwEQCAEQcgAbCAIaiAAQQJ0aiIFIAUoAgBBAnQgCWooAgA2AgAgAEEBaiEADAELC0EBIQADQCAAIAJMBEAgAEECdCAWaiAEQcgAbCAIaiAAQQJ0aigCADYCACAAQQFqIQAMAQsLQQAhAEEBIQoDQCAMIApOBEBBASEGQQEhBQNAIAYgAkwEQCAGQQJ0IBZqIgcoAgAiCUF/RwRAIAcgBiAJaiAMEE8iBzYCACAFIAdBAnQgC2ooAgBzIQULIAZBAWohBgwBCwsgBUUEQCAAQQJ0IBdqIAwgCms2AgAgAEEBaiEACyAKQQFqIQoMAQsLQX8gACACRw0BGkEAIQADQCAAIAJIBEAgESAAQQJ0IBdqKAIAaiIFIAUsAABBAXM6AAAgAEEBaiEADAELCwVBACEECyADQgA3AwBCASEeIA0gGGshAEIAIQEDQCAAIA1IBEAgAyAeIAAgEWotAACtfiABfCIBNwMAIB5CAYYhHiAAQQFqIQAMAQsLIBkEfyAEQQJ0IBBqKAIABUEACwshHSAWJAYgHQvJCAILfwN8IwYhDiMGQRBqJAYgDkEIaiEHIABFIANBAUhyBH8gBEEANgIAIAVBADYCACAGRAAAAAAAAPC/OQMAQX8FAn8CQAJAAkAgAQ4CAAECCyADIANsIgFBDGwQRCIKRQRAQQBBA0G52AIgDhA9QQEQAQsgAUEDbCELQQAhB0EAIQEDQCAHIAtHBEAgASACIAdqLAAAQX9zQf8BcWohASAHQQFqIQcMAQsLIAEgCxBIIQlBACEHQQAhAQNAIAEgC0cEQCABQQJ0IApqIAEgAmosAABBf3NB/wFxIAlrIgg2AgAgByAIIAhsaiEHIAFBAWohAQwBCwsgB7efIhMgA7dEkStQ5nq2+z+io0QAAAAAAAAuQGMEQCAEQQA2AgAgBUEANgIAIAZEAAAAAAAA8L85AwAgChA4QX4MAwsgACgCACEPQQAhCUF/IQNBfyEBQX8hAgNAIAkgD0gEQCAAKAIIIQcCQAJAA0ACQCADQQFqIgNBAnQgB2ooAgAOAwECAAILCwwBCyADQQJ0IRBBACEHA0AgB0EERwRAIAcgEGohDUEAIQxBACEIA0AgCCALRwRAIAwgCEECdCAKaigCACAAKAIMIA1BAnRqKAIAIAhBAnRqKAIAbGohDCAIQQFqIQgMAQsLIAcgAiAMtyAAKAIQIA1BA3RqKwMAoyAToyIUIBJkIggbIQIgB0EBaiEHIBQgEiAIGyESIAMgASAIGyEBDAELCwsgCUEBaiEJDAELCyAFIAI2AgAgBCABNgIAIAYgEjkDACAKEDhBAAwCCyADIANsIgpBAnQQRCILRQRAQQBBA0G52AIgBxA9QQEQAQtBACEHQQAhAQNAIAEgCkcEQCAHIAEgAmosAABBf3NB/wFxaiEHIAFBAWohAQwBCwsgByAKEEghCUEAIQdBACEBA0AgASAKRwRAIAFBAnQgC2ogASACaiwAAEF/c0H/AXEgCWsiCDYCACAHIAggCGxqIQcgAUEBaiEBDAELCyAHt58iEyADt6NEAAAAAAAALkBjBEAgBEEANgIAIAVBADYCACAGRAAAAAAAAPC/OQMAIAsQOEF+DAILIAAoAgAhD0EAIQlBfyEDQX8hAUF/IQIDQCAJIA9IBEAgACgCCCEHAkACQANAAkAgA0EBaiIDQQJ0IAdqKAIADgMBAgACCwsMAQsgA0ECdCEQQQAhBwNAIAdBBEcEQCAHIBBqIQ1BACEMQQAhCANAIAggCkcEQCAMIAhBAnQgC2ooAgAgACgCFCANQQJ0aigCACAIQQJ0aigCAGxqIQwgCEEBaiEIDAELCyAHIAIgDLcgACgCGCANQQN0aisDAKMgE6MiFCASZCIIGyECIAdBAWohByAUIBIgCBshEiADIAEgCBshAQwBCwsLIAlBAWohCQwBCwsgBSACNgIAIAQgATYCACAGIBI5AwAgCxA4QQAMAQtBfwsLIREgDiQGIBELVAEBfyMGIQMjBkEwaiQGIAMgAjYCACADQRBqIgJCADcCACACQQA2AgggAiABIAEQYBB+IANBHGoiASACIAMQoQcgACABEKIHIAEQRyACEEcgAyQGC3wBAX8jBiEGIwZBEGokBiAAIAI2AgAgACADNgIEIAAgBDYCCCAAQQE2AhAgACAEIAVsNgIUIAZBADYCACAGQQRqIAYsAAw6AAAgBkEIaiAGKAIANgIAIABBGGogARClByAAIAVBAEgEfyACELkDIANsBSAFCzYCDCAGJAYLagECfyMGIQEjBkEQaiQGAkACQAJAAkAgAEEBaw4CAAECCyAAIQIMAgtBBCECDAELQRAQBSEAIAFCADcCACABQQA2AgggAUHkoAJB5KACEGAQfiAAIAEQhgIgAEGI8gBBBRAECyABJAYgAgseACAAQgA3AgAgAEIANwIIIABCADcCECAAQgA3AhgLRwECfyMGIQEjBkGQAmokBiABQYACaiICEBMaIAFBgAJBvJwCIAIQIhAgGiAAQgA3AgAgAEEANgIIIAAgASABEGAQfiABJAYLOgECfyMGIQIjBkEQaiQGIAEgACgCAGwhAyACQQA6AAAgAEEEaiADIAIQrgcgAEEQaiABENEDIAIkBgtNAQJ/IAAoAgwEQCAAKAIIEL4DIABBADYCCCAAKAIEIQIDQCABIAJHBEAgACgCACABQQJ0akEANgIAIAFBAWohAQwBCwsgAEEANgIMCwsdAQJ/A0AgAARAIAAoAgAhAiAAEDggAiEADAELCwuHAgEHfyMGIQcjBkEQaiQGIAIoAgAiBiAAKAIAIghrIQAgAUECTgRAIAFBfmpBAhA5IgkgAEEDdU4EQCAAQQJ1QQFyIgNBA3QgCGoiBCEAIANBAWoiBSABSARAIAUgAyAEIARBCGoiBBDBASIFGyEDIAQgACAFGyEACyAAIAYQwQFFBEAgByAGKQIANwMAA0ACQCAGIAAiBikCADcCACACIAA2AgAgCSADSA0AIANBAXRBAXIiA0EDdCAIaiIEIQAgA0EBaiIFIAFIBEAgBSADIAQgBEEIaiIEEMEBIgUbIQMgBCAAIAUbIQALIAAgBxDBAUUNAQsLIAYgBykDADcCAAsLCyAHJAYLCAAgAEH8AGoLXQEBf0H/////ASABSQRAEAALIAFB/////wFLBEBBCBAFIgAQiAEgAEG0iwE2AgAgAEH49wBBFhAEBSAAIAFBA3QQUSICNgIEIAAgAjYCACAAIAFBA3QgAmo2AggLCxAAIABCADcCACAAQQA2AggLbQAgACoCACABKgIAlCAAKgIEIAEqAgSUkiAAKgIIIAEqAgiUkiAAKgIMIAEqAgyUkiAAKgIQIAEqAhCUkiAAKgIUIAEqAhSUkiAAKgIYIAEqAhiUkiAAKgIcIAEqAhyUkiAAKgIgIAEqAiCUkgvVAgEJfSAFIAYqAgAgByoCAJIgCCoCAJIgCSoCAJJDAACAPpQiCjgCACAFIAYqAgQgByoCBJIgCCoCBJIgCSoCBJJDAACAPpQiCzgCBCAGKgIAIAqTIg0gDZQgBioCBCALkyIOIA6UkpEgByoCACAKkyIPIA+UIAcqAgQgC5MiECAQlJKRkiAIKgIAIAqTIhEgEZQgCCoCBCALkyISIBKUkpGSIAkqAgAgCpMiCiAKlCAJKgIEIAuTIgsgC5SSkZJDAACAPpQiDEMAAAAAWwR/QQAFIARDAACAPyAMlbtEzTt/Zp6g9j+itiIMOAIAIAAgDSAMlDgCACAAIA4gBCoCAJQ4AgQgASAPIAQqAgCUOAIAIAEgECAEKgIAlDgCBCACIBEgBCoCAJQ4AgAgAiASIAQqAgCUOAIEIAMgCiAEKgIAlDgCACADIAsgBCoCAJQ4AgRBAQsLDAAgACABKQIANwIACyoAIABBADYCACAAQQA2AgQgAEEANgIIIAEEQCAAIAEQwQMgACABENoHCwtpAQR9IAAqAhAgACoCFCAAKgIcIAAqAiAQgAEhBCAAKgIMIAAqAhQgACoCGCAAKgIgEIABIQIgACoCDCAAKgIQIAAqAhggACoCHBCAASEDIAQgACoCAJQgAiAAKgIElJMgAyAAKgIIlJILtgIBAX0gARDHAyIDiyACXwR/QQAFIABDAACAPyADlSICIAEqAhAgASoCFCABKgIcIAEqAiAQgAGUOAIAIAAgAiABKgIIIAEqAgQgASoCICABKgIcEIABlDgCBCAAIAIgASoCBCABKgIIIAEqAhAgASoCFBCAAZQ4AgggACACIAEqAhQgASoCDCABKgIgIAEqAhgQgAGUOAIMIAAgAiABKgIAIAEqAgggASoCGCABKgIgEIABlDgCECAAIAIgASoCCCABKgIAIAEqAhQgASoCDBCAAZQ4AhQgACACIAEqAgwgASoCECABKgIYIAEqAhwQgAGUOAIYIAAgAiABKgIEIAEqAgAgASoCHCABKgIYEIABlDgCHCAAIAIgASoCACABKgIEIAEqAgwgASoCEBCAAZQ4AiBBAQsLiwIBBX8jBiEIIwZBEGokBiAFEGkhBSAAIAQoAgQgBCgCAGtBA3UQgAIgCEEEaiEKA0AgBiAEKAIEIAQoAgAiB2tBA3VJBEAgCCAKIAEgAygCACIJIAZBA3QgB2ooAgQiB0EUbGoqAgAgB0EUbCAJaioCBBC9AiAIKgIAIAIoAgAgBCgCACAGQQN0aigCAEEUbGoqAgCTEGkgCioCACACKAIAIAQoAgAgBkEDdGooAgBBFGxqKgIEkxBpkiAFXwRAIAQoAgAgBkEDdGohByAAKAIEIgkgACgCCEYEQCAAIAcQlgEFIAkgBykCADcCACAAIAAoAgRBCGo2AgQLCyAGQQFqIQYMAQsLIAgkBgvpAgIJfwF9IwYhByMGQUBrJAYgB0EsaiILIAMoAgQgAygCAGtBA3UQxgMgB0EgaiIMIAMoAgQgAygCAGtBA3UQxgMgAygCBCADKAIAIgNrQQN1IQ0gASgCACEOIAwoAgAhCSACKAIAIQIgCygCACEKA0AgCCANRwRAIAhBA3QgCWogCEEDdCADaigCACIBQRRsIA5qKAIANgIAIAhBA3QgCWogAUEUbCAOaigCBDYCBCAIQQN0IApqIAhBA3QgA2ooAgQiAUEUbCACaigCADYCACAIQQN0IApqIAFBFGwgAmooAgQ2AgQgCEEBaiEIDAELCyAHQwAAAAA4AgAgB0MAAAAAOAIEIAcgBbIiEDgCCCAHQwAAAAA4AgwgByAQOAIQIAcgBrIiEDgCFCAHQwAAAAA4AhggByAQOAIcIAQgACAKIAkgDSAHEPwHBH8gACAFIAYQ+wcFQQALIQ8gDBBVIAsQVSAHJAYgDwv8AwEKfyMGIQQjBkEwaiQGIARBIGohBSABIARBDGogBEEIaiAEQQRqIAQgAxDXByAAIAAoAgA2AgQgAUHwAGohDSABEMADIgMoAgQgAygCAGtBAnUiCyACKAIEIAIoAgBrQQN1SwRAIAVBwMgDQZaIAhA3QZD5ARA3Qe+iAhA3QdYCED5B9qICEDdBxIgCEDciAyADKAIAQXRqKAIAahA7IAVBgM4DEDoiBigCACgCHCEIIAZBCiAIQT9xQYoBahECACEGIAUQPCADIAYQQCADED8QAAsgBEEcaiEGIARBGGohCCAEQRRqIQkgBEEQaiEKIA0oAgAhA0EAIQUDQCAFIAtIBEAgASAGIAggCSAKIAMqAgAgAyoCBCADKgIIIAMqAgwgBCgCDLdEAAAAAAAA4D+gtiAEKAIIt0QAAAAAAADgP6C2IAQoAgS3RAAAAAAAAOA/oLYgBCgCALdEAAAAAAAA4D+gthDWByAGKgIAQwAAgD9dIAgqAgBDAACAP11xIAkqAgBDAACAP11xIAoqAgBDAACAP11xBEAgARDAAygCACAFQQJ0aigCAEEDdCACKAIAaiEHIAAoAgQiDCAAKAIIRgRAIAAgBxCWAQUgDCAHKQIANwIAIAAgACgCBEEIajYCBAsLIANBEGohAyAFQQFqIQUMAQsLIAQkBgvPAwIOfwF9IwYhCSMGQSBqJAYgCUEEaiEPIAlBFGoiDCADKAIEIAMoAgBrQQF1EIQCIAlBCGoiDSADKAIEIAMoAgBrQQF1EIQCIAMoAgQgAygCACIQa0EDdSERIAEoAgAhASACKAIAIQIgDCgCACESIA0oAgAhEwNAIAogEUcEQCAKQQN0IBBqKAIEIQsgCkECdCIUQQJ0IBJqIgggCkEDdCAQaigCACIOQRRsIAFqKAIANgIAIAggDkEUbCABaigCBDYCBCAIIA5BFGwgAWooAgg2AgggCCAOQRRsIAFqKAIMNgIMIBRBAnQgE2oiCCALQRRsIAJqKAIANgIAIAggC0EUbCACaigCBDYCBCAIIAtBFGwgAmooAgg2AgggCCALQRRsIAJqKAIMNgIMIApBAWohCgwBCwsgACAEsiIWQ83MTD6UIBaSIhaMIBYgBbIiFkPNzEw+lCAWkiIWjCAWEMMHIAAgBkEBdbI4AgggACAHQQF1sjgCDCAAIAY2AgAgACAHNgIEIAAgDCgCACANKAIAIAMoAgQgAygCAGtBA3UQwgcgACAPIAkQuQdBfyAJKAIAIA8qAgBDAABAQF0bIRUgDRBVIAwQVSAJJAYgFQtGAANAIAEgAkcEQCAAKAIEIgMgASkCADcCACADIAEpAgg3AgggAyABKAIQNgIQIAAgACgCBEEUajYCBCABQRRqIQEMAQsLCygAIAIgAWsiAkEASgRAIAAoAgQgASACEEwaIAAgACgCBCACajYCBAsLOAECfyAAKAIAIgEhAiABBEAgACACNgIEIAAoAggaIAEQOCAAQQA2AgggAEEANgIEIABBADYCAAsLMwAgAiABayICQQBKBEAgAkEMEEghAyAAKAIEIAEgAhBMGiAAIAAoAgQgA0EMbGo2AgQLC1sBA38gACgCBCIDIAAoAgAiBGtBFBA5IgIgAUkEQCAAIAEgAmsQhggFIAIgAUsEQCABQRRsIARqIQIgAyEBA0AgASACRwRAIAFBbGohAQwBCwsgACACNgIECwsLCgAgAEHgADYCAAs9AQJ/IAAoAgAiAgRAIAAoAgQhAQNAIAEgAkcEQCABQXhqIQEMAQsLIAAgAjYCBCAAKAIIGiAAKAIAEDgLCxcAIABCADcCACAAQgA3AgggAEEBOgAQCysBAX8gACgCBCECA0AgAhDUAyAAIAAoAgRBFGoiAjYCBCABQX9qIgENAAsLXQEBf0HMmbPmACABSQRAEAALIAFBzJmz5gBLBEBBCBAFIgAQiAEgAEG0iwE2AgAgAEH49wBBFhAEBSAAIAFBFGwQUSICNgIEIAAgAjYCACAAIAFBFGwgAmo2AggLCwkAIAAgATYCCAsTACAAQQg2AgQgAEEMakEIEIcBCwsAIABBACABEEUaC/wDAgV/AnwjBiEGIwZBoAJqJAYgBkGAAmohCCAGQcABaiIEIAFBqAFqQQQgASgCDEEASAR/IAFBFGoFIAEoAghBAEgEfyABQRhqBSABQRBqCwsoAgAiBWtBBBBPIgdBBHRqKwMAOQMAIAQgASAHQQR0aisDsAE5AwggBCABQagBakEFIAVrQQQQTyIHQQR0aisDADkDECAEIAEgB0EEdGorA7ABOQMYIAQgAUGoAWpBBiAFa0EEEE8iB0EEdGorAwA5AyAgBCABIAdBBHRqKwOwATkDKCAEIAFBqAFqQQcgBWtBBBBPIgVBBHRqKwMAOQMwIAQgASAFQQR0aisDsAE5AzggBkHgAGoiASACRAAAAAAAAOC/oiIJOQMAIAEgAkQAAAAAAADgP6IiAjkDCCABRAAAAAAAAAAAOQMQIAEgAjkDGCABIAI5AyAgAUQAAAAAAAAAADkDKCABIAI5AzAgASAJOQM4IAFBQGtEAAAAAAAAAAA5AwAgASAJOQNIIAEgCTkDUCABRAAAAAAAAAAAOQNYIAZBiAJqIgUgBDYCACAFIAE2AgQgBUEENgIIIAAoAgAgBCABQQQgBhCYBEEASAR8RAAAAACE15dBBSAAKAIAIAUgBiADIAgQ6gFBAEghAEQAAAAAhNeXQSAIKwMAIAAbCyEKIAYkBiAKC78CACAAKAIAIAEoAgAQbCAAKAIEIAEoAgQQbGogACgCCCABKAIIEGxqIAAoAgwgASgCDBBsaiAAKAIQIAEoAhAQbGogACgCFCABKAIUEGxqIAAoAhggASgCGBBsaiAAKAIcIAEoAhwQbGogACgCICABKAIgEGxqIAAoAiQgASgCJBBsaiAAKAIoIAEoAigQbGogACgCLCABKAIsEGxqIAAoAjAgASgCMBBsaiAAKAI0IAEoAjQQbGogACgCOCABKAI4EGxqIAAoAjwgASgCPBBsaiAAQUBrKAIAIAFBQGsoAgAQbGogACgCRCABKAJEEGxqIAAoAkggASgCSBBsaiAAKAJMIAEoAkwQbGogACgCUCABKAJQEGxqIAAoAlQgASgCVBBsaiAAKAJYIAEoAlgQbGogACgCXCABKAJcEGxqC0EBAn8gAUEBTgRAAkAgAEEANgIAQQEhAgNAIAEgAkYNASACQQJ0IABqIANBAWoiAzYCACACQQFqIQIMAAALAAsLCz4BAn8gACgCBCAAKAIAIgRrQQJ1IgMgAUkEQCAAIAEgA2sgAhCfCAUgAyABSwRAIAAgAUECdCAEajYCBAsLC8oEAQ1/IwYhESMGQRBqJAYgEUEEaiESIAhBAkkhFCAIQQJGIRUDQCAQIAVIBEAgDkEIdCALaiAQQbDxBGwgBGooAgA2AgAgCSAQQbDxBGwgBGorAwi2IBBBsPEEbCAEaisDELYgEiAREKYBQQBOBEAgDkEIdCALaiASKgIAuzkDOCAOQQh0IAtqQUBrIBEqAgC7OQMAIBBBsPEEbCAEakEcaiAQQbDxBGwgBGpB3LgCaiAQQbDxBGwgBGooAhggEEGw8QRsIARqQZzxBGogCSAOQQh0IAtqQcgAaiAOQQh0IAtqQagBaiIPEKYIQQBOBEACQAJAAkACQAJAAkACQAJAIAYgByAIIAAgASACIAMgCSAPIAogDkEIdCALakEIaiIWIA5BCHQgC2pBFGoiFyAOQQh0IAtqQShqIhggDkEIdCALakEMaiIZIA5BCHQgC2pBGGoiGiAOQQh0IAtqQTBqIhMgDSAOQQh0IAtqQfABaiAOQQh0IAtqQfgBahD+BiIPQXprDgcFBAMCAQAGBwtBAiEPDAULQQMhDwwEC0EEIQ8MAwtBBSEPDAILQQkhDwwBC0EBIQ8LIA5BCHQgC2ogDzYC7AELAkACQCAUBEAgDkEIdCALaiAWKAIANgIEIBghEyAXIQ8MAQUgFQRAIA5BCHQgC2ogGSgCADYCBCAaIQ8MAgsLDAELIA5BCHQgC2ogDygCADYCECAOQQh0IAtqIBMrAwA5AyALIA5BAWohDgsLIBBBAWohEAwBCwsgDCAONgIAIBEkBkEACwgAIABB6ABqC68IAQh/IwYhCSMGQSBqJAYgAEEMaiIHKAIEIAAoAmwQxgEgBU4EQCABQQEQgwIgARDFASAFEIcBQQAhAANAIAAgBUgEQCAAQQJ0IARqKAIAIQIgARDFASgCACAAQQJ0aiACNgIAIABBAWohAAwBCwsgCSQGDwsgCUEUaiEGIAlCADcCACAJQgA3AgggCUGAgID8AzYCECAHIAIgAyAEIAUQpQggB0EYaiIMKAIEIgsgDCgCACIIa0ECdSAFRwRAIAZBwMgDQZnxARA3QdHxARA3Qe+iAhA3QesCED5B9qICEDdB2PIBEDciByAHKAIAQXRqKAIAahA7IAZBgM4DEDoiCigCACgCHCENIApBCiANQT9xQYoBahECACEKIAYQPCAHIAoQQCAHED8QAAtBACEHAkACQAJAAkADQCAHIAsgCGtBAnVJBEAgB0ECdCAIaigCACIIQX9GDQIgCCAFTg0DIAhBAnQgBGoiCCgCACADTg0EIAdBAnQgBGohCyAJIAgQwwIiCCgCBCIKIAgoAghGBEAgCCALEKQIBSAKIAsoAgA2AgAgCCAKQQRqNgIECyAHQQFqIQcgDCgCACEIIAwoAgQhCwwBCwsCQCAJKAIMQQFGBEAgAUEBEIMCIAEQxQEgBRCHAUEAIQADQCAAIAVODQIgAEECdCAEaigCACECIAEQxQEoAgAgAEECdGogAjYCACAAQQFqIQAMAAALAAUgARDfAyAJKAIMEKMIIAlBCGohBANAAkAgBCgCACIERQ0DIAQoAhAgBCgCDEYNAEGAARBRIgUgABDhAyACIAQoAghB4ABsahCiCCAGIAU2AgAgBUEAEIMCIAEQ3wMiBSgCBCIHIAUoAghGBEAgBSAGEMICBSAHIAYoAgA2AgAgBSAFKAIEQQRqNgIECyAAIAYoAgAgAiADIAQoAgwiBSAEKAIQIAVrQQJ1EOADDAELCyAGQcDIA0G39AEQN0HR8QEQN0HvogIQN0GDAxA+QfaiAhA3QeX0ARA3IgAgACgCAEF0aigCAGoQOyAGQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAGEDwgACABEEAgABA/EAALCyAJEOkDIAkkBg8LIAZBwMgDQe7yARA3QdHxARA3Qe+iAhA3Qe0CED5B9qICEDdBmfMBEDciACAAKAIAQXRqKAIAahA7DAILIAZBwMgDQa/zARA3QdHxARA3Qe+iAhA3Qe4CED5B9qICEDdB4vMBEDciACAAKAIAQXRqKAIAahA7DAELIAZBwMgDQfrzARA3QdHxARA3Qe+iAhA3Qe8CED5B9qICEDdB4vMBEDciACAAKAIAQXRqKAIAahA7CyAGQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAGEDwgACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAiAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAFBADYCJAsgASgCECEGIAEgASgCGCACSQR/IAIFIAkgBmsiA0EAIANBAEobCyIFNgIYIAEoAghBB3QhCiAGQQBKBEAgAUEwaiELIAEoAhQiAyAGIAMgBkgbIgYgASgCHCAFayIDIAYgA0gbIgYgASgCBCAFayIDIAYgA0gbIgNBAU4EQCAFIApsIQVBACEGA0AgCygCACEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAyAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAEoAhwiAyAJSQRAAkAgBEUhBQJAAkAgAyACSQRAIAUEf0EAIQUgAgUgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEAIAIhAwwCCyEDBSAFRQ0BQQAhBQsMAQsgASAJNgIcQQEhBQsgASgCIEUEQCAFDQEgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEADAELIAEoAghBB3QhBSADIAEoAhgiA2siACAJIANrIgNJBEADQCABKAIAIABBAnRqKAIAQQAgBRBFGiAAQQFqIgAgA0cNAAsLCwsgBEUEQCABKAIAIAIgASgCGGtBAnRqDwsgAUEBNgIkIAEoAgAgAiABKAIYa0ECdGoLMgEBfyAAKAIIIAAoAgQQpQMiAQRAIAEgABDqBEEASARAIAEQSUEAIQELBUEAIQELIAEL0AcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIIQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAiAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAFBADYCJAsgASgCECEGIAEgASgCGCACSQR/IAIFIAkgBmsiA0EAIANBAEobCyIFNgIYIAEoAgghCiAGQQBKBEAgAUEwaiELIAEoAhQiAyAGIAMgBkgbIgYgASgCHCAFayIDIAYgA0gbIgYgASgCBCAFayIDIAYgA0gbIgNBAU4EQCAFIApsIQVBACEGA0AgCygCACEHIAAgCyABKAIAIAZBAnRqKAIAIAUgAyAKbCIIIAdBP3FBmgZqEQUAIAEoAhAiAyAGIAEoAhQiB2oiBkwNAyAFIAhqIQUgByADIAZrIgMgByADSBsiCCABKAIcIAEoAhggBmoiB2siAyAIIANIGyIIIAEoAgQgB2siAyAIIANIGyIDQQFODQALCwsLIAEoAhwiAyAJSQRAAkAgBEUhBQJAAkAgAyACSQRAIAUEf0EAIQUgAgUgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEAIAIhAwwCCyEDBSAFRQ0BQQAhBQsMAQsgASAJNgIcQQEhBQsgASgCIEUEQCAFDQEgACgCACIDQRc2AhQgAygCACEDIAAgA0H/AXFBrANqEQEADAELIAEoAgghBSADIAEoAhgiA2siACAJIANrIgNJBEADQCABKAIAIABBAnRqKAIAQQAgBRBFGiAAQQFqIgAgA0cNAAsLCwsgBEUEQCABKAIAIAIgASgCGGtBAnRqDwsgAUEBNgIkIAEoAgAgAiABKAIYa0ECdGoL4AoBE38gACgCBCIKKAJEIgEEfwN/IAEoAgBFBEAgAyABKAIIIgQgASgCDGxqIQMgAiAEIAEoAgRsaiECCyABKAIsIgENACADIQEgAgsFQQAhAUEACyEDIAooAkgiBARAIAEhAgNAIAQoAgBFBEAgAiAEKAIIIgEgBCgCDEEHdGxqIQIgAyAEKAIEIAFBB3RsaiEDCyAEKAIsIgQNAAsFIAEhAgsgAkEBSARADwsgCigCTBogAyIBIANIBH8gASACEDkiAUEBIAFBAUobBUGAlOvcAwshDyAKKAJEIgIEQANAIAIoAgBFBEAgAigCBCIFQX9qIAIoAgwiARBIQQFqIA9KBEAgAiABIA9sNgIQIAAgBSACQQhqIgMoAgBsEJ8DIAJBATYCKCACKAIQIQUFIAIgBTYCECACQQhqIQMLIAAoAgQhEkHwk+vcAyADKAIAIgsQSCEBIAtB8JPr3ANLBEAgACgCACIDQcgANgIUIAAgAygCAEH/AXFBrANqEQEACyASIAEgBSABIAVIGyIBNgJQIABBASAFQQJ0ELUBIQwgBQRAIAVBf3MhEEEAIQMDQCAAKAIEIQcgASAFIANrIgQgASAESRsiBCALbCIGQfCT69wDSwRAIAAoAgAiCEE4NgIUIAhBAzYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgBkEIIAZBB3EiCGtBACAIG2oiCEEQaiINEEQiBkUEQCAAKAIAIglBODYCFCAJQQQ2AhggACAAKAIAKAIAQf8BcUGsA2oRAQALIAcgBygCTCANajYCTCAGIAdBQGsiBygCADYCACAGIAg2AgQgBkEANgIIIAcgBjYCACAEBEAgAyAQaiINIAFBf3MiCUshDiAEIQcgBkEQaiEIIAMhAQNAIAFBAWohBiABQQJ0IAxqIAg2AgAgCCALaiEIIAdBf2oiBwRAIAYhAQwBCwsgA0F/aiANIAkgDhtrIQMLIAMgBUkEQCAEIQEMAQsLCyACIAw2AgAgAiAKKAJQNgIUIAJBADYCGCACQQA2AhwgAkEANgIkCyACKAIsIgINAAsLIAooAkgiAkUEQA8LA0AgAigCAEUEQCACKAIEIgVBf2ogAigCDCIBEEhBAWogD0oEQCACIAEgD2w2AhAgACACQQhqIgMoAgAgBUEHdGwQnwMgAkEBNgIoIAIoAhAhBQUgAiAFNgIQIAJBCGohAwsgACgCBCETQfCT69wDIAMoAgAiEEEHdCILEEghASALQfCT69wDSwRAIAAoAgAiA0HIADYCFCAAIAMoAgBB/wFxQawDahEBAAsgEyABIAUgASAFSBsiATYCUCAAQQEgBUECdBC1ASEMIAUEQCAFQX9zIQ1BACEDA0AgACgCBCEHIAEgBSADayIEIAEgBEkbIgQgC2wiCEHwk+vcA0sEQCAAKAIAIgZBODYCFCAGQQM2AhggACAAKAIAKAIAQf8BcUGsA2oRAQALIAhBEHIiCRBEIgZFBEAgACgCACIOQTg2AhQgDkEENgIYIAAgACgCACgCAEH/AXFBrANqEQEACyAHIAkgBygCTGo2AkwgBiAHQUBrIgcoAgA2AgAgBiAINgIEIAZBADYCCCAHIAY2AgAgBARAIAMgDWoiCSABQX9zIg5LIREgBCEHIAZBEGohCCADIQEDQCABQQFqIQYgAUECdCAMaiAINgIAIBBBB3QgCGohCCAHQX9qIgcEQCAGIQEMAQsLIANBf2ogCSAOIBEbayEDCyADIAVJBEAgBCEBDAELCwsgAiAMNgIAIAIgCigCUDYCFCACQQA2AhggAkEANgIcIAJBADYCJAsgAigCLCICDQALC4sBAQJ/IAAoAgQhByABQQFGBEBBASEBBSAAKAIAIgZBDzYCFCAGIAE2AhggACgCACgCACEGIAAgBkH/AXFBrANqEQEACyAAIAFBgAEQtQEiAEEANgIAIAAgBDYCBCAAIAM2AgggACAFNgIMIAAgAjYCICAAQQA2AiggACAHKAJINgIsIAcgADYCSCAAC4sBAQJ/IAAoAgQhByABQQFGBEBBASEBBSAAKAIAIgZBDzYCFCAGIAE2AhggACgCACgCACEGIAAgBkH/AXFBrANqEQEACyAAIAFBgAEQtQEiAEEANgIAIAAgBDYCBCAAIAM2AgggACAFNgIMIAAgAjYCICAAQQA2AiggACAHKAJENgIsIAcgADYCRCAAC4wCAQt/IAAoAgQhDkHwk+vcAyACQQd0IgoQSCEFIApB8JPr3ANLBEAgACgCACIGQcgANgIUIAYoAgAhBiAAIAZB/wFxQawDahEBAAsgDiAFIAMgBSADSBsiBDYCUCAAIAEgA0ECdBC1ASEHIANFBEAgBw8LIANBf3MhC0EAIQYDQCAAIAEgBCADIAZrIgUgBCAFSRsiCCAKbBCvAiEJIAgEQCAGIAtqIgUgBEF/cyIEIAUgBEsbIQwgCCEEIAYhBQNAIAVBAWohDSAFQQJ0IAdqIAk2AgAgAkEHdCAJaiEJIARBf2oiBARAIA0hBQwBCwsgBkF/aiAMayEGCyAGIANJBEAgCCEEDAELCyAHC4QCAQp/IAAoAgQhDUHwk+vcAyACEEghBSACQfCT69wDSwRAIAAoAgAiBkHIADYCFCAGKAIAIQYgACAGQf8BcUGsA2oRAQALIA0gBSADIAUgA0gbIgQ2AlAgACABIANBAnQQtQEhByADRQRAIAcPCyADQX9zIQpBACEGA0AgACABIAIgBCADIAZrIgUgBCAFSRsiCGwQrwIhCSAIBEAgBiAKaiIFIARBf3MiBCAFIARLGyELIAghBCAGIQUDQCAFQQFqIQwgBUECdCAHaiAJNgIAIAIgCWohCSAEQX9qIgQEQCAMIQUMAQsLIAZBf2ogC2shBgsgBiADSQRAIAghBAwBCwsgBwvtAgEDfyMGIQIjBkEQaiQGIABBADYCBCACQQA2AghB1AAQRCIBRQRAIAAoAgAiA0E4NgIUIANBADYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgAUEhNgIAIAFBIjYCBCABQQc2AgggAUEINgIMIAFBIzYCECABQSQ2AhQgAUGJATYCGCABQRU2AhwgAUEWNgIgIAFBNDYCJCABQYoBNgIoIAFBgJTr3AM2AjAgAUEANgIsIAFBADYCOCABQUBrQQA2AgAgAUEANgI0IAFBADYCPCABQQA2AkQgAUEANgJIIAFB1AA2AkwgACABNgIEQeD9AhANIgBFBEAgAiQGDwsgAkH4ADoADCACIAJBCGo2AgAgAiACQQxqNgIEIABB6P0CIAIQgwFBAEoEQAJAIAIsAAxBzQBrIgBBACAAQSBHG0UEQCACIAIoAghB6AdsIgA2AggMAQsgAigCCCEACyABIABB6AdsNgIsCyACJAYL9QEBBH8jBiEEIwZBEGokBiAAKAIUIgNBzQFHBEAgACgCACIFQRU2AhQgBSADNgIYIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACgCjAEiBSAAKAJ0IgZPBEAgACgCACIBQf4ANgIUIAEoAgQhASAAQX8gAUE/cUGyBWoRAwAgBCQGQQAPCyAAKAIIIgMEQCADIAU2AgQgAyAGNgIIIAMoAgAhAyAAIANB/wFxQawDahEBAAsgBEEANgIAIAAoAsADKAIEIQMgACABIAQgAiADQR9xQfoFahEHACAAIAQoAgAiASAAKAKMAWo2AowBIAQkBiABC5IEAR1/IAAoAuQDIQQgACgCeCEIIAAoAnAhCSAAKALQAiESIANBAEwEQA8LIAhBAEohEyAJRSEUIAlBf2oiFSAIbCEWQQAgCGshFyAJQQFqIQ8DQCAKQQJ0IAJqIhgoAgBBACAJEEUaIBMEQAJAIBQEQCAEKAJURSEGQQAhAANAIARBxABqIABBAnRqKAIAIgUgD0EBdCAFaiAGG0EAOwEAIAggAEEBaiIARw0ACwwBCyAKQQJ0IAFqIRlBACEHA0AgByAZKAIAaiEGIBgoAgAhACAEKAJUBH9BfyELIARBxABqIAdBAnRqKAIAIA9BAXRqIQ0gBiAWaiEGIAAgFWohACAXBUEBIQsgBEHEAGogB0ECdGooAgAhDSAICyEaIAQoAhggB0ECdGooAgAhGyAEKAIQIAdBAnRqKAIAIRwgCSALbCEgQQAhECAJIRFBACEOQQAhDCANIQUDQCAAIBsgEiAGLQAAIAtBAXQgBWoiHi4BACAMQQhqakEEdWpqLQAAIgxqLQAAIh8gAC0AAGo6AAAgBSAOIAwgHCAfai0AAGsiBUEDbGo7AQAgECAFQQVsaiEOIAVBB2whDCAGIBpqIQYgACALaiEAIBFBf2oiEQRAIAUhECAeIQUMAQsLICBBAXQgDWogDjsBACAHQQFqIgcgCEcNAAsLCyAEIAQoAlRFNgJUIApBAWoiCiADRw0ACwvFAgEOfyAAKALkAyEEIAAoAnghCSAAKAJwIQYgA0EATARADwsgCUEATARAQQAhAANAIABBAnQgAmooAgBBACAGEEUaIAQgBCgCMEEBakEPcTYCMCAAQQFqIgAgA0cNAAsPCyAGRSENA0AgB0ECdCACaiIOKAIAQQAgBhBFGiAEKAIwIQwgB0ECdCABaiEPIA1FBEBBACEFA0AgBCgCGCAFQQJ0aigCACEQIARBNGogBUECdGooAgAhESAGIQAgDigCACEIQQAhCiAFIA8oAgBqIQsDQCAIIBAgCy0AACAMQQZ0IBFqIApBAnRqKAIAamotAAAgCC0AAGo6AAAgCSALaiELIAhBAWohCCAKQQFqQQ9xIQogAEF/aiIADQALIAkgBUEBaiIFRw0ACwsgBCAMQQFqQQ9xNgIwIAdBAWoiByADRw0ACwvIAgEPfyAAKALkAyIEKAIYIgUoAgAhCyAFKAIEIQwgBSgCCCENIAAoAnAhCiADQQBMBEAPCyAEKAIwIQAgCkUEQEEAIQEDQCAAQQFqQQ9xIQAgAUEBaiIBIANHDQALIAQgADYCMA8LA0AgBCgCNCEOIAQoAjghDyAEKAI8IRAgCiEFQQAhBiAIQQJ0IAJqKAIAIQkgCEECdCABaigCACEHA0AgB0EDaiERIAlBAWohEiAJIA0gBy0AAiAAQQZ0IBBqIAZBAnRqKAIAamotAAAgBy0AACAAQQZ0IA5qIAZBAnRqKAIAaiALai0AACAMIActAAEgAEEGdCAPaiAGQQJ0aigCAGpqLQAAamo6AAAgBkEBakEPcSEGIAVBf2oiBQRAIBIhCSARIQcMAQsLIAQgAEEBakEPcSIANgIwIAhBAWoiCCADRw0ACwvtAQEKfyAAKALkAygCGCEMIAAoAnghBiAAKAJwIgpFIANBAUhyBEAPCyAGQQBMBEBBACEAA0AgAEECdCACaigCAEEAIAoQRRogAEEBaiIAIANHDQALDwsDQCAKIQsgBUECdCACaigCACEHIAVBAnQgAWooAgAhAANAQQAhCEEAIQkgACEEA0AgBEEBaiENIAkgCEECdCAMaigCACAELQAAai0AAGohCSAIQQFqIgggBkcEQCANIQQMAQsLIAAgBmohACAHQQFqIQQgByAJOgAAIAtBf2oiCwRAIAQhBwwBCwsgBUEBaiIFIANHDQALC64BAQl/IAAoAuQDKAIYIgQoAgAhByAEKAIEIQggBCgCCCEJIAAoAnAiCkUgA0EBSHIEQA8LA0AgCiEAIAVBAnQgAmooAgAhBiAFQQJ0IAFqKAIAIQQDQCAEQQNqIQsgBkEBaiEMIAYgCSAELQACai0AACAELQAAIAdqLQAAIAggBC0AAWotAABqajoAACAAQX9qIgAEQCAMIQYgCyEEDAELCyAFQQFqIgUgA0cNAAsLJgEBfyAAKAIAIgFBLzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALvQUBCX8gACAAKALkAyICKAIQNgKIASAAIAIoAhQ2AoQBAkACQAJAAkAgACgCWA4DAAECAwsgACgCeEEDRgRAIAJBFjYCBAUgAkEXNgIECw8LIAJBGEEZIAAoAnhBA0YbNgIEIAJBADYCMCACKAIcRQRAIAAQoQMLIAIoAjQEQA8LIAAoAuQDIQIgACgCeCIBQQBMBEAPCwNAIAJBIGogBEECdGooAgAhBQJAAkAgBEUNAEEAIQMDQCACQSBqIANBAnRqKAIAIAVHBEAgA0EBaiIDIARPDQIMAQsLIAJBNGogA0ECdGooAgAiA0UNAAwBCyAAKAIEKAIAIQEgAEEBQYAIIAFBP3FBygFqEQQAIQYgBUEJdEGAfGohBUEAIQEDQEEAIQMDQEH/ASADIAFBBHRBsDJqai0AAEEBdGsiCEH/AWwhByABQQZ0IAZqIANBAnRqIAhBAEgEf0EAQQAgB2sgBRA5awUgByAFEDkLNgIAIANBAWoiA0EQRw0ACyABQQFqIgFBEEcNAAsgBiEDIAAoAnghAQsgAkE0aiAEQQJ0aiADNgIAIARBAWoiBCABSA0ACw8LIAJBGjYCBCACQQA2AlQgAigCRAR/IABB+ABqIgEhAyABKAIAIQEgAEHwAGoFIABB8ABqIgQoAgAhCSAAQfgAaiIDKAIAQQBMBEAPCyAJQQF0QQRqIQVBACEBA38gACgCBCgCBCEGIAJBxABqIAFBAnRqIABBASAFIAZBP3FBygFqEQQANgIAIAFBAWoiASADKAIAIgZIDQAgBiEBIAQLCygCACEKIAFBAEwEQA8LIApBAXRBBGohAUEAIQADQCACQcQAaiAAQQJ0aigCAEEAIAEQRRogAEEBaiIAIAMoAgBIDQALDwsgACgCACIBQTE2AhQgASgCACEBIAAgAUH/AXFBrANqEQEAC8sBAQt/IAAoAuQDKAIYIQogACgCcCILRSADQQFIcgRADwsDQCALIQggBUECdCACaigCACEGIAVBAnQgAWooAgAhBANAIAQtAABBA3YiDEECdCAKaigCACAELQABQQJ2IgdBBnRqIAQtAAJBA3YiDUEBdGoiDi4BACIJRQRAIAAgDCAHIA0QogMgDi4BACEJCyAEQQNqIQQgBkEBaiEHIAYgCUH//wNxQf8BajoAACAIQX9qIggEQCAHIQYMAQsLIAVBAWoiBSADRw0ACwvKBQEnfyAAKALkAyILKAIYIRwgACgCcCEMIAAoAtACIRMgCygCKCEUIAAoAogBIgQoAgAhHSAEKAIEIR4gBCgCCCEfIANBAEwEQA8LIAxFISAgDEF/aiIhQQNsISIgDEEDbEEDaiEjA0AgDkECdCABaigCACEHIA5BAnQgAmooAgAhDSALIAsoAiQEf0F9IQlBfyEWIAsoAiAgI0EBdGohCCANICFqIQ0gByAiaiEHQQAFQQMhCUEBIRYgCygCICEIQQELNgIkICAEQEEAIQ9BACEQQQAhBAUgCUEBaiEkIAlBAmohJSAJIAxsISpBACERQQAhEkEAIRdBACEYQQAhGUEAIQ9BACEQQQAhGiAMIRtBACEFIAghBANAIBMgJEEBdCAEai4BACARQQhqakEEdUECdCAUaigCACAHLQABamotAAAiCkECdiIGQQZ0IBMgCUEBdCAEaiInLgEAIAVBCGpqQQR1QQJ0IBRqKAIAIActAABqai0AACIRQQN2IhVBAnQgHGooAgBqIBMgJUEBdCAEai4BACASQQhqakEEdUECdCAUaigCACAHLQACamotAAAiEkEDdiIoQQF0aiIpLgEAIgVFBEAgACAVIAYgKBCiAyApLgEAIQULIA0gBUH//wNxQX9qIgY6AAAgCiAGIB5qLQAAayEFIBIgBiAfai0AAGshCiAEIA8gESAGIB1qLQAAayIGQQNsajsBACAXIAZBBWxqIQ8gBkEHbCEVIAQgECAFQQNsajsBAiAYIAVBBWxqIRAgBUEHbCERIAQgGiAKQQNsajsBBCAZIApBBWxqIQQgCkEHbCESIAcgCWohByANIBZqIQ0gG0F/aiIbBEAgBiEXIAUhGCAKIRkgBCEaIBUhBSAnIQQMAQsLICpBAXQgCGohCAsgCCAPOwEAIAggEDsBAiAIIAQ7AQQgDkEBaiIOIANHDQALC9gIARd/IAAgACgC5AMiEygCEDYCiAEgACgCBCgCACEBIABBASATKAIUIgtBBXQgAUE/cUHKAWoRBAAiBUEANgIAIAVBHzYCBCAFQQA2AgggBUE/NgIMIAVBADYCECAFQR82AhQgACAFELACIAtBAUoEfwJ/QQEhBAN/IARBAXQgC0oEQEEAIQZBACECIAUhAUEAIQMDfyABKAIYIgkgBkohByAJIAYgBxshBiABIAMgBxshAyABQSBqIQEgAkEBaiICIARHDQAgAwshAQVBACEGQQAhAiAFIQNBACEBA0AgAygCHCIHIAZKBEAgAyABIAMoAhhBAEoiCRshASAHIAYgCRshBgsgA0EgaiEDIAJBAWoiAiAERw0ACwsgBCABRQ0BGiAEQQV0IAVqIAEoAgQ2AgQgBEEFdCAFaiABIgMoAgw2AgwgBEEFdCAFaiABIgIoAhQ2AhQgBEEFdCAFaiIGIAIoAgA2AgAgBEEFdCAFakEIaiIHIAIoAgg2AgAgBEEFdCAFakEQaiIJIAIoAhA2AgACQAJ/AkACQAJAQQIgAigCBCIIIAIoAgAiDGtBBHQiCiACKAIMIg0gAigCCCIOa0EMbCIPSiIQQQFzIAIoAhQiESACKAIQIhJrQQN0IAogDyAQG0obQQNxDgMAAQIECyABIAggDGpBAhA5IgM2AgQgBgwCCyADIA0gDmpBAhA5IgM2AgwgBwwBCyACIBEgEmpBAhA5IgM2AhQgCQsgA0EBajYCAAsgACACELACIAAgBhCwAiAEQQFqIgQgC0gNACAECwsFQQELIQtBACEIA0AgACgC5AMoAhghDyAIQQV0IAVqKAIAIgIgCEEFdCAFaigCBCIRSiAIQQV0IAVqKAIIIg4gCEEFdCAFaigCDCISSnIgCEEFdCAFaigCECINIAhBBXQgBWooAhQiEEpyBEBBACEBQQAhA0EAIQRBACEGBUEAIQFBACEDQQAhBEEAIQYDQCACQQJ0IA9qKAIAIRQgAkEDdEEEciEVIA4hBwNAIAdBAnRBAnIhFiAHQQZ0IBRqIA1BAXRqIQwgDSEJA0AgDC4BACIXQf//A3EhCiAXBEAgASAKIAlBA3RBBHJsaiEBIAMgCiAWbGohAyAEIAogFWxqIQQgBiAKaiEGCyAMQQJqIQwgCUEBaiEKIAkgEEgEQCAKIQkMAQsLIAdBAWohCSAHIBJIBEAgCSEHDAELCyACQQFqIQcgAiARSARAIAchAgwBCwsLIAQgBkEBdSIEaiAGEDlB/wFxIQIgCCAAKAKIASgCAGogAjoAACADIARqIAYQOUH/AXEhAyAIIAAoAogBKAIEaiADOgAAIAEgBGogBhA5Qf8BcSEBIAggACgCiAEoAghqIAE6AAAgCEEBaiIIIAtIDQALIAAgCzYChAEgACgCACIBQeIANgIUIAEgCzYCGCAAKAIAKAIEIQEgAEEBIAFBP3FBsgVqEQMAIBNBATYCHAubAQEGfyAAKALkAygCGCEGIAAoAnAiB0UgA0EBSHIEQA8LA0AgByEAIARBAnQgAWooAgAhAgNAIAItAABBA3ZBAnQgBmooAgAgAi0AAUECdkEGdGogAi0AAkEDdkEBdGoiCC4BACIJQQFqQRB0QRB1IQUgCCAFIAkgBRs7AQAgAkEDaiECIABBf2oiAA0ACyAEQQFqIgQgA0cNAAsLDQAgACgC5ANBATYCHAvjBQEDfyAAKALkAyIDKAIYIQIgACgCWAR/IABBAjYCWEECBUEACyEEIAEEQCADQRM2AgQgA0GHATYCCCADQQE2AhwFIANBFEEVIARBAkYbNgIEIANBiAE2AgggACgChAEiAUEBSARAIAAoAgAiAUE6NgIUIAFBATYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQAFIAFBgAJKBEAgACgCACIBQTs2AhQgAUGAAjYCGCAAKAIAKAIAIQEgACABQf8BcUGsA2oRAQALCyAAKAJYQQJGBEAgACgCcEEGbEEMaiEEIAMoAiAiAUUEQCAAKAIEKAIEIQEgAyAAQQEgBCABQT9xQcoBahEEACIBNgIgCyABQQAgBBBFGiADKAIoRQRAIAAQpAMLIANBADYCJAsLIAMoAhxFBEAPCyACKAIAQQBBgCAQRRogAigCBEEAQYAgEEUaIAIoAghBAEGAIBBFGiACKAIMQQBBgCAQRRogAigCEEEAQYAgEEUaIAIoAhRBAEGAIBBFGiACKAIYQQBBgCAQRRogAigCHEEAQYAgEEUaIAIoAiBBAEGAIBBFGiACKAIkQQBBgCAQRRogAigCKEEAQYAgEEUaIAIoAixBAEGAIBBFGiACKAIwQQBBgCAQRRogAigCNEEAQYAgEEUaIAIoAjhBAEGAIBBFGiACKAI8QQBBgCAQRRogAkFAaygCAEEAQYAgEEUaIAIoAkRBAEGAIBBFGiACKAJIQQBBgCAQRRogAigCTEEAQYAgEEUaIAIoAlBBAEGAIBBFGiACKAJUQQBBgCAQRRogAigCWEEAQYAgEEUaIAIoAlxBAEGAIBBFGiACKAJgQQBBgCAQRRogAigCZEEAQYAgEEUaIAIoAmhBAEGAIBBFGiACKAJsQQBBgCAQRRogAigCcEEAQYAgEEUaIAIoAnRBAEGAIBBFGiACKAJ4QQBBgCAQRRogAigCfEEAQYAgEEUaIANBADYCHAuVBAETfyAAKALQAiEFIAAoAtwDIgQoAhAhDCAEKAIUIQ0gBCgCGCEOIAQoAhwhDyABKAIAIAJBAnRqKAIAIQggASgCBCACQQJ0aigCACEEIAEoAgggAkECdGooAgAhCSADKAIAIQYgACgCcCIBQQF2IgoEQCAEIApqIRYgAUF+cSESIApBBmwhEyAJIQMgCCECIAYhASAKIRADQCAEQQFqIRQgA0EBaiEVIAMtAAAiB0ECdCAMaigCACEDIAQtAAAiC0ECdCAPaigCACAHQQJ0IA5qKAIAakEQdSEEIAtBAnQgDWooAgAhCyABIAMgAi0AACIHaiAFaiwAADoAACABIAQgB2ogBWosAAA6AAEgASAHIAtqIAVqLAAAOgACIAJBAmohByABIAMgAi0AASICaiAFaiwAADoAAyABIAUgAiAEamosAAA6AAQgASAFIAIgC2pqLAAAOgAFIAFBBmohASAQQX9qIhAEQCAVIQMgFCEEIAchAgwBCwsgCSAKaiEJIBYhBCAIIBJqIQggBiATaiEGIAAoAnAhAQsgAUEBcUUEQA8LIAQtAAAiAEECdCAPaigCACAJLQAAIgFBAnQgDmooAgBqQRB1IQIgAEECdCANaigCACEDIAYgCC0AACIAIAFBAnQgDGooAgBqIAVqLAAAOgAAIAYgACACaiAFaiwAADoAASAGIAAgA2ogBWosAAA6AAILRwAgACgC3AMoAgwhAyAAIAEgAigCACAFKAIAQQJ0IARqIANBH3FB+gVqEQcAIAUgBSgCAEEBajYCACACIAIoAgBBAWo2AgALgAYBF38gACgC0AIhBSAAKALcAyIEKAIQIQ8gBCgCFCEQIAQoAhghESAEKAIcIRIgASgCACIHIAJBAXQiBEECdGooAgAhDCAEQQFyQQJ0IAdqKAIAIQQgASgCBCACQQJ0aigCACEGIAEoAgggAkECdGooAgAhDSADKAIAIQggAygCBCEJIAAoAnAiAUEBdiIOBEAgBiAOaiEaIA5BBmwhEyAEIAFBfnEiFmohFyANIQcgBCEDIAwhBCAJIQEgCCECIA4hFANAIAZBAWohGCAHQQFqIRkgBy0AACIKQQJ0IA9qKAIAIQcgBi0AACILQQJ0IBJqKAIAIApBAnQgEWooAgBqQRB1IQYgC0ECdCAQaigCACELIAIgByAELQAAIgpqIAVqLAAAOgAAIAIgBiAKaiAFaiwAADoAASACIAogC2ogBWosAAA6AAIgBEECaiEKIAIgBSAHIAQtAAEiBGpqLAAAOgADIAIgBSAEIAZqaiwAADoABCACIAUgBCALamosAAA6AAUgAkEGaiECIAEgBSAHIAMtAAAiBGpqLAAAOgAAIAEgBSAEIAZqaiwAADoAASABIAUgBCALamosAAA6AAIgA0ECaiEEIAEgAy0AASIDIAdqIAVqLAAAOgADIAEgAyAGaiAFaiwAADoABCABIAMgC2ogBWosAAA6AAUgAUEGaiEBIBRBf2oiFARAIBkhByAYIQYgBCEDIAohBAwBCwsgDSAOaiENIBohBiAXIQQgDCAWaiEMIAkgE2ohCSAIIBNqIQggACgCcCEBCyABQQFxRQRADwsgDS0AACIBQQJ0IA9qKAIAIQAgBi0AACICQQJ0IBJqKAIAIAFBAnQgEWooAgBqQRB1IQEgAkECdCAQaigCACECIAggACAMLQAAIgNqIAVqLAAAOgAAIAggASADaiAFaiwAADoAASAIIAIgA2ogBWosAAA6AAIgCSAAIAQtAAAiAGogBWosAAA6AAAgCSAAIAFqIAVqLAAAOgABIAkgACACaiAFaiwAADoAAgu8EwIPfwF8IwYhDiMGQRBqJAYgBCgCACIGIQ0gASACQX9qIhBsQQF0IAZqIQUDQCAHIAFIBEAgBUEAOwEAIA1BADsBACANQQJqIQ0gBUECaiEFIAdBAWohBwwBCwsgBiEHIAFBf2oiEUEBdCAGaiENQQAhBQNAIAUgAkgEQCANQQA7AQAgB0EAOwEAIAFBAXQgB2ohByABQQF0IA1qIQ0gBUEBaiEFDAELCyAEQZCAyABqIQdBACABayESIAAgAUEBaiIAaiENQQEhC0EAIQUgAEEBdCAGaiEGAn8CQANAAkAgCyAQTg0CIAUhAEEBIQkgBiEMA0AgCSARSARAIA0tAAAgA0oEQAJAIBJBAXQgDGoiDy4BACIFQQBKBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGMgNAAaiALNgIADAELIA9BfmouAQAiCiEIIApBAEohBiAPLgECIgVBAEwEQCAGBEAgDCAKOwEAIAhBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGEgNAAaiIFKAIAIAlIBEAgBSAJNgIACyAGQQJ0IARqQYyA0ABqIAs2AgAMAgsgDEF+ai4BACIFQQBKBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGEgNAAaiIFKAIAIAlODQIgBSAJNgIABSAAQf//AUoNBiAMIABBAWoiBTsBACAEQZCAyABqIABBAnRqIAVBEHRBEHU2AgAgBEGQgNAAaiAAQQdsIgBBAnRqQQE2AgAgAEECdCAEakGUgNAAaiAJNgIAIABBAnQgBGpBmIDQAGogCzYCACAAQQJ0IARqQZyA0ABqIAk2AgAgAEECdCAEakGggNAAaiAJNgIAIABBAnQgBGpBpIDQAGogCzYCACAAQQJ0IARqQaiA0ABqIAs2AgAgBSEACwwBCyAGBEACQCAFQQJ0IARqQYyAyABqKAIAIgUgCEECdCAEakGMgMgAaigCACIISgRAIAwgCDsBACAHIQZBACEKA0AgCiAATgRAIAghBQwDCyAFIAYoAgBGBEAgBiAINgIACyAGQQRqIQYgCkEBaiEKDAAACwAFIAwgBTsBACAFIAhIBEAgByEGQQAhCgNAIAogAE4NAyAIIAYoAgBGBEAgBiAFNgIACyAGQQRqIQYgCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIGQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACAGQQJ0IARqQfj/zwBqIgUgCSAFKAIAajYCACAGQQJ0IARqQfz/zwBqIgUgCyAFKAIAajYCACAGQQJ0IARqQYyA0ABqIAs2AgAMAQsgDEF+ai4BACIGQQBMBEAgDCAFOwEAIAVBB2wiBkECdCAEakH0/88AaiIFIAUoAgBBAWo2AgAgBkECdCAEakH4/88AaiIFIAkgBSgCAGo2AgAgBkECdCAEakH8/88AaiIFIAsgBSgCAGo2AgAgBkECdCAEakGAgNAAaiIFKAIAIAlKBEAgBSAJNgIACyAGQQJ0IARqQYyA0ABqIAs2AgAMAQsCQCAFQQJ0IARqQYyAyABqKAIAIgUgBkECdCAEakGMgMgAaigCACIISgRAIAwgCDsBACAHIQZBACEKA0AgCiAATgRAIAghBQwDCyAGKAIAIAVGBEAgBiAINgIACyAGQQRqIQYgCkEBaiEKDAAACwAFIAwgBTsBACAFIAhIBEAgByEGQQAhCgNAIAogAE4NAyAIIAYoAgBGBEAgBiAFNgIACyAGQQRqIQYgCkEBaiEKDAAACwALCwsgBUEQdEEQdUEHbCIGQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACAGQQJ0IARqQfj/zwBqIgUgCSAFKAIAajYCACAGQQJ0IARqQfz/zwBqIgUgCyAFKAIAajYCAAsFIAxBADsBAAsgDUEBaiENIAlBAWohCSAMQQJqIQwMAQsLIA1BAmohDSALQQFqIQsgACEFIAxBBGohBgwBCwtBAEEDQailASAOED1BfwwBCyAEQQxqIQ1BASEAQQEhCANAIAggBUwEQCAIIAcoAgAiBkYEQCAAQQFqIQMFIAAhAyAGQQJ0IARqQYyAyABqKAIAIQALIAcgADYCACADIQAgCEEBaiEIIAdBBGohBwwBCwsgBCAAQX9qIgc2AgggBwR/IA1BACAHQQJ0EEUaIARBkIAoakEAIAdBBHQQRRpBACEDA0AgAyAHSARAIARBjIAIaiADQQJ0IgBBAnRqIAE2AgAgBEGMgAhqIABBAXJBAnRqQQA2AgAgBEGMgAhqIABBAnJBAnRqIAI2AgAgBEGMgAhqIABBA3JBAnRqQQA2AgAgA0EBaiEDDAELC0EAIQMDQCADIAVIBEAgBEEMaiAEQZCAyABqIANBAnRqKAIAQX9qIgJBAnRqIgAgBEGQgNAAaiADQQdsIgdBAnRqKAIAIAAoAgBqNgIAIARBkIAoaiACQQF0IgFBA3RqIgAgACsDACAHQQJ0IARqQZSA0ABqKAIAt6A5AwAgBEGQgChqIAFBAXJBA3RqIgAgACsDACAHQQJ0IARqQZiA0ABqKAIAt6A5AwAgBEGMgAhqIAJBAnQiAkECdGoiASgCACAHQQJ0IARqQZyA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEBckECdGoiASgCACAHQQJ0IARqQaCA0ABqKAIAIgBIBEAgASAANgIACyAEQYyACGogAkECckECdGoiASgCACAHQQJ0IARqQaSA0ABqKAIAIgBKBEAgASAANgIACyAEQYyACGogAkEDckECdGoiASgCACAHQQJ0IARqQaiA0ABqKAIAIgBIBEAgASAANgIACyADQQFqIQMMAQsLIAQoAgghAkEAIQMDfyADIAJIBH8gBEGQgChqIANBAXQiAUEDdGoiACAAKwMAIARBDGogA0ECdGooAgC3IhSjOQMAIARBkIAoaiABQQFyQQN0aiIAIAArAwAgFKM5AwAgA0EBaiEDDAEFQQALCwVBAAsLIRMgDiQGIBMLngIBBH8jBiEDIwZBEGokBiAAKALcAyIHKAIkBEAgB0EgakEAIAUoAgBBAnQgBGpBAEEBIAcoAigQ9wEgB0EANgIkIAUgBSgCAEEBajYCACAHIAcoAixBf2o2AiwFIAYgBSgCACIJayIGIAcoAiwiCEECIAhBAkkbIgggCCAGSxshBiADIAlBAnQgBGooAgA2AgAgBkEBSwRAIAMgCUEBakECdCAEaigCADYCBAUgAyAHKAIgNgIEIAdBATYCJAsgBygCDCEEIAAgASACKAIAIAMgBEEfcUH6BWoRBwACfyAHKAIkRSEKIAUgBiAFKAIAajYCACAHIAcoAiwgBms2AiwgCkULBEAgAyQGDwsLIAIgAigCAEEBajYCACADJAYLGwEBfyAAKALcAyIBQQA2AiQgASAAKAJ0NgIsC7oBAQd/IAAoAiQhBSAAKAJwIQggBEEATARADwsgBUEATARADwsgCEUhCgNAIApFBEBBACEAA0BBACEJIABBAnQgAWooAgAgAkECdGooAgAhBiAAIAMoAgBqIQcDQCAGQQFqIQsgByAGLAAAOgAAIAUgB2ohByAIIAlBAWoiCUcEQCALIQYMAQsLIAUgAEEBaiIARw0ACwsgBEF/aiEAIAJBAWohAiADQQRqIQMgBEEBSgRAIAAhBAwBCwsL2AIBD38gACgCcCEGIAAoAtACIQUgACgC4AMiACgCCCEJIAAoAgwhCiAAKAIQIQsgACgCFCEMIARBAEwEQA8LIAZFBEAPCwNAIARBf2ohDSABKAIAIAJBAnRqKAIAIQ4gASgCBCACQQJ0aigCACEPIAEoAgggAkECdGooAgAhECABKAIMIAJBAnRqKAIAIREgAkEBaiESIAMoAgAhAkEAIQADQCAAIA9qLQAAIQcgAiAFIAAgDmosAABBf3NB/wFxIgggACAQai0AACITQQJ0IAlqKAIAa2osAAA6AAAgAiAFIAggB0ECdCAMaigCACATQQJ0IAtqKAIAakEQdWtqLAAAOgABIAIgBSAIIAdBAnQgCmooAgBraiwAADoAAiACIAAgEWosAAA6AAMgAkEEaiECIAYgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIBIhAiANIQQMAQsLC9MBAQl/IAAoAnAhBSAEQQBMBEAPCyAFRQRADwsDQCAEQX9qIQYgASgCACACQQJ0aigCACEHIAEoAgQgAkECdGooAgAhCCABKAIIIAJBAnRqKAIAIQkgAkEBaiEKQQAhACADKAIAIQIDQCAAIAlqLQAAIQsgAiAAIAhqLAAAIgxB/wFxQYABaiINIAAgB2otAABqOgAAIAIgDDoAASACIAsgDWo6AAIgAkEDaiECIAUgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIAohAiAGIQQMAQsLC70BAQZ/IAAoAnAhBSAEQQBMBEAPCyAFRQRADwsDQCAEQX9qIQYgASgCACACQQJ0aigCACEHIAEoAgQgAkECdGooAgAhCCABKAIIIAJBAnRqKAIAIQkgAkEBaiEKQQAhACADKAIAIQIDQCACIAAgB2osAAA6AAAgAiAAIAhqLAAAOgABIAIgACAJaiwAADoAAiACQQNqIQIgBSAAQQFqIgBHDQALIANBBGohAyAEQQFKBEAgCiECIAYhBAwBCwsLtAIBDn8gACgCcCEGIAAoAtACIQUgACgC4AMiACgCCCEJIAAoAgwhCiAAKAIQIQsgACgCFCEMIARBAEwEQA8LIAZFBEAPCwNAIARBf2ohDSABKAIAIAJBAnRqKAIAIQ4gASgCBCACQQJ0aigCACEPIAEoAgggAkECdGooAgAhECACQQFqIREgAygCACECQQAhAANAIAAgD2otAAAhByACIAUgACAOai0AACIIIAAgEGotAAAiEkECdCAJaigCAGpqLAAAOgAAIAIgBSAIIAdBAnQgDGooAgAgEkECdCALaigCAGpBEHVqaiwAADoAASACIAUgCCAHQQJ0IApqKAIAamosAAA6AAIgAkEDaiECIAYgAEEBaiIARw0ACyADQQRqIQMgBEEBSgRAIBEhAiANIQQMAQsLC4oBAQV/IAAoAnAiB0UgBEEBSHIEQA8LA0AgBEF/aiEIIAEoAgAgAkECdGooAgAhCUEAIQAgAygCACEFA0AgBSAAIAlqLAAAIgY6AAIgBSAGOgABIAUgBjoAACAFQQNqIQUgByAAQQFqIgBHDQALIAJBAWohAiADQQRqIQMgBEEBSgRAIAghBAwBCwsL9AEBCX8gACgC4AMoAhghBSAAKAJwIQYgBEEATARADwsgBkUEQA8LA0AgBEF/aiEHIAEoAgAgAkECdGooAgAhCCABKAIEIAJBAnRqKAIAIQkgASgCCCACQQJ0aigCACEKIAJBAWohAiADKAIAIQtBACEAA0AgACALaiAAIAlqLQAAIgxBgAFqIg0gACAIai0AAGpB/wFxQQJ0IAVqKAIAIAxBgAJyQQJ0IAVqKAIAaiAAIApqLQAAIA1qQf8BcUGABHJBAnQgBWooAgBqQRB2OgAAIABBAWoiACAGRw0ACyADQQRqIQMgBEEBSgRAIAchBAwBCwsL3gEBB38gACgC4AMoAhghBSAAKAJwIQYgBEEATARADwsgBkUEQA8LA0AgBEF/aiEHIAEoAgAgAkECdGooAgAhCCABKAIEIAJBAnRqKAIAIQkgASgCCCACQQJ0aigCACEKIAJBAWohAiADKAIAIQtBACEAA0AgACALaiAAIApqLQAAQYAEckECdCAFaigCACAAIAhqLQAAQQJ0IAVqKAIAIAAgCWotAABBgAJyQQJ0IAVqKAIAampBEHY6AAAgAEEBaiIAIAZHDQALIANBBGohAyAEQQFKBEAgByEEDAELCwsyAQF/IAAoAgQgACgCCBCLASIBBEAgASAAELQFQQBIBEAgARBJQQAhAQsFQQAhAQsgAQsXACABKAIAIAIgA0EAIAQgACgCcBD3AQuHBAEMfyADKAIAIQggASgCBCIDIAAoAtwDIgVBjAFqaiwAACEBIAMgBUGWAWpqLQAAIQMgACgCwAIiBEEATARADwsgAUH/AXEhBSABQQBHIQwgA0H/AXEiCkF/aiENIANB/wFxQQFKBEAgBUF+IAVBf3MgARtqQQJqIQ5BACEEA0ACQCAEQQJ0IAhqKAIAIgMgACgCcCIBaiEPIAFBAEoEQCAMRQ0BIAZBAnQgAmooAgAhByADIQEDQCABIAcsAAAgDhBFGiAFIQMDQCABQQFqIQEgA0F/aiELIANBAUoEQCALIQMMAQsLIAdBAWohByABIA9JDQALIAAoAnAhAQsgCCAEIAggBEEBaiANIAEQ9wEgBkEBaiEGIAQgCmoiBCAAKALAAkgNAUEbIQkLCyAJQRtGBEAPCwNADAAACwALIAxFBEAgACgCcEEASiEBQQAhAAN/IAEEf0EABSAAIApqIgAgBEgEfwwCBUEbCwsLQRtGBEAPCwNADAAACwALQQAhBANAIAZBAnQgCGooAgAiASAAKAJwIgNqIQkgA0EASgRAIARBAnQgAmooAgAhBwNAIAEgBywAACAFEEUaIAUhAwNAIAFBAWohASADQX9qIQsgA0EBSgRAIAshAwwBCwsgB0EBaiEHIAEgCUkNAAsLIARBAWohBCAGIApqIgYgACgCwAJIDQALC68BAQV/IAMoAgAhBSAAKALAAkEATARADwtBACEDA0AgA0ECdCAFaigCACIHIAAoAnAiAWohCCABQQBKBEAgBkECdCACaigCACEEIAchAQNAIARBAWohByABIAQsAAAiBDoAACABIAQ6AAEgAUECaiIBIAhJBEAgByEEDAELCyAAKAJwIQELIAUgAyAFIANBAXJBASABEPcBIAZBAWohBiADQQJqIgMgACgCwAJIDQALC5UBAQR/IAMoAgAhBiAAKALAAiIBQQBMBEAPC0EAIQMDQCADQQJ0IAZqKAIAIgUgACgCcCIEaiEHIARBAEoEQCADQQJ0IAJqKAIAIQQgBSEBA0AgBEEBaiEFIAEgBCwAACIEOgAAIAEgBDoAASABQQJqIgEgB0kEQCAFIQQMAQsLIAAoAsACIQELIANBAWoiAyABSA0ACwsJACADIAI2AgALCQAgA0EANgIAC8oCAQN/IAAoAtwDIgcoAlwiCCAAKALAAiIDSAR/IAgFIAAoAiRBAEoEQCAAKALYASEIQQAhAwNAIAdBNGogA0ECdGooAgAhCSAAIAggA0ECdCABaigCACACKAIAIAdB5ABqIANBAnRqKAIAbEECdGogB0EMaiADQQJ0aiAJQR9xQfoFahEHACAIQdgAaiEIIANBAWoiAyAAKAIkSA0ACyAAKALAAiEDCyAHQQA2AlxBAAshASAGIAUoAgAiBmsiCCAHKAJgIgkgAyABayIDIAMgCUsbIgMgAyAISxshAyAAKALgAygCBCEIIAAgB0EMaiABIAZBAnQgBGogAyAIQT9xQZoGahEFACAFIAMgBSgCAGo2AgAgByAHKAJgIANrNgJgIAcgAyAHKAJcaiIBNgJcIAEgACgCwAJIBEAPCyACIAIoAgBBAWo2AgALHwEBfyAAKALcAyIBIAAoAsACNgJcIAEgACgCdDYCYAuHAgEFfyAAKALIAyIHKAIYIgMEQCAHQRRqIQEgB0EQaiECIAcoAgwhCQUgACgCBCgCHCEDIAcgACAHKAIIIAdBFGoiASgCACAHQRBqIgIoAgBBACADQR9xQaICahEIACIJNgIMIAcoAhghAwsgACgCdCABKAIAayIIIAYgBSgCACIKayIGIAIoAgAgA2siCyALIAZLGyIGIAYgCEsbIQYgACgC5AMoAgQhCCAAIANBAnQgCWogCkECdCAEaiAGIAhBH3FB+gVqEQcAIAUgBiAFKAIAajYCACAHIAYgBygCGGoiADYCGCAAIAIoAgAiAEkEQA8LIAEgACABKAIAajYCACAHQQA2AhgLigIBBX8gACgCyAMiB0EYaiIIKAIAIgQEQCAHQRBqIQYgB0EMaiIJIQogCSgCACEJBSAAKAIEKAIcIQQgB0EMaiIKIAAgBygCCCAHKAIUIAdBEGoiBigCAEEBIARBH3FBogJqEQgAIgk2AgAgCCgCACEECyAAKALcAygCBCELIAAgASACIAMgCSAIIAYoAgAgC0EHcUHiBmoRDQAgCCgCACIBIARLBEAgACgC5AMoAgQhAiAAIAooAgAgBEECdGpBACABIARrIgAgAkEfcUH6BWoRBwAgBSAAIAUoAgBqNgIAIAgoAgAhAQsgASAGKAIAIgBJBEAPCyAHIAAgBygCFGo2AhQgCEEANgIAC58BAQR/IwYhByMGQRBqJAYgBiAFKAIAayEIIAAoAsgDIgkoAhAhCiAHQQA2AgAgACgC3AMoAgQhBiAAIAEgAiADIAkoAgwgByAKIAggCCAKSxsgBkEHcUHiBmoRDQAgACgC5AMoAgQhASAAIAkoAgwgBSgCAEECdCAEaiAHKAIAIAFBH3FB+gVqEQcAIAUgBygCACAFKAIAajYCACAHJAYLkgIBAX8gACgCyAMhAgJAAkACQAJAAkAgAQ4EAAMCAQMLIAAoAlRFBEAgAiAAKALcAygCBDYCBAwECyACQQQ2AgQgAigCDEUEQCAAKAIEKAIcIQEgAiAAIAIoAghBACACKAIQQQEgAUEfcUGiAmoRCAA2AgwLDAMLIAIoAghFBEAgACgCACIBQQM2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyACQQU2AgQMAgsgAigCCEUEQCAAKAIAIgFBAzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAJBBjYCBAwBCyAAKAIAIgFBAzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAJBADYCGCACQQA2AhQLKQEBfyAAKALIAygCBCEEIABBAEEAQQAgASACIAMgBEEHcUHiBmoRDQALfwEEfyAAKALAAyIEQTBqIgYoAgAgBCgCNCIFSQRAIARBCGohBwUgACgCxAMoAgwhBSAAIARBCGoiByAFQT9xQYoBahECAAR/IAZBADYCACAEKAI0BQ8LIQULIAAoAsgDKAIEIQQgACAHIAYgBSABIAIgAyAEQQdxQeIGahENAAuVBwEPfyAAKALAAyIEKAI4RQRAIAAoAsQDKAIMIQggACAEQTxqIAQoAkRBAnRqKAIAIAhBP3FBigFqEQIABEAgBEEBNgI4IAQgBCgCTEEBajYCTAUPCwsCQAJAAkACQAJAAkAgBCgCSA4DAQIAAwsgACgCyAMoAgQhBSAAIARBPGogBCgCREECdGooAgAgBEEwaiIIIARBNGoiCigCACABIAIgAyAFQQdxQeIGahENACAIKAIAIAooAgBJBEAPCyAEQQA2AkggAigCACADSQ0DDwsgBEEwaiEIIARBNGohCgwCCyAEQTBqIQggBEE0aiEKDAILDwsgCEEANgIAIAogACgCyAIiDkF/ajYCACAEKAJMIAAoAswCRgRAIAAoAsADIQsgACgCJCIPQQBKBEAgC0E8aiALKAJEQQJ0aiEQIAAoAtgBIQUDQCAFKAIMIAUoAihsIgcgDhA5IQYgByAFKAIwIAcQTiIHIAdFGyEHIAlFBEAgCyAHQX9qIAYQOUEBajYCNAsgECgCACAJQQJ0aigCACENIAZBAXQhESAGQQBKBEAgB0F/akECdCANaiEMQQAhBgNAIAYgB2pBAnQgDWogDCgCADYCACAGQQFqIgYgEUgNAAsLIAVB2ABqIQUgCUEBaiIJIA9HDQALCwsgBEEBNgJICyAAKALIAygCBCEFIAAgBEE8aiAEKAJEQQJ0aigCACAIIAooAgAgASACIAMgBUEHcUHiBmoRDQAgCCgCACAKKAIASQRADwsgBCgCTEEBRgRAIAAoAsADIQsgACgCyAIhASAAKAIkIgdBAEoEQCALQUBrIQ0gAUEBaiEOIAFBAmohDyAAKALYASECQQAhAwNAIAIoAgwgAigCKGwgARA5IQUgCygCPCADQQJ0aigCACEJIA0oAgAgA0ECdGooAgAhBiAFQQBKBEAgBSAObCEQIAUgD2whEUEAIQADQCAAIAVrIgxBAnQgCWogACAQaiISQQJ0IAlqKAIANgIAIAxBAnQgBmogEkECdCAGaigCADYCACAAIBFqIgxBAnQgCWogAEECdCAJaigCADYCACAMQQJ0IAZqIABBAnQgBmooAgA2AgAgAEEBaiIAIAVHDQALCyACQdgAaiECIANBAWoiAyAHRw0ACwsFIAAoAsgCIQELIAQgBCgCREEBczYCRCAEQQA2AjggCCABQQFqNgIAIAogAUECajYCACAEQQI2AkgL6QMBEH8gACgCwAMhAgJAAkACQCABDgMAAgECCyAAKALcAygCCEUEQCACQRE2AgQgAiACKAI0NgIwDwsgAkEQNgIEIAAoAsgCIQQgACgCJCILQQBKBEAgAkFAayEMIARBAmohDSAEQX5qIQ4gACgC2AEhBUEAIQADQCAFKAIMIAUoAihsIAQQOSEDIAIoAjwgAEECdGooAgAhBiAMKAIAIABBAnRqKAIAIQcgAkEIaiAAQQJ0aigCACEIIAMgDWwiCUEASgRAQQAhAQNAIAFBAnQgB2ogAUECdCAIaigCACIKNgIAIAFBAnQgBmogCjYCACABQQFqIgEgCUcNAAsLIANBAXQhCSADQQBKBEAgAyAEbCEKIAMgDmwhD0EAIQEDQCABIA9qIhBBAnQgB2ogASAKaiIRQQJ0IAhqKAIANgIAIBFBAnQgB2ogEEECdCAIaigCADYCACABQQFqIgEgCUgNAAtBACEBA0AgASADa0ECdCAGaiAGKAIANgIAIAFBAWoiASADRw0ACwsgBUHYAGohBSAAQQFqIgAgC0cNAAsLIAJBADYCRCACQQA2AkggAkEANgJMIAJBADYCOA8LIAJBEjYCBA8LIAAoAgAiAUEDNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAuBBAEJfyAAIABBAUHQACAAKAIEKAIAQT9xQcoBahEEACIENgLAAyAEQTM2AgAgACgCyAIhAiAAKALcAygCCAR/IAJBAkgEQCAAKAIAIgNBMDYCFCAAIAMoAgBB/wFxQawDahEBACAAKALIAiECCyAAKALAAyIDIABBASAAQSRqIgYoAgBBA3QgACgCBCgCAEE/cUHKAWoRBAAiATYCPCADQUBrIgcgASAAKAIkIgFBAnRqNgIAIAFBAEoEQCACQQRqIQggACgC2AEhAkEAIQEDfyAAQQEgAigCDCACKAIobCAAKALIAhA5IgUgCGwiCUEDdCAAKAIEKAIAQT9xQcoBahEEACAFQQJ0aiEFIAMoAjwgAUECdGogBTYCACAHKAIAIAFBAnRqIAlBAnQgBWo2AgAgAkHYAGohAiABQQFqIgEgACgCJCIFSA0AIAULIQELIAAoAsgCIgVBAmohAiABIQMgBQUgBCACNgI0IABBJGohBiAAKAIkIQMgAgshASADQQBMBEAPCyAEQQhqIQVBACEDIAAoAtgBIQQDQCAEKAIMIAQoAihsIAEQOSEBIANBAnQgBWogAEEBIAQoAhwgBCgCJGwgASACbCAAKAIEKAIIQQ9xQYoCahEJADYCACADQQFqIgMgBigCAEgEQCAEQdgAaiEEIAAoAsgCIQEMAQsLC8IBAQN/IAAoAgQoAgAhAiAAIABBAUEcIAJBP3FBygFqEQQAIgI2AsgDIAJBMjYCACACQQA2AgggAkEANgIMIAAoAlRFBEAPCyACIAAoAsACIgM2AhAgACgCBCEEIAEEQCAEKAIQIQEgAiAAQQFBACAAKAJwIAAoAnhsIAAoAnQgAxD4ASACKAIQIAFBP3FBxgJqEQoANgIIBSAEKAIIIQEgAiAAQQEgACgCcCAAKAJ4bCADIAFBD3FBigJqEQkANgIMCwuhBAEMfyAAKAIEKAIAIQEgACAAQQFBoAEgAUE/cUHKAWoRBAAiAjYC3AMgAkGGATYCACACQQM2AgQgAkEANgIIIAAoArQCBEAgACgCACIBQRo2AhQgASgCACEBIAAgAUH/AXFBrANqEQEACyAAKAIkQQBMBEAPCyACQeQAaiEJIAJBNGohBSACQQxqIQogAkGMAWohCyACQZYBaiEMIAAoAtgBIQJBACEBA0AgAigCCCACKAIkbCAAKALEAhA5IQcgAigCDCACKAIobCAAKALIAhA5IQYgACgCvAIhBCAAKALAAiEIIAFBAnQgCWogBjYCACACKAI0BEACQCAGIAhGIgMgBCAHRnEEQCABQQJ0IAVqQQw2AgAMAQsgAyAEIAdBAXRGIgNxBEAgAUECdCAFakENNgIABQJAIAMgCCAGQQF0RnEEQCABQQJ0IAVqQQ42AgAMAQsgBCAHIAQgBxA5IgRsa0UEQCAIIAYgCCAGEDkiA2xrRQRAIAFBAnQgBWpBDzYCACABIAtqIAQ6AAAgASAMaiADOgAADAILCyAAKAIAIgNBJzYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALCyAAKAIEKAIIIQMgAUECdCAKaiAAQQEgACgCcCAAKAK8AhD4ASAAKALAAiADQQ9xQYoCahEJADYCAAsFIAFBAnQgBWpBCzYCAAsgAkHYAGohAiABQQFqIgEgACgCJEgNAAsLkhABBn8gACgCBCgCACEBIAAgAEEBQRwgAUE/cUHKAWoRBAAiATYC4AMgAUGFATYCAAJAAkACQAJAAkAgACgCKEEBaw4HAAEBAgIBAQMLIAAoAiRBAUcEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAMLIAAoAiRBA0cEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAILIAAoAiRBBEcEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALDAELIAAoAiRBAUgEQCAAKAIAIgJBCzYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALCyAAKAKwAgRAAkACQCAAKAIoQQJrDgUBAAAAAQALIAAoAgAiAkEcNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsLAkACQAJAAkACQAJAIAAoAiwiAkEBaw4GAAEEAwQCBAsgAEEBNgJ4AkACQAJAAkAgACgCKEEBaw4HAAEAAgICAAILIAFBJjYCBCAAKAIkIgJBAUwNByAAKALYASEDQQEhAQNAIAFB2ABsIANqQQA2AjQgAUEBaiIBIAJIDQALDAILAkACQAJAAkAgACgCsAIOAgABAgsgAUEnNgIEDAILIAFBKDYCBAwBCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAgQoAgAhASAAKALgAyAAQQFBgBggAUE/cUHKAWoRBAAiAjYCGEEAIQEDQCABQQJ0IAJqIAFBi5kBbDYCACABQYACakECdCACaiABQcasAmw2AgAgAUGABGpBAnQgAmogAUGvOmxBgIACajYCACABQQFqIgFBgAJHDQALDAELIAAoAgAiAUEcNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwFCwwECyAAQQM2AngCQAJAAkACQAJAAkAgACgCKEEBaw4HAAMBBAQEAgQLIAFBKTYCBAwICyABQSo2AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB6c0FbEGAgAJqQRB1NgIAIAFBAnQgBWogAkGiiwdsQYCAAmpBEHU2AgAgAUECdCAGaiACQa6SfWw2AgAgAUECdCADaiACQefPfmxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwDCyABQSo2AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB05sLbEGAgAJqQRB1NgIAIAFBAnQgBWogAkHElg5sQYCAAmpBEHU2AgAgAUECdCAGaiACQd2kemw2AgAgAUECdCADaiACQc2ffWxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwCCwJAAkACQCAAKAKwAg4CAAECCyABQSs2AgQMBwsgAUEsNgIEDAYLIAAoAgAiAUEcNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwFCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMBAsMAwsgAEEDNgJ4IAAoAihBBkcEQCAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMAwsCQAJAAkAgACgCsAIOAgABAgsgAUErNgIEDAQLIAFBLDYCBAwDCyAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQAMAgsgAEEENgJ4AkACQAJAAkAgACgCKEEEaw4CAQACCyABQS02AgQgACgCBCgCACECIAAoAuADIgEgAEEBQYAIIAJBP3FBygFqEQQANgIIIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCDCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhAgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgM2AhQgASgCCCEEIAEoAgwhBSABKAIQIQZBACEBQYB/IQIDQCABQQJ0IARqIAJB6c0FbEGAgAJqQRB1NgIAIAFBAnQgBWogAkGiiwdsQYCAAmpBEHU2AgAgAUECdCAGaiACQa6SfWw2AgAgAUECdCADaiACQefPfmxBgIACajYCACACQQFqIQIgAUEBaiIBQYACRw0ACwwCCyABQS42AgQMAwsgACgCACIBQRw2AhQgASgCACEBIAAgAUH/AXFBrANqEQEADAILDAELIAAoAiggAkYEQCAAIAAoAiQ2AnggAUEuNgIEBSAAKAIAIgFBHDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALCyAAKAJUBEAgAEEBNgJ8DwsgACAAKAJ4NgJ8C84EAQd/IAAoAgQoAgAhASAAIABBAUEwIAFBP3FBygFqEQQAIgE2AtwDIAFBhAE2AgAgAUEANgIIIAEgACgCeCAAKAJwbCICNgIoIAAoAsACQQJGBEAgAUEBNgIEIAFBCTYCDCAAKAIEKAIEIQMgASAAQQEgAiADQT9xQcoBahEEADYCICAAKALcAyEBBSABQQI2AgQgAUEKNgIMIAFBADYCIAsCfyAAKAIoQQdGIQcgACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQANgIQIAAoAgQoAgAhAiABIABBAUGACCACQT9xQcoBahEEADYCFCAAKAIEKAIAIQIgASAAQQFBgAggAkE/cUHKAWoRBAA2AhggACgCBCgCACECIAEgAEEBQYAIIAJBP3FBygFqEQQAIgI2AhwgASgCECEDIAEoAhQhBCABKAIYIQUgBwsEQEEAIQBBgH8hAQNAIABBAnQgA2ogAUHTmwtsQYCAAmpBEHU2AgAgAEECdCAEaiABQcSWDmxBgIACakEQdTYCACAAQQJ0IAVqIAFB3aR6bDYCACAAQQJ0IAJqIAFBzZ99bEGAgAJqNgIAIAFBAWohASAAQQFqIgBBgAJHDQALBUEAIQBBgH8hAQNAIABBAnQgA2ogAUHpzQVsQYCAAmpBEHU2AgAgAEECdCAEaiABQaKLB2xBgIACakEQdTYCACAAQQJ0IAVqIAFBrpJ9bDYCACAAQQJ0IAJqIAFB589+bEGAgAJqNgIAIAFBAWohASAAQQFqIgBBgAJHDQALCwvHAwEDfyAAKAIEKAIAIQEgACAAQQFBLCABQT9xQcoBahEEACIDNgLkAyADQTE2AgAgA0GDATYCDCADQQA2AiAgA0EANgIoIAAoAnhBA0cEQCAAKAIAIgFBMDYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAgQoAgAhASADIABBAUGAASABQT9xQcoBahEEADYCGEEAIQEDQCAAKAIEKAIEIQIgAEEBQYAgIAJBP3FBygFqEQQAIQIgAygCGCABQQJ0aiACNgIAIAFBAWoiAUEgRw0ACyADQQE2AhwgACgCbARAIAAoAmAiAUEISARAIAAoAgAiAkE6NgIUIAJBCDYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQAFIAFBgAJKBEAgACgCACICQTs2AhQgAkGAAjYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQALCyAAKAIEKAIIIQIgAyAAQQEgAUEDIAJBD3FBigJqEQkANgIQIAMgATYCFAUgA0EANgIQCyAAKAJYRQRADwsgAEECNgJYIAAoAgQoAgQhASADIABBASAAKAJwQQZsQQxqIAFBP3FBygFqEQQANgIgIAAQpAMLjQkBD38gACgCBCgCACEBIAAgAEEBQdgAIAFBP3FBygFqEQQAIgE2AuQDIAFBMDYCACABQYEBNgIIIAFBggE2AgwgAUEANgJEIAFBADYCNCAAKAJ4QQRKBEAgACgCACIBQTk2AhQgAUEENgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgACgCYCIFQYACSgRAIAAoAgAiAUE7NgIUIAFBgAI2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEAIAAoAmAhBQsgACgC5AMhByAAKAJ4IgZBAUoEQEEBIQEDf0EBIQMgAUEBaiIEIQIDQCACIARsIQIgA0EBaiIDIAZHDQALIAIgBUoEfyACIQMgAQUgBCEBDAELCyECBSAFQQEgBUEBShsiAkEBaiEDCyACQQJJBEAgACgCACIBQTo2AhQgASADNgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgBkEASgRAQQEhAUEAIQMDQCAHQSBqIANBAnRqIAI2AgAgASACbCEBIANBAWoiAyAGRw0ACwJAIAAoAixBAkYEQEEAIQJBACEDA0AgB0EgaiADQQJ0QdSHAWooAgBBAnRqIgkoAgAiBEEBaiEIAkACQCABIAQQOSAIbCIEIAVKDQAgCSAINgIAIANBAWoiAyAGSAR/QQEhAiAEBUEBIQIgBCEBDAELIQEMAQsgAkUNA0EAIQNBACECCwwAAAsABUEAIQJBACEDA0AgB0EgaiADQQJ0aiIJKAIAIgRBAWohCAJAAkAgASAEEDkgCGwiBCAFSg0AIAkgCDYCACADQQFqIgMgBkgEf0EBIQIgBAVBASECIAQhAQwBCyEBDAELIAJFDQNBACEDQQAhAgsMAAALAAsACyABIQIFQQEhAgsgACgCACEBIAAoAnhBA0YEQCABIAI2AhggASAHKAIgNgIcIAEgBygCJDYCICABIAcoAig2AiQgAUHgADYCFCABKAIEIQEFIAFB4QA2AhQgASACNgIYIAAoAgAoAgQhAQsgAEEBIAFBP3FBsgVqEQMAIAAoAgQoAgghASAAQQEgAiAAKAJ4IAFBD3FBigJqEQkAIQogACgCeCIBQQBKBEBBACEEIAIhAwNAIAMgB0EgaiAEQQJ0aigCACIJEDkhBSAJQQBKBEAgCUF/aiILQQIQOSEMIARBAnQgCmohDSAFQQBKBEBBACEGA0AgBSAGbCIBIAJIBEAgDCAGQf8BbGogCxA5Qf8BcSEOA0BBACEIA0AgDSgCACABIAhqaiAOOgAAIAUgCEEBaiIIRw0ACyABIANqIgEgAkgNAAsLIAkgBkEBaiIGRw0ACyAAKAJ4IQELCyAEQQFqIgQgAUgEQCAFIQMMAQsLCyAHIAo2AhAgByACNgIUIAAQoQMgACgCWEECRwRADwsgACgC5AMhAiAAKAJwIQ8gACgCeEEATARADwsgD0EBdEEEaiEDQQAhAQNAIAAoAgQoAgQhBCACQcQAaiABQQJ0aiAAQQEgAyAEQT9xQcoBahEEADYCACABQQFqIgEgACgCeEgNAAsL2wUBD38gACgCFCICQcoBRwRAIAAoAgAiAUEVNgIUIAEgAjYCGCAAKAIAKAIAIQIgACACQf8BcUGsA2oRAQALIAAQkQYgACgC2AEhBCAAKAIkIgxBAEoiDgR/IAAoAsgCIQIgACgCxAIiCEEIQQQgACgCTBsiCUoEQCACIAlKIQ0gCEEBdCEDIAQhAQNAIAEiByAINgIkIA0EQCACIQEFAkAgACgCwAIhCiAHKAIMIQtBASEGIAIhAQNAIAogBkEBdCIGIAtsEE8NASACIAZsIgEgCUwNAAsLCyAHIgYgATYCKCAIIAFBAXQiCkoEQCAHIAo2AiQFIAEgA0oEQCAGIAM2AigLCyAGQdgAaiEBIAVBAWoiBSAMSA0ACwUgACgCvAIhDSACIAlKIQogBCEBA0AgASgCCCEDQQEhBSAIIQcDQCANIAMgBUEBdCIFbBBPRQRAIAUgCGwiByAJTA0BCwsgASIFIAc2AiQgCgRAIAIhAQUCQCAAKALAAiELIAUoAgwhD0EBIQMgAiEBA0AgCyAPIANBAXQiA2wQTw0BIAIgA2wiASAJTA0ACwsLIAUiAyABNgIoIAcgAUEBdCILSgRAIAUgCzYCJAUgASAHQQF0IgFKBEAgAyABNgIoCwsgA0HYAGohASAGQQFqIgYgDEgNAAsLIA4Ef0EAIQIDfyAEIAQoAiQgACgCHCAEKAIIbGwgACgCvAIgACgCrANsEGg2AiwgBCAEKAIoIAAoAiAgBCgCDGxsIAAoAsACIAAoAqwDbBBoNgIwIARB2ABqIQQgAkEBaiICIAAoAiQiAUgNACABCwUgDAsFIAwLIQICQAJAAkACQAJAIAAoAiwiAUEBaw4HAAECAwMBAgQLIAEhAgwDC0EDIQIMAgtBAyECDAELQQQhAgsgACACNgJ4IABBASACIAAoAlQbNgJ8IAAQpgNFBEAgAEEBNgKAAQ8LIAAgACgCwAI2AoABCzsBAn8gACgCvAMhASAAKAJUBEAgACgC5AMoAgghAiAAIAJB/wFxQawDahEBAAsgASABKAIMQQFqNgIMC5AEAQN/IAAoArwDIgIoAggEQCACQQA2AgggACgC5AMoAgAhASAAQQAgAUE/cUGyBWoRAwAgACgCyAMoAgAhASAAQQIgAUE/cUGyBWoRAwAgACgCwAMoAgAhASAAQQIgAUE/cUGyBWoRAwAFIAAoAlQEQCAAKAKIAUUEQAJAIAAoAlwEQCAAKAJsBEAgACACKAIYNgLkAyACQQE2AggMAgsLIAAoAmQEQCAAIAIoAhQ2AuQDBSAAKAIAIgFBLzYCFCABKAIAIQEgACABQf8BcUGsA2oRAQALCwsLIAAoAtgDKAIAIQEgACABQf8BcUGsA2oRAQAgACgCxAMoAgghASAAIAFB/wFxQawDahEBACAAKAJERQRAIAIoAhBFBEAgACgC4AMoAgAhASAAIAFB/wFxQawDahEBAAsgACgC3AMoAgAhASAAIAFB/wFxQawDahEBACAAKAJUBEAgACgC5AMoAgAhASAAIAIoAgggAUE/cUGyBWoRAwALIAAoAsgDKAIAIQEgAEEDQQAgAigCCBsgAUE/cUGyBWoRAwAgACgCwAMoAgAhASAAQQAgAUE/cUGyBWoRAwALCyAAKAIIIgFFBEAPCyABIAIoAgwiAzYCDCABIANBAkEBIAIoAggbaiICNgIQIABBQGsoAgBFBEAPCyAAKALMAygCFARADwsgASACQQJBASAAKAJsG2o2AhAL8wYBBH8gACgCBCgCACEBIAAgAEEBQRwgAUE/cUHKAWoRBAAiAjYCvAMgAkH/ADYCACACQYABNgIEIAJBADYCCCAAKALUASIBQQhHBEAgACgCACIDQRA2AhQgAyABNgIYIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgABD3BSAAKAIEKAIAIQEgAEEBQYAKIAFBP3FBygFqEQQAIgNBAEGABBBFGiAAIANBgARqIgQ2AtACQQAhAQNAIAEgBGogAToAACABQQFqIgFBgAJHDQALIANBgAZqQX9BgAQQRRoCQAJAIAAoAnRFDQAgACgCcEUNACAAQfgAaiIDKAIAQQFIDQAMAQsgACgCACIBQSE2AhQgASgCACEBIAAgAUH/AXFBrANqEQEAIABB+ABqIQMLIAJBADYCDCACIAAQpgM2AhAgAkEANgIUIAJBADYCGCAAKAJUBEACQCAAQUBrKAIARQRAIABBADYCZCAAQQA2AmggAEEANgJsCyAAQcQAaiIBKAIABEAgACgCACIEQTA2AhQgBCgCACEEIAAgBEH/AXFBrANqEQEACyADKAIAQQNGBEACQCAAKAKIAQRAIABBATYCaAwBCyAAKAJcBEAgAEEBNgJsBSAAQQE2AmQLCwUgAEEBNgJkIABBADYCaCAAQQA2AmwgAEEANgKIAQsgACgCZARAIAAQ9gUgAiAAKALkAzYCFAsgACgCbEUEQCAAKAJoRQ0BCyAAEPUFIAIgACgC5AM2AhgLBSAAQQA2AmQgAEEANgJoIABBADYCbCAAQcQAaiEBCyABKAIARQRAIAIoAhAEQCAAEPQFBSAAEPMFIAAQ8gULIAAgACgCbBDxBQsgABDHBiAAKALkAQRAIAAQiwYFIAAQmwYLIAAgACgCzAMoAhAEf0EBBSAAQUBrKAIAQQBHCxCKBiABKAIARQRAIAAQ8AULIAAoAgQoAhghASAAIAFB/wFxQawDahEBACAAKALMAygCCCEBIAAgAUH/AXFBrANqEQEAIAAoAggiAUUEQA8LIABBQGsoAgAEQA8LIAAoAswDKAIQRQRADwsgACgCJCIDIANBA2xBAmogACgC4AFFGyEDIAFBADYCBCABIAMgACgCzAJsNgIIIAFBADYCDCABQQNBAiAAKAJsGzYCECACIAIoAgxBAWo2AgwL/gQBBX8CQAJAAkACQAJAAkAgACgCFCIBQcoBaw4DAAMBAgsgABD6BSAAQUBrKAIARQRAIABBywE2AhQMAwsgAEHPATYCFEEBDwsgAEG8A2ohAwwDCyAAKAIAIgJBFTYCFCACIAE2AhggACgCACgCACEBIAAgAUH/AXFBrANqEQEADAELIAAoAswDKAIQBEACQCAAKAIIIQEDQAJAIAEEQCABKAIAIQEgACABQf8BcUGsA2oRAQALIAAoAswDKAIAIQECQCAAIAFB/wBxQQhqEQAAIgIOAwEAAwALIAJBAnJBA0YgACgCCCIBQQBHcQRAIAEgASgCBEEBaiICNgIEIAIgASgCCCICTgRAIAEgAiAAKALMAmo2AggLCwwBCwsgAg8LCyAAIAAoApABNgKYAQsgAEG8A2ohAyAAKAIUQcwBRwRAIAMoAgAoAgAhASAAIAFB/wFxQawDahEBACAAQQA2AowBIABBzAE2AhQLCyADKAIAIgEoAggEQAJAIABBjAFqIgUoAgAhAgNAAkAgAiAAKAJ0IgRJBEAgAiEBIAQhAgNAIAAoAggiBAR/IAQgATYCBCAEIAI2AgggBCgCACEBIAAgAUH/AXFBrANqEQEAIAUoAgAFIAELIQIgACgCwAMoAgQhASAAQQAgBUEAIAFBH3FB+gVqEQcAIAUoAgAiASACRg0CIAEgACgCdCICSQ0ACyADKAIAIQELIAEoAgQhASAAIAFB/wFxQawDahEBACADKAIAKAIAIQEgACABQf8BcUGsA2oRAQAgBUEANgIAIAMoAgAiASgCCEUNAkEAIQIMAQsLQQAPCwsgAEHOAUHNASAAKAJEGzYCFEEBC1ABA39BfyEBA0ACQAJAAkAgACACaiwAACIDBEAgA0EuRgRADAIFDAMLAAsMAgsgAiEBCyACQQFqIQIMAQsLIAFBf0cEQCAAIAFqQQA6AAALC8oJAQ1/IAAoAtQDIQUgACgCmAIEQCAFKAI4IgJFBEAgACgC0AMoAgghAiAAIAJB/wBxQQhqEQAARQRAIAAoAgAiAkEZNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsgACgC1AJBAEoEQEEAIQIDQCAAQdgCaiACQQJ0aigCACEEAkACQAJAIAAoAuABRQ0AIAAoApwDDQEgACgCpANFDQAMAgsgBUE8aiAEKAIUQQJ0aigCACIDQgA3AAAgA0IANwAIIANCADcAECADQgA3ABggA0IANwAgIANCADcAKCADQgA3ADAgA0IANwA4IAVBGGogAkECdGpBADYCACAFQShqIAJBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAFQfwAaiAEKAIYQQJ0aigCAEEAQYACEEUaCyACQQFqIgIgACgC1AJIDQALCyAFQQA2AgwgBUEANgIQIAVBcDYCFCAFIAAoApgCIgI2AjgLIAUgAkF/ajYCOAsgBSgCFEF/RgRAQQEPCyAAKAKwAyENIAAoAvACQQBMBEBBAQ8LIAVBvAFqIQ4CQAJAA0ACQCAIQQJ0IAFqKAIAIQwgACAFQTxqIABB2AJqIABB9AJqIAhBAnRqKAIAIgtBAnRqKAIAIgYoAhQiB0ECdGoiAygCACAFQShqIAtBAnRqIgkoAgBqIgIQXQRAIAAgACACQQFqEF0iCiACQQJqaiIEEF0iAgRAIAAgAygCAEEUaiIEEF0EQANAIAJBAXQiAkGAgAJGDQQgACAEQQFqIgQQXQ0ACwsFQQAhAgsgCSACQQEgByAAQegBamotAAB0QQF1SAR/QQAFIApBAnQhAyACQQEgByAAQfgBamotAAB0QQF1SgR/IANBDGoFIANBBGoLCzYCACAEQQ5qIQMgAkEBdSIEBEADQCACIARBACAAIAMQXRtyIQIgBEEBdSIEDQALCyAFQRhqIAtBAnRqIgQoAgAgAkF/cyACQQFqIAobaiECIAQgAjYCAAUgCUEANgIAIAVBGGogC0ECdGooAgAhAgsgDCACOwEAIAAoArQDBEACQCAFQfwAaiAGKAIYIgJBAnRqIQcgAiAAQYgCamohCUEAIQQDQCAAIAcoAgAgBEEDbGoiAxBdDQEgBEEBaiECIAAgA0EBahBdBEAgBCEGIAIhBAUgAyEGA38gAiAAKAK0A04NCCAGQQNqIQMgAkEBaiEEIAAgBkEEahBdBH8gAgUgAyEGIAQhAgwBCwshBgsgACAOEF0hCiAAIANBAmoiAxBdIgIEQCAAIAMQXQRAIAJBAXQhAiAAIAcoAgBBvQFB2QEgBiAJLQAASBtqIgMQXQRAA0AgAkEBdCICQYCAAkYNCiAAIANBAWoiAxBdDQALCwsgA0EOaiEGIAJBAXUiAwRAA0AgAiADQQAgACAGEF0bciECIANBAXUiAw0ACwsFQQAhAgsgBEECdCANaigCAEEBdCAMaiACQf//A3MgAkEBaiAKGzsBACAEIAAoArQDSA0ACwsLIAhBAWoiAiAAKALwAk4NAiACIQgMAQsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACAFQX82AhRBAQu6BgENfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBQJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBSgCFEECdGooAgAiBEIANwAAIARCADcACCAEQgA3ABAgBEIANwAYIARCADcAICAEQgA3ACggBEIANwAwIARCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBSgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAMoAhRBf0YEQEEBDwsgACgCsAMhBiABKAIAIQcgACgC2AIoAhghAkEBIAAoAqgDIgF0IQhBfyABdCEJIAAoAqADIQEDfwJ/IAEgAUECdCAGaigCAEEBdCAHai4BAA0AGiABQX9qIgENAUEACwshBSADQfwAaiACQQJ0aiEKIANBvAFqIQsgCEH//wNxIQwgCUH//wNxIQ0gACgCnANBf2ohAQJAA0ACQCAKKAIAIAFBA2xqIQIgASAFTgRAIAAgAhBdDQMLAkACQCABQQFqIgFBAnQgBmooAgBBAXQgB2oiBC4BAA0AA0AgACACQQFqEF1FBEAgASAAKAKgA04NBCACQQNqIQIgAUEBaiIBQQJ0IAZqKAIAQQF0IAdqIgQuAQBFDQEMAgsLIAAgCxBdBEAgBCANOwEABSAEIAw7AQALDAELIAAgAkECahBdBEAgBC4BACIOIQIgDkEASARAIAQgAiAJajsBAAUgBCACIAhqOwEACwsLIAEgACgCoANIDQEMAgsLIAAoAgAiAUH1ADYCFCABKAIEIQEgAEF/IAFBP3FBsgVqEQMAIANBfzYCFEEBDwtBAQvjAwEEfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBQJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBSgCFEECdGooAgAiBEIANwAAIARCADcACCAEQgA3ABAgBEIANwAYIARCADcAICAEQgA3ACggBEIANwAwIARCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBSgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAAoAqgDIQIgACgC8AJBAEwEQEEBDwsgA0G8AWohA0EBIAJ0IQRBACECA0AgACADEF0EQCACQQJ0IAFqKAIAIgUgBCAFLwEAcjsBAAsgAkEBaiICIAAoAvACSA0AC0EBC80GAQp/IAAoAtQDIQUgACgCmAIEQCAFKAI4IgJFBEAgACgC0AMoAgghAiAAIAJB/wBxQQhqEQAARQRAIAAoAgAiAkEZNgIUIAIoAgAhAiAAIAJB/wFxQawDahEBAAsgACgC1AJBAEoEQEEAIQIDQCAAQdgCaiACQQJ0aigCACEEAkACQAJAIAAoAuABRQ0AIAAoApwDDQEgACgCpANFDQAMAgsgBUE8aiAEKAIUQQJ0aigCACIDQgA3AAAgA0IANwAIIANCADcAECADQgA3ABggA0IANwAgIANCADcAKCADQgA3ADAgA0IANwA4IAVBGGogAkECdGpBADYCACAFQShqIAJBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAFQfwAaiAEKAIYQQJ0aigCAEEAQYACEEUaCyACQQFqIgIgACgC1AJIDQALCyAFQQA2AgwgBUEANgIQIAVBcDYCFCAFIAAoApgCIgI2AjgLIAUgAkF/ajYCOAsgBSgCFEF/RgRAQQEPCyAAKAKwAyEHIAEoAgAhCCAFQfwAaiAAKALYAigCGCIBQQJ0aiEGIAVBvAFqIQkgASAAQYgCamohCiAAKAKcA0F/aiECAkACQANAAkAgACAGKAIAIAJBA2xqIgMQXQ0CIAJBAWohASAAIANBAWoQXQRAIAIhBCABIQIFA38gASAAKAKgA04NAiADQQNqIQQgAUEBaiECIAAgA0EEahBdBH8gBCEDIAEFIAQhAyACIQEMAQsLIQQLIAAgCRBdIQsgACADQQJqIgMQXSIBBEAgACADEF0EQCABQQF0IQEgACAGKAIAQb0BQdkBIAQgCi0AAEgbaiIEEF0EQANAIAFBAXQiAUGAgAJGDQcgACAEQQFqIgQQXQ0ACwsFIAMhBAsgBEEOaiEDIAFBAXUiBARAA0AgASAEQQAgACADEF0bciEBIARBAXUiBA0ACwsFQQAhAQsgAkECdCAHaigCAEEBdCAIaiABQX9zIAFBAWogCxsgACgCqAN0OwEAIAIgACgCoANIDQEMAgsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACAFQX82AhRBAQvkBgELfyAAKALUAyEDIAAoApgCBEAgAygCOCICRQRAIAAoAtADKAIIIQIgACACQf8AcUEIahEAAEUEQCAAKAIAIgJBGTYCFCACKAIAIQIgACACQf8BcUGsA2oRAQALIAAoAtQCQQBKBEBBACECA0AgAEHYAmogAkECdGooAgAhBAJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIANBPGogBCgCFEECdGooAgAiBUIANwAAIAVCADcACCAFQgA3ABAgBUIANwAYIAVCADcAICAFQgA3ACggBUIANwAwIAVCADcAOCADQRhqIAJBAnRqQQA2AgAgA0EoaiACQQJ0akEANgIAIAAoAuABBEAgACgCnAMNAQUgACgCtAMNAQsMAQsgA0H8AGogBCgCGEECdGooAgBBAEGAAhBFGgsgAkEBaiICIAAoAtQCSA0ACwsgA0EANgIMIANBADYCECADQXA2AhQgAyAAKAKYAiICNgI4CyADIAJBf2o2AjgLIAMoAhRBf0YEQEEBDwsgACgC8AJBAEwEQEEBDwtBACEFAkACQANAAkAgBUECdCABaigCACEMIAAgA0E8aiAAQdgCaiAAQfQCaiAFQQJ0aigCACIHQQJ0aigCACgCFCIIQQJ0aiIGKAIAIANBKGogB0ECdGoiCSgCAGoiAhBdBEAgACAAIAJBAWoQXSIKIAJBAmpqIgQQXSICBEAgACAGKAIAQRRqIgQQXQRAA0AgAkEBdCICQYCAAkYNBCAAIARBAWoiBBBdDQALCwVBACECCyAJIAJBASAIIABB6AFqai0AAHRBAXVIBH9BAAUgCkECdCEGIAJBASAIIABB+AFqai0AAHRBAXVKBH8gBkEMagUgBkEEagsLNgIAIARBDmohBiACQQF1IgQEQANAIAIgBEEAIAAgBhBdG3IhAiAEQQF1IgQNAAsLIANBGGogB0ECdGoiBCgCACACQX9zIAJBAWogChtqIQIgBCACNgIABSAJQQA2AgAgA0EYaiAHQQJ0aigCACECCyAMIAIgACgCqAN0OwEAIAVBAWoiAiAAKALwAk4NAiACIQUMAQsLDAELQQEPCyAAKAIAIgFB9QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDACADQX82AhRBAQvKCQEJfyAAKALUAyECIAAoApwDIgZFIQMgACgC4AEEQCAAKAKgAyEBAkACQCADBEAgAQ0BBSABIAZIDQEgASAAKAK0A0oNASAAKALUAkEBRw0BCyAAKAKkAyIBBEAgAUF/aiIBIAAoAqgDRw0BBSAAKAKoAyEBCyABQQ1KDQAMAQsgACgCACIBQRE2AhQgASAGNgIYIAAoAgAgACgCoAM2AhwgACgCACAAKAKkAzYCICAAKAIAIAAoAqgDNgIkIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgAEHUAmoiBigCACIBQQBKBEAgAEGkA2ohBUEAIQMDQCAAQdgCaiADQQJ0aigCACgCBCEIIAAoAqABIQkgACgCnAMiAQRAIAhBCHQgCWooAgBBAEgEQCAAKAIAIgFB9gA2AhQgASAINgIYIAAoAgBBADYCHCAAKAIAKAIEIQEgAEF/IAFBP3FBsgVqEQMAIAAoApwDIQELBUEAIQELIAEgACgCoANMBEADQCAFKAIAIAhBCHQgCWogAUECdGoiBCgCACIHQQAgB0EAShtHBEAgACgCACIHQfYANgIUIAcgCDYCGCAAKAIAIAE2AhwgACgCACgCBCEHIABBfyAHQT9xQbIFahEDAAsgBCAAKAKoAzYCACABQQFqIQQgASAAKAKgA0gEQCAEIQEMAQsLCyADQQFqIgMgBigCACIBSA0ACwUgAEGkA2ohBQsgACgCnANFIQMgBSgCAARAIAMEQCACQS02AgQFIAJBLjYCBAsFIAMEQCACQSs2AgQFIAJBLDYCBAsLBQJAAkAgA0UNACAAKAKkAw0AIAAoAqgDDQAgACgCoAMiAUHAAEgEQCAAKAK0AyABRw0BCwwBCyAAKAIAIgFB/QA2AhQgASgCBCEBIABBfyABQT9xQbIFahEDAAsgAkEvNgIEIABB1AJqIgEhBiABKAIAIQELIAFBAEwEQCACQQA2AgwgAkEANgIQIAJBcDYCFCACIAAoApgCNgI4DwtBACEDA0AgAEHYAmogA0ECdGooAgAhBAJAAkACQCAAKALgAUUNACAAKAKcAw0BIAAoAqQDRQ0ADAILIAQoAhQiAUEPSwRAIAAoAgAiBUEyNgIUIAUgATYCGCAAKAIAKAIAIQUgACAFQf8BcUGsA2oRAQALIAJBPGogAUECdGoiBSgCACIBRQRAIAAoAgQoAgAhASAFIABBAUHAACABQT9xQcoBahEEACIBNgIACyABQgA3AAAgAUIANwAIIAFCADcAECABQgA3ABggAUIANwAgIAFCADcAKCABQgA3ADAgAUIANwA4IAJBGGogA0ECdGpBADYCACACQShqIANBAnRqQQA2AgAgACgC4AEEQCAAKAKcAw0BBSAAKAK0Aw0BCwwBCyAEKAIYIgFBD0sEQCAAKAIAIgRBMjYCFCAEIAE2AhggACgCACgCACEEIAAgBEH/AXFBrANqEQEACyACQfwAaiABQQJ0aiIEKAIAIgFFBEAgACgCBCgCACEBIAQgAEEBQYACIAFBP3FBygFqEQQAIgE2AgALIAFBAEGAAhBFGgsgA0EBaiIDIAYoAgBIDQALIAJBADYCDCACQQA2AhAgAkFwNgIUIAIgACgCmAI2AjgLmgwBMn8jBiEHIwZBgAFqJAYgACgCxAMhFyAAKALMAiExIAAoApABIgQgACgCmAEiBUwEQAJAA0ACQCAAKALMAyICKAIUDQIgBCAFRgRAIAAoApQBIAAoApwBIAAoApwDRWpLDQMLIAAgAigCAEH/AHFBCGoRAABFDQAgACgCkAEiBCAAKAKYASIFTA0BDAILCyAHJAZBAA8LCyAxQX9qISogACgCJEEASgR/IABBnAFqIRwgACgC2AEhCgN/IAooAjQEQCAcKAIAIgggKkkEfyAKKAIMIhFBAXQhBSARIQRBAAUgCigCICAKKAIMIgQQTiIFIAQgBRsiESEFQQELIQkgCAR/IAAgF0HIAGogDUECdGooAgAgBCAIQX9qbCAEIAVqQQAgACgCBCgCIEEfcUGiAmoRCAAgCigCDEECdGohFEEABSAAIBdByABqIA1BAnRqKAIAQQAgBUEAIAAoAgQoAiBBH3FBogJqEQgAIRRBAQshEiAXKAJwIA1BBmxBAnRqIRMgCigCUCIELwEAIQggBC8BAiEFIAQvARAhAiAELwEgIQ4gBC8BEiEPIAQvAQQhBCAAKALYA0EEaiANQQJ0aigCACErIBFBAEoEQCASQQBHISwgCUEARyEtIBFBf2ohLiAIQSRsIR0gBUEHdCEeIAJBB3QhHyAFQQh0ISAgCEEJbCEhIA5BB3QhIiACQQh0ISMgCiEvIAhBBWwhMCAPQQd0ISQgDkEIdCElIARBB3QhJiAPQQh0IScgBEEIdCEoQQAhDCANQQJ0IAFqKAIAIRgDQCAMQQJ0IBRqKAIAIQIgLCAMRXEEfyACBSAMQX9qQQJ0IBRqKAIACyEVIAooAhxBf2ohKSAtIAwgLkZxBH8gAgUgDEEBakECdCAUaigCAAsiGS4BACIGIQQgAi4BACIJIQUgFS4BACIQIQhBACEaIAIhFkEAIRsDQCAHIBZBgAEQTBogGiApSQR/IBkuAYABIQ4gFS4BgAEhDyAWLgGAAQUgBCEOIAghDyAFCyESIAcuAQJFIBMoAgQiAkEAR3EEQCAHIB0gCSASa2wiA0F/SgR/IAMgHmogIBA5IgNBASACdCILQX9qIAMgC0gbIAMgAkEAShsFQQAgHiADayAgEDkiA0EBIAJ0IgtBf2ogAyALSBsgAyACQQBKG2sLOwECCyAHLgEQRSATKAIIIgJBAEdxBEAgByAdIAggBGtsIgNBf0oEfyADIB9qICMQOSIDQQEgAnQiC0F/aiADIAtIGyADIAJBAEobBUEAIB8gA2sgIxA5IgNBASACdCILQX9qIAMgC0gbIAMgAkEAShtrCzsBEAsgBy4BIEUgEygCDCICQQBHcQRAIAcgISAEIAggBUEBdGtqbCIDQX9KBH8gAyAiaiAlEDkiA0EBIAJ0IgtBf2ogAyALSBsgAyACQQBKGwVBACAiIANrICUQOSIDQQEgAnQiC0F/aiADIAtIGyADIAJBAEobaws7ASALIAcuARJFIBMoAhAiAkEAR3EEQCAHIDAgDiAQIAZrIA9ramwiBkF/SgR/IAYgJGogJxA5IgZBASACdCIQQX9qIAYgEEgbIAYgAkEAShsFQQAgJCAGayAnEDkiBkEBIAJ0IhBBf2ogBiAQSBsgBiACQQBKG2sLOwESCyAHLgEERSATKAIUIgJBAEdxBEAgByAhIBIgCSAFQQF0a2psIglBf0oEfyAJICZqICgQOSIJQQEgAnQiBkF/aiAJIAZIGyAJIAJBAEobBUEAICYgCWsgKBA5IglBASACdCIGQX9qIAkgBkgbIAkgAkEAShtrCzsBBAsgACAKIAcgGCAbICtBP3FBmgZqEQUAIBZBgAFqIRYgFUGAAWohFSAZQYABaiEZIBsgLygCJGohGyAaQQFqIhogKU0EQCAIITIgBSEJIAQhBiAOIQQgEiEFIA8hCCAyIRAMAQsLIAooAihBAnQgGGohGCAMQQFqIgwgEUcNAAsLCyAKQdgAaiEKIA1BAWoiDSAAKAIkSA0AIBwLBSAAQZwBagsiASABKAIAQQFqIgE2AgBBA0EEIAEgACgCzAJJGyEzIAckBiAzC5UGARV/IAAoAugCQX9qIQogACgCzAIiAkF/aiETIAAoAsQDIgYoAhgiCCAGKAIcIgNIBEACQCAGQSBqIQ0gAEGUAWohDiADIQIgBigCFCEHAkACQANAAkAgByAKTQRAA0AgACgCtAMEQCANKAIAQQAgACgC8AJBB3QQRRoLIAAoAtQDKAIEIQIgACANIAJBP3FBigFqEQIARQ0CIAAoAtQCIgJBAEoEQCAHIApJIRRBACEDQQAhCwNAIABB2AJqIAtBAnRqKAIAIgQoAjQEQAJAIAAoAtgDQQRqIAQoAgQiBUECdGooAgAhFSAEQThqIg8gBEHIAGogFBsoAgAhECAEKAIoIREgByAEKAJEbCEWIAQoAjwiEkEASgRAIBBBAEwEQCAPKAIAIQlBACEFA0AgAyAJaiEDIAVBAWoiBSASSA0ACwwCCyAFQQJ0IAFqKAIAIAggEWxBAnRqIQlBACEMIAMhBSASIQIgESEDA0ACQAJAIA4oAgAgE0kNACAIIAxqIAQoAkxIDQAMAQsgFiECQQAhAwNAIAAgBCAGQSBqIAMgBWpBAnRqKAIAIAkgAiAVQT9xQZoGahEFACACIAQoAiRqIQIgA0EBaiIDIBBHDQALIAQoAighAyAEKAI8IQILIAUgDygCAGohBSADQQJ0IAlqIQkgDEEBaiIMIAJIDQALIAUhAyAAKALUAiECCwsFIAMgBEFAaygCAGohAwsgC0EBaiILIAJIDQALCyAHQQFqIgcgCk0NAAsgBigCHCECCyAGQQA2AhQgCEEBaiIIIAJODQJBACEHDAELCwwBCyAOIQEgACgCzAIhAgwBCyAGIAg2AhggBiAHNgIUQQAPCwUgAEGUAWohAQsgACAAKAKcAUEBajYCnAEgASABKAIAQQFqIgM2AgAgAyACTwRAIAAoAswDKAIMIQEgACABQf8BcUGsA2oRAQBBBA8LIAAoAsQDIgEgACgC1AJBAUoEf0EBBSAAKALYAiIAQQxqIABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=\";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw\"both async and sync fetching of the wasm failed\"}catch(A){JA(A)}}function uA(){return n||!i&&!o||\"function\"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:\"same-origin\"}).then((function(A){if(!A.ok)throw\"failed to load wasm binary file at '\"+fA+\"'\";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},\"global.Math\":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S(\"failed to asynchronously prepare wasm: \"+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S(\"Module.instantiateWasm callback failed with error: \"+A),!1}return function(){if(n||\"function\"!=typeof WebAssembly.instantiateStreaming||LA(fA)||\"function\"!=typeof fetch)return C(B);fetch(fA,{credentials:\"same-origin\"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S(\"wasm streaming compile failed: \"+A),S(\"falling back to ArrayBuffer instantiation\"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\\b__Z[\\w\\d_]+/g,(function(A){return A==A?A:A+\" [\"+A+\"]\"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return\"(no stack trace available)\"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+=\"\\n\"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||\"./this.program\"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER=\"web_user\",jA.LOGNAME=\"web_user\",jA.PATH=\"/\",jA.PWD=\"/\",jA.HOME=\"/home/web_user\",jA.LANG=(\"object\"===(\"undefined\"==typeof navigator?\"undefined\":D(navigator))&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if(\"string\"==typeof jA[Q]){var E=Q+\"=\"+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},\"uncaught_exception\"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];\".\"===C?A.splice(B,1):\"..\"===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift(\"..\");return A},normalize:function(A){var I=\"/\"===A.charAt(0),g=\"/\"===A.substr(-1);return(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||I||(A=\".\"),A&&g&&(A+=\"/\"),(I?\"/\":\"\")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):\".\"},basename:function(A){if(\"/\"===A)return\"/\";var I=A.lastIndexOf(\"/\");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join(\"/\"))},join2:function(A,I){return BI.normalize(A+\"/\"+I)}},CI={resolve:function(){for(var A=\"\",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if(\"string\"!=typeof B)throw new TypeError(\"Arguments to path.resolve must be strings\");if(!B)return\"\";A=B+\"/\"+A,I=\"/\"===B.charAt(0)}return(I?\"/\":\"\")+(A=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!I).join(\"/\"))||\".\"},relative:function(A,I){function g(A){for(var I=0;I=0&&\"\"===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split(\"/\")),C=g(I.split(\"/\")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString(\"utf-8\"):null}else\"undefined\"!=typeof window&&\"function\"==typeof window.prompt?null!==(I=window.prompt(\"Input: \"))&&(I+=\"\\n\"):\"function\"==typeof readline&&null!==(I=readline())&&(I+=\"\\n\");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,\"/\",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split(\"/\").filter((function(A){return!!A})),!1),Q=iI.root,E=\"/\",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?\"/\"!==g[g.length-1]?g+\"/\"+I:g+I:g}I=I?A.name+\"/\"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,\"r+\":2,w:577,wx:705,xw:705,\"w+\":578,\"wx+\":706,\"xw+\":706,a:1089,ax:1217,xa:1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error(\"Unknown file open mode: \"+A);return I},flagsToPermissionString:function(A){var I=[\"r\",\"w\",\"rw\"][3&A];return 512&A&&(I+=\"w\"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf(\"r\")||292&A.mode)&&(-1===I.indexOf(\"w\")||146&A.mode)&&(-1===I.indexOf(\"x\")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,\"x\")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,\"wx\")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,\"wx\");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&(\"r\"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){\"function\"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S(\"warning: \"+iI.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C=\"/\"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||\".\"===C||\"..\"===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split(\"/\"),B=\"\",C=0;C\"})))},staticInit:function(){iI.ensureErrnoError(),iI.nameTable=new Array(4096),iI.mount(EI,{},\"/\"),iI.createDefaultDirectories(),iI.createDefaultDevices(),iI.createSpecialDirectories(),iI.filesystems={MEMFS:EI}},init:function(I,g,B){iI.init.initialized=!0,iI.ensureErrnoError(),A.stdin=I||A.stdin,A.stdout=g||A.stdout,A.stderr=B||A.stderr,iI.createStandardStreams()},quit:function(){iI.init.initialized=!1;var I=A._fflush;I&&I(0);for(var g=0;gthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open(\"HEAD\",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+A.status);var I,B=Number(A.getResponseHeader(\"Content-length\")),C=(I=A.getResponseHeader(\"Accept-Ranges\"))&&\"bytes\"===I,Q=(I=A.getResponseHeader(\"Content-Encoding\"))&&\"gzip\"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error(\"invalid range (\"+A+\", \"+I+\") or no bytes requested!\");if(I>B-1)throw new Error(\"only \"+B+\" bytes available! programmer error!\");var C=new XMLHttpRequest;if(C.open(\"GET\",g,!1),B!==E&&C.setRequestHeader(\"Range\",\"bytes=\"+A+\"-\"+I),\"undefined\"!=typeof Uint8Array&&(C.responseType=\"arraybuffer\"),C.overrideMimeType&&C.overrideMimeType(\"text/plain; charset=x-user-defined\"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error(\"Couldn't load \"+g+\". Status: \"+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||\"\",!0)}(I,C)),void 0===i.chunks[A])throw new Error(\"doXHR failed!\");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t(\"LazyFiles on gzip forces download of the whole file when length is accessed\")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},\"undefined\"!=typeof XMLHttpRequest){if(!o)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return\"/\"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B=\"\";return 4&I&&(B+=\"r\"),2&I&&(B+=\"w\"),1&I&&(B+=\"x\"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA(\"bad ioctl syscall \"+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I=\"\",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return\"_unknown\";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,\"$\")).charCodeAt(0);return I>=JI&&I<=HI?\"_\"+A:A}function qI(A,I){return A=LI(A),new Function(\"body\",\"return function \"+A+'() {\\n \"use strict\"; return body.apply(this, arguments);\\n};\\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+\"\\n\"+g.replace(/^Error(:[^\\n]*)?\\n/,\"\"))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI(\"Mismatched type converter count\");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return\"null\";var I=D(A);return\"object\"===I||\"array\"===I||\"function\"===I?A.toString():\"\"+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError(\"Unknown float type: \"+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if(\"number\"!=typeof I&&\"boolean\"!=typeof I)throw new TypeError('Cannot convert \"'+_I(I)+'\" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError(\"new_ called with constructor type \"+D(A)+\" which is not a function\");var g=qI(A.name||\"unknownFunctionName\",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?\", \":\"\")+w),F+=(D?\"var rv = \":\"\")+\"invoker(fn\"+(w.length>0?\", \":\"\")+w+\");\\n\",i)F+=\"runDestructors(destructors);\\n\";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI(\"Replacing nonexistant public symbol\"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A[\"FUNCTION_TABLE_\"+I])B=A[\"FUNCTION_TABLE_\"+I][g];else if(\"undefined\"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A[\"dynCall_\"+I];void 0===C&&void 0===(C=A[\"dynCall_\"+I.replace(/f/g,\"d\")])&&lI(\"No dynCall invoker for signature: \"+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError(\"Unknown integer type: \"+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf(\"unsigned\");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if(\"number\"!=typeof g&&\"boolean\"!=typeof g)throw new TypeError('Cannot convert \"'+_I(g)+'\" to '+this.name);if(gC)throw new TypeError('Passing a number \"'+_I(g)+'\" from JS side to C/C++ side to an argument of type \"'+I+'\", which is outside the valid range ['+B+\", \"+C+\"]!\");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g=\"std::string\"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI(\"String has UTF-16 code units that do not fit in 8 bits\")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){\"string\"!=typeof B&&lI(\"Cannot pass non-string to C++ string type \"+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA(\"OOM\")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);return I?I[1]:\"GMT\"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),\"longjmp\"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u(\"GMT\",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):\"\"},E=f(g),i={\"%c\":\"%a %b %d %H:%M:%S %Y\",\"%D\":\"%m/%d/%y\",\"%F\":\"%Y-%m-%d\",\"%h\":\"%b\",\"%r\":\"%I:%M:%S %p\",\"%R\":\"%H:%M\",\"%T\":\"%H:%M:%S\",\"%x\":\"%m/%d/%y\",\"%X\":\"%H:%M:%S\",\"%Ec\":\"%c\",\"%EC\":\"%C\",\"%Ex\":\"%m/%d/%y\",\"%EX\":\"%H:%M:%S\",\"%Ey\":\"%y\",\"%EY\":\"%Y\",\"%Od\":\"%d\",\"%Oe\":\"%e\",\"%OH\":\"%H\",\"%OI\":\"%I\",\"%Om\":\"%m\",\"%OM\":\"%M\",\"%OS\":\"%S\",\"%Ou\":\"%u\",\"%OU\":\"%U\",\"%OV\":\"%V\",\"%Ow\":\"%w\",\"%OW\":\"%W\",\"%Oy\":\"%y\"};for(var o in i)E=E.replace(new RegExp(o,\"g\"),i[o]);var D=[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],a=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];function w(A,I,g){for(var B=\"number\"==typeof A?A.toString():A||\"\";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={\"%a\":function(A){return D[A.tm_wday].substring(0,3)},\"%A\":function(A){return D[A.tm_wday]},\"%b\":function(A){return a[A.tm_mon].substring(0,3)},\"%B\":function(A){return a[A.tm_mon]},\"%C\":function(A){return F((A.tm_year+1900)/100|0,2)},\"%d\":function(A){return F(A.tm_mday,2)},\"%e\":function(A){return w(A.tm_mday,2,\" \")},\"%g\":function(A){return s(A).toString().substring(2)},\"%G\":function(A){return s(A)},\"%H\":function(A){return F(A.tm_hour,2)},\"%I\":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},\"%j\":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},\"%m\":function(A){return F(A.tm_mon+1,2)},\"%M\":function(A){return F(A.tm_min,2)},\"%n\":function(){return\"\\n\"},\"%p\":function(A){return A.tm_hour>=0&&A.tm_hour<12?\"AM\":\"PM\"},\"%S\":function(A){return F(A.tm_sec,2)},\"%t\":function(){return\"\\t\"},\"%u\":function(A){return A.tm_wday||7},\"%U\":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?\"01\":\"00\"},\"%V\":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?\"53\":G(Q,E)<=0?\"01\":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?\"+\":\"-\")+String(\"0000\"+I).slice(-4)},\"%Z\":function(A){return A.tm_zone},\"%%\":function(){return\"%\"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,\"g\"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,\"BindingError\"),uI=A.InternalError=dI(Error,\"InternalError\"),jI(),Dg=A.UnboundTypeError=dI(Error,\"UnboundTypeError\");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,\"Character code \"+B+\" (\"+String.fromCharCode(B)+\") at offset \"+g+\" not in 0x00-0xFF.\"),B&=255),I.push(String.fromCharCode(B))}return I.join(\"\")}var Og=\"function\"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",o=\"\",D=0;A=A.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus(\"Running...\"),setTimeout((function(){setTimeout((function(){A.setStatus(\"\")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for(\"function\"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:\"fetchRemoteData\",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:\"arraybuffer\"});case 3:return g=A.sent,A.abrupt(\"return\",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case\"end\":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:\"string2Uint8Data\",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:\"process\",value:function(A){var I=this.detectMarker(A);0!=I&&console.error(\"[ARController]\",\"detectMarker error:\",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:\"getMarker\",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:\"lostNFTMarker\",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:\"getMultiMarker\",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:\"dispatchEvent\",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:\"initWithDimensions\",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt(\"return\",I.sent);case 4:case\"end\":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:\"initWithImage\",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt(\"return\",i);case 7:case\"end\":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()}));\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n/*!***************************************************************!*\\\n !*** ./three.js/src/threex/arjs-markercontrols-nft.worker.js ***!\n \\***************************************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jsartoolkit */ \"./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js\");\n/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_0__);\n/* eslint-env worker */\n\nconst { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_0___default());\nconst artoolkit = new ARToolkit();\n\nonmessage = function (e) {\n var msg = e.data;\n switch (msg.type) {\n case \"init\": {\n load(msg);\n return;\n }\n case \"process\": {\n next = msg.imagedata;\n process();\n return;\n }\n }\n};\n\nvar next = null;\n\nvar ar = null;\nvar markerResult = null;\n\nfunction load(msg) {\n var camUrl, nftMarkerUrl;\n var basePath = self.origin;\n console.log('base path:', basePath);\n // test if the msg.param (the incoming url) is an http or https path\n var regexC = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reC = regexC.test(msg.param);\n if (reC == true) {\n camUrl = msg.param;\n } else if (reC == false) {\n camUrl = basePath + '/' + msg.param;\n }\n var onLoad = function (arController) {\n ar = arController;\n var cameraMatrix = ar.getCameraMatrix();\n\n // after the ARController is set up, we load the NFT Marker\n var regexM = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#()?&//=]*)/igm\n var reM = regexM.test(msg.marker);\n if (reM == true) {\n nftMarkerUrl = msg.marker;\n } else if (reM == false) {\n nftMarkerUrl = basePath + '/' + msg.marker;\n }\n ar.loadNFTMarker(nftMarkerUrl).then(function (markerId) {\n ar.trackNFTMarkerId(markerId);\n postMessage({ type: 'endLoading' })\n }).catch(function (err) {\n console.log('Error in loading marker on Worker', err)\n });\n\n // ...and we listen for event when marker has been found from camera\n ar.addEventListener('getNFTMarker', function (ev) {\n // let AR.js know that a NFT marker has been found, with its matrix for positioning\n markerResult = {\n type: 'found',\n matrix: JSON.stringify(ev.data.matrix),\n };\n });\n\n postMessage({ type: \"loaded\", proj: JSON.stringify(cameraMatrix) });\n };\n\n var onError = function (error) {\n console.error(\"Error while intizalizing arController\", error);\n };\n\n artoolkit.init().then(_ => {\n ARController.initWithDimensions(msg.pw, msg.ph, camUrl).then(onLoad).catch(onError);\n });\n}\n\nfunction process() {\n markerResult = null;\n\n if (ar && ar.process) {\n ar.process(next);\n }\n\n if (markerResult) {\n postMessage(markerResult);\n } else {\n postMessage({\n type: \"not found\",\n });\n }\n next = null;\n}\n\n})();\n\n/******/ })()\n;\n", "Worker", undefined, undefined); +} + + +/***/ }), + +/***/ "./node_modules/worker-loader/dist/runtime/inline.js": +/*!***********************************************************!*\ + !*** ./node_modules/worker-loader/dist/runtime/inline.js ***! + \***********************************************************/ +/***/ ((module) => { + +"use strict"; + + +/* eslint-env browser */ + +/* eslint-disable no-undef, no-use-before-define, new-cap */ +module.exports = function (content, workerConstructor, workerOptions, url) { + var globalScope = self || window; + + try { + try { + var blob; + + try { + // New API + blob = new globalScope.Blob([content]); + } catch (e) { + // BlobBuilder = Deprecated, but widely implemented + var BlobBuilder = globalScope.BlobBuilder || globalScope.WebKitBlobBuilder || globalScope.MozBlobBuilder || globalScope.MSBlobBuilder; + blob = new BlobBuilder(); + blob.append(content); + blob = blob.getBlob(); + } + + var URL = globalScope.URL || globalScope.webkitURL; + var objectURL = URL.createObjectURL(blob); + var worker = new globalScope[workerConstructor](objectURL, workerOptions); + URL.revokeObjectURL(objectURL); + return worker; + } catch (e) { + return new globalScope[workerConstructor]("data:application/javascript,".concat(encodeURIComponent(content)), workerOptions); + } + } catch (e) { + if (!url) { + throw Error("Inline worker is not supported"); + } + + return new globalScope[workerConstructor](url, workerOptions); + } +}; + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); + + + + + +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ + var _this = this + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) + + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', + } + + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses + + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} + +MarkersAreaControls.prototype = Object.create( _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + + +/** + * What to do when a image source is fully processed + */ +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion + + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return + + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) + + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ + + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } + + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + // change _this.object3d.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + _this.object3d.matrix.copy(modelViewMatrix) + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + _this.object3d.matrix.getInverse( modelViewMatrix ) + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Utility functions +////////////////////////////////////////////////////////////////////////////// + +/** + * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + */ +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ + quaternionAverage = quaternionAverage || new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + // sanity check + console.assert(firstQuaternion instanceof three__WEBPACK_IMPORTED_MODULE_0__.Quaternion === true) + + // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + if( newQuaternion.dot(firstQuaternion) > 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) + } + + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w + + quaternionAverage.x = quaternionSum.x/count + quaternionAverage.y = quaternionSum.y/count + quaternionAverage.z = quaternionSum.z/count + quaternionAverage.w = quaternionSum.w/count + + quaternionAverage.normalize() + + return quaternionAverage +} + + +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ + vector3Average = vector3Average || new three__WEBPACK_IMPORTED_MODULE_0__.Vector3() + + vector3Sum.x += vector3.x + vector3Sum.y += vector3.y + vector3Sum.z += vector3.z + + vector3Average.x = vector3Sum.x / count + vector3Average.y = vector3Sum.y / count + vector3Average.z = vector3Sum.z / count + + return vector3Average +} + +////////////////////////////////////////////////////////////////////////////// +// Utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * compute the center of this multimarker file + */ +MarkersAreaControls.computeCenter = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var stats = { + count : 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + var firstQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() // FIXME ??? + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ + + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + var averageMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + return averageMatrix +} + +MarkersAreaControls.computeBoundingBox = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var boundingBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3() + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + boundingBox.expandByPoint(position) + }) + + return boundingBox +} +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) + + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } + + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] +} + + +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} + + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) + + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) + +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } + }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) + + // return it + return multiMarkerControls +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaControls); + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersarealearning.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersarealearning.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); + + +const MarkersAreaLearning = function(arToolkitContext, subMarkersControls){ + var _this = this + this._arToolkitContext = arToolkitContext + + // Init variables + this.subMarkersControls = subMarkersControls + this.enabled = true + + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} + +////////////////////////////////////////////////////////////////////////////// +// statistic collection +////////////////////////////////////////////////////////////////////////////// + +/** + * What to do when a image source is fully processed + */ +MarkersAreaLearning.prototype._onSourceProcessed = function(){ + var originQuaternion = this.subMarkersControls[0].object3d.quaternion + // here collect the statistic on relative positioning + + // honor this.enabled + if( this.enabled === false ) return + + // keep only the visible markers + var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ + return markerControls.object3d.visible === true + }) + + var count = Object.keys(visibleMarkerControls).length + + var positionDelta = new THREE.Vector3() + var quaternionDelta = new THREE.Quaternion() + var scaleDelta = new THREE.Vector3() + var tmpMatrix = new THREE.Matrix4() + + // go thru all the visibleMarkerControls + for(var i = 0; i < count; i++){ + var markerControls1 = visibleMarkerControls[i] + for(var j = 0; j < count; j++){ + var markerControls2 = visibleMarkerControls[j] + + // if markerControls1 is markerControls2, then skip it + if( i === j ) continue + + + ////////////////////////////////////////////////////////////////////////////// + // create data in markerControls1.object3d.userData if needed + ////////////////////////////////////////////////////////////////////////////// + // create seenCouples for markerControls1 if needed + if( markerControls1.object3d.userData.seenCouples === undefined ){ + markerControls1.object3d.userData.seenCouples = {} + } + var seenCouples = markerControls1.object3d.userData.seenCouples + // create the multiMarkerPosition average if needed` + if( seenCouples[markerControls2.id] === undefined ){ + // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) + seenCouples[markerControls2.id] = { + count : 0, + position : { + sum: new THREE.Vector3(0,0,0), + average: new THREE.Vector3(0,0,0), + }, + quaternion : { + sum: new THREE.Quaternion(0,0,0,0), + average: new THREE.Quaternion(0,0,0,0), + }, + scale : { + sum: new THREE.Vector3(0,0,0), + average: new THREE.Vector3(0,0,0), + }, + } + } + + + ////////////////////////////////////////////////////////////////////////////// + // Compute markerControls2 position relative to markerControls1 + ////////////////////////////////////////////////////////////////////////////// + + // compute markerControls2 position/quaternion/scale in relation with markerControls1 + tmpMatrix.getInverse(markerControls1.object3d.matrix) + tmpMatrix.multiply(markerControls2.object3d.matrix) + tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) + + ////////////////////////////////////////////////////////////////////////////// + // update statistics + ////////////////////////////////////////////////////////////////////////////// + var stats = seenCouples[markerControls2.id] + // update the count + stats.count++ + + // update the average of position/rotation/scale + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Compute markers transformation matrix from current stats +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaLearning.prototype.computeResult = function(){ + var _this = this + var originSubControls = this.subMarkersControls[0] + + this.deleteResult() + + // special case of originSubControls averageMatrix + originSubControls.object3d.userData.result = { + averageMatrix : new THREE.Matrix4(), + confidenceFactor: 1, + } + // TODO here check if the originSubControls has been seen at least once!! + + + /** + * ALGO in pseudo code + * + * - Set confidenceFactor of origin sub markers as 1 + * + * Start Looping + * - For a given sub marker, skip it if it already has a result. + * - if no result, check all seen couple and find n ones which has a progress of 1 or more. + * - So the other seen sub markers, got a valid transformation matrix. + * - So take local averages position/orientation/scale, compose a transformation matrix. + * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale + * - Multiple it by the other seen marker matrix. + * - Loop on the array until one pass could not compute any new sub marker + */ + + do{ + var resultChanged = false + // loop over each subMarkerControls + this.subMarkersControls.forEach(function(subMarkerControls){ + + // if subMarkerControls already has a result, do nothing + var result = subMarkerControls.object3d.userData.result + var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false + if( isLearned === true ) return + + // console.log('compute subMarkerControls', subMarkerControls.name()) + var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) + if( otherSubControlsID === null ){ + // console.log('no learnedCoupleStats') + return + } + + var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) + + var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] + + var averageMatrix = new THREE.Matrix4() + averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) + + var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix + + var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) + matrix = new THREE.Matrix4().getInverse(matrix) + + console.assert( subMarkerControls.object3d.userData.result === undefined ) + subMarkerControls.object3d.userData.result = { + averageMatrix: matrix, + confidenceFactor: 1 + } + + resultChanged = true + }) + // console.log('loop') + }while(resultChanged === true) + + // debugger + // console.log('json:', this.toJSON()) + // this.subMarkersControls.forEach(function(subMarkerControls){ + // var hasResult = subMarkerControls.object3d.userData.result !== undefined + // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') + // }) +} + +////////////////////////////////////////////////////////////////////////////// +// Utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * get a _this.subMarkersControls id based on markerControls.id + */ +MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ + + // if this subMarkerControls has never been seen with another subMarkerControls + if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null + + var seenCouples = subMarkerControls.object3d.userData.seenCouples + var coupleControlsIDs = Object.keys(seenCouples).map(Number) + + for(var i = 0; i < coupleControlsIDs.length; i++){ + var otherSubControlsID = coupleControlsIDs[i] + // get otherSubControls + var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) + + // if otherSubControls isnt learned, skip it + var result = otherSubControls.object3d.userData.result + var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false + if( isLearned === false ) continue + + // return this seenCouplesStats + return otherSubControlsID + } + + // if none is found, return null + return null +} + +/** + * get a _this.subMarkersControls based on markerControls.id + */ +MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + + for(var i = 0; i < this.subMarkersControls.length; i++){ + var subMarkerControls = this.subMarkersControls[i] + if( subMarkerControls.id === controlsID ){ + return subMarkerControls + } + } + + return null +} + ////////////////////////////////////////////////////////////////////////////// +// JSON file building +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaLearning.prototype.toJSON = function(){ + + // compute the average matrix before generating the file + this.computeResult() + + ////////////////////////////////////////////////////////////////////////////// + // actually build the json + ////////////////////////////////////////////////////////////////////////////// + var data = { + meta : { + createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, // TODO: ArToolkitContext depending on build + createdAt : new Date().toJSON(), + + }, + trackingBackend: this._arToolkitContext.parameters.trackingBackend, + subMarkersControls : [], + } + + var originSubControls = this.subMarkersControls[0] + var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) + this.subMarkersControls.forEach(function(subMarkerControls, index){ + + // if a subMarkerControls has no result, ignore it + if( subMarkerControls.object3d.userData.result === undefined ) return + + var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix + console.assert(poseMatrix instanceof THREE.Matrix4) + + + // build the info + var info = { + parameters : { + // to fill ... + }, + poseMatrix : poseMatrix.toArray(), + } + if( subMarkerControls.parameters.type === 'pattern' ){ + info.parameters.type = subMarkerControls.parameters.type + info.parameters.patternUrl = subMarkerControls.parameters.patternUrl + }else if( subMarkerControls.parameters.type === 'barcode' ){ + info.parameters.type = subMarkerControls.parameters.type + info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue + }else console.assert(false) + + data.subMarkersControls.push(info) + }) + + var strJSON = JSON.stringify(data, null, '\t'); + + + ////////////////////////////////////////////////////////////////////////////// + // round matrix elements to ease readability - for debug + ////////////////////////////////////////////////////////////////////////////// + var humanReadable = false + if( humanReadable === true ){ + var tmp = JSON.parse(strJSON) + tmp.subMarkersControls.forEach(function(markerControls){ + markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ + var roundingFactor = 100 + return Math.round(value*roundingFactor)/roundingFactor + }) + }) + strJSON = JSON.stringify(tmp, null, '\t'); + } + + return strJSON; +} + +////////////////////////////////////////////////////////////////////////////// +// utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all collected statistics + */ +MarkersAreaLearning.prototype.resetStats = function(){ + this.deleteResult() + + this.subMarkersControls.forEach(function(markerControls){ + delete markerControls.object3d.userData.seenCouples + }) +} +/** + * reset all collected statistics + */ +MarkersAreaLearning.prototype.deleteResult = function(){ + this.subMarkersControls.forEach(function(markerControls){ + delete markerControls.object3d.userData.result + }) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaLearning); + + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareautils.js": +/*!************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareautils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +const MarkersAreaUtils = {}; + +////////////////////////////////////////////////////////////////////////////// +// navigateToLearnerPage +////////////////////////////////////////////////////////////////////////////// + +/** + * Navigate to the multi-marker learner page + * + * @param {String} learnerBaseURL - the base url for the learner + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ + var learnerParameters = { + backURL : location.href, + trackingBackend: trackingBackend, + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + } + location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) +} + +////////////////////////////////////////////////////////////////////////////// +// DefaultMultiMarkerFile +////////////////////////////////////////////////////////////////////////////// + +/** + * Create and store a default multi-marker file + * + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) + // json.strinfy the value and store it in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) +} + + + +/** + * Create a default multi-marker file + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object of the multi-marker file + */ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ + console.assert(trackingBackend) + if( trackingBackend === undefined ) debugger + + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + // create the base file + var file = { + meta : { + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... being filled + ] + } + // add a subMarkersControls + file.subMarkersControls[0] = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), + } + if( trackingBackend === 'artoolkit' ){ + file.subMarkersControls[0].parameters.type = 'pattern' + file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + }else console.assert(false) + + // json.strinfy the value and store it in localStorage + return file +} + +////////////////////////////////////////////////////////////////////////////// +// createDefaultMarkersControlsParameters +////////////////////////////////////////////////////////////////////////////// + +/** + * Create a default controls parameters for the multi-marker learner + * + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object containing the controls parameters + */ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + + if( trackingBackend === 'artoolkit' ){ + // pattern hiro/kanji/a/b/c/f + var markersControlsParameters = [ + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', + }, + ] + }else console.assert(false) + return markersControlsParameters +} + + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +/** + * generate areaFile + */ +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { + // generate areaFile + var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) + // store areaFile in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) +} + + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ + // create the base file + var file = { + meta : { + createdBy : 'AR.js - Augmented Website', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... + ] + } + + var whiteMargin = 0.1 + if( resolutionW > resolutionH ){ + var markerImageSize = 0.4 * resolutionH + }else if( resolutionW < resolutionH ){ + var markerImageSize = 0.4 * resolutionW + }else if( resolutionW === resolutionH ){ + // specific for twitter player - https://dev.twitter.com/cards/types/player + var markerImageSize = 0.33 * resolutionW + }else console.assert(false) + + // console.warn('using new markerImageSize computation') + var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) + + var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize + var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize + + var subMarkerControls = buildSubMarkerControls('center', 0, 0) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) + + return file + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + + function buildSubMarkerControls(layout, positionX, positionZ){ + console.log('buildSubMarkerControls', layout, positionX, positionZ) + // create subMarkersControls + var subMarkersControls = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + } + // fill the parameters + if( trackingBackend === 'artoolkit' ){ + layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) + }else console.assert(false) + // return subMarkersControls + return subMarkersControls + } + + function layout2MarkerParametersArtoolkit(parameters, layout){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + var layout2PatternUrl = { + 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), + 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), + 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), + 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), + 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), + } + console.assert(layout2PatternUrl[layout] !== undefined ) + parameters.type = 'pattern' + parameters.patternUrl = layout2PatternUrl[layout] + return + function convertRelativeUrlToAbsolute(relativeUrl){ + var tmpLink = document.createElement('a'); + tmpLink.href = relativeUrl + return tmpLink.href + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); + + +/***/ }), + +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const Utils = {}; + +/** + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) + + return camera +} + +/** + * parse tracking method + * + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method + */ +Utils.parseTrackingMethod = function (trackingMethod) { + + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } + + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-context-nft.js": +/*!*************************************************!*\ + !*** ./three.js/src/threex/arjs-context-nft.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-markercontrols-nft */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); + +const Context = function (parameters, sourceParameters) { + var _this = this + + _this._updatedAt = null + + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', + + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', + + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, + + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, + + // Labeling mode for markers - ['black_region', 'white_region'] + // black_region: Black bordered markers on a white background, white_region: White bordered markers on a black background + labelingMode: 'black_region', + + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + console.assert(["black_region", "white_region"].indexOf(this.parameters.labelingMode) !== -1, "invalid parameter labelingMode", this.parameters.labelingMode); + + this.arController = null; + + _this.initialized = false + + + this._arMarkersControls = [] + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } +} + +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; + +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01'; + +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false) + return camera +} + + +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done) + } else console.assert(false) + return + + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); + + _this.initialized = true + + onCompleted && onCompleted() + } + +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { + + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; + + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present + + var prevVisibleMarkers = [] + + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + if (!markerControls.context.arController.showObject) { + markerControls.object3d.visible = false + } + }) + + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement) + } else { + console.assert(false) + } + + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); + + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) + + // return true as we processed the frame + return true; +} + +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} + +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof _arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_1__.default) + // console.log('remove marker for', arMarkerControls) + var index = this.arMarkerControls.indexOf(artoolkitMarker); + console.assert(index !== index) + this._arMarkersControls.splice(index, 1) +} + +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this + + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) + + var onError = function(err) { + console.error(err); + }; + + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } + + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set the labelingMode for artoolkit + var labelingModeTypes = { + "black_region": artoolkit.AR_LABELING_BLACK_REGION, + "white_region": artoolkit.AR_LABELING_WHITE_REGION + } + var labelingModeType = labelingModeTypes[_this.parameters.labelingMode]; + console.assert(labelingModeType !== undefined); + arController.setLabelingMode(labelingModeType); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); + return this +} + +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function () { + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn + + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) + + // projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) + + return projectionMatrix +} + +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); + +const Context = function (parameters) { + var _this = this + + _this._updatedAt = null + + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', + + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', + + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, + + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, + + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + + this.arController = null; + + _this.initialized = false + + + this._arMarkersControls = [] + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } +} + +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; + +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} + + +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done); + } else console.assert(false); + return + + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); + + _this.initialized = true + + onCompleted && onCompleted() + } + +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { + + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; + + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present + + var prevVisibleMarkers = [] + + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + markerControls.object3d.visible = false + }) + + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement); + } else { + console.assert(false); + } + + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); + + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) + + + // return true as we processed the frame + return true; +} + +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} + +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } + this._arMarkersControls.splice(index, 1) +} + +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this + + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) + + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } + + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); + return this +} + +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function (srcElement) { + + + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn + + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) + + // return the result + return projectionMatrix +} + +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} + +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; + + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } + + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; + + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; + + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols-nft.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols-nft.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./arjs-markercontrols-nft.worker.js */ "./three.js/src/threex/arjs-markercontrols-nft.worker.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_3__); + + + + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_3___default()); + +const MarkerControls = function (context, object3d, parameters) { + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size: 1, + // type of marker - ['pattern', 'barcode', 'nft', 'unknown' ] + type: 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl: null, + // value of the barcode - IIF type='barcode' + barcodeValue: null, + // url of the descriptors of image - IIF type='nft' + descriptorsUrl: null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode: 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } + + // sanity check + var possibleValues = ['pattern', 'barcode', 'nft', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix'] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArMarkerControls: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) + + if (_this.context.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit() + } else console.assert(false) +} + +MarkerControls.prototype = Object.create(_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype); +MarkerControls.prototype.constructor = MarkerControls; + +MarkerControls.prototype.dispose = function () { + this.context.removeMarker(this) +} + +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// + +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { + var markerObject3D = this.object3d; + + // mark object as visible + markerObject3D.visible = true + + if (this.context.parameters.trackingBackend === 'artoolkit') { + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) + + modelViewMatrix.copy(tmpMatrix) + } else { + console.assert(false) + } + + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) + + var renderReqd = false; + + // change markerObject3D.matrix based on parameters.changeMatrixMode + if (this.parameters.changeMatrixMode === 'modelViewMatrix') { + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; + + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { + markerObject3D.matrix.copy(modelViewMatrix).invert() + } else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + + // dispatchEvent + this.dispatchEvent({ type: 'markerFound' }); + + return renderReqd; +} + +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// + +MarkerControls.prototype.name = function () { + var name = ''; + name += this.parameters.type; + + if (this.parameters.type === 'pattern') { + var url = this.parameters.patternUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else if (this.parameters.type === 'barcode') { + name += ' - ' + this.parameters.barcodeValue; + } else if (this.parameters.type === 'nft') { + var url = this.parameters.descriptorsUrl; + var basename = url.replace(/^.*\//g, ''); + name += ' - ' + basename; + } else { + console.assert(false, 'no .name() implemented for this marker controls'); + } + + return name; +} + +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function () { + var _this = this + + var artoolkitMarkerId = null + + var delayedInitTimerId = setInterval(() => { + // check if arController is init + var arController = _this.context.arController + if (arController === null) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000 / 50) + + return + + function postInit() { + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null) + + // start tracking this pattern + if (_this.parameters.type === 'pattern') { + arController.loadMarker(_this.parameters.patternUrl).then(function (markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + } else if (_this.parameters.type === 'barcode') { + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + } else if (_this.parameters.type === 'nft') { + // use workers as default + handleNFT(_this.parameters.descriptorsUrl, arController); + } else if (_this.parameters.type === 'unknown') { + artoolkitMarkerId = null + } else { + console.log(false, 'invalid marker type', _this.parameters.type) + } + + // listen to the event + arController.addEventListener('getMarker', function (event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { + if (artoolkitMarkerId === null) return + if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) + } else if (event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { + onMarkerFound(event); + } + }) + } + + function setMatrix(matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } + }; + + function handleNFT(descriptorsUrl, arController) { + var worker = new _arjs_markercontrols_nft_worker_js__WEBPACK_IMPORTED_MODULE_2__.default(); + + window.addEventListener('arjs-video-loaded', function (ev) { + var video = ev.detail.component; + var vw = video.clientWidth; + var vh = video.clientHeight; + + var pscale = 320 / Math.max(vw, vh / 3 * 4); + + const w = vw * pscale; + const h = vh * pscale; + const pw = Math.max(w, h / 3 * 4); + const ph = Math.max(h, w / 4 * 3); + const ox = (pw - w) / 2; + const oy = (ph - h) / 2; + + arController.canvas.style.clientWidth = pw + "px"; + arController.canvas.style.clientHeight = ph + "px"; + arController.canvas.width = pw; + arController.canvas.height = ph; + + var context_process = arController.canvas.getContext('2d'); + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); + } + + // initialize the worker + worker.postMessage({ + type: 'init', + pw: pw, + ph: ph, + marker: descriptorsUrl, + param: arController.cameraParam, + }); + + worker.onmessage = function (ev) { + if (ev && ev.data && ev.data.type === 'endLoading') { + var loader = document.querySelector('.arjs-loader'); + if (loader) { + loader.remove(); + } + var endLoadingEvent = new Event('arjs-nft-loaded'); + window.dispatchEvent(endLoadingEvent); + } + + if (ev && ev.data && ev.data.type === 'loaded') { + var proj = JSON.parse(ev.data.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + + setMatrix(_this.object3d.matrix, proj); + } + + if (ev && ev.data && ev.data.type === 'found') { + var matrix = JSON.parse(ev.data.matrix); + + onMarkerFound({ + data: { + type: ARToolkit.NFT_MARKER, + matrix: matrix, + msg: ev.data.type, + } + }); + + _this.context.arController.showObject = true; + } else { + _this.context.arController.showObject = false; + } + + process(); + }; + + }); + } + + function onMarkerFound(event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return + if (event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return + + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); + +const MarkerControls = function(context, object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } + + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } + + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) + + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) +} + +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; + + +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; +} + +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// + +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; + + // mark object as visible + markerObject3D.visible = true + + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) + + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) + + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) + + var renderReqd = false; + + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; + + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); + + return renderReqd; +} + +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// + +/** + * provide a name for a marker + * - silly heuristic for now + * - should be improved + */ +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') + } + return name +} + +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this + + var artoolkitMarkerId = null + + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) + + return + + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) + + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } + + // listen to the event + arController.addEventListener('getMarker', onGetMarker) + + } + + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } + + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() + + this.performance('default') +} + +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } + + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; + +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// + + + +Profile.prototype.performance = function (label) { + + if (label === 'default') { + label = this._guessPerformanceLabel() + } + + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 + + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this +} + +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// + + +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend + + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this +} +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} + +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} + +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} + +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this + + this.ready = false + this.domElement = null + + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this + + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } + + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); + + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } + + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); + + _this.ready = true + + onReady && onReady() + } +} + +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onload = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; + + domElement.style.objectFit = 'initial'; + + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; + + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onloadeddata = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this + + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } + + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' + + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } + + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; + + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; + + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); + + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); + + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.dispose = function () { + this.ready = false; + + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; + + case 'video': + this._disposeSourceVideo(); + break; + + case 'webcam': + this._disposeSourceWebcam(); + break; + } + + this.domElement = null; + + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } + + domElement.remove(); +} + +////////////////////////////////////////////////////////////////////////////// +// Handle Mobile Torch +////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false + + var capabilities = videoTrack.getCapabilities() + + return capabilities.torch ? true : false +} + +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) + + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() + + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} + +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} + +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + + // sanity check + console.assert(arguments.length === 0) + + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } + + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight + + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ + +Source.prototype.copyElementSizeTo = function (otherElement) { + + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } + + var trackingBackend = arToolkitContext.parameters.trackingBackend + + + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { + + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); + +/***/ }), + +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ + + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) +} + +ArBaseControls.id = 0 + +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); + +////////////////////////////////////////////////////////////////////////////// +// Functions +////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} + +/** + * error catching function for name() + */ +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group + + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id + // debugger + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; + + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); + + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true + + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 + + this.object3d.add(mesh) + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); + + +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false + + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, + } + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } +} + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; + +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// + +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 + + + ////////////////////////////////////////////////////////////////////////////// + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay + ////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() + } + // console.log('visibleFor', visibleFor) + } + + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } + + ////////////////////////////////////////////////////////////////////////////// + // apply lerp on positon/quaternion/scale + ////////////////////////////////////////////////////////////////////////////// + + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } + + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} + + // update the matrix + this.object3d.updateMatrix() + + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return + + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); + + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!******************************************!*\ + !*** ./three.js/src/index-threex-nft.js ***! + \******************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "ArMarkerControls": () => (/* reexport safe */ _threex_arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_0__.default), +/* harmony export */ "ArMarkerHelper": () => (/* reexport safe */ _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_1__.default), +/* harmony export */ "ArSmoothedControls": () => (/* reexport safe */ _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_2__.default), +/* harmony export */ "ArToolkitContext": () => (/* reexport safe */ _threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_3__.default), +/* harmony export */ "ArToolkitProfile": () => (/* reexport safe */ _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_4__.default), +/* harmony export */ "ArToolkitSource": () => (/* reexport safe */ _threex_arjs_source__WEBPACK_IMPORTED_MODULE_5__.default), +/* harmony export */ "ArMultiMarkerControls": () => (/* reexport safe */ _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_6__.default), +/* harmony export */ "ArMultiMakersLearning": () => (/* reexport safe */ _markers_area_arjs_markersarealearning__WEBPACK_IMPORTED_MODULE_7__.default), +/* harmony export */ "ArMultiMarkerUtils": () => (/* reexport safe */ _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_8__.default) +/* harmony export */ }); +/* harmony import */ var _threex_arjs_markercontrols_nft__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex/arjs-markercontrols-nft */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./threex/arjs-context-nft */ "./three.js/src/threex/arjs-context-nft.js"); +/* harmony import */ var _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersarealearning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./markers-area/arjs-markersarealearning */ "./three.js/src/markers-area/arjs-markersarealearning.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); + // nft-specific + + + // nft-specific + + + + // typo is spread over codebase + + + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9USFJFRXgvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL1RIUkVFeC8uL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC53b3JrZXIuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vbm9kZV9tb2R1bGVzL3dvcmtlci1sb2FkZXIvZGlzdC9ydW50aW1lL2lubGluZS5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWFjb250cm9scy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWFsZWFybmluZy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLXV0aWxzLmpzIiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1jb250ZXh0LW5mdC5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtY29udGV4dC5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMtbmZ0LmpzIiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtcHJvZmlsZS5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtc291cmNlLmpzIiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFyYmFzZWNvbnRyb2xzLmpzIiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFybWFya2VyaGVscGVyLmpzIiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFyc21vb3RoZWRjb250cm9scy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvZXh0ZXJuYWwge1wiY29tbW9uanNcIjpcInRocmVlXCIsXCJjb21tb25qczJcIjpcInRocmVlXCIsXCJhbWRcIjpcInRocmVlXCIsXCJyb290XCI6XCJUSFJFRVwifSIsIndlYnBhY2s6Ly9USFJFRXgvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vVEhSRUV4L3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL1RIUkVFeC93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vVEhSRUV4L3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vVEhSRUV4L3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL2luZGV4LXRocmVleC1uZnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87Ozs7Ozs7OztBQ1ZBLGVBQWUsS0FBaUQsb0JBQW9CLENBQWlILENBQUMsZ0RBQWdELFlBQVksT0FBTyxjQUFjLGlCQUFpQixlQUFlLGlCQUFpQixlQUFlLGFBQWEsMkZBQTJGLHNCQUFzQixrQ0FBa0MsNENBQTRDLGFBQWEsOEZB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QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDRFQUF5QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUVBQWUsT0FBTyxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FDckt2QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0VBQWtFLFVBQVU7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQXFELGVBQWU7QUFDcEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdEQUF3RCxpQkFBaUI7QUFDekU7O0FBRUE7QUFDQSwyRUFBMkUsVUFBVSxFOztBQUVyRjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEscUVBQXFFLFVBQVUsRTtBQUMvRSxDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0M7QUFDQSxzQjs7QUFFQSx3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0U7QUFDQSxLOztBQUVBLHdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLGlFQUFlLE1BQU0sRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN6Z0JVOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3Qix3QkFBd0I7QUFDaEQsd0JBQXdCLHdCQUF3QjtBQUNoRCx3QkFBd0IsMEJBQTBCO0FBQ2xEOztBQUVBOztBQUVBLHlDQUF5Qyw0REFBK0I7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxjQUFjLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3JDQzs7QUFFL0I7QUFDQSxxQkFBcUIsd0NBQVc7O0FBRWhDLGdCQUFnQiw2Q0FBZ0I7QUFDaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixnREFBbUI7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLGdEQUFtQjtBQUN2QyxvQkFBb0Isb0RBQXVCO0FBQzNDO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsZ0JBQWdCLHVDQUFVO0FBQzFCOztBQUVBOztBQUVBOztBQUVBLGlFQUFlLGNBQWMsRUFBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN4Q3VCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBOztBQUVBLENBQUMsZ0VBQW1COztBQUVwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhDQUE4QyxxRUFBd0I7QUFDdEU7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxnQkFBZ0IsZ0JBQWdCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSyxLQUFLLEVBQUUsRUFFVjs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwwQkFBMEI7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlFQUFlLGtCQUFrQixFQUFDOzs7Ozs7Ozs7Ozs7QUN6SmxDLG1EOzs7Ozs7VUNBQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBOztVQUVBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBOzs7OztXQ3RCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsZ0NBQWdDLFlBQVk7V0FDNUM7V0FDQSxFOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0Esd0NBQXdDLHlDQUF5QztXQUNqRjtXQUNBO1dBQ0EsRTs7Ozs7V0NQQSx3Rjs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSxzREFBc0Qsa0JBQWtCO1dBQ3hFO1dBQ0EsK0NBQStDLGNBQWM7V0FDN0QsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNOZ0U7QUFDSjtBQUNRO0FBQ1g7QUFDSjtBQUNGO0FBQ3lCO0FBQ0E7QUFDTjs7QUFZcEUiLCJmaWxlIjoiYXItdGhyZWV4LW5mdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcInRocmVlXCJdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIlRIUkVFeFwiXSA9IGZhY3RvcnkocmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZVxuXHRcdHJvb3RbXCJUSFJFRXhcIl0gPSBmYWN0b3J5KHJvb3RbXCJUSFJFRVwiXSk7XG59KSh0aGlzLCBmdW5jdGlvbihfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX18pIHtcbnJldHVybiAiLCIhZnVuY3Rpb24oQSxJKXtcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cyYmXCJvYmplY3RcIj09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1JKCk6XCJmdW5jdGlvblwiPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxJKTpcIm9iamVjdFwiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzLkFSVG9vbGtpdD1JKCk6QS5BUlRvb2xraXQ9SSgpfShcInVuZGVmaW5lZFwiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuKCgpPT57dmFyIEE9ezc1NzooQSxJLGcpPT57QS5leHBvcnRzPWcoNjY2KX0sNjY5OihBLEksZyk9PntBLmV4cG9ydHM9Zyg2MDkpfSw0NDg6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoMjYpLFE9ZygzNzIpLEU9ZygzMjcpLGk9Zyg5Nyksbz1nKDEwOSksRD1nKDk4NSksYT1nKDYxKSx3PWcoNjU1KSxGPWcoMjYzKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihJLGcpe3ZhciBHLGg9QS5kYXRhLHM9QS5oZWFkZXJzLFI9QS5yZXNwb25zZVR5cGU7ZnVuY3Rpb24gVSgpe0EuY2FuY2VsVG9rZW4mJkEuY2FuY2VsVG9rZW4udW5zdWJzY3JpYmUoRyksQS5zaWduYWwmJkEuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLEcpfUIuaXNGb3JtRGF0YShoKSYmZGVsZXRlIHNbXCJDb250ZW50LVR5cGVcIl07dmFyIHk9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEuYXV0aCl7dmFyIHQ9QS5hdXRoLnVzZXJuYW1lfHxcIlwiLFM9QS5hdXRoLnBhc3N3b3JkP3VuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChBLmF1dGgucGFzc3dvcmQpKTpcIlwiO3MuQXV0aG9yaXphdGlvbj1cIkJhc2ljIFwiK2J0b2EodCtcIjpcIitTKX12YXIgTT1pKEEuYmFzZVVSTCxBLnVybCk7ZnVuY3Rpb24gbigpe2lmKHkpe3ZhciBCPVwiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzXCJpbiB5P28oeS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSk6bnVsbCxRPXtkYXRhOlImJlwidGV4dFwiIT09UiYmXCJqc29uXCIhPT1SP3kucmVzcG9uc2U6eS5yZXNwb25zZVRleHQsc3RhdHVzOnkuc3RhdHVzLHN0YXR1c1RleHQ6eS5zdGF0dXNUZXh0LGhlYWRlcnM6Qixjb25maWc6QSxyZXF1ZXN0Onl9O0MoKGZ1bmN0aW9uKEEpe0koQSksVSgpfSksKGZ1bmN0aW9uKEEpe2coQSksVSgpfSksUSkseT1udWxsfX1pZih5Lm9wZW4oQS5tZXRob2QudG9VcHBlckNhc2UoKSxFKE0sQS5wYXJhbXMsQS5wYXJhbXNTZXJpYWxpemVyKSwhMCkseS50aW1lb3V0PUEudGltZW91dCxcIm9ubG9hZGVuZFwiaW4geT95Lm9ubG9hZGVuZD1uOnkub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7eSYmND09PXkucmVhZHlTdGF0ZSYmKDAhPT15LnN0YXR1c3x8eS5yZXNwb25zZVVSTCYmMD09PXkucmVzcG9uc2VVUkwuaW5kZXhPZihcImZpbGU6XCIpKSYmc2V0VGltZW91dChuKX0seS5vbmFib3J0PWZ1bmN0aW9uKCl7eSYmKGcoYShcIlJlcXVlc3QgYWJvcnRlZFwiLEEsXCJFQ09OTkFCT1JURURcIix5KSkseT1udWxsKX0seS5vbmVycm9yPWZ1bmN0aW9uKCl7ZyhhKFwiTmV0d29yayBFcnJvclwiLEEsbnVsbCx5KSkseT1udWxsfSx5Lm9udGltZW91dD1mdW5jdGlvbigpe3ZhciBJPUEudGltZW91dD9cInRpbWVvdXQgb2YgXCIrQS50aW1lb3V0K1wibXMgZXhjZWVkZWRcIjpcInRpbWVvdXQgZXhjZWVkZWRcIixCPUEudHJhbnNpdGlvbmFsfHx3LnRyYW5zaXRpb25hbDtBLnRpbWVvdXRFcnJvck1lc3NhZ2UmJihJPUEudGltZW91dEVycm9yTWVzc2FnZSksZyhhKEksQSxCLmNsYXJpZnlUaW1lb3V0RXJyb3I/XCJFVElNRURPVVRcIjpcIkVDT05OQUJPUlRFRFwiLHkpKSx5PW51bGx9LEIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSl7dmFyIGM9KEEud2l0aENyZWRlbnRpYWxzfHxEKE0pKSYmQS54c3JmQ29va2llTmFtZT9RLnJlYWQoQS54c3JmQ29va2llTmFtZSk6dm9pZCAwO2MmJihzW0EueHNyZkhlYWRlck5hbWVdPWMpfVwic2V0UmVxdWVzdEhlYWRlclwiaW4geSYmQi5mb3JFYWNoKHMsKGZ1bmN0aW9uKEEsSSl7dm9pZCAwPT09aCYmXCJjb250ZW50LXR5cGVcIj09PUkudG9Mb3dlckNhc2UoKT9kZWxldGUgc1tJXTp5LnNldFJlcXVlc3RIZWFkZXIoSSxBKX0pKSxCLmlzVW5kZWZpbmVkKEEud2l0aENyZWRlbnRpYWxzKXx8KHkud2l0aENyZWRlbnRpYWxzPSEhQS53aXRoQ3JlZGVudGlhbHMpLFImJlwianNvblwiIT09UiYmKHkucmVzcG9uc2VUeXBlPUEucmVzcG9uc2VUeXBlKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLm9uRG93bmxvYWRQcm9ncmVzcyYmeS5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixBLm9uRG93bmxvYWRQcm9ncmVzcyksXCJmdW5jdGlvblwiPT10eXBlb2YgQS5vblVwbG9hZFByb2dyZXNzJiZ5LnVwbG9hZCYmeS51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcihcInByb2dyZXNzXCIsQS5vblVwbG9hZFByb2dyZXNzKSwoQS5jYW5jZWxUb2tlbnx8QS5zaWduYWwpJiYoRz1mdW5jdGlvbihBKXt5JiYoZyghQXx8QSYmQS50eXBlP25ldyBGKFwiY2FuY2VsZWRcIik6QSkseS5hYm9ydCgpLHk9bnVsbCl9LEEuY2FuY2VsVG9rZW4mJkEuY2FuY2VsVG9rZW4uc3Vic2NyaWJlKEcpLEEuc2lnbmFsJiYoQS5zaWduYWwuYWJvcnRlZD9HKCk6QS5zaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsRykpKSxofHwoaD1udWxsKSx5LnNlbmQoaCl9KSl9fSw2MDk6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoODQ5KSxRPWcoMzIxKSxFPWcoMTg1KSxpPWZ1bmN0aW9uIEEoSSl7dmFyIGc9bmV3IFEoSSksaT1DKFEucHJvdG90eXBlLnJlcXVlc3QsZyk7cmV0dXJuIEIuZXh0ZW5kKGksUS5wcm90b3R5cGUsZyksQi5leHRlbmQoaSxnKSxpLmNyZWF0ZT1mdW5jdGlvbihnKXtyZXR1cm4gQShFKEksZykpfSxpfShnKDY1NSkpO2kuQXhpb3M9USxpLkNhbmNlbD1nKDI2MyksaS5DYW5jZWxUb2tlbj1nKDk3MiksaS5pc0NhbmNlbD1nKDUwMiksaS5WRVJTSU9OPWcoMjg4KS52ZXJzaW9uLGkuYWxsPWZ1bmN0aW9uKEEpe3JldHVybiBQcm9taXNlLmFsbChBKX0saS5zcHJlYWQ9Zyg3MTMpLGkuaXNBeGlvc0Vycm9yPWcoMjY4KSxBLmV4cG9ydHM9aSxBLmV4cG9ydHMuZGVmYXVsdD1pfSwyNjM6QT0+e1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIEkoQSl7dGhpcy5tZXNzYWdlPUF9SS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5cIkNhbmNlbFwiKyh0aGlzLm1lc3NhZ2U/XCI6IFwiK3RoaXMubWVzc2FnZTpcIlwiKX0sSS5wcm90b3R5cGUuX19DQU5DRUxfXz0hMCxBLmV4cG9ydHM9SX0sOTcyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDI2Myk7ZnVuY3Rpb24gQyhBKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBBKXRocm93IG5ldyBUeXBlRXJyb3IoXCJleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uXCIpO3ZhciBJO3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7ST1BfSkpO3ZhciBnPXRoaXM7dGhpcy5wcm9taXNlLnRoZW4oKGZ1bmN0aW9uKEEpe2lmKGcuX2xpc3RlbmVycyl7dmFyIEksQj1nLl9saXN0ZW5lcnMubGVuZ3RoO2ZvcihJPTA7STxCO0krKylnLl9saXN0ZW5lcnNbSV0oQSk7Zy5fbGlzdGVuZXJzPW51bGx9fSkpLHRoaXMucHJvbWlzZS50aGVuPWZ1bmN0aW9uKEEpe3ZhciBJLEI9bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe2cuc3Vic2NyaWJlKEEpLEk9QX0pKS50aGVuKEEpO3JldHVybiBCLmNhbmNlbD1mdW5jdGlvbigpe2cudW5zdWJzY3JpYmUoSSl9LEJ9LEEoKGZ1bmN0aW9uKEEpe2cucmVhc29ufHwoZy5yZWFzb249bmV3IEIoQSksSShnLnJlYXNvbikpfSkpfUMucHJvdG90eXBlLnRocm93SWZSZXF1ZXN0ZWQ9ZnVuY3Rpb24oKXtpZih0aGlzLnJlYXNvbil0aHJvdyB0aGlzLnJlYXNvbn0sQy5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKEEpe3RoaXMucmVhc29uP0EodGhpcy5yZWFzb24pOnRoaXMuX2xpc3RlbmVycz90aGlzLl9saXN0ZW5lcnMucHVzaChBKTp0aGlzLl9saXN0ZW5lcnM9W0FdfSxDLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbihBKXtpZih0aGlzLl9saXN0ZW5lcnMpe3ZhciBJPXRoaXMuX2xpc3RlbmVycy5pbmRleE9mKEEpOy0xIT09SSYmdGhpcy5fbGlzdGVuZXJzLnNwbGljZShJLDEpfX0sQy5zb3VyY2U9ZnVuY3Rpb24oKXt2YXIgQTtyZXR1cm57dG9rZW46bmV3IEMoKGZ1bmN0aW9uKEkpe0E9SX0pKSxjYW5jZWw6QX19LEEuZXhwb3J0cz1DfSw1MDI6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4hKCFBfHwhQS5fX0NBTkNFTF9fKX19LDMyMTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9ZygzMjcpLFE9Zyg3ODIpLEU9Zyg1NzIpLGk9ZygxODUpLG89Zyg4NzUpLEQ9by52YWxpZGF0b3JzO2Z1bmN0aW9uIGEoQSl7dGhpcy5kZWZhdWx0cz1BLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBRLHJlc3BvbnNlOm5ldyBRfX1hLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKEEpe1wic3RyaW5nXCI9PXR5cGVvZiBBPyhBPWFyZ3VtZW50c1sxXXx8e30pLnVybD1hcmd1bWVudHNbMF06QT1BfHx7fSwoQT1pKHRoaXMuZGVmYXVsdHMsQSkpLm1ldGhvZD9BLm1ldGhvZD1BLm1ldGhvZC50b0xvd2VyQ2FzZSgpOnRoaXMuZGVmYXVsdHMubWV0aG9kP0EubWV0aG9kPXRoaXMuZGVmYXVsdHMubWV0aG9kLnRvTG93ZXJDYXNlKCk6QS5tZXRob2Q9XCJnZXRcIjt2YXIgST1BLnRyYW5zaXRpb25hbDt2b2lkIDAhPT1JJiZvLmFzc2VydE9wdGlvbnMoSSx7c2lsZW50SlNPTlBhcnNpbmc6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKSxmb3JjZWRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGNsYXJpZnlUaW1lb3V0RXJyb3I6RC50cmFuc2l0aW9uYWwoRC5ib29sZWFuKX0sITEpO3ZhciBnPVtdLEI9ITA7dGhpcy5pbnRlcmNlcHRvcnMucmVxdWVzdC5mb3JFYWNoKChmdW5jdGlvbihJKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBJLnJ1bldoZW4mJiExPT09SS5ydW5XaGVuKEEpfHwoQj1CJiZJLnN5bmNocm9ub3VzLGcudW5zaGlmdChJLmZ1bGZpbGxlZCxJLnJlamVjdGVkKSl9KSk7dmFyIEMsUT1bXTtpZih0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKChmdW5jdGlvbihBKXtRLnB1c2goQS5mdWxmaWxsZWQsQS5yZWplY3RlZCl9KSksIUIpe3ZhciBhPVtFLHZvaWQgMF07Zm9yKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGEsZyksYT1hLmNvbmNhdChRKSxDPVByb21pc2UucmVzb2x2ZShBKTthLmxlbmd0aDspQz1DLnRoZW4oYS5zaGlmdCgpLGEuc2hpZnQoKSk7cmV0dXJuIEN9Zm9yKHZhciB3PUE7Zy5sZW5ndGg7KXt2YXIgRj1nLnNoaWZ0KCksRz1nLnNoaWZ0KCk7dHJ5e3c9Rih3KX1jYXRjaChBKXtHKEEpO2JyZWFrfX10cnl7Qz1FKHcpfWNhdGNoKEEpe3JldHVybiBQcm9taXNlLnJlamVjdChBKX1mb3IoO1EubGVuZ3RoOylDPUMudGhlbihRLnNoaWZ0KCksUS5zaGlmdCgpKTtyZXR1cm4gQ30sYS5wcm90b3R5cGUuZ2V0VXJpPWZ1bmN0aW9uKEEpe3JldHVybiBBPWkodGhpcy5kZWZhdWx0cyxBKSxDKEEudXJsLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlxcPy8sXCJcIil9LEIuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiLFwib3B0aW9uc1wiXSwoZnVuY3Rpb24oQSl7YS5wcm90b3R5cGVbQV09ZnVuY3Rpb24oSSxnKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkoZ3x8e30se21ldGhvZDpBLHVybDpJLGRhdGE6KGd8fHt9KS5kYXRhfSkpfX0pKSxCLmZvckVhY2goW1wicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiXSwoZnVuY3Rpb24oQSl7YS5wcm90b3R5cGVbQV09ZnVuY3Rpb24oSSxnLEIpe3JldHVybiB0aGlzLnJlcXVlc3QoaShCfHx7fSx7bWV0aG9kOkEsdXJsOkksZGF0YTpnfSkpfX0pKSxBLmV4cG9ydHM9YX0sNzgyOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7ZnVuY3Rpb24gQygpe3RoaXMuaGFuZGxlcnM9W119Qy5wcm90b3R5cGUudXNlPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5oYW5kbGVycy5wdXNoKHtmdWxmaWxsZWQ6QSxyZWplY3RlZDpJLHN5bmNocm9ub3VzOiEhZyYmZy5zeW5jaHJvbm91cyxydW5XaGVuOmc/Zy5ydW5XaGVuOm51bGx9KSx0aGlzLmhhbmRsZXJzLmxlbmd0aC0xfSxDLnByb3RvdHlwZS5lamVjdD1mdW5jdGlvbihBKXt0aGlzLmhhbmRsZXJzW0FdJiYodGhpcy5oYW5kbGVyc1tBXT1udWxsKX0sQy5wcm90b3R5cGUuZm9yRWFjaD1mdW5jdGlvbihBKXtCLmZvckVhY2godGhpcy5oYW5kbGVycywoZnVuY3Rpb24oSSl7bnVsbCE9PUkmJkEoSSl9KSl9LEEuZXhwb3J0cz1DfSw5NzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg3OTMpLEM9ZygzMDMpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBBJiYhQihJKT9DKEEsSSk6SX19LDYxOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDQ4MSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnLEMsUSl7dmFyIEU9bmV3IEVycm9yKEEpO3JldHVybiBCKEUsSSxnLEMsUSl9fSw1NzI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoNTI3KSxRPWcoNTAyKSxFPWcoNjU1KSxpPWcoMjYzKTtmdW5jdGlvbiBvKEEpe2lmKEEuY2FuY2VsVG9rZW4mJkEuY2FuY2VsVG9rZW4udGhyb3dJZlJlcXVlc3RlZCgpLEEuc2lnbmFsJiZBLnNpZ25hbC5hYm9ydGVkKXRocm93IG5ldyBpKFwiY2FuY2VsZWRcIil9QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBvKEEpLEEuaGVhZGVycz1BLmhlYWRlcnN8fHt9LEEuZGF0YT1DLmNhbGwoQSxBLmRhdGEsQS5oZWFkZXJzLEEudHJhbnNmb3JtUmVxdWVzdCksQS5oZWFkZXJzPUIubWVyZ2UoQS5oZWFkZXJzLmNvbW1vbnx8e30sQS5oZWFkZXJzW0EubWV0aG9kXXx8e30sQS5oZWFkZXJzKSxCLmZvckVhY2goW1wiZGVsZXRlXCIsXCJnZXRcIixcImhlYWRcIixcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIixcImNvbW1vblwiXSwoZnVuY3Rpb24oSSl7ZGVsZXRlIEEuaGVhZGVyc1tJXX0pKSwoQS5hZGFwdGVyfHxFLmFkYXB0ZXIpKEEpLnRoZW4oKGZ1bmN0aW9uKEkpe3JldHVybiBvKEEpLEkuZGF0YT1DLmNhbGwoQSxJLmRhdGEsSS5oZWFkZXJzLEEudHJhbnNmb3JtUmVzcG9uc2UpLEl9KSwoZnVuY3Rpb24oSSl7cmV0dXJuIFEoSSl8fChvKEEpLEkmJkkucmVzcG9uc2UmJihJLnJlc3BvbnNlLmRhdGE9Qy5jYWxsKEEsSS5yZXNwb25zZS5kYXRhLEkucmVzcG9uc2UuaGVhZGVycyxBLnRyYW5zZm9ybVJlc3BvbnNlKSkpLFByb21pc2UucmVqZWN0KEkpfSkpfX0sNDgxOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQS5jb25maWc9SSxnJiYoQS5jb2RlPWcpLEEucmVxdWVzdD1CLEEucmVzcG9uc2U9QyxBLmlzQXhpb3NFcnJvcj0hMCxBLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnttZXNzYWdlOnRoaXMubWVzc2FnZSxuYW1lOnRoaXMubmFtZSxkZXNjcmlwdGlvbjp0aGlzLmRlc2NyaXB0aW9uLG51bWJlcjp0aGlzLm51bWJlcixmaWxlTmFtZTp0aGlzLmZpbGVOYW1lLGxpbmVOdW1iZXI6dGhpcy5saW5lTnVtYmVyLGNvbHVtbk51bWJlcjp0aGlzLmNvbHVtbk51bWJlcixzdGFjazp0aGlzLnN0YWNrLGNvbmZpZzp0aGlzLmNvbmZpZyxjb2RlOnRoaXMuY29kZSxzdGF0dXM6dGhpcy5yZXNwb25zZSYmdGhpcy5yZXNwb25zZS5zdGF0dXM/dGhpcy5yZXNwb25zZS5zdGF0dXM6bnVsbH19LEF9fSwxODU6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtJPUl8fHt9O3ZhciBnPXt9O2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm4gQi5pc1BsYWluT2JqZWN0KEEpJiZCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZShBLEkpOkIuaXNQbGFpbk9iamVjdChJKT9CLm1lcmdlKHt9LEkpOkIuaXNBcnJheShJKT9JLnNsaWNlKCk6SX1mdW5jdGlvbiBRKGcpe3JldHVybiBCLmlzVW5kZWZpbmVkKElbZ10pP0IuaXNVbmRlZmluZWQoQVtnXSk/dm9pZCAwOkModm9pZCAwLEFbZ10pOkMoQVtnXSxJW2ddKX1mdW5jdGlvbiBFKEEpe2lmKCFCLmlzVW5kZWZpbmVkKElbQV0pKXJldHVybiBDKHZvaWQgMCxJW0FdKX1mdW5jdGlvbiBpKGcpe3JldHVybiBCLmlzVW5kZWZpbmVkKElbZ10pP0IuaXNVbmRlZmluZWQoQVtnXSk/dm9pZCAwOkModm9pZCAwLEFbZ10pOkModm9pZCAwLElbZ10pfWZ1bmN0aW9uIG8oZyl7cmV0dXJuIGcgaW4gST9DKEFbZ10sSVtnXSk6ZyBpbiBBP0Modm9pZCAwLEFbZ10pOnZvaWQgMH12YXIgRD17dXJsOkUsbWV0aG9kOkUsZGF0YTpFLGJhc2VVUkw6aSx0cmFuc2Zvcm1SZXF1ZXN0OmksdHJhbnNmb3JtUmVzcG9uc2U6aSxwYXJhbXNTZXJpYWxpemVyOmksdGltZW91dDppLHRpbWVvdXRNZXNzYWdlOmksd2l0aENyZWRlbnRpYWxzOmksYWRhcHRlcjppLHJlc3BvbnNlVHlwZTppLHhzcmZDb29raWVOYW1lOmkseHNyZkhlYWRlck5hbWU6aSxvblVwbG9hZFByb2dyZXNzOmksb25Eb3dubG9hZFByb2dyZXNzOmksZGVjb21wcmVzczppLG1heENvbnRlbnRMZW5ndGg6aSxtYXhCb2R5TGVuZ3RoOmksdHJhbnNwb3J0OmksaHR0cEFnZW50OmksaHR0cHNBZ2VudDppLGNhbmNlbFRva2VuOmksc29ja2V0UGF0aDppLHJlc3BvbnNlRW5jb2Rpbmc6aSx2YWxpZGF0ZVN0YXR1czpvfTtyZXR1cm4gQi5mb3JFYWNoKE9iamVjdC5rZXlzKEEpLmNvbmNhdChPYmplY3Qua2V5cyhJKSksKGZ1bmN0aW9uKEEpe3ZhciBJPURbQV18fFEsQz1JKEEpO0IuaXNVbmRlZmluZWQoQykmJkkhPT1vfHwoZ1tBXT1DKX0pKSxnfX0sMjY6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNjEpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7dmFyIEM9Zy5jb25maWcudmFsaWRhdGVTdGF0dXM7Zy5zdGF0dXMmJkMmJiFDKGcuc3RhdHVzKT9JKEIoXCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIFwiK2cuc3RhdHVzLGcuY29uZmlnLG51bGwsZy5yZXF1ZXN0LGcpKTpBKGcpfX0sNTI3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDY1NSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgUT10aGlzfHxDO3JldHVybiBCLmZvckVhY2goZywoZnVuY3Rpb24oZyl7QT1nLmNhbGwoUSxBLEkpfSkpLEF9fSw2NTU6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoMTYpLFE9Zyg0ODEpLEU9e1wiQ29udGVudC1UeXBlXCI6XCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIn07ZnVuY3Rpb24gaShBLEkpeyFCLmlzVW5kZWZpbmVkKEEpJiZCLmlzVW5kZWZpbmVkKEFbXCJDb250ZW50LVR5cGVcIl0pJiYoQVtcIkNvbnRlbnQtVHlwZVwiXT1JKX12YXIgbyxEPXt0cmFuc2l0aW9uYWw6e3NpbGVudEpTT05QYXJzaW5nOiEwLGZvcmNlZEpTT05QYXJzaW5nOiEwLGNsYXJpZnlUaW1lb3V0RXJyb3I6ITF9LGFkYXB0ZXI6KChcInVuZGVmaW5lZFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3R8fFwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcm9jZXNzJiZcIltvYmplY3QgcHJvY2Vzc11cIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChwcm9jZXNzKSkmJihvPWcoNDQ4KSksbyksdHJhbnNmb3JtUmVxdWVzdDpbZnVuY3Rpb24oQSxJKXtyZXR1cm4gQyhJLFwiQWNjZXB0XCIpLEMoSSxcIkNvbnRlbnQtVHlwZVwiKSxCLmlzRm9ybURhdGEoQSl8fEIuaXNBcnJheUJ1ZmZlcihBKXx8Qi5pc0J1ZmZlcihBKXx8Qi5pc1N0cmVhbShBKXx8Qi5pc0ZpbGUoQSl8fEIuaXNCbG9iKEEpP0E6Qi5pc0FycmF5QnVmZmVyVmlldyhBKT9BLmJ1ZmZlcjpCLmlzVVJMU2VhcmNoUGFyYW1zKEEpPyhpKEksXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOFwiKSxBLnRvU3RyaW5nKCkpOkIuaXNPYmplY3QoQSl8fEkmJlwiYXBwbGljYXRpb24vanNvblwiPT09SVtcIkNvbnRlbnQtVHlwZVwiXT8oaShJLFwiYXBwbGljYXRpb24vanNvblwiKSxmdW5jdGlvbihBLEksZyl7aWYoQi5pc1N0cmluZyhBKSl0cnl7cmV0dXJuKDAsSlNPTi5wYXJzZSkoQSksQi50cmltKEEpfWNhdGNoKEEpe2lmKFwiU3ludGF4RXJyb3JcIiE9PUEubmFtZSl0aHJvdyBBfXJldHVybigwLEpTT04uc3RyaW5naWZ5KShBKX0oQSkpOkF9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy50cmFuc2l0aW9uYWx8fEQudHJhbnNpdGlvbmFsLGc9SSYmSS5zaWxlbnRKU09OUGFyc2luZyxDPUkmJkkuZm9yY2VkSlNPTlBhcnNpbmcsRT0hZyYmXCJqc29uXCI9PT10aGlzLnJlc3BvbnNlVHlwZTtpZihFfHxDJiZCLmlzU3RyaW5nKEEpJiZBLmxlbmd0aCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoQSl9Y2F0Y2goQSl7aWYoRSl7aWYoXCJTeW50YXhFcnJvclwiPT09QS5uYW1lKXRocm93IFEoQSx0aGlzLFwiRV9KU09OX1BBUlNFXCIpO3Rocm93IEF9fXJldHVybiBBfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOlwiWFNSRi1UT0tFTlwiLHhzcmZIZWFkZXJOYW1lOlwiWC1YU1JGLVRPS0VOXCIsbWF4Q29udGVudExlbmd0aDotMSxtYXhCb2R5TGVuZ3RoOi0xLHZhbGlkYXRlU3RhdHVzOmZ1bmN0aW9uKEEpe3JldHVybiBBPj0yMDAmJkE8MzAwfSxoZWFkZXJzOntjb21tb246e0FjY2VwdDpcImFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKlwifX19O0IuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPXt9fSkpLEIuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLChmdW5jdGlvbihBKXtELmhlYWRlcnNbQV09Qi5tZXJnZShFKX0pKSxBLmV4cG9ydHM9RH0sMjg4OkE9PntBLmV4cG9ydHM9e3ZlcnNpb246XCIwLjI0LjBcIn19LDg0OTpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBnPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxCPTA7QjxnLmxlbmd0aDtCKyspZ1tCXT1hcmd1bWVudHNbQl07cmV0dXJuIEEuYXBwbHkoSSxnKX19fSwzMjc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtmdW5jdGlvbiBDKEEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQSkucmVwbGFjZSgvJTNBL2dpLFwiOlwiKS5yZXBsYWNlKC8lMjQvZyxcIiRcIikucmVwbGFjZSgvJTJDL2dpLFwiLFwiKS5yZXBsYWNlKC8lMjAvZyxcIitcIikucmVwbGFjZSgvJTVCL2dpLFwiW1wiKS5yZXBsYWNlKC8lNUQvZ2ksXCJdXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7aWYoIUkpcmV0dXJuIEE7dmFyIFE7aWYoZylRPWcoSSk7ZWxzZSBpZihCLmlzVVJMU2VhcmNoUGFyYW1zKEkpKVE9SS50b1N0cmluZygpO2Vsc2V7dmFyIEU9W107Qi5mb3JFYWNoKEksKGZ1bmN0aW9uKEEsSSl7bnVsbCE9QSYmKEIuaXNBcnJheShBKT9JKz1cIltdXCI6QT1bQV0sQi5mb3JFYWNoKEEsKGZ1bmN0aW9uKEEpe0IuaXNEYXRlKEEpP0E9QS50b0lTT1N0cmluZygpOkIuaXNPYmplY3QoQSkmJihBPUpTT04uc3RyaW5naWZ5KEEpKSxFLnB1c2goQyhJKStcIj1cIitDKEEpKX0pKSl9KSksUT1FLmpvaW4oXCImXCIpfWlmKFEpe3ZhciBpPUEuaW5kZXhPZihcIiNcIik7LTEhPT1pJiYoQT1BLnNsaWNlKDAsaSkpLEErPSgtMT09PUEuaW5kZXhPZihcIj9cIik/XCI/XCI6XCImXCIpK1F9cmV0dXJuIEF9fSwzMDM6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBJP0EucmVwbGFjZSgvXFwvKyQvLFwiXCIpK1wiL1wiK0kucmVwbGFjZSgvXlxcLysvLFwiXCIpOkF9fSwzNzI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9Qi5pc1N0YW5kYXJkQnJvd3NlckVudigpP3t3cml0ZTpmdW5jdGlvbihBLEksZyxDLFEsRSl7dmFyIGk9W107aS5wdXNoKEErXCI9XCIrZW5jb2RlVVJJQ29tcG9uZW50KEkpKSxCLmlzTnVtYmVyKGcpJiZpLnB1c2goXCJleHBpcmVzPVwiK25ldyBEYXRlKGcpLnRvR01UU3RyaW5nKCkpLEIuaXNTdHJpbmcoQykmJmkucHVzaChcInBhdGg9XCIrQyksQi5pc1N0cmluZyhRKSYmaS5wdXNoKFwiZG9tYWluPVwiK1EpLCEwPT09RSYmaS5wdXNoKFwic2VjdXJlXCIpLGRvY3VtZW50LmNvb2tpZT1pLmpvaW4oXCI7IFwiKX0scmVhZDpmdW5jdGlvbihBKXt2YXIgST1kb2N1bWVudC5jb29raWUubWF0Y2gobmV3IFJlZ0V4cChcIihefDtcXFxccyopKFwiK0ErXCIpPShbXjtdKilcIikpO3JldHVybiBJP2RlY29kZVVSSUNvbXBvbmVudChJWzNdKTpudWxsfSxyZW1vdmU6ZnVuY3Rpb24oQSl7dGhpcy53cml0ZShBLFwiXCIsRGF0ZS5ub3coKS04NjRlNSl9fTp7d3JpdGU6ZnVuY3Rpb24oKXt9LHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKCl7fX19LDc5MzpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybi9eKFthLXpdW2EtelxcZFxcK1xcLVxcLl0qOik/XFwvXFwvL2kudGVzdChBKX19LDI2ODpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBBJiYhMD09PUEuaXNBeGlvc0Vycm9yfX0sOTg1OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT9mdW5jdGlvbigpe3ZhciBBLEk9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO2Z1bmN0aW9uIEMoQSl7dmFyIEI9QTtyZXR1cm4gSSYmKGcuc2V0QXR0cmlidXRlKFwiaHJlZlwiLEIpLEI9Zy5ocmVmKSxnLnNldEF0dHJpYnV0ZShcImhyZWZcIixCKSx7aHJlZjpnLmhyZWYscHJvdG9jb2w6Zy5wcm90b2NvbD9nLnByb3RvY29sLnJlcGxhY2UoLzokLyxcIlwiKTpcIlwiLGhvc3Q6Zy5ob3N0LHNlYXJjaDpnLnNlYXJjaD9nLnNlYXJjaC5yZXBsYWNlKC9eXFw/LyxcIlwiKTpcIlwiLGhhc2g6Zy5oYXNoP2cuaGFzaC5yZXBsYWNlKC9eIy8sXCJcIik6XCJcIixob3N0bmFtZTpnLmhvc3RuYW1lLHBvcnQ6Zy5wb3J0LHBhdGhuYW1lOlwiL1wiPT09Zy5wYXRobmFtZS5jaGFyQXQoMCk/Zy5wYXRobmFtZTpcIi9cIitnLnBhdGhuYW1lfX1yZXR1cm4gQT1DKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxmdW5jdGlvbihJKXt2YXIgZz1CLmlzU3RyaW5nKEkpP0MoSSk6STtyZXR1cm4gZy5wcm90b2NvbD09PUEucHJvdG9jb2wmJmcuaG9zdD09PUEuaG9zdH19KCk6ZnVuY3Rpb24oKXtyZXR1cm4hMH19LDE2OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7Qi5mb3JFYWNoKEEsKGZ1bmN0aW9uKGcsQil7QiE9PUkmJkIudG9VcHBlckNhc2UoKT09PUkudG9VcHBlckNhc2UoKSYmKEFbSV09ZyxkZWxldGUgQVtCXSl9KSl9fSwxMDk6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPVtcImFnZVwiLFwiYXV0aG9yaXphdGlvblwiLFwiY29udGVudC1sZW5ndGhcIixcImNvbnRlbnQtdHlwZVwiLFwiZXRhZ1wiLFwiZXhwaXJlc1wiLFwiZnJvbVwiLFwiaG9zdFwiLFwiaWYtbW9kaWZpZWQtc2luY2VcIixcImlmLXVubW9kaWZpZWQtc2luY2VcIixcImxhc3QtbW9kaWZpZWRcIixcImxvY2F0aW9uXCIsXCJtYXgtZm9yd2FyZHNcIixcInByb3h5LWF1dGhvcml6YXRpb25cIixcInJlZmVyZXJcIixcInJldHJ5LWFmdGVyXCIsXCJ1c2VyLWFnZW50XCJdO0EuZXhwb3J0cz1mdW5jdGlvbihBKXt2YXIgSSxnLFEsRT17fTtyZXR1cm4gQT8oQi5mb3JFYWNoKEEuc3BsaXQoXCJcXG5cIiksKGZ1bmN0aW9uKEEpe2lmKFE9QS5pbmRleE9mKFwiOlwiKSxJPUIudHJpbShBLnN1YnN0cigwLFEpKS50b0xvd2VyQ2FzZSgpLGc9Qi50cmltKEEuc3Vic3RyKFErMSkpLEkpe2lmKEVbSV0mJkMuaW5kZXhPZihJKT49MClyZXR1cm47RVtJXT1cInNldC1jb29raWVcIj09PUk/KEVbSV0/RVtJXTpbXSkuY29uY2F0KFtnXSk6RVtJXT9FW0ldK1wiLCBcIitnOmd9fSkpLEUpOkV9fSw3MTM6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkobnVsbCxJKX19fSw4NzU6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoMjg4KS52ZXJzaW9uLEM9e307W1wib2JqZWN0XCIsXCJib29sZWFuXCIsXCJudW1iZXJcIixcImZ1bmN0aW9uXCIsXCJzdHJpbmdcIixcInN5bWJvbFwiXS5mb3JFYWNoKChmdW5jdGlvbihBLEkpe0NbQV09ZnVuY3Rpb24oZyl7cmV0dXJuIHR5cGVvZiBnPT09QXx8XCJhXCIrKEk8MT9cIm4gXCI6XCIgXCIpK0F9fSkpO3ZhciBRPXt9O0MudHJhbnNpdGlvbmFsPWZ1bmN0aW9uKEEsSSxnKXtmdW5jdGlvbiBDKEEsSSl7cmV0dXJuXCJbQXhpb3MgdlwiK0IrXCJdIFRyYW5zaXRpb25hbCBvcHRpb24gJ1wiK0ErXCInXCIrSSsoZz9cIi4gXCIrZzpcIlwiKX1yZXR1cm4gZnVuY3Rpb24oZyxCLEUpe2lmKCExPT09QSl0aHJvdyBuZXcgRXJyb3IoQyhCLFwiIGhhcyBiZWVuIHJlbW92ZWRcIisoST9cIiBpbiBcIitJOlwiXCIpKSk7cmV0dXJuIEkmJiFRW0JdJiYoUVtCXT0hMCxjb25zb2xlLndhcm4oQyhCLFwiIGhhcyBiZWVuIGRlcHJlY2F0ZWQgc2luY2UgdlwiK0krXCIgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmVhciBmdXR1cmVcIikpKSwhQXx8QShnLEIsRSl9fSxBLmV4cG9ydHM9e2Fzc2VydE9wdGlvbnM6ZnVuY3Rpb24oQSxJLGcpe2lmKFwib2JqZWN0XCIhPXR5cGVvZiBBKXRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb25zIG11c3QgYmUgYW4gb2JqZWN0XCIpO2Zvcih2YXIgQj1PYmplY3Qua2V5cyhBKSxDPUIubGVuZ3RoO0MtLSA+MDspe3ZhciBRPUJbQ10sRT1JW1FdO2lmKEUpe3ZhciBpPUFbUV0sbz12b2lkIDA9PT1pfHxFKGksUSxBKTtpZighMCE9PW8pdGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBcIitRK1wiIG11c3QgYmUgXCIrbyl9ZWxzZSBpZighMCE9PWcpdGhyb3cgRXJyb3IoXCJVbmtub3duIG9wdGlvbiBcIitRKX19LHZhbGlkYXRvcnM6Q319LDg2NzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NDkpLEM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBRKEEpe3JldHVyblwiW29iamVjdCBBcnJheV1cIj09PUMuY2FsbChBKX1mdW5jdGlvbiBFKEEpe3JldHVybiB2b2lkIDA9PT1BfWZ1bmN0aW9uIGkoQSl7cmV0dXJuIG51bGwhPT1BJiZcIm9iamVjdFwiPT10eXBlb2YgQX1mdW5jdGlvbiBvKEEpe2lmKFwiW29iamVjdCBPYmplY3RdXCIhPT1DLmNhbGwoQSkpcmV0dXJuITE7dmFyIEk9T2JqZWN0LmdldFByb3RvdHlwZU9mKEEpO3JldHVybiBudWxsPT09SXx8ST09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gRChBKXtyZXR1cm5cIltvYmplY3QgRnVuY3Rpb25dXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gYShBLEkpe2lmKG51bGwhPUEpaWYoXCJvYmplY3RcIiE9dHlwZW9mIEEmJihBPVtBXSksUShBKSlmb3IodmFyIGc9MCxCPUEubGVuZ3RoO2c8QjtnKyspSS5jYWxsKG51bGwsQVtnXSxnLEEpO2Vsc2UgZm9yKHZhciBDIGluIEEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEEsQykmJkkuY2FsbChudWxsLEFbQ10sQyxBKX1BLmV4cG9ydHM9e2lzQXJyYXk6USxpc0FycmF5QnVmZmVyOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBBcnJheUJ1ZmZlcl1cIj09PUMuY2FsbChBKX0saXNCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuIG51bGwhPT1BJiYhRShBKSYmbnVsbCE9PUEuY29uc3RydWN0b3ImJiFFKEEuY29uc3RydWN0b3IpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZBLmNvbnN0cnVjdG9yLmlzQnVmZmVyKEEpfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBGb3JtRGF0YSYmQSBpbnN0YW5jZW9mIEZvcm1EYXRhfSxpc0FycmF5QnVmZmVyVmlldzpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgQXJyYXlCdWZmZXImJkFycmF5QnVmZmVyLmlzVmlldz9BcnJheUJ1ZmZlci5pc1ZpZXcoQSk6QSYmQS5idWZmZXImJkEuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9LGlzU3RyaW5nOmZ1bmN0aW9uKEEpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBBfSxpc051bWJlcjpmdW5jdGlvbihBKXtyZXR1cm5cIm51bWJlclwiPT10eXBlb2YgQX0saXNPYmplY3Q6aSxpc1BsYWluT2JqZWN0Om8saXNVbmRlZmluZWQ6RSxpc0RhdGU6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IERhdGVdXCI9PT1DLmNhbGwoQSl9LGlzRmlsZTpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgRmlsZV1cIj09PUMuY2FsbChBKX0saXNCbG9iOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBCbG9iXVwiPT09Qy5jYWxsKEEpfSxpc0Z1bmN0aW9uOkQsaXNTdHJlYW06ZnVuY3Rpb24oQSl7cmV0dXJuIGkoQSkmJkQoQS5waXBlKX0saXNVUkxTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyYmQSBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtc30saXNTdGFuZGFyZEJyb3dzZXJFbnY6ZnVuY3Rpb24oKXtyZXR1cm4oXCJ1bmRlZmluZWRcIj09dHlwZW9mIG5hdmlnYXRvcnx8XCJSZWFjdE5hdGl2ZVwiIT09bmF2aWdhdG9yLnByb2R1Y3QmJlwiTmF0aXZlU2NyaXB0XCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOU1wiIT09bmF2aWdhdG9yLnByb2R1Y3QpJiZcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnR9LGZvckVhY2g6YSxtZXJnZTpmdW5jdGlvbiBBKCl7dmFyIEk9e307ZnVuY3Rpb24gZyhnLEIpe28oSVtCXSkmJm8oZyk/SVtCXT1BKElbQl0sZyk6byhnKT9JW0JdPUEoe30sZyk6UShnKT9JW0JdPWcuc2xpY2UoKTpJW0JdPWd9Zm9yKHZhciBCPTAsQz1hcmd1bWVudHMubGVuZ3RoO0I8QztCKyspYShhcmd1bWVudHNbQl0sZyk7cmV0dXJuIEl9LGV4dGVuZDpmdW5jdGlvbihBLEksZyl7cmV0dXJuIGEoSSwoZnVuY3Rpb24oSSxDKXtBW0NdPWcmJlwiZnVuY3Rpb25cIj09dHlwZW9mIEk/QihJLGcpOkl9KSksQX0sdHJpbTpmdW5jdGlvbihBKXtyZXR1cm4gQS50cmltP0EudHJpbSgpOkEucmVwbGFjZSgvXlxccyt8XFxzKyQvZyxcIlwiKX0sc3RyaXBCT006ZnVuY3Rpb24oQSl7cmV0dXJuIDY1Mjc5PT09QS5jaGFyQ29kZUF0KDApJiYoQT1BLnNsaWNlKDEpKSxBfX19LDY2NjpBPT57dmFyIEk9ZnVuY3Rpb24oQSl7XCJ1c2Ugc3RyaWN0XCI7dmFyIEksZz1PYmplY3QucHJvdG90eXBlLEI9Zy5oYXNPd25Qcm9wZXJ0eSxDPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbD9TeW1ib2w6e30sUT1DLml0ZXJhdG9yfHxcIkBAaXRlcmF0b3JcIixFPUMuYXN5bmNJdGVyYXRvcnx8XCJAQGFzeW5jSXRlcmF0b3JcIixpPUMudG9TdHJpbmdUYWd8fFwiQEB0b1N0cmluZ1RhZ1wiO2Z1bmN0aW9uIG8oQSxJLGcpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLHt2YWx1ZTpnLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSksQVtJXX10cnl7byh7fSxcIlwiKX1jYXRjaChBKXtvPWZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gQVtJXT1nfX1mdW5jdGlvbiBEKEEsSSxnLEIpe3ZhciBDPUkmJkkucHJvdG90eXBlIGluc3RhbmNlb2YgUj9JOlIsUT1PYmplY3QuY3JlYXRlKEMucHJvdG90eXBlKSxFPW5ldyBZKEJ8fFtdKTtyZXR1cm4gUS5faW52b2tlPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQj13O3JldHVybiBmdW5jdGlvbihDLFEpe2lmKEI9PT1HKXRocm93IG5ldyBFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmdcIik7aWYoQj09PWgpe2lmKFwidGhyb3dcIj09PUMpdGhyb3cgUTtyZXR1cm4gSigpfWZvcihnLm1ldGhvZD1DLGcuYXJnPVE7Oyl7dmFyIEU9Zy5kZWxlZ2F0ZTtpZihFKXt2YXIgaT1rKEUsZyk7aWYoaSl7aWYoaT09PXMpY29udGludWU7cmV0dXJuIGl9fWlmKFwibmV4dFwiPT09Zy5tZXRob2QpZy5zZW50PWcuX3NlbnQ9Zy5hcmc7ZWxzZSBpZihcInRocm93XCI9PT1nLm1ldGhvZCl7aWYoQj09PXcpdGhyb3cgQj1oLGcuYXJnO2cuZGlzcGF0Y2hFeGNlcHRpb24oZy5hcmcpfWVsc2VcInJldHVyblwiPT09Zy5tZXRob2QmJmcuYWJydXB0KFwicmV0dXJuXCIsZy5hcmcpO0I9Rzt2YXIgbz1hKEEsSSxnKTtpZihcIm5vcm1hbFwiPT09by50eXBlKXtpZihCPWcuZG9uZT9oOkYsby5hcmc9PT1zKWNvbnRpbnVlO3JldHVybnt2YWx1ZTpvLmFyZyxkb25lOmcuZG9uZX19XCJ0aHJvd1wiPT09by50eXBlJiYoQj1oLGcubWV0aG9kPVwidGhyb3dcIixnLmFyZz1vLmFyZyl9fX0oQSxnLEUpLFF9ZnVuY3Rpb24gYShBLEksZyl7dHJ5e3JldHVybnt0eXBlOlwibm9ybWFsXCIsYXJnOkEuY2FsbChJLGcpfX1jYXRjaChBKXtyZXR1cm57dHlwZTpcInRocm93XCIsYXJnOkF9fX1BLndyYXA9RDt2YXIgdz1cInN1c3BlbmRlZFN0YXJ0XCIsRj1cInN1c3BlbmRlZFlpZWxkXCIsRz1cImV4ZWN1dGluZ1wiLGg9XCJjb21wbGV0ZWRcIixzPXt9O2Z1bmN0aW9uIFIoKXt9ZnVuY3Rpb24gVSgpe31mdW5jdGlvbiB5KCl7fXZhciB0PXt9O28odCxRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpO3ZhciBTPU9iamVjdC5nZXRQcm90b3R5cGVPZixNPVMmJlMoUyhlKFtdKSkpO00mJk0hPT1nJiZCLmNhbGwoTSxRKSYmKHQ9TSk7dmFyIG49eS5wcm90b3R5cGU9Ui5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0KTtmdW5jdGlvbiBjKEEpe1tcIm5leHRcIixcInRocm93XCIsXCJyZXR1cm5cIl0uZm9yRWFjaCgoZnVuY3Rpb24oSSl7byhBLEksKGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9pbnZva2UoSSxBKX0pKX0pKX1mdW5jdGlvbiByKEEsSSl7ZnVuY3Rpb24gZyhDLFEsRSxpKXt2YXIgbz1hKEFbQ10sQSxRKTtpZihcInRocm93XCIhPT1vLnR5cGUpe3ZhciBEPW8uYXJnLHc9RC52YWx1ZTtyZXR1cm4gdyYmXCJvYmplY3RcIj09dHlwZW9mIHcmJkIuY2FsbCh3LFwiX19hd2FpdFwiKT9JLnJlc29sdmUody5fX2F3YWl0KS50aGVuKChmdW5jdGlvbihBKXtnKFwibmV4dFwiLEEsRSxpKX0pLChmdW5jdGlvbihBKXtnKFwidGhyb3dcIixBLEUsaSl9KSk6SS5yZXNvbHZlKHcpLnRoZW4oKGZ1bmN0aW9uKEEpe0QudmFsdWU9QSxFKEQpfSksKGZ1bmN0aW9uKEEpe3JldHVybiBnKFwidGhyb3dcIixBLEUsaSl9KSl9aShvLmFyZyl9dmFyIEM7dGhpcy5faW52b2tlPWZ1bmN0aW9uKEEsQil7ZnVuY3Rpb24gUSgpe3JldHVybiBuZXcgSSgoZnVuY3Rpb24oSSxDKXtnKEEsQixJLEMpfSkpfXJldHVybiBDPUM/Qy50aGVuKFEsUSk6USgpfX1mdW5jdGlvbiBrKEEsZyl7dmFyIEI9QS5pdGVyYXRvcltnLm1ldGhvZF07aWYoQj09PUkpe2lmKGcuZGVsZWdhdGU9bnVsbCxcInRocm93XCI9PT1nLm1ldGhvZCl7aWYoQS5pdGVyYXRvci5yZXR1cm4mJihnLm1ldGhvZD1cInJldHVyblwiLGcuYXJnPUksayhBLGcpLFwidGhyb3dcIj09PWcubWV0aG9kKSlyZXR1cm4gcztnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9bmV3IFR5cGVFcnJvcihcIlRoZSBpdGVyYXRvciBkb2VzIG5vdCBwcm92aWRlIGEgJ3Rocm93JyBtZXRob2RcIil9cmV0dXJuIHN9dmFyIEM9YShCLEEuaXRlcmF0b3IsZy5hcmcpO2lmKFwidGhyb3dcIj09PUMudHlwZSlyZXR1cm4gZy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPUMuYXJnLGcuZGVsZWdhdGU9bnVsbCxzO3ZhciBRPUMuYXJnO3JldHVybiBRP1EuZG9uZT8oZ1tBLnJlc3VsdE5hbWVdPVEudmFsdWUsZy5uZXh0PUEubmV4dExvYyxcInJldHVyblwiIT09Zy5tZXRob2QmJihnLm1ldGhvZD1cIm5leHRcIixnLmFyZz1JKSxnLmRlbGVnYXRlPW51bGwscyk6UTooZy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdFwiKSxnLmRlbGVnYXRlPW51bGwscyl9ZnVuY3Rpb24gSyhBKXt2YXIgST17dHJ5TG9jOkFbMF19OzEgaW4gQSYmKEkuY2F0Y2hMb2M9QVsxXSksMiBpbiBBJiYoSS5maW5hbGx5TG9jPUFbMl0sSS5hZnRlckxvYz1BWzNdKSx0aGlzLnRyeUVudHJpZXMucHVzaChJKX1mdW5jdGlvbiBOKEEpe3ZhciBJPUEuY29tcGxldGlvbnx8e307SS50eXBlPVwibm9ybWFsXCIsZGVsZXRlIEkuYXJnLEEuY29tcGxldGlvbj1JfWZ1bmN0aW9uIFkoQSl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOlwicm9vdFwifV0sQS5mb3JFYWNoKEssdGhpcyksdGhpcy5yZXNldCghMCl9ZnVuY3Rpb24gZShBKXtpZihBKXt2YXIgZz1BW1FdO2lmKGcpcmV0dXJuIGcuY2FsbChBKTtpZihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLm5leHQpcmV0dXJuIEE7aWYoIWlzTmFOKEEubGVuZ3RoKSl7dmFyIEM9LTEsRT1mdW5jdGlvbiBnKCl7Zm9yKDsrK0M8QS5sZW5ndGg7KWlmKEIuY2FsbChBLEMpKXJldHVybiBnLnZhbHVlPUFbQ10sZy5kb25lPSExLGc7cmV0dXJuIGcudmFsdWU9SSxnLmRvbmU9ITAsZ307cmV0dXJuIEUubmV4dD1FfX1yZXR1cm57bmV4dDpKfX1mdW5jdGlvbiBKKCl7cmV0dXJue3ZhbHVlOkksZG9uZTohMH19cmV0dXJuIFUucHJvdG90eXBlPXksbyhuLFwiY29uc3RydWN0b3JcIix5KSxvKHksXCJjb25zdHJ1Y3RvclwiLFUpLFUuZGlzcGxheU5hbWU9byh5LGksXCJHZW5lcmF0b3JGdW5jdGlvblwiKSxBLmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24oQSl7dmFyIEk9XCJmdW5jdGlvblwiPT10eXBlb2YgQSYmQS5jb25zdHJ1Y3RvcjtyZXR1cm4hIUkmJihJPT09VXx8XCJHZW5lcmF0b3JGdW5jdGlvblwiPT09KEkuZGlzcGxheU5hbWV8fEkubmFtZSkpfSxBLm1hcms9ZnVuY3Rpb24oQSl7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YoQSx5KTooQS5fX3Byb3RvX189eSxvKEEsaSxcIkdlbmVyYXRvckZ1bmN0aW9uXCIpKSxBLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4pLEF9LEEuYXdyYXA9ZnVuY3Rpb24oQSl7cmV0dXJue19fYXdhaXQ6QX19LGMoci5wcm90b3R5cGUpLG8oci5wcm90b3R5cGUsRSwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxBLkFzeW5jSXRlcmF0b3I9cixBLmFzeW5jPWZ1bmN0aW9uKEksZyxCLEMsUSl7dm9pZCAwPT09USYmKFE9UHJvbWlzZSk7dmFyIEU9bmV3IHIoRChJLGcsQixDKSxRKTtyZXR1cm4gQS5pc0dlbmVyYXRvckZ1bmN0aW9uKGcpP0U6RS5uZXh0KCkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIEEuZG9uZT9BLnZhbHVlOkUubmV4dCgpfSkpfSxjKG4pLG8obixpLFwiR2VuZXJhdG9yXCIpLG8obixRLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLG8obixcInRvU3RyaW5nXCIsKGZ1bmN0aW9uKCl7cmV0dXJuXCJbb2JqZWN0IEdlbmVyYXRvcl1cIn0pKSxBLmtleXM9ZnVuY3Rpb24oQSl7dmFyIEk9W107Zm9yKHZhciBnIGluIEEpSS5wdXNoKGcpO3JldHVybiBJLnJldmVyc2UoKSxmdW5jdGlvbiBnKCl7Zm9yKDtJLmxlbmd0aDspe3ZhciBCPUkucG9wKCk7aWYoQiBpbiBBKXJldHVybiBnLnZhbHVlPUIsZy5kb25lPSExLGd9cmV0dXJuIGcuZG9uZT0hMCxnfX0sQS52YWx1ZXM9ZSxZLnByb3RvdHlwZT17Y29uc3RydWN0b3I6WSxyZXNldDpmdW5jdGlvbihBKXtpZih0aGlzLnByZXY9MCx0aGlzLm5leHQ9MCx0aGlzLnNlbnQ9dGhpcy5fc2VudD1JLHRoaXMuZG9uZT0hMSx0aGlzLmRlbGVnYXRlPW51bGwsdGhpcy5tZXRob2Q9XCJuZXh0XCIsdGhpcy5hcmc9SSx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChOKSwhQSlmb3IodmFyIGcgaW4gdGhpcylcInRcIj09PWcuY2hhckF0KDApJiZCLmNhbGwodGhpcyxnKSYmIWlzTmFOKCtnLnNsaWNlKDEpKSYmKHRoaXNbZ109SSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmRvbmU9ITA7dmFyIEE9dGhpcy50cnlFbnRyaWVzWzBdLmNvbXBsZXRpb247aWYoXCJ0aHJvd1wiPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVybiB0aGlzLnJ2YWx9LGRpc3BhdGNoRXhjZXB0aW9uOmZ1bmN0aW9uKEEpe2lmKHRoaXMuZG9uZSl0aHJvdyBBO3ZhciBnPXRoaXM7ZnVuY3Rpb24gQyhCLEMpe3JldHVybiBpLnR5cGU9XCJ0aHJvd1wiLGkuYXJnPUEsZy5uZXh0PUIsQyYmKGcubWV0aG9kPVwibmV4dFwiLGcuYXJnPUkpLCEhQ31mb3IodmFyIFE9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO1E+PTA7LS1RKXt2YXIgRT10aGlzLnRyeUVudHJpZXNbUV0saT1FLmNvbXBsZXRpb247aWYoXCJyb290XCI9PT1FLnRyeUxvYylyZXR1cm4gQyhcImVuZFwiKTtpZihFLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgbz1CLmNhbGwoRSxcImNhdGNoTG9jXCIpLEQ9Qi5jYWxsKEUsXCJmaW5hbGx5TG9jXCIpO2lmKG8mJkQpe2lmKHRoaXMucHJldjxFLmNhdGNoTG9jKXJldHVybiBDKEUuY2F0Y2hMb2MsITApO2lmKHRoaXMucHJldjxFLmZpbmFsbHlMb2MpcmV0dXJuIEMoRS5maW5hbGx5TG9jKX1lbHNlIGlmKG8pe2lmKHRoaXMucHJldjxFLmNhdGNoTG9jKXJldHVybiBDKEUuY2F0Y2hMb2MsITApfWVsc2V7aWYoIUQpdGhyb3cgbmV3IEVycm9yKFwidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHlcIik7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2c+PTA7LS1nKXt2YXIgQz10aGlzLnRyeUVudHJpZXNbZ107aWYoQy50cnlMb2M8PXRoaXMucHJldiYmQi5jYWxsKEMsXCJmaW5hbGx5TG9jXCIpJiZ0aGlzLnByZXY8Qy5maW5hbGx5TG9jKXt2YXIgUT1DO2JyZWFrfX1RJiYoXCJicmVha1wiPT09QXx8XCJjb250aW51ZVwiPT09QSkmJlEudHJ5TG9jPD1JJiZJPD1RLmZpbmFsbHlMb2MmJihRPW51bGwpO3ZhciBFPVE/US5jb21wbGV0aW9uOnt9O3JldHVybiBFLnR5cGU9QSxFLmFyZz1JLFE/KHRoaXMubWV0aG9kPVwibmV4dFwiLHRoaXMubmV4dD1RLmZpbmFsbHlMb2Mscyk6dGhpcy5jb21wbGV0ZShFKX0sY29tcGxldGU6ZnVuY3Rpb24oQSxJKXtpZihcInRocm93XCI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuXCJicmVha1wiPT09QS50eXBlfHxcImNvbnRpbnVlXCI9PT1BLnR5cGU/dGhpcy5uZXh0PUEuYXJnOlwicmV0dXJuXCI9PT1BLnR5cGU/KHRoaXMucnZhbD10aGlzLmFyZz1BLmFyZyx0aGlzLm1ldGhvZD1cInJldHVyblwiLHRoaXMubmV4dD1cImVuZFwiKTpcIm5vcm1hbFwiPT09QS50eXBlJiZJJiYodGhpcy5uZXh0PUkpLHN9LGZpbmlzaDpmdW5jdGlvbihBKXtmb3IodmFyIEk9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO0k+PTA7LS1JKXt2YXIgZz10aGlzLnRyeUVudHJpZXNbSV07aWYoZy5maW5hbGx5TG9jPT09QSlyZXR1cm4gdGhpcy5jb21wbGV0ZShnLmNvbXBsZXRpb24sZy5hZnRlckxvYyksTihnKSxzfX0sY2F0Y2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtJPj0wOy0tSSl7dmFyIGc9dGhpcy50cnlFbnRyaWVzW0ldO2lmKGcudHJ5TG9jPT09QSl7dmFyIEI9Zy5jb21wbGV0aW9uO2lmKFwidGhyb3dcIj09PUIudHlwZSl7dmFyIEM9Qi5hcmc7TihnKX1yZXR1cm4gQ319dGhyb3cgbmV3IEVycm9yKFwiaWxsZWdhbCBjYXRjaCBhdHRlbXB0XCIpfSxkZWxlZ2F0ZVlpZWxkOmZ1bmN0aW9uKEEsZyxCKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZT17aXRlcmF0b3I6ZShBKSxyZXN1bHROYW1lOmcsbmV4dExvYzpCfSxcIm5leHRcIj09PXRoaXMubWV0aG9kJiYodGhpcy5hcmc9SSksc319LEF9KEEuZXhwb3J0cyk7dHJ5e3JlZ2VuZXJhdG9yUnVudGltZT1JfWNhdGNoKEEpe1wib2JqZWN0XCI9PXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXMucmVnZW5lcmF0b3JSdW50aW1lPUk6RnVuY3Rpb24oXCJyXCIsXCJyZWdlbmVyYXRvclJ1bnRpbWUgPSByXCIpKEkpfX0sNjU0OigpPT57fSwyMzE6KCk9Pnt9LDcwMzooKT0+e319LEk9e307ZnVuY3Rpb24gZyhCKXt2YXIgQz1JW0JdO2lmKHZvaWQgMCE9PUMpcmV0dXJuIEMuZXhwb3J0czt2YXIgUT1JW0JdPXtleHBvcnRzOnt9fTtyZXR1cm4gQVtCXShRLFEuZXhwb3J0cyxnKSxRLmV4cG9ydHN9Zy5uPUE9Pnt2YXIgST1BJiZBLl9fZXNNb2R1bGU/KCk9PkEuZGVmYXVsdDooKT0+QTtyZXR1cm4gZy5kKEkse2E6SX0pLEl9LGcuZD0oQSxJKT0+e2Zvcih2YXIgQiBpbiBJKWcubyhJLEIpJiYhZy5vKEEsQikmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEIse2VudW1lcmFibGU6ITAsZ2V0OklbQl19KX0sZy5nPWZ1bmN0aW9uKCl7aWYoXCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7dHJ5e3JldHVybiB0aGlzfHxuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpfWNhdGNoKEEpe2lmKFwib2JqZWN0XCI9PXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvd319KCksZy5vPShBLEkpPT5PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQSxJKTt2YXIgQj17fTtyZXR1cm4oKCk9PntcInVzZSBzdHJpY3RcIjtmdW5jdGlvbiBBKEEsSSxnLEIsQyxRLEUpe3RyeXt2YXIgaT1BW1FdKEUpLG89aS52YWx1ZX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfWkuZG9uZT9JKG8pOlByb21pc2UucmVzb2x2ZShvKS50aGVuKEIsQyl9ZnVuY3Rpb24gSShJKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz10aGlzLEI9YXJndW1lbnRzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oQyxRKXt2YXIgRT1JLmFwcGx5KGcsQik7ZnVuY3Rpb24gaShJKXtBKEUsQyxRLGksbyxcIm5leHRcIixJKX1mdW5jdGlvbiBvKEkpe0EoRSxDLFEsaSxvLFwidGhyb3dcIixJKX1pKHZvaWQgMCl9KSl9fWZ1bmN0aW9uIEMoQSxJKXtpZighKEEgaW5zdGFuY2VvZiBJKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIFEoQSxJKXtmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKyl7dmFyIEI9SVtnXTtCLmVudW1lcmFibGU9Qi5lbnVtZXJhYmxlfHwhMSxCLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiBCJiYoQi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQi5rZXksQil9fWZ1bmN0aW9uIEUoQSxJLGcpe3JldHVybiBJJiZRKEEucHJvdG90eXBlLEkpLGcmJlEoQSxnKSxBfWcuZChCLHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9Zyg3NTcpLG89Zy5uKGkpO2Z1bmN0aW9uIEQoQSl7cmV0dXJuIEQ9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZcInN5bWJvbFwiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKEEpe3JldHVybiB0eXBlb2YgQX06ZnVuY3Rpb24oQSl7cmV0dXJuIEEmJlwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmQS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmQSE9PVN5bWJvbC5wcm90b3R5cGU/XCJzeW1ib2xcIjp0eXBlb2YgQX0sRChBKX12YXIgYSx3PShhPShhPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQuY3VycmVudFNjcmlwdD9kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYzp2b2lkIDApfHxcIi9pbmRleC5qc1wiLGZ1bmN0aW9uKEEpe0E9dm9pZCAwIT09KEE9QXx8e30pP0E6e307dmFyIEksQj17fTtmb3IoSSBpbiBBKUEuaGFzT3duUHJvcGVydHkoSSkmJihCW0ldPUFbSV0pO3ZhciBDPVtdLFE9XCIuL3RoaXMucHJvZ3JhbVwiLEU9ZnVuY3Rpb24oQSxJKXt0aHJvdyBJfSxpPSExLG89ITEsdz0hMSxGPSExO2k9XCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2Ygd2luZG93P1widW5kZWZpbmVkXCI6RCh3aW5kb3cpKSxvPVwiZnVuY3Rpb25cIj09dHlwZW9mIGltcG9ydFNjcmlwdHMsdz1cIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBwcm9jZXNzP1widW5kZWZpbmVkXCI6RChwcm9jZXNzKSkmJlwib2JqZWN0XCI9PT1EKHByb2Nlc3MudmVyc2lvbnMpJiZcInN0cmluZ1wiPT10eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlLEY9IWkmJiF3JiYhbzt2YXIgRyxoLHMsUixVPVwiXCI7ZnVuY3Rpb24geShJKXtyZXR1cm4gQS5sb2NhdGVGaWxlP0EubG9jYXRlRmlsZShJLFUpOlUrSX13PyhVPW8/Zyg3MDMpLmRpcm5hbWUoVSkrXCIvXCI6XCIvL1wiLEc9ZnVuY3Rpb24oQSxJKXt2YXIgQj1qZyhBKTtyZXR1cm4gQj9JP0I6Qi50b1N0cmluZygpOihzfHwocz1nKDIzMSkpLFJ8fChSPWcoNzAzKSksQT1SLm5vcm1hbGl6ZShBKSxzLnJlYWRGaWxlU3luYyhBLEk/bnVsbDpcInV0ZjhcIikpfSxoPWZ1bmN0aW9uKEEpe3ZhciBJPUcoQSwhMCk7cmV0dXJuIEkuYnVmZmVyfHwoST1uZXcgVWludDhBcnJheShJKSksSChJLmJ1ZmZlciksSX0scHJvY2Vzcy5hcmd2Lmxlbmd0aD4xJiYoUT1wcm9jZXNzLmFyZ3ZbMV0ucmVwbGFjZSgvXFxcXC9nLFwiL1wiKSksQz1wcm9jZXNzLmFyZ3Yuc2xpY2UoMikscHJvY2Vzcy5vbihcInVuY2F1Z2h0RXhjZXB0aW9uXCIsKGZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIE5CKSl0aHJvdyBBfSkpLHByb2Nlc3Mub24oXCJ1bmhhbmRsZWRSZWplY3Rpb25cIixKQSksRT1mdW5jdGlvbihBKXtwcm9jZXNzLmV4aXQoQSl9LEEuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVyblwiW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF1cIn0pOkY/KFwidW5kZWZpbmVkXCIhPXR5cGVvZiByZWFkJiYoRz1mdW5jdGlvbihBKXt2YXIgST1qZyhBKTtyZXR1cm4gST9WZyhJKTpyZWFkKEEpfSksaD1mdW5jdGlvbihBKXt2YXIgSTtyZXR1cm4oST1qZyhBKSk/STpcImZ1bmN0aW9uXCI9PXR5cGVvZiByZWFkYnVmZmVyP25ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoQSkpOihIKFwib2JqZWN0XCI9PT1EKEk9cmVhZChBLFwiYmluYXJ5XCIpKSksSSl9LFwidW5kZWZpbmVkXCIhPXR5cGVvZiBzY3JpcHRBcmdzP0M9c2NyaXB0QXJnczp2b2lkIDAhPT1hcmd1bWVudHMmJihDPWFyZ3VtZW50cyksXCJmdW5jdGlvblwiPT10eXBlb2YgcXVpdCYmKEU9ZnVuY3Rpb24oQSl7cXVpdChBKX0pLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBwcmludCYmKFwidW5kZWZpbmVkXCI9PXR5cGVvZiBjb25zb2xlJiYoY29uc29sZT17fSksY29uc29sZS5sb2c9cHJpbnQsY29uc29sZS53YXJuPWNvbnNvbGUuZXJyb3I9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByaW50RXJyP3ByaW50RXJyOnByaW50KSk6KGl8fG8pJiYobz9VPXNlbGYubG9jYXRpb24uaHJlZjpkb2N1bWVudC5jdXJyZW50U2NyaXB0JiYoVT1kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYyksYSYmKFU9YSksVT0wIT09VS5pbmRleE9mKFwiYmxvYjpcIik/VS5zdWJzdHIoMCxVLmxhc3RJbmRleE9mKFwiL1wiKSsxKTpcIlwiLEc9ZnVuY3Rpb24oQSl7dHJ5e3ZhciBJPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gSS5vcGVuKFwiR0VUXCIsQSwhMSksSS5zZW5kKG51bGwpLEkucmVzcG9uc2VUZXh0fWNhdGNoKEkpe3ZhciBnPWpnKEEpO2lmKGcpcmV0dXJuIFZnKGcpO3Rocm93IEl9fSxvJiYoaD1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXCJHRVRcIixBLCExKSxJLnJlc3BvbnNlVHlwZT1cImFycmF5YnVmZmVyXCIsSS5zZW5kKG51bGwpLG5ldyBVaW50OEFycmF5KEkucmVzcG9uc2UpfWNhdGNoKEkpe3ZhciBnPWpnKEEpO2lmKGcpcmV0dXJuIGc7dGhyb3cgSX19KSk7dmFyIHQ9QS5wcmludHx8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSxTPUEucHJpbnRFcnJ8fGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpO2ZvcihJIGluIEIpQi5oYXNPd25Qcm9wZXJ0eShJKSYmKEFbSV09QltJXSk7ZnVuY3Rpb24gTShBKXt2YXIgST1BQVtpQT4+Ml0sZz1JK0ErMTUmLTE2O3JldHVybiBnPlNnKCkmJkpBKCksQUFbaUE+PjJdPWcsSX1CPW51bGwsQS5hcmd1bWVudHMmJihDPUEuYXJndW1lbnRzKSxBLnRoaXNQcm9ncmFtJiYoUT1BLnRoaXNQcm9ncmFtKSxBLnF1aXQmJihFPUEucXVpdCk7dmFyIG4sYyxyLGs9e1wiZjY0LXJlbVwiOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEElSX0sZGVidWdnZXI6ZnVuY3Rpb24oKXt9fSxLPShuZXcgQXJyYXkoMCksMCksTj1mdW5jdGlvbihBKXtLPUF9LFk9ZnVuY3Rpb24oKXtyZXR1cm4gS307QS53YXNtQmluYXJ5JiYobj1BLndhc21CaW5hcnkpLEEubm9FeGl0UnVudGltZSYmKGM9QS5ub0V4aXRSdW50aW1lKSxcIm9iamVjdFwiIT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBXZWJBc3NlbWJseT9cInVuZGVmaW5lZFwiOkQoV2ViQXNzZW1ibHkpKSYmUyhcIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWRcIik7dmFyIGU9bmV3IFdlYkFzc2VtYmx5LlRhYmxlKHtpbml0aWFsOjg3OCxtYXhpbXVtOjg3OCxlbGVtZW50OlwiYW55ZnVuY1wifSksSj0hMTtmdW5jdGlvbiBIKEEsSSl7QXx8SkEoXCJBc3NlcnRpb24gZmFpbGVkOiBcIitJKX1mdW5jdGlvbiBMKEEpe3JldHVybiBoQT9SQihBKTpNKEEpfXZhciBxPVwidW5kZWZpbmVkXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXCJ1dGY4XCIpOnZvaWQgMDtmdW5jdGlvbiBkKEEsSSxnKXtmb3IodmFyIEI9SStnLEM9STtBW0NdJiYhKEM+PUIpOykrK0M7aWYoQy1JPjE2JiZBLnN1YmFycmF5JiZxKXJldHVybiBxLmRlY29kZShBLnN1YmFycmF5KEksQykpO2Zvcih2YXIgUT1cIlwiO0k8Qzspe3ZhciBFPUFbSSsrXTtpZigxMjgmRSl7dmFyIGk9NjMmQVtJKytdO2lmKDE5MiE9KDIyNCZFKSl7dmFyIG89NjMmQVtJKytdO2lmKChFPTIyND09KDI0MCZFKT8oMTUmRSk8PDEyfGk8PDZ8bzooNyZFKTw8MTh8aTw8MTJ8bzw8Nnw2MyZBW0krK10pPDY1NTM2KVErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSk7ZWxzZXt2YXIgRD1FLTY1NTM2O1ErPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8RD4+MTAsNTYzMjB8MTAyMyZEKX19ZWxzZSBRKz1TdHJpbmcuZnJvbUNoYXJDb2RlKCgzMSZFKTw8NnxpKX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoRSl9cmV0dXJuIFF9ZnVuY3Rpb24gZihBLEkpe3JldHVybiBBP2QoeixBLEkpOlwiXCJ9ZnVuY3Rpb24gbChBLEksZyxCKXtpZighKEI+MCkpcmV0dXJuIDA7Zm9yKHZhciBDPWcsUT1nK0ItMSxFPTA7RTxBLmxlbmd0aDsrK0Upe3ZhciBpPUEuY2hhckNvZGVBdChFKTtpZihpPj01NTI5NiYmaTw9NTczNDMmJihpPTY1NTM2KygoMTAyMyZpKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrRSkpLGk8PTEyNyl7aWYoZz49USlicmVhaztJW2crK109aX1lbHNlIGlmKGk8PTIwNDcpe2lmKGcrMT49USlicmVhaztJW2crK109MTkyfGk+PjYsSVtnKytdPTEyOHw2MyZpfWVsc2UgaWYoaTw9NjU1MzUpe2lmKGcrMj49USlicmVhaztJW2crK109MjI0fGk+PjEyLElbZysrXT0xMjh8aT4+NiY2MyxJW2crK109MTI4fDYzJml9ZWxzZXtpZihnKzM+PVEpYnJlYWs7SVtnKytdPTI0MHxpPj4xOCxJW2crK109MTI4fGk+PjEyJjYzLElbZysrXT0xMjh8aT4+NiY2MyxJW2crK109MTI4fDYzJml9fXJldHVybiBJW2ddPTAsZy1DfWZ1bmN0aW9uIHUoQSxJLGcpe3JldHVybiBsKEEseixJLGcpfWZ1bmN0aW9uIFcoQSl7Zm9yKHZhciBJPTAsZz0wO2c8QS5sZW5ndGg7KytnKXt2YXIgQj1BLmNoYXJDb2RlQXQoZyk7Qj49NTUyOTYmJkI8PTU3MzQzJiYoQj02NTUzNisoKDEwMjMmQik8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK2cpKSxCPD0xMjc/KytJOkkrPUI8PTIwNDc/MjpCPD02NTUzNT8zOjR9cmV0dXJuIEl9dmFyIHA9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcihcInV0Zi0xNmxlXCIpOnZvaWQgMDtmdW5jdGlvbiBaKEEpe2Zvcih2YXIgST1BLGc9ST4+MTtfW2ddOykrK2c7aWYoKEk9Zzw8MSktQT4zMiYmcClyZXR1cm4gcC5kZWNvZGUoei5zdWJhcnJheShBLEkpKTtmb3IodmFyIEI9MCxDPVwiXCI7Oyl7dmFyIFE9X1tBKzIqQj4+MV07aWYoMD09USlyZXR1cm4gQzsrK0IsQys9U3RyaW5nLmZyb21DaGFyQ29kZShRKX19ZnVuY3Rpb24gYihBLEksZyl7aWYodm9pZCAwPT09ZyYmKGc9MjE0NzQ4MzY0NyksZzwyKXJldHVybiAwO2Zvcih2YXIgQj1JLEM9KGctPTIpPDIqQS5sZW5ndGg/Zy8yOkEubGVuZ3RoLFE9MDtRPEM7KytRKXt2YXIgRT1BLmNoYXJDb2RlQXQoUSk7X1tJPj4xXT1FLEkrPTJ9cmV0dXJuIF9bST4+MV09MCxJLUJ9ZnVuY3Rpb24geChBKXtyZXR1cm4gMipBLmxlbmd0aH1mdW5jdGlvbiBtKEEpe2Zvcih2YXIgST0wLGc9XCJcIjs7KXt2YXIgQj1BQVtBKzQqST4+Ml07aWYoMD09QilyZXR1cm4gZztpZigrK0ksQj49NjU1MzYpe3ZhciBDPUItNjU1MzY7Zys9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxDPj4xMCw1NjMyMHwxMDIzJkMpfWVsc2UgZys9U3RyaW5nLmZyb21DaGFyQ29kZShCKX19ZnVuY3Rpb24gWChBLEksZyl7aWYodm9pZCAwPT09ZyYmKGc9MjE0NzQ4MzY0NyksZzw0KXJldHVybiAwO2Zvcih2YXIgQj1JLEM9QitnLTQsUT0wO1E8QS5sZW5ndGg7KytRKXt2YXIgRT1BLmNoYXJDb2RlQXQoUSk7aWYoRT49NTUyOTYmJkU8PTU3MzQzJiYoRT02NTUzNisoKDEwMjMmRSk8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK1EpKSxBQVtJPj4yXT1FLChJKz00KSs0PkMpYnJlYWt9cmV0dXJuIEFBW0k+PjJdPTAsSS1CfWZ1bmN0aW9uIFYoQSl7Zm9yKHZhciBJPTAsZz0wO2c8QS5sZW5ndGg7KytnKXt2YXIgQj1BLmNoYXJDb2RlQXQoZyk7Qj49NTUyOTYmJkI8PTU3MzQzJiYrK2csSSs9NH1yZXR1cm4gSX1mdW5jdGlvbiBPKEEpe3ZhciBJPVcoQSkrMSxnPVJCKEkpO3JldHVybiBnJiZsKEEsdixnLEkpLGd9ZnVuY3Rpb24gVChBLEkpe3Yuc2V0KEEsSSl9ZnVuY3Rpb24gaihBLEksZyl7Zm9yKHZhciBCPTA7QjxBLmxlbmd0aDsrK0IpdltJKys+PjBdPUEuY2hhckNvZGVBdChCKTtnfHwodltJPj4wXT0wKX12YXIgUCx2LHosXywkLEFBLElBLGdBLEJBLENBPTY1NTM2O2Z1bmN0aW9uIFFBKEkpe1A9SSxBLkhFQVA4PXY9bmV3IEludDhBcnJheShJKSxBLkhFQVAxNj1fPW5ldyBJbnQxNkFycmF5KEkpLEEuSEVBUDMyPUFBPW5ldyBJbnQzMkFycmF5KEkpLEEuSEVBUFU4PXo9bmV3IFVpbnQ4QXJyYXkoSSksQS5IRUFQVTE2PSQ9bmV3IFVpbnQxNkFycmF5KEkpLEEuSEVBUFUzMj1JQT1uZXcgVWludDMyQXJyYXkoSSksQS5IRUFQRjMyPWdBPW5ldyBGbG9hdDMyQXJyYXkoSSksQS5IRUFQRjY0PUJBPW5ldyBGbG9hdDY0QXJyYXkoSSl9dmFyIEVBPTUzMDQxNzYsaUE9NjExMDQsb0E9QS5UT1RBTF9NRU1PUll8fDI2ODQzNTQ1NjtmdW5jdGlvbiBEQShJKXtmb3IoO0kubGVuZ3RoPjA7KXt2YXIgZz1JLnNoaWZ0KCk7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZyl7dmFyIEI9Zy5mdW5jO1wibnVtYmVyXCI9PXR5cGVvZiBCP3ZvaWQgMD09PWcuYXJnP0EuZHluQ2FsbF92KEIpOkEuZHluQ2FsbF92aShCLGcuYXJnKTpCKHZvaWQgMD09PWcuYXJnP251bGw6Zy5hcmcpfWVsc2UgZygpfX0ocj1BLndhc21NZW1vcnk/QS53YXNtTWVtb3J5Om5ldyBXZWJBc3NlbWJseS5NZW1vcnkoe2luaXRpYWw6b0EvQ0EsbWF4aW11bTpvQS9DQX0pKSYmKFA9ci5idWZmZXIpLG9BPVAuYnl0ZUxlbmd0aCxRQShQKSxBQVtpQT4+Ml09RUE7dmFyIGFBPVtdLHdBPVtdLEZBPVtdLEdBPVtdLGhBPSExO2Z1bmN0aW9uIHNBKCl7aWYoQS5wcmVSdW4pZm9yKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEucHJlUnVuJiYoQS5wcmVSdW49W0EucHJlUnVuXSk7QS5wcmVSdW4ubGVuZ3RoOyl0QShBLnByZVJ1bi5zaGlmdCgpKTtEQShhQSl9ZnVuY3Rpb24gUkEoKXtoQT0hMCxBLm5vRlNJbml0fHxpSS5pbml0LmluaXRpYWxpemVkfHxpSS5pbml0KCksUUkuaW5pdCgpLERBKHdBKX1mdW5jdGlvbiBVQSgpe2lJLmlnbm9yZVBlcm1pc3Npb25zPSExLERBKEZBKX1mdW5jdGlvbiB5QSgpe2lmKEEucG9zdFJ1bilmb3IoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5wb3N0UnVuJiYoQS5wb3N0UnVuPVtBLnBvc3RSdW5dKTtBLnBvc3RSdW4ubGVuZ3RoOylTQShBLnBvc3RSdW4uc2hpZnQoKSk7REEoR0EpfWZ1bmN0aW9uIHRBKEEpe2FBLnVuc2hpZnQoQSl9ZnVuY3Rpb24gU0EoQSl7R0EudW5zaGlmdChBKX12YXIgTUE9TWF0aC5hYnMsbkE9TWF0aC5jZWlsLGNBPU1hdGguZmxvb3IsckE9TWF0aC5taW4sa0E9MCxLQT1udWxsLE5BPW51bGw7ZnVuY3Rpb24gWUEoSSl7a0ErKyxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSl9ZnVuY3Rpb24gZUEoSSl7aWYoa0EtLSxBLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJkEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhrQSksMD09a0EmJihudWxsIT09S0EmJihjbGVhckludGVydmFsKEtBKSxLQT1udWxsKSxOQSkpe3ZhciBnPU5BO05BPW51bGwsZygpfX1mdW5jdGlvbiBKQShJKXt0aHJvdyBBLm9uQWJvcnQmJkEub25BYm9ydChJKSx0KEkrPVwiXCIpLFMoSSksSj0hMCxJPVwiYWJvcnQoXCIrSStcIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uXCIsbmV3IFdlYkFzc2VtYmx5LlJ1bnRpbWVFcnJvcihJKX1BLnByZWxvYWRlZEltYWdlcz17fSxBLnByZWxvYWRlZEF1ZGlvcz17fTt2YXIgSEE9XCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsXCI7ZnVuY3Rpb24gTEEoQSl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9BLnN0YXJ0c1dpdGgoSEEpOjA9PT1BLmluZGV4T2YoSEEpfXZhciBxQSxkQSxmQT1cImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBR0Z6YlFFQUFBQUJqd2h6WUFGL0FYOWdBWDhBWUFKL2Z3Ri9ZQUovZndCZ0EzOS9md0YvWUFWL2YzOS9md0JnQTM5L2Z3QmdCSDkvZjM4QVlBVi9mMzkvZndGL1lBUi9mMzkvQVg5Z0JuOS9mMzkvZndGL1lBQUFZQVovZjM5L2YzOEFZQWQvZjM5L2YzOS9BR0FJZjM5L2YzOS9mMzhCZjJBSGYzOS9mMzkvZndGL1lBQUJmMkFCZlFGOVlBRi9BWHhnQlg5L2YzOThBWDlnQTM5K2Z3RitZQVYvZjM5L2ZnRi9ZQWgvZjM5L2YzOS9md0JnQ245L2YzOS9mMzkvZjM4QVlBTi9mMzBBWUFOL2Yzd0FZQUovZkFCZ0JuOS9mMzkvZkFGL1lBTi9mMzhCZldBQ2ZYMEJmV0FDZjM4QmZHQURmMzkvQVh4Z0FueDhBWHhnQ1g5L2YzOS9mMzkvZndGL1lBWi9mSDkvZjM4QmYyQUVmMzkvZndGK1lBRjhBWHhnQlg5L2ZuOS9BR0FDZjMwQVlBcC9mMzkvZjM5L2YzOS9BWDlnREg5L2YzOS9mMzkvZjM5L2Z3Ri9ZQVYvZlgxL2Z3Ri9ZQUY5QVg5Z0FYOEJmV0FHZjM5L2YzOS9BWHhnQW54L0FYeGdEMzkvZjM5L2YzOS9mMzkvZjM5L2Z3QmdEWDkvZjM5L2ZYMTlmWDE5ZlgwQVlBUi9mMzk5QUdBRmYzOTlmWDhBWUFWL2ZYMTlmUUJnQm45OGZIOS9md0JnQzM5L2YzOS9mMzkvZjM5L0FYOWdFWDkvZjM5L2YzOS9mMzE5ZlgxOWZYMTlBWDlnQm45L2ZYMS9md0YvWUFKK2Z3Ri9ZQUY4QVg5Z0JIOS9mMzRCZm1BQ2YzOEJmV0FFZjM5L2Z3RjlZQU4vZlgwQmZXQUJmQUY5WUFsL2YzOS9mMzkvZjM4QVlCRi9mMzkvZjM5L2YzOTlmWDE5ZlgxOWZRQmdCbjkvZjM5L2ZRQmdDSDkvZjM5L2ZYMTlBR0FKZjM5L2YzOTlmWDE5QUdBRmYzOS9mWDBBWUFkL2YzOTlmWDEvQUdBRWYzOS9mQUJnQTM5L2ZnQmdCbjkvZlg5OWZ3QmdBbjkrQUdBRGYzNS9BR0FEZjMxOUFHQUVmMzE5ZndCZ0JuOTlmWDE5ZndCZ0JIOThmSDhBWUF4L2YzOS9mMzkvZjM5L2ZIOEJmMkFPZjM5L2YzOS9mMzkvZjN4L2YzOEJmMkFUZjM5L2YzOS9mMzkvZkg5L2YzOS9mMzkvZndGL1lBeC9mMzkvZjM5L2YzMS9mMzhCZjJBaWYzOS9mMzkvZjM5OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4ZndGL1lBZC9mMzkvZjM5OEFYOWdCMzkvZjM5OGYzOEJmMkFEZjM5OUFYOWdCWDkvZlgxL0FYOWdCMzkvZkg5L2YzOEJmMkFQZjM5OGZIeDhmSHg4Zkh4OGZIeDhBWDlnQkg5K2YzOEJmMkFDZjMwQmYyQUZmMzE5ZlgwQmYyQUNmM3dCZjJBRGZuOS9BWDlnQW4xL0FYOWdBbngvQVg5Z0FYOEJmbUFDZjM4QmZtQUNmbjRCZm1BRmYzOS9mMzhCZldBSGYzOS9mMzkvZndGOVlBZC9mMzkvZjM5OUFYMWdCbjkvZjM5L2ZRRjlZQVovZjM5L2ZYMEJmV0FFZjM5L2ZRRjlZQU4vZjMwQmZXQUZmMzE5ZjM4QmZXQUNmWDhCZldBRGZYMTlBWDFnQkgxOWZYMEJmV0FGZjM5L2YzOEJmR0FFZjM5OGZ3RjhZQU44Zkg4QmZHQURmSHg4QVh4Z0JueDhmSHg4ZkFGOEFwc0VQQU5sYm5ZQllRQUxBMlZ1ZGdGaUFBRURaVzUyQVdNQUFRTmxibllCWkFBQkEyVnVkZ0ZsQUFZRFpXNTJBV1lBQUFObGJuWUJad0FEQTJWdWRnRm9BQkFEWlc1MkFXa0FCZ05sYm5ZQmFnQU1BMlZ1ZGdGckFBVURaVzUyQVd3QUVBTmxibllCYlFBQkEyVnVkZ0Z1QUFBRFpXNTJBVzhBQVFObGJuWUJjQUFEQTJWdWRnRnhBQUlEWlc1MkFYSUFCUU5sYm5ZQmN3QUdBMlZ1ZGdGMEFBQURaVzUyQVhVQUFnTmxibllCZGdBREEyVnVkZ0YzQUFZRFpXNTJBWGdBR1FObGJuWUJlUUFBQTJWdWRnRjZBQUlEWlc1MkFVRUFBUU5sYm5ZQlFnQUhBMlZ1ZGdGREFBWURaVzUyQVVRQUNBaGhjMjB5ZDJGemJRZG1OalF0Y21WdEFDQURaVzUyQVVVQUNBTmxibllCUmdBSkEyVnVkZ0ZIQUFrRFpXNTJBVWdBQUFObGJuWUJTUUFrQTJWdWRnRktBQUFEWlc1MkFVc0FCQU5sYm5ZQlRBQUVBMlZ1ZGdGTkFCQURaVzUyQVU0QVVnTmxibllCVHdBUEEyVnVkZ0ZRQUJNRFpXNTJBVkVBV0FObGJuWUJVZ0FDQTJWdWRnRlRBQU1EWlc1MkFWUUFBd05sYm5ZQlZRQUZBMlZ1ZGdGV0FBa0RaVzUyQVZjQUNRTmxibllCV0FBQ0EyVnVkZ0ZaQUFJRFpXNTJBVm9BQWdObGJuWUJYd0FDQTJWdWRnRWtBQUVEWlc1MkRGOWZkR0ZpYkdWZlltRnpaUU4vQUFabmJHOWlZV3dEVG1GT0Ezd0FCbWRzYjJKaGJBaEpibVpwYm1sMGVRTjhBQU5sYm5ZR2JXVnRiM0o1QWdHQUlJQWdBMlZ1ZGdWMFlXSnNaUUZ3QWU0RzdnWUR5QXZHQ3dJQkFnSURBUWNDQVFNQ0FDb0FCQUVCQWdFREF3UThBZ0lDQUFBQUFBRURBd0JxS3dZUUFnRURBQWtBQVFRR0Nna0NFUUVCQWlrREFRQUFCamdBQlFVSUJ3TUNBd2dFQmdCdEJFZ0VBeHdBQXdFRUFBSURHaXdEUFQwcUNSZ0JBd29JQ0FnSkFCMENMUWdjQXc0T0Npa0dCZ2tHVkFRSkF3Y0NBZ0FDQUFRRE1BWVlBQ29HQURjQ0F3SUdBZ0lBQWdFSEJ3NEdBd1luQVNjQUVTQndCZ0FKQ1FKbFpBTUJIUVlHTVFNZEF6WUNCQUlEQ0FZQ0JnTUNBdzBEQUFZQVlnd0NCd1pPQmdvZE9nTUFBZ01EQWdOcEJ3TUNGUk1DQXdjQUFBME5CQThQQVFNQkFRSURBUVVESHlNRkNRZ0VCQUFBQUFJUUFBUURCQU1BQmdZQkF3TUZBUUFoQndKREF5d0FCd01DQVFNQkFRSVdiREVCQXdFREJ3TUJBUU1IQVFNSEFRd0hEQVVEQUFNSUFRQW9CUjRBS0FVQkFRRUJjZ3h4QndZR0VSRVJBQUFCWGdoZkl3a0dBQUFIQWprQ0FBRUFTUzBDQmdBdElDQmhIemxHQkFJRUFBRUFFQVFCQVFNQUFRY0NBUUlBQVFrQkFnRUFBd01aQmhnQkFRTlpEd1lNQUFFQkF3RUJCZ0FEQVRvbkF3TXJWVUFQQnc0SEJ3RUhBd0VCQVFNREF3RURid0lEQms4QURBQURFQU1EQXdFQ0FRRUJDZ0VHQVJFUkJBTURBd01EQVFNSEFrd0RCZ0VBVmpZTkhBb0pCeVVOQmhvVUR4c0pBd1VXQmhZR0JnVUlBUUVCQVFnQkRnQUVMaGN1RnpRR05BTURBUXdCQVFVTURBTUpCUXdNQUEwSkRRUUtDU01KQ1NNY0h4OEVDZ1lDQWdBQkFRRUJBd0VBQnlVRUF3RUVBUUVCQVFFQkFUTUxCd0VCQkIwa0pBa0dBZ1lHQUFCZ0NBSUJCQVJyQkFBRUJnWUxBeEFKQWdJQkJBSTNYUUlFQXlJNEF3UUNJQ3h1QkFnQ0JBUUNBUUlBQWdRQkNSUUVFQlFFQUFBQUFnRUdBUU1CQXdFQUFBQUhBQUFDQUFBQkFRRUlBQWdCQ2dvSkNRRUVCd2NIQndjQkF3Y0hBUWNCQXdjTkJ3Z05BUVVGQlFVRkJRVUZBQVVIQndjSEJ3MEJEUTBOQXdjSEJ3TUJBd0VCQVFFQkFRRUJBUUFCQWdJQ0FnSUJBZ0lCQWdBQkFRTUJBUUVDQUFFQkFnSUNBQUlDQWdFQkFRSURBd0FCQXdVRkJRVUZCUVVEQlFVRkJRVUZCUVVGQlFnRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFFQkR3Sm1Zd3dGQ0FRREFnQURDUU1CQVFJRUJBa0VCQUVHQWdJQUhnRUJDQUVHQUFNQUF3QURFZ3NtQUFNQUF3QURFaG9TR2dzUVVBc0JBQUFDQWdJRUFBQUdDQUFDQWdRRUFnUUxBQUFDQWdJQ0FBQUVDd3NTQVFFR0F3SUJBd0lCQXc4REF3WUdCand5QmdNMU5UOEhFQUVHSEVvSFFsc0JMd2NITWdFQkF3TUNCZ1lIQmdNQkF3WURBd2NIQXk4TUFnZ0RBQUFBQUFBRUFBQUNCQUlDQWdJQ0FnSUNBajVISVFjQmFBSWhBZzVSQ1RzRUNna0VDUU1EQXdJSEF3TUJBd01EQXdNR0JnWURCZzBEQVFJQkFRRVpDQUVEQXdZR0R3Y0dBd01GRHdNRkJnY0NBUWNDQXdNREFRRUJBUUVDQVFFQkFRb0dDa3NSUVFNRkFRY0FBUU1CQXdNSEF3TURCd0VEQVFjRkJRSUJBUUlEQXdObkRRME5Ld01HQWdJRUR3TmNBd1lXQTBRREFRTUdBd0VEQVFNREF3TUJBZ01EQXdFQkFnWURBUUVEQXdjREF3TUNDQUVJQ0FnSUNnb0RBUUVEQXdNREFnUUNBZ0FDQVFRcEFRb0NGdzBvQXdBQU93QUJDQWdBRFFnQkR4Z1pBQ1lMQUNJUUhoSmFGZzBNQlFjd1JRRWhEZ0FQVXdvYkNBa0VWd0lBQmg4ZUpBTUFBZ1lHQmdNQ0NBWUJBd0VEQ0FRSkFnUUNBUVFDQ1FrSkJBTURBd0FBQVFNREF3QUFBUUlJQkFrQ0JBSUVBZ0VCQVFvS0JBZ09EZ0VBQ0FBSURnNElDZ29FQ0E0T0RBd0tHd29iRndZUER4Y0dEd2dQREE4UEJ3VUZCUU1NQndVRkJRVUZCUU1MQ3dzQUFBQUFBQUFBRGdvS0Nnb0tCd1VGQlF3SEJRVUZCUVVCQlFzTEN3QUFBQVFBQUFBQURnb0tDZ29LQndnVEV4VUlGUWdJQ0FnVEV4VUlGUWdJQ0FnRUNBZ0NDQWdJQ0FvS0Nnb0tDZ29TQ2dvSUNBZ0lDQWdJQ0FFQkJnRUFDZ29LQ2dvS0Nnb0tCQWNJQkFFSENBRUNBQUFEQWdBQUFBTUNCQU1DQkFOTkNBUUVBQVFFQUFRQkFSQUFDd3NMQ3dzekN3c0xDd3NMQ3dzTEN3c0xDeEFRRUFzSEJRd0VBUUFIQlF3RUJ3VU1CQXNIQ0JBQUJoY0Vmd0ZCQUF0L0FVRUFDMzhCUVFBTGZ3RkI4TjREQ3dlVEFpNENZV0VBblFjQ1ltRUE1UXNDWTJFQSt3UUNaR0VBMFFzQ1pXRUE0QVFDWm1FQTZRc0NaMkVBb0FVQ2FHRUEwZ3NDYVdFQTV3c0NhbUVBNWdzQ2EyRUE2QXNDYkdFQU9BSnRZUUJFQW01aEFONEpBbTloQU53SkFuQmhBTnNKQW5GaEFOa0pBbkpoQU5nSkFuTmhBTmNKQW5SaEFOWUpBblZoQU5VSkFuWmhBTlFKQW5kaEFOTUpBbmhoQU5JSkFubGhBTkVKQW5waEFOQUpBa0ZoQU00SkFrSmhBTTBKQWtOaEFMa0pBa1JoQUxjSkFrVmhBTXdKQWtaaEFLNERBa2RoQUs4REFraGhBTEVEQWtsaEFMQURBa3BoQU1zSkFrdGhBTW9KQWt4aEFNa0pBazFoQU1nSkFrNWhBTWNKQWs5aEFNWUpBbEJoQU1VSkFsRmhBTFlKQWxKaEFQd0xBbE5oQUpnSkFsUmhBUHNMQ2FFTEFRQWpBQXZ1QnNNSitnYjRCdThHd2duakJzRUovUVpZeGdpakJYL3ZDMzkvMFFUTkMzOS8wUVRLQzhvRXlnUytDNzBMdVF1NEM3Y0U3QXJyQ3VvSzZRcm5DdVlLNVFxM0JNNEt6UXJNQ3NzS3lnckpDc2dLa1FLUkFuK1JBcEVDZjVBQ2tBSi9rQUtRQW45L2Y2QUVtZ3AvbUFxRENvSUsvUW44Q2Q4QzN3TGZBbjkvb0FTdUJmc0ZSS1FGbWdlWkI1UUhrd2VMQjRnSGh3ZUNCNEVIOWdiMEJ2SUc3UWJyQnVrRzRnYWZCbzhHaHdaL3RnVzFCYk1Gc2dWWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWXdBbUpCWHFWQ0tZSG93ZWJBcHNDbXdLYkFzTUx3QXU3QzdjTGpRcUxDb2tLOUFueENlOEpoUXFtQlpnSGx3ZVdCNVVIa0FlTkI0d0hoUWVFQjRNSDJBYmdCc2tHbkFhWUJwY0dsZ2FVQnBNR2tnYUdCb1FHZ3dhQkJvQUcvd1grQmYwRmVucDZlbnA2ZW5wNmVucDZlbnA2ZW1TaUJaOEZnZ1gzQyswTDFBVE9DOHdMMUFUTEM4a0x4QXZCQzdJTHJ3dWhCS0VFakFxS0NvY0srQW56Q2ZBSjdRbkRCWnNIa1FlUEI0NEhoZ2ZhQnQwR3RRR3ZBcFVGWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkswQmlBcjNDZllKOVFudUNkUUd3UVhBQmEwQnJRR3RBYTBCclFHdEFhMEJqQUwvQ3Y0SzlncjFDb3dDakFLTUFwZ0J0UXV4QzRRTGd3dUJDL3dLK3dyNkN2Z0s5QXJoQXFJS213cVpDb1lLN0FuaEFwNEs0UUtVQ3J3RnVnV1lBWmdCbUFHWUFaZ0JtQUdZQVpnQm1BR09CS29LcUFxT0JHYXVDNjBMckF1ckM4WUV4Z1NxQzZrTHFBdW5DNllMbUF1WEM1VUxsQXU4Qkx3RWt3dVNDNUVMa0F1UEMvSUs4UXJ3Q3U4SzdnclVDdE1LMGdyUkN0QUtxUXFuQ3I4RnZnVm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptYU5CTFlLdFFxekNyRUtyZ3F0Q28wRXlnSHRDczhLcEFxakNwMEtuQXFmQko4RWxncVZDc29CeWdIS0Fjb0J5Z0dMQW9JTGdBdjVDdmNLaXdLTEFvc0NqQVNoQlo0RmpBUytDZmdMUnNjQzJRakdBdGdJN1FQSENHTmVsZ2hlWHFjSFhsNmtCMTVqWG1Oalh1TUU0Z1RpQkY1ZW5RTFBDOVlFN1FMUUJPd0NtZ0xyQXM0RXpRU2FBdXNDemdUTkJKa0M2Z0xNQk1zRW1RTHFBc3dFeXdUc0F1MEM3QUx0QW1OZXRndGpYbU5lWTE1alhtTmVZMTVqWHE0RXJRU3VCSzBFWTE1alhtTmVZMTVqWG1OZVkxNWpYbU5lWTE1alhsNmVCSmNLbkFTUUNwc0VqZ3FhQklRS21RVCtDVjVlWGw1ZXNnbW5CWUFIeGdhZ0JtT2FCcGtHalFhbkE0d0dnZ1pqaVFhSUJ2a0YrQVZqeVFYUEJkWUZZK2NGelFWanZRVzVCYmNGclFXckJha0ZwQXVpQzJNNFJrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1Jvc0Urd2I1Qm9zRXZRbnhCcUlCbkFLY0FzVUx3Z3UvQzdvTGp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFnU3VBYTRCandHUEFZOEJxUVN1QWE0Qmp3R1BBWThCcVFTdUFhNEJuQUtjQW9FS2dBci9DZnNKK2duNUNhRUc5d2IxQnZNRzdnYnNCdW9HcmdPZEJzb0YwQVhyQmU4RnJnS3NCYW9GaUFXaUFhSUJvZ0dpQWFJQm9nR2lBYUlCdXdtdkE3b0pzUU9LQktnRnNBT0tCTWtCOUF2d0Mrb0wwZ1RTQkxRTHNBczkwd1hSQmVVRjVBWGpCZUlGNFFYdUJlMEY3QVhPQmN3Rnl3WElCY2NGeGdYRkJjUUZ5UUhKQWNrQnlRSEpBWGIxQy9FTDZ3dWpCcVFHcFFhbUJxY0dxQWFxQnFzR3JBYXRCcTRHcndhd0JyRUdzZ2F6QnJVR3RnYTNCcmdHdVFhNkJyc0d2QWE5QnI0R3Z3YkFCc0VHd2diREJxSUd4QWJGQnVBRjNnWGRCZHdGMndYYUJka0YyQVhYQlhaMmRuWjJkbloyZG5aMmRuWjJkbloyM0FMMkMvSUw3QXVtQ3FVSzNBTGNBb2tFMVFYU0JlWUY2Z1hwQmVnRmlRU0lCTk1FMHdTSUJBcXFpeDdHQ3cwQUlBQWdBU0FCRUdBUW53a0x5UTBCQ1g4Z0FFVUVRQThMUWJ6UkF5Z0NBQ0VFSUFCQmVHb2lBeUFBUVh4cUtBSUFJZ0pCZUhFaUFHb2hCU0FDUVFGeEJIOGdBd1VDZnlBREtBSUFJUUVnQWtFRGNVVUVRQThMSUFNZ0FXc2lBeUFFU1FSQUR3c2dBQ0FCYWlFQUlBTkJ3TkVES0FJQVJnUkFJQU1nQlNnQ0JDSUJRUU54UVFOSERRRWFRYlRSQXlBQU5nSUFJQVVnQVVGK2NUWUNCQ0FESUFCQkFYSTJBZ1FnQUNBRGFpQUFOZ0lBRHdzZ0FVRURkaUVFSUFGQmdBSkpCRUFnQXlnQ0NDSUJJQU1vQWd3aUFrWUVRRUdzMFFOQnJORURLQUlBUVFFZ0JIUkJmM054TmdJQUJTQUJJQUkyQWd3Z0FpQUJOZ0lJQ3lBRERBRUxJQU1vQWhnaEJ5QURJQU1vQWd3aUFVWUVRQUpBSUFOQkVHb2lBa0VFYWlJRUtBSUFJZ0VFUUNBRUlRSUZJQUlvQWdBaUFVVUVRRUVBSVFFTUFnc0xBMEFDUUNBQlFSUnFJZ1FvQWdBaUJrVUVRQ0FCUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VDSUFZaEFRd0JDd3NnQWtFQU5nSUFDd1VnQXlnQ0NDSUNJQUUyQWd3Z0FTQUNOZ0lJQ3lBSEJIOGdBeUFES0FJY0lnSkJBblJCM05NRGFpSUVLQUlBUmdSQUlBUWdBVFlDQUNBQlJRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBQ2RFRi9jM0UyQWdBZ0F3d0RDd1VnQjBFUWFpSUNJQWRCRkdvZ0F5QUNLQUlBUmhzZ0FUWUNBQ0FESUFGRkRRSWFDeUFCSUFjMkFoZ2dBeWdDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0F5Z0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNnQXdVZ0F3c0xDeUlISUFWUEJFQVBDeUFGS0FJRUlnaEJBWEZGQkVBUEN5QUlRUUp4QkVBZ0JTQUlRWDV4TmdJRUlBTWdBRUVCY2pZQ0JDQUFJQWRxSUFBMkFnQWdBQ0VDQlNBRlFjVFJBeWdDQUVZRVFFRzQwUU1nQUVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFNMkFnQWdBeUFBUVFGeU5nSUVRY0RSQXlnQ0FDQURSd1JBRHd0QndORURRUUEyQWdCQnRORURRUUEyQWdBUEMwSEEwUU1vQWdBZ0JVWUVRRUcwMFFNZ0FFRzAwUU1vQWdCcUlnQTJBZ0JCd05FRElBYzJBZ0FnQXlBQVFRRnlOZ0lFSUFBZ0Iyb2dBRFlDQUE4TElBaEJBM1loQkNBSVFZQUNTUVJBSUFVb0FnZ2lBU0FGS0FJTUlnSkdCRUJCck5FRFFhelJBeWdDQUVFQklBUjBRWDl6Y1RZQ0FBVWdBU0FDTmdJTUlBSWdBVFlDQ0FzRkFrQWdCU2dDR0NFSklBVW9BZ3dpQVNBRlJnUkFBa0FnQlVFUWFpSUNRUVJxSWdRb0FnQWlBUVJBSUFRaEFnVWdBaWdDQUNJQlJRUkFRUUFoQVF3Q0N3c0RRQUpBSUFGQkZHb2lCQ2dDQUNJR1JRUkFJQUZCRUdvaUJDZ0NBQ0lHUlEwQkN5QUVJUUlnQmlFQkRBRUxDeUFDUVFBMkFnQUxCU0FGS0FJSUlnSWdBVFlDRENBQklBSTJBZ2dMSUFrRVFDQUZLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFJQVZHQkVBZ0JDQUJOZ0lBSUFGRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFKMFFYOXpjVFlDQUF3REN3VWdDVUVRYWlJQ0lBbEJGR29nQWlnQ0FDQUZSaHNnQVRZQ0FDQUJSUTBDQ3lBQklBazJBaGdnQlNnQ0VDSUNCRUFnQVNBQ05nSVFJQUlnQVRZQ0dBc2dCU2dDRkNJQ0JFQWdBU0FDTmdJVUlBSWdBVFlDR0FzTEN3c2dBeUFBSUFoQmVIRnFJZ0pCQVhJMkFnUWdBaUFIYWlBQ05nSUFJQU5Cd05FREtBSUFSZ1JBUWJUUkF5QUNOZ0lBRHdzTElBSkJBM1loQVNBQ1FZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdBellDQUNBQklBTTJBZ3dnQXlBQk5nSUlJQU1nQURZQ0RBOExJQUpCQ0hZaUFBUi9JQUpCLy8vL0Iwc0VmMEVmQlNBQUlBQkJnUDQvYWtFUWRrRUljU0lCZENJRVFZRGdIMnBCRUhaQkJIRWhBRUVPSUFBZ0FYSWdCQ0FBZENJQVFZQ0FEMnBCRUhaQkFuRWlBWEpySUFBZ0FYUkJEM1pxSWdCQkFYUWdBaUFBUVFkcWRrRUJjWElMQlVFQUN5SUJRUUowUWR6VEEyb2hBQ0FESUFFMkFod2dBMEVBTmdJVUlBTkJBRFlDRUVHdzBRTW9BZ0FpQkVFQklBRjBJZ1p4QkVBQ1FDQUNJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0FrRUFRUmtnQVVFQmRtc2dBVUVmUmh0MElRUURRQ0FBUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBUkJBWFFoQkNBQ0lBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQU0yQWdBZ0F5QUFOZ0lZSUFNZ0F6WUNEQ0FESUFNMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FETmdJTUlBRWdBellDQ0NBRElBQTJBZ2dnQXlBQk5nSU1JQU5CQURZQ0dBc0ZRYkRSQXlBRUlBWnlOZ0lBSUFBZ0F6WUNBQ0FESUFBMkFoZ2dBeUFETmdJTUlBTWdBellDQ0F0QnpORURRY3pSQXlnQ0FFRi9haUlBTmdJQUlBQUVRQThMUWZUVUF5RUFBMEFnQUNnQ0FDSURRUWhxSVFBZ0F3MEFDMEhNMFFOQmZ6WUNBQXNrQUNBQkJIOGdBRUdBZ0lDQWVFWWdBVUYvUm5FRWYwRUFCU0FBSUFGdEN3VkJBQXNMSUFFQmZ5QUFLQUlBSVFJZ0FSQ2xDeUVCSUFJb0FnZ2dBVUVDZEdvb0FnQUxEQUFnQUNBQlFSeHFFT3NKQ3prQkFYOGdBQ2dDQUNJQUtBSUVJUUVnQUNBQlFYOXFOZ0lFSUFGRkJFQWdBQ2dDQUNnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3czhBQ01HSVFBakJrRVFhaVFHSUFKQkFFZEIwSVVCS0FJQUlBRk1jUVJBSUFJc0FBQUVRQ0FBSUFNMkFnQWdBU0FDSUFBUTJna0xDeUFBSkFZTGlnSUJCMzhqQmlFREl3WkJFR29rQmlBRFFReHFJUUlnQXlBQUVKZ0NJQU1zQUFBRVFDQUNJQUFnQUNnQ0FFRjBhaWdDQUdvUU95QUNRYmpPQXhBNklRY2dBaEE4SUFBZ0FDZ0NBRUYwYWlnQ0FHb2lCU2dDR0NFSVFYOGdCU2dDVEJCQkJFQWdBaUFGRURzZ0FrR0F6Z01RT2lJRUtBSUFLQUljSVFZZ0JFRWdJQVpCUDNGQmlnRnFFUUlBSVFRZ0FoQThJQVVnQkVFWWRFRVlkU0lFTmdKTUJTQUZLQUpNSVFRTElBY29BZ0FvQWhBaEJpQURJQWcyQWdnZ0FpQURLQUlJTmdJQUlBY2dBaUFGSUFSQi93RnhJQUVnQmtFZmNVR2lBbW9SQ0FCRkJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlJQklBRW9BaEJCQlhJUTdnRUxDeUFERUpjQ0lBTWtCaUFBQzRVQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNBQUtBSUFRWFJxS0FJQWFpZ0NHQVJBSUFFZ0FCQ1lBaUFCTEFBQUJFQWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dDSUNLQUlBS0FJWUlRTWdBaUFEUWY4QWNVRUlhaEVBQUVGL1JnUkFJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQVJDWEFnc2dBU1FHQzZnQkFRUi9Jd1loQWlNR1FSQnFKQVlnQWlBQUVKZ0NJQUlzQUFBRVFBSkFJQUFnQUNnQ0FFRjBhaWdDQUdvb0FoZ2lBeUVFSUFNRVFDQUVLQUlZSWdVZ0JDZ0NIRVlFZnlBREtBSUFLQUkwSVFNZ0JDQUJFRUlnQTBFL2NVR0tBV29SQWdBRklBUWdCVUVCYWpZQ0dDQUZJQUU2QUFBZ0FSQkNDMEYvRUVGRkRRRUxJQUFnQUNnQ0FFRjBhaWdDQUdvaUFDQUFLQUlRUVFGeUVPNEJDd3NnQWhDWEFpQUNKQVlMQndBZ0FDQUJSZ3NJQUNBQVFmOEJjUXM0QUNBQUlBQmNCSDlCZ0lDQWdIZ0ZJQUJEQUFBQVQyQUVmMEdBZ0lDQWVBVWdBRU1BQUFEUFh3Ui9RWUNBZ0lCNEJTQUFxQXNMQ3d1M05RRU1meU1HSVFvakJrRVFhaVFHSUFCQjlRRkpCRUJCck5FREtBSUFJZ1ZCRUNBQVFRdHFRWGh4SUFCQkMwa2JJZ0pCQTNZaUFIWWlBVUVEY1FSQUlBRkJBWEZCQVhNZ0FHb2lBa0VEZEVIVTBRTnFJZ0FvQWdnaUEwRUlhaUlFS0FJQUlRRWdBQ0FCUmdSQVFhelJBMEVCSUFKMFFYOXpJQVZ4TmdJQUJTQUJJQUEyQWd3Z0FDQUJOZ0lJQ3lBRElBSkJBM1FpQUVFRGNqWUNCQ0FBSUFOcUlnQWdBQ2dDQkVFQmNqWUNCQ0FLSkFZZ0JBOExJQUpCdE5FREtBSUFJZ2xMQkg4Z0FRUkFRUUlnQUhRaUEwRUFJQU5yY2lBQklBQjBjU0lBUVFBZ0FHdHhRWDlxSWdCQkRIWkJFSEVpQVNBQUlBRjJJZ0JCQlhaQkNIRWlBWElnQUNBQmRpSUFRUUoyUVFSeElnRnlJQUFnQVhZaUFFRUJka0VDY1NJQmNpQUFJQUYySWdCQkFYWkJBWEVpQVhJZ0FDQUJkbW9pQkVFRGRFSFUwUU5xSWdBb0FnZ2lBVUVJYWlJR0tBSUFJUU1nQUNBRFJnUkFRYXpSQTBFQklBUjBRWDl6SUFWeElnQTJBZ0FGSUFNZ0FEWUNEQ0FBSUFNMkFnZ2dCU0VBQ3lBQklBSkJBM0kyQWdRZ0FTQUNhaUlGSUFSQkEzUWlBeUFDYXlJRVFRRnlOZ0lFSUFFZ0Eyb2dCRFlDQUNBSkJFQkJ3TkVES0FJQUlRRWdDVUVEZGlJQ1FRTjBRZFRSQTJvaEEwRUJJQUowSWdJZ0FIRUVmeUFEUVFocUlnSW9BZ0FGUWF6UkF5QUFJQUp5TmdJQUlBTkJDR29oQWlBREN5RUFJQUlnQVRZQ0FDQUFJQUUyQWd3Z0FTQUFOZ0lJSUFFZ0F6WUNEQXRCdE5FRElBUTJBZ0JCd05FRElBVTJBZ0FnQ2lRR0lBWVBDMEd3MFFNb0FnQWlDd1IvUVFBZ0Myc2dDM0ZCZjJvaUFFRU1ka0VRY1NJQklBQWdBWFlpQUVFRmRrRUljU0lCY2lBQUlBRjJJZ0JCQW5aQkJIRWlBWElnQUNBQmRpSUFRUUYyUVFKeElnRnlJQUFnQVhZaUFFRUJka0VCY1NJQmNpQUFJQUYyYWtFQ2RFSGMwd05xS0FJQUlnUWhBQ0FFS0FJRVFYaHhJQUpySVFnRFFBSkFJQUFvQWhBaUFRUkFJQUVoQUFVZ0FDZ0NGQ0lBUlEwQkN5QUFJQVFnQUNnQ0JFRjRjU0FDYXlJQklBaEpJZ01iSVFRZ0FTQUlJQU1iSVFnTUFRc0xJQUlnQkdvaURDQUVTd1IvSUFRb0FoZ2hCeUFFSUFRb0Fnd2lBRVlFUUFKQUlBUkJGR29pQVNnQ0FDSUFSUVJBSUFSQkVHb2lBU2dDQUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lBeWdDQUNJR1JRUkFJQUJCRUdvaUF5Z0NBQ0lHUlEwQkN5QURJUUVnQmlFQURBRUxDeUFCUVFBMkFnQUxCU0FFS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFjRVFBSkFJQVFnQkNnQ0hDSUJRUUowUWR6VEEyb2lBeWdDQUVZRVFDQURJQUEyQWdBZ0FFVUVRRUd3MFFOQkFTQUJkRUYvY3lBTGNUWUNBQXdDQ3dVZ0IwRVFhaUFIUVJScUlBUWdCeWdDRUVZYklBQTJBZ0FnQUVVTkFRc2dBQ0FITmdJWUlBUW9BaEFpQVFSQUlBQWdBVFlDRUNBQklBQTJBaGdMSUFRb0FoUWlBUVJBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDd3NnQ0VFUVNRUkFJQVFnQWlBSWFpSUFRUU55TmdJRUlBQWdCR29pQUNBQUtBSUVRUUZ5TmdJRUJTQUVJQUpCQTNJMkFnUWdEQ0FJUVFGeU5nSUVJQWdnREdvZ0NEWUNBQ0FKQkVCQndORURLQUlBSVFBZ0NVRURkaUlDUVFOMFFkVFJBMm9oQVVFQklBSjBJZ0lnQlhFRWZ5QUJRUWhxSWdJb0FnQUZRYXpSQXlBQ0lBVnlOZ0lBSUFGQkNHb2hBaUFCQ3lFRElBSWdBRFlDQUNBRElBQTJBZ3dnQUNBRE5nSUlJQUFnQVRZQ0RBdEJ0TkVESUFnMkFnQkJ3TkVESUF3MkFnQUxJQW9rQmlBRVFRaHFEd1VnQWdzRklBSUxCU0FDQ3lFQUJTQUFRYjkvU3dSQVFYOGhBQVVDUUNBQVFRdHFJZ0ZCZUhFaEFFR3cwUU1vQWdBaUJRUkFRUUFnQUdzaEJBSkFBa0FnQVVFSWRpSUJCSDhnQUVILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnWkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JpQUJkQ0lHUVlDQUQycEJFSFpCQW5FaUNDQUJJQUp5Y21zZ0JpQUlkRUVQZG1vaUFVRUJkQ0FBSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ2RCQW5SQjNOTURhaWdDQUNJQkJIOUJBQ0VDSUFCQkFFRVpJQWRCQVhacklBZEJIMFliZENFR0EzOGdBU2dDQkVGNGNTQUFheUlJSUFSSkJFQWdDQVIvSUFnaEJDQUJCVUVBSVFRZ0FTRUNEQVFMSVFJTElBTWdBU2dDRkNJRElBTkZJQU1nQVVFUWFpQUdRUjkyUVFKMGFpZ0NBQ0lCUm5JYklRTWdCa0VCZENFR0lBRU5BQ0FDQ3dWQkFBc2lBU0FEY2dSL0lBTUZJQVZCQWlBSGRDSUJRUUFnQVd0eWNTSUNSUTBFUVFBaEFTQUNRUUFnQW10eFFYOXFJZ0pCREhaQkVIRWlBeUFDSUFOMklnSkJCWFpCQ0hFaUEzSWdBaUFEZGlJQ1FRSjJRUVJ4SWdOeUlBSWdBM1lpQWtFQmRrRUNjU0lEY2lBQ0lBTjJJZ0pCQVhaQkFYRWlBM0lnQWlBRGRtcEJBblJCM05NRGFpZ0NBQXNpQWcwQUlBRWhBd3dCQ3lBQklRTWdCQ0VCQTM4Z0FpZ0NCRUY0Y1NBQWF5SUlJQUZKSVFZZ0NDQUJJQVliSVFFZ0FpQURJQVliSVFNZ0FpZ0NFQ0lFUlFSQUlBSW9BaFFoQkFzZ0JBUi9JQVFoQWd3QkJTQUJDd3NoQkFzZ0F3UkFJQVJCdE5FREtBSUFJQUJyU1FSQUlBQWdBMm9pQnlBRFN3UkFJQU1vQWhnaENTQURJQU1vQWd3aUFVWUVRQUpBSUFOQkZHb2lBaWdDQUNJQlJRUkFJQU5CRUdvaUFpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJpZ0NBQ0lJUlFSQUlBRkJFR29pQmlnQ0FDSUlSUTBCQ3lBR0lRSWdDQ0VCREFFTEN5QUNRUUEyQWdBTEJTQURLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUFKQUlBTWdBeWdDSENJQ1FRSjBRZHpUQTJvaUJpZ0NBRVlFUUNBR0lBRTJBZ0FnQVVVRVFFR3cwUU1nQlVFQklBSjBRWDl6Y1NJQk5nSUFEQUlMQlNBSlFSQnFJQWxCRkdvZ0F5QUpLQUlRUmhzZ0FUWUNBQ0FCUlFSQUlBVWhBUXdDQ3dzZ0FTQUpOZ0lZSUFNb0FoQWlBZ1JBSUFFZ0FqWUNFQ0FDSUFFMkFoZ0xJQU1vQWhRaUFnUkFJQUVnQWpZQ0ZDQUNJQUUyQWhnTElBVWhBUXNGSUFVaEFRc2dCRUVRU1FSQUlBTWdBQ0FFYWlJQVFRTnlOZ0lFSUFBZ0Eyb2lBQ0FBS0FJRVFRRnlOZ0lFQlFKQUlBTWdBRUVEY2pZQ0JDQUhJQVJCQVhJMkFnUWdCQ0FIYWlBRU5nSUFJQVJCQTNZaEFpQUVRWUFDU1FSQUlBSkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUJRUUVnQW5RaUFuRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQnpZQ0FDQUJJQWMyQWd3Z0J5QUJOZ0lJSUFjZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFuUWlCa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUdJQUIwSWdaQmdJQVBha0VRZGtFQ2NTSUZJQUFnQW5KeWF5QUdJQVYwUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFBZ0J5QUNOZ0ljSUFkQkFEWUNGQ0FIUVFBMkFoQkJBU0FDZENJR0lBRnhSUVJBUWJEUkF5QUJJQVp5TmdJQUlBQWdCellDQUNBSElBQTJBaGdnQnlBSE5nSU1JQWNnQnpZQ0NBd0JDeUFFSUFBb0FnQWlBQ2dDQkVGNGNVWUVRQ0FBSVFFRkFrQWdCRUVBUVJrZ0FrRUJkbXNnQWtFZlJodDBJUUlEUUNBQVFSQnFJQUpCSDNaQkFuUnFJZ1lvQWdBaUFRUkFJQUpCQVhRaEFpQUVJQUVvQWdSQmVIRkdEUUlnQVNFQURBRUxDeUFHSUFjMkFnQWdCeUFBTmdJWUlBY2dCellDRENBSElBYzJBZ2dNQWdzTElBRW9BZ2dpQUNBSE5nSU1JQUVnQnpZQ0NDQUhJQUEyQWdnZ0J5QUJOZ0lNSUFkQkFEWUNHQXNMSUFva0JpQURRUWhxRHdzTEN3c0xDd3NDUUFKQVFiVFJBeWdDQUNJQ0lBQlBCRUJCd05FREtBSUFJUUVnQWlBQWF5SURRUTlMQkVCQndORURJQUFnQVdvaUJEWUNBRUcwMFFNZ0F6WUNBQ0FFSUFOQkFYSTJBZ1FnQVNBQ2FpQUROZ0lBSUFFZ0FFRURjallDQkFWQnRORURRUUEyQWdCQndORURRUUEyQWdBZ0FTQUNRUU55TmdJRUlBRWdBbW9pQUNBQUtBSUVRUUZ5TmdJRUN3d0JDd0pBUWJqUkF5Z0NBQ0lCSUFCTEJFQU1BUXNnQUVFdmFpSUZRWVRWQXlnQ0FBUi9RWXpWQXlnQ0FBVkJqTlVEUVlBZ05nSUFRWWpWQTBHQUlEWUNBRUdRMVFOQmZ6WUNBRUdVMVFOQmZ6WUNBRUdZMVFOQkFEWUNBRUhvMUFOQkFEWUNBRUdFMVFNZ0NrRndjVUhZcXRXcUJYTTJBZ0JCZ0NBTElnSnFJZ05CQUNBQ2F5SUljU0lHSUFCTkJFQU1Bd3RCNU5RREtBSUFJZ0lFUUNBR1FkelVBeWdDQUNJRWFpSUhJQVJOSUFjZ0FrdHlCRUFNQkFzTElBQkJNR29oQndKQUFrQkI2TlFES0FJQVFRUnhCRUJCQUNFQ0JRSkFBa0FDUUVIRTBRTW9BZ0FpQWtVTkFFSHMxQU1oQkFOQUFrQWdCQ2dDQUNJSklBSk5CRUFnQ1NBRUtBSUVhaUFDU3cwQkN5QUVLQUlJSWdRTkFRd0NDd3NnQ0NBRElBRnJjU0lDUWYvLy8vOEhTUVJBSUFJUXVnRWlBU0FFS0FJQUlBUW9BZ1JxUmdSQUlBRkJmMGNOQmdVTUF3c0ZRUUFoQWdzTUFndEJBQkM2QVNJQlFYOUdCSDlCQUFWQjNOUURLQUlBSWdRZ0JpQUJRWWpWQXlnQ0FDSUNRWDlxSWdOcVFRQWdBbXR4SUFGclFRQWdBU0FEY1J0cUlnSnFJUU1nQWtILy8vLy9CMGtnQWlBQVMzRUVmMEhrMUFNb0FnQWlDQVJBSUFNZ0JFMGdBeUFJUzNJRVFFRUFJUUlNQlFzTElBRWdBaEM2QVNJRFJnMEZJQU1oQVF3Q0JVRUFDd3NoQWd3QkN5QUJRWDlISUFKQi8vLy8vd2RKY1NBSElBSkxjVVVFUUNBQlFYOUdCRUJCQUNFQ0RBSUZEQVFMQUF0QmpOVURLQUlBSWdNZ0JTQUNhMnBCQUNBRGEzRWlBMEgvLy8vL0IwOE5Ba0VBSUFKcklRUWdBeEM2QVVGL1JnUi9JQVFRdWdFYVFRQUZJQUlnQTJvaEFnd0RDeUVDQzBIbzFBTkI2TlFES0FJQVFRUnlOZ0lBQ3lBR1FmLy8vLzhIU1FSQUlBWVF1Z0VoQVVFQUVMb0JJZ01nQVdzaUJpQUFRU2hxU3lFRUlBWWdBaUFFR3lFQ0lBUkJBWE1nQVVGL1JuSWdBVUYvUnlBRFFYOUhjU0FCSUFOSmNVRUJjM0pGRFFFTERBRUxRZHpVQXlBQ1FkelVBeWdDQUdvaUF6WUNBQ0FEUWVEVUF5Z0NBRXNFUUVIZzFBTWdBellDQUF0QnhORURLQUlBSWdNRVFBSkFRZXpVQXlFRUFrQUNRQU5BSUFFZ0JDZ0NBQ0lHSUFRb0FnUWlCV3BHRFFFZ0JDZ0NDQ0lFRFFBTERBRUxJQVFvQWd4QkNIRkZCRUFnQmlBRFRTQUJJQU5MY1FSQUlBUWdBaUFGYWpZQ0JDQURRUUFnQTBFSWFpSUJhMEVIY1VFQUlBRkJCM0ViSWdScUlRRWdBa0c0MFFNb0FnQnFJZ1lnQkdzaEFrSEUwUU1nQVRZQ0FFRzQwUU1nQWpZQ0FDQUJJQUpCQVhJMkFnUWdBeUFHYWtFb05nSUVRY2pSQTBHVTFRTW9BZ0EyQWdBTUF3c0xDeUFCUWJ6UkF5Z0NBRWtFUUVHODBRTWdBVFlDQUFzZ0FTQUNhaUVHUWV6VUF5RUVBa0FDUUFOQUlBWWdCQ2dDQUVZTkFTQUVLQUlJSWdRTkFBc01BUXNnQkNnQ0RFRUljVVVFUUNBRUlBRTJBZ0FnQkNBQ0lBUW9BZ1JxTmdJRUlBQWdBVUVBSUFGQkNHb2lBbXRCQjNGQkFDQUNRUWR4RzJvaUIyb2hCU0FHUVFBZ0JrRUlhaUlCYTBFSGNVRUFJQUZCQjNFYmFpSUNJQWRySUFCcklRUWdCeUFBUVFOeU5nSUVJQUlnQTBZRVFFRzQwUU1nQkVHNDBRTW9BZ0JxSWdBMkFnQkJ4TkVESUFVMkFnQWdCU0FBUVFGeU5nSUVCUUpBSUFKQndORURLQUlBUmdSQVFiVFJBeUFFUWJUUkF5Z0NBR29pQURZQ0FFSEEwUU1nQlRZQ0FDQUZJQUJCQVhJMkFnUWdBQ0FGYWlBQU5nSUFEQUVMSUFJb0FnUWlDVUVEY1VFQlJnUkFJQWxCQTNZaEF5QUpRWUFDU1FSQUlBSW9BZ2dpQUNBQ0tBSU1JZ0ZHQkVCQnJORURRYXpSQXlnQ0FFRUJJQU4wUVg5emNUWUNBQVVnQUNBQk5nSU1JQUVnQURZQ0NBc0ZBa0FnQWlnQ0dDRUlJQUlnQWlnQ0RDSUFSZ1JBQWtBZ0FrRVFhaUlCUVFScUlnTW9BZ0FpQUFSQUlBTWhBUVVnQWlnQ0VDSUFSUVJBUVFBaEFBd0NDd3NEUUFKQUlBQkJGR29pQmlnQ0FDSURSUVJBSUFCQkVHb2lCaWdDQUNJRFJRMEJDeUFHSVFFZ0F5RUFEQUVMQ3lBQlFRQTJBZ0FMQlNBQ0tBSUlJZ0VnQURZQ0RDQUFJQUUyQWdnTElBaEZEUUFnQWlBQ0tBSWNJZ0ZCQW5SQjNOTURhaUlES0FJQVJnUkFBa0FnQXlBQU5nSUFJQUFOQUVHdzBRTkJzTkVES0FJQVFRRWdBWFJCZjNOeE5nSUFEQUlMQlNBSVFSQnFJQWhCRkdvZ0FpQUlLQUlRUmhzZ0FEWUNBQ0FBUlEwQkN5QUFJQWcyQWhnZ0FpZ0NFQ0lCQkVBZ0FDQUJOZ0lRSUFFZ0FEWUNHQXNnQWlnQ0ZDSUJSUTBBSUFBZ0FUWUNGQ0FCSUFBMkFoZ0xDeUFDSUFsQmVIRWlBR29oQWlBQUlBUnFJUVFMSUFJZ0FpZ0NCRUYrY1RZQ0JDQUZJQVJCQVhJMkFnUWdCQ0FGYWlBRU5nSUFJQVJCQTNZaEFTQUVRWUFDU1FSQUlBRkJBM1JCMU5FRGFpRUFRYXpSQXlnQ0FDSUNRUUVnQVhRaUFYRUVmeUFBUVFocUlnSW9BZ0FGUWF6UkF5QUJJQUp5TmdJQUlBQkJDR29oQWlBQUN5RUJJQUlnQlRZQ0FDQUJJQVUyQWd3Z0JTQUJOZ0lJSUFVZ0FEWUNEQXdCQ3lBRVFRaDJJZ0FFZnlBRVFmLy8vd2RMQkg5Qkh3VWdBQ0FBUVlEK1AycEJFSFpCQ0hFaUFYUWlBa0dBNEI5cVFSQjJRUVJ4SVFCQkRpQUNJQUIwSWdKQmdJQVBha0VRZGtFQ2NTSURJQUFnQVhKeWF5QUNJQU4wUVE5MmFpSUFRUUYwSUFRZ0FFRUhhblpCQVhGeUN3VkJBQXNpQVVFQ2RFSGMwd05xSVFBZ0JTQUJOZ0ljSUFWQkFEWUNGQ0FGUVFBMkFoQkJzTkVES0FJQUlnSkJBU0FCZENJRGNVVUVRRUd3MFFNZ0FpQURjallDQUNBQUlBVTJBZ0FnQlNBQU5nSVlJQVVnQlRZQ0RDQUZJQVUyQWdnTUFRc2dCQ0FBS0FJQUlnQW9BZ1JCZUhGR0JFQWdBQ0VCQlFKQUlBUkJBRUVaSUFGQkFYWnJJQUZCSDBZYmRDRUNBMEFnQUVFUWFpQUNRUjkyUVFKMGFpSURLQUlBSWdFRVFDQUNRUUYwSVFJZ0JDQUJLQUlFUVhoeFJnMENJQUVoQUF3QkN3c2dBeUFGTmdJQUlBVWdBRFlDR0NBRklBVTJBZ3dnQlNBRk5nSUlEQUlMQ3lBQktBSUlJZ0FnQlRZQ0RDQUJJQVUyQWdnZ0JTQUFOZ0lJSUFVZ0FUWUNEQ0FGUVFBMkFoZ0xDeUFLSkFZZ0IwRUlhZzhMQzBIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lHSUFOTkJFQWdCaUFFS0FJRWFpSUdJQU5MRFFFTElBUW9BZ2doQkF3QkN3dEJ4TkVESUFGQkFDQUJRUWhxSWdSclFRZHhRUUFnQkVFSGNSc2lCR29pQlRZQ0FFRzQwUU1nQWtGWWFpSUlJQVJySWdRMkFnQWdCU0FFUVFGeU5nSUVJQUVnQ0dwQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUlBTkJBQ0FHUVZGcUlnUkJDR29pQld0QkIzRkJBQ0FGUVFkeEd5QUVhaUlFSUFRZ0EwRVFha2tiSWdSQkd6WUNCQ0FFUWV6VUF5a0NBRGNDQ0NBRVFmVFVBeWtDQURjQ0VFSHMxQU1nQVRZQ0FFSHcxQU1nQWpZQ0FFSDQxQU5CQURZQ0FFSDAxQU1nQkVFSWFqWUNBQ0FFUVJocUlRRURRQ0FCUVFScUlnSkJCellDQUNBQlFRaHFJQVpKQkVBZ0FpRUJEQUVMQ3lBRElBUkhCRUFnQkNBRUtBSUVRWDV4TmdJRUlBTWdCQ0FEYXlJR1FRRnlOZ0lFSUFRZ0JqWUNBQ0FHUVFOMklRSWdCa0dBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlCRUVCSUFKMElnSnhCSDhnQVVFSWFpSUVLQUlBQlVHczBRTWdBaUFFY2pZQ0FDQUJRUWhxSVFRZ0FRc2hBaUFFSUFNMkFnQWdBaUFETmdJTUlBTWdBallDQ0NBRElBRTJBZ3dNQWdzZ0JrRUlkaUlCQkg4Z0JrSC8vLzhIU3dSL1FSOEZJQUVnQVVHQS9qOXFRUkIyUVFoeElnSjBJZ1JCZ09BZmFrRVFka0VFY1NFQlFRNGdCQ0FCZENJRVFZQ0FEMnBCRUhaQkFuRWlCU0FCSUFKeWNtc2dCQ0FGZEVFUGRtb2lBVUVCZENBR0lBRkJCMnAyUVFGeGNnc0ZRUUFMSWdKQkFuUkIzTk1EYWlFQklBTWdBallDSENBRFFRQTJBaFFnQTBFQU5nSVFRYkRSQXlnQ0FDSUVRUUVnQW5RaUJYRkZCRUJCc05FRElBUWdCWEkyQWdBZ0FTQUROZ0lBSUFNZ0FUWUNHQ0FESUFNMkFnd2dBeUFETmdJSURBSUxJQVlnQVNnQ0FDSUJLQUlFUVhoeFJnUkFJQUVoQWdVQ1FDQUdRUUJCR1NBQ1FRRjJheUFDUVI5R0czUWhCQU5BSUFGQkVHb2dCRUVmZGtFQ2RHb2lCU2dDQUNJQ0JFQWdCRUVCZENFRUlBWWdBaWdDQkVGNGNVWU5BaUFDSVFFTUFRc0xJQVVnQXpZQ0FDQURJQUUyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXdEQ3dzZ0FpZ0NDQ0lCSUFNMkFnd2dBaUFETmdJSUlBTWdBVFlDQ0NBRElBSTJBZ3dnQTBFQU5nSVlDd3NGUWJ6UkF5Z0NBQ0lEUlNBQklBTkpjZ1JBUWJ6UkF5QUJOZ0lBQzBIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIUTBRTkJoTlVES0FJQU5nSUFRY3pSQTBGL05nSUFRZURSQTBIVTBRTTJBZ0JCM05FRFFkVFJBellDQUVIbzBRTkIzTkVETmdJQVFlVFJBMEhjMFFNMkFnQkI4TkVEUWVUUkF6WUNBRUhzMFFOQjVORUROZ0lBUWZqUkEwSHMwUU0yQWdCQjlORURRZXpSQXpZQ0FFR0EwZ05COU5FRE5nSUFRZnpSQTBIMDBRTTJBZ0JCaU5JRFFmelJBellDQUVHRTBnTkIvTkVETmdJQVFaRFNBMEdFMGdNMkFnQkJqTklEUVlUU0F6WUNBRUdZMGdOQmpOSUROZ0lBUVpUU0EwR00wZ00yQWdCQm9OSURRWlRTQXpZQ0FFR2MwZ05CbE5JRE5nSUFRYWpTQTBHYzBnTTJBZ0JCcE5JRFFaelNBellDQUVHdzBnTkJwTklETmdJQVFhelNBMEdrMGdNMkFnQkJ1TklEUWF6U0F6WUNBRUcwMGdOQnJOSUROZ0lBUWNEU0EwRzAwZ00yQWdCQnZOSURRYlRTQXpZQ0FFSEkwZ05Cdk5JRE5nSUFRY1RTQTBHODBnTTJBZ0JCME5JRFFjVFNBellDQUVITTBnTkJ4TklETmdJQVFkalNBMEhNMGdNMkFnQkIxTklEUWN6U0F6WUNBRUhnMGdOQjFOSUROZ0lBUWR6U0EwSFUwZ00yQWdCQjZOSURRZHpTQXpZQ0FFSGswZ05CM05JRE5nSUFRZkRTQTBIazBnTTJBZ0JCN05JRFFlVFNBellDQUVINDBnTkI3TklETmdJQVFmVFNBMEhzMGdNMkFnQkJnTk1EUWZUU0F6WUNBRUg4MGdOQjlOSUROZ0lBUVlqVEEwSDgwZ00yQWdCQmhOTURRZnpTQXpZQ0FFR1Ewd05CaE5NRE5nSUFRWXpUQTBHRTB3TTJBZ0JCbU5NRFFZelRBellDQUVHVTB3TkJqTk1ETmdJQVFhRFRBMEdVMHdNMkFnQkJuTk1EUVpUVEF6WUNBRUdvMHdOQm5OTUROZ0lBUWFUVEEwR2Mwd00yQWdCQnNOTURRYVRUQXpZQ0FFR3Mwd05CcE5NRE5nSUFRYmpUQTBHczB3TTJBZ0JCdE5NRFFhelRBellDQUVIQTB3TkJ0Tk1ETmdJQVFielRBMEcwMHdNMkFnQkJ5Tk1EUWJ6VEF6WUNBRUhFMHdOQnZOTUROZ0lBUWREVEEwSEUwd00yQWdCQnpOTURRY1RUQXpZQ0FFSFkwd05Cek5NRE5nSUFRZFRUQTBITTB3TTJBZ0JCeE5FRElBRkJBQ0FCUVFocUlnTnJRUWR4UVFBZ0EwRUhjUnNpQTJvaUJEWUNBRUc0MFFNZ0FrRllhaUlDSUFOcklnTTJBZ0FnQkNBRFFRRnlOZ0lFSUFFZ0FtcEJLRFlDQkVISTBRTkJsTlVES0FJQU5nSUFDMEc0MFFNb0FnQWlBU0FBU3dSQURBSUxDMEdreFFOQk1EWUNBQXdDQzBHNDBRTWdBU0FBYXlJQ05nSUFRY1RSQXlBQVFjVFJBeWdDQUNJQmFpSUROZ0lBSUFNZ0FrRUJjallDQkNBQklBQkJBM0kyQWdRTElBb2tCaUFCUVFocUR3c2dDaVFHUVFBTG1BSUJCSDhnQUNBQ2FpRUVJQUZCL3dGeElRTWdBa0hEQUU0RVFBTkFJQUJCQTNFRVFDQUFJQU02QUFBZ0FFRUJhaUVBREFFTEN5QURRUWgwSUFOeUlBTkJFSFJ5SUFOQkdIUnlJUUVnQkVGOGNTSUZRVUJxSVFZRFFDQUFJQVpNQkVBZ0FDQUJOZ0lBSUFBZ0FUWUNCQ0FBSUFFMkFnZ2dBQ0FCTmdJTUlBQWdBVFlDRUNBQUlBRTJBaFFnQUNBQk5nSVlJQUFnQVRZQ0hDQUFJQUUyQWlBZ0FDQUJOZ0lrSUFBZ0FUWUNLQ0FBSUFFMkFpd2dBQ0FCTmdJd0lBQWdBVFlDTkNBQUlBRTJBamdnQUNBQk5nSThJQUJCUUdzaEFBd0JDd3NEUUNBQUlBVklCRUFnQUNBQk5nSUFJQUJCQkdvaEFBd0JDd3NMQTBBZ0FDQUVTQVJBSUFBZ0F6b0FBQ0FBUVFGcUlRQU1BUXNMSUFRZ0Ftc0xCZ0JCRVJBQ0N4b0FJQUFzQUF0QkFFZ0VRQ0FBS0FJSUdpQUFLQUlBRURnTEN3OEFJQUVFZnlBQUlBRnVCVUVBQ3dzU0FDQUFCRUFnQUNnQ0FCQTRJQUFRT0FzTGZ3RUVmeU1HSVFJakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJRUJIOGdBQ2dDQkFVZ0EwSC9BWEVMSWdNZ0FVa0VRQ0FBSUFFZ0Eyc1E1QWtGSUFRRVFBSi9JQUVnQUNnQ0FHb2hCU0FDUVFBNkFBQWdCUXNnQWhCZklBQWdBVFlDQkFVZ0FrRUFPZ0FBSUFBZ0FXb2dBaEJmSUFBZ0FUb0FDd3NMSUFJa0Jnc1FBQ0FBUWZENEFDQUJLQUlBdHhBWEM4WURBUU4vSUFKQmdNQUFUZ1JBSUFBZ0FTQUNFQ1VhSUFBUEN5QUFJUVFnQUNBQ2FpRURJQUJCQTNFZ0FVRURjVVlFUUFOQUlBQkJBM0VFUUNBQ1JRUkFJQVFQQ3lBQUlBRXNBQUE2QUFBZ0FFRUJhaUVBSUFGQkFXb2hBU0FDUVFGcklRSU1BUXNMSUFOQmZIRWlBa0ZBYWlFRkEwQWdBQ0FGVEFSQUlBQWdBU2dDQURZQ0FDQUFJQUVvQWdRMkFnUWdBQ0FCS0FJSU5nSUlJQUFnQVNnQ0REWUNEQ0FBSUFFb0FoQTJBaEFnQUNBQktBSVVOZ0lVSUFBZ0FTZ0NHRFlDR0NBQUlBRW9BaHcyQWh3Z0FDQUJLQUlnTmdJZ0lBQWdBU2dDSkRZQ0pDQUFJQUVvQWlnMkFpZ2dBQ0FCS0FJc05nSXNJQUFnQVNnQ01EWUNNQ0FBSUFFb0FqUTJBalFnQUNBQktBSTROZ0k0SUFBZ0FTZ0NQRFlDUENBQVFVQnJJUUFnQVVGQWF5RUJEQUVMQ3dOQUlBQWdBa2dFUUNBQUlBRW9BZ0EyQWdBZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzRklBTkJCR3NoQWdOQUlBQWdBa2dFUUNBQUlBRXNBQUE2QUFBZ0FDQUJMQUFCT2dBQklBQWdBU3dBQWpvQUFpQUFJQUVzQUFNNkFBTWdBRUVFYWlFQUlBRkJCR29oQVF3QkN3c0xBMEFnQUNBRFNBUkFJQUFnQVN3QUFEb0FBQ0FBUVFGcUlRQWdBVUVCYWlFQkRBRUxDeUFFQ3gwQUlBQW9BaGdnQUNnQ0JDQUFLQUlJSUFBb0Fnd2dBU0FDRU40SUN3OEFJQUVFZnlBQUlBRndCVUVBQ3dzUEFDQUJCSDhnQUNBQmJ3VkJBQXNMb1FFQkEzOGpCaUVDSXdaQkVHb2tCaUFBS0FJSUlBRkxCRUFnQUNnQ0dDQUJJQUFvQWd4c2FpRUVJQUlrQmlBRUR3VWdBa0hBeUFOQjdjUUJFRGRCa3NVQkVEZEI3NklDRURkQi9BQVFQa0gyb2dJUU4wR0J4Z0VRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQWtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQWhBOElBTWdBQkJBSUFNUVB4QUFDMEVBQ3hVQUlBQkJBU0FBR3hCRUlnQUVmeUFBQlVFQUN3dXFCQUlKZndKOUl3WWhCU01HUVNCcUpBWWdCVUVFYWlFRUlBVWdBRFlDQUNBQUtBSUFJUU1DUUFKQVFhREVBeWdDQUNJQlJTSUpCRUJCQUNFQURBRUZJQUVnQVVGL2FpSUljVVVpQndSL0lBTWdDSEVGSUFNZ0FVa0VmeUFEQlNBRElBRVFUZ3NMSWdCQkFuUkJuTVFES0FJQWFpZ0NBQ0lDQkVBRFFDQUNLQUlBSWdKRkRRTWdBeUFDS0FJRUlnWkhCRUFnQndSL0lBWWdDSEVGSUFZZ0FVOEVmeUFHSUFFUVRnVWdCZ3NMSUFCSERRUUxJQU1nQWlnQ0NFY05BQXNGREFJTEN3d0JDeUFFSUFNZ0JSRG9Ca0dzeEFNcUFnQWlDaUFCczVSQnFNUURLQUlBUVFGcXN5SUxYU0FKY2dSQUFuOGdDeUFLbFkwUWtnRWlBaUFCUVg5cUlBRnhRUUJISUFGQkEwbHlJQUZCQVhSeUlnQWdBQ0FDU1JzUTV3WkJvTVFES0FJQUlnSkJmMm9pQUNBRGNTQUFJQUp4UlEwQUdpQURJQUpKQkg4Z0F3VWdBeUFDRUU0TEN5RUFCU0FCSVFJTFFaekVBeWdDQUNBQVFRSjBhaWdDQUNJQkJIOGdCQ2dDQUNBQktBSUFOZ0lBSUFFZ0JDZ0NBRFlDQUNBRUJTQUVLQUlBUWFURUF5Z0NBRFlDQUVHa3hBTWdCQ2dDQURZQ0FFR2N4QU1vQWdBZ0FFRUNkR3BCcE1RRE5nSUFJQVFvQWdBaUJ5Z0NBQ0lBQkVBZ0FDZ0NCQ0VBSUFJZ0FrRi9haUlCY1FSL0lBQWdBazhFZnlBQUlBSVFUZ1VnQUFzRklBQWdBWEVMSVFCQm5NUURLQUlBSUFCQkFuUnFJQWMyQWdBTElBUUxJZ0FvQWdBaEFrR294QU5CcU1RREtBSUFRUUZxTmdJQUlBQkJBRFlDQUFzZ0JTUUdJQUpCRUdvTHVnRUJCbjhnQUNnQ0FDRUJRYURFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUVp6RUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2Q0FRSURmd0YrQWtBQ1FDQUFLUU53SWdSUVJRUkFJQUFwQTNnZ0JGa05BUXNnQUJEMUFTSUNRUUJJRFFBZ0FDZ0NDQ0VCQWtBQ1FDQUFLUU53SWdSUURRQWdCQ0FBS1FONGZTSUVJQUVnQUNnQ0JDSURhNnhWRFFBZ0FDQURJQVNuUVg5cWFqWUNhQXdCQ3lBQklRTWdBQ0FCTmdKb0N5QUNJQUVFZnlBQUlBQXBBM2dnQVVFQmFpQUFLQUlFSWdGcnJIdzNBM2dnQVFVZ0FDZ0NCQXRCZjJvaUFDMEFBRWNFUUNBQUlBSTZBQUFMREFFTElBQkJBRFlDYUVGL0lRSUxJQUlMSXdFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUFvQWdnYUlBRVFPQXNMRGdBZ0FDQUJJQUVRdEFFUTRna0xEUUFnQUNBQklBRVFZQkRuQ1FzSUFFRURFQUpCQUF0R0FnSi9BWDBqQmlFRkl3WkJFR29rQmdKL0lBQWdBeUFFRUt3QklRWWdCVUVFYWlBRklBRWdBaUFERU1zQ0lBWUxJQVVxQWdRZ0JTb0NBQkN2QnlFSElBVWtCaUFIQ3drQUlBQWdBQkREQXd0R0FDQUFJQUVxQWdnZ0FTb0NBQ0FDS2dJQWxDQUJLZ0lFSUFJcUFnU1VrcEk0QWdBZ0FDQUJLZ0lVSUFFcUFnd2dBaW9DQUpRZ0FTb0NFQ0FDS2dJRWxKS1NPQUlFQ3kwQVFmQytBeXdBQUVVRVFFSHd2Z01RY0FSQVFZak9BeEQ5QkRZQ0FFSHd2Z01RYndzTFFZak9BeWdDQUF1ekJRRUlmeUFBS0FMVUF5SUVLQUlRSWdKQmdJQUNTQVJBSUFSQkRHb2hCU0FFS0FJVUlRTURmeUFFSUFOQmYyb2lBallDRkNBRFFRRklCRUFnQUNnQ3VBTUVRRUVBSVFNRklBQW9BaGdpQWlnQ0JFVUVRQ0FDS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdOQkdUWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUNJQUlvQWdSQmYybzJBZ1FnQWlBQ0tBSUFJZ0pCQVdvMkFnQWdBaXdBQUNJRFFmOEJjU0VDSUFOQmYwWUVRQUovQTBBQ1FDQUFLQUlZSWdJb0FnUkZCRUFnQWlnQ0RDRURJQUFnQTBIL0FIRkJDR29SQUFCRkJFQWdBQ2dDQUNJRFFSazJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN3c2dBaUFDS0FJRVFYOXFOZ0lFSUFJZ0FpZ0NBQ0lDUVFGcU5nSUFBa0FDUUNBQ0xBQUFJZ0pCZjJzT0FnRUFBZ3RCL3dFTUF3c01BUXNMSUFBZ0FrSC9BWEUyQXJnRFFRQUxJUUlMSUFJaEF5QUVLQUlVSVFJTElBVWdBeUFGS0FJQVFRaDBjallDQUNBRUlBSkJDR29pQXpZQ0ZDQUNRWGhJQkVBZ0JDQUNRUWxxSWdJMkFoUWdBa1VFUUNBRVFZQ0FBallDRUVFQUlRSUxCU0FESVFJTEN5QUVJQVFvQWhCQkFYUWlBellDRUNBRFFZQ0FBa2dFZnlBQ0lRTU1BUVVnQXdzTElRQUZJQUloQUNBRVFReHFJUVVnQkNnQ0ZDRUNDeUFCTFFBQUlnTkIvd0J4UVFKMFFaQW1haWdDQUNJR1FRaDFJUWdnQkNBQUlBWkJFSFVpQjJzaUFEWUNFQ0FGS0FJQUlna2dBQ0FDZENJQ1RnUkFJQVVnQ1NBQ2F6WUNBQ0FFSUFjMkFoQWdBMEdBQVhFaEFpQUFJQWRJQkVBZ0FTQUNJQWh6T2dBQUlBTkJCM1VQQlNBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVUEN3QUxJQUJCZ0lBQ1RnUkFJQU5CQjNVUEN5QURRWUFCY1NFQ0lBQWdCMGdFZnlBQklBSWdCbk02QUFBZ0EwR0FBWE5CQjNVRklBRWdBaUFJY3pvQUFDQURRUWQxQ3dzR0FDQUFFRGdMREFBZ0FDQUJMQUFBT2dBQUM0MEJBUU4vQWtBQ1FDQUFJZ0pCQTNGRkRRQWdBaUlCSVFBQ1FBTkFJQUVzQUFCRkRRRWdBVUVCYWlJQklnQkJBM0VOQUFzZ0FTRUFEQUVMREFFTEEwQWdBRUVFYWlFQklBQW9BZ0FpQTBILy9mdDNhaUFEUVlDQmdvUjRjVUdBZ1lLRWVITnhSUVJBSUFFaEFBd0JDd3NnQTBIL0FYRUVRQU5BSUFCQkFXb2lBQ3dBQUEwQUN3c0xJQUFnQW1zTDJBRUJBMzhnQXlnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFCSUFKc0lRVWdBeUFETEFCS0lnUWdCRUgvQVdweU9nQktJQUpCQUNBQkd5RUNBa0FnQXlnQ0NDQURLQUlFSWdacklnUkJBRW9FZnlBQUlBWWdCQ0FGSUFRZ0JVa2JJZ1FRVEJvZ0F5QUVJQU1vQWdScU5nSUVJQUFnQkdvaEFDQUZJQVJyQlNBRkN5SUVSUTBBSUFBaEJpQUVJUUFEUUFKQUlBTVFwd0lOQUNBRElBWWdBQ0FES0FJZ1FUOXhRY29CYWhFRUFDSUVRUUZxUVFKSkRRQWdBQ0FFYXlJQVJRMENJQVFnQm1vaEJnd0JDd3NnQlNBQWF5QUJFRWdoQWdzZ0Fnc3hBUUYvUWVpSkFTZ0NBQ0VCSUFBRVFFSG9pUUZCak1VRElBQWdBRUYvUmhzMkFnQUxRWDhnQVNBQlFZekZBMFliQ3dNQUFRc0lBRUVHRUFKQkFBdTRBUUVCZlNBQ0lBRVF3d01oQXlBQUlBQXFBZ0FnQXlBQktnSUFsSk00QWdBZ0FDQUFLZ0lFSUFNZ0FTb0NCSlNUT0FJRUlBQWdBQ29DQ0NBRElBRXFBZ2lVa3pnQ0NDQUFJQUFxQWd3Z0F5QUJLZ0lNbEpNNEFnd2dBQ0FBS2dJUUlBTWdBU29DRUpTVE9BSVFJQUFnQUNvQ0ZDQURJQUVxQWhTVWt6Z0NGQ0FBSUFBcUFoZ2dBeUFCS2dJWWxKTTRBaGdnQUNBQUtnSWNJQU1nQVNvQ0hKU1RPQUljSUFBZ0FDb0NJQ0FESUFFcUFpQ1VremdDSUFzSUFFRUxFQUpCQUF2WEF3RUdmeUFBS0FJQUlRUWdBQ2dDQkNFSEFrQUNRQ0FBS0FJUUlnVW9BcmdEQkVBZ0FTRUlJQUloQmlBSElRSWdCQ0VCREFFRklBSkJHVWdFUUFKQUlBRWhDQ0FDSVFZQ1FBTkFBa0FnQjBVRVFDQUZLQUlZS0FJTUlRRWdCU0FCUWY4QWNVRUlhaEVBQUVVTkF5QUZLQUlZSWdFb0FnUWhCeUFCS0FJQUlRUUxJQWRCZjJvaEFpQUVRUUZxSVFFZ0JDd0FBQ0lIUWY4QmNTRUVJQWRCZjBZRVFBTkFBa0FnQWdSL0lBRUZJQVVvQWhnb0Fnd2hBU0FGSUFGQi93QnhRUWhxRVFBQVJRMEdJQVVvQWhnaUFTZ0NCQ0VDSUFFb0FnQUxJUVFnQWtGL2FpRUNJQVJCQVdvaEFRSkFBa0FnQkN3QUFDSUVRWDlyRGdJQkFBVUxRZjhCSVFRTUFRc01BUXNMQ3lBRUlBaEJDSFJ5SVFnZ0JrRUlhaUVKSUFaQkVVZ0VRQ0FDSVFjZ0FTRUVJQWtoQmd3Q0JTQUpJUVlNQkFzQUN3c2dCU0FFUWY4QmNUWUN1QU1NQkF0QkFBOExCU0FCSVFnZ0FpRUdJQWNoQWlBRUlRRUxDd3dCQ3lBR0lBTklCRUFnQlNnQzFBTW9BaWhGQkVBZ0JTZ0NBQ0lEUWZnQU5nSVVJQU1vQWdRaEF5QUZRWDhnQTBFL2NVR3lCV29SQXdBZ0JTZ0MxQU5CQVRZQ0tBc2dDRUVaSUFacmRDRUlRUmtoQmdzTElBQWdBVFlDQUNBQUlBSTJBZ1FnQUNBSU5nSUlJQUFnQmpZQ0RFRUJDdzRBSUFFZ0FFRi9hbW9nQVJBNUN3Y0FJQUFnQUpRTG5RRUJCSDhnQUNnQ1RFRi9TZ1IvUVFFRlFRQUxHaUFBRUp3RklBQW9BZ0JCQVhGQkFFY2lCRVVFUUJDckFpRUJJQUFvQWpRaUFnUkFJQUlnQUNnQ09EWUNPQXNnQUNnQ09DSURCRUFnQXlBQ05nSTBDeUFBSUFFb0FnQkdCRUFnQVNBRE5nSUFDMEdveFFNUURnc2dBQkNwQWhvZ0FDQUFLQUlNUWY4QWNVRUlhaEVBQUJvZ0FDZ0NZQ0lCQkVBZ0FSQTRDeUFFUlFSQUlBQVFPQXNMcVFFQ0NIOEJmQ01HSVFNakJrRXdhaVFHSUFBUW53Y0NmeERqQXlFSUlBTkJHR29pQVJDN0F5QUJMQUFMSVFVZ0FTZ0NBQ0VHSUFCQkVHb2lBaXdBQzBFQVNBUi9JQUlvQWdBRklBSUxJUWNnQUJDZUIwUUFBQUFBQUVDUFFLSWhDU0FESWdCQjhLTUNOZ0lBSUFBZ0JpQUJJQVZCQUVnYk5nSUVJQUJCK0tNQ05nSUlJQUFnQnpZQ0RDQUFJQWs1QXhBZ0NBdEIxYU1DSUFBUXR3TWdBUkJISUFJUVJ5QUFKQVlMUkFBZ0FDQUJjeUlBSUFCQkFYWkIxYXJWcWdWeGF5SUFRYlBtekprRGNTQUFRUUoyUWJQbXpKa0RjV29pQUVFRWRpQUFha0dQbnJ6NEFIRkJnWUtFQ0d4QkdIWUxmZ0VEZnlBQlF3QUFBRCtTRUVNZ0FDZ0NFR29oQlNBQ1F3QUFBRCtTRUVNZ0FDZ0NGR29oQmlBRlFRQklCSDlCZndVZ0JrRUFTQ0FGSUFBb0FnZ2lCMDV5Qkg5QmZ3VWdCaUFBS0FJTVNBUi9JQU1nQUNnQ0FDQUdJQWRzSUFWcVFRTjBhaUlBS0FJQU5nSUFJQVFnQUNnQ0JEWUNBRUVBQlVGL0N3c0xDd3dBSUFBZ0FTZ0NBRFlDQUFzV0FDQUFRUUEyQWdBZ0FDQUFLQUlBUVFGeU5nSUFDdzBBSUFBc0FBQkJBRWRCQVhNTEVRQWdBQ2dDRkNBQUtBSVFhMEVVRURrTEdBQWdBQ2dDQUVFZ2NVVUVRQ0FCSUFJZ0FCQ1hBeG9MQzBBQUlBQWdBR0lFZjBHQWdJQ0FlQVVnQUVRQUFBQUFBQURnUVdZRWYwR0FnSUNBZUFVZ0FFUUFBQ0FBQUFEZ3dXVUVmMEdBZ0lDQWVBVWdBS29MQ3dzTEJ3QWdBRUVFYWd0OUFRSi9Jd1loQlNNR1FZQUNhaVFHSUFSQmdNQUVjVVVnQWlBRFNuRUVRQ0FGSUFGQkdIUkJHSFVnQWlBRGF5SUJRWUFDSUFGQmdBSkpHeEJGR2lBQlFmOEJTd1JBSUFJZ0Eyc2hCZ05BSUFBZ0JVR0FBaEJ5SUFGQmdINXFJZ0ZCL3dGTERRQUxJQVpCL3dGeElRRUxJQUFnQlNBQkVISUxJQVVrQmdzR0FFRVpFQUlMT1FFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQkRZQ0FDQUNFR0loQWlBQUlBRWdBeUFGRUtrQklRWWdBZ1JBSUFJUVlob0xJQVVrQmlBR0M1WUNBUVIvSUFBb0FnUWlCaUFBTEFBTElnUkIvd0Z4SWdVZ0JFRUFTQnNFUUFKQUlBRWdBa2NFUUNBQ0lRUWdBU0VGQTBBZ0JTQUVRWHhxSWdSSkJFQWdCU2dDQUNFR0lBVWdCQ2dDQURZQ0FDQUVJQVkyQWdBZ0JVRUVhaUVGREFFTEN5QUFMQUFMSWdSQi93RnhJUVVnQUNnQ0JDRUdDeUFDUVh4cUlRY2dBQ2dDQUNBQUlBUkJHSFJCR0hWQkFFZ2lBaHNpQUNBR0lBVWdBaHRxSVFVQ1FBSkFBMEFDUUNBQUxBQUFJZ0pCQUVvZ0FrSC9BRWR4SVFRZ0FTQUhUdzBBSUFRRVFDQUJLQUlBSUFKSERRTUxJQUZCQkdvaEFTQUFRUUZxSUFBZ0JTQUFhMEVCU2hzaEFBd0JDd3NNQVFzZ0EwRUVOZ0lBREFFTElBUUVRQ0FIS0FJQVFYOXFJQUpQQkVBZ0EwRUVOZ0lBQ3dzTEN3dENBUUYvSUFCRUFBQUFBQUFBOEw4NUF3QWdBRVFBQUFBQUFBRHd2emtEQ0NBQVFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBQVFvQWNMQ0FCQkJSQUNRUUFMcmdVQ0MzOENmU01HSVFjakJrRWdhaVFHSUFkQkNHb2hCU0FCUVg5TUJFQWdCVUhBeUFOQjlJMENFRGRCczRvQ0VEZEI3NklDRURkQm9nSVFQa0gyb2dJUU4wR1dqZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUUlnQkVFS0lBSkJQM0ZCaWdGcUVRSUFJUUlnQlJBOElBTWdBaEJBSUFNUVB4QUFDeUFGSUFFMkFnQWdBRUhjQUdvaUJpQUZFT2dESWdJRVFDQUNJQUlvQWd4QkFXbzJBZ3dGSUFjZ0FUWUNBQ0FIUVFFMkFnUUNRQUpBSUFBb0FtQWlCRVVpQ2dSQVFRQWhBZ3dCQlNBRUlBUkJmMm9pQ1hGRklnc0VmeUFCSUFseEJTQUVJQUZMQkg4Z0FRVWdBU0FFRUU0TEN5SUNRUUowSUFZb0FnQnFLQUlBSWdNRVFBTkFJQU1vQWdBaUEwVU5BeUFES0FJRUlnZ2dBVWNFUUNBTEJIOGdDQ0FKY1FVZ0NDQUVUd1IvSUFnZ0JCQk9CU0FJQ3dzZ0FrY05CQXNnQXlnQ0NDQUJSdzBBQ3dVTUFnc0xEQUVMSUFVZ0JpQUJJQWNRdkFjZ0NpQUFLZ0pzSWcwZ0JMT1VJQUFvQW1oQkFXcXpJZzVkY2dSL0FuOGdCaUFPSUEyVmpSQ1NBU0lESUFRZ0JFRi9hbkZCQUVjZ0JFRURTWElnQkVFQmRISWlBaUFDSUFOSkd4REZBaUFBS0FKZ0lnTkJmMm9oQWlBQklBSnhJQUlnQTNGRkRRQWFJQU1nQVUwRWZ5QUJJQU1RVGdVZ0FRc0xCU0FFSVFNZ0Fnc2hBU0FHS0FJQUlBRkJBblJxS0FJQUlnSUVmeUFGS0FJQUlBSW9BZ0EyQWdBZ0FpQUZLQUlBTmdJQUlBVUZJQVVvQWdBZ0FDZ0NaRFlDQUNBQUlBVW9BZ0EyQW1RZ0JpZ0NBQ0FCUVFKMGFpQUFRZVFBYWpZQ0FDQUZLQUlBSWdRb0FnQWlBUVJBSUFFb0FnUWhBU0FESUFOQmYyb2lBbkVFZnlBQklBTlBCSDhnQVNBREVFNEZJQUVMQlNBQklBSnhDeUVCSUFZb0FnQWdBVUVDZEdvZ0JEWUNBQXNnQlFzaERDQUFJQUFvQW1oQkFXbzJBbWdnREVFQU5nSUFDd3NnQnlRR0MvWUlBUWQvSXdZaEJpTUdRUkJxSkFZZ0FVRi9UQVJBSUFaQndNZ0RRYW1PQWhBM1FiT0tBaEEzUWUraUFoQTNRYVVCRUQ1QjlxSUNFRGRCeW80Q0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FISUFVUVFDQUhFRDhRQUFzZ0FDZ0NOQ0lLSUFGTUJFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnBnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFDUVg5TUJFQWdCa0hBeUFOQmhJOENFRGRCczRvQ0VEZEI3NklDRURkQnB3RVFQa0gyb2dJUU4wR2xqd0lRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlJS0FJQUtBSWNJUVVnQ0VFS0lBVkJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBY2dCUkJBSUFjUVB4QUFDeUFBS0FJNElnc2dBa3dFUUNBR1FjRElBMEczandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdvQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBTkJmMHdFUUNBR1FjRElBMEhmandJUU4wR3ppZ0lRTjBIdm9nSVFOMEdwQVJBK1FmYWlBaEEzUVlTUUFoQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnZ29BZ0FvQWh3aEJTQUlRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUdFRHdnQnlBRkVFQWdCeEEvRUFBTElBQW9BandpQnlBRFRBUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhb0JFRDVCOXFJQ0VEZEJoSkFDRURjaUNTZ0NBRUYwYWlnQ0FDQUphaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQkVGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1Fhc0JFRDVCOXFJQ0VEZEI3NUFDRURjaUNTQUpLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUpJQVVRUUNBSkVEOFFBQXNnQUVGQWF5Z0NBQ0FFVEFSQUlBWkJ3TWdEUVlXUkFoQTNRYk9LQWhBM1FlK2lBaEEzUWF3QkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBU0FDSUFwc2FpSUJJQU1nQUNnQ1ZHeHFJQVFnQUNnQ1dHeHFJZ0FnQVNBRElBUWdCMnhxSUFvZ0MyeHNha29FUUNBR1FjRElBMEcxa1FJUU4wR3ppZ0lRTjBIdm9nSVFOMEd3QVJBK1FmYWlBaEEzUVphT0FoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUdFRHdnQWlBQUVFQWdBaEEvRUFBRklBWWtCaUFBRHd0QkFBdEZBUUovQTBBQ1FDQURJQUpPRFFBZ0EwRURkQ0FCYWlnQ0FDSUVSUTBBSUFBZ0JFWUVRQ0FEUVFOMFFRUnFJQUZxS0FJQUR3VWdBMEVCYWlFRERBSUxBQXNMUVFBTGNnRURmeU1HSVFNakJrRVFhaVFHSUFKQmIwc0VRQkFBQ3lBQ1FRdEpCRUFnQUNBQ09nQUxCU0FBSUFKQkVHcEJjSEVpQkJCUklnVTJBZ0FnQUNBRVFZQ0FnSUI0Y2pZQ0NDQUFJQUkyQWdRZ0JTRUFDeUFBSUFFZ0FoQ29BU0FEUVFBNkFBQWdBQ0FDYWlBREVGOGdBeVFHQ3dRQVFRQUxEUUFnQUNBRGxDQUJJQUtVa3dzYkFDQUNCSDhnQUNnQ0JDQUJLQUlFRUxNQlJRVWdBQ0FCUmdzTFJRSUNmd0YrSUFBZ0FUY0RjQ0FBSUFBb0FnZ2lBaUFBS0FJRUlnTnJyQ0lFTndONElBRkNBRklnQkNBQlZYRUVRQ0FBSUFNZ0FhZHFOZ0pvQlNBQUlBSTJBbWdMQ3ljQkFuOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBQ0FCSUFNUWxRTWhCQ0FESkFZZ0JBc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUUpCekljQlFaalBBa0VlSUFFUUNTQURDeVFHQ3pFQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTUxCd0FnQUVFSWFnczhBUUovSUFBb0FnUWdBQ2dDQUNJRGEwRUNkU0lDSUFGSkJFQWdBQ0FCSUFKckVQOElCU0FDSUFGTEJFQWdBQ0FCUVFKMElBTnFOZ0lFQ3dzTEV3QWdBRUdnaXdFMkFnQWdBRUVFYWhEb0NRdUJBUUFDUUFKQUlBSW9BZ1JCc0FGeFFSaDBRUmgxUVJCcklnSUVRQ0FDUVJCR0JFQU1BZ1VNQXdzQUN3SkFBa0FnQUN3QUFDSUNRU3RyRGdNQUFRQUJDeUFBUVFGcUlRQU1BZ3NnQWtFd1JpQUJJQUJyUVFGS2NVVU5BU0FBTEFBQlFkZ0FheUlCUVFBZ0FVRWdSeHNOQVNBQVFRSnFJUUFNQVFzZ0FTRUFDeUFBQ3dvQUlBQkJVR3BCQ2trTFFRRUNmMEVNRUVRaUFnUkFJQUlnQVNBQVFRTjBiQkJFSWdNMkFnQWdBd1JBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0ZJQUlRT0VFQUlRSUxCVUVBSVFJTElBSUwzQUVCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnZ0FDZ0NEQ0VDSUFBZ0FTZ0NERFlDRENBQklBSTJBZ3dnQUNnQ0VDRUNJQUFnQVNnQ0VEWUNFQ0FCSUFJMkFoQWdBQ2dDRkNFQ0lBQWdBU2dDRkRZQ0ZDQUJJQUkyQWhRZ0FDZ0NHQ0VDSUFBZ0FTZ0NHRFlDR0NBQklBSTJBaGdnQUNnQ0hDRUNJQUFnQVNnQ0hEWUNIQ0FCSUFJMkFod2dBQ2dDSUNFQ0lBQWdBU2dDSURZQ0lDQUJJQUkyQWlBTEZRQWdBQVIvSUFBZ0FUa0RnQUZCQUFWQmZ3c2FDN2dDQWdWL0Fud2pCaUVISXdaQklHb2tCaUFIUVFocUlRWWdCMEVVYWlJSUlBUkJCSFFRUkNJS05nSUFJQXBGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBSFFSQnFJUVlnQ0NBRVFSaHNFRVFpQ1RZQ0JDQUpSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXRCQUNFR0EwQWdCaUFFU0FSQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzREFEa0RBQ0FHUVFSMElBcHFJQVpCQkhRZ0Ftb3JBd2c1QXdnZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNQU9RTUFJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXhBNUF4QWdCa0VCYWlFR0RBRUxDeUFJSUFRMkFnZ2dBQ2dDQUNBSUlBRWdCU0FIRUowRVFRQklCRUFnQjBRQUFBQUFoTmVYUVRrREFBc2dDQ2dDQUJBNElBZ29BZ1FRT0NBSEt3TUFJUXdnQnlRR0lBd0xOUUFnQUVJQU53SUFJQUJCQURZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUFha0VBTmdJQUlBRkJBV29oQVF3QkN3c0xVUUVCZkNBQUlBQ2lJZ0FnQUtJaEFVUUFBQUFBQUFEd1B5QUFSSUZlRFAzLy85OC9vcUVnQVVSQ09nWGhVMVdsUDZLZ0lBQWdBYUlnQUVScFVPN2dRcFA1UHFKRUp4NFA2SWZBVnIrZ29xQzJDMHNCQW53Z0FDQUFvaUlCSUFDaUlnSWdBU0FCb3FJZ0FVU25SanVNaDgzR1BxSkVkT2ZLNHZrQUtyK2dvaUFDSUFGRXN2dHVpUkFSZ1QraVJIZXN5MVJWVmNXL29LSWdBS0NndGdzc0FDQUFJQUJjQkg5QkFBVWdBRU1BQUlCUFlBUi9RUUFGSUFCREFBQ0F2MThFZjBFQUJTQUFxUXNMQ3dzMEFRRi9JQUVnQW13aEJDQUNRUUFnQVJzaEFpQURLQUpNR2lBRUlBQWdCQ0FERUpjRElnQkhCSDhnQUNBQkVFZ0ZJQUlMQzNjQUlBQWdBU29DQUNBQ2xEZ0NBQ0FBSUFFcUFnUWdBcFE0QWdRZ0FDQUJLZ0lJSUFLVU9BSUlJQUFnQVNvQ0RDQUNsRGdDRENBQUlBRXFBaEFnQXBRNEFoQWdBQ0FCS2dJVUlBS1VPQUlVSUFBZ0FTb0NHQ0FDbERnQ0dDQUFJQUVxQWh3Z0FwUTRBaHdnQUNBQktnSWdJQUtVT0FJZ0MwRUJBWDhnQUNnQ0JDSUFCRUFnQUNBQUtBSUVJZ0ZCZjJvMkFnUWdBVVVFUUNBQUtBSUFLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJEcUNRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dFZ0FDZ0NCQ0FBS0FJQWEwRURkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQ2RTSUdJQVlnQTBrYlFmLy8vLzhCSUFWQkEzVkIvLy8vL3dCSkd5QUFLQUlFSUFSclFRTjFJQUJCQ0dvUWlBSWdBaWdDQ0NBQktRSUFOd0lBSUFJZ0FpZ0NDRUVJYWpZQ0NDQUFJQUlRelFJZ0FoRE1BaUFDSkFZTEM2UUNBUVYvSXdZaEJ5TUdRUkJxSkFZZ0FDZ0NBQ0lHQkVBQ1FDQUVLQUlNSVFnZ0FpQUJheUlKUVFCS0JFQWdCaWdDQUNnQ01DRUtJQVlnQVNBSklBcEJQM0ZCeWdGcUVRUUFJQWxIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ0NBRElBRnJJZ0ZyUVFBZ0NDQUJTaHNpQVVFQVNnUkFJQWRDQURjQ0FDQUhRUUEyQWdnZ0J5QUJJQVVRbGdRZ0JpZ0NBQ2dDTUNFRklBWWdCeWdDQUNBSElBY3NBQXRCQUVnYklBRWdCVUUvY1VIS0FXb1JCQUFnQVVZRVFDQUhFRWNGSUFCQkFEWUNBQ0FIRUVkQkFDRUdEQUlMQ3lBRElBSnJJZ0ZCQUVvRVFDQUdLQUlBS0FJd0lRTWdCaUFDSUFFZ0EwRS9jVUhLQVdvUkJBQWdBVWNFUUNBQVFRQTJBZ0JCQUNFR0RBSUxDeUFFUVFBMkFnd0xCVUVBSVFZTElBY2tCaUFHQ3dnQVFRa1FBa0VBQzdVSEFRaC9JQUFvQWdBaUJ3Ui9JQWNvQWd3aUJpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRWUNRQUpBQWtBZ0FTZ0NBQ0lIQkVBZ0J5Z0NEQ0lGSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUdCRUFNQkFVTUF3c0FDd3NnQmtVRVFFRUFJUWNNQWdzTElBSWdBaWdDQUVFR2NqWUNBRUVBSVFjTUFRc2dBMEdBRUNBQUtBSUFJZ1lvQWd3aUJTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTElnWWdBeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZCRUFnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCd3dCQ3lBRElBWkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFRWFqWUNEQ0FGS0FJQUdnc2dDMEVZZEVFWWRTRUZJQVFoQmlBSElnUWhDQU5BQWtBZ0JVRlFhaUVISUFBb0FnQWlCUVIvSUFVb0Fnd2lDU0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxBbjhnQ0FSL0lBZ29BZ3dpQlNBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUFJUVJCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoRENBQUtBSUFJUVVnREF0eklBWkJBVXB4UlEwQUlBTkJnQkFnQlNnQ0RDSUpJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBc2lCU0FES0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRElBVkJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0VLSUFBb0FnQWlCU2dDRENJSklBVW9BaEJHQkVBZ0JTQUZLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVVnQ1VFRWFqWUNEQ0FKS0FJQUdnc2dCMEVLYkNBS1FSaDBRUmgxYWlFRklBWkJmMm9oQmd3QkN3c2dCUVIvSUFVb0Fnd2lBeUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUUFDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQU5Bd3NNQVFzZ0FFVU5BUXNnQWlBQ0tBSUFRUUp5TmdJQUN5QUhDK3dIQVFoL0lBQW9BZ0FpQlFSL0lBVW9BZ3dpQ0NBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ2tFUUNBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VKREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0JCQUNFRURBRUxJQUFvQWdBaUJTZ0NEQ0lJSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQ3lJRlFmOEJjU0lJUVJoMFFSaDFRWDlLQkVBZ0F5Z0NDQ0FGUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEVFUUNBRElBaEJBQ0FES0FJQUtBSWtRVDl4UWNvQmFoRUVBQ0VMSUFBb0FnQWlCaWdDRENJRklBWW9BaEJHQkVBZ0JpQUdLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVlnQlVFQmFqWUNEQ0FGTEFBQUVFSWFDeUFMUVJoMFFSaDFJUVlnQkNFSUlBa2hCUU5BQWtBZ0JrRlFhaUVFSUFBb0FnQWlDZ1IvSUFvb0Fnd2lCaUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2lBRkJIOGdCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSlFRQWhCVUVCQlVFQUN3VkJBQ0VGUVFFTElRd2dBQ2dDQUNFSElBd2dDbk1nQ0VFQlNuRkZEUUFnQnlnQ0RDSUdJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQml3QUFCQkNDeUlLUWY4QmNTSUdRUmgwUVJoMVFYOU1EUVFnQXlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUVFnQXlBR1FRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQWhCaUFBS0FJQUlnY29BZ3dpQ2lBSEtBSVFSZ1JBSUFjZ0J5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUhJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVLYkNBR1FSaDBRUmgxYWlFR0lBaEJmMm9oQ0F3QkN3c2dCd1IvSUFjb0Fnd2lBeUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdDVVVOQUNBSktBSU1JZ0FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBQUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FERFFVTERBRUxJQU5GRFFNTElBSWdBaWdDQUVFQ2NqWUNBQXdDQ3dzZ0FpQUNLQUlBUVFSeU5nSUFRUUFoQkFzZ0JBczNBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUROZ0lBSUFFUVlpRUJJQUFnQWlBRUVQUUVJUVVnQVFSQUlBRVFZaG9MSUFRa0JpQUZDMndBQW44Q1FBSkFBa0FDUUNBQUtBSUVRY29BY1E1QkFnTURBd01EQXdNQkF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3QURDMEVJREFNTFFSQU1BZ3RCQUF3QkMwRUtDd3Z6QXdFR2Z3SkFBa0FnQWJ3aUJVSC8vLy8vQjNFaUJrR0FnSUQ4QjBzTkFDQUF2Q0lDUWYvLy8vOEhjU0lEUVlDQWdQd0hTdzBBQWtBZ0JVR0FnSUQ4QTBZRVFDQUFFUFFDSVFBTUFRc2dBa0VmZGlJSElBVkJIblpCQW5GeUlRSWdBMFVFUUFKQUFrQUNRQ0FDUVFOeERnUUVCQUFCQWd0RDJ3OUpRQ0VBREFNTFE5c1BTY0FoQUF3Q0N3c0NRQ0FGUWYvLy8vOEhjU0lFUVlDQWdQd0hTQVJBSUFRTkFVUGJEOG0vUTlzUHlUOGdCeHNoQUF3Q0JTQUVRWUNBZ1B3SGF3MEJJQUpCL3dGeElRUWdBMEdBZ0lEOEIwWUVRQUpBQWtBQ1FBSkFBa0FnQkVFRGNRNEVBQUVDQXdRTFE5c1BTVDhoQUF3SEMwUGJEMG0vSVFBTUJndEQ1TXNXUUNFQURBVUxRK1RMRnNBaEFBd0VDd1VDUUFKQUFrQUNRQUpBSUFSQkEzRU9CQUFCQWdNRUMwTUFBQUFBSVFBTUJ3dERBQUFBZ0NFQURBWUxROXNQU1VBaEFBd0ZDMFBiRDBuQUlRQU1CQXNMQ3dzZ0EwR0FnSUQ4QjBZZ0JrR0FnSURvQUdvZ0EwbHlCRUJEMncvSnYwUGJEOGsvSUFjYklRQU1BUXNnQlVFQVNDQURRWUNBZ09nQWFpQUdTWEVFZlVNQUFBQUFCU0FBSUFHVml4RDBBZ3NoQUFKQUFrQUNRQ0FDUVFOeERnTURBQUVDQ3lBQWpDRUFEQUlMUTlzUFNVQWdBRU11dmJzemtwTWhBQXdCQ3lBQVF5Njl1ek9TUTlzUFNjQ1NJUUFMREFFTElBQWdBWkloQUFzZ0FBdWpBZ0FnQUFSL0FuOGdBVUdBQVVrRVFDQUFJQUU2QUFCQkFRd0JDMEhvaVFFb0FnQW9BZ0JGQkVBZ0FVR0FmM0ZCZ0w4RFJnUkFJQUFnQVRvQUFFRUJEQUlGUWFURkEwRVpOZ0lBUVg4TUFnc0FDeUFCUVlBUVNRUkFJQUFnQVVFR2RrSEFBWEk2QUFBZ0FDQUJRVDl4UVlBQmNqb0FBVUVDREFFTElBRkJnRUJ4UVlEQUEwWWdBVUdBc0FOSmNnUkFJQUFnQVVFTWRrSGdBWEk2QUFBZ0FDQUJRUVoyUVQ5eFFZQUJjam9BQVNBQUlBRkJQM0ZCZ0FGeU9nQUNRUU1NQVFzZ0FVR0FnSHhxUVlDQXdBQkpCSDhnQUNBQlFSSjJRZkFCY2pvQUFDQUFJQUZCREhaQlAzRkJnQUZ5T2dBQklBQWdBVUVHZGtFL2NVR0FBWEk2QUFJZ0FDQUJRVDl4UVlBQmNqb0FBMEVFQlVHa3hRTkJHVFlDQUVGL0N3c0ZRUUVMQzZrQkFRSi9JQUZCL3dkS0JFQWdBRVFBQUFBQUFBRGdmNklpQUVRQUFBQUFBQURnZjZJZ0FDQUJRZjRQU2lJQ0d5RUFJQUZCZ25CcUlnTkIvd2NnQTBIL0IwZ2JJQUZCZ1hocUlBSWJJUUVGSUFGQmduaElCRUFnQUVRQUFBQUFBQUFRQUtJaUFFUUFBQUFBQUFBUUFLSWdBQ0FCUVlSd1NDSUNHeUVBSUFGQi9BOXFJZ05CZ25nZ0EwR0NlRW9iSUFGQi9nZHFJQUliSVFFTEN5QUFJQUZCL3dkcXJVSTBocitpQzVzQ0FRSi9JQUlnQkVnRVFDQUFJQUVnQWlBRUVHY0VmeUFBS0FJSUlRVWdBQ2dDREFWQmZ3OExJUUlGSUFFaEJRc2dCRUVDZEVId01Xb29BZ0FnQlNBQ0lBUnJJZ0YxY1NJR0lBUkJBblFnQTJvb0FnQktCRUFDUUNBRklRSURRQUpBSUFGQkFVZ0VRQ0FBSUFJZ0FVRUJFR2RGRFFFZ0FDZ0NDQ0VDSUFBb0Fnd2hBUXNnQWlBQlFYOXFJZ0YyUVFGeElBWkJBWFJ5SWdZZ0JFRUJhaUlFUVFKMElBTnFLQUlBU2cwQkRBSUxDMEYvRHdzRklBVWhBZ3NnQUNBQ05nSUlJQUFnQVRZQ0RDQUVRUkJLQkg4Z0FDZ0NFQ0lBS0FJQUlnRkIrUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVBQlNBR0lBTkJ5QUJxSUFSQkFuUnFLQUlBYWlBREtBS01BVUVSYW1vdEFBQUxDNU1DQWdGL0FuMGdBQ0FCSUFKQkFuUWdBV29xQWdDTUVKUUJJQUpCQW5RZ0FHb2lBeUFES2dJQVF3QUFnRCtTT0FJQUlBQWdBVUVrYWlBQ1FRbHFRUUowSUFGcUtnSUFqQkM1QVNBQUlBRkJ5QUJxSUFKQkVtcEJBblFnQVdvcUFnQ01FTGtCSUFBZ0FVSHNBR29nQWtFYmFrRUNkQ0FCYWlvQ0FJd1F1UUVnQUNBQlFaQUJhaUFDUVNScVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnRBRnFJQUpCTFdwQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIWUFXb2dBa0UyYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUWZ3QmFpQUNRVDlxUVFKMElBRnFLZ0lBakJDNUFTQUFFRm9pQlpFaEJDQUZRd0FBQUFCYkJFQkRBQUFBQUNFRUJTQUFJQUJEQUFDQVB5QUVsUkNVQVFzZ0JBc0dBRUVVRUFJTC9na0JDbjhqQmlFTkl3WkJFR29rQmlBTlFRaHFJUkFnRFVFTWFpSU9JQU1RT3lBT1FhRE9BeEE2SVFzZ0RoQThJQVJCQURZQ0FBSkFBa0FEUUFKQUlBRW9BZ0FoQ0NBSlJTQUdJQWRIY1VVTkFDQUlJZ2tFZnlBSktBSU1JZ2dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRWZ5QUJRUUEyQWdCQkFTRU1RUUFoQ1VFQUJVRUFJUXdnQ1FzRlFRRWhERUVBQ3lFSUlBSW9BZ0FpQ2lFUkFrQUNRQ0FLUlEwQUlBb29BZ3dpRHlBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBOG9BZ0FMUVg4UVFRUkFJQUpCQURZQ0FFRUFJUkVNQVFVZ0RFVU5CUXNNQVFzZ0RBMERRUUFoQ2dzZ0N5QUdLQUlBUVFBZ0N5Z0NBQ2dDTkVFL2NVSEtBV29SQkFCQi93RnhRU1ZHQkVBZ0J5QUdRUVJxSWd4R0RRTUNRQ0FMSUF3b0FnQkJBQ0FMS0FJQUtBSTBRVDl4UWNvQmFoRUVBQ0lLUVJoMFFSaDFRVEJySWc5QkFDQVBRUlZIRzBVRVFDQUhJQVpCQ0dwR0RRVWdDaUVJSUFzZ0JpZ0NDRUVBSUFzb0FnQW9BalJCUDNGQnlnRnFFUVFBSVFvZ0RDRUdEQUVMUVFBaENBc2dBQ2dDQUNnQ0pDRU1JQTBnQ1RZQ0JDQU5JQkUyQWdBZ0VDQU5LQUlFTmdJQUlBNGdEU2dDQURZQ0FDQUJJQUFnRUNBT0lBTWdCQ0FGSUFvZ0NDQU1RUTl4UVk0RGFoRU9BRFlDQUNBR1FRaHFJUVlGQWtBZ0MwR0F3QUFnQmlnQ0FDQUxLQUlBS0FJTVFUOXhRY29CYWhFRUFFVUVRQ0FMSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrb0FnQUxJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUWtnQ3lBR0tBSUFJQXNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJQWxIQkVBZ0JFRUVOZ0lBREFJTElBZ29BZ3dpQ1NBSUtBSVFSZ1JBSUFnZ0NDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUlJQWxCQkdvMkFnd2dDU2dDQUJvTElBWkJCR29oQmd3QkN3TkFBa0FnQnlBR1FRUnFJZ1pHQkVBZ0J5RUdEQUVMSUF0QmdNQUFJQVlvQWdBZ0N5Z0NBQ2dDREVFL2NVSEtBV29SQkFBTkFRc0xJQW9oQ1FOQUlBZ0VmeUFJS0FJTUlnb2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQ2dKQUFrQWdDVVVOQUNBSktBSU1JZ3dnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDa1VOQkFzTUFRc2dDZzBDUVFBaENRc2dDMEdBd0FBZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUJGRFFFZ0NDZ0NEQ0lLSUFnb0FoQkdCRUFnQ0NBSUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBZ2dDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFFQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUJSUTBDQ3d3Q0N5QUJEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFOSkFZZ0NBdXRDZ0VLZnlNR0lRMGpCa0VRYWlRR0lBMUJDR29oRUNBTlFReHFJZzRnQXhBN0lBNUJnTTRERURvaERDQU9FRHdnQkVFQU5nSUFBa0FDUUFOQUFrQWdBU2dDQUNFSUlBbEZJQVlnQjBkeFJRMEFJQWdpQ1FSL0lBa29BZ3dpQ0NBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQVVFQU5nSUFRUUVoQzBFQUlRbEJBQVZCQUNFTElBa0xCVUVCSVF0QkFBc2hDQ0FDS0FJQUlnb2hFUUpBQWtBZ0NrVU5BQ0FLS0FJTUlnOGdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FQTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnQzBVTkJRc01BUXNnQ3cwRFFRQWhDZ3NnRENBR0xBQUFRUUFnRENnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRRnFJZ3RHRFFNQ1FDQU1JQXNzQUFCQkFDQU1LQUlBS0FJa1FUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJBbXBHRFFVZ0NpRUlJQXdnQml3QUFrRUFJQXdvQWdBb0FpUkJQM0ZCeWdGcUVRUUFJUW9nQ3lFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTElBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTFFROXhRWTREYWhFT0FEWUNBQ0FHUVFKcUlRWUZBa0FnQml3QUFDSUpRWDlLQkVBZ0RDZ0NDQ0lMSUFsQkFYUnFMZ0VBUVlEQUFIRUVRQU5BQWtBZ0J5QUdRUUZxSWdaR0JFQWdCeUVHREFFTElBWXNBQUFpQ1VGL1RBMEFJQWxCQVhRZ0Myb3VBUUJCZ01BQWNRMEJDd3NnQ2lFSkEwQWdDQVIvSUFnb0Fnd2lDaUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRQWhDRUVCQlVFQUN3VkJBQ0VJUVFFTElRb0NRQUpBSUFsRkRRQWdDU2dDRENJTElBa29BaEJHQkg4Z0NTQUpLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDeXdBQUJCQ0MwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CZ3NNQVFzZ0NnMEVRUUFoQ1FzZ0NDZ0NEQ0lLSUFnb0FoQkdCSDhnQ0NBSUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJS1FmOEJjVUVZZEVFWWRVRi9UQTBESUF3b0FnZ2dDa0VZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQXlBSUtBSU1JZ29nQ0NnQ0VFWUVRQ0FJSUFnb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0NDQUtRUUZxTmdJTUlBb3NBQUFRUWhvTERBQUFDd0FMQ3lBTUlBZ29BZ3dpQ1NBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhJQXdvQWdBb0FneEJQM0ZCaWdGcUVRSUFRZjhCY1NBTUlBWXNBQUFnRENnQ0FDZ0NERUUvY1VHS0FXb1JBZ0JCL3dGeFJ3UkFJQVJCQkRZQ0FBd0JDeUFJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRRnFOZ0lNSUFrc0FBQVFRaG9MSUFaQkFXb2hCZ3NMSUFRb0FnQWhDUXdCQ3dzTUFRc2dCRUVFTmdJQUN5QUlCSDhnQ0NnQ0RDSUFJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRUlRUUVGUVFBTEJVRUFJUWhCQVFzaEFRSkFBa0FDUUNBQ0tBSUFJZ0JGRFFBZ0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQVVVTkFnc01BZ3NnQVEwQURBRUxJQVFnQkNnQ0FFRUNjallDQUFzZ0RTUUdJQWdMdFFJQkJYOGpCaUVISXdaQkVHb2tCaUFBS0FJQUlnWUVRQUpBSUFRb0Fnd2hDU0FDSUFGcklnaEJBblVoQ2lBSVFRQktCRUFnQmlnQ0FDZ0NNQ0VJSUFZZ0FTQUtJQWhCUDNGQnlnRnFFUVFBSUFwSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0NTQURJQUZyUVFKMUlnRnJRUUFnQ1NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFrd1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnTkJBblVoQVNBRFFRQktCRUFnQmlnQ0FDZ0NNQ0VESUFZZ0FpQUJJQU5CUDNGQnlnRnFFUVFBSUFGSEJFQWdBRUVBTmdJQVFRQWhCZ3dDQ3dzZ0JFRUFOZ0lNQ3dWQkFDRUdDeUFISkFZZ0JndCtBUU4vSUFGREFBQUFQNUlRUXlBQUtBSVFhaUVGSUFKREFBQUFQNUlRUXlBQUtBSVVhaUVHSUFWQkFFZ0VmMEYvQlNBR1FRQklJQVVnQUNnQ0NDSUhUbklFZjBGL0JTQUdJQUFvQWd4SUJIOGdBeUFBS0FJRUlBWWdCMndnQldwQkEzUnFJZ0FvQWdBMkFnQWdCQ0FBS0FJRU5nSUFRUUFGUVg4TEN3c0xFQUFnQWdSQUlBQWdBU0FDRVBvRUN3c1FBQ0FDQkVBZ0FDQUJJQUlRVEJvTEM3OEJBUUovSXdZaEJDTUdRYUFCYWlRR0lBUkJrQUZxSVFVZ0JFR1k5Z0JCa0FFUVRCb0NRQUpBSUFGQmYycEIvdi8vL3dkTkRRQWdBUVIvUWFURkEwRTlOZ0lBUVg4RklBVWhBRUVCSVFFTUFRc2hBQXdCQ3lBRVFYNGdBR3NpQlNBQklBRWdCVXNiSWdFMkFqQWdCQ0FBTmdJVUlBUWdBRFlDTENBRUlBQWdBV29pQURZQ0VDQUVJQUEyQWh3Z0JDQUNJQU1RcFFJaEFDQUJCRUFnQkNnQ0ZDSUJJQUVnQkNnQ0VFWkJIM1JCSDNWcVFRQTZBQUFMQ3lBRUpBWWdBQXRyQVFOOUlBRXFBaUFnQVNvQ0dDQUNLZ0lBSWdTVUlBRXFBaHdnQWlvQ0JDSUZsSktTSVFNZ0FDQUJLZ0lJSUFRZ0FTb0NBSlFnQlNBQktnSUVsSktTSUFPVk9BSUFJQUFnQVNvQ0ZDQUJLZ0lNSUFJcUFnQ1VJQUVxQWhBZ0Fpb0NCSlNTa2lBRGxUZ0NCQXVmQWdJRWZ3VjhJQU5CQW5RZ0FXb29BZ0FpQ2lBQ1FRSjBJQUZxS0FJQUlnaHJ0eUVNSUFKQkFuUWdBR29vQWdBaUNTQURRUUowSUFCcUtBSUFJZ2RydHlFTklBY2dDR3dnQ1NBS2JHdTNJUThnQWtFQmFpSUhJUWdEUUNBSElBTklCRUFnQnlBSUlBd2dCMEVDZENBQWFpZ0NBTGVpSUEwZ0IwRUNkQ0FCYWlnQ0FMZWlvQ0FQb0NJT0lBNmlJZzRnQzJRaUNSc2hDQ0FIUVFGcUlRY2dEaUFMSUFrYklRc01BUXNMQW44Q1FDQUxJQXdnREtJZ0RTQU5vcUNqSUFSa1JRMEFJQUFnQVNBQ0lBZ2dCQ0FGSUFZUXF3RkJBRTRFUUNBR0tBSUFJZ0pCQlV3RVFDQUNRUUowSUFWcUlBZzJBZ0FnQmlBR0tBSUFRUUZxTmdJQUlBQWdBU0FJSUFNZ0JDQUZJQVlRcXdGQkFFNE5BZ3NMUVg4TUFRdEJBQXNMbmdJQkJYOGpCaUVESXdaQkVHb2tCaUFBS0FJUUlBRk5CRUFnQTBIQXlBTkJ4cG9DRURkQnFKa0NFRGRCNzZJQ0VEZEIyZ0VRUGtIMm9nSVFOMEhodlFFUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJR0tBSUFLQUljSVFRZ0JrRUtJQVJCUDNGQmlnRnFFUUlBSVFRZ0F4QThJQVVnQkJCQUlBVVFQeEFBQ3lBQUtBSVVJZ1FnQWtzRVFDQUFLQUlFSUFJZ0FTQUViR3BCQlhScUlRY2dBeVFHSUFjUEJTQURRY0RJQTBIV213SVFOMEdvbVFJUU4wSHZvZ0lRTjBIYkFSQStRZmFpQWhBM1FmVzlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFEUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FERUR3Z0FpQUFFRUFnQWhBL0VBQUxRUUFMQ0FCQkJ4QUNRUUFMREFBZ0FFR0Nob0FnTmdBQUM1SUJBUUYvSUFOQmdCQnhCRUFnQUVFck9nQUFJQUJCQVdvaEFBc2dBMEdBQkhFRVFDQUFRU002QUFBZ0FFRUJhaUVBQ3dOQUlBRXNBQUFpQkFSQUlBQWdCRG9BQUNBQlFRRnFJUUVnQUVFQmFpRUFEQUVMQ3lBQUFuOENRQ0FEUWNvQWNVRUlheUlCQkVBZ0FVRTRSdzBCUWU4QURBSUxJQU5CQ1haQklIRkIrQUJ6REFFTFFlUUFRZlVBSUFJYkN6b0FBQXQrQVFOL0l3WWhBaU1HUVJCcUpBWkIrdjBDSUFFc0FBQVF2d0VFZnlBQkVKa0ZRWUNBQW5JaEF5QUNJQUEyQWdBZ0FpQUROZ0lFSUFKQnRnTTJBZ2hCQlNBQ0VEUVFtZ01pQTBFQVNBUi9RUUFGSUFNZ0FSQ1lCU0lBQkg4Z0FBVWdBeEFZR2tFQUN3c0ZRYVRGQTBFY05nSUFRUUFMSVFRZ0FpUUdJQVFMREFBZ0FCRGZDU0FBSUFFYkN4QUFJQUJCSUVZZ0FFRjNha0VGU1hJTFhBRUNmeUFBTEFBQUlnSWdBU3dBQUNJRFJ5QUNSWElFZnlBQ0lRRWdBd1VEZnlBQVFRRnFJZ0FzQUFBaUFpQUJRUUZxSWdFc0FBQWlBMGNnQWtWeUJIOGdBaUVCSUFNRkRBRUxDd3NoQUNBQlFmOEJjU0FBUWY4QmNXc0xLQUVDZnlBQUlRRURRQ0FCUVFScUlRSWdBU2dDQUFSQUlBSWhBUXdCQ3dzZ0FTQUFhMEVDZFF2SUF3RUhmeUFBS0FJRUlRVWdBa0h3ayt2Y0Ewc0VRQ0FBS0FJQUlnTkJPRFlDRkNBRFFRRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBRkJBVXNFUUNBQUtBSUFJZ05CRHpZQ0ZDQURJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUxJQUpCQ0NBQ1FRZHhJZ05yUVFBZ0F4dHFJUVFDUUFKQUlBVkJOR29nQVVFQ2RHb2lDQ2dDQUNJQ0JFQURRQUpBSUFJb0FnZ2dCRThFUUNBQ0lRQU1BUXNnQWlnQ0FDSURCRUFnQXlFQ0RBSUZJQUloQXd3RUN3QUxDd1ZCQUNFRERBRUxEQUVMSUFSQjhKUHIzQU1nQkdzaUFpQUJRUUowUWVDSEFVSG9od0VnQTBVaUNSdHFLQUlBSWdFZ0FTQUNTeHNpQVdvaUFrRVFhaUlHRUVRaUJ3Ui9JQVloQVNBSEJRTi9JQUZCNUFCSkJFQWdBQ2dDQUNJQ1FUZzJBaFFnQWtFQ05nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBRUlBRkJBWFlpQVdvaUFrRVFhaUlHRUVRaUIwVU5BQ0FHSVFFZ0J3c0xJUUFnQlNBQklBVW9Ba3hxTmdKTUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUNBQ05nSUlJQWtFUUNBSUlBQTJBZ0FGSUFNZ0FEWUNBQXNMSUFBZ0JDQUFLQUlFSWdGcU5nSUVJQUFnQUNnQ0NDQUVhellDQ0NBQVFSQnFJQUZxQ3lnQkFuOENmeU1HSVFNakJrRVFhaVFHSUFCQkEwRzBod0ZCdk5BQ1FTQWdBUkFKSUFNTEpBWUxsd1VCQkg4akJpRUVJd1pCRUdva0JpQUJJQU1ROFFPT0VFTWlCallDQUNBRFFRRWdCblN5bFJEU0FTRURJQUlnQUNvQ0hDQURsQkR3QXhCRElnWTJBZ0FnQmlBQUtBSVVRWDlxUmdSQUlBRWdBU2dDQUVFQmFqWUNBQ0FDUVFBMkFnQkJBQ0VHQ3dKQUFrQWdBU2dDQUNJRlFRQklCRUFnQVVFQU5nSUFRUUFoQmd3QkJTQUZJQUFvQWhBaUJVNEVRQ0FCSUFWQmYybzJBZ0FnQUNnQ0ZFRi9haUVHREFJTEN3d0JDeUFDSUFZMkFnQUxJQUVvQWdBaUJVRi9UQVJBSUFSQndNZ0RRWVdaQWhBM1FhaVpBaEEzUWUraUFoQTNRWXdDRUQ1QjlxSUNFRGRCcnBvQ0VEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FISUFFUVFDQUhFRDhRQUFzZ0JTQUFLQUlRVGdSQUlBUkJ3TWdEUWNhYUFoQTNRYWlaQWhBM1FlK2lBaEEzUVkwQ0VENUI5cUlDRURkQjhwb0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCa0YvVEFSQUlBUkJ3TWdEUVoyYkFoQTNRYWlaQWhBM1FlK2lBaEEzUVk0Q0VENUI5cUlDRURkQnY1c0NFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVFRUENBRklBRVFRQ0FGRUQ4UUFBc2dCaUFBS0FJVVNBUkFJQVFrQmdVZ0JFSEF5QU5CMXBzQ0VEZEJxSmtDRURkQjc2SUNFRGRCandJUVBrSDJvZ0lRTjBHSm5BSVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCQkE4SUFJZ0FCQkFJQUlRUHhBQUN3c09BQ0FBSUFFZ0FrRUNkQkJNR2d1dEFRQWdBQ0FBS2dJQUlBRXFBZ0FnQXBTU09BSUFJQUFnQUNvQ0JDQUJLZ0lFSUFLVWtqZ0NCQ0FBSUFBcUFnZ2dBU29DQ0NBQ2xKSTRBZ2dnQUNBQUtnSU1JQUVxQWd3Z0FwU1NPQUlNSUFBZ0FDb0NFQ0FCS2dJUUlBS1VramdDRUNBQUlBQXFBaFFnQVNvQ0ZDQUNsSkk0QWhRZ0FDQUFLZ0lZSUFFcUFoZ2dBcFNTT0FJWUlBQWdBQ29DSENBQktnSWNJQUtVa2pnQ0hDQUFJQUFxQWlBZ0FTb0NJQ0FDbEpJNEFpQUxVUUVCZjBHdzNRTW9BZ0FpQVNBQVFRTnFRWHh4YWlJQVFRQklCRUJCcE1VRFFUQTJBZ0JCZnc4TElBQVFKMHNFUUNBQUVDUkZCRUJCcE1VRFFUQTJBZ0JCZnc4TEMwR3czUU1nQURZQ0FDQUJDd3NBSUFDN0VOMEp0aEJEQ3lvQkFYOGpCaUVESXdaQkVHb2tCaUFESUFJMkFnQWdBRUgvLy8vL0J5QUJJQU1RcVFFYUlBTWtCZ3NPQUNBQVFlaUpBU2dDQUJEL0JBdUdBUUlDZndGK0lBQ25JUUlnQUVMLy8vLy9EMVlFUUFOQUlBRkJmMm9pQVNBQUlBQkNDaEQyQVNJRVFncCtmYWRCL3dGeFFUQnlPZ0FBSUFCQy8vLy8vNThCVmdSQUlBUWhBQXdCQ3dzZ0JLY2hBZ3NnQWdSQUEwQWdBVUYvYWlJQklBSWdBa0VLRUVnaUEwRUtiR3RCTUhJNkFBQWdBa0VLVHdSQUlBTWhBZ3dCQ3dzTElBRUxHZ0FnQUNBQkVLb0NJZ0JCQUNBQUxRQUFJQUZCL3dGeFJoc0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVlDSEFVR3V0d0pCQWlBQkVBa2dBd3NrQmdzTkFDQUFLQUlFSUFFb0FnUkxDeEFBSUFBZ0FUWUNBQ0FBSUFJMkFnUUxEUUFnQUNnQ0VDQUJRUlJzYWdzUUFDQUFLQUlFSUFFZ0FDZ0NBR3hxQ3dnQUlBQkI5QUJxQ3d3QUlBQWdBU0FBSUFGS0d3cy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVh4cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVDZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFKMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUNkQ0FFYWpZQ0RBc0dBRUVZRUFJTENBQkJEUkFDUVFBTGl3RUJBMzhqQmlFREl3WkJFR29rQmlBQ1FlLy8vLzhEU3dSQUVBQUxJQUpCQWtrRVFDQUFJQUk2QUFzZ0FDRUVCU0FDUVFScVFYeHhJZ1ZCLy8vLy93TkxCRUFRQUFVZ0FDQUZRUUowRUZFaUJEWUNBQ0FBSUFWQmdJQ0FnSGh5TmdJSUlBQWdBallDQkFzTElBUWdBU0FDRUtjQklBTkJBRFlDQUNBQ1FRSjBJQVJxSUFNUWJpQURKQVlMdVFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFNkFBQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJDZ3NoQVNBRFFRRnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUTNRSWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FDQUNhaUlBSUFNUVh5QUVRUUE2QUFBZ0FFRUJhaUFFRUY4Z0F5UUdDN2dCQVFWL0lBSW9BZ0FnQUNnQ0FDSURJZ1pySWdWQkFYUWlCRUVFSUFRYlFYOGdCVUgvLy8vL0Iwa2JJUVVnQVNnQ0FDRUhJQU5CQUNBQUtBSUVRWkVCUnlJRUd5QUZFT2dCSWdORkJFQVFBQXNnQkFSQUlBQWdBellDQUFVZ0FDZ0NBQ0VFSUFBZ0F6WUNBQ0FFQkVBZ0JDQUFLQUlFUWY4QmNVR3NBMm9SQVFBZ0FDZ0NBQ0VEQ3dzZ0FFR1NBVFlDQkNBQklBY2dCbXRCQW5WQkFuUWdBMm8yQWdBZ0FpQUFLQUlBSUFWQkFuWkJBblJxTmdJQUM2UURBUU4vQW44Q1FDQUNJQU1vQWdBaUNrWWlDMFVOQUNBQUlBa29BbUJHSWd4RkJFQWdDU2dDWkNBQVJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBQ0FGUmlBR0tBSUVJQVlzQUFzaUJrSC9BWEVnQmtFQVNCdEJBRWR4QkVCQkFDQUlLQUlBSWdBZ0IydEJvQUZPRFFFYUlBUW9BZ0FoQVNBSUlBQkJCR28yQWdBZ0FDQUJOZ0lBSUFSQkFEWUNBRUVBREFFTElBbEI2QUJxSVFkQkFDRUZBMzhnQlVFYVJnUi9JQWNGSUFWQkFXb2hCaUFBSUFWQkFuUWdDV29pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBSmF5SUZRUUoxSVFBZ0JVSGNBRW9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dCVUhZQUU0RVFFRi9JQXNOQXhwQmZ5QUtJQUpyUVFOT0RRTWFRWDhnQ2tGL2Fpd0FBRUV3UncwREdpQUVRUUEyQWdBZ0FFSHc3d0JxTEFBQUlRQWdBeUFLUVFGcU5nSUFJQW9nQURvQUFFRUFEQU1MQ3lBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQUlBUWdCQ2dDQUVFQmFqWUNBRUVBQ3dzTERRQWdBQ2dDQUJBNElBQVFPQXVyQXdFRGZ3Si9Ba0FnQWlBREtBSUFJZ3BHSWd0RkRRQWdDUzBBR0NBQVFmOEJjVVlpREVVRVFDQUpMUUFaSUFCQi93RnhSdzBCQ3lBRElBSkJBV28yQWdBZ0FrRXJRUzBnREJzNkFBQWdCRUVBTmdJQVFRQU1BUXNnQUVIL0FYRWdCVUgvQVhGR0lBWW9BZ1FnQml3QUN5SUdRZjhCY1NBR1FRQklHMEVBUjNFRVFFRUFJQWdvQWdBaUFDQUhhMEdnQVU0TkFSb2dCQ2dDQUNFQklBZ2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0JFRUFOZ0lBUVFBTUFRc2dDVUVhYWlFSFFRQWhCUU4vSUFWQkdrWUVmeUFIQlNBRlFRRnFJUVlnQlNBSmFpSUZMUUFBSUFCQi93RnhSZ1IvSUFVRklBWWhCUXdDQ3dzTElBbHJJZ0JCRjBvRWYwRi9CUUpBQWtBQ1FDQUJRUWhyRGdrQUFnQUNBZ0lDQWdFQ0MwRi9JQUFnQVU0TkF4b01BUXNnQUVFV1RnUkFRWDhnQ3cwREdrRi9JQW9nQW10QkEwNE5BeHBCZnlBS1FYOXFMQUFBUVRCSERRTWFJQVJCQURZQ0FDQUFRZkR2QUdvc0FBQWhBQ0FESUFwQkFXbzJBZ0FnQ2lBQU9nQUFRUUFNQXdzTElBQkI4TzhBYWl3QUFDRUFJQU1nQ2tFQmFqWUNBQ0FLSUFBNkFBQWdCQ0FFS0FJQVFRRnFOZ0lBUVFBTEN3dW9GUUVKZnlNR0lRSWpCa0VRYWlRR0lBSWlCVUVFYWlFRElBSkJDR29pQmlBQU5nSUFJQUJCMUFGSkJFQkI4T3dBUWJEdUFDQUdFTmNFS0FJQUlRQUZBa0FnQXlBQUlBQkIwZ0VRU0NJSVFkSUJiQ0lDYXpZQ0FFRUFJUUJCc080QVFmRHZBQ0FERU5jRVFiRHVBR3RCQW5VaEJ3SkFBMEFDUUNBQ0lBZEJBblJCc080QWFpZ0NBR29oQTBFRklRSUNRQUpBQTBBZ0FrRXZUdzBCSUFNZ0FrRUNkRUh3N0FCcUtBSUFJZ0VRU0NJRUlBRkpEUU1nQWtFQmFpRUNJQUVnQkd3Z0EwY05BQXNNQVF0QjB3RWhBZ05BQWtBZ0F5QUNFRWdpQVNBQ1NRUi9JQU1oQUVFQkJTQURJQUVnQW14R0JIOUJDUVVnQXlBQ1FRcHFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRU1haUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJFR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVZ0F5QUNRUkpxSWdFUVNDSUVJQUZKQkg4Z0FTRUNJQU1oQUVFQkJTQURJQUVnQkd4R0JIOGdBU0VDUVFrRklBTWdBa0VXYWlJQkVFZ2lCQ0FCU1FSL0lBRWhBaUFESVFCQkFRVWdBeUFCSUFSc1JnUi9JQUVoQWtFSkJTQURJQUpCSEdvaUFSQklJZ1FnQVVrRWZ5QUJJUUlnQXlFQVFRRUZJQU1nQVNBRWJFWUVmeUFCSVFKQkNRVUNmeUFESUFKQkhtb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0VrYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FTaHFJZ0VRU0NJRUlBRkpCRUFnQVNFQ0lBTWhBRUVCREFFTElBTWdBU0FFYkVZRVFDQUJJUUpCQ1F3QkN5QURJQUpCS21vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRXVhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVRScUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJPbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFOGFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0lBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYzRBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FkSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRnQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZUFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlUUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZW9BYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fld0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWZBQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZmdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZb0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVk0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVp3QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFnQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYXdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJRQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYm9CYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FiNEJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNBQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY1FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjWUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRBQmFpSUJFRWdpQ1NBQlNTRUVJQUVnQWtIU0FXb2dCQ0FESUFFZ0NXeEdJZ0Z5R3lFQ0lBTWdBQ0FFR3lFQVFRRkJDVUVBSUFFYklBUWJDd3NMQ3dzTEN3c0xDd3NMQ3dzTElnRkJEM0VPQ2dFQUFBQUFBQUFBQUFJQUN3c2dBUTBEQ3lBSUlBZEJBV29pQTBFd1JpSUJhaUlDSVFnZ0FrSFNBV3doQWtFQUlBTWdBUnNoQnd3QkN3c2dCaUFETmdJQUlBTWhBQXdCQ3lBR0lBTTJBZ0FMQ3lBRkpBWWdBQXVRQWdJQ2Z3UjlJQUM4SWdGQkFFZ2hBaUFCUVlDQWdBUkpJQUp5QkVBQ1FDQUJRZi8vLy84SGNVVUVRRU1BQUlDL0lBQWdBSlNWRHdzZ0FrVUVRRUhvZmlFQ0lBQkRBQUFBVEpTOElRRU1BUXNnQUNBQWswTUFBQUFBbFE4TEJTQUJRZi8vLy9zSFN3UkFJQUFQQ3lBQlFZQ0FnUHdEUmdSL1F3QUFBQUFQQlVHQmZ3c2hBZ3NnQVVHTjlxc0NhaUlCUWYvLy93TnhRZk9KMVBrRGFyNURBQUNBdjVJaUF5QURRd0FBQUVDU2xTSUZJQVdVSWdZZ0JwUWhCQ0FDSUFGQkYzWnFzaUlBUTRCeE1UK1VJQU1nQUVQUjl4YzNsQ0FGSUFNZ0EwTUFBQUEvbEpRaUFDQUdJQVJEN3VtUlBwUkRxcW9xUDVLVUlBUWdCRU1tbm5nK2xFTVR6c3cra3BTU2twU1NJQUNUa3BJTGxBRUJCSHdnQUNBQW9pSUNJQUtpSVFORUFBQUFBQUFBOEQ4Z0FrUUFBQUFBQUFEZ1A2SWlCS0VpQlVRQUFBQUFBQUR3UHlBRm9TQUVvU0FDSUFJZ0FpQUNSSkFWeXhtZ0Fmbytva1IzVWNFV2JNRld2NkNpUkV4VlZWVlZWYVUvb0tJZ0F5QURvaUFDUk1TeHRMMmU3aUUrSUFKRTFEaUl2dW42cUQyaW9hSkVyVktjZ0U5K2tyNmdvcUNpSUFBZ0FhS2hvS0FMbFFFQkEzd2dBQ0FBb2lJRElBTWdBNktpSUFORWZOWFBXanJaNVQyaVJPdWNLNHJtNVZxK29LSWdBeUFEUkgzK3NWZmpIY2Mrb2tUVlljRVpvQUVxdjZDaVJLYjRFQkVSRVlFL29LQWhCU0FESUFDaUlRUWdBQ0FFUkVsVlZWVlZWY1Uvb2lBRElBRkVBQUFBQUFBQTREK2lJQVFnQmFLaG9pQUJvYUNoSUFRZ0F5QUZva1JKVlZWVlZWWEZ2NkNpSUFDZ0lBSWJDd3NBSUFBZ0FTQUNFUGtFQ3hvQUlBQW9BZ0FnQUNnQ0JDSUFJQUFRK0FSRlFSOTBRUjkxQzRnREFRWi9Jd1loQnlNR1FSQnFKQVlnQTBHMHhRTWdBeHNpQlNnQ0FDRURBbjhDUUNBQkJIOENmeUFBSUFjZ0FCc2hCaUFDQkVBQ1FBSkFJQU1FUUNBRElRQWdBaUVEREFFRklBRXNBQUFpQUVGL1NnUkFJQVlnQUVIL0FYRTJBZ0FnQUVFQVJ3d0ZDeUFCTEFBQUlRQkI2SWtCS0FJQUtBSUFSUVJBSUFZZ0FFSC92d054TmdJQVFRRU1CUXNnQUVIL0FYRkJ2bjVxSWdCQk1rc05CaUFCUVFGcUlRRWdBRUVDZEVIUU5Hb29BZ0FoQUNBQ1FYOXFJZ01OQVFzTUFRc2dBUzBBQUNJSVFRTjJJZ1JCY0dvZ0JDQUFRUnAxYW5KQkIwc05CQ0FEUVg5cUlRUWdDRUdBZjJvZ0FFRUdkSElpQUVFQVNBUkFJQUVoQXlBRUlRRURRQ0FCUlEwQ0lBTkJBV29pQXl3QUFDSUVRY0FCY1VHQUFVY05CaUFCUVg5cUlRRWdCRUgvQVhGQmdIOXFJQUJCQm5SeUlnQkJBRWdOQUFzRklBUWhBUXNnQlVFQU5nSUFJQVlnQURZQ0FDQUNJQUZyREFJTElBVWdBRFlDQUF0QmZnc0ZJQU1OQVVFQUN3d0JDeUFGUVFBMkFnQkJwTVVEUVJrMkFnQkJmd3NoQ1NBSEpBWWdDUXZJQ3dFSWZ5QUFLQUlZSWdRb0FnQWhCaUFFS0FJRUlRVWdBQ0FCTmdMY0FTQUFJQUkyQXVBQklBQWdBellDNUFFQ1FDQUZCSDhnQmdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUZJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUVlnQlVGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQkxRQUFJUW9nQWtGL2FpSUNCSDhnQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQVFvQWdBTElnRkJBV29oQXlBQUlBRXRBQUEyQXRRQklBSkJmMm9pQWdSL0lBTUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQWlBRUtBSUFDeUlCUVFGcUlRTWdBQ0FCTFFBQVFRaDBJZ1UyQWlBZ0FrRi9haUlDQkVBZ0F5RUJJQVVoQXdVZ0JDZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQkNnQ0JDRUNJQUFvQWlBaEF5QUVLQUlBSVFFTElBRkJBV29oQlNBQUlBRXRBQUFnQTJvMkFpQWdBa0YvYWlJQ0JIOGdCUVVnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQkJDSFFpQlRZQ0hDQUNRWDlxSWdJRVFDQURJUUVnQlNFREJTQUVLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUUlnQUNnQ0hDRURJQVFvQWdBaEFRc2dBVUVCYWlFRklBQWdBUzBBQUNBRGFqWUNIQ0FDUVg5cUlnRUVRQ0FGSVFJRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnQWhBaUFFS0FJRUlRRUxJQUFnQWkwQUFEWUNKQ0FBS0FJQUlnTWdBQ2dDdUFNMkFoZ2dBeUFBS0FJY05nSWNJQU1nQUNnQ0lEWUNJQ0FESUFBb0FpUTJBaVFnQTBIbUFEWUNGQ0FES0FJRUlRTWdBRUVCSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFES0FJUUJFQWdBQ2dDQUNJRFFUMDJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUN5QUtRZjhCY1NBR1FmOEJjVUVJZEhKQmVHb2hCUUpBQWtBZ0FDZ0NJRVVOQUNBQUtBSWNSUTBBSUFBb0FpUWlBMEVCU0EwQURBRUxJQUFvQWdBaUEwRWhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFDQUFLQUlrSVFNTElBTkJBMndnQlVjRVFDQUFLQUlBSWdOQkREWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQW9BdGdCUlFSQUlBQW9BZ1FvQWdBaEF5QUFJQUJCQVNBQUtBSWtRZGdBYkNBRFFUOXhRY29CYWhFRUFEWUMyQUVMSUFGQmYyb2hBU0FDUVFGcUlRSWdBQ2dDSkVFQVNnUkFBa0JCQUNFRkEwQUNRQ0FCQkg4Z0FTRUlJQUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaENDQUVLQUlBQ3lJSExRQUFJUUlnQUNnQzJBRWhBeUFGQkVBQ1FDQURJUUZCQUNFR0EwQWdBU2dDQUNBQ1J3UkFJQUZCMkFCcUlRRWdCa0VCYWlJR0lBVkpEUUVNQWdzTElBTW9BZ0FoQVNBRFFkZ0FhaUVDSUFWQkFVc0VmMEVCSVFZRFFDQUNLQUlBSWdrZ0FTQUpJQUZLR3lFQklBSkIyQUJxSVFJZ0JrRUJhaUlHSUFWSERRQUxJQVZCMkFCc0lBTnFCU0FDQ3lFTElBRkJBV29oQWlBTElRRUxCU0FESVFFTElBZEJBV29oQmlBQklBSTJBZ0FnQVNBRk5nSUVJQWhCZjJvaUF3Ui9JQVlGSUFRb0Fnd2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBQ3lJQ1FRRnFJUVlnQVNBQ0xRQUFJZ0pCQkhZMkFnZ2dBU0lISUFKQkQzRTJBZ3dnQVNBRFFYOXFJZ01FZnlBR0JTQUVLQUlNSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQVNBRUtBSUVJUU1nQkNnQ0FBc2lBaTBBQURZQ0VDQUFLQUlBSWdZZ0J5Z0NBRFlDR0NBR0lBRW9BZ2cyQWh3Z0JpQUhLQUlNTmdJZ0lBWWdCeWdDRURZQ0pDQUdRZWNBTmdJVUlBWW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQTBGL2FpRUJJQUpCQVdvaEFpQUZRUUZxSWdVZ0FDZ0NKRWdOQVF3Q0N3c01BZ3NMSUFBb0F0QURRUUUyQWhBZ0JDQUNOZ0lBSUFRZ0FUWUNCRUVCRHd0QkFBczBBUUYvSUFBb0FnUWdBU2dDQ0JDTEFTSUNCRUFnQWlBQUlBRVFyUUpCQUVnRVFDQUNFRWxCQUNFQ0N3VkJBQ0VDQ3lBQ0N5UUFJQVVFZlNBQUlBRWdBaUFESUFRZ0JoREtCZ1VnQUNBQklBSWdBeUFFRU1zR0N3djNCZ01IZndWOUEzd2pCaUVJSXdaQjRBRnFKQVlnQ0VISUFXb2hCeUFJUWRRQmFpSUpJQVJCQkhRUVJDSU5OZ0lBSUExRkJFQkJBRUVEUWJuWUFpQUhFRDFCQVJBQkN5QUlRZEFCYWlFSElBa2dCRUVZYkJCRUlndzJBZ1FnREVVRVFFRUFRUU5CdWRnQ0lBY1FQVUVCRUFFTElBaEI0QUJxSVFvZ0NFSEFBV29oQzBFQUlRY0RRQ0FISUFSSUJFQWdFQ0FIUVF4c0lBTnFLZ0lBa2lFUUlBOGdCMEVNYkNBRGFpb0NCSkloRHlBT0lBZEJER3dnQTJvcUFnaVNJUTRnQjBFQmFpRUhEQUVMQ3lBUUlBU3lJaEdWSVJBZ0R5QVJsU0VQSUE0Z0VaVWhEa0VBSVFjRFFDQUhJQVJJQkVBZ0IwRUVkQ0FOYWlBSFFRTjBJQUpxS2dJQXV6a0RBQ0FIUVFSMElBMXFJQWRCQTNRZ0Ftb3FBZ1M3T1FNSUlBZEJHR3dnREdvZ0IwRU1iQ0FEYWlvQ0FDQVFrN3M1QXdBZ0IwRVliQ0FNYWlBSFFReHNJQU5xS2dJRUlBK1R1emtEQ0NBSFFSaHNJQXhxSUFkQkRHd2dBMm9xQWdnZ0RwTzdPUU1RSUFkQkFXb2hCd3dCQ3dzZ0NTQUVOZ0lJUVFBaEFnTkFJQUpCQTBjRVFFRUFJUU1EUUNBRFFRTkhCRUFnQWtFRmRDQUthaUFEUVFOMGFpQUNRUVIwSUFGcUlBTkJBblJxS2dJQXV6a0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0NpQUJLZ0lNSUJBZ0FTb0NBSlFnRHlBQktnSUVsSklnRGlBQktnSUlsSktTdXprREdDQUtJQUVxQWh3Z0VDQUJLZ0lRbENBUElBRXFBaFNVa2lBT0lBRXFBaGlVa3BLN09RTTRJQW9nQVNvQ0xDQVFJQUVxQWlDVUlBOGdBU29DSkpTU0lBNGdBU29DS0pTU2tyczVBMWdnQmdSQUlBQWdDU0FLSUFnZ0N4Q2RCRUVBU0FSQUlBdEVBQUFBQUlUWGwwRTVBd0FMQlNBQUlBa2dDaUFJSUFzUTZnRkJBRWdFUUNBTFJBQUFBQUNFMTVkQk9RTUFDd3NnQ1NnQ0FCQTRJQWtvQWdRUU9FRUFJUUFEUUNBQVFRTkhCRUJCQUNFQkEwQWdBVUVEUndSQUlBQkJCSFFnQldvZ0FVRUNkR29nQUVFRmRDQUlhaUFCUVFOMGFpc0RBTFk0QWdBZ0FVRUJhaUVCREFFTEN5QUFRUUZxSVFBTUFRc0xJQVVnQ0NzREdDQUlLd01BSUJDN0loT2lvU0FJS3dNSUlBKzdJaFNpb1NBSUt3TVFJQTY3SWhXaW9iWTRBZ3dnQlNBSUt3TTRJQWdyQXlBZ0U2S2hJQWdyQXlnZ0ZLS2hJQWdyQXpBZ0ZhS2h0amdDSENBRklBZ3JBMWdnQ0VGQWF5c0RBQ0FUb3FFZ0NDc0RTQ0FVb3FFZ0NDc0RVQ0FWb3FHMk9BSXNJQXNyQXdDMklSSWdDQ1FHSUJJTEp3RUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRUVRZkFYUWJ2VUFrRUdJQUVRQ1NBREN5UUdDd29BSUFCQkdHb1FsUUVMRlFBZ0FFTUFBSUEvSUFFZ0FVTUFBQUFBV3h1VkN5SUFJQUFnQVNvQ0FDQUNLZ0lBa3pnQ0FDQUFJQUVxQWdRZ0Fpb0NCSk00QWdRTHlRSUJCSDhqQmlFREl3WkJFR29rQmlBQktBSUFRUUpIQkVBZ0EwSEF5QU5COE9RQkVEZEJtZUFCRURkQjc2SUNFRGRCNVFJUVBrSDJvZ0lRTjBHZjVRRVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdBeEE4SUFRZ0JSQkFJQVFRUHhBQUN3SkFBa0FDUUFKQUFrQWdBaWdDQUE0REFnQUJBd3NnQVNnQ0dDQUFLQUlnSUFJb0FoZ2dBaWdDQkNBQ0tBSUlFTllJREFNTElBRW9BaGdnQUNnQ0xDQUNLQUlZSUFJb0FnUWdBaWdDQ0JEVkNBd0NDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQncrVUJRY1BsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBd0JDMEVRRUFVaEFDQURRZ0EzQWdBZ0EwRUFOZ0lJSUFOQjF1VUJRZGJsQVJCZ0VINGdBQ0FERUlZQ0lBQkJpUElBUVFVUUJBc2dBeVFHQzBBQkFYMGdBRUVCSUFSMHNpSUZJQUtVUkFBQUFBQUFBUEEvSUFSQmYyb1Fud0ZFQUFBQUFBQUE0TCtndGlJQ2tqZ0NBQ0FCSUFVZ0E1UWdBcEk0QWdBTHhBRUJCWDhqQmlFREl3WkJJR29rQmtISDQvRTRJQUFvQWdRZ0FDZ0NBR3RCSkJBNVFRRnFJZ0pKQkVBUUFBVWdBeUFDSUFBb0FnZ2dBQ2dDQUNJRWEwRWtFRGtpQlVFQmRDSUdJQVlnQWtrYlFjZmo4VGdnQlVIajhiZ2NTUnNnQUNnQ0JDQUVhMEVrRURrZ0FFRUlhaERRQWlBREtBSUlJZ0lnQVNrQ0FEY0NBQ0FDSUFFcEFnZzNBZ2dnQWlBQktRSVFOd0lRSUFJZ0FTa0NHRGNDR0NBQ0lBRW9BaUEyQWlBZ0F5QUNRU1JxTmdJSUlBQWdBeERQQWlBREVNNENJQU1rQmdzTEdnQkRBQUFBQUNBQklBQWdBQ0FCWGhzZ0FFTUFBQUFBWFJzTGx3RUJCSDhnQVVFRWFpSURLQUlBUVFBZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCQW5WclFRSjBhaUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTDRBRUNBbjhCZlNNR0lRWWpCa0V3YWlRR0lBQUVmeUFBUVFocUlBRWdCaEQ2QVNBQVFiZ0JhaUFHS2dJTUlBWXFBZ0FnQXBRZ0Jpb0NCQ0FEbEpLU0lBWXFBaXdnQmlvQ0lDQUNsQ0FHS2dJa0lBT1VrcElpQ0pVZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFJbFNBRUlBVVFiVUVmZFFVZ0FTb0NIQ0FCS2dJUUlBS1VJQUVxQWhRZ0E1U1NraUVJSUFRZ0FTb0NEQ0FCS2dJQUlBS1VJQUVxQWdRZ0E1U1NraUFCS2dJc0lBRXFBaUFnQXBRZ0FTb0NKQ0FEbEpLU0lnS1ZPQUlBSUFVZ0NDQUNsVGdDQUVFQUN5RUhJQVlrQmlBSEN6UUJBbjhEUUFKQUlBQWdBUkNXQXlJQ1JRUkFRUUFoQWd3QkN5QUFMQUFBUVFwcklnTkJBQ0FEUVJsSEcwVU5BUXNMSUFJTFhRRUJmeUFCSUFCSUlBQWdBU0FDYWtoeEJFQWdBU0FDYWlFQklBQWlBeUFDYWlFQUEwQWdBa0VBU2dSQUlBSkJBV3NoQWlBQVFRRnJJZ0FnQVVFQmF5SUJMQUFBT2dBQURBRUxDeUFESVFBRklBQWdBU0FDRUV3YUN5QUFDNE1CQVFKL0lBQkZCRUFnQVJCRUR3c2dBVUcvZjBzRVFFR2t4UU5CTURZQ0FFRUFEd3NnQUVGNGFrRVFJQUZCQzJwQmVIRWdBVUVMU1JzUTRBa2lBZ1JBSUFKQkNHb1BDeUFCRUVRaUFrVUVRRUVBRHdzZ0FpQUFJQUJCZkdvb0FnQWlBMEY0Y1VFRVFRZ2dBMEVEY1J0cklnTWdBU0FESUFGSkd4Qk1HaUFBRURnZ0FndFpBUUovQTBBZ0FDQUJFSllEQkVBZ0FCQmdJUUlEUUFKQUlBSkZEUUFDUUNBQUlBSkJmMm9pQW1vaUF5d0FBRUVLYXc0RUFBRUJBQUVMSUFOQkFEb0FBQXdCQ3dzZ0FDd0FBQ0lDUVFBZ0FrRWpSeHRGRFFFTEN3dm1CQUlJZndSOEl3WWhDQ01HUWJBQmFpUUdJQWhCcUFGcUlRVWdDRUdnQVdvaEJpQUlRWkFCYWlFS0lBaEJNR29oQ3lBQktBSUlJZ2RCQTBnRWYwRi9CUUovSUFkQjRBQnNFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBWVFQVUYvREFFTElBZEJCSFFRUkNJSFJRUkFRUUJCQTBISzJBSWdCUkE5SUFrUU9FRi9EQUVMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQlVFRmRDQURhaUFHUVFOMGFpQUZRUVYwSUFKcUlBWkJBM1JxS3dNQU9RTUFJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQzBFQUlRWUNRQUpBQWtBRFFBSkFJQUFnQXlBTEVMTUNSQUFBQUFBQUFBQUFJUTFCQUNFRkEwQWdCU0FCS0FJSUlnSklCRUFnQ2lBTElBRW9BZ1FnQlVFWWJHb1F1d1JCQUVnTkFpQUJLQUlBSWdJZ0JVRUVkR29yQXdBZ0Npc0RBS0VoRGlBRlFRUjBJQUpxS3dNSUlBb3JBd2loSVE4Z0JVRUJkQ0lDUVFOMElBZHFJQTQ1QXdBZ0FrRUJja0VEZENBSGFpQVBPUU1BSUEwZ0RpQU9vaUFQSUEraW9LQWhEU0FGUVFGcUlRVU1BUXNMSUEwZ0FyZWpJZzBnQUNzRGFHTU5CQ0FHQkVBZ0RTQUFLd040WXdSQUlBMGdFS01nQUNzRGNHUU5CZ3NMSUFZZ0FDZ0NZRVlOQkVFQUlRVURRQ0FGSUFKSUJFQWdCVUVNYkVFRGRDQUphaUFBSUFNZ0FTZ0NCQ0FGUVJoc2FoQzVCRUVBU0EwRUlBVkJBV29oQlNBQktBSUlJUUlNQVFzTElBZ2dCeUFKSUFKQkFYUVFzd1JCQUVnTkF5QURJQWdRc2dRZ0RTRVFJQVpCQVdvaEJnd0JDd3NnQ1NBSEVPQUNRWDhNQXdzZ0NTQUhFT0FDUVg4TUFnc2dDU0FIRU9BQ1FYOE1BUXNnQkNBTk9RTUFJQWtRT0NBSEVEaEJBQXNMSVF3Z0NDUUdJQXdMWEFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVJBN0lBTkJxTTRERURvaUFTZ0NBQ2dDRUNFRUlBSWdBU0FFUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBTVFQQ0FESkFZTENRQWdBQ0FCRUlvTEMxd0JBbjhqQmlFREl3WkJFR29rQmlBRElBRVFPeUFEUVpET0F4QTZJZ0VvQWdBb0FoQWhCQ0FDSUFFZ0JFSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FERUR3Z0F5UUdDeEFBSUFBZ0FTQUFLQUlZUlhJMkFoQUxld0VCZnlBQVFYOUdCRUJCZnlFQUJRSkFJQUVvQWt4QmYwb0VmMEVCQlVFQUN4b0NRQUpBSUFFb0FnUWlBZzBBSUFFUXB3SWFJQUVvQWdRaUFnMEFEQUVMSUFJZ0FTZ0NMRUY0YWtzRVFDQUJJQUpCZjJvaUFqWUNCQ0FDSUFBNkFBQWdBU0FCS0FJQVFXOXhOZ0lBREFJTEMwRi9JUUFMQ3lBQUMxUUJBbjhnQVVFZlN3Ui9JQUFnQUNnQ0FDSUNOZ0lFSUFCQkFEWUNBQ0FCUVdCcUlRRkJBQVVnQUNnQ0JDRUNJQUFvQWdBTElRTWdBQ0FDSUFGMElBTkJJQ0FCYTNaeU5nSUVJQUFnQXlBQmREWUNBQXVYQXdFRmZ5TUdJUWdqQmtId0FXb2tCaUFJUWVnQmFpSUpJQU1vQWdBaUJ6WUNBQ0FKSUFNb0FnUWlBellDQkNBSUlBQTJBZ0FDUUFKQUlBTWdCMEVCUjNJRVFFRUFJQUZySVFzZ0FDQUVRUUowSUFacUtBSUFheUlLSUFBZ0FrRS9jVUdLQVdvUkFnQkJBVWdFUUVFQklRTUZRUUVoQnlBRlJTRUZJQUFoQXlBS0lRQURmeUFGSUFSQkFVcHhCRUFnQkVGK2FrRUNkQ0FHYWlnQ0FDRUtJQU1nQzJvaUJTQUFJQUpCUDNGQmlnRnFFUUlBUVg5S0JFQWdCeUVGSUFNaEFBd0ZDeUFGSUFwcklBQWdBa0UvY1VHS0FXb1JBZ0JCZjBvRVFDQUhJUVVnQXlFQURBVUxDeUFIUVFGcUlRVWdCMEVDZENBSWFpQUFOZ0lBSUFrZ0NSQ0JBeUlERVBJQklBTWdCR29oQkNBSktBSUFRUUZISUFrb0FnUkJBRWR5UlEwRElBQWdCRUVDZENBR2FpZ0NBR3NpQ2lBSUtBSUFJQUpCUDNGQmlnRnFFUUlBUVFGSUJIOGdCU0VEUVFBRklBQWhBeUFGSVFkQkFTRUZJQW9oQUF3QkN3c2hCUXNGUVFFaEF3c2dCVVVFUUNBRElRVU1BUXNNQVFzZ0FTQUlJQVVRL3dJZ0FDQUJJQUlnQkNBR0VLSUNDeUFJSkFZTFZBRUNmeUFCUVI5TEJIOGdBQ0FBS0FJRUlnSTJBZ0FnQUVFQU5nSUVJQUZCWUdvaEFVRUFCU0FBS0FJQUlRSWdBQ2dDQkFzaEF5QUFJQU5CSUNBQmEzUWdBaUFCZG5JMkFnQWdBQ0FESUFGMk5nSUVDMTRCQVg4Q2Z5QUFLQUpNUVFCT0JFQWdBQ2dDQkNJQklBQW9BZ2hKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUTlRRUxEQUVMSUFBb0FnUWlBU0FBS0FJSVNRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFUFVCQ3dzTEVnQWdBQ2dDVEJvZ0FDQUJyQ0FDRUlrREMwa0JBMzhqQmlFQkl3WkJFR29rQmlBQUVLY0NCSDlCZndVZ0FDZ0NJQ0VDSUFBZ0FVRUJJQUpCUDNGQnlnRnFFUVFBUVFGR0JIOGdBUzBBQUFWQmZ3c0xJUU1nQVNRR0lBTUxFQUFnQVZBRWZrSUFCU0FBSUFHQUN3dGVBUUYvSUFSQkFFd0VRQThMSUFGQkFuUWdBR29oQUNBRFFRSjBJQUpxSVFFRFFDQUFRUVJxSVFJZ0FVRUVhaUVESUFFb0FnQWdBQ2dDQUNBRkVFd2FJQVJCZjJvaEJpQUVRUUZLQkVBZ0FpRUFJQU1oQVNBR0lRUU1BUXNMQ3hNQUlBRWdBRUYvYW1vaUFDQUFJQUVRVDJzTHZDMEJDWDhqQmlFS0l3WkJvQXBxSkFZZ0FrRURTd1JBSUFBb0FnQWlCVUUwTmdJVUlBVWdBallDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQUpCQW5ScUlBQkJ4QUZxSUFKQkFuUnFJQUZCQUVjaURCc29BZ0FpQmtVRVFDQUFLQUlBSWdGQk5EWUNGQ0FCSUFJMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QURLQUlBSWdSRkJFQWdBQ2dDQkNnQ0FDRUJJQU1nQUVFQlFaQUxJQUZCUDNGQnlnRnFFUVFBSWdRMkFnQUxJQUFoQ3lBS1FaQUlhaUVKSUFRZ0JqWUNqQUVnQml3QUFTSUNRZjhCY1NFQklBSUVRQ0FKUVFFZ0FSQkZHZ1ZCQUNFQkN5QUJJQVlzQUFJaUEwSC9BWEVpQldvaUFrR0FBa3NFUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFJZ0JSQkZHaUFDSVFFTElBRWdCaXdBQXlJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQXlBRkVFVWFJQUloQVFzZ0FTQUdMQUFFSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VFSUFVUVJSb2dBaUVCQ3lBQklBWXNBQVVpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUVVnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FCaUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJCaUFGRUVVYUlBSWhBUXNnQVNBR0xBQUhJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUhJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBZ2lBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRZ2dCUkJGR2lBQ0lRRUxJQUVnQml3QUNTSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkNTQUZFRVVhSUFJaEFRc2dBU0FHTEFBS0lnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFS0lBVVFSUm9nQWlFQkN5QUJJQVlzQUFzaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFzZ0JSQkZHaUFDSVFFTElBRWdCaXdBRENJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCRENBRkVFVWFJQUloQVFzZ0FTQUdMQUFOSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VOSUFVUVJSb2dBaUVCQ3lBQklBWXNBQTRpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUTRnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEeUFGRUVVYUlBSWhBUXNnQVNBR0xBQVFJZ0pCL3dGeElnTnFJZ2hCZ0FKS0JFQWdBQ2dDQUNJRlFRazJBaFFnQlNnQ0FDRUZJQXNnQlVIL0FYRkJyQU5xRVFFQUN5QUNCRUFnQVNBSmFrRVFJQU1RUlJvRklBRWhDQXNnQ0NBSmFrRUFPZ0FBSUFrc0FBQWlCUVJBUVFBaEFVRUFJUUlnQlNFREEwQWdCU0FEUVJoMFFSaDFSZ1JBQTBBZ0FrRUNkQ0FLYWlBQk5nSUFJQUZCQVdvaEFTQUZJQWtnQWtFQmFpSUNhaXdBQUNJRFJnMEFDd3NnQVVFQklBVjBUZ1JBSUFBb0FnQWlCMEVKTmdJVUlBY29BZ0FoQnlBTElBZEIvd0Z4UWF3RGFoRUJBQXNnQVVFQmRDRUJJQVZCQVdvaEJTQURRZjhCY1EwQUN3c2dCQ0FHTEFBQkJIOGdCRUVBSUFvb0FnQnJOZ0pNSUFZdEFBRWlBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRUUFoQVVGL0N6WUNCQ0FFSUFZc0FBSUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbEFnQVNBR0xRQUNhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFnZ2dCQ0FHTEFBREJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSlVJQUVnQmkwQUEyb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJTUlBUWdCaXdBQkFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1dDQUJJQVl0QUFScUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDRUNBRUlBWXNBQVVFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQWx3Z0FTQUdMUUFGYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaFFnQkNBR0xBQUdCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pnSUFFZ0JpMEFCbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSVlJQVFnQml3QUJ3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNaQ0FCSUFZdEFBZHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0hDQUVJQVlzQUFnRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFtZ2dBU0FHTFFBSWFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWlBZ0JDQUdMQUFKQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKc0lBRWdCaTBBQ1dvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lrSUFRZ0Jpd0FDZ1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDY0NBQklBWXRBQXBxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNLQ0FFSUFZc0FBc0VmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBblFnQVNBR0xRQUxhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFpd2dCQ0FHTEFBTUJIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSjRJQUVnQmkwQURHb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJd0lBUWdCaXdBRFFSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ2ZDQUJJQVl0QUExcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDTkNBRUlBWXNBQTRFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW9BQklBRWdCaTBBRG1vaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0k0SUFRZ0Jpd0FEd1IvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDaEFFZ0FTQUdMUUFQYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBandnQkVGQWF5QUdMQUFRQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdLSUFTQUJJQVl0QUJCcVFYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0FDQUVRZi8vUHpZQ1JDQUVRWkFCYWtFQVFZQUlFRVVhSUFZc0FBRUVRRUVCSVFOQkFDRUJBMEFnQVNBR1FSRnFhaUVIUVlBQklRVWdBVUVDZENBS2FpZ0NBRUVIZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQVRZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUZKQkVBZ0FpRUREQUVMQ3dWQkFDRUJDeUFHTEFBQ0JFQkJBU0VEQTBBZ0FTQUdRUkZxYWlFSFFjQUFJUVVnQVVFQ2RDQUthaWdDQUVFR2RDRUNBMEFnQkVHUUFXb2dBa0VDZEdwQkFqWUNBQ0FDSUFSQmtBbHFhaUFITEFBQU9nQUFJQUpCQVdvaEFpQUZRWDlxSVFrZ0JVRUJTZ1JBSUFraEJRd0JDd3NnQTBFQmFpRUNJQUZCQVdvaEFTQURJQVl0QUFKSkJFQWdBaUVEREFFTEN3c2dCaXdBQXdSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQlhRaUNVRUNkR3BCQXpZQ0FDQUpJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFSGNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUVhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVGYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFR2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUhhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVQY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUlhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVKYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFS2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUxhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVNYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU9haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVQYWlJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFZmNpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQU5KQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCSFFpQ1VFQ2RHcEJCRFlDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFSSkJFQWdBeUVDREFFTEN3c2dCaXdBQlFSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQTNRaUJVRUNkR3BCQlRZQ0FDQUZJQVJCa0FscWFpQUJJQVpCRVdwcUlnTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmNpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUJhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUNhaUlIUVFKMGFrRUZOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVEYWlJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGNpSUZRUUowYWtFRk5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVZKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCZ1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBblFpQTBFQ2RHcEJCallDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFR05nSUFJQWtnQkVHUUNXcHFJQVVzQUFBNkFBQWdCRUdRQVdvZ0EwRURjaUlEUVFKMGFrRUdOZ0lBSUFNZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQWtFQmFpRURJQUZCQVdvaEFTQUNJQVl0QUFaSkJFQWdBeUVDREFFTEN3c2dCaXdBQndSQVFRRWhBZ05BSUFSQmtBRnFJQUZCQW5RZ0Ntb29BZ0JCQVhRaUEwRUNkR3BCQnpZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUlnVXNBQUE2QUFBZ0JFR1FBV29nQTBFQmNpSURRUUowYWtFSE5nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQWRKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FDQVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQWlBMEVDZEdwQkNEWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFMQUFBT2dBQUlBSkJBV29oQXlBQlFRRnFJUUVnQWlBR0xRQUlTUVJBSUFNaEFnd0JDd3NMSUF3Z0NFRUFTbkZGQkVBZ0NpUUdEd3RCQUNFQkEwQWdBU0FHUVJGcWFpMEFBRUVQU2dSQUlBQW9BZ0FpQWtFSk5nSVVJQUlvQWdBaEFpQUxJQUpCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUlCSUFoSERRQUxJQW9rQmd1OEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFWMElBQnFJUVVnQkVFRmRDQUFhaUVHSUFSQkJYUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRFFRSjBJQUZxS2dJQUlBVXJBd0MybENBQlFSQnFJQU5CQW5ScUtnSUFJQVlyQXdpMmxKSWdBVUVnYWlBRFFRSjBhaW9DQUNBSEt3TVF0cFNTT0FJQUlBTkJBV29oQXd3QkN3c2dCRUVFZENBQ2FpSURJQU1xQWd3Z0JFRUZkQ0FBYWlzREdMYVNPQUlNSUFSQkFXb2hCQXdCQ3dzTCtsY0REbjhEZlFsOEl3WWhEU01HUVlBQ2FpUUdJQTFCMEFCcUlSSWdEVUdRQVdvaUQwUUFBQUFBQUFCWlFEa0RBQ0FQUkFBQUFBQUFBRmxBT1FNSUlBOUVBQUFBQUFDQVcwQTVBeEFnRDBRQUFBQUFBQUJaUURrREdDQVBSQUFBQUFBQWdGdEFPUU1nSUE5RUFBQUFBQUNBVzBBNUF5Z2dEMFFBQUFBQUFBQlpRRGtETUNBUFJBQUFBQUFBZ0Z0QU9RTTRBMEFnRUVFRVJ3UkFJQkJCQkhRZ0Vtb2dFRUVFZENBSmFpc0RBRGtEQUNBUVFRUjBJQkpxSUJCQkJIUWdDV29yQXdnNUF3Z2dFRUVCYWlFUURBRUxDeUFQSUJJZ0RSQ0pCeUFTS3dNQUloMGdFaXNERUNJZW9TSWZJQitpSUJJckF3Z2lIeUFTS3dNWUlpQ2hJaUVnSWFLZ0VITWhDU0FTS3dNZ0lpRWdFaXNETUNJaW9TSWpJQ09pSUJJckF5Z2lJeUFTS3dNNElpU2hJaVVnSmFLZ0VITWhFaUFlSUNHaEloNGdIcUlnSUNBam9TSWVJQjZpb0JCeklROGdJaUFkb1NJZElCMmlJQ1FnSDZFaUhTQWRvcUFRY3lFUUlCSWdDU0FTSUFsS0c3Y2dDcUlnQ3FJUWN5RVZJQkFnRHlBUUlBOUtHN2NnQ3FJZ0NxSVFjeUVRSUFBRVFDQUNJUWtEUUNBSlFRRjBJUklnQ1NBSlFRSjBiQ0FWU0NBSklBTkljUVJBSUJJaENRd0JDd3NnQWlFU0EwQWdFa0VCZENFUElCSWdFa0VDZEd3Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEJTQUNJUWtEUUNBSlFRRjBJUklnQ1NBSmJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0Vtd2dFRWdnRWlBRFNIRUVRQ0FQSVJJTUFRc0xDeUFOUWVnQmFpRU1JQTFCNEFGcUlRNGdEVUhZQVdvaEV5QU5RZEFCYWlFUklBMUI4QUZxSVJBZ0RVSHNBV29oRHlBRElBa2dDU0FEU2hzaUNTQUNFRGtoRlNBRElCSWdFaUFEU2hzaUF5QUNFRGtoRWtRQUFBQUFBQUR3UHlBS29VUUFBQUFBQUFEZ1A2SkVBQUFBQUFBQUpFQ2lJUjBnQ2tRQUFBQUFBQUFrUUtJaENpQUNJQUpzSVJRQ2Z3SkFJQUVFUUNBVVFRUVFqUUlpQVVVRVFFRUFRUU5CdWRnQ0lBNFFQVUVCRUFFTEFrQWdCMEVDU1FSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRURiQ0lNYWkwQUFDQUVJQXhCQVdwcUxRQUFhaUFFSUF4QkFtcHFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBVWdCMEVCY2tFRFJnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTWFpMEFBQ0FFSUF4QkFYSnFMUUFBYWlBRUlBeEJBbkpxTFFBQWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnQjBFQ2NrRUdSZ1JBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMERJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSElCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQ2RDSU1RUUZ5YWkwQUFDQUVJQXhCQW5KcUxRQUFhaUFFSUF4QkEzSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSFFRVnJEZ29BQmdFQ0F3UUZBQUFBQmdzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VDZENBQmFpSU9JQXdnRGlnQ0FHbzJBZ0FMQ3lBSFFRRnFJUWNNQVFzTElBQkJBV29oQUF3QUFBc0FDeUFkUkFBQUFBQUFBRmxBb0NFZUlBTzNJU0VnQ2JjaElpQU5RVUJySVJNZ0FFRUJSaUVSUVFBaEFBTkFJQUFnQTA0TkJ5QWVJQW9nQUxkRUFBQUFBQUFBNEQrZ29pQWhvNkFoSFVFQUlRY0RRQ0FISUFsSUJFQWdFeXNEQUNBZUlBb2dCN2RFQUFBQUFBQUE0RCtnb2lBaW82QWlIeUFOS3dNd29pQWRJQTByQXppaW9LQWlJRVFBQUFBQUFBQUFBR0VOQ3lBUUlBMHJBeEFnSHlBTkt3TUFvaUFkSUEwckF3aWlvS0FnSUtPMklobzRBZ0FnRHlBTkt3TW9JQjhnRFNzREdLSWdIU0FOS3dNZ29xQ2dJQ0NqdGlJYk9BSUFJQWdnR2lBYklCQWdEeEJ0R2lBUUtnSUFJUm9nRVFSL0lCcERBQUNBUDVJUVEwRUNFRGxCQVhRaERDQVBLZ0lBUXdBQWdEK1NFRU5CQWhBNVFRRjBCU0FhUXdBQUFEK1NFRU1oRENBUEtnSUFRd0FBQUQrU0VFTUxJUTRnREVGL1NnUkFJQXdnQlVnZ0RrRi9TbkVnRGlBR1NIRUVRQ0FFSUF3Z0JTQU9iR3BCQVhSQkFYSnFMUUFBSVF3Z0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFKMElBRnFJZzRnRENBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRHb3RBQUFoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRVWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFrZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QitBRnhRUVJ5SUE1QkJYUkI0QUZ4SUFRZ0RFRUJjbW90QUFBaURFRURka0VjY1hKQkFuSnFJQXhCQTNSQitBRnhRUVJ5YWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFRZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWdnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRVljWEpCQkhKcUlBeEJBblJCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUU1nSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRY2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUI4QUZ4UVFoeUlBNUJCSFJCOEFGeFFRaHlhaUFFSUF4QkFYSnFMQUFBUVhCeFFRaHlRZjhCY1dwQkF4QklJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxRUUJCQTBIeXFBRWdEQkE5REFNTEFBc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0ZFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0ZJQlJCQTJ3aUdFRUVFSTBDSWdGRkJFQkJBRUVEUWJuWUFpQVJFRDFCQVJBQkN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCdzRQQUFFQ0F3UUZCZ2NJQ1FvTEJRVUZEQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRMGdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJFZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneEJBbXBxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVdwcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRd2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFJBZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFOc0lneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFtcHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRc2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE4Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBbkpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQVhKcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeHFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRb2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFE0Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkFuSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRa2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFEwZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFKMElneEJBWEpxTFFBQUlSRWdBQ0FTRURrZ0Ftd2dCeUFWRURscVFRTnNJZzVCQW5RZ0FXb2lGaUFSSUJZb0FnQnFOZ0lBSUE1QkFXcEJBblFnQVdvaUVTQUVJQXhCQW5KcUxRQUFJQkVvQWdCcU5nSUFJQTVCQW1wQkFuUWdBV29pRGlBRUlBeEJBM0pxTFFBQUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVVJQUJCQVVZaEUwRUFJUUFEUUNBQUlBTk9EUWdnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJRckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRd2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCTUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cWFpMEFBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhFZ0RDQVJLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwSElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBMSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRTnlhaTBBQUNFUklBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdFU0FXS0FJQWFqWUNBQ0FPUVFGcVFRSjBJQUZxSWhFZ0JDQU1RUUp5YWkwQUFDQVJLQUlBYWpZQ0FDQU9RUUpxUVFKMElBRnFJZzRnQkNBTVFRRnlhaTBBQUNBT0tBSUFhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEdJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwS0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZHb3RBQUJCZ0g5cXNpRWFJQVFnRkVFQ2Ftb3RBQUJCZ0g5cXNpRWJJQnBEVGhvQlJKUWdCQ0FNSUE1cVFRRjBRUUZ5YWkwQUFFRndhckpEZndxVlE1UWlISklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEVTQUFRUUZHSVJaQkFDRUFBMEFnQUNBRFRnMEZJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FSS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSklCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBV0JIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0JTQU9iQ0lPSUF4Qi92OERjV3BCQVhRaUZFRUJjbW90QUFCQmdIOXFzaUVhSUFRZ0ZFRURhbW90QUFCQmdIOXFzaUViSUFRZ0RDQU9ha0VCZEdvdEFBQkJjR3F5UTM4S2xVT1VJaHdnR2tOT0dnRkVsSklRUTBFSWRTRU1JQndnR2tQK2xNaENsSk1nRzBPNEhsQkRsSk1RUTBFSWRTRU9JQndnRzBPZ1NzeERsSklRUTBFSWRTRVVJQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lUUVFKMElBRnFJaGNnRnlnQ0FDQU1RUUFnREVFQVNoc2lERUgvQVNBTVFmOEJTQnRxTmdJQUlCTkJBV3BCQW5RZ0FXb2lEQ0FNS0FJQUlBNUJBQ0FPUVFCS0d5SU9RZjhCSUE1Qi93RklHMm8yQWdBZ0UwRUNha0VDZENBQmFpSU1JQXdvQWdBZ0ZFRUFJQlJCQUVvYklneEIvd0VnREVIL0FVZ2JhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMEVJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwSUlCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSVJRUUZ5YWl3QUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaFlnRmlnQ0FDQU1RUU4wUWY4QmNVRUVjbW8yQWdBZ0RrRUJha0VDZENBQmFpSVdJQllvQWdBZ0JDQVJhaXdBQUNJUlFRVjBRZjhCY1NBTVFlQUJjVUVEZG5KQkFuSnFOZ0lBSUE1QkFtcEJBblFnQVdvaURDQU1LQUlBSUJGQmVIRkJCSEpCL3dGeGFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRSjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWNBQmNVRURkbkpCQkhKcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBDSUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEdJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lPUVFGeWFpd0FBRUZ3Y1VFSWNrSC9BWEVoRVNBQUlCSVFPU0FDYkNBSElCVVFPV3BCQTJ3aURFRUNkQ0FCYWlJV0lCRWdGaWdDQUdvMkFnQWdERUVCYWtFQ2RDQUJhaUlSSUJFb0FnQWdCQ0FPYWl3QUFDSU9RUVIwUWY4QmNVRUljbW8yQWdBZ0RFRUNha0VDZENBQmFpSU1JQXdvQWdBZ0RrRndjVUVJY2tIL0FYRnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXRCQUVFRFFmS29BU0FURUQwTUFnc2dFaUFWYkNFQ1FRQWhBQU5BSUFBZ0dFY0VRQ0FBSUF0cUlBQkJBblFnQVdvb0FnQWdBaEJJT2dBQUlBQkJBV29oQUF3QkN3c0xJQUVRT0VFQURBRUxJQUVRT0VGL0N5RVpJQTBrQmlBWkM2a0JBQ0FBSUFFcUFnQ01PQUlBSUFBZ0FTb0NCSXc0QWdRZ0FFTUFBSUMvT0FJSUlBQkJER29Rd2dNZ0FDQUNLZ0lBSUFFcUFnQ1VPQUlZSUFBZ0Fpb0NBQ0FCS2dJRWxEZ0NIQ0FBSUFJb0FnQTJBaUFnQUVFa2FoRENBeUFBSUFFcUFnQ01PQUl3SUFBZ0FTb0NCSXc0QWpRZ0FFTUFBSUMvT0FJNElBQWdBaW9DQkNBQktnSUFsRGdDUENBQVFVQnJJQUlxQWdRZ0FTb0NCSlE0QWdBZ0FDQUNLQUlFTmdKRUN5UUFJQUFnQVNBQ0VJVUJRd0FBQUFCZUlBTWdCQ0FGRUlVQlF3QUFBQUJlYzBFQmN3c01BQ0FBSUFFZ0FDQUJYUnNMSUFBZ0FDb0NBQ0FCS2dJRWxDQUFLZ0lFSUFFcUFnQ1VrNHREQUFBQVA1UUxUQUVDZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0FDSURhMEVEZFNBQlNRUkFJQUlnQVNBQUtBSUVJQU5yUVFOMUlBQkJDR29RaUFJZ0FDQUNFTTBDSUFJUXpBSUxJQUlrQmdzSEFDQUFRUkJxQ3drQUlBQWdBUkRiQXdzTUFDQUFJQUZCQVhFNkFHUUxLZ0FnQUVFQU5nSUFJQUJCQURZQ0JDQUFRUUEyQWdnZ0FRUkFJQUFnQVJDZENDQUFJQUVROWdNTEN3d0FJQUFnQVNBQUlBRklHd3NWQUNBQVFmeUZBVFlDQUNBQVFRUnFJQUVRM2dJTG93SUNCSDhCZlNNR0lRTWpCa0VRYWlRR0lBSkRBQUFBQUdCRkJFQWdBMEhBeUFOQm5ac0NFRGRCcUprQ0VEZEI3NklDRURkQjZBRVFQa0gyb2dJUU4wRy9td0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVXNpQUNYZ1JBSUFBcUFoZ2dBaERsQkVFQklBRjBzcFFoQnlBREpBWWdCdzhGSUFOQndNZ0RRZGFiQWhBM1FhaVpBaEEzUWUraUFoQTNRZWtCRUQ1QjlxSUNFRGRCaVp3Q0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBTkJnTTRERURvaUFTZ0NBQ2dDSENFQUlBRkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBTVFQQ0FFSUFBUVFDQUVFRDhRQUF0REFBQUFBQXR6QVFGL0lBQkJBRFlDRENBQUlBTTJBaEFnQVFSQUlBRkIvLy8vL3dGTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVFOMEVGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkEzUWdCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRUU4wSUFScU5nSU1DMHdCQVg4Z0FDZ0NBQ0VDSUFBZ0FTZ0NBRFlDQUNBQklBSTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0JEWUNCQ0FCSUFJMkFnUWdBQ2dDQ0NFQ0lBQWdBU2dDQ0RZQ0NDQUJJQUkyQWdnTEhBQWdBRUVBUnlBQlFRVkpjUVIvSUFBZ0FUWUNHRUVBQlVGL0N3c0lBRUVPRUFKQkFBc0lBRUVJRUFKQkFBdFhBUUYvSUFBRVFDQUFJQUZzSVFJZ0FDQUJja0gvL3dOTEJFQWdBa0YvSUFJZ0FCQklJQUZHR3lFQ0N3c2dBaEJFSWdCRkJFQWdBQThMSUFCQmZHb29BZ0JCQTNGRkJFQWdBQThMSUFCQkFDQUNFRVVhSUFBTHZBRUJCWDhqQmlFREl3WkJFR29rQmlBRElBRTJBZ0FnQUN3QUN5SUJRUUJJSWdVRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFGQi93RnhJUUpCQVFzaEFTQURRUVJxSVFRQ1FBSkFJQUVnQWtZRVFDQUFJQUZCQVNBQklBRVFrUVFnQUN3QUMwRUFTQTBCQlNBRkRRRUxJQUFnQWtFQmFqb0FDd3dCQ3lBQUtBSUFJUVlnQUNBQ1FRRnFOZ0lFSUFZaEFBc2dBa0VDZENBQWFpSUFJQU1RYmlBRVFRQTJBZ0FnQUVFRWFpQUVFRzRnQXlRR0N4SUFJQUFRT0NBQkVEZ2dBaEE0SUFNUU9Bc0lBRUgvLy8vL0J3c0ZBRUgvQUF1SkJnRUlmeU1HSVFrakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWdzb0FnQW9BaFFoQmlBSklBc2dCa0UvY1VHeUJXb1JBd0FnQ1NnQ0JDQUpMQUFMSWdaQi93RnhJQVpCQUVnYkJFQWdCU0FETmdJQUlBSUNmd0pBQWtBZ0FDd0FBQ0lHUVN0ckRnTUFBUUFCQ3lBS0tBSUFLQUlzSVFjZ0NpQUdJQWRCUDNGQmlnRnFFUUlBSVFZZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBR05nSUFJQUJCQVdvTUFRc2dBQXNpQm10QkFVb0VRQ0FHTEFBQVFUQkdCRUFnQml3QUFVSFlBR3NpQjBFQUlBZEJJRWNiUlFSQUlBb29BZ0FvQWl3aEJ5QUtRVEFnQjBFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUVhallDQUNBSUlBYzJBZ0FnQ2lnQ0FDZ0NMQ0VISUFvZ0Jpd0FBU0FIUVQ5eFFZb0JhaEVDQUNFSElBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0J6WUNBQ0FHUVFKcUlRWUxDd3NnQWlBR1J3UkFBa0FnQWlFSElBWWhDQU5BSUFnZ0IwRi9haUlIVHcwQklBZ3NBQUFoRFNBSUlBY3NBQUE2QUFBZ0J5QU5PZ0FBSUFoQkFXb2hDQXdBQUFzQUN3c2dDeWdDQUNnQ0VDRUhJQXNnQjBIL0FIRkJDR29SQUFBaERTQUdJUWhCQUNFSFFRQWhDd05BSUFnZ0Fra0VRQ0FISUFrb0FnQWdDU0FKTEFBTFFRQklHMm9zQUFBaURFRUFSeUFMSUF4R2NRUkFJQVVnQlNnQ0FDSUxRUVJxTmdJQUlBc2dEVFlDQUNBSElBY2dDU2dDQkNBSkxBQUxJZ2RCL3dGeElBZEJBRWdiUVg5cVNXb2hCMEVBSVFzTElBb29BZ0FvQWl3aERDQUtJQWdzQUFBZ0RFRS9jVUdLQVdvUkFnQWhEQ0FGSUFVb0FnQWlEa0VFYWpZQ0FDQU9JQXcyQWdBZ0NFRUJhaUVJSUF0QkFXb2hDd3dCQ3dzZ0JpQUFhMEVDZENBRGFpSUhJQVVvQWdBaUJrWUVmeUFIQlFOQUlBY2dCa0Y4YWlJR1NRUkFJQWNvQWdBaENDQUhJQVlvQWdBMkFnQWdCaUFJTmdJQUlBZEJCR29oQnd3QkN3c2dCU2dDQUFzaEJRVWdDaWdDQUNnQ01DRUdJQW9nQUNBQ0lBTWdCa0VQY1VHS0Ftb1JDUUFhSUFVZ0FpQUFhMEVDZENBRGFpSUZOZ0lBQ3lBRUlBVWdBU0FBYTBFQ2RDQURhaUFCSUFKR0d6WUNBQ0FKRUVjZ0NTUUdDNEFHQVFoL0l3WWhDU01HUVJCcUpBWWdCa0dBemdNUU9pRUtJQVpCa000REVEb2lDeWdDQUNnQ0ZDRUdJQWtnQ3lBR1FUOXhRYklGYWhFREFDQUpLQUlFSUFrc0FBc2lCa0gvQVhFZ0JrRUFTQnNFUUNBRklBTTJBZ0FnQWdKL0FrQUNRQ0FBTEFBQUlnWkJLMnNPQXdBQkFBRUxJQW9vQWdBb0Fod2hCeUFLSUFZZ0IwRS9jVUdLQVdvUkFnQWhCaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQVk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCU2dSQUlBWXNBQUJCTUVZRVFDQUdMQUFCUWRnQWF5SUhRUUFnQjBFZ1J4dEZCRUFnQ2lnQ0FDZ0NIQ0VISUFwQk1DQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFGcU5nSUFJQWdnQnpvQUFDQUtLQUlBS0FJY0lRY2dDaUFHTEFBQklBZEJQM0ZCaWdGcUVRSUFJUWNnQlNBRktBSUFJZ2hCQVdvMkFnQWdDQ0FIT2dBQUlBWkJBbW9oQmdzTEN5QUNJQVpIQkVBQ1FDQUNJUWNnQmlFSUEwQWdDQ0FIUVg5cUlnZFBEUUVnQ0N3QUFDRU5JQWdnQnl3QUFEb0FBQ0FISUEwNkFBQWdDRUVCYWlFSURBQUFDd0FMQ3lBTEtBSUFLQUlRSVFjZ0N5QUhRZjhBY1VFSWFoRUFBQ0VOSUFZaENFRUFJUWRCQUNFTEEwQWdDQ0FDU1FSQUlBY2dDU2dDQUNBSklBa3NBQXRCQUVnYmFpd0FBQ0lNUVFCSElBc2dERVp4QkVBZ0JTQUZLQUlBSWd0QkFXbzJBZ0FnQ3lBTk9nQUFJQWNnQnlBSktBSUVJQWtzQUFzaUIwSC9BWEVnQjBFQVNCdEJmMnBKYWlFSFFRQWhDd3NnQ2lnQ0FDZ0NIQ0VNSUFvZ0NDd0FBQ0FNUVQ5eFFZb0JhaEVDQUNFTUlBVWdCU2dDQUNJT1FRRnFOZ0lBSUE0Z0REb0FBQ0FJUVFGcUlRZ2dDMEVCYWlFTERBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFjRkEwQWdCeUFHUVg5cUlnWkpCRUFnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUxDeUFGS0FJQUN5RUZCU0FLS0FJQUtBSWdJUVlnQ2lBQUlBSWdBeUFHUVE5eFFZb0NhaEVKQUJvZ0JTQURJQUlnQUd0cUlnVTJBZ0FMSUFRZ0JTQURJQUVnQUd0cUlBRWdBa1liTmdJQUlBa1FSeUFKSkFZTDdRRUJCWDhnQWtHQUVIRUVRQ0FBUVNzNkFBQWdBRUVCYWlFQUN5QUNRWUFJY1FSQUlBQkJJem9BQUNBQVFRRnFJUUFMSUFKQmhBSnhJZ05CaEFKR0lnUUVmMEVBQlNBQVFTNDZBQUFnQUVFcU9nQUJJQUJCQW1vaEFFRUJDeUVISUFKQmdJQUJjU0VDQTBBZ0FTd0FBQ0lHQkVBZ0FDQUdPZ0FBSUFGQkFXb2hBU0FBUVFGcUlRQU1BUXNMSUFBQ2Z3SkFBa0FnQTBFRWF5SUJCRUFnQVVIOEFVWUVRQXdDQlF3REN3QUxJQUpCQ1haQi93RnhRZVlBY3d3Q0N5QUNRUWwyUWY4QmNVSGxBSE1NQVFzZ0FrRUpka0gvQVhFaEFTQUJRZUVBY3lBQlFlY0FjeUFFR3dzNkFBQWdCd3VlQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFrZ0F5QUNhMEVNRURraUIwSGtBRXNFUUNBSEVFUWlDUVJBSUFraURTRVNCUkFBQ3dVZ0NTRU5DeUFDSVFvZ0RTRUpBMEFnQXlBS1J3UkFJQW9zQUFzaUNFRUFTQVIvSUFvb0FnUUZJQWhCL3dGeEN3UkFJQWxCQVRvQUFBVWdDVUVDT2dBQUlBeEJBV29oRENBSFFYOXFJUWNMSUFwQkRHb2hDaUFKUVFGcUlRa01BUXNMSUF3aENTQUhJUXdEUUFKQUlBQW9BZ0FpQ0FSL0lBZ29BZ3dpQnlBSUtBSVFSZ1IvSUFnZ0NDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFvZ0FTZ0NBQ0lIQkg4Z0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhCMEVCQlVFQUN3VkJBQ0VIUVFFTElSTWdBQ2dDQUNFTElCTWdDbk1nREVFQVIzRkZEUUFnQ3lnQ0RDSUhJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2hEeUFHUlFSQUlBUWdEeUFFS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VQQ3lBUlFRRnFJUXNnQWlFSVFRQWhDaUFOSVE0Z0NTRUhBMEFnQXlBSVJ3UkFJQTRzQUFCQkFVWUVRQUpBSUFnc0FBdEJBRWdFZnlBSUtBSUFCU0FJQ3lBUlFRSjBhaWdDQUNFSklBWUVmeUFKQlNBRUlBa2dCQ2dDQUNnQ0hFRS9jVUdLQVdvUkFnQUxJQTlIQkVBZ0RrRUFPZ0FBSUF4QmYyb2hEQXdCQ3lBSUxBQUxJZ2xCQUVnRWZ5QUlLQUlFQlNBSlFmOEJjUXNnQzBZRVFDQU9RUUk2QUFBZ0RFRi9haUVNSUFkQkFXb2hCd3RCQVNFS0N3c2dDRUVNYWlFSUlBNUJBV29oRGd3QkN3c2dDZ1JBQWtBZ0FDZ0NBQ0lJS0FJTUlna2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBSlFRUnFOZ0lNSUFrb0FnQWFDeUFISUF4cVFRRkxCRUFnQWlFS0lBMGhDUU5BSUFNZ0NrWU5BaUFKTEFBQVFRSkdCRUFnQ2l3QUN5SUlRUUJJQkg4Z0NpZ0NCQVVnQ0VIL0FYRUxJQXRIQkVBZ0NVRUFPZ0FBSUFkQmYyb2hCd3NMSUFwQkRHb2hDaUFKUVFGcUlRa01BQUFMQUFzTEN5QUxJUkVnQnlFSkRBRUxDeUFMQkg4Z0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQkFKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQUNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwQ0N3d0NDeUFFRFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3dKQUFrQURRQ0FDSUFOR0RRRWdEU3dBQUVFQ1J3UkFJQUpCREdvaEFpQU5RUUZxSVEwTUFRc0xEQUVMSUFVZ0JTZ0NBRUVFY2pZQ0FDQURJUUlMSUJJUU9DQVFKQVlnQWd1ckNBRU5meU1HSVJBakJrSHdBR29rQmlBUUlRY2dBeUFDYTBFTUVEa2lDVUhrQUVzRVFDQUpFRVFpQndSQUlBY2lDeUVTQlJBQUN3VWdCeUVMQ3lBQ0lRY2dDeUVLQTBBZ0F5QUhSd1JBSUFjc0FBc2lERUVBU0FSL0lBY29BZ1FGSUF4Qi93RnhDd1JBSUFwQkFUb0FBQVVnQ2tFQ09nQUFJQWxCZjJvaENTQUlRUUZxSVFnTElBZEJER29oQnlBS1FRRnFJUW9NQVFzTElBa2hDaUFJSVFrRFFBSkFJQUFvQWdBaUJ3Ui9JQWNvQWd3aUNDQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWdzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc0NmeUFCS0FJQUlnZ0VmeUFJS0FJTUlnY2dDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRaEJBUVZCQUFzRlFRQWhDRUVCQ3lFVElBQW9BZ0FoQnlBVEMzTWdDa0VBUjNGRkRRQWdCeWdDRENJSUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVoRGlBR1JRUkFJQVFnRGlBRUtBSUFLQUlNUVQ5eFFZb0JhaEVDQUNFT0N5QVBRUUZxSVF3Z0FpRUhRUUFoQ0NBTElRMERRQ0FESUFkSEJFQWdEU3dBQUVFQlJnUkFBa0FnQnl3QUMwRUFTQVIvSUFjb0FnQUZJQWNMSUE5cUxBQUFJUkVnRGtIL0FYRWdCZ1IvSUJFRklBUWdFU0FFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQXRCL3dGeFJ3UkFJQTFCQURvQUFDQUtRWDlxSVFvTUFRc2dCeXdBQ3lJSVFRQklCSDhnQnlnQ0JBVWdDRUgvQVhFTElBeEdCRUFnRFVFQ09nQUFJQXBCZjJvaENpQUpRUUZxSVFrTFFRRWhDQXNMSUFkQkRHb2hCeUFOUVFGcUlRME1BUXNMSUFnRVFBSkFJQUFvQWdBaUJ5Z0NEQ0lJSUFjb0FoQkdCRUFnQnlBSEtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBY2dDRUVCYWpZQ0RDQUlMQUFBRUVJYUN5QUpJQXBxUVFGTEJFQWdBaUVISUFzaENBTkFJQU1nQjBZTkFpQUlMQUFBUVFKR0JFQWdCeXdBQ3lJUFFRQklCSDhnQnlnQ0JBVWdEMEgvQVhFTElBeEhCRUFnQ0VFQU9nQUFJQWxCZjJvaENRc0xJQWRCREdvaEJ5QUlRUUZxSVFnTUFBQUxBQXNMQ3lBTUlROE1BUXNMSUFjRWZ5QUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBQWtBZ0NFVU5BQ0FJS0FJTUlnUWdDQ2dDRUVZRWZ5QUlJQWdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRGZ5QUNJQU5HRFFFZ0N5d0FBRUVDUmdSL0lBSUZJQUpCREdvaEFpQUxRUUZxSVFzTUFRc0xJUU1NQVFzZ0JTQUZLQUlBUVFSeU5nSUFDeUFTRURnZ0VDUUdJQU1MaVFFQkFuOGdBQ2dDQkNJQklBRW9BZ0JCZEdvb0FnQnFJZ0VvQWhnRVFDQUJLQUlRUlFSQUlBRW9BZ1JCZ01BQWNRUkFJQUFvQWdRaUFTQUJLQUlBUVhScUtBSUFhaWdDR0NJQktBSUFLQUlZSVFJZ0FTQUNRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQW9BZ1FpQUNBQUtBSUFRWFJxS0FJQWFpSUFJQUFvQWhCQkFYSVE3Z0VMQ3dzTEN6d0FJQUJCQURvQUFDQUFJQUUyQWdRZ0FTQUJLQUlBUVhScUtBSUFhaUlCS0FJUVJRUkFJQUVvQWtnaUFRUkFJQUVRUHdzZ0FFRUJPZ0FBQ3dzS0FDQUFRUVJxRUowQ0N3b0FJQUJCQ0dvUW5RSUxCQUJCZndzREFBRUxNd0FnQUVHTWpBRTJBZ0FnQUJEUUN5QUFRUnhxRUR3Z0FDZ0NJQkE0SUFBb0FpUVFPQ0FBS0FJd0VEZ2dBQ2dDUEJBNEMxVUJBMzhnQUNnQ0JDSUdRUWgxSVFVZ0JrRUJjUVJBSUFJb0FnQWdCV29vQWdBaEJRc2dBQ2dDQUNJQUtBSUFLQUlZSVFjZ0FDQUJJQUlnQldvZ0EwRUNJQVpCQW5FYklBUWdCMEUvY1VHYUJtb1JCUUFMTGdFQmZ5TUdJUUlqQmtFUWFpUUdJQUlnQVRZQ0FFR2tpQUVvQWdBaUFTQUFJQUlRcFFJYUlBRVE4Z1FRQUF0OEF3Ri9BWDRDZkNNR0lRTWpCa0dRQVdva0JpQURRUUJCa0FFUVJSb2dBeUFBTmdJRUlBTkJmellDQ0NBRElBQTJBaXdnQTBGL05nSk1JQU5DQUJDQ0FTQURJQUpCQVJDU0F5RUdJQU1wQTNnZ0F5Z0NCQ0FES0FJSWE2eDhJUVFnQVFSQUlBRWdBQ0FBSUFTbmFpQUVVQnMyQWdBTElBTWtCaUFHQ3cwQUlBQWdBU0FDUW44UWhBTUwzd0VCQm44akJpRUdJd1pCOEFGcUpBWWdCaUFBTmdJQUlBTkJBVW9FUUFKQVFRQWdBV3NoQ1NBRElRZEJBU0VESUFBaEJRTkFJQVVnQUNBSmFpSUFJQWRCZm1vaUNrRUNkQ0FFYWlnQ0FHc2lDQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnUkFJQVVnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZzBDQ3lBRFFRSjBJQVpxSVFVZ0EwRUJhaUVESUFnZ0FDQUNRVDl4UVlvQmFoRUNBRUYvU2dSL0lBVWdDRFlDQUNBSUlRQWdCMEYvYWdVZ0JTQUFOZ0lBSUFvTElnZEJBVW9FUUNBR0tBSUFJUVVNQVFzTEN3VkJBU0VEQ3lBQklBWWdBeEQvQWlBR0pBWUxLUUVDZnlNR0lRUWpCa0VRYWlRR0lBUWdBellDQUNBQUlBRWdBaUFFRUtrQklRVWdCQ1FHSUFVTDZoSUNGSDhCZmlNR0lROGpCa0ZBYXlRR0lBOUJLR29oQ2lBUFFUQnFJUmdnRDBFOGFpRVdJQTlCT0dvaURDQUJOZ0lBSUFCQkFFY2hFaUFQUVNocUloVWhFeUFQUVNkcUlSZEJBQ0VCQWtBQ1FBTkFBa0FEUUNBSlFYOUtCRUFnQVVILy8vLy9CeUFKYTBvRWYwR2t4UU5CUFRZQ0FFRi9CU0FCSUFscUN5RUpDeUFNS0FJQUlnc3NBQUFpQ0VVTkF5QUxJUUVDUUFKQUEwQUNRQUpBSUFoQkdIUkJHSFVpQ0FSQUlBaEJKVWNOQVF3RUN3d0JDeUFNSUFGQkFXb2lBVFlDQUNBQkxBQUFJUWdNQVFzTERBRUxJQUVoQ0FOQUlBZ3NBQUZCSlVjTkFTQUJRUUZxSVFFZ0RDQUlRUUpxSWdnMkFnQWdDQ3dBQUVFbFJnMEFDd3NnQVNBTGF5RUJJQklFUUNBQUlBc2dBUkJ5Q3lBQkRRQUxJQXdvQWdBc0FBRVFpZ0ZGSVFnZ0RDQU1LQUlBSWdFZ0NBUi9RWDhoRFVFQkJTQUJMQUFDUVNSR0JIOGdBU3dBQVVGUWFpRU5RUUVoQlVFREJVRi9JUTFCQVFzTGFpSUJOZ0lBSUFFc0FBQWlCa0ZnYWlJSVFSOUxRUUVnQ0hSQmlkRUVjVVZ5QkVCQkFDRUlCVUVBSVFZRFFDQUdRUUVnQ0hSeUlRZ2dEQ0FCUVFGcUlnRTJBZ0FnQVN3QUFDSUdRV0JxSWdkQkgwdEJBU0FIZEVHSjBRUnhSWEpGQkVBZ0NDRUdJQWNoQ0F3QkN3c0xJQVpCL3dGeFFTcEdCRUFnREFKL0FrQWdBU3dBQVJDS0FVVU5BQ0FNS0FJQUlnY3NBQUpCSkVjTkFDQUhMQUFCUVZCcVFRSjBJQVJxUVFvMkFnQWdCeXdBQVVGUWFrRURkQ0FEYWlrREFLY2hBVUVCSVFZZ0IwRURhZ3dCQ3lBRkJFQkJmeUVKREFNTElCSUVRQ0FDS0FJQVFRTnFRWHh4SWdVb0FnQWhBU0FDSUFWQkJHbzJBZ0FGUVFBaEFRdEJBQ0VHSUF3b0FnQkJBV29MSWdVMkFnQkJBQ0FCYXlBQklBRkJBRWdpQVJzaEVDQUlRWURBQUhJZ0NDQUJHeUVPSUFZaENBVWdEQkNOQXlJUVFRQklCRUJCZnlFSkRBSUxJQWdoRGlBRklRZ2dEQ2dDQUNFRkN5QUZMQUFBUVM1R0JFQUNRQ0FGUVFGcUlRRWdCU3dBQVVFcVJ3UkFJQXdnQVRZQ0FDQU1FSTBESVFFZ0RDZ0NBQ0VGREFFTElBVXNBQUlRaWdFRVFDQU1LQUlBSWdVc0FBTkJKRVlFUUNBRkxBQUNRVkJxUVFKMElBUnFRUW8yQWdBZ0JTd0FBa0ZRYWtFRGRDQURhaWtEQUtjaEFTQU1JQVZCQkdvaUJUWUNBQXdDQ3dzZ0NBUkFRWDhoQ1F3REN5QVNCRUFnQWlnQ0FFRURha0Y4Y1NJRktBSUFJUUVnQWlBRlFRUnFOZ0lBQlVFQUlRRUxJQXdnRENnQ0FFRUNhaUlGTmdJQUN3VkJmeUVCQzBFQUlRY0RRQ0FGTEFBQVFiOS9ha0U1U3dSQVFYOGhDUXdDQ3lBTUlBVkJBV29pQmpZQ0FDQUZMQUFBSUFkQk9teHFRWS9XQUdvc0FBQWlFVUgvQVhFaUJVRi9ha0VJU1FSQUlBVWhCeUFHSVFVTUFRc0xJQkZGQkVCQmZ5RUpEQUVMSUExQmYwb2hGQUpBQWtBZ0VVRVRSZ1JBSUJRRVFFRi9JUWtNQkFzRkFrQWdGQVJBSUExQkFuUWdCR29nQlRZQ0FDQUtJQTFCQTNRZ0Eyb3BBd0EzQXdBTUFRc2dFa1VFUUVFQUlRa01CUXNnQ2lBRklBSVFqQU1nRENnQ0FDRUdEQUlMQ3lBU0RRQkJBQ0VCREFFTElBNUIvLzk3Y1NJTklBNGdEa0dBd0FCeEd5RUZBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUdRWDlxTEFBQUlnWkJYM0VnQmlBR1FROXhRUU5HSUFkQkFFZHhHeUlHUWNFQWF3NDRDUW9IQ2drSkNRb0tDZ29LQ2dvS0Nnb0tDQW9LQ2dvTENnb0tDZ29LQ2dvSkNnVURDUWtKQ2dNS0Nnb0tBQUlCQ2dvR0NnUUtDZ3NLQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBIL0FYRkJHSFJCR0hVT0NBQUJBZ01FQndVR0J3c2dDaWdDQUNBSk5nSUFRUUFoQVF3WEN5QUtLQUlBSUFrMkFnQkJBQ0VCREJZTElBb29BZ0FnQ2F3M0F3QkJBQ0VCREJVTElBb29BZ0FnQ1RzQkFFRUFJUUVNRkFzZ0NpZ0NBQ0FKT2dBQVFRQWhBUXdUQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQklMSUFvb0FnQWdDYXczQXdCQkFDRUJEQkVMUVFBaEFRd1FDMEg0QUNFR0lBRkJDQ0FCUVFoTEd5RUJJQVZCQ0hJaEJRd0pDMEVBSVF0QmtQNENJUTRnQVNBVElBb3BBd0FnRlJDRUJTSUhheUlHUVFGcUlBVkJDSEZGSUFFZ0JrcHlHeUVCREFzTElBb3BBd0FpR1VJQVV3Ui9JQXBDQUNBWmZTSVpOd01BUVFFaEMwR1EvZ0lGSUFWQmdSQnhRUUJISVF0QmtmNENRWkwrQWtHUS9nSWdCVUVCY1JzZ0JVR0FFSEViQ3lFT0RBZ0xRUUFoQzBHUS9nSWhEaUFLS1FNQUlSa01Cd3NnRnlBS0tRTUFQQUFBSUJjaEJrRUFJUXRCa1A0Q0lRNUJBU0VISUEwaEJTQVRJUUVNQ2dzZ0NpZ0NBQ0lGUVpyK0FpQUZHeUlHUVFBZ0FSQ21BaUlSUlNFVVFRQWhDMEdRL2dJaERpQUJJQkVnQm1zZ0ZCc2hCeUFOSVFVZ0FTQUdhaUFSSUJRYklRRU1DUXNnRHlBS0tRTUFQZ0l3SUE5QkFEWUNOQ0FLSUJnMkFnQkJmeUVMREFVTElBRUVRQ0FCSVFzTUJRVWdBRUVnSUJCQkFDQUZFSFZCQUNFQkRBY0xBQXNnQUNBS0t3TUFJQkFnQVNBRklBWkJpUUVSSWdBaEFRd0hDeUFMSVFaQkFDRUxRWkQrQWlFT0lBRWhCeUFUSVFFTUJRc2dDaWtEQUNBVklBWkJJSEVRaFFVaEIwRUFRUUlnQlVFSWNVVWdDaWtEQUZCeUlnMGJJUXRCa1A0Q0lBWkJCSFpCa1A0Q2FpQU5HeUVPREFJTElCa2dGUkMrQVNFSERBRUxJQW9vQWdBaEJrRUFJUUVDUUFKQUEwQWdCaWdDQUNJSEJFQWdGaUFIRUlzRElnZEJBRWdpRFNBSElBc2dBV3RMY2cwQ0lBWkJCR29oQmlBTElBRWdCMm9pQVVzTkFRc0xEQUVMSUEwRVFFRi9JUWtNQmdzTElBQkJJQ0FRSUFFZ0JSQjFJQUVFUUNBS0tBSUFJUVpCQUNFTEEwQWdCaWdDQUNJSFJRMERJQXNnRmlBSEVJc0RJZ2RxSWdzZ0FVb05BeUFHUVFScUlRWWdBQ0FXSUFjUWNpQUxJQUZKRFFBTEJVRUFJUUVMREFFTElBY2dGU0FLS1FNQVFnQlNJZzBnQVVFQVIzSWlFUnNoQmlBQklCTWdCMnNnRFVFQmMyb2lCeUFCSUFkS0cwRUFJQkViSVFjZ0JVSC8vM3R4SUFVZ0FVRi9TaHNoQlNBVElRRU1BUXNnQUVFZ0lCQWdBU0FGUVlEQUFITVFkU0FRSUFFZ0VDQUJTaHNoQVF3QkN5QUFRU0FnQ3lBQklBWnJJZzBnQnlBSElBMUlHeUlSYWlJSElCQWdFQ0FIU0JzaUFTQUhJQVVRZFNBQUlBNGdDeEJ5SUFCQk1DQUJJQWNnQlVHQWdBUnpFSFVnQUVFd0lCRWdEVUVBRUhVZ0FDQUdJQTBRY2lBQVFTQWdBU0FISUFWQmdNQUFjeEIxQ3lBSUlRVU1BUXNMREFFTElBQkZCRUFnQlFSL1FRRWhBQU5BSUFCQkFuUWdCR29vQWdBaUFRUkFJQUJCQTNRZ0Eyb2dBU0FDRUl3RElBQkJBV29pQUVFS1NRMEJRUUVoQ1F3RUN3c0RmeUFBUVFKMElBUnFLQUlBQkVCQmZ5RUpEQVFMSUFCQkFXb2lBRUVLU1EwQVFRRUxCVUVBQ3lFSkN3c2dEeVFHSUFrTEN3QWdBQ0FCSUFJUWh3VUwvUUVCQTM4Z0FVSC9BWEVoQkFKQUFrQUNRQ0FDUVFCSElnTWdBRUVEY1VFQVIzRUVRQ0FCUWY4QmNTRUZBMEFnQlNBQUxRQUFSZzBDSUFKQmYyb2lBa0VBUnlJRElBQkJBV29pQUVFRGNVRUFSM0VOQUFzTElBTkZEUUVMSUFGQi93RnhJZ0VnQUMwQUFFWUVRQ0FDUlEwQkRBSUxJQVJCZ1lLRUNHd2hBd0pBQWtBZ0FrRURUUTBBQTBBZ0F5QUFLQUlBY3lJRVFmLzkrM2RxSUFSQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBZ0FFRUVhaUVBSUFKQmZHb2lBa0VEU3cwQkRBSUxDd3dCQ3lBQ1JRMEJDd05BSUFBdEFBQWdBVUgvQVhGR0RRSWdBa0YvYWlJQ1JRMEJJQUJCQVdvaEFBd0FBQXNBQzBFQUlRQUxJQUFMandFQkFuOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWhRZ0FDZ0NIRXNFUUNBQUtBSWtJUUVnQUVFQVFRQWdBVUUvY1VIS0FXb1JCQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFLQUlBSWdGQkJIRUVmeUFBSUFGQklISTJBZ0JCZndVZ0FDQUFLQUlzSUFBb0FqQnFJZ0kyQWdnZ0FDQUNOZ0lFSUFGQkczUkJIM1VMQzVFQkFRTi9BbjhDUUNBQUtBSVVJQUFvQWh4TkRRQWdBQ2dDSkNFQklBQkJBRUVBSUFGQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFCQmZ3d0JDeUFBS0FJRUlnRWdBQ2dDQ0NJQ1NRUkFJQUFvQWlnaEF5QUFJQUVnQW11c1FRRWdBMEVEY1VHbUEyb1JGQUFhQ3lBQVFRQTJBaEFnQUVFQU5nSWNJQUJCQURZQ0ZDQUFRUUEyQWdnZ0FFRUFOZ0lFUVFBTEM0Y0JBUUYvSUFBRVFBSi9JQUFvQWt4QmYwd0VRQ0FBRUtnQ0RBRUxJQUFRcUFJTElRQUZRYkNJQVNnQ0FBUi9RYkNJQVNnQ0FCQ3BBZ1ZCQUFzaEFCQ3JBaWdDQUNJQkJFQURRQ0FCS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUVvQWhRZ0FTZ0NIRXNFUUNBQkVLZ0NJQUJ5SVFBTElBRW9BamdpQVEwQUN3dEJxTVVERUE0TElBQUwrZ0VCQTM4Z0FVSC9BWEVpQWdSQUFrQWdBRUVEY1FSQUlBRkIvd0Z4SVFNRFFDQUFMQUFBSWdSRklBTkJHSFJCR0hVZ0JFWnlEUUlnQUVFQmFpSUFRUU54RFFBTEN5QUNRWUdDaEFoc0lRTWdBQ2dDQUNJQ1FmLzkrM2RxSUFKQmdJR0NoSGh4UVlDQmdvUjRjM0ZGQkVBRFFDQUNJQU56SWdKQi8vMzdkMm9nQWtHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUNBQVFRUnFJZ0FvQWdBaUFrSC8vZnQzYWlBQ1FZQ0Jnb1I0Y1VHQWdZS0VlSE54UlEwQkN3c0xJQUZCL3dGeElRSURRQ0FBUVFGcUlRRWdBQ3dBQUNJRFJTQUNRUmgwUVJoMUlBTkdja1VFUUNBQklRQU1BUXNMQ3dVZ0FCQmdJQUJxSVFBTElBQUxEQUJCcU1VREVCcEJzTVVEQ3g4QUlBQkIvLzhEY1FSL1FhVEZBeUFBUWYvL0EzRTJBZ0JCZndWQkFBc0w5QUVDQ1g4QmZDQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFSQUFBQUFBQUFBQUFPUU1BSUFJb0FnQWdCRUVEZEdvaEJTQUJLQUlBSUF0QkEzUnFJUVpCQUNFSFJBQUFBQUFBQUFBQUlRd0RRQ0FISUFoSUJFQWdBQ0FNSUFZckF3QWdCU3NEQUtLZ0lndzVBd0FnQ1VFRGRDQUZhaUVGSUFaQkNHb2hCaUFIUVFGcUlRY01BUXNMSUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFOQkFXb2hBd3dCQlVFQUN3c0ZRWDhMQlVGL0N3VkJmd3NMOGdJQkEzOGdBQ2dDQkNFRElBRkJBVXNFUUNBQUtBSUFJZ0pCRHpZQ0ZDQUNJQUUyQWhnZ0FDQUFLQUlBS0FJQVFmOEJjVUdzQTJvUkFRQUZJQUZCQVVZRVFDQURLQUpFSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNSQ0FES0FKSUlnSUVRQU5BSUFJb0FpZ0VRQ0FDUVFBMkFpZ2dBQ0FDUVRCcUlBSW9BamhCUDNGQnNnVnFFUU1BQ3lBQ0tBSXNJZ0lOQUFzTElBTkJBRFlDU0FzTElBTkJQR29nQVVFQ2RHb2lBQ2dDQUNFQ0lBQkJBRFlDQUNBQ0JFQURRQ0FDS0FJQUlRQWdBaWdDQ0NBQ0tBSUVRUkJxYWlFRUlBSVFPQ0FESUFNb0Frd2dCR3MyQWt3Z0FBUkFJQUFoQWd3QkN3c0xJQU5CTkdvZ0FVRUNkR29pQUNnQ0FDRUJJQUJCQURZQ0FDQUJSUVJBRHdzRFFDQUJLQUlBSVFBZ0FTZ0NDQ0FCS0FJRVFSQnFhaUVDSUFFUU9DQURJQU1vQWt3Z0FtczJBa3dnQUFSQUlBQWhBUXdCQ3dzTDlBRUJCSDhnQUNnQ0JDRUVJQUpCOEpQcjNBTkxCRUFnQUNnQ0FDSURRVGcyQWhRZ0EwRUROZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUJRUUZMQkVBZ0FDZ0NBQ0lEUVE4MkFoUWdBeUFCTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFDUVFnZ0FrRUhjU0lEYTBFQUlBTWJhaUlEUVJCcUlnVVFSQ0lDUlFSQUlBQW9BZ0FpQmtFNE5nSVVJQVpCQkRZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQkNBRklBUW9Ba3hxTmdKTUlBSWdCRUU4YWlBQlFRSjBhaUlBS0FJQU5nSUFJQUlnQXpZQ0JDQUNRUUEyQWdnZ0FDQUNOZ0lBSUFKQkVHb0wyZ2tCRVg4Z0FDZ0M1QU1vQWhnaERDQUJLQUlFSWdnZ0FTZ0NBQ0lDVENBQktBSUlJZ2tnQVNnQ0RDSUtTbklnQVNnQ0VDSUdJQUVvQWhRaUIwcHlCRUFnQWlFQUJRSkFJQUloQUFOQUFrQWdBRUVDZENBTWFpZ0NBQ0VOSUFraEF3TkFJQU5CQm5RZ0RXb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBS1NBUkFJQVFoQXd3QkN3c2dBRUVCYWlFRElBQWdDRWdFUUNBRElRQU1BZ1VnQWlFQURBTUxBQXNMSUFFZ0FEWUNBQXNMSUFnZ0FFd2dDU0FLU25JZ0JpQUhTbkpGQkVBQ1FDQUlJUUlEUUFKQUlBSkJBblFnREdvb0FnQWhEU0FKSVFNRFFDQURRUVowSUExcUlBWkJBWFJxSVFVZ0JpRUVBMEFnQlM0QkFBMENJQVZCQW1vaEJTQUVRUUZxSVFzZ0JDQUhTQVJBSUFzaEJBd0JDd3NnQTBFQmFpRUVJQU1nQ2tnRVFDQUVJUU1NQVFzTElBSkJmMm9oRGlBQ0lBQk1EUUlnRGlFQ0RBRUxDeUFCSUFJMkFnUWdBaUVJQ3dzZ0NDQUFTQ0FLSUFsTWNpQUdJQWRLY2tVRVFBSkFJQWtoQWdOQUFrQWdBQ0VEQTBBZ0EwRUNkQ0FNYWlnQ0FDQUNRUVowYWlBR1FRRjBhaUVGSUFZaEJBTkFJQVV1QVFBTkFpQUZRUUpxSVFVZ0JFRUJhaUVMSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUThnQWlBS1RnMENJQThoQWd3QkN3c2dBU0FDTmdJSUlBSWhDUXNMSUFnZ0FFZ2dDaUFKVEhJZ0JpQUhTbkpGQkVBQ1FDQUtJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0FrRUdkR29nQmtFQmRHb2hCU0FHSVFRRFFDQUZMZ0VBRFFJZ0JVRUNhaUVGSUFSQkFXb2hDeUFFSUFkSUJFQWdDeUVFREFFTEN5QURRUUZxSVFRZ0F5QUlTQVJBSUFRaEF3d0JDd3NnQWtGL2FpRVFJQUlnQ1V3TkFpQVFJUUlNQVFzTElBRWdBallDRENBQ0lRb0xDeUFJSUFCSUlBY2dCa3h5SUFvZ0NVaHlSUVJBQWtBZ0JpRUNBMEFDUUNBQUlRTURRQ0FEUVFKMElBeHFLQUlBSUFraUJFRUdkR29nQWtFQmRHb2hCUU5BSUFVdUFRQU5BaUFFUVFGcUlRc2dCVUZBYXlFRklBUWdDa2dFUUNBTElRUU1BUXNMSUFOQkFXb2hCQ0FESUFoSUJFQWdCQ0VEREFFTEN5QUNRUUZxSVJFZ0FpQUhUZzBDSUJFaEFnd0JDd3NnQVNBQ05nSVFJQUloQmdzTElBZ2dBRWdnQnlBR1RISWdDaUFKU0hKRkJFQUNRQ0FISVFJRFFBSkFJQUFoQXdOQUlBTkJBblFnREdvb0FnQWdDU0lFUVFaMGFpQUNRUUYwYWlFRkEwQWdCUzRCQUEwQ0lBUkJBV29oQ3lBRlFVQnJJUVVnQkNBS1NBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDRWdFUUNBRUlRTU1BUXNMSUFKQmYyb2hFaUFDSUFaTURRSWdFaUVDREFFTEN5QUJJQUkyQWhRZ0FpRUhDd3NnQVNBSUlBQnJRUVIwSWdJZ0Ftd2dDaUFKYTBFTWJDSUNJQUpzYWlBSElBWnJRUU4wSWdJZ0FteHFOZ0lZSUFnZ0FFZ2dDaUFKU0hJZ0J5QUdTSElFUUNBQlFRQTJBaHdQQzBFQUlRTWdBQ0VDQTBBZ0FrRUNkQ0FNYWlnQ0FDRU5JQU1oQUNBSklRTURRQ0FEUVFaMElBMXFJQVlpQkVFQmRHb2hCUU5BSUFBZ0JTNEJBRUVBUjJvaEFDQUVRUUZxSVFzZ0JVRUNhaUVGSUFRZ0IwZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQXBJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUVFnQWlBSVNBUkFJQUFoQXlBRUlRSU1BUXNMSUFFZ0FEWUNIQXV4QXdFR2Z5QUFLQUlZSWdJb0FnUWhBU0FDS0FJQUlRUUNRQU5BSUFFRWZ5QUVCU0FDS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVTkFpQUNLQUlFSVFFZ0FpZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUVJQU1zQUFCQmYwY0VRQU5BSUFBb0F0QURJZ01nQXlnQ0dFRUJhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQkNBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjTkFBc0xBMEFnQVFSL0lBUUZJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwRElBSW9BZ1FoQVNBQ0tBSUFDeUVESUFGQmYyb2hBU0FEUVFGcUlRUWdBeXdBQUNJRlFYOUdEUUFMSUFBb0F0QURJZ1lvQWhnaEF5QUZSUVJBSUFZZ0EwRUNhallDR0NBQ0lBUTJBZ0FnQWlBQk5nSUVEQUVMQ3lBRlFmOEJjU0VGSUFNRVFDQUFLQUlBSWdaQjl3QTJBaFFnQmlBRE5nSVlJQUFvQWdBZ0JUWUNIQ0FBS0FJQUtBSUVJUU1nQUVGL0lBTkJQM0ZCc2dWcUVRTUFJQUFvQXRBRFFRQTJBaGdMSUFBZ0JUWUN1QU1nQWlBRU5nSUFJQUlnQVRZQ0JFRUJEd3RCQUF1NEFRRUZmd05BSUFSQkEwY0VRQ0FFUVFSMElBQnFJUVVnQkVFRWRDQUFhaUVHSUFSQkJIUWdBR29oQjBFQUlRTURRQ0FEUVFSSEJFQWdCRUVFZENBQ2FpQURRUUowYWlBRktnSUFJQU5CQW5RZ0FXb3FBZ0NVSUFZcUFnUWdBVUVRYWlBRFFRSjBhaW9DQUpTU0lBY3FBZ2dnQVVFZ2FpQURRUUowYWlvQ0FKU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBUkJCSFFnQUdvcUFnd2dBeW9DREpJNEFnd2dCRUVCYWlFRURBRUxDd3U0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUZkQ0FDYWlBRFFRTjBhaUFGS3dNQUlBTkJBM1FnQVdvckF3Q2lJQVlyQXdnZ0FVRWdhaUFEUVFOMGFpc0RBS0tnSUFjckF4QWdBVUZBYXlBRFFRTjBhaXNEQUtLZ09RTUFJQU5CQVdvaEF3d0JDd3NnQkVFRmRDQUNhaUlESUFSQkJYUWdBR29yQXhnZ0F5c0RHS0E1QXhnZ0JFRUJhaUVFREFFTEN3dFVBUUovQTBBZ0FrRURSd1JBUVFBaEFRTkFJQUZCQkVjRVFDQUNRUVYwUVlDa0Eyb2dBVUVEZEdvZ0FrRUZkQ0FBYWlBQlFRTjBhaXNEQURrREFDQUJRUUZxSVFFTUFRc0xJQUpCQVdvaEFnd0JDd3NMS0FFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFQ1FZeUhBVUhOdHdKQkFTQUJFQWtnQXdza0Jnc29BUUovQW44akJpRURJd1pCRUdva0JpQUFRUU5Cd0ljQlFielFBa0VmSUFFUUNTQURDeVFHQy8wRkFRWi9Jd1loQ1NNR1FTQnFKQVlnQ1VFUWFpRUlJQUpGQkVBZ0NFSEF5QU5CenB3Q0VEZEI3NXdDRURkQjc2SUNFRGRCL3dBUVBrSDJvZ0lRTjBIZ25RSVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUdLQUlBS0FJY0lRY2dCa0VLSUFkQlAzRkJpZ0ZxRVFJQUlRWWdDQkE4SUFVZ0JoQkFJQVVRUHhBQUN5QURSUVJBSUFoQndNZ0RRZldkQWhBM1FlK2NBaEEzUWUraUFoQTNRWUFCRUQ1QjlxSUNFRGRCbDU0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUF0QmZ5QUNTUVJBSUFoQndNZ0RRYTJlQWhBM1FlK2NBaEEzUWUraUFoQTNRWUVCRUQ1QjlxSUNFRGRCMHA0Q0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJpZ0NBQ2dDSENFSElBWkJDaUFIUVQ5eFFZb0JhaEVDQUNFR0lBZ1FQQ0FGSUFZUVFDQUZFRDhRQUFzZ0JFVUVRQ0FJUWNESUEwSC9uZ0lRTjBIdm5BSVFOMEh2b2dJUU4wR0NBUkErUWZhaUFoQTNRYU9mQWhBM0lnVWdCU2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdZb0FnQW9BaHdoQnlBR1FRb2dCMEUvY1VHS0FXb1JBZ0FoQmlBSUVEd2dCU0FHRUVBZ0JSQS9FQUFMSUFsQkNHb2hCU0FBSUFFUXVRTWdBaUFFYkd3aUJqWUNEQ0FESUFac0lnWWdBQ2dDRkVjRVFDQUdFRkVoQnlBSlFRQTJBZ0FnQ0NBSktBSUFOZ0lBSUFVZ0J4Q29CeUFGS0FJQUlRY2dCU0FBS0FJWU5nSUFJQUFnQnpZQ0dDQUZLQUlFSVFjZ0JTQUFLQUljTmdJRUlBQWdCellDSENBRkVKVUJJQUFvQWhoRkJFQWdDRUhBeUFOQnhaOENFRGRCNzV3Q0VEZEI3NklDRURkQmxRRVFQa0gyb2dJUU4wSG9ud0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQ0VHQXpnTVFPaUlIS0FJQUtBSWNJUW9nQjBFS0lBcEJQM0ZCaWdGcUVRSUFJUWNnQ0JBOElBVWdCeEJBSUFVUVB4QUFDd3NnQUNBQk5nSUFJQUFnQWpZQ0JDQUFJQU0yQWdnZ0FDQUVOZ0lRSUFBZ0JqWUNGQ0FKSkFZTHFRRUJCSDhnQUFSL0EwQWdBU0FBS0FJRVNBUkFJQUFvQWdnZ0FVRUNkR29vQWdBRVFDQUFJQUVRMEFZTElBRkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBQ2dDRENBQ0lBTnFJZ1JCQW5ScUtBSUFFRGdnQUNnQ0ZDQUVRUUowYWlnQ0FCQTRJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBQUtBSU1FRGdnQUNnQ0ZCQTRJQUFvQWdnUU9DQUFLQUlRRURnZ0FDZ0NHQkE0SUFBUU9FRUFCVUYvQ3hvTE5BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FDZ0NBQ2dDQUJER0J5QUJLQUlBRUlZQkVJRUNJUUlnQVJDVkFTQUJKQVlnQWd2M0FRRUJmeUFFUVFGR0lRa2dDRUVBUnlFRUFuOGdBd1IvSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRVAwS0RBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUStnc0ZJQUFnQVNBQ0lBVWdCeERIQ3dzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRdEFrTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDeUNnVWdBQ0FCSUFJZ0JTQUhFT1lKQ3dzRklBa0VmeUFFQkVBZ0FDQUJJQUlnQ0NBSEVJb0hEQU1MSUFZRWZ5QUFJQUVnQWlBRklBY1FtZ2dGSUFBZ0FTQUNJQVVnQnhEWkJ3c0ZJQVFFUUNBQUlBRWdBaUFJSUFjUWtnVU1Bd3NnQmdSL0lBQWdBU0FDSUFVZ0J4QzBCZ1VnQUNBQklBSWdCU0FIRU5RRkN3c0xDd3ZHQXdJSWZ3RitJd1loQkNNR1FVQnJKQVlnQkVFSWFpRUhJQVJCT0dvaENpQUVRVFJxSVFnZ0JFRVFhaUVHSUFJc0FHUUVRQ0FFSUFBb0FrdzJBakFnQkNBQ0VNVUJLQUlBTmdJb0lBUWdBaERGQVNnQ0JEWUNJQ0FJSUFRb0FqQTJBZ0FnQ2lBRUtBSW9OZ0lBSUFjZ0JDZ0NJRFlDQUNBQVFjZ0FhaUFJSUFvZ0J4RFVCd1VnQmtFQU5nSUFJQVpCQURZQ0JDQUdRUUEyQWdnZ0FpQUdJQUVnQXhEVEJ3TkFJQVVnQmlnQ0JDQUdLQUlBSWdKclFRSjFTUVJBSUFBZ0FTQUZRUUowSUFKcUtBSUFJQU1RdXdJZ0JVRUJhaUVGREFFTEN5QUFLQUprSUFBb0FtaElCRUFnQVNnQ0FDSUNJQUVvQWdSSEJFQWdBaWdDQUNFTElBRW9BZ1FpQlNBQktBSUFJZ2xySWdKQkNFb0VRQ0FISUFrcEFnQWlERGNEQUNBSklBVkJlR29pQlNrQ0FEY0NBQ0FGSUF3M0FnQWdCQ0FKTmdJc0lBUWdCVFlDSkNBRUlBazJBaHdnQ0NBRUtBSXNOZ0lBSUFvZ0JDZ0NKRFlDQUNBSElBUW9BaHcyQWdBZ0NDQUNRUU4yUVg5cUlBY1F2d01nQVNnQ0JDRUZDMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUJJQVZCZUdvMkFnUWdBQ0FBS0FKa1FRRnFOZ0prSUFBZ0FTQUxJQU1RdXdJTEN5QUdFRlVMSUFRa0JndGtBUUovSUFCQkFFY2dBVUVBUjNFRWZ5QUFRUXhxUVFCQmdBZ1FSUm9nQVNBQUtBSUVJQUFvQWdoc2FpRUNBMzhnQVNBQ1NRUi9JQUJCREdvZ0FTMEFBRUVDZEdvaUF5QURLQUlBUVFGcU5nSUFJQUZCQVdvaEFRd0JCVUVBQ3dzRlFYOExDMWtCQVgwZ0FDQUNLZ0lJSUFJcUFnQWdBNVFnQWlvQ0JDQUVsSktTSUFJcUFpQWdBaW9DR0NBRGxDQUNLZ0ljSUFTVWtwSWlCWlU0QWdBZ0FTQUNLZ0lVSUFJcUFnd2dBNVFnQWlvQ0VDQUVsSktTSUFXVk9BSUFDelFBSUFBZ0FTa0NBRGNDQUNBQUlBRXBBZ2czQWdnZ0FDQUJLUUlRTndJUUlBQWdBU2tDR0RjQ0dDQUFJQUVvQWlBMkFpQUx1QUlDQlg4Q2ZDTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJpQUhRUlJxSWdnZ0JFRUVkQkJFSWdvMkFnQWdDa1VFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFkQkVHb2hCaUFJSUFSQkdHd1FSQ0lKTmdJRUlBbEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDMEVBSVFZRFFDQUdJQVJJQkVBZ0JrRUVkQ0FLYWlBR1FRUjBJQUpxS3dNQU9RTUFJQVpCQkhRZ0Ntb2dCa0VFZENBQ2Fpc0RDRGtEQ0NBR1FSaHNJQWxxSUFaQkdHd2dBMm9yQXdBNUF3QWdCa0VZYkNBSmFpQUdRUmhzSUFOcUt3TUlPUU1JSUFaQkdHd2dDV29nQmtFWWJDQURhaXNERURrREVDQUdRUUZxSVFZTUFRc0xJQWdnQkRZQ0NDQUFLQUlBSUFnZ0FTQUZJQWNRNmdGQkFFZ0VRQ0FIUkFBQUFBQ0UxNWRCT1FNQUN5QUlLQUlBRURnZ0NDZ0NCQkE0SUFjckF3QWhEQ0FISkFZZ0RBc0hBQ0FBUVR4cUMyVUJCSDhEUUNBRklBSklCRUFnQXlBREtBSUFRZjJIRFd4Qnc3MmFBV29pQkRZQ0FDQUVRUkIyUWYvL0FYRWdBUkJQUVFKMElBQnFJUVFnQlVFQ2RDQUFhaUlHS0FJQUlRY2dCaUFFS0FJQU5nSUFJQVFnQnpZQ0FDQUZRUUZxSVFVTUFRc0xDNTBCQVFWL0l3WWhBaU1HUVNCcUpBWkIvLy8vL3dNZ0FDZ0NCQ0FBS0FJQWEwRUNkVUVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRTSUdJQVlnQTBrYlFmLy8vLzhESUFWQkFuVkIvLy8vL3dGSkd5QUFLQUlFSUFSclFRSjFJQUJCQ0dvUXlBRWdBaWdDQ0NBQktBSUFOZ0lBSUFJZ0FpZ0NDRUVFYWpZQ0NDQUFJQUlRNUFFZ0FoREhBU0FDSkFZTEM2SUVBZ3AvQW4wakJpRUhJd1pCSUdva0JpQUhRUVJxSVFVZ0IwRVFhaUVKSUFjZ0FUWUNBQ0FCS0FJQUlRTUNRQUpBSUFBb0FnUWlCRVVpQ2dSQVFRQWhBUXdCQlNBRUlBUkJmMm9pQ0hGRklnc0VmeUFESUFoeEJTQURJQVJKQkg4Z0F3VWdBeUFFRUU0TEN5SUJRUUowSUFBb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBTEJFQWdCaUFJY1NFR0JTQUdJQVJQQkVBZ0JpQUVFRTRoQmdzTElBRWdCa2NOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBVWdBQ0FESUFjUW9RZ2dBQ29DRUNJTUlBU3psQ0FBS0FJTVFRRnFzeUlOWFNBS2NnUkFBbjhnQUNBTklBeVZqUkNTQVNJQ0lBUkJmMm9nQkhGQkFFY2dCRUVEU1hJZ0JFRUJkSElpQVNBQklBSkpHeERGQWlBQUtBSUVJZ0pCZjJvaEFTQUJJQU54SUFFZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFFRklBUWhBZ3NnQUNnQ0FDQUJRUUowYWlnQ0FDSURCSDhnQlNnQ0FDQURLQUlBTmdJQUlBTWdCU2dDQURZQ0FDQUZCU0FGS0FJQUlBQW9BZ2cyQWdBZ0FDQUZLQUlBTmdJSUlBQW9BZ0FnQVVFQ2RHb2dBRUVJYWpZQ0FDQUZLQUlBSWdZb0FnQWlBUVJBSUFFb0FnUWhBU0FDSUFKQmYyb2lBM0VFUUNBQklBSlBCRUFnQVNBQ0VFNGhBUXNGSUFFZ0EzRWhBUXNnQUNnQ0FDQUJRUUowYWlBR05nSUFDeUFGQ3lJQktBSUFJUUlnQUNBQUtBSU1RUUZxTmdJTUlBRkJBRFlDQUFzZ0J5UUdJQUpCREdvTFV3RURmeUFBUWVnQWFpRURBMEFnQWlBQUtBSnNJQU1vQWdBaUFXdEJBblZKQkVBZ0FrRUNkQ0FCYWlnQ0FDSUJCRUFnQVJERUFpQUJFRGdMSUFKQkFXb2hBZ3dCQ3dzZ0FFSDBBR29RVlNBREVGVUxsd0VCQW44Z0FVRUJSZ1JBUVFJaEFRVWdBU0FCUVg5cWNRUkFJQUVRMFFFaEFRc0xJQUVnQUNnQ0JDSURTd1JBSUFBZ0FSRGlBd1VnQVNBRFNRUkFJQUFvQWd5eklBQXFBaENWalJDU0FTRUNJQU5CZjJvZ0EzRkZJQU5CQWt0eEJIOGdBa0VCUVNBZ0FrRi9hbWRyZENBQ1FRSkpHd1VnQWhEUkFRc2lBaUFCSUFFZ0Fra2JJZ0VnQTBrRVFDQUFJQUVRNGdNTEN3c0xFd0FnQUVIc2hRRTJBZ0FnQUVFRWFoRFNBZ3NsQUNBQVFkeUZBVFlDQUNBQVFUaHFFRlVnQUVFc2FoQlZJQUJCSUdvUVZTQUFFTVlDQ3cwQUlBQW9BZ0FnQVVFRmRHb0wzZ01CQTM4akJpRUlJd1pCRUdva0JpQUdRUUJLQkVBZ0JrRUJhaUFGS0FJRVNRUkFJQWRCZjJvaENTQUhRUUJLQkVBZ0IwRUJhaUlLSUFVb0FnaEpCRUFnQlNBSkVGQWdCa0VDZEdvaENTQUZJQWNRVUNBR1FRSjBhaUVISUFVZ0NoQlFJQVpCQW5ScUlRVWdBQ0FIS2dJRUlBZEJmR29pQUNvQ0FKTkRBQUFBUDVRNEFnQWdBU0FGS2dJQUlBa3FBZ0NUUXdBQUFEK1VPQUlBSUFJZ0J5b0NCQ0FBS2dJQUlBY3FBZ0JEQUFBQVFKU1RramdDQUNBRElBVXFBZ0FnQ1NvQ0FDQUhLZ0lBUXdBQUFFQ1VrNUk0QWdBZ0JDQUpRWHhxS2dJQUlBVXFBZ1NTSUFrcUFnUWdCVUY4YWlvQ0FKS1RRd0FBZ0Q2VU9BSUFJQWdrQmc4TEN5QUlRY0RJQTBHNTJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHZEFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFJUWNESUEwR0IyQUVRTjBIT3l3RVFOMEh2b2dJUU4wR2NBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSUVEd2dBQ0FCRUVBZ0FCQS9FQUFMRFFBZ0FDQUNsQ0FCSUFHVWt3czZBUUo5UXdBQWdEOUJBU0FFZExLVklnVkRBQUFBUDVSREFBQUF2NUloQmlBQUlBVWdBcFFnQnBJNEFnQWdBU0FGSUFPVUlBYVNPQUlBQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJlR29pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVEZFd0QkEzUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRVnhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGx3RUJCSDhnQVVFRWFpSURLQUlBSVFJZ0F5QUFLQUlFSUFBb0FnQWlCR3NpQlVGY0VEbEJKR3dnQW1vaUFqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTGNnRUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWNmajhUaExCRUJCQ0JBRklnTVFpQUVnQTBHMGl3RTJBZ0FnQTBINDl3QkJGaEFFQlNBQlFTUnNFRkVoQkFzTElBQWdCRFlDQUNBQUlBSkJKR3dnQkdvaUFqWUNDQ0FBSUFJMkFnUWdBQ0FCUVNSc0lBUnFOZ0lNQzA0QkFuOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ0FpQTJ0QkpCQTVJQUZKQkVBZ0FpQUJJQUFvQWdRZ0EydEJKQkE1SUFCQkNHb1EwQUlnQUNBQ0VNOENJQUlRemdJTElBSWtCZ3RBQVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXQnFJZ0VRM1FFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3o4QkFuOGdBQ2dDQUNJQ0JFQWdBQ2dDQkNFQkEwQWdBU0FDUndSQUlBRkJkR29pQVJCVkRBRUxDeUFBSUFJMkFnUWdBQ2dDQ0JvZ0FDZ0NBQkE0Q3d0ZEFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRVjFJZ01nQVVrRVFDQUFJQUVnQTJzUWpBa0ZJQU1nQVVzRVFDQUJRUVYwSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQllHb2lBUkRkQVF3QkN3c2dBQ0FDTmdJRUN3c0xjd0VCZnlBQVFRQTJBZ3dnQUNBRE5nSVFJQUVFUUNBQlFkV3ExYW9CU3dSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVNYkJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVF4c0lBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRU1iQ0FFYWpZQ0RBcy9BUUovSUFBb0FnUWhBaUFBS0FJSUlRRURRQ0FCSUFKSEJFQWdBQ0FCUVg5cUlnRTJBZ2dNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xqZ0VCQkg4Z0FVRUVhaUlES0FJQUlBQW9BZ1FnQUNnQ0FDSUVheUlGYXlFQ0lBTWdBallDQUNBRlFRQktCRUFnQWlBRUlBVVFUQm9nQXlnQ0FDRUNDeUFBS0FJQUlRUWdBQ0FDTmdJQUlBTWdCRFlDQUNBQUtBSUVJUUlnQUNBQktBSUlOZ0lFSUFFZ0FqWUNDQ0FBS0FJSUlRSWdBQ0FCS0FJTU5nSUlJQUVnQWpZQ0RDQUJJQU1vQWdBMkFnQUxRQUFnQUVFQU5nSU1JQUFnQXpZQ0VDQUFJQUVFZnlBQkVGRUZRUUFMSWdNMkFnQWdBQ0FDSUFOcUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVNBRGFqWUNEQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDOVFDQWdaL0FuMGpCaUVHSXdaQklHb2tCaUFHUVJScUlRY2dCa0VRYWlFSklBWkJER29oQ3lBR1FRaHFJUWdnQmtFRWFpRUtJQVFxQWdnaERDQUVLZ0lNSVEwZ0JRSi9Ba0FDUUFKQUlBRkZEUUFnQUNBQklBd2dEU0FISUFnUTVRRkJBRWdOQUNBRklBY3FBZ0FRUXpZQ0FDQUZJQWdxQWdBUVF6WUNCQ0FDUlEwQklBQWdBaUFNSUEwZ0NTQUtFT1VCUVFCSURRRWdCU0FIS2dJQVF3QUFBRUNVSUFrcUFnQ1RFRU0yQWdnZ0JTQUlLZ0lBUXdBQUFFQ1VJQW9xQWdDVEVFTTJBZ3dnQTBVTkFpQUFJQU1nRENBTklBc2dCaERsQVVFQVNBMENJQVVnQ3lvQ0FDQUhLZ0lBUXdBQVFFQ1VJQWtxQWdCREFBQkFRSlNUa2hCRE5nSVFJQVlxQWdBZ0NDb0NBRU1BQUVCQWxDQUtLZ0lBUXdBQVFFQ1VrNUlRUXd3REN5QUZRWDgyQWdBZ0JVRi9OZ0lFQ3lBRlFYODJBZ2dnQlVGL05nSU1DeUFGUVg4MkFoQkJmd3MyQWhRZ0JpUUdDMDRCQW4wZ0FTb0NBQ0FBS2dJQWt5SUVJQVNVSUFFcUFnUWdBQ29DQkpNaUJDQUVsSktSSWdWREFBQUFBRndFUUNBQ0lBUWdCWlU0QWdBZ0F5QUJLZ0lBSUFBcUFnQ1RJQVdWT0FJQUN3c0dBRUVhRUFJTHB3RUJBbjlCYnlBQmF5QUNTUVJBRUFBTElBQXNBQXRCQUVnRWZ5QUFLQUlBQlNBQUN5RUZJQUZCNS8vLy93ZEpCSDlCQ3lBQlFRRjBJZ1lnQVNBQ2FpSUNJQUlnQmtrYklnSkJFR3BCY0hFZ0FrRUxTUnNGUVc4TElnWVFVU0VDSUFRRVFDQUNJQVVnQkJDb0FRc2dBeUFFYXlJREJFQWdBaUFFYWlBRUlBVnFJQU1RcUFFTElBRkJDa2NFUUNBRkVEZ0xJQUFnQWpZQ0FDQUFJQVpCZ0lDQWdIaHlOZ0lJQ3o0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQVN3QUMwRUFTQVJBSUFBZ0FTZ0NBQ0FCS0FJRUVINEZJQUFnQVNrQ0FEY0NBQ0FBSUFFb0FnZzJBZ2dMQ3dRQVFRRUxDZ0FnQUJBNElBRVFPQXNMQUNBRUlBSTJBZ0JCQXdzZkFRRi9JQUFvQWdBaUFRUi9JQUVRT0NBQVFRQTJBZ0JCQUFWQmZ3c2FDNk1CQVFOL1FZZ0JFRVFpQVFSQUEwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FDUVFWMElBRnFJQU5CQTNScUlBSkJCWFFnQUdvZ0EwRURkR29yQXdBNUF3QWdBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFGQkNqWUNZQ0FCUkFBQUFLQ1ptYmsvT1FOb0lBRkVBQUFBZ0JTdTd6ODVBM0FnQVVRQUFBQUFBQUFRUURrRGVDQUJSQUFBQUFBQUFPQS9PUU9BQVFWQkFDRUJDeUFCQzc4RUFRRi9JQUFnQlVZRWZ5QUJMQUFBQkg4Z0FVRUFPZ0FBSUFRZ0JDZ0NBQ0lBUVFGcU5nSUFJQUJCTGpvQUFDQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNFUUNBSktBSUFJZ0FnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUJJQWtnQUVFRWFqWUNBQ0FBSUFFMkFnQUxDMEVBQlVGL0N3VUNmeUFBSUFaR0JFQWdCeWdDQkNBSExBQUxJZ1ZCL3dGeElBVkJBRWdiQkVCQmZ5QUJMQUFBUlEwQ0drRUFJQWtvQWdBaUFDQUlhMEdnQVU0TkFob2dDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBZ0NrRUFOZ0lBUVFBTUFnc0xJQXRCZ0FGcUlReEJBQ0VGQTM4Z0JVRWdSZ1IvSUF3RklBVkJBV29oQmlBQUlBVkJBblFnQzJvaUJTZ0NBRVlFZnlBRkJTQUdJUVVNQWdzTEN5QUxheUlBUWZ3QVNnUi9RWDhGSUFCQkFuVkI4TzhBYWl3QUFDRUZBa0FDUUFKQUFrQWdBRUdvZjJvaUJrRUNkaUFHUVI1MGNnNEVBUUVBQUFJTElBUW9BZ0FpQUNBRFJ3UkFRWDhnQUVGL2Fpd0FBRUhmQUhFZ0Fpd0FBRUgvQUhGSERRVWFDeUFFSUFCQkFXbzJBZ0FnQUNBRk9nQUFRUUFNQkFzZ0FrSFFBRG9BQUF3QkN5QUZRZDhBY1NJRElBSXNBQUJHQkVBZ0FpQURRWUFCY2pvQUFDQUJMQUFBQkVBZ0FVRUFPZ0FBSUFjb0FnUWdCeXdBQ3lJQlFmOEJjU0FCUVFCSUd3UkFJQWtvQWdBaUFTQUlhMEdnQVVnRVFDQUtLQUlBSVFJZ0NTQUJRUVJxTmdJQUlBRWdBallDQUFzTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdCVG9BQUNBQVFkUUFUQVJBSUFvZ0NpZ0NBRUVCYWpZQ0FBdEJBQXNMQ3d1a0FRRUNmeU1HSVFVakJrRVFhaVFHSUFVZ0FSQTdJQVZCb000REVEb2lBU2dDQUNnQ01DRUdJQUZCOE84QVFaRHdBQ0FDSUFaQkQzRkJpZ0pxRVFrQUdpQUZRYWpPQXhBNklnRW9BZ0FvQWd3aEFpQURJQUVnQWtIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNnQ0VDRUNJQVFnQVNBQ1FmOEFjVUVJYWhFQUFEWUNBQ0FCS0FJQUtBSVVJUUlnQUNBQklBSkJQM0ZCc2dWcUVRTUFJQVVRUENBRkpBWUxVZ0lDZndGOElBQW9BZ1FpQXlBQktBSUVSd1JBUVFBUUFRc0RRQ0FDSUFOSUJFQWdCQ0FBS0FJQUlBSkJBM1JxS3dNQUlBRW9BZ0FnQWtFRGRHb3JBd0Npb0NFRUlBSkJBV29oQWd3QkN3c2dCQXMzQVFKL1FRZ1FSQ0lCQkVBZ0FTQUFRUU4wRUVRaUFqWUNBQ0FDQkVBZ0FTQUFOZ0lFQlNBQkVEaEJBQ0VCQ3dWQkFDRUJDeUFCQzlVRUFRRi9JQUJCL3dGeElBVkIvd0Z4UmdSL0lBRXNBQUFFZnlBQlFRQTZBQUFnQkNBRUtBSUFJZ0JCQVdvMkFnQWdBRUV1T2dBQUlBY29BZ1FnQnl3QUN5SUFRZjhCY1NBQVFRQklHd1JBSUFrb0FnQWlBQ0FJYTBHZ0FVZ0VRQ0FLS0FJQUlRRWdDU0FBUVFScU5nSUFJQUFnQVRZQ0FBc0xRUUFGUVg4TEJRSi9JQUJCL3dGeElBWkIvd0Z4UmdSQUlBY29BZ1FnQnl3QUN5SUZRZjhCY1NBRlFRQklHd1JBUVg4Z0FTd0FBRVVOQWhwQkFDQUpLQUlBSWdBZ0NHdEJvQUZPRFFJYUlBb29BZ0FoQVNBSklBQkJCR28yQWdBZ0FDQUJOZ0lBSUFwQkFEWUNBRUVBREFJTEN5QUxRU0JxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFGSUF0cUlnVXRBQUFnQUVIL0FYRkdCSDhnQlFVZ0JpRUZEQUlMQ3dzZ0Myc2lCVUVmU2dSL1FYOEZJQVZCOE84QWFpd0FBQ0VBQWtBQ1FBSkFJQVZCRm1zT0JBRUJBQUFDQ3lBRUtBSUFJZ0VnQTBjRVFFRi9JQUZCZjJvc0FBQkIzd0J4SUFJc0FBQkIvd0J4UncwRUdnc2dCQ0FCUVFGcU5nSUFJQUVnQURvQUFFRUFEQU1MSUFKQjBBQTZBQUFnQkNBRUtBSUFJZ0ZCQVdvMkFnQWdBU0FBT2dBQVFRQU1BZ3NnQUVIZkFIRWlBeUFDTEFBQVJnUkFJQUlnQTBHQUFYSTZBQUFnQVN3QUFBUkFJQUZCQURvQUFDQUhLQUlFSUFjc0FBc2lBVUgvQVhFZ0FVRUFTQnNFUUNBSktBSUFJZ0VnQ0d0Qm9BRklCRUFnQ2lnQ0FDRUNJQWtnQVVFRWFqWUNBQ0FCSUFJMkFnQUxDd3NMSUFRZ0JDZ0NBQ0lCUVFGcU5nSUFJQUVnQURvQUFFRUFJQVZCRlVvTkFSb2dDaUFLS0FJQVFRRnFOZ0lBUVFBTEN3c0xwQUVCQW44akJpRUZJd1pCRUdva0JpQUZJQUVRT3lBRlFZRE9BeEE2SWdFb0FnQW9BaUFoQmlBQlFmRHZBRUdROEFBZ0FpQUdRUTl4UVlvQ2FoRUpBQm9nQlVHUXpnTVFPaUlCS0FJQUtBSU1JUUlnQXlBQklBSkIvd0J4UVFocUVRQUFPZ0FBSUFFb0FnQW9BaEFoQWlBRUlBRWdBa0gvQUhGQkNHb1JBQUE2QUFBZ0FTZ0NBQ2dDRkNFQ0lBQWdBU0FDUVQ5eFFiSUZhaEVEQUNBRkVEd2dCU1FHQ3dzQUlBQVFtUUlnQUJBNEN3c0FJQUFRbWdJZ0FCQTRDd3NBSUFBUTBBUWdBQkE0Q3dzQUlBQVExZ1FnQUJBNEN4TUFJQUFnQTZJZ0FTQUVvcUFnQWlBRm9xQUxWd0VEZnlBQUtBSUVJZ2RCQ0hVaEJpQUhRUUZ4QkVBZ0F5Z0NBQ0FHYWlnQ0FDRUdDeUFBS0FJQUlnQW9BZ0FvQWhRaENDQUFJQUVnQWlBRElBWnFJQVJCQWlBSFFRSnhHeUFGSUFoQkIzRkIyZ1pxRVF3QUN4UUFJQUFnQUtJZ0FTQUJvcUFnQWlBQ29xQ2ZDNmNCQUNBQVFRRTZBRFVnQWlBQUtBSUVSZ1JBQWtBZ0FFRUJPZ0EwSUFBb0FoQWlBa1VFUUNBQUlBRTJBaEFnQUNBRE5nSVlJQUJCQVRZQ0pDQUFLQUl3UVFGR0lBTkJBVVp4UlEwQklBQkJBVG9BTmd3QkN5QUJJQUpIQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQVRvQU5nd0JDeUFBS0FJWUlnRkJBa1lFUUNBQUlBTTJBaGdGSUFFaEF3c2dBQ2dDTUVFQlJpQURRUUZHY1FSQUlBQkJBVG9BTmdzTEN3c2ZBQ0FCSUFBb0FnUkdCRUFnQUNnQ0hFRUJSd1JBSUFBZ0FqWUNIQXNMQzE0QkFYOGdBQ2dDRUNJREJFQUNRQ0FCSUFOSEJFQWdBQ0FBS0FJa1FRRnFOZ0lrSUFCQkFqWUNHQ0FBUVFFNkFEWU1BUXNnQUNnQ0dFRUNSZ1JBSUFBZ0FqWUNHQXNMQlNBQUlBRTJBaEFnQUNBQ05nSVlJQUJCQVRZQ0pBc0w1QUlDQW44Q2ZTQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUgvLy8vakJFc0VRQ0FBUTlvUHliOUQyZy9KUHlBQ0d5QUJRWUNBZ1B3SFN4c1BDeUFCUVlDQWdQY0RTUVJBSUFGQmdJQ0F6QU5KQkg4Z0FBOEZRWDhMSVFFRklBQ0xJUUFnQVVHQWdPRDhBMGtFZlNBQlFZQ0F3UGtEU1FSOVFRQWhBU0FBUXdBQUFFQ1VRd0FBZ0wrU0lBQkRBQUFBUUpLVkJVRUJJUUVnQUVNQUFJQy9raUFBUXdBQWdEK1NsUXNGSUFGQmdJRHdnQVJKQkgxQkFpRUJJQUJEQUFEQXY1SWdBRU1BQU1BL2xFTUFBSUEva3BVRlFRTWhBVU1BQUlDL0lBQ1ZDd3NoQUFzZ0FDQUFsQ0lFSUFTVUlRTWdCQ0FESUFOREpheDhQWlJERGZVUlBwS1VRNm1xcWo2U2xDRUVJQU5EbU1wTXZpQURRMGNTMmoyVWs1UWhBeUFCUVFCSUJIMGdBQ0FBSUFNZ0JKS1Vrd1VnQVVFQ2RFSFE3QUJxS2dJQUlBQWdBeUFFa3BRZ0FVRUNkRUhnN0FCcUtnSUFreUFBazVNaUFDQUFqQ0FDUlJzTEMvd0NBZ04vQVh3akJpRURJd1pCRUdva0JpQUF2Q0lCUVI5MklRSWdBVUgvLy8vL0IzRWlBVUhibjZUNkEwa0VRQ0FCUVlDQWdNd0RUd1JBSUFDN0VKRUJJUUFMQlFKOUlBRkIwcWZ0Z3dSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIa2w5dUFCRThFUUVRWUxVUlUreUVKUUVRWUxVUlUreUVKd0NBQ0d5QUVvSm9Ra1FFTUFnc2dBZ1JBSUFSRUdDMUVWUHNoK1QrZ0VKQUJqQXdDQlNBRVJCZ3RSRlQ3SWZtL29CQ1FBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBQzdJUVFnQVVIZzI3K0ZCRThFUUVRWUxVUlUreUVaUUVRWUxVUlUreUVad0NBQ0d5QUVvQkNSQVF3Q0N5QUNCRUFnQkVUU0lUTi9mTmtTUUtBUWtBRU1BZ1VnQkVUU0lUTi9mTmtTd0tBUWtBR01EQUlMQUFzZ0FDQUFreUFCUWYvLy8vc0hTdzBBR2dKQUFrQUNRQUpBSUFBZ0F4RDZBa0VEY1E0REFBRUNBd3NnQXlzREFCQ1JBUXdEQ3lBREt3TUFFSkFCREFJTElBTXJBd0NhRUpFQkRBRUxJQU1yQXdBUWtBR01DeUVBQ3lBREpBWWdBQXYvQWdNRGZ3RjlBWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRWZTQUJRWUNBZ013RFNRUjlRd0FBZ0Q4RklBQzdFSkFCQ3dVQ2ZTQUJRZEtuN1lNRVNRUkFJQUpCQUVjaEFpQUF1eUVGSUFGQjQ1ZmJnQVJMQkVCRUdDMUVWUHNoQ1VCRUdDMUVWUHNoQ2NBZ0Foc2dCYUFRa0FHTURBSUxJQUlFUUNBRlJCZ3RSRlQ3SWZrL29CQ1JBUXdDQlVRWUxVUlUreUg1UHlBRm9SQ1JBUXdDQ3dBTElBRkIxdU9JaHdSSkJFQWdBa0VBUnlFQ0lBRkIzOXUvaFFSTEJFQkVHQzFFVlBzaEdVQkVHQzFFVlBzaEdjQWdBaHNnQUx1Z0VKQUJEQUlMSUFJRVFDQUFqTHRFMGlFemYzelpFc0NnRUpFQkRBSUZJQUM3Uk5JaE0zOTgyUkxBb0JDUkFRd0NDd0FMSUFBZ0FKTWdBVUgvLy8vN0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFNUStnSkJBM0VPQXdBQkFnTUxJQU1yQXdBUWtBRU1Bd3NnQXlzREFKb1FrUUVNQWdzZ0F5c0RBQkNRQVl3TUFRc2dBeXNEQUJDUkFRc0xJUVFnQXlRR0lBUUxkd0VCZndKQUFrQWdBQTBBUWNURkF5Z0NBQ0lBRFFCQkFDRUFEQUVMSUFBUTl3UWdBR29pQUN3QUFFVUVRRUhFeFFOQkFEWUNBRUVBSVFBTUFRdEJ4TVVESUFBUTdRUWdBR29pQVRZQ0FDQUJMQUFBQkVCQnhNVURJQUZCQVdvMkFnQWdBVUVBT2dBQUJVSEV4UU5CQURZQ0FBc0xJQUFMS2dFQmZpQUFLQUpNR2lBQUVPOEVJZ0ZDLy8vLy93ZFZCSDlCcE1VRFFUMDJBZ0JCZndVZ0FhY0xDeDRBSUFBb0Frd2FJQUJDQUVFQUVJa0RJQUFnQUNnQ0FFRmZjVFlDQUF2d0FRSUdmd0o4SXdZaEF5TUdRUkJxSkFZZ0EwRUlhaUVFSUFDOElnVkIvLy8vL3dkeElnSkIyNStrN2dSSkJIOGdBTHNpQ0VTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSUpFSE1oQmlBQklBZ2dDVVFBQUFCUSt5SDVQNktoSUFsRVkySWFZYlFRVVQ2aW9Ua0RBQ0FHQlFKL0lBSkIvLy8vK3dkTEJFQWdBU0FBSUFDVHV6a0RBRUVBREFFTElBUWdBaUFDUVJkMlFlcCthaUlDUVJkMGE3NjdPUU1BSUFRZ0F5QUNRUUZCQUJEN0FpRUNJQU1yQXdBaENDQUZRUUJJQkg4Z0FTQUltamtEQUVFQUlBSnJCU0FCSUFnNUF3QWdBZ3NMQ3lFSElBTWtCaUFIQzRNUkFoWi9BM3dqQmlFTkl3WkJzQVJxSkFZZ0RVSEFBbW9oRHlBRVFRSjBRZkRwQUdvb0FnQWhEaUFDUVgxcVFSZ1FPU0lGUVFBZ0JVRUFTaHNoRVNBT0lBTkJmMm9pQjJwQkFFNEVRQ0FESUE1cUlRa2dFU0FIYXlFRkEwQWdCa0VEZENBUGFpQUZRUUJJQkh4RUFBQUFBQUFBQUFBRklBVkJBblJCZ09vQWFpZ0NBTGNMT1FNQUlBVkJBV29oQlNBR1FRRnFJZ1lnQ1VjTkFBc0xJQTFCNEFOcUlRd2dEVUdnQVdvaENpQVJRV2hzSWhVZ0FrRm9hbW9oQ1NBRFFRQktJUWhCQUNFRkEwQWdDQVJBSUFVZ0Iyb2hDMFFBQUFBQUFBQUFBQ0ViUVFBaEJnTkFJQnNnQmtFRGRDQUFhaXNEQUNBTElBWnJRUU4wSUE5cUt3TUFvcUFoR3lBR1FRRnFJZ1lnQTBjTkFBc0ZSQUFBQUFBQUFBQUFJUnNMSUFWQkEzUWdEV29nR3prREFDQUZRUUZxSVFZZ0JTQU9TQVJBSUFZaEJRd0JDd3NnQ1VFQVNpRVNRUmdnQ1dzaEUwRVhJQWxySVJZZ0NVVWhGeUFEUVFCS0lSZ2dEaUVGQWtBQ1FBTkFBa0FnQlVFRGRDQU5haXNEQUNFYklBVkJBRW9pQ3dSQUlBVWhCa0VBSVFjRFFDQUhRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRYzdjaUcwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0JrRi9haUlJUVFOMElBMXFLd01BSUJ1Z0lSc2dCMEVCYWlFSElBWkJBVW9FUUNBSUlRWU1BUXNMQ3lBYklBa1Fud0VpR3lBYlJBQUFBQUFBQU1BL29weEVBQUFBQUFBQUlFQ2lvU0liRUhNaEJpQWJJQWEzb1NFYkFrQUNRQUpBSUJJRWZ5QUZRWDlxUVFKMElBeHFJZ2dvQWdBaUVDQVRkU0VISUFnZ0VDQUhJQk4wYXlJSU5nSUFJQWdnRm5VaENDQUdJQWRxSVFZTUFRVWdGd1IvSUFWQmYycEJBblFnREdvb0FnQkJGM1VoQ0F3Q0JTQWJSQUFBQUFBQUFPQS9aZ1IvUVFJaENBd0VCVUVBQ3dzTElRZ01BZ3NnQ0VFQVNnMEFEQUVMSUFZaEdpQUxCSDlCQUNFR1FRQWhDd04vSUF0QkFuUWdER29pR1NnQ0FDRVFBa0FDUUNBR0JIOUIvLy8vQnlFVURBRUZJQkFFZjBFQklRWkJnSUNBQ0NFVURBSUZRUUFMQ3lFR0RBRUxJQmtnRkNBUWF6WUNBQXNnQzBFQmFpSUxJQVZIRFFBZ0Jnc0ZRUUFMSVFzZ0VnUkFBa0FDUUFKQUlBbEJBV3NPQWdBQkFnc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQTNFMkFnQU1BUXNnQlVGL2FrRUNkQ0FNYWlJR0lBWW9BZ0JCLy8vL0FYRTJBZ0FMQ3lBYVFRRnFJUVlnQ0VFQ1JnUkFSQUFBQUFBQUFQQS9JQnVoSVJzZ0N3UkFJQnRFQUFBQUFBQUE4RDhnQ1JDZkFhRWhHd3RCQWlFSUN3c2dHMFFBQUFBQUFBQUFBR0lOQWlBRklBNUtCRUJCQUNFTElBVWhCd05BSUFzZ0IwRi9haUlIUVFKMElBeHFLQUlBY2lFTElBY2dEa29OQUFzZ0N3MEJDMEVCSVFZRFFDQUdRUUZxSVFjZ0RpQUdhMEVDZENBTWFpZ0NBRVVFUUNBSElRWU1BUXNMSUFVZ0Jtb2hCd05BSUFNZ0JXb2lDRUVEZENBUGFpQUZRUUZxSWdZZ0VXcEJBblJCZ09vQWFpZ0NBTGM1QXdBZ0dBUkFSQUFBQUFBQUFBQUFJUnRCQUNFRkEwQWdHeUFGUVFOMElBQnFLd01BSUFnZ0JXdEJBM1FnRDJvckF3Q2lvQ0ViSUFWQkFXb2lCU0FEUncwQUN3VkVBQUFBQUFBQUFBQWhHd3NnQmtFRGRDQU5haUFiT1FNQUlBWWdCMGdFUUNBR0lRVU1BUXNMSUFjaEJRd0JDd3NnQ1NFQUEzOGdBRUZvYWlFQUlBVkJmMm9pQlVFQ2RDQU1haWdDQUVVTkFDQUFJUUlnQlFzaEFBd0JDeUFiUVFBZ0NXc1Fud0VpRzBRQUFBQUFBQUJ3UVdZRWZ5QUZRUUowSUF4cUlCc2dHMFFBQUFBQUFBQndQcUlRY3lJRHQwUUFBQUFBQUFCd1FhS2hFSE0yQWdBZ0FpQVZhaUVDSUFWQkFXb0ZJQWtoQWlBYkVITWhBeUFGQ3lJQVFRSjBJQXhxSUFNMkFnQUxSQUFBQUFBQUFQQS9JQUlRbndFaEd5QUFRWDlLSWdjRVFDQUFJUUlEUUNBQ1FRTjBJQTFxSUJzZ0FrRUNkQ0FNYWlnQ0FMZWlPUU1BSUJ0RUFBQUFBQUFBY0Q2aUlSc2dBa0YvYWlFRElBSkJBRW9FUUNBRElRSU1BUXNMSUFjRVFDQUFJUUlEUUNBQUlBSnJJUWxCQUNFRFJBQUFBQUFBQUFBQUlSc0RRQ0FiSUFOQkEzUkJrT3dBYWlzREFDQUNJQU5xUVFOMElBMXFLd01Bb3FBaEd5QURRUUZxSVFVZ0F5QU9UaUFESUFsUGNrVUVRQ0FGSVFNTUFRc0xJQWxCQTNRZ0Ntb2dHemtEQUNBQ1FYOXFJUU1nQWtFQVNnUkFJQU1oQWd3QkN3c0xDd0pBQWtBQ1FBSkFJQVFPQkFBQkFRSURDeUFIQkVCRUFBQUFBQUFBQUFBaEd3TkFJQnNnQUVFRGRDQUthaXNEQUtBaEd5QUFRWDlxSVFJZ0FFRUFTZ1JBSUFJaEFBd0JDd3NGUkFBQUFBQUFBQUFBSVJzTElBRWdHNW9nR3lBSUd6a0RBQXdDQ3lBSEJFQkVBQUFBQUFBQUFBQWhHeUFBSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBQklCc2dHNW9nQ0VVaUJCczVBd0FnQ2lzREFDQWJvU0ViSUFCQkFVNEVRRUVCSVFJRFFDQWJJQUpCQTNRZ0Ntb3JBd0NnSVJzZ0FrRUJhaUVESUFBZ0FrY0VRQ0FESVFJTUFRc0xDeUFCSUJzZ0c1b2dCQnM1QXdnTUFRc2dBRUVBU2dSQUlBQWlBa0VEZENBS2Fpc0RBQ0ViQTBBZ0FrRi9haUlEUVFOMElBcHFJZ1FyQXdBaUhTQWJvQ0VjSUFKQkEzUWdDbW9nR3lBZElCeWhvRGtEQUNBRUlCdzVBd0FnQWtFQlNnUkFJQU1oQWlBY0lSc01BUXNMSUFCQkFVb2lCQVJBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnVXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FGSUJ3NUF3QWdBa0VDU2dSQUlBTWhBaUFjSVJzTUFRc0xJQVFFUUVRQUFBQUFBQUFBQUNFYkEwQWdHeUFBUVFOMElBcHFLd01Bb0NFYklBQkJmMm9oQWlBQVFRSktCRUFnQWlFQURBRUxDd1ZFQUFBQUFBQUFBQUFoR3dzRlJBQUFBQUFBQUFBQUlSc0xCVVFBQUFBQUFBQUFBQ0ViQ3lBS0t3TUFJUndnQ0FSQUlBRWdISm81QXdBZ0FTQUtLd01JbWprRENDQUJJQnVhT1FNUUJTQUJJQnc1QXdBZ0FTQUtLd01JT1FNSUlBRWdHemtERUFzTElBMGtCaUFHUVFkeEM0QUpBd2gvQVg0RWZDTUdJUVFqQmtFd2FpUUdJQVJCRUdvaEJTQUF2U0lLUWorSXB5RUdBbjhDUUNBS1FpQ0lweUlDUWYvLy8vOEhjU0lEUWZ2VXZZQUVTUVIvSUFKQi8vOC9jVUg3d3lSR0RRRWdCa0VBUnlFQ0lBTkIvYktMZ0FSSkJIOGdBZ1IvSUFFZ0FFUUFBRUJVK3lINVA2QWlBRVF4WTJJYVliVFFQYUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEQyZ09RTUlRWDhGSUFFZ0FFUUFBRUJVK3lINXY2QWlBRVF4WTJJYVliVFF2YUFpQ3prREFDQUJJQUFnQzZGRU1XTmlHbUcwMEwyZ09RTUlRUUVMQlNBQ0JIOGdBU0FBUkFBQVFGVDdJUWxBb0NJQVJERmpZaHBodE9BOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGdQYUE1QXdoQmZnVWdBU0FBUkFBQVFGVDdJUW5Bb0NJQVJERmpZaHBodE9DOW9DSUxPUU1BSUFFZ0FDQUxvVVF4WTJJYVliVGd2YUE1QXdoQkFnc0xCUUovSUFOQnZJenhnQVJKQkVBZ0EwRzkrOWVBQkVrRVFDQURRZnl5eTRBRVJnMEVJQVlFUUNBQklBQkVBQUF3ZjN6WkVrQ2dJZ0JFeXBTVHA1RU82VDJnSWdzNUF3QWdBU0FBSUF1aFJNcVVrNmVSRHVrOW9Ea0RDRUY5REFNRklBRWdBRVFBQURCL2ZOa1N3S0FpQUVUS2xKT25rUTdwdmFBaUN6a0RBQ0FCSUFBZ0M2RkV5cFNUcDVFTzZiMmdPUU1JUVFNTUF3c0FCU0FEUWZ2RDVJQUVSZzBFSUFZRVFDQUJJQUJFQUFCQVZQc2hHVUNnSWdCRU1XTmlHbUcwOEQyZ0lnczVBd0FnQVNBQUlBdWhSREZqWWhwaHRQQTlvRGtEQ0VGOERBTUZJQUVnQUVRQUFFQlUreUVad0tBaUFFUXhZMklhWWJUd3ZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzA4TDJnT1FNSVFRUU1Bd3NBQ3dBTElBTkIrOFBraVFSSkRRSWdBMEgvLzcvL0Iwc0VRQ0FCSUFBZ0FLRWlBRGtEQ0NBQklBQTVBd0JCQUF3QkN5QUtRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FzTUVBaEw4aEFFRUFJUUlEUUNBQ1FRTjBJQVZxSUFBUWM3Y2lDemtEQUNBQUlBdWhSQUFBQUFBQUFIQkJvaUVBSUFKQkFXb2lBa0VDUncwQUN5QUZJQUE1QXhBZ0FFUUFBQUFBQUFBQUFHRUVRRUVCSVFJRFFDQUNRWDlxSVFjZ0FrRURkQ0FGYWlzREFFUUFBQUFBQUFBQUFHRUVRQ0FISVFJTUFRc0xCVUVDSVFJTElBVWdCQ0FEUVJSMlFlcDNhaUFDUVFGcVFRRVErd0loQWlBRUt3TUFJUUFnQmdSL0lBRWdBSm81QXdBZ0FTQUVLd01JbWprRENFRUFJQUpyQlNBQklBQTVBd0FnQVNBRUt3TUlPUU1JSUFJTEN3c01BUXNnQUVTRHlNbHRNRi9rUDZKRUFBQUFBQUFBT0VPZ1JBQUFBQUFBQURqRG9DSU1FSE1oQ0NBQklBQWdERVFBQUVCVSt5SDVQNktoSWdzZ0RFUXhZMklhWWJUUVBhSWlBS0VpRFRrREFDQURRUlIySWdjZ0RiMUNOSWluUWY4UGNXdEJFRW9FUUNBTVJITndBeTZLR2FNN29pQUxJQXNnREVRQUFHQWFZYlRRUGFJaUFLRWlDNkVnQUtHaElRQWdBU0FMSUFDaElnMDVBd0FnREVUQlNTQWxtb043T2FJZ0N5QUxJQXhFQUFBQUxvb1pvenVpSWc2aElneWhJQTZob1NFT0lBY2dEYjFDTklpblFmOFBjV3RCTVVvRVFDQUJJQXdnRHFFaURUa0RBQ0FPSVFBZ0RDRUxDd3NnQVNBTElBMmhJQUNoT1FNSUlBZ0xJUWtnQkNRR0lBa0xGZ0FnQUNBQklBSkNnSUNBZ0lDQWdJQ0FmeENFQXd2bENnRVNmeUFCS0FJQUlRVUNmd0pBSUFORkRRQWdBeWdDQUNJRVJRMEFJQUFFZnlBRFFRQTJBZ0FnQkNFT0lBQWhEeUFDSVJBZ0JTRUlRVEFGSUFRaENTQUZJUWNnQWlFTFFSb0xEQUVMSUFCQkFFY2hBMEhvaVFFb0FnQW9BZ0FFUUNBREJFQWdBQ0VTSUFJaEVTQUZJUXhCSVF3Q0JTQUNJUk1nQlNFVVFROE1BZ3NBQ3lBRFJRUkFJQVVRWUNFS1FUOE1BUXNnQWdSQUFrQWdBQ0VHSUFJaEJDQUZJUU1EUUNBRExBQUFJZ1VFUUNBRFFRRnFJUU1nQmlBRlFmKy9BM0UyQWdBZ0JFRi9haUlFUlEwQ0lBWkJCR29oQmd3QkN3c2dCa0VBTmdJQUlBRkJBRFlDQUNBQ0lBUnJJUXBCUHd3Q0N3VWdCU0VEQ3lBQklBTTJBZ0FnQWlFS1FUOExJUU1EUUFKQUFrQUNRQUpBSUFOQkQwWUVRQ0FUSVFNZ0ZDRUZBMEFnQlN3QUFDSUVRZjhCY1VGL2FrSC9BRWtFZnlBRlFRTnhCSDhnQkFVZ0JTZ0NBQ0lHUWY4QmNTRUVJQVlnQmtILy9mdDNhbkpCZ0lHQ2hIaHhCSDhnQkFVRFFDQURRWHhxSVFNZ0JVRUVhaUlGS0FJQUlnUWdCRUgvL2Z0M2FuSkJnSUdDaEhoeFJRMEFDeUFFUWY4QmNRc0xCU0FFQzBIL0FYRWlCRUYvYWtIL0FFa0VRQ0FEUVg5cUlRTWdCVUVCYWlFRkRBRUxDeUFFUWI1K2FpSUVRVEpMQkVBZ0JTRUVJQUFoQmd3REJTQUVRUUowUWRBMGFpZ0NBQ0VKSUFWQkFXb2hCeUFESVF0QkdpRUREQVlMQUFVZ0EwRWFSZ1JBSUFjdEFBQkJBM1lpQTBGd2FpQURJQWxCR25WcWNrRUhTd1JBSUFBaEF5QUpJUVlnQnlFRUlBc2hCUXdEQlNBSFFRRnFJUU1nQ1VHQWdJQVFjUVIvSUFNc0FBQkJ3QUZ4UVlBQlJ3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0ZDeUFIUVFKcUlRTWdDVUdBZ0NCeEJIOGdBeXdBQUVIQUFYRkJnQUZIQkVBZ0FDRURJQWtoQmlBSElRUWdDeUVGREFZTElBZEJBMm9GSUFNTEJTQURDeUVVSUF0QmYyb2hFMEVQSVFNTUJ3c0FCU0FEUVNGR0JFQWdFUVJBQWtBZ0VpRUZJQkVoQXlBTUlRUURRQUpBQWtBQ1FDQUVMUUFBSWdaQmYyb2lEVUgvQUU4TkFDQUVRUU54UlNBRFFRUkxjUVJBQW44Q1FBTkFJQVFvQWdBaUJpQUdRZi85KzNkcWNrR0FnWUtFZUhFTkFTQUZJQVpCL3dGeE5nSUFJQVVnQkMwQUFUWUNCQ0FGSUFRdEFBSTJBZ2dnQkVFRWFpRU5JQVZCRUdvaEJpQUZJQVF0QUFNMkFnd2dBMEY4YWlJRFFRUkxCRUFnQmlFRklBMGhCQXdCQ3dzZ0JpRUZJQTBpQkN3QUFBd0JDeUFHUWY4QmNRdEIvd0Z4SWdaQmYyb2hEUXdCQ3d3QkN5QU5RZjhBVHcwQkN5QUVRUUZxSVFRZ0JTQUdOZ0lBSUFOQmYyb2lBMFVOQWlBRlFRUnFJUVVNQVFzTElBWkJ2bjVxSWdaQk1rc0VRQ0FGSVFZTUJ3c2dCa0VDZEVIUU5Hb29BZ0FoRGlBRklROGdBeUVRSUFSQkFXb2hDRUV3SVFNTUNRc0ZJQXdoQkFzZ0FTQUVOZ0lBSUFJaENrRS9JUU1NQndVZ0EwRXdSZ1JBSUFndEFBQWlCRUVEZGlJRFFYQnFJQU1nRGtFYWRXcHlRUWRMQkVBZ0R5RURJQTRoQmlBSUlRUWdFQ0VGREFVRkFrQWdDRUVCYWlFRklBUkJnSDlxSUE1QkJuUnlJZ05CQUVnRVFBSkFJQVV0QUFCQmdIOXFJZ1JCUDAwRVFDQUlRUUpxSVFVZ0JDQURRUVowY2lJRFFRQk9CRUFnQlNFTURBSUxJQVV0QUFCQmdIOXFJZ1ZCUDAwRVFDQUlRUU5xSVF3Z0JTQURRUVowY2lFRERBSUxDMEdreFFOQkdUWUNBQ0FJUVg5cUlSVU1BZ3NGSUFVaERBc2dEeUFETmdJQUlBOUJCR29oRWlBUVFYOXFJUkZCSVNFRERBb0xDd1VnQTBFL1JnUkFJQW9QQ3dzTEN3c01Bd3NnQkVGL2FpRUVJQVlOQVNBRElRWWdCU0VEQ3lBRUxBQUFCSDhnQmdVZ0JnUkFJQVpCQURZQ0FDQUJRUUEyQWdBTElBSWdBMnNoQ2tFL0lRTU1Bd3NoQXd0QnBNVURRUmsyQWdBZ0F3Ui9JQVFGUVg4aENrRS9JUU1NQWdzaEZRc2dBU0FWTmdJQVFYOGhDa0UvSVFNTUFBQUxBQXVrQVFFRmZ5TUdJUVVqQmtHQUFtb2tCaUFGSVFNZ0FrRUNUZ1JBQWtBZ0FrRUNkQ0FCYWlJSElBTTJBZ0FnQUFSQUEwQWdBeUFCS0FJQUlBQkJnQUlnQUVHQUFra2JJZ1FRVEJwQkFDRURBMEFnQTBFQ2RDQUJhaUlHS0FJQUlBTkJBV29pQTBFQ2RDQUJhaWdDQUNBRUVFd2FJQVlnQmlnQ0FDQUVhallDQUNBQ0lBTkhEUUFMSUFBZ0JHc2lBRVVOQWlBSEtBSUFJUU1NQUFBTEFBc0xDeUFGSkFZTE9RRUNmeUFBQkVBZ0FFRUJjVVVFUUFOQUlBRkJBV29oQVNBQVFRRjJJUUlnQUVFQ2NVVUVRQ0FDSVFBTUFRc0xDd1ZCSUNFQkN5QUJDeWtCQVg4Z0FDZ0NBRUYvYWhDQUF5SUJCSDhnQVFVZ0FDZ0NCQkNBQXlJQVFTQnFRUUFnQUJzTEM1c0VBUWQvSXdZaEJpTUdRZEFCYWlRR0lBWkJ3QUZxSWdSQ0FUY0RBQ0FCSUFKc0lna0VRQUpBUVFBZ0Ftc2hDQ0FHSUFJMkFnUWdCaUFDTmdJQVFRSWhCeUFDSWdVaEFRTkFJQWRCQW5RZ0Jtb2dBaUFGYWlBQmFpSUtOZ0lBSUFkQkFXb2hCeUFLSUFsSkJFQWdBU0VGSUFvaEFRd0JDd3NnQUNBSmFpQUlhaUlCSUFCTEJIOGdBU0VIUVFFaEFVRUJJUVVEZnlBRlFRTnhRUU5HQkg4Z0FDQUNJQU1nQVNBR0VLSUNJQVJCQWhEeUFTQUJRUUpxQlNBQlFYOXFJZ1ZCQW5RZ0Jtb29BZ0FnQnlBQWEwa0VRQ0FBSUFJZ0F5QUJJQVlRb2dJRklBQWdBaUFESUFRZ0FVRUFJQVlROFFFTElBRkJBVVlFZnlBRVFRRVE4QUZCQUFVZ0JDQUZFUEFCUVFFTEN5RUJJQVFnQkNnQ0FFRUJjaUlGTmdJQUlBQWdBbW9pQUNBSFNRMEFJQUVMQlVFQklRVkJBUXNoQnlBQUlBSWdBeUFFSUFkQkFDQUdFUEVCSUFBaEFTQUhJUUFEUUFKL0FrQWdBRUVCUmlBRlFRRkdjUVIvSUFRb0FnUkZEUVFNQVFVZ0FFRUNTQTBCSUFSQkFoRHdBU0FFSUFRb0FnQkJCM00yQWdBZ0JFRUJFUElCSUFFZ0FFRithaUlGUVFKMElBWnFLQUlBYXlBSWFpQUNJQU1nQkNBQVFYOXFRUUVnQmhEeEFTQUVRUUVROEFFZ0JDQUVLQUlBUVFGeUlnYzJBZ0FnQVNBSWFpSUJJQUlnQXlBRUlBVkJBU0FHRVBFQklBVWhBQ0FIQ3d3QkN5QUVJQVFRZ1FNaUJSRHlBU0FCSUFocUlRRWdBQ0FGYWlFQUlBUW9BZ0FMSVFVTUFBQUxBQXNMSUFZa0Jnc1hBQ0FBRUlvQlFRQkhJQUJCSUhKQm4zOXFRUVpKY2d0OUFnRi9BWDRqQmlFRUl3WkJrQUZxSkFZZ0JFRUFOZ0lBSUFRZ0FEWUNCQ0FFSUFBMkFpd2dCRUYvSUFCQi8vLy8vd2RxSUFCQkFFZ2JOZ0lJSUFSQmZ6WUNUQ0FFUWdBUWdnRWdCQ0FDUVFFZ0F4Q1RBeUVGSUFFRVFDQUJJQUFnQkNnQ0JDQUVLUU40cDJvZ0JDZ0NDR3RxTmdJQUN5QUVKQVlnQlF2ZkJRRUpmeU1HSVFVakJrR1FBbW9rQmlBQkxBQUFSUVJBQWtCQnh2NENFQTBpQVFSQUlBRXNBQUFOQVFzZ0FFRU1iRUdnNlFCcUVBMGlBUVJBSUFFc0FBQU5BUXRCemY0Q0VBMGlBUVJBSUFFc0FBQU5BUXRCMHY0Q0lRRUxDeUFGUVlBQ2FpRUdBMzhDZnlBQ0lBRWdBbW9zQUFBaUEwRUFJQU5CTDBjYlJRMEFHaUFDUVFGcUlnSkJEMGtOQVVFUEN3c2hBd0pBQWtBQ1FDQUJMQUFBSWdKQkxrWUVRRUhTL2dJaEFRVWdBU0FEYWl3QUFBUkFRZEwrQWlFQkJTQUNRY01BUncwQ0N3c2dBU3dBQVVVTkFRc2dBVUhTL2dJUXN3RkZEUUFnQVVIYS9nSVFzd0ZGRFFCQnVNVURLQUlBSWdJRVFBTkFJQUVnQWtFSWFoQ3pBVVVOQXlBQ0tBSVlJZ0lOQUFzTFFiekZBeEFhUWJqRkF5Z0NBQ0lDQkVBQ1FBTkFJQUVnQWtFSWFoQ3pBUVJBSUFJb0FoZ2lBa1VOQWd3QkN3dEJ2TVVERUE0TUF3c0xBbjhDUUVIc3hBTW9BZ0FOQUVIZy9nSVFEU0lDUlEwQUlBSXNBQUJGRFFCQi9nRWdBMnNoQ1NBRFFRRnFJUW9EUUFKQUlBSkJPaENxQWlJSExBQUFJZ1JCQUVkQkgzUkJIM1VnQnlBQ2Eyb2lDQ0FKU1FSL0lBVWdBaUFJRUV3YUlBVWdDR29pQWtFdk9nQUFJQUpCQVdvZ0FTQURFRXdhSUFVZ0NDQUthbXBCQURvQUFDQUZJQVlRTlNJRURRRWdCeXdBQUFVZ0JBc2hBaUFISUFKQi93RnhRUUJIYWlJQ0xBQUFEUUVNQWdzTFFSd1FSQ0lDQkg4Z0FpQUVOZ0lBSUFJZ0JpZ0NBRFlDQkNBQ1FRaHFJZ1FnQVNBREVFd2FJQU1nQkdwQkFEb0FBQ0FDUWJqRkF5Z0NBRFlDR0VHNHhRTWdBallDQUNBQ0JTQUVJQVlvQWdBUS9BUU1BUXNNQVF0QkhCQkVJZ0lFUUNBQ1FmQ0hBU2dDQURZQ0FDQUNRZlNIQVNnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQXNnQWdzaEFVRzh4UU1RRGlBQlFmQ0hBU0FBSUFGeUd5RUNEQUVMSUFCRkJFQWdBU3dBQVVFdVJnUkFRZkNIQVNFQ0RBSUxDMEVBSVFJTElBVWtCaUFDQ3hjQUlBQkJBRWNnQUVITXhBTkhjU0FBUVl5SUFVZHhDdzRBSUFBUWhnTUVRQ0FBRURnTEN4OEJBbjhnQUJCZ1FRRnFJZ0VRUkNJQ0JIOGdBaUFBSUFFUVRBVkJBQXNMbmdFQUlBSkJBVVlFUUNBQklBQW9BZ2dnQUNnQ0JHdXNmU0VCQ3dKQUFrQWdBQ2dDRkNBQUtBSWNUUTBBSUFCQkFFRUFJQUFvQWlSQlAzRkJ5Z0ZxRVFRQUdpQUFLQUlVRFFBTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQklBSWdBQ2dDS0VFRGNVR21BMm9SRkFCQ0FGTUVmMEYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0FFRnZjVFlDQUVFQUN4b0xDNUVCQWdGL0FuNENRQUpBSUFDOUlnTkNOSWdpQktkQi93OXhJZ0lFUUNBQ1FmOFBSZ1JBREFNRkRBSUxBQXNnQVNBQVJBQUFBQUFBQUFBQVlnUi9JQUJFQUFBQUFBQUE4RU9pSUFFUWlnTWhBQ0FCS0FJQVFVQnFCVUVBQ3pZQ0FBd0JDeUFCSUFTblFmOFBjVUdDZUdvMkFnQWdBMEwvLy8vLy8vLy9oNEIvZzBLQWdJQ0FnSUNBOEQrRXZ5RUFDeUFBQ3hFQUlBQUVmeUFBSUFFUW5nRUZRUUFMQzc0REF3Ri9BWDRCZkNBQlFSUk5CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUlBRkJDV3NPQ2dBQkFnTUVCUVlIQ0FrS0N5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FETmdJQURBa0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPc053TUFEQWdMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBT3ROd01BREFjTElBSW9BZ0JCQjJwQmVIRWlBU2tEQUNFRUlBSWdBVUVJYWpZQ0FDQUFJQVEzQXdBTUJnc2dBaWdDQUVFRGFrRjhjU0lCS0FJQUlRTWdBaUFCUVFScU5nSUFJQUFnQTBILy93TnhRUkIwUVJCMXJEY0RBQXdGQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZi8vQTNHdE53TUFEQVFMSUFJb0FnQkJBMnBCZkhFaUFTZ0NBQ0VESUFJZ0FVRUVhallDQUNBQUlBTkIvd0Z4UVJoMFFSaDFyRGNEQUF3REN5QUNLQUlBUVFOcVFYeHhJZ0VvQWdBaEF5QUNJQUZCQkdvMkFnQWdBQ0FEUWY4QmNhMDNBd0FNQWdzZ0FpZ0NBRUVIYWtGNGNTSUJLd01BSVFVZ0FpQUJRUWhxTmdJQUlBQWdCVGtEQUF3QkN5QUFJQUpCNlFVUkF3QUxDd3RBQVFKL0lBQW9BZ0FzQUFBUWlnRUVRQU5BSUFBb0FnQWlBaXdBQUNBQlFRcHNRVkJxYWlFQklBQWdBa0VCYWpZQ0FDQUNMQUFCRUlvQkRRQUxDeUFCQ3drQUlBQWdBUkNmQVFzSkFDQUFJQUVRamdVTElnQWdBTDFDLy8vLy8vLy8vLy8vQUlNZ0FiMUNnSUNBZ0lDQWdJQ0FmNE9Fdnd2Z0F3SURmd0YrQW40Q1FBSkFBa0FDUUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FTdHJEZ01BQVFBQkN5QUNRUzFHSVFRZ0FVRUFSeUFBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUlEUVZCcUlnSkJDVXR4Qkg0Z0FDZ0NhQVIrSUFBZ0FDZ0NCRUYvYWpZQ0JBd0VCVUtBZ0lDQWdJQ0FnSUIvQ3dVZ0F5RUJEQUlMREFNTElBSWlBVUZRYWlFQ0N5QUNRUWxMRFFCQkFDRUNBMEFnQVVGUWFpQUNRUXBzYWlFQ0lBSkJ6Sm16NWdCSUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElnRkJVR29pQTBFS1NYRU5BQXNnQXF3aEJTQURRUXBKQkVBRFFDQUJyRUpRZkNBRlFncCtmQ0VGSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBa0VLU1NBRlFxNlBoZGZId3V1akFWTnhEUUFMSUFKQkNra0VRQU5BSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMUVZCcVFRcEpEUUFMQ3dzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQ0FGZlNBRklBUWJEQUVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFvQ0FnSUNBZ0lDQWdIOExDOGtIQVFWL0Fud0NRQUpBQWtBQ1FBSkFJQUVPQXdBQkFnTUxRZXQrSVFSQkdDRUZEQU1MUWM1M0lRUkJOU0VGREFJTFFjNTNJUVJCTlNFRkRBRUxSQUFBQUFBQUFBQUFEQUVMQTBBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFSQ3lBUTBBQ3dKQUFrQUNRQ0FCUVN0ckRnTUFBUUFCQzBFQklBRkJMVVpCQVhScklRWWdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2hBUXdCQzBFQklRWUxBa0FDUUFKQUEzOGdBMEgrL1FKcUxBQUFJQUZCSUhKR0JIOGdBMEVIU1FSQUlBQW9BZ1FpQVNBQUtBSm9TUVIvSUFBZ0FVRUJhallDQkNBQkxRQUFCU0FBRUZRTElRRUxJQU5CQVdvaUEwRUlTUTBCUVFnRklBTUxDeUlEUWYvLy8vOEhjVUVEYXc0R0FRQUFBQUFDQUFzZ0FrRUFSeUlISUFOQkEwdHhCRUFnQTBFSVJnMENEQUVMSUFORkJFQUNRRUVBSVFNRGZ5QURRYnorQW1vc0FBQWdBVUVnY2tjTkFTQURRUUpKQkVBZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRc2dBMEVCYWlJRFFRTkpEUUJCQXdzaEF3c0xBa0FDUUFKQUlBTU9CQUVDQWdBQ0N5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUMwRW9Sd1JBSXdFZ0FDZ0NhRVVOQlJvZ0FDQUFLQUlFUVg5cU5nSUVJd0VNQlF0QkFTRUJBMEJCQUNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJQ1FWQnFRUXBKSUFKQnYzOXFRUnBKY2tVZ0FrSGZBRVlnQWtHZmYycEJHa2x5RzBVRVFDQUJRUUZxSVFFTUFRc0xJd0VnQWtFcFJnMEVHaUFBS0FKb1JTSUNSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dCMFVFUUVHa3hRTkJIRFlDQUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQlFzakFTQUJSUTBFR2dOQUlBSkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5TUJJQUZCZjJvaUFVVU5CUm9NQUFBTEFBc2dBQ0FCUVRCR0JIOGdBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBdEJJSEpCK0FCR0JFQWdBQ0FGSUFRZ0JpQUNFSkFGREFVTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRVEFGSUFFTElBVWdCQ0FHSUFJUWp3VU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0QnBNVURRUncyQWdBZ0FFSUFFSUlCUkFBQUFBQUFBQUFBREFJTElBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1FRQkhJQU5CQTB0eEJFQURRQ0FCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQTBGL2FpSURRUU5MRFFBTEN3c2dCcklqQXJhVXV3c0x2Z3NDQlg4RmZpQUJRU1JMQkVCQnBNVURRUncyQWdCQ0FDRURCUUpBQTBBZ0FDZ0NCQ0lFSUFBb0FtaEpCSDhnQUNBRVFRRnFOZ0lFSUFRdEFBQUZJQUFRVkFzaUJCQ3lBUTBBQ3dKQUFrQWdCRUVyYXc0REFBRUFBUXNnQkVFdFJrRWZkRUVmZFNFSElBQW9BZ1FpQkNBQUtBSm9TUVIvSUFBZ0JFRUJhallDQkNBRUxRQUFCU0FBRUZRTElRUU1BQXNnQVVVaEJRSkFBa0FDUUNBQlFSQnlRUkJHSUFSQk1FWnhCRUFDUUNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRVFTQnlRZmdBUndSQUlBVUVRQ0FFSVFKQkNDRUJEQVFGSUFRaEFnd0NDd0FMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQndkUUFhaTBBQUVFUFNnUkFJQUFvQW1oRklnRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUN5QUNSUVJBSUFCQ0FCQ0NBVUlBSVFNTUJ3c2dBUVJBUWdBaEF3d0hDeUFBSUFBb0FnUkJmMm8yQWdSQ0FDRUREQVlGSUFFaEFrRVFJUUVNQXdzQUN3VkJDaUFCSUFVYklnRWdCRUhCMUFCcUxRQUFTd1IvSUFRRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQUJDQUJDQ0FVR2t4UU5CSERZQ0FFSUFJUU1NQlFzaEFnc2dBVUVLUncwQUlBSkJVR29pQWtFS1NRUkFRUUFoQVFOQUlBRkJDbXdnQW1vaEFTQUFLQUlFSWdJZ0FDZ0NhRWtFZnlBQUlBSkJBV28yQWdRZ0FpMEFBQVVnQUJCVUN5SUVRVkJxSWdKQkNra2dBVUdacytiTUFVbHhEUUFMSUFHdElRa2dBa0VLU1FSQUlBUWhBUU5BSUFsQ0NuNGlDaUFDckNJTFFuK0ZWZ1JBUVFvaEFnd0ZDeUFLSUF0OElRa2dBQ2dDQkNJQklBQW9BbWhKQkg4Z0FDQUJRUUZxTmdJRUlBRXRBQUFGSUFBUVZBc2lBVUZRYWlJQ1FRcEpJQWxDbXJQbXpKbXo1c3daVkhFTkFBc2dBa0VKVFFSQVFRb2hBZ3dFQ3dzTERBSUxJQUVnQVVGL2FuRkZCRUFnQVVFWGJFRUZka0VIY1VHSC9nSnFMQUFBSVFZZ0FTQUNRY0hVQUdvc0FBQWlDRUgvQVhFaUJVc0VRRUVBSVFRZ0JTRUNBMEFnQkNBR2RDQUNjaUlFUVlDQWdNQUFTU0FCSUFBb0FnUWlBaUFBS0FKb1NRUi9JQUFnQWtFQmFqWUNCQ0FDTFFBQUJTQUFFRlFMSWdWQndkUUFhaXdBQUNJSVFmOEJjU0lDUzNFTkFBc2dCSzBoQ1NBRklRUWdBaUVGQlNBQ0lRUUxJQWdoQWlBQklBVk5RbjhnQnEwaUNvZ2lDeUFKVkhJRVFDQUJJUUlnQkNFQkRBSUxBMEFnQVNBQUtBSUVJZ1FnQUNnQ2FFa0VmeUFBSUFSQkFXbzJBZ1FnQkMwQUFBVWdBQkJVQ3lJRlFjSFVBR29zQUFBaUJFSC9BWEZOSUFKQi93RnhyU0FKSUFxR2hDSUpJQXRXY2dSQUlBRWhBaUFGSVFFTUF3VWdCQ0VDREFFTEFBQUxBQXNnQVNBQ1FjSFVBR29zQUFBaUJrSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdBU0FFYkNBQ2FpSUVRY2ZqOFRoSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCVUhCMUFCcUxBQUFJZ1pCL3dGeElnSkxjUTBBQ3lBRXJTRUpJQVVoQkNBQ0lRVUZJQUloQkFzZ0JpRUNJQUd0SVFvZ0FTQUZTd1IvUW44Z0NoRDJBU0VMQTM4Z0NTQUxWZ1JBSUFFaEFpQUVJUUVNQXdzZ0NTQUtmaUlNSUFKQi93RnhyU0lOUW4rRlZnUkFJQUVoQWlBRUlRRU1Bd3NnRENBTmZDRUpJQUVnQUNnQ0JDSUNJQUFvQW1oSkJIOGdBQ0FDUVFGcU5nSUVJQUl0QUFBRklBQVFWQXNpQkVIQjFBQnFMQUFBSWdKQi93RnhTdzBBSUFFaEFpQUVDd1VnQVNFQ0lBUUxJUUVMSUFJZ0FVSEIxQUJxTFFBQVN3UkFBMEFnQWlBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBIQjFBQnFMUUFBU3cwQUMwR2t4UU5CeEFBMkFnQWdCMEVBSUFOQ0FZTlFHeUVISUFNaENRc0xJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFrZ0Exb0VRQ0FIUVFCSElBTkNBWU5DQUZKeVJRUkFRYVRGQTBIRUFEWUNBQ0FEUW45OElRTU1BZ3NnQ1NBRFZnUkFRYVRGQTBIRUFEWUNBQXdDQ3dzZ0NTQUhyQ0lEaFNBRGZTRURDd3NnQXd0U0FDQUFCRUFDUUFKQUFrQUNRQUpBQWtBZ0FVRithdzRHQUFFQ0F3VUVCUXNnQUNBQ1BBQUFEQVFMSUFBZ0FqMEJBQXdEQ3lBQUlBSStBZ0FNQWdzZ0FDQUNQZ0lBREFFTElBQWdBamNEQUFzTEMwY0JBbjhqQmlFREl3WkJrQUZxSkFZZ0EwRUFRWkFCRUVVYUlBTkJJellDSUNBRElBQTJBaXdnQTBGL05nSk1JQU1nQURZQ1ZDQURJQUVnQWhDVUJTRUVJQU1rQmlBRUM1d0NBUWQvSUFFb0FreEJmMG9FZjBFQkJVRUFDeHBCL3dFaEJTQUFJUVFDUUFKQUEwQUNRQ0FCS0FJSUlBRW9BZ1FpQWlJR2F5RURJQUpCQ2lBREVLWUNJZ2hGSVFjZ0JDQUNJQU1nQ0VFQklBWnJhaUFIR3lJQ0lBVWdBaUFGU1JzaUF4Qk1HaUFCSUFNZ0FTZ0NCR29pQmpZQ0JDQURJQVJxSVFJZ0J5QUZJQU5ySWdWQkFFZHhSUVJBSUFJaEJBd0RDeUFHSUFFb0FnaEpCSDhnQVNBR1FRRnFOZ0lFSUFZdEFBQUZJQUVROVFFaUJFRUFTQTBCSUFRTElRTWdBa0VCYWlFRUlBSWdBem9BQUNBRlFYOXFJZ1ZGSUFOQi93RnhRUXBHY2tVTkFRd0NDd3NnQUNBQ1JnUi9RUUFGSUFFb0FnQkJFSEVFZnlBQ0lRUU1BZ1ZCQUFzTElRQU1BUXNnQUFSQUlBUkJBRG9BQUFWQkFDRUFDd3NnQUF2d0FRRURmd0pBQWtBZ0FpZ0NFQ0lERFFBZ0FoQ1lBd1IvUVFBRklBSW9BaEFoQXd3QkN5RUVEQUVMSUFNZ0FpZ0NGQ0lFYXlBQlNRUkFJQUlvQWlRaEF5QUNJQUFnQVNBRFFUOXhRY29CYWhFRUFDRUVEQUVMSUFGRklBSXNBRXRCQUVoeUJFQkJBQ0VEQlFKQUlBRWhBd05BSUFBZ0EwRi9haUlGYWl3QUFFRUtSd1JBSUFVRVFDQUZJUU1NQWdWQkFDRUREQU1MQUFzTElBSW9BaVFoQkNBQ0lBQWdBeUFFUVQ5eFFjb0JhaEVFQUNJRUlBTkpEUUlnQUNBRGFpRUFJQUVnQTJzaEFTQUNLQUlVSVFRTEN5QUVJQUFnQVJCTUdpQUNJQUVnQWlnQ0ZHbzJBaFFnQVNBRGFpRUVDeUFFQzJFQkFYOGdBQ0FBTEFCS0lnRWdBVUgvQVdweU9nQktJQUFvQWdBaUFVRUljUVIvSUFBZ0FVRWdjallDQUVGL0JTQUFRUUEyQWdnZ0FFRUFOZ0lFSUFBZ0FDZ0NMQ0lCTmdJY0lBQWdBVFlDRkNBQUlBRWdBQ2dDTUdvMkFoQkJBQXNMakFFQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFvNkFBQUNRQUpBSUFBb0FoQWlBZzBBSUFBUW1BTkZCRUFnQUNnQ0VDRUNEQUVMREFFTElBQW9BaFFpQXlBQ1NRUkFJQUFzQUV0QkNrY0VRQ0FBSUFOQkFXbzJBaFFnQTBFS09nQUFEQUlMQ3lBQUlBRkJBU0FBS0FJa1FUOXhRY29CYWhFRUFFRUJSZ1IvSUFFdEFBQUZRWDhMR2dzZ0FTUUdDeHdBSUFCQmdHQkxCSDlCcE1VRFFRQWdBR3MyQWdCQmZ3VWdBQXNMRVFCQkJFRUJRZWlKQVNnQ0FDZ0NBQnNMN0FFQ0NYOEJmU0FCS0FJSUlnZ2dBaWdDQkVZRWZ5QUFLQUlFSWdvZ0FTZ0NCRVlFZnlBQUtBSUlJZ2tnQWlnQ0NFWUVmeUFBS0FJQUlRQURmeUFESUFwSUJIOGdBeUFJYkNFTFFRQWhCQU5BSUFRZ0NVZ0VRQ0FBUXdBQUFBQTRBZ0FnQWlnQ0FDQUVRUUowYWlFRklBRW9BZ0FnQzBFQ2RHb2hCa0VBSVFkREFBQUFBQ0VNQTBBZ0J5QUlTQVJBSUFBZ0RDQUdLZ0lBSUFVcUFnQ1VraUlNT0FJQUlBbEJBblFnQldvaEJTQUdRUVJxSVFZZ0IwRUJhaUVIREFFTEN5QUVRUUZxSVFRZ0FFRUVhaUVBREFFTEN5QURRUUZxSVFNTUFRVkJBQXNMQlVGL0N3VkJmd3NGUVg4TEMwZ0JBWDhnQUNnQ0JDSUJSUVJBRHdzZ0FTZ0NKQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FJUUJFQWdBRUhJQVRZQ0ZDQUFRUUEyQXJnQ0JTQUFRZVFBTmdJVUN3c3lBUUYvSUFBb0FnUWlBUVJBSUFFb0FpZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUVBTmdJRUlBQkJBRFlDRkFzZ0FDQUFLQUlBSWdGQk16WUNGQ0FBSUFFb0FnQkIvd0Z4UWF3RGFoRUJBQXN5QVFGL0lBQW9BZ2dnQUNnQ0JCQ0xBU0lCQkVBZ0FTQUFFUEVFUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRdUNCQUVKZnlBQUtBTGtBeUlGSUFBb0FsaEJBVVlpQWpZQ0hDQUFLQUlFS0FJSUlRRWdCU0FBUVFGQi9nVkJnQUlnQWhzZ0FDZ0NlQ0FCUVE5eFFZb0NhaEVKQUNJRU5nSVlJQVVvQWhRaEFTQUFLQUo0UVFCTUJFQVBDeUFDUlFSQUEwQWdBU0FGUVNCcUlBTkJBblJxS0FJQUlnSVFPU0VISUFOQkFuUWdCR29vQWdBaEJrRUFJUUVnQWtIK0FXb2dBa0YvYWlJSVFRRjBJZ2tRT1NFRVFRQWhBZ05BSUFJZ0JFb0VRQU5BSUFJZ0NDQUJRUUZxSWdGQkFYUkJBWEpCL3dGc2FpQUpFRGtpQkVvTkFBc0xJQUlnQm1vZ0FTQUhiRG9BQUNBQ1FRRnFJZ0pCZ0FKSERRQUxJQU5CQVdvaUF5QUFLQUo0U0FSQUlBY2hBU0FGS0FJWUlRUU1BUXNMRHd0QkFDRUNBMEFnQVNBRlFTQnFJQUpCQW5ScUtBSUFJZ01RT1NFSElBSkJBblFnQkdvaUFTQUJLQUlBUWY4QmFqWUNBQ0FGS0FJWUlBSkJBblJxS0FJQUlRWkJBQ0VCSUFOQi9nRnFJQU5CZjJvaUNFRUJkQ0lKRURraEJFRUFJUU1EUUNBRElBUktCRUFEUUNBRElBZ2dBVUVCYWlJQlFRRjBRUUZ5UWY4QmJHb2dDUkE1SWdSS0RRQUxDeUFESUFacUlBRWdCMnc2QUFBZ0EwRUJhaUlEUVlBQ1J3MEFDMEVCSVFFRFFDQUdJQUZySUFZc0FBQTZBQUFnQmlBQlFmOEJhbW9nQml3QS93RTZBQUFnQVVFQmFpSUJRWUFDUncwQUN5QUNRUUZxSWdJZ0FDZ0NlRWdFUUNBSElRRWdCU2dDR0NFRURBRUxDd3ZqSHdFZGZ5TUdJUmNqQmtHQUMyb2tCaUFYUVlBRGFpRUVJQmRCZ0FGcUlSa2dBQ2dDNUFNb0FoZ2hHaUFCUVFKMlFRVjBJZ1ZCQkhJaUZDQUZRUnh5SWd4cVFRRjFJUTRnQWtFRGRrRUZkQ0lGUVFKeUloVWdCVUVlY2lJUGFrRUJkU0VRSUFOQkFuWkJCWFFpQlVFRWNpSVdJQVZCSEhJaUVXcEJBWFVoRWlBQUtBS0VBU0lMUVFCS0JIOGdBQ2dDaUFFaUJTZ0NBQ0VLSUFVb0FnUWhDU0FGS0FJSUlSaEIvLy8vL3djaEJ3TkFJQlFnQ0NBS2FpMEFBQ0lGU2dSL0lBVWdER3RCQVhRaUJpQUdiQ0VOSUFVZ0ZHdEJBWFFpQlNBRmJBVUNmeUFNSUFWSUJFQWdCU0FVYTBFQmRDSUdJQVpzSVEwZ0JTQU1hMEVCZENJRklBVnNEQUVMSUE0Z0JVZ0VRQ0FGSUJSclFRRjBJZ1VnQld3aERRVWdCU0FNYTBFQmRDSUZJQVZzSVEwTFFRQUxDeUVGSUJVZ0NDQUphaTBBQUNJR1NnUi9JQVVnQmlBVmEwRURiQ0lGSUFWc2FpRUZJQVlnRDJ0QkEyd2lCaUFHYkFVQ2Z5QVBJQVpJQkVBZ0JTQUdJQTlyUVFOc0lnVWdCV3hxSVFVZ0JpQVZhMEVEYkNJR0lBWnNEQUVMSUJBZ0JrZ0VmeUFHSUJWclFRTnNJZ1lnQm13RklBWWdEMnRCQTJ3aUJpQUdiQXNMQ3lFVElCWWdDQ0FZYWkwQUFDSUdTZ1IvSUFVZ0JpQVdheUlGSUFWc2FpRUZJQVlnRVdzaUJpQUdiQVVDZnlBUklBWklCRUFnQlNBR0lCRnJJZ1VnQld4cUlRVWdCaUFXYXlJR0lBWnNEQUVMSUJJZ0JrZ0VmeUFHSUJacklnWWdCbXdGSUFZZ0VXc2lCaUFHYkFzTEN5RUdJQWhCQW5RZ0JHb2dCVFlDQUNBTklCTnFJQVpxSWdVZ0J5QUZJQWRJR3lFSElBc2dDRUVCYWlJSVJ3MEFDMEVBSVFWQkFDRUlBMzhnQ0VFQ2RDQUVhaWdDQUNBSFRBUkFJQVVnR1dvZ0NEb0FBQ0FGUVFGcUlRVUxJQXNnQ0VFQmFpSUlSdzBBSUFVTEJVRUFDeUVUSUJjaENDQUVRZi8vLy84SE5nSUFJQVJCLy8vLy93YzJBZ1FnQkVILy8vLy9CellDQ0NBRVFmLy8vLzhITmdJTUlBUkIvLy8vL3djMkFoQWdCRUgvLy8vL0J6WUNGQ0FFUWYvLy8vOEhOZ0lZSUFSQi8vLy8vd2MyQWh3Z0JFSC8vLy8vQnpZQ0lDQUVRZi8vLy84SE5nSWtJQVJCLy8vLy93YzJBaWdnQkVILy8vLy9CellDTENBRVFmLy8vLzhITmdJd0lBUkIvLy8vL3djMkFqUWdCRUgvLy8vL0J6WUNPQ0FFUWYvLy8vOEhOZ0k4SUFSQlFHdEIvLy8vL3djMkFnQWdCRUgvLy8vL0J6WUNSQ0FFUWYvLy8vOEhOZ0pJSUFSQi8vLy8vd2MyQWt3Z0JFSC8vLy8vQnpZQ1VDQUVRZi8vLy84SE5nSlVJQVJCLy8vLy93YzJBbGdnQkVILy8vLy9CellDWENBRVFmLy8vLzhITmdKZ0lBUkIvLy8vL3djMkFtUWdCRUgvLy8vL0J6WUNhQ0FFUWYvLy8vOEhOZ0pzSUFSQi8vLy8vd2MyQW5BZ0JFSC8vLy8vQnpZQ2RDQUVRZi8vLy84SE5nSjRJQVJCLy8vLy93YzJBbndnQkVILy8vLy9CellDZ0FFZ0JFSC8vLy8vQnpZQ2hBRWdCRUgvLy8vL0J6WUNpQUVnQkVILy8vLy9CellDakFFZ0JFSC8vLy8vQnpZQ2tBRWdCRUgvLy8vL0J6WUNsQUVnQkVILy8vLy9CellDbUFFZ0JFSC8vLy8vQnpZQ25BRWdCRUgvLy8vL0J6WUNvQUVnQkVILy8vLy9CellDcEFFZ0JFSC8vLy8vQnpZQ3FBRWdCRUgvLy8vL0J6WUNyQUVnQkVILy8vLy9CellDc0FFZ0JFSC8vLy8vQnpZQ3RBRWdCRUgvLy8vL0J6WUN1QUVnQkVILy8vLy9CellDdkFFZ0JFSC8vLy8vQnpZQ3dBRWdCRUgvLy8vL0J6WUN4QUVnQkVILy8vLy9CellDeUFFZ0JFSC8vLy8vQnpZQ3pBRWdCRUgvLy8vL0J6WUMwQUVnQkVILy8vLy9CellDMUFFZ0JFSC8vLy8vQnpZQzJBRWdCRUgvLy8vL0J6WUMzQUVnQkVILy8vLy9CellDNEFFZ0JFSC8vLy8vQnpZQzVBRWdCRUgvLy8vL0J6WUM2QUVnQkVILy8vLy9CellDN0FFZ0JFSC8vLy8vQnpZQzhBRWdCRUgvLy8vL0J6WUM5QUVnQkVILy8vLy9CellDK0FFZ0JFSC8vLy8vQnpZQy9BRWdCRUgvLy8vL0J6WUNnQUlnQkVILy8vLy9CellDaEFJZ0JFSC8vLy8vQnpZQ2lBSWdCRUgvLy8vL0J6WUNqQUlnQkVILy8vLy9CellDa0FJZ0JFSC8vLy8vQnpZQ2xBSWdCRUgvLy8vL0J6WUNtQUlnQkVILy8vLy9CellDbkFJZ0JFSC8vLy8vQnpZQ29BSWdCRUgvLy8vL0J6WUNwQUlnQkVILy8vLy9CellDcUFJZ0JFSC8vLy8vQnpZQ3JBSWdCRUgvLy8vL0J6WUNzQUlnQkVILy8vLy9CellDdEFJZ0JFSC8vLy8vQnpZQ3VBSWdCRUgvLy8vL0J6WUN2QUlnQkVILy8vLy9CellDd0FJZ0JFSC8vLy8vQnpZQ3hBSWdCRUgvLy8vL0J6WUN5QUlnQkVILy8vLy9CellDekFJZ0JFSC8vLy8vQnpZQzBBSWdCRUgvLy8vL0J6WUMxQUlnQkVILy8vLy9CellDMkFJZ0JFSC8vLy8vQnpZQzNBSWdCRUgvLy8vL0J6WUM0QUlnQkVILy8vLy9CellDNUFJZ0JFSC8vLy8vQnpZQzZBSWdCRUgvLy8vL0J6WUM3QUlnQkVILy8vLy9CellDOEFJZ0JFSC8vLy8vQnpZQzlBSWdCRUgvLy8vL0J6WUMrQUlnQkVILy8vLy9CellDL0FJZ0JFSC8vLy8vQnpZQ2dBTWdCRUgvLy8vL0J6WUNoQU1nQkVILy8vLy9CellDaUFNZ0JFSC8vLy8vQnpZQ2pBTWdCRUgvLy8vL0J6WUNrQU1nQkVILy8vLy9CellDbEFNZ0JFSC8vLy8vQnpZQ21BTWdCRUgvLy8vL0J6WUNuQU1nQkVILy8vLy9CellDb0FNZ0JFSC8vLy8vQnpZQ3BBTWdCRUgvLy8vL0J6WUNxQU1nQkVILy8vLy9CellDckFNZ0JFSC8vLy8vQnpZQ3NBTWdCRUgvLy8vL0J6WUN0QU1nQkVILy8vLy9CellDdUFNZ0JFSC8vLy8vQnpZQ3ZBTWdCRUgvLy8vL0J6WUN3QU1nQkVILy8vLy9CellDeEFNZ0JFSC8vLy8vQnpZQ3lBTWdCRUgvLy8vL0J6WUN6QU1nQkVILy8vLy9CellDMEFNZ0JFSC8vLy8vQnpZQzFBTWdCRUgvLy8vL0J6WUMyQU1nQkVILy8vLy9CellDM0FNZ0JFSC8vLy8vQnpZQzRBTWdCRUgvLy8vL0J6WUM1QU1nQkVILy8vLy9CellDNkFNZ0JFSC8vLy8vQnpZQzdBTWdCRUgvLy8vL0J6WUM4QU1nQkVILy8vLy9CellDOUFNZ0JFSC8vLy8vQnpZQytBTWdCRUgvLy8vL0J6WUMvQU1nRTBFQVNnUkFRUUFoRHdOQUlCUWdEeUFaYWl3QUFDSUxRZjhCY1NJSElBQW9Bb2dCSWdZb0FnQnFMUUFBYXlJTlFRRjBJUXdnRlNBSElBWW9BZ1JxTFFBQWF5SUZRUU5zSVFvZ0JVSElBR3dpQlVHUUFXb2hHQ0FXSUFjZ0JpZ0NDR290QUFCcklnZEJCSFFpQmtGQWF5RU9JQVpCd0FGcUlSQWdCa0hBQW1vaEVpQUZRYkFEYWlFYklBVkIwQVZxSVJ3Z0JVSHdCMm9oSFNBRlFaQUthaUVlSUFWQnNBeHFJUjhnQlVIUURtb2hJRUVESVJFZ0RVRUdkRUdBQW1vaERTQU1JQXhzSUFvZ0NteHFJQWNnQjJ4cUlRd2dDQ0VISUFRaEJRTkFJQXdnQlNnQ0FFZ0VRQ0FGSUF3MkFnQWdCeUFMT2dBQUN5QU1JQTVxSWdvZ0JTSUdLQUlFU0FSQUlBWWdDallDQkNBSElBczZBQUVMSUFvZ0VHb2lDaUFHS0FJSVNBUkFJQVlnQ2pZQ0NDQUhJQXM2QUFJTElBb2dFbW9pQ2lBR0tBSU1TQVJBSUFZZ0NqWUNEQ0FISUFzNkFBTUxJQXdnR0dvaUNpQUZLQUlRU0FSQUlBVWdDallDRUNBSElBczZBQVFMSUFvZ0Rtb2lDU0FHS0FJVVNBUkFJQVVnQ1RZQ0ZDQUhJQXM2QUFVTElBa2dFR29pQ1NBRktBSVlTQVJBSUFVZ0NUWUNHQ0FISUFzNkFBWUxJQWtnRW1vaUNTQUZLQUljU0FSQUlBVWdDVFlDSENBSElBczZBQWNMSUFvZ0cyb2lDaUFHS0FJZ1NBUkFJQVlnQ2pZQ0lDQUhJQXM2QUFnTElBb2dEbW9pQ1NBRktBSWtTQVJBSUFZZ0NUWUNKQ0FISUFzNkFBa0xJQWtnRUdvaUNTQUdLQUlvU0FSQUlBWWdDVFlDS0NBSElBczZBQW9MSUFrZ0Vtb2lDU0FHS0FJc1NBUkFJQVlnQ1RZQ0xDQUhJQXM2QUFzTElBb2dIR29pQ2lBRktBSXdTQVJBSUFVZ0NqWUNNQ0FISUFzNkFBd0xJQW9nRG1vaUJTQUdLQUkwU0FSQUlBWWdCVFlDTkNBSElBczZBQTBMSUFVZ0VHb2lCU0FHS0FJNFNBUkFJQVlnQlRZQ09DQUhJQXM2QUE0TElBVWdFbW9pQ1NBR0lnVW9BanhJQkVBZ0JTQUpOZ0k4SUFjZ0N6b0FEd3NnQ2lBZGFpSUtJQVZCUUdzaUJpZ0NBRWdFUUNBR0lBbzJBZ0FnQnlBTE9nQVFDeUFLSUE1cUlna2dCU0lHS0FKRVNBUkFJQVlnQ1RZQ1JDQUhJQXM2QUJFTElBa2dFR29pQ1NBR0tBSklTQVJBSUFZZ0NUWUNTQ0FISUFzNkFCSUxJQWtnRW1vaUNTQUdLQUpNU0FSQUlBWWdDVFlDVENBSElBczZBQk1MSUFvZ0htb2lDaUFGS0FKUVNBUkFJQVVnQ2pZQ1VDQUhJQXM2QUJRTElBb2dEbW9pQ1NBR0tBSlVTQVJBSUFVZ0NUWUNWQ0FISUFzNkFCVUxJQWtnRUdvaUNTQUZLQUpZU0FSQUlBVWdDVFlDV0NBSElBczZBQllMSUFrZ0Vtb2lDU0FGS0FKY1NBUkFJQVVnQ1RZQ1hDQUhJQXM2QUJjTElBb2dIMm9pQ2lBR0tBSmdTQVJBSUFZZ0NqWUNZQ0FISUFzNkFCZ0xJQW9nRG1vaUNTQUZLQUprU0FSQUlBWWdDVFlDWkNBSElBczZBQmtMSUFrZ0VHb2lDU0FHS0FKb1NBUkFJQVlnQ1RZQ2FDQUhJQXM2QUJvTElBa2dFbW9pQ1NBR0tBSnNTQVJBSUFZZ0NUWUNiQ0FISUFzNkFCc0xJQW9nSUdvaUNpQUZLQUp3U0FSQUlBVWdDallDY0NBSElBczZBQndMSUFvZ0Rtb2lCU0FHS0FKMFNBUkFJQVlnQlRZQ2RDQUhJQXM2QUIwTElBVWdFR29pQlNBR0tBSjRTQVJBSUFZZ0JUWUNlQ0FISUFzNkFCNExJQVVnRW1vaUJTQUdLQUo4U0FSQUlBWWdCVFlDZkNBSElBczZBQjhMSUFaQmdBRnFJUVVnQjBFZ2FpRUhJQXdnRFdvaERDQU5RWUFFYWlFTklCRkJmMm9oQmlBUkJFQWdCaUVSREFFTEN5QVBRUUZxSWc4Z0UwY05BQXNMSUFGQmZIRWhCeUFEUVh4eElRRWdBa0Y0Y1NJRFFRRnlJUVlnQTBFQ2NpRU1JQU5CQTNJaER5QURRUVJ5SVJFZ0EwRUZjaUVOSUFOQkJuSWhCQ0FDUVFkeUlSTkJBQ0VBQTBBZ0FDQUhha0VDZENBYWFpSUxLQUlBSWdJZ0EwRUdkR29nQVVFQmRHb2lCU0FJTFFBQVFRRnFPd0VBSUFVZ0NDMEFBVUVCYWpzQkFpQUZJQWd0QUFKQkFXbzdBUVFnQlNBSUxRQURRUUZxT3dFR0lBWkJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUVRUUZxT3dFQUlBVWdDQzBBQlVFQmFqc0JBaUFGSUFndEFBWkJBV283QVFRZ0JTQUlMUUFIUVFGcU93RUdJQXhCQm5RZ0Ftb2dBVUVCZEdvaUJTQUlMUUFJUVFGcU93RUFJQVVnQ0MwQUNVRUJhanNCQWlBRklBZ3RBQXBCQVdvN0FRUWdCU0FJTFFBTFFRRnFPd0VHSUE5QkJuUWdBbW9nQVVFQmRHb2lBaUFJTFFBTVFRRnFPd0VBSUFJZ0NDMEFEVUVCYWpzQkFpQUNJQWd0QUE1QkFXbzdBUVFnQWlBSUxRQVBRUUZxT3dFR0lBc29BZ0FpQWlBUlFRWjBhaUFCUVFGMGFpSUZJQWd0QUJCQkFXbzdBUUFnQlNBSUxRQVJRUUZxT3dFQ0lBVWdDQzBBRWtFQmFqc0JCQ0FGSUFndEFCTkJBV283QVFZZ0RVRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCUkJBV283QVFBZ0JTQUlMUUFWUVFGcU93RUNJQVVnQ0MwQUZrRUJhanNCQkNBRklBZ3RBQmRCQVdvN0FRWWdCRUVHZENBQ2FpQUJRUUYwYWlJRklBZ3RBQmhCQVdvN0FRQWdCU0FJTFFBWlFRRnFPd0VDSUFVZ0NDMEFHa0VCYWpzQkJDQUZJQWd0QUJ0QkFXbzdBUVlnRTBFR2RDQUNhaUFCUVFGMGFpSUNJQWd0QUJ4QkFXbzdBUUFnQWlBSUxRQWRRUUZxT3dFQ0lBSWdDQzBBSGtFQmFqc0JCQ0FDSUFndEFCOUJBV283QVFZZ0NFRWdhaUVJSUFCQkFXb2lBRUVFUncwQUN5QVhKQVlMTkFFQmZ5QUFLQUlFSUFFb0FnZ1FwUU1pQWdSQUlBSWdBQ0FCRUp3RFFRQklCRUFnQWhCSlFRQWhBZ3NGUVFBaEFnc2dBZ3ZTQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ2dDNUFNZ0FFRUJRZndQSUFGQlAzRkJ5Z0ZxRVFRQUlnQkIvQWRxSWdJMkFpZ2dBa0VBTmdJQUlBQkJnQWhxUVFFMkFnQWdBRUYvTmdMNEJ5QUFRWVFJYWtFQ05nSUFJQUJCZmpZQzlBY2dBRUdJQ0dwQkF6WUNBQ0FBUVgwMkF2QUhJQUJCakFocVFRUTJBZ0FnQUVGOE5nTHNCeUFBUVpBSWFrRUZOZ0lBSUFCQmV6WUM2QWNnQUVHVUNHcEJCallDQUNBQVFYbzJBdVFISUFCQm1BaHFRUWMyQWdBZ0FFRjVOZ0xnQnlBQVFad0lha0VJTmdJQUlBQkJlRFlDM0FjZ0FFR2dDR3BCQ1RZQ0FDQUFRWGMyQXRnSElBQkJwQWhxUVFvMkFnQWdBRUYyTmdMVUJ5QUFRYWdJYWtFTE5nSUFJQUJCZFRZQzBBY2dBRUdzQ0dwQkREWUNBQ0FBUVhRMkFzd0hJQUJCc0FocVFRMDJBZ0FnQUVGek5nTElCeUFBUWJRSWFrRU9OZ0lBSUFCQmNqWUN4QWNnQUVHNENHcEJEellDQUNBQVFYRTJBc0FIUVJBaEFFRVFJUUVEUUNBQVFRSjBJQUpxSUFFMkFnQkJBQ0FBYTBFQ2RDQUNha0VBSUFGck5nSUFJQUVnQUVFQmFpSUFRUUZ4UVFGemFpRUJJQUJCTUVjTkFBdEJBQ0FCYXlFRFFUQWhBQU5BSUFCQkFuUWdBbW9nQVRZQ0FFRUFJQUJyUVFKMElBSnFJQU0yQWdBZ0FFRUJhaUlBUVlBQ1J3MEFDd3RCQVFKL1FRd1FSQ0lDQkVBZ0FpQUJJQUJCQW5Sc0VFUWlBellDQUNBREJFQWdBaUFBTmdJRUlBSWdBVFlDQ0FVZ0FoQTRRUUFoQWdzRlFRQWhBZ3NnQWd2Y0FRRUNmd0pBSUFBb0FyUUNEUUFDUUNBQUtBSW9RUU5yRGdVQUFRRUJBQUVMSUFBb0FpUkJBMGNOQUNBQUtBSXNRUUpIRFFBZ0FDZ0NlRUVEUncwQUlBQW9BckFDRFFBZ0FDZ0MyQUVpQVNnQ0NFRUNSdzBBSUFFb0FtQkJBVWNOQUNBQktBSzRBVUVCUncwQUlBRW9BZ3hCQWtvTkFDQUJLQUprUVFGSERRQWdBU2dDdkFGQkFVY05BQ0FCS0FJa0lnSWdBQ2dDeEFKSERRQWdBU2dDZkNBQ1J3MEFJQUVvQXRRQklBSkhEUUFnQVNnQ0tDSUNJQUFvQXNnQ1J3MEFJQUlnQVNnQ2dBRkdCSDhnQWlBQktBTFlBVVlGUVFBTER3dEJBQXZqQmdFR2Z3SkFJQUFvQXRRQ0lnRkJBVVlFUUNBQUlBQW9BdGdDSWdFb0FodzJBdWdDSUFBZ0FTZ0NJQ0lETmdMc0FpQUJRUUUyQWpnZ0FVRUJOZ0k4SUFGQlFHdEJBVFlDQUNBQklBRW9BaVEyQWtRZ0FVRUJOZ0pJSUFNZ0FTZ0NEQ0lDRUU0aEF5QUJJQU1nQWlBREd6WUNUQ0FBUVFFMkF2QUNJQUJCQURZQzlBSkJBU0VCQlNBQlFYOXFRUU5MQkVBZ0FDZ0NBQ0lEUVJzMkFoUWdBeUFCTmdJWUlBQW9BZ0JCQkRZQ0hDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQWdBQ2dDSENBQUtBSzhBaUFBS0FLc0Eyd1FhRFlDNkFJZ0FDQUFLQUlnSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0xzQWlBQVFRQTJBdkFDSUFBb0F0UUNRUUJNRFFGQkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWlBaWdDQ0NFRUlBSWdCRFlDT0NBQ0lBSW9BZ3dpQlRZQ1BDQUNRVUJySUFRZ0JXd2lBVFlDQUNBQ0lBUWdBaWdDSkd3MkFrUWdBaUFFSUFJb0Fod2dCQkJPSWdRZ0JFVWJOZ0pJSUFJZ0FpZ0NJQ0FGRUU0aUFpQUZJQUliTmdKTUlBRWdCbXBCQ2tvRVFDQUFLQUlBSWdKQkRqWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBRkJBRW9FUUFOQUlBRkJmMm9oQWlBQUlBQW9BdkFDSWdSQkFXbzJBdkFDSUFCQjlBSnFJQVJCQW5ScUlBTTJBZ0FnQVVFQlNnUkFJQUloQVF3QkN3c0xJQU5CQVdvaUF5QUFLQUxVQWlJQlNBUkFJQUFvQXZBQ0lRWU1BUXNMSUFGQkFFd05BUXRCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NVRVVFUUNBQVFhUUJhaUFDS0FJUUlnRkJBblJxSVFRQ1FBSkFJQUZCQTBzTkFDQUVLQUlBUlEwQURBRUxJQUFvQWdBaUJVRTJOZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBUVFGQmhBRWdBVUUvY1VIS0FXb1JCQUFpQVNBRUtBSUFRWVFCRUV3YUlBSWdBVFlDVUNBQUtBTFVBaUVCQ3lBRFFRRnFJZ01nQVVnTkFBc2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUR3c2dBQ2dDMUFNb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxFQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9Bc3dESUFBb0FzUURLQUlFTmdJQUM4b0JBUUovSXdZaEJDTUdRVEJxSkFZZ0JFRVlhaUlGUVFnMkFnUWdCVUVCTmdJSUlBVWdBRFlDQUNBRVFReHFJZ0FnQXpZQ0JDQUFRUUUyQWdnZ0FDQUJOZ0lBSUFRZ0F6WUNCQ0FFUVFnMkFnZ2dCQ0FDTmdJQUlBUVF1d1VpQWdSQUlBSWdCQkNqQXlJQkJFQWdBaUFBRUtNRElnTUVRQ0FCS0FJQUlBRW9BZ1FpQUNBQUVQWUVSVUVmZEVFZmRVRUFTQVIvUVg4RklBVWdBU0FERUp3REdrRUFDeUVBSUFNUVNRVkJmeUVBQ3lBQkVFa0ZRWDhoQUFzZ0FoQkpCVUYvSVFBTElBUWtCaUFBQzFrQkFYOGdBQ2dDMkFFaUFRUkFJQUVRdndjZ0FDZ0MyQUVRaHdrZ0FFRUFOZ0xZQVFzZ0FFSGtBV29pQVNnQ0FBUkFJQUVRcHdrZ0FVRUFOZ0lBQ3lBQVFjQUJhaUlBS0FJQUJFQWdBQkN6Q3lBQVFRQTJBZ0FMQzNNQkEzOGpCaUVDSXdaQkVHb2tCaUFDUVFocUlRTWdBUkRQQ1NJRUJFQWdBQ0FFRU9FR0lRQWdCQkE0QlNBQ0lBRTJBZ0JCQUVFRFFaR3FBU0FDRUQxQnBNVURLQUlBRUwwQklRQWdBMEduMVFNMkFnQWdBeUFBTmdJRVFRQkJBMEdsdGdFZ0F4QTlRWDhoQUFzZ0FpUUdJQUFMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRYkRFQXlnQ0FDRUNRYkRFQXlBQk5nSUFJQUlFUUVHMHhBTW9BZ0FhSUFJUU9BdEJ0TVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUWJERUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnVNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUd3eEFNb0FnQWdCVUVDZEdwQnVNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFiREVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0d3eEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQnNNUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUWJERUF5Z0NBQ0VBUWJERUEwRUFOZ0lBSUFBRVFFRzB4QU1vQWdBYUlBQVFPQXRCdE1RRFFRQTJBZ0FMQzZvRUFnbC9BbjBqQmlFRkl3WkJJR29rQmlBRlFRUnFJUVFnQlNBQU5nSUFJQUFvQWdBaEF3SkFBa0JCdE1RREtBSUFJZ0ZGSWdrRVFFRUFJUUFNQVFVZ0FTQUJRWDlxSWdoeFJTSUhCSDhnQXlBSWNRVWdBeUFCU1FSL0lBTUZJQU1nQVJCT0N3c2lBRUVDZEVHd3hBTW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUhCSDhnQmlBSWNRVWdCaUFCVHdSL0lBWWdBUkJPQlNBR0N3c2dBRWNOQkFzZ0F5QUNLQUlJUncwQUN3VU1BZ3NMREFFTElBUWdBeUFGRU44R1FjREVBeW9DQUNJS0lBR3psRUc4eEFNb0FnQkJBV3F6SWd0ZElBbHlCRUFDZnlBTElBcVZqUkNTQVNJQ0lBRkJmMm9nQVhGQkFFY2dBVUVEU1hJZ0FVRUJkSElpQUNBQUlBSkpHeERlQmtHMHhBTW9BZ0FpQWtGL2FpSUFJQU54SUFBZ0FuRkZEUUFhSUFNZ0Fra0VmeUFEQlNBRElBSVFUZ3NMSVFBRklBRWhBZ3RCc01RREtBSUFJQUJCQW5ScUtBSUFJZ0VFZnlBRUtBSUFJQUVvQWdBMkFnQWdBU0FFS0FJQU5nSUFJQVFGSUFRb0FnQkJ1TVFES0FJQU5nSUFRYmpFQXlBRUtBSUFOZ0lBUWJERUF5Z0NBQ0FBUVFKMGFrRzR4QU0yQWdBZ0JDZ0NBQ0lIS0FJQUlnQUVRQ0FBS0FJRUlRQWdBaUFDUVg5cUlnRnhCSDhnQUNBQ1R3Ui9JQUFnQWhCT0JTQUFDd1VnQUNBQmNRc2hBRUd3eEFNb0FnQWdBRUVDZEdvZ0J6WUNBQXNnQkFzaUFDZ0NBQ0VDUWJ6RUEwRzh4QU1vQWdCQkFXbzJBZ0FnQUVFQU5nSUFDeUFGSkFZZ0FrRVFhZ3NrQVFGL0lBRW9BZ0FoQWlBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVVFRWFpQUNFSDRMRVFBZ0FTQUFRZjhCY1VHc0Eyb1JBUUFMRWdBZ0FTQUNJQUJCQTNGQnJBVnFFUm9BQ3hJQUlBRWdBaUFBUVQ5eFFiSUZhaEVEQUFzU0FDQUJJQUlnQUVFQmNVR3dCV29SSmdBTDNBTUJDSDhnQUFSQUFrQWdBRUgvLy8vL0Ewc0VRRUVJRUFVaUFSQ0lBU0FCUWJTTEFUWUNBQ0FCUWZqM0FFRVdFQVFMSUFCQkFuUVFVU0VCUVp6RUF5Z0NBQ0VDUVp6RUF5QUJOZ0lBSUFJRVFFR2d4QU1vQWdBYUlBSVFPQXRCb01RRElBQTJBZ0JCQUNFQkEwQWdBQ0FCUndSQVFaekVBeWdDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJwTVFES0FJQUlnRUVRQ0FCS0FJRUlRSWdBQ0FBUVg5cUlnZHhSU0lJQkg4Z0FpQUhjUVVnQWlBQVR3Ui9JQUlnQUJCT0JTQUNDd3NoQlVHY3hBTW9BZ0FnQlVFQ2RHcEJwTVFETmdJQUEwQWdBU0VEQTBBQ1FBTkFBa0FnQXlnQ0FDSUJSUTBHSUFFb0FnUWhBaUFGSUFnRWZ5QUNJQWR4QlNBQ0lBQlBCSDhnQWlBQUVFNEZJQUlMQ3lJRVJnMEFRWnpFQXlnQ0FDQUVRUUowYWlJQ0tBSUFSUTBDSUFFaEFnTkFJQUlvQWdBaUJnUkFJQUVvQWdnZ0JpZ0NDRVlFUUNBR0lRSU1BZ3NMQ3lBRElBWTJBZ0FnQWtHY3hBTW9BZ0FnQkVFQ2RHb29BZ0FvQWdBMkFnQkJuTVFES0FJQUlBUkJBblJxS0FJQUlBRTJBZ0FNQVFzTElBRWhBd3dCQ3dzZ0FpQUROZ0lBSUFRaEJRd0FBQXNBQ3dzRlFaekVBeWdDQUNFQVFaekVBMEVBTmdJQUlBQUVRRUdneEFNb0FnQWFJQUFRT0F0Qm9NUURRUUEyQWdBTEN4TUFJQUJCeUFKcUVGVWdBRUdnQW1vUTVRWUxLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVEUVpTSEFVSFJ0d0pCQVNBQkVBa2dBd3NrQmd2Z0hRSWFmd0YrSXdZaEJDTUdRZEFTYWlRR0lBUkJrQkpxSVJFZ0JFSHdCbW9oQ0NBRVFhQUdhaUVQSUFSQjBBVnFJUkFnQkVHQUJXb2hFaUFFUWJBRWFpRVRJQVJCTUdvaEZ5QUVJUllDZndKL0FuOENRQUpBQWtBQ1FBSkFBa0FDUUNBQVFZUUdhdzZMRUFFRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUNBd1VGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFRRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUFGQ3lBQ0lSRkJvQkVoQ1VHZ0RTRUxRZmdBSVExQi93QWhERUVKSVJSQndBQU1Cd3RCNEF3aENVR2dDeUVMUVEwaERVRUpJUUJCQVNFQ1FROE1CUXRCNEF3aENVR2dDeUVMUVEwaERVRUZJUUJCQWlFQ1FROE1CQXRCRENFQVFRSWhBZ3dDQzBFSElRQkJBeUVDREFFTFFYOE1Bd3RCNEFzaENVR2dDaUVMUVJZaERVRWZDeUVNUVFBaEJBTi9JQVFnRFVZRWZ5QUNJUlFnQUFVZ0JDQVJhaUFCcDBFQmNUb0FBQ0FFUVFGcUlRUWdBVUlCaUNFQkRBRUxDd3NoR0NBVVFRRjBJUlZCQVNFQ0EwQWdBaUFWVEFSQUlBSkJBblFnRTJvaUJrRUFOZ0lBUVFBaEJFRUFJUUFEUUNBRUlBMUlCRUFnQkNBUmFpd0FBQVJBSUFZZ0FpQUViQ0FNRUU5QkFuUWdDMm9vQWdBZ0FITWlBRFlDQUFzZ0JFRUJhaUVFREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0EyQWdCQkFTQUZJQUFiSVFVZ0FrRUJhaUVDREFFTEN5QUZRUUJISWhrRVFDQVBRUUEyQWdBZ0R5QVRLQUlFSWdVMkFnUWdDRUVBTmdJQUlBaEJBVFlDU0VFQklRQURRQ0FBSUJWSUJFQWdBRUVDZENBSWFrRi9OZ0lBSUFoQnlBQnFJQUJCQW5ScVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBUVFRQTJBZ0FnRUVFQU5nSUVJQkpCZnpZQ0FDQVNRUUEyQWdSQkFDRUVRUUFoQWdOQUFrQWdCRUVCYWlFS0lBVkJmMFlFUUNBRVFRSnFJZ1JCQW5RZ0VHb2dBallDQUVFQUlRQURRQ0FBSUFKTUJFQWdCRUhJQUd3Z0NHb2dBRUVDZEdvZ0NrSElBR3dnQ0dvZ0FFRUNkR29pQlNnQ0FDSUdOZ0lBSUFVZ0JrRUNkQ0FKYWlnQ0FEWUNBQ0FBUVFGcUlRQU1BUXNMQlNBRUlRQURRQ0FBUVg5cUlRWWdBRUVBU2lJSElBQkJBblFnRDJvb0FnQkJmMFp4QkVBZ0JpRUFEQUVMQ3lBSEJFQWdBQ0VHQTBBZ0JrRi9haUlIUVFKMElBOXFLQUlBUVg5SEJFQWdCeUFBSUFCQkFuUWdFbW9vQWdBZ0IwRUNkQ0FTYWlnQ0FFZ2JJUUFMSUFaQkFVb0VRQ0FISVFZTUFRc0xDeUFFUVFKcUlnUkJBblFnRUdvZ0FpQUtJQUJySWhvZ0FFRUNkQ0FRYWlJT0tBSUFhaUlHSUFJZ0Jrb2JJZ1kyQWdCQkFDRUhBMEFnQnlBVlNBUkFJQVJCeUFCc0lBaHFJQWRCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQ3lBRklBeHFJUWNnQUVFQ2RDQVBhaUViSUE0b0FnQWhEa0VBSVFVRFFDQUZJQTVNQkVBZ0FFSElBR3dnQ0dvZ0JVRUNkR29vQWdBaUhFRi9Sd1JBSUFSQnlBQnNJQWhxSUFVZ0dtcEJBblJxSUFjZ0hHb2dHeWdDQUdzZ0RCQlBRUUowSUF0cUtBSUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQWhBQU4vSUFBZ0Frb0VmeUFHQlNBRVFjZ0FiQ0FJYWlBQVFRSjBhaUlGSUFwQnlBQnNJQWhxSUFCQkFuUnFJZ2NvQWdBaURpQUZLQUlBY3pZQ0FDQUhJQTVCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEN5RUNDeUFFUVFKMElCSnFJQW9nQW1zMkFnQWdDaUFWVGcwQUlBUkJBblFnRDJvaUJpQUVRUUowSUJOcUtBSUFJZ0JCZjBZRWYwRUFCU0FBUVFKMElBdHFLQUlBQ3lJQU5nSUFRUUVoQlFOQUlBVWdBa3dFUUNBRUlBVnJRUUowSUJOcUtBSUFJZ2RCZjBjRVFDQUVRY2dBYkNBSWFpQUZRUUowYWlnQ0FDSU9CRUFnQmlBSElBNUJBblFnQ1dvb0FnQnFJQXdRVDBFQ2RDQUxhaWdDQUNBQWN5SUFOZ0lBQ3dzZ0JVRUJhaUVGREFFTEN5QUdJQUJCQW5RZ0NXb29BZ0FpQlRZQ0FDQUNJQlJNQkVBZ0NpRUVEQUlMQ3d0QmZ5QUNJQlJLRFFFYVFRQWhBQU5BSUFBZ0Frd0VRQ0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQVVvQWdCQkFuUWdDV29vQWdBMkFnQWdBRUVCYWlFQURBRUxDMEVCSVFBRFFDQUFJQUpNQkVBZ0FFRUNkQ0FXYWlBRVFjZ0FiQ0FJYWlBQVFRSjBhaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xRUUFoQUVFQklRb0RRQ0FNSUFwT0JFQkJBU0VHUVFFaEJRTkFJQVlnQWt3RVFDQUdRUUowSUJacUlnY29BZ0FpQ1VGL1J3UkFJQWNnQmlBSmFpQU1FRThpQnpZQ0FDQUZJQWRCQW5RZ0Myb29BZ0J6SVFVTElBWkJBV29oQmd3QkN3c2dCVVVFUUNBQVFRSjBJQmRxSUF3Z0NtczJBZ0FnQUVFQmFpRUFDeUFLUVFGcUlRb01BUXNMUVg4Z0FDQUNSdzBCR2tFQUlRQURRQ0FBSUFKSUJFQWdFU0FBUVFKMElCZHFLQUlBYWlJRklBVXNBQUJCQVhNNkFBQWdBRUVCYWlFQURBRUxDd1ZCQUNFRUN5QURRZ0EzQXdCQ0FTRWVJQTBnR0dzaEFFSUFJUUVEUUNBQUlBMUlCRUFnQXlBZUlBQWdFV290QUFDdGZpQUJmQ0lCTndNQUlCNUNBWVloSGlBQVFRRnFJUUFNQVFzTElCa0VmeUFFUVFKMElCQnFLQUlBQlVFQUN3c2hIU0FXSkFZZ0hRdkpDQUlMZndOOEl3WWhEaU1HUVJCcUpBWWdEa0VJYWlFSElBQkZJQU5CQVVoeUJIOGdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFRWDhGQW44Q1FBSkFBa0FnQVE0Q0FBRUNDeUFESUFOc0lnRkJER3dRUkNJS1JRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dBVUVEYkNFTFFRQWhCMEVBSVFFRFFDQUhJQXRIQkVBZ0FTQUNJQWRxTEFBQVFYOXpRZjhCY1dvaEFTQUhRUUZxSVFjTUFRc0xJQUVnQ3hCSUlRbEJBQ0VIUVFBaEFRTkFJQUVnQzBjRVFDQUJRUUowSUFwcUlBRWdBbW9zQUFCQmYzTkIvd0Z4SUFscklnZzJBZ0FnQnlBSUlBaHNhaUVISUFGQkFXb2hBUXdCQ3dzZ0I3ZWZJaE1nQTdkRWtTdFE1bnEyK3oraW8wUUFBQUFBQUFBdVFHTUVRQ0FFUVFBMkFnQWdCVUVBTmdJQUlBWkVBQUFBQUFBQThMODVBd0FnQ2hBNFFYNE1Bd3NnQUNnQ0FDRVBRUUFoQ1VGL0lRTkJmeUVCUVg4aEFnTkFJQWtnRDBnRVFDQUFLQUlJSVFjQ1FBSkFBMEFDUUNBRFFRRnFJZ05CQW5RZ0Iyb29BZ0FPQXdFQ0FBSUxDd3dCQ3lBRFFRSjBJUkJCQUNFSEEwQWdCMEVFUndSQUlBY2dFR29oRFVFQUlReEJBQ0VJQTBBZ0NDQUxSd1JBSUF3Z0NFRUNkQ0FLYWlnQ0FDQUFLQUlNSUExQkFuUnFLQUlBSUFoQkFuUnFLQUlBYkdvaERDQUlRUUZxSVFnTUFRc0xJQWNnQWlBTXR5QUFLQUlRSUExQkEzUnFLd01Bb3lBVG95SVVJQkprSWdnYklRSWdCMEVCYWlFSElCUWdFaUFJR3lFU0lBTWdBU0FJR3lFQkRBRUxDd3NnQ1VFQmFpRUpEQUVMQ3lBRklBSTJBZ0FnQkNBQk5nSUFJQVlnRWprREFDQUtFRGhCQUF3Q0N5QURJQU5zSWdwQkFuUVFSQ0lMUlFSQVFRQkJBMEc1MkFJZ0J4QTlRUUVRQVF0QkFDRUhRUUFoQVFOQUlBRWdDa2NFUUNBSElBRWdBbW9zQUFCQmYzTkIvd0Z4YWlFSElBRkJBV29oQVF3QkN3c2dCeUFLRUVnaENVRUFJUWRCQUNFQkEwQWdBU0FLUndSQUlBRkJBblFnQzJvZ0FTQUNhaXdBQUVGL2MwSC9BWEVnQ1dzaUNEWUNBQ0FISUFnZ0NHeHFJUWNnQVVFQmFpRUJEQUVMQ3lBSHQ1OGlFeUFEdDZORUFBQUFBQUFBTGtCakJFQWdCRUVBTmdJQUlBVkJBRFlDQUNBR1JBQUFBQUFBQVBDL09RTUFJQXNRT0VGK0RBSUxJQUFvQWdBaEQwRUFJUWxCZnlFRFFYOGhBVUYvSVFJRFFDQUpJQTlJQkVBZ0FDZ0NDQ0VIQWtBQ1FBTkFBa0FnQTBFQmFpSURRUUowSUFkcUtBSUFEZ01CQWdBQ0N3c01BUXNnQTBFQ2RDRVFRUUFoQndOQUlBZEJCRWNFUUNBSElCQnFJUTFCQUNFTVFRQWhDQU5BSUFnZ0NrY0VRQ0FNSUFoQkFuUWdDMm9vQWdBZ0FDZ0NGQ0FOUVFKMGFpZ0NBQ0FJUVFKMGFpZ0NBR3hxSVF3Z0NFRUJhaUVJREFFTEN5QUhJQUlnRExjZ0FDZ0NHQ0FOUVFOMGFpc0RBS01nRTZNaUZDQVNaQ0lJR3lFQ0lBZEJBV29oQnlBVUlCSWdDQnNoRWlBRElBRWdDQnNoQVF3QkN3c0xJQWxCQVdvaENRd0JDd3NnQlNBQ05nSUFJQVFnQVRZQ0FDQUdJQkk1QXdBZ0N4QTRRUUFNQVF0QmZ3c0xJUkVnRGlRR0lCRUxWQUVCZnlNR0lRTWpCa0V3YWlRR0lBTWdBallDQUNBRFFSQnFJZ0pDQURjQ0FDQUNRUUEyQWdnZ0FpQUJJQUVRWUJCK0lBTkJIR29pQVNBQ0lBTVFvUWNnQUNBQkVLSUhJQUVRUnlBQ0VFY2dBeVFHQzN3QkFYOGpCaUVHSXdaQkVHb2tCaUFBSUFJMkFnQWdBQ0FETmdJRUlBQWdCRFlDQ0NBQVFRRTJBaEFnQUNBRUlBVnNOZ0lVSUFaQkFEWUNBQ0FHUVFScUlBWXNBQXc2QUFBZ0JrRUlhaUFHS0FJQU5nSUFJQUJCR0dvZ0FSQ2xCeUFBSUFWQkFFZ0VmeUFDRUxrRElBTnNCU0FGQ3pZQ0RDQUdKQVlMYWdFQ2Z5TUdJUUVqQmtFUWFpUUdBa0FDUUFKQUFrQWdBRUVCYXc0Q0FBRUNDeUFBSVFJTUFndEJCQ0VDREFFTFFSQVFCU0VBSUFGQ0FEY0NBQ0FCUVFBMkFnZ2dBVUhrb0FKQjVLQUNFR0FRZmlBQUlBRVFoZ0lnQUVHSThnQkJCUkFFQ3lBQkpBWWdBZ3NlQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnTFJ3RUNmeU1HSVFFakJrR1FBbW9rQmlBQlFZQUNhaUlDRUJNYUlBRkJnQUpCdkp3Q0lBSVFJaEFnR2lBQVFnQTNBZ0FnQUVFQU5nSUlJQUFnQVNBQkVHQVFmaUFCSkFZTE9nRUNmeU1HSVFJakJrRVFhaVFHSUFFZ0FDZ0NBR3doQXlBQ1FRQTZBQUFnQUVFRWFpQURJQUlRcmdjZ0FFRVFhaUFCRU5FRElBSWtCZ3ROQVFKL0lBQW9BZ3dFUUNBQUtBSUlFTDRESUFCQkFEWUNDQ0FBS0FJRUlRSURRQ0FCSUFKSEJFQWdBQ2dDQUNBQlFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dBRUVBTmdJTUN3c2RBUUovQTBBZ0FBUkFJQUFvQWdBaEFpQUFFRGdnQWlFQURBRUxDd3VIQWdFSGZ5TUdJUWNqQmtFUWFpUUdJQUlvQWdBaUJpQUFLQUlBSWdocklRQWdBVUVDVGdSQUlBRkJmbXBCQWhBNUlna2dBRUVEZFU0RVFDQUFRUUoxUVFGeUlnTkJBM1FnQ0dvaUJDRUFJQU5CQVdvaUJTQUJTQVJBSUFVZ0F5QUVJQVJCQ0dvaUJCREJBU0lGR3lFRElBUWdBQ0FGR3lFQUN5QUFJQVlRd1FGRkJFQWdCeUFHS1FJQU53TUFBMEFDUUNBR0lBQWlCaWtDQURjQ0FDQUNJQUEyQWdBZ0NTQURTQTBBSUFOQkFYUkJBWElpQTBFRGRDQUlhaUlFSVFBZ0EwRUJhaUlGSUFGSUJFQWdCU0FESUFRZ0JFRUlhaUlFRU1FQklnVWJJUU1nQkNBQUlBVWJJUUFMSUFBZ0J4REJBVVVOQVFzTElBWWdCeWtEQURjQ0FBc0xDeUFISkFZTENBQWdBRUg4QUdvTFhRRUJmMEgvLy8vL0FTQUJTUVJBRUFBTElBRkIvLy8vL3dGTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkEzUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBM1FnQW1vMkFnZ0xDeEFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ0xiUUFnQUNvQ0FDQUJLZ0lBbENBQUtnSUVJQUVxQWdTVWtpQUFLZ0lJSUFFcUFnaVVraUFBS2dJTUlBRXFBZ3lVa2lBQUtnSVFJQUVxQWhDVWtpQUFLZ0lVSUFFcUFoU1VraUFBS2dJWUlBRXFBaGlVa2lBQUtnSWNJQUVxQWh5VWtpQUFLZ0lnSUFFcUFpQ1VrZ3ZWQWdFSmZTQUZJQVlxQWdBZ0J5b0NBSklnQ0NvQ0FKSWdDU29DQUpKREFBQ0FQcFFpQ2pnQ0FDQUZJQVlxQWdRZ0J5b0NCSklnQ0NvQ0JKSWdDU29DQkpKREFBQ0FQcFFpQ3pnQ0JDQUdLZ0lBSUFxVElnMGdEWlFnQmlvQ0JDQUxreUlPSUE2VWtwRWdCeW9DQUNBS2t5SVBJQStVSUFjcUFnUWdDNU1pRUNBUWxKS1JraUFJS2dJQUlBcVRJaEVnRVpRZ0NDb0NCQ0FMa3lJU0lCS1VrcEdTSUFrcUFnQWdDcE1pQ2lBS2xDQUpLZ0lFSUF1VElnc2dDNVNTa1pKREFBQ0FQcFFpREVNQUFBQUFXd1IvUVFBRklBUkRBQUNBUHlBTWxidEV6VHQvWnA2ZzlqK2l0aUlNT0FJQUlBQWdEU0FNbERnQ0FDQUFJQTRnQkNvQ0FKUTRBZ1FnQVNBUElBUXFBZ0NVT0FJQUlBRWdFQ0FFS2dJQWxEZ0NCQ0FDSUJFZ0JDb0NBSlE0QWdBZ0FpQVNJQVFxQWdDVU9BSUVJQU1nQ2lBRUtnSUFsRGdDQUNBRElBc2dCQ29DQUpRNEFnUkJBUXNMREFBZ0FDQUJLUUlBTndJQUN5b0FJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFFRVFDQUFJQUVRd1FNZ0FDQUJFTm9IQ3d0cEFRUjlJQUFxQWhBZ0FDb0NGQ0FBS2dJY0lBQXFBaUFRZ0FFaEJDQUFLZ0lNSUFBcUFoUWdBQ29DR0NBQUtnSWdFSUFCSVFJZ0FDb0NEQ0FBS2dJUUlBQXFBaGdnQUNvQ0hCQ0FBU0VESUFRZ0FDb0NBSlFnQWlBQUtnSUVsSk1nQXlBQUtnSUlsSklMdGdJQkFYMGdBUkRIQXlJRGl5QUNYd1IvUVFBRklBQkRBQUNBUHlBRGxTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJY0lBRXFBaUFRZ0FHVU9BSUFJQUFnQWlBQktnSUlJQUVxQWdRZ0FTb0NJQ0FCS2dJY0VJQUJsRGdDQkNBQUlBSWdBU29DQkNBQktnSUlJQUVxQWhBZ0FTb0NGQkNBQVpRNEFnZ2dBQ0FDSUFFcUFoUWdBU29DRENBQktnSWdJQUVxQWhnUWdBR1VPQUlNSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DR0NBQktnSWdFSUFCbERnQ0VDQUFJQUlnQVNvQ0NDQUJLZ0lBSUFFcUFoUWdBU29DREJDQUFaUTRBaFFnQUNBQ0lBRXFBZ3dnQVNvQ0VDQUJLZ0lZSUFFcUFod1FnQUdVT0FJWUlBQWdBaUFCS2dJRUlBRXFBZ0FnQVNvQ0hDQUJLZ0lZRUlBQmxEZ0NIQ0FBSUFJZ0FTb0NBQ0FCS2dJRUlBRXFBZ3dnQVNvQ0VCQ0FBWlE0QWlCQkFRc0xpd0lCQlg4akJpRUlJd1pCRUdva0JpQUZFR2toQlNBQUlBUW9BZ1FnQkNnQ0FHdEJBM1VRZ0FJZ0NFRUVhaUVLQTBBZ0JpQUVLQUlFSUFRb0FnQWlCMnRCQTNWSkJFQWdDQ0FLSUFFZ0F5Z0NBQ0lKSUFaQkEzUWdCMm9vQWdRaUIwRVViR29xQWdBZ0IwRVViQ0FKYWlvQ0JCQzlBaUFJS2dJQUlBSW9BZ0FnQkNnQ0FDQUdRUU4wYWlnQ0FFRVViR29xQWdDVEVHa2dDaW9DQUNBQ0tBSUFJQVFvQWdBZ0JrRURkR29vQWdCQkZHeHFLZ0lFa3hCcGtpQUZYd1JBSUFRb0FnQWdCa0VEZEdvaEJ5QUFLQUlFSWdrZ0FDZ0NDRVlFUUNBQUlBY1FsZ0VGSUFrZ0J5a0NBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUxDeUFHUVFGcUlRWU1BUXNMSUFna0JndnBBZ0lKZndGOUl3WWhCeU1HUVVCckpBWWdCMEVzYWlJTElBTW9BZ1FnQXlnQ0FHdEJBM1VReGdNZ0IwRWdhaUlNSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQXlnQ0JDQURLQUlBSWdOclFRTjFJUTBnQVNnQ0FDRU9JQXdvQWdBaENTQUNLQUlBSVFJZ0N5Z0NBQ0VLQTBBZ0NDQU5Sd1JBSUFoQkEzUWdDV29nQ0VFRGRDQURhaWdDQUNJQlFSUnNJQTVxS0FJQU5nSUFJQWhCQTNRZ0NXb2dBVUVVYkNBT2FpZ0NCRFlDQkNBSVFRTjBJQXBxSUFoQkEzUWdBMm9vQWdRaUFVRVViQ0FDYWlnQ0FEWUNBQ0FJUVFOMElBcHFJQUZCRkd3Z0Ftb29BZ1EyQWdRZ0NFRUJhaUVJREFFTEN5QUhRd0FBQUFBNEFnQWdCME1BQUFBQU9BSUVJQWNnQmJJaUVEZ0NDQ0FIUXdBQUFBQTRBZ3dnQnlBUU9BSVFJQWNnQnJJaUVEZ0NGQ0FIUXdBQUFBQTRBaGdnQnlBUU9BSWNJQVFnQUNBS0lBa2dEU0FIRVB3SEJIOGdBQ0FGSUFZUSt3Y0ZRUUFMSVE4Z0RCQlZJQXNRVlNBSEpBWWdEd3Y4QXdFS2Z5TUdJUVFqQmtFd2FpUUdJQVJCSUdvaEJTQUJJQVJCREdvZ0JFRUlhaUFFUVFScUlBUWdBeERYQnlBQUlBQW9BZ0EyQWdRZ0FVSHdBR29oRFNBQkVNQURJZ01vQWdRZ0F5Z0NBR3RCQW5VaUN5QUNLQUlFSUFJb0FnQnJRUU4xU3dSQUlBVkJ3TWdEUVphSUFoQTNRWkQ1QVJBM1FlK2lBaEEzUWRZQ0VENUI5cUlDRURkQnhJZ0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVVRUENBRElBWVFRQ0FERUQ4UUFBc2dCRUVjYWlFR0lBUkJHR29oQ0NBRVFSUnFJUWtnQkVFUWFpRUtJQTBvQWdBaEEwRUFJUVVEUUNBRklBdElCRUFnQVNBR0lBZ2dDU0FLSUFNcUFnQWdBeW9DQkNBREtnSUlJQU1xQWd3Z0JDZ0NETGRFQUFBQUFBQUE0RCtndGlBRUtBSUl0MFFBQUFBQUFBRGdQNkMySUFRb0FnUzNSQUFBQUFBQUFPQS9vTFlnQkNnQ0FMZEVBQUFBQUFBQTREK2d0aERXQnlBR0tnSUFRd0FBZ0Q5ZElBZ3FBZ0JEQUFDQVAxMXhJQWtxQWdCREFBQ0FQMTF4SUFvcUFnQkRBQUNBUDExeEJFQWdBUkRBQXlnQ0FDQUZRUUowYWlnQ0FFRURkQ0FDS0FJQWFpRUhJQUFvQWdRaURDQUFLQUlJUmdSQUlBQWdCeENXQVFVZ0RDQUhLUUlBTndJQUlBQWdBQ2dDQkVFSWFqWUNCQXNMSUFOQkVHb2hBeUFGUVFGcUlRVU1BUXNMSUFRa0JndlBBd0lPZndGOUl3WWhDU01HUVNCcUpBWWdDVUVFYWlFUElBbEJGR29pRENBREtBSUVJQU1vQWdCclFRRjFFSVFDSUFsQkNHb2lEU0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQU1vQWdRZ0F5Z0NBQ0lRYTBFRGRTRVJJQUVvQWdBaEFTQUNLQUlBSVFJZ0RDZ0NBQ0VTSUEwb0FnQWhFd05BSUFvZ0VVY0VRQ0FLUVFOMElCQnFLQUlFSVFzZ0NrRUNkQ0lVUVFKMElCSnFJZ2dnQ2tFRGRDQVFhaWdDQUNJT1FSUnNJQUZxS0FJQU5nSUFJQWdnRGtFVWJDQUJhaWdDQkRZQ0JDQUlJQTVCRkd3Z0FXb29BZ2cyQWdnZ0NDQU9RUlJzSUFGcUtBSU1OZ0lNSUJSQkFuUWdFMm9pQ0NBTFFSUnNJQUpxS0FJQU5nSUFJQWdnQzBFVWJDQUNhaWdDQkRZQ0JDQUlJQXRCRkd3Z0Ftb29BZ2cyQWdnZ0NDQUxRUlJzSUFKcUtBSU1OZ0lNSUFwQkFXb2hDZ3dCQ3dzZ0FDQUVzaUlXUTgzTVRENlVJQmFTSWhhTUlCWWdCYklpRmtQTnpFdytsQ0FXa2lJV2pDQVdFTU1ISUFBZ0JrRUJkYkk0QWdnZ0FDQUhRUUYxc2pnQ0RDQUFJQVkyQWdBZ0FDQUhOZ0lFSUFBZ0RDZ0NBQ0FOS0FJQUlBTW9BZ1FnQXlnQ0FHdEJBM1VRd2djZ0FDQVBJQWtRdVFkQmZ5QUpLQUlBSUE4cUFnQkRBQUJBUUYwYklSVWdEUkJWSUF3UVZTQUpKQVlnRlF0R0FBTkFJQUVnQWtjRVFDQUFLQUlFSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBQWdBQ2dDQkVFVWFqWUNCQ0FCUVJScUlRRU1BUXNMQ3lnQUlBSWdBV3NpQWtFQVNnUkFJQUFvQWdRZ0FTQUNFRXdhSUFBZ0FDZ0NCQ0FDYWpZQ0JBc0xPQUVDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9DQUFRUUEyQWdnZ0FFRUFOZ0lFSUFCQkFEWUNBQXNMTXdBZ0FpQUJheUlDUVFCS0JFQWdBa0VNRUVnaEF5QUFLQUlFSUFFZ0FoQk1HaUFBSUFBb0FnUWdBMEVNYkdvMkFnUUxDMXNCQTM4Z0FDZ0NCQ0lESUFBb0FnQWlCR3RCRkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRaGdnRklBSWdBVXNFUUNBQlFSUnNJQVJxSVFJZ0F5RUJBMEFnQVNBQ1J3UkFJQUZCYkdvaEFRd0JDd3NnQUNBQ05nSUVDd3NMQ2dBZ0FFSGdBRFlDQUFzOUFRSi9JQUFvQWdBaUFnUkFJQUFvQWdRaEFRTkFJQUVnQWtjRVFDQUJRWGhxSVFFTUFRc0xJQUFnQWpZQ0JDQUFLQUlJR2lBQUtBSUFFRGdMQ3hjQUlBQkNBRGNDQUNBQVFnQTNBZ2dnQUVFQk9nQVFDeXNCQVg4Z0FDZ0NCQ0VDQTBBZ0FoRFVBeUFBSUFBb0FnUkJGR29pQWpZQ0JDQUJRWDlxSWdFTkFBc0xYUUVCZjBITW1iUG1BQ0FCU1FSQUVBQUxJQUZCekptejVnQkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJGR3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCRkd3Z0FtbzJBZ2dMQ3drQUlBQWdBVFlDQ0FzVEFDQUFRUWcyQWdRZ0FFRU1ha0VJRUljQkN3c0FJQUJCQUNBQkVFVWFDL3dEQWdWL0Fud2pCaUVHSXdaQm9BSnFKQVlnQmtHQUFtb2hDQ0FHUWNBQmFpSUVJQUZCcUFGcVFRUWdBU2dDREVFQVNBUi9JQUZCRkdvRklBRW9BZ2hCQUVnRWZ5QUJRUmhxQlNBQlFSQnFDd3NvQWdBaUJXdEJCQkJQSWdkQkJIUnFLd01BT1FNQUlBUWdBU0FIUVFSMGFpc0RzQUU1QXdnZ0JDQUJRYWdCYWtFRklBVnJRUVFRVHlJSFFRUjBhaXNEQURrREVDQUVJQUVnQjBFRWRHb3JBN0FCT1FNWUlBUWdBVUdvQVdwQkJpQUZhMEVFRUU4aUIwRUVkR29yQXdBNUF5QWdCQ0FCSUFkQkJIUnFLd093QVRrREtDQUVJQUZCcUFGcVFRY2dCV3RCQkJCUElnVkJCSFJxS3dNQU9RTXdJQVFnQVNBRlFRUjBhaXNEc0FFNUF6Z2dCa0hnQUdvaUFTQUNSQUFBQUFBQUFPQy9vaUlKT1FNQUlBRWdBa1FBQUFBQUFBRGdQNklpQWprRENDQUJSQUFBQUFBQUFBQUFPUU1RSUFFZ0Fqa0RHQ0FCSUFJNUF5QWdBVVFBQUFBQUFBQUFBRGtES0NBQklBSTVBekFnQVNBSk9RTTRJQUZCUUd0RUFBQUFBQUFBQUFBNUF3QWdBU0FKT1FOSUlBRWdDVGtEVUNBQlJBQUFBQUFBQUFBQU9RTllJQVpCaUFKcUlnVWdCRFlDQUNBRklBRTJBZ1FnQlVFRU5nSUlJQUFvQWdBZ0JDQUJRUVFnQmhDWUJFRUFTQVI4UkFBQUFBQ0UxNWRCQlNBQUtBSUFJQVVnQmlBRElBZ1E2Z0ZCQUVnaEFFUUFBQUFBaE5lWFFTQUlLd01BSUFBYkN5RUtJQVlrQmlBS0M3OENBQ0FBS0FJQUlBRW9BZ0FRYkNBQUtBSUVJQUVvQWdRUWJHb2dBQ2dDQ0NBQktBSUlFR3hxSUFBb0Fnd2dBU2dDREJCc2FpQUFLQUlRSUFFb0FoQVFiR29nQUNnQ0ZDQUJLQUlVRUd4cUlBQW9BaGdnQVNnQ0dCQnNhaUFBS0FJY0lBRW9BaHdRYkdvZ0FDZ0NJQ0FCS0FJZ0VHeHFJQUFvQWlRZ0FTZ0NKQkJzYWlBQUtBSW9JQUVvQWlnUWJHb2dBQ2dDTENBQktBSXNFR3hxSUFBb0FqQWdBU2dDTUJCc2FpQUFLQUkwSUFFb0FqUVFiR29nQUNnQ09DQUJLQUk0RUd4cUlBQW9BandnQVNnQ1BCQnNhaUFBUVVCcktBSUFJQUZCUUdzb0FnQVFiR29nQUNnQ1JDQUJLQUpFRUd4cUlBQW9Ba2dnQVNnQ1NCQnNhaUFBS0FKTUlBRW9Ba3dRYkdvZ0FDZ0NVQ0FCS0FKUUVHeHFJQUFvQWxRZ0FTZ0NWQkJzYWlBQUtBSllJQUVvQWxnUWJHb2dBQ2dDWENBQktBSmNFR3hxQzBFQkFuOGdBVUVCVGdSQUFrQWdBRUVBTmdJQVFRRWhBZ05BSUFFZ0FrWU5BU0FDUVFKMElBQnFJQU5CQVdvaUF6WUNBQ0FDUVFGcUlRSU1BQUFMQUFzTEN6NEJBbjhnQUNnQ0JDQUFLQUlBSWdSclFRSjFJZ01nQVVrRVFDQUFJQUVnQTJzZ0FoQ2ZDQVVnQXlBQlN3UkFJQUFnQVVFQ2RDQUVhallDQkFzTEM4b0VBUTEvSXdZaEVTTUdRUkJxSkFZZ0VVRUVhaUVTSUFoQkFra2hGQ0FJUVFKR0lSVURRQ0FRSUFWSUJFQWdEa0VJZENBTGFpQVFRYkR4Qkd3Z0JHb29BZ0EyQWdBZ0NTQVFRYkR4Qkd3Z0JHb3JBd2kySUJCQnNQRUViQ0FFYWlzREVMWWdFaUFSRUtZQlFRQk9CRUFnRGtFSWRDQUxhaUFTS2dJQXV6a0RPQ0FPUVFoMElBdHFRVUJySUJFcUFnQzdPUU1BSUJCQnNQRUViQ0FFYWtFY2FpQVFRYkR4Qkd3Z0JHcEIzTGdDYWlBUVFiRHhCR3dnQkdvb0FoZ2dFRUd3OFFSc0lBUnFRWnp4QkdvZ0NTQU9RUWgwSUF0cVFjZ0FhaUFPUVFoMElBdHFRYWdCYWlJUEVLWUlRUUJPQkVBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFZZ0J5QUlJQUFnQVNBQ0lBTWdDU0FQSUFvZ0RrRUlkQ0FMYWtFSWFpSVdJQTVCQ0hRZ0MycEJGR29pRnlBT1FRaDBJQXRxUVNocUloZ2dEa0VJZENBTGFrRU1haUlaSUE1QkNIUWdDMnBCR0dvaUdpQU9RUWgwSUF0cVFUQnFJaE1nRFNBT1FRaDBJQXRxUWZBQmFpQU9RUWgwSUF0cVFmZ0JhaEQrQmlJUFFYcHJEZ2NGQkFNQ0FRQUdCd3RCQWlFUERBVUxRUU1oRHd3RUMwRUVJUThNQXd0QkJTRVBEQUlMUVFraER3d0JDMEVCSVE4TElBNUJDSFFnQzJvZ0R6WUM3QUVMQWtBQ1FDQVVCRUFnRGtFSWRDQUxhaUFXS0FJQU5nSUVJQmdoRXlBWElROE1BUVVnRlFSQUlBNUJDSFFnQzJvZ0dTZ0NBRFlDQkNBYUlROE1BZ3NMREFFTElBNUJDSFFnQzJvZ0R5Z0NBRFlDRUNBT1FRaDBJQXRxSUJNckF3QTVBeUFMSUE1QkFXb2hEZ3NMSUJCQkFXb2hFQXdCQ3dzZ0RDQU9OZ0lBSUJFa0JrRUFDd2dBSUFCQjZBQnFDNjhJQVFoL0l3WWhDU01HUVNCcUpBWWdBRUVNYWlJSEtBSUVJQUFvQW13UXhnRWdCVTRFUUNBQlFRRVFnd0lnQVJERkFTQUZFSWNCUVFBaEFBTkFJQUFnQlVnRVFDQUFRUUowSUFScUtBSUFJUUlnQVJERkFTZ0NBQ0FBUVFKMGFpQUNOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NTUUdEd3NnQ1VFVWFpRUdJQWxDQURjQ0FDQUpRZ0EzQWdnZ0NVR0FnSUQ4QXpZQ0VDQUhJQUlnQXlBRUlBVVFwUWdnQjBFWWFpSU1LQUlFSWdzZ0RDZ0NBQ0lJYTBFQ2RTQUZSd1JBSUFaQndNZ0RRWm54QVJBM1FkSHhBUkEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCMlBJQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNpZ0NBQ2dDSENFTklBcEJDaUFOUVQ5eFFZb0JhaEVDQUNFS0lBWVFQQ0FISUFvUVFDQUhFRDhRQUF0QkFDRUhBa0FDUUFKQUFrQURRQ0FISUFzZ0NHdEJBblZKQkVBZ0IwRUNkQ0FJYWlnQ0FDSUlRWDlHRFFJZ0NDQUZUZzBESUFoQkFuUWdCR29pQ0NnQ0FDQURUZzBFSUFkQkFuUWdCR29oQ3lBSklBZ1F3d0lpQ0NnQ0JDSUtJQWdvQWdoR0JFQWdDQ0FMRUtRSUJTQUtJQXNvQWdBMkFnQWdDQ0FLUVFScU5nSUVDeUFIUVFGcUlRY2dEQ2dDQUNFSUlBd29BZ1FoQ3d3QkN3c0NRQ0FKS0FJTVFRRkdCRUFnQVVFQkVJTUNJQUVReFFFZ0JSQ0hBVUVBSVFBRFFDQUFJQVZPRFFJZ0FFRUNkQ0FFYWlnQ0FDRUNJQUVReFFFb0FnQWdBRUVDZEdvZ0FqWUNBQ0FBUVFGcUlRQU1BQUFMQUFVZ0FSRGZBeUFKS0FJTUVLTUlJQWxCQ0dvaEJBTkFBa0FnQkNnQ0FDSUVSUTBESUFRb0FoQWdCQ2dDREVZTkFFR0FBUkJSSWdVZ0FCRGhBeUFDSUFRb0FnaEI0QUJzYWhDaUNDQUdJQVUyQWdBZ0JVRUFFSU1DSUFFUTN3TWlCU2dDQkNJSElBVW9BZ2hHQkVBZ0JTQUdFTUlDQlNBSElBWW9BZ0EyQWdBZ0JTQUZLQUlFUVFScU5nSUVDeUFBSUFZb0FnQWdBaUFESUFRb0Fnd2lCU0FFS0FJUUlBVnJRUUoxRU9BRERBRUxDeUFHUWNESUEwRzM5QUVRTjBIUjhRRVFOMEh2b2dJUU4wR0RBeEErUWZhaUFoQTNRZVgwQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSkVPa0RJQWtrQmc4TElBWkJ3TWdEUWU3eUFSQTNRZEh4QVJBM1FlK2lBaEEzUWUwQ0VENUI5cUlDRURkQm1mTUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdEQUlMSUFaQndNZ0RRYS96QVJBM1FkSHhBUkEzUWUraUFoQTNRZTRDRUQ1QjlxSUNFRGRCNHZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBRUxJQVpCd01nRFFmcnpBUkEzUWRIeEFSQTNRZStpQWhBM1FlOENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3Q3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBR0VEd2dBQ0FCRUVBZ0FCQS9FQUFMRXdBZ0FDQUFLQUlFSWdCQkFXbzJBZ1FnQUF2RkF3RUlmeUFCQkVBQ1FDQUJRZi8vLy84RFN3UkFRUWdRQlNJQ0VJZ0JJQUpCdElzQk5nSUFJQUpCK1BjQVFSWVFCQXNnQVVFQ2RCQlJJUUlnQUNnQ0FDRURJQUFnQWpZQ0FDQURCRUFnQUNnQ0JCb2dBeEE0Q3lBQUlBRTJBZ1JCQUNFQ0EwQWdBU0FDUndSQUlBQW9BZ0FnQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBQkJDR29oQXlBQUtBSUlJZ0lFUUNBQ0tBSUVJUVFnQVNBQlFYOXFJZ2h4UlNJSkJIOGdCQ0FJY1FVZ0JDQUJUd1IvSUFRZ0FSQk9CU0FFQ3dzaEJpQUFLQUlBSUFaQkFuUnFJQU0yQWdBRFFDQUNJUVFEUUFKQUEwQUNRQ0FFS0FJQUlnSkZEUVlnQWlnQ0JDRURJQVlnQ1FSL0lBTWdDSEVGSUFNZ0FVOEVmeUFESUFFUVRnVWdBd3NMSWdWR0RRQWdBQ2dDQUNBRlFRSjBhaUlES0FJQVJRMENJQUloQXdOQUlBTW9BZ0FpQndSQUlBSW9BZ2dnQnlnQ0NFWUVRQ0FISVFNTUFnc0xDeUFFSUFjMkFnQWdBeUFBS0FJQUlBVkJBblJxS0FJQUtBSUFOZ0lBSUFBb0FnQWdCVUVDZEdvb0FnQWdBallDQUF3QkN3c2dBaUVFREFFTEN5QURJQVEyQWdBZ0JTRUdEQUFBQ3dBTEN3VWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDeUFBUVFBMkFnUUxDenNBUWVDOEF5d0FBRVVFUUVIZ3ZBTVFjQVJBUVlqRUEwRUFOZ0lBUVl6RUEwRUFOZ0lBUVpERUEwRUFOZ0lBUWVDOEF4QnZDd3RCaU1RREN3a0FJQUFnQVRZQ0JBc0pBQ0FBSUFFMkFnQUxVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FaeUdBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDelFBSUFCQkFEWUNBQ0FBUVFBMkFnUWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUJCSkdvUWxBZ0x1UUVCQlg4Z0FTZ0NBQ0VCSUFBb0FnUWlBZ1JBQWtBZ0FpQUNRWDlxSWdSeFJTSUZCSDhnQVNBRWNRVWdBU0FDU1FSL0lBRUZJQUVnQWhCT0N3c2lCa0VDZENBQUtBSUFhaWdDQUNJQUJIOERRQ0FBS0FJQUlnQkZCRUJCQUNFQURBTUxJQUFvQWdRaUF5QUJSZ1JBSUFFZ0FDZ0NDRVlOQXdVZ0JRUkFJQU1nQkhFaEF3VWdBeUFDVHdSQUlBTWdBaEJPSVFNTEN5QURJQVpIQkVCQkFDRUFEQVFMQ3d3QUFBc0FCVUVBQ3lFQUN3VkJBQ0VBQ3lBQUN5a0JBWDhnQUNnQ0NCQzJDQ0FBS0FJQUlRRWdBRUVBTmdJQUlBRUVRQ0FBS0FJRUdpQUJFRGdMQzIwQkFYOGdBRUdVQm1vaUFVRVlhaEJWSUFGQkRHb1FWU0FCRUZVZ0FFR01CV29pQVVIOEFHb1FWU0FCUWZBQWFoQlZJQUZCM0FCcUVNUUhJQUJCL0FScUVGVWdBRUdnQVdvUS9BZ2dBRUhjQUdvUXh3SWdBRUhJQUdvUXVRZ2dBRUZBYXhDVkFTQUFRUXhxRUZVTEtBRUJmeUFBUVFScUVPa0RJQUFvQWdBaEFTQUFRUUEyQWdBZ0FRUkFJQUVRNmdNZ0FSQTRDd3V3QndJSGZ3RjhRY1lBSVFaQndJUTlJUWNnQTBFQlJpSUxCRUJCeGdCQkJCQTVJUVpCd0lROVFRUVFPU0VISUFCQkFoQTVJUUFnQVVFQ0VEa2hBUXNnQlVFQU5nSUFJQUJCZm1vaENDQUJRWDVxSVFrZ0FrR1FnTWdBYWlFTVFRQWhBUUpBQWtBRFFBSkFJQUVnQWlnQ0NFNE5BaUFDUVF4cUlBRkJBblJxSWdNb0FnQWlDaUFHU0NBS0lBZEtja1VFUUNBQ1FZeUFDR29nQVVFRWRHb2lDaWdDQUVFQlJ3UkFJQUlnQVVFRWRHcEJrSUFJYWlnQ0FDQUlSd1JBSUFJZ0FVRUVkR3BCbElBSWFpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQm1JQUlhaWdDQUNBSlJ3UkFJQUlvQWdBZ0FDQU1JQUZCQVdvZ0NpQUZLQUlBUWJEeEJHd2dCR29RdmdoQkFFNEVRQ0FES0FJQUlBVW9BZ0JCc1BFRWJDQUVhaEMzQ0VFQVRnUkFJQVVvQWdCQnNQRUViQ0FFYWlBREtBSUFOZ0lBSUFVb0FnQWlBMEd3OFFSc0lBUnFJQUpCa0lBb2FpQUJRUVIwYWlzREFEa0RDQ0FEUWJEeEJHd2dCR29nQWlBQlFRUjBha0dZZ0NocUt3TUFPUU1RSUFVZ0EwRUJhaUlETmdJQUlBTkJQRVlFUUVFOElRQU1DQXNMQ3dzTEN3c0xJQUZCQVdvaEFRd0JDd3NNQVFzZ0JTZ0NBQ0VBQzBFQUlRRURRQ0FCSUFCSUJFQWdBVUd3OFFSc0lBUnFJUVlnQVVHdzhRUnNJQVJxSVFjZ0FVR3c4UVJzSUFScUlRTWdBVUVCYWlJQklRSURRQ0FDSUFCSUJFQWdCaXNEQ0NBQ1FiRHhCR3dnQkdvckF3aWhJZzBnRGFJZ0J5c0RFQ0FDUWJEeEJHd2dCR29yQXhDaElnMGdEYUtnSVEwZ0F5Z0NBQ0lBSUFKQnNQRUViQ0FFYWlJSUtBSUFJZ2xLQkVBZ0RTQUFRUVFRT2JkakJFQWdDRUVBTmdJQUN3VWdEU0FKUVFRUU9iZGpCRUFnQTBFQU5nSUFDd3NnQWtFQmFpRUNJQVVvQWdBaEFBd0JDd3NNQVFzTFFRQWhBZ05BSUFJZ0FFZ0VRQ0FDUWJEeEJHd2dCR29vQWdCRkJFQWdBaUVCSUFBaEF3TkFJQUZCQVdvaUFDQURTQVJBSUFGQnNQRUViQ0FFYWlBQVFiRHhCR3dnQkdwQnNQRUVFRXdhSUFBaEFTQUZLQUlBSVFNTUFRc0xJQVVnQTBGL2FpSUFOZ0lBQ3lBQ1FRRnFJUUlNQVFzTElBc0VRQUpBUVFBaEFRTkFJQUVnQUU0TkFTQUVJQVFvQWdCQkFuUTJBZ0FnQkNBRUt3TUlSQUFBQUFBQUFBQkFvamtEQ0NBRUlBUXJBeEJFQUFBQUFBQUFBRUNpT1FNUUlBUW9BaGdoQWtFQUlRQURRQ0FBSUFKSUJFQWdCRUVjYWlBQVFRSjBhaUlESUFNb0FnQkJBWFEyQWdBZ0JFSGN1QUpxSUFCQkFuUnFJZ01nQXlnQ0FFRUJkRFlDQUNBQVFRRnFJUUFNQVFzTElBUkJzUEVFYWlFRUlBRkJBV29oQVNBRktBSUFJUUFNQUFBTEFBc0xRUUFMRWdBZ0FFSDhoUUUyQWdBZ0FFRUVhaEJIQzBnQkFYOGpCaUVESXdaQklHb2tCaUFESUFBb0FqZ2dBaWdDQUNBQ0tBSUVJQUlvQWdnZ0FpZ0NEQkM0QXlBQUlBTWdBaERnQVNBQUlBRWdBeERnQVNBREVOMEJJQU1rQmd1TEF3RUVmd0pBQWtBQ1FBSkFJQUFvQWhnT0F3QUFBUUlMSUFBb0Fpd2hBZ05BSUFFZ0FrNE5BeUFBSUFGQkNIUnFJZ01vQWpSQmYwb0VRQ0FBSUFGQkNIUnFLd05RUkFBQUFBQUFBT0EvWXdSQUlBQWdBVUVJZEdwQmZ6WUNPQ0FEUVg4MkFqUWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTElBRkJBV29oQVF3QUFBc0FDeUFBS0FJc0lRSURRQ0FCSUFKT0RRSWdBQ0FCUVFoMGFpSURLQUkwUVg5S0JFQWdBQ0FCUVFoMGFpc0RVRVFBQUFBQUFBRGdQMk1FUUNBQUlBRkJDSFJxUVg4MkFqd2dBMEYvTmdJMElBQWdBVUVJZEdwQkJqWUNuQUlMQ3lBQlFRRnFJUUVNQUFBTEFBc2dBQ2dDTENFREEwQWdBU0FEVGcwQklBQWdBVUVJZEdvaUFpZ0NPRUYvU2dSL0lBQWdBVUVJZEdvckExaEVBQUFBQUFBQTREOWpCSDhnQWtGL05nSTRRUUFGUVFFTEJVRUJDeUVDSUFBZ0FVRUlkR29pQkNnQ1BFRi9TZ1JBSUFBZ0FVRUlkR29yQTJCRUFBQUFBQUFBNEQ5akJFQWdCRUYvTmdJOElBSkZCRUFnQUNBQlFRaDBha0VHTmdLY0Fnc0xDeUFCUVFGcUlRRU1BQUFMQUFzTEN3QWdBRU1BQUFBL2tvNExEUUFnQUJEU0FVTVljakUvbFF1M0F3SURmd045SUFBb0FnQWlCQ29DQUNJSElBRW9BZ0FpQXlvQ0FDSUdYUVIvUVFFRklBWWdCMTBFZjBFQUJTQUVLQUlFSUFNb0FnUkpDd3NoQVNBR0lBSW9BZ0FpQWlvQ0FDSUlYUVIvUVFFRklBZ2dCbDBFZjBFQUJTQURLQUlFSUFJb0FnUkpDd3NoQUFKL0lBRUVmeUFBQkVBZ0JDQUlPQUlBSUFJZ0J6Z0NBQ0FFS0FJRUlRQWdCQ0FDS0FJRU5nSUVJQUlnQURZQ0JFRUJEQUlMSUFRZ0JqZ0NBQ0FESUFjNEFnQWdCQ2dDQkNFRklBUWdBeWdDQkRZQ0JDQURJQVUyQWdRZ0J5QUNLZ0lBSWdaZEJFQWdBa0VFYWlFQUlBSW9BZ1FoQVFWQkFTQUdJQWRkRFFJYVFRRWdCU0FDUVFScUlnQW9BZ0FpQVU4TkFob0xJQU1nQmpnQ0FDQUNJQWM0QWdBZ0F5QUJOZ0lFSUFBZ0JUWUNBRUVDQlNBQUJIOGdBeUFJT0FJQUlBSWdCamdDQUNBREtBSUVJUUFnQXlBQ0tBSUVOZ0lFSUFJZ0FEWUNCQ0FFS2dJQUlnY2dBeW9DQUNJR1hRUkFJQVJCQkdvaEFDQURLQUlFSVFFZ0JDZ0NCQ0VDQlVFQklBWWdCMTBOQXhwQkFTQUVRUVJxSWdBb0FnQWlBaUFES0FJRUlnRlBEUU1hQ3lBRUlBWTRBZ0FnQXlBSE9BSUFJQUFnQVRZQ0FDQURJQUkyQWdSQkFnVkJBQXNMQ3d2dEFRRUZmeUFBS0FJQUlRWWdBQ2dDQkNFREEwQWdBeUFHUndSQUlBRW9BZ1FpQkVGMGFpSUNRUUEyQWdBZ0JFRjRhaUlGUVFBMkFnQWdCRUY4YWlJRVFRQTJBZ0FnQWlBRFFYUnFJZ0lvQWdBMkFnQWdCU0FEUVhocUlnVW9BZ0EyQWdBZ0JDQURRWHhxSWdNb0FnQTJBZ0FnQTBFQU5nSUFJQVZCQURZQ0FDQUNRUUEyQWdBZ0FTQUJLQUlFUVhScU5nSUVJQUloQXd3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRU1iQkJGR2lBQUlBRkJER3dnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFReHNFRVVhSUFBZ0FVRU1iQ0FDYWpZQ0JBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJRUN4TUFJQUFnQVRZQ1ZDQUFRVHhxSUFFUTBRSUxPd0VDZnlBQUtBSUVJUUVEUUNBQUtBSUlJZ0lnQVVjRVFDQUFJQUpCYkdvMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTHFRRUJBMzhnQUNnQ0FDRUVJQUFvQWdRaEFnTkFJQUlnQkVjRVFDQUJLQUlFUVd4cUlnTWdBa0ZzYWlJQ0tRSUFOd0lBSUFNZ0Fpa0NDRGNDQ0NBRElBSW9BaEEyQWhBZ0FTQUJLQUlFUVd4cU5nSUVEQUVMQ3lBQUtBSUFJUUlnQUNBQktBSUVOZ0lBSUFFZ0FqWUNCQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBRW9BZ1EyQWdBTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWN5WnMrWUFTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRVViQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUlJzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFVWJDQUVhallDREF2a0FRRUdmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hBeUFBQkg4Z0FTQUFRZlNHcndOcUlnVW9BZ0JHQkg5QkFBVWdBRUdJaDY4RGFpSUVLQUlBSWdZRVFDQUdFRWtnQkVFQU5nSUFDd0pBQWtBQ1FBSkFJQUVPQlFNQUFBQUJBZ3NnQkNBQUtBSWtJQUFvQWlnUWd3ZzJBZ0FNQWdzZ0FFR0VoNjhEYWtFQk5nSUFJQUJCZ0lldkEycEJBVFlDQUVFRUlRRU1BUXRCQUVFRFFjaWxBU0FDRUQxQkFDRUJDeUFGSUFFMkFnQWdBQ2dDQUVFQlJnUkFJQU1nQVVFQ2RFR0FDR29vQWdBMkFnQkJBRUVEUVpLbUFTQURFRDBMUVFBTEJVRi9DeUVISUFJa0JpQUhDeWdBSUFBZ0FUZ0NBQ0FBSUFJNEFnUWdBQ0FET0FJSUlBQWdCRGdDRENBQUlBVkJBWEU2QUJBTGV3RUJmeU1HSVFJakJrRVFhaVFHSUFBRVFDQUFLQUlBSUFGSEJFQUNRQ0FBSUFFMkFnQWdBVVVFUUNBQVFlU0dwd0pxSWdBb0FnQVFPQ0FBUVFBMkFnQU1BUXNnQUVIa2hxY0NhaUFBS0FJb0lBQW9BaVJzRUVRaUFEWUNBQ0FBUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzTEN3c2dBaVFHQzVvQkFRUi9Jd1loQlNNR1FSQnFKQVlnQWlBQmF5SUVRVzlMQkVBUUFBc2dCRUVMU1FSQUlBQWdCRG9BQ3dVZ0FDQUVRUkJxUVhCeElnWVFVU0lETmdJQUlBQWdCa0dBZ0lDQWVISTJBZ2dnQUNBRU5nSUVJQU1oQUFzZ0FpQUJheUVHSUFBaEF3TkFJQUVnQWtjRVFDQURJQUVRWHlBQlFRRnFJUUVnQTBFQmFpRUREQUVMQ3lBRlFRQTZBQUFnQUNBR2FpQUZFRjhnQlNRR0M0SUJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FBUkFJQUFvQWdBaUFRUkFJQUVvQWdBaUFRUkFJQUVRT0F0QkFDRUJBMEFnQVNBQUtBSUFJZ01vQWd4SUJFQWdBeWdDQ0NBQlFReHNhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dBeWdDQ0JBNElBQW9BZ0FRT0NBQVFRQTJBZ0FMQlVFQVFRTkIzTGdCSUFJUVBRc2dBaVFHQ3hFQUlBQWdBQ2dDQUNBQUtBSUVFS1VKQzY0QkFRVi9Jd1loQlNNR1FSQnFKQVlnQUNBQ0lBTWdCVUVFYWlBRkVLWUpRUUJJQkg5QmZ3VWdCU29DQkNBQktnSU1JZ0tVUXpNenkwR1ZRd0FBQUQrU0VFTWlBRUVBU0FSL1FYOEZJQUVvQWdRaUJ5QUFTZ1IvSUFFb0FnZ2lDTElnQWlBRktnSUFsRU16TTh0QmxaTkRBQUFBUDVJUVF5SUdRWDlLSUFnZ0JrcHhCSDhnQkNBQktBSUFJQUFnQmlBSGJHcHFMQUFBT2dBQVFRQUZRWDhMQlVGL0N3c0xJUWtnQlNRR0lBa0x2UUlDQkg4Q2ZTTUdJUVlqQmtGQWF5UUdJQVpCTkdvaEJ5QUdRVEJxSVFnZ0FBUi9JQUJCQ0dvZ0FTQUdFUG9CSUFCQnVBRnFJZ0FnQmlvQ0RDQUdLZ0lBSUFLVUlBWXFBZ1FnQTVTU2tpQUdLZ0lzSUFZcUFpQWdBcFFnQmlvQ0pDQURsSktTSWd1Vklnb2dCaW9DSENBR0tnSVFJQUtVSUFZcUFoUWdBNVNTa2lBTGxTSURJQVFnQlJCdFFRQklCSDlCZndVZ0FDQUVLZ0lBSUFVcUFnQWdCeUFJRUtZQlFRQklCSDlCZndVZ0NpQUhLZ0lBa3lJQ0lBS1VJQU1nQ0NvQ0FKTWlBaUFDbEpKREFBQ0FQMTVCSDNSQkgzVUxDd1VnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUtJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ2lBQ2xUZ0NBRUVBQ3lFSklBWWtCaUFKQzRZTEFRcC9JQU1vQWhnaENBSkFBa0FDUUNBQ1FRVnJEZ29BQVFFQkFRRUJBQUFBQVFzZ0F5Z0NEQ0VMSUFNb0FoUWhEU0FCUVFGMElRNGdBQ0FFUVFBZ0F5Z0NDR3NpQjBFQmRHb2dBU0FGUVFBZ0F5Z0NFR3NpQlVFQmRHcHNhbW9oQkVFQUlRQkJBQ0VCUVFBaEFnTkFJQVVnRFVvRVFBd0RCU0FISVF3Z0JDRUpBMEFnRENBTFRBUkFJQWd1QVFBaUQwR0FJRWNFUUNBQUlBa3RBQUFpQ21vaEFDQUJJQW9nQ214cUlRRWdBaUFQUWYvL0EzRWdDbXhxSVFJTElBeEJBV29oRENBSVFRSnFJUWdnQ1VFQ2FpRUpEQUVMQ3lBRUlBNXFJUVFnQlVFQmFpRUZEQUVMQUFBTEFBc2dBa0VDU1FSQUlBTW9BaFFoRGtFQUlBTW9BaEJySVFvZ0NDRUpRUUFoQWtFQUlRZ0RRQ0FLSUE1S0JFQWdBaUVBSUFnaEFTQU1JUUlNQXdVZ0F5Z0NEQ0VQUVFBZ0F5Z0NDQ0lIYXlFTElBQWdCQ0FCSUFVZ0NrRUJkR3BzYWlBSFFRRjBhMEVEYkdvaEJ3TkFJQXNnRDB3RVFDQUpMZ0VBSWhCQmdDQkhCRUFnQWlBSExRQUNJQWN0QUFBZ0J5MEFBV3BxUVFNUVNDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQzBFQmFpRUxJQWRCQm1vaEJ5QUpRUUpxSVFrTUFRc0xJQXBCQVdvaENnd0JDd0FBQ3dBTElBSkJBWEpCQTBZRVFDQURLQUlVSVE1QkFDQURLQUlRYXlFS0lBZ2hDVUVBSVFKQkFDRUlBMEFnQ2lBT1NnUkFJQUloQUNBSUlRRWdEQ0VDREFNRklBTW9BZ3doRDBFQUlBTW9BZ2dpQjJzaEN5QUFJQVFnQVNBRklBcEJBWFJxYkdvZ0IwRUJkR3RCQW5ScUlRY0RRQ0FMSUE5TUJFQWdDUzRCQUNJUVFZQWdSd1JBSUFJZ0J5MEFBaUFITFFBQUlBY3RBQUZxYWtFREVFZ2lEV29oQWlBSUlBMGdEV3hxSVFnZ0RDQVFRZi8vQTNFZ0RXeHFJUXdMSUF0QkFXb2hDeUFIUVFocUlRY2dDVUVDYWlFSkRBRUxDeUFLUVFGcUlRb01BUXNBQUFzQUN5QUNRUUp5UVFaR0JFQWdBeWdDRkNFT1FRQWdBeWdDRUdzaENpQUlJUWxCQUNFQ1FRQWhDQU5BSUFvZ0Rrb0VRQ0FDSVFBZ0NDRUJJQXdoQWd3REJTQURLQUlNSVE5QkFDQURLQUlJSWdkcklRc2dBQ0FFSUFFZ0JTQUtRUUYwYW14cUlBZEJBWFJyUVFKMGFpRUhBMEFnQ3lBUFRBUkFJQWt1QVFBaUVFR0FJRWNFUUNBQ0lBY3RBQU1nQnkwQUFTQUhMUUFDYW1wQkF4QklJZzFxSVFJZ0NDQU5JQTFzYWlFSUlBd2dFRUgvL3dOeElBMXNhaUVNQ3lBTFFRRnFJUXNnQjBFSWFpRUhJQWxCQW1vaENRd0JDd3NnQ2tFQmFpRUtEQUVMQUFBTEFBc0NRQUpBQWtBZ0FrRUhhdzRDQUFFQ0N5QURLQUlVSVE1QkFDRUNRUUFnQXlnQ0VHc2hDaUFJSVFjRFFDQUtJQTVLQkVBZ0FpRUFJQWtoQVNBTUlRSU1CQVVnQXlnQ0RDRVBJQWtoQ0VFQUlBTW9BZ2dpQzJzaENTQUFJQVFnQVNBRklBcEJBWFJxYkdvZ0MwRUJkR3RCQVhScUlRc0RRQ0FKSUE5TUJFQWdCeTRCQUNJUVFZQWdSd1JBSUFJZ0N5MEFBU0lOYWlFQ0lBZ2dEU0FOYkdvaENDQU1JQkJCLy84RGNTQU5iR29oREFzZ0NVRUJhaUVKSUF0QkJHb2hDeUFIUVFKcUlRY01BUXNMSUFnaENTQUtRUUZxSVFvTUFRc0FBQXNBQ3lBREtBSVVJUTRnQ0NFSlFRQWhBa0VBSVFoQkFDQURLQUlRYXlFSEEwQWdCeUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lDMnNoQ2lBQUlBUWdBU0FGSUFkQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUtJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFDSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQ2FpRUpJQXBCQVdvaENpQUxRUVJxSVFzTUFRc0xJQWRCQVdvaEJ3d0JDd0FBQ3dBTFFRQWhBRUVBSVFGQkFDRUNDeUFHSUFFZ0FDQUFiQ0FES0FJa0lnRVFPV3NpQkFSL0lBSWdBQ0FES0FJZ2JDQUJFRGxyUWVRQWJDQURLQUljRURsQjVBQnNJQVN5a1JCREVEa0ZRUUFMTmdJQUMwVUJBbjBnQVNvQ0FDQUFLZ0lBSWdPVElBSXFBZ1FnQUNvQ0JDSUVrNVFnQVNvQ0JDQUVreUFDS2dJQUlBT1RsSk5EQUFBQVA1UWlBNHdnQXlBRFF3QUFBQUJkR3d1SURnTUlmd0YrRFgwakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVJSUFaQkRHb2hDU0FHUVFocUlRb2dCa0VFYWlFTElBSkJBRWdFUUVGL0lRRUZBa0FDUUFKQUFrQUNRQUpBSUFJT0JBQUJBZ01FQ3lBRVFRZ1FPYkloRWlBRVFRZHNRUWdRT2JJaEV5QUZRUWdRT2JJaEZDQUZRUWRzUVFnUU9iSWhGU0FFUVFJUU9iSWhGaUFGUVFJUU9iSWhGMEVBSVFKQmZ5RUJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0VsMGdEeUFUWG5KRkJFQWdBa0VZYkNBQWFpb0NGQ0lRSUJSZElCQWdGVjV5UlFSQUlBOGdGcE1pRHlBUGxDQVFJQmVUSWc4Z0Q1U1NJZzhnRVY0RVFDQVBJUkVnQWlFQkN3c0xDeUFDUVFGcUlRSU1BUXNMSUFGQmYwWUVRRUYvSVFFTUJRc2dBVUVZYkNBQWFrRUJOZ0lNREFRTElBUkJDQkE1c2lFU0lBUkJCMnhCQ0JBNXNpRVRJQVZCQ0JBNXNpRVVJQVZCQjJ4QkNCQTVzaUVWUVg4aEFVRUFJUUlEUUFKQUFrQUNRQ0FDUVJoc0lBQnFLQUlNUVg5ckRnSUNBQUVMSUFKQkdHd2dBR29xQWhBaUR5QVNYU0FQSUJOZWNrVUVRQ0FDUVJoc0lBQnFLZ0lVSWhBZ0ZGMGdFQ0FWWG5KRkJFQWdEeUFES2dJQWt5SVBJQStVSUJBZ0F5b0NCSk1pRHlBUGxKSWlEeUFSWGdSQUlBOGhFU0FDSVFFTEN3c0xJQUpCQVdvaEFnd0JDd3NnQVVGL1JnUkFRWDhoQVF3RUN5QUJRUmhzSUFCcVFRRTJBZ3dNQXdzZ0JFRUlFRG15SVJJZ0JFRUhiRUVJRURteUlSTWdCVUVJRURteUlSUWdCVUVIYkVFSUVEbXlJUlZCZnlFQlFRQWhBZ05BQWtBQ1FBSkFJQUpCR0d3Z0FHb29BZ3hCZjJzT0FnSUFBUXNnQWtFWWJDQUFhaW9DRUNJUElCSmRJQThnRTE1eVJRUkFJQUpCR0d3Z0FHb3FBaFFpRUNBVlhpQVFJQlJkY2tVRVFDQVBJQU1xQWdBaUQ1TWdBeW9DRENBREtnSUVJaGFUbENBUUlCYVRJQU1xQWdnZ0Q1T1VreUlQSUErVUlnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQXdzZ0FVRVliQ0FBYWtFQk5nSU1EQUlMSUFNZ0EwRUlhaUFISUFnUTJ3SWdBeUFEUVJCcUlBa2dDaERiQWlBRVFRZ1FPYkloRmlBRVFRZHNRUWdRT2JJaEZ5QUZRUWdRT2JJaEdDQUZRUWRzUVFnUU9iSWhHU0FEUVJocUlRd2dDU29DQUNJVUlBZ3FBZ0FpRXBRaUVTQUtLZ0lBSWhVZ0J5b0NBQ0lUbENJUGswTUFBQUFBWUVVaENTQVBJQkdUUXdBQUFBQmdSU0VOUVFKQkFTQUpHeUVIUVFGQkFpQUpHeUVJUVg4aEFVRUFJUUpEQUFBQUFDRVJBMEFDUUFKQUFrQWdBa0VZYkNBQWFpZ0NERUYvYXc0Q0FnQUJDeUFDUVJoc0lBQnFLZ0lRSWc4Z0ZsMGdEeUFYWG5KRkJFQWdBa0VZYkNBQWFpSUVLZ0lVSWhBZ0dGMGdFQ0FaWG5KRkJFQWdEQ0FQT0FJQUlBTWdCQ2dDRkRZQ0hDQURJQXdnQ3lBR0VOc0NJQXNxQWdBaER3Si9Ba0FnQ1FSL0lBWXFBZ0FoRUF3QkJTQVNJQStVSUJNZ0Jpb0NBQ0lRbEpOREFBQUFBR0FFZjBFQ1FRTWdGU0FQbENBVUlCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQklRcEJBMEVDSUFVYkJRd0NDd3NNQVFzZ0RTQVZJQStVSWhvZ0ZDQVFsQ0liazBNQUFBQUFZRVZ5Qkg4Z0V5QVFsQ0FTSUErVWswTUFBQUFBWUVVZ0d5QWFrME1BQUFBQVlFVnlEUVJCQXlFS0lBZ2hCQ0FIQlVFQlFRTWdFaUFQbENBVElCQ1VrME1BQUFBQVlFVWlCUnNoQkVFQ0lRcEJBMEVCSUFVYkN3c2hCU0FESUFvZ0JTQUVFTEFKSWc4Z0VWNEVmeUFQSVJFZ0FnVWdBUXNoQVFzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUJRUmhzSUFCcVFRRTJBZ3dMREFFTFFRQWhBd0pBQWtBRFFBSkFBa0FDUUNBRFFSaHNJQUZxSWdJb0FneEJmMnNPQWdJQUFRc2dBa0VCTmdJTUlBTkJHR3dnQVdvaEJDQURRUmhzSUFGcUlRVWdBMEVZYkNBQmFpRUhRUUFoQWdOQUFrQUNRQ0FDUVJoc0lBQnFJZ2dvQWd4QmYyc09BZ01BQVFzZ0JDZ0NBQ0FDUVJoc0lBQnFLQUlBUmdSQUlBVW9BZ1FnQWtFWWJDQUFhaWdDQkVZRVFDQUhLQUlJSUFKQkdHd2dBR29vQWdoR0RRY0xDd3NnQWtFQmFpRUNEQUFBQ3dBTElBTkJBV29oQXd3QkN3c01BUXNnQ0VFQk5nSU1JQUloQVF3QkN5QUJRWDgyQWd4QmhNUURRUUJCaE1RREtBSUFJZ0VFZnlBQkJVSG92Z05CQUJBVFFYOXFyVGNEQUVHRXhBTW9BZ0FMUVFGcUlnRWdBVUdBQVVZYk5nSUFRUUFoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFCUlFSQVFYOGhBUXdCQzBIb3ZnTkI2TDRES1FNQVFxMysxZVRVaGYybzJBQitRZ0Y4SWc0M0F3QWdBYklnRGtJaGlLZXlsRU1BQUFBd2xCQkRJUVJCQUNFQ1FRQWhBUU5BQWtBQ1FBSkFBa0FnQWtFWWJDQUFhaUlGS0FJTUlnTkJmMnNPQWdBQkFnc2dBeUVCREFRTElBRWdCRVlOQVNBQlFRRnFJUUVMSUFKQkFXb2hBZ3dCQ3dzZ0JVRUJOZ0lNSUFJaEFRc0xJQVlrQmlBQkM1Z0VBZ0YvRVgwakJpRUVJd1pCTUdva0JpQUFCRUFnQUVFSWFpQUJJQVFRK2dFZ0Fpb0NBQ0lMSUFRcUFnQWlGSlFoRGlBQ0tnSUVJZ1lnQkNvQ0JDSU1sQ0VQSUFZZ0JDb0NGQ0lObENFUUlBUXFBaXdpQ2lBTElBUXFBaUFpQjVRaUNTQUdJQVFxQWlRaUNKUWlCWktTSVJFZ0NpQUxRd0FBSUVHU0loSWdCNVFnQlpLU0lSTWdDaUFKSUFaREFBQWdRWklpQmlBSWxKS1NJUW9nQkNvQ0hDSUhJQXNnQkNvQ0VDSUlsQ0lGSUFZZ0RaU1NraUFLbFNFTElBUXFBZ3dpQ1NBT0lBWWdESlNTa2lBS2xTRU1CU0FDS2dJQUlnc2dBU29DQUNJVWxDRU9JQUlxQWdRaUJpQUJLZ0lFSWd5VUlROGdCaUFCS2dJVUlnMlVJUkFnQVNvQ0xDSUtJQXNnQVNvQ0lDSUhsQ0lKSUFZZ0FTb0NKQ0lJbENJRmtwSWhFU0FLSUF0REFBQWdRWklpRWlBSGxDQUZrcEloRXlBS0lBa2dCa01BQUNCQmtpSUdJQWlVa3BJaENpQUJLZ0ljSWdjZ0N5QUJLZ0lRSWdpVUlnVWdCaUFObEpLU0lBcVZJUXNnQVNvQ0RDSUpJQTRnQmlBTWxKS1NJQXFWSVF3TElBY2dFaUFJbENBUWtwSWdFNVVoRFNBSklCSWdGSlFnRDVLU0lCT1ZJUlVnQnlBRklCQ1NraUFSbFNFSElBa2dEaUFQa3BJZ0VaVWhDU0FWSUFtVElnVWdCWlFnRFNBSGt5SUZJQVdVa2lJSUlBd2dDWk1pQlNBRmxDQUxJQWVUSWdVZ0JaU1NJZ1ZkSVFBZ0F5QUZJQWdnQUJ1UlExeVBJa0NVT0FJQUlBTWdDQ0FGSUFBYmtVTmNqeUpBbERnQ0JDQUVKQVpCQUFzZkFDQUFCSDhnQUNBQklBSWdBeENHQkFWQkFDQUJJQUlnQXhDR0JBc2FDd1lBUVJ3UUFnc0dBRUViRUFJTEJnQkJGeEFDQ3dZQVFSSVFBZ3NJQUVFUEVBSkNBQXNJQUVFTUVBSkJBQXNJQUVFS0VBSkJBQXVNQVFFQ2Z5TUZRUUZxSkFVZ0FDTUZOZ0lBQTBBZ0JDQURTQVJBSUFSQkEzUWdBbW9vQWdCRkJFQWdCRUVEZENBQ2FpTUZOZ0lBSUFSQkEzUkJCR29nQW1vZ0FUWUNBQ0FFUVFOMFFRaHFJQUpxUVFBMkFnQWdBeEFESUFJUEN5QUVRUUZxSVFRTUFRc0xJQUFnQVNBQ0lBTkJBWFFpQUVFQmFrRURkQkRvQVNBQUVJOEVJUVVnQUJBRElBVUxyd3dCQjM4Z0FDQUJhaUVGSUFBb0FnUWlBMEVCY1VVRVFBSkFJQUFvQWdBaEFpQURRUU54UlFSQUR3c2dBU0FDYWlFQklBQWdBbXNpQUVIQTBRTW9BZ0JHQkVBZ0JTZ0NCQ0lDUVFOeFFRTkhEUUZCdE5FRElBRTJBZ0FnQlNBQ1FYNXhOZ0lFSUFBZ0FVRUJjallDQkNBRklBRTJBZ0FQQ3lBQ1FRTjJJUVFnQWtHQUFra0VRQ0FBS0FJSUlnSWdBQ2dDRENJRFJnUkFRYXpSQTBHczBRTW9BZ0JCQVNBRWRFRi9jM0UyQWdBRklBSWdBellDRENBRElBSTJBZ2dMREFFTElBQW9BaGdoQnlBQUlBQW9BZ3dpQWtZRVFBSkFJQUJCRUdvaUEwRUVhaUlFS0FJQUlnSUVRQ0FFSVFNRklBTW9BZ0FpQWtVRVFFRUFJUUlNQWdzTEEwQUNRQ0FDUVJScUlnUW9BZ0FpQmtVRVFDQUNRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRURJQVloQWd3QkN3c2dBMEVBTmdJQUN3VWdBQ2dDQ0NJRElBSTJBZ3dnQWlBRE5nSUlDeUFIQkVBZ0FDQUFLQUljSWdOQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FqWUNBQ0FDUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FEZEVGL2MzRTJBZ0FNQXdzRklBZEJFR29pQXlBSFFSUnFJQUFnQXlnQ0FFWWJJQUkyQWdBZ0FrVU5BZ3NnQWlBSE5nSVlJQUFvQWhBaUF3UkFJQUlnQXpZQ0VDQURJQUkyQWhnTElBQW9BaFFpQXdSQUlBSWdBellDRkNBRElBSTJBaGdMQ3dzTElBVW9BZ1FpQjBFQ2NRUkFJQVVnQjBGK2NUWUNCQ0FBSUFGQkFYSTJBZ1FnQUNBQmFpQUJOZ0lBSUFFaEF3VWdCVUhFMFFNb0FnQkdCRUJCdU5FRElBRkJ1TkVES0FJQWFpSUJOZ0lBUWNUUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkVIQTBRTW9BZ0FnQUVjRVFBOExRY0RSQTBFQU5nSUFRYlRSQTBFQU5nSUFEd3NnQlVIQTBRTW9BZ0JHQkVCQnRORURJQUZCdE5FREtBSUFhaUlCTmdJQVFjRFJBeUFBTmdJQUlBQWdBVUVCY2pZQ0JDQUFJQUZxSUFFMkFnQVBDeUFIUVFOMklRUWdCMEdBQWtrRVFDQUZLQUlJSWdJZ0JTZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xCUUpBSUFVb0FoZ2hDQ0FGS0FJTUlnSWdCVVlFUUFKQUlBVkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0JTZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUlCRUFnQlNnQ0hDSURRUUowUWR6VEEyb2lCQ2dDQUNBRlJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFoQkVHb2lBeUFJUVJScUlBTW9BZ0FnQlVZYklBSTJBZ0FnQWtVTkFnc2dBaUFJTmdJWUlBVW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFVb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFBZ0FTQUhRWGh4YWlJRFFRRnlOZ0lFSUFBZ0Eyb2dBellDQUNBQVFjRFJBeWdDQUVZRVFFRzAwUU1nQXpZQ0FBOExDeUFEUVFOMklRSWdBMEdBQWtrRVFDQUNRUU4wUWRUUkEyb2hBVUdzMFFNb0FnQWlBMEVCSUFKMElnSnhCSDhnQVVFSWFpSURLQUlBQlVHczBRTWdBaUFEY2pZQ0FDQUJRUWhxSVFNZ0FRc2hBaUFESUFBMkFnQWdBaUFBTmdJTUlBQWdBallDQ0NBQUlBRTJBZ3dQQ3lBRFFRaDJJZ0VFZnlBRFFmLy8vd2RMQkg5Qkh3VWdBU0FCUVlEK1AycEJFSFpCQ0hFaUFuUWlCRUdBNEI5cVFSQjJRUVJ4SVFGQkRpQUJJQUp5SUFRZ0FYUWlBVUdBZ0E5cVFSQjJRUUp4SWdKeWF5QUJJQUowUVE5MmFpSUJRUUYwSUFNZ0FVRUhhblpCQVhGeUN3VkJBQXNpQWtFQ2RFSGMwd05xSVFFZ0FDQUNOZ0ljSUFCQkFEWUNGQ0FBUVFBMkFoQUNRRUd3MFFNb0FnQWlCRUVCSUFKMElnWnhSUVJBUWJEUkF5QUVJQVp5TmdJQUlBRWdBRFlDQUF3QkN5QURJQUVvQWdBaUFTZ0NCRUY0Y1VZRVFDQUJJUUlGQWtBZ0EwRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRUURRQ0FCUVJCcUlBUkJIM1pCQW5ScUlnWW9BZ0FpQWdSQUlBUkJBWFFoQkNBRElBSW9BZ1JCZUhGR0RRSWdBaUVCREFFTEN5QUdJQUEyQWdBTUFnc0xJQUlvQWdnaUFTQUFOZ0lNSUFJZ0FEWUNDQ0FBSUFFMkFnZ2dBQ0FDTmdJTUlBQkJBRFlDR0E4TElBQWdBVFlDR0NBQUlBQTJBZ3dnQUNBQU5nSUlDODBCQVFOL1FlLy8vLzhESUFGcklBSkpCRUFRQUFzZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElRVWdBVUhuLy8vL0FVa0VRRUVDSUFGQkFYUWlCeUFCSUFKcUlnSWdBaUFIU1JzaUFrRUVha0Y4Y1NBQ1FRSkpHeUlDUWYvLy8vOERTd1JBRUFBRklBSWhCZ3NGUWUvLy8vOERJUVlMSUFaQkFuUVFVU0VDSUFRRVFDQUNJQVVnQkJDbkFRc2dBeUFFYXlJREJFQWdBaUFFUVFKMGFpQUZJQVJCQW5ScUlBTVFwd0VMSUFGQkFVY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDNkFDQVFSL0l3WWhDQ01HUVJCcUpBWkI3di8vL3dNZ0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEJTUVJBUVFJZ0FVRUJkQ0lMSUFFZ0Ftb2lBaUFDSUF0Skd5SUNRUVJxUVh4eElBSkJBa2tiSWdKQi8vLy8vd05MQkVBUUFBVWdBaUVLQ3dWQjcvLy8vd01oQ2dzZ0NrRUNkQkJSSVFJZ0JBUkFJQUlnQ1NBRUVLY0JDeUFHQkVBZ0JFRUNkQ0FDYWlBSElBWVFwd0VMSUFNZ0JXc2lBeUFFYXlJSEJFQWdCRUVDZENBQ2FpQUdRUUowYWlBRVFRSjBJQWxxSUFWQkFuUnFJQWNRcHdFTElBRkJBVWNFUUNBSkVEZ0xJQUFnQWpZQ0FDQUFJQXBCZ0lDQWdIaHlOZ0lJSUFBZ0F5QUdhaUlBTmdJRUlBaEJBRFlDQUNBQVFRSjBJQUpxSUFnUWJpQUlKQVlMa0FFQkEzOGpCaUVESXdaQkVHb2tCaUFCUWUvLy8vOERTd1JBRUFBTElBRkJBa2tFUUNBQUlBRTZBQXNnQUNFRUJTQUJRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FUWUNCQXNMSUFFRVFDQUVJQUlnQVJEckJBc2dBMEVBTmdJQUlBRkJBblFnQkdvZ0F4QnVJQU1rQmd2dUFRRURmeU1HSVFnakJrRVFhaVFHUVc0Z0FXc2dBa2tFUUJBQUN5QUFMQUFMUVFCSUJIOGdBQ2dDQUFVZ0FBc2hDU0FCUWVmLy8vOEhTUVIvUVFzZ0FVRUJkQ0lLSUFFZ0Ftb2lBaUFDSUFwSkd5SUNRUkJxUVhCeElBSkJDMGtiQlVGdkN5SUtFRkVoQWlBRUJFQWdBaUFKSUFRUXFBRUxJQVlFUUNBQ0lBUnFJQWNnQmhDb0FRc2dBeUFGYXlJRElBUnJJZ2NFUUNBR0lBSWdCR3BxSUFVZ0JDQUphbW9nQnhDb0FRc2dBVUVLUndSQUlBa1FPQXNnQUNBQ05nSUFJQUFnQ2tHQWdJQ0FlSEkyQWdnZ0FDQURJQVpxSWdBMkFnUWdDRUVBT2dBQUlBQWdBbW9nQ0JCZklBZ2tCZ3NXQUNBQkJFQWdBQ0FDRUVKQi93RnhJQUVRUlJvTEMzSUJBMzhqQmlFREl3WkJFR29rQmlBQlFXOUxCRUFRQUFzZ0FVRUxTUVJBSUFBZ0FUb0FDd1VnQUNBQlFSQnFRWEJ4SWdRUVVTSUZOZ0lBSUFBZ0JFR0FnSUNBZUhJMkFnZ2dBQ0FCTmdJRUlBVWhBQXNnQUNBQklBSVFsUVFnQTBFQU9nQUFJQUFnQVdvZ0F4QmZJQU1rQmd2NkZRTU1md0YrQW53akJpRUxJd1pCMEFGcUpBWWdDMEhJQVdvaERTQUxRY0FCYWlFT0lBdEI0QUJxSVF3Z0F5Z0NCQ0VLQTBBZ0J5QUtTQVJBSUFNb0FnQWlDQ0FIUWNBQ2JHb2hDU0FIUWNBQ2JDQUlhaWdDQkFSQUlBZEJ3QUpzSUFocUlSQkJBQ0VGUVg4aEJnTkFJQVVnQWtnRVFBSkFBa0FDUUNBRlFRaDBJQUZxS0FJTUlnOE5BQ0FGUVFoMElBRnFLUVA0QVNJUlVBMEFJQkVnRUNrRHVBSlJEUUVNQWdzZ0R5QUpLQUlBUmcwQURBRUxJQVZCQ0hRZ0FXb3JBekFpRWlBREt3TjRZMFVFUUNBR1FYOUdCSDhnQlFVZ0JrRUlkQ0FCYWlzRE1DQVNZd1IvSUFVRklBWUxDeUVHQ3dzZ0JVRUJhaUVGREFFTEN5QUhRY0FDYkNBSWFpQUdOZ0t3QWlBR1FYOUtCRUFnQmtFSWRDQUJhaUFHUVFoMElBRnFLQUlZTmdJUUN3VkJmeUVHUVFBaEJRTkFJQVVnQWtnRVFDQUZRUWgwSUFGcUtBSUlJQWtvQWdCR0JFQWdCVUVJZENBQmFpc0RLQ0lTSUFNckEzQmpSUVJBSUFaQmYwWUVmeUFGQlNBR1FRaDBJQUZxS3dNb0lCSmpCSDhnQlFVZ0Jnc0xJUVlMQ3lBRlFRRnFJUVVNQVFzTElBZEJ3QUpzSUFocUlBWTJBckFDSUFaQmYwb0VRQ0FHUVFoMElBRnFJQVpCQ0hRZ0FXb29BaFEyQWhBTEN5QUhRUUZxSVFjTUFRc0xRUUFoQlVFQUlRSkJBQ0VHUVFBaEJ3TkFJQWNnQ2tnRVFDQURLQUlBSWdvZ0IwSEFBbXhxS0FLd0FpSUlRUUJPQkVBQ1FDQUFJQWhCQ0hRZ0FXb2lDU0FIUWNBQ2JDQUthaXNEQ0NBTEVOb0RSQUFBQUFBQUFCQkFaQVJBSUFNb0FnQWdCMEhBQW14cVFYODJBckFDSUFoQkNIUWdBV29pQ0NnQzdBRU5BU0FJUVFjMkF1d0JEQUVMSUFWRklBSWdDU2dDQUNJSVNISUVRRUVBSVFJRGZ5QUNRUU5HQkg4Z0J5RUdJQWdGUVFBaEJnTkFJQVpCQkVjRVFDQUNRUVYwSUF4cUlBWkJBM1JxSUFKQkJYUWdDMm9nQmtFRGRHb3JBd0E1QXdBZ0JrRUJhaUVHREFFTEN5QUNRUUZxSVFJTUFRc0xJUUlMSUFWQkFXb2hCUXNMSUFkQkFXb2hCeUFES0FJRUlRb01BUXNMQWtBQ1FDQUZSUTBBSUFVZ0F5Z0NnQUZJRFFBZ0RDQURLQUlBSUFaQndBSnNha0h3QUdvZ0N4Q3pBaUFGUVFaMEVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMSUFWQjRBQnNFRVFpQmtVRVFFRUFRUU5CdWRnQ0lBMFFQVUVCRUFFTElBVkJBblFoQ0NBREtBSUVJUkJCQUNFRlFRQWhBZ05BSUFVZ0VFZ0VRQ0FES0FJQUlnb2dCVUhBQW14cUtBS3dBaUlKUVFCT0JFQWdBa0VEZENJTlFRTjBJQWRxSUFsQkNIUWdBV3BCcUFGcVFRUWdDVUVJZENBQmFpZ0NFQ0lPYTBFRUVFOGlEMEVFZEdvckF3QTVBd0FnRFVFQmNrRURkQ0FIYWlBSlFRaDBJQUZxSUE5QkJIUnFLd093QVRrREFDQU5RUUp5UVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFVZ0RtdEJCQkJQSWc5QkJIUnFLd01BT1FNQUlBMUJBM0pCQTNRZ0Iyb2dDVUVJZENBQmFpQVBRUVIwYWlzRHNBRTVBd0FnRFVFRWNrRURkQ0FIYWlBSlFRaDBJQUZxUWFnQmFrRUdJQTVyUVFRUVR5SVBRUVIwYWlzREFEa0RBQ0FOUVFWeVFRTjBJQWRxSUFsQkNIUWdBV29nRDBFRWRHb3JBN0FCT1FNQUlBMUJCbkpCQTNRZ0Iyb2dDVUVJZENBQmFrR29BV3BCQnlBT2EwRUVFRThpRGtFRWRHb3JBd0E1QXdBZ0RVRUhja0VEZENBSGFpQUpRUWgwSUFGcUlBNUJCSFJxS3dPd0FUa0RBQ0FDUVF4c0lnbEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5QUJPUU1BSUFsQkFYSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckE5Z0JPUU1BSUFsQkFuSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErQUJPUU1BSUFsQkEzSkJBM1FnQm1vZ0JVSEFBbXdnQ21vckErZ0JPUU1BSUFsQkJHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvQUJPUU1BSUFsQkJXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckEvZ0JPUU1BSUFsQkJtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0QUNPUU1BSUFsQkIycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE0Z0NPUU1BSUFsQkNHcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1QUNPUU1BSUFsQkNXcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE1Z0NPUU1BSUFsQkNtcEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2QUNPUU1BSUFsQkMycEJBM1FnQm1vZ0JVSEFBbXdnQ21vckE2Z0NPUU1BSUFKQkFXb2hBZ3NnQlVFQmFpRUZEQUVMQ3lBRVFRQkhJUVFnQXlnQ2FBUkFJQUFnQ3lBSElBWWdDQ0FNRUw4Q0loSWdBQ0FEUVFocUlnSWdCeUFHSUFnZ0FoQy9BaUlUWXlFRklBUUVRQ0FGQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpucFB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVNhbVptWm1ablpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFUUFBQUFBQUFBQUFCQ05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFQUEwQWdBRUVEUndSQVFRQWhBZ05BSUFKQkJFY0VRQ0FEUVFocUlBQkJCWFJxSUFKQkEzUnFJQUJCQlhRZ0RHb2dBa0VEZEdvckF3QTVBd0FnQWtFQmFpRUNEQUVMQ3lBQVFRRnFJUUFNQVFzTEJTQVRJUklMQ3dzTEN3VWdCUVJBUVFBaEFBTkFJQUJCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQTBFSWFpQUFRUVYwYWlBQ1FRTjBhaUFBUVFWMElBeHFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEN3VWdFeUVTQ3dzRklBUWdBQ0FMSUFjZ0JpQUlJQU5CQ0dvaUFoQy9BaUlTUkFBQUFBQUFBRFJBWm5FRVFDQUFLQUlBUkpxWm1abVptZWsvRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCSWhKRUFBQUFBQUFBTkVCbUJId2dBQ2dDQUVRek16TXpNelBqUHhDTkFTQUFJQXNnQnlBR0lBZ2dBaENPQVNJU1JBQUFBQUFBQURSQVpnUjhJQUFvQWdCRW1wbVptWm1aMlQ4UWpRRWdBQ0FMSUFjZ0JpQUlJQUlRamdFaUVrUUFBQUFBQUFBMFFHWUVmQ0FBS0FJQVJBQUFBQUFBQUFBQUVJMEJJQUFnQ3lBSElBWWdDQ0FDRUk0QkJTQVNDd1VnRWdzRklCSUxJUklMQ3lBR0VEZ2dCeEE0QWtBZ0VrUUFBQUFBQUFBMFFHTUVRQ0FEUVFFMkFtZ01BUXNnQTBFQU5nSm9JQU1vQWdRaEFrRUFJUUFEUUNBQUlBSk9EUUVnQXlnQ0FDQUFRY0FDYkdvb0FyQUNJZ1JCQUU0RVFDQUVRUWgwSUFGcUlnUW9BdXdCUlFSQUlBUkJDRFlDN0FFTEN5QUFRUUZxSVFBTUFBQUxBQXNNQVFzZ0EwRUFOZ0pvQ3lBTEpBWUx5UXdDRUg4UmZDTUdJUVlqQmtHQUFXb2tCaUFHUWZnQWFpRU9JQVpCOEFCcUlROGdCa0hvQUdvaEVDQUdRZUFBYWlFUklBWkIyQUJxSVJJZ0JrSFFBR29oQ0NBR1FjZ0FhaUVKSUFOQkJFZ0VmMEYvQlFKL0EwQWdCU0FEU0FSQUlBVkJBV29oRTBGL0lBVkJHR3dnQW1vckF4QkVBQUFBQUFBQUFBQmlEUUlhSUJNaEJRd0JDd3NnQUNzREFFUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUt3TWdSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBeWhFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBRUZBYXlzREFFUUFBQUFBQUFBQUFHSUVmMEYvQlNBQUt3TklSQUFBQUFBQUFBQUFZZ1IvUVg4RklBQXJBMUJFQUFBQUFBQUE4RDlpQkg5QmZ3VWdBQ3NER0VRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dNNFJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExaEVBQUFBQUFBQUFBQmlCSDlCZndVZ0EwRUJkQ0lGUVFnUWl3RWlDa1VFUUVFQVFRTkI5YXdCSUFrUVBVRi9EQW9MSUFWQkFSQ0xBU0lKUlFSQUlBb1FTVUVBUVFOQmo2MEJJQWdRUFVGL0RBb0xRUUFoQ0FOQUlBTWdDRWNFUUNBS0tBSUFJZ2NnQ0VFRWRDSUZRUU4wYWlBSVFSaHNJQUpxSWdzckF3QTVBd0FnQlVFQmNrRURkQ0FIYWlBSVFSaHNJQUpxSWd3ckF3ZzVBd0FnQlVFQ2NrRURkQ0FIYWtRQUFBQUFBQUR3UHprREFDQUZRUU55UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkJISkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVGY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRWnlRUU4wSUFkcUlBc3JBd0FnQ0VFRWRDQUJhaUlOS3dNQW9wbzVBd0FnQlVFSGNrRURkQ0FIYWlBTUt3TUlJQTByQXdDaW1qa0RBQ0FGUVFoeVFRTjBJQWRxUkFBQUFBQUFBQUFBT1FNQUlBVkJDWEpCQTNRZ0IycEVBQUFBQUFBQUFBQTVBd0FnQlVFS2NrRURkQ0FIYWtRQUFBQUFBQUFBQURrREFDQUZRUXR5UVFOMElBZHFJQXNyQXdBNUF3QWdCVUVNY2tFRGRDQUhhaUFNS3dNSU9RTUFJQVZCRFhKQkEzUWdCMnBFQUFBQUFBQUE4RDg1QXdBZ0JVRU9ja0VEZENBSGFpQUxLd01BSUFoQkJIUWdBV29pQ3lzRENLS2FPUU1BSUFWQkQzSkJBM1FnQjJvZ0RDc0RDQ0FMS3dNSW9wbzVBd0FnQ1NnQ0FDSUhJQWhCQVhRaUJVRURkR29nRFNzREFEa0RBQ0FGUVFGeVFRTjBJQWRxSUFzckF3ZzVBd0FnQ0VFQmFpRUlEQUVMQ3lBS0VLQURJZ0ZGQkVBZ0NoQkpJQWtRU1VFQVFRTkJxYTBCSUJJUVBVRi9EQW9MSUFFZ0NoRFpBU0lEUlFSQUlBb1FTU0FKRUVrZ0FSQkpRUUJCQTBIRHJRRWdFUkE5UVg4TUNnc2dBU0FKRU5rQklnVkZCRUFnQ2hCSklBa1FTU0FCRUVrZ0F4QkpRUUJCQTBIZHJRRWdFQkE5UVg4TUNnc2dBeERXQVVFQVNBUkFJQW9RU1NBSkVFa2dBUkJKSUFNUVNTQUZFRWxCQUVFRFFmZXRBU0FQRUQxQmZ3d0tDeUFESUFVUTJRRWlCd1IvSUFjb0FnQWlBaXNETUNFV0lBSXJBd0FnRmlBQUt3TVFJaDJpb1NBQ0t3TVlJQllnQUNzRE1DSWJvcUVnQUNzREtDSWNveUlaSUFBckF3Z2lIcUtoSUFBckF3QWlINk1oR0NBQ0t3TWdJQnNnQWlzRE9DSVZvcUVnSEtNaEZ5QUNLd01JSUIwZ0ZhS2hJQjRnRjZLaElCK2pJUm9nQWlzREtDQWJvU0Fjb3lFYklBSXJBeEFoSkNBS0VFa2dDUkJKSUFFUVNTQURFRWtnQlJCSklBY1FTU0FHSUJnZ0ZpQVdvaUFaSUJtaUlCZ2dHS0tnb0o4aUdLTTVBd0FnQmlBWklCaWpPUU1JSUFZZ0ZpQVlvemtERUNBR0lCb2dGU0FWb2lBWElCZWlJQm9nR3FLZ29KOGlGcU01QXhnZ0JpQVhJQmFqT1FNZ0lBWWdGU0FXb3prREtDQUdFUElKSUFZckF3Z2lHU0FHS3dNb0locWlJQVlyQXhBaUhDQUdLd01nSWlDaW9TRVZJQndnQmlzREdDSWhvaUFhSUFZckF3QWlJcUtoSVJjZ0JpQVZJQ0FnSXFJZ0dTQWhvcUVpSXlBam9pQVZJQldpSUJjZ0Y2S2dvSjhpRmFNaUpUa0RNQ0FHSUJjZ0ZhTWlGemtET0NBR1FVQnJJQ01nRmFNaUZUa0RBQ0FFSUNJNUF3QWdCQ0FaT1FNZ0lBUkJRR3NnSERrREFDQUVJQ0U1QXdnZ0JDQWdPUU1vSUFRZ0dqa0RTQ0FFSUNVNUF4QWdCQ0FYT1FNd0lBUWdGVGtEVUNBRUlDUWdIYUVnSGlBYm9xRWdINk1nR0NBV29FUUFBQUFBQUFEZ1A2SWlGcU01QXhnZ0JDQWJJQmFqT1FNNElBUkVBQUFBQUFBQThEOGdGcU01QTFoQkFBVWdDaEJKSUFrUVNTQUJFRWtnQXhCSklBVVFTVUVBUVFOQmthNEJJQTRRUFVGL0N3c0xDd3NMQ3dzTEN3c0xJUlFnQmlRR0lCUUxFZ0FnQUVHc29nRTJBZ0FnQUVFUWFoQkhDeElBSUFCQmhLSUJOZ0lBSUFCQkRHb1FSd3NqQVFGL0lBQkIwS0VCTmdJQUlBQW9BZ2dpQVFSQUlBQXNBQXdFUUNBQkVEZ0xDd3Q5QVFSL0lBQkJ2S0VCTmdJQUlBQkJDR29oQXdOQUlBSWdBQ2dDRENBREtBSUFJZ0ZyUVFKMVNRUkFJQUpCQW5RZ0FXb29BZ0FpQVFSQUlBRWdBU2dDQkNJRVFYOXFOZ0lFSUFSRkJFQWdBU0FCS0FJQUtBSUlRZjhCY1VHc0Eyb1JBUUFMQ3lBQ1FRRnFJUUlNQVFzTElBQkJrQUZxRUVjZ0F4Q1BDZ3ZVQ2dJUGZ3UjhJd1loQ3lNR1FjQUJhaVFHSUF0QnVBRnFJUWdnQzBHd0FXb2hEaUFMUWFnQmFpRUtJQXRCb0FGcUlRVWdDMEdRQVdvaER5QUxRVEJxSVJBZ0FTZ0NDQ0lKUVFSSUJIOUJmd1VDZndKL0lBQXJBNEFCSUFtM29oQnpJUkVnQ1VIZ0FHd1FSQ0lHUlFSQVFRQkJBMEhLMkFJZ0JSQTlRWDhNQWdzZ0NVRUVkQkJFSWdkRkJFQkJBRUVEUWNyWUFpQUtFRDBnQmhBNFFYOE1BZ3NnQ1VFRGRDSUZFRVFpQ1VVRVFFRUFRUU5CeXRnQ0lBNFFQU0FHRURnZ0J4QTRRWDhNQWdzZ0JSQkVJZzFGQkVCQkFFRURRY3JZQWlBSUVEMGdCaEE0SUFjUU9DQUpFRGhCZnd3Q0N5QVJRWDlxSWdVTFFRTWdCVUVEU2hzaEVrRUFJUW9EUUNBS1FRTkhCRUJCQUNFTUEwQWdERUVFUndSQUlBcEJCWFFnQTJvZ0RFRURkR29nQ2tFRmRDQUNhaUFNUVFOMGFpc0RBRGtEQUNBTVFRRnFJUXdNQVFzTElBcEJBV29oQ2d3QkN3c2dFa0VEZENBTmFpRU1RUUFoQ2dKQUFrQUNRQUpBQTBBQ1FDQUFJQU1nRUJDekFrRUFJUVVEUUNBRklBRW9BZ2dpQWtnRVFDQVBJQkFnQVNnQ0JDQUZRUmhzYWhDN0JFRUFTQTBDSUFFb0FnQWlBaUFGUVFSMGFpc0RBQ0FQS3dNQW9TRVdJQVZCQkhRZ0Ftb3JBd2dnRHlzRENLRWhGQ0FGUVFGMElnSkJBM1FnQjJvZ0Zqa0RBQ0FDUVFGeVFRTjBJQWRxSUJRNUF3QWdCVUVEZENBTmFpQVdJQmFpSUJRZ0ZLS2dJaFE1QXdBZ0JVRURkQ0FKYWlBVU9RTUFJQVZCQVdvaEJRd0JDd3NnRFNBQ1FRaEJFaENDQXlBQktBSUlJUUpFQUFBQUFBQUFNRUFnRENzREFFUUFBQUFBQUFBUVFLSWlGQ0FVUkFBQUFBQUFBREJBWXhzaUYwUUFBQUFBQUFBWVFLTWhGa1FBQUFBQUFBQUFBQ0VVUVFBaEJRTkFJQVVnQWtnRVFDQVVJQVZCQTNRZ0RXb3JBd0FpRkNBWFpBUjhJQllGSUJaRUFBQUFBQUFBOEQ5RUFBQUFBQUFBOEQ4Z0ZDQVhvNkVpRkNBVUlCU2lvcUdpQzZBaEZDQUZRUUZxSVFVTUFRc0xJQlFnQXJlakloUWdBQ3NEYUdNTkJTQUtCRUFnRkNBQUt3TjRZd1JBSUJRZ0ZhTWdBQ3NEY0dRTkJ3c0xJQW9nQUNnQ1lFWU5CVUVBSVFWQkFDRU9BMEFnRGlBQ1NBUkFJQTVCQTNRZ0NXb3JBd0FpRlNBWFpRUkFJQVZCQm13aUNFRURkQ0FHYWlJQ0lBQWdBeUFCS0FJRUlBNUJHR3hxRUxrRVFRQklEUVVnQWtRQUFBQUFBQUR3UHlBVklCZWpvU0lWSUJXaUloVWdBaXNEQUtJNUF3QWdDRUVCY2tFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUNha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVFYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUZha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFR2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVIYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUlha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVLYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUxha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQlVFRGRDQUhhaUFWSUE1QkFYUWlBa0VEZENBSGFpc0RBS0k1QXdBZ0JVRUJha0VEZENBSGFpQVZJQUpCQVhKQkEzUWdCMm9yQXdDaU9RTUFJQVZCQW1vaEJTQUJLQUlJSVFJTElBNUJBV29oRGd3QkN3c2dCVUVHU0EwRElBc2dCeUFHSUFVUXN3UkJBRWdOQkNBRElBc1FzZ1FnRkNFVklBcEJBV29oQ2d3QkN3c2dCaUFISUFrZ0RSQ1BBa0YvREFRTElBWWdCeUFKSUEwUWp3SkJmd3dEQ3lBR0lBY2dDU0FORUk4Q1FYOE1BZ3NnQmlBSElBa2dEUkNQQWtGL0RBRUxJQVFnRkRrREFDQUdFRGdnQnhBNElBa1FPQ0FORURoQkFBc0xJUk1nQ3lRR0lCTUxIZ0FnQUVHTW9RRTJBZ0FnQUNnQ0NCQmNSd1JBSUFBb0FnZ1Fod01MQ3hJQUlBUWdBallDQUNBSElBVTJBZ0JCQXdzRUFFRUVDeFVBSUFFb0FnQWdBU0FCTEFBTFFRQklHeHBCZnd2K0NBRU1meUFDSUFBMkFnQWdEVUVFYWlFWUlBTkJnQVJ4UlNFWklBNUJBRW9oR2dOQUlCZEJCRWNFUUFKQUFrQUNRQUpBQWtBQ1FDQUlJQmRxTEFBQURnVUFBUU1DQkFVTElBRWdBaWdDQURZQ0FBd0VDeUFCSUFJb0FnQTJBZ0FnQmlnQ0FDZ0NMQ0VQSUFaQklDQVBRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScU5nSUFJQThnRURZQ0FBd0RDeUFOTEFBTElnOUJBRWdoRUNBWUtBSUFJQTlCL3dGeElCQWJCRUFnRFNnQ0FDQU5JQkFiS0FJQUlSQWdBaUFDS0FJQUlnOUJCR28yQWdBZ0R5QVFOZ0lBQ3d3Q0N5QU1MQUFMSWc5QkFFZ2hFQ0FaSUF3b0FnUWdEMEgvQVhFZ0VCc2lFMFZ5UlFSQUlBd29BZ0FnRENBUUd5SVBJQk5CQW5ScUlSRWdBaWdDQUNJUUlSSURRQ0FQSUJGSEJFQWdFaUFQS0FJQU5nSUFJQkpCQkdvaEVpQVBRUVJxSVE4TUFRc0xJQUlnRTBFQ2RDQVFhallDQUFzTUFRc2dBaWdDQUNFVUlBUkJCR29nQkNBSEd5SVdJUVFEUUFKQUlBUWdCVThOQUNBR0tBSUFLQUlNSVE4Z0JrR0FFQ0FFS0FJQUlBOUJQM0ZCeWdGcUVRUUFSUTBBSUFSQkJHb2hCQXdCQ3dzZ0dnUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCWkxjUVJBSUFSQmZHb2lCQ2dDQUNFUklBSWdBaWdDQUNJUVFRUnFOZ0lBSUJBZ0VUWUNBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJc0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVUSUE4aEVTQUNLQUlBSVJBRFFDQVFRUVJxSVE4Z0VVRUFTZ1JBSUJBZ0V6WUNBQ0FSUVg5cUlSRWdEeUVRREFFTEN5QUNJQTgyQWdBZ0VDQUpOZ0lBQ3lBRUlCWkdCRUFnQmlnQ0FDZ0NMQ0VFSUFaQk1DQUVRVDl4UVlvQmFoRUNBQ0VRSUFJZ0FpZ0NBQ0lQUVFScUlnUTJBZ0FnRHlBUU5nSUFCU0FMTEFBTElnOUJBRWdoRUNBTEtBSUVJQTlCL3dGeElCQWJCSDhnQ3lnQ0FDQUxJQkFiTEFBQUJVRi9DeUVQUVFBaEVFRUFJUklnQkNFUkEwQWdFU0FXUndSQUlBSW9BZ0FoRlNBUElCSkdCSDhnQWlBVlFRUnFJaE0yQWdBZ0ZTQUtOZ0lBSUFzc0FBc2lEMEVBU0NFVklCQkJBV29pQkNBTEtBSUVJQTlCL3dGeElCVWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZSdHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCSWhEd3RCQUNFU0lCTUZJQkFoQkNBVkN5RVFJQkZCZkdvaUVTZ0NBQ0VUSUFJZ0VFRUVhallDQUNBUUlCTTJBZ0FnQkNFUUlCSkJBV29oRWd3QkN3c2dBaWdDQUNFRUN5QUVJQlJHQkg4Z0ZnVURRQ0FVSUFSQmZHb2lCRWtFUUNBVUtBSUFJUThnRkNBRUtBSUFOZ0lBSUFRZ0R6WUNBQ0FVUVFScUlSUU1BUVVnRmlFRURBTUxBQUFMQUFzaEJBc2dGMEVCYWlFWERBRUxDeUFOTEFBTElnUkJBRWdoQnlBWUtBSUFJQVJCL3dGeElBY2JJZ1pCQVVzRVFDQU5LQUlBSWdWQkJHb2dHQ0FIR3lFRUlBWkJBblFnQlNBTklBY2JhaUlISUFScklRWWdBaWdDQUNJRklRZ0RRQ0FFSUFkSEJFQWdDQ0FFS0FJQU5nSUFJQWhCQkdvaENDQUVRUVJxSVFRTUFRc0xJQUlnQmtFQ2RrRUNkQ0FGYWpZQ0FBc0NRQ0FEUWJBQmNVRVlkRUVZZFVFUWF5SURSUTBBSUFOQkVFWUVRQ0FCSUFJb0FnQTJBZ0FNQVFzZ0FTQUFOZ0lBQ3d2WkJRRUZmeU1HSVFvakJrRVFhaVFHSUFwQkRHb2hDeUFLSUFBRWZ5QUNRZmpQQXhBNkJTQUNRZkRQQXhBNkN5SUFJQUVFZnlBTElBQWdBQ2dDQUNnQ0xFRS9jVUd5QldvUkF3QWdBeUFMS0FJQU5nQUFJQUFvQWdBb0FpQUZJQXNnQUNBQUtBSUFLQUlvUVQ5eFFiSUZhaEVEQUNBRElBc29BZ0EyQUFBZ0FDZ0NBQ2dDSEF0QlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQ21wQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFvUVJ5QUVJQUFnQUNnQ0FDZ0NERUgvQUhGQkNHb1JBQUEyQWdBZ0JTQUFJQUFvQWdBb0FoQkIvd0J4UVFocUVRQUFOZ0lBSUFvZ0FDQUFLQUlBS0FJVVFUOXhRYklGYWhFREFDQUdMQUFMUVFCSUJFQUNmeUFHS0FJQUlRMGdDMEVBT2dBQUlBMExJQXNRWHlBR1FRQTJBZ1FnQml3QUMwRUFTQVJBSUFZb0FnZ2FJQVlvQWdBUU9DQUdRUUEyQWdnTEJTQUxRUUE2QUFBZ0JpQUxFRjhnQmtFQU9nQUxDeUFHSUFvcEFnQTNBZ0FnQmlBS0tBSUlOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFwcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBS0VFY2dDaUFBSUFBb0FnQW9BaGhCUDNGQnNnVnFFUU1BSUFjc0FBdEJBRWdFUUFKL0lBY29BZ0FoRGlBTFFRQTJBZ0FnRGdzZ0N4QnVJQWRCQURZQ0JDQUhMQUFMUVFCSUJFQWdCeWdDQ0JvZ0J5Z0NBQkE0SUFkQkFEWUNDQXNGSUF0QkFEWUNBQ0FISUFzUWJpQUhRUUE2QUFzTElBY2dDaWtDQURjQ0FDQUhJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBSklBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQTJBZ0FnQ2lRR0M3WUlBUXAvSUFJZ0FEWUNBQ0FEUVlBRWNVVWhGeUFPUVFCS0lSZ0RRQ0FWUVFSSEJFQUNRQUpBQWtBQ1FBSkFBa0FnQ0NBVmFpd0FBQTRGQUFFREFnUUZDeUFCSUFJb0FnQTJBZ0FNQkFzZ0FTQUNLQUlBTmdJQUlBWW9BZ0FvQWh3aER5QUdRU0FnRDBFL2NVR0tBV29SQWdBaEVDQUNJQUlvQWdBaUQwRUJhallDQUNBUElCQTZBQUFNQXdzZ0RTd0FDeUlQUVFCSUlSQWdEU2dDQkNBUFFmOEJjU0FRR3dSQUlBMG9BZ0FnRFNBUUd5d0FBQ0VRSUFJZ0FpZ0NBQ0lQUVFGcU5nSUFJQThnRURvQUFBc01BZ3NnREN3QUN5SVBRUUJJSVJBZ0Z5QU1LQUlFSUE5Qi93RnhJQkFiSWc5RmNrVUVRQ0FQSUF3b0FnQWdEQ0FRR3lJUGFpRVFJQUlvQWdBaEVRTkFJQThnRUVjRVFDQVJJQThzQUFBNkFBQWdFVUVCYWlFUklBOUJBV29oRHd3QkN3c2dBaUFSTmdJQUN3d0JDeUFDS0FJQUlSSWdCRUVCYWlBRUlBY2JJaE1oQkFOQUFrQWdCQ0FGVHcwQUlBUXNBQUFpRDBGL1RBMEFJQVlvQWdnZ0QwRUJkR291QVFCQmdCQnhSUTBBSUFSQkFXb2hCQXdCQ3dzZ0dBUkFJQTRoRHdOQUlBOUJBRW9pRUNBRUlCTkxjUVJBSUFSQmYyb2lCQ3dBQUNFUklBSWdBaWdDQUNJUVFRRnFOZ0lBSUJBZ0VUb0FBQ0FQUVg5cUlROE1BUXNMSUJBRWZ5QUdLQUlBS0FJY0lSQWdCa0V3SUJCQlAzRkJpZ0ZxRVFJQUJVRUFDeUVSQTBBZ0FpQUNLQUlBSWhCQkFXbzJBZ0FnRDBFQVNnUkFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFnQ1RvQUFBc2dCQ0FUUmdSQUlBWW9BZ0FvQWh3aEJDQUdRVEFnQkVFL2NVR0tBV29SQWdBaER5QUNJQUlvQWdBaUJFRUJhallDQUNBRUlBODZBQUFGQWtBZ0N5d0FDeUlQUVFCSUlSQWdDeWdDQkNBUFFmOEJjU0FRR3dSL0lBc29BZ0FnQ3lBUUd5d0FBQVZCZndzaEQwRUFJUkZCQUNFVUlBUWhFQU5BSUJBZ0UwWU5BU0FQSUJSR0JFQWdBaUFDS0FJQUlnUkJBV28yQWdBZ0JDQUtPZ0FBSUFzc0FBc2lEMEVBU0NFV0lCRkJBV29pQkNBTEtBSUVJQTlCL3dGeElCWWJTUVJBUVg4Z0JDQUxLQUlBSUFzZ0ZodHFMQUFBSWc4Z0QwSC9BRVliSVE4RklCUWhEd3RCQUNFVUJTQVJJUVFMSUJCQmYyb2lFQ3dBQUNFV0lBSWdBaWdDQUNJUlFRRnFOZ0lBSUJFZ0Zqb0FBQ0FFSVJFZ0ZFRUJhaUVVREFBQUN3QUxDeUFDS0FJQUlnUWdFa1lFZnlBVEJRTkFJQklnQkVGL2FpSUVTUVJBSUJJc0FBQWhEeUFTSUFRc0FBQTZBQUFnQkNBUE9nQUFJQkpCQVdvaEVnd0JCU0FUSVFRTUF3c0FBQXNBQ3lFRUN5QVZRUUZxSVJVTUFRc0xJQTBzQUFzaUJFRUFTQ0VHSUEwb0FnUWdCRUgvQVhFZ0Joc2lCVUVCU3dSQUlBMG9BZ0FnRFNBR0d5SUVJQVZxSVFVZ0FpZ0NBQ0VHQTBBZ0JTQUVRUUZxSWdSSEJFQWdCaUFFTEFBQU9nQUFJQVpCQVdvaEJnd0JDd3NnQWlBR05nSUFDd0pBSUFOQnNBRnhRUmgwUVJoMVFSQnJJZ05GRFFBZ0EwRVFSZ1JBSUFFZ0FpZ0NBRFlDQUF3QkN5QUJJQUEyQWdBTEM5a0ZBUVYvSXdZaENpTUdRUkJxSkFZZ0NrRU1haUVMSUFvZ0FBUi9JQUpCNk04REVEb0ZJQUpCNE04REVEb0xJZ0FnQVFSL0lBc2dBQ0FBS0FJQUtBSXNRVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NJQVVnQ3lBQUlBQW9BZ0FvQWloQlAzRkJzZ1ZxRVFNQUlBTWdDeWdDQURZQUFDQUFLQUlBS0FJY0MwRS9jVUd5QldvUkF3QWdDQ3dBQzBFQVNBUkFBbjhnQ0NnQ0FDRU1JQXRCQURvQUFDQU1DeUFMRUY4Z0NFRUFOZ0lFSUFnc0FBdEJBRWdFUUNBSUtBSUlHaUFJS0FJQUVEZ2dDRUVBTmdJSUN3VWdDMEVBT2dBQUlBZ2dDeEJmSUFoQkFEb0FDd3NnQ0NBS0tRSUFOd0lBSUFnZ0NpZ0NDRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBS2FrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0NoQkhJQVFnQUNBQUtBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUZJQUFnQUNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUFJQUFvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FMUVFBNkFBQWdEUXNnQ3hCZklBWkJBRFlDQkNBR0xBQUxRUUJJQkVBZ0JpZ0NDQm9nQmlnQ0FCQTRJQVpCQURZQ0NBc0ZJQXRCQURvQUFDQUdJQXNRWHlBR1FRQTZBQXNMSUFZZ0Npa0NBRGNDQUNBR0lBb29BZ2cyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0NtcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBb1FSeUFLSUFBZ0FDZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFT0lBdEJBRG9BQUNBT0N5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBa2dBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUx0U01CRzM4akJpRVBJd1pCZ0FScUpBWWdEMEgwQTJvaEdTQVBRZGdEYWlFZklBOUIxQU5xSVNBZ0QwRzhBMm9oRENBUFFiQURhaUVOSUE5QnBBTnFJUTRnRDBHWUEyb2hFU0FQUVpRRGFpRVhJQTlCa0FOcUlSd2dEMEh3QTJvaUdpQUtOZ0lBSUE5QjZBTnFJaFFnRHpZQ0FDQVVRWkVCTmdJRUlBOUI0QU5xSWhJZ0R6WUNBQ0FQUWR3RGFpSWJJQTlCa0FOcU5nSUFJQTlCeUFOcUloWkNBRGNDQUNBV1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRm1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUF4Q0FEY0NBQ0FNUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdER3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQTFDQURjQ0FDQU5RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBNUNBRGNDQUNBT1FRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRG1wQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUJGQ0FEY0NBQ0FSUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdFV3BCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQUlnQXlBWklCOGdJQ0FXSUF3Z0RTQU9JQmNRcXdvZ0NTQUlLQUlBTmdJQUlBUkJnQVJ4UVFCSElTRkJBQ0VDQW44Q1FBSkFBa0FDUUFKQUFrQURRQUpBSUJOQkJFOE5CeUFBS0FJQUlnTUVmeUFES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RURBa0FDUUNBQktBSUFJZ3RGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFvTERBRUxJQU1OQ0VFQUlRc0xBa0FDUUFKQUFrQUNRQUpBQWtBZ0V5QVphaXdBQUE0RkFRQURBZ1FHQ3lBVFFRTkhCRUFnQjBHQXdBQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQnlBUklBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQVVnQXlBRVFRUnFOZ0lNSUFRb0FnQUxFSTRDREFVTERBVUxJQk5CQTBjTkF3d0VDeUFOS0FJRUlBMHNBQXNpQTBIL0FYRWdBMEVBU0JzaUMwRUFJQTRvQWdRZ0Rpd0FDeUlEUWY4QmNTQURRUUJJR3lJUWEwY0VRQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSaUVLSUF0Rklnc2dFRVZ5QkVBZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJUU1nQ3dSQUlBNG9BZ0FnRGlBT0xBQUxRUUJJR3lnQ0FDQURSdzBHSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dCa0VCT2dBQUlBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQmdzZ0RTZ0NBQ0FOSUEwc0FBdEJBRWdiS0FJQUlBTkhCRUFnQmtFQk9nQUFEQVlMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkVBZ0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQU1nQkVFRWFqWUNEQ0FFS0FJQUdnc2dEU0FDSUEwb0FnUWdEU3dBQ3lJQ1FmOEJjU0FDUVFCSUcwRUJTeHNoQWd3RkN3Si9JQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lFa0lBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dKQ0FOS0FJQUlBMGdEU3dBQzBFQVNCc29BZ0JHQ3dSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBTklBSWdEU2dDQkNBTkxBQUxJZ0pCL3dGeElBSkJBRWdiUVFGTEd5RUNEQVVMSUFvRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QU9LQUlBSUE0Z0Rpd0FDMEVBU0Jzb0FnQkhEUWNnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFScU5nSU1JQVFvQWdBYUN5QUdRUUU2QUFBZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3NNQXdzQ1FBSkFJQk5CQWtrZ0FuSUVRQ0FNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNZ0V3MEJCU0FUUVFKR0lCa3NBQU5CQUVkeElDRnlSUVJBUVFBaEFnd0dDeUFNS0FJQUlnUWdEQ0FNTEFBTElncEJBRWdiSVFNTUFRc01BUXNnR1NBVFFYOXFhaTBBQUVFQ1NBUkFBa0FDUUFOQUlBTWdEQ2dDQkNBS1FmOEJjU0FLUVJoMFFSaDFRUUJJSWhBYlFRSjBJQVFnRENBUUcycEhCRUFnQjBHQXdBQWdBeWdDQUNBSEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFpQURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzTUFRc2dEQ3dBQ3lFS0lBd29BZ0FoQkFzZ0VTd0FDeUlZUVFCSUlSVWdBeUFFSUF3Z0NrRVlkRUVZZFVFQVNCc2lIU0lRYTBFQ2RTSWlJQkVvQWdRaUhpQVlRZjhCY1NJWUlCVWJTd1IvSUJBRklCRW9BZ0FnSGtFQ2RHb2lIaUFZUVFKMElCRnFJaGdnRlJzaEkwRUFJQ0pyUVFKMElCNGdHQ0FWRzJvaEZRTi9JQlVnSTBZTkF5QVZLQUlBSUIwb0FnQkdCSDhnSFVFRWFpRWRJQlZCQkdvaEZRd0JCU0FRQ3dzTElRTUxDd05BQWtBZ0F5QU1LQUlFSUFwQi93RnhJQXBCR0hSQkdIVkJBRWdpQ2h0QkFuUWdCQ0FNSUFvYmFrWU5BQ0FBS0FJQUlnUUVmeUFFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBTFJRMEFJQXNvQWd3aUNpQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRVJRMERDd3dCQ3lBRURRRkJBQ0VMQ3lBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTElBTW9BZ0JIRFFBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRVFDQUVJQVFvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQkNBS1FRUnFOZ0lNSUFvb0FnQWFDeUFEUVFScUlRTWdEQ3dBQ3lFS0lBd29BZ0FoQkF3QkN3c2dJUVJBSUF3c0FBc2lDa0VBU0NFRUlBd29BZ1FnQ2tIL0FYRWdCQnRCQW5RZ0RDZ0NBQ0FNSUFRYmFpQURSdzBIQ3d3Q0MwRUFJUVFnQ3lFREEwQUNRQ0FBS0FJQUlnb0VmeUFLS0FJTUloQWdDaWdDRUVZRWZ5QUtJQW9vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUtBa0FDUUNBTFJRMEFJQXNvQWd3aUVDQUxLQUlRUmdSL0lBc2dDeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBRUVBSVFNTUFRVWdDa1VOQXdzTUFRc2dDZzBCUVFBaEN3c2dCMEdBRUNBQUtBSUFJZ29vQWd3aUVDQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkFvQWdBTEloQWdCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQUVmeUFKS0FJQUlnb2dHaWdDQUVZRVFDQUlJQWtnR2hETkFTQUpLQUlBSVFvTElBa2dDa0VFYWpZQ0FDQUtJQkEyQWdBZ0JFRUJhZ1VnRmlnQ0JDQVdMQUFMSWdwQi93RnhJQXBCQUVnYlFRQkhJQVJCQUVkeElCQWdJQ2dDQUVaeFJRMEJJQklvQWdBaUNpQWJLQUlBUmdSQUlCUWdFaUFiRU0wQklCSW9BZ0FoQ2dzZ0VpQUtRUVJxTmdJQUlBb2dCRFlDQUVFQUN5RUVJQUFvQWdBaUNpZ0NEQ0lRSUFvb0FoQkdCRUFnQ2lBS0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBb2dFRUVFYWpZQ0RDQVFLQUlBR2dzTUFRc0xJQklvQWdBaUNpQVVLQUlBUnlBRVFRQkhjUVJBSUFvZ0d5Z0NBRVlFUUNBVUlCSWdHeEROQVNBU0tBSUFJUW9MSUJJZ0NrRUVhallDQUNBS0lBUTJBZ0FMSUJjb0FnQkJBRW9FUUFKQUlBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNnSHlnQ0FFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQkdvMkFnd2dDaWdDQUJvTEEwQWdGeWdDQUVFQVRBMEJJQUFvQWdBaUJBUi9JQVFvQWd3aUNpQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFORkRRQWdBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRMExEQUVMSUFRTkMwRUFJUU1MSUFkQmdCQWdBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0tBSUFDeUFIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQ2lBSktBSUFJQm9vQWdCR0JFQWdDQ0FKSUJvUXpRRUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXNoQkNBSklBa29BZ0FpQ2tFRWFqWUNBQ0FLSUFRMkFnQWdGeUFYS0FJQVFYOXFOZ0lBSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkVBZ0JDQUVLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQVFnQ2tFRWFqWUNEQ0FLS0FJQUdnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFNQ1FBSkFJQXRGRFFBZ0N5Z0NEQ0lFSUFzb0FoQkdCSDhnQ3lBTEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFRTERBRUxJQU1OQWtFQUlRc0xJQWRCZ01BQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBc2dCeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFRWFqWUNEQ0FFS0FJQUN4Q09BZ3dBQUFzQUN5QVRRUUZxSVJNTUFRc0xJQVVnQlNnQ0FFRUVjallDQUVFQURBWUxJQVVnQlNnQ0FFRUVjallDQUVFQURBVUxJQVVnQlNnQ0FFRUVjallDQUVFQURBUUxJQVVnQlNnQ0FFRUVjallDQUVFQURBTUxJQVVnQlNnQ0FFRUVjallDQUVFQURBSUxJQVVnQlNnQ0FFRUVjallDQUVFQURBRUxJQUlFUUFKQUlBSWhCa0VCSVFjRFFBSkFJQWNnQWl3QUN5SURRUUJJQkg4Z0JpZ0NCQVVnQTBIL0FYRUxUdzBDSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBRW9BZ0FpQTBVTkFDQURLQUlNSWdnZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQkVVTkF3c01BUXNnQkEwQkN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxJQUlzQUF0QkFFZ0VmeUFDS0FJQUJTQUNDeUFIUVFKMGFpZ0NBRWNOQUNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkJHbzJBZ3dnQkNnQ0FCb0xJQWRCQVdvaEJ3d0JDd3NnQlNBRktBSUFRUVJ5TmdJQVFRQU1BZ3NMSUJRb0FnQWlBQ0FTS0FJQUlnRkdCSDlCQVFVZ0hFRUFOZ0lBSUJZZ0FDQUJJQndRZUNBY0tBSUFCSDhnQlNBRktBSUFRUVJ5TmdJQVFRQUZRUUVMQ3dzaEpTQVJFRWNnRGhCSElBMFFSeUFNRUVjZ0ZoQkhJQlFvQWdBaEFDQVVRUUEyQWdBZ0FBUkFJQUFnRkNnQ0JFSC9BWEZCckFOcUVRRUFDeUFQSkFZZ0pRdXNBUUVGZnlBQ0tBSUFJQUFvQWdBaUF5SUdheUlGUVFGMElnUkJBU0FFRzBGL0lBVkIvLy8vL3dkSkd5RUZJQUVvQWdBaEJ5QURRUUFnQUNnQ0JFR1JBVWNpQkJzZ0JSRG9BU0lEUlFSQUVBQUxJQVFFUUNBQUlBTTJBZ0FGSUFBb0FnQWhCQ0FBSUFNMkFnQWdCQVJBSUFRZ0FDZ0NCRUgvQVhGQnJBTnFFUUVBSUFBb0FnQWhBd3NMSUFCQmtnRTJBZ1FnQVNBSElBWnJJQU5xTmdJQUlBSWdCU0FBS0FJQWFqWUNBQXVjSkFFYWZ5TUdJUkFqQmtHQUJHb2tCaUFRUWZBRGFpRWFJQkJCN1FOcUlTQWdFRUhzQTJvaElTQVFRYndEYWlFTklCQkJzQU5xSVE0Z0VFR2tBMm9oRHlBUVFaZ0RhaUVSSUJCQmxBTnFJUmNnRUVHUUEyb2hIaUFRUWVnRGFpSWJJQW8yQWdBZ0VFSGdBMm9pRlNBUU5nSUFJQlZCa1FFMkFnUWdFRUhZQTJvaUV5QVFOZ0lBSUJCQjFBTnFJaHdnRUVHUUEybzJBZ0FnRUVISUEyb2lGa0lBTndJQUlCWkJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBV2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0RVSUFOd0lBSUExQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FOYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRGtJQU53SUFJQTVCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU9ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEMElBTndJQUlBOUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBUGFrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0VVSUFOd0lBSUJGQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FSYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnQWlBRElCb2dJQ0FoSUJZZ0RTQU9JQThnRnhDdkNpQUpJQWdvQWdBMkFnQWdCRUdBQkhGQkFFY2hJa0VBSVFJQ2Z3SkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0ZFRUVUdzBISUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQXdKQUFrQWdBU2dDQUNJTVJRMEFJQXdvQWd3aUJDQU1LQUlRUmdSL0lBd2dEQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVF3TEFrQUNRQUpBQWtBQ1FBSkFBa0FnRkNBYWFpd0FBQTRGQVFBREFnUUdDeUFVUVFOSEJFQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMSWdOQi93RnhRUmgwUVJoMVFYOU1EUWNnQnlnQ0NDQURRUmgwUVJoMVFRRjBhaTRCQUVHQXdBQnhSUTBISUJFZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNDMEgvQVhFUXpBRU1CUXNNQlFzZ0ZFRURSdzBEREFRTElBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlMUVFBZ0R5Z0NCQ0FQTEFBTElnTkIvd0Z4SUFOQkFFZ2JJZ3hyUndSQUlBQW9BZ0FpQXlnQ0RDSUVJQU1vQWhCR0lRb2dDMFVpQ3lBTVJYSUVRQ0FLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwSC9BWEVoQXlBTEJFQWdEeWdDQUNBUElBOHNBQXRCQUVnYkxRQUFJQU5IRFFZZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFaQkFUb0FBQ0FQSUFJZ0R5Z0NCQ0FQTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBWUxJQTRvQWdBZ0RpQU9MQUFMUVFCSUd5MEFBQ0FEUndSQUlBWkJBVG9BQUF3R0N5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0RpQUNJQTRvQWdRZ0Rpd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3lBS0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDeUVMSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0RpZ0NBQ0FPSUE0c0FBdEJBRWdiTFFBQUlBdEIvd0Z4UmdSQUlBb0VRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBNGdBaUFPS0FJRUlBNHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlNQlFzZ0NnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCL3dGeElBOG9BZ0FnRHlBUExBQUxRUUJJR3kwQUFFY05CeUFBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0dnc2dCa0VCT2dBQUlBOGdBaUFQS0FJRUlBOHNBQXNpQWtIL0FYRWdBa0VBU0J0QkFVc2JJUUlMREFNTEFrQUNRQ0FVUVFKSklBSnlCRUFnRFNnQ0FDSUtJQTBnRFN3QUN5SURRUUJJSWdzYkloZ2hCQ0FVRFFFRklCUkJBa1lnR2l3QUEwRUFSM0VnSW5KRkJFQkJBQ0VDREFZTElBMG9BZ0FpQ2lBTklBMHNBQXNpQTBFQVNDSUxHeUlZSVFRTUFRc01BUXNnR2lBVVFYOXFhaTBBQUVFQ1NBUkFJQTBvQWdRZ0EwSC9BWEVnQ3hzZ0dHb2hFaUFFSVFzRFFBSkFJQXNnRWtZTkFDQUxMQUFBSWgxQmYwd05BQ0FIS0FJSUlCMUJBWFJxTGdFQVFZREFBSEZGRFFBZ0MwRUJhaUVMREFFTEN5QVJMQUFMSWhsQkFFZ2hFaUFMSUFSckloMGdFU2dDQkNJZklCbEIvd0Z4SWhrZ0VodE5CRUFnSHlBUktBSUFhaUlmSUJFZ0dXb2lHU0FTR3lFaklCOGdIV3NnR1NBZGF5QVNHeUVTQTBBZ0VpQWpSZ1JBSUFzaEJBd0VDeUFTTEFBQUlCZ3NBQUJHQkVBZ0dFRUJhaUVZSUJKQkFXb2hFZ3dCQ3dzTEN3c0RRQUpBSUFRZ0NpQU5JQU5CR0hSQkdIVkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBHRFFBZ0FDZ0NBQ0lEQkg4Z0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FNUlEwQUlBd29BZ3dpQ2lBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRTUxEQUVMSUFNTkFVRUFJUXdMSUFBb0FnQWlBeWdDRENJS0lBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnQkMwQUFFY05BQ0FBS0FJQUlnTW9BZ3dpQ2lBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc2dCRUVCYWlFRUlBMHNBQXNoQXlBTktBSUFJUW9NQVFzTElDSUVRQ0FFSUEwb0FnQWdEU0FOTEFBTElnTkJBRWdpQ2hzZ0RTZ0NCQ0FEUWY4QmNTQUtHMnBIRFFjTERBSUxRUUFoQkNBTUlRTURRQUpBSUFBb0FnQWlDZ1IvSUFvb0Fnd2lDeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFzc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQ2dKQUFrQWdERVVOQUNBTUtBSU1JZ3NnRENnQ0VFWUVmeUFNSUF3b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBTExBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoREFzQ2Z3SkFJQUFvQWdBaUNpZ0NEQ0lMSUFvb0FoQkdCSDhnQ2lBS0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQ3lJS1FmOEJjU0lMUVJoMFFSaDFRWDlNRFFBZ0J5Z0NDQ0FLUVJoMFFSaDFRUUYwYWk0QkFFR0FFSEZGRFFBZ0NTZ0NBQ0lLSUJzb0FnQkdCRUFnQ0NBSklCc1Fwd1FnQ1NnQ0FDRUtDeUFKSUFwQkFXbzJBZ0FnQ2lBTE9nQUFJQVJCQVdvTUFRc2dGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUNFdEFBQWdDMFp4UlEwQklCTW9BZ0FpQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0MwRUJhallDRENBTExBQUFFRUlhQ3d3QkN3c2dFeWdDQUNJS0lCVW9BZ0JISUFSQkFFZHhCRUFnQ2lBY0tBSUFSZ1JBSUJVZ0V5QWNFTTBCSUJNb0FnQWhDZ3NnRXlBS1FRUnFOZ0lBSUFvZ0JEWUNBQXNnRnlnQ0FFRUFTZ1JBQWtBZ0FDZ0NBQ0lFQkg4Z0JDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FEUlEwQUlBTW9BZ3dpQ2lBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRc0xEQUVMSUFRTkNVRUFJUU1MSUFBb0FnQWlCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwSC9BWEVnSUMwQUFFY05DQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc0RRQ0FYS0FJQVFRQk1EUUVnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQ3lJRVFmOEJjVUVZZEVFWWRVRi9UQTBLSUFjb0FnZ2dCRUVZZEVFWWRVRUJkR291QVFCQmdCQnhSUTBLSUFrb0FnQWdHeWdDQUVZRVFDQUlJQWtnR3hDbkJBc2dBQ2dDQUNJRUtBSU1JZ29nQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBS0xBQUFFRUlMSVFRZ0NTQUpLQUlBSWdwQkFXbzJBZ0FnQ2lBRU9nQUFJQmNnRnlnQ0FFRi9hallDQUNBQUtBSUFJZ1FvQWd3aUNpQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFwQkFXbzJBZ3dnQ2l3QUFCQkNHZ3NNQUFBTEFBc0xJQWtvQWdBZ0NDZ0NBRVlOQ0F3QkN3TkFJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0RFVU5BQ0FNS0FJTUlnUWdEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQURSUTBFQ3d3QkN5QUREUUpCQUNFTUN5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3NpQTBIL0FYRkJHSFJCR0hWQmYwd05BU0FIS0FJSUlBTkJHSFJCR0hWQkFYUnFMZ0VBUVlEQUFIRkZEUUVnRVNBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQUZJQU1nQkVFQmFqWUNEQ0FFTEFBQUVFSUxRZjhCY1JETUFRd0FBQXNBQ3lBVVFRRnFJUlFNQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBZ0FTZ0NBQ0lEUlEwQUlBTW9BZ3dpQ0NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFSRkRRTUxEQUVMSUFRTkFRc2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUWY4QmNTQUNMQUFMUVFCSUJIOGdBaWdDQUFVZ0Fnc2dCMm90QUFCSERRQWdBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUUZxTmdJTUlBUXNBQUFRUWhvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlVvQWdBaUFDQVRLQUlBSWdGR0JIOUJBUVVnSGtFQU5nSUFJQllnQUNBQklCNFFlQ0FlS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSkNBUkVFY2dEeEJISUE0UVJ5QU5FRWNnRmhCSElCVW9BZ0FoQUNBVlFRQTJBZ0FnQUFSQUlBQWdGU2dDQkVIL0FYRkJyQU5xRVFFQUN5QVFKQVlnSkFzWkFDQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFCQkFVRXRFSk1FQ3hrQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVFQlFTMFFsZ1FMRlFBZ0FDZ0NBQkJjUndSQUlBQW9BZ0FRaHdNTEMyTUJBWDhqQmlFR0l3WkJFR29rQmlBR1FTVTZBQUFnQmlBRU9nQUJJQVlnQlRvQUFpQUdRUUE2QUFNZ0JVSC9BWEVFUUNBR0lBVTZBQUVnQmlBRU9nQUNDeUFDSUFFZ0FpZ0NBQ0FCYXlBR0lBTWdBQ2dDQUJBZklBRnFOZ0lBSUFZa0Jnc09BQ0FBUVFocUVLc0VJQUFRT0FzS0FDQUFRUWhxRUtzRUMyd0JBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUprQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQjBBOXFJQUZCN0E1cUlBRWdBVUhrQUVnYklBRkJ4UUJJRzBHVWNXbzJBZ0FMSUFVa0JndDdBUUovSXdZaEJpTUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUVJUWNnQUNBSFFmOEFjVUVJYWhFQUFDRUFJQVlnQXlnQ0FEWUNBQ0FHUVFScUlnTWdCaWdDQURZQ0FDQUNJQU1nQUNBQVFhQUNhaUFGSUFSQkFCQ1ZBaUFBYXlJQVFhQUNTQVJBSUFFZ0FFRU1FRGxCREJCUE5nSUFDeUFHSkFZTGV3RUNmeU1HSVFZakJrRVFhaVFHSUFCQkNHb2lBQ2dDQUNnQ0FDRUhJQUFnQjBIL0FIRkJDR29SQUFBaEFDQUdJQU1vQWdBMkFnQWdCa0VFYWlJRElBWW9BZ0EyQWdBZ0FpQURJQUFnQUVHb0FXb2dCU0FFUVFBUWxRSWdBR3NpQUVHb0FVZ0VRQ0FCSUFCQkRCQTVRUWNRVHpZQ0FBc2dCaVFHQzdnQ0FRWi9Jd1loQXlNR1FZQUNhaVFHSUFOQndBRnFJZ0lnQVJERUNpQURRZUFBYWlJRUlBSVF1d3BCQUNFQkEwQWdBVUVEUndSQUlBRkJCWFFnQUdvaEJTQUJRUVYwSUFCcUlRWWdBVUVGZENBQWFpRUhRUUFoQWdOQUlBSkJCRWNFUUNBQlFRVjBJQU5xSUFKQkEzUnFJQVVyQXdBZ0FrRURkQ0FFYWlzREFLSWdCaXNEQ0NBRVFTQnFJQUpCQTNScUt3TUFvcUFnQnlzREVDQUVRVUJySUFKQkEzUnFLd01Bb3FBNUF3QWdBa0VCYWlFQ0RBRUxDeUFCUVFWMElBTnFJZ0lnQVVFRmRDQUFhaXNER0NBQ0t3TVlvRGtER0NBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFGQkEwY0VRRUVBSVFJRFFDQUNRUVJIQkVBZ0FVRUZkQ0FBYWlBQ1FRTjBhaUFCUVFWMElBTnFJQUpCQTNScUt3TUFPUU1BSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN5QURKQVlMMEFFQkJIOGpCaUVFSXdaQk1Hb2tCaUFFUVJocUlnVkJCallDQkNBRlFRRTJBZ2dnQlNBQU5nSUFJQVJCREdvaUJpQUROZ0lFSUFaQkFUWUNDQ0FHSUFFMkFnQWdCQ0FETmdJRUlBUkJCallDQ0NBRUlBSTJBZ0FnQkJDZ0F5SUFCSDhDZnlBQUlBUVEyUUVpQVVVRVFDQUFFRWxCZnd3QkN5QUFJQVlRMlFFaUFrVUVRQ0FBRUVrZ0FSQkpRWDhNQVFzZ0FSRFdBVUVBU0FSL0lBQVFTU0FCRUVrZ0FoQkpRWDhGSUFVZ0FTQUNFSzBDR2lBQUVFa2dBUkJKSUFJUVNVRUFDd3NGUVg4TElRY2dCQ1FHSUFjTGJBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUVFRbWdFaEFTQURLQUlBUVFSeFJRUkFJQUFnQVVIUUQyb2dBVUhzRG1vZ0FTQUJRZVFBU0JzZ0FVSEZBRWdiUVpSeGFqWUNBQXNnQlNRR0Mzc0JBbjhqQmlFR0l3WkJFR29rQmlBQVFRaHFJZ0FvQWdBb0FnUWhCeUFBSUFkQi93QnhRUWhxRVFBQUlRQWdCaUFES0FJQU5nSUFJQVpCQkdvaUF5QUdLQUlBTmdJQUlBSWdBeUFBSUFCQm9BSnFJQVVnQkVFQUVKWUNJQUJySWdCQm9BSklCRUFnQVNBQVFRd1FPVUVNRUU4MkFnQUxJQVlrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJQUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFnQmFpQUZJQVJCQUJDV0FpQUFheUlBUWFnQlNBUkFJQUVnQUVFTUVEbEJCeEJQTmdJQUN5QUdKQVlMQkFCQkFndVhDQUVMZnlNR0lRc2pCa0VRYWlRR0lBWkJvTTRERURvaENpQUdRYWpPQXhBNklnMG9BZ0FvQWhRaEJpQUxJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3dDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUtJQUlnQ2lnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFRWFqWUNBQ0FHSUFJMkFnQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBS1FUQWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVFYWpZQ0FDQUhJQUkyQWdBZ0NpQUdMQUFCSUFvb0FnQW9BaXhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkJHbzJBZ0FnQnlBQ05nSUFJQVpCQW1vaUJpRUNBMEFnQWlBTVNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdERThOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQXNvQWdRZ0N5d0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRa2dDQ0FITEFBQU9nQUFJQWNnQ1RvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUWxCQUNFSFFRQWhDQU5BSUFrZ0Fra0VRQ0FISUFzb0FnQWdDeUFMTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUVJxTmdJQUlBZ2dEellDQUNBSElBY2dDeWdDQkNBTExBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBb2dDU3dBQUNBS0tBSUFLQUlzUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRUnFOZ0lBSUJBZ0RqWUNBQ0FKUVFGcUlRa2dDRUVCYWlFSURBRUxDeUFHSUFCclFRSjBJQU5xSWdrZ0JTZ0NBQ0lJUmdSL0lBb2hCeUFKQlNBSUlRWURmeUFKSUFaQmZHb2lCa2tFZnlBSktBSUFJUWNnQ1NBR0tBSUFOZ0lBSUFZZ0J6WUNBQ0FKUVFScUlRa01BUVVnQ2lFSElBZ0xDd3NoQmdVZ0NpQUdJQUlnQlNnQ0FDQUtLQUlBS0FJd1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBSWdCbXRCQW5ScUlnWTJBZ0FnQ2lFSEN3SkFBa0FEUUNBQ0lBeEpCRUFnQWl3QUFDSUdRUzVHRFFJZ0NpQUdJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUWtnQlNBRktBSUFJZ2hCQkdvaUJqWUNBQ0FJSUFrMkFnQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRY2dCU0FGS0FJQUlnbEJCR29pQmpZQ0FDQUpJQWMyQWdBZ0FrRUJhaUVDQ3lBS0lBSWdEQ0FHSUFvb0FnQW9BakJCRDNGQmlnSnFFUWtBR2lBRklBVW9BZ0FnRENBQ2EwRUNkR29pQWpZQ0FDQUVJQUlnQVNBQWEwRUNkQ0FEYWlBQklBeEdHellDQUNBTEVFY2dDeVFHQy9VQkFnVi9BWHdqQmlFRUl3WkI0QUZxSkFZZ0JFSFlBV29oQlNBRVFUQnFJZ1lnQkVIQUFXb2lCeUFDSUFNUTh3b2dCQ0FCSUFjUTZBcEJBRWdFZjBFQVFRTkI0YXdCSUFVUVBVRi9CVUVBSVFFRGZ5QUJRUUpHQkg5QkFBVkJBQ0VDQTBBZ0FrRUdSd1JBSUFGQk1Hd2dBR29nQWtFRGRHb2lCVVFBQUFBQUFBQUFBRGtEQUVFQUlRTkVBQUFBQUFBQUFBQWhDUU5BSUFOQkEwY0VRQ0FGSUFrZ0FVRVliQ0FFYWlBRFFRTjBhaXNEQUNBRFFUQnNJQVpxSUFKQkEzUnFLd01Bb3FBaUNUa0RBQ0FEUVFGcUlRTU1BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRUJhaUVCREFFTEN3c2hDQ0FFSkFZZ0NBdjZCd0VMZnlNR0lRb2pCa0VRYWlRR0lBWkJnTTRERURvaENTQUdRWkRPQXhBNklnMG9BZ0FvQWhRaEJpQUtJQTBnQmtFL2NVR3lCV29SQXdBZ0JTQUROZ0lBQWtBQ1FDQUNJZ3NDZndKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUpJQUlnQ1NnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQWlBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFJNkFBQWdBRUVCYWd3QkN5QUFDeUlHYTBFQlRBMEFJQVlzQUFCQk1FY05BQ0FHTEFBQlFkZ0FheUlDUVFBZ0FrRWdSeHNOQUNBSlFUQWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCMEVCYWpZQ0FDQUhJQUk2QUFBZ0NTQUdMQUFCSUFrb0FnQW9BaHhCUDNGQmlnRnFFUUlBSVFJZ0JTQUZLQUlBSWdkQkFXbzJBZ0FnQnlBQ09nQUFJQVpCQW1vaUJpRUNBMEFnQWlBTFNRUkFJQUlzQUFBUVhCQ0RBd1JBSUFKQkFXb2hBZ3dDQ3dzTERBRUxJQVloQWdOQUlBSWdDMDhOQVFKL0lBSXNBQUFoRVJCY0dpQVJDeENLQVFSQUlBSkJBV29oQWd3QkN3c0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSL0lBSWdCa2NFUUFKQUlBSWhCeUFHSVFnRFFDQUlJQWRCZjJvaUIwOE5BU0FJTEFBQUlRd2dDQ0FITEFBQU9nQUFJQWNnRERvQUFDQUlRUUZxSVFnTUFBQUxBQXNMSUEwZ0RTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBaER5QUdJUXhCQUNFSVFRQWhCd05BSUF3Z0Fra0VRQ0FISUFvb0FnQWdDaUFLTEFBTFFRQklHMm9zQUFBaURrRUFTaUFJSUE1R2NRUkFJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dEem9BQUNBSElBY2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUVg5cVNXb2hCMEVBSVFnTElBa2dEQ3dBQUNBSktBSUFLQUljUVQ5eFFZb0JhaEVDQUNFT0lBVWdCU2dDQUNJUVFRRnFOZ0lBSUJBZ0Rqb0FBQ0FNUVFGcUlRd2dDRUVCYWlFSURBRUxDeUFESUFZZ0FHdHFJZ2NnQlNnQ0FDSUdSZ1IvSUFrRkEzOGdCeUFHUVg5cUlnWkpCSDhnQnl3QUFDRUlJQWNnQml3QUFEb0FBQ0FHSUFnNkFBQWdCMEVCYWlFSERBRUZJQWtMQ3dzRklBa2dCaUFDSUFVb0FnQWdDU2dDQUNnQ0lFRVBjVUdLQW1vUkNRQWFJQVVnQlNnQ0FDQUNJQVpyYWpZQ0FDQUpDeUVHQWtBQ1FBTkFJQUlnQzBrRVFDQUNMQUFBSWdkQkxrWU5BaUFKSUFjZ0JpZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJ5QUZJQVVvQWdBaUNFRUJhallDQUNBSUlBYzZBQUFnQWtFQmFpRUNEQUVMQ3d3QkN5QU5JQTBvQWdBb0FneEIvd0J4UVFocUVRQUFJUVlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHT2dBQUlBSkJBV29oQWdzZ0NTQUNJQXNnQlNnQ0FDQUpLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCU0FGS0FJQUlBc2dBbXRxSWdJMkFnQWdCQ0FDSUFNZ0FTQUFhMm9nQVNBTFJoczJBZ0FnQ2hCSElBb2tCZ3VlQVFFRmZDQUJLd05ZSUFJckF3QWlBeUFCUVVCckt3TUFvaUFDS3dNSUlnUWdBU3NEU0tLZ0lBSXJBeEFpQlNBQkt3TlFvcUNnSWdaRUFBQUFBQUFBQUFCaEJIOUJmd1VnQVNzRE9DQURJQUVyQXlDaUlBUWdBU3NES0tLZ0lBVWdBU3NETUtLZ29DRUhJQUFnQVNzREdDQURJQUVyQXdDaUlBUWdBU3NEQ0tLZ0lBVWdBU3NERUtLZ29DQUdvemtEQUNBQUlBY2dCcU01QXdoQkFBc0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlrTElRY2dCaVFHSUFjTDB3RUNBMzhCZmlNR0lRUWpCa0VRYWlRR0lBQWdBVVlFZnlBQ1FRUTJBZ0JCQUFWQnBNVURLQUlBSVFWQnBNVURRUUEyQWdBZ0FDQUVJQU1RWEJEOUFpRUhRYVRGQXlnQ0FDSUFSUVJBUWFURkF5QUZOZ0lBQ3lBQklBUW9BZ0JHQkg4Q2Z5QUFRY1FBUmdSQUlBSkJCRFlDQUVILy8vLy9CeUFIUWdCVkRRRWFCUUpBSUFkQ2dJQ0FnSGhUQkVBZ0FrRUVOZ0lBREFFTElBZW5JQWRDLy8vLy93ZFhEUUlhSUFKQkJEWUNBRUgvLy8vL0J3d0NDd3RCZ0lDQWdIZ0xCU0FDUVFRMkFnQkJBQXNMSVFZZ0JDUUdJQVlMb2dFQ0FuOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUZRYVRGQTBFQU5nSUFJQUFnQkNBREVGd1EvUUloQmtHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQlRZQ0FBc2dBU0FFS0FJQVJnUitJQUJCeEFCR0JINGdBa0VFTmdJQVF2Ly8vLy8vLy8vLy93QkNnSUNBZ0lDQWdJQ0FmeUFHUWdCVkd3VWdCZ3NGSUFKQkJEWUNBRUlBQ3lFR0N5QUVKQVlnQmd2V0FRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ3Si9JQUJCeEFCR0lBaEMvLzhEVm5JRVFDQUNRUVEyQWdCQmZ3d0JDeUFJcDBILy93TnhJUUJCQUNBSXAydEIvLzhEY1NBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd2SEFRSUVmd0YrSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IvSUFKQkJEWUNBRUVBQlFKL0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUVBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWhCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZ5QUFRY1FBUmlBSVF2Ly8vLzhQVm5JRWZ5QUNRUVEyQWdCQmZ3VkJBQ0FJcHlJQWF5QUFJQVViQ3dVZ0FrRUVOZ0lBUVFBTEN3c2hCeUFFSkFZZ0J3dTZBUUlEZndKK0l3WWhCQ01HUVJCcUpBWWdBQ0FCUmdSK0lBSkJCRFlDQUVJQUJRSitJQUFzQUFCQkxVWWlCUVJBSUFFZ0FFRUJhaUlBUmdSQUlBSkJCRFlDQUVJQURBSUxDMEdreFFNb0FnQWhCa0dreFFOQkFEWUNBQ0FBSUFRZ0F4QmNFS0VDSVFkQnBNVURLQUlBSWdCRkJFQkJwTVVESUFZMkFnQUxJQUVnQkNnQ0FFWUVmaUFBUWNRQVJnUitJQUpCQkRZQ0FFSi9CVUlBSUFkOUlBY2dCUnNMQlNBQ1FRUTJBZ0JDQUFzTEN5RUlJQVFrQmlBSUM0b0JBZ0ovQVgwakJpRURJd1pCRUdva0JpQUFJQUZHQkVBZ0FrRUVOZ0lBQlVHa3hRTW9BZ0FoQkVHa3hRTkJBRFlDQUJCY0dpQUFJQU5CQUJDZ0FyWWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVU1BQUFBQUlRVU1BUXNNQVFzZ0FrRUVOZ0lBQ3dzZ0F5UUdJQVVMalFFQ0FuOEJmQ01HSVFNakJrRVFhaVFHSUFBZ0FVWUVRQ0FDUVFRMkFnQUZRYVRGQXlnQ0FDRUVRYVRGQTBFQU5nSUFFRndhSUFBZ0EwRUJFS0FDSVFWQnBNVURLQUlBSWdCRkJFQkJwTVVESUFRMkFnQUxBa0FDUUNBQklBTW9BZ0JHQkVBZ0FFSEVBRVlOQVFWRUFBQUFBQUFBQUFBaEJRd0JDd3dCQ3lBQ1FRUTJBZ0FMQ3lBREpBWWdCUXVOQVFJQ2Z3RjhJd1loQXlNR1FSQnFKQVlnQUNBQlJnUkFJQUpCQkRZQ0FBVkJwTVVES0FJQUlRUkJwTVVEUVFBMkFnQVFYQm9nQUNBRFFRSVFvQUloQlVHa3hRTW9BZ0FpQUVVRVFFR2t4UU1nQkRZQ0FBc0NRQUpBSUFFZ0F5Z0NBRVlFUUNBQVFjUUFSZzBCQlVRQUFBQUFBQUFBQUNFRkRBRUxEQUVMSUFKQkJEWUNBQXNMSUFNa0JpQUZDemtCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FSQmlJUUVnQUVHRGt3TWdBeENWQXlFRUlBRUVRQ0FCRUdJYUN5QURKQVlnQkF0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuQXNoQnlBR0pBWWdCd3VsQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUlnQVd0QkFuVWlCRUh2Ly8vL0Ewc0VRQkFBQ3lBRVFRSkpCRUFnQUNBRU9nQUxJQUFoQXdVZ0JFRUVha0Y4Y1NJR1FmLy8vLzhEU3dSQUVBQUZJQUFnQmtFQ2RCQlJJZ00yQWdBZ0FDQUdRWUNBZ0lCNGNqWUNDQ0FBSUFRMkFnUUxDd05BSUFFZ0FrY0VRQ0FESUFFUWJpQUJRUVJxSVFFZ0EwRUVhaUVEREFFTEN5QUZRUUEyQWdBZ0F5QUZFRzRnQlNRR0M2c0RBZ3AvQVg0akJpRUZJd1pCSUdva0JpQUZRUkJxSVFNZ0JVRUlhaUVFSUFWQkJHb2hDU0FBTEFBMEJFQWdBQ2dDTUNFTElBRUVRQ0FBUVg4MkFqQWdBRUVBT2dBMEN5QUxJUUFGSUFBb0Fpd2lBa0VCSUFKQkFVb2JJUUlDUUFKQUEwQWdCaUFDVHcwQklBQW9BaUFROHdFaUIwRi9Sd1JBSUFNZ0Jtb2dCem9BQUNBR1FRRnFJUVlNQVFzTFFYOGhBQXdCQ3dKQUFrQWdBQ3dBTlFSQUlBUWdBeXdBQURvQUFBd0JCUUpBSUFSQkFXb2hCZ0pBQWtBQ1FBTkFBa0FnQUNnQ0tDSUhLUUlBSVF3Z0FDZ0NKQ0lJS0FJQUtBSVFJUW9DUUNBSUlBY2dBeUFDSUFOcUlnY2dDU0FFSUFZZ0JTQUtRUTl4UVk0RGFoRU9BRUVCYXc0REFBUURBUXNnQUNnQ0tDQU1Od0lBSUFKQkNFWU5BeUFBS0FJZ0VQTUJJZ2hCZjBZTkF5QUhJQWc2QUFBZ0FrRUJhaUVDREFFTEN3d0NDeUFFSUFNc0FBQTZBQUFNQVF0QmZ5RUFEQUVMREFJTEN3d0JDeUFCQkVBZ0FDQUVMQUFBRUVJMkFqQUZBa0FEUUNBQ1FRQk1EUUVnQXlBQ1FYOXFJZ0pxTEFBQUVFSWdBQ2dDSUJEdkFVRi9SdzBBQzBGL0lRQU1BZ3NMSUFRc0FBQVFRaUVBQ3dzTElBVWtCaUFBQzZVREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRFlDQUF3QkJRSkFJQVJCQkdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBMkFnQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUtBSUFOZ0l3QlFKQUEwQWdBa0VBVEEwQklBTWdBa0YvYWlJQ2Fpd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTFFYOGhBQXdDQ3dzZ0JDZ0NBQ0VBQ3dzTElBVWtCaUFBQzVvQkFRVi9Jd1loQVNNR1FSQnFKQVlnQVVFSWFpSUNRUWhxSVFVQ1FBSkFBMEFnQUNnQ0pDSURLQUlBS0FJVUlRUWdBeUFBS0FJb0lBSWdCU0FCSUFSQkgzRkJvZ0pxRVFnQUlRTUNRQ0FCS0FJQUlBSnJJZ1FnQWtFQklBUWdBQ2dDSUJDVEFVY05BQUpBSUFOQkFXc09BZ0FCQXdzTUFRc0xRWDhoQUF3QkN5QUFLQUlnRUtrQ1FRQkhRUjkwUVI5MUlRQUxJQUVrQmlBQUN4TUFJQUFnQUNnQ0FFRjBhaWdDQUdvUTZnSUxFd0FnQUNBQUtBSUFRWFJxS0FJQWFoQ1pBZ3NUQUNBQUlBQW9BZ0JCZEdvb0FnQnFFT3NDQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RbWdJTEt3RUJmd05BSUFKQkNFY0VRQ0FCSUFKcUlBQkJCeUFDYTJvc0FBQTZBQUFnQWtFQmFpRUNEQUVMQ3dzU0FDQUFRZHlNQVRZQ0FDQUFRUVJxRUR3TEJBQkJmd3NRQUNBQVFnQTNBd0FnQUVKL053TUlDeEFBSUFCQ0FEY0RBQ0FBUW44M0F3Z0xCQUFnQUFzckFRRi9BMEFnQWtFRVJ3UkFJQUVnQW1vZ0FFRURJQUpyYWl3QUFEb0FBQ0FDUVFGcUlRSU1BUXNMQ3hJQUlBQkJuSXdCTmdJQUlBQkJCR29RUEF0VEFRTi9JQUlvQWdBaEJDQUJJQUJyUVFKMUlRRURRQ0FCQkVBZ0FVRUJkaUlDUVFKMElBQnFJZ1VvQWdBZ0JFa2hBeUFGUVFScUlBQWdBeHNoQUNBQlFYOXFJQUpySUFJZ0F4c2hBUXdCQ3dzZ0FBdk9BUUVEZnlNR0lRSWpCa0hBQVdva0JpQUFJQUlRMVFRZ0FFRUVhaUFDUVFScUVOVUVBMEFnQVVFRFJ3UkFRUUFoQXdOQUlBTkJCRWNFUUNBQVFRaHFJQUZCQlhScUlBTkJBM1JxSUFKQkNHb2dBVUVGZEdvZ0EwRURkR29RendRZ0EwRUJhaUVEREFFTEN5QUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdBQ2dDc0FFaUEwRURkRUdZRldvb0FnQklCRUFnQUVIb0FHb2dBVUVEZEdvZ0FrSG9BR29nQVVFRGRHb1F6d1FnQVVFQmFpRUJEQUVMQ3lBQ0lBTTJBckFCSUFBZ0FrRzRBUkJNR2lBQ0pBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIWStRQkJCU0FCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkI0UGtBUVFRZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUWVqNUFFRURJQUVvQWdBUUNDQUJKQVlMSndFQmZ5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FFSHcrUUJCQWlBQktBSUFFQWdnQVNRR0N5Y0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0JCK1BrQVFRRWdBU2dDQUJBSUlBRWtCZ3NuQVFGL0l3WWhBU01HUVJCcUpBWWdBU0FBTmdJQVFZRDZBRUVBSUFFb0FnQVFDQ0FCSkFZTG1Bc0JGWHdDZndKQUFrQUNRQUpBQWtBQ1FDQUZRUUZyRGdRREFnRUFCQXNnQUNzREFDRUpJQUFyQXdnaENpQUFRVUJyS3dNQUlRMGdBQ3NERUNJT1JBQUFBQUFBQUFCQW9pRVBJQUFyQXhnaUVFUUFBQUFBQUFBWVFLSWhFeUFRUkFBQUFBQUFBQUJBb2lFVUlBNUVBQUFBQUFBQUdFQ2lJUlVnQVNBQUt3TXdJaGFoSUFBckF5QWlGNk1pQ3lFQklBSWdBQ3NET0NJWW9TQUFLd01vSWhtaklnd2hBaUFMSUF1aUlRWWdEQ0FNb2lFSFFRRWhBQU5BQWtBZ0JrUUFBQUFBQUFBQUFHSWdCMFFBQUFBQUFBQUFBR0p5UlFSQVJBQUFBQUFBQUFBQUlRRkVBQUFBQUFBQUFBQWhBZ3dCQ3lBSklBY2dCcUFpQ0tKRUFBQUFBQUFBOEQrZ0lBZ2dDaUFJb3FLZ0lSRWdCeUFHUkFBQUFBQUFBQWhBb2lJYW9pRVNJQUlnRGlBSFJBQUFBQUFBQUFCQW9pQUlvS0lnQWlBUm9xQWdBaUFVSUFFZ0VDQUlJQVpFQUFBQUFBQUFBRUNpb0tJZ0FpQVBJQUdpb2lBQklCR2lvS0FnQzZFZ0V5QUJvaUFQSUFLaUlBa2dCeUFhb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIb2lBR0lBWkVBQUFBQUFBQUZFQ2lvaUFTb0tDaW9LQ2dvNkVpQWFJaUNLS2dJQXloSUJVZ0FxSWdDU0FHSUFkRUFBQUFBQUFBQ0VDaW9LSkVBQUFBQUFBQThEK2dJQW9nQnlBSFJBQUFBQUFBQUJSQW9xSWdCaUFHb2lBU29LQ2lvS0FnQ0tDam9TRUNJQUJCQkVjRVFDQUJJQUdpSVFZZ0FpQUNvaUVISUFCQkFXb2hBQXdDQ3dzTElBTWdGaUFYSUFHaUlBMmpvRGtEQUNBWUlCa2dBcUlnRGFPZ0lRRU1CQXNnQUNzRElFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSUFBckF4aWpJZ0VnQWFJZ0FpQUFLd01Jb1NJQ0lBS2lvQ0lIbnlJTklRWURRQUpBSUFaRUFBQUFBQUFBQUFCaEJFQkVBQUFBQUFBQUFBQWhBa1FBQUFBQUFBQUFBQ0VCREFFTElBRWdCaUFHUkFBQUFBQUFBUEEvSUFnZ0I2S2hJQWNnQ2lBSG9xS2hvaUFOb1VRQUFBQUFBQUR3UHlBSklBZWlvU0FISUFzZ0I2S2lvYU9oSWdlaUlBYWpJUUVnQWlBSG9pQUdveUVDSUFWQkEwY0VRQ0FCSUFHaUlBSWdBcUtnSWdZaEJ5QUZRUUZxSVFVZ0JwOGhCZ3dDQ3dzTElBTWdEQ0FCSUFBckF4Q2pvRGtEQUNBQ0lBQXJBeENqSUFBckF3aWdJUUVNQXdzZ0FDc0RHRVFBQUFBQWhOZVhRYU1pQ0VRQUFBQUFBQUFJUUtJaENTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtNaUNrUUFBQUFBQUFBVVFLSWhDMEVCSVFVZ0FTQUFLd01BSWd5aElnY2dCNklnQWlBQUt3TUlvU0lDSUFLaW9DSUJueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFjZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQWFLaElBRWdDaUFCb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFHaW9TQUJJQXNnQWFLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUZRUUZxSVFVZ0FTSUhJQUdpSUFJZ0FxS2dJZ0dmSVFZTUFnc0xDeUFESUF3Z0FTQUFLd01RbzZBNUF3QWdBaUFBS3dNUW95QUFLd01Jb0NFQkRBSUxJQUFyQXhoRUFBQUFBSVRYbDBHaklnaEVBQUFBQUFBQUNFQ2lJUWxCQVNFRklBRWdBQ3NEQUNJS29TSUhJQWVpSUFJZ0FDc0RDS0VpQWlBQ29xQWlBWjhpQ3lFR0EwQUNRQ0FHUkFBQUFBQUFBQUFBWVFSQVJBQUFBQUFBQUFBQUlRSkVBQUFBQUFBQUFBQWhBUXdCQ3lBSElBWWdCa1FBQUFBQUFBRHdQeUFJSUFHaW9hSWdDNkZFQUFBQUFBQUE4RDhnQ1NBQm9xR2pvU0lIb2lBR295RUJJQUlnQjZJZ0JxTWhBaUFGUVFOSEJFQWdCVUVCYWlFRklBRWlCeUFCb2lBQ0lBS2lvQ0lCbnlFR0RBSUxDd3NnQXlBS0lBRWdBQ3NERUtPZ09RTUFJQUlnQUNzREVLTWdBQ3NEQ0tBaEFRd0JDMEYvREFFTElBUWdBVGtEQUVFQUN4b0w1UUVBUWJqNEFFSDFnZ01RTFVIQStBQkIrb0lEUVFGQkFVRUFFQzhRNUFzUTR3c1E0Z3NRNFFzUTRBc1Ezd3NRM2dzUTNRc1EzQXNRMndzUTJndEJ5UElBUWVTREF4QVZRZUQ2QUVId2d3TVFGVUhJK2dCQkJFR1JoQU1RRWtHdytnQkJBa0dlaEFNUUVrR1krZ0JCQkVHdGhBTVFFa0dRK2dCQnZJUURFQzRRMlF0QjZvUURFTjRFUVkrRkF4RGRCRUcyaFFNUTNBUkIxWVVERU5zRVFmMkZBeERhQkVHYWhnTVEyUVFRMXdzUTFndEJoWWNERU40RVFhV0hBeERkQkVIR2h3TVEzQVJCNTRjREVOc0VRWW1JQXhEYUJFR3FpQU1RMlFRUTFRc1ExQXNRMHdzTFdnRURmeUFBS0FJRUlRVWdBZ1JBSUFWQkNIVWhCQ0FGUVFGeEJFQWdCQ0FDS0FJQWFpZ0NBQ0VFQ3dzZ0FDZ0NBQ0lBS0FJQUtBSWNJUVlnQUNBQklBSWdCR29nQTBFQ0lBVkJBbkViSUFaQkgzRkIrZ1ZxRVFjQUN3c0FJQUFRNHdRZ0FCQTRDeE1BSUFCQm9Jc0JOZ0lBSUFCQkJHb1E3Z3NMeHdJQkJIOGpCaUVESXdaQlFHc2tCaUFBSUFBb0FnQWlCRUY0YWlnQ0FHb2hCU0FFUVh4cUtBSUFJUVFnQXlBQ05nSUFJQU1nQURZQ0JDQURJQUUyQWdnZ0EwRUFOZ0lNSUFOQ0FEY0NFQ0FEUWdBM0FoZ2dBMElBTndJZ0lBTkNBRGNDS0NBRFFRQTJBakFnQTBFQU93RTBJQU5CQURvQU5pQUVJQUpCQUJDQkFRUi9JQU5CQVRZQ01DQUVJQU1nQlNBRlFRRkJBQ0FFS0FJQUtBSVVRUWR4UWRvR2FoRU1BQ0FGUVFBZ0F5Z0NHRUVCUmhzRkFuOGdCQ0FESUFWQkFVRUFJQVFvQWdBb0FoaEJQM0ZCbWdacUVRVUFBa0FDUUFKQUlBTW9BaVFPQWdBQ0FRc2dBeWdDRkVFQUlBTW9BaWhCQVVZZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5FYkRBSUxRUUFNQVFzZ0F5Z0NHRUVCUndSQVFRQWdBeWdDS0VVZ0F5Z0NIRUVCUm5FZ0F5Z0NJRUVCUm5GRkRRRWFDeUFES0FJUUN3c2hCaUFESkFZZ0JndW5EQUlIZndoOUlBRzhJZ1ZCLy8vLy93ZHhJZ0pGSUFDOElnWkJnSUNBL0FOR2NnUkFRd0FBZ0Q4UEN5QUdRZi8vLy84SGNTSURRWUNBZ1B3SFN5QUNRWUNBZ1B3SFMzSUVRQ0FBSUFHU0R3c2dCa0VBU0NJSUJIOGdBa0gvLy8vYkJFc0VmMEVDQlNBQ1FmLy8vL3NEU3dSL1FRSWdBa0dXQVNBQ1FSZDJheUlFZGlJSFFRRnhhMEVBSUFjZ0JIUWdBa1liQlVFQUN3c0ZRUUFMSVFRQ1FDQUZRZi8vLy84SGNTSUhRWUNBZ1B3SFNBUkFJQWRCZ0lDQS9BTnJEUUVnQUVNQUFJQS9JQUNWSUFWQmYwb2JEd1VnQjBHQWdJRDhCMnNOQVNBRFFZQ0FnUHdEUmdSQVF3QUFnRDhQQ3lBRlFYOUtJUUlnQTBHQWdJRDhBMHNFUUNBQlF3QUFBQUFnQWhzUEJVTUFBQUFBSUFHTUlBSWJEd3NBQ3dBTElBVkJnSUNBZ0FSR0JFQWdBQ0FBbEE4TElBVkJnSUNBK0FOR0lBWkJmMHB4QkVBZ0FKRVBDeUFBaXlFSkFrQUNRQUpBSUFORklBTkJnSUNBZ0FSeVFZQ0FnUHdIUm5JRVFFTUFBSUEvSUFtVklBa2dCVUVBU0JzaEFDQUlSUVJBSUFBUEN5QUVJQU5CZ0lDQWhIeHFjZ1JBSUFDTUlBQWdCRUVCUmhzUEN3d0JDeUFJQkVBQ1FBSkFBa0FnQkE0Q0JBQUJDME1BQUlDL0lRc01BUXREQUFDQVB5RUxDd1ZEQUFDQVB5RUxDeUFDUVlDQWdPZ0VTd1JBQWtBZ0EwSDQvLy83QTBrRVFDQUxROHJ5U1hHVVE4cnlTWEdVSUF0RFlFS2lEWlJEWUVLaURaUWdCVUVBU0JzUEN5QURRWWVBZ1B3RFRRUkFJQWxEQUFDQXY1SWlBRU1BcXJnL2xDSUtJQUJEY0tYc05wUWdBQ0FBbEVNQUFBQS9JQUJEcTZxcVBpQUFRd0FBZ0Q2VWs1U1RsRU03cXJnL2xKTWlBSks4UVlCZ2NiNGlEQ0VKSUF3Z0NwTWhDZ3dCQ3lBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTaHNQQ3dVZ0NVTUFBSUJMbEx3Z0F5QURRWUNBZ0FSSklnTWJJZ1JCRjNWQjZYNUJnWDhnQXh0cUlRSWdCRUgvLy84RGNTSUVRWUNBZ1B3RGNpRURJQVJCOG9qekFFa0VRRUVBSVFRRklBUkIxK2YyQWtraUJpRUVJQUlnQmtFQmMwRUJjV29oQWlBRElBTkJnSUNBZkdvZ0Joc2hBd3NnQkVFQ2RFSEFpZ0ZxS2dJQUlnNGdBNzRpQ2lBRVFRSjBRYkNLQVdvcUFnQWlESk1pRFVNQUFJQS9JQXdnQ3BLVklnK1VJZ204UVlCZ2NiNGlBQ0FBSUFDVUloQkRBQUJBUUpJZ0NTQUFraUFQSUEwZ0EwRUJkVUdBNFAvL2ZYRkJnSUNBZ0FKeVFZQ0FnQUpxSUFSQkZYUnF2aUlOSUFDVWt5QUtJQTBnREpPVElBQ1VrNVFpQ3BRZ0NTQUpsQ0lBSUFDVUlBQWdBQ0FBSUFBZ0FFTkM4Vk0rbEVOVk1tdytrcFJEQmFPTFBwS1VRNnVxcWo2U2xFTzNiZHMra3BSRG1wa1pQNUtVa2lJTWtyeEJnR0J4dmlJQWxDSU5JQW9nQUpRZ0NTQU1JQUJEQUFCQXdKSWdFSk9UbEpJaUNaSzhRWUJnY2I0aUFFTUFRSFkvbENJS0lBUkJBblJCdUlvQmFpb0NBQ0FKSUFBZ0RaT1RRMDg0ZGorVUlBQkR4aVAyT0pTVGtpSUFrcElnQXJJaURKSzhRWUJnY2I0aURTRUpJQTBnREpNZ0RwTWdDcE1oQ2dzZ0FDQUtreUFCbENBQklBVkJnR0J4dmlJQWt5QUpsSkloQVNBSklBQ1VJZ0FnQVpJaUNid2lBMEdBZ0lDWUJFb05BUUpBQWtBZ0EwR0FnSUNZQkVZRVFDQUJRenlxT0RPU0lBa2dBSk5lQkVBTUJRVkJnSUNBbUFRaEFnd0NDd0FGQWtBZ0EwSC8vLy8vQjNFaUFrR0FnTmlZQkVzTkJpQUJJQWtnQUpOZlJTQURRWUNBMkpoOFIzSUVRQ0FDUVlDQWdQZ0RTd1JBREFRRlFRQWhBZ3dDQ3dBTERBWUxDd3dCQ3lBRFFZQ0FnQVFnQWtFWGRrR0NmMnAyYWlJQ1FSZDJRZjhCY1NFRklBQWdBa0dBZ0lCOElBVkJnWDlxZFhHK2t5SUpJUUJCQUNBQ1FmLy8vd054UVlDQWdBUnlRWllCSUFWcmRpSUNheUFDSUFOQkFFZ2JJUUlnQVNBSmtyd2hBd3NnQzBNQUFJQS9JQU5CZ0lCK2NiNGlDVU1BY2pFL2xDSUtJQWxEakw2L05aUWdBU0FKSUFDVGswTVljakUvbEpJaUNaSWlBQ0FBSUFBZ0FKUWlBU0FCSUFFZ0FTQUJRMHk3TVRPVVF3N3EzYldTbEVOVnM0bzRrcFJEWVFzMnU1S1VRNnVxS2o2U2xKTWlBWlFnQVVNQUFBREFrcFVnQ1NBQUlBcVRreUlCSUFBZ0FaU1NreUFBazVNaUFMd2dBa0VYZEdvaUEwR0FnSUFFU0FSOUlBQWdBaEQxQkFVZ0E3NExsQThMSUFBZ0FKTWlBQ0FBbFE4TElBdER5dkpKY1pSRHl2SkpjWlFQQ3lBTFEyQkNvZzJVUTJCQ29nMlVDOEFCQVFKL0l3WWhBU01HUVJCcUpBWWdBTDFDSUlpblFmLy8vLzhIY1NJQ1FmekRwUDhEU1FSQUlBSkJnSURBOGdOUEJFQWdBRVFBQUFBQUFBQUFBRUVBRU5RQklRQUxCUUo4SUFBZ0FLRWdBa0gvLzcvL0Iwc05BQm9DUUFKQUFrQUNRQ0FBSUFFUS9BSkJBM0VPQXdBQkFnTUxJQUVyQXdBZ0FTc0RDRUVCRU5RQkRBTUxJQUVyQXdBZ0FTc0RDQkRUQVF3Q0N5QUJLd01BSUFFckF3aEJBUkRVQVpvTUFRc2dBU3NEQUNBQkt3TUlFTk1CbWdzaEFBc2dBU1FHSUFBTHlBRUNBbjhCZkNNR0lRRWpCa0VRYWlRR0lBQzlRaUNJcDBILy8vLy9CM0VpQWtIOHc2VC9BMGtFZkNBQ1FaN0JtdklEU1FSOFJBQUFBQUFBQVBBL0JTQUFSQUFBQUFBQUFBQUFFTk1CQ3dVQ2ZDQUFJQUNoSUFKQi8vKy8vd2RMRFFBYUFrQUNRQUpBQWtBZ0FDQUJFUHdDUVFOeERnTUFBUUlEQ3lBQkt3TUFJQUVyQXdnUTB3RU1Bd3NnQVNzREFDQUJLd01JUVFFUTFBR2FEQUlMSUFFckF3QWdBU3NEQ0JEVEFab01BUXNnQVNzREFDQUJLd01JUVFFUTFBRUxDeUVESUFFa0JpQURDOWtDQVFaL0l3WWhDQ01HUVpBQ2FpUUdJQWhCZ0FKcUlnY2dBU2dDQUNJRU5nSUFJQU5CZ0FJZ0FFRUFSeUlKR3lFRklBQWdDQ0FKR3lFQUlBVkJBRWNnQkVFQVIzRUVRQUpBUVFBaEF3TkFBa0FnQWlBRlR5SUdJQUpCSUV0eVJRMENJQUlnQlNBQ0lBWWJJZ1JySVFJZ0FDQUhJQVFROHdRaUJFRi9SZzBBSUFWQkFDQUVJQUFnQ0VZaUJodHJJUVVnQUNBQUlBUnFJQVliSVFBZ0F5QUVhaUVESUFjb0FnQWlCRUVBUnlBRlFRQkhjUTBCREFJTEMwRi9JUU5CQUNFRklBY29BZ0FoQkFzRlFRQWhBd3NnQkFSQUlBVkJBRWNnQWtFQVIzRUVRQUpBQTBBZ0FDQUVLQUlBRUo0QklnWkJBV3BCQWs4RVFDQUhJQWNvQWdCQkJHb2lCRFlDQUNBQUlBWnFJUUFnQXlBR2FpRURJQVVnQm1zaUJVRUFSeUFDUVg5cUlnSkJBRWR4RFFFTUFnc0xJQVlFUUVGL0lRTUZJQWRCQURZQ0FBc0xDd3NnQ1FSQUlBRWdCeWdDQURZQ0FBc2dDQ1FHSUFNTGFRRUNmeUFBSUFGclFRSjFJQUpKQkVBRFFDQUNRWDlxSWdKQkFuUWdBR29nQWtFQ2RDQUJhaWdDQURZQ0FDQUNEUUFMQlNBQ0JFQURRQ0FCUVFScUlRTWdBRUVFYWlFRUlBQWdBU2dDQURZQ0FDQUNRWDlxSWdJRVFDQURJUUVnQkNFQURBRUxDd3NMQzRnQkFRVi9JQUFvQWdRaUJTQUJLQUlJUmdSL0lBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmeUFCS0FJQUlBSkJBblJxSVFOQkFDRUVBMEFnQkNBR1NBUkFJQUFnQXlnQ0FEWUNBQ0FGUVFKMElBTnFJUU1nQkVFQmFpRUVJQUJCQkdvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEN5b0JBWDhnQWdSQUEwQWdBRUVFYWlFRElBQWdBVFlDQUNBQ1FYOXFJZ0lFUUNBRElRQU1BUXNMQ3d0a0FRSi9JQUFRWUNBQWFpRUFJQUlFUUFKQUlBSWhBeUFCSVFJZ0FDRUJBMzhnQWl3QUFDSUVSUTBCSUFKQkFXb2hBaUFCUVFGcUlRQWdBU0FFT2dBQUlBTkJmMm9pQXdSL0lBQWhBUXdCQlNBQUN3c2hBUXNGSUFBaEFRc2dBVUVBT2dBQUM5VUJBUVIvUWZHcEFTRUNJd1loQXlNR1FTQnFKQVlDUUFKQVFmR3BBU3dBQUNJQlJRMEFRZktwQVN3QUFFVU5BQ0FEUVFCQklCQkZHa0h4cVFFc0FBQWlBUVJBQTBBZ0FVSC9BWEVpQVVFRmRrRUNkQ0FEYWlJRUlBUW9BZ0JCQVNBQlFSOXhkSEkyQWdBZ0FrRUJhaUlDTEFBQUlnRU5BQXNMSUFBc0FBQWlBUVJBQWtBZ0FDRUNBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaWdDQUVFQklBRkJIM0YwY1EwQklBSkJBV29pQWl3QUFDSUJEUUFMQ3dVZ0FDRUNDd3dCQ3lBQUlBRVFxZ0loQWdzZ0F5UUdJQUlnQUdzTGxBRUJBMzhEUUNBQVFRRnFJUUVnQUN3QUFCQ3lBUVJBSUFFaEFBd0JDd3NDZndKQUFrQUNRQUpBSUFBc0FBQWlBMEVyYXc0REFRSUFBZ3RCQVNFQURBSUxRUUFoQUF3QkN5QUREQUVMSUFBaEFpQUJJZ0FzQUFBTEVJb0JCRUJCQUNFQkEwQWdBVUVLYkVFd2FpQUFMQUFBYXlFQklBQkJBV29pQUN3QUFCQ0tBUTBBQ3dWQkFDRUJDeUFCUVFBZ0FXc2dBaHNMWkFJQmZ3RitJQUFvQWlnaEFTQUFRZ0FnQUNnQ0FFR0FBWEVFZjBFQ1FRRWdBQ2dDRkNBQUtBSWNTeHNGUVFFTElBRkJBM0ZCcGdOcUVSUUFJZ0pDQUZrRVFDQUFLQUlVSUFBb0FoeHJyQ0FDSUFBb0FnZ2dBQ2dDQkd1c2ZYd2hBZ3NnQWd1QkF3RUhmeU1HSVFVakJrR1FDR29rQmlBRlFZQUlhaUlJSUFFb0FnQWlCallDQUNBRFFZQUNJQUJCQUVjaUNSc2hCeUFBSUFVaUNpQUpHeUVESUFkQkFFY2dCaUlGUVFCSGNRUkFBa0JCQUNFQUEwQUNRQ0FDUVFKMklnWWdCMDhpQ3lBQ1FZTUJTM0pGRFFJZ0FpQUhJQVlnQ3hzaUJXc2hBaUFESUFnZ0JTQUVFUDRDSWdWQmYwWU5BQ0FIUVFBZ0JTQURJQXBHSWdZYmF5RUhJQU1nQlVFQ2RDQURhaUFHR3lFRElBQWdCV29oQUNBSUtBSUFJZ1ZCQUVjZ0IwRUFSM0VOQVF3Q0N3dEJmeUVBUVFBaEJ5QUlLQUlBSVFVTEJVRUFJUUFMSUFVRVFDQUhRUUJISUFKQkFFZHhCRUFDUUFOQUlBTWdCU0FDSUFRUTF3RWlCa0VDYWtFRFR3UkFJQWdnQmlBSUtBSUFhaUlGTmdJQUlBTkJCR29oQXlBQVFRRnFJUUFnQjBGL2FpSUhRUUJISUFJZ0Jtc2lBa0VBUjNFTkFRd0NDd3NDUUFKQUFrQWdCa0YvYXc0Q0FBRUNDeUFHSVFBTUFnc2dDRUVBTmdJQURBRUxJQVJCQURZQ0FBc0xDeUFKQkVBZ0FTQUlLQUlBTmdJQUN5QUtKQVlnQUF1SUFRRUZmeUFBS0FJRUlnVWdBU2dDQ0VZRWZ5QUFLQUlJSWdZZ0FTZ0NCRVlFZnlBQUtBSUFJUUFEZnlBQ0lBVklCSDhnQVNnQ0FDQUNRUU4wYWlFRFFRQWhCQU5BSUFRZ0JrZ0VRQ0FBSUFNckF3QTVBd0FnQlVFRGRDQURhaUVESUFSQkFXb2hCQ0FBUVFocUlRQU1BUXNMSUFKQkFXb2hBZ3dCQlVFQUN3c0ZRWDhMQlVGL0N3dDdBUUYvQWtBZ0FDZ0NURUVBVGdSQUFrQWdBQ3dBUzBFS1JnMEFJQUFvQWhRaUFTQUFLQUlRVHcwQUlBQWdBVUVCYWpZQ0ZDQUJRUW82QUFBTUFnc2dBQkNaQXd3QkN5QUFMQUJMUVFwSEJFQWdBQ2dDRkNJQklBQW9BaEJKQkVBZ0FDQUJRUUZxTmdJVUlBRkJDam9BQUF3Q0N3c2dBQkNaQXdzTHhRTUJCSDhqQmlFR0l3WkJFR29rQmdKQUlBQUVRQ0FDUVFOTEJFQUNRQ0FDSVFNZ0FTZ0NBQ0VFQTBBQ1FDQUVLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FBSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRElBVnJJUU1nQUNBRmFnVWdBQ0FGT2dBQUlBTkJmMm9oQXlBQktBSUFJUVFnQUVFQmFnc2hBQ0FCSUFSQkJHb2lCRFlDQUNBRFFRTkxEUUVnQXlFRURBSUxDeUFBUVFBNkFBQWdBVUVBTmdJQUlBSWdBMnNoQWd3REN3VWdBaUVFQ3lBRUJFQWdBQ0VESUFFb0FnQWhBQUpBQTBBQ1FDQUFLQUlBSWdWQmYycEIvZ0JMQkg4Z0JVVU5BU0FHSUFVUW5nRWlCVUYvUmdSQVFYOGhBZ3dIQ3lBRUlBVkpEUU1nQXlBQUtBSUFFSjRCR2lBRElBVnFJUU1nQkNBRmF3VWdBeUFGT2dBQUlBTkJBV29oQXlBQktBSUFJUUFnQkVGL2Fnc2hCQ0FCSUFCQkJHb2lBRFlDQUNBRURRRU1CUXNMSUFOQkFEb0FBQ0FCUVFBMkFnQWdBaUFFYXlFQ0RBTUxJQUlnQkdzaEFnc0ZJQUVvQWdBaUFDZ0NBQ0lCQkVCQkFDRUNBMEFnQVVIL0FFc0VRQ0FHSUFFUW5nRWlBVUYvUmdSQVFYOGhBZ3dGQ3dWQkFTRUJDeUFCSUFKcUlRSWdBRUVFYWlJQUtBSUFJZ0VOQUFzRlFRQWhBZ3NMQ3lBR0pBWWdBZ3RhQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFDS0FJQU5nSUFRUUJCQUNBQklBTVFxUUVpQkVFQVNBUi9RWDhGSUFBZ0JFRUJhaUlFRUVRaUFEWUNBQ0FBQkg4Z0FDQUVJQUVnQWhDcEFRVkJmd3NMSVFVZ0F5UUdJQVVMbXdFQkFuOGdBVUgvQUVvRVFDQUFRd0FBQUgrVUlnQkRBQUFBZjVRZ0FDQUJRZjRCU2lJQ0d5RUFJQUZCZ241cUlnTkIvd0FnQTBIL0FFZ2JJQUZCZ1g5cUlBSWJJUUVGSUFGQmduOUlCRUFnQUVNQUFJQUFsQ0lBUXdBQWdBQ1VJQUFnQVVHRWZrZ2lBaHNoQUNBQlFmd0JhaUlEUVlKL0lBTkJnbjlLR3lBQlFmNEFhaUFDR3lFQkN3c2dBQ0FCUVJkMFFZQ0FnUHdEYXI2VUM0TUdBZ3AvQW4wakJpRUpJd1pCMEE5cUpBWWdBVUgwQTBvRVFFRUFJUUFGQWtBQ1FBSkFBa0FnQVE0Q0FBRUNDMEVBSVFBTUFnc2dBRU1BQUlBL0lBQXFBZ0NWT0FJQURBRUxBMEFnQlNBQlNBUkFJQVZCQW5RZ0NXb2dCVFlDQUNBRlFRRnFJUVVNQVFzTElBRkJmMnBCQW5RZ0FHb2lEQ0VLQTBBZ0JpQUJTQVJBUXdBQUFBQWhEU0FDSUFac1FRSjBJQUJxSWdVaEIwRi9JUVFnQmlFREEwQWdBU0FEUndSQUlBMGdCeW9DQUlzaURsMGhDQ0FPSUEwZ0NCc2hEU0FDUVFKMElBZHFJUWNnQXlBRUlBZ2JJUVFnQTBFQmFpRUREQUVMQ3lBRVFYOUdJQTFELytiYkxsOXlCRUJCQUNFQURBTUZJQVJCQW5RZ0NXb2lBeWdDQUNFSElBTWdCa0VDZENBSmFpSURLQUlBTmdJQUlBTWdCellDQUVFQUlRY2dCU0VESUFJZ0JHeEJBblFnQUdvaEJBTkFJQUVnQjBjRVFDQUVLQUlBSVFnZ0JDQURLQUlBTmdJQUlBTWdDRFlDQUNBSFFRRnFJUWNnQTBFRWFpRURJQVJCQkdvaEJBd0JDd3NnQlNvQ0FDRU5RUUVoQkNBRklRTURRQ0FCSUFSSEJFQWdBeUFEUVFScUlnTXFBZ0FnRFpVNEFnQWdCRUVCYWlFRURBRUxDeUFLUXdBQWdEOGdEWlU0QWdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRUNkQ0FBYWlJREtnSUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkJHb2lBeW9DQUNBTklBY3FBZ0NVa3pnQ0FDQUhRUVJxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lvQ0FKU01PQUlBQ3lBSVFRRnFJUWdnQWtFQ2RDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRUNkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFKMElBQnFJUVlnQTBFQ2RDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNb0FnQWhCeUFESUFZb0FnQTJBZ0FnQmlBSE5nSUFJQVJCQVdvaEJDQUNRUUowSUFacUlRWWdBa0VDZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTC9RRUJCWDlCOGFrQklRRWpCaUVESXdaQklHb2tCaUFEUWdBM0F3QWdBMElBTndNSUlBTkNBRGNERUNBRFFnQTNBeGhCOGFrQkxBQUFJZ0lFZndKL1FmS3BBU3dBQUVVRVFDQUFJUUVEUUNBQlFRRnFJUVFnQWlBQkxBQUFSZ1JBSUFRaEFRd0JDd3NnQVNBQWF3d0JDd05BSUFKQi93RnhJZ0pCQlhaQkFuUWdBMm9pQkNBRUtBSUFRUUVnQWtFZmNYUnlOZ0lBSUFGQkFXb2lBU3dBQUNJQ0RRQUxJQUFzQUFBaUFnUkFBa0FnQUNFQkEwQWdBa0gvQVhFaUJFRUZka0VDZENBRGFpZ0NBRUVCSUFSQkgzRjBjVVVOQVNBQlFRRnFJZ0VzQUFBaUFnMEFDd3NGSUFBaEFRc2dBU0FBYXdzRlFRQUxJUVVnQXlRR0lBVUxrd1lDQ244Q2ZDTUdJUWtqQmtIUUQyb2tCaUFCUWZRRFNnUkFRUUFoQUFVQ1FBSkFBa0FDUUNBQkRnSUFBUUlMUVFBaEFBd0NDeUFBUkFBQUFBQUFBUEEvSUFBckF3Q2pPUU1BREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBM1FnQUdvaURDRUtBMEFnQmlBQlNBUkFSQUFBQUFBQUFBQUFJUTBnQWlBR2JFRURkQ0FBYWlJRklRZEJmeUVFSUFZaEF3TkFJQUVnQTBjRVFDQU5JQWNyQXdDWklnNWpJUWdnRGlBTklBZ2JJUTBnQWtFRGRDQUhhaUVISUFNZ0JDQUlHeUVFSUFOQkFXb2hBd3dCQ3dzZ0JFRi9SaUFOUkx1OTE5bmZmTnM5WlhJRVFFRUFJUUFNQXdVZ0JFRUNkQ0FKYWlJREtBSUFJUWNnQXlBR1FRSjBJQWxxSWdNb0FnQTJBZ0FnQXlBSE5nSUFRUUFoQnlBRklRTWdBaUFFYkVFRGRDQUFhaUVFQTBBZ0FTQUhSd1JBSUFRckF3QWhEU0FFSUFNckF3QTVBd0FnQXlBTk9RTUFJQWRCQVdvaEJ5QURRUWhxSVFNZ0JFRUlhaUVFREFFTEN5QUZLd01BSVExQkFTRUVJQVVoQXdOQUlBRWdCRWNFUUNBRElBTkJDR29pQXlzREFDQU5vemtEQUNBRVFRRnFJUVFNQVFzTElBcEVBQUFBQUFBQThEOGdEYU01QXdCQkFDRUlJQXdoQkFOQUlBRWdDRWNFUUNBR0lBaEhCRUFnQWlBSWJFRURkQ0FBYWlJREt3TUFJUTBnQlNFSFFRRWhDd05BSUFFZ0MwY0VRQ0FESUFOQkNHb2lBeXNEQUNBTklBY3JBd0Npb1RrREFDQUhRUWhxSVFjZ0MwRUJhaUVMREFFTEN5QUVJQTBnQ2lzREFLS2FPUU1BQ3lBSVFRRnFJUWdnQWtFRGRDQUVhaUVFREFFTEN5QUdRUUZxSVFZZ0FrRURkQ0FLYWlFS0RBSUxBQXNMUVFBaEJRTkFJQVVnQVVnRVFDQUZJUU1EUUFKQUlBTkJBblFnQ1dvaEJpQURJQUZPRFFBZ0JTQUdLQUlBUmcwQUlBTkJBV29oQXd3QkN3c2dCaUFGUVFKMElBbHFLQUlBTmdJQVFRQWhCQ0FGUVFOMElBQnFJUVlnQTBFRGRDQUFhaUVEQTBBZ0JDQUJTQVJBSUFNckF3QWhEU0FESUFZckF3QTVBd0FnQmlBTk9RTUFJQVJCQVdvaEJDQUNRUU4wSUFacUlRWWdBa0VEZENBRGFpRUREQUVMQ3lBRlFRRnFJUVVNQVFzTEN3c2dDU1FHSUFBTGxBSUJBWDhDUUFKQUlBQWdBWE5CQTNFTkFBSkFJQUpCQUVjaUF5QUJRUU54UVFCSGNRUkFBMEFnQUNBQkxBQUFJZ002QUFBZ0EwVU5BaUFBUVFGcUlRQWdBa0YvYWlJQ1FRQkhJZ01nQVVFQmFpSUJRUU54UVFCSGNRMEFDd3NnQXdSQUlBRXNBQUFFUUNBQ1FRTkxCRUFEUUNBQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBSUFNMkFnQWdBVUVFYWlFQklBQkJCR29oQUNBQ1FYeHFJZ0pCQTBzTkFRc0xDd3dEQ3dWQkFDRUNDd3NNQVFzZ0FnUi9JQUVoQXlBQ0lRRURmeUFBSUFNc0FBQWlBam9BQUNBQ1JRUkFJQUVoQWd3REN5QURRUUZxSVFNZ0FFRUJhaUVBSUFGQmYyb2lBUTBBUVFBTEJVRUFDeUVDQ3lBQVFRQWdBaEJGR2d0QUFRSi9JQUlFUUNBQklRTWdBQ0VCQTBBZ0EwRUVhaUVBSUFGQkJHb2hCQ0FCSUFNb0FnQTJBZ0FnQWtGL2FpSUNCRUFnQUNFRElBUWhBUXdCQ3dzTEN3TUFBUXNzQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSWdBVFlDQkVIYkFDQUNFRElRbWdNYUlBSWtCZ3ZXQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRUUFRaGdNRVFBTkFRUUVnQUhSQi8vLy8vd2R4QkVBZ0FFRUNkQ0FBUVlhVEF4Q0ZBellDQUFzZ0FFRUJhaUlBUVFaSERRQUxCUUpBQTBBZ0JFRUJJQUIwUWYvLy8vOEhjU0lEUlVFQWNRUi9JQUJCQW5Rb0FnQUZJQUJCaHBNRFFhZlZBeUFER3hDRkF3c2lBMEVBUjJvaEJDQUFRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRUVpIRFFBTEFrQUNRQUpBSUFSQi8vLy8vd2R4RGdJQUFRSUxRY3pFQXlFQkRBSUxJQUlvQWdCQjhJY0JSZ1JBUVl5SUFTRUJDd3NMQ3lBQ0pBWWdBUXVyQXdJSmZ3SjhJQUFvQWdRaUJVRUJTQ0FBS0FJSUlnWkJBVWh5Qkg5QmZ3VWdBU2dDQkNBRlJnUi9JQUVvQWdnZ0JVWUVmeUFDS0FJRUlBVkdCSDhnQWlnQ0NDQUdSZ1IvSUFNb0FnUWdCVVlFZnlBQ0tBSUFJUUlEUUFKQUlBUWdCVTROQUNBREtBSUFJQVJCQTNScUt3TUFJZzFFdkluWWw3TFNuRHhqRFFCRUFBQUFBQUFBOEQ4Z0RabWZveUVPSUFRZ0JXd2hERUVBSVFjZ0FpRUlBMEFnQmlBSFJ3UkFRUUFoQ1NBQktBSUFJQXhCQTNScUlRcEVBQUFBQUFBQUFBQWhEU0FBS0FJQUlBZEJBM1JxSVFzRFFDQUZJQWxIQkVBZ0RTQUtLd01BSUFzckF3Q2lvQ0VOSUFsQkFXb2hDU0FLUVFocUlRb2dCa0VEZENBTGFpRUxEQUVMQ3lBSUlBNGdEYUk1QXdBZ0IwRUJhaUVISUFoQkNHb2hDQXdCQ3dzZ0JFRUJhaUVFSUFaQkEzUWdBbW9oQWd3QkN3c2dBaUVBQTM4Z0JDQUZTQVIvSUFNb0FnQWdCRUVEZEdwRUFBQUFBQUFBQUFBNUF3QkJBQ0VCQTBBZ0FTQUdTQVJBSUFCRUFBQUFBQUFBQUFBNUF3QWdBVUVCYWlFQklBQkJDR29oQUF3QkN3c2dCRUVCYWlFRURBRUZRUUFMQ3dWQmZ3c0ZRWDhMQlVGL0N3VkJmd3NGUVg4TEN3dU9BUUVDZndKQUFrQURRQ0FDUWJEYUFHb3RBQUFnQUVjRVFDQUNRUUZxSWdKQjF3QkhEUUZCMXdBaEFnd0NDd3NnQWcwQVFaRGJBQ0VBREFFTFFaRGJBQ0VBQTBBZ0FDRURBMEFnQTBFQmFpRUFJQU1zQUFBRVFDQUFJUU1NQVFzTElBSkJmMm9pQWcwQUN3c2dBU2dDRkNJQkJIOGdBU2dDQUNBQktBSUVJQUFRbXdVRlFRQUxJZ0VnQUNBQkd3czFBQ0FCQkg4Q2Z3TkFJQUFnQVVGL2FpSUJhaTBBQUVFdlJ3UkFJQUVFUUF3Q0JVRUFEQU1MQUFzTElBQWdBV29MQlVFQUN3dXNBUUVEZjBHY3VBRWhBaUFBUVp5NEFYTkJBM0ZGQkVCQm5MZ0JLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjVVVFUUFOL0lBQkJCR29oQVNBQUlBTTJBZ0FnQWtFRWFpSUNLQUlBSWdOQi8vMzdkMm9nQTBHQWdZS0VlSEZCZ0lHQ2hIaHpjUVIvSUFFRklBRWhBQXdCQ3dzaEFBc0xJQUFnQWl3QUFDSUJPZ0FBSUFFRVFBTkFJQUJCQVdvaUFDQUNRUUZxSWdJc0FBQWlBVG9BQUNBQkRRQUxDd3MxQVFKL0lBSWdBQ2dDRUNBQUtBSVVJZ1JySWdNZ0F5QUNTeHNoQXlBRUlBRWdBeEJNR2lBQUlBQW9BaFFnQTJvMkFoUWdBZ3VVQ1FJWWZ3ZDhJd1loR0NNR1FSQnFKQVlnR0NFTUlBQW9BZ1FpQmlBQUtBSUlSeUFHUVFKSWNnUi9RWDhGSUFFb0FnUWdCa1lFZnlBR0VPY0NJZzBFZndKL0lBd2dCa0YvYWlJUk5nSUVJQXdnRFNnQ0FFRUlhallDQUNBQUlBRWdEQkNIQzBFQVNBUkFJQTBRendGQmZ3d0JDeUFOS0FJQUlnaEVBQUFBQUFBQUFBQTVBd0FnRVNFREEwQWdBMEVBU2dSQUlBTWhCd05BSUFkQkFFb0VRQ0FIUVFOMElBaHFLd01BbVNBQktBSUFJZ1VnQjBGL2FpSUNRUU4wYWlzREFKa2dCMEVEZENBRmFpc0RBSm1nUkkzdHRhRDN4ckErb21RRVFDQUNJUWNNQWdzTEN5QURRWDlxSVFrZ0F5QUhSd1JBQWtBZ0EwRURkQ0FJYWlFU0lBZEJBV3BCQTNRZ0NHb2hFMEVBSVFVRFFDQUZRZU1BU3cwQklBVkJBV29oQlNBU0t3TUFJaHNnRzZJaUdpQUJLQUlBSWc0Z0NVRURkR29pRkNzREFDQURRUU4wSUE1cUloVXJBd0FpRzZGRUFBQUFBQUFBNEQraUloOGdINktnbnlFY0lCTXJBd0FoSFNBSElnSkJBM1FnRG1vckF3QWdHNkVnR2lBZklCeWFJQndnSDBRQUFBQUFBQUFBQUdNYm9LT2dJUnNEUUNBQ0lBTklCRUFnRzVraUdpQWRtV1lFUUNBYVJMeUoySmV5MHB3OFpBUjhSQUFBQUFBQUFQQS9JQjJhSUJ1aklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaUdpRWVJQndnR3FJRlJBQUFBQUFBQVBBL0lSNUVBQUFBQUFBQUFBQUxJUm9GUkFBQUFBQUFBUEEvSUJ1YUlCMmpJaHdnSEtKRUFBQUFBQUFBOEQrZ242TWhHaUFjSUJxaUlSNExJQUpCQTNRZ0Rtb2lEeXNEQUNJY0lBSkJBV29pQ2tFRGRDQU9haUlFS3dNQUloK2hJU0FnRHlBY0lCb2dHaUFnb2lBZVJBQUFBQUFBQUFCQW9pQUtRUU4wSUFocUloQXJBd0Npb0tJaUhLRTVBd0FnQkNBZklCeWdPUU1BSUFKQkEzUWdDR29oQkNBQ0lBZEtCRUFnQkNBZUlBUXJBd0NpSUIwZ0dxS2hPUU1BQ3lBUUlCQXJBd0FpSENBYUlCNGdJS0lnR2tRQUFBQUFBQUFBUUtJZ0hLS2hvcUE1QXdBZ0FpQUdiQ0VXSUFZZ0Ntd2hGMEVBSVFzRFFDQUdJQXRIQkVBZ0FDZ0NBQ0lQSUFzZ0ZtcEJBM1JxSWdRckF3QWhHeUFFSUI0Z0c2SWdHaUFMSUJkcVFRTjBJQTlxSWdRckF3QWlIYUtoT1FNQUlBUWdHaUFib2lBZUlCMmlvRGtEQUNBTFFRRnFJUXNNQVFzTElBSWdDVWdFUUNBUUt3TUFJUnNnQWtFQ2FrRURkQ0FJYWlJQ0t3TUFJUjBnQWlBZUlCMmlPUU1BSUJvZ0hhS2FJUjBMSUFvaEFnd0JDd3NnRWlzREFKa2dGQ3NEQUprZ0ZTc0RBSm1nUkkzdHRhRDN4ckErb21RTkFBc0xDeUFKSVFNTUFRc0xRUUFoQXdOQUlBTWdFVWNFUUNBQktBSUFJZ2tnQTBFRGRHb2lCU3NEQUNJZElSb2dBeUlDUVFGcUlnY2hCQU5BSUFRZ0JrZ0VRQ0FFUVFOMElBbHFLd01BSWhzZ0dtUWhDaUFiSUJvZ0Noc2hHaUFFSUFJZ0Noc2hBaUFFUVFGcUlRUU1BUXNMSUFKQkEzUWdDV29nSFRrREFDQUZJQm81QXdBZ0F5QUdiRUVEZENBQUtBSUFJZ05xSVFVZ0FpQUdiRUVEZENBRGFpRUNRUUFoQXdOQUlBTWdCa2NFUUNBQ0t3TUFJUnNnQWlBRkt3TUFPUU1BSUFVZ0d6a0RBQ0FGUVFocUlRVWdBa0VJYWlFQ0lBTkJBV29oQXd3QkN3c2dCeUVEREFFTEN5QU5FTThCUVFBTEJVRi9Dd1ZCZndzTElSa2dEQ1FHSUJrTExBQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FLZEJCM0ZCTUhJNkFBQWdBRUlEaUNJQVVFVU5BQXNMSUFFTE5BQWdBRkJGQkVBRFFDQUJRWDlxSWdFZ0FpQUFwMEVQY1VHZzJnQnFMUUFBY2pvQUFDQUFRZ1NJSWdCUVJRMEFDd3NnQVF1aEFnSUpmd0Y4SUFBb0FnUWhDU0FBS0FJSUlnSWdBU2dDQkVZRVFDQUJLQUlJSUFKR0JFQUNRQ0FCS0FJQUlnb2hCZ05BSUFNZ0FrNEVRRUVBSVFBTUFndEJBQ0VFSUFZaEFRTkFJQUlnQkVjRVFDQUVJQU5KQkVBZ0FTQURJQUlnQkd4cVFRTjBJQXBxS3dNQU9RTUFCUUpBSUFBb0FnQWhCU0FCUkFBQUFBQUFBQUFBT1FNQVFRQWhCeUFEUVFOMElBVnFJUWdnQkVFRGRDQUZhaUVGUkFBQUFBQUFBQUFBSVFzRFFDQUhJQWxPRFFFZ0FTQUxJQWdyQXdBZ0JTc0RBS0tnSWdzNUF3QWdCMEVCYWlFSElBSkJBM1FnQ0dvaENDQUNRUU4wSUFWcUlRVU1BQUFMQUFzTElBUkJBV29oQkNBQlFRaHFJUUVNQVFzTElBTkJBV29oQXlBQ1FRTjBJQVpxSVFZTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdldBZ0VHZnlNR0lRTWpCa0hnQVdva0JpQURRYUFCYWlJRVFnQTNBd0FnQkVJQU53TUlJQVJDQURjREVDQUVRZ0EzQXhnZ0JFSUFOd01nSUFOQjBBRnFJZ1VnQWlnQ0FEWUNBRUVBSUFFZ0JTQURRZEFBYWlJQ0lBUVFwQUpCQUVnRWYwRi9CU0FBS0FKTVFYOUtCSDlCQVFWQkFBc2FJQUFvQWdBaEJpQUFMQUJLUVFGSUJFQWdBQ0FHUVY5eE5nSUFDeUFBS0FJd0JFQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFRklBQW9BaXdoQnlBQUlBTTJBaXdnQUNBRE5nSWNJQUFnQXpZQ0ZDQUFRZEFBTmdJd0lBQWdBMEhRQUdvMkFoQWdBQ0FCSUFVZ0FpQUVFS1FDSVFFZ0J3UkFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQlFYOGdBQ2dDRkJzaEFTQUFJQWMyQWl3Z0FFRUFOZ0l3SUFCQkFEWUNFQ0FBUVFBMkFod2dBRUVBTmdJVUN3c2dBQ0FBS0FJQUlnQWdCa0VnY1hJMkFnQkJmeUFCSUFCQklIRWJDeUVJSUFNa0JpQUlDeWtDQVg4QmZDQUJLQUlBUVFkcVFYaHhJZ0lyQXdBaEF5QUJJQUpCQ0dvMkFnQWdBQ0FET1FNQUM4d1hBeFIvQTM0QmZDTUdJUlFqQmtHd0JHb2tCaUFVUVpnRWFpSU1RUUEyQWdBZ0FiMGlHa0lBVXdSL0lBR2FJaDBoQVVHaC9nSWhFaUFkdlNFYVFRRUZRYVQrQWtHbi9nSkJvdjRDSUFSQkFYRWJJQVJCZ0JCeEd5RVNJQVJCZ1JCeFFRQkhDeUVUSUJSQklHb2hCaUFVSWc0aEVTQU9RWndFYWlJS1FReHFJUThnR2tLQWdJQ0FnSUNBK1A4QWcwS0FnSUNBZ0lDQStQOEFVUVIvSUFCQklDQUNJQk5CQTJvaUF5QUVRZi8vZTNFUWRTQUFJQklnRXhCeUlBQkJ2UDRDUWNEK0FpQUZRU0J4UVFCSElnVWJRYlQrQWtHNC9nSWdCUnNnQVNBQllodEJBeEJ5SUFCQklDQUNJQU1nQkVHQXdBQnpFSFVnQXdVQ2Z5QUJJQXdRaWdORUFBQUFBQUFBQUVDaUlnRkVBQUFBQUFBQUFBQmlJZ2NFUUNBTUlBd29BZ0JCZjJvMkFnQUxJQVZCSUhJaUMwSGhBRVlFUUNBU1FRbHFJQklnQlVFZ2NTSUpHeUVJUVF3Z0Eyc2lCMFVnQTBFTFMzSkZCRUJFQUFBQUFBQUFJRUFoSFFOQUlCMUVBQUFBQUFBQU1FQ2lJUjBnQjBGL2FpSUhEUUFMSUFnc0FBQkJMVVlFZkNBZElBR2FJQjJob0pvRklBRWdIYUFnSGFFTElRRUxJQTlCQUNBTUtBSUFJZ1pySUFZZ0JrRUFTQnVzSUE4UXZnRWlCMFlFUUNBS1FRdHFJZ2RCTURvQUFBc2dFMEVDY2lFS0lBZEJmMm9nQmtFZmRVRUNjVUVyYWpvQUFDQUhRWDVxSWdjZ0JVRVBham9BQUNBRFFRRklJUXdnQkVFSWNVVWhEU0FPSVFVRFFDQUZJQWtnQVJCeklnWkJvTm9BYWkwQUFISTZBQUFnQVNBR3Q2RkVBQUFBQUFBQU1FQ2lJUUVnQlVFQmFpSUdJQkZyUVFGR0JIOGdEU0FNSUFGRUFBQUFBQUFBQUFCaGNYRUVmeUFHQlNBR1FTNDZBQUFnQlVFQ2Fnc0ZJQVlMSVFVZ0FVUUFBQUFBQUFBQUFHSU5BQXNDZnlBRFJTQUZRWDRnRVd0cUlBTk9ja1VFUUNBUElBTkJBbXBxSUFkcklRc2dCd3dCQ3lBRklBOGdFV3NnQjJ0cUlRc2dCd3NoQmlBQVFTQWdBaUFLSUF0cUlnTWdCQkIxSUFBZ0NDQUtFSElnQUVFd0lBSWdBeUFFUVlDQUJITVFkU0FBSUE0Z0JTQVJheUlGRUhJZ0FFRXdJQXNnQlNBUElBWnJJZ1pxYTBFQVFRQVFkU0FBSUFjZ0JoQnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd3dCQ3lBSEJFQWdEQ0FNS0FJQVFXUnFJZ2cyQWdBZ0FVUUFBQUFBQUFDd1FhSWhBUVVnRENnQ0FDRUlDeUFHSUFaQm9BSnFJQWhCQUVnYklnb2hCZ05BSUFZZ0FSQ0tCU0lITmdJQUlBWkJCR29oQmlBQklBZTRvVVFBQUFBQVpjM05RYUlpQVVRQUFBQUFBQUFBQUdJTkFBc2dDRUVBU2dSQUlBb2hCd05BSUFoQkhTQUlRUjFJR3lFTklBWkJmR29pQ0NBSFR3UkFJQTJ0SVJ0QkFDRUpBMEFnQ2EwZ0NDZ0NBSzBnRzRaOEloeENnSlRyM0FNUTlnRWhHaUFJSUJ3Z0drS0FsT3ZjQTM1OVBnSUFJQnFuSVFrZ0NFRjhhaUlJSUFkUERRQUxJQWtFUUNBSFFYeHFJZ2NnQ1RZQ0FBc0xJQVlnQjBzRVFBSkFBMzhnQmtGOGFpSUlLQUlBRFFFZ0NDQUhTd1IvSUFnaEJnd0JCU0FJQ3dzaEJnc0xJQXdnRENnQ0FDQU5heUlJTmdJQUlBaEJBRW9OQUFzRklBb2hCd3RCQmlBRElBTkJBRWdiSVEwZ0NFRUFTQVJBSUExQkdXcEJDUkE1UVFGcUlSQWdDMEhtQUVZaEZTQUdJUU1EUUVFQUlBaHJJZ1pCQ1NBR1FRbElHeUVKSUFvZ0J5QURTUVIvUVFFZ0NYUkJmMm9oRmtHQWxPdmNBeUFKZGlFWFFRQWhDQ0FISVFZRFFDQUdJQWdnQmlnQ0FDSVlJQWwyYWpZQ0FDQVhJQllnR0hGc0lRZ2dCa0VFYWlJR0lBTkpEUUFMSUFjZ0IwRUVhaUFIS0FJQUd5RVpJQWdFZnlBRElBZzJBZ0FnQTBFRWFnVWdBd3NoQmlBWkJTQURJUVlnQnlBSFFRUnFJQWNvQWdBYkN5SURJQlViSWdjZ0VFRUNkR29nQmlBR0lBZHJRUUoxSUJCS0d5RUlJQXdnQ1NBTUtBSUFhaUlHTmdJQUlBWkJBRWdFUUNBRElRY2dDQ0VESUFZaENBd0JDd3NGSUFjaEF5QUdJUWdMSUFvaERDQURJQWhKQkVBZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEJnTkFJQWRCQVdvaEJ5QUtJQVpCQ213aUJrOE5BQXNMQlVFQUlRY0xJQTFCQUNBSElBdEI1Z0JHRzJzZ0MwSG5BRVlpRlNBTlFRQkhJaFp4UVI5MFFSOTFhaUlHSUFnZ0RHdEJBblZCQ1d4QmQycElCSDhnQmtHQXlBQnFJZ1pCQ1JBNUlRa2dCaUFKUVFsc2F5SUdRUWhJQkVCQkNpRUxBMEFnQmtFQmFpRUtJQXRCQ213aEN5QUdRUWRJQkVBZ0NpRUdEQUVMQ3dWQkNpRUxDeUFKUVFKMElBeHFRWVJnYWlJR0tBSUFJZ2tnQ3hCSUlSQWdDQ0FHUVFScVJpSVhJQWtnQ3lBUWJHc2lDa1Z4UlFSQVJBRUFBQUFBQUVCRFJBQUFBQUFBQUVCRElCQkJBWEViSVFGRUFBQUFBQUFBNEQ5RUFBQUFBQUFBOEQ5RUFBQUFBQUFBK0Q4Z0Z5QUtJQXRCQVhZaUVFWnhHeUFLSUJCSkd5RWRJQk1FUUNBZG1pQWRJQklzQUFCQkxVWWlFQnNoSFNBQm1pQUJJQkFiSVFFTElBWWdDU0FLYXlJS05nSUFJQUVnSGFBZ0FXSUVRQ0FHSUFvZ0Myb2lCellDQUNBSFFmK1Q2OXdEU3dSQUEwQWdCa0VBTmdJQUlBWkJmR29pQmlBRFNRUkFJQU5CZkdvaUEwRUFOZ0lBQ3lBR0lBWW9BZ0JCQVdvaUJ6WUNBQ0FIUWYrVDY5d0RTdzBBQ3dzZ0RDQURhMEVDZFVFSmJDRUhJQU1vQWdBaUNrRUtUd1JBUVFvaEN3TkFJQWRCQVdvaEJ5QUtJQXRCQ213aUMwOE5BQXNMQ3dzZ0J5RUpJQVpCQkdvaUJpQUlJQWdnQmtzYklRWWdBd1VnQnlFSklBZ2hCaUFEQ3lFS0lBWWdDa3NFZndKL0lBWWhBd04vSUFOQmZHb2lCaWdDQUFSQUlBTWhCa0VCREFJTElBWWdDa3NFZnlBR0lRTU1BUVZCQUFzTEN3VkJBQXNoQnlBVkJIOGdGa0VCY3lBTmFpSURJQWxLSUFsQmUwcHhCSDhnQTBGL2FpQUpheUVJSUFWQmYyb0ZJQU5CZjJvaENDQUZRWDVxQ3lFRklBUkJDSEVFZnlBSUJTQUhCRUFnQmtGOGFpZ0NBQ0lOQkVBZ0RVRUtFRTRFUUVFQUlRTUZRUUFoQTBFS0lRc0RRQ0FEUVFGcUlRTWdEU0FMUVFwc0lnc1FUa1VOQUFzTEJVRUpJUU1MQlVFSklRTUxJQVlnREd0QkFuVkJDV3hCZDJvaERTQUZRU0J5UWVZQVJnUi9JQWdnRFNBRGF5SURRUUFnQTBFQVNoc2lBeUFJSUFOSUd3VWdDQ0FKSUExcUlBTnJJZ05CQUNBRFFRQktHeUlESUFnZ0EwZ2JDd3NGSUEwTElRTkJBQ0FKYXlFSUlBQkJJQ0FDSUFWQklISkI1Z0JHSWhBRWYwRUFJUWdnQ1VFQUlBbEJBRW9iQlNBUElBZ2dDU0FKUVFCSUc2d2dEeEMrQVNJTGEwRUNTQVJBQTBBZ0MwRi9haUlMUVRBNkFBQWdEeUFMYTBFQ1NBMEFDd3NnQzBGL2FpQUpRUjkxUVFKeFFTdHFPZ0FBSUF0QmZtb2lDQ0FGT2dBQUlBOGdDR3NMSUFNZ0UwRUJhbXBCQVNBRVFRTjJRUUZ4SUFOQkFFY2lDeHRxYWlJTklBUVFkU0FBSUJJZ0V4QnlJQUJCTUNBQ0lBMGdCRUdBZ0FSekVIVWdFQVJBSUE1QkNXb2lDU0VQSUE1QkNHb2hDQ0FNSUFvZ0NpQU1TeHNpQ2lFSEEwQWdCeWdDQUswZ0NSQytBU0VGSUFjZ0NrWUVRQ0FGSUFsR0JFQWdDRUV3T2dBQUlBZ2hCUXNGSUFVZ0Rrc0VRQ0FPUVRBZ0JTQVJheEJGR2dOQUlBVkJmMm9pQlNBT1N3MEFDd3NMSUFBZ0JTQVBJQVZyRUhJZ0IwRUVhaUlGSUF4TkJFQWdCU0VIREFFTEN5QUVRUWh4UlNBTFFRRnpjVVVFUUNBQVFjVCtBa0VCRUhJTElBQkJNQ0FGSUFaSklBTkJBRXB4Qkg4RGZ5QUZLQUlBclNBSkVMNEJJZ2NnRGtzRVFDQU9RVEFnQnlBUmF4QkZHZ05BSUFkQmYyb2lCeUFPU3cwQUN3c2dBQ0FISUFOQkNTQURRUWxJR3hCeUlBTkJkMm9oQnlBRlFRUnFJZ1VnQmtrZ0EwRUpTbkVFZnlBSElRTU1BUVVnQndzTEJTQURDMEVKYWtFSlFRQVFkUVVnQUVFd0lBb2dCaUFLUVFScUlBY2JJZ3RKSUFOQmYwcHhCSDhnQkVFSWNVVWhFaUFPUVFscUlnd2hFMEVBSUJGcklSRWdEa0VJYWlFSklBTWhCU0FLSVFZRGZ5QU1JQVlvQWdDdElBd1F2Z0VpQTBZRVFDQUpRVEE2QUFBZ0NTRURDd0pBSUFZZ0NrWUVRQ0FEUVFGcUlRY2dBQ0FEUVFFUWNpQVNJQVZCQVVoeEJFQWdCeUVEREFJTElBQkJ4UDRDUVFFUWNpQUhJUU1GSUFNZ0RrME5BU0FPUVRBZ0F5QVJhaEJGR2dOQUlBTkJmMm9pQXlBT1N3MEFDd3NMSUFBZ0F5QVRJQU5ySWdNZ0JTQUZJQU5LR3hCeUlBWkJCR29pQmlBTFNTQUZJQU5ySWdWQmYwcHhEUUFnQlFzRklBTUxRUkpxUVJKQkFCQjFJQUFnQ0NBUElBaHJFSElMSUFCQklDQUNJQTBnQkVHQXdBQnpFSFVnRFFzTElRQWdGQ1FHSUFJZ0FDQUFJQUpJR3dzMEFDQUFJQUJpQkg5QkFBVWdBRVFBQUFBQUFBRHdRV1lFZjBFQUJTQUFSQUFBQUFBQUFQQy9aUVIvUVFBRklBQ3JDd3NMQ3lZQkFYOGpCaUVDSXdaQkVHb2tCaUFDSUFFMkFnQWdBRUgyL1FJZ0FoQ2xBaG9nQWlRR0MxWUJBMzhnQUNnQ1ZDSURRUUFnQWtHQUFtb2lCUkNtQWlFRUlBRWdBeUFFSUFOcklBVWdCQnNpQVNBQ0lBRWdBa2tiSWdJUVRCb2dBQ0FDSUFOcU5nSUVJQUFnQVNBRGFpSUJOZ0lJSUFBZ0FUWUNWQ0FDQzZVQ0FncC9BWHdnQUNnQ0NDRUdJQUFvQWdRaUJTQUJLQUlFUmdSQUlBRW9BZ2dnQlVZRVFBSkFJQUVvQWdBaUNpRUhBMEFnQWlBRlRnUkFRUUFoQUF3Q0N5QUNJQVpzSVF0QkFDRURJQWNoQVFOQUlBTWdCVWNFUUNBRElBSkpCRUFnQVNBQ0lBTWdCV3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJDQUJSQUFBQUFBQUFBQUFPUU1BUVFBaENDQUxRUU4wSUFScUlRa2dBeUFHYkVFRGRDQUVhaUVFUkFBQUFBQUFBQUFBSVF3RFFDQUlJQVpPRFFFZ0FTQU1JQWtyQXdBZ0JDc0RBS0tnSWd3NUF3QWdDRUVCYWlFSUlBbEJDR29oQ1NBRVFRaHFJUVFNQUFBTEFBc0xJQU5CQVdvaEF5QUJRUWhxSVFFTUFRc0xJQUpCQVdvaEFpQUZRUU4wSUFkcUlRY01BQUFMQUFzRlFYOGhBQXNGUVg4aEFBc2dBQXY3QXdJRGZ3VitJQUM5SWdkQ05JaW5RZjhQY1NFQ0lBRzlJZ1pDTklpblFmOFBjU0VFSUFkQ2dJQ0FnSUNBZ0lDQWY0TWhDUUo4QWtBZ0JrSUJoaUlGVUEwQUFud2dBa0gvRDBZZ0FiMUMvLy8vLy8vLy8vLy9BSU5DZ0lDQWdJQ0FnUGovQUZaeURRRWdCMElCaGlJSUlBVllCRUFnQUVRQUFBQUFBQUFBQUtJZ0FDQUZJQWhSR3c4TElBSUVmaUFIUXYvLy8vLy8vLzhIZzBLQWdJQ0FnSUNBQ0lRRklBZENESVlpQlVKL1ZRUkFRUUFoQWdOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZjFVTkFBc0ZRUUFoQWdzZ0IwRUJJQUpycllZTElnZ2dCQVIrSUFaQy8vLy8vLy8vL3dlRFFvQ0FnSUNBZ0lBSWhBVWdCa0lNaGlJRlFuOVZCRUFEUUNBRFFYOXFJUU1nQlVJQmhpSUZRbjlWRFFBTEN5QUdRUUVnQXlJRWE2MkdDeUlHZlNJRlFuOVZJUU1nQWlBRVNnUkFBa0FEUUFKQUlBTUVRQ0FGVUEwQkJTQUlJUVVMSUFWQ0FZWWlDQ0FHZlNJRlFuOVZJUU1nQWtGL2FpSUNJQVJLRFFFTUFnc0xJQUJFQUFBQUFBQUFBQUNpREFJTEN5QURCRUFnQUVRQUFBQUFBQUFBQUtJZ0JWQU5BUm9GSUFnaEJRc2dCVUtBZ0lDQWdJQ0FDRlFFUUFOQUlBSkJmMm9oQWlBRlFnR0dJZ1ZDZ0lDQWdJQ0FnQWhVRFFBTEN5QUZRb0NBZ0lDQWdJQjRmQ0FDclVJMGhvUWdCVUVCSUFKcnJZZ2dBa0VBU2hzZ0NZUy9Dd3dCQ3lBQUlBR2lJZ0FnQUtNTEMva1RBdzUvQW40SGZDTUdJUW9qQmtHQUJHb2tCa0VBSUFJZ0Eyb2lFR3NoRVFKQUFrQURRQUpBQWtBQ1FDQUJRUzVyRGdNRUFBRUFDeUFCSVFZZ0J5RUJEQUVMSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFGQkFTRUhEQUVMQ3d3QkN5QUFLQUlFSWdFZ0FDZ0NhRWtFZnlBQUlBRkJBV28yQWdRZ0FTMEFBQVVnQUJCVUN5SUdRVEJHQkg4RGZ5QVVRbjk4SVJRZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUJrRXdSZzBBUVFFaEMwRUJDd1ZCQVNFTElBY0xJUUVMSUFwQkFEWUNBQUo4QWtBQ1FBSkFBa0FnQmtFdVJpSU9JQVpCVUdvaURVRUtTWElFUUFKQVFRQWhCeUFHSVFrZ0RTRUdBMEFDUUNBT0JFQWdDdzBCUVFFaEN5QVZJUlFGQWtBZ0ZVSUJmQ0VWSUFsQk1FY2hEU0FJUWYwQVRnUkFJQTFGRFFFZ0NpQUtLQUx3QTBFQmNqWUM4QU1NQVFzZ0NFRUNkQ0FLYWlJQklBd0VmeUFKUVZCcUlBRW9BZ0JCQ214cUJTQUdDellDQUNBTVFRRnFJZ1pCQ1VZaEFVRUFJQVlnQVJzaERDQUJJQWhxSVFnZ0ZhY2dCeUFOR3lFSFFRRWhBUXNMSUFBb0FnUWlCaUFBS0FKb1NRUi9JQUFnQmtFQmFqWUNCQ0FHTFFBQUJTQUFFRlFMSWdsQlVHb2lCa0VLU1NBSlFTNUdJZzV5RFFFZ0NTRUdEQUlMQ3lBQlFRQkhJUUVNQWdzRlFRQWhCd3NnRkNBVklBc2JJUlFnQVVFQVJ5SUJJQVpCSUhKQjVRQkdjVVVFUUNBR1FYOUtCRUFNQWdVTUF3c0FDeUFVSUFBZ0JSQ1JBeUlVUW9DQWdJQ0FnSUNBZ0g5UkJINGdCVVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQmdzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRkF0OElSUU1Bd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkNBQlJRMENEQU1MQ3lBQlJRMEFEQUVMUWFURkEwRWNOZ0lBSUFCQ0FCQ0NBVVFBQUFBQUFBQUFBQXdCQ3lBRXQwUUFBQUFBQUFBQUFLSWdDaWdDQUNJQVJRMEFHaUFVSUJWUklCVkNDbE54QkVBZ0JMY2dBTGlpSUFBZ0FuWkZJQUpCSGtweURRRWFDeUFVSUFOQmZoQTVyRlVFUUVHa3hRTkJ4QUEyQWdBZ0JMZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBVUlBTkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdCTGRFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QU1CRUFnREVFSlNBUkFJQWhCQW5RZ0Ntb2lCU2dDQUNFQkEwQWdBVUVLYkNFQklBeEJBV29oQUNBTVFRaElCRUFnQUNFTURBRUxDeUFGSUFFMkFnQUxJQWhCQVdvaENBc2dGS2NoQVNBSFFRbElCRUFnQVVFU1NDQUhJQUZNY1FSQUlBRkJDVVlFUUNBRXR5QUtLQUlBdUtJTUF3c2dBVUVKU0FSQUlBUzNJQW9vQWdDNG9rRUFJQUZyUVFKMFFjRFVBR29vQWdDM293d0RDeUFDUVJ0cUlBRkJmV3hxSWdCQkhrb2dDaWdDQUNJRklBQjJSWElFUUNBRXR5QUZ1S0lnQVVFQ2RFSDQwd0JxS0FJQXQ2SU1Bd3NMQ3lBQlFRa1FUeUlBQkg5QkFDQUFJQUJCQ1dvZ0FVRi9TaHNpREd0QkFuUkJ3TlFBYWlnQ0FDRUdJQWdFZjBHQWxPdmNBeUFHRURraEMwRUFJUWRCQUNFQVFRQWhCUU5BSUFjZ0JVRUNkQ0FLYWlJTktBSUFJZzRnQmhCSUlnOXFJUWtnRFNBSk5nSUFJQXNnRGlBR0lBOXNhMndoQnlBQlFYZHFJQUVnQ1VVZ0FDQUZSbkVpQ1JzaEFTQUFRUUZxUWY4QWNTQUFJQWtiSVFBZ0JVRUJhaUlGSUFoSERRQUxJQWNFZnlBSVFRSjBJQXBxSUFjMkFnQWdBQ0VGSUFoQkFXb0ZJQUFoQlNBSUN3VkJBQ0VGUVFBTElRQWdBVUVKSUF4cmFpRUJJQVVGSUFnaEFFRUFDeUVIUVFBaEJRTkFBa0FnQVVFU1NDRU1JQUZCRWtZaERTQUhRUUowSUFwcUlRNERRQ0FNUlFSQUlBMUZEUUlnRGlnQ0FFSGY0S1VFVHdSQVFSSWhBUXdEQ3d0QkFDRUlJQUJCL3dCcUlRc0RRQ0FJclNBTFFmOEFjU0lKUVFKMElBcHFJZ1lvQWdDdFFoMkdmQ0lVcHlFTElCUkNnSlRyM0FOV0JFQWdGRUtBbE92Y0F4RDJBU0lWcHlFSUlCUWdGVUtBbE92Y0EzNTlweUVMQlVFQUlRZ0xJQVlnQ3pZQ0FDQUFJQUFnQ1NBTEd5QUhJQWxHSWc4Z0NTQUFRZjhBYWtIL0FIRkhjaHNoQmlBSlFYOXFJUXNnRDBVRVFDQUdJUUFNQVFzTElBVkJZMm9oQlNBSVJRMEFDeUFHUWY4QWFrSC9BSEVoQ1NBR1FmNEFha0gvQUhGQkFuUWdDbW9oRENBSFFmOEFha0gvQUhFaUJ5QUdSZ1JBSUF3Z0NVRUNkQ0FLYWlnQ0FDQU1LQUlBY2pZQ0FDQUpJUUFMSUFkQkFuUWdDbW9nQ0RZQ0FDQUJRUWxxSVFFTUFRc0xBMEFDUUNBQVFRRnFRZjhBY1NFR0lBQkIvd0JxUWY4QWNVRUNkQ0FLYWlFTUEwQUNRQ0FCUVJKR0lRaEJDVUVCSUFGQkcwb2JJUWtEUUVFQUlRNENRQUpBQTBBQ1FDQUFJQWNnRG1wQi93QnhJZ3RHRFFJZ0MwRUNkQ0FLYWlnQ0FDSUxJQTVCQW5SQnFJb0JhaWdDQUNJTlNRMENJQXNnRFVzTkFDQU9RUUZxUVFKUERRSkJBU0VPREFFTEN3d0JDeUFJRFFRTElBVWdDV29oQlNBQUlBZEdCRUFnQUNFSERBRUxDMEVCSUFsMFFYOXFJUTVCZ0pUcjNBTWdDWFloRDBFQUlRZ2dCeUVMQTBBZ0NDQUxRUUowSUFwcUloSW9BZ0FpRXlBSmRtb2hEU0FTSUEwMkFnQWdEeUFPSUJOeGJDRUlJQUZCZDJvZ0FTQU5SU0FISUF0R2NTSU5HeUVCSUFkQkFXcEIvd0J4SUFjZ0RSc2hCeUFMUVFGcVFmOEFjU0lMSUFCSERRQUxJQWdFUUNBR0lBZEhEUUVnRENBTUtBSUFRUUZ5TmdJQUN3d0JDd3NnQUVFQ2RDQUthaUFJTmdJQUlBWWhBQXdCQ3d0QkFDRUJBMEFnQUVFQmFrSC9BSEVoQmlBQUlBRWdCMnBCL3dCeElnbEdCRUFnQmtGL2FrRUNkQ0FLYWtFQU5nSUFJQVloQUFzZ0ZrUUFBQUFBWmMzTlFhSWdDVUVDZENBS2FpZ0NBTGlnSVJZZ0FVRUJhaUlCUVFKSERRQUxJQllnQkxjaUdLSWhGeUFGUVRWcUlnWWdBMnNpQXlBQ1NDRUVJQU5CQUNBRFFRQktHeUFDSUFRYklnRkJOVWdFUUVRQUFBQUFBQUR3UDBIcEFDQUJheENmQVNBWEVKQURJaGtoR2lBWFJBQUFBQUFBQVBBL1FUVWdBV3NRbndFUWp3TWlHeUVXSUJrZ0Z5QWJvYUFoRndWRUFBQUFBQUFBQUFBaEZnc2dCMEVDYWtIL0FIRWlBaUFBUndSQUFrQWdBa0VDZENBS2FpZ0NBQ0lDUVlES3RlNEJTUVI4SUFKRlFRQWdBQ0FIUVFOcVFmOEFjVVliRFFFZ0dFUUFBQUFBQUFEUVA2SWdGcUFGSUFKQmdNcTE3Z0ZIQkVBZ0dFUUFBQUFBQUFEb1A2SWdGcUFoRmd3Q0N5QVlSQUFBQUFBQUFPQS9vaUFXb0NBWVJBQUFBQUFBQU9nL29pQVdvQ0FBSUFkQkEycEIvd0J4UmhzTElSWUxRVFVnQVd0QkFVb0VmQ0FXUkFBQUFBQUFBUEEvRUk4RFJBQUFBQUFBQUFBQVlRUjhJQlpFQUFBQUFBQUE4RCtnQlNBV0N3VWdGZ3NoRmdzZ0Z5QVdvQ0Fhb1NFWElBWkIvLy8vL3dkeFFYNGdFR3RLQkh3Q2ZDQUZJQmVaUkFBQUFBQUFBRUJEWmtVaUFFRUJjMm9oQlNBWElCZEVBQUFBQUFBQTREK2lJQUFiSVJjZ0JVRXlhaUFSVEFSQUlCY2dCQ0FBSUFFZ0EwZHljU0FXUkFBQUFBQUFBQUFBWW5GRkRRRWFDMEdreFFOQnhBQTJBZ0FnRndzRklCY0xJQVVRamdNTElSd2dDaVFHSUJ3TDhnZ0RDSDhGZmdOOElBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElRVUNRQUpBQTBBQ1FBSkFJQVZCTG1zT0F3TUJBQUVMSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFWQkFTRUlEQUVMQ3d3QkN5QUFLQUlFSWdVZ0FDZ0NhRWtFZnlBQUlBVkJBV28yQWdRZ0JTMEFBQVVnQUJCVUN5SUZRVEJHQkg4RGZ5QU5Rbjk4SVEwZ0FDZ0NCQ0lGSUFBb0FtaEpCSDhnQUNBRlFRRnFOZ0lFSUFVdEFBQUZJQUFRVkFzaUJVRXdSZzBBUVFFaENFRUJDd1ZCQVFzaENRdEVBQUFBQUFBQThEOGhFeUFGSVFjZ0NDRUZBMEFDUUNBSFFTQnlJUWdDUUFKQUlBZEJVR29pQzBFS1NRMEFJQWRCTGtZaURDQUlRWjkvYWtFR1NYSkZEUUlnREVVTkFDQUpCSDVCTGlFSERBTUZRUUVoQ1NBUEN5RU5EQUVMSUFoQnFYOXFJQXNnQjBFNVNoc2hCU0FQUWdoVEJFQWdCU0FHUVFSMGFpRUdCU0FQUWc1VEJId2dFMFFBQUFBQUFBQ3dQNklpRkNFVElCSWdGQ0FGdDZLZ0JTQUtRUUVnQlVVZ0NrRUFSM0lpQlJzaENpQVNJQklnRTBRQUFBQUFBQURnUDZLZ0lBVWJDeUVTQ3lBUFFnRjhJUTlCQVNFRkN5QUFLQUlFSWdjZ0FDZ0NhRWtFZnlBQUlBZEJBV28yQWdRZ0J5MEFBQVVnQUJCVUN5RUhEQUVMQ3lBRkJId0NmQ0FQUWdoVEJFQWdEeUVPQTBBZ0JrRUVkQ0VHSUE1Q0FYd2hFQ0FPUWdkVEJFQWdFQ0VPREFFTEN3c0NmeUFIUVNCeVFmQUFSZ1IrSUFBZ0JCQ1JBeUlPUW9DQWdJQ0FnSUNBZ0g5UkJINGdCRVVFUUNBQVFnQVFnZ0ZFQUFBQUFBQUFBQUFNQkFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBdENBQVVnRGdzRklBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxRZ0FMSVJFZ0E3ZEVBQUFBQUFBQUFBQ2lJQVpGRFFFYUlCRWdEU0FQSUFrYlFnS0dRbUI4ZkNJTlFRQWdBbXVzVlFzRVFFR2t4UU5CeEFBMkFnQWdBN2RFLy8vLy8vLy83MytpUlAvLy8vLy8vKzkvb2d3QkN5QU5JQUpCbG45cXJGTUVRRUdreFFOQnhBQTJBZ0FnQTdkRUFBQUFBQUFBRUFDaVJBQUFBQUFBQUJBQW9nd0JDeUFHUVg5S0JFQURRQ0FTUkFBQUFBQUFBT0EvWmtVaUFFRUJjeUFHUVFGMGNpRUdJQklnRWlBU1JBQUFBQUFBQVBDL29DQUFHNkFoRWlBTlFuOThJUTBnQmtGL1NnMEFDd3NDZkFKQUlBMUNJQ0FDckgxOElnNGdBYXhUQkVBZ0RxY2lBVUVBVEFSQVFRQWhBVUhVQUNFQURBSUxDMEhVQUNBQmF5RUFJQUZCTlVnTkFDQUR0eUVUUkFBQUFBQUFBQUFBREFFTFJBQUFBQUFBQVBBL0lBQVFud0VnQTdjaUV4Q1FBd3NoRkVRQUFBQUFBQUFBQUNBU0lBWkJBWEZGSUFGQklFZ2dFa1FBQUFBQUFBQUFBR0p4Y1NJQUd5QVRvaUFVSUJNZ0FDQUdhcmlpb0tBZ0ZLRWlFa1FBQUFBQUFBQUFBR0VFUUVHa3hRTkJ4QUEyQWdBTElCSWdEYWNRamdNTEJTQUFLQUpvUlNJQlJRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0JBUkFJQUZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVJQUVnQ1VWeVJRUkFJQUFnQUNnQ0JFRi9hallDQkFzTEJTQUFRZ0FRZ2dFTElBTzNSQUFBQUFBQUFBQUFvZ3NMdmdNQkJIOGdBQ2dDQ0NJRklBQW9BZ1FpQXlBRklBTklHeUVHSUFWQkFrZ2dBMEVDU0hJRWYwRi9CU0FCS0FJSUlBVkdCSDhnQVNnQ0JDQUdSZ1IvSUFJb0FnUWdCa1lFZndKL0lBWWdCaENMQVNJRUtBSUVJQVpHQkVBZ0JDZ0NDQ0FHUmdSQUlBTWdCVWdpQXdSQUlBQWdCQkNOQlVFQVNBUkFJQVFRU1VGL0RBUUxCU0FBSUFRUWhnVkJBRWdFUUNBRUVFbEJmd3dFQ3dzZ0JDQUNFSU1GUVFCSUJFQWdCQkJKUVg4TUF3c2dBd1JBSUFBZ0JDQUJJQUlRL2dSQkFFZ0VRQ0FFRUVsQmZ3d0VDd1VDUUVFQUlRVWdCQ2dDQUNFRElBRW9BZ0FoQUFOQUFrQWdCU0FHVGcwQUlBSW9BZ0FnQlVFRGRHb3JBd0JFdkluWWw3TFNuRHhqRFFCQkFDRUJBMEFnQVNBR1NBUkFJQUFnQXlzREFEa0RBQ0FCUVFGcUlRRWdBMEVJYWlFRElBQkJDR29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFGSVFFRFFDQUJJQVpPRFFFZ0FpZ0NBQ0FCUVFOMGFrUUFBQUFBQUFBQUFEa0RBRUVBSVFNRFFDQURJQVpJQkVBZ0FFUUFBQUFBQUFBQUFEa0RBQ0FEUVFGcUlRTWdBRUVJYWlFQURBRUxDeUFCUVFGcUlRRU1BQUFMQUFzTElBUVFTVUVBREFJTEN5QUVFRWxCZndzRlFYOExCVUYvQ3dWQmZ3c0xDOUlUQWc5L0FYd2pCaUVPSXdaQkVHb2tCaUFFS0FJQUlnY2hEQ0FCSUFKQmYyb2lFR3hCQVhRZ0Iyb2hCZ05BSUFVZ0FVZ0VRQ0FHUVFBN0FRQWdERUVBT3dFQUlBeEJBbW9oRENBRlFRRnFJUVVnQmtFQ2FpRUdEQUVMQzBFQUlRd2dCeUlHSUFGQmYyb2lFVUVCZEdvaEJRTkFJQXdnQWtnRVFDQUZRUUE3QVFBZ0JrRUFPd0VBSUFGQkFYUWdCbW9oQmlBTVFRRnFJUXdnQVVFQmRDQUZhaUVGREFFTEN5QUVRWkNBeUFCcUlRWkJBQ0FCYXlFU0lBQWdBVUVCYWlJQWFpRU5JQUFnQTJvaERFRUJJUXBCQUNFRklBQkJBWFFnQjJvaEF3Si9Ba0FEUUFKQUlBb2dFRTROQWlBRklRQkJBU0VJSUFNaEN3TkFJQWdnRVVnRVFDQU5MUUFBSUF3dEFBQktCRUFDUUNBU1FRRjBJQXRxSWc4dUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0NqWUNBQXdCQ3lBUFFYNXFMZ0VBSWdraEJ5QUpRUUJLSVFVZ0R5NEJBaUlEUVFCTUJFQWdCUVJBSUFzZ0NUc0JBQ0FIUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlTQVJBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFJTElBdEJmbW91QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmhJRFFBR29pQXlnQ0FDQUlUZzBDSUFNZ0NEWUNBQVVnQUVILy93RktEUVlnQ3lBQVFRRnFJZ003QVFBZ0JFR1FnTWdBYWlBQVFRSjBhaUFEUVJCMFFSQjFOZ0lBSUFSQmtJRFFBR29nQUVFSGJDSUFRUUowYWtFQk5nSUFJQUJCQW5RZ0JHcEJsSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRWmlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0djZ05BQWFpQUlOZ0lBSUFCQkFuUWdCR3BCb0lEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUWFTQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaUFLTmdJQUlBTWhBQXNNQVFzZ0JRUkFBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFkQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxJQXRCZm1vdUFRQWlCVUVBVEFSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJnSURRQUdvaUF5Z0NBQ0FJU2dSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBRUxBa0FnQTBFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lESUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQjBvRVFDQUxJQWM3QVFBZ0JpRUZRUUFoQ1FOQUlBa2dBRTRFUUNBSElRTU1Bd3NnQXlBRktBSUFSZ1JBSUFVZ0J6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQlNBTElBTTdBUUFnQXlBSFNBUkFJQVloQlVFQUlRa0RRQ0FKSUFCT0RRTWdCeUFGS0FJQVJnUkFJQVVnQXpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FDd3NMSUFOQkVIUkJFSFZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlESUFNb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlESUFnZ0F5Z0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlESUFvZ0F5Z0NBR28yQWdBTEJTQUxRUUE3QVFBTElBMUJBV29oRFNBTVFRRnFJUXdnQ0VFQmFpRUlJQXRCQW1vaEN3d0JDd3NnRFVFQ2FpRU5JQXhCQW1vaERDQUtRUUZxSVFvZ0FDRUZJQXRCQkdvaEF3d0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaEJ3TkFJQWNnQlV3RVFDQUhJQVlvQWdBaURFWUVRQ0FBUVFGcUlRTUZJQUFoQXlBTVFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBRElRQWdCMEVCYWlFSElBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnWTJBZ2dnQmdSL0lBMUJBQ0FHUVFKMEVFVWFJQVJCa0lBb2FrRUFJQVpCQkhRUVJScEJBQ0VEQTBBZ0F5QUdTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnWkJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBR1FRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTFV3RUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FDZ0NBRFlDQUFOQUlBSW9BZ0JCQTJwQmZIRWlBQ2dDQUNFRElBSWdBRUVFYWpZQ0FDQUJRWDlxSVFBZ0FVRUJTd1JBSUFBaEFRd0JDd3NnQWlRR0lBTUx4aFFERVg4RGZnRjhJd1loQ1NNR1FhQUNhaVFHSUFBb0FreEJmMG9FZjBFQkJVRUFDeG9nQ1VHSUFtb2hEU0FKUVlRQ2FpRVNJQWxCa0FKcUlSTWdBU3dBQUNJTEJFQUNRQUpBQWtBQ1FBSkFBMEFDUUNBTFFmOEJjUkN5QVFSQUEwQWdBVUVCYWlJRExRQUFFTElCQkVBZ0F5RUJEQUVMQ3lBQVFnQVFnZ0VEUUNBQUtBSUVJZ01nQUNnQ2FFa0VmeUFBSUFOQkFXbzJBZ1FnQXkwQUFBVWdBQkJVQ3hDeUFRMEFDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ3MyQWdRRklBQW9BZ1FoQ3dzZ0N5QUFLQUlJYTZ3Z0ZDQUFLUU40Zkh3aEZBVUNRQ0FCTEFBQVFTVkdJZ2NFUUFKQUFuOENRQUpBSUFGQkFXb2lCQ3dBQUNJRFFTVnJEZ1lEQVFFQkFRQUJDMEVBSVFvZ0FVRUNhZ3dCQ3lBRFFmOEJjUkNLQVFSQUlBRXNBQUpCSkVZRVFDQUNJQVF0QUFCQlVHb1Frd1VoQ2lBQlFRTnFEQUlMQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQ2lBQ0lBRkJCR28yQWdBZ0JBc2lBUzBBQUJDS0FRUkFRUUFoQkFOQUlBRXRBQUFnQkVFS2JFRlFhbW9oQkNBQlFRRnFJZ0V0QUFBUWlnRU5BQXNGUVFBaEJBc2dBVUVCYWlFSElBRXNBQUFpQ0VIdEFFWUVmMEVBSVFZZ0FVRUNhaUVCSUFjaUF5d0FBQ0VJUVFBaEJTQUtRUUJIQlNBQklRTWdCeUVCUVFBTElRc0NRQUpBQWtBQ1FBSkFBa0FDUUNBSVFSaDBRUmgxUWNFQWF3NDZCUTRGRGdVRkJRNE9EZzRFRGc0T0RnNE9CUTRPRGc0RkRnNEZEZzRPRGc0RkRnVUZCUVVGQUFVQ0RnRU9CUVVGRGc0RkF3VU9EZ1VPQXc0TFFYNUJmeUFCTEFBQVFlZ0FSaUlIR3lFSUlBTkJBbW9nQVNBSEd5RUJEQVVMUVFOQkFTQUJMQUFBUWV3QVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBUUxRUU1oQ0F3REMwRUJJUWdNQWd0QkFpRUlEQUVMUVFBaENDQURJUUVMUVFFZ0NDQUJMUUFBSWdkQkwzRkJBMFlpQXhzaERpQUFBbjhDUUFKQUFrQUNRQ0FIUVNCeUlBY2dBeHNpREVIL0FYRWlCMEVZZEVFWWRVSGJBR3NPRkFFREF3TURBd01EQUFNREF3TURBd01EQXdNQ0F3c2dCRUVCSUFSQkFVb2JEQU1MSUFRTUFnc2dDaUFPSUJRUWxBTU1CQXNnQUVJQUVJSUJBMEFnQUNnQ0JDSURJQUFvQW1oSkJIOGdBQ0FEUVFGcU5nSUVJQU10QUFBRklBQVFWQXNRc2dFTkFBc2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FpSUlOZ0lFQlNBQUtBSUVJUWdMSUFnZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRZ0JBc2lFYXdpRmhDQ0FTQUFLQUlFSWdNZ0FDZ0NhQ0lFU1FSQUlBQWdBMEVCYWpZQ0JBVWdBQkJVUVFCSURRZ2dBQ2dDYUNFRUN5QUVCRUFnQUNBQUtBSUVRWDlxTmdJRUN3SkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0IwRVlkRUVZZFVIQkFHc09PQVVIQndjRkJRVUhCd2NIQndjSEJ3Y0hCd2NIQndjSEFRY0hBQWNIQndjSEJRY0FBd1VGQlFjRUJ3Y0hCd2NDQVFjSEFBY0RCd2NCQndzZ0RFRVFja0h6QUVZRVFDQUpRWDlCZ1FJUVJSb2dDVUVBT2dBQUlBeEI4d0JHQkVBZ0NVRUFPZ0FoSUFsQkFEWUJDaUFKUVFBNkFBNExCUUpBSUFrZ0FVRUJhaUlITEFBQVFkNEFSaUlESWdSQmdRSVFSUm9nQ1VFQU9nQUFBa0FDUUFKQUlBRkJBbW9nQnlBREd5SUJMQUFBUVMxcklnTUVRQ0FEUVRCR0JFQU1BZ1VNQXdzQUN5QUpJQVJCQVhNaUNEb0FMaUFCUVFGcUlRRU1BZ3NnQ1NBRVFRRnpJZ2c2QUY0Z0FVRUJhaUVCREFFTElBUkJBWE1oQ0FzRFFBSkFBa0FnQVN3QUFDSUVEbDRUQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVBQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFREFRc2dBVUVCYWlJRExBQUFJZ1FpQjBFQUlBZEIzUUJIRzBVRVFFRXRJUVFNQVFzZ0FVRi9haTBBQUNJQklBUkIvd0Z4U0FSL0EzOGdBVUVCYWlJQklBbHFJQWc2QUFBZ0FTQURMQUFBSWdkQi93RnhTUTBBSUFNaEFTQUhDd1VnQXlFQklBUUxJUVFMSUFSQi93RnhRUUZxSUFscUlBZzZBQUFnQVVFQmFpRUJEQUFBQ3dBTEN5QVJRUUZxUVI4Z0RFSGpBRVlpREJzaEJDQUxRUUJISVJBZ0RrRUJSaUlSQkVBZ0VBUkFJQVJCQW5RUVJDSUZSUVJBUVFBaEJrRUFJUVVNRVFzRklBb2hCUXNnRFVFQU5nSUFJQTFCQURZQ0JFRUFJUVlEUUFKQUlBVkZJUWNEUUFOQUFrQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVOQXlBVElBTTZBQUFDUUFKQUlCSWdFMEVCSUEwUTF3RkJmbXNPQWdFQUFndEJBQ0VHREJVTERBRUxDeUFIUlFSQUlBWkJBblFnQldvZ0VpZ0NBRFlDQUNBR1FRRnFJUVlMSUJBZ0JDQUdSbkZGRFFBTElBVWdCRUVCZEVFQmNpSUVRUUowRU9nQklnTUVRQ0FESVFVTUFnVkJBQ0VHREJJTEFBc0xJQTBFZnlBTktBSUFSUVZCQVFzRWZ5QUdJUVFnQlNFRFFRQUZRUUFoQmd3UUN5RUdCUUpBSUJBRVFDQUVFRVFpQmtVRVFFRUFJUVpCQUNFRkRCSUxRUUFoQlFOQUEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc2lBMEVCYWlBSmFpd0FBRVVFUUNBRklRUkJBQ0VEUVFBaEJRd0VDeUFGSUFacUlBTTZBQUFnQlVFQmFpSUZJQVJIRFFBTElBWWdCRUVCZEVFQmNpSUVFT2dCSWdNRVFDQURJUVlNQVFWQkFDRUZEQk1MQUFBTEFBc2dDa1VFUUFOQUlBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTFFRRnFJQWxxTEFBQURRQkJBQ0VFUVFBaEJrRUFJUU5CQUNFRkRBSUFDd0FMUVFBaEJBTi9JQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJZ1ZCQVdvZ0NXb3NBQUFFZnlBRUlBcHFJQVU2QUFBZ0JFRUJhaUVFREFFRlFRQWhBMEVBSVFVZ0Nnc0xJUVlMQ3lBQUtBSm9CRUFnQUNBQUtBSUVRWDlxSWdnMkFnUUZJQUFvQWdRaENBc2dBQ2tEZUNBSUlBQW9BZ2hyckh3aUZWQWdERUVCY3lBVklCWlJja1Z5RFFzZ0VBUkFJQkVFUUNBS0lBTTJBZ0FGSUFvZ0JqWUNBQXNMSUF4RkJFQWdBd1JBSUFSQkFuUWdBMnBCQURZQ0FBc2dCa1VFUUVFQUlRWU1DQXNnQkNBR2FrRUFPZ0FBQ3d3R0MwRVFJUVFNQkF0QkNDRUVEQU1MUVFvaEJBd0NDMEVBSVFRTUFRc2dBQ0FPUVFBUWtnTWhGeUFBS1FONFFnQWdBQ2dDQkNBQUtBSUlhNng5VVEwR0lBb0VRQUpBQWtBQ1FDQU9EZ01BQVFJRkN5QUtJQmUyT0FJQURBUUxJQW9nRnprREFBd0RDeUFLSUJjNUF3QU1BZ3NNQVFzZ0FDQUVRUUJDZnhDVEF5RVZJQUFwQTNoQ0FDQUFLQUlFSUFBb0FnaHJySDFSRFFVZ0RFSHdBRVlnQ2tFQVIzRUVRQ0FLSUJVK0FnQUZJQW9nRGlBVkVKUURDd3NnRHlBS1FRQkhhaUVQSUFBb0FnUWdBQ2dDQ0d1c0lCUWdBQ2tEZUh4OElSUU1BZ3NMSUFCQ0FCQ0NBU0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeUVESUFNZ0FTQUhhaUlCTFFBQVJ3MEVJQlJDQVh3aEZBc0xJQUZCQVdvaUFTd0FBQ0lMRFFFTUJnc0xEQU1MSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBTkJmMG9nRDNJTkEwRUFJUXNNQVFzZ0QwVU5BQXdCQzBGL0lROExJQXNFUUNBR0VEZ2dCUkE0Q3dzTElBa2tCaUFQQ3dzQUlBQWdBU0FDRUl3RkMza0JCWDhnQUNnQ0JDRUZJQUFvQWdnaUJpQUJLQUlFUmdSL0lBQW9BZ0FoQUFOL0lBSWdCVWdFZjBFQUlRTWdBU2dDQUNFRUEwQWdBeUFHU0FSQUlBQWdBQ3NEQUNBRUt3TUFvVGtEQUNBRFFRRnFJUU1nQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NMTHdFQ2Z5QUFFS3NDSWdFb0FnQTJBamdnQVNnQ0FDSUNCRUFnQWlBQU5nSTBDeUFCSUFBMkFnQkJxTVVERUE0TDZ3SUJCMzhqQmlFREl3WkJNR29rQmlBRFFSaHFJUVFnQTBFSWFpRUZJQU5CS0dvaEJrSDYvUUlnQVN3QUFCQy9BUVJBUVpnSkVFUWlBZ1JBSUFKQkFFR1FBUkJGR2dKL0lBRkJLeEMvQVVVaENDQUJMQUFBSVFFZ0NBc0VRQ0FDUVFoQkJDQUJRZklBUmhzMkFnQUxJQUZCNFFCR0JFQWdBeUFBTmdJQUlBTkJBellDQkVIZEFTQURFQmtpQVVHQUNIRkZCRUFnQlNBQU5nSUFJQVZCQkRZQ0JDQUZJQUZCZ0FoeU5nSUlRZDBCSUFVUUdSb0xJQUlnQWlnQ0FFR0FBWElpQVRZQ0FBVWdBaWdDQUNFQkN5QUNJQUEyQWp3Z0FpQUNRWmdCYWpZQ0xDQUNRWUFJTmdJd0lBSkJmem9BU3lBQlFRaHhSUVJBSUFRZ0FEWUNBQ0FFUVpPb0FUWUNCQ0FFSUFZMkFnaEJOaUFFRURORkJFQWdBa0VLT2dCTEN3c2dBa0VDTmdJZ0lBSkJBVFlDSkNBQ1FRRTJBaWdnQWtFQ05nSU1RZWpFQXlnQ0FFVUVRQ0FDUVg4MkFrd0xJQUlRbHdVRlFRQWhBZ3NGUWFURkEwRWNOZ0lBQ3lBREpBWWdBZ3R3QVFKL0lBQkJLeEMvQVVVaEFTQUFMQUFBSWdKQjhnQkhRUUlnQVJzaUFTQUJRWUFCY2lBQVFmZ0FFTDhCUlJzaUFTQUJRWUNBSUhJZ0FFSGxBQkMvQVVVYklnQWdBRUhBQUhJZ0FrSHlBRVliSWdCQmdBUnlJQUFnQWtIM0FFWWJJZ0JCZ0FoeUlBQWdBa0hoQUVZYkMvZ0JBZ1ovQVh3Z0FDZ0NCQ0lIUVFGSUlBQW9BZ2dpQTBFQlNISUVmMEYvQlNBRElBRW9BZ1JHQkg4RFFDQUNJQU5IQkVBZ0FTZ0NBQ0FDUVFOMGFrUUFBQUFBQUFBQUFEa0RBQ0FDUVFGcUlRSU1BUXNMSUFBb0FnQWhBQU5BSUFVZ0IwY0VRRUVBSVFZZ0FTZ0NBQ0VFSUFBaEFnTkFJQU1nQmtjRVFDQUVJQUlyQXdBZ0JDc0RBS0E1QXdBZ0JrRUJhaUVHSUFSQkNHb2hCQ0FDUVFocUlRSU1BUXNMSUFOQkEzUWdBR29oQUNBRlFRRnFJUVVNQVFzTElBZTNJUWhCQUNFQUEzOGdBQ0FEUmdSL1FRQUZJQUVvQWdBZ0FFRURkR29pQWlBQ0t3TUFJQWlqT1FNQUlBQkJBV29oQUF3QkN3c0ZRWDhMQ3d2c0FnRUxmeUFBS0FJSUlBQW9BZ0JCb3RydjF3WnFJZ1lRc1FFaEJDQUFLQUlNSUFZUXNRRWhCU0FBS0FJUUlBWVFzUUVoQXlBRUlBRkJBblpKQkg4Z0JTQUJJQVJCQW5ScklnZEpJQU1nQjBseEJIOGdBeUFGY2tFRGNRUi9RUUFGQW44Z0JVRUNkaUVKQW44Z0EwRUNkaUVOUVFBaEJRTkFBa0FnQ1NBRklBUkJBWFlpQjJvaUMwRUJkQ0lNYWlJRFFRSjBJQUJxS0FJQUlBWVFzUUVoQ0VFQUlBTkJBV3BCQW5RZ0FHb29BZ0FnQmhDeEFTSURJQUZKSUFnZ0FTQURhMGx4UlEwREdrRUFJQUFnQXlBSWFtb3NBQUFOQXhvZ0FpQUFJQU5xRUxNQklnTkZEUUFnQTBFQVNDRURRUUFnQkVFQlJnMERHaUFGSUFzZ0F4c2hCU0FISUFRZ0Iyc2dBeHNoQkF3QkN3c2dEU0FNYWlJQ1FRSjBJQUJxS0FJQUN5QUdFTEVCSVFRZ0FrRUJha0VDZENBQWFpZ0NBQ0FHRUxFQklnSWdBVWtnQkNBQklBSnJTWEVFZjBFQUlBQWdBbW9nQUNBQ0lBUnFhaXdBQUJzRlFRQUxDd3NGUVFBTEJVRUFDd3MrQVFGL0lBQW9Ba1FFUUNBQUtBS0VBU0lCQkVBZ0FTQUFLQUtBQVRZQ2dBRUxJQUFvQW9BQklnQUVmeUFBUVlRQmFnVkJsSW9CQ3lBQk5nSUFDd3ZxQWdJRGZ3RjhJQUFvQWdRaUJpQUFLQUlJSWdVZ0JpQUZTQnNoQkNBR1FRSklJQVZCQWtoeUJFQkJmeUVBQlNBQktBSUlJQVZHQkVBZ0FTZ0NCQ0FFUmdSQUlBSW9BZ1FnQkVZRVFDQURLQUlFSUFWR0JFQWdBQkRmQlNJRUJFQUNRQ0FFSUFNUW1nVkJBRWdFUUNBRUVFbEJmeUVBREFFTElBUWdBeENXQlVFQVNBUkFJQVFRU1VGL0lRQU1BUXNnQnJlZklRY2dCU0FHYkNFRFFRQWhBQU5BSUFBZ0EwZ0VRQ0FFS0FJQUlBQkJBM1JxSWdVZ0JTc0RBQ0FIb3prREFDQUFRUUZxSVFBTUFRc0xJQVFnQVNBQ0VKRUZJUUFnQkJCSklBSW9BZ1FoQTBRQUFBQUFBQUFBQUNFSFFRQWhBUU5BSUFFZ0EwZ0VRQ0FISUFJb0FnQWdBVUVEZEdvckF3Q2dJUWNnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdBaWdDQUNBQlFRTjBhaUlFSUFRckF3QWdCNk01QXdBZ0FVRUJhaUVCREFFTEN3c0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNMSUFBTEJBQkNBQXZoQVFFRWZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVRZQ0FDQUVJQUlnQUNnQ01DSURRUUJIYXpZQ0JDQUVJQUFvQWl3MkFnZ2dCQ0FETmdJTUFrQUNRQ0FBS0FJOElBUkJBaUFFUVJCcUlnTVFNUkNzQWdSQUlBTkJmellDQUVGL0lRSU1BUVVnQXlnQ0FDSURRUUZJQkVBZ0F5RUNEQUlGSUFNZ0JDZ0NCQ0lHU3dSQUlBQWdBQ2dDTENJRk5nSUVJQUFnQlNBRElBWnJhallDQ0NBQUtBSXdCRUFnQUNBRlFRRnFOZ0lFSUFFZ0FrRi9hbW9nQlN3QUFEb0FBQXNGSUFNaEFnc0xDd3dCQ3lBQUlBQW9BZ0FnQWtFd2NVRVFjM0kyQWdBTElBUWtCaUFDQ3dZQVFhVEZBd3RHQWdGL0FYNGpCaUVESXdaQkVHb2tCaUFBS0FJOElBR25JQUZDSUlpbklBSkIvd0Z4SUFNUUhSQ3NBZ1IrSUFOQ2Z6Y0RBRUovQlNBREtRTUFDeUVFSUFNa0JpQUVDN2NDQVFkL0l3WWhCaU1HUVNCcUpBWWdCa0VRYWlFSElBWWlBeUFBS0FJY0lnUTJBZ0FnQXlBQUtBSVVJQVJySWdVMkFnUWdBeUFCTmdJSUlBTWdBallDREVFQ0lRUWdBaUFGYWlFRklBTWhBUUpBQWtBRFFDQUFLQUk4SUFFZ0JDQUhFREFRckFJRWZ5QUhRWDgyQWdCQmZ3VWdCeWdDQUFzaUF5QUZSd1JBSUFOQkFFZ05BaUFCUVFocUlBRWdBeUFCS0FJRUlnaExJZ2tiSWdFZ0F5QUlRUUFnQ1J0cklnZ2dBU2dDQUdvMkFnQWdBU0FCS0FJRUlBaHJOZ0lFSUFRZ0NVRWZkRUVmZFdvaEJDQUZJQU5ySVFVTUFRc0xJQUFnQUNnQ0xDSUJJQUFvQWpCcU5nSVFJQUFnQVRZQ0hDQUFJQUUyQWhRTUFRc2dBRUVBTmdJUUlBQkJBRFlDSENBQVFRQTJBaFFnQUNBQUtBSUFRU0J5TmdJQUlBUkJBa1lFZjBFQUJTQUNJQUVvQWdSckN5RUNDeUFHSkFZZ0Fnc09BQ0FBS0FJOEVCaEIvLzhEY1F1bUFnRUNmd0pBQWtBZ0FDZ0NGQ0lCUWJOK2FrRUNUdzBBSUFCQlFHc29BZ0FOQUNBQUtBS01BU0FBS0FKMFNRUkFJQUFvQWdBaUFVSEZBRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXJ3REtBSUVJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBRUhTQVRZQ0ZBd0JDd0pBQWtBZ0FVSFBBV3NPQkFBQkFRSUJDeUFBUWRJQk5nSVVEQUVMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RJZ0VvQWhSRkJFQUNRQU5BQWtBZ0FTZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ3pBTWlBU2dDRkVVTkFRd0NDd3RCQUE4TEN5QUFLQUlZS0FJWUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FCQ2RBMEVCQy8wR0FRUi9Ba0FDUUFKQUFrQUNRQUpBSUFBb0FoUWlBVUhJQVdzT0N3QUJBd0lDQWdJQ0FnUUNCQXNnQUVITUEyb2lBU2dDQUNnQ0JDRUNJQUFnQWtIL0FYRkJyQU5xRVFFQUlBQW9BaGdvQWdnaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUNBQVFja0JOZ0lVREFRTElBQkJ6QU5xSVFFTUF3c2dBQ2dDekFNb0FnQWhBU0FBSUFGQi93QnhRUWhxRVFBQUR3dEJBUThMSUFBb0FnQWlBa0VWTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUJCQUE4TElBRW9BZ0FvQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFVY0VRQ0FCRHdzQ1FBSkFBa0FDUUFKQUlBQW9BaVFpQVVFQmF3NEVBQU1CQWdNTElBRWhBZ3dEQ3lBQUtBTFlBU0lES0FJQUlRRWdBeWdDc0FFaUFrRURSaUFCUVFGR0lnUWdBeWdDV0NJRFFRSkdjWEVFZjBFRElRSkJBZ1VnQkNBRFFTSkdjU0FDUVNOR2NRUi9RUWNoQWtFQ0JTQUJRZElBUmlBRFFjY0FSbkVnQWtIQ0FFWnhCSDlCQWlFQ1FRSUZJQUZCOGdCR0lBTkI1d0JHY1NBQ1FlSUFSbkVFZjBFR0lRSkJBZ1VnQUNnQ25BSUVmMEVESVFKQkFnVWdBQ2dDcUFKRkJFQWdBQ2dDQUNJRUlBRTJBaGdnQkNBRE5nSWNJQVFnQWpZQ0lDQUVRZkVBTmdJVUlBUW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0JCQWlFQlFRTWhBZ3dJQ3dKQUFrQUNRQ0FBTEFDc0FpSUJEZ0lBQVFJTFFRSWhBVUVDSVFJTUNRdEJBaUVCUVFNaEFnd0lDeUFBS0FJQUlnSkI5QUEyQWhRZ0FpQUJRZjhCY1RZQ0dDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQVFRSWhBVUVESVFJTUJ3c0xDd3NMSVFFTUFnc2dBQ2dDcUFJRWZ3SkFBa0FDUUNBQUxBQ3NBaUlCRGdNQUFnRUNDMEVFSVFGQkJDRUNEQVFMUVFRaEFVRUZJUUlNQXdzZ0FDZ0NBQ0lDUWZRQU5nSVVJQUlnQVVIL0FYRTJBaGdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBRUVFSVFGQkJTRUNEQUlGUVFRaEFrRUVDeUVCREFFTFFRQWhBVUVBSVFJTElBQWdBallDS0NBQUlBRTJBaXdnQUNBQUtBS3NBeUlCTmdJd0lBQWdBVFlDTkNBQVJBQUFBQUFBQVBBL09RTTRJQUJCUUd0QkFEWUNBQ0FBUVFBMkFrUWdBRUVBTmdKSUlBQkJBVFlDVENBQVFRRTJBbEFnQUVFQU5nSlVJQUJCQWpZQ1dDQUFRUUUyQWx3Z0FFR0FBallDWUNBQVFRQTJBb2dCSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0lBQkJ5Z0UyQWhSQkFRdU5BUUVDZnlBQUtBSVVJZ0pCZm5GQnlBRkhCRUFnQUNnQ0FDSURRUlUyQWhRZ0F5QUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUFrQWdBQkNsQlNJQ1FRRnJEZ0lBQVFJTFFRRVBDeUFCQkVBZ0FDZ0NBQ0lCUVRVMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUVKMERRUUlQQ3lBQ0N3Y0FJQUFRbmdNTG53SUJBbjhnQUVFQU5nSUVJQUZCMmdCSEJFQWdBQ2dDQUNJRFFRMDJBaFFnQTBIYUFEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFDUWVnRFJ3UkFJQUFvQWdBaUFVRVdOZ0lVSUFGQjZBTTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNDZnlBQUlRUWdBQ2dDQUNFQ0lBQW9BZ3doQXlBQVFRUnFRUUJCNUFNUVJSb2dBQ0FDTmdJQUlBQWdBellDRENBQVFRRTJBaEFnQkFzUXdnVWdBRUVBTmdJSUlBQkJBRFlDR0NBQVFRQTJBcmdDSUFCQ0FEY0NwQUVnQUVJQU53S3NBU0FBUWdBM0FyUUJJQUJDQURjQ3ZBRWdBRUlBTndMRUFTQUFRZ0EzQXN3QklBQVF1QVVnQUJDUUJpQUFRY2dCTmdJVUN4VUFJQUFvQWdBaUFFRUFOZ0pzSUFCQkFEWUNGQXZwQWdFS2Z5TUdJUVlqQmtFd2FpUUdJQVpCQ0dvaEJBSkFBa0FDZnlBQUtBSUFJZ0lvQWhRaUEwRUFTZ1JBSUFNZ0FpZ0NkRXdFUUNBQ0tBSndJQU5CQW5ScURBSUxDeUFDS0FKNElnVkZEUUVnQXlBQ0tBSjhJZ0JJRFFFZ0F5QUNLQUtBQVVvTkFTQURJQUJyUVFKMElBVnFDeWdDQUNJRlJRMEFEQUVMSUFJZ0F6WUNHQ0FDS0FKd0tBSUFJUVVMSUFVaEFBSkFBa0FEUUFKQUlBQkJBV29oQXdKQUlBQXNBQUFpQUFSQUlBQkJKVVlFUUF3RkJRd0NDd0FMREFFTElBTWhBQXdCQ3dzTUFRc2dBeXdBQUVIekFFWUVRQ0FHSUFKQkdHbzJBZ0FnQVNBRklBWVF2QUVnQmlRR0R3c0xJQUlvQWh3aEJ5QUNLQUlnSVFnZ0FpZ0NKQ0VKSUFJb0FpZ2hDaUFDS0FJc0lRc2dBaWdDTUNFRElBSW9BalFoQUNBRUlBSW9BaGcyQWdBZ0JDQUhOZ0lFSUFRZ0NEWUNDQ0FFSUFrMkFnd2dCQ0FLTmdJUUlBUWdDellDRkNBRUlBTTJBaGdnQkNBQU5nSWNJQUVnQlNBRUVMd0JJQVlrQmd0T0FRTi9Jd1loQVNNR1FkQUJhaVFHSUFBb0FnQW9BZ3doQWlBQUlBRWdBa0UvY1VHeUJXb1JBd0FDZjBHa2lBRW9BZ0FoQXlBQlFjZ0JhaUlDSUFFMkFnQWdBd3NnQWhDTEJTQUJKQVlMZVFFQmZ5QUFLQUlBSVFJZ0FVRUFUZ1JBSUFJb0FtZ2dBVWdFUUE4TElBSW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQThMQWtBQ1FDQUNLQUpzSWdGRkRRQWdBaWdDYUVFQ1NnMEFEQUVMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUNLQUpzSVFFTElBSWdBVUVCYWpZQ2JBc21BUUYvSUFBb0FnQW9BZ2doQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBRUo0RFFRRVFBUXRsQUNBQVFZd0JOZ0lBSUFCQk5UWUNCQ0FBUVkwQk5nSUlJQUJCTmpZQ0RDQUFRWTRCTmdJUUlBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nSVVJQUJCZ0JnMkFuQWdBRUgrQURZQ2RDQUFRUUEyQW5nZ0FFRUFOZ0o4SUFCQkFEWUNnQUVnQUFzckFRRi9JQUFvQWdRb0FnQWhBU0FBUVFCQmhBRWdBVUUvY1VIS0FXb1JCQUFpQUVFQU5nS0FBU0FBQ3lzQkFYOGdBQ2dDQkNnQ0FDRUJJQUJCQUVHWUFpQUJRVDl4UWNvQmFoRUVBQ0lBUVFBMkFwUUNJQUFMdHdZQkJuOGdBaUFEYWlFRUFrQUNRQUpBQWtBZ0FrRU5Td1JBSUFFc0FBQkJ5Z0JHQkVBZ0FTd0FBVUhHQUVjTkFpQUJMQUFDUWNrQVJ3MENJQUVzQUFOQnhnQkhEUUlnQVN3QUJBMENJQUJCQVRZQ25BSWdBQ0FCTEFBRklnYzZBS0FDSUFBZ0FTd0FCaUlJT2dDaEFpQUFJQUVzQUFjaUNUb0FvZ0lnQUNBQkxRQUpJQUV0QUFoQkNIUnlJZ1k3QWFRQ0lBQWdBUzBBQ3lBQkxRQUtRUWgwY2lJRE93R21BaUFIUVg5cVFSaDBRUmgxUWY4QmNVRUNUZ1JBSUFBb0FnQWlBa0g2QURZQ0ZDQUNJQWRCL3dGeE5nSVlJQUFvQWdBZ0FDMEFvUUkyQWh3Z0FDZ0NBQ2dDQkNFQ0lBQkJmeUFDUVQ5eFFiSUZhaEVEQUNBQUxBQ2dBaUVISUFBc0FLRUNJUWdnQUM0QnBBSWhCaUFBTGdHbUFpRURJQUFzQUtJQ0lRa0xJQUFoQWlBQUtBSUFJZ1VnQjBIL0FYRTJBaGdnQlNBSVFmOEJjVFlDSENBRklBWkIvLzhEY1RZQ0lDQUZJQU5CLy84RGNUWUNKQ0FGSUFsQi93RnhOZ0lvSUFWQjJRQTJBaFFnQlNnQ0JDRURJQUpCQVNBRFFUOXhRYklGYWhFREFDQUJMQUFNSWdZZ0FTd0FEU0lEY2tIL0FYRUVRQ0FBS0FJQUlnTkIzQUEyQWhRZ0F5QUJMUUFNTmdJWUlBQW9BZ0FnQVMwQURUWUNIQ0FBS0FJQUtBSUVJUU1nQWtFQklBTkJQM0ZCc2dWcUVRTUFJQUVzQUF3aEJpQUJMQUFOSVFNTElBWkIvd0Z4UVFOc0lBTkIvd0Z4YkNBRVFYSnFJZ05HQkVBUEN5QUFLQUlBSWdGQjJnQTJBaFFnQVNBRE5nSVlJQUFvQWdBb0FnUWhBQ0FDUVFFZ0FFRS9jVUd5QldvUkF3QVBDd1VnQWtFRlN3UkFJQUVzQUFCQnlnQkdEUUlMQ3d3QkN5QUJMQUFCUWNZQVJnUkFJQUVzQUFKQjJBQkdCRUFnQVN3QUEwSFlBRVlFUUNBQkxBQUVSUVJBQWtBQ1FBSkFBa0FnQVN3QUJVRVFhdzRFQUFFREFnTUxJQUFvQWdBaUFVSHVBRFlDRkF3SUN5QUFLQUlBSWdGQjd3QTJBaFFNQndzZ0FDZ0NBQ0lCUWZBQU5nSVVEQVlMSUFBb0FnQWlBa0hiQURZQ0ZDQUNJQUV0QUFVMkFoZ2dBQ2dDQUNBRU5nSWNEQVlMQ3dzTEN5QUFLQUlBSWdGQnp3QTJBaFFnQVNBRU5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QVBDeUFCSUFRMkFoZ0xJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QUx5Z1VCQ1g4akJpRUNJd1pCRUdva0JnSkFJQUFvQWhnaUJDZ0NCQ0lEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBd3NnQkNnQ0FDSUdRUUZxSVFFZ0JpMEFBQ0VGSUFOQmYyb2lBMFVFUUNBRUtBSU1JUU1nQUNBRFFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJQUlRRWdCQ2dDQkNFREN5QURRWDlxSVFNZ0FVRUJhaUVHUVE0Z0FTMEFBQ0FGUWY4QmNVRUlkSElpQVVGK2FpSUhRUUFnQVVFQ1N4c2dBVUVQU3hzaUJRUkFBa0JCQUNFQkEwQUNRQ0FEUlFSQUlBUW9BZ3doQXlBQUlBTkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBeUFFS0FJQUlRWUxJQUVnQW1vZ0Jpd0FBRG9BQUNBRFFYOXFJUU1nQmtFQmFpRUdJQUZCQVdvaUFTQUZTUTBCREFJTEN3d0NDd3NnQnlBRmF5RUlBa0FDUUFKQUlBQW9BcmdESWdGQjRBRnJJZ2tFUUNBSlFRNUdCRUFNQWdVTUF3c0FDeUFBSUFJZ0JTQUlFTEVGREFJTElBSXNBQUJCd1FCR0lBVkJDMHR4QkVBZ0Fpd0FBVUhrQUVZRVFDQUNMQUFDUWU4QVJnUkFJQUlzQUFOQjRnQkdCRUFnQWl3QUJFSGxBRVlFUUNBQ0xRQUlJQUl0QUFkQkNIUnlJUWNnQWkwQUNpQUNMUUFKUVFoMGNpRUpJQUlzQUFzaEJTQUFLQUlBSWdFZ0FpMEFCaUFDTFFBRlFRaDBjallDR0NBQklBYzJBaHdnQVNBSk5nSWdJQUVnQlVIL0FYRTJBaVFnQVVIT0FEWUNGQ0FCS0FJRUlRRWdBRUVCSUFGQlAzRkJzZ1ZxRVFNQUlBQkJBVFlDcUFJZ0FDQUZPZ0NzQWd3R0N3c0xDd3NnQUNnQ0FDSUJRZEFBTmdJVUlBRWdCellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BREFFTElBQW9BZ0FpQlVIR0FEWUNGQ0FGSUFFMkFoZ2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUVJQVkyQWdBZ0JDQUROZ0lFSUFoQkFFd0VRQ0FDSkFaQkFROExJQUFvQWhnb0FoQWhBeUFBSUFnZ0EwRS9jVUd5QldvUkF3QWdBaVFHUVFFUEN5QUNKQVpCQUF1TUFnRUdmeUFBS0FJWUlnSW9BZ1FpQVVVRVFDQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBQVIvSUFJb0FnUUZRUUFQQ3lFQkN5QUNLQUlBSWdOQkFXb2hCQ0FETFFBQUlRTWdBVUYvYWlJQlJRUkFJQUlvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBQkg4Z0FpZ0NBQ0VFSUFJb0FnUUZRUUFQQ3lFQkN5QUVMUUFBSUFOQi93RnhRUWgwY2lJR1FYNXFJUVVnQUNnQ0FDSURRZDBBTmdJVUlBTWdBQ2dDdUFNMkFoZ2dBQ2dDQUNBRk5nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBaUFFUVFGcU5nSUFJQUlnQVVGL2FqWUNCQ0FHUVFKTkJFQkJBUThMSUFBb0FoZ29BaEFoQVNBQUlBVWdBVUUvY1VHeUJXb1JBd0JCQVF1QkFRRUdmeUFBS0FJRUlnVWdBU2dDQkVZRWZ5QUFLQUlJSWdRZ0FTZ0NDRVlFZndOL0lBSWdCVWdFZnlBQ0lBUnNJUVpCQUNFREEwQWdBeUFFU0FSQUlBQW9BZ0FnQXlBR2FpSUhRUU4wYWlBQktBSUFJQWRCQTNScUt3TUFPUU1BSUFOQkFXb2hBd3dCQ3dzZ0FrRUJhaUVDREFFRlFRQUxDd1ZCZndzRlFYOExDNmtCQVFKL0lBQW9BcmdESWdGRkJFQWdBQkN4QWdSL0lBQW9BcmdEQlVFQUR3c2hBUXNnQUNnQzBBTW9BaFFpQWtIUUFXb2dBVVlFUUNBQUtBSUFJZ0ZCNUFBMkFoUWdBU0FDTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUU1nQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXdVZ0FDZ0NHQ2dDRkNFQklBQWdBaUFCUVQ5eFFZb0JhaEVDQUVVRVFFRUFEd3NMSUFBb0F0QURJZ0FnQUNnQ0ZFRUJha0VIY1RZQ0ZFRUJDNlJVQVNsL0l3WWhLU01HUVlBQ2FpUUdJQ2toQ2lBQUtBSzRBeUVCQTBBQ1FDQUJSUVJBQW44Z0FDZ0MwQU1vQWd3RVFDQUFFTEVDUlFSQVFkNENJUUVNQkFzZ0FDZ0N1QU1NQVFzZ0FDZ0NHQ0lHS0FJRUlnRkZCRUFnQmlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3RUN5QUdLQUlFSVFFTElBWW9BZ0FpQkVFQmFpRUNJQVFzQUFBaEF5QUJRWDlxSWdRRWZ5QUNCU0FHS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFRTElBWW9BZ1FoQkNBR0tBSUFDeUVCSUFOQi93RnhJUVVnQVN3QUFDSUhRZjhCY1NFQ0lBTkJmMGNnQjBGWVIzSUVRQ0FBS0FJQUlnTkJOellDRkNBRElBVTJBaGdnQUNnQ0FDQUNOZ0ljSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNBQ05nSzRBeUFHSUFGQkFXbzJBZ0FnQmlBRVFYOXFOZ0lFSUFJTElRRUxBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQlFRRnJEdjRCRUJJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJREJBVUlDZ2dJQ0FnR0J3Z0pDQWdJRUJBUUVCQVFFQkFDQVFBTEVRd1NFZzRPRGc0T0RnNE9EZzRPRGc0T0RnNFNFaElTRWhJU0VnMFNFaElTRWc4U0MwRVpJUUVNRXd0Qnl3QWhBUXdTQ3lBQUtBSUFJZ0ZCNkFBMkFoUWdBU2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQUtBTFFBMEVNYWlJQktBSUFCRUFnQUNnQ0FDSUJRY0FBTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUEwRU1haUVCQ3lBQVFnQTNBT2dCSUFCQ0FEY0E4QUVnQUVLQmdvU0lrS0RBZ0FFM0FQZ0JJQUJDZ1lLRWlKQ2d3SUFCTndDQUFpQUFRb1dLbEtqUW9NR0NCVGNBaUFJZ0FFS0ZpcFNvMEtEQmdnVTNBSkFDSUFCQkFEWUNtQUlnQUVFQU5nSW9JQUJCQURZQ3NBSWdBRUVBTmdLMEFpQUFRUUEyQXB3Q0lBQkJBVG9Bb0FJZ0FFRUJPZ0NoQWlBQVFRQTZBS0lDSUFCQkFUc0JwQUlnQUVFQk93R21BaUFBUVFBMkFxZ0NJQUJCQURvQXJBSWdBVUVCTmdJQURCQUxJQUJCQVVFQVFRQVEyQUZGQkVCQjNnSWhBUXdSQ3d3UEN5QUFRUUJCQUVFQUVOZ0JSUVJBUWQ0Q0lRRU1FQXNNRGdzZ0FFRUFRUUZCQUJEWUFVVUVRRUhlQWlFQkRBOExEQTBMSUFCQkFFRUFRUUVRMkFGRkJFQkIzZ0loQVF3T0N3d01DeUFBUVFCQkFVRUJFTmdCUlFSQVFkNENJUUVNRFFzTUN3c2dBQ2dDQUNJQ1FUODJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0tDeUFBS0FJWUlnTW9BZ1FpQVVVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFNb0FnUWhBUXNnQXlnQ0FDSUVRUUZxSVFJZ0JDMEFBQ0VFSUFGQmYyb2lBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFTQURLQUlBSVFJTElBSXRBQUFnQkVIL0FYRkJDSFJ5SWdaQmZtb2hCQ0FCUVg5cUlRRWdBa0VCYWlFQ0lBWkJBa3NFUUFOL0lBRkZCRUFnQXlnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3T0N5QURLQUlFSVFFZ0F5Z0NBQ0VDQ3lBQ1FRRnFJUVlnQWkwQUFDRUZJQUZCZjJvaUFrVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREE0TElBTW9BZ1FoQWlBREtBSUFJUVlMSUFZc0FBQWlDVUgvQVhFaEJ5QUFLQUlBSWdGQjBRQTJBaFFnQVNBRlFmOEJjU0lCTmdJWUlBQW9BZ0FnQnpZQ0hDQUFLQUlBS0FJRUlRZ2dBRUVCSUFoQlAzRkJzZ1ZxRVFNQUFrQUNRQ0FGUWY4QmNVRWZTZ1JBSUFBb0FnQWlCVUVkTmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFNQVFVZ0JVSC9BWEZCRDBvTkFTQUJJQUJCNkFGcWFpQUhRUTl4SWdVNkFBQWdBU0FBUWZnQmFtb2dDVUgvQVhGQkJIWWlBVG9BQUNBRklBRkxCRUFnQUNnQ0FDSUJRUjQyQWhRZ0FTQUhOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMREFFTElBQWdBV3BCK0FGcUlBazZBQUFMSUFSQmZtb2hBU0FDUVg5cUlRSWdCa0VCYWlFR0lBUkJBa29FZnlBQklRUWdBaUVCSUFZaEFnd0JCU0FCSVFRZ0FpRUJJQVlMQ3lFQ0N5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFESUFJMkFnQWdBeUFCTmdJRURBa0xJQUFvQWhnaUJTZ0NCQ0lCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1Dd3NnQlNnQ0JDRUJDeUFGS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRVNTd1JBQTBBZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFJdEFBQWhCeUFBS0FJQUlnWkIwZ0EyQWhRZ0JpQUhOZ0lZSUFBb0FnQW9BZ1FoQmlBQVFRRWdCa0UvY1VHeUJXb1JBd0FnQWtFQmFpRUdJQUZCZjJvaUFnUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FMSWdFc0FBQWhDU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRUlJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlRc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaERTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFUUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJFZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRWlBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VUSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUlFnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhGU0FCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVdJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSY2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEdDQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFWklBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJvZ0FVRUJhaUVHSUFKQmYyb2lBUVIvSUFZRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUJJQVVvQWdBTElRSWdBaXdBQUNJblFmOEJjU0lvSUJwQi93RnhJaVlnR1VIL0FYRWlKU0FZUWY4QmNTSWtJQmRCL3dGeElpTWdGa0gvQVhFaUlpQVZRZjhCY1NJaElCUkIvd0Z4SWlBZ0UwSC9BWEVpSHlBU1FmOEJjU0llSUJGQi93RnhJaDBnRUVIL0FYRWlIQ0FOUWY4QmNTSWJJQXRCL3dGeElnOGdDVUgvQVhFaURpQUlRZjhCY1NJTWFtcHFhbXBxYW1wcWFtcHFhbXBxSVFZZ0FDZ0NBQ0lESUE0MkFoZ2dBeUFNTmdJY0lBTWdEellDSUNBRElCczJBaVFnQXlBY05nSW9JQU1nSFRZQ0xDQURJQjQyQWpBZ0F5QWZOZ0kwSUFOQjJBQTJBaFFnQXlnQ0JDRURJQUJCQWlBRFFUOXhRYklGYWhFREFDQUFLQUlBSWdNZ0lEWUNHQ0FESUNFMkFod2dBeUFpTmdJZ0lBTWdJellDSkNBRElDUTJBaWdnQXlBbE5nSXNJQU1nSmpZQ01DQURJQ2cyQWpRZ0EwSFlBRFlDRkNBREtBSUVJUU1nQUVFQ0lBTkJQM0ZCc2dWcUVRTUFJQVJCYjJvaURpQUdTQ0FHUVlBQ1MzSUVRQ0FBS0FJQUlnUkJDVFlDRkNBRUtBSUFJUVFnQUNBRVFmOEJjVUdzQTJvUkFRQUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0NrRUFRWUFDRUVVYUlBWUVRRUVBSVFRRFFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd1BDeUFGS0FJRUlRRWdCU2dDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVDSUFRZ0Ntb2dBeXdBQURvQUFDQUVRUUZxSWdRZ0Jra05BQXNGUVFBaEJnc2dCeUFIUVhCcUlnUWdCMEVRY1VVaUF4c2lERUVEU3dSQUlBQW9BZ0FpRDBFZk5nSVVJQThnRERZQ0dDQUFLQUlBS0FJQUlRd2dBQ0FNUWY4QmNVR3NBMm9SQVFBTElBQkJ0QUZxSUFkQkFuUnFJQUJCeEFGcUlBUkJBblJxSUFNYklnTW9BZ0FpQkVVRVFDQURJQUFRc0FVaUJEWUNBQXNnQkVFQU9nQUFJQVFnQ1RvQUFTQUVJQWc2QUFJZ0JDQUxPZ0FESUFRZ0RUb0FCQ0FFSUJBNkFBVWdCQ0FST2dBR0lBUWdFam9BQnlBRUlCTTZBQWdnQkNBVU9nQUpJQVFnRlRvQUNpQUVJQlk2QUFzZ0JDQVhPZ0FNSUFRZ0dEb0FEU0FFSUJrNkFBNGdCQ0FhT2dBUElBUWdKem9BRUNBREtBSUFRUkZxSUFwQmdBSVFUQm9nRGlBR2F5SUVRUkJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFGSUFJMkFnQWdCU0FCTmdJRURBZ0xJQUFvQWhnaUNDZ0NCQ0lCUlFSQUlBZ29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQ0NnQ0JDRUJDeUFJS0FJQUlnSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQklBZ29BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNpSUdRWDVxSVFRZ0JrRUNTd1JBQTBBZ0FRUi9JQUVoQlNBQ0JTQUlLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXdMSUFnb0FnUWhCU0FJS0FJQUN5SUdMUUFBSWdGQkJIWWhBaUFBS0FJQUlnTkIwd0EyQWhRZ0F5QUJRUTl4SWdFMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBVUVEU3dSQUlBQW9BZ0FpQTBFZ05nSVVJQU1nQVRZQ0dDQUFLQUlBS0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBQkJwQUZxSUFGQkFuUnFJZ0VvQWdBaUEwVUVRQ0FCSUFBUXJ3VWlBellDQUFzZ0JFRi9haUVKQW44Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FDQUNRUUJISWdzRWZ5QUVRWUVCVGcwSklBTkJBVHNCQUNBRFFRRTdBUUlnQTBFQk93RUVJQU5CQVRzQkJpQURRUUU3QVFnZ0EwRUJPd0VLSUFOQkFUc0JEQ0FEUVFFN0FRNGdBMEVCT3dFUUlBTkJBVHNCRWlBRFFRRTdBUlFnQTBFQk93RVdJQU5CQVRzQkdDQURRUUU3QVJvZ0EwRUJPd0VjSUFOQkFUc0JIaUFEUVFFN0FTQWdBMEVCT3dFaUlBTkJBVHNCSkNBRFFRRTdBU1lnQTBFQk93RW9JQU5CQVRzQktpQURRUUU3QVN3Z0EwRUJPd0V1SUFOQkFUc0JNQ0FEUVFFN0FUSWdBMEVCT3dFMElBTkJBVHNCTmlBRFFRRTdBVGdnQTBFQk93RTZJQU5CQVRzQlBDQURRUUU3QVQ0Z0EwRkFhMEVCT3dFQUlBTkJBVHNCUWlBRFFRRTdBVVFnQTBFQk93RkdJQU5CQVRzQlNDQURRUUU3QVVvZ0EwRUJPd0ZNSUFOQkFUc0JUaUFEUVFFN0FWQWdBMEVCT3dGU0lBTkJBVHNCVkNBRFFRRTdBVllnQTBFQk93RllJQU5CQVRzQldpQURRUUU3QVZ3Z0EwRUJPd0ZlSUFOQkFUc0JZQ0FEUVFFN0FXSWdBMEVCT3dGa0lBTkJBVHNCWmlBRFFRRTdBV2dnQTBFQk93RnFJQU5CQVRzQmJDQURRUUU3QVc0Z0EwRUJPd0Z3SUFOQkFUc0JjaUFEUVFFN0FYUWdBMEVCT3dGMklBTkJBVHNCZUNBRFFRRTdBWG9nQTBFQk93RjhJQU5CQVRzQmZpQUpRUUYxQlNBRVFjRUFUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSkN5SUJRUVJyRGk0QUJnWUdCZ0VHQmdZR0JnWUNCZ1lHQmdZR0JnWURCZ1lHQmdZR0JnWUdCZ1FHQmdZR0JnWUdCZ1lHQmdZRkJndEJ3Q1VoQWd3R0MwSFFKQ0VDREFVTFFkQWpJUUlNQkF0Qm9DSWhBZ3dEQzBIUUlDRUNEQUlMUWNBZUlRSU1BUXNnQlVGL2FpRUNJQVpCQVdvaEJpQUJRUUJLQkVCQmdCd2hCeUFHREFNRklBRWhCQ0FDSVFFZ0Jnd0VDd0FMSUFJaEJ5QUZRWDlxSVFJZ0JrRUJhZ3dCQzBHQUhDRUhRY0FBSVFFZ0JVRi9haUVDSUFaQkFXb0xJUVFnQzBVRVFFRUFJUVVEUUNBQ1JRUkFJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRHdzZ0NDZ0NCQ0VDSUFnb0FnQWhCQXNnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQU93RUFJQUpCZjJvaEFpQUVRUUZxSVFZZ0JVRUJhaUlGSUFGSUJFQWdCaUVFREFFRklBRWhCQ0FDSVFFZ0Jnd0RDd0FBQ3dBTFFRQWhCUU4vSUFKRkJFQWdDQ2dDRENFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBSUtBSUVJUUlnQ0NnQ0FDRUVDeUFFUVFGcUlRWWdCQzBBQUNFTklBSkJmMm9pQWdSL0lBWUZJQWdvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNRGdzZ0NDZ0NCQ0VDSUFnb0FnQUxJUVFnQlVFQ2RDQUhhaWdDQUVFQmRDQURhaUFFTFFBQUlBMUIvd0Z4UVFoMGNqc0JBQ0FDUVg5cUlRSWdCRUVCYWlFR0lBVkJBV29pQlNBQlNBUi9JQVloQkF3QkJTQUJJUVFnQWlFQklBWUxDd3NoQWlBQUtBSUFJZ1VvQW1oQkFVb0VRQUpBUVFBaEJnTkFJQVVnQmtFQmRDQURhaThCQURZQ0dDQUZJQVpCQVhKQkFYUWdBMm92QVFBMkFod2dCU0FHUVFKeVFRRjBJQU5xTHdFQU5nSWdJQVVnQmtFRGNrRUJkQ0FEYWk4QkFEWUNKQ0FGSUFaQkJISkJBWFFnQTJvdkFRQTJBaWdnQlNBR1FRVnlRUUYwSUFOcUx3RUFOZ0lzSUFVZ0JrRUdja0VCZENBRGFpOEJBRFlDTUNBRklBWkJCM0pCQVhRZ0Eyb3ZBUUEyQWpRZ0JVSGZBRFlDRkNBRktBSUVJUVVnQUVFQ0lBVkJQM0ZCc2dWcUVRTUFJQVpCQ0dvaUJrSEFBRThOQVNBQUtBSUFJUVVNQUFBTEFBc0xJQWtnQkd0QkFDQUVhMEVBSUFzYmFpSUVRUUJLRFFBTEN5QUVCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFJSUFJMkFnQWdDQ0FCTmdJRURBY0xJQUFvQWhnaUJpZ0NCQ0lCUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUJDeUFHS0FJQUlnSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBTElnRXRBQUJ5UVFSSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBWW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DUXNnQmlnQ0JDRUNJQVlvQWdBaEFRc2dBVUVCYWlFRUlBRXRBQUJCQ0hRZ0FrRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdKQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaEJDQUFLQUlBSWdOQjFBQTJBaFFnQXlBRU5nSVlJQUFvQWdBb0FnUWhBeUFBUVFFZ0EwRS9jVUd5QldvUkF3QWdBQ0FFTmdLWUFpQUdJQUZCQVdvMkFnQWdCaUFDUVg5cU5nSUVEQVlMSUFBb0FoZ2lCU2dDQUNFQ0lBVW9BZ1FoQVNBQUtBTFFBeWdDRUVVRVFDQUFLQUlBSWdSQlBEWUNGQ0FFUVJocVFmTDlBa0hRQUJEVkFTQUFLQUlBS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTEFrQUNRQ0FBS0FJa1FRTklEUUFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBUVFoMElBRkJmMm9pQWdSL0lBUUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0V0QUFCeVFSaEhCRUFnQUNnQ0FDSUVRUXcyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFFRU5Sd1JBSUFBb0FnQWlCRUhHQURZQ0ZDQUVJQUFvQXJnRE5nSVlJQUFvQWdBb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUZCQVdvaEJDQUJMUUFBSVFZZ0FrRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0gvQVVjTkFDQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0tDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQkJBMGNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0FDZ0MyQUVpQXlnQ1dFY05BQ0FCQkg4Z0FTRUVJQUloQmlBREJTQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQW9MSUFVb0FnUWhCQ0FGS0FJQUlRWWdBQ2dDMkFFTElRRWdCRUYvYWlFQ0lBWkJBV29oQkNBR0xRQUFJQUVvQWdCR0JFQWdBZ1IvSUFFRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUNJQVVvQWdBaEJDQUFLQUxZQVFzaEJpQUNRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCaWdDc0FGSERRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFRWUIvUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeURRRWdBUVIvSUFJRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBTElRUWdBVUYvYWlFQklBUkJBV29oQWlBRUxBQUFEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBja0VCUncwQklBRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VDQ3lBQ1FRRnFJUVFnQWkwQUFDRUdJQUZCZjJvaUFVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUVFMSUFGQmYyb2hBU0FFUVFGcUlRSWdCQzBBQUNBR1FmOEJjVUVJZEhJTkFTQUJCSDhnQWdVZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUFzaEJDQUJRWDlxSVFFZ0JFRUJhaUVDSUFRc0FBQU5BU0FCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEFnc2dBa0VCYWlFRUlBSXRBQUFoQmlBQlFYOXFJZ0ZGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0xDeUFGS0FJRUlRRWdCU2dDQUNFRUN5QUJRWDlxSVFFZ0JFRUJhaUVDSUFRdEFBQWdCa0gvQVhGQkNIUnlRUUZIRFFFZ0FVVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREFzTElBVW9BZ1FoQVNBRktBSUFJUUlMSUFKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2cwQkJTQUNJUUVnQkNFQ0RBRUxEQUVMSUFBb0FnQWlCRUVjTmdJVUlBUW9BZ0FoQkNBQUlBUkIvd0Z4UWF3RGFoRUJBQXNnQUVFQk5nS3dBaUFGSUFJMkFnQWdCU0FCTmdJRURBVUxJQUFvQXRBRElBRkJBblJxUWFCNWFpZ0NBQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0dDd3dFQ3lBQUtBTFFBeWdDSENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdGQ3d3REN5QUFLQUlBSWdKQjNnQTJBaFFnQWlBQk5nSVlJQUFvQWdBb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QU1BZ3NnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlBa0VCYWlFRUlBSXRBQUJCQ0hRZ0FVRi9haUlDQkg4Z0JBVWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUlnQmlnQ0FBc2lBUzBBQUhJaUEwRithaUVFSUFBb0FnQWlCVUhkQURZQ0ZDQUZJQUFvQXJnRE5nSVlJQUFvQWdBZ0JEWUNIQ0FBS0FJQUtBSUVJUVVnQUVFQklBVkJQM0ZCc2dWcUVRTUFJQVlnQVVFQmFqWUNBQ0FHSUFKQmYybzJBZ1FnQTBFQ1N3UkFJQUFvQWhnb0FoQWhBU0FBSUFRZ0FVRS9jVUd5QldvUkF3QUxEQUVMSUFBb0FnQWlBa0hHQURZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQVFRQTJBcmdEUVFBaEFRd0JDd3NDUUNBQlFSbEdCRUFnQUNnQ0dDSUhLQUlBSVFRZ0J5Z0NCQ0VCSUFBb0F0QURLQUlRUlFSQUlBQW9BZ0FpQWtFOE5nSVVJQUpCR0dwQjd2MENRZEFBRU5VQklBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FRUi9JQUVoQWlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFRUlBRXRBQUFoQlNBQ1FYOXFJZ0lFZnlBRUJTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUUlnQnlnQ0FBc2lBVUVCYWlFR0lBRXRBQUFoQ0NBQ1FYOXFJZ1FFZnlBR0JTQUhLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBSEtBSUVJUVFnQnlnQ0FBc2lBU3dBQUNJRFFmOEJjU0VKSUFBb0FnQWlBa0hwQURZQ0ZDQUNJQWsyQWhnZ0FDZ0NBQ2dDQkNFQ0lBQkJBU0FDUVQ5eFFiSUZhaEVEQUFKQUFrQUNRQUovQWtBZ0NVRUJkRUVHYWlBSVFmOEJjU0FGUWY4QmNVRUlkSEpISUFOQi93RnhRUVJLY2cwQUlBTUVRQ0FBSUFrMkF0UUNJQUZCQVdvaEFTQUVRWDlxSWdRaEFpQUVSUXdDQ3lBQUtBTGdBVVVOQUNBQUlBazJBdFFDSUFGQkFXb2hBaUFFUVg5cUlnRUVmMEVCQlVFQklRUU1CQXNoQkF3RUN5QUFLQUlBSWdKQkREWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBZ0FDQUpOZ0xVQWlBQlFRRnFJUUlnQkVGL2FpSUVSU0VHSUFNRWZ5QUNJUUVnQkNFQ0lBWUZJQVFoQVVFQklRUU1BZ3NMSVFSQkFDRURBMEFDUUNBRUJIOGdCeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0J5Z0NCQ0VHSUFjb0FnQUZJQUloQmlBQkN5SUVMUUFBSVFJZ0F3UkFBa0JCQUNFQkEwQWdBRUhZQW1vZ0FVRUNkR29vQWdBb0FnQWdBa2NFUUNBQlFRRnFJZ0VnQTBrRVFBd0NCUXdEQ3dBTEN5QUFLQUxZQWlnQ0FDRUJJQU5CQVVzRVFFRUJJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ2dDQUNJRklBRWdCU0FCU2hzaEFTQUNRUUZxSWdJZ0EwY05BQXNMSUFGQkFXb2hBZ3NMSUFaQmYyb2hCaUFFUVFGcUlRVWdBQ2dDMkFFaEFRSkFBa0FnQUNnQ0pDSUlRUUJNRFFCQkFDRUVBa0FEUUNBQ0lBRW9BZ0JHRFFFZ0FVSFlBR29oQVNBRVFRRnFJZ1FnQ0VnTkFBc01BUXNNQVFzZ0FDZ0NBQ0lFUVFRMkFoUWdCQ0FDTmdJWUlBQW9BZ0FvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FFSFlBbW9nQTBFQ2RHb2dBVFlDQUNBQklBWUVmeUFGQlNBSEtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FIS0FJRUlRWWdCeWdDQUFzaUFpMEFBQ0lFUVFSMk5nSVVJQUVnQkVFUGNUWUNHQ0FBS0FJQUlnUWdBU2dDQURZQ0dDQUVJQUVvQWhRMkFod2dCQ0FCS0FJWU5nSWdJQVJCNmdBMkFoUWdCQ2dDQkNFQklBQkJBU0FCUVQ5eFFiSUZhaEVEQUNBQ1FRRnFJUUlnQmtGL2FpSUVSU0VHSUFOQkFXb2lBeUFKU1FSQUlBSWhBU0FFSVFJZ0JpRUVEQUlGSUFRaEFVRUFJUVFNQXdzQUN3c01CQXNnQmcwQURBRUxJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ0FoQWlBSEtBSUVJUUVMSUFKQkFXb2hCaUFBSUFJdEFBQTJBcHdESUFGQmYyb2lBZ1IvSUFZRklBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnUWhBaUFIS0FJQUN5SUJRUUZxSVFZZ0FDQUJMUUFBTmdLZ0F5QUFJQUpCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQkxRQUFJZ1pCQkhZMkFxUURJQUFnQmtFUGNUWUNxQU1nQUNnQ0FDSUdJQUFvQXB3RE5nSVlJQVlnQUNnQ29BTTJBaHdnQmlBQUtBS2tBellDSUNBR0lBQW9BcWdETmdJa0lBWkI2d0EyQWhRZ0JpZ0NCQ0VHSUFCQkFTQUdRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRUFOZ0lVSUFSRkJFQWdBQ0FBS0FLUUFVRUJhallDa0FFTElBY2dBVUVCYWpZQ0FDQUhJQUpCZjJvMkFnUWdBRUVBTmdLNEF5QUtKQVpCQVE4RklBRkJ5d0JHQkVBZ0FDZ0NBQ0lCUWRjQU5nSVVJQUVvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBZ0FFRUFOZ0s0QXlBS0pBWkJBZzhGSUFGQnJnRkdCRUFNQXdVZ0FVSGVBa1lOQXdzTEMwRUFEd3NnQ2lRR1FRQUxRUUVCZnlBQUtBTFFBeUVCSUFCQkFEWUMyQUVnQUVFQU5nS1FBU0FBUVFBMkFyZ0RJQUZCQURZQ0RDQUJRUUEyQWhBZ0FVRUFOZ0lZSUFGQkFEWUNwQUVMaVFNQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFhd0JJQUZCUDNGQnlnRnFFUVFBSWdFMkF0QURJQUZCaXdFMkFnQWdBVUhYQURZQ0JDQUJRZGdBTmdJSUlBRkIyUUEyQWh3Z0FVRUFOZ0pnSUFGQkFEWUNaQ0FCUWRrQU5nSWtJQUZCQURZQ2FDQUJRZGtBTmdJb0lBRkJBRFlDYkNBQlFka0FOZ0lzSUFGQkFEWUNjQ0FCUWRrQU5nSXdJQUZCQURZQ2RDQUJRZGtBTmdJMElBRkJBRFlDZUNBQlFka0FOZ0k0SUFGQkFEWUNmQ0FCUWRrQU5nSThJQUZCQURZQ2dBRWdBVUZBYTBIWkFEWUNBQ0FCUVFBMkFvUUJJQUZCMlFBMkFrUWdBVUVBTmdLSUFTQUJRZGtBTmdKSUlBRkJBRFlDakFFZ0FVSFpBRFlDVENBQlFRQTJBcEFCSUFGQjJRQTJBbEFnQVVFQU5nS1VBU0FCUWRrQU5nSlVJQUZCQURZQ21BRWdBVUVBTmdLY0FTQUJRZGtBTmdKY0lBRkJBRFlDb0FFZ0FVSGFBRFlDSUNBQlFkb0FOZ0pZSUFBb0F0QURJUUVnQUVFQU5nTFlBU0FBUVFBMkFwQUJJQUJCQURZQ3VBTWdBVUVBTmdJTUlBRkJBRFlDRUNBQlFRQTJBaGdnQVVFQU5nS2tBUXNlQUNBQVFRRVFyZ0lnQUVFQUVLNENJQUFvQWdRUU9DQUFRUUEyQWdRTDJRY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJUVFkMElRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2hCQjNRaENpQUdRUUJLQkVBZ0FVRXdhaUVMSUFFb0FoUWlBeUFHSUFNZ0JrZ2JJZ1lnQVNnQ0hDQUZheUlESUFZZ0EwZ2JJZ1lnQVNnQ0JDQUZheUlESUFZZ0EwZ2JJZ05CQVU0RVFDQUZJQXBzSVFWQkFDRUdBMEFnQ3lnQ0FDRUhJQUFnQ3lBQktBSUFJQVpCQW5ScUtBSUFJQVVnQXlBS2JDSUlJQWRCUDNGQm1nWnFFUVVBSUFFb0FoQWlBeUFHSUFFb0FoUWlCMm9pQmt3TkF5QUZJQWhxSVFVZ0J5QURJQVpySWdNZ0J5QURTQnNpQ0NBQktBSWNJQUVvQWhnZ0Jtb2lCMnNpQXlBSUlBTklHeUlJSUFFb0FnUWdCMnNpQXlBSUlBTklHeUlEUVFGT0RRQUxDd3NMSUFFb0Fod2lBeUFKU1FSQUFrQWdCRVVoQlFKQUFrQWdBeUFDU1FSQUlBVUVmMEVBSVFVZ0FnVWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQUlBSWhBd3dDQ3lFREJTQUZSUTBCUVFBaEJRc01BUXNnQVNBSk5nSWNRUUVoQlFzZ0FTZ0NJRVVFUUNBRkRRRWdBQ2dDQUNJRFFSYzJBaFFnQXlnQ0FDRURJQUFnQTBIL0FYRkJyQU5xRVFFQURBRUxJQUVvQWdoQkIzUWhCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MTWdFQmZ5QUFLQUlJSUFBb0FnUVFwUU1pQVFSQUlBRWdBQkRxQkVFQVNBUkFJQUVRU1VFQUlRRUxCVUVBSVFFTElBRUwwQWNCQjM4Q1FBSkFJQUlnQTJvaUNTQUJLQUlFU3cwQUlBRW9BZ3dnQTBrTkFDQUJLQUlBUlEwQURBRUxJQUFvQWdBaUEwRVhOZ0lVSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc0NRQUpBSUFFb0FoZ2lBeUFDU3cwQUlBa2dBeUFCS0FJUWFrc05BQXdCQ3lBQktBSW9SUVJBSUFBb0FnQWlBMEhIQURZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFFb0FpUUVRQ0FCS0FJSUlRb2dBU2dDR0NFR0lBRW9BaEFpQlVFQVNnUkFBa0FnQVVFd2FpRUxJQUVvQWhRaUF5QUZJQU1nQlVnYklnVWdBU2dDSENBR2F5SURJQVVnQTBnYklnVWdBU2dDQkNBR2F5SURJQVVnQTBnYklnTkJBVTRFUUNBR0lBcHNJUVZCQUNFR0EwQWdBU2dDTkNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQWlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUZCQURZQ0pBc2dBU2dDRUNFR0lBRWdBU2dDR0NBQ1NRUi9JQUlGSUFrZ0Jtc2lBMEVBSUFOQkFFb2JDeUlGTmdJWUlBRW9BZ2doQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2doQlNBRElBRW9BaGdpQTJzaUFDQUpJQU5ySWdOSkJFQURRQ0FCS0FJQUlBQkJBblJxS0FJQVFRQWdCUkJGR2lBQVFRRnFJZ0FnQTBjTkFBc0xDd3NnQkVVRVFDQUJLQUlBSUFJZ0FTZ0NHR3RCQW5ScUR3c2dBVUVCTmdJa0lBRW9BZ0FnQWlBQktBSVlhMEVDZEdvTDRBb0JFMzhnQUNnQ0JDSUtLQUpFSWdFRWZ3Ti9JQUVvQWdCRkJFQWdBeUFCS0FJSUlnUWdBU2dDREd4cUlRTWdBaUFFSUFFb0FnUnNhaUVDQ3lBQktBSXNJZ0VOQUNBRElRRWdBZ3NGUVFBaEFVRUFDeUVESUFvb0FrZ2lCQVJBSUFFaEFnTkFJQVFvQWdCRkJFQWdBaUFFS0FJSUlnRWdCQ2dDREVFSGRHeHFJUUlnQXlBRUtBSUVJQUZCQjNSc2FpRURDeUFFS0FJc0lnUU5BQXNGSUFFaEFnc2dBa0VCU0FSQUR3c2dDaWdDVEJvZ0F5SUJJQU5JQkg4Z0FTQUNFRGtpQVVFQklBRkJBVW9iQlVHQWxPdmNBd3NoRHlBS0tBSkVJZ0lFUUFOQUlBSW9BZ0JGQkVBZ0FpZ0NCQ0lGUVg5cUlBSW9BZ3dpQVJCSVFRRnFJQTlLQkVBZ0FpQUJJQTlzTmdJUUlBQWdCU0FDUVFocUlnTW9BZ0JzRUo4RElBSkJBVFlDS0NBQ0tBSVFJUVVGSUFJZ0JUWUNFQ0FDUVFocUlRTUxJQUFvQWdRaEVrSHdrK3ZjQXlBREtBSUFJZ3NRU0NFQklBdEI4SlByM0FOTEJFQWdBQ2dDQUNJRFFjZ0FOZ0lVSUFBZ0F5Z0NBRUgvQVhGQnJBTnFFUUVBQ3lBU0lBRWdCU0FCSUFWSUd5SUJOZ0pRSUFCQkFTQUZRUUowRUxVQklRd2dCUVJBSUFWQmYzTWhFRUVBSVFNRFFDQUFLQUlFSVFjZ0FTQUZJQU5ySWdRZ0FTQUVTUnNpQkNBTGJDSUdRZkNUNjl3RFN3UkFJQUFvQWdBaUNFRTROZ0lVSUFoQkF6WUNHQ0FBSUFBb0FnQW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0JrRUlJQVpCQjNFaUNHdEJBQ0FJRzJvaUNFRVFhaUlORUVRaUJrVUVRQ0FBS0FJQUlnbEJPRFlDRkNBSlFRUTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBY2dCeWdDVENBTmFqWUNUQ0FHSUFkQlFHc2lCeWdDQURZQ0FDQUdJQWcyQWdRZ0JrRUFOZ0lJSUFjZ0JqWUNBQ0FFQkVBZ0F5QVFhaUlOSUFGQmYzTWlDVXNoRGlBRUlRY2dCa0VRYWlFSUlBTWhBUU5BSUFGQkFXb2hCaUFCUVFKMElBeHFJQWcyQWdBZ0NDQUxhaUVJSUFkQmYyb2lCd1JBSUFZaEFRd0JDd3NnQTBGL2FpQU5JQWtnRGh0cklRTUxJQU1nQlVrRVFDQUVJUUVNQVFzTEN5QUNJQXcyQWdBZ0FpQUtLQUpRTmdJVUlBSkJBRFlDR0NBQ1FRQTJBaHdnQWtFQU5nSWtDeUFDS0FJc0lnSU5BQXNMSUFvb0FrZ2lBa1VFUUE4TEEwQWdBaWdDQUVVRVFDQUNLQUlFSWdWQmYyb2dBaWdDRENJQkVFaEJBV29nRDBvRVFDQUNJQUVnRDJ3MkFoQWdBQ0FDUVFocUlnTW9BZ0FnQlVFSGRHd1Fud01nQWtFQk5nSW9JQUlvQWhBaEJRVWdBaUFGTmdJUUlBSkJDR29oQXdzZ0FDZ0NCQ0VUUWZDVDY5d0RJQU1vQWdBaUVFRUhkQ0lMRUVnaEFTQUxRZkNUNjl3RFN3UkFJQUFvQWdBaUEwSElBRFlDRkNBQUlBTW9BZ0JCL3dGeFFhd0RhaEVCQUFzZ0V5QUJJQVVnQVNBRlNCc2lBVFlDVUNBQVFRRWdCVUVDZEJDMUFTRU1JQVVFUUNBRlFYOXpJUTFCQUNFREEwQWdBQ2dDQkNFSElBRWdCU0FEYXlJRUlBRWdCRWtiSWdRZ0Myd2lDRUh3ayt2Y0Ewc0VRQ0FBS0FJQUlnWkJPRFlDRkNBR1FRTTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBaEJFSElpQ1JCRUlnWkZCRUFnQUNnQ0FDSU9RVGcyQWhRZ0RrRUVOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUhJQWtnQnlnQ1RHbzJBa3dnQmlBSFFVQnJJZ2NvQWdBMkFnQWdCaUFJTmdJRUlBWkJBRFlDQ0NBSElBWTJBZ0FnQkFSQUlBTWdEV29pQ1NBQlFYOXpJZzVMSVJFZ0JDRUhJQVpCRUdvaENDQURJUUVEUUNBQlFRRnFJUVlnQVVFQ2RDQU1haUFJTmdJQUlCQkJCM1FnQ0dvaENDQUhRWDlxSWdjRVFDQUdJUUVNQVFzTElBTkJmMm9nQ1NBT0lCRWJheUVEQ3lBRElBVkpCRUFnQkNFQkRBRUxDd3NnQWlBTU5nSUFJQUlnQ2lnQ1VEWUNGQ0FDUVFBMkFoZ2dBa0VBTmdJY0lBSkJBRFlDSkFzZ0FpZ0NMQ0lDRFFBTEM0c0JBUUovSUFBb0FnUWhCeUFCUVFGR0JFQkJBU0VCQlNBQUtBSUFJZ1pCRHpZQ0ZDQUdJQUUyQWhnZ0FDZ0NBQ2dDQUNFR0lBQWdCa0gvQVhGQnJBTnFFUUVBQ3lBQUlBRkJnQUVRdFFFaUFFRUFOZ0lBSUFBZ0JEWUNCQ0FBSUFNMkFnZ2dBQ0FGTmdJTUlBQWdBallDSUNBQVFRQTJBaWdnQUNBSEtBSklOZ0lzSUFjZ0FEWUNTQ0FBQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKRU5nSXNJQWNnQURZQ1JDQUFDNHdDQVF0L0lBQW9BZ1FoRGtId2srdmNBeUFDUVFkMElnb1FTQ0VGSUFwQjhKUHIzQU5MQkVBZ0FDZ0NBQ0lHUWNnQU5nSVVJQVlvQWdBaEJpQUFJQVpCL3dGeFFhd0RhaEVCQUFzZ0RpQUZJQU1nQlNBRFNCc2lCRFlDVUNBQUlBRWdBMEVDZEJDMUFTRUhJQU5GQkVBZ0J3OExJQU5CZjNNaEMwRUFJUVlEUUNBQUlBRWdCQ0FESUFacklnVWdCQ0FGU1JzaUNDQUtiQkN2QWlFSklBZ0VRQ0FHSUF0cUlnVWdCRUYvY3lJRUlBVWdCRXNiSVF3Z0NDRUVJQVloQlFOQUlBVkJBV29oRFNBRlFRSjBJQWRxSUFrMkFnQWdBa0VIZENBSmFpRUpJQVJCZjJvaUJBUkFJQTBoQlF3QkN3c2dCa0YvYWlBTWF5RUdDeUFHSUFOSkJFQWdDQ0VFREFFTEN5QUhDNFFDQVFwL0lBQW9BZ1FoRFVId2srdmNBeUFDRUVnaEJTQUNRZkNUNjl3RFN3UkFJQUFvQWdBaUJrSElBRFlDRkNBR0tBSUFJUVlnQUNBR1FmOEJjVUdzQTJvUkFRQUxJQTBnQlNBRElBVWdBMGdiSWdRMkFsQWdBQ0FCSUFOQkFuUVF0UUVoQnlBRFJRUkFJQWNQQ3lBRFFYOXpJUXBCQUNFR0EwQWdBQ0FCSUFJZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0d3UXJ3SWhDU0FJQkVBZ0JpQUthaUlGSUFSQmYzTWlCQ0FGSUFSTEd5RUxJQWdoQkNBR0lRVURRQ0FGUVFGcUlRd2dCVUVDZENBSGFpQUpOZ0lBSUFJZ0NXb2hDU0FFUVg5cUlnUUVRQ0FNSVFVTUFRc0xJQVpCZjJvZ0Myc2hCZ3NnQmlBRFNRUkFJQWdoQkF3QkN3c2dCd3Z0QWdFRGZ5TUdJUUlqQmtFUWFpUUdJQUJCQURZQ0JDQUNRUUEyQWdoQjFBQVFSQ0lCUlFSQUlBQW9BZ0FpQTBFNE5nSVVJQU5CQURZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQVVFaE5nSUFJQUZCSWpZQ0JDQUJRUWMyQWdnZ0FVRUlOZ0lNSUFGQkl6WUNFQ0FCUVNRMkFoUWdBVUdKQVRZQ0dDQUJRUlUyQWh3Z0FVRVdOZ0lnSUFGQk5EWUNKQ0FCUVlvQk5nSW9JQUZCZ0pUcjNBTTJBakFnQVVFQU5nSXNJQUZCQURZQ09DQUJRVUJyUVFBMkFnQWdBVUVBTmdJMElBRkJBRFlDUENBQlFRQTJBa1FnQVVFQU5nSklJQUZCMUFBMkFrd2dBQ0FCTmdJRVFlRDlBaEFOSWdCRkJFQWdBaVFHRHdzZ0FrSDRBRG9BRENBQ0lBSkJDR28yQWdBZ0FpQUNRUXhxTmdJRUlBQkI2UDBDSUFJUWd3RkJBRW9FUUFKQUlBSXNBQXhCelFCcklnQkJBQ0FBUVNCSEcwVUVRQ0FDSUFJb0FnaEI2QWRzSWdBMkFnZ01BUXNnQWlnQ0NDRUFDeUFCSUFCQjZBZHNOZ0lzQ3lBQ0pBWUw5UUVCQkg4akJpRUVJd1pCRUdva0JpQUFLQUlVSWdOQnpRRkhCRUFnQUNnQ0FDSUZRUlUyQWhRZ0JTQUROZ0lZSUFBb0FnQW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQUNnQ2pBRWlCU0FBS0FKMElnWlBCRUFnQUNnQ0FDSUJRZjRBTmdJVUlBRW9BZ1FoQVNBQVFYOGdBVUUvY1VHeUJXb1JBd0FnQkNRR1FRQVBDeUFBS0FJSUlnTUVRQ0FESUFVMkFnUWdBeUFHTmdJSUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNnQkVFQU5nSUFJQUFvQXNBREtBSUVJUU1nQUNBQklBUWdBaUFEUVI5eFFmb0ZhaEVIQUNBQUlBUW9BZ0FpQVNBQUtBS01BV28yQW93QklBUWtCaUFCQzVJRUFSMS9JQUFvQXVRRElRUWdBQ2dDZUNFSUlBQW9BbkFoQ1NBQUtBTFFBaUVTSUFOQkFFd0VRQThMSUFoQkFFb2hFeUFKUlNFVUlBbEJmMm9pRlNBSWJDRVdRUUFnQ0dzaEZ5QUpRUUZxSVE4RFFDQUtRUUowSUFKcUloZ29BZ0JCQUNBSkVFVWFJQk1FUUFKQUlCUUVRQ0FFS0FKVVJTRUdRUUFoQUFOQUlBUkJ4QUJxSUFCQkFuUnFLQUlBSWdVZ0QwRUJkQ0FGYWlBR0cwRUFPd0VBSUFnZ0FFRUJhaUlBUncwQUN3d0JDeUFLUVFKMElBRnFJUmxCQUNFSEEwQWdCeUFaS0FJQWFpRUdJQmdvQWdBaEFDQUVLQUpVQkg5QmZ5RUxJQVJCeEFCcUlBZEJBblJxS0FJQUlBOUJBWFJxSVEwZ0JpQVdhaUVHSUFBZ0ZXb2hBQ0FYQlVFQklRc2dCRUhFQUdvZ0IwRUNkR29vQWdBaERTQUlDeUVhSUFRb0FoZ2dCMEVDZEdvb0FnQWhHeUFFS0FJUUlBZEJBblJxS0FJQUlSd2dDU0FMYkNFZ1FRQWhFQ0FKSVJGQkFDRU9RUUFoRENBTklRVURRQ0FBSUJzZ0VpQUdMUUFBSUF0QkFYUWdCV29pSGk0QkFDQU1RUWhxYWtFRWRXcHFMUUFBSWd4cUxRQUFJaDhnQUMwQUFHbzZBQUFnQlNBT0lBd2dIQ0FmYWkwQUFHc2lCVUVEYkdvN0FRQWdFQ0FGUVFWc2FpRU9JQVZCQjJ3aERDQUdJQnBxSVFZZ0FDQUxhaUVBSUJGQmYyb2lFUVJBSUFVaEVDQWVJUVVNQVFzTElDQkJBWFFnRFdvZ0Rqc0JBQ0FIUVFGcUlnY2dDRWNOQUFzTEN5QUVJQVFvQWxSRk5nSlVJQXBCQVdvaUNpQURSdzBBQ3d2RkFnRU9meUFBS0FMa0F5RUVJQUFvQW5naENTQUFLQUp3SVFZZ0EwRUFUQVJBRHdzZ0NVRUFUQVJBUVFBaEFBTkFJQUJCQW5RZ0Ftb29BZ0JCQUNBR0VFVWFJQVFnQkNnQ01FRUJha0VQY1RZQ01DQUFRUUZxSWdBZ0EwY05BQXNQQ3lBR1JTRU5BMEFnQjBFQ2RDQUNhaUlPS0FJQVFRQWdCaEJGR2lBRUtBSXdJUXdnQjBFQ2RDQUJhaUVQSUExRkJFQkJBQ0VGQTBBZ0JDZ0NHQ0FGUVFKMGFpZ0NBQ0VRSUFSQk5Hb2dCVUVDZEdvb0FnQWhFU0FHSVFBZ0RpZ0NBQ0VJUVFBaENpQUZJQThvQWdCcUlRc0RRQ0FJSUJBZ0N5MEFBQ0FNUVFaMElCRnFJQXBCQW5ScUtBSUFhbW90QUFBZ0NDMEFBR282QUFBZ0NTQUxhaUVMSUFoQkFXb2hDQ0FLUVFGcVFROXhJUW9nQUVGL2FpSUFEUUFMSUFrZ0JVRUJhaUlGUncwQUN3c2dCQ0FNUVFGcVFROXhOZ0l3SUFkQkFXb2lCeUFEUncwQUN3dklBZ0VQZnlBQUtBTGtBeUlFS0FJWUlnVW9BZ0FoQ3lBRktBSUVJUXdnQlNnQ0NDRU5JQUFvQW5BaENpQURRUUJNQkVBUEN5QUVLQUl3SVFBZ0NrVUVRRUVBSVFFRFFDQUFRUUZxUVE5eElRQWdBVUVCYWlJQklBTkhEUUFMSUFRZ0FEWUNNQThMQTBBZ0JDZ0NOQ0VPSUFRb0FqZ2hEeUFFS0FJOElSQWdDaUVGUVFBaEJpQUlRUUowSUFKcUtBSUFJUWtnQ0VFQ2RDQUJhaWdDQUNFSEEwQWdCMEVEYWlFUklBbEJBV29oRWlBSklBMGdCeTBBQWlBQVFRWjBJQkJxSUFaQkFuUnFLQUlBYW1vdEFBQWdCeTBBQUNBQVFRWjBJQTVxSUFaQkFuUnFLQUlBYWlBTGFpMEFBQ0FNSUFjdEFBRWdBRUVHZENBUGFpQUdRUUowYWlnQ0FHcHFMUUFBYW1vNkFBQWdCa0VCYWtFUGNTRUdJQVZCZjJvaUJRUkFJQkloQ1NBUklRY01BUXNMSUFRZ0FFRUJha0VQY1NJQU5nSXdJQWhCQVdvaUNDQURSdzBBQ3d2dEFRRUtmeUFBS0FMa0F5Z0NHQ0VNSUFBb0FuZ2hCaUFBS0FKd0lncEZJQU5CQVVoeUJFQVBDeUFHUVFCTUJFQkJBQ0VBQTBBZ0FFRUNkQ0FDYWlnQ0FFRUFJQW9RUlJvZ0FFRUJhaUlBSUFOSERRQUxEd3NEUUNBS0lRc2dCVUVDZENBQ2FpZ0NBQ0VISUFWQkFuUWdBV29vQWdBaEFBTkFRUUFoQ0VFQUlRa2dBQ0VFQTBBZ0JFRUJhaUVOSUFrZ0NFRUNkQ0FNYWlnQ0FDQUVMUUFBYWkwQUFHb2hDU0FJUVFGcUlnZ2dCa2NFUUNBTklRUU1BUXNMSUFBZ0Jtb2hBQ0FIUVFGcUlRUWdCeUFKT2dBQUlBdEJmMm9pQ3dSQUlBUWhCd3dCQ3dzZ0JVRUJhaUlGSUFOSERRQUxDNjRCQVFsL0lBQW9BdVFES0FJWUlnUW9BZ0FoQnlBRUtBSUVJUWdnQkNnQ0NDRUpJQUFvQW5BaUNrVWdBMEVCU0hJRVFBOExBMEFnQ2lFQUlBVkJBblFnQW1vb0FnQWhCaUFGUVFKMElBRnFLQUlBSVFRRFFDQUVRUU5xSVFzZ0JrRUJhaUVNSUFZZ0NTQUVMUUFDYWkwQUFDQUVMUUFBSUFkcUxRQUFJQWdnQkMwQUFXb3RBQUJxYWpvQUFDQUFRWDlxSWdBRVFDQU1JUVlnQ3lFRURBRUxDeUFGUVFGcUlnVWdBMGNOQUFzTEpnRUJmeUFBS0FJQUlnRkJMellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUx2UVVCQ1g4Z0FDQUFLQUxrQXlJQ0tBSVFOZ0tJQVNBQUlBSW9BaFEyQW9RQkFrQUNRQUpBQWtBZ0FDZ0NXQTREQUFFQ0F3c2dBQ2dDZUVFRFJnUkFJQUpCRmpZQ0JBVWdBa0VYTmdJRUN3OExJQUpCR0VFWklBQW9BbmhCQTBZYk5nSUVJQUpCQURZQ01DQUNLQUljUlFSQUlBQVFvUU1MSUFJb0FqUUVRQThMSUFBb0F1UURJUUlnQUNnQ2VDSUJRUUJNQkVBUEN3TkFJQUpCSUdvZ0JFRUNkR29vQWdBaEJRSkFBa0FnQkVVTkFFRUFJUU1EUUNBQ1FTQnFJQU5CQW5ScUtBSUFJQVZIQkVBZ0EwRUJhaUlESUFSUERRSU1BUXNMSUFKQk5Hb2dBMEVDZEdvb0FnQWlBMFVOQUF3QkN5QUFLQUlFS0FJQUlRRWdBRUVCUVlBSUlBRkJQM0ZCeWdGcUVRUUFJUVlnQlVFSmRFR0FmR29oQlVFQUlRRURRRUVBSVFNRFFFSC9BU0FESUFGQkJIUkJzREpxYWkwQUFFRUJkR3NpQ0VIL0FXd2hCeUFCUVFaMElBWnFJQU5CQW5ScUlBaEJBRWdFZjBFQVFRQWdCMnNnQlJBNWF3VWdCeUFGRURrTE5nSUFJQU5CQVdvaUEwRVFSdzBBQ3lBQlFRRnFJZ0ZCRUVjTkFBc2dCaUVESUFBb0FuZ2hBUXNnQWtFMGFpQUVRUUowYWlBRE5nSUFJQVJCQVdvaUJDQUJTQTBBQ3c4TElBSkJHallDQkNBQ1FRQTJBbFFnQWlnQ1JBUi9JQUJCK0FCcUlnRWhBeUFCS0FJQUlRRWdBRUh3QUdvRklBQkI4QUJxSWdRb0FnQWhDU0FBUWZnQWFpSURLQUlBUVFCTUJFQVBDeUFKUVFGMFFRUnFJUVZCQUNFQkEzOGdBQ2dDQkNnQ0JDRUdJQUpCeEFCcUlBRkJBblJxSUFCQkFTQUZJQVpCUDNGQnlnRnFFUVFBTmdJQUlBRkJBV29pQVNBREtBSUFJZ1pJRFFBZ0JpRUJJQVFMQ3lnQ0FDRUtJQUZCQUV3RVFBOExJQXBCQVhSQkJHb2hBVUVBSVFBRFFDQUNRY1FBYWlBQVFRSjBhaWdDQUVFQUlBRVFSUm9nQUVFQmFpSUFJQU1vQWdCSURRQUxEd3NnQUNnQ0FDSUJRVEUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDOHNCQVF0L0lBQW9BdVFES0FJWUlRb2dBQ2dDY0NJTFJTQURRUUZJY2dSQUR3c0RRQ0FMSVFnZ0JVRUNkQ0FDYWlnQ0FDRUdJQVZCQW5RZ0FXb29BZ0FoQkFOQUlBUXRBQUJCQTNZaURFRUNkQ0FLYWlnQ0FDQUVMUUFCUVFKMklnZEJCblJxSUFRdEFBSkJBM1lpRFVFQmRHb2lEaTRCQUNJSlJRUkFJQUFnRENBSElBMFFvZ01nRGk0QkFDRUpDeUFFUVFOcUlRUWdCa0VCYWlFSElBWWdDVUgvL3dOeFFmOEJham9BQUNBSVFYOXFJZ2dFUUNBSElRWU1BUXNMSUFWQkFXb2lCU0FEUncwQUN3dktCUUVuZnlBQUtBTGtBeUlMS0FJWUlSd2dBQ2dDY0NFTUlBQW9BdEFDSVJNZ0N5Z0NLQ0VVSUFBb0FvZ0JJZ1FvQWdBaEhTQUVLQUlFSVI0Z0JDZ0NDQ0VmSUFOQkFFd0VRQThMSUF4RklTQWdERUYvYWlJaFFRTnNJU0lnREVFRGJFRURhaUVqQTBBZ0RrRUNkQ0FCYWlnQ0FDRUhJQTVCQW5RZ0Ftb29BZ0FoRFNBTElBc29BaVFFZjBGOUlRbEJmeUVXSUFzb0FpQWdJMEVCZEdvaENDQU5JQ0ZxSVEwZ0J5QWlhaUVIUVFBRlFRTWhDVUVCSVJZZ0N5Z0NJQ0VJUVFFTE5nSWtJQ0FFUUVFQUlROUJBQ0VRUVFBaEJBVWdDVUVCYWlFa0lBbEJBbW9oSlNBSklBeHNJU3BCQUNFUlFRQWhFa0VBSVJkQkFDRVlRUUFoR1VFQUlROUJBQ0VRUVFBaEdpQU1JUnRCQUNFRklBZ2hCQU5BSUJNZ0pFRUJkQ0FFYWk0QkFDQVJRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFCYW1vdEFBQWlDa0VDZGlJR1FRWjBJQk1nQ1VFQmRDQUVhaUluTGdFQUlBVkJDR3BxUVFSMVFRSjBJQlJxS0FJQUlBY3RBQUJxYWkwQUFDSVJRUU4ySWhWQkFuUWdIR29vQWdCcUlCTWdKVUVCZENBRWFpNEJBQ0FTUVFocWFrRUVkVUVDZENBVWFpZ0NBQ0FITFFBQ2Ftb3RBQUFpRWtFRGRpSW9RUUYwYWlJcExnRUFJZ1ZGQkVBZ0FDQVZJQVlnS0JDaUF5QXBMZ0VBSVFVTElBMGdCVUgvL3dOeFFYOXFJZ1k2QUFBZ0NpQUdJQjVxTFFBQWF5RUZJQklnQmlBZmFpMEFBR3NoQ2lBRUlBOGdFU0FHSUIxcUxRQUFheUlHUVFOc2Fqc0JBQ0FYSUFaQkJXeHFJUThnQmtFSGJDRVZJQVFnRUNBRlFRTnNhanNCQWlBWUlBVkJCV3hxSVJBZ0JVRUhiQ0VSSUFRZ0dpQUtRUU5zYWpzQkJDQVpJQXBCQld4cUlRUWdDa0VIYkNFU0lBY2dDV29oQnlBTklCWnFJUTBnRzBGL2FpSWJCRUFnQmlFWElBVWhHQ0FLSVJrZ0JDRWFJQlVoQlNBbklRUU1BUXNMSUNwQkFYUWdDR29oQ0FzZ0NDQVBPd0VBSUFnZ0VEc0JBaUFJSUFRN0FRUWdEa0VCYWlJT0lBTkhEUUFMQzlnSUFSZC9JQUFnQUNnQzVBTWlFeWdDRURZQ2lBRWdBQ2dDQkNnQ0FDRUJJQUJCQVNBVEtBSVVJZ3RCQlhRZ0FVRS9jVUhLQVdvUkJBQWlCVUVBTmdJQUlBVkJIellDQkNBRlFRQTJBZ2dnQlVFL05nSU1JQVZCQURZQ0VDQUZRUjgyQWhRZ0FDQUZFTEFDSUF0QkFVb0Vmd0ovUVFFaEJBTi9JQVJCQVhRZ0Mwb0VRRUVBSVFaQkFDRUNJQVVoQVVFQUlRTURmeUFCS0FJWUlna2dCa29oQnlBSklBWWdCeHNoQmlBQklBTWdCeHNoQXlBQlFTQnFJUUVnQWtFQmFpSUNJQVJIRFFBZ0F3c2hBUVZCQUNFR1FRQWhBaUFGSVFOQkFDRUJBMEFnQXlnQ0hDSUhJQVpLQkVBZ0F5QUJJQU1vQWhoQkFFb2lDUnNoQVNBSElBWWdDUnNoQmdzZ0EwRWdhaUVESUFKQkFXb2lBaUFFUncwQUN3c2dCQ0FCUlEwQkdpQUVRUVYwSUFWcUlBRW9BZ1EyQWdRZ0JFRUZkQ0FGYWlBQklnTW9BZ3cyQWd3Z0JFRUZkQ0FGYWlBQklnSW9BaFEyQWhRZ0JFRUZkQ0FGYWlJR0lBSW9BZ0EyQWdBZ0JFRUZkQ0FGYWtFSWFpSUhJQUlvQWdnMkFnQWdCRUVGZENBRmFrRVFhaUlKSUFJb0FoQTJBZ0FDUUFKL0FrQUNRQUpBUVFJZ0FpZ0NCQ0lJSUFJb0FnQWlER3RCQkhRaUNpQUNLQUlNSWcwZ0FpZ0NDQ0lPYTBFTWJDSVBTaUlRUVFGeklBSW9BaFFpRVNBQ0tBSVFJaEpyUVFOMElBb2dEeUFRRzBvYlFRTnhEZ01BQVFJRUN5QUJJQWdnREdwQkFoQTVJZ00yQWdRZ0Jnd0NDeUFESUEwZ0RtcEJBaEE1SWdNMkFnd2dCd3dCQ3lBQ0lCRWdFbXBCQWhBNUlnTTJBaFFnQ1FzZ0EwRUJhallDQUFzZ0FDQUNFTEFDSUFBZ0JoQ3dBaUFFUVFGcUlnUWdDMGdOQUNBRUN3c0ZRUUVMSVF0QkFDRUlBMEFnQUNnQzVBTW9BaGdoRHlBSVFRVjBJQVZxS0FJQUlnSWdDRUVGZENBRmFpZ0NCQ0lSU2lBSVFRVjBJQVZxS0FJSUlnNGdDRUVGZENBRmFpZ0NEQ0lTU25JZ0NFRUZkQ0FGYWlnQ0VDSU5JQWhCQlhRZ0JXb29BaFFpRUVweUJFQkJBQ0VCUVFBaEEwRUFJUVJCQUNFR0JVRUFJUUZCQUNFRFFRQWhCRUVBSVFZRFFDQUNRUUowSUE5cUtBSUFJUlFnQWtFRGRFRUVjaUVWSUE0aEJ3TkFJQWRCQW5SQkFuSWhGaUFIUVFaMElCUnFJQTFCQVhScUlRd2dEU0VKQTBBZ0RDNEJBQ0lYUWYvL0EzRWhDaUFYQkVBZ0FTQUtJQWxCQTNSQkJISnNhaUVCSUFNZ0NpQVdiR29oQXlBRUlBb2dGV3hxSVFRZ0JpQUthaUVHQ3lBTVFRSnFJUXdnQ1VFQmFpRUtJQWtnRUVnRVFDQUtJUWtNQVFzTElBZEJBV29oQ1NBSElCSklCRUFnQ1NFSERBRUxDeUFDUVFGcUlRY2dBaUFSU0FSQUlBY2hBZ3dCQ3dzTElBUWdCa0VCZFNJRWFpQUdFRGxCL3dGeElRSWdDQ0FBS0FLSUFTZ0NBR29nQWpvQUFDQURJQVJxSUFZUU9VSC9BWEVoQXlBSUlBQW9Bb2dCS0FJRWFpQURPZ0FBSUFFZ0JHb2dCaEE1UWY4QmNTRUJJQWdnQUNnQ2lBRW9BZ2hxSUFFNkFBQWdDRUVCYWlJSUlBdElEUUFMSUFBZ0N6WUNoQUVnQUNnQ0FDSUJRZUlBTmdJVUlBRWdDellDR0NBQUtBSUFLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUJOQkFUWUNIQXViQVFFR2Z5QUFLQUxrQXlnQ0dDRUdJQUFvQW5BaUIwVWdBMEVCU0hJRVFBOExBMEFnQnlFQUlBUkJBblFnQVdvb0FnQWhBZ05BSUFJdEFBQkJBM1pCQW5RZ0Jtb29BZ0FnQWkwQUFVRUNka0VHZEdvZ0FpMEFBa0VEZGtFQmRHb2lDQzRCQUNJSlFRRnFRUkIwUVJCMUlRVWdDQ0FGSUFrZ0JSczdBUUFnQWtFRGFpRUNJQUJCZjJvaUFBMEFDeUFFUVFGcUlnUWdBMGNOQUFzTERRQWdBQ2dDNUFOQkFUWUNIQXZqQlFFRGZ5QUFLQUxrQXlJREtBSVlJUUlnQUNnQ1dBUi9JQUJCQWpZQ1dFRUNCVUVBQ3lFRUlBRUVRQ0FEUVJNMkFnUWdBMEdIQVRZQ0NDQURRUUUyQWh3RklBTkJGRUVWSUFSQkFrWWJOZ0lFSUFOQmlBRTJBZ2dnQUNnQ2hBRWlBVUVCU0FSQUlBQW9BZ0FpQVVFNk5nSVVJQUZCQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lCUVRzMkFoUWdBVUdBQWpZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUpZUVFKR0JFQWdBQ2dDY0VFR2JFRU1haUVFSUFNb0FpQWlBVVVFUUNBQUtBSUVLQUlFSVFFZ0F5QUFRUUVnQkNBQlFUOXhRY29CYWhFRUFDSUJOZ0lnQ3lBQlFRQWdCQkJGR2lBREtBSW9SUVJBSUFBUXBBTUxJQU5CQURZQ0pBc0xJQU1vQWh4RkJFQVBDeUFDS0FJQVFRQkJnQ0FRUlJvZ0FpZ0NCRUVBUVlBZ0VFVWFJQUlvQWdoQkFFR0FJQkJGR2lBQ0tBSU1RUUJCZ0NBUVJSb2dBaWdDRUVFQVFZQWdFRVVhSUFJb0FoUkJBRUdBSUJCRkdpQUNLQUlZUVFCQmdDQVFSUm9nQWlnQ0hFRUFRWUFnRUVVYUlBSW9BaUJCQUVHQUlCQkZHaUFDS0FJa1FRQkJnQ0FRUlJvZ0FpZ0NLRUVBUVlBZ0VFVWFJQUlvQWl4QkFFR0FJQkJGR2lBQ0tBSXdRUUJCZ0NBUVJSb2dBaWdDTkVFQVFZQWdFRVVhSUFJb0FqaEJBRUdBSUJCRkdpQUNLQUk4UVFCQmdDQVFSUm9nQWtGQWF5Z0NBRUVBUVlBZ0VFVWFJQUlvQWtSQkFFR0FJQkJGR2lBQ0tBSklRUUJCZ0NBUVJSb2dBaWdDVEVFQVFZQWdFRVVhSUFJb0FsQkJBRUdBSUJCRkdpQUNLQUpVUVFCQmdDQVFSUm9nQWlnQ1dFRUFRWUFnRUVVYUlBSW9BbHhCQUVHQUlCQkZHaUFDS0FKZ1FRQkJnQ0FRUlJvZ0FpZ0NaRUVBUVlBZ0VFVWFJQUlvQW1oQkFFR0FJQkJGR2lBQ0tBSnNRUUJCZ0NBUVJSb2dBaWdDY0VFQVFZQWdFRVVhSUFJb0FuUkJBRUdBSUJCRkdpQUNLQUo0UVFCQmdDQVFSUm9nQWlnQ2ZFRUFRWUFnRUVVYUlBTkJBRFlDSEF1VkJBRVRmeUFBS0FMUUFpRUZJQUFvQXR3RElnUW9BaEFoRENBRUtBSVVJUTBnQkNnQ0dDRU9JQVFvQWh3aER5QUJLQUlBSUFKQkFuUnFLQUlBSVFnZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VFSUFFb0FnZ2dBa0VDZEdvb0FnQWhDU0FES0FJQUlRWWdBQ2dDY0NJQlFRRjJJZ29FUUNBRUlBcHFJUllnQVVGK2NTRVNJQXBCQm13aEV5QUpJUU1nQ0NFQ0lBWWhBU0FLSVJBRFFDQUVRUUZxSVJRZ0EwRUJhaUVWSUFNdEFBQWlCMEVDZENBTWFpZ0NBQ0VESUFRdEFBQWlDMEVDZENBUGFpZ0NBQ0FIUVFKMElBNXFLQUlBYWtFUWRTRUVJQXRCQW5RZ0RXb29BZ0FoQ3lBQklBTWdBaTBBQUNJSGFpQUZhaXdBQURvQUFDQUJJQVFnQjJvZ0JXb3NBQUE2QUFFZ0FTQUhJQXRxSUFWcUxBQUFPZ0FDSUFKQkFtb2hCeUFCSUFNZ0FpMEFBU0lDYWlBRmFpd0FBRG9BQXlBQklBVWdBaUFFYW1vc0FBQTZBQVFnQVNBRklBSWdDMnBxTEFBQU9nQUZJQUZCQm1vaEFTQVFRWDlxSWhBRVFDQVZJUU1nRkNFRUlBY2hBZ3dCQ3dzZ0NTQUthaUVKSUJZaEJDQUlJQkpxSVFnZ0JpQVRhaUVHSUFBb0FuQWhBUXNnQVVFQmNVVUVRQThMSUFRdEFBQWlBRUVDZENBUGFpZ0NBQ0FKTFFBQUlnRkJBblFnRG1vb0FnQnFRUkIxSVFJZ0FFRUNkQ0FOYWlnQ0FDRURJQVlnQ0MwQUFDSUFJQUZCQW5RZ0RHb29BZ0JxSUFWcUxBQUFPZ0FBSUFZZ0FDQUNhaUFGYWl3QUFEb0FBU0FHSUFBZ0Eyb2dCV29zQUFBNkFBSUxSd0FnQUNnQzNBTW9BZ3doQXlBQUlBRWdBaWdDQUNBRktBSUFRUUowSUFScUlBTkJIM0ZCK2dWcUVRY0FJQVVnQlNnQ0FFRUJhallDQUNBQ0lBSW9BZ0JCQVdvMkFnQUxnQVlCRjM4Z0FDZ0MwQUloQlNBQUtBTGNBeUlFS0FJUUlROGdCQ2dDRkNFUUlBUW9BaGdoRVNBRUtBSWNJUklnQVNnQ0FDSUhJQUpCQVhRaUJFRUNkR29vQWdBaERDQUVRUUZ5UVFKMElBZHFLQUlBSVFRZ0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VHSUFFb0FnZ2dBa0VDZEdvb0FnQWhEU0FES0FJQUlRZ2dBeWdDQkNFSklBQW9BbkFpQVVFQmRpSU9CRUFnQmlBT2FpRWFJQTVCQm13aEV5QUVJQUZCZm5FaUZtb2hGeUFOSVFjZ0JDRURJQXdoQkNBSklRRWdDQ0VDSUE0aEZBTkFJQVpCQVdvaEdDQUhRUUZxSVJrZ0J5MEFBQ0lLUVFKMElBOXFLQUlBSVFjZ0JpMEFBQ0lMUVFKMElCSnFLQUlBSUFwQkFuUWdFV29vQWdCcVFSQjFJUVlnQzBFQ2RDQVFhaWdDQUNFTElBSWdCeUFFTFFBQUlncHFJQVZxTEFBQU9nQUFJQUlnQmlBS2FpQUZhaXdBQURvQUFTQUNJQW9nQzJvZ0JXb3NBQUE2QUFJZ0JFRUNhaUVLSUFJZ0JTQUhJQVF0QUFFaUJHcHFMQUFBT2dBRElBSWdCU0FFSUFacWFpd0FBRG9BQkNBQ0lBVWdCQ0FMYW1vc0FBQTZBQVVnQWtFR2FpRUNJQUVnQlNBSElBTXRBQUFpQkdwcUxBQUFPZ0FBSUFFZ0JTQUVJQVpxYWl3QUFEb0FBU0FCSUFVZ0JDQUxhbW9zQUFBNkFBSWdBMEVDYWlFRUlBRWdBeTBBQVNJRElBZHFJQVZxTEFBQU9nQURJQUVnQXlBR2FpQUZhaXdBQURvQUJDQUJJQU1nQzJvZ0JXb3NBQUE2QUFVZ0FVRUdhaUVCSUJSQmYyb2lGQVJBSUJraEJ5QVlJUVlnQkNFRElBb2hCQXdCQ3dzZ0RTQU9haUVOSUJvaEJpQVhJUVFnRENBV2FpRU1JQWtnRTJvaENTQUlJQk5xSVFnZ0FDZ0NjQ0VCQ3lBQlFRRnhSUVJBRHdzZ0RTMEFBQ0lCUVFKMElBOXFLQUlBSVFBZ0JpMEFBQ0lDUVFKMElCSnFLQUlBSUFGQkFuUWdFV29vQWdCcVFSQjFJUUVnQWtFQ2RDQVFhaWdDQUNFQ0lBZ2dBQ0FNTFFBQUlnTnFJQVZxTEFBQU9nQUFJQWdnQVNBRGFpQUZhaXdBQURvQUFTQUlJQUlnQTJvZ0JXb3NBQUE2QUFJZ0NTQUFJQVF0QUFBaUFHb2dCV29zQUFBNkFBQWdDU0FBSUFGcUlBVnFMQUFBT2dBQklBa2dBQ0FDYWlBRmFpd0FBRG9BQWd1OEV3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lHSVEwZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUhJQUZJQkVBZ0JVRUFPd0VBSUExQkFEc0JBQ0FOUVFKcUlRMGdCVUVDYWlFRklBZEJBV29oQnd3QkN3c2dCaUVISUFGQmYyb2lFVUVCZENBR2FpRU5RUUFoQlFOQUlBVWdBa2dFUUNBTlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFCUVFGMElBMXFJUTBnQlVFQmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTlFRRWhDMEVBSVFVZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0N5QVFUZzBDSUFVaEFFRUJJUWtnQmlFTUEwQWdDU0FSU0FSQUlBMHRBQUFnQTBvRVFBSkFJQkpCQVhRZ0RHb2lEeTRCQUNJRlFRQktCRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBRUxJQTlCZm1vdUFRQWlDaUVJSUFwQkFFb2hCaUFQTGdFQ0lnVkJBRXdFUUNBR0JFQWdEQ0FLT3dFQUlBaEJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsSUJFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BZ3NnREVGK2FpNEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQU1JQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBczJBZ0FnQlNFQUN3d0JDeUFHQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUZJQVlvQWdCR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQ0FHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzZ0RFRithaTRCQUNJR1FRQk1CRUFnRENBRk93RUFJQVZCQjJ3aUJrRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0JrRUNkQ0FFYWtINC84OEFhaUlGSUFrZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtIOC84OEFhaUlGSUFzZ0JTZ0NBR28yQWdBZ0JrRUNkQ0FFYWtHQWdOQUFhaUlGS0FJQUlBbEtCRUFnQlNBSk5nSUFDeUFHUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUlTZ1JBSUF3Z0NEc0JBQ0FISVFaQkFDRUtBMEFnQ2lBQVRnUkFJQWdoQlF3REN5QUdLQUlBSUFWR0JFQWdCaUFJTmdJQUN5QUdRUVJxSVFZZ0NrRUJhaUVLREFBQUN3QUZJQXdnQlRzQkFDQUZJQWhJQkVBZ0J5RUdRUUFoQ2dOQUlBb2dBRTROQXlBSUlBWW9BZ0JHQkVBZ0JpQUZOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lHUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FHUVFKMElBUnFRZmovendCcUlnVWdDU0FGS0FJQWFqWUNBQ0FHUVFKMElBUnFRZnovendCcUlnVWdDeUFGS0FJQWFqWUNBQXNGSUF4QkFEc0JBQXNnRFVFQmFpRU5JQWxCQVdvaENTQU1RUUpxSVF3TUFRc0xJQTFCQW1vaERTQUxRUUZxSVFzZ0FDRUZJQXhCQkdvaEJnd0JDd3RCQUVFRFFhaWxBU0FPRUQxQmZ3d0JDeUFFUVF4cUlRMUJBU0VBUVFFaENBTkFJQWdnQlV3RVFDQUlJQWNvQWdBaUJrWUVRQ0FBUVFGcUlRTUZJQUFoQXlBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBY2dBRFlDQUNBRElRQWdDRUVCYWlFSUlBZEJCR29oQnd3QkN3c2dCQ0FBUVg5cUlnYzJBZ2dnQndSL0lBMUJBQ0FIUVFKMEVFVWFJQVJCa0lBb2FrRUFJQWRCQkhRUVJScEJBQ0VEQTBBZ0F5QUhTQVJBSUFSQmpJQUlhaUFEUVFKMElnQkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBQkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUJCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFCQkEzSkJBblJxUVFBMkFnQWdBMEVCYWlFRERBRUxDMEVBSVFNRFFDQURJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQU5CQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ0FnQkVHUWdOQUFhaUFEUVFkc0lnZEJBblJxS0FJQUlBQW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBRkJBWEpCQTNScUlnQWdBQ3NEQUNBSFFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUVp5QTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYUNBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhU0EwQUJxS0FJQUlnQktCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBU0FBTmdJQUN5QURRUUZxSVFNTUFRc0xJQVFvQWdnaEFrRUFJUU1EZnlBRElBSklCSDhnQkVHUWdDaHFJQU5CQVhRaUFVRURkR29pQUNBQUt3TUFJQVJCREdvZ0EwRUNkR29vQWdDM0loU2pPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdGS001QXdBZ0EwRUJhaUVEREFFRlFRQUxDd1ZCQUFzTElSTWdEaVFHSUJNTG5nSUJCSDhqQmlFREl3WkJFR29rQmlBQUtBTGNBeUlIS0FJa0JFQWdCMEVnYWtFQUlBVW9BZ0JCQW5RZ0JHcEJBRUVCSUFjb0FpZ1E5d0VnQjBFQU5nSWtJQVVnQlNnQ0FFRUJhallDQUNBSElBY29BaXhCZjJvMkFpd0ZJQVlnQlNnQ0FDSUpheUlHSUFjb0Fpd2lDRUVDSUFoQkFra2JJZ2dnQ0NBR1N4c2hCaUFESUFsQkFuUWdCR29vQWdBMkFnQWdCa0VCU3dSQUlBTWdDVUVCYWtFQ2RDQUVhaWdDQURZQ0JBVWdBeUFIS0FJZ05nSUVJQWRCQVRZQ0pBc2dCeWdDRENFRUlBQWdBU0FDS0FJQUlBTWdCRUVmY1VINkJXb1JCd0FDZnlBSEtBSWtSU0VLSUFVZ0JpQUZLQUlBYWpZQ0FDQUhJQWNvQWl3Z0JtczJBaXdnQ2tVTEJFQWdBeVFHRHdzTElBSWdBaWdDQUVFQmFqWUNBQ0FESkFZTEd3RUJmeUFBS0FMY0F5SUJRUUEyQWlRZ0FTQUFLQUowTmdJc0M3b0JBUWQvSUFBb0FpUWhCU0FBS0FKd0lRZ2dCRUVBVEFSQUR3c2dCVUVBVEFSQUR3c2dDRVVoQ2dOQUlBcEZCRUJCQUNFQUEwQkJBQ0VKSUFCQkFuUWdBV29vQWdBZ0FrRUNkR29vQWdBaEJpQUFJQU1vQWdCcUlRY0RRQ0FHUVFGcUlRc2dCeUFHTEFBQU9nQUFJQVVnQjJvaEJ5QUlJQWxCQVdvaUNVY0VRQ0FMSVFZTUFRc0xJQVVnQUVFQmFpSUFSdzBBQ3dzZ0JFRi9haUVBSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBQWhCQXdCQ3dzTDJBSUJEMzhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUJLQUlNSUFKQkFuUnFLQUlBSVJFZ0FrRUJhaUVTSUFNb0FnQWhBa0VBSVFBRFFDQUFJQTlxTFFBQUlRY2dBaUFGSUFBZ0Rtb3NBQUJCZjNOQi93RnhJZ2dnQUNBUWFpMEFBQ0lUUVFKMElBbHFLQUlBYTJvc0FBQTZBQUFnQWlBRklBZ2dCMEVDZENBTWFpZ0NBQ0FUUVFKMElBdHFLQUlBYWtFUWRXdHFMQUFBT2dBQklBSWdCU0FJSUFkQkFuUWdDbW9vQWdCcmFpd0FBRG9BQWlBQ0lBQWdFV29zQUFBNkFBTWdBa0VFYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCSWhBaUFOSVFRTUFRc0xDOU1CQVFsL0lBQW9BbkFoQlNBRVFRQk1CRUFQQ3lBRlJRUkFEd3NEUUNBRVFYOXFJUVlnQVNnQ0FDQUNRUUowYWlnQ0FDRUhJQUVvQWdRZ0FrRUNkR29vQWdBaENDQUJLQUlJSUFKQkFuUnFLQUlBSVFrZ0FrRUJhaUVLUVFBaEFDQURLQUlBSVFJRFFDQUFJQWxxTFFBQUlRc2dBaUFBSUFocUxBQUFJZ3hCL3dGeFFZQUJhaUlOSUFBZ0Iyb3RBQUJxT2dBQUlBSWdERG9BQVNBQ0lBc2dEV282QUFJZ0FrRURhaUVDSUFVZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFvaEFpQUdJUVFNQVFzTEM3MEJBUVovSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQ0lBQWdCMm9zQUFBNkFBQWdBaUFBSUFocUxBQUFPZ0FCSUFJZ0FDQUphaXdBQURvQUFpQUNRUU5xSVFJZ0JTQUFRUUZxSWdCSERRQUxJQU5CQkdvaEF5QUVRUUZLQkVBZ0NpRUNJQVloQkF3QkN3c0x0QUlCRG44Z0FDZ0NjQ0VHSUFBb0F0QUNJUVVnQUNnQzRBTWlBQ2dDQ0NFSklBQW9BZ3doQ2lBQUtBSVFJUXNnQUNnQ0ZDRU1JQVJCQUV3RVFBOExJQVpGQkVBUEN3TkFJQVJCZjJvaERTQUJLQUlBSUFKQkFuUnFLQUlBSVE0Z0FTZ0NCQ0FDUVFKMGFpZ0NBQ0VQSUFFb0FnZ2dBa0VDZEdvb0FnQWhFQ0FDUVFGcUlSRWdBeWdDQUNFQ1FRQWhBQU5BSUFBZ0Qyb3RBQUFoQnlBQ0lBVWdBQ0FPYWkwQUFDSUlJQUFnRUdvdEFBQWlFa0VDZENBSmFpZ0NBR3BxTEFBQU9nQUFJQUlnQlNBSUlBZEJBblFnREdvb0FnQWdFa0VDZENBTGFpZ0NBR3BCRUhWcWFpd0FBRG9BQVNBQ0lBVWdDQ0FIUVFKMElBcHFLQUlBYW1vc0FBQTZBQUlnQWtFRGFpRUNJQVlnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQkVoQWlBTklRUU1BUXNMQzRvQkFRVi9JQUFvQW5BaUIwVWdCRUVCU0hJRVFBOExBMEFnQkVGL2FpRUlJQUVvQWdBZ0FrRUNkR29vQWdBaENVRUFJUUFnQXlnQ0FDRUZBMEFnQlNBQUlBbHFMQUFBSWdZNkFBSWdCU0FHT2dBQklBVWdCam9BQUNBRlFRTnFJUVVnQnlBQVFRRnFJZ0JIRFFBTElBSkJBV29oQWlBRFFRUnFJUU1nQkVFQlNnUkFJQWdoQkF3QkN3c0w5QUVCQ1g4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBbHFMUUFBSWd4QmdBRnFJZzBnQUNBSWFpMEFBR3BCL3dGeFFRSjBJQVZxS0FJQUlBeEJnQUp5UVFKMElBVnFLQUlBYWlBQUlBcHFMUUFBSUExcVFmOEJjVUdBQkhKQkFuUWdCV29vQWdCcVFSQjJPZ0FBSUFCQkFXb2lBQ0FHUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUFjaEJBd0JDd3NMM2dFQkIzOGdBQ2dDNEFNb0FoZ2hCU0FBS0FKd0lRWWdCRUVBVEFSQUR3c2dCa1VFUUE4TEEwQWdCRUYvYWlFSElBRW9BZ0FnQWtFQ2RHb29BZ0FoQ0NBQktBSUVJQUpCQW5ScUtBSUFJUWtnQVNnQ0NDQUNRUUowYWlnQ0FDRUtJQUpCQVdvaEFpQURLQUlBSVF0QkFDRUFBMEFnQUNBTGFpQUFJQXBxTFFBQVFZQUVja0VDZENBRmFpZ0NBQ0FBSUFocUxRQUFRUUowSUFWcUtBSUFJQUFnQ1dvdEFBQkJnQUp5UVFKMElBVnFLQUlBYW1wQkVIWTZBQUFnQUVFQmFpSUFJQVpIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQnlFRURBRUxDd3N5QVFGL0lBQW9BZ1FnQUNnQ0NCQ0xBU0lCQkVBZ0FTQUFFTFFGUVFCSUJFQWdBUkJKUVFBaEFRc0ZRUUFoQVFzZ0FRc1hBQ0FCS0FJQUlBSWdBMEVBSUFRZ0FDZ0NjQkQzQVF1SEJBRU1meUFES0FJQUlRZ2dBU2dDQkNJRElBQW9BdHdESWdWQmpBRnFhaXdBQUNFQklBTWdCVUdXQVdwcUxRQUFJUU1nQUNnQ3dBSWlCRUVBVEFSQUR3c2dBVUgvQVhFaEJTQUJRUUJISVF3Z0EwSC9BWEVpQ2tGL2FpRU5JQU5CL3dGeFFRRktCRUFnQlVGK0lBVkJmM01nQVJ0cVFRSnFJUTVCQUNFRUEwQUNRQ0FFUVFKMElBaHFLQUlBSWdNZ0FDZ0NjQ0lCYWlFUElBRkJBRW9FUUNBTVJRMEJJQVpCQW5RZ0Ftb29BZ0FoQnlBRElRRURRQ0FCSUFjc0FBQWdEaEJGR2lBRklRTURRQ0FCUVFGcUlRRWdBMEYvYWlFTElBTkJBVW9FUUNBTElRTU1BUXNMSUFkQkFXb2hCeUFCSUE5SkRRQUxJQUFvQW5BaEFRc2dDQ0FFSUFnZ0JFRUJhaUFOSUFFUTl3RWdCa0VCYWlFR0lBUWdDbW9pQkNBQUtBTEFBa2dOQVVFYklRa0xDeUFKUVJ0R0JFQVBDd05BREFBQUN3QUxJQXhGQkVBZ0FDZ0NjRUVBU2lFQlFRQWhBQU4vSUFFRWYwRUFCU0FBSUFwcUlnQWdCRWdFZnd3Q0JVRWJDd3NMUVJ0R0JFQVBDd05BREFBQUN3QUxRUUFoQkFOQUlBWkJBblFnQ0dvb0FnQWlBU0FBS0FKd0lnTnFJUWtnQTBFQVNnUkFJQVJCQW5RZ0Ftb29BZ0FoQndOQUlBRWdCeXdBQUNBRkVFVWFJQVVoQXdOQUlBRkJBV29oQVNBRFFYOXFJUXNnQTBFQlNnUkFJQXNoQXd3QkN3c2dCMEVCYWlFSElBRWdDVWtOQUFzTElBUkJBV29oQkNBR0lBcHFJZ1lnQUNnQ3dBSklEUUFMQzY4QkFRVi9JQU1vQWdBaEJTQUFLQUxBQWtFQVRBUkFEd3RCQUNFREEwQWdBMEVDZENBRmFpZ0NBQ0lISUFBb0FuQWlBV29oQ0NBQlFRQktCRUFnQmtFQ2RDQUNhaWdDQUNFRUlBY2hBUU5BSUFSQkFXb2hCeUFCSUFRc0FBQWlCRG9BQUNBQklBUTZBQUVnQVVFQ2FpSUJJQWhKQkVBZ0J5RUVEQUVMQ3lBQUtBSndJUUVMSUFVZ0F5QUZJQU5CQVhKQkFTQUJFUGNCSUFaQkFXb2hCaUFEUVFKcUlnTWdBQ2dDd0FKSURRQUxDNVVCQVFSL0lBTW9BZ0FoQmlBQUtBTEFBaUlCUVFCTUJFQVBDMEVBSVFNRFFDQURRUUowSUFacUtBSUFJZ1VnQUNnQ2NDSUVhaUVISUFSQkFFb0VRQ0FEUVFKMElBSnFLQUlBSVFRZ0JTRUJBMEFnQkVFQmFpRUZJQUVnQkN3QUFDSUVPZ0FBSUFFZ0JEb0FBU0FCUVFKcUlnRWdCMGtFUUNBRklRUU1BUXNMSUFBb0FzQUNJUUVMSUFOQkFXb2lBeUFCU0EwQUN3c0pBQ0FESUFJMkFnQUxDUUFnQTBFQU5nSUFDOG9DQVFOL0lBQW9BdHdESWdjb0Fsd2lDQ0FBS0FMQUFpSURTQVIvSUFnRklBQW9BaVJCQUVvRVFDQUFLQUxZQVNFSVFRQWhBd05BSUFkQk5Hb2dBMEVDZEdvb0FnQWhDU0FBSUFnZ0EwRUNkQ0FCYWlnQ0FDQUNLQUlBSUFkQjVBQnFJQU5CQW5ScUtBSUFiRUVDZEdvZ0IwRU1haUFEUVFKMGFpQUpRUjl4UWZvRmFoRUhBQ0FJUWRnQWFpRUlJQU5CQVdvaUF5QUFLQUlrU0EwQUN5QUFLQUxBQWlFREN5QUhRUUEyQWx4QkFBc2hBU0FHSUFVb0FnQWlCbXNpQ0NBSEtBSmdJZ2tnQXlBQmF5SURJQU1nQ1VzYklnTWdBeUFJU3hzaEF5QUFLQUxnQXlnQ0JDRUlJQUFnQjBFTWFpQUJJQVpCQW5RZ0JHb2dBeUFJUVQ5eFFab0dhaEVGQUNBRklBTWdCU2dDQUdvMkFnQWdCeUFIS0FKZ0lBTnJOZ0pnSUFjZ0F5QUhLQUpjYWlJQk5nSmNJQUVnQUNnQ3dBSklCRUFQQ3lBQ0lBSW9BZ0JCQVdvMkFnQUxId0VCZnlBQUtBTGNBeUlCSUFBb0FzQUNOZ0pjSUFFZ0FDZ0NkRFlDWUF1SEFnRUZmeUFBS0FMSUF5SUhLQUlZSWdNRVFDQUhRUlJxSVFFZ0IwRVFhaUVDSUFjb0Fnd2hDUVVnQUNnQ0JDZ0NIQ0VESUFjZ0FDQUhLQUlJSUFkQkZHb2lBU2dDQUNBSFFSQnFJZ0lvQWdCQkFDQURRUjl4UWFJQ2FoRUlBQ0lKTmdJTUlBY29BaGdoQXdzZ0FDZ0NkQ0FCS0FJQWF5SUlJQVlnQlNnQ0FDSUtheUlHSUFJb0FnQWdBMnNpQ3lBTElBWkxHeUlHSUFZZ0NFc2JJUVlnQUNnQzVBTW9BZ1FoQ0NBQUlBTkJBblFnQ1dvZ0NrRUNkQ0FFYWlBR0lBaEJIM0ZCK2dWcUVRY0FJQVVnQmlBRktBSUFhallDQUNBSElBWWdCeWdDR0dvaUFEWUNHQ0FBSUFJb0FnQWlBRWtFUUE4TElBRWdBQ0FCS0FJQWFqWUNBQ0FIUVFBMkFoZ0xpZ0lCQlg4Z0FDZ0N5QU1pQjBFWWFpSUlLQUlBSWdRRVFDQUhRUkJxSVFZZ0IwRU1haUlKSVFvZ0NTZ0NBQ0VKQlNBQUtBSUVLQUljSVFRZ0IwRU1haUlLSUFBZ0J5Z0NDQ0FIS0FJVUlBZEJFR29pQmlnQ0FFRUJJQVJCSDNGQm9nSnFFUWdBSWdrMkFnQWdDQ2dDQUNFRUN5QUFLQUxjQXlnQ0JDRUxJQUFnQVNBQ0lBTWdDU0FJSUFZb0FnQWdDMEVIY1VIaUJtb1JEUUFnQ0NnQ0FDSUJJQVJMQkVBZ0FDZ0M1QU1vQWdRaEFpQUFJQW9vQWdBZ0JFRUNkR3BCQUNBQklBUnJJZ0FnQWtFZmNVSDZCV29SQndBZ0JTQUFJQVVvQWdCcU5nSUFJQWdvQWdBaEFRc2dBU0FHS0FJQUlnQkpCRUFQQ3lBSElBQWdCeWdDRkdvMkFoUWdDRUVBTmdJQUM1OEJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JpQUZLQUlBYXlFSUlBQW9Bc2dESWdrb0FoQWhDaUFIUVFBMkFnQWdBQ2dDM0FNb0FnUWhCaUFBSUFFZ0FpQURJQWtvQWd3Z0J5QUtJQWdnQ0NBS1N4c2dCa0VIY1VIaUJtb1JEUUFnQUNnQzVBTW9BZ1FoQVNBQUlBa29BZ3dnQlNnQ0FFRUNkQ0FFYWlBSEtBSUFJQUZCSDNGQitnVnFFUWNBSUFVZ0J5Z0NBQ0FGS0FJQWFqWUNBQ0FISkFZTGtnSUJBWDhnQUNnQ3lBTWhBZ0pBQWtBQ1FBSkFBa0FnQVE0RUFBTUNBUU1MSUFBb0FsUkZCRUFnQWlBQUtBTGNBeWdDQkRZQ0JBd0VDeUFDUVFRMkFnUWdBaWdDREVVRVFDQUFLQUlFS0FJY0lRRWdBaUFBSUFJb0FnaEJBQ0FDS0FJUVFRRWdBVUVmY1VHaUFtb1JDQUEyQWd3TERBTUxJQUlvQWdoRkJFQWdBQ2dDQUNJQlFRTTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRUVUyQWdRTUFnc2dBaWdDQ0VVRVFDQUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJCallDQkF3QkN5QUFLQUlBSWdGQkF6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBSkJBRFlDR0NBQ1FRQTJBaFFMS1FFQmZ5QUFLQUxJQXlnQ0JDRUVJQUJCQUVFQVFRQWdBU0FDSUFNZ0JFRUhjVUhpQm1vUkRRQUxmd0VFZnlBQUtBTEFBeUlFUVRCcUlnWW9BZ0FnQkNnQ05DSUZTUVJBSUFSQkNHb2hCd1VnQUNnQ3hBTW9BZ3doQlNBQUlBUkJDR29pQnlBRlFUOXhRWW9CYWhFQ0FBUi9JQVpCQURZQ0FDQUVLQUkwQlE4TElRVUxJQUFvQXNnREtBSUVJUVFnQUNBSElBWWdCU0FCSUFJZ0F5QUVRUWR4UWVJR2FoRU5BQXVWQndFUGZ5QUFLQUxBQXlJRUtBSTRSUVJBSUFBb0FzUURLQUlNSVFnZ0FDQUVRVHhxSUFRb0FrUkJBblJxS0FJQUlBaEJQM0ZCaWdGcUVRSUFCRUFnQkVFQk5nSTRJQVFnQkNnQ1RFRUJhallDVEFVUEN3c0NRQUpBQWtBQ1FBSkFBa0FnQkNnQ1NBNERBUUlBQXdzZ0FDZ0N5QU1vQWdRaEJTQUFJQVJCUEdvZ0JDZ0NSRUVDZEdvb0FnQWdCRUV3YWlJSUlBUkJOR29pQ2lnQ0FDQUJJQUlnQXlBRlFRZHhRZUlHYWhFTkFDQUlLQUlBSUFvb0FnQkpCRUFQQ3lBRVFRQTJBa2dnQWlnQ0FDQURTUTBERHdzZ0JFRXdhaUVJSUFSQk5Hb2hDZ3dDQ3lBRVFUQnFJUWdnQkVFMGFpRUtEQUlMRHdzZ0NFRUFOZ0lBSUFvZ0FDZ0N5QUlpRGtGL2FqWUNBQ0FFS0FKTUlBQW9Bc3dDUmdSQUlBQW9Bc0FESVFzZ0FDZ0NKQ0lQUVFCS0JFQWdDMEU4YWlBTEtBSkVRUUowYWlFUUlBQW9BdGdCSVFVRFFDQUZLQUlNSUFVb0FpaHNJZ2NnRGhBNUlRWWdCeUFGS0FJd0lBY1FUaUlISUFkRkd5RUhJQWxGQkVBZ0N5QUhRWDlxSUFZUU9VRUJhallDTkFzZ0VDZ0NBQ0FKUVFKMGFpZ0NBQ0VOSUFaQkFYUWhFU0FHUVFCS0JFQWdCMEYvYWtFQ2RDQU5haUVNUVFBaEJnTkFJQVlnQjJwQkFuUWdEV29nRENnQ0FEWUNBQ0FHUVFGcUlnWWdFVWdOQUFzTElBVkIyQUJxSVFVZ0NVRUJhaUlKSUE5SERRQUxDd3NnQkVFQk5nSklDeUFBS0FMSUF5Z0NCQ0VGSUFBZ0JFRThhaUFFS0FKRVFRSjBhaWdDQUNBSUlBb29BZ0FnQVNBQ0lBTWdCVUVIY1VIaUJtb1JEUUFnQ0NnQ0FDQUtLQUlBU1FSQUR3c2dCQ2dDVEVFQlJnUkFJQUFvQXNBRElRc2dBQ2dDeUFJaEFTQUFLQUlrSWdkQkFFb0VRQ0FMUVVCcklRMGdBVUVCYWlFT0lBRkJBbW9oRHlBQUtBTFlBU0VDUVFBaEF3TkFJQUlvQWd3Z0FpZ0NLR3dnQVJBNUlRVWdDeWdDUENBRFFRSjBhaWdDQUNFSklBMG9BZ0FnQTBFQ2RHb29BZ0FoQmlBRlFRQktCRUFnQlNBT2JDRVFJQVVnRDJ3aEVVRUFJUUFEUUNBQUlBVnJJZ3hCQW5RZ0NXb2dBQ0FRYWlJU1FRSjBJQWxxS0FJQU5nSUFJQXhCQW5RZ0Jtb2dFa0VDZENBR2FpZ0NBRFlDQUNBQUlCRnFJZ3hCQW5RZ0NXb2dBRUVDZENBSmFpZ0NBRFlDQUNBTVFRSjBJQVpxSUFCQkFuUWdCbW9vQWdBMkFnQWdBRUVCYWlJQUlBVkhEUUFMQ3lBQ1FkZ0FhaUVDSUFOQkFXb2lBeUFIUncwQUN3c0ZJQUFvQXNnQ0lRRUxJQVFnQkNnQ1JFRUJjellDUkNBRVFRQTJBamdnQ0NBQlFRRnFOZ0lBSUFvZ0FVRUNhallDQUNBRVFRSTJBa2dMNlFNQkVIOGdBQ2dDd0FNaEFnSkFBa0FDUUNBQkRnTUFBZ0VDQ3lBQUtBTGNBeWdDQ0VVRVFDQUNRUkUyQWdRZ0FpQUNLQUkwTmdJd0R3c2dBa0VRTmdJRUlBQW9Bc2dDSVFRZ0FDZ0NKQ0lMUVFCS0JFQWdBa0ZBYXlFTUlBUkJBbW9oRFNBRVFYNXFJUTRnQUNnQzJBRWhCVUVBSVFBRFFDQUZLQUlNSUFVb0FpaHNJQVFRT1NFRElBSW9BandnQUVFQ2RHb29BZ0FoQmlBTUtBSUFJQUJCQW5ScUtBSUFJUWNnQWtFSWFpQUFRUUowYWlnQ0FDRUlJQU1nRFd3aUNVRUFTZ1JBUVFBaEFRTkFJQUZCQW5RZ0Iyb2dBVUVDZENBSWFpZ0NBQ0lLTmdJQUlBRkJBblFnQm1vZ0NqWUNBQ0FCUVFGcUlnRWdDVWNOQUFzTElBTkJBWFFoQ1NBRFFRQktCRUFnQXlBRWJDRUtJQU1nRG13aEQwRUFJUUVEUUNBQklBOXFJaEJCQW5RZ0Iyb2dBU0FLYWlJUlFRSjBJQWhxS0FJQU5nSUFJQkZCQW5RZ0Iyb2dFRUVDZENBSWFpZ0NBRFlDQUNBQlFRRnFJZ0VnQ1VnTkFBdEJBQ0VCQTBBZ0FTQURhMEVDZENBR2FpQUdLQUlBTmdJQUlBRkJBV29pQVNBRFJ3MEFDd3NnQlVIWUFHb2hCU0FBUVFGcUlnQWdDMGNOQUFzTElBSkJBRFlDUkNBQ1FRQTJBa2dnQWtFQU5nSk1JQUpCQURZQ09BOExJQUpCRWpZQ0JBOExJQUFvQWdBaUFVRUROZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBdUJCQUVKZnlBQUlBQkJBVUhRQUNBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNJRU5nTEFBeUFFUVRNMkFnQWdBQ2dDeUFJaEFpQUFLQUxjQXlnQ0NBUi9JQUpCQWtnRVFDQUFLQUlBSWdOQk1EWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQ0FBS0FMSUFpRUNDeUFBS0FMQUF5SURJQUJCQVNBQVFTUnFJZ1lvQWdCQkEzUWdBQ2dDQkNnQ0FFRS9jVUhLQVdvUkJBQWlBVFlDUENBRFFVQnJJZ2NnQVNBQUtBSWtJZ0ZCQW5ScU5nSUFJQUZCQUVvRVFDQUNRUVJxSVFnZ0FDZ0MyQUVoQWtFQUlRRURmeUFBUVFFZ0FpZ0NEQ0FDS0FJb2JDQUFLQUxJQWhBNUlnVWdDR3dpQ1VFRGRDQUFLQUlFS0FJQVFUOXhRY29CYWhFRUFDQUZRUUowYWlFRklBTW9BandnQVVFQ2RHb2dCVFlDQUNBSEtBSUFJQUZCQW5ScUlBbEJBblFnQldvMkFnQWdBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKQ0lGU0EwQUlBVUxJUUVMSUFBb0FzZ0NJZ1ZCQW1vaEFpQUJJUU1nQlFVZ0JDQUNOZ0kwSUFCQkpHb2hCaUFBS0FJa0lRTWdBZ3NoQVNBRFFRQk1CRUFQQ3lBRVFRaHFJUVZCQUNFRElBQW9BdGdCSVFRRFFDQUVLQUlNSUFRb0FpaHNJQUVRT1NFQklBTkJBblFnQldvZ0FFRUJJQVFvQWh3Z0JDZ0NKR3dnQVNBQ2JDQUFLQUlFS0FJSVFROXhRWW9DYWhFSkFEWUNBQ0FEUVFGcUlnTWdCaWdDQUVnRVFDQUVRZGdBYWlFRUlBQW9Bc2dDSVFFTUFRc0xDOElCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVFY0lBSkJQM0ZCeWdGcUVRUUFJZ0kyQXNnRElBSkJNallDQUNBQ1FRQTJBZ2dnQWtFQU5nSU1JQUFvQWxSRkJFQVBDeUFDSUFBb0FzQUNJZ00yQWhBZ0FDZ0NCQ0VFSUFFRVFDQUVLQUlRSVFFZ0FpQUFRUUZCQUNBQUtBSndJQUFvQW5oc0lBQW9BblFnQXhENEFTQUNLQUlRSUFGQlAzRkJ4Z0pxRVFvQU5nSUlCU0FFS0FJSUlRRWdBaUFBUVFFZ0FDZ0NjQ0FBS0FKNGJDQURJQUZCRDNGQmlnSnFFUWtBTmdJTUN3dWhCQUVNZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCb0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDM0FNZ0FrR0dBVFlDQUNBQ1FRTTJBZ1FnQWtFQU5nSUlJQUFvQXJRQ0JFQWdBQ2dDQUNJQlFSbzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUFLQUlrUVFCTUJFQVBDeUFDUWVRQWFpRUpJQUpCTkdvaEJTQUNRUXhxSVFvZ0FrR01BV29oQ3lBQ1FaWUJhaUVNSUFBb0F0Z0JJUUpCQUNFQkEwQWdBaWdDQ0NBQ0tBSWtiQ0FBS0FMRUFoQTVJUWNnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SVFZZ0FDZ0N2QUloQkNBQUtBTEFBaUVJSUFGQkFuUWdDV29nQmpZQ0FDQUNLQUkwQkVBQ1FDQUdJQWhHSWdNZ0JDQUhSbkVFUUNBQlFRSjBJQVZxUVF3MkFnQU1BUXNnQXlBRUlBZEJBWFJHSWdOeEJFQWdBVUVDZENBRmFrRU5OZ0lBQlFKQUlBTWdDQ0FHUVFGMFJuRUVRQ0FCUVFKMElBVnFRUTQyQWdBTUFRc2dCQ0FISUFRZ0J4QTVJZ1JzYTBVRVFDQUlJQVlnQ0NBR0VEa2lBMnhyUlFSQUlBRkJBblFnQldwQkR6WUNBQ0FCSUF0cUlBUTZBQUFnQVNBTWFpQURPZ0FBREFJTEN5QUFLQUlBSWdOQkp6WUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRTWdBVUVDZENBS2FpQUFRUUVnQUNnQ2NDQUFLQUs4QWhENEFTQUFLQUxBQWlBRFFROXhRWW9DYWhFSkFEWUNBQXNGSUFGQkFuUWdCV3BCQ3pZQ0FBc2dBa0hZQUdvaEFpQUJRUUZxSWdFZ0FDZ0NKRWdOQUFzTGtoQUJCbjhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFUWUM0QU1nQVVHRkFUWUNBQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFFQkFnSUJBUU1MSUFBb0FpUkJBVWNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFNTElBQW9BaVJCQTBjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBSUxJQUFvQWlSQkJFY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQUVMSUFBb0FpUkJBVWdFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBS3dBZ1JBQWtBQ1FDQUFLQUlvUVFKckRnVUJBQUFBQVFBTElBQW9BZ0FpQWtFY05nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzTEFrQUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFrRUJhdzRHQUFFRUF3UUNCQXNnQUVFQk5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVBQWdJQ0FBSUxJQUZCSmpZQ0JDQUFLQUlrSWdKQkFVd05CeUFBS0FMWUFTRURRUUVoQVFOQUlBRkIyQUJzSUFOcVFRQTJBalFnQVVFQmFpSUJJQUpJRFFBTERBSUxBa0FDUUFKQUFrQWdBQ2dDc0FJT0FnQUJBZ3NnQVVFbk5nSUVEQUlMSUFGQktEWUNCQXdCQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FnUW9BZ0FoQVNBQUtBTGdBeUFBUVFGQmdCZ2dBVUUvY1VIS0FXb1JCQUFpQWpZQ0dFRUFJUUVEUUNBQlFRSjBJQUpxSUFGQmk1a0JiRFlDQUNBQlFZQUNha0VDZENBQ2FpQUJRY2FzQW13MkFnQWdBVUdBQkdwQkFuUWdBbW9nQVVHdk9teEJnSUFDYWpZQ0FDQUJRUUZxSWdGQmdBSkhEUUFMREFFTElBQW9BZ0FpQVVFY05nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3RkN3d0VDeUFBUVFNMkFuZ0NRQUpBQWtBQ1FBSkFBa0FnQUNnQ0tFRUJhdzRIQUFNQkJBUUVBZ1FMSUFGQktUWUNCQXdJQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3REN5QUJRU28yQWdRZ0FDZ0NCQ2dDQUNFQ0lBQW9BdUFESWdFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQU5nSUlJQUFvQWdRb0FnQWhBaUFCSUFCQkFVR0FDQ0FDUVQ5eFFjb0JhaEVFQURZQ0RDQUFLQUlFS0FJQUlRSWdBU0FBUVFGQmdBZ2dBa0UvY1VIS0FXb1JCQUEyQWhBZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFJZ00yQWhRZ0FTZ0NDQ0VFSUFFb0Fnd2hCU0FCS0FJUUlRWkJBQ0VCUVlCL0lRSURRQ0FCUVFKMElBUnFJQUpCMDVzTGJFR0FnQUpxUVJCMU5nSUFJQUZCQW5RZ0JXb2dBa0hFbGc1c1FZQ0FBbXBCRUhVMkFnQWdBVUVDZENBR2FpQUNRZDJrZW13MkFnQWdBVUVDZENBRGFpQUNRYzJmZld4QmdJQUNhallDQUNBQ1FRRnFJUUlnQVVFQmFpSUJRWUFDUncwQUN3d0NDd0pBQWtBQ1FDQUFLQUt3QWc0Q0FBRUNDeUFCUVNzMkFnUU1Cd3NnQVVFc05nSUVEQVlMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3lBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQkFzTUF3c2dBRUVETmdKNElBQW9BaWhCQmtjRVFDQUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUF3c0NRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVyTmdJRURBUUxJQUZCTERZQ0JBd0RDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1BZ3NnQUVFRU5nSjRBa0FDUUFKQUFrQWdBQ2dDS0VFRWF3NENBUUFDQ3lBQlFTMDJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkI2YzBGYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrR2lpd2RzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FhNlNmV3cyQWdBZ0FVRUNkQ0FEYWlBQ1FlZlBmbXhCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N5QUJRUzQyQWdRTUF3c2dBQ2dDQUNJQlFSdzJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQURBSUxEQUVMSUFBb0FpZ2dBa1lFUUNBQUlBQW9BaVEyQW5nZ0FVRXVOZ0lFQlNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSlVCRUFnQUVFQk5nSjhEd3NnQUNBQUtBSjROZ0o4Qzg0RUFRZC9JQUFvQWdRb0FnQWhBU0FBSUFCQkFVRXdJQUZCUDNGQnlnRnFFUVFBSWdFMkF0d0RJQUZCaEFFMkFnQWdBVUVBTmdJSUlBRWdBQ2dDZUNBQUtBSndiQ0lDTmdJb0lBQW9Bc0FDUVFKR0JFQWdBVUVCTmdJRUlBRkJDVFlDRENBQUtBSUVLQUlFSVFNZ0FTQUFRUUVnQWlBRFFUOXhRY29CYWhFRUFEWUNJQ0FBS0FMY0F5RUJCU0FCUVFJMkFnUWdBVUVLTmdJTUlBRkJBRFlDSUFzQ2Z5QUFLQUlvUVFkR0lRY2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJUUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRkNBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaGdnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBaHdnQVNnQ0VDRURJQUVvQWhRaEJDQUJLQUlZSVFVZ0J3c0VRRUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIVG13dHNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWNTV0RteEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCM2FSNmJEWUNBQ0FBUVFKMElBSnFJQUZCelo5OWJFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxCVUVBSVFCQmdIOGhBUU5BSUFCQkFuUWdBMm9nQVVIcHpRVnNRWUNBQW1wQkVIVTJBZ0FnQUVFQ2RDQUVhaUFCUWFLTEIyeEJnSUFDYWtFUWRUWUNBQ0FBUVFKMElBVnFJQUZCcnBKOWJEWUNBQ0FBUVFKMElBSnFJQUZCNTg5K2JFR0FnQUpxTmdJQUlBRkJBV29oQVNBQVFRRnFJZ0JCZ0FKSERRQUxDd3ZIQXdFRGZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQkxDQUJRVDl4UWNvQmFoRUVBQ0lETmdMa0F5QURRVEUyQWdBZ0EwR0RBVFlDRENBRFFRQTJBaUFnQTBFQU5nSW9JQUFvQW5oQkEwY0VRQ0FBS0FJQUlnRkJNRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FESUFCQkFVR0FBU0FCUVQ5eFFjb0JhaEVFQURZQ0dFRUFJUUVEUUNBQUtBSUVLQUlFSVFJZ0FFRUJRWUFnSUFKQlAzRkJ5Z0ZxRVFRQUlRSWdBeWdDR0NBQlFRSjBhaUFDTmdJQUlBRkJBV29pQVVFZ1J3MEFDeUFEUVFFMkFod2dBQ2dDYkFSQUlBQW9BbUFpQVVFSVNBUkFJQUFvQWdBaUFrRTZOZ0lVSUFKQkNEWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUZJQUZCZ0FKS0JFQWdBQ2dDQUNJQ1FUczJBaFFnQWtHQUFqWUNHQ0FBS0FJQUtBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FJRUtBSUlJUUlnQXlBQVFRRWdBVUVESUFKQkQzRkJpZ0pxRVFrQU5nSVFJQU1nQVRZQ0ZBVWdBMEVBTmdJUUN5QUFLQUpZUlFSQUR3c2dBRUVDTmdKWUlBQW9BZ1FvQWdRaEFTQURJQUJCQVNBQUtBSndRUVpzUVF4cUlBRkJQM0ZCeWdGcUVRUUFOZ0lnSUFBUXBBTUxqUWtCRDM4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVCUWRnQUlBRkJQM0ZCeWdGcUVRUUFJZ0UyQXVRRElBRkJNRFlDQUNBQlFZRUJOZ0lJSUFGQmdnRTJBZ3dnQVVFQU5nSkVJQUZCQURZQ05DQUFLQUo0UVFSS0JFQWdBQ2dDQUNJQlFUazJBaFFnQVVFRU5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDWUNJRlFZQUNTZ1JBSUFBb0FnQWlBVUU3TmdJVUlBRkJnQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FtQWhCUXNnQUNnQzVBTWhCeUFBS0FKNElnWkJBVW9FUUVFQklRRURmMEVCSVFNZ0FVRUJhaUlFSVFJRFFDQUNJQVJzSVFJZ0EwRUJhaUlESUFaSERRQUxJQUlnQlVvRWZ5QUNJUU1nQVFVZ0JDRUJEQUVMQ3lFQ0JTQUZRUUVnQlVFQlNoc2lBa0VCYWlFREN5QUNRUUpKQkVBZ0FDZ0NBQ0lCUVRvMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0JrRUFTZ1JBUVFFaEFVRUFJUU1EUUNBSFFTQnFJQU5CQW5ScUlBSTJBZ0FnQVNBQ2JDRUJJQU5CQVdvaUF5QUdSdzBBQ3dKQUlBQW9BaXhCQWtZRVFFRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBRZFNIQVdvb0FnQkJBblJxSWdrb0FnQWlCRUVCYWlFSUFrQUNRQ0FCSUFRUU9TQUliQ0lFSUFWS0RRQWdDU0FJTmdJQUlBTkJBV29pQXlBR1NBUi9RUUVoQWlBRUJVRUJJUUlnQkNFQkRBRUxJUUVNQVFzZ0FrVU5BMEVBSVFOQkFDRUNDd3dBQUFzQUJVRUFJUUpCQUNFREEwQWdCMEVnYWlBRFFRSjBhaUlKS0FJQUlnUkJBV29oQ0FKQUFrQWdBU0FFRURrZ0NHd2lCQ0FGU2cwQUlBa2dDRFlDQUNBRFFRRnFJZ01nQmtnRWYwRUJJUUlnQkFWQkFTRUNJQVFoQVF3QkN5RUJEQUVMSUFKRkRRTkJBQ0VEUVFBaEFnc01BQUFMQUFzQUN5QUJJUUlGUVFFaEFnc2dBQ2dDQUNFQklBQW9BbmhCQTBZRVFDQUJJQUkyQWhnZ0FTQUhLQUlnTmdJY0lBRWdCeWdDSkRZQ0lDQUJJQWNvQWlnMkFpUWdBVUhnQURZQ0ZDQUJLQUlFSVFFRklBRkI0UUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVFzZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFBb0FnUW9BZ2doQVNBQVFRRWdBaUFBS0FKNElBRkJEM0ZCaWdKcUVRa0FJUW9nQUNnQ2VDSUJRUUJLQkVCQkFDRUVJQUloQXdOQUlBTWdCMEVnYWlBRVFRSjBhaWdDQUNJSkVEa2hCU0FKUVFCS0JFQWdDVUYvYWlJTFFRSVFPU0VNSUFSQkFuUWdDbW9oRFNBRlFRQktCRUJCQUNFR0EwQWdCU0FHYkNJQklBSklCRUFnRENBR1FmOEJiR29nQ3hBNVFmOEJjU0VPQTBCQkFDRUlBMEFnRFNnQ0FDQUJJQWhxYWlBT09nQUFJQVVnQ0VFQmFpSUlSdzBBQ3lBQklBTnFJZ0VnQWtnTkFBc0xJQWtnQmtFQmFpSUdSdzBBQ3lBQUtBSjRJUUVMQ3lBRVFRRnFJZ1FnQVVnRVFDQUZJUU1NQVFzTEN5QUhJQW8yQWhBZ0J5QUNOZ0lVSUFBUW9RTWdBQ2dDV0VFQ1J3UkFEd3NnQUNnQzVBTWhBaUFBS0FKd0lROGdBQ2dDZUVFQVRBUkFEd3NnRDBFQmRFRUVhaUVEUVFBaEFRTkFJQUFvQWdRb0FnUWhCQ0FDUWNRQWFpQUJRUUowYWlBQVFRRWdBeUFFUVQ5eFFjb0JhaEVFQURZQ0FDQUJRUUZxSWdFZ0FDZ0NlRWdOQUFzTDJ3VUJEMzhnQUNnQ0ZDSUNRY29CUndSQUlBQW9BZ0FpQVVFVk5nSVVJQUVnQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQVFrUVlnQUNnQzJBRWhCQ0FBS0FJa0lneEJBRW9pRGdSL0lBQW9Bc2dDSVFJZ0FDZ0N4QUlpQ0VFSVFRUWdBQ2dDVEJzaUNVb0VRQ0FDSUFsS0lRMGdDRUVCZENFRElBUWhBUU5BSUFFaUJ5QUlOZ0lrSUEwRVFDQUNJUUVGQWtBZ0FDZ0N3QUloQ2lBSEtBSU1JUXRCQVNFR0lBSWhBUU5BSUFvZ0JrRUJkQ0lHSUF0c0VFOE5BU0FDSUFac0lnRWdDVXdOQUFzTEN5QUhJZ1lnQVRZQ0tDQUlJQUZCQVhRaUNrb0VRQ0FISUFvMkFpUUZJQUVnQTBvRVFDQUdJQU0yQWlnTEN5QUdRZGdBYWlFQklBVkJBV29pQlNBTVNBMEFDd1VnQUNnQ3ZBSWhEU0FDSUFsS0lRb2dCQ0VCQTBBZ0FTZ0NDQ0VEUVFFaEJTQUlJUWNEUUNBTklBTWdCVUVCZENJRmJCQlBSUVJBSUFVZ0NHd2lCeUFKVEEwQkN3c2dBU0lGSUFjMkFpUWdDZ1JBSUFJaEFRVUNRQ0FBS0FMQUFpRUxJQVVvQWd3aEQwRUJJUU1nQWlFQkEwQWdDeUFQSUFOQkFYUWlBMndRVHcwQklBSWdBMndpQVNBSlRBMEFDd3NMSUFVaUF5QUJOZ0lvSUFjZ0FVRUJkQ0lMU2dSQUlBVWdDellDSkFVZ0FTQUhRUUYwSWdGS0JFQWdBeUFCTmdJb0N3c2dBMEhZQUdvaEFTQUdRUUZxSWdZZ0RFZ05BQXNMSUE0RWYwRUFJUUlEZnlBRUlBUW9BaVFnQUNnQ0hDQUVLQUlJYkd3Z0FDZ0N2QUlnQUNnQ3JBTnNFR2cyQWl3Z0JDQUVLQUlvSUFBb0FpQWdCQ2dDREd4c0lBQW9Bc0FDSUFBb0Fxd0RiQkJvTmdJd0lBUkIyQUJxSVFRZ0FrRUJhaUlDSUFBb0FpUWlBVWdOQUNBQkN3VWdEQXNGSUF3TElRSUNRQUpBQWtBQ1FBSkFJQUFvQWl3aUFVRUJhdzRIQUFFQ0F3TUJBZ1FMSUFFaEFnd0RDMEVESVFJTUFndEJBeUVDREFFTFFRUWhBZ3NnQUNBQ05nSjRJQUJCQVNBQ0lBQW9BbFFiTmdKOElBQVFwZ05GQkVBZ0FFRUJOZ0tBQVE4TElBQWdBQ2dDd0FJMkFvQUJDenNCQW44Z0FDZ0N2QU1oQVNBQUtBSlVCRUFnQUNnQzVBTW9BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVNBQktBSU1RUUZxTmdJTUM1QUVBUU4vSUFBb0Fyd0RJZ0lvQWdnRVFDQUNRUUEyQWdnZ0FDZ0M1QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBZ0FDZ0N5QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUlnQVVFL2NVR3lCV29SQXdBRklBQW9BbFFFUUNBQUtBS0lBVVVFUUFKQUlBQW9BbHdFUUNBQUtBSnNCRUFnQUNBQ0tBSVlOZ0xrQXlBQ1FRRTJBZ2dNQWdzTElBQW9BbVFFUUNBQUlBSW9BaFEyQXVRREJTQUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN3c0xJQUFvQXRnREtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDeEFNb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUpFUlFSQUlBSW9BaEJGQkVBZ0FDZ0M0QU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MzQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSlVCRUFnQUNnQzVBTW9BZ0FoQVNBQUlBSW9BZ2dnQVVFL2NVR3lCV29SQXdBTElBQW9Bc2dES0FJQUlRRWdBRUVEUVFBZ0FpZ0NDQnNnQVVFL2NVR3lCV29SQXdBZ0FDZ0N3QU1vQWdBaEFTQUFRUUFnQVVFL2NVR3lCV29SQXdBTEN5QUFLQUlJSWdGRkJFQVBDeUFCSUFJb0Fnd2lBellDRENBQklBTkJBa0VCSUFJb0FnZ2JhaUlDTmdJUUlBQkJRR3NvQWdCRkJFQVBDeUFBS0FMTUF5Z0NGQVJBRHdzZ0FTQUNRUUpCQVNBQUtBSnNHMm8yQWhBTDh3WUJCSDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRUndnQVVFL2NVSEtBV29SQkFBaUFqWUN2QU1nQWtIL0FEWUNBQ0FDUVlBQk5nSUVJQUpCQURZQ0NDQUFLQUxVQVNJQlFRaEhCRUFnQUNnQ0FDSURRUkEyQWhRZ0F5QUJOZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUJEM0JTQUFLQUlFS0FJQUlRRWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ05CQUVHQUJCQkZHaUFBSUFOQmdBUnFJZ1EyQXRBQ1FRQWhBUU5BSUFFZ0JHb2dBVG9BQUNBQlFRRnFJZ0ZCZ0FKSERRQUxJQU5CZ0FacVFYOUJnQVFRUlJvQ1FBSkFJQUFvQW5SRkRRQWdBQ2dDY0VVTkFDQUFRZmdBYWlJREtBSUFRUUZJRFFBTUFRc2dBQ2dDQUNJQlFTRTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkIrQUJxSVFNTElBSkJBRFlDRENBQ0lBQVFwZ00yQWhBZ0FrRUFOZ0lVSUFKQkFEWUNHQ0FBS0FKVUJFQUNRQ0FBUVVCcktBSUFSUVJBSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUVBTmdKc0N5QUFRY1FBYWlJQktBSUFCRUFnQUNnQ0FDSUVRVEEyQWhRZ0JDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFES0FJQVFRTkdCRUFDUUNBQUtBS0lBUVJBSUFCQkFUWUNhQXdCQ3lBQUtBSmNCRUFnQUVFQk5nSnNCU0FBUVFFMkFtUUxDd1VnQUVFQk5nSmtJQUJCQURZQ2FDQUFRUUEyQW13Z0FFRUFOZ0tJQVFzZ0FDZ0NaQVJBSUFBUTlnVWdBaUFBS0FMa0F6WUNGQXNnQUNnQ2JFVUVRQ0FBS0FKb1JRMEJDeUFBRVBVRklBSWdBQ2dDNUFNMkFoZ0xCU0FBUVFBMkFtUWdBRUVBTmdKb0lBQkJBRFlDYkNBQVFjUUFhaUVCQ3lBQktBSUFSUVJBSUFJb0FoQUVRQ0FBRVBRRkJTQUFFUE1GSUFBUThnVUxJQUFnQUNnQ2JCRHhCUXNnQUJESEJpQUFLQUxrQVFSQUlBQVFpd1lGSUFBUW13WUxJQUFnQUNnQ3pBTW9BaEFFZjBFQkJTQUFRVUJyS0FJQVFRQkhDeENLQmlBQktBSUFSUVJBSUFBUThBVUxJQUFvQWdRb0FoZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxNQXlnQ0NDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BZ2dpQVVVRVFBOExJQUJCUUdzb0FnQUVRQThMSUFBb0Fzd0RLQUlRUlFSQUR3c2dBQ2dDSkNJRElBTkJBMnhCQW1vZ0FDZ0M0QUZGR3lFRElBRkJBRFlDQkNBQklBTWdBQ2dDekFKc05nSUlJQUZCQURZQ0RDQUJRUU5CQWlBQUtBSnNHellDRUNBQ0lBSW9BZ3hCQVdvMkFnd0wvZ1FCQlg4Q1FBSkFBa0FDUUFKQUFrQWdBQ2dDRkNJQlFjb0JhdzREQUFNQkFnc2dBQkQ2QlNBQVFVQnJLQUlBUlFSQUlBQkJ5d0UyQWhRTUF3c2dBRUhQQVRZQ0ZFRUJEd3NnQUVHOEEyb2hBd3dEQ3lBQUtBSUFJZ0pCRlRZQ0ZDQUNJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFFTElBQW9Bc3dES0FJUUJFQUNRQ0FBS0FJSUlRRURRQUpBSUFFRVFDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0Fzd0RLQUlBSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdJT0F3RUFBd0FMSUFKQkFuSkJBMFlnQUNnQ0NDSUJRUUJIY1FSQUlBRWdBU2dDQkVFQmFpSUNOZ0lFSUFJZ0FTZ0NDQ0lDVGdSQUlBRWdBaUFBS0FMTUFtbzJBZ2dMQ3d3QkN3c2dBZzhMQ3lBQUlBQW9BcEFCTmdLWUFRc2dBRUc4QTJvaEF5QUFLQUlVUWN3QlJ3UkFJQU1vQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFRUUEyQW93QklBQkJ6QUUyQWhRTEN5QURLQUlBSWdFb0FnZ0VRQUpBSUFCQmpBRnFJZ1VvQWdBaEFnTkFBa0FnQWlBQUtBSjBJZ1JKQkVBZ0FpRUJJQVFoQWdOQUlBQW9BZ2dpQkFSL0lBUWdBVFlDQkNBRUlBSTJBZ2dnQkNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBVW9BZ0FGSUFFTElRSWdBQ2dDd0FNb0FnUWhBU0FBUVFBZ0JVRUFJQUZCSDNGQitnVnFFUWNBSUFVb0FnQWlBU0FDUmcwQ0lBRWdBQ2dDZENJQ1NRMEFDeUFES0FJQUlRRUxJQUVvQWdRaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBREtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQlVFQU5nSUFJQU1vQWdBaUFTZ0NDRVVOQWtFQUlRSU1BUXNMUVFBUEN3c2dBRUhPQVVITkFTQUFLQUpFR3pZQ0ZFRUJDMUFCQTM5QmZ5RUJBMEFDUUFKQUFrQWdBQ0FDYWl3QUFDSURCRUFnQTBFdVJnUkFEQUlGREFNTEFBc01BZ3NnQWlFQkN5QUNRUUZxSVFJTUFRc0xJQUZCZjBjRVFDQUFJQUZxUVFBNkFBQUxDOG9KQVExL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFTklBQW9BdkFDUVFCTUJFQkJBUThMSUFWQnZBRnFJUTRDUUFKQUEwQUNRQ0FJUVFKMElBRnFLQUlBSVF3Z0FDQUZRVHhxSUFCQjJBSnFJQUJCOUFKcUlBaEJBblJxS0FJQUlndEJBblJxS0FJQUlnWW9BaFFpQjBFQ2RHb2lBeWdDQUNBRlFTaHFJQXRCQW5ScUlna29BZ0JxSWdJUVhRUkFJQUFnQUNBQ1FRRnFFRjBpQ2lBQ1FRSnFhaUlFRUYwaUFnUkFJQUFnQXlnQ0FFRVVhaUlFRUYwRVFBTkFJQUpCQVhRaUFrR0FnQUpHRFFRZ0FDQUVRUUZxSWdRUVhRMEFDd3NGUVFBaEFnc2dDU0FDUVFFZ0J5QUFRZWdCYW1vdEFBQjBRUUYxU0FSL1FRQUZJQXBCQW5RaEF5QUNRUUVnQnlBQVFmZ0JhbW90QUFCMFFRRjFTZ1IvSUFOQkRHb0ZJQU5CQkdvTEN6WUNBQ0FFUVE1cUlRTWdBa0VCZFNJRUJFQURRQ0FDSUFSQkFDQUFJQU1RWFJ0eUlRSWdCRUVCZFNJRURRQUxDeUFGUVJocUlBdEJBblJxSWdRb0FnQWdBa0YvY3lBQ1FRRnFJQW9iYWlFQ0lBUWdBallDQUFVZ0NVRUFOZ0lBSUFWQkdHb2dDMEVDZEdvb0FnQWhBZ3NnRENBQ093RUFJQUFvQXJRREJFQUNRQ0FGUWZ3QWFpQUdLQUlZSWdKQkFuUnFJUWNnQWlBQVFZZ0NhbW9oQ1VFQUlRUURRQ0FBSUFjb0FnQWdCRUVEYkdvaUF4QmREUUVnQkVFQmFpRUNJQUFnQTBFQmFoQmRCRUFnQkNFR0lBSWhCQVVnQXlFR0EzOGdBaUFBS0FLMEEwNE5DQ0FHUVFOcUlRTWdBa0VCYWlFRUlBQWdCa0VFYWhCZEJIOGdBZ1VnQXlFR0lBUWhBZ3dCQ3dzaEJnc2dBQ0FPRUYwaENpQUFJQU5CQW1vaUF4QmRJZ0lFUUNBQUlBTVFYUVJBSUFKQkFYUWhBaUFBSUFjb0FnQkJ2UUZCMlFFZ0JpQUpMUUFBU0J0cUlnTVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5DaUFBSUFOQkFXb2lBeEJkRFFBTEN3c2dBMEVPYWlFR0lBSkJBWFVpQXdSQUEwQWdBaUFEUVFBZ0FDQUdFRjBiY2lFQ0lBTkJBWFVpQXcwQUN3c0ZRUUFoQWdzZ0JFRUNkQ0FOYWlnQ0FFRUJkQ0FNYWlBQ1FmLy9BM01nQWtFQmFpQUtHenNCQUNBRUlBQW9BclFEU0EwQUN3c0xJQWhCQVdvaUFpQUFLQUx3QWs0TkFpQUNJUWdNQVFzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF1NkJnRU5meUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQ3NBTWhCaUFCS0FJQUlRY2dBQ2dDMkFJb0FoZ2hBa0VCSUFBb0FxZ0RJZ0YwSVFoQmZ5QUJkQ0VKSUFBb0FxQURJUUVEZndKL0lBRWdBVUVDZENBR2FpZ0NBRUVCZENBSGFpNEJBQTBBR2lBQlFYOXFJZ0VOQVVFQUN3c2hCU0FEUWZ3QWFpQUNRUUowYWlFS0lBTkJ2QUZxSVFzZ0NFSC8vd054SVF3Z0NVSC8vd054SVEwZ0FDZ0NuQU5CZjJvaEFRSkFBMEFDUUNBS0tBSUFJQUZCQTJ4cUlRSWdBU0FGVGdSQUlBQWdBaEJkRFFNTEFrQUNRQ0FCUVFGcUlnRkJBblFnQm1vb0FnQkJBWFFnQjJvaUJDNEJBQTBBQTBBZ0FDQUNRUUZxRUYxRkJFQWdBU0FBS0FLZ0EwNE5CQ0FDUVFOcUlRSWdBVUVCYWlJQlFRSjBJQVpxS0FJQVFRRjBJQWRxSWdRdUFRQkZEUUVNQWdzTElBQWdDeEJkQkVBZ0JDQU5Pd0VBQlNBRUlBdzdBUUFMREFFTElBQWdBa0VDYWhCZEJFQWdCQzRCQUNJT0lRSWdEa0VBU0FSQUlBUWdBaUFKYWpzQkFBVWdCQ0FDSUFocU93RUFDd3NMSUFFZ0FDZ0NvQU5JRFFFTUFnc0xJQUFvQWdBaUFVSDFBRFlDRkNBQktBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQU5CZnpZQ0ZFRUJEd3RCQVF2akF3RUVmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJRSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQlNnQ0ZFRUNkR29vQWdBaUJFSUFOd0FBSUFSQ0FEY0FDQ0FFUWdBM0FCQWdCRUlBTndBWUlBUkNBRGNBSUNBRVFnQTNBQ2dnQkVJQU53QXdJQVJDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQlNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBQW9BcWdESVFJZ0FDZ0M4QUpCQUV3RVFFRUJEd3NnQTBHOEFXb2hBMEVCSUFKMElRUkJBQ0VDQTBBZ0FDQURFRjBFUUNBQ1FRSjBJQUZxS0FJQUlnVWdCQ0FGTHdFQWNqc0JBQXNnQWtFQmFpSUNJQUFvQXZBQ1NBMEFDMEVCQzgwR0FRcC9JQUFvQXRRRElRVWdBQ2dDbUFJRVFDQUZLQUk0SWdKRkJFQWdBQ2dDMEFNb0FnZ2hBaUFBSUFKQi93QnhRUWhxRVFBQVJRUkFJQUFvQWdBaUFrRVpOZ0lVSUFJb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFKQkFFb0VRRUVBSVFJRFFDQUFRZGdDYWlBQ1FRSjBhaWdDQUNFRUFrQUNRQUpBSUFBb0F1QUJSUTBBSUFBb0Fwd0REUUVnQUNnQ3BBTkZEUUFNQWdzZ0JVRThhaUFFS0FJVVFRSjBhaWdDQUNJRFFnQTNBQUFnQTBJQU53QUlJQU5DQURjQUVDQURRZ0EzQUJnZ0EwSUFOd0FnSUFOQ0FEY0FLQ0FEUWdBM0FEQWdBMElBTndBNElBVkJHR29nQWtFQ2RHcEJBRFlDQUNBRlFTaHFJQUpCQW5ScVFRQTJBZ0FnQUNnQzRBRUVRQ0FBS0FLY0F3MEJCU0FBS0FLMEF3MEJDd3dCQ3lBRlFmd0FhaUFFS0FJWVFRSjBhaWdDQUVFQVFZQUNFRVVhQ3lBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBZ3dnQlVFQU5nSVFJQVZCY0RZQ0ZDQUZJQUFvQXBnQ0lnSTJBamdMSUFVZ0FrRi9hallDT0FzZ0JTZ0NGRUYvUmdSQVFRRVBDeUFBS0FLd0F5RUhJQUVvQWdBaENDQUZRZndBYWlBQUtBTFlBaWdDR0NJQlFRSjBhaUVHSUFWQnZBRnFJUWtnQVNBQVFZZ0NhbW9oQ2lBQUtBS2NBMEYvYWlFQ0FrQUNRQU5BQWtBZ0FDQUdLQUlBSUFKQkEyeHFJZ01RWFEwQ0lBSkJBV29oQVNBQUlBTkJBV29RWFFSQUlBSWhCQ0FCSVFJRkEzOGdBU0FBS0FLZ0EwNE5BaUFEUVFOcUlRUWdBVUVCYWlFQ0lBQWdBMEVFYWhCZEJIOGdCQ0VESUFFRklBUWhBeUFDSVFFTUFRc0xJUVFMSUFBZ0NSQmRJUXNnQUNBRFFRSnFJZ01RWFNJQkJFQWdBQ0FERUYwRVFDQUJRUUYwSVFFZ0FDQUdLQUlBUWIwQlFka0JJQVFnQ2kwQUFFZ2JhaUlFRUYwRVFBTkFJQUZCQVhRaUFVR0FnQUpHRFFjZ0FDQUVRUUZxSWdRUVhRMEFDd3NGSUFNaEJBc2dCRUVPYWlFRElBRkJBWFVpQkFSQUEwQWdBU0FFUVFBZ0FDQURFRjBiY2lFQklBUkJBWFVpQkEwQUN3c0ZRUUFoQVFzZ0FrRUNkQ0FIYWlnQ0FFRUJkQ0FJYWlBQlFYOXpJQUZCQVdvZ0N4c2dBQ2dDcUFOME93RUFJQUlnQUNnQ29BTklEUUVNQWdzTERBRUxRUUVQQ3lBQUtBSUFJZ0ZCOVFBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBRlFYODJBaFJCQVF2a0JnRUxmeUFBS0FMVUF5RURJQUFvQXBnQ0JFQWdBeWdDT0NJQ1JRUkFJQUFvQXRBREtBSUlJUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVUVRQ0FBS0FJQUlnSkJHVFlDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ1FRQktCRUJCQUNFQ0EwQWdBRUhZQW1vZ0FrRUNkR29vQWdBaEJBSkFBa0FDUUNBQUtBTGdBVVVOQUNBQUtBS2NBdzBCSUFBb0FxUURSUTBBREFJTElBTkJQR29nQkNnQ0ZFRUNkR29vQWdBaUJVSUFOd0FBSUFWQ0FEY0FDQ0FGUWdBM0FCQWdCVUlBTndBWUlBVkNBRGNBSUNBRlFnQTNBQ2dnQlVJQU53QXdJQVZDQURjQU9DQURRUmhxSUFKQkFuUnFRUUEyQWdBZ0EwRW9haUFDUVFKMGFrRUFOZ0lBSUFBb0F1QUJCRUFnQUNnQ25BTU5BUVVnQUNnQ3RBTU5BUXNNQVFzZ0EwSDhBR29nQkNnQ0dFRUNkR29vQWdCQkFFR0FBaEJGR2dzZ0FrRUJhaUlDSUFBb0F0UUNTQTBBQ3dzZ0EwRUFOZ0lNSUFOQkFEWUNFQ0FEUVhBMkFoUWdBeUFBS0FLWUFpSUNOZ0k0Q3lBRElBSkJmMm8yQWpnTElBTW9BaFJCZjBZRVFFRUJEd3NnQUNnQzhBSkJBRXdFUUVFQkR3dEJBQ0VGQWtBQ1FBTkFBa0FnQlVFQ2RDQUJhaWdDQUNFTUlBQWdBMEU4YWlBQVFkZ0NhaUFBUWZRQ2FpQUZRUUowYWlnQ0FDSUhRUUowYWlnQ0FDZ0NGQ0lJUVFKMGFpSUdLQUlBSUFOQktHb2dCMEVDZEdvaUNTZ0NBR29pQWhCZEJFQWdBQ0FBSUFKQkFXb1FYU0lLSUFKQkFtcHFJZ1FRWFNJQ0JFQWdBQ0FHS0FJQVFSUnFJZ1FRWFFSQUEwQWdBa0VCZENJQ1FZQ0FBa1lOQkNBQUlBUkJBV29pQkJCZERRQUxDd1ZCQUNFQ0N5QUpJQUpCQVNBSUlBQkI2QUZxYWkwQUFIUkJBWFZJQkg5QkFBVWdDa0VDZENFR0lBSkJBU0FJSUFCQitBRnFhaTBBQUhSQkFYVktCSDhnQmtFTWFnVWdCa0VFYWdzTE5nSUFJQVJCRG1vaEJpQUNRUUYxSWdRRVFBTkFJQUlnQkVFQUlBQWdCaEJkRzNJaEFpQUVRUUYxSWdRTkFBc0xJQU5CR0dvZ0IwRUNkR29pQkNnQ0FDQUNRWDl6SUFKQkFXb2dDaHRxSVFJZ0JDQUNOZ0lBQlNBSlFRQTJBZ0FnQTBFWWFpQUhRUUowYWlnQ0FDRUNDeUFNSUFJZ0FDZ0NxQU4wT3dFQUlBVkJBV29pQWlBQUtBTHdBazROQWlBQ0lRVU1BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FEUVg4MkFoUkJBUXZLQ1FFSmZ5QUFLQUxVQXlFQ0lBQW9BcHdESWdaRklRTWdBQ2dDNEFFRVFDQUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFaSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FHTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUVIVUFtb2lCaWdDQUNJQlFRQktCRUFnQUVHa0Eyb2hCVUVBSVFNRFFDQUFRZGdDYWlBRFFRSjBhaWdDQUNnQ0JDRUlJQUFvQXFBQklRa2dBQ2dDbkFNaUFRUkFJQWhCQ0hRZ0NXb29BZ0JCQUVnRVFDQUFLQUlBSWdGQjlnQTJBaFFnQVNBSU5nSVlJQUFvQWdCQkFEWUNIQ0FBS0FJQUtBSUVJUUVnQUVGL0lBRkJQM0ZCc2dWcUVRTUFJQUFvQXB3RElRRUxCVUVBSVFFTElBRWdBQ2dDb0FOTUJFQURRQ0FGS0FJQUlBaEJDSFFnQ1dvZ0FVRUNkR29pQkNnQ0FDSUhRUUFnQjBFQVNodEhCRUFnQUNnQ0FDSUhRZllBTmdJVUlBY2dDRFlDR0NBQUtBSUFJQUUyQWh3Z0FDZ0NBQ2dDQkNFSElBQkJmeUFIUVQ5eFFiSUZhaEVEQUFzZ0JDQUFLQUtvQXpZQ0FDQUJRUUZxSVFRZ0FTQUFLQUtnQTBnRVFDQUVJUUVNQVFzTEN5QURRUUZxSWdNZ0JpZ0NBQ0lCU0EwQUN3VWdBRUdrQTJvaEJRc2dBQ2dDbkFORklRTWdCU2dDQUFSQUlBTUVRQ0FDUVMwMkFnUUZJQUpCTGpZQ0JBc0ZJQU1FUUNBQ1FTczJBZ1FGSUFKQkxEWUNCQXNMQlFKQUFrQWdBMFVOQUNBQUtBS2tBdzBBSUFBb0FxZ0REUUFnQUNnQ29BTWlBVUhBQUVnRVFDQUFLQUswQXlBQlJ3MEJDd3dCQ3lBQUtBSUFJZ0ZCL1FBMkFoUWdBU2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUFzZ0FrRXZOZ0lFSUFCQjFBSnFJZ0VoQmlBQktBSUFJUUVMSUFGQkFFd0VRQ0FDUVFBMkFnd2dBa0VBTmdJUUlBSkJjRFlDRkNBQ0lBQW9BcGdDTmdJNER3dEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFRb0FoUWlBVUVQU3dSQUlBQW9BZ0FpQlVFeU5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRVWdBQ0FGUWY4QmNVR3NBMm9SQVFBTElBSkJQR29nQVVFQ2RHb2lCU2dDQUNJQlJRUkFJQUFvQWdRb0FnQWhBU0FGSUFCQkFVSEFBQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSUFDeUFCUWdBM0FBQWdBVUlBTndBSUlBRkNBRGNBRUNBQlFnQTNBQmdnQVVJQU53QWdJQUZDQURjQUtDQUJRZ0EzQURBZ0FVSUFOd0E0SUFKQkdHb2dBMEVDZEdwQkFEWUNBQ0FDUVNocUlBTkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFFS0FJWUlnRkJEMHNFUUNBQUtBSUFJZ1JCTWpZQ0ZDQUVJQUUyQWhnZ0FDZ0NBQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQ1Fmd0FhaUFCUVFKMGFpSUVLQUlBSWdGRkJFQWdBQ2dDQkNnQ0FDRUJJQVFnQUVFQlFZQUNJQUZCUDNGQnlnRnFFUVFBSWdFMkFnQUxJQUZCQUVHQUFoQkZHZ3NnQTBFQmFpSURJQVlvQWdCSURRQUxJQUpCQURZQ0RDQUNRUUEyQWhBZ0FrRndOZ0lVSUFJZ0FDZ0NtQUkyQWpnTG1nd0JNbjhqQmlFSEl3WkJnQUZxSkFZZ0FDZ0N4QU1oRnlBQUtBTE1BaUV4SUFBb0FwQUJJZ1FnQUNnQ21BRWlCVXdFUUFKQUEwQUNRQ0FBS0FMTUF5SUNLQUlVRFFJZ0JDQUZSZ1JBSUFBb0FwUUJJQUFvQXB3QklBQW9BcHdEUldwTERRTUxJQUFnQWlnQ0FFSC9BSEZCQ0dvUkFBQkZEUUFnQUNnQ2tBRWlCQ0FBS0FLWUFTSUZUQTBCREFJTEN5QUhKQVpCQUE4TEN5QXhRWDlxSVNvZ0FDZ0NKRUVBU2dSL0lBQkJuQUZxSVJ3Z0FDZ0MyQUVoQ2dOL0lBb29BalFFUUNBY0tBSUFJZ2dnS2trRWZ5QUtLQUlNSWhGQkFYUWhCU0FSSVFSQkFBVWdDaWdDSUNBS0tBSU1JZ1FRVGlJRklBUWdCUnNpRVNFRlFRRUxJUWtnQ0FSL0lBQWdGMEhJQUdvZ0RVRUNkR29vQWdBZ0JDQUlRWDlxYkNBRUlBVnFRUUFnQUNnQ0JDZ0NJRUVmY1VHaUFtb1JDQUFnQ2lnQ0RFRUNkR29oRkVFQUJTQUFJQmRCeUFCcUlBMUJBblJxS0FJQVFRQWdCVUVBSUFBb0FnUW9BaUJCSDNGQm9nSnFFUWdBSVJSQkFRc2hFaUFYS0FKd0lBMUJCbXhCQW5ScUlSTWdDaWdDVUNJRUx3RUFJUWdnQkM4QkFpRUZJQVF2QVJBaEFpQUVMd0VnSVE0Z0JDOEJFaUVQSUFRdkFRUWhCQ0FBS0FMWUEwRUVhaUFOUVFKMGFpZ0NBQ0VySUJGQkFFb0VRQ0FTUVFCSElTd2dDVUVBUnlFdElCRkJmMm9oTGlBSVFTUnNJUjBnQlVFSGRDRWVJQUpCQjNRaEh5QUZRUWgwSVNBZ0NFRUpiQ0VoSUE1QkIzUWhJaUFDUVFoMElTTWdDaUV2SUFoQkJXd2hNQ0FQUVFkMElTUWdEa0VJZENFbElBUkJCM1FoSmlBUFFRaDBJU2NnQkVFSWRDRW9RUUFoRENBTlFRSjBJQUZxS0FJQUlSZ0RRQ0FNUVFKMElCUnFLQUlBSVFJZ0xDQU1SWEVFZnlBQ0JTQU1RWDlxUVFKMElCUnFLQUlBQ3lFVklBb29BaHhCZjJvaEtTQXRJQXdnTGtaeEJIOGdBZ1VnREVFQmFrRUNkQ0FVYWlnQ0FBc2lHUzRCQUNJR0lRUWdBaTRCQUNJSklRVWdGUzRCQUNJUUlRaEJBQ0VhSUFJaEZrRUFJUnNEUUNBSElCWkJnQUVRVEJvZ0dpQXBTUVIvSUJrdUFZQUJJUTRnRlM0QmdBRWhEeUFXTGdHQUFRVWdCQ0VPSUFnaER5QUZDeUVTSUFjdUFRSkZJQk1vQWdRaUFrRUFSM0VFUUNBSElCMGdDU0FTYTJ3aUEwRi9TZ1IvSUFNZ0htb2dJQkE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHNGUVFBZ0hpQURheUFnRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLRzJzTE93RUNDeUFITGdFUVJTQVRLQUlJSWdKQkFFZHhCRUFnQnlBZElBZ2dCR3RzSWdOQmYwb0VmeUFESUI5cUlDTVFPU0lEUVFFZ0FuUWlDMEYvYWlBRElBdElHeUFESUFKQkFFb2JCVUVBSUI4Z0Eyc2dJeEE1SWdOQkFTQUNkQ0lMUVg5cUlBTWdDMGdiSUFNZ0FrRUFTaHRyQ3pzQkVBc2dCeTRCSUVVZ0V5Z0NEQ0lDUVFCSGNRUkFJQWNnSVNBRUlBZ2dCVUVCZEd0cWJDSURRWDlLQkg4Z0F5QWlhaUFsRURraUEwRUJJQUowSWd0QmYyb2dBeUFMU0JzZ0F5QUNRUUJLR3dWQkFDQWlJQU5ySUNVUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYmF3czdBU0FMSUFjdUFSSkZJQk1vQWhBaUFrRUFSM0VFUUNBSElEQWdEaUFRSUFacklBOXJhbXdpQmtGL1NnUi9JQVlnSkdvZ0p4QTVJZ1pCQVNBQ2RDSVFRWDlxSUFZZ0VFZ2JJQVlnQWtFQVNoc0ZRUUFnSkNBR2F5QW5FRGtpQmtFQklBSjBJaEJCZjJvZ0JpQVFTQnNnQmlBQ1FRQktHMnNMT3dFU0N5QUhMZ0VFUlNBVEtBSVVJZ0pCQUVkeEJFQWdCeUFoSUJJZ0NTQUZRUUYwYTJwc0lnbEJmMG9FZnlBSklDWnFJQ2dRT1NJSlFRRWdBblFpQmtGL2FpQUpJQVpJR3lBSklBSkJBRW9iQlVFQUlDWWdDV3NnS0JBNUlnbEJBU0FDZENJR1FYOXFJQWtnQmtnYklBa2dBa0VBU2h0ckN6c0JCQXNnQUNBS0lBY2dHQ0FiSUN0QlAzRkJtZ1pxRVFVQUlCWkJnQUZxSVJZZ0ZVR0FBV29oRlNBWlFZQUJhaUVaSUJzZ0x5Z0NKR29oR3lBYVFRRnFJaG9nS1UwRVFDQUlJVElnQlNFSklBUWhCaUFPSVFRZ0VpRUZJQThoQ0NBeUlSQU1BUXNMSUFvb0FpaEJBblFnR0dvaEdDQU1RUUZxSWd3Z0VVY05BQXNMQ3lBS1FkZ0FhaUVLSUExQkFXb2lEU0FBS0FJa1NBMEFJQndMQlNBQVFad0JhZ3NpQVNBQktBSUFRUUZxSWdFMkFnQkJBMEVFSUFFZ0FDZ0N6QUpKR3lFeklBY2tCaUF6QzVVR0FSVi9JQUFvQXVnQ1FYOXFJUW9nQUNnQ3pBSWlBa0YvYWlFVElBQW9Bc1FESWdZb0FoZ2lDQ0FHS0FJY0lnTklCRUFDUUNBR1FTQnFJUTBnQUVHVUFXb2hEaUFESVFJZ0JpZ0NGQ0VIQWtBQ1FBTkFBa0FnQnlBS1RRUkFBMEFnQUNnQ3RBTUVRQ0FOS0FJQVFRQWdBQ2dDOEFKQkIzUVFSUm9MSUFBb0F0UURLQUlFSVFJZ0FDQU5JQUpCUDNGQmlnRnFFUUlBUlEwQ0lBQW9BdFFDSWdKQkFFb0VRQ0FISUFwSklSUkJBQ0VEUVFBaEN3TkFJQUJCMkFKcUlBdEJBblJxS0FJQUlnUW9BalFFUUFKQUlBQW9BdGdEUVFScUlBUW9BZ1FpQlVFQ2RHb29BZ0FoRlNBRVFUaHFJZzhnQkVISUFHb2dGQnNvQWdBaEVDQUVLQUlvSVJFZ0J5QUVLQUpFYkNFV0lBUW9BandpRWtFQVNnUkFJQkJCQUV3RVFDQVBLQUlBSVFsQkFDRUZBMEFnQXlBSmFpRURJQVZCQVdvaUJTQVNTQTBBQ3d3Q0N5QUZRUUowSUFGcUtBSUFJQWdnRVd4QkFuUnFJUWxCQUNFTUlBTWhCU0FTSVFJZ0VTRURBMEFDUUFKQUlBNG9BZ0FnRTBrTkFDQUlJQXhxSUFRb0FreElEUUFNQVFzZ0ZpRUNRUUFoQXdOQUlBQWdCQ0FHUVNCcUlBTWdCV3BCQW5ScUtBSUFJQWtnQWlBVlFUOXhRWm9HYWhFRkFDQUNJQVFvQWlScUlRSWdBMEVCYWlJRElCQkhEUUFMSUFRb0FpZ2hBeUFFS0FJOElRSUxJQVVnRHlnQ0FHb2hCU0FEUVFKMElBbHFJUWtnREVFQmFpSU1JQUpJRFFBTElBVWhBeUFBS0FMVUFpRUNDd3NGSUFNZ0JFRkFheWdDQUdvaEF3c2dDMEVCYWlJTElBSklEUUFMQ3lBSFFRRnFJZ2NnQ2swTkFBc2dCaWdDSENFQ0N5QUdRUUEyQWhRZ0NFRUJhaUlJSUFKT0RRSkJBQ0VIREFFTEN3d0JDeUFPSVFFZ0FDZ0N6QUloQWd3QkN5QUdJQWcyQWhnZ0JpQUhOZ0lVUVFBUEN3VWdBRUdVQVdvaEFRc2dBQ0FBS0FLY0FVRUJhallDbkFFZ0FTQUJLQUlBUVFGcUlnTTJBZ0FnQXlBQ1R3UkFJQUFvQXN3REtBSU1JUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJCQThMSUFBb0FzUURJZ0VnQUNnQzFBSkJBVW9FZjBFQkJTQUFLQUxZQWlJQVFReHFJQUJCekFCcUlBTWdBa0YvYWtrYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlRUU1Mb1FFQkJIOERRQUpBQWtBQ1FDQUFJQUZxTEFBQUlnTUVRQ0FEUVM1R0JFQU1BZ1VNQXdzQUN3d0NDeUFCSVFJTElBRkJBV29oQVF3QkN3c2dBQ0FCYWlFRFFaeTRBUkJnUVFKcUlRUUNmd0pBSUFJRWZ5QUNJQVJxUVlBQ1NnUi9RWDhGREFJTEJTQUJJQVJxUVlBQ1NnUi9RWDhGSUFOQkxqb0FBQ0FCSVFJTUFnc0xEQUVMSUFBZ0FrRUJhbXBCQURvQUFDQUFFR0FnQUdvUWdRVkJBQXNhQzlvREFROS9JQUFvQXNRRElRc2dBQ2dDekFKQmYyb2hEQUpBQWtBRFFBSkFJQUFvQXBBQklnSWdBQ2dDbUFFaUEwNEVRQ0FDSUFOSERRRWdBQ2dDbEFFZ0FDZ0NuQUZMRFFFTElBQW9Bc3dES0FJQUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUEwQkRBSUxDd3dCQzBFQUR3c2dBQ2dDSkVFQVNnUkFJQUFvQXRnQklRSURRQ0FDS0FJMEJFQWdBQ2dDQkNnQ0lDRURJQUFnQzBISUFHb2dCRUVDZEdvb0FnQWdBaWdDRENJRklBQW9BcHdCYkNBRlFRQWdBMEVmY1VHaUFtb1JDQUFoRFNBQUtBS2NBU0FNU1FSL0lBSW9BZ3dGSUFJb0FpQWdBaWdDRENJRkVFNGhBeUFESUFVZ0F4c0xJUWtnQUNnQzJBTkJCR29nQkVFQ2RHb29BZ0FoRGlBSlFRQktCRUFnQkVFQ2RDQUJhaWdDQUNFR1FRQWhCeUFDSWdVaUR5Z0NIQ0VEQTBBZ0F3Ui9RUUFoQXlBSFFRSjBJQTFxS0FJQUlRaEJBQ0VLQTM4Z0FDQUNJQWdnQmlBRElBNUJQM0ZCbWdacUVRVUFJQWhCZ0FGcUlRZ2dBeUFQS0FJa2FpRURJQXBCQVdvaUNpQUNLQUljSWhCSkRRQWdFQXNGUVFBTElRTWdCU2dDS0VFQ2RDQUdhaUVHSUFkQkFXb2lCeUFKUncwQUN3c0xJQUpCMkFCcUlRSWdCRUVCYWlJRUlBQW9BaVJJRFFBTEN5QUFJQUFvQXB3QlFRRnFJZ0UyQXB3QlFRTkJCQ0FCSUFBb0Fzd0NTUnNMblFVQkUzOGpCaUVUSXdaQkVHb2tCaUFUSVFZZ0FDZ0N4QU1oQkNBQUtBTFVBa0VBU2dSQVFRQWhBUU5BSUFBb0FnUW9BaUFoQlNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lES0FJTUlRSWdBVUVDZENBR2FpQUFJQVJCeUFCcUlBTW9BZ1JCQW5ScUtBSUFJQUFvQXBRQklBSnNJQUpCQVNBRlFSOXhRYUlDYWhFSUFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKSURRQUxDeUFFS0FJWUlnVWdCQ2dDSENJQlNBUkFBa0FnQkVFZ2FpRU1JQVFvQWhRaEF5QUFLQUxvQWlFQ0EwQUNRQ0FESUFKSkJFQWdBeUVDQTBBZ0FDZ0MxQUlpRFVFQVNnUkFRUUFoQVVFQUlRY0RRQ0FDSUFCQjJBSnFJQWRCQW5ScUtBSUFJZ01vQWpnaUNHd2hEaUFES0FJOElnOUJBRW9FUUNBSFFRSjBJQVpxS0FJQUlSQWdDRUVBU2dSQVFRQWhDUU5BUVFBaEN5QUZJQWxxUVFKMElCQnFLQUlBSUE1QkIzUnFJUW9nQVNFREEwQWdDa0dBQVdvaEVTQURRUUZxSVJJZ0JFRWdhaUFEUVFKMGFpQUtOZ0lBSUF0QkFXb2lDeUFJUndSQUlCRWhDaUFTSVFNTUFRc0xJQUVnQ0dvaEFTQUpRUUZxSWdrZ0QwZ05BQXNMQ3lBSFFRRnFJZ2NnRFVnTkFBc0xJQUFvQXRRREtBSUVJUUVnQUNBTUlBRkJQM0ZCaWdGcUVRSUFSUTBDSUFKQkFXb2lBaUFBS0FMb0FpSUJTUTBBQ3lBQklRSWdCQ2dDSENFQkN5QUVRUUEyQWhRZ0JVRUJhaUlGSUFGT0RRSkJBQ0VEREFFTEN5QUVJQVUyQWhnZ0JDQUNOZ0lVSUFZa0JrRUFEd3NMSUFBZ0FDZ0NsQUZCQVdvaUFqWUNsQUVnQWlBQUtBTE1BaUlGVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0JpUUdRUVFQQ3lBQUtBTEVBeUlCSUFBb0F0UUNRUUZLQkg5QkFRVWdBQ2dDMkFJaUFFRU1haUFBUWN3QWFpQUNJQVZCZjJwSkd5Z0NBQXMyQWh3Z0FVRUFOZ0lVSUFGQkFEWUNHQ0FHSkFaQkF3dWxBd0VMZnlBQUtBTEVBeUlCS0FJUVJRUkFJQUJCQURZQ25BRVBDeUFCQW44Q1FDQUFLQUpRUlEwQUlBQW9BdUFCUlEwQUlBQW9BcUFCUlEwQUlBRW9BbkFpQWdSQUlBQkJKR29oQmdVZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCSUFCQkpHb2lCaWdDQUVFWWJDQUNRVDl4UWNvQmFoRUVBQ0lDTmdKd0N5QUdLQUlBUVFCTURRQWdBQ2dDMkFFaENBTkFJQWdvQWxBaUFVVU5BU0FCTGdFQVJRMEJJQUV1QVFKRkRRRWdBUzRCRUVVTkFTQUJMZ0VnUlEwQklBRXVBUkpGRFFFZ0FTNEJCRVVOQVNBQUtBS2dBU0lCSUFSQkNIUnFLQUlBUVFCSURRRWdBaUFFUVFoMElBRnFJZ01vQWdRMkFnUWdBeWdDQkNFSklBSWdCRUVJZENBQmFpSUZLQUlJTmdJSUlBa2dCU2dDQ0hJaENpQUNJQVJCQ0hRZ0FXb2lCU2dDRERZQ0RDQUtJQVVvQWd4eUlRc2dBaUFFUVFoMElBRnFJZ1VvQWhBMkFoQWdDeUFGS0FJUWNpRURJQUlnQkVFSWRDQUJhaUlCS0FJVU5nSVVRUUVnQnlBRElBRW9BaFJ5R3lFSElBSkJHR29oQWlBSVFkZ0FhaUVJSUFSQkFXb2lCQ0FHS0FJQVNBMEFDeUFIUlEwQVFTb01BUXRCS0FzMkFnd2dBRUVBTmdLY0FRdFNBUUovSUFCQkFEWUNsQUVnQUNnQ3hBTWlBU0FBS0FMVUFrRUJTZ1IvUVFFRklBQW9BdGdDSWdKQnpBQnFJQUpCREdvZ0FDZ0N6QUpCQVVZYktBSUFDellDSENBQlFRQTJBaFFnQVVFQU5nSVlDNndEQVFWL0lBQW9BZ1FvQWdBaEF5QUFJQUJCQVVIMEFDQURRVDl4UWNvQmFoRUVBQ0lDTmdMRUF5QUNRZjBBTmdJQUlBSkIvZ0EyQWdnZ0FrRUFOZ0p3SUFGRkJFQWdBQ2dDQkNnQ0JDRUJJQUlnQUVFQlFZQUtJQUZCUDNGQnlnRnFFUVFBSWdFMkFpQWdBaUFCUVlBQmFqWUNKQ0FDSUFGQmdBSnFOZ0lvSUFJZ0FVR0FBMm8yQWl3Z0FpQUJRWUFFYWpZQ01DQUNJQUZCZ0FWcU5nSTBJQUlnQVVHQUJtbzJBamdnQWlBQlFZQUhhallDUENBQ1FVQnJJQUZCZ0FocU5nSUFJQUlnQVVHQUNXbzJBa1FnQUNnQ3RBTkZCRUFnQVVFQVFZQUtFRVVhQ3lBQ1FkWUFOZ0lFSUFKQktUWUNEQ0FDUVFBMkFoQVBDeUFBS0FJa1FRQktCRUFnQWtISUFHb2hCRUVBSVFNZ0FDZ0MyQUVoQVFOQUlBRW9BZ3dpQlNBRlFRTnNJQUFvQXVBQlJSc2hCU0FBS0FJRUtBSVVJUVlnQTBFQ2RDQUVhaUFBUVFGQkFTQUJLQUljSUFFb0FnZ1ErQUVnQVNnQ0lDQUJLQUlNRVBnQklBVWdCa0UvY1VIR0Ftb1JDZ0EyQWdBZ0FVSFlBR29oQVNBRFFRRnFJZ01nQUNnQ0pFZ05BQXNGSUFKQnlBQnFJUVFMSUFKQjFRQTJBZ1FnQWtFb05nSU1JQUlnQkRZQ0VBdWhBZ0VDZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCd0FFZ0FVRS9jVUhLQVdvUkJBQWlBallDMUFNZ0FrSDdBRFlDQUNBQ1Fmd0FOZ0lJSUFKQlBHb2lBVUlBTndJQUlBRkNBRGNDQ0NBQlFnQTNBaEFnQVVJQU53SVlJQUZDQURjQ0lDQUJRZ0EzQWlnZ0FVSUFOd0l3SUFGQ0FEY0NPQ0FCUVVCclFnQTNBZ0FnQVVJQU53SklJQUZDQURjQ1VDQUJRZ0EzQWxnZ0FVSUFOd0pnSUFGQ0FEY0NhQ0FCUWdBM0FuQWdBVUlBTndKNElBSkI4UUE2QUx3QklBQW9BdUFCUlFSQUR3c2dBQ2dDQkNnQ0FDRUJJQUFnQUVFQklBQW9BaVJCQ0hRZ0FVRS9jVUhLQVdvUkJBQWlBallDb0FFZ0FDZ0NKRUVBVEFSQUR3dEJBQ0VCQTBBZ0FpQUJRUWgwYWtGL1FZQUNFRVVhSUFGQkFXb2lBU0FBS0FJa1NBMEFDd3NxQVFGL0lBQW9BdFFES0FJSUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N6QU5CMUFBMkFnQUxZZ0VCZnlBQUtBTE1BeUlCUWRRQU5nSUFJQUZCQURZQ0VDQUJRUUEyQWhRZ0FVRUJOZ0lZSUFBb0FnQW9BaEFoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FMUUF5Z0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUJCQURZQ29BRUxZd0VCZnlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FCSUFFUVlFRUJhaENBQlNJQ1JRUkFJQUJCQURvQUFBd0JDeUFDUVFGcUlBRnJJZ0pCQVdwQmdCQkxCRUJCQUNFQUJTQUFJQUVnQWhEVkFTQUFJQUpxUVFBNkFBQUxDd1ZCQUNFQUN5QUFDNlVQQVFsL0lBQW9Bc3dESWdRb0FoUUVRRUVDRHdzQ1FBSkFBa0FEUUFKQUlBQW9BdEFES0FJRUlRRUNRQ0FBSUFGQi93QnhRUWhxRVFBQUlnRkJBV3NPQWdBRUJRc0NRQUpBQWtBQ1FBSkFJQVFvQWhnT0FnQUJBZ3NnQkNnQ0VFVUVRQ0FBS0FJQUlnRkJKRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXRRQ0RRWU1Bd3NDUUFKQUlBQW9BaUJCM1A4RFNnMEFJQUFvQWh4QjNQOERTZzBBREFFTElBQW9BZ0FpQVVFcU5nSVVJQUZCM1A4RE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFFaUFVRjRha0VFU3dSQUlBQW9BZ0FpQWtFUU5nSVVJQUlnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BaVFpQVVFS1NnUkFJQUFvQWdBaUFrRWJOZ0lVSUFJZ0FUWUNHQ0FBS0FJQVFRbzJBaHdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFRc2dBRUVCTmdLOEFpQUFRUUUyQXNBQ0lBRkJBRW9FUUVFQUlRY2dBQ2dDMkFFaEFrRUJJUU5CQVNFRkEwQUNmd0pBSUFJaUNDZ0NDQ0lHUVg5cVFRTkxEUUFnQWlnQ0RDSUpRWDlxUVFOTERRQWdDUXdCQ3lBQUtBSUFJZ0ZCRXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3ZBSWhCU0FJS0FJSUlRWWdBQ2dDd0FJaEF5QUFLQUlrSVFFZ0FpZ0NEQXNoQWlBQUlBVWdCaUFGSUFaS0d5SUZOZ0s4QWlBQUlBTWdBaUFESUFKS0d5SUROZ0xBQWlBSVFkZ0FhaUVDSUFkQkFXb2lCeUFCU0EwQUN3c2dBQUovQWtBZ0FDZ0MzQUVOQUFKL0lBQW9BdUFCQkVBZ0FDZ0MxQUlOQWdzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FxQUREb0FDQUJBUUFSQVFFQkFDRUJBUUVCQVFBeEFRRUJBUUVCQVFCQkFRRUJBUUVCQVFFQkFGRUJBUUVCQVFFQkFRRUJBUUJoQVFFQkFRRUJBUUVCQVFFQkFRQnhBUUVCQVFFQkFRRUJBUUVCQVFFQkFJRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ1JBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUNoQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFMRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFEUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFPRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUR4QUxJQUJCQVRZQ3JBTWdBRUdBSERZQ3NBTWdBRUVBTmdLMEEwRUJEQkFMSUFCQkFqWUNyQU1nQUVIQUpUWUNzQU1nQUVFRE5nSzBBMEVDREE4TElBQkJBellDckFNZ0FFSFFKRFlDc0FNZ0FFRUlOZ0swQTBFRERBNExJQUJCQkRZQ3JBTWdBRUhRSXpZQ3NBTWdBRUVQTmdLMEEwRUVEQTBMSUFCQkJUWUNyQU1nQUVHZ0lqWUNzQU1nQUVFWU5nSzBBMEVGREF3TElBQkJCallDckFNZ0FFSFFJRFlDc0FNZ0FFRWpOZ0swQTBFR0RBc0xJQUJCQnpZQ3JBTWdBRUhBSGpZQ3NBTWdBRUV3TmdLMEEwRUhEQW9MSUFCQkNEWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVJREFrTElBQkJDVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFSkRBZ0xJQUJCQ2pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUtEQWNMSUFCQkN6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVMREFZTElBQkJERFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTURBVUxJQUJCRFRZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU5EQVFMSUFCQkRqWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVPREFNTElBQkJEellDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUERBSUxJQUJCRURZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRVFEQUVMSUFBb0FnQWlBVUVSTmdJVUlBRWdBQ2dDbkFNMkFoZ2dBQ2dDQUNBQUtBS2dBellDSENBQUtBSUFJQUFvQXFRRE5nSWdJQUFvQWdBZ0FDZ0NxQU0yQWlRZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FpUWhBU0FBS0FLc0F3c01BUXNnQUVFSU5nS3NBeUFBUVlBY05nS3dBeUFBUVQ4MkFyUURRUWdMSWdJMkFzUUNJQUFnQWpZQ3lBSWdBVUVBU2dSQVFRQWhBU0FBS0FMWUFTRURBMEFnQXlBQ05nSWtJQU1nQWpZQ0tDQURJQUFvQWh3Z0F5Z0NDR3dnQWlBQUtBSzhBbXdRYURZQ0hDQURJQUFvQWlBZ0F5Z0NER3dnQUNnQ3dBSWdBQ2dDckFOc0VHZzJBaUFnQXlBQUtBSWNJQU1vQWdoc0lBQW9BcndDRUdnMkFpd2dBeUFBS0FJZ0lBTW9BZ3hzSUFBb0FzQUNFR2cyQWpBZ0EwRUJOZ0kwSUFOQkFEWUNVQ0FCUVFGcUlnRWdBQ2dDSkVnRVFDQURRZGdBYWlFRElBQW9BcXdESVFJTUFRc0xJQUFvQXF3RElRSUxJQUFnQUNnQ0lDQUFLQUxBQWlBQ2JCQm9OZ0xNQWlBQUtBTFVBaUlCSUFBb0FpUk9CRUFnQUNnQzRBRkZCRUFnQUNnQ3pBTkJBRFlDRUF3REN3c2dBQ2dDekFOQkFUWUNFQXdCQ3lBQUtBTFVBaUVCQ3lBQkRRRWdCRUVDTmdJWUN3d0JDd3NnQkVFQU5nSVlRUUVQQ3lBQUVLY0RRUUVQQ3lBRVFRRTJBaFFnQkNnQ0dBUkFJQUFvQXRBREtBSVFSUVJBUVFJUEN5QUFLQUlBSWdGQlBqWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBRklBQW9BcGdCSUFBb0FwQUJJZ0ZNQkVCQkFnOExJQUFnQVRZQ21BRUxRUUlQQ3lBQkMxMEJBWDhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUFRUndnQVVFL2NVSEtBV29SQkFBaUFEWUN6QU1nQUVIVUFEWUNBQ0FBUWZnQU5nSUVJQUJCK1FBMkFnZ2dBRUg2QURZQ0RDQUFRUUEyQWhBZ0FFRUFOZ0lVSUFCQkFUWUNHQXYvQlFFRWZ5QUFJQUFvQXF3RElnSWdBQ2dDTUd3aUFTQUFLQUkwSWdOTEJIOENmeUFCSUFOQkFYUk5CRUFnQUNBQUtBSWNRUUYwSUFJUWFEWUNjRUVDSVFFZ0FDZ0NJRUVCZEF3QkN5QUJJQU5CQTJ4TkJFQWdBQ0FBS0FJY1FRTnNJQUlRYURZQ2NFRURJUUVnQUNnQ0lFRURiQXdCQ3lBQklBTkJBblJOQkVBZ0FDQUFLQUljUVFKMElBSVFhRFlDY0VFRUlRRWdBQ2dDSUVFQ2RBd0JDeUFCSUFOQkJXeE5CRUFnQUNBQUtBSWNRUVZzSUFJUWFEWUNjRUVGSVFFZ0FDZ0NJRUVGYkF3QkN5QUJJQU5CQm14TkJFQWdBQ0FBS0FJY1FRWnNJQUlRYURZQ2NFRUdJUUVnQUNnQ0lFRUdiQXdCQ3lBQklBTkJCMnhOQkVBZ0FDQUFLQUljUVFkc0lBSVFhRFlDY0VFSElRRWdBQ2dDSUVFSGJBd0JDeUFCSUFOQkEzUk5CRUFnQUNBQUtBSWNRUU4wSUFJUWFEWUNjRUVJSVFFZ0FDZ0NJRUVEZEF3QkN5QUJJQU5CQ1d4TkJFQWdBQ0FBS0FJY1FRbHNJQUlRYURZQ2NFRUpJUUVnQUNnQ0lFRUpiQXdCQ3lBQklBTkJDbXhOQkVBZ0FDQUFLQUljUVFwc0lBSVFhRFlDY0VFS0lRRWdBQ2dDSUVFS2JBd0JDeUFCSUFOQkMyeE5CRUFnQUNBQUtBSWNRUXRzSUFJUWFEWUNjRUVMSVFFZ0FDZ0NJRUVMYkF3QkN5QUJJQU5CREd4TkJFQWdBQ0FBS0FJY1FReHNJQUlRYURZQ2NFRU1JUUVnQUNnQ0lFRU1iQXdCQ3lBQklBTkJEV3hOQkVBZ0FDQUFLQUljUVExc0lBSVFhRFlDY0VFTklRRWdBQ2dDSUVFTmJBd0JDeUFCSUFOQkRteE5CRUFnQUNBQUtBSWNRUTVzSUFJUWFEWUNjRUVPSVFFZ0FDZ0NJRUVPYkF3QkN5QUFLQUljSVFRZ0FTQURRUTlzU3dSL0lBQWdCRUVFZENBQ0VHZzJBbkJCRUNFQklBQW9BaUJCQkhRRklBQWdCRUVQYkNBQ0VHZzJBbkJCRHlFQklBQW9BaUJCRDJ3TEN3VWdBQ0FBS0FJY0lBSVFhRFlDY0VFQklRRWdBQ2dDSUFzZ0FDZ0NyQU1RYURZQ2RDQUFJQUUyQXNRQ0lBQWdBVFlDeUFJZ0FDZ0NKQ0lEUVFCTUJFQVBDMEVBSVFJZ0FDZ0MyQUVoQUFOQUlBQWdBVFlDSkNBQUlBRTJBaWdnQUVIWUFHb2hBQ0FDUVFGcUlnSWdBMGdOQUFzTHRBc0JEMzhqQmlFSUl3WkJNR29rQmlBQUtBTFVBeUVISUFBb0FwZ0NCRUFnQnlnQ0xFVUVRQ0FIS0FJUVFRZ1FPU0VDSUFBb0F0QURJZ1VnQWlBRktBSVlhallDR0NBSFFRQTJBaEFnQlNnQ0NDRUZJQUFnQlVIL0FIRkJDR29SQUFCRkJFQWdDQ1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQlFOQUlBZEJHR29nQlVFQ2RHcEJBRFlDQUNBRlFRRnFJZ1VnQUNnQzFBSklEUUFMQ3lBSFFRQTJBaFFnQnlBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSFFRQTJBaWdMQ3dzZ0NFRVVhaUVHSUFjb0FpaEZCRUFnQUNnQ3NBTWhEeUFBS0FLMEF5RU5JQVlnQURZQ0VDQUdJQUFvQWhnaUJDZ0NBQ0lKTmdJQUlBWWdCQ2dDQkNJRE5nSUVJQWNvQWd3aEJTQUhLQUlRSVFJZ0NDQUhLUUlVTndJQUlBZ2dCeWtDSERjQ0NDQUlJQWNvQWlRMkFoQWdBQ2dDOEFKQkFFb0VRQUpBUVFBaENRSkFBMEFnQ1VFQ2RDQUJhaWdDQUNFS0lBZEI1QUJxSUFsQkFuUnFLQUlBSVFRQ2Z3SkFJQUpCQ0VnRVFDQUdJQVVnQWtFQUVHZEZEUVFnQmlnQ0NDRUZJQVlvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQkVHUUFXb2dCU0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ3dSL0lBTWdCRUdRQ1dwcUxRQUFJUVFnQWlBTGF3VkJDU0VEREFFTERBRUxJQVlnQlNBQ0lBUWdBeENnQVNJRVFRQklEUUlnQmlnQ0NDRUZJQVlvQWd3TElRSWdCMEdNQVdvZ0NVRUNkR29vQWdBaEN5QUVRUUJISVFNQ1FBSkFJQWRCdEFGcUlBbEJBblJxS0FJQUlnNEVRQUpBSUFNRWZ5QUNJQVJJQkVBZ0JpQUZJQUlnQkJCblJRMEhJQVlvQWdnaEJTQUdLQUlNSVFJTElBUkJBblJCOERGcUtBSUFJZ01nQlNBQ0lBUnJJZ0oxY1NJTVFRQWdBeUFNSUFSQkFuUkI3REZxS0FJQVNodHJCVUVBQ3lBSVFRUnFJQUJCOUFKcUlBbEJBblJxS0FJQVFRSjBhaUlES0FJQWFpRUVJQU1nQkRZQ0FDQUtJQVE3QVFBZ0RrRUJTZ1JBUVFFaEJBTkFBbjhDUUNBQ1FRaElCRUFnQmlBRklBSkJBQkJuUlEwS0lBWW9BZ2doQlNBR0tBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBdEJrQUZxSUFVZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlnd0VmeUFESUF0QmtBbHFhaTBBQUNFRElBSWdER3NGUVFraEF3d0JDd3dCQ3lBR0lBVWdBaUFMSUFNUW9BRWlBMEVBU0EwSUlBWW9BZ2doQlNBR0tBSU1DeUVDSUFOQkJIWWhEQ0FEUVE5eElnTUVRQ0FDSUFOSUJFQWdCaUFGSUFJZ0F4Qm5SUTBKSUFZb0FnZ2hCU0FHS0FJTUlRSUxJQVFnREdvaUJFRUNkQ0FQYWlnQ0FFRUJkQ0FLYWlBRFFRSjBRZkF4YWlnQ0FDSU1JQVVnQWlBRGF5SUNkWEVpRUVFQUlBd2dFQ0FEUVFKMFFld3hhaWdDQUVvYmF6c0JBQVVnREVFUFJ3MERJQVJCRDJvaEJBc2dCRUVCYWlJRUlBNUlEUUFMREFNRlFRRWhCQXdEQ3dBTEJTQURCRUFnQWlBRVNBUkFJQVlnQlNBQ0lBUVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFScklRSUxRUUVoQkF3QkN3d0JDeUFFSUExTUJFQURRQUovQWtBZ0FrRUlTQVJBSUFZZ0JTQUNRUUFRWjBVTkJ5QUdLQUlJSVFVZ0JpZ0NEQ0lDUVFoSUJFQkJBU0VEREFJTEN5QUxRWkFCYWlBRklBSkJlR3AxUWY4QmNTSURRUUowYWlnQ0FDSUtCSDhnQXlBTFFaQUphbW90QUFBaEF5QUNJQXByQlVFSklRTU1BUXNNQVFzZ0JpQUZJQUlnQ3lBREVLQUJJZ05CQUVnTkJTQUdLQUlJSVFVZ0JpZ0NEQXNoQWlBRFFRUjJJUW9nQTBFUGNTSURCRUFnQWlBRFNBUkFJQVlnQlNBQ0lBTVFaMFVOQmlBR0tBSUlJUVVnQmlnQ0RDRUNDeUFDSUFOcklRSUZJQXBCRDBjTkEwRVBJUW9MSUFSQkFXb2dDbW9pQkNBTlRBMEFDd3NMSUFsQkFXb2lDU0FBS0FMd0FrZ05BQXNnQUNnQ0dDRUFJQVlvQWdBaEFTQUdLQUlFSVFRTUFRc2dDQ1FHUVFBUEN3VWdCQ0VBSUFraEFTQURJUVFMSUFBZ0FUWUNBQ0FBSUFRMkFnUWdCeUFGTmdJTUlBY2dBallDRUNBSElBZ3BBZ0EzQWhRZ0J5QUlLUUlJTndJY0lBY2dDQ2dDRURZQ0pBc2dCeUFIS0FJc1FYOXFOZ0lzSUFna0JrRUJDNklMQVExL0l3WWhDU01HUVRCcUpBWWdBQ2dDMUFNaEJ5QUFLQUtZQWdSQUlBY29BaXhGQkVBZ0J5Z0NFRUVJRURraEFpQUFLQUxRQXlJRUlBSWdCQ2dDR0dvMkFoZ2dCMEVBTmdJUUlBUW9BZ2doQkNBQUlBUkIvd0J4UVFocUVRQUFSUVJBSUFra0JrRUFEd3NnQUNnQzFBSkJBRW9FUUVFQUlRUURRQ0FIUVJocUlBUkJBblJxUVFBMkFnQWdCRUVCYWlJRUlBQW9BdFFDU0EwQUN3c2dCMEVBTmdJVUlBY2dBQ2dDbUFJMkFpd2dBQ2dDdUFORkJFQWdCMEVBTmdJb0N3c0xJQWxCRkdvaEJTQUhLQUlvUlFSQUlBVWdBRFlDRUNBRklBQW9BaGdpQmlnQ0FDSUtOZ0lBSUFVZ0JpZ0NCQ0lETmdJRUlBY29BZ3doQkNBSEtBSVFJUUlnQ1NBSEtRSVVOd0lBSUFrZ0J5a0NIRGNDQ0NBSklBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ2dKQUEwQWdDa0VDZENBQmFpZ0NBQ0VOSUFkQjVBQnFJQXBCQW5ScUtBSUFJUVlDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRUWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCa0dRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0JrR1FDV3BxTFFBQUlRWWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFZZ0F4Q2dBU0lHUVFCSURRSWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0IwR01BV29nQ2tFQ2RHb29BZ0FoQ3lBR1FRQkhJUU1DUUFKQUlBZEJ0QUZxSUFwQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwSElBVW9BZ2doQkNBRktBSU1JUUlMSUFaQkFuUkI4REZxS0FJQUlnTWdCQ0FDSUFacklnSjFjU0lJUVFBZ0F5QUlJQVpCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFKUVFScUlBQkI5QUpxSUFwQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFR0lBTWdCallDQUNBTklBWTdBUUFnRGtFQlNnUkFRUUVoQmdOQUFuOENRQ0FDUVFoSUJFQWdCU0FFSUFKQkFCQm5SUTBLSUFVb0FnZ2hCQ0FGS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVFnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdnRWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0NHc0ZRUWtoQXd3QkN3d0JDeUFGSUFRZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFVb0FnZ2hCQ0FGS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdnRVFDQUNJQWhJQkVBZ0JTQUVJQUlnQ0JCblJRMEpJQVVvQWdnaEJDQUZLQUlNSVFJTElBWWdER29pQTBFQ2RFR0FIR29vQWdCQkFYUWdEV29nQ0VFQ2RFSHdNV29vQWdBaUJpQUVJQUlnQ0dzaUFuVnhJZ3hCQUNBR0lBd2dDRUVDZEVIc01Xb29BZ0JLRzJzN0FRQUZJQXhCRDBjTkF5QUdRUTlxSVFNTElBTkJBV29pQmlBT1NBMEFDeUFEUVQ5SURRTUZRUUVoQmd3REN3c0ZJQU1FUUNBQ0lBWklCRUFnQlNBRUlBSWdCaEJuUlEwR0lBVW9BZ2doQkNBRktBSU1JUUlMSUFJZ0Jtc2hBZ3RCQVNFR0RBRUxEQUVMQTBBQ2Z3SkFJQUpCQ0VnRVFDQUZJQVFnQWtFQUVHZEZEUVlnQlNnQ0NDRUVJQVVvQWd3aUFrRUlTQVJBUVFFaEF3d0NDd3NnQzBHUUFXb2dCQ0FDUVhocWRVSC9BWEVpQTBFQ2RHb29BZ0FpQ0FSL0lBTWdDMEdRQ1dwcUxRQUFJUU1nQWlBSWF3VkJDU0VEREFFTERBRUxJQVVnQkNBQ0lBc2dBeENnQVNJRFFRQklEUVFnQlNnQ0NDRUVJQVVvQWd3TElRSWdBMEVFZGlFSUlBTkJEM0VpQXdSQUlBSWdBMGdFUUNBRklBUWdBaUFERUdkRkRRVWdCU2dDQ0NFRUlBVW9BZ3doQWdzZ0FpQURheUVDQlNBSVFROUhEUUpCRHlFSUN5QUdRUUZxSUFocUlnWkJ3QUJJRFFBTEN5QUtRUUZxSWdvZ0FDZ0M4QUpJRFFBTElBQW9BaGdoQUNBRktBSUFJUUVnQlNnQ0JDRUdEQUVMSUFra0JrRUFEd3NGSUFZaEFDQUtJUUVnQXlFR0N5QUFJQUUyQWdBZ0FDQUdOZ0lFSUFjZ0JEWUNEQ0FISUFJMkFoQWdCeUFKS1FJQU53SVVJQWNnQ1NrQ0NEY0NIQ0FISUFrb0FoQTJBaVFMSUFjZ0J5Z0NMRUYvYWpZQ0xDQUpKQVpCQVF1ZUNnRVJmeU1HSVFVakJrR2dBbW9rQmlBQUtBTFVBeUVJSUFBb0FwZ0NCRUFnQ0NnQ0xFVUVRQ0FJS0FJUVFRZ1FPU0VFSUFBb0F0QURJZ0lnQkNBQ0tBSVlhallDR0NBSVFRQTJBaEFnQWlnQ0NDRUNJQUFnQWtIL0FIRkJDR29SQUFCRkJFQWdCU1FHUVFBUEN5QUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBaEJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBSVFRQTJBaFFnQ0NBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBSVFRQTJBaWdMQ3dzZ0JVR0FBbW9oQnlBRklRb2dDQ2dDS0VVRVFBSkFJQUFvQXFBRElRNUJBU0FBS0FLb0F5SUNkQ0VMUVg4Z0FuUWhEeUFBS0FLd0F5RVFJQWNnQURZQ0VDQUhJQUFvQWhnaUFpZ0NBRFlDQUNBSElBSW9BZ1EyQWdRZ0NDZ0NEQ0VGSUFnb0FoQWhCQ0FCS0FJQUlRMGdDRUZBYXlnQ0FDRU1JQUFvQXB3RElRSUNRQUovQWtBZ0NDZ0NGQ0lKRFFCQkFDRUJBa0FEUUFKQUFuOENRQ0FFUVFoSUJFQWdCeUFGSUFSQkFCQm5SUTBGSUFjb0FnZ2hCU0FIS0FJTUlnUkJDRWdFUUVFQklRTU1BZ3NMSUF4QmtBRnFJQVVnQkVGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQXhCa0FscWFpMEFBQ0VHSUFRZ0NXc0ZRUWtoQXd3QkN3d0JDeUFISUFVZ0JDQU1JQU1Rb0FFaUJrRUFTQTBESUFjb0FnZ2hCU0FIS0FJTUN5RUVJQVpCQkhZaEF3Si9Ba0FDUUFKQUlBWkJEM0VPQWdBQ0FRc2dBMEVQUncwRElBUWhCa0VBREFJTElBQW9BZ0FpQmtINUFEWUNGQ0FHS0FJRUlRWWdBRUYvSUFaQlAzRkJzZ1ZxRVFNQUN5QUVRUUZJQkVBZ0J5QUZJQVJCQVJCblJRMEVJQWNvQWd3aEJDQUhLQUlJSVFVTElBc2dEeUFGUVFFZ0JFRi9haUlHZEhFYkN5RUpJQU1oQkNBQ0lRTWdCaUVDQTM4Q2Z5QURRUUowSUJCcUtBSUFRUUYwSUExcUlnWXVBUUFFUUNBQ1FRRklCRUFnQnlBRklBSkJBUkJuUlEwR0lBY29BZ3doQWlBSEtBSUlJUVVMSUFWQkFTQUNRWDlxSWdKMGNRUkFJQVl1QVFBaUVpSVJJQXR4UlFSQUlCSkJmMG9FUUNBR0lBc2dFV283QVFBRklBWWdEeUFSYWpzQkFBc0xDd1VnQkVGL2FpRUdJQVJCQVVnRWZ5QUNEQUlGSUFZTElRUUxJQU5CQVdvaEJpQURJQTVJQkg4Z0JpRUREQUlGSUFZaEF5QUNDd3NMSVFRZ0NRUkFJQU5CQW5RZ0VHb29BZ0FpQWtFQmRDQU5haUFKT3dFQUlBRkJBblFnQ21vZ0FqWUNBQ0FCUVFGcUlRRUxJQU5CQVdvaEFpQURJQTVJRFFFZ0JDRUJRUUFNQkFzTFFRRWdBM1FoQmlBREJFQWdCQ0FEU0FSQUlBY2dCU0FFSUFNUVowVU5BaUFIS0FJTUlRUWdCeWdDQ0NFRkN5QUdJQU5CQW5SQjhERnFLQUlBSUFVZ0JDQURheUlFZFhGcUlna0VRQ0FCSVFZTUF3VWdCQ0VCUVFBTUJBc0FCVUVCSVFrZ0FTRUdEQUlMQUFzTUFnc2dBaUVESUFRaEFTQUZJUUlEUUNBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdVdUFRQUVRQ0FCUVFGSUJFQWdCeUFDSUFGQkFSQm5SUVJBSUFZaEFRd0ZDeUFIS0FJTUlRRWdCeWdDQ0NFQ0N5QUNRUUVnQVVGL2FpSUJkSEVFUUNBRkxnRUFJZ3dpQkNBTGNVVUVRQ0FNUVg5S0JFQWdCU0FFSUF0cU93RUFCU0FGSUFRZ0QybzdBUUFMQ3dzTElBTkJBV29oQlNBRElBNUlCRUFnQlNFRERBRUxDeUFDSVFVZ0NVRi9hZ3NoQXlBQUtBSVlJZ0FnQnlnQ0FEWUNBQ0FBSUFjb0FnUTJBZ1FnQ0NBRk5nSU1JQWdnQVRZQ0VDQUlJQU0yQWhRTUFRc2dBVVVFUUNBS0pBWkJBQThMQTBBZ0FVRi9haUlCUVFKMElBcHFLQUlBUVFGMElBMXFRUUE3QVFBZ0FRMEFDeUFLSkFaQkFBOExDeUFJSUFnb0FpeEJmMm8yQWl3Z0NpUUdRUUVMT2dBQ2Z3SkFBa0FDUUFKQUFrQWdBQTRQQUFBQkFRRUNBUU1EQXdNREFnSUNCQXRCQXd3RUMwRUVEQU1MUVFFTUFndEJBZ3dCQzBFQUN3dkVBd0VJZnlNR0lRUWpCa0VnYWlRR0lBQW9BdFFESVFJZ0FDZ0NtQUlFUUNBQ0tBSXNSUVJBSUFJb0FoQkJDQkE1SVFNZ0FDZ0MwQU1pQlNBRElBVW9BaGhxTmdJWUlBSkJBRFlDRUNBRktBSUlJUU1nQUNBRFFmOEFjVUVJYWhFQUFFVUVRQ0FFSkFaQkFBOExJQUFvQXRRQ1FRQktCRUJCQUNFREEwQWdBa0VZYWlBRFFRSjBha0VBTmdJQUlBTkJBV29pQXlBQUtBTFVBa2dOQUFzTElBSkJBRFlDRkNBQ0lBQW9BcGdDTmdJc0lBQW9BcmdEUlFSQUlBSkJBRFlDS0FzTEN5QUVJZ1lnQURZQ0VDQUdJQUFvQWhnaUJ5Z0NBQ0lJTmdJQUlBWWdCeWdDQkNJRk5nSUVJQUlvQWd3aEF5QUNLQUlRSVFSQkFTQUFLQUtvQTNRaENTQUFLQUx3QWtFQVNnUkFBa0JCQUNFRkFrQURRQ0FFUVFGSUJFQWdCaUFESUFSQkFSQm5SUTBDSUFZb0Fnd2hCQ0FHS0FJSUlRTUxJQU5CQVNBRVFYOXFJZ1IwY1FSQUlBVkJBblFnQVdvb0FnQWlDQ0FKSUFndkFRQnlPd0VBQ3lBRlFRRnFJZ1VnQUNnQzhBSklEUUFMSUFBb0FoZ2hCeUFHS0FJQUlRZ2dCaWdDQkNFRkRBRUxJQVlrQmtFQUR3c0xJQWNnQ0RZQ0FDQUhJQVUyQWdRZ0FpQUROZ0lNSUFJZ0JEWUNFQ0FDSUFJb0FpeEJmMm8yQWl3Z0JpUUdRUUVMdGdZQkRIOGpCaUVFSXdaQklHb2tCaUFBS0FMVUF5RUZBa0FnQUNnQ21BSUVRQ0FGS0FJc1JRUkFJQVVvQWhCQkNCQTVJUVlnQUNnQzBBTWlBaUFHSUFJb0FoaHFOZ0lZSUFWQkFEWUNFQ0FDS0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFpQUFLQUxVQWtFQVNnUkFRUUFoQWdOQUlBVkJHR29nQWtFQ2RHcEJBRFlDQUNBQ1FRRnFJZ0lnQUNnQzFBSklEUUFMQ3lBRlFRQTJBaFFnQlNBQUtBS1lBallDTENBQUtBSzRBMFVFUUNBRlFRQTJBaWdMQ3dzZ0JTZ0NLRVVFUUNBRktBSVVJZ0lFUUNBQ1FYOXFJUU1GSUFRZ0FEWUNFQ0FFSUFBb0FoZ2lBaWdDQURZQ0FDQUVJQUlvQWdRMkFnUWdCU2dDRENFR0lBVW9BaEFoQWlBQUtBS29BeUVLSUFBb0FyQURJUXNnQVNnQ0FDRU1JQVZCUUdzb0FnQWhDQ0FBS0FLY0F5SURJQUFvQXFBRElnMUtCRUJCQUNFRElBWWhBUVVDUUNBR0lRRWdBeUVHQWtBRFFBSkFBbjhDUUNBQ1FRaElCRUFnQkNBQklBSkJBQkJuUlEwRklBUW9BZ2doQVNBRUtBSU1JZ0pCQ0VnRVFFRUJJUU1NQWdzTElBaEJrQUZxSUFFZ0FrRjRhblZCL3dGeElnTkJBblJxS0FJQUlna0VmeUFESUFoQmtBbHFhaTBBQUNFSElBSWdDV3NGUVFraEF3d0JDd3dCQ3lBRUlBRWdBaUFJSUFNUW9BRWlCMEVBU0EwRElBUW9BZ2doQVNBRUtBSU1DeUVDSUFkQkJIWWhBeUFIUVE5eElnY0VRQ0FDSUFkSUJFQWdCQ0FCSUFJZ0J4Qm5SUTBFSUFRb0Fnd2hBaUFFS0FJSUlRRUxJQU1nQm1vaUEwRUNkQ0FMYWlnQ0FFRUJkQ0FNYWlBSFFRSjBRZkF4YWlnQ0FDSUdJQUVnQWlBSGF5SUNkWEVpQ1VFQUlBWWdDU0FIUVFKMFFld3hhaWdDQUVvYmF5QUtkRHNCQUFVQ1FDQURCRUFnQTBFUFJnUkFEQUlGREFRTEFBdEJBQ0VEREFVTElBWkJEMm9oQXdzZ0EwRUJhaUVHSUFNZ0RVZ05BVUVBSVFNTUF3c0xJQUlnQTBnRVFDQUVJQUVnQWlBREVHZEZEUVlnQkNnQ0RDRUNJQVFvQWdnaEFRdEJBU0FEZEVGL2FpQURRUUowUWZBeGFpZ0NBQ0FCSUFJZ0Eyc2lBblZ4YWlFRERBRUxEQVFMQ3lBQUtBSVlJZ0FnQkNnQ0FEWUNBQ0FBSUFRb0FnUTJBZ1FnQlNBQk5nSU1JQVVnQWpZQ0VBc2dCU0FETmdJVUN5QUZJQVVvQWl4QmYybzJBaXdnQkNRR1FRRVBDeUFFSkFaQkFBdVdCZ0VOZnlNR0lRUWpCa0V3YWlRR0lBQW9BdFFESVFJZ0FDZ0NxQU1oQ3lBQUtBS1lBZ1JBSUFJb0FpeEZCRUFnQWlnQ0VFRUlFRGtoQXlBQUtBTFFBeUlJSUFNZ0NDZ0NHR28yQWhnZ0FrRUFOZ0lRSUFnb0FnZ2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRUkFJQVFrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFNRFFDQUNRUmhxSUFOQkFuUnFRUUEyQWdBZ0EwRUJhaUlESUFBb0F0UUNTQTBBQ3dzZ0FrRUFOZ0lVSUFJZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0FrRUFOZ0lvQ3dzTElBUkJGR29oQmlBRUlRa2dBaWdDS0VVRVFDQUdJQUEyQWhBZ0JpQUFLQUlZSWdjb0FnQWlCVFlDQUNBR0lBY29BZ1FpQ0RZQ0JDQUNLQUlNSVFNZ0FpZ0NFQ0VFSUFrZ0Fpa0NGRGNDQUNBSklBSXBBaHczQWdnZ0NTQUNLQUlrTmdJUUlBQW9BdkFDUVFCS0JFQUNRRUVBSVFnQ1FBTkFJQWhCQW5RZ0FXb29BZ0FoRGlBQ1FUQnFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWcxQkFuUnFLQUlBS0FJVVFRSjBhaWdDQUNFS0FuOENRQ0FFUVFoSUJFQWdCaUFESUFSQkFCQm5SUTBFSUFZb0FnZ2hBeUFHS0FJTUlnUkJDRWdFUUVFQklRVU1BZ3NMSUFwQmtBRnFJQU1nQkVGNGFuVkIvd0Z4SWdWQkFuUnFLQUlBSWdjRWZ5QUZJQXBCa0FscWFpMEFBQ0VGSUFRZ0Iyc0ZRUWtoQlF3QkN3d0JDeUFHSUFNZ0JDQUtJQVVRb0FFaUEwRUFTQTBDSUFNaEJTQUdLQUlJSVFNZ0JpZ0NEQXNoQkNBRkJIOGdCQ0FGU0FSQUlBWWdBeUFFSUFVUVowVU5BeUFHS0FJTUlRUWdCaWdDQ0NFREN5QUZRUUowUWZBeGFpZ0NBQ0lLSUFNZ0JDQUZheUlFZFhFaUIwRUFJQW9nQnlBRlFRSjBRZXd4YWlnQ0FFb2Jhd1ZCQUFzZ0NVRUVhaUFOUVFKMGFpSUZLQUlBYWlFSElBVWdCellDQUNBT0lBY2dDM1E3QVFBZ0NFRUJhaUlJSUFBb0F2QUNTQTBBQ3lBQUtBSVlJUWNnQmlnQ0FDRUZJQVlvQWdRaENBd0JDeUFKSkFaQkFBOExDeUFISUFVMkFnQWdCeUFJTmdJRUlBSWdBellDRENBQ0lBUTJBaEFnQWlBSktRSUFOd0lVSUFJZ0NTa0NDRGNDSENBQ0lBa29BaEEyQWlRTElBSWdBaWdDTEVGL2FqWUNMQ0FKSkFaQkFRc3ZBUUovSUFBb0F0UURJZ0VvQWhCQkNCQTVJUUlnQUNnQzBBTWlBQ0FDSUFBb0FoaHFOZ0lZSUFGQkFEWUNFQXZzREFFSWZ5QUFLQUxVQXlFRUlBQW9BcHdESWdKRklRTUNRQ0FBS0FMZ0FVVUVRQUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDM0FFZ0FDZ0NvQU1pQVVIQUFFaHlCRUFnQUNnQ3RBTWdBVWNOQVFzTUFRc2dBQ2dDQUNJQlFmMEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QUxJQVJCSmtFbklBQW9BclFEUVQ5R0d6WUNCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUJCQVNBQVFkZ0NhaUFCUVFKMGFpZ0NBQ0lDS0FJVUlnTWdCRUhFQUdvZ0EwRUNkR29RK1FFZ0FDZ0N0QU1FUUNBQVFRQWdBaWdDR0NJQ0lBUkIxQUJxSUFKQkFuUnFFUGtCQ3lBRVFSaHFJQUZCQW5ScVFRQTJBZ0FnQVVFQmFpSUJJQUFvQXRRQ1NBMEFDd3NnQUNnQzhBSkJBRXdOQVVFQUlRRURRQ0FFUWVRQWFpQUJRUUowYWlBRVFjUUFhaUFBUWRnQ2FpQUFRZlFDYWlBQlFRSjBhaWdDQUVFQ2RHb29BZ0FpQXlnQ0ZFRUNkR29vQWdBMkFnQWdCRUdNQVdvZ0FVRUNkR29nQkVIVUFHb2dBeWdDR0VFQ2RHb29BZ0EyQWdBZ0JFRzBBV29nQVVFQ2RHb2dBeWdDTkFSL0FuOGdBeWdDS0NFQ0lBTW9BaVFoQXdKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQUNnQ3RBTU9NUUFIQndFSEJ3Y0hBZ2NIQndjSEJ3TUhCd2NIQndjSEJ3UUhCd2NIQndjSEJ3Y0hCUWNIQndjSEJ3Y0hCd2NIQndZSEMwRUJEQWNMSUFKQkFVZEJBM1JCb0N0cUlBTkJBVWRCQW5ScUtBSUFRUUZxREFZTElBSkJmMm9pQWtFQ0lBSkJBa2tiUVF4c1FiQXJhaUFEUVg5cUlnSkJBaUFDUVFKSkcwRUNkR29vQWdCQkFXb01CUXNnQWtGL2FpSUNRUU1nQWtFRFNSdEJCSFJCNEN0cUlBTkJmMm9pQWtFRElBSkJBMGtiUVFKMGFpZ0NBRUVCYWd3RUN5QUNRWDlxSWdKQkJDQUNRUVJKRzBFVWJFR2dMR29nQTBGL2FpSUNRUVFnQWtFRVNSdEJBblJxS0FJQVFRRnFEQU1MSUFKQmYyb2lBa0VGSUFKQkJVa2JRUmhzUVpBdGFpQURRWDlxSWdKQkJTQUNRUVZKRzBFQ2RHb29BZ0JCQVdvTUFnc2dBa0YvYWlJQ1FRWWdBa0VHU1J0QkhHeEJvQzVxSUFOQmYyb2lBa0VHSUFKQkJra2JRUUowYWlnQ0FFRUJhZ3dCQ3lBQ1FYOXFJZ0pCQnlBQ1FRZEpHMEVGZEVId0wyb2dBMEYvYWlJQ1FRY2dBa0VIU1J0QkFuUnFLQUlBUVFGcUN3VkJBQXMyQWdBZ0FVRUJhaUlCSUFBb0F2QUNTQTBBQ3d3QkN5QUFLQUtnQXlFQkFrQUNRQ0FEQkVBZ0FRMEJCU0FCSUFKSURRRWdBU0FBS0FLMEEwb05BU0FBS0FMVUFrRUJSdzBCQ3lBQUtBS2tBeUlCQkVBZ0FVRi9haUlCSUFBb0FxZ0RSdzBCQlNBQUtBS29BeUVCQ3lBQlFRMUtEUUFNQVFzZ0FDZ0NBQ0lCUVJFMkFoUWdBU0FDTmdJWUlBQW9BZ0FnQUNnQ29BTTJBaHdnQUNnQ0FDQUFLQUtrQXpZQ0lDQUFLQUlBSUFBb0FxZ0ROZ0lrSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSWlBVUVBU2dSL0lBQkJwQU5xSVFWQkFDRUNBMzhnQUVIWUFtb2dBa0VDZEdvb0FnQW9BZ1FoQmlBQUtBS2dBU0VJSUFBb0Fwd0RJZ0VFUUNBR1FRaDBJQWhxS0FJQVFRQklCRUFnQUNnQ0FDSUJRZllBTmdJVUlBRWdCallDR0NBQUtBSUFRUUEyQWh3Z0FDZ0NBQ2dDQkNFQklBQkJmeUFCUVQ5eFFiSUZhaEVEQUNBQUtBS2NBeUVCQ3dWQkFDRUJDeUFCSUFBb0FxQURUQVJBQTBBZ0JTZ0NBQ0FHUVFoMElBaHFJQUZCQW5ScUlnTW9BZ0FpQjBFQUlBZEJBRW9iUndSQUlBQW9BZ0FpQjBIMkFEWUNGQ0FISUFZMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhCeUFBUVg4Z0IwRS9jVUd5QldvUkF3QUxJQU1nQUNnQ3FBTTJBZ0FnQVVFQmFpRURJQUVnQUNnQ29BTklCRUFnQXlFQkRBRUxDd3NnQWtFQmFpSUNJQUFvQXRRQ0lnRklEUUFnQlFzRklBQkJwQU5xQ3lFQ0lBUkJJa0VqSUFBb0Fwd0RJZ05GSWdVYlFTUkJKU0FGR3lBQ0tBSUFSUnMyQWdRZ0FVRUFTZ1JBQWtBZ0JFRkFheUVHUVFBaEFRTkFJQUJCMkFKcUlBRkJBblJxS0FJQUlRVWdBd1JBSUFSQk1Hb2dCU2dDR0NJRlFRSjBhaUVESUFCQkFDQUZJQU1RK1FFZ0JpQURLQUlBTmdJQUJTQUNLQUlBUlFSQUlBQkJBU0FGS0FJVUlnTWdCRUV3YWlBRFFRSjBhaEQ1QVFzTElBUkJHR29nQVVFQ2RHcEJBRFlDQUNBQlFRRnFJZ0VnQUNnQzFBSk9EUUVnQUNnQ25BTWhBd3dBQUFzQUN3c2dCRUVBTmdJVUlBUkJBRFlDRUNBRVFRQTJBZ3dnQkVFQU5nSW9JQVFnQUNnQ21BSTJBaXdQQ3lBRVFRQTJBaEFnQkVFQU5nSU1JQVJCQURZQ0tDQUVJQUFvQXBnQ05nSXNDOWNCQVFOL0lBQW9BZ1FvQWdBaEFpQUFJQUJCQVVIY0FTQUNRVDl4UWNvQmFoRUVBQ0lCTmdMVUF5QUJRZllBTmdJQUlBRkI5d0EyQWdnZ0FDZ0M0QUZGQkVBZ0FVSUFOd0pFSUFGQ0FEY0NUQ0FCUVFBMkFsUWdBVUVBTmdKWUlBRkJBRFlDWENBQlFRQTJBbUFQQ3lBQUtBSUVLQUlBSVFJZ0FDQUFRUUVnQUNnQ0pFRUlkQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nS2dBU0FBS0FJa1FRQktCRUJCQUNFQ0EwQWdBeUFDUVFoMGFrRi9RWUFDRUVVYUlBSkJBV29pQWlBQUtBSWtTQTBBQ3dzZ0FVSUFOd0l3SUFGQ0FEY0NPQXZEQWdFSmZ5QUFLQUs0QXlFQ0lBQW9BZ0FpQTBIOEFEWUNGQ0FESUFJMkFoZ2dBQ2dDQUNBQk5nSWNJQUFvQWdBb0FnUWhBeUFBUVg4Z0EwRS9jVUd5QldvUkF3QWdBVUVCYWtFSGNVSFFBWEloQkNBQlFRSnFRUWR4UWRBQmNpRUZJQUZCQjJwQkIzRkIwQUZ5SVFZZ0FVRUdha0VIY1VIUUFYSWhCd0pBQTBBQ1FDQUNRY0FCU0NFSUlBSWdCRVlnQWtGNGNVSFFBVWR5SUFJZ0JVWnlJUWxCQWtFQklBSWdCa1lnQWlBSFJuSWJJUW9EUUFKQUlBQW9BZ0FpQVVIakFEWUNGQ0FCSUFJMkFoZ2dBQ2dDQUVFQ1FRTWdDaUFKR3lBSUd5SUROZ0ljSUFBb0FnQW9BZ1FoQVNBQVFRUWdBVUUvY1VHeUJXb1JBd0FDUUFKQUlBTkJBM0ZCQVdzT0F3UUNBQUVMUVFFaEFBd0ZDd3dCQ3dzZ0FCQ3hBZ1JBSUFBb0FyZ0RJUUlNQWdWQkFDRUFEQU1MQUFzTElBQkJBRFlDdUFOQkFROExJQUFMWWdFRGZ5QUFLQUlZSVFJZ0FVRUFUQVJBRHdzZ0FpZ0NCQ0lESUFGSUJFQURRQ0FDS0FJTUlRUWdBQ0FFUWY4QWNVRUlhaEVBQUJvZ0FTQURheUlCSUFJb0FnUWlBMG9OQUFzTElBSWdBU0FDS0FJQWFqWUNBQ0FDSUFNZ0FXczJBZ1FMN3dFQkJIOUJCRUVFRUlzQklRUURRQ0FDUVFOSEJFQWdBa0VDZENFRlFRQWhBd05BSUFOQkJFY0VRQ0FFS0FJQUlBTWdCV3BCQTNScUlBSkJCSFFnQUdvZ0EwRUNkR29xQWdDN09RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRWRDQUJhaUFDUVFKMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQXRqZ0NBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3dzZ0JCQkpDNzBCQVFOL0lBQW9BaGdpQVNnQ0lFRUJRWUFnSUFFb0Fod1FZU0lDQkVBZ0FTQUJLQUlnTmdJQUlBRWdBallDQkNBQlFRQTJBaVJCQVE4TElBRW9BaVFFUUNBQUtBSUFJZ0pCS3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMQW44Z0FDRURJQUFvQWdBaUFFSDdBRFlDRkNBQUtBSUVJUUFnQXd0QmZ5QUFRVDl4UWJJRmFoRURBQ0FCS0FJZ1FYODZBQUFnQVNnQ0lFRlpPZ0FCSUFFZ0FTZ0NJRFlDQUNBQlFRSTJBZ1FnQVVFQU5nSWtRUUVMREFBZ0FDZ0NHRUVCTmdJa0M1WUJBUUovSUFBb0FoZ2lBa1VFUUNBQUtBSUVLQUlBSVFJZ0FDQUFRUUJCS0NBQ1FUOXhRY29CYWhFRUFDSUROZ0lZSUFBb0FnUW9BZ0FoQWlBRElBQkJBRUdBSUNBQ1FUOXhRY29CYWhFRUFEWUNJQ0FBS0FJWUlRSUxJQUpCOUFBMkFnZ2dBa0hUQURZQ0RDQUNRUzgyQWhBZ0FrRWhOZ0lVSUFKQjlRQTJBaGdnQWlBQk5nSWNJQUpCQURZQ0JDQUNRUUEyQWdBTDZna0JFbjhqQmlFVEl3WkJnQUpxSkFZZ0FDZ0MwQUloRmlBVElnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFCS0FJQUlBSXVBUUJCQW5Sc0lnVTJBZ0FnQmlBRk5nSWdJQVpCUUdzZ0JUWUNBQ0FHSUFVMkFtQWdCaUFGTmdLQUFTQUdJQVUyQXFBQklBWWdCVFlDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lJSUFJdUFUQWdBU2dDWUd3aUMyb2lEQ0FDTGdGUUlBRW9BcUFCYkNJTklBY2dBU2dDSUd3aUIyb2lDbXBCb2NzQWJDSU9JQXhCdTRKL2JHb2lEQ0FISUFocVFiTkdiQ0lRSUFoQmpoTnNhbW9oQ0NBT0lBcEJoR2RzYWlJS0lCQWdCMEdMNEFCc2Ftb2hCeUFLSUFzZ0RXcEIvZHQrYkNJS0lBMUJzNE1CYkdwcUlRMGdCaUFISUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc0Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUVHb2lFU0FCUVVCcktBSUFJQVZCRUhSQkVIVnNJZ1VnQWk0QllDQUJLQUxBQVd3aUVtcEIwU0pzSWhRZ0JVSCtNR3hxSWdWcUloVnFRUXQxTmdJQUlBWWdGU0FIYTBFTGRUWUM0QUVnQmlBTUlBb2dDMEhVeEFGc2Ftb2lDeUFRSUE1cklnY2dGQ0FTUWQrSmYyeHFJZ3hxSWdwcVFRdDFOZ0lnSUFZZ0NpQUxhMEVMZFRZQ3dBRWdCa0ZBYXlBTklBY2dER3NpQzJwQkMzVTJBZ0FnQmlBTElBMXJRUXQxTmdLZ0FTQUdJQWdnRVNBRmF5SUZha0VMZFRZQ1lDQUZJQWhyUVF0MUlRVkJJQXRCQW5RZ0Jtb2dCVFlDQUNBR1FRUnFJUVlnQVVFRWFpRUJJQUpCQW1vaEFpQUpRWDlxSVFVZ0NVRUJTd1JBSUFVaENRd0JDd3NnRmtHQWZXb2hDVUVBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSVFZZ0FDZ0NBRUdRZ0FGcUlRVUNRQUpBSUFBb0FnUWlDQ0FBS0FJSUlnSnlEUUFnQUNnQ0RBUkFRUUFoQWd3QkJTQUFLQUlRQkVCQkFDRUNEQUlGSUFBb0FoUUVRRUVBSVFJTUF3VWdBQ2dDR0FSQVFRQWhBZ3dFQlNBQUtBSWNCRUJCQUNFQ0RBVUZJQVlnQ1NBRlFRVjJRZjhIY1dvc0FBQWlBam9BQUNBR1FRRnFJQUpCQnhCRkdnc0xDd3NMREFFTElBQW9BaHdpQ3lBQUtBSU1JZzFxSWc4Z0NDQUFLQUlVSWdkcUlneHFRYUhMQUd3aUNpQVBRYnVDZjJ4cUlnOGdDQ0FMYWtHelJtd2lEaUFMUVk0VGJHcHFJUXNnQ2lBTVFZUm5iR29pRENBT0lBaEJpK0FBYkdwcUlRZ2dEQ0FISUExcVFmM2JmbXdpRENBSFFiT0RBV3hxYWlFSElBWWdDU0FGSUFBb0FoQWlDbXBCRFhRaURpQUFLQUlZSWhBZ0FtcEIwU0pzSWhFZ0FrSCtNR3hxSWdKcUloSWdDR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWtnRWlBSWEwRVNka0gvQjNGcUxBQUFPZ0FISUFZZ0NTQUZJQXByUVExMElnVWdFU0FRUWQrSmYyeHFJZ2hxSWdvZ0R5QU1JQTFCMU1RQmJHcHFJZzFxUVJKMlFmOEhjV29zQUFBNkFBRWdCaUFKSUFvZ0RXdEJFblpCL3dkeGFpd0FBRG9BQmlBR0lBa2dCU0FJYXlJRklBZHFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JpQUpJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCU0FHSUFrZ0RpQUNheUlDSUF0cVFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSklBSWdDMnRCRW5aQi93ZHhhaXdBQURvQUJBc2dBRUVnYWlFQUlBRkJBV29pQVVFSVJ3MEFDeUFUSkFZTE5BQWdCQ0FES0FJQWFpQUFLQUxRQWtHQWZXb2dBaTRCQUNBQktBSlVLQUlBYkVHRUlHcEJBM1pCL3dkeGFpd0FBRG9BQUF2REFRRUZmeUFFSUFNb0FnQnFJZ1VnQUNnQzBBSkJnSDFxSWdBZ0FpNEJFQ0FCS0FKVUlnRW9BaUJzSWdZZ0FpNEJBQ0FCS0FJQWJFR0VJR29pQjJvaUNDQUNMZ0VDSUFFb0FnUnNJZ2tnQWk0QkVpQUJLQUlrYkNJQmFpSUNha0VEZGtIL0IzRnFMQUFBT2dBQUlBVWdDQ0FDYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUVnQkNBREtBSUVhaUlDSUFjZ0Jtc2lBeUFKSUFGcklnRnFRUU4yUWY4SGNTQUFhaXdBQURvQUFDQUNJQU1nQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzZnRkFRbC9Jd1loQlNNR1FUQnFKQVlnQUNnQzBBSWhDQ0FGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lIYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkU0lMTmdJQUlBVWdBU0FBYTBFTGRUWUNHQ0FGSUFrZ0IwRitiR3BCQzNVMkFnd2dCU0FHS0FJRUlBSXVBUUpCRFhSc1FZQUljaUlKSUFZb0FrUWdBaTRCSWtHaExXeHNJZ2RxSWdFZ0JpZ0NKQ0FDTGdFU1FiSE9BR3hzSWdCcVFRdDFJZ3cyQWdRZ0JTQUJJQUJyUVF0MU5nSWNJQVVnQ1NBSFFYNXNha0VMZFNJTk5nSVFJQVVnQmlnQ0NDQUNMZ0VFUVExMGJFR0FDSElpQ1NBR0tBSklJQUl1QVNSQm9TMXNiQ0lIYWlJQklBWW9BaWdnQWk0QkZFR3h6Z0JzYkNJQWFrRUxkU0lLTmdJSUlBVWdBU0FBYTBFTGRTSUdOZ0lnSUFVZ0NTQUhRWDVzYWtFTGRTSUpOZ0lVSUFRZ0F5Z0NBR29pQnlBSVFZQjlhaUlJSUF0QkRYUkJnSUNJd0FCcUlnSWdDa0doTFd4cUlnRWdERUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUlJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFnZ0FpQUtRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSUVhaUlISUFnZ0JTZ0NERUVOZEVHQWdJakFBR29pQWlBSlFhRXRiR29pQVNBTlFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FISUFnZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBY2dDQ0FDSUFsQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWdocUlnTWdDQ0FGS0FJWVFRMTBRWUNBaU1BQWFpSUNJQVpCb1Mxc2FpSUJJQVVvQWh4QnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQU1nQ0NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0F5QUlJQUlnQmtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBVWtCZ3ZzQ1FFSWZ5TUdJUVVqQmtGQWF5UUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQ1NnQ0FHd2lDQ0FDTGdFZ0lBbEJRR3NvQWdCc0lndHFRUUowSWdFZ0FpNEJFQ0FKS0FJZ2JDSUFJQUl1QVRBZ0NTZ0NZR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQUNBRklBRWdBR3MyQWpBZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVFJQVVnQVNBQWF6WUNJQ0FGSUFJdUFRSWdDU2dDQkd3aUNDQUNMZ0VpSUFrb0FrUnNJZ3RxUVFKMElnRWdBaTRCRWlBSktBSWtiQ0lBSUFJdUFUSWdDU2dDWkd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWpZQ0JDQUZJQUVnQUdzMkFqUWdCU0FJSUF0clFRSjBJZ0VnQ2lBR1FkK0pmMnhxUVF0MUlnQnFOZ0lVSUFVZ0FTQUFhellDSkNBRklBSXVBUVFnQ1NnQ0NHd2lDQ0FDTGdFa0lBa29Ba2hzSWd0cVFRSjBJZ0VnQWk0QkZDQUpLQUlvYkNJQUlBSXVBVFFnQ1NnQ2FHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFpSU1OZ0lJSUFVZ0FTQUFhellDT0NBRklBZ2dDMnRCQW5RaUFTQUtJQVpCMzRsL2JHcEJDM1VpQUdvMkFoZ2dCU0FCSUFCck5nSW9JQVVnQWk0QkJpQUpLQUlNYkNJTElBSXVBU1lnQ1NnQ1RHd2lCbXBCQW5RaUFTQUNMZ0VXSUFrb0FpeHNJZ0FnQWk0Qk5pQUpLQUpzYkNJS2FrSFJJbXhCZ0FocUlnSWdBRUgrTUd4cVFRdDFJZ0JxSWdnMkFnd2dCU0FCSUFCck5nSThJQVVnQ3lBR2EwRUNkQ0lCSUFJZ0NrSGZpWDlzYWtFTGRTSUFhaUlMTmdJY0lBVWdBU0FBYXpZQ0xDQUVJQU1vQWdCcUlnWWdCMEdBZldvaUJ5QU1JQVVvQWdCQmtJQUJhaUlLYWtFTmRDSUJJQWdnQlNnQ0JDSUFha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBS0lBeHJRUTEwSWdFZ0FpQUlRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FnUnFJZ2dnQnlBRktBSVFRWkNBQVdvaUJpQUZLQUlZSWdwcVFRMTBJZ0VnQ3lBRktBSVVJZ0JxUWRFaWJDSUNJQUJCL2pCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBZ2dCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQ0NBSElBWWdDbXRCRFhRaUFTQUNJQXRCMzRsL2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFTQUlJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQ0NBSElBVW9BaUJCa0lBQmFpSUxJQVVvQWlnaUJtcEJEWFFpQVNBRktBSWtJZ0FnQlNnQ0xDSUtha0hSSW13aUFpQUFRZjR3YkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQWdnQnlBTElBWnJRUTEwSWdFZ0FpQUtRZCtKZjJ4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NDQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSXdRWkNBQVdvaUNpQUZLQUk0SWdScVFRMTBJZ0VnQlNnQ05DSUFJQVVvQWp3aUEycEIwU0pzSWdJZ0FFSCtNR3hxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ2lBRWEwRU5kQ0lCSUFJZ0EwSGZpWDlzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4UUFRcC9Jd1loQlNNR1FmQUFhaVFHSUFBb0F0QUNJUTRnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpRUdJQVVnQWk0QklDQUlRVUJyS0FJQWJDSUJJQUpCUUdzdUFRQWdDQ2dDZ0FGc0lnQnFRY3d5YkNJTklBWWdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VRSUFnb0FpQnNJZ0FnQWk0Qk1DQUlLQUpnYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ0FnQlNBQklBQnJRUXQxTmdKUUlBVWdDaUFOYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0ZDQUZJQUVnQUd0QkMzVTJBandnQlNBR0lBbEJ3S1YvYkdwQkMzVTJBaWdnQlNBQ0xnRVNJQWdvQWlSc0lnQWdBaTRCTWlBSUtBSmtiQ0lIYWtHYU5Xd2lCaUFBUWZFZ2JHb2lEU0FDTGdFaUlBZ29Ba1JzSWdFZ0FpNEJRaUFJS0FLRUFXd2lBR3BCekRKc0lna2dDQ2dDQkNBQ0xnRUNRUTEwYkVHQUNISWlDaUFCSUFCcklndEIwQlpzYWlJTWFpSUFha0VMZFRZQ0JDQUZJQUFnRFd0QkMzVTJBbFFnQlNBR0lBZEIzUFIrYkdvaUFTQU1JQWxySWdCcVFRdDFOZ0lZSUFWQlFHc2dBQ0FCYTBFTGRUWUNBQ0FGSUFvZ0MwSEFwWDlzYWtFTGRUWUNMQ0FGSUFJdUFTUWdDQ2dDU0d3aUFTQUNMZ0ZFSUFnb0FvZ0JiQ0lBYWtITU1td2lCaUFJS0FJSUlBSXVBUVJCRFhSc1FZQUljaUlOSUFFZ0FHc2lDVUhRRm14cUlncHFJZ0VnQWk0QkZDQUlLQUlvYkNJQUlBSXVBVFFnQ0NnQ2FHd2lDMnBCbWpWc0lnd2dBRUh4SUd4cUlnQnFRUXQxTmdJSUlBVWdBU0FBYTBFTGRUWUNXQ0FGSUFvZ0Jtc2lBU0FNSUF0QjNQUitiR29pQUdwQkMzVTJBaHdnQlNBQklBQnJRUXQxTmdKRUlBVWdEU0FKUWNDbGYyeHFRUXQxTmdJd0lBVWdBaTRCSmlBSUtBSk1iQ0lCSUFJdUFVWWdDQ2dDakFGc0lnQnFRY3d5YkNJR0lBZ29BZ3dnQWk0QkJrRU5kR3hCZ0FoeUlnMGdBU0FBYXlJSlFkQVdiR29pQ21vaUFTQUNMZ0VXSUFnb0FpeHNJZ0FnQWk0Qk5pQUlLQUpzYkNJTGFrR2FOV3dpRENBQVFmRWdiR29pQUdwQkMzVTJBZ3dnQlNBQklBQnJRUXQxTmdKY0lBVWdDaUFHYXlJQklBd2dDMEhjOUg1c2FpSUFha0VMZFRZQ0lDQUZJQUVnQUd0QkMzVTJBa2dnQlNBTklBbEJ3S1YvYkdwQkMzVTJBalFnQlNBQ0xnRW9JQWdvQWxCc0lnRWdBaTRCU0NBSUtBS1FBV3dpQUdwQnpESnNJZzBnQ0NnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFJdUFSZ2dDQ2dDTUd3aUFDQUNMZ0U0SUFnb0FuQnNJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VMZFRZQ0VDQUZJQUVnQUd0QkMzVTJBbUFnQlNBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFRdDFOZ0lrSUFVZ0FTQUFhMEVMZFRZQ1RDQUZJQWtnQ2tIQXBYOXNha0VMZFRZQ09DQUVJQU1vQWdCcUlnWWdEa0dBZldvaUJ5QUZLQUlJSWdFZ0JTZ0NFQ0lBYWtITU1td2lEU0FGS0FJQVFRMTBRWUNBaU1BQWFpSUpJQUVnQUdzaUNrSFFGbXhxSWd0cUlnRWdCU2dDQkNJQUlBVW9BZ3dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQmlBSElBVW9BaHdpQVNBRktBSWtJZ0JxUWN3eWJDSU5JQVVvQWhSQkRYUkJnSUNJd0FCcUlna2dBU0FBYXlJS1FkQVdiR29pQzJvaUFTQUZLQUlZSWdBZ0JTZ0NJQ0lNYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUdJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFZZ0J5QUxJQTFySWdFZ0FpQU1RZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFHSUFjZ0NTQUtRY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSUlhaUlHSUFjZ0JTZ0NNQ0lCSUFVb0FqZ2lBR3BCekRKc0lnMGdCU2dDS0VFTmRFR0FnSWpBQUdvaUNTQUJJQUJySWdwQjBCWnNhaUlMYWlJQklBVW9BaXdpQUNBRktBSTBJZ3hxUVpvMWJDSUNJQUJCOFNCc2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnQmlBSElBc2dEV3NpQVNBQ0lBeEIzUFIrYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVlnQnlBSklBcEJ3S1YvYkdwQkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ1lnQnlBRktBSkVJZ0VnQlNnQ1RDSUFha0hNTW13aURTQUZLQUk4UVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JVRkFheWdDQUNJQUlBVW9Ba2dpREdwQm1qVnNJZ0lnQUVIeElHeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQkNBR0lBY2dDeUFOYXlJQklBSWdERUhjOUg1c2FpSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBWWdCeUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQU1nQmlBSElBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NFR29pQ1NBSElBVW9BbGdpQVNBRktBSmdJZ0JxUWN3eWJDSUtJQVVvQWxCQkRYUkJnSUNJd0FCcUlnc2dBU0FBYXlJTVFkQVdiR29pQkdvaUFTQUZLQUpVSWdBZ0JTZ0NYQ0lEYWtHYU5Xd2lBaUFBUWZFZ2JHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUpJQWNnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFrZ0J5QUVJQXBySWdFZ0FpQURRZHowZm14cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NTQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFKSUFjZ0N5QU1RY0NsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNRR0M5OEVBUTkvSXdZaEVDTUdRWkFCYWlRR0lBQW9BdEFDSVJNZ0VDSUFJUVVnQVNnQ1ZDRUJBMEFnQlNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJS0lBRW9Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSU1haUlOSUFGQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJT2FpSVBJQUl1QVJBZ0FTZ0NJR3dpQmlBQ0xnRlFJQUVvQXFBQmJDSUlha0cyRjJ3aUVTQUdJQUl1QVRBZ0FTZ0NZR3dpQ1dwQkRYUnFJaEpxUVF0MU5nSUFJQVVnRHlBU2EwRUxkVFlDZUNBRklBb2dERUYrYkdwQkMzVWlDaUFHSUFscklBaHJRUUowSWdacU5nSVlJQVVnQ2lBR2F6WUNZQ0FGSUEwZ0Rtc2lCaUFSSUFnZ0NXdEJEWFJxSWdocVFRdDFOZ0l3SUFVZ0JpQUlhMEVMZFRZQ1NDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FIUVFGcUlnZEJCa2NOQUFzZ0UwR0FmV29oQWtFQUlRRURRQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBQ2dDQkNJSElBQW9BaFFpQm1wQnRoZHNJZ3NnQnlBQUtBSU1JZ2hxUVExMGFpSUtJQUFvQWdCQkRYUkJnSUNJd0FCcUlnd2dBQ2dDRUVHaExXd2lDV29pRFNBQUtBSUlRYkhPQUd3aURtb2lEMnBCRW5aQi93ZHhJQUpxTEFBQU9nQUFJQVVnRHlBS2EwRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUhJQWhySUFaclFRMTBJZ2NnRENBSmF5QUpheUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUVnQlNBSklBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJDQUZJQTBnRG1zaUJ5QUxJQVlnQ0d0QkRYUnFJZ1pxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUFjZ0JtdEJFblpCL3dkeElBSnFMQUFBT2dBRElBQkJHR29oQUNBQlFRRnFJZ0ZCQmtjTkFBc2dFQ1FHQyswQkFRUi9RUVJCQkJDTEFTRUVBMEFnQWtFRFJ3UkFJQUpCQW5RaEJVRUFJUU1EUUNBRFFRUkhCRUFnQkNnQ0FDQURJQVZxUVFOMGFpQUNRUVYwSUFCcUlBTkJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVMQ3lBRUtBSUFJZ0JDQURjRFlDQUFRZ0EzQTJnZ0FFSUFOd053SUFCRUFBQUFBQUFBOEQ4NUEzZ2dCQkRXQVJwQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RaEEwRUFJUUlEUUNBQ1FRUkhCRUFnQUVFRmRDQUJhaUFDUVFOMGFpQUVLQUlBSUFJZ0EycEJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3lBRUVFa0x0UVlCRkg4akJpRVZJd1pCMEFGcUpBWWdBQ2dDMEFJaEdDQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lISUFJdUFXQWdBU2dDd0FGc0lnWnJRYmM0YkNJT0lBSXVBU0FnQVVGQWF5Z0NBR3dpQ1NBSGEwR1NGR3dpRVNBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUElBZEJsWXAvYkdwcWFpRUtJQUl1QVJBZ0FTZ0NJR3dpQ3lBQ0xnRXdJQUVvQW1Cc0lnaHFRZTg3YkNJU0lBc2dDR3RCOHdwc0loTnFJQWdnQWk0QlVDQUJLQUtnQVd3aUNHcEI0YWQvYkNJVWFpRU5JQVVnRHlBR0lBbHFJaFpCeHRFQWJHb2lGeUFPSUFaQmczdHNhbW9pQmlBSUlBdHFRYU1uYkNJTElCSWdFMnRxSWc1cVFRdDFOZ0lBSUFVZ0JpQU9hMEVMZFRZQ3FBRWdCU0FLSUExcVFRdDFOZ0ljSUFVZ0NpQU5hMEVMZFRZQ2pBRWdCU0FYSUJFZ0NVSHg0WDVzYW1vaUJpQVVJQXNnQ0VIZTl3QnNhbW9pQ1dwQkMzVTJBamdnQlNBR0lBbHJRUXQxTmdKd0lBVWdEeUFISUJaclFjSGFBR3hxUVF0MU5nSlVJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVIUncwQUN5QVlRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJWUlnZHJRYmM0YkNJTklBQW9BZ2dpQmlBTWEwR1NGR3dpRUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlKSUF4QmxZcC9iR3BxYWlFUElBQW9BZ1FpQ2lBQUtBSU1JZ1ZxUWU4N2JDSU9JQW9nQld0Qjh3cHNJaEZxSUFVZ0FDZ0NGQ0lMYWtIaHAzOXNJaEpxSVFnZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0NTQUdJQWRxSWhOQnh0RUFiR29pRkNBTklBZEJnM3RzYW1vaUJ5QUtJQXRxUWFNbmJDSUtJQTRnRVd0cUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQWNnRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFGSUFJZ0NDQVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFQSUFoclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCUWdFQ0FHUWZIaGZteHFhaUlISUJJZ0NpQUxRZDczQUd4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBa2dEQ0FUYTBIQjJnQnNha0VTZGtIL0IzRnFMQUFBT2dBRElBQkJIR29oQUNBQlFRRnFJZ0ZCQjBjTkFBc2dGU1FHQzZJSEFSUi9Jd1loRlNNR1FhQUNhaVFHSUFBb0F0QUNJUmdnRlNJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFCS0FMQUFTQUNMZ0ZnUWFFdGJHd2lCbW9oQ0NBSElBWnJJQVpySWhBZ0FpNEJJQ0FCUVVCcktBSUFiQ0lHSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2RySWhGQm9TMXNhaUVKSUFJdUFSQWdBU2dDSUd3aUNpQUNMZ0ZRSUFFb0FxQUJiQ0lNYWtHWE9td2hEU0FGSUFnZ0JpQUhha0dIMVFCc0loSWdCMEhjRDJ3aUUydHFJaFFnQ2lBQ0xnRndJQUVvQXVBQmJDSUhha0g2SG13aUZpQU5JQUVvQW1BZ0FpNEJNRUhQc1g5c2JDSU9hMm9pRjJwQkMzVTJBZ0FnQlNBVUlCZHJRUXQxTmdLQUFpQUZJQWtnQ2lBTWF5QUhhMEd4emdCc0lncHFRUXQxTmdJZ0lBVWdDU0FLYTBFTGRUWUM0QUVnQlVGQWF5QUdRYXZGQUd3aUJpQUlJQkpyYWlJSklBMGdEaUFNSUFkclFaSFpBR3dpQjJ0cUlncHFRUXQxTmdJQUlBVWdDU0FLYTBFTGRUWUN3QUVnQlNBVElBZ2dCbXRxSWdnZ0ZpQUhJQTVxYWlJR2FrRUxkVFlDWUNBRklBZ2dCbXRCQzNVMkFxQUJJQVVnRUNBUlFiNmxmMnhxUVF0MU5nS0FBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTFFRRnFJZ3RCQ0VjTkFBc2dHRUdBZldvaEFrRUFJUUVEUUNBQUtBSUFRUTEwUVlDQWlNQUFhaUlJSUFBb0FoaEJvUzFzSWdWcUlRc2dDQ0FGYXlBRmF5SU9JQUFvQWdnaUNDQUFLQUlRSWdacklnOUJvUzFzYWlFSElBQW9BZ1FpQ1NBQUtBSVVJZ3BxUVpjNmJDRU1JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQXNnQmlBSWFrR0gxUUJzSWhBZ0JrSGNEMndpRVd0cUloSWdDU0FBS0FJY0lnWnFRZm9lYkNJVElBd2dBQ2dDREVIUHNYOXNJZzFyYWlJVWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVNJQlJyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUFjZ0NTQUtheUFHYTBHeHpnQnNJZ2xxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDRUdyeFFCc0lnZ2dDeUFRYTJvaUJ5QU1JQTBnQ2lBR2EwR1IyUUJzSWdacmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCRWdDeUFJYTJvaUN5QVRJQVlnRFdwcUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFNZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0RpQVBRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQUVFZ2FpRUFJQUZCQVdvaUFVRUpSdzBBQ3lBVkpBWUwvZ2NCRlg4akJpRVZJd1pCd0FKcUpBWWdBQ2dDMEFJaEdTQVZJZ0FoQlNBQktBSlVJUUVEUUNBQ0xnRXdJQUVvQW1Cc0lnWWdBaTRCY0NBQktBTGdBV3dpQ21vaEJ5QUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2tnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDMEdkeVFCc2FpSVFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lSYWtHYU5Xd2lEU0FNUWZFZ2JHb2lER29pRGlBR0lBcHJJZ3BCNHhOc0loSWdBaTRCVUNBQktBS2dBV3dpRkVFTmRDSVBhaUlXSUFkQjd6eHNJaGNnQWk0QkVDQUJLQUlnYkNJR1FiUFpBR3hxYWlJWWFrRUxkVFlDQUNBRklBNGdHR3RCQzNVMkFxQUNJQVVnQ1NBTFFZUmtiR29pRGlBTklCRkIzUFIrYkdvaUVXb2lEU0FHUWRQUUFHd2dCMEhQSld3aUIyc2dEeUFTYXlBS1FReDBheUlTYXlJUGFrRUxkVFlDSUNBRklBMGdEMnRCQzNVMkFvQUNJQVZCUUdzZ0NTQUxRYjZsZjJ4cVFRdDFJZ2tnQmlBVWF5QUthMEVDZENJTGFqWUNBQ0FGSUFrZ0MyczJBdUFCSUFVZ0RpQVJheUlKSUJJZ0JrR01LV3dnQjJ0cUlnZHFRUXQxTmdKZ0lBVWdDU0FIYTBFTGRUWUN3QUVnQlNBUUlBeHJJZ2NnRmlBR1FaUU9iQ0FYYTJvaUJtcEJDM1UyQW9BQklBVWdCeUFHYTBFTGRUWUNvQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NFRUJhaUlJUVFoSERRQUxJQmxCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NEQ0lJSUFBb0Fod2lDbW9oQmlBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUFRUTEwUVlDQWlNQUFhaUlISUFBb0FoQWlDVUdkeVFCc2FpSVRJQUFvQWdnaUN5QUFLQUlZSWhCcVFabzFiQ0lNSUF0QjhTQnNhaUlSYWlJTklBQW9BaFJCRFhRaUN5QUlJQXBySWdwQjR4TnNJZzVxSWhJZ0JrSHZQR3dpRkNBQUtBSUVJZ2hCczlrQWJHcHFJZzlxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUEwZ0QydEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdCeUFKUVlSa2JHb2lEU0FNSUJCQjNQUitiR29pRUdvaURDQUlRZFBRQUd3Z0JrSFBKV3dpQm1zZ0N5QU9heUFLUVF4MGF5SU9heUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBTUlBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1VHK3BYOXNhaUlISUFnZ0NtdEJEWFFnQzJzaUNXcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdCeUFKYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBTklCQnJJZ2NnRGlBSVFZd3BiQ0FHYTJvaUJtcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBVElCRnJJZ1lnRWlBSVFaUU9iQ0FVYTJvaUNHcEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQUJCSUdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRlNRR0M5NEpBUmwvSXdZaEdTTUdRZUFDYWlRR0lBQW9BdEFDSVIwZ0dTSUFJUVVnQVNnQ1ZDRUJBMEFnQWtGQWF5NEJBQ0FCS0FLQUFXd2lCaUFDTGdFZ0lBRkJRR3NvQWdCc0lnbHJRY2tiYkNFVUlBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloWWdDU0FDTGdGZ0lBRW9Bc0FCYkNJSGFpSVFJQVpySWhkQjdOWUFiR29oRGlBVUlBWWdCMnRCL3FJQmJDQU9haUlSSUFaQnRJdC9iR3BxSVFvZ0FpNEJjQ0FCS0FMZ0FXd2lDeUFDTGdGUUlBRW9BcUFCYkNJTklBSXVBUkFnQVNnQ0lHd2lDQ0FDTGdFd0lBRW9BbUJzSWc5cUloTnFha0hBR1d3aUVpQUlJQXRxUWJnWGJHb2lHQ0FJSUExcVFmUXFiQ0lhSUJOQjZqaHNJaHNnQ0VIMlJHeHFhbW9oQ0NBTklBOXFRY20xZjJ3Z0Vtb2lIQ0FOUWRxemYyd2dHbXBxSVJNZ0JTQVJJQWRCdFljQmJHb2lFU0FJYWtFTGRUWUNBQ0FGSUJFZ0NHdEJDM1UyQXNBQ0lBVWdIQ0FMSUE5cVFmV01mMndpQ0NBUFFkaUVBV3dnRzJwcWFpSVJJQXBxUVF0MU5nSWdJQVVnQ2lBUmEwRUxkVFlDb0FJZ0JVRkFheUFUSUJCQmhiWi9iQ0FPYWlJS0lBZEJ3MDFzYWlJSGFrRUxkVFlDQUNBRklBY2dFMnRCQzNVMkFvQUNJQVVnQ0NBTFFjZUdBV3hxSUJocUlnY2dEaUFVYWlBSlFaR2ZmMnhxSWc1cVFRdDFOZ0pnSUFVZ0RpQUhhMEVMZFRZQzRBRWdCU0FQUVkyaWYyd2dEVUdMd0FCc2FpQUxRWmFVZjJ4cUlCSnFJZ3NnQ2lBR1FibjhBR3dnQ1VIOXBuOXNhbW9pQm1wQkMzVTJBb0FCSUFVZ0JpQUxhMEVMZFRZQ3dBRWdCU0FXSUJkQnY2Vi9iR3BCQzNVMkFxQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWRRWUI5YWlFQ1FRQWhBUU5BSUFBb0FoQWlEQ0FBS0FJSUlnOXJRY2tiYkNFT0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWhNZ0R5QUFLQUlZSWdscUloVWdER3NpRmtIczFnQnNhaUVISUE0Z0RDQUphMEgrb2dGc0lBZHFJaEFnREVHMGkzOXNhbW9oQ0NBQUtBSWNJZ1lnQUNnQ0ZDSUxJQUFvQWdRaUJTQUFLQUlNSWcxcUlncHFha0hBR1d3aUZDQUZJQVpxUWJnWGJHb2lGeUFGSUF0cVFmUXFiQ0lTSUFwQjZqaHNJaEVnQlVIMlJHeHFhbW9oQ2lBVUlBc2dEV3BCeWJWL2JHb2lHQ0FTSUF0QjJyTi9iR3BxSVJJZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0VDQUpRYldIQVd4cUloQWdDbXBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRUNBS2EwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQUlJQmdnQmlBTmFrSDFqSDlzSWdvZ0VTQU5RZGlFQVd4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ0NBUWEwRVNka0gvQjNGcUxBQUFPZ0FKSUFVZ0FpQVZRWVcyZjJ3Z0Iyb2lDQ0FKUWNOTmJHb2lDU0FTYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBSklCSnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnRG1vZ0QwR1JuMzlzYWlJSklCY2dDaUFHUWNlR0FXeHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBSklBZHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0JTQUNJQWdnREVHNS9BQnNJQTlCL2FaL2JHcHFJZ3dnRkNBTlFZMmlmMndnQzBHTHdBQnNhaUFHUVphVWYyeHFhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUVJQVVnQWlBTUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQk1nRmtHL3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQzBjTkFBc2dHU1FHQzVrSkFSZC9Jd1loR1NNR1FZQURhaVFHSUFBb0F0QUNJUnNnR1NJQUlRVWdBU2dDVkNFQkEwQWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FCS0FLQUFTQUNRVUJyTGdFQVFiSE9BR3hzSWhKcUlRMGdDU0FDTGdFZ0lBRkJRR3NvQWdCc0lncEJEWFFnQVNnQ3dBRWdBaTRCWUVFTmRHd2lEbXNpRUdvaEVTQUZJQTBnQ2tHMjF3QnNJQTVxSWhkcUloTWdBaTRCY0NBQktBTGdBV3dpQmlBQ0xnRVFJQUVvQWlCc0lnY2dBaTRCVUNBQktBS2dBV3dpQ0dvaUMycEJqVGRzSWc4Z0MwSGJFR3hxSWhRZ0FpNEJNQ0FCS0FKZ2JDSUxRYy9UQUd3aUdDQUhRZmNSYkdwcUloVnFRUXQxTmdJQUlBVWdFeUFWYTBFTGRUWUM0QUlnQlNBTElBaHJJaE1nQnlBR2F5SVZha0hSSW13aUdpQVZRZjR3YkdvaUZTQVJha0VMZFRZQ0lDQUZJQkVnRld0QkMzVTJBc0FDSUFWQlFHc2dDU0FTYXlJUklBcEJ0aGRzSUE1cklncHFJZzRnRkNBR0lBaHFRWXU5ZjJ3aUVpQUxRYTlkYkNJTElBaEJzS0YvYkdwcWFpSUlha0VMZFRZQ0FDQUZJQTRnQ0d0QkMzVTJBcUFDSUFVZ0VTQUtheUlJSUJJZ0R5QUdRY2JsQUd3Z0dHdHFhaUlLYWtFTGRUWUNZQ0FGSUFnZ0NtdEJDM1UyQW9BQ0lBVWdHaUFUUWQrSmYyeHFJZ2dnQ1NBUWF5SUpha0VMZFRZQ2dBRWdCU0FKSUFoclFRdDFOZ0xnQVNBRklBMGdGMnNpQ1NBUElBc2dCMEhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdLZ0FTQUZJQWtnQm10QkMzVTJBc0FCSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBeEJBV29pREVFSVJ3MEFDeUFiUVlCOWFpRUNRUUFoQVFOQUlBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdZZ0FDZ0NFRUd4emdCc0lndHFJUWdnQmlBQUtBSUlJZzFCRFhRZ0FDZ0NHRUVOZENJS2F5SVdhaUVPSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFnZ0RVRzIxd0JzSUFwcUloSnFJaEFnQUNnQ0hDSU1JQUFvQWdRaUNTQUFLQUlVSWdkcUlnOXFRWTAzYkNJUklBOUIyeEJzYWlJWElBQW9BZ3dpRDBIUDB3QnNJaE1nQ1VIM0VXeHFhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBUUlCUnJRUkoyUWY4SGNXb3NBQUE2QUFzZ0JTQUNJQTRnQ1NBTWF5SVFJQThnQjJzaUZHcEIwU0pzSWhnZ0VFSCtNR3hxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lBNGdFR3RCRW5aQi93ZHhhaXdBQURvQUNpQUZJQUlnQmlBTGF5SU9JQTFCdGhkc0lBcHJJZzFxSWdvZ0Z5QUhJQXhxUVl1OWYyd2lDeUFQUWE5ZGJDSVBJQWRCc0tGL2JHcHFhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBS0lBZHJRUkoyUWY4SGNXb3NBQUE2QUFrZ0JTQUNJQTRnRFdzaUJ5QUxJQkVnREVIRzVRQnNJQk5yYW1vaURXcEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdCeUFOYTBFU2RrSC9CM0ZxTEFBQU9nQUlJQVVnQWlBR0lCWnJJZ1lnR0NBVVFkK0pmMnhxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBWWdCMnRCRW5aQi93ZHhhaXdBQURvQUJ5QUZJQUlnQ0NBU2F5SUdJQkVnRHlBSlFkeFViR29nREVHTWdYOXNhbW9pREdwQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0JpQU1hMEVTZGtIL0IzRnFMQUFBT2dBR0lBQkJJR29oQUNBQlFRRnFJZ0ZCREVjTkFBc2dHU1FHQyt3S0FSaC9Jd1loR1NNR1FhQURhaVFHSUFBb0F0QUNJUndnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlFTklBSXVBUkFnQVNnQ0lHd2lEaUFDTGdFd0lBRW9BbUJzSWdocVFkRFVBR3doQ1NBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUloRWdCaUFIYXlJS1Faa0diR29pRHlBTlFmbkpBR3dpRWlBQ0xnRWdJQUZCUUdzb0FnQnNJZ1pCOGRjQWJHcHFJaE1nRGlBQ0xnRndJQUVvQXVBQmJDSUxhaUlYUVlJOGJDSVVJQTRnQWk0QlVDQUJLQUtnQVd3aUIycEJ2c29BYkNJVklBa2dEa0hiL241c2FtcHFJaFpxUVF0MU5nSUFJQVVnRXlBV2EwRUxkVFlDZ0FNZ0JTQUlJQXRxUWNLMWYyd2lFeUFISUFocVFhdHFiQ0lXSUFoQnl6VnNJQWxxYW1vaUNTQVJJQXBCbFI5c2FpSVlJQVpCNE1NQWJDQU5RYUFVYkNJYWEyb2lHMnBCQzNVMkFpQWdCU0FiSUFsclFRdDFOZ0xnQWlBRlFVQnJJQWNnQzJwQitGVnNJZ2tnRmlBSFFiR2JmMnhxSUJWcWFpSVZJQThnQmtHTUlHd2dFbXRxSWc5cVFRdDFOZ0lBSUFVZ0R5QVZhMEVMZFRZQ3dBSWdCU0FUSUF0QmxJMEJiR29nRkdvZ0NXb2lDU0FSSUFwQmdrUnNhaUlQSUFaQmpIVnNJQTFCOGh0c0lnMXJhaUlTYWtFTGRUWUNZQ0FGSUJJZ0NXdEJDM1UyQXFBQ0lBVWdDRUdXWW13Z0YwSFZGV3dnQnlBSWEwR0NQR3hxSWdnZ0RrR3pGR3hxYWlJT0lBOGdEU0FHUWN0TWJHcHFJZzFxUVF0MU5nS0FBU0FGSUEwZ0RtdEJDM1UyQW9BQ0lBVWdDQ0FIUWM0WWJHb2dDMEcva0g5c2FpSUlJQmdnR2lBR1FlNnZmMnhxYWlJSGFrRUxkVFlDb0FFZ0JTQUhJQWhyUVF0MU5nTGdBU0FGSUJFZ0NpQUdhMEhCMmdCc2FrRUxkVFlDd0FFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdERUVCYWlJTVFRaEhEUUFMSUJ4QmdIMXFJUUpCQUNFQkEwQWdBQ2dDRUNJTUlBQW9BaGdpQ0dvaEN5QUFLQUlFSWdjZ0FDZ0NEQ0lHYWtIUTFBQnNJUW9nQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lEU0FNSUFockloRkJtUVpzYWlJSklBdEIrY2tBYkNJUUlBQW9BZ2dpREVIeDF3QnNhbW9pRHlBSElBQW9BaHdpRG1vaUVrR0NQR3dpRXlBSElBQW9BaFFpQ0dwQnZzb0FiQ0lYSUFvZ0IwSGIvbjVzYW1wcUloUnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnRkd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0RTQVJRWlVmYkdvaUR5QU1RZUREQUd3Z0MwR2dGR3dpRkd0cUloVWdCaUFPYWtIQ3RYOXNJaFlnQmlBSWFrR3JhbXdpR0NBS0lBWkJ5elZzYW1wcUlncHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQlVnQ210QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0NTQU1RWXdnYkNBUWEyb2lDaUFJSUE1cVFmaFZiQ0lKSUJjZ0dDQUlRYkdiZjJ4cWFtb2lFR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ2lBUWEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQU5JQkZCZ2tSc2FpSUtJQXhCakhWc0lBdEI4aHRzSWd0cmFpSVFJQk1nRmlBT1FaU05BV3hxYWlBSmFpSUpha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFRSUFsclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBb2dDeUFNUWN0TWJHcHFJZ3NnQmtHV1ltd2dFa0hWRld3Z0NDQUdhMEdDUEd4cUlnWWdCMEd6Rkd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFMSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBOGdGQ0FNUWU2dmYyeHFhaUlISUFZZ0NFSE9HR3hxSUE1QnY1Qi9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJFZ0RHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRMUhEUUFMSUJra0JndkNDZ0VaZnlNR0lSb2pCa0hBQTJva0JpQUFLQUxRQWlFZElCb2lBQ0VGSUFFb0FsUWhBUU5BSUFJdUFYQWdBU2dDNEFGc0loWkJEWFFpQ1NBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaURFSFN6QUJzSWhFZ0JpQUNMZ0V3SUFFb0FtQnNJZ3BxUWJmVkFHd2lFaUFHUWZDM2YyeHFhbW9oQ3lBR0lBcHJJaE5COGgxc0lBbHJJaGdnREVHVU1Hd2lGeUFHUVl1OGYyeHFhaUVRSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJpQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTVFjYlJBR3hxSWhRZ0FpNEJJQ0FCUVVCcktBSUFiQ0lOSUFJdUFXQWdBU2dDd0FGc0lnNXFRZUxHQUd3aUZTQU5RYjBSYkdvaUcyb2lHU0FMYWtFTGRUWUNBQ0FGSUJrZ0MydEJDM1UyQXFBRElBVWdCeUFLYWtIdmRXd2dDV3NpQ3lBS1FlNWtiQ0FTYW1vaUVpQUdJQXhCa2hSc2FpSVpJQlVnRGtIOGtYOXNhaUlWYWlJY2FrRUxkVFlDSUNBRklCd2dFbXRCQzNVMkFvQURJQVZCUUdzZ0N5QUhRWW5vZm13Z0VXcHFJZ3NnQmlBTVFjbEhiR29pRVNBTlFhTW5iQ0FPUWVHbmYyeHFJZzFxSWc1cVFRdDFOZ0lBSUFVZ0RpQUxhMEVMZFRZQzRBSWdCU0FUSUFkcklCWnFRUUowSWdzZ0JpQU1RYjZsZjJ4cVFRdDFJZ1pxTmdKZ0lBVWdCaUFMYXpZQ3dBSWdCU0FISUFwclFmalpBR3dpQmlBSFFlYVRmMnhxSUJkcUlBbHFJZ2NnRVNBTmF5SUpha0VMZFRZQ2dBRWdCU0FKSUFkclFRdDFOZ0tnQWlBRklBWWdDa0daSzJ4cUlCaHFJZ2NnR1NBVmF5SUtha0VMZFRZQ29BRWdCU0FLSUFkclFRdDFOZ0tBQWlBRklCUWdHMnNpQnlBUWFrRUxkVFlDd0FFZ0JTQUhJQkJyUVF0MU5nTGdBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBSVFRRnFJZ2hCQ0VjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSWNRUTEwSWdvZ0FDZ0NCQ0lGSUFBb0FoUWlDR29pQmtIU3pBQnNJZzRnQlNBQUtBSU1JZ2RxUWJmVkFHd2lEeUFGUWZDM2YyeHFhbW9oRENBRklBZHJJaEZCOGgxc0lBcHJJaElnQmtHVU1Hd2lGaUFGUVl1OGYyeHFhaUVMSUFRZ0FVRUNkQ0FEYWlnQ0FHb2lCU0FDSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VDSUpRY2JSQUd4cUloY2dBQ2dDQ0NJUUlBQW9BaGdpRFdwQjRzWUFiQ0lUSUJCQnZSRnNhaUlZYWlJVUlBeHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQlFnREd0QkVuWkIvd2R4YWl3QUFEb0FEU0FGSUFJZ0JpQUpRWklVYkdvaURDQVRJQTFCL0pGL2JHb2lFMm9pRkNBSElBaHFRZTkxYkNBS2F5SVZJQThnQjBIdVpHeHFhaUlQYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBVUlBOXJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQVlnQ1VISlIyeHFJZzhnRUVHakoyd2dEVUhocDM5c2FpSVFhaUlOSUJVZ0RpQUlRWW5vZm14cWFpSU9ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUE1clFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBWWdDVUcrcFg5c2FpSUdJQW9nRVNBSWEwRU5kR29pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0JpQUphMEVTZGtIL0IzRnFMQUFBT2dBS0lBVWdBaUFQSUJCcklnWWdGaUFJSUFkclFmalpBR3dpQ1NBS0lBaEI1cE4vYkdwcWFpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFHSUFoclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBd2dFMnNpQ0NBU0lBa2dCMEdaSzJ4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFJSUFkclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lCY2dHR3NpQ0NBTGFrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUlJQXRyUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFT1J3MEFDeUFhSkFZTG5nc0JHMzhqQmlFZEl3WkI0QU5xSkFZZ0FDZ0MwQUloSHlBZElnQWhCU0FCS0FKVUlRRURRQ0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlMSUFJdUFXQWdBU2dDd0FGc0lnaEJoR1JzYWlFUklBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lUYXlFSElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJjQ0FCS0FMZ0FXd2lEV3NpRm1wQm1qVnNJaGNnQmtIeElHeHFJUWtnQVNnQ29BRWdBaTRCVUVHeHpnQnNiQ0lPSUFZZ0RXc2lHRUdDMmdCc2FpSVBJQTFCbzUwQmJDQUtRZmFwZjJ3aUdXdHFJUklnRHlBS1FlWktiQ0lhSUFaQjU3aC9iR3BxSVFvZ0JTQVNJQXNnQ0VHZHlRQnNhaUlQSUF3Z0Uyb2lFMEhPMVFCc0loUWdCMEgyQW13aUcycHFJaHhxUVF0MU5nSUFJQVVnSENBU2EwRUxkVFlDd0FNZ0JTQVJJQk5CekRKc0loSWdCMEhRRm13aUhHcHFJaDRnQ1dwQkMzVTJBaUFnQlNBZUlBbHJRUXQxTmdLZ0F5QUZRVUJySUJoQnNjNEFiQ0FPYXlJSklBc2dDRUcrcFg5c2FpSUxJQWRCb0Mxc2FpSUlha0VMZFRZQ0FDQUZJQWdnQ1d0QkMzVTJBb0FESUFVZ0JpQU5ha0hvSkd3aUNDQUdRYmtlYkNBYWFpQU9hMm9pQmlBUklCc2dERUdUM0FCc0lnd2dGR3RxYWlJSmFrRUxkVFlDWUNBRklBa2dCbXRCQzNVMkF1QUNJQVVnSENBUElCSnJhaUlHSUJjZ0ZrSGM5SDVzYWlJSmFrRUxkVFlDZ0FFZ0JTQUdJQWxyUVF0MU5nTEFBaUFGSUFnZ0RpQVphaUFOUWE5SWJHcHFJZ1lnQjBHNVptd2lEU0FQSUJOQmdpTnNJZzVyYWlJSWFrRUxkVFlDb0FFZ0JTQUlJQVpyUVF0MU5nS2dBaUFGSUFvZ0VTQU5JQTRnREd0cWFpSUdha0VMZFRZQ3dBRWdCU0FHSUFwclFRdDFOZ0tBQWlBRklBc2dCMEhBcFg5c2FrRUxkVFlDNEFFZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdFRUVCYWlJUVFRaEhEUUFMSUI5QmdIMXFJUUpCQUNFQkEwQWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURpQUFLQUlZSWd0QmhHUnNhaUVOSUFBb0FnZ2lDQ0FBS0FJUUlnOXJJUkFnQUNnQ0JDSUhJQUFvQWd3aUJTQUFLQUljSWdackloTnFRWm8xYkNJVklBZEI4U0JzYWlFTUlBQW9BaFJCc2M0QWJDSVJJQWNnQm1zaUZrR0MyZ0JzYWlJSklBWkJvNTBCYkNBRlFmYXBmMndpRjJ0cUlRb2dDU0FGUWVaS2JDSVlJQWRCNTdoL2JHcHFJUWtnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRGlBTFFaM0pBR3hxSWhJZ0NDQVBhaUlQUWM3VkFHd2lHU0FRUWZZQ2JDSWFhbW9pRkNBS2FrRVNka0gvQjNGcUxBQUFPZ0FBSUFVZ0FpQVVJQXByUVJKMlFmOEhjV29zQUFBNkFBNGdCU0FDSUEwZ0QwSE1NbXdpQ2lBUVFkQVdiQ0lVYW1vaUd5QU1ha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFiSUF4clFSSjJRZjhIY1dvc0FBQTZBQTBnQlNBQ0lBNGdDMEcrcFg5c2FpSU9JQkJCb0Mxc2FpSUxJQlpCc2M0QWJDQVJheUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVVnQWlBTElBeHJRUkoyUWY4SGNXb3NBQUE2QUF3Z0JTQUNJQTBnR2lBSVFaUGNBR3dpQ3lBWmEycHFJZ2dnQmlBSGFrSG9KR3dpRENBWUlBZEJ1UjVzYWlBUmEyb2lCMnBCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ0NBSGEwRVNka0gvQjNGcUxBQUFPZ0FMSUFVZ0FpQVVJQklnQ210cUlnY2dGU0FUUWR6MGZteHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdFRUc1Wm13aUJ5QVNJQTlCZ2lOc0lnaHJhaUlLSUF3Z0VTQVhhaUFHUWE5SWJHcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFvZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FISUFnZ0MydHFhaUlISUFscVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dDV3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRGlBUVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBY2dBRUVnYWlFQUlBRkJBV29pQVVFUFJ3MEFDeUFkSkFZTDJ3d0JIbjhqQmlFZ0l3WkJnQVJxSkFZZ0FDZ0MwQUloSWlBZ0lnQWhCU0FCS0FKVUlRRURRQ0FDTGdFZ0lBRkJRR3NvQWdCc0loQWdBaTRCWUNBQktBTEFBV3dpRDJzaUVVSFVFV3doRENBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQjJvaENpQUdJQUl1QVhBZ0FTZ0M0QUZzSWcxcVFmekZBR3dpRnlBS1FlblBBR3dpRXlBR0lBSXVBVEFnQVNnQ1lHd2lDR3BCenRZQWJDSUxJQVpCMXUxK2JHcHFhaUVPSUFZZ0RXdEJ0amxzSWhrZ0NrSFZLbXdpR0NBR0lBaHJRYU1hYkNJU0lBWkJ3b3AvYkdwcWFpRUtJQWdnRFdvaUJrR3JWV3dpR2lBSElBaHFRZkFJYkNJVUlBaEJ6UVJzSUF0cWFtb2hDeUFHUVpld2Yyd2lHeUFISUFoclFZbmFBR3dpSENBSVFacitBR3dnRW1wcWFpRUlJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lTUWMvVEFHd2lIV29pRlNBUlFlUFlBR3dpRVNBUFFZT2tBV3hxSWg1cUloOGdEbXBCQzNVMkFnQWdCU0FmSUE1clFRdDFOZ0xnQXlBRklBc2dCaUFTUWRFaWJDSU9haUlTSUF3Z0VFSE5PV3hxSWg5cUlpRnFRUXQxTmdJZ0lBVWdJU0FMYTBFTGRUWUN3QU1nQlVGQWF5QUhJQTFxUWJLcGYyd2lDeUFVSUFkQityZC9iR29nRTJwcUloTWdCaUFPYXlJT0lCRWdFRUhDV1d4cUloQnFJaEZxUVF0MU5nSUFJQVVnRVNBVGEwRUxkVFlDb0FNZ0JTQWFJQTFCbU1RQWJHb2dGMm9nQzJvaUN5QUdJQjFySWdZZ0RDQVBRYkJmYkdvaUQyb2lER3BCQzNVMkFtQWdCU0FNSUF0clFRdDFOZ0tBQXlBRklCc2dEVUdGeVFGc2FpQVphaUFOSUFkclFhTWFiQ0lOYWlJTUlBWWdEMnNpQm1wQkMzVTJBb0FCSUFVZ0JpQU1hMEVMZFRZQzRBSWdCU0FjSUFkQitrNXNhaUFZYWlBTmFpSUdJQTRnRUdzaUIycEJDM1UyQXFBQklBVWdCeUFHYTBFTGRUWUN3QUlnQlNBSUlCSWdIMnNpQm1wQkMzVTJBc0FCSUFVZ0JpQUlhMEVMZFRZQ29BSWdCU0FLSUJVZ0htc2lCbXBCQzNVMkF1QUJJQVVnQmlBS2EwRUxkVFlDZ0FJZ0FrRUNhaUVDSUFGQkJHb2hBU0FGUVFScUlRVWdDVUVCYWlJSlFRaEhEUUFMSUNKQmdIMXFJUUpCQUNFQkEwQWdBQ2dDQ0NJTklBQW9BaGdpQ0dzaUMwSFVFV3doRUNBQUtBSUVJZ1VnQUNnQ0ZDSUphaUVQSUFVZ0FDZ0NIQ0lHYWtIOHhRQnNJaFlnRDBIcHp3QnNJaEVnQlNBQUtBSU1JZ2RxUWM3V0FHd2lDaUFGUWRidGZteHFhbW9oRENBRklBWnJRYlk1YkNJWElBOUIxU3BzSWhNZ0JTQUhhMEdqR213aURpQUZRY0tLZjJ4cWFtb2hEeUFHSUFkcUlnVkJxMVZzSWhnZ0J5QUpha0h3Q0d3aUVpQUtJQWRCelFSc2FtcHFJUW9nQlVHWHNIOXNJaGtnQ1NBSGEwR0oyZ0JzSWhvZ0RpQUhRWnIrQUd4cWFtb2hEaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUZFSFAwd0JzSWh0cUlod2dDMEhqMkFCc0lnc2dDRUdEcEFGc2FpSWRhaUlWSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCVWdER3RCRW5aQi93ZHhhaXdBQURvQUR5QUZJQUlnQnlBVVFkRWliQ0lNYWlJVUlCQWdEVUhOT1d4cUloVnFJaDRnQ21wQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0hpQUthMEVTZGtIL0IzRnFMQUFBT2dBT0lBVWdBaUFISUF4cklnd2dDeUFOUWNKWmJHb2lEV29pQ2lBR0lBbHFRYktwZjJ3aUN5QVJJQklnQ1VINnQzOXNhbXBxSWhGcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBb2dFV3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQnlBYmF5SUhJQkFnQ0VHd1gyeHFJZ2hxSWhBZ0ZpQVlJQVpCbU1RQWJHcHFJQXRxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lCQWdDbXRCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBSWF5SUhJQmNnR1NBR1FZWEpBV3hxYWlBR0lBbHJRYU1hYkNJR2FpSUlha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUFoclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBd2dEV3NpQnlBVElCb2dDVUg2VG14cWFpQUdhaUlKYWtFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJRUkoyUWY4SGNXb3NBQUE2QUFvZ0JTQUNJQlFnRldzaUNTQU9ha0VTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFKSUE1clFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lCd2dIV3NpQ1NBUGFrRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQUpJQTlyUVJKMlFmOEhjV29zQUFBNkFBZ2dBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFnSkFZTDdnc0JISDhqQmlFWEl3WkJnQUpxSkFZZ0FDZ0MwQUloSUNBWElnQWhCU0FCS0FKVUlRRkJDQ0VJQTBBQ2Z3SkFJQUl1QVJBaUNpQUNMZ0VnSWdaeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUdEQUlGSUFKQlFHc3VBUUFFZjBFQUlRWU1Bd1VnQWk0QlVBUi9RUUFoQmd3RUJTQUNMZ0ZnQkg5QkFDRUdEQVVGSUFJdUFYQUVmMEVBSVFZTUJnVWdCU0FCS0FJQUlBSXVBUUJCQW5Sc0lnWTJBZ0FnQlNBR05nSWdJQVZCUUdzZ0JqWUNBQ0FGSUFZMkFtQWdCU0FHTmdLQUFTQUZJQVkyQXFBQklBVWdCallDd0FGQk9Bc0xDd3NMQ3d3QkN5QUNMZ0Z3SUFFb0F1QUJiQ0lISUFJdUFUQWdBU2dDWUd3aURXb2lDeUFDTGdGUUlBRW9BcUFCYkNJTUlBb2dBU2dDSUd3aUNtb2lDV3BCb2NzQWJDSVBJQXRCdTRKL2JHb2lDeUFISUFwcVFiTkdiQ0lPSUFkQmpoTnNhbW9oQnlBUElBbEJoR2RzYWlJSklBNGdDa0dMNEFCc2Ftb2hDaUFKSUF3Z0RXcEIvZHQrYkNJSklBeEJzNE1CYkdwcUlRd2dCU0FLSUFFb0FvQUJJQUpCUUdzdUFRQkJEWFJzSWc4Z0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaURtb2lFaUFCUVVCcktBSUFJQVpCRUhSQkVIVnNJZ1lnQWk0QllDQUJLQUxBQVd3aUVXcEIwU0pzSWhNZ0JrSCtNR3hxSWdacUloUnFRUXQxTmdJQUlBVWdGQ0FLYTBFTGRUWUM0QUVnQlNBTElBa2dEVUhVeEFGc2Ftb2lEU0FPSUE5cklnb2dFeUFSUWQrSmYyeHFJZ3RxSWdscVFRdDFOZ0lnSUFVZ0NTQU5hMEVMZFRZQ3dBRWdCVUZBYXlBTUlBb2dDMnNpRFdwQkMzVTJBZ0FnQlNBTklBeHJRUXQxTmdLZ0FTQUZJQWNnRWlBR2F5SUdha0VMZFRZQ1lDQUdJQWRyUVF0MUlRWkJJQXRCQW5RZ0JXb2dCallDQUNBRlFRUnFJUVVnQVVFRWFpRUJJQUpCQW1vaEFpQUlRWDlxSVFZZ0NFRUJTd1JBSUFZaENBd0JDd3NnSUVHQWZXb2hBa0VBSVFFRFFDQUFLQUlJSWcwZ0FDZ0NHQ0lNYXlJT1FkUVJiQ0VLSUFBb0FnUWlCU0FBS0FJVUlnaHFJUkFnQlNBQUtBSWNJZ1pxUWZ6RkFHd2lFaUFRUWVuUEFHd2lFU0FGSUFBb0Fnd2lCMnBCenRZQWJDSUpJQVZCMXUxK2JHcHFhaUVMSUFVZ0JtdEJ0amxzSWhNZ0VFSFZLbXdpRkNBRklBZHJRYU1hYkNJUElBVkJ3b3AvYkdwcWFpRVFJQVlnQjJvaUJVR3JWV3dpR0NBSElBaHFRZkFJYkNJWklBa2dCMEhOQkd4cWFtb2hDU0FGUVpld2Yyd2lHaUFJSUFkclFZbmFBR3dpR3lBUElBZEJtdjRBYkdwcWFpRVBJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnY2dBQ2dDRUNJVlFjL1RBR3dpSEdvaUhTQU9RZVBZQUd3aURpQU1RWU9rQVd4cUloNXFJaFlnQzJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0ZpQUxhMEVTZGtIL0IzRnFMQUFBT2dBUElBVWdBaUFISUJWQjBTSnNJZ3RxSWhVZ0NpQU5RYzA1YkdvaUZtb2lIeUFKYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBZklBbHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQWNnQzJzaUN5QU9JQTFCd2xsc2FpSU5haUlKSUFZZ0NHcEJzcWwvYkNJT0lCRWdHU0FJUWZxM2YyeHFhbW9pRVdwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0NTQVJhMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUJ4cklnY2dDaUFNUWJCZmJHb2lER29pQ2lBU0lCZ2dCa0dZeEFCc2Ftb2dEbW9pQ1dwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0NpQUphMEVTZGtIL0IzRnFMQUFBT2dBTUlBVWdBaUFISUF4cklnY2dFeUFhSUFaQmhja0JiR3BxSUFZZ0NHdEJveHBzSWdacUlneHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnREd0QkVuWkIvd2R4YWl3QUFEb0FDeUFGSUFJZ0N5QU5heUlISUJRZ0d5QUlRZnBPYkdwcUlBWnFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFjZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdGU0FXYXlJSUlBOXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWdnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0hTQWVheUlJSUJCcVFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dFR3RCRW5aQi93ZHhhaXdBQURvQUNDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQmNrQmd2VEV3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQUZCQWhBNUlRd2dBa0VDRURraERpQUVLQUlBSWdjaEFpQU1JQTVCZjJvaUVHeEJBWFFnQjJvaEJRTkFJQVlnREVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdCa0VCYWlFR0RBRUxDeUFISVFJZ0RFRi9haUlSUVFGMElBZHFJUVZCQUNFR0EwQWdCaUFPU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnREVFQmRDQUNhaUVDSUF4QkFYUWdCV29oQlNBR1FRRnFJUVlNQVFzTElBUkJrSURJQUdvaEFrRUFJQXhySVJJZ0FDQUJRUUYwUVFKcWFpRU5RUUVoQzBFQUlRVWdERUVCYWtFQmRDQUhhaUVIQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFBa0FnRWtFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQUxOZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dDellDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFMSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBQ3lBTlFRSnFJUTBnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBTmFrRUVhaUVOSUF0QkFXb2hDeUFBSVFVZ0IwRUVhaUVIREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQjBFQklRQkJBU0VEQTBBZ0F5QUZUQVJBSUFNZ0FpZ0NBQ0lHUmdSQUlBQkJBV29oQVFVZ0FDRUJJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQWlBQU5nSUFJQUVoQUNBRFFRRnFJUU1nQWtFRWFpRUNEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQjBFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRRURRQ0FCSUFCSUJFQWdCRUdNZ0FocUlBRkJBblFpQWtFQ2RHb2dERFlDQUNBRVFZeUFDR29nQWtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0FrRUNja0VDZEdvZ0RqWUNBQ0FFUVl5QUNHb2dBa0VEY2tFQ2RHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0JVZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUF5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQXlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUEwRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQTBFQmNrRURkR29pQXlBREt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUIwZ0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXZhQ0FFV2Z5TUdJUmdqQmtIZ0FXb2tCaUFBS0FMUUFpRWFJQmdpQUNFRklBRW9BbFFoQVFOQUlBSkJRR3N1QVFBZ0FTZ0NnQUZzSWdnZ0FpNEJZQ0FCS0FMQUFXd2lDV3RCdHpoc0lnd2dBaTRCSUNBQlFVQnJLQUlBYkNJSElBaHJRWklVYkNJU0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnb2dDRUdWaW45c2FtcHFJUTBnQWk0QkVDQUJLQUlnYkNJT0lBSXVBVEFnQVNnQ1lHd2lDMnBCN3p0c0loTWdEaUFMYTBIekNtd2lGR29nQ3lBQ0xnRlFJQUVvQXFBQmJDSUxha0hocDM5c0loVnFJUThnQlNBS0lBY2dDV29pRVVIRzBRQnNhaUlXSUF3Z0NVR0RlMnhxYWlJSklBc2dEbXBCb3lkc0lnNGdFeUFVYTJvaURHcEJDM1UyQWdBZ0JTQUpJQXhyUVF0MU5nTEFBU0FGSUEwZ0QycEJDM1UyQWlBZ0JTQU5JQTlyUVF0MU5nS2dBU0FGUVVCcklCWWdFaUFIUWZIaGZteHFhaUlKSUJVZ0RpQUxRZDczQUd4cWFpSUhha0VMZFRZQ0FDQUZJQWtnQjJ0QkMzVTJBb0FCSUFVZ0NpQUlJQkZyUWNIYUFHeHFRUXQxTmdKZ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQVpCQVdvaUJrRUlSdzBBQ3lBYVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh4QkRYUWlDU0FBS0FJRUlnVWdBQ2dDRkNJR2FpSUhRZExNQUd3aUVDQUZJQUFvQWd3aUNHcEJ0OVVBYkNJTUlBVkI4TGQvYkdwcWFpRU5JQVVnQ0dzaUUwSHlIV3dnQ1dzaUZDQUhRWlF3YkNJU0lBVkJpN3gvYkdwcUlRNGdCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QUFLQUlRSWdwQnh0RUFiR29pRlNBQUtBSUlJZ3NnQUNnQ0dDSVBha0hpeGdCc0loRWdDMEc5RVd4cUloWnFJaGNnRFdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0Z5QU5hMEVTZGtIL0IzRnFMQUFBT2dBTklBVWdBaUFISUFwQmtoUnNhaUlOSUJFZ0QwSDhrWDlzYWlJUmFpSVhJQVlnQ0dwQjczVnNJQWxySWhrZ0RDQUlRZTVrYkdwcUlneHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQmNnREd0QkVuWkIvd2R4YWl3QUFEb0FEQ0FGSUFJZ0J5QUtRY2xIYkdvaURDQUxRYU1uYkNBUFFlR25mMnhxSWd0cUlnOGdHU0FRSUFaQmllaCtiR3BxSWhCcVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBOGdFR3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQnlBS1FiNmxmMnhxSWdjZ0NTQVRJQVpyUVExMGFpSUtha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFISUFwclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lBd2dDMnNpQnlBU0lBWWdDR3RCK05rQWJDSUtJQWtnQmtIbWszOXNhbXBxSWdacVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dCbXRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnRFNBUmF5SUdJQlFnQ2lBSVFaa3JiR3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lBWWdDR3RCRW5aQi93ZHhhaXdBQURvQUNDQUZJQUlnRlNBV2F5SUdJQTVxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFZZ0RtdEJFblpCL3dkeGFpd0FBRG9BQnlBQVFTQnFJUUFnQVVFQmFpSUJRUWRIRFFBTElCZ2tCZ3VSQndFVmZ5TUdJUlFqQmtIQUFXb2tCaUFBS0FMUUFpRVpJQlFpQUNFRklBRW9BbFFoQVFOQUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDQ0FCS0FLQUFTQUNRVUJyTGdFQVFhRXRiR3dpREdvaURTQUJRVUJyS0FJQUlBSXVBU0JCc2M0QWJHd2lFV29pQ2lBQ0xnRVFJQUVvQWlCc0lnWWdBaTRCVUNBQktBS2dBV3dpQzJwQnRoZHNJZzRnQmlBQ0xnRXdJQUVvQW1Cc0lnZHFRUTEwYWlJU2FrRUxkVFlDQUNBRklBb2dFbXRCQzNVMkFxQUJJQVVnQ0NBTVFYNXNha0VMZFNJSUlBWWdCMnNnQzJ0QkFuUWlCbW8yQWlBZ0JTQUlJQVpyTmdLQUFTQUZRVUJySUEwZ0VXc2lCaUFPSUFzZ0IydEJEWFJxSWd0cVFRdDFOZ0lBSUFVZ0JpQUxhMEVMZFRZQ1lDQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FKUVFGcUlnbEJDRWNOQUFzZ0dVR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUdJQUFvQWhCQnNjNEFiQ0lPYWlFUUlBQW9BZ2dpQ0VFTmRDQUFLQUlZUVExMElneHJJaElnQm1vaERTQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0RDQUlRYmJYQUd4cUloVWdFR29pRHlBQUtBSWNJZ2tnQUNnQ0JDSUxJQUFvQWhRaUIyb2lDbXBCalRkc0loRWdDa0hiRUd4cUloWWdBQ2dDRENJS1FjL1RBR3dpRnlBTFFmY1JiR3BxSWhOcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQUNBRklBOGdFMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUxJQVVnRFNBTElBbHJJZzhnQ2lBSGF5SVRha0hSSW13aUdDQVBRZjR3YkdvaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQklBVWdEU0FQYTBFU2RrSC9CM0VnQW1vc0FBQTZBQW9nQlNBSVFiWVhiQ0FNYXlJSUlBWWdEbXNpREdvaURTQVdJQWNnQ1dwQmk3MS9iQ0lPSUFwQnIxMXNJZ29nQjBHd29YOXNhbXBxSWdkcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQWlBRklBMGdCMnRCRW5aQi93ZHhJQUpxTEFBQU9nQUpJQVVnRENBSWF5SUhJQTRnRVNBSlFjYmxBR3dnRjJ0cWFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FISUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQ0NBRklBWWdFbXNpQmlBWUlCTkIzNGwvYkdvaUIycEJFblpCL3dkeElBSnFMQUFBT2dBRUlBVWdCaUFIYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWNnQlNBUUlCVnJJZ1lnRVNBS0lBdEIzRlJzYWlBSlFZeUJmMnhxYWlJSmFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFVZ0JTQUdJQWxyUVJKMlFmOEhjU0FDYWl3QUFEb0FCaUFBUVNCcUlRQWdBVUVCYWlJQlFRWkhEUUFMSUJRa0JndWNCZ0VTZnlNR0lSUWpCa0dnQVdva0JpQUFLQUxRQWlFV0lCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FpNEJJQ0FCUVVCcktBSUFiQ0lKSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ1pxUWN3eWJDSUtJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZzRnQ1NBR2F5SUpRZEFXYkdvaUJtb2lDeUFDTGdFUUlBRW9BaUJzSWd3Z0FpNEJNQ0FCS0FKZ2JDSVBha0dhTld3aURTQU1RZkVnYkdvaURHcEJDM1UyQWdBZ0JTQUxJQXhyUVF0MU5nS0FBU0FGSUFZZ0Ntc2lCaUFOSUE5QjNQUitiR29pQ21wQkMzVTJBaUFnQlNBR0lBcHJRUXQxTmdKZ0lBVkJRR3NnRGlBSlFjQ2xmMnhxUVF0MU5nSUFJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUFkQkFXb2lCMEVJUncwQUN5QVdRWUI5YWlFQ1FRQWhBUU5BSUFBb0Fnd2lCeUFBS0FJY0lnWnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUFvQWhSQkRYUWlDU0FISUFacklnWkI0eE5zSWd0cUlnd2dDRUh2UEd3aUR5QUFLQUlFSWdkQnM5a0FiR3BxSWcwZ0FDZ0NBRUVOZEVHQWdJakFBR29pQ2lBQUtBSVFJZzVCbmNrQWJHb2lGU0FBS0FJSUloQWdBQ2dDR0NJUmFrR2FOV3dpRWlBUVFmRWdiR29pRUdvaUUycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdFeUFOYTBFU2RrSC9CM0VnQW1vc0FBQTZBQWtnQlNBSFFkUFFBR3dnQ0VIUEpXd2lDR3NnQ1NBTGF5QUdRUXgwYXlJTGF5SU5JQW9nRGtHRVpHeHFJaE1nRWlBUlFkejBmbXhxSWhGcUloSnFRUkoyUWY4SGNTQUNhaXdBQURvQUFTQUZJQklnRFd0QkVuWkIvd2R4SUFKcUxBQUFPZ0FJSUFVZ0J5QUdhMEVOZENBSmF5SUpJQW9nRGtHK3BYOXNhaUlHYWtFU2RrSC9CM0VnQW1vc0FBQTZBQUlnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJ5QUZJQk1nRVdzaUNTQUxJQWRCakNsc0lBaHJhaUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQU1nQlNBSklBaHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUZJQXdnQjBHVURtd2dEMnRxSWdjZ0ZTQVFheUlJYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVFnQlNBSUlBZHJRUkoyUWY4SGNTQUNhaXdBQURvQUJTQUFRU0JxSVFBZ0FVRUJhaUlCUVFWSERRQUxJQlFrQmd2QkRBRVFmeU1HSVE0akJrR0FBV29rQmlBQUtBTFFBaUVVSUE0aUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd3aUJTQUNMZ0VnSUFGQlFHc29BZ0JzSWdkcVFRSjBJZ2dnQWk0QkVDQUJLQUlnYkNJR0lBSXVBVEFnQVNnQ1lHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNBQ0FBSUFnZ0JtczJBbUFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJZ0lBQkJRR3NnQlNBSGF6WUNBQ0FBSUFJdUFRSWdBU2dDQkd3aUJTQUNMZ0VpSUFFb0FrUnNJZ2RxUVFKMElnZ2dBaTRCRWlBQktBSWtiQ0lHSUFJdUFUSWdBU2dDWkd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0JDQUFJQWdnQm1zMkFtUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lrSUFBZ0JTQUhhellDUkNBQUlBSXVBUVFnQVNnQ0NHd2lCU0FDTGdFa0lBRW9Ba2hzSWdkcVFRSjBJZ2dnQWk0QkZDQUJLQUlvYkNJR0lBSXVBVFFnQVNnQ2FHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNDQ0FBSUFnZ0JtczJBbWdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJb0lBQWdCU0FIYXpZQ1NDQUFJQUl1QVFZZ0FTZ0NER3dpQlNBQ0xnRW1JQUVvQWt4c0lnZHFRUUowSWdnZ0FpNEJGaUFCS0FJc2JDSUdJQUl1QVRZZ0FTZ0NiR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRENBQUlBZ2dCbXMyQW13Z0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXNJQUFnQlNBSGF6WUNUQ0FBSUFJdUFRZ2dBU2dDRUd3aUJTQUNMZ0VvSUFFb0FsQnNJZ2RxUVFKMElnZ2dBaTRCR0NBQktBSXdiQ0lHSUFJdUFUZ2dBU2dDY0d3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0VDQUFJQWdnQm1zMkFuQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0l3SUFBZ0JTQUhhellDVUNBQUlBSXVBUW9nQVNnQ0ZHd2lCU0FDTGdFcUlBRW9BbFJzSWdkcVFRSjBJZ2dnQWk0QkdpQUJLQUkwYkNJR0lBSXVBVG9nQVNnQ2RHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNGQ0FBSUFnZ0JtczJBblFnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJMElBQWdCU0FIYXpZQ1ZDQUFJQUl1QVF3Z0FTZ0NHR3dpQlNBQ0xnRXNJQUVvQWxoc0lnZHFRUUowSWdnZ0FpNEJIQ0FCS0FJNGJDSUdJQUl1QVR3Z0FTZ0NlR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDR0NBQUlBZ2dCbXMyQW5nZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSTRJQUFnQlNBSGF6WUNXQ0FBSUFJdUFRNGdBU2dDSEd3aUJTQUNMZ0V1SUFFb0FseHNJZ2RxUVFKMElnZ2dBaTRCSGlBQktBSThiQ0lHSUFJdUFUNGdBU2dDZkd3aUFXcEIwU0pzUVlBSWFpSUNJQVpCL2pCc2FrRUxkU0lHYWpZQ0hDQUFJQWdnQm1zMkFud2dBQ0FGSUFkclFRSjBJZ1VnQWlBQlFkK0pmMnhxUVF0MUlnRnFOZ0k4SUFBZ0JTQUJhellDWENBVVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUN5QUFLQUlNSWdWcUlnWWdBQ2dDRkNJSElBQW9BZ1FpQ0dvaUNtcEJvY3NBYkNJSklBWkJ1NEovYkdvaUR5QUlJQXRxUWJOR2JDSU1JQXRCamhOc2Ftb2hCaUFKSUFwQmhHZHNhaUlMSUF3Z0NFR0w0QUJzYW1vaENDQUxJQVVnQjJwQi9kdCtiQ0lLSUFkQnM0TUJiR3BxSVFjZ0JDQUJRUUowSUFOcUtBSUFhaUlMSUFJZ0FDZ0NBRUdRZ0FGcUlna2dBQ2dDRUNJTWFrRU5kQ0lRSUFBb0FnZ2lEU0FBS0FJWUloRnFRZEVpYkNJU0lBMUIvakJzYWlJTmFpSVRJQWhxUVJKMlFmOEhjV29zQUFBNkFBQWdDeUFDSUJNZ0NHdEJFblpCL3dkeGFpd0FBRG9BQnlBTElBSWdDU0FNYTBFTmRDSUlJQklnRVVIZmlYOXNhaUlKYWlJTUlBOGdDaUFGUWRURUFXeHFhaUlGYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXNnQWlBTUlBVnJRUkoyUWY4SGNXb3NBQUE2QUFZZ0N5QUNJQWdnQ1dzaUJTQUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBc2dBaUFGSUFkclFSSjJRZjhIY1dvc0FBQTZBQVVnQ3lBQ0lCQWdEV3NpQlNBR2FrRVNka0gvQjNGcUxBQUFPZ0FESUFzZ0FpQUZJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFRVJ3MEFDeUFPSkFZTCtRb0JDMzhqQmlFRkl3WkIwQUJxSkFZZ0FDZ0MwQUloQ3lBRklBRW9BbFFpQmlnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQnlBR1FVQnJLQUlBSUFJdUFTQkJvUzFzYkNJSWFpSUJJQVlvQWlBZ0FpNEJFRUd4emdCc2JDSUFha0VMZFRZQ0FDQUZJQUVnQUd0QkMzVTJBakFnQlNBSElBaEJmbXhxUVF0MU5nSVlJQVVnQmlnQ0JDQUNMZ0VDUVExMGJFR0FDSElpQnlBR0tBSkVJQUl1QVNKQm9TMXNiQ0lJYWlJQklBWW9BaVFnQWk0QkVrR3h6Z0JzYkNJQWFrRUxkVFlDQkNBRklBRWdBR3RCQzNVMkFqUWdCU0FISUFoQmZteHFRUXQxTmdJY0lBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlCeUFHS0FKSUlBSXVBU1JCb1Mxc2JDSUlhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRUWUNDQ0FGSUFFZ0FHdEJDM1UyQWpnZ0JTQUhJQWhCZm14cVFRdDFOZ0lnSUFVZ0JpZ0NEQ0FDTGdFR1FRMTBiRUdBQ0hJaUJ5QUdLQUpNSUFJdUFTWkJvUzFzYkNJSWFpSUJJQVlvQWl3Z0FpNEJGa0d4emdCc2JDSUFha0VMZFRZQ0RDQUZJQUVnQUd0QkMzVTJBandnQlNBSElBaEJmbXhxUVF0MU5nSWtJQVVnQmlnQ0VDQUNMZ0VJUVExMGJFR0FDSElpQnlBR0tBSlFJQUl1QVNoQm9TMXNiQ0lJYWlJQklBWW9BakFnQWk0QkdFR3h6Z0JzYkNJQWFrRUxkVFlDRUNBRlFVQnJJQUVnQUd0QkMzVTJBZ0FnQlNBSElBaEJmbXhxUVF0MU5nSW9JQVVnQmlnQ0ZDQUNMZ0VLUVExMGJFR0FDSElpQnlBR0tBSlVJQUl1QVNwQm9TMXNiQ0lJYWlJQklBWW9BalFnQWk0QkdrR3h6Z0JzYkNJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFrUWdCU0FISUFoQmZteHFRUXQxSWc4MkFpd2dCQ0FES0FJQWFpSU9JQXRCZ0gxcUlna2dCU2dDQUVFTmRFR0FnSWpBQUdvaUN5QUZLQUlRUWFFdGJDSU1haUlISUFVb0FnaEJzYzRBYkNJSWFpSUJJQVVvQWdRaUNpQUZLQUlVSWcxcVFiWVhiQ0lDSUFvZ0JTZ0NEQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU9JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUE0Z0NTQUxJQXhySUF4cklnRWdDaUFHYXlBTmEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQTRnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RpQUpJQWNnQ0dzaUFTQUNJQTBnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEaUFKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ1JxSWd3Z0NTQUZLQUlZUVExMFFZQ0FpTUFBYWlJTElBVW9BaWhCb1Mxc0lncHFJZ2NnQlNnQ0lFR3h6Z0JzSWdocUlnRWdEeUFGS0FJY0lnMXFRYllYYkNJQ0lBMGdCU2dDSkNJR2FrRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FNSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRklBd2dDU0FMSUFwcklBcHJJZ0VnRFNBR2F5QVBhMEVOZENJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUF3Z0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdEQ0FKSUFjZ0NHc2lBU0FDSUE4Z0JtdEJEWFJxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUlnRENBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUVJQU1vQWdocUlnb2dDU0FGS0FJd1FRMTBRWUNBaU1BQWFpSUlJQVZCUUdzb0FnQkJvUzFzSWcxcUlnUWdCU2dDT0VHeHpnQnNJZ05xSWdFZ0JTZ0NOQ0lHSUFVb0FrUWlDMnBCdGhkc0lnSWdCaUFGS0FJOElnZHFRUTEwYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFvZ0NTQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBVWdDaUFKSUFnZ0RXc2dEV3NpQVNBR0lBZHJJQXRyUVExMElnQnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0NpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FLSUFrZ0JDQURheUlCSUFJZ0N5QUhhMEVOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQWlBS0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQURJQVVrQmd1TEJBRUtmeU1HSVFVakJrRWdhaVFHSUFBb0F0QUNJUWNnQlNBQ0xnRUFJQUVvQWxRaUJpZ0NBR3dpQVNBQ0xnRVFJQVlvQWlCc0lnQnFJZ2cyQWdBZ0JTQUJJQUJyTmdJUUlBVWdBaTRCQWlBR0tBSUViQ0lCSUFJdUFSSWdCaWdDSkd3aUFHb2lDallDQkNBRklBRWdBR3NpQ3pZQ0ZDQUZJQUl1QVFRZ0JpZ0NDR3dpQVNBQ0xnRVVJQVlvQWloc0lnQnFJZ3cyQWdnZ0JTQUJJQUJySWcwMkFoZ2dCU0FDTGdFR0lBWW9BZ3hzSWdFZ0FpNEJGaUFHS0FJc2JDSUFhaUlPTmdJTUlBVWdBU0FBYXlJR05nSWNJQVFnQXlnQ0FHb2lDU0FIUVlCOWFpSUhJQXdnQ0VHRUlHb2lDR3BCRFhRaUFTQUtJQTVxUWRFaWJDSUNJQXBCL2pCc2FpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBa2dCeUFCSUFCclFSQjJRZjhIY1dvc0FBQTZBQU1nQ1NBSElBZ2dER3RCRFhRaUFTQUNJQTVCMzRsL2JHb2lBR3BCRUhaQi93ZHhhaXdBQURvQUFTQUpJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFRZ0F5Z0NCR29pQkNBRktBSVFRWVFnYWlJRElBMXFRUTEwSWdFZ0JpQUxha0hSSW13aUFpQUxRZjR3YkdvaUFHcEJFSFpCL3dkeElBZHFMQUFBT2dBQUlBUWdBU0FBYTBFUWRrSC9CM0VnQjJvc0FBQTZBQU1nQkNBRElBMXJRUTEwSWdFZ0FpQUdRZCtKZjJ4cUlnQnFRUkIyUWY4SGNTQUhhaXdBQURvQUFTQUVJQUVnQUd0QkVIWkIvd2R4SUFkcUxBQUFPZ0FDSUFVa0JndGhBQ0FFSUFNb0FnQnFJZ01nQUNnQzBBSkJnSDFxSWdBZ0FpNEJBQ0FCS0FKVUlnRW9BZ0JzUVlRZ2FpSUVJQUl1QVFJZ0FTZ0NCR3dpQVdwQkEzWkIvd2R4YWl3QUFEb0FBQ0FESUFRZ0FXdEJBM1pCL3dkeElBQnFMQUFBT2dBQkM5Y0pBUjUvSXdZaEZpTUdRWUFFYWlRR0lBQW9BdEFDSVNJZ0ZpSUFJUVVnQVNnQ1ZDRUJBMEFnQWk0QklDQUJRVUJyS0FJQWJDSU1JQUl1QVdBZ0FTZ0N3QUZzSWhGcklnOUIxQkZzSVFvZ0FpNEJFQ0FCS0FJZ2JDSUdJQUl1QVZBZ0FTZ0NvQUZzSWdkcUlSQWdCaUFDTGdGd0lBRW9BdUFCYkNJSWFrSDh4UUJzSWhjZ0VFSHB6d0JzSWhRZ0JpQUNMZ0V3SUFFb0FtQnNJZ2xxUWM3V0FHd2lEU0FHUWRidGZteHFhbW9oRGlBR0lBaHJRYlk1YkNJWklCQkIxU3BzSWhnZ0JpQUphMEdqR213aUVpQUdRY0tLZjJ4cWFtb2hFQ0FJSUFscUlnWkJxMVZzSWhvZ0J5QUpha0h3Q0d3aUd5QUpRYzBFYkNBTmFtcHFJUTBnQmtHWHNIOXNJaHdnQnlBSmEwR0oyZ0JzSWgwZ0NVR2EvZ0JzSUJKcWFtb2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdZZ0FrRkFheTRCQUNBQktBS0FBV3dpRWtIUDB3QnNJaDVxSWg4Z0QwSGoyQUJzSWc4Z0VVR0RwQUZzYWlJZ2FpSVZJQTVxUVF0MU5nSUFJQVVnRlNBT2EwRUxkVFlDNEFNZ0JTQU5JQVlnRWtIUkltd2lEbW9pRWlBS0lBeEJ6VGxzYWlJVmFpSWhha0VMZFRZQ0lDQUZJQ0VnRFd0QkMzVTJBc0FESUFWQlFHc2dCeUFJYWtHeXFYOXNJZzBnR3lBSFFmcTNmMnhxSUJScWFpSVVJQVlnRG1zaURpQVBJQXhCd2xsc2FpSU1haUlQYWtFTGRUWUNBQ0FGSUE4Z0ZHdEJDM1UyQXFBRElBVWdHaUFJUVpqRUFHeHFJQmRxSUExcUlnMGdCaUFlYXlJR0lBb2dFVUd3WDJ4cUloRnFJZ3BxUVF0MU5nSmdJQVVnQ2lBTmEwRUxkVFlDZ0FNZ0JTQWNJQWhCaGNrQmJHb2dHV29nQ0NBSGEwR2pHbXdpQ0dvaUNpQUdJQkZySWdacVFRdDFOZ0tBQVNBRklBWWdDbXRCQzNVMkF1QUNJQVVnSFNBSFFmcE9iR29nR0dvZ0NHb2lCaUFPSUF4cklnZHFRUXQxTmdLZ0FTQUZJQWNnQm10QkMzVTJBc0FDSUFVZ0NTQVNJQlZySWdacVFRdDFOZ0xBQVNBRklBWWdDV3RCQzNVMkFxQUNJQVVnRUNBZklDQnJJZ1pxUVF0MU5nTGdBU0FGSUFZZ0VHdEJDM1UyQW9BQ0lBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXRCQVdvaUMwRUlSdzBBQ3lBaVFZQjlhaUVDUVFBaEFRTkFJQUFvQWh3aUJTQUFLQUlNSWd0cUlnZ2dBQ2dDRkNJR0lBQW9BZ1FpQjJvaUNXcEJvY3NBYkNJTUlBaEJ1NEovYkdvaUVTQUZJQWRxUWJOR2JDSUtJQVZCamhOc2Ftb2hDQ0FNSUFsQmhHZHNhaUlGSUFvZ0IwR0w0QUJzYW1vaEJ5QUZJQVlnQzJwQi9kdCtiQ0lKSUFaQnM0TUJiR3BxSVFZZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUdRZ0FGcUlnd2dBQ2dDRUNJS2FrRU5kQ0lRSUFBb0FnZ2lEaUFBS0FJWUlnMXFRZEVpYkNJVElBNUIvakJzYWlJT2FpSVBJQWRxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUE4Z0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdEQ0FLYTBFTmRDSUhJQk1nRFVIZmlYOXNhaUlNYWlJS0lCRWdDU0FMUWRURUFXeHFhaUlMYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVVnQWlBS0lBdHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQWNnREdzaUN5QUdha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUFaclFSSjJRZjhIY1dvc0FBQTZBQVVnQlNBQ0lCQWdEbXNpQ3lBSWFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUxJQWhyUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFUVJ3MEFDeUFXSkFZTG5RZ0JHWDhqQmlFWEl3WkJrQU5xSkFZZ0FDZ0MwQUloSFNBWElnQWhCU0FCS0FKVUlRRURRQ0FDTGdGd0lBRW9BdUFCYkNJVFFRMTBJZ3NnQWk0QkVDQUJLQUlnYkNJSElBSXVBVkFnQVNnQ29BRnNJZ1pxSWdwQjBzd0FiQ0lQSUFjZ0FpNEJNQ0FCS0FKZ2JDSUlha0czMVFCc0loQWdCMEh3dDM5c2FtcHFJUWtnQnlBSWF5SVlRZklkYkNBTGF5SVpJQXBCbERCc0loUWdCMEdMdkg5c2Ftb2hFU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdjZ0FrRkFheTRCQUNBQktBS0FBV3dpQ2tIRzBRQnNhaUlhSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDTGdGZ0lBRW9Bc0FCYkNJT2FrSGl4Z0JzSWhVZ0RFRzlFV3hxSWh0cUloWWdDV3BCQzNVMkFnQWdCU0FXSUFsclFRdDFOZ0xzQWlBRklBWWdDR3BCNzNWc0lBdHJJZ2tnQ0VIdVpHd2dFR3BxSWhBZ0J5QUtRWklVYkdvaUZpQVZJQTVCL0pGL2JHb2lGV29pSEdwQkMzVTJBaHdnQlNBY0lCQnJRUXQxTmdMUUFpQUZJQWtnQmtHSjZINXNJQTlxYWlJSklBY2dDa0hKUjJ4cUlnOGdERUdqSjJ3Z0RrSGhwMzlzYWlJTWFpSU9ha0VMZFRZQ09DQUZJQTRnQ1d0QkMzVTJBclFDSUFVZ0dDQUdheUFUYWtFQ2RDSUpJQWNnQ2tHK3BYOXNha0VMZFNJSGFqWUNWQ0FGSUFjZ0NXczJBcGdDSUFVZ0JpQUlhMEg0MlFCc0lnY2dCa0htazM5c2FpQVVhaUFMYWlJR0lBOGdER3NpQzJwQkMzVTJBbkFnQlNBTElBWnJRUXQxTmdMOEFTQUZJQWNnQ0VHWksyeHFJQmxxSWdZZ0ZpQVZheUlJYWtFTGRUWUNqQUVnQlNBSUlBWnJRUXQxTmdMZ0FTQUZJQm9nRzJzaUJpQVJha0VMZFRZQ3FBRWdCU0FHSUJGclFRdDFOZ0xFQVNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQU5RUUZxSWcxQkIwY05BQXNnSFVHQWZXb2hBa0VBSVFFRFFDQUFLQUlRSWcwZ0FDZ0NHQ0lHYTBHM09Hd2lEQ0FBS0FJSUlnZ2dEV3RCa2hSc0lnNGdBQ2dDQUVFTmRFR0FnSWpBQUdvaUJ5QU5RWldLZjJ4cWFtb2hDeUFBS0FJRUlnb2dBQ2dDRENJRmFrSHZPMndpRWlBS0lBVnJRZk1LYkNJVGFpQUZJQUFvQWhRaUNXcEI0YWQvYkNJUGFpRVJJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWNnQmlBSWFpSVFRY2JSQUd4cUloUWdEQ0FHUVlON2JHcHFJZ1lnQ1NBS2FrR2pKMndpQ2lBU0lCTnJhaUlNYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBR0lBeHJRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQXNnRVdwQkVuWkIvd2R4YWl3QUFEb0FBU0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFVSUE0Z0NFSHg0WDVzYW1vaUJpQVBJQW9nQ1VIZTl3QnNhbW9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFISUEwZ0VHdEJ3ZG9BYkdwQkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJ4cUlRQWdBVUVCYWlJQlFRNUhEUUFMSUJja0Jndm5CZ0VYZnlNR0lSUWpCa0dnQW1va0JpQUFLQUxRQWlFYklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdnZ0FTZ0NnQUVnQWtGQWF5NEJBRUd4emdCc2JDSVNhaUVRSUFnZ0FpNEJJQ0FCUVVCcktBSUFiQ0lLUVExMElBRW9Bc0FCSUFJdUFXQkJEWFJzSWd0ckloWnFJUXdnQlNBUUlBcEJ0dGNBYkNBTGFpSVhhaUlUSUFJdUFYQWdBU2dDNEFGc0lnWWdBaTRCRUNBQktBSWdiQ0lOSUFJdUFWQWdBU2dDb0FGc0lnZHFJZzVxUVkwM2JDSVJJQTVCMnhCc2FpSVlJQUl1QVRBZ0FTZ0NZR3dpRGtIUDB3QnNJaGtnRFVIM0VXeHFhaUlQYWtFTGRUWUNBQ0FGSUJNZ0QydEJDM1UyQW9nQ0lBVWdEaUFIYXlJVElBMGdCbXNpRDJwQjBTSnNJaG9nRDBIK01HeHFJZzhnREdwQkMzVTJBaGdnQlNBTUlBOXJRUXQxTmdMd0FTQUZJQWdnRW1zaURDQUtRYllYYkNBTGF5SUthaUlMSUJnZ0JpQUhha0dMdlg5c0loSWdEa0d2WFd3aURpQUhRYkNoZjJ4cWFtb2lCMnBCQzNVMkFqQWdCU0FMSUFkclFRdDFOZ0xZQVNBRklBd2dDbXNpQnlBU0lCRWdCa0hHNVFCc0lCbHJhbW9pQ21wQkMzVTJBa2dnQlNBSElBcHJRUXQxTmdMQUFTQUZJQm9nRTBIZmlYOXNhaUlISUFnZ0Ztc2lDR3BCQzNVMkFtQWdCU0FJSUFkclFRdDFOZ0tvQVNBRklCQWdGMnNpQ0NBUklBNGdEVUhjVkd4cUlBWkJqSUYvYkdwcUlnWnFRUXQxTmdKNElBVWdDQ0FHYTBFTGRUWUNrQUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFaSERRQUxJQnRCZ0gxcUlRSkJBQ0VCQTBBZ0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFRYUV0YkNJSmFpSVFJQUFvQWdoQnNjNEFiQ0lLYWlJTElBQW9BZ1FpQmlBQUtBSVVJZ2hxUWJZWGJDSU1JQVlnQUNnQ0RDSU5ha0VOZEdvaUVXcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdDeUFSYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQVVnQWlBSElBbHJJQWxySWdrZ0JpQU5heUFJYTBFTmRDSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFKSUFaclFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lCQWdDbXNpQ1NBTUlBZ2dEV3RCRFhScUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTQUNJQWtnQm10QkVuWkIvd2R4YWl3QUFEb0FBeUFBUVJocUlRQWdBVUVCYWlJQlFReEhEUUFMSUJRa0JndjlCUUVWZnlNR0lSUWpCa0hRQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFJdUFUQWdBU2dDWUd3aUJpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWlFSElBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlDU0FDUVVCckxnRUFJQUVvQW9BQmJDSUxRWjNKQUd4cUlnMGdBaTRCSUNBQlFVQnJLQUlBYkNJT0lBSXVBV0FnQVNnQ3dBRnNJZzlxUVpvMWJDSVFJQTVCOFNCc2FpSU9haUlSSUFZZ0NHc2lDRUhqRTJ3aUVpQUNMZ0ZRSUFFb0FxQUJiQ0lWUVExMEloTnFJaFlnQjBIdlBHd2lGeUFDTGdFUUlBRW9BaUJzSWdaQnM5a0FiR3BxSWhocVFRdDFOZ0lBSUFVZ0VTQVlhMEVMZFRZQ3RBRWdCU0FKSUF0QmhHUnNhaUlSSUJBZ0QwSGM5SDVzYWlJUGFpSVFJQVpCMDlBQWJDQUhRYzhsYkNJSGF5QVRJQkpySUFoQkRIUnJJaEpySWhOcVFRdDFOZ0lVSUFVZ0VDQVRhMEVMZFRZQ29BRWdCU0FKSUF0QnZxVi9iR3BCQzNVaUNTQUdJQlZySUFoclFRSjBJZ3RxTmdJb0lBVWdDU0FMYXpZQ2pBRWdCU0FSSUE5cklna2dFaUFHUVl3cGJDQUhhMm9pQjJwQkMzVTJBandnQlNBSklBZHJRUXQxTmdKNElBVWdEU0FPYXlJSElCWWdCa0dVRG13Z0YydHFJZ1pxUVF0MU5nSlFJQVVnQnlBR2EwRUxkVFlDWkNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUtRUUZxSWdwQkJVY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlJSWdvZ0FDZ0NFQ0lHYWtITU1td2lCeUFBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQW9nQm1zaUNrSFFGbXhxSWdacUlnc2dBQ2dDQkNJSUlBQW9BZ3dpREdwQm1qVnNJZzBnQ0VIeElHeHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUFzZ0NHdEJFblpCL3dkeGFpd0FBRG9BQkNBRklBSWdCaUFIYXlJR0lBMGdERUhjOUg1c2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFHSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBa2dDa0hBcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFCQkZHb2hBQ0FCUVFGcUlnRkJDa2NOQUFzZ0ZDUUdDK2dQQVJCL0l3WWhDQ01HUVlBQmFpUUdJQUFvQXRBQ0lSQWdDQ0VBSUFFb0FsUWhBVUVFSVFZRFFBSi9Ba0FnQWk0QkVDSUxJQUl1QVNBaUJYSkIvLzhEY1FSL0RBRUZJQUl1QVRBRWYwRUFJUVVNQWdVZ0FrRkFheTRCQUFSL1FRQWhCUXdEQlNBQ0xnRlFCSDlCQUNFRkRBUUZJQUl1QVdBRWYwRUFJUVVNQlFVZ0FpNEJjQVIvUVFBaEJRd0dCU0FBSUFFb0FnQWdBaTRCQUVFQ2RHd2lCVFlDQUNBQUlBVTJBaEFnQUNBRk5nSWdJQUFnQlRZQ01DQUFRVUJySUFVMkFnQWdBQ0FGTmdKUUlBQWdCVFlDWUVFY0N3c0xDd3NMREFFTElBSXVBWEFnQVNnQzRBRnNJZ2NnQWk0Qk1DQUJLQUpnYkNJSmFpSU5JQUl1QVZBZ0FTZ0NvQUZzSWdvZ0N5QUJLQUlnYkNJTGFpSU1ha0doeXdCc0lnNGdEVUc3Z245c2FpSU5JQWNnQzJwQnMwWnNJZzhnQjBHT0UyeHFhaUVISUE0Z0RFR0VaMnhxSWd3Z0R5QUxRWXZnQUd4cWFpRUxJQXdnQ1NBS2FrSDkyMzVzSWd3Z0NrR3pnd0ZzYW1vaENpQUFJQXNnQVNnQ2dBRWdBa0ZBYXk0QkFFRU5kR3dpRGlBQktBSUFJQUl1QVFCQkRYUnNRWUFJY2lJUGFpSVJJQUZCUUdzb0FnQWdCVUVRZEVFUWRXd2lCU0FDTGdGZ0lBRW9Bc0FCYkNJU2FrSFJJbXdpRXlBRlFmNHdiR29pQldvaUZHcEJDM1UyQWdBZ0FDQVVJQXRyUVF0MU5nSndJQUFnRFNBTUlBbEIxTVFCYkdwcUlna2dEeUFPYXlJTElCTWdFa0hmaVg5c2FpSU5haUlNYWtFTGRUWUNFQ0FBSUF3Z0NXdEJDM1UyQW1BZ0FDQUtJQXNnRFdzaUNXcEJDM1UyQWlBZ0FDQUpJQXByUVF0MU5nSlFJQUFnQnlBUklBVnJJZ1ZxUVF0MU5nSXdJQVVnQjJ0QkMzVWhCVUVRQzBFQ2RDQUFhaUFGTmdJQUlBQkJCR29oQUNBQlFRUnFJUUVnQWtFQ2FpRUNJQVpCZjJvaEJTQUdRUUZMQkVBZ0JTRUdEQUVMQ3lBRUlBTW9BZ0JxSWdFZ0VFR0FmV29pQUNBSUtBSUFRWkNBQVdvaUFpQUlLQUlJSWdacVFRMTBJZ1VnQ0NnQ0JDSUhJQWdvQWd3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJRWFpSUJJQUFnQ0NnQ0VFR1FnQUZxSWdJZ0NDZ0NHQ0lHYWtFTmRDSUZJQWdvQWhRaUJ5QUlLQUljSWdscVFkRWliQ0lLSUFkQi9qQnNhaUlIYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRklBZHJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQm10QkRYUWlBaUFLSUFsQjM0bC9iR29pQm1wQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQUdhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBUWdBeWdDQ0dvaUFTQUFJQWdvQWlCQmtJQUJhaUlDSUFnb0FpZ2lCbXBCRFhRaUJTQUlLQUlrSWdjZ0NDZ0NMQ0lKYWtIUkltd2lDaUFIUWY0d2JHb2lCMnBCRW5aQi93ZHhhaXdBQURvQUFDQUJJQUFnQlNBSGEwRVNka0gvQjNGcUxBQUFPZ0FESUFFZ0FDQUNJQVpyUVExMElnSWdDaUFKUWQrSmYyeHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBRWdBU0FBSUFJZ0JtdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBTW9BZ3hxSWdFZ0FDQUlLQUl3UVpDQUFXb2lBaUFJS0FJNElnWnFRUTEwSWdVZ0NDZ0NOQ0lISUFnb0Fqd2lDV3BCMFNKc0lnb2dCMEgrTUd4cUlnZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0FTQUFJQVVnQjJ0QkVuWkIvd2R4YWl3QUFEb0FBeUFCSUFBZ0FpQUdhMEVOZENJQ0lBb2dDVUhmaVg5c2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQklBRWdBQ0FDSUFaclFSSjJRZjhIY1dvc0FBQTZBQUlnQkNBREtBSVFhaUlCSUFBZ0NFRkFheWdDQUVHUWdBRnFJZ0lnQ0NnQ1NDSUdha0VOZENJRklBZ29Ba1FpQnlBSUtBSk1JZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NGR29pQVNBQUlBZ29BbEJCa0lBQmFpSUNJQWdvQWxnaUJtcEJEWFFpQlNBSUtBSlVJZ2NnQ0NnQ1hDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FoaHFJZ0VnQUNBSUtBSmdRWkNBQVdvaUFpQUlLQUpvSWdacVFRMTBJZ1VnQ0NnQ1pDSUhJQWdvQW13aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJY2FpSUJJQUFnQ0NnQ2NFR1FnQUZxSWdJZ0NDZ0NlQ0lEYWtFTmRDSUVJQWdvQW5RaUJpQUlLQUo4SWdWcVFkRWliQ0lISUFaQi9qQnNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBRUlBWnJRUkoyUWY4SGNXb3NBQUE2QUFNZ0FTQUFJQUlnQTJ0QkRYUWlBaUFISUFWQjM0bC9iR29pQTJwQkVuWkIvd2R4YWl3QUFEb0FBU0FCSUFBZ0FpQURhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBZ2tCZ3VnQ3dFTGZ5TUdJUVVqQmtIUUFHb2tCaUFBS0FMUUFpRVBJQVVnQVNnQ1ZDSUlLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSU9JQWdvQW9BQklBSkJRR3N1QVFCQm9TMXNiQ0lLYWlJR0lBaEJRR3NvQWdBZ0FpNEJJRUd4emdCc2JDSUphaUlCSUFJdUFSQWdDQ2dDSUd3aUN5QUNMZ0ZRSUFnb0FxQUJiQ0lNYWtHMkYyd2lCeUFMSUFJdUFUQWdDQ2dDWUd3aURXcEJEWFJxSWdCcVFRdDFOZ0lBSUFVZ0FTQUFhMEVMZFRZQ1BDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBMXJJQXhyUVFKMElnQnFOZ0lNSUFVZ0FTQUFhellDTUNBRklBWWdDV3NpQVNBSElBd2dEV3RCRFhScUlnQnFRUXQxTmdJWUlBVWdBU0FBYTBFTGRUWUNKQ0FGSUFnb0FrUWdBaTRCSWtHeHpnQnNiQ0lPSUFnb0FnUWdBaTRCQWtFTmRHeEJnQWh5SWdvZ0NDZ0NoQUVnQWk0QlFrR2hMV3hzSWdacUlnbHFJZ0VnQWk0QkVpQUlLQUlrYkNJTElBSXVBVklnQ0NnQ3BBRnNJZ3hxUWJZWGJDSUhJQXNnQWk0Qk1pQUlLQUprYkNJTmFrRU5kR29pQUdwQkMzVTJBZ1FnQlVGQWF5QUJJQUJyUVF0MU5nSUFJQVVnQ3lBTmF5QU1hMEVDZENJQklBb2dCa0YrYkdwQkMzVWlBR28yQWhBZ0JTQUFJQUZyTmdJMElBVWdDU0FPYXlJQklBY2dEQ0FOYTBFTmRHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0lvSUFVZ0NDZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaURpQUlLQUtJQVNBQ0xnRkVRYUV0Ykd3aUNtb2lCaUFJS0FKSUlBSXVBU1JCc2M0QWJHd2lDV29pQVNBQ0xnRVVJQWdvQWloc0lnc2dBaTRCVkNBSUtBS29BV3dpREdwQnRoZHNJZ2NnQ3lBQ0xnRTBJQWdvQW1oc0lnSnFRUTEwYWlJQWFrRUxkU0lOTmdJSUlBVWdBU0FBYTBFTGRUWUNSQ0FGSUE0Z0NrRitiR3BCQzNVaUFTQUxJQUpySUF4clFRSjBJZ0JxSWdvMkFoUWdCU0FCSUFCck5nSTRJQVVnQmlBSmF5SUJJQWNnRENBQ2EwRU5kR29pQUdwQkMzVWlDVFlDSUNBRklBRWdBR3RCQzNVMkFpd2dCQ0FES0FJQWFpSUhJQTlCZ0gxcUlnWWdCU2dDQUVFTmRFR0FnSWpBQUdvaUFpQU5RYUV0YkdvaUFTQUZLQUlFUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQVlnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0JpQUNJQTFCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ1JxSWdjZ0JpQUZLQUlNUVExMFFZQ0FpTUFBYWlJQ0lBcEJvUzFzYWlJQklBVW9BaEJCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBY2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQnlBR0lBSWdDa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NDR29pQnlBR0lBVW9BaGhCRFhSQmdJQ0l3QUJxSWdJZ0NVR2hMV3hxSWdFZ0JTZ0NIRUd4emdCc0lnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0J5QUdJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBaUFISUFZZ0FpQUpRYjZsZjJ4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQkNBREtBSU1haUlKSUFZZ0JTZ0NKRUVOZEVHQWdJakFBR29pQnlBRktBSXNJZ0pCb1Mxc2FpSUJJQVVvQWloQnNjNEFiQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQWtnQmlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0NTQUdJQWNnQWtHK3BYOXNha0VTZGtIL0IzRnFMQUFBT2dBQklBUWdBeWdDRUdvaUNTQUdJQVVvQWpCQkRYUkJnSUNJd0FCcUlnY2dCU2dDT0NJQ1FhRXRiR29pQVNBRktBSTBRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWtnQmlBSElBSkJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FoUnFJZ1FnQmlBRktBSThRUTEwUVlDQWlNQUFhaUlESUFVb0FrUWlBa0doTFd4cUlnRWdCVUZBYXlnQ0FFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQkNBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQVlnQXlBQ1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCU1FHQzdJRUFRcC9Jd1loQmlNR1FTQnFKQVlnQUNnQzBBSWhEQ0FHSUFJdUFRQWdBU2dDVkNJSEtBSUFiQ0lKSUFJdUFTQWdCMEZBYXlnQ0FHd2lDbXBCRFhRaUFTQUNMZ0VRSUFjb0FpQnNJZ0FnQWk0Qk1DQUhLQUpnYkNJRmFrSFJJbXdpQ0NBQVFmNHdiR29pQUdvaURUWUNBQ0FHSUFFZ0FHczJBaGdnQmlBSklBcHJRUTEwSWdFZ0NDQUZRZCtKZjJ4cUlnQnFJZzQyQWdnZ0JpQUJJQUJySWdrMkFoQWdCaUFDTGdFQ0lBY29BZ1JzSWdvZ0FpNEJJaUFIS0FKRWJDSUZha0VOZENJQklBSXVBUklnQnlnQ0pHd2lBQ0FDTGdFeUlBY29BbVJzSWdocVFkRWliQ0lDSUFCQi9qQnNhaUlBYWlJTE5nSUVJQVlnQVNBQWF5SUhOZ0ljSUFZZ0NpQUZhMEVOZENJQklBSWdDRUhmaVg5c2FpSUFhaUlJTmdJTUlBWWdBU0FBYXlJQ05nSVVJQVFnQXlnQ0FHb2lBU0FNUVlCOWFpSUZJQXNnRFVHQWdJSVFhaUlBYWtFUWRrSC9CM0ZxTEFBQU9nQUFJQUVnQUNBTGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JDQURLQUlFYWlJQklBNUJnSUNDRUdvaUFDQUlha0VRZGtIL0IzRWdCV29zQUFBNkFBQWdBU0FBSUFoclFSQjJRZjhIY1NBRmFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdFZ0NVR0FnSUlRYWlJQUlBSnFRUkIyUWY4SGNTQUZhaXdBQURvQUFDQUJJQUFnQW10QkVIWkIvd2R4SUFWcUxBQUFPZ0FCSUFRZ0F5Z0NER29pQVNBR0tBSVlRWUNBZ2hCcUlnQWdCMnBCRUhaQi93ZHhJQVZxTEFBQU9nQUFJQUVnQUNBSGEwRVFka0gvQjNFZ0JXb3NBQUE2QUFFZ0JpUUdDMmNCQVg4Z0JDQURLQUlBYWlBQUtBTFFBa0dBZldvaUFDQUNMZ0VBSUFFb0FsUWlBU2dDQUd4QmhDQnFJZ1VnQWk0QkVDQUJLQUlnYkNJQmFrRURka0gvQjNGcUxBQUFPZ0FBSUFRZ0F5Z0NCR29nQlNBQmEwRURka0gvQjNFZ0FHb3NBQUE2QUFBTDhRZ0JFWDhqQmlFU0l3WkJnQUpxSkFZZ0FDZ0MwQUloRlNBU0lnQWhCaUFCS0FKVUlRRkJDQ0VKQTBBQ2Z3SkFJQUl1QVJBaUJ5QUNMZ0VnSWdWeVFmLy9BM0VFZnd3QkJTQUNMZ0V3Qkg5QkFDRUZEQUlGSUFKQlFHc3VBUUFFZjBFQUlRVU1Bd1VnQWk0QlVBUi9RUUFoQlF3RUJTQUNMZ0ZnQkg5QkFDRUZEQVVGSUFJdUFYQUVmMEVBSVFVTUJnVWdCaUFDTGdFQUlBRW9BZ0JzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBSElBRW9BaUJzSWdjZ0FpNEJjQ0FCS0FMZ0FXd2lDR29pQ3lBQ0xnRXdJQUVvQW1Cc0lnb2dBaTRCVUNBQktBS2dBV3dpRFdvaURtdEI2Z0pzUVFoMUlBMGdDbXNpQ2lBSElBaHJJZzFxUWRrRGJFRUlkU0lQSUFwQm5RVnNRUWgxYXlBTElBNXFJZ2hySWd0cklRY2dCaUFDTGdFQUlBRW9BZ0JzSWdvZ0FrRkFheTRCQUNBQktBS0FBV3dpRG1vaUVDQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0loRWdBaTRCWUNBQktBTEFBV3dpRTJvaUJXb2lGQ0FJYWpZQ0FDQUdJQlFnQ0dzMkF1QUJJQVlnQ3lBS0lBNXJJZ2dnRVNBVGEwSHFBbXhCQ0hVZ0JXc2lDbW9pRG1vMkFpQWdCaUFPSUF0ck5nTEFBU0FHUVVCcklBY2dDQ0FLYXlJSWFqWUNBQ0FHSUFnZ0IyczJBcUFCSUFZZ0R5QU5RWlVDYkVFSWRXc2dCMnNpQnlBUUlBVnJJZ1ZxTmdKZ0lBVWdCMnNoQlVFZ0MwRUNkQ0FHYWlBRk5nSUFJQVpCQkdvaEJpQUJRUVJxSVFFZ0FrRUNhaUVDSUFsQmYyb2hCU0FKUVFGTEJFQWdCU0VKREFFTEN5QVZRWUI5YWlFSlFRQWhBUU5BSUFRZ0FVRUNkQ0FEYWlnQ0FHb2hCaUFBS0FJQVFaQ0FBV29oQlFKQUFrQWdBQ2dDQkNJSElBQW9BZ2dpQW5JTkFDQUFLQUlNQkVCQkFDRUNEQUVGSUFBb0FoQUVRRUVBSVFJTUFnVWdBQ2dDRkFSQVFRQWhBZ3dEQlNBQUtBSVlCRUJCQUNFQ0RBUUZJQUFvQWh3RVFFRUFJUUlNQlFVZ0JpQUpJQVZCQlhaQi93ZHhhaXdBQUNJQ09nQUFJQVpCQVdvZ0FrRUhFRVVhQ3dzTEN3c01BUXNnQnlBQUtBSWNJZ2hxSWdzZ0FDZ0NGQ0lNSUFBb0Fnd2lDbW9pRFd0QjZnSnNRUWgxSUF3Z0Ntc2lEQ0FISUFocklncHFRZGtEYkVFSWRTSU9JQXhCblFWc1FRaDFheUFMSUExcUlnaHJJZ3RySVFjZ0JpQUpJQVVnQUNnQ0VDSU5haUlQSUFBb0FoZ2lFQ0FDYWlJTWFpSVJJQWhxUVFWMlFmOEhjV29zQUFBNkFBQWdCaUFKSUJFZ0NHdEJCWFpCL3dkeGFpd0FBRG9BQnlBR0lBa2dCU0FOYXlJRklBSWdFR3RCNmdKc1FRaDFJQXhySWdKcUlnZ2dDMnBCQlhaQi93ZHhhaXdBQURvQUFTQUdJQWtnQ0NBTGEwRUZka0gvQjNGcUxBQUFPZ0FHSUFZZ0NTQUZJQUpySWdJZ0IycEJCWFpCL3dkeGFpd0FBRG9BQWlBR0lBa2dBaUFIYTBFRmRrSC9CM0ZxTEFBQU9nQUZJQVlnQ1NBUElBeHJJZ0lnRGlBS1FaVUNiRUVJZFdzZ0Iyc2lCV3BCQlhaQi93ZHhhaXdBQURvQUF5QUdJQWtnQWlBRmEwRUZka0gvQjNGcUxBQUFPZ0FFQ3lBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCSWtCZ3ZyQndJSGZ3eDlJd1loQ0NNR1FZQUNhaVFHSUFBb0F0QUNJUXNnQ0NJQUlRVWdBU2dDVkNFQlFRZ2hCd05BQW44Q1FDQUNMZ0VRSWdvZ0FpNEJJQ0lHY2tILy93TnhCSDhNQVFVZ0FpNEJNQVIvUVFBaEJnd0NCU0FDUVVCckxnRUFCSDlCQUNFR0RBTUZJQUl1QVZBRWYwRUFJUVlNQkFVZ0FpNEJZQVIvUVFBaEJnd0ZCU0FDTGdGd0JIOUJBQ0VHREFZRklBVWdBU29DQUNBQ0xnRUFzcFFpRERnQ0FDQUZJQXc0QWlBZ0JVRkFheUFNT0FJQUlBVWdERGdDWUNBRklBdzRBb0FCSUFVZ0REZ0NvQUVnQlNBTU9BTEFBVUU0Q3dzTEN3c0xEQUVMSUFFcUFpQWdDcktVSWd3Z0FTb0M0QUVnQWk0QmNMS1VJZzJTSWhBZ0FTb0NZQ0FDTGdFd3NwUWlEaUFCS2dLZ0FTQUNMZ0ZRc3BRaUVaSWlENU5EOHdTMVA1UWdFU0FPa3lJT0lBd2dEWk1pRVpKRFhvUHNQNVFpRXlBT1EzVTlKMENVa3lBUElCQ1NJZzJUSWhDVElRd2dCU0FCS2dJQUlBSXVBUUN5bENJUElBRXFBb0FCSUFKQlFHc3VBUUN5bENJU2tpSVVJQUZCUUdzcUFnQWdCa0VRZEVFUWRiS1VJaFVnQVNvQ3dBRWdBaTRCWUxLVUloYVNJZzZTSWhjZ0RaSTRBZ0FnQlNBWElBMlRPQUxnQVNBRklBOGdFcE1pRFNBVklCYVRRL01FdFQrVUlBNlRJZytTSWhJZ0VKSTRBaUFnQlNBU0lCQ1RPQUxBQVNBRlFVQnJJQTBnRDVNaURTQU1ramdDQUNBRklBMGdESk00QXFBQklBVWdGQ0FPa3lJTklCTWdFVVBVaTRvL2xKTWdESk1pREpJNEFtQWdEU0FNa3lFTVFTQUxRUUowSUFWcUlBdzRBZ0FnQlVFRWFpRUZJQUZCQkdvaEFTQUNRUUpxSVFJZ0IwRi9haUVHSUFkQkFVc0VRQ0FHSVFjTUFRc0xJQXRCZ0gxcUlRSkJBQ0VCQTBBZ0FDb0NCQ0lNSUFBcUFod2lEWklpRUNBQUtnSVVJZzRnQUNvQ0RDSVJraUlQazBQekJMVS9sQ0FPSUJHVElnNGdEQ0FOa3lJUmtrTmVnK3cvbENJVElBNURkVDBuUUpTVElBOGdFSklpRFpNaUVKTWhEQ0FFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS2dJQVF3QWdBRVNTSWc4Z0FDb0NFQ0lTa2lJVUlBQXFBZ2dpRlNBQUtnSVlJaGFTSWc2U0loY2dEWklRUTBIL0IzRnFMQUFBT2dBQUlBVWdBaUFYSUEyVEVFTkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0R5QVNreUlOSUJVZ0ZwTkQ4d1MxUDVRZ0RwTWlENUlpRWlBUWtoQkRRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCSWdFSk1RUTBIL0IzRnFMQUFBT2dBR0lBVWdBaUFOSUErVElnMGdESklRUTBIL0IzRnFMQUFBT2dBQ0lBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCU0FGSUFJZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESklRUTBIL0IzRnFMQUFBT2dBRElBVWdBaUFOSUF5VEVFTkIvd2R4YWl3QUFEb0FCQ0FBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUFna0Jndk5LQUlMZndGOElBQW9BdGdESVFzZ0FDZ0NKRUVBVEFSQUR3c2dBQ2dDMkFFaEFRTkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0FTSUlLQUlvSUFFb0FpUWlCRUVJZEdwQmdRSnJEcEFlQUI0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCWUJJQjBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFJZ0lCd2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCVWdBeUFnSUJzZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBRUlDQWdJQm9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCUWdJQVVnSUNBZ0lCa2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0JpQWdJQ0FnSUJnZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCTWdJQ0FmSUNBZ0lDQWdJQmNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCSWdJQ0FnQ0NBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUpJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCRWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDeUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lCQWdJQ0FnSUNBTUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQTBnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBOGdJQ0FnSUNBZ0RpQUxRUUFoQWtFRUlRTU1JQXRCQUNFQ1FRVWhBd3dmQzBFQUlRSkJCaUVEREI0TFFRQWhBa0VISVFNTUhRdEJBQ0VDUVFnaEF3d2NDMEVBSVFKQkNTRUREQnNMUVFBaEFrRUtJUU1NR2d0QkFDRUNRUXNoQXd3WkMwRUFJUUpCRENFRERCZ0xRUUFoQWtFTklRTU1Gd3RCQUNFQ1FRNGhBd3dXQzBFQUlRSkJEeUVEREJVTFFRQWhBa0VRSVFNTUZBdEJBQ0VDUVJFaEF3d1RDMEVBSVFKQkVpRUREQklMUVFBaEFrRVRJUU1NRVF0QkFDRUNRUlFoQXd3UUMwRUFJUUpCRlNFRERBOExRUUFoQWtFV0lRTU1EZ3RCQUNFQ1FSY2hBd3dOQzBFQUlRSkJHQ0VEREF3TFFRQWhBa0VaSVFNTUN3dEJBQ0VDUVJvaEF3d0tDMEVBSVFKQkd5RUREQWtMUVFBaEFrRWNJUU1NQ0F0QkFDRUNRUjBoQXd3SEMwRUFJUUpCSGlFRERBWUxRUUFoQWtFZklRTU1CUXRCQUNFQ1FTQWhBd3dFQzBFQUlRSkJJU0VEREFNTFFRQWhBa0VpSVFNTUFnc0NRQUpBQWtBQ1FDQUFLQUpJSWdFT0F3QUJBZ01MSUFFaEFrRWpJUU1NQkFzZ0FTRUNRU1FoQXd3REN5QUJJUUpCSlNFRERBSUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0JDeUFBS0FJQUlnRkJCellDRkNBQklBUTJBaGdnQUNnQ0FDQUlLQUlvTmdJY0lBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0MwRUVhaUFKUVFKMGFpQUROZ0lBSUFnb0FqUUVRQ0FMUVN4cUlBbEJBblJxSWdFb0FnQWdBa2NFUUNBSUtBSlFJZ1lFUUNBQklBSTJBZ0FDUUFKQUFrQUNRQUpBSUFJT0F3QUJBZ01MSUFnb0FsUWhCRUVBSVFFRFFDQUJRUUowSUFScUlBRkJBWFFnQm1vdkFRQTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0RDeUFJS0FKVUlRUkJBQ0VCQTBBZ0FVRUNkQ0FFYWlBQlFRRjBJQVpxTHdFQUlBRkJBWFJCNENscUxnRUFiRUdBRUdwQkRIVTJBZ0FnQVVFQmFpSUJRY0FBUncwQUN3d0NDeUFJS0FKVUlRZEJBQ0VCUVFBaEJBTkFJQVJCQW5RZ0Iyb2dBVUVEZEVIZ0ttb3JBd0FpRENBRVFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRRnlJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRTcyRklzVkF4OWoraVJBQUFBQUFBQU1BL29yWTRBZ0FnQlVFQmFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUk1wdlRaR3U1L1Evb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQTNJaUNrRUNkQ0FIYWlBTUlBcEJBWFFnQm1vdkFRQzNva1NxRVd6dll0RHlQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUtRUUZxSWdWQkFuUWdCMm9nRENBRlFRRjBJQVpxTHdFQXQ2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRSnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRU83K253R2trNlQraVJBQUFBQUFBQU1BL29yWTRBZ0FnQ2tFRGFpSUZRUUowSUFkcUlBd2dCVUVCZENBR2FpOEJBTGVpUkxzZ3gzdDZVZUUvb2tRQUFBQUFBQURBUDZLMk9BSUFJQVJCQjNJaUJVRUNkQ0FIYWlBTUlBVkJBWFFnQm1vdkFRQzNva1JkcTNMZVZhalJQNkpFQUFBQUFBQUF3RCtpdGpnQ0FDQUVRUWhxSVFRZ0FVRUJhaUlCUVFoSERRQUxEQUVMSUFBb0FnQWlBVUV4TmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNMQ3dzZ0NFSFlBR29oQkNBSlFRRnFJZ0VnQUNnQ0pFZ0VRQ0FCSVFrZ0JDRUJEQUVMQ3d1bEFRRUVmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkIxQUFnQVVFL2NVSEtBV29SQkFBaUFUWUMyQU1nQVVIekFEWUNBQ0FBS0FJa1FRQk1CRUFQQ3lBQlFTeHFJUVJCQUNFQklBQW9BdGdCSVFJRFFDQUFLQUlFS0FJQUlRTWdBaUFBUVFGQmdBSWdBMEUvY1VIS0FXb1JCQUFpQXpZQ1ZDQURRUUJCZ0FJUVJSb2dBVUVDZENBRWFrRi9OZ0lBSUFKQjJBQnFJUUlnQVVFQmFpSUJJQUFvQWlSSURRQUxDOHNGQVF0L0l3WWhEU01HUVNCcUpBWWdBaWdDQUNFSElBSW9BZ1FoQ3lBQ0tBSUlJUW9nQlNnQ0FDSUlSUVJBSUFVZ0FDZ0NIQ0FBS0FJZ0VLa0pJZ2cyQWdBTElBMGlBa0VjYWlFT0lBSkJHR29oRHlBQUtBSU1JQUJCTUdvZ0IwRXdiR29pRENBQktBSUFJZ2tnQjBId0FHeHFLQUlBSUFkQjhBQnNJQWxxS0FJRUtBSUFJQXRCRkd4cUlBb2dDQkNvQ1VFQVNBUi9RWDhGSUFVb0FnQWlDQ2dDSENFSklBZ29BZ3dnQ0NnQ0NFRUJhbW9nQ0NnQ0ZDQUlLQUlRUVFGcWFteXlRd0FBb0VDVVF3QUFvRUNVSUFrZ0NXeXlYZ1IvUVg4RklBRW9BcGdCSWhCQkFVWUVRQ0FBS0FJTUlBeEJBRUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBQW9BZ3doQ0NBQVFaQUVhaUFIUVRCc2FpRUpJQkJCQWtZRVFDQUlJQXdnQ1VFQUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUZJQWdnRENBSklBQkI4QWRxSUFkQk1HeHFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lMQ3lBRElBUWdBQ2dDQkNBQUtBSUlJQUFvQWhRZ0JTZ0NBQ0FBS0FJWUlnQWdBQ0FDSUE0Z0R5QUdFS3dKUVFCSUJIOUJmd1VnQmlBT0tBSUFzamdDQkNBR0lBOG9BZ0N5T0FJSUlBRW9BZ0FpQUNBSFFmQUFiR29vQWdRb0FnQWdDMEVVYkdvb0FnQWlBaUFLUVJSc2FpRUJJQVlnQjBId0FHd2dBR29xQWhnZ0IwSHdBR3dnQUdvcUFnd2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFoQWdDa0VVYkNBQ2FpSUNLZ0lNbEpLU09BSU1JQVlnQjBId0FHd2dBR29xQWlnZ0IwSHdBR3dnQUdvcUFod2dBU29DQ0pRZ0IwSHdBR3dnQUdvcUFpQWdBaW9DREpTU2tqZ0NFQ0FHSUFkQjhBQnNJQUJxS2dJNElBZEI4QUJzSUFCcUtnSXNJQUVxQWdpVUlBZEI4QUJzSUFCcUtnSXdJQUlxQWd5VWtwSTRBaFJCQUFzTEN5RVJJQTBrQmlBUkN5SUJBWDFCZnlBQUtnSUFJQUVxQWdDVElnSkRBQUFBQUY0Z0FrTUFBQUFBWFJzTGloQUNESDhLZlNNR0lRb2pCa0ZBYXlRR0lBcEJPR29oQnlBS1FUQnFJUWdnQ2tFb2FpRUxJQXBCSUdvaENTQURRUVJJQkVCRElMeStUQ0VGQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFRkJRSkFBbjhnQTdJaUdpQUZsQkJESVJBZ0EwRUdkQkJFSWdaRkJFQkJBRUVEUWNyWUFpQUpFRDFEQUFDQXZ5RUZEQUlMSUFOQkEzUVFSQ0lKUlFSQVFRQkJBMEhLMkFJZ0N4QTlJQVlRT0VNQUFJQy9JUVVNQWdzZ0EwRUNkQ0lMRUVRaURVVUVRRUVBUVFOQnl0Z0NJQWdRUFNBR0VEZ2dDUkE0UXdBQWdMOGhCUXdDQ3lBTEVFUWlDMFVFUUVFQVFRTkJ5dGdDSUFjUVBTQUdFRGdnQ1JBNElBMFFPRU1BQUlDL0lRVU1BZ3NnRUVGL2FpSUhDMEVFSUFkQkJFb2JJUkZCQUNFSEEwQWdCMEVEUndSQVFRQWhDQU5BSUFoQkJFY0VRQ0FIUVFSMElBUnFJQWhCQW5ScUlBZEJCSFFnQUdvZ0NFRUNkR29xQWdBZ0FDb0NMSlU0QWdBZ0NFRUJhaUVJREFFTEN5QUhRUUZxSVFjTUFRc0xJQkZCQW5RZ0Myb2hEd0pBQWtBQ1FBTkFBa0JCQUNFSEEwQWdCeUFEU0FSQUlBUXFBZ0FoRnlBRUtnSUVJUllnQkNvQ0RDRVpJQVFxQWhBaEV5QUVLZ0lVSVJnZ0JDb0NIQ0ViSUFkQkRHd2dBbW9xQWdBaUZDQUVLZ0lnbENBSFFReHNJQUpxS2dJRUloVWdCQ29DSkpTU1F3QUFnRCtTSWdWREFBQUFBRnNOQWlBSFFRTjBJQUZxS2dJRUlCc2dGQ0FUbENBVklCaVVrcElpR0NBRmxaTWhFeUFIUVFGMElnQkJBblFnQ1dvZ0IwRURkQ0FCYWlvQ0FDQVpJQmNnRkpRZ0ZpQVZsSktTSWhjZ0JaV1RJaFk0QWdBZ0FFRUJja0VDZENBSmFpQVRPQUlBSUFkQkFuUWdDMm9nRmlBV2xDQVRJQk9Va2lJVE9BSUFJQWRCQW5RZ0RXb2dFemdDQUNBSFFRUjBJZ0JCQW5RZ0Jtb2dGQ0FGbFNJVE9BSUFJQUJCQVhKQkFuUWdCbW9nRlNBRmxTSVdPQUlBSUFCQkFuSkJBblFnQm1wREFBQ0FQeUFGbFNJWk9BSUFJQUJCQTNKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFSeVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFRmNrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkJuSkJBblFnQm1vZ0ZDQVhsSXdnQlNBRmxDSUZsVGdDQUNBQVFRZHlRUUowSUFacUlCVWdGNVNNSUFXVk9BSUFJQUJCQ0hKQkFuUWdCbXBEQUFBQUFEZ0NBQ0FBUVFseVFRSjBJQVpxUXdBQUFBQTRBZ0FnQUVFS2NrRUNkQ0FHYWtNQUFBQUFPQUlBSUFCQkMzSkJBblFnQm1vZ0V6Z0NBQ0FBUVF4eVFRSjBJQVpxSUJZNEFnQWdBRUVOY2tFQ2RDQUdhaUFaT0FJQUlBQkJEbkpCQW5RZ0Jtb2dGQ0FZbEl3Z0JaVTRBZ0FnQUVFUGNrRUNkQ0FHYWlBVklCaVVqQ0FGbFRnQ0FDQUhRUUZxSVFjTUFRc0xJQXNnQTBFRVFTQVFnZ05EQUFDQVFTQVBLZ0lBUXdBQWdFQ1VJZ1VnQlVNQUFJQkJYUnNpRlVNQUFNQkFsU0VGUXdBQUFBQWhFMEVBSVFBRFFDQUFJQU5IQkVBZ0V5QUFRUUowSUF0cUtnSUFJaFFnRlY0RWZTQUZCU0FGUXdBQWdEOURBQUNBUHlBVUlCV1ZreUlVSUJRZ0ZKU1VrNVFMa2lFVElBQkJBV29oQUF3QkN3c2dFeUFhbFNJRlE4M016RDFkRFFRZ0RrRUFSeUFGUXdBQWdFQmRjUVJBSUE1QkNrWWdCU0FTbFVPa2NIMC9YbklOQlFVZ0RrRUtSZzBGQzBFQUlRQkJBQ0VNQTBBZ0F5QU1Sd1JBSUF4QkFuUWdEV29xQWdBaUVpQVZYd1JBSUFCQkEzUWlCMEVDZENBR2FrTUFBSUEvSUJJZ0ZaV1RJaElnRXBRaUVpQU1RUVIwSWdoQkFuUWdCbW9xQWdDVU9BSUFJQWRCQVhKQkFuUWdCbW9nRWlBSVFRRnlRUUowSUFacUtnSUFsRGdDQUNBSFFRSnlRUUowSUFacUlCSWdDRUVDY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVEY2tFQ2RDQUdhaUFTSUFoQkEzSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkJISkJBblFnQm1vZ0VpQUlRUVJ5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUVZ5UVFKMElBWnFJQklnQ0VFRmNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFR2NrRUNkQ0FHYWlBU0lBaEJCbkpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJCM0pCQW5RZ0Jtb2dFaUFJUVFkeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFocVFRSjBJQVpxSUJJZ0NFRUlja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRUpha0VDZENBR2FpQVNJQWhCQ1hKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQ21wQkFuUWdCbW9nRWlBSVFRcHlRUUowSUFacUtnSUFsRGdDQUNBSFFRdHFRUUowSUFacUlCSWdDRUVMY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVNYWtFQ2RDQUdhaUFTSUFoQkRISkJBblFnQm1vcUFnQ1VPQUlBSUFkQkRXcEJBblFnQm1vZ0VpQUlRUTF5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUTVxUVFKMElBWnFJQklnQ0VFT2NrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFUGFrRUNkQ0FHYWlBU0lBaEJEM0pCQW5RZ0Jtb3FBZ0NVT0FJQUlBQkJBblFnQ1dvZ0VpQU1RUUYwSWdkQkFuUWdDV29xQWdDVU9BSUFJQUJCQVdwQkFuUWdDV29nRWlBSFFRRnlRUUowSUFscUtnSUFsRGdDQUNBQVFRSnFJUUFMSUF4QkFXb2hEQXdCQ3dzZ0FFRUdTQTBDSUFvZ0NTQUdJQUFRcUFOQkFFZ05BeUFFSUFvcUFnQWdCQ29DQUpJNEFnQWdCQ0FLS2dJRUlBUXFBZ1NTT0FJRUlBUWdDaW9DQ0NBRUtnSU1ramdDRENBRUlBb3FBZ3dnQkNvQ0VKSTRBaEFnQkNBS0tnSVFJQVFxQWhTU09BSVVJQVFnQ2lvQ0ZDQUVLZ0lja2pnQ0hDQUVJQW9xQWhnZ0JDb0NJSkk0QWlBZ0JDQUtLZ0ljSUFRcUFpU1NPQUlrSUFVaEVpQU9RUUZxSVE0TUFRc0xJQVlRT0NBSkVEZ2dEUkE0SUFzUU9FTWd2TDVNSVFVTUF3c2dCaEE0SUFrUU9DQU5FRGdnQ3hBNFF3QUFnTDhoQlF3Q0N5QUdFRGdnQ1JBNElBMFFPQ0FMRURoRElMeStUQ0VGREFFTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0FzTEN5QUtKQVlnQlF2RkNBSUdmdzU5SXdZaEJ5TUdRVEJxSkFZZ0IwRW9haUVHSUFkQklHb2hDQ0FEUVFSSUJFQkRJTHkrVENFTEJTQUFLZ0lzUXdBQUFBQmJCRUJESUx5K1RDRUxCUUpBSUFOQkJuUVFSQ0lGUlFSQVFRQkJBMEhLMkFJZ0NCQTlRd0FBZ0w4aEN3d0JDeUFEUVFOMEVFUWlDa1VFUUVFQVFRTkJ5dGdDSUFZUVBTQUZFRGhEQUFDQXZ5RUxEQUVMUVFBaEJnTkFJQVpCQTBjRVFFRUFJUWdEUUNBSVFRUkhCRUFnQmtFRWRDQUVhaUFJUVFKMGFpQUdRUVIwSUFCcUlBaEJBblJxS2dJQUlBQXFBaXlWT0FJQUlBaEJBV29oQ0F3QkN3c2dCa0VCYWlFR0RBRUxDeUFEc2lFWUlBTkJBWFFoQ0VFQUlRWUNRQUpBQTBBQ1FFTUFBQUFBSVJKQkFDRUpBMEFnQ1NBRFNBUkFJQVFxQWdBaERTQUVLZ0lFSVJBZ0JDb0NEQ0VSSUFRcUFoQWhFeUFFS2dJVUlSUWdCQ29DSENFTElBbEJER3dnQW1vcUFnQWlEaUFFS2dJZ2xDQUpRUXhzSUFKcUtnSUVJZzhnQkNvQ0pKU1NRd0FBZ0QrU0lneERBQUFBQUZzTkFpQUpRUU4wSUFGcUtnSUVJQXNnRGlBVGxDQVBJQlNVa3BJaUZ5QU1sWk1oRlNBSlFRRjBJZ0JCQW5RZ0Ntb2dDVUVEZENBQmFpb0NBQ0FSSUEwZ0RwUWdFQ0FQbEpLU0loQWdESldUSWhFNEFnQWdBRUVCY2tFQ2RDQUthaUFWT0FJQUlBbEJCSFFpQUVFQ2RDQUZhaUFPSUF5VkloTTRBZ0FnQUVFQmNrRUNkQ0FGYWlBUElBeVZJaFE0QWdBZ0FFRUNja0VDZENBRmFrTUFBSUEvSUF5VklnczRBZ0FnQUVFRGNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkJISkJBblFnQldwREFBQUFBRGdDQUNBQVFRVnlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUdja0VDZENBRmFpQU9JQkNVakNBTUlBeVVJZzJWT0FJQUlBQkJCM0pCQW5RZ0JXb2dEeUFRbEl3Z0RaVTRBZ0FnQUVFSWNrRUNkQ0FGYWtNQUFBQUFPQUlBSUFCQkNYSkJBblFnQldwREFBQUFBRGdDQUNBQVFRcHlRUUowSUFWcVF3QUFBQUE0QWdBZ0FFRUxja0VDZENBRmFpQVRPQUlBSUFCQkRISkJBblFnQldvZ0ZEZ0NBQ0FBUVExeVFRSjBJQVZxSUFzNEFnQWdBRUVPY2tFQ2RDQUZhaUFPSUJlVWpDQU5sVGdDQUNBQVFROXlRUUowSUFWcUlBOGdGNVNNSUEyVk9BSUFJQklnRVNBUmxDQVZJQldVa3BJaEVpQUpRUUZxSVFrTUFRc0xJQklnR0pVaUMwUE56TXc5WFEwRElBWkJBRWNnQzBNQUFJQkFYWEVFUUNBR1FRcEdJQXNnRnBWRHBIQjlQMTV5RFFRRklBWkJDa1lOQkFzZ0J5QUtJQVVnQ0JDb0EwRUFTQTBDSUFRZ0J5b0NBQ0FFS2dJQWtqZ0NBQ0FFSUFjcUFnUWdCQ29DQkpJNEFnUWdCQ0FIS2dJSUlBUXFBZ3lTT0FJTUlBUWdCeW9DRENBRUtnSVFramdDRUNBRUlBY3FBaEFnQkNvQ0ZKSTRBaFFnQkNBSEtnSVVJQVFxQWh5U09BSWNJQVFnQnlvQ0dDQUVLZ0lna2pnQ0lDQUVJQWNxQWh3Z0JDb0NKSkk0QWlRZ0N5RVdJQVpCQVdvaEJnd0JDd3NnQlJBNElBb1FPRU1ndkw1TUlRc01BZ3NnQlJBNElBb1FPRU1ndkw1TUlRc01BUXNnQlJBNElBb1FPQXNMQ3lBSEpBWWdDd3U3QmdJTWZ3UjlJd1loQ1NNR1FkQUFhaVFHSUFsQk1Hb2hFQ0FKUWN3QWFpRU1JQWxCeUFCcUlRMGdDVUZBYXlFT0lBbEJPR29oRHlBQXNpRVVJQUd5SVJVZ0JVSE1KV29oRVVFQUlRRkJBQ0VBQW44Q1FBTkFBa0FnQ0NBREtBSUVUZzBDUVFBaEN3TkFJQXRCQTBjRVFFRUFJUVlEUUNBR1FRUkhCRUFnQzBFRWRDQUphaUFHUVFKMGFpQUlRVEJzSUFKcUlBdEJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dDMEVCYWlFTERBRUxDMEVBSVFjZ0F5Z0NBQ0FJUWZBQWJHb29BZ1FoQmdOQUlBY2dCaWdDQkVnRVFFRUFJUW9EUUNBS0lBWW9BZ0FpQ3lBSFFSUnNhaWdDQkVnRVFFRUFJQWtnQjBFVWJDQUxhaWdDQUNJR0lBcEJGR3hxS2dJSUlBcEJGR3dnQm1vcUFnd2dEQ0FORUlJRVFRQklJQXdxQWdBaUVrTUFBQUFBWFhKRkJFQWdEU29DQUNJVElCVmdJQk5EQUFBQUFGMGdFaUFVWUhKeVJRUkFBa0FnRGlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNBSFFSUnNhaWdDQUNJR0lBcEJGR3hxS0FJSU5nSUFJQTRnQ2tFVWJDQUdhaWdDRERZQ0JFRUFJQWtnRGlBUEVJY0VJQThxQWdRaUVpQURLQUlBSUFoQjhBQnNhaWdDQkNnQ0FDSUdJQWRCRkd4cUtnSU1JaE5mQkVBZ0VpQUhRUlJzSUFacUtnSVFZQVJBSUFCQnlBRkdEUWtnQUVFWWJDQUVhaUFJTmdJQUlBQkJHR3dnQkdvZ0J6WUNCQ0FBUVJoc0lBUnFJQW8yQWdnZ0FFRVliQ0FFYWlBTUtBSUFOZ0lRSUFCQkdHd2dCR29nRFNnQ0FEWUNGQ0FBUVJoc0lBUnFRUUEyQWd3Z0FFRUJhaUVBREFJTEN5QVNJQk5EQUFBQVFKUmZCRUFnRWlBSFFSUnNJQVpxS2dJUVF3QUFBRCtVWUFSQUlBRkJ5QUZHQkg4Z0VVRi9OZ0lBUWNnQkJTQUJRUmhzSUFWcUlBZzJBZ0FnQVVFWWJDQUZhaUFITmdJRUlBRkJHR3dnQldvZ0NqWUNDQ0FCUVJoc0lBVnFJQXdvQWdBMkFoQWdBVUVZYkNBRmFpQU5LQUlBTmdJVUlBRkJHR3dnQldwQkFEWUNEQ0FCUVFGcUN5RUJDd3NMQ3dzZ0NrRUJhaUVLSUFNb0FnQWdDRUh3QUd4cUtBSUVJUVlNQVFzTElBZEJBV29oQnd3QkN3c2dDRUVCYWlFSURBRUxDMEVBUVFOQjJkZ0NJQkFRUFNBRVFjd2xhZ3dCQ3lBQVFSaHNJQVJxUVg4MkFnd2dBVUVZYkNBRmFrRU1hZ3RCZnpZQ0FDQUpKQVlMd3djQ0RuOElmU01HSVFVakJrSFFBR29rQmlBRlFUQnFJUkFnQlVITUFHb2hEQ0FGUWNnQWFpRU5JQVZCUUdzaERpQUZRVGhxSVE4Z0FDZ0NBTEloR1NBQUtBSUVzaUVhSUFSQnpDVnFJUkVDZndKQUEwQUNRQ0FLSUFJb0FnUk9EUUpCQUNFSEEwQWdCMEVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FIUVFSMElBVnFJQVpCQW5ScUlBcEJNR3dnQVdvZ0IwRUVkR29nQmtFQ2RHb29BZ0EyQWdBZ0JrRUJhaUVHREFFTEN5QUhRUUZxSVFjTUFRc0xRUUFoQmlBQ0tBSUFJQXBCOEFCc2FpZ0NCQ0VIQTBBZ0JpQUhLQUlFU0FSQVFRQWhDd05BSUFzZ0J5Z0NBQ0lTSUFaQkZHeHFLQUlFU0FSQUlBQWdCU0FHUVJSc0lCSnFLQUlBSWdjZ0MwRVViR29xQWdnZ0MwRVViQ0FIYWlvQ0RDQU1JQTBRZ2dSQkFFZ2dEQ29DQUNJVFF3QUFBQUJkY2tVRVFDQU5LZ0lBSWhRZ0dtQWdGRU1BQUFBQVhTQVRJQmxnY25KRkJFQUNRQ0FGS2dJTUlBVXFBZ0FnQWlnQ0FDQUtRZkFBYkdvb0FnUW9BZ0FnQmtFVWJHb29BZ0FpQnlBTFFSUnNhaW9DQ0NJVGxDQUZLZ0lFSUF0QkZHd2dCMm9xQWd3aUZKU1NraUlXSUJhVUlBVXFBaHdnRXlBRktnSVFsQ0FVSUFVcUFoU1VrcElpRnlBWGxKSWdCU29DTENBVElBVXFBaUNVSUJRZ0JTb0NKSlNTa2lJWUlCaVVrcEVoRlNBRktnSW9JQmdnRlpXVUlBVXFBZ2dnRmlBVmxaUWdCU29DR0NBWElCV1ZsSktTUTgzTXpMMWVSUVJBSUE0Z0V6Z0NBQ0FPSUJRNEFnUWdBQ0FGSUE0Z0R4Q0hCQ0FQS2dJRUloTWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWlCeUFHUVJSc2Fpb0NEQ0lVWHdSQUlCTWdCa0VVYkNBSGFpb0NFR0FFUUNBSlFjZ0JSZzBLSUFsQkdHd2dBMm9nQ2pZQ0FDQUpRUmhzSUFOcUlBWTJBZ1FnQ1VFWWJDQURhaUFMTmdJSUlBbEJHR3dnQTJvZ0RDZ0NBRFlDRUNBSlFSaHNJQU5xSUEwb0FnQTJBaFFnQ1VFWWJDQURha0VBTmdJTUlBbEJBV29oQ1F3REN3c2dFeUFVUXdBQUFFQ1VYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VFTUFBQUEvbEdBRVFDQUlRY2dCUmdSL0lCRkJmellDQUVISUFRVWdDRUVZYkNBRWFpQUtOZ0lBSUFoQkdHd2dCR29nQmpZQ0JDQUlRUmhzSUFScUlBczJBZ2dnQ0VFWWJDQUVhaUFNS0FJQU5nSVFJQWhCR0d3Z0JHb2dEU2dDQURZQ0ZDQUlRUmhzSUFScVFRQTJBZ3dnQ0VFQmFnc2hDQXNMQ3dzTEN5QUxRUUZxSVFzZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FoQnd3QkN3c2dCa0VCYWlFR0RBRUxDeUFLUVFGcUlRb01BUXNMUVFCQkEwSFoyQUlnRUJBOUlBTkJ6Q1ZxREFFTElBbEJHR3dnQTJwQmZ6WUNEQ0FJUVJoc0lBUnFRUXhxQzBGL05nSUFJQVVrQmd2VkVRSVVmd0Y5SXdZaEJTTUdRVEJxSkFZZ0JTSU1RU2hxSVJJZ0JVRWdhaUVUSUFCQkFFY2dBVUVBUjNFZ0FrRUFSM0VnQTBFQVIzRWdCRUVBUjNFRWZ5QUJLQUtZQVVFQlNBUi9RWDRGQW44Z0JFTUFBQUFBT0FJQUlBRkJDR29oRFNBQlFUaHFJUWdnQVVIb0FHb2hDa0VBSVFVRFFDQUZJQUVvQWdSSUJFQWdEU0FCS0FJQUlBVkI4QUJzYWtFTWFpQUFRVEJxSUFWQk1HeHFFTElDSUFFb0FwZ0JRUUZLQkVBZ0NDQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFaQUVhaUFGUVRCc2FoQ3lBaUFCS0FLWUFVRUNTZ1JBSUFvZ0FTZ0NBQ0FGUWZBQWJHcEJER29nQUVId0Iyb2dCVUV3YkdvUXNnSUxDeUFGUVFGcUlRVU1BUXNMSUFBb0FnQkJBVVlFUUNBQVFReHFJaFFvQWdBZ0FFRXdhaUFCSUFCQjhCUnFJZzRnQUVISU9tb2lDaEROQmlBQVFRUnFJUThnQUVFSWFpRVFCU0FBUVFScUlnOG9BZ0FnQUVFSWFpSVFLQUlBSUFCQk1Hb2dBU0FBUWZBVWFpSU9JQUJCeURwcUlnb1F6QVlnQUVFTWFpRVVDeUFBUWVEbkFHb2hGeUFCUVp3QmFpRVZJQUJCMEF0cUlSWWdEaUVJQTBBQ1FDQUxJQUFvQWlST0RRQkJBQ0VKSUFZaEJ5QUlJUVVEUUFKQUlBa2dGeWdDQUU0RVFDQUZJUWdNQVFzZ0N5QUFLQUlrUmdSQUlBVWhDQXdCQ3lBRklCVWdCeUFXSUE4b0FnQWdFQ2dDQUJDRkJDSUlRUUJJQkVBZ0JTQU9Sd1JBSUFVaENBd0NDeUFLSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCSDhnQ2lFSURBSUZJQW9MSVFVTElBbEJBblFnREdvZ0NFRVliQ0FGYWlJUk5nSUFJQUJCMEF0cUlBZEJBM1JxSUFoQkdHd2dCV29vQWhBMkFnQWdBQ0FIUVFOMGFrSFVDMm9nQ0VFWWJDQUZhaWdDRkRZQ0FDQUFRZVRuQUdvZ0NVRTBiR29nQURZQ0FDQUFJQWxCTkd4cVFlam5BR29nQVRZQ0FDQUFJQWxCTkd4cVFlem5BR29nRVRZQ0FDQUFJQWxCTkd4cVFmRG5BR29nQWpZQ0FDQUpRUUZxSVFrZ0JpQUhRUUZxSWdnZ0NFRUZSaHNoQnlBTFFRRnFJUXNNQVFzTElBbEZEUUJCQUNFSElBWWhCUU5BSUFjZ0NVY0VRQ0FBSUFkQk5HeHFRWlRvQUdvZ0FFSGs1d0JxSUFkQk5HeHFLQUlBSUFBZ0IwRTBiR3BCNk9jQWFpZ0NBQ0FBSUFkQk5HeHFRZXpuQUdvb0FnQWdBQ0FIUVRSc2FrSHc1d0JxS0FJQUlBQWdCMEUwYkdwQjlPY0FhaWdDQUNBQUlBZEJOR3hxUWZqbkFHb2dBQ0FIUVRSc2FrSDg1d0JxSWdZUXlBWWlFVFlDQUNBUlJRUkFJQVlxQWdBZ0FDb0NLRjRFUUNBQUtBSUFRUUZHQkVBZ0ZDZ0NBQ0lHUWVnQWFpQUFJQWRCTkd4cVFZRG9BR29xQWdDN0lBQWdCMEUwYkdwQmhPZ0FhaW9DQUxzZ0VpQVRJQVlvQXJBQkVOOEVJQUJCMEE1cUlBVkJBM1JxSUJJckF3QzJPQUlBSUFBZ0JVRURkR3BCMUE1cUlCTXJBd0MyT0FJQUJTQUFRZEFPYWlBRlFRTjBhaUFBSUFkQk5HeHFRWURvQUdvb0FnQTJBZ0FnQUNBRlFRTjBha0hVRG1vZ0FDQUhRVFJzYWtHRTZBQnFLQUlBTmdJQUN5QUFRWkFSYWlBRlFReHNhaUFBSUFkQk5HeHFRWWpvQUdvb0FnQTJBZ0FnQUNBRlFReHNha0dVRVdvZ0FDQUhRVFJzYWtHTTZBQnFLQUlBTmdJQUlBQWdCVUVNYkdwQm1CRnFJQUFnQjBFMGJHcEJrT2dBYWlnQ0FEWUNBQ0FBUWRBTGFpQUZRUU4wYWlBSFFRSjBJQXhxS0FJQUlnWW9BaEEyQWdBZ0FDQUZRUU4wYWtIVUMyb2dCaWdDRkRZQ0FDQUFRYURnQUdvZ0JVRVliR29nQmlnQ0FEWUNBQ0FBSUFWQkdHeHFRYVRnQUdvZ0JpZ0NCRFlDQUNBQUlBVkJHR3hxUWFqZ0FHb2dCaWdDQ0RZQ0FDQUFJQVZCR0d4cVFhemdBR3BCQURZQ0FDQUZRUUZxSVFVTEN5QUhRUUZxSVFjTUFRc0xJQVVoQmd3QkN3dEJBQ0VDQTBBZ0FpQUdTQVJBSUFGQm5BRnFJQUpCR0d4cUlnVWdBRUdnNEFCcUlBSkJHR3hxSWdncEFnQTNBZ0FnQlNBSUtRSUlOd0lJSUFVZ0NDa0NFRGNDRUNBQ1FRRnFJUUlNQVFzTElBRWdCa0VZYkdwQmZ6WUNxQUVnQmtFRFNDRUNJQUFvQWdCQkFVWUVRQ0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnQUNnQ0VDQU5JQUJCMEE1cUlnSWdBRUdRRVdvaUJTQUdJQU5CQUJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1lay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUVBek0rTS9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUtDWm1kay9FSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQUtBSVFSQUFBQUFBQUFBQUFFSTBCSUFRZ0FDZ0NFQ0FESUFJZ0JTQUdJQU5CQVJEYkFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBQlFRQTJBcGdCUVh3TUJnc0xDd3NMQlNBQ0JFQWdBVUVBTmdLWUFVRjlEQUlMSUFRZ0RTQUFRZEFPYWlJQ0lBQkJrQkZxSWdVZ0JpQURRUUJEQUFDQVB4RGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUTgzTVREOFEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdCQ0FESUFJZ0JTQUdJQU5CQVVPYW1Say9FTm9CSWhrNEFnQWdHU0FBS2dJc1hnUkFJQVFnQXlBQ0lBVWdCaUFEUVFGRHpjek1QaERhQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FFSUFNZ0FpQUZJQVlnQTBFQlF3QUFBQUFRMmdFaUdUZ0NBQ0FaSUFBcUFpeGVCRUFnQVVFQU5nS1lBVUY4REFZTEN3c0xDd3NnQVNBQktBS1lBVUVCYWpZQ21BRkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQUJRZWdBYWlBQVFRUjBhaUFDUVFKMGFpQUJRVGhxSUFCQkJIUnFJQUpCQW5ScUtBSUFOZ0lBSUFKQkFXb2hBZ3dCQ3dzZ0FFRUJhaUVBREFFTEMwRUFJUUFEUUNBQVFRTkhCRUJCQUNFQ0EwQWdBa0VFUndSQUlBRkJPR29nQUVFRWRHb2dBa0VDZEdvZ0FVRUlhaUFBUVFSMGFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkFXb2hBQXdCQ3d0QkFDRUFBMzhnQUVFRFJnUi9RUUFGUVFBaEFnTkFJQUpCQkVjRVFDQUJRUWhxSUFCQkJIUnFJQUpCQW5ScUlBQkJCSFFnQTJvZ0FrRUNkR29vQWdBMkFnQWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQ3dzRlFYOExJUmdnRENRR0lCZ0x3UUVCQTM4akJpRUVJd1pCRUdva0JrR2s2d0FRUkNJRFJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dCRUVJYWlFRklBTWdBRFlDRkNBRElBRTJBZ1FnQXlBQ05nSUlJQU5CR1RZQ0dDQURRUXMyQWh3Z0EwRUxOZ0lnSUFOQkNqWUNKQ0FEUTVxWkdUODRBaWdnQTBNQUFBQkFPQUlzSUFOQjRPY0Fha0VCTmdJQUlBTkI5T2NBYWlBQklBSnNFRVFpQURZQ0FDQUFCRUFnQTBINDV3QnFRUUEyQWdBZ0JDUUdJQU1QQlVFQVFRTkJ1ZGdDSUFVUVBVRUJFQUVMUVFBTEx3QWdBQ2dDQ0NBQlFRSjBhaUlCS0FJQUJIOGdBVUVBTmdJQUlBQWdBQ2dDQUVGL2FqWUNBRUVBQlVGL0N4b0xQZ0FnQVNBQUtBSUFJQUFvQWdRUXp3WWlBVUVCTmdJQUlBRWdBRFlDRENBQklBQkJDR29RNHdJaUFEWUNFQ0FBUkFBQUFBQUFBQUFBRUkwQklBRUx1Z0VCQm44Z0FDZ0NBQ0VCUWJURUF5Z0NBQ0lDQkVBQ1FDQUNJQUpCZjJvaUJIRkZJZ1VFZnlBQklBUnhCU0FCSUFKSkJIOGdBUVVnQVNBQ0VFNExDeUlHUVFKMFFiREVBeWdDQUdvb0FnQWlBQVIvQTBBZ0FDZ0NBQ0lBUlFSQVFRQWhBQXdEQ3lBQUtBSUVJZ01nQVVZRVFDQUJJQUFvQWdoR0RRTUZJQVVFZnlBRElBUnhCU0FESUFKUEJIOGdBeUFDRUU0RklBTUxDeUFHUndSQVFRQWhBQXdFQ3dzTUFBQUxBQVZCQUFzaEFBc0ZRUUFoQUFzZ0FBdjdBZ0VHZnlNR0lRTWpCa0V3YWlRR0lBTkJHR29oQlNBRFFSQnFJUVlnQTBFSWFpRUhJQU5CSUdvaUFpQUFOZ0lBSUFOQkhHb2lCQ0FCTmdJQUlBSVFVd1IvQW44Z0FoQlNJUUFnQkJEU0JnUi9JQUJCQ0dvaUFTQUVFS3dEUWJnQkVFd2FJQUFvQWd3aEFnSkFBa0FnQVNnQ0FDSUVJQUFvQXRBQlJ3MEFJQUFvQXRRQklBSkhEUUFNQVFzZ0F5QUVOZ0lBSUFNZ0FqWUNCRUVBUVFKQm1kY0NJQU1RUFNBQklBQW9BdEFCSUFBb0F0UUJJQUVRK1FzTElBQVFxUU1nQUNBQkVMd0xJZ0kyQXNBQklBSkZCRUJCQUVFRFFjalhBaUFIRUQxQmZ3d0NDeUFBSUFJUW9na2lBallDMkFFZ0FrVUVRRUVBUVFOQjd0Y0NJQVlRUFVGL0RBSUxJQUlnQUNnQzJBTVE0d2dnQUNBQlFRaHFFSzhKSWdFMkF1UUJJQUVFUUNBQUtBTFlBU0FBS0FMY0FSREhCeUFBS0FMQUFTQUFLd080QWlBQUt3UEFBaUFBUWRnQ2FoREdDeUFBSUFBb0FzQUJFSUFFTmdMb0FRVkJBRUVEUVpQWUFpQUZFRDBMUVFBRlFYOExDd1ZCZndzYUlBTWtCZ3N6QVFKL0l3WWhCQ01HUVJCcUpBWWdCQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBRFlDQUNBRUtBSUFJUVVnQkNRR0lBVUw3d0lCQ0g4Z0FTZ0NBQ0lGS0FJRUlRTkJvTVFES0FJQUlnUkJmMm9oQmlBRUlBWnhSU0lJQkg4Z0F5QUdjUVVnQXlBRVR3Ui9JQU1nQkJCT0JTQURDd3NoQTBHY3hBTW9BZ0FnQTBFQ2RHb2lCeWdDQUNFQkEwQWdCU0FCS0FJQUlnSkhCRUFnQWlFQkRBRUxDd0ovQWtBZ0FVR2t4QU5HRFFBZ0FTZ0NCQ0VDSUFnRWZ5QUNJQVp4QlNBQ0lBUlBCSDhnQWlBRUVFNEZJQUlMQ3lBRFJ3MEFJQVVNQVFzZ0JTZ0NBQ0lDQkVBZ0FpZ0NCQ0VDSUFVZ0NBUi9JQUlnQm5FRklBSWdCRThFZnlBQ0lBUVFUZ1VnQWdzTElBTkdEUUVhQ3lBSFFRQTJBZ0FnQlFzaUNTZ0NBQ0lDSVFjZ0FTQUNCSDhnQWlnQ0JDRUNJQU1nQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSWdKSEJIOUJuTVFES0FJQUlBSkJBblJxSUFFMkFnQWdCU2dDQUFVZ0J3c0ZJQWNMTmdJQUlBbEJBRFlDQUVHb3hBTkJxTVFES0FJQVFYOXFOZ0lBSUFBZ0JUWUNBQ0FBUWFURUF6WUNCQ0FBUVFFNkFBZ0xaUUVCZnlNR0lRRWpCa0VnYWlRR0lBQW9BZ0FpQUNnQ0FCb2dBU0FBTmdJQUlBRkJFR29pQUNBQktBSUFOZ0lBSUFGQkJHb2dBQkRWQmlBQktBSUVJUUFnQVVFQU5nSUVJQUFFUUNBQkxBQU1CRUFnQUVFUWFoQ3pBd3NnQUJBNEN5QUJKQVlMT1FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUFFRk1pQUFSQUlBRWdBRFlDQUNBQ0lBRW9BZ0EyQWdBZ0FoRFdCZ3NnQVNRR0N5OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRWdBRUgvQUhGQkNHb1JBQUEyQWdBZ0FpZ0NBQ0VESUFJa0JpQURDMUFCQW44akJpRURJd1pCRUdva0JpQUJJQUlvQWdBZ0FCQ3FBeUlCTmdJQUlBRkJBRWdFZnlBRElBQTJBZ0JCQUVFRFFmVFRBaUFERUQwZ0FpZ0NBQkM0QWtFQUJVRUJDeUVFSUFNa0JpQUVDMEVCQW44akJpRURJd1pCRUdva0JpQURJQUlRclFNZ0EwRU1haUlDSUFFZ0F5QUFRVDl4UVlvQmFoRUNBRFlDQUNBQ0tBSUFJUVFnQXhCSElBTWtCaUFFQzN3QkFuOGpCaUVFSXdaQkVHb2tCaUFESUFBZ0FpZ0NBQkRsQ1NJQU5nSUFJQUFFZndKL0FrQUNRQUpBSUFBb0Ftd09BZ0FCQWdzZ0FVRUFFSW9DR2tFQkRBSUxJQUZCQWhDS0FocEJBUXdCQ3lBQlFRTVFpZ0lhUVFFTEJVRUFRUU5CcmRNQ0lBUVFQU0FDS0FJQUVMZ0NRUUFMSVFVZ0JDUUdJQVVMbkFNQkQzOGpCaUVESXdaQjRBQnFKQVlnQTBIUUFHb2hDaUFEUWNnQWFpRUxJQU5CUUdzaERDQURRVGhxSVFVZ0EwRXdhaUVHSUFOQktHb2hEU0FEUVNCcUlRNGdBMEVZYWlFUElBTkJFR29oQnlBRFFRaHFJUWdnQUNnQzZBRWhFQ0FEUWRnQWFpSUVRUUEyQWdBZ0F5QUNOZ0lBUVFCQkFVSHUwQUlnQXhBOUlBSWdBMEhVQUdvaUNSQ2hDVUVBU0FSL0lBZ2dBallDQUVFQVFRTkJodEVDSUFnUVBVRUFCUUovSUFjZ0FUWUNBRUVBUVFGQnJORUNJQWNRUFNBSktBSUFJQUVRb0FsQkFFZ0VRRUVBUVFOQnhkRUNJQThRUFVFQURBRUxJQVFnQ1JDakNVRUFTQVJBUVFCQkEwSHAwUUlnRGhBOVFRQU1BUXRCQUVFQlFZVFNBaUFORUQwZ0JpQUNOZ0lBUVFCQkFVR04wZ0lnQmhBOUlBQkIrQUZxSUFGQkFuUnFJQUlRcmdraUFEWUNBQ0FBUlFSQUlBVWdBallDQUVFQVFRTkJvOUlDSUFVUVBRdEJBRUVCUVlUU0FpQU1FRDBnQVVFS1JnUkFRWDhRQVFzZ0VDQUVLQUlBRUo0SlFRQklCSDlCQUVFRFFjVFNBaUFMRUQxQkFBVWdCQkQvQTBFQVFRRkIzZElDSUFvUVBVRUJDd3NMSVJFZ0F5UUdJQkVMTVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQU1nQVNBQ0lBQkJQM0ZCaWdGcUVRSUFOZ0lBSUFNb0FnQWhCQ0FESkFZZ0JBdVlBUUVDZnlBQVFRRkdCSDlCQWdVZ0FDQUFRWDlxY1FSL0lBQVEwUUVGSUFBTEN5SUFRYlRFQXlnQ0FDSUNTd1JBSUFBUXF3TUZJQUFnQWtrRVFFRzh4QU1vQWdDelFjREVBeW9DQUpXTkVKSUJJUUVnQWtGL2FpQUNjVVVnQWtFQ1MzRUVmeUFCUVFGQklDQUJRWDlxWjJ0MElBRkJBa2tiQlNBQkVORUJDeUlCSUFBZ0FDQUJTUnNpQUNBQ1NRUkFJQUFRcXdNTEN3c0xTQUVCZnlBQVFjZ0JFRkVpQXpZQ0FDQUFRYmpFQXpZQ0JDQURJQUlvQWdBb0FnQTJBZ2dnQTBFUWFrRUFRYmdCRUVVYUlBQkJBVG9BQ0NBRElBRTJBZ1FnQTBFQU5nSUFDejhCQW44akJpRUNJd1pCRUdva0JpQUNJQUVRclFNZ0FrRU1haUlCSUFJZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQVNnQ0FDRURJQUlRUnlBQ0pBWWdBd3ZEQmdJUWZ3RjhJd1loQWlNR1FTQnFKQVlnQWtFWWFpRU5JQUpCRUdvaEF5QUNRUWhxSVFRZ0FpRU1JQUFFUUFKQUlBRkZCRUJCQUVFRFFhMnBBU0FFRUQxQmZ5RUVEQUVMSUFBb0FnUWhBa0VBSVFRRFFBSkFJQVFnQWs0TkFDQUFLQUlJSUFSQkFuUnFLQUlBUlEwQUlBUkJBV29oQkF3QkN3c2dBaUFFUmdSQVFYOGhCQVVnQVJDSUF5SUxSUVJBUVFCQkEwSGFxUUVnQXhBOVFYOGhCQXdDQ3lBRVFRSjBJUTRnQ3hEM0FpRUJBa0FEUUFKQUlBcEJCRThOQWlBS0lBNXFJUWhCQUNFQ1FRQWhCUU5BSUFWQkEwa0VRQ0FGUlNFUElBVkJBa1loRUVFQUlRY2dBQ2dDSENFREEwQWdCeUFEU0FSQVFRQWhCZ05BSUFZZ0EwZ0VRQ0FCUlEwR0lBRVE3Z1FoQTBFQUVQY0NJUUVnQUNnQ0RDQUlRUUowYWlnQ0FDQUZJQVlnQnlBQUtBSWNiR3BCQTJ4cVFRSjBha0gvQVNBRGF5SUROZ0lBSUFBb0FoUWdDRUVDZEdvb0FnQWlFU0FHSUFjZ0FDZ0NIR3hxUVFKMGFpRUpJQThFUUNBSklBTTJBZ0FGSUFrZ0F5QUpLQUlBYWpZQ0FDQVFCRUFnQmlBSElBQW9BaHhzYWtFQ2RDQVJhaUlKSUFrb0FnQkJBeEE1TmdJQUN3c2dCa0VCYWlFR0lBSWdBMm9oQWlBQUtBSWNJUU1NQVFzTElBZEJBV29oQnd3QkN3c2dCVUVCYWlFRkRBRUxDeUFDSUFBb0Fod2lBaUFDUVFOc2JCQTVJUWRCQUNFRlFRQWhBd05BSUFNZ0FrRURiQ0FDYkVrRVFDQUFLQUlNSUFoQkFuUnFLQUlBSUFOQkFuUnFJZ1lvQWdBZ0Iyc2hBaUFHSUFJMkFnQWdCU0FDSUFKc2FpRUZJQU5CQVdvaEF5QUFLQUljSVFJTUFRc0xJQUFvQWhBZ0NFRURkR3BFU0srOG12TFhlajRnQmJlZkloSWdFa1FBQUFBQUFBQUFBR0ViT1FNQVFRQWhCVUVBSVFNRFFDQURJQUlnQW14SkJFQWdBQ2dDRkNBSVFRSjBhaWdDQUNBRFFRSjBhaUlHS0FJQUlBZHJJUUlnQmlBQ05nSUFJQVVnQWlBQ2JHb2hCU0FEUVFGcUlRTWdBQ2dDSENFQ0RBRUxDeUFBS0FJWUlBaEJBM1JxUkVpdnZKcnkxM28rSUFXM255SVNJQkpFQUFBQUFBQUFBQUJoR3prREFDQUtRUUZxSVFvTUFRc0xRUUJCQTBIMnFRRWdEUkE5SUFzUU9FRi9JUVFNQWdzZ0N4QTRJQUFvQWdnZ0JFRUNkR3BCQVRZQ0FDQUFJQUFvQWdCQkFXbzJBZ0FMQ3dWQkFFRURRWlNwQVNBTUVEMUJmeUVFQ3lBTUpBWWdCQXNzQVFKL0l3WWhBU01HUVJCcUpBWWdBU0FBUVFGeFFRWnFFUkFBTmdJQUlBRW9BZ0FoQWlBQkpBWWdBZ3N0QWdGL0Fud2pCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFRURjUkVTQURrREFDQUNLd01BSVFRZ0FpUUdJQVFMakFFQUlBQkJBRFlDd0FFZ0FFRUFOZ0xFQVNBQVFnQTNBc3dCSUFCQ0FEY0MxQUVnQUVJQU53TGNBU0FBUVg0MkF2QUJJQUJCQURZQzlBRWdBRUlBTndLZ0FpQUFRZ0EzQXFnQ0lBQkJnSUNBL0FNMkFyQUNJQUJFTFVNYzYrSTJHajg1QTdnQ0lBQkVBQUFBQUFCQWowQTVBOEFDSUFCQ0FEY0N5QUlnQUVJQU53TFFBaUFBUVFJMkF0Z0RDMEVCQTM4Z0FDZ0NDQ0VCQTBBZ0FRUkFJQUVvQWdBaEF5QUJFRGdnQXlFQkRBRUxDeUFBS0FJQUlRSWdBRUVBTmdJQUlBSUVRQ0FBS0FJRUdpQUNFRGdMQzZ3S0FRMS9Jd1loQ3lNR1FhQUJhaVFHSUF0Qm1BRnFJUVVnQzBHUUFXb2hEeUFMUVlBQmFpSUlRUUEyQWdBZ0NFRzJBVFlDQkNBSVFjTUJOZ0lJSUFoQkRUWUNERUYvSVFZRFFDQUhRUVJIQkVBZ0FDQUhRUUowSUFocUtBSUFhaXdBQUNFS0lBZEJBV29oQnlBS0lBa2dDa0gvQVhFZ0NVSC9BWEZLR3lFSklBb2dCaUFLUWY4QmNTQUdRZjhCY1VnYklRWU1BUXNMSUFsQi93RnhJZ2NnQmtIL0FYRWlDV3RCSGtnRWZ5QUNRUUEyQWdBZ0EwUUFBQUFBQUFEd3Z6a0RBRUYrQlFKL0lBY2dDV3BCQVhZaENrRUFJUWNEUUNBSFFRUkhCRUFnQlNBSGFpQUtJQUFnQjBFQ2RDQUlhaWdDQUdvdEFBQkxPZ0FBSUFkQkFXb2hCd3dCQ3d0QkFDRUpBMEFDUUNBSlFRUlBEUUFnQ1VFQmFpRUlJQVVnQ1dvc0FBQkJBVVlFUUNBSVFRTnhJQVZxTEFBQVFRRkdCRUFnQ1VFQ2FrRURjU0FGYWl3QUFFVU5BZ3NMSUFnaENRd0JDd3NnQXdKOEFrQUNRQUpBQWtBQ1FBSkFBa0FnQ1VILy8vLy9CM0VPQlFFQ0F3UUFCUXNnQWtFQU5nSUFJQU5FQUFBQUFBQUE4TDg1QXdCQmZRd0hDMEgzQUNFSVFRQWhCVUgvQVNFSEEwQWdCVUVPUmdSQURBWUZJQVZCZldvaERDQUZRZjcvLy84SGNVRU1SaUVOSUFWQkRtd2hEa0VBSVFZRFFDQUdRUTVIQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCL3YvLy93ZHhJUU1nQlNBR2NrSCsvLy8vQjNFRVFDQU5JQU5GSUFOQkRFWnljVVVFUUNBSUlBdHFJQUFnQmlBT2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEFBQUxBQXRCOXdBaENFSC9BU0VIUVFBaEJnTkFJQVpCRGtZRVFBd0ZCU0FHUVgxcUlRd2dCa0grLy8vL0IzRWlCVVVoRFNBRlFReEdJUTVCRFNFRkEwQWdCVUYvU2dSQUlBVkJmV29nREhKQkNFOEVRQ0FOSUFWQmZuRkJERVlpQTNGRkJFQWdEaUFESUFWQkFrbHljVVVFUUNBSUlBdHFJQUFnQmlBRlFRNXNhbW90QUFBZ0Ntc2lBMEVmZGpvQUFDQUlRWDlxSVFnZ0EwRUFJQU5ySUFOQmYwb2JJZ01nQnlBRElBZElHeUVIQ3dzTElBVkJmMm9oQlF3QkN3c2dCa0VCYWlFR0RBRUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRd2dCVUYrY1VFTVJpQUZRUUpKY2lFTklBVkJEbXdoRGtFTklRWURRQ0FHUVg5S0JFQWdEQ0FHUVgxcWNrRUlUd1JBSUFaQmZuRkJERVlnRFhFZ0JTQUdja0VDU1hKRkJFQWdDQ0FMYWlBQUlBWWdEbXBxTFFBQUlBcHJJZ05CSDNZNkFBQWdDRUYvYWlFSUlBTkJBQ0FEYXlBRFFYOUtHeUlESUFjZ0F5QUhTQnNoQndzTElBWkJmMm9oQmd3QkN3c2dCVUYvYWlFRkRBRUZEQVFMQUFBTEFBdEJEU0VGUWZjQUlRaEIvd0VoQndOQUlBVkJmMG9FUUNBRlFYMXFJUTBnQlVGK2NTSU1RUXhHSVE0Z0RFVWhFRUVBSVFZRFFDQUdRUTVIQkVBZ0JrRjlhaUFOY2tFSVR3UkFJQTRnQmtIKy8vLy9CM0VpQTBWeFJRUkFJQU1nREhKRklCQWdBMEVNUm5GeVJRUkFJQWdnQzJvZ0FDQUZJQVpCRG14cWFpMEFBQ0FLYXlJRFFSOTJPZ0FBSUFoQmYyb2hDQ0FEUVFBZ0Eyc2dBMEYvU2hzaUF5QUhJQU1nQjBnYklRY0xDd3NnQmtFQmFpRUdEQUVMQ3lBRlFYOXFJUVVNQVFVTUF3c0FBQXNBQ3lBQ0lBazJBZ0JFQUFBQUFBQUE4RDhNQVFzZ0J5RUFJQUlnQ1RZQ0FFUUFBQUFBQUFEd1B5QUF0MFFBQUFBQUFBQStRS01nQUVFZVNoc0xPUU1BUVk0V1FnQWdDeUFQRUxVRElnQkJBRWdFZjBGOEJTQUVCRUFnQkNBQU5nSUFDeUFCSUE4cEF3QTNBd0JCQUFzTEN5RVJJQXNrQmlBUkM1Z0JBUUovSUFCQkFVWUVmMEVDQlNBQUlBQkJmMnB4Qkg4Z0FCRFJBUVVnQUFzTElnQkJvTVFES0FJQUlnSkxCRUFnQUJDeUF3VWdBQ0FDU1FSQVFhakVBeWdDQUxOQnJNUURLZ0lBbFkwUWtnRWhBU0FDUVg5cUlBSnhSU0FDUVFKTGNRUi9JQUZCQVVFZ0lBRkJmMnBuYTNRZ0FVRUNTUnNGSUFFUTBRRUxJZ0VnQUNBQUlBRkpHeUlBSUFKSkJFQWdBQkN5QXdzTEN3dFBBUUYvSUFCQjhBTVFVU0lETmdJQUlBQkJwTVFETmdJRUlBTWdBaWdDQUNnQ0FEWUNDQ0FEUVJCcUlnSkJBRUhnQXhCRkdpQUNFT1FHSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUMxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0ZEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFh3RUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVpQUVFQVJ5QUJRUUpKY1FSL0lBQWdBVFlDRkVFQUJVRi9DMFVFUUNBQ0lBRTJBZ0JCQUVFQlFaeTJBaUFDRUQwTEN5QUNKQVlMWVFFRGZ5TUdJUUVqQmtFUWFpUUdJQUZCQkdvaEFpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBU0lBUVFCSElBSkJBRWR4Qkg4Z0FpQUFLQUlNTmdJQVFRQUZRWDhMUlNFQUlBSW9BZ0JCZnlBQUd3VkJmd3NoQXlBQkpBWWdBd3RmQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTSUFRUUJISUFGQkFrbHhCSDhnQUNBQk5nSU1RUUFGUVg4TFJRUkFJQUlnQVRZQ0FFRUFRUUZCdWJZQ0lBSVFQUXNMSUFJa0JndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVE3Z2dnQWlnQ0FBVkJmd3NoQXlBQkpBWWdBd3RCQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpZ0MyQUVpQUFSL0lBQkJtSWV2QTJvZ0FUWUNBRUVBQlVGL0N4b0xJQUlrQmd0N0FnSi9BbndqQmlFQkl3WkJFR29rQmlBQlFRaHFJZ0lnQURZQ0FDQUNFRk1FZkNBQ0VGSW9BdGdCSWdBRWZDQUFCSDhnQVNBQVFaQ0hyd05xS3dNQU9RTUFRUUFGUVg4TFJTRUFJQUVyQXdCRUFBQUFBQUFBOEw4Z0FCc0ZSQUFBQUFBQUFQQy9Dd1ZFQUFBQUFBQUE4TDhMSVFRZ0FTUUdJQVFMS2dFQ2Z3Si9Jd1loQVNNR1FSQnFKQVpCNzZnQ1FRTkI5SVlCUWRLMkFrRUJRUUVRQ1NBQkN5UUdDM0VDQW44QmZDTUdJUUlqQmtFUWFpUUdJQUpCQ0dvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlFQUlBRkRBQUFBQUY4Z0FVTUFBSUEvWUhKRkJFQWdBYnNoQkNBQUtBTFlBU0lBQkVBZ0FDQUVFT29JUlFSQUlBSWdCRGtEQUVFQVFRRkIxN1lDSUFJUVBRc0xDd3NnQWlRR0MxZ0JBMzhqQmlFQkl3WkJFR29rQmlBQlFRUnFJUUlnQVNBQU5nSUFJQUVRVXdSL0lBRVFVaWdDMkFFaUFBUi9JQUlnQUNnQ0dEWUNBRUVBQlVGL0MwVWhBQ0FDS0FJQVFYOGdBQnNGUVg4TElRTWdBU1FHSUFNTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFKQkJHb2lBeUFBTmdJQUlBTVFVd1JBSUFNUVVpZ0MyQUVnQVJDS0FrVUVRQ0FDSUFFMkFnQkJBRUVCUWZhMkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSVFOZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dHJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNJUUFnQVVIL0FVMEVRQ0FBS0FMWUFTSUFSU0FCUWY4QlMzSUVmMEYvQlNBQUlBRTJBaEJCQUF0RkJFQWdBaUFCTmdJQVFRQkJBVUdadHdJZ0FoQTlDd3NMSUFJa0JndEpBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVEvUWhGSVFBZ0FpZ0NBRUYvSUFBYkJVRi9DeUVESUFFa0JpQURDMG9CQW44akJpRUNJd1pCRUdva0JpQUNRUVJxSWdNZ0FEWUNBQ0FERUZNRVFDQURFRklvQXRnQklBRVErd05GQkVBZ0FpQUJOZ0lBUVFCQkFVR3p0d0lnQWhBOUN3c2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQThBQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RUEFBZ3NnQWlRR0N6a0NBWDhDZkNNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQkVGTUVmQ0FCRUZJckE3Z0NCVVFBQUFBQUFBRHd2d3NoQXlBQkpBWWdBd3NyQVFGL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1JBSUFJUVVpQUJPUU80QWdzZ0FpUUdDeXNCQW44Q2Z5TUdJUUVqQmtFUWFpUUdRWjJuQWtFQlFhQ0hBVUhXdHdKQjBnQkJBUkFKSUFFTEpBWUxDUUJCMElVQktBSUFDNXNFQWdKL0FYNGpCaUVUSXdaQmtPQUFhaVFHSUJOQmdPQUFhaUVVSUFKQmZtcEJBMGtFUUFKQUlCQkJqaFpIQkVBZ0FVRUNJQkJCL3dGeEloUWdGRUVEYkNBRElBUWdCU0FHSUFjZ0NDQUpJQk1RK3dGQkFFZ0VRQ0FOUVg4MkFnQkJlaUVOREFJTElCTWdGQ0FOSUE0Z0R5QVFJQkVRcVFjaERTQVNSUTBCSUJKQ0FEY0RBQXdCQ3lBQlFRSkJEa0VxSUFNZ0JDQUZJQVlnQnlBSVJBQUFBQUFBQU93L0lCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUVMSUJNZ0ZDQU9JQThnRVJEbUJpSU9RUUJJQkVBZ0RVRi9OZ0lBSUE0aERRd0JDeUFVS1FNQUloVkNmMUVFUUNBTlFYODJBZ0JCZXlFTkRBRUxJQTBnRmFkQi8vOEJjVUVBSUJWQ2dJRCsvdytEVUJzMkFnQWdFZ1JBSUJJZ0ZUY0RBQXNnRGlFTkN3VkJBU0VOQ3dKL0FrQUNRQ0FDRGdVQUFBRUFBQUVMSUFCRkJFQWdDa0YvTmdJQVFYOE1BZ3NnQUNnQ0hDSU9RUUowSVE4Q1FBSkFJQUlPQkFBQkFRQUJDeUFCUVFBZ0RpQVBJQU1nQkNBRklBWWdCeUFJSUFrZ0V4RDdBVUVBU0FSQUlBcEJmellDQUVGNkRBTUZJQUJCQUNBVElBQW9BaHdnQ2lBTElBd1F0Z01NQXdzQUN5QUJRUUVnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFJRklBQkJBU0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1BZ3NBQzBFQkN5RUFJQTFCQVVjRVFDQU5JQUJCQUNBQUlBMXhRUUJJR3lBQVFRRkdHeUVBQ3lBVEpBWWdBQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dScHdKQkFrR2tod0ZCMmJjQ1FTNUI4Z0FRQ1NBQkN5UUdDd3NBUWRDRkFTQUFOZ0lBQ3prQkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVVIa2hxY0NhaWdDQUFWQkFBc2hBaUFCSkFZZ0FndEJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FVRUVhaUVDSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQklBSVFnQWtnQWlnQ0FBVkJBQXNoQXlBQkpBWWdBd3RiQVFKL0l3WWhBaU1HUVJCcUpBWWdBa0VFYWlJRElBQTJBZ0FnQXhCVEJFQWdBeEJTS0FMWUFTQUJRUUJISWdBUS9RTWdBa0hkdHdKQjRiY0NJQUFiTmdJQVFRQkJBVUhtdHdJZ0FoQTlCVUVBSVFFTElBSWtCaUFCQytFRkFncC9BWDBqQmlFQ0l3WkIwQUJxSkFZZ0FrRTRhaUVJSUFKQk1Hb2hDU0FDUWN3QWFpRUVJQUpCeEFCcUlRVWdBa0ZBYXlFSElBSkJ5QUJxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlJREtBTDBBU0FCVEFSQVFmQ0dBU2dDQUF3QkN5QUVRUUEyQWdBZ0JVRi9OZ0lBSUFkREFBQ0F2emdDQUFKQUFrQWdBeWdDOEFFaUFFRitSZ1JBSUFNb0F1Z0JJQU1vQXN3QkVKY0pJQU1vQXVnQklnQUVmeUFFSUFBb0FqUTJBZ0FnQlNBQUtBSTROZ0lBUVFBRlFYOExHaUFGS0FJQUlRWWdCQ2dDQUNFRlFYOGhBRUVBSVFRRFFDQUVJQVpJQkVBZ0FTQUVRY1FBYkNBRmFpZ0NNRVlFUUNBRVFjUUFiQ0FGYWlnQ1BFVUVRQUpBSUFjZ0FFRi9SZ1IvSUFSQnhBQnNJQVZxS0FJMEJTQUhLZ0lBSUFSQnhBQnNJQVZxS2dJMElneGVSUTBCSUF5OEN6WUNBQ0FFSVFBTEN3c2dCRUVCYWlFRURBRUxDeUFBUVg5TUJFQWdBMEYrTmdMd0FRd0NDeUFESUFVb0FqQWlDallDOEFGQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQmdOQUlBWkJCRWNFUUNBRVFRUjBJQUpxSUFaQkFuUnFJQUJCeEFCc0lBVnFJQVJCQkhScUlBWkJBblJxS0FJQU5nSUFJQVpCQVdvaEJnd0JDd3NnQkVFQmFpRUVEQUVMQ3lBRFFmZ0JhaUFLUVFKMGFpZ0NBQ0FDRUswSklBTW9BdkFCSVFBTElBQkJmMHdOQUNBREtBTHNBU0FEUWZnQmFpQUFRUUowYWlnQ0FDQURLQUxFQVNBQ0lBY1F6Z1lpQUVFQVNBUkFJQWtnQURZQ0FFRUFRUUZCL0xjQ0lBa1FQU0FEUVg0MkF2QUJEQUVMSUFNb0F2UUJRWDlxSVFBZ0NDQURRZmdCYWlBREtBTHdBVUVDZEdvb0FnQTJBZ0FnQ0NBQU5nSUVRUUJCQVVHUHVBSWdDQkE5SUFNb0F2QUJRWDlNRFFCQkF5QUJJQWNxQWdDN0lBSXFBZ0M3SUFJcUFnUzdJQUlxQWdpN0lBSXFBZ3k3SUFJcUFoQzdJQUlxQWhTN0lBSXFBaGk3SUFJcUFoeTdJQUlxQWlDN0lBSXFBaVM3SUFJcUFpaTdJQUlxQWl5N0VDc2FEQUVMUVFRZ0FSQXNHZ3RCQUFzRlFlaUdBU2dDQUFzaEN5QUNKQVlnQ3d1YUFnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklvQXRnQklnQW9BaXdnQVVvRWYwRUNRZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdBb0FnQWdBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FDZ0NFQ0FBS0FJVUlBQW9BaGdnQUNzRElDQUFLd01vSUFBckF6QWdBQ3NET0NBQVFVQnJLd01BSUFBckEwZ2dBQ3NEVUNBQUt3TllJQUFyQTJBZ0FDc0RhQ0FBS3dOd0lBQXJBM2dnQUNzRGdBRWdBQ3NEaUFFZ0FDc0RrQUVnQUNzRG1BRWdBQ3NEb0FFZ0FDc0RxQUVnQUNzRHNBRWdBQ3NEdUFFZ0FDc0R3QUVnQUNzRHlBRWdBQ3NEMEFFZ0FDc0QyQUVnQUNzRDRBRWdBQ2dDOEFFUUtCcEJBQVZCOElZQktBSUFDd1ZCNklZQktBSUFDeUVESUFJa0JpQURDODBCQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvQW44Z0F4QlNJZ1FvQXNnQ0lRQWdBVUVBU0NBRUtBTE1BaUFBYTBFRGRTQUJUWElFUUVIc2hnRW9BZ0FNQVFzZ0FrRUFTQ0FCUVFOMElBQnFLQUlFSWdBb0FnUWdBa3h5Qkg5QjhJWUJLQUlBQlNBQUtBSUFJZ0FnQWtIQUFteHFRUkJxRUxRQ1FRRWdBa0hBQW13Z0FHb29BckFDSUFKQndBSnNJQUJxS0FJQUlBSkJ3QUpzSUFCcUtBSUVJQUpCd0FKc0lBQnFLd01JRUNvYVFRQUxDd1ZCNklZQktBSUFDeUVGSUFNa0JpQUZDeWdCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCRUFnQVJCU0dnc2dBU1FHUVg4TE9BRUNmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZ5QUJFRklvQXRnQlFTeHFCVUhvaGdFTEtBSUFJUUlnQVNRR0lBSUxvQVVCQ1g5QkNFRUlFSXNCSVFkQkNFRUJFSXNCSVFoQkNFRUJFSXNCSVFrRFFDQUZRUVJIQkVBZ0J5Z0NBQ0lFSUFWQkJIUWlBMEVEZEdvZ0JVRUVkQ0FBYWlJR0t3TUFPUU1BSUFOQkFYSkJBM1FnQkdvZ0JVRUVkQ0FBYWlJS0t3TUlPUU1BSUFOQkFuSkJBM1FnQkdwRUFBQUFBQUFBOEQ4NUF3QWdBMEVEY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRUnlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQlhKQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUdja0VEZENBRWFpQUdLd01BSUFWQkJIUWdBV29pQ3lzREFLS2FPUU1BSUFOQkIzSkJBM1FnQkdvZ0Npc0RDQ0FMS3dNQW9wbzVBd0FnQTBFSWNrRURkQ0FFYWtRQUFBQUFBQUFBQURrREFDQURRUWx5UVFOMElBUnFSQUFBQUFBQUFBQUFPUU1BSUFOQkNuSkJBM1FnQkdwRUFBQUFBQUFBQUFBNUF3QWdBMEVMY2tFRGRDQUVhaUFHS3dNQU9RTUFJQU5CREhKQkEzUWdCR29nQ2lzRENEa0RBQ0FEUVExeVFRTjBJQVJxUkFBQUFBQUFBUEEvT1FNQUlBTkJEbkpCQTNRZ0JHb2dCaXNEQUNBRlFRUjBJQUZxSWdZckF3aWltamtEQUNBRFFROXlRUU4wSUFScUlBb3JBd2dnQmlzRENLS2FPUU1BSUFnb0FnQWlCQ0FGUVFGMElnTkJBM1JxSUFzckF3QTVBd0FnQTBFQmNrRURkQ0FFYWlBR0t3TUlPUU1BSUFWQkFXb2hCUXdCQ3dzZ0J4RFdBUm9nQ1NBSElBZ1FyUUlhSUFrb0FnQWhBVUVBSVFBRFFDQUFRUUpIQkVBZ0FFRVliQ0FDYWlBQVFRTnNJZ05CQTNRZ0FXb3JBd0E1QXdBZ0FFRVliQ0FDYWlBRFFRRnFRUU4wSUFGcUt3TUFPUU1JSUFCQkdHd2dBbW9nQTBFQ2FrRURkQ0FCYWlzREFEa0RFQ0FBUVFGcUlRQU1BUXNMSUFJZ0FTc0RNRGtETUNBQ0lBRXJBemc1QXpnZ0FrRkFhMFFBQUFBQUFBRHdQemtEQUNBSEVFa2dDQkJKSUFrUVNRdlNFd0lQZndGOEl3WWhEaU1HUVJCcUpBWWdCQ2dDQUNJSElRd2dBU0FDUVg5cUloQnNRUUYwSUFkcUlRWURRQ0FGSUFGSUJFQWdCa0VBT3dFQUlBeEJBRHNCQUNBTVFRSnFJUXdnQlVFQmFpRUZJQVpCQW1vaEJnd0JDd3RCQUNFTUlBY2lCaUFCUVg5cUloRkJBWFJxSVFVRFFDQU1JQUpJQkVBZ0JVRUFPd0VBSUFaQkFEc0JBQ0FCUVFGMElBWnFJUVlnREVFQmFpRU1JQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFR1FRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVF4QkFTRUtRUUFoQlNBQVFRRjBJQWRxSVFNQ2Z3SkFBMEFDUUNBS0lCQk9EUUlnQlNFQVFRRWhDQ0FESVFzRFFDQUlJQkZJQkVBZ0RTMEFBQ0FNTFFBQVNnUkFJQXRCQURzQkFBVUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnREVFQmFpRU1JQWhCQVdvaENDQUxRUUpxSVFzTUFRc0xJQTFCQW1vaERTQU1RUUpxSVF3Z0NrRUJhaUVLSUFBaEJTQUxRUVJxSVFNTUFRc0xRUUJCQTBHb3BRRWdEaEE5UVg4TUFRc2dCRUVNYWlFTlFRRWhBRUVCSVFjRFFDQUhJQVZNQkVBZ0J5QUdLQUlBSWd4R0JFQWdBRUVCYWlFREJTQUFJUU1nREVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBR0lBQTJBZ0FnQXlFQUlBZEJBV29oQnlBR1FRUnFJUVlNQVFzTElBUWdBRUYvYWlJR05nSUlJQVlFZnlBTlFRQWdCa0VDZEJCRkdpQUVRWkNBS0dwQkFDQUdRUVIwRUVVYVFRQWhBd05BSUFNZ0JrZ0VRQ0FFUVl5QUNHb2dBMEVDZENJQVFRSjBhaUFCTmdJQUlBUkJqSUFJYWlBQVFRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUFRUUp5UVFKMGFpQUNOZ0lBSUFSQmpJQUlhaUFBUVFOeVFRSjBha0VBTmdJQUlBTkJBV29oQXd3QkN3dEJBQ0VEQTBBZ0F5QUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQURRUUowYWlnQ0FFRi9haUlDUVFKMGFpSUFJQVJCa0lEUUFHb2dBMEVIYkNJR1FRSjBhaWdDQUNBQUtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBQlFRRnlRUU4wYWlJQUlBQXJBd0FnQmtFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0djZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2dnTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHa2dOQUFhaWdDQUNJQVNnUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBRWdBRFlDQUFzZ0EwRUJhaUVEREFFTEN5QUVLQUlJSVFKQkFDRURBMzhnQXlBQ1NBUi9JQVJCa0lBb2FpQURRUUYwSWdGQkEzUnFJZ0FnQUNzREFDQUVRUXhxSUFOQkFuUnFLQUlBdHlJVW96a0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlCU2pPUU1BSUFOQkFXb2hBd3dCQlVFQUN3c0ZRUUFMQ3lFVElBNGtCaUFUQzRNQkFRTi9Jd1loQVNNR1FUQnFKQVlnQVVFb2FpSUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lRQWdBVUlBTndNQUlBRkNBRGNEQ0NBQlFnQTNBeEFnQVVJQU53TVlJQUZDQURjRElDQUJJQUFvQXNRQk5nSUFJQUZCQVRZQ0VDQUJJQUFvQXN3Qk5nSU1JQUFvQXRnQklBRVExd2dGUWVpR0FTZ0NBQXNoQXlBQkpBWWdBd3VMQVFFRGZ5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSWlBQ2dDeUFJaEF5QUJRUUJJSUFBb0Fzd0NJQU5yUVFOMUlBRk5jZ1IvUWV5R0FTZ0NBQVVnQUNnQzVBRWdBQ2dDMkFFaUFFRXdhaUFBS0FJc0lBRkJBM1FnQTJvb0FnUWlBRUVCRUpjRUlBQkJDR29RdEFKQkFBc0ZRZWlHQVNnQ0FBc2hCQ0FDSkFZZ0JBdUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUFFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF0dEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlBQU5nSUFJQU1RVXdSL0lBTVFVaUlFS0FMWUFTSUFLQUlzSUFGS0JIOGdCQ2dDNUFGQjZMd0RJQUJCTUdvZ0FVRUlkR29nQVVFQVNCc2dBcmNRbVFoQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkMzSUJBMzhqQmlFREl3WkJFR29rQmlBRElBQTJBZ0FnQXhCVEJIOGdBeEJTSWdRb0F0Z0JJZ0FvQWl3Z0FVb0VmeUFFS0FMa0FVSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDdDBHQXBBTVEyZ01hUVFBRlFmQ0dBU2dDQUFzRlFlaUdBU2dDQUFzaEJTQURKQVlnQlF1UUFnSUNmd2g4SXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlnQzJBRWlBQ2dDTENBQlNnUi9RZWk4QXlBQVFUQnFJQUZCQ0hScUlBRkJBRWdiSWdCQmdLUURLd01BSWdRNUE2Z0JJQUJCaUtRREt3TUFJZ1U1QTdBQklBQkJrS1FES3dNQUlnWTVBN2dCSUFCQm1LUURLd01BSWdjNUE4QUJJQUJCb0tRREt3TUFJZ2c1QThnQklBQkJxS1FES3dNQUlnazVBOUFCSUFCQnNLUURLd01BSWdvNUE5Z0JJQUJCdUtRREt3TUFJZ3M1QStBQklBQWdCQ0FHb0NBSW9DQUtvRVFBQUFBQUFBRFFQNkk1QXpnZ0FFRkFheUFGSUFlZ0lBbWdJQXVnUkFBQUFBQUFBTkEvb2prREFFRUFCVUh3aGdFb0FnQUxCVUhvaGdFb0FnQUxJUU1nQWlRR0lBTUxaQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBRFlDQUNBREVGTUVmeUFERUZJb0F0Z0JJZ0FvQWl3Z0FVb0VmMEhvdkFNZ0FFRXdhaUFCUVFoMGFpQUJRUUJJR3lBQ05nSVFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQkNBREpBWWdCQXNyQVFKL0FuOGpCaUVCSXdaQkVHb2tCa0dEcFFKQkFrR3Nod0ZCbU04Q1FSOUJ4Z0FRQ1NBQkN5UUdDNW9CQVFSL0l3WWhBU01HUWRBQmFpUUdJQUZCd0FGcUlRTWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJQUVnQVVHNEFXb2lBaERJQzBFQVNBUi9JQUFzQUF0QkFFZ0VRQ0FBS0FJQUlRQUxJQU1nQURZQ0FFRUFRUU5CZ2RBQ0lBTVFQVUYvQlVIRXhBTkJ4TVFES0FJQUlnQkJBV28yQWdBZ0FpQUFOZ0lBSUFJUXJBTWdBVUc0QVJCTUdpQUNLQUlBQ3lFRUlBRWtCaUFFQ3p3QkFuOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0FvQXN3Q0lBQW9Bc2dDYTBFRGRRVkJmd3NoQWlBQkpBWWdBZ3RpQVFKL0l3WWhBaU1HUVJCcUpBWWdBaUFBTmdJQUlBSVFVd1IvSUFJUVVpRUFJQUZCQUVnRWYwRi9CU0FBS0FMTUFpQUFLQUxJQWlJQWEwRURkU0FCU3dSL0lBRkJBM1FnQUdvb0FnUW9BZ1FGUVg4TEN3VkJmd3NoQXlBQ0pBWWdBd3QzQVFKL0l3WWhBeU1HUVJCcUpBWWdBMEVFYWlJQ0lBQTJBZ0FnQWhCVEJFQWdBaEJTSWdJb0F2UUJJUUFnQVN3QUMwRUFTQVJBSUFFb0FnQWhBUXNnQWlBQUlBRVEzQVlFUUNBQ0lBSW9BdlFCUVFGcU5nTDBBUVZCQUVFRFFjSFFBaUFERUQxQmZ5RUFDd1ZCZnlFQUN5QURKQVlnQUF2VUFRRUVmeU1HSVFJakJrRVFhaVFHSUFKQkNHb2hCQ0FDUVF4cUlnTWdBRFlDQUNBREVGTUVmd0ovSUFNUVVpRUFJQUVzQUF0QkFFZ0VRQ0FCS0FJQUlRRUxJQUVnQUNnQzJBRWdBRUhjQVdvZ0FFSGdBV29pQXhEYkJrVUVRRUVBUVFOQi9OSUNJQVFRUFVGL0RBRUxJQUlnQUNnQ3pBSWlBU0FBUWNnQ2FpSUVLQUlBYTBFRGRUWUNBQ0FDSUFNb0FnQTJBZ1FnQVNBQUtBTFFBa1lFUUNBRUlBSVFsZ0VGSUFFZ0Fpa0RBRGNDQUNBQUlBQW9Bc3dDUVFocU5nTE1BZ3NnQWlnQ0FBc0ZRWDhMSVFVZ0FpUUdJQVVMYndFRGZ5TUdJUU1qQmtFUWFpUUdJQU5CQkdvaUFpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQ0lBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBa0hVQW1vaUFDQUNRZHdCYWhEWkJnUi9JQUFvQWdBRlFRQkJBMEhJMHdJZ0F4QTlRWDhMQlVGL0N5RUVJQU1rQmlBRUM1Y0NBUVIvSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlCSUFBMkFnQWdBUkJUQkg4Z0FSQlNJZ0VvQXNBQklBRW9BdGdERU5FR0lRQWdBU0FBTmdMc0FTQUFCRUFnQVVIb0FXb2hBd1ZCQUVFRFFhTFVBaUFDRUQwZ0FVSG9BV29pQXhDa0NTQUJLQUxzQVNFQUN5QUFCSDhnQUVNQUFLQkFPQUlzUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVNQUFBQS9PQUlvUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFUU5nSWtRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJWVFRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0ljUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWdRUUFGUVg4TEdpQURJQUVvQXNBQkVJQUVOZ0lBUVFBRlFYOExJUVFnQWlRR0lBUUx0Z0VCQlg4akJpRUNJd1pCRUdva0JpQUNJQUEyQWdBZ0FoQlRCSDhnQWhCU0lnQW9Bc1FCSWdFRVFDQUJFRGdnQUVFQU5nTEVBU0FBUVFBMkFzZ0JDeUFBRUtrRElBQW9BdHdCRUxnQ0lBSVExd1lnQUVISUFtb2hBMEVBSVFFRFFDQUJJQUFvQXN3Q0lBTW9BZ0FpQkd0QkEzVkpCRUFnQVVFRGRDQUVhaWdDQkNJRUtBSUFFRGdnQkJBNElBRkJBV29oQVF3QkN3c2dBeEJWSUFNUU9DQUFFTE1ESUFBUU9FRUFCVUYvQ3lFRklBSWtCaUFGQys0QkFRUi9Jd1loQkNNR1FSQnFKQVpCeU1RRFFjakVBeWdDQUNJRFFRRnFOZ0lBSUFSQkRHb2lCU0FETmdJQUlBVVFVaUlESUFVb0FnQTJBZ0FnQXlBQU5nTFFBU0FESUFFMkF0UUJJQU1nQVNBQVFRSjBiQ0lBTmdMSUFTQURJQUFRUkRZQ3hBRWdBeUFES0FMSUFVRUVFRGtRUkRZQ3pBRWdBeEMzQnlJQU5nTGNBU0FBUlFSQVFRQkJBMEhCMUFJZ0JCQTlDeUFGS0FJQUlBSVEwd1lnQkVFSWFpSUFJQU1vQXNnQk5nSUFRUUJCQVVIbTFBSWdBQkE5UVFBZ0F5Z0NBQ0FES0FMRUFTQURLQUxJQVNBRFFkZ0Nha0dBcEFNZ0F5Z0N6QUVRS1JvZ0F5Z0NBQ0VHSUFRa0JpQUdDNGNKQVFGL0l3WWhBQ01HUVJCcUpBWkJuS1FDUVJvUTNBRkJvcVFDUWNNQUVJUUJRYXVrQWtIRUFCQ0VBVUcwcEFKQkZCQzJBa0cvcEFKQkZSQzJBa0hQcEFKQkZoQzJBa0hkcEFKQkZ4QzJBVUh2cEFKQnhRQVFoQUVRa2dkQmo2VUNRUnNRM0FGQm9LVUNRUmdRdGdGQnRLVUNRUndRM0FGQnhxVUNRUjBRM0FGQjNLVUNRUmtRdGdGQjg2VUNRUm9RdGdGQmtLWUNRY2NBRUlRQlFaMm1Ba0hJQUJDRUFVR3FwZ0pCeVFBUWhBRkJ1cVlDUVI0UTNBRkJ6YVlDUVJzUXRnRkIxNllDUVJ3UXRnRkI1S1lDUVIwUXRnRkI4YVlDUWNvQUVJUUJRZjZtQWtITEFCQ0VBUkQvQmhEOEJrR3Bwd0pCQVJDMEEwSEFwd0pCQVJDMUFrSFhwd0pCQWhDMEEwSHRwd0pCQWhDMUFrR0RxQUpCS0JEQUFVR1VxQUpCekFBUWhBRkJwYWdDUVNrUXdBRkJzcWdDUWMwQUVJUUJRYitvQWtFcUVNQUJRZGVvQWtIT0FCQ0VBUkR3QmtIOHFBSkJBeEMxQWtHSnFRSkJLeERBQVVHYnFRSkJ6d0FRaEFGQnJha0NRU3dRd0FGQnZha0NRZEFBRUlRQlFjMnBBa0V0RU1BQlFkNnBBa0hSQUJDRUFVSHZxUUpCNklZQkVFdEJqS29DUWV5R0FSQkxRYWlxQWtId2hnRVFTeUFBUVFBMkFnQkJ5YW9DSUFBUVN5QUFRUUUyQWdCQjJxb0NJQUFRU3lBQVFRQTJBZ0JCNnFvQ0lBQVFTeUFBUVFBMkFnQkJnS3NDSUFBUVN5QUFRUUUyQWdCQm1hc0NJQUFRU3lBQVFRRTJBZ0JCc3FzQ0lBQVFTeUFBUWVRQU5nSUFRY3VyQWlBQUVFc2dBRUVBTmdJQVFlYXJBaUFBRUVzZ0FFRUJOZ0lBUVlDc0FpQUFFRXNnQUVFQU5nSUFRWnFzQWlBQUVFc2dBRUVBTmdJQVFiV3NBaUFBRUVzZ0FFRUJOZ0lBUWRDc0FpQUFFRXNnQUVFQ05nSUFRZXFzQWlBQUVFc2dBRUVETmdJQVFZT3RBaUFBRUVzZ0FFRUVOZ0lBUWFtdEFpQUFFRXNnQUVFQU5nSUFRYzZ0QWlBQUVFc2dBRUVBTmdJQVFmQ3RBaUFBRUVzZ0FFRUJOZ0lBUVlpdUFpQUFFRXNnQUVFQ05nSUFRYUt1QWlBQUVFc2dBRUVDTmdJQVFiMnVBaUFBRUVzZ0FFRUZOZ0lBUWQrdUFpQUFFRXNnQUVRQUFBQUFBQURnUHprREFFSHhyZ0pCbVBrQUlBQXJBd0FRRnlBQVFRQTJBZ0JCaHE4Q0lBQVFTeUFBUVFFMkFnQkJtYThDSUFBUVN5QUFRUUkyQWdCQnE2OENJQUFRU3lBQVFRTTJBZ0JCdmE4Q0lBQVFTeUFBUVFRMkFnQkIwSzhDSUFBUVN5QUFRUU0yQWdCQjVxOENJQUFRU3lBQVFZTUVOZ0lBUWZtdkFpQUFFRXNnQUVHREFqWUNBRUdXc0FJZ0FCQkxJQUJCQkRZQ0FFR3lzQUlnQUJCTElBQkJoQVkyQWdCQnhiQUNJQUFRU3lBQVFZUUlOZ0lBUWVPd0FpQUFFRXNnQUVFQU5nSUFRWUd4QWlBQUVFc2dBRUVCTmdJQVFhQ3hBaUFBRUVzZ0FFRUNOZ0lBUWNTeEFpQUFFRXNnQUVFRE5nSUFRZWF4QWlBQUVFc2dBRUVBTmdJQVFZeXlBaUFBRUVzZ0FFRUJOZ0lBUWEyeUFpQUFFRXNnQUVFQ05nSUFRZHl5QWlBQUVFc2dBRUVETmdJQVFZYXpBaUFBRUVzZ0FFRUVOZ0lBUWJHekFpQUFFRXNnQUVFRk5nSUFRZVd6QWlBQUVFc2dBRUVHTmdJQVFaaTBBaUFBRUVzZ0FFRUhOZ0lBUWNXMEFpQUFFRXNnQUVFSU5nSUFRZXkwQWlBQUVFc2dBRUVKTmdJQVFabTFBaUFBRUVzZ0FDUUdDME1BUVp6RUEwSUFOd0lBUWFURUEwSUFOd0lBUWF6RUEwR0FnSUQ4QXpZQ0FFR3d4QU5DQURjQ0FFRzR4QU5DQURjQ0FFSEF4QU5CZ0lDQS9BTTJBZ0FRbkFjTHFBSUNCSDhDZkNNR0lRRWpCa0VRYWlRR0lBQXJBd0FpQlVRQUFBQUFBQUFBQUdaRkJFQWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQjBBQVFQa0gyb2dJUU4wSDVvZ0lRTnlJRUtBSUFRWFJxS0FJQUlBUnFFRHNnQVVHQXpnTVFPaUlDS0FJQUtBSWNJUU1nQWtFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQVJBOElBUWdBeEJBSUFRUVB4QUFDeUFBS3dNSUlnWkVBQUFBQUFBQUFBQm1CRUFnQVNRR0lBWWdCYUVQQlNBQlFjRElBMEdVb3dJUU4wSDlvUUlRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWJxakFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnTW9BZ0FvQWh3aEFDQURRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUJFRHdnQWlBQUVFQWdBaEEvRUFBTFJBQUFBQUFBQUFBQUM3WUJBUU4vSXdZaEFTTUdRUkJxSkFZZ0FDc0RBRVFBQUFBQUFBQUFBR1lFUUNBQlFRQVFGQm9nQUNBQktBSUV0MFNON2JXZzk4YXdQcUlnQVNnQ0FMZWdPUU1JSUFFa0JnVWdBVUhBeUFOQjFxRUNFRGRCL2FFQ0VEZEI3NklDRURkQnd3QVFQa0gyb2dJUU4wSDVvZ0lRTnlJQ0tBSUFRWFJxS0FJQUlBSnFFRHNnQVVHQXpnTVFPaUlES0FJQUtBSWNJUUFnQTBFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQVJBOElBSWdBQkJBSUFJUVB4QUFDd3MyQVFGL0l3WWhBU01HUVJCcUpBWWdBVUVBRUJRYUlBQWdBU2dDQkxkRWplMjFvUGZHc0Q2aUlBRW9BZ0Mzb0RrREFDQUJKQVlMUndFQmZ5TUdJUU1qQmtHQUVHb2tCaUFEUVlBUUlBRW9BZ0FnQVNBQkxBQUxRUUJJR3lBQ0VLa0JHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBeUFERUdBUWZpQURKQVlMVFFFRGZ3TkFJQUlnQUNnQ0JDQUFLQUlBSWdOclFRTjFTUVJBSUFKQkEzUWdBMm9vQWdBaUF5Z0NBQ2dDQ0NFRUlBTkJDQ0FCSUFSQkEzRkI5Z1ZxRVFZQUlBSkJBV29oQWd3QkN3c0xGQUFnQUVFTWFrRUFJQUVvQWdSQjk2QUNSaHNMQ0FBZ0FDZ0NEQm9MVVFFQ2Z5TUdJUU1qQmtFUWFpUUdJQUFnQVRZQ0FFRVFFRkVpQWtFQU5nSUVJQUpCQURZQ0NDQUNRZFNHQVRZQ0FDQUNJQUUyQWd3Z0FDQUNOZ0lFSUFNZ0FUWUNBQ0FESUFFMkFnUWdBeVFHQ3hRQUlBQkJER3BCQUNBQktBSUVRZjJmQWtZYkN3a0FJQUFvQWd3UU9BdFJBUUovSXdZaEF5TUdRUkJxSkFZZ0FDQUJOZ0lBUVJBUVVTSUNRUUEyQWdRZ0FrRUFOZ0lJSUFKQnVJWUJOZ0lBSUFJZ0FUWUNEQ0FBSUFJMkFnUWdBeUFCTmdJQUlBTWdBVFlDQkNBREpBWUxsUklDQzM4QmZpTUdJUXdqQmtFZ2FpUUdJQXhCR0dvaENDQU1RUkJxSVE0Z0FVRjlha0VGU3dSL0lBSkJmellDQUNBRFFRQTJBZ0FnQkVRQUFBQUFBQUR3dnprREFFRi9CUUovSUF4QkFEWUNBQ0FNSUFFZ0FVRi9haUlMYkRZQ0JDQU1JQUVnQVd3aUQwRi9hallDQ0NBTUlBczJBZ3hCZnlFSkEwQWdCMEVFUndSQUlBQWdCMEVDZENBTWFpZ0NBR29zQUFBaERTQUhRUUZxSVFjZ0RTQUtJQTFCL3dGeElBcEIvd0Z4U2hzaENpQU5JQWtnRFVIL0FYRWdDVUgvQVhGSUd5RUpEQUVMQ3lBS1FmOEJjU0lISUFsQi93RnhJZ3ByUVI1SUJFQWdBa0YvTmdJQUlBTkJBRFlDQUNBRVJBQUFBQUFBQVBDL09RTUFRWDRNQVFzZ0J5QUtha0VCZGlFSlFRQWhCd05BSUFkQkJFY0VRQ0FISUFocUlBa2dBQ0FIUVFKMElBeHFLQUlBYWkwQUFFczZBQUFnQjBFQmFpRUhEQUVMQzBFQUlRY0NRQUpBQTBBQ1FDQUhRUVJQRFFJZ0IwRUJhaUVLSUFjZ0NHb3NBQUJCQVVZRVFDQUtRUU54SUFocUxBQUFRUUZHQkVBZ0IwRUNha0VEY1NBSWFpd0FBRVVOQWdzTElBb2hCd3dCQ3dzZ0F5QUhOZ0lBREFFTElBZEJCRVlFUUNBQ1FYODJBZ0FnQTBFQU5nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZRd0NDd3RCL3dFaENrRUFJUWNEUUNBSElBOUhCRUJCQUNBQUlBZHFJZzB0QUFBaUVDQUpheUlJYXlBSUlBaEJBRWdiSVFnZ0RTQUpJQkJMT2dBQUlBZ2dDaUFJSUFwSUd5RUtJQWRCQVdvaEJ3d0JDd3NDUUFKQUFrQUNRQUpBSUFNb0FnQWlBdzRFQUFFQ0F3UUxBMEFnQXlBQlNBUkFJQU1nQzBZaENDQUJJQU5zSVFsQkFDRUhBMEFnQVNBSFJ3UkFJQU1nQjNJRVFDQUlJQWRGSUFjZ0MwWnljVVVFUUNBQUlBY2dDV3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQjBFQmFpRUhEQUVMQ3lBRFFRRnFJUU1NQVFVTUJRc0FBQXNBQzBFQUlRY0RRQ0FISUFGSUJFQWdCMFVoQ0NBSElBdEdJUWtnQ3lFREEwQWdBMEYvU2dSQUlBZ2dBeUFMUmlJTmNVVUVRQ0FKSUEwZ0EwVnljVVVFUUNBQUlBY2dBU0FEYkdwcUxBQUFRUUJIclNBU1FnR0doQ0VTQ3dzZ0EwRi9haUVEREFFTEN5QUhRUUZxSVFjTUFRVU1CQXNBQUFzQUN5QUxJUU1EUUNBRFFYOUtCRUFnQTBVZ0F5QUxSbkloQ0NBQklBTnNJUWtnQ3lFSEEwQWdCMEYvU2dSQUlBTWdCM0pGSUFjZ0MwWWdDSEZ5UlFSQUlBQWdCeUFKYW1vc0FBQkJBRWV0SUJKQ0FZYUVJUklMSUFkQmYyb2hCd3dCQ3dzZ0EwRi9haUVEREFFRkRBTUxBQUFMQUFzZ0N5RURBMEFnQTBGL1NnUkFJQU1nQzBZaENDQURSU0VKUVFBaEJ3TkFJQWNnQVVnRVFDQUpJQWNnQzBaeElBTWdCM0pGSUFnZ0IwVnhjbkpGQkVBZ0FDQURJQUVnQjJ4cWFpd0FBRUVBUjYwZ0VrSUJob1FoRWdzZ0IwRUJhaUVIREFFTEN5QURRWDlxSVFNTUFRc0xDeUFFUkFBQUFBQUFBUEEvSUFxM1JBQUFBQUFBQUQ1QW95QUtRUjVLR3prREFBSkFBa0FDUUFKQUFrQWdCVUdEQW1zT2d3Z0FBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQVFNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQWdJREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TUNBd3NnRGlBU3AwSGdDV29zQUFBaUFLdzNBd0FnQUVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJRc01Bd3NnRGlBU3B5SUFRZUFJYWl3QUFDSUJyRGNEQUNBR0JFQWdCaUFBUWFBSmFpMEFBRFlDQUFzZ0FVRUFTQVJBSUFKQmZ6WUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYd01CQXNNQWdzZ0JTQVNRUUFnRGhDMUF5SUFRUUJJQkVBZ0FrRi9OZ0lBSUFSRUFBQUFBQUFBOEw4NUF3QkJmQXdEQ3lBQVFRQkhJQVpCQUVkeEJFQWdCaUFBTmdJQUN3d0JDeUFPSUJJM0F3QUxJQUlnRGlrREFENENBRUVBQ3dzaEVTQU1KQVlnRVFzbEFDQUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBQ0FCRUtzSEM2OEJBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDQUJLQUlBTmdJQUlBQWdBU2dDQkRZQ0JDQUFJQUVvQWdnMkFnZ2dBQ0FCS0FJTU5nSU1JQUFnQVNnQ0VEWUNFQ0FBSUFFb0FoUTJBaFFnQWlBQktBSVlJZ1EyQWdBZ0FrRUVhaUlESUFFb0Fod2lBVFlDQUNBQkJIOGdBU0FCS0FJRVFRRnFOZ0lFSUFNb0FnQUZRUUFMSVFFZ0FpQUFLQUlZTmdJQUlBQWdCRFlDR0NBRElBQW9BaHcyQWdBZ0FDQUJOZ0ljSUFJUWxRRWdBaVFHQ3pBQkFYOGdBQ2dDQ0NFREEwQWdBeUFDTEFBQU9nQUFJQUFnQUNnQ0NFRUJhaUlETmdJSUlBRkJmMm9pQVEwQUN3dTVBUUVGZnlNR0lRUWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURheUFCU1FSQVFmLy8vLzhISUFFZ0F5QUFLQUlBYTJvaUEwa0VRQkFBQlNBRUlBTWdBQ2dDQ0NBQUtBSUFJZ1ZySWdaQkFYUWlCeUFISUFOSkcwSC8vLy8vQnlBR1FmLy8vLzhEU1JzZ0FDZ0NCQ0FGYXlBQVFRaHFFTmdDSUFRZ0FTQUNFS3dISUFBZ0JCRFhBaUFFRU5ZQ0N3VURRQ0FESUFJc0FBQTZBQUFnQUNBQUtBSUVRUUZxSWdNMkFnUWdBVUYvYWlJQkRRQUxDeUFFSkFZTE9BRUNmeUFBS0FJRUlBQW9BZ0FpQkdzaUF5QUJTUVJBSUFBZ0FTQURheUFDRUswSEJTQURJQUZMQkVBZ0FDQUJJQVJxTmdJRUN3c0xJZ0FnQUNBQklBQW9BZ1JCZm1xekVPTUJJQUlnQUNnQ0NFRithck1RNHdFUVRRdGhBUUY5SUFNUTlnSWdCSlFoQlNBREVQVUNJQVNVSVFNZ0FDQUZPQUlBSUFBZ0E0dzRBZ1FnQUNBQk9BSUlJQUFnQXpnQ0RDQUFJQVU0QWhBZ0FDQUNPQUlVSUFCREFBQUFBRGdDR0NBQVF3QUFBQUE0QWh3Z0FFTUFBSUEvT0FJZ0N5SUFJQUZCQ0JBNUlBQnFJZ0FnQUMwQUFDQUNRZjhCY1NBQlFRZHhkSEk2QUFBTGl3RUJDSDhnQUVIVUFCRFpBMEVrSVFWQkl5RUdRU1FoQndOQUlBSkJKVWNFUUNBQ1FRSjBJQUZxSVFrZ0FrRUJhaUlDSVFnZ0JDRURBMEFnQXlBSFJ3UkFJQUFnQXlBSktnSUFJQWhCQW5RZ0FXb3FBZ0JkRUxFSElBaEJBV29oQ0NBRFFRRnFJUU1NQVFzTElBWWdCMm9oQnlBRUlBVnFJUVFnQlVGL2FpRUZJQVpCZjJvaEJnd0JDd3NMcUE0Q0lIOENmU01HSVJJakJrSFFBbW9rQmlBU1FhQUNhaUlSSUFJcUFnQWdBaW9DQkNBQ0tnSUlRd0FBZ0Q4Z0Fpb0NEQ0FRbENJUUlCQkRBQUNBUDEwYklqRVFzQWNnRVNvQ0NDRXlJQkVxQWhRaEVDQVNRZkFCYWlJVElCRWdBeEJiSUJOQkNHb2lHQ0FSSUFOQkNHb1FXeUFUUVJCcUloa2dFU0FEUVJCcUVGc2dFMEVZYWlJYUlCRWdBMEVZYWhCYklCTkJJR29pR3lBUklBTkJJR29RV3lBVFFTaHFJaHdnRVNBRFFTaHFFRnNnRWtIQUFXb2lGQ0FSSUFRUVd5QVVRUWhxSWgwZ0VTQUVRUWhxRUZzZ0ZFRVFhaUllSUJFZ0JFRVFhaEJiSUJSQkdHb2lIeUFSSUFSQkdHb1FXeUFVUVNCcUlpQWdFU0FFUVNCcUVGc2dGRUVvYWlJaElCRWdCRUVvYWhCYklCSkJrQUZxSWhVZ0VTQUZFRnNnRlVFSWFpSWlJQkVnQlVFSWFoQmJJQlZCRUdvaUl5QVJJQVZCRUdvUVd5QVZRUmhxSWlRZ0VTQUZRUmhxRUZzZ0ZVRWdhaUlsSUJFZ0JVRWdhaEJiSUJWQktHb2lKaUFSSUFWQktHb1FXeUFTUWVBQWFpSVdJQkVnQmhCYklCWkJDR29pSnlBUklBWkJDR29RV3lBV1FSQnFJaWdnRVNBR1FSQnFFRnNnRmtFWWFpSXBJQkVnQmtFWWFoQmJJQlpCSUdvaUtpQVJJQVpCSUdvUVd5QVdRU2hxSWlzZ0VTQUdRU2hxRUZzZ0VrRXdhaUlYSUJFZ0J4QmJJQmRCQ0dvaUxDQVJJQWRCQ0dvUVd5QVhRUkJxSWkwZ0VTQUhRUkJxRUZzZ0YwRVlhaUl1SUJFZ0IwRVlhaEJiSUJkQklHb2lMeUFSSUFkQklHb1FXeUFYUVNocUlqQWdFU0FIUVNocUVGc2dFaUFSSUFnUVd5QVNRUWhxSWdZZ0VTQUlRUWhxRUZzZ0VrRVFhaUlGSUJFZ0NFRVFhaEJiSUJKQkdHb2lCQ0FSSUFoQkdHb1FXeUFTUVNCcUlnTWdFU0FJUVNCcUVGc2dFa0VvYWlJQ0lCRWdDRUVvYWhCYklBRWdFa0hJQW1vaUNDQVNRY1FDYWlJSElERWdENVFRdHdFZ0FDQUJJQklxQWdBZ0Vpb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnQmlvQ0FDQVNLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSUVJQUFnQVNBRktnSUFJQklxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBZ2dnQUNBQklBUXFBZ0FnRWlvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDRENBQUlBRWdBeW9DQUNBU0tnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FJUUlBQWdBU0FDS2dJQUlCSXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFoUWdBU0FJSUFjZ01TQU9sQkMzQVNBQUlBRWdGeW9DQUNBWEtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FJWUlBQWdBU0FzS2dJQUlCY3FBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFod2dBQ0FCSUMwcUFnQWdGeW9DRkNBSUtBSUFJQWNvQWdBUVdUZ0NJQ0FBSUFFZ0xpb0NBQ0FYS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUlrSUFBZ0FTQXZLZ0lBSUJjcUFpUWdDQ2dDQUNBSEtBSUFFRms0QWlnZ0FDQUJJREFxQWdBZ0Z5b0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ0xDQUJJQWdnQnlBeElBMlVFTGNCSUFBZ0FTQVdLZ0lBSUJZcUFnUWdDQ2dDQUNBSEtBSUFFRms0QWpBZ0FDQUJJQ2NxQWdBZ0Zpb0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ05DQUFJQUVnS0NvQ0FDQVdLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BSTRJQUFnQVNBcEtnSUFJQllxQWh3Z0NDZ0NBQ0FIS0FJQUVGazRBandnQUVGQWF5QUJJQ29xQWdBZ0Zpb0NKQ0FJS0FJQUlBY29BZ0FRV1RnQ0FDQUFJQUVnS3lvQ0FDQVdLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BSkVJQUVnQ0NBSElERWdESlFRdHdFZ0FDQUJJQlVxQWdBZ0ZTb0NCQ0FJS0FJQUlBY29BZ0FRV1RnQ1NDQUFJQUVnSWlvQ0FDQVZLZ0lNSUFnb0FnQWdCeWdDQUJCWk9BSk1JQUFnQVNBaktnSUFJQlVxQWhRZ0NDZ0NBQ0FIS0FJQUVGazRBbEFnQUNBQklDUXFBZ0FnRlNvQ0hDQUlLQUlBSUFjb0FnQVFXVGdDVkNBQUlBRWdKU29DQUNBVktnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FKWUlBQWdBU0FtS2dJQUlCVXFBaXdnQ0NnQ0FDQUhLQUlBRUZrNEFsd2dBU0FJSUFjZ01TQUxsQkMzQVNBQUlBRWdGQ29DQUNBVUtnSUVJQWdvQWdBZ0J5Z0NBQkJaT0FKZ0lBQWdBU0FkS2dJQUlCUXFBZ3dnQ0NnQ0FDQUhLQUlBRUZrNEFtUWdBQ0FCSUI0cUFnQWdGQ29DRkNBSUtBSUFJQWNvQWdBUVdUZ0NhQ0FBSUFFZ0h5b0NBQ0FVS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUpzSUFBZ0FTQWdLZ0lBSUJRcUFpUWdDQ2dDQUNBSEtBSUFFRms0QW5BZ0FDQUJJQ0VxQWdBZ0ZDb0NMQ0FJS0FJQUlBY29BZ0FRV1RnQ2RDQUJJQWdnQnlBeElBcVVFTGNCSUFBZ0FTQVRLZ0lBSUJNcUFnUWdDQ2dDQUNBSEtBSUFFRms0QW5nZ0FDQUJJQmdxQWdBZ0V5b0NEQ0FJS0FJQUlBY29BZ0FRV1RnQ2ZDQUFJQUVnR1NvQ0FDQVRLZ0lVSUFnb0FnQWdCeWdDQUJCWk9BS0FBU0FBSUFFZ0dpb0NBQ0FUS2dJY0lBZ29BZ0FnQnlnQ0FCQlpPQUtFQVNBQUlBRWdHeW9DQUNBVEtnSWtJQWdvQWdBZ0J5Z0NBQkJaT0FLSUFTQUFJQUVnSENvQ0FDQVRLZ0lzSUFnb0FnQWdCeWdDQUJCWk9BS01BU0FCSUFnZ0J5QXhJQW1VRUxjQklBQWdBU0F5SUJBZ0NDZ0NBQ0FIS0FJQUVGazRBcEFCSUJJa0JrRUJDMHdCQW44akJpRVJJd1pCb0FGcUpBWWdFU0FCSUFJZ0F5QUVJQVVnQmlBSElBZ2dDU0FLSUFzZ0RDQU5JQTRnRHlBUUVMTUhCSDhnQUNBUkVMSUhRUUVGUVFBTElSSWdFU1FHSUJJTHRnUUJCbjhqQmlFVEl3WkJFR29rQmlBQlJRUkFJQk5Cd01nRFFjZVdBaEEzUWVhV0FoQTNRZStpQWhBM1Faa0VFRDVCOXFJQ0VEZEIxSmNDRURjaUVTQVJLQUlBUVhScUtBSUFhaEE3SUJOQmdNNERFRG9pRWlnQ0FDZ0NIQ0VVSUJKQkNpQVVRVDl4UVlvQmFoRUNBQ0VTSUJNUVBDQVJJQklRUUNBUkVEOFFBQXNnQUJCeElBSW9BZ1FpRkNBQ0tBSUFJaFZyUVJRUU9VY0VRQ0FUUWNESUEwSGtsd0lRTjBIbWxnSVFOMEh2b2dJUU4wR2FCQkErUWZhaUFoQTNRWm1ZQWhBM0loRWdFU2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWhJb0FnQW9BaHdoRmlBU1FRb2dGa0UvY1VHS0FXb1JBZ0FoRWlBVEVEd2dFU0FTRUVBZ0VSQS9FQUFMUVFBaEVrRUFJUkVEUUNBU0lCUWdGV3RCRkJBNUloUkpCRUFnQUNnQ0JDQVJJQUFvQWdCc2FpQUJJQUlvQWdBZ0VrRVViR29nQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxRSEJFQWdBQ2dDRUNBUlFSUnNhaUlVSUFJb0FnQWdFa0VVYkdvaUZTa0NBRGNDQUNBVUlCVXBBZ2czQWdnZ0ZDQVZMQUFRT2dBUUlCRkJBV29oRVFzZ0VrRUJhaUVTSUFJb0FnUWhGQ0FDS0FJQUlSVU1BUXNMSUJFZ0ZFWUVRQ0FBSUJFUXZBTWdFeVFHQlNBVFFjRElBMEcrbUFJUU4wSG1sZ0lRTjBIdm9nSVFOMEhwQkJBK1FmYWlBaEEzUWZHWUFoQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QVRRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQVRFRHdnQUNBQkVFQWdBQkEvRUFBTEMzTUFJQUVRMGdNZ0FTQURLQUlFSUFNb0FnQnJRUlFRT1JDOEF5QUJJQUlnQXlBQUlBQkJNR29nQUVIZ0FHb2dBRUdRQVdvZ0FFSEFBV29nQUVId0FXb2dBQ29Db0FJZ0FDb0NwQUlnQUNvQ3FBSWdBQ29DckFJZ0FDb0NzQUlnQUNvQ3RBSWdBQ29DdUFJZ0FDb0N2QUlRdFFjTHh3TUJEWDhqQmlFQ0l3WkJRR3NrQmlBQ1FUaHFJUWtnQWtFd2FpRUtJQUpCS0dvaEN5QUNRU0JxSVFNZ0FrRVlhaUVGSUFKQkVHb2hCaUFDUVFocUlRQkJJQkJFSWdGRkJFQkJBRUVEUWJuWUFpQUNFRDFCQVJBQkN5QUJRUUEyQWdBZ0FVRXlOZ0lFSUFGQkVEWUNIQ0FCUWNnQkVFUWlCellDQ0NBSFJRUkFRUUJCQTBHNTJBSWdBQkE5UVFFUUFRc2dBVUdnQmhCRUlnZzJBZ3dnQ0VVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTElBRkJvQVlRUkNJQU5nSVVJQUJGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQlFjQU1FRVFpQURZQ0VDQUFSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQVVIQURCQkVJZ0EyQWhnZ0FFVUVRRUVBUVFOQnVkZ0NJQXNRUFVFQkVBRUxBa0FDUUFKQUEwQUNRQ0FFUVRKT0JFQWdBU0VNREFVTElBUkJBblFnQjJwQkFEWUNBQ0FFUVFKMElRVkJBQ0VEQTBBZ0EwRUVTUVJBSUFNZ0JXb2lCa0VDZENBSWFrR0FHQkJFSWdBMkFnQWdBRVVOQWtHQUNCQkVJUUFnQVNnQ0ZDQUdRUUowYWlBQU5nSUFJQUJGRFFRZ0EwRUJhaUVEREFFTEN5QUVRUUZxSVFRTUFRc0xRUUJCQTBHNTJBSWdDaEE5REFFTFFRQkJBMEc1MkFJZ0NSQTlDMEVCRUFFTElBSWtCaUFNQzZrQkFDQUFRZEFWUVF3UXVBRWdBRUV3YWtHQUZrRU1FTGdCSUFCQjRBQnFRYkFXUVF3UXVBRWdBRUdRQVdwQjRCWkJEQkM0QVNBQVFjQUJha0dRRjBFTUVMZ0JJQUJCOEFGcVFjQVhRUXdRdUFFZ0FFUE56TXc5T0FLZ0FpQUFRek16TXo0NEFxUUNJQUJEQUFDQVBqZ0NxQUlnQUVObVpxWStPQUtzQWlBQVE4M016RDQ0QXJBQ0lBQkRNelB6UGpnQ3RBSWdBRVBOekF3L09BSzRBaUFBUXdBQTRFQTRBcndDQzA4QkFYMGdBVU1BQUFBQU9BSUFJQUpCZnpZQ0FDQUFRZVFBYWlFQUEwQWdBQ2dDQUNJQUJFQWdBeUFBS0FJTXMxMEVRQ0FDSUFBb0FnZzJBZ0FnQVNBQUtBSU1zeUlET0FJQUN3d0JDd3NMdXdNQ0NuOERmU01HSVFVakJrRVFhaVFHSUFGQkFFd0VRQ0FGUWNESUEwSDFsQUlRTjBHU2xRSVFOMEh2b2dJUU4wRTFFRDVCOXFJQ0VEZEJoSllDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWtFQVRBUkFJQVZCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FUWVFQa0gyb2dJUU4wRzBsZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFS0lBWkJQM0ZCaWdGcUVRSUFJUVFnQlJBOElBTWdCQkJBSUFNUVB4QUFDeUFDUVg5cUlnbEJBblFnQUdvaENpQUJRWDlxSVFjRFFDQUtLZ0lBSVEwZ0NDQUhTQVJBSUFnaEFTQUhJUU1EUUFOQUlBRkJBV29oQkNBQlFRSjBJQUJxSWdzcUFnQWlEaUFOWFFSQUlBUWhBUXdCQ3dzRFFDQURRWDlxSVFZZ0RTQURRUUowSUFCcUlnd3FBZ0FpRDEwRVFDQUdJUU1NQVFzTElBRWdBMHdFUUNBTElBODRBZ0FnRENBT09BSUFJQVFoQVNBR0lRTUxJQUVnQTB3TkFBc2dCeUFESUFFZ0FrZ2JJUWNnQVNBSUlBTWdDVWdiSVFnTUFRc0xJQVVrQmlBTkN6VUJBWDBnQVJEMkFpQUNsQ0VESUFFUTlRSWdBcFFoQVNBQUlBTTRBZ0FnQUNBQmpEZ0NCQ0FBSUFFNEFnZ2dBQ0FET0FJTUMwSUJBWDhnQUVFUUVGRWlCRFlDQUNBQUlBRkJDR28yQWdRZ0JDQURLQUlBTmdJSUlBUWdBeWdDQkRZQ0RDQUFRUUU2QUFnZ0JDQUNOZ0lFSUFSQkFEWUNBQXVhQVFFQmZTQUFLQUkwc2lFSklBRWdCU0FBS2dJVUlnV1RJQUFxQWhnZ0JaTVEzZ0VnQ1pRNEFnQWdBQ2dDT0xJaEJTQUNJQVlnQUNvQ0hDSUdreUFBS2dJZ0lBYVRFTjRCSUFXVU9BSUFJQU1nQjd0RUdDMUVWUHNoQ1VDZ1JJUEl5VzB3WDhRL29pQUFLQUk4dDZLMk9BSUFJQUJCUUdzb0FnQ3lJUVVnQkNBSUlBQXFBaVFpQnBNZ0FDb0NLQ0FHa3hEZUFTQUZsRGdDQUF1N0RBTUxmd1o5QVh3akJpRUlJd1pCRUdva0JpQUFLZ0lVSWhBZ0FWNEVmMEVBQlNBQUtnSVlJaEVnQVY4RWYwRUFCU0FBS2dJY0loSWdBbDRFZjBFQUJTQUFLZ0lnSWhNZ0FsOEVmMEVBQlNBRHV5SVdSQmd0UkZUN0lRbkFaU0FXUkJndFJGVDdJUWxBWkhJRWYwRUFCU0FBS2dJa0loUWdCRjRFZjBFQUJTQUFLZ0lvSWhVZ0JGOEVmMEVBQlNBUUlBRmZSUVJBSUFoQndNZ0RRWkdLQWhBM1FiT0tBaEEzUWUraUFoQTNRZWdDRUQ1QjlxSUNFRGRCczRzQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0VTQUJYa1VFUUNBSVFjRElBMEhDaXdJUU4wR3ppZ0lRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUWJPTEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCSWdBbDlGQkVBZ0NFSEF5QU5CNDRzQ0VEZEJzNG9DRURkQjc2SUNFRGRCNmdJUVBrSDJvZ0lRTjBHRmpBSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVRJQUplUlFSQUlBaEJ3TWdEUVpTTUFoQTNRYk9LQWhBM1FlK2lBaEEzUWVzQ0VENUI5cUlDRURkQmhZd0NFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dGa1FZTFVSVSt5RUp3R1JGQkVBZ0NFSEF5QU5CdFl3Q0VEZEJzNG9DRURkQjc2SUNFRGRCN0FJUVBrSDJvZ0lRTjBIWWpBSVFOeUlHS0FJQVFYUnFLQUlBSUFacUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVdSQmd0UkZUN0lRbEFaVVVFUUNBSVFjRElBMEhyakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEh0QWhBK1FmYWlBaEEzUWRpTUFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnY29BZ0FvQWh3aEJTQUhRUW9nQlVFL2NVR0tBV29SQWdBaEJTQUlFRHdnQmlBRkVFQWdCaEEvRUFBTElCUWdCRjlGQkVBZ0NFSEF5QU5Cam8wQ0VEZEJzNG9DRURkQjc2SUNFRGRCN2dJUVBrSDJvZ0lRTjBHNGpRSVFOeUlHSUFZb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRVWdCMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdDQkE4SUFZZ0JSQkFJQVlRUHhBQUN5QVZJQVJlUlFSQUlBaEJ3TWdEUWN1TkFoQTNRYk9LQWhBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQnVJMENFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWhCZ000REVEb2lCeWdDQUNnQ0hDRUZJQWRCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQWdRUENBR0lBVVFRQ0FHRUQ4UUFBc2dBQ0FBUWNRQWFpSUpJQUJCeUFCcUlnWWdBRUhNQUdvaUJTQUFRZEFBYWlJSElBRWdBaUFESUFRUXZRY2dDU29DQUVNQUFBQy9rbzRRUXlFS0lBWXFBZ0JEQUFBQXY1S09FRU1oQ3dKL0lBVXFBZ0JEQUFBQXY1S09FRU1oRGlBSEtnSUFRd0FBQUwrU2poQkRJUXdnRGlBQUtBSThJZ1ZxQ3lBRkVFOGhEU0FLUVFCSUJIOUJBQVVnQzBFQVNDQUtRUUZxSWdrZ0FDZ0NORTV5Qkg5QkFBVWdERUVBU0NBTFFRRnFJZ1lnQUNnQ09FNXlCSDlCQUFVZ0RFRUJhaUlISUFCQlFHc29BZ0JJQkg4Z0RVRUJhaUFGRUU4aEJTQUFJQUFnQ2lBTElBMGdEQkI4RUhzZ0FDQUFJQWtnQ3lBTklBd1FmQkI3SUFBZ0FDQUpJQVlnRFNBTUVId1FleUFBSUFBZ0NTQUdJQVVnREJCOEVIc2dBQ0FBSUFrZ0JpQUZJQWNRZkJCN0lBQWdBQ0FKSUFZZ0RTQUhFSHdRZXlBQUlBQWdDU0FMSUFVZ0RCQjhFSHNnQUNBQUlBa2dDeUFGSUFjUWZCQjdJQUFnQUNBSklBc2dEU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdEQkI4RUhzZ0FDQUFJQW9nQmlBRklBd1FmQkI3SUFBZ0FDQUtJQVlnQlNBSEVId1FleUFBSUFBZ0NpQUdJQTBnQnhCOEVIc2dBQ0FBSUFvZ0N5QUZJQXdRZkJCN0lBQWdBQ0FLSUFzZ0JTQUhFSHdRZXlBQUlBQWdDaUFMSUEwZ0J4QjhFSHRCQVFWQkFBc0xDd3NMQ3dzTEN3c0xJUThnQ0NRR0lBOExKd0FnQUFSL0lBQkI4SWF2QTJvaUFDZ0NBQVIvSUFCQkFEWUNBRUVBQlVGL0N3VkJmd3NhQzRjRUFnVi9BWHdqQmlFTkl3WkJJR29rQmlBTlFSQnFJUTRnQXlBSElBdVRJZ2M0QWdBQ1FBSkFJQWU3SWhKRUdDMUVWUHNoQ2NCbEJFQWdFa1FZTFVSVSt5RVpRS0MySVFjTUFRVWdFa1FZTFVSVSt5RUpRR1FFUUNBU1JCZ3RSRlQ3SVJuQW9MWWhCd3dDQ3dzTUFRc2dBeUFIT0FJQUN5QUh1eUlTUkJndFJGVDdJUW5BWkVVRVFDQU9RY0RJQTBHMWpBSVFOMEd6aWdJUU4wSHZvZ0lRTjBIVUF4QStRZmFpQWhBM1FkaU1BaEEzSWc4Z0R5Z0NBRUYwYWlnQ0FHb1FPeUFPUVlET0F4QTZJaEFvQWdBb0Fod2hFU0FRUVFvZ0VVRS9jVUdLQVdvUkFnQWhFQ0FPRUR3Z0R5QVFFRUFnRHhBL0VBQUxJQkpFR0MxRVZQc2hDVUJsQkVBZ0JDQUlJQXdRM2dFaUJ6Z0NBQ0FOSUFNcUFnQWdCeEM3QnlBRUlBUXFBZ0FRMGdFZ0FDb0NNSlE0QWdBZ0RTb0NDQ0VISUEwcUFnd2hDQ0FCSUFVZ0RTb0NBQ0lGSUFtVUlBMHFBZ1FpQ3lBS2xKS1RJQVVnQUNvQ0NKUWdDeUFBS2dJTWxKS1NPQUlBSUFJZ0JpQUhJQW1VSUFnZ0NwU1NreUFISUFBcUFnaVVJQWdnQUNvQ0RKU1NramdDQUNBTkpBWUZJQTVCd01nRFFldU1BaEEzUWJPS0FoQTNRZStpQWhBM1FkVURFRDVCOXFJQ0VEZEIySXdDRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUE1QmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUE0UVBDQUFJQUVRUUNBQUVEOFFBQXNMN1FRQ0IzOENmU01HSVFjakJrRVFhaVFHSUFkQkRHb2hCQ0FBS0FJQUlBQW9BZ1FReGdFaENpQUhJQU1RaEFJZ0EwRUFUQVJBSUFSQndNZ0RRYm1TQWhBM1FkbVNBaEEzUWUraUFoQTNRZEFCRUQ1QjlxSUNFRGRCMjVNQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NBRUVBVEFSQUlBUkJ3TWdEUWZHVEFoQTNRZG1TQWhBM1FlK2lBaEEzUWRFQkVENUI5cUlDRURkQm01UUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dBQ2dDQkVFQVRBUkFJQVJCd01nRFFiS1VBaEEzUWRtU0FoQTNRZStpQWhBM1FkSUJFRDVCOXFJQ0VEZEIzWlFDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQ3JJaEMwRUFJUVFEUUNBRElBUkhCRUFnQkVFQ2RDSUZRUUowSUFGcUtnSU1JQVZCQW5RZ0Ftb3FBZ3dRM2dFZ0M1UWhEQ0FIS0FJQUlBUkJBblJxSUF3NEFnQWdCRUVCYWlFRURBRUxDeUFIS0FJQUlnRWdCeWdDQkNBQmEwRUNkU0lCSUFGQkFoQTVJQUZCQVhGQmYycHFFTG9IUXdBQWdENlVJUXNnQUVFRklBQXFBaGdnQUNvQ0ZKTWdDNVdORUVNUXhnRTJBalFnQUVFRklBQXFBaUFnQUNvQ0hKTWdDNVdORUVNUXhnRWlBVFlDT0NBQUlBRWdBQ2dDTkd3aUFUWUNWQ0FBSUFFZ0FDZ0NQR3cyQWxnZ0J4QlZJQWNrQmd1N0FnRUtmeU1HSVFVakJrRVFhaVFHSUFWQkRHb2hDU0FGUVFocUlRb2dCVUVFYWlFTElBQkIzQUJxRUwwRElBTUVRQ0FBUWZBQWFpSU1JQU5CQW5RUWh3RWdBRUg4QUdvaURTQURFSWNCSUFBc0FCQUVRQ0FBSUFFZ0FpQURFTUVIQ3dOQUlBY2dBMGdFUUNBQUlBa2dDaUFMSUFVZ0IwRUNkQ0lFUVFKMElBRnFJZ2dxQWdBZ0NDb0NCQ0FJS2dJSUlBZ3FBZ3dnQkVFQ2RDQUNhaUlFS2dJQUlBUXFBZ1FnQkNvQ0NDQUVLZ0lNRU1BSElBQWdDU29DQUNBS0tnSUFJQXNxQWdBZ0JTb0NBQkMrQndSQUlBd29BZ0FnQmtFRWRHb2lCQ0FBS0FKRU5nSUFJQVFnQUNnQ1NEWUNCQ0FFSUFBb0FrdzJBZ2dnQkNBQUtBSlFOZ0lNSUEwb0FnQWdCa0VDZEdvZ0J6WUNBQ0FHUVFGcUlRWUxJQWRCQVdvaEJ3d0JDd3NnRENBR1FRSjBFSWNCSUEwZ0JoQ0hBUXNnQlNRR0M0TUJBQ0FBSUFFNEFoUWdBQ0FDT0FJWUlBQWdBemdDSENBQUlBUTRBaUFnQUVNQUFJQy9PQUlrSUFCREFBQ0FQemdDS0NBQVFRQTJBalFnQUVFQU5nSTRJQUJCRERZQ1BDQUFRVUJyUVFvMkFnQWdBRUVBTmdKVUlBQkJBRFlDV0NBQVF3QUFJRUU0QWl3Z0FFUFlXOTQrT0FJd0lBQkJBVG9BRUNBQVFkd0FhaEM5QXdzcEFRRi9JQUFvQWdnUXZnTWdBQ2dDQUNFQklBQkJBRFlDQUNBQkJFQWdBQ2dDQkJvZ0FSQTRDd3VQQVFFQmZ5QUFRZ0EzQWdBZ0FFSUFOd0lJSUFCQkFUb0FFQ0FBUVJScUlnRkNBRGNDQUNBQlFnQTNBZ2dnQVVJQU53SVFJQUZDQURjQ0dDQUJRZ0EzQWlBZ0FVSUFOd0lvSUFGQ0FEY0NNQ0FCUWdBM0FqZ2dBVUZBYTBJQU53SUFJQUZDQURjQ1NDQUJRZ0EzQWxBZ0FFR0FnSUQ4QXpZQ2JDQUFRZ0EzQW5BZ0FFSUFOd0o0SUFCQ0FEY0NnQUVMTFFBZ0FDQUJRVUJyS0FJQU5nSUFJQUFnQVNnQ1JDSUFOZ0lFSUFBRVFDQUFJQUFvQWdSQkFXbzJBZ1FMQ3ljQUlBQUVmeUFBUWZDR3J3TnFJZ0FvQWdBRWYwRi9CU0FBSUFFMkFnQkJBQXNGUVg4TEdnc3JBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUJOZ0lBSUFBb0FnQkJCR29nQWhEREFpRURJQUlrQmlBREM3Z0JBUU4vSUFFZ0FTZ0NCRUVBSUFJZ0FDZ0NBQ0lFYXlJRFFRSjFhMEVDZEdvaUJUWUNCQ0FEUVFCS0JFQWdCU0FFSUFNUVRCb0xJQUFvQWdRZ0Ftc2lBMEVBU2dSQUlBRW9BZ2dnQWlBREVFd2FJQUVnQVNnQ0NDQURRUUoyUVFKMGFqWUNDQXNnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzBRQkFuOGdBaWdDQUNFRElBRW9BZ0FoQWdOQUlBSWdBMGNFUUNBQUtBSUlJZ1FnQWlnQ0FEWUNBQ0FBSUFSQkJHbzJBZ2dnQVNBQ1FRUnFJZ0kyQWdBTUFRc0xDMk1CQkg4Z0FDZ0NCQ0lGSUFOcklnWkJBblVpQjBFQ2RDQUJhaUVFSUFVaEF3TkFJQVFnQWtrRVFDQURJQVFvQWdBMkFnQWdBQ0FEUVFScUlnTTJBZ1FnQkVFRWFpRUVEQUVMQ3lBR0JFQkJBQ0FIYTBFQ2RDQUZhaUFCSUFZUTV3RWFDd3MvQVFGL0lBSW9BZ0FoQWlBQktBSUFJUUVEUUNBQklBSkhCRUFnQUNnQ0JDSURJQUVvQWdBMkFnQWdBQ0FEUVFScU5nSUVJQUZCQkdvaEFRd0JDd3NMTkFFQmZ5QUFLQUlFSVFJRFFDQUNRUUEyQWdBZ0FrRUFOZ0lFSUFBZ0FDZ0NCRUVJYWlJQ05nSUVJQUZCZjJvaUFRMEFDd3M3QVFKL0lBQW9BZ1FoQVFOQUlBQW9BZ2dpQWlBQlJ3UkFJQUFnQWtGNGFqWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVRBUUVDZnlBQUtBSUFJUU1nQUNnQ0JDRUNBMEFnQWlBRFJ3UkFJQUVvQWdSQmVHb2dBa0Y0YWlJQ0tRSUFOd0lBSUFFZ0FTZ0NCRUY0YWpZQ0JBd0JDd3NnQUNnQ0FDRUNJQUFnQVNnQ0JEWUNBQ0FCSUFJMkFnUWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBQktBSUVOZ0lBQzZFQkFRUi9Jd1loQXlNR1FSQnFKQVlnQWtFQlNnUkFJQUpCZm1wQkFoQTVJZ0pCQTNRZ0FDZ0NBQ0lGYWlFQUlBRWdBU2dDQUVGNGFpSUVOZ0lBSUFBZ0JCREJBUVJBSUFNZ0JDa0NBRGNEQUFOQUFrQWdCQ0FBS1FJQU53SUFJQUVnQURZQ0FDQUNSUTBBSUFKQmYycEJBaEE1SWdKQkEzUWdCV29pQmlBREVNRUJCRUFnQUNFRUlBWWhBQXdDQ3dzTElBQWdBeWtEQURjQ0FBc0xJQU1rQmd1ZEFRRUZmeU1HSVFJakJrRWdhaVFHUWYvLy8vOEJJQUFvQWdRZ0FDZ0NBR3RCQTNWQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJb0FnZ2dBU2tDQURjQ0FDQUNJQUlvQWdoQkNHbzJBZ2dnQUNBQ0VNOEhJQUlRemdjZ0FpUUdDd3NxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVNRURJQUFnQVJETkJ3c0xoQVVCQ0g4akJpRUlJd1pCTUdva0JpQUlRUWhxSVFVZ0NFRVFhaUlKSUFBb0Ftd2dBQ2dDYUd0QkFuVVEwZ2RCZnlFRVFYOGhDZ05BSUFZZ0NTZ0NCQ0FKS0FJQWEwRURkVWtFUUNBQUtBSm9JQVpCQW5ScUtBSUFRUVJxSUFNUWdnSWhCeUFGSUFBb0FtZ2dCa0VDZEdvb0FnQTJBZ0FnQlNBSE5nSUVJQWtvQWdBZ0JrRURkR29nQlNrREFEY0NBQ0FHSUFvZ0J5QUVTU0lMR3lFS0lBY2dCQ0FMR3lFRUlBWkJBV29oQmd3QkN3c2dDa0YvUmdSQUlBVkJ3TWdEUWRtSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQis0a0NFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dCU0FBS0FKb0lBcEJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUVJQUVvQWdoSkJFQWdCQ0FETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDeUFJUVNScUlRWkJBQ0VFQTBBZ0NTZ0NBQ0lESVFjZ0JDQUpLQUlFSUFOclFRTjFTUVJBSUFRZ0NrY0VRQ0FFUVFOMElBZHFLQUlFSUFrb0FnQWdDa0VEZEdvb0FnUkdCRUFnQlNBQUtBSm9JQVJCQW5ScUtBSUFJZ00yQWdBZ0FTZ0NCQ0lISUFFb0FnaEpCRUFnQnlBRE5nSUFJQUVnQVNnQ0JFRUVhallDQkFVZ0FTQUZFTUlDQ3dVZ0NTZ0NBQ0FFUVFOMGFpRURJQUlvQWdRaUJ5QUNLQUlJUmdSQUlBSWdBeERSQnlBQ0tBSUVJUU1GSUFjZ0F5a0NBRGNDQUNBQ0lBSW9BZ1JCQ0dvaUF6WUNCQXNnQ0NBQ0tBSUFJZ2MyQWlBZ0NDQUROZ0ljSUFZZ0NDZ0NJRFlDQUNBRklBZ29BaHcyQWdBZ0JpQUZJQU1nQjJ0QkEzVVEwQWNMQ3lBRVFRRnFJUVFNQVFzTElBa1Ewd01nQ0NRR0M1NERBUWgvSXdZaEJDTUdRVEJxSkFZZ0JFRW9haUVJSUFSQkpHb2hDU0FFUVFocUlRVWdBU2dDQUNBQUtBSUFJZ0VpQm10QkFuVkJBblFnQVdvaEFTQURLQUlBSWdvZ0FpZ0NBQ0lEYXlJQ1FRSjFJUWNnQWtFQVNnUkFBa0FnQnlBQUtBSUlJQUFvQWdRaUN5SUNhMEVDZFVvRVFFSC8vLy8vQXlBSElBSWdCbXRCQW5WcUlnWkpCRUFRQUFVZ0JTQUdJQUFvQWdnZ0FDZ0NBQ0lDYXlJSFFRRjFJZ3NnQ3lBR1NSdEIvLy8vL3dNZ0IwRUNkVUgvLy8vL0FVa2JJQUVnQW10QkFuVWdBRUVJYWhESUFTQUVJQU0yQWdRZ0JDQUtOZ0lBSUFrZ0JDZ0NCRFlDQUNBSUlBUW9BZ0EyQWdBZ0JTQUpJQWdReWdjZ0FDQUZJQUVReVFjZ0JSREhBUXdDQ3dzZ0FpQUJheUlGUVFKMUlnWkJBblFnQTJvaEFpQUhJQVpLQkVBZ0JDQUNOZ0lnSUFRZ0NqWUNIQ0FKSUFRb0FpQTJBZ0FnQ0NBRUtBSWNOZ0lBSUFBZ0NTQUlFTXdISUFWQkFFd05BUVVnQ2lFQ0N5QUFJQUVnQ3lBSFFRSjBJQUZxRU1zSElBRWhBQU5BSUFJZ0EwY0VRQ0FBSUFNb0FnQTJBZ0FnQUVFRWFpRUFJQU5CQkdvaEF3d0JDd3NMQ3lBRUpBWUxoQU1DQjM4QmZpTUdJUVFqQmtFd2FpUUdJQVJCQ0dvaEJTQUFLQUlJUlFSQUlBVkJ3TWdEUWFLSkFoQTNRZEh4QVJBM1FlK2lBaEEzUVpVREVENUI5cUlDRURkQnhZa0NFRGNpQWlBQ0tBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUdJQU5CQ2lBR1FUOXhRWW9CYWhFQ0FDRURJQVVRUENBQ0lBTVFRQ0FDRUQ4UUFBc2dCRUVjYWlFR0lBQkJBRFlDWkNBQUlBQW9Ba2cyQWt3Z0FFSFVBR29oQnlBQUtBSllJUUlEUUNBQ0lBY29BZ0FpQTBjRVFDQUNJQU5ySWdoQkNFb0VmeUFGSUFNcEFnQWlDVGNEQUNBRElBSkJlR29pQWlrQ0FEY0NBQ0FDSUFrM0FnQWdCQ0FETmdJWUlBUWdBallDRkNBRUlBTTJBaEFnQmlBRUtBSVlOZ0lBSUFRZ0JDZ0NGRFlDSUNBRklBUW9BaEEyQWdBZ0JpQUlRUU4yUVg5cUlBVVF2d01nQUNnQ1dBVWdBZ3NoQTBFQUlRSURRQ0FDUVg5SEJFQWdBa0YvYWlFQ0RBRUxDeUFBSUFOQmVHb2lBallDV0F3QkN3c2dBQ0FISUFBb0FnZ2dBUkM3QWlBQUtBSk1JQUFvQWtockdpQUVKQVlMeUFFQkFYOGpCaUVOSXdaQkVHb2tCaUFCSUFVZ0NaT0xPQUlBSUFJZ0JpQUtrNHM0QWdBZ0JDQUlJQXlUaXpnQ0FDQURJQWNnQzVPTElnVWdBQ2dDUExJZ0JaTVEvZ0VpQlRnQ0FDQUZRd0FBQUFCZ0JFQWdEU1FHQlNBTlFjRElBMEhYaUFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUVlDSkFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QU5RWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQU5FRHdnQWlBQUVFQWdBaEEvRUFBTEMrb0lBUU4vSXdZaEJpTUdRUkJxSkFZZ0FTQUZJQUFvQWxnUVR5QUFLQUpVRUU4Z0FDZ0NOQkJQSWdjMkFnQWdBaUFGSUFkcklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQTVJZ2MyQWdBZ0F5QUZJQUVvQWdCcklBY2dBQ2dDTkd4cklBQW9BbGdRVHlBQUtBSlVFRGtpQnpZQ0FDQUVJQVVnQVNnQ0FHc2dBaWdDQUNBQUtBSTBiQ0FISUFBb0FsUnNhbXNnQUNnQ1dCQTVJZ2MyQWdBZ0FTZ0NBQ0lGUVg5TUJFQWdCa0hBeUFOQnFZNENFRGRCczRvQ0VEZEI3NklDRURkQnZnRVFQa0gyb2dJUU4wSEtqZ0lRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBZ2dBUkJBSUFnUVB4QUFDeUFGSUFBb0FqUk9CRUFnQmtIQXlBTkIzSTRDRURkQnM0b0NFRGRCNzZJQ0VEZEJ2d0VRUGtIMm9nSVFOMEhLamdJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRUtBSUFLQUljSVFFZ0JFRUtJQUZCUDNGQmlnRnFFUUlBSVFFZ0JoQThJQVVnQVJCQUlBVVFQeEFBQ3lBQ0tBSUFJZ1JCZjB3RVFDQUdRY0RJQTBHRWp3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FhV1BBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JTQUJFRUFnQlJBL0VBQUxJQVFnQUNnQ09FNEVRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wSEJBUkErUWZhaUFoQTNRYVdQQWhBM0lnUW9BZ0JCZEdvb0FnQWdCR29RT3lBR1FZRE9BeEE2SWdJb0FnQW9BaHdoQVNBQ1FRb2dBVUUvY1VHS0FXb1JBZ0FoQVNBR0VEd2dCQ0FCRUVBZ0JCQS9FQUFMSUFNb0FnQWlBMEYvVEFSQUlBWkJ3TWdEUWQrUEFoQTNRYk9LQWhBM1FlK2lBaEEzUWNJQkVENUI5cUlDRURkQmhKQUNFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRUlBRVFRQ0FFRUQ4UUFBc2dBeUFBS0FJOFRnUkFJQVpCd01nRFFacVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjTUJFRDVCOXFJQ0VEZEJoSkFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQjBGL1RBUkFJQVpCd01nRFFjcVFBaEEzUWJPS0FoQTNRZStpQWhBM1FjUUJFRDVCOXFJQ0VEZEI3NUFDRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFZUVBDQURJQUVRUUNBREVEOFFBQXNnQnlBQVFVQnJLQUlBU0FSQUlBWWtCZ1VnQmtIQXlBTkJoWkVDRURkQnM0b0NFRGRCNzZJQ0VEZEJ4UUVRUGtIMm9nSVFOMEh2a0FJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JoQThJQUlnQUJCQUlBSVFQeEFBQ3d2eEFnRUxmeUFBSUFFUXZBSWlBa0VBU0FSL0lBSUZBbjhnQUNnQ0FBUkFJQUJCQkdvaENDQUFRUWhxSVFVRklBQWdBRUVJYWlJRktBSUFJQUJCQkdvaUNDZ0NBR3dRUkNJQ05nSUFRWDhnQWtVTkFSb0xBMEFnQmlBRktBSUFJZ0pJQkVCQkFDRUNBMEFnQWlBSUtBSUFJZ2xJQkVCQmZDRUhRUUFoQ2tFQUlRTURRQ0FIUVFSTUJFQWdCaUFIYWlJRVFRQk9CRUFnQkNBRktBSUFTQVJBQWtBZ0JDQUpiQ0VNUVh3aEJBTkFJQVJCQkVvTkFTQUNJQVJxSWd0QmYwb2dDeUFKU0hFRVFDQUtRUUZxSVFvZ0F5QUJJQXNnREdwcUxRQUFhaUVEQ3lBRVFRRnFJUVFNQUFBTEFBc0xDeUFIUVFGcUlRY01BUXNMSUFNZ0NoQTVRZjhCY1NFRElBQW9BZ0FnQWlBR0lBbHNhbW9nQXpvQUFDQUNRUUZxSVFJTUFRc0xJQVpCQVdvaEJnd0JDd3RCQUNFRElBSWhBUU4vSUFNZ0NDZ0NBQ0FCYkVnRWZ5QURJQUFvQWdCcUlnRWdBUzBBQUVGNWFqb0FBQ0FEUVFGcUlRTWdCU2dDQUNFQkRBRUZRUUFMQ3dzTEM3d1RBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdZaERTQUJJQUpCZjJvaUVHeEJBWFFnQm1vaEJRTkFJQWNnQVVnRVFDQUZRUUE3QVFBZ0RVRUFPd0VBSUExQkFtb2hEU0FGUVFKcUlRVWdCMEVCYWlFSERBRUxDeUFHSVFjZ0FVRi9haUlSUVFGMElBWnFJUTFCQUNFRkEwQWdCU0FDU0FSQUlBMUJBRHNCQUNBSFFRQTdBUUFnQVVFQmRDQUhhaUVISUFGQkFYUWdEV29oRFNBRlFRRnFJUVVNQVFzTElBUkJrSURJQUdvaEIwRUFJQUZySVJJZ0FDQUJRUUZxSWdCcUlRMUJBU0VMUVFBaEJTQUFRUUYwSUFacUlRWUNmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1NBR0lRd0RRQ0FKSUJGSUJFQWdEUzBBQUNBRFNnUkFJQXhCQURzQkFBVUNRQ0FTUVFGMElBeHFJZzh1QVFBaUJVRUFTZ1JBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0JDeUFQUVg1cUxnRUFJZ29oQ0NBS1FRQktJUVlnRHk0QkFpSUZRUUJNQkVBZ0JnUkFJQXdnQ2pzQkFDQUlRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlNBUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUlMSUF4QmZtb3VBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaElEUUFHb2lCU2dDQUNBSlRnMENJQVVnQ1RZQ0FBVWdBRUgvL3dGS0RRWWdEQ0FBUVFGcUlnVTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQUZRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFzMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBczJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUxOZ0lBSUFVaEFBc01BUXNnQmdSQUFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQWhCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCU0FHS0FJQVJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBeEJmbW91QVFBaUJrRUFUQVJBSUF3Z0JUc0JBQ0FGUVFkc0lnWkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBWkJBblFnQkdwQitQL1BBR29pQlNBSklBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQi9QL1BBR29pQlNBTElBVW9BZ0JxTmdJQUlBWkJBblFnQkdwQmdJRFFBR29pQlNnQ0FDQUpTZ1JBSUFVZ0NUWUNBQXNnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTEFrQWdCVUVDZENBRWFrR01nTWdBYWlnQ0FDSUZJQVpCQW5RZ0JHcEJqSURJQUdvb0FnQWlDRW9FUUNBTUlBZzdBUUFnQnlFR1FRQWhDZ05BSUFvZ0FFNEVRQ0FJSVFVTUF3c2dCaWdDQUNBRlJnUkFJQVlnQ0RZQ0FBc2dCa0VFYWlFR0lBcEJBV29oQ2d3QUFBc0FCU0FNSUFVN0FRQWdCU0FJU0FSQUlBY2hCa0VBSVFvRFFDQUtJQUJPRFFNZ0NDQUdLQUlBUmdSQUlBWWdCVFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUN3c0xJQVZCRUhSQkVIVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FMQ3lBTlFRRnFJUTBnQ1VFQmFpRUpJQXhCQW1vaERBd0JDd3NnRFVFQ2FpRU5JQXRCQVdvaEN5QUFJUVVnREVFRWFpRUdEQUVMQzBFQVFRTkJxS1VCSUE0UVBVRi9EQUVMSUFSQkRHb2hEVUVCSVFCQkFTRUlBMEFnQ0NBRlRBUkFJQWdnQnlnQ0FDSUdSZ1JBSUFCQkFXb2hBd1VnQUNFRElBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dCeUFBTmdJQUlBTWhBQ0FJUVFGcUlRZ2dCMEVFYWlFSERBRUxDeUFFSUFCQmYyb2lCellDQ0NBSEJIOGdEVUVBSUFkQkFuUVFSUm9nQkVHUWdDaHFRUUFnQjBFRWRCQkZHa0VBSVFNRFFDQURJQWRJQkVBZ0JFR01nQWhxSUFOQkFuUWlBRUVDZEdvZ0FUWUNBQ0FFUVl5QUNHb2dBRUVCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQUVFQ2NrRUNkR29nQWpZQ0FDQUVRWXlBQ0dvZ0FFRURja0VDZEdwQkFEWUNBQ0FEUVFGcUlRTU1BUXNMUVFBaEF3TkFJQU1nQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQTBFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQUNBRVFaQ0EwQUJxSUFOQkIyd2lCMEVDZEdvb0FnQWdBQ2dDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBVUVCY2tFRGRHb2lBQ0FBS3dNQUlBZEJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlCS0FJQUlBZEJBblFnQkdwQm5JRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCb0lEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJwSURRQUdvb0FnQWlBRW9FUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FCSUFBMkFnQUxJQU5CQVdvaEF3d0JDd3NnQkNnQ0NDRUNRUUFoQXdOL0lBTWdBa2dFZnlBRVFaQ0FLR29nQTBFQmRDSUJRUU4wYWlJQUlBQXJBd0FnQkVFTWFpQURRUUowYWlnQ0FMY2lGS001QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FVb3prREFDQURRUUZxSVFNTUFRVkJBQXNMQlVFQUN3c2hFeUFPSkFZZ0V3czZBUUYvSUFBb0FnUWhBZ05BSUFKREFBQUFBRGdDQUNBQ1F3QUFBQUE0QWdRZ0FDQUFLQUlFUVFocUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVNQkFRRi9RUWRCQmtFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaGdnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DSENBQlFRSjBJQUJxS2dJQVhoc0xmUUVCZjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc0xad0VCZjBFRlFRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVVJQUZCQW5RZ0FHb3FBZ0JlR3d0UkFRRi9RUVJCQTBFQ0lBQXFBZ1FnQUNvQ0FGNGlBU0FBS2dJSUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFnd2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NFQ0FCUVFKMElBQnFLZ0lBWGhzTE93RUJmMEVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNMOEFFQ0EzOEhmU0FBSUFFUXZBSWlBVUVBVGdSQVFRRWhBUU5BSUFjZ0FFRU1haUFCUVFKMGFpZ0NBQ0FCYkxPU0lRY2dBVUVCYWlJQlFZQUNSdzBBQ3lBQUtBSUVJQUFvQWdoc3NpRU1RUUFoQVFOQUFrQWdCaUFBUVF4cUlBTkJBblJxS0FJQUlnU3praUlHUXdBQUFBQmNCRUFnRENBR2t5SUxRd0FBQUFCYkRRRWdDU0FESUFSc3M1SWlDU0FHbFNBSElBbVRJQXVWa3lJS0lBWWdDNVFnQ3BTVUlnb2dDRjRoQlNBRFFmOEJjU0lFSUFFZ0JSc2hBU0FLSUFnZ0JSc2hDQVVnQTBIL0FYRWhCQXNnQTBFQmFpRURJQVJCL3dGeFFmOEJSdzBCQ3dzZ0FpQUJPZ0FBUVFBaEFRc2dBUXNsQVFGL1FRSWdBQ29DQkNBQUtnSUFYaUlCSUFBcUFnZ2dBVUVDZENBQWFpb0NBRjRiQzZrQkFRRi9RUWhCQjBFR1FRVkJCRUVEUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0RDQUJRUUowSUFCcUtnSUFYaHNpQVNBQUtnSVFJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBaFFnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DR0NBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJY0lBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFpQWdBVUVDZENBQWFpb0NBRjRiQytrQkFRTi9Jd1loQWlNR1FZQURhaVFHSUFKQjBBSnFJZ01nQWlBQlFRQVFvUUU0QWdBZ0F5QUNRU1JxSUFGQkFSQ2hBVGdDQkNBRElBSkJ5QUJxSUFGQkFoQ2hBVGdDQ0NBRElBSkI3QUJxSUFGQkF4Q2hBVGdDRENBRElBSkJrQUZxSUFGQkJCQ2hBVGdDRUNBRElBSkJ0QUZxSUFGQkJSQ2hBVGdDRkNBRElBSkIyQUZxSUFGQkJoQ2hBVGdDR0NBRElBSkIvQUZxSUFGQkJ4Q2hBVGdDSENBRElBSkJvQUpxSUFGQkNCQ2hBVGdDSUNBREVPSUhJZ0ZCQW5RZ0Eyb3FBZ0JEQUFBQUFGc0VmMEVBQlNBQUlBRkJDV3hCQW5RZ0Ftb1F2Z0pCQVFzaEJDQUNKQVlnQkF1b0FRRUVmeUFBSUFFUTlnY2lBVUVBU0FSL0lBRUZJQUFvQWdnZ0FDZ0NCR3l5UXdBQUFEK1VFSklCSVFSQkFDRUJBMEFnQVVFQmFrRVlkRUVZZFNFRElBQkJqQWhxSUFGQi93RnhJZ1pCQW5ScUtBSUFJZ1VnQkVrRVFDQURJUUVNQVFzTEEwQWdBVUVCYWtFWWRFRVlkU0VESUFRZ0JVWUVRQ0FBUVl3SWFpQURJZ0ZCL3dGeFFRSjBhaWdDQUNFRkRBRUxDeUFDSUFZZ0FVSC9BWEZxUVFGMk9nQUFRUUFMQzBBQ0FYOEJmU0FBUWZ3QmFpSUNJQUJCMkFGcUlBRkIvQUZxRUdVZ0FoQmFJZ05EQUFBQUFGc0VmMEVBQlNBQ0lBSkRBQUNBUHlBRGtaVVFsQUZCQVFzTHJRRUJCWDhqQmlFQ0l3WkJFR29rQmlBQVFkZ0JhaUlESUFCQnRBRnFJZ1VnQVVIWUFXb2lCQkJsSUFCQi9BRnFJZ0FnQlNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0FCQmFPQUlFSUFJcUFnUWdBaW9DQUY0aUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQkNBQVFRSjBJQVJxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVHSUFJa0JpQUdDOElCQVFaL0l3WWhBaU1HUVJCcUpBWWdBRUcwQVdvaUF5QUFRWkFCYWlJRUlBRkJ0QUZxSWdVUVpTQUFRZGdCYWlJR0lBUWdBVUhZQVdvUVpTQUFRZndCYWlJQUlBUWdBVUg4QVdvUVpTQUNJQU1RV2pnQ0FDQUNJQVlRV2pnQ0JDQUNJQUFRV2pnQ0NDQUNFT0VISWdCQkFuUWdBbW9pQVNvQ0FFTUFBQUFBV3dSL1FRQUZJQU1nQUVFSmJDSUFRUUowSUFOcUVJd0JJQVVnQUVFQ2RDQUZhaENNQVNBRElBTkRBQUNBUHlBQktnSUFrWlVRbEFGQkFRc2hCeUFDSkFZZ0J3dmRBUUVIZnlNR0lRSWpCa0VRYWlRR0lBQkJrQUZxSWdNZ0FFSHNBR29pQkNBQlFaQUJhaUlGRUdVZ0FFRzBBV29pQmlBRUlBRkJ0QUZxRUdVZ0FFSFlBV29pQnlBRUlBRkIyQUZxRUdVZ0FFSDhBV29pQUNBRUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUdFRm80QWdRZ0FpQUhFRm80QWdnZ0FpQUFFRm80QWd3Z0FoRGZCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUZJQUJCQW5RZ0JXb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRZ2dBaVFHSUFnTCtBRUJDSDhqQmlFQ0l3WkJJR29rQmlBQVFld0FhaUlESUFCQnlBQnFJZ1FnQVVIc0FHb2lCUkJsSUFCQmtBRnFJZ1lnQkNBQlFaQUJhaEJsSUFCQnRBRnFJZ2NnQkNBQlFiUUJhaEJsSUFCQjJBRnFJZ2dnQkNBQlFkZ0JhaEJsSUFCQi9BRnFJZ0FnQkNBQlFmd0JhaEJsSUFJZ0F4QmFPQUlBSUFJZ0JoQmFPQUlFSUFJZ0J4QmFPQUlJSUFJZ0NCQmFPQUlNSUFJZ0FCQmFPQUlRSUFJUTNnY2lBRUVDZENBQ2FpSUJLZ0lBUXdBQUFBQmJCSDlCQUFVZ0F5QUFRUWxzSWdCQkFuUWdBMm9RakFFZ0JTQUFRUUowSUFWcUVJd0JJQU1nQTBNQUFJQS9JQUVxQWdDUmxSQ1VBVUVCQ3lFSklBSWtCaUFKQzVJQ0FRbC9Jd1loQWlNR1FTQnFKQVlnQUVISUFHb2lBeUFBUVNScUlnUWdBVUhJQUdvaUJSQmxJQUJCN0FCcUlnWWdCQ0FCUWV3QWFoQmxJQUJCa0FGcUlnY2dCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnZ2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlna2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQ1JCYU9BSVFJQUlnQUJCYU9BSVVJQUlRM1FjaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVLSUFJa0JpQUtDNllDQVFwL0l3WWhBaU1HUVNCcUpBWWdBRUVrYWlJRElBQWdBVUVrYWlJRUVHVWdBRUhJQUdvaUJTQUFJQUZCeUFCcUVHVWdBRUhzQUdvaUJpQUFJQUZCN0FCcUVHVWdBRUdRQVdvaUJ5QUFJQUZCa0FGcUVHVWdBRUcwQVdvaUNDQUFJQUZCdEFGcUVHVWdBRUhZQVdvaUNTQUFJQUZCMkFGcUVHVWdBRUg4QVdvaUNpQUFJQUZCL0FGcUVHVWdBaUFERUZvNEFnQWdBaUFGRUZvNEFnUWdBaUFHRUZvNEFnZ2dBaUFIRUZvNEFnd2dBaUFJRUZvNEFoQWdBaUFKRUZvNEFoUWdBaUFLRUZvNEFoZ2dBaERjQnlJQVFRSjBJQUpxSWdFcUFnQkRBQUFBQUZzRWYwRUFCU0FESUFCQkNXd2lBRUVDZENBRGFoQ01BU0FFSUFCQkFuUWdCR29RakFFZ0F5QURRd0FBZ0Q4Z0FTb0NBSkdWRUpRQlFRRUxJUXNnQWlRR0lBc0x5d0VCQlg4akJpRUNJd1pCSUdva0JpQUNJQUVRV2pnQ0FDQUNJQUZCSkdvaUF4QmFPQUlFSUFJZ0FVSElBR29RV2pnQ0NDQUNJQUZCN0FCcUVGbzRBZ3dnQWlBQlFaQUJhaEJhT0FJUUlBSWdBVUcwQVdvUVdqZ0NGQ0FDSUFGQjJBRnFFRm80QWhnZ0FpQUJRZndCYWhCYU9BSWNJQUlRMndjaUJFRUNkQ0FDYWlJRktnSUFRd0FBQUFCYkJIOUJBQVVnQVNBRVFRbHNRUUowSUFGcUVJd0JJQUFnQVVNQUFJQS9JQVVxQWdDUmxSQ1VBU0FBUVNScUlBTkJQeEM0QVVFQkN5RUdJQUlrQmlBR0M0Y0JBUUovSXdZaEFpTUdRYUFDYWlRR0lBSWdBUkRzQndSL0lBSWdBUkRyQndSL0lBSWdBUkRxQndSL0lBSWdBUkRwQndSL0lBSWdBUkRvQndSL0lBSWdBUkRuQndSL0lBSWdBUkRtQndSL0lBSWdBUkRsQndSL0lBQWdBaERqQndWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTEJVRUFDd1ZCQUFzRlFRQUxJUU1nQWlRR0lBTUxNZ0FnQUNBQklBVVEvQUVnQUVISUFHb2dBaUFHRVB3QklBQkJrQUZxSUFNZ0J4RDhBU0FBUWRnQmFpQUVJQWdRL0FFTG1BSUJCbjBnQVNvQ0dDSUdJQVVxQWdBaUI1UWdBU29DQUNBRWxaSWhDaUFISUFFcUFod2lDSlFnQVNvQ0JDQUVsWkloQnlBR0lBVXFBZ1FpQ1pRZ0FTb0NEQ0FFbFpJaEJpQUlJQW1VSUFFcUFoQWdCSldTSVFnZ0F5b0NBQ0FDbENFSklBTXFBZ1FnQXBRaEN5QUFJQW9nQXBRNEFnQWdBQ0FISUFLVU9BSUVJQUFnQVNvQ0lDQUZLZ0lBbENBQktnSUlJQVNWa2lBS0lBbVVreUFISUF1VWt6Z0NDQ0FBSUFZZ0FwUTRBZ3dnQUNBSUlBS1VPQUlRSUFBZ0FTb0NJQ0FGS2dJRWxDQUJLZ0lVSUFTVmtpQUdJQW1Va3lBSUlBdVVremdDRkNBQUlBRXFBaGdnQXBRaUJEZ0NHQ0FBSUFFcUFod2dBcFFpQWpnQ0hDQUFJQUVxQWlBZ0JDQURLZ0lBbEpNZ0FpQURLZ0lFbEpNNEFpQUxUQUVDZnlNR0lRa2pCa0dnQW1va0JpQUpJQUVnQWlBRElBUWdCU0FHSUFjZ0NCRHVCeUFBSUFrUTdRY0VmeUFBRU1jRGk3dEU4V2pqaUxYNDVENWpSUVZCQUFzaENpQUpKQVlnQ2d1MkJBSUtmd045SXdZaEJ5TUdRUkJxSkFZZ0FrRUFUQVJBSUFkQndNZ0RRZldVQWhBM1FaS1ZBaEEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCaEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRUFUQVJBSUFkQndNZ0RRWmVXQWhBM1FaS1ZBaEEzUWUraUFoQTNRZE1BRUQ1QjlxSUNFRGRCdEpZQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUJTZ0NBQ2dDSENFR0lBVkJDaUFHUVQ5eFFZb0JhaEVDQUNFRklBY1FQQ0FFSUFVUVFDQUVFRDhRQUFzZ0EwRi9haUlLUVFOMElBRnFJUXNnQ2tFRGRDQUJhaUVOSUFKQmYyb2hCVUVBSVFZRFFDQUdJQVZJQkVBZ0N5b0NBQ0VPSUEwb0FnUWhEQ0FHSVFJZ0JTRUVBMEFEUUFKQUlBSkJBM1FnQVdvaUNDb0NBQ0lQSUE1ZFJRUkFJQTRnRDEwTkFTQUNRUU4wSUFGcUtBSUVJQXhPRFFFTElBSkJBV29oQWd3QkN3c0RRQUpBSUE0Z0JFRURkQ0FCYWlJSktnSUFJaEJkUlFSQUlCQWdEbDBOQVNBTUlBUkJBM1FnQVdvb0FnUk9EUUVMSUFSQmYyb2hCQXdCQ3dzZ0FpQUVUQVJBSUFnZ0VEZ0NBQ0FKSUE4NEFnQWdBa0VEZENBQmFpSUlLQUlFSVFrZ0NDQUVRUU4wSUFGcUlnZ29BZ1EyQWdRZ0NDQUpOZ0lFSUFKQkFXb2hBaUFFUVg5cUlRUUxJQUlnQkV3TkFBc2dCU0FFSUFJZ0EwZ2JJUVVnQWlBR0lBUWdDa2diSVFZTUFRc0xJQUFnQ3lrQ0FEY0NBQ0FISkFZTGdRRUJBWDBnQUNBQUtnSUFRd0FBZ0Q4Z0FDb0NJSlVpQVpRNEFnQWdBQ0FCSUFBcUFnU1VPQUlFSUFBZ0FTQUFLZ0lJbERnQ0NDQUFJQUVnQUNvQ0RKUTRBZ3dnQUNBQklBQXFBaENVT0FJUUlBQWdBU0FBS2dJVWxEZ0NGQ0FBSUFFZ0FDb0NHSlE0QWhnZ0FDQUJJQUFxQWh5VU9BSWNJQUJEQUFDQVB6Z0NJQXQ1QWdOL0FuMGpCaUVFSXdaQkVHb2tCaUFFUVFocUlnVkJCR29oQmlBRklBWWdBQ0FCS2dJQUlBRXFBZ1FRdlFJZ0JDQUZLZ0lBSUFJcUFnQ1RPQUlBSUFRZ0Jpb0NBQ0FDS2dJRWt6Z0NCQ0FFS2dJQUlnY2dCNVFnQkNvQ0JDSUhJQWVVa2lBRGxFTUFBSUEva2hEU0FTRUlJQVFrQmlBSUMvY0JBUTEvSXdZaEFpTUdRVEJxSkFZQ2Z5QUNRU0JxSWdNZ0FDQUJFS29CSUFKQkdHb2lCQ0FBSUFGQkNHb2lCeENxQVNBQ1FSQnFJZ1VnQUNBQlFSQnFJZ1lRcWdFZ0FrRUlhaUlLSUFNUXhRTWdBaUFFRU1VRElBRWdCeUFHSUFNZ0JDQUZFUDBCQkg5QkF5RUlJQWNoQ1NBQklRc0RRQ0FJUVFSSUJFQWdBeUFBSUFaQkNHb2lCaENxQVVFQUlBdEJDR29pQ3lBSlFRaHFJZ2tnQmlBRUlBVWdBeEQ5QVVVTkF4b2dBeUVOSUFoQkFXb2hDQ0FFSVFNZ0JTRUVJQTBoQlF3QkN3c2dDU0FHSUFFZ0JDQUZJQW9RL1FFRWZ5QUdJQUVnQnlBRklBb2dBaEQ5QVFWQkFBc0ZRUUFMQ3lFT0lBSWtCaUFPQzlRQkFRNS9Jd1loQ1NNR1FZQUJhaVFHSUFsQitBQnFJUW9nQ1VIb0FHb2hDeUFKUVVCcklRd2dDVUU0YWlFTklBbEJNR29oRGlBSlFTaHFJUThnQ1VIZ0FHb2lFQ0FKUWRnQWFpSVJJQWxCMEFCcUloSWdDVUhJQUdvaUV5QUpRZndBYWlJVUlBbEI4QUJxSWhVZ0FTQUNJQU1nQkJERUF3Ui9JQXdnRFNBT0lBOGdDaUFMSUFVZ0JpQUhJQWdReEFNRWZ5QUpJQkFnRVNBU0lCTWdEQ0FOSUE0Z0R4RHdCd1IvSUFBZ0NTQVVLZ0lBSUJVZ0Npb0NBQ0FMRU84SFFRRUZRUUFMQlVFQUN3VkJBQXNoRmlBSkpBWWdGZ3RQQVFGL0lBQWdBUkM4QWlJQlFRQk9CRUJCQUNFQkEzOGdBRUdNQ0dvZ0FVRUNkR29nQWlBQVFReHFJQUZCQW5ScUtBSUFhaUlDTmdJQUlBRkJBV29pQVVHQUFrY05BRUVBQ3lFQkN5QUJDNWtCQVFGL0lBQWdBU0FDRUlVQlF3QUFBQUJlSVFnZ0JDQUZJQVlRaFFGREFBQUFBRjRnQ0hNRWYwRUFCU0FCSUFJZ0F4Q0ZBVU1BQUFBQVhpQUZJQVlnQnhDRkFVTUFBQUFBWG5NRWYwRUFCU0FDSUFNZ0FCQ0ZBVU1BQUFBQVhpQUdJQWNnQkJDRkFVTUFBQUFBWG5NRWYwRUFCU0FESUFBZ0FSQ0ZBVU1BQUFBQVhpQUhJQVFnQlJDRkFVTUFBQUFBWG5OQkFYTUxDd3NMa0FrQ0NuOEJmU01HSVJFakJrRVFhaVFHSUJGQkNHb2hEeUFGS0FJRUlBVW9BZ0JyUVFKMUlBbEJDV3hKQkVBZ0QwSEF5QU5CMDRRQ0VEZEJqWVVDRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHVWhnSVFOeUlNSUF3b0FnQkJkR29vQWdCcUVEc2dEMEdBemdNUU9pSU5LQUlBS0FJY0lRNGdEVUVLSUE1QlAzRkJpZ0ZxRVFJQUlRMGdEeEE4SUF3Z0RSQkFJQXdRUHhBQUN5QUdLQUlFSUFZb0FnQWlER3RCQW5VZ0Ewa0VRQ0FQUWNESUEwSEdoZ0lRTjBHTmhRSVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZmlHQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFjb0FnUWdCeWdDQUd0QkEzVWdDVWtFUUNBUFFjRElBMEdpaHdJUU4wR05oUUlRTjBIdm9nSVFOMEg1QUJBK1FmYWlBaEEzUWVDSEFoQTNJZ1lnQmlnQ0FFRjBhaWdDQUdvUU95QVBRWURPQXhBNklnMG9BZ0FvQWh3aERpQU5RUW9nRGtFL2NVR0tBV29SQWdBaERTQVBFRHdnQmlBTkVFQWdCaEEvRUFBTElBTkJCRWdFZjBFQUJTQVJRZElKTmdJQUlBZ1FhU0VJSUFzZ0F4Q0ZBaUVOSUF3Z0F4RGNBeUFNSUFNZ0F5QVJFTUVDUVFBaEJnTkFJQkFnQ2tnZ0JpQUpTSEVFUUNBTUlBTkJCQ0FSRU1FQ0lBd29BZ0JCQVhRaUMwRUNkQ0FCYWlBTUtBSUVRUUYwSWc1QkFuUWdBV29nRENnQ0NFRUJkQ0lTUVFKMElBRnFJQXdvQWd4QkFYUWlFMEVDZENBQmFpQUxRUUowSUFKcUlBNUJBblFnQW1vZ0VrRUNkQ0FDYWlBVFFRSjBJQUpxRVBjSEJFQWdCU2dDQUNBR1FRbHNJZ3RCQW5ScUlBd29BZ0JCQVhRaURrRUNkQ0FCYWlBTUtBSUVRUUYwSWhKQkFuUWdBV29nRENnQ0NFRUJkQ0lUUVFKMElBRnFJQXdvQWd4QkFYUWlGRUVDZENBQmFpQU9RUUowSUFKcUlCSkJBblFnQW1vZ0UwRUNkQ0FDYWlBVVFRSjBJQUpxRVBVSEJFQWdCU2dDQUNBTFFRSjBhaUFFRVBRSEJFQWdCa0VCYWlFR0N3c0xJQkJCQVdvaEVBd0JDd3REQUFDQVB5QUlsU0VJSUFZRWZ5QUhLQUlBSVFSQkFDRUxBMEFnQ3lBR1NBUkFJQXRCQTNRZ0JHcERBQUFBQURnQ0FDQUxRUU4wSUFScUlBczJBZ1FnQzBFQmFpRUxEQUVMQzBFQUlRc2dCaUVLQTBBZ0N5QURTQ0FLUVFKS2NRUkFJQTBnQXlBTGF4Q0ZBaUFMYWlFR1FRQWhFQ0FIS0FJQUlRUURRQ0FLSUJCSEJFQWdCU2dDQUNBUVFRTjBJQVJxS0FJRVFRbHNRUUowYWlFT0lBc2hDUU5BSUFrZ0JrZ0VRQ0FPSUFsQkFuUWdER29vQWdCQkFYUWlCRUVDZENBQmFpQUVRUUowSUFKcUlBZ1E4d2NoRmlBSEtBSUFJZ1FnRUVFRGRHb2lFaUFXSUJJcUFnQ1NPQUlBSUFsQkFXb2hDUXdCQ3dzZ0VFRUJhaUVRREFFTEN5QVBJQVFnQ2lBS1FRSVFPU0FLUVFGeFFYOXFhaER4QnlBR0lRc2dDa0VCZFNFS0RBRUxDMEVCSVFNZ0J5Z0NBQ0lDS2dJQUlRZ2dBaWdDQkNFQkEwQWdBeUFLU0FSQUlBTkJBM1FnQW1vcUFnQWlGaUFJWFFSQUlCWWhDQ0FEUVFOMElBSnFLQUlFSVFFTElBTkJBV29oQXd3QkN3c2dBQ0FGS0FJQUlBRkJDV3hCQW5ScUVMNENJQUFROGdkQkFRVkJBQXNMSVJVZ0VTUUdJQlVMWlFCQkFVRi9JQUFnQVNBQ0VJVUJRd0FBQUFCZUcwRUJRWDhnQVNBQ0lBTVFoUUZEQUFBQUFGNGJha0VCUVg4Z0FpQURJQUFRaFFGREFBQUFBRjRiYWtFQlFYOGdBeUFBSUFFUWhRRkRBQUFBQUY0YmFpSUFRUUFnQUdzZ0FFRi9TaHRCQkVZTGpnRUNCSDhHZlNNR0lRUWpCa0V3YWlRR0lBUkJJR29pQlNBQklBQVEzd0VnQkVFWWFpSUdJQUlnQUJEZkFTQUVRUkJxSWdjZ0F5QUFFTjhCSUFSQkNHb2lBQ0FCSUFJUTN3RWdCQ0FESUFJUTN3RWdCU0FHRVA4QkFuMGdCaUFIRVA4QklRd2dCU0FIRVA4QklRb2dBQ0FFRVA4QklRc2dEQXNRL2dFZ0NoRCtBU0FMRVA0QklRMGdCQ1FHSUEwTDZnRUNDWDhCZlNNR0lRTWpCa0hnQUdva0JpQURRZGdBYWlFRUlBTkIwQUJxSVFVZ0EwSElBR29oQmlBRFFVQnJJUWNnQTBFNGFpRUlJQU5CTUdvaENTQURRU2hxSVFvZ0F5QUFRNnpGSnpjUXlBTUVmeUFJSUFHeUlndzRBZ0FnQ0VNQUFBQUFPQUlFSUFrZ0REZ0NBQ0FKSUFLeUlndzRBZ1FnQ2tNQUFBQUFPQUlBSUFvZ0REZ0NCQ0FFSUFOQmxNUURFS29CSUFVZ0F5QUlFS29CSUFZZ0F5QUpFS29CSUFjZ0F5QUtFS29CSUFRZ0JTQUdJQWNRK2djZ0FTQUNiTGRFTFVNYzYrSTJHaitpdGwwRWYwRUFCU0FFSUFVZ0JpQUhFUGtIQ3dWQkFBc2hDeUFESkFZZ0N3czZBUUYvSUFCQkRHb2lCaUFFRUljQklBRWdBaUFESUFRZ0JTQUFJQVlnQUVFWWFpQUFLZ0lrSUFBb0FpZ2dBQ2dDTENBQUtBSXdFUGdIQzhvR0FnMS9BWDBqQmlFSUl3WkJRR3NrQmlBSVFTaHFJUVFnQ0VFMGFpRU1JQWhCTUdvaERTQUFJQUFvQWdBMkFnUWdBUkJ4QkVBZ0FoQnhCRUJEQUFBZ1FSQnBJUkVnQ0NBRFF3QUFBQUFReUFORkJFQWdCRUhBeUFOQjRvRUNFRGRCKzRFQ0VEZEI3NklDRURkQnhBRVFQa0gyb2dJUU4wSDZnZ0lRTnlJRElBTW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlGS0FJQUtBSWNJUVlnQlVFS0lBWkJQM0ZCaWdGcUVRSUFJUVVnQkJBOElBTWdCUkJBSUFNUVB4QUFDeUFBSUFFUWNSQ0FBZ0pBQWtBRFFDQUpJQUVRY1VrRVFDQUJJQWtReEFFaER5QU1JQTBnQ0NBQklBa1F3d0VpRGlvQ0FDQU9LZ0lFRUwwQ1FRQWhCa0YvSVFWQmZ5RUtRZi8vLy84SElRTURRQ0FHSUFJUWNVa0VRQ0FDSUFZUXd3RWhCeUFPTEFBUUlBY3NBQkJHQkVBZ0RDb0NBQ0FIS2dJQWt4QnBJQTBxQWdBZ0J5b0NCSk1RYVpJZ0VWNUZCRUFnRHlBQ0lBWVF4QUVRMndNaUJ5QUZTU0VMSUFVZ0J5QUtJQWNnQ2trYklBc2JJUW9nQmlBRElBc2JJUU1nQnlBRklBc2JJUVVMQ3lBR1FRRnFJUVlNQVFzTElBVkJmMGNFUUFKQUlBTkJmMFlOQkNBS1FYOUdCRUFnQkNBSklBTVF3Z0VnQUNnQ0JDSURJQUFvQWdoSkJFQWdBeUFFS1FNQU53SUFJQUFnQUNnQ0JFRUlhallDQkFVZ0FDQUVFSllCQ3d3QkN5QUZzeUFLczVVZ0FDb0NERjBFUUNBRUlBa2dBeERDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTEN3c0xJQWxCQVdvaENRd0JDd3NNQVFzZ0JFSEF5QU5CbTRNQ0VEZEIrNEVDRURkQjc2SUNFRGRCOFFFUVBrSDJvZ0lRTjBIamd3SVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUFLQUlFSUFBb0FnQnJRUU4xSUFFUWNVc0VRQ0FFUWNESUEwSDFnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR0FBaEErUWZhaUFoQTNRYkdFQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBRUVEd2dBQ0FCRUVBZ0FCQS9FQUFGSUFBb0FnUWdBQ2dDQUd0QkEzVWhFQXNMQ3lBSUpBWWdFQXY4QXdFTWZ5TUdJUTRqQmtFUWFpUUdJQTRoQkNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQWdBQ0FCRUhFUWdBSURRQ0FGSUFFUWNVa0VRQ0FCSUFVUXhBRWhEQ0FCSUFVUXd3RWhEVUVBSVFkQmZ5RUdRZi8vLy84SElRaEJmeUVEQTBBZ0J5QUNFSEZKQkVBZ0RTd0FFQ0FDSUFjUXd3RXNBQkJHQkVBZ0J5QUlJQXdnQWlBSEVNUUJFSUlDSWdvZ0Jra2lDeHNoQ0NBR0lBb2dBeUFLSUFOSkd5QUxHeUVESUFvZ0JpQUxHeUVHQ3lBSFFRRnFJUWNNQVFzTElBWkJmMGNFUUFKQUlBTkJmMFlFUUNBRUlBVWdDQkRDQVNBQUtBSUVJZ01nQUNnQ0NFa0VRQ0FESUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQWF6SUFPemxTQUFLZ0lNWFFSQUlBUWdCU0FJRU1JQklBQW9BZ1FpQXlBQUtBSUlTUVJBSUFNZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQlVFQmFpRUZEQUVMQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBId0FCQStRZmFpQWhBM1FiR0VBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBQ0FCUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FFRUR3Z0FpQUFFRUFnQWhBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaENRc0xDeUFFSkFZZ0NRdXBCUUVMZnlNR0lRUWpCa0VRYWlRR0lBQWdBQ2dDQURZQ0JDQUJFSEVFUUNBQ0VIRUVRQ0FBSUFFUWNSQ0FBZ0pBQWtBRFFDQUdJQUVRY1VrRVFDQURJQUVnQmhERUFTSU1FTlVISUFFZ0JoRERBU0VOSUFOQnlBQnFJUXBCQUNFSFFYOGhCVUYvSVFoQi8vLy8vd2NoQ3dOQUlBY2dDaWdDQkNBS0tBSUFJZ2xyUVFKMVNRUkFJQTBzQUJBZ0FpQUhRUUowSUFscUtBSUFFTU1CTEFBUVJnUkFJQXdnQWlBS0tBSUFJQWRCQW5ScUtBSUFFTVFCRUlJQ0lna2dCVWtFZnlBRklRZ2dDaWdDQUNBSFFRSjBhaWdDQUNFTElBa0ZJQWtnQ0NBSklBaEpHeUVJSUFVTElRVUxJQWRCQVdvaEJ3d0JDd3NnQlVGL1J3UkFBa0FnQzBGL1JnMEVJQWhCZjBZRVFDQUVJQVlnQ3hEQ0FTQUFLQUlFSWdVZ0FDZ0NDRWtFUUNBRklBUXBBd0EzQWdBZ0FDQUFLQUlFUVFocU5nSUVCU0FBSUFRUWxnRUxEQUVMSUFXeklBaXpsU0FBS2dJTVhRUkFJQVFnQmlBTEVNSUJJQUFvQWdRaUJTQUFLQUlJU1FSQUlBVWdCQ2tEQURjQ0FDQUFJQUFvQWdSQkNHbzJBZ1FGSUFBZ0JCQ1dBUXNMQ3dzZ0JrRUJhaUVHREFFTEN3d0JDeUFFUWNESUEwR2Jnd0lRTjBIN2dRSVFOMEh2b2dJUU4wR2dBUkErUWZhaUFoQTNRZU9EQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FnUWdBQ2dDQUd0QkEzVWdBUkJ4U3dSQUlBUkJ3TWdEUWZXREFoQTNRZnVCQWhBM1FlK2lBaEEzUWE4QkVENUI5cUlDRURkQnNZUUNFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBVWdBQ2dDQkNBQUtBSUFhMEVEZFNFT0N3c0xJQVFrQmlBT0M1c0dBUTkvSXdZaEJTTUdRWkFCYWlRR0lBVkI2QUJxSVFJZ0JVSElBR29oQXlBRlFTaHFJUVFnQUNBQVFReHFJZzBvQWdBMkFoQWdBRUYvTmdJWUlBRVFoZ0ZCRUdvaENTQUFRZndFYWlFSUlBQkJqQVZxSVF3Z0FFR1VCbW9oRGlBQVFSeHFJUThnQUVIUUFHb2hDd05BSUFzb0FnQWlDd1JBSUFKQm5vQUNFSGtnQUN3QUNFVWhFQ0FCRUlZQklRY2dDMEVNYWlJR0tBSUFFSVlCSVFvQ1FBSkFJQkFFUUNBSUlBY2dDaEQrQnlBQUtBSUFUdzBCQlNBSUlBY2dDaUFMS0FJTVFTUnFFUDhISUFBb0FnQlBEUUVMSUFJUWF3d0JDeUFDRUdzZ0JpZ0NBQkNHQVJDQkFpRUhJQUpCcjRBQ0VIa2dEQ0FKSUFjZ0NDQUJLQUlBSUFFb0FnUWdCaWdDQUNnQ0FDQUdLQUlBS0FJRUVNd0RJZ3BCQUVnRVFDQUNFR3NNQVFzZ0FoQnJJQUpCQURZQ0FDQUNRUUEyQWdRZ0FrRUFOZ0lJSUFWQndJQUNFSGtnQWlBTUlBZ2dDaERMQXlBRkVHc2dBMEhYZ0FJUWVRSkFJQVVnQ1NBSElBSWdEaUFHS0FJQUtBSUFJQVlvQWdBb0FnUVF5Z05GQkVBZ0F4QnJEQUVMSUFNUWF5QURRUUEyQWdBZ0EwRUFOZ0lFSUFOQkFEWUNDQ0FFUWUrQUFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RBa0FnQXlnQ0JDQURLQUlBYTBFRGRTQUFLQUlBU1FSQUlBUVFhd3dCQ3lBRUVHc2dCRUdBZ1FJUWVTQUlJQUVRaGdFZ0JpZ0NBQkNHQVNBRkVQMEhJQUFvQWdCSkJFQWdCQkJyREFFTElBUVFheUFFUVpHQkFoQjVJQXdnQ1NBSElBZ2dBU2dDQUNBQktBSUVJQVlvQWdBb0FnQWdCaWdDQUNnQ0JCRE1BeUlLUVFCSUJFQWdCQkJyREFFTElBUVFheUFFUWFLQkFoQjVJQUlnRENBSUlBb1F5d01nQkJCcklBUkJ1WUVDRUhrZ0JTQUpJQWNnQWlBT0lBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJES0EwVUVRQ0FFRUdzTUFRc2dCQkJySUFNZ0F5Z0NBRFlDQkNBRVFkR0JBaEI1SUFNZ0JTQUpJQWNnQWlBQUtnSUVFTWtESUFRUWF5QURLQUlFSUFNb0FnQnJRUU4xSWdZZ0FDZ0NBRThFUUNBR0lBQW9BaEFnRFNnQ0FHdEJBM1ZMQkVBZ0R5QUZFTDRDSUEwZ0F4Q0pBaUFBSUFzb0FnZzJBaGdMQ3dzZ0F4QlZDeUFDRUZVTERBRUxDeUFBS0FJWUdpQUZKQVlMM0FJQkIzOGpCaUVDSXdaQlFHc2tCaUFDUVJCcUlRTWdBa0U0YWlFRUFrQUNRQ0FBUWFBQmFpSUdLQUlBSUFFUWRDZ0NBQ2dDQkVjTkFDQUdLQUlFSUFFUWRDZ0NBQ2dDQ0VjTkFBd0JDeUFHSUFFUSt3Z0xRWlFCRUZFaUJSRG5BeUFDUVFBMkFqQWdBeUFDS0FJd05nSUFJQVFnQlJEbUF5QUVLQUlBSVFjZ0JDQUFRVUJySWdVb0FnQTJBZ0FnQlNBSE5nSUFJQVFvQWdRaEJ5QUVJQUFvQWtRMkFnUWdBQ0FITmdKRUlBUVFsUUVnQlNnQ0FDQUJFSFFvQWdBb0FnUVE1UU1nQlNnQ0FDQUJFSFFvQWdBb0FnZ1E1QU1nQTBHSThRRVFlU0FGS0FJQUlBRWdCaUFBUWJ3Q2FoQ3RDQ0FERUdzQ2Z4RGpBeUVJSUFNUXV3TWdBeWdDQUNBRElBTXNBQXRCQUVnYklRUWdCU2dDQUJDR0FSQnhJUVlnQWtId293STJBZ0FnQWlBRU5nSUVJQUpCL1AwQk5nSUlJQUlnQmpZQ0RDQUlDMEhRL1FFZ0FoQzNBeUFERUVjZ0FDQUZLQUlBRUlBSUlBSWtCZ3VRQVFFRGZ5TUdJUU1qQmtFZ2FpUUdBa0FDUUNBQVFkd0FhaUlDRUhRaUJDZ0NCQ0FFS0FJQVJnMEFJQUlRZENnQ0FDZ0NCQ0FCS0FJRVJ3MEFJQUlRZENnQ0FDZ0NDQ0FCS0FJSVJ3MEFEQUVMSUFFb0FnUWdBU2dDQ0JDdUNDRUVJQUlnQVNnQ0JDQUJLQUlJSUFRUTBBZ0xJQU5CK3ZBQkVIa2dBaUFCRU1nSUlBTVFheUFBSUFJUWdRZ2dBeVFHQ3lVQkFYOUJrQkFRUkNJQ0JFQWdBa0VBTmdJQUlBSWdBRFlDQkNBQ0lBRTJBZ2dMSUFJTE5BRUJmeU1HSVFRakJrRWdhaVFHSUFRZ0FVRUJJQUlnQXlBQ0VMZ0RJQUFvQWdBb0FnQWdCQkNDQ0NBRUVOMEJJQVFrQmdzckFRRi9JQUFvQWdnaEFnTkFJQUlRMUFNZ0FDQUFLQUlJUVJScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzZnQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFSUVFPU0FCU1FSQVFjeVpzK1lBSUFNZ0FDZ0NBR3RCRkJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRVVFRGtpQlVFQmRDSUdJQVlnQTBrYlFjeVpzK1lBSUFWQjVzeVpNMGtiSUFBb0FnUWdCR3RCRkJBNUlBQkJDR29RK2dNZ0FpQUJFSVVJSUFBZ0FoRDVBeUFDRVBnREN3VWdBQ0FCRU5VREN5QUNKQVlMVWdFQ2Z5QUFLQUlBSWdJRVFDQUFLQUlFSVFFRFFDQUJJQUpIQkVBZ0FVRnNhaUVCREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRJQUJCQURZQ0NDQUFRUUEyQWdRZ0FFRUFOZ0lBQ3dzdEFRRi9JQUFvQWdnaEFnTkFJQUpCQURvQUFDQUFJQUFvQWdoQkFXb2lBallDQ0NBQlFYOXFJZ0VOQUFzTExRRUJmeUFBS0FJRUlRSURRQ0FDUVFBNkFBQWdBQ0FBS0FJRVFRRnFJZ0kyQWdRZ0FVRi9haUlCRFFBTEM1a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJJQUZKQkVCQi8vLy8vd2NnQVNBRElBQW9BZ0JyYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlBQkVJZ0lJQUFnQWhEWEFpQUNFTllDQ3dVZ0FDQUJFSWtJQ3lBQ0pBWUxMd0VCZjBILy8vLy9CeUFCU1FSQUVBQUZJQUFnQVJCUklnSTJBZ1FnQUNBQ05nSUFJQUFnQVNBQ2FqWUNDQXNMWFFFQmYwSFZxdFdxQVNBQlNRUkFFQUFMSUFGQjFhclZxZ0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCREd3UVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkRHd2dBbW8yQWdnTEMrY0JBUWQvSUFJZ0FXdEJEQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFRd1FPVXNFUUNBQUVNOERRZFdxMWFvQklBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCREJBNUlnUkJBWFFpQlNBRklBTkpHMEhWcXRXcUFTQUVRYXJWcXRVQVNSc1FqQWdnQUNBQklBSWdBeERRQXdzRklBTWdBQ2dDQkNBRWEwRU1FRGtpQmtzaEJTQUdRUXhzSUFGcUlBSWdCUnNpQ0NBQmF5SUdRUXdRT1NFSklBWUVRQ0FFSUFFZ0JoRG5BUm9MSUFVRVFDQUFJQWdnQWlBRElBQW9BZ1FnQUNnQ0FHdEJEQkE1YXhEUUF3VWdBQ0FKUVF4c0lBZHFOZ0lFQ3dzTHlBRUJBbjhqQmlFRUl3WkJFR29rQmlBRVFRUnFJUU1nQkNBQ05nSUFJQUJCeUFCcUlnSWdCQkRvQXdSQVFSQVFCU0VBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBMEhvOEFGQjZQQUJFR0FRZmlBQUlBTVFoZ0lnQUVHSThnQkJCUkFFQ3lBQ0lBUVFxd2doQUNBRElBRW9BZ0FpQWpZQ0FDQURJQUVvQWdRaUFUWUNCQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdRRlFRQUxJUUVnQXlBQUtBSUFOZ0lBSUFBZ0FqWUNBQ0FESUFBb0FnUTJBZ1FnQUNBQk5nSUVJQU1RbFFFZ0JDUUdDOE1CQVFWL0lBQW9BZ0FpQXlFRklBSWdBV3NpQkNBQUtBSUlJQU5yU3dSQUlBQVF6d05CLy8vLy93Y2dCRWtFUUJBQUJTQUFJQVFnQUNnQ0NDQUFLQUlBYXlJRFFRRjBJZ1VnQlNBRVNSdEIvLy8vL3djZ0EwSC8vLy8vQTBrYkVJc0lJQUFnQVNBQ0lBUVF6Z01MQlNBRUlBQW9BZ1FnQTJzaUJrc2hBeUFCSUFacUlBSWdBeHNpQnlBQmF5SUdCRUFnQlNBQklBWVE1d0VhQ3lBREJFQWdBQ0FISUFJZ0FDZ0NBQ0FFSUFBb0FnUnJhaERPQXdVZ0FDQUZJQVpxTmdJRUN3c0xOZ0VDZnlBQUtBSUVJQUFvQWdBaUEyc2lBaUFCU1FSQUlBQWdBU0FDYXhDS0NBVWdBaUFCU3dSQUlBQWdBU0FEYWpZQ0JBc0xDNGtDQVFoL0lBSWdBV3RCRkJBNUlRTWdBQ2dDQUNJRUlRY2dBeUFBS0FJSUlBUnJRUlFRT1VzRVFDQUFFSWNJUWN5WnMrWUFJQU5KQkVBUUFBVWdBQ0FESUFBb0FnZ2dBQ2dDQUd0QkZCQTVJZ1JCQVhRaUJTQUZJQU5KRzBITW1iUG1BQ0FFUWViTW1UTkpHeERXQXlBQUlBRWdBaUFERU0wREN3VUNRQ0FESUFBb0FnUWdCR3RCRkJBNUlnWkxJUVVnQmtFVWJDQUJhaUFDSUFVYklnZ2dBV3NpQmtFVUVEa2hDaUFHQkVBZ0JDQUJJQVlRNXdFYUN5QUZCRUFnQUNBSUlBSWdBeUFBS0FJRUlBQW9BZ0JyUVJRUU9Xc1F6UU1NQVFzZ0NrRVViQ0FIYWlFQ0lBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFXeHFJUUVNQVFzTElBQWdBallDQkFzTEM5a0NBUVYvSXdZaEJ5TUdRU0JxSkFZZ0IwRU1haUlJSUFZMkFnQkJsQUVRVVNJSkVPY0RJQWRCQURZQ0NDQUhRUmhxSWdvZ0J5Z0NDRFlDQUNBSFFSQnFJZ1lnQ1JEbUF5QUdLQUlBSUFRUTVRTWdCaWdDQUNBRkVPUURJQVlvQWdBUWhnRVEwZ01nQmlnQ0FCQ0dBUkNCQWlBQktBSUVJQUVvQWdCclFSUVFPUkRSQXlBR0tBSUFFSVlCRUlFQ0lnUWdBVWNFUUNBRUlBRW9BZ0FnQVNnQ0JCQ1JDQXNnQmlnQ0FCQ0dBUkIwSUFJb0FnUWdBaWdDQUdzUWtBZ2dCaWdDQUJDR0FSQjBJZ0VnQWtjRVFDQUJJQUlvQWdBZ0FpZ0NCQkNQQ0FzZ0JpZ0NBQkNzQ0FKL0lBQW9BZ0FvQWdBaEN5QUhJQVlvQWdBMkFnQWdCeUFHS0FJRUlnRTJBZ1FnQVFSQUlBRWdBU2dDQkVFQmFqWUNCQXNnQ3dzZ0J5QUlLQUlBRUk0SUlBY1FsUUVnQUNnQ0FFRUVhaUFJRU1NQ0lnQWdBMGNFUUNBQUlBTW9BZ0FnQXlnQ0JCQ05DQXNnQmhDVkFTQUhKQVlMUHdBZ0FDQUJOZ0lBSUFCQkJHb2lBRUlBTndJQUlBQkNBRGNDQ0NBQVFnQTNBaEFnQUVJQU53SVlJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFSUFOd0l3QzF3QkFYOGdBRUhTQ1RZQ0FDQUFRUUEyQWdRZ0FFRUFOZ0lJSUFCQkRHb2lBU0FBRUpNSUlBQkJBRFlDWkNBQVFRQTJBbWdnQUVJQU53SklJQUJDQURjQ1VDQUFRZ0EzQWxnZ0FFRVFOZ0pzSUFFUTJBTWdBVUVCRU5jREN4UUFJQUJCREdwQkFDQUJLQUlFUWJYOEFVWWJDeFVBSUFBb0Fnd2lBQVJBSUFBUW13Z2dBQkE0Q3dzZUFDQUFRVEJxRUZVZ0FFRWthaEJWSUFCQkdHb1FWU0FBUVF4cUVGVUxPUUVCZnlBQVFkUUFhaERUQXlBQVFjZ0FhaEJWSUFCQkRHb1Fsd2dnQUNnQ0NDRUJJQUJCQURZQ0NDQUJCRUFnQVJERUFpQUJFRGdMQzhZREFnTi9BWHdqQmlFREl3WkJ3QUZxSkFZZ0F5QUJRYWdCYWtFRUlBRW9BZ3hCQUVnRWZ5QUJRUlJxQlNBQktBSUlRUUJJQkg4Z0FVRVlhZ1VnQVVFUWFnc0xLQUlBSWdSclFRUVFUeUlGUVFSMGFpc0RBRGtEWUNBRElBRWdCVUVFZEdvckE3QUJPUU5vSUFNZ0FVR29BV3BCQlNBRWEwRUVFRThpQlVFRWRHb3JBd0E1QTNBZ0F5QUJJQVZCQkhScUt3T3dBVGtEZUNBRElBRkJxQUZxUVFZZ0JHdEJCQkJQSWdWQkJIUnFLd01BT1FPQUFTQURJQUVnQlVFRWRHb3JBN0FCT1FPSUFTQURJQUZCcUFGcVFRY2dCR3RCQkJCUElnUkJCSFJxS3dNQU9RT1FBU0FESUFFZ0JFRUVkR29yQTdBQk9RT1lBU0FESUFKRUFBQUFBQUFBNEwraUlnWTVBd0FnQXlBQ1JBQUFBQUFBQU9BL29pSUNPUU1JSUFORUFBQUFBQUFBQUFBNUF4QWdBeUFDT1FNWUlBTWdBamtESUNBRFJBQUFBQUFBQUFBQU9RTW9JQU1nQWprRE1DQURJQVk1QXpnZ0EwRkFhMFFBQUFBQUFBQUFBRGtEQUNBRElBWTVBMGdnQXlBR09RTlFJQU5FQUFBQUFBQUFBQUE1QTFnZ0EwR29BV29pQVNBRFFlQUFhallDQUNBQklBTTJBZ1FnQVVFRU5nSUlJQUFvQWdBZ0FVR0FwQU5CZ0tRRElBTkJvQUZxRU9vQkdpQURLd09nQVJvZ0F5UUdDOU1UQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0FVRUNFRGtoRENBQ1FRSVFPU0VPSUFRb0FnQWlCeUVDSUF3Z0RrRi9haUlRYkVFQmRDQUhhaUVGQTBBZ0JpQU1TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdBa0VDYWlFQ0lBVkJBbW9oQlNBR1FRRnFJUVlNQVFzTElBY2hBaUFNUVg5cUloRkJBWFFnQjJvaEJVRUFJUVlEUUNBR0lBNUlCRUFnQlVFQU93RUFJQUpCQURzQkFDQU1RUUYwSUFKcUlRSWdERUVCZENBRmFpRUZJQVpCQVdvaEJnd0JDd3NnQkVHUWdNZ0FhaUVDUVFBZ0RHc2hFaUFBSUFGQkFYUkJBbXBxSVExQkFTRUxRUUFoQlNBTVFRRnFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQUxJQkJPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFVWdFUUNBTkxRQUFJQU5LQkVBZ0IwRUFPd0VBQlFKQUlCSkJBWFFnQjJvaUJTNEJBQ0lHUVFCS0JFQWdCeUFHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBVkJmbW91QVFBaUJpRUlJQVpCQUVvaENpQUZMZ0VDSWdWQkFFd0VRQ0FLQkVBZ0J5QUdPd0VBSUFoQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQWxJQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dCMEYrYWk0QkFDSUZRUUJLQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBSElBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUtCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0N5QUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnQjBGK2FpNEJBQ0lHUVFCTUJFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXNnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFsS0JFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWNnQmpzQkFDQUNJUWhCQUNFS0EwQWdDaUFBVGdSQUlBWWhCUXdEQ3lBRklBZ29BZ0JHQkVBZ0NDQUdOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBRklBY2dCVHNCQUNBRklBWklCRUFnQWlFSVFRQWhDZ05BSUFvZ0FFNE5BeUFHSUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0xJQTFCQW1vaERTQUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTFxUVFScUlRMGdDMEVCYWlFTElBQWhCU0FIUVFScUlRY01BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUhRUUVoQUVFQklRTURRQ0FESUFWTUJFQWdBeUFDS0FJQUlnWkdCRUFnQUVFQmFpRUJCU0FBSVFFZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNFQUN5QUNJQUEyQWdBZ0FTRUFJQU5CQVdvaEF5QUNRUVJxSVFJTUFRc0xJQVFnQUVGL2FpSUFOZ0lJSUFBRWZ5QUhRUUFnQUVFQ2RCQkZHaUFFUVpDQUtHcEJBQ0FBUVFSMEVFVWFRUUFoQVFOQUlBRWdBRWdFUUNBRVFZeUFDR29nQVVFQ2RDSUNRUUowYWlBTU5nSUFJQVJCaklBSWFpQUNRUUZ5UVFKMGFrRUFOZ0lBSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUFPTmdJQUlBUkJqSUFJYWlBQ1FRTnlRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCQUNFQkEwQWdBU0FGU0FSQUlBUkJER29nQkVHUWdNZ0FhaUFCUVFKMGFpZ0NBRUYvYWlJQ1FRSjBhaUlESUFSQmtJRFFBR29nQVVFSGJDSUFRUUowYWlnQ0FDQURLQUlBYWpZQ0FDQUVRWkNBS0dvZ0FrRUJkQ0lEUVFOMGFpSUhJQWNyQXdBZ0FFRUNkQ0FFYWtHVWdOQUFhaWdDQUxlZ09RTUFJQVJCa0lBb2FpQURRUUZ5UVFOMGFpSURJQU1yQXdBZ0FFRUNkQ0FFYWtHWWdOQUFhaWdDQUxlZ09RTUFJQVJCaklBSWFpQUNRUUowSWdKQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBWEpCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0dnZ05BQWFpZ0NBQ0lIU0FSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFuSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2tnTkFBYWlnQ0FDSUhTZ1JBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQTNKQkFuUnFJZ0lvQWdBZ0FFRUNkQ0FFYWtHb2dOQUFhaWdDQUNJQVNBUkFJQUlnQURZQ0FBc2dBVUVCYWlFQkRBRUxDeUFFS0FJSUlRRkJBQ0VBQTM4Z0FDQUJTQVIvSUFSQmtJQW9haUFBUVFGMElnSkJBM1JxSWdNZ0F5c0RBQ0FFUVF4cUlBQkJBblJxS0FJQXR5SVZvemtEQUNBRVFaQ0FLR29nQWtFQmNrRURkR29pQWlBQ0t3TUFJQldqT1FNQUlBQkJBV29oQUF3QkJVRUFDd3NGUVFBTEN5RVVJQThrQmlBVUN4NEFJQUJCSkdvUW1BZ2dBRUVJYWlJQVFSQnFFTmtDSUFCQkJHb1FWUXNxQUNBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQURZQ0NDQUJCRUFnQUNBQkVOWURJQUFnQVJEVkF3c0xYUUVCZjBILy8vLy9BeUFCU1FSQUVBQUxJQUZCLy8vLy93TkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJBblFRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCQW5RZ0FtbzJBZ2dMQ3pzQkEzOGdBU0VFSUFBb0FnZ2lCU0VEQTBBZ0F5QUNLQUlBTmdJQUlBTkJCR29oQXlBRVFYOXFJZ1FOQUFzZ0FDQUJRUUowSUFWcU5nSUlDOW9CQVFaL0l3WWhDQ01HUVNCcUpBWWdDQ0VFSUFBb0FnUWlBeUVHSUFBb0FnZ2dBMnRCQW5VZ0FVa0VRRUgvLy8vL0F5QUJJQU1nQUNnQ0FHdEJBblZxSWdkSkJFQVFBQVVnQkNBSElBQW9BZ2dnQUNnQ0FDSUZheUlHUVFGMUlnTWdBeUFIU1J0Qi8vLy8vd01nQmtFQ2RVSC8vLy8vQVVrYklBQW9BZ1FnQld0QkFuVWdBRUVJYWhESUFTQUVJQUVnQWhDZUNDQUFJQVFRNUFFZ0JCREhBUXNGSUFFaEF5QUdJUVVEUUNBRklBSW9BZ0EyQWdBZ0JVRUVhaUVGSUFOQmYyb2lBdzBBQ3lBQUlBRkJBblFnQm1vMkFnUUxJQVFrQmd1RkJRRUhmeU1HSVFrakJrRVFhaVFHSUFBb0FnUWdBQ2dDQUd0QkFuVWdCRWNFUUNBSlFjRElBMEdaOFFFUU4wRzM5UUVRTjBIdm9nSVFOMEhHQVJBK1FmYWlBaEEzUWF6NEFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBSkJBRXdFUUNBSlFjRElBMEhWOWdFUU4wRzM5UUVRTjBIdm9nSVFOMEhIQVJBK1FmYWlBaEEzUWYzMkFSQTNJZ2NnQnlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnZ29BZ0FvQWh3aENpQUlRUW9nQ2tFL2NVR0tBV29SQWdBaENDQUpFRHdnQnlBSUVFQWdCeEEvRUFBTElBUWdBa29FUUNBSlFjRElBMEdoOXdFUU4wRzM5UUVRTjBIdm9nSVFOMEhJQVJBK1FmYWlBaEEzUWRUM0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTElBWkJBRXdFUUNBSlFjRElBMEhKK0FFUU4wRzM5UUVRTjBIdm9nSVFOMEhKQVJBK1FmYWlBaEEzUWZENEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QUpFRHdnQWlBSEVFQWdBaEEvRUFBTFFRQWhDQU5BSUFnZ0JFZ0VRQ0FJUVFKMElBTnFJUXhCQUNFS1FYOGhBZ05BSUFZZ0NrY0VRQ0FCSUF3b0FnQkI0QUJzYWlBQklBcEJBblFnQldvaURTZ0NBRUVDZENBRGFpZ0NBRUhnQUd4cUVJSUNJZ2NnQWtrRVFDQUFLQUlBSUFoQkFuUnFJQTBvQWdBMkFnQWdCeUVDQ3lBS1FRRnFJUW9NQVFzTElBSWdDMm9oQ3lBSVFRRnFJUWdNQVFzTElBa2tCaUFMQzFBQkFYOGdBRUVZRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFLQUlBTmdJSUlBUkJBRFlDRENBRVFRQTJBaEFnQkVFQU5nSVVJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQ3pJQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVhaUFDUWVBQUVFd2FDMHdCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCQW5VZ0FVa0VRQ0FDSUFFZ0FDZ0NCQ0FEYTBFQ2RTQUFRUWhxRU1nQklBQWdBaERrQVNBQ0VNY0JDeUFDSkFZTG5BRUJCWDhqQmlFQ0l3WkJJR29rQmtILy8vLy9BeUFBS0FJRUlBQW9BZ0JyUVFKMVFRRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWF5SUZRUUYxSWdZZ0JpQURTUnRCLy8vLy93TWdCVUVDZFVILy8vLy9BVWtiSUFBb0FnUWdCR3RCQW5VZ0FFRUlhaERJQVNBQ0tBSUlJZ01nQVNnQ0FEWUNBQ0FDSUFOQkJHbzJBZ2dnQUNBQ0VPUUJJQUlReHdFZ0FpUUdDd3ZEQmdFR2Z5TUdJUVlqQmtFUWFpUUdJQUFvQWdRaUNDQUFLQUlRSUFBb0FneHJRUUoxUndSQUlBWkJ3TWdEUVlyMUFSQTNRYmYxQVJBM1FlK2lBaEEzUVpvQkVENUI5cUlDRURkQnFQWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dBa0VBVEFSQUlBWkJ3TWdEUWRYMkFSQTNRYmYxQVJBM1FlK2lBaEEzUVpzQkVENUI5cUlDRURkQi9mWUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dCQ0FDU2dSQUlBWkJ3TWdEUWFIM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVp3QkVENUI5cUlDRURkQjFQY0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCeWdDQUNnQ0hDRUpJQWRCQ2lBSlFUOXhRWW9CYWhFQ0FDRUhJQVlRUENBRklBY1FRQ0FGRUQ4UUFBc2dDQ0FFU2dSQUlBWkJ3TWdEUWUvM0FSQTNRYmYxQVJBM1FlK2lBaEEzUVowQkVENUI5cUlDRURkQm1QZ0JFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUhJQWhCQ2lBSFFUOXhRWW9CYWhFQ0FDRUlJQVlRUENBRklBZ1FRQ0FGRUQ4UUFBc2dCa0YvTmdJQUlBQkJHR29pQ2lBRUlBWVEzUU1nQmtGL05nSUFJQUJCSkdvaUNTQUVJQVlRM1FNZ0FFRXdhaUFFRUljQklBQW9BakFpQlNBQUtBSTBJQVZyUVFKMUVOd0RRWDhoQlVFQUlRY0RRQ0FISUFBb0FnaElCRUFnQUNnQ01DSUlJQUFvQWpRZ0NHdEJBblVnQUNnQ0JDQUFLQUlBRU1FQ0lBa2dBU0FDSUFNZ0JDQUFLQUl3SUFBb0FnUVFvQWdpQ0NBRlNRUkFJQW9nQ1JDSkFpQUFLQUlNSUFBb0FqQWdBQ2dDQkVFQ2RCQk1HaUFJSVFVTElBZEJBV29oQnd3QkN3c2dBQ2dDQkNBQUtBSVFJQUFvQWd4clFRSjFSZ1JBSUFZa0JnVWdCa0hBeUFOQml2VUJFRGRCdC9VQkVEZEI3NklDRURkQnV3RVFQa0gyb2dJUU4wR285Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBQWdBUkJBSUFBUVB4QUFDd3ZrQkFJTmZ3TjhJd1loQ2lNR1FSQnFKQVlnQ2tFRWFpRVFRUUlRNXdJaERrRUNFT2NDSVF0QkFrRUNFSXNCSVF3Q2Z3SkFBa0FEUUFKQUlBZEJCRThOQWlBSFFRRnFJZ0pCQW5RZ0Eyb29BZ0FpRDBFQmFpQUhRUUowSUFOcUtBSUFJZ2hydDBTYW1abVptWm1wUDZKRUFBQUFBQUFBNEQrZ0loUWdDTGVnRUhNaEVTQVB0eUFVb1JCeklCRnJJaEpCQVdwQkFoQ0xBU0VOUVFBaENRTkFJQWtnRWt3RVFDQUVJQWtnRVdvaUNFRUNkQ0FBYWlnQ0FMSWdDRUVDZENBQmFpZ0NBTElnRUNBS0VLWUJRUUJJRFFJZ0RTZ0NBQ0lJSUFsQkFYUWlEMEVEZEdvZ0VDb0NBTHM1QXdBZ0QwRUJja0VEZENBSWFpQUtLZ0lBdXprREFDQUpRUUZxSVFrTUFRc0xJQTBnRENBT0lBc1FuUVZCQUVnTkF5QUhRUmhzSUFWcUlBd29BZ0FpQ0NzRENDSVZPUU1BSUFkQkdHd2dCV29nQ0NzREFKb2lGRGtEQ0NBSFFSaHNJQVZxSUJVZ0N5Z0NBQ0lIS3dNQW9pQUhLd01JSUJTaW9KbzVBeEFnRFJCSklBSWhCd3dCQ3dzTUFRc2dEQkJKSUFzUXp3RWdEaERQQVVFQUlRUURmMEVBSUFSQkJFOE5BaG9nQkVFRGFrRURjU0lBUVJoc0lBVnFJZ01yQXdBZ0JFRVliQ0FGYWlzRENDSVZvaUFFUVJoc0lBVnFJZ0lyQXdBZ0FFRVliQ0FGYWlzRENDSVVvcUVpRnBsRUxVTWM2K0kyR2o5akJIOUJmd1VnQkVFRWRDQUdhaUFVSUFSQkdHd2dCV29pQVNzREVLSWdGU0FBUVJoc0lBVnFJZ0FyQXhDaW9TQVdvemtEQUNBRVFRUjBJQVpxSUFJckF3QWdBQ3NERUtJZ0F5c0RBQ0FCS3dNUW9xRWdGcU01QXdnZ0JFRUJhaUVFREFFTEN3d0JDeUFORUVrZ0RCQkpJQXNRendFZ0RoRFBBVUYvQ3lFVElBb2tCaUFUQ3pBQUlBQWdBVFlDQUNBQVFRRTZBR1FnQUVJQU53Sm9JQUJDQURjQ2NDQUFRZ0EzQW5nZ0FFRUVha0hnQUJEWkF3dE9BUUovUVlBQkVGRWlCaUFBRU9FREVLY0lJQUFvQWdnaEJTQUFJQVkyQWdnZ0JRUi9JQVVReEFJZ0JSQTRJQUFvQWdnRklBWUxRUUFRZ3dJZ0FDQUFLQUlJSUFFZ0FpQURJQVFRNEFNTFhnRUVmeU1HSVFNakJrRVFhaVFHSUFNZ0FoQ0VBaUFES0FJRUlBTW9BZ0FpQld0QkFuVWhCZ05BSUFRZ0JrY0VRQ0FFUVFKMElBVnFJQVEyQWdBZ0JFRUJhaUVFREFFTEN5QUFJQUVnQWlBRklBWVFxQWdnQXhCVklBTWtCZ3RKQVFGL0lBQkJGQkJSSWdRMkFnQWdBQ0FCUVFocU5nSUVJQVFnQXlnQ0FDZ0NBRFlDQ0NBRVFRQTJBZ3dnQkVFQU5nSVFJQUJCQVRvQUNDQUVJQUkyQWdRZ0JFRUFOZ0lBQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRcWdnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MUHdFQmZ5QUFRU1JxSWdGQkRHcEJnQUVRMXdNZ0FVRU1haERZQXlBQlFRZzJBbWdnQVVFUU5nSnNJQUVnQUVFSWFpSUFFSFFvQWdBZ0FCQnhFS2tJQzg4R0FRVi9Jd1loQ0NNR1FTQnFKQVlnQ0VFVWFpRUdJQUZGQkVBZ0JrSEF5QU5CeDVZQ0VEZEJrUGtCRURkQjc2SUNFRGRCMUFFUVBrSDJvZ0lRTjBIVWx3SVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNSUVJBSUFaQndNZ0RRWWo2QVJBM1FaRDVBUkEzUWUraUFoQTNRZFVCRUQ1QjlxSUNFRGRCcVBvQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBJZ1FvQWdRZ0JDZ0NBRVlFUUNBR1FjRElBMEc1K2dFUU4wR1ErUUVRTjBIdm9nSVFOMEhXQVJBK1FmYWlBaEEzUWUzNkFSQTNJZ1FnQkNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRkVFQWdCQkEvRUFBTElBRVFkQ2dDQUNnQ0JDQUNLQUlBUndSQUlBWkJ3TWdEUWY3NkFSQTNRWkQ1QVJBM1FlK2lBaEEzUWRjQkVENUI5cUlDRURkQngvc0JFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lCU2dDQUNnQ0hDRUhJQVZCQ2lBSFFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBRUlBVVFRQ0FFRUQ4UUFBc2dBUkIwS0FJQUtBSUlJQUlvQWdSSEJFQWdCa0hBeUFOQjZ2c0JFRGRCa1BrQkVEZEI3NklDRURkQjJBRVFQa0gyb2dJUU4wSEgrd0VRTnlJRUlBUW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlGS0FJQUtBSWNJUWNnQlVFS0lBZEJQM0ZCaWdGcUVRSUFJUVVnQmhBOElBUWdCUkJBSUFRUVB4QUFDeUFDSUFFUTlBZ2dCaUFDRU1BQ0lnUW9BZ1FnQkNnQ0FHdEJKQkE1RUp3SVFRQWhCQU5BSUFRZ0FoREFBaUlGS0FJRUlBVW9BZ0JyUVNRUU9Va0VRQ0FJSUFJUXdBSW9BZ0FpQlNBRVFTUnNhaW9DQUNBRVFTUnNJQVZxS2dJRUlBUkJKR3dnQldvcUFnZ2dCRUVrYkNBRmFpb0NIQ0FFUVNSc0lBVnFLZ0lZUXdBQUFBQmVFUHdESUFZb0FnQWdCRUVVYkdvaUJTQUlLUUlBTndJQUlBVWdDQ2tDQ0RjQ0NDQUZJQWdzQUJBNkFCQWdCRUVCYWlFRURBRUxDeUFESUFBUWhnRWdBU0FHRUxZSElBWVEyUUlnQ0NRR0N5OEJBWDhEUUNBQVFRaElJQUZCQ0VoeVJRUkFJQUpCQVdvaEFpQUJRUUYxSVFFZ0FFRUJkU0VBREFFTEN5QUNDeUlCQVg4Z0FDZ0NDQ0lDUVFBZ0FVRURkQkJGR2lBQUlBRkJBM1FnQW1vMkFnZ0xJZ0VCZnlBQUtBSUVJZ0pCQUNBQlFRTjBFRVVhSUFBZ0FVRURkQ0FDYWpZQ0JBdWxBUUVGZnlNR0lRSWpCa0VnYWlRR0lBQW9BZ2dnQUNnQ0JDSURhMEVEZFNBQlNRUkFRZi8vLy84QklBRWdBeUFBS0FJQWEwRURkV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJJZ1ZCQW5VaUJpQUdJQU5KRzBILy8vLy9BU0FGUVFOMVFmLy8vLzhBU1JzZ0FDZ0NCQ0FFYTBFRGRTQUFRUWhxRUlnQ0lBSWdBUkN2Q0NBQUlBSVF6UUlnQWhETUFnc0ZJQUFnQVJDd0NBc2dBaVFHQ3owQkFuOGdBQ2dDQkNBQUtBSUFJZ0pyUVFOMUlnRkJnQWhKQkVBZ0FFR0FDQ0FCYXhDeENBVWdBVUdBQ0VzRVFDQUFJQUpCZ0VCck5nSUVDd3NMTkFBZ0FFR0F5QUFRaHdFZ0FFRVlhaEN5Q0NBQVF3clhJenc0QWlRZ0FFR0FDRFlDS0NBQVFhZ0lOZ0lzSUFCQk1qWUNNQXNxQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FFRUFOZ0lnSUFBUXN3Z0x4QUVCQVg4Z0FFRUFOZ0lNSUFCQkFEWUNFQ0FBUVFBMkFoUWdBRUZBYXlJQlFnQTNBZ0FnQVVJQU53SUlJQUZDQURjQ0VDQUFRWUNBZ1B3RE5nSllJQUJCM0FCcUVORUlJQUJCb0FGcUlnRVFnZ2tnQUVHOEFtb1F1QWNnQUVFQU5nTDhCQ0FBUVFBMkFvQUZJQUJCQURZQ2hBVWdBRU16TXpNL09BS0lCU0FBUVl3RmFoREZCeUFBUVpRR2FoQzBDQ0FCUXdBQVFFQTRBalFnQVVNQUFJQkFPQUk0SUFGQjlBTVE5d01nQUVNQUFFQkFPQUlFSUFCQkNEWUNBQ0FBUVFFNkFBZ0xKQUVDZndOQUlBQUVRQ0FBS0FJQUlRSWdBRUVNYWhCVklBQVFPQ0FDSVFBTUFRc0xDNDhGQWc5L0FYd2pCaUVFSXdaQjRBQnFKQVlnQkVFd2FpRUhJQVJCM0FCcUlRTWdCRUhZQUdvaEJTQUJRUnhxSWdnb0FnQWhDeUFCUWR5NEFtb2lDU2dDQUNFTUlBRW9BaGhCZjJvaERVRUJJUVlEUUNBR0lBMUlCRUFnQmlBQ0lBRkJIR29nQmtFQ2RHb29BZ0FnQzJzaUFpQUNiQ0FCUWR5NEFtb2dCa0VDZEdvb0FnQWdER3NpQWlBQ2JHb2lEaUFLU2lJUEd5RUNJQVpCQVdvaEJpQU9JQW9nRHhzaENnd0JDd3NnQTBFQU5nSUFJQVZCQURZQ0FDQUlJQWxCQUNBQ0lBQzNSQUFBQUFBQUFPZy9vMFI3Rks1SDRYcUVQNklpRVNBSElBTVFxd0ZCQUVnRWYwRi9CU0FJSUFrZ0FpQUJLQUlZUVg5cUlCRWdCQ0FGRUtzQlFRQklCSDlCZndVQ2Z5QURLQUlBSWdCQkFVWWdCU2dDQUNJR1FRRkdjUVJBSUFRb0FnQWhBQ0FIS0FJQUlRTUZBbjhnQmtVZ0FFRUJTbkVFUUNBQ1FRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFsQkFDQUFJQkVnQnlBREVLc0JRUUJJRFFNYVFYOGdDQ0FKSUFBZ0FpQVJJQVFnQlJDckFVRUFTQTBER2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRTWFJQUloQUNBSEtBSUFJUU1nQkNnQ0FBd0JDMEYvSUFCRklBWkJBVXB4UlEwQ0dpQUJLQUlZSUFKQmYycHFRUUlRT1NFQUlBVkJBRFlDQUNBRFFRQTJBZ0JCZnlBSUlBa2dBaUFBSUJFZ0J5QURFS3NCUVFCSURRSWFRWDhnQ0NBSklBQWdBU2dDR0VGL2FpQVJJQVFnQlJDckFVRUFTQTBDR2tGL0lBTW9BZ0JCQVVZZ0JTZ0NBRUVCUm5GRkRRSWFJQVFvQWdBaEFDQUNJUU1nQnlnQ0FBc2hBZ3NnQVVHYzhRUnFRUUEyQWdBZ0FVR2c4UVJxSUFNMkFnQWdBVUdrOFFScUlBSTJBZ0FnQVVHbzhRUnFJQUEyQWdBZ0FVR3M4UVJxSUFFb0FoaEJmMm8yQWdCQkFBc0xDeUVRSUFRa0JpQVFDeVVCQW44RFFDQUFCRUFnQUNnQ0FDRUNJQUJCREdvUWxRRWdBQkE0SUFJaEFBd0JDd3NMS1FFQmZ5QUFLQUlJRUxnSUlBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBQW9BZ1FhSUFFUU9Bc0xTZ0VDZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQURZQ0VDQUFRWUNBZ1B3RE5nSVVRY2dHRUZFaUFoQzFDQ0FBS0FJQUlRRWdBQ0FDTmdJQUlBRUVRQ0FCRU9vRElBRVFPQXNMTUFFQ2Z5QUFRUUEyQWdCQkdCQlJJZ0lRdWdnZ0FDZ0NBQ0VCSUFBZ0FqWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTEM5d0JBZ0YvQm4wZ0JTb0NBQ0lJSUFNcUFnQWlCNU1oQ1NBSUlBUXFBZ0FpQ0pNZ0NaUWhDaUFISUFpVElnc2dDWlFoQ1NBS1F3QUFBQUJiSUFsREFBQUFBRnR5SUF0REFBQUFBRnR5Qkg4Z0FFTUFBQUFBT0FJQUlBRkRBQUFBQURnQ0FFTUFBQUFBSVFkQkFBVWdBQ0FGS2dJRUlBUXFBZ1FpREpNZ0NwVWdBeW9DQkNBTWt5QUpsWk1pQ1RnQ0FDQUJJQU1xQWdRZ0JDb0NCSk1nQ0NBSWxDQUhJQWVVSWdlVElBbVVraUFMbFNJSU9BSUFJQU1xQWdRZ0J5QUFLZ0lBbEpNZ0NDQURLZ0lBbEpNaEIwRUJDeUVHSUFJZ0J6Z0NBQ0FHQzZRQkFnSi9BbjBnQVNvQ0FDRUdJQUpCZjJvaUEwRUNkQ0FCYWlJRUtnSUFJUVZCQUNFQ0EwQWdBaUFEUndSQUlBSkJBblFnQUdvZ0JVR0loZ0VxQWdDVUlBSkJBblFnQVdvcUFnQWlCVUdNaGdFcUFnQ1Vra0dRaGdFcUFnQWdBa0VCYWlJQ1FRSjBJQUZxS2dJQWxKSTRBZ0FNQVFzTElBTkJBblFnQUdvZ0JVR0loZ0VxQWdDVVFZeUdBU29DQUNBRUtnSUFsSklnQmtHUWhnRXFBZ0NVa2pnQ0FBdjJCd0VNZnlNR0lRY2pCa0dnOFFScUpBWWdCMEdROFFScUlRMGdCMEdJOFFScUlRNGdCMEdBOFFScUlRZ2dCMEhBdUFKcUlRd2dCeUVMSUFRb0FnUWhDaUFFS0FJQUlna2hCeUFKSUFFZ0JDZ0NDQ0lKYkdwQkFYUWdBR29oQmdKL0FrQURRQUpBSUFjZ0Nrb05BaUFHTGdFQUlnUkJBRW9FUUNBRElBUkJmMnBCQW5RZ0Ftb29BZ0JHRFFFTElBZEJBV29oQnlBR1FRSnFJUVlNQVFzTElBZEJmMFlOQUNBRlFRRTJBaGdnQlNBSE5nSWNJQVZCM0xnQ2FpSVBJQWsyQWdCQkJTRUdJQWtoQkNBSElRTkJBU0VDQWtBQ1FBTkFBa0FnQVNBRWJDQURha0VCZENBQWFpRVFRUUFoQ0NBR1FRVnFJUVlDUUFKQUEwQWdCa0VJRUU4aEJpQUlRUWhQRFFFZ0JrRUNkRUhBQ0dvb0FnQWlCQ0FCSUFaQkFuUkJvQWhxS0FJQUlncHNha0VCZENBUWFpNEJBRUVBVEFSQUlBaEJBV29oQ0NBR1FRRnFJUVlNQVFzTERBRUxJQWhCQ0VZTkFTQUdRUUowUWNBSWFpZ0NBQ0VFSUFaQkFuUkJvQWhxS0FJQUlRb0xJQVZCSEdvZ0FrRUNkR29nQXlBRWFqWUNBQ0FGUWR5NEFtb2dCU2dDR0NJQ1FRSjBhaUFDUVFKMElBVnFRZGk0QW1vb0FnQWdDbW8yQWdBZ0J5QUZRUnhxSUFVb0FoZ2lBMEVDZEdvaUNDZ0NBRVlFUUNBSklBVkIzTGdDYWlBRFFRSjBhaWdDQUVZTkF3c2dCU0FEUVFGcUlnSTJBaGdnQWtHUHpnQkdEUU1nQlVIY3VBSnFJQU5CQW5ScUtBSUFJUVFnQ0NnQ0FDRUREQUVMQzBFQVFRTkI1S2dCSUE0UVBVRi9EQU1MUVFBaEFFRUFJUVpCQVNFQkEwQWdBU0FEU0FSQUlBRWdBQ0FGUVJ4cUlBRkJBblJxS0FJQUlBZHJJZ0FnQUd3Z0JVSGN1QUpxSUFGQkFuUnFLQUlBSUFscklnQWdBR3hxSWdJZ0Jrb2lCQnNoQUNBQ0lBWWdCQnNoQmlBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FFZ0VRQ0FCUVFKMElBeHFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdBVUVDZENBTGFpQUZRZHk0QW1vZ0FVRUNkR29vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFBSVFFRFFDQUJJQU5JQkVBZ0JVRWNhaUFCSUFCcklnSkJBblJxSUFWQkhHb2dBVUVDZEdvb0FnQTJBZ0FnQlVIY3VBSnFJQUpCQW5ScUlBVkIzTGdDYWlBQlFRSjBhaWdDQURZQ0FDQUJRUUZxSVFFZ0JTZ0NHQ0VEREFFTEMwRUFJUUVEUUNBQklBQklCRUFnQlVFY2FpQUJJQUJySWdJZ0JTZ0NHR3BCQW5ScUlBRkJBblFnREdvb0FnQTJBZ0FnQlVIY3VBSnFJQUlnQlNnQ0dHcEJBblJxSUFGQkFuUWdDMm9vQWdBMkFnQWdBVUVCYWlFQkRBRUxDeUFGUVJ4cUlBVW9BaGhCQW5ScUlBVW9BaHcyQWdBZ0JVSGN1QUpxSUFVb0FoaEJBblJxSUE4b0FnQTJBZ0FnQlNBRktBSVlRUUZxTmdJWVFRQU1BZ3RCQUVFRFFldW9BU0FORUQxQmZ3d0JDMEVBUVFOQjNhZ0JJQWdRUFVGL0N5RVJJQXNrQmlBUkM4UUlBZ1YvQVgwakJpRUZJd1pCRUdva0JpQUFSUVJBSUFWQndNZ0RRY0xyQVJBM1FlYnJBUkEzUWUraUFoQTNRWXNCRUQ1QjlxSUNFRGRCNXV3QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0FVTUFBQUEva2tNQUFBQUFYZ1JBSUFGREFBQUF2NUlpQ1NBRHNsMEVRQ0FDUXdBQUFBQmdSUVJBSUFWQndNZ0RRZW50QVJBM1FlYnJBUkEzUWUraUFoQTNRWTBCRUQ1QjlxSUNFRGRCais0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUFzZ0EwRi9UQVJBSUFWQndNZ0RRYXp1QVJBM1FlYnJBUkEzUWUraUFoQTNRWTRCRUQ1QjlxSUNFRGRCMGU0QkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUNDZ0NBQ2dDSENFRUlBaEJDaUFFUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FHSUFRUVFDQUdFRDhRQUF0REFBQ0FQeUFCSUFtT0VFTWlCTEtUUXdBQUFMK1NJZ21USVFFZ0F5QUVhaUFERUU4aEJpQUVRUUZxSUFNUVR5RUlJQUZEQUFBQUFHQkZCRUFnQlVIQXlBTkI3dTRCRURkQjV1c0JFRGRCNzZJQ0VEZEJsZ0VRUGtIMm9nSVFOMEdON3dFUU55SUhJQWNvQWdCQmRHb29BZ0JxRURzZ0JVR0F6Z01RT2lJRUtBSUFLQUljSVFNZ0JFRUtJQU5CUDNGQmlnRnFFUUlBSVFNZ0JSQThJQWNnQXhCQUlBY1FQeEFBQ3lBSlF3QUFBQUJnUlFSQUlBVkJ3TWdEUWFIdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpjQkVENUI5cUlDRURkQndPOEJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dCa0YvVEFSQUlBVkJ3TWdEUWRUdkFSQTNRZWJyQVJBM1FlK2lBaEEzUVpnQkVENUI5cUlDRURkQmhQQUJFRGNpQnlBSEtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRURJQVJCQ2lBRFFUOXhRWW9CYWhFQ0FDRURJQVVRUENBSElBTVFRQ0FIRUQ4UUFBc2dDRUYvU2dSQUlBWkJBblFnQUdvaUF5QUJJQUtVSUFNcUFnQ1NPQUlBSUFoQkFuUWdBR29pQUNBSklBS1VJQUFxQWdDU09BSUFJQVVrQmc4RklBVkJ3TWdEUVo3d0FSQTNRZWJyQVJBM1FlK2lBaEEzUVprQkVENUI5cUlDRURkQnp2QUJFRGNpQkNBRUtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lBeWdDQUNnQ0hDRUFJQU5CQ2lBQVFUOXhRWW9CYWhFQ0FDRUFJQVVRUENBRUlBQVFRQ0FFRUQ4UUFBc0xDeUFGUWNESUEwR0E3UUVRTjBIbTZ3RVFOMEh2b2dJUU4wR01BUkErUWZhaUFoQTNRY0h0QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBRlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBRkVEd2dCQ0FBRUVBZ0JCQS9FQUFMUXdBZ0FFTUFBTUJBa2lBQWxFTUFBUEJCa2lBQWxFTUFBUEJDa2lBQWxFTUFBTFJEa2lBQWxFTUFBRFJFa2lBQWxFTUFBRFJFa3J0RU9XeFMvbXZCVmoraXRndjREQUlPZndOOUl3WWhEQ01HUVRCcUpBWWdERUVnYWlFS0lBVkRBQUFBQUdCRkJFQWdDa0hBeUFOQjZlY0JFRGRCdnVZQkVEZEI3NklDRURkQjl3QVFQa0gyb2dJUU4wR0g2QUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJRXN5QUZYa1VFUUNBS1FjRElBMEdhNkFFUU4wRys1Z0VRTjBIdm9nSVFOMEg0QUJBK1FmYWlBaEEzUWVyb0FSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBWkRBQUFBQUdCRkJFQWdDa0hBeUFOQmp1a0JFRGRCdnVZQkVEZEI3NklDRURkQitRQVFQa0gyb2dJUU4wR3M2UUVRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQ2tHQXpnTVFPaUlKS0FJQUtBSWNJUXNnQ1VFS0lBdEJQM0ZCaWdGcUVRSUFJUWtnQ2hBOElBZ2dDUkJBSUFnUVB4QUFDeUFBS0FJb0lBUWdBeUFBS0FJRWJHcEJCWFJxS0FJSXN5QUdYa1VFUUNBS1FjRElBMEcvNlFFUU4wRys1Z0VRTjBIdm9nSVFOMEg2QUJBK1FmYWlBaEEzUVpEcUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUtRWURPQXhBNklna29BZ0FvQWh3aEN5QUpRUW9nQzBFL2NVR0tBV29SQWdBaENTQUtFRHdnQ0NBSkVFQWdDQkEvRUFBTElBQW9BaWdnQkNBRElBQW9BZ1JzYWtFRmRHb2lDU2dDRUVFQ1J3UkFJQXBCd01nRFFiWHFBUkEzUWI3bUFSQTNRZStpQWhBM1FmNEFFRDVCOXFJQ0VEZEIzdW9CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFwQmdNNERFRG9pQkNnQ0FDZ0NIQ0VJSUFSQkNpQUlRVDl4UVlvQmFoRUNBQ0VFSUFvUVBDQURJQVFRUUNBREVEOFFBQXNnREVFWWFpRUxJQXhCRUdvaER5QU1RUXhxSVJBZ0RFRUlhaUVSSUF4QkJHb2hFaUFDUVFBMkFnQWdCVU1BQUFBL2toQkRJUU1nQmtNQUFBQS9raEJESVFRZ0EwRUFUZ1JBSUFSQkFFZ2dDU2dDQkNBRFRYSkZCRUFnQ1NnQ0NDQUVTd1JBQWtCREFBQ0F2ME1BQUlBL0lBQXFBZ3dnQjVRaUIwTUFBSUEvSUFkZUd5SUhFR2xEQUFBQVFKU1ZJUmNnQnlBQUtnSVFsQ0lIRUdtTklSaEJBQ0FESUFkREFBQUFQNUlRUXlJTmF4REdBU0VJSUFNZ0RXb2dDU2dDQkVGL2FoQ0ZBaUVPUVFBZ0JDQU5heERHQVNFRElBUWdEV29nQ1NnQ0NFRi9haENGQWlFTklBQW9BaHdpQkVFQUlBQW9BaUFnQkd0QkFuVkJBblFRUlJvRFFDQURJQTFNQkVBZ0E3SWdCcE1RYVNFSElBa2dBeEJRSVJNZ0NDRUVBMEFnQkNBT1RBUkFJQWNnQkxJZ0JaTVFhWklpRmlBWVhrVUVRQ0FYSUJhVUVNQUlJUllnQUNnQ0hDQUVRUU4wSUJOcUloUXFBZ0FnQUNnQ0NDSVZzcFM3UkhmSXlXMHdYOFEvb3JZZ0ZpQVVLZ0lFbENBVkVMOElDeUFFUVFGcUlRUU1BUXNMSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBQUtBSVVTQVJBSUFBb0Fod2lCQ0FFSUFBb0FnZ1F2UWdnQTBFQmFpRUREQUVMQ3lBQUtBSUlJUU5CQUNFRVF3QUFBQUFoQlFOQUlBUWdBMGdFUUNBQUtBSWNJQVJCQW5ScUtnSUFJUVlnQkVFQmFpRUVJQVlnQlNBR0lBVmVHeUVGREFFTEN5QUZRd0FBQUFCY0JFQWdCVU1BQUFBQVhrVUVRQ0FLUWNESUEwSDk2Z0VRTjBHKzVnRVFOMEh2b2dJUU4wSGFBUkErUWZhaUFoQTNRYVByQVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdnb0FnQW9BaHdoQ1NBSVFRb2dDVUUvY1VHS0FXb1JBZ0FoQ0NBS0VEd2dCQ0FJRUVBZ0JCQS9FQUFMUVFBaEJBTkFJQVFnQTA0TkFpQUtJQVN5SWdjNEFnQWdDaUFBS0FJY0lnZ2dCRUVDZEdvaUNTZ0NBQ0lOTmdJRUlBc2dCRUYvYWlJT3NqZ0NBQ0FMSUFNZ0Rtb2dBeEJQUVFKMElBaHFLQUlBSWc0MkFnUWdEeUFFUVFGcUlnU3lPQUlBSUE4Z0F5QUVhaUFERUU5QkFuUWdDR29vQWdBaUNEWUNCQ0FOdmlFR0lBa3FBZ0FnQlNBQUtnSVlsRjRFUUNBR0lBNitYaUFHSUFpK1huRUVRQ0FNSUFjNEFnQWdFQ0FSSUJJZ0N5QUtJQThRdkFnRVFDQVJLZ0lBSVFZZ0Vpb0NBQm9nRUNvQ0FDSUhRd0FBQUFCY0JFQWdEQ0FHakNBSFF3QUFBRUNVbFRnQ0FBc0xJQXdxQWdCREFBQUFQNUlnQUNnQ0NMSWlCcElnQnBXN1JCZ3RSRlQ3SVJsQW9rUVlMVVJVK3lFWlFCQWV0aUVHSUFJb0FnQWlBMEVDZENBQmFpQUdPQUlBSUFJZ0EwRUJhallDQUNBQUtBSUlJUU1MQ3d3QUFBc0FDd3NMQ3dzZ0RDUUdDK1VCQVFOL0l3WWhCQ01HUVJCcUpBWUNRQU5BSUFJZ0FSQjBJZ01vQWdRZ0F5Z0NBR3RCQlhWSkJFQWdBUkIwS0FJQUlBSkJCWFJxSWdNb0FnUWdBeWdDREVFQ2RrY05BaUFBS0FJb0lBSkJCWFJxS0FJWUlBTW9BaGdnQXlnQ0JDQURLQUlJRU1VSUlBSkJBV29oQWd3QkN3c2dCQ1FHRHdzZ0JFSEF5QU5CZ2VZQkVEZEJ2dVlCRURkQjc2SUNFRGRCNEFBUVBrSDJvZ0lRTjBIQTV3RVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCQkE4SUFBZ0FSQkFJQUFRUHhBQUM3c0JBUVYvSUFBZ0F6WUNBQ0FBSUFRMkFnUWdBRUVrTmdJSUlBQkRBQUJBUURnQ0RDQUFRd0FBd0Q4NEFoQWdBRUVGTmdJVUlBQkR6Y3hNUHpnQ0dDQUFRUnhxUVNRUWh3RWdBQ0lHUVNocUlBQW9BZ0FnQUNnQ0JHd1ExQUpCQUNFQUEwQWdBQ0FEUndSQUlBQWdCR3doQnlBQklBQjJJUWdnQWlBQWRpRUpRUUFoQlFOQUlBUWdCVWNFUUNBR0tBSW9JQVVnQjJwQkJYUnFRUUlnQ0NBSlFRSVF0d0lnQlVFQmFpRUZEQUVMQ3lBQVFRRnFJUUFNQVFzTEN6TUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lNSUFCQ0FEY0NGQ0FBUWdBM0Fod2dBRUlBTndJa0lBQkNBRGNDTEF1TkJ3SUpmd0o5SUFKQmYyb2hDU0FCUVFScUlnUXFBZ0FnQVNvQ0FDSU5reUVPSUFBZ0FrRUNkQ0FCYWlJR0tnSUFJQTJUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTRnRHBRZ0RTQU5sSktST0FJRVFRRWhDQ0FHSVFjRFFDQUFRUWhxSVFVZ0IwRUVhaUVISUFnZ0NVa0VRQ0FGSUFjcUFnQWdCQ29DQUpNaURpQUVRUVJxSWdvcUFnQWdCRUY4YWlvQ0FKTWlEUkNkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUEwZ0RaUWdEaUFPbEpLUk9BSU1JQWhCQVdvaENDQUtJUVFnQlNFQURBRUxDeUFEUVg5cUlRd2dCQ29DQUNJTklBUkJmR29xQWdDVElRNGdCU0FIS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaENDQUZJUU1nQWtFQ2RDQUdhaUVFSUFFaEJRTkFJQU5CQ0dvaEFDQUlJQXhKQkVBZ0FDQUVLZ0lBSUFVcUFnQ1RJZzRnQmtFRWFpSUFLZ0lBSUFZcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NERUVCSVFzZ0EwRVFhaUVEQTBBZ0JFRUVhaUVISUFWQkJHb2hCaUFMSUFsSkJFQWdBeUFIS2dJQUlBWXFBZ0NUSWc0Z0FFRUVhaUlLS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0JDQUxRUUZxSVFzZ0J5RUVJQVloQlNBS0lRQWdBMEVJYWlFRERBRUxDeUFESUFjcUFnQWdCaW9DQUpNaURpQUFLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBSVFRRnFJUWdnQkVFSWFpRUVJQVZCQ0dvaEJTQUFRUVJxSVFZTUFRc0xJQUlnREd4QkFuUWdBV29pQVVFQUlBSnJRUUowYWlFQ0lBRkJCR29pQkNvQ0FDQUJLZ0lBSWcyVElRNGdBQ0FOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBRElBNGdEcFFnRFNBTmxKS1JPQUlNUVFFaEJTQUFJUUVnQkNFQUEwQWdBVUVJYWlFRElBSkJCR29oQWlBRklBbEpCRUFnQXlBQUtnSUFJQUlxQWdDVElnNGdBRUVFYWlJRUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQVNBTklBMlVJQTRnRHBTU2tUZ0NEQ0FGUVFGcUlRVWdBeUVCSUFRaEFBd0JDd3NnQUNvQ0FDSU5JQUJCZkdvcUFnQ1RJUTRnQXlBTklBSXFBZ0NUSWcwZ0RoQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUJJQTRnRHBRZ0RTQU5sSktST0FJTUN4c0FJQUJCQkdvaUFDd0FDMEVBU0FSQUlBQW9BZ0FoQUFzZ0FBc0xBQ0FBRU8wRElBQVFPQXYrQmdFRWZ5TUdJUVFqQmtFUWFpUUdJQUVvQWdCQkFVY0VRQ0FFUWNESUEwSFg0UUVRTjBHWjRBRVFOMEh2b2dJUU4wSEtBaEErUWZhaUFoQTNRWXJpQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFFb0FoQkJBVWNFUUNBRVFjRElBMEdpNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhMQWhBK1FmYWlBaEEzUWMvaUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQW9BaEFnQUNnQ0ZHd2dBQ2dDQ0NBQUtBSUVhMEVGZFVjRVFDQUVRY0RJQTBIcDRnRVFOMEdaNEFFUU4wSHZvZ0lRTjBITkFoQStRZmFpQWhBM1FiUGpBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdRZ0FDZ0NCQ2dDQkVjRVFDQUVRY0RJQTBIVzR3RVFOMEdaNEFFUU4wSHZvZ0lRTjBIT0FoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWdnZ0FDZ0NCQ2dDQ0VjRVFDQUVRY0RJQTBHeTVBRVFOMEdaNEFFUU4wSHZvZ0lRTjBIUEFoQStRZmFpQWhBM1FaTGtBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFnQUNnQ0JDQUJFT0FCSUFBZ0FDZ0NCQ0lCUVNCcUlBRVE0QUVnQUNBQUtBSUVJZ0ZCUUdzZ0FVRWdhaER1QTBFQklRRURRQ0FCSUFBb0FoQkpCRUFnQUNnQ0JDQUJJQUFvQWhSc1FRVjBhaWdDR0NBQUtBSUVJQUVnQUNnQ0ZHeEJmMnBCQlhScUtBSVlJQUFvQWdRZ0FTQUFLQUlVYkVGL2FrRUZkR29vQWdRZ0FDZ0NCQ0FCSUFBb0FoUnNRWDlxUVFWMGFpZ0NDQkRVQ0NBQUlBQW9BZ1FpQWlBQklBQW9BaFJzSWdOQkFXcEJCWFJxSUFOQkJYUWdBbW9RNEFFZ0FDQUFLQUlFSWdJZ0FTQUFLQUlVYkNJRFFRSnFRUVYwYWlBRFFRRnFRUVYwSUFKcUVPNERJQUZCQVdvaEFRd0JDd3NnQkNRR0N6OEJBbjhnQUNnQ0JDRUNJQUFvQWdnaEFRTkFJQUVnQWtjRVFDQUFJQUZCZm1vaUFUWUNDQXdCQ3dzZ0FDZ0NBQ0lCQkVBZ0FDZ0NEQm9nQVJBNEN3dVhBUUVFZnlBQlFRUnFJZ01vQWdCQkFDQUFLQUlFSUFBb0FnQWlCR3NpQlVFQmRXdEJBWFJxSVFJZ0F5QUNOZ0lBSUFWQkFFb0VRQ0FDSUFRZ0JSQk1HaUFES0FJQUlRSUxJQUFvQWdBaEJDQUFJQUkyQWdBZ0F5QUVOZ0lBSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBeWdDQURZQ0FBc2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJSUMyOEJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVFQVNBUkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFQmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRRjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVCZENBRWFqWUNEQXNpQVFGL0lBQW9BZ1FpQWtFQUlBRkJBWFFRUlJvZ0FDQUJRUUYwSUFKcU5nSUVDNkFCQVFSL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFGMUlBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJRUUYxYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCV3NpQkNBRUlBTkpHMEgvLy8vL0J5QUVRUUYxUWYvLy8vOERTUnNnQUNnQ0JDQUZhMEVCZFNBQVFRaHFFTXdJSUFJZ0FSRExDQ0FBSUFJUXlnZ2dBaERKQ0FzRklBQWdBUkROQ0FzZ0FpUUdDendCQW44Z0FDZ0NCQ0FBS0FJQUlnTnJRUUYxSWdJZ0FVa0VRQ0FBSUFFZ0Ftc1F6Z2dGSUFJZ0FVc0VRQ0FBSUFGQkFYUWdBMm8yQWdRTEN3dWJBUUVHZnlBQUlBTVEwZ2dnQUVFRWFpSUdJQU1nQUNnQ0ZHd1ExQUlEUUNBRUlBTklCRUFnQVNBRWRpRUhJQUlnQkhZaENFRUFJUVVEUUNBRklBQW9BaFFpQ1VrRVFDQUdLQUlBSUFVZ0JDQUpiR3BCQlhScVFRSWdCeUFJUVFFUXR3SWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMSUFCQklHb2dBU0FDYkNJQkVNOElJQUJCTEdvZ0FSQ0hBU0FBUVRocUlBRVFod0VMT0FBZ0FCRFRDQ0FBUWR5RkFUWUNBQ0FBUVNCcUlnQkNBRGNDQUNBQVFnQTNBZ2dnQUVJQU53SVFJQUJDQURjQ0dDQUFRUUEyQWlBTE5RRUJmU0FBSUFFMkFoQWdBRUVETmdJVUlBQkVBQUFBQUFBQTREOFFJN1lpQWpnQ0dDQUFRd0FBZ0Q4Z0FoRFNBWlU0QWh3TExBQWdBRUhzaFFFMkFnQWdBRUVFYWlJQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRUUEyQWhnTG53RUJCMzhnQWtFQmRpRUlJQU5CQVhZaENTQUNRUUYwSVFvRFFDQUVJQWxIQkVCQkFDRUdJQVFnQ214QkFuUWdBV29pQXlBQ1FRSjBhaUVGSUFBaEJ3TkFJQVlnQ0VjRVFDQUhJQU1xQWdBZ0F5b0NCSklnQlNvQ0FKSWdCU29DQkpKREFBQ0FQcFE0QWdBZ0JrRUJhaUVHSUFWQkNHb2hCU0FEUVFocUlRTWdCMEVFYWlFSERBRUxDeUFFUVFGcUlRUWdDRUVDZENBQWFpRUFEQUVMQ3d1dUN3SUxmd0Y5SXdZaEN5TUdRUkJxSkFZZ0EwRUVUUVJBSUF0QndNZ0RRZmZmQVJBM1FabmdBUkEzUWUraUFoQTNRYWdCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JFRUVUUVJBSUF0QndNZ0RRYlRoQVJBM1FabmdBUkEzUWUraUFoQTNRYWtCRUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBdEJnTTRERURvaUJ5Z0NBQ2dDSENFR0lBZEJDaUFHUVQ5eFFZb0JhaEVDQUNFSElBc1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVNSUFOQmZtb2hDU0FEUVgxcUlRMGdBMEY4YWlFT0lBRWhCd05BSUFRZ0NFY0VRQ0FESUFoc1FRSjBJQUpxSWdZcUFnQWhFQ0FISUFZcUFnZ2dFQ0FRUXdBQXdFQ1VJQkFnQmlvQ0JKSkRBQUNBUUpTU2twSTRBZ0FnQnlBR0tnSU1JQVlxQWdBaUVDQUdLZ0lFUXdBQXdFQ1VJQkFnQmlvQ0NKSkRBQUNBUUpTU2twSTRBZ1JCQWlFRklBZEJDR29oQ2dOQUlBVWdDVWNFUUNBS0lBVkJBbXBCQW5RZ0Jtb3FBZ0FnQlVGK2FrRUNkQ0FHYWlvQ0FDQUZRUUowSUFacUtnSUFRd0FBd0VDVUlBVkJmMnBCQW5RZ0Jtb3FBZ0FnQlVFQmFpSUZRUUowSUFacUtnSUFra01BQUlCQWxKS1NramdDQUNBS1FRUnFJUW9NQVFzTElBbEJBblFnQjJvaUJTQU1RUUowSUFacUlnb3FBZ0FpRUNBT1FRSjBJQVpxS2dJQUlBbEJBblFnQm1vaUR5b0NBRU1BQU1CQWxDQU5RUUowSUFacUlnWXFBZ0FnRUpKREFBQ0FRSlNTa3BJNEFnQWdCU0FLS2dJQUloQWdCaW9DQUNBUVF3QUF3RUNVSUJBZ0R5b0NBSkpEQUFDQVFKU1NrcEk0QWdRZ0EwRUNkQ0FIYWlFSElBaEJBV29oQ0F3QkN3c2dCRUYrYWlFTlFRQWhDU0FEUVFKMElBRnFJZ0lnQTBFQ2RHb2lDQ0VLSUFJaEJTQUJJUWNnQUNFR0EwQWdBeUFKUndSQUlBWWdDaW9DQUNBSEtnSUFJaEFnRUVNQUFNQkFsQ0FRSUFVcUFnQ1NRd0FBZ0VDVWtwS1NRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUVJxSVFvZ0JVRUVhaUVGSUFkQkJHb2hCeUFHUVFScUlRWU1BUXNMUVFBaEJpQURRUUowSUFocUlRa2dDQ0VGSUFFaEJ5QURRUUowSUFCcUlRZ0RRQ0FESUFaSEJFQWdDQ0FKS2dJQUlBY3FBZ0FpRUNBQ0tnSUFRd0FBd0VDVUlCQWdCU29DQUpKREFBQ0FRSlNTa3BKREFBQ0FPNVE0QWdBZ0JrRUJhaUVHSUFsQkJHb2hDU0FGUVFScUlRVWdBa0VFYWlFQ0lBZEJCR29oQnlBSVFRUnFJUWdNQVFzTFFRSWhDQU5BSUFnZ0RVY0VRRUVBSVFrZ0F5QUlRWDVxYkVFQ2RDQUJhaUlHSUFOQkFuUnFJZ2NnQTBFQ2RHb2lCU0FEUVFKMGFpSUNJQU5CQW5ScUlRb2dBeUFJYkVFQ2RDQUFhaUVNQTBBZ0F5QUpSd1JBSUF3Z0Npb0NBQ0FHS2dJQUlBVXFBZ0JEQUFEQVFKUWdCeW9DQUNBQ0tnSUFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FKUVFGcUlRa2dDa0VFYWlFS0lBSkJCR29oQWlBRlFRUnFJUVVnQjBFRWFpRUhJQVpCQkdvaEJpQU1RUVJxSVF3TUFRc0xJQWhCQVdvaENBd0JDd3RCQUNFR0lBTWdCRUY4YW14QkFuUWdBV29pQnlBRFFRSjBhaUlGSUFOQkFuUnFJZ0lnQTBFQ2RHb2hDQ0FESUExc1FRSjBJQUJxSVFrRFFDQURJQVpIQkVBZ0NTQUlLZ0lBSWhBZ0J5b0NBQ0FDS2dJQVF3QUF3RUNVSUFVcUFnQWdFSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWhCQkdvaENDQUNRUVJxSVFJZ0JVRUVhaUVGSUFkQkJHb2hCeUFKUVFScUlRa01BUXNMUVFBaEJTQURJQVJCZldwc1FRSjBJQUZxSWdJZ0EwRUNkR29pQVNBRFFRSjBhaUVISUFNZ0JFRi9hbXhCQW5RZ0FHb2hBQU5BSUFNZ0JVY0VRQ0FBSUFjcUFnQWlFQ0FDS2dJQUlCQkRBQURBUUpRZ0FTb0NBQ0FRa2tNQUFJQkFsSktTa2tNQUFJQTdsRGdDQUNBRlFRRnFJUVVnQjBFRWFpRUhJQUZCQkdvaEFTQUNRUVJxSVFJZ0FFRUVhaUVBREFFTEN5QUxKQVlMemdvQkRIOGpCaUVNSXdaQkVHb2tCaUFEUVFSTkJFQWdERUhBeUFOQjk5OEJFRGRCbWVBQkVEZEI3NklDRURkQk54QStRZmFpQWhBM1FhSGhBUkEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFNUVlET0F4QTZJZ2NvQWdBb0Fod2hDQ0FIUVFvZ0NFRS9jVUdLQVdvUkFnQWhCeUFNRUR3Z0JTQUhFRUFnQlJBL0VBQUxJQVJCQkUwRVFDQU1RY0RJQTBHMDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBFNEVENUI5cUlDRURkQm9lRUJFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQXhCZ000REVEb2lCeWdDQUNnQ0hDRUlJQWRCQ2lBSVFUOXhRWW9CYWhFQ0FDRUhJQXdRUENBRklBY1FRQ0FGRUQ4UUFBc2dBMEYvYWlFTklBTkJmbW9oQ2lBRFFYMXFJUTRnQTBGOGFpRVBJQUVoQ0FOQUlBUWdDVWNFUUNBSUlBSWdBeUFKYkdvaUJpMEFBQ0lGSUFZdEFBRnFRUUowSUFZdEFBSWdCVUVIYkdwcU93RUFJQWdnQmkwQUFDSUZJQVl0QUFKcVFRSjBJQVl0QUFNZ0JpMEFBVUVHYkNBRmFtcHFPd0VDUVFJaEJTQUlRUVJxSVFzRFFDQUZJQXBIQkVBZ0N5QUZRUUpxSUFacUxRQUFJQVZCZm1vZ0Jtb3RBQUFnQlNBR2FpMEFBRUVHYkdvZ0JVRi9haUFHYWkwQUFDQUZRUUZxSWdjZ0Jtb3RBQUJxUVFKMGFtbzdBUUFnQnlFRklBdEJBbW9oQ3d3QkN3c2dDa0VCZENBSWFpSUZJQVlnRFdvaUN5MEFBQ0lRSUFZZ0Rtb2lCeTBBQUdwQkFuUWdCaUFQYWkwQUFDQUdJQXBxSWdZdEFBQkJCbXdnRUdwcWFqc0JBQ0FGSUFzdEFBQWlCU0FHTFFBQWFrRUNkQ0FITFFBQUlBVkJCMnhxYWpzQkFpQURRUUYwSUFocUlRZ2dDVUVCYWlFSkRBRUxDeUFFUVg1cUlRMUJBQ0VKSUFOQkFYUWdBV29pQWlBRFFRRjBhaUlHSVFvZ0FpRUZJQUVoQnlBQUlRZ0RRQ0FESUFsSEJFQWdDQ0FLTHdFQUlBY3ZBUUFpQ3lBRkx3RUFha0VDZENBTFFRZHNhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dCVUVDYWlFRklBZEJBbW9oQnlBSVFRUnFJUWdNQVFzTFFRQWhDQ0FEUVFGMElBWnFJUWtnQmlFRklBRWhCeUFEUVFKMElBQnFJUVlEUUNBRElBaEhCRUFnQmlBSkx3RUFJQWN2QVFBaUNpQUZMd0VBYWtFQ2RDQUNMd0VBUVFac0lBcHFhbXF5UXdBQWdEdVVPQUlBSUFoQkFXb2hDQ0FKUVFKcUlRa2dCVUVDYWlFRklBSkJBbW9oQWlBSFFRSnFJUWNnQmtFRWFpRUdEQUVMQzBFQ0lRWURRQ0FHSUExSEJFQkJBQ0VKSUFNZ0JrRithbXhCQVhRZ0FXb2lDQ0FEUVFGMGFpSUhJQU5CQVhScUlnVWdBMEVCZEdvaUFpQURRUUYwYWlFS0lBTWdCbXhCQW5RZ0FHb2hDd05BSUFNZ0NVY0VRQ0FMSUFvdkFRQWdDQzhCQUNBRkx3RUFRUVpzYWlBSEx3RUFJQUl2QVFCcVFRSjBhbXF5UXdBQWdEdVVPQUlBSUFsQkFXb2hDU0FLUVFKcUlRb2dBa0VDYWlFQ0lBVkJBbW9oQlNBSFFRSnFJUWNnQ0VFQ2FpRUlJQXRCQkdvaEN3d0JDd3NnQmtFQmFpRUdEQUVMQzBFQUlRZ2dBeUFFUVh4cWJFRUJkQ0FCYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVHSUFNZ0RXeEJBblFnQUdvaENRTkFJQU1nQ0VjRVFDQUpJQVl2QVFBaUNpQUhMd0VBSUFJdkFRQkJCbXhxSUFVdkFRQWdDbXBCQW5ScWFySkRBQUNBTzVRNEFnQWdDRUVCYWlFSUlBWkJBbW9oQmlBQ1FRSnFJUUlnQlVFQ2FpRUZJQWRCQW1vaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFGMElBRnFJZ0lnQTBFQmRHb2lBU0FEUVFGMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWN2QVFBaUJDQUNMd0VBSUFSQkJteHFJQVFnQVM4QkFHcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0JVRUJhaUVGSUFkQkFtb2hCeUFCUVFKcUlRRWdBa0VDYWlFQ0lBQkJCR29oQUF3QkN3c2dEQ1FHQzVRWkFoWi9CWHdqQmlFSUl3WkJRR3NrQmlBSVFTQnFJUW9nQ0VFWWFpRU5JQWhCTkdvaEJDQUlRU2hxSVFVZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUVFc2FpSUxRUUEyQWdBQ1FBSkFJQUJCOUlhdkEyb2lEeWdDQUNJQ1FRUkhEUUFDUUNBQVFmeUdyd05xSWd3b0FnQWlBa0VBU2dSQUlBd2dBa0YvYWpZQ0FBVUNRQ0FFSUFBb0FoQWlCeUFBUVlDSHJ3TnFJZ1lvQWdCcUlnSkIvd0VnQWtIL0FVZ2JJaEEyQWdBZ0JDQUhJQUJCaElldkEyb2lDU2dDQUdzaUFrRUFJQUpCQUVvYkloRTJBZ1FnQkNBSE5nSUlJQUJCNElhbkFtb2hBeUFBUWJqNEFHb2hEaUFBUWJENEFHb2hFaUFBUWZDR3J3TnFJUk1nQUVHUWg2OERhaUVVSUFCQk1Hb2hGU0FBUVppSHJ3TnFJUlpCQUNFQ0FrQUNRQU5BSUFKQkEwa0VRQ0FCS0FJTUlBQW9BaVFnQUNnQ0tDQUFLQUlBSUFBb0Fnd2dBa0VDZENBRWFpZ0NBQ0FBS0FJVUlBTkJBQkM2QWtFQVNBMENJQUFvQWlRZ0FDZ0NLQ0FESUFBb0FoUWdEaUFTRU93RFFRQklEUUlnQVNnQ0FDQUFLQUlrSUFBb0FpZ2dBQ2dDQkNBT0lCSW9BZ0FnRXlnQ0FDQUFLQUlVSUFBb0FoZ2dBQ2dDSUVHNEFXb2dGQ3NEQUNBVklBc2dGaWdDQUJEZUEwRUFTQTBDSUFKQkFuUWdCV29nQ3lnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMREFFTFFYOE1CZ3NnQUNnQ0FFRUJSZ1JBSUFVb0FnUWhEaUFGS0FJSUlRTWdCU2dDQUNFQ0lBZ2dFVFlDQUNBSUlBNDJBZ1FnQ0NBSE5nSUlJQWdnQXpZQ0RDQUlJQkEyQWhBZ0NDQUNOZ0lVUVFCQkEwR2lwd0VnQ0JBOUJTQUZLQUlBSVFJZ0JTZ0NDQ0VEQ3lBQ0lBTktJQVVvQWdRaUJTQURTbklFUUNBQUlCRWdFQ0FDSUFWSUd5SUNOZ0lRSUFrZ0FpQUhheUlEUVFCS0JIOGdCaUFETmdJQVFRRUZJQVpCQVRZQ0FFRUFJQU5yQ3pZQ0FDQUFLQUlBUVFGR0JFQWdEU0FDTmdJQVFRQkJBMEh1cHdFZ0RSQTlDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BUXNnQmlnQ0FDSUJJQWtvQWdBaUFrZ0VRQ0FHSUFGQkFXb2lBVFlDQUFVZ0FTQUNUQVJBSUFZZ0FVRUJhaUlCTmdJQUN5QUpJQUpCQVdvMkFnQUxJQWNnQVNBSGFrSCtBVW9FZnlBR1FRRTJBZ0JCQVFVZ0FRdE1CRUFnQ1VFQk5nSUFDeUFNSUFCQitJYXZBMm9vQWdBMkFnQU1BZ3NMSUE4b0FnQWhBZ3dCQ3d3QkN3SkFBa0FDUUFKQUlBSkJBV3NPQXdFQkFBSUxJQUJCaUlldkEyb2lBaWdDQUNBQktBSU1FTmdISWdOQkFFZ0VRQ0FEREFVTElBRW9BZ3dnQWlnQ0FDSURLQUlFSUFNb0FnZ2dBQ2dDQUNBQUtBSU1RUUJCQUNBQVFlQ0dwd0pxSWdJZ0F5Z0NBQkM2QWlJRFFRQklCRUFnQXd3RkN5QUFRU1JxSVFNZ0FFRW9haUVFSUFCQkZHb2hCUXdDQ3lBQVFmeUdyd05xSWdNb0FnQWlCVUVBU2dSQUlBTWdCVUYvYWpZQ0FBd0JDeUFBUVlpSHJ3TnFLQUlBSVFVZ0FTZ0NEQ0VISUFKQkFVWUVmeUFGSUFjZ0JCRGtCd1VnQlNBSElBUVE0QWNMSWdKQkFFZ0VRQ0FDREFRTElBQW9BZ0JCQVVZRVFDQUVMUUFBSWdJZ0FDZ0NFRWNFUUNBS1FhS29BVUdwcUFFZ0R5Z0NBRUVCUmhzMkFnQWdDaUFDTmdJRVFRQkJBMEd1cUFFZ0NoQTlDd3NnQUNBRUxRQUFOZ0lRSUFNZ0FFSDRocThEYWlnQ0FEWUNBQXRCZnlBQktBSU1JQUJCSkdvaUF5Z0NBQ0FBUVNocUlnUW9BZ0FnQUNnQ0FDQUFLQUlNSUFBb0FoQWdBRUVVYWlJRktBSUFJQUJCNElhbkFtb2lBa0VBRUxvQ1FRQklEUUlhQzBGL0lBTW9BZ0FnQkNnQ0FDQUNJQVVvQWdBZ0FFRzQrQUJxSWdJZ0FFR3crQUJxSWdjUTdBTkJBRWdOQVJwQmZ5QUJLQUlBSUFNb0FnQWdCQ2dDQUNBQUtBSUVJQUlnQnlnQ0FDQUFRZkNHcndOcUtBSUFJQVVvQWdBZ0FDZ0NHQ0FBS0FJZ1FiZ0JhaUFBUVpDSHJ3TnFLd01BSUFCQk1Hb2dDeUFBUVppSHJ3TnFLQUlBRU40RFFRQklEUUVhQ3lBQUtBSWNRUUZHQkVBZ0FCRHZBMEVBREFFTElBQkIrSXFtQW1vaUJ5Z0NBQ0VKUVFBaEF3TkFJQU1nQ1VnRVFDQUxLQUlBSVFRZ0FFR0FpNllDYWlBRFFZZ0NiR29oQlNBQUlBTkJpQUpzYWtHNGk2WUNhaUVHSUFBZ0EwR0lBbXhxUWNDTHBnSnFJUXBCQUNFQ1FYOGhBVVFBQUFBQUFBRGdQeUVaQTBBZ0FpQUVTQVJBSUFVb0FnQzNJQUJCTUdvZ0FrRUlkR29vQWdDM0loaWpJaHBFWm1abVptWm01ajlqSUJwRTRYb1Vya2ZoOWo5a2NrVUVRQ0FBSUFKQkNIUnFLd05vSUFZckF3Q2hJaG9nR3FJZ0FDQUNRUWgwYWlzRGNDQUtLd01Bb1NJYUlCcWlvQ0FZb3lJWUlCbGpCRUFnR0NFWklBSWhBUXNMSUFKQkFXb2hBZ3dCQ3dzZ0FVRi9TZ1JBQWtBQ1FBSkFBa0FnQUNnQ0dDSUtEZ1VDQWdJQUFBRUxJQUFnQVVFSWRHb2lCQ3NEV0NBQUlBTkJpQUpzYWtHb2k2WUNhaXNEQUNJWVl3UkFJQUFnQVVFSWRHcEI0QUJxSVFJZ0FDQURRWWdDYkdwQnNJdW1BbW9yQXdBaEdRVWdBQ0FCUVFoMGFrSGdBR29pQWlzREFDQUFJQU5CaUFKc2FrR3dpNllDYWlzREFDSVpZMFVOQXdzZ0JDQVlPUU5ZSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCaUl1bUFtb29BZ0EyQWpnZ0FpQVpPUU1BSUFBZ0FVRUlkR29nQUNBRFFZZ0NiR3BCakl1bUFtb29BZ0EyQWp4QkFDRUZRWDhoQWtRQUFBQUFoTmVYUVNFWUEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VaQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpQmtFRWRHb3JBd0NoSVJvZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFHUVFSMGFpc0Q0QUdoSVJzZ0JFRUJhaUVFSUJrZ0dpQWFvaUFiSUJ1aW9LQWhHUXdCQ3dzZ0JTQUNJQmtnR0dNaUJCc2hBaUFGUVFGcUlRVWdHU0FZSUFRYklSZ01BUXNMSUFBZ0FVRUlkR3BCQkNBQ2F5SUNJQUFnQTBHSUFteHFRWlNMcGdKcUtBSUFha0VFRUU4MkFrUWdBQ0FCUVFoMGFpQUNJQUFnQTBHSUFteHFRWmlMcGdKcUtBSUFha0VFRUU4MkFrZ01BZ3RCZnd3RkN5QUFJQUZCQ0hScUlnSXJBMUFnQUNBRFFZZ0NiR3BCb0l1bUFtb3JBd0FpR21NRVFDQUNJQm81QTFBZ0FDQUJRUWgwYWlBQUlBTkJpQUpzYWtHRWk2WUNhaWdDQUNJR05nSTBJQUFnQTBHSUFteHFRWkNMcGdKcUlReEJmeUVDUkFBQUFBQ0UxNWRCSVJsQkFDRUZBMEFnQlVFRVJ3UkFRUUFoQkVRQUFBQUFBQUFBQUNFWUEwQWdCRUVFUndSQUlBQWdBMEdJQW14cVFhaU1wZ0pxSUFSQkJIUnFLd01BSUFBZ0FVRUlkR3BCMkFGcUlBUWdCV3BCQTNFaURVRUVkR29yQXdDaElSc2dBQ0FEUVlnQ2JHb2dCRUVFZEdwQnNJeW1BbW9yQXdBZ0FDQUJRUWgwYWlBTlFRUjBhaXNENEFHaElSd2dCRUVCYWlFRUlCZ2dHeUFib2lBY0lCeWlvS0FoR0F3QkN3c2dHQ0FaWXdSQUlCZ2hHU0FNS0FJQVFRUWdCV3RxUVFRUVR5RUNDeUFGUVFGcUlRVU1BUXNMSUFBZ0FVRUlkR3BCUUdzZ0FqWUNBQ0FLUVFKSkJFQWdBQ0FCUVFoMGFpQUdOZ0k0SUFBZ0FVRUlkR29nR2prRFdDQUFJQUZCQ0hScUlBSTJBa1FGSUFBZ0FVRUlkR29nQmpZQ1BDQUFJQUZCQ0hScUlCbzVBMkFnQUNBQlFRaDBhaUFDTmdKSUN3c0xDeUFEUVFGcUlRTU1BUXNMSUFBUTd3TkJBQ0VDUVFBaEFRTkFJQUlnQnlnQ0FFZ0VRQ0FBSUFKQmlBSnNha0dBamFZQ2FpSUVLQUlBSVFNZ0JDQURRUUZxTmdJQUlBTkJBMGdFUUNBQklBSkhCRUFnQUVHQWk2WUNhaUFCUVlnQ2JHb2dBRUdBaTZZQ2FpQUNRWWdDYkdwQmlBSVFUQm9MSUFGQkFXb2hBUXNnQWtFQmFpRUNEQUVMQ3lBSElBRTJBZ0FnQ3lnQ0FDRURRUUFoQkFOQUFrQWdCQ0FEVGcwQUlBQkJNR29nQkVFSWRHb2hCU0FBSUFSQkNIUnFLQUkwSWdaQkFFNEVRRUVBSVFJRFFBSkFJQUlnQVU0TkFDQUdJQUFnQWtHSUFteHFRWVNMcGdKcUtBSUFSZzBBSUFKQkFXb2hBZ3dCQ3dzZ0FTQUNSZ1JBSUFGQlBFWU5BaUFISUFGQkFXb2lBVFlDQUFzZ0FFR0FpNllDYWlBQ1FZZ0NiR29nQlVHQUFoQk1HaUFBSUFKQmlBSnNha0dBamFZQ2FrRUJOZ0lBQ3lBRVFRRnFJUVFNQVFzTElBQW9BaHhCQWtZRWYwRUFCVUVBSVFRZ0FTRUNJQU1oQVFOQVFRQWdCQ0FDVGcwQ0dpQUFRWUNMcGdKcUlBUkJpQUpzYWlFRklBQWdCRUdJQW14cVFiaUxwZ0pxSVFZZ0FDQUVRWWdDYkdwQndJdW1BbW9oQ1VFQUlRTURRQUpBSUFNZ0FVNE5BQ0FGS0FJQXR5QUFRVEJxSUFOQkNIUnFLQUlBdHlJWm95SVlSR1ptWm1abVp1WS9ZeUFZUk9GNkZLNUg0ZlkvWkhKRkJFQWdBQ0FEUVFoMGFpc0RhQ0FHS3dNQW9TSVlJQmlpSUFBZ0EwRUlkR29yQTNBZ0NTc0RBS0VpR0NBWW9xQWdHYU5FQUFBQUFBQUE0RDlqRFFFTElBTkJBV29oQXd3QkN3c2dBU0FEUmdSQUlBQkJNR29nQVVFSWRHb2dBRUdBaTZZQ2FpQUVRWWdDYkdwQmdBSVFUQm9nQ3lBQlFRRnFJZ0UyQWdBZ0J5Z0NBQ0VDQ3lBRVFRRnFJUVFNQUFBTEFBc0xCVUYvQ3lFWElBZ2tCaUFYQ3dzQUlBQVF4Z0lnQUJBNEN3c0FJQUFReHdJZ0FCQTRDN3dCQVFOL0l3WWhBaU1HUVJCcUpBWWdBQ2dDQkNBQUtBSUFJZ05yUVFWMUlBRkxCRUFnQXlnQ0JDQUFLQUlBSUFGQkJYUnFLQUlFRUVpekVQRURFUEFERUVNaEJDQUNKQVlnQkE4RklBSkJ3TWdEUVpYZkFSQTNRYzdMQVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQnc5OEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lBU2dDQUNnQ0hDRURJQUZCQ2lBRFFUOXhRWW9CYWhFQ0FDRUJJQUlRUENBQUlBRVFRQ0FBRUQ4UUFBdEJBQXRKQVFGL0lBQW9BZ2doQWdOQUlBSkNBRGNDQUNBQ1FnQTNBZ2dnQWtJQU53SVFJQUpDQURjQ0dDQUNRUUEyQWlBZ0FDQUFLQUlJUVNScUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzBrQkFYOGdBQ2dDQkNFQ0EwQWdBa0lBTndJQUlBSkNBRGNDQ0NBQ1FnQTNBaEFnQWtJQU53SVlJQUpCQURZQ0lDQUFJQUFvQWdSQkpHb2lBallDQkNBQlFYOXFJZ0VOQUFzTHBnRUJCWDhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdRaUEydEJKQkE1SUFGSkJFQkJ4K1B4T0NBRElBQW9BZ0JyUVNRUU9TQUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHdEJKQkE1SWdWQkFYUWlCaUFHSUFOSkcwSEg0L0U0SUFWQjQvRzRIRWtiSUFBb0FnUWdCR3RCSkJBNUlBQkJDR29RMEFJZ0FpQUJFTnNJSUFBZ0FoRFBBaUFDRU00Q0N3VWdBQ0FCRU53SUN5QUNKQVlMb0F3Q0JuOEZmU01HSVFjakJrRVFhaVFHSUFTT0VFTWlDaUFFRUVOSEJFQWdCMEhBeUFOQjZ0RUJFRGRCbnRJQkVEZEI3NklDRURkQnhRQVFQa0gyb2dJUU4wR1Qwd0VRTnlJSUlBZ29BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUVlnQ1VFS0lBWkJQM0ZCaWdGcUVRSUFJUVlnQnhBOElBZ2dCaEJBSUFnUVB4QUFDeUFGamhCRElnc2dCUkJEUndSQUlBZEJ3TWdEUWJIVEFSQTNRWjdTQVJBM1FlK2lBaEEzUWNZQUVENUI5cUlDRURkQms5TUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUdJQWxCQ2lBR1FUOXhRWW9CYWhFQ0FDRUdJQWNRUENBSUlBWVFRQ0FJRUQ4UUFBc2dDeUFDU1NBTFFYOUtjVVVFUUNBSFFjRElBMEhsMHdFUU4wR2UwZ0VRTjBIdm9nSVFOMEhQQUJBK1FmYWlBaEEzUVpQVUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aEJpQUpRUW9nQmtFL2NVR0tBV29SQWdBaEJpQUhFRHdnQ0NBR0VFQWdDQkEvRUFBTElBdEJBV29pQ1NBQ1R3UkFJQWRCd01nRFFhVFVBUkEzUVo3U0FSQTNRZStpQWhBM1FkQUFFRDVCOXFJQ0VEZEI0TlFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQmlnQ0FDZ0NIQ0VDSUFaQkNpQUNRVDl4UVlvQmFoRUNBQ0VDSUFjUVBDQUlJQUlRUUNBSUVEOFFBQXNnQ2lBQlNTQUtRWDlLY1VVRVFDQUhRY0RJQTBINDFBRVFOMEdlMGdFUU4wSHZvZ0lRTjBIUkFCQStRZmFpQWhBM1FhWFZBUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ1lvQWdBb0Fod2hBaUFHUVFvZ0FrRS9jVUdLQVdvUkFnQWhBaUFIRUR3Z0NDQUNFRUFnQ0JBL0VBQUxJQXBCQVdvaUNDQUJUd1JBSUFkQndNZ0RRYmJWQVJBM1FaN1NBUkEzUWUraUFoQTNRZElBRUQ1QjlxSUNFRGRCOGRVQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0NMSWdCSk1pRGlBSnNpQUZreUlNbENJTlF3QUFBQUJnUlNBTnUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRWW5XQVJBM1FaN1NBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0JDQUtzcE1pRHlBTWxDSU1Rd0FBQUFCZ1JTQU11MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWNYV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWQ4QUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEaUFGSUF1eWt5SUVsQ0lGUXdBQUFBQmdSU0FGdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFmVFdBUkEzUVo3U0FSQTNRZStpQWhBM1FlQUFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnRHlBRWxDSUVRd0FBQUFCZ1JTQUV1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWFQWEFSQTNRWjdTQVJBM1FlK2lBaEEzUWVFQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dBeUFBSUFNZ0MyeHFJZ0ZxSVFBZ0JDQUZJQTBnREpLU2tydEVjYXlMMjJnQThEOWxCRUFnRFNBS1FRSjBJQUZxS2dJQWxDQU1JQWhCQW5RZ0FXb3FBZ0NVa2lBRklBcEJBblFnQUdvcUFnQ1VraUFFSUFoQkFuUWdBR29xQWdDVWtpRVFJQWNrQmlBUUR3VWdCMEhBeUFOQjB0Y0JFRGRCbnRJQkVEZEI3NklDRURkQjRnQVFQa0gyb2dJUU4wRzQxZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQnhBOElBSWdBQkJBSUFJUVB4QUFDME1BQUFBQUM3OEpBZzEvQlgwakJpRUtJd1pCSUdva0JpQUtRUnhxSVFjZ0NrRVlhaUVMSUFwQkZHb2hEQ0FLUVJCcUlROGdDa0VNYWlFUUlBcEJDR29oRVNBS1FRUnFJUklnQlVFQVNnUkFJQVZCQVdvZ0F5Z0NCRWtFUUNBR1FYOXFJUTRnQmtFQVNnUkFJQVpCQVdvaUV5QURLQUlJU1FSQUlBTW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEhrendFUU4wSE95d0VRTjBIdm9nSVFOMEhwQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ1FnQWlnQ0JFRUJka2NFUUNBSFFjRElBMEc3MEFFUU4wSE95d0VRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBTW9BZ2dnQWlnQ0NFRUJka2NFUUNBSFFjRElBMEgwMEFFUU4wSE95d0VRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVozUUFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklna29BZ0FvQWh3aERTQUpRUW9nRFVFL2NVR0tBV29SQWdBaENTQUhFRHdnQ0NBSkVFQWdDQkEvRUFBTElBUW9BZ2dnQWlnQ0NFRUJka1lFUUNBRElBWVFVQ0FGUVFKMGFpRUlJQVFnRGhCUUlBVkJBblJxSVE0Z0JDQUdFRkFnQlVFQ2RHb2hCeUFFSUJNUVVDQUZRUUowYWlFRUlBc2dEQ0FGc2lBR3NrRUJFT0VCSUE4Z0VDQVJJQklnQ2lBRElBVWdCaERKQWlBQ0lBc3FBZ0FnRENvQ0FCQk5JUlFnQnlvQ0FDSVhJQlFnQ0NvQ0FFTUFBQUJBbEpPU0lSZ2dBaUFMS2dJQVF3QUFBTUNTSUF3cUFnQVFUU0FIS2dJRWtpQUNJQXNxQWdCREFBQUFRSklnRENvQ0FCQk5JQWRCZkdvcUFnQ1NrME1BQUlBK2xDRVZJQUlnQ3lvQ0FDQU1LZ0lBUXdBQUFNQ1NFRTBnQkNvQ0FKSWdBaUFMS2dJQUlBd3FBZ0JEQUFBQVFKSVFUU0FPS2dJQWtwTkRBQUNBUHBRaEZpQUFJQkVvQWdBMkFnQWdBQ0FLS0FJQUlnSTJBZ1FnQUNBVk9BSUlJQUFnQWpZQ0RDQUFJQklvQWdBMkFoQWdBQ0FXT0FJVUlBQWdGVGdDR0NBQUlCWTRBaHdnQUNBWU9BSWdJQUVnRHlvQ0FJdzRBZ0FnQVNBUUtnSUFqRGdDQkNBQklCY2dGSk5EQUFBQVA1U01PQUlJSUFva0JnOEZJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1Fld0NFRDVCOXFJQ0VEZEJuZEFCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMQ3lBSFFjRElBMEdaendFUU4wSE95d0VRTjBIdm9nSVFOMEhvQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUhRY0RJQTBIUHpnRVFOMEhPeXdFUU4wSHZvZ0lRTjBIbkFoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUx6dzBDRG44RmZTTUdJUXNqQmtFZ2FpUUdJQXRCSEdvaEJ5QUxRUmhxSVEwZ0MwRVVhaUVNSUF0QkVHb2hFU0FMUVF4cUlSSWdDMEVJYWlFVElBdEJCR29oRkNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRGlBR1FRQktCRUFnQmtFQmFpSVBJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRWjhERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0JDZ0NCQ0FDS0FJRVFRRjJSd1JBSUFkQndNZ0RRYnZRQVJBM1FjN0xBUkEzUWUraUFoQTNRYUFERUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNpZ0NBQ2dDSENFSklBcEJDaUFKUVQ5eFFZb0JhaEVDQUNFS0lBY1FQQ0FJSUFvUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1FhRURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDZ0NBRUYwYWlnQ0FDQUlhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0NDQUNLQUlJUVFGMlJ3UkFJQWRCd01nRFFhL1JBUkEzUWM3TEFSQTNRZStpQWhBM1FhSURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlBT0VGQWhDQ0FDSUFZUVVDRU9JQUlnRHhCUUlROGdBeUFHRUZBaENpQU5JQXdnQmJJZ0JySkJBUkRMQWlBTktnSUFJaFZEQUFBQXY1SkRBQUFBQUdCRkJFQWdCMEhBeUFOQjNOa0JFRGRCenNzQkVEZEI3NklDRURkQnJBTVFQa0gyb2dJUU4wR0YyZ0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlKS0FJQUtBSWNJUkFnQ1VFS0lCQkJQM0ZCaWdGcUVRSUFJUWtnQnhBOElBSWdDUkJBSUFJUVB4QUFDeUFNS2dJQVF3QUFBTCtTUXdBQUFBQmdSUVJBSUFkQndNZ0RRYnZhQVJBM1FjN0xBUkEzUWUraUFoQTNRYTBERUQ1QjlxSUNFRGRCNU5vQkVEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFUUlBbEJDaUFRUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FDSUFrUVFDQUNFRDhRQUFzZ0ZVTUFBQUEva2lBRUtBSUVzMTFGQkVBZ0IwSEF5QU5CbXRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcmdNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QUZRUUowSUFocUlRZ2dCVUVDZENBT2FpRUNJQVZCQW5RZ0Qyb2hEaUFGUVFKMElBcHFJUThnRENvQ0FFTUFBQUEva2lBRUtBSUlzMTBFUUNBUklCSWdFeUFVSUFzZ0F5QUZJQVlReVFJZ0JDQU5LZ0lBSUF3cUFnQVFUU0lYSUFJcUFnQWlHQ0FQS2dJQVF3QUFBRUNVazVJaEdTQUNRWHhxS2dJQUlBUWdEU29DQUVNQUFBQS9raUFNS2dJQUVFMlNJQUlxQWdRZ0JDQU5LZ0lBUXdBQUFMK1NJQXdxQWdBUVRaS1RRd0FBZ0Q2VUlSVWdDQ29DQUNBRUlBMHFBZ0FnRENvQ0FFTUFBQUEva2hCTmtpQU9LZ0lBSUFRZ0RTb0NBQ0FNS2dJQVF3QUFBTCtTRUUyU2swTUFBSUErbENFV0lBQWdFeWdDQURZQ0FDQUFJQXNvQWdBaUFqWUNCQ0FBSUJVNEFnZ2dBQ0FDTmdJTUlBQWdGQ2dDQURZQ0VDQUFJQlk0QWhRZ0FDQVZPQUlZSUFBZ0ZqZ0NIQ0FBSUJrNEFpQWdBU0FSS2dJQWpEZ0NBQ0FCSUJJcUFnQ01PQUlFSUFFZ0Z5QVlrME1BQUFBL2xJdzRBZ2dnQ3lRR0R3VWdCMEhBeUFOQnpkc0JFRGRCenNzQkVEZEI3NklDRURkQnJ3TVFQa0gyb2dJUU4wSGsyZ0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NMSUFkQndNZ0RRWm5QQVJBM1FjN0xBUkEzUWUraUFoQTNRWjRERUQ1QjlxSUNFRGRCMU04QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTElBZEJ3TWdEUWMvT0FSQTNRYzdMQVJBM1FlK2lBaEEzUVowREVENUI5cUlDRURkQmljOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBdjhDQUlNZndWOUl3WWhDaU1HUVNCcUpBWWdDa0VVYWlFSElBcEJFR29oRFNBS1FReHFJUTRnQ2tFSWFpRVBJQXBCQkdvaEVDQUZRUUJLQkVBZ0JVRUJhaUFES0FJRVNRUkFJQVpCZjJvaERDQUdRUUJLQkVBZ0JrRUJhaUlSSUFNb0FnaEpCRUFnQWlnQ0JDQURLQUlFUndSQUlBZEJ3TWdEUWZMWUFSQTNRYzdMQVJBM1FlK2lBaEEzUWJjQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQkNBRUtBSUVSd1JBSUFkQndNZ0RRWUhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYmdDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NDQ0FES0FJSVJ3UkFJQWRCd01nRFFhYlpBUkEzUWM3TEFSQTNRZStpQWhBM1Fia0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQUVLQUlJUmdSQUlBSWdEQkJRSUFWQkFuUnFJUklnQWlBR0VGQWdCVUVDZEdvaEJ5QUNJQkVRVUNBRlFRSjBhaUVKSUFNZ0JoQlFJQVZCQW5ScUlRc2dCQ0FNRUZBZ0JVRUNkR29oRENBRUlBWVFVQ0FGUVFKMGFpRUNJQVFnRVJCUUlBVkJBblJxSVFRZ0RTQU9JQThnRUNBS0lBTWdCU0FHRU1rQ0lBSXFBZ0FpRlNBSEtnSUFJaFlnQ3lvQ0FFTUFBQUJBbEpPU0lSY2dCMEY4YWlvQ0FDQUhLZ0lFa3lBQ0tnSUVJQUpCZkdvcUFnQ1Rra01BQUlBK2xDRVRJQklxQWdBZ0NTb0NBSk1nQkNvQ0FDQU1LZ0lBazVKREFBQ0FQcFFoRkNBQUlBOG9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FUT0FJSUlBQWdBallDRENBQUlCQW9BZ0EyQWhBZ0FDQVVPQUlVSUFBZ0V6Z0NHQ0FBSUJRNEFod2dBQ0FYT0FJZ0lBRWdEU29DQUl3NEFnQWdBU0FPS2dJQWpEZ0NCQ0FCSUJVZ0ZwTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWJYY0FSQTNRYzdMQVJBM1FlK2lBaEEzUWJvQ0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wRzJBaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEcxQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTFdnRUNmU0FBS2dJZ0lBQXFBZ1FRYVpRaEFTQUFLZ0lFUXdBQUFFQ1VJQUFxQWdnaUFwUWdBQ29DRkpRZ0FaTWdBQ29DRUNBQ0VHbVVreUFBS2dJQUlBQXFBaFFRYVpTVElBQXFBZ0FnQUNvQ0VKUWdBQ29DSUpTU0M4d0JBUUovSXdZaEFpTUdRUkJxSkFZZ0FBUi9JQUVnQUNnQ0JFWUVmMEVBQlFKL0lBRkJEMDhFUUNBQ0lBRTJBZ0JCQUVFRFFmR21BU0FDRUQxQmZ3d0JDeUFBSUFFMkFnUWdBQ0FCRUpVR05nSUlJQUFvQWhnaEEwR2c0QUVnQVVILy93Rnhka0VCY1FSQUFrQUNRQUpBSUFNT0JBQUNBZ0VDQ3lBQVFRRTJBaGhCQUF3REN5QUFRUVEyQWhoQkFBd0NDd1VDUUFKQUFrQWdBMEVCYXc0RUFBSUNBUUlMSUFCQkJEWUNHRUVBREFNTElBQkJBellDR0VFQURBSUxDMEVBQ3dzRlFYOExHaUFDSkFZTGVnQWdBQ0FCS2dJQUlBSXFBZ0NVSUFFcUFnUWdBaW9DQkpTU0lBRXFBZ2dnQWlvQ0NKU1NPQUlBSUFBZ0FTb0NEQ0FDS2dJQWxDQUJLZ0lRSUFJcUFnU1VraUFCS2dJVUlBSXFBZ2lVa2pnQ0JDQUFJQUVxQWhnZ0Fpb0NBSlFnQVNvQ0hDQUNLZ0lFbEpJZ0FTb0NJQ0FDS2dJSWxKSTRBZ2dMNndFQkFYMGdBUkRpQ0NJQ2kwTUFBQUEwWHdSL1FRQUZJQUJEQUFDQVB5QUNsU0lDSUFFcUFoQWdBU29DRkNBQktnSWdFTW9DbERnQ0FDQUFJQUlnQVNvQ0NDQUJLZ0lFSUFFcUFpQWdBU29DSEJDQUFaUTRBZ1FnQUNBQ0lBRXFBZ1FnQVNvQ0NDQUJLZ0lRSUFFcUFoUVFnQUdVT0FJSUlBQWdBaUFCS2dJQUlBRXFBZ2dnQVNvQ0lCREtBcFE0QWhBZ0FDQUNJQUVxQWdnZ0FTb0NBQ0FCS2dJVUlBRXFBZ3dRZ0FHVU9BSVVJQUFnQWlBQktnSUFJQUVxQWdRZ0FTb0NFQkRLQXBRNEFpQWdBQ0FBS0FJRU5nSU1JQUFnQUNnQ0NEWUNHQ0FBSUFBb0FoUTJBaHhCQVFzTFBBRUJmU0FCS2dJQUlBRXFBaENVSUFFcUFnUVFhWk1pQWtNQUFBQUFXd1IvUVFBRklBQWdBU29DQUNBQktnSVFraEJwSUFLVk9BSUFRUUVMQ3k4QkFuOGpCaUVESXdaQk1Hb2tCaUFESUFFUTVRZ0VmeUFBSUFNZ0FoRGtDRUVCQlVFQUN5RUVJQU1rQmlBRUM2a0ZBUVIvSXdZaEJ5TUdRUkJxSkFZZ0JDZ0NCQ0FDS0FJRUlBTW9BZ1JHUmdSQUlBUW9BZ2dnQWlnQ0NDQURLQUlJUmtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9FSUJTQUhRY0RJQTBHSHl3RVFOMEhPeXdFUU4wSHZvZ0lRTjBIU0F4QStRZmFpQWhBM1FkVE1BUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxCUUpBSUFJb0FnUWdBeWdDQkVZRVFDQUVLQUlFSUFNb0FnUkJBWFpHQkVBZ0FpZ0NDQ0FES0FJSVJnUkFJQVFvQWdnZ0F5Z0NDRUVCZGtZRVFDQUFJQUVnQWlBRElBUWdCU0FHRU9BSURBUUxDeUFIUWNESUEwSDB6QUVRTjBIT3l3RVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZFRNQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQ2lBSlFRb2dDa0UvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMQ3lBREtBSUVJQUlvQWdSQkFYWkdCRUFnQXlnQ0JDQUVLQUlFUmdSQUlBTW9BZ1FnQWlnQ0JFRUJka1lFUUNBREtBSUVJQVFvQWdSR0JFQWdBQ0FCSUFJZ0F5QUVJQVVnQmhEZkNBd0VDd3NnQjBIQXlBTkIxYzBCRURkQnpzc0JFRGRCNzZJQ0VEZEIyQU1RUGtIMm9nSVFOMEhVekFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0IwSEF5QU5CNG9FQ0VEZEJ6c3NCRURkQjc2SUNFRGRCMndNUVBrSDJvZ0lRTjBHeXpnRVFOeUlBS0FJQVFYUnFLQUlBSUFCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c2dCeVFHUVFFTFBRRUNmeUFBS0FJRUlBQW9BZ0FpQTJ0QkpCQTVJZ0lnQVVrRVFDQUFJQUVnQW1zUTNRZ0ZJQUlnQVVzRVFDQUFJQUZCSkd3Z0EybzJBZ1FMQ3dzNEFDQUFCSDhnQVVRQUFBQUFBQUFBQUdVZ0FVUUFBQUFBQUFEd1AyWnlCSDlCZndVZ0FFR1FoNjhEYWlBQk9RTUFRUUFMQlVGL0N3dk1BUUlGZndKOUlBRW9BZ0FpQkVGNGFpRUdJQUFvQWdBaEFnTkFJQUlnQmtjRVFDQUNJQVJHQkVBZ0JDRUJCUUpBSUFJaEFRTkFJQUVoQlFOQUFrQWdCQ0FGUVFocUlnTkdEUU1nQVNvQ0FDSUhJQU1xQWdBaUNGME5BQ0FJSUFkZFJRUkFJQUVvQWdRZ0JTZ0NERWtOQVFzZ0F5RUZEQUVMQ3lBRElRRU1BQUFMQUFzTElBRWdBa2NFUUNBQ0tBSUFJUU1nQWlBQktBSUFOZ0lBSUFFZ0F6WUNBQ0FDS0FJRUlRTWdBaUFCS0FJRU5nSUVJQUVnQXpZQ0JBc2dBQ0FDUVFocUlnSTJBZ0FNQVFzTEM5ME1BaEYvQTMwakJpRUlJd1pCTUdva0JpQUlRU2hxSVFzZ0NFRWthaUVNSUFoQklHb2hFU0FCS0FJQUlRMENRQUpBQWtBQ1FBTkFBa0FnQWlnQ0FDSU9RWGhxSVFZZ0RrRjhhaUVLSUEwZ0RrWU5BQ0FHSVFjZ0FDZ0NBQ0lCSVFRQ2Z3SkFBa0FDUUFOQUFrQUNRQ0FPSUFScklnTkJBM1VpQ1E0RUJ3Y0pDZ0FMSUFOQndBQklEUW9nQ0NBRU5nSUlJQWdnQ1VFQmRpSURRUU4wSUFGcUlnazJBZ1FnQ0NBSE5nSUFJQkVnQ0NnQ0NEWUNBQ0FNSUFnb0FnUTJBZ0FnQ3lBSUtBSUFOZ0lBSUJFZ0RDQUxFUElESVE4Z0NTb0NBQ0lVSUFRcUFnQWlGVjBOQXlBRFFRTjBJQUZxSVJJZ0ZTQVVYVVVFUUNBU0tBSUVJQVFvQWdSSkRRUUxJQVloQXdOQUlBTkJlR29pQlNBRVJ3UkFJQlFnQlNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnRWlnQ0JDQURRWHhxS0FJQUloQkpEUVVMSUFVaEF3d0JDd3NnQkVFSWFpSUZJUVFnQmlvQ0FDSVZJQUVxQWdBaUZGMUZCRUFDUUNBVUlCVmRCRUFnQVVFRWFpRURCU0FLS0FJQUlBRkJCR29pQXlnQ0FFa05BUXNDZndKQUEwQUNRQ0FGSUFaR0RRd2dCU29DQUNJV0lCUmREUUFnRkNBV1hVVUVRQ0FGS0FJRUlnUWdBeWdDQUVrTkF3c2dCVUVJYWlFRkRBRUxDeUFGS0FJRUlRUWdCVUVFYWd3QkN5QUZRUVJxQ3lFVElBVWdGVGdDQUNBR0lCWTRBZ0FnRXlBS0tBSUFOZ0lBSUFvZ0JEWUNBQ0FGUVFocUlRUUxDeUFFSUFaR0RRWWdBU0VKSUFjaEFRTkFJQWtxQWdBaEZBTkFBa0FnQkNvQ0FDSVZJQlJkRFFBZ0ZDQVZYVVVFUUNBRUtBSUVJQWtvQWdSSkRRRUxJQVJCQ0dvaEJBd0JDd3NnQkNFRElBRWhCQU5BQWtBZ0JFRjRhaUlCS2dJQUloVWdGRjFGQkVBZ0ZDQVZYUTBCSUFSQmZHb29BZ0FnQ1NnQ0JFOE5BUXNnQVNFRURBRUxDeUFCSUFOTEJFQWdBeWdDQUNFRklBTWdGVGdDQUNBQklBVTJBZ0FnQXlnQ0JDRUZJQU1nQkVGOGFpSUVLQUlBTmdJRUlBUWdCVFlDQUNBRFFRaHFJUVFNQVFzTElBMGdBeUlCU1EwR0lBQWdBVFlDQUNBQklRUU1BUXNMSUFOQmZHb2lBU0VESUFFb0FnQWhFQXdDQ3lBRFFYeHFJUU1NQVFzZ0R5RURJQVlNQVFzZ0JDZ0NBQ0VCSUFRZ0ZUZ0NBQ0FGSUFFMkFnQWdCQ2dDQkNFQklBUWdFRFlDQkNBRElBRTJBZ0FnRDBFQmFpRURJQVVMSVFFZ0JFRUlhaUlISVFZZ0J5QUJTUVIvSUFNaEJTQUdJUU1EUUNBSktnSUFJUlFEUUFKQUlCUWdBeW9DQUNJVlhVVUVRQ0FWSUJSZERRRWdDU2dDQkNBREtBSUVUdzBCQ3lBRFFRaHFJUU1NQVFzTElBTWhCeUFCSVFNRFFBSkFJQlFnQTBGNGFpSUJLZ0lBSWhWZERRQWdGU0FVWFVVRVFDQUpLQUlFSUFOQmZHb29BZ0JKRFFFTElBRWhBd3dCQ3dzZ0FTQUhTd1JBSUFjb0FnQWhCaUFISUJVNEFnQWdBU0FHTmdJQUlBY29BZ1FoQmlBSElBTkJmR29pQXlnQ0FEWUNCQ0FESUFZMkFnQWdCVUVCYWlFRklBRWdDU0FISUFsR0d5RUpJQWRCQ0dvaEF3d0JDd3NnQnlFR0lBVUZJQU1MSVFFZ0J5QUpSd1JBQWtBZ0J5b0NBQ0lWSUFrcUFnQWlGRjBFUUNBSlFRUnFJUVVnQjBFRWFpRVBJQWtvQWdRaEF5QUhLQUlFSVJBRklCUWdGVjBOQVNBSFFRUnFJZzhvQWdBaUVDQUpRUVJxSWdVb0FnQWlBMDhOQVFzZ0JpZ0NBQ0VLSUFZZ0ZEZ0NBQ0FKSUFvMkFnQWdEeUFETmdJQUlBVWdFRFlDQUNBQlFRRnFJUUVMQ3lBSElBMUdEUUFnQmlFRElBRkZCRUFDUUNBTklBZEpCRUFEUUNBSElBUkJDR29pQVVZTkJDQUVLZ0lBSWhRZ0FTb0NBQ0lWWFEwQ0lCVWdGRjFGQkVBZ0JDZ0NCQ0FFS0FJTVNRMERDeUFCSVFRTUFBQUxBQVVnQXlFQkEwQWdEaUFCUVFocUlnTkdEUVFnQVNvQ0FDSVVJQU1xQWdBaUZWME5BaUFWSUJSZFJRUkFJQUVvQWdRZ0FTZ0NERWtOQXdzZ0F5RUJEQUFBQ3dBTEFBc0xJQTBnQjBrRVFDQUNJQVkyQWdBRklBQWdCMEVJYWpZQ0FBc01BUXNMREFNTElBSWdCallDQUNBQktnSUFJaFFnQmlvQ0FDSVZYUVJBSUFGQkJHb2hBeUFLS0FJQUlRQWdBU2dDQkNFQ0JTQVZJQlJkRFFNZ0FVRUVhaUlES0FJQUlnSWdDaWdDQUNJQVR3MERDeUFCSUJVNEFnQWdCaUFVT0FJQUlBTWdBRFlDQUNBS0lBSTJBZ0FNQWdzZ0NDQUVOZ0ljSUFnZ0JFRUlhallDR0NBQ0lBWTJBZ0FnQ0NBR05nSVVJQkVnQ0NnQ0hEWUNBQ0FNSUFnb0FoZzJBZ0FnQ3lBSUtBSVVOZ0lBSUJFZ0RDQUxFUElER2d3QkN5QUlJQVEyQWhBZ0NDQU9OZ0lNSUF3Z0NDZ0NFRFlDQUNBTElBZ29BZ3cyQWdBZ0RDQUxFT3NJQ3lBSUpBWUxwZ2NDQ0g4RGZTTUdJUWdqQmtFd2FpUUdJQWhCQ0dvaENTQUlRU0JxSVEwZ0NFRWNhaUVPSUFNZ0JHd2hDZ0o5SUFXeUlBT3lsWTBoRWlBR3NpQUVzcFdOSVJFZ0FTQUJLQUlBTmdJRUlBRWdCeERSQWlBQUtBSUVJQUFvQWdBaUEydEJEQkE1SVF0QkFDRUZBMEFnQlNBTFJ3UkFJQVZCREd3Z0Eyb29BZ1FnQlVFTWJDQURhaWdDQUNJRWEwRU1FRGtoREVFQUlRWURRQ0FHSUF4SEJFQWdCa0VNYkNBRWFpQUdRUXhzSUFScUtBSUFOZ0lFSUFaQkFXb2hCZ3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUhJQW9RT1NFTElCSUxFRU95SVJBZ0VSQkRzaUVSUVFBaEJBTkFJQVFnQWlnQ0JDQUNLQUlBSWdOclFTUVFPVWtFUUNBRVFTUnNJQU5xS2dJQUlCQ1ZFRU1oQmlBRVFTUnNJQU5xS2dJRUlCR1ZFRU1oQlNBQUtBSUFJQVpCREd4cUtBSUFJUVlnQ1NBRVFTUnNJQU5xS2dJWWl6Z0NBQ0FKSUFRMkFnUWdCVUVNYkNBR2FpSURLQUlFSWdjZ0JVRU1iQ0FHYWlnQ0NFa0VRQ0FISUFrcEF3QTNBZ0FnQXlBREtBSUVRUWhxTmdJRUJTQUZRUXhzSUFacUlBa1FsZ0VMSUFSQkFXb2hCQXdCQ3d0QkFDRUdJQUFvQWdBaUJTSUVJUU1DUUFOQUlBWWdBQ2dDQkNBRmEwRU1FRGxKQkVCQkFDRUZBMEFnQlNBR1FReHNJQVJxS0FJRUlBWkJER3dnQkdvb0FnQWlCMnRCREJBNVNRUkFJQXNnQlVFTWJDQUhhaUlLS0FJRUlnOGdCVUVNYkNBSGFpSU1LQUlBSWdSclFRTjFJZ2NnQ3lBSFNSc2lCd1JBSUFnZ0JEWUNHQ0FJSUFkQkEzUWdCR28yQWhRZ0NDQVBOZ0lRSUE0Z0NDZ0NHRFlDQUNBTklBZ29BaFEyQWdBZ0NTQUlLQUlRTmdJQUlBNGdEU0FKRU93SUlBd29BZ0FpQkNFRElBY2dDaWdDQkNBRWEwRURkVXNFUUNBREtnSUFJQWRCQTNRZ0Eyb3FBZ0JnUlEwR0MwRUFJUW9EUUNBS0lBZEpCRUFnQWlnQ0FDQU1LQUlBSUFwQkEzUnFLQUlFUVNSc2FpRURJQUVvQWdRaUJDQUJLQUlJUmdSQUlBRWdBeERpQVFVZ0JDQURLUUlBTndJQUlBUWdBeWtDQ0RjQ0NDQUVJQU1wQWhBM0FoQWdCQ0FES1FJWU53SVlJQVFnQXlnQ0lEWUNJQ0FCSUFFb0FnUkJKR28yQWdRTElBcEJBV29oQ2d3QkN3c2dBQ2dDQUNFREN5QUZRUUZxSVFVZ0F5RUVEQUVMQ3lBR1FRRnFJUVlnQkNFRkRBRUxDeUFJSkFZUEN5QUpRY0RJQTBIcHlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBHVkJSQStRZmFpQWhBM1FhUEpBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFKUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FKRUR3Z0FDQUJFRUFnQUJBL0VBQUxKZ0FnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBRUdZaDY4RGFpZ0NBRFlDQUVFQUJVRi9DeG9MUkFFQ2ZVTUFBSUEvUVFFZ0JuU3lsU0lIUXdBQUFEK1VRd0FBQUwrU0lRZ2dBQ0FISUFPVUlBaVNPQUlBSUFFZ0J5QUVsQ0FJa2pnQ0FDQUNJQWNnQlpRNEFnQUwzUVFDREg4QmZTTUdJUUlqQmtGQWF5UUdJQUpCTUdvaENpQUNRU3hxSVFjZ0FrRW9haUVJSUFKQkpHb2hDeUFBTEFBY0JFQWdBQ0FBUWNnQWFpSUpLQUlBTmdKTUlBa2dBRUZBYXlJTUtBSUFJQUJCUEdvaUJTZ0NBR3NRMFFJZ0FFSGNBR29pRFNBQkVNSUlBMEFnQlNnQ0FDSUdJUU1nQkNBTUtBSUFJQVpyUVNRUU9Va0VRQ0FISUFnZ0N5QUVRU1JzSUFOcUtnSUFJQVJCSkd3Z0Eyb3FBZ1FnQkVFa2JDQURhaW9DSENBRVFTUnNJQU5xS0FJTUVPOElJQWNnQnlvQ0FDQUJJQVVvQWdBZ0JFRWtiR29vQWd4QkFCQ3NBU2dDQkVGL2FyTVE0d0U0QWdBZ0NDQUlLZ0lBSUFFZ0JTZ0NBQ0FFUVNSc2FpZ0NERUVBRUt3QktBSUlRWDlxc3hEakFTSU9PQUlBSUEwZ0FDZ0NrQUVnQ2lBRktBSUFJZ01nQkVFa2JHb29BZ3dnQkVFa2JDQURhaWdDRUNBSEtnSUFJQTRnQ3lvQ0FCREJDRUVBSVFZRFFDQUdJQW9vQWdCSUJFQWdBaUFGS0FJQUlBUkJKR3hxSWdNcEFnQTNBZ0FnQWlBREtRSUlOd0lJSUFJZ0F5a0NFRGNDRUNBQ0lBTXBBaGczQWhnZ0FpQURLQUlnTmdJZ0lBSWdBQ2dDa0FFZ0JrRUNkR29vQWdBMkFnZ2dBQ2dDVENJRElBQW9BbEJHQkVBZ0NTQUNFT0lCQlNBRElBSXBBZ0EzQWdBZ0F5QUNLUUlJTndJSUlBTWdBaWtDRURjQ0VDQURJQUlwQWhnM0FoZ2dBeUFDS0FJZ05nSWdJQUFnQUNnQ1RFRWthallDVEFzZ0JrRUJhaUVHREFFTEN5QUVRUUZxSVFRTUFRc0xJQVVnQ1JDSkFnVUNRQ0FBUVVCcktBSUFJQUFvQWp3aUFHdEJKQkE1SVFFRFFDQUJJQVZHRFFFZ0JVRWtiQ0FBYWtNQUFBQUFPQUlJSUFWQkFXb2hCUXdBQUFzQUN3c2dBaVFHQzVJRUFRdC9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUJJQUJCUUdzaUNDZ0NBQ0FBUVR4cUlnUW9BZ0JyUVNRUU9TQUFLQUpVSWdsTEJFQWdBQ2dDRkNBQVFSQnFJZ29vQWdBaUJtdEJEQkE1SWdzZ0FDZ0NDRWNFUUNBQlFjRElBMEdCeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhHQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBWW9BZ1FnQmlnQ0FHdEJEQkE1SWdZZ0FDZ0NERWNFUUNBQlFjRElBMEhTeHdFUU4wSEF2QUVRTjBIdm9nSVFOMEhIQXhBK1FmYWlBaEEzUWJqSEFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUJRWURPQXhBNklnVW9BZ0FvQWh3aEJ5QUZRUW9nQjBFL2NVR0tBV29SQWdBaEJTQUJFRHdnQWlBRkVFQWdBaEEvRUFBTElBTkJBRFlDQUNBRFFRQTJBZ1FnQTBFQU5nSUlJQW9nQXlBRUlBc2dCaUFBS0FJQUlBQW9BZ1FnQ1JEdENDQUVJQU1RaVFJZ0NDZ0NBQ0FFS0FJQWEwRWtFRGtnQUNnQ1ZFc0VRQ0FCUWNESUEwR015QUVRTjBIQXZBRVFOMEh2b2dJUU4wSFZBeEErUWZhaUFoQTNRZEhJQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdRb0FnQW9BaHdoQWlBRVFRb2dBa0UvY1VHS0FXb1JBZ0FoQkNBQkVEd2dBQ0FFRUVBZ0FCQS9FQUFGSUFNUVZRc0xJQU1rQmd1YUJ3SVZmd1I5SXdZaEJTTUdRZEFBYWlRR0lBVkJ4QUJxSVFrZ0JVRTRhaUVNSUFWQkxHb2hCeUFGUVNocUlRMGdCVUVrYWlFT0lBQXFBalFRYVNFWUlBQXFBamhEQUFDQVA1SVFhU0FBS2dJNGxTRVpJQUJCUEdvaER5QUFRVUJySVJVZ0FFRWdhaUVHQWtBQ1FBSkFBMEFnQWlBVktBSUFJQThvQWdBaUEydEJKQkE1U1FSQUlBSkJKR3dnQTJvaUVpZ0NFQ0FHS0FJUVRnMENJQklvQWhBZ0JpZ0NFQ0FDUVNSc0lBTnFJaEFvQWd4c2FpRUtJQTBnRGlBQ1FTUnNJQU5xSWdncUFnQWdBa0VrYkNBRGFrRUVhaUlUS2dJQUlCQW9BZ3dReXdJZ0RTb0NBRU1BQUFBL2toQkRJUXNnRGlvQ0FFTUFBQUEva2hCRElSRWdCU0FNSUFZb0FnQWdDa0YvYWtFRmRHb2dCaWdDQUNBS1FRVjBhaUlVSUFZb0FnQWdDa0VCYWtFRmRHb2dDeUFSRU9nSUJFQWdCeUFGSUF3UTV3Z0VRQ0FIS2dJQUVHa2dCeW9DQkJCcGtpQUFLZ0pZWGtVRVFDQUNRU1JzSUFOcUloWkJJR29nQlJEbUNBUkFJQUpCSkd3Z0Eyb2lDaW9DR0NBVUlCRVFVQ0FMUVFKMGFpb0NBRndOQnlBS0lCUWdFUkJRSUF0QkFuUnFLZ0lBSUF3cUFnQWdCeW9DQUNJWGxDQU1LZ0lFSUFjcUFnUWlHcFNTSUF3cUFnZ2dCeW9DQ0pTU2t6Z0NHQ0FJSUJNZ0Z5QU5LZ0lBa2lBYUlBNHFBZ0NTSUJBb0Fnd1E0UUVnQWtFa2JDQURhaUlMSUFjcUFnZ2dFaWdDRUxLU0loYzRBaFFnQ3lBWElBWW9BaEN5RU9NQk9BSVVJQllxQWlDTElCbGRCSDhnQ2lvQ0dCQnBJQmhnQkg4Z0NDb0NBQ0lYUXdBQUFBQmdCSDhnRnlBR0tBSUFLQUlFczEwRWZ5QVRLZ0lBSWhkREFBQUFBR0FFZnlBWElBWW9BZ0FvQWdpelhRUi9JQUpCSkd3Z0Eyb2dBU0FRS0FJTUlBc3FBaFFRaHdJNEFod2dEeWdDQUNBRVFTUnNhaUlESUFncEFnQTNBZ0FnQXlBSUtRSUlOd0lJSUFNZ0NDa0NFRGNDRUNBRElBZ3BBaGczQWhnZ0F5QUlLQUlnTmdJZ0lBUkJBV29GSUFRTEJTQUVDd1VnQkFzRklBUUxCU0FFQ3dVZ0JBc2hCQXNMQ3dzZ0FrRUJhaUVDREFFTEN5QVBJQVFRNlFnZ0JTUUdEd3NnQ1VIQXlBTkJ0c2tCRURkQndMd0JFRGRCNzZJQ0VEZEI2UU1RUGtIMm9nSVFOMEgreVFFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzTUFRc2dDVUhBeUFOQm84b0JFRGRCd0x3QkVEZEI3NklDRURkQmpnUVFQa0gyb2dJUU4wSGN5Z0VRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNMSUFsQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFrUVBDQUFJQUVRUUNBQUVEOFFBQXVNSkFJY2Z3cDlJd1loQlNNR1FUQnFKQVlnQUVGQWF5SVJJQUJCUEdvaUdDZ0NBRFlDQUNBQUtnSTBFR2toSlNBQVFTQnFJUmtnQlVFRWFpRWFJQVZCQkdvaEd5QUZRUVJxSVJ4QkFTRURBa0FDUUFKQUFrQUNRQUpBQWtBRFFDQURJQmtvQWdRZ0dTZ0NBR3RCQlhWQmYycEpCRUFnQWlBRFFYOXFFTWdDSVFjZ0FpQURFTWdDSVFvZ0FpQURRUUZxSWgwUXlBSWhDQ0FDSUFNUTJnZ2hFaUFESUFJb0FoQVFUeUVXQWtBQ1FDQUhLQUlFSUFvb0FnUkhEUUFnQnlnQ0JDQUlLQUlFUncwQUlBY29BZ2dnQ2lnQ0NFY05CQ0FIS0FJSUlBZ29BZ2hIRFFVZ0NpZ0NCRUYvYWlFWElBb29BZ2hCZjJvaEhpQVdzaUVnUVFFaEF3TkFJQU1nSGtrRVFDQUhJQU5CZjJvaUJCQlFJUk1nQnlBREVGQWhDeUFISUFOQkFXb2lGQkJRSVF3Z0NpQUVFRkFoRFNBS0lBTVFVQ0VWSUFvZ0ZCQlFJUTRnQ0NBRUVGQWhEeUFJSUFNUVVDRVFJQWdnRkJCUUlRa2dBN01oSVVFQklRTURRQ0FESUJkSkJFQWdBMEVDZENBVmFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUFKQUFrQWdCQ29DQUNJZklBTkJmMm9pQkVFQ2RDQVRhaW9DQUNJaVhrVU5BQ0FmSUFOQkFuUWdFMm9xQWdCZVJRMEFJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYa1VOQUNBZklBUkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRldvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FWYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFOQkFuUWdEbW9xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUGFpb0NBRjVGRFFBZ0h5QUVRUUowSUJCcUtnSUFYa1VOQUNBZklBTkJBblFnRUdvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FRYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQWxxS2dJQVhrVU5BQ0FmSUFOQkFuUWdDV29xQWdCZVJRMEFJQjhnQmtFQ2RDQUphaW9DQUY1RkRRQU1BUXNnSHlBaVhVVU5BU0FmSUFOQkFuUWdFMm9xQWdCZFJRMEJJQjhnQTBFQmFpSUdRUUowSUJOcUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQTBFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdBMEVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRldvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FWYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFOQkFuUWdEbW9xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Qyb3FBZ0JkUlEwQklCOGdCa0VDZENBUGFpb0NBRjFGRFFFZ0h5QUVRUUowSUJCcUtnSUFYVVVOQVNBZklBTkJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQWxxS2dJQVhVVU5BU0FmSUFOQkFuUWdDV29xQWdCZFJRMEJJQjhnQmtFQ2RDQUphaW9DQUYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQWZPQUlZSUFVZ0FTQVNJQ0FRaHdJNEFod2dCU0FhSUFPeklDRWdFaERoQVNBUktBSUFJZ1FnQUNnQ1JFWUVRQ0FZSUFVUTRnRUZJQVFnQlNrQ0FEY0NBQ0FFSUFVcEFnZzNBZ2dnQkNBRktRSVFOd0lRSUFRZ0JTa0NHRGNDR0NBRUlBVW9BaUEyQWlBZ0VTQVJLQUlBUVNScU5nSUFDd3NMSUFOQkFXb2hBd3dCQ3dzZ0ZDRUREQUVMQ3d3QkN5QUhLQUlFSUFvb0FnUkdCRUFnQ0NnQ0JDQUtLQUlFUVFGMlJnUkFJQWNvQWdnZ0NpZ0NDRWNOQnlBSUtBSUlJQW9vQWdoQkFYWkhEUWdnQ0NnQ0JFRi9hck5EQUFBQXY1SkRBQUFBUUpSREFBQUFQNUtPRUpJQklSTWdDQ2dDQ0VGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJVZ0ZySWhKa0VDSVFNRFFDQURJQlZQRFFNZ0J5QURRWDlxSWdRUVVDRVBJQWNnQXhCUUlRc2dCeUFEUVFGcUloUVFVQ0VNSUFvZ0JCQlFJUTBnQ2lBREVGQWhFQ0FLSUJRUVVDRU9JQU96SWlkREFBQUFQNVJEQUFDQXZwSWlJVU1BQUFDL2tpRWlJQ0ZEQUFBQVA1SWhJMEVDSVFRRFFDQUVJQk5KQkVBZ0JFRUNkQ0FRYWlJREtnSUFFR2tnSlYxRkJFQUNRQ0FFc3lJb1F3QUFBRCtVUXdBQWdMNlNJU0FDUUFKQUlBTXFBZ0FpSHlBRVFYOXFJZ1pCQW5RZ0Qyb2lGeW9DQUY1RkRRQWdIeUFFUVFKMElBOXFLZ0lBWGtVTkFDQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQXRxS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQ1VFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdDVUVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUExcUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQkJxS2dJQVhrVU5BQ0FmSUFsQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQU9haW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhrVU5BQ0FES2dJQUlBZ2dJQ0FpRUUxZVJRMEFJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWGtVTkFDQURLZ0lBSUFnZ0h5QWhFRTFlUlEwQUlBTXFBZ0FnQ0NBZ0lDRVFUVjVGRFFBZ0F5b0NBQ0FJSUNRZ0lSQk5Ya1VOQUNBREtnSUFJQWdnSHlBakVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNNUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSXhCTlhrVU5BQXdCQ3lBREtnSUFJaDhnRnlvQ0FGMUZEUUVnSHlBRVFRSjBJQTlxS2dJQVhVVU5BU0FmSUFSQkFXb2lDVUVDZENBUGFpb0NBRjFGRFFFZ0h5QUdRUUowSUF0cUtnSUFYVVVOQVNBZklBUkJBblFnQzJvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FMYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXhxS2dJQVhVVU5BU0FmSUFSQkFuUWdER29xQWdCZFJRMEJJQjhnQ1VFQ2RDQU1haW9DQUYxRkRRRWdIeUFHUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RXb3FBZ0JkUlEwQklCOGdDVUVDZENBTmFpb0NBRjFGRFFFZ0h5QUdRUUowSUJCcUtnSUFYVVVOQVNBZklBbEJBblFnRUdvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FPYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQTVxS2dJQVhVVU5BU0FmSUFsQkFuUWdEbW9xQWdCZFJRMEJJQjhnQ0NBZ1F3QUFBTCtTSWg4Z0loQk5YVVVOQVNBREtnSUFJQWdnSUNBaUVFMWRSUTBCSUFNcUFnQWdDQ0FnUXdBQUFEK1NJaVFnSWhCTlhVVU5BU0FES2dJQUlBZ2dIeUFoRUUxZFJRMEJJQU1xQWdBZ0NDQWdJQ0VRVFYxRkRRRWdBeW9DQUNBSUlDUWdJUkJOWFVVTkFTQURLZ0lBSUFnZ0h5QWpFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDTVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0l4Qk5YVVVOQVFzZ0JTQVNOZ0lNSUFVZ0ZqWUNFQ0FGSUFNb0FnQTJBaGdnQlNBQklCSWdKaENIQWpnQ0hDQUZJQnNnS0NBbklCSVE0UUVnRVNnQ0FDSURJQUFvQWtSR0JFQWdHQ0FGRU9JQkJTQURJQVVwQWdBM0FnQWdBeUFGS1FJSU53SUlJQU1nQlNrQ0VEY0NFQ0FESUFVcEFoZzNBaGdnQXlBRktBSWdOZ0lnSUJFZ0VTZ0NBRUVrYWpZQ0FBc0xDeUFFUVFGcUlRUU1BUXNMSUJRaEF3d0FBQXNBQ3dzZ0NpZ0NCQ0FIS0FJRVFRRjJSZ1JBSUFnb0FnUWdCeWdDQkVFQmRrWUVRQ0FLS0FJSUlBY29BZ2hCQVhaSERRa2dDQ2dDQ0NBSEtBSUlRUUYyUncwS0lBb29BZ1JCZjJvaEV5QUtLQUlJUVg5cUlSVWdGckloSmtFQklRTURRQ0FESUJWUERRTWdDaUFEUVg5cUlnUVFVQ0VQSUFvZ0F4QlFJUkFnQ2lBRFFRRnFJaFFRVUNFTElBZ2dCQkJRSVF3Z0NDQURFRkFoRFNBSUlCUVFVQ0VPSUFPeklTY2dBMEVCZExOREFBQUFQNUlpSVVNQUFBREFraUVpSUNGREFBQUFRSkloSTBFQklRTURRQ0FESUJOSkJFQWdBMEVDZENBUWFpSUVLZ0lBRUdrZ0pWMUZCRUFDUUNBRFFRRjBzME1BQUFBL2tpRWdBa0FDUUNBRUtnSUFJaDhnQTBGL2FpSUdRUUowSUE5cUloY3FBZ0JlUlEwQUlCOGdBMEVDZENBUGFpb0NBRjVGRFFBZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFKUVFKMElCQnFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdBMEVDZENBTGFpb0NBRjVGRFFBZ0h5QUpRUUowSUF0cUtnSUFYa1VOQUNBZklBWkJBblFnREdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXhxS2dJQVhrVU5BQ0FmSUFaQkFuUWdEV29xQWdCZVJRMEFJQjhnQTBFQ2RDQU5haW9DQUY1RkRRQWdIeUFKUVFKMElBMXFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdBMEVDZENBT2Fpb0NBRjVGRFFBZ0h5QUpRUUowSUE1cUtnSUFYa1VOQUNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFY1RkRRQWdCQ29DQUNBSElDQWdJaEJOWGtVTkFDQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjVGRFFBZ0JDb0NBQ0FISUI4Z0lSQk5Ya1VOQUNBRUtnSUFJQWNnSUNBaEVFMWVSUTBBSUFRcUFnQWdCeUFrSUNFUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSXhCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FqRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ01RVFY1RkRRQU1BUXNnQkNvQ0FDSWZJQmNxQWdCZFJRMEJJQjhnQTBFQ2RDQVBhaW9DQUYxRkRRRWdIeUFEUVFGcUlnbEJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FRYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQkJxS2dJQVhVVU5BU0FmSUFaQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFKUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUpRUUowSUF4cUtnSUFYVVVOQVNBZklBWkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQTFxS2dJQVhVVU5BU0FmSUFaQkFuUWdEbW9xQWdCZFJRMEJJQjhnQTBFQ2RDQU9haW9DQUYxRkRRRWdIeUFKUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWNnSUVNQUFBREFraUlmSUNJUVRWMUZEUUVnQkNvQ0FDQUhJQ0FnSWhCTlhVVU5BU0FFS2dJQUlBY2dJRU1BQUFCQWtpSWtJQ0lRVFYxRkRRRWdCQ29DQUNBSElCOGdJUkJOWFVVTkFTQUVLZ0lBSUFjZ0lDQWhFRTFkUlEwQklBUXFBZ0FnQnlBa0lDRVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0l4Qk5YVVVOQVNBRUtnSUFJQWNnSUNBakVFMWRSUTBCSUFRcUFnQWdCeUFrSUNNUVRWMUZEUUVMSUFVZ0VqWUNEQ0FGSUJZMkFoQWdCU0FFS0FJQU5nSVlJQVVnQVNBU0lDWVFod0k0QWh3Z0JTQWNJQU96SUNjZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBQUFDd0FMQ3dzZ0hTRUREQUVMQ3lBRkpBWVBDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wSEFBUkErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3RkN5QUZRY0RJQTBHMjNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dFQ3lBRlFjRElBMEhyM0FFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0RDeUFGUWNESUEwSHEzUUVRTjBIQXZBRVFOMEh2b2dJUU4wR1dBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3Q0N5QUZRY0RJQTBHajNnRVFOMEhBdkFFUU4wSHZvZ0lRTjBIcUFoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dCQ3lBRlFjRElBMEhjM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhyQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93c2dCVUdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCUkE4SUFBZ0FSQkFJQUFRUHhBQUMvQUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FTZ0NFRUVBVEFSQUlBSkJ3TWdEUWR1K0FSQTNRY0M4QVJBM1FlK2lBaEEzUVpNQkVENUI5cUlDRURkQmpMOEJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQUpCZ000REVEb2lCQ2dDQUNnQ0hDRUZJQVJCQ2lBRlFUOXhRWW9CYWhFQ0FDRUVJQUlRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0c0eGdFUWVTQUFRU0JxSUFFUWhRa2dBaEJySUFKQnhNWUJFSGtnQUNBQklBQkJJR29ROHdnZ0FoQnJJQUpCMk1ZQkVIa2dBQ0FCRVBJSUlBSVFheUFDUWVIR0FSQjVJQUFROFFnZ0FoQnJJQUpCNzhZQkVIa2dBQ0FCRVBBSUlBSVFheUFDSkFZTFFnRUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJkR29pQWpZQ0NDQUNFTk1DREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQxQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMEVCQW44Z0FDZ0NCQ0VCQTBBZ0FDZ0NDQ0lDSUFGSEJFQWdBQ0FDUVhScUlnSTJBZ2dnQWhCVkRBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzZrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRd1FPU0FCU1FSQVFkV3ExYW9CSUFNZ0FDZ0NBR3RCREJBNUlBRnFJZ05KQkVBUUFBVWdBaUFESUFBb0FnZ2dBQ2dDQUNJRWEwRU1FRGtpQlVFQmRDSUdJQVlnQTBrYlFkV3ExYW9CSUFWQnF0V3ExUUJKR3lBQUtBSUVJQVJyUVF3UU9TQUFRUWhxRU5VQ0lBSWdBUkQwQXlBQUlBSVE4d01nQWhEM0NBc0ZJQUFnQVJEMUF3c2dBaVFHQzEwQkEzOGdBQ2dDQkNJRUlBQW9BZ0FpQW10QkRCQTVJZ01nQVVrRVFDQUFJQUVnQTJzUStBZ0ZJQU1nQVVzRVFDQUJRUXhzSUFKcUlRSWdCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRTEN3dGVBUU4vSUFBb0FnUWlCQ0FBS0FJQUlnSnJRUXdRT1NJRElBRkpCRUFnQUNBQklBTnJFUFlJQlNBRElBRkxCRUFnQVVFTWJDQUNhaUVDSUFRaEFRTkFJQUVnQWtjRVFDQUJRWFJxSWdFUTB3SU1BUXNMSUFBZ0FqWUNCQXNMQzVjQkFRRi9JQUJCSUdvZ0FSQ05DU0FBUWR3QWFpQUJFSFFvQWdBb0FnUWdBUkIwS0FJQUtBSUlJQUVvQWhBZ0FTZ0NGQkREQ0NBQUlBRVFkQ2dDQUNnQ0JEWUNBQ0FBSUFFUWRDZ0NBQ2dDQ0RZQ0JDQUFRUkJxSUFBb0FnZ1ErZ2hCQUNFQkEwQWdBU0FBS0FJVUlBQW9BaEFpQW10QkRCQTVTUVJBSUFGQkRHd2dBbW9nQUNnQ0RCRDVDQ0FCUVFGcUlRRU1BUXNMQzBBQkFYOGdBRUdRQVdvUVZTQUFRZHdBYWlJQlFTaHFFTklDSUFGQkhHb1FWU0FBUWNnQWFoQlZJQUJCUEdvUVZTQUFRU0JxRU5JQ0lBQkJFR29RZ1FrTEpRQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFSDBocThEYWlnQ0FEWUNBRUVBQlVGL0N3c2lBUUYvSUFBb0FnZ2lBa0VBSUFGQkFuUVFSUm9nQUNBQlFRSjBJQUpxTmdJSUM2VUJBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUoxSUFGSkJFQkIvLy8vL3dNZ0FTQURJQUFvQWdCclFRSjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpQUJFUDRJSUFBZ0FoRGtBU0FDRU1jQkN3VWdBQ0FCRVBZREN5QUNKQVlMSUFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUNnQ0FEWUNBRUVBQlVGL0N4b0xRQUVDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGMGFpSUJFTk1DREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3U1QVFFQmZ5QUFRUUEyQWdBZ0FFRUFOZ0lFSUFCQkNqWUNDQ0FBUVFvMkFnd2dBRUVBTmdJUUlBQkJBRFlDRkNBQVFRQTJBaGdnQUVFQk9nQWNJQUJDQURjQ0lDQUFRZ0EzQWlnZ0FFRUFOZ0l3SUFCREFBQUFBRGdDTkNBQVF3QUFJRUU0QWpnZ0FFSUFOd0k4SUFCQ0FEY0NSQ0FBUWdBM0Frd2dBRU1BQUJCQk9BSllJQUJCM0FCcUVNUUlJQUJCa0FGcUlnRkJBRFlDQUNBQVFRQTJBcFFCSUFCQkFEWUNtQUVnQUVHSUp4RDNBeUFCUVNRUWh3RUxvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDOEFLQVFaL0l3WWhCU01HUVJCcUpBWWdBQ2dDQUVFQ1J3UkFJQVZCd01nRFFadkFBUkEzUWNDOEFSQTNRZStpQWhBM1FkWUFFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0FFRUNSd1JBSUFWQndNZ0RRZUxBQVJBM1FjQzhBUkEzUWUraUFoQTNRZGNBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NBRUVDUndSQUlBVkJ3TWdEUVpIQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRnQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDRUVFQlJ3UkFJQVZCd01nRFFjREJBUkEzUWNDOEFSQTNRZStpQWhBM1Fka0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0VFRUJSd1JBSUFWQndNZ0RRWTdDQVJBM1FjQzhBUkEzUWUraUFoQTNRZG9BRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FpZ0NFRUVCUndSQUlBVkJ3TWdEUWJuQ0FSQTNRY0M4QVJBM1FlK2lBaEEzUWRzQUVENUI5cUlDRURkQjZjRUJFRGNpQXlnQ0FFRjBhaWdDQUNBRGFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBQ2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRZVRDQVJBM1FjQzhBUkEzUWUraUFoQTNRZHdBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFiVERBUkEzUWNDOEFSQTNRZStpQWhBM1FkMEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQVNnQ0JDQUNLQUlFUndSQUlBVkJ3TWdEUVlmRUFSQTNRY0M4QVJBM1FlK2lBaEEzUWQ0QUVENUI5cUlDRURkQmxNTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQ0NBQ0tBSUlSd1JBSUFWQndNZ0RRYm5FQVJBM1FjQzhBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCNXNNQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUF0QkFDRURBMEFnQXlBQktBSUlTUVJBSUFBZ0F4Q0RDU0VHSUFFZ0F4QlFJUWNnQWlBREVGQWhDRUVBSVFRRFFDQUVJQUVvQWdSSkJFQWdCRUVDZENBR2FpQUVRUUowSUFkcUtnSUFJQVJCQW5RZ0NHb3FBZ0NUT0FJQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFGSkFZTDVnTUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSUVJQUFvQWdCR0JFQWdCRUhBeUFOQmlMNEJFRGRCd0x3QkVEZEI3NklDRURkQnlBQVFQa0gyb2dJUU4wR3l2Z0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCS0FJUVFRQk1CRUFnQkVIQXlBTkIyNzRCRURkQndMd0JFRGRCNzZJQ0VEZEJ5UUFRUGtIMm9nSVFOMEdNdndFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQkJFQWdBVUh3OFFCQitQRUFFT1FFQkVCQkFDRUNBMEFnQWlBQUtBSU1TUVJBUVFBaEF3TkFJQU1nQUNnQ0VFa0VRQ0FBS0FJQUlBTWdBaUFBS0FJUWJHcEJCWFJxSUFFZ0FpQURFS3dCSUFFZ0FpQURRUUZxSWdNUXJBRVFoQWtNQVFzTElBSkJBV29oQWd3QkN3c2dCQ1FHRHdzTElBUkJ3TWdEUWJDL0FSQTNRY0M4QVJBM1FlK2lBaEEzUWNvQUVENUI5cUlDRURkQitMOEJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQVFRUENBQUlBRVFRQ0FBRUQ4UUFBdENBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0ZnYWlJQ05nSUlJQUlRM1FFTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMU2dFQ2Z5QUFCSDhnQUVHSWg2OERhaUlCS0FJQUlnSUVRQ0FDRUVrZ0FVRUFOZ0lBQ3lBQVFlQ0dwd0pxS0FJQUVEZ2dBRUhraHFjQ2FpZ0NBQkE0SUFBUU9FRUFCVUYvQ3hvTGtBRUJBbjhnQUNnQ0FDRURJQUFvQWdRaEFnTkFJQUlnQTBjRVFDQUJLQUlFUVdCcUlBSkJZR29pQWhDcUJ5QUJJQUVvQWdSQllHbzJBZ1FNQVFzTElBQW9BZ0FoQWlBQUlBRW9BZ1EyQWdBZ0FTQUNOZ0lFSUFBb0FnUWhBaUFBSUFFb0FnZzJBZ1FnQVNBQ05nSUlJQUFvQWdnaEFpQUFJQUVvQWd3MkFnZ2dBU0FDTmdJTUlBRWdBU2dDQkRZQ0FBc3JBUUYvSUFBb0FnZ2hBZ05BSUFJUXVnTWdBQ0FBS0FJSVFTQnFJZ0kyQWdnZ0FVRi9haUlCRFFBTEMzSUJBWDhnQUVFQU5nSU1JQUFnQXpZQ0VDQUJCRUFnQVVILy8vOC9Td1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUZkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUVYwSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFRmRDQUVhallDREFzckFRRi9JQUFvQWdRaEFnTkFJQUlRdWdNZ0FDQUFLQUlFUVNCcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzZJQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRVjFJQUZKQkVCQi8vLy9QeUFCSUFNZ0FDZ0NBR3RCQlhWcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRUjFJZ1lnQmlBRFNSdEIvLy8vUHlBRlFRVjFRZi8vL3g5Skd5QUFLQUlFSUFSclFRVjFJQUJCQ0dvUWlna2dBaUFCRUlrSklBQWdBaENJQ1NBQ0VJWUpDd1VnQUNBQkVJc0pDeUFDSkFZTHd3SUJDSDhqQmlFRUl3WkJFR29rQmlBQktBSUlJQUVvQWdSclFRVjFSUVJBSUFSQndNZ0RRWlc4QVJBM1FjQzhBUkEzUWUraUFoQTNRVFVRUGtIMm9nSVFOMEhJdlFFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQlFRQkJBQkNzQVNnQ0FDRURJQUZCQUVFQUVLd0JLQUlFSVFVZ0FVRUFRUUFRckFFb0FnZ2hCaUFBSUFFb0FoQTJBZ3dnQUNBQktBSVVRWDlxSWdFMkFoQWdBQ0FCSUFBb0FneHNFTlFDUVFBaEFRTkFJQUVnQUNnQ0RFa0VRQ0FGSUFGMklRY2dCaUFCZGlFSVFRQWhBZ05BSUFJZ0FDZ0NFQ0lKU1FSQUlBQW9BZ0FnQWlBQklBbHNha0VGZEdvZ0F5QUhJQWhCQVJDM0FpQUNRUUZxSVFJTUFRc0xJQUZCQVdvaEFRd0JDd3NnQkNRR0MzTUJCSDhqQmlFREl3WkJFR29rQmlBRFFRaHFJUVFnQUFSQUlBQVFZQ0VDUVlEUkFoQmdJQUpCQW1wcUVFUWlBZ1JBSUFRZ0FEWUNBQ0FFUVlEUkFqWUNCQ0FDUVkrOEFTQUVFTHdCSUFJZ0FSQ3dBU0VGSUFJUU9BVkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3c2dBeVFHSUFVTHZRSUJDSDhqQmlFS0l3WkJFR29rQmlBRElBRkJCQkE1SWdzMkFnQWdCQ0FDUVFRUU9TSU1OZ0lBSUFzZ0RHd1FSQ0lEUlFSQVFRQkJBMEc1MkFJZ0NoQTlRUUVRQVFzZ0F5RUNBMEFnQ0NBTVNBUkFRUUFoQ1NBQUlBRWdDRUVDZENJRmJHb2hCQ0FBSUFFZ0JVRURjbXhxSVFZZ0FDQUJJQVZCQW5Kc2FpRUhJQUFnQVNBRlFRRnliR29oQlFOQUlBa2dDMGdFUUNBQ0lBWXRBQU1nQmkwQUFpQUdMUUFCSUFZdEFBQWdCeTBBQXlBSExRQUNJQWN0QUFFZ0J5MEFBQ0FGTFFBRElBVXRBQUlnQlMwQUFTQUZMUUFBSUFRdEFBTWdCQzBBQWlBRUxRQUFJQVF0QUFGcWFtcHFhbXBxYW1wcWFtcHFhbXBCRUJBNU9nQUFJQWxCQVdvaENTQUVRUVJxSVFRZ0JrRUVhaUVHSUFkQkJHb2hCeUFGUVFScUlRVWdBa0VCYWlFQ0RBRUxDeUFJUVFGcUlRZ01BUXNMSUFva0JpQURDeWNBSUFBRWZ5QUFRZmlHcndOcVFRYzJBZ0FnQUVIOGhxOERha0VBTmdJQVFRQUZRWDhMR2d2L0FRRUhmeU1HSVFrakJrRVFhaVFHSUFNZ0FVRURFRGtpQ2pZQ0FDQUVJQUpCQXhBNUlnczJBZ0FnQ2lBTGJCQkVJZ05GQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBRElRSURRQ0FISUF0SUJFQkJBQ0VJSUFBZ0FTQUhRUU5zSWdWc2FpRUVJQUFnQVNBRlFRSnFiR29oQmlBQUlBRWdCVUVCYW14cUlRVURRQ0FJSUFwSUJFQWdBaUFHTFFBQ0lBWXRBQUVnQmkwQUFDQUZMUUFDSUFVdEFBRWdCUzBBQUNBRUxRQUNJQVF0QUFBZ0JDMEFBV3BxYW1wcWFtcHFRUWtRT1RvQUFDQUlRUUZxSVFnZ0JFRURhaUVFSUFaQkEyb2hCaUFGUVFOcUlRVWdBa0VCYWlFQ0RBRUxDeUFIUVFGcUlRY01BUXNMSUFra0JpQURDOUFCQVFaL0l3WWhDQ01HUVJCcUpBWWdBeUFCUVFJUU9TSUpOZ0lBSUFRZ0FrRUNFRGtpQ2pZQ0FDQUpJQXBzRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQWdRUFVFQkVBRUxRUUFoQkNBRElRSURRQ0FFSUFwSUJFQkJBQ0VISUFBZ0FTQUVRUUYwSWdWc2FpRUdJQUFnQVNBRlFRRnliR29oQlFOQUlBY2dDVWdFUUNBQ0lBVXRBQUVnQlMwQUFDQUdMUUFBSUFZdEFBRnFhbXBCQW5ZNkFBQWdCMEVCYWlFSElBWkJBbW9oQmlBRlFRSnFJUVVnQWtFQmFpRUNEQUVMQ3lBRVFRRnFJUVFNQVFzTElBZ2tCaUFEQzZZREFRbC9Jd1loQ3lNR1FSQnFKQVlnQXlBQlFRTVFPU0lNUVFGMElnazJBZ0FnQkNBQ1FRTVFPU0lOUVFGMElnSTJBZ0FnQWlBSmJCQkVJZ1JGQkVCQkFFRURRYm5ZQWlBTEVEMUJBUkFCQ3lBRUlnSWhBd05BSUFnZ0RVZ0VRRUVBSVFvZ0FDQUJJQWhCQTJ3aUJrRUNhbXhxSVFjZ0FDQUJJQVpCQVdwc2FpRUZJQUFnQVNBR2JHb2hCaUFESUFscUlRTURRQ0FLSUF4SUJFQWdBaUFHTFFBQUlBWXRBQUZCQVhacUlBVXRBQUJCQVhacUlBVXRBQUZCQW5acVFRSjBRUWtRU0RvQUFDQURJQWN0QUFBZ0JTMEFBRUVCZGlBRkxRQUJRUUoyYWtFWWRFRVlkVUgvQVhGcUlBY3RBQUZCQVhacVFRSjBRUWtRU0RvQUFDQUNJQVl0QUFJZ0JpMEFBVUVCZG1vZ0JTMEFBVUVDZG1vZ0JTMEFBa0VCZG1wQkFuUkJDUkJJT2dBQklBTWdCeTBBQWlBRkxRQUJRUUoySUFVdEFBSkJBWFpxUVJoMFFSaDFRZjhCY1NBSExRQUJRUUYyYW1wQkFuUkJDUkJJT2dBQklBcEJBV29oQ2lBSFFRTnFJUWNnQlVFRGFpRUZJQVpCQTJvaEJpQUNRUUpxSVFJZ0EwRUNhaUVEREFFTEN5QUlRUUZxSVFnZ0FpQUphaUVDREFFTEN5QUxKQVlnQkF0T0FRRi9Jd1loQlNNR1FSQnFKQVlnQXlBQk5nSUFJQVFnQWpZQ0FDQUJJQUpzSWdFUVJDSUNCRUFnQWlBQUlBRVFUQm9nQlNRR0lBSVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMYWdBQ2Z3SkFBa0FDUUFKQUFrQWdBMEVCYXc0RkFBSUVBd0VFQ3lBQUlBRWdBaUFFSUFVUWxBa01CQXNnQUNBQklBSWdCQ0FGRUpNSkRBTUxJQUFnQVNBQ0lBUWdCUkNTQ1F3Q0N5QUFJQUVnQWlBRUlBVVFrUWtNQVFzZ0FDQUJJQUlnQkNBRkVJOEpDd3ZGQkFJTGZ3RjlJd1loQ0NNR1FmQUJhaVFHSUFoQjBBRnFJUWtnQ0VISUFXb2hCaUFJUWVBQmFpRU1JQWhCMUFGcUlRb2dDRUhnQUdvaERpQUlRY0FCYWlFUElBRW9BZ1FnQVNnQ0FDSUJheUlIUVFOMUlndEJCRWtFZjBGL0JRSi9JQWRCQVhRUVJDSUhSUVJBUVFCQkEwRzUyQUlnQmhBOVFRRVFBUXNnQzBFWWJCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQ3lBREtBSUFJUU1nQWlnQ0FDRUpRUUFoQWdOQUlBSWdDMGNFUUNBQ1FRUjBJQWRxSUFKQkEzUWdBV29vQWdBaURVRVViQ0FEYWlvQ0FMczVBd0FnQWtFRWRDQUhhaUFOUVJSc0lBTnFLZ0lFdXprRENDQUNRUmhzSUFacUlBSkJBM1FnQVdvb0FnUWlEVUVNYkNBSmFpb0NBTHM1QXdBZ0FrRVliQ0FHYWlBTlFReHNJQWxxS2dJRXV6a0RDQ0FDUVJoc0lBWnFSQUFBQUFBQUFBQUFPUU1RSUFKQkFXb2hBZ3dCQ3dzZ0NpQUxOZ0lJSUFvZ0J6WUNBQ0FLSUFZMkFnUWdBRUVJYWlJQUlBY2dCaUFMSUE0UW1BUkJBRWdFUUNBSEVEZ2dCaEE0UVg4TUFRc2dEQ0FBRU9NQ0lnQTJBZ0FnQUVVRVFDQUhFRGdnQmhBNFFYOE1BUXNnQUNBS0lBNGdDQ0FQRU9vQlFRQklCSDhnQnhBNElBWVFPQ0FNRU9JQ1FYOEZRUUFoQUFOQUlBQkJBMGNFUUVFQUlRRURRQ0FCUVFSSEJFQWdBRUVFZENBRWFpQUJRUUowYWlBQVFRVjBJQWhxSUFGQkEzUnFLd01BdGpnQ0FDQUJRUUZxSVFFTUFRc0xJQUJCQVdvaEFBd0JDd3NnREJEaUFpQUhFRGdnQmhBNElBVWdEeXNEQUxZaUVUZ0NBQ0FSUXdBQUlFRmVRUjkwUVI5MUN3c0xJUkFnQ0NRR0lCQUxyUXdEQzM4Q2ZRRjhJd1loQmlNR1FUQnFKQVlnQmtFUWFpRUhJQVpCQ0dvaEJTQUdRU3hxSVFnZ0JrRW9haUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUFvQWd3aEJDQUFLQUlRSVFJQ2Z5QUFLQUlVSWdOQkFVWWlDZ1IvSUFFaENFRUFCU0FCSUFRZ0FpQURJQWdnQ1JDVkNTSUlCSDlCQVFWQmZ3d0RDd3NoRENBQUtBSUFJQWdnQkNBQ0VJUUlJQUFnQUNnQ0FCQzVBaUlCS0FJRUlBRW9BZ0JySWdGQkZCQTVJZ1EyQWpBZ0FRUkFBa0FnQUNBQUtBSXNJZ0VFZnlBQkVEZ2dBQ2dDTUFVZ0JBdEJBM1FRUkNJQk5nSXNJQUZGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQ3lBQUtBSUFFTGtDSVFRQ1FDQUtCRUFnQUVFRWFpRUJRUUFoQWdOQUlBSWdBQ2dDTUU0TkFpQUVLQUlBSWdNZ0FrRVViR29xQWdBaERTQUNRUlJzSUFOcUtnSUVJUTRnQUNnQ0JDSURCRUFnQTBHNEFXb2dEU0FPSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTA0QWdBZ0FrRURkQ0FEYWlBT09BSUVDeUFDUVFGcUlRSU1BQUFMQUFVQ1FBSkFBa0FDUUNBRFFRSnJEZ1FCQXdJQUF3c2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQlNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBTUEvbENBT1F3QUF3RCtVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFEQVA1UTRBZ0FnQWtFRGRDQURhaUFPUXdBQXdEK1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQkNBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBQUJBbENBT1F3QUFBRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFBQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQUFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQXlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBRUJBbENBT1F3QUFRRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFCQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQVFFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc2dBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RVTUFBSUJBbENBT1F3QUFnRUNVSUFBb0Fpd2lBeUFDUVFOMGFpQUNRUU4wSUFOcVFRUnFFS1lCR2dVZ0FDZ0NMQ0lESUFKQkEzUnFJQTFEQUFDQVFKUTRBZ0FnQWtFRGRDQURhaUFPUXdBQWdFQ1VPQUlFQ3lBQ1FRRnFJUUlNQUFBTEFBc0FDeUFBUVRScUlRUkJBQ0VEQTBBZ0F5QUFLQUk0SWdKT0JFQWdCQ0VBSUFJaEFRd0NDeUFFS0FJQUlnSWdBMEhFQUd4cUlBQW9BaVFnQTBFTWJHb29BZ2cyQWpBZ0EwSEVBR3dnQW1wQmZ6WUNQQ0FEUWNRQWJDQUNha0ZBYXlnQ0FFVUVRQ0FBS0FJQUtBSUFLQUlBUVF4cUlRSWdBQ2dDQUNnQ0FDZ0NBQ2dDR0NJSlFRQk9CRUFnQVNnQ0FDQUNJQUFvQWdBZ0NSRElCeUFBS0FJQUVMa0NJQVFvQWdBaUJTQURRY1FBYkdvZ0EwSEVBR3dnQldwQk5Hb1FsZ2xGQkVBZ0JDZ0NBQ0lGSUFOQnhBQnNha0VBTmdJOElBTkJ4QUJzSUFWcUlBSW9BZ1FnQWlnQ0FHdEJBM1VpQWpZQ09DQURRY1FBYkNBRmFpQUFRVHhxSUFsQkFuUnFLQUlBTmdJd0lBTkJ4QUJzSUFWcUtnSTB1eUVQSUFjZ0F6WUNBQ0FISUFJMkFnUWdCeUFDTmdJSUlBY2dEemtERUVFQVFRRkI1N3NCSUFjUVBRc0xDeUFEUVFGcUlRTU1BQUFMQUFzRklBQW9BamdoQVNBQUlnUkJOR29oQUVFQUlRSURRQ0FDSUFGSUJFQWdCQ2dDTkNBQ1FjUUFiR3BCZnpZQ1BDQUNRUUZxSVFJTUFRc0xDMEVBSVFJRFFDQUNJQUZJQkVBZ0FDZ0NBQ0FDUWNRQWJHcEJRR3RCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXdMQkVBZ0NCQTRDMEVBQ3dWQkFFRURRYnU3QVNBR0VEMUJBQXNhSUFZa0Jnc0dBQ0FBSkFZTFB3RUNmeUFBS0FJRUlRSWdBQ2dDQ0NFQkEwQWdBU0FDUndSQUlBQWdBVUYwYWlJQk5nSUlEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM1Y0JBUVIvSUFGQkJHb2lBeWdDQUNFQ0lBTWdBQ2dDQkNBQUtBSUFJZ1JySWdWQmRCQTVRUXhzSUFKcUlnSTJBZ0FnQlVFQVNnUkFJQUlnQkNBRkVFd2FJQU1vQWdBaEFnc2dBQ2dDQUNFRUlBQWdBallDQUNBRElBUTJBZ0FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQURLQUlBTmdJQUM1UUJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd2NnQUNnQ0JDQUFLQUlBYTBFQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkQ0lHSUFZZ0Ewa2JRZi8vLy84SElBVkIvLy8vL3dOSkd5QUFLQUlFSUFScklBQkJDR29RMkFJZ0FpZ0NDQ0FCTEFBQU9nQUFJQUlnQWlnQ0NFRUJhallDQ0NBQUlBSVExd0lnQWhEV0FpQUNKQVlMQzZ3QkFRVi9Jd1loQWlNR1FTQnFKQVpCMWFyVnFnRWdBQ2dDQkNBQUtBSUFhMEVNRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFRd1FPU0lGUVFGMElnWWdCaUFEU1J0QjFhclZxZ0VnQlVHcTFhclZBRWtiSUFBb0FnUWdCR3RCREJBNUlBQkJDR29RMVFJZ0FpZ0NDQ0lESUFFcEFnQTNBZ0FnQXlBQktBSUlOZ0lJSUFJZ0FpZ0NDRUVNYWpZQ0NDQUFJQUlRbWdrZ0FoQ1pDU0FDSkFZTEM3VUJBUVYvSXdZaEFpTUdRU0JxSkFaQnpKbXo1Z0FnQUNnQ0JDQUFLQUlBYTBFVUVEbEJBV29pQTBrRVFCQUFCU0FDSUFNZ0FDZ0NDQ0FBS0FJQUlnUnJRUlFRT1NJRlFRRjBJZ1lnQmlBRFNSdEJ6Sm16NWdBZ0JVSG16Smt6U1JzZ0FDZ0NCQ0FFYTBFVUVEa2dBRUVJYWhENkF5QUNLQUlJSWdNZ0FTa0NBRGNDQUNBRElBRXBBZ2czQWdnZ0F5QUJLQUlRTmdJUUlBSWdBaWdDQ0VFVWFqWUNDQ0FBSUFJUStRTWdBaEQ0QXlBQ0pBWUxDNGNNQWc5L0FuMGpCaUVISXdaQjhBQnFKQVlnQjBFd2FpRVBJQWRCS0dvaERTQUhRU0JxSVE0Z0IwRVlhaUVNSUFkQkVHb2hCQ0FIUVFocUlRTWdCMEhnQUdvaENDQUhRZFFBYWlFS0lBZEJ5QUJxSVFzZ0IwRTBhaUVKSUFCQkFFY2dBVUVBUjNFRWZ3Si9JQUVvQWdRaUFrVUVRRUVBUVFOQmo3c0JJQU1RUFVGL0RBRUxBa0FDUUNBQUtBSWNJZ05GRFFBZ0F4QTRJQUVvQWdRaUFnMEFJQUJCQURZQ0hFRUFJUUlNQVFzZ0FDQUNRWVFCYkJCRUlnTTJBaHdnQTBVRVFFRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQWhCQU5BSUFRZ0FrZ0VRQ0FBS0FJY0lBUkJoQUZzYWlBQktBSUFJQVJCaEFGc2FrR0VBUkJNR2lBRVFRRnFJUVFnQVNnQ0JDRUNEQUVMQ3dzZ0FDQUNOZ0lnSUFBb0FpUWlBZ1JBUVFBaEF3TkFJQU1nQUNnQ0tFZ0VRQ0FEUVF4c0lBSnFLQUlBSWdRRVFDQUVFRGdnQUNnQ0pDRUNDeUFEUVFGcUlRTU1BUXNMSUFJUU9Bc2dBU2dDRENJQ0JFQUNRQ0FBSUFKQkRHd1FSQ0lFTmdJa0lBUkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDd05BQWtBZ0JTQUNUZ1JBSUFJaEJnd0RDeUFBS0FJa0lnTWdCVUVNYkdvZ0FTZ0NDQ0lFSUFWQkRHeHFLQUlJTmdJSUlBVkJER3dnQTJvZ0JVRU1iQ0FFYWlJTUtBSUVOZ0lFSUF3b0FnUWlEQVJBSUFWQkRHd2dBMm9nREVFTWJCQkVJZ0kyQWdBZ0FrVU5BVUVBSVFNZ0JDRUNBMEFnQXlBRlFReHNJQUpxS0FJRVNBUkFJQUFvQWlRZ0JVRU1iR29vQWdBZ0EwRU1iR29pQkNBRlFReHNJQUpxS0FJQUlBTkJER3hxSWdJcEFnQTNBZ0FnQkNBQ0tBSUlOZ0lJSUFOQkFXb2hBeUFCS0FJSUlRSU1BUXNMSUFFb0Fnd2hBZ1VnQlVFTWJDQUVha0VBTmdJQUN5QUZRUUZxSVFVTUFRc0xRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc0ZJQUJCQURZQ0pBc2dBQ0FHTmdJb0lBQW9BalFpQWdSQUlBSVFPQ0FBUVFBMkFqUWdBRUVBTmdJNEN5QUJLQUlNSWdGQkFFb0VRQUpBSUFBZ0FUWUNPQ0FBSUFGQnhBQnNFRVFpQWpZQ05DQUNSUVJBUVFCQkEwRzUyQUlnRFJBOVFRRVFBUXRCQUNFR0EwQWdBU0FHUmcwQklBWkJ4QUJzSUFKcVFVQnJRUUEyQWdBZ0JrRUJhaUVHREFBQUN3QUxDeUFBS0FJZ0lnMEVmMEVBSVFaQkFDRUJBMEJCQUNBR0lBQW9BaWhPRFFJYVFRQWhCQU5BSUFRZ0FDZ0NKQ0FHUVF4c2FpZ0NCRWdFUUNBSVFRQTJBZ0FnQ0VFQU5nSUVJQWhCQURZQ0NDQUtRUUEyQWdBZ0NrRUFOZ0lFSUFwQkFEWUNDQ0FMUVFBMkFnQWdDMEVBTmdJRUlBdEJBRFlDQ0VFQUlRSURRQ0FDSUExSUJFQWdBQ2dDSENJRElBSkJoQUZzYWlnQ2dBRWdBQ2dDSkNJRklBWkJER3hxS0FJQUlBUkJER3hxS0FJSVJnUkFJQUpCaEFGc0lBTnFLQUo4SUFaQkRHd2dCV29vQWdoR0JFQUNRQ0FKSUFKQmhBRnNJQU5xS2dJQUlBSkJoQUZzSUFOcUtnSUVJQUpCaEFGc0lBTnFLZ0p3SUFKQmhBRnNJQU5xS2dKMElBSkJoQUZzSUFOcUtBSjRRUUJIRVB3RElBZ29BZ1FpQXlBSUtBSUlTUVJBSUFNZ0NTa0NBRGNDQUNBRElBa3BBZ2czQWdnZ0F5QUpLQUlRTmdJUUlBZ2dBMEVVYWpZQ0JBVWdDQ0FKRUowSkN5QUFLQUljSWdNZ0FrR0VBV3hxS2dJSUlSRWdBa0dFQVd3Z0Eyb3FBZ3doRWlBSklCRTRBZ0FnQ1NBU09BSUVJQWxEQUFBQUFEZ0NDQ0FLS0FJRUlnTWdDaWdDQ0VrRVFDQURJQWtwQWdBM0FnQWdBeUFKS0FJSU5nSUlJQW9nQ2lnQ0JFRU1hallDQkFVZ0NpQUpFSndKQzBFQUlRTURRQ0FEUWVBQVR3MEJJQU1nQUNnQ0hDQUNRWVFCYkdwQkVHcHFJUVVnQ3lnQ0JDSU9JQXNvQWdoR0JFQWdDeUFGRUpzSkJTQU9JQVVzQUFBNkFBQWdDeUFMS0FJRVFRRnFOZ0lFQ3lBRFFRRnFJUU1NQUFBTEFBc0xDeUFDUVFGcUlRSU1BUXNMSUE4Z0NDZ0NCQ0FJS0FJQWEwRVVFRGsyQWdCQkFFRUJRYkM3QVNBUEVEMGdBRUU4YWlBQlFRSjBhaUFBS0FJa0lnSWdCa0VNYkdvb0FnZzJBZ0FnQUNnQ0FDQUlJQXNnQ2lBR1FReHNJQUpxS0FJQUlnSWdCRUVNYkdvb0FnQWdCRUVNYkNBQ2FpZ0NCQ0FCRUpJSUlBc1FWU0FLRUZVZ0NCRFpBaUFFUVFGcUlRUWdBVUVCYWlFQkRBRUxDeUFHUVFGcUlRWU1BQUFMQUFWQkFBc0xCVUVBUVFOQjM3b0JJQWNRUFVGL0N5RVFJQWNrQmlBUUMvVUJBUVovSXdZaEF5TUdRUkJxSkFZZ0EwRU1haUVHSUFNZ0FCQ1lBaUFETEFBQUJFQWdBeUFBSUFBb0FnQkJkR29pQkNnQ0FHb29BaGcyQWdnZ0FDQUVLQUlBYWlJRUtBSUVJUWRCZnlBRUtBSk1FRUVFUUNBR0lBUVFPeUFHUVlET0F4QTZJZ1VvQWdBb0Fod2hDQ0FGUVNBZ0NFRS9jVUdLQVdvUkFnQWhCU0FHRUR3Z0JDQUZRUmgwUVJoMUlnVTJBa3dGSUFRb0Frd2hCUXNnQmlBREtBSUlOZ0lBSUFZZ0FTQUJJQUpxSWdJZ0FTQUhRYkFCY1VFZ1Joc2dBaUFFSUFWQi93RnhFSmNCUlFSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQVNBQktBSVFRUVZ5RU80QkN3c2dBeENYQWlBREpBWWdBQXU3QVFFRmZ5TUdJUVlqQmtFUWFpUUdJQUFFUUFKQUlBQW9BZ1FoQXdOQUlBSWdBMGdFUUNBQUtBSUFJQUpCaEFGc2FpSUVLQUo4SWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQW53TElBSkJBV29oQWd3QkN3c2dBQ2dDRENFRFFRQWhBZ05BSUFJZ0EwNEVRRUVBSVFBTUFnc2dBQ2dDQ0NBQ1FReHNhaUlFS0FJSUlnVkJmMFlnQlVGL1NuSUVRQ0FFSUFFMkFnZ0xJQUpCQVdvaEFnd0FBQXNBQ3dWQkFFRURRYTY2QVNBR0VEMUJmeUVBQ3lBR0pBWWdBQXY3QlFFS2Z5TUdJUVVqQmtGQWF5UUdJQVZCT0dvaENDQUZRVEJxSVFrZ0JVRW9haUVHSUFWQklHb2hCeUFGUVJocUlRb2dCVUVJYWlFQ0lBVkJQR29pQTBHSXVRRXVBQUE3QUFBZ0EwR0t1UUVzQUFBNkFBSWdBRUVBUnlBQlFRQkhjUVIvQW44Z0FDQURFSTRKSWdSRkJFQWdBaUFBTmdJQUlBSkJ4UDRDTmdJRUlBSkJnTkVDTmdJSVFRQkJBMEcrdVFFZ0FoQTlRWDhNQVF0QkFVRVFFSTBDSWdKRkJFQkJBRUVEUWJuWUFpQUtFRDFCQVJBQkN5QUNRUVJxUVFSQkFTQUVFR0ZCQVVZRVFDQUNLQUlFSWdCQkFVNEVRQUpBSUFJZ0FFR0VBV3dRUkNJRE5nSUFJQU5GQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQzBFQUlRTURRQ0FESUFCSUJFQWdBaWdDQUNBRFFZUUJiR3BCQ0VFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRUWhxUVFoQkFTQUVFR0ZCQVVjTkFpQUNLQUlBSUFOQmhBRnNha0VRYWtIc0FFRUJJQVFRWVVFQlJ3MENJQUlvQWdBZ0EwR0VBV3hxUWZ3QWFrRUVRUUVnQkJCaFFRRkhEUUlnQWlnQ0FDQURRWVFCYkdwQmdBRnFRUVJCQVNBRUVHRkJBVWNOQWlBRFFRRnFJUU1nQWlnQ0JDRUFEQUVMQ3lBQ1FReHFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSU1JZ0JCQVVnRVFDQUNRUUEyQWdnTUFnc2dBaUFBUVF4c0VFUWlBellDQ0NBRFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VEQWtBQ1FBTkFBa0FnQXlBQVRnMENJQUlvQWdnZ0EwRU1iR3BCQ0dwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnZ0EwRU1iR3BCQkdwQkJFRUJJQVFRWVVFQlJ3MEZJQUlvQWdnaUJ5QURRUXhzYWlnQ0JDSUdRUXhzRUVRaEFDQURRUXhzSUFkcUlBQTJBZ0FnQUVVTkFDQUFRUXdnQmlBRUVHRWdCa2NOQlNBRFFRRnFJUU1nQWlnQ0RDRUFEQUVMQzBFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVNQVFzZ0FTQUNOZ0lBSUFRUWFrRUFEQVVMQ3dzTEMwRUFRUU5CZ2JvQklBZ1FQU0FDS0FJSUlnQUVRQ0FBRURnTElBSW9BZ0FpQUFSQUlBQVFPQXNnQWhBNElBUVFha0YvQ3dWQkFFRURRWXU1QVNBRkVEMUJmd3NoQ3lBRkpBWWdDd3ZYQWdFRWZ5TUdJUUlqQmtFUWFpUUdRYUNIcndNUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQWtFSWFpRURJQUZCQURZQ0FDQUJRZVNHcHdKcVFRQTJBZ0FnQVVHSWg2OERha0VBTmdJQUlBRkJmellDQkNBQlFRQTJBZ2dnQVVFQk5nSU1JQUZCNUFBMkFoQWdBVUVBTmdJVUlBRkJBRFlDR0NBQlFRSTJBaHdnQVVHUWg2OERha1FBQUFBQUFBRGdQemtEQUNBQlFaaUhyd05xUVFNMkFnQWdBU0FBTmdJZ0lBRWdBQ2dDQUNJRU5nSWtJQUVnQUNnQ0JDSUFOZ0lvSUFGQkFEWUNMQ0FCUWJENEFHcEJBRFlDQUNBQlFlaUdwd0pxUVFBMkFnQWdBVUg0aXFZQ2FrRUFOZ0lBSUFGQjRJYW5BbW9nQUNBRVFRRjBiQkJFSWdBMkFnQWdBQVJBSUFGQjhJYXZBMnBCQURZQ0FDQUJRUUFRL1FNZ0FVSDBocThEYWtGL05nSUFJQUZCQUJEN0F4b2dBUkNRQ1NBQ0pBWWdBUThGUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXRCQUF2c0NnRVFmeU1HSVEwakJrRXdhaVFHSUExQktHb2hFQ0FOUVNCcUlROGdEVUVZYWlFSklBMUJFR29oQmlBTlFRaHFJUWNnQUVFQVJ5QUJRUUJIY1FSL0lBQW9BZ0FpQWdSQUlBSWlCQ0VEQlNBQVFSQVFSQ0lDTmdJQUlBSUVRQ0FDUVFBMkFnUWdBa0VBTmdJQUlBSkJBRFlDRENBQ1FRQTJBZ2dnQWlJRUlRTUZRUUJCQTBHNTJBSWdCeEE5UVFFUUFRc0xJQUVvQWdBaURBUkFJQVFvQWdRaUJTQU1LQUlFSWdkcUlnSkJoQUZzRUVRaUMwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxRUUFoQmdOQUlBWWdCVWdFUUNBR1FZUUJiQ0FMYWlBRUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTFFRQWhCZ05BSUFZZ0IwZ0VRQ0FGSUFacVFZUUJiQ0FMYWlBTUtBSUFJQVpCaEFGc2FrR0VBUkJNR2lBR1FRRnFJUVlNQVFzTElBUW9BZ0FpQkFSQUlBUVFPQ0FBS0FJQUlRTUxJQU1nQ3pZQ0FDQUFLQUlBSWdjZ0FqWUNCQ0FIS0FJTUlRc2dBU2dDQUNJREtBSU1JUXhCQUNFRVFRQWhCZ05BSUFZZ0RFZ0VRRUVBSVFJQ1FBSkFBMEFnQWlBTFNBUkFJQU1vQWdnZ0JrRU1iR29vQWdnZ0J5Z0NDQ0FDUVF4c2FpZ0NDRVlOQWlBQ1FRRnFJUUlNQVFzTERBRUxJQVJCQVdvaEJBc2dCa0VCYWlFR0RBRUxDeUFMSUF4cUlBUnJJZ1pCREd3UVJDSU9SUVJBUVFCQkEwRzUyQUlnQ1JBOVFRRVFBUXNDUUFKQUEwQWdDaUFMU0FSQUlBcEJER3dnRG1vZ0FDZ0NBQ0lIS0FJSUlnUWdDa0VNYkdvaUFpZ0NDRFlDQ0NBS1FReHNJQVJxS0FJRUlRUkJBQ0VKQTBBZ0NTQU1TQVJBSUFFb0FnQW9BZ2dpQXlBSlFReHNhaWdDQ0NBQ0tBSUlSZ1JBSUFRZ0NVRU1iQ0FEYWlnQ0JHb2hCQXNnQ1VFQmFpRUpEQUVMQ3lBS1FReHNJQTVxSWdrZ0JFRU1iQkJFSWdNMkFnQWdBMFVOQWlBSEtBSUlJQXBCREd4cUtBSUVJUWRCQUNFRkEwQWdCU0FIU0FSQUlBa29BZ0FnQlVFTWJHb2lBaUFBS0FJQUtBSUlJQXBCREd4cUtBSUFJQVZCREd4cUlnTXBBZ0EzQWdBZ0FpQURLQUlJTmdJSUlBVkJBV29oQlF3QkN3dEJBQ0VJQWtBQ1FBTkFJQWdnREVnRVFDQUJLQUlBS0FJSUlnTWdDRUVNYkdvb0FnZ2dBQ2dDQUNnQ0NDQUtRUXhzYWlnQ0NFWU5BaUFJUVFGcUlRZ01BUXNMREFFTFFRQWhCUU5BSUFVZ0NFRU1iQ0FEYWlnQ0JFNE5BU0FKS0FJQUlBVWdCMnBCREd4cUlnSWdDRUVNYkNBRGFpZ0NBQ0FGUVF4c2FpSURLUUlBTndJQUlBSWdBeWdDQ0RZQ0NDQUZRUUZxSVFVZ0FTZ0NBQ2dDQ0NFRERBQUFDd0FMSUFwQkRHd2dEbW9nQkRZQ0JDQUtRUUZxSVFvTUFRc0xEQUVMUVFCQkEwRzUyQUlnRHhBOVFRRVFBUXRCQUNFRVFRQWhDQUpBQWtBRFFDQUlJQXhJQkVBZ0FTZ0NBQ2dDQ0NJSElBaEJER3hxS0FJSUlRVkJBQ0VDQWtBQ1FBTkFJQUlnQzA0TkFTQUNRUUZxSVFNZ0FDZ0NBQ2dDQ0NBQ1FReHNhaWdDQ0NBRlJ3UkFJQU1oQWd3QkN3c2dCRUVCYWlFRURBRUxJQWdnQzJvZ0JHc2lEMEVNYkNBT2FpRUpJQTlCREd3Z0Rtb2dCVFlDQ0NBSklBaEJER3dnQjJvb0FnUWlCMEVNYkJCRUlnTTJBZ0FnQTBVTkEwRUFJUVVEUUNBRklBZElCRUFnQ1NnQ0FDQUZRUXhzYWlJQ0lBRW9BZ0FvQWdnZ0NFRU1iR29vQWdBZ0JVRU1iR29pQXlrQ0FEY0NBQ0FDSUFNb0FnZzJBZ2dnQlVFQmFpRUZEQUVMQ3lBUFFReHNJQTVxSUFjMkFnUUxJQWhCQVdvaENBd0JDd3NNQVF0QkFFRURRYm5ZQWlBUUVEMUJBUkFCQ3lBQUtBSUFJZ0pCQ0dvaUF5Z0NBQ0lFQkVCQkFDRURBMEFnQXlBQ0tBSU1TQVJBSUFOQkRHd2dCR29vQWdBUU9DQURRUUZxSVFNZ0FDZ0NBQ0lFSVFJZ0JDZ0NDQ0VFREFFTEN5QUVFRGdnQUNnQ0FFRUlhaUVEQ3lBRElBNDJBZ0FnQUNnQ0FDQUdOZ0lNSUFFUS93TUxRUUFGUVFCQkEwR2d1QUVnRFJBOVFYOExJUkVnRFNRR0lCRUxvd0VCQW44Z0FDZ0NBQ0lCQkg4Z0FTZ0NBQ0lDQkVBZ0FpZ0NBQ0VCSUFKQkFEWUNBQ0FCQkVBZ0FSRHJBeUFCRURnTElBSVFPQ0FBS0FJQUlRRUxJQUVvQWh3aUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FpUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BalFpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWl3aUFnUi9JQUlRT0NBQUtBSUFCU0FCQ3hBNElBQkJBRFlDQUVFQUJVRi9DeG9MakFFQkEzOGpCaUVFSXdaQkVHb2tCa0VCUWJ3Z0VJMENJZ01FUUVFRUVGRWlCUkM3Q0NBRElBVTJBZ0FnQXlBQU5nSUVJQU5CQVRZQ0NDQURJQUUyQWd3Z0F5QUNOZ0lRSUFOQkFUWUNGQ0FEUVg4MkFoZ2dBMElBTndJY0lBTkNBRGNDSkNBRFFnQTNBaXdnQTBJQU53STBJQVFrQmlBRER3VkJBRUVEUWJuWUFpQUVFRDFCQVJBQkMwRUFDOGNCQWdKL0IzMENmeU1HSVFZakJrRkFheVFHSUFBcUFnd2dBQ29DTENJTUlBR1VreUVKSUFBcUFpUWlCeUFDbENBQUtnSVVreUVLSUFBcUFpQWlDQ0FDbENBQUtnSVFreUVMSUFjZ0FaUWdBQ29DQkpNaEJ5QUlJQUdVSUFBcUFnQ1RJUWdnQUNvQ0hDRU5JQXdnQXBRaEFRSkFEQUFMSUEwZ0FaTWhBU0FJSUFxVUlBY2dDNVNUSWdKREFBQUFBRnNFZjBGL0JTQURJQW9nQ1pRZ0J5QUJsSk1nQXBVNEFnQWdCQ0FJSUFHVUlBc2dDWlNUSUFLVk9BSUFRUUFMSVFBZ0Jnc2tCaUFBQ3ljQkFYOGdBQ2dDQUNJQkJIOGdBUkRpQWlBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEdndlZCZ0lQZndGOUl3WWhDU01HUWRBQWFpUUdJQWxCUEdvaENDQUpRVGhxSVFZZ0NVRTBhaUVPSUFsQk1Hb2hEeUFKUVVCcklSQUNmd0pBSUFBRWZ5QUFRUWhxSUFFZ0NSRDZBU0FJSUFNb0FnQWlCeUFFUVJSc2FpZ0NDQ0lCTmdJQUlBWWdCRUVVYkNBSGFpb0NEQ0lWT0FJQVFRQWdDU0FCdmlBVklBZ2dCaERsQVVFQVNBUi9RWDhGSUFCQnVBRnFJaEVnQ0NvQ0FDQUdLZ0lBSUE0Z0R4QnRRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVFnZ0R5b0NBRU1BQUFBL2toQkRJUkpCQUNFRVFRQWdCU2dDRUNJQWF5RUtJQklnQUVFQmRHc2hDMEVBSVFGQkFDRUFJQVVvQWhnaEJ3TkFJQW9nQlNnQ0ZFb0VRQ0FFSVFjTUJRVWdDN0loRlVFQUlBVW9BZ2dpQm1zaERDQUlJQVpCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnRVNBTnNpQVZJQTRnRHhDbUFVRUFTQVJBSUFkQmdDQTdBUUFGSUFrZ0FpZ0NBQ0FES0FJSVFRSjBhaWdDQUNBT0tnSUFJQThxQWdBZ0VCQ0JCRUVBU0FSQUlBZEJnQ0E3QVFBRklBY2dFQzBBQUNJR093RUFJQVJCQVdvaEJDQUJJQVpCL3dGeElnWWdCbXhxSVFFZ0FDQUdhaUVBQ3dzZ0RFRUJhaUVNSUExQkFtb2hEU0FIUVFKcUlRY01BUXNMSUFwQkFXb2hDaUFMUVFKcUlRc01BUXNBQUFzQUN3c0ZJQWdnQXlnQ0FDSUhJQVJCRkd4cUtBSUlJZ0EyQWdBZ0JpQUVRUlJzSUFkcUtnSU1JaFU0QWdCQkFDQUJJQUMrSUJVZ0RpQVBFT1VCUVFCSUJIOUJmd1VnRGlvQ0FFTUFBQUEva2hCRElSRWdEeW9DQUVNQUFBQS9raEJESVJOQkFDQUZLQUlRSWdCcklRb2dFeUFBUVFGMGF5RUxRUUFoQjBFQUlRUkJBQ0VBSUFVb0FoZ2hCZ05BSUFvZ0JTZ0NGRW9FUUNBRUlRRU1CQVVnQzdJaEZVRUFJQVVvQWdnaUNHc2hEQ0FSSUFoQkFYUnJJUTBEUUNBTUlBVW9BZ3hNQkVBZ0FTQUNLQUlBSUFNb0FnaEJBblJxS0FJQUlBMnlJQlVnRUJDQkJFRUFTQVJBSUFaQmdDQTdBUUFGSUFZZ0VDMEFBQ0lJT3dFQUlBZEJBV29oQnlBRUlBaEIvd0Z4SWdnZ0NHeHFJUVFnQUNBSWFpRUFDeUFNUVFGcUlRd2dEVUVDYWlFTklBWkJBbW9oQmd3QkN3c2dDa0VCYWlFS0lBdEJBbW9oQ3d3QkN3QUFDd0FMQ3d3QkN5QUhCSDhnQlNBQklBQWdBR3dnQnhBNWE3S1JFRU0yQWh3Z0JTQUFOZ0lnSUFVZ0J6WUNKRUVBQlVGL0N3c2hGQ0FKSkFZZ0ZBdVNBUUVEZnlNR0lRTWpCa0VRYWlRR1FTZ1FSQ0lDUlFSQVFRQkJBMEc1MkFJZ0F4QTlRUUVRQVFzZ0EwRUlhaUVFSUFJZ0FEWUNFQ0FDSUFBMkFnZ2dBaUFCTmdJVUlBSWdBVFlDRENBQ0lBRWdBRUVCYW1vaUFEWUNBQ0FDSUFBMkFnUWdBaUFBUVFGMElBQnNFRVFpQURZQ0dDQUFCRUFnQXlRR0lBSVBCVUVBUVFOQnVkZ0NJQVFRUFVFQkVBRUxRUUFMNXdJQkJYOGdCQ2dDQkNFTklBRkJBWFFoQ3lBRUtBSUFJUTRnQkNnQ0dDRUtJQUFnQWlBQklBTnNhbW9oQWtFQUlRQURRQ0FNSUExSUJFQkJBQ0VESUFJaEFRTkFJQU1nRGtnRVFDQUFJQUV0QUFBZ0NpOEJBR3hxSVFBZ0EwRUJhaUVESUFwQkFtb2hDaUFCUVFKcUlRRU1BUXNMSUF4QkFXb2hEQ0FDSUF0cUlRSU1BUXNMSUE1QkFYUWlBMEVJYWlJQ0lBaEJmbW9pQVNBTlFRRjBhbXdoQ3lBRElBZEJmbW9pQ21vaUNDQUxhaUlIUVFKMElBVnFLQUlBSUFvZ0FTQUNiQ0lCYWlJRFFRSjBJQVZxS0FJQWFpQUtJQXRxSWdKQkFuUWdCV29vQWdCcklBRWdDR29pQVVFQ2RDQUZhaWdDQUdzaEJTQUpJQWRCQW5RZ0Jtb29BZ0FnQTBFQ2RDQUdhaWdDQUdvZ0FrRUNkQ0FHYWlnQ0FHc2dBVUVDZENBR2FpZ0NBR3NnQlNBRmJDQUVLQUlrSWdJUU9Xc2lBUVIvSUFBZ0JTQUVLQUlnYkNBQ0VEbHJRZVFBYkNBRUtBSWNFRGxCNUFCc0lBR3lrUkJERURrRlFRQUxOZ0lBQzdFQ0FRSi9JQU1vQWdBaUJ3UkFBa0FEUUFKQUlBZ2dCMDROQUNBSVFRSjBJQVpxS0FJQUlBSklEUUFnQ0VFQmFpRUlEQUVMQ3lBSElBaEdCRUFnQjBFRFR3MEJJQWRCQW5RZ0JHb2dBRFlDQUNBSFFRSjBJQVZxSUFFMkFnQWdCMEVDZENBR2FpQUNOZ0lBSUFNZ0F5Z0NBRUVCYWpZQ0FBd0JDeUFIUVFOR0JIOUJBZ1VnQXlBSFFRRnFOZ0lBSUFjTElRTURRQ0FESUFoS0JFQWdBMEVDZENBRWFpQURRWDlxSWdkQkFuUWdCR29vQWdBMkFnQWdBMEVDZENBRmFpQUhRUUowSUFWcUtBSUFOZ0lBSUFOQkFuUWdCbW9nQjBFQ2RDQUdhaWdDQURZQ0FDQUhJUU1NQVFzTElBTkJBblFnQkdvZ0FEWUNBQ0FEUVFKMElBVnFJQUUyQWdBZ0EwRUNkQ0FHYWlBQ05nSUFDd1VnQkNBQU5nSUFJQVVnQVRZQ0FDQUdJQUkyQWdBZ0EwRUJOZ0lBQ3d1b0RRRWNmeU1HSVF3akJrSFFBR29rQmlBTVFRaHFJUk1nRENJZVFjZ0FhaUViSUF4QlBHb2hIQ0FNUVRCcUlSMGdERUVrYWlFVUlBeEJJR29oRnlBTVFSaHFJUjhnREVFUWFpRWdJQVVvQWhBaEppQUZLQUlVSVNVZ0FrRi9haUVXSUFOQmYyb2hHQU5BQWtBZ0VVRURUdzBBSUJGQkEzUWdDR29vQWdBaURFRUFTQTBBSUF4QmZIRkJBbklpRENBR2F5SU5RUUFnRFVFQVNoc2hEU0FHSUF4cUlnd2dGaUFNSUFKSUd5RVpJQkZCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc0Z0Iyc2hEQ0FISUE1cUlnNGdHQ0FPSUFOSUd5RVZJQXhCQUNBTVFRQktHeUVPQTBBZ0RpQVZUQVJBSUFFZ0RTSU1JQUlnRG14cWFpRVBBMEFnRENBWlRBUkFJQTlCQURvQUFDQU1RUUZxSVF3Z0QwRUJhaUVQREFFTEN5QU9RUUZxSVE0TUFRc0xJQkZCQVdvaEVRd0JDd3NnRzBFQU5nSUFJQ1ZCQVhRaEVDQW1RUUYwSVJKQkFTRU1RUUFoRHdKQUFrQURRQUpBSUE5QkEwOE5BaUFQUVFOMElBaHFLQUlBSWcxQkFFZ05BQ0FISUE5QkEzUWdDR29vQWdSQkJCQTVRUUowUVFKeUlnNXFJUllnRFVGOGNVRUNjaUlOSUFacklSRWdCaUFOYWlFWUlBNGdCMnNoRGdOQUFrQWdEaUFXU2cwQUlBNGdFazRFUUFKQUlBNGdFR29nQTA0TkFpQUNJQTVzSVJrZ0VTRU5BMEFnRFNBWVNnMEJJQTBnQlNnQ0NFRUJkRTRFUUNBTklBVW9BZ3hCQVhScUlBSk9EUUlnQVNBTklCbHFhaUlWTEFBQVJRUkFJQlZCQVRvQUFDQUFJQUlnQkNBRklBMGdEaUFYRUlNRUlBMGdEaUFYS0FJQUlCc2dIQ0FkSUJRUXF3bEJBQ0VNQ3dzZ0RVRUVhaUVOREFBQUN3QUxDeUFPUVFScUlRNE1BUXNMSUE5QkFXb2hEd3dCQ3dzZ0RFVU5BRUYvSVFZTUFRc2dCU2dDQUVFRGRFRWdhaUFGS0FJRVFRRjBRUWhxYkNJQkVFUWlFVVVFUUVFQVFRTkJ1ZGdDSUI0UVBVRUJFQUVMSUFFUVJDSU9SUVJBUVFCQkEwRzUyQUlnRXhBOVFRRVFBUXRCQUNFQlFRQWhFa0YvSVFZRFFDQVNJQnNvQWdCSUJFQUNRQUpBSUFVb0FpUWdCU2dDQUNJTklBVW9BZ1FpQjJ4SERRQUNRQ0FFUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnRWtFQ2RDQWRhaUloS0FJQUlnaEJmV29nQlNnQ0VFRUJkR3NpR0VFQVNBMEFJQWhCQTJvZ0JTZ0NGRUVCZEdvZ0EwNE5BQ0FTUVFKMElCeHFJaUlvQWdBaUNFRjlhaUFGS0FJSVFRRjBheUlaUVFCSURRQWdDRUVEYWlBRktBSU1RUUYwYWlBQ1RnMEFJQWRCQVhSQkJtb2hJeUFOUVFKMFFSQnFJUThnRGlFSElCRWhDRUVBSVF3RFFDQU1JQTlJQkVBZ0NFRUFOZ0lBSUFkQkFEWUNBQ0FIUVFScUlRY2dDRUVFYWlFSUlBeEJBV29oREF3QkN3c2dEVUVCZEVFR2FpRWtJQUFnR1NBQ0lCaHNhbW9oRXlBT0lRd2dFU0VOUVFBaEZnTkFJQllnSTBnRVFDQUlRUWhxSVNjZ0J5RVBRUUFoRUFOQUlCQkJBa2NFUUNBSVFRQTJBZ0FnRDBFQU5nSUFJQkJCQW5RZ0gycEJBRFlDQUNBUVFRSjBJQ0JxUVFBMkFnQWdEMEVFYWlFUElBaEJCR29oQ0NBUVFRRnFJUkFNQVFzTElCTWhEeUFNUVFocUlRd2dEVUVJYWlFTklBZEJDR29oQnlBbklRaEJBQ0VVQTBBZ0ZDQWtTQVJBSUE4dEFBQWdGRUVCY1NJVlFRSjBJQjlxSWhvb0FnQnFJUkFnR2lBUU5nSUFJQTh0QUFBaUdpQWFiQ0FWUVFKMElDQnFJaG9vQWdCcUlSVWdHaUFWTmdJQUlBZ2dFQ0FOS0FJQWFqWUNBQ0FISUJVZ0RDZ0NBR28yQWdBZ0QwRUJhaUVQSUF4QkJHb2hEQ0FOUVFScUlRMGdCMEVFYWlFSElBaEJCR29oQ0NBVVFRRnFJUlFNQVFzTElBSWdFMm9oRXlBV1FRRnFJUllNQVFzTFFRQWhDQU5BSUFoQkIwY0VRQ0FJSUJocUlRMGdDRUVDYWlFUElBaEJmV29oRTBFQUlRd0RRQ0FNUVFkSEJFQWdBQ0FDSUF3Z0dXb2dEU0FGSUJFZ0RpQU1RUUpxSUE4Z0Z4Q3FDU0FYS0FJQUlnY2dBVW9FUUNBSklDSW9BZ0FnREVGOWFtbzJBZ0FnQ2lBVElDRW9BZ0JxTmdJQUlBc2dCN0pEQUVBY1JwVTRBZ0JCQUNFR0lBY2hBUXNnREVFQmFpRU1EQUVMQ3lBSVFRRnFJUWdNQVFzTERBRUxJQkpCQW5RZ0hXb29BZ0FpQjBFRGFpRU5JQkpCQW5RZ0hHb2hEeUFIUVgxcUlRZ0RRQ0FJSUExS0RRRWdDQ0FGS0FJUVFRRjBUZ1JBQWtBZ0NDQUZLQUlVUVFGMGFpQURUZzBESUE4b0FnQWlCMEVEYWlFVElBZEJmV29oREFOQUlBd2dFMG9OQVNBTUlBVW9BZ2hCQVhST0JFQWdEQ0FGS0FJTVFRRjBhaUFDVGcwQ0lBQWdBaUFFSUFVZ0RDQUlJQmNRZ3dRZ0Z5Z0NBQ0lISUFGS0JFQWdDU0FNTmdJQUlBb2dDRFlDQUNBTElBZXlRd0JBSEVhVk9BSUFJQWNoQVVFQUlRWUxDeUFNUVFGcUlRd01BQUFMQUFzTElBaEJBV29oQ0F3QUFBc0FDeUFTUVFGcUlSSU1BUXNMSUJFUU9DQU9FRGdMSUI0a0JpQUdDM0FCQW44Z0FBUi9JQUJCQVRZQ21BRURRQ0FEUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFCQkNHb2dBMEVFZEdvZ0FrRUNkR29nQTBFRWRDQUJhaUFDUVFKMGFpZ0NBRFlDQUNBQ1FRRnFJUUlNQVFzTElBTkJBV29oQXd3QkN3c2dBRUYvTmdLb0FVRUFCVUYvQ3hvTHlnc0JHMzhqQmlFQkl3WkI0QWxxSkFZZ0FVSFFDV29oRkNBQlFjZ0phaUVWSUFGQnVBbHFJUXNnQVVHd0NXb2hGaUFCUWFBSmFpRU1JQUZCbUFscUlSY2dBVUdJQ1dvaERTQUJRZWdJYWlFWUlBRkI0QWhxSVE4Z0FVSFlDR29oR1NBQlFkQUlhaUVhSUFGQnlBaHFJUkFnQVVIQUNHb2hHeUFCUWJnSWFpRVJJQUZCc0FocUlSSWdBVUdvQ0dvaENTQUJRYUFJYWlFS0lBRkJtQWhxSVE0Z0FVR1FDR29oQWlBQlFZZ0lhaUVGSUFGQmdBaHFJUWdnQVVHQUJtb2hCaUFCUVlBRWFpRUhJQUZCMUFscUlRUUNRQUovQWtCQm50SUNMQUFBUlEwQVFaN1NBa0dlMGdJUXN3RkZEUUFnQ0NBQU5nSUFJQWhCbnRJQ05nSUVJQUZCajd3QklBZ1F2QUVnQVVHSnRnRVFzQUVpQXdSL1FRRU1BZ1VnQlNBQU5nSUFRUUJCQTBHTHRnRWdCUkE5UWFURkF5Z0NBQkM5QVNFQUlBSkJwOVVETmdJQUlBSWdBRFlDQkVFQVFRTkJwYllCSUFJUVBVRUFDeUVUREFJTElBY2dBRUgvQVJEVkFTQUhRUUE2QVA4QlFRQUxJUUJCOUFnUVJDSUZSUVJBUVFCQkEwRzUyQUlnRGhBOVFRRVFBUXNnQlNBQVFRQkhJZzRFZnlBR0lBTVE1Z0ZGQkVBZ0F4QnFJQVVRT0F3Q0N5QUtJQVEyQWdBZ0JrR3J0Z0VnQ2hDREFVRUJSd1JBSUFNUWFpQUZFRGdNQWdzZ0JDZ0NBQ0lBUVFGSUJIOGdBeEJxSUFVUU9Bd0NCU0FBQ3dWQkFRc2lDallDQkNBRlFRQTJBcGdCSUFVZ0NrSHdBR3dRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBSkVEMUJBUkFCQzBFQUlRQUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FBTmdJQUlBQWdDazROQnlBU0lBQkJBV28yQWdCQkFFRUJRYTYyQVNBU0VEMGdEZ1JBSUFZZ0F4RG1BVVVOQ0NBUklBYzJBZ0FnQmtIR3RnRWdFUkNEQVVFQlJ3MElJQWNRL0FVTFFRQkJBVUhKdGdFZ0d4QTlJQWNRdndraEFDQUVLQUlBUWZBQWJDQUNhaUFBTmdJQUlBQkZEUUJCQUVFQlFmcTJBU0FhRUQxQkFFRUJRWVMzQVNBWkVEMGdCeEN4Q1NFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQWdRZ0FFVU5Ba0VBUVFGQityWUJJQmdRUFNBRUtBSUFRZkFBYkNBQ2FrRUFOZ0lJSUE0RVFDQUdJQU1RNWdGRkRRZ2dEU0FFS0FJQUlnQkI4QUJzSUFKcVFReHFOZ0lBSUEwZ0FFSHdBR3dnQW1wQkVHbzJBZ1FnRFNBQVFmQUFiQ0FDYWtFVWFqWUNDQ0FOSUFCQjhBQnNJQUpxUVJocU5nSU1JQVpCN0xjQklBMFFnd0ZCQkVjTkJDQUdJQU1RNWdGRkRRZ2dEQ0FFS0FJQUlnQkI4QUJzSUFKcVFSeHFOZ0lBSUF3Z0FFSHdBR3dnQW1wQklHbzJBZ1FnRENBQVFmQUFiQ0FDYWtFa2FqWUNDQ0FNSUFCQjhBQnNJQUpxUVNocU5nSU1JQVpCN0xjQklBd1Fnd0ZCQkVjTkJTQUdJQU1RNWdGRkRRZ2dDeUFFS0FJQUlnQkI4QUJzSUFKcVFTeHFOZ0lBSUFzZ0FFSHdBR3dnQW1wQk1HbzJBZ1FnQ3lBQVFmQUFiQ0FDYWtFMGFqWUNDQ0FMSUFCQjhBQnNJQUpxUVRocU5nSU1JQVpCN0xjQklBc1Fnd0ZCQkVjTkJpQUVLQUlBSVFBRklBUW9BZ0FoQUVFQUlRZ0RRQ0FJUVFOSEJFQkJBQ0VKQTBBZ0NVRUVSd1JBSUFCQjhBQnNJQUpxUVF4cUlBaEJCSFJxSUFsQkFuUnFRd0FBZ0Q5REFBQUFBQ0FJSUFsR0d6Z0NBQ0FKUVFGcUlRa01BUXNMSUFoQkFXb2hDQXdCQ3dzTElBQkI4QUJzSUFKcVFReHFJQUJCOEFCc0lBSnFRVHhxRUo0R0lBY1FoUVpCZ0FJUVJDRUFJQVFvQWdCQjhBQnNJQUpxSUFBMkFtd2dBRVVOQmlBQUlBZEJnQUlRMVFFZ0JDZ0NBRUVCYWlFQURBRUxDeUFRSUFjMkFnQkJBRUVEUWR1MkFTQVFFRDBnQWhBNElBVVFPQ0FEUlEwSElBTVFhZ3dIQ3lBUElBYzJBZ0JCQUVFRFFaaTNBU0FQRUQwZ0JDZ0NBRUh3QUd3Z0Ftb1F1QWtnQWhBNElBVVFPQ0FEUlEwR0lBTVFhZ3dHQzBFQVFRTkIrTGNCSUJjUVBTQURFR3BCQUJBQkRBUUxRUUJCQTBINHR3RWdGaEE5SUFNUWFrRUFFQUVNQXd0QkFFRURRZmkzQVNBVkVEMGdBeEJxUVFBUUFRd0NDMEVBUVFOQnVkZ0NJQlFRUFVFQkVBRU1BUXNnQXdSQUlBTVFhZ3NnQkNnQ0FDQUtUZ1JBSUFVaEV3d0NDMEVBRUFFTEN5QUJKQVlnRXd0TkFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FRUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFFT01DSWdBMkFnQWdBRVVFUUNBQkVEaEJBQ0VCQ3lBQ0pBWWdBUXNwQUNBQUlBRkJBM1FnQUdvZ0FrRURkQ0FBYWlJQkVJUUVJQUFnQVNBRFFRTjBJQUJxRUlRRWtndkpCd0VUZnlNR0lRSWpCa0dBQldva0JpQUNRZkFFYWlFSklBSkI2QVJxSVFvZ0FrSGdCR29oQ3lBQ1FkZ0VhaUVNSUFKQjBBUnFJUTBnQWtISUJHb2hEaUFDUWNBRWFpRVBJQUpCdUFScUlSQWdBa0d3QkdvaEVTQUNRYWdFYWlFU0lBSkJvQVJxSVFVZ0FrR1lCR29oQmlBQ1FaQUVhaUVFSUFKQmlBUnFJUUVnQWtHQUJHb2lBeUFBTmdJQUlBTkJudElDTmdJRUlBSkJqN3dCSUFNUXZBRWdBa0dJdVFFUXNBRWlBd1JBUVFnUVJDSUFSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNDUUFKQUlBQkJCR3BCQkVFQklBTVFZVUVCUmdSQUFrQWdBQ0FBS0FJRUloTkJGR3dRUkNJR05nSUFJQVpGQkVCQkFFRURRYm5ZQWlBRkVEMUJBUkFCQzBFQUlRVURRQUpBSUFVZ0UwNE5BaUFGUVJSc0lBWnFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRU1JUUVNQVFzZ0JVRVViQ0FHYWtFTWFrRUVRUUVnQXhCaFFRRkhCRUJCRHlFQkRBRUxJQVZCRkd3Z0JtcEJFR3BCQkVFQklBTVFZVUVCUndSQVFSRWhBUXdCQ3lBRlFSUnNJQVpxSWdoQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJNaEFRd0JDeUFGUVJSc0lBWnFJZ2NnQ0NnQ0JDSUJRUlJzRUVRaUJEWUNBQ0FFUlFSQVFSWWhBUXdCQzBFQUlRUURRQ0FFSUFGSUJFQWdCeWdDQUNBRVFSUnNha0VFUVFFZ0F4QmhRUUZIQkVCQkdTRUJEQU1MSUFjb0FnQWdCRUVVYkdwQkJHcEJCRUVCSUFNUVlVRUJSd1JBUVJzaEFRd0RDeUFIS0FJQUlBUkJGR3hxUVFocVFRUkJBU0FERUdGQkFVY0VRRUVkSVFFTUF3c2dCeWdDQUNBRVFSUnNha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJIeUVCREFNTElBY29BZ0FnQkVFVWJHcEJFR3BCQkVFQklBTVFZVUVCUmdSQUlBUkJBV29oQkNBSUtBSUVJUUVNQWdWQklpRUJEQU1MQUFzTElBVkJBV29oQlF3QkN3c0NRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkRHc09Gd0FLQ2dFS0Fnb0RDZ29FQ2dvRkNnWUtCd29JQ2dvSkNndEJBRUVEUWZ1MUFTQVNFRDBNQ1F0QkFFRURRZnUxQVNBUkVEME1DQXRCQUVFRFFmdTFBU0FRRUQwTUJ3dEJBRUVEUWZ1MUFTQVBFRDBNQmd0QkFFRURRYm5ZQWlBT0VEMUJBUkFCREFVTFFRQkJBMEg3dFFFZ0RSQTlEQVFMUVFCQkEwSDd0UUVnREJBOURBTUxRUUJCQTBIN3RRRWdDeEE5REFJTFFRQkJBMEg3dFFFZ0NoQTlEQUVMUVFCQkEwSDd0UUVnQ1JBOUMwRUFJUUVEUUNBQklBVkhCRUFnQVVFVWJDQUdhaWdDQUJBNElBRkJBV29oQVF3QkN3c2dCaEE0REFJTEJVRUFRUU5CKzdVQklBWVFQUXdCQ3d3QkN5QUFFRGhCQUNFQUN5QURFR29GSUFFZ0FEWUNBRUVBUVFOQjVyVUJJQUVRUFVFQUlRQUxJQUlrQmlBQUN3OEFJQUFvQWdCQmhBRnFRUUVRQmd2NURRRVFmeU1HSVFzakJrSEFCbW9rQmtFRUlRbEJLQkJFSWdoQkFEWUNBQ0FMUVJocUlnZEJBRUhvQXhCRkdrRUFKQU5CUHlBTFFaZ0VhaUlNRUJBaEJpTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBaEJCQkI5SWdwRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFS0N5QUxRWkFFYWlFUElBdEJpQVJxSVJBZ0MwR0FCR29oRVFKL0VBY2dDa0VCYTBVTkFCb2dCeUFHTmdJQUlBeEI4QUEyQWdBZ0RFR0VBV3BCQVNBSVFRUVFqd1FoQ0JBSElRbEJBQ1FEUVFBa0EwRUFJZ1ZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISUFaQkFXdEZEUUFhUVFBTElRVUNRQUpBQWtBQ1FBTkFBa0FnQlFSQVFRQWtBMEh4QUNBSEVBOGpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUpCQUNRRFFRaEJBRUVEUWFpMUFTQVJFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3NOQVF3Q0MwRUFKQU5CQVNBSFFkb0FRZWdERUJzakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRRkJBQ1FEUVNjZ0J5QUFFQndqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURBbjlCRXlBSFFRRVFKaUVTSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlDa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJTQUtRUUZyUlEwQ0lCSkJBVWNMQkVCQkFDUURRUWhCQUVFRFFjSzFBU0FRRUJFakF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUWZFQUlBY1FEeU1ESVFWQkFDUURJQVZCQUVjakJFRUFSM0VFUUNBRktBSUFJQWdnQ1JCOUlnWkZCRUFnQlNNRUVBWUxJd1FRQXdWQmZ5RUdDeEFISVFVZ0JrRUJhdzBEREFJTFFRQWtBMEhBQUNBSEVCQWFJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJSUTBCSUFjb0FpUWdCeWdDSEd3aURDQUhLQUlnYkNFRlFRQWtBMEhCQUNBRkVCQWhCU01ESVFaQkFDUURJQVpCQUVjakJFRUFSM0VFUUNBR0tBSUFJQWdnQ1JCOUlncEZCRUFnQmlNRUVBWUxJd1FRQXdWQmZ5RUtDeEFISVFZZ0NrRUJhMFVFUUNBR0lRVU1BZ3NnQlVVRVFFRUFKQU5CQ0VFQVFRTkJ1ZGdDSUE4UUVTTURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmEwVU5Ba0VBSkFOQjhRQWdCeEFQSXdNaEJVRUFKQU1nQlVFQVJ5TUVRUUJIY1FSQUlBVW9BZ0FnQ0NBSkVIMGlCa1VFUUNBRkl3UVFCZ3NqQkJBREJVRi9JUVlMRUFjaEJTQUdRUUZyRFFRTUFndEJBQ0VOQTBBZ0J5Z0NqQUVnQnlnQ2RFa0VRRUVBSVFZRFFDQUdRUVZIQkVBZ0JrRUNkQ0FMYWlBRklBd2dCaUFOYW14cU5nSUFJQVpCQVdvaEJnd0JDd3RCQUNRRFFSa2dCeUFMUVFVUUlTRVRJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaURrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRNExFQWNoQmlBT1FRRnJSUVJBSUFZaEJRd0VDeUFUSUExcUlRME1BUXNMUVFBa0EwSENBQ0FIRUJBYUl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hCaUFLUVFGclJRUkFJQVloQlF3Q0MwRUFKQU5COFFBZ0J4QVBJd01oQmtFQUpBTWdCa0VBUnlNRVFRQkhjUVJBSUFZb0FnQWdDQ0FKRUgwaUNrVUVRQ0FHSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoRkNBS1FRRnJEUVFnRkNFRkRBRUxDMEVBSVFVTUF3dEJBQ0VGREFJTFFRQWhCUXdCQ3lBQkJFQWdBU0FIS0FJY05nSUFDeUFDQkVBZ0FpQUhLQUlnTmdJQUN5QURCRUFnQXlBSEtBSWtOZ0lBQ3lBRUJFQUNRQUpBQWtBQ1FDQUhMQUNpQWlJQVFRRnJEZ0lBQVFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeU9BSUFEQVVMREFJTElBY3VBYVFDSWdBZ0J5NEJwZ0pHQkVBZ0JDQUFRZi8vQTNHeVExeVBJa0NVT0FJQURBUUxEQUVMSUFCQi93RnhRUUpLQkVBZ0J5NEJwQUpGQkVBZ0J5NEJwZ0pGQkVBZ0JDQUFRZjhCY2JJNEFnQU1CUXNMQ3dzZ0JFTUFBQUFBT0FJQUN3c2dDQkE0SUFza0JpQUZDLzRUQWhCL0FYd2pCaUVUSXdaQkVHb2tCaUFUSVE4Z0JDZ0NBQ0lHSVFjZ0FTQUNRWDlxSWhCc1FRRjBJQVpxSVFVRFFDQUpJQUZJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FIUVFKcUlRY2dDVUVCYWlFSklBVkJBbW9oQlF3QkN3c2dCaUVIUVFBaENTQUJRWDlxSWhGQkFYUWdCbW9oQlFOQUlBa2dBa2dFUUNBRlFRQTdBUUFnQjBFQU93RUFJQUZCQVhRZ0Iyb2hCeUFKUVFGcUlRa2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFkQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oRGtFQklReEJBQ0VESUFBZ0JDZ0NCR29oQ1NBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTUlCQk9EUUlnQXlFQVFRRWhDZ05BSUFvZ0VVZ0VRQ0FOTFFBQUlBNHRBQUJLQkVBQ1FDQUpRWDg2QUFBZ0VrRUJkQ0FHYWlJRExnRUFJZ1ZCQUVvRVFDQUdJQVU3QVFBZ0JVRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0EwRithaTRCQUNJRklRZ2dCVUVBU2lFTElBTXVBUUlpQTBFQVRBUkFJQXNFUUNBR0lBVTdBUUFnQ0VFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDa2dFUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUdRWDVxTGdFQUlnTkJBRW9FUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZU0EwQUJxSWdNb0FnQWdDazROQWlBRElBbzJBZ0FGSUFCQi8vOEJTZzBHSUFZZ0FFRUJhaUlET3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQTBFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDallDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQURJUUFMREFFTElBc0VRQUpBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFHUVg1cUxnRUFJZ1ZCQUV3RVFDQUdJQU03QVFBZ0EwRUhiQ0lEUVFKMElBUnFRZlQvendCcUlnVWdCU2dDQUVFQmFqWUNBQ0FEUVFKMElBUnFRZmovendCcUlnVWdDaUFGS0FJQWFqWUNBQ0FEUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQ0FEUVFKMElBUnFRWUNBMEFCcUlnVW9BZ0FnQ2tvRVFDQUZJQW8yQWdBTElBTkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFOQkFuUWdCR3BCaklESUFHb29BZ0FpQXlBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdWS0JFQWdCaUFGT3dFQUlBY2hDRUVBSVFzRFFDQUxJQUJPQkVBZ0JTRUREQU1MSUFNZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FMUVFGcUlRc01BQUFMQUFVZ0JpQURPd0VBSUFNZ0JVZ0VRQ0FISVFoQkFDRUxBMEFnQ3lBQVRnMERJQVVnQ0NnQ0FFWUVRQ0FJSUFNMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQXNMQ3lBRFFSQjBRUkIxUVFkc0lnTkJBblFnQkdwQjlQL1BBR29pQlNBRktBSUFRUUZxTmdJQUlBTkJBblFnQkdwQitQL1BBR29pQlNBS0lBVW9BZ0JxTmdJQUlBTkJBblFnQkdwQi9QL1BBR29pQXlBTUlBTW9BZ0JxTmdJQUN3VWdCa0VBT3dFQUlBbEJBRG9BQUFzZ0RVRUJhaUVOSUE1QkFXb2hEaUFKUVFGcUlRa2dDa0VCYWlFS0lBWkJBbW9oQmd3QkN3c2dEVUVDYWlFTklBNUJBbW9oRGlBTVFRRnFJUXdnQUNFRElBbEJBbW9oQ1NBR1FRUnFJUVlNQVFzTFFRQkJBMEdvcFFFZ0R4QTlRWDhNQVFzZ0JFRU1haUVGUVFFaEFFRUJJUWtnQnlFR0EwQWdDU0FEVEFSQUlBa2dCaWdDQUNJTlJnUkFJQUJCQVdvaEJ3VWdBQ0VISUExQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0JpQUFOZ0lBSUFjaEFDQUpRUUZxSVFrZ0JrRUVhaUVHREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0JVRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUWNEUUNBSElBQklCRUFnQkVHTWdBaHFJQWRCQW5RaUJrRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0JrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dCa0VDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQmtFRGNrRUNkR3BCQURZQ0FDQUhRUUZxSVFjTUFRc0xRUUFoQVFOQUlBRWdBMGdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lCeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0J5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlCMEVEZEdvaUJpQUdLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0IwRUJja0VEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCa2dFUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUJrb0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZhTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVZvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZDQVBKQVlnRkF0aEFRTi9Jd1loQXlNR1FSQnFKQVlnQXlFQ1FSUVFSQ0lCUlFSQVFRQkJBMEc1MkFJZ0FoQTlRUUVRQVFzZ0FTQUFJQUZCQ0dvZ0FVRU1haUFCUVFScUlBRkJFR29Rc3draUFEWUNBQ0FBUlFSQUlBRVFPRUVBSVFFTElBSWtCaUFCQ3lBQUlBRWdBaUFEclNBRXJVSWdob1FnQlNBR0lBQkJBM0ZCNmdacUVTVUFDeWtCQVg0Z0FTQUNyU0FEclVJZ2hvUWdCQ0FBUVFOeFFhWURhaEVVQUNJRlFpQ0lweEFESUFXbkMzWUJBMzhnQUFSL0lBQW9BZ0FpQWdSL0EwQWdBaWdDQUNFRElBRWdBaWdDQkVnRVFDQUJRUUowSUFOcUtBSUFLQUlBRURnZ0FDZ0NBQ2dDQUNBQlFRSjBhaWdDQUJBNElBRkJBV29oQVNBQUtBSUFJUUlNQVFzTElBTVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xJQUFnQVNBQ0lBTWdCQ0FGclNBR3JVSWdob1FnQUVFSGNVR2VBMm9SRlFBTEJnQkJGaEFDQ3dZQVFSVVFBZ3VaQmdFSmZ5TUdJUWtqQmtFd2FpUUdJQWtoQmtFSUVFUWlCMFVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFaQklHb2hDQ0FHUVJocUlRSWdCa0VRYWlFQklBWkJDR29oQXdKQUFrQUNRQ0FIUVFScUlnUkJCRUVCSUFBUVlVRUJSdzBBSUFRb0FnQWlCRUVCU0EwQUlBY2dCRUVDZEJCRUlnTTJBZ0FnQTBVRVFFRUFRUU5CdWRnQ0lBRVFQVUVCRUFFTFFRQWhBUUpBQWtBRFFDQUJJQVJJQkVBZ0FVRUNkQ0FEYWtFUUVFUWlCVFlDQUNBRlJRMENJQUZCQVdvaEFRd0JDd3NNQVF0QkFFRURRYm5ZQWlBQ0VEMUJBUkFCQzBFQUlRRUNRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdBU0FFVGcwR0lBRkJBblFnQTJvaUFpZ0NBRUVFYWtFRVFRRWdBQkJoUVFGSERRQWdBaWdDQUVFSWFrRUVRUUVnQUJCaFFRRkhEUUlnQWlnQ0FFRU1ha0VFUVFFZ0FCQmhRUUZIRFFNZ0FpZ0NBQ0lGS0FJRUlBVW9BZ2hzRUVRaEJTQUNLQUlBSUFVMkFnQWdCVVVOQkNBQlFRRnFJUUVnQWlnQ0FDSUZLQUlBUVFFZ0JTZ0NCQ0FGS0FJSWJDQUFFR0VnQWlnQ0FDSUNLQUlFSUFJb0FnaHNSZzBCREFVTEMwRUFJUUlEUUNBQklBSkhCRUFnQWtFQ2RDQURhaWdDQUNnQ0FCQTRJQUpCQVdvaEFnd0JDd3RCQUNFQkEwQWdBU0FFUmcwR0lBRkJBblFnQTJvb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUF0QkFDRUNBMEFnQVNBQ1J3UkFJQUpCQW5RZ0Eyb29BZ0FvQWdBUU9DQUNRUUZxSVFJTUFRc0xRUUFoQVFOQUlBRWdCRVlOQlNBQlFRSjBJQU5xS0FJQUVEZ2dBVUVCYWlFQkRBQUFDd0FMUVFBaEFnTkFJQUVnQWtjRVFDQUNRUUowSUFOcUtBSUFLQUlBRURnZ0FrRUJhaUVDREFFTEMwRUFJUUVEUUNBQklBUkdEUVFnQVVFQ2RDQURhaWdDQUJBNElBRkJBV29oQVF3QUFBc0FDMEVBUVFOQnVkZ0NJQWdRUFVFQkVBRU1BZ3RCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5BaUFCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxJQUFRYWd3QkN5QURFRGdNQWdzTUFndEJBRUVEUWJlMEFTQURFRDBMSUFjUU9DQUFFR3BCQUNFSEN5QUdKQVlnQndzR0FFRVRFQUlMQmdCQkVCQUNDNElHQVE1L0l3WWhBeU1HUWVBQWFpUUdJQUFRWUVFR2FoQkVJZ2hGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3lBRFFjZ0FhaUVKSUFOQlFHc2hDaUFEUVRocUlRd2dBMEV3YWlFTklBTkJLR29oQWlBRFFTQnFJUVFnQTBFWWFpRUJJQU5CRUdvaEJ5QURRZEFBYWlFTElBTkJDR29pQmlBQU5nSUFJQVpCZ2JRQk5nSUVJQWhCL0xNQklBWVF2QUVnQ0VHSXVRRVFzQUVoQlNBSUVEZ2dCUVIvQW45QkNCQkVJZ1pGQkVCQkFFRURRYm5ZQWlBQkVEMUJBUkFCQ3dKQUFrQWdCa0VFYWlJQlFRUkJBU0FGRUdGQkFVY05BQ0FCS0FJQUlnZEJBVWdOQUNBQ0lBYzJBZ0JCQUVFQlFkQzBBU0FDRUQwZ0JpQUhRUUowSWdRUVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQU5FRDFCQVJBQkN5QUNRUkFRUkNJQk5nSUFJQUZGQkVCQkFFRURRYm5ZQWlBTUVEMUJBUkFCQ3lBRkVMVUpJZ0ZGQkVBZ0NpQUFOZ0lBSUFwQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ2hBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFVUStRSWdCUkM4Q1F3REN5QUJLQUlFUVFGSEJFQWdDU0FBTmdJQUlBbEJnYlFCTmdJRVFRQkJBa0h1dEFFZ0NSQTlJQUlvQWdBUU9DQUNFRGdnQmhBNElBRVFPQ0FGRUdwQkFBd0RDeUFDS0FJQUlnQWdBU2dDQ0RZQ0JDQUFJQUVvQWd3MkFnZ2dBQ0FCS0FJUU5nSU1JQUFnQVNnQ0FEWUNBQ0FCRURnZ0JVRUVJQVJyUVFJUTlBRkJBU0VFQWtBQ1FBSkFBMEFDUUNBRUlBZE9EUU1nQzBFRVFRRWdCUkJoUVFGSERRQWdCRUVDZENBQ2FpQUNLQUlBSUFzcUFnQVF4QWtpQURZQ0FDQUFSUTBDSUFSQkFXb2hCQXdCQ3d0QkFDRUJBMEFnQVNBRVJnMERJQUZCQW5RZ0Ftb2lBQ2dDQUNnQ0FCQTRJQUFvQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQkEwQWdBU0FFUmcwQ0lBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBc2dCUkJxSUFZTUF3c2dBaEE0REFFTFFRQkJBMEczdEFFZ0JCQTlDeUFHRURnZ0JSQnFRUUFMQlNBSElBQTJBZ0FnQjBHQnRBRTJBZ1JCQUVFRFFZZTBBU0FIRUQxQkFBc2hEaUFESkFZZ0Rnc0lBRUVFRUFKQkFBc0lBRUVDRUFKQkFBc1BBRUVCRUFKRUFBQUFBQUFBQUFBTER3QkJBQkFDUkFBQUFBQUFBQUFBQzV3REFoRi9BWDBqQmlFSkl3WkJFR29rQmlBQUtBSUVzaUFCbENBQUtnSU1JaE9WRUxzQklRb2dBQ2dDQ0xJZ0FaUWdFNVVRdXdFaEMwRVFFRVFpQlVVRVFFRUFRUU5CdWRnQ0lBa1FQVUVCRUFFTElBbEJDR29oQXlBRklBbzJBZ1FnQlNBTE5nSUlJQVVnQVRnQ0RDQUZJQW9nQzJ3UVJDSUNOZ0lBSUFKRkJFQkJBRUVEUWJuWUFpQURFRDFCQVJBQkN3TkFJQVlnQzBnRVFDQUFLZ0lNSWhNZ0JyS1VJQUdWRUxzQklROGdFeUFHUVFGcUlnYXlsQ0FCbFJDN0FTRUVJQUFvQWdnaUF5QUVJQVFnQTBvYklSQkJBQ0VISUFJaEJBTkFJQWNnQ2tnRVFDQUFLZ0lNSWhNZ0I3S1VJQUdWRUxzQklSRWdFeUFIUVFGcUlnZXlsQ0FCbFJDN0FTRUNJQUFvQWdRaURpQUNJQUlnRGtvYklSSkJBQ0VDUVFBaEF5QVBJUWdEUUNBSUlCQklCRUFnQUNnQ0FDQVJJZ3dnQ0NBT2JHcHFJUTBEUUNBTUlCSklCRUFnQWlBTkxRQUFhaUVDSUF4QkFXb2hEQ0FOUVFGcUlRMGdBMEVCYWlFRERBRUxDeUFJUVFGcUlRZ01BUXNMSUFRZ0FpQURFRGs2QUFBZ0JFRUJhaUVFREFFTEN5QUVJUUlNQVFzTElBa2tCaUFGQ3h3QUlBRWdBaUFESUFRZ0JTQUdJQWNnQUVFSGNVSGlCbW9SRFFBTEdnQWdBU0FDSUFNZ0JDQUZJQVlnQUVFSGNVSGFCbW9SREFBTEdBQWdBU0FDSUFNZ0JDQUZJQUJCUDNGQm1nWnFFUVVBQ3hZQUlBRWdBaUFESUFRZ0FFRWZjVUg2QldvUkJ3QUxGQUFnQVNBQ0lBTWdBRUVEY1VIMkJXb1JCZ0FMRkFBZ0FTQUNJQU1nQUVFQmNVSDBCV29SR0FBTEZBQWdBU0FDSUFNZ0FFRUJjVUh5QldvUkdRQUxEZ0FnQUVFQmNVR3FBMm9SQ3dBTEhnQWdBU0FDSUFNZ0JDQUZJQVlnQnlBSUlBQkJEM0ZCamdOcUVRNEFDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VHR0Eyb1JEd0FMa2dFQkFuOGdBQVJBSUFCQmlMa0JFTEFCSWdFRVFBSkFJQUZCQUVFQ0VQUUJJQUVRK0FJaEFpQUJRUUJCQUJEMEFTQUNRUUZxRUVRaUFFVUVRQ0FCRUdwQnBNVURRVEEyQWdCQkFDRUFEQUVMSUFBZ0FrRUJJQUVRWVVVRVFDQUFFRGdnQVJCcVFRQWhBQXdCQ3lBQUlBSnFRUUE2QUFBZ0FSQnFDd1ZCQUNFQUN3VkJwTVVEUVJ3MkFnQkJBQ0VBQ3lBQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQlAzRkJ4Z0pxRVFvQUN4b0FJQUVnQWlBRElBUWdCU0FHSUFCQkEzRkJ3Z0pxRVJzQUN4Z0FJQUVnQWlBRElBUWdCU0FBUVI5eFFhSUNhaEVJQUFzWUFDQUJJQUlnQXlBRUlBVWdBRUVIY1VHYUFtb1JFd0FMRmdBZ0FTQUNJQU1nQkNBQVFROXhRWW9DYWhFSkFBc1VBQ0FCSUFJZ0F5QUFRVDl4UWNvQmFoRUVBQXNTQUNBQklBSWdBRUUvY1VHS0FXb1JBZ0FMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVCY1VHSUFXb1JJZ0FMRUFBZ0FTQUFRZjhBY1VFSWFoRUFBQXNOQUNBQVFRRnhRUVpxRVJBQUM4OEJBUVYvSXdZaEJDTUdRU0JxSkFZZ0JFRVFhaUVHSUFGRlFkQ0ZBU2dDQUNBQVNuSkZCRUFnQVN3QUFBUkFJQVFnQWlnQ0FEWUNBRUVBUVFBZ0FTQUVFS2tCSWdjRVFDQUFRUVJKQkg4Z0FFRUNkRUhBRldvb0FnQVFZRUVEYWdWQkFBc2lCU0FIYWtFQmFoQkVJUU1nQlFSQUlBWWdBRUVDZEVIQUZXb29BZ0EyQWdBZ0F5QUZRUUZxUWQyekFTQUdFS01DR2dzZ0F5QUZhaUFIUVFGcUlBRWdBaENwQVJwQnBJZ0JLQUlBSVFBZ0F4QmdJZ0VnQTBFQklBRWdBQkNUQVVjYUlBTVFPQXNMQ3lBRUpBWUxFUUFnQVNBQ0lBQkJBWEZCQkdvUkhnQUxEQUFnQVNBQVFRTnhFUklBQ3lrQUlBQkVBQUFBQUFBQTREK2duQ0FBUkFBQUFBQUFBT0Evb1pzZ0FFUUFBQUFBQUFBQUFHWWJDeEFBSXdORkJFQWdBQ1FESUFFa0JBc0xLd0FnQUVIL0FYRkJHSFFnQUVFSWRVSC9BWEZCRUhSeUlBQkJFSFZCL3dGeFFRaDBjaUFBUVJoMmNndVJCd0VJZnlBQUtBSUVJZ1pCZUhFaEFnSkFJQVpCQTNGRkJFQWdBVUdBQWtrTkFTQUNJQUZCQkdwUEJFQWdBaUFCYTBHTTFRTW9BZ0JCQVhSTkJFQWdBQThMQ3d3QkN5QUFJQUpxSVFRZ0FpQUJUd1JBSUFJZ0FXc2lBa0VQVFFSQUlBQVBDeUFBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0JDQUVLQUlFUVFGeU5nSUVJQUVnQWhDUUJDQUFEd3RCeE5FREtBSUFJQVJHQkVCQnVORURLQUlBSUFKcUlnSWdBVTBOQVNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSURJQUlnQVdzaUFVRUJjallDQkVIRTBRTWdBellDQUVHNDBRTWdBVFlDQUNBQUR3dEJ3TkVES0FJQUlBUkdCRUFnQWtHMDBRTW9BZ0JxSWdNZ0FVa05BU0FESUFGcklnSkJEMHNFUUNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQVhJMkFnUWdBQ0FEYWlJRElBSTJBZ0FnQXlBREtBSUVRWDV4TmdJRUJTQUFJQU1nQmtFQmNYSkJBbkkyQWdRZ0FDQURhaUlCSUFFb0FnUkJBWEkyQWdSQkFDRUJRUUFoQWd0QnRORURJQUkyQWdCQndORURJQUUyQWdBZ0FBOExJQVFvQWdRaUEwRUNjUTBBSUFJZ0EwRjRjV29pQnlBQlNRMEFJQU5CQTNZaEJTQURRWUFDU1FSQUlBUW9BZ2dpQWlBRUtBSU1JZ05HQkVCQnJORURRYXpSQXlnQ0FFRUJJQVYwUVg5emNUWUNBQVVnQWlBRE5nSU1JQU1nQWpZQ0NBc0ZBa0FnQkNnQ0dDRUlJQVFnQkNnQ0RDSUNSZ1JBQWtBZ0JFRVFhaUlEUVFScUlnVW9BZ0FpQWdSQUlBVWhBd1VnQXlnQ0FDSUNSUVJBUVFBaEFnd0NDd3NEUUFKQUlBSkJGR29pQlNnQ0FDSUpSUVJBSUFKQkVHb2lCU2dDQUNJSlJRMEJDeUFGSVFNZ0NTRUNEQUVMQ3lBRFFRQTJBZ0FMQlNBRUtBSUlJZ01nQWpZQ0RDQUNJQU0yQWdnTElBZ0VRQ0FFS0FJY0lnTkJBblJCM05NRGFpSUZLQUlBSUFSR0JFQWdCU0FDTmdJQUlBSkZCRUJCc05FRFFiRFJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBd0RDd1VnQ0VFUWFpSURJQWhCRkdvZ0F5Z0NBQ0FFUmhzZ0FqWUNBQ0FDUlEwQ0N5QUNJQWcyQWhnZ0JDZ0NFQ0lEQkVBZ0FpQUROZ0lRSUFNZ0FqWUNHQXNnQkNnQ0ZDSURCRUFnQWlBRE5nSVVJQU1nQWpZQ0dBc0xDd3NnQnlBQmF5SUNRUkJKQkVBZ0FDQUdRUUZ4SUFkeVFRSnlOZ0lFSUFBZ0Iyb2lBU0FCS0FJRVFRRnlOZ0lFQlNBQUlBRWdCa0VCY1hKQkFuSTJBZ1FnQUNBQmFpSUJJQUpCQTNJMkFnUWdBQ0FIYWlJRElBTW9BZ1JCQVhJMkFnUWdBU0FDRUpBRUN5QUFEd3RCQUF1L0FRRUVmeU1HSVFVakJrRVFhaVFHSUFBc0FBc2lBMEVBU0NJR0JIOGdBQ2dDQ0VILy8vLy9CM0ZCZjJvaEJDQUFLQUlFQlVFQklRUWdBMEgvQVhFTElRTWdCQ0FEYXlBQ1NRUkFJQUFnQkNBQ0lBTnFJQVJySUFNZ0EwRUFJQUlnQVJDU0JBVWdBZ1JBSUFZRWZ5QUFLQUlBQlNBQUN5SUVJQU5CQW5ScUlBRWdBaENuQVNBQ0lBTnFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDeUFGUVFBMkFnQWdBVUVDZENBRWFpQUZFRzRMQ3lBRkpBWUxzQUVCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVCQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRa2dRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPa0VDeUFGUVFBMkFnQWdBa0VDZENBRGFpQUZFRzRnQUN3QUMwRUFTQVJBSUFBZ0FqWUNCQVVnQUNBQ09nQUxDd3NnQlNRR0M3a0JBUVIvSXdZaEJTTUdRUkJxSkFZZ0FDd0FDeUlEUVFCSUlnWUVmeUFBS0FJSVFmLy8vLzhIY1VGL2FpRUVJQUFvQWdRRlFRb2hCQ0FEUWY4QmNRc2hBeUFFSUFOcklBSkpCRUFnQUNBRUlBSWdBMm9nQkdzZ0F5QURRUUFnQWlBQkVKUUVCU0FDQkVBZ0F5QUdCSDhnQUNnQ0FBVWdBQXNpQkdvZ0FTQUNFS2dCSUFJZ0Eyb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xJQVZCQURvQUFDQUJJQVJxSUFVUVh3c0xJQVVrQmd1M0FRRUVmeU1HSVFRakJrRVFhaVFHSUFFRVFDQUFMQUFMSWdOQkFFZ0VmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBTkIvd0Z4SVFKQkNnc2lCU0FDYXlBQlNRUi9JQUFnQlNBQklBSnFJQVZySUFJZ0FoRGRBaUFBTEFBTEJTQURDMEVBU0FSL0lBQW9BZ0FGSUFBTElnTWdBbW9nQVVFQUVKVUVJQUVnQW1vaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBUkJBRG9BQUNBQklBTnFJQVFRWHdzZ0JDUUdDNjBNQXlKL0FYNENmQ01HSVFJakJrSGdFMm9rQmlBQ1FkQVRhaUVhSUFKQnlCTnFJUTRnQWtHNEUyb2hDeUFDUWJBVGFpRVBJQUpCcUJOcUlSQWdBa0dZRTJvaERDQUNRWkFUYWlFUklBSkJpQk5xSVJjZ0FrR0FFMm9oRWlBQ1FmZ1NhaUVZSUFKQjhCSnFJUk1nQWtIb0Vtb2hGQ0FDUWVBU2FpRUlJQUpCMkJKcUlRVWdBa0hRRW1vaEZTQUNRY2dTYWlFRElBSkJ3QkpxSVFvZ0FrR0FFbW9oQnlBQ1FZQVFhaUVHSUFKQjNCTnFJUnNnQWtIWUUyb2hEU0FDUWRRVGFpRWNJQUJCaWJZQkVMQUJJZ2tFUUFKQUlBWWdDUkRwQVNBVklBMDJBZ0FnQmtHcnRnRWdGUkNEQVVFQlJ3UkFJQVVnQURZQ0FFRUFRUU5CNEs0QklBVVFQU0FKRUdwQkFDRUFEQUVMSUEwb0FnQWlCVUhBQW13UVJDSURSUVJBUVFCQkEwRzUyQUlnQ0JBOVFRRVFBUXNnQVVVaEhVRUFJUW9DUUFKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnQkNBRlRnMEhJQVlnQ1JEcEFTQUVRY0FDYkNBRGFpRUZJQlFnQkVIQUFtd2dBMm9pQ0VHNEFtbzJBZ0FnRkNBYk5nSUVJQVJCd0FKc0lBTnFJQVpCeGE4QklCUVFnd0ZCQVVZRWZ5QUZJQWdwQTdnQ0lpU25RZi8vQVhGQkFDQWtRb0NBL3Y4UGcxQWJOZ0lBUVFJaENFRUJCU0FkRFFFZ0FpQUFFSTRHUlEwRElBSWdCa0gvRHlBQ0VHQnJFT3dFSUFVZ0FTQUNFS29ESWdVMkFnQWdCVUVBU0EwRVFRRWhDRUVBQ3pZQ0JDQUdJQWtRNlFFZ0Z5QUVRY0FDYkNBRGFpSVdRUWhxTmdJQUlBWkI3YkVCSUJjUWd3RkJBVWNOQkNBR0lBa1E2UUVnRENBRVFjQUNiQ0FEYWtFUWFpSVpOZ0lBSUF3Z0JFSEFBbXdnQTJvaUhrRVlhallDQkNBTUlBUkJ3QUpzSUFOcVFTQnFOZ0lJSUF3Z0JFSEFBbXdnQTJvaUgwRW9hallDRENBR1FkcXlBU0FNRUlNQlFRUkdCSDlCQVFVZ0VDQVZOZ0lBSUJBZ0hEWUNCQ0FHUWVxeUFTQVFFSU1CUVFKSERRWkJBQXNoQlNBSUlBcHlJUW9EUUNBR0lBa1E2UUVnQ3lBRVFjQUNiQ0FEYWtFUWFpQUZRUVYwYWpZQ0FDQUxJQVJCd0FKc0lBTnFJQVZCQlhScVFSaHFOZ0lFSUFzZ0JFSEFBbXdnQTJvZ0JVRUZkR3BCSUdvMkFnZ2dDeUFFUWNBQ2JDQURhaUFGUVFWMGFrRW9hallDRENBR1FkcXlBU0FMRUlNQlFRUkhEUWNnQlVFQmFpSUZRUU5KRFFBTElCa2dCRUhBQW13Z0EycEI4QUJxRUtrR0lBY2dGaXNEQ0NJbFJBQUFBQUFBQU9DL29pSW1PUU1BSUFjZ0pVUUFBQUFBQUFEZ1A2SWlKVGtEQ0NBSElDVTVBeEFnQnlBbE9RTVlJQWNnSlRrRElDQUhJQ1k1QXlnZ0J5QW1PUU13SUFjZ0pqa0RPQ0FFUWNBQ2JDQURhaUVJSUFSQndBSnNJQU5xSVJZZ0JFSEFBbXdnQTJvaElDQUVRY0FDYkNBRGFpRWhJQVJCd0FKc0lBTnFJU0lnQkVIQUFtd2dBMm9oSTBFQUlRVURRQ0FGUVFSSEJFQWdCRUhBQW13Z0EycEIwQUZxSUFWQkdHeHFJQjhyQXlnZ0dTc0RBQ0FGUVFSMElBZHFLd01BSWlhaUlCNHJBeGdnQlVFRWRDQUhhaXNEQ0NJbG9xQ2dPUU1BSUFSQndBSnNJQU5xSUFWQkdHeHFJQ0FyQTBnZ0ppQUlLd013b2lBbElCWXJBemlpb0tBNUE5Z0JJQVJCd0FKc0lBTnFJQVZCR0d4cUlDTXJBMmdnSmlBaEt3TlFvaUFsSUNJckExaWlvS0E1QStBQklBVkJBV29oQlF3QkN3c2dCRUVCYWlFRUlBMG9BZ0FoQlF3QkN3c2dFeUFBTmdJQUlCTWdCallDQkVFQVFRTkJ6SzhCSUJNUVBRd0dDeUFZSUFBMkFnQkJBRUVEUWN5d0FTQVlFRDBNQlFzZ0VpQUFOZ0lBSUJJZ0FqWUNCRUVBUVFOQm9MRUJJQklRUFF3RUN5QVJJQUEyQWdBZ0VTQUVRUUZxTmdJRVFRQkJBMEh4c1FFZ0VSQTlEQU1MSUE4Z0FEWUNBQ0FQSUFSQkFXbzJBZ1JCQUVFRFFmQ3lBU0FQRUQwTUFnc2dEaUFBTmdJQUlBNGdCRUVCYWpZQ0JFRUFRUU5COExJQklBNFFQUXdCQ3lBSkVHcEJpQUVRUkNJQVJRUkFRUUJCQTBHNTJBSWdHaEE5UVFFUUFRc2dBQ0FETmdJQUlBQWdEU2dDQURZQ0JDQUFRUUEyQW9BQklBQkJBRFlDYUNBS1FRTnhRUU5HQkVBZ0FFRUNOZ0pzQlNBS1FRRnhCRUFnQUVFQU5nSnNCU0FBUVFFMkFtd0xDeUFBUkFBQUFBQUFBT0EvT1FOd0lBQkVBQUFBQUFBQTREODVBM2dNQVFzZ0NSQnFJQU1RT0VFQUlRQUxCU0FLSUFBMkFnQkJBRUVEUWF1dUFTQUtFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFRQWhBQXNnQWlRR0lBQUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBQWtBZ0RFRi9PZ0FBSUJKQkFYUWdDR29pQlM0QkFDSUdRUUJLQkVBZ0NDQUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTk5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSklBWkJBRW9oQ3lBRkxnRUNJZ1ZCQUV3RVFDQUxCRUFnQ0NBR093RUFJQWxCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBcElCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQWdzZ0NFRithaTRCQUNJRlFRQktCRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcE9EUUlnQlNBS05nSUFCU0FBUWYvL0FVb05CaUFJSUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQTAyQWdBZ0JTRUFDd3dCQ3lBTEJFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ1VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRFNBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc2dDRUYrYWk0QkFDSUdRUUJNQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQXBLQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBZ2dCanNCQUNBSElRbEJBQ0VMQTBBZ0N5QUFUZ1JBSUFZaEJRd0RDeUFGSUFrb0FnQkdCRUFnQ1NBR05nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FGSUFnZ0JUc0JBQ0FGSUFaSUJFQWdCeUVKUVFBaEN3TkFJQXNnQUU0TkF5QUdJQWtvQWdCR0JFQWdDU0FGTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ2lBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRFNBRktBSUFhallDQUFzRklBaEJBRHNCQUNBTVFRQTZBQUFMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMcmdFQkJIOGpCaUVGSXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQXdSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N5SUVJQUpKQkVBZ0FDQUVJQUlnQkdzZ0F3Ui9JQUFvQWdRRklBWkIvd0Z4Q3lJQVFRQWdBQ0FDSUFFUWxBUUZJQU1FZnlBQUtBSUFCU0FBQ3lJRElRUWdBZ1JBSUFRZ0FTQUNFT2NCR2dzZ0JVRUFPZ0FBSUFJZ0Eyb2dCUkJmSUFBc0FBdEJBRWdFUUNBQUlBSTJBZ1FGSUFBZ0Fqb0FDd3NMSUFVa0JndEFBUUovUWRpMUFoQmdJZ0pCRFdvUVVTSUJJQUkyQWdBZ0FTQUNOZ0lFSUFGQkFEWUNDQ0FCUVF4cUlnRkIyTFVDSUFKQkFXb1FUQm9nQUNBQk5nSUFDeTRBQTBBZ0FDZ0NBRUVCUmcwQUN5QUFLQUlBUlFSQUlBQkJBVFlDQUNBQlFid0VFUUVBSUFCQmZ6WUNBQXNMVkFFQmZ5QUFLQUlJQkVBZ0FDQUFLQUlJSWdGQmYybzJBZ2dnQVVVRVFDQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEJTQUFLQUlBS0FJUUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTEN4c0FJQUFnQVNnQ0FDSUFOZ0lBSUFBZ0FDZ0NCRUVCYWpZQ0JBdE9BUU4vSUFJZ0FXdEJBblloQnlBQklRQURRQ0FBSUFKSEJFQWdCQ0FBS0FJQUlnWkIvd0Z4SUFNZ0JrR0FBVWtiT2dBQUlBUkJBV29oQkNBQVFRUnFJUUFNQVFzTElBZEJBblFnQVdvTEVRQWdBVUgvQVhFZ0FpQUJRWUFCU1JzTEtRQURRQ0FCSUFKSEJFQWdBeUFCTEFBQU5nSUFJQU5CQkdvaEF5QUJRUUZxSVFFTUFRc0xJQUlMQ2dBZ0FVRVlkRUVZZFF0QkFBTkFJQUVnQWtjRVFDQUJJQUVvQWdBaUFFR0FBVWtFZjBHMGlBRW9BZ0FnQVNnQ0FFRUNkR29vQWdBRklBQUxOZ0lBSUFGQkJHb2hBUXdCQ3dzZ0Fnc2VBQ0FCUVlBQlNRUi9RYlNJQVNnQ0FDQUJRUUowYWlnQ0FBVWdBUXNMblF3Q0FuOFVmQ0FBS3dNSUlnb2dBQ3NES0NJTG9pQUFLd01RSWdrZ0FDc0RJQ0lRb3FFaEJDQUpJQUFyQXhnaURhSWdBQ3NEQUNJSUlBdWlvU0VISUFnZ0VLSWdDaUFOb3FFaUF5QURvaUFFSUFTaUlBY2dCNktnb0o4aUJVUUFBQUFBQUFBQUFHSUVRQ0FESUFXaklRWWdDQ0FISUFXakloR2lJZ01nQ2lBRUlBV2pJZytpSWhPaEloSkVBQUFBQUFBQUFBQmlCSHdnRHlFRUlBZ2hCU0FLSVE0Z0VTRUhJQWtGSUFrZ0NpQUlJQWFpSUFrZ0Q2S2hSQUFBQUFBQUFBQUFZaUlCR3lFT1FRRkJBaUFCR3lFQ0lBNGdEeUFHSUFFYklnU2lJaEloRXlBSUlBa2dBUnNpQlNBR0lCRWdBUnNpQjZJaUF5QVNvU0VTSUJFZ0R5QUJHeUVHSUFvZ0NDQUJHd3NoRENBSUlBMmlJQW9nRUtLZ0lBa2dDNktnSWdpYUlBZ2dDRVFBQUFBQUFBQUFBR01iSWdoRUFBQUFBQUFBOEQrZ24wUUFBQUFBQUFEd1B5QUlvWitnUkFBQUFBQUFBT0Evb2lFVUlCSkVBQUFBQUFBQUFBQmlCRUFnRGlBR29pQU1JQWVpb1NBU295SU9JQTZpSUFVZ0JxSWdEQ0FFb3FFZ0V5QURvU0lEb3lJSUlBaWlvRVFBQUFBQUFBRHdQNkFoQ2lBT0lCUWdCNklnRXFNaUJhSWdDQ0FVSUFTaUlBT2pJZ21pb0NJUElBK2lJQW9nQlNBRm9pQUpJQW1pb0VRQUFBQUFBQUR3djZDaW9TSURSQUFBQUFBQUFBQUFZMFVFUUNBRklBNGdBNThpRENBUG9TQUtveUlSb3FBaEF5QUpJQWdnRWFLZ0lSSWdCU0FPSUErYUlBeWhJQXFqSWdxaW9DRUZJQWtnQ0NBS29xQWhDQ0FOQW53Q1FBSkFBa0FnQWtFRGNVRUJhdzRDQUFFQ0N5QUlJUTRnQ2lFSUlBVWhDaUFTSVE4Z0VTRVNJQU1oRVNBRUlRTWdCeUVFSUFZTUFnc2dCU0VPSUFNaER5QUdJUU1nQnd3QkN5QUtJUTRnQlNFS0lCRWhEeUFESVJFZ0JDRURJQVloQkNBSEN5SUZvaUlWSUJBZ0E2SWlGcUVpRTBRQUFBQUFBQUFBQUdJRWZ5QURJUWNnRFNFSklCQWhEQ0FGSVFaQkFBVWdDeUFRSUEwZ0JLSWdDeUFEb3FGRUFBQUFBQUFBQUFCaUlnRWJJUXdnRFNBTElBRWJJZ2tnQkNBRklBRWJJZ2FpSWdzaEZTQU1JQU1nQkNBQkd5SUhvaUlFSVJZZ0N5QUVvU0VUSUJBZ0RTQUJHeUVMSUFVZ0F5QUJHeUVFUVFGQkFpQUJHd3NoQWlBVFJBQUFBQUFBQUFBQVlnUkFJQXdnQktJZ0N5QUdvcUVnRTZNaUF5QURvaUFKSUFTaUlBc2dCNktoSUJZZ0ZhRWlCYU1pQkNBRW9xQkVBQUFBQUFBQThEK2dJUTBnQXlBVUlBYWlJQk9qSWdhaUlBUWdGQ0FIb2lBRm95SUhvcUFpQ3lBTG9pQU5JQVlnQnFJZ0J5QUhvcUJFQUFBQUFBQUE4TCtnb3FFaUJVUUFBQUFBQUFBQUFHTkZCRUFnQmlBRElBV2ZJaEFnQzZFZ0RhTWlDYUtnSVF3Z0J5QUVJQW1pb0NFRklBWWdBeUFMbWlBUW9TQU5veUlEb3FBaEJpQUhJQVFnQTZLZ0lRY0NRQUpBQWtBQ1FDQUNRUU54UVFGckRnSUFBUUlMSUFjaEJDQURJUWNnQmlFRElBVWhCaUFKSVFVZ0RDRUpEQUlMSUFZaEJDQU1JUVlNQVFzZ0F5RUVJQVloQXlBSklRWWdEQ0VKQ3lBS0lBbWlJQWdnQmFLZ0lBNGdCcUtnSWd5YUlBd2dERVFBQUFBQUFBQUFBR01iSVF3Z0NpQURvaUFJSUFlaW9DQU9JQVNpb0NJTm1pQU5JQTFFQUFBQUFBQUFBQUJqR3lFTklCRWdDYUlnRWlBRm9xQWdEeUFHb3FBaUM1b2dDeUFMUkFBQUFBQUFBQUFBWXhzaUN5QVJJQU9pSUJJZ0I2S2dJQThnQktLZ0loQ2FJQkFnRUVRQUFBQUFBQUFBQUdNYkloQmpCRUFnQ3lBTVl3UkFJQXNnRFdNRVFDQUFJQkU1QXdBZ0FDQVNPUU1JSUFBZ0R6a0RFQ0FBSUFrNUF4Z2dBQ0FGT1FNZ0lBQWdCamtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdBQ0FET1FNWUlBQWdCemtESUNBQUlBUTVBeWdMQlNBQUlBbzVBd0FnQUNBSU9RTUlJQUFnRGprREVDQU1JQTFqQkVBZ0FDQUpPUU1ZSUFBZ0JUa0RJQ0FBSUFZNUF5Z0ZJQUFnQXprREdDQUFJQWM1QXlBZ0FDQUVPUU1vQ3dzRklCQWdER01FUUNBUUlBMWpCRUFnQUNBUk9RTUFJQUFnRWprRENDQUFJQTg1QXhBRklBQWdDamtEQUNBQUlBZzVBd2dnQUNBT09RTVFDeUFBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FVZ0FDQUtPUU1BSUFBZ0NEa0RDQ0FBSUE0NUF4QWdEQ0FOWXdSQUlBQWdDVGtER0NBQUlBVTVBeUFnQUNBR09RTW9CU0FBSUFNNUF4Z2dBQ0FIT1FNZ0lBQWdCRGtES0FzTEN3c0xDd3NMQzBFQUEwQWdBU0FDUndSQUlBRWdBU2dDQUNJQVFZQUJTUVIvUWFTS0FTZ0NBQ0FCS0FJQVFRSjBhaWdDQUFVZ0FBczJBZ0FnQVVFRWFpRUJEQUVMQ3lBQ0N4NEFJQUZCZ0FGSkJIOUJwSW9CS0FJQUlBRkJBblJxS0FJQUJTQUJDd3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCVHcwQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeEJFQWdBa0VFYWlFQ0RBSUxDd3NnQWd0S0FBTkFBa0FnQWlBRFJnUkFJQU1oQWd3QkN5QUNLQUlBUVlBQlNRUkFJQUZCb0lvQktBSUFJQUlvQWdCQkFYUnFMZ0VBY1VILy93TnhEUUVMSUFKQkJHb2hBZ3dCQ3dzZ0FndEdBQU5BSUFFZ0FrY0VRQ0FESUFFb0FnQkJnQUZKQkg5Qm9Jb0JLQUlBSUFFb0FnQkJBWFJxTHdFQUJVRUFDenNCQUNBRFFRSnFJUU1nQVVFRWFpRUJEQUVMQ3lBQ0N5a0FJQUpCZ0FGSkJIOGdBVUdnaWdFb0FnQWdBa0VCZEdvdUFRQnhRZi8vQTNGQkFFY0ZRUUFMQ3lBQUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVITW9nRkJ6S0lCRUxRQkVNc0JDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhrb2dGQjVLSUJFTFFCRU1zQkN3d0FJQUFnQVVFUWFoRGVBZ3NIQUNBQUtBSU1Dd2NBSUFBb0FnZ0xDd0FnQUJDWkJDQUFFRGdMSGdBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBUVkyakEwR05vd01RWUJCK0N4NEFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFR1Rvd05CazZNREVHQVFmZ3NNQUNBQUlBRkJER29RM2dJTEJ3QWdBQ3dBQ1FzSEFDQUFMQUFJQ3dzQUlBQVFtZ1FnQUJBNEN5b0JBWHhCZnlBQUt3TUFJQUVyQXdDaElnSkVBQUFBQUFBQUFBQmtJQUpFQUFBQUFBQUFBQUJqR3dzekFBTkFJQUVnQWtjRVFDQUVJQUVzQUFBaUFDQURJQUJCZjBvYk9nQUFJQVJCQVdvaEJDQUJRUUZxSVFFTUFRc0xJQUlMRWdBZ0FTQUNJQUZCR0hSQkdIVkJmMG9iQ3lrQUEwQWdBU0FDUndSQUlBTWdBU3dBQURvQUFDQURRUUZxSVFNZ0FVRUJhaUVCREFFTEN5QUNDd1FBSUFFTFJBQURRQ0FCSUFKSEJFQWdBU0FCTEFBQUlnQkJmMG9FZjBHMGlBRW9BZ0FnQVN3QUFFRUNkR29vQWdCQi93RnhCU0FBQ3pvQUFDQUJRUUZxSVFFTUFRc0xJQUlMTFFBZ0FVRVlkRUVZZFVGL1NnUi9RYlNJQVNnQ0FDQUJRUmgwUVJoMVFRSjBhaWdDQUVIL0FYRUZJQUVMQzBRQUEwQWdBU0FDUndSQUlBRWdBU3dBQUNJQVFYOUtCSDlCcElvQktBSUFJQUVzQUFCQkFuUnFLQUlBUWY4QmNRVWdBQXM2QUFBZ0FVRUJhaUVCREFFTEN5QUNDeXNBSUFGQkdIUkJHSFZCZjBvRWYwR2tpZ0VvQWdBZ0FVSC9BWEZCQW5ScUtBSUFRZjhCY1FVZ0FRc0xDd0FnQUJDYkJDQUFFRGdMTndFQ2Z5QUFLQUlBSWdFaEFpQUJCRUFnQUNBQ05nSUVJQUVnQUVFUWFrWUVRQ0FBUVFBNkFJQUJCU0FBS0FJSUdpQUJFRGdMQ3dzTEFDQUFFSndFSUFBUU9BdVFCZ0VDZnlBQ0lBQTJBZ0FnQlNBRE5nSUFJQUlvQWdBaEFBTkFBa0FnQUNBQlR3UkFRUUFoQUF3QkN5QUFMZ0VBSWdaQi8vOERjU0lEUWYvL3d3QkxCRUJCQWlFQURBRUxJQVpCLy84RGNVR0FBVWdFUUNBRUlBVW9BZ0FpQUd0QkFVZ0VRRUVCSVFBTUFnc2dCU0FBUVFGcU5nSUFJQUFnQmpvQUFBVUNRQ0FHUWYvL0EzRkJnQkJJQkVBZ0JDQUZLQUlBSWdCclFRSklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkJuWkJ3QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRS9jVUdBQVhJNkFBQU1BUXNnQmtILy93TnhRWUN3QTBnRVFDQUVJQVVvQWdBaUFHdEJBMGdFUUVFQklRQU1CQXNnQlNBQVFRRnFOZ0lBSUFBZ0EwRU1ka0hnQVhJNkFBQWdCU0FGS0FJQUlnQkJBV28yQWdBZ0FDQURRUVoyUVQ5eFFZQUJjam9BQUNBRklBVW9BZ0FpQUVFQmFqWUNBQ0FBSUFOQlAzRkJnQUZ5T2dBQURBRUxJQVpCLy84RGNVR0F1QU5PQkVBZ0JrSC8vd054UVlEQUEwZ0VRRUVDSVFBTUJBc2dCQ0FGS0FJQUlnQnJRUU5JQkVCQkFTRUFEQVFMSUFVZ0FFRUJhallDQUNBQUlBTkJESFpCNEFGeU9nQUFJQVVnQlNnQ0FDSUFRUUZxTmdJQUlBQWdBMEVHZGtFL2NVR0FBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFUOXhRWUFCY2pvQUFBd0JDeUFCSUFCclFRUklCRUJCQVNFQURBTUxJQUJCQW1vaEJpQUFMd0VDSWdCQmdQZ0RjVUdBdUFOSEJFQkJBaUVBREFNTElBUWdCU2dDQUd0QkJFZ0VRRUVCSVFBTUF3c2dBRUgvQjNFZ0EwSEFCM0VpQjBFS2RFR0FnQVJxSUFOQkNuUkJnUGdEY1hKeVFmLy93d0JMQkVCQkFpRUFEQU1MSUFJZ0JqWUNBQ0FGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQWRCQm5aQkFXb2lCa0VDZGtId0FYSTZBQUFnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFHUVFSMFFUQnhJQU5CQW5aQkQzRnlRWUFCY2pvQUFDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBTkJCSFJCTUhFZ0FFRUdka0VQY1hKQmdBRnlPZ0FBSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTEN5QUNJQUlvQWdCQkFtb2lBRFlDQUF3QkN3c2dBQXU4QmdFRmZ5QUNJQUEyQWdBZ0JTQUROZ0lBQTBBQ1FDQUNLQUlBSWdNZ0FVOEVRRUVBSVFBTUFRc2dCU2dDQUNJSUlBUlBCRUJCQVNFQURBRUxJQU1zQUFBaUJrSC9BWEVpQ1VILy84TUFTd1JBUVFJaEFBd0JDeUFDSUFaQmYwb0VmeUFJSUFaQi93RnhPd0VBSUFOQkFXb0ZBbjhnQmtIL0FYRkJ3Z0ZJQkVCQkFpRUFEQU1MSUFaQi93RnhRZUFCU0FSQUlBRWdBMnRCQWtnRVFFRUJJUUFNQkFzZ0F5MEFBU0lBUWNBQmNVR0FBVWNFUUVFQ0lRQU1CQXNnQ1VFR2RFSEFEM0VnQUVFL2NYSWlBRUgvLzhNQVN3UkFRUUloQUF3RUN5QUlJQUE3QVFBZ0EwRUNhZ3dCQ3lBR1FmOEJjVUh3QVVnRVFDQUJJQU5yUVFOSUJFQkJBU0VBREFRTElBTXNBQUVoQnlBRExRQUNJUUFDUUFKQUFrQWdCa0ZnYXlJR0JFQWdCa0VOUmdSQURBSUZEQU1MQUFzZ0IwSGdBWEZCb0FGSEJFQkJBaUVBREFjTERBSUxJQWRCNEFGeFFZQUJSd1JBUVFJaEFBd0dDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQlFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3RUN5QUFRVDl4SUFsQkRIUWdCMEUvY1VFR2RISnlJZ0JCLy84RGNVSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFRGFnd0JDeUFHUWY4QmNVSDFBVTRFUUVFQ0lRQU1Bd3NnQVNBRGEwRUVTQVJBUVFFaEFBd0RDeUFETEFBQklRY2dBeTBBQWlFQUlBTXRBQU1oQXdKQUFrQUNRQUpBSUFaQmNHc09CUUFDQWdJQkFnc2dCMEh3QUdwQkdIUkJHSFZCL3dGeFFUQk9CRUJCQWlFQURBWUxEQUlMSUFkQjhBRnhRWUFCUndSQVFRSWhBQXdGQ3d3QkN5QUhRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc0xJQUJCd0FGeFFZQUJSd1JBUVFJaEFBd0RDeUFEUWNBQmNVR0FBVWNFUUVFQ0lRQU1Bd3NnQkNBSWEwRUVTQVJBUVFFaEFBd0RDeUFEUVQ5eElnWWdBRUVHZENJS1FjQWZjU0FIUWY4QmNTSURRUXgwUVlEZ0QzRWdDVUVIY1NJSFFSSjBjbkp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQWdnQTBFRWRrRURjU0FIUVFKMGNrRUdkRUhBL3dCcUlBTkJBblJCUEhFZ0FFRUVka0VEY1hKeVFZQ3dBM0k3QVFBZ0JTQUlRUUpxTmdJQUlBZ2dCaUFLUWNBSGNYSkJnTGdEY2pzQkFpQUNLQUlBUVFScUN3czJBZ0FnQlNBRktBSUFRUUpxTmdJQURBRUxDeUFBQzVNRUFRZC9JQUVoQnlBQUlRRURRQUpBSUFFZ0Iwa2dCaUFDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0lJUWYvL3d3QkxEUUFnQTBGL1NnUi9JQUZCQVdvRkFuOGdBMEgvQVhGQndnRklEUUlnQTBIL0FYRkI0QUZJQkVBZ0J5QUJhMEVDU0EwRElBRXRBQUVpQkVIQUFYRkJnQUZISUFoQkJuUkJ3QTl4SUFSQlAzRnlRZi8vd3dCTGNnMERJQUZCQW1vTUFRc2dBMEgvQVhGQjhBRklCRUFnQnlBQmEwRURTQTBESUFFc0FBRWhCQ0FCTFFBQ0lRVUNRQUpBQWtBZ0EwRmdheUlEQkVBZ0EwRU5SZ1JBREFJRkRBTUxBQXNnQkVIZ0FYRkJvQUZIRFFZTUFnc2dCRUhnQVhGQmdBRkhEUVVNQVFzZ0JFSEFBWEZCZ0FGSERRUUxJQVZCd0FGeFFZQUJSeUFGUVQ5eElBaEJESFJCZ09BRGNTQUVRVDl4UVFaMGNuSkIvLy9EQUV0eURRTWdBVUVEYWd3QkN5QUhJQUZyUVFSSUlBSWdCbXRCQWtseUlBTkIvd0Z4UWZVQlRuSU5BaUFCTEFBQklRVWdBUzBBQWlFRUlBRXRBQU1oQ1FKQUFrQUNRQUpBSUFOQmNHc09CUUFDQWdJQkFnc2dCVUh3QUdwQkdIUkJHSFZCL3dGeFFUQk9EUVVNQWdzZ0JVSHdBWEZCZ0FGSERRUU1BUXNnQlVIQUFYRkJnQUZIRFFNTElBbEJ3QUZ4UVlBQlJ5QUpRVDl4SUFSQkJuUkJ3Qjl4SUFoQkVuUkJnSUR3QUhFZ0JVRS9jVUVNZEhKeWNrSC8vOE1BUzNJZ0JFSEFBWEZCZ0FGSGNnMENJQVpCQVdvaEJpQUJRUVJxQ3dzaEFTQUdRUUZxSVFZTUFRc0xJQUVnQUdzTEN3QWdBaUFESUFRUWt3b0xUUUVCZnlNR0lRQWpCa0VRYWlRR0lBQkJCR29pQVNBQ05nSUFJQUFnQlRZQ0FDQUNJQU1nQVNBRklBWWdBQkNTQ2lFSUlBUWdBU2dDQURZQ0FDQUhJQUFvQWdBMkFnQWdBQ1FHSUFnTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1JDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMQ3dBZ0FCQ2VCQ0FBRURnTEtnRUJmeUFBS0FJSUlnQUVRQ0FBRUdJaEFSQ2JBeUVBSUFFRVFDQUJFR0lhQ3dWQkFTRUFDeUFBQzNNQkJIOGdBeUVGQTBBQ1FDQUNJQVZHSUFZZ0JFOXlEUUFnQUNnQ0NCQmlJUWRCQUNBQ0lBVWdBbXNnQVVISXhRTWdBUnNRMXdFaEF5QUhCRUFnQnhCaUdnc0NRQUpBSUFOQmZtc09Bd0lDQUFFTFFRRWhBd3NnQmtFQmFpRUdJQU1nQ0dvaENDQUNJQU5xSVFJTUFRc0xJQWdMVUFFRWZ5QUFLQUlJRUdJaEFRSi9Jd1loQXlNR1FSQnFKQVlnQXdza0JpQUJCRUFnQVJCaUdnc2dBQ2dDQ0NJQUJIOGdBQkJpSVFBUW13TWhCQ0FBQkVBZ0FCQmlHZ3NnQkVFQlJnVkJBUXNMbUFFQkFuOGpCaUVGSXdaQkVHb2tCaUFFSUFJMkFnQWdBQ2dDQ0JCaUlRSWdCU0lBUVFBUW5nRWhBU0FDQkVBZ0FoQmlHZ3NnQVVFQmFrRUNTUVIvUVFJRklBRkJmMm9pQVNBRElBUW9BZ0JyU3dSL1FRRUZBMzhnQVFSL0lBQXNBQUFoQWlBRUlBUW9BZ0FpQTBFQmFqWUNBQ0FESUFJNkFBQWdBRUVCYWlFQUlBRkJmMm9oQVF3QkJVRUFDd3NMQ3lFR0lBVWtCaUFHQy9rREFRWi9Jd1loRENNR1FSQnFKQVlnRENFSklBSWhDQU5BQWtBZ0F5QUlSZ1JBSUFNaENBd0JDeUFJTEFBQUJFQWdDRUVCYWlFSURBSUxDd3NnQnlBRk5nSUFJQVFnQWpZQ0FDQUdJUW9nQ0NFR0FrQUNRQUpBQTBBQ1FDQUNJQU5HSUFVZ0NrWnlEUU1nQ1NBQktRSUFOd01BSUFBb0FnZ1FZaUVJSUFVZ0JDQUdJQUpySUFvZ0JXdEJBblVnQVJEd0JDRUxJQWdFUUNBSUVHSWFDeUFMUVg5R0RRQWdCeUFIS0FJQUlBdEJBblJxSWdVMkFnQWdCU0FLUmcwQ0lBUW9BZ0FoQWlBRElBWkdCRUFnQXlFR0JTQUFLQUlJRUdJaEJnSi9JQVVnQWtFQklBRVExd0VoRFNBR0JFQWdCaEJpR2dzZ0RRc0VRRUVDSVFBTUJnc2dCeUFIS0FJQVFRUnFOZ0lBSUFRZ0JDZ0NBRUVCYWlJQ05nSUFJQUloQmdOQUFrQWdBeUFHUmdSQUlBTWhCZ3dCQ3lBR0xBQUFCRUFnQmtFQmFpRUdEQUlMQ3dzZ0J5Z0NBQ0VGQ3d3QkN3c0NRQUpBQTBBQ1FDQUhJQVUyQWdBZ0FpQUVLQUlBUmcwRElBQW9BZ2dRWWlFSUlBVWdBaUFHSUFKcklBa1Exd0VoQVNBSUJFQWdDQkJpR2dzQ1FBSkFJQUZCZm1zT0F3UUNBQUVMUVFFaEFRc2dBU0FDYWlFQ0lBY29BZ0JCQkdvaEJRd0JDd3NnQkNBQ05nSUFRUUloQUF3RUN5QUVJQUkyQWdCQkFTRUFEQU1MSUFRZ0FqWUNBQ0FDSUFOSElRQU1BZ3NnQkNnQ0FDRUNDeUFDSUFOSElRQUxJQWtrQmlBQUM1Z0VBUVovSXdZaERTTUdRUkJxSkFZZ0RTSUtRUWhxSVFzZ0FpRUlBMEFDUUNBRElBaEdCRUFnQXlFSURBRUxJQWdvQWdBRVFDQUlRUVJxSVFnTUFnc0xDeUFISUFVMkFnQWdCQ0FDTmdJQUlBWWhDU0FJSVFZQ1FBSkFBa0FEUUFKQUlBSWdBMFlnQlNBSlJuSU5BeUFLSUFFcEFnQTNBd0FnQUNnQ0NCQmlJUWdnQlNBRUlBWWdBbXRCQW5VZ0NTQUZheERvQkNFTUlBZ0VRQ0FJRUdJYUN3SkFBa0FnREVGL2F3NENBZ0FCQzBFQklRQU1CUXNnQnlBTUlBY29BZ0JxSWdVMkFnQWdCU0FKUmcwQ0lBTWdCa1lFUUNBRElRWWdCQ2dDQUNFQ0JTQUFLQUlJRUdJaEJTQUxRUUFRbmdFaEFpQUZCRUFnQlJCaUdnc2dBa0YvUmdSQVFRSWhBQXdHQ3lBQ0lBa2dCeWdDQUd0TEJFQkJBU0VBREFZTElBc2hCUU5BSUFJRVFDQUZMQUFBSVFZZ0J5QUhLQUlBSWdoQkFXbzJBZ0FnQ0NBR09nQUFJQVZCQVdvaEJTQUNRWDlxSVFJTUFRc0xJQVFnQkNnQ0FFRUVhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHS0FJQUJFQWdCa0VFYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzZ0J5QUZOZ0lBQTBBQ1FDQUNJQVFvQWdCR0RRQWdBaWdDQUNFRElBQW9BZ2dRWWlFQklBVWdBeENlQVNFRElBRUVRQ0FCRUdJYUN5QURRWDlHRFFBZ0J5QURJQWNvQWdCcUlnVTJBZ0FnQWtFRWFpRUNEQUVMQ3lBRUlBSTJBZ0JCQWlFQURBSUxJQVFvQWdBaEFnc2dBaUFEUnlFQUN5QUtKQVlnQUFzUkFDQURJQUpySWdBZ0JDQUFJQVJKR3d1UEF3RUJmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUtBSUFJZ0JCZ0hCeFFZQ3dBMFlnQUVILy84TUFTM0lFUUVFQ0lRQU1BUXNnQUVHQUFVa0VRQ0FFSUFVb0FnQWlBMnRCQVVnRVFFRUJJUUFNQWdzZ0JTQURRUUZxTmdJQUlBTWdBRG9BQUFVQ1FDQUFRWUFRU1FSQUlBUWdCU2dDQUNJRGEwRUNTQVJBUVFFaEFBd0VDeUFGSUFOQkFXbzJBZ0FnQXlBQVFRWjJRY0FCY2pvQUFBd0JDeUFFSUFVb0FnQWlBMnNoQmlBQVFZQ0FCRWtFUUNBR1FRTklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkRIWkI0QUZ5T2dBQUJTQUdRUVJJQkVCQkFTRUFEQVFMSUFVZ0EwRUJhallDQUNBRElBQkJFblpCOEFGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUVNZGtFL2NVR0FBWEk2QUFBTElBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRUdka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFL2NVR0FBWEk2QUFBTElBSWdBaWdDQUVFRWFpSUFOZ0lBREFFTEN5QUFDN2tGQVFWL0lBSWdBRFlDQUNBRklBTTJBZ0FEUUFKQUlBSW9BZ0FpQmlBQlR3UkFRUUFoQUF3QkN5QUZLQUlBSWdvZ0JFOEVRRUVCSVFBTUFRc2dCaXdBQUNJSFFmOEJjU0VESUFkQmYwb0VmeUFEUWYvL3d3QkxCSDlCQWlFQURBSUZRUUVMQlFKL0lBZEIvd0Z4UWNJQlNBUkFRUUloQUF3REN5QUhRZjhCY1VIZ0FVZ0VRQ0FCSUFaclFRSklCRUJCQVNFQURBUUxJQVl0QUFFaUFFSEFBWEZCZ0FGSEJFQkJBaUVBREFRTFFRSWdBMEVHZEVIQUQzRWdBRUUvY1hJaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOEFGSUJFQWdBU0FHYTBFRFNBUkFRUUVoQUF3RUN5QUdMQUFCSVFnZ0JpMEFBaUVBQWtBQ1FBSkFJQWRCWUdzaUJ3UkFJQWRCRFVZRVFBd0NCUXdEQ3dBTElBaEI0QUZ4UWFBQlJ3UkFRUUloQUF3SEN3d0NDeUFJUWVBQmNVR0FBVWNFUUVFQ0lRQU1CZ3NNQVFzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFVTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBdEJBeUFBUVQ5eElBTkJESFJCZ09BRGNTQUlRVDl4UVFaMGNuSWlBMEgvLzhNQVRRMEJHa0VDSVFBTUF3c2dCMEgvQVhGQjlRRk9CRUJCQWlFQURBTUxJQUVnQm10QkJFZ0VRRUVCSVFBTUF3c2dCaXdBQVNFSklBWXRBQUloQUNBR0xRQURJUWdDUUFKQUFrQUNRQ0FIUVhCckRnVUFBZ0lDQVFJTElBbEI4QUJxUVJoMFFSaDFRZjhCY1VFd1RnUkFRUUloQUF3R0N3d0NDeUFKUWZBQmNVR0FBVWNFUUVFQ0lRQU1CUXNNQVFzZ0NVSEFBWEZCZ0FGSEJFQkJBaUVBREFRTEN5QUFRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dDRUhBQVhGQmdBRkhCRUJCQWlFQURBTUxJQWhCUDNFZ0FFRUdkRUhBSDNFZ0EwRVNkRUdBZ1BBQWNTQUpRVDl4UVF4MGNuSnlJZ05CLy8vREFFc0VmMEVDSVFBTUF3VkJCQXNMQ3lFQUlBb2dBellDQUNBQ0lBQWdCbW8yQWdBZ0JTQUZLQUlBUVFScU5nSUFEQUVMQ3lBQUM0VUVBUWQvSUFFaEJpQUFJUUVEUUFKQUlBRWdCa2tnQ0NBQ1NYRkZEUUFnQVN3QUFDSURRZjhCY1NFSElBTkJmMG9FZnlBSFFmLy93d0JMRFFFZ0FVRUJhZ1VDZnlBRFFmOEJjVUhDQVVnTkFpQURRZjhCY1VIZ0FVZ0VRQ0FHSUFGclFRSklEUU1nQVMwQUFTSUVRY0FCY1VHQUFVY2dCMEVHZEVIQUQzRWdCRUUvY1hKQi8vL0RBRXR5RFFNZ0FVRUNhZ3dCQ3lBRFFmOEJjVUh3QVVnRVFDQUdJQUZyUVFOSURRTWdBU3dBQVNFRUlBRXRBQUloQlFKQUFrQUNRQ0FEUVdCcklnTUVRQ0FEUVExR0JFQU1BZ1VNQXdzQUN5QUVRZUFCY1VHZ0FVY05CZ3dDQ3lBRVFlQUJjVUdBQVVjTkJRd0JDeUFFUWNBQmNVR0FBVWNOQkFzZ0JVSEFBWEZCZ0FGSElBVkJQM0VnQjBFTWRFR0E0QU54SUFSQlAzRkJCblJ5Y2tILy84TUFTM0lOQXlBQlFRTnFEQUVMSUFZZ0FXdEJCRWdnQTBIL0FYRkI5UUZPY2cwQ0lBRXNBQUVoQlNBQkxRQUNJUVFnQVMwQUF5RUpBa0FDUUFKQUFrQWdBMEZ3YXc0RkFBSUNBZ0VDQ3lBRlFmQUFha0VZZEVFWWRVSC9BWEZCTUU0TkJRd0NDeUFGUWZBQmNVR0FBVWNOQkF3QkN5QUZRY0FCY1VHQUFVY05Bd3NnQ1VIQUFYRkJnQUZISUFsQlAzRWdCRUVHZEVIQUgzRWdCMEVTZEVHQWdQQUFjU0FGUVQ5eFFReDBjbkp5UWYvL3d3QkxjaUFFUWNBQmNVR0FBVWR5RFFJZ0FVRUVhZ3NMSVFFZ0NFRUJhaUVJREFFTEN5QUJJQUJyQ3dzQUlBSWdBeUFFRUtFS0MwMEJBWDhqQmlFQUl3WkJFR29rQmlBQVFRUnFJZ0VnQWpZQ0FDQUFJQVUyQWdBZ0FpQURJQUVnQlNBR0lBQVFvQW9oQ0NBRUlBRW9BZ0EyQWdBZ0J5QUFLQUlBTmdJQUlBQWtCaUFJQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW53b2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDOE1FQVFoL0l3WWhCQ01HUWJBQmFpUUdJQVJCcUFGcUlRd2dCQ0VCSUFSQnBBRnFJUW9nQkVHZ0FXb2hCeUFFUVpnQmFpRUNJQVJCa0FGcUlRc2dCRUdBQVdvaUNFSUFOd0lBSUFoQkFEWUNDQU5BSUFaQkEwY0VRQ0FHUVFKMElBaHFRUUEyQWdBZ0JrRUJhaUVHREFFTEN5QUNRUUEyQWdRZ0FrR3NvQUUyQWdBZ0JTZ0NBQ0FGSUFVc0FBc2lBMEVBU0NJSkd5SUdJQVVvQWdRZ0EwSC9BWEVnQ1J0QkFuUnFJUU1nQVVFZ2FpRUpRUUFoQlFKQUFrQURRQ0FGUVFKSElBWWdBMGx4QkVBZ0J5QUdOZ0lBSUFJZ0RDQUdJQU1nQnlBQklBa2dDaUFDS0FJQUtBSU1RUTl4UVk0RGFoRU9BQ0lGUVFKR0lBWWdCeWdDQUVaeURRSWdBU0VHQTBBZ0JpQUtLQUlBU1FSQUlBZ2dCaXdBQUJETUFTQUdRUUZxSVFZTUFRc0xJQWNvQWdBaEJnd0JDd3NNQVFzUUFBc0NmeUFJS0FJQUlBZ2dDQ3dBQzBFQVNCc2lBeUVOSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VDQTBBZ0FrRURSd1JBSUFKQkFuUWdBR3BCQURZQ0FDQUNRUUZxSVFJTUFRc0xJQXRCQURZQ0JDQUxRZHlnQVRZQ0FDQU5DeEJnSUFOcUlnVWhCaUFCUVlBQmFpRUpRUUFoQWdKQUFrQURRQ0FDUVFKSElBTWdCVWx4UlEwQklBY2dBellDQUNBTElBd2dBeUFEUVNCcUlBVWdCaUFEYTBFZ1Noc2dCeUFCSUFrZ0NpQUxLQUlBS0FJUVFROXhRWTREYWhFT0FDSUNRUUpHSUFNZ0J5Z0NBRVp5UlFSQUlBRWhBd05BSUFNZ0NpZ0NBRWtFUUNBQUlBTW9BZ0FRamdJZ0EwRUVhaUVEREFFTEN5QUhLQUlBSVFNTUFRc0xFQUFNQVFzZ0NCQkhJQVFrQmdzTGdBSUJBbjhqQmlFQkl3WkJFR29rQmlBQlFnQTNBZ0FnQVVFQU5nSUlBMEFnQmtFRFJ3UkFJQVpCQW5RZ0FXcEJBRFlDQUNBR1FRRnFJUVlNQVFzTElBVW9BZ0FnQlNBRkxBQUxJZ05CQUVnaUJCc2lBaUFGS0FJRUlBTkIvd0Z4SUFRYmFpRURJQUloQlFOQUlBVWdBMGtFUUNBQklBVXNBQUFRekFFZ0JVRUJhaUVGREFFTEN3Si9JQUVvQWdBZ0FTQUJMQUFMUVFCSUd5SUNJUWNnQUVJQU53SUFJQUJCQURZQ0NFRUFJUU1EUUNBRFFRTkhCRUFnQTBFQ2RDQUFha0VBTmdJQUlBTkJBV29oQXd3QkN3c2dCd3NRWUNBQ2FpRURBMEFnQWlBRFNRUkFJQUFnQWl3QUFCRE1BU0FDUVFGcUlRSU1BUXNMSUFFUVJ5QUJKQVlMd2dVQkVuOGpCaUVHSXdaQjRBTnFKQVlnQmtITUEyb2lDeUFERURzZ0MwR2d6Z01RT2lFTUlBVXNBQXNpQjBFQVNDRUFJQVVvQWdRZ0IwSC9BWEVnQUJzRWZ5QUZLQUlBSUFVZ0FCc29BZ0FnREVFdElBd29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQVJnVkJBQXNoRGlBR1FkUURhaUVQSUFaQnlBTnFJUkFnQmtIRUEyb2hFU0FHUWF3RGFpRUhJQVpCb0FOcUlRZ2dCa0djQTJvaENTQUdRYmdEYWlJS1FnQTNBZ0FnQ2tFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXBxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFIUWdBM0FnQWdCMEVBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBZHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUlRZ0EzQWdBZ0NFRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFocVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBQ0lBNGdDeUFQSUJBZ0VTQUtJQWNnQ0NBSkVLTUVJQVVzQUFzaUFFRUFTQ0VTSUFVb0FnUWdBRUgvQVhFZ0Voc2lFeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUJhaUFUSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJRZ0NVRUNhZ3NoRmlBR0lRQWdBaUFVSUJacWFpSUNRZVFBU3dSQUlBSkJBblFRUkNJQUlRSWdBQVJBSUFBaERTQUNJUlVGRUFBTEJTQUFJUTBMSUEwZ0JrR1lBMm9nQmtHVUEyb2dBeWdDQkNBRktBSUFJQVVnRWhzaUFDQVRRUUowSUFCcUlBd2dEaUFQSUJBb0FnQWdFU2dDQUNBS0lBY2dDQ0FKRUtJRUlBWWdBU2dDQURZQ2tBTWdCaWdDbUFNaEFDQUdLQUtVQXlFQklBWkIwQU5xSWdJZ0JpZ0NrQU0yQWdBZ0FpQU5JQUFnQVNBRElBUVFwUUVoRnlBVkJFQWdGUkE0Q3lBSUVFY2dCeEJISUFvUVJ5QUxFRHdnQmlRR0lCY0x1QVlCRlg4akJpRUdJd1pCNEFkcUpBWWdCa0dJQjJvaENDQUdRWkFEYWlFQUlBWkIyQWRxSWdrZ0JrR2dCbW9pQnpZQ0FDQUdRWkFIYWlJTklBVTVBd0FnQjBIa0FFSFNuZ01nRFJDakFpSUhRZU1BU3dSQUVGd2hBQ0FJSUFVNUF3QWdDU0FBUWRLZUF5QUlFSnNCSVFBZ0NTZ0NBQ0lJUlFSQUVBQUxJQUJCQW5RUVJDSUhJUW9nQndSQUlBY2hEQ0FBSVFzZ0NpRVFJQWdoRVFVUUFBc0ZJQUFoRENBSElRc0xJQVpCMUFkcUlnNGdBeEE3SUE1Qm9NNERFRG9pRWlnQ0FDZ0NNQ0VBSUJJZ0NTZ0NBQ0lISUFjZ0Myb2dEQ0FBUVE5eFFZb0NhaEVKQUJvZ0N3Ui9JQWtvQWdBc0FBQkJMVVlGUVFBTElSTWdCa0hjQjJvaEZDQUdRZEFIYWlFVklBWkJ6QWRxSVJZZ0JrRzBCMm9oQnlBR1FhZ0hhaUVJSUFaQnBBZHFJUWtnQmtIQUIyb2lDa0lBTndJQUlBcEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0IwSUFOd0lBSUFkQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FIYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ0VJQU53SUFJQWhCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUlha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dBaUFUSUE0Z0ZDQVZJQllnQ2lBSElBZ2dDUkNqQkNBTElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFGcUlBc2dDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGeUFKUVFKcUN5RVpJQVloQUNBQ0lCY2dHV3BxSWdKQjVBQkxCRUFnQWtFQ2RCQkVJZ0FoQWlBQUJFQWdBQ0VQSUFJaEdBVVFBQXNGSUFBaER3c2dEeUFHUWFBSGFpQUdRWndIYWlBREtBSUVJQXdnQzBFQ2RDQU1haUFTSUJNZ0ZDQVZLQUlBSUJZb0FnQWdDaUFISUFnZ0NSQ2lCQ0FHSUFFb0FnQTJBcGdISUFZb0FxQUhJUUFnQmlnQ25BY2hBU0FOSUFZb0FwZ0hOZ0lBSUEwZ0R5QUFJQUVnQXlBRUVLVUJJUm9nR0FSQUlCZ1FPQXNnQ0JCSElBY1FSeUFLRUVjZ0RoQThJQkFFUUNBUUVEZ0xJQkVFUUNBUkVEZ0xJQVlrQmlBYUM3d0ZBUkovSXdZaEJpTUdRYkFCYWlRR0lBWkJtQUZxSWdzZ0F4QTdJQXRCZ000REVEb2hEQ0FGTEFBTElnZEJBRWdoQUNBRktBSUVJQWRCL3dGeElBQWJCSDhnQlNnQ0FDQUZJQUFiTFFBQUlBeEJMU0FNS0FJQUtBSWNRVDl4UVlvQmFoRUNBRUgvQVhGR0JVRUFDeUVPSUFaQnBBRnFJUThnQmtHaEFXb2hFQ0FHUWFBQmFpRVJJQVpCZ0FGcUlRY2dCa0gwQUdvaENDQUdRZkFBYWlFSklBWkJqQUZxSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0RpQUxJQThnRUNBUklBb2dCeUFJSUFrUXBRUWdCU3dBQ3lJQVFRQklJUklnQlNnQ0JDQUFRZjhCY1NBU0d5SVRJQWtvQWdBaUNVb0VmeUFIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRRnFJQk1nQ1d0QkFYUnFCU0FIS0FJRUlBY3NBQXNpQUVIL0FYRWdBRUVBU0JzaEFpQUlLQUlFSUFnc0FBc2lBRUgvQVhFZ0FFRUFTQnNoRkNBSlFRSnFDeUVXSUFZaEFDQUNJQlFnRm1wcUlnSkI1QUJMQkVBZ0FoQkVJZ0FoQWlBQUJFQWdBQ0VOSUFJaEZRVVFBQXNGSUFBaERRc2dEU0FHUWV3QWFpQUdRZWdBYWlBREtBSUVJQVVvQWdBZ0JTQVNHeUlBSUFBZ0Uyb2dEQ0FPSUE4Z0VDd0FBQ0FSTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nSmtJQVlvQW13aEFDQUdLQUpvSVFFZ0JrR2NBV29pQWlBR0tBSmtOZ0lBSUFJZ0RTQUFJQUVnQXlBRUVKY0JJUmNnRlFSQUlCVVFPQXNnQ0JCSElBY1FSeUFLRUVjZ0N4QThJQVlrQmlBWEM2OEdBUlYvSXdZaEJpTUdRYUFEYWlRR0lBWkJ5QUpxSVFnZ0JrSHdBR29oQUNBR1FaQURhaUlKSUFaQjRBRnFJZ2MyQWdBZ0JrSFFBbW9pRFNBRk9RTUFJQWRCNUFCQjBwNERJQTBRb3dJaUIwSGpBRXNFUUJCY0lRQWdDQ0FGT1FNQUlBa2dBRUhTbmdNZ0NCQ2JBU0VBSUFrb0FnQWlDRVVFUUJBQUN5QUFFRVFpQnlFS0lBY0VRQ0FISVF3Z0FDRUxJQW9oRUNBSUlSRUZFQUFMQlNBQUlRd2dCeUVMQ3lBR1FZd0RhaUlPSUFNUU95QU9RWURPQXhBNkloSW9BZ0FvQWlBaEFDQVNJQWtvQWdBaUJ5QUhJQXRxSUF3Z0FFRVBjVUdLQW1vUkNRQWFJQXNFZnlBSktBSUFMQUFBUVMxR0JVRUFDeUVUSUFaQm1BTnFJUlFnQmtHVkEyb2hGU0FHUVpRRGFpRVdJQVpCOUFKcUlRY2dCa0hvQW1vaENDQUdRZVFDYWlFSklBWkJnQU5xSWdwQ0FEY0NBQ0FLUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWRDQURjQ0FDQUhRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0IycEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaENBRGNDQUNBSVFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ0dwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFJZ0V5QU9JQlFnRlNBV0lBb2dCeUFJSUFrUXBRUWdDeUFKS0FJQUlnbEtCSDhnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUJhaUFMSUFsclFRRjBhZ1VnQnlnQ0JDQUhMQUFMSWdCQi93RnhJQUJCQUVnYklRSWdDQ2dDQkNBSUxBQUxJZ0JCL3dGeElBQkJBRWdiSVJjZ0NVRUNhZ3NoR1NBR0lRQWdBaUFYSUJscWFpSUNRZVFBU3dSQUlBSVFSQ0lBSVFJZ0FBUkFJQUFoRHlBQ0lSZ0ZFQUFMQlNBQUlROExJQThnQmtIZ0Ftb2dCa0hjQW1vZ0F5Z0NCQ0FNSUFzZ0RHb2dFaUFUSUJRZ0ZTd0FBQ0FXTEFBQUlBb2dCeUFJSUFrUXBBUWdCaUFCS0FJQU5nTFlBaUFHS0FMZ0FpRUFJQVlvQXR3Q0lRRWdEU0FHS0FMWUFqWUNBQ0FOSUE4Z0FDQUJJQU1nQkJDWEFTRWFJQmdFUUNBWUVEZ0xJQWdRUnlBSEVFY2dDaEJISUE0UVBDQVFCRUFnRUJBNEN5QVJCRUFnRVJBNEN5QUdKQVlnR2d2bEJnRUdmeU1HSVFvakJrRVFhaVFHSUFBRWZ5QUJRZmpQQXhBNklnRW9BZ0FvQWl3RklBRkI4TThERURvaUFTZ0NBQ2dDTEFzaEFDQUtRUXhxSWdzZ0FTQUFRVDl4UWJJRmFoRURBQ0FDSUFzb0FnQTJBQUFnQ2lBQklBRW9BZ0FvQWlCQlAzRkJzZ1ZxRVFNQUlBZ3NBQXRCQUVnRVFBSi9JQWdvQWdBaERDQUxRUUEyQWdBZ0RBc2dDeEJ1SUFoQkFEWUNCQ0FJTEFBTFFRQklCRUFnQ0NnQ0NCb2dDQ2dDQUJBNElBaEJBRFlDQ0FzRklBdEJBRFlDQUNBSUlBc1FiaUFJUVFBNkFBc0xJQWdnQ2lrQ0FEY0NBQ0FJSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NIRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VOSUF0QkFEWUNBQ0FOQ3lBTEVHNGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU5nSUFJQWNnQ3hCdUlBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFNZ0FTQUJLQUlBS0FJTVFmOEFjVUVJYWhFQUFEWUNBQ0FFSUFFZ0FTZ0NBQ2dDRUVIL0FIRkJDR29SQUFBMkFnQWdDaUFCSUFFb0FnQW9BaFJCUDNGQnNnVnFFUU1BSUFVc0FBdEJBRWdFUUFKL0lBVW9BZ0FoRGlBTFFRQTZBQUFnRGdzZ0N4QmZJQVZCQURZQ0JDQUZMQUFMUVFCSUJFQWdCU2dDQ0JvZ0JTZ0NBQkE0SUFWQkFEWUNDQXNGSUF0QkFEb0FBQ0FGSUFzUVh5QUZRUUE2QUFzTElBVWdDaWtDQURjQ0FDQUZJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0dFRS9jVUd5QldvUkF3QWdCaXdBQzBFQVNBUkFBbjhnQmlnQ0FDRVBJQXRCQURZQ0FDQVBDeUFMRUc0Z0JrRUFOZ0lFSUFZc0FBdEJBRWdFUUNBR0tBSUlHaUFHS0FJQUVEZ2dCa0VBTmdJSUN3VWdDMEVBTmdJQUlBWWdDeEJ1SUFaQkFEb0FDd3NnQmlBS0tRSUFOd0lBSUFZZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQWtnQVNBQktBSUFLQUlrUWY4QWNVRUlhaEVBQURZQ0FDQUtKQVlMMlFJQkIzOGpCaUVESXdaQkVHb2tCaUFBTEFBTElnWkJBRWdpQndSL0lBQW9BZ2hCLy8vLy93ZHhRWDlxSVFRZ0FDZ0NCQVZCQVNFRUlBWkIvd0Z4Q3lFRklBSWdBV3NpQ0VFQ2RTRUpJQWdFUUFKQUlBY0VmeUFBS0FJRUlRWWdBQ2dDQUFVZ0JrSC9BWEVoQmlBQUN5SUhJUWdnQVNBR1FRSjBJQWRxU1NBSUlBRk5jUVJBSUFOQ0FEY0NBQ0FEUVFBMkFnZ2dBeUFCSUFJUXh3UWdBQ0FES0FJQUlBTWdBeXdBQ3lJQVFRQklJZ0ViSUFNb0FnUWdBRUgvQVhFZ0FSc1E0UWtnQXhCSERBRUxJQVFnQldzZ0NVa0VRQ0FBSUFRZ0JTQUphaUFFYXlBRklBVVFrUVFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lBRlFRSjBhaUVFQTBBZ0FTQUNSd1JBSUFRZ0FSQnVJQVJCQkdvaEJDQUJRUVJxSVFFTUFRc0xJQU5CQURZQ0FDQUVJQU1RYmlBRklBbHFJUUVnQUN3QUMwRUFTQVJBSUFBZ0FUWUNCQVVnQUNBQk9nQUxDd3NMSUFNa0JndXdCQUVJZnlNR0lRQWpCa0d3QTJva0JpQUFRYUFEYWlJSUlBQTJBZ0FnQ0VHUkFUWUNCQ0FBUVpBRGFpSUxJQVFRT3lBTFFhRE9BeEE2SVFjZ0FFR3NBMm9pQ2tFQU9nQUFJQUFnQWlnQ0FDSUpOZ0tVQXlBRUtBSUVJUXdnQUVHb0Eyb2lCQ0FBS0FLVUF6WUNBQ0FCSUFRZ0F5QUxJQXdnQlNBS0lBY2dDQ0FBUVpnRGFpQUFRWkFEYWhDbUJBUkFJQVlzQUF0QkFFZ0VRQUovSUFZb0FnQWhEU0FFUVFBMkFnQWdEUXNnQkJCdUlBWkJBRFlDQkFVZ0JFRUFOZ0lBSUFZZ0JCQnVJQVpCQURvQUN3c2dDaXdBQUFSQUlBWWdCMEV0SUFjb0FnQW9BaXhCUDNGQmlnRnFFUUlBRUk0Q0N5QUhRVEFnQnlnQ0FDZ0NMRUUvY1VHS0FXb1JBZ0FoQkNBQUtBS1lBeUlIUVh4cUlRb2dDQ2dDQUNFREEwQUNRQ0FESUFwUERRQWdBeWdDQUNBRVJ3MEFJQU5CQkdvaEF3d0JDd3NnQmlBRElBY1FyQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdDVVVOQUNBSktBSU1JZ1FnQ1NnQ0VFWUVmeUFKSUFrb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBMFVOQWdzTUFnc2dBdzBBREFFTElBVWdCU2dDQUVFQ2NqWUNBQXNnQVNnQ0FDRU9JQXNRUENBSUtBSUFJUUVnQ0VFQU5nSUFJQUVFUUNBQklBZ29BZ1JCL3dGeFFhd0RhaEVCQUFzZ0FDUUdJQTRMb0FVQkMzOGpCaUVISXdaQjBBUnFKQVlnQjBHb0JHb2hEaUFISVE4Z0IwRzRCR29pQ1NBSFFmQUFhaUlLTmdJQUlBbEJrUUUyQWdRZ0IwR3dCR29pRFNBRUVEc2dEVUdnemdNUU9pRUFJQWRCd0FScUlneEJBRG9BQUNBSElBSW9BZ0EyQXF3RUlBUW9BZ1FoQ3lBSFFZQUVhaUlFSUFjb0Fxd0VOZ0lBSUFFZ0JDQURJQTBnQ3lBRklBd2dBQ0FKSUFkQnRBUnFJQXBCa0FOcUVLWUVCRUFnQUVIb25RTkI4cDBESUFRZ0FDZ0NBQ2dDTUVFUGNVR0tBbW9SQ1FBYUlBY29BclFFSWdzZ0NTZ0NBQ0lLYXlJQVFZZ0RTZ1JBSUFCQkFuWkJBbW9RUkNJQUlRTWdBQVJBSUFBaENDQURJUkFGRUFBTEJTQVBJUWdMSUF3c0FBQUVRQ0FJUVMwNkFBQWdDRUVCYWlFSUN5QUVRU2hxSVFNZ0JDRU1BMEFnQ2lBTFNRUkFJQW9vQWdBaEN5QUVJUUFEUUFKQUlBQWdBMFlFUUNBRElRQU1BUXNnQUNnQ0FDQUxSd1JBSUFCQkJHb2hBQXdDQ3dzTElBZ2dBQ0FNYTBFQ2RVSG9uUU5xTEFBQU9nQUFJQXBCQkdvaENpQUlRUUZxSVFnZ0J5Z0N0QVFoQ3d3QkN3c2dDRUVBT2dBQUlBNGdCallDQUNBUFFZV2RBeUFPRUlNQlFRRkhCRUFRQUFzZ0VBUkFJQkFRT0FzTElBRW9BZ0FpQUFSL0lBQW9BZ3dpQXlBQUtBSVFSZ1IvSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUi9JQUZCQURZQ0FFRUJCU0FCS0FJQVJRc0ZRUUVMSVFNQ1FBSkFBa0FnQWlnQ0FDSUFSUTBBSUFBb0Fnd2lCQ0FBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFlalBBeEE2SWdFb0FnQW9BaXdGSUFGQjRNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTZBQUFnREFzZ0N4QmZJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEb0FBQ0FJSUFzUVh5QUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURvQUFDQU5DeUFMRUY4Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBT2dBQUlBY2dDeEJmSUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURvQUFDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUE2QUFBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRG9BQUNBUEN5QUxFRjhnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFZZ0N4QmZJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyd0lCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdWQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJDaUVFSUFWQi93RnhDeUVHSUFJZ0FXc2lDQVJBQWtBZ0J3Ui9JQUFvQWdRaEJTQUFLQUlBQlNBRlFmOEJjU0VGSUFBTElnY2hDU0FCSUFVZ0IycEpJQWtnQVUxeEJFQWdBMElBTndJQUlBTkJBRFlDQ0NBRElBRWdBaEQrQXlBQUlBTW9BZ0FnQXlBRExBQUxJZ0JCQUVnaUFSc2dBeWdDQkNBQVFmOEJjU0FCR3hEakNTQURFRWNNQVFzZ0JDQUdheUFJU1FSQUlBQWdCQ0FHSUFocUlBUnJJQVlnQmhEZEFnc2dBaUFHSUFGcmFpRUhJQVlnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSWdWcUlRUURRQ0FCSUFKSEJFQWdCQ0FCRUY4Z0JFRUJhaUVFSUFGQkFXb2hBUXdCQ3dzZ0EwRUFPZ0FBSUFVZ0Iyb2dBeEJmSUFZZ0NHb2hBU0FBTEFBTFFRQklCRUFnQUNBQk5nSUVCU0FBSUFFNkFBc0xDd3NnQXlRR0M3VUVBUWgvSXdZaEFDTUdRWUFCYWlRR0lBQkI4QUJxSWdnZ0FEWUNBQ0FJUVpFQk5nSUVJQUJCNUFCcUlnc2dCQkE3SUF0QmdNNERFRG9oQnlBQVFmd0FhaUlLUVFBNkFBQWdBQ0FDS0FJQUlnazJBbWdnQkNnQ0JDRU1JQUJCK0FCcUlnUWdBQ2dDYURZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRZXdBYWlBQVFlUUFhaENvQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUE2QUFBZ0RRc2dCQkJmSUFaQkFEWUNCQVVnQkVFQU9nQUFJQVlnQkJCZklBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FoeEJQM0ZCaWdGcUVRSUFFTXdCQ3lBSFFUQWdCeWdDQUNnQ0hFRS9jVUdLQVdvUkFnQWhCQ0FBS0FKc0lnZEJmMm9oQ2lBSUtBSUFJUU1EUUFKQUlBTWdDazhOQUNBRExRQUFJQVJCL3dGeFJ3MEFJQU5CQVdvaEF3d0JDd3NnQmlBRElBY1FzQW9MSUFFb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRUZJQUVvQWdCRkN3VkJBUXNoQXdKQUFrQUNRQ0FKUlEwQUlBa29BZ3dpQkNBSktBSVFSZ1IvSUFrZ0NTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFORkRRSUxEQUlMSUFNTkFBd0JDeUFGSUFVb0FnQkJBbkkyQWdBTElBRW9BZ0FoRGlBTEVEd2dDQ2dDQUNFQklBaEJBRFlDQUNBQkJFQWdBU0FJS0FJRVFmOEJjVUdzQTJvUkFRQUxJQUFrQmlBT0Mvc1RBaEYvQVh3akJpRVVJd1pCRUdva0JpQVVJUkFnQVVFQ0VEa2hEU0FDUVFJUU9TRVBJQVFvQWdBaUJ5RUNJQTBnRDBGL2FpSVJiRUVCZENBSGFpRUZBMEFnQ3lBTlNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FMUVFGcUlRc01BUXNMSUFjaEFpQU5RWDlxSWhKQkFYUWdCMm9oQlVFQUlRc0RRQ0FMSUE5SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTlFRRjBJQUpxSVFJZ0RVRUJkQ0FGYWlFRklBdEJBV29oQ3d3QkN3c2dCRUdRZ01nQWFpRUNRUUFnRFdzaEV5QUFJQUZCQVhSQkFtcHFJUTVCQVNFTVFRQWhCU0FOUVFGcUlnQWdCQ2dDQkdvaEN5QUFRUUYwSUFkcUlRY0Nmd0pBQTBBQ1FDQU1JQkZPRFFJZ0JTRUFRUUVoQ1FOQUlBa2dFa2dFUUNBT0xRQUFJQU5LQkVBQ1FDQUxRWDg2QUFBZ0UwRUJkQ0FIYWlJRkxnRUFJZ1pCQUVvRVFDQUhJQVk3QVFBZ0JrRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0JVRithaTRCQUNJR0lRZ2dCa0VBU2lFS0lBVXVBUUlpQlVFQVRBUkFJQW9FUUNBSElBWTdBUUFnQ0VFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdZb0FnQWdDVWdFUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3Q0N5QUhRWDVxTGdFQUlnVkJBRW9FUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZU0EwQUJxSWdVb0FnQWdDVTROQWlBRklBazJBZ0FGSUFCQi8vOEJTZzBHSUFjZ0FFRUJhaUlGT3dFQUlBUkJrSURJQUdvZ0FFRUNkR29nQlVFUWRFRVFkVFlDQUNBRVFaQ0EwQUJxSUFCQkIyd2lBRUVDZEdwQkFUWUNBQ0FBUVFKMElBUnFRWlNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dZZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCbklEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUWFDQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaUFNTmdJQUlBQkJBblFnQkdwQnFJRFFBR29nRERZQ0FDQUZJUUFMREFFTElBb0VRQUpBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBSVFRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQmlBTUlBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDeUFIUVg1cUxnRUFJZ1pCQUV3RVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWUNBMEFCcUlnWW9BZ0FnQ1VvRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nRERZQ0FBd0JDd0pBSUFWQkFuUWdCR3BCaklESUFHb29BZ0FpQlNBR1FRSjBJQVJxUVl5QXlBQnFLQUlBSWdaS0JFQWdCeUFHT3dFQUlBSWhDRUVBSVFvRFFDQUtJQUJPQkVBZ0JpRUZEQU1MSUFVZ0NDZ0NBRVlFUUNBSUlBWTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFVZ0J5QUZPd0VBSUFVZ0JrZ0VRQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnMERJQVlnQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQXNMQ3lBRlFSQjBRUkIxUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQmlBR0tBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQmlBSklBWW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQlNBTUlBVW9BZ0JxTmdJQUN3VWdCMEVBT3dFQUlBdEJBRG9BQUFzZ0RrRUNhaUVPSUF0QkFXb2hDeUFKUVFGcUlRa2dCMEVDYWlFSERBRUxDeUFCSUE1cVFRUnFJUTRnREVFQmFpRU1JQUFoQlNBTFFRSnFJUXNnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUJBUVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUxSZ1JBSUFCQkFXb2hBUVVnQUNFQklBdEJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0RUWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRHpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGcU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FXb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGU0FRSkFZZ0ZRdWVCUUVMZnlNR0lRY2pCa0dBQW1va0JpQUhRZGdCYWlFT0lBY2hEeUFIUWVnQmFpSUpJQWRCOEFCcUlnbzJBZ0FnQ1VHUkFUWUNCQ0FIUWVBQmFpSU5JQVFRT3lBTlFZRE9BeEE2SVFBZ0IwSDZBV29pREVFQU9nQUFJQWNnQWlnQ0FEWUMzQUVnQkNnQ0JDRUxJQWRCOEFGcUlnUWdCeWdDM0FFMkFnQWdBU0FFSUFNZ0RTQUxJQVVnRENBQUlBa2dCMEhrQVdvZ0NrSGtBR29RcUFRRVFDQUFRZnFjQTBHRW5RTWdCQ0FBS0FJQUtBSWdRUTl4UVlvQ2FoRUpBQm9nQnlnQzVBRWlDeUFKS0FJQUlncHJJZ0JCNGdCS0JFQWdBRUVDYWhCRUlnQWhBeUFBQkVBZ0FDRUlJQU1oRUFVUUFBc0ZJQThoQ0FzZ0RDd0FBQVJBSUFoQkxUb0FBQ0FJUVFGcUlRZ0xJQVJCQ21vaEF5QUVJUXdEUUNBS0lBdEpCRUFnQ2l3QUFDRUxJQVFoQUFOQUFrQWdBQ0FEUmdSQUlBTWhBQXdCQ3lBQUxBQUFJQXRIQkVBZ0FFRUJhaUVBREFJTEN3c2dDQ0FBSUF4clFmcWNBMm9zQUFBNkFBQWdDa0VCYWlFS0lBaEJBV29oQ0NBSEtBTGtBU0VMREFFTEN5QUlRUUE2QUFBZ0RpQUdOZ0lBSUE5QmhaMERJQTRRZ3dGQkFVY0VRQkFBQ3lBUUJFQWdFQkE0Q3dzZ0FTZ0NBQ0lBQkg4Z0FDZ0NEQ0lESUFBb0FoQkdCSDhnQUNBQUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVVnQVNnQ0FFVUxCVUVCQ3lFREFrQUNRQUpBSUFJb0FnQWlBRVVOQUNBQUtBSU1JZ1FnQUNnQ0VFWUVmeUFBSUFBb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FEUlEwQ0N3d0NDeUFERFFBTUFRc2dCU0FGS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUkVnRFJBOElBa29BZ0FoQUNBSlFRQTJBZ0FnQUFSQUlBQWdDU2dDQkVIL0FYRkJyQU5xRVFFQUN5QUhKQVlnRVF1VEFRRUNmeU1HSVFZakJrR0FBV29rQmlBR1FmUUFhaUlISUFaQjVBQnFOZ0lBSUFBZ0JpQUhJQU1nQkNBRkVLd0VJQVpCNkFCcUlnTkNBRGNEQUNBR1FmQUFhaUlFSUFZMkFnQWdBaWdDQUNBQmEwRUNkU0VGSUFBb0FnQVFZaUVBSUFFZ0JDQUZJQU1RL2dJaEF5QUFCRUFnQUJCaUdnc2dBMEYvUmdSQUVBQUZJQUlnQTBFQ2RDQUJhallDQUNBR0pBWUxDN0VCQUNNR0lRSWpCa0dnQTJva0JpQUNRWkFEYWlJRElBSkJrQU5xTmdJQUlBQkJDR29nQWlBRElBUWdCU0FHRUxRS0lBTW9BZ0FoQlNBQ0lRTWdBU2dDQUNFQUEwQWdBeUFGUndSQUlBTW9BZ0FoQVNBQUJIOUJBQ0FBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFnQVNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUVJxTmdJWUlBUWdBVFlDQUNBQkMwRi9FRUViQlVFQUN5RUFJQU5CQkdvaEF3d0JDd3NnQWlRR0lBQUx1UUVBSXdZaEFpTUdRZkFBYWlRR0lBSkI1QUJxSWdNZ0FrSGtBR28yQWdBZ0FFRUlhaUFDSUFNZ0JDQUZJQVlRckFRZ0F5Z0NBQ0VGSUFJaEF5QUJLQUlBSVFBRFFDQURJQVZIQkVBZ0F5d0FBQ0VCSUFBRWYwRUFJQUFnQUNnQ0dDSUVJQUFvQWh4R0JIOGdBQ2dDQUNnQ05DRUVJQUFnQVJCQ0lBUkJQM0ZCaWdGcUVRSUFCU0FBSUFSQkFXbzJBaGdnQkNBQk9nQUFJQUVRUWd0QmZ4QkJHd1ZCQUFzaEFDQURRUUZxSVFNTUFRc0xJQUlrQmlBQUM0MEVBUU4vSUFBb0FnQWlCQVIvSUFRb0Fnd2lCU0FFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUFrQWdBU2dDQUNJRUJFQWdCQ2dDRENJR0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFCU0FGQkVBTUJBVU1Bd3NBQ3dzZ0JVVUVRRUVBSVFRTUFnc0xJQUlnQWlnQ0FFRUdjallDQUF3QkN5QURJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCQUNBREtBSUFLQUkwUVQ5eFFjb0JhaEVFQUVIL0FYRkJKVWNFUUNBQ0lBSW9BZ0JCQkhJMkFnQU1BUXNnQUNnQ0FDSURLQUlNSWdVZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFGUVFScU5nSU1JQVVvQWdBYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQ0FFUlEwQUlBUW9BZ3dpQXlBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBTW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FBRFFNTERBRUxJQUJGRFFFTElBSWdBaWdDQUVFQ2NqWUNBQXNMVWdFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtUUVoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUdVY1dvMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBUkNaQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUVIU0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVDFJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMcXdJQkJIeEVBQUFBQUFBQThEOGdBU3NER0NJREVPY0VJZ1NoSVFJZ0F4RG1CQ0VESUFBZ0JDQUJLd01BSWdVZ0JhSWdBcUtnT1FNQUlBQWdBaUFCS3dNQUlBRXJBd2lpb2lBRElBRXJBeENpb1RrRENDQUFJQUlnQVNzREFDQUJLd01Rb3FJZ0F5QUJLd01Jb3FBNUF4QWdBQ0FCS3dNZ09RTVlJQUFnQWlBQkt3TUlJQUVyQXdDaW9pQURJQUVyQXhDaW9Ea0RJQ0FBSUFRZ0FpQUJLd01JSWdVZ0JhS2lvRGtES0NBQUlBSWdBU3NEQ0NBQkt3TVFvcUlnQXlBQkt3TUFvcUU1QXpBZ0FDQUJLd01vT1FNNElBQkJRR3NnQWlBQkt3TVFJQUVyQXdDaW9pQURJQUVyQXdpaW9Ua0RBQ0FBSUFJZ0FTc0RFQ0FCS3dNSW9xSWdBeUFCS3dNQW9xQTVBMGdnQUNBRUlBSWdBU3NERUNJQ0lBS2lvcUE1QTFBZ0FDQUJLd013T1FOWUMrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNWQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDL1lEQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUZBa0FDUUNBQktBSUFJZ1JGRFFBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVZGRFFNTERBRUxJQVVFZjBFQUlRUU1BZ1ZCQUFzaEJBc2dBMEdBd0FBZ0FDZ0NBQ0lGS0FJTUlnWWdCU2dDRUVZRWZ5QUZJQVVvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUN5QURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BQ0FBS0FJQUlnUW9BZ3dpQlNBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQVZCQkdvMkFnd2dCU2dDQUJvTERBRUxDeUFBS0FJQUlnTUVmeUFES0FJTUlnVWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUFBa0FDUUFKQUlBUkZEUUFnQkNnQ0RDSURJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSmtCSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtUUVoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd1d0FRRUNmQ0FBSUFFckF3QWlBeUFEb2lBQkt3TUlJZ0lnQXFLZ0lBRXJBeEFpQWlBQ29xQWlBa1FBQUFBQUFBQUFBR0VFZkNBQVJBQUFBQUFBQVBBL09RTUFJQUJFQUFBQUFBQUFBQUE1QXdoRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFBVWdBQ0FESUFLZklnS2pPUU1BSUFBZ0FTc0RDQ0FDb3prRENDQUJLd01RSUFLakN6a0RFQ0FBSUFJNUF4Z2dBQ0FCS3dNWU9RTWdJQUFnQVNzRElEa0RLQ0FBSUFFckF5ZzVBekFMOUFFQkFuOUJrTUFETEFBQVJRUkFRWkRBQXhCd0JFQkJzTHNESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCMkx3RFJ3MEFDMEdRd0FNUWJ3c0xRYkM3QTBHUW1nRVFWa0c4dXdOQnJKb0JFRlpCeUxzRFFjaWFBUkJXUWRTN0EwSG9tZ0VRVmtIZ3V3TkJrSnNCRUZaQjdMc0RRYlNiQVJCV1FmaTdBMEhRbXdFUVZrR0V2QU5COUpzQkVGWkJrTHdEUVlTY0FSQldRWnk4QTBHVW5BRVFWa0dvdkFOQnBKd0JFRlpCdEx3RFFiU2NBUkJXUWNDOEEwSEVuQUVRVmtITXZBTkIxSndCRUZZTDJBSUJBbjlCZ01BRExBQUFSUVJBUVlEQUF4QndCRUJCa0xrRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQnNMc0RSdzBBQzBHQXdBTVFid3NMUVpDNUEwR0lsZ0VRVmtHY3VRTkJxSllCRUZaQnFMa0RRY3lXQVJCV1FiUzVBMEhrbGdFUVZrSEF1UU5CL0pZQkVGWkJ6TGtEUVl5WEFSQldRZGk1QTBHZ2x3RVFWa0hrdVFOQnRKY0JFRlpCOExrRFFkQ1hBUkJXUWZ5NUEwSDRsd0VRVmtHSXVnTkJtSmdCRUZaQmxMb0RRYnlZQVJCV1FhQzZBMEhnbUFFUVZrR3N1Z05COEpnQkVGWkJ1TG9EUVlDWkFSQldRY1M2QTBHUW1RRVFWa0hRdWdOQi9KWUJFRlpCM0xvRFFhQ1pBUkJXUWVpNkEwR3dtUUVRVmtIMHVnTkJ3SmtCRUZaQmdMc0RRZENaQVJCV1FZeTdBMEhnbVFFUVZrR1l1d05COEprQkVGWkJwTHNEUVlDYUFSQldDM3dCQW45QjhMOERMQUFBUlFSQVFmQy9BeEJ3QkVCQjhMZ0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkJpTGtEUncwQUMwSHd2d01RYndzTFFmQzRBMEh3bFFFUVZrSDh1QU5CL0pVQkVGWUxSQUJCeUw4RExBQUFSUVJBUWNpL0F4QndCRUJCak04RFFnQTNBZ0JCbE04RFFRQTJBZ0JCak04RFFhU1VBVUdrbEFFUXRBRVF5d0ZCeUw4REVHOExDMEdNendNTFJBQkIwTDhETEFBQVJRUkFRZEMvQXhCd0JFQkJtTThEUWdBM0FnQkJvTThEUVFBMkFnQkJtTThEUWNpVUFVSElsQUVRdEFFUXl3RkIwTDhERUc4TEMwR1l6d01MUkFCQjJMOERMQUFBUlFSQVFkaS9BeEJ3QkVCQnBNOERRZ0EzQWdCQnJNOERRUUEyQWdCQnBNOERRZXlVQVVIc2xBRVF0QUVReXdGQjJMOERFRzhMQzBHa3p3TUxSQUJCNEw4RExBQUFSUVJBUWVDL0F4QndCRUJCc004RFFnQTNBZ0JCdU04RFFRQTJBZ0JCc004RFFaeVZBVUdjbFFFUXRBRVF5d0ZCNEw4REVHOExDMEd3endNTE1RQkI2TDhETEFBQVJRUkFRZWkvQXhCd0JFQVF4d3BCdk04RFFmQzRBellDQUVIb3Z3TVFid3NMUWJ6UEF5Z0NBQXN4QUVINHZ3TXNBQUJGQkVCQitMOERFSEFFUUJER0NrSEF6d05Ca0xrRE5nSUFRZmkvQXhCdkN3dEJ3TThES0FJQUN6RUFRWWpBQXl3QUFFVUVRRUdJd0FNUWNBUkFFTVVLUWNUUEEwR3d1d00yQWdCQmlNQURFRzhMQzBIRXp3TW9BZ0FMZ2d3QkJYOGpCaUVISXdaQmtBRnFKQVlnQjBId0FHb2hDaUFIUVVCcklRc2dCRUVBTmdJQUlBZEJnQUZxSWdnZ0F4QTdJQWhCb000REVEb2hDU0FJRUR3Q2Z3SkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFaQkdIUkJHSFZCSldzT1ZSWVhGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y0FBUmNFRndVWEJnY1hGeGNLRnhjWEZ3NFBFQmNYRnhNVkZ4Y1hGeGNYRndBQkFnTURGeGNCRndnWEZ3a0xGd3dYRFJjTEZ4Y1JFaFFYQ3lBSElBSW9BZ0EyQW53Z0NDQUhLQUo4TmdJQUlBQWdCVUVZYWlBQklBZ2dCQ0FKRUxFRURCY0xJQWNnQWlnQ0FEWUNlQ0FJSUFjb0FuZzJBZ0FnQUNBRlFSQnFJQUVnQ0NBRUlBa1FzQVFNRmdzZ0FFRUlhaUlHS0FJQUtBSU1JUWtnQmlBSlFmOEFjVUVJYWhFQUFDRUdJQWNnQVNnQ0FEWUNkQ0FISUFJb0FnQTJBbXdnQmlnQ0FDQUdJQVlzQUFzaUNVRUFTQ0lMR3lFQ0lBWW9BZ1FnQ1VIL0FYRWdDeHRCQW5RZ0Ftb2hCaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdBaUFHRUtNQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFTU1LREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFhRHdBRUhBOEFBUW93RTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQndQQUFRZUR3QUJDakFUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRDQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEQkNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSREFDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkMvQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JDK0Nnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdlFvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSQzhDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIZzhBQkJqUEVBRUtNQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUVpEeEFFR2s4UUFRb3dFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUXVnb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCc1BFQVFkRHhBQkNqQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSQzVDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ2xCQUVnaUN4c2hBaUFHS0FJRUlBbEIvd0Z4SUFzYlFRSjBJQUpxSVFZZ0NpQUhLQUlRTmdJQUlBZ2dCeWdDRERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGSUFJZ0JoQ2pBVFlDQUF3RUN5QUhJQUlvQWdBMkFnZ2dDQ0FIS0FJSU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDdkJBd0RDeUFISUFJb0FnQTJBZ1FnQ0NBSEtBSUVOZ0lBSUFWQkZHb2dBU0FJSUFRZ0NSQzRDZ3dDQ3lBSElBSW9BZ0EyQWdBZ0NDQUhLQUlBTmdJQUlBRWdDQ0FFSUFrUXR3b01BUXNnQkNBRUtBSUFRUVJ5TmdJQUN5QUJLQUlBQ3lFTUlBY2tCaUFNQzFrQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FGUVJScUlBRWdCeUFFSUFNUXJ3UWdBU2dDQUNFSUlBWWtCaUFJQzFzQkEzOGpCaUVHSXdaQkVHb2tCaUFHUVFScUlnY2dBeEE3SUFkQm9NNERFRG9oQXlBSEVEd2dCaUFDS0FJQU5nSUFJQWNnQmlnQ0FEWUNBQ0FBSUFWQkVHb2dBU0FISUFRZ0F4Q3dCQ0FCS0FJQUlRZ2dCaVFHSUFnTFd3RURmeU1HSVFZakJrRVFhaVFHSUFaQkJHb2lCeUFERURzZ0IwR2d6Z01RT2lFRElBY1FQQ0FHSUFJb0FnQTJBZ0FnQnlBR0tBSUFOZ0lBSUFBZ0JVRVlhaUFCSUFjZ0JDQURFTEVFSUFFb0FnQWhDQ0FHSkFZZ0NBdW5BUUVFZnlNR0lRY2pCa0VRYWlRR0lBQkJDR29pQmlnQ0FDZ0NGQ0VJSUFZZ0NFSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBZ1FnQnlBQ0tBSUFOZ0lBSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ0JzaEFTQUdLQUlFSUFKQi93RnhJQWdiUVFKMElBRnFJUUlnQjBFSWFpSUdJQWNvQWdRMkFnQWdCMEVNYWlJSUlBY29BZ0EyQWdBZ0FDQUdJQWdnQXlBRUlBVWdBU0FDRUtNQklRa2dCeVFHSUFrTFlBRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBQ0FCSUFJZ0F5QUVJQVZCMFBFQVFmRHhBQkNqQVNFSElBWWtCaUFIQzUwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCUUpBQWtBQ1FDQUJLQUlBSWdRRVFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQVVnQlFSQURBUUZEQU1MQUFzTElBVkZCRUJCQUNFRURBSUxDeUFDSUFJb0FnQkJCbkkyQWdBTUFRc2dBeUFBS0FJQUlnVW9BZ3dpQmlBRktBSVFSZ1IvSUFVZ0JTZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWXNBQUFRUWd0Qi93RnhRUUFnQXlnQ0FDZ0NKRUUvY1VIS0FXb1JCQUJCL3dGeFFTVkhCRUFnQWlBQ0tBSUFRUVJ5TmdJQURBRUxJQUFvQWdBaUF5Z0NEQ0lGSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeXdBQUJCQ0MwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FBMERDd3dCQ3lBQVJRMEJDeUFDSUFJb0FnQkJBbkkyQWdBTEMxSUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVFRUpvQklRRWdBeWdDQUVFRWNVVUVRQ0FBSUFGQmxIRnFOZ0lBQ3lBRkpBWUxZUUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFFUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkIwaHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGhBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDYUFTRUJJQU1vQWdBaUFrRUVjVVVnQVVFOVNIRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MrSUJBUVIvSXdZaEJ5TUdRUkJxSkFZZ0FFRUlhaUlBS0FJQUtBSUlJUVlnQUNBR1FmOEFjVUVJYWhFQUFDSUFMQUFMSWdaQkFFZ0VmeUFBS0FJRUJTQUdRZjhCY1FzaEJpQUhRUVJxSVFoQkFDQUFMQUFYSWdsQkFFZ0VmeUFBS0FJUUJTQUpRZjhCY1F0cklBWkdCRUFnQkNBRUtBSUFRUVJ5TmdJQUJRSkFJQWNnQXlnQ0FEWUNBQ0FJSUFjb0FnQTJBZ0FnQWlBSUlBQWdBRUVZYWlBRklBUkJBQkNXQWlBQWF5SUNSU0FCS0FJQUlnQkJERVp4QkVBZ0FVRUFOZ0lBREFFTElBSkJERVlnQUVFTVNIRUVRQ0FCSUFCQkRHbzJBZ0FMQ3dzZ0J5UUdDNVFFQVFOL0EwQUNRQ0FBS0FJQUlnUUVmeUFFS0FJTUlnVWdCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FGTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVVDUUFKQUlBRW9BZ0FpQkVVTkFDQUVLQUlNSWdZZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRlJRMERDd3dCQ3lBRkJIOUJBQ0VFREFJRlFRQUxJUVFMSUFBb0FnQWlCU2dDRENJR0lBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUZRZjhCY1VFWWRFRVlkVUYvVEEwQUlBTW9BZ2dnQlVFWWRFRVlkVUVCZEdvdUFRQkJnTUFBY1VVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJBV28yQWd3Z0JTd0FBQkJDR2dzTUFRc0xJQUFvQWdBaUF3Ui9JQU1vQWd3aUJTQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBQUpBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRVHhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJEVWh4QkVBZ0FDQUJRWDlxTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aUFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBeENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUh1QWtoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0a0FRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUYvYWtFTVNYRUVRQ0FBSUFFMkFnQUZJQU1nQWtFRWNqWUNBQXNnQlNRR0MyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUpvQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVJoSWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTDhRUUJBWDhnQUVJQU53TUFJQUJDQURjRENDQUFRZ0EzQXhBZ0FFSUFOd01ZSUFCQ0FEY0RJQ0FBUWdBM0F5Z2dBRUlBTndNd0lBQkNBRGNET0NBQVFVQnJSQUFBQUFBQUFQQy9PUU1BSUFCQ0FEY0RTQ0FBUWdBM0ExQWdBRUlBTndOWUlBQkNBRGNEWUNBQVJBQUFBQUFBQVBBL09RTm9JQUJDQURjRGNDQUFRZ0EzQTNnZ0FFSUFOd09BQVNBQVFnQTNBNGdCSUFCQ0FEY0RrQUVnQUVJQU53T1lBU0FBUkFBQUFBQUFBUEEvT1FPZ0FTQUFRYWdCYWlJQlFnQTNBd0FnQVVJQU53TUlJQUZDQURjREVDQUJRZ0EzQXhnZ0FVSUFOd01nSUFGQ0FEY0RLQ0FCUWdBM0F6QWdBVUlBTndNNElBRkJRR3RDQURjREFDQUFSQUFBQUFBQUFQQy9PUVB3QVNBQVFnQTNBL2dCSUFCQ0FEY0RnQUlnQUVJQU53T0lBaUFBUWdBM0E1QUNJQUJDQURjRG1BSWdBRUlBTndPZ0FpQUFSQUFBQUFBQUFQQy9PUU9vQWlBQVFnQTNBN0FDSUFCQ0FEY0R1QUlnQUVJQU53UEFBaUFBUWdBM0E4Z0NJQUJFQUFBQUFBQUE4RDg1QTlBQ0lBQkIyQUpxSWdGQ0FEY0RBQ0FCUWdBM0F3Z2dBVUlBTndNUUlBRkNBRGNER0NBQlFnQTNBeUFnQVVJQU53TW9JQUZDQURjRE1DQUJRZ0EzQXpnZ0FVRkFhMElBTndNQUlBRkNBRGNEU0NBQlFnQTNBMUFnQVVJQU53TllJQUZDQURjRFlDQUJRZ0EzQTJnZ0FFUUFBQUFBQUFEd1B6a0R5QU1nQUVJQU53UFFBeUFBUWdBM0E5Z0RJQUJDQURjRDRBTWdBRUlBTndQb0F5QUFRZ0EzQS9BRElBQkNBRGNEK0FNZ0FFUUFBQUFBQUFEd1B6a0RnQVFnQUVJQU53T0lCQ0FBUWdBM0E1QUVJQUJDQURjRG1BUWdBRUlBTndPZ0JDQUFRZ0EzQTZnRUlBQkNBRGNEc0FRZ0FFUUFBQUFBQUFEd1B6a0R1QVFMWkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRSVFtZ0VoQVNBREtBSUFJZ0pCQkhGRklBRkJmMnBCSDBseEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd2MEFRRUNmMEhBdndNc0FBQkZCRUJCd0w4REVIQUVRRUhBdHdNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIb3VBTkhEUUFMUWNDL0F4QnZDd3RCd0xjRFFmQ1hBeEJYUWN5M0EwSDNsd01RVjBIWXR3TkIvcGNERUZkQjVMY0RRWWFZQXhCWFFmQzNBMEdRbUFNUVYwSDh0d05CbVpnREVGZEJpTGdEUWFDWUF4QlhRWlM0QTBHcG1BTVFWMEdndUFOQnJaZ0RFRmRCckxnRFFiR1lBeEJYUWJpNEEwRzFtQU1RVjBIRXVBTkJ1WmdERUZkQjBMZ0RRYjJZQXhCWFFkeTRBMEhCbUFNUVZ3dllBZ0VDZjBHd3Z3TXNBQUJGQkVCQnNMOERFSEFFUUVHZ3RRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFSEF0d05IRFFBTFFiQy9BeEJ2Q3d0Qm9MVURRZTZXQXhCWFFheTFBMEgybGdNUVYwRzR0UU5CLzVZREVGZEJ4TFVEUVlXWEF4QlhRZEMxQTBHTGx3TVFWMEhjdFFOQmo1Y0RFRmRCNkxVRFFaU1hBeEJYUWZTMUEwR1psd01RVjBHQXRnTkJvSmNERUZkQmpMWURRYXFYQXhCWFFaaTJBMEd5bHdNUVYwR2t0Z05CdTVjREVGZEJzTFlEUWNTWEF4QlhRYnkyQTBISWx3TVFWMEhJdGdOQnpKY0RFRmRCMUxZRFFkQ1hBeEJYUWVDMkEwR0xsd01RVjBIc3RnTkIxSmNERUZkQitMWURRZGlYQXhCWFFZUzNBMEhjbHdNUVYwR1F0d05CNEpjREVGZEJuTGNEUWVTWEF4QlhRYWkzQTBIb2x3TVFWMEcwdHdOQjdKY0RFRmNMZkFFQ2YwR2d2d01zQUFCRkJFQkJvTDhERUhBRVFFR0F0UU1oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUdZdFFOSERRQUxRYUMvQXhCdkN3dEJnTFVEUWVpV0F4QlhRWXkxQTBIcmxnTVFWd3RDQUVINHZnTXNBQUJGQkVCQitMNERFSEFFUUVISXpnTkNBRGNDQUVIUXpnTkJBRFlDQUVISXpnTkJ0WllEUWJXV0F4QmdFSDVCK0w0REVHOExDMEhJemdNTFFnQkJnTDhETEFBQVJRUkFRWUMvQXhCd0JFQkIxTTREUWdBM0FnQkIzTTREUVFBMkFnQkIxTTREUWI2V0EwRytsZ01RWUJCK1FZQy9BeEJ2Q3d0QjFNNERDMElBUVlpL0F5d0FBRVVFUUVHSXZ3TVFjQVJBUWVET0EwSUFOd0lBUWVqT0EwRUFOZ0lBUWVET0EwSEhsZ05CeDVZREVHQVFma0dJdndNUWJ3c0xRZURPQXd1cEFnRUdmQ0FCS3dNWUlBRXJBd0FpQ0NBQ0t3TUFJZ1NpSUFFckF3Z2dBaXNEQ0NJSG9xQWdBU3NERUNBQ0t3TVFJZ09pb0tBaEJTQUJLd000SUFRZ0FTc0RJS0lnQnlBQkt3TW9vcUFnQXlBQkt3TXdvcUNnSVFZZ0FTc0RXQ0FFSUFGQlFHc2lBaXNEQUNJRW9pQUhJQUVyQTBpaW9DQURJQUVyQTFDaW9LQWlBMFFBQUFBQUFBQUFBR0VFZjBGL0JTQUFJQWdnQTZJZ0JTQUVvcUVnQXlBRG9pSUVvemtEQUNBQUlBTWdBU3NEQ0tJZ0JTQUJLd05Jb3FFZ0JLTTVBd2dnQUNBRElBRXJBeENpSUFVZ0FTc0RVS0toSUFTak9RTVFJQUFnQXlBQkt3TWdvaUFHSUFJckF3Q2lvU0FFb3prREdDQUFJQU1nQVNzREtLSWdCaUFCS3dOSW9xRWdCS001QXlBZ0FDQURJQUVyQXpDaUlBWWdBU3NEVUtLaElBU2pPUU1vUVFBTEMwSUFRWkMvQXl3QUFFVUVRRUdRdndNUWNBUkFRZXpPQTBJQU53SUFRZlRPQTBFQU5nSUFRZXpPQTBIVGxnTkIwNVlERUdBUWZrR1F2d01RYndzTFFlek9Bd3N4QUVHWXZ3TXNBQUJGQkVCQm1MOERFSEFFUUJEa0NrSDR6Z05CZ0xVRE5nSUFRWmkvQXhCdkN3dEIrTTRES0FJQUN6RUFRYWkvQXl3QUFFVUVRRUdvdndNUWNBUkFFT01LUWZ6T0EwR2d0UU0yQWdCQnFMOERFRzhMQzBIOHpnTW9BZ0FMTVFCQnVMOERMQUFBUlFSQVFiaS9BeEJ3QkVBUTRncEJnTThEUWNDM0F6WUNBRUc0dndNUWJ3c0xRWURQQXlnQ0FBdjRDd0VGZnlNR0lRY2pCa0dRQVdva0JpQUhRZkFBYWlFS0lBZEJRR3NoQ3lBRVFRQTJBZ0FnQjBHQUFXb2lDQ0FERURzZ0NFR0F6Z01RT2lFSklBZ1FQQUovQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCa0VZZEVFWWRVRWxhdzVWRmhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRndBQkZ3UVhCUmNHQnhjWEZ3b1hGeGNYRGc4UUZ4Y1hFeFVYRnhjWEZ4Y1hBQUVDQXdNWEZ3RVhDQmNYQ1FzWERCY05Gd3NYRnhFU0ZCY0xJQWNnQWlnQ0FEWUNmQ0FJSUFjb0FudzJBZ0FnQUNBRlFSaHFJQUVnQ0NBRUlBa1F0Z1FNRndzZ0J5QUNLQUlBTmdKNElBZ2dCeWdDZURZQ0FDQUFJQVZCRUdvZ0FTQUlJQVFnQ1JDMUJBd1dDeUFBUVFocUlnWW9BZ0FvQWd3aENTQUdJQWxCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdKMElBY2dBaWdDQURZQ2JDQUdLQUlBSUFZZ0Jpd0FDeUlDUVFCSUlna2JJZ3NnQmlnQ0JDQUNRZjhCY1NBSkcyb2hBaUFLSUFjb0FuUTJBZ0FnQ0NBSEtBSnNOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVWdDeUFDRUtRQk5nSUFEQlVMSUFjZ0FpZ0NBRFlDYUNBSUlBY29BbWcyQWdBZ0JVRU1haUFCSUFnZ0JDQUpFT0VLREJRTElBY2dBU2dDQURZQ1pDQUhJQUlvQWdBMkFtQWdDaUFIS0FKa05nSUFJQWdnQnlnQ1lEWUNBQ0FCSUFBZ0NpQUlJQU1nQkNBRlFjV1lBMEhObUFNUXBBRTJBZ0FNRXdzZ0J5QUJLQUlBTmdKY0lBY2dBaWdDQURZQ1dDQUtJQWNvQWx3MkFnQWdDQ0FIS0FKWU5nSUFJQUVnQUNBS0lBZ2dBeUFFSUFWQnpaZ0RRZFdZQXhDa0FUWUNBQXdTQ3lBSElBSW9BZ0EyQWxRZ0NDQUhLQUpVTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRmQ2d3UkN5QUhJQUlvQWdBMkFsQWdDQ0FIS0FKUU5nSUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEZUNnd1FDeUFISUFJb0FnQTJBa3dnQ0NBSEtBSk1OZ0lBSUFWQkhHb2dBU0FJSUFRZ0NSRGRDZ3dQQ3lBSElBSW9BZ0EyQWtnZ0NDQUhLQUpJTmdJQUlBVkJFR29nQVNBSUlBUWdDUkRjQ2d3T0N5QUhJQUlvQWdBMkFrUWdDQ0FIS0FKRU5nSUFJQVZCQkdvZ0FTQUlJQVFnQ1JEYkNnd05DeUFMSUFJb0FnQTJBZ0FnQ0NBTEtBSUFOZ0lBSUFFZ0NDQUVJQWtRMmdvTURBc2dCeUFDS0FJQU5nSThJQWdnQnlnQ1BEWUNBQ0FBSUFWQkNHb2dBU0FJSUFRZ0NSRFpDZ3dMQ3lBSElBRW9BZ0EyQWpnZ0J5QUNLQUlBTmdJMElBb2dCeWdDT0RZQ0FDQUlJQWNvQWpRMkFnQWdBU0FBSUFvZ0NDQURJQVFnQlVIVm1BTkI0SmdERUtRQk5nSUFEQW9MSUFjZ0FTZ0NBRFlDTUNBSElBSW9BZ0EyQWl3Z0NpQUhLQUl3TmdJQUlBZ2dCeWdDTERZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWVDWUEwSGxtQU1RcEFFMkFnQU1DUXNnQnlBQ0tBSUFOZ0lvSUFnZ0J5Z0NLRFlDQUNBRklBRWdDQ0FFSUFrUTJBb01DQXNnQnlBQktBSUFOZ0lrSUFjZ0FpZ0NBRFlDSUNBS0lBY29BaVEyQWdBZ0NDQUhLQUlnTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCNVpnRFFlMllBeENrQVRZQ0FBd0hDeUFISUFJb0FnQTJBaHdnQ0NBSEtBSWNOZ0lBSUFWQkdHb2dBU0FJSUFRZ0NSRFhDZ3dHQ3lBQUtBSUFLQUlVSVFZZ0J5QUJLQUlBTmdJWUlBY2dBaWdDQURZQ0ZDQUtJQWNvQWhnMkFnQWdDQ0FIS0FJVU5nSUFJQUFnQ2lBSUlBTWdCQ0FGSUFaQlAzRkJ4Z0pxRVFvQURBWUxJQUJCQ0dvaUJpZ0NBQ2dDR0NFSklBWWdDVUgvQUhGQkNHb1JBQUFoQmlBSElBRW9BZ0EyQWhBZ0J5QUNLQUlBTmdJTUlBWW9BZ0FnQmlBR0xBQUxJZ0pCQUVnaUNSc2lDeUFHS0FJRUlBSkIvd0Z4SUFrYmFpRUNJQW9nQnlnQ0VEWUNBQ0FJSUFjb0FndzJBZ0FnQVNBQUlBb2dDQ0FESUFRZ0JTQUxJQUlRcEFFMkFnQU1CQXNnQnlBQ0tBSUFOZ0lJSUFnZ0J5Z0NDRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1F0QVFNQXdzZ0J5QUNLQUlBTmdJRUlBZ2dCeWdDQkRZQ0FDQUZRUlJxSUFFZ0NDQUVJQWtRMWdvTUFnc2dCeUFDS0FJQU5nSUFJQWdnQnlnQ0FEWUNBQ0FCSUFnZ0JDQUpFTlVLREFFTElBUWdCQ2dDQUVFRWNqWUNBQXNnQVNnQ0FBc2hEQ0FISkFZZ0RBdFpBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0JVRVVhaUFCSUFjZ0JDQURFTFFFSUFFb0FnQWhDQ0FHSkFZZ0NBdGJBUU4vSXdZaEJpTUdRUkJxSkFZZ0JrRUVhaUlISUFNUU95QUhRWURPQXhBNklRTWdCeEE4SUFZZ0FpZ0NBRFlDQUNBSElBWW9BZ0EyQWdBZ0FDQUZRUkJxSUFFZ0J5QUVJQU1RdFFRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCZ000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCR0dvZ0FTQUhJQVFnQXhDMkJDQUJLQUlBSVFnZ0JpUUdJQWdMb2dFQkJIOGpCaUVISXdaQkVHb2tCaUFBUVFocUlnWW9BZ0FvQWhRaENDQUdJQWhCL3dCeFFRaHFFUUFBSVFZZ0J5QUJLQUlBTmdJRUlBY2dBaWdDQURZQ0FDQUdLQUlBSUFZZ0Jpd0FDeUlCUVFCSUlnSWJJZ2dnQmlnQ0JDQUJRZjhCY1NBQ0cyb2hBU0FIUVFocUlnSWdCeWdDQkRZQ0FDQUhRUXhxSWdZZ0J5Z0NBRFlDQUNBQUlBSWdCaUFESUFRZ0JTQUlJQUVRcEFFaENTQUhKQVlnQ1F0Z0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUFJQUVnQWlBRElBUWdCVUh0bUFOQjlaZ0RFS1FCSVFjZ0JpUUdJQWNMM3dVQ0EzOEdmQ01HSVFVakJrSGdCbW9rQmlBQklBSXJBeGdnQWlzREFDQURLd01Bb2lBQ0t3TUlJQU1yQXdnaUNLS2dJQUlyQXhBZ0F5c0RFQ0lKb3FDZ09RTUFJQUVnQWlzRE9DQUNLd01nSUFNckF3QWlCNklnQ0NBQ0t3TW9vcUFnQ1NBQ0t3TXdvcUNnT1FNSUlBRWdBaXNEV0NBSElBSkJRR3NpQkNzREFLSWdBaXNEU0NBREt3TUlJZ2lpb0NBSklBSXJBMUNpb0tBNUF4QWdCVUhBQkdvaUFTQUhJQUlyQXdBaUNxSTVBd0FnQVNBSUlBcWlPUU1JSUFFZ0NpQURLd01RSWdtaU9RTVFJQUVnQnlBQ0t3TUlJZ3VpT1FNWUlBRWdDQ0FMb2prRElDQUJJQWtnQzZJNUF5Z2dBU0FISUFJckF4QWlES0k1QXpBZ0FTQUlJQXlpT1FNNElBRkJRR3NnQ1NBTW9qa0RBQ0FCSUFvNUEwZ2dBU0FMT1FOUUlBRWdERGtEV0NBQklBY2dBaXNESUNJS29qa0RZQ0FCSUFnZ0NxSTVBMmdnQVNBSklBcWlPUU53SUFFZ0J5QUNLd01vSWd1aU9RTjRJQUVnQ0NBTG9qa0RnQUVnQVNBSklBdWlPUU9JQVNBQklBY2dBaXNETUNJTW9qa0RrQUVnQVNBSUlBeWlPUU9ZQVNBQklBa2dES0k1QTZBQklBRWdDamtEcUFFZ0FTQUxPUU93QVNBQklBdzVBN2dCSUFFZ0J5QUVLd01BSWdxaU9RUEFBU0FCSUFnZ0NxSTVBOGdCSUFFZ0NTQUtvamtEMEFFZ0FTQUhJQUlyQTBnaUM2STVBOWdCSUFFZ0NDQUxvamtENEFFZ0FTQUpJQXVpT1FQb0FTQUJJQWNnQWlzRFVDSUhvamtEOEFFZ0FTQUlJQWVpT1FQNEFTQUJJQWtnQjZJNUE0QUNJQUVnQ2prRGlBSWdBU0FMT1FPUUFpQUJJQWM1QTVnQ0lBVVE0QXBCQUNFQ0EwQWdBa0VEUndSQVFRQWhBd05BSUFOQkJrY0VRQ0FDUVRCc0lBQnFJQU5CQTNScUlnWkVBQUFBQUFBQUFBQTVBd0JCQUNFRVJBQUFBQUFBQUFBQUlRY0RRQ0FFUVF4SEJFQWdCaUFISUFKQjRBQnNJQUZxSUFSQkEzUnFLd01BSUFSQk1Hd2dCV29nQTBFRGRHb3JBd0Npb0NJSE9RTUFJQVJCQVdvaEJBd0JDd3NnQTBFQmFpRUREQUVMQ3lBQ1FRRnFJUUlNQVFzTElBVWtCZ3ZjQVFFSGZ5TUdJUUFqQmtIUUFXb2tCaUFBUWNBQmFpSUZRZFdVQXlnQUFEWUFBQ0FGUWRtVUF5NEFBRHNBQkJCY0lRY2dBRUc0QVdvaUJpQUVOZ0lBSUFCQm9BRnFJZ1JCRkNBSElBVWdCaEIzSWdrZ0JHb2hCU0FFSUFVZ0FoQ0pBU0VISUFZZ0FoQTdJQVpCb000REVEb2hDQ0FHRUR3Z0NDZ0NBQ2dDTUNFS0lBZ2dCQ0FGSUFBZ0NrRVBjVUdLQW1vUkNRQWFJQUFnQVNnQ0FEWUN2QUVnQmlBQUtBSzhBVFlDQUNBR0lBQWdDVUVDZENBQWFpSUJJQWNnQkd0QkFuUWdBR29nQlNBSFJoc2dBU0FDSUFNUXBRRWhDeUFBSkFZZ0N3dTFBd0VQZnlNR0lRVWpCa0hnQW1va0JpQUZRYWdDYWlFTklBVkJtQUpxSVFBZ0JVR1FBbW9pQmtJbE53TUFJQVpCQVdwQjI1UURJQUlvQWdRUWxBSWhEaUFGUWRRQ2FpSUhJQVZCOEFGcUlnbzJBZ0FRWENFUElBVkJ3QUpxSVJBZ0JVR3dBbW9oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhERUVCSVJJRklBaEJBM1FRUkNJQUJFQWdBQ0lNSVJNRkVBQUxDeUFGUWRnQ2FpSUFJQUlRT3lBSklBY2dCaUFNSUFWQjBBSnFJQVZCekFKcUlBQVF1QVFnQUJBOElBVWdBU2dDQURZQ3lBSWdCU2dDMEFJaENDQUZLQUxNQWlFR0lBQWdCU2dDeUFJMkFnQWdBU0FBSUF3Z0NDQUdJQUlnQXhDbEFTSUFOZ0lBSUJKRkJFQWdFeEE0Q3lBUkVEZ2dCU1FHSUFBTHRRTUJEMzhqQmlFRkl3WkI0QUpxSkFZZ0JVR29BbW9oRFNBRlFaZ0NhaUVBSUFWQmtBSnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUhVQW1vaUJ5QUZRZkFCYWlJS05nSUFFRndoRHlBRlFjQUNhaUVRSUFWQnNBSnFJUXNnRGdSL0lBQWdBaWdDQ0RZQ0FDQUFJQVE1QXdnZ0NrRWVJQThnQmlBQUVIY0ZJQTBnQkRrREFDQUtRUjRnRHlBR0lBMFFkd3NpQUVFZFNnUkFFRndoQUNBT0JIOGdDeUFDS0FJSU5nSUFJQXNnQkRrRENDQUhJQUFnQmlBTEVKc0JCU0FRSUFRNUF3QWdCeUFBSUFZZ0VCQ2JBUXNoQUNBSEtBSUFJZ1lFUUNBQUlRZ2dCaUlSSVFrRkVBQUxCU0FBSVFnZ0J5Z0NBQ0VKQ3lBRklRQWdDU0FJSUFscUlnWWdBaENKQVNFSElBa2dDa1lFUUNBQUlReEJBU0VTQlNBSVFRTjBFRVFpQUFSQUlBQWlEQ0VUQlJBQUN3c2dCVUhZQW1vaUFDQUNFRHNnQ1NBSElBWWdEQ0FGUWRBQ2FpQUZRY3dDYWlBQUVMZ0VJQUFRUENBRklBRW9BZ0EyQXNnQ0lBVW9BdEFDSVFnZ0JTZ0N6QUloQmlBQUlBVW9Bc2dDTmdJQUlBRWdBQ0FNSUFnZ0JpQUNJQU1RcFFFaUFEWUNBQ0FTUlFSQUlCTVFPQXNnRVJBNElBVWtCaUFBQy9ZQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4UVJaeUlnaEJBV29oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkEzUkJDMnBCY0hGcUpBWWdCaUFDRURzZ0JTQUxJQWtnQnlBQVFSaHFJZ1VnQUVFUWFpSUlJQVlRa2dJZ0JoQThJQUFnQVNnQ0FEWUNGQ0FGS0FJQUlRRWdDQ2dDQUNFRklBWWdBQ2dDRkRZQ0FDQUdJQWNnQVNBRklBSWdBeENsQVNFQklBd0xFQXdnQUNRR0lBRUxpZ0lCQjM4akJpRUFJd1pCSUdva0JpQUFRUkJxSWdaQjRKUURLQUFBTmdBQUlBWkI1SlFETGdBQU93QUVJQVpCQVdwQjVwUURRUUFnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkRISWhCd0ovRUFzaEN5TUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDaUFBSUFRMkFnQWdCU0FGSUFjZ0NpQUdJQUFRZHlBRmFpSUdJQUlRaVFFaEJ5TUdJUVFqQmlBSVFRRjBRUlZ5UVFKMFFROXFRWEJ4YWlRR0lBQWdBaEE3SUFVZ0J5QUdJQVFnQUVFTWFpSUZJQUJCQkdvaUJpQUFFSklDSUFBUVBDQUFJQUVvQWdBMkFnZ2dCU2dDQUNFQklBWW9BZ0FoQlNBQUlBQW9BZ2cyQWdBZ0FDQUVJQUVnQlNBQ0lBTVFwUUVoQVNBTEN4QU1JQUFrQmlBQkMva0JBUWgvSXdZaEFDTUdRU0JxSkFZZ0FFSWxOd01BSUFCQkFXcEIzWlFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJGMm9oQndKL0VBc2hEQ01HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ1NBQVFRaHFJZ1lnQkRjREFDQUZJQVVnQnlBSklBQWdCaEIzSUFWcUlna2dBaENKQVNFTEl3WWhCeU1HSUFoQkFYUkJMSEpCQW5SQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRRWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCRFdvaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSaHlRUUowUVF0cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQzlnQ0FRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpRUZJQUlvQWdSQkFYRUVRQ0FGSUFJUU95QUZRYWpPQXhBNklRQWdCUkE4SUFBb0FnQWhBaUFGSUFBZ0JBUi9JQUlvQWhnRklBSW9BaHdMUVQ5eFFiSUZhaEVEQUNBRktBSUFJZ0lnQlNBRkxBQUxJZ0JCQUVnYklRTURRQ0FGS0FJRUlBQkIvd0Z4SUFCQkdIUkJHSFZCQUVnaUFCdEJBblFnQWlBRklBQWJhaUFEUndSQUlBTW9BZ0FoQWlBQktBSUFJZ0FFUUNBQUtBSVlJZ1FnQUNnQ0hFWUVmeUFBSUFJZ0FDZ0NBQ2dDTkVFL2NVR0tBV29SQWdBRklBQWdCRUVFYWpZQ0dDQUVJQUkyQWdBZ0FndEJmeEJCQkVBZ0FVRUFOZ0lBQ3dzZ0EwRUVhaUVESUFVc0FBc2hBQ0FGS0FJQUlRSU1BUXNMSUFFb0FnQWhBQ0FGRUVjRklBQW9BZ0FvQWhnaEJ5QUdJQUVvQWdBMkFnQWdCU0FHS0FJQU5nSUFJQUFnQlNBQ0lBTWdCRUVCY1NBSFFSOXhRYUlDYWhFSUFDRUFDeUFHSkFZZ0FBdlRBUUVIZnlNR0lRQWpCa0hnQUdva0JpQUFRZEFBYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFSElBR29pQmlBRU5nSUFJQUJCTUdvaUJFRVVJQWNnQlNBR0VIY2lDU0FFYWlFRklBUWdCU0FDRUlrQklRY2dCaUFDRURzZ0JrR0F6Z01RT2lFSUlBWVFQQ0FJS0FJQUtBSWdJUW9nQ0NBRUlBVWdBQ0FLUVE5eFFZb0NhaEVKQUJvZ0FDQUJLQUlBTmdKTUlBWWdBQ2dDVERZQ0FDQUdJQUFnQUNBSmFpSUJJQWNnQkdzZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RbHdFaEN5QUFKQVlnQ3d2K0V3SVFmd0Y4SXdZaEV5TUdRUkJxSkFZZ0V5RVBJQVFvQWdBaUJpRUhJQUVnQWtGL2FpSVFiRUVCZENBR2FpRUZBMEFnQ1NBQlNBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0IwRUNhaUVISUFsQkFXb2hDU0FGUVFKcUlRVU1BUXNMSUFZaEIwRUFJUWtnQVVGL2FpSVJRUUYwSUFacUlRVURRQ0FKSUFKSUJFQWdCVUVBT3dFQUlBZEJBRHNCQUNBQlFRRjBJQWRxSVFjZ0NVRUJhaUVKSUFGQkFYUWdCV29oQlF3QkN3c2dCRUdRZ01nQWFpRUhRUUFnQVdzaEVpQUFJQUZCQVdvaUFHb2hEU0FBSUFOcUlRNUJBU0VNUVFBaEF5QUFJQVFvQWdScUlRa2dBRUVCZENBR2FpRUdBbjhDUUFOQUFrQWdEQ0FRVGcwQ0lBTWhBRUVCSVFvRFFDQUtJQkZJQkVBZ0RTMEFBQ0FPTFFBQVNnUkFJQVpCQURzQkFDQUpRUUE2QUFBRkFrQWdDVUYvT2dBQUlCSkJBWFFnQm1vaUF5NEJBQ0lGUVFCS0JFQWdCaUFGT3dFQUlBVkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dNZ05BQWFpQU1OZ0lBREFFTElBTkJmbW91QVFBaUJTRUlJQVZCQUVvaEN5QURMZ0VDSWdOQkFFd0VRQ0FMQkVBZ0JpQUZPd0VBSUFoQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBJQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFnc2dCa0YrYWk0QkFDSURRUUJLQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0VnTkFBYWlJREtBSUFJQXBPRFFJZ0F5QUtOZ0lBQlNBQVFmLy9BVW9OQmlBR0lBQkJBV29pQXpzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFOQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dERFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRERZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUF3MkFnQWdBeUVBQ3d3QkN5QUxCRUFDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQmtGK2FpNEJBQ0lGUVFCTUJFQWdCaUFET3dFQUlBTkJCMndpQTBFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQTBFQ2RDQUVha0g0Lzg4QWFpSUZJQW9nQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0g4Lzg4QWFpSUZJQXdnQlNnQ0FHbzJBZ0FnQTBFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFwS0JFQWdCU0FLTmdJQUN5QURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNDUUNBRFFRSjBJQVJxUVl5QXlBQnFLQUlBSWdNZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRlNnUkFJQVlnQlRzQkFDQUhJUWhCQUNFTEEwQWdDeUFBVGdSQUlBVWhBd3dEQ3lBRElBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQzBFQmFpRUxEQUFBQ3dBRklBWWdBenNCQUNBRElBVklCRUFnQnlFSVFRQWhDd05BSUFzZ0FFNE5BeUFGSUFnb0FnQkdCRUFnQ0NBRE5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0EwRVFkRUVRZFVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdNZ0RDQURLQUlBYWpZQ0FBc0xJQTFCQVdvaERTQU9RUUZxSVE0Z0NVRUJhaUVKSUFwQkFXb2hDaUFHUVFKcUlRWU1BUXNMSUExQkFtb2hEU0FPUVFKcUlRNGdERUVCYWlFTUlBQWhBeUFKUVFKcUlRa2dCa0VFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQThRUFVGL0RBRUxJQVJCREdvaEJVRUJJUUJCQVNFSklBY2hCZ05BSUFrZ0Ewd0VRQ0FKSUFZb0FnQWlEVVlFUUNBQVFRRnFJUWNGSUFBaEJ5QU5RUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQVlnQURZQ0FDQUhJUUFnQ1VFQmFpRUpJQVpCQkdvaEJnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQVZCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFSEEwQWdCeUFBU0FSQUlBUkJqSUFJYWlBSFFRSjBJZ1pCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQVpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFaQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBWkJBM0pCQW5ScVFRQTJBZ0FnQjBFQmFpRUhEQUVMQzBFQUlRRURRQ0FCSUFOSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdjZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQWNvQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdkQkEzUnFJZ1lnQmlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQWRCQVhKQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdaSUJFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ1pLQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFkdVVBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUxwUU1CRDM4akJpRUZJd1pCc0FGcUpBWWdCVUg0QUdvaERTQUZRZWdBYWlFQUlBVkI0QUJxSWdaQ0pUY0RBQ0FHUVFGcVFhZlZBeUFDS0FJRUVKUUNJUTRnQlVHa0FXb2lCeUFGUVVCcklnbzJBZ0FRWENFUElBVkJrQUZxSVJBZ0JVR0FBV29oQ3lBT0JIOGdBQ0FDS0FJSU5nSUFJQUFnQkRrRENDQUtRUjRnRHlBR0lBQVFkd1VnRFNBRU9RTUFJQXBCSGlBUElBWWdEUkIzQ3lJQVFSMUtCRUFRWENFQUlBNEVmeUFMSUFJb0FnZzJBZ0FnQ3lBRU9RTUlJQWNnQUNBR0lBc1Ftd0VGSUJBZ0JEa0RBQ0FISUFBZ0JpQVFFSnNCQ3lFQUlBY29BZ0FpQmdSQUlBQWhDQ0FHSWhFaENRVVFBQXNGSUFBaENDQUhLQUlBSVFrTElBVWhBQ0FKSUFnZ0NXb2lCaUFDRUlrQklRY2dDU0FLUmdSQUlBQWhEQVVnQ0VFQmRCQkVJZ0FFUUNBQUlnd2hFZ1VRQUFzTElBVkJxQUZxSWdBZ0FoQTdJQWtnQnlBR0lBd2dCVUdnQVdvZ0JVR2NBV29nQUJDNkJDQUFFRHdnQlNBQktBSUFOZ0tZQVNBRktBS2dBU0VCSUFVb0Fwd0JJUWdnQUNBRktBS1lBVFlDQUNBQUlBd2dBU0FJSUFJZ0F4Q1hBU0VUSUJJUU9DQVJFRGdnQlNRR0lCTUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRkJGbklpQ0VFQmFpRUhBbjhRQ3lFTUl3WWhCU01HSUFkQkQycEJjSEZxSkFZUVhDRUpJQUJCQ0dvaUJpQUVOd01BSUFVZ0JTQUhJQWtnQUNBR0VIY2dCV29pQ1NBQ0VJa0JJUXNqQmlFSEl3WWdDRUVCZEVFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFDQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVNY2lFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkZYSkJEMnBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUw5Z0VCQ0g4akJpRUFJd1pCSUdva0JpQUFRaVUzQXdBZ0FFRUJha0hkbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVYYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVzY2tFT2FrRndjV29rQmlBR0lBSVFPeUFGSUFzZ0NTQUhJQUJCR0dvaUJTQUFRUkJxSWdnZ0JoQ1RBaUFHRUR3Z0FDQUJLQUlBTmdJVUlBVW9BZ0FoQVNBSUtBSUFJUVVnQmlBQUtBSVVOZ0lBSUFZZ0J5QUJJQVVnQWlBREVKY0JJUUVnREFzUURDQUFKQVlnQVF1SEFnRUhmeU1HSVFBakJrRWdhaVFHSUFCQkVHb2lCa0hnbEFNb0FBQTJBQUFnQmtIa2xBTXVBQUE3QUFRZ0JrRUJha0htbEFOQkFTQUNLQUlFRUs4QklBSW9BZ1JCQ1haQkFYRWlDRUVOYWlFSEFuOFFDeUVMSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFS0lBQWdCRFlDQUNBRklBVWdCeUFLSUFZZ0FCQjNJQVZxSWdZZ0FoQ0pBU0VISXdZaEJDTUdJQWhCQVhSQkdISkJEbXBCY0hGcUpBWWdBQ0FDRURzZ0JTQUhJQVlnQkNBQVFReHFJZ1VnQUVFRWFpSUdJQUFRa3dJZ0FCQThJQUFnQVNnQ0FEWUNDQ0FGS0FJQUlRRWdCaWdDQUNFRklBQWdBQ2dDQ0RZQ0FDQUFJQVFnQVNBRklBSWdBeENYQVNFQklBc0xFQXdnQUNRR0lBRUwzUUlCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSVFVZ0FpZ0NCRUVCY1FSQUlBVWdBaEE3SUFWQmtNNERFRG9oQUNBRkVEd2dBQ2dDQUNFQ0lBVWdBQ0FFQkg4Z0FpZ0NHQVVnQWlnQ0hBdEJQM0ZCc2dWcUVRTUFJQVVvQWdBaUFpQUZJQVVzQUFzaUFFRUFTQnNoQXdOQUlBSWdCU0FBUVJoMFFSaDFRUUJJSWdJYklBVW9BZ1FnQUVIL0FYRWdBaHRxSUFOSEJFQWdBeXdBQUNFQ0lBRW9BZ0FpQUFSQUlBQW9BaGdpQkNBQUtBSWNSZ1IvSUFBb0FnQW9BalFoQkNBQUlBSVFRaUFFUVQ5eFFZb0JhaEVDQUFVZ0FDQUVRUUZxTmdJWUlBUWdBam9BQUNBQ0VFSUxRWDhRUVFSQUlBRkJBRFlDQUFzTElBTkJBV29oQXlBRkxBQUxJUUFnQlNnQ0FDRUNEQUVMQ3lBQktBSUFJUUFnQlJCSEJTQUFLQUlBS0FJWUlRY2dCaUFCS0FJQU5nSUFJQVVnQmlnQ0FEWUNBQ0FBSUFVZ0FpQURJQVJCQVhFZ0IwRWZjVUdpQW1vUkNBQWhBQXNnQmlRR0lBQUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRUwwRU5nSUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M1SUhBUTUvSXdZaENDTUdRYkFDYWlRR0lBSVFuQUVoRHlBQ0lBaEJvQUZxRU93QklSQWdDRUdnQW1vaUNpQUNJQWhCckFKcUVPc0JJQWhCbEFKcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1FBbW9pQ3lBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUlRWXdDYWlJTUlBZzJBZ0FnQ0VHSUFtb2lEVUVBTmdJQUlBQW9BZ0FpQWlFT0EwQUNRQ0FDQkg4Z0FpZ0NEQ0lHSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRQWhEa0VBSVFKQkFRVkJBQXNGUVFBaERrRUFJUUpCQVFzaEJ3SkFBa0FnQVNnQ0FDSUdSUTBBSUFZb0Fnd2lFU0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBc2dEeUFKSUFzZ0RTQUlLQUtzQWlBS0lBZ2dEQ0FRRU00QkRRQWdBaWdDRENJR0lBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQmtFRWFqWUNEQ0FHS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSFFmOEJjU0FIUVFCSUd3UkFJQXdvQWdBaUJ5QUlhMEdnQVVnRVFDQU5LQUlBSVEwZ0RDQUhRUVJxTmdJQUlBY2dEVFlDQUFzTElBUWdDU0FMS0FJQUlBTWdEeEMrQkRjREFDQUtJQWdnRENnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0RpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSSWdCUkJISUFvUVJ5QUlKQVlnRWd1K0NBSVFmd1I4SXdZaENTTUdRUkJxSkFZZ0NVRUlhaUVJSUFBb0FnZ2lBeUFBS0FJRVJnUkFJQUVvQWdRZ0EwWUVRQ0FDS0FJRVFRRnFJQU5HQkVBQ1FDQURRWDVxSVF3RFFDQUhJQXhJQkVBZ0FTZ0NBQ0FIUVFOMGFpQUFLQUlBSUFNZ0IyeEJBM1JxSWdzZ0IwRURkR29yQXdBNUF3QWdDQ0FESUFkclFYOXFJZzQyQWdRZ0NDQUhRUUZxSWdaQkEzUWdDMm9pRHpZQ0FDQUlFSllMSVJNZ0FpZ0NBQ0FIUVFOMGFpQVRPUU1BSUJORUFBQUFBQUFBQUFCaUJFQUNRQ0FHSVFVRFFDQUZJQU5JQkVBZ0JpRUVSQUFBQUFBQUFBQUFJUk1EUUNBRUlBVkpCRUFnRXlBQUtBSUFJQVVnQXlBRWJHcEJBM1JxS3dNQUlBUkJBM1FnQzJvckF3Q2lvQ0VUSUFSQkFXb2hCQXdCQ3dzZ0F5QUZiQ0VRSUFVaEJBTkFJQVFnQTBnRVFDQVRJQUFvQWdBZ0JDQVFha0VEZEdvckF3QWdCRUVEZENBTGFpc0RBS0tnSVJNZ0JFRUJhaUVFREFFTEN5QUJLQUlBSUFWQkEzUnFJQk01QXdBZ0JVRUJhaUVGREFFTEN5QUpJQTQyQWdRZ0NDQU9OZ0lFSUFnZ0R6WUNBQ0FKSUFFb0FnQWdCa0VEZEdvMkFnQWdDQ0FKRU9ZQ1JBQUFBQUFBQU9BL29pRVZJQU1oQlFOQUlBVkJmMm9pQlNBSFRBMEJJQUVvQWdBaURpQUZRUU4wYWlJRUt3TUFJQlVnQlVFRGRDQUxhaXNEQUNJV29xRWhFeUFFSUJNNUF3QWdBeUFGYkNFUElBVWhCQU5BSUFRZ0EwZ0VRQ0FBS0FJQUlBUWdEMnBCQTNScUloQWdFQ3NEQUNBV0lBUkJBM1FnRG1vckF3Q2lJQk1nQkVFRGRDQUxhaXNEQUtLZ29Ua0RBQ0FFUVFGcUlRUU1BUXNMREFBQUN3QUxDeUFHSVFjTUFRc0xBa0FDUUNBRFFRRktCSDhnQVNnQ0FDSU5JQXhCQTNScUlBQW9BZ0FpQVNBTUlBTWdER3dpQm1wQkEzUnFLd01BT1FNQUlBSW9BZ0FnREVFRGRHb2dCaUFEUVg5cUlnSnFRUU4wSUFGcUt3TUFPUU1BSUFFaEJpQU5JUUVNQVFVZ0EwRUJSZ1IvUVFBaEFpQUFLQUlBSVFZZ0FTZ0NBQ0VCREFJRklBTUxDeUVLREFFTElBTWhEU0FDSUFJZ0EyeHFRUU4wSUFacUt3TUFJUlFnQWtFRGRDQUJhaUVSUVJ3aEVnc0RRQ0FTUVJ4R0JFQWdFU0FVT1FNQUlBMGhDZ3NnQ2tFQVRBUkFRUUFoQUF3Q0N5QUFLQUlBSUFwQmYyb2lEU0FEYkVFRGRHb2hCaUFLSUF4TUJFQUNRQ0FESUExclFYOXFJUVVnQ2tFRGRDQUdhaUVISUFvaEFnTkFJQUlnQTA0TkFTQUpJQVUyQWdRZ0NDQUZOZ0lFSUFnZ0J6WUNBQ0FKSUFBb0FnQWdDaUFDSUFOc0lnUnFRUU4wYWpZQ0FDQUlJQWtRNWdJaEV5QUtJUUVEUUNBQklBTklCRUFnQUNnQ0FDQUJJQVJxUVFOMGFpSUxJQXNyQXdBZ0V5QUJRUU4wSUFacUt3TUFvcUU1QXdBZ0FVRUJhaUVCREFFTEN5QUNRUUZxSVFJTUFBQUxBQXNMUVFBaEFRTkFJQUVnQTBnRVFDQUJRUU4wSUFacVJBQUFBQUFBQUFBQU9RTUFJQUZCQVdvaEFRd0JDd3RFQUFBQUFBQUE4RDhoRkNBTlFRTjBJQVpxSVJGQkhDRVNEQUFBQ3dBTEJVRi9JUUFMQlVGL0lRQUxCVUYvSVFBTElBa2tCaUFBQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4Qy9CRHNCQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3VTQndFT2Z5TUdJUWdqQmtHd0Ftb2tCaUFDRUp3QklROGdBaUFJUWFBQmFoRHNBU0VRSUFoQm9BSnFJZ29nQWlBSVFhd0NhaERyQVNBSVFaUUNhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQWhCa0FKcUlnc2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQ0VHTUFtb2lEQ0FJTmdJQUlBaEJpQUpxSWcxQkFEWUNBQ0FBS0FJQUlnSWhEZ05BQWtBZ0FnUi9JQUlvQWd3aUJpQUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhFZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVJLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQjBVTkF3c01BUXNnQndSL1FRQWhCZ3dDQlVFQUN5RUdDeUFMS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2RCL3dGeElBZEJBRWdiSWdkcVJnUkFJQVVnQjBFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBc2dCeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMSUE4Z0NTQUxJQTBnQ0NnQ3JBSWdDaUFJSUF3Z0VCRE9BUTBBSUFJb0Fnd2lCaUFDS0FJUVJnUkFJQUlnQWlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBQ0lBWkJCR28yQWd3Z0JpZ0NBQm9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdBUTJBZ0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQmtVTkFDQUdLQUlNSWdRZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VTSUFVUVJ5QUtFRWNnQ0NRR0lCSUxTZ0VDZnlNR0lRSWpCa0VRYWlRR0lBSWdBQkE3SUFKQm9NNERFRG9pQUNnQ0FDZ0NNQ0VESUFCQjhPOEFRWXJ3QUNBQklBTkJEM0ZCaWdKcUVRa0FHaUFDRUR3Z0FpUUdJQUVMa2djQkRuOGpCaUVJSXdaQnNBSnFKQVlnQWhDY0FTRVBJQUlnQ0VHZ0FXb1E3QUVoRUNBSVFhQUNhaUlLSUFJZ0NFR3NBbW9RNndFZ0NFR1VBbW9pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUVpBQ2FpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQmpBSnFJZ3dnQ0RZQ0FDQUlRWWdDYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHS0FJQUMwRi9FRUVFZnlBQVFRQTJBZ0JCQUNFT1FRQWhBa0VCQlVFQUN3VkJBQ0VPUVFBaEFrRUJDeUVIQWtBQ1FDQUJLQUlBSWdaRkRRQWdCaWdDRENJUklBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdFU2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFkRkRRTUxEQUVMSUFjRWYwRUFJUVlNQWdWQkFBc2hCZ3NnQ3lnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlIUWY4QmNTQUhRUUJJR3lJSGFrWUVRQ0FGSUFkQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUxJQWNnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQ3lBUElBa2dDeUFOSUFnb0Fxd0NJQW9nQ0NBTUlCQVF6Z0VOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUVJxTmdJTUlBWW9BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2RCL3dGeElBZEJBRWdiQkVBZ0RDZ0NBQ0lISUFoclFhQUJTQVJBSUEwb0FnQWhEU0FNSUFkQkJHbzJBZ0FnQnlBTk5nSUFDd3NnQkNBSklBc29BZ0FnQXlBUEVNRUVOd01BSUFvZ0NDQU1LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFPS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFaRkRRQWdCaWdDRENJRUlBWW9BaEJHQkg4Z0JpQUdLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRWlBRkVFY2dDaEJISUFna0JpQVNDN1lIQVE5L0l3WWhCaU1HUWRBQ2FpUUdJQVpCdUFKcUlnb2dBaUFHUWFBQmFpSVFJQVpCeUFKcUlBWkJ4QUpxRU9VQ0lBWkJyQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtHb0Ftb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FhUUNhaUlOSUFZMkFnQWdCa0dnQW1vaURrRUFOZ0lBSUFaQnpRSnFJZ3RCQVRvQUFDQUdRY3dDYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaEQwRUFJUUpCQVFWQkFBc0ZRUUFoRDBFQUlRSkJBUXNoQ0FKQUFrQWdBU2dDQUNJSFJRMEFJQWNvQWd3aUVpQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQklvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ2dDQUFzZ0N5QVJJQWtnRENBR0tBTElBaUFHS0FMRUFpQUtJQVlnRFNBT0lCQVE1QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dDaWdDQkNBS0xBQUxJZ2hCL3dGeElBaEJBRWdiUlNBTExBQUFSWEpGQkVBZ0RTZ0NBQ0lMSUFaclFhQUJTQVJBSUE0b0FnQWhEaUFOSUF0QkJHbzJBZ0FnQ3lBT05nSUFDd3NnQkNBSklBd29BZ0FnQXhEQ0JEZ0NBQ0FLSUFZZ0RTZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUk1nQlJCSElBb1FSeUFHSkFZZ0V3dTJCd0VQZnlNR0lRWWpCa0hRQW1va0JpQUdRYmdDYWlJS0lBSWdCa0dnQVdvaUVDQUdRY2dDYWlBR1FjUUNhaERsQWlBR1Fhd0NhaUlGUWdBM0FnQWdCVUVBTmdJSUEwQWdDVUVEUndSQUlBbEJBblFnQldwQkFEWUNBQ0FKUVFGcUlRa01BUXNMSUFVZ0JTd0FDMEVBU0FSL0lBVW9BZ2hCLy8vLy93ZHhRWDlxQlVFS0N4QktJQVpCcUFKcUlnd2dCU2dDQUNBRklBVXNBQXRCQUVnYklnazJBZ0FnQmtHa0Ftb2lEU0FHTmdJQUlBWkJvQUpxSWc1QkFEWUNBQ0FHUWMwQ2FpSUxRUUU2QUFBZ0JrSE1BbW9pRVVIRkFEb0FBQ0FBS0FJQUlnSWhEd05BQWtBZ0FnUi9JQUlvQWd3aUJ5QUNLQUlRUmdSL0lBSWdBaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWNvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNLQUlBQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ29BZ0FMSUFzZ0VTQUpJQXdnQmlnQ3lBSWdCaWdDeEFJZ0NpQUdJQTBnRGlBUUVPUUNEUUFnQWlnQ0RDSUhJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0IwRUVhallDRENBSEtBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1Rd3dRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHRnY0JEMzhqQmlFR0l3WkIwQUpxSkFZZ0JrRzRBbW9pQ2lBQ0lBWkJvQUZxSWhBZ0JrSElBbW9nQmtIRUFtb1E1UUlnQmtHc0Ftb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRYWdDYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCcEFKcUlnMGdCallDQUNBR1FhQUNhaUlPUVFBMkFnQWdCa0hOQW1vaUMwRUJPZ0FBSUFaQnpBSnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDeUFMSUJFZ0NTQU1JQVlvQXNnQ0lBWW9Bc1FDSUFvZ0JpQU5JQTRnRUJEa0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkJHbzJBZ3dnQnlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUNFSC9BWEVnQ0VFQVNCdEZJQXNzQUFCRmNrVUVRQ0FOS0FJQUlnc2dCbXRCb0FGSUJFQWdEaWdDQUNFT0lBMGdDMEVFYWpZQ0FDQUxJQTQyQWdBTEN5QUVJQWtnRENnQ0FDQURFTVFFT1FNQUlBb2dCaUFOS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBUEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEV5QUZFRWNnQ2hCSElBWWtCaUFUQzhjSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFoQm9BRnFJUTBnQ0VHWUFtb2hCaUFJUWFRQ2FpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUWFET0F4QTZJZ0FvQWdBb0FqQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCaUFKcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFR1VBbW9pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRWkFDYWlJUElBZzJBZ0FnQ0VHTUFtb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXRCZnhCQkJIOGdBVUVBTmdJQVFRQWhERUVBSVFOQkFRVkJBQXNGUVFBaERFRUFJUU5CQVFzaENRSkFBa0FnQWlnQ0FDSUhSUTBBSUFjb0Fnd2lFU0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJFb0FnQUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUpSUTBEQ3d3QkN5QUpCSDlCQUNFSERBSUZRUUFMSVFjTElBb29BZ0FnQUNBR0tBSUVJQVlzQUFzaUNVSC9BWEVnQ1VFQVNCc2lDV3BHQkVBZ0JpQUpRUUYwRUVvZ0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ2lBSklBWW9BZ0FnQmlBR0xBQUxRUUJJR3lJQWFqWUNBQXNnQXlnQ0RDSUpJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ1NnQ0FBdEJFQ0FBSUFvZ0VFRUFJQXNnQ0NBUElBMFF6Z0VOQUNBREtBSU1JZ2NnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUhRUVJxTmdJTUlBY29BZ0FhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUNnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQUFrQUNRQUpBSUFkRkRRQWdCeWdDRENJRElBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQWtFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFFSUFRb0FnQkJBbkkyQWdBTElBRW9BZ0FoRXlBR0VFY2dDeEJISUFna0JpQVRDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDT0N5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNOQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ01DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTEN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNJQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0dDeUVISUFZa0JpQUhDNUFCQWdOL0Fud2dBQ0FBRU9ZQ255SUVSQUFBQUFBQUFBQUFZZ1JBSUFTYUlBUWdBQ2dDQUNJQkt3TUFJZ1ZFQUFBQUFBQUFBQUJqR3lFRUlBRWdCU0FFb0NJRk9RTUFSQUFBQUFBQUFQQS9JQVFnQmFLZm95RUZJQUFvQWdRaEFrRUFJUUFEUUNBQUlBSklCRUFnQUVFRGRDQUJhaUlESUFVZ0F5c0RBS0k1QXdBZ0FFRUJhaUVBREFFTEN3c2dCSm9MVmdFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FTQUNJQU1nQkNBRkVJVUxJUWNnQmlRR0lBY0w3UUlCQkg4akJpRUdJd1pCTUdva0JpQUdRU2hxSVFjZ0JrRWdhaUVJSUFNb0FnUkJBWEVFUUNBSElBTVFPeUFIUWFET0F4QTZJUWtnQnhBOElBY2dBeEE3SUFkQnFNNERFRG9oQXlBSEVEd2dBeWdDQUNnQ0dDRUFJQVlnQXlBQVFUOXhRYklGYWhFREFDQURLQUlBS0FJY0lRQWdCa0VNYWlBRElBQkJQM0ZCc2dWcUVRTUFJQVlnQWlnQ0FEWUNHQ0FISUFZb0FoZzJBZ0FnQlNBQklBY2dCaUFHUVJocUlnQWdDU0FFUVFFUWxRSWdCa1k2QUFBZ0FTZ0NBQ0VCQTBBZ0FFRjBhaUlBRUVjZ0FDQUdSdzBBQ3dVZ0NFRi9OZ0lBSUFBb0FnQW9BaEFoQ1NBR0lBRW9BZ0EyQWlRZ0JpQUNLQUlBTmdJY0lBWWdCaWdDSkRZQ0FDQUhJQVlvQWh3MkFnQWdBU0FBSUFZZ0J5QURJQVFnQ0NBSlFUOXhRY1lDYWhFS0FEWUNBQUpBQWtBQ1FBSkFJQWdvQWdBT0FnQUJBZ3NnQlVFQU9nQUFEQUlMSUFWQkFUb0FBQXdCQ3lBRlFRRTZBQUFnQkVFRU5nSUFDeUFCS0FJQUlRRUxJQVlrQmlBQkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdlFRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZnUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2d1E3QVFBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXdRUTNBd0FnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzhZSEFROS9Jd1loQmlNR1FmQUJhaVFHSUFaQjJBRnFJZ29nQWlBR1FhQUJhaUlRSUFaQjV3RnFJQVpCNWdGcUVPa0NJQVpCekFGcUlnVkNBRGNDQUNBRlFRQTJBZ2dEUUNBSlFRTkhCRUFnQ1VFQ2RDQUZha0VBTmdJQUlBbEJBV29oQ1F3QkN3c2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0JrSElBV29pRENBRktBSUFJQVVnQlN3QUMwRUFTQnNpQ1RZQ0FDQUdRY1FCYWlJTklBWTJBZ0FnQmtIQUFXb2lEa0VBTmdJQUlBWkI1UUZxSWd0QkFUb0FBQ0FHUWVRQmFpSVJRY1VBT2dBQUlBQW9BZ0FpQWlFUEEwQUNRQ0FDQkg4Z0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VQUVFBaEFrRUJCVUVBQ3dWQkFDRVBRUUFoQWtFQkN5RUlBa0FDUUNBQktBSUFJZ2RGRFFBZ0J5Z0NEQ0lTSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Vpd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQ0VVTkF3c01BUXNnQ0FSL1FRQWhCd3dDQlVFQUN5RUhDeUFNS0FJQUlBa2dCU2dDQkNBRkxBQUxJZ2hCL3dGeElBaEJBRWdiSWdocVJnUkFJQVVnQ0VFQmRCQktJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBd2dDQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDV28yQWdBTElBSW9BZ3dpQ0NBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0Qi93RnhJQXNnRVNBSklBd2dCaXdBNXdFZ0Jpd0E1Z0VnQ2lBR0lBMGdEaUFRRU9nQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFQmFqWUNEQ0FITEFBQUVFSWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lFSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQWtVTkFnc01BZ3NnQWcwQURBRUxJQU1nQXlnQ0FFRUNjallDQUFzZ0FDZ0NBQ0VUSUFVUVJ5QUtFRWNnQmlRR0lCTUx4Z2NCRDM4akJpRUdJd1pCOEFGcUpBWWdCa0hZQVdvaUNpQUNJQVpCb0FGcUloQWdCa0huQVdvZ0JrSG1BV29RNlFJZ0JrSE1BV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFHUWNnQmFpSU1JQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFaQnhBRnFJZzBnQmpZQ0FDQUdRY0FCYWlJT1FRQTJBZ0FnQmtIbEFXb2lDMEVCT2dBQUlBWkI1QUZxSWhGQnhRQTZBQUFnQUNnQ0FDSUNJUThEUUFKQUlBSUVmeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FITEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlROUJBQ0VDUVFFRlFRQUxCVUVBSVE5QkFDRUNRUUVMSVFnQ1FBSkFJQUVvQWdBaUIwVU5BQ0FIS0FJTUloSWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FTTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUlSUTBEQ3d3QkN5QUlCSDlCQUNFSERBSUZRUUFMSVFjTElBd29BZ0FnQ1NBRktBSUVJQVVzQUFzaUNFSC9BWEVnQ0VFQVNCc2lDR3BHQkVBZ0JTQUlRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nRENBSUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUlJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDMEgvQVhFZ0N5QVJJQWtnRENBR0xBRG5BU0FHTEFEbUFTQUtJQVlnRFNBT0lCQVE2QUlOQUNBQ0tBSU1JZ2NnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUhRUUZxTmdJTUlBY3NBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNTUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd2R0J3RVBmeU1HSVFZakJrSHdBV29rQmlBR1FkZ0JhaUlLSUFJZ0JrR2dBV29pRUNBR1FlY0JhaUFHUWVZQmFoRHBBaUFHUWN3QmFpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJ5QUZxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0hFQVdvaURTQUdOZ0lBSUFaQndBRnFJZzVCQURZQ0FDQUdRZVVCYWlJTFFRRTZBQUFnQmtIa0FXb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFoRkRRTUxEQUVMSUFnRWYwRUFJUWNNQWdWQkFBc2hCd3NnRENnQ0FDQUpJQVVvQWdRZ0JTd0FDeUlJUWY4QmNTQUlRUUJJR3lJSWFrWUVRQ0FGSUFoQkFYUVFTaUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQU1JQWdnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2xxTmdJQUN5QUNLQUlNSWdnZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUlMQUFBRUVJTFFmOEJjU0FMSUJFZ0NTQU1JQVlzQU9jQklBWXNBT1lCSUFvZ0JpQU5JQTRnRUJEb0FnMEFJQUlvQWd3aUJ5QUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFkQkFXbzJBZ3dnQnl3QUFCQkNHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUlRZjhCY1NBSVFRQklHMFVnQ3l3QUFFVnlSUVJBSUEwb0FnQWlDeUFHYTBHZ0FVZ0VRQ0FPS0FJQUlRNGdEU0FMUVFScU5nSUFJQXNnRGpZQ0FBc0xJQVFnQ1NBTUtBSUFJQU1ReEFRNUF3QWdDaUFHSUEwb0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBOG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FIUlEwQUlBY29BZ3dpQkNBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDMEVCQW44Z0FDZ0NCQ0VCSUFBb0FnQWdBQ2dDQ0NJQ1FRRjFhaUVBSUFKQkFYRUVRQ0FCSUFBb0FnQnFLQUlBSVFFTElBQWdBVUgvQVhGQnJBTnFFUUVBQ3cwQUlBQW9BZ0FvQWdBUW9Rc0xKd0VCZnlBQktBSUFJUU1nQVNnQ0JDRUJJQUFnQWpZQ0FDQUFJQU0yQWdRZ0FDQUJOZ0lJQ3lFQkFYOUJqTTREUVl6T0F5Z0NBQ0lCUVFGcU5nSUFJQUFnQVVFQmFqWUNCQXR0QVFSL0l3WWhBU01HUVRCcUpBWWdBVUVZYWlFRElBRkJqd0UyQWhBZ0FVRUFOZ0lVSUFGQklHb2lBaUFCS1FJUU53SUFJQUVnQWlBQUVLTUxJQUFvQWdCQmYwY0VRQ0FDSUFFMkFnQWdBeUFDTmdJQUlBQWdBeERwQ1FzZ0FDZ0NCRUYvYWlFRUlBRWtCaUFFQzljSEFRNS9Jd1loQ0NNR1FmQUJhaVFHSUFoQm9BRnFJUTBnQ0VIUUFXb2hCaUFJUWR3QmFpSUxRZ0EzQWdBZ0MwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUF0cVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBR0lBTVFPeUFHUVlET0F4QTZJZ0FvQWdBb0FpQWhBeUFBUWZEdkFFR0s4QUFnRFNBRFFROXhRWW9DYWhFSkFCb2dCaEE4SUFaQ0FEY0NBQ0FHUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdCbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQWhCd0FGcUlRNGdCaUFHTEFBTFFRQklCSDhnQmlnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0NFSE1BV29pQ2lBR0tBSUFJQVlnQml3QUMwRUFTQnNpQURZQ0FDQUlRY2dCYWlJUElBZzJBZ0FnQ0VIRUFXb2lFRUVBTmdJQUlBRW9BZ0FpQXlFTUEwQUNRQ0FEQkg4Z0F5Z0NEQ0lISUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VNUVFBaEEwRUJCVUVBQ3dWQkFDRU1RUUFoQTBFQkN5RUpBa0FDUUNBQ0tBSUFJZ2RGRFFBZ0J5Z0NEQ0lSSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTd0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ1VVTkF3c01BUXNnQ1FSL1FRQWhCd3dDQlVFQUN5RUhDeUFLS0FJQUlBQWdCaWdDQkNBR0xBQUxJZ2xCL3dGeElBbEJBRWdiSWdscVJnUkFJQVlnQ1VFQmRCQktJQVlnQml3QUMwRUFTQVIvSUFZb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBb2dDU0FHS0FJQUlBWWdCaXdBQzBFQVNCc2lBR28yQWdBTElBTW9BZ3dpQ1NBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBa3NBQUFRUWd0Qi93RnhRUkFnQUNBS0lCQkJBQ0FMSUFnZ0R5QU5FTkFCRFFBZ0F5Z0NEQ0lISUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQmlBS0tBSUFJQUJyRUVvZ0JpZ0NBQ0FHSUFZc0FBdEJBRWdiQW44UVhDRVNJQTRnQlRZQ0FDQVNDeUFPRU1VRVFRRkhCRUFnQkVFRU5nSUFDeUFEQkg4Z0F5Z0NEQ0lBSUFNb0FoQkdCSDhnQXlBTUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0FDd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUFDUUFKQUFrQWdCMFVOQUNBSEtBSU1JZ01nQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRExBQUFFRUlMUVg4UVFRUkFJQUpCQURZQ0FBd0JCU0FBUlEwQ0N3d0NDeUFBRFFBTUFRc2dCQ0FFS0FJQVFRSnlOZ0lBQ3lBQktBSUFJUk1nQmhCSElBc1FSeUFJSkFZZ0V3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRb0FzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFud3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRblFzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtd3NoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW1nc2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbVFzaEJ5QUdKQVlnQnd2dEFnRUVmeU1HSVFZakJrRXdhaVFHSUFaQktHb2hCeUFHUVNCcUlRZ2dBeWdDQkVFQmNRUkFJQWNnQXhBN0lBZEJnTTRERURvaENTQUhFRHdnQnlBREVEc2dCMEdRemdNUU9pRURJQWNRUENBREtBSUFLQUlZSVFBZ0JpQURJQUJCUDNGQnNnVnFFUU1BSUFNb0FnQW9BaHdoQUNBR1FReHFJQU1nQUVFL2NVR3lCV29SQXdBZ0JpQUNLQUlBTmdJWUlBY2dCaWdDR0RZQ0FDQUZJQUVnQnlBR0lBWkJHR29pQUNBSklBUkJBUkNXQWlBR1Jqb0FBQ0FCS0FJQUlRRURRQ0FBUVhScUlnQVFSeUFBSUFaSERRQUxCU0FJUVg4MkFnQWdBQ2dDQUNnQ0VDRUpJQVlnQVNnQ0FEWUNKQ0FHSUFJb0FnQTJBaHdnQmlBR0tBSWtOZ0lBSUFjZ0JpZ0NIRFlDQUNBQklBQWdCaUFISUFNZ0JDQUlJQWxCUDNGQnhnSnFFUW9BTmdJQUFrQUNRQUpBQWtBZ0NDZ0NBQTRDQUFFQ0N5QUZRUUE2QUFBTUFnc2dCVUVCT2dBQURBRUxJQVZCQVRvQUFDQUVRUVEyQWdBTElBRW9BZ0FoQVFzZ0JpUUdJQUVMUVFFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVNnQ0FDQUFRUVIwYWlJRFFZQ0FnSUIvY1NFQUlBTWdBQ0FBUVJoMmNuTWhBQ0FCUVFScUlRRU1BUXNMSUFBTEdRQWdBRUlBTndJQUlBQkJBRFlDQ0NBQUlBSWdBeERIQkF0WEFRRi9BbjhDUUFOL0FuOGdBeUFFUmcwQ1FYOGdBU0FDUmcwQUdrRi9JQUVvQWdBaUFDQURLQUlBSWdWSURRQWFJQVVnQUVnRWYwRUJCU0FEUVFScUlRTWdBVUVFYWlFQkRBSUxDd3NNQVFzZ0FTQUNSd3NMUHdFQmYwRUFJUUFEUUNBQklBSkhCRUFnQVN3QUFDQUFRUVIwYWlJQVFZQ0FnSUIvY1NJRElBTkJHSFp5SUFCeklRQWdBVUVCYWlFQkRBRUxDeUFBQ3owQkFYOGdBQVIvSUFBb0FnQWlBUVIvSUFFb0FyZ0JFRGdnQUNnQ0FDZ0N2QUVRT0NBQUtBSUFFRGdnQUVFQU5nSUFRUUFGUVg4TEJVRi9DeG9MR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4RCtBd3RYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRXNBQUFpQUNBRExBQUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUUZxSVFNZ0FVRUJhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xJZ0VCZnlBQUJFQWdBQ2dDQUNnQ0JDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN3dTFBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRUnFJUU1nQlVFSWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFFRUk2QUFBZ0FDZ0NKQ0lIS0FJQUtBSU1JUWdDZndKQUFrQUNRQ0FISUFBb0FpZ2dCQ0FFUVFGcUlBVWdBaUFDUVFocUlBTWdDRUVQY1VHT0Eyb1JEZ0JCQVdzT0F3SUNBQUVMSUFJZ0JpZ0NBRG9BQUNBRElBSkJBV28yQWdBTEEwQWdBeWdDQUNJRUlBSk5CRUJCQVNFRFFRQU1Bd3NnQXlBRVFYOXFJZ1EyQWdBZ0JDd0FBQ0FBS0FJZ0VPOEJRWDlIRFFBTEMwRUFJUU5CZndzaEFpQURCSDhnQmdVZ0FpRUJEQUlMQlNBQVFUQnFDeUFCTmdJQUlBQkJBVG9BTkFzTElBVWtCaUFCQ3drQUlBQkJBUkRJQkFzSkFDQUFRUUFReUFRTFhnRUJmeUFBSUFGQnNOQURFRG9pQVRZQ0pDQUFJQUVnQVNnQ0FDZ0NHRUgvQUhGQkNHb1JBQUEyQWl3Z0FDZ0NKQ0lCS0FJQUtBSWNJUUlnQUNBQklBSkIvd0J4UVFocUVRQUFRUUZ4T2dBMUlBQW9BaXhCQ0VvRVFCQUFDd3V6QWdFSWZ5TUdJUVVqQmtFZ2FpUUdJQVZCRUdvaEFpQUZRUWhxSVFNZ0JVRUVhaUVFQW44Z0FVRi9FRUVoQ1NBQUxBQTBRUUJISVFZZ0NRc0VRQ0FHUlFSQUlBQWdBQ2dDTUNJQlFYOFFRVUVCYzBFQmNUb0FOQXNGQWtBZ0JnUi9JQVFnQUVFd2FpSUdLQUlBTmdJQUlBQW9BaVFpQnlnQ0FDZ0NEQ0VJQW44Q1FBSkFBa0FnQnlBQUtBSW9JQVFnQkVFRWFpQUZJQUlnQWtFSWFpQURJQWhCRDNGQmpnTnFFUTRBUVFGckRnTUNBZ0FCQ3lBQ0lBWW9BZ0E2QUFBZ0F5QUNRUUZxTmdJQUN3TkFJQU1vQWdBaUJDQUNUUVJBUVFFaEEwRUFEQU1MSUFNZ0JFRi9haUlFTmdJQUlBUXNBQUFnQUNnQ0lCRHZBVUYvUncwQUN3dEJBQ0VEUVg4TElRSWdBd1IvSUFZRklBSWhBUXdDQ3dVZ0FFRXdhZ3NnQVRZQ0FDQUFRUUU2QURRTEN5QUZKQVlnQVF1S0F3SU1md0o4SXdZaEFTTUdRVUJySkFZZ0FVRWdhaUVDUWRBQkVFUWlBMFVFUUVFQVFRTkJ1ZGdDSUFJUVBVRUJFQUVMSUFGQktHb2hCQ0FESUFCQnVBRVFUQm9nQXlBQUtBSUFRUjVxSWdnMkFzQUJJQU1nQUNnQ0JFRWVhaUlKTmdMRUFTQURRUTgyQXNnQklBTkJEellDekFFZ0F5QUpJQWhCQTNSc0lnVVFSQ0lDTmdLNEFTQUNSUVJBUVFCQkEwRzUyQUlnQkJBOVFRRVFBUXNnQVVFd2FpRUdJQU1nQlJCRUlnUTJBcndCSUFSRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkN5QUJRUmhxSVFVZ0FVRVFhaUVHSUFGQkNHb2hDaUFBUWVnQWFpRUxJQUFvQXJBQklRd2dBaUVBQTBBZ0J5QUpTQVJBSUFkQkQydXl1eUVOUVFBaEFnTkFJQUlnQ0VnRVFDQUxJQUpCRDJ1eXV5SU9JQTBnQ2lBQklBd1EyQXNnQUNBS0t3TUF0amdDQUNBQUlBRXJBd0MyT0FJRUlBc2dEaUFOSUFVZ0JpQU1FTjhFSUFRZ0JTc0RBTFk0QWdBZ0JDQUdLd01BdGpnQ0JDQUNRUUZxSVFJZ0JFRUlhaUVFSUFCQkNHb2hBQXdCQ3dzZ0IwRUJhaUVIREFFTEN5QUJKQVlnQXdzSkFDQUFRUUVReVFRTENRQWdBRUVBRU1rRUMxNEJBWDhnQUNBQlFialFBeEE2SWdFMkFpUWdBQ0FCSUFFb0FnQW9BaGhCL3dCeFFRaHFFUUFBTmdJc0lBQW9BaVFpQVNnQ0FDZ0NIQ0VDSUFBZ0FTQUNRZjhBY1VFSWFoRUFBRUVCY1RvQU5TQUFLQUlzUVFoS0JFQVFBQXNMblFJQkNYOGpCaUVESXdaQklHb2tCaUFEUVJCcUlRUWdBMEVJYWlFQ0lBTkJCR29oQmdKL0FrQWdBVUYvRUVFTkFBSi9JQUlnQVJCQ09nQUFJQUFzQUN3RVFDQUNRUUZCQVNBQUtBSWdFSk1CUVFGR0RRSkJmd3dCQ3lBR0lBUTJBZ0FnQWtFQmFpRUhJQVJCQ0dvaENBSkFBMEFDUUNBQUtBSWtJZ1VvQWdBb0Fnd2hDU0FGSUFBb0FpZ2dBaUFISUFNZ0JDQUlJQVlnQ1VFUGNVR09BMm9SRGdBaEJTQUNJQU1vQWdCR0RRSWdCVUVEUmcwQUlBVkJBazhOQWlBR0tBSUFJQVJySWdJZ0JFRUJJQUlnQUNnQ0lCQ1RBVWNOQWlBREtBSUFJUUlnQlVFQlJnMEJEQVFMQ3lBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZIRFFBTUFndEJmd3NNQVFzZ0FVRi9FRUVFZjBFQUJTQUJDd3NoQ2lBREpBWWdDZ3RmQVFKL0lBQXNBQ3dFUUNBQlFRRWdBaUFBS0FJZ0VKTUJJUU1GQTBBZ0F5QUNTQVJBSUFBb0FnQW9BalFoQkNBQUlBRXNBQUFRUWlBRVFUOXhRWW9CYWhFQ0FFRi9Sd1JBSUFOQkFXb2hBeUFCUVFGcUlRRU1BZ3NMQ3dzZ0F3dE1BUUYvSUFBb0FnQW9BaGdoQWlBQUlBSkIvd0J4UVFocUVRQUFHaUFBSUFGQnNOQURFRG9pQVRZQ0pDQUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0FzQzVzQ0FRbC9Jd1loQXlNR1FTQnFKQVlnQTBFUWFpRUVJQU5CQ0dvaEFpQURRUVJxSVFZQ2Z3SkFJQUZCZnhCQkRRQUNmeUFDSUFFMkFnQWdBQ3dBTEFSQUlBSkJCRUVCSUFBb0FpQVFrd0ZCQVVZTkFrRi9EQUVMSUFZZ0JEWUNBQ0FDUVFScUlRY2dCRUVJYWlFSUFrQURRQUpBSUFBb0FpUWlCU2dDQUNnQ0RDRUpJQVVnQUNnQ0tDQUNJQWNnQXlBRUlBZ2dCaUFKUVE5eFFZNERhaEVPQUNFRklBSWdBeWdDQUVZTkFpQUZRUU5HRFFBZ0JVRUNUdzBDSUFZb0FnQWdCR3NpQWlBRVFRRWdBaUFBS0FJZ0VKTUJSdzBDSUFNb0FnQWhBaUFGUVFGR0RRRU1CQXNMSUFKQkFVRUJJQUFvQWlBUWt3RkJBVWNOQUF3Q0MwRi9Dd3dCQ3lBQlFYOFFRUVIvUVFBRklBRUxDeUVLSUFNa0JpQUtDMWtCQVg4Z0FDd0FMQVJBSUFGQkJDQUNJQUFvQWlBUWt3RWhBd1VEUUNBRElBSklCRUFnQUNBQktBSUFJQUFvQWdBb0FqUkJQM0ZCaWdGcUVRSUFRWDlIQkVBZ0EwRUJhaUVESUFGQkJHb2hBUXdDQ3dzTEN5QURDMHdCQVg4Z0FDZ0NBQ2dDR0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUFhSUFBZ0FVRzQwQU1RT2lJQk5nSWtJQUVvQWdBb0Fod2hBaUFBSUFFZ0FrSC9BSEZCQ0dvUkFBQkJBWEU2QUN3TDdBVUNCMzhDZkNNR0lRUWpCa0dnQTJva0JpQUVRWkFEYWlFR0lBUkJnQUZxSVFnZ0FDZ0NBQ0VISUFBb0FnUWhCU0FBUVFocUlBUkJzQUpxSWdvZ0JFSFFBV29pQ1JEekMwRUFTQVJBUVFCQkEwR2JyQUVnQmhBOUJRSkFJQVZCZjJxM0lReEJBQ0VGQTBBZ0JVRUVSd1JBSUFwQklHb2dCVUVEZEdvaUFDQUtRVUJySUFWQkEzUnFLd01BSUF5aUlBQXJBd0NoT1FNQUlBVkJBV29oQlF3QkN3c2dDaXNEVUNFTFFRQWhCUU5BSUFWQkEwY0VRRUVBSVFBRFFDQUFRUU5IQkVBZ0JVRVliQ0FJYWlBQVFRTjBhaUFGUVFWMElBcHFJQUJCQTNScUt3TUFJQXVqT1FNQUlBQkJBV29oQUF3QkN3c2dCVUVCYWlFRkRBRUxDeUFFSUFnckF3QkVBQUFBQUFBQUFFQ2lJQWRCZjJxM0lndWpPUU1BSUFRZ0NDc0RDRVFBQUFBQUFBQUFRS0lnQzZNNUF3Z2dCQ0FJS3dNUVJBQUFBQUFBQUFCQW9pQUxvMFFBQUFBQUFBRHd2NkNhT1FNUUlBUkNBRGNER0NBRVFnQTNBeUFnQkNBSUt3TWdSQUFBQUFBQUFBQkFvaUFNbzVvNUF5Z2dCQ0FJS3dNb1JBQUFBQUFBQUFCQW9pQU1vMFFBQUFBQUFBRHd2NkNhT1FNd0lBUkNBRGNET0NBRVFnQTNBMEFnQkVJQU53TklJQVFnQVNBQ29DQUJJQUtoSWd1ak9RTlFJQVFnQWtRQUFBQUFBQUFBUUtJZ0FhSWdDNk01QTFnZ0JFSUFOd05nSUFSQ0FEY0RhQ0FFUkFBQUFBQUFBUEMvT1FOd0lBUkVBQUFBQUFBQUFBQTVBM2dnQ1NzREdDRUxJQWtyQXpnaEFpQUpLd05ZSVFGQkFDRUdBMEFnQmtFRVJnMEJJQVpCQlhRZ0JHb3JBd0FoRENBR1FRVjBJQVJxSVFVZ0JrRUZkQ0FFYWlFQVFRQWhCd05BSUFkQkEwY0VRQ0FHSUFkQkFuUnFRUU4wSUFOcUlBd2dCMEVEZENBSmFpc0RBS0lnQlNzRENDQUpRU0JxSUFkQkEzUnFLd01Bb3FBZ0FDc0RFQ0FKUVVCcklBZEJBM1JxS3dNQW9xQTVBd0FnQjBFQmFpRUhEQUVMQ3lBR1FReHFRUU4wSUFOcUlBWkJCWFFnQkdvckF4Z2dEQ0FMb2lBRkt3TUlJQUtpb0NBQUt3TVFJQUdpb0tBNUF3QWdCa0VCYWlFR0RBQUFDd0FMQ3lBRUpBWUw0aE1DRUg4QmZDTUdJUk1qQmtFUWFpUUdJQk1oRHlBRUtBSUFJZ2doQnlBQklBSkJmMm9pRUd4QkFYUWdDR29oQlFOQUlBd2dBVWdFUUNBRlFRQTdBUUFnQjBFQU93RUFJQWRCQW1vaEJ5QUZRUUpxSVFVZ0RFRUJhaUVNREFFTEN5QUlJUWNnQVVGL2FpSVJRUUYwSUFocUlRVkJBQ0VNQTBBZ0RDQUNTQVJBSUFWQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0JXb2hCU0FNUVFGcUlRd01BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVE1QkFTRU5RUUFoQlNBQUlBUW9BZ1JxSVF3Z0FFRUJkQ0FJYWlFSUFuOENRQU5BQWtBZ0RTQVFUZzBDSUFVaEFFRUJJUW9EUUNBS0lCRklCRUFnRGkwQUFDQURTZ1JBSUFoQkFEc0JBQ0FNUVFBNkFBQUZBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNMSUE1QkFXb2hEaUFNUVFGcUlRd2dDa0VCYWlFS0lBaEJBbW9oQ0F3QkN3c2dEa0VDYWlFT0lBMUJBV29oRFNBQUlRVWdERUVDYWlFTUlBaEJCR29oQ0F3QkN3dEJBRUVEUWFpbEFTQVBFRDFCZnd3QkN5QUVRUXhxSVF4QkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdBMkFnZ2dBQVIvSUF4QkFDQUFRUUowRUVVYUlBUkJrSUFvYWtFQUlBQkJCSFFRUlJwQkFDRURBMEFnQXlBQVNBUkFJQVJCaklBSWFpQURRUUowSWdkQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFkQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBZEJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQWRCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUUVEUUNBQklBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBRkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnTWdCRUdRZ05BQWFpQUJRUWRzSWdCQkFuUnFLQUlBSUFNb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnTkJBM1JxSWdjZ0J5c0RBQ0FBUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFOQkFYSkJBM1JxSWdNZ0F5c0RBQ0FBUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRWnlBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhQ0EwQUJxS0FJQUlnZElCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFTQTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFpZ0NBQ0FBUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FpQUFOZ0lBQ3lBQlFRRnFJUUVNQVFzTElBUW9BZ2doQVVFQUlRQURmeUFBSUFGSUJIOGdCRUdRZ0NocUlBQkJBWFFpQWtFRGRHb2lBeUFES3dNQUlBUkJER29nQUVFQ2RHb29BZ0MzSWhXak9RTUFJQVJCa0lBb2FpQUNRUUZ5UVFOMGFpSUNJQUlyQXdBZ0ZhTTVBd0FnQUVFQmFpRUFEQUVGUVFBTEN3VkJBQXNMSVJRZ0R5UUdJQlFMNkFVQ0NuOEJmQ01HSVFRakJrR0FBbW9rQmlBRVFmZ0JhaUVJSUFSQjhBRnFJUW9nQkVIb0FXb2hEQ0FFUWVBQmFpRUZJQVJCMkFGcUlRc2dCRUhRQVdvaEJ5QUVRY2dCYWlFSklBUkJFR29oQXlBQVFRQkhJQUZCQUVkeEJFQUNRQ0FBUVlpNUFSQ3dBU0lHUlFSQUlBbEJwTVVES0FJQU5nSUFJQWtnQURZQ0JFRUFRUU5CczZvQklBa1FQVUdreFFNb0FnQVF2UUVoQUNBSFFhZlZBellDQUNBSElBQTJBZ1JCQUVFRFFhVzJBU0FIRUQxQmZ5RUFEQUVMSUFaQkFFRUNFUFFCSUFZb0Frd2FJQVlvQWdCQkJYWkJBWEVFUUNBTFFhVEZBeWdDQURZQ0FFRUFRUU5CK0tvQklBc1FQVUdreFFNb0FnQVF2UUVoQUNBRlFhZlZBellDQUNBRklBQTJBZ1JCQUVFRFFhVzJBU0FGRUQxQmZ5RUFCUUpBSUFZUStBSWhCeUFHRVBrQ1FRQWhBQUpBQWtBRGZ5QUFRUVJQRFFFZ0FFRUJhaUVGSUFjZ0FFRURkRUdrRldvb0FnQWlBQkJQQkg4Z0JTRUFEQUVGSUFVTEN5RUZEQUVMSUFCQkJFWUVmMEVBUVFOQnBhc0JJQXdRUFVGL0lRQU1BZ1ZCQUNFRlFhUVZLQUlBQ3lFQUN5QURJQUJCQVNBR0VHRkJBVWNFUUNBS1FhVEZBeWdDQURZQ0FFRUFRUU5COWFzQklBb1FQVUdreFFNb0FnQVF2UUVoQUNBSVFhZlZBellDQUNBSUlBQTJBZ1JCQUVFRFFhVzJBU0FJRUQxQmZ5RUFEQUVMSUFNZ0JUWUNzQUVnQXhEWUJDQUZRUUZHSWdjRVFDQURLd040SVEwZ0F5QURRWUFCYWlJQUt3TUFPUU40SUFNZ0RUa0RnQUVGSUFOQmdBRnFJUUFMSUFFZ0EwRzRBUkJNR2lBRUlBSTJBZ0JCQVNFQ0EwQWdBa0VCVGdSQVFRQWhBQXdDQ3lBRUtBSUFRUU5xUVh4eElna29BZ0FoQ0NBRUlBbEJCR28yQWdBZ0NDQUJLQUt3QVRZQ3NBRWdBeUFCS0FLd0FVRURkRUdjRldvb0FnQkJBU0FHRUdGQkFVY0VRRUYvSVFBTUFnc2dBeUFGTmdLd0FTQURFTmdFSUFjRVFDQURLd040SVEwZ0F5QUFLd01BT1FONElBQWdEVGtEQUFzZ0NDQURRYmdCRUV3YUlBSkJBV29oQWd3QUFBc0FDd3NnQmhCcUN3VkJmeUVBQ3lBRUpBWWdBQXVUQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BaGdnQTBFQ2RHbzJBaGdnQXlBRWFpRUVJQU5CQW5RZ0FXb0ZJQUFnQVNnQ0FDQUFLQUlBS0FJMFFUOXhRWW9CYWhFQ0FFRi9SZzBCSUFSQkFXb2hCQ0FCUVFScUN5RUJEQUVMQ3lBRUN6TUFJQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUJCZjBZRWYwRi9CU0FBSUFBb0Fnd2lBRUVFYWpZQ0RDQUFLQUlBQ3d1VUFRRUVmd05BQWtBZ0JDQUNUZzBBSUFBb0Fnd2lBeUFBS0FJUUlnVkpCSDhnQVNBRElBSWdCR3NpQmlBRklBTnJRUUoxSWdNZ0JpQURTQnNpQXhDbkFTQUFJQUFvQWd3Z0EwRUNkR28yQWd3Z0EwRUNkQ0FCYWdVZ0FDQUFLQUlBS0FJb1FmOEFjVUVJYWhFQUFDSURRWDlHRFFFZ0FTQUROZ0lBUVFFaEF5QUJRUVJxQ3lFQklBTWdCR29oQkF3QkN3c2dCQXVRQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWhnaUF5QUFLQUljSWdWSkJIOGdBeUFCSUFJZ0JHc2lCaUFGSUFOcklnTWdCaUFEU0JzaUF4Q29BU0FBSUFNZ0FDZ0NHR28yQWhnZ0F5QUVhaUVFSUFFZ0Eyb0ZJQUFvQWdBb0FqUWhBeUFBSUFFc0FBQVFRaUFEUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUUZxQ3lFQkRBRUxDeUFFQ3pVQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUJhallDRENBQUxBQUFFRUlMQzQwQkFRUi9BMEFDUUNBRUlBSk9EUUFnQUNnQ0RDSURJQUFvQWhBaUJVa0VmeUFCSUFNZ0FpQUVheUlHSUFVZ0Eyc2lBeUFHSUFOSUd5SURFS2dCSUFBZ0F5QUFLQUlNYWpZQ0RDQUJJQU5xQlNBQUlBQW9BZ0FvQWloQi93QnhRUWhxRVFBQUlnTkJmMFlOQVNBQklBTVFRam9BQUVFQklRTWdBVUVCYWdzaEFTQURJQVJxSVFRTUFRc0xJQVFMQ3dBZ0FCQ2RBaUFBRURnTFNBRUNmeUFBS0FJb0lRRURRQ0FCQkVBZ0FDZ0NJQ0FCUVg5cUlnRkJBblJxS0FJQUlRSkJBQ0FBSUFBb0FpUWdBVUVDZEdvb0FnQWdBa0VEY1VIMkJXb1JCZ0FNQVFzTEN3UUFRUUFMTXdFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJJQUVvQWdBMkFnUWdBU2dDQkNnQ0JCQ0lBeUVDSUFFa0JpQUNDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRWXVKQXpZQ0FFR3crUUJCQnlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFldUlBellDQUVHNCtRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWN5SUF6WUNBRUhBK1FCQkJpQUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRZDZHQXpZQ0FFSEkrUUJCQlNBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFjQ0dBellDQUVIUStRQkJCQ0FBS0FJQUVBZ2dBQ1FHQytvRkFRWjhBbjhDUUFKQUFrQUNRQUpBQWtBZ0JVRUJhdzRFQXdJQkFBUUxJQUFyQXdBZ0FTQUFLd013SWdpaElBQkJRR3NyQXdBaUJxSWdBQ3NESUNJSm95SUJJQUdpSUFJZ0FDc0RPQ0lLb1NBR29pQUFLd01vSWd1aklnSWdBcUtnSWdhaVJBQUFBQUFBQVBBL29DQUdJQUFyQXdnZ0JxS2lvQ0VISUFNZ0NDQUpJQUFyQXhnaUNDQUdJQUVnQVVRQUFBQUFBQUFBUUtLaW9LSWdBaUFBS3dNUUlnbEVBQUFBQUFBQUFFQ2lJQUdpb2lBQklBZWlvS0Npb0RrREFDQUtJQXNnQWlBSVJBQUFBQUFBQUFCQW9pQUJvcUlnQ1NBR0lBSWdBa1FBQUFBQUFBQUFRS0tpb0tJZ0FpQUhvcUNnb3FBaEFRd0VDeUFCSUFBckF3QWlCcUVnQUNzREVDSUhvaUlCUkFBQUFBQUFBQUFBWVNBSElBSWdBQ3NEQ0tHaUlnSkVBQUFBQUFBQUFBQmhjUVI4SUFNZ0Jqa0RBQ0FBS3dNSUJTQURJQVlnQUNzREdDQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TWdSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01vUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFNTElBRWdBQ3NEQUNJR29TQUFLd01RSWdlaUlnRkVBQUFBQUFBQUFBQmhJQWNnQWlBQUt3TUlvYUlpQWtRQUFBQUFBQUFBQUdGeEJId2dBeUFHT1FNQUlBQXJBd2dGSUFNZ0JpQUJSQUFBQUFBQUFQQS9JQUVnQWFJZ0FpQUNvcUFpQVNBQUt3TVlSQUFBQUFDRTE1ZEJvNktoSUFFZ0FTQUFLd01nUkFBQUFBQ0UxNWRCbzBRQUFBQUFBR3I0UUtPaW9xRWlBYUtnT1FNQUlBQXJBd2dnQWlBQm9xQUxJUUVNQWdzZ0FTQUFLd01BSWdhaElBQXJBeEFpQjZJaUFVUUFBQUFBQUFBQUFHRWdCeUFDSUFBckF3aWhvaUlDUkFBQUFBQUFBQUFBWVhFRWZDQURJQVk1QXdBZ0FDc0RDQVVnQXlBR0lBRkVBQUFBQUFBQThEOGdBU0FCb2lBQ0lBS2lvQ0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJZ0dpb0RrREFDQUFLd01JSUFJZ0FhS2dDeUVCREFFTFFYOE1BUXNnQkNBQk9RTUFRUUFMR2dzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVITWhBTTJBZ0JCaVBvQVFRQWdBQ2dDQUJBSUlBQWtCZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhkZ3dNMkFnQkJtUGtBSUFBb0FnQkJDQkFXSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSFhnd00yQWdCQmtQa0FJQUFvQWdCQkJCQVdJQUFrQmdzdEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVISmd3TTJBZ0JCaVBrQUlBQW9BZ0JCQkVFQVFYOFFDaUFBSkFZTE5RRUJmeU1HSVFBakJrRVFhaVFHSUFCQnhJTUROZ0lBUVlENUFDQUFLQUlBUVFSQmdJQ0FnSGhCLy8vLy93Y1FDaUFBSkFZTExRRUJmeU1HSVFBakJrRVFhaVFHSUFCQnQ0TUROZ0lBUWZqNEFDQUFLQUlBUVFSQkFFRi9FQW9nQUNRR0N6VUJBWDhqQmlFQUl3WkJFR29rQmlBQVFiT0RBellDQUVIdytBQWdBQ2dDQUVFRVFZQ0FnSUI0UWYvLy8vOEhFQW9nQUNRR0N5OEJBWDhqQmlFQUl3WkJFR29rQmlBQVFhU0RBellDQUVIbytBQWdBQ2dDQUVFQ1FRQkIvLzhERUFvZ0FDUUdDekVCQVg4akJpRUFJd1pCRUdva0JpQUFRWjZEQXpZQ0FFSGcrQUFnQUNnQ0FFRUNRWUNBZmtILy93RVFDaUFBSkFZTExnRUJmeU1HSVFBakJrRVFhaVFHSUFCQmtJTUROZ0lBUWRENEFDQUFLQUlBUVFGQkFFSC9BUkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFR0Vnd00yQWdCQjJQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3N2QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUgvZ2dNMkFnQkJ5UGdBSUFBb0FnQkJBVUdBZjBIL0FCQUtJQUFrQmdzZkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHbTFRTTJBZ0FRNEFRZ0FDUUdDd1lBUWVERkF3c0dBRUhjeFFNTEJnQkIxTVVEQ3dnQVFlVEZBeEEyQzNBQkFuOGdBQ0FCS0FJSVFRQVFnUUVFUUNBQklBSWdBeER6QWdVQ1FDQUFRUkJxSUFBb0Fnd2lCRUVEZEdvaEJTQUFRUkJxSUFFZ0FpQURFT0VFSUFSQkFVb0VRQ0FBUVJocUlRQURRQ0FBSUFFZ0FpQURFT0VFSUFFc0FEWU5BaUFBUVFocUlnQWdCVWtOQUFzTEN3c0x4UVFCQTM4Z0FDQUJLQUlJSUFRUWdRRUVRQ0FCSUFJZ0F4RHlBZ1VDUUNBQUlBRW9BZ0FnQkJDQkFVVUVRQ0FBS0FJTUlRVWdBRUVRYWlBQklBSWdBeUFFRUo0Q0lBVkJBVXdOQVNBQVFSQnFJQVZCQTNScUlRWWdBRUVZYWlFRklBQW9BZ2dpQUVFQ2NVVUVRQ0FCS0FJa1FRRkhCRUFnQUVFQmNVVUVRQU5BSUFFc0FEWU5CU0FCS0FJa1FRRkdEUVVnQlNBQklBSWdBeUFFRUo0Q0lBVkJDR29pQlNBR1NRMEFEQVVBQ3dBTEEwQWdBU3dBTmcwRUlBRW9BaVJCQVVZRVFDQUJLQUlZUVFGR0RRVUxJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01Bd3NMQTBBZ0FTd0FOZzBDSUFVZ0FTQUNJQU1nQkJDZUFpQUZRUWhxSWdVZ0Jra05BQXNNQVFzZ0FTZ0NFQ0FDUndSQUlBRW9BaFFnQWtjRVFDQUJJQU0yQWlBZ0FTZ0NMRUVFUndSQUlBQkJFR29nQUNnQ0RFRURkR29oQjBFQUlRTWdBRUVRYWlFR0lBRUNmd0pBQTBBQ1FDQUdJQWRQRFFBZ0FVRUFPZ0EwSUFGQkFEb0FOU0FHSUFFZ0FpQUNRUUVnQkJEdkFpQUJMQUEyRFFBZ0FTd0FOUVJBQWtBZ0FTd0FORVVFUUNBQUtBSUlRUUZ4QkVCQkFTRUZEQUlGREFZTEFBc2dBU2dDR0VFQlJnUkFRUUVoQXd3RkN5QUFLQUlJUVFKeEJIOUJBU0VGUVFFRlFRRWhBd3dGQ3lFREN3c2dCa0VJYWlFR0RBRUxDeUFGQkg4TUFRVkJCQXNNQVF0QkF3czJBaXdnQTBFQmNRMERDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMvUUNBUWwvSUFBZ0FTZ0NDQ0FGRUlFQkJFQWdBU0FDSUFNZ0JCRHhBZ1VnQVN3QU5DRU9JQUVzQURVaEJpQUFRUkJxSUFBb0Fnd2lCMEVEZEdvaERDQUJRUUE2QURRZ0FVRUFPZ0ExSUFCQkVHb2dBU0FDSUFNZ0JDQUZFTzhDSUE0Z0FTd0FOQ0lMY2lFSklBWWdBU3dBTlNJSWNpRUdJQWRCQVVvRWZ3Si9JQUJCR0dvaENnTi9JQVpCQVhFaEJ5QUpRUUZ4SVFZZ0FTd0FOZ1JBSUFZaEFpQUhEQUlMSUF0Qi93RnhCRUFnQVNnQ0dFRUJSZ1JBSUFZaEFpQUhEQU1MSUFBb0FnaEJBbkZGQkVBZ0JpRUNJQWNNQXdzRklBaEIvd0Z4QkVBZ0FDZ0NDRUVCY1VVRVFDQUdJUUlnQnd3RUN3c0xJQUZCQURvQU5DQUJRUUE2QURVZ0NpQUJJQUlnQXlBRUlBVVE3d0lnQmlBQkxBQTBJZ3R5SVFnZ0J5QUJMQUExSWcxeUlRWWdDa0VJYWlJSElBeEpCSDhnQnlFS0lBZ2hDU0FOSVFnTUFRVWdDQ0VDSUFZTEN3c0ZJQWtoQWlBR0N5RUFJQUVnQWtIL0FYRkJBRWM2QURRZ0FTQUFRZjhCY1VFQVJ6b0FOUXNMQ3dBZ0FDQUJRUUFRZ1FFTEtRRUJmeUFBS0FJQVFYUnFJZ0FvQWdnaEFTQUFJQUZCZjJvMkFnZ2dBVUVCU0FSQUlBQVFPQXNMQndBZ0FDZ0NCQXRBQVFGL0lBQWdBU2dDQ0VFQUVJRUJCRUFnQVNBQ0lBTVE4d0lGSUFBb0FnZ2lBQ2dDQUNnQ0hDRUVJQUFnQVNBQ0lBTWdCRUVmY1VINkJXb1JCd0FMQzVnQ0FRSi9JQUFnQVNnQ0NDQUVFSUVCQkVBZ0FTQUNJQU1ROGdJRkFrQWdBQ0FCS0FJQUlBUVFnUUZGQkVBZ0FDZ0NDQ0lBS0FJQUtBSVlJUVVnQUNBQklBSWdBeUFFSUFWQlAzRkJtZ1pxRVFVQURBRUxJQUVvQWhBZ0FrY0VRQ0FCS0FJVUlBSkhCRUFnQVNBRE5nSWdJQUVvQWl4QkJFY0VRQ0FCUVFBNkFEUWdBVUVBT2dBMUlBQW9BZ2dpQUNnQ0FDZ0NGQ0VESUFBZ0FTQUNJQUpCQVNBRUlBTkJCM0ZCMmdacUVRd0FJQUVzQURVRVFDQUJMQUEwUlNFR0lBRkJBellDTENBR1JRMEVCU0FCUVFRMkFpd0xDeUFCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVWNOQWlBQktBSVlRUUpIRFFJZ0FVRUJPZ0EyREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEMwWUJBWDhnQUNBQktBSUlJQVVRZ1FFRVFDQUJJQUlnQXlBRUVQRUNCU0FBS0FJSUlnQW9BZ0FvQWhRaEJpQUFJQUVnQWlBRElBUWdCU0FHUVFkeFFkb0dhaEVNQUFzTHdBWUNBMzhHZkNNR0lRUWpCa0hnQUdva0JnSkFJQUFyQTFoRUFBQUFBQUFBQUFCbUJFQURRQ0FGUVFOR0RRSkJBQ0VEQTBBZ0EwRUVSd1JBSUFWQkJYUWdCR29nQTBFRGRHb2dCVUVGZENBQWFpQURRUU4wYWlzREFEa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUJRTkFJQVZCQTBZTkFrRUFJUU1EUUNBRFFRUkhCRUFnQlVFRmRDQUVhaUFEUVFOMGFpQUZRUVYwSUFCcUlBTkJBM1JxS3dNQW1qa0RBQ0FEUVFGcUlRTU1BUXNMSUFWQkFXb2hCUXdBQUFzQUN3QUxRUUFoQXdOQUlBTkJBMGNFUUVFQUlRQURRQ0FBUVFSSEJFQWdBMEVGZENBQmFpQUFRUU4wYWtRQUFBQUFBQUFBQURrREFDQUFRUUZxSVFBTUFRc0xJQU5CQVdvaEF3d0JDd3NnQVNBRVFVQnJLd01BSWdnZ0JDc0RTQ0lHSUFRckExQWlDaER3QWlJSE9RTlFJQUpCUUdzaUFDQUlJQWVqSWdnNUF3QWdBaUFHSUFFckExQ2pJZ1k1QTBnZ0FpQUtJQUVyQTFDaklnYzVBMUFnQWlBRUt3TllJQUVyQTFDak9RTllJQUVnQ0NBR0lBY2dCQ3NESUNJSUlBUXJBeWdpQmlBRUt3TXdJZ2NRN2dJaUNUa0RNQ0FCSUFnZ0NTQUFLd01Bb3FFaUNpQUdJQWtnQWlzRFNLS2hJZ2dnQnlBSklBSXJBMUNpb1NJR0VQQUNJZ2M1QXlnZ0FpQUtJQWVqT1FNZ0lBSWdDQ0FCS3dNb296a0RLQ0FDSUFZZ0FTc0RLS001QXpBZ0FTQUFLd01BSUFJckEwZ2dBaXNEVUNBRUt3TUFJZ2dnQkNzRENDSUdJQVFyQXhBaUJ4RHVBaUlMT1FNUUlBRWdBaXNESUNBQ0t3TW9JQUlyQXpBZ0NDQUdJQWNRN2dJaUNUa0RDQ0FCSUFnZ0NTQUNLd01nb3FFZ0N5QUFLd01Bb3FFaUNpQUdJQWtnQWlzREtLS2hJQXNnQWlzRFNLS2hJZ2dnQnlBSklBSXJBekNpb1NBTElBSXJBMUNpb1NJR0VQQUNJZ2M1QXdBZ0FpQUtJQWVqT1FNQUlBSWdDQ0FCS3dNQW96a0RDQ0FDSUFZZ0FTc0RBS001QXhBZ0FpQUVLd000SUFFckF6QWdBaXNEV0NJR29xRWdBU3NES0tNaUJ6a0RPQ0FDSUFRckF4Z2dCeUFCS3dNSW9xRWdCaUFCS3dNUW9xRWdBU3NEQUtNNUF4aEJBQ0VEQTBBZ0EwRURSd1JBUVFBaEFnTkFJQUpCQTBjRVFDQURRUVYwSUFGcUlBSkJBM1JxSWdBZ0FDc0RBQ0FCS3dOUW96a0RBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0JDUUdRUUFMR2dBZ0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ3NMa3dFQUlBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGSUFBZ0FTZ0NBQ0FFRUlFQkJFQUNRQ0FCS0FJUUlBSkhCRUFnQVNnQ0ZDQUNSd1JBSUFFZ0F6WUNJQ0FCSUFJMkFoUWdBU0FCS0FJb1FRRnFOZ0lvSUFFb0FpUkJBVVlFUUNBQktBSVlRUUpHQkVBZ0FVRUJPZ0EyQ3dzZ0FVRUVOZ0lzREFJTEN5QURRUUZHQkVBZ0FVRUJOZ0lnQ3dzTEN3c2NBQ0FBSUFFb0FnZ2dCUkNCQVFSQUlBRWdBaUFESUFRUThRSUxDOUlCQVFKL0l3WWhBeU1HUVVCckpBWWdBQ0FCUVFBUWdRRUVmMEVCQlNBQkJIOGdBVUhBOXdCQnNQY0FFT1FFSWdFRWZ5QURJQUUyQWdBZ0EwRUFOZ0lFSUFNZ0FEWUNDQ0FEUVg4MkFnd2dBMElBTndJUUlBTkNBRGNDR0NBRFFnQTNBaUFnQTBJQU53SW9JQU5CQURZQ01DQURRUUE3QVRRZ0EwRUFPZ0EySUFOQkFUWUNNQ0FCS0FJQUtBSWNJUUFnQVNBRElBSW9BZ0JCQVNBQVFSOXhRZm9GYWhFSEFDQURLQUlZUVFGR0JIOGdBaUFES0FJUU5nSUFRUUVGUVFBTEJVRUFDd1ZCQUFzTElRUWdBeVFHSUFRTDNRRUJCWDhqQmlFQUl3WkJNR29rQmlBQVFSaHFJUUlnQUVFUWFpRUJJQUJCSkdvaEEwSE14UU1vQWdBaUJBUkFJQUpCOWY4Q05nSUFRY1AvQWlBQ0VKOENJQU1nQkVIUUFHbzJBZ0FnQkNnQ0FDSUVLQUlFSVFKQnFQY0FJQVFnQTBHbzl3QW9BZ0FvQWhCQlAzRkJ5Z0ZxRVFRQUJFQWdBeWdDQUNJQktBSUFLQUlJSVFNZ0FTQURRZjhBY1VFSWFoRUFBQ0VCSUFCQjlmOENOZ0lBSUFBZ0FqWUNCQ0FBSUFFMkFnaEI3ZjRDSUFBUW53SUZJQUZCOWY4Q05nSUFJQUVnQWpZQ0JFR2Evd0lnQVJDZkFnc0xRZW4vQWlBQVFTQnFFSjhDQzZjRUFRSjhJQUczSUFBb0FnQzNveUVFSUFLM0lBQW9BZ1Mzb3lFRklBTWdBVFlDQUNBRElBSTJBZ1JCQUNFQkEwQWdBVUVFUndSQUlBTkJDR29nQVVFRGRHb2dCQ0FBUVFocUlBRkJBM1JxS3dNQW9qa0RBQ0FEUVNocUlBRkJBM1JxSUFVZ0FFRW9haUFCUVFOMGFpc0RBS0k1QXdBZ0EwSElBR29nQVVFRGRHb2dBRUhJQUdvZ0FVRURkR29yQXdBNUF3QWdBVUVCYWlFQkRBRUxDd0pBQWtBQ1FBSkFBa0FDUUFKQUlBQW9BckFCSWdGQkFXc09CQU1DQVFBRUN5QURJQUFyQTJnNUEyZ2dBeUFBS3dOd09RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJPUU9BQVNBRElBUWdBQ3NEaUFHaU9RT0lBU0FESUFVZ0FDc0RrQUdpT1FPUUFTQURJQVFnQUNzRG1BR2lPUU9ZQVNBRElBVWdBQ3NEb0FHaU9RT2dBU0FESUFBckE2Z0JPUU9vQVF3RUN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFBckE0Z0JJQVFnQmFLak9RT0lBU0FESUFBckE1QUJJQVVnQkNBRW9pQUZvcUtqT1FPUUFRd0RDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBU0FESUFBckE0Z0JJQVVnQkNBRW9pQUZvcUtqT1FPSUFRd0NDeUFESUFRZ0FDc0RhS0k1QTJnZ0F5QUZJQUFyQTNDaU9RTndJQU1nQUNzRGVEa0RlQ0FESUFBckE0QUJJQVFnQmFLak9RT0FBUXdCQ3d3QkN5QURJQUUyQXJBQkN3djdFd0lSZndGOEl3WWhGQ01HUVJCcUpBWWdGQ0VRSUFGQkFoQTVJUTBnQWtFQ0VEa2hEeUFFS0FJQUlnY2hBaUFOSUE5QmYyb2lFV3hCQVhRZ0Iyb2hCUU5BSUFzZ0RVZ0VRQ0FGUVFBN0FRQWdBa0VBT3dFQUlBSkJBbW9oQWlBRlFRSnFJUVVnQzBFQmFpRUxEQUVMQ3lBSElRSWdEVUYvYWlJU1FRRjBJQWRxSVFWQkFDRUxBMEFnQ3lBUFNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0RVRUJkQ0FDYWlFQ0lBMUJBWFFnQldvaEJTQUxRUUZxSVFzTUFRc0xJQVJCa0lESUFHb2hBa0VBSUExcklSTWdBQ0FCUVFGMFFRSnFhaUVPUVFFaERFRUFJUVVnRFVFQmFpSUFJQVFvQWdScUlRc2dBRUVCZENBSGFpRUhBbjhDUUFOQUFrQWdEQ0FSVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkpJQkVBZ0RpMEFBQ0FEU2dSQUlBZEJBRHNCQUNBTFFRQTZBQUFGQWtBZ0MwRi9PZ0FBSUJOQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBd2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUFzTElBNUJBbW9oRGlBTFFRRnFJUXNnQ1VFQmFpRUpJQWRCQW1vaEJ3d0JDd3NnQVNBT2FrRUVhaUVPSUF4QkFXb2hEQ0FBSVFVZ0MwRUNhaUVMSUFkQkJHb2hCd3dCQ3d0QkFFRURRYWlsQVNBUUVEMUJmd3dCQ3lBRVFReHFJUWRCQVNFQVFRRWhBd05BSUFNZ0JVd0VRQ0FESUFJb0FnQWlDMFlFUUNBQVFRRnFJUUVGSUFBaEFTQUxRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQUlnQURZQ0FDQUJJUUFnQTBFQmFpRURJQUpCQkdvaEFnd0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQWRCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFQkEwQWdBU0FBU0FSQUlBUkJqSUFJYWlBQlFRSjBJZ0pCQW5ScUlBMDJBZ0FnQkVHTWdBaHFJQUpCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFKQkFuSkJBblJxSUE4MkFnQWdCRUdNZ0FocUlBSkJBM0pCQW5ScVFRQTJBZ0FnQVVFQmFpRUJEQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaGFqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRnFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlVnRUNRR0lCVUxCQUFqQmdzYkFRSi9Jd1loQWlBQUl3WnFKQVlqQmtFUGFrRndjU1FHSUFJTEM2R0xBMkVBUVlBSUN4STJVd0FBUFZNQUFFbFRBQUJUVXdBQVlWTUFRYUFJQzlvVC8vLy8vLy8vLy84QUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFQLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vLy8vLy8vLy8vLy93QUFBQUVBQVFFQkFBSUUvLzhGQXdFQUF2OEdCLzhEQVFJQ0F3SURBZ01EQVA4RUJnY0Yvd0VFQlFRRUJRVUVCUWNHQmdZSEJ3Y0cvd0lFQmdjRkEvOEFBUUVCQVFFQkFBRUJBUUFBQVFFQkFRRUFBUUVBQVFFQkFBRUJBUUVBQVFFQUFRRUJBUUFCQVFFQUFRRUFBUUVCQVFFQUFBRUJBUUFCQVFFQkFRRUFBUC8vQS84RkJ2Ly9DUXIvRFAvL0QvOFJFdjhVLy84WEdQLy9HLzhkSHYvL0FRTC9CUC8vQndqLy93di9EUTcvRVAvL0UvOFZGdi8vR1JyL0hQLy9Id0VBQUFBQ0FBQUFCQUFBQUFnQUFBQVFBQUFBQlFBQUFBb0FBQUFVQUFBQURRQUFBQm9BQUFBUkFBQUFCd0FBQUE0QUFBQWNBQUFBSFFBQUFCOEFBQUFiQUFBQUV3QUFBQU1BQUFBR0FBQUFEQUFBQUJnQUFBQVZBQUFBRHdBQUFCNEFBQUFaQUFBQUZ3QUFBQXNBQUFBV0FBQUFDUUFBQUJJQUFBQUFBQUFBQVFBQUFBSUFBQUFFQUFBQUNBQUFBQU1BQUFBR0FBQUFEQUFBQUFzQUFBQUZBQUFBQ2dBQUFBY0FBQUFPQUFBQUR3QUFBQTBBQUFBSkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFCSUFBQUFDQUFBQUJRQUFBQk1BQUFBTEFBQUFBd0FBQUIwQUFBQUdBQUFBR3dBQUFCUUFBQUFJQUFBQURBQUFBQmNBQUFBRUFBQUFDZ0FBQUI0QUFBQVJBQUFBQndBQUFCWUFBQUFjQUFBQUdnQUFBQlVBQUFBWkFBQUFDUUFBQUJBQUFBQU5BQUFBRGdBQUFCZ0FBQUFQQUFBQS8vLy8vd0FBQUFBQkFBQUFCQUFBQUFJQUFBQUlBQUFBQlFBQUFBb0FBQUFEQUFBQURnQUFBQWtBQUFBSEFBQUFCZ0FBQUEwQUFBQUxBQUFBREFBQUFBRUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFJQUFBQUVBQUFBQURBQUFBQmdBQUFBd0FBQUFZQUFBQU1BQUFBR0FBQUFCREFBQUFCUUFBQUFvQUFBQVVBQUFBS0FBQUFGQUFBQUFqQUFBQVJnQUFBQThBQUFBZUFBQUFQQUFBQUhnQUFBQnpBQUFBWlFBQUFFa0FBQUFSQUFBQUlnQUFBRVFBQUFBTEFBQUFGZ0FBQUN3QUFBQllBQUFBTXdBQUFHWUFBQUJQQUFBQUhRQUFBRG9BQUFCMEFBQUFhd0FBQUZVQUFBQXBBQUFBVWdBQUFDY0FBQUJPQUFBQUh3QUFBRDRBQUFCOEFBQUFld0FBQUhVQUFBQnBBQUFBVVFBQUFDRUFBQUJDQUFBQUJ3QUFBQTRBQUFBY0FBQUFPQUFBQUhBQUFBQmpBQUFBUlFBQUFBa0FBQUFTQUFBQUpBQUFBRWdBQUFBVEFBQUFKZ0FBQUV3QUFBQWJBQUFBTmdBQUFHd0FBQUJiQUFBQU5RQUFBR29BQUFCWEFBQUFMUUFBQUZvQUFBQTNBQUFBYmdBQUFGOEFBQUE5QUFBQWVnQUFBSGNBQUFCdEFBQUFXUUFBQURFQUFBQmlBQUFBUndBQUFBMEFBQUFhQUFBQU5BQUFBR2dBQUFCVEFBQUFKUUFBQUVvQUFBQVhBQUFBTGdBQUFGd0FBQUE3QUFBQWRnQUFBRzhBQUFCZEFBQUFPUUFBQUhJQUFBQm5BQUFBVFFBQUFCa0FBQUF5QUFBQVpBQUFBRXNBQUFBVkFBQUFLZ0FBQUZRQUFBQXJBQUFBVmdBQUFDOEFBQUJlQUFBQVB3QUFBSDRBQUFCL0FBQUFmUUFBQUhrQUFBQnhBQUFBWVFBQUFFRUFBQUFBQUFBQS8vLy8vd0FBQUFBQkFBQUFCd0FBQUFJQUFBQU9BQUFBQ0FBQUFEZ0FBQUFEQUFBQVB3QUFBQThBQUFBZkFBQUFDUUFBQUZvQUFBQTVBQUFBRlFBQUFBUUFBQUFjQUFBQVFBQUFBRU1BQUFBUUFBQUFjQUFBQUNBQUFBQmhBQUFBQ2dBQUFHd0FBQUJiQUFBQVJnQUFBRG9BQUFBbUFBQUFGZ0FBQUM4QUFBQUZBQUFBTmdBQUFCMEFBQUFUQUFBQVFRQUFBRjhBQUFCRUFBQUFMUUFBQUJFQUFBQXJBQUFBY1FBQUFITUFBQUFoQUFBQVRRQUFBR0lBQUFCMUFBQUFDd0FBQUZjQUFBQnRBQUFBSXdBQUFGd0FBQUJLQUFBQVJ3QUFBRThBQUFBN0FBQUFhQUFBQUNjQUFBQmtBQUFBRndBQUFGSUFBQUF3QUFBQWR3QUFBQVlBQUFCK0FBQUFOd0FBQUEwQUFBQWVBQUFBUGdBQUFCUUFBQUJaQUFBQVFnQUFBQnNBQUFCZ0FBQUFid0FBQUVVQUFBQnJBQUFBTGdBQUFDVUFBQUFTQUFBQU5RQUFBQ3dBQUFCZUFBQUFjZ0FBQUNvQUFBQjBBQUFBVEFBQUFDSUFBQUJXQUFBQVRnQUFBRWtBQUFCakFBQUFad0FBQUhZQUFBQlJBQUFBREFBQUFIMEFBQUJZQUFBQVBRQUFBRzRBQUFBYUFBQUFKQUFBQUdvQUFBQmRBQUFBTkFBQUFFc0FBQUFwQUFBQVNBQUFBRlVBQUFCUUFBQUFaZ0FBQUR3QUFBQjhBQUFBYVFBQUFCa0FBQUFvQUFBQU13QUFBR1VBQUFCVUFBQUFHQUFBQUhzQUFBQlRBQUFBTWdBQUFERUFBQUI2QUFBQWVBQUFBSGtBQUFBRUFBQUFpQUFBQUFVQUFBQ1FBQUFBQmdBQUFKZ0FBQUFKQUFBQXNBQUFBT05aQUFEcFdRQUE3bGtBQVBaWkFBQUFBQUFBc3I2NVBoTGNvTDZRdmprK0V0eWd2cEMrT2I0QUFBQ0FzcjY1dmhMY29ENlF2am0rRXR5Z1BwQytPVDdTY2hpL0FBQUFBTkp5bUw0NkJnUy8wbktZUGpvR0JML1NjaGcvQUFBQWdOSnltRDQ2QmdRLzBuS1l2am9HQkQ4QUFBQ0FWcmc5djJaTkpEOVd1TDIrWmswa1AxYTR2VDRBQUFBQVZyZzlQMlpOSkw5V3VMMCtaazBrdjFhNHZiNE02VmcvQUFBQWdBenAyRDZaMlRzL0RPbll2cG5aT3o4TTZWaS9BQUFBQUF6cDJMNloyVHUvRE9uWVBwblpPNzhBQUFBQS9GTnVQL0ZsVHI4TlZPNCs4V1ZPdncxVTdyNEFBQUNBL0ZOdXYvRmxUajhOVk82KzhXVk9QdzFVN2o0QUFJQy9BQUFBQUFBQUFML1FzMTIvQUFBQVA5Q3pYYjhBQUlBL0FBQUFnQUFBQUQvUXMxMC9BQUFBdjlDelhUOXdQQUFBY0R3QUFIQThBQUJ3UEFBQWpLd0FBS0tzQUFEQ3JBQUE1NndBQUFHdEFBQWdyUUFBTmEwQUFGS3RBQUI4clFBQXZLMEFBTnV0QUFEeXJRQUFDSzRBQUJ5dUFBQlpyZ0FBaWE0QUFLV3VBQURJcmdBQS82NEFBRGF2QUFCTnJ3QUFiYThBQUpldkFBRGtyd0FBLzY4QUFDcXdBQUJHc0FBQWE3QUFBSkd3QUFDMnNBQUF5YkFBQU42d0FBRHhzQUFBQkxFQUFDbXhBQUErc1FBQVVyRUFBSE94QUFDSnNRQUF1TEVBQU9DeEFBQUJzZ0FBSXJJQUFGR3lBQUJpc2dBQWZySUFBTHl5QUFEanNnQUFDck1BQUI2ekFBQk1zd0FBZExNQUFKQ3pBQUMxc3dBQTE3TUFBQUcwQUFBc3RBQUFTclFBQUhpMEFBQ2d0QUFBeDdRQUFQSzBBQUFmdFFBQVQ3VUFBSG0xQUFDbXRRQUF5YlVBQU9lMUFBQUZ0Z0FBTzdZQUFHVzJBQUNFdGdBQXA3WUFBTTYyQUFEanRnQUE5N1lBQUN5M0FBQTh0d0FBZXJjQUFMeTNBQURtdHdBQUVyZ0FBRG00QUFCVnVBQUFnTGdBQUp1NEFBQ3Z1QUFBeHJnQUFOTzRBQUQ3dUFBQU1Ma0FBR3k1QUFDYXVRQUF1N2tBQU9LNUFBRDd1UUFBSTdvQUFFYTZBQUJldWdBQWdyb0FBS2U2QUFDdHVnQUE1cm9BQUNDN0FBQS91d0FBVHJzQUFHdTdBQUNKdXdBQXByc0FBTCs3QUFEWXV3QUFHcndBQUZTOEFBQ0t2QUFBdnJ3QUFOSzhBQURwdkFBQUQ3MEFBRGE5QUFCNHZRQUF0TDBBQU9XOUFBQUp2Z0FBTjc0QUFGSytBQUNLdmdBQXRiNEFRWVFjQzcwRUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQURBQUFBQ2dBQUFCRUFBQUFZQUFBQUlBQUFBQmtBQUFBU0FBQUFDd0FBQUFRQUFBQUZBQUFBREFBQUFCTUFBQUFhQUFBQUlRQUFBQ2dBQUFBd0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFHQUFBQUJ3QUFBQTRBQUFBVkFBQUFIQUFBQUNNQUFBQXFBQUFBTVFBQUFEZ0FBQUE1QUFBQU1nQUFBQ3NBQUFBa0FBQUFIUUFBQUJZQUFBQVBBQUFBRndBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBNkFBQUFPd0FBQURRQUFBQXRBQUFBSmdBQUFCOEFBQUFuQUFBQUxnQUFBRFVBQUFBOEFBQUFQUUFBQURZQUFBQXZBQUFBTndBQUFENEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUFVQUFBQU1BQUFBRXdBQUFCb0FBQUFoQUFBQUtBQUFBREFBQUFBcEFBQUFJZ0FBQUJzQUFBQVVBQUFBRFFBQUFBWUFBQUFPQUFBQUZRQUFBQndBQUFBakFBQUFLZ0FBQURFQUFBQXlBQUFBS3dBQUFDUUFBQUFkQUFBQUZnQUFBQjRBQUFBbEFBQUFMQUFBQURNQUFBQTBBQUFBTFFBQUFDWUFBQUF1QUFBQU5RQUFBRFlBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUlBdnRBZ0VBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQ0FBQUFBWkFBQUFFZ0FBQUFzQUFBQUVBQUFBQlFBQUFBd0FBQUFUQUFBQUdnQUFBQ0VBQUFBb0FBQUFLUUFBQUNJQUFBQWJBQUFBRkFBQUFBMEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFLd0FBQUNRQUFBQWRBQUFBSlFBQUFDd0FBQUF0QUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFBQUFBQUFCQUFBQUNBQUFBQkFBQUFBSkFBQUFBZ0FBQUFNQUFBQUtBQUFBRVFBQUFCZ0FBQUFnQUFBQUdRQUFBQklBQUFBTEFBQUFCQUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFpQUFBQUd3QUFBQlFBQUFBY0FBQUFJd0FBQUNRQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSFVJd3ZkQVFFQUFBQUlBQUFBRUFBQUFBa0FBQUFDQUFBQUF3QUFBQW9BQUFBUkFBQUFHQUFBQUJrQUFBQVNBQUFBQ3dBQUFCTUFBQUFhQUFBQUd3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUFBQUFBQUFRQUFBQWdBQUFBUUFBQUFDUUFBQUFJQUFBQUtBQUFBRVFBQUFCSUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhFSlF1VUJBRUFBQUFJQUFBQUNRQUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUNCQVIxYURnS0dKUkFERkJFU0JBc0lGQVhZQXhjRzJnRVpCK1VBSEFodkFCNEpOZ0FoQ2hvQUl3c05BQWtNQmdBS0RRTUFEQTBCQUk4UGYxb2tFQ1UvSmhIeUxDY1NmQ0FvRTdrWEtoU0NFU3NWN3d3dEZxRUpMaGN2QnpBWVhBVXhHUVlFTXhvREF6UWJRQUkySExFQk9CMUVBVGtlOVFBN0g3Y0FQQ0NLQUQ0aGFBQS9JazRBSUNNN0FDRUpMQUNsSmVGYVFDWk1TRUVuRFRwREtQRXVSQ2tmSmtVcU14OUdLNmdaU0N3WUZVa3RkeEZLTG5RT1N5LzdDMDB3K0FsT01XRUlUeklHQnpBenpRVXlOTjRFTWpVUEJETTJZd00wTjlRQ05UaGNBalk1K0FFM09xUUJPRHRnQVRrOEpRRTZQZllBT3o3TEFEMC9xd0E5SUk4QXdVRVNXMUJDQkUxUlF5eEJVa1RZTjFORjZDOVVSandwVmtkNUkxZEkzeDVYU2FrYVNFcE9GMGhMSkJSS1RKd1JTazFyRDB0T1VRMU5UN1lMVFRCQUN0QlJNbGhZVWh4TldWT09RMXBVM1R0YlZlNDBYRmF1TGwxWG1pbFdSeFlsMkZsd1ZWOWFxVXhnVzlsRVlWd2lQbU5kSkRoalhyUXlYVllYTHQ5Z3FGWmxZVVpQWm1MbFIyZGp6MEZvWkQwOFkxMWVOMmxtTVZKcVp3OU1hMmc1Um1kalhrSHBhaWRXYkd2blVHMW5oVXR1YlpkVmIydFBVTzV2RUZwd2JTSlY4Ry9yV1hGeEhWb0FRZUVwQy9BQlFNVlluMU5DU3dCQVNUS2pJcWdSeFZnaGUveHpZbWpGV0w5RkN6QitHSjlUL0hOQmJWUmluMU96UVVFdEVoZENTMkpvVkdKK1dFSkxJVHU2S01NVUFFREZXSjlUUWtzQVFFa3lveUtvRVVreXYwV3pRU0U3U1RLQ0p6Y2I0QTJqSWdzd1FTMjZLS01pTnh1L0VvNEpxQkYrR0JJWHd4U29FZUFOamduZkJBQUFBQUFBQVBBLzcyRklzVkF4OWovS2IwMlJydWYwUDZvUmJPOWkwUEkvQUFBQUFBQUE4RDg3djZmQWFTVHBQN3NneDN0NlVlRS9YYXR5M2xXbzBUOEFBQUFBQVFBQUFBSUFBQUFEQUFBQUFBQUFBQUVBQUFBRkFBQUFBZ0FBQUFRQUFBQUdBQUFBQXdBQUFBY0FBQUFJQUVIa0t3dWRBUUVBQUFBRkFBQUFCZ0FBQUFJQUFBQUVBQUFBQndBQUFBd0FBQUFEQUFBQUNBQUFBQXNBQUFBTkFBQUFDUUFBQUFvQUFBQU9BQUFBRHdBQUFBQUFBQUFCQUFBQUJRQUFBQVlBQUFBT0FBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFBOEFBQUFEQUFBQUNBQUFBQXdBQUFBUUFBQUFGUUFBQUFrQUFBQUxBQUFBRVFBQUFCUUFBQUFXQUFBQUNnQUFBQklBQUFBVEFBQUFGd0FBQUJnQVFaUXRDODBDQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBQ0FBQUFCQUFBQUFjQUFBQU5BQUFBRUFBQUFCa0FBQUFEQUFBQUNBQUFBQXdBQUFBUkFBQUFHQUFBQUJvQUFBQUpBQUFBQ3dBQUFCSUFBQUFYQUFBQUd3QUFBQ0FBQUFBS0FBQUFFd0FBQUJZQUFBQWNBQUFBSHdBQUFDRUFBQUFVQUFBQUZRQUFBQjBBQUFBZUFBQUFJZ0FBQUNNQUFBQUFBQUFBQVFBQUFBVUFBQUFHQUFBQURnQUFBQThBQUFBYkFBQUFBZ0FBQUFRQUFBQUhBQUFBRFFBQUFCQUFBQUFhQUFBQUhBQUFBQU1BQUFBSUFBQUFEQUFBQUJFQUFBQVpBQUFBSFFBQUFDWUFBQUFKQUFBQUN3QUFBQklBQUFBWUFBQUFIZ0FBQUNVQUFBQW5BQUFBQ2dBQUFCTUFBQUFYQUFBQUh3QUFBQ1FBQUFBb0FBQUFMUUFBQUJRQUFBQVdBQUFBSUFBQUFDTUFBQUFwQUFBQUxBQUFBQzRBQUFBVkFBQUFJUUFBQUNJQUFBQXFBQUFBS3dBQUFDOEFBQUF3QUVIMEx3dlFCQUVBQUFBRkFBQUFCZ0FBQUE0QUFBQVBBQUFBR3dBQUFCd0FBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJvQUFBQWRBQUFBS2dBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIZ0FBQUNrQUFBQXJBQUFBQ1FBQUFBc0FBQUFTQUFBQUdBQUFBQjhBQUFBb0FBQUFMQUFBQURVQUFBQUtBQUFBRXdBQUFCY0FBQUFnQUFBQUp3QUFBQzBBQUFBMEFBQUFOZ0FBQUJRQUFBQVdBQUFBSVFBQUFDWUFBQUF1QUFBQU13QUFBRGNBQUFBOEFBQUFGUUFBQUNJQUFBQWxBQUFBTHdBQUFESUFBQUE0QUFBQU93QUFBRDBBQUFBakFBQUFKQUFBQURBQUFBQXhBQUFBT1FBQUFEb0FBQUErQUFBQVB3QUFBQUFBQUFBQkFBQUFBd0FBQUFjQUFBQVBBQUFBSHdBQUFEOEFBQUIvQUFBQS93QUFBUDhCQUFEL0F3QUEvd2NBQVA4UEFBRC9Id0FBL3o4QUFQOS9BQUFBd0REd0RNdzgvQVBETS9NUHp6Ly9nRUN3Y0l4TXZIeURRN056ajArL2Z5RGdFTkFzN0J6Y0krTVQweS92SDkrZ1lKQlFyR3ljWEtOamsxT3ZiNTlmQ01nNCtBVEVOUFFMeXp2N0I4YzM5NGhJdUhpRVJMUjBpMHU3ZTRkSHQzY282QmpZSk9RVTFDdnJHOXNuNXhmWHFHaVlXS1JrbEZTcmE1dGJwMmVYVndMQ012SU96ajcrQWNFeDhRM05QZjJDUXJKeWprNitmb0ZCc1hHTlRiMTlJdUlTMGk3dUh0NGg0UkhSTGUwZDNhSmlrbEt1YnA1ZW9XR1JVYTF0blYwS3lqcjZCc1kyOWduSk9ma0Z4VFgxaWtxNmVvWkd0bmFKU2JsNWhVVzFkU3JxR3RvbTVoYldLZWtaMlNYbEZkV3FhcHBhcG1hV1ZxbHBtVm1sWlpWVjNoSUVsUUFBQUFELy8vLy8vLy8vLy8vLy8vOEFRZEEwQzh3QkFnQUF3QU1BQU1BRUFBREFCUUFBd0FZQUFNQUhBQURBQ0FBQXdBa0FBTUFLQUFEQUN3QUF3QXdBQU1BTkFBREFEZ0FBd0E4QUFNQVFBQURBRVFBQXdCSUFBTUFUQUFEQUZBQUF3QlVBQU1BV0FBREFGd0FBd0JnQUFNQVpBQURBR2dBQXdCc0FBTUFjQUFEQUhRQUF3QjRBQU1BZkFBREFBQUFBc3dFQUFNTUNBQUREQXdBQXd3UUFBTU1GQUFEREJnQUF3d2NBQU1NSUFBRERDUUFBd3dvQUFNTUxBQUREREFBQXd3MEFBTk1PQUFERER3QUF3d0FBRExzQkFBekRBZ0FNd3dNQURNTUVBQXpUQUVHa09ndjVBd0VBQUFBQ0FBQUFBd0FBQUFRQUFBQUZBQUFBQmdBQUFBY0FBQUFJQUFBQUNRQUFBQW9BQUFBTEFBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBSVFBQUFDSUFBQUFqQUFBQUpBQUFBQ1VBQUFBbUFBQUFKd0FBQUNnQUFBQXBBQUFBS2dBQUFDc0FBQUFzQUFBQUxRQUFBQzRBQUFBdkFBQUFNQUFBQURFQUFBQXlBQUFBTXdBQUFEUUFBQUExQUFBQU5nQUFBRGNBQUFBNEFBQUFPUUFBQURvQUFBQTdBQUFBUEFBQUFEMEFBQUErQUFBQVB3QUFBRUFBQUFCaEFBQUFZZ0FBQUdNQUFBQmtBQUFBWlFBQUFHWUFBQUJuQUFBQWFBQUFBR2tBQUFCcUFBQUFhd0FBQUd3QUFBQnRBQUFBYmdBQUFHOEFBQUJ3QUFBQWNRQUFBSElBQUFCekFBQUFkQUFBQUhVQUFBQjJBQUFBZHdBQUFIZ0FBQUI1QUFBQWVnQUFBRnNBQUFCY0FBQUFYUUFBQUY0QUFBQmZBQUFBWUFBQUFHRUFBQUJpQUFBQVl3QUFBR1FBQUFCbEFBQUFaZ0FBQUdjQUFBQm9BQUFBYVFBQUFHb0FBQUJyQUFBQWJBQUFBRzBBQUFCdUFBQUFid0FBQUhBQUFBQnhBQUFBY2dBQUFITUFBQUIwQUFBQWRRQUFBSFlBQUFCM0FBQUFlQUFBQUhrQUFBQjZBQUFBZXdBQUFId0FBQUI5QUFBQWZnQUFBSDhBUWFERUFBdi9BUUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQU1nQWlBQ0lBSWdBaUFDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FCWUFUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBallDTmdJMkFqWUNOZ0kyQWpZQ05nSTJBallCTUFFd0FUQUJNQUV3QVRBQk1BSTFRalZDTlVJMVFqVkNOVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQk1BRXdBVEFCTUFFd0FUQUNOWUkxZ2pXQ05ZSTFnaldDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdUQUJNQUV3QVRBQWdCQnBNd0FDL2tEQVFBQUFBSUFBQUFEQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFBc0FBQUFNQUFBQURRQUFBQTRBQUFBUEFBQUFFQUFBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFWQUFBQUZnQUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBSEFBQUFCMEFBQUFlQUFBQUh3QUFBQ0FBQUFBaEFBQUFJZ0FBQUNNQUFBQWtBQUFBSlFBQUFDWUFBQUFuQUFBQUtBQUFBQ2tBQUFBcUFBQUFLd0FBQUN3QUFBQXRBQUFBTGdBQUFDOEFBQUF3QUFBQU1RQUFBRElBQUFBekFBQUFOQUFBQURVQUFBQTJBQUFBTndBQUFEZ0FBQUE1QUFBQU9nQUFBRHNBQUFBOEFBQUFQUUFBQUQ0QUFBQS9BQUFBUUFBQUFFRUFBQUJDQUFBQVF3QUFBRVFBQUFCRkFBQUFSZ0FBQUVjQUFBQklBQUFBU1FBQUFFb0FBQUJMQUFBQVRBQUFBRTBBQUFCT0FBQUFUd0FBQUZBQUFBQlJBQUFBVWdBQUFGTUFBQUJVQUFBQVZRQUFBRllBQUFCWEFBQUFXQUFBQUZrQUFBQmFBQUFBV3dBQUFGd0FBQUJkQUFBQVhnQUFBRjhBQUFCZ0FBQUFRUUFBQUVJQUFBQkRBQUFBUkFBQUFFVUFBQUJHQUFBQVJ3QUFBRWdBQUFCSkFBQUFTZ0FBQUVzQUFBQk1BQUFBVFFBQUFFNEFBQUJQQUFBQVVBQUFBRkVBQUFCU0FBQUFVd0FBQUZRQUFBQlZBQUFBVmdBQUFGY0FBQUJZQUFBQVdRQUFBRm9BQUFCN0FBQUFmQUFBQUgwQUFBQitBQUFBZndCQm9OUUFDNkVDQ2dBQUFHUUFBQURvQXdBQUVDY0FBS0NHQVFCQVFnOEFnSmFZQUFEaDlRWC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUFFQ0F3UUZCZ2NJQ2YvLy8vLy8vLzhLQ3d3TkRnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJLy8vLy8vLy93b0xEQTBPRHhBUkVoTVVGUllYR0JrYUd4d2RIaDhnSVNJai8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3dCQjBOWUFDeGdSQUFvQUVSRVJBQUFBQUFVQUFBQUFBQUFKQUFBQUFBc0FRZkRXQUFzaEVRQVBDaEVSRVFNS0J3QUJFd2tMQ3dBQUNRWUxBQUFMQUFZUkFBQUFFUkVSQUVHaDF3QUxBUXNBUWFyWEFBc1lFUUFLQ2hFUkVRQUtBQUFDQUFrTEFBQUFDUUFMQUFBTEFFSGIxd0FMQVF3QVFlZlhBQXNWREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFFR1YyQUFMQVE0QVFhSFlBQXNWRFFBQUFBUU5BQUFBQUFrT0FBQUFBQUFPQUFBT0FFSFAyQUFMQVJBQVFkdllBQXNlRHdBQUFBQVBBQUFBQUFrUUFBQUFBQUFRQUFBUUFBQVNBQUFBRWhJU0FFR1MyUUFMRGhJQUFBQVNFaElBQUFBQUFBQUpBRUhEMlFBTEFRc0FRYy9aQUFzVkNnQUFBQUFLQUFBQUFBa0xBQUFBQUFBTEFBQUxBRUg5MlFBTEFRd0FRWW5hQUF0K0RBQUFBQUFNQUFBQUFBa01BQUFBQUFBTUFBQU1BQUF3TVRJek5EVTJOemc1UVVKRFJFVkdHUkpFT3dJL0xFY1VQVE13Q2hzR1JrdEZOdzlKRG80WEEwQWRQR2tyTmg5S0xSd0JJQ1VwSVFnTUZSWWlMaEE0UGdzME1SaGtkSFYyTDBFSmZ6a1JJME15UW9tS2l3VUVKaWduRFNvZU5Zd0hHa2lURTVTVkFFR1Eyd0FMMXc1SmJHeGxaMkZzSUdKNWRHVWdjMlZ4ZFdWdVkyVUFSRzl0WVdsdUlHVnljbTl5QUZKbGMzVnNkQ0J1YjNRZ2NtVndjbVZ6Wlc1MFlXSnNaUUJPYjNRZ1lTQjBkSGtBVUdWeWJXbHpjMmx2YmlCa1pXNXBaV1FBVDNCbGNtRjBhVzl1SUc1dmRDQndaWEp0YVhSMFpXUUFUbThnYzNWamFDQm1hV3hsSUc5eUlHUnBjbVZqZEc5eWVRQk9ieUJ6ZFdOb0lIQnliMk5sYzNNQVJtbHNaU0JsZUdsemRITUFWbUZzZFdVZ2RHOXZJR3hoY21kbElHWnZjaUJrWVhSaElIUjVjR1VBVG04Z2MzQmhZMlVnYkdWbWRDQnZiaUJrWlhacFkyVUFUM1YwSUc5bUlHMWxiVzl5ZVFCU1pYTnZkWEpqWlNCaWRYTjVBRWx1ZEdWeWNuVndkR1ZrSUhONWMzUmxiU0JqWVd4c0FGSmxjMjkxY21ObElIUmxiWEJ2Y21GeWFXeDVJSFZ1WVhaaGFXeGhZbXhsQUVsdWRtRnNhV1FnYzJWbGF3QkRjbTl6Y3kxa1pYWnBZMlVnYkdsdWF3QlNaV0ZrTFc5dWJIa2dabWxzWlNCemVYTjBaVzBBUkdseVpXTjBiM0o1SUc1dmRDQmxiWEIwZVFCRGIyNXVaV04wYVc5dUlISmxjMlYwSUdKNUlIQmxaWElBVDNCbGNtRjBhVzl1SUhScGJXVmtJRzkxZEFCRGIyNXVaV04wYVc5dUlISmxablZ6WldRQVNHOXpkQ0JwY3lCa2IzZHVBRWh2YzNRZ2FYTWdkVzV5WldGamFHRmliR1VBUVdSa2NtVnpjeUJwYmlCMWMyVUFRbkp2YTJWdUlIQnBjR1VBU1M5UElHVnljbTl5QUU1dklITjFZMmdnWkdWMmFXTmxJRzl5SUdGa1pISmxjM01BUW14dlkyc2daR1YyYVdObElISmxjWFZwY21Wa0FFNXZJSE4xWTJnZ1pHVjJhV05sQUU1dmRDQmhJR1JwY21WamRHOXllUUJKY3lCaElHUnBjbVZqZEc5eWVRQlVaWGgwSUdacGJHVWdZblZ6ZVFCRmVHVmpJR1p2Y20xaGRDQmxjbkp2Y2dCSmJuWmhiR2xrSUdGeVozVnRaVzUwQUVGeVozVnRaVzUwSUd4cGMzUWdkRzl2SUd4dmJtY0FVM2x0WW05c2FXTWdiR2x1YXlCc2IyOXdBRVpwYkdWdVlXMWxJSFJ2YnlCc2IyNW5BRlJ2YnlCdFlXNTVJRzl3Wlc0Z1ptbHNaWE1nYVc0Z2MzbHpkR1Z0QUU1dklHWnBiR1VnWkdWelkzSnBjSFJ2Y25NZ1lYWmhhV3hoWW14bEFFSmhaQ0JtYVd4bElHUmxjMk55YVhCMGIzSUFUbThnWTJocGJHUWdjSEp2WTJWemN3QkNZV1FnWVdSa2NtVnpjd0JHYVd4bElIUnZieUJzWVhKblpRQlViMjhnYldGdWVTQnNhVzVyY3dCT2J5QnNiMk5yY3lCaGRtRnBiR0ZpYkdVQVVtVnpiM1Z5WTJVZ1pHVmhaR3h2WTJzZ2QyOTFiR1FnYjJOamRYSUFVM1JoZEdVZ2JtOTBJSEpsWTI5MlpYSmhZbXhsQUZCeVpYWnBiM1Z6SUc5M2JtVnlJR1JwWldRQVQzQmxjbUYwYVc5dUlHTmhibU5sYkdWa0FFWjFibU4wYVc5dUlHNXZkQ0JwYlhCc1pXMWxiblJsWkFCT2J5QnRaWE56WVdkbElHOW1JR1JsYzJseVpXUWdkSGx3WlFCSlpHVnVkR2xtYVdWeUlISmxiVzkyWldRQVJHVjJhV05sSUc1dmRDQmhJSE4wY21WaGJRQk9ieUJrWVhSaElHRjJZV2xzWVdKc1pRQkVaWFpwWTJVZ2RHbHRaVzkxZEFCUGRYUWdiMllnYzNSeVpXRnRjeUJ5WlhOdmRYSmpaWE1BVEdsdWF5Qm9ZWE1nWW1WbGJpQnpaWFpsY21Wa0FGQnliM1J2WTI5c0lHVnljbTl5QUVKaFpDQnRaWE56WVdkbEFFWnBiR1VnWkdWelkzSnBjSFJ2Y2lCcGJpQmlZV1FnYzNSaGRHVUFUbTkwSUdFZ2MyOWphMlYwQUVSbGMzUnBibUYwYVc5dUlHRmtaSEpsYzNNZ2NtVnhkV2x5WldRQVRXVnpjMkZuWlNCMGIyOGdiR0Z5WjJVQVVISnZkRzlqYjJ3Z2QzSnZibWNnZEhsd1pTQm1iM0lnYzI5amEyVjBBRkJ5YjNSdlkyOXNJRzV2ZENCaGRtRnBiR0ZpYkdVQVVISnZkRzlqYjJ3Z2JtOTBJSE4xY0hCdmNuUmxaQUJUYjJOclpYUWdkSGx3WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRTV2ZENCemRYQndiM0owWldRQVVISnZkRzlqYjJ3Z1ptRnRhV3g1SUc1dmRDQnpkWEJ3YjNKMFpXUUFRV1JrY21WemN5Qm1ZVzFwYkhrZ2JtOTBJSE4xY0hCdmNuUmxaQ0JpZVNCd2NtOTBiMk52YkFCQlpHUnlaWE56SUc1dmRDQmhkbUZwYkdGaWJHVUFUbVYwZDI5eWF5QnBjeUJrYjNkdUFFNWxkSGR2Y21zZ2RXNXlaV0ZqYUdGaWJHVUFRMjl1Ym1WamRHbHZiaUJ5WlhObGRDQmllU0J1WlhSM2IzSnJBRU52Ym01bFkzUnBiMjRnWVdKdmNuUmxaQUJPYnlCaWRXWm1aWElnYzNCaFkyVWdZWFpoYVd4aFlteGxBRk52WTJ0bGRDQnBjeUJqYjI1dVpXTjBaV1FBVTI5amEyVjBJRzV2ZENCamIyNXVaV04wWldRQVEyRnVibTkwSUhObGJtUWdZV1owWlhJZ2MyOWphMlYwSUhOb2RYUmtiM2R1QUU5d1pYSmhkR2x2YmlCaGJISmxZV1I1SUdsdUlIQnliMmR5WlhOekFFOXdaWEpoZEdsdmJpQnBiaUJ3Y205bmNtVnpjd0JUZEdGc1pTQm1hV3hsSUdoaGJtUnNaUUJTWlcxdmRHVWdTUzlQSUdWeWNtOXlBRkYxYjNSaElHVjRZMlZsWkdWa0FFNXZJRzFsWkdsMWJTQm1iM1Z1WkFCWGNtOXVaeUJ0WldScGRXMGdkSGx3WlFCT2J5Qmxjbkp2Y2lCcGJtWnZjbTFoZEdsdmJnQUFBQUFBQUV4RFgwTlVXVkJGQUFBQUFFeERYMDVWVFVWU1NVTUFBRXhEWDFSSlRVVUFBQUFBQUV4RFgwTlBURXhCVkVVQUFFeERYMDFQVGtWVVFWSlpBRXhEWDAxRlUxTkJSMFZUQUVIdzZRQUxsd0lEQUFBQUJBQUFBQVFBQUFBR0FBQUFnL21pQUVST2JnRDhLUlVBMFZjbkFOMDA5UUJpMjhBQVBKbVZBRUdRUXdCalVmNEF1OTZyQUxkaHhRQTZiaVFBMGsxQ0FFa0c0QUFKNmk0QUhKTFJBT3NkL2dBcHNSd0E2RDZuQVBVMWdnQkV1eTRBbk9tRUFMUW1jQUJCZmw4QTFwRTVBRk9ET1FDYzlEa0FpMStFQUNqNXZRRDRIenNBM3YrWEFBK1lCUUFSTCs4QUNscUxBRzBmYlFEUGZqWUFDY3NuQUVaUHR3Q2VaajhBTGVwZkFMb25kUURsNjhjQVBYdnhBUGM1QndDU1Vvb0ErMnZxQUIreFh3QUlYWTBBTUFOV0FIdjhSZ0R3cTJzQUlMelBBRGIwbWdEanFSMEFYbUdSQUFnYjVnQ0ZtV1VBb0JSZkFJMUFhQUNBMlA4QUozTk5BQVlHTVFES1ZoVUF5YWh6QUh2aVlBQnJqTUFBUVpQc0FBdjlBMEQ3SWZrL0FBQUFBQzFFZEQ0QUFBQ0FtRWI0UEFBQUFHQlJ6SGc3QUFBQWdJTWI4RGtBQUFCQUlDVjZPQUFBQUlBaWd1TTJBQUFBQUIzemFUVTRZKzArMmc5SlAxNlllei9hRDhrL2FUZXNNV2doSWpPMER4UXphQ0dpTXdBQUFBQUNBQUFBQXdBQUFBVUFBQUFIQUFBQUN3QUFBQTBBQUFBUkFBQUFFd0FBQUJjQUFBQWRBQUFBSHdBQUFDVUFBQUFwQUFBQUt3QUFBQzhBQUFBMUFBQUFPd0FBQUQwQUFBQkRBQUFBUndBQUFFa0FBQUJQQUFBQVV3QUFBRmtBQUFCaEFBQUFaUUFBQUdjQUFBQnJBQUFBYlFBQUFIRUFBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFsUUFBQUpjQUFBQ2RBQUFBb3dBQUFLY0FBQUN0QUFBQXN3QUFBTFVBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMHdBQUFBRUFBQUFMQUFBQURRQUFBQkVBQUFBVEFBQUFGd0FBQUIwQUFBQWZBQUFBSlFBQUFDa0FBQUFyQUFBQUx3QUFBRFVBQUFBN0FBQUFQUUFBQUVNQUFBQkhBQUFBU1FBQUFFOEFBQUJUQUFBQVdRQUFBR0VBQUFCbEFBQUFad0FBQUdzQUFBQnRBQUFBY1FBQUFIa0FBQUIvQUFBQWd3QUFBSWtBQUFDTEFBQUFqd0FBQUpVQUFBQ1hBQUFBblFBQUFLTUFBQUNuQUFBQXFRQUFBSzBBQUFDekFBQUF0UUFBQUxzQUFBQy9BQUFBd1FBQUFNVUFBQURIQUFBQTBRQUFBREF4TWpNME5UWTNPRGxoWW1Oa1pXWkJRa05FUlVaNFdDc3RjRkJwU1c1T0FFR2c4QUFMZ1FFbEFBQUFiUUFBQUM4QUFBQWxBQUFBWkFBQUFDOEFBQUFsQUFBQWVRQUFBQ1VBQUFCWkFBQUFMUUFBQUNVQUFBQnRBQUFBTFFBQUFDVUFBQUJrQUFBQUpRQUFBRWtBQUFBNkFBQUFKUUFBQUUwQUFBQTZBQUFBSlFBQUFGTUFBQUFnQUFBQUpRQUFBSEFBQUFBQUFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFRYkR4QUF1NUFTVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSlFBQUFFZ0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQlFSUUFBRTJNQUFIaEZBQURaYndBQThEZ0FBQUFBQUFCNFJRQUE3WElBQUtnN0FBQUFBQUFBZUVVQUFHbCtBQUM0UWdBQUFBQUFBSGhGQUFBWmtBQUF1RUlBQUFBQUFBQjRSUUFBalpBQUFMaENBQUFBQUFBQTVFVUFBSnluQUFBQUFBQUFBUUFBQUdBNUFBQUFBQUFBVUVVQUFOdW5BQUFGQUVIMDhnQUxBUUlBUVl6ekFBc0tBUUFBQUFFQUFBQ202Z0JCcFBNQUN3RUNBRUd6OHdBTEJmLy8vLy8vQUVINDh3QUxBUWtBUVlUMEFBc0JBZ0JCbVBRQUN4SUNBQUFBQUFBQUFBRUFBQUJvMGdBQUFBUUFRY1QwQUFzRS8vLy8vd0JCaVBVQUN3RUZBRUdVOVFBTEFRTUFRYXoxQUFzT0FRQUFBQUlBQUFCNDFnQUFBQVFBUWNUMUFBc0JBUUJCMC9VQUN3VUsvLy8vL3dCQnZQWUFDd0VEQUVIajlnQUxCZi8vLy8vL0FFR285d0FMMXhCUVJRQUEvcjhBQUhoRkFBQmV3QUFBd0RzQUFBQUFBQUI0UlFBQUM4QUFBTkE3QUFBQUFBQUFVRVVBQUN6QUFBQjRSUUFBT2NBQUFMQTdBQUFBQUFBQWVFVUFBS2pBQUFDb093QUFBQUFBQUhoRkFBQzR3QUFBNkRzQUFBQUFBQUI0UlFBQXljQUFBTUE3QUFBQUFBQUFlRVVBQU92QUFBQUlQQUFBQUFBQUFIaEZBQUFQd1FBQXdEc0FBQUFBQUFESVJRQUFOOEVBQU1oRkFBQTV3UUFBeUVVQUFEdkJBQURJUlFBQVBjRUFBTWhGQUFBL3dRQUF5RVVBQUVIQkFBRElSUUFBUThFQUFNaEZBQUJGd1FBQXlFVUFBRWZCQUFESVJRQUFac29BQU1oRkFBQkp3UUFBeUVVQUFFdkJBQURJUlFBQVRjRUFBSGhGQUFCUHdRQUFzRHNBQUFBQUFBQlFSUUFBc01RQUFGQkZBQURQeEFBQVVFVUFBTzdFQUFCUVJRQUFEY1VBQUZCRkFBQXN4UUFBVUVVQUFFdkZBQUJRUlFBQWFzVUFBRkJGQUFDSnhRQUFVRVVBQUtqRkFBQlFSUUFBeDhVQUFGQkZBQURteFFBQVVFVUFBQVhHQUFCUVJRQUFKTVlBQU9SRkFBQTN4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFCNXhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUM3eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBRDZ4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBSGhGQUFCTHh3QUFpRDBBQUFBQUFBQlFSUUFBT2NjQUFIaEZBQUIxeHdBQWlEMEFBQUFBQUFCUVJRQUFuOGNBQUZCRkFBRFF4d0FBNUVVQUFBSElBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQURESUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvLzVFVUFBRi9JQUFBQUFBQUFBUUFBQUhnOUFBQUQ5UC8vNUVVQUFJN0lBQUFBQUFBQUFRQUFBSkE5QUFBRDlQLy9lRVVBQUwzSUFBQ29QUUFBQUFBQUFIaEZBQURXeUFBQW9EMEFBQUFBQUFCNFJRQUFGY2tBQUtnOUFBQUFBQUFBZUVVQUFDM0pBQUNnUFFBQUFBQUFBSGhGQUFCRnlRQUFZRDRBQUFBQUFBQjRSUUFBV2NrQUFMQkNBQUFBQUFBQWVFVUFBRy9KQUFCZ1BnQUFBQUFBQU9SRkFBQ0l5UUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBS0ErQUFBQUFBQUE1RVVBQU16SkFBQUFBQUFBQVFBQUFMZytBQUFBQUFBQVVFVUFBT0xKQUFEa1JRQUErOGtBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURnUGdBQUFBQUFBT1JGQUFBL3lnQUFBQUFBQUFFQUFBQzRQZ0FBQUFBQUFPUkZBQUJveWdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUJnL0FBQUFBQUFBNUVVQUFLektBQUFBQUFBQUFRQUFBREEvQUFBQUFBQUFVRVVBQU1MS0FBRGtSUUFBMjhvQUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCWVB3QUFBQUFBQU9SRkFBQWZ5d0FBQUFBQUFBRUFBQUF3UHdBQUFBQUFBT1JGQUFCMXpBQUFBQUFBQUFNQUFBQmdQZ0FBQWdBQUFKZy9BQUFDQUFBQW9EOEFBQUFJQUFCUVJRQUEzTXdBQUZCRkFBQzZ6QUFBNUVVQUFPL01BQUFBQUFBQUF3QUFBR0ErQUFBQ0FBQUFtRDhBQUFJQUFBRFFQd0FBQUFnQUFGQkZBQUEwelFBQTVFVUFBRmJOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBK0Q4QUFBQUlBQUJRUlFBQW04MEFBT1JGQUFDd3pRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFQZy9BQUFBQ0FBQTVFVUFBUFhOQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQUJRUlFBQUVjNEFBT1JGQUFBbXpnQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkFBQUFDQUFBQTVFVUFBRUxPQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBUUVBQUFBSUFBQURrUlFBQVhzNEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQkFRQUFBQWdBQUFPUkZBQUNKemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1oQUFBQUFBQUFBVUVVQUFNL09BQURrUlFBQTg4NEFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRHdRQUFBQUFBQUFGQkZBQUE1endBQTVFVUFBRmpQQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBR0VFQUFBQUFBQUJRUlFBQW5zOEFBT1JGQUFDM3p3QUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFFQkJBQUFBQUFBQVVFVUFBUDNQQUFEa1JRQUFGdEFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJvUVFBQUFnQUFBRkJGQUFBcjBBQUE1RVVBQU1MUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFRUFBQUlBQUFCNFJRQUFROUFBQUtCQkFBQUFBQUFBNUVVQUFHYlFBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQlFSUUFBaWRBQUFIaEZBQUNnMEFBQW9FRUFBQUFBQUFEa1JRQUExOUFBQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQURBUVFBQUFnQUFBT1JGQUFENTBBQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFNQkJBQUFDQUFBQTVFVUFBQnZSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBd0VFQUFBSUFBQUI0UlFBQVB0RUFBR0ErQUFBQUFBQUE1RVVBQUZUUkFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQWFFSUFBQUlBQUFCUVJRQUFadEVBQU9SRkFBQjcwUUFBQUFBQUFBSUFBQUJnUGdBQUFnQUFBR2hDQUFBQ0FBQUFlRVVBQUpqUkFBQmdQZ0FBQUFBQUFIaEZBQUN0MFFBQVlENEFBQUFBQUFCUVJRQUF3dEVBQU9SRkFBRGIwUUFBQUFBQUFBRUFBQUN3UWdBQUFBQUFBQUVBQUFBQUFBQUErRGdBQUFFQUFBQUNBQUFBQUFBQUFQQTRBQUFEQUFBQUJBQUFBQUFBQUFBSU9RQUFCUUFBQUFZQUFBQUJBQUFBdVZLTVBvNWE1ejY1VW93K0FBQUFBQmc1QUFBSEFBQUFDQUFBQUFrQUFBQUJBQUFBQ2dBQUFBQUFBQUFvT1FBQUJ3QUFBQXNBQUFBTUFBQUFBZ0FBQUEwQUFBQUFBQUFBT0RrQUFBY0FBQUFPQUFBQUR3QUFBQU1BQUFBUUFBQUEvLy8vLy83Ly8vLzkvLy8vT0R3QUFIQThBQUNRUEFBQU9Ed0FBSEE4QUFCd1BBQUFtRHdBQUhBOEFBQTRQQUFBY0R3QUFKZzhBQUJ3UEFBQU9Ed0FBSEE4QUFCd1BBQUFTRGtBQUhBOEFBQndQQUFBY0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFBUUFBQUFBQUFBQUNBQUFBUUFZQUFJQStBQUFBQUFBQWlCTUFBREFhQUFBVUFBQUFReTVWVkVZdE9BQkJqSWdCQ3dMd1F3QkJwSWdCQ3hKb09RQUErRGtBQUlnNkFBQ0lPZ0FBSUIwQVFlaUpBUXNDak9JQVFhQ0tBUXU5RWlBaUFBQWdKZ0FBWDNDSkFQOEpMdzhBQUlBL0FBREFQd0FBQUFEY3o5RTFBQUFBQUFEQUZUOEFBQUFBc0RzQUFCRUFBQUFTQUFBQUV3QUFBQlFBQUFBRUFBQUFBUUFBQUFFQUFBQUJBQUFBQUFBQUFOZzdBQUFSQUFBQUZRQUFBQk1BQUFBVUFBQUFCQUFBQUFJQUFBQUNBQUFBQWdBQUFBQUFBQURvT3dBQUZnQUFBQmNBQUFBRUFBQUFBQUFBQVBnN0FBQVdBQUFBR0FBQUFBUUFBQUFBQUFBQUtEd0FBQkVBQUFBWkFBQUFFd0FBQUJRQUFBQUZBQUFBQUFBQUFLQThBQUFSQUFBQUdnQUFBQk1BQUFBVUFBQUFCQUFBQUFNQUFBQURBQUFBQXdBQUFBQUFBQUNJUFFBQUd3QUFBQndBQUFBQUFBQUFvRDBBQUIwQUFBQWVBQUFBQVFBQUFBWUFBQUFCQUFBQUJBQUFBQVVBQUFBR0FBQUFCd0FBQUFjQUFBQUlBQUFBQkFBQUFBZ0FBQUFGQUFBQUFBQUFBS2c5QUFBZkFBQUFJQUFBQUFJQUFBQUpBQUFBQWdBQUFBVUFBQUFKQUFBQUNnQUFBQW9BQUFBTEFBQUFEQUFBQUFZQUFBQUxBQUFBQndBQUFBZ0FBQUFBQUFBQXNEMEFBQ0VBQUFBaUFBQUErUC8vLy9qLy8vK3dQUUFBSXdBQUFDUUFBQUNnUmdBQXRFWUFBQWdBQUFBQUFBQUF5RDBBQUNVQUFBQW1BQUFBK1AvLy8vai8vLy9JUFFBQUp3QUFBQ2dBQUFEUVJnQUE1RVlBQUFRQUFBQUFBQUFBNEQwQUFDa0FBQUFxQUFBQS9QLy8vL3ovLy8vZ1BRQUFLd0FBQUN3QUFBQUFSd0FBRkVjQUFBUUFBQUFBQUFBQStEMEFBQzBBQUFBdUFBQUEvUC8vLy96Ly8vLzRQUUFBTHdBQUFEQUFBQUF3UndBQVJFY0FBQUFBQUFBUVBnQUFId0FBQURFQUFBQURBQUFBQ1FBQUFBSUFBQUFGQUFBQURRQUFBQW9BQUFBS0FBQUFDd0FBQUF3QUFBQUdBQUFBREFBQUFBZ0FBQUFBQUFBQUlENEFBQjBBQUFBeUFBQUFCQUFBQUFZQUFBQUJBQUFBQkFBQUFBNEFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUEwQUFBQUpBQUFBQUFBQUFEQStBQUFmQUFBQU13QUFBQVVBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFQQUFBQUVBQUFBQW9BQUFBTEFBQUFCd0FBQUFBQUFBQkFQZ0FBSFFBQUFEUUFBQUFHQUFBQUJnQUFBQUVBQUFBRUFBQUFCUUFBQUFZQUFBQUhBQUFBRVFBQUFCSUFBQUFMQUFBQUNBQUFBQVVBQUFBQUFBQUFVRDRBQURVQUFBQTJBQUFBTndBQUFBRUFBQUFHQUFBQURnQUFBQUFBQUFCd1BnQUFPQUFBQURrQUFBQTNBQUFBQWdBQUFBY0FBQUFQQUFBQUFBQUFBSUErQUFBNkFBQUFPd0FBQURjQUFBQUJBQUFBQWdBQUFBTUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFDQUFBQUFrQUFBQUtBQUFBQ3dBQUFBQUFBQURBUGdBQVBBQUFBRDBBQUFBM0FBQUFEQUFBQUEwQUFBQU9BQUFBRHdBQUFCQUFBQUFSQUFBQUVnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQUFBQUFBK0Q0QUFENEFBQUEvQUFBQU53QUFBQU1BQUFBRUFBQUFBUUFBQUFVQUFBQUNBQUFBQVFBQUFBSUFBQUFHQUFBQUFBQUFBRGcvQUFCQUFBQUFRUUFBQURjQUFBQUhBQUFBQ0FBQUFBTUFBQUFKQUFBQUJBQUFBQU1BQUFBRUFBQUFDZ0FBQUFBQUFBQndQd0FBUWdBQUFFTUFBQUEzQUFBQUV3QUFBQmNBQUFBWUFBQUFHUUFBQUJvQUFBQWJBQUFBQVFBQUFQai8vLzl3UHdBQUZBQUFBQlVBQUFBV0FBQUFGd0FBQUJnQUFBQVpBQUFBR2dBQUFBQUFBQUNvUHdBQVJBQUFBRVVBQUFBM0FBQUFHd0FBQUJ3QUFBQWRBQUFBSGdBQUFCOEFBQUFnQUFBQUFnQUFBUGovLy8rb1B3QUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUFBQUFBQ1VBQUFCdEFBQUFMd0FBQUNVQUFBQmtBQUFBTHdBQUFDVUFBQUI1QUFBQUFBQUFBQ1VBQUFCSkFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCd0FBQUFBQUFBQUNVQUFBQmhBQUFBSUFBQUFDVUFBQUJpQUFBQUlBQUFBQ1VBQUFCa0FBQUFJQUFBQUNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFJQUFBQUNVQUFBQlpBQUFBQUFBQUFFRUFBQUJOQUFBQUFBQUFBRkFBQUFCTkFBQUFBQUFBQUVvQUFBQmhBQUFBYmdBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFSZ0FBQUdVQUFBQmlBQUFBY2dBQUFIVUFBQUJoQUFBQWNnQUFBSGtBQUFBQUFBQUFUUUFBQUdFQUFBQnlBQUFBWXdBQUFHZ0FBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFhUUFBQUd3QUFBQUFBQUFBVFFBQUFHRUFBQUI1QUFBQUFBQUFBRW9BQUFCMUFBQUFiZ0FBQUdVQUFBQUFBQUFBU2dBQUFIVUFBQUJzQUFBQWVRQUFBQUFBQUFCQkFBQUFkUUFBQUdjQUFBQjFBQUFBY3dBQUFIUUFBQUFBQUFBQVV3QUFBR1VBQUFCd0FBQUFkQUFBQUdVQUFBQnRBQUFBWWdBQUFHVUFBQUJ5QUFBQUFBQUFBRThBQUFCakFBQUFkQUFBQUc4QUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVJBQUFBR1VBQUFCakFBQUFaUUFBQUcwQUFBQmlBQUFBWlFBQUFISUFBQUFBQUFBQVNnQUFBR0VBQUFCdUFBQUFBQUFBQUVZQUFBQmxBQUFBWWdBQUFBQUFBQUJOQUFBQVlRQUFBSElBQUFBQUFBQUFRUUFBQUhBQUFBQnlBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBQUFBQUFCS0FBQUFkUUFBQUd3QUFBQUFBQUFBUVFBQUFIVUFBQUJuQUFBQUFBQUFBRk1BQUFCbEFBQUFjQUFBQUFBQUFBQlBBQUFBWXdBQUFIUUFBQUFBQUFBQVRnQUFBRzhBQUFCMkFBQUFBQUFBQUVRQUFBQmxBQUFBWXdBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFCa0FBQUFZUUFBQUhrQUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQjFBQUFBWlFBQUFITUFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFWd0FBQUdVQUFBQmtBQUFBYmdBQUFHVUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUZRQUFBQm9BQUFBZFFBQUFISUFBQUJ6QUFBQVpBQUFBR0VBQUFCNUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFZUUFBQUhRQUFBQjFBQUFBY2dBQUFHUUFBQUJoQUFBQWVRQUFBQUFBQUFCVEFBQUFkUUFBQUc0QUFBQUFBQUFBVFFBQUFHOEFBQUJ1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUFBQUFBQlhBQUFBWlFBQUFHUUFBQUFBQUFBQVZBQUFBR2dBQUFCMUFBQUFBQUFBQUVZQUFBQnlBQUFBYVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBUWVpY0FRc1IyRDhBQUVZQUFBQkhBQUFBTndBQUFBRUFRWUdkQVF2d0JVQUFBRWdBQUFCSkFBQUFOd0FBQUFJQUFBQUFBQUFBSUVBQUFFb0FBQUJMQUFBQU53QUFBQ01BQUFBa0FBQUFCd0FBQUFnQUFBQUpBQUFBQ2dBQUFDVUFBQUFMQUFBQURBQUFBQUFBQUFCSVFBQUFUQUFBQUUwQUFBQTNBQUFBSmdBQUFDY0FBQUFOQUFBQURnQUFBQThBQUFBUUFBQUFLQUFBQUJFQUFBQVNBQUFBQUFBQUFHaEFBQUJPQUFBQVR3QUFBRGNBQUFBcEFBQUFLZ0FBQUJNQUFBQVVBQUFBRlFBQUFCWUFBQUFyQUFBQUZ3QUFBQmdBQUFBQUFBQUFpRUFBQUZBQUFBQlJBQUFBTndBQUFDd0FBQUF0QUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUM0QUFBQWRBQUFBSGdBQUFBQUFBQUNvUUFBQVVnQUFBRk1BQUFBM0FBQUFBd0FBQUFRQUFBQUFBQUFBMEVBQUFGUUFBQUJWQUFBQU53QUFBQVVBQUFBR0FBQUFBQUFBQVBoQUFBQldBQUFBVndBQUFEY0FBQUFCQUFBQUlRQUFBQUFBQUFBZ1FRQUFXQUFBQUZrQUFBQTNBQUFBQWdBQUFDSUFBQUFBQUFBQVNFRUFBRm9BQUFCYkFBQUFOd0FBQUJBQUFBQUVBQUFBSHdBQUFBQUFBQUJ3UVFBQVhBQUFBRjBBQUFBM0FBQUFFUUFBQUFVQUFBQWdBQUFBQUFBQUFNaEJBQUJlQUFBQVh3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBSkJCQUFCZUFBQUFZQUFBQURjQUFBQURBQUFBQkFBQUFBc0FBQUF2QUFBQU1BQUFBQXdBQUFBeEFBQUFBQUFBQVBoQkFBQmhBQUFBWWdBQUFEY0FBQUFGQUFBQUJnQUFBQTBBQUFBeUFBQUFNd0FBQUE0QUFBQTBBQUFBQUFBQUFEaENBQUJqQUFBQVpBQUFBRGNBQUFBQUFBQUFTRUlBQUdVQUFBQm1BQUFBTndBQUFBd0FBQUFTQUFBQURRQUFBQk1BQUFBT0FBQUFBUUFBQUJRQUFBQVBBQUFBQUFBQUFKQkNBQUJuQUFBQWFBQUFBRGNBQUFBMUFBQUFOZ0FBQUNFQUFBQWlBQUFBSXdBQUFBQUFBQUNnUWdBQWFRQUFBR29BQUFBM0FBQUFOd0FBQURnQUFBQWtBQUFBSlFBQUFDWUFBQUJtQUFBQVlRQUFBR3dBQUFCekFBQUFaUUFBQUFBQUFBQjBBQUFBY2dBQUFIVUFBQUJsQUVIOG9nRUwvSUFDWUQ0QUFGNEFBQUJyQUFBQU53QUFBQUFBQUFCd1FnQUFYZ0FBQUd3QUFBQTNBQUFBRlFBQUFBSUFBQUFEQUFBQUJBQUFBQThBQUFBV0FBQUFFQUFBQUJjQUFBQVJBQUFBQlFBQUFCZ0FBQUFRQUFBQUFBQUFBTmhCQUFCZUFBQUFiUUFBQURjQUFBQUhBQUFBQ0FBQUFCRUFBQUE1QUFBQU9nQUFBQklBQUFBN0FBQUFBQUFBQUJoQ0FBQmVBQUFBYmdBQUFEY0FBQUFKQUFBQUNnQUFBQk1BQUFBOEFBQUFQUUFBQUJRQUFBQStBQUFBQUFBQUFLQkJBQUJlQUFBQWJ3QUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBS0EvQUFBVUFBQUFGUUFBQUJZQUFBQVhBQUFBR0FBQUFCa0FBQUFhQUFBQUFBQUFBTkEvQUFBY0FBQUFIUUFBQUI0QUFBQWZBQUFBSUFBQUFDRUFBQUFpQUFBQVJYSnliM0k2SUd4aFltVnNhVzVuSUhkdmNtc2diM1psY21ac2IzY3VDZ0JWYm10dWIzZHVJRzl5SUhWdWMzVndjRzl5ZEdWa0lHeGhZbVZzYVc1bklIUm9jbVZ6YUc5c1pDQnRiMlJsSUhKbGNYVmxjM1JsWkM0Z1UyVjBJSFJ2SUcxaGJuVmhiQzRLQUV4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSE5sZENCMGJ5QWxjeTRLQUUxQlRsVkJUQUJCVlZSUFgwMUZSRWxCVGdCQlZWUlBYMDlVVTFVQVFWVlVUMTlCUkVGUVZFbFdSUUJCVlZSUFgwSlNRVU5MUlZSSlRrY0FSWEp5YjNJNklGVnVjM1Z3Y0c5eWRHVmtJSEJwZUdWc0lHWnZjbTFoZENBb0pXUXBJSEpsY1hWbGMzUmxaQzRLQUVGMWRHOGdkR2h5WlhOb2IyeGtJQ2hpY21GamEyVjBLU0J0WVhKclpYSWdZMjkxYm5SeklDMWJKVE5rT2lBbE0yUmRJRnNsTTJRNklDVXpaRjBnV3lVelpEb2dKVE5rWFNzdUNnQkJkWFJ2SUhSb2NtVnphRzlzWkNBb1luSmhZMnRsZENrZ1lXUnFkWE4wWldRZ2RHaHlaWE5vYjJ4a0lIUnZJQ1ZrTGdvQWJXVmthV0Z1QUU5MGMzVUFRWFYwYnlCMGFISmxjMmh2YkdRZ0tDVnpLU0JoWkdwMWMzUmxaQ0IwYUhKbGMyaHZiR1FnZEc4Z0pXUXVDZ0EvUHo4Z01Rb0FQejgvSURJS0FEOC9QeUF6Q2dCRmNuSnZjam9nZFc1emRYQndiM0owWldRZ2NHbDRaV3dnWm05eWJXRjBMZ29BUlhKeWIzSTZJRTVWVEV3Z2NHRjBkRWhoYm1Sc1pTNEtBRVZ5Y205eU9pQmpZVzRuZENCc2IyRmtJSEJoZEhSbGNtNGdabkp2YlNCT1ZVeE1JR0oxWm1abGNpNEtBRVZ5Y205eU9pQnZkWFFnYjJZZ2JXVnRiM0o1TGdvQUlBa0tEUUJRWVhSMFpYSnVJRVJoZEdFZ2NtVmhaQ0JsY25KdmNpRWhDZ0JGY25KdmNpQnlaV0ZrYVc1bklIQmhkSFJsY200Z1ptbHNaU0FuSlhNbkxnb0FSWEp5YjNJZ0tDVmtLVG9nZFc1aFlteGxJSFJ2SUc5d1pXNGdZMkZ0WlhKaElIQmhjbUZ0WlhSbGNuTWdabWxzWlNBaUpYTWlJR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JtYVd4bElHeGxibWQwYUM0QVJYSnliM0k2SUhOMWNIQnNhV1ZrSUdacGJHVWdaRzlsY3lCdWIzUWdZWEJ3WldGeUlIUnZJR0psSUdGdUlFRlNWRzl2YkV0cGRDQmpZVzFsY21FZ2NHRnlZVzFsZEdWeUlHWnBiR1V1Q2dCRmNuSnZjaUFvSldRcE9pQjFibUZpYkdVZ2RHOGdjbVZoWkNCbWNtOXRJR1pwYkdVdUFHRnlaMnhEWVcxbGNtRkdjblZ6ZEhWdFVrZ29LVG9nWVhKUVlYSmhiVVJsWTI5dGNFMWhkQ2dwSUdsdVpHbGpZWFJsWkNCd1lYSmhiV1YwWlhJZ1pYSnliM0l1Q2dCRmNuSnZjam9nYVdOd1IyVjBTbDlWWDFoakFFVnljbTl5SURFNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0lnTWpvZ2FXTndSMlYwU1c1cGRGaDNNbGhqQ2dCRmNuSnZjaUF6T2lCcFkzQkhaWFJKYm1sMFdIY3lXR01LQUVWeWNtOXlJRFE2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdOVG9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQTJPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEYzZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljdUNnQkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJRVpwY25OMElHeHBibVVnYlhWemRDQmlaU0J1ZFcxaVpYSWdiMllnYldGeWEyVnlJR052Ym1acFozTWdkRzhnY21WaFpDNEtBQ1ZzYkhVbFl3QkZjbkp2Y2lCd2NtOWpaWE56YVc1bklHMTFiSFJwYldGeWEyVnlJR052Ym1acFp5Qm1hV3hsSUNjbGN5YzZJSEJoZEhSbGNtNGdKeVZ6SnlCemNHVmphV1pwWldRZ2FXNGdiWFZzZEdsdFlYSnJaWElnWTI5dVptbG5kWEpoZEdsdmJpQjNhR2xzWlNCcGJpQmlZWEpqYjJSbExXOXViSGtnYlc5a1pTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUdSbGRHVnliV2x1WlNCa2FYSmxZM1J2Y25rZ2JtRnRaUzRLQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6SnpvZ1ZXNWhZbXhsSUhSdklHeHZZV1FnY0dGMGRHVnliaUFuSlhNbkxnb0FKV3htQUVWeWNtOXlJSEJ5YjJObGMzTnBibWNnYlhWc2RHbHRZWEpyWlhJZ1kyOXVabWxuSUdacGJHVWdKeVZ6Snl3Z2JXRnlhMlZ5SUdSbFptbHVhWFJwYjI0Z0pUTmtPaUJHYVhKemRDQnNhVzVsSUcxMWMzUWdZbVVnY0dGMGRHVnliaUIzYVdSMGFDNEtBQ1ZzWmlBbGJHWWdKV3htSUNWc1pnQWxaaUFsWmdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljc0lHMWhjbXRsY2lCa1pXWnBibWwwYVc5dUlDVXpaRG9nVEdsdVpYTWdNaUF0SURRZ2JYVnpkQ0JpWlNCdFlYSnJaWElnZEhKaGJuTm1iM0p0TGdvQVd5VnpYU0FBWkdWaWRXY0FhVzVtYndCM1lYSnVhVzVuQUdWeWNtOXlBQ1Z6SlhNQUxtbHpaWFFBUlhKeWIzSTZJSFZ1WVdKc1pTQjBieUJ2Y0dWdUlHWnBiR1VnSnlWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnY21WaFpHbHVaeUJwYldGblpWTmxkQzRLQUVsdFlXZGxjMlYwSUdOdmJuUmhhVzV6SUNWa0lHbHRZV2RsY3k0S0FFWmhiR3hwYm1jZ1ltRmpheUIwYnlCeVpXRmthVzVuSUNjbGN5VnpKeUJwYmlCQlVsUnZiMnhMYVhRZ2RqUXVlQ0JtYjNKdFlYUXVDZ0JGY25KdmNpQnlaV0ZrYVc1bklFcFFSVWNnWm1sc1pTNEtBRVZ5Y205eUlISmxZV1JwYm1jZ1NsQkZSeUJtYVd4bElHaGxZV1JsY2k0S0FDVm1BRVpwYkdVZ2IzQmxiaUJsY25KdmNpNGdKWE1LQUZKbFlXUWdaWEp5YjNJaElRb0FjZ0JGY25KdmNpQnZjR1Z1YVc1bklHWnBiR1VnSnlWekp6b2dBQ1Z6SlhNS0FDVmtBQW9qSXlNZ1UzVnlabUZqWlNCT2J5NGxaQ0FqSXlNS0FDVnpBQ0FnVW1WaFpDQkpiV0ZuWlZObGRDNEtBRVZ5Y205eUlHOXdaVzVwYm1jZ1ptbHNaU0FuSlhNdWFYTmxkQ2N1Q2dBZ0lDQWdaVzVrTGdvQUlDQlNaV0ZrSUVabFlYUjFjbVZUWlhRdUNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG1aelpYUW5MZ29BSUNCU1pXRmtJRTFoY210bGNsTmxkQzRLQUcxeWF3QkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6TG0xeWF5Y3VDZ0FsWmlBbFppQWxaaUFsWmdCVWNtRnVjMlp2Y20xaGRHbHZiaUJ0WVhSeWFYZ2djbVZoWkNCbGNuSnZjaUVoQ2dCcWNHY0FhM0J0UkdWc1pYUmxVbVZtUkdGMFlWTmxkQ2dwT2lCT1ZVeE1JSEpsWmtSaGRHRlRaWFJRZEhJeEwzSmxaa1JoZEdGVFpYUlFkSEl5TGdvQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl1Q2dCeVlnQnJjRzFNYjJGa1VtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlHWnBiR1Z1WVcxbEwzSmxaa1JoZEdGVFpYUlFkSEl1Q2dCRmNuSnZjaUJzYjJGa2FXNW5JRXRRVFNCa1lYUmhPaUIxYm1GaWJHVWdkRzhnYjNCbGJpQm1hV3hsSUNjbGN5VnpKWE1uSUdadmNpQnlaV0ZrYVc1bkxnb0FSWEp5YjNJZ2JHOWhaR2x1WnlCTFVFMGdaR0YwWVRvZ1pYSnliM0lnY21WaFpHbHVaeUJrWVhSaExnb0FhM0J0UTJoaGJtZGxVR0ZuWlU1dlQyWlNaV1pFWVhSaFUyVjBLQ2s2SUU1VlRFd2djbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ1RsVk1UQ0JyY0cxSVlXNWtiR1V2Y21WbVJHRjBZVk5sZEM0S0FHdHdiVk5sZEZKbFprUmhkR0ZUWlhRb0tUb2djbVZtUkdGMFlWTmxkQzRLQUhCdmFXNTBjeTBsWkFvQWEzQnRUV0YwWTJocGJtY29LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZhVzVKYldGblpVeDFiV0V1Q2dCUVlXZGxXeVZrWFNBZ2NISmxPaVV6WkN3Z1lXWjBPaVV6WkN3Z1pYSnliM0lnUFNBbFpnb0FKWE11SlhNQVFYTnpaWEowYVc5dUlHQndlWEpoYldsa0xUNXphWHBsS0NrZ1BpQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OUViMGRmYzJOaGJHVmZhVzUyWVhKcFlXNTBYMlJsZEdWamRHOXlMbU53Y0FCUWVYSmhiV2xrSUdseklHNXZkQ0JoYkd4dlkyRjBaV1FBVDJOMFlYWmxJRzkxZENCdlppQnlZVzVuWlFCVFkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnRTVzFoWjJWekxuTnBlbVVvS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVEdGd2JHRmphV0Z1SUhCNWNtRnRhV1FnYUdGeklHNXZkQ0JpWldWdUlHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUXRQbTUxYlU5amRHRjJaWE1vS1NBK0lEQmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JrYjJWeklHNXZkQ0JqYjI1MFlXbHVJR0Z1ZVNCc1pYWmxiSE1BUVhOelpYSjBhVzl1SUdCa2VXNWhiV2xqWDJOaGMzUThZMjl1YzNRZ1FtbHViMjFwWVd4UWVYSmhiV2xrTXpKbUtqNG9jSGx5WVcxcFpDbGdJR1poYVd4bFpDQnBiaUFBVDI1c2VTQmlhVzV2YldsaGJDQndlWEpoYldsa0lHbHpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdRdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJQYm14NUlFWXpNaUJwYldGblpYTWdjM1Z3Y0c5eWRHVmtBRUZ6YzJWeWRHbHZiaUJnYVcweExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5R016SmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUSXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHUXVZMmhoYm01bGJITW9LU0E5UFNBeFlDQm1ZV2xzWldRZ2FXNGdBRTl1YkhrZ2MybHVaMnhsSUdOb1lXNXVaV3dnYVcxaFoyVnpJSE4xY0hCdmNuUmxaQUJCYzNObGNuUnBiMjRnWUdsdE1TNWphR0Z1Ym1Wc2N5Z3BJRDA5SURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdaQzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRWx0WVdkbGN5QnRkWE4wSUdoaGRtVWdkR2hsSUhOaGJXVWdkMmxrZEdnQVFYTnpaWEowYVc5dUlHQmtMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpYTWdiWFZ6ZENCb1lYWmxJSFJvWlNCellXMWxJR2hsYVdkb2RBQkJjM05sY25ScGIyNGdZR2x0TVM1M2FXUjBhQ2dwSUQwOUlHbHRNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXMHhMbWhsYVdkb2RDZ3BJRDA5SUdsdE1pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhKdmR5QThJRzFJWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwybHRZV2RsTG1nQWNtOTNJRzkxZENCdlppQmliM1Z1WkhNQVRqWjJhWE5wYjI0eU5VZGhkWE56YVdGdVUyTmhiR1ZUY0dGalpWQjVjbUZ0YVdSRkFFUnZSeUJRZVhKaGJXbGtBRTV2YmkxdFlYZ2djM1Z3Y0hKbGMzTnBiMjRBVTNWaWNHbDRaV3dBY0hKMWJtVkdaV0YwZFhKbGN3QkdhVzVrSUU5eWFXVnVkR0YwYVc5dWN3QkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFoZ0lHWmhhV3hsWkNCcGJpQUFRblZqYTJWMGN5QmhjbVVnYm05MElHRnNiRzlqWVhSbFpBQkJjM05sY25ScGIyNGdZRzFDZFdOclpYUnpXekJkTG5OcGVtVW9LU0E5UFNCdFRuVnRRblZqYTJWMGMxbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCdFJtVmhkSFZ5WlZCdmFXNTBjeTV6YVhwbEtDa2dQRDBnYlUxaGVFNTFiVVpsWVhSMWNtVlFiMmx1ZEhOZ0lHWmhhV3hsWkNCcGJpQUFWRzl2SUcxaGJua2dabVZoZEhWeVpTQndiMmx1ZEhNQVFYTnpaWEowYVc5dUlHQmlkV05yWlhSYk1GMHVabWx5YzNRZ1BqMGdZblZqYTJWMFcyNWRMbVpwY25OMFlDQm1ZV2xzWldRZ2FXNGdBRzUwYUY5bGJHVnRaVzUwSUdaaGFXeGxaQUJCYzNObGNuUnBiMjRnWUd0d0xuTmpZV3hsSUR3Z2JVeGhjR3hoWTJsaGJsQjVjbUZ0YVdRdWJuVnRVMk5oYkdWUVpYSlBZM1JoZG1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSEJ2YVc1MElITmpZV3hsSUdseklHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCcmNDNXpZMjl5WlNBOVBTQnNZWEF4TG1kbGREeG1iRzloZEQ0b2VTbGJlRjFnSUdaaGFXeGxaQ0JwYmlBQVUyTnZjbVVnYVhNZ2JtOTBJR052Ym5OcGMzUmxiblFnZDJsMGFDQjBhR1VnUkc5SElHbHRZV2RsQUVGemMyVnlkR2x2YmlCZ2JHRndNQzVvWldsbmFIUW9LU0E5UFNCc1lYQXhMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpHVjBaV04wYjNKekwwUnZSMTl6WTJGc1pWOXBiblpoY21saGJuUmZaR1YwWldOMGIzSXVhQUJYYVdSMGFDOW9aV2xuYUhRZ1lYSmxJRzV2ZENCamIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLR3hoY0RBdWFHVnBaMmgwS0NrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1NrZ0ppWWdLQ2hzWVhBeExtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDZ29iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NrcElDWW1JQ2hzWVhBeExuZHBaSFJvS0NrZ1BUMGdiR0Z3TWk1M2FXUjBhQ2dwS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCemFYcGxjeUJoY21VZ2FXNWpiMjV6YVhOMFpXNTBBRUZ6YzJWeWRHbHZiaUJnS0hndE1Ta2dQajBnTUNBbUppQW9lQ3N4S1NBOElHeGhjREV1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2VTMHhLU0ErUFNBd0lDWW1JQ2g1S3pFcElEd2diR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQjVJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1M2FXUjBhQ2dwUGo0eEtTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFTVzFoWjJVZ1pHbHRaVzV6YVc5dWN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF5TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9iR0Z3TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYkdGd01TNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNoc1lYQXdMbWhsYVdkb2RDZ3BQajR4S1NBOVBTQnNZWEF5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x1ZENsemRHUTZPbVpzYjI5eUtIZ3BJRDA5SUNocGJuUXBlR0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZhVzUwWlhKd2IyeGhkR1V1YUFCbWJHOXZjaWdwSUdGdVpDQmpZWE4wSUc1dmRDQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZQ2hwYm5RcGMzUmtPanBtYkc5dmNpaDVLU0E5UFNBb2FXNTBLWGxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjVjQ0ErUFNBd0lDWW1JSGx3SUR3Z2FHVnBaMmgwWUNCbVlXbHNaV1FnYVc0Z0FIbHdJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjVjRjl3YkhWelh6RWdQajBnTUNBbUppQjVjRjl3YkhWelh6RWdQQ0JvWldsbmFIUmdJR1poYVd4bFpDQnBiaUFBZVhCZmNHeDFjMTh4SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0I0Y0NBK1BTQXdJQ1ltSUhod0lEd2dkMmxrZEdoZ0lHWmhhV3hsWkNCcGJpQUFlSEFnYjNWMElHOW1JR0p2ZFc1a2N3QkJjM05sY25ScGIyNGdZSGh3WDNCc2RYTmZNU0ErUFNBd0lDWW1JSGh3WDNCc2RYTmZNU0E4SUhkcFpIUm9ZQ0JtWVdsc1pXUWdhVzRnQUhod1gzQnNkWE5mTVNCdmRYUWdiMllnWW05MWJtUnpBRUZ6YzJWeWRHbHZiaUJnZHpBZ1BqMGdNQ0FtSmlCM01DQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBVDNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdkekVnUGowZ01DQW1KaUIzTVNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdJQ1ltSUhjeUlEdzlJREV1TURBd01XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUhjeklENDlJREFnSmlZZ2R6TWdQRDBnTVM0d01EQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tIY3dLM2N4SzNjeUszY3pLU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQW9lQzB4S1NBK1BTQXdJQ1ltSUNoNEt6RXBJRHdnYVcwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2g1TFRFcElENDlJREFnSmlZZ0tIa3JNU2tnUENCcGJTNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeExuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RFdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0I0WDJScGRsOHlMVEF1TldZZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNFgyUnBkbDh5SUc5MWRDQnZaaUJpYjNWdVpITWdiM1YwSUc5bUlHSnZkVzVrY3lCbWIzSWdhVzUwWlhKd2IyeGhkR2x2YmdCQmMzTmxjblJwYjI0Z1lIbGZaR2wyWHpJdE1DNDFaaUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGxmWkdsMlh6SWdiM1YwSUc5bUlHSnZkVzVrY3lCdmRYUWdiMllnWW05MWJtUnpJR1p2Y2lCcGJuUmxjbkJ2YkdGMGFXOXVBRUZ6YzJWeWRHbHZiaUJnZUY5a2FYWmZNaXN3TGpWbUlEd2diR0Z3TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdlVjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHeGhjREF1ZDJsa2RHZ29LU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCc1lYQXdMbWhsYVdkb2RDZ3BJRDA5SUd4aGNESXVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRWhsYVdkb2RDQnBjeUJwYm1OdmJuTnBjM1JsYm5RQVFYTnpaWEowYVc5dUlHQnBiVEF1YUdWcFoyaDBLQ2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNUzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB5TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweExtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1DNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2FXNWtaWGdnUENCdFNXMWhaMlZ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCSmJtUmxlQ0JwY3lCdmRYUWdiMllnY21GdVoyVUFUaloyYVhOcGIyNHhPRUpwYm05dGFXRnNVSGx5WVcxcFpETXlaa1VBUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErUFNBMVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtTndjQUJKYldGblpTQnBjeUIwYjI4Z2MyMWhiR3dBUVhOelpYSjBhVzl1SUdCb1pXbG5hSFFnUGowZ05XQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMblI1Y0dVb0tTQTlQU0JKVFVGSFJWOVZTVTVVT0dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdGRYTjBJR0psSUdkeVlYbHpZMkZzWlFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG1Ob1lXNXVaV3h6S0NrZ1BUMGdNV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHaGhkbVVnTVNCamFHRnVibVZzQUVGemMyVnlkR2x2YmlCZ2JWQjVjbUZ0YVdRdWMybDZaU2dwSUQwOUlHMU9kVzFQWTNSaGRtVnpLbTFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVVIbHlZVzFwWkNCb1lYTWdibTkwSUdKbFpXNGdZV3hzYjJOaGRHVmtJSGxsZEFCQmMzTmxjblJwYjI0Z1lHbHRZV2RsTG5kcFpIUm9LQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnZaaUIzY205dVp5QnphWHBsSUdadmNpQndlWEpoYldsa0FFRnpjMlZ5ZEdsdmJpQmdhVzFoWjJVdWFHVnBaMmgwS0NrZ1BUMGdiVkI1Y21GdGFXUmJNRjB1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmtjM1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQkVaWE4wYVc1aGRHbHZiaUJwYldGblpTQnphRzkxYkdRZ1ltVWdZU0JtYkc5aGRBQlZibXR1YjNkdUlHbHRZV2RsSUhSNWNHVUFWVzV6ZFhCd2IzSjBaV1FnYVcxaFoyVWdkSGx3WlFCT05uWnBjMmx2YmpsRmVHTmxjSFJwYjI1RkFFRnpjMlZ5ZEdsdmJpQmdhVzB1ZDJsa2RHZ29LU0E5UFNCcGJTNXpkR1Z3S0NrdmMybDZaVzltS0dac2IyRjBLV0FnWm1GcGJHVmtJR2x1SUFBdlZYTmxjbk12WVhNdlJHOWpkVzFsYm5SekwwUmxkbVZzYjNCdFpXNTBMMmRwZEdoMVlpOWhjblJ2YjJ4cmFYUTFMV3B6TDJ4cFlpOWhjblJ2YjJ4cmFYUTFMMnhwWWk5VFVrTXZTMUJOTDBaeVpXRnJUV0YwWTJobGNpOWtaWFJsWTNSdmNuTXZiM0pwWlc1MFlYUnBiMjVmWVhOemFXZHViV1Z1ZEM1amNIQUFVM1JsY0NCemFYcGxJRzExYzNRZ1ltVWdaWEYxWVd3Z2RHOGdkMmxrZEdnZ1ptOXlJRzV2ZHdCQmMzTmxjblJwYjI0Z1lIZ2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I0SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQjRJRzExYzNRZ1ltVWdiR1Z6Y3lCMGFHRnVJSFJvWlNCcGJXRm5aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZSGtnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI1SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCNUlEd2diVWR5WVdScFpXNTBjMXR2WTNSaGRtVXFiVTUxYlZOallXeGxjMUJsY2s5amRHRjJaU3R6WTJGc1pWMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBZVNCdGRYTjBJR0psSUd4bGMzTWdkR2hoYmlCMGFHVWdhVzFoWjJVZ2FHVnBaMmgwQUVGemMyVnlkR2x2YmlCZ1p5NWphR0Z1Ym1Wc2N5Z3BJRDA5SURKZ0lHWmhhV3hsWkNCcGJpQUFUblZ0WW1WeUlHOW1JR05vWVc1dVpXeHpJSE5vYjNWc1pDQmlaU0F5QUVGemMyVnlkR2x2YmlCZ2JXRjRYMmhsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVRXRjRhVzExYlNCaWFXNGdjMmh2ZFd4a0lHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYUdsemRDQWhQU0JPVlV4TVlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5dmNtbGxiblJoZEdsdmJsOWhjM05wWjI1dFpXNTBMbWdBU0dsemRHOW5jbUZ0SUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJCYzNObGNuUnBiMjRnWUNobVltbHVLekF1TldZcElENGdNQ0FtSmlBb1ptSnBiaTB3TGpWbUtTQThJRzUxYlY5aWFXNXpZQ0JtWVdsc1pXUWdhVzRnQUVSbFkybHRZV3dnWW1sdUlIQnZjMmwwYVc5dUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZRzFoWjI1cGRIVmtaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTFoWjI1cGRIVmtaU0JqWVc1dWIzUWdZbVVnYm1WbllYUnBkbVVBUVhOelpYSjBhVzl1SUdCdWRXMWZZbWx1Y3lBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJpYVc1eklHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjNNU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBSGN4SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01pQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3lJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0JpTVNBK1BTQXdJQ1ltSUdJeElEd2diblZ0WDJKcGJuTmdJR1poYVd4bFpDQnBiaUFBWWpFZ1ltbHVJR2x1WkdWNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUdJeUlENDlJREFnSmlZZ1lqSWdQQ0J1ZFcxZlltbHVjMkFnWm1GcGJHVmtJR2x1SUFCaU1pQmlhVzRnYVc1a1pYZ2diM1YwSUc5bUlISmhibWRsQUVsRUlHRnNjbVZoWkhrZ1pYaHBjM1J6QUVKMWFXeGtJRkI1Y21GdGFXUUFSWGgwY21GamRDQkdaV0YwZFhKbGN3QkJjM05sY25ScGIyNGdZR0Z6YzJsbmJtMWxiblF1YzJsNlpTZ3BJRDA5SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJKcGJtRnllVjlvYVdWeVlYSmphR2xqWVd4ZlkyeDFjM1JsY21sdVp5NW9BRUZ6YzJsbmJtMWxiblFnYzJsNlpTQjNjbTl1WndCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUmJhVjBnSVQwZ0xURmdJR1poYVd4bFpDQnBiaUFBUVhOemFXZHViV1Z1ZENCcGN5QnBiblpoYkdsa0FFRnpjMlZ5ZEdsdmJpQmdZWE56YVdkdWJXVnVkRnRwWFNBOElHNTFiVjlwYm1ScFkyVnpZQ0JtWVdsc1pXUWdhVzRnQUVGemMybG5ibTFsYm5RZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYVc1a2FXTmxjMXRoYzNOcFoyNXRaVzUwVzJsZFhTQThJRzUxYlY5bVpXRjBkWEpsYzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2wwTFQ1elpXTnZibVF1YzJsNlpTZ3BJQ0U5SURCZ0lHWmhhV3hsWkNCcGJpQUFRMngxYzNSbGNpQnRkWE4wSUdoaGRtVWdZWFJzWldGelpYUWdNU0JtWldGMGRYSmxBRUZ6YzJWeWRHbHZiaUJnYlVzZ1BUMGdiVU5sYm5SbGNuTXVjMmw2WlNncFlDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDIxaGRHTm9aWEp6TDJ0dFpXUnZhV1J6TG1nQWF5QnphRzkxYkdRZ2JXRjBZMmdnZEdobElHNTFiV0psY2lCdlppQmpiSFZ6ZEdWeUlHTmxiblJsY25NQVFYTnpaWEowYVc5dUlHQnVkVzFmWm1WaGRIVnlaWE1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQnZaaUJtWldGMGRYSmxjeUJ0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYm5WdFgybHVaR2xqWlhNZ1BEMGdiblZ0WDJabFlYUjFjbVZ6WUNCbVlXbHNaV1FnYVc0Z0FFMXZjbVVnYVc1a2FXTmxjeUIwYUdGdUlHWmxZWFIxY21WekFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUGowZ2JVdGdJR1poYVd4bFpDQnBiaUFBVG05MElHVnViM1ZuYUNCbVpXRjBkWEpsY3dCQmMzTnBaMjV0Wlc1MElITnBlbVVnYVhNZ2FXNWpiM0p5WldOMEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJObGJuUmxjbk1nUGlBd1lDQm1ZV2xzWldRZ2FXNGdBRlJvWlhKbElHMTFjM1FnWW1VZ1lYUWdiR1ZoYzNRZ01TQmpaVzUwWlhJQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZkbWx6ZFdGc1gyUmhkR0ZpWVhObExtZ0FRWE56WlhKMGFXOXVJR0JrWlhSbFkzUnZjbUFnWm1GcGJHVmtJR2x1SUFCRVpYUmxZM1J2Y2lCcGN5Qk9WVXhNQUVGemMyVnlkR2x2YmlCZ2NIbHlZVzFwWkMwK2FXMWhaMlZ6S0NrdWMybDZaU2dwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR2x6SUdWdGNIUjVBRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWQybGtkR2dvS1NBOVBTQmtaWFJsWTNSdmNpMCtkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUJRZVhKaGJXbGtJR0Z1WkNCa1pYUmxZM1J2Y2lCemFYcGxJRzFwYzIxaGRHTm9BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2xiTUYwdWFHVnBaMmgwS0NrZ1BUMGdaR1YwWldOMGIzSXRQbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1VGRETmZYekl4TkdSbFptRjFiSFJmWkdWc1pYUmxTVTQyZG1semFXOXVPRXRsZVdaeVlXMWxTVXhwT1RaRlJVVkZSUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUVRqWjJhWE5wYjI0NFMyVjVabkpoYldWSlRHazVOa1ZGUlU1VFh6RTBaR1ZtWVhWc2RGOWtaV3hsZEdWSlV6TmZSVVZPVTE4NVlXeHNiMk5oZEc5eVNWTXpYMFZGUlVVQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lCR2IzVnVaQ0FsWkNCbVpXRjBkWEpsY3lCcGJpQnhkV1Z5ZVFCaWIyOXNJSFpwYzJsdmJqbzZWbWx6ZFdGc1JHRjBZV0poYzJVOGRtbHphVzl1T2pwR1VrVkJTMFY0ZEhKaFkzUnZjaXdnZG1semFXOXVPanBDYVc1aGNubEdaV0YwZFhKbFUzUnZjbVVzSUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpVMWhkR05vWlhJOE9UWStJRDQ2T25GMVpYSjVLR052Ym5OMElIWnBjMmx2YmpvNlIyRjFjM05wWVc1VFkyRnNaVk53WVdObFVIbHlZVzFwWkNBcUtTQmJSa1ZCVkZWU1JWOUZXRlJTUVVOVVQxSWdQU0IyYVhOcGIyNDZPa1pTUlVGTFJYaDBjbUZqZEc5eUxDQlRWRTlTUlNBOUlIWnBjMmx2YmpvNlFtbHVZWEo1Um1WaGRIVnlaVk4wYjNKbExDQk5RVlJEU0VWU0lEMGdkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVFdGMFkyaGxjanc1Tmo1ZEFFWnBibVFnVFdGMFkyaGxjeUFvTVNrQVNHOTFaMmdnVm05MGFXNW5JQ2d4S1FCR2FXNWtJRWh2ZFdkb0lFMWhkR05vWlhNZ0tERXBBRVZ6ZEdsdFlYUmxJRWh2Ylc5bmNtRndhSGtnS0RFcEFFWnBibVFnU1c1c2FXVnljeUFvTVNrQVJtbHVaQ0JOWVhSamFHVnpJQ2d5S1FCSWIzVm5hQ0JXYjNScGJtY2dLRElwQUVacGJtUWdTRzkxWjJnZ1RXRjBZMmhsY3lBb01pa0FSWE4wYVcxaGRHVWdTRzl0YjJkeVlYQm9lU0FvTWlrQVJtbHVaQ0JKYm14cFpYSnpJQ2d5S1FCQmMzTmxjblJwYjI0Z1lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlptVmhkSFZ5WlY5dFlYUmphR1Z5TFdsdWJHbHVaUzVvQUVaaGFXeGxaQ0IwYnlCamIyMXdkWFJsSUcxaGRISnBlQ0JwYm5abGNuTmxBRUZ6YzJWeWRHbHZiaUJnWW1WemRGOXBibVJsZUNBaFBTQnpkR1E2T201MWJXVnlhV05mYkdsdGFYUnpQSE5wZW1WZmRENDZPbTFoZUNncFlDQm1ZV2xzWldRZ2FXNGdBRk52YldWMGFHbHVaeUJ6ZEhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnYlUxaGRHTm9aWE11YzJsNlpTZ3BJRHc5SUdabFlYUjFjbVZ6TVMwK2MybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQnRZWFJqYUdWeklITm9iM1ZzWkNCaVpTQnNiM2RsY2dCQmMzTmxjblJwYjI0Z1lHaDVjQzV6YVhwbEtDa2dQajBnT1NwdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhOZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YUc5dGIyZHlZWEJvZVY5bGMzUnBiV0YwYVc5dUwzSnZZblZ6ZEY5b2IyMXZaM0poY0doNUxtZ0FhSGx3SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0E1S20xaGVGOXVkVzFmYUhsd2IzUm9aWE5sY3dCQmMzTmxjblJwYjI0Z1lIUnRjRjlwTG5OcGVtVW9LU0ErUFNCdWRXMWZjRzlwYm5SellDQm1ZV2xzWldRZ2FXNGdBSFJ0Y0Y5cElIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdWRXMWZjRzlwYm5SekFFRnpjMlZ5ZEdsdmJpQmdhSGx3WDJOdmMzUnpMbk5wZW1Vb0tTQStQU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQWFIbHdYMk52YzNSeklIWmxZM1J2Y2lCemFHOTFiR1FnWW1VZ2IyWWdjMmw2WlNCdFlYaGZiblZ0WDJoNWNHOTBhR1Z6WlhNQVFYTnpaWEowYVc5dUlHQnVJRHc5SUdsdVgyMWhkR05vWlhNdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FGTm9iM1ZzWkNCaVpTQjBhR1VnYzJGdFpRQkJjM05sY25ScGIyNGdZR1JwYzNSQ2FXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdScGMzUkNhVzVCYm1kc1pTQnRkWE4wSUc1dmRDQmlaU0J1WldkaGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU2IyOTBMbWRsZENncFlDQm1ZV2xzWldRZ2FXNGdBRkp2YjNRZ1kyRnVibTkwSUdKbElFNVZURXdBUVhOelpYSjBhVzl1SUdCdGFXNXBJQ0U5SUMweFlDQm1ZV2xzWldRZ2FXNGdBRTFwYm1sdGRXMGdhVzVrWlhnZ2JtOTBJSE5sZEFCQmMzTmxjblJwYjI0Z1lIZ2dQajBnYlUxcGJsaGdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1YUFCNElHOTFkQ0J2WmlCeVlXNW5aUUJCYzNObGNuUnBiMjRnWUhnZ1BDQnRUV0Y0V0dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGtnUGowZ2JVMXBibGxnSUdaaGFXeGxaQ0JwYmlBQWVTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCNUlEd2diVTFoZUZsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQStJQzFRU1dBZ1ptRnBiR1ZrSUdsdUlBQmhibWRzWlNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0JoYm1kc1pTQThQU0JRU1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSE5qWVd4bElENDlJRzFOYVc1VFkyRnNaV0FnWm1GcGJHVmtJR2x1SUFCelkyRnNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU5ZWGhUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdsdVpHVjRJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRUZ6YzJWeWRHbHZiaUJnWW1sdVdDQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FHSnBibGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBOElHMU9kVzFZUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQmlhVzVaSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BDQnRUblZ0V1VKcGJuTmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCaWFXNUJibWRzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJrRnVaMnhsSUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0pwYmtGdVoyeGxJRHdnYlU1MWJVRnVaMnhsUW1sdWMyQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdKcGJsTmpZV3hsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBWW1sdVUyTmhiR1VnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1VTJOaGJHVWdQQ0J0VG5WdFUyTmhiR1ZDYVc1ellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQRDBnS0dKcGJsZ2dLeUJpYVc1WkttMU9kVzFZUW1sdWN5QXJJR0pwYmtGdVoyeGxLbTFPZFcxWVFtbHVjeXB0VG5WdFdVSnBibk1nS3lCaWFXNVRZMkZzWlNwdFRuVnRXRUpwYm5NcWJVNTFiVmxDYVc1ekttMU9kVzFCYm1kc1pVSnBibk1wWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdjMmw2WlNBK0lEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmFHOTFaMmhmYzJsdGFXeGhjbWwwZVY5MmIzUnBibWN1WTNCd0FITnBlbVVnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUcxU1pXWkpiV0ZuWlZkcFpIUm9JRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQjNhV1IwYUNCdGRYTjBJR0psSUhCdmMybDBhWFpsQUVGemMyVnlkR2x2YmlCZ2JWSmxaa2x0WVdkbFNHVnBaMmgwSUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJvWldsbmFIUWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzRnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDNWMGFXeHpMM0JoY25ScFlXeGZjMjl5ZEM1b0FHNGdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZR3NnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBR3NnYlhWemRDQmlaU0J3YjNOcGRHbDJaUUJCYzNObGNuUnBiMjRnWUhCNWNtRnRhV1JnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZiV0YwWTJobGNuTXZabkpsWVdzdWFBQlFlWEpoYldsa0lHbHpJRTVWVEV3QVFYTnpaWEowYVc5dUlHQnpkRzl5WlM1emFYcGxLQ2tnUFQwZ2NHOXBiblJ6TG5OcGVtVW9LV0FnWm1GcGJHVmtJR2x1SUFCR1pXRjBkWEpsSUhOMGIzSmxJR2hoY3lCdWIzUWdZbVZsYmlCaGJHeHZZMkYwWldRQVFYTnpaWEowYVc5dUlHQnVkVzFmY0c5cGJuUnpJRDA5SUhCdmFXNTBjeTV6YVhwbEtDbGdJR1poYVd4bFpDQnBiaUFBVTJodmRXeGtJR0psSUhOaGJXVWdjMmw2WlFCQmMzTmxjblJwYjI0Z1lHOWpkR0YyWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUM5VmMyVnljeTloY3k5RWIyTjFiV1Z1ZEhNdlJHVjJaV3h2Y0cxbGJuUXZaMmwwYUhWaUwyRnlkRzl2Ykd0cGREVXRhbk12YkdsaUwyRnlkRzl2Ykd0cGREVXZiR2xpTDFOU1F5OUxVRTB2Um5KbFlXdE5ZWFJqYUdWeUwyUmxkR1ZqZEc5eWN5OW5ZWFZ6YzJsaGJsOXpZMkZzWlY5emNHRmpaVjl3ZVhKaGJXbGtMbWdBVDJOMFlYWmxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J2WTNSaGRtVWdQQ0J0VG5WdFQyTjBZWFpsYzJBZ1ptRnBiR1ZrSUdsdUlBQlBZM1JoZG1VZ2JYVnpkQ0JpWlNCc1pYTnpJSFJvWVc0Z2JuVnRZbVZ5SUc5bUlHOWpkR0YyWlhNQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUZOallXeGxJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0J6WTJGc1pTQThJRzFPZFcxVFkyRnNaWE5RWlhKUFkzUmhkbVZnSUdaaGFXeGxaQ0JwYmlBQVUyTmhiR1VnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUhOallXeGxJSEJsY2lCdlkzUmhkbVVBSlcwdEpXUXRKVmt0SlVndEpVMHRKVk1BUVhOelpYSjBhVzl1SUdCM2FXUjBhQ0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbU53Y0FCWGFXUjBhQ0JqWVc1dWIzUWdZbVVnZW1WeWJ3QkJjM05sY25ScGIyNGdZR2hsYVdkb2RDQStJREJnSUdaaGFXeGxaQ0JwYmlBQVNHVnBaMmgwSUdOaGJtNXZkQ0JpWlNCNlpYSnZBRUZ6YzJWeWRHbHZiaUJnYzNSbGNDQStQU0IzYVdSMGFHQWdabUZwYkdWa0lHbHVJQUJUZEdWd0lHMTFjM1FnWW1VZ1ozSmxZWFJsY2lCMGFHRnVJRzl5SUdWeGRXRnNJSFJvWlNCM2FXUjBhQUJCYzNObGNuUnBiMjRnWUdOb1lXNXVaV3h6SUQ0Z01HQWdabUZwYkdWa0lHbHVJQUJPZFcxaVpYSWdiMllnWTJoaGJtNWxiSE1nWTJGdWJtOTBJR0psSUhwbGNtOEFRWE56WlhKMGFXOXVJR0J0UkdGMFlTNW5aWFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkVZWFJoSUhCdmFXNTBaWElnYVhNZ1RsVk1UQUJPVTNRelgxOHlNVFJrWldaaGRXeDBYMlJsYkdWMFpVbG9SVVVBVGxOME0xOWZNakl3WDE5emFHRnlaV1JmY0hSeVgzQnZhVzUwWlhKSlVHaE9VMTh4TkdSbFptRjFiSFJmWkdWc1pYUmxTV2hGUlU1VFh6bGhiR3h2WTJGMGIzSkphRVZGUlVVQVNXNTJZV3hwWkNCcGJXRm5aU0IwZVhCbEFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SUUJPVTNRelgxOHlNakJmWDNOb1lYSmxaRjl3ZEhKZmNHOXBiblJsY2tsUWFERTJUblZzYkVGeWNtRjVSR1ZzWlhSbGNrbG9SVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBUVhOelpYSjBhVzl1SUdCdFUzUmhjblJVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMM1JwYldWeWN5NWpjSEFBSUd4cGJtVWdBRG9nQUVOc2IyTnJJR2hoY3lCdWIzUWdZbVZsYmlCemRHRnlkR1ZrQUVGemMyVnlkR2x2YmlCZ2JWTjBiM0JVYVcxbElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeHZZMnNnYUdGeklHNXZkQ0JpWldWdUlITjBiM0J3WldRQVd5VnpYU0JiSlhOZElGc2xjMTBnT2lBbGN6b2dKV1lnYlhNQUlFbE9SazhnSUFCMmFYTnBiMjQ2T2xOamIzQmxaRlJwYldWeU9qcCtVMk52Y0dWa1ZHbHRaWElvS1FCelpYUjFjQUIwWldGeVpHOTNiZ0J6WlhSMWNFRlNNZ0JmWVdSa1RXRnlhMlZ5QUY5aFpHUk5kV3gwYVUxaGNtdGxjZ0JmWVdSa1RrWlVUV0Z5YTJWeUFHZGxkRTExYkhScFRXRnlhMlZ5VG5WdEFHZGxkRTExYkhScFRXRnlhMlZ5UTI5MWJuUUFYMnh2WVdSRFlXMWxjbUVBYzJWMFRXRnlhMlZ5U1c1bWIwUnBjZ0J6WlhSTllYSnJaWEpKYm1adlZtVnlkR1Y0QUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFUzRjFZWEpsUTI5dWRBQm5aWFJVY21GdWMwMWhkRTExYkhScFUzRjFZWEpsQUdkbGRGUnlZVzV6VFdGMFRYVnNkR2xUY1hWaGNtVlNiMkoxYzNRQVpHVjBaV04wVFdGeWEyVnlBR2RsZEUxaGNtdGxjazUxYlFCa1pYUmxZM1JPUmxSTllYSnJaWElBWjJWMFRYVnNkR2xGWVdOb1RXRnlhMlZ5QUdkbGRFMWhjbXRsY2dCblpYUk9SbFJOWVhKclpYSUFjMlYwUkdWaWRXZE5iMlJsQUdkbGRFUmxZblZuVFc5a1pRQm5aWFJRY205alpYTnphVzVuU1cxaFoyVUFjMlYwVEc5blRHVjJaV3dBWjJWMFRHOW5UR1YyWld3QWMyVjBVSEp2YW1WamRHbHZiazVsWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVRtVmhjbEJzWVc1bEFITmxkRkJ5YjJwbFkzUnBiMjVHWVhKUWJHRnVaUUJuWlhSUWNtOXFaV04wYVc5dVJtRnlVR3hoYm1VQWMyVjBWR2h5WlhOb2IyeGtUVzlrWlFCblpYUlVhSEpsYzJodmJHUk5iMlJsQUhObGRGUm9jbVZ6YUc5c1pBQm5aWFJVYUhKbGMyaHZiR1FBYzJWMFVHRjBkR1Z5YmtSbGRHVmpkR2x2YmsxdlpHVUFaMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQWMyVjBVR0YwZEZKaGRHbHZBR2RsZEZCaGRIUlNZWFJwYndCelpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCblpYUk5ZWFJ5YVhoRGIyUmxWSGx3WlFCelpYUk1ZV0psYkdsdVowMXZaR1VBWjJWMFRHRmlaV3hwYm1kTmIyUmxBSE5sZEVsdFlXZGxVSEp2WTAxdlpHVUFaMlYwU1cxaFoyVlFjbTlqVFc5a1pRQkZVbEpQVWw5QlVrTlBUbFJTVDB4TVJWSmZUazlVWDBaUFZVNUVBRVZTVWs5U1gwMVZURlJKVFVGU1MwVlNYMDVQVkY5R1QxVk9SQUJGVWxKUFVsOU5RVkpMUlZKZlNVNUVSVmhmVDFWVVgwOUdYMEpQVlU1RVV3QkJVbDlFUlVKVlIxOUVTVk5CUWt4RkFFRlNYMFJGUWxWSFgwVk9RVUpNUlFCQlVsOUVSVVpCVlV4VVgwUkZRbFZIWDAxUFJFVUFRVkpmVEVGQ1JVeEpUa2RmVjBoSlZFVmZVa1ZIU1U5T0FFRlNYMHhCUWtWTVNVNUhYMEpNUVVOTFgxSkZSMGxQVGdCQlVsOUVSVVpCVlV4VVgweEJRa1ZNU1U1SFgwMVBSRVVBUVZKZlJFVkdRVlZNVkY5TVFVSkZURWxPUjE5VVNGSkZVMGdBUVZKZlNVMUJSMFZmVUZKUFExOUdVa0ZOUlY5SlRVRkhSUUJCVWw5SlRVRkhSVjlRVWs5RFgwWkpSVXhFWDBsTlFVZEZBRUZTWDBSRlJrRlZURlJmU1UxQlIwVmZVRkpQUTE5TlQwUkZBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDBOUFRFOVNBRUZTWDFSRlRWQk1RVlJGWDAxQlZFTklTVTVIWDAxUFRrOEFRVkpmVFVGVVVrbFlYME5QUkVWZlJFVlVSVU5VU1U5T0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U1gwRk9SRjlOUVZSU1NWZ0FRVkpmVkVWTlVFeEJWRVZmVFVGVVEwaEpUa2RmVFU5T1QxOUJUa1JmVFVGVVVrbFlBRUZTWDBSRlJrRlZURlJmVUVGVVZFVlNUbDlFUlZSRlExUkpUMDVmVFU5RVJRQkJVbDlWVTBWZlZGSkJRMHRKVGtkZlNFbFRWRTlTV1FCQlVsOU9UMVZUUlY5VVVrRkRTMGxPUjE5SVNWTlVUMUpaQUVGU1gxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpYMVl5QUVGU1gwUkZSa0ZWVEZSZlRVRlNTMFZTWDBWWVZGSkJRMVJKVDA1ZlRVOUVSUUJCVWw5TlFWaGZURTlQVUY5RFQxVk9WQUJCVWw5TVQwOVFYMEpTUlVGTFgxUklVa1ZUU0FCQlVsOU1UMGRmVEVWV1JVeGZSRVZDVlVjQVFWSmZURTlIWDB4RlZrVk1YMGxPUms4QVFWSmZURTlIWDB4RlZrVk1YMWRCVWs0QVFWSmZURTlIWDB4RlZrVk1YMFZTVWs5U0FFRlNYMHhQUjE5TVJWWkZURjlTUlV4ZlNVNUdUd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE1BUVZKZlRVRlVVa2xZWDBOUFJFVmZNM2d6WDBoQlRVMUpUa2MyTXdCQlVsOU5RVlJTU1ZoZlEwOUVSVjh6ZUROZlVFRlNTVlJaTmpVQVFWSmZUVUZVVWtsWVgwTlBSRVZmTkhnMEFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk9WOHpBRUZTWDAxQlZGSkpXRjlEVDBSRlh6UjRORjlDUTBoZk1UTmZOVjgxQUVGU1gweEJRa1ZNU1U1SFgxUklVa1ZUU0Y5TlQwUkZYMDFCVGxWQlRBQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDFGUkVsQlRnQkJVbDlNUVVKRlRFbE9SMTlVU0ZKRlUwaGZUVTlFUlY5QlZWUlBYMDlVVTFVQVFWSmZURUZDUlV4SlRrZGZWRWhTUlZOSVgwMVBSRVZmUVZWVVQxOUJSRUZRVkVsV1JRQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUazlPUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlVFRlVWRVZTVGw5RldGUlNRVU5VU1U5T0FFRlNYMDFCVWt0RlVsOUpUa1pQWDBOVlZFOUdSbDlRU0VGVFJWOU5RVlJEU0Y5SFJVNUZVa2xEQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlEVDA1VVVrRlRWQUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVFVGVVEwaGZRa0ZTUTA5RVJWOU9UMVJmUms5VlRrUUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMDFCVkVOSVgwSkJVa05QUkVWZlJVUkRYMFpCU1V3QVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBOUFRrWkpSRVZPUTBVQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSUFRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMUJQVTBWZlJWSlNUMUpmVFZWTVZFa0FRVkpmVFVGU1MwVlNYMGxPUms5ZlExVlVUMFpHWDFCSVFWTkZYMGhGVlZKSlUxUkpRMTlVVWs5VlFreEZVMDlOUlY5TlFWUlNTVmhmUTA5RVJWTUFZV3hzYjJOaGRHOXlQRlErT2pwaGJHeHZZMkYwWlNoemFYcGxYM1FnYmlrZ0oyNG5JR1Y0WTJWbFpITWdiV0Y0YVcxMWJTQnpkWEJ3YjNKMFpXUWdjMmw2WlFCSmJXRm5aU0J3Y205akxpQnRiMlJsSUhObGRDQjBieUFsWkM0S0FFeGhZbVZzYVc1bklHMXZaR1VnYzJWMElIUnZJQ1ZrQ2dCMmFXbG1BRkJoZEhSbGNtNGdjbUYwYVc4Z2MybDZaU0J6WlhRZ2RHOGdKV1l1Q2dCUVlYUjBaWEp1SUdSbGRHVmpkR2x2YmlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUZSb2NtVnphRzlzWkNCelpYUWdkRzhnSldRS0FIWnBhV2tBVkdoeVpYTm9iMnhrSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0JrYVdrQWRtbHBaQUJwYVFCMmFXa0FiMjR1QUc5bVppNEFSR1ZpZFdjZ2JXOWtaU0J6WlhRZ2RHOGdKWE1LQUZSeVlXTnJhVzVuSUd4dmMzUXVJQ1ZrQ2dCVWNtRmphMlZrSUhCaFoyVWdKV1FnS0cxaGVDQWxaQ2t1Q2dCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXdPeUJwWmlBb0lXRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZEtTQjdJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRJRDBnS0hzZ2FXUTZJREFzSUdWeWNtOXlPaUF0TVN3Z1ptOTFibVE2SURBc0lIQnZjMlU2SUZzd0xEQXNNQ3d3TENBd0xEQXNNQ3d3TENBd0xEQXNNQ3d3WFNCOUtUc2dmU0IyWVhJZ2JXRnlhMlZ5U1c1bWJ5QTlJR0Z5ZEc5dmJHdHBkRnNpVGtaVVRXRnlhMlZ5U1c1bWJ5SmRPeUJ0WVhKclpYSkpibVp2V3lKcFpDSmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaVpYSnliM0lpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVp2ZFc1a0lsMGdQU0F4T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNbDBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk0xMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTkYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTjEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJPRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpY0c5elpTSmRXekV4WFNBOUlDUmhXMmtySzEwN0lIMEFleUIyWVhJZ0pHRWdQU0JoY21kMWJXVnVkSE03SUhaaGNpQnBJRDBnTURzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU2tnZXlCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFNBOUlDaDdJR2xrT2lBd0xDQmxjbkp2Y2pvZ0xURXNJR1p2ZFc1a09pQXdMQ0J3YjNObE9pQmJNQ3d3TERBc01Dd2dNQ3d3TERBc01Dd2dNQ3d3TERBc01GMGdmU2s3SUgwZ2RtRnlJRzFoY210bGNrbHVabThnUFNCaGNuUnZiMnhyYVhSYklrNUdWRTFoY210bGNrbHVabThpWFRzZ2JXRnlhMlZ5U1c1bWIxc2lhV1FpWFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbVZ5Y205eUlsMGdQU0F0TVRzZ2JXRnlhMlZ5U1c1bWIxc2labTkxYm1RaVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzd1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzelhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzMlhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzM1hTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNFhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzNVhTQTlJREE3SUcxaGNtdGxja2x1Wm05YkluQnZjMlVpWFZzeE1GMGdQU0F3T3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1URmRJRDBnTURzZ2ZRQjdJSFpoY2lBa1lTQTlJR0Z5WjNWdFpXNTBjenNnZG1GeUlHa2dQU0F4TWpzZ2FXWWdLQ0ZoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSW0xaGNtdGxja2x1Wm04aVhTQTlJQ2g3SUhCdmN6b2dXekFzTUYwc0lHeHBibVU2SUZ0Yk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkTENCYk1Dd3dMREJkWFN3Z2RtVnlkR1Y0T2lCYld6QXNNRjBzSUZzd0xEQmRMQ0JiTUN3d1hTd2dXekFzTUYxZElIMHBPeUI5SUhaaGNpQnRZWEpyWlhKSmJtWnZJRDBnWVhKMGIyOXNhMmwwV3lKdFlYSnJaWEpKYm1adklsMDdJRzFoY210bGNrbHVabTliSW1GeVpXRWlYU0E5SUNRd095QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKREU3SUcxaGNtdGxja2x1Wm05YkltbGtVR0YwZENKZElEMGdKREk3SUcxaGNtdGxja2x1Wm05YkltbGtUV0YwY21sNElsMGdQU0FrTXpzZ2JXRnlhMlZ5U1c1bWIxc2laR2x5SWwwZ1BTQWtORHNnYldGeWEyVnlTVzVtYjFzaVpHbHlVR0YwZENKZElEMGdKRFU3SUcxaGNtdGxja2x1Wm05YkltUnBjazFoZEhKcGVDSmRJRDBnSkRZN0lHMWhjbXRsY2tsdVptOWJJbU5tSWwwZ1BTQWtOenNnYldGeWEyVnlTVzVtYjFzaVkyWlFZWFIwSWwwZ1BTQWtPRHNnYldGeWEyVnlTVzVtYjFzaVkyWk5ZWFJ5YVhnaVhTQTlJQ1E1T3lCdFlYSnJaWEpKYm1adld5SndiM01pWFZzd1hTQTlJQ1F4TURzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6SWwxYk1WMGdQU0FrTVRFN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3dYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3hYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3lYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN3WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJbXhwYm1VaVhWc3pYVnN5WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXekJkV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTUYxYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKMlpYSjBaWGdpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6RmRXekZkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN5WFZzeFhTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pOZFd6QmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk0xMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5Smxjbkp2Y2tOdmNuSmxZM1JsWkNKZElEMGdKR0ZiYVNzclhUc2dmUUI3SUdsbUlDZ2hZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwcElIc2dZWEowYjI5c2EybDBXeUp0ZFd4MGFVVmhZMmhOWVhKclpYSkpibVp2SWwwZ1BTQW9lMzBwT3lCOUlIWmhjaUJ0ZFd4MGFVVmhZMmhOWVhKclpYSWdQU0JoY25SdmIyeHJhWFJiSW0xMWJIUnBSV0ZqYUUxaGNtdGxja2x1Wm04aVhUc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDJhWE5wWW14bEoxMGdQU0FrTURzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkd1lYUjBTV1FuWFNBOUlDUXhPeUJ0ZFd4MGFVVmhZMmhOWVhKclpYSmJKM0JoZEhSVWVYQmxKMTBnUFNBa01qc2diWFZzZEdsRllXTm9UV0Z5YTJWeVd5ZDNhV1IwYUNkZElEMGdKRE03SUgwQWFXbHBBRTVUZEROZlh6SXhNbUpoYzJsalgzTjBjbWx1WjBsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVk9VMTg1WVd4c2IyTmhkRzl5U1dORlJVVkZBRTVUZEROZlh6SXlNVjlmWW1GemFXTmZjM1J5YVc1blgyTnZiVzF2YmtsTVlqRkZSVVVBYkc5aFpFTmhiV1Z5WVNncE9pQkZjbkp2Y2lCc2IyRmthVzVuSUhCaGNtRnRaWFJsY2lCbWFXeGxJQ1Z6SUdadmNpQmpZVzFsY21FdUNnQnBhV2xwQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdUa1pVSUcxaGNtdGxjaTRLQUZKbFlXUnBibWNnSlhNdVpuTmxkRE1LQUdaelpYUXpBRVZ5Y205eUlISmxZV1JwYm1jZ1MxQk5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBNd29BSUNCQmMzTnBaMjVsWkNCd1lXZGxJRzV2TGlBbFpDNEtBRVZ5Y205eU9pQnJjRzFEYUdGdVoyVlFZV2RsVG05UFpsSmxaa1JoZEdGVFpYUUtBRVZ5Y205eU9pQnJjRzFOWlhKblpWSmxaa1JoZEdGVFpYUUtBQ0FnUkc5dVpTNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRBb0Fabk5sZEFCRmNuSnZjaUJ5WldGa2FXNW5JR1JoZEdFZ1puSnZiU0FsY3k1bWMyVjBDZ0JGY25KdmNqb2dhM0J0VTJWMFVtVm1SR0YwWVZObGRBb0FURzloWkdsdVp5QnZaaUJPUmxRZ1pHRjBZU0JqYjIxd2JHVjBaUzRLQUVGU1ZHOXZiRXRwZEVwVEtDazZJRlZ1WVdKc1pTQjBieUJ6WlhRZ2RYQWdRVklnYlhWc2RHbHRZWEpyWlhJdUNnQmpiMjVtYVdjZ1pHRjBZU0JzYjJGa0lHVnljbTl5SUNFaENnQkJVbFJ2YjJ4TGFYUktVeWdwT2lCVmJtRmliR1VnZEc4Z2MyVjBJSFZ3SUVGU0lHMWhjbXRsY2k0S0FHeHZZV1JOWVhKclpYSW9LVG9nUlhKeWIzSWdiRzloWkdsdVp5QndZWFIwWlhKdUlHWnBiR1VnSlhNdUNnQkZjbkp2Y2pvZ1lYSXlRM0psWVhSbFNHRnVaR3hsTGdvQWFXbHBhV2tBYzJWMGRYQW9LVG9nUlhKeWIzSTZJR0Z5VUdGMGRFTnlaV0YwWlVoaGJtUnNaUzRLQUVGc2JHOWpZWFJsWkNCMmFXUmxiMFp5WVcxbFUybDZaU0FsWkFvQWV5QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYU2tnZXlCaGNuUnZiMnhyYVhSYkltWnlZVzFsVFdGc2JHOWpJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQm1jbUZ0WlUxaGJHeHZZeUE5SUdGeWRHOXZiR3RwZEZzaVpuSmhiV1ZOWVd4c2IyTWlYVHNnWm5KaGJXVk5ZV3hzYjJOYkltWnlZVzFsY0c5cGJuUmxjaUpkSUQwZ0pERTdJR1p5WVcxbFRXRnNiRzlqV3lKbWNtRnRaWE5wZW1VaVhTQTlJQ1F5T3lCbWNtRnRaVTFoYkd4dlkxc2lZMkZ0WlhKaElsMGdQU0FrTXpzZ1puSmhiV1ZOWVd4c2IyTmJJblJ5WVc1elptOXliU0pkSUQwZ0pEUTdJR1p5WVcxbFRXRnNiRzlqV3lKMmFXUmxiMHgxYldGUWIybHVkR1Z5SWwwZ1BTQWtOVHNnZlFBcUtpb2dRMkZ0WlhKaElGQmhjbUZ0WlhSbGNpQnlaWE5wZW1Wa0lHWnliMjBnSldRc0lDVmtMaUFxS2lvS0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNqb2dZWEpRWVhKaGJVeFVRM0psWVhSbExnb0FjMlYwUTJGdFpYSmhLQ2s2SUVWeWNtOXlPaUJoY2tOeVpXRjBaVWhoYm1Sc1pTNEtBSE5sZEVOaGJXVnlZU2dwT2lCRmNuSnZjaUJqY21WaGRHbHVaeUF6UkNCb1lXNWtiR1VBVDNWMElHOW1JRzFsYlc5eWVTRWhDZ0JGY25KdmNqb2diV0ZzYkc5akNnQWpJeU1nUm1WaGRIVnlaU0JqWVc1a2FXUmhkR1Z6SUdadmNpQjBjbUZqYTJsdVp5QmhjbVVnYjNabGNtWnNiM2N1Q2dCQ2IyZDFjeUJ0WlhOellXZGxJR052WkdVZ0pXUUFRVXhKUjA1ZlZGbFFSU0JwY3lCM2NtOXVaeXdnY0d4bFlYTmxJR1pwZUFCTlFWaGZRVXhNVDBOZlEwaFZUa3NnYVhNZ2QzSnZibWNzSUhCc1pXRnpaU0JtYVhnQVFtOW5kWE1nWW5WbVptVnlJR052Ym5SeWIyd2diVzlrWlFCSmJuWmhiR2xrSUdOdmJYQnZibVZ1ZENCSlJDQWxaQ0JwYmlCVFQxTUFTVzUyWVd4cFpDQmpjbTl3SUhKbGNYVmxjM1FBUkVOVUlHTnZaV1ptYVdOcFpXNTBJRzkxZENCdlppQnlZVzVuWlFCRVExUWdjMk5oYkdWa0lHSnNiMk5ySUhOcGVtVWdKV1I0SldRZ2JtOTBJSE4xY0hCdmNuUmxaQUJEYjIxd2IyNWxiblFnYVc1a1pYZ2dKV1E2SUcxcGMyMWhkR05vYVc1bklITmhiWEJzYVc1bklISmhkR2x2SUNWa09pVmtMQ0FsWkRvbFpDd2dKV01BUW05bmRYTWdTSFZtWm0xaGJpQjBZV0pzWlNCa1pXWnBibWwwYVc5dUFFSnZaM1Z6SUdsdWNIVjBJR052Ykc5eWMzQmhZMlVBUW05bmRYTWdTbEJGUnlCamIyeHZjbk53WVdObEFFSnZaM1Z6SUcxaGNtdGxjaUJzWlc1bmRHZ0FWM0p2Ym1jZ1NsQkZSeUJzYVdKeVlYSjVJSFpsY25OcGIyNDZJR3hwWW5KaGNua2dhWE1nSldRc0lHTmhiR3hsY2lCbGVIQmxZM1J6SUNWa0FGTmhiWEJzYVc1bklHWmhZM1J2Y25NZ2RHOXZJR3hoY21kbElHWnZjaUJwYm5SbGNteGxZWFpsWkNCelkyRnVBRWx1ZG1Gc2FXUWdiV1Z0YjNKNUlIQnZiMndnWTI5a1pTQWxaQUJWYm5OMWNIQnZjblJsWkNCS1VFVkhJR1JoZEdFZ2NISmxZMmx6YVc5dUlDVmtBRWx1ZG1Gc2FXUWdjSEp2WjNKbGMzTnBkbVVnY0dGeVlXMWxkR1Z5Y3lCVGN6MGxaQ0JUWlQwbFpDQkJhRDBsWkNCQmJEMGxaQUJKYm5aaGJHbGtJSEJ5YjJkeVpYTnphWFpsSUhCaGNtRnRaWFJsY25NZ1lYUWdjMk5oYmlCelkzSnBjSFFnWlc1MGNua2dKV1FBUW05bmRYTWdjMkZ0Y0d4cGJtY2dabUZqZEc5eWN3QkpiblpoYkdsa0lITmpZVzRnYzJOeWFYQjBJR0YwSUdWdWRISjVJQ1ZrQUVsdGNISnZjR1Z5SUdOaGJHd2dkRzhnU2xCRlJ5QnNhV0p5WVhKNUlHbHVJSE4wWVhSbElDVmtBRXBRUlVjZ2NHRnlZVzFsZEdWeUlITjBjblZqZENCdGFYTnRZWFJqYURvZ2JHbGljbUZ5ZVNCMGFHbHVhM01nYzJsNlpTQnBjeUFsZFN3Z1kyRnNiR1Z5SUdWNGNHVmpkSE1nSlhVQVFtOW5kWE1nZG1seWRIVmhiQ0JoY25KaGVTQmhZMk5sYzNNQVFuVm1abVZ5SUhCaGMzTmxaQ0IwYnlCS1VFVkhJR3hwWW5KaGNua2dhWE1nZEc5dklITnRZV3hzQUZOMWMzQmxibk5wYjI0Z2JtOTBJR0ZzYkc5M1pXUWdhR1Z5WlFCRFEwbFNOakF4SUhOaGJYQnNhVzVuSUc1dmRDQnBiWEJzWlcxbGJuUmxaQ0I1WlhRQVZHOXZJRzFoYm5rZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3pvZ0pXUXNJRzFoZUNBbFpBQlZibk4xY0hCdmNuUmxaQ0JqYjJ4dmNpQmpiMjUyWlhKemFXOXVJSEpsY1hWbGMzUUFRbTluZFhNZ1JFRkRJR2x1WkdWNElDVmtBRUp2WjNWeklFUkJReUIyWVd4MVpTQXdlQ1Y0QUVKdlozVnpJRVJJVkNCcGJtUmxlQ0FsWkFCQ2IyZDFjeUJFVVZRZ2FXNWtaWGdnSldRQVJXMXdkSGtnU2xCRlJ5QnBiV0ZuWlNBb1JFNU1JRzV2ZENCemRYQndiM0owWldRcEFGSmxZV1FnWm5KdmJTQkZUVk1nWm1GcGJHVmtBRmR5YVhSbElIUnZJRVZOVXlCbVlXbHNaV1FBUkdsa2JpZDBJR1Y0Y0dWamRDQnRiM0psSUhSb1lXNGdiMjVsSUhOallXNEFTVzV3ZFhRZ1ptbHNaU0J5WldGa0lHVnljbTl5QUU5MWRIQjFkQ0JtYVd4bElIZHlhWFJsSUdWeWNtOXlJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVJuSmhZM1JwYjI1aGJDQnpZVzF3YkdsdVp5QnViM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRWgxWm1adFlXNGdZMjlrWlNCemFYcGxJSFJoWW14bElHOTJaWEptYkc5M0FFMXBjM05wYm1jZ1NIVm1abTFoYmlCamIyUmxJSFJoWW14bElHVnVkSEo1QUUxaGVHbHRkVzBnYzNWd2NHOXlkR1ZrSUdsdFlXZGxJR1JwYldWdWMybHZiaUJwY3lBbGRTQndhWGhsYkhNQVJXMXdkSGtnYVc1d2RYUWdabWxzWlFCUWNtVnRZWFIxY21VZ1pXNWtJRzltSUdsdWNIVjBJR1pwYkdVQVEyRnVibTkwSUhSeVlXNXpZMjlrWlNCa2RXVWdkRzhnYlhWc2RHbHdiR1VnZFhObElHOW1JSEYxWVc1MGFYcGhkR2x2YmlCMFlXSnNaU0FsWkFCVFkyRnVJSE5qY21sd2RDQmtiMlZ6SUc1dmRDQjBjbUZ1YzIxcGRDQmhiR3dnWkdGMFlRQkpiblpoYkdsa0lHTnZiRzl5SUhGMVlXNTBhWHBoZEdsdmJpQnRiMlJsSUdOb1lXNW5aUUJPYjNRZ2FXMXdiR1Z0Wlc1MFpXUWdlV1YwQUZKbGNYVmxjM1JsWkNCbVpXRjBkWEpsSUhkaGN5QnZiV2wwZEdWa0lHRjBJR052YlhCcGJHVWdkR2x0WlFCQmNtbDBhRzFsZEdsaklIUmhZbXhsSURCNEpUQXllQ0IzWVhNZ2JtOTBJR1JsWm1sdVpXUUFRbUZqYTJsdVp5QnpkRzl5WlNCdWIzUWdjM1Z3Y0c5eWRHVmtBRWgxWm1adFlXNGdkR0ZpYkdVZ01IZ2xNREo0SUhkaGN5QnViM1FnWkdWbWFXNWxaQUJLVUVWSElHUmhkR0Z6ZEhKbFlXMGdZMjl1ZEdGcGJuTWdibThnYVcxaFoyVUFVWFZoYm5ScGVtRjBhVzl1SUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVRtOTBJR0VnU2xCRlJ5Qm1hV3hsT2lCemRHRnlkSE1nZDJsMGFDQXdlQ1V3TW5nZ01IZ2xNREo0QUVsdWMzVm1abWxqYVdWdWRDQnRaVzF2Y25rZ0tHTmhjMlVnSldRcEFFTmhibTV2ZENCeGRXRnVkR2w2WlNCdGIzSmxJSFJvWVc0Z0pXUWdZMjlzYjNJZ1kyOXRjRzl1Wlc1MGN3QkRZVzV1YjNRZ2NYVmhiblJwZW1VZ2RHOGdabVYzWlhJZ2RHaGhiaUFsWkNCamIyeHZjbk1BUTJGdWJtOTBJSEYxWVc1MGFYcGxJSFJ2SUcxdmNtVWdkR2hoYmlBbFpDQmpiMnh2Y25NQVNXNTJZV3hwWkNCS1VFVkhJR1pwYkdVZ2MzUnlkV04wZFhKbE9pQWxjeUJpWldadmNtVWdVMDlHQUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QUmlCdFlYSnJaWEp6QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2JXbHpjMmx1WnlCVFQxTWdiV0Z5YTJWeUFGVnVjM1Z3Y0c5eWRHVmtJRXBRUlVjZ2NISnZZMlZ6Y3pvZ1UwOUdJSFI1Y0dVZ01IZ2xNREo0QUVsdWRtRnNhV1FnU2xCRlJ5Qm1hV3hsSUhOMGNuVmpkSFZ5WlRvZ2RIZHZJRk5QU1NCdFlYSnJaWEp6QUVaaGFXeGxaQ0IwYnlCamNtVmhkR1VnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BVW1WaFpDQm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVUyVmxheUJtWVdsc1pXUWdiMjRnZEdWdGNHOXlZWEo1SUdacGJHVUFWM0pwZEdVZ1ptRnBiR1ZrSUc5dUlIUmxiWEJ2Y21GeWVTQm1hV3hsSUMwdExTQnZkWFFnYjJZZ1pHbHpheUJ6Y0dGalpUOEFRWEJ3YkdsallYUnBiMjRnZEhKaGJuTm1aWEp5WldRZ2RHOXZJR1psZHlCelkyRnViR2x1WlhNQVZXNXpkWEJ3YjNKMFpXUWdiV0Z5YTJWeUlIUjVjR1VnTUhnbE1ESjRBRlpwY25SMVlXd2dZWEp5WVhrZ1kyOXVkSEp2Ykd4bGNpQnRaWE56WldRZ2RYQUFTVzFoWjJVZ2RHOXZJSGRwWkdVZ1ptOXlJSFJvYVhNZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRBVW1WaFpDQm1jbTl0SUZoTlV5Qm1ZV2xzWldRQVYzSnBkR1VnZEc4Z1dFMVRJR1poYVd4bFpBQkRiM0I1Y21sbmFIUWdLRU1wSURJd01UZ3NJRlJvYjIxaGN5QkhMaUJNWVc1bExDQkhkV2xrYnlCV2IyeHNZbVZrYVc1bkFEbGpJQ0F4TkMxS1lXNHRNakF4T0FCRFlYVjBhVzl1T2lCeGRXRnVkR2w2WVhScGIyNGdkR0ZpYkdWeklHRnlaU0IwYjI4Z1kyOWhjbk5sSUdadmNpQmlZWE5sYkdsdVpTQktVRVZIQUVGa2IySmxJRUZRVURFMElHMWhjbXRsY2pvZ2RtVnljMmx2YmlBbFpDd2dabXhoWjNNZ01IZ2xNRFI0SURCNEpUQTBlQ3dnZEhKaGJuTm1iM0p0SUNWa0FGVnVhMjV2ZDI0Z1FWQlFNQ0J0WVhKclpYSWdLRzV2ZENCS1JrbEdLU3dnYkdWdVozUm9JQ1YxQUZWdWEyNXZkMjRnUVZCUU1UUWdiV0Z5YTJWeUlDaHViM1FnUVdSdlltVXBMQ0JzWlc1bmRHZ2dKWFVBUkdWbWFXNWxJRUZ5YVhSb2JXVjBhV01nVkdGaWJHVWdNSGdsTURKNE9pQXdlQ1V3TW5nQVJHVm1hVzVsSUVoMVptWnRZVzRnVkdGaWJHVWdNSGdsTURKNEFFUmxabWx1WlNCUmRXRnVkR2w2WVhScGIyNGdWR0ZpYkdVZ0pXUWdJSEJ5WldOcGMybHZiaUFsWkFCRVpXWnBibVVnVW1WemRHRnlkQ0JKYm5SbGNuWmhiQ0FsZFFCR2NtVmxaQ0JGVFZNZ2FHRnVaR3hsSUNWMUFFOWlkR0ZwYm1Wa0lFVk5VeUJvWVc1a2JHVWdKWFVBUlc1a0lFOW1JRWx0WVdkbEFDQWdJQ0FnSUNBZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpDQWxNMlFnSlROa0lDVXpaQUJLUmtsR0lFRlFVREFnYldGeWEyVnlPaUIyWlhKemFXOXVJQ1ZrTGlVd01tUXNJR1JsYm5OcGRIa2dKV1I0SldRZ0lDVmtBRmRoY201cGJtYzZJSFJvZFcxaWJtRnBiQ0JwYldGblpTQnphWHBsSUdSdlpYTWdibTkwSUcxaGRHTm9JR1JoZEdFZ2JHVnVaM1JvSUNWMUFFcEdTVVlnWlhoMFpXNXphVzl1SUcxaGNtdGxjam9nZEhsd1pTQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQWdJQ0FnZDJsMGFDQWxaQ0I0SUNWa0lIUm9kVzFpYm1GcGJDQnBiV0ZuWlFCTmFYTmpaV3hzWVc1bGIzVnpJRzFoY210bGNpQXdlQ1V3TW5nc0lHeGxibWQwYUNBbGRRQlZibVY0Y0dWamRHVmtJRzFoY210bGNpQXdlQ1V3TW5nQUlDQWdJQ0FnSUNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUlDVTBkU0FsTkhVZ0pUUjFBRkYxWVc1MGFYcHBibWNnZEc4Z0pXUWdQU0FsWkNvbFpDb2xaQ0JqYjJ4dmNuTUFVWFZoYm5ScGVtbHVaeUIwYnlBbFpDQmpiMnh2Y25NQVUyVnNaV04wWldRZ0pXUWdZMjlzYjNKeklHWnZjaUJ4ZFdGdWRHbDZZWFJwYjI0QVFYUWdiV0Z5YTJWeUlEQjRKVEF5ZUN3Z2NtVmpiM1psY25rZ1lXTjBhVzl1SUNWa0FGSlRWQ1ZrQUZOdGIyOTBhR2x1WnlCdWIzUWdjM1Z3Y0c5eWRHVmtJSGRwZEdnZ2JtOXVjM1JoYm1SaGNtUWdjMkZ0Y0d4cGJtY2djbUYwYVc5ekFGTjBZWEowSUU5bUlFWnlZVzFsSURCNEpUQXllRG9nZDJsa2RHZzlKWFVzSUdobGFXZG9kRDBsZFN3Z1kyOXRjRzl1Wlc1MGN6MGxaQUFnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUFsWkdoNEpXUjJJSEU5SldRQVUzUmhjblFnYjJZZ1NXMWhaMlVBVTNSaGNuUWdUMllnVTJOaGJqb2dKV1FnWTI5dGNHOXVaVzUwY3dBZ0lDQWdRMjl0Y0c5dVpXNTBJQ1ZrT2lCa1l6MGxaQ0JoWXowbFpBQWdJRk56UFNWa0xDQlRaVDBsWkN3Z1FXZzlKV1FzSUVGc1BTVmtBRU5zYjNObFpDQjBaVzF3YjNKaGNua2dabWxzWlNBbGN3QlBjR1Z1WldRZ2RHVnRjRzl5WVhKNUlHWnBiR1VnSlhNQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJLVUVWSExXTnZiWEJ5WlhOelpXUWdkR2gxYldKdVlXbHNJR2x0WVdkbExDQnNaVzVuZEdnZ0pYVUFTa1pKUmlCbGVIUmxibk5wYjI0Z2JXRnlhMlZ5T2lCd1lXeGxkSFJsSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dVa2RDSUhSb2RXMWlibUZwYkNCcGJXRm5aU3dnYkdWdVozUm9JQ1YxQUZWdWNtVmpiMmR1YVhwbFpDQmpiMjF3YjI1bGJuUWdTVVJ6SUNWa0lDVmtJQ1ZrTENCaGMzTjFiV2x1WnlCWlEySkRjZ0JHY21WbFpDQllUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUZoTlV5Qm9ZVzVrYkdVZ0pYVUFWVzVyYm05M2JpQkJaRzlpWlNCamIyeHZjaUIwY21GdWMyWnZjbTBnWTI5a1pTQWxaQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nWW1Ga0lHRnlhWFJvYldWMGFXTWdZMjlrWlFCSmJtTnZibk5wYzNSbGJuUWdjSEp2WjNKbGMzTnBiMjRnYzJWeGRXVnVZMlVnWm05eUlHTnZiWEJ2Ym1WdWRDQWxaQ0JqYjJWbVptbGphV1Z1ZENBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dKWFVnWlhoMGNtRnVaVzkxY3lCaWVYUmxjeUJpWldadmNtVWdiV0Z5YTJWeUlEQjRKVEF5ZUFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ2NISmxiV0YwZFhKbElHVnVaQ0J2WmlCa1lYUmhJSE5sWjIxbGJuUUFRMjl5Y25Wd2RDQktVRVZISUdSaGRHRTZJR0poWkNCSWRXWm1iV0Z1SUdOdlpHVUFWMkZ5Ym1sdVp6b2dkVzVyYm05M2JpQktSa2xHSUhKbGRtbHphVzl1SUc1MWJXSmxjaUFsWkM0bE1ESmtBRkJ5WlcxaGRIVnlaU0JsYm1RZ2IyWWdTbEJGUnlCbWFXeGxBRU52Y25KMWNIUWdTbEJGUnlCa1lYUmhPaUJtYjNWdVpDQnRZWEpyWlhJZ01IZ2xNREo0SUdsdWMzUmxZV1FnYjJZZ1VsTlVKV1FBU1c1MllXeHBaQ0JUVDFNZ2NHRnlZVzFsZEdWeWN5Qm1iM0lnYzJWeGRXVnVkR2xoYkNCS1VFVkhBRUZ3Y0d4cFkyRjBhVzl1SUhSeVlXNXpabVZ5Y21Wa0lIUnZieUJ0WVc1NUlITmpZVzVzYVc1bGN3QktVRVZIVFVWTkFDVnNaQ1ZqQUZOUFV3Qk1VMFVBSlhNS0FISjNZUUJwYm1acGJtbDBlUUFBQVFJRUJ3TUdCUUF0S3lBZ0lEQllNSGdBS0c1MWJHd3BBQzB3V0Nzd1dDQXdXQzB3ZUNzd2VDQXdlQUJwYm1ZQVNVNUdBRzVoYmdCT1FVNEFMZ0JNUTE5QlRFd0FURUZPUndCRExsVlVSaTA0QUZCUFUwbFlBRTFWVTB4ZlRFOURVRUZVU0FCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpPaUFsY3dCMFpYSnRhVzVoZEdsdVp5QjNhWFJvSUNWeklHVjRZMlZ3ZEdsdmJpQnZaaUIwZVhCbElDVnpBSFJsY20xcGJtRjBhVzVuSUhkcGRHZ2dKWE1nWm05eVpXbG5iaUJsZUdObGNIUnBiMjRBZEdWeWJXbHVZWFJwYm1jQWRXNWpZWFZuYUhRQVUzUTVaWGhqWlhCMGFXOXVBRTR4TUY5ZlkzaDRZV0pwZGpFeE5sOWZjMmhwYlY5MGVYQmxYMmx1Wm05RkFGTjBPWFI1Y0dWZmFXNW1id0JPTVRCZlgyTjRlR0ZpYVhZeE1qQmZYM05wWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBVGpFd1gxOWplSGhoWW1sMk1URTNYMTlqYkdGemMxOTBlWEJsWDJsdVptOUZBSFJsY20xcGJtRjBaVjlvWVc1a2JHVnlJSFZ1Wlhod1pXTjBaV1JzZVNCeVpYUjFjbTVsWkFCVGRERXhiRzluYVdOZlpYSnliM0lBVTNReE1teGxibWQwYUY5bGNuSnZjZ0JPTVRCZlgyTjRlR0ZpYVhZeE1UZGZYM0JpWVhObFgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFNVgxOXdiMmx1ZEdWeVgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRJelgxOW1kVzVrWVcxbGJuUmhiRjkwZVhCbFgybHVabTlGQUhZQVlnQmpBR2dBWVFCekFIUUFhUUJxQUcwQVpnQmtBRTR4TUY5ZlkzaDRZV0pwZGpFeU1WOWZkbTFwWDJOc1lYTnpYM1I1Y0dWZmFXNW1iMFVBZG05cFpBQmliMjlzQUdOb1lYSUFjMmxuYm1Wa0lHTm9ZWElBZFc1emFXZHVaV1FnWTJoaGNnQnphRzl5ZEFCMWJuTnBaMjVsWkNCemFHOXlkQUJwYm5RQWRXNXphV2R1WldRZ2FXNTBBR3h2Ym1jQWRXNXphV2R1WldRZ2JHOXVad0JtYkc5aGRBQmtiM1ZpYkdVQWMzUmtPanB6ZEhKcGJtY0FjM1JrT2pwaVlYTnBZMTl6ZEhKcGJtYzhkVzV6YVdkdVpXUWdZMmhoY2o0QWMzUmtPanAzYzNSeWFXNW5BSE4wWkRvNmRURTJjM1J5YVc1bkFITjBaRG82ZFRNeWMzUnlhVzVuQUdWdGMyTnlhWEIwWlc0Nk9uWmhiQUJsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGphR0Z5UGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenh6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnWTJoaGNqNEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGMyaHZjblErQUdWdGMyTnlhWEIwWlc0Nk9tMWxiVzl5ZVY5MmFXVjNQSFZ1YzJsbmJtVmtJSE5vYjNKMFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lHbHVkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4ZFc1emFXZHVaV1FnYkc5dVp6NEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGFXNTBPRjkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHBiblF4Tmw5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4MWFXNTBNVFpmZEQ0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME16SmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkV2x1ZERNeVgzUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHWnNiMkYwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhrYjNWaWJHVStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BHeHZibWNnWkc5MVlteGxQZ0JPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxsUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSlpFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV1pGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBsdFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpiRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1dwRlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbHBSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKZEVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NYTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGxvUlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSllVVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV05GUlFCT01UQmxiWE5qY21sd2RHVnVNM1poYkVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJwVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYVVWRlRsTmZPV0ZzYkc5allYUnZja2xFYVVWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1VSelRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsRWMwVkZUbE5mT1dGc2JHOWpZWFJ2Y2tsRWMwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVTVUWHpsaGJHeHZZMkYwYjNKSmQwVkZSVVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNXaE9VMTh4TVdOb1lYSmZkSEpoYVhSelNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBVGxOME0xOWZNamhwYjNOZlltRnpaVVVBVGxOME0xOWZNamxpWVhOcFkxOXBiM05KWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFMVltRnphV05mYzNSeVpXRnRZblZtU1dOT1UxOHhNV05vWVhKZmRISmhhWFJ6U1dORlJVVkZBRTVUZEROZlh6SXhOV0poYzJsalgzTjBjbVZoYldKMVprbDNUbE5mTVRGamFHRnlYM1J5WVdsMGMwbDNSVVZGUlFCT1UzUXpYMTh5TVROaVlYTnBZMTlwYzNSeVpXRnRTV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE0ySmhjMmxqWDJsemRISmxZVzFKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVUFUbE4wTTE5Zk1qRXpZbUZ6YVdOZmIzTjBjbVZoYlVsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXZjM1J5WldGdFNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGQUU1VGRETmZYekl4TVY5ZmMzUmtiM1YwWW5WbVNYZEZSUUJPVTNRelgxOHlNVEZmWDNOMFpHOTFkR0oxWmtsalJVVUFkVzV6ZFhCd2IzSjBaV1FnYkc5allXeGxJR1p2Y2lCemRHRnVaR0Z5WkNCcGJuQjFkQUJPVTNRelgxOHlNVEJmWDNOMFpHbHVZblZtU1hkRlJRQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TV05GUlFCT1UzUXpYMTh5TjJOdmJHeGhkR1ZKWTBWRkFFNVRkRE5mWHpJMmJHOWpZV3hsTldaaFkyVjBSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpkMFZGQUNWd0FFTUFUbE4wTTE5Zk1qZHVkVzFmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5T1Y5ZmJuVnRYMmRsZEVsalJVVUFUbE4wTTE5Zk1qRTBYMTl1ZFcxZloyVjBYMkpoYzJWRkFFNVRkRE5mWHpJM2JuVnRYMmRsZEVsM1RsTmZNVGxwYzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNamxmWDI1MWJWOW5aWFJKZDBWRkFDVndBQUFBQUV3QWJHd0FKUUFBQUFBQWJBQk9VM1F6WDE4eU4yNTFiVjl3ZFhSSlkwNVRYekU1YjNOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsalRsTmZNVEZqYUdGeVgzUnlZV2wwYzBsalJVVkZSVVZGQUU1VGRETmZYekk1WDE5dWRXMWZjSFYwU1dORlJRQk9VM1F6WDE4eU1UUmZYMjUxYlY5d2RYUmZZbUZ6WlVVQVRsTjBNMTlmTWpkdWRXMWZjSFYwU1hkT1UxOHhPVzl6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKZDA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KZDBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgzQjFkRWwzUlVVQUpVZzZKVTA2SlZNQUpXMHZKV1F2SlhrQUpVazZKVTA2SlZNZ0pYQUFKV0VnSldJZ0pXUWdKVWc2SlUwNkpWTWdKVmtBUVUwQVVFMEFTbUZ1ZFdGeWVRQkdaV0p5ZFdGeWVRQk5ZWEpqYUFCQmNISnBiQUJOWVhrQVNuVnVaUUJLZFd4NUFFRjFaM1Z6ZEFCVFpYQjBaVzFpWlhJQVQyTjBiMkpsY2dCT2IzWmxiV0psY2dCRVpXTmxiV0psY2dCS1lXNEFSbVZpQUUxaGNnQkJjSElBU25WdUFFcDFiQUJCZFdjQVUyVndBRTlqZEFCT2IzWUFSR1ZqQUZOMWJtUmhlUUJOYjI1a1lYa0FWSFZsYzJSaGVRQlhaV1J1WlhOa1lYa0FWR2gxY25Oa1lYa0FSbkpwWkdGNUFGTmhkSFZ5WkdGNUFGTjFiZ0JOYjI0QVZIVmxBRmRsWkFCVWFIVUFSbkpwQUZOaGRBQWxiUzhsWkM4bGVTVlpMU1Z0TFNWa0pVazZKVTA2SlZNZ0pYQWxTRG9sVFNWSU9pVk5PaVZUSlVnNkpVMDZKVk5PVTNRelgxOHlPSFJwYldWZloyVjBTV05PVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM1JwYldWZloyVjBYMk5mYzNSdmNtRm5aVWxqUlVVQVRsTjBNMTlmTWpsMGFXMWxYMkpoYzJWRkFFNVRkRE5mWHpJNGRHbHRaVjluWlhSSmQwNVRYekU1YVhOMGNtVmhiV0oxWmw5cGRHVnlZWFJ2Y2tsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSVVZGQUU1VGRETmZYekl5TUY5ZmRHbHRaVjluWlhSZlkxOXpkRzl5WVdkbFNYZEZSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTV05PVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVWRlJRQk9VM1F6WDE4eU1UQmZYM1JwYldWZmNIVjBSUUJPVTNRelgxOHlPSFJwYldWZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1UQnRiMjVsZVhCMWJtTjBTV05NWWpCRlJVVUFUbE4wTTE5Zk1qRXdiVzl1WlhsZlltRnpaVVVBVGxOME0xOWZNakV3Ylc5dVpYbHdkVzVqZEVsalRHSXhSVVZGQUU1VGRETmZYekl4TUcxdmJtVjVjSFZ1WTNSSmQweGlNRVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNYZE1ZakZGUlVVQU1ERXlNelExTmpjNE9RQWxUR1lBVGxOME0xOWZNamx0YjI1bGVWOW5aWFJKWTA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZaMlYwU1dORlJRQXdNVEl6TkRVMk56ZzVBRTVUZEROZlh6STViVzl1WlhsZloyVjBTWGRPVTE4eE9XbHpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU1URmZYMjF2Ym1WNVgyZGxkRWwzUlVVQUpTNHdUR1lBVGxOME0xOWZNamx0YjI1bGVWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6SXhNVjlmYlc5dVpYbGZjSFYwU1dORlJRQk9VM1F6WDE4eU9XMXZibVY1WDNCMWRFbDNUbE5mTVRsdmMzUnlaV0Z0WW5WbVgybDBaWEpoZEc5eVNYZE9VMTh4TVdOb1lYSmZkSEpoYVhSelNYZEZSVVZGUlVVQVRsTjBNMTlmTWpFeFgxOXRiMjVsZVY5d2RYUkpkMFZGQUU1VGRETmZYekk0YldWemMyRm5aWE5KWTBWRkFFNVRkRE5mWHpJeE0yMWxjM05oWjJWelgySmhjMlZGQUU1VGRETmZYekl4TjE5ZmQybGtaVzVmWm5KdmJWOTFkR1k0U1V4dE16SkZSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTVVJwWXpFeFgxOXRZbk4wWVhSbFgzUkZSUUJPVTNRelgxOHlNVEpqYjJSbFkzWjBYMkpoYzJWRkFFNVRkRE5mWHpJeE5sOWZibUZ5Y205M1gzUnZYM1YwWmpoSlRHMHpNa1ZGUlFCT1UzUXpYMTh5T0cxbGMzTmhaMlZ6U1hkRlJRQk9VM1F6WDE4eU4yTnZaR1ZqZG5SSlkyTXhNVjlmYldKemRHRjBaVjkwUlVVQVRsTjBNMTlmTWpkamIyUmxZM1owU1hkak1URmZYMjFpYzNSaGRHVmZkRVZGQUU1VGRETmZYekkzWTI5a1pXTjJkRWxFYzJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNalpzYjJOaGJHVTFYMTlwYlhCRkFFNVRkRE5mWHpJMVkzUjVjR1ZKWTBWRkFFNVRkRE5mWHpJeE1HTjBlWEJsWDJKaGMyVkZBRTVUZEROZlh6STFZM1I1Y0dWSmQwVkZBR1poYkhObEFIUnlkV1VBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWxqUlVVQVRsTjBNMTlmTWpodWRXMXdkVzVqZEVsM1JVVUFUbE4wTTE5Zk1qRTBYMTl6YUdGeVpXUmZZMjkxYm5SRkFFNVRkRE5mWHpJeE9WOWZjMmhoY21Wa1gzZGxZV3RmWTI5MWJuUkZBRUh3dmdNTEFRRUFRWmpBQXd0YVhFZ0FBQUVBQUFCOFNBQUFBUUFBQU5CUUFBQUJBQUFBSUNJQUFBQUFBQUNVVVFBQUFRQUFBTmhSQUFBQkFBQUFqRkFBQUFFQUFBQk00Z0FBQUFBQUFBaFNBQUFCQUFBQU9GSUFBQUVBQUFBRVVRQUFBUUFBQUM0c0FFR0F3UU1MRFN4UkFBQUJBQUFBTGdBQUFDd0FRYURCQXd2SkFweElBQUFCQUFBQTNFZ0FBQUVBQUFBY1NRQUFBUUFBQUZCSkFBQUJBQUFBbkU0QUFBRUFBQURVVGdBQUFRQUFBQXhQQUFBQkFBQUFSRThBQUFFQUFBQjhUd0FBQVFBQUFKaFBBQUFCQUFBQXRFOEFBQUVBQUFEUVR3QUFBUUFBQUlSSkFBQUJBQUFBdEVrQUFBQUFBQURZU1FBQUFRQUFBQWhLQUFBQUFBQUFiRTRBQUFFQUFBQk00Z0FBQUFBQUFJUk9BQUFCQUFBQVRPSUFBQUFBQUFEc1R3QUFBUUFBQUF4UUFBQUJBQUFBQVFBQUFBQUFBQUM4VUFBQUR3QUFBSERoQUFEZzRRQUE0T0VBQUFBQUFBQVk0QUFBSU9BQUFDamdBQUE0NEFBQVFPQUFBRWpnQUFCWTRBQUFZT0FBQUdqZ0FBQ0E0QUFBb09BQUFLamdBQUN3NEFBQXVPQUFBTURnQUFESTRBQUEwT0FBQU5qZ0FBRGc0QUFBNk9BQUFQRGdBQUQ0NEFBQUFPRUFBQkRoQUFBZzRRQUFNT0VBQUVEaEFBQkk0UUFBQVFBQUFBQUFBQUJEQUVIend3TUxCZ0VBQUFBQUFRQkI2TVVEQ3hHZ1JnQUFBQUFBQUxSR0FBQUNFQUFBQmdCQmlNWURDd2FRNVFBQVdPRUFRYmpHQXdzWm1PTUFBUC8vLy8vUVJnQUFBQUFBQU9SR0FBQUNFQUFBQmdCQjRNWURDd2JRNVFBQVdPRUFRWkRIQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUcweHdNTEJoRG1BQUJZNFFCQjZNY0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCaU1nREN3Wkk1Z0FBV09FQVFieklBd3NSLy8vLy93QkhBQUFVUndBQUFqQUFBQVlBUWR6SUF3c0dnT1lBQUZqaEFFR015UU1MRlpqakFBRC8vLy8vTUVjQUFFUkhBQUFDTUFBQUJnQkJzTWtEQ3dhNDVnQUFXT0VBUWVESkF3c1Y3T01BQVAvLy8vOEFSd0FBRkVjQUFBSVFBQUFHQUVHRXlnTUxCb0RtQUFCWTRRQkJ1TW9EQ3hILy8vLy9NRWNBQUVSSEFBQUNFQUFBQmdCQjJNb0RDd2E0NWdBQVdPRUFRWXpMQXdzSy8vLy8veHhJQUFCWTRRQkJzTXNEQ3hiNE9RQUFRT0FBQU1qbEFBQUJBQUFBLy8vLy93QUJBRUhReXdNTEJ0eEhBQUJZNFFCQjhNc0RDeFQ0T1FBQVNPQUFBQWptQUFBQkFBQUEvLy8vL3dCQmtNd0RDd2FjUndBQVdPRUFRYkRNQXdzTmlEb0FBRURnQUFCQTVnQUFBUUJCeU13REN3WmNSd0FBV09FQVFlak1Bd3NLaURvQUFFamdBQUI0NWdCQmdNMERDd2FjUndBQVdPRUFRYUROQXdzTmFEa0FBRURnQUFDdzVnQUFBUUJCdU0wREN3WmNSd0FBV09FQVFkak5Bd3NLYURrQUFFamdBQURvNWdCQjhNMERDMVgvLy8vL0FRQUFBUC8vLy84Q0FBQUEvLy8vL3dNQUFBQk00Z0FBSEFBQUFQLy8vLzhKQUFBQS8vLy8vd3NBQUFELy8vLy9CQUFBQVAvLy8vOEtBQUFBLy8vLy93d0FBQUQvLy8vL0RRQUFBUC8vLy84T0FFR0V6d01MQmYvLy8vOFhBRUhJendNTGxnSC8vLy8vR0FBQUFQLy8vLzhaQUFBQS8vLy8veG9BQUFELy8vLy9Ed0FBQVAvLy8vOFFBQUFBLy8vLy94RUFBQUQvLy8vL0VnQUFBUC8vLy84VEFBQUEvLy8vL3hRQUFBRC8vLy8vRlFBQUFQLy8vLzhXQUFBQS8vLy8veHNBQUFELy8vLy9IQUFBQVAvLy8vOEZBQUFBLy8vLy93WUFBQUQvLy8vL0J3QUFBUC8vLy84SUFBQUFXT0VBQUZEb0FBQlk0UUFBV09nQVFmRGVBd3NDV09FQVFZRGZBd3NGT09nQUFJOEFRWkRmQXdzUmp3QUFBQUFBQUFDZzd3QUFBQUFBQUk4PVwiO2Z1bmN0aW9uIGxBKCl7dHJ5e2lmKG4pcmV0dXJuIG5ldyBVaW50OEFycmF5KG4pO3ZhciBBPWpnKGZBKTtpZihBKXJldHVybiBBO2lmKGgpcmV0dXJuIGgoZkEpO3Rocm93XCJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZFwifWNhdGNoKEEpe0pBKEEpfX1mdW5jdGlvbiB1QSgpe3JldHVybiBufHwhaSYmIW98fFwiZnVuY3Rpb25cIiE9dHlwZW9mIGZldGNoP25ldyBQcm9taXNlKChmdW5jdGlvbihBLEkpe0EobEEoKSl9KSk6ZmV0Y2goZkEse2NyZWRlbnRpYWxzOlwic2FtZS1vcmlnaW5cIn0pLnRoZW4oKGZ1bmN0aW9uKEEpe2lmKCFBLm9rKXRocm93XCJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICdcIitmQStcIidcIjtyZXR1cm4gQS5hcnJheUJ1ZmZlcigpfSkpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBsQSgpfSkpfWZ1bmN0aW9uIFdBKCl7dmFyIEk9e2VudjpCQix3YXNpX3NuYXBzaG90X3ByZXZpZXcxOkJCLGdsb2JhbDp7TmFOOk5hTixJbmZpbml0eToxLzB9LFwiZ2xvYmFsLk1hdGhcIjpNYXRoLGFzbTJ3YXNtOmt9O2Z1bmN0aW9uIGcoSSxnKXt2YXIgQj1JLmV4cG9ydHM7QS5hc209QixlQSgpfWZ1bmN0aW9uIEIoQSl7ZyhBLmluc3RhbmNlKX1mdW5jdGlvbiBDKEEpe3JldHVybiB1QSgpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShBLEkpfSkpLnRoZW4oQSwoZnVuY3Rpb24oQSl7UyhcImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206IFwiK0EpLEpBKEEpfSkpfWlmKFlBKCksQS5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBBLmluc3RhbnRpYXRlV2FzbShJLGcpfWNhdGNoKEEpe3JldHVybiBTKFwiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogXCIrQSksITF9cmV0dXJuIGZ1bmN0aW9uKCl7aWYobnx8XCJmdW5jdGlvblwiIT10eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmd8fExBKGZBKXx8XCJmdW5jdGlvblwiIT10eXBlb2YgZmV0Y2gpcmV0dXJuIEMoQik7ZmV0Y2goZkEse2NyZWRlbnRpYWxzOlwic2FtZS1vcmlnaW5cIn0pLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhBLEkpLnRoZW4oQiwoZnVuY3Rpb24oQSl7UyhcIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiBcIitBKSxTKFwiZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb25cIiksQyhCKX0pKX0pKX0oKSx7fX1MQShmQSl8fChmQT15KGZBKSksQS5hc209V0E7dmFyIHBBPVtmdW5jdGlvbihBLEksZyxCLEMsUSl7YXJ0b29sa2l0LmZyYW1lTWFsbG9jfHwoYXJ0b29sa2l0LmZyYW1lTWFsbG9jPXt9KTt2YXIgRT1hcnRvb2xraXQuZnJhbWVNYWxsb2M7RS5mcmFtZXBvaW50ZXI9SSxFLmZyYW1lc2l6ZT1nLEUuY2FtZXJhPUIsRS50cmFuc2Zvcm09QyxFLnZpZGVvTHVtYVBvaW50ZXI9UX0sZnVuY3Rpb24oQSxJLGcsQil7YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm98fChhcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbz17fSk7dmFyIEM9YXJ0b29sa2l0Lm11bHRpRWFjaE1hcmtlckluZm87Qy52aXNpYmxlPUEsQy5wYXR0SWQ9SSxDLnBhdHRUeXBlPWcsQy53aWR0aD1CfSxmdW5jdGlvbihBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCl7dmFyIHE9YXJndW1lbnRzLGQ9MTI7YXJ0b29sa2l0Lm1hcmtlckluZm98fChhcnRvb2xraXQubWFya2VySW5mbz17cG9zOlswLDBdLGxpbmU6W1swLDAsMF0sWzAsMCwwXSxbMCwwLDBdLFswLDAsMF1dLHZlcnRleDpbWzAsMF0sWzAsMF0sWzAsMF0sWzAsMF1dfSk7dmFyIGY9YXJ0b29sa2l0Lm1hcmtlckluZm87Zi5hcmVhPUEsZi5pZD1JLGYuaWRQYXR0PWcsZi5pZE1hdHJpeD1CLGYuZGlyPUMsZi5kaXJQYXR0PVEsZi5kaXJNYXRyaXg9RSxmLmNmPWksZi5jZlBhdHQ9byxmLmNmTWF0cml4PUQsZi5wb3NbMF09YSxmLnBvc1sxXT13LGYubGluZVswXVswXT1xW2QrK10sZi5saW5lWzBdWzFdPXFbZCsrXSxmLmxpbmVbMF1bMl09cVtkKytdLGYubGluZVsxXVswXT1xW2QrK10sZi5saW5lWzFdWzFdPXFbZCsrXSxmLmxpbmVbMV1bMl09cVtkKytdLGYubGluZVsyXVswXT1xW2QrK10sZi5saW5lWzJdWzFdPXFbZCsrXSxmLmxpbmVbMl1bMl09cVtkKytdLGYubGluZVszXVswXT1xW2QrK10sZi5saW5lWzNdWzFdPXFbZCsrXSxmLmxpbmVbM11bMl09cVtkKytdLGYudmVydGV4WzBdWzBdPXFbZCsrXSxmLnZlcnRleFswXVsxXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMF09cVtkKytdLGYudmVydGV4WzFdWzFdPXFbZCsrXSxmLnZlcnRleFsyXVswXT1xW2QrK10sZi52ZXJ0ZXhbMl1bMV09cVtkKytdLGYudmVydGV4WzNdWzBdPXFbZCsrXSxmLnZlcnRleFszXVsxXT1xW2QrK10sZi5lcnJvckNvcnJlY3RlZD1xW2QrK119LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyl7dmFyIGg9YXJndW1lbnRzLHM9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIFI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Ui5pZD1oW3MrK10sUi5lcnJvcj1oW3MrK10sUi5mb3VuZD0xLFIucG9zZVswXT1oW3MrK10sUi5wb3NlWzFdPWhbcysrXSxSLnBvc2VbMl09aFtzKytdLFIucG9zZVszXT1oW3MrK10sUi5wb3NlWzRdPWhbcysrXSxSLnBvc2VbNV09aFtzKytdLFIucG9zZVs2XT1oW3MrK10sUi5wb3NlWzddPWhbcysrXSxSLnBvc2VbOF09aFtzKytdLFIucG9zZVs5XT1oW3MrK10sUi5wb3NlWzEwXT1oW3MrK10sUi5wb3NlWzExXT1oW3MrK119LGZ1bmN0aW9uKEEpe3ZhciBJPWFyZ3VtZW50cyxnPTA7YXJ0b29sa2l0Lk5GVE1hcmtlckluZm98fChhcnRvb2xraXQuTkZUTWFya2VySW5mbz17aWQ6MCxlcnJvcjotMSxmb3VuZDowLHBvc2U6WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXX0pO3ZhciBCPWFydG9vbGtpdC5ORlRNYXJrZXJJbmZvO0IuaWQ9SVtnKytdLEIuZXJyb3I9LTEsQi5mb3VuZD0wLEIucG9zZVswXT0wLEIucG9zZVsxXT0wLEIucG9zZVsyXT0wLEIucG9zZVszXT0wLEIucG9zZVs0XT0wLEIucG9zZVs1XT0wLEIucG9zZVs2XT0wLEIucG9zZVs3XT0wLEIucG9zZVs4XT0wLEIucG9zZVs5XT0wLEIucG9zZVsxMF09MCxCLnBvc2VbMTFdPTB9XTtmdW5jdGlvbiBaQShBLEksZyxCLEMsUSxFKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUpfWZ1bmN0aW9uIGJBKEEsSSxnLEIsQyl7cmV0dXJuIHBBW0FdKEksZyxCLEMpfWZ1bmN0aW9uIHhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoKX1mdW5jdGlvbiBtQShBLEkpe3JldHVybiBwQVtBXShJKX1mdW5jdGlvbiBYQShBLEksZyxCLEMsUSxFLGksbyxELGEsdyxGLEcsaCxzLFIsVSx5LHQsUyxNLG4sYyxyLGssSyxOLFksZSxKLEgsTCxxKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpfWZ1bmN0aW9uIFZBKEEpe3JldHVybiBBLnJlcGxhY2UoL1xcYl9fWltcXHdcXGRfXSsvZywoZnVuY3Rpb24oQSl7cmV0dXJuIEE9PUE/QTpBK1wiIFtcIitBK1wiXVwifSkpfWZ1bmN0aW9uIE9BKCl7dmFyIEE9bmV3IEVycm9yO2lmKCFBLnN0YWNrKXt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKEkpe0E9SX1pZighQS5zdGFjaylyZXR1cm5cIihubyBzdGFjayB0cmFjZSBhdmFpbGFibGUpXCJ9cmV0dXJuIEEuc3RhY2sudG9TdHJpbmcoKX1mdW5jdGlvbiBUQSgpe3ZhciBJPU9BKCk7cmV0dXJuIEEuZXh0cmFTdGFja1RyYWNlJiYoSSs9XCJcXG5cIitBLmV4dHJhU3RhY2tUcmFjZSgpKSxWQShJKX13QS5wdXNoKHtmdW5jOmZ1bmN0aW9uKCl7RUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7YUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7aUIoKX19LHtmdW5jOmZ1bmN0aW9uKCl7b0IoKX19KTt2YXIgakE9e307ZnVuY3Rpb24gUEEoKXtyZXR1cm4gUXx8XCIuL3RoaXMucHJvZ3JhbVwifWZ1bmN0aW9uIHZBKEEpe3ZhciBJLGc7dkEuY2FsbGVkPyhnPUFBW0E+PjJdLEk9QUFbZz4+Ml0pOih2QS5jYWxsZWQ9ITAsakEuVVNFUj1cIndlYl91c2VyXCIsakEuTE9HTkFNRT1cIndlYl91c2VyXCIsakEuUEFUSD1cIi9cIixqQS5QV0Q9XCIvXCIsakEuSE9NRT1cIi9ob21lL3dlYl91c2VyXCIsakEuTEFORz0oXCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yP1widW5kZWZpbmVkXCI6RChuYXZpZ2F0b3IpKSYmbmF2aWdhdG9yLmxhbmd1YWdlcyYmbmF2aWdhdG9yLmxhbmd1YWdlc1swXXx8XCJDXCIpLnJlcGxhY2UoXCItXCIsXCJfXCIpK1wiLlVURi04XCIsakEuXz1QQSgpLEk9TCgxMDI0KSxnPUwoMjU2KSxBQVtnPj4yXT1JLEFBW0E+PjJdPWcpO3ZhciBCPVtdLEM9MDtmb3IodmFyIFEgaW4gakEpaWYoXCJzdHJpbmdcIj09dHlwZW9mIGpBW1FdKXt2YXIgRT1RK1wiPVwiK2pBW1FdO0IucHVzaChFKSxDKz1FLmxlbmd0aH1pZihDPjEwMjQpdGhyb3cgbmV3IEVycm9yKFwiRW52aXJvbm1lbnQgc2l6ZSBleGNlZWRlZCBUT1RBTF9FTlZfU0laRSFcIik7Zm9yKHZhciBpPTA7aTxCLmxlbmd0aDtpKyspaihFPUJbaV0sSSksQUFbZys0Kmk+PjJdPUksSSs9RS5sZW5ndGgrMTtBQVtnKzQqQi5sZW5ndGg+PjJdPTB9ZnVuY3Rpb24gekEoQSl7cmV0dXJuIFJCKEEpfXZhciBfQT17fTtmdW5jdGlvbiAkQShBLEksZyl7dGhyb3cgX0FbQV09e3B0cjpBLGFkanVzdGVkOltBXSx0eXBlOkksZGVzdHJ1Y3RvcjpnLHJlZmNvdW50OjAsY2F1Z2h0OiExLHJldGhyb3duOiExfSxcInVuY2F1Z2h0X2V4Y2VwdGlvblwiaW4gREI/REIudW5jYXVnaHRfZXhjZXB0aW9ucysrOkRCLnVuY2F1Z2h0X2V4Y2VwdGlvbnM9MSxBfWZ1bmN0aW9uIEFJKCl7fWZ1bmN0aW9uIElJKEkpe3JldHVybiBBLl9fX2Vycm5vX2xvY2F0aW9uJiYoQUFbQS5fX19lcnJub19sb2NhdGlvbigpPj4yXT1JKSxJfWZ1bmN0aW9uIGdJKEEsSSl7cmV0dXJuIElJKDYzKSwtMX12YXIgQkk9e3NwbGl0UGF0aDpmdW5jdGlvbihBKXtyZXR1cm4vXihcXC8/fCkoW1xcc1xcU10qPykoKD86XFwuezEsMn18W15cXC9dKz98KShcXC5bXi5cXC9dKnwpKSg/OltcXC9dKikkLy5leGVjKEEpLnNsaWNlKDEpfSxub3JtYWxpemVBcnJheTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9QS5sZW5ndGgtMTtCPj0wO0ItLSl7dmFyIEM9QVtCXTtcIi5cIj09PUM/QS5zcGxpY2UoQiwxKTpcIi4uXCI9PT1DPyhBLnNwbGljZShCLDEpLGcrKyk6ZyYmKEEuc3BsaWNlKEIsMSksZy0tKX1pZihJKWZvcig7ZztnLS0pQS51bnNoaWZ0KFwiLi5cIik7cmV0dXJuIEF9LG5vcm1hbGl6ZTpmdW5jdGlvbihBKXt2YXIgST1cIi9cIj09PUEuY2hhckF0KDApLGc9XCIvXCI9PT1BLnN1YnN0cigtMSk7cmV0dXJuKEE9Qkkubm9ybWFsaXplQXJyYXkoQS5zcGxpdChcIi9cIikuZmlsdGVyKChmdW5jdGlvbihBKXtyZXR1cm4hIUF9KSksIUkpLmpvaW4oXCIvXCIpKXx8SXx8KEE9XCIuXCIpLEEmJmcmJihBKz1cIi9cIiksKEk/XCIvXCI6XCJcIikrQX0sZGlybmFtZTpmdW5jdGlvbihBKXt2YXIgST1CSS5zcGxpdFBhdGgoQSksZz1JWzBdLEI9SVsxXTtyZXR1cm4gZ3x8Qj8oQiYmKEI9Qi5zdWJzdHIoMCxCLmxlbmd0aC0xKSksZytCKTpcIi5cIn0sYmFzZW5hbWU6ZnVuY3Rpb24oQSl7aWYoXCIvXCI9PT1BKXJldHVyblwiL1wiO3ZhciBJPUEubGFzdEluZGV4T2YoXCIvXCIpO3JldHVybi0xPT09ST9BOkEuc3Vic3RyKEkrMSl9LGV4dG5hbWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEJJLnNwbGl0UGF0aChBKVszXX0sam9pbjpmdW5jdGlvbigpe3ZhciBBPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gQkkubm9ybWFsaXplKEEuam9pbihcIi9cIikpfSxqb2luMjpmdW5jdGlvbihBLEkpe3JldHVybiBCSS5ub3JtYWxpemUoQStcIi9cIitJKX19LENJPXtyZXNvbHZlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBPVwiXCIsST0hMSxnPWFyZ3VtZW50cy5sZW5ndGgtMTtnPj0tMSYmIUk7Zy0tKXt2YXIgQj1nPj0wP2FyZ3VtZW50c1tnXTppSS5jd2QoKTtpZihcInN0cmluZ1wiIT10eXBlb2YgQil0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnRzIHRvIHBhdGgucmVzb2x2ZSBtdXN0IGJlIHN0cmluZ3NcIik7aWYoIUIpcmV0dXJuXCJcIjtBPUIrXCIvXCIrQSxJPVwiL1wiPT09Qi5jaGFyQXQoMCl9cmV0dXJuKEk/XCIvXCI6XCJcIikrKEE9Qkkubm9ybWFsaXplQXJyYXkoQS5zcGxpdChcIi9cIikuZmlsdGVyKChmdW5jdGlvbihBKXtyZXR1cm4hIUF9KSksIUkpLmpvaW4oXCIvXCIpKXx8XCIuXCJ9LHJlbGF0aXZlOmZ1bmN0aW9uKEEsSSl7ZnVuY3Rpb24gZyhBKXtmb3IodmFyIEk9MDtJPEEubGVuZ3RoJiZcIlwiPT09QVtJXTtJKyspO2Zvcih2YXIgZz1BLmxlbmd0aC0xO2c+PTAmJlwiXCI9PT1BW2ddO2ctLSk7cmV0dXJuIEk+Zz9bXTpBLnNsaWNlKEksZy1JKzEpfUE9Q0kucmVzb2x2ZShBKS5zdWJzdHIoMSksST1DSS5yZXNvbHZlKEkpLnN1YnN0cigxKTtmb3IodmFyIEI9ZyhBLnNwbGl0KFwiL1wiKSksQz1nKEkuc3BsaXQoXCIvXCIpKSxRPU1hdGgubWluKEIubGVuZ3RoLEMubGVuZ3RoKSxFPVEsaT0wO2k8UTtpKyspaWYoQltpXSE9PUNbaV0pe0U9aTticmVha312YXIgbz1bXTtmb3IoaT1FO2k8Qi5sZW5ndGg7aSsrKW8ucHVzaChcIi4uXCIpO3JldHVybihvPW8uY29uY2F0KEMuc2xpY2UoRSkpKS5qb2luKFwiL1wiKX19LFFJPXt0dHlzOltdLGluaXQ6ZnVuY3Rpb24oKXt9LHNodXRkb3duOmZ1bmN0aW9uKCl7fSxyZWdpc3RlcjpmdW5jdGlvbihBLEkpe1FJLnR0eXNbQV09e2lucHV0OltdLG91dHB1dDpbXSxvcHM6SX0saUkucmVnaXN0ZXJEZXZpY2UoQSxRSS5zdHJlYW1fb3BzKX0sc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1RSS50dHlzW0Eubm9kZS5yZGV2XTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7QS50dHk9SSxBLnNlZWthYmxlPSExfSxjbG9zZTpmdW5jdGlvbihBKXtBLnR0eS5vcHMuZmx1c2goQS50dHkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLnR0eS5vcHMuZmx1c2goQS50dHkpfSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIUEudHR5fHwhQS50dHkub3BzLmdldF9jaGFyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYwKTtmb3IodmFyIFE9MCxFPTA7RTxCO0UrKyl7dmFyIGk7dHJ5e2k9QS50dHkub3BzLmdldF9jaGFyKEEudHR5KX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09aSYmMD09PVEpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09aSlicmVhaztRKyssSVtnK0VdPWl9cmV0dXJuIFEmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLFF9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIUEudHR5fHwhQS50dHkub3BzLnB1dF9jaGFyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYwKTt0cnl7Zm9yKHZhciBRPTA7UTxCO1ErKylBLnR0eS5vcHMucHV0X2NoYXIoQS50dHksSVtnK1FdKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9cmV0dXJuIEImJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLFF9fSxkZWZhdWx0X3R0eV9vcHM6e2dldF9jaGFyOmZ1bmN0aW9uKEEpe2lmKCFBLmlucHV0Lmxlbmd0aCl7dmFyIEk9bnVsbDtpZih3KXt2YXIgZz1CdWZmZXIuYWxsb2M/QnVmZmVyLmFsbG9jKDI1Nik6bmV3IEJ1ZmZlcigyNTYpLEI9MDt0cnl7Qj1zLnJlYWRTeW5jKHByb2Nlc3Muc3RkaW4uZmQsZywwLDI1NixudWxsKX1jYXRjaChBKXtpZigtMT09QS50b1N0cmluZygpLmluZGV4T2YoXCJFT0ZcIikpdGhyb3cgQTtCPTB9ST1CPjA/Zy5zbGljZSgwLEIpLnRvU3RyaW5nKFwidXRmLThcIik6bnVsbH1lbHNlXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdyYmXCJmdW5jdGlvblwiPT10eXBlb2Ygd2luZG93LnByb21wdD9udWxsIT09KEk9d2luZG93LnByb21wdChcIklucHV0OiBcIikpJiYoSSs9XCJcXG5cIik6XCJmdW5jdGlvblwiPT10eXBlb2YgcmVhZGxpbmUmJm51bGwhPT0oST1yZWFkbGluZSgpKSYmKEkrPVwiXFxuXCIpO2lmKCFJKXJldHVybiBudWxsO0EuaW5wdXQ9WGcoSSwhMCl9cmV0dXJuIEEuaW5wdXQuc2hpZnQoKX0scHV0X2NoYXI6ZnVuY3Rpb24oQSxJKXtudWxsPT09SXx8MTA9PT1JPyh0KGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKTowIT1JJiZBLm91dHB1dC5wdXNoKEkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLm91dHB1dCYmQS5vdXRwdXQubGVuZ3RoPjAmJih0KGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKX19LGRlZmF1bHRfdHR5MV9vcHM6e3B1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8oUyhkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYoUyhkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fX0sRUk9e29wc190YWJsZTpudWxsLG1vdW50OmZ1bmN0aW9uKEEpe3JldHVybiBFSS5jcmVhdGVOb2RlKG51bGwsXCIvXCIsMTY4OTUsMCl9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24oQSxJLGcsQil7aWYoaUkuaXNCbGtkZXYoZyl8fGlJLmlzRklGTyhnKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7RUkub3BzX3RhYmxlfHwoRUkub3BzX3RhYmxlPXtkaXI6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHIsbG9va3VwOkVJLm5vZGVfb3BzLmxvb2t1cCxta25vZDpFSS5ub2RlX29wcy5ta25vZCxyZW5hbWU6RUkubm9kZV9vcHMucmVuYW1lLHVubGluazpFSS5ub2RlX29wcy51bmxpbmsscm1kaXI6RUkubm9kZV9vcHMucm1kaXIscmVhZGRpcjpFSS5ub2RlX29wcy5yZWFkZGlyLHN5bWxpbms6RUkubm9kZV9vcHMuc3ltbGlua30sc3RyZWFtOntsbHNlZWs6RUkuc3RyZWFtX29wcy5sbHNlZWt9fSxmaWxlOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyfSxzdHJlYW06e2xsc2VlazpFSS5zdHJlYW1fb3BzLmxsc2VlayxyZWFkOkVJLnN0cmVhbV9vcHMucmVhZCx3cml0ZTpFSS5zdHJlYW1fb3BzLndyaXRlLGFsbG9jYXRlOkVJLnN0cmVhbV9vcHMuYWxsb2NhdGUsbW1hcDpFSS5zdHJlYW1fb3BzLm1tYXAsbXN5bmM6RUkuc3RyZWFtX29wcy5tc3luY319LGxpbms6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHIscmVhZGxpbms6RUkubm9kZV9vcHMucmVhZGxpbmt9LHN0cmVhbTp7fX0sY2hyZGV2Ontub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyfSxzdHJlYW06aUkuY2hyZGV2X3N0cmVhbV9vcHN9fSk7dmFyIEM9aUkuY3JlYXRlTm9kZShBLEksZyxCKTtyZXR1cm4gaUkuaXNEaXIoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuZGlyLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5kaXIuc3RyZWFtLEMuY29udGVudHM9e30pOmlJLmlzRmlsZShDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5maWxlLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5maWxlLnN0cmVhbSxDLnVzZWRCeXRlcz0wLEMuY29udGVudHM9bnVsbCk6aUkuaXNMaW5rKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmxpbmsubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmxpbmsuc3RyZWFtKTppSS5pc0NocmRldihDLm1vZGUpJiYoQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuY2hyZGV2Lm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5jaHJkZXYuc3RyZWFtKSxDLnRpbWVzdGFtcD1EYXRlLm5vdygpLEEmJihBLmNvbnRlbnRzW0ldPUMpLEN9LGdldEZpbGVEYXRhQXNSZWd1bGFyQXJyYXk6ZnVuY3Rpb24oQSl7aWYoQS5jb250ZW50cyYmQS5jb250ZW50cy5zdWJhcnJheSl7Zm9yKHZhciBJPVtdLGc9MDtnPEEudXNlZEJ5dGVzOysrZylJLnB1c2goQS5jb250ZW50c1tnXSk7cmV0dXJuIEl9cmV0dXJuIEEuY29udGVudHN9LGdldEZpbGVEYXRhQXNUeXBlZEFycmF5OmZ1bmN0aW9uKEEpe3JldHVybiBBLmNvbnRlbnRzP0EuY29udGVudHMuc3ViYXJyYXk/QS5jb250ZW50cy5zdWJhcnJheSgwLEEudXNlZEJ5dGVzKTpuZXcgVWludDhBcnJheShBLmNvbnRlbnRzKTpuZXcgVWludDhBcnJheX0sZXhwYW5kRmlsZVN0b3JhZ2U6ZnVuY3Rpb24oQSxJKXt2YXIgZz1BLmNvbnRlbnRzP0EuY29udGVudHMubGVuZ3RoOjA7aWYoIShnPj1JKSl7ST1NYXRoLm1heChJLGcqKGc8MTA0ODU3Nj8yOjEuMTI1KXwwKSwwIT1nJiYoST1NYXRoLm1heChJLDI1NikpO3ZhciBCPUEuY29udGVudHM7QS5jb250ZW50cz1uZXcgVWludDhBcnJheShJKSxBLnVzZWRCeXRlcz4wJiZBLmNvbnRlbnRzLnNldChCLnN1YmFycmF5KDAsQS51c2VkQnl0ZXMpLDApfX0scmVzaXplRmlsZVN0b3JhZ2U6ZnVuY3Rpb24oQSxJKXtpZihBLnVzZWRCeXRlcyE9SSl7aWYoMD09SSlyZXR1cm4gQS5jb250ZW50cz1udWxsLHZvaWQoQS51c2VkQnl0ZXM9MCk7aWYoIUEuY29udGVudHN8fEEuY29udGVudHMuc3ViYXJyYXkpe3ZhciBnPUEuY29udGVudHM7cmV0dXJuIEEuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkoSSksZyYmQS5jb250ZW50cy5zZXQoZy5zdWJhcnJheSgwLE1hdGgubWluKEksQS51c2VkQnl0ZXMpKSksdm9pZChBLnVzZWRCeXRlcz1JKX1pZihBLmNvbnRlbnRzfHwoQS5jb250ZW50cz1bXSksQS5jb250ZW50cy5sZW5ndGg+SSlBLmNvbnRlbnRzLmxlbmd0aD1JO2Vsc2UgZm9yKDtBLmNvbnRlbnRzLmxlbmd0aDxJOylBLmNvbnRlbnRzLnB1c2goMCk7QS51c2VkQnl0ZXM9SX19LG5vZGVfb3BzOntnZXRhdHRyOmZ1bmN0aW9uKEEpe3ZhciBJPXt9O3JldHVybiBJLmRldj1pSS5pc0NocmRldihBLm1vZGUpP0EuaWQ6MSxJLmlubz1BLmlkLEkubW9kZT1BLm1vZGUsSS5ubGluaz0xLEkudWlkPTAsSS5naWQ9MCxJLnJkZXY9QS5yZGV2LGlJLmlzRGlyKEEubW9kZSk/SS5zaXplPTQwOTY6aUkuaXNGaWxlKEEubW9kZSk/SS5zaXplPUEudXNlZEJ5dGVzOmlJLmlzTGluayhBLm1vZGUpP0kuc2l6ZT1BLmxpbmsubGVuZ3RoOkkuc2l6ZT0wLEkuYXRpbWU9bmV3IERhdGUoQS50aW1lc3RhbXApLEkubXRpbWU9bmV3IERhdGUoQS50aW1lc3RhbXApLEkuY3RpbWU9bmV3IERhdGUoQS50aW1lc3RhbXApLEkuYmxrc2l6ZT00MDk2LEkuYmxvY2tzPU1hdGguY2VpbChJLnNpemUvSS5ibGtzaXplKSxJfSxzZXRhdHRyOmZ1bmN0aW9uKEEsSSl7dm9pZCAwIT09SS5tb2RlJiYoQS5tb2RlPUkubW9kZSksdm9pZCAwIT09SS50aW1lc3RhbXAmJihBLnRpbWVzdGFtcD1JLnRpbWVzdGFtcCksdm9pZCAwIT09SS5zaXplJiZFSS5yZXNpemVGaWxlU3RvcmFnZShBLEkuc2l6ZSl9LGxvb2t1cDpmdW5jdGlvbihBLEkpe3Rocm93IGlJLmdlbmVyaWNFcnJvcnNbNDRdfSxta25vZDpmdW5jdGlvbihBLEksZyxCKXtyZXR1cm4gRUkuY3JlYXRlTm9kZShBLEksZyxCKX0scmVuYW1lOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0RpcihBLm1vZGUpKXt2YXIgQjt0cnl7Qj1pSS5sb29rdXBOb2RlKEksZyl9Y2F0Y2goQSl7fWlmKEIpZm9yKHZhciBDIGluIEIuY29udGVudHMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTUpfWRlbGV0ZSBBLnBhcmVudC5jb250ZW50c1tBLm5hbWVdLEEubmFtZT1nLEkuY29udGVudHNbZ109QSxBLnBhcmVudD1JfSx1bmxpbms6ZnVuY3Rpb24oQSxJKXtkZWxldGUgQS5jb250ZW50c1tJXX0scm1kaXI6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5sb29rdXBOb2RlKEEsSSk7Zm9yKHZhciBCIGluIGcuY29udGVudHMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTUpO2RlbGV0ZSBBLmNvbnRlbnRzW0ldfSxyZWFkZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPVtcIi5cIixcIi4uXCJdO2Zvcih2YXIgZyBpbiBBLmNvbnRlbnRzKUEuY29udGVudHMuaGFzT3duUHJvcGVydHkoZykmJkkucHVzaChnKTtyZXR1cm4gSX0sc3ltbGluazpmdW5jdGlvbihBLEksZyl7dmFyIEI9RUkuY3JlYXRlTm9kZShBLEksNDE0NzEsMCk7cmV0dXJuIEIubGluaz1nLEJ9LHJlYWRsaW5rOmZ1bmN0aW9uKEEpe2lmKCFpSS5pc0xpbmsoQS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEubGlua319LHN0cmVhbV9vcHM6e3JlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1BLm5vZGUuY29udGVudHM7aWYoQz49QS5ub2RlLnVzZWRCeXRlcylyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihBLm5vZGUudXNlZEJ5dGVzLUMsQik7aWYoRT44JiZRLnN1YmFycmF5KUkuc2V0KFEuc3ViYXJyYXkoQyxDK0UpLGcpO2Vsc2UgZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO3JldHVybiBFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7aWYoIUIpcmV0dXJuIDA7dmFyIEU9QS5ub2RlO2lmKEUudGltZXN0YW1wPURhdGUubm93KCksSS5zdWJhcnJheSYmKCFFLmNvbnRlbnRzfHxFLmNvbnRlbnRzLnN1YmFycmF5KSl7aWYoUSlyZXR1cm4gRS5jb250ZW50cz1JLnN1YmFycmF5KGcsZytCKSxFLnVzZWRCeXRlcz1CLEI7aWYoMD09PUUudXNlZEJ5dGVzJiYwPT09QylyZXR1cm4gRS5jb250ZW50cz1JLnNsaWNlKGcsZytCKSxFLnVzZWRCeXRlcz1CLEI7aWYoQytCPD1FLnVzZWRCeXRlcylyZXR1cm4gRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyksQn1pZihFSS5leHBhbmRGaWxlU3RvcmFnZShFLEMrQiksRS5jb250ZW50cy5zdWJhcnJheSYmSS5zdWJhcnJheSlFLmNvbnRlbnRzLnNldChJLnN1YmFycmF5KGcsZytCKSxDKTtlbHNlIGZvcih2YXIgaT0wO2k8QjtpKyspRS5jb250ZW50c1tDK2ldPUlbZytpXTtyZXR1cm4gRS51c2VkQnl0ZXM9TWF0aC5tYXgoRS51c2VkQnl0ZXMsQytCKSxCfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUk7aWYoMT09PWc/Qis9QS5wb3NpdGlvbjoyPT09ZyYmaUkuaXNGaWxlKEEubm9kZS5tb2RlKSYmKEIrPUEubm9kZS51c2VkQnl0ZXMpLEI8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEJ9LGFsbG9jYXRlOmZ1bmN0aW9uKEEsSSxnKXtFSS5leHBhbmRGaWxlU3RvcmFnZShBLm5vZGUsSStnKSxBLm5vZGUudXNlZEJ5dGVzPU1hdGgubWF4KEEubm9kZS51c2VkQnl0ZXMsSStnKX0sbW1hcDpmdW5jdGlvbihBLEksZyxCLEMsUSxFKXtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7dmFyIGksbyxEPUEubm9kZS5jb250ZW50cztpZigyJkV8fEQuYnVmZmVyIT09SS5idWZmZXIpeyhDPjB8fEMrQjxBLm5vZGUudXNlZEJ5dGVzKSYmKEQ9RC5zdWJhcnJheT9ELnN1YmFycmF5KEMsQytCKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChELEMsQytCKSksbz0hMDt2YXIgYT1JLmJ1ZmZlcj09di5idWZmZXI7aWYoIShpPVJCKEIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0OCk7KGE/djpJKS5zZXQoRCxpKX1lbHNlIG89ITEsaT1ELmJ5dGVPZmZzZXQ7cmV0dXJue3B0cjppLGFsbG9jYXRlZDpvfX0sbXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7cmV0dXJuIDImQ3x8RUkuc3RyZWFtX29wcy53cml0ZShBLEksMCxCLGcsITEpLDB9fX0saUk9e3Jvb3Q6bnVsbCxtb3VudHM6W10sZGV2aWNlczp7fSxzdHJlYW1zOltdLG5leHRJbm9kZToxLG5hbWVUYWJsZTpudWxsLGN1cnJlbnRQYXRoOlwiL1wiLGluaXRpYWxpemVkOiExLGlnbm9yZVBlcm1pc3Npb25zOiEwLHRyYWNraW5nRGVsZWdhdGU6e30sdHJhY2tpbmc6e29wZW5GbGFnczp7UkVBRDoxLFdSSVRFOjJ9fSxFcnJub0Vycm9yOm51bGwsZ2VuZXJpY0Vycm9yczp7fSxmaWxlc3lzdGVtczpudWxsLHN5bmNGU1JlcXVlc3RzOjAsaGFuZGxlRlNFcnJvcjpmdW5jdGlvbihBKXtpZighKEEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yKSl0aHJvdyBBK1wiIDogXCIrVEEoKTtyZXR1cm4gSUkoQS5lcnJubyl9LGxvb2t1cFBhdGg6ZnVuY3Rpb24oQSxJKXtpZihJPUl8fHt9LCEoQT1DSS5yZXNvbHZlKGlJLmN3ZCgpLEEpKSlyZXR1cm57cGF0aDpcIlwiLG5vZGU6bnVsbH07dmFyIGc9e2ZvbGxvd19tb3VudDohMCxyZWN1cnNlX2NvdW50OjB9O2Zvcih2YXIgQiBpbiBnKXZvaWQgMD09PUlbQl0mJihJW0JdPWdbQl0pO2lmKEkucmVjdXJzZV9jb3VudD44KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMyKTtmb3IodmFyIEM9Qkkubm9ybWFsaXplQXJyYXkoQS5zcGxpdChcIi9cIikuZmlsdGVyKChmdW5jdGlvbihBKXtyZXR1cm4hIUF9KSksITEpLFE9aUkucm9vdCxFPVwiL1wiLGk9MDtpPEMubGVuZ3RoO2krKyl7dmFyIG89aT09PUMubGVuZ3RoLTE7aWYobyYmSS5wYXJlbnQpYnJlYWs7aWYoUT1pSS5sb29rdXBOb2RlKFEsQ1tpXSksRT1CSS5qb2luMihFLENbaV0pLGlJLmlzTW91bnRwb2ludChRKSYmKCFvfHxvJiZJLmZvbGxvd19tb3VudCkmJihRPVEubW91bnRlZC5yb290KSwhb3x8SS5mb2xsb3cpZm9yKHZhciBEPTA7aUkuaXNMaW5rKFEubW9kZSk7KXt2YXIgYT1pSS5yZWFkbGluayhFKTtpZihFPUNJLnJlc29sdmUoQkkuZGlybmFtZShFKSxhKSxRPWlJLmxvb2t1cFBhdGgoRSx7cmVjdXJzZV9jb3VudDpJLnJlY3Vyc2VfY291bnR9KS5ub2RlLEQrKz40MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMil9fXJldHVybntwYXRoOkUsbm9kZTpRfX0sZ2V0UGF0aDpmdW5jdGlvbihBKXtmb3IodmFyIEk7Oyl7aWYoaUkuaXNSb290KEEpKXt2YXIgZz1BLm1vdW50Lm1vdW50cG9pbnQ7cmV0dXJuIEk/XCIvXCIhPT1nW2cubGVuZ3RoLTFdP2crXCIvXCIrSTpnK0k6Z31JPUk/QS5uYW1lK1wiL1wiK0k6QS5uYW1lLEE9QS5wYXJlbnR9fSxoYXNoTmFtZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPEkubGVuZ3RoO0IrKylnPShnPDw1KS1nK0kuY2hhckNvZGVBdChCKXwwO3JldHVybihBK2c+Pj4wKSVpSS5uYW1lVGFibGUubGVuZ3RofSxoYXNoQWRkTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO0EubmFtZV9uZXh0PWlJLm5hbWVUYWJsZVtJXSxpSS5uYW1lVGFibGVbSV09QX0saGFzaFJlbW92ZU5vZGU6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuaGFzaE5hbWUoQS5wYXJlbnQuaWQsQS5uYW1lKTtpZihpSS5uYW1lVGFibGVbSV09PT1BKWlJLm5hbWVUYWJsZVtJXT1BLm5hbWVfbmV4dDtlbHNlIGZvcih2YXIgZz1pSS5uYW1lVGFibGVbSV07Zzspe2lmKGcubmFtZV9uZXh0PT09QSl7Zy5uYW1lX25leHQ9QS5uYW1lX25leHQ7YnJlYWt9Zz1nLm5hbWVfbmV4dH19LGxvb2t1cE5vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5tYXlMb29rdXAoQSk7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnLEEpO2Zvcih2YXIgQj1pSS5oYXNoTmFtZShBLmlkLEkpLEM9aUkubmFtZVRhYmxlW0JdO0M7Qz1DLm5hbWVfbmV4dCl7dmFyIFE9Qy5uYW1lO2lmKEMucGFyZW50LmlkPT09QS5pZCYmUT09PUkpcmV0dXJuIEN9cmV0dXJuIGlJLmxvb2t1cChBLEkpfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKCFpSS5GU05vZGUpe2lJLkZTTm9kZT1mdW5jdGlvbihBLEksZyxCKXtBfHwoQT10aGlzKSx0aGlzLnBhcmVudD1BLHRoaXMubW91bnQ9QS5tb3VudCx0aGlzLm1vdW50ZWQ9bnVsbCx0aGlzLmlkPWlJLm5leHRJbm9kZSsrLHRoaXMubmFtZT1JLHRoaXMubW9kZT1nLHRoaXMubm9kZV9vcHM9e30sdGhpcy5zdHJlYW1fb3BzPXt9LHRoaXMucmRldj1CfSxpSS5GU05vZGUucHJvdG90eXBlPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGlJLkZTTm9kZS5wcm90b3R5cGUse3JlYWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAzNjU9PSgzNjUmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0zNjU6dGhpcy5tb2RlJj0tMzY2fX0sd3JpdGU6e2dldDpmdW5jdGlvbigpe3JldHVybiAxNDY9PSgxNDYmdGhpcy5tb2RlKX0sc2V0OmZ1bmN0aW9uKEEpe0E/dGhpcy5tb2RlfD0xNDY6dGhpcy5tb2RlJj0tMTQ3fX0saXNGb2xkZXI6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0Rpcih0aGlzLm1vZGUpfX0saXNEZXZpY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiBpSS5pc0NocmRldih0aGlzLm1vZGUpfX19KX12YXIgQz1uZXcgaUkuRlNOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5oYXNoQWRkTm9kZShDKSxDfSxkZXN0cm95Tm9kZTpmdW5jdGlvbihBKXtpSS5oYXNoUmVtb3ZlTm9kZShBKX0saXNSb290OmZ1bmN0aW9uKEEpe3JldHVybiBBPT09QS5wYXJlbnR9LGlzTW91bnRwb2ludDpmdW5jdGlvbihBKXtyZXR1cm4hIUEubW91bnRlZH0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVybiAzMjc2OD09KDYxNDQwJkEpfSxpc0RpcjpmdW5jdGlvbihBKXtyZXR1cm4gMTYzODQ9PSg2MTQ0MCZBKX0saXNMaW5rOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2MD09KDYxNDQwJkEpfSxpc0NocmRldjpmdW5jdGlvbihBKXtyZXR1cm4gODE5Mj09KDYxNDQwJkEpfSxpc0Jsa2RldjpmdW5jdGlvbihBKXtyZXR1cm4gMjQ1NzY9PSg2MTQ0MCZBKX0saXNGSUZPOmZ1bmN0aW9uKEEpe3JldHVybiA0MDk2PT0oNjE0NDAmQSl9LGlzU29ja2V0OmZ1bmN0aW9uKEEpe3JldHVybiA0OTE1Mj09KDQ5MTUyJkEpfSxmbGFnTW9kZXM6e3I6MCxyczoxMDUyNjcyLFwicitcIjoyLHc6NTc3LHd4OjcwNSx4dzo3MDUsXCJ3K1wiOjU3OCxcInd4K1wiOjcwNixcInh3K1wiOjcwNixhOjEwODksYXg6MTIxNyx4YToxMjE3LFwiYStcIjoxMDkwLFwiYXgrXCI6MTIxOCxcInhhK1wiOjEyMTh9LG1vZGVTdHJpbmdUb0ZsYWdzOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmZsYWdNb2Rlc1tBXTtpZih2b2lkIDA9PT1JKXRocm93IG5ldyBFcnJvcihcIlVua25vd24gZmlsZSBvcGVuIG1vZGU6IFwiK0EpO3JldHVybiBJfSxmbGFnc1RvUGVybWlzc2lvblN0cmluZzpmdW5jdGlvbihBKXt2YXIgST1bXCJyXCIsXCJ3XCIsXCJyd1wiXVszJkFdO3JldHVybiA1MTImQSYmKEkrPVwid1wiKSxJfSxub2RlUGVybWlzc2lvbnM6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gaUkuaWdub3JlUGVybWlzc2lvbnN8fCgtMT09PUkuaW5kZXhPZihcInJcIil8fDI5MiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXCJ3XCIpfHwxNDYmQS5tb2RlKSYmKC0xPT09SS5pbmRleE9mKFwieFwiKXx8NzMmQS5tb2RlKT8wOjJ9LG1heUxvb2t1cDpmdW5jdGlvbihBKXtyZXR1cm4gaUkubm9kZVBlcm1pc3Npb25zKEEsXCJ4XCIpfHwoQS5ub2RlX29wcy5sb29rdXA/MDoyKX0sbWF5Q3JlYXRlOmZ1bmN0aW9uKEEsSSl7dHJ5e3JldHVybiBpSS5sb29rdXBOb2RlKEEsSSksMjB9Y2F0Y2goQSl7fXJldHVybiBpSS5ub2RlUGVybWlzc2lvbnMoQSxcInd4XCIpfSxtYXlEZWxldGU6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCO3RyeXtCPWlJLmxvb2t1cE5vZGUoQSxJKX1jYXRjaChBKXtyZXR1cm4gQS5lcnJub312YXIgQz1pSS5ub2RlUGVybWlzc2lvbnMoQSxcInd4XCIpO2lmKEMpcmV0dXJuIEM7aWYoZyl7aWYoIWlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDU0O2lmKGlJLmlzUm9vdChCKXx8aUkuZ2V0UGF0aChCKT09PWlJLmN3ZCgpKXJldHVybiAxMH1lbHNlIGlmKGlJLmlzRGlyKEIubW9kZSkpcmV0dXJuIDMxO3JldHVybiAwfSxtYXlPcGVuOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEE/aUkuaXNMaW5rKEEubW9kZSk/MzI6aUkuaXNEaXIoQS5tb2RlKSYmKFwiclwiIT09aUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSl8fDUxMiZJKT8zMTppSS5ub2RlUGVybWlzc2lvbnMoQSxpSS5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhJKSk6NDR9LE1BWF9PUEVOX0ZEUzo0MDk2LG5leHRmZDpmdW5jdGlvbihBLEkpe0E9QXx8MCxJPUl8fGlJLk1BWF9PUEVOX0ZEUztmb3IodmFyIGc9QTtnPD1JO2crKylpZighaUkuc3RyZWFtc1tnXSlyZXR1cm4gZzt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMyl9LGdldFN0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaUkuc3RyZWFtc1tBXX0sY3JlYXRlU3RyZWFtOmZ1bmN0aW9uKEEsSSxnKXtpSS5GU1N0cmVhbXx8KGlJLkZTU3RyZWFtPWZ1bmN0aW9uKCl7fSxpSS5GU1N0cmVhbS5wcm90b3R5cGU9e30sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaUkuRlNTdHJlYW0ucHJvdG90eXBlLHtvYmplY3Q6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGV9LHNldDpmdW5jdGlvbihBKXt0aGlzLm5vZGU9QX19LGlzUmVhZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDEhPSgyMDk3MTU1JnRoaXMuZmxhZ3MpfX0saXNXcml0ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPSgyMDk3MTU1JnRoaXMuZmxhZ3MpfX0saXNBcHBlbmQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxMDI0JnRoaXMuZmxhZ3N9fX0pKTt2YXIgQj1uZXcgaUkuRlNTdHJlYW07Zm9yKHZhciBDIGluIEEpQltDXT1BW0NdO0E9Qjt2YXIgUT1pSS5uZXh0ZmQoSSxnKTtyZXR1cm4gQS5mZD1RLGlJLnN0cmVhbXNbUV09QSxBfSxjbG9zZVN0cmVhbTpmdW5jdGlvbihBKXtpSS5zdHJlYW1zW0FdPW51bGx9LGNocmRldl9zdHJlYW1fb3BzOntvcGVuOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmdldERldmljZShBLm5vZGUucmRldik7QS5zdHJlYW1fb3BzPUkuc3RyZWFtX29wcyxBLnN0cmVhbV9vcHMub3BlbiYmQS5zdHJlYW1fb3BzLm9wZW4oQSl9LGxsc2VlazpmdW5jdGlvbigpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX19LG1ham9yOmZ1bmN0aW9uKEEpe3JldHVybiBBPj44fSxtaW5vcjpmdW5jdGlvbihBKXtyZXR1cm4gMjU1JkF9LG1ha2VkZXY6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQTw8OHxJfSxyZWdpc3RlckRldmljZTpmdW5jdGlvbihBLEkpe2lJLmRldmljZXNbQV09e3N0cmVhbV9vcHM6SX19LGdldERldmljZTpmdW5jdGlvbihBKXtyZXR1cm4gaUkuZGV2aWNlc1tBXX0sZ2V0TW91bnRzOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST1bXSxnPVtBXTtnLmxlbmd0aDspe3ZhciBCPWcucG9wKCk7SS5wdXNoKEIpLGcucHVzaC5hcHBseShnLEIubW91bnRzKX1yZXR1cm4gSX0sc3luY2ZzOmZ1bmN0aW9uKEEsSSl7XCJmdW5jdGlvblwiPT10eXBlb2YgQSYmKEk9QSxBPSExKSxpSS5zeW5jRlNSZXF1ZXN0cysrLGlJLnN5bmNGU1JlcXVlc3RzPjEmJlMoXCJ3YXJuaW5nOiBcIitpSS5zeW5jRlNSZXF1ZXN0cytcIiBGUy5zeW5jZnMgb3BlcmF0aW9ucyBpbiBmbGlnaHQgYXQgb25jZSwgcHJvYmFibHkganVzdCBkb2luZyBleHRyYSB3b3JrXCIpO3ZhciBnPWlJLmdldE1vdW50cyhpSS5yb290Lm1vdW50KSxCPTA7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gaUkuc3luY0ZTUmVxdWVzdHMtLSxJKEEpfWZ1bmN0aW9uIFEoQSl7aWYoQSlyZXR1cm4gUS5lcnJvcmVkP3ZvaWQgMDooUS5lcnJvcmVkPSEwLEMoQSkpOysrQj49Zy5sZW5ndGgmJkMobnVsbCl9Zy5mb3JFYWNoKChmdW5jdGlvbihJKXtpZighSS50eXBlLnN5bmNmcylyZXR1cm4gUShudWxsKTtJLnR5cGUuc3luY2ZzKEksQSxRKX0pKX0sbW91bnQ6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCLEM9XCIvXCI9PT1nLFE9IWc7aWYoQyYmaUkucm9vdCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7aWYoIUMmJiFRKXt2YXIgRT1pSS5sb29rdXBQYXRoKGcse2ZvbGxvd19tb3VudDohMX0pO2lmKGc9RS5wYXRoLEI9RS5ub2RlLGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7aWYoIWlJLmlzRGlyKEIubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpfXZhciBpPXt0eXBlOkEsb3B0czpJLG1vdW50cG9pbnQ6Zyxtb3VudHM6W119LG89QS5tb3VudChpKTtyZXR1cm4gby5tb3VudD1pLGkucm9vdD1vLEM/aUkucm9vdD1vOkImJihCLm1vdW50ZWQ9aSxCLm1vdW50JiZCLm1vdW50Lm1vdW50cy5wdXNoKGkpKSxvfSx1bm1vdW50OmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93X21vdW50OiExfSk7aWYoIWlJLmlzTW91bnRwb2ludChJLm5vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgZz1JLm5vZGUsQj1nLm1vdW50ZWQsQz1pSS5nZXRNb3VudHMoQik7T2JqZWN0LmtleXMoaUkubmFtZVRhYmxlKS5mb3JFYWNoKChmdW5jdGlvbihBKXtmb3IodmFyIEk9aUkubmFtZVRhYmxlW0FdO0k7KXt2YXIgZz1JLm5hbWVfbmV4dDstMSE9PUMuaW5kZXhPZihJLm1vdW50KSYmaUkuZGVzdHJveU5vZGUoSSksST1nfX0pKSxnLm1vdW50ZWQ9bnVsbDt2YXIgUT1nLm1vdW50Lm1vdW50cy5pbmRleE9mKEIpO2cubW91bnQubW91bnRzLnNwbGljZShRLDEpfSxsb29rdXA6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQS5ub2RlX29wcy5sb29rdXAoQSxJKX0sbWtub2Q6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxDPUJJLmJhc2VuYW1lKEEpO2lmKCFDfHxcIi5cIj09PUN8fFwiLi5cIj09PUMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBRPWlJLm1heUNyZWF0ZShCLEMpO2lmKFEpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoUSk7aWYoIUIubm9kZV9vcHMubWtub2QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBCLm5vZGVfb3BzLm1rbm9kKEIsQyxJLGcpfSxjcmVhdGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NDM4LEkmPTQwOTUsSXw9MzI3NjgsaUkubWtub2QoQSxJLDApfSxta2RpcjpmdW5jdGlvbihBLEkpe3JldHVybiBJPXZvaWQgMCE9PUk/STo1MTEsSSY9MTAyMyxJfD0xNjM4NCxpSS5ta25vZChBLEksMCl9LG1rZGlyVHJlZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz1BLnNwbGl0KFwiL1wiKSxCPVwiXCIsQz0wO0M8Zy5sZW5ndGg7KytDKWlmKGdbQ10pe0IrPVwiL1wiK2dbQ107dHJ5e2lJLm1rZGlyKEIsSSl9Y2F0Y2goQSl7aWYoMjAhPUEuZXJybm8pdGhyb3cgQX19fSxta2RldjpmdW5jdGlvbihBLEksZyl7cmV0dXJuIHZvaWQgMD09PWcmJihnPUksST00MzgpLEl8PTgxOTIsaUkubWtub2QoQSxJLGcpfSxzeW1saW5rOmZ1bmN0aW9uKEEsSSl7aWYoIUNJLnJlc29sdmUoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBnPWlJLmxvb2t1cFBhdGgoSSx7cGFyZW50OiEwfSkubm9kZTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7dmFyIEI9QkkuYmFzZW5hbWUoSSksQz1pSS5tYXlDcmVhdGUoZyxCKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFnLm5vZGVfb3BzLnN5bWxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBnLm5vZGVfb3BzLnN5bWxpbmsoZyxCLEEpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJKXt2YXIgZyxCLEM9QkkuZGlybmFtZShBKSxRPUJJLmRpcm5hbWUoSSksRT1CSS5iYXNlbmFtZShBKSxpPUJJLmJhc2VuYW1lKEkpO3RyeXtnPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxCPWlJLmxvb2t1cFBhdGgoSSx7cGFyZW50OiEwfSkubm9kZX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCl9aWYoIWd8fCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZihnLm1vdW50IT09Qi5tb3VudCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3NSk7dmFyIG8sRD1pSS5sb29rdXBOb2RlKGcsRSksYT1DSS5yZWxhdGl2ZShBLFEpO2lmKFwiLlwiIT09YS5jaGFyQXQoMCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKFwiLlwiIT09KGE9Q0kucmVsYXRpdmUoSSxDKSkuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTt0cnl7bz1pSS5sb29rdXBOb2RlKEIsaSl9Y2F0Y2goQSl7fWlmKEQhPT1vKXt2YXIgdz1pSS5pc0RpcihELm1vZGUpLEY9aUkubWF5RGVsZXRlKGcsRSx3KTtpZihGKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKEY9bz9pSS5tYXlEZWxldGUoQixpLHcpOmlJLm1heUNyZWF0ZShCLGkpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO2lmKCFnLm5vZGVfb3BzLnJlbmFtZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEQpfHxvJiZpSS5pc01vdW50cG9pbnQobykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKEIhPT1nJiYoRj1pSS5ub2RlUGVybWlzc2lvbnMoZyxcIndcIikpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLndpbGxNb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgoQSxJKX1jYXRjaChnKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnd2lsbE1vdmVQYXRoJ10oJ1wiK0ErXCInLCAnXCIrSStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrZy5tZXNzYWdlKX1pSS5oYXNoUmVtb3ZlTm9kZShEKTt0cnl7Zy5ub2RlX29wcy5yZW5hbWUoRCxCLGkpfWNhdGNoKEEpe3Rocm93IEF9ZmluYWxseXtpSS5oYXNoQWRkTm9kZShEKX10cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uTW92ZVBhdGgoQSxJKX1jYXRjaChnKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Nb3ZlUGF0aCddKCdcIitBK1wiJywgJ1wiK0krXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK2cubWVzc2FnZSl9fX0scm1kaXI6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCEwKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnJtZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfUkubm9kZV9vcHMucm1kaXIoSSxnKSxpSS5kZXN0cm95Tm9kZShCKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX19LHJlYWRkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlO2lmKCFJLm5vZGVfb3BzLnJlYWRkaXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpO3JldHVybiBJLm5vZGVfb3BzLnJlYWRkaXIoSSl9LHVubGluazpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsZz1CSS5iYXNlbmFtZShBKSxCPWlJLmxvb2t1cE5vZGUoSSxnKSxDPWlJLm1heURlbGV0ZShJLGcsITEpO2lmKEMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQyk7aWYoIUkubm9kZV9vcHMudW5saW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfUkubm9kZV9vcHMudW5saW5rKEksZyksaUkuZGVzdHJveU5vZGUoQik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9fSxyZWFkbGluazpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEpLm5vZGU7aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFJLm5vZGVfb3BzLnJlYWRsaW5rKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQ0kucmVzb2x2ZShpSS5nZXRQYXRoKEkucGFyZW50KSxJLm5vZGVfb3BzLnJlYWRsaW5rKEkpKX0sc3RhdDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSkubm9kZTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIWcubm9kZV9vcHMuZ2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIGcubm9kZV9vcHMuZ2V0YXR0cihnKX0sbHN0YXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIGlJLnN0YXQoQSwhMCl9LGNobW9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtpZighKEI9XCJzdHJpbmdcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IWd9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Iubm9kZV9vcHMuc2V0YXR0cihCLHttb2RlOjQwOTUmSXwtNDA5NiZCLm1vZGUsdGltZXN0YW1wOkRhdGUubm93KCl9KX0sbGNobW9kOmZ1bmN0aW9uKEEsSSl7aUkuY2htb2QoQSxJLCEwKX0sZmNobW9kOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuZ2V0U3RyZWFtKEEpO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lJLmNobW9kKGcubm9kZSxJKX0sY2hvd246ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM7aWYoIShDPVwic3RyaW5nXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFCfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtDLm5vZGVfb3BzLnNldGF0dHIoQyx7dGltZXN0YW1wOkRhdGUubm93KCl9KX0sbGNob3duOmZ1bmN0aW9uKEEsSSxnKXtpSS5jaG93bihBLEksZywhMCl9LGZjaG93bjpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkuZ2V0U3RyZWFtKEEpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lJLmNob3duKEIubm9kZSxJLGcpfSx0cnVuY2F0ZTpmdW5jdGlvbihBLEkpe2lmKEk8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIGc7aWYoIShnPVwic3RyaW5nXCI9PXR5cGVvZiBBP2lJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTpBKS5ub2RlX29wcy5zZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc0RpcihnLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighaUkuaXNGaWxlKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBCPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFwid1wiKTtpZihCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEIpO2cubm9kZV9vcHMuc2V0YXR0cihnLHtzaXplOkksdGltZXN0YW1wOkRhdGUubm93KCl9KX0sZnRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuZ2V0U3RyZWFtKEEpO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDA9PSgyMDk3MTU1JmcuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpSS50cnVuY2F0ZShnLm5vZGUsSSl9LHV0aW1lOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7Qi5ub2RlX29wcy5zZXRhdHRyKEIse3RpbWVzdGFtcDpNYXRoLm1heChJLGcpfSl9LG9wZW46ZnVuY3Rpb24oSSxnLEIsQyxRKXtpZihcIlwiPT09SSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7dmFyIEU7aWYoQj12b2lkIDA9PT1CPzQzODpCLEI9NjQmKGc9XCJzdHJpbmdcIj09dHlwZW9mIGc/aUkubW9kZVN0cmluZ1RvRmxhZ3MoZyk6Zyk/NDA5NSZCfDMyNzY4OjAsXCJvYmplY3RcIj09PUQoSSkpRT1JO2Vsc2V7ST1CSS5ub3JtYWxpemUoSSk7dHJ5e0U9aUkubG9va3VwUGF0aChJLHtmb2xsb3c6ISgxMzEwNzImZyl9KS5ub2RlfWNhdGNoKEEpe319dmFyIGk9ITE7aWYoNjQmZylpZihFKXtpZigxMjgmZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyMCl9ZWxzZSBFPWlJLm1rbm9kKEksQiwwKSxpPSEwO2lmKCFFKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZihpSS5pc0NocmRldihFLm1vZGUpJiYoZyY9LTUxMyksNjU1MzYmZyYmIWlJLmlzRGlyKEUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpO2lmKCFpKXt2YXIgbz1pSS5tYXlPcGVuKEUsZyk7aWYobyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihvKX01MTImZyYmaUkudHJ1bmNhdGUoRSwwKSxnJj0tNjQxO3ZhciBhPWlJLmNyZWF0ZVN0cmVhbSh7bm9kZTpFLHBhdGg6aUkuZ2V0UGF0aChFKSxmbGFnczpnLHNlZWthYmxlOiEwLHBvc2l0aW9uOjAsc3RyZWFtX29wczpFLnN0cmVhbV9vcHMsdW5nb3R0ZW46W10sZXJyb3I6ITF9LEMsUSk7YS5zdHJlYW1fb3BzLm9wZW4mJmEuc3RyZWFtX29wcy5vcGVuKGEpLCFBLmxvZ1JlYWRGaWxlc3x8MSZnfHwoaUkucmVhZEZpbGVzfHwoaUkucmVhZEZpbGVzPXt9KSxJIGluIGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlc1tJXT0xLFMoXCJGUy50cmFja2luZ0RlbGVnYXRlIGVycm9yIG9uIHJlYWQgZmlsZTogXCIrSSkpKTt0cnl7aWYoaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk9wZW5GaWxlKXt2YXIgdz0wOzEhPSgyMDk3MTU1JmcpJiYod3w9aUkudHJhY2tpbmcub3BlbkZsYWdzLlJFQUQpLDAhPSgyMDk3MTU1JmcpJiYod3w9aUkudHJhY2tpbmcub3BlbkZsYWdzLldSSVRFKSxpSS50cmFja2luZ0RlbGVnYXRlLm9uT3BlbkZpbGUoSSx3KX19Y2F0Y2goQSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uT3BlbkZpbGUnXSgnXCIrSStcIicsIGZsYWdzKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0EubWVzc2FnZSl9cmV0dXJuIGF9LGNsb3NlOmZ1bmN0aW9uKEEpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO0EuZ2V0ZGVudHMmJihBLmdldGRlbnRzPW51bGwpO3RyeXtBLnN0cmVhbV9vcHMuY2xvc2UmJkEuc3RyZWFtX29wcy5jbG9zZShBKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuY2xvc2VTdHJlYW0oQS5mZCl9QS5mZD1udWxsfSxpc0Nsb3NlZDpmdW5jdGlvbihBKXtyZXR1cm4gbnVsbD09PUEuZmR9LGxsc2VlazpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoIUEuc2Vla2FibGV8fCFBLnN0cmVhbV9vcHMubGxzZWVrKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKTtpZigwIT1nJiYxIT1nJiYyIT1nKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQS5wb3NpdGlvbj1BLnN0cmVhbV9vcHMubGxzZWVrKEEsSSxnKSxBLnVuZ290dGVuPVtdLEEucG9zaXRpb259LHJlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZihCPDB8fEM8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMT09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighQS5zdHJlYW1fb3BzLnJlYWQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBRPXZvaWQgMCE9PUM7aWYoUSl7aWYoIUEuc2Vla2FibGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfWVsc2UgQz1BLnBvc2l0aW9uO3ZhciBFPUEuc3RyZWFtX29wcy5yZWFkKEEsSSxnLEIsQyk7cmV0dXJuIFF8fChBLnBvc2l0aW9uKz1FKSxFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDA9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy53cml0ZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7MTAyNCZBLmZsYWdzJiZpSS5sbHNlZWsoQSwwLDIpO3ZhciBFPXZvaWQgMCE9PUM7aWYoRSl7aWYoIUEuc2Vla2FibGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfWVsc2UgQz1BLnBvc2l0aW9uO3ZhciBpPUEuc3RyZWFtX29wcy53cml0ZShBLEksZyxCLEMsUSk7RXx8KEEucG9zaXRpb24rPWkpO3RyeXtBLnBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZSYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbldyaXRlVG9GaWxlKEEucGF0aCl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uV3JpdGVUb0ZpbGUnXSgnXCIrQS5wYXRoK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfXJldHVybiBpfSxhbGxvY2F0ZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoSTwwfHxnPD0wKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZigwPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSYmIWlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7aWYoIUEuc3RyZWFtX29wcy5hbGxvY2F0ZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMzgpO0Euc3RyZWFtX29wcy5hbGxvY2F0ZShBLEksZyl9LG1tYXA6ZnVuY3Rpb24oQSxJLGcsQixDLFEsRSl7aWYoMCE9KDImUSkmJjA9PSgyJkUpJiYyIT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZigxPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyKTtpZighQS5zdHJlYW1fb3BzLm1tYXApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDMpO3JldHVybiBBLnN0cmVhbV9vcHMubW1hcChBLEksZyxCLEMsUSxFKX0sbXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQSYmQS5zdHJlYW1fb3BzLm1zeW5jP0Euc3RyZWFtX29wcy5tc3luYyhBLEksZyxCLEMpOjB9LG11bm1hcDpmdW5jdGlvbihBKXtyZXR1cm4gMH0saW9jdGw6ZnVuY3Rpb24oQSxJLGcpe2lmKCFBLnN0cmVhbV9vcHMuaW9jdGwpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTkpO3JldHVybiBBLnN0cmVhbV9vcHMuaW9jdGwoQSxJLGcpfSxyZWFkRmlsZTpmdW5jdGlvbihBLEkpe2lmKChJPUl8fHt9KS5mbGFncz1JLmZsYWdzfHxcInJcIixJLmVuY29kaW5nPUkuZW5jb2Rpbmd8fFwiYmluYXJ5XCIsXCJ1dGY4XCIhPT1JLmVuY29kaW5nJiZcImJpbmFyeVwiIT09SS5lbmNvZGluZyl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZW5jb2RpbmcgdHlwZSBcIicrSS5lbmNvZGluZysnXCInKTt2YXIgZyxCPWlJLm9wZW4oQSxJLmZsYWdzKSxDPWlJLnN0YXQoQSkuc2l6ZSxRPW5ldyBVaW50OEFycmF5KEMpO3JldHVybiBpSS5yZWFkKEIsUSwwLEMsMCksXCJ1dGY4XCI9PT1JLmVuY29kaW5nP2c9ZChRLDApOlwiYmluYXJ5XCI9PT1JLmVuY29kaW5nJiYoZz1RKSxpSS5jbG9zZShCKSxnfSx3cml0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcpeyhnPWd8fHt9KS5mbGFncz1nLmZsYWdzfHxcIndcIjt2YXIgQj1pSS5vcGVuKEEsZy5mbGFncyxnLm1vZGUpO2lmKFwic3RyaW5nXCI9PXR5cGVvZiBJKXt2YXIgQz1uZXcgVWludDhBcnJheShXKEkpKzEpLFE9bChJLEMsMCxDLmxlbmd0aCk7aUkud3JpdGUoQixDLDAsUSx2b2lkIDAsZy5jYW5Pd24pfWVsc2V7aWYoIUFycmF5QnVmZmVyLmlzVmlldyhJKSl0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBkYXRhIHR5cGVcIik7aUkud3JpdGUoQixJLDAsSS5ieXRlTGVuZ3RoLHZvaWQgMCxnLmNhbk93bil9aUkuY2xvc2UoQil9LGN3ZDpmdW5jdGlvbigpe3JldHVybiBpSS5jdXJyZW50UGF0aH0sY2hkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KTtpZihudWxsPT09SS5ub2RlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighaUkuaXNEaXIoSS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTt2YXIgZz1pSS5ub2RlUGVybWlzc2lvbnMoSS5ub2RlLFwieFwiKTtpZihnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKGcpO2lJLmN1cnJlbnRQYXRoPUkucGF0aH0sY3JlYXRlRGVmYXVsdERpcmVjdG9yaWVzOmZ1bmN0aW9uKCl7aUkubWtkaXIoXCIvdG1wXCIpLGlJLm1rZGlyKFwiL2hvbWVcIiksaUkubWtkaXIoXCIvaG9tZS93ZWJfdXNlclwiKX0sY3JlYXRlRGVmYXVsdERldmljZXM6ZnVuY3Rpb24oKXt2YXIgQTtpZihpSS5ta2RpcihcIi9kZXZcIiksaUkucmVnaXN0ZXJEZXZpY2UoaUkubWFrZWRldigxLDMpLHtyZWFkOmZ1bmN0aW9uKCl7cmV0dXJuIDB9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7cmV0dXJuIEJ9fSksaUkubWtkZXYoXCIvZGV2L251bGxcIixpSS5tYWtlZGV2KDEsMykpLFFJLnJlZ2lzdGVyKGlJLm1ha2VkZXYoNSwwKSxRSS5kZWZhdWx0X3R0eV9vcHMpLFFJLnJlZ2lzdGVyKGlJLm1ha2VkZXYoNiwwKSxRSS5kZWZhdWx0X3R0eTFfb3BzKSxpSS5ta2RldihcIi9kZXYvdHR5XCIsaUkubWFrZWRldig1LDApKSxpSS5ta2RldihcIi9kZXYvdHR5MVwiLGlJLm1ha2VkZXYoNiwwKSksXCJvYmplY3RcIj09PShcInVuZGVmaW5lZFwiPT10eXBlb2YgY3J5cHRvP1widW5kZWZpbmVkXCI6RChjcnlwdG8pKSYmXCJmdW5jdGlvblwiPT10eXBlb2YgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7dmFyIEk9bmV3IFVpbnQ4QXJyYXkoMSk7QT1mdW5jdGlvbigpe3JldHVybiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEkpLElbMF19fWVsc2UgaWYodyl0cnl7dmFyIEI9Zyg2NTQpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gQi5yYW5kb21CeXRlcygxKVswXX19Y2F0Y2goQSl7fUF8fChBPWZ1bmN0aW9uKCl7SkEoXCJyYW5kb21fZGV2aWNlXCIpfSksaUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwicmFuZG9tXCIsQSksaUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwidXJhbmRvbVwiLEEpLGlJLm1rZGlyKFwiL2Rldi9zaG1cIiksaUkubWtkaXIoXCIvZGV2L3NobS90bXBcIil9LGNyZWF0ZVNwZWNpYWxEaXJlY3RvcmllczpmdW5jdGlvbigpe2lJLm1rZGlyKFwiL3Byb2NcIiksaUkubWtkaXIoXCIvcHJvYy9zZWxmXCIpLGlJLm1rZGlyKFwiL3Byb2Mvc2VsZi9mZFwiKSxpSS5tb3VudCh7bW91bnQ6ZnVuY3Rpb24oKXt2YXIgQT1pSS5jcmVhdGVOb2RlKFwiL3Byb2Mvc2VsZlwiLFwiZmRcIiwxNjg5NSw3Myk7cmV0dXJuIEEubm9kZV9vcHM9e2xvb2t1cDpmdW5jdGlvbihBLEkpe3ZhciBnPStJLEI9aUkuZ2V0U3RyZWFtKGcpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3ZhciBDPXtwYXJlbnQ6bnVsbCxtb3VudDp7bW91bnRwb2ludDpcImZha2VcIn0sbm9kZV9vcHM6e3JlYWRsaW5rOmZ1bmN0aW9uKCl7cmV0dXJuIEIucGF0aH19fTtyZXR1cm4gQy5wYXJlbnQ9QyxDfX0sQX19LHt9LFwiL3Byb2Mvc2VsZi9mZFwiKX0sY3JlYXRlU3RhbmRhcmRTdHJlYW1zOmZ1bmN0aW9uKCl7QS5zdGRpbj9pSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJzdGRpblwiLEEuc3RkaW4pOmlJLnN5bWxpbmsoXCIvZGV2L3R0eVwiLFwiL2Rldi9zdGRpblwiKSxBLnN0ZG91dD9pSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJzdGRvdXRcIixudWxsLEEuc3Rkb3V0KTppSS5zeW1saW5rKFwiL2Rldi90dHlcIixcIi9kZXYvc3Rkb3V0XCIpLEEuc3RkZXJyP2lJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInN0ZGVyclwiLG51bGwsQS5zdGRlcnIpOmlJLnN5bWxpbmsoXCIvZGV2L3R0eTFcIixcIi9kZXYvc3RkZXJyXCIpLGlJLm9wZW4oXCIvZGV2L3N0ZGluXCIsXCJyXCIpLGlJLm9wZW4oXCIvZGV2L3N0ZG91dFwiLFwid1wiKSxpSS5vcGVuKFwiL2Rldi9zdGRlcnJcIixcIndcIil9LGVuc3VyZUVycm5vRXJyb3I6ZnVuY3Rpb24oKXtpSS5FcnJub0Vycm9yfHwoaUkuRXJybm9FcnJvcj1mdW5jdGlvbihBLEkpe3RoaXMubm9kZT1JLHRoaXMuc2V0RXJybm89ZnVuY3Rpb24oQSl7dGhpcy5lcnJubz1BfSx0aGlzLnNldEVycm5vKEEpLHRoaXMubWVzc2FnZT1cIkZTIGVycm9yXCJ9LGlJLkVycm5vRXJyb3IucHJvdG90eXBlPW5ldyBFcnJvcixpSS5FcnJub0Vycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1pSS5FcnJub0Vycm9yLFs0NF0uZm9yRWFjaCgoZnVuY3Rpb24oQSl7aUkuZ2VuZXJpY0Vycm9yc1tBXT1uZXcgaUkuRXJybm9FcnJvcihBKSxpSS5nZW5lcmljRXJyb3JzW0FdLnN0YWNrPVwiPGdlbmVyaWMgZXJyb3IsIG5vIHN0YWNrPlwifSkpKX0sc3RhdGljSW5pdDpmdW5jdGlvbigpe2lJLmVuc3VyZUVycm5vRXJyb3IoKSxpSS5uYW1lVGFibGU9bmV3IEFycmF5KDQwOTYpLGlJLm1vdW50KEVJLHt9LFwiL1wiKSxpSS5jcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXMoKSxpSS5jcmVhdGVEZWZhdWx0RGV2aWNlcygpLGlJLmNyZWF0ZVNwZWNpYWxEaXJlY3RvcmllcygpLGlJLmZpbGVzeXN0ZW1zPXtNRU1GUzpFSX19LGluaXQ6ZnVuY3Rpb24oSSxnLEIpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITAsaUkuZW5zdXJlRXJybm9FcnJvcigpLEEuc3RkaW49SXx8QS5zdGRpbixBLnN0ZG91dD1nfHxBLnN0ZG91dCxBLnN0ZGVycj1CfHxBLnN0ZGVycixpSS5jcmVhdGVTdGFuZGFyZFN0cmVhbXMoKX0scXVpdDpmdW5jdGlvbigpe2lJLmluaXQuaW5pdGlhbGl6ZWQ9ITE7dmFyIEk9QS5fZmZsdXNoO0kmJkkoMCk7Zm9yKHZhciBnPTA7ZzxpSS5zdHJlYW1zLmxlbmd0aDtnKyspe3ZhciBCPWlJLnN0cmVhbXNbZ107QiYmaUkuY2xvc2UoQil9fSxnZXRNb2RlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9MDtyZXR1cm4gQSYmKGd8PTM2NSksSSYmKGd8PTE0NiksZ30sam9pblBhdGg6ZnVuY3Rpb24oQSxJKXt2YXIgZz1CSS5qb2luLmFwcGx5KG51bGwsQSk7cmV0dXJuIEkmJlwiL1wiPT1nWzBdJiYoZz1nLnN1YnN0cigxKSksZ30sYWJzb2x1dGVQYXRoOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIENJLnJlc29sdmUoSSxBKX0sc3RhbmRhcmRpemVQYXRoOmZ1bmN0aW9uKEEpe3JldHVybiBCSS5ub3JtYWxpemUoQSl9LGZpbmRPYmplY3Q6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5hbmFseXplUGF0aChBLEkpO3JldHVybiBnLmV4aXN0cz9nLm9iamVjdDooSUkoZy5lcnJvciksbnVsbCl9LGFuYWx5emVQYXRoOmZ1bmN0aW9uKEEsSSl7dHJ5e0E9KEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KSkucGF0aH1jYXRjaChBKXt9dmFyIGc9e2lzUm9vdDohMSxleGlzdHM6ITEsZXJyb3I6MCxuYW1lOm51bGwscGF0aDpudWxsLG9iamVjdDpudWxsLHBhcmVudEV4aXN0czohMSxwYXJlbnRQYXRoOm51bGwscGFyZW50T2JqZWN0Om51bGx9O3RyeXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pO2cucGFyZW50RXhpc3RzPSEwLGcucGFyZW50UGF0aD1CLnBhdGgsZy5wYXJlbnRPYmplY3Q9Qi5ub2RlLGcubmFtZT1CSS5iYXNlbmFtZShBKSxCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSksZy5leGlzdHM9ITAsZy5wYXRoPUIucGF0aCxnLm9iamVjdD1CLm5vZGUsZy5uYW1lPUIubm9kZS5uYW1lLGcuaXNSb290PVwiL1wiPT09Qi5wYXRofWNhdGNoKEEpe2cuZXJyb3I9QS5lcnJub31yZXR1cm4gZ30sY3JlYXRlRm9sZGVyOmZ1bmN0aW9uKEEsSSxnLEIpe3ZhciBDPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxRPWlJLmdldE1vZGUoZyxCKTtyZXR1cm4gaUkubWtkaXIoQyxRKX0sY3JlYXRlUGF0aDpmdW5jdGlvbihBLEksZyxCKXtBPVwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKTtmb3IodmFyIEM9SS5zcGxpdChcIi9cIikucmV2ZXJzZSgpO0MubGVuZ3RoOyl7dmFyIFE9Qy5wb3AoKTtpZihRKXt2YXIgRT1CSS5qb2luMihBLFEpO3RyeXtpSS5ta2RpcihFKX1jYXRjaChBKXt9QT1FfX1yZXR1cm4gRX0sY3JlYXRlRmlsZTpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKSxFPWlJLmdldE1vZGUoQixDKTtyZXR1cm4gaUkuY3JlYXRlKFEsRSl9LGNyZWF0ZURhdGFGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXt2YXIgRT1JP0JJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKTpBLGk9aUkuZ2V0TW9kZShCLEMpLG89aUkuY3JlYXRlKEUsaSk7aWYoZyl7aWYoXCJzdHJpbmdcIj09dHlwZW9mIGcpe2Zvcih2YXIgRD1uZXcgQXJyYXkoZy5sZW5ndGgpLGE9MCx3PWcubGVuZ3RoO2E8dzsrK2EpRFthXT1nLmNoYXJDb2RlQXQoYSk7Zz1EfWlJLmNobW9kKG8sMTQ2fGkpO3ZhciBGPWlJLm9wZW4obyxcIndcIik7aUkud3JpdGUoRixnLDAsZy5sZW5ndGgsMCxRKSxpSS5jbG9zZShGKSxpSS5jaG1vZChvLGkpfXJldHVybiBvfSxjcmVhdGVEZXZpY2U6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLFE9aUkuZ2V0TW9kZSghIWcsISFCKTtpSS5jcmVhdGVEZXZpY2UubWFqb3J8fChpSS5jcmVhdGVEZXZpY2UubWFqb3I9NjQpO3ZhciBFPWlJLm1ha2VkZXYoaUkuY3JlYXRlRGV2aWNlLm1ham9yKyssMCk7cmV0dXJuIGlJLnJlZ2lzdGVyRGV2aWNlKEUse29wZW46ZnVuY3Rpb24oQSl7QS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QiYmQi5idWZmZXImJkIuYnVmZmVyLmxlbmd0aCYmQigxMCl9LHJlYWQ6ZnVuY3Rpb24oQSxJLEIsQyxRKXtmb3IodmFyIEU9MCxpPTA7aTxDO2krKyl7dmFyIG87dHJ5e289ZygpfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1pZih2b2lkIDA9PT1vJiYwPT09RSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2KTtpZihudWxsPT1vKWJyZWFrO0UrKyxJW0IraV09b31yZXR1cm4gRSYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRKXtmb3IodmFyIEU9MDtFPEM7RSsrKXRyeXtCKElbZytFXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBDJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxFfX0pLGlJLm1rZGV2KEMsUSxFKX0sY3JlYXRlTGluazpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPUJJLmpvaW4yKFwic3RyaW5nXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKTtyZXR1cm4gaUkuc3ltbGluayhnLFEpfSxmb3JjZUxvYWRGaWxlOmZ1bmN0aW9uKEEpe2lmKEEuaXNEZXZpY2V8fEEuaXNGb2xkZXJ8fEEubGlua3x8QS5jb250ZW50cylyZXR1cm4hMDt2YXIgST0hMDtpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3QpdGhyb3cgbmV3IEVycm9yKFwiTGF6eSBsb2FkaW5nIHNob3VsZCBoYXZlIGJlZW4gcGVyZm9ybWVkIChjb250ZW50cyBzZXQpIGluIGNyZWF0ZUxhenlGaWxlLCBidXQgaXQgd2FzIG5vdC4gTGF6eSBsb2FkaW5nIG9ubHkgd29ya3MgaW4gd2ViIHdvcmtlcnMuIFVzZSAtLWVtYmVkLWZpbGUgb3IgLS1wcmVsb2FkLWZpbGUgaW4gZW1jYyBvbiB0aGUgbWFpbiB0aHJlYWQuXCIpO2lmKCFHKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBsb2FkIHdpdGhvdXQgcmVhZCgpIG9yIFhNTEh0dHBSZXF1ZXN0LlwiKTt0cnl7QS5jb250ZW50cz1YZyhHKEEudXJsKSwhMCksQS51c2VkQnl0ZXM9QS5jb250ZW50cy5sZW5ndGh9Y2F0Y2goQSl7ST0hMX1yZXR1cm4gSXx8SUkoMjkpLEl9LGNyZWF0ZUxhenlGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7ZnVuY3Rpb24gUSgpe3RoaXMubGVuZ3RoS25vd249ITEsdGhpcy5jaHVua3M9W119aWYoUS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKEEpe2lmKCEoQT50aGlzLmxlbmd0aC0xfHxBPDApKXt2YXIgST1BJXRoaXMuY2h1bmtTaXplLGc9QS90aGlzLmNodW5rU2l6ZXwwO3JldHVybiB0aGlzLmdldHRlcihnKVtJXX19LFEucHJvdG90eXBlLnNldERhdGFHZXR0ZXI9ZnVuY3Rpb24oQSl7dGhpcy5nZXR0ZXI9QX0sUS5wcm90b3R5cGUuY2FjaGVMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgQT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQS5vcGVuKFwiSEVBRFwiLGcsITEpLEEuc2VuZChudWxsKSwhKEEuc3RhdHVzPj0yMDAmJkEuc3RhdHVzPDMwMHx8MzA0PT09QS5zdGF0dXMpKXRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGxvYWQgXCIrZytcIi4gU3RhdHVzOiBcIitBLnN0YXR1cyk7dmFyIEksQj1OdW1iZXIoQS5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtbGVuZ3RoXCIpKSxDPShJPUEuZ2V0UmVzcG9uc2VIZWFkZXIoXCJBY2NlcHQtUmFuZ2VzXCIpKSYmXCJieXRlc1wiPT09SSxRPShJPUEuZ2V0UmVzcG9uc2VIZWFkZXIoXCJDb250ZW50LUVuY29kaW5nXCIpKSYmXCJnemlwXCI9PT1JLEU9MTA0ODU3NjtDfHwoRT1CKTt2YXIgaT10aGlzO2kuc2V0RGF0YUdldHRlcigoZnVuY3Rpb24oQSl7dmFyIEk9QSpFLEM9KEErMSkqRS0xO2lmKEM9TWF0aC5taW4oQyxCLTEpLHZvaWQgMD09PWkuY2h1bmtzW0FdJiYoaS5jaHVua3NbQV09ZnVuY3Rpb24oQSxJKXtpZihBPkkpdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCByYW5nZSAoXCIrQStcIiwgXCIrSStcIikgb3Igbm8gYnl0ZXMgcmVxdWVzdGVkIVwiKTtpZihJPkItMSl0aHJvdyBuZXcgRXJyb3IoXCJvbmx5IFwiK0IrXCIgYnl0ZXMgYXZhaWxhYmxlISBwcm9ncmFtbWVyIGVycm9yIVwiKTt2YXIgQz1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQy5vcGVuKFwiR0VUXCIsZywhMSksQiE9PUUmJkMuc2V0UmVxdWVzdEhlYWRlcihcIlJhbmdlXCIsXCJieXRlcz1cIitBK1wiLVwiK0kpLFwidW5kZWZpbmVkXCIhPXR5cGVvZiBVaW50OEFycmF5JiYoQy5yZXNwb25zZVR5cGU9XCJhcnJheWJ1ZmZlclwiKSxDLm92ZXJyaWRlTWltZVR5cGUmJkMub3ZlcnJpZGVNaW1lVHlwZShcInRleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWRcIiksQy5zZW5kKG51bGwpLCEoQy5zdGF0dXM+PTIwMCYmQy5zdGF0dXM8MzAwfHwzMDQ9PT1DLnN0YXR1cykpdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgbG9hZCBcIitnK1wiLiBTdGF0dXM6IFwiK0Muc3RhdHVzKTtyZXR1cm4gdm9pZCAwIT09Qy5yZXNwb25zZT9uZXcgVWludDhBcnJheShDLnJlc3BvbnNlfHxbXSk6WGcoQy5yZXNwb25zZVRleHR8fFwiXCIsITApfShJLEMpKSx2b2lkIDA9PT1pLmNodW5rc1tBXSl0aHJvdyBuZXcgRXJyb3IoXCJkb1hIUiBmYWlsZWQhXCIpO3JldHVybiBpLmNodW5rc1tBXX0pKSwhUSYmQnx8KEU9Qj0xLEI9dGhpcy5nZXR0ZXIoMCkubGVuZ3RoLEU9Qix0KFwiTGF6eUZpbGVzIG9uIGd6aXAgZm9yY2VzIGRvd25sb2FkIG9mIHRoZSB3aG9sZSBmaWxlIHdoZW4gbGVuZ3RoIGlzIGFjY2Vzc2VkXCIpKSx0aGlzLl9sZW5ndGg9Qix0aGlzLl9jaHVua1NpemU9RSx0aGlzLmxlbmd0aEtub3duPSEwfSxcInVuZGVmaW5lZFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3Qpe2lmKCFvKXRocm93XCJDYW5ub3QgZG8gc3luY2hyb25vdXMgYmluYXJ5IFhIUnMgb3V0c2lkZSB3ZWJ3b3JrZXJzIGluIG1vZGVybiBicm93c2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjXCI7dmFyIEU9bmV3IFE7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGhLbm93bnx8dGhpcy5jYWNoZUxlbmd0aCgpLHRoaXMuX2xlbmd0aH19LGNodW5rU2l6ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoS25vd258fHRoaXMuY2FjaGVMZW5ndGgoKSx0aGlzLl9jaHVua1NpemV9fX0pO3ZhciBpPXtpc0RldmljZTohMSxjb250ZW50czpFfX1lbHNlIGk9e2lzRGV2aWNlOiExLHVybDpnfTt2YXIgRD1pSS5jcmVhdGVGaWxlKEEsSSxpLEIsQyk7aS5jb250ZW50cz9ELmNvbnRlbnRzPWkuY29udGVudHM6aS51cmwmJihELmNvbnRlbnRzPW51bGwsRC51cmw9aS51cmwpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEQse3VzZWRCeXRlczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudHMubGVuZ3RofX19KTt2YXIgYT17fTtyZXR1cm4gT2JqZWN0LmtleXMoRC5zdHJlYW1fb3BzKS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1ELnN0cmVhbV9vcHNbQV07YVtBXT1mdW5jdGlvbigpe2lmKCFpSS5mb3JjZUxvYWRGaWxlKEQpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KTtyZXR1cm4gSS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSkpLGEucmVhZD1mdW5jdGlvbihBLEksZyxCLEMpe2lmKCFpSS5mb3JjZUxvYWRGaWxlKEQpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KTt2YXIgUT1BLm5vZGUuY29udGVudHM7aWYoQz49US5sZW5ndGgpcmV0dXJuIDA7dmFyIEU9TWF0aC5taW4oUS5sZW5ndGgtQyxCKTtpZihRLnNsaWNlKWZvcih2YXIgaT0wO2k8RTtpKyspSVtnK2ldPVFbQytpXTtlbHNlIGZvcihpPTA7aTxFO2krKylJW2craV09US5nZXQoQytpKTtyZXR1cm4gRX0sRC5zdHJlYW1fb3BzPWEsRH0sY3JlYXRlUHJlbG9hZGVkRmlsZTpmdW5jdGlvbihJLGcsQixDLFEsRSxpLG8sRCxhKXtCcm93c2VyLmluaXQoKTt2YXIgdz1nP0NJLnJlc29sdmUoQkkuam9pbjIoSSxnKSk6STtmdW5jdGlvbiBGKEIpe2Z1bmN0aW9uIEYoQSl7YSYmYSgpLG98fGlJLmNyZWF0ZURhdGFGaWxlKEksZyxBLEMsUSxEKSxFJiZFKCksZUEoKX12YXIgRz0hMTtBLnByZWxvYWRQbHVnaW5zLmZvckVhY2goKGZ1bmN0aW9uKEEpe0d8fEEuY2FuSGFuZGxlKHcpJiYoQS5oYW5kbGUoQix3LEYsKGZ1bmN0aW9uKCl7aSYmaSgpLGVBKCl9KSksRz0hMCl9KSksR3x8RihCKX1ZQSgpLFwic3RyaW5nXCI9PXR5cGVvZiBCP0Jyb3dzZXIuYXN5bmNMb2FkKEIsKGZ1bmN0aW9uKEEpe0YoQSl9KSxpKTpGKEIpfSxpbmRleGVkREI6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmluZGV4ZWREQnx8d2luZG93Lm1vekluZGV4ZWREQnx8d2luZG93LndlYmtpdEluZGV4ZWREQnx8d2luZG93Lm1zSW5kZXhlZERCfSxEQl9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuXCJFTV9GU19cIit3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9LERCX1ZFUlNJT046MjAsREJfU1RPUkVfTkFNRTpcIkZJTEVfREFUQVwiLHNhdmVGaWxlc1RvREI6ZnVuY3Rpb24oQSxJLGcpe0k9SXx8ZnVuY3Rpb24oKXt9LGc9Z3x8ZnVuY3Rpb24oKXt9O3ZhciBCPWlJLmluZGV4ZWREQigpO3RyeXt2YXIgQz1CLm9wZW4oaUkuREJfTkFNRSgpLGlJLkRCX1ZFUlNJT04pfWNhdGNoKEEpe3JldHVybiBnKEEpfUMub251cGdyYWRlbmVlZGVkPWZ1bmN0aW9uKCl7dChcImNyZWF0aW5nIGRiXCIpLEMucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpfSxDLm9uc3VjY2Vzcz1mdW5jdGlvbigpe3ZhciBCPUMucmVzdWx0LnRyYW5zYWN0aW9uKFtpSS5EQl9TVE9SRV9OQU1FXSxcInJlYWR3cml0ZVwiKSxRPUIub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksRT0wLGk9MCxvPUEubGVuZ3RoO2Z1bmN0aW9uIEQoKXswPT1pP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1RLnB1dChpSS5hbmFseXplUGF0aChBKS5vYmplY3QuY29udGVudHMsQSk7SS5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXsrK0UraT09byYmRCgpfSxJLm9uZXJyb3I9ZnVuY3Rpb24oKXtpKyssRStpPT1vJiZEKCl9fSkpLEIub25lcnJvcj1nfSxDLm9uZXJyb3I9Z30sbG9hZEZpbGVzRnJvbURCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1nLEMub25zdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIEI9Qy5yZXN1bHQ7dHJ5e3ZhciBRPUIudHJhbnNhY3Rpb24oW2lJLkRCX1NUT1JFX05BTUVdLFwicmVhZG9ubHlcIil9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgZyhBKX12YXIgRT1RLm9iamVjdFN0b3JlKGlJLkRCX1NUT1JFX05BTUUpLGk9MCxvPTAsRD1BLmxlbmd0aDtmdW5jdGlvbiBhKCl7MD09bz9JKCk6ZygpfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9RS5nZXQoQSk7SS5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtpSS5hbmFseXplUGF0aChBKS5leGlzdHMmJmlJLnVubGluayhBKSxpSS5jcmVhdGVEYXRhRmlsZShCSS5kaXJuYW1lKEEpLEJJLmJhc2VuYW1lKEEpLEkucmVzdWx0LCEwLCEwLCEwKSwrK2krbz09RCYmYSgpfSxJLm9uZXJyb3I9ZnVuY3Rpb24oKXtvKyssaStvPT1EJiZhKCl9fSkpLFEub25lcnJvcj1nfSxDLm9uZXJyb3I9Z319LG9JPXtERUZBVUxUX1BPTExNQVNLOjUsbWFwcGluZ3M6e30sdW1hc2s6NTExLGNhbGN1bGF0ZUF0OmZ1bmN0aW9uKEEsSSl7aWYoXCIvXCIhPT1JWzBdKXt2YXIgZztpZigtMTAwPT09QSlnPWlJLmN3ZCgpO2Vsc2V7dmFyIEI9aUkuZ2V0U3RyZWFtKEEpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2c9Qi5wYXRofUk9Qkkuam9pbjIoZyxJKX1yZXR1cm4gSX0sZG9TdGF0OmZ1bmN0aW9uKEEsSSxnKXt0cnl7dmFyIEI9QShJKX1jYXRjaChBKXtpZihBJiZBLm5vZGUmJkJJLm5vcm1hbGl6ZShJKSE9PUJJLm5vcm1hbGl6ZShpSS5nZXRQYXRoKEEubm9kZSkpKXJldHVybi01NDt0aHJvdyBBfXJldHVybiBBQVtnPj4yXT1CLmRldixBQVtnKzQ+PjJdPTAsQUFbZys4Pj4yXT1CLmlubyxBQVtnKzEyPj4yXT1CLm1vZGUsQUFbZysxNj4+Ml09Qi5ubGluayxBQVtnKzIwPj4yXT1CLnVpZCxBQVtnKzI0Pj4yXT1CLmdpZCxBQVtnKzI4Pj4yXT1CLnJkZXYsQUFbZyszMj4+Ml09MCxkQT1bQi5zaXplPj4+MCwocUE9Qi5zaXplLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys0MD4+Ml09ZEFbMF0sQUFbZys0ND4+Ml09ZEFbMV0sQUFbZys0OD4+Ml09NDA5NixBQVtnKzUyPj4yXT1CLmJsb2NrcyxBQVtnKzU2Pj4yXT1CLmF0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzYwPj4yXT0wLEFBW2crNjQ+PjJdPUIubXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjg+PjJdPTAsQUFbZys3Mj4+Ml09Qi5jdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys3Nj4+Ml09MCxkQT1bQi5pbm8+Pj4wLChxQT1CLmlubywrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW2crODA+PjJdPWRBWzBdLEFBW2crODQ+PjJdPWRBWzFdLDB9LGRvTXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT16LnNsaWNlKEEsQStnKTtpSS5tc3luYyhJLFEsQyxnLEIpfSxkb01rZGlyOmZ1bmN0aW9uKEEsSSl7cmV0dXJuXCIvXCI9PT0oQT1CSS5ub3JtYWxpemUoQSkpW0EubGVuZ3RoLTFdJiYoQT1BLnN1YnN0cigwLEEubGVuZ3RoLTEpKSxpSS5ta2RpcihBLEksMCksMH0sZG9Na25vZDpmdW5jdGlvbihBLEksZyl7c3dpdGNoKDYxNDQwJkkpe2Nhc2UgMzI3Njg6Y2FzZSA4MTkyOmNhc2UgMjQ1NzY6Y2FzZSA0MDk2OmNhc2UgNDkxNTI6YnJlYWs7ZGVmYXVsdDpyZXR1cm4tMjh9cmV0dXJuIGlJLm1rbm9kKEEsSSxnKSwwfSxkb1JlYWRsaW5rOmZ1bmN0aW9uKEEsSSxnKXtpZihnPD0wKXJldHVybi0yODt2YXIgQj1pSS5yZWFkbGluayhBKSxDPU1hdGgubWluKGcsVyhCKSksUT12W0krQ107cmV0dXJuIHUoQixJLGcrMSksdltJK0NdPVEsQ30sZG9BY2Nlc3M6ZnVuY3Rpb24oQSxJKXtpZigtOCZJKXJldHVybi0yODt2YXIgZztpZighKGc9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlKSlyZXR1cm4tNDQ7dmFyIEI9XCJcIjtyZXR1cm4gNCZJJiYoQis9XCJyXCIpLDImSSYmKEIrPVwid1wiKSwxJkkmJihCKz1cInhcIiksQiYmaUkubm9kZVBlcm1pc3Npb25zKGcsQik/LTI6MH0sZG9EdXA6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmdldFN0cmVhbShnKTtyZXR1cm4gQiYmaUkuY2xvc2UoQiksaUkub3BlbihBLEksMCxnLGcpLmZkfSxkb1JlYWR2OmZ1bmN0aW9uKEEsSSxnLEIpe2Zvcih2YXIgQz0wLFE9MDtRPGc7USsrKXt2YXIgRT1BQVtJKzgqUT4+Ml0saT1BQVtJKyg4KlErNCk+PjJdLG89aUkucmVhZChBLHYsRSxpLEIpO2lmKG88MClyZXR1cm4tMTtpZihDKz1vLG88aSlicmVha31yZXR1cm4gQ30sZG9Xcml0ZXY6ZnVuY3Rpb24oQSxJLGcsQil7Zm9yKHZhciBDPTAsUT0wO1E8ZztRKyspe3ZhciBFPUFBW0krOCpRPj4yXSxpPUFBW0krKDgqUSs0KT4+Ml0sbz1pSS53cml0ZShBLHYsRSxpLEIpO2lmKG88MClyZXR1cm4tMTtDKz1vfXJldHVybiBDfSx2YXJhcmdzOjAsZ2V0OmZ1bmN0aW9uKEEpe3JldHVybiBvSS52YXJhcmdzKz00LEFBW29JLnZhcmFyZ3MtND4+Ml19LGdldFN0cjpmdW5jdGlvbigpe3JldHVybiBmKG9JLmdldCgpKX0sZ2V0U3RyZWFtRnJvbUZEOmZ1bmN0aW9uKEEpe3ZvaWQgMD09PUEmJihBPW9JLmdldCgpKTt2YXIgST1pSS5nZXRTdHJlYW0oQSk7aWYoIUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7cmV0dXJuIEl9LGdldDY0OmZ1bmN0aW9uKCl7dmFyIEE9b0kuZ2V0KCk7cmV0dXJuIG9JLmdldCgpLEF9LGdldFplcm86ZnVuY3Rpb24oKXtvSS5nZXQoKX19O2Z1bmN0aW9uIERJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHJlYW1Gcm9tRkQoKTtzd2l0Y2gob0kuZ2V0KCkpe2Nhc2UgMDpyZXR1cm4oQj1vSS5nZXQoKSk8MD8tMjg6aUkub3BlbihnLnBhdGgsZy5mbGFncywwLEIpLmZkO2Nhc2UgMTpjYXNlIDI6Y2FzZSAxMzpjYXNlIDE0OnJldHVybiAwO2Nhc2UgMzpyZXR1cm4gZy5mbGFncztjYXNlIDQ6dmFyIEI9b0kuZ2V0KCk7cmV0dXJuIGcuZmxhZ3N8PUIsMDtjYXNlIDEyOnJldHVybiBCPW9JLmdldCgpLF9bQiswPj4xXT0yLDA7ZGVmYXVsdDpyZXR1cm4tMjg7Y2FzZSA5OnJldHVybiBJSSgyOCksLTF9fWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBhSShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyKCksQj1vSS5nZXQoKSxDPW9JLmdldCgpO3JldHVybiBpSS5vcGVuKGcsQixDKS5mZH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gd0koQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cmVhbUZyb21GRCgpLEI9b0kuZ2V0KCk7c3dpdGNoKEIpe2Nhc2UgMjE1MDk6Y2FzZSAyMTUwNTpjYXNlIDIxNTEwOmNhc2UgMjE1MTE6Y2FzZSAyMTUxMjpjYXNlIDIxNTA2OmNhc2UgMjE1MDc6Y2FzZSAyMTUwODpjYXNlIDIxNTIzOmNhc2UgMjE1MjQ6cmV0dXJuIGcudHR5PzA6LTU5O2Nhc2UgMjE1MTk6aWYoIWcudHR5KXJldHVybi01OTt2YXIgQz1vSS5nZXQoKTtyZXR1cm4gQUFbQz4+Ml09MCwwO2Nhc2UgMjE1MjA6cmV0dXJuIGcudHR5Py0yODotNTk7Y2FzZSAyMTUzMTpyZXR1cm4gQz1vSS5nZXQoKSxpSS5pb2N0bChnLEIsQyk7ZGVmYXVsdDpKQShcImJhZCBpb2N0bCBzeXNjYWxsIFwiK0IpfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gRkkoQSxJKXtpZigtMT09PUF8fDA9PT1JKXJldHVybi0yODt2YXIgZz1vSS5tYXBwaW5nc1tBXTtpZighZylyZXR1cm4gMDtpZihJPT09Zy5sZW4pe3ZhciBCPWlJLmdldFN0cmVhbShnLmZkKTtvSS5kb01zeW5jKEEsQixJLGcuZmxhZ3MsZy5vZmZzZXQpLGlJLm11bm1hcChCKSxvSS5tYXBwaW5nc1tBXT1udWxsLGcuYWxsb2NhdGVkJiZzQihnLm1hbGxvYyl9cmV0dXJuIDB9ZnVuY3Rpb24gR0koQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3JldHVybiBGSShvSS5nZXQoKSxvSS5nZXQoKSl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGhJKCl7fWZ1bmN0aW9uIHNJKEEpe3RyeXt2YXIgST1vSS5nZXRTdHJlYW1Gcm9tRkQoQSk7cmV0dXJuIGlJLmNsb3NlKEkpLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gUkkoKXtyZXR1cm4gc0kuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIFVJKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1JlYWR2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIHlJKCl7cmV0dXJuIFVJLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiB0SShBLEksZyxCLEMpe3RyeXt2YXIgUT1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksRT00Mjk0OTY3Mjk2KmcrKEk+Pj4wKSxpPTkwMDcxOTkyNTQ3NDA5OTI7cmV0dXJuIEU8PS1pfHxFPj1pPy02MTooaUkubGxzZWVrKFEsRSxCKSxkQT1bUS5wb3NpdGlvbj4+PjAsKHFBPVEucG9zaXRpb24sK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtDPj4yXT1kQVswXSxBQVtDKzQ+PjJdPWRBWzFdLFEuZ2V0ZGVudHMmJjA9PT1FJiYwPT09QiYmKFEuZ2V0ZGVudHM9bnVsbCksMCl9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24gU0koKXtyZXR1cm4gdEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIE1JKEEsSSxnLEIpe3RyeXt2YXIgQz1vSS5nZXRTdHJlYW1Gcm9tRkQoQSksUT1vSS5kb1dyaXRldihDLEksZyk7cmV0dXJuIEFBW0I+PjJdPVEsMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBuSSgpe3JldHVybiBNSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gY0koQSl7c3dpdGNoKEEpe2Nhc2UgMTpyZXR1cm4gMDtjYXNlIDI6cmV0dXJuIDE7Y2FzZSA0OnJldHVybiAyO2Nhc2UgODpyZXR1cm4gMztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIHR5cGUgc2l6ZTogXCIrQSl9fWZ1bmN0aW9uIHJJKCl7Zm9yKHZhciBBPW5ldyBBcnJheSgyNTYpLEk9MDtJPDI1NjsrK0kpQVtJXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpO2tJPUF9dmFyIGtJPXZvaWQgMDtmdW5jdGlvbiBLSShBKXtmb3IodmFyIEk9XCJcIixnPUE7eltnXTspSSs9a0lbeltnKytdXTtyZXR1cm4gSX12YXIgTkk9e30sWUk9e30sZUk9e30sSkk9NDgsSEk9NTc7ZnVuY3Rpb24gTEkoQSl7aWYodm9pZCAwPT09QSlyZXR1cm5cIl91bmtub3duXCI7dmFyIEk9KEE9QS5yZXBsYWNlKC9bXmEtekEtWjAtOV9dL2csXCIkXCIpKS5jaGFyQ29kZUF0KDApO3JldHVybiBJPj1KSSYmSTw9SEk/XCJfXCIrQTpBfWZ1bmN0aW9uIHFJKEEsSSl7cmV0dXJuIEE9TEkoQSksbmV3IEZ1bmN0aW9uKFwiYm9keVwiLFwicmV0dXJuIGZ1bmN0aW9uIFwiK0ErJygpIHtcXG4gICAgXCJ1c2Ugc3RyaWN0XCI7ICAgIHJldHVybiBib2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XFxufTtcXG4nKShJKX1mdW5jdGlvbiBkSShBLEkpe3ZhciBnPXFJKEksKGZ1bmN0aW9uKEEpe3RoaXMubmFtZT1JLHRoaXMubWVzc2FnZT1BO3ZhciBnPW5ldyBFcnJvcihBKS5zdGFjazt2b2lkIDAhPT1nJiYodGhpcy5zdGFjaz10aGlzLnRvU3RyaW5nKCkrXCJcXG5cIitnLnJlcGxhY2UoL15FcnJvcig6W15cXG5dKik/XFxuLyxcIlwiKSl9KSk7cmV0dXJuIGcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLGcucHJvdG90eXBlLmNvbnN0cnVjdG9yPWcsZy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5tZXNzYWdlP3RoaXMubmFtZTp0aGlzLm5hbWUrXCI6IFwiK3RoaXMubWVzc2FnZX0sZ312YXIgZkk9dm9pZCAwO2Z1bmN0aW9uIGxJKEEpe3Rocm93IG5ldyBmSShBKX12YXIgdUk9dm9pZCAwO2Z1bmN0aW9uIFdJKEEpe3Rocm93IG5ldyB1SShBKX1mdW5jdGlvbiBwSShBLEksZyl7ZnVuY3Rpb24gQihJKXt2YXIgQj1nKEkpO0IubGVuZ3RoIT09QS5sZW5ndGgmJldJKFwiTWlzbWF0Y2hlZCB0eXBlIGNvbnZlcnRlciBjb3VudFwiKTtmb3IodmFyIEM9MDtDPEEubGVuZ3RoOysrQylaSShBW0NdLEJbQ10pfUEuZm9yRWFjaCgoZnVuY3Rpb24oQSl7ZUlbQV09SX0pKTt2YXIgQz1uZXcgQXJyYXkoSS5sZW5ndGgpLFE9W10sRT0wO0kuZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtZSS5oYXNPd25Qcm9wZXJ0eShBKT9DW0ldPVlJW0FdOihRLnB1c2goQSksTkkuaGFzT3duUHJvcGVydHkoQSl8fChOSVtBXT1bXSksTklbQV0ucHVzaCgoZnVuY3Rpb24oKXtDW0ldPVlJW0FdLCsrRT09PVEubGVuZ3RoJiZCKEMpfSkpKX0pKSwwPT09US5sZW5ndGgmJkIoQyl9ZnVuY3Rpb24gWkkoQSxJLGcpe2lmKGc9Z3x8e30sIShcImFyZ1BhY2tBZHZhbmNlXCJpbiBJKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwicmVnaXN0ZXJUeXBlIHJlZ2lzdGVyZWRJbnN0YW5jZSByZXF1aXJlcyBhcmdQYWNrQWR2YW5jZVwiKTt2YXIgQj1JLm5hbWU7aWYoQXx8bEkoJ3R5cGUgXCInK0IrJ1wiIG11c3QgaGF2ZSBhIHBvc2l0aXZlIGludGVnZXIgdHlwZWlkIHBvaW50ZXInKSxZSS5oYXNPd25Qcm9wZXJ0eShBKSl7aWYoZy5pZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zKXJldHVybjtsSShcIkNhbm5vdCByZWdpc3RlciB0eXBlICdcIitCK1wiJyB0d2ljZVwiKX1pZihZSVtBXT1JLGRlbGV0ZSBlSVtBXSxOSS5oYXNPd25Qcm9wZXJ0eShBKSl7dmFyIEM9TklbQV07ZGVsZXRlIE5JW0FdLEMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7QSgpfSkpfX1mdW5jdGlvbiBiSShBLEksZyxCLEMpe3ZhciBRPWNJKGcpO1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7cmV0dXJuISFBfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk/QjpDfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOmZ1bmN0aW9uKEEpe3ZhciBCO2lmKDE9PT1nKUI9djtlbHNlIGlmKDI9PT1nKUI9XztlbHNle2lmKDQhPT1nKXRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGJvb2xlYW4gdHlwZSBzaXplOiBcIitJKTtCPUFBfXJldHVybiB0aGlzLmZyb21XaXJlVHlwZShCW0E+PlFdKX0sZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiB4SShJLGcsQil7ST1LSShJKSxwSShbXSxbZ10sKGZ1bmN0aW9uKGcpe3JldHVybiBnPWdbMF0sQVtJXT1nLmZyb21XaXJlVHlwZShCKSxbXX0pKX12YXIgbUk9W10sWEk9W3t9LHt2YWx1ZTp2b2lkIDB9LHt2YWx1ZTpudWxsfSx7dmFsdWU6ITB9LHt2YWx1ZTohMX1dO2Z1bmN0aW9uIFZJKEEpe0E+NCYmMD09LS1YSVtBXS5yZWZjb3VudCYmKFhJW0FdPXZvaWQgMCxtSS5wdXNoKEEpKX1mdW5jdGlvbiBPSSgpe2Zvcih2YXIgQT0wLEk9NTtJPFhJLmxlbmd0aDsrK0kpdm9pZCAwIT09WElbSV0mJisrQTtyZXR1cm4gQX1mdW5jdGlvbiBUSSgpe2Zvcih2YXIgQT01O0E8WEkubGVuZ3RoOysrQSlpZih2b2lkIDAhPT1YSVtBXSlyZXR1cm4gWElbQV07cmV0dXJuIG51bGx9ZnVuY3Rpb24gakkoKXtBLmNvdW50X2VtdmFsX2hhbmRsZXM9T0ksQS5nZXRfZmlyc3RfZW12YWw9VEl9ZnVuY3Rpb24gUEkoQSl7c3dpdGNoKEEpe2Nhc2Ugdm9pZCAwOnJldHVybiAxO2Nhc2UgbnVsbDpyZXR1cm4gMjtjYXNlITA6cmV0dXJuIDM7Y2FzZSExOnJldHVybiA0O2RlZmF1bHQ6dmFyIEk9bUkubGVuZ3RoP21JLnBvcCgpOlhJLmxlbmd0aDtyZXR1cm4gWElbSV09e3JlZmNvdW50OjEsdmFsdWU6QX0sSX19ZnVuY3Rpb24gdkkoQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKElBW0E+PjJdKX1mdW5jdGlvbiB6SShBLEkpe1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIEk9WElbQV0udmFsdWU7cmV0dXJuIFZJKEEpLEl9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gUEkoSSl9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBfSShBKXtpZihudWxsPT09QSlyZXR1cm5cIm51bGxcIjt2YXIgST1EKEEpO3JldHVyblwib2JqZWN0XCI9PT1JfHxcImFycmF5XCI9PT1JfHxcImZ1bmN0aW9uXCI9PT1JP0EudG9TdHJpbmcoKTpcIlwiK0F9ZnVuY3Rpb24gJEkoQSxJKXtzd2l0Y2goSSl7Y2FzZSAyOnJldHVybiBmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoZ0FbQT4+Ml0pfTtjYXNlIDM6cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShCQVtBPj4zXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZmxvYXQgdHlwZTogXCIrQSl9fWZ1bmN0aW9uIEFnKEEsSSxnKXt2YXIgQj1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiBBfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7aWYoXCJudW1iZXJcIiE9dHlwZW9mIEkmJlwiYm9vbGVhblwiIT10eXBlb2YgSSl0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCBcIicrX0koSSkrJ1wiIHRvICcrdGhpcy5uYW1lKTtyZXR1cm4gSX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjokSShJLEIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gSWcoQSxJKXtpZighKEEgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIm5ld18gY2FsbGVkIHdpdGggY29uc3RydWN0b3IgdHlwZSBcIitEKEEpK1wiIHdoaWNoIGlzIG5vdCBhIGZ1bmN0aW9uXCIpO3ZhciBnPXFJKEEubmFtZXx8XCJ1bmtub3duRnVuY3Rpb25OYW1lXCIsKGZ1bmN0aW9uKCl7fSkpO2cucHJvdG90eXBlPUEucHJvdG90eXBlO3ZhciBCPW5ldyBnLEM9QS5hcHBseShCLEkpO3JldHVybiBDIGluc3RhbmNlb2YgT2JqZWN0P0M6Qn1mdW5jdGlvbiBnZyhBKXtmb3IoO0EubGVuZ3RoOyl7dmFyIEk9QS5wb3AoKTtBLnBvcCgpKEkpfX1mdW5jdGlvbiBCZyhBLEksZyxCLEMpe3ZhciBRPUkubGVuZ3RoO1E8MiYmbEkoXCJhcmdUeXBlcyBhcnJheSBzaXplIG1pc21hdGNoISBNdXN0IGF0IGxlYXN0IGdldCByZXR1cm4gdmFsdWUgYW5kICd0aGlzJyB0eXBlcyFcIik7Zm9yKHZhciBFPW51bGwhPT1JWzFdJiZudWxsIT09ZyxpPSExLG89MTtvPEkubGVuZ3RoOysrbylpZihudWxsIT09SVtvXSYmdm9pZCAwPT09SVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24pe2k9ITA7YnJlYWt9dmFyIEQ9XCJ2b2lkXCIhPT1JWzBdLm5hbWUsYT1cIlwiLHc9XCJcIjtmb3Iobz0wO288US0yOysrbylhKz0oMCE9PW8/XCIsIFwiOlwiXCIpK1wiYXJnXCIrbyx3Kz0oMCE9PW8/XCIsIFwiOlwiXCIpK1wiYXJnXCIrbytcIldpcmVkXCI7dmFyIEY9XCJyZXR1cm4gZnVuY3Rpb24gXCIrTEkoQSkrXCIoXCIrYStcIikge1xcbmlmIChhcmd1bWVudHMubGVuZ3RoICE9PSBcIisoUS0yKStcIikge1xcbnRocm93QmluZGluZ0Vycm9yKCdmdW5jdGlvbiBcIitBK1wiIGNhbGxlZCB3aXRoICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBhcmd1bWVudHMsIGV4cGVjdGVkIFwiKyhRLTIpK1wiIGFyZ3MhJyk7XFxufVxcblwiO2kmJihGKz1cInZhciBkZXN0cnVjdG9ycyA9IFtdO1xcblwiKTt2YXIgRz1pP1wiZGVzdHJ1Y3RvcnNcIjpcIm51bGxcIixoPVtcInRocm93QmluZGluZ0Vycm9yXCIsXCJpbnZva2VyXCIsXCJmblwiLFwicnVuRGVzdHJ1Y3RvcnNcIixcInJldFR5cGVcIixcImNsYXNzUGFyYW1cIl0scz1bbEksQixDLGdnLElbMF0sSVsxXV07Zm9yKEUmJihGKz1cInZhciB0aGlzV2lyZWQgPSBjbGFzc1BhcmFtLnRvV2lyZVR5cGUoXCIrRytcIiwgdGhpcyk7XFxuXCIpLG89MDtvPFEtMjsrK28pRis9XCJ2YXIgYXJnXCIrbytcIldpcmVkID0gYXJnVHlwZVwiK28rXCIudG9XaXJlVHlwZShcIitHK1wiLCBhcmdcIitvK1wiKTsgLy8gXCIrSVtvKzJdLm5hbWUrXCJcXG5cIixoLnB1c2goXCJhcmdUeXBlXCIrbykscy5wdXNoKElbbysyXSk7aWYoRSYmKHc9XCJ0aGlzV2lyZWRcIisody5sZW5ndGg+MD9cIiwgXCI6XCJcIikrdyksRis9KEQ/XCJ2YXIgcnYgPSBcIjpcIlwiKStcImludm9rZXIoZm5cIisody5sZW5ndGg+MD9cIiwgXCI6XCJcIikrdytcIik7XFxuXCIsaSlGKz1cInJ1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKTtcXG5cIjtlbHNlIGZvcihvPUU/MToyO288SS5sZW5ndGg7KytvKXt2YXIgUj0xPT09bz9cInRoaXNXaXJlZFwiOlwiYXJnXCIrKG8tMikrXCJXaXJlZFwiO251bGwhPT1JW29dLmRlc3RydWN0b3JGdW5jdGlvbiYmKEYrPVIrXCJfZHRvcihcIitSK1wiKTsgLy8gXCIrSVtvXS5uYW1lK1wiXFxuXCIsaC5wdXNoKFIrXCJfZHRvclwiKSxzLnB1c2goSVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24pKX1yZXR1cm4gRCYmKEYrPVwidmFyIHJldCA9IHJldFR5cGUuZnJvbVdpcmVUeXBlKHJ2KTtcXG5yZXR1cm4gcmV0O1xcblwiKSxGKz1cIn1cXG5cIixoLnB1c2goRiksSWcoRnVuY3Rpb24saCkuYXBwbHkobnVsbCxzKX1mdW5jdGlvbiBDZyhBLEksZyl7aWYodm9pZCAwPT09QVtJXS5vdmVybG9hZFRhYmxlKXt2YXIgQj1BW0ldO0FbSV09ZnVuY3Rpb24oKXtyZXR1cm4gQVtJXS5vdmVybG9hZFRhYmxlLmhhc093blByb3BlcnR5KGFyZ3VtZW50cy5sZW5ndGgpfHxsSShcIkZ1bmN0aW9uICdcIitnK1wiJyBjYWxsZWQgd2l0aCBhbiBpbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgKFwiK2FyZ3VtZW50cy5sZW5ndGgrXCIpIC0gZXhwZWN0cyBvbmUgb2YgKFwiK0FbSV0ub3ZlcmxvYWRUYWJsZStcIikhXCIpLEFbSV0ub3ZlcmxvYWRUYWJsZVthcmd1bWVudHMubGVuZ3RoXS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LEFbSV0ub3ZlcmxvYWRUYWJsZT1bXSxBW0ldLm92ZXJsb2FkVGFibGVbQi5hcmdDb3VudF09Qn19ZnVuY3Rpb24gUWcoSSxnLEIpe0EuaGFzT3duUHJvcGVydHkoSSk/KCh2b2lkIDA9PT1CfHx2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGUmJnZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZVtCXSkmJmxJKFwiQ2Fubm90IHJlZ2lzdGVyIHB1YmxpYyBuYW1lICdcIitJK1wiJyB0d2ljZVwiKSxDZyhBLEksSSksQS5oYXNPd25Qcm9wZXJ0eShCKSYmbEkoXCJDYW5ub3QgcmVnaXN0ZXIgbXVsdGlwbGUgb3ZlcmxvYWRzIG9mIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgYXJndW1lbnRzIChcIitCK1wiKSFcIiksQVtJXS5vdmVybG9hZFRhYmxlW0JdPWcpOihBW0ldPWcsdm9pZCAwIT09QiYmKEFbSV0ubnVtQXJndW1lbnRzPUIpKX1mdW5jdGlvbiBFZyhBLEkpe2Zvcih2YXIgZz1bXSxCPTA7QjxBO0IrKylnLnB1c2goQUFbKEk+PjIpK0JdKTtyZXR1cm4gZ31mdW5jdGlvbiBpZyhJLGcsQil7QS5oYXNPd25Qcm9wZXJ0eShJKXx8V0koXCJSZXBsYWNpbmcgbm9uZXhpc3RhbnQgcHVibGljIHN5bWJvbFwiKSx2b2lkIDAhPT1BW0ldLm92ZXJsb2FkVGFibGUmJnZvaWQgMCE9PUI/QVtJXS5vdmVybG9hZFRhYmxlW0JdPWc6KEFbSV09ZyxBW0ldLmFyZ0NvdW50PUIpfWZ1bmN0aW9uIG9nKEksZyl7dmFyIEI7aWYoST1LSShJKSx2b2lkIDAhPT1BW1wiRlVOQ1RJT05fVEFCTEVfXCIrSV0pQj1BW1wiRlVOQ1RJT05fVEFCTEVfXCIrSV1bZ107ZWxzZSBpZihcInVuZGVmaW5lZFwiIT10eXBlb2YgRlVOQ1RJT05fVEFCTEUpQj1GVU5DVElPTl9UQUJMRVtnXTtlbHNle3ZhciBDPUFbXCJkeW5DYWxsX1wiK0ldO3ZvaWQgMD09PUMmJnZvaWQgMD09PShDPUFbXCJkeW5DYWxsX1wiK0kucmVwbGFjZSgvZi9nLFwiZFwiKV0pJiZsSShcIk5vIGR5bkNhbGwgaW52b2tlciBmb3Igc2lnbmF0dXJlOiBcIitJKSxCPWZ1bmN0aW9uKEEpe2Zvcih2YXIgQj1bXSxDPTE7QzxJLmxlbmd0aDsrK0MpQi5wdXNoKFwiYVwiK0MpO3ZhciBRPVwicmV0dXJuIGZ1bmN0aW9uIGR5bkNhbGxfXCIrSStcIl9cIitnK1wiKFwiK0Iuam9pbihcIiwgXCIpK1wiKSB7XFxuXCI7cmV0dXJuIFErPVwiICAgIHJldHVybiBkeW5DYWxsKHJhd0Z1bmN0aW9uXCIrKEIubGVuZ3RoP1wiLCBcIjpcIlwiKStCLmpvaW4oXCIsIFwiKStcIik7XFxuXCIsUSs9XCJ9O1xcblwiLG5ldyBGdW5jdGlvbihcImR5bkNhbGxcIixcInJhd0Z1bmN0aW9uXCIsUSkoQSxnKX0oQyl9cmV0dXJuXCJmdW5jdGlvblwiIT10eXBlb2YgQiYmbEkoXCJ1bmtub3duIGZ1bmN0aW9uIHBvaW50ZXIgd2l0aCBzaWduYXR1cmUgXCIrSStcIjogXCIrZyksQn12YXIgRGc9dm9pZCAwO2Z1bmN0aW9uIGFnKEEpe3ZhciBJPXdCKEEpLGc9S0koSSk7cmV0dXJuIHNCKEkpLGd9ZnVuY3Rpb24gd2coQSxJKXt2YXIgZz1bXSxCPXt9O3Rocm93IEkuZm9yRWFjaCgoZnVuY3Rpb24gQShJKXtCW0ldfHxZSVtJXXx8KGVJW0ldP2VJW0ldLmZvckVhY2goQSk6KGcucHVzaChJKSxCW0ldPSEwKSl9KSksbmV3IERnKEErXCI6IFwiK2cubWFwKGFnKS5qb2luKFtcIiwgXCJdKSl9ZnVuY3Rpb24gRmcoQSxJLGcsQixDLFEpe3ZhciBFPUVnKEksZyk7QT1LSShBKSxDPW9nKEIsQyksUWcoQSwoZnVuY3Rpb24oKXt3ZyhcIkNhbm5vdCBjYWxsIFwiK0ErXCIgZHVlIHRvIHVuYm91bmQgdHlwZXNcIixFKX0pLEktMSkscEkoW10sRSwoZnVuY3Rpb24oZyl7dmFyIEI9W2dbMF0sbnVsbF0uY29uY2F0KGcuc2xpY2UoMSkpO3JldHVybiBpZyhBLEJnKEEsQixudWxsLEMsUSksSS0xKSxbXX0pKX1mdW5jdGlvbiBHZyhBLEksZyl7c3dpdGNoKEkpe2Nhc2UgMDpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gdltBXX06ZnVuY3Rpb24oQSl7cmV0dXJuIHpbQV19O2Nhc2UgMTpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gX1tBPj4xXX06ZnVuY3Rpb24oQSl7cmV0dXJuICRbQT4+MV19O2Nhc2UgMjpyZXR1cm4gZz9mdW5jdGlvbihBKXtyZXR1cm4gQUFbQT4+Ml19OmZ1bmN0aW9uKEEpe3JldHVybiBJQVtBPj4yXX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBpbnRlZ2VyIHR5cGU6IFwiK0EpfX1mdW5jdGlvbiBoZyhBLEksZyxCLEMpe0k9S0koSSksLTE9PT1DJiYoQz00Mjk0OTY3Mjk1KTt2YXIgUT1jSShnKSxFPWZ1bmN0aW9uKEEpe3JldHVybiBBfTtpZigwPT09Qil7dmFyIGk9MzItOCpnO0U9ZnVuY3Rpb24oQSl7cmV0dXJuIEE8PGk+Pj5pfX12YXIgbz0tMSE9SS5pbmRleE9mKFwidW5zaWduZWRcIik7WkkoQSx7bmFtZTpJLGZyb21XaXJlVHlwZTpFLHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxnKXtpZihcIm51bWJlclwiIT10eXBlb2YgZyYmXCJib29sZWFuXCIhPXR5cGVvZiBnKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFwiJytfSShnKSsnXCIgdG8gJyt0aGlzLm5hbWUpO2lmKGc8Qnx8Zz5DKXRocm93IG5ldyBUeXBlRXJyb3IoJ1Bhc3NpbmcgYSBudW1iZXIgXCInK19JKGcpKydcIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlIFwiJytJKydcIiwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2UgWycrQitcIiwgXCIrQytcIl0hXCIpO3JldHVybiBvP2c+Pj4wOjB8Z30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpHZyhJLFEsMCE9PUIpLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gc2coQSxJLGcpe3ZhciBCPVtJbnQ4QXJyYXksVWludDhBcnJheSxJbnQxNkFycmF5LFVpbnQxNkFycmF5LEludDMyQXJyYXksVWludDMyQXJyYXksRmxvYXQzMkFycmF5LEZsb2F0NjRBcnJheV1bSV07ZnVuY3Rpb24gQyhBKXt2YXIgST1JQSxnPUlbQT4+PTJdLEM9SVtBKzFdO3JldHVybiBuZXcgQihJLmJ1ZmZlcixDLGcpfVpJKEEse25hbWU6Zz1LSShnKSxmcm9tV2lyZVR5cGU6QyxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkN9LHtpZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zOiEwfSl9ZnVuY3Rpb24gUmcoQSxJKXt2YXIgZz1cInN0ZDo6c3RyaW5nXCI9PT0oST1LSShJKSk7WkkoQSx7bmFtZTpJLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgSSxCPUlBW0E+PjJdO2lmKGcpe3ZhciBDPXpbQSs0K0JdLFE9MDswIT1DJiYoUT1DLHpbQSs0K0JdPTApO2Zvcih2YXIgRT1BKzQsaT0wO2k8PUI7KytpKXt2YXIgbz1BKzQraTtpZigwPT16W29dKXt2YXIgRD1mKEUpO3ZvaWQgMD09PUk/ST1EOihJKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLEkrPUQpLEU9bysxfX0wIT1RJiYoeltBKzQrQl09USl9ZWxzZXt2YXIgYT1uZXcgQXJyYXkoQik7Zm9yKGk9MDtpPEI7KytpKWFbaV09U3RyaW5nLmZyb21DaGFyQ29kZSh6W0ErNCtpXSk7ST1hLmpvaW4oXCJcIil9cmV0dXJuIHNCKEEpLEl9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtJIGluc3RhbmNlb2YgQXJyYXlCdWZmZXImJihJPW5ldyBVaW50OEFycmF5KEkpKTt2YXIgQj1cInN0cmluZ1wiPT10eXBlb2YgSTtCfHxJIGluc3RhbmNlb2YgVWludDhBcnJheXx8SSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxJIGluc3RhbmNlb2YgSW50OEFycmF5fHxsSShcIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gc3RkOjpzdHJpbmdcIik7dmFyIEM9KGcmJkI/ZnVuY3Rpb24oKXtyZXR1cm4gVyhJKX06ZnVuY3Rpb24oKXtyZXR1cm4gSS5sZW5ndGh9KSgpLFE9UkIoNCtDKzEpO2lmKElBW1E+PjJdPUMsZyYmQil1KEksUSs0LEMrMSk7ZWxzZSBpZihCKWZvcih2YXIgRT0wO0U8QzsrK0Upe3ZhciBpPUkuY2hhckNvZGVBdChFKTtpPjI1NSYmKHNCKFEpLGxJKFwiU3RyaW5nIGhhcyBVVEYtMTYgY29kZSB1bml0cyB0aGF0IGRvIG5vdCBmaXQgaW4gOCBiaXRzXCIpKSx6W1ErNCtFXT1pfWVsc2UgZm9yKEU9MDtFPEM7KytFKXpbUSs0K0VdPUlbRV07cmV0dXJuIG51bGwhPT1BJiZBLnB1c2goc0IsUSksUX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246ZnVuY3Rpb24oQSl7c0IoQSl9fSl9ZnVuY3Rpb24gVWcoQSxJLGcpe3ZhciBCLEMsUSxFLGk7Zz1LSShnKSwyPT09ST8oQj1aLEM9YixFPXgsUT1mdW5jdGlvbigpe3JldHVybiAkfSxpPTEpOjQ9PT1JJiYoQj1tLEM9WCxFPVYsUT1mdW5jdGlvbigpe3JldHVybiBJQX0saT0yKSxaSShBLHtuYW1lOmcsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBnLEM9SUFbQT4+Ml0sRT1RKCksbz1FW0ErNCtDKkk+PmldLEQ9MDswIT1vJiYoRD1vLEVbQSs0K0MqST4+aV09MCk7Zm9yKHZhciBhPUErNCx3PTA7dzw9QzsrK3cpe3ZhciBGPUErNCt3Kkk7aWYoMD09RVtGPj5pXSl7dmFyIEc9QihhKTt2b2lkIDA9PT1nP2c9RzooZys9U3RyaW5nLmZyb21DaGFyQ29kZSgwKSxnKz1HKSxhPUYrSX19cmV0dXJuIDAhPUQmJihFW0ErNCtDKkk+PmldPUQpLHNCKEEpLGd9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxCKXtcInN0cmluZ1wiIT10eXBlb2YgQiYmbEkoXCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIEMrKyBzdHJpbmcgdHlwZSBcIitnKTt2YXIgUT1FKEIpLG89UkIoNCtRK0kpO3JldHVybiBJQVtvPj4yXT1RPj5pLEMoQixvKzQsUStJKSxudWxsIT09QSYmQS5wdXNoKHNCLG8pLG99LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIHlnKEEsSSl7WkkoQSx7aXNWb2lkOiEwLG5hbWU6ST1LSShJKSxhcmdQYWNrQWR2YW5jZTowLGZyb21XaXJlVHlwZTpmdW5jdGlvbigpe30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe319KX1mdW5jdGlvbiB0Zygpe0pBKCl9ZnVuY3Rpb24gU2coKXtyZXR1cm4gei5sZW5ndGh9ZnVuY3Rpb24gTWcoQSl7SkEoXCJPT01cIil9ZnVuY3Rpb24gbmcoQSl7TWcoKX1mdW5jdGlvbiBjZyhBKXtlQihBKX1mdW5jdGlvbiByZyhBKXtyZXR1cm4gMD09PUE/MDooQT1mKEEpLGpBLmhhc093blByb3BlcnR5KEEpPyhyZy5yZXQmJnNCKHJnLnJldCkscmcucmV0PU8oakFbQV0pLHJnLnJldCk6MCl9ZnVuY3Rpb24ga2coQSl7dmFyIEk9RGF0ZS5ub3coKTtyZXR1cm4gQUFbQT4+Ml09SS8xZTN8MCxBQVtBKzQ+PjJdPUklMWUzKjFlM3wwLDB9ZnVuY3Rpb24gS2coQSl7cmV0dXJuIE1hdGgucG93KDIsQSl9ZnVuY3Rpb24gTmcoQSl7dmFyIEk9WWcsZz1JLkxMVk1fU0FWRURTVEFDS1NbQV07SS5MTFZNX1NBVkVEU1RBQ0tTLnNwbGljZShBLDEpLHlCKGcpfWZ1bmN0aW9uIFlnKCl7dmFyIEE9WWc7cmV0dXJuIEEuTExWTV9TQVZFRFNUQUNLU3x8KEEuTExWTV9TQVZFRFNUQUNLUz1bXSksQS5MTFZNX1NBVkVEU1RBQ0tTLnB1c2godEIoKSksQS5MTFZNX1NBVkVEU1RBQ0tTLmxlbmd0aC0xfXZhciBlZz02MTEzNjtmdW5jdGlvbiBKZygpe2lmKCFKZy5jYWxsZWQpe0pnLmNhbGxlZD0hMCxBQVtHQigpPj4yXT02MCoobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dmFyIEE9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLEk9bmV3IERhdGUoQSwwLDEpLGc9bmV3IERhdGUoQSw2LDEpO0FBW0ZCKCk+PjJdPU51bWJlcihJLmdldFRpbWV6b25lT2Zmc2V0KCkhPWcuZ2V0VGltZXpvbmVPZmZzZXQoKSk7dmFyIEI9aShJKSxDPWkoZyksUT1PKEIpLEU9TyhDKTtnLmdldFRpbWV6b25lT2Zmc2V0KCk8SS5nZXRUaW1lem9uZU9mZnNldCgpPyhBQVtoQigpPj4yXT1RLEFBW2hCKCkrND4+Ml09RSk6KEFBW2hCKCk+PjJdPUUsQUFbaEIoKSs0Pj4yXT1RKX1mdW5jdGlvbiBpKEEpe3ZhciBJPUEudG9UaW1lU3RyaW5nKCkubWF0Y2goL1xcKChbQS1aYS16IF0rKVxcKSQvKTtyZXR1cm4gST9JWzFdOlwiR01UXCJ9fWZ1bmN0aW9uIEhnKEEsSSl7SmcoKTt2YXIgZz1uZXcgRGF0ZSgxZTMqQUFbQT4+Ml0pO0FBW0k+PjJdPWcuZ2V0U2Vjb25kcygpLEFBW0krND4+Ml09Zy5nZXRNaW51dGVzKCksQUFbSSs4Pj4yXT1nLmdldEhvdXJzKCksQUFbSSsxMj4+Ml09Zy5nZXREYXRlKCksQUFbSSsxNj4+Ml09Zy5nZXRNb250aCgpLEFBW0krMjA+PjJdPWcuZ2V0RnVsbFllYXIoKS0xOTAwLEFBW0krMjQ+PjJdPWcuZ2V0RGF5KCk7dmFyIEI9bmV3IERhdGUoZy5nZXRGdWxsWWVhcigpLDAsMSksQz0oZy5nZXRUaW1lKCktQi5nZXRUaW1lKCkpLzg2NGU1fDA7QUFbSSsyOD4+Ml09QyxBQVtJKzM2Pj4yXT0tNjAqZy5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBRPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSw2LDEpLmdldFRpbWV6b25lT2Zmc2V0KCksRT1CLmdldFRpbWV6b25lT2Zmc2V0KCksaT0wfChRIT1FJiZnLmdldFRpbWV6b25lT2Zmc2V0KCk9PU1hdGgubWluKEUsUSkpO0FBW0krMzI+PjJdPWk7dmFyIG89QUFbaEIoKSsoaT80OjApPj4yXTtyZXR1cm4gQUFbSSs0MD4+Ml09byxJfWZ1bmN0aW9uIExnKEEpe3JldHVybiBIZyhBLGVnKX1mdW5jdGlvbiBxZyhBLEkpe3Rocm93IFVCKEEsSXx8MSksXCJsb25nam1wXCJ9ZnVuY3Rpb24gZGcoQSxJLGcpe3ouc2V0KHouc3ViYXJyYXkoSSxJK2cpLEEpfWZ1bmN0aW9uIGZnKEEpe3JldHVybiBBJTQ9PTAmJihBJTEwMCE9MHx8QSU0MDA9PTApfWZ1bmN0aW9uIGxnKEEsSSl7Zm9yKHZhciBnPTAsQj0wO0I8PUk7Zys9QVtCKytdKTtyZXR1cm4gZ311KFwiR01UXCIsNjExODQsNCk7dmFyIHVnPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sV2c9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXTtmdW5jdGlvbiBwZyhBLEkpe2Zvcih2YXIgZz1uZXcgRGF0ZShBLmdldFRpbWUoKSk7ST4wOyl7dmFyIEI9ZmcoZy5nZXRGdWxsWWVhcigpKSxDPWcuZ2V0TW9udGgoKSxRPShCP3VnOldnKVtDXTtpZighKEk+US1nLmdldERhdGUoKSkpcmV0dXJuIGcuc2V0RGF0ZShnLmdldERhdGUoKStJKSxnO0ktPVEtZy5nZXREYXRlKCkrMSxnLnNldERhdGUoMSksQzwxMT9nLnNldE1vbnRoKEMrMSk6KGcuc2V0TW9udGgoMCksZy5zZXRGdWxsWWVhcihnLmdldEZ1bGxZZWFyKCkrMSkpfXJldHVybiBnfWZ1bmN0aW9uIFpnKEEsSSxnLEIpe3ZhciBDPUFBW0IrNDA+PjJdLFE9e3RtX3NlYzpBQVtCPj4yXSx0bV9taW46QUFbQis0Pj4yXSx0bV9ob3VyOkFBW0IrOD4+Ml0sdG1fbWRheTpBQVtCKzEyPj4yXSx0bV9tb246QUFbQisxNj4+Ml0sdG1feWVhcjpBQVtCKzIwPj4yXSx0bV93ZGF5OkFBW0IrMjQ+PjJdLHRtX3lkYXk6QUFbQisyOD4+Ml0sdG1faXNkc3Q6QUFbQiszMj4+Ml0sdG1fZ210b2ZmOkFBW0IrMzY+PjJdLHRtX3pvbmU6Qz9mKEMpOlwiXCJ9LEU9ZihnKSxpPXtcIiVjXCI6XCIlYSAlYiAlZCAlSDolTTolUyAlWVwiLFwiJURcIjpcIiVtLyVkLyV5XCIsXCIlRlwiOlwiJVktJW0tJWRcIixcIiVoXCI6XCIlYlwiLFwiJXJcIjpcIiVJOiVNOiVTICVwXCIsXCIlUlwiOlwiJUg6JU1cIixcIiVUXCI6XCIlSDolTTolU1wiLFwiJXhcIjpcIiVtLyVkLyV5XCIsXCIlWFwiOlwiJUg6JU06JVNcIixcIiVFY1wiOlwiJWNcIixcIiVFQ1wiOlwiJUNcIixcIiVFeFwiOlwiJW0vJWQvJXlcIixcIiVFWFwiOlwiJUg6JU06JVNcIixcIiVFeVwiOlwiJXlcIixcIiVFWVwiOlwiJVlcIixcIiVPZFwiOlwiJWRcIixcIiVPZVwiOlwiJWVcIixcIiVPSFwiOlwiJUhcIixcIiVPSVwiOlwiJUlcIixcIiVPbVwiOlwiJW1cIixcIiVPTVwiOlwiJU1cIixcIiVPU1wiOlwiJVNcIixcIiVPdVwiOlwiJXVcIixcIiVPVVwiOlwiJVVcIixcIiVPVlwiOlwiJVZcIixcIiVPd1wiOlwiJXdcIixcIiVPV1wiOlwiJVdcIixcIiVPeVwiOlwiJXlcIn07Zm9yKHZhciBvIGluIGkpRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChvLFwiZ1wiKSxpW29dKTt2YXIgRD1bXCJTdW5kYXlcIixcIk1vbmRheVwiLFwiVHVlc2RheVwiLFwiV2VkbmVzZGF5XCIsXCJUaHVyc2RheVwiLFwiRnJpZGF5XCIsXCJTYXR1cmRheVwiXSxhPVtcIkphbnVhcnlcIixcIkZlYnJ1YXJ5XCIsXCJNYXJjaFwiLFwiQXByaWxcIixcIk1heVwiLFwiSnVuZVwiLFwiSnVseVwiLFwiQXVndXN0XCIsXCJTZXB0ZW1iZXJcIixcIk9jdG9iZXJcIixcIk5vdmVtYmVyXCIsXCJEZWNlbWJlclwiXTtmdW5jdGlvbiB3KEEsSSxnKXtmb3IodmFyIEI9XCJudW1iZXJcIj09dHlwZW9mIEE/QS50b1N0cmluZygpOkF8fFwiXCI7Qi5sZW5ndGg8STspQj1nWzBdK0I7cmV0dXJuIEJ9ZnVuY3Rpb24gRihBLEkpe3JldHVybiB3KEEsSSxcIjBcIil9ZnVuY3Rpb24gRyhBLEkpe2Z1bmN0aW9uIGcoQSl7cmV0dXJuIEE8MD8tMTpBPjA/MTowfXZhciBCO3JldHVybiAwPT09KEI9ZyhBLmdldEZ1bGxZZWFyKCktSS5nZXRGdWxsWWVhcigpKSkmJjA9PT0oQj1nKEEuZ2V0TW9udGgoKS1JLmdldE1vbnRoKCkpKSYmKEI9ZyhBLmdldERhdGUoKS1JLmdldERhdGUoKSkpLEJ9ZnVuY3Rpb24gaChBKXtzd2l0Y2goQS5nZXREYXkoKSl7Y2FzZSAwOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwyOSk7Y2FzZSAxOnJldHVybiBBO2Nhc2UgMjpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMyk7Y2FzZSAzOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwyKTtjYXNlIDQ6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDEpO2Nhc2UgNTpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMzEpO2Nhc2UgNjpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMzApfX1mdW5jdGlvbiBzKEEpe3ZhciBJPXBnKG5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksQS50bV95ZGF5KSxnPW5ldyBEYXRlKEkuZ2V0RnVsbFllYXIoKSwwLDQpLEI9bmV3IERhdGUoSS5nZXRGdWxsWWVhcigpKzEsMCw0KSxDPWgoZyksUT1oKEIpO3JldHVybiBHKEMsSSk8PTA/RyhRLEkpPD0wP0kuZ2V0RnVsbFllYXIoKSsxOkkuZ2V0RnVsbFllYXIoKTpJLmdldEZ1bGxZZWFyKCktMX12YXIgUj17XCIlYVwiOmZ1bmN0aW9uKEEpe3JldHVybiBEW0EudG1fd2RheV0uc3Vic3RyaW5nKDAsMyl9LFwiJUFcIjpmdW5jdGlvbihBKXtyZXR1cm4gRFtBLnRtX3dkYXldfSxcIiViXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIGFbQS50bV9tb25dLnN1YnN0cmluZygwLDMpfSxcIiVCXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIGFbQS50bV9tb25dfSxcIiVDXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoKEEudG1feWVhcisxOTAwKS8xMDB8MCwyKX0sXCIlZFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWRheSwyKX0sXCIlZVwiOmZ1bmN0aW9uKEEpe3JldHVybiB3KEEudG1fbWRheSwyLFwiIFwiKX0sXCIlZ1wiOmZ1bmN0aW9uKEEpe3JldHVybiBzKEEpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpfSxcIiVHXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSl9LFwiJUhcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX2hvdXIsMil9LFwiJUlcIjpmdW5jdGlvbihBKXt2YXIgST1BLnRtX2hvdXI7cmV0dXJuIDA9PUk/ST0xMjpJPjEyJiYoSS09MTIpLEYoSSwyKX0sXCIlalwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWRheStsZyhmZyhBLnRtX3llYXIrMTkwMCk/dWc6V2csQS50bV9tb24tMSksMyl9LFwiJW1cIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21vbisxLDIpfSxcIiVNXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9taW4sMil9LFwiJW5cIjpmdW5jdGlvbigpe3JldHVyblwiXFxuXCJ9LFwiJXBcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV9ob3VyPj0wJiZBLnRtX2hvdXI8MTI/XCJBTVwiOlwiUE1cIn0sXCIlU1wiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fc2VjLDIpfSxcIiV0XCI6ZnVuY3Rpb24oKXtyZXR1cm5cIlxcdFwifSxcIiV1XCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fd2RheXx8N30sXCIlVVwiOmZ1bmN0aW9uKEEpe3ZhciBJPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksZz0wPT09SS5nZXREYXkoKT9JOnBnKEksNy1JLmdldERheSgpKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cIjAxXCI6XCIwMFwifSxcIiVWXCI6ZnVuY3Rpb24oQSl7dmFyIEksZz1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDQpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDEsMCw0KSxDPWgoZyksUT1oKEIpLEU9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpO3JldHVybiBHKEUsQyk8MD9cIjUzXCI6RyhRLEUpPD0wP1wiMDFcIjooST1DLmdldEZ1bGxZZWFyKCk8QS50bV95ZWFyKzE5MDA/QS50bV95ZGF5KzMyLUMuZ2V0RGF0ZSgpOkEudG1feWRheSsxLUMuZ2V0RGF0ZSgpLEYoTWF0aC5jZWlsKEkvNyksMikpfSxcIiV3XCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fd2RheX0sXCIlV1wiOmZ1bmN0aW9uKEEpe3ZhciBJPW5ldyBEYXRlKEEudG1feWVhciwwLDEpLGc9MT09PUkuZ2V0RGF5KCk/STpwZyhJLDA9PT1JLmdldERheSgpPzE6Ny1JLmdldERheSgpKzEpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsQS50bV9tb24sQS50bV9tZGF5KTtpZihHKGcsQik8MCl7dmFyIEM9bGcoZmcoQi5nZXRGdWxsWWVhcigpKT91ZzpXZyxCLmdldE1vbnRoKCktMSktMzEsUT0zMS1nLmdldERhdGUoKStDK0IuZ2V0RGF0ZSgpO3JldHVybiBGKE1hdGguY2VpbChRLzcpLDIpfXJldHVybiAwPT09RyhnLEkpP1wiMDFcIjpcIjAwXCJ9LFwiJXlcIjpmdW5jdGlvbihBKXtyZXR1cm4oQS50bV95ZWFyKzE5MDApLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpfSxcIiVZXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1feWVhcisxOTAwfSxcIiV6XCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9nbXRvZmYsZz1JPj0wO3JldHVybiBJPShJPU1hdGguYWJzKEkpLzYwKS82MCoxMDArSSU2MCwoZz9cIitcIjpcIi1cIikrU3RyaW5nKFwiMDAwMFwiK0kpLnNsaWNlKC00KX0sXCIlWlwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX3pvbmV9LFwiJSVcIjpmdW5jdGlvbigpe3JldHVyblwiJVwifX07Zm9yKHZhciBvIGluIFIpRS5pbmRleE9mKG8pPj0wJiYoRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChvLFwiZ1wiKSxSW29dKFEpKSk7dmFyIFU9WGcoRSwhMSk7cmV0dXJuIFUubGVuZ3RoPkk/MDooVChVLEEpLFUubGVuZ3RoLTEpfWZ1bmN0aW9uIGJnKEEsSSxnLEIpe3JldHVybiBaZyhBLEksZyxCKX1mdW5jdGlvbiB4ZyhBKXt2YXIgST1EYXRlLm5vdygpLzFlM3wwO3JldHVybiBBJiYoQUFbQT4+Ml09SSksSX1pSS5zdGF0aWNJbml0KCksckkoKSxmST1BLkJpbmRpbmdFcnJvcj1kSShFcnJvcixcIkJpbmRpbmdFcnJvclwiKSx1ST1BLkludGVybmFsRXJyb3I9ZEkoRXJyb3IsXCJJbnRlcm5hbEVycm9yXCIpLGpJKCksRGc9QS5VbmJvdW5kVHlwZUVycm9yPWRJKEVycm9yLFwiVW5ib3VuZFR5cGVFcnJvclwiKTt2YXIgbWc9ITE7ZnVuY3Rpb24gWGcoQSxJLGcpe3ZhciBCPWc+MD9nOlcoQSkrMSxDPW5ldyBBcnJheShCKSxRPWwoQSxDLDAsQy5sZW5ndGgpO3JldHVybiBJJiYoQy5sZW5ndGg9USksQ31mdW5jdGlvbiBWZyhBKXtmb3IodmFyIEk9W10sZz0wO2c8QS5sZW5ndGg7ZysrKXt2YXIgQj1BW2ddO0I+MjU1JiYobWcmJkgoITEsXCJDaGFyYWN0ZXIgY29kZSBcIitCK1wiIChcIitTdHJpbmcuZnJvbUNoYXJDb2RlKEIpK1wiKSAgYXQgb2Zmc2V0IFwiK2crXCIgbm90IGluIDB4MDAtMHhGRi5cIiksQiY9MjU1KSxJLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShCKSl9cmV0dXJuIEkuam9pbihcIlwiKX12YXIgT2c9XCJmdW5jdGlvblwiPT10eXBlb2YgYXRvYj9hdG9iOmZ1bmN0aW9uKEEpe3ZhciBJLGcsQixDLFEsRSxpPVwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz1cIixvPVwiXCIsRD0wO0E9QS5yZXBsYWNlKC9bXkEtWmEtejAtOVxcK1xcL1xcPV0vZyxcIlwiKTtkb3tJPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKTw8MnwoQz1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpPj40LGc9KDE1JkMpPDw0fChRPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSk+PjIsQj0oMyZRKTw8NnwoRT1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpLG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoSSksNjQhPT1RJiYobys9U3RyaW5nLmZyb21DaGFyQ29kZShnKSksNjQhPT1FJiYobys9U3RyaW5nLmZyb21DaGFyQ29kZShCKSl9d2hpbGUoRDxBLmxlbmd0aCk7cmV0dXJuIG99O2Z1bmN0aW9uIFRnKEEpe2lmKFwiYm9vbGVhblwiPT10eXBlb2YgdyYmdyl7dmFyIEk7dHJ5e0k9QnVmZmVyLmZyb20oQSxcImJhc2U2NFwiKX1jYXRjaChnKXtJPW5ldyBCdWZmZXIoQSxcImJhc2U2NFwiKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoSS5idWZmZXIsSS5ieXRlT2Zmc2V0LEkuYnl0ZUxlbmd0aCl9dHJ5e2Zvcih2YXIgZz1PZyhBKSxCPW5ldyBVaW50OEFycmF5KGcubGVuZ3RoKSxDPTA7QzxnLmxlbmd0aDsrK0MpQltDXT1nLmNoYXJDb2RlQXQoQyk7cmV0dXJuIEJ9Y2F0Y2goQSl7dGhyb3cgbmV3IEVycm9yKFwiQ29udmVydGluZyBiYXNlNjQgc3RyaW5nIHRvIGJ5dGVzIGZhaWxlZC5cIil9fWZ1bmN0aW9uIGpnKEEpe2lmKExBKEEpKXJldHVybiBUZyhBLnNsaWNlKEhBLmxlbmd0aCkpfWZ1bmN0aW9uIFBnKEEsSSl7dmFyIGc9dEIoKTt0cnl7cmV0dXJuIFNCKEEsSSl9Y2F0Y2goQSl7aWYoeUIoZyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gdmcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JldHVybiBNQihBLEksZyl9Y2F0Y2goQSl7aWYoeUIoQiksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gemcoQSxJLGcsQil7dmFyIEM9dEIoKTt0cnl7cmV0dXJuIG5CKEEsSSxnLEIpfWNhdGNoKEEpe2lmKHlCKEMpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIF9nKEEsSSl7dmFyIGc9dEIoKTt0cnl7Y0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiAkZyhBLEksZyl7dmFyIEI9dEIoKTt0cnl7ckIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIEFCKEEsSSxnLEIpe3ZhciBDPXRCKCk7dHJ5e2tCKEEsSSxnLEIpfWNhdGNoKEEpe2lmKHlCKEMpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIElCKEEsSSxnLEIsQyl7dmFyIFE9dEIoKTt0cnl7S0IoQSxJLGcsQixDKX1jYXRjaChBKXtpZih5QihRKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX12YXIgZ0I9e30sQkI9eyQ6dkEsZjp6QSxlOiRBLEE6QUksXzpnSSx6OkRJLFo6YUksWTp3SSxYOkdJLG86aEkseTpSSSxXOnlJLEQ6U0ksVjpuSSxVOmJJLHg6eEksVDp6SSx3OkFnLGo6RmcsazpoZyxpOnNnLHY6UmcsczpVZyxTOnlnLF9fbWVtb3J5X2Jhc2U6MTAyNCxfX3RhYmxlX2Jhc2U6MCxhOnRnLFI6bUEsUTp4QSxQOmJBLE86WkEsTjpYQSxNOlNnLEs6ZGcsSjpuZyxiOmNnLG46cmcsdTprZyxJOktnLG06TmcsbDpZZyxIOkxnLGc6cWcsRjpaZyxFOmJnLHQ6eGcsYzpKQSxoOlkscTpQZyxMOnZnLEc6emcscDpfZyxDOiRnLEI6QUIscjpJQixtZW1vcnk6cixkOk4sdGFibGU6ZX0sQ0I9QS5hc20oZ0IsQkIsUCk7QS5hc209Q0I7dmFyIFFCLEVCPUEuX19HTE9CQUxfX3N1Yl9JX0FSVG9vbEtpdEpTX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5hYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGlCPUEuX19HTE9CQUxfX3N1Yl9JX2JpbmRfY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb0I9QS5fX0dMT0JBTF9fc3ViX0lfaW9zdHJlYW1fY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sREI9QS5fX1pTdDE4dW5jYXVnaHRfZXhjZXB0aW9udj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5kYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGFCPShBLl9fX2VtYmluZF9yZWdpc3Rlcl9uYXRpdmVfYW5kX2J1aWx0aW5fdHlwZXM9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2Vtc2NyaXB0ZW5fZW52aXJvbl9jb25zdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5mYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSx3Qj0oQS5fX19lcnJub19sb2NhdGlvbj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5nYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuX19fZ2V0VHlwZU5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksRkI9QS5fX2dldF9kYXlsaWdodD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5pYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEdCPUEuX19nZXRfdGltZXpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uamEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxoQj1BLl9fZ2V0X3R6bmFtZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5rYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHNCPUEuX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxSQj1BLl9tYWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVQj1BLl9zZXRUaHJldz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5uYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHlCPShBLnN0YWNrQWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLnN0YWNrUmVzdG9yZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5TYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSx0Qj1BLnN0YWNrU2F2ZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5UYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFNCPShBLmR5bkNhbGxfZGk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ub2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfZGlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnBhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2k9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksTUI9KEEuZHluQ2FsbF9paWRpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS50YS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxuQj1BLmR5bkNhbGxfaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS51YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGNCPShBLmR5bkNhbGxfaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLndhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS54YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnlhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uemEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9qaWppPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3Y9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksckI9KEEuZHluQ2FsbF92aWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uR2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlmPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5JYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxrQj0oQS5keW5DYWxsX3ZpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5LYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEtCPUEuZHluQ2FsbF92aWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5NYS5hcHBseShudWxsLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIE5CKEEpe3RoaXMubmFtZT1cIkV4aXRTdGF0dXNcIix0aGlzLm1lc3NhZ2U9XCJQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBleGl0KFwiK0ErXCIpXCIsdGhpcy5zdGF0dXM9QX1mdW5jdGlvbiBZQihJKXtmdW5jdGlvbiBnKCl7UUJ8fChRQj0hMCxKfHwoUkEoKSxVQSgpLEEub25SdW50aW1lSW5pdGlhbGl6ZWQmJkEub25SdW50aW1lSW5pdGlhbGl6ZWQoKSx5QSgpKSl9ST1JfHxDLGtBPjB8fChzQSgpLGtBPjB8fChBLnNldFN0YXR1cz8oQS5zZXRTdGF0dXMoXCJSdW5uaW5nLi4uXCIpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXtBLnNldFN0YXR1cyhcIlwiKX0pLDEpLGcoKX0pLDEpKTpnKCkpKX1mdW5jdGlvbiBlQihJLGcpe2cmJmMmJjA9PT1JfHwoY3x8KEo9ITAsQS5vbkV4aXQmJkEub25FeGl0KEkpKSxFKEksbmV3IE5CKEkpKSl9aWYoQS5keW5DYWxsX3ZpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5OYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk9hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlBhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWppaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5RYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuYXNtPUNCLEEuRlM9aUksQS50aGVuPWZ1bmN0aW9uKEkpe2lmKFFCKUkoQSk7ZWxzZXt2YXIgZz1BLm9uUnVudGltZUluaXRpYWxpemVkO0Eub25SdW50aW1lSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtnJiZnKCksSShBKX19cmV0dXJuIEF9LE5BPWZ1bmN0aW9uIEEoKXtRQnx8WUIoKSxRQnx8KE5BPUEpfSxBLnJ1bj1ZQixBLnByZUluaXQpZm9yKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEucHJlSW5pdCYmKEEucHJlSW5pdD1bQS5wcmVJbml0XSk7QS5wcmVJbml0Lmxlbmd0aD4wOylBLnByZUluaXQucG9wKCkoKTtyZXR1cm4gYz0hMCxZQigpLEF9KTtjb25zdCBGPXcsRz1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Rih7b25SdW50aW1lSW5pdGlhbGl6ZWQ6ZnVuY3Rpb24oKXtBKHtpbnN0YW5jZTp0aGlzfSl9fSl9KSl9O3ZhciBoPWcoNjY5KSxzPWcubihoKSxSPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKX12YXIgZztyZXR1cm4gRShBLG51bGwsW3trZXk6XCJmZXRjaFJlbW90ZURhdGFcIix2YWx1ZTooZz1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEucHJldj0wLEEubmV4dD0zLHMoKS5nZXQoSSx7cmVzcG9uc2VUeXBlOlwiYXJyYXlidWZmZXJcIn0pO2Nhc2UgMzpyZXR1cm4gZz1BLnNlbnQsQS5hYnJ1cHQoXCJyZXR1cm5cIixuZXcgVWludDhBcnJheShnLmRhdGEpKTtjYXNlIDc6dGhyb3cgQS5wcmV2PTcsQS50MD1BLmNhdGNoKDApLEEudDA7Y2FzZSAxMDpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSxudWxsLFtbMCw3XV0pfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcInN0cmluZzJVaW50OERhdGFcIix2YWx1ZTpmdW5jdGlvbihBKXtmb3IodmFyIEk9bmV3IFVpbnQ4QXJyYXkoQS5sZW5ndGgpLGc9MDtnPEkubGVuZ3RoO2crKylJW2ddPTI1NSZBLmNoYXJDb2RlQXQoZyk7cmV0dXJuIEl9fSx7a2V5OlwidWludDhEYXRhMlN0cmluZ1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxBKX19LHtrZXk6XCJwYXJzZU11bHRpRmlsZVwiLHZhbHVlOmZ1bmN0aW9uKEkpe3ZhciBnPUEudWludDhEYXRhMlN0cmluZyhJKS5zcGxpdChcIlxcblwiKSxCPVtdLEM9MDtyZXR1cm4gZy5mb3JFYWNoKChmdW5jdGlvbihBKXtpZigoQT1BLnRyaW0oKSkmJiFBLnN0YXJ0c1dpdGgoXCIjXCIpKXN3aXRjaChDKXtjYXNlIDA6cmV0dXJuIHZvaWQoQz0xKTtjYXNlIDE6QS5tYXRjaCgvXlxcZCskLyl8fEIucHVzaChBKTtjYXNlIDI6Y2FzZSAzOmNhc2UgNDpyZXR1cm4gdm9pZCBDKys7Y2FzZSA1OnJldHVybiB2b2lkKEM9MSl9fSkpLEJ9fV0pLEF9KCksVT1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoKXtDKHRoaXMsQSksdGhpcy5pbnN0YW5jZSx0aGlzLm1hcmtlckNvdW50PTAsdGhpcy5tdWx0aU1hcmtlckNvdW50PTAsdGhpcy5jYW1lcmFDb3VudD0wLHRoaXMudmVyc2lvbj1cIjAuMS4wXCIsY29uc29sZS5pbmZvKFwiQVJUb29sa2l0IFwiLHRoaXMudmVyc2lvbil9dmFyIEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlwiaW5pdFwiLHZhbHVlOihhPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoKXt2YXIgSTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9MixHKCk7Y2FzZSAyOnJldHVybiBJPUEuc2VudCx0aGlzLmluc3RhbmNlPUkuaW5zdGFuY2UsdGhpcy5fZGVjb3JhdGUoKSwoXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6Zy5nKS5hcnRvb2xraXQ9dGhpcyxBLmFicnVwdChcInJldHVyblwiLHRoaXMpO2Nhc2UgODpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcIl9kZWNvcmF0ZVwiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIEE9dGhpcztmb3IodmFyIEkgaW5bXCJzZXR1cFwiLFwidGVhcmRvd25cIixcInNldHVwQVIyXCIsXCJzZXRMb2dMZXZlbFwiLFwiZ2V0TG9nTGV2ZWxcIixcInNldERlYnVnTW9kZVwiLFwiZ2V0RGVidWdNb2RlXCIsXCJnZXRQcm9jZXNzaW5nSW1hZ2VcIixcInNldE1hcmtlckluZm9EaXJcIixcInNldE1hcmtlckluZm9WZXJ0ZXhcIixcImdldFRyYW5zTWF0U3F1YXJlXCIsXCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcIixcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVcIixcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3RcIixcImdldE11bHRpTWFya2VyTnVtXCIsXCJnZXRNdWx0aU1hcmtlckNvdW50XCIsXCJkZXRlY3RNYXJrZXJcIixcImdldE1hcmtlck51bVwiLFwiZGV0ZWN0TkZUTWFya2VyXCIsXCJnZXRORlRNYXJrZXJcIixcImdldE1hcmtlclwiLFwiZ2V0TXVsdGlFYWNoTWFya2VyXCIsXCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsXCJnZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsXCJzZXRQcm9qZWN0aW9uRmFyUGxhbmVcIixcImdldFByb2plY3Rpb25GYXJQbGFuZVwiLFwic2V0VGhyZXNob2xkTW9kZVwiLFwiZ2V0VGhyZXNob2xkTW9kZVwiLFwic2V0VGhyZXNob2xkXCIsXCJnZXRUaHJlc2hvbGRcIixcInNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsXCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLFwic2V0TWF0cml4Q29kZVR5cGVcIixcImdldE1hdHJpeENvZGVUeXBlXCIsXCJzZXRMYWJlbGluZ01vZGVcIixcImdldExhYmVsaW5nTW9kZVwiLFwic2V0UGF0dFJhdGlvXCIsXCJnZXRQYXR0UmF0aW9cIixcInNldEltYWdlUHJvY01vZGVcIixcImdldEltYWdlUHJvY01vZGVcIl0uZm9yRWFjaCgoZnVuY3Rpb24oSSl7QVtJXT1BLmluc3RhbmNlW0ldfSkpLHRoaXMuaW5zdGFuY2UpSS5tYXRjaCgvXkFSLykmJih0aGlzW0ldPXRoaXMuaW5zdGFuY2VbSV0pfX0se2tleTpcImxvYWRDYW1lcmFcIix2YWx1ZTooRD1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLEI7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDppZihnPVwiL2NhbWVyYV9wYXJhbV9cIit0aGlzLmNhbWVyYUNvdW50KyssIShJIGluc3RhbmNlb2YgVWludDhBcnJheSkpe0EubmV4dD01O2JyZWFrfUI9SSxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSA1OnJldHVybiBBLnByZXY9NSxBLm5leHQ9OCxSLmZldGNoUmVtb3RlRGF0YShJKTtjYXNlIDg6Qj1BLnNlbnQsQS5uZXh0PTE0O2JyZWFrO2Nhc2UgMTE6dGhyb3cgQS5wcmV2PTExLEEudDA9QS5jYXRjaCg1KSxBLnQwO2Nhc2UgMTQ6cmV0dXJuIHRoaXMuX3N0b3JlRGF0YUZpbGUoQixnKSxBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2xvYWRDYW1lcmEoZykpO2Nhc2UgMTY6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyxbWzUsMTFdXSl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiYWRkTWFya2VyXCIsdmFsdWU6KGk9SShvKCkubWFyaygoZnVuY3Rpb24gQShJLGcpe3ZhciBCLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDppZihCPVwiL21hcmtlcl9cIit0aGlzLm1hcmtlckNvdW50KyssLTE9PT1nLmluZGV4T2YoXCJcXG5cIikpe0EubmV4dD01O2JyZWFrfUM9Ui5zdHJpbmcyVWludDhEYXRhKGcpLEEubmV4dD0xNDticmVhaztjYXNlIDU6cmV0dXJuIEEucHJldj01LEEubmV4dD04LFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgODpDPUEuc2VudCxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0aHJvdyBBLnByZXY9MTEsQS50MD1BLmNhdGNoKDUpLEEudDA7Y2FzZSAxNDpyZXR1cm4gdGhpcy5fc3RvcmVEYXRhRmlsZShDLEIpLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fYWRkTWFya2VyKEksQikpO2Nhc2UgMTY6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyxbWzUsMTFdXSl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJhZGRNdWx0aU1hcmtlclwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoZyxCKXt2YXIgQyxRLEUsaSxELGEsdztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBDPVwiL211bHRpX21hcmtlcl9cIit0aGlzLm11bHRpTWFya2VyQ291bnQrKyxBLm5leHQ9MyxSLmZldGNoUmVtb3RlRGF0YShCKTtjYXNlIDM6cmV0dXJuIFE9QS5zZW50LEU9Ui5wYXJzZU11bHRpRmlsZShRKSxpPWZ1bmN0aW9uKCl7dmFyIEE9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxDO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIGc9bmV3IFVSTChJLEIpLnRvU3RyaW5nKCksQS5uZXh0PTMsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSAzOkM9QS5zZW50LHRoaXMuX3N0b3JlRGF0YUZpbGUoQyxJKTtjYXNlIDU6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpLEQ9RS5tYXAoaSx0aGlzKSxBLm5leHQ9OSxQcm9taXNlLmFsbChEKTtjYXNlIDk6cmV0dXJuIGE9dGhpcy5pbnN0YW5jZS5fYWRkTXVsdGlNYXJrZXIoZyxDKSx3PXRoaXMuaW5zdGFuY2UuZ2V0TXVsdGlNYXJrZXJOdW0oZyxhKSxBLmFicnVwdChcInJldHVyblwiLFthLHddKTtjYXNlIDEyOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBRLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiYWRkTkZUTWFya2VyXCIsdmFsdWU6KEI9SShvKCkubWFyaygoZnVuY3Rpb24gQShnLEIpe3ZhciBDLFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEM9XCIvbWFya2VyTkZUX1wiK3RoaXMubWFya2VyQ291bnQrKyxRPVtcImZzZXRcIixcImlzZXRcIixcImZzZXQzXCJdLEU9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLFEsRTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPUIrXCIuXCIrSSxRPUMrXCIuXCIrSSxBLm5leHQ9NCxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDQ6RT1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShFLFEpO2Nhc2UgNjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCksaT1RLm1hcChFLHRoaXMpLEEubmV4dD02LFByb21pc2UuYWxsKGkpO2Nhc2UgNjpyZXR1cm4gQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9hZGRORlRNYXJrZXIoZyxDKSk7Y2FzZSA3OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBLEkpe3JldHVybiBCLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiX3N0b3JlRGF0YUZpbGVcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3RoaXMuaW5zdGFuY2UuRlMud3JpdGVGaWxlKEksQSx7ZW5jb2Rpbmc6XCJiaW5hcnlcIn0pfX1dLFt7a2V5OlwiVU5LTk9XTl9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4tMX19LHtrZXk6XCJQQVRURVJOX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybiAwfX0se2tleTpcIkJBUkNPREVfTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDF9fSx7a2V5OlwiTkZUX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybiAyfX1dKSxBfSgpO2Z1bmN0aW9uIHkoQSxJLGcpe3JldHVybiBJIGluIEE/T2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOkFbSV09ZyxBfWZ1bmN0aW9uIHQoQSxJKXt2YXIgZz1PYmplY3Qua2V5cyhBKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgQj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKEEpO0kmJihCPUIuZmlsdGVyKChmdW5jdGlvbihJKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBLEkpLmVudW1lcmFibGV9KSkpLGcucHVzaC5hcHBseShnLEIpfXJldHVybiBnfWZ1bmN0aW9uIFMoQSl7Zm9yKHZhciBJPTE7STxhcmd1bWVudHMubGVuZ3RoO0krKyl7dmFyIGc9bnVsbCE9YXJndW1lbnRzW0ldP2FyZ3VtZW50c1tJXTp7fTtJJTI/dChPYmplY3QoZyksITApLmZvckVhY2goKGZ1bmN0aW9uKEkpe3koQSxJLGdbSV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEEsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoZykpOnQoT2JqZWN0KGcpKS5mb3JFYWNoKChmdW5jdGlvbihJKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZyxJKSl9KSl9cmV0dXJuIEF9dmFyIE09ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKEksZyxCLFEpe0ModGhpcyxBKSx0aGlzLm9wdGlvbnM9UyhTKHt9LHtjYW52YXM6bnVsbCxvcmllbnRhdGlvbjpcImxhbmRzY2FwZVwifSksUSksdGhpcy5pZD0tMSx0aGlzLndpZHRoPUksdGhpcy5oZWlnaHQ9Zyx0aGlzLmltYWdlLHRoaXMub3JpZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uLHRoaXMuY2FtZXJhUGFyYW09Qix0aGlzLmNhbWVyYUlkPS0xLHRoaXMuY2FtZXJhTG9hZGVkPSExLHRoaXMuYXJ0b29sa2l0LHRoaXMubGlzdGVuZXJzPXt9LHRoaXMuZGVmYXVsdE1hcmtlcldpZHRoPTEsdGhpcy5wYXR0ZXJuTWFya2Vycz17fSx0aGlzLmJhcmNvZGVNYXJrZXJzPXt9LHRoaXMubmZ0TWFya2Vycz17fSx0aGlzLnRyYW5zZm9ybV9tYXQ9bmV3IEZsb2F0MzJBcnJheSgxNiksdGhpcy50cmFuc2Zvcm1HTF9SSD1uZXcgRmxvYXQ2NEFycmF5KDE2KSx0aGlzLnZpZGVvV2lkdGg9SSx0aGlzLnZpZGVvSGVpZ2h0PWcsdGhpcy52aWRlb1NpemU9dGhpcy52aWRlb1dpZHRoKnRoaXMudmlkZW9IZWlnaHQsdGhpcy5mcmFtZXBvaW50ZXI9bnVsbCx0aGlzLmZyYW1lc2l6ZT1udWxsLHRoaXMuZGF0YUhlYXA9bnVsbCx0aGlzLnZpZGVvTHVtYT1udWxsLHRoaXMuY2FtZXJhX21hdD1udWxsLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQ9bnVsbCx0aGlzLnZpZGVvTHVtYVBvaW50ZXI9bnVsbCx0aGlzLm9wdGlvbnMuY2FudmFzP3RoaXMuY2FudmFzPXRoaXMub3B0aW9ucy5jYW52YXM6XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiYodGhpcy5jYW52YXM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKSksdGhpcy5jYW52YXM/KHRoaXMuY2FudmFzLndpZHRoPUksdGhpcy5jYW52YXMuaGVpZ2h0PWcsdGhpcy5jdHg9dGhpcy5jYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpKTpjb25zb2xlLndhcm4oXCJObyBjYW52YXMgYXZhaWxhYmxlXCIpLHRoaXMubmZ0TWFya2VyRm91bmQ9ITEsdGhpcy5uZnRNYXJrZXJGb3VuZFRpbWU9ITEsdGhpcy5uZnRNYXJrZXJDb3VudD0wLHRoaXMuX2J3cG9pbnRlcj0hMX12YXIgZyxCLFEsaSxELGE7cmV0dXJuIEUoQSxbe2tleTpcImRpc3Bvc2VcIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQSBpbiB0aGlzLmNhbWVyYUlkPS0xLHRoaXMuY2FtZXJhUGFyYW09XCJcIix0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmlkPi0xJiZ0aGlzLmFydG9vbGtpdC50ZWFyZG93bih0aGlzLmlkKSx0aGlzLmltYWdlJiZ0aGlzLmltYWdlLnNyY09iamVjdCx0aGlzKXRoaXNbQV09bnVsbH19LHtrZXk6XCJwcm9jZXNzXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy5kZXRlY3RNYXJrZXIoQSk7MCE9SSYmY29uc29sZS5lcnJvcihcIltBUkNvbnRyb2xsZXJdXCIsXCJkZXRlY3RNYXJrZXIgZXJyb3I6XCIsSSk7dmFyIGcsQixDPXRoaXMuZ2V0TWFya2VyTnVtKCk7Zm9yKGcgaW4gdGhpcy5wYXR0ZXJuTWFya2VycykoQj10aGlzLnBhdHRlcm5NYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2ZvcihnIGluIHRoaXMuYmFyY29kZU1hcmtlcnMpKEI9dGhpcy5iYXJjb2RlTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLm5mdE1hcmtlcnMpKEI9dGhpcy5uZnRNYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2Zvcih2YXIgUT0wO1E8QztRKyspe3ZhciBFPXRoaXMuZ2V0TWFya2VyKFEpLGk9VS5VTktOT1dOX01BUktFUixvPXRoaXMudHJhY2tQYXR0ZXJuTWFya2VySWQoLTEpO0UuaWRQYXR0Pi0xJiYoRS5pZD09PUUuaWRQYXR0fHwtMT09PUUuaWRNYXRyaXgpPyhvPXRoaXMudHJhY2tQYXR0ZXJuTWFya2VySWQoRS5pZFBhdHQpLGk9VS5QQVRURVJOX01BUktFUixFLmRpciE9PUUuZGlyUGF0dCYmdGhpcy5zZXRNYXJrZXJJbmZvRGlyKFEsRS5kaXJQYXR0KSk6RS5pZE1hdHJpeD4tMSYmKG89dGhpcy50cmFja0JhcmNvZGVNYXJrZXJJZChFLmlkTWF0cml4KSxpPVUuQkFSQ09ERV9NQVJLRVIsRS5kaXIhPT1FLmRpck1hdHJpeCYmdGhpcy5zZXRNYXJrZXJJbmZvRGlyKFEsRS5kaXJNYXRyaXgpKSxpIT09VS5VTktOT1dOX01BUktFUiYmby5pblByZXZpb3VzP3RoaXMuZ2V0VHJhbnNNYXRTcXVhcmVDb250KFEsby5tYXJrZXJXaWR0aCxvLm1hdHJpeCxvLm1hdHJpeCk6dGhpcy5nZXRUcmFuc01hdFNxdWFyZShRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgpLG8uaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KG8ubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7aW5kZXg6USx0eXBlOmksbWFya2VyOkUsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfXZhciBEPXRoaXMubmZ0TWFya2VyQ291bnQ7dGhpcy5kZXRlY3RORlRNYXJrZXIoKTtmb3IodmFyIGE9MDthPEQ7YSsrKXt2YXIgdz10aGlzLmdldE5GVE1hcmtlcihhKSxGPVUuTkZUX01BUktFUjtpZih3LmZvdW5kKXt0aGlzLm5mdE1hcmtlckZvdW5kPWEsdGhpcy5uZnRNYXJrZXJGb3VuZFRpbWU9RGF0ZS5ub3coKTt2YXIgRz10aGlzLnRyYWNrTkZUTWFya2VySWQoYSk7Ry5tYXRyaXguc2V0KHcucG9zZSksRy5pbkN1cnJlbnQ9ITAsdGhpcy50cmFuc01hdFRvR0xNYXQoRy5tYXRyaXgsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRORlRNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDphLHR5cGU6RixtYXJrZXI6dyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9ZWxzZSBzZWxmLm5mdE1hcmtlckZvdW5kPT09YSYmRGF0ZS5ub3coKS10aGlzLm5mdE1hcmtlckZvdW5kVGltZT4yMDAmJih0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImxvc3RORlRNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDphLHR5cGU6RixtYXJrZXI6dyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSkpfWZvcih2YXIgaD10aGlzLmdldE11bHRpTWFya2VyQ291bnQoKSxzPTA7czxoO3MrKyl7dmFyIFI9dGhpcy5nZXRNdWx0aU1hcmtlclBhdHRlcm5Db3VudChzKSx5PSExO3RoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QodGhpcy5pZCxzKSx0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCk7Zm9yKHZhciB0PTA7dDxSO3QrKylpZigoTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLHQpKS52aXNpYmxlPj0wKXt5PSEwLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE11bHRpTWFya2VyXCIsdGFyZ2V0OnRoaXMsZGF0YTp7bXVsdGlNYXJrZXJJZDpzLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KTticmVha31pZih5KWZvcih2YXIgUz0wO1M8UjtTKyspe3ZhciBNPXRoaXMuZ2V0TXVsdGlFYWNoTWFya2VyKHMsUyk7dGhpcy50cmFuc01hdFRvR0xNYXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE11bHRpTWFya2VyU3ViXCIsdGFyZ2V0OnRoaXMsZGF0YTp7bXVsdGlNYXJrZXJJZDpzLG1hcmtlckluZGV4OlMsbWFya2VyOk0sbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pfX10aGlzLl9id3BvaW50ZXImJnRoaXMuZGVidWdEcmF3KCl9fSx7a2V5OlwiZGV0ZWN0TkZUTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmFydG9vbGtpdC5kZXRlY3RORlRNYXJrZXIodGhpcy5pZCl9fSx7a2V5OlwidHJhY2tQYXR0ZXJuTWFya2VySWRcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMucGF0dGVybk1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLnBhdHRlcm5NYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlwidHJhY2tCYXJjb2RlTWFya2VySWRcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3ZhciBnPXRoaXMuYmFyY29kZU1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLmJhcmNvZGVNYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlwidHJhY2tORlRNYXJrZXJJZFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5uZnRNYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5uZnRNYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlwiZ2V0TXVsdGlNYXJrZXJDb3VudFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE11bHRpTWFya2VyQ291bnQodGhpcy5pZCl9fSx7a2V5OlwiZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnRcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJOdW0odGhpcy5pZCxBKX19LHtrZXk6XCJhZGRFdmVudExpc3RlbmVyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmxpc3RlbmVyc1tBXXx8KHRoaXMubGlzdGVuZXJzW0FdPVtdKSx0aGlzLmxpc3RlbmVyc1tBXS5wdXNoKEkpfX0se2tleTpcInJlbW92ZUV2ZW50TGlzdGVuZXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2lmKHRoaXMubGlzdGVuZXJzW0FdKXt2YXIgZz10aGlzLmxpc3RlbmVyc1tBXS5pbmRleE9mKEkpO2c+LTEmJnRoaXMubGlzdGVuZXJzW0FdLnNwbGljZShnLDEpfX19LHtrZXk6XCJkaXNwYXRjaEV2ZW50XCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy5saXN0ZW5lcnNbQS5uYW1lXTtpZihJKWZvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ10uY2FsbCh0aGlzLEEpfX0se2tleTpcImRlYnVnU2V0dXBcIix2YWx1ZTpmdW5jdGlvbigpe1widW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudD8oZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNhbnZhcyksdGhpcy5zZXREZWJ1Z01vZGUoITApLHRoaXMuX2J3cG9pbnRlcj10aGlzLmdldFByb2Nlc3NpbmdJbWFnZSgpKTpjb25zb2xlLmxvZyhcImRlYnVnU2V0dXAoKSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBCcm93c2VyIGVudmlyb25tZW50c1wiKX19LHtrZXk6XCJkZWJ1Z0RyYXdcIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1uZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLl9id3BvaW50ZXIsdGhpcy5mcmFtZXNpemUpLEk9bmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5jYW52YXMud2lkdGgqdGhpcy5jYW52YXMuaGVpZ2h0KjQpLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksZz0wLEI9MDtnPEEubGVuZ3RoO2crKyxCKz00KXt2YXIgQz1BW2ddO0kuZGF0YVtCKzBdPUMsSS5kYXRhW0IrMV09QyxJLmRhdGFbQisyXT1DLEkuZGF0YVtCKzNdPTI1NX10aGlzLmN0eC5wdXRJbWFnZURhdGEoSSwwLDApO2Zvcih2YXIgUT10aGlzLmdldE1hcmtlck51bSgpLEU9MDtFPFE7RSsrKXRoaXMuZHJhd0RlYnVnTWFya2VyKHRoaXMuZ2V0TWFya2VyKEUpKX19LHtrZXk6XCJkcmF3RGVidWdNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST1BLnZlcnRleCxnPUEucG9zLEI9dGhpcy5jdHg7Qi5saW5lV2lkdGg9NSxCLnN0cm9rZVN0eWxlPVwicmVkXCIsQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzBdWzBdLElbMF1bMV0pLEIubGluZVRvKElbMV1bMF0sSVsxXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMl1bMF0sSVsyXVsxXSksQi5saW5lVG8oSVszXVswXSxJWzNdWzFdKSxCLnN0cm9rZSgpLEIuc3Ryb2tlU3R5bGU9XCJncmVlblwiLEIuYmVnaW5QYXRoKCksQi5saW5lVG8oSVsxXVswXSxJWzFdWzFdKSxCLmxpbmVUbyhJWzJdWzBdLElbMl1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzNdWzBdLElbM11bMV0pLEIubGluZVRvKElbMF1bMF0sSVswXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIuYXJjKGdbMF0sZ1sxXSw4LDAsMipNYXRoLlBJKSxCLmZpbGxTdHlsZT1cInJlZFwiLEIuZmlsbCgpfX0se2tleTpcImxvYWRNYXJrZXJcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gQS5hYnJ1cHQoXCJyZXR1cm5cIixBLnNlbnQpO2Nhc2UgMzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJsb2FkTXVsdGlNYXJrZXJcIix2YWx1ZTooRD1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE11bHRpTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcInJldHVyblwiLEEuc2VudCk7Y2FzZSAzOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImxvYWRORlRNYXJrZXJcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLHRoaXMuYXJ0b29sa2l0LmFkZE5GVE1hcmtlcih0aGlzLmlkLEkpO2Nhc2UgMjpyZXR1cm4gZz1BLnNlbnQsdGhpcy5uZnRNYXJrZXJDb3VudD1nKzEsQS5hYnJ1cHQoXCJyZXR1cm5cIixnKTtjYXNlIDU6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiZ2V0VHJhbnNNYXRTcXVhcmVcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0U3F1YXJlKHRoaXMuaWQsQSxJKSxnLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxnfX0se2tleTpcImdldFRyYW5zTWF0U3F1YXJlQ29udFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiB0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LnNldChnKSx0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdFNxdWFyZUNvbnQodGhpcy5pZCxBLEkpLEIuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEJ9fSx7a2V5OlwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmUodGhpcy5pZCxBKSxJLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxJfX0se2tleTpcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3RcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XCJ0cmFuc01hdFRvR0xNYXRcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7cmV0dXJuIG51bGw9PUkmJihJPW5ldyBGbG9hdDY0QXJyYXkoMTYpKSxJWzBdPUFbMF0sSVs0XT1BWzFdLElbOF09QVsyXSxJWzEyXT1BWzNdLElbMV09QVs0XSxJWzVdPUFbNV0sSVs5XT1BWzZdLElbMTNdPUFbN10sSVsyXT1BWzhdLElbNl09QVs5XSxJWzEwXT1BWzEwXSxJWzE0XT1BWzExXSxJWzNdPTAsSVs3XT0wLElbMTFdPTAsSVsxNV09MSxudWxsIT1nJiYwIT09ZyYmKElbMTJdKj1nLElbMTNdKj1nLElbMTRdKj1nKSxJfX0se2tleTpcImFyZ2xDYW1lcmFWaWV3UkhmXCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCO3JldHVybihCPW51bGw9PUk/bmV3IEZsb2F0NjRBcnJheSgxNik6SSlbMF09QVswXSxCWzRdPUFbNF0sQls4XT1BWzhdLEJbMTJdPUFbMTJdLEJbMV09LUFbMV0sQls1XT0tQVs1XSxCWzldPS1BWzldLEJbMTNdPS1BWzEzXSxCWzJdPS1BWzJdLEJbNl09LUFbNl0sQlsxMF09LUFbMTBdLEJbMTRdPS1BWzE0XSxCWzNdPTAsQls3XT0wLEJbMTFdPTAsQlsxNV09MSxudWxsIT1nJiYwIT09ZyYmKEJbMTJdKj1nLEJbMTNdKj1nLEJbMTRdKj1nKSxCfX0se2tleTpcImRldGVjdE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9jb3B5SW1hZ2VUb0hlYXAoQSk/dGhpcy5hcnRvb2xraXQuZGV0ZWN0TWFya2VyKHRoaXMuaWQpOi05OX19LHtrZXk6XCJnZXRNYXJrZXJOdW1cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNYXJrZXJOdW0odGhpcy5pZCl9fSx7a2V5OlwiZ2V0TWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE1hcmtlcih0aGlzLmlkLEEpKXJldHVybiB0aGlzLmFydG9vbGtpdC5tYXJrZXJJbmZvfX0se2tleTpcImdldE5GVE1hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRORlRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQuTkZUTWFya2VySW5mb319LHtrZXk6XCJzZXRNYXJrZXJJbmZvVmVydGV4XCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKyl0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZyswXT1JW2ddWzBdLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXRbMipnKzFdPUlbZ11bMV07cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hcmtlckluZm9WZXJ0ZXgodGhpcy5pZCxBKX19LHtrZXk6XCJjbG9uZU1hcmtlckluZm9cIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShBKSl9fSx7a2V5OlwiZ2V0TXVsdGlFYWNoTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlFYWNoTWFya2VyKHRoaXMuaWQsQSxJKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb319LHtrZXk6XCJnZXRUcmFuc2Zvcm1hdGlvbk1hdHJpeFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtX21hdH19LHtrZXk6XCJnZXRDYW1lcmFNYXRyaXhcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNhbWVyYV9tYXR9fSx7a2V5OlwiZ2V0TWFya2VyVHJhbnNmb3JtYXRpb25NYXRyaXhcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0fX0se2tleTpcInNldERlYnVnTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXREZWJ1Z01vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXREZWJ1Z01vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXREZWJ1Z01vZGUodGhpcy5pZCl9fSx7a2V5OlwiZ2V0UHJvY2Vzc2luZ0ltYWdlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvY2Vzc2luZ0ltYWdlKHRoaXMuaWQpfX0se2tleTpcInNldExvZ0xldmVsXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldExvZ0xldmVsKEEpfX0se2tleTpcImdldExvZ0xldmVsXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TG9nTGV2ZWwoKX19LHtrZXk6XCJzZXRNYXJrZXJJbmZvRGlyXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWFya2VySW5mb0Rpcih0aGlzLmlkLEEsSSl9fSx7a2V5Olwic2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0UHJvamVjdGlvbk5lYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2plY3Rpb25OZWFyUGxhbmUodGhpcy5pZCl9fSx7a2V5Olwic2V0UHJvamVjdGlvbkZhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFByb2plY3Rpb25GYXJQbGFuZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFByb2plY3Rpb25GYXJQbGFuZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2plY3Rpb25GYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRUaHJlc2hvbGRNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFRocmVzaG9sZE1vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRUaHJlc2hvbGRNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRUaHJlc2hvbGRcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0VGhyZXNob2xkXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VGhyZXNob2xkKHRoaXMuaWQpfX0se2tleTpcInNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRNYXRyaXhDb2RlVHlwZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXRyaXhDb2RlVHlwZSh0aGlzLmlkLEEpfX0se2tleTpcImdldE1hdHJpeENvZGVUeXBlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCl9fSx7a2V5Olwic2V0TGFiZWxpbmdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldExhYmVsaW5nTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldExhYmVsaW5nTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldExhYmVsaW5nTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRQYXR0UmF0aW9cIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dFJhdGlvKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0UGF0dFJhdGlvXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dFJhdGlvKHRoaXMuaWQpfX0se2tleTpcInNldEltYWdlUHJvY01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0SW1hZ2VQcm9jTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldEltYWdlUHJvY01vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQpfX0se2tleTpcIl9pbml0aWFsaXplXCIsdmFsdWU6KFE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJLGc9dGhpcztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9MiwobmV3IFUpLmluaXQoKTtjYXNlIDI6cmV0dXJuIHRoaXMuYXJ0b29sa2l0PUEuc2VudCxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJBUlRvb2xraXQgaW5pdGlhbGl6ZWRcIiksQS5uZXh0PTYsdGhpcy5hcnRvb2xraXQubG9hZENhbWVyYSh0aGlzLmNhbWVyYVBhcmFtKTtjYXNlIDY6cmV0dXJuIHRoaXMuY2FtZXJhSWQ9QS5zZW50LGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkNhbWVyYSBwYXJhbXMgbG9hZGVkIHdpdGggSURcIix0aGlzLmNhbWVyYUlkKSx0aGlzLmlkPXRoaXMuYXJ0b29sa2l0LnNldHVwKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQsdGhpcy5jYW1lcmFJZCksY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiR290IElEIGZyb20gc2V0dXBcIix0aGlzLmlkKSx0aGlzLl9pbml0TkZUKCksST1hcnRvb2xraXQuZnJhbWVNYWxsb2MsdGhpcy5mcmFtZXBvaW50ZXI9SS5mcmFtZXBvaW50ZXIsdGhpcy5mcmFtZXNpemU9SS5mcmFtZXNpemUsdGhpcy52aWRlb0x1bWFQb2ludGVyPUkudmlkZW9MdW1hUG9pbnRlcix0aGlzLmRhdGFIZWFwPW5ldyBVaW50OEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5mcmFtZXBvaW50ZXIsdGhpcy5mcmFtZXNpemUpLHRoaXMudmlkZW9MdW1hPW5ldyBVaW50OEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy52aWRlb0x1bWFQb2ludGVyLHRoaXMuZnJhbWVzaXplLzQpLHRoaXMuY2FtZXJhX21hdD1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsSS5jYW1lcmEsMTYpLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkudHJhbnNmb3JtLDEyKSx0aGlzLnNldFByb2plY3Rpb25OZWFyUGxhbmUoLjEpLHRoaXMuc2V0UHJvamVjdGlvbkZhclBsYW5lKDFlMyksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtnLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJsb2FkXCIsdGFyZ2V0Omd9KX0pLDEpLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcyk7Y2FzZSAyMzpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcIl9pbml0TkZUXCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmFydG9vbGtpdC5zZXR1cEFSMih0aGlzLmlkKX19LHtrZXk6XCJfY29weUltYWdlVG9IZWFwXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk7aWYoQXx8KEE9dGhpcy5pbWFnZSksQS5kYXRhP0k9QS5kYXRhOih0aGlzLmN0eC5zYXZlKCksXCJwb3J0cmFpdFwiPT09dGhpcy5vcmllbnRhdGlvbj90aGlzLmN0eC5kcmF3SW1hZ2UoQSwwLDAsdGhpcy5jYW52YXMuaGVpZ2h0LHRoaXMuY2FudmFzLndpZHRoKTp0aGlzLmN0eC5kcmF3SW1hZ2UoQSwwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5yZXN0b3JlKCksST10aGlzLmN0eC5nZXRJbWFnZURhdGEoMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCkuZGF0YSksdGhpcy52aWRlb0x1bWEpZm9yKHZhciBnPTAsQj0wO0I8dGhpcy52aWRlb1NpemU7QisrKXt2YXIgQz1JW2crMF0sUT1JW2crMV0sRT1JW2crMl07dGhpcy52aWRlb0x1bWFbQl09QytDK0MrRStRK1ErUStRPj4zLGcrPTR9cmV0dXJuISF0aGlzLmRhdGFIZWFwJiYodGhpcy5kYXRhSGVhcC5zZXQoSSksITApfX1dLFt7a2V5OlwiaW5pdFdpdGhEaW1lbnNpb25zXCIsdmFsdWU6KEI9SShvKCkubWFyaygoZnVuY3Rpb24gSShnLEIsQyxRKXt2YXIgRTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEkpe2Zvcig7Oylzd2l0Y2goSS5wcmV2PUkubmV4dCl7Y2FzZSAwOnJldHVybiBFPW5ldyBBKGcsQixDLFEpLEkubmV4dD0zLEUuX2luaXRpYWxpemUoKTtjYXNlIDM6cmV0dXJuIEkuYWJydXB0KFwicmV0dXJuXCIsSS5zZW50KTtjYXNlIDQ6Y2FzZVwiZW5kXCI6cmV0dXJuIEkuc3RvcCgpfX0pLEkpfSkpKSxmdW5jdGlvbihBLEksZyxDKXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImluaXRXaXRoSW1hZ2VcIix2YWx1ZTooZz1JKG8oKS5tYXJrKChmdW5jdGlvbiBJKGcsQixDKXt2YXIgUSxFLGk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihJKXtmb3IoOzspc3dpdGNoKEkucHJldj1JLm5leHQpe2Nhc2UgMDpyZXR1cm4gUT1nLnZpZGVvV2lkdGh8fGcud2lkdGgsRT1nLnZpZGVvSGVpZ2h0fHxnLmhlaWdodCxJLm5leHQ9NCxBLmluaXRXaXRoRGltZW5zaW9ucyhRLEUsQixDKTtjYXNlIDQ6cmV0dXJuKGk9SS5zZW50KS5pbWFnZT1nLEkuYWJydXB0KFwicmV0dXJuXCIsaSk7Y2FzZSA3OmNhc2VcImVuZFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLEIpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfV0pLEF9KCk7Y29uc3Qgbj17QVJUb29sa2l0OlUsQVJDb250cm9sbGVyOk19fSkoKSxCLmRlZmF1bHR9KSgpfSkpOyIsIlxuaW1wb3J0IHdvcmtlciBmcm9tIFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvd29ya2VyLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5saW5lLmpzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFdvcmtlcl9mbigpIHtcbiAgcmV0dXJuIHdvcmtlcihcIi8qKioqKiovICgoKSA9PiB7IC8vIHdlYnBhY2tCb290c3RyYXBcXG4vKioqKioqLyBcXHR2YXIgX193ZWJwYWNrX21vZHVsZXNfXyA9ICh7XFxuXFxuLyoqKi8gXFxcIi4vbm9kZV9tb2R1bGVzL0Bhci1qcy1vcmcvYXJ0b29sa2l0NS1qcy9kaXN0L0FSVG9vbGtpdC5qc1xcXCI6XFxuLyohKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXFxcXG4gICEqKiogLi9ub2RlX21vZHVsZXMvQGFyLWpzLW9yZy9hcnRvb2xraXQ1LWpzL2Rpc3QvQVJUb29sa2l0LmpzICoqKiFcXG4gIFxcXFwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cXG4vKioqLyAoZnVuY3Rpb24obW9kdWxlKSB7XFxuXFxuIWZ1bmN0aW9uKEEsSSl7IHRydWU/bW9kdWxlLmV4cG9ydHM9SSgpOjB9KFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuKCgpPT57dmFyIEE9ezc1NzooQSxJLGcpPT57QS5leHBvcnRzPWcoNjY2KX0sNjY5OihBLEksZyk9PntBLmV4cG9ydHM9Zyg2MDkpfSw0NDg6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1nKDI2KSxRPWcoMzcyKSxFPWcoMzI3KSxpPWcoOTcpLG89ZygxMDkpLEQ9Zyg5ODUpLGE9Zyg2MSksdz1nKDY1NSksRj1nKDI2Myk7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oSSxnKXt2YXIgRyxoPUEuZGF0YSxzPUEuaGVhZGVycyxSPUEucmVzcG9uc2VUeXBlO2Z1bmN0aW9uIFUoKXtBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnVuc3Vic2NyaWJlKEcpLEEuc2lnbmFsJiZBLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKFxcXCJhYm9ydFxcXCIsRyl9Qi5pc0Zvcm1EYXRhKGgpJiZkZWxldGUgc1tcXFwiQ29udGVudC1UeXBlXFxcIl07dmFyIHk9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEuYXV0aCl7dmFyIHQ9QS5hdXRoLnVzZXJuYW1lfHxcXFwiXFxcIixTPUEuYXV0aC5wYXNzd29yZD91bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoQS5hdXRoLnBhc3N3b3JkKSk6XFxcIlxcXCI7cy5BdXRob3JpemF0aW9uPVxcXCJCYXNpYyBcXFwiK2J0b2EodCtcXFwiOlxcXCIrUyl9dmFyIE09aShBLmJhc2VVUkwsQS51cmwpO2Z1bmN0aW9uIG4oKXtpZih5KXt2YXIgQj1cXFwiZ2V0QWxsUmVzcG9uc2VIZWFkZXJzXFxcImluIHk/byh5LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpudWxsLFE9e2RhdGE6UiYmXFxcInRleHRcXFwiIT09UiYmXFxcImpzb25cXFwiIT09Uj95LnJlc3BvbnNlOnkucmVzcG9uc2VUZXh0LHN0YXR1czp5LnN0YXR1cyxzdGF0dXNUZXh0Onkuc3RhdHVzVGV4dCxoZWFkZXJzOkIsY29uZmlnOkEscmVxdWVzdDp5fTtDKChmdW5jdGlvbihBKXtJKEEpLFUoKX0pLChmdW5jdGlvbihBKXtnKEEpLFUoKX0pLFEpLHk9bnVsbH19aWYoeS5vcGVuKEEubWV0aG9kLnRvVXBwZXJDYXNlKCksRShNLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplciksITApLHkudGltZW91dD1BLnRpbWVvdXQsXFxcIm9ubG9hZGVuZFxcXCJpbiB5P3kub25sb2FkZW5kPW46eS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt5JiY0PT09eS5yZWFkeVN0YXRlJiYoMCE9PXkuc3RhdHVzfHx5LnJlc3BvbnNlVVJMJiYwPT09eS5yZXNwb25zZVVSTC5pbmRleE9mKFxcXCJmaWxlOlxcXCIpKSYmc2V0VGltZW91dChuKX0seS5vbmFib3J0PWZ1bmN0aW9uKCl7eSYmKGcoYShcXFwiUmVxdWVzdCBhYm9ydGVkXFxcIixBLFxcXCJFQ09OTkFCT1JURURcXFwiLHkpKSx5PW51bGwpfSx5Lm9uZXJyb3I9ZnVuY3Rpb24oKXtnKGEoXFxcIk5ldHdvcmsgRXJyb3JcXFwiLEEsbnVsbCx5KSkseT1udWxsfSx5Lm9udGltZW91dD1mdW5jdGlvbigpe3ZhciBJPUEudGltZW91dD9cXFwidGltZW91dCBvZiBcXFwiK0EudGltZW91dCtcXFwibXMgZXhjZWVkZWRcXFwiOlxcXCJ0aW1lb3V0IGV4Y2VlZGVkXFxcIixCPUEudHJhbnNpdGlvbmFsfHx3LnRyYW5zaXRpb25hbDtBLnRpbWVvdXRFcnJvck1lc3NhZ2UmJihJPUEudGltZW91dEVycm9yTWVzc2FnZSksZyhhKEksQSxCLmNsYXJpZnlUaW1lb3V0RXJyb3I/XFxcIkVUSU1FRE9VVFxcXCI6XFxcIkVDT05OQUJPUlRFRFxcXCIseSkpLHk9bnVsbH0sQi5pc1N0YW5kYXJkQnJvd3NlckVudigpKXt2YXIgYz0oQS53aXRoQ3JlZGVudGlhbHN8fEQoTSkpJiZBLnhzcmZDb29raWVOYW1lP1EucmVhZChBLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7YyYmKHNbQS54c3JmSGVhZGVyTmFtZV09Yyl9XFxcInNldFJlcXVlc3RIZWFkZXJcXFwiaW4geSYmQi5mb3JFYWNoKHMsKGZ1bmN0aW9uKEEsSSl7dm9pZCAwPT09aCYmXFxcImNvbnRlbnQtdHlwZVxcXCI9PT1JLnRvTG93ZXJDYXNlKCk/ZGVsZXRlIHNbSV06eS5zZXRSZXF1ZXN0SGVhZGVyKEksQSl9KSksQi5pc1VuZGVmaW5lZChBLndpdGhDcmVkZW50aWFscyl8fCh5LndpdGhDcmVkZW50aWFscz0hIUEud2l0aENyZWRlbnRpYWxzKSxSJiZcXFwianNvblxcXCIhPT1SJiYoeS5yZXNwb25zZVR5cGU9QS5yZXNwb25zZVR5cGUpLFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLm9uRG93bmxvYWRQcm9ncmVzcyYmeS5hZGRFdmVudExpc3RlbmVyKFxcXCJwcm9ncmVzc1xcXCIsQS5vbkRvd25sb2FkUHJvZ3Jlc3MpLFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLm9uVXBsb2FkUHJvZ3Jlc3MmJnkudXBsb2FkJiZ5LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKFxcXCJwcm9ncmVzc1xcXCIsQS5vblVwbG9hZFByb2dyZXNzKSwoQS5jYW5jZWxUb2tlbnx8QS5zaWduYWwpJiYoRz1mdW5jdGlvbihBKXt5JiYoZyghQXx8QSYmQS50eXBlP25ldyBGKFxcXCJjYW5jZWxlZFxcXCIpOkEpLHkuYWJvcnQoKSx5PW51bGwpfSxBLmNhbmNlbFRva2VuJiZBLmNhbmNlbFRva2VuLnN1YnNjcmliZShHKSxBLnNpZ25hbCYmKEEuc2lnbmFsLmFib3J0ZWQ/RygpOkEuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXFxcImFib3J0XFxcIixHKSkpLGh8fChoPW51bGwpLHkuc2VuZChoKX0pKX19LDYwOTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPWcoODQ5KSxRPWcoMzIxKSxFPWcoMTg1KSxpPWZ1bmN0aW9uIEEoSSl7dmFyIGc9bmV3IFEoSSksaT1DKFEucHJvdG90eXBlLnJlcXVlc3QsZyk7cmV0dXJuIEIuZXh0ZW5kKGksUS5wcm90b3R5cGUsZyksQi5leHRlbmQoaSxnKSxpLmNyZWF0ZT1mdW5jdGlvbihnKXtyZXR1cm4gQShFKEksZykpfSxpfShnKDY1NSkpO2kuQXhpb3M9USxpLkNhbmNlbD1nKDI2MyksaS5DYW5jZWxUb2tlbj1nKDk3MiksaS5pc0NhbmNlbD1nKDUwMiksaS5WRVJTSU9OPWcoMjg4KS52ZXJzaW9uLGkuYWxsPWZ1bmN0aW9uKEEpe3JldHVybiBQcm9taXNlLmFsbChBKX0saS5zcHJlYWQ9Zyg3MTMpLGkuaXNBeGlvc0Vycm9yPWcoMjY4KSxBLmV4cG9ydHM9aSxBLmV4cG9ydHMuZGVmYXVsdD1pfSwyNjM6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtmdW5jdGlvbiBJKEEpe3RoaXMubWVzc2FnZT1BfUkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuXFxcIkNhbmNlbFxcXCIrKHRoaXMubWVzc2FnZT9cXFwiOiBcXFwiK3RoaXMubWVzc2FnZTpcXFwiXFxcIil9LEkucHJvdG90eXBlLl9fQ0FOQ0VMX189ITAsQS5leHBvcnRzPUl9LDk3MjooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoMjYzKTtmdW5jdGlvbiBDKEEpe2lmKFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBBKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcImV4ZWN1dG9yIG11c3QgYmUgYSBmdW5jdGlvbi5cXFwiKTt2YXIgSTt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEpe0k9QX0pKTt2YXIgZz10aGlzO3RoaXMucHJvbWlzZS50aGVuKChmdW5jdGlvbihBKXtpZihnLl9saXN0ZW5lcnMpe3ZhciBJLEI9Zy5fbGlzdGVuZXJzLmxlbmd0aDtmb3IoST0wO0k8QjtJKyspZy5fbGlzdGVuZXJzW0ldKEEpO2cuX2xpc3RlbmVycz1udWxsfX0pKSx0aGlzLnByb21pc2UudGhlbj1mdW5jdGlvbihBKXt2YXIgSSxCPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtnLnN1YnNjcmliZShBKSxJPUF9KSkudGhlbihBKTtyZXR1cm4gQi5jYW5jZWw9ZnVuY3Rpb24oKXtnLnVuc3Vic2NyaWJlKEkpfSxCfSxBKChmdW5jdGlvbihBKXtnLnJlYXNvbnx8KGcucmVhc29uPW5ldyBCKEEpLEkoZy5yZWFzb24pKX0pKX1DLnByb3RvdHlwZS50aHJvd0lmUmVxdWVzdGVkPWZ1bmN0aW9uKCl7aWYodGhpcy5yZWFzb24pdGhyb3cgdGhpcy5yZWFzb259LEMucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihBKXt0aGlzLnJlYXNvbj9BKHRoaXMucmVhc29uKTp0aGlzLl9saXN0ZW5lcnM/dGhpcy5fbGlzdGVuZXJzLnB1c2goQSk6dGhpcy5fbGlzdGVuZXJzPVtBXX0sQy5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7aWYodGhpcy5fbGlzdGVuZXJzKXt2YXIgST10aGlzLl9saXN0ZW5lcnMuaW5kZXhPZihBKTstMSE9PUkmJnRoaXMuX2xpc3RlbmVycy5zcGxpY2UoSSwxKX19LEMuc291cmNlPWZ1bmN0aW9uKCl7dmFyIEE7cmV0dXJue3Rva2VuOm5ldyBDKChmdW5jdGlvbihJKXtBPUl9KSksY2FuY2VsOkF9fSxBLmV4cG9ydHM9Q30sNTAyOkE9PntcXFwidXNlIHN0cmljdFxcXCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiEoIUF8fCFBLl9fQ0FOQ0VMX18pfX0sMzIxOihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9ZygzMjcpLFE9Zyg3ODIpLEU9Zyg1NzIpLGk9ZygxODUpLG89Zyg4NzUpLEQ9by52YWxpZGF0b3JzO2Z1bmN0aW9uIGEoQSl7dGhpcy5kZWZhdWx0cz1BLHRoaXMuaW50ZXJjZXB0b3JzPXtyZXF1ZXN0Om5ldyBRLHJlc3BvbnNlOm5ldyBRfX1hLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKEEpe1xcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT8oQT1hcmd1bWVudHNbMV18fHt9KS51cmw9YXJndW1lbnRzWzBdOkE9QXx8e30sKEE9aSh0aGlzLmRlZmF1bHRzLEEpKS5tZXRob2Q/QS5tZXRob2Q9QS5tZXRob2QudG9Mb3dlckNhc2UoKTp0aGlzLmRlZmF1bHRzLm1ldGhvZD9BLm1ldGhvZD10aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpOkEubWV0aG9kPVxcXCJnZXRcXFwiO3ZhciBJPUEudHJhbnNpdGlvbmFsO3ZvaWQgMCE9PUkmJm8uYXNzZXJ0T3B0aW9ucyhJLHtzaWxlbnRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGZvcmNlZEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksY2xhcmlmeVRpbWVvdXRFcnJvcjpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pfSwhMSk7dmFyIGc9W10sQj0hMDt0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goKGZ1bmN0aW9uKEkpe1xcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBJLnJ1bldoZW4mJiExPT09SS5ydW5XaGVuKEEpfHwoQj1CJiZJLnN5bmNocm9ub3VzLGcudW5zaGlmdChJLmZ1bGZpbGxlZCxJLnJlamVjdGVkKSl9KSk7dmFyIEMsUT1bXTtpZih0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKChmdW5jdGlvbihBKXtRLnB1c2goQS5mdWxmaWxsZWQsQS5yZWplY3RlZCl9KSksIUIpe3ZhciBhPVtFLHZvaWQgMF07Zm9yKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGEsZyksYT1hLmNvbmNhdChRKSxDPVByb21pc2UucmVzb2x2ZShBKTthLmxlbmd0aDspQz1DLnRoZW4oYS5zaGlmdCgpLGEuc2hpZnQoKSk7cmV0dXJuIEN9Zm9yKHZhciB3PUE7Zy5sZW5ndGg7KXt2YXIgRj1nLnNoaWZ0KCksRz1nLnNoaWZ0KCk7dHJ5e3c9Rih3KX1jYXRjaChBKXtHKEEpO2JyZWFrfX10cnl7Qz1FKHcpfWNhdGNoKEEpe3JldHVybiBQcm9taXNlLnJlamVjdChBKX1mb3IoO1EubGVuZ3RoOylDPUMudGhlbihRLnNoaWZ0KCksUS5zaGlmdCgpKTtyZXR1cm4gQ30sYS5wcm90b3R5cGUuZ2V0VXJpPWZ1bmN0aW9uKEEpe3JldHVybiBBPWkodGhpcy5kZWZhdWx0cyxBKSxDKEEudXJsLEEucGFyYW1zLEEucGFyYW1zU2VyaWFsaXplcikucmVwbGFjZSgvXlxcXFw/LyxcXFwiXFxcIil9LEIuZm9yRWFjaChbXFxcImRlbGV0ZVxcXCIsXFxcImdldFxcXCIsXFxcImhlYWRcXFwiLFxcXCJvcHRpb25zXFxcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyl7cmV0dXJuIHRoaXMucmVxdWVzdChpKGd8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOihnfHx7fSkuZGF0YX0pKX19KSksQi5mb3JFYWNoKFtcXFwicG9zdFxcXCIsXFxcInB1dFxcXCIsXFxcInBhdGNoXFxcIl0sKGZ1bmN0aW9uKEEpe2EucHJvdG90eXBlW0FdPWZ1bmN0aW9uKEksZyxCKXtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkoQnx8e30se21ldGhvZDpBLHVybDpJLGRhdGE6Z30pKX19KSksQS5leHBvcnRzPWF9LDc4MjooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KTtmdW5jdGlvbiBDKCl7dGhpcy5oYW5kbGVycz1bXX1DLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDpBLHJlamVjdGVkOkksc3luY2hyb25vdXM6ISFnJiZnLnN5bmNocm9ub3VzLHJ1bldoZW46Zz9nLnJ1bldoZW46bnVsbH0pLHRoaXMuaGFuZGxlcnMubGVuZ3RoLTF9LEMucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKEEpe3RoaXMuaGFuZGxlcnNbQV0mJih0aGlzLmhhbmRsZXJzW0FdPW51bGwpfSxDLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKEEpe0IuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLChmdW5jdGlvbihJKXtudWxsIT09SSYmQShJKX0pKX0sQS5leHBvcnRzPUN9LDk3OihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg3OTMpLEM9ZygzMDMpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe3JldHVybiBBJiYhQihJKT9DKEEsSSk6SX19LDYxOihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg0ODEpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxDLFEpe3ZhciBFPW5ldyBFcnJvcihBKTtyZXR1cm4gQihFLEksZyxDLFEpfX0sNTcyOihBLEksZyk9PntcXFwidXNlIHN0cmljdFxcXCI7dmFyIEI9Zyg4NjcpLEM9Zyg1MjcpLFE9Zyg1MDIpLEU9Zyg2NTUpLGk9ZygyNjMpO2Z1bmN0aW9uIG8oQSl7aWYoQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCksQS5zaWduYWwmJkEuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IGkoXFxcImNhbmNlbGVkXFxcIil9QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBvKEEpLEEuaGVhZGVycz1BLmhlYWRlcnN8fHt9LEEuZGF0YT1DLmNhbGwoQSxBLmRhdGEsQS5oZWFkZXJzLEEudHJhbnNmb3JtUmVxdWVzdCksQS5oZWFkZXJzPUIubWVyZ2UoQS5oZWFkZXJzLmNvbW1vbnx8e30sQS5oZWFkZXJzW0EubWV0aG9kXXx8e30sQS5oZWFkZXJzKSxCLmZvckVhY2goW1xcXCJkZWxldGVcXFwiLFxcXCJnZXRcXFwiLFxcXCJoZWFkXFxcIixcXFwicG9zdFxcXCIsXFxcInB1dFxcXCIsXFxcInBhdGNoXFxcIixcXFwiY29tbW9uXFxcIl0sKGZ1bmN0aW9uKEkpe2RlbGV0ZSBBLmhlYWRlcnNbSV19KSksKEEuYWRhcHRlcnx8RS5hZGFwdGVyKShBKS50aGVuKChmdW5jdGlvbihJKXtyZXR1cm4gbyhBKSxJLmRhdGE9Qy5jYWxsKEEsSS5kYXRhLEkuaGVhZGVycyxBLnRyYW5zZm9ybVJlc3BvbnNlKSxJfSksKGZ1bmN0aW9uKEkpe3JldHVybiBRKEkpfHwobyhBKSxJJiZJLnJlc3BvbnNlJiYoSS5yZXNwb25zZS5kYXRhPUMuY2FsbChBLEkucmVzcG9uc2UuZGF0YSxJLnJlc3BvbnNlLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSkpKSxQcm9taXNlLnJlamVjdChJKX0pKX19LDQ4MTpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBLmNvbmZpZz1JLGcmJihBLmNvZGU9ZyksQS5yZXF1ZXN0PUIsQS5yZXNwb25zZT1DLEEuaXNBeGlvc0Vycm9yPSEwLEEudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlLHN0YXR1czp0aGlzLnJlc3BvbnNlJiZ0aGlzLnJlc3BvbnNlLnN0YXR1cz90aGlzLnJlc3BvbnNlLnN0YXR1czpudWxsfX0sQX19LDE4NTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtJPUl8fHt9O3ZhciBnPXt9O2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm4gQi5pc1BsYWluT2JqZWN0KEEpJiZCLmlzUGxhaW5PYmplY3QoSSk/Qi5tZXJnZShBLEkpOkIuaXNQbGFpbk9iamVjdChJKT9CLm1lcmdlKHt9LEkpOkIuaXNBcnJheShJKT9JLnNsaWNlKCk6SX1mdW5jdGlvbiBRKGcpe3JldHVybiBCLmlzVW5kZWZpbmVkKElbZ10pP0IuaXNVbmRlZmluZWQoQVtnXSk/dm9pZCAwOkModm9pZCAwLEFbZ10pOkMoQVtnXSxJW2ddKX1mdW5jdGlvbiBFKEEpe2lmKCFCLmlzVW5kZWZpbmVkKElbQV0pKXJldHVybiBDKHZvaWQgMCxJW0FdKX1mdW5jdGlvbiBpKGcpe3JldHVybiBCLmlzVW5kZWZpbmVkKElbZ10pP0IuaXNVbmRlZmluZWQoQVtnXSk/dm9pZCAwOkModm9pZCAwLEFbZ10pOkModm9pZCAwLElbZ10pfWZ1bmN0aW9uIG8oZyl7cmV0dXJuIGcgaW4gST9DKEFbZ10sSVtnXSk6ZyBpbiBBP0Modm9pZCAwLEFbZ10pOnZvaWQgMH12YXIgRD17dXJsOkUsbWV0aG9kOkUsZGF0YTpFLGJhc2VVUkw6aSx0cmFuc2Zvcm1SZXF1ZXN0OmksdHJhbnNmb3JtUmVzcG9uc2U6aSxwYXJhbXNTZXJpYWxpemVyOmksdGltZW91dDppLHRpbWVvdXRNZXNzYWdlOmksd2l0aENyZWRlbnRpYWxzOmksYWRhcHRlcjppLHJlc3BvbnNlVHlwZTppLHhzcmZDb29raWVOYW1lOmkseHNyZkhlYWRlck5hbWU6aSxvblVwbG9hZFByb2dyZXNzOmksb25Eb3dubG9hZFByb2dyZXNzOmksZGVjb21wcmVzczppLG1heENvbnRlbnRMZW5ndGg6aSxtYXhCb2R5TGVuZ3RoOmksdHJhbnNwb3J0OmksaHR0cEFnZW50OmksaHR0cHNBZ2VudDppLGNhbmNlbFRva2VuOmksc29ja2V0UGF0aDppLHJlc3BvbnNlRW5jb2Rpbmc6aSx2YWxpZGF0ZVN0YXR1czpvfTtyZXR1cm4gQi5mb3JFYWNoKE9iamVjdC5rZXlzKEEpLmNvbmNhdChPYmplY3Qua2V5cyhJKSksKGZ1bmN0aW9uKEEpe3ZhciBJPURbQV18fFEsQz1JKEEpO0IuaXNVbmRlZmluZWQoQykmJkkhPT1vfHwoZ1tBXT1DKX0pKSxnfX0sMjY6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDYxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBDPWcuY29uZmlnLnZhbGlkYXRlU3RhdHVzO2cuc3RhdHVzJiZDJiYhQyhnLnN0YXR1cyk/SShCKFxcXCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlIFxcXCIrZy5zdGF0dXMsZy5jb25maWcsbnVsbCxnLnJlcXVlc3QsZykpOkEoZyl9fSw1Mjc6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1nKDY1NSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgUT10aGlzfHxDO3JldHVybiBCLmZvckVhY2goZywoZnVuY3Rpb24oZyl7QT1nLmNhbGwoUSxBLEkpfSkpLEF9fSw2NTU6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2NyksQz1nKDE2KSxRPWcoNDgxKSxFPXtcXFwiQ29udGVudC1UeXBlXFxcIjpcXFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXFxcIn07ZnVuY3Rpb24gaShBLEkpeyFCLmlzVW5kZWZpbmVkKEEpJiZCLmlzVW5kZWZpbmVkKEFbXFxcIkNvbnRlbnQtVHlwZVxcXCJdKSYmKEFbXFxcIkNvbnRlbnQtVHlwZVxcXCJdPUkpfXZhciBvLEQ9e3RyYW5zaXRpb25hbDp7c2lsZW50SlNPTlBhcnNpbmc6ITAsZm9yY2VkSlNPTlBhcnNpbmc6ITAsY2xhcmlmeVRpbWVvdXRFcnJvcjohMX0sYWRhcHRlcjooKFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3R8fFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgcHJvY2VzcyYmXFxcIltvYmplY3QgcHJvY2Vzc11cXFwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHByb2Nlc3MpKSYmKG89Zyg0NDgpKSxvKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihBLEkpe3JldHVybiBDKEksXFxcIkFjY2VwdFxcXCIpLEMoSSxcXFwiQ29udGVudC1UeXBlXFxcIiksQi5pc0Zvcm1EYXRhKEEpfHxCLmlzQXJyYXlCdWZmZXIoQSl8fEIuaXNCdWZmZXIoQSl8fEIuaXNTdHJlYW0oQSl8fEIuaXNGaWxlKEEpfHxCLmlzQmxvYihBKT9BOkIuaXNBcnJheUJ1ZmZlclZpZXcoQSk/QS5idWZmZXI6Qi5pc1VSTFNlYXJjaFBhcmFtcyhBKT8oaShJLFxcXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOFxcXCIpLEEudG9TdHJpbmcoKSk6Qi5pc09iamVjdChBKXx8SSYmXFxcImFwcGxpY2F0aW9uL2pzb25cXFwiPT09SVtcXFwiQ29udGVudC1UeXBlXFxcIl0/KGkoSSxcXFwiYXBwbGljYXRpb24vanNvblxcXCIpLGZ1bmN0aW9uKEEsSSxnKXtpZihCLmlzU3RyaW5nKEEpKXRyeXtyZXR1cm4oMCxKU09OLnBhcnNlKShBKSxCLnRyaW0oQSl9Y2F0Y2goQSl7aWYoXFxcIlN5bnRheEVycm9yXFxcIiE9PUEubmFtZSl0aHJvdyBBfXJldHVybigwLEpTT04uc3RyaW5naWZ5KShBKX0oQSkpOkF9XSx0cmFuc2Zvcm1SZXNwb25zZTpbZnVuY3Rpb24oQSl7dmFyIEk9dGhpcy50cmFuc2l0aW9uYWx8fEQudHJhbnNpdGlvbmFsLGc9SSYmSS5zaWxlbnRKU09OUGFyc2luZyxDPUkmJkkuZm9yY2VkSlNPTlBhcnNpbmcsRT0hZyYmXFxcImpzb25cXFwiPT09dGhpcy5yZXNwb25zZVR5cGU7aWYoRXx8QyYmQi5pc1N0cmluZyhBKSYmQS5sZW5ndGgpdHJ5e3JldHVybiBKU09OLnBhcnNlKEEpfWNhdGNoKEEpe2lmKEUpe2lmKFxcXCJTeW50YXhFcnJvclxcXCI9PT1BLm5hbWUpdGhyb3cgUShBLHRoaXMsXFxcIkVfSlNPTl9QQVJTRVxcXCIpO3Rocm93IEF9fXJldHVybiBBfV0sdGltZW91dDowLHhzcmZDb29raWVOYW1lOlxcXCJYU1JGLVRPS0VOXFxcIix4c3JmSGVhZGVyTmFtZTpcXFwiWC1YU1JGLVRPS0VOXFxcIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oQSl7cmV0dXJuIEE+PTIwMCYmQTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OlxcXCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L3BsYWluLCAqLypcXFwifX19O0IuZm9yRWFjaChbXFxcImRlbGV0ZVxcXCIsXFxcImdldFxcXCIsXFxcImhlYWRcXFwiXSwoZnVuY3Rpb24oQSl7RC5oZWFkZXJzW0FdPXt9fSkpLEIuZm9yRWFjaChbXFxcInBvc3RcXFwiLFxcXCJwdXRcXFwiLFxcXCJwYXRjaFxcXCJdLChmdW5jdGlvbihBKXtELmhlYWRlcnNbQV09Qi5tZXJnZShFKX0pKSxBLmV4cG9ydHM9RH0sMjg4OkE9PntBLmV4cG9ydHM9e3ZlcnNpb246XFxcIjAuMjQuMFxcXCJ9fSw4NDk6QT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGc9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLEI9MDtCPGcubGVuZ3RoO0IrKylnW0JdPWFyZ3VtZW50c1tCXTtyZXR1cm4gQS5hcHBseShJLGcpfX19LDMyNzooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KTtmdW5jdGlvbiBDKEEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQSkucmVwbGFjZSgvJTNBL2dpLFxcXCI6XFxcIikucmVwbGFjZSgvJTI0L2csXFxcIiRcXFwiKS5yZXBsYWNlKC8lMkMvZ2ksXFxcIixcXFwiKS5yZXBsYWNlKC8lMjAvZyxcXFwiK1xcXCIpLnJlcGxhY2UoLyU1Qi9naSxcXFwiW1xcXCIpLnJlcGxhY2UoLyU1RC9naSxcXFwiXVxcXCIpfUEuZXhwb3J0cz1mdW5jdGlvbihBLEksZyl7aWYoIUkpcmV0dXJuIEE7dmFyIFE7aWYoZylRPWcoSSk7ZWxzZSBpZihCLmlzVVJMU2VhcmNoUGFyYW1zKEkpKVE9SS50b1N0cmluZygpO2Vsc2V7dmFyIEU9W107Qi5mb3JFYWNoKEksKGZ1bmN0aW9uKEEsSSl7bnVsbCE9QSYmKEIuaXNBcnJheShBKT9JKz1cXFwiW11cXFwiOkE9W0FdLEIuZm9yRWFjaChBLChmdW5jdGlvbihBKXtCLmlzRGF0ZShBKT9BPUEudG9JU09TdHJpbmcoKTpCLmlzT2JqZWN0KEEpJiYoQT1KU09OLnN0cmluZ2lmeShBKSksRS5wdXNoKEMoSSkrXFxcIj1cXFwiK0MoQSkpfSkpKX0pKSxRPUUuam9pbihcXFwiJlxcXCIpfWlmKFEpe3ZhciBpPUEuaW5kZXhPZihcXFwiI1xcXCIpOy0xIT09aSYmKEE9QS5zbGljZSgwLGkpKSxBKz0oLTE9PT1BLmluZGV4T2YoXFxcIj9cXFwiKT9cXFwiP1xcXCI6XFxcIiZcXFwiKStRfXJldHVybiBBfX0sMzAzOkE9PntcXFwidXNlIHN0cmljdFxcXCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk/QS5yZXBsYWNlKC9cXFxcLyskLyxcXFwiXFxcIikrXFxcIi9cXFwiK0kucmVwbGFjZSgvXlxcXFwvKy8sXFxcIlxcXCIpOkF9fSwzNzI6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT97d3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRLEUpe3ZhciBpPVtdO2kucHVzaChBK1xcXCI9XFxcIitlbmNvZGVVUklDb21wb25lbnQoSSkpLEIuaXNOdW1iZXIoZykmJmkucHVzaChcXFwiZXhwaXJlcz1cXFwiK25ldyBEYXRlKGcpLnRvR01UU3RyaW5nKCkpLEIuaXNTdHJpbmcoQykmJmkucHVzaChcXFwicGF0aD1cXFwiK0MpLEIuaXNTdHJpbmcoUSkmJmkucHVzaChcXFwiZG9tYWluPVxcXCIrUSksITA9PT1FJiZpLnB1c2goXFxcInNlY3VyZVxcXCIpLGRvY3VtZW50LmNvb2tpZT1pLmpvaW4oXFxcIjsgXFxcIil9LHJlYWQ6ZnVuY3Rpb24oQSl7dmFyIEk9ZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoXFxcIihefDtcXFxcXFxcXHMqKShcXFwiK0ErXFxcIik9KFteO10qKVxcXCIpKTtyZXR1cm4gST9kZWNvZGVVUklDb21wb25lbnQoSVszXSk6bnVsbH0scmVtb3ZlOmZ1bmN0aW9uKEEpe3RoaXMud3JpdGUoQSxcXFwiXFxcIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fX0sNzkzOkE9PntcXFwidXNlIHN0cmljdFxcXCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybi9eKFthLXpdW2EtelxcXFxkXFxcXCtcXFxcLVxcXFwuXSo6KT9cXFxcL1xcXFwvL2kudGVzdChBKX19LDI2ODpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm5cXFwib2JqZWN0XFxcIj09dHlwZW9mIEEmJiEwPT09QS5pc0F4aW9zRXJyb3J9fSw5ODU6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg2Nyk7QS5leHBvcnRzPUIuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKT9mdW5jdGlvbigpe3ZhciBBLEk9Lyhtc2llfHRyaWRlbnQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSxnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFxcImFcXFwiKTtmdW5jdGlvbiBDKEEpe3ZhciBCPUE7cmV0dXJuIEkmJihnLnNldEF0dHJpYnV0ZShcXFwiaHJlZlxcXCIsQiksQj1nLmhyZWYpLGcuc2V0QXR0cmlidXRlKFxcXCJocmVmXFxcIixCKSx7aHJlZjpnLmhyZWYscHJvdG9jb2w6Zy5wcm90b2NvbD9nLnByb3RvY29sLnJlcGxhY2UoLzokLyxcXFwiXFxcIik6XFxcIlxcXCIsaG9zdDpnLmhvc3Qsc2VhcmNoOmcuc2VhcmNoP2cuc2VhcmNoLnJlcGxhY2UoL15cXFxcPy8sXFxcIlxcXCIpOlxcXCJcXFwiLGhhc2g6Zy5oYXNoP2cuaGFzaC5yZXBsYWNlKC9eIy8sXFxcIlxcXCIpOlxcXCJcXFwiLGhvc3RuYW1lOmcuaG9zdG5hbWUscG9ydDpnLnBvcnQscGF0aG5hbWU6XFxcIi9cXFwiPT09Zy5wYXRobmFtZS5jaGFyQXQoMCk/Zy5wYXRobmFtZTpcXFwiL1xcXCIrZy5wYXRobmFtZX19cmV0dXJuIEE9Qyh3aW5kb3cubG9jYXRpb24uaHJlZiksZnVuY3Rpb24oSSl7dmFyIGc9Qi5pc1N0cmluZyhJKT9DKEkpOkk7cmV0dXJuIGcucHJvdG9jb2w9PT1BLnByb3RvY29sJiZnLmhvc3Q9PT1BLmhvc3R9fSgpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fSwxNjooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtCLmZvckVhY2goQSwoZnVuY3Rpb24oZyxCKXtCIT09SSYmQi50b1VwcGVyQ2FzZSgpPT09SS50b1VwcGVyQ2FzZSgpJiYoQVtJXT1nLGRlbGV0ZSBBW0JdKX0pKX19LDEwOTooQSxJLGcpPT57XFxcInVzZSBzdHJpY3RcXFwiO3ZhciBCPWcoODY3KSxDPVtcXFwiYWdlXFxcIixcXFwiYXV0aG9yaXphdGlvblxcXCIsXFxcImNvbnRlbnQtbGVuZ3RoXFxcIixcXFwiY29udGVudC10eXBlXFxcIixcXFwiZXRhZ1xcXCIsXFxcImV4cGlyZXNcXFwiLFxcXCJmcm9tXFxcIixcXFwiaG9zdFxcXCIsXFxcImlmLW1vZGlmaWVkLXNpbmNlXFxcIixcXFwiaWYtdW5tb2RpZmllZC1zaW5jZVxcXCIsXFxcImxhc3QtbW9kaWZpZWRcXFwiLFxcXCJsb2NhdGlvblxcXCIsXFxcIm1heC1mb3J3YXJkc1xcXCIsXFxcInByb3h5LWF1dGhvcml6YXRpb25cXFwiLFxcXCJyZWZlcmVyXFxcIixcXFwicmV0cnktYWZ0ZXJcXFwiLFxcXCJ1c2VyLWFnZW50XFxcIl07QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3ZhciBJLGcsUSxFPXt9O3JldHVybiBBPyhCLmZvckVhY2goQS5zcGxpdChcXFwiXFxcXG5cXFwiKSwoZnVuY3Rpb24oQSl7aWYoUT1BLmluZGV4T2YoXFxcIjpcXFwiKSxJPUIudHJpbShBLnN1YnN0cigwLFEpKS50b0xvd2VyQ2FzZSgpLGc9Qi50cmltKEEuc3Vic3RyKFErMSkpLEkpe2lmKEVbSV0mJkMuaW5kZXhPZihJKT49MClyZXR1cm47RVtJXT1cXFwic2V0LWNvb2tpZVxcXCI9PT1JPyhFW0ldP0VbSV06W10pLmNvbmNhdChbZ10pOkVbSV0/RVtJXStcXFwiLCBcXFwiK2c6Z319KSksRSk6RX19LDcxMzpBPT57XFxcInVzZSBzdHJpY3RcXFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkobnVsbCxJKX19fSw4NzU6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDI4OCkudmVyc2lvbixDPXt9O1tcXFwib2JqZWN0XFxcIixcXFwiYm9vbGVhblxcXCIsXFxcIm51bWJlclxcXCIsXFxcImZ1bmN0aW9uXFxcIixcXFwic3RyaW5nXFxcIixcXFwic3ltYm9sXFxcIl0uZm9yRWFjaCgoZnVuY3Rpb24oQSxJKXtDW0FdPWZ1bmN0aW9uKGcpe3JldHVybiB0eXBlb2YgZz09PUF8fFxcXCJhXFxcIisoSTwxP1xcXCJuIFxcXCI6XFxcIiBcXFwiKStBfX0pKTt2YXIgUT17fTtDLnRyYW5zaXRpb25hbD1mdW5jdGlvbihBLEksZyl7ZnVuY3Rpb24gQyhBLEkpe3JldHVyblxcXCJbQXhpb3MgdlxcXCIrQitcXFwiXSBUcmFuc2l0aW9uYWwgb3B0aW9uICdcXFwiK0ErXFxcIidcXFwiK0krKGc/XFxcIi4gXFxcIitnOlxcXCJcXFwiKX1yZXR1cm4gZnVuY3Rpb24oZyxCLEUpe2lmKCExPT09QSl0aHJvdyBuZXcgRXJyb3IoQyhCLFxcXCIgaGFzIGJlZW4gcmVtb3ZlZFxcXCIrKEk/XFxcIiBpbiBcXFwiK0k6XFxcIlxcXCIpKSk7cmV0dXJuIEkmJiFRW0JdJiYoUVtCXT0hMCxjb25zb2xlLndhcm4oQyhCLFxcXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSB2XFxcIitJK1xcXCIgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmVhciBmdXR1cmVcXFwiKSkpLCFBfHxBKGcsQixFKX19LEEuZXhwb3J0cz17YXNzZXJ0T3B0aW9uczpmdW5jdGlvbihBLEksZyl7aWYoXFxcIm9iamVjdFxcXCIhPXR5cGVvZiBBKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3RcXFwiKTtmb3IodmFyIEI9T2JqZWN0LmtleXMoQSksQz1CLmxlbmd0aDtDLS0gPjA7KXt2YXIgUT1CW0NdLEU9SVtRXTtpZihFKXt2YXIgaT1BW1FdLG89dm9pZCAwPT09aXx8RShpLFEsQSk7aWYoITAhPT1vKXRocm93IG5ldyBUeXBlRXJyb3IoXFxcIm9wdGlvbiBcXFwiK1ErXFxcIiBtdXN0IGJlIFxcXCIrbyl9ZWxzZSBpZighMCE9PWcpdGhyb3cgRXJyb3IoXFxcIlVua25vd24gb3B0aW9uIFxcXCIrUSl9fSx2YWxpZGF0b3JzOkN9fSw4Njc6KEEsSSxnKT0+e1xcXCJ1c2Ugc3RyaWN0XFxcIjt2YXIgQj1nKDg0OSksQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIFEoQSl7cmV0dXJuXFxcIltvYmplY3QgQXJyYXldXFxcIj09PUMuY2FsbChBKX1mdW5jdGlvbiBFKEEpe3JldHVybiB2b2lkIDA9PT1BfWZ1bmN0aW9uIGkoQSl7cmV0dXJuIG51bGwhPT1BJiZcXFwib2JqZWN0XFxcIj09dHlwZW9mIEF9ZnVuY3Rpb24gbyhBKXtpZihcXFwiW29iamVjdCBPYmplY3RdXFxcIiE9PUMuY2FsbChBKSlyZXR1cm4hMTt2YXIgST1PYmplY3QuZ2V0UHJvdG90eXBlT2YoQSk7cmV0dXJuIG51bGw9PT1JfHxJPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBEKEEpe3JldHVyblxcXCJbb2JqZWN0IEZ1bmN0aW9uXVxcXCI9PT1DLmNhbGwoQSl9ZnVuY3Rpb24gYShBLEkpe2lmKG51bGwhPUEpaWYoXFxcIm9iamVjdFxcXCIhPXR5cGVvZiBBJiYoQT1bQV0pLFEoQSkpZm9yKHZhciBnPTAsQj1BLmxlbmd0aDtnPEI7ZysrKUkuY2FsbChudWxsLEFbZ10sZyxBKTtlbHNlIGZvcih2YXIgQyBpbiBBKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEMpJiZJLmNhbGwobnVsbCxBW0NdLEMsQSl9QS5leHBvcnRzPXtpc0FycmF5OlEsaXNBcnJheUJ1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm5cXFwiW29iamVjdCBBcnJheUJ1ZmZlcl1cXFwiPT09Qy5jYWxsKEEpfSxpc0J1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm4gbnVsbCE9PUEmJiFFKEEpJiZudWxsIT09QS5jb25zdHJ1Y3RvciYmIUUoQS5jb25zdHJ1Y3RvcikmJlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLmNvbnN0cnVjdG9yLmlzQnVmZmVyJiZBLmNvbnN0cnVjdG9yLmlzQnVmZmVyKEEpfSxpc0Zvcm1EYXRhOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgRm9ybURhdGEmJkEgaW5zdGFuY2VvZiBGb3JtRGF0YX0saXNBcnJheUJ1ZmZlclZpZXc6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhBKTpBJiZBLmJ1ZmZlciYmQS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn0saXNTdHJpbmc6ZnVuY3Rpb24oQSl7cmV0dXJuXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBfSxpc051bWJlcjpmdW5jdGlvbihBKXtyZXR1cm5cXFwibnVtYmVyXFxcIj09dHlwZW9mIEF9LGlzT2JqZWN0OmksaXNQbGFpbk9iamVjdDpvLGlzVW5kZWZpbmVkOkUsaXNEYXRlOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJbb2JqZWN0IERhdGVdXFxcIj09PUMuY2FsbChBKX0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJbb2JqZWN0IEZpbGVdXFxcIj09PUMuY2FsbChBKX0saXNCbG9iOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJbb2JqZWN0IEJsb2JdXFxcIj09PUMuY2FsbChBKX0saXNGdW5jdGlvbjpELGlzU3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpKEEpJiZEKEEucGlwZSl9LGlzVVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKEEpe3JldHVyblxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZBIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfSxpc1N0YW5kYXJkQnJvd3NlckVudjpmdW5jdGlvbigpe3JldHVybihcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIG5hdmlnYXRvcnx8XFxcIlJlYWN0TmF0aXZlXFxcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcXFwiTmF0aXZlU2NyaXB0XFxcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcXFwiTlNcXFwiIT09bmF2aWdhdG9yLnByb2R1Y3QpJiZcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHdpbmRvdyYmXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBkb2N1bWVudH0sZm9yRWFjaDphLG1lcmdlOmZ1bmN0aW9uIEEoKXt2YXIgST17fTtmdW5jdGlvbiBnKGcsQil7byhJW0JdKSYmbyhnKT9JW0JdPUEoSVtCXSxnKTpvKGcpP0lbQl09QSh7fSxnKTpRKGcpP0lbQl09Zy5zbGljZSgpOklbQl09Z31mb3IodmFyIEI9MCxDPWFyZ3VtZW50cy5sZW5ndGg7QjxDO0IrKylhKGFyZ3VtZW50c1tCXSxnKTtyZXR1cm4gSX0sZXh0ZW5kOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gYShJLChmdW5jdGlvbihJLEMpe0FbQ109ZyYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIEk/QihJLGcpOkl9KSksQX0sdHJpbTpmdW5jdGlvbihBKXtyZXR1cm4gQS50cmltP0EudHJpbSgpOkEucmVwbGFjZSgvXlxcXFxzK3xcXFxccyskL2csXFxcIlxcXCIpfSxzdHJpcEJPTTpmdW5jdGlvbihBKXtyZXR1cm4gNjUyNzk9PT1BLmNoYXJDb2RlQXQoMCkmJihBPUEuc2xpY2UoMSkpLEF9fX0sNjY2OkE9Pnt2YXIgST1mdW5jdGlvbihBKXtcXFwidXNlIHN0cmljdFxcXCI7dmFyIEksZz1PYmplY3QucHJvdG90eXBlLEI9Zy5oYXNPd25Qcm9wZXJ0eSxDPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LFE9Qy5pdGVyYXRvcnx8XFxcIkBAaXRlcmF0b3JcXFwiLEU9Qy5hc3luY0l0ZXJhdG9yfHxcXFwiQEBhc3luY0l0ZXJhdG9yXFxcIixpPUMudG9TdHJpbmdUYWd8fFxcXCJAQHRvU3RyaW5nVGFnXFxcIjtmdW5jdGlvbiBvKEEsSSxnKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsSSx7dmFsdWU6ZyxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pLEFbSV19dHJ5e28oe30sXFxcIlxcXCIpfWNhdGNoKEEpe289ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBBW0ldPWd9fWZ1bmN0aW9uIEQoQSxJLGcsQil7dmFyIEM9SSYmSS5wcm90b3R5cGUgaW5zdGFuY2VvZiBSP0k6UixRPU9iamVjdC5jcmVhdGUoQy5wcm90b3R5cGUpLEU9bmV3IFkoQnx8W10pO3JldHVybiBRLl9pbnZva2U9ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPXc7cmV0dXJuIGZ1bmN0aW9uKEMsUSl7aWYoQj09PUcpdGhyb3cgbmV3IEVycm9yKFxcXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nXFxcIik7aWYoQj09PWgpe2lmKFxcXCJ0aHJvd1xcXCI9PT1DKXRocm93IFE7cmV0dXJuIEooKX1mb3IoZy5tZXRob2Q9QyxnLmFyZz1ROzspe3ZhciBFPWcuZGVsZWdhdGU7aWYoRSl7dmFyIGk9ayhFLGcpO2lmKGkpe2lmKGk9PT1zKWNvbnRpbnVlO3JldHVybiBpfX1pZihcXFwibmV4dFxcXCI9PT1nLm1ldGhvZClnLnNlbnQ9Zy5fc2VudD1nLmFyZztlbHNlIGlmKFxcXCJ0aHJvd1xcXCI9PT1nLm1ldGhvZCl7aWYoQj09PXcpdGhyb3cgQj1oLGcuYXJnO2cuZGlzcGF0Y2hFeGNlcHRpb24oZy5hcmcpfWVsc2VcXFwicmV0dXJuXFxcIj09PWcubWV0aG9kJiZnLmFicnVwdChcXFwicmV0dXJuXFxcIixnLmFyZyk7Qj1HO3ZhciBvPWEoQSxJLGcpO2lmKFxcXCJub3JtYWxcXFwiPT09by50eXBlKXtpZihCPWcuZG9uZT9oOkYsby5hcmc9PT1zKWNvbnRpbnVlO3JldHVybnt2YWx1ZTpvLmFyZyxkb25lOmcuZG9uZX19XFxcInRocm93XFxcIj09PW8udHlwZSYmKEI9aCxnLm1ldGhvZD1cXFwidGhyb3dcXFwiLGcuYXJnPW8uYXJnKX19fShBLGcsRSksUX1mdW5jdGlvbiBhKEEsSSxnKXt0cnl7cmV0dXJue3R5cGU6XFxcIm5vcm1hbFxcXCIsYXJnOkEuY2FsbChJLGcpfX1jYXRjaChBKXtyZXR1cm57dHlwZTpcXFwidGhyb3dcXFwiLGFyZzpBfX19QS53cmFwPUQ7dmFyIHc9XFxcInN1c3BlbmRlZFN0YXJ0XFxcIixGPVxcXCJzdXNwZW5kZWRZaWVsZFxcXCIsRz1cXFwiZXhlY3V0aW5nXFxcIixoPVxcXCJjb21wbGV0ZWRcXFwiLHM9e307ZnVuY3Rpb24gUigpe31mdW5jdGlvbiBVKCl7fWZ1bmN0aW9uIHkoKXt9dmFyIHQ9e307byh0LFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIFM9T2JqZWN0LmdldFByb3RvdHlwZU9mLE09UyYmUyhTKGUoW10pKSk7TSYmTSE9PWcmJkIuY2FsbChNLFEpJiYodD1NKTt2YXIgbj15LnByb3RvdHlwZT1SLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQpO2Z1bmN0aW9uIGMoQSl7W1xcXCJuZXh0XFxcIixcXFwidGhyb3dcXFwiLFxcXCJyZXR1cm5cXFwiXS5mb3JFYWNoKChmdW5jdGlvbihJKXtvKEEsSSwoZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2ludm9rZShJLEEpfSkpfSkpfWZ1bmN0aW9uIHIoQSxJKXtmdW5jdGlvbiBnKEMsUSxFLGkpe3ZhciBvPWEoQVtDXSxBLFEpO2lmKFxcXCJ0aHJvd1xcXCIhPT1vLnR5cGUpe3ZhciBEPW8uYXJnLHc9RC52YWx1ZTtyZXR1cm4gdyYmXFxcIm9iamVjdFxcXCI9PXR5cGVvZiB3JiZCLmNhbGwodyxcXFwiX19hd2FpdFxcXCIpP0kucmVzb2x2ZSh3Ll9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKEEpe2coXFxcIm5leHRcXFwiLEEsRSxpKX0pLChmdW5jdGlvbihBKXtnKFxcXCJ0aHJvd1xcXCIsQSxFLGkpfSkpOkkucmVzb2x2ZSh3KS50aGVuKChmdW5jdGlvbihBKXtELnZhbHVlPUEsRShEKX0pLChmdW5jdGlvbihBKXtyZXR1cm4gZyhcXFwidGhyb3dcXFwiLEEsRSxpKX0pKX1pKG8uYXJnKX12YXIgQzt0aGlzLl9pbnZva2U9ZnVuY3Rpb24oQSxCKXtmdW5jdGlvbiBRKCl7cmV0dXJuIG5ldyBJKChmdW5jdGlvbihJLEMpe2coQSxCLEksQyl9KSl9cmV0dXJuIEM9Qz9DLnRoZW4oUSxRKTpRKCl9fWZ1bmN0aW9uIGsoQSxnKXt2YXIgQj1BLml0ZXJhdG9yW2cubWV0aG9kXTtpZihCPT09SSl7aWYoZy5kZWxlZ2F0ZT1udWxsLFxcXCJ0aHJvd1xcXCI9PT1nLm1ldGhvZCl7aWYoQS5pdGVyYXRvci5yZXR1cm4mJihnLm1ldGhvZD1cXFwicmV0dXJuXFxcIixnLmFyZz1JLGsoQSxnKSxcXFwidGhyb3dcXFwiPT09Zy5tZXRob2QpKXJldHVybiBzO2cubWV0aG9kPVxcXCJ0aHJvd1xcXCIsZy5hcmc9bmV3IFR5cGVFcnJvcihcXFwiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZFxcXCIpfXJldHVybiBzfXZhciBDPWEoQixBLml0ZXJhdG9yLGcuYXJnKTtpZihcXFwidGhyb3dcXFwiPT09Qy50eXBlKXJldHVybiBnLm1ldGhvZD1cXFwidGhyb3dcXFwiLGcuYXJnPUMuYXJnLGcuZGVsZWdhdGU9bnVsbCxzO3ZhciBRPUMuYXJnO3JldHVybiBRP1EuZG9uZT8oZ1tBLnJlc3VsdE5hbWVdPVEudmFsdWUsZy5uZXh0PUEubmV4dExvYyxcXFwicmV0dXJuXFxcIiE9PWcubWV0aG9kJiYoZy5tZXRob2Q9XFxcIm5leHRcXFwiLGcuYXJnPUkpLGcuZGVsZWdhdGU9bnVsbCxzKTpROihnLm1ldGhvZD1cXFwidGhyb3dcXFwiLGcuYXJnPW5ldyBUeXBlRXJyb3IoXFxcIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0XFxcIiksZy5kZWxlZ2F0ZT1udWxsLHMpfWZ1bmN0aW9uIEsoQSl7dmFyIEk9e3RyeUxvYzpBWzBdfTsxIGluIEEmJihJLmNhdGNoTG9jPUFbMV0pLDIgaW4gQSYmKEkuZmluYWxseUxvYz1BWzJdLEkuYWZ0ZXJMb2M9QVszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goSSl9ZnVuY3Rpb24gTihBKXt2YXIgST1BLmNvbXBsZXRpb258fHt9O0kudHlwZT1cXFwibm9ybWFsXFxcIixkZWxldGUgSS5hcmcsQS5jb21wbGV0aW9uPUl9ZnVuY3Rpb24gWShBKXt0aGlzLnRyeUVudHJpZXM9W3t0cnlMb2M6XFxcInJvb3RcXFwifV0sQS5mb3JFYWNoKEssdGhpcyksdGhpcy5yZXNldCghMCl9ZnVuY3Rpb24gZShBKXtpZihBKXt2YXIgZz1BW1FdO2lmKGcpcmV0dXJuIGcuY2FsbChBKTtpZihcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgQS5uZXh0KXJldHVybiBBO2lmKCFpc05hTihBLmxlbmd0aCkpe3ZhciBDPS0xLEU9ZnVuY3Rpb24gZygpe2Zvcig7KytDPEEubGVuZ3RoOylpZihCLmNhbGwoQSxDKSlyZXR1cm4gZy52YWx1ZT1BW0NdLGcuZG9uZT0hMSxnO3JldHVybiBnLnZhbHVlPUksZy5kb25lPSEwLGd9O3JldHVybiBFLm5leHQ9RX19cmV0dXJue25leHQ6Sn19ZnVuY3Rpb24gSigpe3JldHVybnt2YWx1ZTpJLGRvbmU6ITB9fXJldHVybiBVLnByb3RvdHlwZT15LG8obixcXFwiY29uc3RydWN0b3JcXFwiLHkpLG8oeSxcXFwiY29uc3RydWN0b3JcXFwiLFUpLFUuZGlzcGxheU5hbWU9byh5LGksXFxcIkdlbmVyYXRvckZ1bmN0aW9uXFxcIiksQS5pc0dlbmVyYXRvckZ1bmN0aW9uPWZ1bmN0aW9uKEEpe3ZhciBJPVxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBJiZBLmNvbnN0cnVjdG9yO3JldHVybiEhSSYmKEk9PT1VfHxcXFwiR2VuZXJhdG9yRnVuY3Rpb25cXFwiPT09KEkuZGlzcGxheU5hbWV8fEkubmFtZSkpfSxBLm1hcms9ZnVuY3Rpb24oQSl7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YoQSx5KTooQS5fX3Byb3RvX189eSxvKEEsaSxcXFwiR2VuZXJhdG9yRnVuY3Rpb25cXFwiKSksQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuKSxBfSxBLmF3cmFwPWZ1bmN0aW9uKEEpe3JldHVybntfX2F3YWl0OkF9fSxjKHIucHJvdG90eXBlKSxvKHIucHJvdG90eXBlLEUsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksQS5Bc3luY0l0ZXJhdG9yPXIsQS5hc3luYz1mdW5jdGlvbihJLGcsQixDLFEpe3ZvaWQgMD09PVEmJihRPVByb21pc2UpO3ZhciBFPW5ldyByKEQoSSxnLEIsQyksUSk7cmV0dXJuIEEuaXNHZW5lcmF0b3JGdW5jdGlvbihnKT9FOkUubmV4dCgpLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBBLmRvbmU/QS52YWx1ZTpFLm5leHQoKX0pKX0sYyhuKSxvKG4saSxcXFwiR2VuZXJhdG9yXFxcIiksbyhuLFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksbyhuLFxcXCJ0b1N0cmluZ1xcXCIsKGZ1bmN0aW9uKCl7cmV0dXJuXFxcIltvYmplY3QgR2VuZXJhdG9yXVxcXCJ9KSksQS5rZXlzPWZ1bmN0aW9uKEEpe3ZhciBJPVtdO2Zvcih2YXIgZyBpbiBBKUkucHVzaChnKTtyZXR1cm4gSS5yZXZlcnNlKCksZnVuY3Rpb24gZygpe2Zvcig7SS5sZW5ndGg7KXt2YXIgQj1JLnBvcCgpO2lmKEIgaW4gQSlyZXR1cm4gZy52YWx1ZT1CLGcuZG9uZT0hMSxnfXJldHVybiBnLmRvbmU9ITAsZ319LEEudmFsdWVzPWUsWS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlkscmVzZXQ6ZnVuY3Rpb24oQSl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9SSx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPVxcXCJuZXh0XFxcIix0aGlzLmFyZz1JLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE4pLCFBKWZvcih2YXIgZyBpbiB0aGlzKVxcXCJ0XFxcIj09PWcuY2hhckF0KDApJiZCLmNhbGwodGhpcyxnKSYmIWlzTmFOKCtnLnNsaWNlKDEpKSYmKHRoaXNbZ109SSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmRvbmU9ITA7dmFyIEE9dGhpcy50cnlFbnRyaWVzWzBdLmNvbXBsZXRpb247aWYoXFxcInRocm93XFxcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm4gdGhpcy5ydmFsfSxkaXNwYXRjaEV4Y2VwdGlvbjpmdW5jdGlvbihBKXtpZih0aGlzLmRvbmUpdGhyb3cgQTt2YXIgZz10aGlzO2Z1bmN0aW9uIEMoQixDKXtyZXR1cm4gaS50eXBlPVxcXCJ0aHJvd1xcXCIsaS5hcmc9QSxnLm5leHQ9QixDJiYoZy5tZXRob2Q9XFxcIm5leHRcXFwiLGcuYXJnPUkpLCEhQ31mb3IodmFyIFE9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO1E+PTA7LS1RKXt2YXIgRT10aGlzLnRyeUVudHJpZXNbUV0saT1FLmNvbXBsZXRpb247aWYoXFxcInJvb3RcXFwiPT09RS50cnlMb2MpcmV0dXJuIEMoXFxcImVuZFxcXCIpO2lmKEUudHJ5TG9jPD10aGlzLnByZXYpe3ZhciBvPUIuY2FsbChFLFxcXCJjYXRjaExvY1xcXCIpLEQ9Qi5jYWxsKEUsXFxcImZpbmFsbHlMb2NcXFwiKTtpZihvJiZEKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9ZWxzZSBpZihvKXtpZih0aGlzLnByZXY8RS5jYXRjaExvYylyZXR1cm4gQyhFLmNhdGNoTG9jLCEwKX1lbHNle2lmKCFEKXRocm93IG5ldyBFcnJvcihcXFwidHJ5IHN0YXRlbWVudCB3aXRob3V0IGNhdGNoIG9yIGZpbmFsbHlcXFwiKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7Zz49MDstLWcpe3ZhciBDPXRoaXMudHJ5RW50cmllc1tnXTtpZihDLnRyeUxvYzw9dGhpcy5wcmV2JiZCLmNhbGwoQyxcXFwiZmluYWxseUxvY1xcXCIpJiZ0aGlzLnByZXY8Qy5maW5hbGx5TG9jKXt2YXIgUT1DO2JyZWFrfX1RJiYoXFxcImJyZWFrXFxcIj09PUF8fFxcXCJjb250aW51ZVxcXCI9PT1BKSYmUS50cnlMb2M8PUkmJkk8PVEuZmluYWxseUxvYyYmKFE9bnVsbCk7dmFyIEU9UT9RLmNvbXBsZXRpb246e307cmV0dXJuIEUudHlwZT1BLEUuYXJnPUksUT8odGhpcy5tZXRob2Q9XFxcIm5leHRcXFwiLHRoaXMubmV4dD1RLmZpbmFsbHlMb2Mscyk6dGhpcy5jb21wbGV0ZShFKX0sY29tcGxldGU6ZnVuY3Rpb24oQSxJKXtpZihcXFwidGhyb3dcXFwiPT09QS50eXBlKXRocm93IEEuYXJnO3JldHVyblxcXCJicmVha1xcXCI9PT1BLnR5cGV8fFxcXCJjb250aW51ZVxcXCI9PT1BLnR5cGU/dGhpcy5uZXh0PUEuYXJnOlxcXCJyZXR1cm5cXFwiPT09QS50eXBlPyh0aGlzLnJ2YWw9dGhpcy5hcmc9QS5hcmcsdGhpcy5tZXRob2Q9XFxcInJldHVyblxcXCIsdGhpcy5uZXh0PVxcXCJlbmRcXFwiKTpcXFwibm9ybWFsXFxcIj09PUEudHlwZSYmSSYmKHRoaXMubmV4dD1JKSxzfSxmaW5pc2g6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtJPj0wOy0tSSl7dmFyIGc9dGhpcy50cnlFbnRyaWVzW0ldO2lmKGcuZmluYWxseUxvYz09PUEpcmV0dXJuIHRoaXMuY29tcGxldGUoZy5jb21wbGV0aW9uLGcuYWZ0ZXJMb2MpLE4oZyksc319LGNhdGNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLnRyeUxvYz09PUEpe3ZhciBCPWcuY29tcGxldGlvbjtpZihcXFwidGhyb3dcXFwiPT09Qi50eXBlKXt2YXIgQz1CLmFyZztOKGcpfXJldHVybiBDfX10aHJvdyBuZXcgRXJyb3IoXFxcImlsbGVnYWwgY2F0Y2ggYXR0ZW1wdFxcXCIpfSxkZWxlZ2F0ZVlpZWxkOmZ1bmN0aW9uKEEsZyxCKXtyZXR1cm4gdGhpcy5kZWxlZ2F0ZT17aXRlcmF0b3I6ZShBKSxyZXN1bHROYW1lOmcsbmV4dExvYzpCfSxcXFwibmV4dFxcXCI9PT10aGlzLm1ldGhvZCYmKHRoaXMuYXJnPUkpLHN9fSxBfShBLmV4cG9ydHMpO3RyeXtyZWdlbmVyYXRvclJ1bnRpbWU9SX1jYXRjaChBKXtcXFwib2JqZWN0XFxcIj09dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpcy5yZWdlbmVyYXRvclJ1bnRpbWU9STpGdW5jdGlvbihcXFwiclxcXCIsXFxcInJlZ2VuZXJhdG9yUnVudGltZSA9IHJcXFwiKShJKX19LDY1NDooKT0+e30sMjMxOigpPT57fSw3MDM6KCk9Pnt9fSxJPXt9O2Z1bmN0aW9uIGcoQil7dmFyIEM9SVtCXTtpZih2b2lkIDAhPT1DKXJldHVybiBDLmV4cG9ydHM7dmFyIFE9SVtCXT17ZXhwb3J0czp7fX07cmV0dXJuIEFbQl0oUSxRLmV4cG9ydHMsZyksUS5leHBvcnRzfWcubj1BPT57dmFyIEk9QSYmQS5fX2VzTW9kdWxlPygpPT5BLmRlZmF1bHQ6KCk9PkE7cmV0dXJuIGcuZChJLHthOkl9KSxJfSxnLmQ9KEEsSSk9Pntmb3IodmFyIEIgaW4gSSlnLm8oSSxCKSYmIWcubyhBLEIpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLHtlbnVtZXJhYmxlOiEwLGdldDpJW0JdfSl9LGcuZz1mdW5jdGlvbigpe2lmKFxcXCJvYmplY3RcXFwiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbihcXFwicmV0dXJuIHRoaXNcXFwiKSgpfWNhdGNoKEEpe2lmKFxcXCJvYmplY3RcXFwiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLGcubz0oQSxJKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEEsSSk7dmFyIEI9e307cmV0dXJuKCgpPT57XFxcInVzZSBzdHJpY3RcXFwiO2Z1bmN0aW9uIEEoQSxJLGcsQixDLFEsRSl7dHJ5e3ZhciBpPUFbUV0oRSksbz1pLnZhbHVlfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9aS5kb25lP0kobyk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oQixDKX1mdW5jdGlvbiBJKEkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBnPXRoaXMsQj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihDLFEpe3ZhciBFPUkuYXBwbHkoZyxCKTtmdW5jdGlvbiBpKEkpe0EoRSxDLFEsaSxvLFxcXCJuZXh0XFxcIixJKX1mdW5jdGlvbiBvKEkpe0EoRSxDLFEsaSxvLFxcXCJ0aHJvd1xcXCIsSSl9aSh2b2lkIDApfSkpfX1mdW5jdGlvbiBDKEEsSSl7aWYoIShBIGluc3RhbmNlb2YgSSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXFxcIil9ZnVuY3Rpb24gUShBLEkpe2Zvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKXt2YXIgQj1JW2ddO0IuZW51bWVyYWJsZT1CLmVudW1lcmFibGV8fCExLEIuY29uZmlndXJhYmxlPSEwLFxcXCJ2YWx1ZVxcXCJpbiBCJiYoQi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQi5rZXksQil9fWZ1bmN0aW9uIEUoQSxJLGcpe3JldHVybiBJJiZRKEEucHJvdG90eXBlLEkpLGcmJlEoQSxnKSxBfWcuZChCLHtkZWZhdWx0OigpPT5ufSk7dmFyIGk9Zyg3NTcpLG89Zy5uKGkpO2Z1bmN0aW9uIEQoQSl7cmV0dXJuIEQ9XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIFN5bWJvbCYmXFxcInN5bWJvbFxcXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiBBfTpmdW5jdGlvbihBKXtyZXR1cm4gQSYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIFN5bWJvbCYmQS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmQSE9PVN5bWJvbC5wcm90b3R5cGU/XFxcInN5bWJvbFxcXCI6dHlwZW9mIEF9LEQoQSl9dmFyIGEsdz0oYT0oYT1cXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMCl8fFxcXCIvaW5kZXguanNcXFwiLGZ1bmN0aW9uKEEpe0E9dm9pZCAwIT09KEE9QXx8e30pP0E6e307dmFyIEksQj17fTtmb3IoSSBpbiBBKUEuaGFzT3duUHJvcGVydHkoSSkmJihCW0ldPUFbSV0pO3ZhciBDPVtdLFE9XFxcIi4vdGhpcy5wcm9ncmFtXFxcIixFPWZ1bmN0aW9uKEEsSSl7dGhyb3cgSX0saT0hMSxvPSExLHc9ITEsRj0hMTtpPVxcXCJvYmplY3RcXFwiPT09KFxcXCJ1bmRlZmluZWRcXFwiPT10eXBlb2Ygd2luZG93P1xcXCJ1bmRlZmluZWRcXFwiOkQod2luZG93KSksbz1cXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgaW1wb3J0U2NyaXB0cyx3PVxcXCJvYmplY3RcXFwiPT09KFxcXCJ1bmRlZmluZWRcXFwiPT10eXBlb2YgcHJvY2Vzcz9cXFwidW5kZWZpbmVkXFxcIjpEKHByb2Nlc3MpKSYmXFxcIm9iamVjdFxcXCI9PT1EKHByb2Nlc3MudmVyc2lvbnMpJiZcXFwic3RyaW5nXFxcIj09dHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZSxGPSFpJiYhdyYmIW87dmFyIEcsaCxzLFIsVT1cXFwiXFxcIjtmdW5jdGlvbiB5KEkpe3JldHVybiBBLmxvY2F0ZUZpbGU/QS5sb2NhdGVGaWxlKEksVSk6VStJfXc/KFU9bz9nKDcwMykuZGlybmFtZShVKStcXFwiL1xcXCI6XFxcIi8vXFxcIixHPWZ1bmN0aW9uKEEsSSl7dmFyIEI9amcoQSk7cmV0dXJuIEI/ST9COkIudG9TdHJpbmcoKTooc3x8KHM9ZygyMzEpKSxSfHwoUj1nKDcwMykpLEE9Ui5ub3JtYWxpemUoQSkscy5yZWFkRmlsZVN5bmMoQSxJP251bGw6XFxcInV0ZjhcXFwiKSl9LGg9ZnVuY3Rpb24oQSl7dmFyIEk9RyhBLCEwKTtyZXR1cm4gSS5idWZmZXJ8fChJPW5ldyBVaW50OEFycmF5KEkpKSxIKEkuYnVmZmVyKSxJfSxwcm9jZXNzLmFyZ3YubGVuZ3RoPjEmJihRPXByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXFxcXFxcXC9nLFxcXCIvXFxcIikpLEM9cHJvY2Vzcy5hcmd2LnNsaWNlKDIpLHByb2Nlc3Mub24oXFxcInVuY2F1Z2h0RXhjZXB0aW9uXFxcIiwoZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgTkIpKXRocm93IEF9KSkscHJvY2Vzcy5vbihcXFwidW5oYW5kbGVkUmVqZWN0aW9uXFxcIixKQSksRT1mdW5jdGlvbihBKXtwcm9jZXNzLmV4aXQoQSl9LEEuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVyblxcXCJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XVxcXCJ9KTpGPyhcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHJlYWQmJihHPWZ1bmN0aW9uKEEpe3ZhciBJPWpnKEEpO3JldHVybiBJP1ZnKEkpOnJlYWQoQSl9KSxoPWZ1bmN0aW9uKEEpe3ZhciBJO3JldHVybihJPWpnKEEpKT9JOlxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiByZWFkYnVmZmVyP25ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoQSkpOihIKFxcXCJvYmplY3RcXFwiPT09RChJPXJlYWQoQSxcXFwiYmluYXJ5XFxcIikpKSxJKX0sXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBzY3JpcHRBcmdzP0M9c2NyaXB0QXJnczp2b2lkIDAhPT1hcmd1bWVudHMmJihDPWFyZ3VtZW50cyksXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIHF1aXQmJihFPWZ1bmN0aW9uKEEpe3F1aXQoQSl9KSxcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHByaW50JiYoXFxcInVuZGVmaW5lZFxcXCI9PXR5cGVvZiBjb25zb2xlJiYoY29uc29sZT17fSksY29uc29sZS5sb2c9cHJpbnQsY29uc29sZS53YXJuPWNvbnNvbGUuZXJyb3I9XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBwcmludEVycj9wcmludEVycjpwcmludCkpOihpfHxvKSYmKG8/VT1zZWxmLmxvY2F0aW9uLmhyZWY6ZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKFU9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLGEmJihVPWEpLFU9MCE9PVUuaW5kZXhPZihcXFwiYmxvYjpcXFwiKT9VLnN1YnN0cigwLFUubGFzdEluZGV4T2YoXFxcIi9cXFwiKSsxKTpcXFwiXFxcIixHPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcXFwiR0VUXFxcIixBLCExKSxJLnNlbmQobnVsbCksSS5yZXNwb25zZVRleHR9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gVmcoZyk7dGhyb3cgSX19LG8mJihoPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcXFwiR0VUXFxcIixBLCExKSxJLnJlc3BvbnNlVHlwZT1cXFwiYXJyYXlidWZmZXJcXFwiLEkuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShJLnJlc3BvbnNlKX1jYXRjaChJKXt2YXIgZz1qZyhBKTtpZihnKXJldHVybiBnO3Rocm93IEl9fSkpO3ZhciB0PUEucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksUz1BLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3IoSSBpbiBCKUIuaGFzT3duUHJvcGVydHkoSSkmJihBW0ldPUJbSV0pO2Z1bmN0aW9uIE0oQSl7dmFyIEk9QUFbaUE+PjJdLGc9SStBKzE1Ji0xNjtyZXR1cm4gZz5TZygpJiZKQSgpLEFBW2lBPj4yXT1nLEl9Qj1udWxsLEEuYXJndW1lbnRzJiYoQz1BLmFyZ3VtZW50cyksQS50aGlzUHJvZ3JhbSYmKFE9QS50aGlzUHJvZ3JhbSksQS5xdWl0JiYoRT1BLnF1aXQpO3ZhciBuLGMscixrPXtcXFwiZjY0LXJlbVxcXCI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSVJfSxkZWJ1Z2dlcjpmdW5jdGlvbigpe319LEs9KG5ldyBBcnJheSgwKSwwKSxOPWZ1bmN0aW9uKEEpe0s9QX0sWT1mdW5jdGlvbigpe3JldHVybiBLfTtBLndhc21CaW5hcnkmJihuPUEud2FzbUJpbmFyeSksQS5ub0V4aXRSdW50aW1lJiYoYz1BLm5vRXhpdFJ1bnRpbWUpLFxcXCJvYmplY3RcXFwiIT09KFxcXCJ1bmRlZmluZWRcXFwiPT10eXBlb2YgV2ViQXNzZW1ibHk/XFxcInVuZGVmaW5lZFxcXCI6RChXZWJBc3NlbWJseSkpJiZTKFxcXCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkXFxcIik7dmFyIGU9bmV3IFdlYkFzc2VtYmx5LlRhYmxlKHtpbml0aWFsOjg3OCxtYXhpbXVtOjg3OCxlbGVtZW50OlxcXCJhbnlmdW5jXFxcIn0pLEo9ITE7ZnVuY3Rpb24gSChBLEkpe0F8fEpBKFxcXCJBc3NlcnRpb24gZmFpbGVkOiBcXFwiK0kpfWZ1bmN0aW9uIEwoQSl7cmV0dXJuIGhBP1JCKEEpOk0oQSl9dmFyIHE9XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXFxcInV0ZjhcXFwiKTp2b2lkIDA7ZnVuY3Rpb24gZChBLEksZyl7Zm9yKHZhciBCPUkrZyxDPUk7QVtDXSYmIShDPj1CKTspKytDO2lmKEMtST4xNiYmQS5zdWJhcnJheSYmcSlyZXR1cm4gcS5kZWNvZGUoQS5zdWJhcnJheShJLEMpKTtmb3IodmFyIFE9XFxcIlxcXCI7STxDOyl7dmFyIEU9QVtJKytdO2lmKDEyOCZFKXt2YXIgaT02MyZBW0krK107aWYoMTkyIT0oMjI0JkUpKXt2YXIgbz02MyZBW0krK107aWYoKEU9MjI0PT0oMjQwJkUpPygxNSZFKTw8MTJ8aTw8NnxvOig3JkUpPDwxOHxpPDwxMnxvPDw2fDYzJkFbSSsrXSk8NjU1MzYpUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKTtlbHNle3ZhciBEPUUtNjU1MzY7USs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxEPj4xMCw1NjMyMHwxMDIzJkQpfX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJkUpPDw2fGkpfWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKX1yZXR1cm4gUX1mdW5jdGlvbiBmKEEsSSl7cmV0dXJuIEE/ZCh6LEEsSSk6XFxcIlxcXCJ9ZnVuY3Rpb24gbChBLEksZyxCKXtpZighKEI+MCkpcmV0dXJuIDA7Zm9yKHZhciBDPWcsUT1nK0ItMSxFPTA7RTxBLmxlbmd0aDsrK0Upe3ZhciBpPUEuY2hhckNvZGVBdChFKTtpZihpPj01NTI5NiYmaTw9NTczNDMmJihpPTY1NTM2KygoMTAyMyZpKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrRSkpLGk8PTEyNyl7aWYoZz49USlicmVhaztJW2crK109aX1lbHNlIGlmKGk8PTIwNDcpe2lmKGcrMT49USlicmVhaztJW2crK109MTkyfGk+PjYsSVtnKytdPTEyOHw2MyZpfWVsc2UgaWYoaTw9NjU1MzUpe2lmKGcrMj49USlicmVhaztJW2crK109MjI0fGk+PjEyLElbZysrXT0xMjh8aT4+NiY2MyxJW2crK109MTI4fDYzJml9ZWxzZXtpZihnKzM+PVEpYnJlYWs7SVtnKytdPTI0MHxpPj4xOCxJW2crK109MTI4fGk+PjEyJjYzLElbZysrXT0xMjh8aT4+NiY2MyxJW2crK109MTI4fDYzJml9fXJldHVybiBJW2ddPTAsZy1DfWZ1bmN0aW9uIHUoQSxJLGcpe3JldHVybiBsKEEseixJLGcpfWZ1bmN0aW9uIFcoQSl7Zm9yKHZhciBJPTAsZz0wO2c8QS5sZW5ndGg7KytnKXt2YXIgQj1BLmNoYXJDb2RlQXQoZyk7Qj49NTUyOTYmJkI8PTU3MzQzJiYoQj02NTUzNisoKDEwMjMmQik8PDEwKXwxMDIzJkEuY2hhckNvZGVBdCgrK2cpKSxCPD0xMjc/KytJOkkrPUI8PTIwNDc/MjpCPD02NTUzNT8zOjR9cmV0dXJuIEl9dmFyIHA9XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBUZXh0RGVjb2Rlcj9uZXcgVGV4dERlY29kZXIoXFxcInV0Zi0xNmxlXFxcIik6dm9pZCAwO2Z1bmN0aW9uIFooQSl7Zm9yKHZhciBJPUEsZz1JPj4xO19bZ107KSsrZztpZigoST1nPDwxKS1BPjMyJiZwKXJldHVybiBwLmRlY29kZSh6LnN1YmFycmF5KEEsSSkpO2Zvcih2YXIgQj0wLEM9XFxcIlxcXCI7Oyl7dmFyIFE9X1tBKzIqQj4+MV07aWYoMD09USlyZXR1cm4gQzsrK0IsQys9U3RyaW5nLmZyb21DaGFyQ29kZShRKX19ZnVuY3Rpb24gYihBLEksZyl7aWYodm9pZCAwPT09ZyYmKGc9MjE0NzQ4MzY0NyksZzwyKXJldHVybiAwO2Zvcih2YXIgQj1JLEM9KGctPTIpPDIqQS5sZW5ndGg/Zy8yOkEubGVuZ3RoLFE9MDtRPEM7KytRKXt2YXIgRT1BLmNoYXJDb2RlQXQoUSk7X1tJPj4xXT1FLEkrPTJ9cmV0dXJuIF9bST4+MV09MCxJLUJ9ZnVuY3Rpb24geChBKXtyZXR1cm4gMipBLmxlbmd0aH1mdW5jdGlvbiBtKEEpe2Zvcih2YXIgST0wLGc9XFxcIlxcXCI7Oyl7dmFyIEI9QUFbQSs0Kkk+PjJdO2lmKDA9PUIpcmV0dXJuIGc7aWYoKytJLEI+PTY1NTM2KXt2YXIgQz1CLTY1NTM2O2crPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8Qz4+MTAsNTYzMjB8MTAyMyZDKX1lbHNlIGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoQil9fWZ1bmN0aW9uIFgoQSxJLGcpe2lmKHZvaWQgMD09PWcmJihnPTIxNDc0ODM2NDcpLGc8NClyZXR1cm4gMDtmb3IodmFyIEI9SSxDPUIrZy00LFE9MDtRPEEubGVuZ3RoOysrUSl7dmFyIEU9QS5jaGFyQ29kZUF0KFEpO2lmKEU+PTU1Mjk2JiZFPD01NzM0MyYmKEU9NjU1MzYrKCgxMDIzJkUpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytRKSksQUFbST4+Ml09RSwoSSs9NCkrND5DKWJyZWFrfXJldHVybiBBQVtJPj4yXT0wLEktQn1mdW5jdGlvbiBWKEEpe2Zvcih2YXIgST0wLGc9MDtnPEEubGVuZ3RoOysrZyl7dmFyIEI9QS5jaGFyQ29kZUF0KGcpO0I+PTU1Mjk2JiZCPD01NzM0MyYmKytnLEkrPTR9cmV0dXJuIEl9ZnVuY3Rpb24gTyhBKXt2YXIgST1XKEEpKzEsZz1SQihJKTtyZXR1cm4gZyYmbChBLHYsZyxJKSxnfWZ1bmN0aW9uIFQoQSxJKXt2LnNldChBLEkpfWZ1bmN0aW9uIGooQSxJLGcpe2Zvcih2YXIgQj0wO0I8QS5sZW5ndGg7KytCKXZbSSsrPj4wXT1BLmNoYXJDb2RlQXQoQik7Z3x8KHZbST4+MF09MCl9dmFyIFAsdix6LF8sJCxBQSxJQSxnQSxCQSxDQT02NTUzNjtmdW5jdGlvbiBRQShJKXtQPUksQS5IRUFQOD12PW5ldyBJbnQ4QXJyYXkoSSksQS5IRUFQMTY9Xz1uZXcgSW50MTZBcnJheShJKSxBLkhFQVAzMj1BQT1uZXcgSW50MzJBcnJheShJKSxBLkhFQVBVOD16PW5ldyBVaW50OEFycmF5KEkpLEEuSEVBUFUxNj0kPW5ldyBVaW50MTZBcnJheShJKSxBLkhFQVBVMzI9SUE9bmV3IFVpbnQzMkFycmF5KEkpLEEuSEVBUEYzMj1nQT1uZXcgRmxvYXQzMkFycmF5KEkpLEEuSEVBUEY2ND1CQT1uZXcgRmxvYXQ2NEFycmF5KEkpfXZhciBFQT01MzA0MTc2LGlBPTYxMTA0LG9BPUEuVE9UQUxfTUVNT1JZfHwyNjg0MzU0NTY7ZnVuY3Rpb24gREEoSSl7Zm9yKDtJLmxlbmd0aD4wOyl7dmFyIGc9SS5zaGlmdCgpO2lmKFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBnKXt2YXIgQj1nLmZ1bmM7XFxcIm51bWJlclxcXCI9PXR5cGVvZiBCP3ZvaWQgMD09PWcuYXJnP0EuZHluQ2FsbF92KEIpOkEuZHluQ2FsbF92aShCLGcuYXJnKTpCKHZvaWQgMD09PWcuYXJnP251bGw6Zy5hcmcpfWVsc2UgZygpfX0ocj1BLndhc21NZW1vcnk/QS53YXNtTWVtb3J5Om5ldyBXZWJBc3NlbWJseS5NZW1vcnkoe2luaXRpYWw6b0EvQ0EsbWF4aW11bTpvQS9DQX0pKSYmKFA9ci5idWZmZXIpLG9BPVAuYnl0ZUxlbmd0aCxRQShQKSxBQVtpQT4+Ml09RUE7dmFyIGFBPVtdLHdBPVtdLEZBPVtdLEdBPVtdLGhBPSExO2Z1bmN0aW9uIHNBKCl7aWYoQS5wcmVSdW4pZm9yKFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLnByZVJ1biYmKEEucHJlUnVuPVtBLnByZVJ1bl0pO0EucHJlUnVuLmxlbmd0aDspdEEoQS5wcmVSdW4uc2hpZnQoKSk7REEoYUEpfWZ1bmN0aW9uIFJBKCl7aEE9ITAsQS5ub0ZTSW5pdHx8aUkuaW5pdC5pbml0aWFsaXplZHx8aUkuaW5pdCgpLFFJLmluaXQoKSxEQSh3QSl9ZnVuY3Rpb24gVUEoKXtpSS5pZ25vcmVQZXJtaXNzaW9ucz0hMSxEQShGQSl9ZnVuY3Rpb24geUEoKXtpZihBLnBvc3RSdW4pZm9yKFxcXCJmdW5jdGlvblxcXCI9PXR5cGVvZiBBLnBvc3RSdW4mJihBLnBvc3RSdW49W0EucG9zdFJ1bl0pO0EucG9zdFJ1bi5sZW5ndGg7KVNBKEEucG9zdFJ1bi5zaGlmdCgpKTtEQShHQSl9ZnVuY3Rpb24gdEEoQSl7YUEudW5zaGlmdChBKX1mdW5jdGlvbiBTQShBKXtHQS51bnNoaWZ0KEEpfXZhciBNQT1NYXRoLmFicyxuQT1NYXRoLmNlaWwsY0E9TWF0aC5mbG9vcixyQT1NYXRoLm1pbixrQT0wLEtBPW51bGwsTkE9bnVsbDtmdW5jdGlvbiBZQShJKXtrQSsrLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKX1mdW5jdGlvbiBlQShJKXtpZihrQS0tLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKSwwPT1rQSYmKG51bGwhPT1LQSYmKGNsZWFySW50ZXJ2YWwoS0EpLEtBPW51bGwpLE5BKSl7dmFyIGc9TkE7TkE9bnVsbCxnKCl9fWZ1bmN0aW9uIEpBKEkpe3Rocm93IEEub25BYm9ydCYmQS5vbkFib3J0KEkpLHQoSSs9XFxcIlxcXCIpLFMoSSksSj0hMCxJPVxcXCJhYm9ydChcXFwiK0krXFxcIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uXFxcIixuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKEkpfUEucHJlbG9hZGVkSW1hZ2VzPXt9LEEucHJlbG9hZGVkQXVkaW9zPXt9O3ZhciBIQT1cXFwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LFxcXCI7ZnVuY3Rpb24gTEEoQSl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9BLnN0YXJ0c1dpdGgoSEEpOjA9PT1BLmluZGV4T2YoSEEpfXZhciBxQSxkQSxmQT1cXFwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFHRnpiUUVBQUFBQmp3aHpZQUYvQVg5Z0FYOEFZQUovZndGL1lBSi9md0JnQTM5L2Z3Ri9ZQVYvZjM5L2Z3QmdBMzkvZndCZ0JIOS9mMzhBWUFWL2YzOS9md0YvWUFSL2YzOS9BWDlnQm45L2YzOS9md0YvWUFBQVlBWi9mMzkvZjM4QVlBZC9mMzkvZjM5L0FHQUlmMzkvZjM5L2YzOEJmMkFIZjM5L2YzOS9md0YvWUFBQmYyQUJmUUY5WUFGL0FYeGdCWDkvZjM5OEFYOWdBMzkrZndGK1lBVi9mMzkvZmdGL1lBaC9mMzkvZjM5L2Z3QmdDbjkvZjM5L2YzOS9mMzhBWUFOL2YzMEFZQU4vZjN3QVlBSi9mQUJnQm45L2YzOS9mQUYvWUFOL2YzOEJmV0FDZlgwQmZXQUNmMzhCZkdBRGYzOS9BWHhnQW54OEFYeGdDWDkvZjM5L2YzOS9md0YvWUFaL2ZIOS9mMzhCZjJBRWYzOS9md0YrWUFGOEFYeGdCWDkvZm45L0FHQUNmMzBBWUFwL2YzOS9mMzkvZjM5L0FYOWdESDkvZjM5L2YzOS9mMzkvZndGL1lBVi9mWDEvZndGL1lBRjlBWDlnQVg4QmZXQUdmMzkvZjM5L0FYeGdBbngvQVh4Z0QzOS9mMzkvZjM5L2YzOS9mMzkvZndCZ0RYOS9mMzkvZlgxOWZYMTlmWDBBWUFSL2YzOTlBR0FGZjM5OWZYOEFZQVYvZlgxOWZRQmdCbjk4Zkg5L2Z3QmdDMzkvZjM5L2YzOS9mMzkvQVg5Z0VYOS9mMzkvZjM5L2YzMTlmWDE5ZlgxOUFYOWdCbjkvZlgxL2Z3Ri9ZQUorZndGL1lBRjhBWDlnQkg5L2YzNEJmbUFDZjM4QmZXQUVmMzkvZndGOVlBTi9mWDBCZldBQmZBRjlZQWwvZjM5L2YzOS9mMzhBWUJGL2YzOS9mMzkvZjM5OWZYMTlmWDE5ZlFCZ0JuOS9mMzkvZlFCZ0NIOS9mMzkvZlgxOUFHQUpmMzkvZjM5OWZYMTlBR0FGZjM5L2ZYMEFZQWQvZjM5OWZYMS9BR0FFZjM5L2ZBQmdBMzkvZmdCZ0JuOS9mWDk5ZndCZ0FuOStBR0FEZjM1L0FHQURmMzE5QUdBRWYzMTlmd0JnQm45OWZYMTlmd0JnQkg5OGZIOEFZQXgvZjM5L2YzOS9mMzkvZkg4QmYyQU9mMzkvZjM5L2YzOS9mM3gvZjM4QmYyQVRmMzkvZjM5L2YzOS9mSDkvZjM5L2YzOS9md0YvWUF4L2YzOS9mMzkvZjMxL2YzOEJmMkFpZjM5L2YzOS9mMzk4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmd0YvWUFkL2YzOS9mMzk4QVg5Z0IzOS9mMzk4ZjM4QmYyQURmMzk5QVg5Z0JYOS9mWDEvQVg5Z0IzOS9mSDkvZjM4QmYyQVBmMzk4Zkh4OGZIeDhmSHg4Zkh4OEFYOWdCSDkrZjM4QmYyQUNmMzBCZjJBRmYzMTlmWDBCZjJBQ2Yzd0JmMkFEZm45L0FYOWdBbjEvQVg5Z0FueC9BWDlnQVg4QmZtQUNmMzhCZm1BQ2ZuNEJmbUFGZjM5L2YzOEJmV0FIZjM5L2YzOS9md0Y5WUFkL2YzOS9mMzk5QVgxZ0JuOS9mMzkvZlFGOVlBWi9mMzkvZlgwQmZXQUVmMzkvZlFGOVlBTi9mMzBCZldBRmYzMTlmMzhCZldBQ2ZYOEJmV0FEZlgxOUFYMWdCSDE5ZlgwQmZXQUZmMzkvZjM4QmZHQUVmMzk4ZndGOFlBTjhmSDhCZkdBRGZIeDhBWHhnQm54OGZIeDhmQUY4QXBzRVBBTmxibllCWVFBTEEyVnVkZ0ZpQUFFRFpXNTJBV01BQVFObGJuWUJaQUFCQTJWdWRnRmxBQVlEWlc1MkFXWUFBQU5sYm5ZQlp3QURBMlZ1ZGdGb0FCQURaVzUyQVdrQUJnTmxibllCYWdBTUEyVnVkZ0ZyQUFVRFpXNTJBV3dBRUFObGJuWUJiUUFCQTJWdWRnRnVBQUFEWlc1MkFXOEFBUU5sYm5ZQmNBQURBMlZ1ZGdGeEFBSURaVzUyQVhJQUJRTmxibllCY3dBR0EyVnVkZ0YwQUFBRFpXNTJBWFVBQWdObGJuWUJkZ0FEQTJWdWRnRjNBQVlEWlc1MkFYZ0FHUU5sYm5ZQmVRQUFBMlZ1ZGdGNkFBSURaVzUyQVVFQUFRTmxibllCUWdBSEEyVnVkZ0ZEQUFZRFpXNTJBVVFBQ0FoaGMyMHlkMkZ6YlFkbU5qUXRjbVZ0QUNBRFpXNTJBVVVBQ0FObGJuWUJSZ0FKQTJWdWRnRkhBQWtEWlc1MkFVZ0FBQU5sYm5ZQlNRQWtBMlZ1ZGdGS0FBQURaVzUyQVVzQUJBTmxibllCVEFBRUEyVnVkZ0ZOQUJBRFpXNTJBVTRBVWdObGJuWUJUd0FQQTJWdWRnRlFBQk1EWlc1MkFWRUFXQU5sYm5ZQlVnQUNBMlZ1ZGdGVEFBTURaVzUyQVZRQUF3TmxibllCVlFBRkEyVnVkZ0ZXQUFrRFpXNTJBVmNBQ1FObGJuWUJXQUFDQTJWdWRnRlpBQUlEWlc1MkFWb0FBZ05sYm5ZQlh3QUNBMlZ1ZGdFa0FBRURaVzUyREY5ZmRHRmliR1ZmWW1GelpRTi9BQVpuYkc5aVlXd0RUbUZPQTN3QUJtZHNiMkpoYkFoSmJtWnBibWwwZVFOOEFBTmxibllHYldWdGIzSjVBZ0dBSUlBZ0EyVnVkZ1YwWVdKc1pRRndBZTRHN2dZRHlBdkdDd0lCQWdJREFRY0NBUU1DQUNvQUJBRUJBZ0VEQXdROEFnSUNBQUFBQUFFREF3QnFLd1lRQWdFREFBa0FBUVFHQ2drQ0VRRUJBaWtEQVFBQUJqZ0FCUVVJQndNQ0F3Z0VCZ0J0QkVnRUF4d0FBd0VFQUFJREdpd0RQVDBxQ1JnQkF3b0lDQWdKQUIwQ0xRZ2NBdzRPQ2lrR0Jna0dWQVFKQXdjQ0FnQUNBQVFETUFZWUFDb0dBRGNDQXdJR0FnSUFBZ0VIQnc0R0F3WW5BU2NBRVNCd0JnQUpDUUpsWkFNQkhRWUdNUU1kQXpZQ0JBSURDQVlDQmdNQ0F3MERBQVlBWWd3Q0J3Wk9CZ29kT2dNQUFnTURBZ05wQndNQ0ZSTUNBd2NBQUEwTkJBOFBBUU1CQVFJREFRVURIeU1GQ1FnRUJBQUFBQUlRQUFRREJBTUFCZ1lCQXdNRkFRQWhCd0pEQXl3QUJ3TUNBUU1CQVFJV2JERUJBd0VEQndNQkFRTUhBUU1IQVF3SERBVURBQU1JQVFBb0JSNEFLQVVCQVFFQmNneHhCd1lHRVJFUkFBQUJYZ2hmSXdrR0FBQUhBamtDQUFFQVNTMENCZ0F0SUNCaEh6bEdCQUlFQUFFQUVBUUJBUU1BQVFjQ0FRSUFBUWtCQWdFQUF3TVpCaGdCQVFOWkR3WU1BQUVCQXdFQkJnQURBVG9uQXdNclZVQVBCdzRIQndFSEF3RUJBUU1EQXdFRGJ3SURCazhBREFBREVBTURBd0VDQVFFQkNnRUdBUkVSQkFNREF3TURBUU1IQWt3REJnRUFWallOSEFvSkJ5VU5CaG9VRHhzSkF3VVdCaFlHQmdVSUFRRUJBUWdCRGdBRUxoY3VGelFHTkFNREFRd0JBUVVNREFNSkJRd01BQTBKRFFRS0NTTUpDU01jSHg4RUNnWUNBZ0FCQVFFQkF3RUFCeVVFQXdFRUFRRUJBUUVCQVRNTEJ3RUJCQjBrSkFrR0FnWUdBQUJnQ0FJQkJBUnJCQUFFQmdZTEF4QUpBZ0lCQkFJM1hRSUVBeUk0QXdRQ0lDeHVCQWdDQkFRQ0FRSUFBZ1FCQ1JRRUVCUUVBQUFBQWdFR0FRTUJBd0VBQUFBSEFBQUNBQUFCQVFFSUFBZ0JDZ29KQ1FFRUJ3Y0hCd2NCQXdjSEFRY0JBd2NOQndnTkFRVUZCUVVGQlFVRkFBVUhCd2NIQncwQkRRME5Bd2NIQndNQkF3RUJBUUVCQVFFQkFRQUJBZ0lDQWdJQkFnSUJBZ0FCQVFNQkFRRUNBQUVCQWdJQ0FBSUNBZ0VCQVFJREF3QUJBd1VGQlFVRkJRVURCUVVGQlFVRkJRVUZCUWdGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUVCRHdKbVl3d0ZDQVFEQWdBRENRTUJBUUlFQkFrRUJBRUdBZ0lBSGdFQkNBRUdBQU1BQXdBREVnc21BQU1BQXdBREVob1NHZ3NRVUFzQkFBQUNBZ0lFQUFBR0NBQUNBZ1FFQWdRTEFBQUNBZ0lDQUFBRUN3c1NBUUVHQXdJQkF3SUJBdzhEQXdZR0Jqd3lCZ00xTlQ4SEVBRUdIRW9IUWxzQkx3Y0hNZ0VCQXdNQ0JnWUhCZ01CQXdZREF3Y0hBeThNQWdnREFBQUFBQUFFQUFBQ0JBSUNBZ0lDQWdJQ0FqNUhJUWNCYUFJaEFnNVJDVHNFQ2drRUNRTURBd0lIQXdNQkF3TURBd01HQmdZREJnMERBUUlCQVFFWkNBRURBd1lHRHdjR0F3TUZEd01GQmdjQ0FRY0NBd01EQVFFQkFRRUNBUUVCQVFvR0Nrc1JRUU1GQVFjQUFRTUJBd01IQXdNREJ3RURBUWNGQlFJQkFRSURBd05uRFEwTkt3TUdBZ0lFRHdOY0F3WVdBMFFEQVFNR0F3RURBUU1EQXdNQkFnTURBd0VCQWdZREFRRURBd2NEQXdNQ0NBRUlDQWdJQ2dvREFRRURBd01EQWdRQ0FnQUNBUVFwQVFvQ0Z3MG9Bd0FBT3dBQkNBZ0FEUWdCRHhnWkFDWUxBQ0lRSGhKYUZnME1CUWN3UlFFaERnQVBVd29iQ0FrRVZ3SUFCaDhlSkFNQUFnWUdCZ01DQ0FZQkF3RURDQVFKQWdRQ0FRUUNDUWtKQkFNREF3QUFBUU1EQXdBQUFRSUlCQWtDQkFJRUFnRUJBUW9LQkFnT0RnRUFDQUFJRGc0SUNnb0VDQTRPREF3S0d3b2JGd1lQRHhjR0R3Z1BEQThQQndVRkJRTU1Cd1VGQlFVRkJRTUxDd3NBQUFBQUFBQUFEZ29LQ2dvS0J3VUZCUXdIQlFVRkJRVUJCUXNMQ3dBQUFBUUFBQUFBRGdvS0Nnb0tCd2dURXhVSUZRZ0lDQWdURXhVSUZRZ0lDQWdFQ0FnQ0NBZ0lDQW9LQ2dvS0Nnb1NDZ29JQ0FnSUNBZ0lDQUVCQmdFQUNnb0tDZ29LQ2dvS0JBY0lCQUVIQ0FFQ0FBQURBZ0FBQUFNQ0JBTUNCQU5OQ0FRRUFBUUVBQVFCQVJBQUN3c0xDd3N6Q3dzTEN3c0xDd3NMQ3dzTEN4QVFFQXNIQlF3RUFRQUhCUXdFQndVTUJBc0hDQkFBQmhjRWZ3RkJBQXQvQVVFQUMzOEJRUUFMZndGQjhONERDd2VUQWk0Q1lXRUFuUWNDWW1FQTVRc0NZMkVBK3dRQ1pHRUEwUXNDWldFQTRBUUNabUVBNlFzQ1oyRUFvQVVDYUdFQTBnc0NhV0VBNXdzQ2FtRUE1Z3NDYTJFQTZBc0NiR0VBT0FKdFlRQkVBbTVoQU40SkFtOWhBTndKQW5CaEFOc0pBbkZoQU5rSkFuSmhBTmdKQW5OaEFOY0pBblJoQU5ZSkFuVmhBTlVKQW5aaEFOUUpBbmRoQU5NSkFuaGhBTklKQW5saEFORUpBbnBoQU5BSkFrRmhBTTRKQWtKaEFNMEpBa05oQUxrSkFrUmhBTGNKQWtWaEFNd0pBa1poQUs0REFrZGhBSzhEQWtoaEFMRURBa2xoQUxBREFrcGhBTXNKQWt0aEFNb0pBa3hoQU1rSkFrMWhBTWdKQWs1aEFNY0pBazloQU1ZSkFsQmhBTVVKQWxGaEFMWUpBbEpoQVB3TEFsTmhBSmdKQWxSaEFQc0xDYUVMQVFBakFBdnVCc01KK2diNEJ1OEd3Z25qQnNFSi9RWll4Z2lqQlgvdkMzOS8wUVROQzM5LzBRVEtDOG9FeWdTK0M3MEx1UXU0QzdjRTdBcnJDdW9LNlFybkN1WUs1UXEzQk00S3pRck1Dc3NLeWdySkNzZ0trUUtSQW4rUkFwRUNmNUFDa0FKL2tBS1FBbjkvZjZBRW1ncC9tQXFEQ29JSy9RbjhDZDhDM3dMZkFuOS9vQVN1QmZzRlJLUUZtZ2VaQjVRSGt3ZUxCNGdIaHdlQ0I0RUg5Z2IwQnZJRzdRYnJCdWtHNGdhZkJvOEdod1ovdGdXMUJiTUZzZ1ZZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZd0FtSkJYcVZDS1lIb3dlYkFwc0Ntd0tiQXNNTHdBdTdDN2NMalFxTENva0s5QW54Q2U4SmhRcW1CWmdIbHdlV0I1VUhrQWVOQjR3SGhRZUVCNE1IMkFiZ0Jza0duQWFZQnBjR2xnYVVCcE1Ha2dhR0JvUUdnd2FCQm9BRy93WCtCZjBGZW5wNmVucDZlbnA2ZW5wNmVucDZlbVNpQlo4RmdnWDNDKzBMMUFUT0M4d0wxQVRMQzhrTHhBdkJDN0lMcnd1aEJLRUVqQXFLQ29jSytBbnpDZkFKN1FuREJac0hrUWVQQjQ0SGhnZmFCdDBHdFFHdkFwVUZaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaSzBCaUFyM0NmWUo5UW51Q2RRR3dRWEFCYTBCclFHdEFhMEJyUUd0QWEwQmpBTC9DdjRLOWdyMUNvd0NqQUtNQXBnQnRRdXhDNFFMZ3d1QkMvd0srd3I2Q3ZnSzlBcmhBcUlLbXdxWkNvWUs3QW5oQXA0SzRRS1VDcndGdWdXWUFaZ0JtQUdZQVpnQm1BR1lBWmdCbUFHT0JLb0txQXFPQkdhdUM2MExyQXVyQzhZRXhnU3FDNmtMcUF1bkM2WUxtQXVYQzVVTGxBdThCTHdFa3d1U0M1RUxrQXVQQy9JSzhRcndDdThLN2dyVUN0TUswZ3JSQ3RBS3FRcW5DcjhGdmdWbVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1hTkJMWUt0UXF6Q3JFS3JncXRDbzBFeWdIdENzOEtwQXFqQ3AwS25BcWZCSjhFbGdxVkNzb0J5Z0hLQWNvQnlnR0xBb0lMZ0F2NUN2Y0tpd0tMQW9zQ2pBU2hCWjRGakFTK0NmZ0xSc2NDMlFqR0F0Z0k3UVBIQ0dOZWxnaGVYcWNIWGw2a0IxNWpYbU5qWHVNRTRnVGlCRjVlblFMUEM5WUU3UUxRQk93Q21nTHJBczRFelFTYUF1c0N6Z1ROQkprQzZnTE1CTXNFbVFMcUFzd0V5d1RzQXUwQzdBTHRBbU5ldGd0alhtTmVZMTVqWG1OZVkxNWpYcTRFclFTdUJLMEVZMTVqWG1OZVkxNWpYbU5lWTE1alhtTmVZMTVqWGw2ZUJKY0tuQVNRQ3BzRWpncWFCSVFLbVFUK0NWNWVYbDVlc2dtbkJZQUh4Z2FnQm1PYUJwa0dqUWFuQTR3R2dnWmppUWFJQnZrRitBVmp5UVhQQmRZRlkrY0Z6UVZqdlFXNUJiY0ZyUVdyQmFrRnBBdWlDMk00UmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUm9zRSt3YjVCb3NFdlFueEJxSUJuQUtjQXNVTHdndS9DN29MandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFRU3VBYTRCandHUEFZOEJxUVN1QWE0Qm5BS2NBb0VLZ0FyL0Nmc0orZ241Q2FFRzl3YjFCdk1HN2dic0J1b0dyZ09kQnNvRjBBWHJCZThGcmdLc0Jhb0ZpQVdpQWFJQm9nR2lBYUlCb2dHaUFhSUJ1d212QTdvSnNRT0tCS2dGc0FPS0JNa0I5QXZ3QytvTDBnVFNCTFFMc0FzOTB3WFJCZVVGNUFYakJlSUY0UVh1QmUwRjdBWE9CY3dGeXdYSUJjY0Z4Z1hGQmNRRnlRSEpBY2tCeVFISkFYYjFDL0VMNnd1akJxUUdwUWFtQnFjR3FBYXFCcXNHckFhdEJxNEdyd2F3QnJFR3NnYXpCclVHdGdhM0JyZ0d1UWE2QnJzR3ZBYTlCcjRHdndiQUJzRUd3Z2JEQnFJR3hBYkZCdUFGM2dYZEJkd0Yyd1hhQmRrRjJBWFhCWFoyZG5aMmRuWjJkbloyZG5aMmRuWjIzQUwyQy9JTDdBdW1DcVVLM0FMY0Fva0UxUVhTQmVZRjZnWHBCZWdGaVFTSUJOTUUwd1NJQkFxcWl4N0dDdzBBSUFBZ0FTQUJFR0FRbndrTHlRMEJDWDhnQUVVRVFBOExRYnpSQXlnQ0FDRUVJQUJCZUdvaUF5QUFRWHhxS0FJQUlnSkJlSEVpQUdvaEJTQUNRUUZ4Qkg4Z0F3VUNmeUFES0FJQUlRRWdBa0VEY1VVRVFBOExJQU1nQVdzaUF5QUVTUVJBRHdzZ0FDQUJhaUVBSUFOQndORURLQUlBUmdSQUlBTWdCU2dDQkNJQlFRTnhRUU5IRFFFYVFiVFJBeUFBTmdJQUlBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFEd3NnQVVFRGRpRUVJQUZCZ0FKSkJFQWdBeWdDQ0NJQklBTW9BZ3dpQWtZRVFFR3MwUU5Cck5FREtBSUFRUUVnQkhSQmYzTnhOZ0lBQlNBQklBSTJBZ3dnQWlBQk5nSUlDeUFEREFFTElBTW9BaGdoQnlBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRUdvaUFrRUVhaUlFS0FJQUlnRUVRQ0FFSVFJRklBSW9BZ0FpQVVVRVFFRUFJUUVNQWdzTEEwQUNRQ0FCUVJScUlnUW9BZ0FpQmtVRVFDQUJRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRUNJQVloQVF3QkN3c2dBa0VBTmdJQUN3VWdBeWdDQ0NJQ0lBRTJBZ3dnQVNBQ05nSUlDeUFIQkg4Z0F5QURLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FDZEVGL2MzRTJBZ0FnQXd3REN3VWdCMEVRYWlJQ0lBZEJGR29nQXlBQ0tBSUFSaHNnQVRZQ0FDQURJQUZGRFFJYUN5QUJJQWMyQWhnZ0F5Z0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQXlnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBd1VnQXdzTEN5SUhJQVZQQkVBUEN5QUZLQUlFSWdoQkFYRkZCRUFQQ3lBSVFRSnhCRUFnQlNBSVFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBZHFJQUEyQWdBZ0FDRUNCU0FGUWNUUkF5Z0NBRVlFUUVHNDBRTWdBRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQU0yQWdBZ0F5QUFRUUZ5TmdJRVFjRFJBeWdDQUNBRFJ3UkFEd3RCd05FRFFRQTJBZ0JCdE5FRFFRQTJBZ0FQQzBIQTBRTW9BZ0FnQlVZRVFFRzAwUU1nQUVHMDBRTW9BZ0JxSWdBMkFnQkJ3TkVESUFjMkFnQWdBeUFBUVFGeU5nSUVJQUFnQjJvZ0FEWUNBQThMSUFoQkEzWWhCQ0FJUVlBQ1NRUkFJQVVvQWdnaUFTQUZLQUlNSWdKR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFSMFFYOXpjVFlDQUFVZ0FTQUNOZ0lNSUFJZ0FUWUNDQXNGQWtBZ0JTZ0NHQ0VKSUFVb0Fnd2lBU0FGUmdSQUFrQWdCVUVRYWlJQ1FRUnFJZ1FvQWdBaUFRUkFJQVFoQWdVZ0FpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJDZ0NBQ0lHUlFSQUlBRkJFR29pQkNnQ0FDSUdSUTBCQ3lBRUlRSWdCaUVCREFFTEN5QUNRUUEyQWdBTEJTQUZLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUNBRktBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQUlBVkdCRUFnQkNBQk5nSUFJQUZGQkVCQnNORURRYkRSQXlnQ0FFRUJJQUowUVg5emNUWUNBQXdEQ3dVZ0NVRVFhaUlDSUFsQkZHb2dBaWdDQUNBRlJoc2dBVFlDQUNBQlJRMENDeUFCSUFrMkFoZ2dCU2dDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0JTZ0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNMQ3dzZ0F5QUFJQWhCZUhGcUlnSkJBWEkyQWdRZ0FpQUhhaUFDTmdJQUlBTkJ3TkVES0FJQVJnUkFRYlRSQXlBQ05nSUFEd3NMSUFKQkEzWWhBU0FDUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0F6WUNBQ0FCSUFNMkFnd2dBeUFCTmdJSUlBTWdBRFlDREE4TElBSkJDSFlpQUFSL0lBSkIvLy8vQjBzRWYwRWZCU0FBSUFCQmdQNC9ha0VRZGtFSWNTSUJkQ0lFUVlEZ0gycEJFSFpCQkhFaEFFRU9JQUFnQVhJZ0JDQUFkQ0lBUVlDQUQycEJFSFpCQW5FaUFYSnJJQUFnQVhSQkQzWnFJZ0JCQVhRZ0FpQUFRUWRxZGtFQmNYSUxCVUVBQ3lJQlFRSjBRZHpUQTJvaEFDQURJQUUyQWh3Z0EwRUFOZ0lVSUFOQkFEWUNFRUd3MFFNb0FnQWlCRUVCSUFGMElnWnhCRUFDUUNBQ0lBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQWtFQVFSa2dBVUVCZG1zZ0FVRWZSaHQwSVFRRFFDQUFRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFSQkFYUWhCQ0FDSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBTTJBZ0FnQXlBQU5nSVlJQU1nQXpZQ0RDQURJQU0yQWdnTUFnc0xJQUVvQWdnaUFDQUROZ0lNSUFFZ0F6WUNDQ0FESUFBMkFnZ2dBeUFCTmdJTUlBTkJBRFlDR0FzRlFiRFJBeUFFSUFaeU5nSUFJQUFnQXpZQ0FDQURJQUEyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXRCek5FRFFjelJBeWdDQUVGL2FpSUFOZ0lBSUFBRVFBOExRZlRVQXlFQUEwQWdBQ2dDQUNJRFFRaHFJUUFnQXcwQUMwSE0wUU5CZnpZQ0FBc2tBQ0FCQkg4Z0FFR0FnSUNBZUVZZ0FVRi9SbkVFZjBFQUJTQUFJQUZ0Q3dWQkFBc0xJQUVCZnlBQUtBSUFJUUlnQVJDbEN5RUJJQUlvQWdnZ0FVRUNkR29vQWdBTERBQWdBQ0FCUVJ4cUVPc0pDemtCQVg4Z0FDZ0NBQ0lBS0FJRUlRRWdBQ0FCUVg5cU5nSUVJQUZGQkVBZ0FDZ0NBQ2dDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3dzOEFDTUdJUUFqQmtFUWFpUUdJQUpCQUVkQjBJVUJLQUlBSUFGTWNRUkFJQUlzQUFBRVFDQUFJQU0yQWdBZ0FTQUNJQUFRMmdrTEN5QUFKQVlMaWdJQkIzOGpCaUVESXdaQkVHb2tCaUFEUVF4cUlRSWdBeUFBRUpnQ0lBTXNBQUFFUUNBQ0lBQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQ1Fiak9BeEE2SVFjZ0FoQThJQUFnQUNnQ0FFRjBhaWdDQUdvaUJTZ0NHQ0VJUVg4Z0JTZ0NUQkJCQkVBZ0FpQUZFRHNnQWtHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFZ0lBWkJQM0ZCaWdGcUVRSUFJUVFnQWhBOElBVWdCRUVZZEVFWWRTSUVOZ0pNQlNBRktBSk1JUVFMSUFjb0FnQW9BaEFoQmlBRElBZzJBZ2dnQWlBREtBSUlOZ0lBSUFjZ0FpQUZJQVJCL3dGeElBRWdCa0VmY1VHaUFtb1JDQUJGQkVBZ0FDQUFLQUlBUVhScUtBSUFhaUlCSUFFb0FoQkJCWElRN2dFTEN5QURFSmNDSUFNa0JpQUFDNFVCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dBUkFJQUVnQUJDWUFpQUJMQUFBQkVBZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0NJQ0tBSUFLQUlZSVFNZ0FpQURRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBUkNYQWdzZ0FTUUdDNmdCQVFSL0l3WWhBaU1HUVJCcUpBWWdBaUFBRUpnQ0lBSXNBQUFFUUFKQUlBQWdBQ2dDQUVGMGFpZ0NBR29vQWhnaUF5RUVJQU1FUUNBRUtBSVlJZ1VnQkNnQ0hFWUVmeUFES0FJQUtBSTBJUU1nQkNBQkVFSWdBMEUvY1VHS0FXb1JBZ0FGSUFRZ0JVRUJhallDR0NBRklBRTZBQUFnQVJCQ0MwRi9FRUZGRFFFTElBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBaENYQWlBQ0pBWUxCd0FnQUNBQlJnc0lBQ0FBUWY4QmNRczRBQ0FBSUFCY0JIOUJnSUNBZ0hnRklBQkRBQUFBVDJBRWYwR0FnSUNBZUFVZ0FFTUFBQURQWHdSL1FZQ0FnSUI0QlNBQXFBc0xDd3UzTlFFTWZ5TUdJUW9qQmtFUWFpUUdJQUJCOVFGSkJFQkJyTkVES0FJQUlnVkJFQ0FBUVF0cVFYaHhJQUJCQzBrYklnSkJBM1lpQUhZaUFVRURjUVJBSUFGQkFYRkJBWE1nQUdvaUFrRURkRUhVMFFOcUlnQW9BZ2dpQTBFSWFpSUVLQUlBSVFFZ0FDQUJSZ1JBUWF6UkEwRUJJQUowUVg5eklBVnhOZ0lBQlNBQklBQTJBZ3dnQUNBQk5nSUlDeUFESUFKQkEzUWlBRUVEY2pZQ0JDQUFJQU5xSWdBZ0FDZ0NCRUVCY2pZQ0JDQUtKQVlnQkE4TElBSkJ0TkVES0FJQUlnbExCSDhnQVFSQVFRSWdBSFFpQTBFQUlBTnJjaUFCSUFCMGNTSUFRUUFnQUd0eFFYOXFJZ0JCREhaQkVIRWlBU0FBSUFGMklnQkJCWFpCQ0hFaUFYSWdBQ0FCZGlJQVFRSjJRUVJ4SWdGeUlBQWdBWFlpQUVFQmRrRUNjU0lCY2lBQUlBRjJJZ0JCQVhaQkFYRWlBWElnQUNBQmRtb2lCRUVEZEVIVTBRTnFJZ0FvQWdnaUFVRUlhaUlHS0FJQUlRTWdBQ0FEUmdSQVFhelJBMEVCSUFSMFFYOXpJQVZ4SWdBMkFnQUZJQU1nQURZQ0RDQUFJQU0yQWdnZ0JTRUFDeUFCSUFKQkEzSTJBZ1FnQVNBQ2FpSUZJQVJCQTNRaUF5QUNheUlFUVFGeU5nSUVJQUVnQTJvZ0JEWUNBQ0FKQkVCQndORURLQUlBSVFFZ0NVRURkaUlDUVFOMFFkVFJBMm9oQTBFQklBSjBJZ0lnQUhFRWZ5QURRUWhxSWdJb0FnQUZRYXpSQXlBQUlBSnlOZ0lBSUFOQkNHb2hBaUFEQ3lFQUlBSWdBVFlDQUNBQUlBRTJBZ3dnQVNBQU5nSUlJQUVnQXpZQ0RBdEJ0TkVESUFRMkFnQkJ3TkVESUFVMkFnQWdDaVFHSUFZUEMwR3cwUU1vQWdBaUN3Ui9RUUFnQzJzZ0MzRkJmMm9pQUVFTWRrRVFjU0lCSUFBZ0FYWWlBRUVGZGtFSWNTSUJjaUFBSUFGMklnQkJBblpCQkhFaUFYSWdBQ0FCZGlJQVFRRjJRUUp4SWdGeUlBQWdBWFlpQUVFQmRrRUJjU0lCY2lBQUlBRjJha0VDZEVIYzB3TnFLQUlBSWdRaEFDQUVLQUlFUVhoeElBSnJJUWdEUUFKQUlBQW9BaEFpQVFSQUlBRWhBQVVnQUNnQ0ZDSUFSUTBCQ3lBQUlBUWdBQ2dDQkVGNGNTQUNheUlCSUFoSklnTWJJUVFnQVNBSUlBTWJJUWdNQVFzTElBSWdCR29pRENBRVN3Ui9JQVFvQWhnaEJ5QUVJQVFvQWd3aUFFWUVRQUpBSUFSQkZHb2lBU2dDQUNJQVJRUkFJQVJCRUdvaUFTZ0NBQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUF5Z0NBQ0lHUlFSQUlBQkJFR29pQXlnQ0FDSUdSUTBCQ3lBRElRRWdCaUVBREFFTEN5QUJRUUEyQWdBTEJTQUVLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWNFUUFKQUlBUWdCQ2dDSENJQlFRSjBRZHpUQTJvaUF5Z0NBRVlFUUNBRElBQTJBZ0FnQUVVRVFFR3cwUU5CQVNBQmRFRi9jeUFMY1RZQ0FBd0NDd1VnQjBFUWFpQUhRUlJxSUFRZ0J5Z0NFRVliSUFBMkFnQWdBRVVOQVFzZ0FDQUhOZ0lZSUFRb0FoQWlBUVJBSUFBZ0FUWUNFQ0FCSUFBMkFoZ0xJQVFvQWhRaUFRUkFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN3c2dDRUVRU1FSQUlBUWdBaUFJYWlJQVFRTnlOZ0lFSUFBZ0JHb2lBQ0FBS0FJRVFRRnlOZ0lFQlNBRUlBSkJBM0kyQWdRZ0RDQUlRUUZ5TmdJRUlBZ2dER29nQ0RZQ0FDQUpCRUJCd05FREtBSUFJUUFnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBVUVCSUFKMElnSWdCWEVFZnlBQlFRaHFJZ0lvQWdBRlFhelJBeUFDSUFWeU5nSUFJQUZCQ0dvaEFpQUJDeUVESUFJZ0FEWUNBQ0FESUFBMkFnd2dBQ0FETmdJSUlBQWdBVFlDREF0QnRORURJQWcyQWdCQndORURJQXcyQWdBTElBb2tCaUFFUVFocUR3VWdBZ3NGSUFJTEJTQUNDeUVBQlNBQVFiOS9Td1JBUVg4aEFBVUNRQ0FBUVF0cUlnRkJlSEVoQUVHdzBRTW9BZ0FpQlFSQVFRQWdBR3NoQkFKQUFrQWdBVUVJZGlJQkJIOGdBRUgvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdaQmdPQWZha0VRZGtFRWNTRUJRUTRnQmlBQmRDSUdRWUNBRDJwQkVIWkJBbkVpQ0NBQklBSnljbXNnQmlBSWRFRVBkbW9pQVVFQmRDQUFJQUZCQjJwMlFRRnhjZ3NGUVFBTElnZEJBblJCM05NRGFpZ0NBQ0lCQkg5QkFDRUNJQUJCQUVFWklBZEJBWFpySUFkQkgwWWJkQ0VHQTM4Z0FTZ0NCRUY0Y1NBQWF5SUlJQVJKQkVBZ0NBUi9JQWdoQkNBQkJVRUFJUVFnQVNFQ0RBUUxJUUlMSUFNZ0FTZ0NGQ0lESUFORklBTWdBVUVRYWlBR1FSOTJRUUowYWlnQ0FDSUJSbkliSVFNZ0JrRUJkQ0VHSUFFTkFDQUNDd1ZCQUFzaUFTQURjZ1IvSUFNRklBVkJBaUFIZENJQlFRQWdBV3R5Y1NJQ1JRMEVRUUFoQVNBQ1FRQWdBbXR4UVg5cUlnSkJESFpCRUhFaUF5QUNJQU4ySWdKQkJYWkJDSEVpQTNJZ0FpQURkaUlDUVFKMlFRUnhJZ055SUFJZ0EzWWlBa0VCZGtFQ2NTSURjaUFDSUFOMklnSkJBWFpCQVhFaUEzSWdBaUFEZG1wQkFuUkIzTk1EYWlnQ0FBc2lBZzBBSUFFaEF3d0JDeUFCSVFNZ0JDRUJBMzhnQWlnQ0JFRjRjU0FBYXlJSUlBRkpJUVlnQ0NBQklBWWJJUUVnQWlBRElBWWJJUU1nQWlnQ0VDSUVSUVJBSUFJb0FoUWhCQXNnQkFSL0lBUWhBZ3dCQlNBQkN3c2hCQXNnQXdSQUlBUkJ0TkVES0FJQUlBQnJTUVJBSUFBZ0Eyb2lCeUFEU3dSQUlBTW9BaGdoQ1NBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRkdvaUFpZ0NBQ0lCUlFSQUlBTkJFR29pQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQmlnQ0FDSUlSUVJBSUFGQkVHb2lCaWdDQUNJSVJRMEJDeUFHSVFJZ0NDRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBREtBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQUpBSUFNZ0F5Z0NIQ0lDUVFKMFFkelRBMm9pQmlnQ0FFWUVRQ0FHSUFFMkFnQWdBVVVFUUVHdzBRTWdCVUVCSUFKMFFYOXpjU0lCTmdJQURBSUxCU0FKUVJCcUlBbEJGR29nQXlBSktBSVFSaHNnQVRZQ0FDQUJSUVJBSUFVaEFRd0NDd3NnQVNBSk5nSVlJQU1vQWhBaUFnUkFJQUVnQWpZQ0VDQUNJQUUyQWhnTElBTW9BaFFpQWdSQUlBRWdBallDRkNBQ0lBRTJBaGdMSUFVaEFRc0ZJQVVoQVFzZ0JFRVFTUVJBSUFNZ0FDQUVhaUlBUVFOeU5nSUVJQUFnQTJvaUFDQUFLQUlFUVFGeU5nSUVCUUpBSUFNZ0FFRURjallDQkNBSElBUkJBWEkyQWdRZ0JDQUhhaUFFTmdJQUlBUkJBM1loQWlBRVFZQUNTUVJBSUFKQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQlFRRWdBblFpQW5FRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCellDQUNBQklBYzJBZ3dnQnlBQk5nSUlJQWNnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQW5RaUJrR0E0QjlxUVJCMlFRUnhJUUJCRGlBR0lBQjBJZ1pCZ0lBUGFrRVFka0VDY1NJRklBQWdBbkp5YXlBR0lBVjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUFnQnlBQ05nSWNJQWRCQURZQ0ZDQUhRUUEyQWhCQkFTQUNkQ0lHSUFGeFJRUkFRYkRSQXlBQklBWnlOZ0lBSUFBZ0J6WUNBQ0FISUFBMkFoZ2dCeUFITmdJTUlBY2dCellDQ0F3QkN5QUVJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0JFRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRSURRQ0FBUVJCcUlBSkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBSkJBWFFoQWlBRUlBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQWMyQWdBZ0J5QUFOZ0lZSUFjZ0J6WUNEQ0FISUFjMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FITmdJTUlBRWdCellDQ0NBSElBQTJBZ2dnQnlBQk5nSU1JQWRCQURZQ0dBc0xJQW9rQmlBRFFRaHFEd3NMQ3dzTEN3c0NRQUpBUWJUUkF5Z0NBQ0lDSUFCUEJFQkJ3TkVES0FJQUlRRWdBaUFBYXlJRFFROUxCRUJCd05FRElBQWdBV29pQkRZQ0FFRzAwUU1nQXpZQ0FDQUVJQU5CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQUVnQUVFRGNqWUNCQVZCdE5FRFFRQTJBZ0JCd05FRFFRQTJBZ0FnQVNBQ1FRTnlOZ0lFSUFFZ0Ftb2lBQ0FBS0FJRVFRRnlOZ0lFQ3d3QkN3SkFRYmpSQXlnQ0FDSUJJQUJMQkVBTUFRc2dBRUV2YWlJRlFZVFZBeWdDQUFSL1FZelZBeWdDQUFWQmpOVURRWUFnTmdJQVFZalZBMEdBSURZQ0FFR1ExUU5CZnpZQ0FFR1UxUU5CZnpZQ0FFR1kxUU5CQURZQ0FFSG8xQU5CQURZQ0FFR0UxUU1nQ2tGd2NVSFlxdFdxQlhNMkFnQkJnQ0FMSWdKcUlnTkJBQ0FDYXlJSWNTSUdJQUJOQkVBTUF3dEI1TlFES0FJQUlnSUVRQ0FHUWR6VUF5Z0NBQ0lFYWlJSElBUk5JQWNnQWt0eUJFQU1CQXNMSUFCQk1Hb2hCd0pBQWtCQjZOUURLQUlBUVFSeEJFQkJBQ0VDQlFKQUFrQUNRRUhFMFFNb0FnQWlBa1VOQUVIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lKSUFKTkJFQWdDU0FFS0FJRWFpQUNTdzBCQ3lBRUtBSUlJZ1FOQVF3Q0N3c2dDQ0FESUFGcmNTSUNRZi8vLy84SFNRUkFJQUlRdWdFaUFTQUVLQUlBSUFRb0FnUnFSZ1JBSUFGQmYwY05CZ1VNQXdzRlFRQWhBZ3NNQWd0QkFCQzZBU0lCUVg5R0JIOUJBQVZCM05RREtBSUFJZ1FnQmlBQlFZalZBeWdDQUNJQ1FYOXFJZ05xUVFBZ0FtdHhJQUZyUVFBZ0FTQURjUnRxSWdKcUlRTWdBa0gvLy8vL0Iwa2dBaUFBUzNFRWYwSGsxQU1vQWdBaUNBUkFJQU1nQkUwZ0F5QUlTM0lFUUVFQUlRSU1CUXNMSUFFZ0FoQzZBU0lEUmcwRklBTWhBUXdDQlVFQUN3c2hBZ3dCQ3lBQlFYOUhJQUpCLy8vLy93ZEpjU0FISUFKTGNVVUVRQ0FCUVg5R0JFQkJBQ0VDREFJRkRBUUxBQXRCak5VREtBSUFJZ01nQlNBQ2EycEJBQ0FEYTNFaUEwSC8vLy8vQjA4TkFrRUFJQUpySVFRZ0F4QzZBVUYvUmdSL0lBUVF1Z0VhUVFBRklBSWdBMm9oQWd3REN5RUNDMEhvMUFOQjZOUURLQUlBUVFSeU5nSUFDeUFHUWYvLy8vOEhTUVJBSUFZUXVnRWhBVUVBRUxvQklnTWdBV3NpQmlBQVFTaHFTeUVFSUFZZ0FpQUVHeUVDSUFSQkFYTWdBVUYvUm5JZ0FVRi9SeUFEUVg5SGNTQUJJQU5KY1VFQmMzSkZEUUVMREFFTFFkelVBeUFDUWR6VUF5Z0NBR29pQXpZQ0FDQURRZURVQXlnQ0FFc0VRRUhnMUFNZ0F6WUNBQXRCeE5FREtBSUFJZ01FUUFKQVFlelVBeUVFQWtBQ1FBTkFJQUVnQkNnQ0FDSUdJQVFvQWdRaUJXcEdEUUVnQkNnQ0NDSUVEUUFMREFFTElBUW9BZ3hCQ0hGRkJFQWdCaUFEVFNBQklBTkxjUVJBSUFRZ0FpQUZhallDQkNBRFFRQWdBMEVJYWlJQmEwRUhjVUVBSUFGQkIzRWJJZ1JxSVFFZ0FrRzQwUU1vQWdCcUlnWWdCR3NoQWtIRTBRTWdBVFlDQUVHNDBRTWdBallDQUNBQklBSkJBWEkyQWdRZ0F5QUdha0VvTmdJRVFjalJBMEdVMVFNb0FnQTJBZ0FNQXdzTEN5QUJRYnpSQXlnQ0FFa0VRRUc4MFFNZ0FUWUNBQXNnQVNBQ2FpRUdRZXpVQXlFRUFrQUNRQU5BSUFZZ0JDZ0NBRVlOQVNBRUtBSUlJZ1FOQUFzTUFRc2dCQ2dDREVFSWNVVUVRQ0FFSUFFMkFnQWdCQ0FDSUFRb0FnUnFOZ0lFSUFBZ0FVRUFJQUZCQ0dvaUFtdEJCM0ZCQUNBQ1FRZHhHMm9pQjJvaEJTQUdRUUFnQmtFSWFpSUJhMEVIY1VFQUlBRkJCM0ViYWlJQ0lBZHJJQUJySVFRZ0J5QUFRUU55TmdJRUlBSWdBMFlFUUVHNDBRTWdCRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQVUyQWdBZ0JTQUFRUUZ5TmdJRUJRSkFJQUpCd05FREtBSUFSZ1JBUWJUUkF5QUVRYlRSQXlnQ0FHb2lBRFlDQUVIQTBRTWdCVFlDQUNBRklBQkJBWEkyQWdRZ0FDQUZhaUFBTmdJQURBRUxJQUlvQWdRaUNVRURjVUVCUmdSQUlBbEJBM1loQXlBSlFZQUNTUVJBSUFJb0FnZ2lBQ0FDS0FJTUlnRkdCRUJCck5FRFFhelJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBVWdBQ0FCTmdJTUlBRWdBRFlDQ0FzRkFrQWdBaWdDR0NFSUlBSWdBaWdDRENJQVJnUkFBa0FnQWtFUWFpSUJRUVJxSWdNb0FnQWlBQVJBSUFNaEFRVWdBaWdDRUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lCaWdDQUNJRFJRUkFJQUJCRUdvaUJpZ0NBQ0lEUlEwQkN5QUdJUUVnQXlFQURBRUxDeUFCUVFBMkFnQUxCU0FDS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFoRkRRQWdBaUFDS0FJY0lnRkJBblJCM05NRGFpSURLQUlBUmdSQUFrQWdBeUFBTmdJQUlBQU5BRUd3MFFOQnNORURLQUlBUVFFZ0FYUkJmM054TmdJQURBSUxCU0FJUVJCcUlBaEJGR29nQWlBSUtBSVFSaHNnQURZQ0FDQUFSUTBCQ3lBQUlBZzJBaGdnQWlnQ0VDSUJCRUFnQUNBQk5nSVFJQUVnQURZQ0dBc2dBaWdDRkNJQlJRMEFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN5QUNJQWxCZUhFaUFHb2hBaUFBSUFScUlRUUxJQUlnQWlnQ0JFRitjVFlDQkNBRklBUkJBWEkyQWdRZ0JDQUZhaUFFTmdJQUlBUkJBM1loQVNBRVFZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCVFlDQUNBQklBVTJBZ3dnQlNBQk5nSUlJQVVnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQVhRaUFrR0E0QjlxUVJCMlFRUnhJUUJCRGlBQ0lBQjBJZ0pCZ0lBUGFrRVFka0VDY1NJRElBQWdBWEp5YXlBQ0lBTjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBVUVDZEVIYzB3TnFJUUFnQlNBQk5nSWNJQVZCQURZQ0ZDQUZRUUEyQWhCQnNORURLQUlBSWdKQkFTQUJkQ0lEY1VVRVFFR3cwUU1nQWlBRGNqWUNBQ0FBSUFVMkFnQWdCU0FBTmdJWUlBVWdCVFlDRENBRklBVTJBZ2dNQVFzZ0JDQUFLQUlBSWdBb0FnUkJlSEZHQkVBZ0FDRUJCUUpBSUFSQkFFRVpJQUZCQVhacklBRkJIMFliZENFQ0EwQWdBRUVRYWlBQ1FSOTJRUUowYWlJREtBSUFJZ0VFUUNBQ1FRRjBJUUlnQkNBQktBSUVRWGh4UmcwQ0lBRWhBQXdCQ3dzZ0F5QUZOZ0lBSUFVZ0FEWUNHQ0FGSUFVMkFnd2dCU0FGTmdJSURBSUxDeUFCS0FJSUlnQWdCVFlDRENBQklBVTJBZ2dnQlNBQU5nSUlJQVVnQVRZQ0RDQUZRUUEyQWhnTEN5QUtKQVlnQjBFSWFnOExDMEhzMUFNaEJBTkFBa0FnQkNnQ0FDSUdJQU5OQkVBZ0JpQUVLQUlFYWlJR0lBTkxEUUVMSUFRb0FnZ2hCQXdCQ3d0QnhORURJQUZCQUNBQlFRaHFJZ1JyUVFkeFFRQWdCRUVIY1JzaUJHb2lCVFlDQUVHNDBRTWdBa0ZZYWlJSUlBUnJJZ1EyQWdBZ0JTQUVRUUZ5TmdJRUlBRWdDR3BCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBSUFOQkFDQUdRVkZxSWdSQkNHb2lCV3RCQjNGQkFDQUZRUWR4R3lBRWFpSUVJQVFnQTBFUWFra2JJZ1JCR3pZQ0JDQUVRZXpVQXlrQ0FEY0NDQ0FFUWZUVUF5a0NBRGNDRUVIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIMDFBTWdCRUVJYWpZQ0FDQUVRUmhxSVFFRFFDQUJRUVJxSWdKQkJ6WUNBQ0FCUVFocUlBWkpCRUFnQWlFQkRBRUxDeUFESUFSSEJFQWdCQ0FFS0FJRVFYNXhOZ0lFSUFNZ0JDQURheUlHUVFGeU5nSUVJQVFnQmpZQ0FDQUdRUU4ySVFJZ0JrR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUJFRUJJQUowSWdKeEJIOGdBVUVJYWlJRUtBSUFCVUdzMFFNZ0FpQUVjallDQUNBQlFRaHFJUVFnQVFzaEFpQUVJQU0yQWdBZ0FpQUROZ0lNSUFNZ0FqWUNDQ0FESUFFMkFnd01BZ3NnQmtFSWRpSUJCSDhnQmtILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnUkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JDQUJkQ0lFUVlDQUQycEJFSFpCQW5FaUJTQUJJQUp5Y21zZ0JDQUZkRUVQZG1vaUFVRUJkQ0FHSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ0pCQW5SQjNOTURhaUVCSUFNZ0FqWUNIQ0FEUVFBMkFoUWdBMEVBTmdJUVFiRFJBeWdDQUNJRVFRRWdBblFpQlhGRkJFQkJzTkVESUFRZ0JYSTJBZ0FnQVNBRE5nSUFJQU1nQVRZQ0dDQURJQU0yQWd3Z0F5QUROZ0lJREFJTElBWWdBU2dDQUNJQktBSUVRWGh4UmdSQUlBRWhBZ1VDUUNBR1FRQkJHU0FDUVFGMmF5QUNRUjlHRzNRaEJBTkFJQUZCRUdvZ0JFRWZka0VDZEdvaUJTZ0NBQ0lDQkVBZ0JFRUJkQ0VFSUFZZ0FpZ0NCRUY0Y1VZTkFpQUNJUUVNQVFzTElBVWdBellDQUNBRElBRTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBd0RDd3NnQWlnQ0NDSUJJQU0yQWd3Z0FpQUROZ0lJSUFNZ0FUWUNDQ0FESUFJMkFnd2dBMEVBTmdJWUN3c0ZRYnpSQXlnQ0FDSURSU0FCSUFOSmNnUkFRYnpSQXlBQk5nSUFDMEhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUhRMFFOQmhOVURLQUlBTmdJQVFjelJBMEYvTmdJQVFlRFJBMEhVMFFNMkFnQkIzTkVEUWRUUkF6WUNBRUhvMFFOQjNORUROZ0lBUWVUUkEwSGMwUU0yQWdCQjhORURRZVRSQXpZQ0FFSHMwUU5CNU5FRE5nSUFRZmpSQTBIczBRTTJBZ0JCOU5FRFFlelJBellDQUVHQTBnTkI5TkVETmdJQVFmelJBMEgwMFFNMkFnQkJpTklEUWZ6UkF6WUNBRUdFMGdOQi9ORUROZ0lBUVpEU0EwR0UwZ00yQWdCQmpOSURRWVRTQXpZQ0FFR1kwZ05Cak5JRE5nSUFRWlRTQTBHTTBnTTJBZ0JCb05JRFFaVFNBellDQUVHYzBnTkJsTklETmdJQVFhalNBMEdjMGdNMkFnQkJwTklEUVp6U0F6WUNBRUd3MGdOQnBOSUROZ0lBUWF6U0EwR2swZ00yQWdCQnVOSURRYXpTQXpZQ0FFRzAwZ05Cck5JRE5nSUFRY0RTQTBHMDBnTTJBZ0JCdk5JRFFiVFNBellDQUVISTBnTkJ2TklETmdJQVFjVFNBMEc4MGdNMkFnQkIwTklEUWNUU0F6WUNBRUhNMGdOQnhOSUROZ0lBUWRqU0EwSE0wZ00yQWdCQjFOSURRY3pTQXpZQ0FFSGcwZ05CMU5JRE5nSUFRZHpTQTBIVTBnTTJBZ0JCNk5JRFFkelNBellDQUVIazBnTkIzTklETmdJQVFmRFNBMEhrMGdNMkFnQkI3TklEUWVUU0F6WUNBRUg0MGdOQjdOSUROZ0lBUWZUU0EwSHMwZ00yQWdCQmdOTURRZlRTQXpZQ0FFSDgwZ05COU5JRE5nSUFRWWpUQTBIODBnTTJBZ0JCaE5NRFFmelNBellDQUVHUTB3TkJoTk1ETmdJQVFZelRBMEdFMHdNMkFnQkJtTk1EUVl6VEF6WUNBRUdVMHdOQmpOTUROZ0lBUWFEVEEwR1Uwd00yQWdCQm5OTURRWlRUQXpZQ0FFR28wd05Cbk5NRE5nSUFRYVRUQTBHYzB3TTJBZ0JCc05NRFFhVFRBellDQUVHczB3TkJwTk1ETmdJQVFialRBMEdzMHdNMkFnQkJ0Tk1EUWF6VEF6WUNBRUhBMHdOQnROTUROZ0lBUWJ6VEEwRzAwd00yQWdCQnlOTURRYnpUQXpZQ0FFSEUwd05Cdk5NRE5nSUFRZERUQTBIRTB3TTJBZ0JCek5NRFFjVFRBellDQUVIWTB3TkJ6Tk1ETmdJQVFkVFRBMEhNMHdNMkFnQkJ4TkVESUFGQkFDQUJRUWhxSWdOclFRZHhRUUFnQTBFSGNSc2lBMm9pQkRZQ0FFRzQwUU1nQWtGWWFpSUNJQU5ySWdNMkFnQWdCQ0FEUVFGeU5nSUVJQUVnQW1wQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUMwRzQwUU1vQWdBaUFTQUFTd1JBREFJTEMwR2t4UU5CTURZQ0FBd0NDMEc0MFFNZ0FTQUFheUlDTmdJQVFjVFJBeUFBUWNUUkF5Z0NBQ0lCYWlJRE5nSUFJQU1nQWtFQmNqWUNCQ0FCSUFCQkEzSTJBZ1FMSUFva0JpQUJRUWhxRHdzZ0NpUUdRUUFMbUFJQkJIOGdBQ0FDYWlFRUlBRkIvd0Z4SVFNZ0FrSERBRTRFUUFOQUlBQkJBM0VFUUNBQUlBTTZBQUFnQUVFQmFpRUFEQUVMQ3lBRFFRaDBJQU55SUFOQkVIUnlJQU5CR0hSeUlRRWdCRUY4Y1NJRlFVQnFJUVlEUUNBQUlBWk1CRUFnQUNBQk5nSUFJQUFnQVRZQ0JDQUFJQUUyQWdnZ0FDQUJOZ0lNSUFBZ0FUWUNFQ0FBSUFFMkFoUWdBQ0FCTmdJWUlBQWdBVFlDSENBQUlBRTJBaUFnQUNBQk5nSWtJQUFnQVRZQ0tDQUFJQUUyQWl3Z0FDQUJOZ0l3SUFBZ0FUWUNOQ0FBSUFFMkFqZ2dBQ0FCTmdJOElBQkJRR3NoQUF3QkN3c0RRQ0FBSUFWSUJFQWdBQ0FCTmdJQUlBQkJCR29oQUF3QkN3c0xBMEFnQUNBRVNBUkFJQUFnQXpvQUFDQUFRUUZxSVFBTUFRc0xJQVFnQW1zTEJnQkJFUkFDQ3hvQUlBQXNBQXRCQUVnRVFDQUFLQUlJR2lBQUtBSUFFRGdMQ3c4QUlBRUVmeUFBSUFGdUJVRUFDd3NTQUNBQUJFQWdBQ2dDQUJBNElBQVFPQXNMZndFRWZ5TUdJUUlqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lFQkg4Z0FDZ0NCQVVnQTBIL0FYRUxJZ01nQVVrRVFDQUFJQUVnQTJzUTVBa0ZJQVFFUUFKL0lBRWdBQ2dDQUdvaEJTQUNRUUE2QUFBZ0JRc2dBaEJmSUFBZ0FUWUNCQVVnQWtFQU9nQUFJQUFnQVdvZ0FoQmZJQUFnQVRvQUN3c0xJQUlrQmdzUUFDQUFRZkQ0QUNBQktBSUF0eEFYQzhZREFRTi9JQUpCZ01BQVRnUkFJQUFnQVNBQ0VDVWFJQUFQQ3lBQUlRUWdBQ0FDYWlFRElBQkJBM0VnQVVFRGNVWUVRQU5BSUFCQkEzRUVRQ0FDUlFSQUlBUVBDeUFBSUFFc0FBQTZBQUFnQUVFQmFpRUFJQUZCQVdvaEFTQUNRUUZySVFJTUFRc0xJQU5CZkhFaUFrRkFhaUVGQTBBZ0FDQUZUQVJBSUFBZ0FTZ0NBRFlDQUNBQUlBRW9BZ1EyQWdRZ0FDQUJLQUlJTmdJSUlBQWdBU2dDRERZQ0RDQUFJQUVvQWhBMkFoQWdBQ0FCS0FJVU5nSVVJQUFnQVNnQ0dEWUNHQ0FBSUFFb0FodzJBaHdnQUNBQktBSWdOZ0lnSUFBZ0FTZ0NKRFlDSkNBQUlBRW9BaWcyQWlnZ0FDQUJLQUlzTmdJc0lBQWdBU2dDTURZQ01DQUFJQUVvQWpRMkFqUWdBQ0FCS0FJNE5nSTRJQUFnQVNnQ1BEWUNQQ0FBUVVCcklRQWdBVUZBYXlFQkRBRUxDd05BSUFBZ0FrZ0VRQ0FBSUFFb0FnQTJBZ0FnQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NGSUFOQkJHc2hBZ05BSUFBZ0FrZ0VRQ0FBSUFFc0FBQTZBQUFnQUNBQkxBQUJPZ0FCSUFBZ0FTd0FBam9BQWlBQUlBRXNBQU02QUFNZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzTEEwQWdBQ0FEU0FSQUlBQWdBU3dBQURvQUFDQUFRUUZxSVFBZ0FVRUJhaUVCREFFTEN5QUVDeDBBSUFBb0FoZ2dBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FTQUNFTjRJQ3c4QUlBRUVmeUFBSUFGd0JVRUFDd3NQQUNBQkJIOGdBQ0FCYndWQkFBc0xvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCL0FBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDeFVBSUFCQkFTQUFHeEJFSWdBRWZ5QUFCVUVBQ3d1cUJBSUpmd0o5SXdZaEJTTUdRU0JxSkFZZ0JVRUVhaUVFSUFVZ0FEWUNBQ0FBS0FJQUlRTUNRQUpBUWFERUF5Z0NBQ0lCUlNJSkJFQkJBQ0VBREFFRklBRWdBVUYvYWlJSWNVVWlCd1IvSUFNZ0NIRUZJQU1nQVVrRWZ5QURCU0FESUFFUVRnc0xJZ0JCQW5SQm5NUURLQUlBYWlnQ0FDSUNCRUFEUUNBQ0tBSUFJZ0pGRFFNZ0F5QUNLQUlFSWdaSEJFQWdCd1IvSUFZZ0NIRUZJQVlnQVU4RWZ5QUdJQUVRVGdVZ0Jnc0xJQUJIRFFRTElBTWdBaWdDQ0VjTkFBc0ZEQUlMQ3d3QkN5QUVJQU1nQlJEb0JrR3N4QU1xQWdBaUNpQUJzNVJCcU1RREtBSUFRUUZxc3lJTFhTQUpjZ1JBQW44Z0N5QUtsWTBRa2dFaUFpQUJRWDlxSUFGeFFRQkhJQUZCQTBseUlBRkJBWFJ5SWdBZ0FDQUNTUnNRNXdaQm9NUURLQUlBSWdKQmYyb2lBQ0FEY1NBQUlBSnhSUTBBR2lBRElBSkpCSDhnQXdVZ0F5QUNFRTRMQ3lFQUJTQUJJUUlMUVp6RUF5Z0NBQ0FBUVFKMGFpZ0NBQ0lCQkg4Z0JDZ0NBQ0FCS0FJQU5nSUFJQUVnQkNnQ0FEWUNBQ0FFQlNBRUtBSUFRYVRFQXlnQ0FEWUNBRUdreEFNZ0JDZ0NBRFlDQUVHY3hBTW9BZ0FnQUVFQ2RHcEJwTVFETmdJQUlBUW9BZ0FpQnlnQ0FDSUFCRUFnQUNnQ0JDRUFJQUlnQWtGL2FpSUJjUVIvSUFBZ0FrOEVmeUFBSUFJUVRnVWdBQXNGSUFBZ0FYRUxJUUJCbk1RREtBSUFJQUJCQW5ScUlBYzJBZ0FMSUFRTElnQW9BZ0FoQWtHb3hBTkJxTVFES0FJQVFRRnFOZ0lBSUFCQkFEWUNBQXNnQlNRR0lBSkJFR29MdWdFQkJuOGdBQ2dDQUNFQlFhREVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRWnpFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXZDQVFJRGZ3RitBa0FDUUNBQUtRTndJZ1JRUlFSQUlBQXBBM2dnQkZrTkFRc2dBQkQxQVNJQ1FRQklEUUFnQUNnQ0NDRUJBa0FDUUNBQUtRTndJZ1JRRFFBZ0JDQUFLUU40ZlNJRUlBRWdBQ2dDQkNJRGE2eFZEUUFnQUNBRElBU25RWDlxYWpZQ2FBd0JDeUFCSVFNZ0FDQUJOZ0pvQ3lBQ0lBRUVmeUFBSUFBcEEzZ2dBVUVCYWlBQUtBSUVJZ0Zyckh3M0EzZ2dBUVVnQUNnQ0JBdEJmMm9pQUMwQUFFY0VRQ0FBSUFJNkFBQUxEQUVMSUFCQkFEWUNhRUYvSVFJTElBSUxJd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9Bc0xEZ0FnQUNBQklBRVF0QUVRNGdrTERRQWdBQ0FCSUFFUVlCRG5DUXNJQUVFREVBSkJBQXRHQWdKL0FYMGpCaUVGSXdaQkVHb2tCZ0ovSUFBZ0F5QUVFS3dCSVFZZ0JVRUVhaUFGSUFFZ0FpQURFTXNDSUFZTElBVXFBZ1FnQlNvQ0FCQ3ZCeUVISUFVa0JpQUhDd2tBSUFBZ0FCRERBd3RHQUNBQUlBRXFBZ2dnQVNvQ0FDQUNLZ0lBbENBQktnSUVJQUlxQWdTVWtwSTRBZ0FnQUNBQktnSVVJQUVxQWd3Z0Fpb0NBSlFnQVNvQ0VDQUNLZ0lFbEpLU09BSUVDeTBBUWZDK0F5d0FBRVVFUUVId3ZnTVFjQVJBUVlqT0F4RDlCRFlDQUVId3ZnTVFid3NMUVlqT0F5Z0NBQXV6QlFFSWZ5QUFLQUxVQXlJRUtBSVFJZ0pCZ0lBQ1NBUkFJQVJCREdvaEJTQUVLQUlVSVFNRGZ5QUVJQU5CZjJvaUFqWUNGQ0FEUVFGSUJFQWdBQ2dDdUFNRVFFRUFJUU1GSUFBb0FoZ2lBaWdDQkVVRVFDQUNLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ05CR1RZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQ0lBSW9BZ1JCZjJvMkFnUWdBaUFDS0FJQUlnSkJBV28yQWdBZ0Fpd0FBQ0lEUWY4QmNTRUNJQU5CZjBZRVFBSi9BMEFDUUNBQUtBSVlJZ0lvQWdSRkJFQWdBaWdDRENFRElBQWdBMEgvQUhGQkNHb1JBQUJGQkVBZ0FDZ0NBQ0lEUVJrMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3dzZ0FpQUNLQUlFUVg5cU5nSUVJQUlnQWlnQ0FDSUNRUUZxTmdJQUFrQUNRQ0FDTEFBQUlnSkJmMnNPQWdFQUFndEIvd0VNQXdzTUFRc0xJQUFnQWtIL0FYRTJBcmdEUVFBTElRSUxJQUloQXlBRUtBSVVJUUlMSUFVZ0F5QUZLQUlBUVFoMGNqWUNBQ0FFSUFKQkNHb2lBellDRkNBQ1FYaElCRUFnQkNBQ1FRbHFJZ0kyQWhRZ0FrVUVRQ0FFUVlDQUFqWUNFRUVBSVFJTEJTQURJUUlMQ3lBRUlBUW9BaEJCQVhRaUF6WUNFQ0FEUVlDQUFrZ0VmeUFDSVFNTUFRVWdBd3NMSVFBRklBSWhBQ0FFUVF4cUlRVWdCQ2dDRkNFQ0N5QUJMUUFBSWdOQi93QnhRUUowUVpBbWFpZ0NBQ0lHUVFoMUlRZ2dCQ0FBSUFaQkVIVWlCMnNpQURZQ0VDQUZLQUlBSWdrZ0FDQUNkQ0lDVGdSQUlBVWdDU0FDYXpZQ0FDQUVJQWMyQWhBZ0EwR0FBWEVoQWlBQUlBZElCRUFnQVNBQ0lBaHpPZ0FBSUFOQkIzVVBCU0FCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VQQ3dBTElBQkJnSUFDVGdSQUlBTkJCM1VQQ3lBRFFZQUJjU0VDSUFBZ0IwZ0VmeUFCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VGSUFFZ0FpQUljem9BQUNBRFFRZDFDd3NHQUNBQUVEZ0xEQUFnQUNBQkxBQUFPZ0FBQzQwQkFRTi9Ba0FDUUNBQUlnSkJBM0ZGRFFBZ0FpSUJJUUFDUUFOQUlBRXNBQUJGRFFFZ0FVRUJhaUlCSWdCQkEzRU5BQXNnQVNFQURBRUxEQUVMQTBBZ0FFRUVhaUVCSUFBb0FnQWlBMEgvL2Z0M2FpQURRWUNCZ29SNGNVR0FnWUtFZUhOeFJRUkFJQUVoQUF3QkN3c2dBMEgvQVhFRVFBTkFJQUJCQVdvaUFDd0FBQTBBQ3dzTElBQWdBbXNMMkFFQkEzOGdBeWdDVEVGL1NnUi9RUUVGUVFBTEdpQUJJQUpzSVFVZ0F5QURMQUJLSWdRZ0JFSC9BV3B5T2dCS0lBSkJBQ0FCR3lFQ0FrQWdBeWdDQ0NBREtBSUVJZ1pySWdSQkFFb0VmeUFBSUFZZ0JDQUZJQVFnQlVrYklnUVFUQm9nQXlBRUlBTW9BZ1JxTmdJRUlBQWdCR29oQUNBRklBUnJCU0FGQ3lJRVJRMEFJQUFoQmlBRUlRQURRQUpBSUFNUXB3SU5BQ0FESUFZZ0FDQURLQUlnUVQ5eFFjb0JhaEVFQUNJRVFRRnFRUUpKRFFBZ0FDQUVheUlBUlEwQ0lBUWdCbW9oQmd3QkN3c2dCU0FBYXlBQkVFZ2hBZ3NnQWdzeEFRRi9RZWlKQVNnQ0FDRUJJQUFFUUVIb2lRRkJqTVVESUFBZ0FFRi9SaHMyQWdBTFFYOGdBU0FCUVl6RkEwWWJDd01BQVFzSUFFRUdFQUpCQUF1NEFRRUJmU0FDSUFFUXd3TWhBeUFBSUFBcUFnQWdBeUFCS2dJQWxKTTRBZ0FnQUNBQUtnSUVJQU1nQVNvQ0JKU1RPQUlFSUFBZ0FDb0NDQ0FESUFFcUFnaVVremdDQ0NBQUlBQXFBZ3dnQXlBQktnSU1sSk00QWd3Z0FDQUFLZ0lRSUFNZ0FTb0NFSlNUT0FJUUlBQWdBQ29DRkNBRElBRXFBaFNVa3pnQ0ZDQUFJQUFxQWhnZ0F5QUJLZ0lZbEpNNEFoZ2dBQ0FBS2dJY0lBTWdBU29DSEpTVE9BSWNJQUFnQUNvQ0lDQURJQUVxQWlDVWt6Z0NJQXNJQUVFTEVBSkJBQXZYQXdFR2Z5QUFLQUlBSVFRZ0FDZ0NCQ0VIQWtBQ1FDQUFLQUlRSWdVb0FyZ0RCRUFnQVNFSUlBSWhCaUFISVFJZ0JDRUJEQUVGSUFKQkdVZ0VRQUpBSUFFaENDQUNJUVlDUUFOQUFrQWdCMFVFUUNBRktBSVlLQUlNSVFFZ0JTQUJRZjhBY1VFSWFoRUFBRVVOQXlBRktBSVlJZ0VvQWdRaEJ5QUJLQUlBSVFRTElBZEJmMm9oQWlBRVFRRnFJUUVnQkN3QUFDSUhRZjhCY1NFRUlBZEJmMFlFUUFOQUFrQWdBZ1IvSUFFRklBVW9BaGdvQWd3aEFTQUZJQUZCL3dCeFFRaHFFUUFBUlEwR0lBVW9BaGdpQVNnQ0JDRUNJQUVvQWdBTElRUWdBa0YvYWlFQ0lBUkJBV29oQVFKQUFrQWdCQ3dBQUNJRVFYOXJEZ0lCQUFVTFFmOEJJUVFNQVFzTUFRc0xDeUFFSUFoQkNIUnlJUWdnQmtFSWFpRUpJQVpCRVVnRVFDQUNJUWNnQVNFRUlBa2hCZ3dDQlNBSklRWU1CQXNBQ3dzZ0JTQUVRZjhCY1RZQ3VBTU1CQXRCQUE4TEJTQUJJUWdnQWlFR0lBY2hBaUFFSVFFTEN3d0JDeUFHSUFOSUJFQWdCU2dDMUFNb0FpaEZCRUFnQlNnQ0FDSURRZmdBTmdJVUlBTW9BZ1FoQXlBRlFYOGdBMEUvY1VHeUJXb1JBd0FnQlNnQzFBTkJBVFlDS0FzZ0NFRVpJQVpyZENFSVFSa2hCZ3NMSUFBZ0FUWUNBQ0FBSUFJMkFnUWdBQ0FJTmdJSUlBQWdCallDREVFQkN3NEFJQUVnQUVGL2Ftb2dBUkE1Q3djQUlBQWdBSlFMblFFQkJIOGdBQ2dDVEVGL1NnUi9RUUVGUVFBTEdpQUFFSndGSUFBb0FnQkJBWEZCQUVjaUJFVUVRQkNyQWlFQklBQW9BalFpQWdSQUlBSWdBQ2dDT0RZQ09Bc2dBQ2dDT0NJREJFQWdBeUFDTmdJMEN5QUFJQUVvQWdCR0JFQWdBU0FETmdJQUMwR294UU1RRGdzZ0FCQ3BBaG9nQUNBQUtBSU1RZjhBY1VFSWFoRUFBQm9nQUNnQ1lDSUJCRUFnQVJBNEN5QUVSUVJBSUFBUU9Bc0xxUUVDQ0g4QmZDTUdJUU1qQmtFd2FpUUdJQUFRbndjQ2Z4RGpBeUVJSUFOQkdHb2lBUkM3QXlBQkxBQUxJUVVnQVNnQ0FDRUdJQUJCRUdvaUFpd0FDMEVBU0FSL0lBSW9BZ0FGSUFJTElRY2dBQkNlQjBRQUFBQUFBRUNQUUtJaENTQURJZ0JCOEtNQ05nSUFJQUFnQmlBQklBVkJBRWdiTmdJRUlBQkIrS01DTmdJSUlBQWdCellDRENBQUlBazVBeEFnQ0F0QjFhTUNJQUFRdHdNZ0FSQkhJQUlRUnlBQUpBWUxSQUFnQUNBQmN5SUFJQUJCQVhaQjFhclZxZ1Z4YXlJQVFiUG16SmtEY1NBQVFRSjJRYlBtekprRGNXb2lBRUVFZGlBQWFrR1Bucno0QUhGQmdZS0VDR3hCR0hZTGZnRURmeUFCUXdBQUFEK1NFRU1nQUNnQ0VHb2hCU0FDUXdBQUFEK1NFRU1nQUNnQ0ZHb2hCaUFGUVFCSUJIOUJmd1VnQmtFQVNDQUZJQUFvQWdnaUIwNXlCSDlCZndVZ0JpQUFLQUlNU0FSL0lBTWdBQ2dDQUNBR0lBZHNJQVZxUVFOMGFpSUFLQUlBTmdJQUlBUWdBQ2dDQkRZQ0FFRUFCVUYvQ3dzTEN3d0FJQUFnQVNnQ0FEWUNBQXNXQUNBQVFRQTJBZ0FnQUNBQUtBSUFRUUZ5TmdJQUN3MEFJQUFzQUFCQkFFZEJBWE1MRVFBZ0FDZ0NGQ0FBS0FJUWEwRVVFRGtMR0FBZ0FDZ0NBRUVnY1VVRVFDQUJJQUlnQUJDWEF4b0xDMEFBSUFBZ0FHSUVmMEdBZ0lDQWVBVWdBRVFBQUFBQUFBRGdRV1lFZjBHQWdJQ0FlQVVnQUVRQUFDQUFBQURnd1dVRWYwR0FnSUNBZUFVZ0FLb0xDd3NMQndBZ0FFRUVhZ3Q5QVFKL0l3WWhCU01HUVlBQ2FpUUdJQVJCZ01BRWNVVWdBaUFEU25FRVFDQUZJQUZCR0hSQkdIVWdBaUFEYXlJQlFZQUNJQUZCZ0FKSkd4QkZHaUFCUWY4QlN3UkFJQUlnQTJzaEJnTkFJQUFnQlVHQUFoQnlJQUZCZ0g1cUlnRkIvd0ZMRFFBTElBWkIvd0Z4SVFFTElBQWdCU0FCRUhJTElBVWtCZ3NHQUVFWkVBSUxPUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdCRFlDQUNBQ0VHSWhBaUFBSUFFZ0F5QUZFS2tCSVFZZ0FnUkFJQUlRWWhvTElBVWtCaUFHQzVZQ0FRUi9JQUFvQWdRaUJpQUFMQUFMSWdSQi93RnhJZ1VnQkVFQVNCc0VRQUpBSUFFZ0FrY0VRQ0FDSVFRZ0FTRUZBMEFnQlNBRVFYeHFJZ1JKQkVBZ0JTZ0NBQ0VHSUFVZ0JDZ0NBRFlDQUNBRUlBWTJBZ0FnQlVFRWFpRUZEQUVMQ3lBQUxBQUxJZ1JCL3dGeElRVWdBQ2dDQkNFR0N5QUNRWHhxSVFjZ0FDZ0NBQ0FBSUFSQkdIUkJHSFZCQUVnaUFoc2lBQ0FHSUFVZ0FodHFJUVVDUUFKQUEwQUNRQ0FBTEFBQUlnSkJBRW9nQWtIL0FFZHhJUVFnQVNBSFR3MEFJQVFFUUNBQktBSUFJQUpIRFFNTElBRkJCR29oQVNBQVFRRnFJQUFnQlNBQWEwRUJTaHNoQUF3QkN3c01BUXNnQTBFRU5nSUFEQUVMSUFRRVFDQUhLQUlBUVg5cUlBSlBCRUFnQTBFRU5nSUFDd3NMQ3d0Q0FRRi9JQUJFQUFBQUFBQUE4TDg1QXdBZ0FFUUFBQUFBQUFEd3Z6a0RDQ0FBUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFBUW9BY0xDQUJCQlJBQ1FRQUxyZ1VDQzM4Q2ZTTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJTQUJRWDlNQkVBZ0JVSEF5QU5COUkwQ0VEZEJzNG9DRURkQjc2SUNFRGRCb2dJUVBrSDJvZ0lRTjBHV2pnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRSWdCRUVLSUFKQlAzRkJpZ0ZxRVFJQUlRSWdCUkE4SUFNZ0FoQkFJQU1RUHhBQUN5QUZJQUUyQWdBZ0FFSGNBR29pQmlBRkVPZ0RJZ0lFUUNBQ0lBSW9BZ3hCQVdvMkFnd0ZJQWNnQVRZQ0FDQUhRUUUyQWdRQ1FBSkFJQUFvQW1BaUJFVWlDZ1JBUVFBaEFnd0JCU0FFSUFSQmYyb2lDWEZGSWdzRWZ5QUJJQWx4QlNBRUlBRkxCSDhnQVFVZ0FTQUVFRTRMQ3lJQ1FRSjBJQVlvQWdCcUtBSUFJZ01FUUFOQUlBTW9BZ0FpQTBVTkF5QURLQUlFSWdnZ0FVY0VRQ0FMQkg4Z0NDQUpjUVVnQ0NBRVR3Ui9JQWdnQkJCT0JTQUlDd3NnQWtjTkJBc2dBeWdDQ0NBQlJ3MEFDd1VNQWdzTERBRUxJQVVnQmlBQklBY1F2QWNnQ2lBQUtnSnNJZzBnQkxPVUlBQW9BbWhCQVdxeklnNWRjZ1IvQW44Z0JpQU9JQTJWalJDU0FTSURJQVFnQkVGL2FuRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFpQUNJQU5KR3hERkFpQUFLQUpnSWdOQmYyb2hBaUFCSUFKeElBSWdBM0ZGRFFBYUlBTWdBVTBFZnlBQklBTVFUZ1VnQVFzTEJTQUVJUU1nQWdzaEFTQUdLQUlBSUFGQkFuUnFLQUlBSWdJRWZ5QUZLQUlBSUFJb0FnQTJBZ0FnQWlBRktBSUFOZ0lBSUFVRklBVW9BZ0FnQUNnQ1pEWUNBQ0FBSUFVb0FnQTJBbVFnQmlnQ0FDQUJRUUowYWlBQVFlUUFhallDQUNBRktBSUFJZ1FvQWdBaUFRUkFJQUVvQWdRaEFTQURJQU5CZjJvaUFuRUVmeUFCSUFOUEJIOGdBU0FERUU0RklBRUxCU0FCSUFKeEN5RUJJQVlvQWdBZ0FVRUNkR29nQkRZQ0FBc2dCUXNoRENBQUlBQW9BbWhCQVdvMkFtZ2dERUVBTmdJQUN3c2dCeVFHQy9ZSUFRZC9Jd1loQmlNR1FSQnFKQVlnQVVGL1RBUkFJQVpCd01nRFFhbU9BaEEzUWJPS0FoQTNRZStpQWhBM1FhVUJFRDVCOXFJQ0VEZEJ5bzRDRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUhJQVVRUUNBSEVEOFFBQXNnQUNnQ05DSUtJQUZNQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCcGdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUNRWDlNQkVBZ0JrSEF5QU5CaEk4Q0VEZEJzNG9DRURkQjc2SUNFRGRCcHdFUVBrSDJvZ0lRTjBHbGp3SVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUFLQUk0SWdzZ0Frd0VRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wR29BUkErUWZhaUFoQTNRYVdQQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFOQmYwd0VRQ0FHUWNESUEwSGZqd0lRTjBHemlnSVFOMEh2b2dJUU4wR3BBUkErUWZhaUFoQTNRWVNRQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFBb0Fqd2lCeUFEVEFSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFvQkVENUI5cUlDRURkQmhKQUNFRGNpQ1NnQ0FFRjBhaWdDQUNBSmFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dCRUYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFzQkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBRUZBYXlnQ0FDQUVUQVJBSUFaQndNZ0RRWVdSQWhBM1FiT0tBaEEzUWUraUFoQTNRYXdCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FTQUNJQXBzYWlJQklBTWdBQ2dDVkd4cUlBUWdBQ2dDV0d4cUlnQWdBU0FESUFRZ0IyeHFJQW9nQzJ4c2Frb0VRQ0FHUWNESUEwRzFrUUlRTjBHemlnSVFOMEh2b2dJUU4wR3dBUkErUWZhaUFoQTNRWmFPQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBR0VEd2dBaUFBRUVBZ0FoQS9FQUFGSUFZa0JpQUFEd3RCQUF0RkFRSi9BMEFDUUNBRElBSk9EUUFnQTBFRGRDQUJhaWdDQUNJRVJRMEFJQUFnQkVZRVFDQURRUU4wUVFScUlBRnFLQUlBRHdVZ0EwRUJhaUVEREFJTEFBc0xRUUFMY2dFRGZ5TUdJUU1qQmtFUWFpUUdJQUpCYjBzRVFCQUFDeUFDUVF0SkJFQWdBQ0FDT2dBTEJTQUFJQUpCRUdwQmNIRWlCQkJSSWdVMkFnQWdBQ0FFUVlDQWdJQjRjallDQ0NBQUlBSTJBZ1FnQlNFQUN5QUFJQUVnQWhDb0FTQURRUUE2QUFBZ0FDQUNhaUFERUY4Z0F5UUdDd1FBUVFBTERRQWdBQ0FEbENBQklBS1Vrd3NiQUNBQ0JIOGdBQ2dDQkNBQktBSUVFTE1CUlFVZ0FDQUJSZ3NMUlFJQ2Z3RitJQUFnQVRjRGNDQUFJQUFvQWdnaUFpQUFLQUlFSWdOcnJDSUVOd040SUFGQ0FGSWdCQ0FCVlhFRVFDQUFJQU1nQWFkcU5nSm9CU0FBSUFJMkFtZ0xDeWNCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FDQUJJQU1RbFFNaEJDQURKQVlnQkFzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRSkJ6SWNCUVpqUEFrRWVJQUVRQ1NBREN5UUdDekVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpNTEJ3QWdBRUVJYWdzOEFRSi9JQUFvQWdRZ0FDZ0NBQ0lEYTBFQ2RTSUNJQUZKQkVBZ0FDQUJJQUpyRVA4SUJTQUNJQUZMQkVBZ0FDQUJRUUowSUFOcU5nSUVDd3NMRXdBZ0FFR2dpd0UyQWdBZ0FFRUVhaERvQ1F1QkFRQUNRQUpBSUFJb0FnUkJzQUZ4UVJoMFFSaDFRUkJySWdJRVFDQUNRUkJHQkVBTUFnVU1Bd3NBQ3dKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUFRUUZxSVFBTUFnc2dBa0V3UmlBQklBQnJRUUZLY1VVTkFTQUFMQUFCUWRnQWF5SUJRUUFnQVVFZ1J4c05BU0FBUVFKcUlRQU1BUXNnQVNFQUN5QUFDd29BSUFCQlVHcEJDa2tMUVFFQ2YwRU1FRVFpQWdSQUlBSWdBU0FBUVFOMGJCQkVJZ00yQWdBZ0F3UkFJQUlnQURZQ0JDQUNJQUUyQWdnRklBSVFPRUVBSVFJTEJVRUFJUUlMSUFJTDNBRUJBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dnQUNnQ0RDRUNJQUFnQVNnQ0REWUNEQ0FCSUFJMkFnd2dBQ2dDRUNFQ0lBQWdBU2dDRURZQ0VDQUJJQUkyQWhBZ0FDZ0NGQ0VDSUFBZ0FTZ0NGRFlDRkNBQklBSTJBaFFnQUNnQ0dDRUNJQUFnQVNnQ0dEWUNHQ0FCSUFJMkFoZ2dBQ2dDSENFQ0lBQWdBU2dDSERZQ0hDQUJJQUkyQWh3Z0FDZ0NJQ0VDSUFBZ0FTZ0NJRFlDSUNBQklBSTJBaUFMRlFBZ0FBUi9JQUFnQVRrRGdBRkJBQVZCZndzYUM3Z0NBZ1YvQW53akJpRUhJd1pCSUdva0JpQUhRUWhxSVFZZ0IwRVVhaUlJSUFSQkJIUVFSQ0lLTmdJQUlBcEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFIUVJCcUlRWWdDQ0FFUVJoc0VFUWlDVFlDQkNBSlJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VHQTBBZ0JpQUVTQVJBSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQURrREFDQUdRUVIwSUFwcUlBWkJCSFFnQW1vckF3ZzVBd2dnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01BT1FNQUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBeEE1QXhBZ0JrRUJhaUVHREFFTEN5QUlJQVEyQWdnZ0FDZ0NBQ0FJSUFFZ0JTQUhFSjBFUVFCSUJFQWdCMFFBQUFBQWhOZVhRVGtEQUFzZ0NDZ0NBQkE0SUFnb0FnUVFPQ0FIS3dNQUlRd2dCeVFHSUF3TE5RQWdBRUlBTndJQUlBQkJBRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBQWFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzTFVRRUJmQ0FBSUFDaUlnQWdBS0loQVVRQUFBQUFBQUR3UHlBQVJJRmVEUDMvLzk4L29xRWdBVVJDT2dYaFUxV2xQNktnSUFBZ0FhSWdBRVJwVU83Z1FwUDVQcUpFSng0UDZJZkFWcitnb3FDMkMwc0JBbndnQUNBQW9pSUJJQUNpSWdJZ0FTQUJvcUlnQVVTblJqdU1oODNHUHFKRWRPZks0dmtBS3IrZ29pQUNJQUZFc3Z0dWlSQVJnVCtpUkhlc3kxUlZWY1cvb0tJZ0FLQ2d0Z3NzQUNBQUlBQmNCSDlCQUFVZ0FFTUFBSUJQWUFSL1FRQUZJQUJEQUFDQXYxOEVmMEVBQlNBQXFRc0xDd3MwQVFGL0lBRWdBbXdoQkNBQ1FRQWdBUnNoQWlBREtBSk1HaUFFSUFBZ0JDQURFSmNESWdCSEJIOGdBQ0FCRUVnRklBSUxDM2NBSUFBZ0FTb0NBQ0FDbERnQ0FDQUFJQUVxQWdRZ0FwUTRBZ1FnQUNBQktnSUlJQUtVT0FJSUlBQWdBU29DRENBQ2xEZ0NEQ0FBSUFFcUFoQWdBcFE0QWhBZ0FDQUJLZ0lVSUFLVU9BSVVJQUFnQVNvQ0dDQUNsRGdDR0NBQUlBRXFBaHdnQXBRNEFod2dBQ0FCS2dJZ0lBS1VPQUlnQzBFQkFYOGdBQ2dDQkNJQUJFQWdBQ0FBS0FJRUlnRkJmMm8yQWdRZ0FVVUVRQ0FBS0FJQUtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkRxQ1FzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd0VnQUNnQ0JDQUFLQUlBYTBFRGRVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVDZFNJR0lBWWdBMGtiUWYvLy8vOEJJQVZCQTNWQi8vLy8vd0JKR3lBQUtBSUVJQVJyUVFOMUlBQkJDR29RaUFJZ0FpZ0NDQ0FCS1FJQU53SUFJQUlnQWlnQ0NFRUlhallDQ0NBQUlBSVF6UUlnQWhETUFpQUNKQVlMQzZRQ0FRVi9Jd1loQnlNR1FSQnFKQVlnQUNnQ0FDSUdCRUFDUUNBRUtBSU1JUWdnQWlBQmF5SUpRUUJLQkVBZ0JpZ0NBQ2dDTUNFS0lBWWdBU0FKSUFwQlAzRkJ5Z0ZxRVFRQUlBbEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDQ0FESUFGcklnRnJRUUFnQ0NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFsZ1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnRkJBRW9FUUNBR0tBSUFLQUl3SVFNZ0JpQUNJQUVnQTBFL2NVSEtBV29SQkFBZ0FVY0VRQ0FBUVFBMkFnQkJBQ0VHREFJTEN5QUVRUUEyQWd3TEJVRUFJUVlMSUFja0JpQUdDd2dBUVFrUUFrRUFDN1VIQVFoL0lBQW9BZ0FpQndSL0lBY29BZ3dpQmlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFZQ1FBSkFBa0FnQVNnQ0FDSUhCRUFnQnlnQ0RDSUZJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQlNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBR0JFQU1CQVVNQXdzQUN3c2dCa1VFUUVFQUlRY01BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FFRUFJUWNNQVFzZ0EwR0FFQ0FBS0FJQUlnWW9BZ3dpQlNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMSWdZZ0F5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkJFQWdBaUFDS0FJQVFRUnlOZ0lBUVFBaEJ3d0JDeUFESUFaQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVFYWpZQ0RDQUZLQUlBR2dzZ0MwRVlkRUVZZFNFRklBUWhCaUFISWdRaENBTkFBa0FnQlVGUWFpRUhJQUFvQWdBaUJRUi9JQVVvQWd3aUNTQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTEFuOGdDQVIvSUFnb0Fnd2lCU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRUkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hEQ0FBS0FJQUlRVWdEQXR6SUFaQkFVcHhSUTBBSUFOQmdCQWdCU2dDRENJSklBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUFzaUJTQURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFESUFWQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUtJQUFvQWdBaUJTZ0NEQ0lKSUFVb0FoQkdCRUFnQlNBRktBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBVWdDVUVFYWpZQ0RDQUpLQUlBR2dzZ0IwRUtiQ0FLUVJoMFFSaDFhaUVGSUFaQmYyb2hCZ3dCQ3dzZ0JRUi9JQVVvQWd3aUF5QUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFBTkF3c01BUXNnQUVVTkFRc2dBaUFDS0FJQVFRSnlOZ0lBQ3lBSEMrd0hBUWgvSUFBb0FnQWlCUVIvSUFVb0Fnd2lDQ0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlna0VRQ0FKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUpEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQkJBQ0VFREFFTElBQW9BZ0FpQlNnQ0RDSUlJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDeUlGUWY4QmNTSUlRUmgwUVJoMVFYOUtCRUFnQXlnQ0NDQUZRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRUVRQ0FESUFoQkFDQURLQUlBS0FJa1FUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUxRUmgwUVJoMUlRWWdCQ0VJSUFraEJRTkFBa0FnQmtGUWFpRUVJQUFvQWdBaUNnUi9JQW9vQWd3aUJpQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDaUFGQkg4Z0JTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VKUVFBaEJVRUJCVUVBQ3dWQkFDRUZRUUVMSVF3Z0FDZ0NBQ0VISUF3Z0NuTWdDRUVCU25GRkRRQWdCeWdDRENJR0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUtRZjhCY1NJR1FSaDBRUmgxUVg5TURRUWdBeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRUWdBeUFHUVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFBaEJpQUFLQUlBSWdjb0Fnd2lDaUFIS0FJUVJnUkFJQWNnQnlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUtiQ0FHUVJoMFFSaDFhaUVHSUFoQmYyb2hDQXdCQ3dzZ0J3Ui9JQWNvQWd3aUF5QUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0NVVU5BQ0FKS0FJTUlnQWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FBTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUREUVVMREFFTElBTkZEUU1MSUFJZ0FpZ0NBRUVDY2pZQ0FBd0NDd3NnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCQXNnQkFzM0FRSi9Jd1loQkNNR1FSQnFKQVlnQkNBRE5nSUFJQUVRWWlFQklBQWdBaUFFRVBRRUlRVWdBUVJBSUFFUVlob0xJQVFrQmlBRkMyd0FBbjhDUUFKQUFrQUNRQ0FBS0FJRVFjb0FjUTVCQWdNREF3TURBd01CQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdBREMwRUlEQU1MUVJBTUFndEJBQXdCQzBFS0N3dnpBd0VHZndKQUFrQWdBYndpQlVILy8vLy9CM0VpQmtHQWdJRDhCMHNOQUNBQXZDSUNRZi8vLy84SGNTSURRWUNBZ1B3SFN3MEFBa0FnQlVHQWdJRDhBMFlFUUNBQUVQUUNJUUFNQVFzZ0FrRWZkaUlISUFWQkhuWkJBbkZ5SVFJZ0EwVUVRQUpBQWtBQ1FDQUNRUU54RGdRRUJBQUJBZ3REMnc5SlFDRUFEQU1MUTlzUFNjQWhBQXdDQ3dzQ1FDQUZRZi8vLy84SGNTSUVRWUNBZ1B3SFNBUkFJQVFOQVVQYkQ4bS9ROXNQeVQ4Z0J4c2hBQXdDQlNBRVFZQ0FnUHdIYXcwQklBSkIvd0Z4SVFRZ0EwR0FnSUQ4QjBZRVFBSkFBa0FDUUFKQUFrQWdCRUVEY1E0RUFBRUNBd1FMUTlzUFNUOGhBQXdIQzBQYkQwbS9JUUFNQmd0RDVNc1dRQ0VBREFVTFErVExGc0FoQUF3RUN3VUNRQUpBQWtBQ1FBSkFJQVJCQTNFT0JBQUJBZ01FQzBNQUFBQUFJUUFNQnd0REFBQUFnQ0VBREFZTFE5c1BTVUFoQUF3RkMwUGJEMG5BSVFBTUJBc0xDd3NnQTBHQWdJRDhCMFlnQmtHQWdJRG9BR29nQTBseUJFQkQydy9KdjBQYkQ4ay9JQWNiSVFBTUFRc2dCVUVBU0NBRFFZQ0FnT2dBYWlBR1NYRUVmVU1BQUFBQUJTQUFJQUdWaXhEMEFnc2hBQUpBQWtBQ1FDQUNRUU54RGdNREFBRUNDeUFBakNFQURBSUxROXNQU1VBZ0FFTXV2YnN6a3BNaEFBd0JDeUFBUXk2OXV6T1NROXNQU2NDU0lRQUxEQUVMSUFBZ0FaSWhBQXNnQUF1akFnQWdBQVIvQW44Z0FVR0FBVWtFUUNBQUlBRTZBQUJCQVF3QkMwSG9pUUVvQWdBb0FnQkZCRUFnQVVHQWYzRkJnTDhEUmdSQUlBQWdBVG9BQUVFQkRBSUZRYVRGQTBFWk5nSUFRWDhNQWdzQUN5QUJRWUFRU1FSQUlBQWdBVUVHZGtIQUFYSTZBQUFnQUNBQlFUOXhRWUFCY2pvQUFVRUNEQUVMSUFGQmdFQnhRWURBQTBZZ0FVR0FzQU5KY2dSQUlBQWdBVUVNZGtIZ0FYSTZBQUFnQUNBQlFRWjJRVDl4UVlBQmNqb0FBU0FBSUFGQlAzRkJnQUZ5T2dBQ1FRTU1BUXNnQVVHQWdIeHFRWUNBd0FCSkJIOGdBQ0FCUVJKMlFmQUJjam9BQUNBQUlBRkJESFpCUDNGQmdBRnlPZ0FCSUFBZ0FVRUdka0UvY1VHQUFYSTZBQUlnQUNBQlFUOXhRWUFCY2pvQUEwRUVCVUdreFFOQkdUWUNBRUYvQ3dzRlFRRUxDNmtCQVFKL0lBRkIvd2RLQkVBZ0FFUUFBQUFBQUFEZ2Y2SWlBRVFBQUFBQUFBRGdmNklnQUNBQlFmNFBTaUlDR3lFQUlBRkJnbkJxSWdOQi93Y2dBMEgvQjBnYklBRkJnWGhxSUFJYklRRUZJQUZCZ25oSUJFQWdBRVFBQUFBQUFBQVFBS0lpQUVRQUFBQUFBQUFRQUtJZ0FDQUJRWVJ3U0NJQ0d5RUFJQUZCL0E5cUlnTkJnbmdnQTBHQ2VFb2JJQUZCL2dkcUlBSWJJUUVMQ3lBQUlBRkIvd2RxclVJMGhyK2lDNXNDQVFKL0lBSWdCRWdFUUNBQUlBRWdBaUFFRUdjRWZ5QUFLQUlJSVFVZ0FDZ0NEQVZCZnc4TElRSUZJQUVoQlFzZ0JFRUNkRUh3TVdvb0FnQWdCU0FDSUFScklnRjFjU0lHSUFSQkFuUWdBMm9vQWdCS0JFQUNRQ0FGSVFJRFFBSkFJQUZCQVVnRVFDQUFJQUlnQVVFQkVHZEZEUUVnQUNnQ0NDRUNJQUFvQWd3aEFRc2dBaUFCUVg5cUlnRjJRUUZ4SUFaQkFYUnlJZ1lnQkVFQmFpSUVRUUowSUFOcUtBSUFTZzBCREFJTEMwRi9Ed3NGSUFVaEFnc2dBQ0FDTmdJSUlBQWdBVFlDRENBRVFSQktCSDhnQUNnQ0VDSUFLQUlBSWdGQitRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUFCU0FHSUFOQnlBQnFJQVJCQW5ScUtBSUFhaUFES0FLTUFVRVJhbW90QUFBTEM1TUNBZ0YvQW4wZ0FDQUJJQUpCQW5RZ0FXb3FBZ0NNRUpRQklBSkJBblFnQUdvaUF5QURLZ0lBUXdBQWdEK1NPQUlBSUFBZ0FVRWthaUFDUVFscVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnlBQnFJQUpCRW1wQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIc0FHb2dBa0ViYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUVpBQmFpQUNRU1JxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCdEFGcUlBSkJMV3BCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhZQVdvZ0FrRTJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRZndCYWlBQ1FUOXFRUUowSUFGcUtnSUFqQkM1QVNBQUVGb2lCWkVoQkNBRlF3QUFBQUJiQkVCREFBQUFBQ0VFQlNBQUlBQkRBQUNBUHlBRWxSQ1VBUXNnQkFzR0FFRVVFQUlML2drQkNuOGpCaUVOSXdaQkVHb2tCaUFOUVFocUlSQWdEVUVNYWlJT0lBTVFPeUFPUWFET0F4QTZJUXNnRGhBOElBUkJBRFlDQUFKQUFrQURRQUpBSUFFb0FnQWhDQ0FKUlNBR0lBZEhjVVVOQUNBSUlna0VmeUFKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQVNFTVFRQWhDVUVBQlVFQUlRd2dDUXNGUVFFaERFRUFDeUVJSUFJb0FnQWlDaUVSQWtBQ1FDQUtSUTBBSUFvb0Fnd2lEeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUE4b0FnQUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnREVVTkJRc01BUXNnREEwRFFRQWhDZ3NnQ3lBR0tBSUFRUUFnQ3lnQ0FDZ0NORUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRUnFJZ3hHRFFNQ1FDQUxJQXdvQWdCQkFDQUxLQUlBS0FJMFFUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJDR3BHRFFVZ0NpRUlJQXNnQmlnQ0NFRUFJQXNvQWdBb0FqUkJQM0ZCeWdGcUVRUUFJUW9nRENFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTUlBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTVFROXhRWTREYWhFT0FEWUNBQ0FHUVFocUlRWUZBa0FnQzBHQXdBQWdCaWdDQUNBTEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVRVFDQUxJQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTElBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRa2dDeUFHS0FJQUlBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlBbEhCRUFnQkVFRU5nSUFEQUlMSUFnb0Fnd2lDU0FJS0FJUVJnUkFJQWdnQ0NnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSUlBbEJCR28yQWd3Z0NTZ0NBQm9MSUFaQkJHb2hCZ3dCQ3dOQUFrQWdCeUFHUVFScUlnWkdCRUFnQnlFR0RBRUxJQXRCZ01BQUlBWW9BZ0FnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUFOQVFzTElBb2hDUU5BSUFnRWZ5QUlLQUlNSWdvZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hDZ0pBQWtBZ0NVVU5BQ0FKS0FJTUlnd2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FNS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CQXNNQVFzZ0NnMENRUUFoQ1FzZ0MwR0F3QUFnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnQ0NnQ0RDSUtJQWdvQWhCR0JFQWdDQ0FJS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFnZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUUVDUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQlJRMENDd3dDQ3lBQkRRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QU5KQVlnQ0F1dENnRUtmeU1HSVEwakJrRVFhaVFHSUExQkNHb2hFQ0FOUVF4cUlnNGdBeEE3SUE1QmdNNERFRG9oRENBT0VEd2dCRUVBTmdJQUFrQUNRQU5BQWtBZ0FTZ0NBQ0VJSUFsRklBWWdCMGR4UlEwQUlBZ2lDUVIvSUFrb0Fnd2lDQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRWhDMEVBSVFsQkFBVkJBQ0VMSUFrTEJVRUJJUXRCQUFzaENDQUNLQUlBSWdvaEVRSkFBa0FnQ2tVTkFDQUtLQUlNSWc4Z0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVBMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdDMFVOQlFzTUFRc2dDdzBEUVFBaENnc2dEQ0FHTEFBQVFRQWdEQ2dDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFGcUlndEdEUU1DUUNBTUlBc3NBQUJCQUNBTUtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkFtcEdEUVVnQ2lFSUlBd2dCaXdBQWtFQUlBd29BZ0FvQWlSQlAzRkJ5Z0ZxRVFRQUlRb2dDeUVHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VMSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FMUVE5eFFZNERhaEVPQURZQ0FDQUdRUUpxSVFZRkFrQWdCaXdBQUNJSlFYOUtCRUFnRENnQ0NDSUxJQWxCQVhScUxnRUFRWURBQUhFRVFBTkFBa0FnQnlBR1FRRnFJZ1pHQkVBZ0J5RUdEQUVMSUFZc0FBQWlDVUYvVEEwQUlBbEJBWFFnQzJvdUFRQkJnTUFBY1EwQkN3c2dDaUVKQTBBZ0NBUi9JQWdvQWd3aUNpQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFvQ1FBSkFJQWxGRFFBZ0NTZ0NEQ0lMSUFrb0FoQkdCSDhnQ1NBSktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJnc01BUXNnQ2cwRVFRQWhDUXNnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlLUWY4QmNVRVlkRUVZZFVGL1RBMERJQXdvQWdnZ0NrRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BeUFJS0FJTUlnb2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBS1FRRnFOZ0lNSUFvc0FBQVFRaG9MREFBQUN3QUxDeUFNSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeElBd29BZ0FvQWd4QlAzRkJpZ0ZxRVFJQVFmOEJjU0FNSUFZc0FBQWdEQ2dDQUNnQ0RFRS9jVUdLQVdvUkFnQkIvd0Z4UndSQUlBUkJCRFlDQUF3QkN5QUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFGcU5nSU1JQWtzQUFBUVFob0xJQVpCQVdvaEJnc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQVFKQUFrQUNRQ0FDS0FJQUlnQkZEUUFnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBVVVOQWdzTUFnc2dBUTBBREFFTElBUWdCQ2dDQUVFQ2NqWUNBQXNnRFNRR0lBZ0x0UUlCQlg4akJpRUhJd1pCRUdva0JpQUFLQUlBSWdZRVFBSkFJQVFvQWd3aENTQUNJQUZySWdoQkFuVWhDaUFJUVFCS0JFQWdCaWdDQUNnQ01DRUlJQVlnQVNBS0lBaEJQM0ZCeWdGcUVRUUFJQXBIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ1NBRElBRnJRUUoxSWdGclFRQWdDU0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWt3UWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdOQkFuVWhBU0FEUVFCS0JFQWdCaWdDQUNnQ01DRURJQVlnQWlBQklBTkJQM0ZCeWdGcUVRUUFJQUZIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQkVFQU5nSU1Dd1ZCQUNFR0N5QUhKQVlnQmd0K0FRTi9JQUZEQUFBQVA1SVFReUFBS0FJUWFpRUZJQUpEQUFBQVA1SVFReUFBS0FJVWFpRUdJQVZCQUVnRWYwRi9CU0FHUVFCSUlBVWdBQ2dDQ0NJSFRuSUVmMEYvQlNBR0lBQW9BZ3hJQkg4Z0F5QUFLQUlFSUFZZ0Iyd2dCV3BCQTNScUlnQW9BZ0EyQWdBZ0JDQUFLQUlFTmdJQVFRQUZRWDhMQ3dzTEVBQWdBZ1JBSUFBZ0FTQUNFUG9FQ3dzUUFDQUNCRUFnQUNBQklBSVFUQm9MQzc4QkFRSi9Jd1loQkNNR1FhQUJhaVFHSUFSQmtBRnFJUVVnQkVHWTlnQkJrQUVRVEJvQ1FBSkFJQUZCZjJwQi92Ly8vd2RORFFBZ0FRUi9RYVRGQTBFOU5nSUFRWDhGSUFVaEFFRUJJUUVNQVFzaEFBd0JDeUFFUVg0Z0FHc2lCU0FCSUFFZ0JVc2JJZ0UyQWpBZ0JDQUFOZ0lVSUFRZ0FEWUNMQ0FFSUFBZ0FXb2lBRFlDRUNBRUlBQTJBaHdnQkNBQ0lBTVFwUUloQUNBQkJFQWdCQ2dDRkNJQklBRWdCQ2dDRUVaQkgzUkJIM1ZxUVFBNkFBQUxDeUFFSkFZZ0FBdHJBUU45SUFFcUFpQWdBU29DR0NBQ0tnSUFJZ1NVSUFFcUFod2dBaW9DQkNJRmxKS1NJUU1nQUNBQktnSUlJQVFnQVNvQ0FKUWdCU0FCS2dJRWxKS1NJQU9WT0FJQUlBQWdBU29DRkNBQktnSU1JQUlxQWdDVUlBRXFBaEFnQWlvQ0JKU1NraUFEbFRnQ0JBdWZBZ0lFZndWOElBTkJBblFnQVdvb0FnQWlDaUFDUVFKMElBRnFLQUlBSWdocnR5RU1JQUpCQW5RZ0FHb29BZ0FpQ1NBRFFRSjBJQUJxS0FJQUlnZHJ0eUVOSUFjZ0NHd2dDU0FLYkd1M0lROGdBa0VCYWlJSElRZ0RRQ0FISUFOSUJFQWdCeUFJSUF3Z0IwRUNkQ0FBYWlnQ0FMZWlJQTBnQjBFQ2RDQUJhaWdDQUxlaW9DQVBvQ0lPSUE2aUlnNGdDMlFpQ1JzaENDQUhRUUZxSVFjZ0RpQUxJQWtiSVFzTUFRc0xBbjhDUUNBTElBd2dES0lnRFNBTm9xQ2pJQVJrUlEwQUlBQWdBU0FDSUFnZ0JDQUZJQVlRcXdGQkFFNEVRQ0FHS0FJQUlnSkJCVXdFUUNBQ1FRSjBJQVZxSUFnMkFnQWdCaUFHS0FJQVFRRnFOZ0lBSUFBZ0FTQUlJQU1nQkNBRklBWVFxd0ZCQUU0TkFnc0xRWDhNQVF0QkFBc0xuZ0lCQlg4akJpRURJd1pCRUdva0JpQUFLQUlRSUFGTkJFQWdBMEhBeUFOQnhwb0NFRGRCcUprQ0VEZEI3NklDRURkQjJnRVFQa0gyb2dJUU4wSGh2UUVRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVUlnUWdBa3NFUUNBQUtBSUVJQUlnQVNBRWJHcEJCWFJxSVFjZ0F5UUdJQWNQQlNBRFFjRElBMEhXbXdJUU4wR29tUUlRTjBIdm9nSVFOMEhiQVJBK1FmYWlBaEEzUWZXOUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QURRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQURFRHdnQWlBQUVFQWdBaEEvRUFBTFFRQUxDQUJCQnhBQ1FRQUxEQUFnQUVHQ2hvQWdOZ0FBQzVJQkFRRi9JQU5CZ0JCeEJFQWdBRUVyT2dBQUlBQkJBV29oQUFzZ0EwR0FCSEVFUUNBQVFTTTZBQUFnQUVFQmFpRUFDd05BSUFFc0FBQWlCQVJBSUFBZ0JEb0FBQ0FCUVFGcUlRRWdBRUVCYWlFQURBRUxDeUFBQW44Q1FDQURRY29BY1VFSWF5SUJCRUFnQVVFNFJ3MEJRZThBREFJTElBTkJDWFpCSUhGQitBQnpEQUVMUWVRQVFmVUFJQUliQ3pvQUFBdCtBUU4vSXdZaEFpTUdRUkJxSkFaQit2MENJQUVzQUFBUXZ3RUVmeUFCRUprRlFZQ0FBbkloQXlBQ0lBQTJBZ0FnQWlBRE5nSUVJQUpCdGdNMkFnaEJCU0FDRURRUW1nTWlBMEVBU0FSL1FRQUZJQU1nQVJDWUJTSUFCSDhnQUFVZ0F4QVlHa0VBQ3dzRlFhVEZBMEVjTmdJQVFRQUxJUVFnQWlRR0lBUUxEQUFnQUJEZkNTQUFJQUViQ3hBQUlBQkJJRVlnQUVGM2FrRUZTWElMWEFFQ2Z5QUFMQUFBSWdJZ0FTd0FBQ0lEUnlBQ1JYSUVmeUFDSVFFZ0F3VURmeUFBUVFGcUlnQXNBQUFpQWlBQlFRRnFJZ0VzQUFBaUEwY2dBa1Z5Qkg4Z0FpRUJJQU1GREFFTEN3c2hBQ0FCUWY4QmNTQUFRZjhCY1dzTEtBRUNmeUFBSVFFRFFDQUJRUVJxSVFJZ0FTZ0NBQVJBSUFJaEFRd0JDd3NnQVNBQWEwRUNkUXZJQXdFSGZ5QUFLQUlFSVFVZ0FrSHdrK3ZjQTBzRVFDQUFLQUlBSWdOQk9EWUNGQ0FEUVFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFGQkFVc0VRQ0FBS0FJQUlnTkJEellDRkNBRElBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBSkJDQ0FDUVFkeElnTnJRUUFnQXh0cUlRUUNRQUpBSUFWQk5Hb2dBVUVDZEdvaUNDZ0NBQ0lDQkVBRFFBSkFJQUlvQWdnZ0JFOEVRQ0FDSVFBTUFRc2dBaWdDQUNJREJFQWdBeUVDREFJRklBSWhBd3dFQ3dBTEN3VkJBQ0VEREFFTERBRUxJQVJCOEpQcjNBTWdCR3NpQWlBQlFRSjBRZUNIQVVIb2h3RWdBMFVpQ1J0cUtBSUFJZ0VnQVNBQ1N4c2lBV29pQWtFUWFpSUdFRVFpQndSL0lBWWhBU0FIQlFOL0lBRkI1QUJKQkVBZ0FDZ0NBQ0lDUVRnMkFoUWdBa0VDTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFFSUFGQkFYWWlBV29pQWtFUWFpSUdFRVFpQjBVTkFDQUdJUUVnQndzTElRQWdCU0FCSUFVb0FreHFOZ0pNSUFCQkFEWUNBQ0FBUVFBMkFnUWdBQ0FDTmdJSUlBa0VRQ0FJSUFBMkFnQUZJQU1nQURZQ0FBc0xJQUFnQkNBQUtBSUVJZ0ZxTmdJRUlBQWdBQ2dDQ0NBRWF6WUNDQ0FBUVJCcUlBRnFDeWdCQW44Q2Z5TUdJUU1qQmtFUWFpUUdJQUJCQTBHMGh3RkJ2TkFDUVNBZ0FSQUpJQU1MSkFZTGx3VUJCSDhqQmlFRUl3WkJFR29rQmlBQklBTVE4UU9PRUVNaUJqWUNBQ0FEUVFFZ0JuU3lsUkRTQVNFRElBSWdBQ29DSENBRGxCRHdBeEJESWdZMkFnQWdCaUFBS0FJVVFYOXFSZ1JBSUFFZ0FTZ0NBRUVCYWpZQ0FDQUNRUUEyQWdCQkFDRUdDd0pBQWtBZ0FTZ0NBQ0lGUVFCSUJFQWdBVUVBTmdJQVFRQWhCZ3dCQlNBRklBQW9BaEFpQlU0RVFDQUJJQVZCZjJvMkFnQWdBQ2dDRkVGL2FpRUdEQUlMQ3d3QkN5QUNJQVkyQWdBTElBRW9BZ0FpQlVGL1RBUkFJQVJCd01nRFFZV1pBaEEzUWFpWkFoQTNRZStpQWhBM1FZd0NFRDVCOXFJQ0VEZEJycG9DRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUhJQUVRUUNBSEVEOFFBQXNnQlNBQUtBSVFUZ1JBSUFSQndNZ0RRY2FhQWhBM1FhaVpBaEEzUWUraUFoQTNRWTBDRUQ1QjlxSUNFRGRCOHBvQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JrRi9UQVJBSUFSQndNZ0RRWjJiQWhBM1FhaVpBaEEzUWUraUFoQTNRWTRDRUQ1QjlxSUNFRGRCdjVzQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JpQUFLQUlVU0FSQUlBUWtCZ1VnQkVIQXlBTkIxcHNDRURkQnFKa0NFRGRCNzZJQ0VEZEJqd0lRUGtIMm9nSVFOMEdKbkFJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JCQThJQUlnQUJCQUlBSVFQeEFBQ3dzT0FDQUFJQUVnQWtFQ2RCQk1HZ3V0QVFBZ0FDQUFLZ0lBSUFFcUFnQWdBcFNTT0FJQUlBQWdBQ29DQkNBQktnSUVJQUtVa2pnQ0JDQUFJQUFxQWdnZ0FTb0NDQ0FDbEpJNEFnZ2dBQ0FBS2dJTUlBRXFBZ3dnQXBTU09BSU1JQUFnQUNvQ0VDQUJLZ0lRSUFLVWtqZ0NFQ0FBSUFBcUFoUWdBU29DRkNBQ2xKSTRBaFFnQUNBQUtnSVlJQUVxQWhnZ0FwU1NPQUlZSUFBZ0FDb0NIQ0FCS2dJY0lBS1VramdDSENBQUlBQXFBaUFnQVNvQ0lDQUNsSkk0QWlBTFVRRUJmMEd3M1FNb0FnQWlBU0FBUVFOcVFYeHhhaUlBUVFCSUJFQkJwTVVEUVRBMkFnQkJmdzhMSUFBUUowc0VRQ0FBRUNSRkJFQkJwTVVEUVRBMkFnQkJmdzhMQzBHdzNRTWdBRFlDQUNBQkN3c0FJQUM3RU4wSnRoQkRDeW9CQVg4akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FFSC8vLy8vQnlBQklBTVFxUUVhSUFNa0Jnc09BQ0FBUWVpSkFTZ0NBQkQvQkF1R0FRSUNmd0YrSUFDbklRSWdBRUwvLy8vL0QxWUVRQU5BSUFGQmYyb2lBU0FBSUFCQ0NoRDJBU0lFUWdwK2ZhZEIvd0Z4UVRCeU9nQUFJQUJDLy8vLy81OEJWZ1JBSUFRaEFBd0JDd3NnQktjaEFnc2dBZ1JBQTBBZ0FVRi9haUlCSUFJZ0FrRUtFRWdpQTBFS2JHdEJNSEk2QUFBZ0FrRUtUd1JBSUFNaEFnd0JDd3NMSUFFTEdnQWdBQ0FCRUtvQ0lnQkJBQ0FBTFFBQUlBRkIvd0Z4UmhzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWUNIQVVHdXR3SkJBaUFCRUFrZ0F3c2tCZ3NOQUNBQUtBSUVJQUVvQWdSTEN4QUFJQUFnQVRZQ0FDQUFJQUkyQWdRTERRQWdBQ2dDRUNBQlFSUnNhZ3NRQUNBQUtBSUVJQUVnQUNnQ0FHeHFDd2dBSUFCQjlBQnFDd3dBSUFBZ0FTQUFJQUZLR3dzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWHhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUNkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUowSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQ2RDQUVhallDREFzR0FFRVlFQUlMQ0FCQkRSQUNRUUFMaXdFQkEzOGpCaUVESXdaQkVHb2tCaUFDUWUvLy8vOERTd1JBRUFBTElBSkJBa2tFUUNBQUlBSTZBQXNnQUNFRUJTQUNRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FqWUNCQXNMSUFRZ0FTQUNFS2NCSUFOQkFEWUNBQ0FDUVFKMElBUnFJQU1RYmlBREpBWUx1UUVCQlg4akJpRURJd1pCRUdva0JpQURJQUU2QUFBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkNnc2hBU0FEUVFGcUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRM1FJZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQUNBQ2FpSUFJQU1RWHlBRVFRQTZBQUFnQUVFQmFpQUVFRjhnQXlRR0M3Z0JBUVYvSUFJb0FnQWdBQ2dDQUNJRElnWnJJZ1ZCQVhRaUJFRUVJQVFiUVg4Z0JVSC8vLy8vQjBrYklRVWdBU2dDQUNFSElBTkJBQ0FBS0FJRVFaRUJSeUlFR3lBRkVPZ0JJZ05GQkVBUUFBc2dCQVJBSUFBZ0F6WUNBQVVnQUNnQ0FDRUVJQUFnQXpZQ0FDQUVCRUFnQkNBQUtBSUVRZjhCY1VHc0Eyb1JBUUFnQUNnQ0FDRURDd3NnQUVHU0FUWUNCQ0FCSUFjZ0JtdEJBblZCQW5RZ0EybzJBZ0FnQWlBQUtBSUFJQVZCQW5aQkFuUnFOZ0lBQzZRREFRTi9BbjhDUUNBQ0lBTW9BZ0FpQ2tZaUMwVU5BQ0FBSUFrb0FtQkdJZ3hGQkVBZ0NTZ0NaQ0FBUncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FDQUZSaUFHS0FJRUlBWXNBQXNpQmtIL0FYRWdCa0VBU0J0QkFFZHhCRUJCQUNBSUtBSUFJZ0FnQjJ0Qm9BRk9EUUVhSUFRb0FnQWhBU0FJSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQVJCQURZQ0FFRUFEQUVMSUFsQjZBQnFJUWRCQUNFRkEzOGdCVUVhUmdSL0lBY0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0NXb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFKYXlJRlFRSjFJUUFnQlVIY0FFb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0JVSFlBRTRFUUVGL0lBc05BeHBCZnlBS0lBSnJRUU5PRFFNYVFYOGdDa0YvYWl3QUFFRXdSdzBER2lBRVFRQTJBZ0FnQUVIdzd3QnFMQUFBSVFBZ0F5QUtRUUZxTmdJQUlBb2dBRG9BQUVFQURBTUxDeUFBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBSUFRZ0JDZ0NBRUVCYWpZQ0FFRUFDd3NMRFFBZ0FDZ0NBQkE0SUFBUU9BdXJBd0VEZndKL0FrQWdBaUFES0FJQUlncEdJZ3RGRFFBZ0NTMEFHQ0FBUWY4QmNVWWlERVVFUUNBSkxRQVpJQUJCL3dGeFJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBRUgvQVhFZ0JVSC9BWEZHSUFZb0FnUWdCaXdBQ3lJR1FmOEJjU0FHUVFCSUcwRUFSM0VFUUVFQUlBZ29BZ0FpQUNBSGEwR2dBVTROQVJvZ0JDZ0NBQ0VCSUFnZ0FFRUVhallDQUNBQUlBRTJBZ0FnQkVFQU5nSUFRUUFNQVFzZ0NVRWFhaUVIUVFBaEJRTi9JQVZCR2tZRWZ5QUhCU0FGUVFGcUlRWWdCU0FKYWlJRkxRQUFJQUJCL3dGeFJnUi9JQVVGSUFZaEJRd0NDd3NMSUFscklnQkJGMG9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dBRUVXVGdSQVFYOGdDdzBER2tGL0lBb2dBbXRCQTA0TkF4cEJmeUFLUVg5cUxBQUFRVEJIRFFNYUlBUkJBRFlDQUNBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQVFRQU1Bd3NMSUFCQjhPOEFhaXdBQUNFQUlBTWdDa0VCYWpZQ0FDQUtJQUE2QUFBZ0JDQUVLQUlBUVFGcU5nSUFRUUFMQ3d1b0ZRRUpmeU1HSVFJakJrRVFhaVFHSUFJaUJVRUVhaUVESUFKQkNHb2lCaUFBTmdJQUlBQkIxQUZKQkVCQjhPd0FRYkR1QUNBR0VOY0VLQUlBSVFBRkFrQWdBeUFBSUFCQjBnRVFTQ0lJUWRJQmJDSUNhellDQUVFQUlRQkJzTzRBUWZEdkFDQURFTmNFUWJEdUFHdEJBblVoQndKQUEwQUNRQ0FDSUFkQkFuUkJzTzRBYWlnQ0FHb2hBMEVGSVFJQ1FBSkFBMEFnQWtFdlR3MEJJQU1nQWtFQ2RFSHc3QUJxS0FJQUlnRVFTQ0lFSUFGSkRRTWdBa0VCYWlFQ0lBRWdCR3dnQTBjTkFBc01BUXRCMHdFaEFnTkFBa0FnQXlBQ0VFZ2lBU0FDU1FSL0lBTWhBRUVCQlNBRElBRWdBbXhHQkg5QkNRVWdBeUFDUVFwcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFTWFpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkVHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVnQXlBQ1FSSnFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRVdhaUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJIR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVQ2Z5QURJQUpCSG1vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRWthaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVNocUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJLbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFdWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRVFJxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQk9tb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0U4YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY2dBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZGdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVRQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVlBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Flb0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWV3QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZkFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWY0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWTRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWndCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fhd0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fib0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWI0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZEFCYWlJQkVFZ2lDU0FCU1NFRUlBRWdBa0hTQVdvZ0JDQURJQUVnQ1d4R0lnRnlHeUVDSUFNZ0FDQUVHeUVBUVFGQkNVRUFJQUViSUFRYkN3c0xDd3NMQ3dzTEN3c0xDd3NMSWdGQkQzRU9DZ0VBQUFBQUFBQUFBQUlBQ3dzZ0FRMERDeUFJSUFkQkFXb2lBMEV3UmlJQmFpSUNJUWdnQWtIU0FXd2hBa0VBSUFNZ0FSc2hCd3dCQ3dzZ0JpQUROZ0lBSUFNaEFBd0JDeUFHSUFNMkFnQUxDeUFGSkFZZ0FBdVFBZ0lDZndSOUlBQzhJZ0ZCQUVnaEFpQUJRWUNBZ0FSSklBSnlCRUFDUUNBQlFmLy8vLzhIY1VVRVFFTUFBSUMvSUFBZ0FKU1ZEd3NnQWtVRVFFSG9maUVDSUFCREFBQUFUSlM4SVFFTUFRc2dBQ0FBazBNQUFBQUFsUThMQlNBQlFmLy8vL3NIU3dSQUlBQVBDeUFCUVlDQWdQd0RSZ1IvUXdBQUFBQVBCVUdCZndzaEFnc2dBVUdOOXFzQ2FpSUJRZi8vL3dOeFFmT0oxUGtEYXI1REFBQ0F2NUlpQXlBRFF3QUFBRUNTbFNJRklBV1VJZ1lnQnBRaEJDQUNJQUZCRjNacXNpSUFRNEJ4TVQrVUlBTWdBRVBSOXhjM2xDQUZJQU1nQTBNQUFBQS9sSlFpQUNBR0lBUkQ3dW1SUHBSRHFxb3FQNUtVSUFRZ0JFTW1ubmcrbEVNVHpzdytrcFNTa3BTU0lBQ1RrcElMbEFFQkJId2dBQ0FBb2lJQ0lBS2lJUU5FQUFBQUFBQUE4RDhnQWtRQUFBQUFBQURnUDZJaUJLRWlCVVFBQUFBQUFBRHdQeUFGb1NBRW9TQUNJQUlnQWlBQ1JKQVZ5eG1nQWZvK29rUjNVY0VXYk1GV3Y2Q2lSRXhWVlZWVlZhVS9vS0lnQXlBRG9pQUNSTVN4dEwyZTdpRStJQUpFMURpSXZ1bjZxRDJpb2FKRXJWS2NnRTkra3I2Z29xQ2lJQUFnQWFLaG9LQUxsUUVCQTN3Z0FDQUFvaUlESUFNZ0E2S2lJQU5FZk5YUFdqclo1VDJpUk91Y0s0cm01VnErb0tJZ0F5QURSSDMrc1ZmakhjYytva1RWWWNFWm9BRXF2NkNpUktiNEVCRVJFWUUvb0tBaEJTQURJQUNpSVFRZ0FDQUVSRWxWVlZWVlZjVS9vaUFESUFGRUFBQUFBQUFBNEQraUlBUWdCYUtob2lBQm9hQ2hJQVFnQXlBRm9rUkpWVlZWVlZYRnY2Q2lJQUNnSUFJYkN3c0FJQUFnQVNBQ0VQa0VDeG9BSUFBb0FnQWdBQ2dDQkNJQUlBQVErQVJGUVI5MFFSOTFDNGdEQVFaL0l3WWhCeU1HUVJCcUpBWWdBMEcweFFNZ0F4c2lCU2dDQUNFREFuOENRQ0FCQkg4Q2Z5QUFJQWNnQUJzaEJpQUNCRUFDUUFKQUlBTUVRQ0FESVFBZ0FpRUREQUVGSUFFc0FBQWlBRUYvU2dSQUlBWWdBRUgvQVhFMkFnQWdBRUVBUnd3RkN5QUJMQUFBSVFCQjZJa0JLQUlBS0FJQVJRUkFJQVlnQUVIL3Z3TnhOZ0lBUVFFTUJRc2dBRUgvQVhGQnZuNXFJZ0JCTWtzTkJpQUJRUUZxSVFFZ0FFRUNkRUhRTkdvb0FnQWhBQ0FDUVg5cUlnTU5BUXNNQVFzZ0FTMEFBQ0lJUVFOMklnUkJjR29nQkNBQVFScDFhbkpCQjBzTkJDQURRWDlxSVFRZ0NFR0FmMm9nQUVFR2RISWlBRUVBU0FSQUlBRWhBeUFFSVFFRFFDQUJSUTBDSUFOQkFXb2lBeXdBQUNJRVFjQUJjVUdBQVVjTkJpQUJRWDlxSVFFZ0JFSC9BWEZCZ0g5cUlBQkJCblJ5SWdCQkFFZ05BQXNGSUFRaEFRc2dCVUVBTmdJQUlBWWdBRFlDQUNBQ0lBRnJEQUlMSUFVZ0FEWUNBQXRCZmdzRklBTU5BVUVBQ3d3QkN5QUZRUUEyQWdCQnBNVURRUmsyQWdCQmZ3c2hDU0FISkFZZ0NRdklDd0VJZnlBQUtBSVlJZ1FvQWdBaEJpQUVLQUlFSVFVZ0FDQUJOZ0xjQVNBQUlBSTJBdUFCSUFBZ0F6WUM1QUVDUUNBRkJIOGdCZ1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFRklBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRWWdCVUYvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRb2dBa0YvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQTJBdFFCSUFKQmYyb2lBZ1IvSUFNRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBaUFFS0FJQUN5SUJRUUZxSVFNZ0FDQUJMUUFBUVFoMElnVTJBaUFnQWtGL2FpSUNCRUFnQXlFQklBVWhBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBQW9BaUFoQXlBRUtBSUFJUUVMSUFGQkFXb2hCU0FBSUFFdEFBQWdBMm8yQWlBZ0FrRi9haUlDQkg4Z0JRVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFCQkNIUWlCVFlDSENBQ1FYOXFJZ0lFUUNBRElRRWdCU0VEQlNBRUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRSWdBQ2dDSENFRElBUW9BZ0FoQVFzZ0FVRUJhaUVGSUFBZ0FTMEFBQ0FEYWpZQ0hDQUNRWDlxSWdFRVFDQUZJUUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdBaEFpQUVLQUlFSVFFTElBQWdBaTBBQURZQ0pDQUFLQUlBSWdNZ0FDZ0N1QU0yQWhnZ0F5QUFLQUljTmdJY0lBTWdBQ2dDSURZQ0lDQURJQUFvQWlRMkFpUWdBMEhtQURZQ0ZDQURLQUlFSVFNZ0FFRUJJQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURLQUlRQkVBZ0FDZ0NBQ0lEUVQwMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3lBS1FmOEJjU0FHUWY4QmNVRUlkSEpCZUdvaEJRSkFBa0FnQUNnQ0lFVU5BQ0FBS0FJY1JRMEFJQUFvQWlRaUEwRUJTQTBBREFFTElBQW9BZ0FpQTBFaE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUNBQUtBSWtJUU1MSUFOQkEyd2dCVWNFUUNBQUtBSUFJZ05CRERZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0Z0JSUVJBSUFBb0FnUW9BZ0FoQXlBQUlBQkJBU0FBS0FJa1FkZ0FiQ0FEUVQ5eFFjb0JhaEVFQURZQzJBRUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0FDZ0NKRUVBU2dSQUFrQkJBQ0VGQTBBQ1FDQUJCSDhnQVNFSUlBSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQ0NBRUtBSUFDeUlITFFBQUlRSWdBQ2dDMkFFaEF5QUZCRUFDUUNBRElRRkJBQ0VHQTBBZ0FTZ0NBQ0FDUndSQUlBRkIyQUJxSVFFZ0JrRUJhaUlHSUFWSkRRRU1BZ3NMSUFNb0FnQWhBU0FEUWRnQWFpRUNJQVZCQVVzRWYwRUJJUVlEUUNBQ0tBSUFJZ2tnQVNBSklBRktHeUVCSUFKQjJBQnFJUUlnQmtFQmFpSUdJQVZIRFFBTElBVkIyQUJzSUFOcUJTQUNDeUVMSUFGQkFXb2hBaUFMSVFFTEJTQURJUUVMSUFkQkFXb2hCaUFCSUFJMkFnQWdBU0FGTmdJRUlBaEJmMm9pQXdSL0lBWUZJQVFvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFDeUlDUVFGcUlRWWdBU0FDTFFBQUlnSkJCSFkyQWdnZ0FTSUhJQUpCRDNFMkFnd2dBU0FEUVg5cUlnTUVmeUFHQlNBRUtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRTWdCQ2dDQUFzaUFpMEFBRFlDRUNBQUtBSUFJZ1lnQnlnQ0FEWUNHQ0FHSUFFb0FnZzJBaHdnQmlBSEtBSU1OZ0lnSUFZZ0J5Z0NFRFlDSkNBR1FlY0FOZ0lVSUFZb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBMEYvYWlFQklBSkJBV29oQWlBRlFRRnFJZ1VnQUNnQ0pFZ05BUXdDQ3dzTUFnc0xJQUFvQXRBRFFRRTJBaEFnQkNBQ05nSUFJQVFnQVRZQ0JFRUJEd3RCQUFzMEFRRi9JQUFvQWdRZ0FTZ0NDQkNMQVNJQ0JFQWdBaUFBSUFFUXJRSkJBRWdFUUNBQ0VFbEJBQ0VDQ3dWQkFDRUNDeUFDQ3lRQUlBVUVmU0FBSUFFZ0FpQURJQVFnQmhES0JnVWdBQ0FCSUFJZ0F5QUVFTXNHQ3d2M0JnTUhmd1Y5QTN3akJpRUlJd1pCNEFGcUpBWWdDRUhJQVdvaEJ5QUlRZFFCYWlJSklBUkJCSFFRUkNJTk5nSUFJQTFGQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQ3lBSVFkQUJhaUVISUFrZ0JFRVliQkJFSWd3MkFnUWdERVVFUUVFQVFRTkJ1ZGdDSUFjUVBVRUJFQUVMSUFoQjRBQnFJUW9nQ0VIQUFXb2hDMEVBSVFjRFFDQUhJQVJJQkVBZ0VDQUhRUXhzSUFOcUtnSUFraUVRSUE4Z0IwRU1iQ0FEYWlvQ0JKSWhEeUFPSUFkQkRHd2dBMm9xQWdpU0lRNGdCMEVCYWlFSERBRUxDeUFRSUFTeUloR1ZJUkFnRHlBUmxTRVBJQTRnRVpVaERrRUFJUWNEUUNBSElBUklCRUFnQjBFRWRDQU5haUFIUVFOMElBSnFLZ0lBdXprREFDQUhRUVIwSUExcUlBZEJBM1FnQW1vcUFnUzdPUU1JSUFkQkdHd2dER29nQjBFTWJDQURhaW9DQUNBUWs3czVBd0FnQjBFWWJDQU1haUFIUVF4c0lBTnFLZ0lFSUErVHV6a0RDQ0FIUVJoc0lBeHFJQWRCREd3Z0Eyb3FBZ2dnRHBPN09RTVFJQWRCQVdvaEJ3d0JDd3NnQ1NBRU5nSUlRUUFoQWdOQUlBSkJBMGNFUUVFQUlRTURRQ0FEUVFOSEJFQWdBa0VGZENBS2FpQURRUU4wYWlBQ1FRUjBJQUZxSUFOQkFuUnFLZ0lBdXprREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQ2lBQktnSU1JQkFnQVNvQ0FKUWdEeUFCS2dJRWxKSWdEaUFCS2dJSWxKS1N1emtER0NBS0lBRXFBaHdnRUNBQktnSVFsQ0FQSUFFcUFoU1VraUFPSUFFcUFoaVVrcEs3T1FNNElBb2dBU29DTENBUUlBRXFBaUNVSUE4Z0FTb0NKSlNTSUE0Z0FTb0NLSlNTa3JzNUExZ2dCZ1JBSUFBZ0NTQUtJQWdnQ3hDZEJFRUFTQVJBSUF0RUFBQUFBSVRYbDBFNUF3QUxCU0FBSUFrZ0NpQUlJQXNRNmdGQkFFZ0VRQ0FMUkFBQUFBQ0UxNWRCT1FNQUN3c2dDU2dDQUJBNElBa29BZ1FRT0VFQUlRQURRQ0FBUVFOSEJFQkJBQ0VCQTBBZ0FVRURSd1JBSUFCQkJIUWdCV29nQVVFQ2RHb2dBRUVGZENBSWFpQUJRUU4wYWlzREFMWTRBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFRRnFJUUFNQVFzTElBVWdDQ3NER0NBSUt3TUFJQkM3SWhPaW9TQUlLd01JSUErN0loU2lvU0FJS3dNUUlBNjdJaFdpb2JZNEFnd2dCU0FJS3dNNElBZ3JBeUFnRTZLaElBZ3JBeWdnRktLaElBZ3JBekFnRmFLaHRqZ0NIQ0FGSUFnckExZ2dDRUZBYXlzREFDQVRvcUVnQ0NzRFNDQVVvcUVnQ0NzRFVDQVZvcUcyT0FJc0lBc3JBd0MySVJJZ0NDUUdJQklMSndFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRVFmQVhRYnZVQWtFR0lBRVFDU0FEQ3lRR0N3b0FJQUJCR0dvUWxRRUxGUUFnQUVNQUFJQS9JQUVnQVVNQUFBQUFXeHVWQ3lJQUlBQWdBU29DQUNBQ0tnSUFremdDQUNBQUlBRXFBZ1FnQWlvQ0JKTTRBZ1FMeVFJQkJIOGpCaUVESXdaQkVHb2tCaUFCS0FJQVFRSkhCRUFnQTBIQXlBTkI4T1FCRURkQm1lQUJFRGRCNzZJQ0VEZEI1UUlRUGtIMm9nSVFOMEdmNVFFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0F4QThJQVFnQlJCQUlBUVFQeEFBQ3dKQUFrQUNRQUpBQWtBZ0FpZ0NBQTREQWdBQkF3c2dBU2dDR0NBQUtBSWdJQUlvQWhnZ0FpZ0NCQ0FDS0FJSUVOWUlEQU1MSUFFb0FoZ2dBQ2dDTENBQ0tBSVlJQUlvQWdRZ0FpZ0NDQkRWQ0F3Q0MwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CdytVQlFjUGxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkF3QkMwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CMXVVQlFkYmxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkFzZ0F5UUdDMEFCQVgwZ0FFRUJJQVIwc2lJRklBS1VSQUFBQUFBQUFQQS9JQVJCZjJvUW53RkVBQUFBQUFBQTRMK2d0aUlDa2pnQ0FDQUJJQVVnQTVRZ0FwSTRBZ0FMeEFFQkJYOGpCaUVESXdaQklHb2tCa0hINC9FNElBQW9BZ1FnQUNnQ0FHdEJKQkE1UVFGcUlnSkpCRUFRQUFVZ0F5QUNJQUFvQWdnZ0FDZ0NBQ0lFYTBFa0VEa2lCVUVCZENJR0lBWWdBa2tiUWNmajhUZ2dCVUhqOGJnY1NSc2dBQ2dDQkNBRWEwRWtFRGtnQUVFSWFoRFFBaUFES0FJSUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFCS1FJUU53SVFJQUlnQVNrQ0dEY0NHQ0FDSUFFb0FpQTJBaUFnQXlBQ1FTUnFOZ0lJSUFBZ0F4RFBBaUFERU00Q0lBTWtCZ3NMR2dCREFBQUFBQ0FCSUFBZ0FDQUJYaHNnQUVNQUFBQUFYUnNMbHdFQkJIOGdBVUVFYWlJREtBSUFRUUFnQUNnQ0JDQUFLQUlBSWdScklnVkJBblZyUVFKMGFpRUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMNEFFQ0FuOEJmU01HSVFZakJrRXdhaVFHSUFBRWZ5QUFRUWhxSUFFZ0JoRDZBU0FBUWJnQmFpQUdLZ0lNSUFZcUFnQWdBcFFnQmlvQ0JDQURsSktTSUFZcUFpd2dCaW9DSUNBQ2xDQUdLZ0lrSUFPVWtwSWlDSlVnQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUlsU0FFSUFVUWJVRWZkUVVnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUlJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ0NBQ2xUZ0NBRUVBQ3lFSElBWWtCaUFIQ3pRQkFuOERRQUpBSUFBZ0FSQ1dBeUlDUlFSQVFRQWhBZ3dCQ3lBQUxBQUFRUXBySWdOQkFDQURRUmxIRzBVTkFRc0xJQUlMWFFFQmZ5QUJJQUJJSUFBZ0FTQUNha2h4QkVBZ0FTQUNhaUVCSUFBaUF5QUNhaUVBQTBBZ0FrRUFTZ1JBSUFKQkFXc2hBaUFBUVFGcklnQWdBVUVCYXlJQkxBQUFPZ0FBREFFTEN5QURJUUFGSUFBZ0FTQUNFRXdhQ3lBQUM0TUJBUUovSUFCRkJFQWdBUkJFRHdzZ0FVRy9mMHNFUUVHa3hRTkJNRFlDQUVFQUR3c2dBRUY0YWtFUUlBRkJDMnBCZUhFZ0FVRUxTUnNRNEFraUFnUkFJQUpCQ0dvUEN5QUJFRVFpQWtVRVFFRUFEd3NnQWlBQUlBQkJmR29vQWdBaUEwRjRjVUVFUVFnZ0EwRURjUnRySWdNZ0FTQURJQUZKR3hCTUdpQUFFRGdnQWd0WkFRSi9BMEFnQUNBQkVKWURCRUFnQUJCZ0lRSURRQUpBSUFKRkRRQUNRQ0FBSUFKQmYyb2lBbW9pQXl3QUFFRUthdzRFQUFFQkFBRUxJQU5CQURvQUFBd0JDd3NnQUN3QUFDSUNRUUFnQWtFalJ4dEZEUUVMQ3d2bUJBSUlmd1I4SXdZaENDTUdRYkFCYWlRR0lBaEJxQUZxSVFVZ0NFR2dBV29oQmlBSVFaQUJhaUVLSUFoQk1Hb2hDeUFCS0FJSUlnZEJBMGdFZjBGL0JRSi9JQWRCNEFCc0VFUWlDVVVFUUVFQVFRTkJ5dGdDSUFZUVBVRi9EQUVMSUFkQkJIUVFSQ0lIUlFSQVFRQkJBMEhLMkFJZ0JSQTlJQWtRT0VGL0RBRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdCVUVGZENBRGFpQUdRUU4wYWlBRlFRVjBJQUpxSUFaQkEzUnFLd01BT1FNQUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDMEVBSVFZQ1FBSkFBa0FEUUFKQUlBQWdBeUFMRUxNQ1JBQUFBQUFBQUFBQUlRMUJBQ0VGQTBBZ0JTQUJLQUlJSWdKSUJFQWdDaUFMSUFFb0FnUWdCVUVZYkdvUXV3UkJBRWdOQWlBQktBSUFJZ0lnQlVFRWRHb3JBd0FnQ2lzREFLRWhEaUFGUVFSMElBSnFLd01JSUFvckF3aWhJUThnQlVFQmRDSUNRUU4wSUFkcUlBNDVBd0FnQWtFQmNrRURkQ0FIYWlBUE9RTUFJQTBnRGlBT29pQVBJQStpb0tBaERTQUZRUUZxSVFVTUFRc0xJQTBnQXJlaklnMGdBQ3NEYUdNTkJDQUdCRUFnRFNBQUt3TjRZd1JBSUEwZ0VLTWdBQ3NEY0dRTkJnc0xJQVlnQUNnQ1lFWU5CRUVBSVFVRFFDQUZJQUpJQkVBZ0JVRU1iRUVEZENBSmFpQUFJQU1nQVNnQ0JDQUZRUmhzYWhDNUJFRUFTQTBFSUFWQkFXb2hCU0FCS0FJSUlRSU1BUXNMSUFnZ0J5QUpJQUpCQVhRUXN3UkJBRWdOQXlBRElBZ1FzZ1FnRFNFUUlBWkJBV29oQmd3QkN3c2dDU0FIRU9BQ1FYOE1Bd3NnQ1NBSEVPQUNRWDhNQWdzZ0NTQUhFT0FDUVg4TUFRc2dCQ0FOT1FNQUlBa1FPQ0FIRURoQkFBc0xJUXdnQ0NRR0lBd0xYQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBUkE3SUFOQnFNNERFRG9pQVNnQ0FDZ0NFQ0VFSUFJZ0FTQUVRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFNUVBDQURKQVlMQ1FBZ0FDQUJFSW9MQzF3QkFuOGpCaUVESXdaQkVHb2tCaUFESUFFUU95QURRWkRPQXhBNklnRW9BZ0FvQWhBaEJDQUNJQUVnQkVIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQURFRHdnQXlRR0N4QUFJQUFnQVNBQUtBSVlSWEkyQWhBTGV3RUJmeUFBUVg5R0JFQkJmeUVBQlFKQUlBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hvQ1FBSkFJQUVvQWdRaUFnMEFJQUVRcHdJYUlBRW9BZ1FpQWcwQURBRUxJQUlnQVNnQ0xFRjRha3NFUUNBQklBSkJmMm9pQWpZQ0JDQUNJQUE2QUFBZ0FTQUJLQUlBUVc5eE5nSUFEQUlMQzBGL0lRQUxDeUFBQzFRQkFuOGdBVUVmU3dSL0lBQWdBQ2dDQUNJQ05nSUVJQUJCQURZQ0FDQUJRV0JxSVFGQkFBVWdBQ2dDQkNFQ0lBQW9BZ0FMSVFNZ0FDQUNJQUYwSUFOQklDQUJhM1p5TmdJRUlBQWdBeUFCZERZQ0FBdVhBd0VGZnlNR0lRZ2pCa0h3QVdva0JpQUlRZWdCYWlJSklBTW9BZ0FpQnpZQ0FDQUpJQU1vQWdRaUF6WUNCQ0FJSUFBMkFnQUNRQUpBSUFNZ0IwRUJSM0lFUUVFQUlBRnJJUXNnQUNBRVFRSjBJQVpxS0FJQWF5SUtJQUFnQWtFL2NVR0tBV29SQWdCQkFVZ0VRRUVCSVFNRlFRRWhCeUFGUlNFRklBQWhBeUFLSVFBRGZ5QUZJQVJCQVVweEJFQWdCRUYrYWtFQ2RDQUdhaWdDQUNFS0lBTWdDMm9pQlNBQUlBSkJQM0ZCaWdGcUVRSUFRWDlLQkVBZ0J5RUZJQU1oQUF3RkN5QUZJQXBySUFBZ0FrRS9jVUdLQVdvUkFnQkJmMG9FUUNBSElRVWdBeUVBREFVTEN5QUhRUUZxSVFVZ0IwRUNkQ0FJYWlBQU5nSUFJQWtnQ1JDQkF5SURFUElCSUFNZ0JHb2hCQ0FKS0FJQVFRRkhJQWtvQWdSQkFFZHlSUTBESUFBZ0JFRUNkQ0FHYWlnQ0FHc2lDaUFJS0FJQUlBSkJQM0ZCaWdGcUVRSUFRUUZJQkg4Z0JTRURRUUFGSUFBaEF5QUZJUWRCQVNFRklBb2hBQXdCQ3dzaEJRc0ZRUUVoQXdzZ0JVVUVRQ0FESVFVTUFRc01BUXNnQVNBSUlBVVEvd0lnQUNBQklBSWdCQ0FHRUtJQ0N5QUlKQVlMVkFFQ2Z5QUJRUjlMQkg4Z0FDQUFLQUlFSWdJMkFnQWdBRUVBTmdJRUlBRkJZR29oQVVFQUJTQUFLQUlBSVFJZ0FDZ0NCQXNoQXlBQUlBTkJJQ0FCYTNRZ0FpQUJkbkkyQWdBZ0FDQURJQUYyTmdJRUMxNEJBWDhDZnlBQUtBSk1RUUJPQkVBZ0FDZ0NCQ0lCSUFBb0FnaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFROVFFTERBRUxJQUFvQWdRaUFTQUFLQUlJU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVQVUJDd3NMRWdBZ0FDZ0NUQm9nQUNBQnJDQUNFSWtEQzBrQkEzOGpCaUVCSXdaQkVHb2tCaUFBRUtjQ0JIOUJmd1VnQUNnQ0lDRUNJQUFnQVVFQklBSkJQM0ZCeWdGcUVRUUFRUUZHQkg4Z0FTMEFBQVZCZndzTElRTWdBU1FHSUFNTEVBQWdBVkFFZmtJQUJTQUFJQUdBQ3d0ZUFRRi9JQVJCQUV3RVFBOExJQUZCQW5RZ0FHb2hBQ0FEUVFKMElBSnFJUUVEUUNBQVFRUnFJUUlnQVVFRWFpRURJQUVvQWdBZ0FDZ0NBQ0FGRUV3YUlBUkJmMm9oQmlBRVFRRktCRUFnQWlFQUlBTWhBU0FHSVFRTUFRc0xDeE1BSUFFZ0FFRi9hbW9pQUNBQUlBRVFUMnNMdkMwQkNYOGpCaUVLSXdaQm9BcHFKQVlnQWtFRFN3UkFJQUFvQWdBaUJVRTBOZ0lVSUFVZ0FqWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBSkJBblJxSUFCQnhBRnFJQUpCQW5ScUlBRkJBRWNpREJzb0FnQWlCa1VFUUNBQUtBSUFJZ0ZCTkRZQ0ZDQUJJQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFJZ1JGQkVBZ0FDZ0NCQ2dDQUNFQklBTWdBRUVCUVpBTElBRkJQM0ZCeWdGcUVRUUFJZ1EyQWdBTElBQWhDeUFLUVpBSWFpRUpJQVFnQmpZQ2pBRWdCaXdBQVNJQ1FmOEJjU0VCSUFJRVFDQUpRUUVnQVJCRkdnVkJBQ0VCQ3lBQklBWXNBQUlpQTBIL0FYRWlCV29pQWtHQUFrc0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUUlnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FBeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJBeUFGRUVVYUlBSWhBUXNnQVNBR0xBQUVJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUVJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBVWlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRVWdCUkJGR2lBQ0lRRUxJQUVnQml3QUJpSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkJpQUZFRVVhSUFJaEFRc2dBU0FHTEFBSElnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFSElBVVFSUm9nQWlFQkN5QUJJQVlzQUFnaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFnZ0JSQkZHaUFDSVFFTElBRWdCaXdBQ1NJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQ1NBRkVFVWFJQUloQVFzZ0FTQUdMQUFLSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VLSUFVUVJSb2dBaUVCQ3lBQklBWXNBQXNpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUXNnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEQ0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEQ0FGRUVVYUlBSWhBUXNnQVNBR0xBQU5JZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRU5JQVVRUlJvZ0FpRUJDeUFCSUFZc0FBNGlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRNGdCUkJGR2lBQ0lRRUxJQUVnQml3QUR5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkR5QUZFRVVhSUFJaEFRc2dBU0FHTEFBUUlnSkIvd0Z4SWdOcUlnaEJnQUpLQkVBZ0FDZ0NBQ0lGUVFrMkFoUWdCU2dDQUNFRklBc2dCVUgvQVhGQnJBTnFFUUVBQ3lBQ0JFQWdBU0FKYWtFUUlBTVFSUm9GSUFFaENBc2dDQ0FKYWtFQU9nQUFJQWtzQUFBaUJRUkFRUUFoQVVFQUlRSWdCU0VEQTBBZ0JTQURRUmgwUVJoMVJnUkFBMEFnQWtFQ2RDQUthaUFCTmdJQUlBRkJBV29oQVNBRklBa2dBa0VCYWlJQ2Fpd0FBQ0lEUmcwQUN3c2dBVUVCSUFWMFRnUkFJQUFvQWdBaUIwRUpOZ0lVSUFjb0FnQWhCeUFMSUFkQi93RnhRYXdEYWhFQkFBc2dBVUVCZENFQklBVkJBV29oQlNBRFFmOEJjUTBBQ3dzZ0JDQUdMQUFCQkg4Z0JFRUFJQW9vQWdCck5nSk1JQVl0QUFFaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFRQWhBVUYvQ3pZQ0JDQUVJQVlzQUFJRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsQWdBU0FHTFFBQ2FpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWdnZ0JDQUdMQUFEQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKVUlBRWdCaTBBQTJvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lNSUFRZ0Jpd0FCQVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDV0NBQklBWXRBQVJxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNFQ0FFSUFZc0FBVUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbHdnQVNBR0xRQUZhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFoUWdCQ0FHTEFBR0JIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSmdJQUVnQmkwQUJtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJWUlBUWdCaXdBQndSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1pDQUJJQVl0QUFkcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDSENBRUlBWXNBQWdFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW1nZ0FTQUdMUUFJYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaUFnQkNBR0xBQUpCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pzSUFFZ0JpMEFDV29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSWtJQVFnQml3QUNnUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNjQ0FCSUFZdEFBcHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0tDQUVJQVlzQUFzRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFuUWdBU0FHTFFBTGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWl3Z0JDQUdMQUFNQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKNElBRWdCaTBBREdvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0l3SUFRZ0Jpd0FEUVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDZkNBQklBWXRBQTFxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNOQ0FFSUFZc0FBNEVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBb0FCSUFFZ0JpMEFEbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSTRJQVFnQml3QUR3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNoQUVnQVNBR0xRQVBhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFqd2dCRUZBYXlBR0xBQVFCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0tJQVNBQklBWXRBQkJxUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDQUNBRVFmLy9QellDUkNBRVFaQUJha0VBUVlBSUVFVWFJQVlzQUFFRVFFRUJJUU5CQUNFQkEwQWdBU0FHUVJGcWFpRUhRWUFCSVFVZ0FVRUNkQ0FLYWlnQ0FFRUhkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBVFlDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBRkpCRUFnQWlFRERBRUxDd1ZCQUNFQkN5QUdMQUFDQkVCQkFTRURBMEFnQVNBR1FSRnFhaUVIUWNBQUlRVWdBVUVDZENBS2FpZ0NBRUVHZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQWpZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUpKQkVBZ0FpRUREQUVMQ3dzZ0Jpd0FBd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCWFFpQ1VFQ2RHcEJBellDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUphaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVLYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU1haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVOYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFT2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRVBhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVmY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBTkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJIUWlDVUVDZEdwQkJEWUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVJKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCUVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBM1FpQlVFQ2RHcEJCVFlDQUNBRklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dCVUVCY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQ2FpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIY2lJRlFRSjBha0VGTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBVkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJnUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFuUWlBMEVDZEdwQkJqWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQTBFRGNpSURRUUowYWtFR05nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVpKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBWFFpQTBFQ2RHcEJCellDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJRFFRSjBha0VITmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBZEpCRUFnQXlFQ0RBRUxDd3NnQml3QUNBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdBaUEwRUNkR3BCQ0RZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUxBQUFPZ0FBSUFKQkFXb2hBeUFCUVFGcUlRRWdBaUFHTFFBSVNRUkFJQU1oQWd3QkN3c0xJQXdnQ0VFQVNuRkZCRUFnQ2lRR0R3dEJBQ0VCQTBBZ0FTQUdRUkZxYWkwQUFFRVBTZ1JBSUFBb0FnQWlBa0VKTmdJVUlBSW9BZ0FoQWlBTElBSkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpSUJJQWhIRFFBTElBb2tCZ3U4QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFEUVFKMElBRnFLZ0lBSUFVckF3QzJsQ0FCUVJCcUlBTkJBblJxS2dJQUlBWXJBd2kybEpJZ0FVRWdhaUFEUVFKMGFpb0NBQ0FIS3dNUXRwU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBTXFBZ3dnQkVFRmRDQUFhaXNER0xhU09BSU1JQVJCQVdvaEJBd0JDd3NMK2xjRERuOERmUWw4SXdZaERTTUdRWUFDYWlRR0lBMUIwQUJxSVJJZ0RVR1FBV29pRDBRQUFBQUFBQUJaUURrREFDQVBSQUFBQUFBQUFGbEFPUU1JSUE5RUFBQUFBQUNBVzBBNUF4QWdEMFFBQUFBQUFBQlpRRGtER0NBUFJBQUFBQUFBZ0Z0QU9RTWdJQTlFQUFBQUFBQ0FXMEE1QXlnZ0QwUUFBQUFBQUFCWlFEa0RNQ0FQUkFBQUFBQUFnRnRBT1FNNEEwQWdFRUVFUndSQUlCQkJCSFFnRW1vZ0VFRUVkQ0FKYWlzREFEa0RBQ0FRUVFSMElCSnFJQkJCQkhRZ0NXb3JBd2c1QXdnZ0VFRUJhaUVRREFFTEN5QVBJQklnRFJDSkJ5QVNLd01BSWgwZ0Vpc0RFQ0llb1NJZklCK2lJQklyQXdnaUh5QVNLd01ZSWlDaElpRWdJYUtnRUhNaENTQVNLd01nSWlFZ0Vpc0RNQ0lpb1NJaklDT2lJQklyQXlnaUl5QVNLd000SWlTaElpVWdKYUtnRUhNaEVpQWVJQ0doSWg0Z0hxSWdJQ0Fqb1NJZUlCNmlvQkJ6SVE4Z0lpQWRvU0lkSUIyaUlDUWdINkVpSFNBZG9xQVFjeUVRSUJJZ0NTQVNJQWxLRzdjZ0NxSWdDcUlRY3lFVklCQWdEeUFRSUE5S0c3Y2dDcUlnQ3FJUWN5RVFJQUFFUUNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKUVFKMGJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0VrRUNkR3dnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQlNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRW13Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEN5QU5RZWdCYWlFTUlBMUI0QUZxSVE0Z0RVSFlBV29oRXlBTlFkQUJhaUVSSUExQjhBRnFJUkFnRFVIc0FXb2hEeUFESUFrZ0NTQURTaHNpQ1NBQ0VEa2hGU0FESUJJZ0VpQURTaHNpQXlBQ0VEa2hFa1FBQUFBQUFBRHdQeUFLb1VRQUFBQUFBQURnUDZKRUFBQUFBQUFBSkVDaUlSMGdDa1FBQUFBQUFBQWtRS0loQ2lBQ0lBSnNJUlFDZndKQUlBRUVRQ0FVUVFRUWpRSWlBVVVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMQWtBZ0IwRUNTUVJBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFRGJDSU1haTBBQUNBRUlBeEJBV3BxTFFBQWFpQUVJQXhCQW1wcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFVZ0IwRUJja0VEUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNYWkwQUFDQUVJQXhCQVhKcUxRQUFhaUFFSUF4QkFuSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dCMEVDY2tFR1JnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRRnlhaTBBQUNBRUlBeEJBbkpxTFFBQWFpQUVJQXhCQTNKcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FIUVFWckRnb0FCZ0VDQXdRRkFBQUFCZ3NnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRUNkQ0FCYWlJT0lBd2dEaWdDQUdvMkFnQUxDeUFIUVFGcUlRY01BUXNMSUFCQkFXb2hBQXdBQUFzQUN5QWRSQUFBQUFBQUFGbEFvQ0VlSUFPM0lTRWdDYmNoSWlBTlFVQnJJUk1nQUVFQlJpRVJRUUFoQUFOQUlBQWdBMDROQnlBZUlBb2dBTGRFQUFBQUFBQUE0RCtnb2lBaG82QWhIVUVBSVFjRFFDQUhJQWxJQkVBZ0V5c0RBQ0FlSUFvZ0I3ZEVBQUFBQUFBQTREK2dvaUFpbzZBaUh5QU5Ld013b2lBZElBMHJBemlpb0tBaUlFUUFBQUFBQUFBQUFHRU5DeUFRSUEwckF4QWdIeUFOS3dNQW9pQWRJQTByQXdpaW9LQWdJS08ySWhvNEFnQWdEeUFOS3dNb0lCOGdEU3NER0tJZ0hTQU5Ld01nb3FDZ0lDQ2p0aUliT0FJQUlBZ2dHaUFiSUJBZ0R4QnRHaUFRS2dJQUlSb2dFUVIvSUJwREFBQ0FQNUlRUTBFQ0VEbEJBWFFoRENBUEtnSUFRd0FBZ0QrU0VFTkJBaEE1UVFGMEJTQWFRd0FBQUQrU0VFTWhEQ0FQS2dJQVF3QUFBRCtTRUVNTElRNGdERUYvU2dSQUlBd2dCVWdnRGtGL1NuRWdEaUFHU0hFRVFDQUVJQXdnQlNBT2JHcEJBWFJCQVhKcUxRQUFJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZEdvdEFBQWhEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFVZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWtnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRWNjWEpCQW5KcUlBeEJBM1JCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVFnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRZ2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFWWNYSkJCSEpxSUF4QkFuUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRTWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFjZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QjhBRnhRUWh5SUE1QkJIUkI4QUZ4UVFoeWFpQUVJQXhCQVhKcUxBQUFRWEJ4UVFoeVFmOEJjV3BCQXhCSUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTFFRQkJBMEh5cUFFZ0RCQTlEQU1MQUFzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnRkVjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzRklCUkJBMndpR0VFRUVJMENJZ0ZGQkVCQkFFRURRYm5ZQWlBUkVEMUJBUkFCQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0J3NFBBQUVDQXdRRkJnY0lDUW9MQlFVRkRBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFEwZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkVnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4QkFtcHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFF3Z0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkFnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW1wcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFzZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUThnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFuSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFvZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTRnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW5KcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFrZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTBnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFYSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBbkpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkEzSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBISUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMExJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFOeWFpMEFBQ0VSSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0VTQVdLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnQkNBTVFRSnlhaTBBQUNBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdCQ0FNUVFGeWFpMEFBQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkdvdEFBQkJnSDlxc2lFYUlBUWdGRUVDYW1vdEFBQkJnSDlxc2lFYklCcERUaG9CUkpRZ0JDQU1JQTVxUVFGMFFRRnlhaTBBQUVGd2FySkRmd3FWUTVRaUhKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwRklCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBKSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkVFQmNtb3RBQUJCZ0g5cXNpRWFJQVFnRkVFRGFtb3RBQUJCZ0g5cXNpRWJJQVFnRENBT2FrRUJkR290QUFCQmNHcXlRMzhLbFVPVUlod2dHa05PR2dGRWxKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRUlCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBJSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRTjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWVBQmNVRURkbkpCQW5KcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFKMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RY0FCY1VFRGRuSkJCSEpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSU9RUUZ5YWl3QUFFRndjVUVJY2tIL0FYRWhFU0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBMndpREVFQ2RDQUJhaUlXSUJFZ0ZpZ0NBR28yQWdBZ0RFRUJha0VDZENBQmFpSVJJQkVvQWdBZ0JDQU9haXdBQUNJT1FRUjBRZjhCY1VFSWNtbzJBZ0FnREVFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRGtGd2NVRUlja0gvQVhGcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBdEJBRUVEUWZLb0FTQVRFRDBNQWdzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnR0VjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzTElBRVFPRUVBREFFTElBRVFPRUYvQ3lFWklBMGtCaUFaQzZrQkFDQUFJQUVxQWdDTU9BSUFJQUFnQVNvQ0JJdzRBZ1FnQUVNQUFJQy9PQUlJSUFCQkRHb1F3Z01nQUNBQ0tnSUFJQUVxQWdDVU9BSVlJQUFnQWlvQ0FDQUJLZ0lFbERnQ0hDQUFJQUlvQWdBMkFpQWdBRUVrYWhEQ0F5QUFJQUVxQWdDTU9BSXdJQUFnQVNvQ0JJdzRBalFnQUVNQUFJQy9PQUk0SUFBZ0Fpb0NCQ0FCS2dJQWxEZ0NQQ0FBUVVCcklBSXFBZ1FnQVNvQ0JKUTRBZ0FnQUNBQ0tBSUVOZ0pFQ3lRQUlBQWdBU0FDRUlVQlF3QUFBQUJlSUFNZ0JDQUZFSVVCUXdBQUFBQmVjMEVCY3dzTUFDQUFJQUVnQUNBQlhSc0xJQUFnQUNvQ0FDQUJLZ0lFbENBQUtnSUVJQUVxQWdDVWs0dERBQUFBUDVRTFRBRUNmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQUNJRGEwRURkU0FCU1FSQUlBSWdBU0FBS0FJRUlBTnJRUU4xSUFCQkNHb1FpQUlnQUNBQ0VNMENJQUlRekFJTElBSWtCZ3NIQUNBQVFSQnFDd2tBSUFBZ0FSRGJBd3NNQUNBQUlBRkJBWEU2QUdRTEtnQWdBRUVBTmdJQUlBQkJBRFlDQkNBQVFRQTJBZ2dnQVFSQUlBQWdBUkNkQ0NBQUlBRVE5Z01MQ3d3QUlBQWdBU0FBSUFGSUd3c1ZBQ0FBUWZ5RkFUWUNBQ0FBUVFScUlBRVEzZ0lMb3dJQ0JIOEJmU01HSVFNakJrRVFhaVFHSUFKREFBQUFBR0JGQkVBZ0EwSEF5QU5CblpzQ0VEZEJxSmtDRURkQjc2SUNFRGRCNkFFUVBrSDJvZ0lRTjBHL213SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVc2lBQ1hnUkFJQUFxQWhnZ0FoRGxCRUVCSUFGMHNwUWhCeUFESkFZZ0J3OEZJQU5Cd01nRFFkYWJBaEEzUWFpWkFoQTNRZStpQWhBM1Fla0JFRDVCOXFJQ0VEZEJpWndDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFOQmdNNERFRG9pQVNnQ0FDZ0NIQ0VBSUFGQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFNUVBDQUVJQUFRUUNBRUVEOFFBQXREQUFBQUFBdHpBUUYvSUFCQkFEWUNEQ0FBSUFNMkFoQWdBUVJBSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRUU4wRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCQTNRZ0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFRTjBJQVJxTmdJTUMwd0JBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dMSEFBZ0FFRUFSeUFCUVFWSmNRUi9JQUFnQVRZQ0dFRUFCVUYvQ3dzSUFFRU9FQUpCQUFzSUFFRUlFQUpCQUF0WEFRRi9JQUFFUUNBQUlBRnNJUUlnQUNBQmNrSC8vd05MQkVBZ0FrRi9JQUlnQUJCSUlBRkdHeUVDQ3dzZ0FoQkVJZ0JGQkVBZ0FBOExJQUJCZkdvb0FnQkJBM0ZGQkVBZ0FBOExJQUJCQUNBQ0VFVWFJQUFMdkFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFMkFnQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJBUXNoQVNBRFFRUnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUWtRUWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FrRUNkQ0FBYWlJQUlBTVFiaUFFUVFBMkFnQWdBRUVFYWlBRUVHNGdBeVFHQ3hJQUlBQVFPQ0FCRURnZ0FoQTRJQU1RT0FzSUFFSC8vLy8vQndzRkFFSC9BQXVKQmdFSWZ5TUdJUWtqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZ3NvQWdBb0FoUWhCaUFKSUFzZ0JrRS9jVUd5QldvUkF3QWdDU2dDQkNBSkxBQUxJZ1pCL3dGeElBWkJBRWdiQkVBZ0JTQUROZ0lBSUFJQ2Z3SkFBa0FnQUN3QUFDSUdRU3RyRGdNQUFRQUJDeUFLS0FJQUtBSXNJUWNnQ2lBR0lBZEJQM0ZCaWdGcUVRSUFJUVlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFHTmdJQUlBQkJBV29NQVFzZ0FBc2lCbXRCQVVvRVFDQUdMQUFBUVRCR0JFQWdCaXdBQVVIWUFHc2lCMEVBSUFkQklFY2JSUVJBSUFvb0FnQW9BaXdoQnlBS1FUQWdCMEUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFRWFqWUNBQ0FJSUFjMkFnQWdDaWdDQUNnQ0xDRUhJQW9nQml3QUFTQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnQnpZQ0FDQUdRUUpxSVFZTEN3c2dBaUFHUndSQUFrQWdBaUVISUFZaENBTkFJQWdnQjBGL2FpSUhUdzBCSUFnc0FBQWhEU0FJSUFjc0FBQTZBQUFnQnlBTk9nQUFJQWhCQVdvaENBd0FBQXNBQ3dzZ0N5Z0NBQ2dDRUNFSElBc2dCMEgvQUhGQkNHb1JBQUFoRFNBR0lRaEJBQ0VIUVFBaEN3TkFJQWdnQWtrRVFDQUhJQWtvQWdBZ0NTQUpMQUFMUVFCSUcyb3NBQUFpREVFQVJ5QUxJQXhHY1FSQUlBVWdCU2dDQUNJTFFRUnFOZ0lBSUFzZ0RUWUNBQ0FISUFjZ0NTZ0NCQ0FKTEFBTElnZEIvd0Z4SUFkQkFFZ2JRWDlxU1dvaEIwRUFJUXNMSUFvb0FnQW9BaXdoRENBS0lBZ3NBQUFnREVFL2NVR0tBV29SQWdBaERDQUZJQVVvQWdBaURrRUVhallDQUNBT0lBdzJBZ0FnQ0VFQmFpRUlJQXRCQVdvaEN3d0JDd3NnQmlBQWEwRUNkQ0FEYWlJSElBVW9BZ0FpQmtZRWZ5QUhCUU5BSUFjZ0JrRjhhaUlHU1FSQUlBY29BZ0FoQ0NBSElBWW9BZ0EyQWdBZ0JpQUlOZ0lBSUFkQkJHb2hCd3dCQ3dzZ0JTZ0NBQXNoQlFVZ0NpZ0NBQ2dDTUNFR0lBb2dBQ0FDSUFNZ0JrRVBjVUdLQW1vUkNRQWFJQVVnQWlBQWEwRUNkQ0FEYWlJRk5nSUFDeUFFSUFVZ0FTQUFhMEVDZENBRGFpQUJJQUpHR3pZQ0FDQUpFRWNnQ1NRR0M0QUdBUWgvSXdZaENTTUdRUkJxSkFZZ0JrR0F6Z01RT2lFS0lBWkJrTTRERURvaUN5Z0NBQ2dDRkNFR0lBa2dDeUFHUVQ5eFFiSUZhaEVEQUNBSktBSUVJQWtzQUFzaUJrSC9BWEVnQmtFQVNCc0VRQ0FGSUFNMkFnQWdBZ0ovQWtBQ1FDQUFMQUFBSWdaQksyc09Bd0FCQUFFTElBb29BZ0FvQWh3aEJ5QUtJQVlnQjBFL2NVR0tBV29SQWdBaEJpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBWTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJTZ1JBSUFZc0FBQkJNRVlFUUNBR0xBQUJRZGdBYXlJSFFRQWdCMEVnUnh0RkJFQWdDaWdDQUNnQ0hDRUhJQXBCTUNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dCem9BQUNBS0tBSUFLQUljSVFjZ0NpQUdMQUFCSUFkQlAzRkJpZ0ZxRVFJQUlRY2dCU0FGS0FJQUlnaEJBV28yQWdBZ0NDQUhPZ0FBSUFaQkFtb2hCZ3NMQ3lBQ0lBWkhCRUFDUUNBQ0lRY2dCaUVJQTBBZ0NDQUhRWDlxSWdkUERRRWdDQ3dBQUNFTklBZ2dCeXdBQURvQUFDQUhJQTA2QUFBZ0NFRUJhaUVJREFBQUN3QUxDeUFMS0FJQUtBSVFJUWNnQ3lBSFFmOEFjVUVJYWhFQUFDRU5JQVloQ0VFQUlRZEJBQ0VMQTBBZ0NDQUNTUVJBSUFjZ0NTZ0NBQ0FKSUFrc0FBdEJBRWdiYWl3QUFDSU1RUUJISUFzZ0RFWnhCRUFnQlNBRktBSUFJZ3RCQVdvMkFnQWdDeUFOT2dBQUlBY2dCeUFKS0FJRUlBa3NBQXNpQjBIL0FYRWdCMEVBU0J0QmYycEphaUVIUVFBaEN3c2dDaWdDQUNnQ0hDRU1JQW9nQ0N3QUFDQU1RVDl4UVlvQmFoRUNBQ0VNSUFVZ0JTZ0NBQ0lPUVFGcU5nSUFJQTRnRERvQUFDQUlRUUZxSVFnZ0MwRUJhaUVMREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWNGQTBBZ0J5QUdRWDlxSWdaSkJFQWdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFTEN5QUZLQUlBQ3lFRkJTQUtLQUlBS0FJZ0lRWWdDaUFBSUFJZ0F5QUdRUTl4UVlvQ2FoRUpBQm9nQlNBRElBSWdBR3RxSWdVMkFnQUxJQVFnQlNBRElBRWdBR3RxSUFFZ0FrWWJOZ0lBSUFrUVJ5QUpKQVlMN1FFQkJYOGdBa0dBRUhFRVFDQUFRU3M2QUFBZ0FFRUJhaUVBQ3lBQ1FZQUljUVJBSUFCQkl6b0FBQ0FBUVFGcUlRQUxJQUpCaEFKeElnTkJoQUpHSWdRRWYwRUFCU0FBUVM0NkFBQWdBRUVxT2dBQklBQkJBbW9oQUVFQkN5RUhJQUpCZ0lBQmNTRUNBMEFnQVN3QUFDSUdCRUFnQUNBR09nQUFJQUZCQVdvaEFTQUFRUUZxSVFBTUFRc0xJQUFDZndKQUFrQWdBMEVFYXlJQkJFQWdBVUg4QVVZRVFBd0NCUXdEQ3dBTElBSkJDWFpCL3dGeFFlWUFjd3dDQ3lBQ1FRbDJRZjhCY1VIbEFITU1BUXNnQWtFSmRrSC9BWEVoQVNBQlFlRUFjeUFCUWVjQWN5QUVHd3M2QUFBZ0J3dWVDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWtnQXlBQ2EwRU1FRGtpQjBIa0FFc0VRQ0FIRUVRaUNRUkFJQWtpRFNFU0JSQUFDd1VnQ1NFTkN5QUNJUW9nRFNFSkEwQWdBeUFLUndSQUlBb3NBQXNpQ0VFQVNBUi9JQW9vQWdRRklBaEIvd0Z4Q3dSQUlBbEJBVG9BQUFVZ0NVRUNPZ0FBSUF4QkFXb2hEQ0FIUVg5cUlRY0xJQXBCREdvaENpQUpRUUZxSVFrTUFRc0xJQXdoQ1NBSElRd0RRQUpBSUFBb0FnQWlDQVIvSUFnb0Fnd2lCeUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUW9nQVNnQ0FDSUhCSDhnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaEIwRUJCVUVBQ3dWQkFDRUhRUUVMSVJNZ0FDZ0NBQ0VMSUJNZ0NuTWdERUVBUjNGRkRRQWdDeWdDRENJSElBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzaER5QUdSUVJBSUFRZ0R5QUVLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRVBDeUFSUVFGcUlRc2dBaUVJUVFBaENpQU5JUTRnQ1NFSEEwQWdBeUFJUndSQUlBNHNBQUJCQVVZRVFBSkFJQWdzQUF0QkFFZ0VmeUFJS0FJQUJTQUlDeUFSUVFKMGFpZ0NBQ0VKSUFZRWZ5QUpCU0FFSUFrZ0JDZ0NBQ2dDSEVFL2NVR0tBV29SQWdBTElBOUhCRUFnRGtFQU9nQUFJQXhCZjJvaERBd0JDeUFJTEFBTElnbEJBRWdFZnlBSUtBSUVCU0FKUWY4QmNRc2dDMFlFUUNBT1FRSTZBQUFnREVGL2FpRU1JQWRCQVdvaEJ3dEJBU0VLQ3dzZ0NFRU1haUVJSUE1QkFXb2hEZ3dCQ3dzZ0NnUkFBa0FnQUNnQ0FDSUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFScU5nSU1JQWtvQWdBYUN5QUhJQXhxUVFGTEJFQWdBaUVLSUEwaENRTkFJQU1nQ2tZTkFpQUpMQUFBUVFKR0JFQWdDaXdBQ3lJSVFRQklCSDhnQ2lnQ0JBVWdDRUgvQVhFTElBdEhCRUFnQ1VFQU9nQUFJQWRCZjJvaEJ3c0xJQXBCREdvaENpQUpRUUZxSVFrTUFBQUxBQXNMQ3lBTElSRWdCeUVKREFFTEN5QUxCSDhnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lBQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBDQ3d3Q0N5QUVEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRFFDQUNJQU5HRFFFZ0RTd0FBRUVDUndSQUlBSkJER29oQWlBTlFRRnFJUTBNQVFzTERBRUxJQVVnQlNnQ0FFRUVjallDQUNBRElRSUxJQklRT0NBUUpBWWdBZ3VyQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFjZ0F5QUNhMEVNRURraUNVSGtBRXNFUUNBSkVFUWlCd1JBSUFjaUN5RVNCUkFBQ3dVZ0J5RUxDeUFDSVFjZ0N5RUtBMEFnQXlBSFJ3UkFJQWNzQUFzaURFRUFTQVIvSUFjb0FnUUZJQXhCL3dGeEN3UkFJQXBCQVRvQUFBVWdDa0VDT2dBQUlBbEJmMm9oQ1NBSVFRRnFJUWdMSUFkQkRHb2hCeUFLUVFGcUlRb01BUXNMSUFraENpQUlJUWtEUUFKQUlBQW9BZ0FpQndSL0lBY29BZ3dpQ0NBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzQ2Z5QUJLQUlBSWdnRWZ5QUlLQUlNSWdjZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFoQkFRVkJBQXNGUVFBaENFRUJDeUVUSUFBb0FnQWhCeUFUQzNNZ0NrRUFSM0ZGRFFBZ0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWhEaUFHUlFSQUlBUWdEaUFFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQ0VPQ3lBUFFRRnFJUXdnQWlFSFFRQWhDQ0FMSVEwRFFDQURJQWRIQkVBZ0RTd0FBRUVCUmdSQUFrQWdCeXdBQzBFQVNBUi9JQWNvQWdBRklBY0xJQTlxTEFBQUlSRWdEa0gvQVhFZ0JnUi9JQkVGSUFRZ0VTQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FBdEIvd0Z4UndSQUlBMUJBRG9BQUNBS1FYOXFJUW9NQVFzZ0J5d0FDeUlJUVFCSUJIOGdCeWdDQkFVZ0NFSC9BWEVMSUF4R0JFQWdEVUVDT2dBQUlBcEJmMm9oQ2lBSlFRRnFJUWtMUVFFaENBc0xJQWRCREdvaEJ5QU5RUUZxSVEwTUFRc0xJQWdFUUFKQUlBQW9BZ0FpQnlnQ0RDSUlJQWNvQWhCR0JFQWdCeUFIS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFjZ0NFRUJhallDRENBSUxBQUFFRUlhQ3lBSklBcHFRUUZMQkVBZ0FpRUhJQXNoQ0FOQUlBTWdCMFlOQWlBSUxBQUFRUUpHQkVBZ0J5d0FDeUlQUVFCSUJIOGdCeWdDQkFVZ0QwSC9BWEVMSUF4SEJFQWdDRUVBT2dBQUlBbEJmMm9oQ1FzTElBZEJER29oQnlBSVFRRnFJUWdNQUFBTEFBc0xDeUFNSVE4TUFRc0xJQWNFZnlBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFBa0FnQ0VVTkFDQUlLQUlNSWdRZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEZnlBQ0lBTkdEUUVnQ3l3QUFFRUNSZ1IvSUFJRklBSkJER29oQWlBTFFRRnFJUXNNQVFzTElRTU1BUXNnQlNBRktBSUFRUVJ5TmdJQUN5QVNFRGdnRUNRR0lBTUxpUUVCQW44Z0FDZ0NCQ0lCSUFFb0FnQkJkR29vQWdCcUlnRW9BaGdFUUNBQktBSVFSUVJBSUFFb0FnUkJnTUFBY1FSQUlBQW9BZ1FpQVNBQktBSUFRWFJxS0FJQWFpZ0NHQ0lCS0FJQUtBSVlJUUlnQVNBQ1FmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBb0FnUWlBQ0FBS0FJQVFYUnFLQUlBYWlJQUlBQW9BaEJCQVhJUTdnRUxDd3NMQ3p3QUlBQkJBRG9BQUNBQUlBRTJBZ1FnQVNBQktBSUFRWFJxS0FJQWFpSUJLQUlRUlFSQUlBRW9Ba2dpQVFSQUlBRVFQd3NnQUVFQk9nQUFDd3NLQUNBQVFRUnFFSjBDQ3dvQUlBQkJDR29RblFJTEJBQkJmd3NEQUFFTE13QWdBRUdNakFFMkFnQWdBQkRRQ3lBQVFSeHFFRHdnQUNnQ0lCQTRJQUFvQWlRUU9DQUFLQUl3RURnZ0FDZ0NQQkE0QzFVQkEzOGdBQ2dDQkNJR1FRaDFJUVVnQmtFQmNRUkFJQUlvQWdBZ0JXb29BZ0FoQlFzZ0FDZ0NBQ0lBS0FJQUtBSVlJUWNnQUNBQklBSWdCV29nQTBFQ0lBWkJBbkViSUFRZ0IwRS9jVUdhQm1vUkJRQUxMZ0VCZnlNR0lRSWpCa0VRYWlRR0lBSWdBVFlDQUVHa2lBRW9BZ0FpQVNBQUlBSVFwUUlhSUFFUThnUVFBQXQ4QXdGL0FYNENmQ01HSVFNakJrR1FBV29rQmlBRFFRQkJrQUVRUlJvZ0F5QUFOZ0lFSUFOQmZ6WUNDQ0FESUFBMkFpd2dBMEYvTmdKTUlBTkNBQkNDQVNBRElBSkJBUkNTQXlFR0lBTXBBM2dnQXlnQ0JDQURLQUlJYTZ4OElRUWdBUVJBSUFFZ0FDQUFJQVNuYWlBRVVCczJBZ0FMSUFNa0JpQUdDdzBBSUFBZ0FTQUNRbjhRaEFNTDN3RUJCbjhqQmlFR0l3WkI4QUZxSkFZZ0JpQUFOZ0lBSUFOQkFVb0VRQUpBUVFBZ0FXc2hDU0FESVFkQkFTRURJQUFoQlFOQUlBVWdBQ0FKYWlJQUlBZEJmbW9pQ2tFQ2RDQUVhaWdDQUdzaUNDQUNRVDl4UVlvQmFoRUNBRUYvU2dSQUlBVWdBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnMENDeUFEUVFKMElBWnFJUVVnQTBFQmFpRURJQWdnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1IvSUFVZ0NEWUNBQ0FJSVFBZ0IwRi9hZ1VnQlNBQU5nSUFJQW9MSWdkQkFVb0VRQ0FHS0FJQUlRVU1BUXNMQ3dWQkFTRURDeUFCSUFZZ0F4RC9BaUFHSkFZTEtRRUNmeU1HSVFRakJrRVFhaVFHSUFRZ0F6WUNBQ0FBSUFFZ0FpQUVFS2tCSVFVZ0JDUUdJQVVMNmhJQ0ZIOEJmaU1HSVE4akJrRkFheVFHSUE5QktHb2hDaUFQUVRCcUlSZ2dEMEU4YWlFV0lBOUJPR29pRENBQk5nSUFJQUJCQUVjaEVpQVBRU2hxSWhVaEV5QVBRU2RxSVJkQkFDRUJBa0FDUUFOQUFrQURRQ0FKUVg5S0JFQWdBVUgvLy8vL0J5QUphMG9FZjBHa3hRTkJQVFlDQUVGL0JTQUJJQWxxQ3lFSkN5QU1LQUlBSWdzc0FBQWlDRVVOQXlBTElRRUNRQUpBQTBBQ1FBSkFJQWhCR0hSQkdIVWlDQVJBSUFoQkpVY05BUXdFQ3d3QkN5QU1JQUZCQVdvaUFUWUNBQ0FCTEFBQUlRZ01BUXNMREFFTElBRWhDQU5BSUFnc0FBRkJKVWNOQVNBQlFRRnFJUUVnRENBSVFRSnFJZ2cyQWdBZ0NDd0FBRUVsUmcwQUN3c2dBU0FMYXlFQklCSUVRQ0FBSUFzZ0FSQnlDeUFCRFFBTElBd29BZ0FzQUFFUWlnRkZJUWdnRENBTUtBSUFJZ0VnQ0FSL1FYOGhEVUVCQlNBQkxBQUNRU1JHQkg4Z0FTd0FBVUZRYWlFTlFRRWhCVUVEQlVGL0lRMUJBUXNMYWlJQk5nSUFJQUVzQUFBaUJrRmdhaUlJUVI5TFFRRWdDSFJCaWRFRWNVVnlCRUJCQUNFSUJVRUFJUVlEUUNBR1FRRWdDSFJ5SVFnZ0RDQUJRUUZxSWdFMkFnQWdBU3dBQUNJR1FXQnFJZ2RCSDB0QkFTQUhkRUdKMFFSeFJYSkZCRUFnQ0NFR0lBY2hDQXdCQ3dzTElBWkIvd0Z4UVNwR0JFQWdEQUovQWtBZ0FTd0FBUkNLQVVVTkFDQU1LQUlBSWdjc0FBSkJKRWNOQUNBSExBQUJRVkJxUVFKMElBUnFRUW8yQWdBZ0J5d0FBVUZRYWtFRGRDQURhaWtEQUtjaEFVRUJJUVlnQjBFRGFnd0JDeUFGQkVCQmZ5RUpEQU1MSUJJRVFDQUNLQUlBUVFOcVFYeHhJZ1VvQWdBaEFTQUNJQVZCQkdvMkFnQUZRUUFoQVF0QkFDRUdJQXdvQWdCQkFXb0xJZ1UyQWdCQkFDQUJheUFCSUFGQkFFZ2lBUnNoRUNBSVFZREFBSElnQ0NBQkd5RU9JQVloQ0FVZ0RCQ05BeUlRUVFCSUJFQkJmeUVKREFJTElBZ2hEaUFGSVFnZ0RDZ0NBQ0VGQ3lBRkxBQUFRUzVHQkVBQ1FDQUZRUUZxSVFFZ0JTd0FBVUVxUndSQUlBd2dBVFlDQUNBTUVJMERJUUVnRENnQ0FDRUZEQUVMSUFVc0FBSVFpZ0VFUUNBTUtBSUFJZ1VzQUFOQkpFWUVRQ0FGTEFBQ1FWQnFRUUowSUFScVFRbzJBZ0FnQlN3QUFrRlFha0VEZENBRGFpa0RBS2NoQVNBTUlBVkJCR29pQlRZQ0FBd0NDd3NnQ0FSQVFYOGhDUXdEQ3lBU0JFQWdBaWdDQUVFRGFrRjhjU0lGS0FJQUlRRWdBaUFGUVFScU5nSUFCVUVBSVFFTElBd2dEQ2dDQUVFQ2FpSUZOZ0lBQ3dWQmZ5RUJDMEVBSVFjRFFDQUZMQUFBUWI5L2FrRTVTd1JBUVg4aENRd0NDeUFNSUFWQkFXb2lCallDQUNBRkxBQUFJQWRCT214cVFZL1dBR29zQUFBaUVVSC9BWEVpQlVGL2FrRUlTUVJBSUFVaEJ5QUdJUVVNQVFzTElCRkZCRUJCZnlFSkRBRUxJQTFCZjBvaEZBSkFBa0FnRVVFVFJnUkFJQlFFUUVGL0lRa01CQXNGQWtBZ0ZBUkFJQTFCQW5RZ0JHb2dCVFlDQUNBS0lBMUJBM1FnQTJvcEF3QTNBd0FNQVFzZ0VrVUVRRUVBSVFrTUJRc2dDaUFGSUFJUWpBTWdEQ2dDQUNFR0RBSUxDeUFTRFFCQkFDRUJEQUVMSUE1Qi8vOTdjU0lOSUE0Z0RrR0F3QUJ4R3lFRkFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBR1FYOXFMQUFBSWdaQlgzRWdCaUFHUVE5eFFRTkdJQWRCQUVkeEd5SUdRY0VBYXc0NENRb0hDZ2tKQ1FvS0Nnb0tDZ29LQ2dvS0NBb0tDZ29MQ2dvS0Nnb0tDZ29KQ2dVRENRa0pDZ01LQ2dvS0FBSUJDZ29HQ2dRS0Nnc0tDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEgvQVhGQkdIUkJHSFVPQ0FBQkFnTUVCd1VHQndzZ0NpZ0NBQ0FKTmdJQVFRQWhBUXdYQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQllMSUFvb0FnQWdDYXczQXdCQkFDRUJEQlVMSUFvb0FnQWdDVHNCQUVFQUlRRU1GQXNnQ2lnQ0FDQUpPZ0FBUVFBaEFRd1RDeUFLS0FJQUlBazJBZ0JCQUNFQkRCSUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCRUxRUUFoQVF3UUMwSDRBQ0VHSUFGQkNDQUJRUWhMR3lFQklBVkJDSEloQlF3SkMwRUFJUXRCa1A0Q0lRNGdBU0FUSUFvcEF3QWdGUkNFQlNJSGF5SUdRUUZxSUFWQkNIRkZJQUVnQmtweUd5RUJEQXNMSUFvcEF3QWlHVUlBVXdSL0lBcENBQ0FaZlNJWk53TUFRUUVoQzBHUS9nSUZJQVZCZ1JCeFFRQkhJUXRCa2Y0Q1FaTCtBa0dRL2dJZ0JVRUJjUnNnQlVHQUVIRWJDeUVPREFnTFFRQWhDMEdRL2dJaERpQUtLUU1BSVJrTUJ3c2dGeUFLS1FNQVBBQUFJQmNoQmtFQUlRdEJrUDRDSVE1QkFTRUhJQTBoQlNBVElRRU1DZ3NnQ2lnQ0FDSUZRWnIrQWlBRkd5SUdRUUFnQVJDbUFpSVJSU0VVUVFBaEMwR1EvZ0loRGlBQklCRWdCbXNnRkJzaEJ5QU5JUVVnQVNBR2FpQVJJQlFiSVFFTUNRc2dEeUFLS1FNQVBnSXdJQTlCQURZQ05DQUtJQmcyQWdCQmZ5RUxEQVVMSUFFRVFDQUJJUXNNQlFVZ0FFRWdJQkJCQUNBRkVIVkJBQ0VCREFjTEFBc2dBQ0FLS3dNQUlCQWdBU0FGSUFaQmlRRVJJZ0FoQVF3SEN5QUxJUVpCQUNFTFFaRCtBaUVPSUFFaEJ5QVRJUUVNQlFzZ0Npa0RBQ0FWSUFaQklIRVFoUVVoQjBFQVFRSWdCVUVJY1VVZ0Npa0RBRkJ5SWcwYklRdEJrUDRDSUFaQkJIWkJrUDRDYWlBTkd5RU9EQUlMSUJrZ0ZSQytBU0VIREFFTElBb29BZ0FoQmtFQUlRRUNRQUpBQTBBZ0JpZ0NBQ0lIQkVBZ0ZpQUhFSXNESWdkQkFFZ2lEU0FISUFzZ0FXdExjZzBDSUFaQkJHb2hCaUFMSUFFZ0Iyb2lBVXNOQVFzTERBRUxJQTBFUUVGL0lRa01CZ3NMSUFCQklDQVFJQUVnQlJCMUlBRUVRQ0FLS0FJQUlRWkJBQ0VMQTBBZ0JpZ0NBQ0lIUlEwRElBc2dGaUFIRUlzRElnZHFJZ3NnQVVvTkF5QUdRUVJxSVFZZ0FDQVdJQWNRY2lBTElBRkpEUUFMQlVFQUlRRUxEQUVMSUFjZ0ZTQUtLUU1BUWdCU0lnMGdBVUVBUjNJaUVSc2hCaUFCSUJNZ0Iyc2dEVUVCYzJvaUJ5QUJJQWRLRzBFQUlCRWJJUWNnQlVILy8zdHhJQVVnQVVGL1Noc2hCU0FUSVFFTUFRc2dBRUVnSUJBZ0FTQUZRWURBQUhNUWRTQVFJQUVnRUNBQlNoc2hBUXdCQ3lBQVFTQWdDeUFCSUFacklnMGdCeUFISUExSUd5SVJhaUlISUJBZ0VDQUhTQnNpQVNBSElBVVFkU0FBSUE0Z0N4QnlJQUJCTUNBQklBY2dCVUdBZ0FSekVIVWdBRUV3SUJFZ0RVRUFFSFVnQUNBR0lBMFFjaUFBUVNBZ0FTQUhJQVZCZ01BQWN4QjFDeUFJSVFVTUFRc0xEQUVMSUFCRkJFQWdCUVIvUVFFaEFBTkFJQUJCQW5RZ0JHb29BZ0FpQVFSQUlBQkJBM1FnQTJvZ0FTQUNFSXdESUFCQkFXb2lBRUVLU1EwQlFRRWhDUXdFQ3dzRGZ5QUFRUUowSUFScUtBSUFCRUJCZnlFSkRBUUxJQUJCQVdvaUFFRUtTUTBBUVFFTEJVRUFDeUVKQ3dzZ0R5UUdJQWtMQ3dBZ0FDQUJJQUlRaHdVTC9RRUJBMzhnQVVIL0FYRWhCQUpBQWtBQ1FDQUNRUUJISWdNZ0FFRURjVUVBUjNFRVFDQUJRZjhCY1NFRkEwQWdCU0FBTFFBQVJnMENJQUpCZjJvaUFrRUFSeUlESUFCQkFXb2lBRUVEY1VFQVIzRU5BQXNMSUFORkRRRUxJQUZCL3dGeElnRWdBQzBBQUVZRVFDQUNSUTBCREFJTElBUkJnWUtFQ0d3aEF3SkFBa0FnQWtFRFRRMEFBMEFnQXlBQUtBSUFjeUlFUWYvOSszZHFJQVJCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFnQUVFRWFpRUFJQUpCZkdvaUFrRURTdzBCREFJTEN3d0JDeUFDUlEwQkN3TkFJQUF0QUFBZ0FVSC9BWEZHRFFJZ0FrRi9haUlDUlEwQklBQkJBV29oQUF3QUFBc0FDMEVBSVFBTElBQUxqd0VCQW44Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BaFFnQUNnQ0hFc0VRQ0FBS0FJa0lRRWdBRUVBUVFBZ0FVRS9jVUhLQVdvUkJBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQUtBSUFJZ0ZCQkhFRWZ5QUFJQUZCSUhJMkFnQkJmd1VnQUNBQUtBSXNJQUFvQWpCcUlnSTJBZ2dnQUNBQ05nSUVJQUZCRzNSQkgzVUxDNUVCQVFOL0FuOENRQ0FBS0FJVUlBQW9BaHhORFFBZ0FDZ0NKQ0VCSUFCQkFFRUFJQUZCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUJCZnd3QkN5QUFLQUlFSWdFZ0FDZ0NDQ0lDU1FSQUlBQW9BaWdoQXlBQUlBRWdBbXVzUVFFZ0EwRURjVUdtQTJvUkZBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQVFRQTJBZ2dnQUVFQU5nSUVRUUFMQzRjQkFRRi9JQUFFUUFKL0lBQW9Ba3hCZjB3RVFDQUFFS2dDREFFTElBQVFxQUlMSVFBRlFiQ0lBU2dDQUFSL1FiQ0lBU2dDQUJDcEFnVkJBQXNoQUJDckFpZ0NBQ0lCQkVBRFFDQUJLQUpNUVg5S0JIOUJBUVZCQUFzYUlBRW9BaFFnQVNnQ0hFc0VRQ0FCRUtnQ0lBQnlJUUFMSUFFb0FqZ2lBUTBBQ3d0QnFNVURFQTRMSUFBTCtnRUJBMzhnQVVIL0FYRWlBZ1JBQWtBZ0FFRURjUVJBSUFGQi93RnhJUU1EUUNBQUxBQUFJZ1JGSUFOQkdIUkJHSFVnQkVaeURRSWdBRUVCYWlJQVFRTnhEUUFMQ3lBQ1FZR0NoQWhzSVFNZ0FDZ0NBQ0lDUWYvOSszZHFJQUpCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFEUUNBQ0lBTnpJZ0pCLy8zN2Qyb2dBa0dBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBUVFScUlnQW9BZ0FpQWtILy9mdDNhaUFDUVlDQmdvUjRjVUdBZ1lLRWVITnhSUTBCQ3dzTElBRkIvd0Z4SVFJRFFDQUFRUUZxSVFFZ0FDd0FBQ0lEUlNBQ1FSaDBRUmgxSUFOR2NrVUVRQ0FCSVFBTUFRc0xDd1VnQUJCZ0lBQnFJUUFMSUFBTERBQkJxTVVERUJwQnNNVURDeDhBSUFCQi8vOERjUVIvUWFURkF5QUFRZi8vQTNFMkFnQkJmd1ZCQUFzTDlBRUNDWDhCZkNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVJBQUFBQUFBQUFBQU9RTUFJQUlvQWdBZ0JFRURkR29oQlNBQktBSUFJQXRCQTNScUlRWkJBQ0VIUkFBQUFBQUFBQUFBSVF3RFFDQUhJQWhJQkVBZ0FDQU1JQVlyQXdBZ0JTc0RBS0tnSWd3NUF3QWdDVUVEZENBRmFpRUZJQVpCQ0dvaEJpQUhRUUZxSVFjTUFRc0xJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQU5CQVdvaEF3d0JCVUVBQ3dzRlFYOExCVUYvQ3dWQmZ3c0w4Z0lCQTM4Z0FDZ0NCQ0VESUFGQkFVc0VRQ0FBS0FJQUlnSkJEellDRkNBQ0lBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBRklBRkJBVVlFUUNBREtBSkVJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1JDQURLQUpJSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNTQXNMSUFOQlBHb2dBVUVDZEdvaUFDZ0NBQ0VDSUFCQkFEWUNBQ0FDQkVBRFFDQUNLQUlBSVFBZ0FpZ0NDQ0FDS0FJRVFSQnFhaUVFSUFJUU9DQURJQU1vQWt3Z0JHczJBa3dnQUFSQUlBQWhBZ3dCQ3dzTElBTkJOR29nQVVFQ2RHb2lBQ2dDQUNFQklBQkJBRFlDQUNBQlJRUkFEd3NEUUNBQktBSUFJUUFnQVNnQ0NDQUJLQUlFUVJCcWFpRUNJQUVRT0NBRElBTW9Ba3dnQW1zMkFrd2dBQVJBSUFBaEFRd0JDd3NMOUFFQkJIOGdBQ2dDQkNFRUlBSkI4SlByM0FOTEJFQWdBQ2dDQUNJRFFUZzJBaFFnQTBFRE5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRkxCRUFnQUNnQ0FDSURRUTgyQWhRZ0F5QUJOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUNRUWdnQWtFSGNTSURhMEVBSUFNYmFpSURRUkJxSWdVUVJDSUNSUVJBSUFBb0FnQWlCa0U0TmdJVUlBWkJCRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCQ0FGSUFRb0FreHFOZ0pNSUFJZ0JFRThhaUFCUVFKMGFpSUFLQUlBTmdJQUlBSWdBellDQkNBQ1FRQTJBZ2dnQUNBQ05nSUFJQUpCRUdvTDJna0JFWDhnQUNnQzVBTW9BaGdoRENBQktBSUVJZ2dnQVNnQ0FDSUNUQ0FCS0FJSUlna2dBU2dDRENJS1NuSWdBU2dDRUNJR0lBRW9BaFFpQjBweUJFQWdBaUVBQlFKQUlBSWhBQU5BQWtBZ0FFRUNkQ0FNYWlnQ0FDRU5JQWtoQXdOQUlBTkJCblFnRFdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFLU0FSQUlBUWhBd3dCQ3dzZ0FFRUJhaUVESUFBZ0NFZ0VRQ0FESVFBTUFnVWdBaUVBREFNTEFBc0xJQUVnQURZQ0FBc0xJQWdnQUV3Z0NTQUtTbklnQmlBSFNuSkZCRUFDUUNBSUlRSURRQUpBSUFKQkFuUWdER29vQWdBaERTQUpJUU1EUUNBRFFRWjBJQTFxSUFaQkFYUnFJUVVnQmlFRUEwQWdCUzRCQUEwQ0lBVkJBbW9oQlNBRVFRRnFJUXNnQkNBSFNBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDa2dFUUNBRUlRTU1BUXNMSUFKQmYyb2hEaUFDSUFCTURRSWdEaUVDREFFTEN5QUJJQUkyQWdRZ0FpRUlDd3NnQ0NBQVNDQUtJQWxNY2lBR0lBZEtja1VFUUFKQUlBa2hBZ05BQWtBZ0FDRURBMEFnQTBFQ2RDQU1haWdDQUNBQ1FRWjBhaUFHUVFGMGFpRUZJQVloQkFOQUlBVXVBUUFOQWlBRlFRSnFJUVVnQkVFQmFpRUxJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlROGdBaUFLVGcwQ0lBOGhBZ3dCQ3dzZ0FTQUNOZ0lJSUFJaENRc0xJQWdnQUVnZ0NpQUpUSElnQmlBSFNuSkZCRUFDUUNBS0lRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQWtFR2RHb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBSVNBUkFJQVFoQXd3QkN3c2dBa0YvYWlFUUlBSWdDVXdOQWlBUUlRSU1BUXNMSUFFZ0FqWUNEQ0FDSVFvTEN5QUlJQUJJSUFjZ0JreHlJQW9nQ1VoeVJRUkFBa0FnQmlFQ0EwQUNRQ0FBSVFNRFFDQURRUUowSUF4cUtBSUFJQWtpQkVFR2RHb2dBa0VCZEdvaEJRTkFJQVV1QVFBTkFpQUVRUUZxSVFzZ0JVRkFheUVGSUFRZ0NrZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUkVnQWlBSFRnMENJQkVoQWd3QkN3c2dBU0FDTmdJUUlBSWhCZ3NMSUFnZ0FFZ2dCeUFHVEhJZ0NpQUpTSEpGQkVBQ1FDQUhJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0NTSUVRUVowYWlBQ1FRRjBhaUVGQTBBZ0JTNEJBQTBDSUFSQkFXb2hDeUFGUVVCcklRVWdCQ0FLU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NFZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaEVpQUNJQVpNRFFJZ0VpRUNEQUVMQ3lBQklBSTJBaFFnQWlFSEN3c2dBU0FJSUFCclFRUjBJZ0lnQW13Z0NpQUphMEVNYkNJQ0lBSnNhaUFISUFaclFRTjBJZ0lnQW14cU5nSVlJQWdnQUVnZ0NpQUpTSElnQnlBR1NISUVRQ0FCUVFBMkFod1BDMEVBSVFNZ0FDRUNBMEFnQWtFQ2RDQU1haWdDQUNFTklBTWhBQ0FKSVFNRFFDQURRUVowSUExcUlBWWlCRUVCZEdvaEJRTkFJQUFnQlM0QkFFRUFSMm9oQUNBRVFRRnFJUXNnQlVFQ2FpRUZJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBcElCRUFnQkNFRERBRUxDeUFDUVFGcUlRUWdBaUFJU0FSQUlBQWhBeUFFSVFJTUFRc0xJQUVnQURZQ0hBdXhBd0VHZnlBQUtBSVlJZ0lvQWdRaEFTQUNLQUlBSVFRQ1FBTkFJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjRVFBTkFJQUFvQXRBRElnTWdBeWdDR0VFQmFqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5CQ0FDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNOQUFzTEEwQWdBUVIvSUFRRklBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBESUFJb0FnUWhBU0FDS0FJQUN5RURJQUZCZjJvaEFTQURRUUZxSVFRZ0F5d0FBQ0lGUVg5R0RRQUxJQUFvQXRBRElnWW9BaGdoQXlBRlJRUkFJQVlnQTBFQ2FqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRURBRUxDeUFGUWY4QmNTRUZJQU1FUUNBQUtBSUFJZ1pCOXdBMkFoUWdCaUFETmdJWUlBQW9BZ0FnQlRZQ0hDQUFLQUlBS0FJRUlRTWdBRUYvSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFEUVFBMkFoZ0xJQUFnQlRZQ3VBTWdBaUFFTmdJQUlBSWdBVFlDQkVFQkR3dEJBQXU0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVIwSUFCcUlRVWdCRUVFZENBQWFpRUdJQVJCQkhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFGS2dJQUlBTkJBblFnQVdvcUFnQ1VJQVlxQWdRZ0FVRVFhaUFEUVFKMGFpb0NBSlNTSUFjcUFnZ2dBVUVnYWlBRFFRSjBhaW9DQUpTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFSQkJIUWdBR29xQWd3Z0F5b0NESkk0QWd3Z0JFRUJhaUVFREFFTEN3dTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRmRDQUNhaUFEUVFOMGFpQUZLd01BSUFOQkEzUWdBV29yQXdDaUlBWXJBd2dnQVVFZ2FpQURRUU4wYWlzREFLS2dJQWNyQXhBZ0FVRkFheUFEUVFOMGFpc0RBS0tnT1FNQUlBTkJBV29oQXd3QkN3c2dCRUVGZENBQ2FpSURJQVJCQlhRZ0FHb3JBeGdnQXlzREdLQTVBeGdnQkVFQmFpRUVEQUVMQ3d0VUFRSi9BMEFnQWtFRFJ3UkFRUUFoQVFOQUlBRkJCRWNFUUNBQ1FRVjBRWUNrQTJvZ0FVRURkR29nQWtFRmRDQUFhaUFCUVFOMGFpc0RBRGtEQUNBQlFRRnFJUUVNQVFzTElBSkJBV29oQWd3QkN3c0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVDUVl5SEFVSE50d0pCQVNBQkVBa2dBd3NrQmdzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRTkJ3SWNCUWJ6UUFrRWZJQUVRQ1NBREN5UUdDLzBGQVFaL0l3WWhDU01HUVNCcUpBWWdDVUVRYWlFSUlBSkZCRUFnQ0VIQXlBTkJ6cHdDRURkQjc1d0NFRGRCNzZJQ0VEZEIvd0FRUGtIMm9nSVFOMEhnblFJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJR0tBSUFLQUljSVFjZ0JrRUtJQWRCUDNGQmlnRnFFUUlBSVFZZ0NCQThJQVVnQmhCQUlBVVFQeEFBQ3lBRFJRUkFJQWhCd01nRFFmV2RBaEEzUWUrY0FoQTNRZStpQWhBM1FZQUJFRDVCOXFJQ0VEZEJsNTRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXRCZnlBQ1NRUkFJQWhCd01nRFFhMmVBaEEzUWUrY0FoQTNRZStpQWhBM1FZRUJFRDVCOXFJQ0VEZEIwcDRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXNnQkVVRVFDQUlRY0RJQTBIL25nSVFOMEh2bkFJUU4wSHZvZ0lRTjBHQ0FSQStRZmFpQWhBM1FhT2ZBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ1lvQWdBb0Fod2hCeUFHUVFvZ0IwRS9jVUdLQVdvUkFnQWhCaUFJRUR3Z0JTQUdFRUFnQlJBL0VBQUxJQWxCQ0dvaEJTQUFJQUVRdVFNZ0FpQUViR3dpQmpZQ0RDQURJQVpzSWdZZ0FDZ0NGRWNFUUNBR0VGRWhCeUFKUVFBMkFnQWdDQ0FKS0FJQU5nSUFJQVVnQnhDb0J5QUZLQUlBSVFjZ0JTQUFLQUlZTmdJQUlBQWdCellDR0NBRktBSUVJUWNnQlNBQUtBSWNOZ0lFSUFBZ0J6WUNIQ0FGRUpVQklBQW9BaGhGQkVBZ0NFSEF5QU5CeFo4Q0VEZEI3NXdDRURkQjc2SUNFRGRCbFFFUVBrSDJvZ0lRTjBIb253SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRb2dCMEVLSUFwQlAzRkJpZ0ZxRVFJQUlRY2dDQkE4SUFVZ0J4QkFJQVVRUHhBQUN3c2dBQ0FCTmdJQUlBQWdBallDQkNBQUlBTTJBZ2dnQUNBRU5nSVFJQUFnQmpZQ0ZDQUpKQVlMcVFFQkJIOGdBQVIvQTBBZ0FTQUFLQUlFU0FSQUlBQW9BZ2dnQVVFQ2RHb29BZ0FFUUNBQUlBRVEwQVlMSUFGQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FDZ0NEQ0FDSUFOcUlnUkJBblJxS0FJQUVEZ2dBQ2dDRkNBRVFRSjBhaWdDQUJBNElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFBS0FJTUVEZ2dBQ2dDRkJBNElBQW9BZ2dRT0NBQUtBSVFFRGdnQUNnQ0dCQTRJQUFRT0VFQUJVRi9DeG9MTkFFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQUNnQ0FDZ0NBQkRHQnlBQktBSUFFSVlCRUlFQ0lRSWdBUkNWQVNBQkpBWWdBZ3YzQVFFQmZ5QUVRUUZHSVFrZ0NFRUFSeUVFQW44Z0F3Ui9JQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFUDBLREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRK2dzRklBQWdBU0FDSUFVZ0J4REhDd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1F0QWtNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEN5Q2dVZ0FDQUJJQUlnQlNBSEVPWUpDd3NGSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRUlvSERBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUW1nZ0ZJQUFnQVNBQ0lBVWdCeERaQndzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRa2dVTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDMEJnVWdBQ0FCSUFJZ0JTQUhFTlFGQ3dzTEN3dkdBd0lJZndGK0l3WWhCQ01HUVVCckpBWWdCRUVJYWlFSElBUkJPR29oQ2lBRVFUUnFJUWdnQkVFUWFpRUdJQUlzQUdRRVFDQUVJQUFvQWt3MkFqQWdCQ0FDRU1VQktBSUFOZ0lvSUFRZ0FoREZBU2dDQkRZQ0lDQUlJQVFvQWpBMkFnQWdDaUFFS0FJb05nSUFJQWNnQkNnQ0lEWUNBQ0FBUWNnQWFpQUlJQW9nQnhEVUJ3VWdCa0VBTmdJQUlBWkJBRFlDQkNBR1FRQTJBZ2dnQWlBR0lBRWdBeERUQndOQUlBVWdCaWdDQkNBR0tBSUFJZ0pyUVFKMVNRUkFJQUFnQVNBRlFRSjBJQUpxS0FJQUlBTVF1d0lnQlVFQmFpRUZEQUVMQ3lBQUtBSmtJQUFvQW1oSUJFQWdBU2dDQUNJQ0lBRW9BZ1JIQkVBZ0FpZ0NBQ0VMSUFFb0FnUWlCU0FCS0FJQUlnbHJJZ0pCQ0VvRVFDQUhJQWtwQWdBaUREY0RBQ0FKSUFWQmVHb2lCU2tDQURjQ0FDQUZJQXczQWdBZ0JDQUpOZ0lzSUFRZ0JUWUNKQ0FFSUFrMkFod2dDQ0FFS0FJc05nSUFJQW9nQkNnQ0pEWUNBQ0FISUFRb0FodzJBZ0FnQ0NBQ1FRTjJRWDlxSUFjUXZ3TWdBU2dDQkNFRkMwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQklBVkJlR28yQWdRZ0FDQUFLQUprUVFGcU5nSmtJQUFnQVNBTElBTVF1d0lMQ3lBR0VGVUxJQVFrQmd0a0FRSi9JQUJCQUVjZ0FVRUFSM0VFZnlBQVFReHFRUUJCZ0FnUVJSb2dBU0FBS0FJRUlBQW9BZ2hzYWlFQ0EzOGdBU0FDU1FSL0lBQkJER29nQVMwQUFFRUNkR29pQXlBREtBSUFRUUZxTmdJQUlBRkJBV29oQVF3QkJVRUFDd3NGUVg4TEMxa0JBWDBnQUNBQ0tnSUlJQUlxQWdBZ0E1UWdBaW9DQkNBRWxKS1NJQUlxQWlBZ0Fpb0NHQ0FEbENBQ0tnSWNJQVNVa3BJaUJaVTRBZ0FnQVNBQ0tnSVVJQUlxQWd3Z0E1UWdBaW9DRUNBRWxKS1NJQVdWT0FJQUN6UUFJQUFnQVNrQ0FEY0NBQ0FBSUFFcEFnZzNBZ2dnQUNBQktRSVFOd0lRSUFBZ0FTa0NHRGNDR0NBQUlBRW9BaUEyQWlBTHVBSUNCWDhDZkNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQmlBSFFSUnFJZ2dnQkVFRWRCQkVJZ28yQWdBZ0NrVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQWRCRUdvaEJpQUlJQVJCR0d3UVJDSUpOZ0lFSUFsRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkMwRUFJUVlEUUNBR0lBUklCRUFnQmtFRWRDQUthaUFHUVFSMElBSnFLd01BT1FNQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBd0E1QXdBZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNSU9RTUlJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RFRGtERUNBR1FRRnFJUVlNQVFzTElBZ2dCRFlDQ0NBQUtBSUFJQWdnQVNBRklBY1E2Z0ZCQUVnRVFDQUhSQUFBQUFDRTE1ZEJPUU1BQ3lBSUtBSUFFRGdnQ0NnQ0JCQTRJQWNyQXdBaERDQUhKQVlnREFzSEFDQUFRVHhxQzJVQkJIOERRQ0FGSUFKSUJFQWdBeUFES0FJQVFmMkhEV3hCdzcyYUFXb2lCRFlDQUNBRVFSQjJRZi8vQVhFZ0FSQlBRUUowSUFCcUlRUWdCVUVDZENBQWFpSUdLQUlBSVFjZ0JpQUVLQUlBTmdJQUlBUWdCellDQUNBRlFRRnFJUVVNQVFzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd01nQUNnQ0JDQUFLQUlBYTBFQ2RVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpZ0NDQ0FCS0FJQU5nSUFJQUlnQWlnQ0NFRUVhallDQ0NBQUlBSVE1QUVnQWhESEFTQUNKQVlMQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRb1FnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MVXdFRGZ5QUFRZWdBYWlFREEwQWdBaUFBS0FKc0lBTW9BZ0FpQVd0QkFuVkpCRUFnQWtFQ2RDQUJhaWdDQUNJQkJFQWdBUkRFQWlBQkVEZ0xJQUpCQVdvaEFnd0JDd3NnQUVIMEFHb1FWU0FERUZVTGx3RUJBbjhnQVVFQlJnUkFRUUloQVFVZ0FTQUJRWDlxY1FSQUlBRVEwUUVoQVFzTElBRWdBQ2dDQkNJRFN3UkFJQUFnQVJEaUF3VWdBU0FEU1FSQUlBQW9BZ3l6SUFBcUFoQ1ZqUkNTQVNFQ0lBTkJmMm9nQTNGRklBTkJBa3R4Qkg4Z0FrRUJRU0FnQWtGL2FtZHJkQ0FDUVFKSkd3VWdBaERSQVFzaUFpQUJJQUVnQWtrYklnRWdBMGtFUUNBQUlBRVE0Z01MQ3dzTEV3QWdBRUhzaFFFMkFnQWdBRUVFYWhEU0Fnc2xBQ0FBUWR5RkFUWUNBQ0FBUVRocUVGVWdBRUVzYWhCVklBQkJJR29RVlNBQUVNWUNDdzBBSUFBb0FnQWdBVUVGZEdvTDNnTUJBMzhqQmlFSUl3WkJFR29rQmlBR1FRQktCRUFnQmtFQmFpQUZLQUlFU1FSQUlBZEJmMm9oQ1NBSFFRQktCRUFnQjBFQmFpSUtJQVVvQWdoSkJFQWdCU0FKRUZBZ0JrRUNkR29oQ1NBRklBY1FVQ0FHUVFKMGFpRUhJQVVnQ2hCUUlBWkJBblJxSVFVZ0FDQUhLZ0lFSUFkQmZHb2lBQ29DQUpOREFBQUFQNVE0QWdBZ0FTQUZLZ0lBSUFrcUFnQ1RRd0FBQUQrVU9BSUFJQUlnQnlvQ0JDQUFLZ0lBSUFjcUFnQkRBQUFBUUpTVGtqZ0NBQ0FESUFVcUFnQWdDU29DQUNBSEtnSUFRd0FBQUVDVWs1STRBZ0FnQkNBSlFYeHFLZ0lBSUFVcUFnU1NJQWtxQWdRZ0JVRjhhaW9DQUpLVFF3QUFnRDZVT0FJQUlBZ2tCZzhMQ3lBSVFjRElBMEc1MkFFUU4wSE95d0VRTjBIdm9nSVFOMEdkQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUlRY0RJQTBHQjJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHY0FoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxEUUFnQUNBQ2xDQUJJQUdVa3dzNkFRSjlRd0FBZ0Q5QkFTQUVkTEtWSWdWREFBQUFQNVJEQUFBQXY1SWhCaUFBSUFVZ0FwUWdCcEk0QWdBZ0FTQUZJQU9VSUFhU09BSUFDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmVHb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRURkV3RCQTNScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFWeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMbHdFQkJIOGdBVUVFYWlJREtBSUFJUUlnQXlBQUtBSUVJQUFvQWdBaUJHc2lCVUZjRURsQkpHd2dBbW9pQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMY2dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY2ZqOFRoTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVNSc0VGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkpHd2dCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRU1JzSUFScU5nSU1DMDRCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCSkJBNUlBRkpCRUFnQWlBQklBQW9BZ1FnQTJ0QkpCQTVJQUJCQ0dvUTBBSWdBQ0FDRU04Q0lBSVF6Z0lMSUFJa0JndEFBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVdCcUlnRVEzUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDejhCQW44Z0FDZ0NBQ0lDQkVBZ0FDZ0NCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3RkQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVFWMUlnTWdBVWtFUUNBQUlBRWdBMnNRakFrRklBTWdBVXNFUUNBQlFRVjBJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCWUdvaUFSRGRBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWRXcTFhb0JTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRU1iQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUXhzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFTWJDQUVhallDREFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWDlxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGpnRUJCSDhnQVVFRWFpSURLQUlBSUFBb0FnUWdBQ2dDQUNJRWF5SUZheUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTFFBQWdBRUVBTmdJTUlBQWdBellDRUNBQUlBRUVmeUFCRUZFRlFRQUxJZ00yQWdBZ0FDQUNJQU5xSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBU0FEYWpZQ0RBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEM5UUNBZ1ovQW4wakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVKSUFaQkRHb2hDeUFHUVFocUlRZ2dCa0VFYWlFS0lBUXFBZ2doRENBRUtnSU1JUTBnQlFKL0FrQUNRQUpBSUFGRkRRQWdBQ0FCSUF3Z0RTQUhJQWdRNVFGQkFFZ05BQ0FGSUFjcUFnQVFRellDQUNBRklBZ3FBZ0FRUXpZQ0JDQUNSUTBCSUFBZ0FpQU1JQTBnQ1NBS0VPVUJRUUJJRFFFZ0JTQUhLZ0lBUXdBQUFFQ1VJQWtxQWdDVEVFTTJBZ2dnQlNBSUtnSUFRd0FBQUVDVUlBb3FBZ0NURUVNMkFnd2dBMFVOQWlBQUlBTWdEQ0FOSUFzZ0JoRGxBVUVBU0EwQ0lBVWdDeW9DQUNBSEtnSUFRd0FBUUVDVUlBa3FBZ0JEQUFCQVFKU1RraEJETmdJUUlBWXFBZ0FnQ0NvQ0FFTUFBRUJBbENBS0tnSUFRd0FBUUVDVWs1SVFRd3dEQ3lBRlFYODJBZ0FnQlVGL05nSUVDeUFGUVg4MkFnZ2dCVUYvTmdJTUN5QUZRWDgyQWhCQmZ3czJBaFFnQmlRR0MwNEJBbjBnQVNvQ0FDQUFLZ0lBa3lJRUlBU1VJQUVxQWdRZ0FDb0NCSk1pQkNBRWxKS1JJZ1ZEQUFBQUFGd0VRQ0FDSUFRZ0JaVTRBZ0FnQXlBQktnSUFJQUFxQWdDVElBV1ZPQUlBQ3dzR0FFRWFFQUlMcHdFQkFuOUJieUFCYXlBQ1NRUkFFQUFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lFRklBRkI1Ly8vL3dkSkJIOUJDeUFCUVFGMElnWWdBU0FDYWlJQ0lBSWdCa2tiSWdKQkVHcEJjSEVnQWtFTFNSc0ZRVzhMSWdZUVVTRUNJQVFFUUNBQ0lBVWdCQkNvQVFzZ0F5QUVheUlEQkVBZ0FpQUVhaUFFSUFWcUlBTVFxQUVMSUFGQkNrY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDejRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBU3dBQzBFQVNBUkFJQUFnQVNnQ0FDQUJLQUlFRUg0RklBQWdBU2tDQURjQ0FDQUFJQUVvQWdnMkFnZ0xDd1FBUVFFTENnQWdBQkE0SUFFUU9Bc0xBQ0FFSUFJMkFnQkJBd3NmQVFGL0lBQW9BZ0FpQVFSL0lBRVFPQ0FBUVFBMkFnQkJBQVZCZndzYUM2TUJBUU4vUVlnQkVFUWlBUVJBQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUNRUVYwSUFGcUlBTkJBM1JxSUFKQkJYUWdBR29nQTBFRGRHb3JBd0E1QXdBZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQUZCQ2pZQ1lDQUJSQUFBQUtDWm1iay9PUU5vSUFGRUFBQUFnQlN1N3o4NUEzQWdBVVFBQUFBQUFBQVFRRGtEZUNBQlJBQUFBQUFBQU9BL09RT0FBUVZCQUNFQkN5QUJDNzhFQVFGL0lBQWdCVVlFZnlBQkxBQUFCSDhnQVVFQU9nQUFJQVFnQkNnQ0FDSUFRUUZxTmdJQUlBQkJMam9BQUNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc0VRQ0FKS0FJQUlnQWdDR3RCb0FGSUJFQWdDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBTEMwRUFCVUYvQ3dVQ2Z5QUFJQVpHQkVBZ0J5Z0NCQ0FITEFBTElnVkIvd0Z4SUFWQkFFZ2JCRUJCZnlBQkxBQUFSUTBDR2tFQUlBa29BZ0FpQUNBSWEwR2dBVTROQWhvZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FnQ2tFQU5nSUFRUUFNQWdzTElBdEJnQUZxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFBSUFWQkFuUWdDMm9pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBTGF5SUFRZndBU2dSL1FYOEZJQUJCQW5WQjhPOEFhaXdBQUNFRkFrQUNRQUpBQWtBZ0FFR29mMm9pQmtFQ2RpQUdRUjUwY2c0RUFRRUFBQUlMSUFRb0FnQWlBQ0FEUndSQVFYOGdBRUYvYWl3QUFFSGZBSEVnQWl3QUFFSC9BSEZIRFFVYUN5QUVJQUJCQVdvMkFnQWdBQ0FGT2dBQVFRQU1CQXNnQWtIUUFEb0FBQXdCQ3lBRlFkOEFjU0lESUFJc0FBQkdCRUFnQWlBRFFZQUJjam9BQUNBQkxBQUFCRUFnQVVFQU9nQUFJQWNvQWdRZ0J5d0FDeUlCUWY4QmNTQUJRUUJJR3dSQUlBa29BZ0FpQVNBSWEwR2dBVWdFUUNBS0tBSUFJUUlnQ1NBQlFRUnFOZ0lBSUFFZ0FqWUNBQXNMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0JUb0FBQ0FBUWRRQVRBUkFJQW9nQ2lnQ0FFRUJhallDQUF0QkFBc0xDd3VrQVFFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQVJBN0lBVkJvTTRERURvaUFTZ0NBQ2dDTUNFR0lBRkI4TzhBUVpEd0FDQUNJQVpCRDNGQmlnSnFFUWtBR2lBRlFhak9BeEE2SWdFb0FnQW9BZ3doQWlBRElBRWdBa0gvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ2dDRUNFQ0lBUWdBU0FDUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBVVFQQ0FGSkFZTFVnSUNmd0Y4SUFBb0FnUWlBeUFCS0FJRVJ3UkFRUUFRQVFzRFFDQUNJQU5JQkVBZ0JDQUFLQUlBSUFKQkEzUnFLd01BSUFFb0FnQWdBa0VEZEdvckF3Q2lvQ0VFSUFKQkFXb2hBZ3dCQ3dzZ0JBczNBUUovUVFnUVJDSUJCRUFnQVNBQVFRTjBFRVFpQWpZQ0FDQUNCRUFnQVNBQU5nSUVCU0FCRURoQkFDRUJDd1ZCQUNFQkN5QUJDOVVFQVFGL0lBQkIvd0Z4SUFWQi93RnhSZ1IvSUFFc0FBQUVmeUFCUVFBNkFBQWdCQ0FFS0FJQUlnQkJBV28yQWdBZ0FFRXVPZ0FBSUFjb0FnUWdCeXdBQ3lJQVFmOEJjU0FBUVFCSUd3UkFJQWtvQWdBaUFDQUlhMEdnQVVnRVFDQUtLQUlBSVFFZ0NTQUFRUVJxTmdJQUlBQWdBVFlDQUFzTFFRQUZRWDhMQlFKL0lBQkIvd0Z4SUFaQi93RnhSZ1JBSUFjb0FnUWdCeXdBQ3lJRlFmOEJjU0FGUVFCSUd3UkFRWDhnQVN3QUFFVU5BaHBCQUNBSktBSUFJZ0FnQ0d0Qm9BRk9EUUlhSUFvb0FnQWhBU0FKSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQXBCQURZQ0FFRUFEQUlMQ3lBTFFTQnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUZJQXRxSWdVdEFBQWdBRUgvQVhGR0JIOGdCUVVnQmlFRkRBSUxDd3NnQzJzaUJVRWZTZ1IvUVg4RklBVkI4TzhBYWl3QUFDRUFBa0FDUUFKQUlBVkJGbXNPQkFFQkFBQUNDeUFFS0FJQUlnRWdBMGNFUUVGL0lBRkJmMm9zQUFCQjN3QnhJQUlzQUFCQi93QnhSdzBFR2dzZ0JDQUJRUUZxTmdJQUlBRWdBRG9BQUVFQURBTUxJQUpCMEFBNkFBQWdCQ0FFS0FJQUlnRkJBV28yQWdBZ0FTQUFPZ0FBUVFBTUFnc2dBRUhmQUhFaUF5QUNMQUFBUmdSQUlBSWdBMEdBQVhJNkFBQWdBU3dBQUFSQUlBRkJBRG9BQUNBSEtBSUVJQWNzQUFzaUFVSC9BWEVnQVVFQVNCc0VRQ0FKS0FJQUlnRWdDR3RCb0FGSUJFQWdDaWdDQUNFQ0lBa2dBVUVFYWpZQ0FDQUJJQUkyQWdBTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdBRG9BQUVFQUlBVkJGVW9OQVJvZ0NpQUtLQUlBUVFGcU5nSUFRUUFMQ3dzTHBBRUJBbjhqQmlFRkl3WkJFR29rQmlBRklBRVFPeUFGUVlET0F4QTZJZ0VvQWdBb0FpQWhCaUFCUWZEdkFFR1E4QUFnQWlBR1FROXhRWW9DYWhFSkFCb2dCVUdRemdNUU9pSUJLQUlBS0FJTUlRSWdBeUFCSUFKQi93QnhRUWhxRVFBQU9nQUFJQUVvQWdBb0FoQWhBaUFFSUFFZ0FrSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FGRUR3Z0JTUUdDd3NBSUFBUW1RSWdBQkE0Q3dzQUlBQVFtZ0lnQUJBNEN3c0FJQUFRMEFRZ0FCQTRDd3NBSUFBUTFnUWdBQkE0Q3hNQUlBQWdBNklnQVNBRW9xQWdBaUFGb3FBTFZ3RURmeUFBS0FJRUlnZEJDSFVoQmlBSFFRRnhCRUFnQXlnQ0FDQUdhaWdDQUNFR0N5QUFLQUlBSWdBb0FnQW9BaFFoQ0NBQUlBRWdBaUFESUFacUlBUkJBaUFIUVFKeEd5QUZJQWhCQjNGQjJnWnFFUXdBQ3hRQUlBQWdBS0lnQVNBQm9xQWdBaUFDb3FDZkM2Y0JBQ0FBUVFFNkFEVWdBaUFBS0FJRVJnUkFBa0FnQUVFQk9nQTBJQUFvQWhBaUFrVUVRQ0FBSUFFMkFoQWdBQ0FETmdJWUlBQkJBVFlDSkNBQUtBSXdRUUZHSUFOQkFVWnhSUTBCSUFCQkFUb0FOZ3dCQ3lBQklBSkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBVG9BTmd3QkN5QUFLQUlZSWdGQkFrWUVRQ0FBSUFNMkFoZ0ZJQUVoQXdzZ0FDZ0NNRUVCUmlBRFFRRkdjUVJBSUFCQkFUb0FOZ3NMQ3dzZkFDQUJJQUFvQWdSR0JFQWdBQ2dDSEVFQlJ3UkFJQUFnQWpZQ0hBc0xDMTRCQVg4Z0FDZ0NFQ0lEQkVBQ1FDQUJJQU5IQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQWpZQ0dDQUFRUUU2QURZTUFRc2dBQ2dDR0VFQ1JnUkFJQUFnQWpZQ0dBc0xCU0FBSUFFMkFoQWdBQ0FDTmdJWUlBQkJBVFlDSkFzTDVBSUNBbjhDZlNBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSC8vLy9qQkVzRVFDQUFROW9QeWI5RDJnL0pQeUFDR3lBQlFZQ0FnUHdIU3hzUEN5QUJRWUNBZ1BjRFNRUkFJQUZCZ0lDQXpBTkpCSDhnQUE4RlFYOExJUUVGSUFDTElRQWdBVUdBZ09EOEEwa0VmU0FCUVlDQXdQa0RTUVI5UVFBaEFTQUFRd0FBQUVDVVF3QUFnTCtTSUFCREFBQUFRSktWQlVFQklRRWdBRU1BQUlDL2tpQUFRd0FBZ0QrU2xRc0ZJQUZCZ0lEd2dBUkpCSDFCQWlFQklBQkRBQURBdjVJZ0FFTUFBTUEvbEVNQUFJQS9rcFVGUVFNaEFVTUFBSUMvSUFDVkN3c2hBQXNnQUNBQWxDSUVJQVNVSVFNZ0JDQURJQU5ESmF4OFBaUkREZlVSUHBLVVE2bXFxajZTbENFRUlBTkRtTXBNdmlBRFEwY1MyajJVazVRaEF5QUJRUUJJQkgwZ0FDQUFJQU1nQkpLVWt3VWdBVUVDZEVIUTdBQnFLZ0lBSUFBZ0F5QUVrcFFnQVVFQ2RFSGc3QUJxS2dJQWt5QUFrNU1pQUNBQWpDQUNSUnNMQy93Q0FnTi9BWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRVFDQUJRWUNBZ013RFR3UkFJQUM3RUpFQklRQUxCUUo5SUFGQjBxZnRnd1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhrbDl1QUJFOEVRRVFZTFVSVSt5RUpRRVFZTFVSVSt5RUp3Q0FDR3lBRW9Kb1FrUUVNQWdzZ0FnUkFJQVJFR0MxRVZQc2grVCtnRUpBQmpBd0NCU0FFUkJndFJGVDdJZm0vb0JDUUFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhnMjcrRkJFOEVRRVFZTFVSVSt5RVpRRVFZTFVSVSt5RVp3Q0FDR3lBRW9CQ1JBUXdDQ3lBQ0JFQWdCRVRTSVROL2ZOa1NRS0FRa0FFTUFnVWdCRVRTSVROL2ZOa1N3S0FRa0FHTURBSUxBQXNnQUNBQWt5QUJRZi8vLy9zSFN3MEFHZ0pBQWtBQ1FBSkFJQUFnQXhENkFrRURjUTREQUFFQ0F3c2dBeXNEQUJDUkFRd0RDeUFES3dNQUVKQUJEQUlMSUFNckF3Q2FFSkVCREFFTElBTXJBd0FRa0FHTUN5RUFDeUFESkFZZ0FBdi9BZ01EZndGOUFYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFZlNBQlFZQ0FnTXdEU1FSOVF3QUFnRDhGSUFDN0VKQUJDd1VDZlNBQlFkS243WU1FU1FSQUlBSkJBRWNoQWlBQXV5RUZJQUZCNDVmYmdBUkxCRUJFR0MxRVZQc2hDVUJFR0MxRVZQc2hDY0FnQWhzZ0JhQVFrQUdNREFJTElBSUVRQ0FGUkJndFJGVDdJZmsvb0JDUkFRd0NCVVFZTFVSVSt5SDVQeUFGb1JDUkFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFGQjM5dS9oUVJMQkVCRUdDMUVWUHNoR1VCRUdDMUVWUHNoR2NBZ0Foc2dBTHVnRUpBQkRBSUxJQUlFUUNBQWpMdEUwaUV6ZjN6WkVzQ2dFSkVCREFJRklBQzdSTkloTTM5ODJSTEFvQkNSQVF3Q0N3QUxJQUFnQUpNZ0FVSC8vLy83QjBzTkFCb0NRQUpBQWtBQ1FDQUFJQU1RK2dKQkEzRU9Bd0FCQWdNTElBTXJBd0FRa0FFTUF3c2dBeXNEQUpvUWtRRU1BZ3NnQXlzREFCQ1FBWXdNQVFzZ0F5c0RBQkNSQVFzTElRUWdBeVFHSUFRTGR3RUJmd0pBQWtBZ0FBMEFRY1RGQXlnQ0FDSUFEUUJCQUNFQURBRUxJQUFROXdRZ0FHb2lBQ3dBQUVVRVFFSEV4UU5CQURZQ0FFRUFJUUFNQVF0QnhNVURJQUFRN1FRZ0FHb2lBVFlDQUNBQkxBQUFCRUJCeE1VRElBRkJBV28yQWdBZ0FVRUFPZ0FBQlVIRXhRTkJBRFlDQUFzTElBQUxLZ0VCZmlBQUtBSk1HaUFBRU84RUlnRkMvLy8vL3dkVkJIOUJwTVVEUVQwMkFnQkJmd1VnQWFjTEN4NEFJQUFvQWt3YUlBQkNBRUVBRUlrRElBQWdBQ2dDQUVGZmNUWUNBQXZ3QVFJR2Z3SjhJd1loQXlNR1FSQnFKQVlnQTBFSWFpRUVJQUM4SWdWQi8vLy8vd2R4SWdKQjI1K2s3Z1JKQkg4Z0FMc2lDRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJSkVITWhCaUFCSUFnZ0NVUUFBQUJRK3lINVA2S2hJQWxFWTJJYVliUVFVVDZpb1RrREFDQUdCUUovSUFKQi8vLy8rd2RMQkVBZ0FTQUFJQUNUdXprREFFRUFEQUVMSUFRZ0FpQUNRUmQyUWVwK2FpSUNRUmQwYTc2N09RTUFJQVFnQXlBQ1FRRkJBQkQ3QWlFQ0lBTXJBd0FoQ0NBRlFRQklCSDhnQVNBSW1qa0RBRUVBSUFKckJTQUJJQWc1QXdBZ0Fnc0xDeUVISUFNa0JpQUhDNE1SQWhaL0Ezd2pCaUVOSXdaQnNBUnFKQVlnRFVIQUFtb2hEeUFFUVFKMFFmRHBBR29vQWdBaERpQUNRWDFxUVJnUU9TSUZRUUFnQlVFQVNoc2hFU0FPSUFOQmYyb2lCMnBCQUU0RVFDQURJQTVxSVFrZ0VTQUhheUVGQTBBZ0JrRURkQ0FQYWlBRlFRQklCSHhFQUFBQUFBQUFBQUFGSUFWQkFuUkJnT29BYWlnQ0FMY0xPUU1BSUFWQkFXb2hCU0FHUVFGcUlnWWdDVWNOQUFzTElBMUI0QU5xSVF3Z0RVR2dBV29oQ2lBUlFXaHNJaFVnQWtGb2Ftb2hDU0FEUVFCS0lRaEJBQ0VGQTBBZ0NBUkFJQVVnQjJvaEMwUUFBQUFBQUFBQUFDRWJRUUFoQmdOQUlCc2dCa0VEZENBQWFpc0RBQ0FMSUFaclFRTjBJQTlxS3dNQW9xQWhHeUFHUVFGcUlnWWdBMGNOQUFzRlJBQUFBQUFBQUFBQUlSc0xJQVZCQTNRZ0RXb2dHemtEQUNBRlFRRnFJUVlnQlNBT1NBUkFJQVloQlF3QkN3c2dDVUVBU2lFU1FSZ2dDV3NoRTBFWElBbHJJUllnQ1VVaEZ5QURRUUJLSVJnZ0RpRUZBa0FDUUFOQUFrQWdCVUVEZENBTmFpc0RBQ0ViSUFWQkFFb2lDd1JBSUFVaEJrRUFJUWNEUUNBSFFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjN2NpRzBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQmtGL2FpSUlRUU4wSUExcUt3TUFJQnVnSVJzZ0IwRUJhaUVISUFaQkFVb0VRQ0FJSVFZTUFRc0xDeUFiSUFrUW53RWlHeUFiUkFBQUFBQUFBTUEvb3B4RUFBQUFBQUFBSUVDaW9TSWJFSE1oQmlBYklBYTNvU0ViQWtBQ1FBSkFJQklFZnlBRlFYOXFRUUowSUF4cUlnZ29BZ0FpRUNBVGRTRUhJQWdnRUNBSElCTjBheUlJTmdJQUlBZ2dGblVoQ0NBR0lBZHFJUVlNQVFVZ0Z3Ui9JQVZCZjJwQkFuUWdER29vQWdCQkYzVWhDQXdDQlNBYlJBQUFBQUFBQU9BL1pnUi9RUUloQ0F3RUJVRUFDd3NMSVFnTUFnc2dDRUVBU2cwQURBRUxJQVloR2lBTEJIOUJBQ0VHUVFBaEN3Ti9JQXRCQW5RZ0RHb2lHU2dDQUNFUUFrQUNRQ0FHQkg5Qi8vLy9CeUVVREFFRklCQUVmMEVCSVFaQmdJQ0FDQ0VVREFJRlFRQUxDeUVHREFFTElCa2dGQ0FRYXpZQ0FBc2dDMEVCYWlJTElBVkhEUUFnQmdzRlFRQUxJUXNnRWdSQUFrQUNRQUpBSUFsQkFXc09BZ0FCQWdzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BM0UyQWdBTUFRc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQVhFMkFnQUxDeUFhUVFGcUlRWWdDRUVDUmdSQVJBQUFBQUFBQVBBL0lCdWhJUnNnQ3dSQUlCdEVBQUFBQUFBQThEOGdDUkNmQWFFaEd3dEJBaUVJQ3dzZ0cwUUFBQUFBQUFBQUFHSU5BaUFGSUE1S0JFQkJBQ0VMSUFVaEJ3TkFJQXNnQjBGL2FpSUhRUUowSUF4cUtBSUFjaUVMSUFjZ0Rrb05BQXNnQ3cwQkMwRUJJUVlEUUNBR1FRRnFJUWNnRGlBR2EwRUNkQ0FNYWlnQ0FFVUVRQ0FISVFZTUFRc0xJQVVnQm1vaEJ3TkFJQU1nQldvaUNFRURkQ0FQYWlBRlFRRnFJZ1lnRVdwQkFuUkJnT29BYWlnQ0FMYzVBd0FnR0FSQVJBQUFBQUFBQUFBQUlSdEJBQ0VGQTBBZ0d5QUZRUU4wSUFCcUt3TUFJQWdnQld0QkEzUWdEMm9yQXdDaW9DRWJJQVZCQVdvaUJTQURSdzBBQ3dWRUFBQUFBQUFBQUFBaEd3c2dCa0VEZENBTmFpQWJPUU1BSUFZZ0IwZ0VRQ0FHSVFVTUFRc0xJQWNoQlF3QkN3c2dDU0VBQTM4Z0FFRm9haUVBSUFWQmYyb2lCVUVDZENBTWFpZ0NBRVVOQUNBQUlRSWdCUXNoQUF3QkN5QWJRUUFnQ1dzUW53RWlHMFFBQUFBQUFBQndRV1lFZnlBRlFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjeUlEdDBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQWlBVmFpRUNJQVZCQVdvRklBa2hBaUFiRUhNaEF5QUZDeUlBUVFKMElBeHFJQU0yQWdBTFJBQUFBQUFBQVBBL0lBSVFud0VoR3lBQVFYOUtJZ2NFUUNBQUlRSURRQ0FDUVFOMElBMXFJQnNnQWtFQ2RDQU1haWdDQUxlaU9RTUFJQnRFQUFBQUFBQUFjRDZpSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xJQWNFUUNBQUlRSURRQ0FBSUFKcklRbEJBQ0VEUkFBQUFBQUFBQUFBSVJzRFFDQWJJQU5CQTNSQmtPd0FhaXNEQUNBQ0lBTnFRUU4wSUExcUt3TUFvcUFoR3lBRFFRRnFJUVVnQXlBT1RpQURJQWxQY2tVRVFDQUZJUU1NQVFzTElBbEJBM1FnQ21vZ0d6a0RBQ0FDUVg5cUlRTWdBa0VBU2dSQUlBTWhBZ3dCQ3dzTEN3SkFBa0FDUUFKQUlBUU9CQUFCQVFJREN5QUhCRUJFQUFBQUFBQUFBQUFoR3dOQUlCc2dBRUVEZENBS2Fpc0RBS0FoR3lBQVFYOXFJUUlnQUVFQVNnUkFJQUloQUF3QkN3c0ZSQUFBQUFBQUFBQUFJUnNMSUFFZ0c1b2dHeUFJR3prREFBd0NDeUFIQkVCRUFBQUFBQUFBQUFBaEd5QUFJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTEJVUUFBQUFBQUFBQUFDRWJDeUFCSUJzZ0c1b2dDRVVpQkJzNUF3QWdDaXNEQUNBYm9TRWJJQUJCQVU0RVFFRUJJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtFQmFpRURJQUFnQWtjRVFDQURJUUlNQVFzTEN5QUJJQnNnRzVvZ0JCczVBd2dNQVFzZ0FFRUFTZ1JBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnUXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FFSUJ3NUF3QWdBa0VCU2dSQUlBTWhBaUFjSVJzTUFRc0xJQUJCQVVvaUJBUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdVckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUZJQnc1QXdBZ0FrRUNTZ1JBSUFNaEFpQWNJUnNNQVFzTElBUUVRRVFBQUFBQUFBQUFBQ0ViQTBBZ0d5QUFRUU4wSUFwcUt3TUFvQ0ViSUFCQmYyb2hBaUFBUVFKS0JFQWdBaUVBREFFTEN3VkVBQUFBQUFBQUFBQWhHd3NGUkFBQUFBQUFBQUFBSVJzTEJVUUFBQUFBQUFBQUFDRWJDeUFLS3dNQUlSd2dDQVJBSUFFZ0hKbzVBd0FnQVNBS0t3TUltamtEQ0NBQklCdWFPUU1RQlNBQklCdzVBd0FnQVNBS0t3TUlPUU1JSUFFZ0d6a0RFQXNMSUEwa0JpQUdRUWR4QzRBSkF3aC9BWDRFZkNNR0lRUWpCa0V3YWlRR0lBUkJFR29oQlNBQXZTSUtRaitJcHlFR0FuOENRQ0FLUWlDSXB5SUNRZi8vLy84SGNTSURRZnZVdllBRVNRUi9JQUpCLy84L2NVSDd3eVJHRFFFZ0JrRUFSeUVDSUFOQi9iS0xnQVJKQkg4Z0FnUi9JQUVnQUVRQUFFQlUreUg1UDZBaUFFUXhZMklhWWJUUVBhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwRDJnT1FNSVFYOEZJQUVnQUVRQUFFQlUreUg1djZBaUFFUXhZMklhWWJUUXZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwTDJnT1FNSVFRRUxCU0FDQkg4Z0FTQUFSQUFBUUZUN0lRbEFvQ0lBUkRGallocGh0T0E5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ1BhQTVBd2hCZmdVZ0FTQUFSQUFBUUZUN0lRbkFvQ0lBUkRGallocGh0T0M5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ3ZhQTVBd2hCQWdzTEJRSi9JQU5Cdkl6eGdBUkpCRUFnQTBHOSs5ZUFCRWtFUUNBRFFmeXl5NEFFUmcwRUlBWUVRQ0FCSUFCRUFBQXdmM3paRWtDZ0lnQkV5cFNUcDVFTzZUMmdJZ3M1QXdBZ0FTQUFJQXVoUk1xVWs2ZVJEdWs5b0RrRENFRjlEQU1GSUFFZ0FFUUFBREIvZk5rU3dLQWlBRVRLbEpPbmtRN3B2YUFpQ3prREFDQUJJQUFnQzZGRXlwU1RwNUVPNmIyZ09RTUlRUU1NQXdzQUJTQURRZnZENUlBRVJnMEVJQVlFUUNBQklBQkVBQUJBVlBzaEdVQ2dJZ0JFTVdOaUdtRzA4RDJnSWdzNUF3QWdBU0FBSUF1aFJERmpZaHBodFBBOW9Ea0RDRUY4REFNRklBRWdBRVFBQUVCVSt5RVp3S0FpQUVReFkySWFZYlR3dmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDhMMmdPUU1JUVFRTUF3c0FDd0FMSUFOQis4UGtpUVJKRFFJZ0EwSC8vNy8vQjBzRVFDQUJJQUFnQUtFaUFEa0RDQ0FCSUFBNUF3QkJBQXdCQ3lBS1F2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQXNNRUFoTDhoQUVFQUlRSURRQ0FDUVFOMElBVnFJQUFRYzdjaUN6a0RBQ0FBSUF1aFJBQUFBQUFBQUhCQm9pRUFJQUpCQVdvaUFrRUNSdzBBQ3lBRklBQTVBeEFnQUVRQUFBQUFBQUFBQUdFRVFFRUJJUUlEUUNBQ1FYOXFJUWNnQWtFRGRDQUZhaXNEQUVRQUFBQUFBQUFBQUdFRVFDQUhJUUlNQVFzTEJVRUNJUUlMSUFVZ0JDQURRUlIyUWVwM2FpQUNRUUZxUVFFUSt3SWhBaUFFS3dNQUlRQWdCZ1IvSUFFZ0FKbzVBd0FnQVNBRUt3TUltamtEQ0VFQUlBSnJCU0FCSUFBNUF3QWdBU0FFS3dNSU9RTUlJQUlMQ3dzTUFRc2dBRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJTUVITWhDQ0FCSUFBZ0RFUUFBRUJVK3lINVA2S2hJZ3NnREVReFkySWFZYlRRUGFJaUFLRWlEVGtEQUNBRFFSUjJJZ2NnRGIxQ05JaW5RZjhQY1d0QkVFb0VRQ0FNUkhOd0F5NktHYU03b2lBTElBc2dERVFBQUdBYVliVFFQYUlpQUtFaUM2RWdBS0doSVFBZ0FTQUxJQUNoSWcwNUF3QWdERVRCU1NBbG1vTjdPYUlnQ3lBTElBeEVBQUFBTG9vWm96dWlJZzZoSWd5aElBNmhvU0VPSUFjZ0RiMUNOSWluUWY4UGNXdEJNVW9FUUNBQklBd2dEcUVpRFRrREFDQU9JUUFnRENFTEN3c2dBU0FMSUEyaElBQ2hPUU1JSUFnTElRa2dCQ1FHSUFrTEZnQWdBQ0FCSUFKQ2dJQ0FnSUNBZ0lDQWZ4Q0VBd3ZsQ2dFU2Z5QUJLQUlBSVFVQ2Z3SkFJQU5GRFFBZ0F5Z0NBQ0lFUlEwQUlBQUVmeUFEUVFBMkFnQWdCQ0VPSUFBaER5QUNJUkFnQlNFSVFUQUZJQVFoQ1NBRklRY2dBaUVMUVJvTERBRUxJQUJCQUVjaEEwSG9pUUVvQWdBb0FnQUVRQ0FEQkVBZ0FDRVNJQUloRVNBRklReEJJUXdDQlNBQ0lSTWdCU0VVUVE4TUFnc0FDeUFEUlFSQUlBVVFZQ0VLUVQ4TUFRc2dBZ1JBQWtBZ0FDRUdJQUloQkNBRklRTURRQ0FETEFBQUlnVUVRQ0FEUVFGcUlRTWdCaUFGUWYrL0EzRTJBZ0FnQkVGL2FpSUVSUTBDSUFaQkJHb2hCZ3dCQ3dzZ0JrRUFOZ0lBSUFGQkFEWUNBQ0FDSUFScklRcEJQd3dDQ3dVZ0JTRURDeUFCSUFNMkFnQWdBaUVLUVQ4TElRTURRQUpBQWtBQ1FBSkFJQU5CRDBZRVFDQVRJUU1nRkNFRkEwQWdCU3dBQUNJRVFmOEJjVUYvYWtIL0FFa0VmeUFGUVFOeEJIOGdCQVVnQlNnQ0FDSUdRZjhCY1NFRUlBWWdCa0gvL2Z0M2FuSkJnSUdDaEhoeEJIOGdCQVVEUUNBRFFYeHFJUU1nQlVFRWFpSUZLQUlBSWdRZ0JFSC8vZnQzYW5KQmdJR0NoSGh4UlEwQUN5QUVRZjhCY1FzTEJTQUVDMEgvQVhFaUJFRi9ha0gvQUVrRVFDQURRWDlxSVFNZ0JVRUJhaUVGREFFTEN5QUVRYjUrYWlJRVFUSkxCRUFnQlNFRUlBQWhCZ3dEQlNBRVFRSjBRZEEwYWlnQ0FDRUpJQVZCQVdvaEJ5QURJUXRCR2lFRERBWUxBQVVnQTBFYVJnUkFJQWN0QUFCQkEzWWlBMEZ3YWlBRElBbEJHblZxY2tFSFN3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0RCU0FIUVFGcUlRTWdDVUdBZ0lBUWNRUi9JQU1zQUFCQndBRnhRWUFCUndSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3RkN5QUhRUUpxSVFNZ0NVR0FnQ0J4Qkg4Z0F5d0FBRUhBQVhGQmdBRkhCRUFnQUNFRElBa2hCaUFISVFRZ0N5RUZEQVlMSUFkQkEyb0ZJQU1MQlNBREN5RVVJQXRCZjJvaEUwRVBJUU1NQndzQUJTQURRU0ZHQkVBZ0VRUkFBa0FnRWlFRklCRWhBeUFNSVFRRFFBSkFBa0FDUUNBRUxRQUFJZ1pCZjJvaURVSC9BRThOQUNBRVFRTnhSU0FEUVFSTGNRUkFBbjhDUUFOQUlBUW9BZ0FpQmlBR1FmLzkrM2RxY2tHQWdZS0VlSEVOQVNBRklBWkIvd0Z4TmdJQUlBVWdCQzBBQVRZQ0JDQUZJQVF0QUFJMkFnZ2dCRUVFYWlFTklBVkJFR29oQmlBRklBUXRBQU0yQWd3Z0EwRjhhaUlEUVFSTEJFQWdCaUVGSUEwaEJBd0JDd3NnQmlFRklBMGlCQ3dBQUF3QkN5QUdRZjhCY1F0Qi93RnhJZ1pCZjJvaERRd0JDd3dCQ3lBTlFmOEFUdzBCQ3lBRVFRRnFJUVFnQlNBR05nSUFJQU5CZjJvaUEwVU5BaUFGUVFScUlRVU1BUXNMSUFaQnZuNXFJZ1pCTWtzRVFDQUZJUVlNQndzZ0JrRUNkRUhRTkdvb0FnQWhEaUFGSVE4Z0F5RVFJQVJCQVdvaENFRXdJUU1NQ1FzRklBd2hCQXNnQVNBRU5nSUFJQUloQ2tFL0lRTU1Cd1VnQTBFd1JnUkFJQWd0QUFBaUJFRURkaUlEUVhCcUlBTWdEa0VhZFdweVFRZExCRUFnRHlFRElBNGhCaUFJSVFRZ0VDRUZEQVVGQWtBZ0NFRUJhaUVGSUFSQmdIOXFJQTVCQm5SeUlnTkJBRWdFUUFKQUlBVXRBQUJCZ0g5cUlnUkJQMDBFUUNBSVFRSnFJUVVnQkNBRFFRWjBjaUlEUVFCT0JFQWdCU0VNREFJTElBVXRBQUJCZ0g5cUlnVkJQMDBFUUNBSVFRTnFJUXdnQlNBRFFRWjBjaUVEREFJTEMwR2t4UU5CR1RZQ0FDQUlRWDlxSVJVTUFnc0ZJQVVoREFzZ0R5QUROZ0lBSUE5QkJHb2hFaUFRUVg5cUlSRkJJU0VEREFvTEN3VWdBMEUvUmdSQUlBb1BDd3NMQ3dzTUF3c2dCRUYvYWlFRUlBWU5BU0FESVFZZ0JTRURDeUFFTEFBQUJIOGdCZ1VnQmdSQUlBWkJBRFlDQUNBQlFRQTJBZ0FMSUFJZ0Eyc2hDa0UvSVFNTUF3c2hBd3RCcE1VRFFSazJBZ0FnQXdSL0lBUUZRWDhoQ2tFL0lRTU1BZ3NoRlFzZ0FTQVZOZ0lBUVg4aENrRS9JUU1NQUFBTEFBdWtBUUVGZnlNR0lRVWpCa0dBQW1va0JpQUZJUU1nQWtFQ1RnUkFBa0FnQWtFQ2RDQUJhaUlISUFNMkFnQWdBQVJBQTBBZ0F5QUJLQUlBSUFCQmdBSWdBRUdBQWtrYklnUVFUQnBCQUNFREEwQWdBMEVDZENBQmFpSUdLQUlBSUFOQkFXb2lBMEVDZENBQmFpZ0NBQ0FFRUV3YUlBWWdCaWdDQUNBRWFqWUNBQ0FDSUFOSERRQUxJQUFnQkdzaUFFVU5BaUFIS0FJQUlRTU1BQUFMQUFzTEN5QUZKQVlMT1FFQ2Z5QUFCRUFnQUVFQmNVVUVRQU5BSUFGQkFXb2hBU0FBUVFGMklRSWdBRUVDY1VVRVFDQUNJUUFNQVFzTEN3VkJJQ0VCQ3lBQkN5a0JBWDhnQUNnQ0FFRi9haENBQXlJQkJIOGdBUVVnQUNnQ0JCQ0FBeUlBUVNCcVFRQWdBQnNMQzVzRUFRZC9Jd1loQmlNR1FkQUJhaVFHSUFaQndBRnFJZ1JDQVRjREFDQUJJQUpzSWdrRVFBSkFRUUFnQW1zaENDQUdJQUkyQWdRZ0JpQUNOZ0lBUVFJaEJ5QUNJZ1VoQVFOQUlBZEJBblFnQm1vZ0FpQUZhaUFCYWlJS05nSUFJQWRCQVdvaEJ5QUtJQWxKQkVBZ0FTRUZJQW9oQVF3QkN3c2dBQ0FKYWlBSWFpSUJJQUJMQkg4Z0FTRUhRUUVoQVVFQklRVURmeUFGUVFOeFFRTkdCSDhnQUNBQ0lBTWdBU0FHRUtJQ0lBUkJBaER5QVNBQlFRSnFCU0FCUVg5cUlnVkJBblFnQm1vb0FnQWdCeUFBYTBrRVFDQUFJQUlnQXlBQklBWVFvZ0lGSUFBZ0FpQURJQVFnQVVFQUlBWVE4UUVMSUFGQkFVWUVmeUFFUVFFUThBRkJBQVVnQkNBRkVQQUJRUUVMQ3lFQklBUWdCQ2dDQUVFQmNpSUZOZ0lBSUFBZ0Ftb2lBQ0FIU1EwQUlBRUxCVUVCSVFWQkFRc2hCeUFBSUFJZ0F5QUVJQWRCQUNBR0VQRUJJQUFoQVNBSElRQURRQUovQWtBZ0FFRUJSaUFGUVFGR2NRUi9JQVFvQWdSRkRRUU1BUVVnQUVFQ1NBMEJJQVJCQWhEd0FTQUVJQVFvQWdCQkIzTTJBZ0FnQkVFQkVQSUJJQUVnQUVGK2FpSUZRUUowSUFacUtBSUFheUFJYWlBQ0lBTWdCQ0FBUVg5cVFRRWdCaER4QVNBRVFRRVE4QUVnQkNBRUtBSUFRUUZ5SWdjMkFnQWdBU0FJYWlJQklBSWdBeUFFSUFWQkFTQUdFUEVCSUFVaEFDQUhDd3dCQ3lBRUlBUVFnUU1pQlJEeUFTQUJJQWhxSVFFZ0FDQUZhaUVBSUFRb0FnQUxJUVVNQUFBTEFBc0xJQVlrQmdzWEFDQUFFSW9CUVFCSElBQkJJSEpCbjM5cVFRWkpjZ3Q5QWdGL0FYNGpCaUVFSXdaQmtBRnFKQVlnQkVFQU5nSUFJQVFnQURZQ0JDQUVJQUEyQWl3Z0JFRi9JQUJCLy8vLy93ZHFJQUJCQUVnYk5nSUlJQVJCZnpZQ1RDQUVRZ0FRZ2dFZ0JDQUNRUUVnQXhDVEF5RUZJQUVFUUNBQklBQWdCQ2dDQkNBRUtRTjRwMm9nQkNnQ0NHdHFOZ0lBQ3lBRUpBWWdCUXZmQlFFSmZ5TUdJUVVqQmtHUUFtb2tCaUFCTEFBQVJRUkFBa0JCeHY0Q0VBMGlBUVJBSUFFc0FBQU5BUXNnQUVFTWJFR2c2UUJxRUEwaUFRUkFJQUVzQUFBTkFRdEJ6ZjRDRUEwaUFRUkFJQUVzQUFBTkFRdEIwdjRDSVFFTEN5QUZRWUFDYWlFR0EzOENmeUFDSUFFZ0Ftb3NBQUFpQTBFQUlBTkJMMGNiUlEwQUdpQUNRUUZxSWdKQkQwa05BVUVQQ3dzaEF3SkFBa0FDUUNBQkxBQUFJZ0pCTGtZRVFFSFMvZ0loQVFVZ0FTQURhaXdBQUFSQVFkTCtBaUVCQlNBQ1FjTUFSdzBDQ3dzZ0FTd0FBVVVOQVFzZ0FVSFMvZ0lRc3dGRkRRQWdBVUhhL2dJUXN3RkZEUUJCdU1VREtBSUFJZ0lFUUFOQUlBRWdBa0VJYWhDekFVVU5BeUFDS0FJWUlnSU5BQXNMUWJ6RkF4QWFRYmpGQXlnQ0FDSUNCRUFDUUFOQUlBRWdBa0VJYWhDekFRUkFJQUlvQWhnaUFrVU5BZ3dCQ3d0QnZNVURFQTRNQXdzTEFuOENRRUhzeEFNb0FnQU5BRUhnL2dJUURTSUNSUTBBSUFJc0FBQkZEUUJCL2dFZ0Eyc2hDU0FEUVFGcUlRb0RRQUpBSUFKQk9oQ3FBaUlITEFBQUlnUkJBRWRCSDNSQkgzVWdCeUFDYTJvaUNDQUpTUVIvSUFVZ0FpQUlFRXdhSUFVZ0NHb2lBa0V2T2dBQUlBSkJBV29nQVNBREVFd2FJQVVnQ0NBS2FtcEJBRG9BQUNBRklBWVFOU0lFRFFFZ0J5d0FBQVVnQkFzaEFpQUhJQUpCL3dGeFFRQkhhaUlDTEFBQURRRU1BZ3NMUVJ3UVJDSUNCSDhnQWlBRU5nSUFJQUlnQmlnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQ0FDQlNBRUlBWW9BZ0FRL0FRTUFRc01BUXRCSEJCRUlnSUVRQ0FDUWZDSEFTZ0NBRFlDQUNBQ1FmU0hBU2dDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FBc2dBZ3NoQVVHOHhRTVFEaUFCUWZDSEFTQUFJQUZ5R3lFQ0RBRUxJQUJGQkVBZ0FTd0FBVUV1UmdSQVFmQ0hBU0VDREFJTEMwRUFJUUlMSUFVa0JpQUNDeGNBSUFCQkFFY2dBRUhNeEFOSGNTQUFRWXlJQVVkeEN3NEFJQUFRaGdNRVFDQUFFRGdMQ3g4QkFuOGdBQkJnUVFGcUlnRVFSQ0lDQkg4Z0FpQUFJQUVRVEFWQkFBc0xuZ0VBSUFKQkFVWUVRQ0FCSUFBb0FnZ2dBQ2dDQkd1c2ZTRUJDd0pBQWtBZ0FDZ0NGQ0FBS0FJY1RRMEFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FCSUFJZ0FDZ0NLRUVEY1VHbUEyb1JGQUJDQUZNRWYwRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDQUVGdmNUWUNBRUVBQ3hvTEM1RUJBZ0YvQW40Q1FBSkFJQUM5SWdOQ05JZ2lCS2RCL3c5eElnSUVRQ0FDUWY4UFJnUkFEQU1GREFJTEFBc2dBU0FBUkFBQUFBQUFBQUFBWWdSL0lBQkVBQUFBQUFBQThFT2lJQUVRaWdNaEFDQUJLQUlBUVVCcUJVRUFDellDQUF3QkN5QUJJQVNuUWY4UGNVR0NlR28yQWdBZ0EwTC8vLy8vLy8vL2g0Qi9nMEtBZ0lDQWdJQ0E4RCtFdnlFQUN5QUFDeEVBSUFBRWZ5QUFJQUVRbmdFRlFRQUxDNzREQXdGL0FYNEJmQ0FCUVJSTkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkNXc09DZ0FCQWdNRUJRWUhDQWtLQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQUROZ0lBREFrTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU9zTndNQURBZ0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPdE53TUFEQWNMSUFJb0FnQkJCMnBCZUhFaUFTa0RBQ0VFSUFJZ0FVRUlhallDQUNBQUlBUTNBd0FNQmdzZ0FpZ0NBRUVEYWtGOGNTSUJLQUlBSVFNZ0FpQUJRUVJxTmdJQUlBQWdBMEgvL3dOeFFSQjBRUkIxckRjREFBd0ZDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmLy9BM0d0TndNQURBUUxJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFOQi93RnhRUmgwUVJoMXJEY0RBQXdEQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZjhCY2EwM0F3QU1BZ3NnQWlnQ0FFRUhha0Y0Y1NJQkt3TUFJUVVnQWlBQlFRaHFOZ0lBSUFBZ0JUa0RBQXdCQ3lBQUlBSkI2UVVSQXdBTEN3dEFBUUovSUFBb0FnQXNBQUFRaWdFRVFBTkFJQUFvQWdBaUFpd0FBQ0FCUVFwc1FWQnFhaUVCSUFBZ0FrRUJhallDQUNBQ0xBQUJFSW9CRFFBTEN5QUJDd2tBSUFBZ0FSQ2ZBUXNKQUNBQUlBRVFqZ1VMSWdBZ0FMMUMvLy8vLy8vLy8vLy9BSU1nQWIxQ2dJQ0FnSUNBZ0lDQWY0T0V2d3ZnQXdJRGZ3RitBbjRDUUFKQUFrQUNRQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVN0ckRnTUFBUUFCQ3lBQ1FTMUdJUVFnQVVFQVJ5QUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5SURRVkJxSWdKQkNVdHhCSDRnQUNnQ2FBUitJQUFnQUNnQ0JFRi9hallDQkF3RUJVS0FnSUNBZ0lDQWdJQi9Dd1VnQXlFQkRBSUxEQU1MSUFJaUFVRlFhaUVDQ3lBQ1FRbExEUUJCQUNFQ0EwQWdBVUZRYWlBQ1FRcHNhaUVDSUFKQnpKbXo1Z0JJSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBMEVLU1hFTkFBc2dBcXdoQlNBRFFRcEpCRUFEUUNBQnJFSlFmQ0FGUWdwK2ZDRUZJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUFrRUtTU0FGUXE2UGhkZkh3dXVqQVZOeERRQUxJQUpCQ2trRVFBTkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxRVkJxUVFwSkRRQUxDd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FDQUZmU0FGSUFRYkRBRUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUW9DQWdJQ0FnSUNBZ0g4TEM4a0hBUVYvQW53Q1FBSkFBa0FDUUFKQUlBRU9Bd0FCQWdNTFFldCtJUVJCR0NFRkRBTUxRYzUzSVFSQk5TRUZEQUlMUWM1M0lRUkJOU0VGREFFTFJBQUFBQUFBQUFBQURBRUxBMEFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVJDeUFRMEFDd0pBQWtBQ1FDQUJRU3RyRGdNQUFRQUJDMEVCSUFGQkxVWkJBWFJySVFZZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRd0JDMEVCSVFZTEFrQUNRQUpBQTM4Z0EwSCsvUUpxTEFBQUlBRkJJSEpHQkg4Z0EwRUhTUVJBSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFFTElBTkJBV29pQTBFSVNRMEJRUWdGSUFNTEN5SURRZi8vLy84SGNVRURhdzRHQVFBQUFBQUNBQXNnQWtFQVJ5SUhJQU5CQTB0eEJFQWdBMEVJUmcwQ0RBRUxJQU5GQkVBQ1FFRUFJUU1EZnlBRFFieitBbW9zQUFBZ0FVRWdja2NOQVNBRFFRSkpCRUFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVFzZ0EwRUJhaUlEUVFOSkRRQkJBd3NoQXdzTEFrQUNRQUpBSUFNT0JBRUNBZ0FDQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBFb1J3UkFJd0VnQUNnQ2FFVU5CUm9nQUNBQUtBSUVRWDlxTmdJRUl3RU1CUXRCQVNFQkEwQkJBQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVZCcVFRcEpJQUpCdjM5cVFScEpja1VnQWtIZkFFWWdBa0dmZjJwQkdrbHlHMFVFUUNBQlFRRnFJUUVNQVFzTEl3RWdBa0VwUmcwRUdpQUFLQUpvUlNJQ1JRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0IwVUVRRUdreFFOQkhEWUNBQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CUXNqQVNBQlJRMEVHZ05BSUFKRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lNQklBRkJmMm9pQVVVTkJSb01BQUFMQUFzZ0FDQUJRVEJHQkg4Z0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkF0QklISkIrQUJHQkVBZ0FDQUZJQVFnQmlBQ0VKQUZEQVVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFUQUZJQUVMSUFVZ0JDQUdJQUlRandVTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRCcE1VRFFSdzJBZ0FnQUVJQUVJSUJSQUFBQUFBQUFBQUFEQUlMSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUVFCSElBTkJBMHR4QkVBRFFDQUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dBMEYvYWlJRFFRTkxEUUFMQ3dzZ0JySWpBcmFVdXdzTHZnc0NCWDhGZmlBQlFTUkxCRUJCcE1VRFFSdzJBZ0JDQUNFREJRSkFBMEFnQUNnQ0JDSUVJQUFvQW1oSkJIOGdBQ0FFUVFGcU5nSUVJQVF0QUFBRklBQVFWQXNpQkJDeUFRMEFDd0pBQWtBZ0JFRXJhdzREQUFFQUFRc2dCRUV0UmtFZmRFRWZkU0VISUFBb0FnUWlCQ0FBS0FKb1NRUi9JQUFnQkVFQmFqWUNCQ0FFTFFBQUJTQUFFRlFMSVFRTUFBc2dBVVVoQlFKQUFrQUNRQ0FCUVJCeVFSQkdJQVJCTUVaeEJFQUNRQ0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlFUVNCeVFmZ0FSd1JBSUFVRVFDQUVJUUpCQ0NFQkRBUUZJQVFoQWd3Q0N3QUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCd2RRQWFpMEFBRUVQU2dSQUlBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1JRUkFJQUJDQUJDQ0FVSUFJUU1NQndzZ0FRUkFRZ0FoQXd3SEN5QUFJQUFvQWdSQmYybzJBZ1JDQUNFRERBWUZJQUVoQWtFUUlRRU1Bd3NBQ3dWQkNpQUJJQVViSWdFZ0JFSEIxQUJxTFFBQVN3Ui9JQVFGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBQkNBQkNDQVVHa3hRTkJIRFlDQUVJQUlRTU1CUXNoQWdzZ0FVRUtSdzBBSUFKQlVHb2lBa0VLU1FSQVFRQWhBUU5BSUFGQkNtd2dBbW9oQVNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJRVFWQnFJZ0pCQ2trZ0FVR1pzK2JNQVVseERRQUxJQUd0SVFrZ0FrRUtTUVJBSUFRaEFRTkFJQWxDQ240aUNpQUNyQ0lMUW4rRlZnUkFRUW9oQWd3RkN5QUtJQXQ4SVFrZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFVRlFhaUlDUVFwSklBbENtclBtekptejVzd1pWSEVOQUFzZ0FrRUpUUVJBUVFvaEFnd0VDd3NMREFJTElBRWdBVUYvYW5GRkJFQWdBVUVYYkVFRmRrRUhjVUdIL2dKcUxBQUFJUVlnQVNBQ1FjSFVBR29zQUFBaUNFSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdCQ0FHZENBQ2NpSUVRWUNBZ01BQVNTQUJJQUFvQWdRaUFpQUFLQUpvU1FSL0lBQWdBa0VCYWpZQ0JDQUNMUUFBQlNBQUVGUUxJZ1ZCd2RRQWFpd0FBQ0lJUWY4QmNTSUNTM0VOQUFzZ0JLMGhDU0FGSVFRZ0FpRUZCU0FDSVFRTElBZ2hBaUFCSUFWTlFuOGdCcTBpQ29naUN5QUpWSElFUUNBQklRSWdCQ0VCREFJTEEwQWdBU0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlGUWNIVUFHb3NBQUFpQkVIL0FYRk5JQUpCL3dGeHJTQUpJQXFHaENJSklBdFdjZ1JBSUFFaEFpQUZJUUVNQXdVZ0JDRUNEQUVMQUFBTEFBc2dBU0FDUWNIVUFHb3NBQUFpQmtIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0FTQUViQ0FDYWlJRVFjZmo4VGhKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJVSEIxQUJxTEFBQUlnWkIvd0Z4SWdKTGNRMEFDeUFFclNFSklBVWhCQ0FDSVFVRklBSWhCQXNnQmlFQ0lBR3RJUW9nQVNBRlN3Ui9RbjhnQ2hEMkFTRUxBMzhnQ1NBTFZnUkFJQUVoQWlBRUlRRU1Bd3NnQ1NBS2ZpSU1JQUpCL3dGeHJTSU5RbitGVmdSQUlBRWhBaUFFSVFFTUF3c2dEQ0FOZkNFSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCRUhCMUFCcUxBQUFJZ0pCL3dGeFN3MEFJQUVoQWlBRUN3VWdBU0VDSUFRTElRRUxJQUlnQVVIQjFBQnFMUUFBU3dSQUEwQWdBaUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEhCMUFCcUxRQUFTdzBBQzBHa3hRTkJ4QUEyQWdBZ0IwRUFJQU5DQVlOUUd5RUhJQU1oQ1FzTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQWtnQTFvRVFDQUhRUUJISUFOQ0FZTkNBRkp5UlFSQVFhVEZBMEhFQURZQ0FDQURRbjk4SVFNTUFnc2dDU0FEVmdSQVFhVEZBMEhFQURZQ0FBd0NDd3NnQ1NBSHJDSURoU0FEZlNFREN3c2dBd3RTQUNBQUJFQUNRQUpBQWtBQ1FBSkFBa0FnQVVGK2F3NEdBQUVDQXdVRUJRc2dBQ0FDUEFBQURBUUxJQUFnQWowQkFBd0RDeUFBSUFJK0FnQU1BZ3NnQUNBQ1BnSUFEQUVMSUFBZ0FqY0RBQXNMQzBjQkFuOGpCaUVESXdaQmtBRnFKQVlnQTBFQVFaQUJFRVVhSUFOQkl6WUNJQ0FESUFBMkFpd2dBMEYvTmdKTUlBTWdBRFlDVkNBRElBRWdBaENVQlNFRUlBTWtCaUFFQzV3Q0FRZC9JQUVvQWt4QmYwb0VmMEVCQlVFQUN4cEIvd0VoQlNBQUlRUUNRQUpBQTBBQ1FDQUJLQUlJSUFFb0FnUWlBaUlHYXlFRElBSkJDaUFERUtZQ0lnaEZJUWNnQkNBQ0lBTWdDRUVCSUFacmFpQUhHeUlDSUFVZ0FpQUZTUnNpQXhCTUdpQUJJQU1nQVNnQ0JHb2lCallDQkNBRElBUnFJUUlnQnlBRklBTnJJZ1ZCQUVkeFJRUkFJQUloQkF3REN5QUdJQUVvQWdoSkJIOGdBU0FHUVFGcU5nSUVJQVl0QUFBRklBRVE5UUVpQkVFQVNBMEJJQVFMSVFNZ0FrRUJhaUVFSUFJZ0F6b0FBQ0FGUVg5cUlnVkZJQU5CL3dGeFFRcEdja1VOQVF3Q0N3c2dBQ0FDUmdSL1FRQUZJQUVvQWdCQkVIRUVmeUFDSVFRTUFnVkJBQXNMSVFBTUFRc2dBQVJBSUFSQkFEb0FBQVZCQUNFQUN3c2dBQXZ3QVFFRGZ3SkFBa0FnQWlnQ0VDSUREUUFnQWhDWUF3Ui9RUUFGSUFJb0FoQWhBd3dCQ3lFRURBRUxJQU1nQWlnQ0ZDSUVheUFCU1FSQUlBSW9BaVFoQXlBQ0lBQWdBU0FEUVQ5eFFjb0JhaEVFQUNFRURBRUxJQUZGSUFJc0FFdEJBRWh5QkVCQkFDRURCUUpBSUFFaEF3TkFJQUFnQTBGL2FpSUZhaXdBQUVFS1J3UkFJQVVFUUNBRklRTU1BZ1ZCQUNFRERBTUxBQXNMSUFJb0FpUWhCQ0FDSUFBZ0F5QUVRVDl4UWNvQmFoRUVBQ0lFSUFOSkRRSWdBQ0FEYWlFQUlBRWdBMnNoQVNBQ0tBSVVJUVFMQ3lBRUlBQWdBUkJNR2lBQ0lBRWdBaWdDRkdvMkFoUWdBU0FEYWlFRUN5QUVDMkVCQVg4Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BZ0FpQVVFSWNRUi9JQUFnQVVFZ2NqWUNBRUYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0xDSUJOZ0ljSUFBZ0FUWUNGQ0FBSUFFZ0FDZ0NNR28yQWhCQkFBc0xqQUVCQTM4akJpRUJJd1pCRUdva0JpQUJRUW82QUFBQ1FBSkFJQUFvQWhBaUFnMEFJQUFRbUFORkJFQWdBQ2dDRUNFQ0RBRUxEQUVMSUFBb0FoUWlBeUFDU1FSQUlBQXNBRXRCQ2tjRVFDQUFJQU5CQVdvMkFoUWdBMEVLT2dBQURBSUxDeUFBSUFGQkFTQUFLQUlrUVQ5eFFjb0JhaEVFQUVFQlJnUi9JQUV0QUFBRlFYOExHZ3NnQVNRR0N4d0FJQUJCZ0dCTEJIOUJwTVVEUVFBZ0FHczJBZ0JCZndVZ0FBc0xFUUJCQkVFQlFlaUpBU2dDQUNnQ0FCc0w3QUVDQ1g4QmZTQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFRd0FBQUFBNEFnQWdBaWdDQUNBRVFRSjBhaUVGSUFFb0FnQWdDMEVDZEdvaEJrRUFJUWREQUFBQUFDRU1BMEFnQnlBSVNBUkFJQUFnRENBR0tnSUFJQVVxQWdDVWtpSU1PQUlBSUFsQkFuUWdCV29oQlNBR1FRUnFJUVlnQjBFQmFpRUhEQUVMQ3lBRVFRRnFJUVFnQUVFRWFpRUFEQUVMQ3lBRFFRRnFJUU1NQVFWQkFBc0xCVUYvQ3dWQmZ3c0ZRWDhMQzBnQkFYOGdBQ2dDQkNJQlJRUkFEd3NnQVNnQ0pDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUlRQkVBZ0FFSElBVFlDRkNBQVFRQTJBcmdDQlNBQVFlUUFOZ0lVQ3dzeUFRRi9JQUFvQWdRaUFRUkFJQUVvQWlnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFRUFOZ0lFSUFCQkFEWUNGQXNnQUNBQUtBSUFJZ0ZCTXpZQ0ZDQUFJQUVvQWdCQi93RnhRYXdEYWhFQkFBc3lBUUYvSUFBb0FnZ2dBQ2dDQkJDTEFTSUJCRUFnQVNBQUVQRUVRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVF1Q0JBRUpmeUFBS0FMa0F5SUZJQUFvQWxoQkFVWWlBallDSENBQUtBSUVLQUlJSVFFZ0JTQUFRUUZCL2dWQmdBSWdBaHNnQUNnQ2VDQUJRUTl4UVlvQ2FoRUpBQ0lFTmdJWUlBVW9BaFFoQVNBQUtBSjRRUUJNQkVBUEN5QUNSUVJBQTBBZ0FTQUZRU0JxSUFOQkFuUnFLQUlBSWdJUU9TRUhJQU5CQW5RZ0JHb29BZ0FoQmtFQUlRRWdBa0grQVdvZ0FrRi9haUlJUVFGMElna1FPU0VFUVFBaEFnTkFJQUlnQkVvRVFBTkFJQUlnQ0NBQlFRRnFJZ0ZCQVhSQkFYSkIvd0ZzYWlBSkVEa2lCRW9OQUFzTElBSWdCbW9nQVNBSGJEb0FBQ0FDUVFGcUlnSkJnQUpIRFFBTElBTkJBV29pQXlBQUtBSjRTQVJBSUFjaEFTQUZLQUlZSVFRTUFRc0xEd3RCQUNFQ0EwQWdBU0FGUVNCcUlBSkJBblJxS0FJQUlnTVFPU0VISUFKQkFuUWdCR29pQVNBQktBSUFRZjhCYWpZQ0FDQUZLQUlZSUFKQkFuUnFLQUlBSVFaQkFDRUJJQU5CL2dGcUlBTkJmMm9pQ0VFQmRDSUpFRGtoQkVFQUlRTURRQ0FESUFSS0JFQURRQ0FESUFnZ0FVRUJhaUlCUVFGMFFRRnlRZjhCYkdvZ0NSQTVJZ1JLRFFBTEN5QURJQVpxSUFFZ0IydzZBQUFnQTBFQmFpSURRWUFDUncwQUMwRUJJUUVEUUNBR0lBRnJJQVlzQUFBNkFBQWdCaUFCUWY4QmFtb2dCaXdBL3dFNkFBQWdBVUVCYWlJQlFZQUNSdzBBQ3lBQ1FRRnFJZ0lnQUNnQ2VFZ0VRQ0FISVFFZ0JTZ0NHQ0VFREFFTEN3dmpId0VkZnlNR0lSY2pCa0dBQzJva0JpQVhRWUFEYWlFRUlCZEJnQUZxSVJrZ0FDZ0M1QU1vQWhnaEdpQUJRUUoyUVFWMElnVkJCSElpRkNBRlFSeHlJZ3hxUVFGMUlRNGdBa0VEZGtFRmRDSUZRUUp5SWhVZ0JVRWVjaUlQYWtFQmRTRVFJQU5CQW5aQkJYUWlCVUVFY2lJV0lBVkJISElpRVdwQkFYVWhFaUFBS0FLRUFTSUxRUUJLQkg4Z0FDZ0NpQUVpQlNnQ0FDRUtJQVVvQWdRaENTQUZLQUlJSVJoQi8vLy8vd2NoQndOQUlCUWdDQ0FLYWkwQUFDSUZTZ1IvSUFVZ0RHdEJBWFFpQmlBR2JDRU5JQVVnRkd0QkFYUWlCU0FGYkFVQ2Z5QU1JQVZJQkVBZ0JTQVVhMEVCZENJR0lBWnNJUTBnQlNBTWEwRUJkQ0lGSUFWc0RBRUxJQTRnQlVnRVFDQUZJQlJyUVFGMElnVWdCV3doRFFVZ0JTQU1hMEVCZENJRklBVnNJUTBMUVFBTEN5RUZJQlVnQ0NBSmFpMEFBQ0lHU2dSL0lBVWdCaUFWYTBFRGJDSUZJQVZzYWlFRklBWWdEMnRCQTJ3aUJpQUdiQVVDZnlBUElBWklCRUFnQlNBR0lBOXJRUU5zSWdVZ0JXeHFJUVVnQmlBVmEwRURiQ0lHSUFac0RBRUxJQkFnQmtnRWZ5QUdJQlZyUVFOc0lnWWdCbXdGSUFZZ0QydEJBMndpQmlBR2JBc0xDeUVUSUJZZ0NDQVlhaTBBQUNJR1NnUi9JQVVnQmlBV2F5SUZJQVZzYWlFRklBWWdFV3NpQmlBR2JBVUNmeUFSSUFaSUJFQWdCU0FHSUJGcklnVWdCV3hxSVFVZ0JpQVdheUlHSUFac0RBRUxJQklnQmtnRWZ5QUdJQlpySWdZZ0Jtd0ZJQVlnRVdzaUJpQUdiQXNMQ3lFR0lBaEJBblFnQkdvZ0JUWUNBQ0FOSUJOcUlBWnFJZ1VnQnlBRklBZElHeUVISUFzZ0NFRUJhaUlJUncwQUMwRUFJUVZCQUNFSUEzOGdDRUVDZENBRWFpZ0NBQ0FIVEFSQUlBVWdHV29nQ0RvQUFDQUZRUUZxSVFVTElBc2dDRUVCYWlJSVJ3MEFJQVVMQlVFQUN5RVRJQmNoQ0NBRVFmLy8vLzhITmdJQUlBUkIvLy8vL3djMkFnUWdCRUgvLy8vL0J6WUNDQ0FFUWYvLy8vOEhOZ0lNSUFSQi8vLy8vd2MyQWhBZ0JFSC8vLy8vQnpZQ0ZDQUVRZi8vLy84SE5nSVlJQVJCLy8vLy93YzJBaHdnQkVILy8vLy9CellDSUNBRVFmLy8vLzhITmdJa0lBUkIvLy8vL3djMkFpZ2dCRUgvLy8vL0J6WUNMQ0FFUWYvLy8vOEhOZ0l3SUFSQi8vLy8vd2MyQWpRZ0JFSC8vLy8vQnpZQ09DQUVRZi8vLy84SE5nSThJQVJCUUd0Qi8vLy8vd2MyQWdBZ0JFSC8vLy8vQnpZQ1JDQUVRZi8vLy84SE5nSklJQVJCLy8vLy93YzJBa3dnQkVILy8vLy9CellDVUNBRVFmLy8vLzhITmdKVUlBUkIvLy8vL3djMkFsZ2dCRUgvLy8vL0J6WUNYQ0FFUWYvLy8vOEhOZ0pnSUFSQi8vLy8vd2MyQW1RZ0JFSC8vLy8vQnpZQ2FDQUVRZi8vLy84SE5nSnNJQVJCLy8vLy93YzJBbkFnQkVILy8vLy9CellDZENBRVFmLy8vLzhITmdKNElBUkIvLy8vL3djMkFud2dCRUgvLy8vL0J6WUNnQUVnQkVILy8vLy9CellDaEFFZ0JFSC8vLy8vQnpZQ2lBRWdCRUgvLy8vL0J6WUNqQUVnQkVILy8vLy9CellDa0FFZ0JFSC8vLy8vQnpZQ2xBRWdCRUgvLy8vL0J6WUNtQUVnQkVILy8vLy9CellDbkFFZ0JFSC8vLy8vQnpZQ29BRWdCRUgvLy8vL0J6WUNwQUVnQkVILy8vLy9CellDcUFFZ0JFSC8vLy8vQnpZQ3JBRWdCRUgvLy8vL0J6WUNzQUVnQkVILy8vLy9CellDdEFFZ0JFSC8vLy8vQnpZQ3VBRWdCRUgvLy8vL0J6WUN2QUVnQkVILy8vLy9CellDd0FFZ0JFSC8vLy8vQnpZQ3hBRWdCRUgvLy8vL0J6WUN5QUVnQkVILy8vLy9CellDekFFZ0JFSC8vLy8vQnpZQzBBRWdCRUgvLy8vL0J6WUMxQUVnQkVILy8vLy9CellDMkFFZ0JFSC8vLy8vQnpZQzNBRWdCRUgvLy8vL0J6WUM0QUVnQkVILy8vLy9CellDNUFFZ0JFSC8vLy8vQnpZQzZBRWdCRUgvLy8vL0J6WUM3QUVnQkVILy8vLy9CellDOEFFZ0JFSC8vLy8vQnpZQzlBRWdCRUgvLy8vL0J6WUMrQUVnQkVILy8vLy9CellDL0FFZ0JFSC8vLy8vQnpZQ2dBSWdCRUgvLy8vL0J6WUNoQUlnQkVILy8vLy9CellDaUFJZ0JFSC8vLy8vQnpZQ2pBSWdCRUgvLy8vL0J6WUNrQUlnQkVILy8vLy9CellDbEFJZ0JFSC8vLy8vQnpZQ21BSWdCRUgvLy8vL0J6WUNuQUlnQkVILy8vLy9CellDb0FJZ0JFSC8vLy8vQnpZQ3BBSWdCRUgvLy8vL0J6WUNxQUlnQkVILy8vLy9CellDckFJZ0JFSC8vLy8vQnpZQ3NBSWdCRUgvLy8vL0J6WUN0QUlnQkVILy8vLy9CellDdUFJZ0JFSC8vLy8vQnpZQ3ZBSWdCRUgvLy8vL0J6WUN3QUlnQkVILy8vLy9CellDeEFJZ0JFSC8vLy8vQnpZQ3lBSWdCRUgvLy8vL0J6WUN6QUlnQkVILy8vLy9CellDMEFJZ0JFSC8vLy8vQnpZQzFBSWdCRUgvLy8vL0J6WUMyQUlnQkVILy8vLy9CellDM0FJZ0JFSC8vLy8vQnpZQzRBSWdCRUgvLy8vL0J6WUM1QUlnQkVILy8vLy9CellDNkFJZ0JFSC8vLy8vQnpZQzdBSWdCRUgvLy8vL0J6WUM4QUlnQkVILy8vLy9CellDOUFJZ0JFSC8vLy8vQnpZQytBSWdCRUgvLy8vL0J6WUMvQUlnQkVILy8vLy9CellDZ0FNZ0JFSC8vLy8vQnpZQ2hBTWdCRUgvLy8vL0J6WUNpQU1nQkVILy8vLy9CellDakFNZ0JFSC8vLy8vQnpZQ2tBTWdCRUgvLy8vL0J6WUNsQU1nQkVILy8vLy9CellDbUFNZ0JFSC8vLy8vQnpZQ25BTWdCRUgvLy8vL0J6WUNvQU1nQkVILy8vLy9CellDcEFNZ0JFSC8vLy8vQnpZQ3FBTWdCRUgvLy8vL0J6WUNyQU1nQkVILy8vLy9CellDc0FNZ0JFSC8vLy8vQnpZQ3RBTWdCRUgvLy8vL0J6WUN1QU1nQkVILy8vLy9CellDdkFNZ0JFSC8vLy8vQnpZQ3dBTWdCRUgvLy8vL0J6WUN4QU1nQkVILy8vLy9CellDeUFNZ0JFSC8vLy8vQnpZQ3pBTWdCRUgvLy8vL0J6WUMwQU1nQkVILy8vLy9CellDMUFNZ0JFSC8vLy8vQnpZQzJBTWdCRUgvLy8vL0J6WUMzQU1nQkVILy8vLy9CellDNEFNZ0JFSC8vLy8vQnpZQzVBTWdCRUgvLy8vL0J6WUM2QU1nQkVILy8vLy9CellDN0FNZ0JFSC8vLy8vQnpZQzhBTWdCRUgvLy8vL0J6WUM5QU1nQkVILy8vLy9CellDK0FNZ0JFSC8vLy8vQnpZQy9BTWdFMEVBU2dSQVFRQWhEd05BSUJRZ0R5QVphaXdBQUNJTFFmOEJjU0lISUFBb0FvZ0JJZ1lvQWdCcUxRQUFheUlOUVFGMElRd2dGU0FISUFZb0FnUnFMUUFBYXlJRlFRTnNJUW9nQlVISUFHd2lCVUdRQVdvaEdDQVdJQWNnQmlnQ0NHb3RBQUJySWdkQkJIUWlCa0ZBYXlFT0lBWkJ3QUZxSVJBZ0JrSEFBbW9oRWlBRlFiQURhaUViSUFWQjBBVnFJUndnQlVId0Iyb2hIU0FGUVpBS2FpRWVJQVZCc0F4cUlSOGdCVUhRRG1vaElFRURJUkVnRFVFR2RFR0FBbW9oRFNBTUlBeHNJQW9nQ214cUlBY2dCMnhxSVF3Z0NDRUhJQVFoQlFOQUlBd2dCU2dDQUVnRVFDQUZJQXcyQWdBZ0J5QUxPZ0FBQ3lBTUlBNXFJZ29nQlNJR0tBSUVTQVJBSUFZZ0NqWUNCQ0FISUFzNkFBRUxJQW9nRUdvaUNpQUdLQUlJU0FSQUlBWWdDallDQ0NBSElBczZBQUlMSUFvZ0Vtb2lDaUFHS0FJTVNBUkFJQVlnQ2pZQ0RDQUhJQXM2QUFNTElBd2dHR29pQ2lBRktBSVFTQVJBSUFVZ0NqWUNFQ0FISUFzNkFBUUxJQW9nRG1vaUNTQUdLQUlVU0FSQUlBVWdDVFlDRkNBSElBczZBQVVMSUFrZ0VHb2lDU0FGS0FJWVNBUkFJQVVnQ1RZQ0dDQUhJQXM2QUFZTElBa2dFbW9pQ1NBRktBSWNTQVJBSUFVZ0NUWUNIQ0FISUFzNkFBY0xJQW9nRzJvaUNpQUdLQUlnU0FSQUlBWWdDallDSUNBSElBczZBQWdMSUFvZ0Rtb2lDU0FGS0FJa1NBUkFJQVlnQ1RZQ0pDQUhJQXM2QUFrTElBa2dFR29pQ1NBR0tBSW9TQVJBSUFZZ0NUWUNLQ0FISUFzNkFBb0xJQWtnRW1vaUNTQUdLQUlzU0FSQUlBWWdDVFlDTENBSElBczZBQXNMSUFvZ0hHb2lDaUFGS0FJd1NBUkFJQVVnQ2pZQ01DQUhJQXM2QUF3TElBb2dEbW9pQlNBR0tBSTBTQVJBSUFZZ0JUWUNOQ0FISUFzNkFBMExJQVVnRUdvaUJTQUdLQUk0U0FSQUlBWWdCVFlDT0NBSElBczZBQTRMSUFVZ0Vtb2lDU0FHSWdVb0FqeElCRUFnQlNBSk5nSThJQWNnQ3pvQUR3c2dDaUFkYWlJS0lBVkJRR3NpQmlnQ0FFZ0VRQ0FHSUFvMkFnQWdCeUFMT2dBUUN5QUtJQTVxSWdrZ0JTSUdLQUpFU0FSQUlBWWdDVFlDUkNBSElBczZBQkVMSUFrZ0VHb2lDU0FHS0FKSVNBUkFJQVlnQ1RZQ1NDQUhJQXM2QUJJTElBa2dFbW9pQ1NBR0tBSk1TQVJBSUFZZ0NUWUNUQ0FISUFzNkFCTUxJQW9nSG1vaUNpQUZLQUpRU0FSQUlBVWdDallDVUNBSElBczZBQlFMSUFvZ0Rtb2lDU0FHS0FKVVNBUkFJQVVnQ1RZQ1ZDQUhJQXM2QUJVTElBa2dFR29pQ1NBRktBSllTQVJBSUFVZ0NUWUNXQ0FISUFzNkFCWUxJQWtnRW1vaUNTQUZLQUpjU0FSQUlBVWdDVFlDWENBSElBczZBQmNMSUFvZ0gyb2lDaUFHS0FKZ1NBUkFJQVlnQ2pZQ1lDQUhJQXM2QUJnTElBb2dEbW9pQ1NBRktBSmtTQVJBSUFZZ0NUWUNaQ0FISUFzNkFCa0xJQWtnRUdvaUNTQUdLQUpvU0FSQUlBWWdDVFlDYUNBSElBczZBQm9MSUFrZ0Vtb2lDU0FHS0FKc1NBUkFJQVlnQ1RZQ2JDQUhJQXM2QUJzTElBb2dJR29pQ2lBRktBSndTQVJBSUFVZ0NqWUNjQ0FISUFzNkFCd0xJQW9nRG1vaUJTQUdLQUowU0FSQUlBWWdCVFlDZENBSElBczZBQjBMSUFVZ0VHb2lCU0FHS0FKNFNBUkFJQVlnQlRZQ2VDQUhJQXM2QUI0TElBVWdFbW9pQlNBR0tBSjhTQVJBSUFZZ0JUWUNmQ0FISUFzNkFCOExJQVpCZ0FGcUlRVWdCMEVnYWlFSElBd2dEV29oRENBTlFZQUVhaUVOSUJGQmYyb2hCaUFSQkVBZ0JpRVJEQUVMQ3lBUFFRRnFJZzhnRTBjTkFBc0xJQUZCZkhFaEJ5QURRWHh4SVFFZ0FrRjRjU0lEUVFGeUlRWWdBMEVDY2lFTUlBTkJBM0loRHlBRFFRUnlJUkVnQTBFRmNpRU5JQU5CQm5JaEJDQUNRUWR5SVJOQkFDRUFBMEFnQUNBSGFrRUNkQ0FhYWlJTEtBSUFJZ0lnQTBFR2RHb2dBVUVCZEdvaUJTQUlMUUFBUVFGcU93RUFJQVVnQ0MwQUFVRUJhanNCQWlBRklBZ3RBQUpCQVdvN0FRUWdCU0FJTFFBRFFRRnFPd0VHSUFaQkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBRVFRRnFPd0VBSUFVZ0NDMEFCVUVCYWpzQkFpQUZJQWd0QUFaQkFXbzdBUVFnQlNBSUxRQUhRUUZxT3dFR0lBeEJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUlRUUZxT3dFQUlBVWdDQzBBQ1VFQmFqc0JBaUFGSUFndEFBcEJBV283QVFRZ0JTQUlMUUFMUVFGcU93RUdJQTlCQm5RZ0Ftb2dBVUVCZEdvaUFpQUlMUUFNUVFGcU93RUFJQUlnQ0MwQURVRUJhanNCQWlBQ0lBZ3RBQTVCQVdvN0FRUWdBaUFJTFFBUFFRRnFPd0VHSUFzb0FnQWlBaUFSUVFaMGFpQUJRUUYwYWlJRklBZ3RBQkJCQVdvN0FRQWdCU0FJTFFBUlFRRnFPd0VDSUFVZ0NDMEFFa0VCYWpzQkJDQUZJQWd0QUJOQkFXbzdBUVlnRFVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJSQkFXbzdBUUFnQlNBSUxRQVZRUUZxT3dFQ0lBVWdDQzBBRmtFQmFqc0JCQ0FGSUFndEFCZEJBV283QVFZZ0JFRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCaEJBV283QVFBZ0JTQUlMUUFaUVFGcU93RUNJQVVnQ0MwQUdrRUJhanNCQkNBRklBZ3RBQnRCQVdvN0FRWWdFMEVHZENBQ2FpQUJRUUYwYWlJQ0lBZ3RBQnhCQVdvN0FRQWdBaUFJTFFBZFFRRnFPd0VDSUFJZ0NDMEFIa0VCYWpzQkJDQUNJQWd0QUI5QkFXbzdBUVlnQ0VFZ2FpRUlJQUJCQVdvaUFFRUVSdzBBQ3lBWEpBWUxOQUVCZnlBQUtBSUVJQUVvQWdnUXBRTWlBZ1JBSUFJZ0FDQUJFSndEUVFCSUJFQWdBaEJKUVFBaEFnc0ZRUUFoQWdzZ0FndlNBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDZ0M1QU1nQUVFQlFmd1BJQUZCUDNGQnlnRnFFUVFBSWdCQi9BZHFJZ0kyQWlnZ0FrRUFOZ0lBSUFCQmdBaHFRUUUyQWdBZ0FFRi9OZ0w0QnlBQVFZUUlha0VDTmdJQUlBQkJmallDOUFjZ0FFR0lDR3BCQXpZQ0FDQUFRWDAyQXZBSElBQkJqQWhxUVFRMkFnQWdBRUY4TmdMc0J5QUFRWkFJYWtFRk5nSUFJQUJCZXpZQzZBY2dBRUdVQ0dwQkJqWUNBQ0FBUVhvMkF1UUhJQUJCbUFocVFRYzJBZ0FnQUVGNU5nTGdCeUFBUVp3SWFrRUlOZ0lBSUFCQmVEWUMzQWNnQUVHZ0NHcEJDVFlDQUNBQVFYYzJBdGdISUFCQnBBaHFRUW8yQWdBZ0FFRjJOZ0xVQnlBQVFhZ0lha0VMTmdJQUlBQkJkVFlDMEFjZ0FFR3NDR3BCRERZQ0FDQUFRWFEyQXN3SElBQkJzQWhxUVEwMkFnQWdBRUZ6TmdMSUJ5QUFRYlFJYWtFT05nSUFJQUJCY2pZQ3hBY2dBRUc0Q0dwQkR6WUNBQ0FBUVhFMkFzQUhRUkFoQUVFUUlRRURRQ0FBUVFKMElBSnFJQUUyQWdCQkFDQUFhMEVDZENBQ2FrRUFJQUZyTmdJQUlBRWdBRUVCYWlJQVFRRnhRUUZ6YWlFQklBQkJNRWNOQUF0QkFDQUJheUVEUVRBaEFBTkFJQUJCQW5RZ0Ftb2dBVFlDQUVFQUlBQnJRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRWUFDUncwQUN3dEJBUUovUVF3UVJDSUNCRUFnQWlBQklBQkJBblJzRUVRaUF6WUNBQ0FEQkVBZ0FpQUFOZ0lFSUFJZ0FUWUNDQVVnQWhBNFFRQWhBZ3NGUVFBaEFnc2dBZ3ZjQVFFQ2Z3SkFJQUFvQXJRQ0RRQUNRQ0FBS0FJb1FRTnJEZ1VBQVFFQkFBRUxJQUFvQWlSQkEwY05BQ0FBS0FJc1FRSkhEUUFnQUNnQ2VFRURSdzBBSUFBb0FyQUNEUUFnQUNnQzJBRWlBU2dDQ0VFQ1J3MEFJQUVvQW1CQkFVY05BQ0FCS0FLNEFVRUJSdzBBSUFFb0FneEJBa29OQUNBQktBSmtRUUZIRFFBZ0FTZ0N2QUZCQVVjTkFDQUJLQUlrSWdJZ0FDZ0N4QUpIRFFBZ0FTZ0NmQ0FDUncwQUlBRW9BdFFCSUFKSERRQWdBU2dDS0NJQ0lBQW9Bc2dDUncwQUlBSWdBU2dDZ0FGR0JIOGdBaUFCS0FMWUFVWUZRUUFMRHd0QkFBdmpCZ0VHZndKQUlBQW9BdFFDSWdGQkFVWUVRQ0FBSUFBb0F0Z0NJZ0VvQWh3MkF1Z0NJQUFnQVNnQ0lDSUROZ0xzQWlBQlFRRTJBamdnQVVFQk5nSThJQUZCUUd0QkFUWUNBQ0FCSUFFb0FpUTJBa1FnQVVFQk5nSklJQU1nQVNnQ0RDSUNFRTRoQXlBQklBTWdBaUFER3pZQ1RDQUFRUUUyQXZBQ0lBQkJBRFlDOUFKQkFTRUJCU0FCUVg5cVFRTkxCRUFnQUNnQ0FDSURRUnMyQWhRZ0F5QUJOZ0lZSUFBb0FnQkJCRFlDSENBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBZ0FDZ0NIQ0FBS0FLOEFpQUFLQUtzQTJ3UWFEWUM2QUlnQUNBQUtBSWdJQUFvQXNBQ0lBQW9BcXdEYkJCb05nTHNBaUFBUVFBMkF2QUNJQUFvQXRRQ1FRQk1EUUZCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NDQ0VFSUFJZ0JEWUNPQ0FDSUFJb0Fnd2lCVFlDUENBQ1FVQnJJQVFnQld3aUFUWUNBQ0FDSUFRZ0FpZ0NKR3cyQWtRZ0FpQUVJQUlvQWh3Z0JCQk9JZ1FnQkVVYk5nSklJQUlnQWlnQ0lDQUZFRTRpQWlBRklBSWJOZ0pNSUFFZ0JtcEJDa29FUUNBQUtBSUFJZ0pCRGpZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFGQkFFb0VRQU5BSUFGQmYyb2hBaUFBSUFBb0F2QUNJZ1JCQVdvMkF2QUNJQUJCOUFKcUlBUkJBblJxSUFNMkFnQWdBVUVCU2dSQUlBSWhBUXdCQ3dzTElBTkJBV29pQXlBQUtBTFVBaUlCU0FSQUlBQW9BdkFDSVFZTUFRc0xJQUZCQUV3TkFRdEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ1VFVUVRQ0FBUWFRQmFpQUNLQUlRSWdGQkFuUnFJUVFDUUFKQUlBRkJBMHNOQUNBRUtBSUFSUTBBREFFTElBQW9BZ0FpQlVFMk5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFRUUZCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBU0FFS0FJQVFZUUJFRXdhSUFJZ0FUWUNVQ0FBS0FMVUFpRUJDeUFEUVFGcUlnTWdBVWdOQUFzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBRHdzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBQzhvQkFRSi9Jd1loQkNNR1FUQnFKQVlnQkVFWWFpSUZRUWcyQWdRZ0JVRUJOZ0lJSUFVZ0FEWUNBQ0FFUVF4cUlnQWdBellDQkNBQVFRRTJBZ2dnQUNBQk5nSUFJQVFnQXpZQ0JDQUVRUWcyQWdnZ0JDQUNOZ0lBSUFRUXV3VWlBZ1JBSUFJZ0JCQ2pBeUlCQkVBZ0FpQUFFS01ESWdNRVFDQUJLQUlBSUFFb0FnUWlBQ0FBRVBZRVJVRWZkRUVmZFVFQVNBUi9RWDhGSUFVZ0FTQURFSndER2tFQUN5RUFJQU1RU1FWQmZ5RUFDeUFCRUVrRlFYOGhBQXNnQWhCSkJVRi9JUUFMSUFRa0JpQUFDMWtCQVg4Z0FDZ0MyQUVpQVFSQUlBRVF2d2NnQUNnQzJBRVFod2tnQUVFQU5nTFlBUXNnQUVIa0FXb2lBU2dDQUFSQUlBRVFwd2tnQVVFQU5nSUFDeUFBUWNBQmFpSUFLQUlBQkVBZ0FCQ3pDeUFBUVFBMkFnQUxDM01CQTM4akJpRUNJd1pCRUdva0JpQUNRUWhxSVFNZ0FSRFBDU0lFQkVBZ0FDQUVFT0VHSVFBZ0JCQTRCU0FDSUFFMkFnQkJBRUVEUVpHcUFTQUNFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFYOGhBQXNnQWlRR0lBQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFiREVBeWdDQUNFQ1FiREVBeUFCTmdJQUlBSUVRRUcweEFNb0FnQWFJQUlRT0F0QnRNUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRYkRFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCdU1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR3d4QU1vQWdBZ0JVRUNkR3BCdU1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUWJERUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR3d4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCc01RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRYkRFQXlnQ0FDRUFRYkRFQTBFQU5nSUFJQUFFUUVHMHhBTW9BZ0FhSUFBUU9BdEJ0TVFEUVFBMkFnQUxDNm9FQWdsL0FuMGpCaUVGSXdaQklHb2tCaUFGUVFScUlRUWdCU0FBTmdJQUlBQW9BZ0FoQXdKQUFrQkJ0TVFES0FJQUlnRkZJZ2tFUUVFQUlRQU1BUVVnQVNBQlFYOXFJZ2h4UlNJSEJIOGdBeUFJY1FVZ0F5QUJTUVIvSUFNRklBTWdBUkJPQ3dzaUFFRUNkRUd3eEFNb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBSEJIOGdCaUFJY1FVZ0JpQUJUd1IvSUFZZ0FSQk9CU0FHQ3dzZ0FFY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFRZ0F5QUZFTjhHUWNERUF5b0NBQ0lLSUFHemxFRzh4QU1vQWdCQkFXcXpJZ3RkSUFseUJFQUNmeUFMSUFxVmpSQ1NBU0lDSUFGQmYyb2dBWEZCQUVjZ0FVRURTWElnQVVFQmRISWlBQ0FBSUFKSkd4RGVCa0cweEFNb0FnQWlBa0YvYWlJQUlBTnhJQUFnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUFGSUFFaEFndEJzTVFES0FJQUlBQkJBblJxS0FJQUlnRUVmeUFFS0FJQUlBRW9BZ0EyQWdBZ0FTQUVLQUlBTmdJQUlBUUZJQVFvQWdCQnVNUURLQUlBTmdJQVFiakVBeUFFS0FJQU5nSUFRYkRFQXlnQ0FDQUFRUUowYWtHNHhBTTJBZ0FnQkNnQ0FDSUhLQUlBSWdBRVFDQUFLQUlFSVFBZ0FpQUNRWDlxSWdGeEJIOGdBQ0FDVHdSL0lBQWdBaEJPQlNBQUN3VWdBQ0FCY1FzaEFFR3d4QU1vQWdBZ0FFRUNkR29nQnpZQ0FBc2dCQXNpQUNnQ0FDRUNRYnpFQTBHOHhBTW9BZ0JCQVdvMkFnQWdBRUVBTmdJQUN5QUZKQVlnQWtFUWFnc2tBUUYvSUFFb0FnQWhBaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBVUVFYWlBQ0VINExFUUFnQVNBQVFmOEJjVUdzQTJvUkFRQUxFZ0FnQVNBQ0lBQkJBM0ZCckFWcUVSb0FDeElBSUFFZ0FpQUFRVDl4UWJJRmFoRURBQXNTQUNBQklBSWdBRUVCY1VHd0JXb1JKZ0FMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRWnpFQXlnQ0FDRUNRWnpFQXlBQk5nSUFJQUlFUUVHZ3hBTW9BZ0FhSUFJUU9BdEJvTVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUVp6RUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnBNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUdjeEFNb0FnQWdCVUVDZEdwQnBNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFaekVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0djeEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQm5NUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUVp6RUF5Z0NBQ0VBUVp6RUEwRUFOZ0lBSUFBRVFFR2d4QU1vQWdBYUlBQVFPQXRCb01RRFFRQTJBZ0FMQ3hNQUlBQkJ5QUpxRUZVZ0FFR2dBbW9RNVFZTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWlNIQVVIUnR3SkJBU0FCRUFrZ0F3c2tCZ3ZnSFFJYWZ3RitJd1loQkNNR1FkQVNhaVFHSUFSQmtCSnFJUkVnQkVId0Jtb2hDQ0FFUWFBR2FpRVBJQVJCMEFWcUlSQWdCRUdBQldvaEVpQUVRYkFFYWlFVElBUkJNR29oRnlBRUlSWUNmd0ovQW44Q1FBSkFBa0FDUUFKQUFrQUNRQ0FBUVlRR2F3NkxFQUVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVQ0F3VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVFGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRQUZDeUFDSVJGQm9CRWhDVUdnRFNFTFFmZ0FJUTFCL3dBaERFRUpJUlJCd0FBTUJ3dEI0QXdoQ1VHZ0N5RUxRUTBoRFVFSklRQkJBU0VDUVE4TUJRdEI0QXdoQ1VHZ0N5RUxRUTBoRFVFRklRQkJBaUVDUVE4TUJBdEJEQ0VBUVFJaEFnd0NDMEVISVFCQkF5RUNEQUVMUVg4TUF3dEI0QXNoQ1VHZ0NpRUxRUlloRFVFZkN5RU1RUUFoQkFOL0lBUWdEVVlFZnlBQ0lSUWdBQVVnQkNBUmFpQUJwMEVCY1RvQUFDQUVRUUZxSVFRZ0FVSUJpQ0VCREFFTEN3c2hHQ0FVUVFGMElSVkJBU0VDQTBBZ0FpQVZUQVJBSUFKQkFuUWdFMm9pQmtFQU5nSUFRUUFoQkVFQUlRQURRQ0FFSUExSUJFQWdCQ0FSYWl3QUFBUkFJQVlnQWlBRWJDQU1FRTlCQW5RZ0Myb29BZ0FnQUhNaUFEWUNBQXNnQkVFQmFpRUVEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQTJBZ0JCQVNBRklBQWJJUVVnQWtFQmFpRUNEQUVMQ3lBRlFRQkhJaGtFUUNBUFFRQTJBZ0FnRHlBVEtBSUVJZ1UyQWdRZ0NFRUFOZ0lBSUFoQkFUWUNTRUVCSVFBRFFDQUFJQlZJQkVBZ0FFRUNkQ0FJYWtGL05nSUFJQWhCeUFCcUlBQkJBblJxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFRUVFBMkFnQWdFRUVBTmdJRUlCSkJmellDQUNBU1FRQTJBZ1JCQUNFRVFRQWhBZ05BQWtBZ0JFRUJhaUVLSUFWQmYwWUVRQ0FFUVFKcUlnUkJBblFnRUdvZ0FqWUNBRUVBSVFBRFFDQUFJQUpNQkVBZ0JFSElBR3dnQ0dvZ0FFRUNkR29nQ2tISUFHd2dDR29nQUVFQ2RHb2lCU2dDQUNJR05nSUFJQVVnQmtFQ2RDQUphaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xCU0FFSVFBRFFDQUFRWDlxSVFZZ0FFRUFTaUlISUFCQkFuUWdEMm9vQWdCQmYwWnhCRUFnQmlFQURBRUxDeUFIQkVBZ0FDRUdBMEFnQmtGL2FpSUhRUUowSUE5cUtBSUFRWDlIQkVBZ0J5QUFJQUJCQW5RZ0Vtb29BZ0FnQjBFQ2RDQVNhaWdDQUVnYklRQUxJQVpCQVVvRVFDQUhJUVlNQVFzTEN5QUVRUUpxSWdSQkFuUWdFR29nQWlBS0lBQnJJaG9nQUVFQ2RDQVFhaUlPS0FJQWFpSUdJQUlnQmtvYklnWTJBZ0JCQUNFSEEwQWdCeUFWU0FSQUlBUkJ5QUJzSUFocUlBZEJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDeUFGSUF4cUlRY2dBRUVDZENBUGFpRWJJQTRvQWdBaERrRUFJUVVEUUNBRklBNU1CRUFnQUVISUFHd2dDR29nQlVFQ2RHb29BZ0FpSEVGL1J3UkFJQVJCeUFCc0lBaHFJQVVnR21wQkFuUnFJQWNnSEdvZ0d5Z0NBR3NnREJCUFFRSjBJQXRxS0FJQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFBaEFBTi9JQUFnQWtvRWZ5QUdCU0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQXBCeUFCc0lBaHFJQUJCQW5ScUlnY29BZ0FpRGlBRktBSUFjellDQUNBSElBNUJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQ3lFQ0N5QUVRUUowSUJKcUlBb2dBbXMyQWdBZ0NpQVZUZzBBSUFSQkFuUWdEMm9pQmlBRVFRSjBJQk5xS0FJQUlnQkJmMFlFZjBFQUJTQUFRUUowSUF0cUtBSUFDeUlBTmdJQVFRRWhCUU5BSUFVZ0Frd0VRQ0FFSUFWclFRSjBJQk5xS0FJQUlnZEJmMGNFUUNBRVFjZ0FiQ0FJYWlBRlFRSjBhaWdDQUNJT0JFQWdCaUFISUE1QkFuUWdDV29vQWdCcUlBd1FUMEVDZENBTGFpZ0NBQ0FBY3lJQU5nSUFDd3NnQlVFQmFpRUZEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQWlCVFlDQUNBQ0lCUk1CRUFnQ2lFRURBSUxDd3RCZnlBQ0lCUktEUUVhUVFBaEFBTkFJQUFnQWt3RVFDQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBVW9BZ0JCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEMwRUJJUUFEUUNBQUlBSk1CRUFnQUVFQ2RDQVdhaUFFUWNnQWJDQUlhaUFBUVFKMGFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTFFRQWhBRUVCSVFvRFFDQU1JQXBPQkVCQkFTRUdRUUVoQlFOQUlBWWdBa3dFUUNBR1FRSjBJQlpxSWdjb0FnQWlDVUYvUndSQUlBY2dCaUFKYWlBTUVFOGlCellDQUNBRklBZEJBblFnQzJvb0FnQnpJUVVMSUFaQkFXb2hCZ3dCQ3dzZ0JVVUVRQ0FBUVFKMElCZHFJQXdnQ21zMkFnQWdBRUVCYWlFQUN5QUtRUUZxSVFvTUFRc0xRWDhnQUNBQ1J3MEJHa0VBSVFBRFFDQUFJQUpJQkVBZ0VTQUFRUUowSUJkcUtBSUFhaUlGSUFVc0FBQkJBWE02QUFBZ0FFRUJhaUVBREFFTEN3VkJBQ0VFQ3lBRFFnQTNBd0JDQVNFZUlBMGdHR3NoQUVJQUlRRURRQ0FBSUExSUJFQWdBeUFlSUFBZ0VXb3RBQUN0ZmlBQmZDSUJOd01BSUI1Q0FZWWhIaUFBUVFGcUlRQU1BUXNMSUJrRWZ5QUVRUUowSUJCcUtBSUFCVUVBQ3dzaEhTQVdKQVlnSFF2SkNBSUxmd044SXdZaERpTUdRUkJxSkFZZ0RrRUlhaUVISUFCRklBTkJBVWh5Qkg4Z0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQVFYOEZBbjhDUUFKQUFrQWdBUTRDQUFFQ0N5QURJQU5zSWdGQkRHd1FSQ0lLUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0FVRURiQ0VMUVFBaEIwRUFJUUVEUUNBSElBdEhCRUFnQVNBQ0lBZHFMQUFBUVg5elFmOEJjV29oQVNBSFFRRnFJUWNNQVFzTElBRWdDeEJJSVFsQkFDRUhRUUFoQVFOQUlBRWdDMGNFUUNBQlFRSjBJQXBxSUFFZ0Ftb3NBQUJCZjNOQi93RnhJQWxySWdnMkFnQWdCeUFJSUFoc2FpRUhJQUZCQVdvaEFRd0JDd3NnQjdlZkloTWdBN2RFa1N0UTVucTIreitpbzBRQUFBQUFBQUF1UUdNRVFDQUVRUUEyQWdBZ0JVRUFOZ0lBSUFaRUFBQUFBQUFBOEw4NUF3QWdDaEE0UVg0TUF3c2dBQ2dDQUNFUFFRQWhDVUYvSVFOQmZ5RUJRWDhoQWdOQUlBa2dEMGdFUUNBQUtBSUlJUWNDUUFKQUEwQUNRQ0FEUVFGcUlnTkJBblFnQjJvb0FnQU9Bd0VDQUFJTEN3d0JDeUFEUVFKMElSQkJBQ0VIQTBBZ0IwRUVSd1JBSUFjZ0VHb2hEVUVBSVF4QkFDRUlBMEFnQ0NBTFJ3UkFJQXdnQ0VFQ2RDQUthaWdDQUNBQUtBSU1JQTFCQW5ScUtBSUFJQWhCQW5ScUtBSUFiR29oRENBSVFRRnFJUWdNQVFzTElBY2dBaUFNdHlBQUtBSVFJQTFCQTNScUt3TUFveUFUb3lJVUlCSmtJZ2diSVFJZ0IwRUJhaUVISUJRZ0VpQUlHeUVTSUFNZ0FTQUlHeUVCREFFTEN3c2dDVUVCYWlFSkRBRUxDeUFGSUFJMkFnQWdCQ0FCTmdJQUlBWWdFamtEQUNBS0VEaEJBQXdDQ3lBRElBTnNJZ3BCQW5RUVJDSUxSUVJBUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXRCQUNFSFFRQWhBUU5BSUFFZ0NrY0VRQ0FISUFFZ0Ftb3NBQUJCZjNOQi93RnhhaUVISUFGQkFXb2hBUXdCQ3dzZ0J5QUtFRWdoQ1VFQUlRZEJBQ0VCQTBBZ0FTQUtSd1JBSUFGQkFuUWdDMm9nQVNBQ2Fpd0FBRUYvYzBIL0FYRWdDV3NpQ0RZQ0FDQUhJQWdnQ0d4cUlRY2dBVUVCYWlFQkRBRUxDeUFIdDU4aUV5QUR0Nk5FQUFBQUFBQUFMa0JqQkVBZ0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQUlBc1FPRUYrREFJTElBQW9BZ0FoRDBFQUlRbEJmeUVEUVg4aEFVRi9JUUlEUUNBSklBOUlCRUFnQUNnQ0NDRUhBa0FDUUFOQUFrQWdBMEVCYWlJRFFRSjBJQWRxS0FJQURnTUJBZ0FDQ3dzTUFRc2dBMEVDZENFUVFRQWhCd05BSUFkQkJFY0VRQ0FISUJCcUlRMUJBQ0VNUVFBaENBTkFJQWdnQ2tjRVFDQU1JQWhCQW5RZ0Myb29BZ0FnQUNnQ0ZDQU5RUUowYWlnQ0FDQUlRUUowYWlnQ0FHeHFJUXdnQ0VFQmFpRUlEQUVMQ3lBSElBSWdETGNnQUNnQ0dDQU5RUU4wYWlzREFLTWdFNk1pRkNBU1pDSUlHeUVDSUFkQkFXb2hCeUFVSUJJZ0NCc2hFaUFESUFFZ0NCc2hBUXdCQ3dzTElBbEJBV29oQ1F3QkN3c2dCU0FDTmdJQUlBUWdBVFlDQUNBR0lCSTVBd0FnQ3hBNFFRQU1BUXRCZndzTElSRWdEaVFHSUJFTFZBRUJmeU1HSVFNakJrRXdhaVFHSUFNZ0FqWUNBQ0FEUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFOQkhHb2lBU0FDSUFNUW9RY2dBQ0FCRUtJSElBRVFSeUFDRUVjZ0F5UUdDM3dCQVg4akJpRUdJd1pCRUdva0JpQUFJQUkyQWdBZ0FDQUROZ0lFSUFBZ0JEWUNDQ0FBUVFFMkFoQWdBQ0FFSUFWc05nSVVJQVpCQURZQ0FDQUdRUVJxSUFZc0FBdzZBQUFnQmtFSWFpQUdLQUlBTmdJQUlBQkJHR29nQVJDbEJ5QUFJQVZCQUVnRWZ5QUNFTGtESUFOc0JTQUZDellDRENBR0pBWUxhZ0VDZnlNR0lRRWpCa0VRYWlRR0FrQUNRQUpBQWtBZ0FFRUJhdzRDQUFFQ0N5QUFJUUlNQWd0QkJDRUNEQUVMUVJBUUJTRUFJQUZDQURjQ0FDQUJRUUEyQWdnZ0FVSGtvQUpCNUtBQ0VHQVFmaUFBSUFFUWhnSWdBRUdJOGdCQkJSQUVDeUFCSkFZZ0Fnc2VBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdMUndFQ2Z5TUdJUUVqQmtHUUFtb2tCaUFCUVlBQ2FpSUNFQk1hSUFGQmdBSkJ2SndDSUFJUUloQWdHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBU0FCRUdBUWZpQUJKQVlMT2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUVnQUNnQ0FHd2hBeUFDUVFBNkFBQWdBRUVFYWlBRElBSVFyZ2NnQUVFUWFpQUJFTkVESUFJa0JndE5BUUovSUFBb0Fnd0VRQ0FBS0FJSUVMNERJQUJCQURZQ0NDQUFLQUlFSVFJRFFDQUJJQUpIQkVBZ0FDZ0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0FFRUFOZ0lNQ3dzZEFRSi9BMEFnQUFSQUlBQW9BZ0FoQWlBQUVEZ2dBaUVBREFFTEN3dUhBZ0VIZnlNR0lRY2pCa0VRYWlRR0lBSW9BZ0FpQmlBQUtBSUFJZ2hySVFBZ0FVRUNUZ1JBSUFGQmZtcEJBaEE1SWdrZ0FFRURkVTRFUUNBQVFRSjFRUUZ5SWdOQkEzUWdDR29pQkNFQUlBTkJBV29pQlNBQlNBUkFJQVVnQXlBRUlBUkJDR29pQkJEQkFTSUZHeUVESUFRZ0FDQUZHeUVBQ3lBQUlBWVF3UUZGQkVBZ0J5QUdLUUlBTndNQUEwQUNRQ0FHSUFBaUJpa0NBRGNDQUNBQ0lBQTJBZ0FnQ1NBRFNBMEFJQU5CQVhSQkFYSWlBMEVEZENBSWFpSUVJUUFnQTBFQmFpSUZJQUZJQkVBZ0JTQURJQVFnQkVFSWFpSUVFTUVCSWdVYklRTWdCQ0FBSUFVYklRQUxJQUFnQnhEQkFVVU5BUXNMSUFZZ0J5a0RBRGNDQUFzTEN5QUhKQVlMQ0FBZ0FFSDhBR29MWFFFQmYwSC8vLy8vQVNBQlNRUkFFQUFMSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQTNRUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkEzUWdBbW8yQWdnTEN4QUFJQUJDQURjQ0FDQUFRUUEyQWdnTGJRQWdBQ29DQUNBQktnSUFsQ0FBS2dJRUlBRXFBZ1NVa2lBQUtnSUlJQUVxQWdpVWtpQUFLZ0lNSUFFcUFneVVraUFBS2dJUUlBRXFBaENVa2lBQUtnSVVJQUVxQWhTVWtpQUFLZ0lZSUFFcUFoaVVraUFBS2dJY0lBRXFBaHlVa2lBQUtnSWdJQUVxQWlDVWtndlZBZ0VKZlNBRklBWXFBZ0FnQnlvQ0FKSWdDQ29DQUpJZ0NTb0NBSkpEQUFDQVBwUWlDamdDQUNBRklBWXFBZ1FnQnlvQ0JKSWdDQ29DQkpJZ0NTb0NCSkpEQUFDQVBwUWlDemdDQkNBR0tnSUFJQXFUSWcwZ0RaUWdCaW9DQkNBTGt5SU9JQTZVa3BFZ0J5b0NBQ0FLa3lJUElBK1VJQWNxQWdRZ0M1TWlFQ0FRbEpLUmtpQUlLZ0lBSUFxVEloRWdFWlFnQ0NvQ0JDQUxreUlTSUJLVWtwR1NJQWtxQWdBZ0NwTWlDaUFLbENBSktnSUVJQXVUSWdzZ0M1U1NrWkpEQUFDQVBwUWlERU1BQUFBQVd3Ui9RUUFGSUFSREFBQ0FQeUFNbGJ0RXpUdC9acDZnOWoraXRpSU1PQUlBSUFBZ0RTQU1sRGdDQUNBQUlBNGdCQ29DQUpRNEFnUWdBU0FQSUFRcUFnQ1VPQUlBSUFFZ0VDQUVLZ0lBbERnQ0JDQUNJQkVnQkNvQ0FKUTRBZ0FnQWlBU0lBUXFBZ0NVT0FJRUlBTWdDaUFFS2dJQWxEZ0NBQ0FESUFzZ0JDb0NBSlE0QWdSQkFRc0xEQUFnQUNBQktRSUFOd0lBQ3lvQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUVFUUNBQUlBRVF3UU1nQUNBQkVOb0hDd3RwQVFSOUlBQXFBaEFnQUNvQ0ZDQUFLZ0ljSUFBcUFpQVFnQUVoQkNBQUtnSU1JQUFxQWhRZ0FDb0NHQ0FBS2dJZ0VJQUJJUUlnQUNvQ0RDQUFLZ0lRSUFBcUFoZ2dBQ29DSEJDQUFTRURJQVFnQUNvQ0FKUWdBaUFBS2dJRWxKTWdBeUFBS2dJSWxKSUx0Z0lCQVgwZ0FSREhBeUlEaXlBQ1h3Ui9RUUFGSUFCREFBQ0FQeUFEbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0ljSUFFcUFpQVFnQUdVT0FJQUlBQWdBaUFCS2dJSUlBRXFBZ1FnQVNvQ0lDQUJLZ0ljRUlBQmxEZ0NCQ0FBSUFJZ0FTb0NCQ0FCS2dJSUlBRXFBaEFnQVNvQ0ZCQ0FBWlE0QWdnZ0FDQUNJQUVxQWhRZ0FTb0NEQ0FCS2dJZ0lBRXFBaGdRZ0FHVU9BSU1JQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NHQ0FCS2dJZ0VJQUJsRGdDRUNBQUlBSWdBU29DQ0NBQktnSUFJQUVxQWhRZ0FTb0NEQkNBQVpRNEFoUWdBQ0FDSUFFcUFnd2dBU29DRUNBQktnSVlJQUVxQWh3UWdBR1VPQUlZSUFBZ0FpQUJLZ0lFSUFFcUFnQWdBU29DSENBQktnSVlFSUFCbERnQ0hDQUFJQUlnQVNvQ0FDQUJLZ0lFSUFFcUFnd2dBU29DRUJDQUFaUTRBaUJCQVFzTGl3SUJCWDhqQmlFSUl3WkJFR29rQmlBRkVHa2hCU0FBSUFRb0FnUWdCQ2dDQUd0QkEzVVFnQUlnQ0VFRWFpRUtBMEFnQmlBRUtBSUVJQVFvQWdBaUIydEJBM1ZKQkVBZ0NDQUtJQUVnQXlnQ0FDSUpJQVpCQTNRZ0Iyb29BZ1FpQjBFVWJHb3FBZ0FnQjBFVWJDQUphaW9DQkJDOUFpQUlLZ0lBSUFJb0FnQWdCQ2dDQUNBR1FRTjBhaWdDQUVFVWJHb3FBZ0NURUdrZ0Npb0NBQ0FDS0FJQUlBUW9BZ0FnQmtFRGRHb29BZ0JCRkd4cUtnSUVreEJwa2lBRlh3UkFJQVFvQWdBZ0JrRURkR29oQnlBQUtBSUVJZ2tnQUNnQ0NFWUVRQ0FBSUFjUWxnRUZJQWtnQnlrQ0FEY0NBQ0FBSUFBb0FnUkJDR28yQWdRTEN5QUdRUUZxSVFZTUFRc0xJQWdrQmd2cEFnSUpmd0Y5SXdZaEJ5TUdRVUJySkFZZ0IwRXNhaUlMSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQjBFZ2FpSU1JQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdBeWdDQkNBREtBSUFJZ05yUVFOMUlRMGdBU2dDQUNFT0lBd29BZ0FoQ1NBQ0tBSUFJUUlnQ3lnQ0FDRUtBMEFnQ0NBTlJ3UkFJQWhCQTNRZ0NXb2dDRUVEZENBRGFpZ0NBQ0lCUVJSc0lBNXFLQUlBTmdJQUlBaEJBM1FnQ1dvZ0FVRVViQ0FPYWlnQ0JEWUNCQ0FJUVFOMElBcHFJQWhCQTNRZ0Eyb29BZ1FpQVVFVWJDQUNhaWdDQURZQ0FDQUlRUU4wSUFwcUlBRkJGR3dnQW1vb0FnUTJBZ1FnQ0VFQmFpRUlEQUVMQ3lBSFF3QUFBQUE0QWdBZ0IwTUFBQUFBT0FJRUlBY2dCYklpRURnQ0NDQUhRd0FBQUFBNEFnd2dCeUFRT0FJUUlBY2dCcklpRURnQ0ZDQUhRd0FBQUFBNEFoZ2dCeUFRT0FJY0lBUWdBQ0FLSUFrZ0RTQUhFUHdIQkg4Z0FDQUZJQVlRK3djRlFRQUxJUThnREJCVklBc1FWU0FISkFZZ0R3djhBd0VLZnlNR0lRUWpCa0V3YWlRR0lBUkJJR29oQlNBQklBUkJER29nQkVFSWFpQUVRUVJxSUFRZ0F4RFhCeUFBSUFBb0FnQTJBZ1FnQVVId0FHb2hEU0FCRU1BRElnTW9BZ1FnQXlnQ0FHdEJBblVpQ3lBQ0tBSUVJQUlvQWdCclFRTjFTd1JBSUFWQndNZ0RRWmFJQWhBM1FaRDVBUkEzUWUraUFoQTNRZFlDRUQ1QjlxSUNFRGRCeElnQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBVVFQQ0FESUFZUVFDQURFRDhRQUFzZ0JFRWNhaUVHSUFSQkdHb2hDQ0FFUVJScUlRa2dCRUVRYWlFS0lBMG9BZ0FoQTBFQUlRVURRQ0FGSUF0SUJFQWdBU0FHSUFnZ0NTQUtJQU1xQWdBZ0F5b0NCQ0FES2dJSUlBTXFBZ3dnQkNnQ0RMZEVBQUFBQUFBQTREK2d0aUFFS0FJSXQwUUFBQUFBQUFEZ1A2QzJJQVFvQWdTM1JBQUFBQUFBQU9BL29MWWdCQ2dDQUxkRUFBQUFBQUFBNEQrZ3RoRFdCeUFHS2dJQVF3QUFnRDlkSUFncUFnQkRBQUNBUDExeElBa3FBZ0JEQUFDQVAxMXhJQW9xQWdCREFBQ0FQMTF4QkVBZ0FSREFBeWdDQUNBRlFRSjBhaWdDQUVFRGRDQUNLQUlBYWlFSElBQW9BZ1FpRENBQUtBSUlSZ1JBSUFBZ0J4Q1dBUVVnRENBSEtRSUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBc0xJQU5CRUdvaEF5QUZRUUZxSVFVTUFRc0xJQVFrQmd2UEF3SU9md0Y5SXdZaENTTUdRU0JxSkFZZ0NVRUVhaUVQSUFsQkZHb2lEQ0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQWxCQ0dvaURTQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBTW9BZ1FnQXlnQ0FDSVFhMEVEZFNFUklBRW9BZ0FoQVNBQ0tBSUFJUUlnRENnQ0FDRVNJQTBvQWdBaEV3TkFJQW9nRVVjRVFDQUtRUU4wSUJCcUtBSUVJUXNnQ2tFQ2RDSVVRUUowSUJKcUlnZ2dDa0VEZENBUWFpZ0NBQ0lPUVJSc0lBRnFLQUlBTmdJQUlBZ2dEa0VVYkNBQmFpZ0NCRFlDQkNBSUlBNUJGR3dnQVdvb0FnZzJBZ2dnQ0NBT1FSUnNJQUZxS0FJTU5nSU1JQlJCQW5RZ0Uyb2lDQ0FMUVJSc0lBSnFLQUlBTmdJQUlBZ2dDMEVVYkNBQ2FpZ0NCRFlDQkNBSUlBdEJGR3dnQW1vb0FnZzJBZ2dnQ0NBTFFSUnNJQUpxS0FJTU5nSU1JQXBCQVdvaENnd0JDd3NnQUNBRXNpSVdRODNNVEQ2VUlCYVNJaGFNSUJZZ0JiSWlGa1BOekV3K2xDQVdraUlXakNBV0VNTUhJQUFnQmtFQmRiSTRBZ2dnQUNBSFFRRjFzamdDRENBQUlBWTJBZ0FnQUNBSE5nSUVJQUFnRENnQ0FDQU5LQUlBSUFNb0FnUWdBeWdDQUd0QkEzVVF3Z2NnQUNBUElBa1F1UWRCZnlBSktBSUFJQThxQWdCREFBQkFRRjBiSVJVZ0RSQlZJQXdRVlNBSkpBWWdGUXRHQUFOQUlBRWdBa2NFUUNBQUtBSUVJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFBZ0FDZ0NCRUVVYWpZQ0JDQUJRUlJxSVFFTUFRc0xDeWdBSUFJZ0FXc2lBa0VBU2dSQUlBQW9BZ1FnQVNBQ0VFd2FJQUFnQUNnQ0JDQUNhallDQkFzTE9BRUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0NBQVFRQTJBZ2dnQUVFQU5nSUVJQUJCQURZQ0FBc0xNd0FnQWlBQmF5SUNRUUJLQkVBZ0FrRU1FRWdoQXlBQUtBSUVJQUVnQWhCTUdpQUFJQUFvQWdRZ0EwRU1iR28yQWdRTEMxc0JBMzhnQUNnQ0JDSURJQUFvQWdBaUJHdEJGQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1FoZ2dGSUFJZ0FVc0VRQ0FCUVJSc0lBUnFJUUlnQXlFQkEwQWdBU0FDUndSQUlBRkJiR29oQVF3QkN3c2dBQ0FDTmdJRUN3c0xDZ0FnQUVIZ0FEWUNBQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFYaHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDeGNBSUFCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUVCT2dBUUN5c0JBWDhnQUNnQ0JDRUNBMEFnQWhEVUF5QUFJQUFvQWdSQkZHb2lBallDQkNBQlFYOXFJZ0VOQUFzTFhRRUJmMEhNbWJQbUFDQUJTUVJBRUFBTElBRkJ6Sm16NWdCTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkZHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJGR3dnQW1vMkFnZ0xDd2tBSUFBZ0FUWUNDQXNUQUNBQVFRZzJBZ1FnQUVFTWFrRUlFSWNCQ3dzQUlBQkJBQ0FCRUVVYUMvd0RBZ1YvQW53akJpRUdJd1pCb0FKcUpBWWdCa0dBQW1vaENDQUdRY0FCYWlJRUlBRkJxQUZxUVFRZ0FTZ0NERUVBU0FSL0lBRkJGR29GSUFFb0FnaEJBRWdFZnlBQlFSaHFCU0FCUVJCcUN3c29BZ0FpQld0QkJCQlBJZ2RCQkhScUt3TUFPUU1BSUFRZ0FTQUhRUVIwYWlzRHNBRTVBd2dnQkNBQlFhZ0Jha0VGSUFWclFRUVFUeUlIUVFSMGFpc0RBRGtERUNBRUlBRWdCMEVFZEdvckE3QUJPUU1ZSUFRZ0FVR29BV3BCQmlBRmEwRUVFRThpQjBFRWRHb3JBd0E1QXlBZ0JDQUJJQWRCQkhScUt3T3dBVGtES0NBRUlBRkJxQUZxUVFjZ0JXdEJCQkJQSWdWQkJIUnFLd01BT1FNd0lBUWdBU0FGUVFSMGFpc0RzQUU1QXpnZ0JrSGdBR29pQVNBQ1JBQUFBQUFBQU9DL29pSUpPUU1BSUFFZ0FrUUFBQUFBQUFEZ1A2SWlBamtEQ0NBQlJBQUFBQUFBQUFBQU9RTVFJQUVnQWprREdDQUJJQUk1QXlBZ0FVUUFBQUFBQUFBQUFEa0RLQ0FCSUFJNUF6QWdBU0FKT1FNNElBRkJRR3RFQUFBQUFBQUFBQUE1QXdBZ0FTQUpPUU5JSUFFZ0NUa0RVQ0FCUkFBQUFBQUFBQUFBT1FOWUlBWkJpQUpxSWdVZ0JEWUNBQ0FGSUFFMkFnUWdCVUVFTmdJSUlBQW9BZ0FnQkNBQlFRUWdCaENZQkVFQVNBUjhSQUFBQUFDRTE1ZEJCU0FBS0FJQUlBVWdCaUFESUFnUTZnRkJBRWdoQUVRQUFBQUFoTmVYUVNBSUt3TUFJQUFiQ3lFS0lBWWtCaUFLQzc4Q0FDQUFLQUlBSUFFb0FnQVFiQ0FBS0FJRUlBRW9BZ1FRYkdvZ0FDZ0NDQ0FCS0FJSUVHeHFJQUFvQWd3Z0FTZ0NEQkJzYWlBQUtBSVFJQUVvQWhBUWJHb2dBQ2dDRkNBQktBSVVFR3hxSUFBb0FoZ2dBU2dDR0JCc2FpQUFLQUljSUFFb0Fod1FiR29nQUNnQ0lDQUJLQUlnRUd4cUlBQW9BaVFnQVNnQ0pCQnNhaUFBS0FJb0lBRW9BaWdRYkdvZ0FDZ0NMQ0FCS0FJc0VHeHFJQUFvQWpBZ0FTZ0NNQkJzYWlBQUtBSTBJQUVvQWpRUWJHb2dBQ2dDT0NBQktBSTRFR3hxSUFBb0Fqd2dBU2dDUEJCc2FpQUFRVUJyS0FJQUlBRkJRR3NvQWdBUWJHb2dBQ2dDUkNBQktBSkVFR3hxSUFBb0FrZ2dBU2dDU0JCc2FpQUFLQUpNSUFFb0Frd1FiR29nQUNnQ1VDQUJLQUpRRUd4cUlBQW9BbFFnQVNnQ1ZCQnNhaUFBS0FKWUlBRW9BbGdRYkdvZ0FDZ0NYQ0FCS0FKY0VHeHFDMEVCQW44Z0FVRUJUZ1JBQWtBZ0FFRUFOZ0lBUVFFaEFnTkFJQUVnQWtZTkFTQUNRUUowSUFCcUlBTkJBV29pQXpZQ0FDQUNRUUZxSVFJTUFBQUxBQXNMQ3o0QkFuOGdBQ2dDQkNBQUtBSUFJZ1JyUVFKMUlnTWdBVWtFUUNBQUlBRWdBMnNnQWhDZkNBVWdBeUFCU3dSQUlBQWdBVUVDZENBRWFqWUNCQXNMQzhvRUFRMS9Jd1loRVNNR1FSQnFKQVlnRVVFRWFpRVNJQWhCQWtraEZDQUlRUUpHSVJVRFFDQVFJQVZJQkVBZ0RrRUlkQ0FMYWlBUVFiRHhCR3dnQkdvb0FnQTJBZ0FnQ1NBUVFiRHhCR3dnQkdvckF3aTJJQkJCc1BFRWJDQUVhaXNERUxZZ0VpQVJFS1lCUVFCT0JFQWdEa0VJZENBTGFpQVNLZ0lBdXprRE9DQU9RUWgwSUF0cVFVQnJJQkVxQWdDN09RTUFJQkJCc1BFRWJDQUVha0VjYWlBUVFiRHhCR3dnQkdwQjNMZ0NhaUFRUWJEeEJHd2dCR29vQWhnZ0VFR3c4UVJzSUFScVFaenhCR29nQ1NBT1FRaDBJQXRxUWNnQWFpQU9RUWgwSUF0cVFhZ0JhaUlQRUtZSVFRQk9CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVlnQnlBSUlBQWdBU0FDSUFNZ0NTQVBJQW9nRGtFSWRDQUxha0VJYWlJV0lBNUJDSFFnQzJwQkZHb2lGeUFPUVFoMElBdHFRU2hxSWhnZ0RrRUlkQ0FMYWtFTWFpSVpJQTVCQ0hRZ0MycEJHR29pR2lBT1FRaDBJQXRxUVRCcUloTWdEU0FPUVFoMElBdHFRZkFCYWlBT1FRaDBJQXRxUWZnQmFoRCtCaUlQUVhwckRnY0ZCQU1DQVFBR0J3dEJBaUVQREFVTFFRTWhEd3dFQzBFRUlROE1Bd3RCQlNFUERBSUxRUWtoRHd3QkMwRUJJUThMSUE1QkNIUWdDMm9nRHpZQzdBRUxBa0FDUUNBVUJFQWdEa0VJZENBTGFpQVdLQUlBTmdJRUlCZ2hFeUFYSVE4TUFRVWdGUVJBSUE1QkNIUWdDMm9nR1NnQ0FEWUNCQ0FhSVE4TUFnc0xEQUVMSUE1QkNIUWdDMm9nRHlnQ0FEWUNFQ0FPUVFoMElBdHFJQk1yQXdBNUF5QUxJQTVCQVdvaERnc0xJQkJCQVdvaEVBd0JDd3NnRENBT05nSUFJQkVrQmtFQUN3Z0FJQUJCNkFCcUM2OElBUWgvSXdZaENTTUdRU0JxSkFZZ0FFRU1haUlIS0FJRUlBQW9BbXdReGdFZ0JVNEVRQ0FCUVFFUWd3SWdBUkRGQVNBRkVJY0JRUUFoQUFOQUlBQWdCVWdFUUNBQVFRSjBJQVJxS0FJQUlRSWdBUkRGQVNnQ0FDQUFRUUowYWlBQ05nSUFJQUJCQVdvaEFBd0JDd3NnQ1NRR0R3c2dDVUVVYWlFR0lBbENBRGNDQUNBSlFnQTNBZ2dnQ1VHQWdJRDhBellDRUNBSElBSWdBeUFFSUFVUXBRZ2dCMEVZYWlJTUtBSUVJZ3NnRENnQ0FDSUlhMEVDZFNBRlJ3UkFJQVpCd01nRFFabnhBUkEzUWRIeEFSQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEIyUElCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VOSUFwQkNpQU5RVDl4UVlvQmFoRUNBQ0VLSUFZUVBDQUhJQW9RUUNBSEVEOFFBQXRCQUNFSEFrQUNRQUpBQWtBRFFDQUhJQXNnQ0d0QkFuVkpCRUFnQjBFQ2RDQUlhaWdDQUNJSVFYOUdEUUlnQ0NBRlRnMERJQWhCQW5RZ0JHb2lDQ2dDQUNBRFRnMEVJQWRCQW5RZ0JHb2hDeUFKSUFnUXd3SWlDQ2dDQkNJS0lBZ29BZ2hHQkVBZ0NDQUxFS1FJQlNBS0lBc29BZ0EyQWdBZ0NDQUtRUVJxTmdJRUN5QUhRUUZxSVFjZ0RDZ0NBQ0VJSUF3b0FnUWhDd3dCQ3dzQ1FDQUpLQUlNUVFGR0JFQWdBVUVCRUlNQ0lBRVF4UUVnQlJDSEFVRUFJUUFEUUNBQUlBVk9EUUlnQUVFQ2RDQUVhaWdDQUNFQ0lBRVF4UUVvQWdBZ0FFRUNkR29nQWpZQ0FDQUFRUUZxSVFBTUFBQUxBQVVnQVJEZkF5QUpLQUlNRUtNSUlBbEJDR29oQkFOQUFrQWdCQ2dDQUNJRVJRMERJQVFvQWhBZ0JDZ0NERVlOQUVHQUFSQlJJZ1VnQUJEaEF5QUNJQVFvQWdoQjRBQnNhaENpQ0NBR0lBVTJBZ0FnQlVFQUVJTUNJQUVRM3dNaUJTZ0NCQ0lISUFVb0FnaEdCRUFnQlNBR0VNSUNCU0FISUFZb0FnQTJBZ0FnQlNBRktBSUVRUVJxTmdJRUN5QUFJQVlvQWdBZ0FpQURJQVFvQWd3aUJTQUVLQUlRSUFWclFRSjFFT0FEREFFTEN5QUdRY0RJQTBHMzlBRVFOMEhSOFFFUU4wSHZvZ0lRTjBHREF4QStRZmFpQWhBM1FlWDBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFKRU9rRElBa2tCZzhMSUFaQndNZ0RRZTd5QVJBM1FkSHhBUkEzUWUraUFoQTNRZTBDRUQ1QjlxSUNFRGRCbWZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBSUxJQVpCd01nRFFhL3pBUkEzUWRIeEFSQTNRZStpQWhBM1FlNENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFFTElBWkJ3TWdEUWZyekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdDeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxFd0FnQUNBQUtBSUVJZ0JCQVdvMkFnUWdBQXZGQXdFSWZ5QUJCRUFDUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lDRUlnQklBSkJ0SXNCTmdJQUlBSkIrUGNBUVJZUUJBc2dBVUVDZEJCUklRSWdBQ2dDQUNFRElBQWdBallDQUNBREJFQWdBQ2dDQkJvZ0F4QTRDeUFBSUFFMkFnUkJBQ0VDQTBBZ0FTQUNSd1JBSUFBb0FnQWdBa0VDZEdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkNHb2hBeUFBS0FJSUlnSUVRQ0FDS0FJRUlRUWdBU0FCUVg5cUlnaHhSU0lKQkg4Z0JDQUljUVVnQkNBQlR3Ui9JQVFnQVJCT0JTQUVDd3NoQmlBQUtBSUFJQVpCQW5ScUlBTTJBZ0FEUUNBQ0lRUURRQUpBQTBBQ1FDQUVLQUlBSWdKRkRRWWdBaWdDQkNFRElBWWdDUVIvSUFNZ0NIRUZJQU1nQVU4RWZ5QURJQUVRVGdVZ0F3c0xJZ1ZHRFFBZ0FDZ0NBQ0FGUVFKMGFpSURLQUlBUlEwQ0lBSWhBd05BSUFNb0FnQWlCd1JBSUFJb0FnZ2dCeWdDQ0VZRVFDQUhJUU1NQWdzTEN5QUVJQWMyQWdBZ0F5QUFLQUlBSUFWQkFuUnFLQUlBS0FJQU5nSUFJQUFvQWdBZ0JVRUNkR29vQWdBZ0FqWUNBQXdCQ3dzZ0FpRUVEQUVMQ3lBRElBUTJBZ0FnQlNFR0RBQUFDd0FMQ3dVZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN5QUFRUUEyQWdRTEN6c0FRZUM4QXl3QUFFVUVRRUhndkFNUWNBUkFRWWpFQTBFQU5nSUFRWXpFQTBFQU5nSUFRWkRFQTBFQU5nSUFRZUM4QXhCdkN3dEJpTVFEQ3drQUlBQWdBVFlDQkFzSkFDQUFJQUUyQWdBTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUVp5R0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N6UUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQkJKR29RbEFnTHVRRUJCWDhnQVNnQ0FDRUJJQUFvQWdRaUFnUkFBa0FnQWlBQ1FYOXFJZ1J4UlNJRkJIOGdBU0FFY1FVZ0FTQUNTUVIvSUFFRklBRWdBaEJPQ3dzaUJrRUNkQ0FBS0FJQWFpZ0NBQ0lBQkg4RFFDQUFLQUlBSWdCRkJFQkJBQ0VBREFNTElBQW9BZ1FpQXlBQlJnUkFJQUVnQUNnQ0NFWU5Bd1VnQlFSQUlBTWdCSEVoQXdVZ0F5QUNUd1JBSUFNZ0FoQk9JUU1MQ3lBRElBWkhCRUJCQUNFQURBUUxDd3dBQUFzQUJVRUFDeUVBQ3dWQkFDRUFDeUFBQ3lrQkFYOGdBQ2dDQ0JDMkNDQUFLQUlBSVFFZ0FFRUFOZ0lBSUFFRVFDQUFLQUlFR2lBQkVEZ0xDMjBCQVg4Z0FFR1VCbW9pQVVFWWFoQlZJQUZCREdvUVZTQUJFRlVnQUVHTUJXb2lBVUg4QUdvUVZTQUJRZkFBYWhCVklBRkIzQUJxRU1RSElBQkIvQVJxRUZVZ0FFR2dBV29RL0FnZ0FFSGNBR29ReHdJZ0FFSElBR29RdVFnZ0FFRkFheENWQVNBQVFReHFFRlVMS0FFQmZ5QUFRUVJxRU9rRElBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBRVE2Z01nQVJBNEN3dXdCd0lIZndGOFFjWUFJUVpCd0lROUlRY2dBMEVCUmlJTEJFQkJ4Z0JCQkJBNUlRWkJ3SVE5UVFRUU9TRUhJQUJCQWhBNUlRQWdBVUVDRURraEFRc2dCVUVBTmdJQUlBQkJmbW9oQ0NBQlFYNXFJUWtnQWtHUWdNZ0FhaUVNUVFBaEFRSkFBa0FEUUFKQUlBRWdBaWdDQ0U0TkFpQUNRUXhxSUFGQkFuUnFJZ01vQWdBaUNpQUdTQ0FLSUFkS2NrVUVRQ0FDUVl5QUNHb2dBVUVFZEdvaUNpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQmtJQUlhaWdDQUNBSVJ3UkFJQUlnQVVFRWRHcEJsSUFJYWlnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCbUlBSWFpZ0NBQ0FKUndSQUlBSW9BZ0FnQUNBTUlBRkJBV29nQ2lBRktBSUFRYkR4Qkd3Z0JHb1F2Z2hCQUU0RVFDQURLQUlBSUFVb0FnQkJzUEVFYkNBRWFoQzNDRUVBVGdSQUlBVW9BZ0JCc1BFRWJDQUVhaUFES0FJQU5nSUFJQVVvQWdBaUEwR3c4UVJzSUFScUlBSkJrSUFvYWlBQlFRUjBhaXNEQURrRENDQURRYkR4Qkd3Z0JHb2dBaUFCUVFSMGFrR1lnQ2hxS3dNQU9RTVFJQVVnQTBFQmFpSUROZ0lBSUFOQlBFWUVRRUU4SVFBTUNBc0xDd3NMQ3dzTElBRkJBV29oQVF3QkN3c01BUXNnQlNnQ0FDRUFDMEVBSVFFRFFDQUJJQUJJQkVBZ0FVR3c4UVJzSUFScUlRWWdBVUd3OFFSc0lBUnFJUWNnQVVHdzhRUnNJQVJxSVFNZ0FVRUJhaUlCSVFJRFFDQUNJQUJJQkVBZ0Jpc0RDQ0FDUWJEeEJHd2dCR29yQXdpaElnMGdEYUlnQnlzREVDQUNRYkR4Qkd3Z0JHb3JBeENoSWcwZ0RhS2dJUTBnQXlnQ0FDSUFJQUpCc1BFRWJDQUVhaUlJS0FJQUlnbEtCRUFnRFNBQVFRUVFPYmRqQkVBZ0NFRUFOZ0lBQ3dVZ0RTQUpRUVFRT2JkakJFQWdBMEVBTmdJQUN3c2dBa0VCYWlFQ0lBVW9BZ0FoQUF3QkN3c01BUXNMUVFBaEFnTkFJQUlnQUVnRVFDQUNRYkR4Qkd3Z0JHb29BZ0JGQkVBZ0FpRUJJQUFoQXdOQUlBRkJBV29pQUNBRFNBUkFJQUZCc1BFRWJDQUVhaUFBUWJEeEJHd2dCR3BCc1BFRUVFd2FJQUFoQVNBRktBSUFJUU1NQVFzTElBVWdBMEYvYWlJQU5nSUFDeUFDUVFGcUlRSU1BUXNMSUFzRVFBSkFRUUFoQVFOQUlBRWdBRTROQVNBRUlBUW9BZ0JCQW5RMkFnQWdCQ0FFS3dNSVJBQUFBQUFBQUFCQW9qa0RDQ0FFSUFRckF4QkVBQUFBQUFBQUFFQ2lPUU1RSUFRb0FoZ2hBa0VBSVFBRFFDQUFJQUpJQkVBZ0JFRWNhaUFBUVFKMGFpSURJQU1vQWdCQkFYUTJBZ0FnQkVIY3VBSnFJQUJCQW5ScUlnTWdBeWdDQUVFQmREWUNBQ0FBUVFGcUlRQU1BUXNMSUFSQnNQRUVhaUVFSUFGQkFXb2hBU0FGS0FJQUlRQU1BQUFMQUFzTFFRQUxFZ0FnQUVIOGhRRTJBZ0FnQUVFRWFoQkhDMGdCQVg4akJpRURJd1pCSUdva0JpQURJQUFvQWpnZ0FpZ0NBQ0FDS0FJRUlBSW9BZ2dnQWlnQ0RCQzRBeUFBSUFNZ0FoRGdBU0FBSUFFZ0F4RGdBU0FERU4wQklBTWtCZ3VMQXdFRWZ3SkFBa0FDUUFKQUlBQW9BaGdPQXdBQUFRSUxJQUFvQWl3aEFnTkFJQUVnQWs0TkF5QUFJQUZCQ0hScUlnTW9BalJCZjBvRVFDQUFJQUZCQ0hScUt3TlFSQUFBQUFBQUFPQS9Zd1JBSUFBZ0FVRUlkR3BCZnpZQ09DQURRWDgyQWpRZ0FDQUJRUWgwYWtFR05nS2NBZ3NMSUFGQkFXb2hBUXdBQUFzQUN5QUFLQUlzSVFJRFFDQUJJQUpPRFFJZ0FDQUJRUWgwYWlJREtBSTBRWDlLQkVBZ0FDQUJRUWgwYWlzRFVFUUFBQUFBQUFEZ1AyTUVRQ0FBSUFGQkNIUnFRWDgyQWp3Z0EwRi9OZ0kwSUFBZ0FVRUlkR3BCQmpZQ25BSUxDeUFCUVFGcUlRRU1BQUFMQUFzZ0FDZ0NMQ0VEQTBBZ0FTQURUZzBCSUFBZ0FVRUlkR29pQWlnQ09FRi9TZ1IvSUFBZ0FVRUlkR29yQTFoRUFBQUFBQUFBNEQ5akJIOGdBa0YvTmdJNFFRQUZRUUVMQlVFQkN5RUNJQUFnQVVFSWRHb2lCQ2dDUEVGL1NnUkFJQUFnQVVFSWRHb3JBMkJFQUFBQUFBQUE0RDlqQkVBZ0JFRi9OZ0k4SUFKRkJFQWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTEN5QUJRUUZxSVFFTUFBQUxBQXNMQ3dBZ0FFTUFBQUEva280TERRQWdBQkRTQVVNWWNqRS9sUXUzQXdJRGZ3TjlJQUFvQWdBaUJDb0NBQ0lISUFFb0FnQWlBeW9DQUNJR1hRUi9RUUVGSUFZZ0IxMEVmMEVBQlNBRUtBSUVJQU1vQWdSSkN3c2hBU0FHSUFJb0FnQWlBaW9DQUNJSVhRUi9RUUVGSUFnZ0JsMEVmMEVBQlNBREtBSUVJQUlvQWdSSkN3c2hBQUovSUFFRWZ5QUFCRUFnQkNBSU9BSUFJQUlnQnpnQ0FDQUVLQUlFSVFBZ0JDQUNLQUlFTmdJRUlBSWdBRFlDQkVFQkRBSUxJQVFnQmpnQ0FDQURJQWM0QWdBZ0JDZ0NCQ0VGSUFRZ0F5Z0NCRFlDQkNBRElBVTJBZ1FnQnlBQ0tnSUFJZ1pkQkVBZ0FrRUVhaUVBSUFJb0FnUWhBUVZCQVNBR0lBZGREUUlhUVFFZ0JTQUNRUVJxSWdBb0FnQWlBVThOQWhvTElBTWdCamdDQUNBQ0lBYzRBZ0FnQXlBQk5nSUVJQUFnQlRZQ0FFRUNCU0FBQkg4Z0F5QUlPQUlBSUFJZ0JqZ0NBQ0FES0FJRUlRQWdBeUFDS0FJRU5nSUVJQUlnQURZQ0JDQUVLZ0lBSWdjZ0F5b0NBQ0lHWFFSQUlBUkJCR29oQUNBREtBSUVJUUVnQkNnQ0JDRUNCVUVCSUFZZ0IxME5BeHBCQVNBRVFRUnFJZ0FvQWdBaUFpQURLQUlFSWdGUERRTWFDeUFFSUFZNEFnQWdBeUFIT0FJQUlBQWdBVFlDQUNBRElBSTJBZ1JCQWdWQkFBc0xDd3Z0QVFFRmZ5QUFLQUlBSVFZZ0FDZ0NCQ0VEQTBBZ0F5QUdSd1JBSUFFb0FnUWlCRUYwYWlJQ1FRQTJBZ0FnQkVGNGFpSUZRUUEyQWdBZ0JFRjhhaUlFUVFBMkFnQWdBaUFEUVhScUlnSW9BZ0EyQWdBZ0JTQURRWGhxSWdVb0FnQTJBZ0FnQkNBRFFYeHFJZ01vQWdBMkFnQWdBMEVBTmdJQUlBVkJBRFlDQUNBQ1FRQTJBZ0FnQVNBQktBSUVRWFJxTmdJRUlBSWhBd3dCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUN5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFTWJCQkZHaUFBSUFGQkRHd2dBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVF4c0VFVWFJQUFnQVVFTWJDQUNhallDQkFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lFQ3hNQUlBQWdBVFlDVkNBQVFUeHFJQUVRMFFJTE93RUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJiR28yQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMcVFFQkEzOGdBQ2dDQUNFRUlBQW9BZ1FoQWdOQUlBSWdCRWNFUUNBQktBSUVRV3hxSWdNZ0FrRnNhaUlDS1FJQU53SUFJQU1nQWlrQ0NEY0NDQ0FESUFJb0FoQTJBaEFnQVNBQktBSUVRV3hxTmdJRURBRUxDeUFBS0FJQUlRSWdBQ0FCS0FJRU5nSUFJQUVnQWpZQ0JDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFFb0FnUTJBZ0FMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY3lacytZQVN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFVWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FSUnNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVVYkNBRWFqWUNEQXZrQVFFR2Z5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEF5QUFCSDhnQVNBQVFmU0dyd05xSWdVb0FnQkdCSDlCQUFVZ0FFR0loNjhEYWlJRUtBSUFJZ1lFUUNBR0VFa2dCRUVBTmdJQUN3SkFBa0FDUUFKQUlBRU9CUU1BQUFBQkFnc2dCQ0FBS0FJa0lBQW9BaWdRZ3dnMkFnQU1BZ3NnQUVHRWg2OERha0VCTmdJQUlBQkJnSWV2QTJwQkFUWUNBRUVFSVFFTUFRdEJBRUVEUWNpbEFTQUNFRDFCQUNFQkN5QUZJQUUyQWdBZ0FDZ0NBRUVCUmdSQUlBTWdBVUVDZEVHQUNHb29BZ0EyQWdCQkFFRURRWkttQVNBREVEMExRUUFMQlVGL0N5RUhJQUlrQmlBSEN5Z0FJQUFnQVRnQ0FDQUFJQUk0QWdRZ0FDQURPQUlJSUFBZ0JEZ0NEQ0FBSUFWQkFYRTZBQkFMZXdFQmZ5TUdJUUlqQmtFUWFpUUdJQUFFUUNBQUtBSUFJQUZIQkVBQ1FDQUFJQUUyQWdBZ0FVVUVRQ0FBUWVTR3B3SnFJZ0FvQWdBUU9DQUFRUUEyQWdBTUFRc2dBRUhraHFjQ2FpQUFLQUlvSUFBb0FpUnNFRVFpQURZQ0FDQUFSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNMQ3dzZ0FpUUdDNW9CQVFSL0l3WWhCU01HUVJCcUpBWWdBaUFCYXlJRVFXOUxCRUFRQUFzZ0JFRUxTUVJBSUFBZ0JEb0FDd1VnQUNBRVFSQnFRWEJ4SWdZUVVTSUROZ0lBSUFBZ0JrR0FnSUNBZUhJMkFnZ2dBQ0FFTmdJRUlBTWhBQXNnQWlBQmF5RUdJQUFoQXdOQUlBRWdBa2NFUUNBRElBRVFYeUFCUVFGcUlRRWdBMEVCYWlFRERBRUxDeUFGUVFBNkFBQWdBQ0FHYWlBRkVGOGdCU1FHQzRJQkFRTi9Jd1loQWlNR1FSQnFKQVlnQUFSQUlBQW9BZ0FpQVFSQUlBRW9BZ0FpQVFSQUlBRVFPQXRCQUNFQkEwQWdBU0FBS0FJQUlnTW9BZ3hJQkVBZ0F5Z0NDQ0FCUVF4c2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0F5Z0NDQkE0SUFBb0FnQVFPQ0FBUVFBMkFnQUxCVUVBUVFOQjNMZ0JJQUlRUFFzZ0FpUUdDeEVBSUFBZ0FDZ0NBQ0FBS0FJRUVLVUpDNjRCQVFWL0l3WWhCU01HUVJCcUpBWWdBQ0FDSUFNZ0JVRUVhaUFGRUtZSlFRQklCSDlCZndVZ0JTb0NCQ0FCS2dJTUlnS1VRek16eTBHVlF3QUFBRCtTRUVNaUFFRUFTQVIvUVg4RklBRW9BZ1FpQnlBQVNnUi9JQUVvQWdnaUNMSWdBaUFGS2dJQWxFTXpNOHRCbFpOREFBQUFQNUlRUXlJR1FYOUtJQWdnQmtweEJIOGdCQ0FCS0FJQUlBQWdCaUFIYkdwcUxBQUFPZ0FBUVFBRlFYOExCVUYvQ3dzTElRa2dCU1FHSUFrTHZRSUNCSDhDZlNNR0lRWWpCa0ZBYXlRR0lBWkJOR29oQnlBR1FUQnFJUWdnQUFSL0lBQkJDR29nQVNBR0VQb0JJQUJCdUFGcUlnQWdCaW9DRENBR0tnSUFJQUtVSUFZcUFnUWdBNVNTa2lBR0tnSXNJQVlxQWlBZ0FwUWdCaW9DSkNBRGxKS1NJZ3VWSWdvZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFMbFNJRElBUWdCUkJ0UVFCSUJIOUJmd1VnQUNBRUtnSUFJQVVxQWdBZ0J5QUlFS1lCUVFCSUJIOUJmd1VnQ2lBSEtnSUFreUlDSUFLVUlBTWdDQ29DQUpNaUFpQUNsSkpEQUFDQVAxNUJIM1JCSDNVTEN3VWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFS0lBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDaUFDbFRnQ0FFRUFDeUVKSUFZa0JpQUpDNFlMQVFwL0lBTW9BaGdoQ0FKQUFrQUNRQ0FDUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnQXlnQ0RDRUxJQU1vQWhRaERTQUJRUUYwSVE0Z0FDQUVRUUFnQXlnQ0NHc2lCMEVCZEdvZ0FTQUZRUUFnQXlnQ0VHc2lCVUVCZEdwc2Ftb2hCRUVBSVFCQkFDRUJRUUFoQWdOQUlBVWdEVW9FUUF3REJTQUhJUXdnQkNFSkEwQWdEQ0FMVEFSQUlBZ3VBUUFpRDBHQUlFY0VRQ0FBSUFrdEFBQWlDbW9oQUNBQklBb2dDbXhxSVFFZ0FpQVBRZi8vQTNFZ0NteHFJUUlMSUF4QkFXb2hEQ0FJUVFKcUlRZ2dDVUVDYWlFSkRBRUxDeUFFSUE1cUlRUWdCVUVCYWlFRkRBRUxBQUFMQUFzZ0FrRUNTUVJBSUFNb0FoUWhEa0VBSUFNb0FoQnJJUW9nQ0NFSlFRQWhBa0VBSVFnRFFDQUtJQTVLQkVBZ0FpRUFJQWdoQVNBTUlRSU1Bd1VnQXlnQ0RDRVBRUUFnQXlnQ0NDSUhheUVMSUFBZ0JDQUJJQVVnQ2tFQmRHcHNhaUFIUVFGMGEwRURiR29oQndOQUlBc2dEMHdFUUNBSkxnRUFJaEJCZ0NCSEJFQWdBaUFITFFBQ0lBY3RBQUFnQnkwQUFXcHFRUU1RU0NJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDMEVCYWlFTElBZEJCbW9oQnlBSlFRSnFJUWtNQVFzTElBcEJBV29oQ2d3QkN3QUFDd0FMSUFKQkFYSkJBMFlFUUNBREtBSVVJUTVCQUNBREtBSVFheUVLSUFnaENVRUFJUUpCQUNFSUEwQWdDaUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lCMnNoQ3lBQUlBUWdBU0FGSUFwQkFYUnFiR29nQjBFQmRHdEJBblJxSVFjRFFDQUxJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQnkwQUFpQUhMUUFBSUFjdEFBRnFha0VERUVnaURXb2hBaUFJSUEwZ0RXeHFJUWdnRENBUVFmLy9BM0VnRFd4cUlRd0xJQXRCQVdvaEN5QUhRUWhxSVFjZ0NVRUNhaUVKREFFTEN5QUtRUUZxSVFvTUFRc0FBQXNBQ3lBQ1FRSnlRUVpHQkVBZ0F5Z0NGQ0VPUVFBZ0F5Z0NFR3NoQ2lBSUlRbEJBQ0VDUVFBaENBTkFJQW9nRGtvRVFDQUNJUUFnQ0NFQklBd2hBZ3dEQlNBREtBSU1JUTlCQUNBREtBSUlJZ2RySVFzZ0FDQUVJQUVnQlNBS1FRRjBhbXhxSUFkQkFYUnJRUUowYWlFSEEwQWdDeUFQVEFSQUlBa3VBUUFpRUVHQUlFY0VRQ0FDSUFjdEFBTWdCeTBBQVNBSExRQUNhbXBCQXhCSUlnMXFJUUlnQ0NBTklBMXNhaUVJSUF3Z0VFSC8vd054SUExc2FpRU1DeUFMUVFGcUlRc2dCMEVJYWlFSElBbEJBbW9oQ1F3QkN3c2dDa0VCYWlFS0RBRUxBQUFMQUFzQ1FBSkFBa0FnQWtFSGF3NENBQUVDQ3lBREtBSVVJUTVCQUNFQ1FRQWdBeWdDRUdzaENpQUlJUWNEUUNBS0lBNUtCRUFnQWlFQUlBa2hBU0FNSVFJTUJBVWdBeWdDRENFUElBa2hDRUVBSUFNb0FnZ2lDMnNoQ1NBQUlBUWdBU0FGSUFwQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUpJQTlNQkVBZ0J5NEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFTSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQmFpRUpJQXRCQkdvaEN5QUhRUUpxSVFjTUFRc0xJQWdoQ1NBS1FRRnFJUW9NQVFzQUFBc0FDeUFES0FJVUlRNGdDQ0VKUVFBaEFrRUFJUWhCQUNBREtBSVFheUVIQTBBZ0J5QU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUMyc2hDaUFBSUFRZ0FTQUZJQWRCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBS0lBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdDeTBBQUNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVDYWlFSklBcEJBV29oQ2lBTFFRUnFJUXNNQVFzTElBZEJBV29oQnd3QkN3QUFDd0FMUVFBaEFFRUFJUUZCQUNFQ0N5QUdJQUVnQUNBQWJDQURLQUlrSWdFUU9Xc2lCQVIvSUFJZ0FDQURLQUlnYkNBQkVEbHJRZVFBYkNBREtBSWNFRGxCNUFCc0lBU3lrUkJERURrRlFRQUxOZ0lBQzBVQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTkRBQUFBUDVRaUE0d2dBeUFEUXdBQUFBQmRHd3VJRGdNSWZ3RitEWDBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUlJQVpCREdvaENTQUdRUWhxSVFvZ0JrRUVhaUVMSUFKQkFFZ0VRRUYvSVFFRkFrQUNRQUpBQWtBQ1FBSkFJQUlPQkFBQkFnTUVDeUFFUVFnUU9iSWhFaUFFUVFkc1FRZ1FPYkloRXlBRlFRZ1FPYkloRkNBRlFRZHNRUWdRT2JJaEZTQUVRUUlRT2JJaEZpQUZRUUlRT2JJaEYwRUFJUUpCZnlFQkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRWwwZ0R5QVRYbkpGQkVBZ0FrRVliQ0FBYWlvQ0ZDSVFJQlJkSUJBZ0ZWNXlSUVJBSUE4Z0ZwTWlEeUFQbENBUUlCZVRJZzhnRDVTU0lnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQlFzZ0FVRVliQ0FBYWtFQk5nSU1EQVFMSUFSQkNCQTVzaUVTSUFSQkIyeEJDQkE1c2lFVElBVkJDQkE1c2lFVUlBVkJCMnhCQ0JBNXNpRVZRWDhoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUpCR0d3Z0FHb3FBaEFpRHlBU1hTQVBJQk5lY2tVRVFDQUNRUmhzSUFCcUtnSVVJaEFnRkYwZ0VDQVZYbkpGQkVBZ0R5QURLZ0lBa3lJUElBK1VJQkFnQXlvQ0JKTWlEeUFQbEpJaUR5QVJYZ1JBSUE4aEVTQUNJUUVMQ3dzTElBSkJBV29oQWd3QkN3c2dBVUYvUmdSQVFYOGhBUXdFQ3lBQlFSaHNJQUJxUVFFMkFnd01Bd3NnQkVFSUVEbXlJUklnQkVFSGJFRUlFRG15SVJNZ0JVRUlFRG15SVJRZ0JVRUhiRUVJRURteUlSVkJmeUVCUVFBaEFnTkFBa0FDUUFKQUlBSkJHR3dnQUdvb0FneEJmMnNPQWdJQUFRc2dBa0VZYkNBQWFpb0NFQ0lQSUJKZElBOGdFMTV5UlFSQUlBSkJHR3dnQUdvcUFoUWlFQ0FWWGlBUUlCUmRja1VFUUNBUElBTXFBZ0FpRDVNZ0F5b0NEQ0FES2dJRUloYVRsQ0FRSUJhVElBTXFBZ2dnRDVPVWt5SVBJQStVSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1Bd3NnQVVFWWJDQUFha0VCTmdJTURBSUxJQU1nQTBFSWFpQUhJQWdRMndJZ0F5QURRUkJxSUFrZ0NoRGJBaUFFUVFnUU9iSWhGaUFFUVFkc1FRZ1FPYkloRnlBRlFRZ1FPYkloR0NBRlFRZHNRUWdRT2JJaEdTQURRUmhxSVF3Z0NTb0NBQ0lVSUFncUFnQWlFcFFpRVNBS0tnSUFJaFVnQnlvQ0FDSVRsQ0lQazBNQUFBQUFZRVVoQ1NBUElCR1RRd0FBQUFCZ1JTRU5RUUpCQVNBSkd5RUhRUUZCQWlBSkd5RUlRWDhoQVVFQUlRSkRBQUFBQUNFUkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRmwwZ0R5QVhYbkpGQkVBZ0FrRVliQ0FBYWlJRUtnSVVJaEFnR0YwZ0VDQVpYbkpGQkVBZ0RDQVBPQUlBSUFNZ0JDZ0NGRFlDSENBRElBd2dDeUFHRU5zQ0lBc3FBZ0FoRHdKL0FrQWdDUVIvSUFZcUFnQWhFQXdCQlNBU0lBK1VJQk1nQmlvQ0FDSVFsSk5EQUFBQUFHQUVmMEVDUVFNZ0ZTQVBsQ0FVSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVCSVFwQkEwRUNJQVViQlF3Q0N3c01BUXNnRFNBVklBK1VJaG9nRkNBUWxDSWJrME1BQUFBQVlFVnlCSDhnRXlBUWxDQVNJQStVazBNQUFBQUFZRVVnR3lBYWswTUFBQUFBWUVWeURRUkJBeUVLSUFnaEJDQUhCVUVCUVFNZ0VpQVBsQ0FUSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVDSVFwQkEwRUJJQVViQ3dzaEJTQURJQW9nQlNBRUVMQUpJZzhnRVY0RWZ5QVBJUkVnQWdVZ0FRc2hBUXNMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQlFSaHNJQUJxUVFFMkFnd0xEQUVMUVFBaEF3SkFBa0FEUUFKQUFrQUNRQ0FEUVJoc0lBRnFJZ0lvQWd4QmYyc09BZ0lBQVFzZ0FrRUJOZ0lNSUFOQkdHd2dBV29oQkNBRFFSaHNJQUZxSVFVZ0EwRVliQ0FCYWlFSFFRQWhBZ05BQWtBQ1FDQUNRUmhzSUFCcUlnZ29BZ3hCZjJzT0FnTUFBUXNnQkNnQ0FDQUNRUmhzSUFCcUtBSUFSZ1JBSUFVb0FnUWdBa0VZYkNBQWFpZ0NCRVlFUUNBSEtBSUlJQUpCR0d3Z0FHb29BZ2hHRFFjTEN3c2dBa0VCYWlFQ0RBQUFDd0FMSUFOQkFXb2hBd3dCQ3dzTUFRc2dDRUVCTmdJTUlBSWhBUXdCQ3lBQlFYODJBZ3hCaE1RRFFRQkJoTVFES0FJQUlnRUVmeUFCQlVIb3ZnTkJBQkFUUVg5cXJUY0RBRUdFeEFNb0FnQUxRUUZxSWdFZ0FVR0FBVVliTmdJQVFRQWhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUJSUVJBUVg4aEFRd0JDMEhvdmdOQjZMNERLUU1BUXEzKzFlVFVoZjJvMkFCK1FnRjhJZzQzQXdBZ0FiSWdEa0loaUtleWxFTUFBQUF3bEJCRElRUkJBQ0VDUVFBaEFRTkFBa0FDUUFKQUFrQWdBa0VZYkNBQWFpSUZLQUlNSWdOQmYyc09BZ0FCQWdzZ0F5RUJEQVFMSUFFZ0JFWU5BU0FCUVFGcUlRRUxJQUpCQVdvaEFnd0JDd3NnQlVFQk5nSU1JQUloQVFzTElBWWtCaUFCQzVnRUFnRi9FWDBqQmlFRUl3WkJNR29rQmlBQUJFQWdBRUVJYWlBQklBUVErZ0VnQWlvQ0FDSUxJQVFxQWdBaUZKUWhEaUFDS2dJRUlnWWdCQ29DQkNJTWxDRVBJQVlnQkNvQ0ZDSU5sQ0VRSUFRcUFpd2lDaUFMSUFRcUFpQWlCNVFpQ1NBR0lBUXFBaVFpQ0pRaUJaS1NJUkVnQ2lBTFF3QUFJRUdTSWhJZ0I1UWdCWktTSVJNZ0NpQUpJQVpEQUFBZ1FaSWlCaUFJbEpLU0lRb2dCQ29DSENJSElBc2dCQ29DRUNJSWxDSUZJQVlnRFpTU2tpQUtsU0VMSUFRcUFnd2lDU0FPSUFZZ0RKU1NraUFLbFNFTUJTQUNLZ0lBSWdzZ0FTb0NBQ0lVbENFT0lBSXFBZ1FpQmlBQktnSUVJZ3lVSVE4Z0JpQUJLZ0lVSWcyVUlSQWdBU29DTENJS0lBc2dBU29DSUNJSGxDSUpJQVlnQVNvQ0pDSUlsQ0lGa3BJaEVTQUtJQXREQUFBZ1FaSWlFaUFIbENBRmtwSWhFeUFLSUFrZ0JrTUFBQ0JCa2lJR0lBaVVrcEloQ2lBQktnSWNJZ2NnQ3lBQktnSVFJZ2lVSWdVZ0JpQU5sSktTSUFxVklRc2dBU29DRENJSklBNGdCaUFNbEpLU0lBcVZJUXdMSUFjZ0VpQUlsQ0FRa3BJZ0U1VWhEU0FKSUJJZ0ZKUWdENUtTSUJPVklSVWdCeUFGSUJDU2tpQVJsU0VISUFrZ0RpQVBrcElnRVpVaENTQVZJQW1USWdVZ0JaUWdEU0FIa3lJRklBV1VraUlJSUF3Z0NaTWlCU0FGbENBTElBZVRJZ1VnQlpTU0lnVmRJUUFnQXlBRklBZ2dBQnVSUTF5UElrQ1VPQUlBSUFNZ0NDQUZJQUFia1VOY2p5SkFsRGdDQkNBRUpBWkJBQXNmQUNBQUJIOGdBQ0FCSUFJZ0F4Q0dCQVZCQUNBQklBSWdBeENHQkFzYUN3WUFRUndRQWdzR0FFRWJFQUlMQmdCQkZ4QUNDd1lBUVJJUUFnc0lBRUVQRUFKQ0FBc0lBRUVNRUFKQkFBc0lBRUVLRUFKQkFBdU1BUUVDZnlNRlFRRnFKQVVnQUNNRk5nSUFBMEFnQkNBRFNBUkFJQVJCQTNRZ0Ftb29BZ0JGQkVBZ0JFRURkQ0FDYWlNRk5nSUFJQVJCQTNSQkJHb2dBbW9nQVRZQ0FDQUVRUU4wUVFocUlBSnFRUUEyQWdBZ0F4QURJQUlQQ3lBRVFRRnFJUVFNQVFzTElBQWdBU0FDSUFOQkFYUWlBRUVCYWtFRGRCRG9BU0FBRUk4RUlRVWdBQkFESUFVTHJ3d0JCMzhnQUNBQmFpRUZJQUFvQWdRaUEwRUJjVVVFUUFKQUlBQW9BZ0FoQWlBRFFRTnhSUVJBRHdzZ0FTQUNhaUVCSUFBZ0Ftc2lBRUhBMFFNb0FnQkdCRUFnQlNnQ0JDSUNRUU54UVFOSERRRkJ0TkVESUFFMkFnQWdCU0FDUVg1eE5nSUVJQUFnQVVFQmNqWUNCQ0FGSUFFMkFnQVBDeUFDUVFOMklRUWdBa0dBQWtrRVFDQUFLQUlJSWdJZ0FDZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xEQUVMSUFBb0FoZ2hCeUFBSUFBb0Fnd2lBa1lFUUFKQUlBQkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0FDZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUhCRUFnQUNBQUtBSWNJZ05CQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFkQkVHb2lBeUFIUVJScUlBQWdBeWdDQUVZYklBSTJBZ0FnQWtVTkFnc2dBaUFITmdJWUlBQW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFBb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFVb0FnUWlCMEVDY1FSQUlBVWdCMEYrY1RZQ0JDQUFJQUZCQVhJMkFnUWdBQ0FCYWlBQk5nSUFJQUVoQXdVZ0JVSEUwUU1vQWdCR0JFQkJ1TkVESUFGQnVORURLQUlBYWlJQk5nSUFRY1RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCRUhBMFFNb0FnQWdBRWNFUUE4TFFjRFJBMEVBTmdJQVFiVFJBMEVBTmdJQUR3c2dCVUhBMFFNb0FnQkdCRUJCdE5FRElBRkJ0TkVES0FJQWFpSUJOZ0lBUWNEUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkNBQUlBRnFJQUUyQWdBUEN5QUhRUU4ySVFRZ0IwR0FBa2tFUUNBRktBSUlJZ0lnQlNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTEJRSkFJQVVvQWhnaENDQUZLQUlNSWdJZ0JVWUVRQUpBSUFWQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQlNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSUJFQWdCU2dDSENJRFFRSjBRZHpUQTJvaUJDZ0NBQ0FGUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWhCRUdvaUF5QUlRUlJxSUFNb0FnQWdCVVliSUFJMkFnQWdBa1VOQWdzZ0FpQUlOZ0lZSUFVb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQVVvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQUFnQVNBSFFYaHhhaUlEUVFGeU5nSUVJQUFnQTJvZ0F6WUNBQ0FBUWNEUkF5Z0NBRVlFUUVHMDBRTWdBellDQUE4TEN5QURRUU4ySVFJZ0EwR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUEwRUJJQUowSWdKeEJIOGdBVUVJYWlJREtBSUFCVUdzMFFNZ0FpQURjallDQUNBQlFRaHFJUU1nQVFzaEFpQURJQUEyQWdBZ0FpQUFOZ0lNSUFBZ0FqWUNDQ0FBSUFFMkFnd1BDeUFEUVFoMklnRUVmeUFEUWYvLy93ZExCSDlCSHdVZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQW5RaUJFR0E0QjlxUVJCMlFRUnhJUUZCRGlBQklBSnlJQVFnQVhRaUFVR0FnQTlxUVJCMlFRSnhJZ0p5YXlBQklBSjBRUTkyYWlJQlFRRjBJQU1nQVVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUVnQUNBQ05nSWNJQUJCQURZQ0ZDQUFRUUEyQWhBQ1FFR3cwUU1vQWdBaUJFRUJJQUowSWdaeFJRUkFRYkRSQXlBRUlBWnlOZ0lBSUFFZ0FEWUNBQXdCQ3lBRElBRW9BZ0FpQVNnQ0JFRjRjVVlFUUNBQklRSUZBa0FnQTBFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFRRFFDQUJRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBZ1JBSUFSQkFYUWhCQ0FESUFJb0FnUkJlSEZHRFFJZ0FpRUJEQUVMQ3lBR0lBQTJBZ0FNQWdzTElBSW9BZ2dpQVNBQU5nSU1JQUlnQURZQ0NDQUFJQUUyQWdnZ0FDQUNOZ0lNSUFCQkFEWUNHQThMSUFBZ0FUWUNHQ0FBSUFBMkFnd2dBQ0FBTmdJSUM4MEJBUU4vUWUvLy8vOERJQUZySUFKSkJFQVFBQXNnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSVFVZ0FVSG4vLy8vQVVrRVFFRUNJQUZCQVhRaUJ5QUJJQUpxSWdJZ0FpQUhTUnNpQWtFRWFrRjhjU0FDUVFKSkd5SUNRZi8vLy84RFN3UkFFQUFGSUFJaEJnc0ZRZS8vLy84RElRWUxJQVpCQW5RUVVTRUNJQVFFUUNBQ0lBVWdCQkNuQVFzZ0F5QUVheUlEQkVBZ0FpQUVRUUowYWlBRklBUkJBblJxSUFNUXB3RUxJQUZCQVVjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUM2QUNBUVIvSXdZaENDTUdRUkJxSkFaQjd2Ly8vd01nQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84QlNRUkFRUUlnQVVFQmRDSUxJQUVnQW1vaUFpQUNJQXRKR3lJQ1FRUnFRWHh4SUFKQkFra2JJZ0pCLy8vLy93TkxCRUFRQUFVZ0FpRUtDd1ZCNy8vLy93TWhDZ3NnQ2tFQ2RCQlJJUUlnQkFSQUlBSWdDU0FFRUtjQkN5QUdCRUFnQkVFQ2RDQUNhaUFISUFZUXB3RUxJQU1nQldzaUF5QUVheUlIQkVBZ0JFRUNkQ0FDYWlBR1FRSjBhaUFFUVFKMElBbHFJQVZCQW5ScUlBY1Fwd0VMSUFGQkFVY0VRQ0FKRURnTElBQWdBallDQUNBQUlBcEJnSUNBZ0hoeU5nSUlJQUFnQXlBR2FpSUFOZ0lFSUFoQkFEWUNBQ0FBUVFKMElBSnFJQWdRYmlBSUpBWUxrQUVCQTM4akJpRURJd1pCRUdva0JpQUJRZS8vLy84RFN3UkFFQUFMSUFGQkFra0VRQ0FBSUFFNkFBc2dBQ0VFQlNBQlFRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQVRZQ0JBc0xJQUVFUUNBRUlBSWdBUkRyQkFzZ0EwRUFOZ0lBSUFGQkFuUWdCR29nQXhCdUlBTWtCZ3Z1QVFFRGZ5TUdJUWdqQmtFUWFpUUdRVzRnQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84SFNRUi9RUXNnQVVFQmRDSUtJQUVnQW1vaUFpQUNJQXBKR3lJQ1FSQnFRWEJ4SUFKQkMwa2JCVUZ2Q3lJS0VGRWhBaUFFQkVBZ0FpQUpJQVFRcUFFTElBWUVRQ0FDSUFScUlBY2dCaENvQVFzZ0F5QUZheUlESUFScklnY0VRQ0FHSUFJZ0JHcHFJQVVnQkNBSmFtb2dCeENvQVFzZ0FVRUtSd1JBSUFrUU9Bc2dBQ0FDTmdJQUlBQWdDa0dBZ0lDQWVISTJBZ2dnQUNBRElBWnFJZ0EyQWdRZ0NFRUFPZ0FBSUFBZ0Ftb2dDQkJmSUFna0Jnc1dBQ0FCQkVBZ0FDQUNFRUpCL3dGeElBRVFSUm9MQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFCUVc5TEJFQVFBQXNnQVVFTFNRUkFJQUFnQVRvQUN3VWdBQ0FCUVJCcVFYQnhJZ1FRVVNJRk5nSUFJQUFnQkVHQWdJQ0FlSEkyQWdnZ0FDQUJOZ0lFSUFVaEFBc2dBQ0FCSUFJUWxRUWdBMEVBT2dBQUlBQWdBV29nQXhCZklBTWtCZ3Y2RlFNTWZ3RitBbndqQmlFTEl3WkIwQUZxSkFZZ0MwSElBV29oRFNBTFFjQUJhaUVPSUF0QjRBQnFJUXdnQXlnQ0JDRUtBMEFnQnlBS1NBUkFJQU1vQWdBaUNDQUhRY0FDYkdvaENTQUhRY0FDYkNBSWFpZ0NCQVJBSUFkQndBSnNJQWhxSVJCQkFDRUZRWDhoQmdOQUlBVWdBa2dFUUFKQUFrQUNRQ0FGUVFoMElBRnFLQUlNSWc4TkFDQUZRUWgwSUFGcUtRUDRBU0lSVUEwQUlCRWdFQ2tEdUFKUkRRRU1BZ3NnRHlBSktBSUFSZzBBREFFTElBVkJDSFFnQVdvckF6QWlFaUFES3dONFkwVUVRQ0FHUVg5R0JIOGdCUVVnQmtFSWRDQUJhaXNETUNBU1l3Ui9JQVVGSUFZTEN5RUdDd3NnQlVFQmFpRUZEQUVMQ3lBSFFjQUNiQ0FJYWlBR05nS3dBaUFHUVg5S0JFQWdCa0VJZENBQmFpQUdRUWgwSUFGcUtBSVlOZ0lRQ3dWQmZ5RUdRUUFoQlFOQUlBVWdBa2dFUUNBRlFRaDBJQUZxS0FJSUlBa29BZ0JHQkVBZ0JVRUlkQ0FCYWlzREtDSVNJQU1yQTNCalJRUkFJQVpCZjBZRWZ5QUZCU0FHUVFoMElBRnFLd01vSUJKakJIOGdCUVVnQmdzTElRWUxDeUFGUVFGcUlRVU1BUXNMSUFkQndBSnNJQWhxSUFZMkFyQUNJQVpCZjBvRVFDQUdRUWgwSUFGcUlBWkJDSFFnQVdvb0FoUTJBaEFMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCVUVBSVFKQkFDRUdRUUFoQndOQUlBY2dDa2dFUUNBREtBSUFJZ29nQjBIQUFteHFLQUt3QWlJSVFRQk9CRUFDUUNBQUlBaEJDSFFnQVdvaUNTQUhRY0FDYkNBS2Fpc0RDQ0FMRU5vRFJBQUFBQUFBQUJCQVpBUkFJQU1vQWdBZ0IwSEFBbXhxUVg4MkFyQUNJQWhCQ0hRZ0FXb2lDQ2dDN0FFTkFTQUlRUWMyQXV3QkRBRUxJQVZGSUFJZ0NTZ0NBQ0lJU0hJRVFFRUFJUUlEZnlBQ1FRTkdCSDhnQnlFR0lBZ0ZRUUFoQmdOQUlBWkJCRWNFUUNBQ1FRVjBJQXhxSUFaQkEzUnFJQUpCQlhRZ0Myb2dCa0VEZEdvckF3QTVBd0FnQmtFQmFpRUdEQUVMQ3lBQ1FRRnFJUUlNQVFzTElRSUxJQVZCQVdvaEJRc0xJQWRCQVdvaEJ5QURLQUlFSVFvTUFRc0xBa0FDUUNBRlJRMEFJQVVnQXlnQ2dBRklEUUFnRENBREtBSUFJQVpCd0FKc2FrSHdBR29nQ3hDekFpQUZRUVowRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxJQVZCNEFCc0VFUWlCa1VFUUVFQVFRTkJ1ZGdDSUEwUVBVRUJFQUVMSUFWQkFuUWhDQ0FES0FJRUlSQkJBQ0VGUVFBaEFnTkFJQVVnRUVnRVFDQURLQUlBSWdvZ0JVSEFBbXhxS0FLd0FpSUpRUUJPQkVBZ0FrRURkQ0lOUVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFRZ0NVRUlkQ0FCYWlnQ0VDSU9hMEVFRUU4aUQwRUVkR29yQXdBNUF3QWdEVUVCY2tFRGRDQUhhaUFKUVFoMElBRnFJQTlCQkhScUt3T3dBVGtEQUNBTlFRSnlRUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVVnRG10QkJCQlBJZzlCQkhScUt3TUFPUU1BSUExQkEzSkJBM1FnQjJvZ0NVRUlkQ0FCYWlBUFFRUjBhaXNEc0FFNUF3QWdEVUVFY2tFRGRDQUhhaUFKUVFoMElBRnFRYWdCYWtFR0lBNXJRUVFRVHlJUFFRUjBhaXNEQURrREFDQU5RUVZ5UVFOMElBZHFJQWxCQ0hRZ0FXb2dEMEVFZEdvckE3QUJPUU1BSUExQkJuSkJBM1FnQjJvZ0NVRUlkQ0FCYWtHb0FXcEJCeUFPYTBFRUVFOGlEa0VFZEdvckF3QTVBd0FnRFVFSGNrRURkQ0FIYWlBSlFRaDBJQUZxSUE1QkJIUnFLd093QVRrREFDQUNRUXhzSWdsQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlBQk9RTUFJQWxCQVhKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlnQk9RTUFJQWxCQW5KQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStBQk9RTUFJQWxCQTNKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStnQk9RTUFJQWxCQkdwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9BQk9RTUFJQWxCQldwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9nQk9RTUFJQWxCQm1wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRBQ09RTUFJQWxCQjJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRnQ09RTUFJQWxCQ0dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVBQ09RTUFJQWxCQ1dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVnQ09RTUFJQWxCQ21wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZBQ09RTUFJQWxCQzJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZnQ09RTUFJQUpCQVdvaEFnc2dCVUVCYWlFRkRBRUxDeUFFUVFCSElRUWdBeWdDYUFSQUlBQWdDeUFISUFZZ0NDQU1FTDhDSWhJZ0FDQURRUWhxSWdJZ0J5QUdJQWdnQWhDL0FpSVRZeUVGSUFRRVFDQUZCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5wUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpuWlB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRQUFBQUFBQUFBQUJDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQURRUWhxSUFCQkJYUnFJQUpCQTNScUlBQkJCWFFnREdvZ0FrRURkR29yQXdBNUF3QWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQlNBVElSSUxDd3NMQ3dVZ0JRUkFRUUFoQUFOQUlBQkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBMEVJYWlBQVFRVjBhaUFDUVFOMGFpQUFRUVYwSUF4cUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3dVZ0V5RVNDd3NGSUFRZ0FDQUxJQWNnQmlBSUlBTkJDR29pQWhDL0FpSVNSQUFBQUFBQUFEUkFabkVFUUNBQUtBSUFSSnFabVptWm1lay9FSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJJaEpFQUFBQUFBQUFORUJtQkh3Z0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0FoQ09BU0lTUkFBQUFBQUFBRFJBWmdSOElBQW9BZ0JFbXBtWm1abVoyVDhRalFFZ0FDQUxJQWNnQmlBSUlBSVFqZ0VpRWtRQUFBQUFBQUEwUUdZRWZDQUFLQUlBUkFBQUFBQUFBQUFBRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCQlNBU0N3VWdFZ3NGSUJJTElSSUxDeUFHRURnZ0J4QTRBa0FnRWtRQUFBQUFBQUEwUUdNRVFDQURRUUUyQW1nTUFRc2dBMEVBTmdKb0lBTW9BZ1FoQWtFQUlRQURRQ0FBSUFKT0RRRWdBeWdDQUNBQVFjQUNiR29vQXJBQ0lnUkJBRTRFUUNBRVFRaDBJQUZxSWdRb0F1d0JSUVJBSUFSQkNEWUM3QUVMQ3lBQVFRRnFJUUFNQUFBTEFBc01BUXNnQTBFQU5nSm9DeUFMSkFZTHlRd0NFSDhSZkNNR0lRWWpCa0dBQVdva0JpQUdRZmdBYWlFT0lBWkI4QUJxSVE4Z0JrSG9BR29oRUNBR1FlQUFhaUVSSUFaQjJBQnFJUklnQmtIUUFHb2hDQ0FHUWNnQWFpRUpJQU5CQkVnRWYwRi9CUUovQTBBZ0JTQURTQVJBSUFWQkFXb2hFMEYvSUFWQkdHd2dBbW9yQXhCRUFBQUFBQUFBQUFCaURRSWFJQk1oQlF3QkN3c2dBQ3NEQUVRQUFBQUFBQUFBQUdFRWYwRi9CU0FBS3dNZ1JBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckF5aEVBQUFBQUFBQUFBQmhCSDlCZndVZ0FFRkFheXNEQUVRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dOSVJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExQkVBQUFBQUFBQThEOWlCSDlCZndVZ0FDc0RHRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd000UkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFoRUFBQUFBQUFBQUFCaUJIOUJmd1VnQTBFQmRDSUZRUWdRaXdFaUNrVUVRRUVBUVFOQjlhd0JJQWtRUFVGL0RBb0xJQVZCQVJDTEFTSUpSUVJBSUFvUVNVRUFRUU5CajYwQklBZ1FQVUYvREFvTFFRQWhDQU5BSUFNZ0NFY0VRQ0FLS0FJQUlnY2dDRUVFZENJRlFRTjBhaUFJUVJoc0lBSnFJZ3NyQXdBNUF3QWdCVUVCY2tFRGRDQUhhaUFJUVJoc0lBSnFJZ3dyQXdnNUF3QWdCVUVDY2tFRGRDQUhha1FBQUFBQUFBRHdQemtEQUNBRlFRTnlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQkhKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUZja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVFaeVFRTjBJQWRxSUFzckF3QWdDRUVFZENBQmFpSU5Ld01Bb3BvNUF3QWdCVUVIY2tFRGRDQUhhaUFNS3dNSUlBMHJBd0NpbWprREFDQUZRUWh5UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkNYSkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVLY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRdHlRUU4wSUFkcUlBc3JBd0E1QXdBZ0JVRU1ja0VEZENBSGFpQU1Ld01JT1FNQUlBVkJEWEpCQTNRZ0IycEVBQUFBQUFBQThEODVBd0FnQlVFT2NrRURkQ0FIYWlBTEt3TUFJQWhCQkhRZ0FXb2lDeXNEQ0tLYU9RTUFJQVZCRDNKQkEzUWdCMm9nRENzRENDQUxLd01Jb3BvNUF3QWdDU2dDQUNJSElBaEJBWFFpQlVFRGRHb2dEU3NEQURrREFDQUZRUUZ5UVFOMElBZHFJQXNyQXdnNUF3QWdDRUVCYWlFSURBRUxDeUFLRUtBRElnRkZCRUFnQ2hCSklBa1FTVUVBUVFOQnFhMEJJQklRUFVGL0RBb0xJQUVnQ2hEWkFTSURSUVJBSUFvUVNTQUpFRWtnQVJCSlFRQkJBMEhEclFFZ0VSQTlRWDhNQ2dzZ0FTQUpFTmtCSWdWRkJFQWdDaEJKSUFrUVNTQUJFRWtnQXhCSlFRQkJBMEhkclFFZ0VCQTlRWDhNQ2dzZ0F4RFdBVUVBU0FSQUlBb1FTU0FKRUVrZ0FSQkpJQU1RU1NBRkVFbEJBRUVEUWZldEFTQVBFRDFCZnd3S0N5QURJQVVRMlFFaUJ3Ui9JQWNvQWdBaUFpc0RNQ0VXSUFJckF3QWdGaUFBS3dNUUloMmlvU0FDS3dNWUlCWWdBQ3NETUNJYm9xRWdBQ3NES0NJY295SVpJQUFyQXdnaUhxS2hJQUFyQXdBaUg2TWhHQ0FDS3dNZ0lCc2dBaXNET0NJVm9xRWdIS01oRnlBQ0t3TUlJQjBnRmFLaElCNGdGNktoSUIraklSb2dBaXNES0NBYm9TQWNveUViSUFJckF4QWhKQ0FLRUVrZ0NSQkpJQUVRU1NBREVFa2dCUkJKSUFjUVNTQUdJQmdnRmlBV29pQVpJQm1pSUJnZ0dLS2dvSjhpR0tNNUF3QWdCaUFaSUJpak9RTUlJQVlnRmlBWW96a0RFQ0FHSUJvZ0ZTQVZvaUFYSUJlaUlCb2dHcUtnb0o4aUZxTTVBeGdnQmlBWElCYWpPUU1nSUFZZ0ZTQVdvemtES0NBR0VQSUpJQVlyQXdnaUdTQUdLd01vSWhxaUlBWXJBeEFpSENBR0t3TWdJaUNpb1NFVklCd2dCaXNER0NJaG9pQWFJQVlyQXdBaUlxS2hJUmNnQmlBVklDQWdJcUlnR1NBaG9xRWlJeUFqb2lBVklCV2lJQmNnRjZLZ29KOGlGYU1pSlRrRE1DQUdJQmNnRmFNaUZ6a0RPQ0FHUVVCcklDTWdGYU1pRlRrREFDQUVJQ0k1QXdBZ0JDQVpPUU1nSUFSQlFHc2dIRGtEQUNBRUlDRTVBd2dnQkNBZ09RTW9JQVFnR2prRFNDQUVJQ1U1QXhBZ0JDQVhPUU13SUFRZ0ZUa0RVQ0FFSUNRZ0hhRWdIaUFib3FFZ0g2TWdHQ0FXb0VRQUFBQUFBQURnUDZJaUZxTTVBeGdnQkNBYklCYWpPUU00SUFSRUFBQUFBQUFBOEQ4Z0ZxTTVBMWhCQUFVZ0NoQkpJQWtRU1NBQkVFa2dBeEJKSUFVUVNVRUFRUU5Ca2E0QklBNFFQVUYvQ3dzTEN3c0xDd3NMQ3dzTElSUWdCaVFHSUJRTEVnQWdBRUdzb2dFMkFnQWdBRUVRYWhCSEN4SUFJQUJCaEtJQk5nSUFJQUJCREdvUVJ3c2pBUUYvSUFCQjBLRUJOZ0lBSUFBb0FnZ2lBUVJBSUFBc0FBd0VRQ0FCRURnTEN3dDlBUVIvSUFCQnZLRUJOZ0lBSUFCQkNHb2hBd05BSUFJZ0FDZ0NEQ0FES0FJQUlnRnJRUUoxU1FSQUlBSkJBblFnQVdvb0FnQWlBUVJBSUFFZ0FTZ0NCQ0lFUVg5cU5nSUVJQVJGQkVBZ0FTQUJLQUlBS0FJSVFmOEJjVUdzQTJvUkFRQUxDeUFDUVFGcUlRSU1BUXNMSUFCQmtBRnFFRWNnQXhDUENndlVDZ0lQZndSOEl3WWhDeU1HUWNBQmFpUUdJQXRCdUFGcUlRZ2dDMEd3QVdvaERpQUxRYWdCYWlFS0lBdEJvQUZxSVFVZ0MwR1FBV29oRHlBTFFUQnFJUkFnQVNnQ0NDSUpRUVJJQkg5QmZ3VUNmd0ovSUFBckE0QUJJQW0zb2hCeklSRWdDVUhnQUd3UVJDSUdSUVJBUVFCQkEwSEsyQUlnQlJBOVFYOE1BZ3NnQ1VFRWRCQkVJZ2RGQkVCQkFFRURRY3JZQWlBS0VEMGdCaEE0UVg4TUFnc2dDVUVEZENJRkVFUWlDVVVFUUVFQVFRTkJ5dGdDSUE0UVBTQUdFRGdnQnhBNFFYOE1BZ3NnQlJCRUlnMUZCRUJCQUVFRFFjcllBaUFJRUQwZ0JoQTRJQWNRT0NBSkVEaEJmd3dDQ3lBUlFYOXFJZ1VMUVFNZ0JVRURTaHNoRWtFQUlRb0RRQ0FLUVFOSEJFQkJBQ0VNQTBBZ0RFRUVSd1JBSUFwQkJYUWdBMm9nREVFRGRHb2dDa0VGZENBQ2FpQU1RUU4wYWlzREFEa0RBQ0FNUVFGcUlRd01BUXNMSUFwQkFXb2hDZ3dCQ3dzZ0VrRURkQ0FOYWlFTVFRQWhDZ0pBQWtBQ1FBSkFBMEFDUUNBQUlBTWdFQkN6QWtFQUlRVURRQ0FGSUFFb0FnZ2lBa2dFUUNBUElCQWdBU2dDQkNBRlFSaHNhaEM3QkVFQVNBMENJQUVvQWdBaUFpQUZRUVIwYWlzREFDQVBLd01Bb1NFV0lBVkJCSFFnQW1vckF3Z2dEeXNEQ0tFaEZDQUZRUUYwSWdKQkEzUWdCMm9nRmprREFDQUNRUUZ5UVFOMElBZHFJQlE1QXdBZ0JVRURkQ0FOYWlBV0lCYWlJQlFnRktLZ0loUTVBd0FnQlVFRGRDQUphaUFVT1FNQUlBVkJBV29oQlF3QkN3c2dEU0FDUVFoQkVoQ0NBeUFCS0FJSUlRSkVBQUFBQUFBQU1FQWdEQ3NEQUVRQUFBQUFBQUFRUUtJaUZDQVVSQUFBQUFBQUFEQkFZeHNpRjBRQUFBQUFBQUFZUUtNaEZrUUFBQUFBQUFBQUFDRVVRUUFoQlFOQUlBVWdBa2dFUUNBVUlBVkJBM1FnRFdvckF3QWlGQ0FYWkFSOElCWUZJQlpFQUFBQUFBQUE4RDlFQUFBQUFBQUE4RDhnRkNBWG82RWlGQ0FVSUJTaW9xR2lDNkFoRkNBRlFRRnFJUVVNQVFzTElCUWdBcmVqSWhRZ0FDc0RhR01OQlNBS0JFQWdGQ0FBS3dONFl3UkFJQlFnRmFNZ0FDc0RjR1FOQndzTElBb2dBQ2dDWUVZTkJVRUFJUVZCQUNFT0EwQWdEaUFDU0FSQUlBNUJBM1FnQ1dvckF3QWlGU0FYWlFSQUlBVkJCbXdpQ0VFRGRDQUdhaUlDSUFBZ0F5QUJLQUlFSUE1QkdHeHFFTGtFUVFCSURRVWdBa1FBQUFBQUFBRHdQeUFWSUJlam9TSVZJQldpSWhVZ0Fpc0RBS0k1QXdBZ0NFRUJja0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFQ2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVEYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUVha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVHYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUhha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVKYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUtha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFTGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdCVUVEZENBSGFpQVZJQTVCQVhRaUFrRURkQ0FIYWlzREFLSTVBd0FnQlVFQmFrRURkQ0FIYWlBVklBSkJBWEpCQTNRZ0Iyb3JBd0NpT1FNQUlBVkJBbW9oQlNBQktBSUlJUUlMSUE1QkFXb2hEZ3dCQ3dzZ0JVRUdTQTBESUFzZ0J5QUdJQVVRc3dSQkFFZ05CQ0FESUFzUXNnUWdGQ0VWSUFwQkFXb2hDZ3dCQ3dzZ0JpQUhJQWtnRFJDUEFrRi9EQVFMSUFZZ0J5QUpJQTBRandKQmZ3d0RDeUFHSUFjZ0NTQU5FSThDUVg4TUFnc2dCaUFISUFrZ0RSQ1BBa0YvREFFTElBUWdGRGtEQUNBR0VEZ2dCeEE0SUFrUU9DQU5FRGhCQUFzTElSTWdDeVFHSUJNTEhnQWdBRUdNb1FFMkFnQWdBQ2dDQ0JCY1J3UkFJQUFvQWdnUWh3TUxDeElBSUFRZ0FqWUNBQ0FISUFVMkFnQkJBd3NFQUVFRUN4VUFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd4cEJmd3YrQ0FFTWZ5QUNJQUEyQWdBZ0RVRUVhaUVZSUFOQmdBUnhSU0VaSUE1QkFFb2hHZ05BSUJkQkJFY0VRQUpBQWtBQ1FBSkFBa0FDUUNBSUlCZHFMQUFBRGdVQUFRTUNCQVVMSUFFZ0FpZ0NBRFlDQUF3RUN5QUJJQUlvQWdBMkFnQWdCaWdDQUNnQ0xDRVBJQVpCSUNBUFFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxTmdJQUlBOGdFRFlDQUF3REN5QU5MQUFMSWc5QkFFZ2hFQ0FZS0FJQUlBOUIvd0Z4SUJBYkJFQWdEU2dDQUNBTklCQWJLQUlBSVJBZ0FpQUNLQUlBSWc5QkJHbzJBZ0FnRHlBUU5nSUFDd3dDQ3lBTUxBQUxJZzlCQUVnaEVDQVpJQXdvQWdRZ0QwSC9BWEVnRUJzaUUwVnlSUVJBSUF3b0FnQWdEQ0FRR3lJUElCTkJBblJxSVJFZ0FpZ0NBQ0lRSVJJRFFDQVBJQkZIQkVBZ0VpQVBLQUlBTmdJQUlCSkJCR29oRWlBUFFRUnFJUThNQVFzTElBSWdFMEVDZENBUWFqWUNBQXNNQVFzZ0FpZ0NBQ0VVSUFSQkJHb2dCQ0FIR3lJV0lRUURRQUpBSUFRZ0JVOE5BQ0FHS0FJQUtBSU1JUThnQmtHQUVDQUVLQUlBSUE5QlAzRkJ5Z0ZxRVFRQVJRMEFJQVJCQkdvaEJBd0JDd3NnR2dSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJaTGNRUkFJQVJCZkdvaUJDZ0NBQ0VSSUFJZ0FpZ0NBQ0lRUVFScU5nSUFJQkFnRVRZQ0FDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUlzSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVRJQThoRVNBQ0tBSUFJUkFEUUNBUVFRUnFJUThnRVVFQVNnUkFJQkFnRXpZQ0FDQVJRWDlxSVJFZ0R5RVFEQUVMQ3lBQ0lBODJBZ0FnRUNBSk5nSUFDeUFFSUJaR0JFQWdCaWdDQUNnQ0xDRUVJQVpCTUNBRVFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxSWdRMkFnQWdEeUFRTmdJQUJTQUxMQUFMSWc5QkFFZ2hFQ0FMS0FJRUlBOUIvd0Z4SUJBYkJIOGdDeWdDQUNBTElCQWJMQUFBQlVGL0N5RVBRUUFoRUVFQUlSSWdCQ0VSQTBBZ0VTQVdSd1JBSUFJb0FnQWhGU0FQSUJKR0JIOGdBaUFWUVFScUloTTJBZ0FnRlNBS05nSUFJQXNzQUFzaUQwRUFTQ0VWSUJCQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJVYlNRUkFRWDhnQkNBTEtBSUFJQXNnRlJ0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJJaER3dEJBQ0VTSUJNRklCQWhCQ0FWQ3lFUUlCRkJmR29pRVNnQ0FDRVRJQUlnRUVFRWFqWUNBQ0FRSUJNMkFnQWdCQ0VRSUJKQkFXb2hFZ3dCQ3dzZ0FpZ0NBQ0VFQ3lBRUlCUkdCSDhnRmdVRFFDQVVJQVJCZkdvaUJFa0VRQ0FVS0FJQUlROGdGQ0FFS0FJQU5nSUFJQVFnRHpZQ0FDQVVRUVJxSVJRTUFRVWdGaUVFREFNTEFBQUxBQXNoQkFzZ0YwRUJhaUVYREFFTEN5QU5MQUFMSWdSQkFFZ2hCeUFZS0FJQUlBUkIvd0Z4SUFjYklnWkJBVXNFUUNBTktBSUFJZ1ZCQkdvZ0dDQUhHeUVFSUFaQkFuUWdCU0FOSUFjYmFpSUhJQVJySVFZZ0FpZ0NBQ0lGSVFnRFFDQUVJQWRIQkVBZ0NDQUVLQUlBTmdJQUlBaEJCR29oQ0NBRVFRUnFJUVFNQVFzTElBSWdCa0VDZGtFQ2RDQUZhallDQUFzQ1FDQURRYkFCY1VFWWRFRVlkVUVRYXlJRFJRMEFJQU5CRUVZRVFDQUJJQUlvQWdBMkFnQU1BUXNnQVNBQU5nSUFDd3ZaQlFFRmZ5TUdJUW9qQmtFUWFpUUdJQXBCREdvaEN5QUtJQUFFZnlBQ1FmalBBeEE2QlNBQ1FmRFBBeEE2Q3lJQUlBRUVmeUFMSUFBZ0FDZ0NBQ2dDTEVFL2NVR3lCV29SQXdBZ0F5QUxLQUlBTmdBQUlBQW9BZ0FvQWlBRklBc2dBQ0FBS0FJQUtBSW9RVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NIQXRCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBRUlBQWdBQ2dDQUNnQ0RFSC9BSEZCQ0dvUkFBQTJBZ0FnQlNBQUlBQW9BZ0FvQWhCQi93QnhRUWhxRVFBQU5nSUFJQW9nQUNBQUtBSUFLQUlVUVQ5eFFiSUZhaEVEQUNBR0xBQUxRUUJJQkVBQ2Z5QUdLQUlBSVEwZ0MwRUFPZ0FBSUEwTElBc1FYeUFHUVFBMkFnUWdCaXdBQzBFQVNBUkFJQVlvQWdnYUlBWW9BZ0FRT0NBR1FRQTJBZ2dMQlNBTFFRQTZBQUFnQmlBTEVGOGdCa0VBT2dBTEN5QUdJQW9wQWdBM0FnQWdCaUFLS0FJSU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQXBxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFLRUVjZ0NpQUFJQUFvQWdBb0FoaEJQM0ZCc2dWcUVRTUFJQWNzQUF0QkFFZ0VRQUovSUFjb0FnQWhEaUFMUVFBMkFnQWdEZ3NnQ3hCdUlBZEJBRFlDQkNBSExBQUxRUUJJQkVBZ0J5Z0NDQm9nQnlnQ0FCQTRJQWRCQURZQ0NBc0ZJQXRCQURZQ0FDQUhJQXNRYmlBSFFRQTZBQXNMSUFjZ0Npa0NBRGNDQUNBSElBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFKSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBMkFnQWdDaVFHQzdZSUFRcC9JQUlnQURZQ0FDQURRWUFFY1VVaEZ5QU9RUUJLSVJnRFFDQVZRUVJIQkVBQ1FBSkFBa0FDUUFKQUFrQWdDQ0FWYWl3QUFBNEZBQUVEQWdRRkN5QUJJQUlvQWdBMkFnQU1CQXNnQVNBQ0tBSUFOZ0lBSUFZb0FnQW9BaHdoRHlBR1FTQWdEMEUvY1VHS0FXb1JBZ0FoRUNBQ0lBSW9BZ0FpRDBFQmFqWUNBQ0FQSUJBNkFBQU1Bd3NnRFN3QUN5SVBRUUJJSVJBZ0RTZ0NCQ0FQUWY4QmNTQVFHd1JBSUEwb0FnQWdEU0FRR3l3QUFDRVFJQUlnQWlnQ0FDSVBRUUZxTmdJQUlBOGdFRG9BQUFzTUFnc2dEQ3dBQ3lJUFFRQklJUkFnRnlBTUtBSUVJQTlCL3dGeElCQWJJZzlGY2tVRVFDQVBJQXdvQWdBZ0RDQVFHeUlQYWlFUUlBSW9BZ0FoRVFOQUlBOGdFRWNFUUNBUklBOHNBQUE2QUFBZ0VVRUJhaUVSSUE5QkFXb2hEd3dCQ3dzZ0FpQVJOZ0lBQ3d3QkN5QUNLQUlBSVJJZ0JFRUJhaUFFSUFjYkloTWhCQU5BQWtBZ0JDQUZUdzBBSUFRc0FBQWlEMEYvVEEwQUlBWW9BZ2dnRDBFQmRHb3VBUUJCZ0JCeFJRMEFJQVJCQVdvaEJBd0JDd3NnR0FSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJOTGNRUkFJQVJCZjJvaUJDd0FBQ0VSSUFJZ0FpZ0NBQ0lRUVFGcU5nSUFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUljSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVJBMEFnQWlBQ0tBSUFJaEJCQVdvMkFnQWdEMEVBU2dSQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQWdDVG9BQUFzZ0JDQVRSZ1JBSUFZb0FnQW9BaHdoQkNBR1FUQWdCRUUvY1VHS0FXb1JBZ0FoRHlBQ0lBSW9BZ0FpQkVFQmFqWUNBQ0FFSUE4NkFBQUZBa0FnQ3l3QUN5SVBRUUJJSVJBZ0N5Z0NCQ0FQUWY4QmNTQVFHd1IvSUFzb0FnQWdDeUFRR3l3QUFBVkJmd3NoRDBFQUlSRkJBQ0VVSUFRaEVBTkFJQkFnRTBZTkFTQVBJQlJHQkVBZ0FpQUNLQUlBSWdSQkFXbzJBZ0FnQkNBS09nQUFJQXNzQUFzaUQwRUFTQ0VXSUJGQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJZYlNRUkFRWDhnQkNBTEtBSUFJQXNnRmh0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJRaER3dEJBQ0VVQlNBUklRUUxJQkJCZjJvaUVDd0FBQ0VXSUFJZ0FpZ0NBQ0lSUVFGcU5nSUFJQkVnRmpvQUFDQUVJUkVnRkVFQmFpRVVEQUFBQ3dBTEN5QUNLQUlBSWdRZ0VrWUVmeUFUQlFOQUlCSWdCRUYvYWlJRVNRUkFJQklzQUFBaER5QVNJQVFzQUFBNkFBQWdCQ0FQT2dBQUlCSkJBV29oRWd3QkJTQVRJUVFNQXdzQUFBc0FDeUVFQ3lBVlFRRnFJUlVNQVFzTElBMHNBQXNpQkVFQVNDRUdJQTBvQWdRZ0JFSC9BWEVnQmhzaUJVRUJTd1JBSUEwb0FnQWdEU0FHR3lJRUlBVnFJUVVnQWlnQ0FDRUdBMEFnQlNBRVFRRnFJZ1JIQkVBZ0JpQUVMQUFBT2dBQUlBWkJBV29oQmd3QkN3c2dBaUFHTmdJQUN3SkFJQU5Cc0FGeFFSaDBRUmgxUVJCcklnTkZEUUFnQTBFUVJnUkFJQUVnQWlnQ0FEWUNBQXdCQ3lBQklBQTJBZ0FMQzlrRkFRVi9Jd1loQ2lNR1FSQnFKQVlnQ2tFTWFpRUxJQW9nQUFSL0lBSkI2TThERURvRklBSkI0TThERURvTElnQWdBUVIvSUFzZ0FDQUFLQUlBS0FJc1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0lBVWdDeUFBSUFBb0FnQW9BaWhCUDNGQnNnVnFFUU1BSUFNZ0N5Z0NBRFlBQUNBQUtBSUFLQUljQzBFL2NVR3lCV29SQXdBZ0NDd0FDMEVBU0FSQUFuOGdDQ2dDQUNFTUlBdEJBRG9BQUNBTUN5QUxFRjhnQ0VFQU5nSUVJQWdzQUF0QkFFZ0VRQ0FJS0FJSUdpQUlLQUlBRURnZ0NFRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFnZ0N4QmZJQWhCQURvQUN3c2dDQ0FLS1FJQU53SUFJQWdnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBUWdBQ0FBS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRklBQWdBQ2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQUlBQW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUxRUUE2QUFBZ0RRc2dDeEJmSUFaQkFEWUNCQ0FHTEFBTFFRQklCRUFnQmlnQ0NCb2dCaWdDQUJBNElBWkJBRFlDQ0FzRklBdEJBRG9BQUNBR0lBc1FYeUFHUVFBNkFBc0xJQVlnQ2lrQ0FEY0NBQ0FHSUFvb0FnZzJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQ21wQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFvUVJ5QUtJQUFnQUNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VPSUF0QkFEb0FBQ0FPQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFrZ0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTHRTTUJHMzhqQmlFUEl3WkJnQVJxSkFZZ0QwSDBBMm9oR1NBUFFkZ0RhaUVmSUE5QjFBTnFJU0FnRDBHOEEyb2hEQ0FQUWJBRGFpRU5JQTlCcEFOcUlRNGdEMEdZQTJvaEVTQVBRWlFEYWlFWElBOUJrQU5xSVJ3Z0QwSHdBMm9pR2lBS05nSUFJQTlCNkFOcUloUWdEellDQUNBVVFaRUJOZ0lFSUE5QjRBTnFJaElnRHpZQ0FDQVBRZHdEYWlJYklBOUJrQU5xTmdJQUlBOUJ5QU5xSWhaQ0FEY0NBQ0FXUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdGbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQXhDQURjQ0FDQU1RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RHcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBMUNBRGNDQUNBTlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRFdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUE1Q0FEY0NBQ0FPUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQkZDQURjQ0FDQVJRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0VXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBSWdBeUFaSUI4Z0lDQVdJQXdnRFNBT0lCY1Fxd29nQ1NBSUtBSUFOZ0lBSUFSQmdBUnhRUUJISVNGQkFDRUNBbjhDUUFKQUFrQUNRQUpBQWtBRFFBSkFJQk5CQkU4TkJ5QUFLQUlBSWdNRWZ5QURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FCS0FJQUlndEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVFzTEFrQUNRQUpBQWtBQ1FBSkFBa0FnRXlBWmFpd0FBQTRGQVFBREFnUUdDeUFUUVFOSEJFQWdCMEdBd0FBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5CeUFSSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFBVWdBeUFFUVFScU5nSU1JQVFvQWdBTEVJNENEQVVMREFVTElCTkJBMGNOQXd3RUN5QU5LQUlFSUEwc0FBc2lBMEgvQVhFZ0EwRUFTQnNpQzBFQUlBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlRYTBjRVFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJpRUtJQXRGSWdzZ0VFVnlCRUFnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElRTWdDd1JBSUE0b0FnQWdEaUFPTEFBTFFRQklHeWdDQUNBRFJ3MEdJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0JrRUJPZ0FBSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CZ3NnRFNnQ0FDQU5JQTBzQUF0QkFFZ2JLQUlBSUFOSEJFQWdCa0VCT2dBQURBWUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0RTQUNJQTBvQWdRZ0RTd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3dKL0lBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUVrSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0pDQU5LQUlBSUEwZ0RTd0FDMEVBU0Jzb0FnQkdDd1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFOSUFJZ0RTZ0NCQ0FOTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBVUxJQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBT0tBSUFJQTRnRGl3QUMwRUFTQnNvQWdCSERRY2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBR1FRRTZBQUFnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnc01Bd3NDUUFKQUlCTkJBa2tnQW5JRVFDQU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1nRXcwQkJTQVRRUUpHSUJrc0FBTkJBRWR4SUNGeVJRUkFRUUFoQWd3R0N5QU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1NQVFzTUFRc2dHU0FUUVg5cWFpMEFBRUVDU0FSQUFrQUNRQU5BSUFNZ0RDZ0NCQ0FLUWY4QmNTQUtRUmgwUVJoMVFRQklJaEFiUVFKMElBUWdEQ0FRRzJwSEJFQWdCMEdBd0FBZ0F5Z0NBQ0FIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NNQVFzZ0RDd0FDeUVLSUF3b0FnQWhCQXNnRVN3QUN5SVlRUUJJSVJVZ0F5QUVJQXdnQ2tFWWRFRVlkVUVBU0JzaUhTSVFhMEVDZFNJaUlCRW9BZ1FpSGlBWVFmOEJjU0lZSUJVYlN3Ui9JQkFGSUJFb0FnQWdIa0VDZEdvaUhpQVlRUUowSUJGcUloZ2dGUnNoSTBFQUlDSnJRUUowSUI0Z0dDQVZHMm9oRlFOL0lCVWdJMFlOQXlBVktBSUFJQjBvQWdCR0JIOGdIVUVFYWlFZElCVkJCR29oRlF3QkJTQVFDd3NMSVFNTEN3TkFBa0FnQXlBTUtBSUVJQXBCL3dGeElBcEJHSFJCR0hWQkFFZ2lDaHRCQW5RZ0JDQU1JQW9iYWtZTkFDQUFLQUlBSWdRRWZ5QUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FMUlEwQUlBc29BZ3dpQ2lBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwREN3d0JDeUFFRFFGQkFDRUxDeUFBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMSUFNb0FnQkhEUUFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFUUNBRUlBUW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdCQ0FLUVFScU5nSU1JQW9vQWdBYUN5QURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzZ0lRUkFJQXdzQUFzaUNrRUFTQ0VFSUF3b0FnUWdDa0gvQVhFZ0JCdEJBblFnRENnQ0FDQU1JQVFiYWlBRFJ3MEhDd3dDQzBFQUlRUWdDeUVEQTBBQ1FDQUFLQUlBSWdvRWZ5QUtLQUlNSWhBZ0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFS0FrQUNRQ0FMUlEwQUlBc29BZ3dpRUNBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoQ3dzZ0IwR0FFQ0FBS0FJQUlnb29BZ3dpRUNBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMSWhBZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFBRWZ5QUpLQUlBSWdvZ0dpZ0NBRVlFUUNBSUlBa2dHaEROQVNBSktBSUFJUW9MSUFrZ0NrRUVhallDQUNBS0lCQTJBZ0FnQkVFQmFnVWdGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUJBZ0lDZ0NBRVp4UlEwQklCSW9BZ0FpQ2lBYktBSUFSZ1JBSUJRZ0VpQWJFTTBCSUJJb0FnQWhDZ3NnRWlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSVFJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0VFRUVhallDRENBUUtBSUFHZ3NNQVFzTElCSW9BZ0FpQ2lBVUtBSUFSeUFFUVFCSGNRUkFJQW9nR3lnQ0FFWUVRQ0FVSUJJZ0d4RE5BU0FTS0FJQUlRb0xJQklnQ2tFRWFqWUNBQ0FLSUFRMkFnQUxJQmNvQWdCQkFFb0VRQUpBSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dIeWdDQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJCR28yQWd3Z0NpZ0NBQm9MQTBBZ0Z5Z0NBRUVBVEEwQklBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQWRCZ0JBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5DaUFKS0FJQUlCb29BZ0JHQkVBZ0NDQUpJQm9RelFFTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2hCQ0FKSUFrb0FnQWlDa0VFYWpZQ0FDQUtJQVEyQWdBZ0Z5QVhLQUlBUVg5cU5nSUFJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCRUFnQkNBRUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBUWdDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUU1DUUFKQUlBdEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUVFMREFFTElBTU5Ba0VBSVFzTElBZEJnTUFBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUFzZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVFYWpZQ0RDQUVLQUlBQ3hDT0Fnd0FBQXNBQ3lBVFFRRnFJUk1NQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFFb0FnQWlBMFVOQUNBREtBSU1JZ2dnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCRVVOQXdzTUFRc2dCQTBCQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElBSXNBQXRCQUVnRWZ5QUNLQUlBQlNBQ0N5QUhRUUowYWlnQ0FFY05BQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQkdvMkFnd2dCQ2dDQUJvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlFvQWdBaUFDQVNLQUlBSWdGR0JIOUJBUVVnSEVFQU5nSUFJQllnQUNBQklCd1FlQ0FjS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSlNBUkVFY2dEaEJISUEwUVJ5QU1FRWNnRmhCSElCUW9BZ0FoQUNBVVFRQTJBZ0FnQUFSQUlBQWdGQ2dDQkVIL0FYRkJyQU5xRVFFQUN5QVBKQVlnSlF1c0FRRUZmeUFDS0FJQUlBQW9BZ0FpQXlJR2F5SUZRUUYwSWdSQkFTQUVHMEYvSUFWQi8vLy8vd2RKR3lFRklBRW9BZ0FoQnlBRFFRQWdBQ2dDQkVHUkFVY2lCQnNnQlJEb0FTSURSUVJBRUFBTElBUUVRQ0FBSUFNMkFnQUZJQUFvQWdBaEJDQUFJQU0yQWdBZ0JBUkFJQVFnQUNnQ0JFSC9BWEZCckFOcUVRRUFJQUFvQWdBaEF3c0xJQUJCa2dFMkFnUWdBU0FISUFacklBTnFOZ0lBSUFJZ0JTQUFLQUlBYWpZQ0FBdWNKQUVhZnlNR0lSQWpCa0dBQkdva0JpQVFRZkFEYWlFYUlCQkI3UU5xSVNBZ0VFSHNBMm9oSVNBUVFid0RhaUVOSUJCQnNBTnFJUTRnRUVHa0Eyb2hEeUFRUVpnRGFpRVJJQkJCbEFOcUlSY2dFRUdRQTJvaEhpQVFRZWdEYWlJYklBbzJBZ0FnRUVIZ0Eyb2lGU0FRTmdJQUlCVkJrUUUyQWdRZ0VFSFlBMm9pRXlBUU5nSUFJQkJCMUFOcUlod2dFRUdRQTJvMkFnQWdFRUhJQTJvaUZrSUFOd0lBSUJaQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FXYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRFVJQU53SUFJQTFCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU5ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEa0lBTndJQUlBNUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBT2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0QwSUFOd0lBSUE5QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FQYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRVVJQU53SUFJQkZCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVJha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dBaUFESUJvZ0lDQWhJQllnRFNBT0lBOGdGeEN2Q2lBSklBZ29BZ0EyQWdBZ0JFR0FCSEZCQUVjaElrRUFJUUlDZndKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnRkVFRVR3MEhJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0FTZ0NBQ0lNUlEwQUlBd29BZ3dpQkNBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXdMQWtBQ1FBSkFBa0FDUUFKQUFrQWdGQ0FhYWl3QUFBNEZBUUFEQWdRR0N5QVVRUU5IQkVBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxJZ05CL3dGeFFSaDBRUmgxUVg5TURRY2dCeWdDQ0NBRFFSaDBRUmgxUVFGMGFpNEJBRUdBd0FCeFJRMEhJQkVnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0MwSC9BWEVRekFFTUJRc01CUXNnRkVFRFJ3MEREQVFMSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SUxRUUFnRHlnQ0JDQVBMQUFMSWdOQi93RnhJQU5CQUVnYklneHJSd1JBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0MwVWlDeUFNUlhJRVFDQUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBIL0FYRWhBeUFMQkVBZ0R5Z0NBQ0FQSUE4c0FBdEJBRWdiTFFBQUlBTkhEUVlnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQVpCQVRvQUFDQVBJQUlnRHlnQ0JDQVBMQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFZTElBNG9BZ0FnRGlBT0xBQUxRUUJJR3kwQUFDQURSd1JBSUFaQkFUb0FBQXdHQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDeUFLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0N5RUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nRGlnQ0FDQU9JQTRzQUF0QkFFZ2JMUUFBSUF0Qi93RnhSZ1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CUXNnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEIvd0Z4SUE4b0FnQWdEeUFQTEFBTFFRQklHeTBBQUVjTkJ5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0JrRUJPZ0FBSUE4Z0FpQVBLQUlFSUE4c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSUxEQU1MQWtBQ1FDQVVRUUpKSUFKeUJFQWdEU2dDQUNJS0lBMGdEU3dBQ3lJRFFRQklJZ3NiSWhnaEJDQVVEUUVGSUJSQkFrWWdHaXdBQTBFQVIzRWdJbkpGQkVCQkFDRUNEQVlMSUEwb0FnQWlDaUFOSUEwc0FBc2lBMEVBU0NJTEd5SVlJUVFNQVFzTUFRc2dHaUFVUVg5cWFpMEFBRUVDU0FSQUlBMG9BZ1FnQTBIL0FYRWdDeHNnR0dvaEVpQUVJUXNEUUFKQUlBc2dFa1lOQUNBTExBQUFJaDFCZjB3TkFDQUhLQUlJSUIxQkFYUnFMZ0VBUVlEQUFIRkZEUUFnQzBFQmFpRUxEQUVMQ3lBUkxBQUxJaGxCQUVnaEVpQUxJQVJySWgwZ0VTZ0NCQ0lmSUJsQi93RnhJaGtnRWh0TkJFQWdIeUFSS0FJQWFpSWZJQkVnR1dvaUdTQVNHeUVqSUI4Z0hXc2dHU0FkYXlBU0d5RVNBMEFnRWlBalJnUkFJQXNoQkF3RUN5QVNMQUFBSUJnc0FBQkdCRUFnR0VFQmFpRVlJQkpCQVdvaEVnd0JDd3NMQ3dzRFFBSkFJQVFnQ2lBTklBTkJHSFJCR0hWQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEdEUUFnQUNnQ0FDSURCSDhnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQU1SUTBBSUF3b0Fnd2lDaUFNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFNTERBRUxJQU1OQVVFQUlRd0xJQUFvQWdBaUF5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdCQzBBQUVjTkFDQUFLQUlBSWdNb0Fnd2lDaUFES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUJhaUVFSUEwc0FBc2hBeUFOS0FJQUlRb01BUXNMSUNJRVFDQUVJQTBvQWdBZ0RTQU5MQUFMSWdOQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEhEUWNMREFJTFFRQWhCQ0FNSVFNRFFBSkFJQUFvQWdBaUNnUi9JQW9vQWd3aUN5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQXNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDZ0pBQWtBZ0RFVU5BQ0FNS0FJTUlnc2dEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FMTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhEQXNDZndKQUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JIOGdDaUFLS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDeUlLUWY4QmNTSUxRUmgwUVJoMVFYOU1EUUFnQnlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUUFnQ1NnQ0FDSUtJQnNvQWdCR0JFQWdDQ0FKSUJzUXB3UWdDU2dDQUNFS0N5QUpJQXBCQVdvMkFnQWdDaUFMT2dBQUlBUkJBV29NQVFzZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQ0V0QUFBZ0MwWnhSUTBCSUJNb0FnQWlDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nQzBFQmFqWUNEQ0FMTEFBQUVFSWFDd3dCQ3dzZ0V5Z0NBQ0lLSUJVb0FnQkhJQVJCQUVkeEJFQWdDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FBc2dGeWdDQUVFQVNnUkFBa0FnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdJQzBBQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzRFFDQVhLQUlBUVFCTURRRWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlFUWY4QmNVRVlkRUVZZFVGL1RBMEtJQWNvQWdnZ0JFRVlkRUVZZFVFQmRHb3VBUUJCZ0JCeFJRMEtJQWtvQWdBZ0d5Z0NBRVlFUUNBSUlBa2dHeENuQkFzZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLTEFBQUVFSUxJUVFnQ1NBSktBSUFJZ3BCQVdvMkFnQWdDaUFFT2dBQUlCY2dGeWdDQUVGL2FqWUNBQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnREVVTkFDQU1LQUlNSWdRZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRFJRMEVDd3dCQ3lBRERRSkJBQ0VNQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFnc2lBMEgvQVhGQkdIUkJHSFZCZjB3TkFTQUhLQUlJSUFOQkdIUkJHSFZCQVhScUxnRUFRWURBQUhGRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVCYWpZQ0RDQUVMQUFBRUVJTFFmOEJjUkRNQVF3QUFBc0FDeUFVUVFGcUlSUU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FnQVNnQ0FDSURSUTBBSUFNb0Fnd2lDQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFNTERBRUxJQVFOQVFzZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRZjhCY1NBQ0xBQUxRUUJJQkg4Z0FpZ0NBQVVnQWdzZ0Iyb3RBQUJIRFFBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCVW9BZ0FpQUNBVEtBSUFJZ0ZHQkg5QkFRVWdIa0VBTmdJQUlCWWdBQ0FCSUI0UWVDQWVLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKQ0FSRUVjZ0R4QkhJQTRRUnlBTkVFY2dGaEJISUJVb0FnQWhBQ0FWUVFBMkFnQWdBQVJBSUFBZ0ZTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUUpBWWdKQXNaQUNBQVFnQTNBZ0FnQUVFQU5nSUlJQUJCQVVFdEVKTUVDeGtBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUVCUVMwUWxnUUxGUUFnQUNnQ0FCQmNSd1JBSUFBb0FnQVFod01MQzJNQkFYOGpCaUVHSXdaQkVHb2tCaUFHUVNVNkFBQWdCaUFFT2dBQklBWWdCVG9BQWlBR1FRQTZBQU1nQlVIL0FYRUVRQ0FHSUFVNkFBRWdCaUFFT2dBQ0N5QUNJQUVnQWlnQ0FDQUJheUFHSUFNZ0FDZ0NBQkFmSUFGcU5nSUFJQVlrQmdzT0FDQUFRUWhxRUtzRUlBQVFPQXNLQUNBQVFRaHFFS3NFQzJ3QkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSmtCSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCMEE5cUlBRkI3QTVxSUFFZ0FVSGtBRWdiSUFGQnhRQklHMEdVY1dvMkFnQUxJQVVrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJRUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFBQ2FpQUZJQVJCQUJDVkFpQUFheUlBUWFBQ1NBUkFJQUVnQUVFTUVEbEJEQkJQTmdJQUN5QUdKQVlMZXdFQ2Z5TUdJUVlqQmtFUWFpUUdJQUJCQ0dvaUFDZ0NBQ2dDQUNFSElBQWdCMEgvQUhGQkNHb1JBQUFoQUNBR0lBTW9BZ0EyQWdBZ0JrRUVhaUlESUFZb0FnQTJBZ0FnQWlBRElBQWdBRUdvQVdvZ0JTQUVRUUFRbFFJZ0FHc2lBRUdvQVVnRVFDQUJJQUJCREJBNVFRY1FUellDQUFzZ0JpUUdDN2dDQVFaL0l3WWhBeU1HUVlBQ2FpUUdJQU5Cd0FGcUlnSWdBUkRFQ2lBRFFlQUFhaUlFSUFJUXV3cEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkJYUWdBR29oQlNBQlFRVjBJQUJxSVFZZ0FVRUZkQ0FBYWlFSFFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFWMElBTnFJQUpCQTNScUlBVXJBd0FnQWtFRGRDQUVhaXNEQUtJZ0Jpc0RDQ0FFUVNCcUlBSkJBM1JxS3dNQW9xQWdCeXNERUNBRVFVQnJJQUpCQTNScUt3TUFvcUE1QXdBZ0FrRUJhaUVDREFFTEN5QUJRUVYwSUFOcUlnSWdBVUVGZENBQWFpc0RHQ0FDS3dNWW9Ea0RHQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUZCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQVVFRmRDQUFhaUFDUVFOMGFpQUJRUVYwSUFOcUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBREpBWUwwQUVCQkg4akJpRUVJd1pCTUdva0JpQUVRUmhxSWdWQkJqWUNCQ0FGUVFFMkFnZ2dCU0FBTmdJQUlBUkJER29pQmlBRE5nSUVJQVpCQVRZQ0NDQUdJQUUyQWdBZ0JDQUROZ0lFSUFSQkJqWUNDQ0FFSUFJMkFnQWdCQkNnQXlJQUJIOENmeUFBSUFRUTJRRWlBVVVFUUNBQUVFbEJmd3dCQ3lBQUlBWVEyUUVpQWtVRVFDQUFFRWtnQVJCSlFYOE1BUXNnQVJEV0FVRUFTQVIvSUFBUVNTQUJFRWtnQWhCSlFYOEZJQVVnQVNBQ0VLMENHaUFBRUVrZ0FSQkpJQUlRU1VFQUN3c0ZRWDhMSVFjZ0JDUUdJQWNMYkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtZ0VoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUhRRDJvZ0FVSHNEbW9nQVNBQlFlUUFTQnNnQVVIRkFFZ2JRWlJ4YWpZQ0FBc2dCU1FHQzNzQkFuOGpCaUVHSXdaQkVHb2tCaUFBUVFocUlnQW9BZ0FvQWdRaEJ5QUFJQWRCL3dCeFFRaHFFUUFBSVFBZ0JpQURLQUlBTmdJQUlBWkJCR29pQXlBR0tBSUFOZ0lBSUFJZ0F5QUFJQUJCb0FKcUlBVWdCRUVBRUpZQ0lBQnJJZ0JCb0FKSUJFQWdBU0FBUVF3UU9VRU1FRTgyQWdBTElBWWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlBSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYWdCYWlBRklBUkJBQkNXQWlBQWF5SUFRYWdCU0FSQUlBRWdBRUVNRURsQkJ4QlBOZ0lBQ3lBR0pBWUxCQUJCQWd1WENBRUxmeU1HSVFzakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWcwb0FnQW9BaFFoQmlBTElBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnd0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBS0lBSWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VFYWpZQ0FDQUdJQUkyQWdBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FLUVRBZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUVhallDQUNBSElBSTJBZ0FnQ2lBR0xBQUJJQW9vQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFDTmdJQUlBWkJBbW9pQmlFQ0EwQWdBaUFNU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0RFOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBc29BZ1FnQ3l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVFrZ0NDQUhMQUFBT2dBQUlBY2dDVG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lRbEJBQ0VIUVFBaENBTkFJQWtnQWtrRVFDQUhJQXNvQWdBZ0N5QUxMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0R6WUNBQ0FISUFjZ0N5Z0NCQ0FMTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFvZ0NTd0FBQ0FLS0FJQUtBSXNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFScU5nSUFJQkFnRGpZQ0FDQUpRUUZxSVFrZ0NFRUJhaUVJREFFTEN5QUdJQUJyUVFKMElBTnFJZ2tnQlNnQ0FDSUlSZ1IvSUFvaEJ5QUpCU0FJSVFZRGZ5QUpJQVpCZkdvaUJra0VmeUFKS0FJQUlRY2dDU0FHS0FJQU5nSUFJQVlnQnpZQ0FDQUpRUVJxSVFrTUFRVWdDaUVISUFnTEN3c2hCZ1VnQ2lBR0lBSWdCU2dDQUNBS0tBSUFLQUl3UVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFJZ0JtdEJBblJxSWdZMkFnQWdDaUVIQ3dKQUFrQURRQ0FDSUF4SkJFQWdBaXdBQUNJR1FTNUdEUUlnQ2lBR0lBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRa2dCU0FGS0FJQUlnaEJCR29pQmpZQ0FDQUlJQWsyQWdBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFjZ0JTQUZLQUlBSWdsQkJHb2lCallDQUNBSklBYzJBZ0FnQWtFQmFpRUNDeUFLSUFJZ0RDQUdJQW9vQWdBb0FqQkJEM0ZCaWdKcUVRa0FHaUFGSUFVb0FnQWdEQ0FDYTBFQ2RHb2lBallDQUNBRUlBSWdBU0FBYTBFQ2RDQURhaUFCSUF4R0d6WUNBQ0FMRUVjZ0N5UUdDL1VCQWdWL0FYd2pCaUVFSXdaQjRBRnFKQVlnQkVIWUFXb2hCU0FFUVRCcUlnWWdCRUhBQVdvaUJ5QUNJQU1ROHdvZ0JDQUJJQWNRNkFwQkFFZ0VmMEVBUVFOQjRhd0JJQVVRUFVGL0JVRUFJUUVEZnlBQlFRSkdCSDlCQUFWQkFDRUNBMEFnQWtFR1J3UkFJQUZCTUd3Z0FHb2dBa0VEZEdvaUJVUUFBQUFBQUFBQUFEa0RBRUVBSVFORUFBQUFBQUFBQUFBaENRTkFJQU5CQTBjRVFDQUZJQWtnQVVFWWJDQUVhaUFEUVFOMGFpc0RBQ0FEUVRCc0lBWnFJQUpCQTNScUt3TUFvcUFpQ1RrREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3dzaENDQUVKQVlnQ0F2NkJ3RUxmeU1HSVFvakJrRVFhaVFHSUFaQmdNNERFRG9oQ1NBR1FaRE9BeEE2SWcwb0FnQW9BaFFoQmlBS0lBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnc0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBSklBSWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQUk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FKUVRBZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBSTZBQUFnQ1NBR0xBQUJJQWtvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFDT2dBQUlBWkJBbW9pQmlFQ0EwQWdBaUFMU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0MwOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1IvSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVF3Z0NDQUhMQUFBT2dBQUlBY2dERG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lReEJBQ0VJUVFBaEJ3TkFJQXdnQWtrRVFDQUhJQW9vQWdBZ0NpQUtMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0R6b0FBQ0FISUFjZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFrZ0RDd0FBQ0FKS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFGcU5nSUFJQkFnRGpvQUFDQU1RUUZxSVF3Z0NFRUJhaUVJREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWtGQTM4Z0J5QUdRWDlxSWdaSkJIOGdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFRklBa0xDd3NGSUFrZ0JpQUNJQVVvQWdBZ0NTZ0NBQ2dDSUVFUGNVR0tBbW9SQ1FBYUlBVWdCU2dDQUNBQ0lBWnJhallDQUNBSkN5RUdBa0FDUUFOQUlBSWdDMGtFUUNBQ0xBQUFJZ2RCTGtZTkFpQUpJQWNnQmlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFQmFqWUNBQ0FJSUFjNkFBQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRWWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdPZ0FBSUFKQkFXb2hBZ3NnQ1NBQ0lBc2dCU2dDQUNBSktBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFzZ0FtdHFJZ0kyQWdBZ0JDQUNJQU1nQVNBQWEyb2dBU0FMUmhzMkFnQWdDaEJISUFva0JndWVBUUVGZkNBQkt3TllJQUlyQXdBaUF5QUJRVUJyS3dNQW9pQUNLd01JSWdRZ0FTc0RTS0tnSUFJckF4QWlCU0FCS3dOUW9xQ2dJZ1pFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBU3NET0NBRElBRXJBeUNpSUFRZ0FTc0RLS0tnSUFVZ0FTc0RNS0tnb0NFSElBQWdBU3NER0NBRElBRXJBd0NpSUFRZ0FTc0RDS0tnSUFVZ0FTc0RFS0tnb0NBR296a0RBQ0FBSUFjZ0JxTTVBd2hCQUFzTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSWtMSVFjZ0JpUUdJQWNMMHdFQ0EzOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVmeUFDUVFRMkFnQkJBQVZCcE1VREtBSUFJUVZCcE1VRFFRQTJBZ0FnQUNBRUlBTVFYQkQ5QWlFSFFhVEZBeWdDQUNJQVJRUkFRYVRGQXlBRk5nSUFDeUFCSUFRb0FnQkdCSDhDZnlBQVFjUUFSZ1JBSUFKQkJEWUNBRUgvLy8vL0J5QUhRZ0JWRFFFYUJRSkFJQWRDZ0lDQWdIaFRCRUFnQWtFRU5nSUFEQUVMSUFlbklBZEMvLy8vL3dkWERRSWFJQUpCQkRZQ0FFSC8vLy8vQnd3Q0N3dEJnSUNBZ0hnTEJTQUNRUVEyQWdCQkFBc0xJUVlnQkNRR0lBWUxvZ0VDQW44QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRlFhVEZBMEVBTmdJQUlBQWdCQ0FERUZ3US9RSWhCa0dreFFNb0FnQWlBRVVFUUVHa3hRTWdCVFlDQUFzZ0FTQUVLQUlBUmdSK0lBQkJ4QUJHQkg0Z0FrRUVOZ0lBUXYvLy8vLy8vLy8vL3dCQ2dJQ0FnSUNBZ0lDQWZ5QUdRZ0JWR3dVZ0Jnc0ZJQUpCQkRZQ0FFSUFDeUVHQ3lBRUpBWWdCZ3ZXQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZndKL0lBQkJ4QUJHSUFoQy8vOERWbklFUUNBQ1FRUTJBZ0JCZnd3QkN5QUlwMEgvL3dOeElRQkJBQ0FJcDJ0Qi8vOERjU0FBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3ZIQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZnlBQVFjUUFSaUFJUXYvLy8vOFBWbklFZnlBQ1FRUTJBZ0JCZndWQkFDQUlweUlBYXlBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd1NkFRSURmd0orSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IrSUFKQkJEWUNBRUlBQlFKK0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUlBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWRCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZpQUFRY1FBUmdSK0lBSkJCRFlDQUVKL0JVSUFJQWQ5SUFjZ0JSc0xCU0FDUVFRMkFnQkNBQXNMQ3lFSUlBUWtCaUFJQzRvQkFnSi9BWDBqQmlFREl3WkJFR29rQmlBQUlBRkdCRUFnQWtFRU5nSUFCVUdreFFNb0FnQWhCRUdreFFOQkFEWUNBQkJjR2lBQUlBTkJBQkNnQXJZaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVTUFBQUFBSVFVTUFRc01BUXNnQWtFRU5nSUFDd3NnQXlRR0lBVUxqUUVDQW44QmZDTUdJUU1qQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRVFhVEZBMEVBTmdJQUVGd2FJQUFnQTBFQkVLQUNJUVZCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVEyQWdBTEFrQUNRQ0FCSUFNb0FnQkdCRUFnQUVIRUFFWU5BUVZFQUFBQUFBQUFBQUFoQlF3QkN3d0JDeUFDUVFRMkFnQUxDeUFESkFZZ0JRdU5BUUlDZndGOEl3WWhBeU1HUVJCcUpBWWdBQ0FCUmdSQUlBSkJCRFlDQUFWQnBNVURLQUlBSVFSQnBNVURRUUEyQWdBUVhCb2dBQ0FEUVFJUW9BSWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVVFBQUFBQUFBQUFBQ0VGREFFTERBRUxJQUpCQkRZQ0FBc0xJQU1rQmlBRkN6a0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQVJCaUlRRWdBRUdEa3dNZ0F4Q1ZBeUVFSUFFRVFDQUJFR0lhQ3lBREpBWWdCQXRXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Bc2hCeUFHSkFZZ0J3dWxBUUVFZnlNR0lRVWpCa0VRYWlRR0lBSWdBV3RCQW5VaUJFSHYvLy8vQTBzRVFCQUFDeUFFUVFKSkJFQWdBQ0FFT2dBTElBQWhBd1VnQkVFRWFrRjhjU0lHUWYvLy8vOERTd1JBRUFBRklBQWdCa0VDZEJCUklnTTJBZ0FnQUNBR1FZQ0FnSUI0Y2pZQ0NDQUFJQVEyQWdRTEN3TkFJQUVnQWtjRVFDQURJQUVRYmlBQlFRUnFJUUVnQTBFRWFpRUREQUVMQ3lBRlFRQTJBZ0FnQXlBRkVHNGdCU1FHQzZzREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRG9BQUF3QkJRSkFJQVJCQVdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBNkFBQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUxBQUFFRUkyQWpBRkFrQURRQ0FDUVFCTURRRWdBeUFDUVg5cUlnSnFMQUFBRUVJZ0FDZ0NJQkR2QVVGL1J3MEFDMEYvSVFBTUFnc0xJQVFzQUFBUVFpRUFDd3NMSUFVa0JpQUFDNlVEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEWUNBQXdCQlFKQUlBUkJCR29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUEyQWdBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFS0FJQU5nSXdCUUpBQTBBZ0FrRUFUQTBCSUFNZ0FrRi9haUlDYWl3QUFDQUFLQUlnRU84QlFYOUhEUUFMUVg4aEFBd0NDd3NnQkNnQ0FDRUFDd3NMSUFVa0JpQUFDNW9CQVFWL0l3WWhBU01HUVJCcUpBWWdBVUVJYWlJQ1FRaHFJUVVDUUFKQUEwQWdBQ2dDSkNJREtBSUFLQUlVSVFRZ0F5QUFLQUlvSUFJZ0JTQUJJQVJCSDNGQm9nSnFFUWdBSVFNQ1FDQUJLQUlBSUFKcklnUWdBa0VCSUFRZ0FDZ0NJQkNUQVVjTkFBSkFJQU5CQVdzT0FnQUJBd3NNQVFzTFFYOGhBQXdCQ3lBQUtBSWdFS2tDUVFCSFFSOTBRUjkxSVFBTElBRWtCaUFBQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RNmdJTEV3QWdBQ0FBS0FJQVFYUnFLQUlBYWhDWkFnc1RBQ0FBSUFBb0FnQkJkR29vQWdCcUVPc0NDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FtZ0lMS3dFQmZ3TkFJQUpCQ0VjRVFDQUJJQUpxSUFCQkJ5QUNhMm9zQUFBNkFBQWdBa0VCYWlFQ0RBRUxDd3NTQUNBQVFkeU1BVFlDQUNBQVFRUnFFRHdMQkFCQmZ3c1FBQ0FBUWdBM0F3QWdBRUovTndNSUN4QUFJQUJDQURjREFDQUFRbjgzQXdnTEJBQWdBQXNyQVFGL0EwQWdBa0VFUndSQUlBRWdBbW9nQUVFRElBSnJhaXdBQURvQUFDQUNRUUZxSVFJTUFRc0xDeElBSUFCQm5Jd0JOZ0lBSUFCQkJHb1FQQXRUQVFOL0lBSW9BZ0FoQkNBQklBQnJRUUoxSVFFRFFDQUJCRUFnQVVFQmRpSUNRUUowSUFCcUlnVW9BZ0FnQkVraEF5QUZRUVJxSUFBZ0F4c2hBQ0FCUVg5cUlBSnJJQUlnQXhzaEFRd0JDd3NnQUF2T0FRRURmeU1HSVFJakJrSEFBV29rQmlBQUlBSVExUVFnQUVFRWFpQUNRUVJxRU5VRUEwQWdBVUVEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FBUVFocUlBRkJCWFJxSUFOQkEzUnFJQUpCQ0dvZ0FVRUZkR29nQTBFRGRHb1F6d1FnQTBFQmFpRUREQUVMQ3lBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FDZ0NzQUVpQTBFRGRFR1lGV29vQWdCSUJFQWdBRUhvQUdvZ0FVRURkR29nQWtIb0FHb2dBVUVEZEdvUXp3UWdBVUVCYWlFQkRBRUxDeUFDSUFNMkFyQUJJQUFnQWtHNEFSQk1HaUFDSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUhZK1FCQkJTQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQjRQa0FRUVFnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRZWo1QUVFRElBRW9BZ0FRQ0NBQkpBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIdytRQkJBaUFCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkIrUGtBUVFFZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUVlENkFFRUFJQUVvQWdBUUNDQUJKQVlMbUFzQkZYd0Nmd0pBQWtBQ1FBSkFBa0FDUUNBRlFRRnJEZ1FEQWdFQUJBc2dBQ3NEQUNFSklBQXJBd2doQ2lBQVFVQnJLd01BSVEwZ0FDc0RFQ0lPUkFBQUFBQUFBQUJBb2lFUElBQXJBeGdpRUVRQUFBQUFBQUFZUUtJaEV5QVFSQUFBQUFBQUFBQkFvaUVVSUE1RUFBQUFBQUFBR0VDaUlSVWdBU0FBS3dNd0loYWhJQUFyQXlBaUY2TWlDeUVCSUFJZ0FDc0RPQ0lZb1NBQUt3TW9JaG1qSWd3aEFpQUxJQXVpSVFZZ0RDQU1vaUVIUVFFaEFBTkFBa0FnQmtRQUFBQUFBQUFBQUdJZ0IwUUFBQUFBQUFBQUFHSnlSUVJBUkFBQUFBQUFBQUFBSVFGRUFBQUFBQUFBQUFBaEFnd0JDeUFKSUFjZ0JxQWlDS0pFQUFBQUFBQUE4RCtnSUFnZ0NpQUlvcUtnSVJFZ0J5QUdSQUFBQUFBQUFBaEFvaUlhb2lFU0lBSWdEaUFIUkFBQUFBQUFBQUJBb2lBSW9LSWdBaUFSb3FBZ0FpQVVJQUVnRUNBSUlBWkVBQUFBQUFBQUFFQ2lvS0lnQWlBUElBR2lvaUFCSUJHaW9LQWdDNkVnRXlBQm9pQVBJQUtpSUFrZ0J5QWFvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhvaUFHSUFaRUFBQUFBQUFBRkVDaW9pQVNvS0Npb0tDZ282RWlBYUlpQ0tLZ0lBeWhJQlVnQXFJZ0NTQUdJQWRFQUFBQUFBQUFDRUNpb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIUkFBQUFBQUFBQlJBb3FJZ0JpQUdvaUFTb0tDaW9LQWdDS0Nqb1NFQ0lBQkJCRWNFUUNBQklBR2lJUVlnQWlBQ29pRUhJQUJCQVdvaEFBd0NDd3NMSUFNZ0ZpQVhJQUdpSUEyam9Ea0RBQ0FZSUJrZ0FxSWdEYU9nSVFFTUJBc2dBQ3NESUVRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJQUFyQXhpaklnRWdBYUlnQWlBQUt3TUlvU0lDSUFLaW9DSUhueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFFZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQjZLaElBY2dDaUFIb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFlaW9TQUhJQXNnQjZLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUJJQUdpSUFJZ0FxS2dJZ1loQnlBRlFRRnFJUVVnQnA4aEJnd0NDd3NMSUFNZ0RDQUJJQUFyQXhDam9Ea0RBQ0FDSUFBckF4Q2pJQUFyQXdpZ0lRRU1Bd3NnQUNzREdFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSWdjZ0I2SWdBaUFBS3dNSW9TSUNJQUtpb0NJQm55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQWNnQmlBR1JBQUFBQUFBQVBBL0lBZ2dBYUtoSUFFZ0NpQUJvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQUdpb1NBQklBc2dBYUtpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBRlFRRnFJUVVnQVNJSElBR2lJQUlnQXFLZ0lnR2ZJUVlNQWdzTEN5QURJQXdnQVNBQUt3TVFvNkE1QXdBZ0FpQUFLd01Rb3lBQUt3TUlvQ0VCREFJTElBQXJBeGhFQUFBQUFJVFhsMEdqSWdoRUFBQUFBQUFBQ0VDaUlRbEJBU0VGSUFFZ0FDc0RBQ0lLb1NJSElBZWlJQUlnQUNzRENLRWlBaUFDb3FBaUFaOGlDeUVHQTBBQ1FDQUdSQUFBQUFBQUFBQUFZUVJBUkFBQUFBQUFBQUFBSVFKRUFBQUFBQUFBQUFBaEFRd0JDeUFISUFZZ0JrUUFBQUFBQUFEd1B5QUlJQUdpb2FJZ0M2RkVBQUFBQUFBQThEOGdDU0FCb3FHam9TSUhvaUFHb3lFQklBSWdCNklnQnFNaEFpQUZRUU5IQkVBZ0JVRUJhaUVGSUFFaUJ5QUJvaUFDSUFLaW9DSUJueUVHREFJTEN3c2dBeUFLSUFFZ0FDc0RFS09nT1FNQUlBSWdBQ3NERUtNZ0FDc0RDS0FoQVF3QkMwRi9EQUVMSUFRZ0FUa0RBRUVBQ3hvTDVRRUFRYmo0QUVIMWdnTVFMVUhBK0FCQitvSURRUUZCQVVFQUVDOFE1QXNRNHdzUTRnc1E0UXNRNEFzUTN3c1EzZ3NRM1FzUTNBc1Eyd3NRMmd0QnlQSUFRZVNEQXhBVlFlRDZBRUh3Z3dNUUZVSEkrZ0JCQkVHUmhBTVFFa0d3K2dCQkFrR2VoQU1RRWtHWStnQkJCRUd0aEFNUUVrR1ErZ0JCdklRREVDNFEyUXRCNm9RREVONEVRWStGQXhEZEJFRzJoUU1RM0FSQjFZVURFTnNFUWYyRkF4RGFCRUdhaGdNUTJRUVExd3NRMWd0QmhZY0RFTjRFUWFXSEF4RGRCRUhHaHdNUTNBUkI1NGNERU5zRVFZbUlBeERhQkVHcWlBTVEyUVFRMVFzUTFBc1Ewd3NMV2dFRGZ5QUFLQUlFSVFVZ0FnUkFJQVZCQ0hVaEJDQUZRUUZ4QkVBZ0JDQUNLQUlBYWlnQ0FDRUVDd3NnQUNnQ0FDSUFLQUlBS0FJY0lRWWdBQ0FCSUFJZ0JHb2dBMEVDSUFWQkFuRWJJQVpCSDNGQitnVnFFUWNBQ3dzQUlBQVE0d1FnQUJBNEN4TUFJQUJCb0lzQk5nSUFJQUJCQkdvUTdnc0x4d0lCQkg4akJpRURJd1pCUUdza0JpQUFJQUFvQWdBaUJFRjRhaWdDQUdvaEJTQUVRWHhxS0FJQUlRUWdBeUFDTmdJQUlBTWdBRFlDQkNBRElBRTJBZ2dnQTBFQU5nSU1JQU5DQURjQ0VDQURRZ0EzQWhnZ0EwSUFOd0lnSUFOQ0FEY0NLQ0FEUVFBMkFqQWdBMEVBT3dFMElBTkJBRG9BTmlBRUlBSkJBQkNCQVFSL0lBTkJBVFlDTUNBRUlBTWdCU0FGUVFGQkFDQUVLQUlBS0FJVVFRZHhRZG9HYWhFTUFDQUZRUUFnQXlnQ0dFRUJSaHNGQW44Z0JDQURJQVZCQVVFQUlBUW9BZ0FvQWhoQlAzRkJtZ1pxRVFVQUFrQUNRQUpBSUFNb0FpUU9BZ0FDQVFzZ0F5Z0NGRUVBSUFNb0FpaEJBVVlnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkViREFJTFFRQU1BUXNnQXlnQ0dFRUJSd1JBUVFBZ0F5Z0NLRVVnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkZGRFFFYUN5QURLQUlRQ3dzaEJpQURKQVlnQmd1bkRBSUhmd2g5SUFHOElnVkIvLy8vL3dkeElnSkZJQUM4SWdaQmdJQ0EvQU5HY2dSQVF3QUFnRDhQQ3lBR1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3lBQ1FZQ0FnUHdIUzNJRVFDQUFJQUdTRHdzZ0JrRUFTQ0lJQkg4Z0FrSC8vLy9iQkVzRWYwRUNCU0FDUWYvLy8vc0RTd1IvUVFJZ0FrR1dBU0FDUVJkMmF5SUVkaUlIUVFGeGEwRUFJQWNnQkhRZ0FrWWJCVUVBQ3dzRlFRQUxJUVFDUUNBRlFmLy8vLzhIY1NJSFFZQ0FnUHdIU0FSQUlBZEJnSUNBL0FOckRRRWdBRU1BQUlBL0lBQ1ZJQVZCZjBvYkR3VWdCMEdBZ0lEOEIyc05BU0FEUVlDQWdQd0RSZ1JBUXdBQWdEOFBDeUFGUVg5S0lRSWdBMEdBZ0lEOEEwc0VRQ0FCUXdBQUFBQWdBaHNQQlVNQUFBQUFJQUdNSUFJYkR3c0FDd0FMSUFWQmdJQ0FnQVJHQkVBZ0FDQUFsQThMSUFWQmdJQ0ErQU5HSUFaQmYwcHhCRUFnQUpFUEN5QUFpeUVKQWtBQ1FBSkFJQU5GSUFOQmdJQ0FnQVJ5UVlDQWdQd0hSbklFUUVNQUFJQS9JQW1WSUFrZ0JVRUFTQnNoQUNBSVJRUkFJQUFQQ3lBRUlBTkJnSUNBaEh4cWNnUkFJQUNNSUFBZ0JFRUJSaHNQQ3d3QkN5QUlCRUFDUUFKQUFrQWdCQTRDQkFBQkMwTUFBSUMvSVFzTUFRdERBQUNBUHlFTEN3VkRBQUNBUHlFTEN5QUNRWUNBZ09nRVN3UkFBa0FnQTBINC8vLzdBMGtFUUNBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTQnNQQ3lBRFFZZUFnUHdEVFFSQUlBbERBQUNBdjVJaUFFTUFxcmcvbENJS0lBQkRjS1hzTnBRZ0FDQUFsRU1BQUFBL0lBQkRxNnFxUGlBQVF3QUFnRDZVazVTVGxFTTdxcmcvbEpNaUFKSzhRWUJnY2I0aURDRUpJQXdnQ3BNaENnd0JDeUFMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNoc1BDd1VnQ1VNQUFJQkxsTHdnQXlBRFFZQ0FnQVJKSWdNYklnUkJGM1ZCNlg1QmdYOGdBeHRxSVFJZ0JFSC8vLzhEY1NJRVFZQ0FnUHdEY2lFRElBUkI4b2p6QUVrRVFFRUFJUVFGSUFSQjErZjJBa2tpQmlFRUlBSWdCa0VCYzBFQmNXb2hBaUFESUFOQmdJQ0FmR29nQmhzaEF3c2dCRUVDZEVIQWlnRnFLZ0lBSWc0Z0E3NGlDaUFFUVFKMFFiQ0tBV29xQWdBaURKTWlEVU1BQUlBL0lBd2dDcEtWSWcrVUlnbThRWUJnY2I0aUFDQUFJQUNVSWhCREFBQkFRSklnQ1NBQWtpQVBJQTBnQTBFQmRVR0E0UC8vZlhGQmdJQ0FnQUp5UVlDQWdBSnFJQVJCRlhScXZpSU5JQUNVa3lBS0lBMGdESk9USUFDVWs1UWlDcFFnQ1NBSmxDSUFJQUNVSUFBZ0FDQUFJQUFnQUVOQzhWTStsRU5WTW13K2twUkRCYU9MUHBLVVE2dXFxajZTbEVPM2JkcytrcFJEbXBrWlA1S1VraUlNa3J4QmdHQnh2aUlBbENJTklBb2dBSlFnQ1NBTUlBQkRBQUJBd0pJZ0VKT1RsSklpQ1pLOFFZQmdjYjRpQUVNQVFIWS9sQ0lLSUFSQkFuUkJ1SW9CYWlvQ0FDQUpJQUFnRFpPVFEwODRkaitVSUFCRHhpUDJPSlNUa2lJQWtwSWdBcklpREpLOFFZQmdjYjRpRFNFSklBMGdESk1nRHBNZ0NwTWhDZ3NnQUNBS2t5QUJsQ0FCSUFWQmdHQnh2aUlBa3lBSmxKSWhBU0FKSUFDVUlnQWdBWklpQ2J3aUEwR0FnSUNZQkVvTkFRSkFBa0FnQTBHQWdJQ1lCRVlFUUNBQlF6eXFPRE9TSUFrZ0FKTmVCRUFNQlFWQmdJQ0FtQVFoQWd3Q0N3QUZBa0FnQTBILy8vLy9CM0VpQWtHQWdOaVlCRXNOQmlBQklBa2dBSk5mUlNBRFFZQ0EySmg4UjNJRVFDQUNRWUNBZ1BnRFN3UkFEQVFGUVFBaEFnd0NDd0FMREFZTEN3d0JDeUFEUVlDQWdBUWdBa0VYZGtHQ2YycDJhaUlDUVJkMlFmOEJjU0VGSUFBZ0FrR0FnSUI4SUFWQmdYOXFkWEcra3lJSklRQkJBQ0FDUWYvLy93TnhRWUNBZ0FSeVFaWUJJQVZyZGlJQ2F5QUNJQU5CQUVnYklRSWdBU0FKa3J3aEF3c2dDME1BQUlBL0lBTkJnSUIrY2I0aUNVTUFjakUvbENJS0lBbERqTDYvTlpRZ0FTQUpJQUNUazBNWWNqRS9sSklpQ1pJaUFDQUFJQUFnQUpRaUFTQUJJQUVnQVNBQlEweTdNVE9VUXc3cTNiV1NsRU5WczRvNGtwUkRZUXMydTVLVVE2dXFLajZTbEpNaUFaUWdBVU1BQUFEQWtwVWdDU0FBSUFxVGt5SUJJQUFnQVpTU2t5QUFrNU1pQUx3Z0FrRVhkR29pQTBHQWdJQUVTQVI5SUFBZ0FoRDFCQVVnQTc0TGxBOExJQUFnQUpNaUFDQUFsUThMSUF0RHl2SkpjWlJEeXZKSmNaUVBDeUFMUTJCQ29nMlVRMkJDb2cyVUM4QUJBUUovSXdZaEFTTUdRUkJxSkFZZ0FMMUNJSWluUWYvLy8vOEhjU0lDUWZ6RHBQOERTUVJBSUFKQmdJREE4Z05QQkVBZ0FFUUFBQUFBQUFBQUFFRUFFTlFCSVFBTEJRSjhJQUFnQUtFZ0FrSC8vNy8vQjBzTkFCb0NRQUpBQWtBQ1FDQUFJQUVRL0FKQkEzRU9Bd0FCQWdNTElBRXJBd0FnQVNzRENFRUJFTlFCREFNTElBRXJBd0FnQVNzRENCRFRBUXdDQ3lBQkt3TUFJQUVyQXdoQkFSRFVBWm9NQVFzZ0FTc0RBQ0FCS3dNSUVOTUJtZ3NoQUFzZ0FTUUdJQUFMeUFFQ0FuOEJmQ01HSVFFakJrRVFhaVFHSUFDOVFpQ0lwMEgvLy8vL0IzRWlBa0g4dzZUL0Ewa0VmQ0FDUVo3Qm12SURTUVI4UkFBQUFBQUFBUEEvQlNBQVJBQUFBQUFBQUFBQUVOTUJDd1VDZkNBQUlBQ2hJQUpCLy8rLy93ZExEUUFhQWtBQ1FBSkFBa0FnQUNBQkVQd0NRUU54RGdNQUFRSURDeUFCS3dNQUlBRXJBd2dRMHdFTUF3c2dBU3NEQUNBQkt3TUlRUUVRMUFHYURBSUxJQUVyQXdBZ0FTc0RDQkRUQVpvTUFRc2dBU3NEQUNBQkt3TUlRUUVRMUFFTEN5RURJQUVrQmlBREM5a0NBUVovSXdZaENDTUdRWkFDYWlRR0lBaEJnQUpxSWdjZ0FTZ0NBQ0lFTmdJQUlBTkJnQUlnQUVFQVJ5SUpHeUVGSUFBZ0NDQUpHeUVBSUFWQkFFY2dCRUVBUjNFRVFBSkFRUUFoQXdOQUFrQWdBaUFGVHlJR0lBSkJJRXR5UlEwQ0lBSWdCU0FDSUFZYklnUnJJUUlnQUNBSElBUVE4d1FpQkVGL1JnMEFJQVZCQUNBRUlBQWdDRVlpQmh0cklRVWdBQ0FBSUFScUlBWWJJUUFnQXlBRWFpRURJQWNvQWdBaUJFRUFSeUFGUVFCSGNRMEJEQUlMQzBGL0lRTkJBQ0VGSUFjb0FnQWhCQXNGUVFBaEF3c2dCQVJBSUFWQkFFY2dBa0VBUjNFRVFBSkFBMEFnQUNBRUtBSUFFSjRCSWdaQkFXcEJBazhFUUNBSElBY29BZ0JCQkdvaUJEWUNBQ0FBSUFacUlRQWdBeUFHYWlFRElBVWdCbXNpQlVFQVJ5QUNRWDlxSWdKQkFFZHhEUUVNQWdzTElBWUVRRUYvSVFNRklBZEJBRFlDQUFzTEN3c2dDUVJBSUFFZ0J5Z0NBRFlDQUFzZ0NDUUdJQU1MYVFFQ2Z5QUFJQUZyUVFKMUlBSkpCRUFEUUNBQ1FYOXFJZ0pCQW5RZ0FHb2dBa0VDZENBQmFpZ0NBRFlDQUNBQ0RRQUxCU0FDQkVBRFFDQUJRUVJxSVFNZ0FFRUVhaUVFSUFBZ0FTZ0NBRFlDQUNBQ1FYOXFJZ0lFUUNBRElRRWdCQ0VBREFFTEN3c0xDNGdCQVFWL0lBQW9BZ1FpQlNBQktBSUlSZ1IvSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWZ5QUJLQUlBSUFKQkFuUnFJUU5CQUNFRUEwQWdCQ0FHU0FSQUlBQWdBeWdDQURZQ0FDQUZRUUowSUFOcUlRTWdCRUVCYWlFRUlBQkJCR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQ3lvQkFYOGdBZ1JBQTBBZ0FFRUVhaUVESUFBZ0FUWUNBQ0FDUVg5cUlnSUVRQ0FESVFBTUFRc0xDd3RrQVFKL0lBQVFZQ0FBYWlFQUlBSUVRQUpBSUFJaEF5QUJJUUlnQUNFQkEzOGdBaXdBQUNJRVJRMEJJQUpCQVdvaEFpQUJRUUZxSVFBZ0FTQUVPZ0FBSUFOQmYyb2lBd1IvSUFBaEFRd0JCU0FBQ3dzaEFRc0ZJQUFoQVFzZ0FVRUFPZ0FBQzlVQkFRUi9RZkdwQVNFQ0l3WWhBeU1HUVNCcUpBWUNRQUpBUWZHcEFTd0FBQ0lCUlEwQVFmS3BBU3dBQUVVTkFDQURRUUJCSUJCRkdrSHhxUUVzQUFBaUFRUkFBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaUlFSUFRb0FnQkJBU0FCUVI5eGRISTJBZ0FnQWtFQmFpSUNMQUFBSWdFTkFBc0xJQUFzQUFBaUFRUkFBa0FnQUNFQ0EwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpZ0NBRUVCSUFGQkgzRjBjUTBCSUFKQkFXb2lBaXdBQUNJQkRRQUxDd1VnQUNFQ0N3d0JDeUFBSUFFUXFnSWhBZ3NnQXlRR0lBSWdBR3NMbEFFQkEzOERRQ0FBUVFGcUlRRWdBQ3dBQUJDeUFRUkFJQUVoQUF3QkN3c0Nmd0pBQWtBQ1FBSkFJQUFzQUFBaUEwRXJhdzREQVFJQUFndEJBU0VBREFJTFFRQWhBQXdCQ3lBRERBRUxJQUFoQWlBQklnQXNBQUFMRUlvQkJFQkJBQ0VCQTBBZ0FVRUtiRUV3YWlBQUxBQUFheUVCSUFCQkFXb2lBQ3dBQUJDS0FRMEFDd1ZCQUNFQkN5QUJRUUFnQVdzZ0Foc0xaQUlCZndGK0lBQW9BaWdoQVNBQVFnQWdBQ2dDQUVHQUFYRUVmMEVDUVFFZ0FDZ0NGQ0FBS0FJY1N4c0ZRUUVMSUFGQkEzRkJwZ05xRVJRQUlnSkNBRmtFUUNBQUtBSVVJQUFvQWh4cnJDQUNJQUFvQWdnZ0FDZ0NCR3VzZlh3aEFnc2dBZ3VCQXdFSGZ5TUdJUVVqQmtHUUNHb2tCaUFGUVlBSWFpSUlJQUVvQWdBaUJqWUNBQ0FEUVlBQ0lBQkJBRWNpQ1JzaEJ5QUFJQVVpQ2lBSkd5RURJQWRCQUVjZ0JpSUZRUUJIY1FSQUFrQkJBQ0VBQTBBQ1FDQUNRUUoySWdZZ0IwOGlDeUFDUVlNQlMzSkZEUUlnQWlBSElBWWdDeHNpQldzaEFpQURJQWdnQlNBRUVQNENJZ1ZCZjBZTkFDQUhRUUFnQlNBRElBcEdJZ1liYXlFSElBTWdCVUVDZENBRGFpQUdHeUVESUFBZ0JXb2hBQ0FJS0FJQUlnVkJBRWNnQjBFQVIzRU5BUXdDQ3d0QmZ5RUFRUUFoQnlBSUtBSUFJUVVMQlVFQUlRQUxJQVVFUUNBSFFRQkhJQUpCQUVkeEJFQUNRQU5BSUFNZ0JTQUNJQVFRMXdFaUJrRUNha0VEVHdSQUlBZ2dCaUFJS0FJQWFpSUZOZ0lBSUFOQkJHb2hBeUFBUVFGcUlRQWdCMEYvYWlJSFFRQkhJQUlnQm1zaUFrRUFSM0VOQVF3Q0N3c0NRQUpBQWtBZ0JrRi9hdzRDQUFFQ0N5QUdJUUFNQWdzZ0NFRUFOZ0lBREFFTElBUkJBRFlDQUFzTEN5QUpCRUFnQVNBSUtBSUFOZ0lBQ3lBS0pBWWdBQXVJQVFFRmZ5QUFLQUlFSWdVZ0FTZ0NDRVlFZnlBQUtBSUlJZ1lnQVNnQ0JFWUVmeUFBS0FJQUlRQURmeUFDSUFWSUJIOGdBU2dDQUNBQ1FRTjBhaUVEUVFBaEJBTkFJQVFnQmtnRVFDQUFJQU1yQXdBNUF3QWdCVUVEZENBRGFpRURJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQUpCQVdvaEFnd0JCVUVBQ3dzRlFYOExCVUYvQ3d0N0FRRi9Ba0FnQUNnQ1RFRUFUZ1JBQWtBZ0FDd0FTMEVLUmcwQUlBQW9BaFFpQVNBQUtBSVFUdzBBSUFBZ0FVRUJhallDRkNBQlFRbzZBQUFNQWdzZ0FCQ1pBd3dCQ3lBQUxBQkxRUXBIQkVBZ0FDZ0NGQ0lCSUFBb0FoQkpCRUFnQUNBQlFRRnFOZ0lVSUFGQkNqb0FBQXdDQ3dzZ0FCQ1pBd3NMeFFNQkJIOGpCaUVHSXdaQkVHb2tCZ0pBSUFBRVFDQUNRUU5MQkVBQ1FDQUNJUU1nQVNnQ0FDRUVBMEFDUUNBRUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUFJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFESUFWcklRTWdBQ0FGYWdVZ0FDQUZPZ0FBSUFOQmYyb2hBeUFCS0FJQUlRUWdBRUVCYWdzaEFDQUJJQVJCQkdvaUJEWUNBQ0FEUVFOTERRRWdBeUVFREFJTEN5QUFRUUE2QUFBZ0FVRUFOZ0lBSUFJZ0Eyc2hBZ3dEQ3dVZ0FpRUVDeUFFQkVBZ0FDRURJQUVvQWdBaEFBSkFBMEFDUUNBQUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUdJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFFSUFWSkRRTWdBeUFBS0FJQUVKNEJHaUFESUFWcUlRTWdCQ0FGYXdVZ0F5QUZPZ0FBSUFOQkFXb2hBeUFCS0FJQUlRQWdCRUYvYWdzaEJDQUJJQUJCQkdvaUFEWUNBQ0FFRFFFTUJRc0xJQU5CQURvQUFDQUJRUUEyQWdBZ0FpQUVheUVDREFNTElBSWdCR3NoQWdzRklBRW9BZ0FpQUNnQ0FDSUJCRUJCQUNFQ0EwQWdBVUgvQUVzRVFDQUdJQUVRbmdFaUFVRi9SZ1JBUVg4aEFnd0ZDd1ZCQVNFQkN5QUJJQUpxSVFJZ0FFRUVhaUlBS0FJQUlnRU5BQXNGUVFBaEFnc0xDeUFHSkFZZ0FndGFBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUNLQUlBTmdJQVFRQkJBQ0FCSUFNUXFRRWlCRUVBU0FSL1FYOEZJQUFnQkVFQmFpSUVFRVFpQURZQ0FDQUFCSDhnQUNBRUlBRWdBaENwQVFWQmZ3c0xJUVVnQXlRR0lBVUxtd0VCQW44Z0FVSC9BRW9FUUNBQVF3QUFBSCtVSWdCREFBQUFmNVFnQUNBQlFmNEJTaUlDR3lFQUlBRkJnbjVxSWdOQi93QWdBMEgvQUVnYklBRkJnWDlxSUFJYklRRUZJQUZCZ245SUJFQWdBRU1BQUlBQWxDSUFRd0FBZ0FDVUlBQWdBVUdFZmtnaUFoc2hBQ0FCUWZ3QmFpSURRWUovSUFOQmduOUtHeUFCUWY0QWFpQUNHeUVCQ3dzZ0FDQUJRUmQwUVlDQWdQd0RhcjZVQzRNR0FncC9BbjBqQmlFSkl3WkIwQTlxSkFZZ0FVSDBBMG9FUUVFQUlRQUZBa0FDUUFKQUFrQWdBUTRDQUFFQ0MwRUFJUUFNQWdzZ0FFTUFBSUEvSUFBcUFnQ1ZPQUlBREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBblFnQUdvaURDRUtBMEFnQmlBQlNBUkFRd0FBQUFBaERTQUNJQVpzUVFKMElBQnFJZ1VoQjBGL0lRUWdCaUVEQTBBZ0FTQURSd1JBSUEwZ0J5b0NBSXNpRGwwaENDQU9JQTBnQ0JzaERTQUNRUUowSUFkcUlRY2dBeUFFSUFnYklRUWdBMEVCYWlFRERBRUxDeUFFUVg5R0lBMUQvK2JiTGw5eUJFQkJBQ0VBREFNRklBUkJBblFnQ1dvaUF5Z0NBQ0VISUFNZ0JrRUNkQ0FKYWlJREtBSUFOZ0lBSUFNZ0J6WUNBRUVBSVFjZ0JTRURJQUlnQkd4QkFuUWdBR29oQkFOQUlBRWdCMGNFUUNBRUtBSUFJUWdnQkNBREtBSUFOZ0lBSUFNZ0NEWUNBQ0FIUVFGcUlRY2dBMEVFYWlFRElBUkJCR29oQkF3QkN3c2dCU29DQUNFTlFRRWhCQ0FGSVFNRFFDQUJJQVJIQkVBZ0F5QURRUVJxSWdNcUFnQWdEWlU0QWdBZ0JFRUJhaUVFREFFTEN5QUtRd0FBZ0Q4Z0RaVTRBZ0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFQ2RDQUFhaUlES2dJQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQkdvaUF5b0NBQ0FOSUFjcUFnQ1VremdDQUNBSFFRUnFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaW9DQUpTTU9BSUFDeUFJUVFGcUlRZ2dBa0VDZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFQ2RDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUUowSUFCcUlRWWdBMEVDZENBQWFpRURBMEFnQkNBQlNBUkFJQU1vQWdBaEJ5QURJQVlvQWdBMkFnQWdCaUFITmdJQUlBUkJBV29oQkNBQ1FRSjBJQVpxSVFZZ0FrRUNkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFML1FFQkJYOUI4YWtCSVFFakJpRURJd1pCSUdva0JpQURRZ0EzQXdBZ0EwSUFOd01JSUFOQ0FEY0RFQ0FEUWdBM0F4aEI4YWtCTEFBQUlnSUVmd0ovUWZLcEFTd0FBRVVFUUNBQUlRRURRQ0FCUVFGcUlRUWdBaUFCTEFBQVJnUkFJQVFoQVF3QkN3c2dBU0FBYXd3QkN3TkFJQUpCL3dGeElnSkJCWFpCQW5RZ0Eyb2lCQ0FFS0FJQVFRRWdBa0VmY1hSeU5nSUFJQUZCQVdvaUFTd0FBQ0lDRFFBTElBQXNBQUFpQWdSQUFrQWdBQ0VCQTBBZ0FrSC9BWEVpQkVFRmRrRUNkQ0FEYWlnQ0FFRUJJQVJCSDNGMGNVVU5BU0FCUVFGcUlnRXNBQUFpQWcwQUN3c0ZJQUFoQVFzZ0FTQUFhd3NGUVFBTElRVWdBeVFHSUFVTGt3WUNDbjhDZkNNR0lRa2pCa0hRRDJva0JpQUJRZlFEU2dSQVFRQWhBQVVDUUFKQUFrQUNRQ0FCRGdJQUFRSUxRUUFoQUF3Q0N5QUFSQUFBQUFBQUFQQS9JQUFyQXdDak9RTUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkEzUWdBR29pRENFS0EwQWdCaUFCU0FSQVJBQUFBQUFBQUFBQUlRMGdBaUFHYkVFRGRDQUFhaUlGSVFkQmZ5RUVJQVloQXdOQUlBRWdBMGNFUUNBTklBY3JBd0NaSWc1aklRZ2dEaUFOSUFnYklRMGdBa0VEZENBSGFpRUhJQU1nQkNBSUd5RUVJQU5CQVdvaEF3d0JDd3NnQkVGL1JpQU5STHU5MTluZmZOczlaWElFUUVFQUlRQU1Bd1VnQkVFQ2RDQUphaUlES0FJQUlRY2dBeUFHUVFKMElBbHFJZ01vQWdBMkFnQWdBeUFITmdJQVFRQWhCeUFGSVFNZ0FpQUViRUVEZENBQWFpRUVBMEFnQVNBSFJ3UkFJQVFyQXdBaERTQUVJQU1yQXdBNUF3QWdBeUFOT1FNQUlBZEJBV29oQnlBRFFRaHFJUU1nQkVFSWFpRUVEQUVMQ3lBRkt3TUFJUTFCQVNFRUlBVWhBd05BSUFFZ0JFY0VRQ0FESUFOQkNHb2lBeXNEQUNBTm96a0RBQ0FFUVFGcUlRUU1BUXNMSUFwRUFBQUFBQUFBOEQ4Z0RhTTVBd0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFRGRDQUFhaUlES3dNQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOSUFjckF3Q2lvVGtEQUNBSFFRaHFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaXNEQUtLYU9RTUFDeUFJUVFGcUlRZ2dBa0VEZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFRGRDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUU4wSUFCcUlRWWdBMEVEZENBQWFpRURBMEFnQkNBQlNBUkFJQU1yQXdBaERTQURJQVlyQXdBNUF3QWdCaUFOT1FNQUlBUkJBV29oQkNBQ1FRTjBJQVpxSVFZZ0FrRURkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFMbEFJQkFYOENRQUpBSUFBZ0FYTkJBM0VOQUFKQUlBSkJBRWNpQXlBQlFRTnhRUUJIY1FSQUEwQWdBQ0FCTEFBQUlnTTZBQUFnQTBVTkFpQUFRUUZxSVFBZ0FrRi9haUlDUVFCSElnTWdBVUVCYWlJQlFRTnhRUUJIY1EwQUN3c2dBd1JBSUFFc0FBQUVRQ0FDUVFOTEJFQURRQ0FCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFJQU0yQWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FDUVh4cUlnSkJBMHNOQVFzTEN3d0RDd1ZCQUNFQ0N3c01BUXNnQWdSL0lBRWhBeUFDSVFFRGZ5QUFJQU1zQUFBaUFqb0FBQ0FDUlFSQUlBRWhBZ3dEQ3lBRFFRRnFJUU1nQUVFQmFpRUFJQUZCZjJvaUFRMEFRUUFMQlVFQUN5RUNDeUFBUVFBZ0FoQkZHZ3RBQVFKL0lBSUVRQ0FCSVFNZ0FDRUJBMEFnQTBFRWFpRUFJQUZCQkdvaEJDQUJJQU1vQWdBMkFnQWdBa0YvYWlJQ0JFQWdBQ0VESUFRaEFRd0JDd3NMQ3dNQUFRc3NBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJZ0FUWUNCRUhiQUNBQ0VESVFtZ01hSUFJa0JndldBUUVGZnlNR0lRSWpCa0VnYWlRR1FRQVFoZ01FUUFOQVFRRWdBSFJCLy8vLy93ZHhCRUFnQUVFQ2RDQUFRWWFUQXhDRkF6WUNBQXNnQUVFQmFpSUFRUVpIRFFBTEJRSkFBMEFnQkVFQklBQjBRZi8vLy84SGNTSURSVUVBY1FSL0lBQkJBblFvQWdBRklBQkJocE1EUWFmVkF5QURHeENGQXdzaUEwRUFSMm9oQkNBQVFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFRWkhEUUFMQWtBQ1FBSkFJQVJCLy8vLy93ZHhEZ0lBQVFJTFFjekVBeUVCREFJTElBSW9BZ0JCOEljQlJnUkFRWXlJQVNFQkN3c0xDeUFDSkFZZ0FRdXJBd0lKZndKOElBQW9BZ1FpQlVFQlNDQUFLQUlJSWdaQkFVaHlCSDlCZndVZ0FTZ0NCQ0FGUmdSL0lBRW9BZ2dnQlVZRWZ5QUNLQUlFSUFWR0JIOGdBaWdDQ0NBR1JnUi9JQU1vQWdRZ0JVWUVmeUFDS0FJQUlRSURRQUpBSUFRZ0JVNE5BQ0FES0FJQUlBUkJBM1JxS3dNQUlnMUV2SW5ZbDdMU25EeGpEUUJFQUFBQUFBQUE4RDhnRFptZm95RU9JQVFnQld3aERFRUFJUWNnQWlFSUEwQWdCaUFIUndSQVFRQWhDU0FCS0FJQUlBeEJBM1JxSVFwRUFBQUFBQUFBQUFBaERTQUFLQUlBSUFkQkEzUnFJUXNEUUNBRklBbEhCRUFnRFNBS0t3TUFJQXNyQXdDaW9DRU5JQWxCQVdvaENTQUtRUWhxSVFvZ0JrRURkQ0FMYWlFTERBRUxDeUFJSUE0Z0RhSTVBd0FnQjBFQmFpRUhJQWhCQ0dvaENBd0JDd3NnQkVFQmFpRUVJQVpCQTNRZ0Ftb2hBZ3dCQ3dzZ0FpRUFBMzhnQkNBRlNBUi9JQU1vQWdBZ0JFRURkR3BFQUFBQUFBQUFBQUE1QXdCQkFDRUJBMEFnQVNBR1NBUkFJQUJFQUFBQUFBQUFBQUE1QXdBZ0FVRUJhaUVCSUFCQkNHb2hBQXdCQ3dzZ0JFRUJhaUVFREFFRlFRQUxDd1ZCZndzRlFYOExCVUYvQ3dWQmZ3c0ZRWDhMQ3d1T0FRRUNmd0pBQWtBRFFDQUNRYkRhQUdvdEFBQWdBRWNFUUNBQ1FRRnFJZ0pCMXdCSERRRkIxd0FoQWd3Q0N3c2dBZzBBUVpEYkFDRUFEQUVMUVpEYkFDRUFBMEFnQUNFREEwQWdBMEVCYWlFQUlBTXNBQUFFUUNBQUlRTU1BUXNMSUFKQmYyb2lBZzBBQ3dzZ0FTZ0NGQ0lCQkg4Z0FTZ0NBQ0FCS0FJRUlBQVFtd1VGUVFBTElnRWdBQ0FCR3dzMUFDQUJCSDhDZndOQUlBQWdBVUYvYWlJQmFpMEFBRUV2UndSQUlBRUVRQXdDQlVFQURBTUxBQXNMSUFBZ0FXb0xCVUVBQ3d1c0FRRURmMEdjdUFFaEFpQUFRWnk0QVhOQkEzRkZCRUJCbkxnQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQU4vSUFCQkJHb2hBU0FBSUFNMkFnQWdBa0VFYWlJQ0tBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNRUi9JQUVGSUFFaEFBd0JDd3NoQUFzTElBQWdBaXdBQUNJQk9nQUFJQUVFUUFOQUlBQkJBV29pQUNBQ1FRRnFJZ0lzQUFBaUFUb0FBQ0FCRFFBTEN3czFBUUovSUFJZ0FDZ0NFQ0FBS0FJVUlnUnJJZ01nQXlBQ1N4c2hBeUFFSUFFZ0F4Qk1HaUFBSUFBb0FoUWdBMm8yQWhRZ0FndVVDUUlZZndkOEl3WWhHQ01HUVJCcUpBWWdHQ0VNSUFBb0FnUWlCaUFBS0FJSVJ5QUdRUUpJY2dSL1FYOEZJQUVvQWdRZ0JrWUVmeUFHRU9jQ0lnMEVmd0ovSUF3Z0JrRi9haUlSTmdJRUlBd2dEU2dDQUVFSWFqWUNBQ0FBSUFFZ0RCQ0hDMEVBU0FSQUlBMFF6d0ZCZnd3QkN5QU5LQUlBSWdoRUFBQUFBQUFBQUFBNUF3QWdFU0VEQTBBZ0EwRUFTZ1JBSUFNaEJ3TkFJQWRCQUVvRVFDQUhRUU4wSUFocUt3TUFtU0FCS0FJQUlnVWdCMEYvYWlJQ1FRTjBhaXNEQUprZ0IwRURkQ0FGYWlzREFKbWdSSTN0dGFEM3hyQStvbVFFUUNBQ0lRY01BZ3NMQ3lBRFFYOXFJUWtnQXlBSFJ3UkFBa0FnQTBFRGRDQUlhaUVTSUFkQkFXcEJBM1FnQ0dvaEUwRUFJUVVEUUNBRlFlTUFTdzBCSUFWQkFXb2hCU0FTS3dNQUloc2dHNklpR2lBQktBSUFJZzRnQ1VFRGRHb2lGQ3NEQUNBRFFRTjBJQTVxSWhVckF3QWlHNkZFQUFBQUFBQUE0RCtpSWg4Z0g2S2dueUVjSUJNckF3QWhIU0FISWdKQkEzUWdEbW9yQXdBZ0c2RWdHaUFmSUJ5YUlCd2dIMFFBQUFBQUFBQUFBR01ib0tPZ0lSc0RRQ0FDSUFOSUJFQWdHNWtpR2lBZG1XWUVRQ0FhUkx5SjJKZXkwcHc4WkFSOFJBQUFBQUFBQVBBL0lCMmFJQnVqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1pR2lFZUlCd2dHcUlGUkFBQUFBQUFBUEEvSVI1RUFBQUFBQUFBQUFBTElSb0ZSQUFBQUFBQUFQQS9JQnVhSUIyaklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaEdpQWNJQnFpSVI0TElBSkJBM1FnRG1vaUR5c0RBQ0ljSUFKQkFXb2lDa0VEZENBT2FpSUVLd01BSWgraElTQWdEeUFjSUJvZ0dpQWdvaUFlUkFBQUFBQUFBQUJBb2lBS1FRTjBJQWhxSWhBckF3Q2lvS0lpSEtFNUF3QWdCQ0FmSUJ5Z09RTUFJQUpCQTNRZ0NHb2hCQ0FDSUFkS0JFQWdCQ0FlSUFRckF3Q2lJQjBnR3FLaE9RTUFDeUFRSUJBckF3QWlIQ0FhSUI0Z0lLSWdHa1FBQUFBQUFBQUFRS0lnSEtLaG9xQTVBd0FnQWlBR2JDRVdJQVlnQ213aEYwRUFJUXNEUUNBR0lBdEhCRUFnQUNnQ0FDSVBJQXNnRm1wQkEzUnFJZ1FyQXdBaEd5QUVJQjRnRzZJZ0dpQUxJQmRxUVFOMElBOXFJZ1FyQXdBaUhhS2hPUU1BSUFRZ0dpQWJvaUFlSUIyaW9Ea0RBQ0FMUVFGcUlRc01BUXNMSUFJZ0NVZ0VRQ0FRS3dNQUlSc2dBa0VDYWtFRGRDQUlhaUlDS3dNQUlSMGdBaUFlSUIyaU9RTUFJQm9nSGFLYUlSMExJQW9oQWd3QkN3c2dFaXNEQUprZ0ZDc0RBSmtnRlNzREFKbWdSSTN0dGFEM3hyQStvbVFOQUFzTEN5QUpJUU1NQVFzTFFRQWhBd05BSUFNZ0VVY0VRQ0FCS0FJQUlna2dBMEVEZEdvaUJTc0RBQ0lkSVJvZ0F5SUNRUUZxSWdjaEJBTkFJQVFnQmtnRVFDQUVRUU4wSUFscUt3TUFJaHNnR21RaENpQWJJQm9nQ2hzaEdpQUVJQUlnQ2hzaEFpQUVRUUZxSVFRTUFRc0xJQUpCQTNRZ0NXb2dIVGtEQUNBRklCbzVBd0FnQXlBR2JFRURkQ0FBS0FJQUlnTnFJUVVnQWlBR2JFRURkQ0FEYWlFQ1FRQWhBd05BSUFNZ0JrY0VRQ0FDS3dNQUlSc2dBaUFGS3dNQU9RTUFJQVVnR3prREFDQUZRUWhxSVFVZ0FrRUlhaUVDSUFOQkFXb2hBd3dCQ3dzZ0J5RUREQUVMQ3lBTkVNOEJRUUFMQlVGL0N3VkJmd3NMSVJrZ0RDUUdJQmtMTEFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQUtkQkIzRkJNSEk2QUFBZ0FFSURpQ0lBVUVVTkFBc0xJQUVMTkFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQWlBQXAwRVBjVUdnMmdCcUxRQUFjam9BQUNBQVFnU0lJZ0JRUlEwQUN3c2dBUXVoQWdJSmZ3RjhJQUFvQWdRaENTQUFLQUlJSWdJZ0FTZ0NCRVlFUUNBQktBSUlJQUpHQkVBQ1FDQUJLQUlBSWdvaEJnTkFJQU1nQWs0RVFFRUFJUUFNQWd0QkFDRUVJQVloQVFOQUlBSWdCRWNFUUNBRUlBTkpCRUFnQVNBRElBSWdCR3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJTQUJSQUFBQUFBQUFBQUFPUU1BUVFBaEJ5QURRUU4wSUFWcUlRZ2dCRUVEZENBRmFpRUZSQUFBQUFBQUFBQUFJUXNEUUNBSElBbE9EUUVnQVNBTElBZ3JBd0FnQlNzREFLS2dJZ3M1QXdBZ0IwRUJhaUVISUFKQkEzUWdDR29oQ0NBQ1FRTjBJQVZxSVFVTUFBQUxBQXNMSUFSQkFXb2hCQ0FCUVFocUlRRU1BUXNMSUFOQkFXb2hBeUFDUVFOMElBWnFJUVlNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2V0FnRUdmeU1HSVFNakJrSGdBV29rQmlBRFFhQUJhaUlFUWdBM0F3QWdCRUlBTndNSUlBUkNBRGNERUNBRVFnQTNBeGdnQkVJQU53TWdJQU5CMEFGcUlnVWdBaWdDQURZQ0FFRUFJQUVnQlNBRFFkQUFhaUlDSUFRUXBBSkJBRWdFZjBGL0JTQUFLQUpNUVg5S0JIOUJBUVZCQUFzYUlBQW9BZ0FoQmlBQUxBQktRUUZJQkVBZ0FDQUdRVjl4TmdJQUN5QUFLQUl3QkVBZ0FDQUJJQVVnQWlBRUVLUUNJUUVGSUFBb0Fpd2hCeUFBSUFNMkFpd2dBQ0FETmdJY0lBQWdBellDRkNBQVFkQUFOZ0l3SUFBZ0EwSFFBR28yQWhBZ0FDQUJJQVVnQWlBRUVLUUNJUUVnQndSQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFCUVg4Z0FDZ0NGQnNoQVNBQUlBYzJBaXdnQUVFQU5nSXdJQUJCQURZQ0VDQUFRUUEyQWh3Z0FFRUFOZ0lVQ3dzZ0FDQUFLQUlBSWdBZ0JrRWdjWEkyQWdCQmZ5QUJJQUJCSUhFYkN5RUlJQU1rQmlBSUN5a0NBWDhCZkNBQktBSUFRUWRxUVhoeElnSXJBd0FoQXlBQklBSkJDR28yQWdBZ0FDQURPUU1BQzh3WEF4Ui9BMzRCZkNNR0lSUWpCa0d3Qkdva0JpQVVRWmdFYWlJTVFRQTJBZ0FnQWIwaUdrSUFVd1IvSUFHYUloMGhBVUdoL2dJaEVpQWR2U0VhUVFFRlFhVCtBa0duL2dKQm92NENJQVJCQVhFYklBUkJnQkJ4R3lFU0lBUkJnUkJ4UVFCSEN5RVRJQlJCSUdvaEJpQVVJZzRoRVNBT1Fad0VhaUlLUVF4cUlROGdHa0tBZ0lDQWdJQ0ErUDhBZzBLQWdJQ0FnSUNBK1A4QVVRUi9JQUJCSUNBQ0lCTkJBMm9pQXlBRVFmLy9lM0VRZFNBQUlCSWdFeEJ5SUFCQnZQNENRY0QrQWlBRlFTQnhRUUJISWdVYlFiVCtBa0c0L2dJZ0JSc2dBU0FCWWh0QkF4QnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd1VDZnlBQklBd1FpZ05FQUFBQUFBQUFBRUNpSWdGRUFBQUFBQUFBQUFCaUlnY0VRQ0FNSUF3b0FnQkJmMm8yQWdBTElBVkJJSElpQzBIaEFFWUVRQ0FTUVFscUlCSWdCVUVnY1NJSkd5RUlRUXdnQTJzaUIwVWdBMEVMUzNKRkJFQkVBQUFBQUFBQUlFQWhIUU5BSUIxRUFBQUFBQUFBTUVDaUlSMGdCMEYvYWlJSERRQUxJQWdzQUFCQkxVWUVmQ0FkSUFHYUlCMmhvSm9GSUFFZ0hhQWdIYUVMSVFFTElBOUJBQ0FNS0FJQUlnWnJJQVlnQmtFQVNCdXNJQThRdmdFaUIwWUVRQ0FLUVF0cUlnZEJNRG9BQUFzZ0UwRUNjaUVLSUFkQmYyb2dCa0VmZFVFQ2NVRXJham9BQUNBSFFYNXFJZ2NnQlVFUGFqb0FBQ0FEUVFGSUlRd2dCRUVJY1VVaERTQU9JUVVEUUNBRklBa2dBUkJ6SWdaQm9Ob0FhaTBBQUhJNkFBQWdBU0FHdDZGRUFBQUFBQUFBTUVDaUlRRWdCVUVCYWlJR0lCRnJRUUZHQkg4Z0RTQU1JQUZFQUFBQUFBQUFBQUJoY1hFRWZ5QUdCU0FHUVM0NkFBQWdCVUVDYWdzRklBWUxJUVVnQVVRQUFBQUFBQUFBQUdJTkFBc0NmeUFEUlNBRlFYNGdFV3RxSUFOT2NrVUVRQ0FQSUFOQkFtcHFJQWRySVFzZ0J3d0JDeUFGSUE4Z0VXc2dCMnRxSVFzZ0J3c2hCaUFBUVNBZ0FpQUtJQXRxSWdNZ0JCQjFJQUFnQ0NBS0VISWdBRUV3SUFJZ0F5QUVRWUNBQkhNUWRTQUFJQTRnQlNBUmF5SUZFSElnQUVFd0lBc2dCU0FQSUFacklnWnFhMEVBUVFBUWRTQUFJQWNnQmhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3d0JDeUFIQkVBZ0RDQU1LQUlBUVdScUlnZzJBZ0FnQVVRQUFBQUFBQUN3UWFJaEFRVWdEQ2dDQUNFSUN5QUdJQVpCb0FKcUlBaEJBRWdiSWdvaEJnTkFJQVlnQVJDS0JTSUhOZ0lBSUFaQkJHb2hCaUFCSUFlNG9VUUFBQUFBWmMzTlFhSWlBVVFBQUFBQUFBQUFBR0lOQUFzZ0NFRUFTZ1JBSUFvaEJ3TkFJQWhCSFNBSVFSMUlHeUVOSUFaQmZHb2lDQ0FIVHdSQUlBMnRJUnRCQUNFSkEwQWdDYTBnQ0NnQ0FLMGdHNFo4SWh4Q2dKVHIzQU1ROWdFaEdpQUlJQndnR2tLQWxPdmNBMzU5UGdJQUlCcW5JUWtnQ0VGOGFpSUlJQWRQRFFBTElBa0VRQ0FIUVh4cUlnY2dDVFlDQUFzTElBWWdCMHNFUUFKQUEzOGdCa0Y4YWlJSUtBSUFEUUVnQ0NBSFN3Ui9JQWdoQmd3QkJTQUlDd3NoQmdzTElBd2dEQ2dDQUNBTmF5SUlOZ0lBSUFoQkFFb05BQXNGSUFvaEJ3dEJCaUFESUFOQkFFZ2JJUTBnQ0VFQVNBUkFJQTFCR1dwQkNSQTVRUUZxSVJBZ0MwSG1BRVloRlNBR0lRTURRRUVBSUFocklnWkJDU0FHUVFsSUd5RUpJQW9nQnlBRFNRUi9RUUVnQ1hSQmYyb2hGa0dBbE92Y0F5QUpkaUVYUVFBaENDQUhJUVlEUUNBR0lBZ2dCaWdDQUNJWUlBbDJhallDQUNBWElCWWdHSEZzSVFnZ0JrRUVhaUlHSUFOSkRRQUxJQWNnQjBFRWFpQUhLQUlBR3lFWklBZ0VmeUFESUFnMkFnQWdBMEVFYWdVZ0F3c2hCaUFaQlNBRElRWWdCeUFIUVFScUlBY29BZ0FiQ3lJRElCVWJJZ2NnRUVFQ2RHb2dCaUFHSUFkclFRSjFJQkJLR3lFSUlBd2dDU0FNS0FJQWFpSUdOZ0lBSUFaQkFFZ0VRQ0FESVFjZ0NDRURJQVloQ0F3QkN3c0ZJQWNoQXlBR0lRZ0xJQW9oRENBRElBaEpCRUFnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQmdOQUlBZEJBV29oQnlBS0lBWkJDbXdpQms4TkFBc0xCVUVBSVFjTElBMUJBQ0FISUF0QjVnQkdHMnNnQzBIbkFFWWlGU0FOUVFCSEloWnhRUjkwUVI5MWFpSUdJQWdnREd0QkFuVkJDV3hCZDJwSUJIOGdCa0dBeUFCcUlnWkJDUkE1SVFrZ0JpQUpRUWxzYXlJR1FRaElCRUJCQ2lFTEEwQWdCa0VCYWlFS0lBdEJDbXdoQ3lBR1FRZElCRUFnQ2lFR0RBRUxDd1ZCQ2lFTEN5QUpRUUowSUF4cVFZUmdhaUlHS0FJQUlna2dDeEJJSVJBZ0NDQUdRUVJxUmlJWElBa2dDeUFRYkdzaUNrVnhSUVJBUkFFQUFBQUFBRUJEUkFBQUFBQUFBRUJESUJCQkFYRWJJUUZFQUFBQUFBQUE0RDlFQUFBQUFBQUE4RDlFQUFBQUFBQUErRDhnRnlBS0lBdEJBWFlpRUVaeEd5QUtJQkJKR3lFZElCTUVRQ0FkbWlBZElCSXNBQUJCTFVZaUVCc2hIU0FCbWlBQklCQWJJUUVMSUFZZ0NTQUtheUlLTmdJQUlBRWdIYUFnQVdJRVFDQUdJQW9nQzJvaUJ6WUNBQ0FIUWYrVDY5d0RTd1JBQTBBZ0JrRUFOZ0lBSUFaQmZHb2lCaUFEU1FSQUlBTkJmR29pQTBFQU5nSUFDeUFHSUFZb0FnQkJBV29pQnpZQ0FDQUhRZitUNjl3RFN3MEFDd3NnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQ3dOQUlBZEJBV29oQnlBS0lBdEJDbXdpQzA4TkFBc0xDd3NnQnlFSklBWkJCR29pQmlBSUlBZ2dCa3NiSVFZZ0F3VWdCeUVKSUFnaEJpQURDeUVLSUFZZ0Nrc0Vmd0ovSUFZaEF3Ti9JQU5CZkdvaUJpZ0NBQVJBSUFNaEJrRUJEQUlMSUFZZ0Nrc0VmeUFHSVFNTUFRVkJBQXNMQ3dWQkFBc2hCeUFWQkg4Z0ZrRUJjeUFOYWlJRElBbEtJQWxCZTBweEJIOGdBMEYvYWlBSmF5RUlJQVZCZjJvRklBTkJmMm9oQ0NBRlFYNXFDeUVGSUFSQkNIRUVmeUFJQlNBSEJFQWdCa0Y4YWlnQ0FDSU5CRUFnRFVFS0VFNEVRRUVBSVFNRlFRQWhBMEVLSVFzRFFDQURRUUZxSVFNZ0RTQUxRUXBzSWdzUVRrVU5BQXNMQlVFSklRTUxCVUVKSVFNTElBWWdER3RCQW5WQkNXeEJkMm9oRFNBRlFTQnlRZVlBUmdSL0lBZ2dEU0FEYXlJRFFRQWdBMEVBU2hzaUF5QUlJQU5JR3dVZ0NDQUpJQTFxSUFOcklnTkJBQ0FEUVFCS0d5SURJQWdnQTBnYkN3c0ZJQTBMSVFOQkFDQUpheUVJSUFCQklDQUNJQVZCSUhKQjVnQkdJaEFFZjBFQUlRZ2dDVUVBSUFsQkFFb2JCU0FQSUFnZ0NTQUpRUUJJRzZ3Z0R4QytBU0lMYTBFQ1NBUkFBMEFnQzBGL2FpSUxRVEE2QUFBZ0R5QUxhMEVDU0EwQUN3c2dDMEYvYWlBSlFSOTFRUUp4UVN0cU9nQUFJQXRCZm1vaUNDQUZPZ0FBSUE4Z0NHc0xJQU1nRTBFQmFtcEJBU0FFUVFOMlFRRnhJQU5CQUVjaUN4dHFhaUlOSUFRUWRTQUFJQklnRXhCeUlBQkJNQ0FDSUEwZ0JFR0FnQVJ6RUhVZ0VBUkFJQTVCQ1dvaUNTRVBJQTVCQ0dvaENDQU1JQW9nQ2lBTVN4c2lDaUVIQTBBZ0J5Z0NBSzBnQ1JDK0FTRUZJQWNnQ2tZRVFDQUZJQWxHQkVBZ0NFRXdPZ0FBSUFnaEJRc0ZJQVVnRGtzRVFDQU9RVEFnQlNBUmF4QkZHZ05BSUFWQmYyb2lCU0FPU3cwQUN3c0xJQUFnQlNBUElBVnJFSElnQjBFRWFpSUZJQXhOQkVBZ0JTRUhEQUVMQ3lBRVFRaHhSU0FMUVFGemNVVUVRQ0FBUWNUK0FrRUJFSElMSUFCQk1DQUZJQVpKSUFOQkFFcHhCSDhEZnlBRktBSUFyU0FKRUw0QklnY2dEa3NFUUNBT1FUQWdCeUFSYXhCRkdnTkFJQWRCZjJvaUJ5QU9TdzBBQ3dzZ0FDQUhJQU5CQ1NBRFFRbElHeEJ5SUFOQmQyb2hCeUFGUVFScUlnVWdCa2tnQTBFSlNuRUVmeUFISVFNTUFRVWdCd3NMQlNBREMwRUpha0VKUVFBUWRRVWdBRUV3SUFvZ0JpQUtRUVJxSUFjYklndEpJQU5CZjBweEJIOGdCRUVJY1VVaEVpQU9RUWxxSWd3aEUwRUFJQkZySVJFZ0RrRUlhaUVKSUFNaEJTQUtJUVlEZnlBTUlBWW9BZ0N0SUF3UXZnRWlBMFlFUUNBSlFUQTZBQUFnQ1NFREN3SkFJQVlnQ2tZRVFDQURRUUZxSVFjZ0FDQURRUUVRY2lBU0lBVkJBVWh4QkVBZ0J5RUREQUlMSUFCQnhQNENRUUVRY2lBSElRTUZJQU1nRGswTkFTQU9RVEFnQXlBUmFoQkZHZ05BSUFOQmYyb2lBeUFPU3cwQUN3c0xJQUFnQXlBVElBTnJJZ01nQlNBRklBTktHeEJ5SUFaQkJHb2lCaUFMU1NBRklBTnJJZ1ZCZjBweERRQWdCUXNGSUFNTFFSSnFRUkpCQUJCMUlBQWdDQ0FQSUFockVISUxJQUJCSUNBQ0lBMGdCRUdBd0FCekVIVWdEUXNMSVFBZ0ZDUUdJQUlnQUNBQUlBSklHd3MwQUNBQUlBQmlCSDlCQUFVZ0FFUUFBQUFBQUFEd1FXWUVmMEVBQlNBQVJBQUFBQUFBQVBDL1pRUi9RUUFGSUFDckN3c0xDeVlCQVg4akJpRUNJd1pCRUdva0JpQUNJQUUyQWdBZ0FFSDIvUUlnQWhDbEFob2dBaVFHQzFZQkEzOGdBQ2dDVkNJRFFRQWdBa0dBQW1vaUJSQ21BaUVFSUFFZ0F5QUVJQU5ySUFVZ0JCc2lBU0FDSUFFZ0Fra2JJZ0lRVEJvZ0FDQUNJQU5xTmdJRUlBQWdBU0FEYWlJQk5nSUlJQUFnQVRZQ1ZDQUNDNlVDQWdwL0FYd2dBQ2dDQ0NFR0lBQW9BZ1FpQlNBQktBSUVSZ1JBSUFFb0FnZ2dCVVlFUUFKQUlBRW9BZ0FpQ2lFSEEwQWdBaUFGVGdSQVFRQWhBQXdDQ3lBQ0lBWnNJUXRCQUNFRElBY2hBUU5BSUFNZ0JVY0VRQ0FESUFKSkJFQWdBU0FDSUFNZ0JXeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQkNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQ0NBTFFRTjBJQVJxSVFrZ0F5QUdiRUVEZENBRWFpRUVSQUFBQUFBQUFBQUFJUXdEUUNBSUlBWk9EUUVnQVNBTUlBa3JBd0FnQkNzREFLS2dJZ3c1QXdBZ0NFRUJhaUVJSUFsQkNHb2hDU0FFUVFocUlRUU1BQUFMQUFzTElBTkJBV29oQXlBQlFRaHFJUUVNQVFzTElBSkJBV29oQWlBRlFRTjBJQWRxSVFjTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdjdBd0lEZndWK0lBQzlJZ2RDTklpblFmOFBjU0VDSUFHOUlnWkNOSWluUWY4UGNTRUVJQWRDZ0lDQWdJQ0FnSUNBZjRNaENRSjhBa0FnQmtJQmhpSUZVQTBBQW53Z0FrSC9EMFlnQWIxQy8vLy8vLy8vLy8vL0FJTkNnSUNBZ0lDQWdQai9BRlp5RFFFZ0IwSUJoaUlJSUFWWUJFQWdBRVFBQUFBQUFBQUFBS0lnQUNBRklBaFJHdzhMSUFJRWZpQUhRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FDSVFGSUFkQ0RJWWlCVUovVlFSQVFRQWhBZ05BSUFKQmYyb2hBaUFGUWdHR0lnVkNmMVVOQUFzRlFRQWhBZ3NnQjBFQklBSnJyWVlMSWdnZ0JBUitJQVpDLy8vLy8vLy8vd2VEUW9DQWdJQ0FnSUFJaEFVZ0JrSU1oaUlGUW45VkJFQURRQ0FEUVg5cUlRTWdCVUlCaGlJRlFuOVZEUUFMQ3lBR1FRRWdBeUlFYTYyR0N5SUdmU0lGUW45VklRTWdBaUFFU2dSQUFrQURRQUpBSUFNRVFDQUZVQTBCQlNBSUlRVUxJQVZDQVlZaUNDQUdmU0lGUW45VklRTWdBa0YvYWlJQ0lBUktEUUVNQWdzTElBQkVBQUFBQUFBQUFBQ2lEQUlMQ3lBREJFQWdBRVFBQUFBQUFBQUFBS0lnQlZBTkFSb0ZJQWdoQlFzZ0JVS0FnSUNBZ0lDQUNGUUVRQU5BSUFKQmYyb2hBaUFGUWdHR0lnVkNnSUNBZ0lDQWdBaFVEUUFMQ3lBRlFvQ0FnSUNBZ0lCNGZDQUNyVUkwaG9RZ0JVRUJJQUpycllnZ0FrRUFTaHNnQ1lTL0N3d0JDeUFBSUFHaUlnQWdBS01MQy9rVEF3NS9BbjRIZkNNR0lRb2pCa0dBQkdva0JrRUFJQUlnQTJvaUVHc2hFUUpBQWtBRFFBSkFBa0FDUUNBQlFTNXJEZ01FQUFFQUN5QUJJUVlnQnlFQkRBRUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUZCQVNFSERBRUxDd3dCQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQ3lJR1FUQkdCSDhEZnlBVVFuOThJUlFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQmtFd1JnMEFRUUVoQzBFQkN3VkJBU0VMSUFjTElRRUxJQXBCQURZQ0FBSjhBa0FDUUFKQUFrQWdCa0V1UmlJT0lBWkJVR29pRFVFS1NYSUVRQUpBUVFBaEJ5QUdJUWtnRFNFR0EwQUNRQ0FPQkVBZ0N3MEJRUUVoQ3lBVklSUUZBa0FnRlVJQmZDRVZJQWxCTUVjaERTQUlRZjBBVGdSQUlBMUZEUUVnQ2lBS0tBTHdBMEVCY2pZQzhBTU1BUXNnQ0VFQ2RDQUthaUlCSUF3RWZ5QUpRVkJxSUFFb0FnQkJDbXhxQlNBR0N6WUNBQ0FNUVFGcUlnWkJDVVloQVVFQUlBWWdBUnNoRENBQklBaHFJUWdnRmFjZ0J5QU5HeUVIUVFFaEFRc0xJQUFvQWdRaUJpQUFLQUpvU1FSL0lBQWdCa0VCYWpZQ0JDQUdMUUFBQlNBQUVGUUxJZ2xCVUdvaUJrRUtTU0FKUVM1R0lnNXlEUUVnQ1NFR0RBSUxDeUFCUVFCSElRRU1BZ3NGUVFBaEJ3c2dGQ0FWSUFzYklSUWdBVUVBUnlJQklBWkJJSEpCNVFCR2NVVUVRQ0FHUVg5S0JFQU1BZ1VNQXdzQUN5QVVJQUFnQlJDUkF5SVVRb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JVVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CZ3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdGQXQ4SVJRTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQ0FCUlEwQ0RBTUxDeUFCUlEwQURBRUxRYVRGQTBFY05nSUFJQUJDQUJDQ0FVUUFBQUFBQUFBQUFBd0JDeUFFdDBRQUFBQUFBQUFBQUtJZ0NpZ0NBQ0lBUlEwQUdpQVVJQlZSSUJWQ0NsTnhCRUFnQkxjZ0FMaWlJQUFnQW5aRklBSkJIa3B5RFFFYUN5QVVJQU5CZmhBNXJGVUVRRUdreFFOQnhBQTJBZ0FnQkxkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFVSUFOQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0JMZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBTUJFQWdERUVKU0FSQUlBaEJBblFnQ21vaUJTZ0NBQ0VCQTBBZ0FVRUtiQ0VCSUF4QkFXb2hBQ0FNUVFoSUJFQWdBQ0VNREFFTEN5QUZJQUUyQWdBTElBaEJBV29oQ0FzZ0ZLY2hBU0FIUVFsSUJFQWdBVUVTU0NBSElBRk1jUVJBSUFGQkNVWUVRQ0FFdHlBS0tBSUF1S0lNQXdzZ0FVRUpTQVJBSUFTM0lBb29BZ0M0b2tFQUlBRnJRUUowUWNEVUFHb29BZ0Mzb3d3REN5QUNRUnRxSUFGQmZXeHFJZ0JCSGtvZ0NpZ0NBQ0lGSUFCMlJYSUVRQ0FFdHlBRnVLSWdBVUVDZEVINDB3QnFLQUlBdDZJTUF3c0xDeUFCUVFrUVR5SUFCSDlCQUNBQUlBQkJDV29nQVVGL1Noc2lER3RCQW5SQndOUUFhaWdDQUNFR0lBZ0VmMEdBbE92Y0F5QUdFRGtoQzBFQUlRZEJBQ0VBUVFBaEJRTkFJQWNnQlVFQ2RDQUthaUlOS0FJQUlnNGdCaEJJSWc5cUlRa2dEU0FKTmdJQUlBc2dEaUFHSUE5c2Eyd2hCeUFCUVhkcUlBRWdDVVVnQUNBRlJuRWlDUnNoQVNBQVFRRnFRZjhBY1NBQUlBa2JJUUFnQlVFQmFpSUZJQWhIRFFBTElBY0VmeUFJUVFKMElBcHFJQWMyQWdBZ0FDRUZJQWhCQVdvRklBQWhCU0FJQ3dWQkFDRUZRUUFMSVFBZ0FVRUpJQXhyYWlFQklBVUZJQWdoQUVFQUN5RUhRUUFoQlFOQUFrQWdBVUVTU0NFTUlBRkJFa1loRFNBSFFRSjBJQXBxSVE0RFFDQU1SUVJBSUExRkRRSWdEaWdDQUVIZjRLVUVUd1JBUVJJaEFRd0RDd3RCQUNFSUlBQkIvd0JxSVFzRFFDQUlyU0FMUWY4QWNTSUpRUUowSUFwcUlnWW9BZ0N0UWgyR2ZDSVVweUVMSUJSQ2dKVHIzQU5XQkVBZ0ZFS0FsT3ZjQXhEMkFTSVZweUVJSUJRZ0ZVS0FsT3ZjQTM1OXB5RUxCVUVBSVFnTElBWWdDellDQUNBQUlBQWdDU0FMR3lBSElBbEdJZzhnQ1NBQVFmOEFha0gvQUhGSGNoc2hCaUFKUVg5cUlRc2dEMFVFUUNBR0lRQU1BUXNMSUFWQlkyb2hCU0FJUlEwQUN5QUdRZjhBYWtIL0FIRWhDU0FHUWY0QWFrSC9BSEZCQW5RZ0Ntb2hEQ0FIUWY4QWFrSC9BSEVpQnlBR1JnUkFJQXdnQ1VFQ2RDQUthaWdDQUNBTUtBSUFjallDQUNBSklRQUxJQWRCQW5RZ0Ntb2dDRFlDQUNBQlFRbHFJUUVNQVFzTEEwQUNRQ0FBUVFGcVFmOEFjU0VHSUFCQi93QnFRZjhBY1VFQ2RDQUthaUVNQTBBQ1FDQUJRUkpHSVFoQkNVRUJJQUZCRzBvYklRa0RRRUVBSVE0Q1FBSkFBMEFDUUNBQUlBY2dEbXBCL3dCeElndEdEUUlnQzBFQ2RDQUthaWdDQUNJTElBNUJBblJCcUlvQmFpZ0NBQ0lOU1EwQ0lBc2dEVXNOQUNBT1FRRnFRUUpQRFFKQkFTRU9EQUVMQ3d3QkN5QUlEUVFMSUFVZ0NXb2hCU0FBSUFkR0JFQWdBQ0VIREFFTEMwRUJJQWwwUVg5cUlRNUJnSlRyM0FNZ0NYWWhEMEVBSVFnZ0J5RUxBMEFnQ0NBTFFRSjBJQXBxSWhJb0FnQWlFeUFKZG1vaERTQVNJQTAyQWdBZ0R5QU9JQk54YkNFSUlBRkJkMm9nQVNBTlJTQUhJQXRHY1NJTkd5RUJJQWRCQVdwQi93QnhJQWNnRFJzaEJ5QUxRUUZxUWY4QWNTSUxJQUJIRFFBTElBZ0VRQ0FHSUFkSERRRWdEQ0FNS0FJQVFRRnlOZ0lBQ3d3QkN3c2dBRUVDZENBS2FpQUlOZ0lBSUFZaEFBd0JDd3RCQUNFQkEwQWdBRUVCYWtIL0FIRWhCaUFBSUFFZ0IycEIvd0J4SWdsR0JFQWdCa0YvYWtFQ2RDQUtha0VBTmdJQUlBWWhBQXNnRmtRQUFBQUFaYzNOUWFJZ0NVRUNkQ0FLYWlnQ0FMaWdJUllnQVVFQmFpSUJRUUpIRFFBTElCWWdCTGNpR0tJaEZ5QUZRVFZxSWdZZ0Eyc2lBeUFDU0NFRUlBTkJBQ0FEUVFCS0d5QUNJQVFiSWdGQk5VZ0VRRVFBQUFBQUFBRHdQMEhwQUNBQmF4Q2ZBU0FYRUpBREloa2hHaUFYUkFBQUFBQUFBUEEvUVRVZ0FXc1Fud0VRandNaUd5RVdJQmtnRnlBYm9hQWhGd1ZFQUFBQUFBQUFBQUFoRmdzZ0IwRUNha0gvQUhFaUFpQUFSd1JBQWtBZ0FrRUNkQ0FLYWlnQ0FDSUNRWURLdGU0QlNRUjhJQUpGUVFBZ0FDQUhRUU5xUWY4QWNVWWJEUUVnR0VRQUFBQUFBQURRUDZJZ0ZxQUZJQUpCZ01xMTdnRkhCRUFnR0VRQUFBQUFBQURvUDZJZ0ZxQWhGZ3dDQ3lBWVJBQUFBQUFBQU9BL29pQVdvQ0FZUkFBQUFBQUFBT2cvb2lBV29DQUFJQWRCQTJwQi93QnhSaHNMSVJZTFFUVWdBV3RCQVVvRWZDQVdSQUFBQUFBQUFQQS9FSThEUkFBQUFBQUFBQUFBWVFSOElCWkVBQUFBQUFBQThEK2dCU0FXQ3dVZ0Znc2hGZ3NnRnlBV29DQWFvU0VYSUFaQi8vLy8vd2R4UVg0Z0VHdEtCSHdDZkNBRklCZVpSQUFBQUFBQUFFQkRaa1VpQUVFQmMyb2hCU0FYSUJkRUFBQUFBQUFBNEQraUlBQWJJUmNnQlVFeWFpQVJUQVJBSUJjZ0JDQUFJQUVnQTBkeWNTQVdSQUFBQUFBQUFBQUFZbkZGRFFFYUMwR2t4UU5CeEFBMkFnQWdGd3NGSUJjTElBVVFqZ01MSVJ3Z0NpUUdJQndMOGdnRENIOEZmZ044SUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFVQ1FBSkFBMEFDUUFKQUlBVkJMbXNPQXdNQkFBRUxJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVZCQVNFSURBRUxDd3dCQ3lBQUtBSUVJZ1VnQUNnQ2FFa0VmeUFBSUFWQkFXbzJBZ1FnQlMwQUFBVWdBQkJVQ3lJRlFUQkdCSDhEZnlBTlFuOThJUTBnQUNnQ0JDSUZJQUFvQW1oSkJIOGdBQ0FGUVFGcU5nSUVJQVV0QUFBRklBQVFWQXNpQlVFd1JnMEFRUUVoQ0VFQkN3VkJBUXNoQ1F0RUFBQUFBQUFBOEQ4aEV5QUZJUWNnQ0NFRkEwQUNRQ0FIUVNCeUlRZ0NRQUpBSUFkQlVHb2lDMEVLU1EwQUlBZEJMa1lpRENBSVFaOS9ha0VHU1hKRkRRSWdERVVOQUNBSkJINUJMaUVIREFNRlFRRWhDU0FQQ3lFTkRBRUxJQWhCcVg5cUlBc2dCMEU1U2hzaEJTQVBRZ2hUQkVBZ0JTQUdRUVIwYWlFR0JTQVBRZzVUQkh3Z0UwUUFBQUFBQUFDd1A2SWlGQ0VUSUJJZ0ZDQUZ0NktnQlNBS1FRRWdCVVVnQ2tFQVIzSWlCUnNoQ2lBU0lCSWdFMFFBQUFBQUFBRGdQNktnSUFVYkN5RVNDeUFQUWdGOElROUJBU0VGQ3lBQUtBSUVJZ2NnQUNnQ2FFa0VmeUFBSUFkQkFXbzJBZ1FnQnkwQUFBVWdBQkJVQ3lFSERBRUxDeUFGQkh3Q2ZDQVBRZ2hUQkVBZ0R5RU9BMEFnQmtFRWRDRUdJQTVDQVh3aEVDQU9RZ2RUQkVBZ0VDRU9EQUVMQ3dzQ2Z5QUhRU0J5UWZBQVJnUitJQUFnQkJDUkF5SU9Rb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JFVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdEZ3NGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFnQUxJUkVnQTdkRUFBQUFBQUFBQUFDaUlBWkZEUUVhSUJFZ0RTQVBJQWtiUWdLR1FtQjhmQ0lOUVFBZ0FtdXNWUXNFUUVHa3hRTkJ4QUEyQWdBZ0E3ZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBTklBSkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdBN2RFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QUdRWDlLQkVBRFFDQVNSQUFBQUFBQUFPQS9aa1VpQUVFQmN5QUdRUUYwY2lFR0lCSWdFaUFTUkFBQUFBQUFBUEMvb0NBQUc2QWhFaUFOUW45OElRMGdCa0YvU2cwQUN3c0NmQUpBSUExQ0lDQUNySDE4SWc0Z0FheFRCRUFnRHFjaUFVRUFUQVJBUVFBaEFVSFVBQ0VBREFJTEMwSFVBQ0FCYXlFQUlBRkJOVWdOQUNBRHR5RVRSQUFBQUFBQUFBQUFEQUVMUkFBQUFBQUFBUEEvSUFBUW53RWdBN2NpRXhDUUF3c2hGRVFBQUFBQUFBQUFBQ0FTSUFaQkFYRkZJQUZCSUVnZ0VrUUFBQUFBQUFBQUFHSnhjU0lBR3lBVG9pQVVJQk1nQUNBR2FyaWlvS0FnRktFaUVrUUFBQUFBQUFBQUFHRUVRRUdreFFOQnhBQTJBZ0FMSUJJZ0RhY1FqZ01MQlNBQUtBSm9SU0lCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQkFSQUlBRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUlBRWdDVVZ5UlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNMQlNBQVFnQVFnZ0VMSUFPM1JBQUFBQUFBQUFBQW9nc0x2Z01CQkg4Z0FDZ0NDQ0lGSUFBb0FnUWlBeUFGSUFOSUd5RUdJQVZCQWtnZ0EwRUNTSElFZjBGL0JTQUJLQUlJSUFWR0JIOGdBU2dDQkNBR1JnUi9JQUlvQWdRZ0JrWUVmd0ovSUFZZ0JoQ0xBU0lFS0FJRUlBWkdCRUFnQkNnQ0NDQUdSZ1JBSUFNZ0JVZ2lBd1JBSUFBZ0JCQ05CVUVBU0FSQUlBUVFTVUYvREFRTEJTQUFJQVFRaGdWQkFFZ0VRQ0FFRUVsQmZ3d0VDd3NnQkNBQ0VJTUZRUUJJQkVBZ0JCQkpRWDhNQXdzZ0F3UkFJQUFnQkNBQklBSVEvZ1JCQUVnRVFDQUVFRWxCZnd3RUN3VUNRRUVBSVFVZ0JDZ0NBQ0VESUFFb0FnQWhBQU5BQWtBZ0JTQUdUZzBBSUFJb0FnQWdCVUVEZEdvckF3QkV2SW5ZbDdMU25EeGpEUUJCQUNFQkEwQWdBU0FHU0FSQUlBQWdBeXNEQURrREFDQUJRUUZxSVFFZ0EwRUlhaUVESUFCQkNHb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUZJUUVEUUNBQklBWk9EUUVnQWlnQ0FDQUJRUU4wYWtRQUFBQUFBQUFBQURrREFFRUFJUU1EUUNBRElBWklCRUFnQUVRQUFBQUFBQUFBQURrREFDQURRUUZxSVFNZ0FFRUlhaUVBREFFTEN5QUJRUUZxSVFFTUFBQUxBQXNMSUFRUVNVRUFEQUlMQ3lBRUVFbEJmd3NGUVg4TEJVRi9Dd1ZCZndzTEM5SVRBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdjaERDQUJJQUpCZjJvaUVHeEJBWFFnQjJvaEJnTkFJQVVnQVVnRVFDQUdRUUE3QVFBZ0RFRUFPd0VBSUF4QkFtb2hEQ0FGUVFGcUlRVWdCa0VDYWlFR0RBRUxDMEVBSVF3Z0J5SUdJQUZCZjJvaUVVRUJkR29oQlFOQUlBd2dBa2dFUUNBRlFRQTdBUUFnQmtFQU93RUFJQUZCQVhRZ0Jtb2hCaUFNUVFGcUlRd2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFaQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oREVFQklRcEJBQ0VGSUFCQkFYUWdCMm9oQXdKL0FrQURRQUpBSUFvZ0VFNE5BaUFGSVFCQkFTRUlJQU1oQ3dOQUlBZ2dFVWdFUUNBTkxRQUFJQXd0QUFCS0JFQUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQlNBTFFRQTdBUUFMSUExQkFXb2hEU0FNUVFGcUlRd2dDRUVCYWlFSUlBdEJBbW9oQ3d3QkN3c2dEVUVDYWlFTklBeEJBbW9oRENBS1FRRnFJUW9nQUNFRklBdEJCR29oQXd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQndOQUlBY2dCVXdFUUNBSElBWW9BZ0FpREVZRVFDQUFRUUZxSVFNRklBQWhBeUFNUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FESVFBZ0IwRUJhaUVISUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdZMkFnZ2dCZ1IvSUExQkFDQUdRUUowRUVVYUlBUkJrSUFvYWtFQUlBWkJCSFFRUlJwQkFDRURBMEFnQXlBR1NBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdaQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MVXdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUNnQ0FEWUNBQU5BSUFJb0FnQkJBMnBCZkhFaUFDZ0NBQ0VESUFJZ0FFRUVhallDQUNBQlFYOXFJUUFnQVVFQlN3UkFJQUFoQVF3QkN3c2dBaVFHSUFNTHhoUURFWDhEZmdGOEl3WWhDU01HUWFBQ2FpUUdJQUFvQWt4QmYwb0VmMEVCQlVFQUN4b2dDVUdJQW1vaERTQUpRWVFDYWlFU0lBbEJrQUpxSVJNZ0FTd0FBQ0lMQkVBQ1FBSkFBa0FDUUFKQUEwQUNRQ0FMUWY4QmNSQ3lBUVJBQTBBZ0FVRUJhaUlETFFBQUVMSUJCRUFnQXlFQkRBRUxDeUFBUWdBUWdnRURRQ0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeEN5QVEwQUN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnczJBZ1FGSUFBb0FnUWhDd3NnQ3lBQUtBSUlhNndnRkNBQUtRTjRmSHdoRkFVQ1FDQUJMQUFBUVNWR0lnY0VRQUpBQW44Q1FBSkFJQUZCQVdvaUJDd0FBQ0lEUVNWckRnWURBUUVCQVFBQkMwRUFJUW9nQVVFQ2Fnd0JDeUFEUWY4QmNSQ0tBUVJBSUFFc0FBSkJKRVlFUUNBQ0lBUXRBQUJCVUdvUWt3VWhDaUFCUVFOcURBSUxDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhDaUFDSUFGQkJHbzJBZ0FnQkFzaUFTMEFBQkNLQVFSQVFRQWhCQU5BSUFFdEFBQWdCRUVLYkVGUWFtb2hCQ0FCUVFGcUlnRXRBQUFRaWdFTkFBc0ZRUUFoQkFzZ0FVRUJhaUVISUFFc0FBQWlDRUh0QUVZRWYwRUFJUVlnQVVFQ2FpRUJJQWNpQXl3QUFDRUlRUUFoQlNBS1FRQkhCU0FCSVFNZ0J5RUJRUUFMSVFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FJUVJoMFFSaDFRY0VBYXc0NkJRNEZEZ1VGQlE0T0RnNEVEZzRPRGc0T0JRNE9EZzRGRGc0RkRnNE9EZzRGRGdVRkJRVUZBQVVDRGdFT0JRVUZEZzRGQXdVT0RnVU9BdzRMUVg1QmZ5QUJMQUFBUWVnQVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBVUxRUU5CQVNBQkxBQUFRZXdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFRTFFRTWhDQXdEQzBFQklRZ01BZ3RCQWlFSURBRUxRUUFoQ0NBRElRRUxRUUVnQ0NBQkxRQUFJZ2RCTDNGQkEwWWlBeHNoRGlBQUFuOENRQUpBQWtBQ1FDQUhRU0J5SUFjZ0F4c2lERUgvQVhFaUIwRVlkRUVZZFVIYkFHc09GQUVEQXdNREF3TURBQU1EQXdNREF3TURBd01DQXdzZ0JFRUJJQVJCQVVvYkRBTUxJQVFNQWdzZ0NpQU9JQlFRbEFNTUJBc2dBRUlBRUlJQkEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc1FzZ0VOQUFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWlJSU5nSUVCU0FBS0FJRUlRZ0xJQWdnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFnQkFzaUVhd2lGaENDQVNBQUtBSUVJZ01nQUNnQ2FDSUVTUVJBSUFBZ0EwRUJhallDQkFVZ0FCQlVRUUJJRFFnZ0FDZ0NhQ0VFQ3lBRUJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFWWRFRVlkVUhCQUdzT09BVUhCd2NGQlFVSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQVFjSEFBY0hCd2NIQlFjQUF3VUZCUWNFQndjSEJ3Y0NBUWNIQUFjREJ3Y0JCd3NnREVFUWNrSHpBRVlFUUNBSlFYOUJnUUlRUlJvZ0NVRUFPZ0FBSUF4Qjh3QkdCRUFnQ1VFQU9nQWhJQWxCQURZQkNpQUpRUUE2QUE0TEJRSkFJQWtnQVVFQmFpSUhMQUFBUWQ0QVJpSURJZ1JCZ1FJUVJSb2dDVUVBT2dBQUFrQUNRQUpBSUFGQkFtb2dCeUFER3lJQkxBQUFRUzFySWdNRVFDQURRVEJHQkVBTUFnVU1Bd3NBQ3lBSklBUkJBWE1pQ0RvQUxpQUJRUUZxSVFFTUFnc2dDU0FFUVFGeklnZzZBRjRnQVVFQmFpRUJEQUVMSUFSQkFYTWhDQXNEUUFKQUFrQWdBU3dBQUNJRURsNFRBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVEQVFzZ0FVRUJhaUlETEFBQUlnUWlCMEVBSUFkQjNRQkhHMFVFUUVFdElRUU1BUXNnQVVGL2FpMEFBQ0lCSUFSQi93RnhTQVIvQTM4Z0FVRUJhaUlCSUFscUlBZzZBQUFnQVNBRExBQUFJZ2RCL3dGeFNRMEFJQU1oQVNBSEN3VWdBeUVCSUFRTElRUUxJQVJCL3dGeFFRRnFJQWxxSUFnNkFBQWdBVUVCYWlFQkRBQUFDd0FMQ3lBUlFRRnFRUjhnREVIakFFWWlEQnNoQkNBTFFRQkhJUkFnRGtFQlJpSVJCRUFnRUFSQUlBUkJBblFRUkNJRlJRUkFRUUFoQmtFQUlRVU1FUXNGSUFvaEJRc2dEVUVBTmdJQUlBMUJBRFlDQkVFQUlRWURRQUpBSUFWRklRY0RRQU5BQWtBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVU5BeUFUSUFNNkFBQUNRQUpBSUJJZ0UwRUJJQTBRMXdGQmZtc09BZ0VBQWd0QkFDRUdEQlVMREFFTEN5QUhSUVJBSUFaQkFuUWdCV29nRWlnQ0FEWUNBQ0FHUVFGcUlRWUxJQkFnQkNBR1JuRkZEUUFMSUFVZ0JFRUJkRUVCY2lJRVFRSjBFT2dCSWdNRVFDQURJUVVNQWdWQkFDRUdEQklMQUFzTElBMEVmeUFOS0FJQVJRVkJBUXNFZnlBR0lRUWdCU0VEUVFBRlFRQWhCZ3dRQ3lFR0JRSkFJQkFFUUNBRUVFUWlCa1VFUUVFQUlRWkJBQ0VGREJJTFFRQWhCUU5BQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVUVRQ0FGSVFSQkFDRURRUUFoQlF3RUN5QUZJQVpxSUFNNkFBQWdCVUVCYWlJRklBUkhEUUFMSUFZZ0JFRUJkRUVCY2lJRUVPZ0JJZ01FUUNBRElRWU1BUVZCQUNFRkRCTUxBQUFMQUFzZ0NrVUVRQU5BSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMUVFGcUlBbHFMQUFBRFFCQkFDRUVRUUFoQmtFQUlRTkJBQ0VGREFJQUN3QUxRUUFoQkFOL0lBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElnVkJBV29nQ1dvc0FBQUVmeUFFSUFwcUlBVTZBQUFnQkVFQmFpRUVEQUVGUVFBaEEwRUFJUVVnQ2dzTElRWUxDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ2cyQWdRRklBQW9BZ1FoQ0FzZ0FDa0RlQ0FJSUFBb0FnaHJySHdpRlZBZ0RFRUJjeUFWSUJaUmNrVnlEUXNnRUFSQUlCRUVRQ0FLSUFNMkFnQUZJQW9nQmpZQ0FBc0xJQXhGQkVBZ0F3UkFJQVJCQW5RZ0EycEJBRFlDQUFzZ0JrVUVRRUVBSVFZTUNBc2dCQ0FHYWtFQU9nQUFDd3dHQzBFUUlRUU1CQXRCQ0NFRURBTUxRUW9oQkF3Q0MwRUFJUVFNQVFzZ0FDQU9RUUFRa2dNaEZ5QUFLUU40UWdBZ0FDZ0NCQ0FBS0FJSWE2eDlVUTBHSUFvRVFBSkFBa0FDUUNBT0RnTUFBUUlGQ3lBS0lCZTJPQUlBREFRTElBb2dGemtEQUF3REN5QUtJQmM1QXdBTUFnc01BUXNnQUNBRVFRQkNmeENUQXlFVklBQXBBM2hDQUNBQUtBSUVJQUFvQWdocnJIMVJEUVVnREVId0FFWWdDa0VBUjNFRVFDQUtJQlUrQWdBRklBb2dEaUFWRUpRREN3c2dEeUFLUVFCSGFpRVBJQUFvQWdRZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRTUFnc0xJQUJDQUJDQ0FTQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5RURJQU1nQVNBSGFpSUJMUUFBUncwRUlCUkNBWHdoRkFzTElBRkJBV29pQVN3QUFDSUxEUUVNQmdzTERBTUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFOQmYwb2dEM0lOQTBFQUlRc01BUXNnRDBVTkFBd0JDMEYvSVE4TElBc0VRQ0FHRURnZ0JSQTRDd3NMSUFra0JpQVBDd3NBSUFBZ0FTQUNFSXdGQzNrQkJYOGdBQ2dDQkNFRklBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmMEVBSVFNZ0FTZ0NBQ0VFQTBBZ0F5QUdTQVJBSUFBZ0FDc0RBQ0FFS3dNQW9Ua0RBQ0FEUVFGcUlRTWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0xMd0VDZnlBQUVLc0NJZ0VvQWdBMkFqZ2dBU2dDQUNJQ0JFQWdBaUFBTmdJMEN5QUJJQUEyQWdCQnFNVURFQTRMNndJQkIzOGpCaUVESXdaQk1Hb2tCaUFEUVJocUlRUWdBMEVJYWlFRklBTkJLR29oQmtINi9RSWdBU3dBQUJDL0FRUkFRWmdKRUVRaUFnUkFJQUpCQUVHUUFSQkZHZ0ovSUFGQkt4Qy9BVVVoQ0NBQkxBQUFJUUVnQ0FzRVFDQUNRUWhCQkNBQlFmSUFSaHMyQWdBTElBRkI0UUJHQkVBZ0F5QUFOZ0lBSUFOQkF6WUNCRUhkQVNBREVCa2lBVUdBQ0hGRkJFQWdCU0FBTmdJQUlBVkJCRFlDQkNBRklBRkJnQWh5TmdJSVFkMEJJQVVRR1JvTElBSWdBaWdDQUVHQUFYSWlBVFlDQUFVZ0FpZ0NBQ0VCQ3lBQ0lBQTJBandnQWlBQ1FaZ0JhallDTENBQ1FZQUlOZ0l3SUFKQmZ6b0FTeUFCUVFoeFJRUkFJQVFnQURZQ0FDQUVRWk9vQVRZQ0JDQUVJQVkyQWdoQk5pQUVFRE5GQkVBZ0FrRUtPZ0JMQ3dzZ0FrRUNOZ0lnSUFKQkFUWUNKQ0FDUVFFMkFpZ2dBa0VDTmdJTVFlakVBeWdDQUVVRVFDQUNRWDgyQWt3TElBSVFsd1VGUVFBaEFnc0ZRYVRGQTBFY05nSUFDeUFESkFZZ0FndHdBUUovSUFCQkt4Qy9BVVVoQVNBQUxBQUFJZ0pCOGdCSFFRSWdBUnNpQVNBQlFZQUJjaUFBUWZnQUVMOEJSUnNpQVNBQlFZQ0FJSElnQUVIbEFCQy9BVVViSWdBZ0FFSEFBSElnQWtIeUFFWWJJZ0JCZ0FSeUlBQWdBa0gzQUVZYklnQkJnQWh5SUFBZ0FrSGhBRVliQy9nQkFnWi9BWHdnQUNnQ0JDSUhRUUZJSUFBb0FnZ2lBMEVCU0hJRWYwRi9CU0FESUFFb0FnUkdCSDhEUUNBQ0lBTkhCRUFnQVNnQ0FDQUNRUU4wYWtRQUFBQUFBQUFBQURrREFDQUNRUUZxSVFJTUFRc0xJQUFvQWdBaEFBTkFJQVVnQjBjRVFFRUFJUVlnQVNnQ0FDRUVJQUFoQWdOQUlBTWdCa2NFUUNBRUlBSXJBd0FnQkNzREFLQTVBd0FnQmtFQmFpRUdJQVJCQ0dvaEJDQUNRUWhxSVFJTUFRc0xJQU5CQTNRZ0FHb2hBQ0FGUVFGcUlRVU1BUXNMSUFlM0lRaEJBQ0VBQTM4Z0FDQURSZ1IvUVFBRklBRW9BZ0FnQUVFRGRHb2lBaUFDS3dNQUlBaWpPUU1BSUFCQkFXb2hBQXdCQ3dzRlFYOExDd3ZzQWdFTGZ5QUFLQUlJSUFBb0FnQkJvdHJ2MXdacUlnWVFzUUVoQkNBQUtBSU1JQVlRc1FFaEJTQUFLQUlRSUFZUXNRRWhBeUFFSUFGQkFuWkpCSDhnQlNBQklBUkJBblJySWdkSklBTWdCMGx4Qkg4Z0F5QUZja0VEY1FSL1FRQUZBbjhnQlVFQ2RpRUpBbjhnQTBFQ2RpRU5RUUFoQlFOQUFrQWdDU0FGSUFSQkFYWWlCMm9pQzBFQmRDSU1haUlEUVFKMElBQnFLQUlBSUFZUXNRRWhDRUVBSUFOQkFXcEJBblFnQUdvb0FnQWdCaEN4QVNJRElBRkpJQWdnQVNBRGEwbHhSUTBER2tFQUlBQWdBeUFJYW1vc0FBQU5BeG9nQWlBQUlBTnFFTE1CSWdORkRRQWdBMEVBU0NFRFFRQWdCRUVCUmcwREdpQUZJQXNnQXhzaEJTQUhJQVFnQjJzZ0F4c2hCQXdCQ3dzZ0RTQU1haUlDUVFKMElBQnFLQUlBQ3lBR0VMRUJJUVFnQWtFQmFrRUNkQ0FBYWlnQ0FDQUdFTEVCSWdJZ0FVa2dCQ0FCSUFKclNYRUVmMEVBSUFBZ0Ftb2dBQ0FDSUFScWFpd0FBQnNGUVFBTEN3c0ZRUUFMQlVFQUN3cytBUUYvSUFBb0FrUUVRQ0FBS0FLRUFTSUJCRUFnQVNBQUtBS0FBVFlDZ0FFTElBQW9Bb0FCSWdBRWZ5QUFRWVFCYWdWQmxJb0JDeUFCTmdJQUN3dnFBZ0lEZndGOElBQW9BZ1FpQmlBQUtBSUlJZ1VnQmlBRlNCc2hCQ0FHUVFKSUlBVkJBa2h5QkVCQmZ5RUFCU0FCS0FJSUlBVkdCRUFnQVNnQ0JDQUVSZ1JBSUFJb0FnUWdCRVlFUUNBREtBSUVJQVZHQkVBZ0FCRGZCU0lFQkVBQ1FDQUVJQU1RbWdWQkFFZ0VRQ0FFRUVsQmZ5RUFEQUVMSUFRZ0F4Q1dCVUVBU0FSQUlBUVFTVUYvSVFBTUFRc2dCcmVmSVFjZ0JTQUdiQ0VEUVFBaEFBTkFJQUFnQTBnRVFDQUVLQUlBSUFCQkEzUnFJZ1VnQlNzREFDQUhvemtEQUNBQVFRRnFJUUFNQVFzTElBUWdBU0FDRUpFRklRQWdCQkJKSUFJb0FnUWhBMFFBQUFBQUFBQUFBQ0VIUVFBaEFRTkFJQUVnQTBnRVFDQUhJQUlvQWdBZ0FVRURkR29yQXdDZ0lRY2dBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0FpZ0NBQ0FCUVFOMGFpSUVJQVFyQXdBZ0I2TTVBd0FnQVVFQmFpRUJEQUVMQ3dzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0xJQUFMQkFCQ0FBdmhBUUVFZnlNR0lRUWpCa0VnYWlRR0lBUWdBVFlDQUNBRUlBSWdBQ2dDTUNJRFFRQkhhellDQkNBRUlBQW9BaXcyQWdnZ0JDQUROZ0lNQWtBQ1FDQUFLQUk4SUFSQkFpQUVRUkJxSWdNUU1SQ3NBZ1JBSUFOQmZ6WUNBRUYvSVFJTUFRVWdBeWdDQUNJRFFRRklCRUFnQXlFQ0RBSUZJQU1nQkNnQ0JDSUdTd1JBSUFBZ0FDZ0NMQ0lGTmdJRUlBQWdCU0FESUFacmFqWUNDQ0FBS0FJd0JFQWdBQ0FGUVFGcU5nSUVJQUVnQWtGL2Ftb2dCU3dBQURvQUFBc0ZJQU1oQWdzTEN3d0JDeUFBSUFBb0FnQWdBa0V3Y1VFUWMzSTJBZ0FMSUFRa0JpQUNDd1lBUWFURkF3dEdBZ0YvQVg0akJpRURJd1pCRUdva0JpQUFLQUk4SUFHbklBRkNJSWluSUFKQi93RnhJQU1RSFJDc0FnUitJQU5DZnpjREFFSi9CU0FES1FNQUN5RUVJQU1rQmlBRUM3Y0NBUWQvSXdZaEJpTUdRU0JxSkFZZ0JrRVFhaUVISUFZaUF5QUFLQUljSWdRMkFnQWdBeUFBS0FJVUlBUnJJZ1UyQWdRZ0F5QUJOZ0lJSUFNZ0FqWUNERUVDSVFRZ0FpQUZhaUVGSUFNaEFRSkFBa0FEUUNBQUtBSThJQUVnQkNBSEVEQVFyQUlFZnlBSFFYODJBZ0JCZndVZ0J5Z0NBQXNpQXlBRlJ3UkFJQU5CQUVnTkFpQUJRUWhxSUFFZ0F5QUJLQUlFSWdoTElna2JJZ0VnQXlBSVFRQWdDUnRySWdnZ0FTZ0NBR28yQWdBZ0FTQUJLQUlFSUFock5nSUVJQVFnQ1VFZmRFRWZkV29oQkNBRklBTnJJUVVNQVFzTElBQWdBQ2dDTENJQklBQW9BakJxTmdJUUlBQWdBVFlDSENBQUlBRTJBaFFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FBS0FJQVFTQnlOZ0lBSUFSQkFrWUVmMEVBQlNBQ0lBRW9BZ1JyQ3lFQ0N5QUdKQVlnQWdzT0FDQUFLQUk4RUJoQi8vOERjUXVtQWdFQ2Z3SkFBa0FnQUNnQ0ZDSUJRYk4rYWtFQ1R3MEFJQUJCUUdzb0FnQU5BQ0FBS0FLTUFTQUFLQUowU1FSQUlBQW9BZ0FpQVVIRkFEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BcndES0FJRUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FFSFNBVFlDRkF3QkN3SkFBa0FnQVVIUEFXc09CQUFCQVFJQkN5QUFRZElCTmdJVURBRUxJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3RElnRW9BaFJGQkVBQ1FBTkFBa0FnQVNnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDekFNaUFTZ0NGRVVOQVF3Q0N3dEJBQThMQ3lBQUtBSVlLQUlZSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJDZEEwRUJDLzBHQVFSL0FrQUNRQUpBQWtBQ1FBSkFJQUFvQWhRaUFVSElBV3NPQ3dBQkF3SUNBZ0lDQWdRQ0JBc2dBRUhNQTJvaUFTZ0NBQ2dDQkNFQ0lBQWdBa0gvQVhGQnJBTnFFUUVBSUFBb0FoZ29BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQ0FBUWNrQk5nSVVEQVFMSUFCQnpBTnFJUUVNQXdzZ0FDZ0N6QU1vQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBRHd0QkFROExJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJBQThMSUFFb0FnQW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVVjRVFDQUJEd3NDUUFKQUFrQUNRQUpBSUFBb0FpUWlBVUVCYXc0RUFBTUJBZ01MSUFFaEFnd0RDeUFBS0FMWUFTSURLQUlBSVFFZ0F5Z0NzQUVpQWtFRFJpQUJRUUZHSWdRZ0F5Z0NXQ0lEUVFKR2NYRUVmMEVESVFKQkFnVWdCQ0FEUVNKR2NTQUNRU05HY1FSL1FRY2hBa0VDQlNBQlFkSUFSaUFEUWNjQVJuRWdBa0hDQUVaeEJIOUJBaUVDUVFJRklBRkI4Z0JHSUFOQjV3QkdjU0FDUWVJQVJuRUVmMEVHSVFKQkFnVWdBQ2dDbkFJRWYwRURJUUpCQWdVZ0FDZ0NxQUpGQkVBZ0FDZ0NBQ0lFSUFFMkFoZ2dCQ0FETmdJY0lBUWdBallDSUNBRVFmRUFOZ0lVSUFRb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QkJBaUVCUVFNaEFnd0lDd0pBQWtBQ1FDQUFMQUNzQWlJQkRnSUFBUUlMUVFJaEFVRUNJUUlNQ1F0QkFpRUJRUU1oQWd3SUN5QUFLQUlBSWdKQjlBQTJBaFFnQWlBQlFmOEJjVFlDR0NBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BUVFJaEFVRURJUUlNQndzTEN3c0xJUUVNQWdzZ0FDZ0NxQUlFZndKQUFrQUNRQ0FBTEFDc0FpSUJEZ01BQWdFQ0MwRUVJUUZCQkNFQ0RBUUxRUVFoQVVFRklRSU1Bd3NnQUNnQ0FDSUNRZlFBTmdJVUlBSWdBVUgvQVhFMkFoZ2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUVJUUZCQlNFQ0RBSUZRUVFoQWtFRUN5RUJEQUVMUVFBaEFVRUFJUUlMSUFBZ0FqWUNLQ0FBSUFFMkFpd2dBQ0FBS0FLc0F5SUJOZ0l3SUFBZ0FUWUNOQ0FBUkFBQUFBQUFBUEEvT1FNNElBQkJRR3RCQURZQ0FDQUFRUUEyQWtRZ0FFRUFOZ0pJSUFCQkFUWUNUQ0FBUVFFMkFsQWdBRUVBTmdKVUlBQkJBallDV0NBQVFRRTJBbHdnQUVHQUFqWUNZQ0FBUVFBMkFvZ0JJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzSUFCQnlnRTJBaFJCQVF1TkFRRUNmeUFBS0FJVUlnSkJmbkZCeUFGSEJFQWdBQ2dDQUNJRFFSVTJBaFFnQXlBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0NRQUpBQWtBZ0FCQ2xCU0lDUVFGckRnSUFBUUlMUVFFUEN5QUJCRUFnQUNnQ0FDSUJRVFUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBRUowRFFRSVBDeUFDQ3djQUlBQVFuZ01MbndJQkFuOGdBRUVBTmdJRUlBRkIyZ0JIQkVBZ0FDZ0NBQ0lEUVEwMkFoUWdBMEhhQURZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRZWdEUndSQUlBQW9BZ0FpQVVFV05nSVVJQUZCNkFNMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0NmeUFBSVFRZ0FDZ0NBQ0VDSUFBb0Fnd2hBeUFBUVFScVFRQkI1QU1RUlJvZ0FDQUNOZ0lBSUFBZ0F6WUNEQ0FBUVFFMkFoQWdCQXNRd2dVZ0FFRUFOZ0lJSUFCQkFEWUNHQ0FBUVFBMkFyZ0NJQUJDQURjQ3BBRWdBRUlBTndLc0FTQUFRZ0EzQXJRQklBQkNBRGNDdkFFZ0FFSUFOd0xFQVNBQVFnQTNBc3dCSUFBUXVBVWdBQkNRQmlBQVFjZ0JOZ0lVQ3hVQUlBQW9BZ0FpQUVFQU5nSnNJQUJCQURZQ0ZBdnBBZ0VLZnlNR0lRWWpCa0V3YWlRR0lBWkJDR29oQkFKQUFrQUNmeUFBS0FJQUlnSW9BaFFpQTBFQVNnUkFJQU1nQWlnQ2RFd0VRQ0FDS0FKd0lBTkJBblJxREFJTEN5QUNLQUo0SWdWRkRRRWdBeUFDS0FKOElnQklEUUVnQXlBQ0tBS0FBVW9OQVNBRElBQnJRUUowSUFWcUN5Z0NBQ0lGUlEwQURBRUxJQUlnQXpZQ0dDQUNLQUp3S0FJQUlRVUxJQVVoQUFKQUFrQURRQUpBSUFCQkFXb2hBd0pBSUFBc0FBQWlBQVJBSUFCQkpVWUVRQXdGQlF3Q0N3QUxEQUVMSUFNaEFBd0JDd3NNQVFzZ0F5d0FBRUh6QUVZRVFDQUdJQUpCR0dvMkFnQWdBU0FGSUFZUXZBRWdCaVFHRHdzTElBSW9BaHdoQnlBQ0tBSWdJUWdnQWlnQ0pDRUpJQUlvQWlnaENpQUNLQUlzSVFzZ0FpZ0NNQ0VESUFJb0FqUWhBQ0FFSUFJb0FoZzJBZ0FnQkNBSE5nSUVJQVFnQ0RZQ0NDQUVJQWsyQWd3Z0JDQUtOZ0lRSUFRZ0N6WUNGQ0FFSUFNMkFoZ2dCQ0FBTmdJY0lBRWdCU0FFRUx3QklBWWtCZ3RPQVFOL0l3WWhBU01HUWRBQmFpUUdJQUFvQWdBb0Fnd2hBaUFBSUFFZ0FrRS9jVUd5QldvUkF3QUNmMEdraUFFb0FnQWhBeUFCUWNnQmFpSUNJQUUyQWdBZ0F3c2dBaENMQlNBQkpBWUxlUUVCZnlBQUtBSUFJUUlnQVVFQVRnUkFJQUlvQW1nZ0FVZ0VRQThMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBOExBa0FDUUNBQ0tBSnNJZ0ZGRFFBZ0FpZ0NhRUVDU2cwQURBRUxJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQ0tBSnNJUUVMSUFJZ0FVRUJhallDYkFzbUFRRi9JQUFvQWdBb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFFSjREUVFFUUFRdGxBQ0FBUVl3Qk5nSUFJQUJCTlRZQ0JDQUFRWTBCTmdJSUlBQkJOallDRENBQVFZNEJOZ0lRSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdJVUlBQkJnQmcyQW5BZ0FFSCtBRFlDZENBQVFRQTJBbmdnQUVFQU5nSjhJQUJCQURZQ2dBRWdBQXNyQVFGL0lBQW9BZ1FvQWdBaEFTQUFRUUJCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBRUVBTmdLQUFTQUFDeXNCQVg4Z0FDZ0NCQ2dDQUNFQklBQkJBRUdZQWlBQlFUOXhRY29CYWhFRUFDSUFRUUEyQXBRQ0lBQUx0d1lCQm44Z0FpQURhaUVFQWtBQ1FBSkFBa0FnQWtFTlN3UkFJQUVzQUFCQnlnQkdCRUFnQVN3QUFVSEdBRWNOQWlBQkxBQUNRY2tBUncwQ0lBRXNBQU5CeGdCSERRSWdBU3dBQkEwQ0lBQkJBVFlDbkFJZ0FDQUJMQUFGSWdjNkFLQUNJQUFnQVN3QUJpSUlPZ0NoQWlBQUlBRXNBQWNpQ1RvQW9nSWdBQ0FCTFFBSklBRXRBQWhCQ0hSeUlnWTdBYVFDSUFBZ0FTMEFDeUFCTFFBS1FRaDBjaUlET3dHbUFpQUhRWDlxUVJoMFFSaDFRZjhCY1VFQ1RnUkFJQUFvQWdBaUFrSDZBRFlDRkNBQ0lBZEIvd0Z4TmdJWUlBQW9BZ0FnQUMwQW9RSTJBaHdnQUNnQ0FDZ0NCQ0VDSUFCQmZ5QUNRVDl4UWJJRmFoRURBQ0FBTEFDZ0FpRUhJQUFzQUtFQ0lRZ2dBQzRCcEFJaEJpQUFMZ0dtQWlFRElBQXNBS0lDSVFrTElBQWhBaUFBS0FJQUlnVWdCMEgvQVhFMkFoZ2dCU0FJUWY4QmNUWUNIQ0FGSUFaQi8vOERjVFlDSUNBRklBTkIvLzhEY1RZQ0pDQUZJQWxCL3dGeE5nSW9JQVZCMlFBMkFoUWdCU2dDQkNFRElBSkJBU0FEUVQ5eFFiSUZhaEVEQUNBQkxBQU1JZ1lnQVN3QURTSURja0gvQVhFRVFDQUFLQUlBSWdOQjNBQTJBaFFnQXlBQkxRQU1OZ0lZSUFBb0FnQWdBUzBBRFRZQ0hDQUFLQUlBS0FJRUlRTWdBa0VCSUFOQlAzRkJzZ1ZxRVFNQUlBRXNBQXdoQmlBQkxBQU5JUU1MSUFaQi93RnhRUU5zSUFOQi93RnhiQ0FFUVhKcUlnTkdCRUFQQ3lBQUtBSUFJZ0ZCMmdBMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdRaEFDQUNRUUVnQUVFL2NVR3lCV29SQXdBUEN3VWdBa0VGU3dSQUlBRXNBQUJCeWdCR0RRSUxDd3dCQ3lBQkxBQUJRY1lBUmdSQUlBRXNBQUpCMkFCR0JFQWdBU3dBQTBIWUFFWUVRQ0FCTEFBRVJRUkFBa0FDUUFKQUFrQWdBU3dBQlVFUWF3NEVBQUVEQWdNTElBQW9BZ0FpQVVIdUFEWUNGQXdJQ3lBQUtBSUFJZ0ZCN3dBMkFoUU1Cd3NnQUNnQ0FDSUJRZkFBTmdJVURBWUxJQUFvQWdBaUFrSGJBRFlDRkNBQ0lBRXRBQVUyQWhnZ0FDZ0NBQ0FFTmdJY0RBWUxDd3NMQ3lBQUtBSUFJZ0ZCendBMkFoUWdBU0FFTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBUEN5QUJJQVEyQWhnTElBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTHlnVUJDWDhqQmlFQ0l3WkJFR29rQmdKQUlBQW9BaGdpQkNnQ0JDSURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF3c2dCQ2dDQUNJR1FRRnFJUUVnQmkwQUFDRUZJQU5CZjJvaUEwVUVRQ0FFS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlBSVFFZ0JDZ0NCQ0VEQ3lBRFFYOXFJUU1nQVVFQmFpRUdRUTRnQVMwQUFDQUZRZjhCY1VFSWRISWlBVUYrYWlJSFFRQWdBVUVDU3hzZ0FVRVBTeHNpQlFSQUFrQkJBQ0VCQTBBQ1FDQURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBSVFZTElBRWdBbW9nQml3QUFEb0FBQ0FEUVg5cUlRTWdCa0VCYWlFR0lBRkJBV29pQVNBRlNRMEJEQUlMQ3d3Q0N3c2dCeUFGYXlFSUFrQUNRQUpBSUFBb0FyZ0RJZ0ZCNEFGcklna0VRQ0FKUVE1R0JFQU1BZ1VNQXdzQUN5QUFJQUlnQlNBSUVMRUZEQUlMSUFJc0FBQkJ3UUJHSUFWQkMwdHhCRUFnQWl3QUFVSGtBRVlFUUNBQ0xBQUNRZThBUmdSQUlBSXNBQU5CNGdCR0JFQWdBaXdBQkVIbEFFWUVRQ0FDTFFBSUlBSXRBQWRCQ0hSeUlRY2dBaTBBQ2lBQ0xRQUpRUWgwY2lFSklBSXNBQXNoQlNBQUtBSUFJZ0VnQWkwQUJpQUNMUUFGUVFoMGNqWUNHQ0FCSUFjMkFod2dBU0FKTmdJZ0lBRWdCVUgvQVhFMkFpUWdBVUhPQURZQ0ZDQUJLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFCQkFUWUNxQUlnQUNBRk9nQ3NBZ3dHQ3dzTEN3c2dBQ2dDQUNJQlFkQUFOZ0lVSUFFZ0J6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFEQUVMSUFBb0FnQWlCVUhHQURZQ0ZDQUZJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBRUlBWTJBZ0FnQkNBRE5nSUVJQWhCQUV3RVFDQUNKQVpCQVE4TElBQW9BaGdvQWhBaEF5QUFJQWdnQTBFL2NVR3lCV29SQXdBZ0FpUUdRUUVQQ3lBQ0pBWkJBQXVNQWdFR2Z5QUFLQUlZSWdJb0FnUWlBVVVFUUNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFBUi9JQUlvQWdRRlFRQVBDeUVCQ3lBQ0tBSUFJZ05CQVdvaEJDQURMUUFBSVFNZ0FVRi9haUlCUlFSQUlBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFCSDhnQWlnQ0FDRUVJQUlvQWdRRlFRQVBDeUVCQ3lBRUxRQUFJQU5CL3dGeFFRaDBjaUlHUVg1cUlRVWdBQ2dDQUNJRFFkMEFOZ0lVSUFNZ0FDZ0N1QU0yQWhnZ0FDZ0NBQ0FGTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FpQUVRUUZxTmdJQUlBSWdBVUYvYWpZQ0JDQUdRUUpOQkVCQkFROExJQUFvQWhnb0FoQWhBU0FBSUFVZ0FVRS9jVUd5QldvUkF3QkJBUXVCQVFFR2Z5QUFLQUlFSWdVZ0FTZ0NCRVlFZnlBQUtBSUlJZ1FnQVNnQ0NFWUVmd04vSUFJZ0JVZ0VmeUFDSUFSc0lRWkJBQ0VEQTBBZ0F5QUVTQVJBSUFBb0FnQWdBeUFHYWlJSFFRTjBhaUFCS0FJQUlBZEJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEM2a0JBUUovSUFBb0FyZ0RJZ0ZGQkVBZ0FCQ3hBZ1IvSUFBb0FyZ0RCVUVBRHdzaEFRc2dBQ2dDMEFNb0FoUWlBa0hRQVdvZ0FVWUVRQ0FBS0FJQUlnRkI1QUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRTWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBd1VnQUNnQ0dDZ0NGQ0VCSUFBZ0FpQUJRVDl4UVlvQmFoRUNBRVVFUUVFQUR3c0xJQUFvQXRBRElnQWdBQ2dDRkVFQmFrRUhjVFlDRkVFQkM2UlVBU2wvSXdZaEtTTUdRWUFDYWlRR0lDa2hDaUFBS0FLNEF5RUJBMEFDUUNBQlJRUkFBbjhnQUNnQzBBTW9BZ3dFUUNBQUVMRUNSUVJBUWQ0Q0lRRU1CQXNnQUNnQ3VBTU1BUXNnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlCRUVCYWlFQ0lBUXNBQUFoQXlBQlFYOXFJZ1FFZnlBQ0JTQUdLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQVFMSUFZb0FnUWhCQ0FHS0FJQUN5RUJJQU5CL3dGeElRVWdBU3dBQUNJSFFmOEJjU0VDSUFOQmYwY2dCMEZZUjNJRVFDQUFLQUlBSWdOQk56WUNGQ0FESUFVMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ0FDTmdLNEF5QUdJQUZCQVdvMkFnQWdCaUFFUVg5cU5nSUVJQUlMSVFFTEFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FCUVFGckR2NEJFQklTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElEQkFVSUNnZ0lDQWdHQndnSkNBZ0lFQkFRRUJBUUVCQUNBUUFMRVF3U0VnNE9EZzRPRGc0T0RnNE9EZzRPRGc0U0VoSVNFaElTRWcwU0VoSVNFZzhTQzBFWklRRU1Fd3RCeXdBaEFRd1NDeUFBS0FJQUlnRkI2QUEyQWhRZ0FTZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRU1haUlCS0FJQUJFQWdBQ2dDQUNJQlFjQUFOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQTBFTWFpRUJDeUFBUWdBM0FPZ0JJQUJDQURjQThBRWdBRUtCZ29TSWtLREFnQUUzQVBnQklBQkNnWUtFaUpDZ3dJQUJOd0NBQWlBQVFvV0tsS2pRb01HQ0JUY0FpQUlnQUVLRmlwU28wS0RCZ2dVM0FKQUNJQUJCQURZQ21BSWdBRUVBTmdJb0lBQkJBRFlDc0FJZ0FFRUFOZ0swQWlBQVFRQTJBcHdDSUFCQkFUb0FvQUlnQUVFQk9nQ2hBaUFBUVFBNkFLSUNJQUJCQVRzQnBBSWdBRUVCT3dHbUFpQUFRUUEyQXFnQ0lBQkJBRG9BckFJZ0FVRUJOZ0lBREJBTElBQkJBVUVBUVFBUTJBRkZCRUJCM2dJaEFRd1JDd3dQQ3lBQVFRQkJBRUVBRU5nQlJRUkFRZDRDSVFFTUVBc01EZ3NnQUVFQVFRRkJBQkRZQVVVRVFFSGVBaUVCREE4TERBMExJQUJCQUVFQVFRRVEyQUZGQkVCQjNnSWhBUXdPQ3d3TUN5QUFRUUJCQVVFQkVOZ0JSUVJBUWQ0Q0lRRU1EUXNNQ3dzZ0FDZ0NBQ0lDUVQ4MkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3S0N5QUFLQUlZSWdNb0FnUWlBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFRc2dBeWdDQUNJRVFRRnFJUUlnQkMwQUFDRUVJQUZCZjJvaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVNBREtBSUFJUUlMSUFJdEFBQWdCRUgvQVhGQkNIUnlJZ1pCZm1vaEJDQUJRWDlxSVFFZ0FrRUJhaUVDSUFaQkFrc0VRQU4vSUFGRkJFQWdBeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBREtBSUVJUUVnQXlnQ0FDRUNDeUFDUVFGcUlRWWdBaTBBQUNFRklBRkJmMm9pQWtVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQTRMSUFNb0FnUWhBaUFES0FJQUlRWUxJQVlzQUFBaUNVSC9BWEVoQnlBQUtBSUFJZ0ZCMFFBMkFoUWdBU0FGUWY4QmNTSUJOZ0lZSUFBb0FnQWdCellDSENBQUtBSUFLQUlFSVFnZ0FFRUJJQWhCUDNGQnNnVnFFUU1BQWtBQ1FDQUZRZjhCY1VFZlNnUkFJQUFvQWdBaUJVRWROZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQU1BUVVnQlVIL0FYRkJEMG9OQVNBQklBQkI2QUZxYWlBSFFROXhJZ1U2QUFBZ0FTQUFRZmdCYW1vZ0NVSC9BWEZCQkhZaUFUb0FBQ0FGSUFGTEJFQWdBQ2dDQUNJQlFSNDJBaFFnQVNBSE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xEQUVMSUFBZ0FXcEIrQUZxSUFrNkFBQUxJQVJCZm1vaEFTQUNRWDlxSVFJZ0JrRUJhaUVHSUFSQkFrb0VmeUFCSVFRZ0FpRUJJQVloQWd3QkJTQUJJUVFnQWlFQklBWUxDeUVDQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURJQUkyQWdBZ0F5QUJOZ0lFREFrTElBQW9BaGdpQlNnQ0JDSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQkN5QUZLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFU1N3UkFBMEFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUl0QUFBaEJ5QUFLQUlBSWdaQjBnQTJBaFFnQmlBSE5nSVlJQUFvQWdBb0FnUWhCaUFBUVFFZ0JrRS9jVUd5QldvUkF3QWdBa0VCYWlFR0lBRkJmMm9pQWdSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0VzQUFBaENTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFSUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRFNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VRSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUkVnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhFaUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVRJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSUWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEZTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFV0lBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJjZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoR0NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VaSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUm9nQVVFQmFpRUdJQUpCZjJvaUFRUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQklBVW9BZ0FMSVFJZ0Fpd0FBQ0luUWY4QmNTSW9JQnBCL3dGeElpWWdHVUgvQVhFaUpTQVlRZjhCY1NJa0lCZEIvd0Z4SWlNZ0ZrSC9BWEVpSWlBVlFmOEJjU0loSUJSQi93RnhJaUFnRTBIL0FYRWlIeUFTUWY4QmNTSWVJQkZCL3dGeEloMGdFRUgvQVhFaUhDQU5RZjhCY1NJYklBdEIvd0Z4SWc4Z0NVSC9BWEVpRGlBSVFmOEJjU0lNYW1wcWFtcHFhbXBxYW1wcWFtcHFJUVlnQUNnQ0FDSURJQTQyQWhnZ0F5QU1OZ0ljSUFNZ0R6WUNJQ0FESUJzMkFpUWdBeUFjTmdJb0lBTWdIVFlDTENBRElCNDJBakFnQXlBZk5nSTBJQU5CMkFBMkFoUWdBeWdDQkNFRElBQkJBaUFEUVQ5eFFiSUZhaEVEQUNBQUtBSUFJZ01nSURZQ0dDQURJQ0UyQWh3Z0F5QWlOZ0lnSUFNZ0l6WUNKQ0FESUNRMkFpZ2dBeUFsTmdJc0lBTWdKallDTUNBRElDZzJBalFnQTBIWUFEWUNGQ0FES0FJRUlRTWdBRUVDSUFOQlAzRkJzZ1ZxRVFNQUlBUkJiMm9pRGlBR1NDQUdRWUFDUzNJRVFDQUFLQUlBSWdSQkNUWUNGQ0FFS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTElBRkJmMm9oQVNBQ1FRRnFJUUlnQ2tFQVFZQUNFRVVhSUFZRVFFRUFJUVFEUUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3UEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUNJQVFnQ21vZ0F5d0FBRG9BQUNBRVFRRnFJZ1FnQmtrTkFBc0ZRUUFoQmdzZ0J5QUhRWEJxSWdRZ0IwRVFjVVVpQXhzaURFRURTd1JBSUFBb0FnQWlEMEVmTmdJVUlBOGdERFlDR0NBQUtBSUFLQUlBSVF3Z0FDQU1RZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQWRCQW5ScUlBQkJ4QUZxSUFSQkFuUnFJQU1iSWdNb0FnQWlCRVVFUUNBRElBQVFzQVVpQkRZQ0FBc2dCRUVBT2dBQUlBUWdDVG9BQVNBRUlBZzZBQUlnQkNBTE9nQURJQVFnRFRvQUJDQUVJQkE2QUFVZ0JDQVJPZ0FHSUFRZ0Vqb0FCeUFFSUJNNkFBZ2dCQ0FVT2dBSklBUWdGVG9BQ2lBRUlCWTZBQXNnQkNBWE9nQU1JQVFnR0RvQURTQUVJQms2QUE0Z0JDQWFPZ0FQSUFRZ0p6b0FFQ0FES0FJQVFSRnFJQXBCZ0FJUVRCb2dEaUFHYXlJRVFSQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUZJQUkyQWdBZ0JTQUJOZ0lFREFnTElBQW9BaGdpQ0NnQ0JDSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQkN5QUlLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCSUFnb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFQ1N3UkFBMEFnQVFSL0lBRWhCU0FDQlNBSUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQWdvQWdRaEJTQUlLQUlBQ3lJR0xRQUFJZ0ZCQkhZaEFpQUFLQUlBSWdOQjB3QTJBaFFnQXlBQlFROXhJZ0UyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FVRURTd1JBSUFBb0FnQWlBMEVnTmdJVUlBTWdBVFlDR0NBQUtBSUFLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFCQnBBRnFJQUZCQW5ScUlnRW9BZ0FpQTBVRVFDQUJJQUFRcndVaUF6WUNBQXNnQkVGL2FpRUpBbjhDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQ1FRQkhJZ3NFZnlBRVFZRUJUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSlFRRjFCU0FFUWNFQVRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKQ3lJQlFRUnJEaTRBQmdZR0JnRUdCZ1lHQmdZQ0JnWUdCZ1lHQmdZREJnWUdCZ1lHQmdZR0JnUUdCZ1lHQmdZR0JnWUdCZ1lGQmd0QndDVWhBZ3dHQzBIUUpDRUNEQVVMUWRBaklRSU1CQXRCb0NJaEFnd0RDMEhRSUNFQ0RBSUxRY0FlSVFJTUFRc2dCVUYvYWlFQ0lBWkJBV29oQmlBQlFRQktCRUJCZ0J3aEJ5QUdEQU1GSUFFaEJDQUNJUUVnQmd3RUN3QUxJQUloQnlBRlFYOXFJUUlnQmtFQmFnd0JDMEdBSENFSFFjQUFJUUVnQlVGL2FpRUNJQVpCQVdvTElRUWdDMFVFUUVFQUlRVURRQ0FDUlFSQUlBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Ed3NnQ0NnQ0JDRUNJQWdvQWdBaEJBc2dCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBT3dFQUlBSkJmMm9oQWlBRVFRRnFJUVlnQlVFQmFpSUZJQUZJQkVBZ0JpRUVEQUVGSUFFaEJDQUNJUUVnQmd3REN3QUFDd0FMUVFBaEJRTi9JQUpGQkVBZ0NDZ0NEQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFJS0FJRUlRSWdDQ2dDQUNFRUN5QUVRUUZxSVFZZ0JDMEFBQ0VOSUFKQmYyb2lBZ1IvSUFZRklBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1EZ3NnQ0NnQ0JDRUNJQWdvQWdBTElRUWdCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBSUExQi93RnhRUWgwY2pzQkFDQUNRWDlxSVFJZ0JFRUJhaUVHSUFWQkFXb2lCU0FCU0FSL0lBWWhCQXdCQlNBQklRUWdBaUVCSUFZTEN3c2hBaUFBS0FJQUlnVW9BbWhCQVVvRVFBSkFRUUFoQmdOQUlBVWdCa0VCZENBRGFpOEJBRFlDR0NBRklBWkJBWEpCQVhRZ0Eyb3ZBUUEyQWh3Z0JTQUdRUUp5UVFGMElBTnFMd0VBTmdJZ0lBVWdCa0VEY2tFQmRDQURhaThCQURZQ0pDQUZJQVpCQkhKQkFYUWdBMm92QVFBMkFpZ2dCU0FHUVFWeVFRRjBJQU5xTHdFQU5nSXNJQVVnQmtFR2NrRUJkQ0FEYWk4QkFEWUNNQ0FGSUFaQkIzSkJBWFFnQTJvdkFRQTJBalFnQlVIZkFEWUNGQ0FGS0FJRUlRVWdBRUVDSUFWQlAzRkJzZ1ZxRVFNQUlBWkJDR29pQmtIQUFFOE5BU0FBS0FJQUlRVU1BQUFMQUFzTElBa2dCR3RCQUNBRWEwRUFJQXNiYWlJRVFRQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUlJQUkyQWdBZ0NDQUJOZ0lFREFjTElBQW9BaGdpQmlnQ0JDSUJSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQkN5QUdLQUlBSWdKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FMSWdFdEFBQnlRUVJIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FoQVFzZ0FVRUJhaUVFSUFFdEFBQkJDSFFnQWtGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0pDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSEloQkNBQUtBSUFJZ05CMUFBMkFoUWdBeUFFTmdJWUlBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FDQUVOZ0tZQWlBR0lBRkJBV28yQWdBZ0JpQUNRWDlxTmdJRURBWUxJQUFvQWhnaUJTZ0NBQ0VDSUFVb0FnUWhBU0FBS0FMUUF5Z0NFRVVFUUNBQUtBSUFJZ1JCUERZQ0ZDQUVRUmhxUWZMOUFrSFFBQkRWQVNBQUtBSUFLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMQWtBQ1FDQUFLQUlrUVFOSURRQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBTElnRXRBQUJ5UVJoSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUVFTlJ3UkFJQUFvQWdBaUJFSEdBRFlDRkNBRUlBQW9BcmdETmdJWUlBQW9BZ0FvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFpQUZLQUlBSVFFTElBRkJBV29oQkNBQkxRQUFJUVlnQWtGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrSC9BVWNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFCQkEwY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQUNnQzJBRWlBeWdDV0VjTkFDQUJCSDhnQVNFRUlBSWhCaUFEQlNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEJDQUZLQUlBSVFZZ0FDZ0MyQUVMSVFFZ0JFRi9haUVDSUFaQkFXb2hCQ0FHTFFBQUlBRW9BZ0JHQkVBZ0FnUi9JQUVGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQ0lBVW9BZ0FoQkNBQUtBTFlBUXNoQmlBQ1FYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JpZ0NzQUZIRFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQVFZQi9SdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5RFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQURRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrRUJSdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFBTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeVFRRkhEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjZzBCQlNBQ0lRRWdCQ0VDREFFTERBRUxJQUFvQWdBaUJFRWNOZ0lVSUFRb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBRUVCTmdLd0FpQUZJQUkyQWdBZ0JTQUJOZ0lFREFVTElBQW9BdEFESUFGQkFuUnFRYUI1YWlnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3R0N3d0VDeUFBS0FMUUF5Z0NIQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0ZDd3dEQ3lBQUtBSUFJZ0pCM2dBMkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTUFnc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUFrRUJhaUVFSUFJdEFBQkJDSFFnQVVGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSElpQTBGK2FpRUVJQUFvQWdBaUJVSGRBRFlDRkNBRklBQW9BcmdETmdJWUlBQW9BZ0FnQkRZQ0hDQUFLQUlBS0FJRUlRVWdBRUVCSUFWQlAzRkJzZ1ZxRVFNQUlBWWdBVUVCYWpZQ0FDQUdJQUpCZjJvMkFnUWdBMEVDU3dSQUlBQW9BaGdvQWhBaEFTQUFJQVFnQVVFL2NVR3lCV29SQXdBTERBRUxJQUFvQWdBaUFrSEdBRFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBUVFBMkFyZ0RRUUFoQVF3QkN3c0NRQ0FCUVJsR0JFQWdBQ2dDR0NJSEtBSUFJUVFnQnlnQ0JDRUJJQUFvQXRBREtBSVFSUVJBSUFBb0FnQWlBa0U4TmdJVUlBSkJHR3BCN3YwQ1FkQUFFTlVCSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVFSL0lBRWhBaUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVFSUFFdEFBQWhCU0FDUVg5cUlnSUVmeUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVHSUFFdEFBQWhDQ0FDUVg5cUlnUUVmeUFHQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRUWdCeWdDQUFzaUFTd0FBQ0lEUWY4QmNTRUpJQUFvQWdBaUFrSHBBRFlDRkNBQ0lBazJBaGdnQUNnQ0FDZ0NCQ0VDSUFCQkFTQUNRVDl4UWJJRmFoRURBQUpBQWtBQ1FBSi9Ba0FnQ1VFQmRFRUdhaUFJUWY4QmNTQUZRZjhCY1VFSWRISkhJQU5CL3dGeFFRUktjZzBBSUFNRVFDQUFJQWsyQXRRQ0lBRkJBV29oQVNBRVFYOXFJZ1FoQWlBRVJRd0NDeUFBS0FMZ0FVVU5BQ0FBSUFrMkF0UUNJQUZCQVdvaEFpQUVRWDlxSWdFRWYwRUJCVUVCSVFRTUJBc2hCQXdFQ3lBQUtBSUFJZ0pCRERZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFnQUNBSk5nTFVBaUFCUVFGcUlRSWdCRUYvYWlJRVJTRUdJQU1FZnlBQ0lRRWdCQ0VDSUFZRklBUWhBVUVCSVFRTUFnc0xJUVJCQUNFREEwQUNRQ0FFQkg4Z0J5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQnlnQ0JDRUdJQWNvQWdBRklBSWhCaUFCQ3lJRUxRQUFJUUlnQXdSQUFrQkJBQ0VCQTBBZ0FFSFlBbW9nQVVFQ2RHb29BZ0FvQWdBZ0FrY0VRQ0FCUVFGcUlnRWdBMGtFUUF3Q0JRd0RDd0FMQ3lBQUtBTFlBaWdDQUNFQklBTkJBVXNFUUVFQklRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDZ0NBQ0lGSUFFZ0JTQUJTaHNoQVNBQ1FRRnFJZ0lnQTBjTkFBc0xJQUZCQVdvaEFnc0xJQVpCZjJvaEJpQUVRUUZxSVFVZ0FDZ0MyQUVoQVFKQUFrQWdBQ2dDSkNJSVFRQk1EUUJCQUNFRUFrQURRQ0FDSUFFb0FnQkdEUUVnQVVIWUFHb2hBU0FFUVFGcUlnUWdDRWdOQUFzTUFRc01BUXNnQUNnQ0FDSUVRUVEyQWhRZ0JDQUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUVIWUFtb2dBMEVDZEdvZ0FUWUNBQ0FCSUFZRWZ5QUZCU0FIS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUhLQUlFSVFZZ0J5Z0NBQXNpQWkwQUFDSUVRUVIyTmdJVUlBRWdCRUVQY1RZQ0dDQUFLQUlBSWdRZ0FTZ0NBRFlDR0NBRUlBRW9BaFEyQWh3Z0JDQUJLQUlZTmdJZ0lBUkI2Z0EyQWhRZ0JDZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FDUVFGcUlRSWdCa0YvYWlJRVJTRUdJQU5CQVdvaUF5QUpTUVJBSUFJaEFTQUVJUUlnQmlFRURBSUZJQVFoQVVFQUlRUU1Bd3NBQ3dzTUJBc2dCZzBBREFFTElBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnQWhBaUFIS0FJRUlRRUxJQUpCQVdvaEJpQUFJQUl0QUFBMkFwd0RJQUZCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQlFRRnFJUVlnQUNBQkxRQUFOZ0tnQXlBQUlBSkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCTFFBQUlnWkJCSFkyQXFRRElBQWdCa0VQY1RZQ3FBTWdBQ2dDQUNJR0lBQW9BcHdETmdJWUlBWWdBQ2dDb0FNMkFod2dCaUFBS0FLa0F6WUNJQ0FHSUFBb0FxZ0ROZ0lrSUFaQjZ3QTJBaFFnQmlnQ0JDRUdJQUJCQVNBR1FUOXhRYklGYWhFREFDQUFLQUxRQTBFQU5nSVVJQVJGQkVBZ0FDQUFLQUtRQVVFQmFqWUNrQUVMSUFjZ0FVRUJhallDQUNBSElBSkJmMm8yQWdRZ0FFRUFOZ0s0QXlBS0pBWkJBUThGSUFGQnl3QkdCRUFnQUNnQ0FDSUJRZGNBTmdJVUlBRW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBeUFLSkFaQkFnOEZJQUZCcmdGR0JFQU1Bd1VnQVVIZUFrWU5Bd3NMQzBFQUR3c2dDaVFHUVFBTFFRRUJmeUFBS0FMUUF5RUJJQUJCQURZQzJBRWdBRUVBTmdLUUFTQUFRUUEyQXJnRElBRkJBRFlDRENBQlFRQTJBaEFnQVVFQU5nSVlJQUZCQURZQ3BBRUxpUU1CQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUWF3QklBRkJQM0ZCeWdGcUVRUUFJZ0UyQXRBRElBRkJpd0UyQWdBZ0FVSFhBRFlDQkNBQlFkZ0FOZ0lJSUFGQjJRQTJBaHdnQVVFQU5nSmdJQUZCQURZQ1pDQUJRZGtBTmdJa0lBRkJBRFlDYUNBQlFka0FOZ0lvSUFGQkFEWUNiQ0FCUWRrQU5nSXNJQUZCQURZQ2NDQUJRZGtBTmdJd0lBRkJBRFlDZENBQlFka0FOZ0kwSUFGQkFEWUNlQ0FCUWRrQU5nSTRJQUZCQURZQ2ZDQUJRZGtBTmdJOElBRkJBRFlDZ0FFZ0FVRkFhMEhaQURZQ0FDQUJRUUEyQW9RQklBRkIyUUEyQWtRZ0FVRUFOZ0tJQVNBQlFka0FOZ0pJSUFGQkFEWUNqQUVnQVVIWkFEWUNUQ0FCUVFBMkFwQUJJQUZCMlFBMkFsQWdBVUVBTmdLVUFTQUJRZGtBTmdKVUlBRkJBRFlDbUFFZ0FVRUFOZ0tjQVNBQlFka0FOZ0pjSUFGQkFEWUNvQUVnQVVIYUFEWUNJQ0FCUWRvQU5nSllJQUFvQXRBRElRRWdBRUVBTmdMWUFTQUFRUUEyQXBBQklBQkJBRFlDdUFNZ0FVRUFOZ0lNSUFGQkFEWUNFQ0FCUVFBMkFoZ2dBVUVBTmdLa0FRc2VBQ0FBUVFFUXJnSWdBRUVBRUs0Q0lBQW9BZ1FRT0NBQVFRQTJBZ1FMMlFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlRUWQwSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnaEJCM1FoQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2hCQjNRaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0xNZ0VCZnlBQUtBSUlJQUFvQWdRUXBRTWlBUVJBSUFFZ0FCRHFCRUVBU0FSQUlBRVFTVUVBSVFFTEJVRUFJUUVMSUFFTDBBY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnZ2hDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnZ2hCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MNEFvQkUzOGdBQ2dDQkNJS0tBSkVJZ0VFZndOL0lBRW9BZ0JGQkVBZ0F5QUJLQUlJSWdRZ0FTZ0NER3hxSVFNZ0FpQUVJQUVvQWdSc2FpRUNDeUFCS0FJc0lnRU5BQ0FESVFFZ0Fnc0ZRUUFoQVVFQUN5RURJQW9vQWtnaUJBUkFJQUVoQWdOQUlBUW9BZ0JGQkVBZ0FpQUVLQUlJSWdFZ0JDZ0NERUVIZEd4cUlRSWdBeUFFS0FJRUlBRkJCM1JzYWlFREN5QUVLQUlzSWdRTkFBc0ZJQUVoQWdzZ0FrRUJTQVJBRHdzZ0NpZ0NUQm9nQXlJQklBTklCSDhnQVNBQ0VEa2lBVUVCSUFGQkFVb2JCVUdBbE92Y0F3c2hEeUFLS0FKRUlnSUVRQU5BSUFJb0FnQkZCRUFnQWlnQ0JDSUZRWDlxSUFJb0Fnd2lBUkJJUVFGcUlBOUtCRUFnQWlBQklBOXNOZ0lRSUFBZ0JTQUNRUWhxSWdNb0FnQnNFSjhESUFKQkFUWUNLQ0FDS0FJUUlRVUZJQUlnQlRZQ0VDQUNRUWhxSVFNTElBQW9BZ1FoRWtId2srdmNBeUFES0FJQUlnc1FTQ0VCSUF0QjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUWNnQU5nSVVJQUFnQXlnQ0FFSC9BWEZCckFOcUVRRUFDeUFTSUFFZ0JTQUJJQVZJR3lJQk5nSlFJQUJCQVNBRlFRSjBFTFVCSVF3Z0JRUkFJQVZCZjNNaEVFRUFJUU1EUUNBQUtBSUVJUWNnQVNBRklBTnJJZ1FnQVNBRVNSc2lCQ0FMYkNJR1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQ0VFNE5nSVVJQWhCQXpZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQmtFSUlBWkJCM0VpQ0d0QkFDQUlHMm9pQ0VFUWFpSU5FRVFpQmtVRVFDQUFLQUlBSWdsQk9EWUNGQ0FKUVFRMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFjZ0J5Z0NUQ0FOYWpZQ1RDQUdJQWRCUUdzaUJ5Z0NBRFlDQUNBR0lBZzJBZ1FnQmtFQU5nSUlJQWNnQmpZQ0FDQUVCRUFnQXlBUWFpSU5JQUZCZjNNaUNVc2hEaUFFSVFjZ0JrRVFhaUVJSUFNaEFRTkFJQUZCQVdvaEJpQUJRUUowSUF4cUlBZzJBZ0FnQ0NBTGFpRUlJQWRCZjJvaUJ3UkFJQVloQVF3QkN3c2dBMEYvYWlBTklBa2dEaHRySVFNTElBTWdCVWtFUUNBRUlRRU1BUXNMQ3lBQ0lBdzJBZ0FnQWlBS0tBSlFOZ0lVSUFKQkFEWUNHQ0FDUVFBMkFod2dBa0VBTmdJa0N5QUNLQUlzSWdJTkFBc0xJQW9vQWtnaUFrVUVRQThMQTBBZ0FpZ0NBRVVFUUNBQ0tBSUVJZ1ZCZjJvZ0FpZ0NEQ0lCRUVoQkFXb2dEMG9FUUNBQ0lBRWdEMncyQWhBZ0FDQUNRUWhxSWdNb0FnQWdCVUVIZEd3UW53TWdBa0VCTmdJb0lBSW9BaEFoQlFVZ0FpQUZOZ0lRSUFKQkNHb2hBd3NnQUNnQ0JDRVRRZkNUNjl3RElBTW9BZ0FpRUVFSGRDSUxFRWdoQVNBTFFmQ1Q2OXdEU3dSQUlBQW9BZ0FpQTBISUFEWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQXNnRXlBQklBVWdBU0FGU0JzaUFUWUNVQ0FBUVFFZ0JVRUNkQkMxQVNFTUlBVUVRQ0FGUVg5eklRMUJBQ0VEQTBBZ0FDZ0NCQ0VISUFFZ0JTQURheUlFSUFFZ0JFa2JJZ1FnQzJ3aUNFSHdrK3ZjQTBzRVFDQUFLQUlBSWdaQk9EWUNGQ0FHUVFNMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFoQkVISWlDUkJFSWdaRkJFQWdBQ2dDQUNJT1FUZzJBaFFnRGtFRU5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBSElBa2dCeWdDVEdvMkFrd2dCaUFIUVVCcklnY29BZ0EyQWdBZ0JpQUlOZ0lFSUFaQkFEWUNDQ0FISUFZMkFnQWdCQVJBSUFNZ0RXb2lDU0FCUVg5eklnNUxJUkVnQkNFSElBWkJFR29oQ0NBRElRRURRQ0FCUVFGcUlRWWdBVUVDZENBTWFpQUlOZ0lBSUJCQkIzUWdDR29oQ0NBSFFYOXFJZ2NFUUNBR0lRRU1BUXNMSUFOQmYyb2dDU0FPSUJFYmF5RURDeUFESUFWSkJFQWdCQ0VCREFFTEN3c2dBaUFNTmdJQUlBSWdDaWdDVURZQ0ZDQUNRUUEyQWhnZ0FrRUFOZ0ljSUFKQkFEWUNKQXNnQWlnQ0xDSUNEUUFMQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKSU5nSXNJQWNnQURZQ1NDQUFDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpFTmdJc0lBY2dBRFlDUkNBQUM0d0NBUXQvSUFBb0FnUWhEa0h3ayt2Y0F5QUNRUWQwSWdvUVNDRUZJQXBCOEpQcjNBTkxCRUFnQUNnQ0FDSUdRY2dBTmdJVUlBWW9BZ0FoQmlBQUlBWkIvd0Z4UWF3RGFoRUJBQXNnRGlBRklBTWdCU0FEU0JzaUJEWUNVQ0FBSUFFZ0EwRUNkQkMxQVNFSElBTkZCRUFnQnc4TElBTkJmM01oQzBFQUlRWURRQ0FBSUFFZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0NBS2JCQ3ZBaUVKSUFnRVFDQUdJQXRxSWdVZ0JFRi9jeUlFSUFVZ0JFc2JJUXdnQ0NFRUlBWWhCUU5BSUFWQkFXb2hEU0FGUVFKMElBZHFJQWsyQWdBZ0FrRUhkQ0FKYWlFSklBUkJmMm9pQkFSQUlBMGhCUXdCQ3dzZ0JrRi9haUFNYXlFR0N5QUdJQU5KQkVBZ0NDRUVEQUVMQ3lBSEM0UUNBUXAvSUFBb0FnUWhEVUh3ayt2Y0F5QUNFRWdoQlNBQ1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQmtISUFEWUNGQ0FHS0FJQUlRWWdBQ0FHUWY4QmNVR3NBMm9SQVFBTElBMGdCU0FESUFVZ0EwZ2JJZ1EyQWxBZ0FDQUJJQU5CQW5RUXRRRWhCeUFEUlFSQUlBY1BDeUFEUVg5eklRcEJBQ0VHQTBBZ0FDQUJJQUlnQkNBRElBWnJJZ1VnQkNBRlNSc2lDR3dRcndJaENTQUlCRUFnQmlBS2FpSUZJQVJCZjNNaUJDQUZJQVJMR3lFTElBZ2hCQ0FHSVFVRFFDQUZRUUZxSVF3Z0JVRUNkQ0FIYWlBSk5nSUFJQUlnQ1dvaENTQUVRWDlxSWdRRVFDQU1JUVVNQVFzTElBWkJmMm9nQzJzaEJnc2dCaUFEU1FSQUlBZ2hCQXdCQ3dzZ0J3dnRBZ0VEZnlNR0lRSWpCa0VRYWlRR0lBQkJBRFlDQkNBQ1FRQTJBZ2hCMUFBUVJDSUJSUVJBSUFBb0FnQWlBMEU0TmdJVUlBTkJBRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dBVUVoTmdJQUlBRkJJallDQkNBQlFRYzJBZ2dnQVVFSU5nSU1JQUZCSXpZQ0VDQUJRU1EyQWhRZ0FVR0pBVFlDR0NBQlFSVTJBaHdnQVVFV05nSWdJQUZCTkRZQ0pDQUJRWW9CTmdJb0lBRkJnSlRyM0FNMkFqQWdBVUVBTmdJc0lBRkJBRFlDT0NBQlFVQnJRUUEyQWdBZ0FVRUFOZ0kwSUFGQkFEWUNQQ0FCUVFBMkFrUWdBVUVBTmdKSUlBRkIxQUEyQWt3Z0FDQUJOZ0lFUWVEOUFoQU5JZ0JGQkVBZ0FpUUdEd3NnQWtINEFEb0FEQ0FDSUFKQkNHbzJBZ0FnQWlBQ1FReHFOZ0lFSUFCQjZQMENJQUlRZ3dGQkFFb0VRQUpBSUFJc0FBeEJ6UUJySWdCQkFDQUFRU0JIRzBVRVFDQUNJQUlvQWdoQjZBZHNJZ0EyQWdnTUFRc2dBaWdDQ0NFQUN5QUJJQUJCNkFkc05nSXNDeUFDSkFZTDlRRUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSVVJZ05CelFGSEJFQWdBQ2dDQUNJRlFSVTJBaFFnQlNBRE5nSVlJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ2dDakFFaUJTQUFLQUowSWdaUEJFQWdBQ2dDQUNJQlFmNEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QWdCQ1FHUVFBUEN5QUFLQUlJSWdNRVFDQURJQVUyQWdRZ0F5QUdOZ0lJSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dCRUVBTmdJQUlBQW9Bc0FES0FJRUlRTWdBQ0FCSUFRZ0FpQURRUjl4UWZvRmFoRUhBQ0FBSUFRb0FnQWlBU0FBS0FLTUFXbzJBb3dCSUFRa0JpQUJDNUlFQVIxL0lBQW9BdVFESVFRZ0FDZ0NlQ0VJSUFBb0FuQWhDU0FBS0FMUUFpRVNJQU5CQUV3RVFBOExJQWhCQUVvaEV5QUpSU0VVSUFsQmYyb2lGU0FJYkNFV1FRQWdDR3NoRnlBSlFRRnFJUThEUUNBS1FRSjBJQUpxSWhnb0FnQkJBQ0FKRUVVYUlCTUVRQUpBSUJRRVFDQUVLQUpVUlNFR1FRQWhBQU5BSUFSQnhBQnFJQUJCQW5ScUtBSUFJZ1VnRDBFQmRDQUZhaUFHRzBFQU93RUFJQWdnQUVFQmFpSUFSdzBBQ3d3QkN5QUtRUUowSUFGcUlSbEJBQ0VIQTBBZ0J5QVpLQUlBYWlFR0lCZ29BZ0FoQUNBRUtBSlVCSDlCZnlFTElBUkJ4QUJxSUFkQkFuUnFLQUlBSUE5QkFYUnFJUTBnQmlBV2FpRUdJQUFnRldvaEFDQVhCVUVCSVFzZ0JFSEVBR29nQjBFQ2RHb29BZ0FoRFNBSUN5RWFJQVFvQWhnZ0IwRUNkR29vQWdBaEd5QUVLQUlRSUFkQkFuUnFLQUlBSVJ3Z0NTQUxiQ0VnUVFBaEVDQUpJUkZCQUNFT1FRQWhEQ0FOSVFVRFFDQUFJQnNnRWlBR0xRQUFJQXRCQVhRZ0JXb2lIaTRCQUNBTVFRaHFha0VFZFdwcUxRQUFJZ3hxTFFBQUloOGdBQzBBQUdvNkFBQWdCU0FPSUF3Z0hDQWZhaTBBQUdzaUJVRURiR283QVFBZ0VDQUZRUVZzYWlFT0lBVkJCMndoRENBR0lCcHFJUVlnQUNBTGFpRUFJQkZCZjJvaUVRUkFJQVVoRUNBZUlRVU1BUXNMSUNCQkFYUWdEV29nRGpzQkFDQUhRUUZxSWdjZ0NFY05BQXNMQ3lBRUlBUW9BbFJGTmdKVUlBcEJBV29pQ2lBRFJ3MEFDd3ZGQWdFT2Z5QUFLQUxrQXlFRUlBQW9BbmdoQ1NBQUtBSndJUVlnQTBFQVRBUkFEd3NnQ1VFQVRBUkFRUUFoQUFOQUlBQkJBblFnQW1vb0FnQkJBQ0FHRUVVYUlBUWdCQ2dDTUVFQmFrRVBjVFlDTUNBQVFRRnFJZ0FnQTBjTkFBc1BDeUFHUlNFTkEwQWdCMEVDZENBQ2FpSU9LQUlBUVFBZ0JoQkZHaUFFS0FJd0lRd2dCMEVDZENBQmFpRVBJQTFGQkVCQkFDRUZBMEFnQkNnQ0dDQUZRUUowYWlnQ0FDRVFJQVJCTkdvZ0JVRUNkR29vQWdBaEVTQUdJUUFnRGlnQ0FDRUlRUUFoQ2lBRklBOG9BZ0JxSVFzRFFDQUlJQkFnQ3kwQUFDQU1RUVowSUJGcUlBcEJBblJxS0FJQWFtb3RBQUFnQ0MwQUFHbzZBQUFnQ1NBTGFpRUxJQWhCQVdvaENDQUtRUUZxUVE5eElRb2dBRUYvYWlJQURRQUxJQWtnQlVFQmFpSUZSdzBBQ3dzZ0JDQU1RUUZxUVE5eE5nSXdJQWRCQVdvaUJ5QURSdzBBQ3d2SUFnRVBmeUFBS0FMa0F5SUVLQUlZSWdVb0FnQWhDeUFGS0FJRUlRd2dCU2dDQ0NFTklBQW9BbkFoQ2lBRFFRQk1CRUFQQ3lBRUtBSXdJUUFnQ2tVRVFFRUFJUUVEUUNBQVFRRnFRUTl4SVFBZ0FVRUJhaUlCSUFOSERRQUxJQVFnQURZQ01BOExBMEFnQkNnQ05DRU9JQVFvQWpnaER5QUVLQUk4SVJBZ0NpRUZRUUFoQmlBSVFRSjBJQUpxS0FJQUlRa2dDRUVDZENBQmFpZ0NBQ0VIQTBBZ0IwRURhaUVSSUFsQkFXb2hFaUFKSUEwZ0J5MEFBaUFBUVFaMElCQnFJQVpCQW5ScUtBSUFhbW90QUFBZ0J5MEFBQ0FBUVFaMElBNXFJQVpCQW5ScUtBSUFhaUFMYWkwQUFDQU1JQWN0QUFFZ0FFRUdkQ0FQYWlBR1FRSjBhaWdDQUdwcUxRQUFhbW82QUFBZ0JrRUJha0VQY1NFR0lBVkJmMm9pQlFSQUlCSWhDU0FSSVFjTUFRc0xJQVFnQUVFQmFrRVBjU0lBTmdJd0lBaEJBV29pQ0NBRFJ3MEFDd3Z0QVFFS2Z5QUFLQUxrQXlnQ0dDRU1JQUFvQW5naEJpQUFLQUp3SWdwRklBTkJBVWh5QkVBUEN5QUdRUUJNQkVCQkFDRUFBMEFnQUVFQ2RDQUNhaWdDQUVFQUlBb1FSUm9nQUVFQmFpSUFJQU5IRFFBTER3c0RRQ0FLSVFzZ0JVRUNkQ0FDYWlnQ0FDRUhJQVZCQW5RZ0FXb29BZ0FoQUFOQVFRQWhDRUVBSVFrZ0FDRUVBMEFnQkVFQmFpRU5JQWtnQ0VFQ2RDQU1haWdDQUNBRUxRQUFhaTBBQUdvaENTQUlRUUZxSWdnZ0JrY0VRQ0FOSVFRTUFRc0xJQUFnQm1vaEFDQUhRUUZxSVFRZ0J5QUpPZ0FBSUF0QmYyb2lDd1JBSUFRaEJ3d0JDd3NnQlVFQmFpSUZJQU5IRFFBTEM2NEJBUWwvSUFBb0F1UURLQUlZSWdRb0FnQWhCeUFFS0FJRUlRZ2dCQ2dDQ0NFSklBQW9BbkFpQ2tVZ0EwRUJTSElFUUE4TEEwQWdDaUVBSUFWQkFuUWdBbW9vQWdBaEJpQUZRUUowSUFGcUtBSUFJUVFEUUNBRVFRTnFJUXNnQmtFQmFpRU1JQVlnQ1NBRUxRQUNhaTBBQUNBRUxRQUFJQWRxTFFBQUlBZ2dCQzBBQVdvdEFBQnFham9BQUNBQVFYOXFJZ0FFUUNBTUlRWWdDeUVFREFFTEN5QUZRUUZxSWdVZ0EwY05BQXNMSmdFQmZ5QUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTHZRVUJDWDhnQUNBQUtBTGtBeUlDS0FJUU5nS0lBU0FBSUFJb0FoUTJBb1FCQWtBQ1FBSkFBa0FnQUNnQ1dBNERBQUVDQXdzZ0FDZ0NlRUVEUmdSQUlBSkJGallDQkFVZ0FrRVhOZ0lFQ3c4TElBSkJHRUVaSUFBb0FuaEJBMFliTmdJRUlBSkJBRFlDTUNBQ0tBSWNSUVJBSUFBUW9RTUxJQUlvQWpRRVFBOExJQUFvQXVRRElRSWdBQ2dDZUNJQlFRQk1CRUFQQ3dOQUlBSkJJR29nQkVFQ2RHb29BZ0FoQlFKQUFrQWdCRVVOQUVFQUlRTURRQ0FDUVNCcUlBTkJBblJxS0FJQUlBVkhCRUFnQTBFQmFpSURJQVJQRFFJTUFRc0xJQUpCTkdvZ0EwRUNkR29vQWdBaUEwVU5BQXdCQ3lBQUtBSUVLQUlBSVFFZ0FFRUJRWUFJSUFGQlAzRkJ5Z0ZxRVFRQUlRWWdCVUVKZEVHQWZHb2hCVUVBSVFFRFFFRUFJUU1EUUVIL0FTQURJQUZCQkhSQnNESnFhaTBBQUVFQmRHc2lDRUgvQVd3aEJ5QUJRUVowSUFacUlBTkJBblJxSUFoQkFFZ0VmMEVBUVFBZ0Iyc2dCUkE1YXdVZ0J5QUZFRGtMTmdJQUlBTkJBV29pQTBFUVJ3MEFDeUFCUVFGcUlnRkJFRWNOQUFzZ0JpRURJQUFvQW5naEFRc2dBa0UwYWlBRVFRSjBhaUFETmdJQUlBUkJBV29pQkNBQlNBMEFDdzhMSUFKQkdqWUNCQ0FDUVFBMkFsUWdBaWdDUkFSL0lBQkIrQUJxSWdFaEF5QUJLQUlBSVFFZ0FFSHdBR29GSUFCQjhBQnFJZ1FvQWdBaENTQUFRZmdBYWlJREtBSUFRUUJNQkVBUEN5QUpRUUYwUVFScUlRVkJBQ0VCQTM4Z0FDZ0NCQ2dDQkNFR0lBSkJ4QUJxSUFGQkFuUnFJQUJCQVNBRklBWkJQM0ZCeWdGcUVRUUFOZ0lBSUFGQkFXb2lBU0FES0FJQUlnWklEUUFnQmlFQklBUUxDeWdDQUNFS0lBRkJBRXdFUUE4TElBcEJBWFJCQkdvaEFVRUFJUUFEUUNBQ1FjUUFhaUFBUVFKMGFpZ0NBRUVBSUFFUVJSb2dBRUVCYWlJQUlBTW9BZ0JJRFFBTER3c2dBQ2dDQUNJQlFURTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUM4c0JBUXQvSUFBb0F1UURLQUlZSVFvZ0FDZ0NjQ0lMUlNBRFFRRkljZ1JBRHdzRFFDQUxJUWdnQlVFQ2RDQUNhaWdDQUNFR0lBVkJBblFnQVdvb0FnQWhCQU5BSUFRdEFBQkJBM1lpREVFQ2RDQUthaWdDQUNBRUxRQUJRUUoySWdkQkJuUnFJQVF0QUFKQkEzWWlEVUVCZEdvaURpNEJBQ0lKUlFSQUlBQWdEQ0FISUEwUW9nTWdEaTRCQUNFSkN5QUVRUU5xSVFRZ0JrRUJhaUVISUFZZ0NVSC8vd054UWY4QmFqb0FBQ0FJUVg5cUlnZ0VRQ0FISVFZTUFRc0xJQVZCQVdvaUJTQURSdzBBQ3d2S0JRRW5meUFBS0FMa0F5SUxLQUlZSVJ3Z0FDZ0NjQ0VNSUFBb0F0QUNJUk1nQ3lnQ0tDRVVJQUFvQW9nQklnUW9BZ0FoSFNBRUtBSUVJUjRnQkNnQ0NDRWZJQU5CQUV3RVFBOExJQXhGSVNBZ0RFRi9haUloUVFOc0lTSWdERUVEYkVFRGFpRWpBMEFnRGtFQ2RDQUJhaWdDQUNFSElBNUJBblFnQW1vb0FnQWhEU0FMSUFzb0FpUUVmMEY5SVFsQmZ5RVdJQXNvQWlBZ0kwRUJkR29oQ0NBTklDRnFJUTBnQnlBaWFpRUhRUUFGUVFNaENVRUJJUllnQ3lnQ0lDRUlRUUVMTmdJa0lDQUVRRUVBSVE5QkFDRVFRUUFoQkFVZ0NVRUJhaUVrSUFsQkFtb2hKU0FKSUF4c0lTcEJBQ0VSUVFBaEVrRUFJUmRCQUNFWVFRQWhHVUVBSVE5QkFDRVFRUUFoR2lBTUlSdEJBQ0VGSUFnaEJBTkFJQk1nSkVFQmRDQUVhaTRCQUNBUlFRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUJhbW90QUFBaUNrRUNkaUlHUVFaMElCTWdDVUVCZENBRWFpSW5MZ0VBSUFWQkNHcHFRUVIxUVFKMElCUnFLQUlBSUFjdEFBQnFhaTBBQUNJUlFRTjJJaFZCQW5RZ0hHb29BZ0JxSUJNZ0pVRUJkQ0FFYWk0QkFDQVNRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFDYW1vdEFBQWlFa0VEZGlJb1FRRjBhaUlwTGdFQUlnVkZCRUFnQUNBVklBWWdLQkNpQXlBcExnRUFJUVVMSUEwZ0JVSC8vd054UVg5cUlnWTZBQUFnQ2lBR0lCNXFMUUFBYXlFRklCSWdCaUFmYWkwQUFHc2hDaUFFSUE4Z0VTQUdJQjFxTFFBQWF5SUdRUU5zYWpzQkFDQVhJQVpCQld4cUlROGdCa0VIYkNFVklBUWdFQ0FGUVFOc2Fqc0JBaUFZSUFWQkJXeHFJUkFnQlVFSGJDRVJJQVFnR2lBS1FRTnNhanNCQkNBWklBcEJCV3hxSVFRZ0NrRUhiQ0VTSUFjZ0NXb2hCeUFOSUJacUlRMGdHMEYvYWlJYkJFQWdCaUVYSUFVaEdDQUtJUmtnQkNFYUlCVWhCU0FuSVFRTUFRc0xJQ3BCQVhRZ0NHb2hDQXNnQ0NBUE93RUFJQWdnRURzQkFpQUlJQVE3QVFRZ0RrRUJhaUlPSUFOSERRQUxDOWdJQVJkL0lBQWdBQ2dDNUFNaUV5Z0NFRFlDaUFFZ0FDZ0NCQ2dDQUNFQklBQkJBU0FUS0FJVUlndEJCWFFnQVVFL2NVSEtBV29SQkFBaUJVRUFOZ0lBSUFWQkh6WUNCQ0FGUVFBMkFnZ2dCVUUvTmdJTUlBVkJBRFlDRUNBRlFSODJBaFFnQUNBRkVMQUNJQXRCQVVvRWZ3Si9RUUVoQkFOL0lBUkJBWFFnQzBvRVFFRUFJUVpCQUNFQ0lBVWhBVUVBSVFNRGZ5QUJLQUlZSWdrZ0Jrb2hCeUFKSUFZZ0J4c2hCaUFCSUFNZ0J4c2hBeUFCUVNCcUlRRWdBa0VCYWlJQ0lBUkhEUUFnQXdzaEFRVkJBQ0VHUVFBaEFpQUZJUU5CQUNFQkEwQWdBeWdDSENJSElBWktCRUFnQXlBQklBTW9BaGhCQUVvaUNSc2hBU0FISUFZZ0NSc2hCZ3NnQTBFZ2FpRURJQUpCQVdvaUFpQUVSdzBBQ3dzZ0JDQUJSUTBCR2lBRVFRVjBJQVZxSUFFb0FnUTJBZ1FnQkVFRmRDQUZhaUFCSWdNb0FndzJBZ3dnQkVFRmRDQUZhaUFCSWdJb0FoUTJBaFFnQkVFRmRDQUZhaUlHSUFJb0FnQTJBZ0FnQkVFRmRDQUZha0VJYWlJSElBSW9BZ2cyQWdBZ0JFRUZkQ0FGYWtFUWFpSUpJQUlvQWhBMkFnQUNRQUovQWtBQ1FBSkFRUUlnQWlnQ0JDSUlJQUlvQWdBaURHdEJCSFFpQ2lBQ0tBSU1JZzBnQWlnQ0NDSU9hMEVNYkNJUFNpSVFRUUZ6SUFJb0FoUWlFU0FDS0FJUUloSnJRUU4wSUFvZ0R5QVFHMG9iUVFOeERnTUFBUUlFQ3lBQklBZ2dER3BCQWhBNUlnTTJBZ1FnQmd3Q0N5QURJQTBnRG1wQkFoQTVJZ00yQWd3Z0J3d0JDeUFDSUJFZ0VtcEJBaEE1SWdNMkFoUWdDUXNnQTBFQmFqWUNBQXNnQUNBQ0VMQUNJQUFnQmhDd0FpQUVRUUZxSWdRZ0MwZ05BQ0FFQ3dzRlFRRUxJUXRCQUNFSUEwQWdBQ2dDNUFNb0FoZ2hEeUFJUVFWMElBVnFLQUlBSWdJZ0NFRUZkQ0FGYWlnQ0JDSVJTaUFJUVFWMElBVnFLQUlJSWc0Z0NFRUZkQ0FGYWlnQ0RDSVNTbklnQ0VFRmRDQUZhaWdDRUNJTklBaEJCWFFnQldvb0FoUWlFRXB5QkVCQkFDRUJRUUFoQTBFQUlRUkJBQ0VHQlVFQUlRRkJBQ0VEUVFBaEJFRUFJUVlEUUNBQ1FRSjBJQTlxS0FJQUlSUWdBa0VEZEVFRWNpRVZJQTRoQndOQUlBZEJBblJCQW5JaEZpQUhRUVowSUJScUlBMUJBWFJxSVF3Z0RTRUpBMEFnREM0QkFDSVhRZi8vQTNFaENpQVhCRUFnQVNBS0lBbEJBM1JCQkhKc2FpRUJJQU1nQ2lBV2JHb2hBeUFFSUFvZ0ZXeHFJUVFnQmlBS2FpRUdDeUFNUVFKcUlRd2dDVUVCYWlFS0lBa2dFRWdFUUNBS0lRa01BUXNMSUFkQkFXb2hDU0FISUJKSUJFQWdDU0VIREFFTEN5QUNRUUZxSVFjZ0FpQVJTQVJBSUFjaEFnd0JDd3NMSUFRZ0JrRUJkU0lFYWlBR0VEbEIvd0Z4SVFJZ0NDQUFLQUtJQVNnQ0FHb2dBam9BQUNBRElBUnFJQVlRT1VIL0FYRWhBeUFJSUFBb0FvZ0JLQUlFYWlBRE9nQUFJQUVnQkdvZ0JoQTVRZjhCY1NFQklBZ2dBQ2dDaUFFb0FnaHFJQUU2QUFBZ0NFRUJhaUlJSUF0SURRQUxJQUFnQ3pZQ2hBRWdBQ2dDQUNJQlFlSUFOZ0lVSUFFZ0N6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQk5CQVRZQ0hBdWJBUUVHZnlBQUtBTGtBeWdDR0NFR0lBQW9BbkFpQjBVZ0EwRUJTSElFUUE4TEEwQWdCeUVBSUFSQkFuUWdBV29vQWdBaEFnTkFJQUl0QUFCQkEzWkJBblFnQm1vb0FnQWdBaTBBQVVFQ2RrRUdkR29nQWkwQUFrRURka0VCZEdvaUNDNEJBQ0lKUVFGcVFSQjBRUkIxSVFVZ0NDQUZJQWtnQlJzN0FRQWdBa0VEYWlFQ0lBQkJmMm9pQUEwQUN5QUVRUUZxSWdRZ0EwY05BQXNMRFFBZ0FDZ0M1QU5CQVRZQ0hBdmpCUUVEZnlBQUtBTGtBeUlES0FJWUlRSWdBQ2dDV0FSL0lBQkJBallDV0VFQ0JVRUFDeUVFSUFFRVFDQURRUk0yQWdRZ0EwR0hBVFlDQ0NBRFFRRTJBaHdGSUFOQkZFRVZJQVJCQWtZYk5nSUVJQU5CaUFFMkFnZ2dBQ2dDaEFFaUFVRUJTQVJBSUFBb0FnQWlBVUU2TmdJVUlBRkJBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUJRVHMyQWhRZ0FVR0FBallDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSllRUUpHQkVBZ0FDZ0NjRUVHYkVFTWFpRUVJQU1vQWlBaUFVVUVRQ0FBS0FJRUtBSUVJUUVnQXlBQVFRRWdCQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSWdDeUFCUVFBZ0JCQkZHaUFES0FJb1JRUkFJQUFRcEFNTElBTkJBRFlDSkFzTElBTW9BaHhGQkVBUEN5QUNLQUlBUVFCQmdDQVFSUm9nQWlnQ0JFRUFRWUFnRUVVYUlBSW9BZ2hCQUVHQUlCQkZHaUFDS0FJTVFRQkJnQ0FRUlJvZ0FpZ0NFRUVBUVlBZ0VFVWFJQUlvQWhSQkFFR0FJQkJGR2lBQ0tBSVlRUUJCZ0NBUVJSb2dBaWdDSEVFQVFZQWdFRVVhSUFJb0FpQkJBRUdBSUJCRkdpQUNLQUlrUVFCQmdDQVFSUm9nQWlnQ0tFRUFRWUFnRUVVYUlBSW9BaXhCQUVHQUlCQkZHaUFDS0FJd1FRQkJnQ0FRUlJvZ0FpZ0NORUVBUVlBZ0VFVWFJQUlvQWpoQkFFR0FJQkJGR2lBQ0tBSThRUUJCZ0NBUVJSb2dBa0ZBYXlnQ0FFRUFRWUFnRUVVYUlBSW9Ba1JCQUVHQUlCQkZHaUFDS0FKSVFRQkJnQ0FRUlJvZ0FpZ0NURUVBUVlBZ0VFVWFJQUlvQWxCQkFFR0FJQkJGR2lBQ0tBSlVRUUJCZ0NBUVJSb2dBaWdDV0VFQVFZQWdFRVVhSUFJb0FseEJBRUdBSUJCRkdpQUNLQUpnUVFCQmdDQVFSUm9nQWlnQ1pFRUFRWUFnRUVVYUlBSW9BbWhCQUVHQUlCQkZHaUFDS0FKc1FRQkJnQ0FRUlJvZ0FpZ0NjRUVBUVlBZ0VFVWFJQUlvQW5SQkFFR0FJQkJGR2lBQ0tBSjRRUUJCZ0NBUVJSb2dBaWdDZkVFQVFZQWdFRVVhSUFOQkFEWUNIQXVWQkFFVGZ5QUFLQUxRQWlFRklBQW9BdHdESWdRb0FoQWhEQ0FFS0FJVUlRMGdCQ2dDR0NFT0lBUW9BaHdoRHlBQktBSUFJQUpCQW5ScUtBSUFJUWdnQVNnQ0JDQUNRUUowYWlnQ0FDRUVJQUVvQWdnZ0FrRUNkR29vQWdBaENTQURLQUlBSVFZZ0FDZ0NjQ0lCUVFGMklnb0VRQ0FFSUFwcUlSWWdBVUYrY1NFU0lBcEJCbXdoRXlBSklRTWdDQ0VDSUFZaEFTQUtJUkFEUUNBRVFRRnFJUlFnQTBFQmFpRVZJQU10QUFBaUIwRUNkQ0FNYWlnQ0FDRURJQVF0QUFBaUMwRUNkQ0FQYWlnQ0FDQUhRUUowSUE1cUtBSUFha0VRZFNFRUlBdEJBblFnRFdvb0FnQWhDeUFCSUFNZ0FpMEFBQ0lIYWlBRmFpd0FBRG9BQUNBQklBUWdCMm9nQldvc0FBQTZBQUVnQVNBSElBdHFJQVZxTEFBQU9nQUNJQUpCQW1vaEJ5QUJJQU1nQWkwQUFTSUNhaUFGYWl3QUFEb0FBeUFCSUFVZ0FpQUVhbW9zQUFBNkFBUWdBU0FGSUFJZ0MycHFMQUFBT2dBRklBRkJCbW9oQVNBUVFYOXFJaEFFUUNBVklRTWdGQ0VFSUFjaEFnd0JDd3NnQ1NBS2FpRUpJQlloQkNBSUlCSnFJUWdnQmlBVGFpRUdJQUFvQW5BaEFRc2dBVUVCY1VVRVFBOExJQVF0QUFBaUFFRUNkQ0FQYWlnQ0FDQUpMUUFBSWdGQkFuUWdEbW9vQWdCcVFSQjFJUUlnQUVFQ2RDQU5haWdDQUNFRElBWWdDQzBBQUNJQUlBRkJBblFnREdvb0FnQnFJQVZxTEFBQU9nQUFJQVlnQUNBQ2FpQUZhaXdBQURvQUFTQUdJQUFnQTJvZ0JXb3NBQUE2QUFJTFJ3QWdBQ2dDM0FNb0Fnd2hBeUFBSUFFZ0FpZ0NBQ0FGS0FJQVFRSjBJQVJxSUFOQkgzRkIrZ1ZxRVFjQUlBVWdCU2dDQUVFQmFqWUNBQ0FDSUFJb0FnQkJBV28yQWdBTGdBWUJGMzhnQUNnQzBBSWhCU0FBS0FMY0F5SUVLQUlRSVE4Z0JDZ0NGQ0VRSUFRb0FoZ2hFU0FFS0FJY0lSSWdBU2dDQUNJSElBSkJBWFFpQkVFQ2RHb29BZ0FoRENBRVFRRnlRUUowSUFkcUtBSUFJUVFnQVNnQ0JDQUNRUUowYWlnQ0FDRUdJQUVvQWdnZ0FrRUNkR29vQWdBaERTQURLQUlBSVFnZ0F5Z0NCQ0VKSUFBb0FuQWlBVUVCZGlJT0JFQWdCaUFPYWlFYUlBNUJCbXdoRXlBRUlBRkJmbkVpRm1vaEZ5QU5JUWNnQkNFRElBd2hCQ0FKSVFFZ0NDRUNJQTRoRkFOQUlBWkJBV29oR0NBSFFRRnFJUmtnQnkwQUFDSUtRUUowSUE5cUtBSUFJUWNnQmkwQUFDSUxRUUowSUJKcUtBSUFJQXBCQW5RZ0VXb29BZ0JxUVJCMUlRWWdDMEVDZENBUWFpZ0NBQ0VMSUFJZ0J5QUVMUUFBSWdwcUlBVnFMQUFBT2dBQUlBSWdCaUFLYWlBRmFpd0FBRG9BQVNBQ0lBb2dDMm9nQldvc0FBQTZBQUlnQkVFQ2FpRUtJQUlnQlNBSElBUXRBQUVpQkdwcUxBQUFPZ0FESUFJZ0JTQUVJQVpxYWl3QUFEb0FCQ0FDSUFVZ0JDQUxhbW9zQUFBNkFBVWdBa0VHYWlFQ0lBRWdCU0FISUFNdEFBQWlCR3BxTEFBQU9nQUFJQUVnQlNBRUlBWnFhaXdBQURvQUFTQUJJQVVnQkNBTGFtb3NBQUE2QUFJZ0EwRUNhaUVFSUFFZ0F5MEFBU0lESUFkcUlBVnFMQUFBT2dBRElBRWdBeUFHYWlBRmFpd0FBRG9BQkNBQklBTWdDMm9nQldvc0FBQTZBQVVnQVVFR2FpRUJJQlJCZjJvaUZBUkFJQmtoQnlBWUlRWWdCQ0VESUFvaEJBd0JDd3NnRFNBT2FpRU5JQm9oQmlBWElRUWdEQ0FXYWlFTUlBa2dFMm9oQ1NBSUlCTnFJUWdnQUNnQ2NDRUJDeUFCUVFGeFJRUkFEd3NnRFMwQUFDSUJRUUowSUE5cUtBSUFJUUFnQmkwQUFDSUNRUUowSUJKcUtBSUFJQUZCQW5RZ0VXb29BZ0JxUVJCMUlRRWdBa0VDZENBUWFpZ0NBQ0VDSUFnZ0FDQU1MUUFBSWdOcUlBVnFMQUFBT2dBQUlBZ2dBU0FEYWlBRmFpd0FBRG9BQVNBSUlBSWdBMm9nQldvc0FBQTZBQUlnQ1NBQUlBUXRBQUFpQUdvZ0JXb3NBQUE2QUFBZ0NTQUFJQUZxSUFWcUxBQUFPZ0FCSUFrZ0FDQUNhaUFGYWl3QUFEb0FBZ3U4RXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUdJUTBnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSElBRklCRUFnQlVFQU93RUFJQTFCQURzQkFDQU5RUUpxSVEwZ0JVRUNhaUVGSUFkQkFXb2hCd3dCQ3dzZ0JpRUhJQUZCZjJvaUVVRUJkQ0FHYWlFTlFRQWhCUU5BSUFVZ0FrZ0VRQ0FOUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUJRUUYwSUExcUlRMGdCVUVCYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOUVFFaEMwRUFJUVVnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa2dCaUVNQTBBZ0NTQVJTQVJBSUEwdEFBQWdBMG9FUUFKQUlCSkJBWFFnREdvaUR5NEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBOUJmbW91QVFBaUNpRUlJQXBCQUVvaEJpQVBMZ0VDSWdWQkFFd0VRQ0FHQkVBZ0RDQUtPd0VBSUFoQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxJQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dERUYrYWk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBTUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUdCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBRklBWW9BZ0JHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FDQUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnREVGK2FpNEJBQ0lHUVFCTUJFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFsS0JFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBR0tBSUFJQVZHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0ZJQXhCQURzQkFBc2dEVUVCYWlFTklBbEJBV29oQ1NBTVFRSnFJUXdNQVFzTElBMUJBbW9oRFNBTFFRRnFJUXNnQUNFRklBeEJCR29oQmd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdjMkFnZ2dCd1IvSUExQkFDQUhRUUowRUVVYUlBUkJrSUFvYWtFQUlBZEJCSFFRUlJwQkFDRURBMEFnQXlBSFNBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdkQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MbmdJQkJIOGpCaUVESXdaQkVHb2tCaUFBS0FMY0F5SUhLQUlrQkVBZ0IwRWdha0VBSUFVb0FnQkJBblFnQkdwQkFFRUJJQWNvQWlnUTl3RWdCMEVBTmdJa0lBVWdCU2dDQUVFQmFqWUNBQ0FISUFjb0FpeEJmMm8yQWl3RklBWWdCU2dDQUNJSmF5SUdJQWNvQWl3aUNFRUNJQWhCQWtrYklnZ2dDQ0FHU3hzaEJpQURJQWxCQW5RZ0JHb29BZ0EyQWdBZ0JrRUJTd1JBSUFNZ0NVRUJha0VDZENBRWFpZ0NBRFlDQkFVZ0F5QUhLQUlnTmdJRUlBZEJBVFlDSkFzZ0J5Z0NEQ0VFSUFBZ0FTQUNLQUlBSUFNZ0JFRWZjVUg2QldvUkJ3QUNmeUFIS0FJa1JTRUtJQVVnQmlBRktBSUFhallDQUNBSElBY29BaXdnQm1zMkFpd2dDa1VMQkVBZ0F5UUdEd3NMSUFJZ0FpZ0NBRUVCYWpZQ0FDQURKQVlMR3dFQmZ5QUFLQUxjQXlJQlFRQTJBaVFnQVNBQUtBSjBOZ0lzQzdvQkFRZC9JQUFvQWlRaEJTQUFLQUp3SVFnZ0JFRUFUQVJBRHdzZ0JVRUFUQVJBRHdzZ0NFVWhDZ05BSUFwRkJFQkJBQ0VBQTBCQkFDRUpJQUJCQW5RZ0FXb29BZ0FnQWtFQ2RHb29BZ0FoQmlBQUlBTW9BZ0JxSVFjRFFDQUdRUUZxSVFzZ0J5QUdMQUFBT2dBQUlBVWdCMm9oQnlBSUlBbEJBV29pQ1VjRVFDQUxJUVlNQVFzTElBVWdBRUVCYWlJQVJ3MEFDd3NnQkVGL2FpRUFJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFBaEJBd0JDd3NMMkFJQkQzOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQktBSU1JQUpCQW5ScUtBSUFJUkVnQWtFQmFpRVNJQU1vQWdBaEFrRUFJUUFEUUNBQUlBOXFMUUFBSVFjZ0FpQUZJQUFnRG1vc0FBQkJmM05CL3dGeElnZ2dBQ0FRYWkwQUFDSVRRUUowSUFscUtBSUFhMm9zQUFBNkFBQWdBaUFGSUFnZ0IwRUNkQ0FNYWlnQ0FDQVRRUUowSUF0cUtBSUFha0VRZFd0cUxBQUFPZ0FCSUFJZ0JTQUlJQWRCQW5RZ0Ntb29BZ0JyYWl3QUFEb0FBaUFDSUFBZ0VXb3NBQUE2QUFNZ0FrRUVhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJJaEFpQU5JUVFNQVFzTEM5TUJBUWwvSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQUlBbHFMUUFBSVFzZ0FpQUFJQWhxTEFBQUlneEIvd0Z4UVlBQmFpSU5JQUFnQjJvdEFBQnFPZ0FBSUFJZ0REb0FBU0FDSUFzZ0RXbzZBQUlnQWtFRGFpRUNJQVVnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQW9oQWlBR0lRUU1BUXNMQzcwQkFRWi9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FDSUFBZ0Iyb3NBQUE2QUFBZ0FpQUFJQWhxTEFBQU9nQUJJQUlnQUNBSmFpd0FBRG9BQWlBQ1FRTnFJUUlnQlNBQVFRRnFJZ0JIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQ2lFQ0lBWWhCQXdCQ3dzTHRBSUJEbjhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUNRUUZxSVJFZ0F5Z0NBQ0VDUVFBaEFBTkFJQUFnRDJvdEFBQWhCeUFDSUFVZ0FDQU9haTBBQUNJSUlBQWdFR290QUFBaUVrRUNkQ0FKYWlnQ0FHcHFMQUFBT2dBQUlBSWdCU0FJSUFkQkFuUWdER29vQWdBZ0VrRUNkQ0FMYWlnQ0FHcEJFSFZxYWl3QUFEb0FBU0FDSUFVZ0NDQUhRUUowSUFwcUtBSUFhbW9zQUFBNkFBSWdBa0VEYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCRWhBaUFOSVFRTUFRc0xDNG9CQVFWL0lBQW9BbkFpQjBVZ0JFRUJTSElFUUE4TEEwQWdCRUYvYWlFSUlBRW9BZ0FnQWtFQ2RHb29BZ0FoQ1VFQUlRQWdBeWdDQUNFRkEwQWdCU0FBSUFscUxBQUFJZ1k2QUFJZ0JTQUdPZ0FCSUFVZ0Jqb0FBQ0FGUVFOcUlRVWdCeUFBUVFGcUlnQkhEUUFMSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBZ2hCQXdCQ3dzTDlBRUJDWDhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFscUxRQUFJZ3hCZ0FGcUlnMGdBQ0FJYWkwQUFHcEIvd0Z4UVFKMElBVnFLQUlBSUF4QmdBSnlRUUowSUFWcUtBSUFhaUFBSUFwcUxRQUFJQTFxUWY4QmNVR0FCSEpCQW5RZ0JXb29BZ0JxUVJCMk9nQUFJQUJCQVdvaUFDQUdSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQWNoQkF3QkN3c0wzZ0VCQjM4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBcHFMUUFBUVlBRWNrRUNkQ0FGYWlnQ0FDQUFJQWhxTFFBQVFRSjBJQVZxS0FJQUlBQWdDV290QUFCQmdBSnlRUUowSUFWcUtBSUFhbXBCRUhZNkFBQWdBRUVCYWlJQUlBWkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdCeUVFREFFTEN3c3lBUUYvSUFBb0FnUWdBQ2dDQ0JDTEFTSUJCRUFnQVNBQUVMUUZRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVFzWEFDQUJLQUlBSUFJZ0EwRUFJQVFnQUNnQ2NCRDNBUXVIQkFFTWZ5QURLQUlBSVFnZ0FTZ0NCQ0lESUFBb0F0d0RJZ1ZCakFGcWFpd0FBQ0VCSUFNZ0JVR1dBV3BxTFFBQUlRTWdBQ2dDd0FJaUJFRUFUQVJBRHdzZ0FVSC9BWEVoQlNBQlFRQkhJUXdnQTBIL0FYRWlDa0YvYWlFTklBTkIvd0Z4UVFGS0JFQWdCVUYrSUFWQmYzTWdBUnRxUVFKcUlRNUJBQ0VFQTBBQ1FDQUVRUUowSUFocUtBSUFJZ01nQUNnQ2NDSUJhaUVQSUFGQkFFb0VRQ0FNUlEwQklBWkJBblFnQW1vb0FnQWhCeUFESVFFRFFDQUJJQWNzQUFBZ0RoQkZHaUFGSVFNRFFDQUJRUUZxSVFFZ0EwRi9haUVMSUFOQkFVb0VRQ0FMSVFNTUFRc0xJQWRCQVdvaEJ5QUJJQTlKRFFBTElBQW9BbkFoQVFzZ0NDQUVJQWdnQkVFQmFpQU5JQUVROXdFZ0JrRUJhaUVHSUFRZ0Ntb2lCQ0FBS0FMQUFrZ05BVUViSVFrTEN5QUpRUnRHQkVBUEN3TkFEQUFBQ3dBTElBeEZCRUFnQUNnQ2NFRUFTaUVCUVFBaEFBTi9JQUVFZjBFQUJTQUFJQXBxSWdBZ0JFZ0Vmd3dDQlVFYkN3c0xRUnRHQkVBUEN3TkFEQUFBQ3dBTFFRQWhCQU5BSUFaQkFuUWdDR29vQWdBaUFTQUFLQUp3SWdOcUlRa2dBMEVBU2dSQUlBUkJBblFnQW1vb0FnQWhCd05BSUFFZ0J5d0FBQ0FGRUVVYUlBVWhBd05BSUFGQkFXb2hBU0FEUVg5cUlRc2dBMEVCU2dSQUlBc2hBd3dCQ3dzZ0IwRUJhaUVISUFFZ0NVa05BQXNMSUFSQkFXb2hCQ0FHSUFwcUlnWWdBQ2dDd0FKSURRQUxDNjhCQVFWL0lBTW9BZ0FoQlNBQUtBTEFBa0VBVEFSQUR3dEJBQ0VEQTBBZ0EwRUNkQ0FGYWlnQ0FDSUhJQUFvQW5BaUFXb2hDQ0FCUVFCS0JFQWdCa0VDZENBQ2FpZ0NBQ0VFSUFjaEFRTkFJQVJCQVdvaEJ5QUJJQVFzQUFBaUJEb0FBQ0FCSUFRNkFBRWdBVUVDYWlJQklBaEpCRUFnQnlFRURBRUxDeUFBS0FKd0lRRUxJQVVnQXlBRklBTkJBWEpCQVNBQkVQY0JJQVpCQVdvaEJpQURRUUpxSWdNZ0FDZ0N3QUpJRFFBTEM1VUJBUVIvSUFNb0FnQWhCaUFBS0FMQUFpSUJRUUJNQkVBUEMwRUFJUU1EUUNBRFFRSjBJQVpxS0FJQUlnVWdBQ2dDY0NJRWFpRUhJQVJCQUVvRVFDQURRUUowSUFKcUtBSUFJUVFnQlNFQkEwQWdCRUVCYWlFRklBRWdCQ3dBQUNJRU9nQUFJQUVnQkRvQUFTQUJRUUpxSWdFZ0Iwa0VRQ0FGSVFRTUFRc0xJQUFvQXNBQ0lRRUxJQU5CQVdvaUF5QUJTQTBBQ3dzSkFDQURJQUkyQWdBTENRQWdBMEVBTmdJQUM4b0NBUU4vSUFBb0F0d0RJZ2NvQWx3aUNDQUFLQUxBQWlJRFNBUi9JQWdGSUFBb0FpUkJBRW9FUUNBQUtBTFlBU0VJUVFBaEF3TkFJQWRCTkdvZ0EwRUNkR29vQWdBaENTQUFJQWdnQTBFQ2RDQUJhaWdDQUNBQ0tBSUFJQWRCNUFCcUlBTkJBblJxS0FJQWJFRUNkR29nQjBFTWFpQURRUUowYWlBSlFSOXhRZm9GYWhFSEFDQUlRZGdBYWlFSUlBTkJBV29pQXlBQUtBSWtTQTBBQ3lBQUtBTEFBaUVEQ3lBSFFRQTJBbHhCQUFzaEFTQUdJQVVvQWdBaUJtc2lDQ0FIS0FKZ0lna2dBeUFCYXlJRElBTWdDVXNiSWdNZ0F5QUlTeHNoQXlBQUtBTGdBeWdDQkNFSUlBQWdCMEVNYWlBQklBWkJBblFnQkdvZ0F5QUlRVDl4UVpvR2FoRUZBQ0FGSUFNZ0JTZ0NBR28yQWdBZ0J5QUhLQUpnSUFOck5nSmdJQWNnQXlBSEtBSmNhaUlCTmdKY0lBRWdBQ2dDd0FKSUJFQVBDeUFDSUFJb0FnQkJBV28yQWdBTEh3RUJmeUFBS0FMY0F5SUJJQUFvQXNBQ05nSmNJQUVnQUNnQ2REWUNZQXVIQWdFRmZ5QUFLQUxJQXlJSEtBSVlJZ01FUUNBSFFSUnFJUUVnQjBFUWFpRUNJQWNvQWd3aENRVWdBQ2dDQkNnQ0hDRURJQWNnQUNBSEtBSUlJQWRCRkdvaUFTZ0NBQ0FIUVJCcUlnSW9BZ0JCQUNBRFFSOXhRYUlDYWhFSUFDSUpOZ0lNSUFjb0FoZ2hBd3NnQUNnQ2RDQUJLQUlBYXlJSUlBWWdCU2dDQUNJS2F5SUdJQUlvQWdBZ0Eyc2lDeUFMSUFaTEd5SUdJQVlnQ0VzYklRWWdBQ2dDNUFNb0FnUWhDQ0FBSUFOQkFuUWdDV29nQ2tFQ2RDQUVhaUFHSUFoQkgzRkIrZ1ZxRVFjQUlBVWdCaUFGS0FJQWFqWUNBQ0FISUFZZ0J5Z0NHR29pQURZQ0dDQUFJQUlvQWdBaUFFa0VRQThMSUFFZ0FDQUJLQUlBYWpZQ0FDQUhRUUEyQWhnTGlnSUJCWDhnQUNnQ3lBTWlCMEVZYWlJSUtBSUFJZ1FFUUNBSFFSQnFJUVlnQjBFTWFpSUpJUW9nQ1NnQ0FDRUpCU0FBS0FJRUtBSWNJUVFnQjBFTWFpSUtJQUFnQnlnQ0NDQUhLQUlVSUFkQkVHb2lCaWdDQUVFQklBUkJIM0ZCb2dKcUVRZ0FJZ2syQWdBZ0NDZ0NBQ0VFQ3lBQUtBTGNBeWdDQkNFTElBQWdBU0FDSUFNZ0NTQUlJQVlvQWdBZ0MwRUhjVUhpQm1vUkRRQWdDQ2dDQUNJQklBUkxCRUFnQUNnQzVBTW9BZ1FoQWlBQUlBb29BZ0FnQkVFQ2RHcEJBQ0FCSUFScklnQWdBa0VmY1VINkJXb1JCd0FnQlNBQUlBVW9BZ0JxTmdJQUlBZ29BZ0FoQVFzZ0FTQUdLQUlBSWdCSkJFQVBDeUFISUFBZ0J5Z0NGR28yQWhRZ0NFRUFOZ0lBQzU4QkFRUi9Jd1loQnlNR1FSQnFKQVlnQmlBRktBSUFheUVJSUFBb0FzZ0RJZ2tvQWhBaENpQUhRUUEyQWdBZ0FDZ0MzQU1vQWdRaEJpQUFJQUVnQWlBRElBa29BZ3dnQnlBS0lBZ2dDQ0FLU3hzZ0JrRUhjVUhpQm1vUkRRQWdBQ2dDNUFNb0FnUWhBU0FBSUFrb0Fnd2dCU2dDQUVFQ2RDQUVhaUFIS0FJQUlBRkJIM0ZCK2dWcUVRY0FJQVVnQnlnQ0FDQUZLQUlBYWpZQ0FDQUhKQVlMa2dJQkFYOGdBQ2dDeUFNaEFnSkFBa0FDUUFKQUFrQWdBUTRFQUFNQ0FRTUxJQUFvQWxSRkJFQWdBaUFBS0FMY0F5Z0NCRFlDQkF3RUN5QUNRUVEyQWdRZ0FpZ0NERVVFUUNBQUtBSUVLQUljSVFFZ0FpQUFJQUlvQWdoQkFDQUNLQUlRUVFFZ0FVRWZjVUdpQW1vUkNBQTJBZ3dMREFNTElBSW9BZ2hGQkVBZ0FDZ0NBQ0lCUVFNMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FRVTJBZ1FNQWdzZ0FpZ0NDRVVFUUNBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkJqWUNCQXdCQ3lBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkFEWUNHQ0FDUVFBMkFoUUxLUUVCZnlBQUtBTElBeWdDQkNFRUlBQkJBRUVBUVFBZ0FTQUNJQU1nQkVFSGNVSGlCbW9SRFFBTGZ3RUVmeUFBS0FMQUF5SUVRVEJxSWdZb0FnQWdCQ2dDTkNJRlNRUkFJQVJCQ0dvaEJ3VWdBQ2dDeEFNb0Fnd2hCU0FBSUFSQkNHb2lCeUFGUVQ5eFFZb0JhaEVDQUFSL0lBWkJBRFlDQUNBRUtBSTBCUThMSVFVTElBQW9Bc2dES0FJRUlRUWdBQ0FISUFZZ0JTQUJJQUlnQXlBRVFRZHhRZUlHYWhFTkFBdVZCd0VQZnlBQUtBTEFBeUlFS0FJNFJRUkFJQUFvQXNRREtBSU1JUWdnQUNBRVFUeHFJQVFvQWtSQkFuUnFLQUlBSUFoQlAzRkJpZ0ZxRVFJQUJFQWdCRUVCTmdJNElBUWdCQ2dDVEVFQmFqWUNUQVVQQ3dzQ1FBSkFBa0FDUUFKQUFrQWdCQ2dDU0E0REFRSUFBd3NnQUNnQ3lBTW9BZ1FoQlNBQUlBUkJQR29nQkNnQ1JFRUNkR29vQWdBZ0JFRXdhaUlJSUFSQk5Hb2lDaWdDQUNBQklBSWdBeUFGUVFkeFFlSUdhaEVOQUNBSUtBSUFJQW9vQWdCSkJFQVBDeUFFUVFBMkFrZ2dBaWdDQUNBRFNRMEREd3NnQkVFd2FpRUlJQVJCTkdvaENnd0NDeUFFUVRCcUlRZ2dCRUUwYWlFS0RBSUxEd3NnQ0VFQU5nSUFJQW9nQUNnQ3lBSWlEa0YvYWpZQ0FDQUVLQUpNSUFBb0Fzd0NSZ1JBSUFBb0FzQURJUXNnQUNnQ0pDSVBRUUJLQkVBZ0MwRThhaUFMS0FKRVFRSjBhaUVRSUFBb0F0Z0JJUVVEUUNBRktBSU1JQVVvQWloc0lnY2dEaEE1SVFZZ0J5QUZLQUl3SUFjUVRpSUhJQWRGR3lFSElBbEZCRUFnQ3lBSFFYOXFJQVlRT1VFQmFqWUNOQXNnRUNnQ0FDQUpRUUowYWlnQ0FDRU5JQVpCQVhRaEVTQUdRUUJLQkVBZ0IwRi9ha0VDZENBTmFpRU1RUUFoQmdOQUlBWWdCMnBCQW5RZ0RXb2dEQ2dDQURZQ0FDQUdRUUZxSWdZZ0VVZ05BQXNMSUFWQjJBQnFJUVVnQ1VFQmFpSUpJQTlIRFFBTEN3c2dCRUVCTmdKSUN5QUFLQUxJQXlnQ0JDRUZJQUFnQkVFOGFpQUVLQUpFUVFKMGFpZ0NBQ0FJSUFvb0FnQWdBU0FDSUFNZ0JVRUhjVUhpQm1vUkRRQWdDQ2dDQUNBS0tBSUFTUVJBRHdzZ0JDZ0NURUVCUmdSQUlBQW9Bc0FESVFzZ0FDZ0N5QUloQVNBQUtBSWtJZ2RCQUVvRVFDQUxRVUJySVEwZ0FVRUJhaUVPSUFGQkFtb2hEeUFBS0FMWUFTRUNRUUFoQXdOQUlBSW9BZ3dnQWlnQ0tHd2dBUkE1SVFVZ0N5Z0NQQ0FEUVFKMGFpZ0NBQ0VKSUEwb0FnQWdBMEVDZEdvb0FnQWhCaUFGUVFCS0JFQWdCU0FPYkNFUUlBVWdEMndoRVVFQUlRQURRQ0FBSUFWcklneEJBblFnQ1dvZ0FDQVFhaUlTUVFKMElBbHFLQUlBTmdJQUlBeEJBblFnQm1vZ0VrRUNkQ0FHYWlnQ0FEWUNBQ0FBSUJGcUlneEJBblFnQ1dvZ0FFRUNkQ0FKYWlnQ0FEWUNBQ0FNUVFKMElBWnFJQUJCQW5RZ0Jtb29BZ0EyQWdBZ0FFRUJhaUlBSUFWSERRQUxDeUFDUWRnQWFpRUNJQU5CQVdvaUF5QUhSdzBBQ3dzRklBQW9Bc2dDSVFFTElBUWdCQ2dDUkVFQmN6WUNSQ0FFUVFBMkFqZ2dDQ0FCUVFGcU5nSUFJQW9nQVVFQ2FqWUNBQ0FFUVFJMkFrZ0w2UU1CRUg4Z0FDZ0N3QU1oQWdKQUFrQUNRQ0FCRGdNQUFnRUNDeUFBS0FMY0F5Z0NDRVVFUUNBQ1FSRTJBZ1FnQWlBQ0tBSTBOZ0l3RHdzZ0FrRVFOZ0lFSUFBb0FzZ0NJUVFnQUNnQ0pDSUxRUUJLQkVBZ0FrRkFheUVNSUFSQkFtb2hEU0FFUVg1cUlRNGdBQ2dDMkFFaEJVRUFJUUFEUUNBRktBSU1JQVVvQWloc0lBUVFPU0VESUFJb0Fqd2dBRUVDZEdvb0FnQWhCaUFNS0FJQUlBQkJBblJxS0FJQUlRY2dBa0VJYWlBQVFRSjBhaWdDQUNFSUlBTWdEV3dpQ1VFQVNnUkFRUUFoQVFOQUlBRkJBblFnQjJvZ0FVRUNkQ0FJYWlnQ0FDSUtOZ0lBSUFGQkFuUWdCbW9nQ2pZQ0FDQUJRUUZxSWdFZ0NVY05BQXNMSUFOQkFYUWhDU0FEUVFCS0JFQWdBeUFFYkNFS0lBTWdEbXdoRDBFQUlRRURRQ0FCSUE5cUloQkJBblFnQjJvZ0FTQUthaUlSUVFKMElBaHFLQUlBTmdJQUlCRkJBblFnQjJvZ0VFRUNkQ0FJYWlnQ0FEWUNBQ0FCUVFGcUlnRWdDVWdOQUF0QkFDRUJBMEFnQVNBRGEwRUNkQ0FHYWlBR0tBSUFOZ0lBSUFGQkFXb2lBU0FEUncwQUN3c2dCVUhZQUdvaEJTQUFRUUZxSWdBZ0MwY05BQXNMSUFKQkFEWUNSQ0FDUVFBMkFrZ2dBa0VBTmdKTUlBSkJBRFlDT0E4TElBSkJFallDQkE4TElBQW9BZ0FpQVVFRE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF1QkJBRUpmeUFBSUFCQkFVSFFBQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0lFTmdMQUF5QUVRVE0yQWdBZ0FDZ0N5QUloQWlBQUtBTGNBeWdDQ0FSL0lBSkJBa2dFUUNBQUtBSUFJZ05CTURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFDQUFLQUxJQWlFQ0N5QUFLQUxBQXlJRElBQkJBU0FBUVNScUlnWW9BZ0JCQTNRZ0FDZ0NCQ2dDQUVFL2NVSEtBV29SQkFBaUFUWUNQQ0FEUVVCcklnY2dBU0FBS0FJa0lnRkJBblJxTmdJQUlBRkJBRW9FUUNBQ1FRUnFJUWdnQUNnQzJBRWhBa0VBSVFFRGZ5QUFRUUVnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SWdVZ0NHd2lDVUVEZENBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNBRlFRSjBhaUVGSUFNb0Fqd2dBVUVDZEdvZ0JUWUNBQ0FIS0FJQUlBRkJBblJxSUFsQkFuUWdCV28yQWdBZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pDSUZTQTBBSUFVTElRRUxJQUFvQXNnQ0lnVkJBbW9oQWlBQklRTWdCUVVnQkNBQ05nSTBJQUJCSkdvaEJpQUFLQUlrSVFNZ0Fnc2hBU0FEUVFCTUJFQVBDeUFFUVFocUlRVkJBQ0VESUFBb0F0Z0JJUVFEUUNBRUtBSU1JQVFvQWloc0lBRVFPU0VCSUFOQkFuUWdCV29nQUVFQklBUW9BaHdnQkNnQ0pHd2dBU0FDYkNBQUtBSUVLQUlJUVE5eFFZb0NhaEVKQURZQ0FDQURRUUZxSWdNZ0JpZ0NBRWdFUUNBRVFkZ0FhaUVFSUFBb0FzZ0NJUUVNQVFzTEM4SUJBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUVjSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBc2dESUFKQk1qWUNBQ0FDUVFBMkFnZ2dBa0VBTmdJTUlBQW9BbFJGQkVBUEN5QUNJQUFvQXNBQ0lnTTJBaEFnQUNnQ0JDRUVJQUVFUUNBRUtBSVFJUUVnQWlBQVFRRkJBQ0FBS0FKd0lBQW9BbmhzSUFBb0FuUWdBeEQ0QVNBQ0tBSVFJQUZCUDNGQnhnSnFFUW9BTmdJSUJTQUVLQUlJSVFFZ0FpQUFRUUVnQUNnQ2NDQUFLQUo0YkNBRElBRkJEM0ZCaWdKcUVRa0FOZ0lNQ3d1aEJBRU1meUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJvQUVnQVVFL2NVSEtBV29SQkFBaUFqWUMzQU1nQWtHR0FUWUNBQ0FDUVFNMkFnUWdBa0VBTmdJSUlBQW9BclFDQkVBZ0FDZ0NBQ0lCUVJvMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUtBSWtRUUJNQkVBUEN5QUNRZVFBYWlFSklBSkJOR29oQlNBQ1FReHFJUW9nQWtHTUFXb2hDeUFDUVpZQmFpRU1JQUFvQXRnQklRSkJBQ0VCQTBBZ0FpZ0NDQ0FDS0FJa2JDQUFLQUxFQWhBNUlRY2dBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJUVlnQUNnQ3ZBSWhCQ0FBS0FMQUFpRUlJQUZCQW5RZ0NXb2dCallDQUNBQ0tBSTBCRUFDUUNBR0lBaEdJZ01nQkNBSFJuRUVRQ0FCUVFKMElBVnFRUXcyQWdBTUFRc2dBeUFFSUFkQkFYUkdJZ054QkVBZ0FVRUNkQ0FGYWtFTk5nSUFCUUpBSUFNZ0NDQUdRUUYwUm5FRVFDQUJRUUowSUFWcVFRNDJBZ0FNQVFzZ0JDQUhJQVFnQnhBNUlnUnNhMFVFUUNBSUlBWWdDQ0FHRURraUEyeHJSUVJBSUFGQkFuUWdCV3BCRHpZQ0FDQUJJQXRxSUFRNkFBQWdBU0FNYWlBRE9nQUFEQUlMQ3lBQUtBSUFJZ05CSnpZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFNZ0FVRUNkQ0FLYWlBQVFRRWdBQ2dDY0NBQUtBSzhBaEQ0QVNBQUtBTEFBaUFEUVE5eFFZb0NhaEVKQURZQ0FBc0ZJQUZCQW5RZ0JXcEJDellDQUFzZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pFZ05BQXNMa2hBQkJuOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQVRZQzRBTWdBVUdGQVRZQ0FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVCQWdJQkFRTUxJQUFvQWlSQkFVY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQU1MSUFBb0FpUkJBMGNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFJTElBQW9BaVJCQkVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBRUxJQUFvQWlSQkFVZ0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FLd0FnUkFBa0FDUUNBQUtBSW9RUUpyRGdVQkFBQUFBUUFMSUFBb0FnQWlBa0VjTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNMQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQWtFQmF3NEdBQUVFQXdRQ0JBc2dBRUVCTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUFBZ0lDQUFJTElBRkJKallDQkNBQUtBSWtJZ0pCQVV3TkJ5QUFLQUxZQVNFRFFRRWhBUU5BSUFGQjJBQnNJQU5xUVFBMkFqUWdBVUVCYWlJQklBSklEUUFMREFJTEFrQUNRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVuTmdJRURBSUxJQUZCS0RZQ0JBd0JDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBS0FMZ0F5QUFRUUZCZ0JnZ0FVRS9jVUhLQVdvUkJBQWlBallDR0VFQUlRRURRQ0FCUVFKMElBSnFJQUZCaTVrQmJEWUNBQ0FCUVlBQ2FrRUNkQ0FDYWlBQlFjYXNBbXcyQWdBZ0FVR0FCR3BCQW5RZ0Ftb2dBVUd2T214QmdJQUNhallDQUNBQlFRRnFJZ0ZCZ0FKSERRQUxEQUVMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3d3RUN5QUFRUU0yQW5nQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQU1CQkFRRUFnUUxJQUZCS1RZQ0JBd0lDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dEQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkIwNXNMYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrSEVsZzVzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FkMmtlbXcyQWdBZ0FVRUNkQ0FEYWlBQ1FjMmZmV3hCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N3SkFBa0FDUUNBQUtBS3dBZzRDQUFFQ0N5QUJRU3MyQWdRTUJ3c2dBVUVzTmdJRURBWUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1CQXNNQXdzZ0FFRUROZ0o0SUFBb0FpaEJCa2NFUUNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQXdzQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRXJOZ0lFREFRTElBRkJMRFlDQkF3REN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUFnc2dBRUVFTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVFYXc0Q0FRQUNDeUFCUVMwMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3lBQlFTNDJBZ1FNQXdzZ0FDZ0NBQ0lCUVJ3MkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFJTERBRUxJQUFvQWlnZ0FrWUVRQ0FBSUFBb0FpUTJBbmdnQVVFdU5nSUVCU0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKVUJFQWdBRUVCTmdKOER3c2dBQ0FBS0FKNE5nSjhDODRFQVFkL0lBQW9BZ1FvQWdBaEFTQUFJQUJCQVVFd0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQXR3RElBRkJoQUUyQWdBZ0FVRUFOZ0lJSUFFZ0FDZ0NlQ0FBS0FKd2JDSUNOZ0lvSUFBb0FzQUNRUUpHQkVBZ0FVRUJOZ0lFSUFGQkNUWUNEQ0FBS0FJRUtBSUVJUU1nQVNBQVFRRWdBaUFEUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUxjQXlFQkJTQUJRUUkyQWdRZ0FVRUtOZ0lNSUFGQkFEWUNJQXNDZnlBQUtBSW9RUWRHSVFjZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lRSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNGQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoZ2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdJMkFod2dBU2dDRUNFRElBRW9BaFFoQkNBQktBSVlJUVVnQndzRVFFRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhUbXd0c1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRY1NXRG14QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkIzYVI2YkRZQ0FDQUFRUUowSUFKcUlBRkJ6Wjk5YkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEJVRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhwelFWc1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRYUtMQjJ4QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkJycEo5YkRZQ0FDQUFRUUowSUFKcUlBRkI1ODkrYkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEN3dkhBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCTENBQlFUOXhRY29CYWhFRUFDSUROZ0xrQXlBRFFURTJBZ0FnQTBHREFUWUNEQ0FEUVFBMkFpQWdBMEVBTmdJb0lBQW9BbmhCQTBjRVFDQUFLQUlBSWdGQk1EWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQURJQUJCQVVHQUFTQUJRVDl4UWNvQmFoRUVBRFlDR0VFQUlRRURRQ0FBS0FJRUtBSUVJUUlnQUVFQlFZQWdJQUpCUDNGQnlnRnFFUVFBSVFJZ0F5Z0NHQ0FCUVFKMGFpQUNOZ0lBSUFGQkFXb2lBVUVnUncwQUN5QURRUUUyQWh3Z0FDZ0NiQVJBSUFBb0FtQWlBVUVJU0FSQUlBQW9BZ0FpQWtFNk5nSVVJQUpCQ0RZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lDUVRzMkFoUWdBa0dBQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRSWdBeUFBUVFFZ0FVRURJQUpCRDNGQmlnSnFFUWtBTmdJUUlBTWdBVFlDRkFVZ0EwRUFOZ0lRQ3lBQUtBSllSUVJBRHdzZ0FFRUNOZ0pZSUFBb0FnUW9BZ1FoQVNBRElBQkJBU0FBS0FKd1FRWnNRUXhxSUFGQlAzRkJ5Z0ZxRVFRQU5nSWdJQUFRcEFNTGpRa0JEMzhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRZGdBSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdVFESUFGQk1EWUNBQ0FCUVlFQk5nSUlJQUZCZ2dFMkFnd2dBVUVBTmdKRUlBRkJBRFlDTkNBQUtBSjRRUVJLQkVBZ0FDZ0NBQ0lCUVRrMkFoUWdBVUVFTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0NZQ0lGUVlBQ1NnUkFJQUFvQWdBaUFVRTdOZ0lVSUFGQmdBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQW1BaEJRc2dBQ2dDNUFNaEJ5QUFLQUo0SWdaQkFVb0VRRUVCSVFFRGYwRUJJUU1nQVVFQmFpSUVJUUlEUUNBQ0lBUnNJUUlnQTBFQmFpSURJQVpIRFFBTElBSWdCVW9FZnlBQ0lRTWdBUVVnQkNFQkRBRUxDeUVDQlNBRlFRRWdCVUVCU2hzaUFrRUJhaUVEQ3lBQ1FRSkpCRUFnQUNnQ0FDSUJRVG8yQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQmtFQVNnUkFRUUVoQVVFQUlRTURRQ0FIUVNCcUlBTkJBblJxSUFJMkFnQWdBU0FDYkNFQklBTkJBV29pQXlBR1J3MEFDd0pBSUFBb0FpeEJBa1lFUUVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMFFkU0hBV29vQWdCQkFuUnFJZ2tvQWdBaUJFRUJhaUVJQWtBQ1FDQUJJQVFRT1NBSWJDSUVJQVZLRFFBZ0NTQUlOZ0lBSUFOQkFXb2lBeUFHU0FSL1FRRWhBaUFFQlVFQklRSWdCQ0VCREFFTElRRU1BUXNnQWtVTkEwRUFJUU5CQUNFQ0N3d0FBQXNBQlVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMGFpSUpLQUlBSWdSQkFXb2hDQUpBQWtBZ0FTQUVFRGtnQ0d3aUJDQUZTZzBBSUFrZ0NEWUNBQ0FEUVFGcUlnTWdCa2dFZjBFQklRSWdCQVZCQVNFQ0lBUWhBUXdCQ3lFQkRBRUxJQUpGRFFOQkFDRURRUUFoQWdzTUFBQUxBQXNBQ3lBQklRSUZRUUVoQWdzZ0FDZ0NBQ0VCSUFBb0FuaEJBMFlFUUNBQklBSTJBaGdnQVNBSEtBSWdOZ0ljSUFFZ0J5Z0NKRFlDSUNBQklBY29BaWcyQWlRZ0FVSGdBRFlDRkNBQktBSUVJUUVGSUFGQjRRQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBUXNnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUFvQWdRb0FnZ2hBU0FBUVFFZ0FpQUFLQUo0SUFGQkQzRkJpZ0pxRVFrQUlRb2dBQ2dDZUNJQlFRQktCRUJCQUNFRUlBSWhBd05BSUFNZ0IwRWdhaUFFUVFKMGFpZ0NBQ0lKRURraEJTQUpRUUJLQkVBZ0NVRi9haUlMUVFJUU9TRU1JQVJCQW5RZ0Ntb2hEU0FGUVFCS0JFQkJBQ0VHQTBBZ0JTQUdiQ0lCSUFKSUJFQWdEQ0FHUWY4QmJHb2dDeEE1UWY4QmNTRU9BMEJCQUNFSUEwQWdEU2dDQUNBQklBaHFhaUFPT2dBQUlBVWdDRUVCYWlJSVJ3MEFDeUFCSUFOcUlnRWdBa2dOQUFzTElBa2dCa0VCYWlJR1J3MEFDeUFBS0FKNElRRUxDeUFFUVFGcUlnUWdBVWdFUUNBRklRTU1BUXNMQ3lBSElBbzJBaEFnQnlBQ05nSVVJQUFRb1FNZ0FDZ0NXRUVDUndSQUR3c2dBQ2dDNUFNaEFpQUFLQUp3SVE4Z0FDZ0NlRUVBVEFSQUR3c2dEMEVCZEVFRWFpRURRUUFoQVFOQUlBQW9BZ1FvQWdRaEJDQUNRY1FBYWlBQlFRSjBhaUFBUVFFZ0F5QUVRVDl4UWNvQmFoRUVBRFlDQUNBQlFRRnFJZ0VnQUNnQ2VFZ05BQXNMMndVQkQzOGdBQ2dDRkNJQ1Fjb0JSd1JBSUFBb0FnQWlBVUVWTmdJVUlBRWdBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBUWtRWWdBQ2dDMkFFaEJDQUFLQUlrSWd4QkFFb2lEZ1IvSUFBb0FzZ0NJUUlnQUNnQ3hBSWlDRUVJUVFRZ0FDZ0NUQnNpQ1VvRVFDQUNJQWxLSVEwZ0NFRUJkQ0VESUFRaEFRTkFJQUVpQnlBSU5nSWtJQTBFUUNBQ0lRRUZBa0FnQUNnQ3dBSWhDaUFIS0FJTUlRdEJBU0VHSUFJaEFRTkFJQW9nQmtFQmRDSUdJQXRzRUU4TkFTQUNJQVpzSWdFZ0NVd05BQXNMQ3lBSElnWWdBVFlDS0NBSUlBRkJBWFFpQ2tvRVFDQUhJQW8yQWlRRklBRWdBMG9FUUNBR0lBTTJBaWdMQ3lBR1FkZ0FhaUVCSUFWQkFXb2lCU0FNU0EwQUN3VWdBQ2dDdkFJaERTQUNJQWxLSVFvZ0JDRUJBMEFnQVNnQ0NDRURRUUVoQlNBSUlRY0RRQ0FOSUFNZ0JVRUJkQ0lGYkJCUFJRUkFJQVVnQ0d3aUJ5QUpUQTBCQ3dzZ0FTSUZJQWMyQWlRZ0NnUkFJQUloQVFVQ1FDQUFLQUxBQWlFTElBVW9BZ3doRDBFQklRTWdBaUVCQTBBZ0N5QVBJQU5CQVhRaUEyd1FUdzBCSUFJZ0Eyd2lBU0FKVEEwQUN3c0xJQVVpQXlBQk5nSW9JQWNnQVVFQmRDSUxTZ1JBSUFVZ0N6WUNKQVVnQVNBSFFRRjBJZ0ZLQkVBZ0F5QUJOZ0lvQ3dzZ0EwSFlBR29oQVNBR1FRRnFJZ1lnREVnTkFBc0xJQTRFZjBFQUlRSURmeUFFSUFRb0FpUWdBQ2dDSENBRUtBSUliR3dnQUNnQ3ZBSWdBQ2dDckFOc0VHZzJBaXdnQkNBRUtBSW9JQUFvQWlBZ0JDZ0NER3hzSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0l3SUFSQjJBQnFJUVFnQWtFQmFpSUNJQUFvQWlRaUFVZ05BQ0FCQ3dVZ0RBc0ZJQXdMSVFJQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQVVFQmF3NEhBQUVDQXdNQkFnUUxJQUVoQWd3REMwRURJUUlNQWd0QkF5RUNEQUVMUVFRaEFnc2dBQ0FDTmdKNElBQkJBU0FDSUFBb0FsUWJOZ0o4SUFBUXBnTkZCRUFnQUVFQk5nS0FBUThMSUFBZ0FDZ0N3QUkyQW9BQkN6c0JBbjhnQUNnQ3ZBTWhBU0FBS0FKVUJFQWdBQ2dDNUFNb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBU0FCS0FJTVFRRnFOZ0lNQzVBRUFRTi9JQUFvQXJ3RElnSW9BZ2dFUUNBQ1FRQTJBZ2dnQUNnQzVBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3lBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FGSUFBb0FsUUVRQ0FBS0FLSUFVVUVRQUpBSUFBb0Fsd0VRQ0FBS0FKc0JFQWdBQ0FDS0FJWU5nTGtBeUFDUVFFMkFnZ01BZ3NMSUFBb0FtUUVRQ0FBSUFJb0FoUTJBdVFEQlNBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3dzTElBQW9BdGdES0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N4QU1vQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSkVSUVJBSUFJb0FoQkZCRUFnQUNnQzRBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzNBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKVUJFQWdBQ2dDNUFNb0FnQWhBU0FBSUFJb0FnZ2dBVUUvY1VHeUJXb1JBd0FMSUFBb0FzZ0RLQUlBSVFFZ0FFRURRUUFnQWlnQ0NCc2dBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FMQ3lBQUtBSUlJZ0ZGQkVBUEN5QUJJQUlvQWd3aUF6WUNEQ0FCSUFOQkFrRUJJQUlvQWdnYmFpSUNOZ0lRSUFCQlFHc29BZ0JGQkVBUEN5QUFLQUxNQXlnQ0ZBUkFEd3NnQVNBQ1FRSkJBU0FBS0FKc0cybzJBaEFMOHdZQkJIOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQWpZQ3ZBTWdBa0gvQURZQ0FDQUNRWUFCTmdJRUlBSkJBRFlDQ0NBQUtBTFVBU0lCUVFoSEJFQWdBQ2dDQUNJRFFSQTJBaFFnQXlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQkQzQlNBQUtBSUVLQUlBSVFFZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnTkJBRUdBQkJCRkdpQUFJQU5CZ0FScUlnUTJBdEFDUVFBaEFRTkFJQUVnQkdvZ0FUb0FBQ0FCUVFGcUlnRkJnQUpIRFFBTElBTkJnQVpxUVg5QmdBUVFSUm9DUUFKQUlBQW9BblJGRFFBZ0FDZ0NjRVVOQUNBQVFmZ0FhaUlES0FJQVFRRklEUUFNQVFzZ0FDZ0NBQ0lCUVNFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQitBQnFJUU1MSUFKQkFEWUNEQ0FDSUFBUXBnTTJBaEFnQWtFQU5nSVVJQUpCQURZQ0dDQUFLQUpVQkVBQ1FDQUFRVUJyS0FJQVJRUkFJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzQ3lBQVFjUUFhaUlCS0FJQUJFQWdBQ2dDQUNJRVFUQTJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURLQUlBUVFOR0JFQUNRQ0FBS0FLSUFRUkFJQUJCQVRZQ2FBd0JDeUFBS0FKY0JFQWdBRUVCTmdKc0JTQUFRUUUyQW1RTEN3VWdBRUVCTmdKa0lBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nS0lBUXNnQUNnQ1pBUkFJQUFROWdVZ0FpQUFLQUxrQXpZQ0ZBc2dBQ2dDYkVVRVFDQUFLQUpvUlEwQkN5QUFFUFVGSUFJZ0FDZ0M1QU0yQWhnTEJTQUFRUUEyQW1RZ0FFRUFOZ0pvSUFCQkFEWUNiQ0FBUWNRQWFpRUJDeUFCS0FJQVJRUkFJQUlvQWhBRVFDQUFFUFFGQlNBQUVQTUZJQUFROGdVTElBQWdBQ2dDYkJEeEJRc2dBQkRIQmlBQUtBTGtBUVJBSUFBUWl3WUZJQUFRbXdZTElBQWdBQ2dDekFNb0FoQUVmMEVCQlNBQVFVQnJLQUlBUVFCSEN4Q0tCaUFCS0FJQVJRUkFJQUFROEFVTElBQW9BZ1FvQWhnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTE1BeWdDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FnZ2lBVVVFUUE4TElBQkJRR3NvQWdBRVFBOExJQUFvQXN3REtBSVFSUVJBRHdzZ0FDZ0NKQ0lESUFOQkEyeEJBbW9nQUNnQzRBRkZHeUVESUFGQkFEWUNCQ0FCSUFNZ0FDZ0N6QUpzTmdJSUlBRkJBRFlDRENBQlFRTkJBaUFBS0FKc0d6WUNFQ0FDSUFJb0FneEJBV28yQWd3TC9nUUJCWDhDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NGQ0lCUWNvQmF3NERBQU1CQWdzZ0FCRDZCU0FBUVVCcktBSUFSUVJBSUFCQnl3RTJBaFFNQXdzZ0FFSFBBVFlDRkVFQkR3c2dBRUc4QTJvaEF3d0RDeUFBS0FJQUlnSkJGVFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUVMSUFBb0Fzd0RLQUlRQkVBQ1FDQUFLQUlJSVFFRFFBSkFJQUVFUUNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3REtBSUFJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0lPQXdFQUF3QUxJQUpCQW5KQkEwWWdBQ2dDQ0NJQlFRQkhjUVJBSUFFZ0FTZ0NCRUVCYWlJQ05nSUVJQUlnQVNnQ0NDSUNUZ1JBSUFFZ0FpQUFLQUxNQW1vMkFnZ0xDd3dCQ3dzZ0FnOExDeUFBSUFBb0FwQUJOZ0tZQVFzZ0FFRzhBMm9oQXlBQUtBSVVRY3dCUndSQUlBTW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQVFRQTJBb3dCSUFCQnpBRTJBaFFMQ3lBREtBSUFJZ0VvQWdnRVFBSkFJQUJCakFGcUlnVW9BZ0FoQWdOQUFrQWdBaUFBS0FKMElnUkpCRUFnQWlFQklBUWhBZ05BSUFBb0FnZ2lCQVIvSUFRZ0FUWUNCQ0FFSUFJMkFnZ2dCQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFVb0FnQUZJQUVMSVFJZ0FDZ0N3QU1vQWdRaEFTQUFRUUFnQlVFQUlBRkJIM0ZCK2dWcUVRY0FJQVVvQWdBaUFTQUNSZzBDSUFFZ0FDZ0NkQ0lDU1EwQUN5QURLQUlBSVFFTElBRW9BZ1FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FES0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCVUVBTmdJQUlBTW9BZ0FpQVNnQ0NFVU5Ba0VBSVFJTUFRc0xRUUFQQ3dzZ0FFSE9BVUhOQVNBQUtBSkVHellDRkVFQkMxQUJBMzlCZnlFQkEwQUNRQUpBQWtBZ0FDQUNhaXdBQUNJREJFQWdBMEV1UmdSQURBSUZEQU1MQUFzTUFnc2dBaUVCQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQUlBRnFRUUE2QUFBTEM4b0pBUTEvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVOSUFBb0F2QUNRUUJNQkVCQkFROExJQVZCdkFGcUlRNENRQUpBQTBBQ1FDQUlRUUowSUFGcUtBSUFJUXdnQUNBRlFUeHFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWd0QkFuUnFLQUlBSWdZb0FoUWlCMEVDZEdvaUF5Z0NBQ0FGUVNocUlBdEJBblJxSWdrb0FnQnFJZ0lRWFFSQUlBQWdBQ0FDUVFGcUVGMGlDaUFDUVFKcWFpSUVFRjBpQWdSQUlBQWdBeWdDQUVFVWFpSUVFRjBFUUFOQUlBSkJBWFFpQWtHQWdBSkdEUVFnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZRUUFoQWdzZ0NTQUNRUUVnQnlBQVFlZ0JhbW90QUFCMFFRRjFTQVIvUVFBRklBcEJBblFoQXlBQ1FRRWdCeUFBUWZnQmFtb3RBQUIwUVFGMVNnUi9JQU5CREdvRklBTkJCR29MQ3pZQ0FDQUVRUTVxSVFNZ0FrRUJkU0lFQkVBRFFDQUNJQVJCQUNBQUlBTVFYUnR5SVFJZ0JFRUJkU0lFRFFBTEN5QUZRUmhxSUF0QkFuUnFJZ1FvQWdBZ0FrRi9jeUFDUVFGcUlBb2JhaUVDSUFRZ0FqWUNBQVVnQ1VFQU5nSUFJQVZCR0dvZ0MwRUNkR29vQWdBaEFnc2dEQ0FDT3dFQUlBQW9BclFEQkVBQ1FDQUZRZndBYWlBR0tBSVlJZ0pCQW5ScUlRY2dBaUFBUVlnQ2Ftb2hDVUVBSVFRRFFDQUFJQWNvQWdBZ0JFRURiR29pQXhCZERRRWdCRUVCYWlFQ0lBQWdBMEVCYWhCZEJFQWdCQ0VHSUFJaEJBVWdBeUVHQTM4Z0FpQUFLQUswQTA0TkNDQUdRUU5xSVFNZ0FrRUJhaUVFSUFBZ0JrRUVhaEJkQkg4Z0FnVWdBeUVHSUFRaEFnd0JDd3NoQmdzZ0FDQU9FRjBoQ2lBQUlBTkJBbW9pQXhCZElnSUVRQ0FBSUFNUVhRUkFJQUpCQVhRaEFpQUFJQWNvQWdCQnZRRkIyUUVnQmlBSkxRQUFTQnRxSWdNUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkNpQUFJQU5CQVdvaUF4QmREUUFMQ3dzZ0EwRU9haUVHSUFKQkFYVWlBd1JBQTBBZ0FpQURRUUFnQUNBR0VGMGJjaUVDSUFOQkFYVWlBdzBBQ3dzRlFRQWhBZ3NnQkVFQ2RDQU5haWdDQUVFQmRDQU1haUFDUWYvL0EzTWdBa0VCYWlBS0d6c0JBQ0FFSUFBb0FyUURTQTBBQ3dzTElBaEJBV29pQWlBQUtBTHdBazROQWlBQ0lRZ01BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXU2QmdFTmZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDc0FNaEJpQUJLQUlBSVFjZ0FDZ0MyQUlvQWhnaEFrRUJJQUFvQXFnRElnRjBJUWhCZnlBQmRDRUpJQUFvQXFBRElRRURmd0ovSUFFZ0FVRUNkQ0FHYWlnQ0FFRUJkQ0FIYWk0QkFBMEFHaUFCUVg5cUlnRU5BVUVBQ3dzaEJTQURRZndBYWlBQ1FRSjBhaUVLSUFOQnZBRnFJUXNnQ0VILy93TnhJUXdnQ1VILy93TnhJUTBnQUNnQ25BTkJmMm9oQVFKQUEwQUNRQ0FLS0FJQUlBRkJBMnhxSVFJZ0FTQUZUZ1JBSUFBZ0FoQmREUU1MQWtBQ1FDQUJRUUZxSWdGQkFuUWdCbW9vQWdCQkFYUWdCMm9pQkM0QkFBMEFBMEFnQUNBQ1FRRnFFRjFGQkVBZ0FTQUFLQUtnQTA0TkJDQUNRUU5xSVFJZ0FVRUJhaUlCUVFKMElBWnFLQUlBUVFGMElBZHFJZ1F1QVFCRkRRRU1BZ3NMSUFBZ0N4QmRCRUFnQkNBTk93RUFCU0FFSUF3N0FRQUxEQUVMSUFBZ0FrRUNhaEJkQkVBZ0JDNEJBQ0lPSVFJZ0RrRUFTQVJBSUFRZ0FpQUphanNCQUFVZ0JDQUNJQWhxT3dFQUN3c0xJQUVnQUNnQ29BTklEUUVNQWdzTElBQW9BZ0FpQVVIMUFEWUNGQ0FCS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBTkJmellDRkVFQkR3dEJBUXZqQXdFRWZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFBb0FxZ0RJUUlnQUNnQzhBSkJBRXdFUUVFQkR3c2dBMEc4QVdvaEEwRUJJQUowSVFSQkFDRUNBMEFnQUNBREVGMEVRQ0FDUVFKMElBRnFLQUlBSWdVZ0JDQUZMd0VBY2pzQkFBc2dBa0VCYWlJQ0lBQW9BdkFDU0EwQUMwRUJDODBHQVFwL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFSElBRW9BZ0FoQ0NBRlFmd0FhaUFBS0FMWUFpZ0NHQ0lCUVFKMGFpRUdJQVZCdkFGcUlRa2dBU0FBUVlnQ2Ftb2hDaUFBS0FLY0EwRi9haUVDQWtBQ1FBTkFBa0FnQUNBR0tBSUFJQUpCQTJ4cUlnTVFYUTBDSUFKQkFXb2hBU0FBSUFOQkFXb1FYUVJBSUFJaEJDQUJJUUlGQTM4Z0FTQUFLQUtnQTA0TkFpQURRUU5xSVFRZ0FVRUJhaUVDSUFBZ0EwRUVhaEJkQkg4Z0JDRURJQUVGSUFRaEF5QUNJUUVNQVFzTElRUUxJQUFnQ1JCZElRc2dBQ0FEUVFKcUlnTVFYU0lCQkVBZ0FDQURFRjBFUUNBQlFRRjBJUUVnQUNBR0tBSUFRYjBCUWRrQklBUWdDaTBBQUVnYmFpSUVFRjBFUUFOQUlBRkJBWFFpQVVHQWdBSkdEUWNnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZJQU1oQkFzZ0JFRU9haUVESUFGQkFYVWlCQVJBQTBBZ0FTQUVRUUFnQUNBREVGMGJjaUVCSUFSQkFYVWlCQTBBQ3dzRlFRQWhBUXNnQWtFQ2RDQUhhaWdDQUVFQmRDQUlhaUFCUVg5eklBRkJBV29nQ3hzZ0FDZ0NxQU4wT3dFQUlBSWdBQ2dDb0FOSURRRU1BZ3NMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXZrQmdFTGZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCQ2dDRkVFQ2RHb29BZ0FpQlVJQU53QUFJQVZDQURjQUNDQUZRZ0EzQUJBZ0JVSUFOd0FZSUFWQ0FEY0FJQ0FGUWdBM0FDZ2dCVUlBTndBd0lBVkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCQ2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDOEFKQkFFd0VRRUVCRHd0QkFDRUZBa0FDUUFOQUFrQWdCVUVDZENBQmFpZ0NBQ0VNSUFBZ0EwRThhaUFBUWRnQ2FpQUFRZlFDYWlBRlFRSjBhaWdDQUNJSFFRSjBhaWdDQUNnQ0ZDSUlRUUowYWlJR0tBSUFJQU5CS0dvZ0IwRUNkR29pQ1NnQ0FHb2lBaEJkQkVBZ0FDQUFJQUpCQVdvUVhTSUtJQUpCQW1wcUlnUVFYU0lDQkVBZ0FDQUdLQUlBUVJScUlnUVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5CQ0FBSUFSQkFXb2lCQkJkRFFBTEN3VkJBQ0VDQ3lBSklBSkJBU0FJSUFCQjZBRnFhaTBBQUhSQkFYVklCSDlCQUFVZ0NrRUNkQ0VHSUFKQkFTQUlJQUJCK0FGcWFpMEFBSFJCQVhWS0JIOGdCa0VNYWdVZ0JrRUVhZ3NMTmdJQUlBUkJEbW9oQmlBQ1FRRjFJZ1FFUUFOQUlBSWdCRUVBSUFBZ0JoQmRHM0loQWlBRVFRRjFJZ1FOQUFzTElBTkJHR29nQjBFQ2RHb2lCQ2dDQUNBQ1FYOXpJQUpCQVdvZ0NodHFJUUlnQkNBQ05nSUFCU0FKUVFBMkFnQWdBMEVZYWlBSFFRSjBhaWdDQUNFQ0N5QU1JQUlnQUNnQ3FBTjBPd0VBSUFWQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFVTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQURRWDgyQWhSQkFRdktDUUVKZnlBQUtBTFVBeUVDSUFBb0Fwd0RJZ1pGSVFNZ0FDZ0M0QUVFUUNBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQVpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUdOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUhVQW1vaUJpZ0NBQ0lCUVFCS0JFQWdBRUdrQTJvaEJVRUFJUU1EUUNBQVFkZ0NhaUFEUVFKMGFpZ0NBQ2dDQkNFSUlBQW9BcUFCSVFrZ0FDZ0NuQU1pQVFSQUlBaEJDSFFnQ1dvb0FnQkJBRWdFUUNBQUtBSUFJZ0ZCOWdBMkFoUWdBU0FJTmdJWUlBQW9BZ0JCQURZQ0hDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BcHdESVFFTEJVRUFJUUVMSUFFZ0FDZ0NvQU5NQkVBRFFDQUZLQUlBSUFoQkNIUWdDV29nQVVFQ2RHb2lCQ2dDQUNJSFFRQWdCMEVBU2h0SEJFQWdBQ2dDQUNJSFFmWUFOZ0lVSUFjZ0NEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NCQ0VISUFCQmZ5QUhRVDl4UWJJRmFoRURBQXNnQkNBQUtBS29BellDQUNBQlFRRnFJUVFnQVNBQUtBS2dBMGdFUUNBRUlRRU1BUXNMQ3lBRFFRRnFJZ01nQmlnQ0FDSUJTQTBBQ3dVZ0FFR2tBMm9oQlFzZ0FDZ0NuQU5GSVFNZ0JTZ0NBQVJBSUFNRVFDQUNRUzAyQWdRRklBSkJMallDQkFzRklBTUVRQ0FDUVNzMkFnUUZJQUpCTERZQ0JBc0xCUUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDb0FNaUFVSEFBRWdFUUNBQUtBSzBBeUFCUncwQkN3d0JDeUFBS0FJQUlnRkIvUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQXNnQWtFdk5nSUVJQUJCMUFKcUlnRWhCaUFCS0FJQUlRRUxJQUZCQUV3RVFDQUNRUUEyQWd3Z0FrRUFOZ0lRSUFKQmNEWUNGQ0FDSUFBb0FwZ0NOZ0k0RHd0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQVFvQWhRaUFVRVBTd1JBSUFBb0FnQWlCVUV5TmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFKQlBHb2dBVUVDZEdvaUJTZ0NBQ0lCUlFSQUlBQW9BZ1FvQWdBaEFTQUZJQUJCQVVIQUFDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJQUN5QUJRZ0EzQUFBZ0FVSUFOd0FJSUFGQ0FEY0FFQ0FCUWdBM0FCZ2dBVUlBTndBZ0lBRkNBRGNBS0NBQlFnQTNBREFnQVVJQU53QTRJQUpCR0dvZ0EwRUNkR3BCQURZQ0FDQUNRU2hxSUFOQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUVLQUlZSWdGQkQwc0VRQ0FBS0FJQUlnUkJNallDRkNBRUlBRTJBaGdnQUNnQ0FDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFDUWZ3QWFpQUJRUUowYWlJRUtBSUFJZ0ZGQkVBZ0FDZ0NCQ2dDQUNFQklBUWdBRUVCUVlBQ0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWdBTElBRkJBRUdBQWhCRkdnc2dBMEVCYWlJRElBWW9BZ0JJRFFBTElBSkJBRFlDRENBQ1FRQTJBaEFnQWtGd05nSVVJQUlnQUNnQ21BSTJBamdMbWd3Qk1uOGpCaUVISXdaQmdBRnFKQVlnQUNnQ3hBTWhGeUFBS0FMTUFpRXhJQUFvQXBBQklnUWdBQ2dDbUFFaUJVd0VRQUpBQTBBQ1FDQUFLQUxNQXlJQ0tBSVVEUUlnQkNBRlJnUkFJQUFvQXBRQklBQW9BcHdCSUFBb0Fwd0RSV3BMRFFNTElBQWdBaWdDQUVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDa0FFaUJDQUFLQUtZQVNJRlRBMEJEQUlMQ3lBSEpBWkJBQThMQ3lBeFFYOXFJU29nQUNnQ0pFRUFTZ1IvSUFCQm5BRnFJUndnQUNnQzJBRWhDZ04vSUFvb0FqUUVRQ0FjS0FJQUlnZ2dLa2tFZnlBS0tBSU1JaEZCQVhRaEJTQVJJUVJCQUFVZ0NpZ0NJQ0FLS0FJTUlnUVFUaUlGSUFRZ0JSc2lFU0VGUVFFTElRa2dDQVIvSUFBZ0YwSElBR29nRFVFQ2RHb29BZ0FnQkNBSVFYOXFiQ0FFSUFWcVFRQWdBQ2dDQkNnQ0lFRWZjVUdpQW1vUkNBQWdDaWdDREVFQ2RHb2hGRUVBQlNBQUlCZEJ5QUJxSUExQkFuUnFLQUlBUVFBZ0JVRUFJQUFvQWdRb0FpQkJIM0ZCb2dKcUVRZ0FJUlJCQVFzaEVpQVhLQUp3SUExQkJteEJBblJxSVJNZ0NpZ0NVQ0lFTHdFQUlRZ2dCQzhCQWlFRklBUXZBUkFoQWlBRUx3RWdJUTRnQkM4QkVpRVBJQVF2QVFRaEJDQUFLQUxZQTBFRWFpQU5RUUowYWlnQ0FDRXJJQkZCQUVvRVFDQVNRUUJISVN3Z0NVRUFSeUV0SUJGQmYyb2hMaUFJUVNSc0lSMGdCVUVIZENFZUlBSkJCM1FoSHlBRlFRaDBJU0FnQ0VFSmJDRWhJQTVCQjNRaElpQUNRUWgwSVNNZ0NpRXZJQWhCQld3aE1DQVBRUWQwSVNRZ0RrRUlkQ0VsSUFSQkIzUWhKaUFQUVFoMElTY2dCRUVJZENFb1FRQWhEQ0FOUVFKMElBRnFLQUlBSVJnRFFDQU1RUUowSUJScUtBSUFJUUlnTENBTVJYRUVmeUFDQlNBTVFYOXFRUUowSUJScUtBSUFDeUVWSUFvb0FoeEJmMm9oS1NBdElBd2dMa1p4Qkg4Z0FnVWdERUVCYWtFQ2RDQVVhaWdDQUFzaUdTNEJBQ0lHSVFRZ0FpNEJBQ0lKSVFVZ0ZTNEJBQ0lRSVFoQkFDRWFJQUloRmtFQUlSc0RRQ0FISUJaQmdBRVFUQm9nR2lBcFNRUi9JQmt1QVlBQklRNGdGUzRCZ0FFaER5QVdMZ0dBQVFVZ0JDRU9JQWdoRHlBRkN5RVNJQWN1QVFKRklCTW9BZ1FpQWtFQVIzRUVRQ0FISUIwZ0NTQVNhMndpQTBGL1NnUi9JQU1nSG1vZ0lCQTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNoc0ZRUUFnSGlBRGF5QWdFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHMnNMT3dFQ0N5QUhMZ0VRUlNBVEtBSUlJZ0pCQUVkeEJFQWdCeUFkSUFnZ0JHdHNJZ05CZjBvRWZ5QURJQjlxSUNNUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYkJVRUFJQjhnQTJzZ0l4QTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNodHJDenNCRUFzZ0J5NEJJRVVnRXlnQ0RDSUNRUUJIY1FSQUlBY2dJU0FFSUFnZ0JVRUJkR3RxYkNJRFFYOUtCSDhnQXlBaWFpQWxFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHd1ZCQUNBaUlBTnJJQ1VRT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iYXdzN0FTQUxJQWN1QVJKRklCTW9BaEFpQWtFQVIzRUVRQ0FISURBZ0RpQVFJQVpySUE5cmFtd2lCa0YvU2dSL0lBWWdKR29nSnhBNUlnWkJBU0FDZENJUVFYOXFJQVlnRUVnYklBWWdBa0VBU2hzRlFRQWdKQ0FHYXlBbkVEa2lCa0VCSUFKMEloQkJmMm9nQmlBUVNCc2dCaUFDUVFCS0cyc0xPd0VTQ3lBSExnRUVSU0FUS0FJVUlnSkJBRWR4QkVBZ0J5QWhJQklnQ1NBRlFRRjBhMnBzSWdsQmYwb0VmeUFKSUNacUlDZ1FPU0lKUVFFZ0FuUWlCa0YvYWlBSklBWklHeUFKSUFKQkFFb2JCVUVBSUNZZ0NXc2dLQkE1SWdsQkFTQUNkQ0lHUVg5cUlBa2dCa2diSUFrZ0FrRUFTaHRyQ3pzQkJBc2dBQ0FLSUFjZ0dDQWJJQ3RCUDNGQm1nWnFFUVVBSUJaQmdBRnFJUllnRlVHQUFXb2hGU0FaUVlBQmFpRVpJQnNnTHlnQ0pHb2hHeUFhUVFGcUlob2dLVTBFUUNBSUlUSWdCU0VKSUFRaEJpQU9JUVFnRWlFRklBOGhDQ0F5SVJBTUFRc0xJQW9vQWloQkFuUWdHR29oR0NBTVFRRnFJZ3dnRVVjTkFBc0xDeUFLUWRnQWFpRUtJQTFCQVdvaURTQUFLQUlrU0EwQUlCd0xCU0FBUVp3QmFnc2lBU0FCS0FJQVFRRnFJZ0UyQWdCQkEwRUVJQUVnQUNnQ3pBSkpHeUV6SUFja0JpQXpDNVVHQVJWL0lBQW9BdWdDUVg5cUlRb2dBQ2dDekFJaUFrRi9haUVUSUFBb0FzUURJZ1lvQWhnaUNDQUdLQUljSWdOSUJFQUNRQ0FHUVNCcUlRMGdBRUdVQVdvaERpQURJUUlnQmlnQ0ZDRUhBa0FDUUFOQUFrQWdCeUFLVFFSQUEwQWdBQ2dDdEFNRVFDQU5LQUlBUVFBZ0FDZ0M4QUpCQjNRUVJSb0xJQUFvQXRRREtBSUVJUUlnQUNBTklBSkJQM0ZCaWdGcUVRSUFSUTBDSUFBb0F0UUNJZ0pCQUVvRVFDQUhJQXBKSVJSQkFDRURRUUFoQ3dOQUlBQkIyQUpxSUF0QkFuUnFLQUlBSWdRb0FqUUVRQUpBSUFBb0F0Z0RRUVJxSUFRb0FnUWlCVUVDZEdvb0FnQWhGU0FFUVRocUlnOGdCRUhJQUdvZ0ZCc29BZ0FoRUNBRUtBSW9JUkVnQnlBRUtBSkViQ0VXSUFRb0Fqd2lFa0VBU2dSQUlCQkJBRXdFUUNBUEtBSUFJUWxCQUNFRkEwQWdBeUFKYWlFRElBVkJBV29pQlNBU1NBMEFDd3dDQ3lBRlFRSjBJQUZxS0FJQUlBZ2dFV3hCQW5ScUlRbEJBQ0VNSUFNaEJTQVNJUUlnRVNFREEwQUNRQUpBSUE0b0FnQWdFMGtOQUNBSUlBeHFJQVFvQWt4SURRQU1BUXNnRmlFQ1FRQWhBd05BSUFBZ0JDQUdRU0JxSUFNZ0JXcEJBblJxS0FJQUlBa2dBaUFWUVQ5eFFab0dhaEVGQUNBQ0lBUW9BaVJxSVFJZ0EwRUJhaUlESUJCSERRQUxJQVFvQWlnaEF5QUVLQUk4SVFJTElBVWdEeWdDQUdvaEJTQURRUUowSUFscUlRa2dERUVCYWlJTUlBSklEUUFMSUFVaEF5QUFLQUxVQWlFQ0N3c0ZJQU1nQkVGQWF5Z0NBR29oQXdzZ0MwRUJhaUlMSUFKSURRQUxDeUFIUVFGcUlnY2dDazBOQUFzZ0JpZ0NIQ0VDQ3lBR1FRQTJBaFFnQ0VFQmFpSUlJQUpPRFFKQkFDRUhEQUVMQ3d3QkN5QU9JUUVnQUNnQ3pBSWhBZ3dCQ3lBR0lBZzJBaGdnQmlBSE5nSVVRUUFQQ3dVZ0FFR1VBV29oQVFzZ0FDQUFLQUtjQVVFQmFqWUNuQUVnQVNBQktBSUFRUUZxSWdNMkFnQWdBeUFDVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkJBOExJQUFvQXNRRElnRWdBQ2dDMUFKQkFVb0VmMEVCQlNBQUtBTFlBaUlBUVF4cUlBQkJ6QUJxSUFNZ0FrRi9ha2tiS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWVFRTUxvUUVCQkg4RFFBSkFBa0FDUUNBQUlBRnFMQUFBSWdNRVFDQURRUzVHQkVBTUFnVU1Bd3NBQ3d3Q0N5QUJJUUlMSUFGQkFXb2hBUXdCQ3dzZ0FDQUJhaUVEUVp5NEFSQmdRUUpxSVFRQ2Z3SkFJQUlFZnlBQ0lBUnFRWUFDU2dSL1FYOEZEQUlMQlNBQklBUnFRWUFDU2dSL1FYOEZJQU5CTGpvQUFDQUJJUUlNQWdzTERBRUxJQUFnQWtFQmFtcEJBRG9BQUNBQUVHQWdBR29RZ1FWQkFBc2FDOW9EQVE5L0lBQW9Bc1FESVFzZ0FDZ0N6QUpCZjJvaERBSkFBa0FEUUFKQUlBQW9BcEFCSWdJZ0FDZ0NtQUVpQTA0RVFDQUNJQU5IRFFFZ0FDZ0NsQUVnQUNnQ25BRkxEUUVMSUFBb0Fzd0RLQUlBSVFJZ0FDQUNRZjhBY1VFSWFoRUFBQTBCREFJTEN3d0JDMEVBRHdzZ0FDZ0NKRUVBU2dSQUlBQW9BdGdCSVFJRFFDQUNLQUkwQkVBZ0FDZ0NCQ2dDSUNFRElBQWdDMEhJQUdvZ0JFRUNkR29vQWdBZ0FpZ0NEQ0lGSUFBb0Fwd0JiQ0FGUVFBZ0EwRWZjVUdpQW1vUkNBQWhEU0FBS0FLY0FTQU1TUVIvSUFJb0Fnd0ZJQUlvQWlBZ0FpZ0NEQ0lGRUU0aEF5QURJQVVnQXhzTElRa2dBQ2dDMkFOQkJHb2dCRUVDZEdvb0FnQWhEaUFKUVFCS0JFQWdCRUVDZENBQmFpZ0NBQ0VHUVFBaEJ5QUNJZ1VpRHlnQ0hDRURBMEFnQXdSL1FRQWhBeUFIUVFKMElBMXFLQUlBSVFoQkFDRUtBMzhnQUNBQ0lBZ2dCaUFESUE1QlAzRkJtZ1pxRVFVQUlBaEJnQUZxSVFnZ0F5QVBLQUlrYWlFRElBcEJBV29pQ2lBQ0tBSWNJaEJKRFFBZ0VBc0ZRUUFMSVFNZ0JTZ0NLRUVDZENBR2FpRUdJQWRCQVdvaUJ5QUpSdzBBQ3dzTElBSkIyQUJxSVFJZ0JFRUJhaUlFSUFBb0FpUklEUUFMQ3lBQUlBQW9BcHdCUVFGcUlnRTJBcHdCUVFOQkJDQUJJQUFvQXN3Q1NSc0xuUVVCRTM4akJpRVRJd1pCRUdva0JpQVRJUVlnQUNnQ3hBTWhCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUFvQWdRb0FpQWhCU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSURLQUlNSVFJZ0FVRUNkQ0FHYWlBQUlBUkJ5QUJxSUFNb0FnUkJBblJxS0FJQUlBQW9BcFFCSUFKc0lBSkJBU0FGUVI5eFFhSUNhaEVJQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpJRFFBTEN5QUVLQUlZSWdVZ0JDZ0NIQ0lCU0FSQUFrQWdCRUVnYWlFTUlBUW9BaFFoQXlBQUtBTG9BaUVDQTBBQ1FDQURJQUpKQkVBZ0F5RUNBMEFnQUNnQzFBSWlEVUVBU2dSQVFRQWhBVUVBSVFjRFFDQUNJQUJCMkFKcUlBZEJBblJxS0FJQUlnTW9BamdpQ0d3aERpQURLQUk4SWc5QkFFb0VRQ0FIUVFKMElBWnFLQUlBSVJBZ0NFRUFTZ1JBUVFBaENRTkFRUUFoQ3lBRklBbHFRUUowSUJCcUtBSUFJQTVCQjNScUlRb2dBU0VEQTBBZ0NrR0FBV29oRVNBRFFRRnFJUklnQkVFZ2FpQURRUUowYWlBS05nSUFJQXRCQVdvaUN5QUlSd1JBSUJFaENpQVNJUU1NQVFzTElBRWdDR29oQVNBSlFRRnFJZ2tnRDBnTkFBc0xDeUFIUVFGcUlnY2dEVWdOQUFzTElBQW9BdFFES0FJRUlRRWdBQ0FNSUFGQlAzRkJpZ0ZxRVFJQVJRMENJQUpCQVdvaUFpQUFLQUxvQWlJQlNRMEFDeUFCSVFJZ0JDZ0NIQ0VCQ3lBRVFRQTJBaFFnQlVFQmFpSUZJQUZPRFFKQkFDRUREQUVMQ3lBRUlBVTJBaGdnQkNBQ05nSVVJQVlrQmtFQUR3c0xJQUFnQUNnQ2xBRkJBV29pQWpZQ2xBRWdBaUFBS0FMTUFpSUZUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQmlRR1FRUVBDeUFBS0FMRUF5SUJJQUFvQXRRQ1FRRktCSDlCQVFVZ0FDZ0MyQUlpQUVFTWFpQUFRY3dBYWlBQ0lBVkJmMnBKR3lnQ0FBczJBaHdnQVVFQU5nSVVJQUZCQURZQ0dDQUdKQVpCQXd1bEF3RUxmeUFBS0FMRUF5SUJLQUlRUlFSQUlBQkJBRFlDbkFFUEN5QUJBbjhDUUNBQUtBSlFSUTBBSUFBb0F1QUJSUTBBSUFBb0FxQUJSUTBBSUFFb0FuQWlBZ1JBSUFCQkpHb2hCZ1VnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJJQUJCSkdvaUJpZ0NBRUVZYkNBQ1FUOXhRY29CYWhFRUFDSUNOZ0p3Q3lBR0tBSUFRUUJNRFFBZ0FDZ0MyQUVoQ0FOQUlBZ29BbEFpQVVVTkFTQUJMZ0VBUlEwQklBRXVBUUpGRFFFZ0FTNEJFRVVOQVNBQkxnRWdSUTBCSUFFdUFSSkZEUUVnQVM0QkJFVU5BU0FBS0FLZ0FTSUJJQVJCQ0hScUtBSUFRUUJJRFFFZ0FpQUVRUWgwSUFGcUlnTW9BZ1EyQWdRZ0F5Z0NCQ0VKSUFJZ0JFRUlkQ0FCYWlJRktBSUlOZ0lJSUFrZ0JTZ0NDSEloQ2lBQ0lBUkJDSFFnQVdvaUJTZ0NERFlDRENBS0lBVW9BZ3h5SVFzZ0FpQUVRUWgwSUFGcUlnVW9BaEEyQWhBZ0N5QUZLQUlRY2lFRElBSWdCRUVJZENBQmFpSUJLQUlVTmdJVVFRRWdCeUFESUFFb0FoUnlHeUVISUFKQkdHb2hBaUFJUWRnQWFpRUlJQVJCQVdvaUJDQUdLQUlBU0EwQUN5QUhSUTBBUVNvTUFRdEJLQXMyQWd3Z0FFRUFOZ0tjQVF0U0FRSi9JQUJCQURZQ2xBRWdBQ2dDeEFNaUFTQUFLQUxVQWtFQlNnUi9RUUVGSUFBb0F0Z0NJZ0pCekFCcUlBSkJER29nQUNnQ3pBSkJBVVliS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWUM2d0RBUVYvSUFBb0FnUW9BZ0FoQXlBQUlBQkJBVUgwQUNBRFFUOXhRY29CYWhFRUFDSUNOZ0xFQXlBQ1FmMEFOZ0lBSUFKQi9nQTJBZ2dnQWtFQU5nSndJQUZGQkVBZ0FDZ0NCQ2dDQkNFQklBSWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWlBZ0FpQUJRWUFCYWpZQ0pDQUNJQUZCZ0FKcU5nSW9JQUlnQVVHQUEybzJBaXdnQWlBQlFZQUVhallDTUNBQ0lBRkJnQVZxTmdJMElBSWdBVUdBQm1vMkFqZ2dBaUFCUVlBSGFqWUNQQ0FDUVVCcklBRkJnQWhxTmdJQUlBSWdBVUdBQ1dvMkFrUWdBQ2dDdEFORkJFQWdBVUVBUVlBS0VFVWFDeUFDUWRZQU5nSUVJQUpCS1RZQ0RDQUNRUUEyQWhBUEN5QUFLQUlrUVFCS0JFQWdBa0hJQUdvaEJFRUFJUU1nQUNnQzJBRWhBUU5BSUFFb0Fnd2lCU0FGUVFOc0lBQW9BdUFCUlJzaEJTQUFLQUlFS0FJVUlRWWdBMEVDZENBRWFpQUFRUUZCQVNBQktBSWNJQUVvQWdnUStBRWdBU2dDSUNBQktBSU1FUGdCSUFVZ0JrRS9jVUhHQW1vUkNnQTJBZ0FnQVVIWUFHb2hBU0FEUVFGcUlnTWdBQ2dDSkVnTkFBc0ZJQUpCeUFCcUlRUUxJQUpCMVFBMkFnUWdBa0VvTmdJTUlBSWdCRFlDRUF1aEFnRUNmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJ3QUVnQVVFL2NVSEtBV29SQkFBaUFqWUMxQU1nQWtIN0FEWUNBQ0FDUWZ3QU5nSUlJQUpCUEdvaUFVSUFOd0lBSUFGQ0FEY0NDQ0FCUWdBM0FoQWdBVUlBTndJWUlBRkNBRGNDSUNBQlFnQTNBaWdnQVVJQU53SXdJQUZDQURjQ09DQUJRVUJyUWdBM0FnQWdBVUlBTndKSUlBRkNBRGNDVUNBQlFnQTNBbGdnQVVJQU53SmdJQUZDQURjQ2FDQUJRZ0EzQW5BZ0FVSUFOd0o0SUFKQjhRQTZBTHdCSUFBb0F1QUJSUVJBRHdzZ0FDZ0NCQ2dDQUNFQklBQWdBRUVCSUFBb0FpUkJDSFFnQVVFL2NVSEtBV29SQkFBaUFqWUNvQUVnQUNnQ0pFRUFUQVJBRHd0QkFDRUJBMEFnQWlBQlFRaDBha0YvUVlBQ0VFVWFJQUZCQVdvaUFTQUFLQUlrU0EwQUN3c3FBUUYvSUFBb0F0UURLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3pBTkIxQUEyQWdBTFlnRUJmeUFBS0FMTUF5SUJRZFFBTmdJQUlBRkJBRFlDRUNBQlFRQTJBaFFnQVVFQk5nSVlJQUFvQWdBb0FoQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkJBRFlDb0FFTFl3RUJmeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUJJQUVRWUVFQmFoQ0FCU0lDUlFSQUlBQkJBRG9BQUF3QkN5QUNRUUZxSUFGcklnSkJBV3BCZ0JCTEJFQkJBQ0VBQlNBQUlBRWdBaERWQVNBQUlBSnFRUUE2QUFBTEN3VkJBQ0VBQ3lBQUM2VVBBUWwvSUFBb0Fzd0RJZ1FvQWhRRVFFRUNEd3NDUUFKQUFrQURRQUpBSUFBb0F0QURLQUlFSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFXc09BZ0FFQlFzQ1FBSkFBa0FDUUFKQUlBUW9BaGdPQWdBQkFnc2dCQ2dDRUVVRVFDQUFLQUlBSWdGQkpEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDRFFZTUF3c0NRQUpBSUFBb0FpQkIzUDhEU2cwQUlBQW9BaHhCM1A4RFNnMEFEQUVMSUFBb0FnQWlBVUVxTmdJVUlBRkIzUDhETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUVpQVVGNGFrRUVTd1JBSUFBb0FnQWlBa0VRTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FpUWlBVUVLU2dSQUlBQW9BZ0FpQWtFYk5nSVVJQUlnQVRZQ0dDQUFLQUlBUVFvMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVFzZ0FFRUJOZ0s4QWlBQVFRRTJBc0FDSUFGQkFFb0VRRUVBSVFjZ0FDZ0MyQUVoQWtFQklRTkJBU0VGQTBBQ2Z3SkFJQUlpQ0NnQ0NDSUdRWDlxUVFOTERRQWdBaWdDRENJSlFYOXFRUU5MRFFBZ0NRd0JDeUFBS0FJQUlnRkJFellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDdkFJaEJTQUlLQUlJSVFZZ0FDZ0N3QUloQXlBQUtBSWtJUUVnQWlnQ0RBc2hBaUFBSUFVZ0JpQUZJQVpLR3lJRk5nSzhBaUFBSUFNZ0FpQURJQUpLR3lJRE5nTEFBaUFJUWRnQWFpRUNJQWRCQVdvaUJ5QUJTQTBBQ3dzZ0FBSi9Ba0FnQUNnQzNBRU5BQUovSUFBb0F1QUJCRUFnQUNnQzFBSU5BZ3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXFBRERvQUNBQkFRQVJBUUVCQUNFQkFRRUJBUUF4QVFFQkFRRUJBUUJCQVFFQkFRRUJBUUVCQUZFQkFRRUJBUUVCQVFFQkFRQmhBUUVCQVFFQkFRRUJBUUVCQVFCeEFRRUJBUUVCQVFFQkFRRUJBUUVCQUlFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ2hBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQUxFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQU9FQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRHhBTElBQkJBVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRUFOZ0swQTBFQkRCQUxJQUJCQWpZQ3JBTWdBRUhBSlRZQ3NBTWdBRUVETmdLMEEwRUNEQThMSUFCQkF6WUNyQU1nQUVIUUpEWUNzQU1nQUVFSU5nSzBBMEVEREE0TElBQkJCRFlDckFNZ0FFSFFJellDc0FNZ0FFRVBOZ0swQTBFRURBMExJQUJCQlRZQ3JBTWdBRUdnSWpZQ3NBTWdBRUVZTmdLMEEwRUZEQXdMSUFCQkJqWUNyQU1nQUVIUUlEWUNzQU1nQUVFak5nSzBBMEVHREFzTElBQkJCellDckFNZ0FFSEFIallDc0FNZ0FFRXdOZ0swQTBFSERBb0xJQUJCQ0RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUlEQWtMSUFCQkNUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVKREFnTElBQkJDallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFS0RBY0xJQUJCQ3pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUxEQVlMSUFCQkREWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVNREFVTElBQkJEVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTkRBUUxJQUJCRGpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU9EQU1MSUFCQkR6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVQREFJTElBQkJFRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUURBRUxJQUFvQWdBaUFVRVJOZ0lVSUFFZ0FDZ0NuQU0yQWhnZ0FDZ0NBQ0FBS0FLZ0F6WUNIQ0FBS0FJQUlBQW9BcVFETmdJZ0lBQW9BZ0FnQUNnQ3FBTTJBaVFnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFTQUFLQUtzQXdzTUFRc2dBRUVJTmdLc0F5QUFRWUFjTmdLd0F5QUFRVDgyQXJRRFFRZ0xJZ0kyQXNRQ0lBQWdBallDeUFJZ0FVRUFTZ1JBUVFBaEFTQUFLQUxZQVNFREEwQWdBeUFDTmdJa0lBTWdBallDS0NBRElBQW9BaHdnQXlnQ0NHd2dBaUFBS0FLOEFtd1FhRFlDSENBRElBQW9BaUFnQXlnQ0RHd2dBQ2dDd0FJZ0FDZ0NyQU5zRUdnMkFpQWdBeUFBS0FJY0lBTW9BZ2hzSUFBb0Fyd0NFR2cyQWl3Z0F5QUFLQUlnSUFNb0FneHNJQUFvQXNBQ0VHZzJBakFnQTBFQk5nSTBJQU5CQURZQ1VDQUJRUUZxSWdFZ0FDZ0NKRWdFUUNBRFFkZ0FhaUVESUFBb0Fxd0RJUUlNQVFzTElBQW9BcXdESVFJTElBQWdBQ2dDSUNBQUtBTEFBaUFDYkJCb05nTE1BaUFBS0FMVUFpSUJJQUFvQWlST0JFQWdBQ2dDNEFGRkJFQWdBQ2dDekFOQkFEWUNFQXdEQ3dzZ0FDZ0N6QU5CQVRZQ0VBd0JDeUFBS0FMVUFpRUJDeUFCRFFFZ0JFRUNOZ0lZQ3d3QkN3c2dCRUVBTmdJWVFRRVBDeUFBRUtjRFFRRVBDeUFFUVFFMkFoUWdCQ2dDR0FSQUlBQW9BdEFES0FJUVJRUkFRUUlQQ3lBQUtBSUFJZ0ZCUGpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFBb0FwZ0JJQUFvQXBBQklnRk1CRUJCQWc4TElBQWdBVFlDbUFFTFFRSVBDeUFCQzEwQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFSd2dBVUUvY1VIS0FXb1JCQUFpQURZQ3pBTWdBRUhVQURZQ0FDQUFRZmdBTmdJRUlBQkIrUUEyQWdnZ0FFSDZBRFlDRENBQVFRQTJBaEFnQUVFQU5nSVVJQUJCQVRZQ0dBdi9CUUVFZnlBQUlBQW9BcXdESWdJZ0FDZ0NNR3dpQVNBQUtBSTBJZ05MQkg4Q2Z5QUJJQU5CQVhSTkJFQWdBQ0FBS0FJY1FRRjBJQUlRYURZQ2NFRUNJUUVnQUNnQ0lFRUJkQXdCQ3lBQklBTkJBMnhOQkVBZ0FDQUFLQUljUVFOc0lBSVFhRFlDY0VFRElRRWdBQ2dDSUVFRGJBd0JDeUFCSUFOQkFuUk5CRUFnQUNBQUtBSWNRUUowSUFJUWFEWUNjRUVFSVFFZ0FDZ0NJRUVDZEF3QkN5QUJJQU5CQld4TkJFQWdBQ0FBS0FJY1FRVnNJQUlRYURZQ2NFRUZJUUVnQUNnQ0lFRUZiQXdCQ3lBQklBTkJCbXhOQkVBZ0FDQUFLQUljUVFac0lBSVFhRFlDY0VFR0lRRWdBQ2dDSUVFR2JBd0JDeUFCSUFOQkIyeE5CRUFnQUNBQUtBSWNRUWRzSUFJUWFEWUNjRUVISVFFZ0FDZ0NJRUVIYkF3QkN5QUJJQU5CQTNSTkJFQWdBQ0FBS0FJY1FRTjBJQUlRYURZQ2NFRUlJUUVnQUNnQ0lFRURkQXdCQ3lBQklBTkJDV3hOQkVBZ0FDQUFLQUljUVFsc0lBSVFhRFlDY0VFSklRRWdBQ2dDSUVFSmJBd0JDeUFCSUFOQkNteE5CRUFnQUNBQUtBSWNRUXBzSUFJUWFEWUNjRUVLSVFFZ0FDZ0NJRUVLYkF3QkN5QUJJQU5CQzJ4TkJFQWdBQ0FBS0FJY1FRdHNJQUlRYURZQ2NFRUxJUUVnQUNnQ0lFRUxiQXdCQ3lBQklBTkJER3hOQkVBZ0FDQUFLQUljUVF4c0lBSVFhRFlDY0VFTUlRRWdBQ2dDSUVFTWJBd0JDeUFCSUFOQkRXeE5CRUFnQUNBQUtBSWNRUTFzSUFJUWFEWUNjRUVOSVFFZ0FDZ0NJRUVOYkF3QkN5QUJJQU5CRG14TkJFQWdBQ0FBS0FJY1FRNXNJQUlRYURZQ2NFRU9JUUVnQUNnQ0lFRU9iQXdCQ3lBQUtBSWNJUVFnQVNBRFFROXNTd1IvSUFBZ0JFRUVkQ0FDRUdnMkFuQkJFQ0VCSUFBb0FpQkJCSFFGSUFBZ0JFRVBiQ0FDRUdnMkFuQkJEeUVCSUFBb0FpQkJEMndMQ3dVZ0FDQUFLQUljSUFJUWFEWUNjRUVCSVFFZ0FDZ0NJQXNnQUNnQ3JBTVFhRFlDZENBQUlBRTJBc1FDSUFBZ0FUWUN5QUlnQUNnQ0pDSURRUUJNQkVBUEMwRUFJUUlnQUNnQzJBRWhBQU5BSUFBZ0FUWUNKQ0FBSUFFMkFpZ2dBRUhZQUdvaEFDQUNRUUZxSWdJZ0EwZ05BQXNMdEFzQkQzOGpCaUVJSXdaQk1Hb2tCaUFBS0FMVUF5RUhJQUFvQXBnQ0JFQWdCeWdDTEVVRVFDQUhLQUlRUVFnUU9TRUNJQUFvQXRBRElnVWdBaUFGS0FJWWFqWUNHQ0FIUVFBMkFoQWdCU2dDQ0NFRklBQWdCVUgvQUhGQkNHb1JBQUJGQkVBZ0NDUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhCUU5BSUFkQkdHb2dCVUVDZEdwQkFEWUNBQ0FGUVFGcUlnVWdBQ2dDMUFKSURRQUxDeUFIUVFBMkFoUWdCeUFBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FIUVFBMkFpZ0xDd3NnQ0VFVWFpRUdJQWNvQWloRkJFQWdBQ2dDc0FNaER5QUFLQUswQXlFTklBWWdBRFlDRUNBR0lBQW9BaGdpQkNnQ0FDSUpOZ0lBSUFZZ0JDZ0NCQ0lETmdJRUlBY29BZ3doQlNBSEtBSVFJUUlnQ0NBSEtRSVVOd0lBSUFnZ0J5a0NIRGNDQ0NBSUlBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ1FKQUEwQWdDVUVDZENBQmFpZ0NBQ0VLSUFkQjVBQnFJQWxCQW5ScUtBSUFJUVFDZndKQUlBSkJDRWdFUUNBR0lBVWdBa0VBRUdkRkRRUWdCaWdDQ0NFRklBWW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCRUdRQVdvZ0JTQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDd1IvSUFNZ0JFR1FDV3BxTFFBQUlRUWdBaUFMYXdWQkNTRUREQUVMREFFTElBWWdCU0FDSUFRZ0F4Q2dBU0lFUVFCSURRSWdCaWdDQ0NFRklBWW9BZ3dMSVFJZ0IwR01BV29nQ1VFQ2RHb29BZ0FoQ3lBRVFRQkhJUU1DUUFKQUlBZEJ0QUZxSUFsQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBUklCRUFnQmlBRklBSWdCQkJuUlEwSElBWW9BZ2doQlNBR0tBSU1JUUlMSUFSQkFuUkI4REZxS0FJQUlnTWdCU0FDSUFScklnSjFjU0lNUVFBZ0F5QU1JQVJCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFJUVFScUlBQkI5QUpxSUFsQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFRUlBTWdCRFlDQUNBS0lBUTdBUUFnRGtFQlNnUkFRUUVoQkFOQUFuOENRQ0FDUVFoSUJFQWdCaUFGSUFKQkFCQm5SUTBLSUFZb0FnZ2hCU0FHS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWd3RWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0RHc0ZRUWtoQXd3QkN3d0JDeUFHSUFVZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFZb0FnZ2hCU0FHS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdNRVFDQUNJQU5JQkVBZ0JpQUZJQUlnQXhCblJRMEpJQVlvQWdnaEJTQUdLQUlNSVFJTElBUWdER29pQkVFQ2RDQVBhaWdDQUVFQmRDQUthaUFEUVFKMFFmQXhhaWdDQUNJTUlBVWdBaUFEYXlJQ2RYRWlFRUVBSUF3Z0VDQURRUUowUWV3eGFpZ0NBRW9iYXpzQkFBVWdERUVQUncwRElBUkJEMm9oQkFzZ0JFRUJhaUlFSUE1SURRQUxEQU1GUVFFaEJBd0RDd0FMQlNBREJFQWdBaUFFU0FSQUlBWWdCU0FDSUFRUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQVJySVFJTFFRRWhCQXdCQ3d3QkN5QUVJQTFNQkVBRFFBSi9Ba0FnQWtFSVNBUkFJQVlnQlNBQ1FRQVFaMFVOQnlBR0tBSUlJUVVnQmlnQ0RDSUNRUWhJQkVCQkFTRUREQUlMQ3lBTFFaQUJhaUFGSUFKQmVHcDFRZjhCY1NJRFFRSjBhaWdDQUNJS0JIOGdBeUFMUVpBSmFtb3RBQUFoQXlBQ0lBcHJCVUVKSVFNTUFRc01BUXNnQmlBRklBSWdDeUFERUtBQklnTkJBRWdOQlNBR0tBSUlJUVVnQmlnQ0RBc2hBaUFEUVFSMklRb2dBMEVQY1NJREJFQWdBaUFEU0FSQUlBWWdCU0FDSUFNUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQU5ySVFJRklBcEJEMGNOQTBFUElRb0xJQVJCQVdvZ0Ntb2lCQ0FOVEEwQUN3c0xJQWxCQVdvaUNTQUFLQUx3QWtnTkFBc2dBQ2dDR0NFQUlBWW9BZ0FoQVNBR0tBSUVJUVFNQVFzZ0NDUUdRUUFQQ3dVZ0JDRUFJQWtoQVNBRElRUUxJQUFnQVRZQ0FDQUFJQVEyQWdRZ0J5QUZOZ0lNSUFjZ0FqWUNFQ0FISUFncEFnQTNBaFFnQnlBSUtRSUlOd0ljSUFjZ0NDZ0NFRFlDSkFzZ0J5QUhLQUlzUVg5cU5nSXNJQWdrQmtFQkM2SUxBUTEvSXdZaENTTUdRVEJxSkFZZ0FDZ0MxQU1oQnlBQUtBS1lBZ1JBSUFjb0FpeEZCRUFnQnlnQ0VFRUlFRGtoQWlBQUtBTFFBeUlFSUFJZ0JDZ0NHR28yQWhnZ0IwRUFOZ0lRSUFRb0FnZ2hCQ0FBSUFSQi93QnhRUWhxRVFBQVJRUkFJQWtrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFRRFFDQUhRUmhxSUFSQkFuUnFRUUEyQWdBZ0JFRUJhaUlFSUFBb0F0UUNTQTBBQ3dzZ0IwRUFOZ0lVSUFjZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0IwRUFOZ0lvQ3dzTElBbEJGR29oQlNBSEtBSW9SUVJBSUFVZ0FEWUNFQ0FGSUFBb0FoZ2lCaWdDQUNJS05nSUFJQVVnQmlnQ0JDSUROZ0lFSUFjb0Fnd2hCQ0FIS0FJUUlRSWdDU0FIS1FJVU53SUFJQWtnQnlrQ0hEY0NDQ0FKSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDZ0pBQTBBZ0NrRUNkQ0FCYWlnQ0FDRU5JQWRCNUFCcUlBcEJBblJxS0FJQUlRWUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFRZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JrR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQmtHUUNXcHFMUUFBSVFZZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQVlnQXhDZ0FTSUdRUUJJRFFJZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQjBHTUFXb2dDa0VDZEdvb0FnQWhDeUFHUVFCSElRTUNRQUpBSUFkQnRBRnFJQXBCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBISUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVpCQW5SQjhERnFLQUlBSWdNZ0JDQUNJQVpySWdKMWNTSUlRUUFnQXlBSUlBWkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUpRUVJxSUFCQjlBSnFJQXBCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVHSUFNZ0JqWUNBQ0FOSUFZN0FRQWdEa0VCU2dSQVFRRWhCZ05BQW44Q1FDQUNRUWhJQkVBZ0JTQUVJQUpCQUJCblJRMEtJQVVvQWdnaEJDQUZLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBUWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnQ0dzRlFRa2hBd3dCQ3d3QkN5QUZJQVFnQWlBTElBTVFvQUVpQTBFQVNBMElJQVVvQWdnaEJDQUZLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ2dFUUNBQ0lBaElCRUFnQlNBRUlBSWdDQkJuUlEwSklBVW9BZ2doQkNBRktBSU1JUUlMSUFZZ0RHb2lBMEVDZEVHQUhHb29BZ0JCQVhRZ0RXb2dDRUVDZEVId01Xb29BZ0FpQmlBRUlBSWdDR3NpQW5WeElneEJBQ0FHSUF3Z0NFRUNkRUhzTVdvb0FnQktHMnM3QVFBRklBeEJEMGNOQXlBR1FROXFJUU1MSUFOQkFXb2lCaUFPU0EwQUN5QURRVDlJRFFNRlFRRWhCZ3dEQ3dzRklBTUVRQ0FDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBHSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQUlnQm1zaEFndEJBU0VHREFFTERBRUxBMEFDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRWWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dDMEdRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0MwR1FDV3BxTFFBQUlRTWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFzZ0F4Q2dBU0lEUVFCSURRUWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0EwRUVkaUVJSUFOQkQzRWlBd1JBSUFJZ0EwZ0VRQ0FGSUFRZ0FpQURFR2RGRFFVZ0JTZ0NDQ0VFSUFVb0Fnd2hBZ3NnQWlBRGF5RUNCU0FJUVE5SERRSkJEeUVJQ3lBR1FRRnFJQWhxSWdaQndBQklEUUFMQ3lBS1FRRnFJZ29nQUNnQzhBSklEUUFMSUFBb0FoZ2hBQ0FGS0FJQUlRRWdCU2dDQkNFR0RBRUxJQWtrQmtFQUR3c0ZJQVloQUNBS0lRRWdBeUVHQ3lBQUlBRTJBZ0FnQUNBR05nSUVJQWNnQkRZQ0RDQUhJQUkyQWhBZ0J5QUpLUUlBTndJVUlBY2dDU2tDQ0RjQ0hDQUhJQWtvQWhBMkFpUUxJQWNnQnlnQ0xFRi9hallDTENBSkpBWkJBUXVlQ2dFUmZ5TUdJUVVqQmtHZ0Ftb2tCaUFBS0FMVUF5RUlJQUFvQXBnQ0JFQWdDQ2dDTEVVRVFDQUlLQUlRUVFnUU9TRUVJQUFvQXRBRElnSWdCQ0FDS0FJWWFqWUNHQ0FJUVFBMkFoQWdBaWdDQ0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVBZ0JTUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFoQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFJUVFBMkFoUWdDQ0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FJUVFBMkFpZ0xDd3NnQlVHQUFtb2hCeUFGSVFvZ0NDZ0NLRVVFUUFKQUlBQW9BcUFESVE1QkFTQUFLQUtvQXlJQ2RDRUxRWDhnQW5RaER5QUFLQUt3QXlFUUlBY2dBRFlDRUNBSElBQW9BaGdpQWlnQ0FEWUNBQ0FISUFJb0FnUTJBZ1FnQ0NnQ0RDRUZJQWdvQWhBaEJDQUJLQUlBSVEwZ0NFRkFheWdDQUNFTUlBQW9BcHdESVFJQ1FBSi9Ba0FnQ0NnQ0ZDSUpEUUJCQUNFQkFrQURRQUpBQW44Q1FDQUVRUWhJQkVBZ0J5QUZJQVJCQUJCblJRMEZJQWNvQWdnaEJTQUhLQUlNSWdSQkNFZ0VRRUVCSVFNTUFnc0xJQXhCa0FGcUlBVWdCRUY0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBeEJrQWxxYWkwQUFDRUdJQVFnQ1dzRlFRa2hBd3dCQ3d3QkN5QUhJQVVnQkNBTUlBTVFvQUVpQmtFQVNBMERJQWNvQWdnaEJTQUhLQUlNQ3lFRUlBWkJCSFloQXdKL0FrQUNRQUpBSUFaQkQzRU9BZ0FDQVFzZ0EwRVBSdzBESUFRaEJrRUFEQUlMSUFBb0FnQWlCa0g1QURZQ0ZDQUdLQUlFSVFZZ0FFRi9JQVpCUDNGQnNnVnFFUU1BQ3lBRVFRRklCRUFnQnlBRklBUkJBUkJuUlEwRUlBY29BZ3doQkNBSEtBSUlJUVVMSUFzZ0R5QUZRUUVnQkVGL2FpSUdkSEViQ3lFSklBTWhCQ0FDSVFNZ0JpRUNBMzhDZnlBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdZdUFRQUVRQ0FDUVFGSUJFQWdCeUFGSUFKQkFSQm5SUTBHSUFjb0Fnd2hBaUFIS0FJSUlRVUxJQVZCQVNBQ1FYOXFJZ0owY1FSQUlBWXVBUUFpRWlJUklBdHhSUVJBSUJKQmYwb0VRQ0FHSUFzZ0VXbzdBUUFGSUFZZ0R5QVJhanNCQUFzTEN3VWdCRUYvYWlFR0lBUkJBVWdFZnlBQ0RBSUZJQVlMSVFRTElBTkJBV29oQmlBRElBNUlCSDhnQmlFRERBSUZJQVloQXlBQ0N3c0xJUVFnQ1FSQUlBTkJBblFnRUdvb0FnQWlBa0VCZENBTmFpQUpPd0VBSUFGQkFuUWdDbW9nQWpZQ0FDQUJRUUZxSVFFTElBTkJBV29oQWlBRElBNUlEUUVnQkNFQlFRQU1CQXNMUVFFZ0EzUWhCaUFEQkVBZ0JDQURTQVJBSUFjZ0JTQUVJQU1RWjBVTkFpQUhLQUlNSVFRZ0J5Z0NDQ0VGQ3lBR0lBTkJBblJCOERGcUtBSUFJQVVnQkNBRGF5SUVkWEZxSWdrRVFDQUJJUVlNQXdVZ0JDRUJRUUFNQkFzQUJVRUJJUWtnQVNFR0RBSUxBQXNNQWdzZ0FpRURJQVFoQVNBRklRSURRQ0FEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1V1QVFBRVFDQUJRUUZJQkVBZ0J5QUNJQUZCQVJCblJRUkFJQVloQVF3RkN5QUhLQUlNSVFFZ0J5Z0NDQ0VDQ3lBQ1FRRWdBVUYvYWlJQmRIRUVRQ0FGTGdFQUlnd2lCQ0FMY1VVRVFDQU1RWDlLQkVBZ0JTQUVJQXRxT3dFQUJTQUZJQVFnRDJvN0FRQUxDd3NMSUFOQkFXb2hCU0FESUE1SUJFQWdCU0VEREFFTEN5QUNJUVVnQ1VGL2Fnc2hBeUFBS0FJWUlnQWdCeWdDQURZQ0FDQUFJQWNvQWdRMkFnUWdDQ0FGTmdJTUlBZ2dBVFlDRUNBSUlBTTJBaFFNQVFzZ0FVVUVRQ0FLSkFaQkFBOExBMEFnQVVGL2FpSUJRUUowSUFwcUtBSUFRUUYwSUExcVFRQTdBUUFnQVEwQUN5QUtKQVpCQUE4TEN5QUlJQWdvQWl4QmYybzJBaXdnQ2lRR1FRRUxPZ0FDZndKQUFrQUNRQUpBQWtBZ0FBNFBBQUFCQVFFQ0FRTURBd01EQWdJQ0JBdEJBd3dFQzBFRURBTUxRUUVNQWd0QkFnd0JDMEVBQ3d2RUF3RUlmeU1HSVFRakJrRWdhaVFHSUFBb0F0UURJUUlnQUNnQ21BSUVRQ0FDS0FJc1JRUkFJQUlvQWhCQkNCQTVJUU1nQUNnQzBBTWlCU0FESUFVb0FoaHFOZ0lZSUFKQkFEWUNFQ0FGS0FJSUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUVKQVpCQUE4TElBQW9BdFFDUVFCS0JFQkJBQ0VEQTBBZ0FrRVlhaUFEUVFKMGFrRUFOZ0lBSUFOQkFXb2lBeUFBS0FMVUFrZ05BQXNMSUFKQkFEWUNGQ0FDSUFBb0FwZ0NOZ0lzSUFBb0FyZ0RSUVJBSUFKQkFEWUNLQXNMQ3lBRUlnWWdBRFlDRUNBR0lBQW9BaGdpQnlnQ0FDSUlOZ0lBSUFZZ0J5Z0NCQ0lGTmdJRUlBSW9BZ3doQXlBQ0tBSVFJUVJCQVNBQUtBS29BM1FoQ1NBQUtBTHdBa0VBU2dSQUFrQkJBQ0VGQWtBRFFDQUVRUUZJQkVBZ0JpQURJQVJCQVJCblJRMENJQVlvQWd3aEJDQUdLQUlJSVFNTElBTkJBU0FFUVg5cUlnUjBjUVJBSUFWQkFuUWdBV29vQWdBaUNDQUpJQWd2QVFCeU93RUFDeUFGUVFGcUlnVWdBQ2dDOEFKSURRQUxJQUFvQWhnaEJ5QUdLQUlBSVFnZ0JpZ0NCQ0VGREFFTElBWWtCa0VBRHdzTElBY2dDRFlDQUNBSElBVTJBZ1FnQWlBRE5nSU1JQUlnQkRZQ0VDQUNJQUlvQWl4QmYybzJBaXdnQmlRR1FRRUx0Z1lCREg4akJpRUVJd1pCSUdva0JpQUFLQUxVQXlFRkFrQWdBQ2dDbUFJRVFDQUZLQUlzUlFSQUlBVW9BaEJCQ0JBNUlRWWdBQ2dDMEFNaUFpQUdJQUlvQWhocU5nSVlJQVZCQURZQ0VDQUNLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQWlBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFoUWdCU0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FGUVFBMkFpZ0xDd3NnQlNnQ0tFVUVRQ0FGS0FJVUlnSUVRQ0FDUVg5cUlRTUZJQVFnQURZQ0VDQUVJQUFvQWhnaUFpZ0NBRFlDQUNBRUlBSW9BZ1EyQWdRZ0JTZ0NEQ0VHSUFVb0FoQWhBaUFBS0FLb0F5RUtJQUFvQXJBRElRc2dBU2dDQUNFTUlBVkJRR3NvQWdBaENDQUFLQUtjQXlJRElBQW9BcUFESWcxS0JFQkJBQ0VESUFZaEFRVUNRQ0FHSVFFZ0F5RUdBa0FEUUFKQUFuOENRQ0FDUVFoSUJFQWdCQ0FCSUFKQkFCQm5SUTBGSUFRb0FnZ2hBU0FFS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUFoQmtBRnFJQUVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQWhCa0FscWFpMEFBQ0VISUFJZ0NXc0ZRUWtoQXd3QkN3d0JDeUFFSUFFZ0FpQUlJQU1Rb0FFaUIwRUFTQTBESUFRb0FnZ2hBU0FFS0FJTUN5RUNJQWRCQkhZaEF5QUhRUTl4SWdjRVFDQUNJQWRJQkVBZ0JDQUJJQUlnQnhCblJRMEVJQVFvQWd3aEFpQUVLQUlJSVFFTElBTWdCbW9pQTBFQ2RDQUxhaWdDQUVFQmRDQU1haUFIUVFKMFFmQXhhaWdDQUNJR0lBRWdBaUFIYXlJQ2RYRWlDVUVBSUFZZ0NTQUhRUUowUWV3eGFpZ0NBRW9iYXlBS2REc0JBQVVDUUNBREJFQWdBMEVQUmdSQURBSUZEQVFMQUF0QkFDRUREQVVMSUFaQkQyb2hBd3NnQTBFQmFpRUdJQU1nRFVnTkFVRUFJUU1NQXdzTElBSWdBMGdFUUNBRUlBRWdBaUFERUdkRkRRWWdCQ2dDRENFQ0lBUW9BZ2doQVF0QkFTQURkRUYvYWlBRFFRSjBRZkF4YWlnQ0FDQUJJQUlnQTJzaUFuVnhhaUVEREFFTERBUUxDeUFBS0FJWUlnQWdCQ2dDQURZQ0FDQUFJQVFvQWdRMkFnUWdCU0FCTmdJTUlBVWdBallDRUFzZ0JTQUROZ0lVQ3lBRklBVW9BaXhCZjJvMkFpd2dCQ1FHUVFFUEN5QUVKQVpCQUF1V0JnRU5meU1HSVFRakJrRXdhaVFHSUFBb0F0UURJUUlnQUNnQ3FBTWhDeUFBS0FLWUFnUkFJQUlvQWl4RkJFQWdBaWdDRUVFSUVEa2hBeUFBS0FMUUF5SUlJQU1nQ0NnQ0dHbzJBaGdnQWtFQU5nSVFJQWdvQWdnaEF5QUFJQU5CL3dCeFFRaHFFUUFBUlFSQUlBUWtCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUU1EUUNBQ1FSaHFJQU5CQW5ScVFRQTJBZ0FnQTBFQmFpSURJQUFvQXRRQ1NBMEFDd3NnQWtFQU5nSVVJQUlnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQWtFQU5nSW9Dd3NMSUFSQkZHb2hCaUFFSVFrZ0FpZ0NLRVVFUUNBR0lBQTJBaEFnQmlBQUtBSVlJZ2NvQWdBaUJUWUNBQ0FHSUFjb0FnUWlDRFlDQkNBQ0tBSU1JUU1nQWlnQ0VDRUVJQWtnQWlrQ0ZEY0NBQ0FKSUFJcEFodzNBZ2dnQ1NBQ0tBSWtOZ0lRSUFBb0F2QUNRUUJLQkVBQ1FFRUFJUWdDUUFOQUlBaEJBblFnQVdvb0FnQWhEaUFDUVRCcUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZzFCQW5ScUtBSUFLQUlVUVFKMGFpZ0NBQ0VLQW44Q1FDQUVRUWhJQkVBZ0JpQURJQVJCQUJCblJRMEVJQVlvQWdnaEF5QUdLQUlNSWdSQkNFZ0VRRUVCSVFVTUFnc0xJQXBCa0FGcUlBTWdCRUY0YW5WQi93RnhJZ1ZCQW5ScUtBSUFJZ2NFZnlBRklBcEJrQWxxYWkwQUFDRUZJQVFnQjJzRlFRa2hCUXdCQ3d3QkN5QUdJQU1nQkNBS0lBVVFvQUVpQTBFQVNBMENJQU1oQlNBR0tBSUlJUU1nQmlnQ0RBc2hCQ0FGQkg4Z0JDQUZTQVJBSUFZZ0F5QUVJQVVRWjBVTkF5QUdLQUlNSVFRZ0JpZ0NDQ0VEQ3lBRlFRSjBRZkF4YWlnQ0FDSUtJQU1nQkNBRmF5SUVkWEVpQjBFQUlBb2dCeUFGUVFKMFFld3hhaWdDQUVvYmF3VkJBQXNnQ1VFRWFpQU5RUUowYWlJRktBSUFhaUVISUFVZ0J6WUNBQ0FPSUFjZ0MzUTdBUUFnQ0VFQmFpSUlJQUFvQXZBQ1NBMEFDeUFBS0FJWUlRY2dCaWdDQUNFRklBWW9BZ1FoQ0F3QkN5QUpKQVpCQUE4TEN5QUhJQVUyQWdBZ0J5QUlOZ0lFSUFJZ0F6WUNEQ0FDSUFRMkFoQWdBaUFKS1FJQU53SVVJQUlnQ1NrQ0NEY0NIQ0FDSUFrb0FoQTJBaVFMSUFJZ0FpZ0NMRUYvYWpZQ0xDQUpKQVpCQVFzdkFRSi9JQUFvQXRRRElnRW9BaEJCQ0JBNUlRSWdBQ2dDMEFNaUFDQUNJQUFvQWhocU5nSVlJQUZCQURZQ0VBdnNEQUVJZnlBQUtBTFVBeUVFSUFBb0Fwd0RJZ0pGSVFNQ1FDQUFLQUxnQVVVRVFBSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0MzQUVnQUNnQ29BTWlBVUhBQUVoeUJFQWdBQ2dDdEFNZ0FVY05BUXNNQVFzZ0FDZ0NBQ0lCUWYwQU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBTElBUkJKa0VuSUFBb0FyUURRVDlHR3pZQ0JDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQkJBU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSUNLQUlVSWdNZ0JFSEVBR29nQTBFQ2RHb1ErUUVnQUNnQ3RBTUVRQ0FBUVFBZ0FpZ0NHQ0lDSUFSQjFBQnFJQUpCQW5ScUVQa0JDeUFFUVJocUlBRkJBblJxUVFBMkFnQWdBVUVCYWlJQklBQW9BdFFDU0EwQUN3c2dBQ2dDOEFKQkFFd05BVUVBSVFFRFFDQUVRZVFBYWlBQlFRSjBhaUFFUWNRQWFpQUFRZGdDYWlBQVFmUUNhaUFCUVFKMGFpZ0NBRUVDZEdvb0FnQWlBeWdDRkVFQ2RHb29BZ0EyQWdBZ0JFR01BV29nQVVFQ2RHb2dCRUhVQUdvZ0F5Z0NHRUVDZEdvb0FnQTJBZ0FnQkVHMEFXb2dBVUVDZEdvZ0F5Z0NOQVIvQW44Z0F5Z0NLQ0VDSUFNb0FpUWhBd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDdEFNT01RQUhCd0VIQndjSEFnY0hCd2NIQndNSEJ3Y0hCd2NIQndRSEJ3Y0hCd2NIQndjSEJRY0hCd2NIQndjSEJ3Y0hCd1lIQzBFQkRBY0xJQUpCQVVkQkEzUkJvQ3RxSUFOQkFVZEJBblJxS0FJQVFRRnFEQVlMSUFKQmYyb2lBa0VDSUFKQkFra2JRUXhzUWJBcmFpQURRWDlxSWdKQkFpQUNRUUpKRzBFQ2RHb29BZ0JCQVdvTUJRc2dBa0YvYWlJQ1FRTWdBa0VEU1J0QkJIUkI0Q3RxSUFOQmYyb2lBa0VESUFKQkEwa2JRUUowYWlnQ0FFRUJhZ3dFQ3lBQ1FYOXFJZ0pCQkNBQ1FRUkpHMEVVYkVHZ0xHb2dBMEYvYWlJQ1FRUWdBa0VFU1J0QkFuUnFLQUlBUVFGcURBTUxJQUpCZjJvaUFrRUZJQUpCQlVrYlFSaHNRWkF0YWlBRFFYOXFJZ0pCQlNBQ1FRVkpHMEVDZEdvb0FnQkJBV29NQWdzZ0FrRi9haUlDUVFZZ0FrRUdTUnRCSEd4Qm9DNXFJQU5CZjJvaUFrRUdJQUpCQmtrYlFRSjBhaWdDQUVFQmFnd0JDeUFDUVg5cUlnSkJCeUFDUVFkSkcwRUZkRUh3TDJvZ0EwRi9haUlDUVFjZ0FrRUhTUnRCQW5ScUtBSUFRUUZxQ3dWQkFBczJBZ0FnQVVFQmFpSUJJQUFvQXZBQ1NBMEFDd3dCQ3lBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQUpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUNOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFJaUFVRUFTZ1IvSUFCQnBBTnFJUVZCQUNFQ0EzOGdBRUhZQW1vZ0FrRUNkR29vQWdBb0FnUWhCaUFBS0FLZ0FTRUlJQUFvQXB3RElnRUVRQ0FHUVFoMElBaHFLQUlBUVFCSUJFQWdBQ2dDQUNJQlFmWUFOZ0lVSUFFZ0JqWUNHQ0FBS0FJQVFRQTJBaHdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FBS0FLY0F5RUJDd1ZCQUNFQkN5QUJJQUFvQXFBRFRBUkFBMEFnQlNnQ0FDQUdRUWgwSUFocUlBRkJBblJxSWdNb0FnQWlCMEVBSUFkQkFFb2JSd1JBSUFBb0FnQWlCMEgyQURZQ0ZDQUhJQVkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEJ5QUFRWDhnQjBFL2NVR3lCV29SQXdBTElBTWdBQ2dDcUFNMkFnQWdBVUVCYWlFRElBRWdBQ2dDb0FOSUJFQWdBeUVCREFFTEN3c2dBa0VCYWlJQ0lBQW9BdFFDSWdGSURRQWdCUXNGSUFCQnBBTnFDeUVDSUFSQklrRWpJQUFvQXB3RElnTkZJZ1ViUVNSQkpTQUZHeUFDS0FJQVJSczJBZ1FnQVVFQVNnUkFBa0FnQkVGQWF5RUdRUUFoQVFOQUlBQkIyQUpxSUFGQkFuUnFLQUlBSVFVZ0F3UkFJQVJCTUdvZ0JTZ0NHQ0lGUVFKMGFpRURJQUJCQUNBRklBTVErUUVnQmlBREtBSUFOZ0lBQlNBQ0tBSUFSUVJBSUFCQkFTQUZLQUlVSWdNZ0JFRXdhaUFEUVFKMGFoRDVBUXNMSUFSQkdHb2dBVUVDZEdwQkFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKT0RRRWdBQ2dDbkFNaEF3d0FBQXNBQ3dzZ0JFRUFOZ0lVSUFSQkFEWUNFQ0FFUVFBMkFnd2dCRUVBTmdJb0lBUWdBQ2dDbUFJMkFpd1BDeUFFUVFBMkFoQWdCRUVBTmdJTUlBUkJBRFlDS0NBRUlBQW9BcGdDTmdJc0M5Y0JBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUhjQVNBQ1FUOXhRY29CYWhFRUFDSUJOZ0xVQXlBQlFmWUFOZ0lBSUFGQjl3QTJBZ2dnQUNnQzRBRkZCRUFnQVVJQU53SkVJQUZDQURjQ1RDQUJRUUEyQWxRZ0FVRUFOZ0pZSUFGQkFEWUNYQ0FCUVFBMkFtQVBDeUFBS0FJRUtBSUFJUUlnQUNBQVFRRWdBQ2dDSkVFSWRDQUNRVDl4UWNvQmFoRUVBQ0lETmdLZ0FTQUFLQUlrUVFCS0JFQkJBQ0VDQTBBZ0F5QUNRUWgwYWtGL1FZQUNFRVVhSUFKQkFXb2lBaUFBS0FJa1NBMEFDd3NnQVVJQU53SXdJQUZDQURjQ09BdkRBZ0VKZnlBQUtBSzRBeUVDSUFBb0FnQWlBMEg4QURZQ0ZDQURJQUkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEF5QUFRWDhnQTBFL2NVR3lCV29SQXdBZ0FVRUJha0VIY1VIUUFYSWhCQ0FCUVFKcVFRZHhRZEFCY2lFRklBRkJCMnBCQjNGQjBBRnlJUVlnQVVFR2FrRUhjVUhRQVhJaEJ3SkFBMEFDUUNBQ1FjQUJTQ0VJSUFJZ0JFWWdBa0Y0Y1VIUUFVZHlJQUlnQlVaeUlRbEJBa0VCSUFJZ0JrWWdBaUFIUm5JYklRb0RRQUpBSUFBb0FnQWlBVUhqQURZQ0ZDQUJJQUkyQWhnZ0FDZ0NBRUVDUVFNZ0NpQUpHeUFJR3lJRE5nSWNJQUFvQWdBb0FnUWhBU0FBUVFRZ0FVRS9jVUd5QldvUkF3QUNRQUpBSUFOQkEzRkJBV3NPQXdRQ0FBRUxRUUVoQUF3RkN3d0JDd3NnQUJDeEFnUkFJQUFvQXJnRElRSU1BZ1ZCQUNFQURBTUxBQXNMSUFCQkFEWUN1QU5CQVE4TElBQUxZZ0VEZnlBQUtBSVlJUUlnQVVFQVRBUkFEd3NnQWlnQ0JDSURJQUZJQkVBRFFDQUNLQUlNSVFRZ0FDQUVRZjhBY1VFSWFoRUFBQm9nQVNBRGF5SUJJQUlvQWdRaUEwb05BQXNMSUFJZ0FTQUNLQUlBYWpZQ0FDQUNJQU1nQVdzMkFnUUw3d0VCQkg5QkJFRUVFSXNCSVFRRFFDQUNRUU5IQkVBZ0FrRUNkQ0VGUVFBaEF3TkFJQU5CQkVjRVFDQUVLQUlBSUFNZ0JXcEJBM1JxSUFKQkJIUWdBR29nQTBFQ2RHb3FBZ0M3T1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVFZENBQmFpQUNRUUowYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BdGpnQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3NnQkJCSkM3MEJBUU4vSUFBb0FoZ2lBU2dDSUVFQlFZQWdJQUVvQWh3UVlTSUNCRUFnQVNBQktBSWdOZ0lBSUFFZ0FqWUNCQ0FCUVFBMkFpUkJBUThMSUFFb0FpUUVRQ0FBS0FJQUlnSkJLellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxBbjhnQUNFRElBQW9BZ0FpQUVIN0FEWUNGQ0FBS0FJRUlRQWdBd3RCZnlBQVFUOXhRYklGYWhFREFDQUJLQUlnUVg4NkFBQWdBU2dDSUVGWk9nQUJJQUVnQVNnQ0lEWUNBQ0FCUVFJMkFnUWdBVUVBTmdJa1FRRUxEQUFnQUNnQ0dFRUJOZ0lrQzVZQkFRSi9JQUFvQWhnaUFrVUVRQ0FBS0FJRUtBSUFJUUlnQUNBQVFRQkJLQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nSVlJQUFvQWdRb0FnQWhBaUFESUFCQkFFR0FJQ0FDUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUlZSVFJTElBSkI5QUEyQWdnZ0FrSFRBRFlDRENBQ1FTODJBaEFnQWtFaE5nSVVJQUpCOVFBMkFoZ2dBaUFCTmdJY0lBSkJBRFlDQkNBQ1FRQTJBZ0FMNmdrQkVuOGpCaUVUSXdaQmdBSnFKQVlnQUNnQzBBSWhGaUFUSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUJLQUlBSUFJdUFRQkJBblJzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUlJQUl1QVRBZ0FTZ0NZR3dpQzJvaURDQUNMZ0ZRSUFFb0FxQUJiQ0lOSUFjZ0FTZ0NJR3dpQjJvaUNtcEJvY3NBYkNJT0lBeEJ1NEovYkdvaURDQUhJQWhxUWJOR2JDSVFJQWhCamhOc2Ftb2hDQ0FPSUFwQmhHZHNhaUlLSUJBZ0IwR0w0QUJzYW1vaEJ5QUtJQXNnRFdwQi9kdCtiQ0lLSUExQnM0TUJiR3BxSVEwZ0JpQUhJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzRnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRUdvaUVTQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0lnVWdBaTRCWUNBQktBTEFBV3dpRW1wQjBTSnNJaFFnQlVIK01HeHFJZ1ZxSWhWcVFRdDFOZ0lBSUFZZ0ZTQUhhMEVMZFRZQzRBRWdCaUFNSUFvZ0MwSFV4QUZzYW1vaUN5QVFJQTVySWdjZ0ZDQVNRZCtKZjJ4cUlneHFJZ3BxUVF0MU5nSWdJQVlnQ2lBTGEwRUxkVFlDd0FFZ0JrRkFheUFOSUFjZ0RHc2lDMnBCQzNVMkFnQWdCaUFMSUExclFRdDFOZ0tnQVNBR0lBZ2dFU0FGYXlJRmFrRUxkVFlDWUNBRklBaHJRUXQxSVFWQklBdEJBblFnQm1vZ0JUWUNBQ0FHUVFScUlRWWdBVUVFYWlFQklBSkJBbW9oQWlBSlFYOXFJUVVnQ1VFQlN3UkFJQVVoQ1F3QkN3c2dGa0dBZldvaENVRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJUVlnQUNnQ0FFR1FnQUZxSVFVQ1FBSkFJQUFvQWdRaUNDQUFLQUlJSWdKeURRQWdBQ2dDREFSQVFRQWhBZ3dCQlNBQUtBSVFCRUJCQUNFQ0RBSUZJQUFvQWhRRVFFRUFJUUlNQXdVZ0FDZ0NHQVJBUVFBaEFnd0VCU0FBS0FJY0JFQkJBQ0VDREFVRklBWWdDU0FGUVFWMlFmOEhjV29zQUFBaUFqb0FBQ0FHUVFGcUlBSkJCeEJGR2dzTEN3c0xEQUVMSUFBb0Fod2lDeUFBS0FJTUlnMXFJZzhnQ0NBQUtBSVVJZ2RxSWd4cVFhSExBR3dpQ2lBUFFidUNmMnhxSWc4Z0NDQUxha0d6Um13aURpQUxRWTRUYkdwcUlRc2dDaUFNUVlSbmJHb2lEQ0FPSUFoQmkrQUFiR3BxSVFnZ0RDQUhJQTFxUWYzYmZtd2lEQ0FIUWJPREFXeHFhaUVISUFZZ0NTQUZJQUFvQWhBaUNtcEJEWFFpRGlBQUtBSVlJaEFnQW1wQjBTSnNJaEVnQWtIK01HeHFJZ0pxSWhJZ0NHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBa2dFaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVlnQ1NBRklBcHJRUTEwSWdVZ0VTQVFRZCtKZjJ4cUlnaHFJZ29nRHlBTUlBMUIxTVFCYkdwcUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUpJQW9nRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFHSUFrZ0JTQUlheUlGSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUlnQmlBSklBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUJTQUdJQWtnRGlBQ2F5SUNJQXRxUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFKSUFJZ0MydEJFblpCL3dkeGFpd0FBRG9BQkFzZ0FFRWdhaUVBSUFGQkFXb2lBVUVJUncwQUN5QVRKQVlMTkFBZ0JDQURLQUlBYWlBQUtBTFFBa0dBZldvZ0FpNEJBQ0FCS0FKVUtBSUFiRUdFSUdwQkEzWkIvd2R4YWl3QUFEb0FBQXZEQVFFRmZ5QUVJQU1vQWdCcUlnVWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkVDQUJLQUpVSWdFb0FpQnNJZ1lnQWk0QkFDQUJLQUlBYkVHRUlHb2lCMm9pQ0NBQ0xnRUNJQUVvQWdSc0lna2dBaTRCRWlBQktBSWtiQ0lCYWlJQ2FrRURka0gvQjNGcUxBQUFPZ0FBSUFVZ0NDQUNhMEVEZGtIL0IzRWdBR29zQUFBNkFBRWdCQ0FES0FJRWFpSUNJQWNnQm1zaUF5QUpJQUZySWdGcVFRTjJRZjhIY1NBQWFpd0FBRG9BQUNBQ0lBTWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDNmdGQVFsL0l3WWhCU01HUVRCcUpBWWdBQ2dDMEFJaENDQUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUhhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRTSUxOZ0lBSUFVZ0FTQUFhMEVMZFRZQ0dDQUZJQWtnQjBGK2JHcEJDM1UyQWd3Z0JTQUdLQUlFSUFJdUFRSkJEWFJzUVlBSWNpSUpJQVlvQWtRZ0FpNEJJa0doTFd4c0lnZHFJZ0VnQmlnQ0pDQUNMZ0VTUWJIT0FHeHNJZ0JxUVF0MUlndzJBZ1FnQlNBQklBQnJRUXQxTmdJY0lBVWdDU0FIUVg1c2FrRUxkU0lOTmdJUUlBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlDU0FHS0FKSUlBSXVBU1JCb1Mxc2JDSUhhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRTSUtOZ0lJSUFVZ0FTQUFhMEVMZFNJR05nSWdJQVVnQ1NBSFFYNXNha0VMZFNJSk5nSVVJQVFnQXlnQ0FHb2lCeUFJUVlCOWFpSUlJQXRCRFhSQmdJQ0l3QUJxSWdJZ0NrR2hMV3hxSWdFZ0RFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBSUlBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQWdnQWlBS1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJRWFpSUhJQWdnQlNnQ0RFRU5kRUdBZ0lqQUFHb2lBaUFKUWFFdGJHb2lBU0FOUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQWdnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0NDQUNJQWxCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdNZ0NDQUZLQUlZUVExMFFZQ0FpTUFBYWlJQ0lBWkJvUzFzYWlJQklBVW9BaHhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBTWdDQ0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQXlBSUlBSWdCa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVa0JndnNDUUVJZnlNR0lRVWpCa0ZBYXlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlDU2dDQUd3aUNDQUNMZ0VnSUFsQlFHc29BZ0JzSWd0cVFRSjBJZ0VnQWk0QkVDQUpLQUlnYkNJQUlBSXVBVEFnQ1NnQ1lHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNBQ0FGSUFFZ0FHczJBakFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJUUlBVWdBU0FBYXpZQ0lDQUZJQUl1QVFJZ0NTZ0NCR3dpQ0NBQ0xnRWlJQWtvQWtSc0lndHFRUUowSWdFZ0FpNEJFaUFKS0FJa2JDSUFJQUl1QVRJZ0NTZ0NaR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQkNBRklBRWdBR3MyQWpRZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVVJQVVnQVNBQWF6WUNKQ0FGSUFJdUFRUWdDU2dDQ0d3aUNDQUNMZ0VrSUFrb0FraHNJZ3RxUVFKMElnRWdBaTRCRkNBSktBSW9iQ0lBSUFJdUFUUWdDU2dDYUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWlJTU5nSUlJQVVnQVNBQWF6WUNPQ0FGSUFnZ0MydEJBblFpQVNBS0lBWkIzNGwvYkdwQkMzVWlBR28yQWhnZ0JTQUJJQUJyTmdJb0lBVWdBaTRCQmlBSktBSU1iQ0lMSUFJdUFTWWdDU2dDVEd3aUJtcEJBblFpQVNBQ0xnRVdJQWtvQWl4c0lnQWdBaTRCTmlBSktBSnNiQ0lLYWtIUklteEJnQWhxSWdJZ0FFSCtNR3hxUVF0MUlnQnFJZ2cyQWd3Z0JTQUJJQUJyTmdJOElBVWdDeUFHYTBFQ2RDSUJJQUlnQ2tIZmlYOXNha0VMZFNJQWFpSUxOZ0ljSUFVZ0FTQUFhellDTENBRUlBTW9BZ0JxSWdZZ0IwR0FmV29pQnlBTUlBVW9BZ0JCa0lBQmFpSUtha0VOZENJQklBZ2dCU2dDQkNJQWFrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFLSUF4clFRMTBJZ0VnQWlBSVFkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWdScUlnZ2dCeUFGS0FJUVFaQ0FBV29pQmlBRktBSVlJZ3BxUVExMElnRWdDeUFGS0FJVUlnQnFRZEVpYkNJQ0lBQkIvakJzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFnZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdDQ0FISUFZZ0NtdEJEWFFpQVNBQ0lBdEIzNGwvYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lDQ0FISUFVb0FpQkJrSUFCYWlJTElBVW9BaWdpQm1wQkRYUWlBU0FGS0FJa0lnQWdCU2dDTENJS2FrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBZ2dCeUFMSUFaclFRMTBJZ0VnQWlBS1FkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ0NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FJd1FaQ0FBV29pQ2lBRktBSTRJZ1JxUVExMElnRWdCU2dDTkNJQUlBVW9BandpQTJwQjBTSnNJZ0lnQUVIK01HeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDaUFFYTBFTmRDSUJJQUlnQTBIZmlYOXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThRQVFwL0l3WWhCU01HUWZBQWFpUUdJQUFvQXRBQ0lRNGdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lFR0lBVWdBaTRCSUNBSVFVQnJLQUlBYkNJQklBSkJRR3N1QVFBZ0NDZ0NnQUZzSWdCcVFjd3liQ0lOSUFZZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVFJQWdvQWlCc0lnQWdBaTRCTUNBSUtBSmdiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnQWdCU0FCSUFCclFRdDFOZ0pRSUFVZ0NpQU5heUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFqd2dCU0FHSUFsQndLVi9iR3BCQzNVMkFpZ2dCU0FDTGdFU0lBZ29BaVJzSWdBZ0FpNEJNaUFJS0FKa2JDSUhha0dhTld3aUJpQUFRZkVnYkdvaURTQUNMZ0VpSUFnb0FrUnNJZ0VnQWk0QlFpQUlLQUtFQVd3aUFHcEJ6REpzSWdrZ0NDZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUNpQUJJQUJySWd0QjBCWnNhaUlNYWlJQWFrRUxkVFlDQkNBRklBQWdEV3RCQzNVMkFsUWdCU0FHSUFkQjNQUitiR29pQVNBTUlBbHJJZ0JxUVF0MU5nSVlJQVZCUUdzZ0FDQUJhMEVMZFRZQ0FDQUZJQW9nQzBIQXBYOXNha0VMZFRZQ0xDQUZJQUl1QVNRZ0NDZ0NTR3dpQVNBQ0xnRkVJQWdvQW9nQmJDSUFha0hNTW13aUJpQUlLQUlJSUFJdUFRUkJEWFJzUVlBSWNpSU5JQUVnQUdzaUNVSFFGbXhxSWdwcUlnRWdBaTRCRkNBSUtBSW9iQ0lBSUFJdUFUUWdDQ2dDYUd3aUMycEJtalZzSWd3Z0FFSHhJR3hxSWdCcVFRdDFOZ0lJSUFVZ0FTQUFhMEVMZFRZQ1dDQUZJQW9nQm1zaUFTQU1JQXRCM1BSK2JHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0pFSUFVZ0RTQUpRY0NsZjJ4cVFRdDFOZ0l3SUFVZ0FpNEJKaUFJS0FKTWJDSUJJQUl1QVVZZ0NDZ0NqQUZzSWdCcVFjd3liQ0lHSUFnb0Fnd2dBaTRCQmtFTmRHeEJnQWh5SWcwZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVdJQWdvQWl4c0lnQWdBaTRCTmlBSUtBSnNiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnd2dCU0FCSUFCclFRdDFOZ0pjSUFVZ0NpQUdheUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDSUNBRklBRWdBR3RCQzNVMkFrZ2dCU0FOSUFsQndLVi9iR3BCQzNVMkFqUWdCU0FDTGdFb0lBZ29BbEJzSWdFZ0FpNEJTQ0FJS0FLUUFXd2lBR3BCekRKc0lnMGdDQ2dDRUNBQ0xnRUlRUTEwYkVHQUNISWlDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQUl1QVJnZ0NDZ0NNR3dpQUNBQ0xnRTRJQWdvQW5Cc0lneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRUxkVFlDRUNBRklBRWdBR3RCQzNVMkFtQWdCU0FMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVF0MU5nSWtJQVVnQVNBQWEwRUxkVFlDVENBRklBa2dDa0hBcFg5c2FrRUxkVFlDT0NBRUlBTW9BZ0JxSWdZZ0RrR0FmV29pQnlBRktBSUlJZ0VnQlNnQ0VDSUFha0hNTW13aURTQUZLQUlBUVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JTZ0NCQ0lBSUFVb0Fnd2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCaUFISUFVb0Fod2lBU0FGS0FJa0lnQnFRY3d5YkNJTklBVW9BaFJCRFhSQmdJQ0l3QUJxSWdrZ0FTQUFheUlLUWRBV2JHb2lDMm9pQVNBRktBSVlJZ0FnQlNnQ0lDSU1ha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVlnQnlBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ1NBS1FjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJSWFpSUdJQWNnQlNnQ01DSUJJQVVvQWpnaUFHcEJ6REpzSWcwZ0JTZ0NLRUVOZEVHQWdJakFBR29pQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFVb0Fpd2lBQ0FGS0FJMElneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdCaUFISUFzZ0RXc2lBU0FDSUF4QjNQUitiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFKSUFwQndLVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FKRUlnRWdCU2dDVENJQWFrSE1NbXdpRFNBRktBSThRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlVGQWF5Z0NBQ0lBSUFVb0FrZ2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0VHb2lDU0FISUFVb0FsZ2lBU0FGS0FKZ0lnQnFRY3d5YkNJS0lBVW9BbEJCRFhSQmdJQ0l3QUJxSWdzZ0FTQUFheUlNUWRBV2JHb2lCR29pQVNBRktBSlVJZ0FnQlNnQ1hDSURha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQWtnQnlBRUlBcHJJZ0VnQWlBRFFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ1NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUpJQWNnQ3lBTVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4RUFROS9Jd1loRUNNR1FaQUJhaVFHSUFBb0F0QUNJUk1nRUNJQUlRVWdBU2dDVkNFQkEwQWdCU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlLSUFFb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJTWFpSU5JQUZCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lPYWlJUElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdGUUlBRW9BcUFCYkNJSWFrRzJGMndpRVNBR0lBSXVBVEFnQVNnQ1lHd2lDV3BCRFhScUloSnFRUXQxTmdJQUlBVWdEeUFTYTBFTGRUWUNlQ0FGSUFvZ0RFRitiR3BCQzNVaUNpQUdJQWxySUFoclFRSjBJZ1pxTmdJWUlBVWdDaUFHYXpZQ1lDQUZJQTBnRG1zaUJpQVJJQWdnQ1d0QkRYUnFJZ2hxUVF0MU5nSXdJQVVnQmlBSWEwRUxkVFlDU0NBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUhRUUZxSWdkQkJrY05BQXNnRTBHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FDZ0NCQ0lISUFBb0FoUWlCbXBCdGhkc0lnc2dCeUFBS0FJTUlnaHFRUTEwYWlJS0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWd3Z0FDZ0NFRUdoTFd3aUNXb2lEU0FBS0FJSVFiSE9BR3dpRG1vaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdEeUFLYTBFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBSElBaHJJQVpyUVExMElnY2dEQ0FKYXlBSmF5SUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBRWdCU0FKSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQkNBRklBMGdEbXNpQnlBTElBWWdDR3RCRFhScUlnWnFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQWNnQm10QkVuWkIvd2R4SUFKcUxBQUFPZ0FESUFCQkdHb2hBQ0FCUVFGcUlnRkJCa2NOQUFzZ0VDUUdDKzBCQVFSL1FRUkJCQkNMQVNFRUEwQWdBa0VEUndSQUlBSkJBblFoQlVFQUlRTURRQ0FEUVFSSEJFQWdCQ2dDQUNBRElBVnFRUU4wYWlBQ1FRVjBJQUJxSUFOQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVGZENBQmFpQUNRUU4wYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDeUFFRUVrTHRRWUJGSDhqQmlFVkl3WkIwQUZxSkFZZ0FDZ0MwQUloR0NBVklnQWhCU0FCS0FKVUlRRURRQ0FDUVVCckxnRUFJQUVvQW9BQmJDSUhJQUl1QVdBZ0FTZ0N3QUZzSWdaclFiYzRiQ0lPSUFJdUFTQWdBVUZBYXlnQ0FHd2lDU0FIYTBHU0ZHd2lFU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQSUFkQmxZcC9iR3BxYWlFS0lBSXVBUkFnQVNnQ0lHd2lDeUFDTGdFd0lBRW9BbUJzSWdocVFlODdiQ0lTSUFzZ0NHdEI4d3BzSWhOcUlBZ2dBaTRCVUNBQktBS2dBV3dpQ0dwQjRhZC9iQ0lVYWlFTklBVWdEeUFHSUFscUloWkJ4dEVBYkdvaUZ5QU9JQVpCZzN0c2Ftb2lCaUFJSUF0cVFhTW5iQ0lMSUJJZ0UydHFJZzVxUVF0MU5nSUFJQVVnQmlBT2EwRUxkVFlDcUFFZ0JTQUtJQTFxUVF0MU5nSWNJQVVnQ2lBTmEwRUxkVFlDakFFZ0JTQVhJQkVnQ1VIeDRYNXNhbW9pQmlBVUlBc2dDRUhlOXdCc2Ftb2lDV3BCQzNVMkFqZ2dCU0FHSUFsclFRdDFOZ0p3SUFVZ0R5QUhJQlpyUWNIYUFHeHFRUXQxTmdKVUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUhSdzBBQ3lBWVFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlZSWdkclFiYzRiQ0lOSUFBb0FnZ2lCaUFNYTBHU0ZHd2lFQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQXhCbFlwL2JHcHFhaUVQSUFBb0FnUWlDaUFBS0FJTUlnVnFRZTg3YkNJT0lBb2dCV3RCOHdwc0loRnFJQVVnQUNnQ0ZDSUxha0hocDM5c0loSnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQ1NBR0lBZHFJaE5CeHRFQWJHb2lGQ0FOSUFkQmczdHNhbW9pQnlBS0lBdHFRYU1uYkNJS0lBNGdFV3RxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBY2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUZJQUlnQ0NBUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVBJQWhyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJRZ0VDQUdRZkhoZm14cWFpSUhJQklnQ2lBTFFkNzNBR3hxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFrZ0RDQVRhMEhCMmdCc2FrRVNka0gvQjNGcUxBQUFPZ0FESUFCQkhHb2hBQ0FCUVFGcUlnRkJCMGNOQUFzZ0ZTUUdDNklIQVJSL0l3WWhGU01HUWFBQ2FpUUdJQUFvQXRBQ0lSZ2dGU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUJLQUxBQVNBQ0xnRmdRYUV0Ykd3aUJtb2hDQ0FISUFacklBWnJJaEFnQWk0QklDQUJRVUJyS0FJQWJDSUdJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZHJJaEZCb1Mxc2FpRUpJQUl1QVJBZ0FTZ0NJR3dpQ2lBQ0xnRlFJQUVvQXFBQmJDSU1ha0dYT213aERTQUZJQWdnQmlBSGFrR0gxUUJzSWhJZ0IwSGNEMndpRTJ0cUloUWdDaUFDTGdGd0lBRW9BdUFCYkNJSGFrSDZIbXdpRmlBTklBRW9BbUFnQWk0Qk1FSFBzWDlzYkNJT2Eyb2lGMnBCQzNVMkFnQWdCU0FVSUJkclFRdDFOZ0tBQWlBRklBa2dDaUFNYXlBSGEwR3h6Z0JzSWdwcVFRdDFOZ0lnSUFVZ0NTQUthMEVMZFRZQzRBRWdCVUZBYXlBR1FhdkZBR3dpQmlBSUlCSnJhaUlKSUEwZ0RpQU1JQWRyUVpIWkFHd2lCMnRxSWdwcVFRdDFOZ0lBSUFVZ0NTQUthMEVMZFRZQ3dBRWdCU0FUSUFnZ0JtdHFJZ2dnRmlBSElBNXFhaUlHYWtFTGRUWUNZQ0FGSUFnZ0JtdEJDM1UyQXFBQklBVWdFQ0FSUWI2bGYyeHFRUXQxTmdLQUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FMUVFGcUlndEJDRWNOQUFzZ0dFR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUlJQUFvQWhoQm9TMXNJZ1ZxSVFzZ0NDQUZheUFGYXlJT0lBQW9BZ2dpQ0NBQUtBSVFJZ1pySWc5Qm9TMXNhaUVISUFBb0FnUWlDU0FBS0FJVUlncHFRWmM2YkNFTUlBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBc2dCaUFJYWtHSDFRQnNJaEFnQmtIY0Qyd2lFV3RxSWhJZ0NTQUFLQUljSWdacVFmb2ViQ0lUSUF3Z0FDZ0NERUhQc1g5c0lnMXJhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBU0lCUnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1NBS2F5QUdhMEd4emdCc0lnbHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NFR3J4UUJzSWdnZ0N5QVFhMm9pQnlBTUlBMGdDaUFHYTBHUjJRQnNJZ1pyYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJFZ0N5QUlhMm9pQ3lBVElBWWdEV3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnRGlBUFFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFSlJ3MEFDeUFWSkFZTC9nY0JGWDhqQmlFVkl3WkJ3QUpxSkFZZ0FDZ0MwQUloR1NBVklnQWhCU0FCS0FKVUlRRURRQ0FDTGdFd0lBRW9BbUJzSWdZZ0FpNEJjQ0FCS0FMZ0FXd2lDbW9oQnlBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlna2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUMwR2R5UUJzYWlJUUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSVJha0dhTld3aURTQU1RZkVnYkdvaURHb2lEaUFHSUFwcklncEI0eE5zSWhJZ0FpNEJVQ0FCS0FLZ0FXd2lGRUVOZENJUGFpSVdJQWRCN3p4c0loY2dBaTRCRUNBQktBSWdiQ0lHUWJQWkFHeHFhaUlZYWtFTGRUWUNBQ0FGSUE0Z0dHdEJDM1UyQXFBQ0lBVWdDU0FMUVlSa2JHb2lEaUFOSUJGQjNQUitiR29pRVdvaURTQUdRZFBRQUd3Z0IwSFBKV3dpQjJzZ0R5QVNheUFLUVF4MGF5SVNheUlQYWtFTGRUWUNJQ0FGSUEwZ0QydEJDM1UyQW9BQ0lBVkJRR3NnQ1NBTFFiNmxmMnhxUVF0MUlna2dCaUFVYXlBS2EwRUNkQ0lMYWpZQ0FDQUZJQWtnQzJzMkF1QUJJQVVnRGlBUmF5SUpJQklnQmtHTUtXd2dCMnRxSWdkcVFRdDFOZ0pnSUFVZ0NTQUhhMEVMZFRZQ3dBRWdCU0FRSUF4cklnY2dGaUFHUVpRT2JDQVhhMm9pQm1wQkMzVTJBb0FCSUFVZ0J5QUdhMEVMZFRZQ29BRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ0VFQmFpSUlRUWhIRFFBTElCbEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0RDSUlJQUFvQWh3aUNtb2hCaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUNVR2R5UUJzYWlJVElBQW9BZ2dpQ3lBQUtBSVlJaEJxUVpvMWJDSU1JQXRCOFNCc2FpSVJhaUlOSUFBb0FoUkJEWFFpQ3lBSUlBcHJJZ3BCNHhOc0lnNXFJaElnQmtIdlBHd2lGQ0FBS0FJRUlnaEJzOWtBYkdwcUlnOXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQTBnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0J5QUpRWVJrYkdvaURTQU1JQkJCM1BSK2JHb2lFR29pRENBSVFkUFFBR3dnQmtIUEpXd2lCbXNnQ3lBT2F5QUtRUXgwYXlJT2F5SVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFNSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDVUcrcFg5c2FpSUhJQWdnQ210QkRYUWdDMnNpQ1dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0J5QUphMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJCcklnY2dEaUFJUVl3cGJDQUdhMm9pQm1wQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFUSUJGcklnWWdFaUFJUVpRT2JDQVVhMm9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGU1FHQzk0SkFSbC9Jd1loR1NNR1FlQUNhaVFHSUFBb0F0QUNJUjBnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0VnSUFGQlFHc29BZ0JzSWdsclFja2JiQ0VVSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhZZ0NTQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlJUUlBWnJJaGRCN05ZQWJHb2hEaUFVSUFZZ0IydEIvcUlCYkNBT2FpSVJJQVpCdEl0L2JHcHFJUW9nQWk0QmNDQUJLQUxnQVd3aUN5QUNMZ0ZRSUFFb0FxQUJiQ0lOSUFJdUFSQWdBU2dDSUd3aUNDQUNMZ0V3SUFFb0FtQnNJZzlxSWhOcWFrSEFHV3dpRWlBSUlBdHFRYmdYYkdvaUdDQUlJQTFxUWZRcWJDSWFJQk5CNmpoc0loc2dDRUgyUkd4cWFtb2hDQ0FOSUE5cVFjbTFmMndnRW1vaUhDQU5RZHF6ZjJ3Z0dtcHFJUk1nQlNBUklBZEJ0WWNCYkdvaUVTQUlha0VMZFRZQ0FDQUZJQkVnQ0d0QkMzVTJBc0FDSUFVZ0hDQUxJQTlxUWZXTWYyd2lDQ0FQUWRpRUFXd2dHMnBxYWlJUklBcHFRUXQxTmdJZ0lBVWdDaUFSYTBFTGRUWUNvQUlnQlVGQWF5QVRJQkJCaGJaL2JDQU9haUlLSUFkQncwMXNhaUlIYWtFTGRUWUNBQ0FGSUFjZ0UydEJDM1UyQW9BQ0lBVWdDQ0FMUWNlR0FXeHFJQmhxSWdjZ0RpQVVhaUFKUVpHZmYyeHFJZzVxUVF0MU5nSmdJQVVnRGlBSGEwRUxkVFlDNEFFZ0JTQVBRWTJpZjJ3Z0RVR0x3QUJzYWlBTFFaYVVmMnhxSUJKcUlnc2dDaUFHUWJuOEFHd2dDVUg5cG45c2Ftb2lCbXBCQzNVMkFvQUJJQVVnQmlBTGEwRUxkVFlDd0FFZ0JTQVdJQmRCdjZWL2JHcEJDM1UyQXFBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBZFFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlJSWc5clFja2JiQ0VPSUFBb0FnQkJEWFJCZ0lDSXdBQnFJaE1nRHlBQUtBSVlJZ2xxSWhVZ0RHc2lGa0hzMWdCc2FpRUhJQTRnRENBSmEwSCtvZ0ZzSUFkcUloQWdERUcwaTM5c2Ftb2hDQ0FBS0FJY0lnWWdBQ2dDRkNJTElBQW9BZ1FpQlNBQUtBSU1JZzFxSWdwcWFrSEFHV3dpRkNBRklBWnFRYmdYYkdvaUZ5QUZJQXRxUWZRcWJDSVNJQXBCNmpoc0loRWdCVUgyUkd4cWFtb2hDaUFVSUFzZ0RXcEJ5YlYvYkdvaUdDQVNJQXRCMnJOL2JHcHFJUklnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRUNBSlFiV0hBV3hxSWhBZ0NtcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdFQ0FLYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBSUlCZ2dCaUFOYWtIMWpIOXNJZ29nRVNBTlFkaUVBV3hxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDQ0FRYTBFU2RrSC9CM0ZxTEFBQU9nQUpJQVVnQWlBVlFZVzJmMndnQjJvaUNDQUpRY05OYkdvaUNTQVNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFKSUJKclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dEbW9nRDBHUm4zOXNhaUlKSUJjZ0NpQUdRY2VHQVd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFKSUFkclFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dERUc1L0FCc0lBOUIvYVovYkdwcUlnd2dGQ0FOUVkyaWYyd2dDMEdMd0FCc2FpQUdRWmFVZjJ4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFNSUFaclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCTWdGa0cvcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDMGNOQUFzZ0dTUUdDNWtKQVJkL0l3WWhHU01HUVlBRGFpUUdJQUFvQXRBQ0lSc2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUJLQUtBQVNBQ1FVQnJMZ0VBUWJIT0FHeHNJaEpxSVEwZ0NTQUNMZ0VnSUFGQlFHc29BZ0JzSWdwQkRYUWdBU2dDd0FFZ0FpNEJZRUVOZEd3aURtc2lFR29oRVNBRklBMGdDa0cyMXdCc0lBNXFJaGRxSWhNZ0FpNEJjQ0FCS0FMZ0FXd2lCaUFDTGdFUUlBRW9BaUJzSWdjZ0FpNEJVQ0FCS0FLZ0FXd2lDR29pQzJwQmpUZHNJZzhnQzBIYkVHeHFJaFFnQWk0Qk1DQUJLQUpnYkNJTFFjL1RBR3dpR0NBSFFmY1JiR3BxSWhWcVFRdDFOZ0lBSUFVZ0V5QVZhMEVMZFRZQzRBSWdCU0FMSUFockloTWdCeUFHYXlJVmFrSFJJbXdpR2lBVlFmNHdiR29pRlNBUmFrRUxkVFlDSUNBRklCRWdGV3RCQzNVMkFzQUNJQVZCUUdzZ0NTQVNheUlSSUFwQnRoZHNJQTVySWdwcUlnNGdGQ0FHSUFocVFZdTlmMndpRWlBTFFhOWRiQ0lMSUFoQnNLRi9iR3BxYWlJSWFrRUxkVFlDQUNBRklBNGdDR3RCQzNVMkFxQUNJQVVnRVNBS2F5SUlJQklnRHlBR1FjYmxBR3dnR0d0cWFpSUtha0VMZFRZQ1lDQUZJQWdnQ210QkMzVTJBb0FDSUFVZ0dpQVRRZCtKZjJ4cUlnZ2dDU0FRYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWhyUVF0MU5nTGdBU0FGSUEwZ0Yyc2lDU0FQSUFzZ0IwSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0tnQVNBRklBa2dCbXRCQzNVMkFzQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWJRWUI5YWlFQ1FRQWhBUU5BSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VFR3h6Z0JzSWd0cUlRZ2dCaUFBS0FJSUlnMUJEWFFnQUNnQ0dFRU5kQ0lLYXlJV2FpRU9JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWdnRFVHMjF3QnNJQXBxSWhKcUloQWdBQ2dDSENJTUlBQW9BZ1FpQ1NBQUtBSVVJZ2RxSWc5cVFZMDNiQ0lSSUE5QjJ4QnNhaUlYSUFBb0Fnd2lEMEhQMHdCc0loTWdDVUgzRVd4cWFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFRSUJSclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBNGdDU0FNYXlJUUlBOGdCMnNpRkdwQjBTSnNJaGdnRUVIK01HeHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUE0Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdCaUFMYXlJT0lBMUJ0aGRzSUFwcklnMXFJZ29nRnlBSElBeHFRWXU5ZjJ3aUN5QVBRYTlkYkNJUElBZEJzS0YvYkdwcWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFLSUFkclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBNGdEV3NpQnlBTElCRWdERUhHNVFCc0lCTnJhbW9pRFdwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QU5hMEVTZGtIL0IzRnFMQUFBT2dBSUlBVWdBaUFHSUJacklnWWdHQ0FVUWQrSmYyeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFZZ0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDQ0FTYXlJR0lCRWdEeUFKUWR4VWJHb2dERUdNZ1g5c2Ftb2lER3BCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQmlBTWEwRVNka0gvQjNGcUxBQUFPZ0FHSUFCQklHb2hBQ0FCUVFGcUlnRkJERWNOQUFzZ0dTUUdDK3dLQVJoL0l3WWhHU01HUWFBRGFpUUdJQUFvQXRBQ0lSd2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRmdJQUVvQXNBQmJDSUhhaUVOSUFJdUFSQWdBU2dDSUd3aURpQUNMZ0V3SUFFb0FtQnNJZ2hxUWREVUFHd2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhFZ0JpQUhheUlLUVprR2JHb2lEeUFOUWZuSkFHd2lFaUFDTGdFZ0lBRkJRR3NvQWdCc0lnWkI4ZGNBYkdwcUloTWdEaUFDTGdGd0lBRW9BdUFCYkNJTGFpSVhRWUk4YkNJVUlBNGdBaTRCVUNBQktBS2dBV3dpQjJwQnZzb0FiQ0lWSUFrZ0RrSGIvbjVzYW1wcUloWnFRUXQxTmdJQUlBVWdFeUFXYTBFTGRUWUNnQU1nQlNBSUlBdHFRY0sxZjJ3aUV5QUhJQWhxUWF0cWJDSVdJQWhCeXpWc0lBbHFhbW9pQ1NBUklBcEJsUjlzYWlJWUlBWkI0TU1BYkNBTlFhQVViQ0lhYTJvaUcycEJDM1UyQWlBZ0JTQWJJQWxyUVF0MU5nTGdBaUFGUVVCcklBY2dDMnBCK0ZWc0lna2dGaUFIUWJHYmYyeHFJQlZxYWlJVklBOGdCa0dNSUd3Z0VtdHFJZzlxUVF0MU5nSUFJQVVnRHlBVmEwRUxkVFlDd0FJZ0JTQVRJQXRCbEkwQmJHb2dGR29nQ1dvaUNTQVJJQXBCZ2tSc2FpSVBJQVpCakhWc0lBMUI4aHRzSWcxcmFpSVNha0VMZFRZQ1lDQUZJQklnQ1d0QkMzVTJBcUFDSUFVZ0NFR1dZbXdnRjBIVkZXd2dCeUFJYTBHQ1BHeHFJZ2dnRGtHekZHeHFhaUlPSUE4Z0RTQUdRY3RNYkdwcUlnMXFRUXQxTmdLQUFTQUZJQTBnRG10QkMzVTJBb0FDSUFVZ0NDQUhRYzRZYkdvZ0MwRy9rSDlzYWlJSUlCZ2dHaUFHUWU2dmYyeHFhaUlIYWtFTGRUWUNvQUVnQlNBSElBaHJRUXQxTmdMZ0FTQUZJQkVnQ2lBR2EwSEIyZ0JzYWtFTGRUWUN3QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0RFRUJhaUlNUVFoSERRQUxJQnhCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NFQ0lNSUFBb0FoZ2lDR29oQ3lBQUtBSUVJZ2NnQUNnQ0RDSUdha0hRMUFCc0lRb2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURTQU1JQWhySWhGQm1RWnNhaUlKSUF0Qitja0FiQ0lRSUFBb0FnZ2lERUh4MXdCc2Ftb2lEeUFISUFBb0Fod2lEbW9pRWtHQ1BHd2lFeUFISUFBb0FoUWlDR3BCdnNvQWJDSVhJQW9nQjBIYi9uNXNhbXBxSWhScVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdGR3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnRFNBUlFaVWZiR29pRHlBTVFlRERBR3dnQzBHZ0ZHd2lGR3RxSWhVZ0JpQU9ha0hDdFg5c0loWWdCaUFJYWtHcmFtd2lHQ0FLSUFaQnl6VnNhbXBxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCVWdDbXRCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ1NBTVFZd2diQ0FRYTJvaUNpQUlJQTVxUWZoVmJDSUpJQmNnR0NBSVFiR2JmMnhxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDaUFRYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBTklCRkJna1JzYWlJS0lBeEJqSFZzSUF0QjhodHNJZ3RyYWlJUUlCTWdGaUFPUVpTTkFXeHFhaUFKYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQVFJQWxyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUFvZ0N5QU1RY3RNYkdwcUlnc2dCa0dXWW13Z0VrSFZGV3dnQ0NBR2EwR0NQR3hxSWdZZ0IwR3pGR3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUxJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUE4Z0ZDQU1RZTZ2ZjJ4cWFpSUhJQVlnQ0VIT0dHeHFJQTVCdjVCL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkVnREd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVExSERRQUxJQmtrQmd2Q0NnRVpmeU1HSVJvakJrSEFBMm9rQmlBQUtBTFFBaUVkSUJvaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVhBZ0FTZ0M0QUZzSWhaQkRYUWlDU0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9pREVIU3pBQnNJaEVnQmlBQ0xnRXdJQUVvQW1Cc0lncHFRYmZWQUd3aUVpQUdRZkMzZjJ4cWFtb2hDeUFHSUFwckloTkI4aDFzSUFsckloZ2dERUdVTUd3aUZ5QUdRWXU4ZjJ4cWFpRVFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lNUWNiUkFHeHFJaFFnQWk0QklDQUJRVUJyS0FJQWJDSU5JQUl1QVdBZ0FTZ0N3QUZzSWc1cVFlTEdBR3dpRlNBTlFiMFJiR29pRzJvaUdTQUxha0VMZFRZQ0FDQUZJQmtnQzJ0QkMzVTJBcUFESUFVZ0J5QUtha0h2ZFd3Z0NXc2lDeUFLUWU1a2JDQVNhbW9pRWlBR0lBeEJraFJzYWlJWklCVWdEa0g4a1g5c2FpSVZhaUljYWtFTGRUWUNJQ0FGSUJ3Z0VtdEJDM1UyQW9BRElBVkJRR3NnQ3lBSFFZbm9mbXdnRVdwcUlnc2dCaUFNUWNsSGJHb2lFU0FOUWFNbmJDQU9RZUduZjJ4cUlnMXFJZzVxUVF0MU5nSUFJQVVnRGlBTGEwRUxkVFlDNEFJZ0JTQVRJQWRySUJacVFRSjBJZ3NnQmlBTVFiNmxmMnhxUVF0MUlnWnFOZ0pnSUFVZ0JpQUxhellDd0FJZ0JTQUhJQXByUWZqWkFHd2lCaUFIUWVhVGYyeHFJQmRxSUFscUlnY2dFU0FOYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWRyUVF0MU5nS2dBaUFGSUFZZ0NrR1pLMnhxSUJocUlnY2dHU0FWYXlJS2FrRUxkVFlDb0FFZ0JTQUtJQWRyUVF0MU5nS0FBaUFGSUJRZ0cyc2lCeUFRYWtFTGRUWUN3QUVnQlNBSElCQnJRUXQxTmdMZ0FTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FJUVFGcUlnaEJDRWNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJY1FRMTBJZ29nQUNnQ0JDSUZJQUFvQWhRaUNHb2lCa0hTekFCc0lnNGdCU0FBS0FJTUlnZHFRYmZWQUd3aUR5QUZRZkMzZjJ4cWFtb2hEQ0FGSUFkckloRkI4aDFzSUFwckloSWdCa0dVTUd3aUZpQUZRWXU4ZjJ4cWFpRUxJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUNJSlFjYlJBR3hxSWhjZ0FDZ0NDQ0lRSUFBb0FoZ2lEV3BCNHNZQWJDSVRJQkJCdlJGc2FpSVlhaUlVSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCUWdER3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQmlBSlFaSVViR29pRENBVElBMUIvSkYvYkdvaUUyb2lGQ0FISUFocVFlOTFiQ0FLYXlJVklBOGdCMEh1Wkd4cWFpSVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFVSUE5clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBWWdDVUhKUjJ4cUlnOGdFRUdqSjJ3Z0RVSGhwMzlzYWlJUWFpSU5JQlVnRGlBSVFZbm9mbXhxYWlJT2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQTVyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUFZZ0NVRytwWDlzYWlJR0lBb2dFU0FJYTBFTmRHb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQmlBSmEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQVBJQkJySWdZZ0ZpQUlJQWRyUWZqWkFHd2lDU0FLSUFoQjVwTi9iR3BxYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUdJQWhyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUF3Z0Uyc2lDQ0FTSUFrZ0IwR1pLMnhxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUlJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUJjZ0dHc2lDQ0FMYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSUlBdHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVPUncwQUN5QWFKQVlMbmdzQkczOGpCaUVkSXdaQjRBTnFKQVlnQUNnQzBBSWhIeUFkSWdBaEJTQUJLQUpVSVFFRFFDQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUxJQUl1QVdBZ0FTZ0N3QUZzSWdoQmhHUnNhaUVSSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDUVVCckxnRUFJQUVvQW9BQmJDSVRheUVISUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0V3SUFFb0FtQnNJZ29nQWk0QmNDQUJLQUxnQVd3aURXc2lGbXBCbWpWc0loY2dCa0h4SUd4cUlRa2dBU2dDb0FFZ0FpNEJVRUd4emdCc2JDSU9JQVlnRFdzaUdFR0MyZ0JzYWlJUElBMUJvNTBCYkNBS1FmYXBmMndpR1d0cUlSSWdEeUFLUWVaS2JDSWFJQVpCNTdoL2JHcHFJUW9nQlNBU0lBc2dDRUdkeVFCc2FpSVBJQXdnRTJvaUUwSE8xUUJzSWhRZ0IwSDJBbXdpRzJwcUloeHFRUXQxTmdJQUlBVWdIQ0FTYTBFTGRUWUN3QU1nQlNBUklCTkJ6REpzSWhJZ0IwSFFGbXdpSEdwcUloNGdDV3BCQzNVMkFpQWdCU0FlSUFsclFRdDFOZ0tnQXlBRlFVQnJJQmhCc2M0QWJDQU9heUlKSUFzZ0NFRytwWDlzYWlJTElBZEJvQzFzYWlJSWFrRUxkVFlDQUNBRklBZ2dDV3RCQzNVMkFvQURJQVVnQmlBTmFrSG9KR3dpQ0NBR1Fia2ViQ0FhYWlBT2Eyb2lCaUFSSUJzZ0RFR1QzQUJzSWd3Z0ZHdHFhaUlKYWtFTGRUWUNZQ0FGSUFrZ0JtdEJDM1UyQXVBQ0lBVWdIQ0FQSUJKcmFpSUdJQmNnRmtIYzlINXNhaUlKYWtFTGRUWUNnQUVnQlNBR0lBbHJRUXQxTmdMQUFpQUZJQWdnRGlBWmFpQU5RYTlJYkdwcUlnWWdCMEc1Wm13aURTQVBJQk5CZ2lOc0lnNXJhaUlJYWtFTGRUWUNvQUVnQlNBSUlBWnJRUXQxTmdLZ0FpQUZJQW9nRVNBTklBNGdER3RxYWlJR2FrRUxkVFlDd0FFZ0JTQUdJQXByUVF0MU5nS0FBaUFGSUFzZ0IwSEFwWDlzYWtFTGRUWUM0QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0VFRUJhaUlRUVFoSERRQUxJQjlCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NBRUVOZEVHQWdJakFBR29pRGlBQUtBSVlJZ3RCaEdSc2FpRU5JQUFvQWdnaUNDQUFLQUlRSWc5cklSQWdBQ2dDQkNJSElBQW9BZ3dpQlNBQUtBSWNJZ1pySWhOcVFabzFiQ0lWSUFkQjhTQnNhaUVNSUFBb0FoUkJzYzRBYkNJUklBY2dCbXNpRmtHQzJnQnNhaUlKSUFaQm81MEJiQ0FGUWZhcGYyd2lGMnRxSVFvZ0NTQUZRZVpLYkNJWUlBZEI1N2gvYkdwcUlRa2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdEaUFMUVozSkFHeHFJaElnQ0NBUGFpSVBRYzdWQUd3aUdTQVFRZllDYkNJYWFtb2lGQ0FLYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBVUlBcHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQTBnRDBITU1td2lDaUFRUWRBV2JDSVVhbW9pR3lBTWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWJJQXhyUVJKMlFmOEhjV29zQUFBNkFBMGdCU0FDSUE0Z0MwRytwWDlzYWlJT0lCQkJvQzFzYWlJTElCWkJzYzRBYkNBUmF5SU1ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUF4clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBMGdHaUFJUVpQY0FHd2lDeUFaYTJwcUlnZ2dCaUFIYWtIb0pHd2lEQ0FZSUFkQnVSNXNhaUFSYTJvaUIycEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDQ0FIYTBFU2RrSC9CM0ZxTEFBQU9nQUxJQVVnQWlBVUlCSWdDbXRxSWdjZ0ZTQVRRZHowZm14cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0VFRzVabXdpQnlBU0lBOUJnaU5zSWdocmFpSUtJQXdnRVNBWGFpQUdRYTlJYkdwcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQW9nQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQUhJQWdnQzJ0cWFpSUhJQWxxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdEaUFRUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVQUncwQUN5QWRKQVlMMnd3QkhuOGpCaUVnSXdaQmdBUnFKQVlnQUNnQzBBSWhJaUFnSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0VnSUFGQlFHc29BZ0JzSWhBZ0FpNEJZQ0FCS0FMQUFXd2lEMnNpRVVIVUVXd2hEQ0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9oQ2lBR0lBSXVBWEFnQVNnQzRBRnNJZzFxUWZ6RkFHd2lGeUFLUWVuUEFHd2lFeUFHSUFJdUFUQWdBU2dDWUd3aUNHcEJ6dFlBYkNJTElBWkIxdTErYkdwcWFpRU9JQVlnRFd0QnRqbHNJaGtnQ2tIVkttd2lHQ0FHSUFoclFhTWFiQ0lTSUFaQndvcC9iR3BxYWlFS0lBZ2dEV29pQmtHclZXd2lHaUFISUFocVFmQUliQ0lVSUFoQnpRUnNJQXRxYW1vaEN5QUdRWmV3ZjJ3aUd5QUhJQWhyUVluYUFHd2lIQ0FJUVpyK0FHd2dFbXBxYWlFSUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSVNRYy9UQUd3aUhXb2lGU0FSUWVQWUFHd2lFU0FQUVlPa0FXeHFJaDVxSWg4Z0RtcEJDM1UyQWdBZ0JTQWZJQTVyUVF0MU5nTGdBeUFGSUFzZ0JpQVNRZEVpYkNJT2FpSVNJQXdnRUVITk9XeHFJaDlxSWlGcVFRdDFOZ0lnSUFVZ0lTQUxhMEVMZFRZQ3dBTWdCVUZBYXlBSElBMXFRYktwZjJ3aUN5QVVJQWRCK3JkL2JHb2dFMnBxSWhNZ0JpQU9heUlPSUJFZ0VFSENXV3hxSWhCcUloRnFRUXQxTmdJQUlBVWdFU0FUYTBFTGRUWUNvQU1nQlNBYUlBMUJtTVFBYkdvZ0Yyb2dDMm9pQ3lBR0lCMXJJZ1lnRENBUFFiQmZiR29pRDJvaURHcEJDM1UyQW1BZ0JTQU1JQXRyUVF0MU5nS0FBeUFGSUJzZ0RVR0Z5UUZzYWlBWmFpQU5JQWRyUWFNYWJDSU5haUlNSUFZZ0Qyc2lCbXBCQzNVMkFvQUJJQVVnQmlBTWEwRUxkVFlDNEFJZ0JTQWNJQWRCK2s1c2FpQVlhaUFOYWlJR0lBNGdFR3NpQjJwQkMzVTJBcUFCSUFVZ0J5QUdhMEVMZFRZQ3dBSWdCU0FJSUJJZ0gyc2lCbXBCQzNVMkFzQUJJQVVnQmlBSWEwRUxkVFlDb0FJZ0JTQUtJQlVnSG1zaUJtcEJDM1UyQXVBQklBVWdCaUFLYTBFTGRUWUNnQUlnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFoSERRQUxJQ0pCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NDQ0lOSUFBb0FoZ2lDR3NpQzBIVUVXd2hFQ0FBS0FJRUlnVWdBQ2dDRkNJSmFpRVBJQVVnQUNnQ0hDSUdha0g4eFFCc0loWWdEMEhwendCc0loRWdCU0FBS0FJTUlnZHFRYzdXQUd3aUNpQUZRZGJ0Zm14cWFtb2hEQ0FGSUFaclFiWTViQ0lYSUE5QjFTcHNJaE1nQlNBSGEwR2pHbXdpRGlBRlFjS0tmMnhxYW1vaER5QUdJQWRxSWdWQnExVnNJaGdnQnlBSmFrSHdDR3dpRWlBS0lBZEJ6UVJzYW1wcUlRb2dCVUdYc0g5c0loa2dDU0FIYTBHSjJnQnNJaG9nRGlBSFFacitBR3hxYW1vaERpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpRkVIUDB3QnNJaHRxSWh3Z0MwSGoyQUJzSWdzZ0NFR0RwQUZzYWlJZGFpSVZJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJVZ0RHdEJFblpCL3dkeGFpd0FBRG9BRHlBRklBSWdCeUFVUWRFaWJDSU1haUlVSUJBZ0RVSE5PV3hxSWhWcUloNGdDbXBCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnSGlBS2EwRVNka0gvQjNGcUxBQUFPZ0FPSUFVZ0FpQUhJQXhySWd3Z0N5QU5RY0paYkdvaURXb2lDaUFHSUFscVFiS3BmMndpQ3lBUklCSWdDVUg2dDM5c2FtcHFJaEZxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFvZ0VXdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCeUFiYXlJSElCQWdDRUd3WDJ4cUlnaHFJaEFnRmlBWUlBWkJtTVFBYkdwcUlBdHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUJBZ0NtdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFJYXlJSElCY2dHU0FHUVlYSkFXeHFhaUFHSUFsclFhTWFiQ0lHYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQWhyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUF3Z0RXc2lCeUFUSUJvZ0NVSDZUbXhxYWlBR2FpSUpha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lCUWdGV3NpQ1NBT2FrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUpJQTVyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUJ3Z0hXc2lDU0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBSklBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QWdKQVlMN2dzQkhIOGpCaUVYSXdaQmdBSnFKQVlnQUNnQzBBSWhJQ0FYSWdBaEJTQUJLQUpVSVFGQkNDRUlBMEFDZndKQUlBSXVBUkFpQ2lBQ0xnRWdJZ1p5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFR0RBSUZJQUpCUUdzdUFRQUVmMEVBSVFZTUF3VWdBaTRCVUFSL1FRQWhCZ3dFQlNBQ0xnRmdCSDlCQUNFR0RBVUZJQUl1QVhBRWYwRUFJUVlNQmdVZ0JTQUJLQUlBSUFJdUFRQkJBblJzSWdZMkFnQWdCU0FHTmdJZ0lBVkJRR3NnQmpZQ0FDQUZJQVkyQW1BZ0JTQUdOZ0tBQVNBRklBWTJBcUFCSUFVZ0JqWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUhJQUl1QVRBZ0FTZ0NZR3dpRFdvaUN5QUNMZ0ZRSUFFb0FxQUJiQ0lNSUFvZ0FTZ0NJR3dpQ21vaUNXcEJvY3NBYkNJUElBdEJ1NEovYkdvaUN5QUhJQXBxUWJOR2JDSU9JQWRCamhOc2Ftb2hCeUFQSUFsQmhHZHNhaUlKSUE0Z0NrR0w0QUJzYW1vaENpQUpJQXdnRFdwQi9kdCtiQ0lKSUF4QnM0TUJiR3BxSVF3Z0JTQUtJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzhnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRG1vaUVpQUJRVUJyS0FJQUlBWkJFSFJCRUhWc0lnWWdBaTRCWUNBQktBTEFBV3dpRVdwQjBTSnNJaE1nQmtIK01HeHFJZ1pxSWhScVFRdDFOZ0lBSUFVZ0ZDQUthMEVMZFRZQzRBRWdCU0FMSUFrZ0RVSFV4QUZzYW1vaURTQU9JQTlySWdvZ0V5QVJRZCtKZjJ4cUlndHFJZ2xxUVF0MU5nSWdJQVVnQ1NBTmEwRUxkVFlDd0FFZ0JVRkFheUFNSUFvZ0Myc2lEV3BCQzNVMkFnQWdCU0FOSUF4clFRdDFOZ0tnQVNBRklBY2dFaUFHYXlJR2FrRUxkVFlDWUNBR0lBZHJRUXQxSVFaQklBdEJBblFnQldvZ0JqWUNBQ0FGUVFScUlRVWdBVUVFYWlFQklBSkJBbW9oQWlBSVFYOXFJUVlnQ0VFQlN3UkFJQVloQ0F3QkN3c2dJRUdBZldvaEFrRUFJUUVEUUNBQUtBSUlJZzBnQUNnQ0dDSU1heUlPUWRRUmJDRUtJQUFvQWdRaUJTQUFLQUlVSWdocUlSQWdCU0FBS0FJY0lnWnFRZnpGQUd3aUVpQVFRZW5QQUd3aUVTQUZJQUFvQWd3aUIycEJ6dFlBYkNJSklBVkIxdTErYkdwcWFpRUxJQVVnQm10QnRqbHNJaE1nRUVIVkttd2lGQ0FGSUFkclFhTWFiQ0lQSUFWQndvcC9iR3BxYWlFUUlBWWdCMm9pQlVHclZXd2lHQ0FISUFocVFmQUliQ0laSUFrZ0IwSE5CR3hxYW1vaENTQUZRWmV3ZjJ3aUdpQUlJQWRyUVluYUFHd2lHeUFQSUFkQm12NEFiR3BxYWlFUElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdjZ0FDZ0NFQ0lWUWMvVEFHd2lIR29pSFNBT1FlUFlBR3dpRGlBTVFZT2tBV3hxSWg1cUloWWdDMnBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRmlBTGEwRVNka0gvQjNGcUxBQUFPZ0FQSUFVZ0FpQUhJQlZCMFNKc0lndHFJaFVnQ2lBTlFjMDViR29pRm1vaUh5QUpha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFmSUFsclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBY2dDMnNpQ3lBT0lBMUJ3bGxzYWlJTmFpSUpJQVlnQ0dwQnNxbC9iQ0lPSUJFZ0dTQUlRZnEzZjJ4cWFtb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ1NBUmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQnhySWdjZ0NpQU1RYkJmYkdvaURHb2lDaUFTSUJnZ0JrR1l4QUJzYW1vZ0Rtb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ2lBSmEwRVNka0gvQjNGcUxBQUFPZ0FNSUFVZ0FpQUhJQXhySWdjZ0V5QWFJQVpCaGNrQmJHcHFJQVlnQ0d0Qm94cHNJZ1pxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dER3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ3lBTmF5SUhJQlFnR3lBSVFmcE9iR3BxSUFacUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0ZTQVdheUlJSUE5cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBZ2dEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnSFNBZWF5SUlJQkJxUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0VHdEJFblpCL3dkeGFpd0FBRG9BQ0NBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCY2tCZ3ZURXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBRkJBaEE1SVF3Z0FrRUNFRGtoRGlBRUtBSUFJZ2NoQWlBTUlBNUJmMm9pRUd4QkFYUWdCMm9oQlFOQUlBWWdERWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0JrRUJhaUVHREFFTEN5QUhJUUlnREVGL2FpSVJRUUYwSUFkcUlRVkJBQ0VHQTBBZ0JpQU9TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdERUVCZENBQ2FpRUNJQXhCQVhRZ0JXb2hCU0FHUVFGcUlRWU1BUXNMSUFSQmtJRElBR29oQWtFQUlBeHJJUklnQUNBQlFRRjBRUUpxYWlFTlFRRWhDMEVBSVFVZ0RFRUJha0VCZENBSGFpRUhBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUFrQWdFa0VCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFMTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0N6WUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQUxJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFDeUFOUVFKcUlRMGdDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FOYWtFRWFpRU5JQXRCQVdvaEN5QUFJUVVnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUdSZ1JBSUFCQkFXb2hBUVVnQUNFQklBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0REWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRGpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdmFDQUVXZnlNR0lSZ2pCa0hnQVdva0JpQUFLQUxRQWlFYUlCZ2lBQ0VGSUFFb0FsUWhBUU5BSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2dnQWk0QllDQUJLQUxBQVd3aUNXdEJ0emhzSWd3Z0FpNEJJQ0FCUVVCcktBSUFiQ0lISUFoclFaSVViQ0lTSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdvZ0NFR1ZpbjlzYW1wcUlRMGdBaTRCRUNBQktBSWdiQ0lPSUFJdUFUQWdBU2dDWUd3aUMycEI3enRzSWhNZ0RpQUxhMEh6Q213aUZHb2dDeUFDTGdGUUlBRW9BcUFCYkNJTGFrSGhwMzlzSWhWcUlROGdCU0FLSUFjZ0NXb2lFVUhHMFFCc2FpSVdJQXdnQ1VHRGUyeHFhaUlKSUFzZ0RtcEJveWRzSWc0Z0V5QVVhMm9pREdwQkMzVTJBZ0FnQlNBSklBeHJRUXQxTmdMQUFTQUZJQTBnRDJwQkMzVTJBaUFnQlNBTklBOXJRUXQxTmdLZ0FTQUZRVUJySUJZZ0VpQUhRZkhoZm14cWFpSUpJQlVnRGlBTFFkNzNBR3hxYWlJSGFrRUxkVFlDQUNBRklBa2dCMnRCQzNVMkFvQUJJQVVnQ2lBSUlCRnJRY0hhQUd4cVFRdDFOZ0pnSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBWkJBV29pQmtFSVJ3MEFDeUFhUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHhCRFhRaUNTQUFLQUlFSWdVZ0FDZ0NGQ0lHYWlJSFFkTE1BR3dpRUNBRklBQW9BZ3dpQ0dwQnQ5VUFiQ0lNSUFWQjhMZC9iR3BxYWlFTklBVWdDR3NpRTBIeUhXd2dDV3NpRkNBSFFaUXdiQ0lTSUFWQmk3eC9iR3BxSVE0Z0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFJZ3BCeHRFQWJHb2lGU0FBS0FJSUlnc2dBQ2dDR0NJUGFrSGl4Z0JzSWhFZ0MwRzlFV3hxSWhacUloY2dEV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQXBCa2hSc2FpSU5JQkVnRDBIOGtYOXNhaUlSYWlJWElBWWdDR3BCNzNWc0lBbHJJaGtnRENBSVFlNWtiR3BxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCY2dER3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBS1FjbEhiR29pRENBTFFhTW5iQ0FQUWVHbmYyeHFJZ3RxSWc4Z0dTQVFJQVpCaWVoK2JHcHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUE4Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdCeUFLUWI2bGYyeHFJZ2NnQ1NBVElBWnJRUTEwYWlJS2FrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUhJQXByUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUF3Z0Myc2lCeUFTSUFZZ0NHdEIrTmtBYkNJS0lBa2dCa0htazM5c2FtcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FSYXlJR0lCUWdDaUFJUVprcmJHcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFZZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdGU0FXYXlJR0lBNXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQVlnRG10QkVuWkIvd2R4YWl3QUFEb0FCeUFBUVNCcUlRQWdBVUVCYWlJQlFRZEhEUUFMSUJna0JndVJCd0VWZnlNR0lSUWpCa0hBQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNDQUJLQUtBQVNBQ1FVQnJMZ0VBUWFFdGJHd2lER29pRFNBQlFVQnJLQUlBSUFJdUFTQkJzYzRBYkd3aUVXb2lDaUFDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lDMnBCdGhkc0lnNGdCaUFDTGdFd0lBRW9BbUJzSWdkcVFRMTBhaUlTYWtFTGRUWUNBQ0FGSUFvZ0VtdEJDM1UyQXFBQklBVWdDQ0FNUVg1c2FrRUxkU0lJSUFZZ0Iyc2dDMnRCQW5RaUJtbzJBaUFnQlNBSUlBWnJOZ0tBQVNBRlFVQnJJQTBnRVdzaUJpQU9JQXNnQjJ0QkRYUnFJZ3RxUVF0MU5nSUFJQVVnQmlBTGEwRUxkVFlDWUNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUpRUUZxSWdsQkNFY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJR0lBQW9BaEJCc2M0QWJDSU9haUVRSUFBb0FnZ2lDRUVOZENBQUtBSVlRUTEwSWd4ckloSWdCbW9oRFNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnRENBSVFiYlhBR3hxSWhVZ0VHb2lEeUFBS0FJY0lna2dBQ2dDQkNJTElBQW9BaFFpQjJvaUNtcEJqVGRzSWhFZ0NrSGJFR3hxSWhZZ0FDZ0NEQ0lLUWMvVEFHd2lGeUFMUWZjUmJHcHFJaE5xUVJKMlFmOEhjU0FDYWl3QUFEb0FBQ0FGSUE4Z0UydEJFblpCL3dkeElBSnFMQUFBT2dBTElBVWdEU0FMSUFscklnOGdDaUFIYXlJVGFrSFJJbXdpR0NBUFFmNHdiR29pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FCSUFVZ0RTQVBhMEVTZGtIL0IzRWdBbW9zQUFBNkFBb2dCU0FJUWJZWGJDQU1heUlJSUFZZ0Rtc2lER29pRFNBV0lBY2dDV3BCaTcxL2JDSU9JQXBCcjExc0lnb2dCMEd3b1g5c2FtcHFJZ2RxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUEwZ0IydEJFblpCL3dkeElBSnFMQUFBT2dBSklBVWdEQ0FJYXlJSElBNGdFU0FKUWNibEFHd2dGMnRxYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUhJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FDQ0FGSUFZZ0Vtc2lCaUFZSUJOQjM0bC9iR29pQjJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FFSUFVZ0JpQUhhMEVTZGtIL0IzRWdBbW9zQUFBNkFBY2dCU0FRSUJWcklnWWdFU0FLSUF0QjNGUnNhaUFKUVl5QmYyeHFhaUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVFaSERRQUxJQlFrQmd1Y0JnRVNmeU1HSVJRakJrR2dBV29rQmlBQUtBTFFBaUVXSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQWk0QklDQUJRVUJyS0FJQWJDSUpJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnWnFRY3d5YkNJS0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnNGdDU0FHYXlJSlFkQVdiR29pQm1vaUN5QUNMZ0VRSUFFb0FpQnNJZ3dnQWk0Qk1DQUJLQUpnYkNJUGFrR2FOV3dpRFNBTVFmRWdiR29pREdwQkMzVTJBZ0FnQlNBTElBeHJRUXQxTmdLQUFTQUZJQVlnQ21zaUJpQU5JQTlCM1BSK2JHb2lDbXBCQzNVMkFpQWdCU0FHSUFwclFRdDFOZ0pnSUFWQlFHc2dEaUFKUWNDbGYyeHFRUXQxTmdJQUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQWRCQVdvaUIwRUlSdzBBQ3lBV1FZQjlhaUVDUVFBaEFRTkFJQUFvQWd3aUJ5QUFLQUljSWdacUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBQW9BaFJCRFhRaUNTQUhJQVpySWdaQjR4TnNJZ3RxSWd3Z0NFSHZQR3dpRHlBQUtBSUVJZ2RCczlrQWJHcHFJZzBnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lDaUFBS0FJUUlnNUJuY2tBYkdvaUZTQUFLQUlJSWhBZ0FDZ0NHQ0lSYWtHYU5Xd2lFaUFRUWZFZ2JHb2lFR29pRTJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0V5QU5hMEVTZGtIL0IzRWdBbW9zQUFBNkFBa2dCU0FIUWRQUUFHd2dDRUhQSld3aUNHc2dDU0FMYXlBR1FReDBheUlMYXlJTklBb2dEa0dFWkd4cUloTWdFaUFSUWR6MGZteHFJaEZxSWhKcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQVNBRklCSWdEV3RCRW5aQi93ZHhJQUpxTEFBQU9nQUlJQVVnQnlBR2EwRU5kQ0FKYXlJSklBb2dEa0crcFg5c2FpSUdha0VTZGtIL0IzRWdBbW9zQUFBNkFBSWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQnlBRklCTWdFV3NpQ1NBTElBZEJqQ2xzSUFocmFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FKSUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBRklBd2dCMEdVRG13Z0QydHFJZ2NnRlNBUWF5SUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBUWdCU0FJSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQlNBQVFTQnFJUUFnQVVFQmFpSUJRUVZIRFFBTElCUWtCZ3ZCREFFUWZ5TUdJUTRqQmtHQUFXb2tCaUFBS0FMUUFpRVVJQTRpQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3dpQlNBQ0xnRWdJQUZCUUdzb0FnQnNJZ2RxUVFKMElnZ2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFUQWdBU2dDWUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0FDQUFJQWdnQm1zMkFtQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lnSUFCQlFHc2dCU0FIYXpZQ0FDQUFJQUl1QVFJZ0FTZ0NCR3dpQlNBQ0xnRWlJQUVvQWtSc0lnZHFRUUowSWdnZ0FpNEJFaUFCS0FJa2JDSUdJQUl1QVRJZ0FTZ0NaR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQkNBQUlBZ2dCbXMyQW1RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWtJQUFnQlNBSGF6WUNSQ0FBSUFJdUFRUWdBU2dDQ0d3aUJTQUNMZ0VrSUFFb0FraHNJZ2RxUVFKMElnZ2dBaTRCRkNBQktBSW9iQ0lHSUFJdUFUUWdBU2dDYUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0NDQUFJQWdnQm1zMkFtZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lvSUFBZ0JTQUhhellDU0NBQUlBSXVBUVlnQVNnQ0RHd2lCU0FDTGdFbUlBRW9Ba3hzSWdkcVFRSjBJZ2dnQWk0QkZpQUJLQUlzYkNJR0lBSXVBVFlnQVNnQ2JHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNEQ0FBSUFnZ0JtczJBbXdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJc0lBQWdCU0FIYXpZQ1RDQUFJQUl1QVFnZ0FTZ0NFR3dpQlNBQ0xnRW9JQUVvQWxCc0lnZHFRUUowSWdnZ0FpNEJHQ0FCS0FJd2JDSUdJQUl1QVRnZ0FTZ0NjR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRUNBQUlBZ2dCbXMyQW5BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXdJQUFnQlNBSGF6WUNVQ0FBSUFJdUFRb2dBU2dDRkd3aUJTQUNMZ0VxSUFFb0FsUnNJZ2RxUVFKMElnZ2dBaTRCR2lBQktBSTBiQ0lHSUFJdUFUb2dBU2dDZEd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0ZDQUFJQWdnQm1zMkFuUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0kwSUFBZ0JTQUhhellDVkNBQUlBSXVBUXdnQVNnQ0dHd2lCU0FDTGdFc0lBRW9BbGhzSWdkcVFRSjBJZ2dnQWk0QkhDQUJLQUk0YkNJR0lBSXVBVHdnQVNnQ2VHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNHQ0FBSUFnZ0JtczJBbmdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJNElBQWdCU0FIYXpZQ1dDQUFJQUl1QVE0Z0FTZ0NIR3dpQlNBQ0xnRXVJQUVvQWx4c0lnZHFRUUowSWdnZ0FpNEJIaUFCS0FJOGJDSUdJQUl1QVQ0Z0FTZ0NmR3dpQVdwQjBTSnNRWUFJYWlJQ0lBWkIvakJzYWtFTGRTSUdhallDSENBQUlBZ2dCbXMyQW53Z0FDQUZJQWRyUVFKMElnVWdBaUFCUWQrSmYyeHFRUXQxSWdGcU5nSThJQUFnQlNBQmF6WUNYQ0FVUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQ3lBQUtBSU1JZ1ZxSWdZZ0FDZ0NGQ0lISUFBb0FnUWlDR29pQ21wQm9jc0FiQ0lKSUFaQnU0Si9iR29pRHlBSUlBdHFRYk5HYkNJTUlBdEJqaE5zYW1vaEJpQUpJQXBCaEdkc2FpSUxJQXdnQ0VHTDRBQnNhbW9oQ0NBTElBVWdCMnBCL2R0K2JDSUtJQWRCczRNQmJHcHFJUWNnQkNBQlFRSjBJQU5xS0FJQWFpSUxJQUlnQUNnQ0FFR1FnQUZxSWdrZ0FDZ0NFQ0lNYWtFTmRDSVFJQUFvQWdnaURTQUFLQUlZSWhGcVFkRWliQ0lTSUExQi9qQnNhaUlOYWlJVElBaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0N5QUNJQk1nQ0d0QkVuWkIvd2R4YWl3QUFEb0FCeUFMSUFJZ0NTQU1hMEVOZENJSUlCSWdFVUhmaVg5c2FpSUphaUlNSUE4Z0NpQUZRZFRFQVd4cWFpSUZha0VTZGtIL0IzRnFMQUFBT2dBQklBc2dBaUFNSUFWclFSSjJRZjhIY1dvc0FBQTZBQVlnQ3lBQ0lBZ2dDV3NpQlNBSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFzZ0FpQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBVWdDeUFDSUJBZ0RXc2lCU0FHYWtFU2RrSC9CM0ZxTEFBQU9nQURJQXNnQWlBRklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVFUncwQUN5QU9KQVlMK1FvQkMzOGpCaUVGSXdaQjBBQnFKQVlnQUNnQzBBSWhDeUFGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lJYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkVFlDQUNBRklBRWdBR3RCQzNVMkFqQWdCU0FISUFoQmZteHFRUXQxTmdJWUlBVWdCaWdDQkNBQ0xnRUNRUTEwYkVHQUNISWlCeUFHS0FKRUlBSXVBU0pCb1Mxc2JDSUlhaUlCSUFZb0FpUWdBaTRCRWtHeHpnQnNiQ0lBYWtFTGRUWUNCQ0FGSUFFZ0FHdEJDM1UyQWpRZ0JTQUhJQWhCZm14cVFRdDFOZ0ljSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUJ5QUdLQUpJSUFJdUFTUkJvUzFzYkNJSWFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFRZQ0NDQUZJQUVnQUd0QkMzVTJBamdnQlNBSElBaEJmbXhxUVF0MU5nSWdJQVVnQmlnQ0RDQUNMZ0VHUVExMGJFR0FDSElpQnlBR0tBSk1JQUl1QVNaQm9TMXNiQ0lJYWlJQklBWW9BaXdnQWk0QkZrR3h6Z0JzYkNJQWFrRUxkVFlDRENBRklBRWdBR3RCQzNVMkFqd2dCU0FISUFoQmZteHFRUXQxTmdJa0lBVWdCaWdDRUNBQ0xnRUlRUTEwYkVHQUNISWlCeUFHS0FKUUlBSXVBU2hCb1Mxc2JDSUlhaUlCSUFZb0FqQWdBaTRCR0VHeHpnQnNiQ0lBYWtFTGRUWUNFQ0FGUVVCcklBRWdBR3RCQzNVMkFnQWdCU0FISUFoQmZteHFRUXQxTmdJb0lBVWdCaWdDRkNBQ0xnRUtRUTEwYkVHQUNISWlCeUFHS0FKVUlBSXVBU3BCb1Mxc2JDSUlhaUlCSUFZb0FqUWdBaTRCR2tHeHpnQnNiQ0lBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWtRZ0JTQUhJQWhCZm14cVFRdDFJZzgyQWl3Z0JDQURLQUlBYWlJT0lBdEJnSDFxSWdrZ0JTZ0NBRUVOZEVHQWdJakFBR29pQ3lBRktBSVFRYUV0YkNJTWFpSUhJQVVvQWdoQnNjNEFiQ0lJYWlJQklBVW9BZ1FpQ2lBRktBSVVJZzFxUWJZWGJDSUNJQW9nQlNnQ0RDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBT0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQTRnQ1NBTElBeHJJQXhySWdFZ0NpQUdheUFOYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBNGdDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRGlBSklBY2dDR3NpQVNBQ0lBMGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnUnFJZ3dnQ1NBRktBSVlRUTEwUVlDQWlNQUFhaUlMSUFVb0FpaEJvUzFzSWdwcUlnY2dCU2dDSUVHeHpnQnNJZ2hxSWdFZ0R5QUZLQUljSWcxcVFiWVhiQ0lDSUEwZ0JTZ0NKQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU1JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUF3Z0NTQUxJQXBySUFwcklnRWdEU0FHYXlBUGEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXdnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RDQUpJQWNnQ0dzaUFTQUNJQThnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEQ0FKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ2hxSWdvZ0NTQUZLQUl3UVExMFFZQ0FpTUFBYWlJSUlBVkJRR3NvQWdCQm9TMXNJZzFxSWdRZ0JTZ0NPRUd4emdCc0lnTnFJZ0VnQlNnQ05DSUdJQVVvQWtRaUMycEJ0aGRzSWdJZ0JpQUZLQUk4SWdkcVFRMTBhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQW9nQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0NpQUpJQWdnRFdzZ0RXc2lBU0FHSUFkcklBdHJRUTEwSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ2lBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUtJQWtnQkNBRGF5SUJJQUlnQ3lBSGEwRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFLSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBVWtCZ3VMQkFFS2Z5TUdJUVVqQmtFZ2FpUUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQmlnQ0FHd2lBU0FDTGdFUUlBWW9BaUJzSWdCcUlnZzJBZ0FnQlNBQklBQnJOZ0lRSUFVZ0FpNEJBaUFHS0FJRWJDSUJJQUl1QVJJZ0JpZ0NKR3dpQUdvaUNqWUNCQ0FGSUFFZ0FHc2lDellDRkNBRklBSXVBUVFnQmlnQ0NHd2lBU0FDTGdFVUlBWW9BaWhzSWdCcUlndzJBZ2dnQlNBQklBQnJJZzAyQWhnZ0JTQUNMZ0VHSUFZb0FneHNJZ0VnQWk0QkZpQUdLQUlzYkNJQWFpSU9OZ0lNSUFVZ0FTQUFheUlHTmdJY0lBUWdBeWdDQUdvaUNTQUhRWUI5YWlJSElBd2dDRUdFSUdvaUNHcEJEWFFpQVNBS0lBNXFRZEVpYkNJQ0lBcEIvakJzYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFrZ0J5QUJJQUJyUVJCMlFmOEhjV29zQUFBNkFBTWdDU0FISUFnZ0RHdEJEWFFpQVNBQ0lBNUIzNGwvYkdvaUFHcEJFSFpCL3dkeGFpd0FBRG9BQVNBSklBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCQ0FGS0FJUVFZUWdhaUlESUExcVFRMTBJZ0VnQmlBTGFrSFJJbXdpQWlBTFFmNHdiR29pQUdwQkVIWkIvd2R4SUFkcUxBQUFPZ0FBSUFRZ0FTQUFhMEVRZGtIL0IzRWdCMm9zQUFBNkFBTWdCQ0FESUExclFRMTBJZ0VnQWlBR1FkK0pmMnhxSWdCcVFSQjJRZjhIY1NBSGFpd0FBRG9BQVNBRUlBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVVrQmd0aEFDQUVJQU1vQWdCcUlnTWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkFDQUJLQUpVSWdFb0FnQnNRWVFnYWlJRUlBSXVBUUlnQVNnQ0JHd2lBV3BCQTNaQi93ZHhhaXdBQURvQUFDQURJQVFnQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzljSkFSNS9Jd1loRmlNR1FZQUVhaVFHSUFBb0F0QUNJU0lnRmlJQUlRVWdBU2dDVkNFQkEwQWdBaTRCSUNBQlFVQnJLQUlBYkNJTUlBSXVBV0FnQVNnQ3dBRnNJaEZySWc5QjFCRnNJUW9nQWk0QkVDQUJLQUlnYkNJR0lBSXVBVkFnQVNnQ29BRnNJZ2RxSVJBZ0JpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWtIOHhRQnNJaGNnRUVIcHp3QnNJaFFnQmlBQ0xnRXdJQUVvQW1Cc0lnbHFRYzdXQUd3aURTQUdRZGJ0Zm14cWFtb2hEaUFHSUFoclFiWTViQ0laSUJCQjFTcHNJaGdnQmlBSmEwR2pHbXdpRWlBR1FjS0tmMnhxYW1vaEVDQUlJQWxxSWdaQnExVnNJaG9nQnlBSmFrSHdDR3dpR3lBSlFjMEViQ0FOYW1wcUlRMGdCa0dYc0g5c0lod2dCeUFKYTBHSjJnQnNJaDBnQ1VHYS9nQnNJQkpxYW1vaENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ1lnQWtGQWF5NEJBQ0FCS0FLQUFXd2lFa0hQMHdCc0loNXFJaDhnRDBIajJBQnNJZzhnRVVHRHBBRnNhaUlnYWlJVklBNXFRUXQxTmdJQUlBVWdGU0FPYTBFTGRUWUM0QU1nQlNBTklBWWdFa0hSSW13aURtb2lFaUFLSUF4QnpUbHNhaUlWYWlJaGFrRUxkVFlDSUNBRklDRWdEV3RCQzNVMkFzQURJQVZCUUdzZ0J5QUlha0d5cVg5c0lnMGdHeUFIUWZxM2YyeHFJQlJxYWlJVUlBWWdEbXNpRGlBUElBeEJ3bGxzYWlJTWFpSVBha0VMZFRZQ0FDQUZJQThnRkd0QkMzVTJBcUFESUFVZ0dpQUlRWmpFQUd4cUlCZHFJQTFxSWcwZ0JpQWVheUlHSUFvZ0VVR3dYMnhxSWhGcUlncHFRUXQxTmdKZ0lBVWdDaUFOYTBFTGRUWUNnQU1nQlNBY0lBaEJoY2tCYkdvZ0dXb2dDQ0FIYTBHakdtd2lDR29pQ2lBR0lCRnJJZ1pxUVF0MU5nS0FBU0FGSUFZZ0NtdEJDM1UyQXVBQ0lBVWdIU0FIUWZwT2JHb2dHR29nQ0dvaUJpQU9JQXhySWdkcVFRdDFOZ0tnQVNBRklBY2dCbXRCQzNVMkFzQUNJQVVnQ1NBU0lCVnJJZ1pxUVF0MU5nTEFBU0FGSUFZZ0NXdEJDM1UyQXFBQ0lBVWdFQ0FmSUNCcklnWnFRUXQxTmdMZ0FTQUZJQVlnRUd0QkMzVTJBb0FDSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBdEJBV29pQzBFSVJ3MEFDeUFpUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQlNBQUtBSU1JZ3RxSWdnZ0FDZ0NGQ0lHSUFBb0FnUWlCMm9pQ1dwQm9jc0FiQ0lNSUFoQnU0Si9iR29pRVNBRklBZHFRYk5HYkNJS0lBVkJqaE5zYW1vaENDQU1JQWxCaEdkc2FpSUZJQW9nQjBHTDRBQnNhbW9oQnlBRklBWWdDMnBCL2R0K2JDSUpJQVpCczRNQmJHcHFJUVlnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFR1FnQUZxSWd3Z0FDZ0NFQ0lLYWtFTmRDSVFJQUFvQWdnaURpQUFLQUlZSWcxcVFkRWliQ0lUSUE1Qi9qQnNhaUlPYWlJUElBZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0RDQUthMEVOZENJSElCTWdEVUhmaVg5c2FpSU1haUlLSUJFZ0NTQUxRZFRFQVd4cWFpSUxha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFLSUF0clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dER3NpQ3lBR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQVpyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJBZ0Rtc2lDeUFJYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBTElBaHJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QVdKQVlMblFnQkdYOGpCaUVYSXdaQmtBTnFKQVlnQUNnQzBBSWhIU0FYSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0Z3SUFFb0F1QUJiQ0lUUVExMElnc2dBaTRCRUNBQktBSWdiQ0lISUFJdUFWQWdBU2dDb0FGc0lnWnFJZ3BCMHN3QWJDSVBJQWNnQWk0Qk1DQUJLQUpnYkNJSWFrRzMxUUJzSWhBZ0IwSHd0MzlzYW1wcUlRa2dCeUFJYXlJWVFmSWRiQ0FMYXlJWklBcEJsREJzSWhRZ0IwR0x2SDlzYW1vaEVTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2NnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDa0hHMFFCc2FpSWFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lPYWtIaXhnQnNJaFVnREVHOUVXeHFJaHRxSWhZZ0NXcEJDM1UyQWdBZ0JTQVdJQWxyUVF0MU5nTHNBaUFGSUFZZ0NHcEI3M1ZzSUF0cklna2dDRUh1Wkd3Z0VHcHFJaEFnQnlBS1FaSVViR29pRmlBVklBNUIvSkYvYkdvaUZXb2lIR3BCQzNVMkFod2dCU0FjSUJCclFRdDFOZ0xRQWlBRklBa2dCa0dKNkg1c0lBOXFhaUlKSUFjZ0NrSEpSMnhxSWc4Z0RFR2pKMndnRGtIaHAzOXNhaUlNYWlJT2FrRUxkVFlDT0NBRklBNGdDV3RCQzNVMkFyUUNJQVVnR0NBR2F5QVRha0VDZENJSklBY2dDa0crcFg5c2FrRUxkU0lIYWpZQ1ZDQUZJQWNnQ1dzMkFwZ0NJQVVnQmlBSWEwSDQyUUJzSWdjZ0JrSG1rMzlzYWlBVWFpQUxhaUlHSUE4Z0RHc2lDMnBCQzNVMkFuQWdCU0FMSUFaclFRdDFOZ0w4QVNBRklBY2dDRUdaSzJ4cUlCbHFJZ1lnRmlBVmF5SUlha0VMZFRZQ2pBRWdCU0FJSUFaclFRdDFOZ0xnQVNBRklCb2dHMnNpQmlBUmFrRUxkVFlDcUFFZ0JTQUdJQkZyUVF0MU5nTEVBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTlFRRnFJZzFCQjBjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSVFJZzBnQUNnQ0dDSUdhMEczT0d3aURDQUFLQUlJSWdnZ0RXdEJraFJzSWc0Z0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBTlFaV0tmMnhxYW1vaEN5QUFLQUlFSWdvZ0FDZ0NEQ0lGYWtIdk8yd2lFaUFLSUFWclFmTUtiQ0lUYWlBRklBQW9BaFFpQ1dwQjRhZC9iQ0lQYWlFUklBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBY2dCaUFJYWlJUVFjYlJBR3hxSWhRZ0RDQUdRWU43YkdwcUlnWWdDU0FLYWtHakoyd2lDaUFTSUJOcmFpSU1ha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFHSUF4clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBc2dFV3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQVVJQTRnQ0VIeDRYNXNhbW9pQmlBUElBb2dDVUhlOXdCc2Ftb2lDR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQTBnRUd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUF5QUFRUnhxSVFBZ0FVRUJhaUlCUVE1SERRQUxJQmNrQmd2bkJnRVhmeU1HSVJRakJrR2dBbW9rQmlBQUtBTFFBaUViSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2dnQVNnQ2dBRWdBa0ZBYXk0QkFFR3h6Z0JzYkNJU2FpRVFJQWdnQWk0QklDQUJRVUJyS0FJQWJDSUtRUTEwSUFFb0FzQUJJQUl1QVdCQkRYUnNJZ3RySWhacUlRd2dCU0FRSUFwQnR0Y0FiQ0FMYWlJWGFpSVRJQUl1QVhBZ0FTZ0M0QUZzSWdZZ0FpNEJFQ0FCS0FJZ2JDSU5JQUl1QVZBZ0FTZ0NvQUZzSWdkcUlnNXFRWTAzYkNJUklBNUIyeEJzYWlJWUlBSXVBVEFnQVNnQ1lHd2lEa0hQMHdCc0loa2dEVUgzRVd4cWFpSVBha0VMZFRZQ0FDQUZJQk1nRDJ0QkMzVTJBb2dDSUFVZ0RpQUhheUlUSUEwZ0Jtc2lEMnBCMFNKc0lob2dEMEgrTUd4cUlnOGdER3BCQzNVMkFoZ2dCU0FNSUE5clFRdDFOZ0x3QVNBRklBZ2dFbXNpRENBS1FiWVhiQ0FMYXlJS2FpSUxJQmdnQmlBSGFrR0x2WDlzSWhJZ0RrR3ZYV3dpRGlBSFFiQ2hmMnhxYW1vaUIycEJDM1UyQWpBZ0JTQUxJQWRyUVF0MU5nTFlBU0FGSUF3Z0Ntc2lCeUFTSUJFZ0JrSEc1UUJzSUJscmFtb2lDbXBCQzNVMkFrZ2dCU0FISUFwclFRdDFOZ0xBQVNBRklCb2dFMEhmaVg5c2FpSUhJQWdnRm1zaUNHcEJDM1UyQW1BZ0JTQUlJQWRyUVF0MU5nS29BU0FGSUJBZ0Yyc2lDQ0FSSUE0Z0RVSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0o0SUFVZ0NDQUdhMEVMZFRZQ2tBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUVpIRFFBTElCdEJnSDFxSVFKQkFDRUJBMEFnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUVFhRXRiQ0lKYWlJUUlBQW9BZ2hCc2M0QWJDSUthaUlMSUFBb0FnUWlCaUFBS0FJVUlnaHFRYllYYkNJTUlBWWdBQ2dDRENJTmFrRU5kR29pRVdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFscklBbHJJZ2tnQmlBTmF5QUlhMEVOZENJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUpJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUJBZ0Ntc2lDU0FNSUFnZ0RXdEJEWFJxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBa2dCbXRCRW5aQi93ZHhhaXdBQURvQUF5QUFRUmhxSVFBZ0FVRUJhaUlCUVF4SERRQUxJQlFrQmd2OUJRRVZmeU1HSVJRakJrSFFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVRBZ0FTZ0NZR3dpQmlBQ0xnRndJQUVvQXVBQmJDSUlhaUVISUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTFFaM0pBR3hxSWcwZ0FpNEJJQ0FCUVVCcktBSUFiQ0lPSUFJdUFXQWdBU2dDd0FGc0lnOXFRWm8xYkNJUUlBNUI4U0JzYWlJT2FpSVJJQVlnQ0dzaUNFSGpFMndpRWlBQ0xnRlFJQUVvQXFBQmJDSVZRUTEwSWhOcUloWWdCMEh2UEd3aUZ5QUNMZ0VRSUFFb0FpQnNJZ1pCczlrQWJHcHFJaGhxUVF0MU5nSUFJQVVnRVNBWWEwRUxkVFlDdEFFZ0JTQUpJQXRCaEdSc2FpSVJJQkFnRDBIYzlINXNhaUlQYWlJUUlBWkIwOUFBYkNBSFFjOGxiQ0lIYXlBVElCSnJJQWhCREhSckloSnJJaE5xUVF0MU5nSVVJQVVnRUNBVGEwRUxkVFlDb0FFZ0JTQUpJQXRCdnFWL2JHcEJDM1VpQ1NBR0lCVnJJQWhyUVFKMElndHFOZ0lvSUFVZ0NTQUxhellDakFFZ0JTQVJJQTlySWdrZ0VpQUdRWXdwYkNBSGEyb2lCMnBCQzNVMkFqd2dCU0FKSUFkclFRdDFOZ0o0SUFVZ0RTQU9heUlISUJZZ0JrR1VEbXdnRjJ0cUlnWnFRUXQxTmdKUUlBVWdCeUFHYTBFTGRUWUNaQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBS1FRRnFJZ3BCQlVjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUlJZ29nQUNnQ0VDSUdha0hNTW13aUJ5QUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBb2dCbXNpQ2tIUUZteHFJZ1pxSWdzZ0FDZ0NCQ0lJSUFBb0Fnd2lER3BCbWpWc0lnMGdDRUh4SUd4cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUhheUlHSUEwZ0RFSGM5SDVzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUdJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQUJCRkdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRkNRR0MrZ1BBUkIvSXdZaENDTUdRWUFCYWlRR0lBQW9BdEFDSVJBZ0NDRUFJQUVvQWxRaEFVRUVJUVlEUUFKL0FrQWdBaTRCRUNJTElBSXVBU0FpQlhKQi8vOERjUVIvREFFRklBSXVBVEFFZjBFQUlRVU1BZ1VnQWtGQWF5NEJBQVIvUVFBaEJRd0RCU0FDTGdGUUJIOUJBQ0VGREFRRklBSXVBV0FFZjBFQUlRVU1CUVVnQWk0QmNBUi9RUUFoQlF3R0JTQUFJQUVvQWdBZ0FpNEJBRUVDZEd3aUJUWUNBQ0FBSUFVMkFoQWdBQ0FGTmdJZ0lBQWdCVFlDTUNBQVFVQnJJQVUyQWdBZ0FDQUZOZ0pRSUFBZ0JUWUNZRUVjQ3dzTEN3c0xEQUVMSUFJdUFYQWdBU2dDNEFGc0lnY2dBaTRCTUNBQktBSmdiQ0lKYWlJTklBSXVBVkFnQVNnQ29BRnNJZ29nQ3lBQktBSWdiQ0lMYWlJTWFrR2h5d0JzSWc0Z0RVRzdnbjlzYWlJTklBY2dDMnBCczBac0lnOGdCMEdPRTJ4cWFpRUhJQTRnREVHRVoyeHFJZ3dnRHlBTFFZdmdBR3hxYWlFTElBd2dDU0FLYWtIOTIzNXNJZ3dnQ2tHemd3RnNhbW9oQ2lBQUlBc2dBU2dDZ0FFZ0FrRkFheTRCQUVFTmRHd2lEaUFCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQYWlJUklBRkJRR3NvQWdBZ0JVRVFkRUVRZFd3aUJTQUNMZ0ZnSUFFb0FzQUJiQ0lTYWtIUkltd2lFeUFGUWY0d2JHb2lCV29pRkdwQkMzVTJBZ0FnQUNBVUlBdHJRUXQxTmdKd0lBQWdEU0FNSUFsQjFNUUJiR3BxSWdrZ0R5QU9heUlMSUJNZ0VrSGZpWDlzYWlJTmFpSU1ha0VMZFRZQ0VDQUFJQXdnQ1d0QkMzVTJBbUFnQUNBS0lBc2dEV3NpQ1dwQkMzVTJBaUFnQUNBSklBcHJRUXQxTmdKUUlBQWdCeUFSSUFWcklnVnFRUXQxTmdJd0lBVWdCMnRCQzNVaEJVRVFDMEVDZENBQWFpQUZOZ0lBSUFCQkJHb2hBQ0FCUVFScUlRRWdBa0VDYWlFQ0lBWkJmMm9oQlNBR1FRRkxCRUFnQlNFR0RBRUxDeUFFSUFNb0FnQnFJZ0VnRUVHQWZXb2lBQ0FJS0FJQVFaQ0FBV29pQWlBSUtBSUlJZ1pxUVExMElnVWdDQ2dDQkNJSElBZ29BZ3dpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlFYWlJQklBQWdDQ2dDRUVHUWdBRnFJZ0lnQ0NnQ0dDSUdha0VOZENJRklBZ29BaFFpQnlBSUtBSWNJZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQVNBQUlBZ29BaUJCa0lBQmFpSUNJQWdvQWlnaUJtcEJEWFFpQlNBSUtBSWtJZ2NnQ0NnQ0xDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ0VnQUNBSUtBSXdRWkNBQVdvaUFpQUlLQUk0SWdacVFRMTBJZ1VnQ0NnQ05DSUhJQWdvQWp3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJUWFpSUJJQUFnQ0VGQWF5Z0NBRUdRZ0FGcUlnSWdDQ2dDU0NJR2FrRU5kQ0lGSUFnb0FrUWlCeUFJS0FKTUlnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0ZHb2lBU0FBSUFnb0FsQkJrSUFCYWlJQ0lBZ29BbGdpQm1wQkRYUWlCU0FJS0FKVUlnY2dDQ2dDWENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWhocUlnRWdBQ0FJS0FKZ1FaQ0FBV29pQWlBSUtBSm9JZ1pxUVExMElnVWdDQ2dDWkNJSElBZ29BbXdpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUljYWlJQklBQWdDQ2dDY0VHUWdBRnFJZ0lnQ0NnQ2VDSURha0VOZENJRUlBZ29BblFpQmlBSUtBSjhJZ1ZxUWRFaWJDSUhJQVpCL2pCc2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FFSUFaclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdBMnRCRFhRaUFpQUhJQVZCMzRsL2JHb2lBMnBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBRGEwRVNka0gvQjNGcUxBQUFPZ0FDSUFna0JndWdDd0VMZnlNR0lRVWpCa0hRQUdva0JpQUFLQUxRQWlFUElBVWdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lJT0lBZ29Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSUthaUlHSUFoQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJSmFpSUJJQUl1QVJBZ0NDZ0NJR3dpQ3lBQ0xnRlFJQWdvQXFBQmJDSU1ha0cyRjJ3aUJ5QUxJQUl1QVRBZ0NDZ0NZR3dpRFdwQkRYUnFJZ0JxUVF0MU5nSUFJQVVnQVNBQWEwRUxkVFlDUENBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUExcklBeHJRUUowSWdCcU5nSU1JQVVnQVNBQWF6WUNNQ0FGSUFZZ0NXc2lBU0FISUF3Z0RXdEJEWFJxSWdCcVFRdDFOZ0lZSUFVZ0FTQUFhMEVMZFRZQ0pDQUZJQWdvQWtRZ0FpNEJJa0d4emdCc2JDSU9JQWdvQWdRZ0FpNEJBa0VOZEd4QmdBaHlJZ29nQ0NnQ2hBRWdBaTRCUWtHaExXeHNJZ1pxSWdscUlnRWdBaTRCRWlBSUtBSWtiQ0lMSUFJdUFWSWdDQ2dDcEFGc0lneHFRYllYYkNJSElBc2dBaTRCTWlBSUtBSmtiQ0lOYWtFTmRHb2lBR3BCQzNVMkFnUWdCVUZBYXlBQklBQnJRUXQxTmdJQUlBVWdDeUFOYXlBTWEwRUNkQ0lCSUFvZ0JrRitiR3BCQzNVaUFHbzJBaEFnQlNBQUlBRnJOZ0kwSUFVZ0NTQU9heUlCSUFjZ0RDQU5hMEVOZEdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSW9JQVVnQ0NnQ0NDQUNMZ0VFUVExMGJFR0FDSElpRGlBSUtBS0lBU0FDTGdGRVFhRXRiR3dpQ21vaUJpQUlLQUpJSUFJdUFTUkJzYzRBYkd3aUNXb2lBU0FDTGdFVUlBZ29BaWhzSWdzZ0FpNEJWQ0FJS0FLb0FXd2lER3BCdGhkc0lnY2dDeUFDTGdFMElBZ29BbWhzSWdKcVFRMTBhaUlBYWtFTGRTSU5OZ0lJSUFVZ0FTQUFhMEVMZFRZQ1JDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBSnJJQXhyUVFKMElnQnFJZ28yQWhRZ0JTQUJJQUJyTmdJNElBVWdCaUFKYXlJQklBY2dEQ0FDYTBFTmRHb2lBR3BCQzNVaUNUWUNJQ0FGSUFFZ0FHdEJDM1UyQWl3Z0JDQURLQUlBYWlJSElBOUJnSDFxSWdZZ0JTZ0NBRUVOZEVHQWdJakFBR29pQWlBTlFhRXRiR29pQVNBRktBSUVRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQmlBQ0lBMUJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnUnFJZ2NnQmlBRktBSU1RUTEwUVlDQWlNQUFhaUlDSUFwQm9TMXNhaUlCSUFVb0FoQkJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFjZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCeUFHSUFJZ0NrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0NHb2lCeUFHSUFVb0FoaEJEWFJCZ0lDSXdBQnFJZ0lnQ1VHaExXeHFJZ0VnQlNnQ0hFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQVlnQWlBSlFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJTWFpSUpJQVlnQlNnQ0pFRU5kRUdBZ0lqQUFHb2lCeUFGS0FJc0lnSkJvUzFzYWlJQklBVW9BaWhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBa2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQ1NBR0lBY2dBa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NFR29pQ1NBR0lBVW9BakJCRFhSQmdJQ0l3QUJxSWdjZ0JTZ0NPQ0lDUWFFdGJHb2lBU0FGS0FJMFFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBa2dCaUFISUFKQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWhScUlnUWdCaUFGS0FJOFFRMTBRWUNBaU1BQWFpSURJQVVvQWtRaUFrR2hMV3hxSWdFZ0JVRkFheWdDQUVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCQ0FHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBWWdBeUFDUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTUUdDN0lFQVFwL0l3WWhCaU1HUVNCcUpBWWdBQ2dDMEFJaERDQUdJQUl1QVFBZ0FTZ0NWQ0lIS0FJQWJDSUpJQUl1QVNBZ0IwRkFheWdDQUd3aUNtcEJEWFFpQVNBQ0xnRVFJQWNvQWlCc0lnQWdBaTRCTUNBSEtBSmdiQ0lGYWtIUkltd2lDQ0FBUWY0d2JHb2lBR29pRFRZQ0FDQUdJQUVnQUdzMkFoZ2dCaUFKSUFwclFRMTBJZ0VnQ0NBRlFkK0pmMnhxSWdCcUlnNDJBZ2dnQmlBQklBQnJJZ2syQWhBZ0JpQUNMZ0VDSUFjb0FnUnNJZ29nQWk0QklpQUhLQUpFYkNJRmFrRU5kQ0lCSUFJdUFSSWdCeWdDSkd3aUFDQUNMZ0V5SUFjb0FtUnNJZ2hxUWRFaWJDSUNJQUJCL2pCc2FpSUFhaUlMTmdJRUlBWWdBU0FBYXlJSE5nSWNJQVlnQ2lBRmEwRU5kQ0lCSUFJZ0NFSGZpWDlzYWlJQWFpSUlOZ0lNSUFZZ0FTQUFheUlDTmdJVUlBUWdBeWdDQUdvaUFTQU1RWUI5YWlJRklBc2dEVUdBZ0lJUWFpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FMYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQkNBREtBSUVhaUlCSUE1QmdJQ0NFR29pQUNBSWFrRVFka0gvQjNFZ0JXb3NBQUE2QUFBZ0FTQUFJQWhyUVJCMlFmOEhjU0FGYWl3QUFEb0FBU0FFSUFNb0FnaHFJZ0VnQ1VHQWdJSVFhaUlBSUFKcVFSQjJRZjhIY1NBRmFpd0FBRG9BQUNBQklBQWdBbXRCRUhaQi93ZHhJQVZxTEFBQU9nQUJJQVFnQXlnQ0RHb2lBU0FHS0FJWVFZQ0FnaEJxSWdBZ0IycEJFSFpCL3dkeElBVnFMQUFBT2dBQUlBRWdBQ0FIYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQmlRR0MyY0JBWDhnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29pQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3hCaENCcUlnVWdBaTRCRUNBQktBSWdiQ0lCYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVFnQXlnQ0JHb2dCU0FCYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUFMOFFnQkVYOGpCaUVTSXdaQmdBSnFKQVlnQUNnQzBBSWhGU0FTSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUNMZ0VBSUFFb0FnQnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFISUFFb0FpQnNJZ2NnQWk0QmNDQUJLQUxnQVd3aUNHb2lDeUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJVQ0FCS0FLZ0FXd2lEV29pRG10QjZnSnNRUWgxSUEwZ0Ntc2lDaUFISUFocklnMXFRZGtEYkVFSWRTSVBJQXBCblFWc1FRaDFheUFMSUE1cUlnaHJJZ3RySVFjZ0JpQUNMZ0VBSUFFb0FnQnNJZ29nQWtGQWF5NEJBQ0FCS0FLQUFXd2lEbW9pRUNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWhFZ0FpNEJZQ0FCS0FMQUFXd2lFMm9pQldvaUZDQUlhallDQUNBR0lCUWdDR3MyQXVBQklBWWdDeUFLSUE1cklnZ2dFU0FUYTBIcUFteEJDSFVnQldzaUNtb2lEbW8yQWlBZ0JpQU9JQXRyTmdMQUFTQUdRVUJySUFjZ0NDQUtheUlJYWpZQ0FDQUdJQWdnQjJzMkFxQUJJQVlnRHlBTlFaVUNiRUVJZFdzZ0Iyc2lCeUFRSUFWcklnVnFOZ0pnSUFVZ0Iyc2hCVUVnQzBFQ2RDQUdhaUFGTmdJQUlBWkJCR29oQmlBQlFRUnFJUUVnQWtFQ2FpRUNJQWxCZjJvaEJTQUpRUUZMQkVBZ0JTRUpEQUVMQ3lBVlFZQjlhaUVKUVFBaEFRTkFJQVFnQVVFQ2RDQURhaWdDQUdvaEJpQUFLQUlBUVpDQUFXb2hCUUpBQWtBZ0FDZ0NCQ0lISUFBb0FnZ2lBbklOQUNBQUtBSU1CRUJCQUNFQ0RBRUZJQUFvQWhBRVFFRUFJUUlNQWdVZ0FDZ0NGQVJBUVFBaEFnd0RCU0FBS0FJWUJFQkJBQ0VDREFRRklBQW9BaHdFUUVFQUlRSU1CUVVnQmlBSklBVkJCWFpCL3dkeGFpd0FBQ0lDT2dBQUlBWkJBV29nQWtFSEVFVWFDd3NMQ3dzTUFRc2dCeUFBS0FJY0lnaHFJZ3NnQUNnQ0ZDSU1JQUFvQWd3aUNtb2lEV3RCNmdKc1FRaDFJQXdnQ21zaURDQUhJQWhySWdwcVFka0RiRUVJZFNJT0lBeEJuUVZzUVFoMWF5QUxJQTFxSWdocklndHJJUWNnQmlBSklBVWdBQ2dDRUNJTmFpSVBJQUFvQWhnaUVDQUNhaUlNYWlJUklBaHFRUVYyUWY4SGNXb3NBQUE2QUFBZ0JpQUpJQkVnQ0d0QkJYWkIvd2R4YWl3QUFEb0FCeUFHSUFrZ0JTQU5heUlGSUFJZ0VHdEI2Z0pzUVFoMUlBeHJJZ0pxSWdnZ0MycEJCWFpCL3dkeGFpd0FBRG9BQVNBR0lBa2dDQ0FMYTBFRmRrSC9CM0ZxTEFBQU9nQUdJQVlnQ1NBRklBSnJJZ0lnQjJwQkJYWkIvd2R4YWl3QUFEb0FBaUFHSUFrZ0FpQUhhMEVGZGtIL0IzRnFMQUFBT2dBRklBWWdDU0FQSUF4cklnSWdEaUFLUVpVQ2JFRUlkV3NnQjJzaUJXcEJCWFpCL3dkeGFpd0FBRG9BQXlBR0lBa2dBaUFGYTBFRmRrSC9CM0ZxTEFBQU9nQUVDeUFBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJJa0JndnJCd0lIZnd4OUl3WWhDQ01HUVlBQ2FpUUdJQUFvQXRBQ0lRc2dDQ0lBSVFVZ0FTZ0NWQ0VCUVFnaEJ3TkFBbjhDUUNBQ0xnRVFJZ29nQWk0QklDSUdja0gvL3dOeEJIOE1BUVVnQWk0Qk1BUi9RUUFoQmd3Q0JTQUNRVUJyTGdFQUJIOUJBQ0VHREFNRklBSXVBVkFFZjBFQUlRWU1CQVVnQWk0QllBUi9RUUFoQmd3RkJTQUNMZ0Z3Qkg5QkFDRUdEQVlGSUFVZ0FTb0NBQ0FDTGdFQXNwUWlERGdDQUNBRklBdzRBaUFnQlVGQWF5QU1PQUlBSUFVZ0REZ0NZQ0FGSUF3NEFvQUJJQVVnRERnQ29BRWdCU0FNT0FMQUFVRTRDd3NMQ3dzTERBRUxJQUVxQWlBZ0NyS1VJZ3dnQVNvQzRBRWdBaTRCY0xLVUlnMlNJaEFnQVNvQ1lDQUNMZ0V3c3BRaURpQUJLZ0tnQVNBQ0xnRlFzcFFpRVpJaUQ1TkQ4d1MxUDVRZ0VTQU9reUlPSUF3Z0RaTWlFWkpEWG9Qc1A1UWlFeUFPUTNVOUowQ1VreUFQSUJDU0lnMlRJaENUSVF3Z0JTQUJLZ0lBSUFJdUFRQ3lsQ0lQSUFFcUFvQUJJQUpCUUdzdUFRQ3lsQ0lTa2lJVUlBRkJRR3NxQWdBZ0JrRVFkRUVRZGJLVUloVWdBU29Dd0FFZ0FpNEJZTEtVSWhhU0lnNlNJaGNnRFpJNEFnQWdCU0FYSUEyVE9BTGdBU0FGSUE4Z0VwTWlEU0FWSUJhVFEvTUV0VCtVSUE2VElnK1NJaElnRUpJNEFpQWdCU0FTSUJDVE9BTEFBU0FGUVVCcklBMGdENU1pRFNBTWtqZ0NBQ0FGSUEwZ0RKTTRBcUFCSUFVZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESkk0QW1BZ0RTQU1reUVNUVNBTFFRSjBJQVZxSUF3NEFnQWdCVUVFYWlFRklBRkJCR29oQVNBQ1FRSnFJUUlnQjBGL2FpRUdJQWRCQVVzRVFDQUdJUWNNQVFzTElBdEJnSDFxSVFKQkFDRUJBMEFnQUNvQ0JDSU1JQUFxQWh3aURaSWlFQ0FBS2dJVUlnNGdBQ29DRENJUmtpSVBrMFB6QkxVL2xDQU9JQkdUSWc0Z0RDQU5reUlSa2tOZWcrdy9sQ0lUSUE1RGRUMG5RSlNUSUE4Z0VKSWlEWk1pRUpNaERDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLZ0lBUXdBZ0FFU1NJZzhnQUNvQ0VDSVNraUlVSUFBcUFnZ2lGU0FBS2dJWUloYVNJZzZTSWhjZ0RaSVFRMEgvQjNGcUxBQUFPZ0FBSUFVZ0FpQVhJQTJURUVOQi93ZHhhaXdBQURvQUJ5QUZJQUlnRHlBU2t5SU5JQlVnRnBORDh3UzFQNVFnRHBNaUQ1SWlFaUFRa2hCRFFmOEhjV29zQUFBNkFBRWdCU0FDSUJJZ0VKTVFRMEgvQjNGcUxBQUFPZ0FHSUFVZ0FpQU5JQStUSWcwZ0RKSVFRMEgvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJTQUZJQUlnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSVFRMEgvQjNGcUxBQUFPZ0FESUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQWdrQmd2TktBSUxmd0Y4SUFBb0F0Z0RJUXNnQUNnQ0pFRUFUQVJBRHdzZ0FDZ0MyQUVoQVFOQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQVNJSUtBSW9JQUVvQWlRaUJFRUlkR3BCZ1FKckRwQWVBQjRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJZQklCMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQUlnSUJ3Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJVZ0F5QWdJQnNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FFSUNBZ0lCb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJRZ0lBVWdJQ0FnSUJrZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQmlBZ0lDQWdJQmdnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJNZ0lDQWZJQ0FnSUNBZ0lCY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJJZ0lDQWdDQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBSklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJFZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0N5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJBZ0lDQWdJQ0FNSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUE4Z0lDQWdJQ0FnRGlBTFFRQWhBa0VFSVFNTUlBdEJBQ0VDUVFVaEF3d2ZDMEVBSVFKQkJpRUREQjRMUVFBaEFrRUhJUU1NSFF0QkFDRUNRUWdoQXd3Y0MwRUFJUUpCQ1NFRERCc0xRUUFoQWtFS0lRTU1HZ3RCQUNFQ1FRc2hBd3daQzBFQUlRSkJEQ0VEREJnTFFRQWhBa0VOSVFNTUZ3dEJBQ0VDUVE0aEF3d1dDMEVBSVFKQkR5RUREQlVMUVFBaEFrRVFJUU1NRkF0QkFDRUNRUkVoQXd3VEMwRUFJUUpCRWlFRERCSUxRUUFoQWtFVElRTU1FUXRCQUNFQ1FSUWhBd3dRQzBFQUlRSkJGU0VEREE4TFFRQWhBa0VXSVFNTURndEJBQ0VDUVJjaEF3d05DMEVBSVFKQkdDRUREQXdMUVFBaEFrRVpJUU1NQ3d0QkFDRUNRUm9oQXd3S0MwRUFJUUpCR3lFRERBa0xRUUFoQWtFY0lRTU1DQXRCQUNFQ1FSMGhBd3dIQzBFQUlRSkJIaUVEREFZTFFRQWhBa0VmSVFNTUJRdEJBQ0VDUVNBaEF3d0VDMEVBSVFKQklTRUREQU1MUVFBaEFrRWlJUU1NQWdzQ1FBSkFBa0FDUUNBQUtBSklJZ0VPQXdBQkFnTUxJQUVoQWtFaklRTU1CQXNnQVNFQ1FTUWhBd3dEQ3lBQklRSkJKU0VEREFJTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3QkN5QUFLQUlBSWdGQkJ6WUNGQ0FCSUFRMkFoZ2dBQ2dDQUNBSUtBSW9OZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQzBFRWFpQUpRUUowYWlBRE5nSUFJQWdvQWpRRVFDQUxRU3hxSUFsQkFuUnFJZ0VvQWdBZ0FrY0VRQ0FJS0FKUUlnWUVRQ0FCSUFJMkFnQUNRQUpBQWtBQ1FBSkFJQUlPQXdBQkFnTUxJQWdvQWxRaEJFRUFJUUVEUUNBQlFRSjBJQVJxSUFGQkFYUWdCbW92QVFBMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3REN5QUlLQUpVSVFSQkFDRUJBMEFnQVVFQ2RDQUVhaUFCUVFGMElBWnFMd0VBSUFGQkFYUkI0Q2xxTGdFQWJFR0FFR3BCREhVMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3Q0N5QUlLQUpVSVFkQkFDRUJRUUFoQkFOQUlBUkJBblFnQjJvZ0FVRURkRUhnS21vckF3QWlEQ0FFUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFGeUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFNzJGSXNWQXg5aitpUkFBQUFBQUFBTUEvb3JZNEFnQWdCVUVCYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTXB2VFpHdTUvUS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJBM0lpQ2tFQ2RDQUhhaUFNSUFwQkFYUWdCbW92QVFDM29rU3FFV3p2WXREeVA2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRRnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFKcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFTzcrbndHa2s2VCtpUkFBQUFBQUFBTUEvb3JZNEFnQWdDa0VEYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTHNneDN0NlVlRS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJCM0lpQlVFQ2RDQUhhaUFNSUFWQkFYUWdCbW92QVFDM29rUmRxM0xlVmFqUlA2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRaHFJUVFnQVVFQmFpSUJRUWhIRFFBTERBRUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xDd3NnQ0VIWUFHb2hCQ0FKUVFGcUlnRWdBQ2dDSkVnRVFDQUJJUWtnQkNFQkRBRUxDd3VsQVFFRWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQjFBQWdBVUUvY1VIS0FXb1JCQUFpQVRZQzJBTWdBVUh6QURZQ0FDQUFLQUlrUVFCTUJFQVBDeUFCUVN4cUlRUkJBQ0VCSUFBb0F0Z0JJUUlEUUNBQUtBSUVLQUlBSVFNZ0FpQUFRUUZCZ0FJZ0EwRS9jVUhLQVdvUkJBQWlBellDVkNBRFFRQkJnQUlRUlJvZ0FVRUNkQ0FFYWtGL05nSUFJQUpCMkFCcUlRSWdBVUVCYWlJQklBQW9BaVJJRFFBTEM4c0ZBUXQvSXdZaERTTUdRU0JxSkFZZ0FpZ0NBQ0VISUFJb0FnUWhDeUFDS0FJSUlRb2dCU2dDQUNJSVJRUkFJQVVnQUNnQ0hDQUFLQUlnRUtrSklnZzJBZ0FMSUEwaUFrRWNhaUVPSUFKQkdHb2hEeUFBS0FJTUlBQkJNR29nQjBFd2JHb2lEQ0FCS0FJQUlna2dCMEh3QUd4cUtBSUFJQWRCOEFCc0lBbHFLQUlFS0FJQUlBdEJGR3hxSUFvZ0NCQ29DVUVBU0FSL1FYOEZJQVVvQWdBaUNDZ0NIQ0VKSUFnb0Fnd2dDQ2dDQ0VFQmFtb2dDQ2dDRkNBSUtBSVFRUUZxYW15eVF3QUFvRUNVUXdBQW9FQ1VJQWtnQ1d5eVhnUi9RWDhGSUFFb0FwZ0JJaEJCQVVZRVFDQUFLQUlNSUF4QkFFRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFBb0Fnd2hDQ0FBUVpBRWFpQUhRVEJzYWlFSklCQkJBa1lFUUNBSUlBd2dDVUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBZ2dEQ0FKSUFCQjhBZHFJQWRCTUd4cUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUxDeUFESUFRZ0FDZ0NCQ0FBS0FJSUlBQW9BaFFnQlNnQ0FDQUFLQUlZSWdBZ0FDQUNJQTRnRHlBR0VLd0pRUUJJQkg5QmZ3VWdCaUFPS0FJQXNqZ0NCQ0FHSUE4b0FnQ3lPQUlJSUFFb0FnQWlBQ0FIUWZBQWJHb29BZ1FvQWdBZ0MwRVViR29vQWdBaUFpQUtRUlJzYWlFQklBWWdCMEh3QUd3Z0FHb3FBaGdnQjBId0FHd2dBR29xQWd3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWhBZ0NrRVViQ0FDYWlJQ0tnSU1sSktTT0FJTUlBWWdCMEh3QUd3Z0FHb3FBaWdnQjBId0FHd2dBR29xQWh3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWlBZ0Fpb0NESlNTa2pnQ0VDQUdJQWRCOEFCc0lBQnFLZ0k0SUFkQjhBQnNJQUJxS2dJc0lBRXFBZ2lVSUFkQjhBQnNJQUJxS2dJd0lBSXFBZ3lVa3BJNEFoUkJBQXNMQ3lFUklBMGtCaUFSQ3lJQkFYMUJmeUFBS2dJQUlBRXFBZ0NUSWdKREFBQUFBRjRnQWtNQUFBQUFYUnNMaWhBQ0RIOEtmU01HSVFvakJrRkFheVFHSUFwQk9Hb2hCeUFLUVRCcUlRZ2dDa0VvYWlFTElBcEJJR29oQ1NBRFFRUklCRUJESUx5K1RDRUZCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VGQlFKQUFuOGdBN0lpR2lBRmxCQkRJUkFnQTBFR2RCQkVJZ1pGQkVCQkFFRURRY3JZQWlBSkVEMURBQUNBdnlFRkRBSUxJQU5CQTNRUVJDSUpSUVJBUVFCQkEwSEsyQUlnQ3hBOUlBWVFPRU1BQUlDL0lRVU1BZ3NnQTBFQ2RDSUxFRVFpRFVVRVFFRUFRUU5CeXRnQ0lBZ1FQU0FHRURnZ0NSQTRRd0FBZ0w4aEJRd0NDeUFMRUVRaUMwVUVRRUVBUVFOQnl0Z0NJQWNRUFNBR0VEZ2dDUkE0SUEwUU9FTUFBSUMvSVFVTUFnc2dFRUYvYWlJSEMwRUVJQWRCQkVvYklSRkJBQ0VIQTBBZ0IwRURSd1JBUVFBaENBTkFJQWhCQkVjRVFDQUhRUVIwSUFScUlBaEJBblJxSUFkQkJIUWdBR29nQ0VFQ2RHb3FBZ0FnQUNvQ0xKVTRBZ0FnQ0VFQmFpRUlEQUVMQ3lBSFFRRnFJUWNNQVFzTElCRkJBblFnQzJvaER3SkFBa0FDUUFOQUFrQkJBQ0VIQTBBZ0J5QURTQVJBSUFRcUFnQWhGeUFFS2dJRUlSWWdCQ29DRENFWklBUXFBaEFoRXlBRUtnSVVJUmdnQkNvQ0hDRWJJQWRCREd3Z0Ftb3FBZ0FpRkNBRUtnSWdsQ0FIUVF4c0lBSnFLZ0lFSWhVZ0JDb0NKSlNTUXdBQWdEK1NJZ1ZEQUFBQUFGc05BaUFIUVFOMElBRnFLZ0lFSUJzZ0ZDQVRsQ0FWSUJpVWtwSWlHQ0FGbFpNaEV5QUhRUUYwSWdCQkFuUWdDV29nQjBFRGRDQUJhaW9DQUNBWklCY2dGSlFnRmlBVmxKS1NJaGNnQlpXVEloWTRBZ0FnQUVFQmNrRUNkQ0FKYWlBVE9BSUFJQWRCQW5RZ0Myb2dGaUFXbENBVElCT1VraUlUT0FJQUlBZEJBblFnRFdvZ0V6Z0NBQ0FIUVFSMElnQkJBblFnQm1vZ0ZDQUZsU0lUT0FJQUlBQkJBWEpCQW5RZ0Jtb2dGU0FGbFNJV09BSUFJQUJCQW5KQkFuUWdCbXBEQUFDQVB5QUZsU0laT0FJQUlBQkJBM0pCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUVJ5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVGY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQm5KQkFuUWdCbW9nRkNBWGxJd2dCU0FGbENJRmxUZ0NBQ0FBUVFkeVFRSjBJQVpxSUJVZ0Y1U01JQVdWT0FJQUlBQkJDSEpCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUWx5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVLY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQzNKQkFuUWdCbW9nRXpnQ0FDQUFRUXh5UVFKMElBWnFJQlk0QWdBZ0FFRU5ja0VDZENBR2FpQVpPQUlBSUFCQkRuSkJBblFnQm1vZ0ZDQVlsSXdnQlpVNEFnQWdBRUVQY2tFQ2RDQUdhaUFWSUJpVWpDQUZsVGdDQUNBSFFRRnFJUWNNQVFzTElBc2dBMEVFUVNBUWdnTkRBQUNBUVNBUEtnSUFRd0FBZ0VDVUlnVWdCVU1BQUlCQlhSc2lGVU1BQU1CQWxTRUZRd0FBQUFBaEUwRUFJUUFEUUNBQUlBTkhCRUFnRXlBQVFRSjBJQXRxS2dJQUloUWdGVjRFZlNBRkJTQUZRd0FBZ0Q5REFBQ0FQeUFVSUJXVmt5SVVJQlFnRkpTVWs1UUxraUVUSUFCQkFXb2hBQXdCQ3dzZ0V5QWFsU0lGUTgzTXpEMWREUVFnRGtFQVJ5QUZRd0FBZ0VCZGNRUkFJQTVCQ2tZZ0JTQVNsVU9rY0gwL1huSU5CUVVnRGtFS1JnMEZDMEVBSVFCQkFDRU1BMEFnQXlBTVJ3UkFJQXhCQW5RZ0RXb3FBZ0FpRWlBVlh3UkFJQUJCQTNRaUIwRUNkQ0FHYWtNQUFJQS9JQklnRlpXVEloSWdFcFFpRWlBTVFRUjBJZ2hCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJBWEpCQW5RZ0Jtb2dFaUFJUVFGeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFKeVFRSjBJQVpxSUJJZ0NFRUNja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRURja0VDZENBR2FpQVNJQWhCQTNKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQkhKQkFuUWdCbW9nRWlBSVFRUnlRUUowSUFacUtnSUFsRGdDQUNBSFFRVnlRUUowSUFacUlCSWdDRUVGY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVHY2tFQ2RDQUdhaUFTSUFoQkJuSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkIzSkJBblFnQm1vZ0VpQUlRUWR5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUWhxUVFKMElBWnFJQklnQ0VFSWNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFSmFrRUNkQ0FHYWlBU0lBaEJDWEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJDbXBCQW5RZ0Jtb2dFaUFJUVFweVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVF0cVFRSjBJQVpxSUJJZ0NFRUxja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRU1ha0VDZENBR2FpQVNJQWhCREhKQkFuUWdCbW9xQWdDVU9BSUFJQWRCRFdwQkFuUWdCbW9nRWlBSVFRMXlRUUowSUFacUtnSUFsRGdDQUNBSFFRNXFRUUowSUFacUlCSWdDRUVPY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVQYWtFQ2RDQUdhaUFTSUFoQkQzSkJBblFnQm1vcUFnQ1VPQUlBSUFCQkFuUWdDV29nRWlBTVFRRjBJZ2RCQW5RZ0NXb3FBZ0NVT0FJQUlBQkJBV3BCQW5RZ0NXb2dFaUFIUVFGeVFRSjBJQWxxS2dJQWxEZ0NBQ0FBUVFKcUlRQUxJQXhCQVdvaERBd0JDd3NnQUVFR1NBMENJQW9nQ1NBR0lBQVFxQU5CQUVnTkF5QUVJQW9xQWdBZ0JDb0NBSkk0QWdBZ0JDQUtLZ0lFSUFRcUFnU1NPQUlFSUFRZ0Npb0NDQ0FFS2dJTWtqZ0NEQ0FFSUFvcUFnd2dCQ29DRUpJNEFoQWdCQ0FLS2dJUUlBUXFBaFNTT0FJVUlBUWdDaW9DRkNBRUtnSWNramdDSENBRUlBb3FBaGdnQkNvQ0lKSTRBaUFnQkNBS0tnSWNJQVFxQWlTU09BSWtJQVVoRWlBT1FRRnFJUTRNQVFzTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0VNZ3ZMNU1JUVVNQXdzZ0JoQTRJQWtRT0NBTkVEZ2dDeEE0UXdBQWdMOGhCUXdDQ3lBR0VEZ2dDUkE0SUEwUU9DQUxFRGhESUx5K1RDRUZEQUVMSUFZUU9DQUpFRGdnRFJBNElBc1FPQXNMQ3lBS0pBWWdCUXZGQ0FJR2Z3NTlJd1loQnlNR1FUQnFKQVlnQjBFb2FpRUdJQWRCSUdvaENDQURRUVJJQkVCRElMeStUQ0VMQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFTEJRSkFJQU5CQm5RUVJDSUZSUVJBUVFCQkEwSEsyQUlnQ0JBOVF3QUFnTDhoQ3d3QkN5QURRUU4wRUVRaUNrVUVRRUVBUVFOQnl0Z0NJQVlRUFNBRkVEaERBQUNBdnlFTERBRUxRUUFoQmdOQUlBWkJBMGNFUUVFQUlRZ0RRQ0FJUVFSSEJFQWdCa0VFZENBRWFpQUlRUUowYWlBR1FRUjBJQUJxSUFoQkFuUnFLZ0lBSUFBcUFpeVZPQUlBSUFoQkFXb2hDQXdCQ3dzZ0JrRUJhaUVHREFFTEN5QURzaUVZSUFOQkFYUWhDRUVBSVFZQ1FBSkFBMEFDUUVNQUFBQUFJUkpCQUNFSkEwQWdDU0FEU0FSQUlBUXFBZ0FoRFNBRUtnSUVJUkFnQkNvQ0RDRVJJQVFxQWhBaEV5QUVLZ0lVSVJRZ0JDb0NIQ0VMSUFsQkRHd2dBbW9xQWdBaURpQUVLZ0lnbENBSlFReHNJQUpxS2dJRUlnOGdCQ29DSkpTU1F3QUFnRCtTSWd4REFBQUFBRnNOQWlBSlFRTjBJQUZxS2dJRUlBc2dEaUFUbENBUElCU1VrcElpRnlBTWxaTWhGU0FKUVFGMElnQkJBblFnQ21vZ0NVRURkQ0FCYWlvQ0FDQVJJQTBnRHBRZ0VDQVBsSktTSWhBZ0RKV1RJaEU0QWdBZ0FFRUJja0VDZENBS2FpQVZPQUlBSUFsQkJIUWlBRUVDZENBRmFpQU9JQXlWSWhNNEFnQWdBRUVCY2tFQ2RDQUZhaUFQSUF5VkloUTRBZ0FnQUVFQ2NrRUNkQ0FGYWtNQUFJQS9JQXlWSWdzNEFnQWdBRUVEY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQkhKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFWeVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFR2NrRUNkQ0FGYWlBT0lCQ1VqQ0FNSUF5VUlnMlZPQUlBSUFCQkIzSkJBblFnQldvZ0R5QVFsSXdnRFpVNEFnQWdBRUVJY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQ1hKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFweVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFTGNrRUNkQ0FGYWlBVE9BSUFJQUJCREhKQkFuUWdCV29nRkRnQ0FDQUFRUTF5UVFKMElBVnFJQXM0QWdBZ0FFRU9ja0VDZENBRmFpQU9JQmVVakNBTmxUZ0NBQ0FBUVE5eVFRSjBJQVZxSUE4Z0Y1U01JQTJWT0FJQUlCSWdFU0FSbENBVklCV1VrcEloRWlBSlFRRnFJUWtNQVFzTElCSWdHSlVpQzBQTnpNdzlYUTBESUFaQkFFY2dDME1BQUlCQVhYRUVRQ0FHUVFwR0lBc2dGcFZEcEhCOVAxNXlEUVFGSUFaQkNrWU5CQXNnQnlBS0lBVWdDQkNvQTBFQVNBMENJQVFnQnlvQ0FDQUVLZ0lBa2pnQ0FDQUVJQWNxQWdRZ0JDb0NCSkk0QWdRZ0JDQUhLZ0lJSUFRcUFneVNPQUlNSUFRZ0J5b0NEQ0FFS2dJUWtqZ0NFQ0FFSUFjcUFoQWdCQ29DRkpJNEFoUWdCQ0FIS2dJVUlBUXFBaHlTT0FJY0lBUWdCeW9DR0NBRUtnSWdramdDSUNBRUlBY3FBaHdnQkNvQ0pKSTRBaVFnQ3lFV0lBWkJBV29oQmd3QkN3c2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFnc2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFRc2dCUkE0SUFvUU9Bc0xDeUFISkFZZ0N3dTdCZ0lNZndSOUl3WWhDU01HUWRBQWFpUUdJQWxCTUdvaEVDQUpRY3dBYWlFTUlBbEJ5QUJxSVEwZ0NVRkFheUVPSUFsQk9Hb2hEeUFBc2lFVUlBR3lJUlVnQlVITUpXb2hFVUVBSVFGQkFDRUFBbjhDUUFOQUFrQWdDQ0FES0FJRVRnMENRUUFoQ3dOQUlBdEJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdDMEVFZENBSmFpQUdRUUowYWlBSVFUQnNJQUpxSUF0QkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0MwRUJhaUVMREFFTEMwRUFJUWNnQXlnQ0FDQUlRZkFBYkdvb0FnUWhCZ05BSUFjZ0JpZ0NCRWdFUUVFQUlRb0RRQ0FLSUFZb0FnQWlDeUFIUVJSc2FpZ0NCRWdFUUVFQUlBa2dCMEVVYkNBTGFpZ0NBQ0lHSUFwQkZHeHFLZ0lJSUFwQkZHd2dCbW9xQWd3Z0RDQU5FSUlFUVFCSUlBd3FBZ0FpRWtNQUFBQUFYWEpGQkVBZ0RTb0NBQ0lUSUJWZ0lCTkRBQUFBQUYwZ0VpQVVZSEp5UlFSQUFrQWdEaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0FIUVJSc2FpZ0NBQ0lHSUFwQkZHeHFLQUlJTmdJQUlBNGdDa0VVYkNBR2FpZ0NERFlDQkVFQUlBa2dEaUFQRUljRUlBOHFBZ1FpRWlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNJR0lBZEJGR3hxS2dJTUloTmZCRUFnRWlBSFFSUnNJQVpxS2dJUVlBUkFJQUJCeUFGR0RRa2dBRUVZYkNBRWFpQUlOZ0lBSUFCQkdHd2dCR29nQnpZQ0JDQUFRUmhzSUFScUlBbzJBZ2dnQUVFWWJDQUVhaUFNS0FJQU5nSVFJQUJCR0d3Z0JHb2dEU2dDQURZQ0ZDQUFRUmhzSUFScVFRQTJBZ3dnQUVFQmFpRUFEQUlMQ3lBU0lCTkRBQUFBUUpSZkJFQWdFaUFIUVJSc0lBWnFLZ0lRUXdBQUFEK1VZQVJBSUFGQnlBRkdCSDhnRVVGL05nSUFRY2dCQlNBQlFSaHNJQVZxSUFnMkFnQWdBVUVZYkNBRmFpQUhOZ0lFSUFGQkdHd2dCV29nQ2pZQ0NDQUJRUmhzSUFWcUlBd29BZ0EyQWhBZ0FVRVliQ0FGYWlBTktBSUFOZ0lVSUFGQkdHd2dCV3BCQURZQ0RDQUJRUUZxQ3lFQkN3c0xDd3NnQ2tFQmFpRUtJQU1vQWdBZ0NFSHdBR3hxS0FJRUlRWU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0NFRUJhaUVJREFFTEMwRUFRUU5CMmRnQ0lCQVFQU0FFUWN3bGFnd0JDeUFBUVJoc0lBUnFRWDgyQWd3Z0FVRVliQ0FGYWtFTWFndEJmellDQUNBSkpBWUx3d2NDRG44SWZTTUdJUVVqQmtIUUFHb2tCaUFGUVRCcUlSQWdCVUhNQUdvaERDQUZRY2dBYWlFTklBVkJRR3NoRGlBRlFUaHFJUThnQUNnQ0FMSWhHU0FBS0FJRXNpRWFJQVJCekNWcUlSRUNmd0pBQTBBQ1FDQUtJQUlvQWdST0RRSkJBQ0VIQTBBZ0IwRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUhRUVIwSUFWcUlBWkJBblJxSUFwQk1Hd2dBV29nQjBFRWRHb2dCa0VDZEdvb0FnQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCaUFDS0FJQUlBcEI4QUJzYWlnQ0JDRUhBMEFnQmlBSEtBSUVTQVJBUVFBaEN3TkFJQXNnQnlnQ0FDSVNJQVpCRkd4cUtBSUVTQVJBSUFBZ0JTQUdRUlJzSUJKcUtBSUFJZ2NnQzBFVWJHb3FBZ2dnQzBFVWJDQUhhaW9DRENBTUlBMFFnZ1JCQUVnZ0RDb0NBQ0lUUXdBQUFBQmRja1VFUUNBTktnSUFJaFFnR21BZ0ZFTUFBQUFBWFNBVElCbGdjbkpGQkVBQ1FDQUZLZ0lNSUFVcUFnQWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWdCa0VVYkdvb0FnQWlCeUFMUVJSc2Fpb0NDQ0lUbENBRktnSUVJQXRCRkd3Z0Iyb3FBZ3dpRkpTU2tpSVdJQmFVSUFVcUFod2dFeUFGS2dJUWxDQVVJQVVxQWhTVWtwSWlGeUFYbEpJZ0JTb0NMQ0FUSUFVcUFpQ1VJQlFnQlNvQ0pKU1NraUlZSUJpVWtwRWhGU0FGS2dJb0lCZ2dGWldVSUFVcUFnZ2dGaUFWbFpRZ0JTb0NHQ0FYSUJXVmxKS1NRODNNekwxZVJRUkFJQTRnRXpnQ0FDQU9JQlE0QWdRZ0FDQUZJQTRnRHhDSEJDQVBLZ0lFSWhNZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBaUJ5QUdRUlJzYWlvQ0RDSVVYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VHQUVRQ0FKUWNnQlJnMEtJQWxCR0d3Z0Eyb2dDallDQUNBSlFSaHNJQU5xSUFZMkFnUWdDVUVZYkNBRGFpQUxOZ0lJSUFsQkdHd2dBMm9nRENnQ0FEWUNFQ0FKUVJoc0lBTnFJQTBvQWdBMkFoUWdDVUVZYkNBRGFrRUFOZ0lNSUFsQkFXb2hDUXdEQ3dzZ0V5QVVRd0FBQUVDVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUVNQUFBQS9sR0FFUUNBSVFjZ0JSZ1IvSUJGQmZ6WUNBRUhJQVFVZ0NFRVliQ0FFYWlBS05nSUFJQWhCR0d3Z0JHb2dCallDQkNBSVFSaHNJQVJxSUFzMkFnZ2dDRUVZYkNBRWFpQU1LQUlBTmdJUUlBaEJHR3dnQkdvZ0RTZ0NBRFlDRkNBSVFSaHNJQVJxUVFBMkFnd2dDRUVCYWdzaENBc0xDd3NMQ3lBTFFRRnFJUXNnQWlnQ0FDQUtRZkFBYkdvb0FnUWhCd3dCQ3dzZ0JrRUJhaUVHREFFTEN5QUtRUUZxSVFvTUFRc0xRUUJCQTBIWjJBSWdFQkE5SUFOQnpDVnFEQUVMSUFsQkdHd2dBMnBCZnpZQ0RDQUlRUmhzSUFScVFReHFDMEYvTmdJQUlBVWtCZ3ZWRVFJVWZ3RjlJd1loQlNNR1FUQnFKQVlnQlNJTVFTaHFJUklnQlVFZ2FpRVRJQUJCQUVjZ0FVRUFSM0VnQWtFQVIzRWdBMEVBUjNFZ0JFRUFSM0VFZnlBQktBS1lBVUVCU0FSL1FYNEZBbjhnQkVNQUFBQUFPQUlBSUFGQkNHb2hEU0FCUVRocUlRZ2dBVUhvQUdvaENrRUFJUVVEUUNBRklBRW9BZ1JJQkVBZ0RTQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFUQnFJQVZCTUd4cUVMSUNJQUVvQXBnQlFRRktCRUFnQ0NBQktBSUFJQVZCOEFCc2FrRU1haUFBUVpBRWFpQUZRVEJzYWhDeUFpQUJLQUtZQVVFQ1NnUkFJQW9nQVNnQ0FDQUZRZkFBYkdwQkRHb2dBRUh3QjJvZ0JVRXdiR29Rc2dJTEN5QUZRUUZxSVFVTUFRc0xJQUFvQWdCQkFVWUVRQ0FBUVF4cUloUW9BZ0FnQUVFd2FpQUJJQUJCOEJScUlnNGdBRUhJT21vaUNoRE5CaUFBUVFScUlROGdBRUVJYWlFUUJTQUFRUVJxSWc4b0FnQWdBRUVJYWlJUUtBSUFJQUJCTUdvZ0FTQUFRZkFVYWlJT0lBQkJ5RHBxSWdvUXpBWWdBRUVNYWlFVUN5QUFRZURuQUdvaEZ5QUJRWndCYWlFVklBQkIwQXRxSVJZZ0RpRUlBMEFDUUNBTElBQW9BaVJPRFFCQkFDRUpJQVloQnlBSUlRVURRQUpBSUFrZ0Z5Z0NBRTRFUUNBRklRZ01BUXNnQ3lBQUtBSWtSZ1JBSUFVaENBd0JDeUFGSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCRUFnQlNBT1J3UkFJQVVoQ0F3Q0N5QUtJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJIOGdDaUVJREFJRklBb0xJUVVMSUFsQkFuUWdER29nQ0VFWWJDQUZhaUlSTmdJQUlBQkIwQXRxSUFkQkEzUnFJQWhCR0d3Z0JXb29BaEEyQWdBZ0FDQUhRUU4wYWtIVUMyb2dDRUVZYkNBRmFpZ0NGRFlDQUNBQVFlVG5BR29nQ1VFMGJHb2dBRFlDQUNBQUlBbEJOR3hxUWVqbkFHb2dBVFlDQUNBQUlBbEJOR3hxUWV6bkFHb2dFVFlDQUNBQUlBbEJOR3hxUWZEbkFHb2dBallDQUNBSlFRRnFJUWtnQmlBSFFRRnFJZ2dnQ0VFRlJoc2hCeUFMUVFGcUlRc01BUXNMSUFsRkRRQkJBQ0VISUFZaEJRTkFJQWNnQ1VjRVFDQUFJQWRCTkd4cVFaVG9BR29nQUVIazV3QnFJQWRCTkd4cUtBSUFJQUFnQjBFMGJHcEI2T2NBYWlnQ0FDQUFJQWRCTkd4cVFlem5BR29vQWdBZ0FDQUhRVFJzYWtIdzV3QnFLQUlBSUFBZ0IwRTBiR3BCOU9jQWFpZ0NBQ0FBSUFkQk5HeHFRZmpuQUdvZ0FDQUhRVFJzYWtIODV3QnFJZ1lReUFZaUVUWUNBQ0FSUlFSQUlBWXFBZ0FnQUNvQ0tGNEVRQ0FBS0FJQVFRRkdCRUFnRkNnQ0FDSUdRZWdBYWlBQUlBZEJOR3hxUVlEb0FHb3FBZ0M3SUFBZ0IwRTBiR3BCaE9nQWFpb0NBTHNnRWlBVElBWW9BckFCRU44RUlBQkIwQTVxSUFWQkEzUnFJQklyQXdDMk9BSUFJQUFnQlVFRGRHcEIxQTVxSUJNckF3QzJPQUlBQlNBQVFkQU9haUFGUVFOMGFpQUFJQWRCTkd4cVFZRG9BR29vQWdBMkFnQWdBQ0FGUVFOMGFrSFVEbW9nQUNBSFFUUnNha0dFNkFCcUtBSUFOZ0lBQ3lBQVFaQVJhaUFGUVF4c2FpQUFJQWRCTkd4cVFZam9BR29vQWdBMkFnQWdBQ0FGUVF4c2FrR1VFV29nQUNBSFFUUnNha0dNNkFCcUtBSUFOZ0lBSUFBZ0JVRU1iR3BCbUJGcUlBQWdCMEUwYkdwQmtPZ0FhaWdDQURZQ0FDQUFRZEFMYWlBRlFRTjBhaUFIUVFKMElBeHFLQUlBSWdZb0FoQTJBZ0FnQUNBRlFRTjBha0hVQzJvZ0JpZ0NGRFlDQUNBQVFhRGdBR29nQlVFWWJHb2dCaWdDQURZQ0FDQUFJQVZCR0d4cVFhVGdBR29nQmlnQ0JEWUNBQ0FBSUFWQkdHeHFRYWpnQUdvZ0JpZ0NDRFlDQUNBQUlBVkJHR3hxUWF6Z0FHcEJBRFlDQUNBRlFRRnFJUVVMQ3lBSFFRRnFJUWNNQVFzTElBVWhCZ3dCQ3d0QkFDRUNBMEFnQWlBR1NBUkFJQUZCbkFGcUlBSkJHR3hxSWdVZ0FFR2c0QUJxSUFKQkdHeHFJZ2dwQWdBM0FnQWdCU0FJS1FJSU53SUlJQVVnQ0NrQ0VEY0NFQ0FDUVFGcUlRSU1BUXNMSUFFZ0JrRVliR3BCZnpZQ3FBRWdCa0VEU0NFQ0lBQW9BZ0JCQVVZRVFDQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdBQ2dDRUNBTklBQkIwQTVxSWdJZ0FFR1FFV29pQlNBR0lBTkJBQkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWVrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBRUF6TStNL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWRrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBQUFBQUFBQUVJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FCUVFBMkFwZ0JRWHdNQmdzTEN3c0xCU0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnRFNBQVFkQU9haUlDSUFCQmtCRnFJZ1VnQmlBRFFRQkRBQUNBUHhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRODNNVEQ4UTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0JDQURJQUlnQlNBR0lBTkJBVU9hbVJrL0VOb0JJaGs0QWdBZ0dTQUFLZ0lzWGdSQUlBUWdBeUFDSUFVZ0JpQURRUUZEemN6TVBoRGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUXdBQUFBQVEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdBVUVBTmdLWUFVRjhEQVlMQ3dzTEN3c2dBU0FCS0FLWUFVRUJhallDbUFGQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBQlFlZ0FhaUFBUVFSMGFpQUNRUUowYWlBQlFUaHFJQUJCQkhScUlBSkJBblJxS0FJQU5nSUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQzBFQUlRQURRQ0FBUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFGQk9Hb2dBRUVFZEdvZ0FrRUNkR29nQVVFSWFpQUFRUVIwYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3RCQUNFQUEzOGdBRUVEUmdSL1FRQUZRUUFoQWdOQUlBSkJCRWNFUUNBQlFRaHFJQUJCQkhScUlBSkJBblJxSUFCQkJIUWdBMm9nQWtFQ2RHb29BZ0EyQWdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xDd3NGUVg4TElSZ2dEQ1FHSUJnTHdRRUJBMzhqQmlFRUl3WkJFR29rQmtHazZ3QVFSQ0lEUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0JFRUlhaUVGSUFNZ0FEWUNGQ0FESUFFMkFnUWdBeUFDTmdJSUlBTkJHVFlDR0NBRFFRczJBaHdnQTBFTE5nSWdJQU5CQ2pZQ0pDQURRNXFaR1Q4NEFpZ2dBME1BQUFCQU9BSXNJQU5CNE9jQWFrRUJOZ0lBSUFOQjlPY0FhaUFCSUFKc0VFUWlBRFlDQUNBQUJFQWdBMEg0NXdCcVFRQTJBZ0FnQkNRR0lBTVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMTHdBZ0FDZ0NDQ0FCUVFKMGFpSUJLQUlBQkg4Z0FVRUFOZ0lBSUFBZ0FDZ0NBRUYvYWpZQ0FFRUFCVUYvQ3hvTFBnQWdBU0FBS0FJQUlBQW9BZ1FRendZaUFVRUJOZ0lBSUFFZ0FEWUNEQ0FCSUFCQkNHb1E0d0lpQURZQ0VDQUFSQUFBQUFBQUFBQUFFSTBCSUFFTHVnRUJCbjhnQUNnQ0FDRUJRYlRFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUWJERUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2N0FnRUdmeU1HSVFNakJrRXdhaVFHSUFOQkdHb2hCU0FEUVJCcUlRWWdBMEVJYWlFSElBTkJJR29pQWlBQU5nSUFJQU5CSEdvaUJDQUJOZ0lBSUFJUVV3Ui9BbjhnQWhCU0lRQWdCQkRTQmdSL0lBQkJDR29pQVNBRUVLd0RRYmdCRUV3YUlBQW9BZ3doQWdKQUFrQWdBU2dDQUNJRUlBQW9BdEFCUncwQUlBQW9BdFFCSUFKSERRQU1BUXNnQXlBRU5nSUFJQU1nQWpZQ0JFRUFRUUpCbWRjQ0lBTVFQU0FCSUFBb0F0QUJJQUFvQXRRQklBRVErUXNMSUFBUXFRTWdBQ0FCRUx3TElnSTJBc0FCSUFKRkJFQkJBRUVEUWNqWEFpQUhFRDFCZnd3Q0N5QUFJQUlRb2draUFqWUMyQUVnQWtVRVFFRUFRUU5CN3RjQ0lBWVFQVUYvREFJTElBSWdBQ2dDMkFNUTR3Z2dBQ0FCUVFocUVLOEpJZ0UyQXVRQklBRUVRQ0FBS0FMWUFTQUFLQUxjQVJESEJ5QUFLQUxBQVNBQUt3TzRBaUFBS3dQQUFpQUFRZGdDYWhER0N5QUFJQUFvQXNBQkVJQUVOZ0xvQVFWQkFFRURRWlBZQWlBRkVEMExRUUFGUVg4TEN3VkJmd3NhSUFNa0Jnc3pBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFEWUNBQ0FFS0FJQUlRVWdCQ1FHSUFVTDd3SUJDSDhnQVNnQ0FDSUZLQUlFSVFOQm9NUURLQUlBSWdSQmYyb2hCaUFFSUFaeFJTSUlCSDhnQXlBR2NRVWdBeUFFVHdSL0lBTWdCQkJPQlNBREN3c2hBMEdjeEFNb0FnQWdBMEVDZEdvaUJ5Z0NBQ0VCQTBBZ0JTQUJLQUlBSWdKSEJFQWdBaUVCREFFTEN3Si9Ba0FnQVVHa3hBTkdEUUFnQVNnQ0JDRUNJQWdFZnlBQ0lBWnhCU0FDSUFSUEJIOGdBaUFFRUU0RklBSUxDeUFEUncwQUlBVU1BUXNnQlNnQ0FDSUNCRUFnQWlnQ0JDRUNJQVVnQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSUFOR0RRRWFDeUFIUVFBMkFnQWdCUXNpQ1NnQ0FDSUNJUWNnQVNBQ0JIOGdBaWdDQkNFQ0lBTWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJZ0pIQkg5Qm5NUURLQUlBSUFKQkFuUnFJQUUyQWdBZ0JTZ0NBQVVnQndzRklBY0xOZ0lBSUFsQkFEWUNBRUdveEFOQnFNUURLQUlBUVg5cU5nSUFJQUFnQlRZQ0FDQUFRYVRFQXpZQ0JDQUFRUUU2QUFnTFpRRUJmeU1HSVFFakJrRWdhaVFHSUFBb0FnQWlBQ2dDQUJvZ0FTQUFOZ0lBSUFGQkVHb2lBQ0FCS0FJQU5nSUFJQUZCQkdvZ0FCRFZCaUFCS0FJRUlRQWdBVUVBTmdJRUlBQUVRQ0FCTEFBTUJFQWdBRUVRYWhDekF3c2dBQkE0Q3lBQkpBWUxPUUVDZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQUVGTWlBQVJBSUFFZ0FEWUNBQ0FDSUFFb0FnQTJBZ0FnQWhEV0Jnc2dBU1FHQ3k4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQWlnQ0FDRURJQUlrQmlBREMxQUJBbjhqQmlFREl3WkJFR29rQmlBQklBSW9BZ0FnQUJDcUF5SUJOZ0lBSUFGQkFFZ0VmeUFESUFBMkFnQkJBRUVEUWZUVEFpQURFRDBnQWlnQ0FCQzRBa0VBQlVFQkN5RUVJQU1rQmlBRUMwRUJBbjhqQmlFREl3WkJFR29rQmlBRElBSVFyUU1nQTBFTWFpSUNJQUVnQXlBQVFUOXhRWW9CYWhFQ0FEWUNBQ0FDS0FJQUlRUWdBeEJISUFNa0JpQUVDM3dCQW44akJpRUVJd1pCRUdva0JpQURJQUFnQWlnQ0FCRGxDU0lBTmdJQUlBQUVmd0ovQWtBQ1FBSkFJQUFvQW13T0FnQUJBZ3NnQVVFQUVJb0NHa0VCREFJTElBRkJBaENLQWhwQkFRd0JDeUFCUVFNUWlnSWFRUUVMQlVFQVFRTkJyZE1DSUFRUVBTQUNLQUlBRUxnQ1FRQUxJUVVnQkNRR0lBVUxuQU1CRDM4akJpRURJd1pCNEFCcUpBWWdBMEhRQUdvaENpQURRY2dBYWlFTElBTkJRR3NoRENBRFFUaHFJUVVnQTBFd2FpRUdJQU5CS0dvaERTQURRU0JxSVE0Z0EwRVlhaUVQSUFOQkVHb2hCeUFEUVFocUlRZ2dBQ2dDNkFFaEVDQURRZGdBYWlJRVFRQTJBZ0FnQXlBQ05nSUFRUUJCQVVIdTBBSWdBeEE5SUFJZ0EwSFVBR29pQ1JDaENVRUFTQVIvSUFnZ0FqWUNBRUVBUVFOQmh0RUNJQWdRUFVFQUJRSi9JQWNnQVRZQ0FFRUFRUUZCck5FQ0lBY1FQU0FKS0FJQUlBRVFvQWxCQUVnRVFFRUFRUU5CeGRFQ0lBOFFQVUVBREFFTElBUWdDUkNqQ1VFQVNBUkFRUUJCQTBIcDBRSWdEaEE5UVFBTUFRdEJBRUVCUVlUU0FpQU5FRDBnQmlBQ05nSUFRUUJCQVVHTjBnSWdCaEE5SUFCQitBRnFJQUZCQW5ScUlBSVFyZ2tpQURZQ0FDQUFSUVJBSUFVZ0FqWUNBRUVBUVFOQm85SUNJQVVRUFF0QkFFRUJRWVRTQWlBTUVEMGdBVUVLUmdSQVFYOFFBUXNnRUNBRUtBSUFFSjRKUVFCSUJIOUJBRUVEUWNUU0FpQUxFRDFCQUFVZ0JCRC9BMEVBUVFGQjNkSUNJQW9RUFVFQkN3c0xJUkVnQXlRR0lCRUxNUUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBU0FDSUFCQlAzRkJpZ0ZxRVFJQU5nSUFJQU1vQWdBaEJDQURKQVlnQkF1WUFRRUNmeUFBUVFGR0JIOUJBZ1VnQUNBQVFYOXFjUVIvSUFBUTBRRUZJQUFMQ3lJQVFiVEVBeWdDQUNJQ1N3UkFJQUFRcXdNRklBQWdBa2tFUUVHOHhBTW9BZ0N6UWNERUF5b0NBSldORUpJQklRRWdBa0YvYWlBQ2NVVWdBa0VDUzNFRWZ5QUJRUUZCSUNBQlFYOXFaMnQwSUFGQkFra2JCU0FCRU5FQkN5SUJJQUFnQUNBQlNSc2lBQ0FDU1FSQUlBQVFxd01MQ3dzTFNBRUJmeUFBUWNnQkVGRWlBellDQUNBQVFiakVBellDQkNBRElBSW9BZ0FvQWdBMkFnZ2dBMEVRYWtFQVFiZ0JFRVVhSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUN6OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRVFyUU1nQWtFTWFpSUJJQUlnQUVIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNFRElBSVFSeUFDSkFZZ0F3dkRCZ0lRZndGOEl3WWhBaU1HUVNCcUpBWWdBa0VZYWlFTklBSkJFR29oQXlBQ1FRaHFJUVFnQWlFTUlBQUVRQUpBSUFGRkJFQkJBRUVEUWEycEFTQUVFRDFCZnlFRURBRUxJQUFvQWdRaEFrRUFJUVFEUUFKQUlBUWdBazROQUNBQUtBSUlJQVJCQW5ScUtBSUFSUTBBSUFSQkFXb2hCQXdCQ3dzZ0FpQUVSZ1JBUVg4aEJBVWdBUkNJQXlJTFJRUkFRUUJCQTBIYXFRRWdBeEE5UVg4aEJBd0NDeUFFUVFKMElRNGdDeEQzQWlFQkFrQURRQUpBSUFwQkJFOE5BaUFLSUE1cUlRaEJBQ0VDUVFBaEJRTkFJQVZCQTBrRVFDQUZSU0VQSUFWQkFrWWhFRUVBSVFjZ0FDZ0NIQ0VEQTBBZ0J5QURTQVJBUVFBaEJnTkFJQVlnQTBnRVFDQUJSUTBHSUFFUTdnUWhBMEVBRVBjQ0lRRWdBQ2dDRENBSVFRSjBhaWdDQUNBRklBWWdCeUFBS0FJY2JHcEJBMnhxUVFKMGFrSC9BU0FEYXlJRE5nSUFJQUFvQWhRZ0NFRUNkR29vQWdBaUVTQUdJQWNnQUNnQ0hHeHFRUUowYWlFSklBOEVRQ0FKSUFNMkFnQUZJQWtnQXlBSktBSUFhallDQUNBUUJFQWdCaUFISUFBb0FoeHNha0VDZENBUmFpSUpJQWtvQWdCQkF4QTVOZ0lBQ3dzZ0JrRUJhaUVHSUFJZ0Eyb2hBaUFBS0FJY0lRTU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUNJQUFvQWh3aUFpQUNRUU5zYkJBNUlRZEJBQ0VGUVFBaEF3TkFJQU1nQWtFRGJDQUNiRWtFUUNBQUtBSU1JQWhCQW5ScUtBSUFJQU5CQW5ScUlnWW9BZ0FnQjJzaEFpQUdJQUkyQWdBZ0JTQUNJQUpzYWlFRklBTkJBV29oQXlBQUtBSWNJUUlNQVFzTElBQW9BaEFnQ0VFRGRHcEVTSys4bXZMWGVqNGdCYmVmSWhJZ0VrUUFBQUFBQUFBQUFHRWJPUU1BUVFBaEJVRUFJUU1EUUNBRElBSWdBbXhKQkVBZ0FDZ0NGQ0FJUVFKMGFpZ0NBQ0FEUVFKMGFpSUdLQUlBSUFkcklRSWdCaUFDTmdJQUlBVWdBaUFDYkdvaEJTQURRUUZxSVFNZ0FDZ0NIQ0VDREFFTEN5QUFLQUlZSUFoQkEzUnFSRWl2dkpyeTEzbytJQVczbnlJU0lCSkVBQUFBQUFBQUFBQmhHemtEQUNBS1FRRnFJUW9NQVFzTFFRQkJBMEgycVFFZ0RSQTlJQXNRT0VGL0lRUU1BZ3NnQ3hBNElBQW9BZ2dnQkVFQ2RHcEJBVFlDQUNBQUlBQW9BZ0JCQVdvMkFnQUxDd1ZCQUVFRFFaU3BBU0FNRUQxQmZ5RUVDeUFNSkFZZ0JBc3NBUUovSXdZaEFTTUdRUkJxSkFZZ0FTQUFRUUZ4UVFacUVSQUFOZ0lBSUFFb0FnQWhBaUFCSkFZZ0Fnc3RBZ0YvQW53akJpRUNJd1pCRUdva0JpQUNJQUVnQUVFRGNSRVNBRGtEQUNBQ0t3TUFJUVFnQWlRR0lBUUxqQUVBSUFCQkFEWUN3QUVnQUVFQU5nTEVBU0FBUWdBM0Fzd0JJQUJDQURjQzFBRWdBRUlBTndMY0FTQUFRWDQyQXZBQklBQkJBRFlDOUFFZ0FFSUFOd0tnQWlBQVFnQTNBcWdDSUFCQmdJQ0EvQU0yQXJBQ0lBQkVMVU1jNitJMkdqODVBN2dDSUFCRUFBQUFBQUJBajBBNUE4QUNJQUJDQURjQ3lBSWdBRUlBTndMUUFpQUFRUUkyQXRnREMwRUJBMzhnQUNnQ0NDRUJBMEFnQVFSQUlBRW9BZ0FoQXlBQkVEZ2dBeUVCREFFTEN5QUFLQUlBSVFJZ0FFRUFOZ0lBSUFJRVFDQUFLQUlFR2lBQ0VEZ0xDNndLQVExL0l3WWhDeU1HUWFBQmFpUUdJQXRCbUFGcUlRVWdDMEdRQVdvaER5QUxRWUFCYWlJSVFRQTJBZ0FnQ0VHMkFUWUNCQ0FJUWNNQk5nSUlJQWhCRFRZQ0RFRi9JUVlEUUNBSFFRUkhCRUFnQUNBSFFRSjBJQWhxS0FJQWFpd0FBQ0VLSUFkQkFXb2hCeUFLSUFrZ0NrSC9BWEVnQ1VIL0FYRktHeUVKSUFvZ0JpQUtRZjhCY1NBR1FmOEJjVWdiSVFZTUFRc0xJQWxCL3dGeElnY2dCa0gvQVhFaUNXdEJIa2dFZnlBQ1FRQTJBZ0FnQTBRQUFBQUFBQUR3dnprREFFRitCUUovSUFjZ0NXcEJBWFloQ2tFQUlRY0RRQ0FIUVFSSEJFQWdCU0FIYWlBS0lBQWdCMEVDZENBSWFpZ0NBR290QUFCTE9nQUFJQWRCQVdvaEJ3d0JDd3RCQUNFSkEwQUNRQ0FKUVFSUERRQWdDVUVCYWlFSUlBVWdDV29zQUFCQkFVWUVRQ0FJUVFOeElBVnFMQUFBUVFGR0JFQWdDVUVDYWtFRGNTQUZhaXdBQUVVTkFnc0xJQWdoQ1F3QkN3c2dBd0o4QWtBQ1FBSkFBa0FDUUFKQUFrQWdDVUgvLy8vL0IzRU9CUUVDQXdRQUJRc2dBa0VBTmdJQUlBTkVBQUFBQUFBQThMODVBd0JCZlF3SEMwSDNBQ0VJUVFBaEJVSC9BU0VIQTBBZ0JVRU9SZ1JBREFZRklBVkJmV29oRENBRlFmNy8vLzhIY1VFTVJpRU5JQVZCRG13aERrRUFJUVlEUUNBR1FRNUhCRUFnRENBR1FYMXFja0VJVHdSQUlBWkIvdi8vL3dkeElRTWdCU0FHY2tIKy8vLy9CM0VFUUNBTklBTkZJQU5CREVaeWNVVUVRQ0FJSUF0cUlBQWdCaUFPYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQUFBTEFBdEI5d0FoQ0VIL0FTRUhRUUFoQmdOQUlBWkJEa1lFUUF3RkJTQUdRWDFxSVF3Z0JrSCsvLy8vQjNFaUJVVWhEU0FGUVF4R0lRNUJEU0VGQTBBZ0JVRi9TZ1JBSUFWQmZXb2dESEpCQ0U4RVFDQU5JQVZCZm5GQkRFWWlBM0ZGQkVBZ0RpQURJQVZCQWtseWNVVUVRQ0FJSUF0cUlBQWdCaUFGUVE1c2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFWQmYyb2hCUXdCQ3dzZ0JrRUJhaUVHREFFTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVF3Z0JVRitjVUVNUmlBRlFRSkpjaUVOSUFWQkRtd2hEa0VOSVFZRFFDQUdRWDlLQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCZm5GQkRFWWdEWEVnQlNBR2NrRUNTWEpGQkVBZ0NDQUxhaUFBSUFZZ0RtcHFMUUFBSUFwcklnTkJIM1k2QUFBZ0NFRi9haUVJSUFOQkFDQURheUFEUVg5S0d5SURJQWNnQXlBSFNCc2hCd3NMSUFaQmYyb2hCZ3dCQ3dzZ0JVRi9haUVGREFFRkRBUUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRMGdCVUYrY1NJTVFReEdJUTRnREVVaEVFRUFJUVlEUUNBR1FRNUhCRUFnQmtGOWFpQU5ja0VJVHdSQUlBNGdCa0grLy8vL0IzRWlBMFZ4UlFSQUlBTWdESEpGSUJBZ0EwRU1SbkZ5UlFSQUlBZ2dDMm9nQUNBRklBWkJEbXhxYWkwQUFDQUtheUlEUVI5Mk9nQUFJQWhCZjJvaENDQURRUUFnQTJzZ0EwRi9TaHNpQXlBSElBTWdCMGdiSVFjTEN3c2dCa0VCYWlFR0RBRUxDeUFGUVg5cUlRVU1BUVVNQXdzQUFBc0FDeUFDSUFrMkFnQkVBQUFBQUFBQThEOE1BUXNnQnlFQUlBSWdDVFlDQUVRQUFBQUFBQUR3UHlBQXQwUUFBQUFBQUFBK1FLTWdBRUVlU2hzTE9RTUFRWTRXUWdBZ0N5QVBFTFVESWdCQkFFZ0VmMEY4QlNBRUJFQWdCQ0FBTmdJQUN5QUJJQThwQXdBM0F3QkJBQXNMQ3lFUklBc2tCaUFSQzVnQkFRSi9JQUJCQVVZRWYwRUNCU0FBSUFCQmYycHhCSDhnQUJEUkFRVWdBQXNMSWdCQm9NUURLQUlBSWdKTEJFQWdBQkN5QXdVZ0FDQUNTUVJBUWFqRUF5Z0NBTE5Cck1RREtnSUFsWTBRa2dFaEFTQUNRWDlxSUFKeFJTQUNRUUpMY1FSL0lBRkJBVUVnSUFGQmYycG5hM1FnQVVFQ1NSc0ZJQUVRMFFFTElnRWdBQ0FBSUFGSkd5SUFJQUpKQkVBZ0FCQ3lBd3NMQ3d0UEFRRi9JQUJCOEFNUVVTSUROZ0lBSUFCQnBNUUROZ0lFSUFNZ0FpZ0NBQ2dDQURZQ0NDQURRUkJxSWdKQkFFSGdBeEJGR2lBQ0VPUUdJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDRkRZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MWHdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWlBRUVBUnlBQlFRSkpjUVIvSUFBZ0FUWUNGRUVBQlVGL0MwVUVRQ0FDSUFFMkFnQkJBRUVCUVp5MkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSU1OZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dGZBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNJQVFRQkhJQUZCQWtseEJIOGdBQ0FCTmdJTVFRQUZRWDhMUlFSQUlBSWdBVFlDQUVFQVFRRkJ1YllDSUFJUVBRc0xJQUlrQmd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUTdnZ2dBaWdDQUFWQmZ3c2hBeUFCSkFZZ0F3dEJBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlnQzJBRWlBQVIvSUFCQm1JZXZBMm9nQVRZQ0FFRUFCVUYvQ3hvTElBSWtCZ3Q3QWdKL0Fud2pCaUVCSXdaQkVHb2tCaUFCUVFocUlnSWdBRFlDQUNBQ0VGTUVmQ0FDRUZJb0F0Z0JJZ0FFZkNBQUJIOGdBU0FBUVpDSHJ3TnFLd01BT1FNQVFRQUZRWDhMUlNFQUlBRXJBd0JFQUFBQUFBQUE4TDhnQUJzRlJBQUFBQUFBQVBDL0N3VkVBQUFBQUFBQThMOExJUVFnQVNRR0lBUUxLZ0VDZndKL0l3WWhBU01HUVJCcUpBWkI3NmdDUVFOQjlJWUJRZEsyQWtFQlFRRVFDU0FCQ3lRR0MzRUNBbjhCZkNNR0lRSWpCa0VRYWlRR0lBSkJDR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaUVBSUFGREFBQUFBRjhnQVVNQUFJQS9ZSEpGQkVBZ0Fic2hCQ0FBS0FMWUFTSUFCRUFnQUNBRUVPb0lSUVJBSUFJZ0JEa0RBRUVBUVFGQjE3WUNJQUlRUFFzTEN3c2dBaVFHQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDR0RZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWdBUkNLQWtVRVFDQUNJQUUyQWdCQkFFRUJRZmEyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJUU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ckFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0lRQWdBVUgvQVUwRVFDQUFLQUxZQVNJQVJTQUJRZjhCUzNJRWYwRi9CU0FBSUFFMkFoQkJBQXRGQkVBZ0FpQUJOZ0lBUVFCQkFVR1p0d0lnQWhBOUN3c0xJQUlrQmd0SkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUS9RaEZJUUFnQWlnQ0FFRi9JQUFiQlVGL0N5RURJQUVrQmlBREMwb0JBbjhqQmlFQ0l3WkJFR29rQmlBQ1FRUnFJZ01nQURZQ0FDQURFRk1FUUNBREVGSW9BdGdCSUFFUSt3TkZCRUFnQWlBQk5nSUFRUUJCQVVHenR3SWdBaEE5Q3dzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBOEFDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FQQUFnc2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQTdnQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RTzRBZ3NnQWlRR0N5c0JBbjhDZnlNR0lRRWpCa0VRYWlRR1FaMm5Ba0VCUWFDSEFVSFd0d0pCMGdCQkFSQUpJQUVMSkFZTENRQkIwSVVCS0FJQUM1c0VBZ0ovQVg0akJpRVRJd1pCa09BQWFpUUdJQk5CZ09BQWFpRVVJQUpCZm1wQkEwa0VRQUpBSUJCQmpoWkhCRUFnQVVFQ0lCQkIvd0Z4SWhRZ0ZFRURiQ0FESUFRZ0JTQUdJQWNnQ0NBSklCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUlMSUJNZ0ZDQU5JQTRnRHlBUUlCRVFxUWNoRFNBU1JRMEJJQkpDQURjREFBd0JDeUFCUVFKQkRrRXFJQU1nQkNBRklBWWdCeUFJUkFBQUFBQUFBT3cvSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBRUxJQk1nRkNBT0lBOGdFUkRtQmlJT1FRQklCRUFnRFVGL05nSUFJQTRoRFF3QkN5QVVLUU1BSWhWQ2YxRUVRQ0FOUVg4MkFnQkJleUVOREFFTElBMGdGYWRCLy84QmNVRUFJQlZDZ0lEKy93K0RVQnMyQWdBZ0VnUkFJQklnRlRjREFBc2dEaUVOQ3dWQkFTRU5Dd0ovQWtBQ1FDQUNEZ1VBQUFFQUFBRUxJQUJGQkVBZ0NrRi9OZ0lBUVg4TUFnc2dBQ2dDSENJT1FRSjBJUThDUUFKQUlBSU9CQUFCQVFBQkN5QUJRUUFnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFNRklBQkJBQ0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1Bd3NBQ3lBQlFRRWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQUlGSUFCQkFTQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUFnc0FDMEVCQ3lFQUlBMUJBVWNFUUNBTklBQkJBQ0FBSUExeFFRQklHeUFBUVFGR0d5RUFDeUFUSkFZZ0FBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR1Jwd0pCQWtHa2h3RkIyYmNDUVM1QjhnQVFDU0FCQ3lRR0N3c0FRZENGQVNBQU5nSUFDemtCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBVUhraHFjQ2FpZ0NBQVZCQUFzaEFpQUJKQVlnQWd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUWdBa2dBaWdDQUFWQkFBc2hBeUFCSkFZZ0F3dGJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNBQlFRQkhJZ0FRL1FNZ0FrSGR0d0pCNGJjQ0lBQWJOZ0lBUVFCQkFVSG10d0lnQWhBOUJVRUFJUUVMSUFJa0JpQUJDK0VGQWdwL0FYMGpCaUVDSXdaQjBBQnFKQVlnQWtFNGFpRUlJQUpCTUdvaENTQUNRY3dBYWlFRUlBSkJ4QUJxSVFVZ0FrRkFheUVISUFKQnlBQnFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUlES0FMMEFTQUJUQVJBUWZDR0FTZ0NBQXdCQ3lBRVFRQTJBZ0FnQlVGL05nSUFJQWREQUFDQXZ6Z0NBQUpBQWtBZ0F5Z0M4QUVpQUVGK1JnUkFJQU1vQXVnQklBTW9Bc3dCRUpjSklBTW9BdWdCSWdBRWZ5QUVJQUFvQWpRMkFnQWdCU0FBS0FJNE5nSUFRUUFGUVg4TEdpQUZLQUlBSVFZZ0JDZ0NBQ0VGUVg4aEFFRUFJUVFEUUNBRUlBWklCRUFnQVNBRVFjUUFiQ0FGYWlnQ01FWUVRQ0FFUWNRQWJDQUZhaWdDUEVVRVFBSkFJQWNnQUVGL1JnUi9JQVJCeEFCc0lBVnFLQUkwQlNBSEtnSUFJQVJCeEFCc0lBVnFLZ0kwSWd4ZVJRMEJJQXk4Q3pZQ0FDQUVJUUFMQ3dzZ0JFRUJhaUVFREFFTEN5QUFRWDlNQkVBZ0EwRitOZ0x3QVF3Q0N5QURJQVVvQWpBaUNqWUM4QUZCQUNFRUEwQWdCRUVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FFUVFSMElBSnFJQVpCQW5ScUlBQkJ4QUJzSUFWcUlBUkJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dCRUVCYWlFRURBRUxDeUFEUWZnQmFpQUtRUUowYWlnQ0FDQUNFSzBKSUFNb0F2QUJJUUFMSUFCQmYwd05BQ0FES0FMc0FTQURRZmdCYWlBQVFRSjBhaWdDQUNBREtBTEVBU0FDSUFjUXpnWWlBRUVBU0FSQUlBa2dBRFlDQUVFQVFRRkIvTGNDSUFrUVBTQURRWDQyQXZBQkRBRUxJQU1vQXZRQlFYOXFJUUFnQ0NBRFFmZ0JhaUFES0FMd0FVRUNkR29vQWdBMkFnQWdDQ0FBTmdJRVFRQkJBVUdQdUFJZ0NCQTlJQU1vQXZBQlFYOU1EUUJCQXlBQklBY3FBZ0M3SUFJcUFnQzdJQUlxQWdTN0lBSXFBZ2k3SUFJcUFneTdJQUlxQWhDN0lBSXFBaFM3SUFJcUFoaTdJQUlxQWh5N0lBSXFBaUM3SUFJcUFpUzdJQUlxQWlpN0lBSXFBaXk3RUNzYURBRUxRUVFnQVJBc0dndEJBQXNGUWVpR0FTZ0NBQXNoQ3lBQ0pBWWdDd3VhQWdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSW9BdGdCSWdBb0Fpd2dBVW9FZjBFQ1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0FvQWdBZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQUNnQ0VDQUFLQUlVSUFBb0FoZ2dBQ3NESUNBQUt3TW9JQUFyQXpBZ0FDc0RPQ0FBUVVCckt3TUFJQUFyQTBnZ0FDc0RVQ0FBS3dOWUlBQXJBMkFnQUNzRGFDQUFLd053SUFBckEzZ2dBQ3NEZ0FFZ0FDc0RpQUVnQUNzRGtBRWdBQ3NEbUFFZ0FDc0RvQUVnQUNzRHFBRWdBQ3NEc0FFZ0FDc0R1QUVnQUNzRHdBRWdBQ3NEeUFFZ0FDc0QwQUVnQUNzRDJBRWdBQ3NENEFFZ0FDZ0M4QUVRS0JwQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RURJQUlrQmlBREM4MEJBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9BbjhnQXhCU0lnUW9Bc2dDSVFBZ0FVRUFTQ0FFS0FMTUFpQUFhMEVEZFNBQlRYSUVRRUhzaGdFb0FnQU1BUXNnQWtFQVNDQUJRUU4wSUFCcUtBSUVJZ0FvQWdRZ0FreHlCSDlCOElZQktBSUFCU0FBS0FJQUlnQWdBa0hBQW14cVFSQnFFTFFDUVFFZ0FrSEFBbXdnQUdvb0FyQUNJQUpCd0FKc0lBQnFLQUlBSUFKQndBSnNJQUJxS0FJRUlBSkJ3QUpzSUFCcUt3TUlFQ29hUVFBTEN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkN5Z0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJFQWdBUkJTR2dzZ0FTUUdRWDhMT0FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCUVN4cUJVSG9oZ0VMS0FJQUlRSWdBU1FHSUFJTG9BVUJDWDlCQ0VFSUVJc0JJUWRCQ0VFQkVJc0JJUWhCQ0VFQkVJc0JJUWtEUUNBRlFRUkhCRUFnQnlnQ0FDSUVJQVZCQkhRaUEwRURkR29nQlVFRWRDQUFhaUlHS3dNQU9RTUFJQU5CQVhKQkEzUWdCR29nQlVFRWRDQUFhaUlLS3dNSU9RTUFJQU5CQW5KQkEzUWdCR3BFQUFBQUFBQUE4RDg1QXdBZ0EwRURja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFSeVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJCWEpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFR2NrRURkQ0FFYWlBR0t3TUFJQVZCQkhRZ0FXb2lDeXNEQUtLYU9RTUFJQU5CQjNKQkEzUWdCR29nQ2lzRENDQUxLd01Bb3BvNUF3QWdBMEVJY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRbHlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQ25KQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUxja0VEZENBRWFpQUdLd01BT1FNQUlBTkJESEpCQTNRZ0JHb2dDaXNEQ0RrREFDQURRUTF5UVFOMElBUnFSQUFBQUFBQUFQQS9PUU1BSUFOQkRuSkJBM1FnQkdvZ0Jpc0RBQ0FGUVFSMElBRnFJZ1lyQXdpaW1qa0RBQ0FEUVE5eVFRTjBJQVJxSUFvckF3Z2dCaXNEQ0tLYU9RTUFJQWdvQWdBaUJDQUZRUUYwSWdOQkEzUnFJQXNyQXdBNUF3QWdBMEVCY2tFRGRDQUVhaUFHS3dNSU9RTUFJQVZCQVdvaEJRd0JDd3NnQnhEV0FSb2dDU0FISUFnUXJRSWFJQWtvQWdBaEFVRUFJUUFEUUNBQVFRSkhCRUFnQUVFWWJDQUNhaUFBUVFOc0lnTkJBM1FnQVdvckF3QTVBd0FnQUVFWWJDQUNhaUFEUVFGcVFRTjBJQUZxS3dNQU9RTUlJQUJCR0d3Z0Ftb2dBMEVDYWtFRGRDQUJhaXNEQURrREVDQUFRUUZxSVFBTUFRc0xJQUlnQVNzRE1Ea0RNQ0FDSUFFckF6ZzVBemdnQWtGQWEwUUFBQUFBQUFEd1B6a0RBQ0FIRUVrZ0NCQkpJQWtRU1F2U0V3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lISVF3Z0FTQUNRWDlxSWhCc1FRRjBJQWRxSVFZRFFDQUZJQUZJQkVBZ0JrRUFPd0VBSUF4QkFEc0JBQ0FNUVFKcUlRd2dCVUVCYWlFRklBWkJBbW9oQmd3QkN3dEJBQ0VNSUFjaUJpQUJRWDlxSWhGQkFYUnFJUVVEUUNBTUlBSklCRUFnQlVFQU93RUFJQVpCQURzQkFDQUJRUUYwSUFacUlRWWdERUVCYWlFTUlBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVHUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUXhCQVNFS1FRQWhCU0FBUVFGMElBZHFJUU1DZndKQUEwQUNRQ0FLSUJCT0RRSWdCU0VBUVFFaENDQURJUXNEUUNBSUlCRklCRUFnRFMwQUFDQU1MUUFBU2dSQUlBdEJBRHNCQUFVQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxDeUFOUVFGcUlRMGdERUVCYWlFTUlBaEJBV29oQ0NBTFFRSnFJUXNNQVFzTElBMUJBbW9oRFNBTVFRSnFJUXdnQ2tFQmFpRUtJQUFoQlNBTFFRUnFJUU1NQVFzTFFRQkJBMEdvcFFFZ0RoQTlRWDhNQVFzZ0JFRU1haUVOUVFFaEFFRUJJUWNEUUNBSElBVk1CRUFnQnlBR0tBSUFJZ3hHQkVBZ0FFRUJhaUVEQlNBQUlRTWdERUVDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFHSUFBMkFnQWdBeUVBSUFkQkFXb2hCeUFHUVFScUlRWU1BUXNMSUFRZ0FFRi9haUlHTmdJSUlBWUVmeUFOUVFBZ0JrRUNkQkJGR2lBRVFaQ0FLR3BCQUNBR1FRUjBFRVVhUVFBaEF3TkFJQU1nQmtnRVFDQUVRWXlBQ0dvZ0EwRUNkQ0lBUVFKMGFpQUJOZ0lBSUFSQmpJQUlhaUFBUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQVFRSnlRUUowYWlBQ05nSUFJQVJCaklBSWFpQUFRUU55UVFKMGFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBRFFRSjBhaWdDQUVGL2FpSUNRUUowYWlJQUlBUkJrSURRQUdvZ0EwRUhiQ0lHUVFKMGFpZ0NBQ0FBS0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJQlFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2NnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0drZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQTBFQmFpRUREQUVMQ3lBRUtBSUlJUUpCQUNFREEzOGdBeUFDU0FSL0lBUkJrSUFvYWlBRFFRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBRVFReHFJQU5CQW5ScUtBSUF0eUlVb3prREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUJTak9RTUFJQU5CQVdvaEF3d0JCVUVBQ3dzRlFRQUxDeUVUSUE0a0JpQVRDNE1CQVFOL0l3WWhBU01HUVRCcUpBWWdBVUVvYWlJQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSVFBZ0FVSUFOd01BSUFGQ0FEY0RDQ0FCUWdBM0F4QWdBVUlBTndNWUlBRkNBRGNESUNBQklBQW9Bc1FCTmdJQUlBRkJBVFlDRUNBQklBQW9Bc3dCTmdJTUlBQW9BdGdCSUFFUTF3Z0ZRZWlHQVNnQ0FBc2hBeUFCSkFZZ0F3dUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUJFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQUVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXR0QVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvSUFNUVVpSUVLQUxZQVNJQUtBSXNJQUZLQkg4Z0JDZ0M1QUZCNkx3RElBQkJNR29nQVVFSWRHb2dBVUVBU0JzZ0FyY1FtUWhCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFESUFBMkFnQWdBeEJUQkg4Z0F4QlNJZ1FvQXRnQklnQW9BaXdnQVVvRWZ5QUVLQUxrQVVIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUN0MEdBcEFNUTJnTWFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQlNBREpBWWdCUXVRQWdJQ2Z3aDhJd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaWdDMkFFaUFDZ0NMQ0FCU2dSL1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0JCZ0tRREt3TUFJZ1E1QTZnQklBQkJpS1FES3dNQUlnVTVBN0FCSUFCQmtLUURLd01BSWdZNUE3Z0JJQUJCbUtRREt3TUFJZ2M1QThBQklBQkJvS1FES3dNQUlnZzVBOGdCSUFCQnFLUURLd01BSWdrNUE5QUJJQUJCc0tRREt3TUFJZ281QTlnQklBQkJ1S1FES3dNQUlnczVBK0FCSUFBZ0JDQUdvQ0FJb0NBS29FUUFBQUFBQUFEUVA2STVBemdnQUVGQWF5QUZJQWVnSUFtZ0lBdWdSQUFBQUFBQUFOQS9vamtEQUVFQUJVSHdoZ0VvQWdBTEJVSG9oZ0VvQWdBTElRTWdBaVFHSUFNTFpBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FEWUNBQ0FERUZNRWZ5QURFRklvQXRnQklnQW9BaXdnQVVvRWYwSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDTmdJUVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCQ0FESkFZZ0JBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR0RwUUpCQWtHc2h3RkJtTThDUVI5QnhnQVFDU0FCQ3lRR0M1b0JBUVIvSXdZaEFTTUdRZEFCYWlRR0lBRkJ3QUZxSVFNZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElBRWdBVUc0QVdvaUFoRElDMEVBU0FSL0lBQXNBQXRCQUVnRVFDQUFLQUlBSVFBTElBTWdBRFlDQUVFQVFRTkJnZEFDSUFNUVBVRi9CVUhFeEFOQnhNUURLQUlBSWdCQkFXbzJBZ0FnQWlBQU5nSUFJQUlRckFNZ0FVRzRBUkJNR2lBQ0tBSUFDeUVFSUFFa0JpQUVDendCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnQW9Bc3dDSUFBb0FzZ0NhMEVEZFFWQmZ3c2hBaUFCSkFZZ0FndGlBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQUlBRkJBRWdFZjBGL0JTQUFLQUxNQWlBQUtBTElBaUlBYTBFRGRTQUJTd1IvSUFGQkEzUWdBR29vQWdRb0FnUUZRWDhMQ3dWQmZ3c2hBeUFDSkFZZ0F3dDNBUUovSXdZaEF5TUdRUkJxSkFZZ0EwRUVhaUlDSUFBMkFnQWdBaEJUQkVBZ0FoQlNJZ0lvQXZRQklRQWdBU3dBQzBFQVNBUkFJQUVvQWdBaEFRc2dBaUFBSUFFUTNBWUVRQ0FDSUFJb0F2UUJRUUZxTmdMMEFRVkJBRUVEUWNIUUFpQURFRDFCZnlFQUN3VkJmeUVBQ3lBREpBWWdBQXZVQVFFRWZ5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEJDQUNRUXhxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlFQUlBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBQ2dDMkFFZ0FFSGNBV29nQUVIZ0FXb2lBeERiQmtVRVFFRUFRUU5CL05JQ0lBUVFQVUYvREFFTElBSWdBQ2dDekFJaUFTQUFRY2dDYWlJRUtBSUFhMEVEZFRZQ0FDQUNJQU1vQWdBMkFnUWdBU0FBS0FMUUFrWUVRQ0FFSUFJUWxnRUZJQUVnQWlrREFEY0NBQ0FBSUFBb0Fzd0NRUWhxTmdMTUFnc2dBaWdDQUFzRlFYOExJUVVnQWlRR0lBVUxid0VEZnlNR0lRTWpCa0VRYWlRR0lBTkJCR29pQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVDSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FrSFVBbW9pQUNBQ1Fkd0JhaERaQmdSL0lBQW9BZ0FGUVFCQkEwSEkwd0lnQXhBOVFYOExCVUYvQ3lFRUlBTWtCaUFFQzVjQ0FRUi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnRW9Bc0FCSUFFb0F0Z0RFTkVHSVFBZ0FTQUFOZ0xzQVNBQUJFQWdBVUhvQVdvaEF3VkJBRUVEUWFMVUFpQUNFRDBnQVVIb0FXb2lBeENrQ1NBQktBTHNBU0VBQ3lBQUJIOGdBRU1BQUtCQU9BSXNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRU1BQUFBL09BSW9RUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVRTmdJa1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lZUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJZ1FRQUZRWDhMR2lBRElBRW9Bc0FCRUlBRU5nSUFRUUFGUVg4TElRUWdBaVFHSUFRTHRnRUJCWDhqQmlFQ0l3WkJFR29rQmlBQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSWdBb0FzUUJJZ0VFUUNBQkVEZ2dBRUVBTmdMRUFTQUFRUUEyQXNnQkN5QUFFS2tESUFBb0F0d0JFTGdDSUFJUTF3WWdBRUhJQW1vaEEwRUFJUUVEUUNBQklBQW9Bc3dDSUFNb0FnQWlCR3RCQTNWSkJFQWdBVUVEZENBRWFpZ0NCQ0lFS0FJQUVEZ2dCQkE0SUFGQkFXb2hBUXdCQ3dzZ0F4QlZJQU1RT0NBQUVMTURJQUFRT0VFQUJVRi9DeUVGSUFJa0JpQUZDKzRCQVFSL0l3WWhCQ01HUVJCcUpBWkJ5TVFEUWNqRUF5Z0NBQ0lEUVFGcU5nSUFJQVJCREdvaUJTQUROZ0lBSUFVUVVpSURJQVVvQWdBMkFnQWdBeUFBTmdMUUFTQURJQUUyQXRRQklBTWdBU0FBUVFKMGJDSUFOZ0xJQVNBRElBQVFSRFlDeEFFZ0F5QURLQUxJQVVFRUVEa1FSRFlDekFFZ0F4QzNCeUlBTmdMY0FTQUFSUVJBUVFCQkEwSEIxQUlnQkJBOUN5QUZLQUlBSUFJUTB3WWdCRUVJYWlJQUlBTW9Bc2dCTmdJQVFRQkJBVUhtMUFJZ0FCQTlRUUFnQXlnQ0FDQURLQUxFQVNBREtBTElBU0FEUWRnQ2FrR0FwQU1nQXlnQ3pBRVFLUm9nQXlnQ0FDRUdJQVFrQmlBR0M0Y0pBUUYvSXdZaEFDTUdRUkJxSkFaQm5LUUNRUm9RM0FGQm9xUUNRY01BRUlRQlFhdWtBa0hFQUJDRUFVRzBwQUpCRkJDMkFrRy9wQUpCRlJDMkFrSFBwQUpCRmhDMkFrSGRwQUpCRnhDMkFVSHZwQUpCeFFBUWhBRVFrZ2RCajZVQ1FSc1EzQUZCb0tVQ1FSZ1F0Z0ZCdEtVQ1FSd1EzQUZCeHFVQ1FSMFEzQUZCM0tVQ1FSa1F0Z0ZCODZVQ1FSb1F0Z0ZCa0tZQ1FjY0FFSVFCUVoybUFrSElBQkNFQVVHcXBnSkJ5UUFRaEFGQnVxWUNRUjRRM0FGQnphWUNRUnNRdGdGQjE2WUNRUndRdGdGQjVLWUNRUjBRdGdGQjhhWUNRY29BRUlRQlFmNm1Ba0hMQUJDRUFSRC9CaEQ4QmtHcHB3SkJBUkMwQTBIQXB3SkJBUkMxQWtIWHB3SkJBaEMwQTBIdHB3SkJBaEMxQWtHRHFBSkJLQkRBQVVHVXFBSkJ6QUFRaEFGQnBhZ0NRU2tRd0FGQnNxZ0NRYzBBRUlRQlFiK29Ba0VxRU1BQlFkZW9Ba0hPQUJDRUFSRHdCa0g4cUFKQkF4QzFBa0dKcVFKQkt4REFBVUdicVFKQnp3QVFoQUZCcmFrQ1FTd1F3QUZCdmFrQ1FkQUFFSVFCUWMycEFrRXRFTUFCUWQ2cEFrSFJBQkNFQVVIdnFRSkI2SVlCRUV0QmpLb0NRZXlHQVJCTFFhaXFBa0h3aGdFUVN5QUFRUUEyQWdCQnlhb0NJQUFRU3lBQVFRRTJBZ0JCMnFvQ0lBQVFTeUFBUVFBMkFnQkI2cW9DSUFBUVN5QUFRUUEyQWdCQmdLc0NJQUFRU3lBQVFRRTJBZ0JCbWFzQ0lBQVFTeUFBUVFFMkFnQkJzcXNDSUFBUVN5QUFRZVFBTmdJQVFjdXJBaUFBRUVzZ0FFRUFOZ0lBUWVhckFpQUFFRXNnQUVFQk5nSUFRWUNzQWlBQUVFc2dBRUVBTmdJQVFacXNBaUFBRUVzZ0FFRUFOZ0lBUWJXc0FpQUFFRXNnQUVFQk5nSUFRZENzQWlBQUVFc2dBRUVDTmdJQVFlcXNBaUFBRUVzZ0FFRUROZ0lBUVlPdEFpQUFFRXNnQUVFRU5nSUFRYW10QWlBQUVFc2dBRUVBTmdJQVFjNnRBaUFBRUVzZ0FFRUFOZ0lBUWZDdEFpQUFFRXNnQUVFQk5nSUFRWWl1QWlBQUVFc2dBRUVDTmdJQVFhS3VBaUFBRUVzZ0FFRUNOZ0lBUWIydUFpQUFFRXNnQUVFRk5nSUFRZCt1QWlBQUVFc2dBRVFBQUFBQUFBRGdQemtEQUVIeHJnSkJtUGtBSUFBckF3QVFGeUFBUVFBMkFnQkJocThDSUFBUVN5QUFRUUUyQWdCQm1hOENJQUFRU3lBQVFRSTJBZ0JCcTY4Q0lBQVFTeUFBUVFNMkFnQkJ2YThDSUFBUVN5QUFRUVEyQWdCQjBLOENJQUFRU3lBQVFRTTJBZ0JCNXE4Q0lBQVFTeUFBUVlNRU5nSUFRZm12QWlBQUVFc2dBRUdEQWpZQ0FFR1dzQUlnQUJCTElBQkJCRFlDQUVHeXNBSWdBQkJMSUFCQmhBWTJBZ0JCeGJBQ0lBQVFTeUFBUVlRSU5nSUFRZU93QWlBQUVFc2dBRUVBTmdJQVFZR3hBaUFBRUVzZ0FFRUJOZ0lBUWFDeEFpQUFFRXNnQUVFQ05nSUFRY1N4QWlBQUVFc2dBRUVETmdJQVFlYXhBaUFBRUVzZ0FFRUFOZ0lBUVl5eUFpQUFFRXNnQUVFQk5nSUFRYTJ5QWlBQUVFc2dBRUVDTmdJQVFkeXlBaUFBRUVzZ0FFRUROZ0lBUVlhekFpQUFFRXNnQUVFRU5nSUFRYkd6QWlBQUVFc2dBRUVGTmdJQVFlV3pBaUFBRUVzZ0FFRUdOZ0lBUVppMEFpQUFFRXNnQUVFSE5nSUFRY1cwQWlBQUVFc2dBRUVJTmdJQVFleTBBaUFBRUVzZ0FFRUpOZ0lBUVptMUFpQUFFRXNnQUNRR0MwTUFRWnpFQTBJQU53SUFRYVRFQTBJQU53SUFRYXpFQTBHQWdJRDhBellDQUVHd3hBTkNBRGNDQUVHNHhBTkNBRGNDQUVIQXhBTkJnSUNBL0FNMkFnQVFuQWNMcUFJQ0JIOENmQ01HSVFFakJrRVFhaVFHSUFBckF3QWlCVVFBQUFBQUFBQUFBR1pGQkVBZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCMEFBUVBrSDJvZ0lRTjBINW9nSVFOeUlFS0FJQVFYUnFLQUlBSUFScUVEc2dBVUdBemdNUU9pSUNLQUlBS0FJY0lRTWdBa0VLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdBUkE4SUFRZ0F4QkFJQVFRUHhBQUN5QUFLd01JSWdaRUFBQUFBQUFBQUFCbUJFQWdBU1FHSUFZZ0JhRVBCU0FCUWNESUEwR1Vvd0lRTjBIOW9RSVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYnFqQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBQkVEd2dBaUFBRUVBZ0FoQS9FQUFMUkFBQUFBQUFBQUFBQzdZQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNzREFFUUFBQUFBQUFBQUFHWUVRQ0FCUVFBUUZCb2dBQ0FCS0FJRXQwU043YldnOThhd1BxSWdBU2dDQUxlZ09RTUlJQUVrQmdVZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCd3dBUVBrSDJvZ0lRTjBINW9nSVFOeUlDS0FJQVFYUnFLQUlBSUFKcUVEc2dBVUdBemdNUU9pSURLQUlBS0FJY0lRQWdBMEVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBUkE4SUFJZ0FCQkFJQUlRUHhBQUN3czJBUUYvSXdZaEFTTUdRUkJxSkFZZ0FVRUFFQlFhSUFBZ0FTZ0NCTGRFamUyMW9QZkdzRDZpSUFFb0FnQzNvRGtEQUNBQkpBWUxSd0VCZnlNR0lRTWpCa0dBRUdva0JpQURRWUFRSUFFb0FnQWdBU0FCTEFBTFFRQklHeUFDRUtrQkdpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0F5QURFR0FRZmlBREpBWUxUUUVEZndOQUlBSWdBQ2dDQkNBQUtBSUFJZ05yUVFOMVNRUkFJQUpCQTNRZ0Eyb29BZ0FpQXlnQ0FDZ0NDQ0VFSUFOQkNDQUJJQVJCQTNGQjlnVnFFUVlBSUFKQkFXb2hBZ3dCQ3dzTEZBQWdBRUVNYWtFQUlBRW9BZ1JCOTZBQ1Joc0xDQUFnQUNnQ0RCb0xVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FkU0dBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDeFFBSUFCQkRHcEJBQ0FCS0FJRVFmMmZBa1liQ3drQUlBQW9BZ3dRT0F0UkFRSi9Jd1loQXlNR1FSQnFKQVlnQUNBQk5nSUFRUkFRVVNJQ1FRQTJBZ1FnQWtFQU5nSUlJQUpCdUlZQk5nSUFJQUlnQVRZQ0RDQUFJQUkyQWdRZ0F5QUJOZ0lBSUFNZ0FUWUNCQ0FESkFZTGxSSUNDMzhCZmlNR0lRd2pCa0VnYWlRR0lBeEJHR29oQ0NBTVFSQnFJUTRnQVVGOWFrRUZTd1IvSUFKQmZ6WUNBQ0FEUVFBMkFnQWdCRVFBQUFBQUFBRHd2emtEQUVGL0JRSi9JQXhCQURZQ0FDQU1JQUVnQVVGL2FpSUxiRFlDQkNBTUlBRWdBV3dpRDBGL2FqWUNDQ0FNSUFzMkFneEJmeUVKQTBBZ0IwRUVSd1JBSUFBZ0IwRUNkQ0FNYWlnQ0FHb3NBQUFoRFNBSFFRRnFJUWNnRFNBS0lBMUIvd0Z4SUFwQi93RnhTaHNoQ2lBTklBa2dEVUgvQVhFZ0NVSC9BWEZJR3lFSkRBRUxDeUFLUWY4QmNTSUhJQWxCL3dGeElncHJRUjVJQkVBZ0FrRi9OZ0lBSUFOQkFEWUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYNE1BUXNnQnlBS2FrRUJkaUVKUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQWhxSUFrZ0FDQUhRUUowSUF4cUtBSUFhaTBBQUVzNkFBQWdCMEVCYWlFSERBRUxDMEVBSVFjQ1FBSkFBMEFDUUNBSFFRUlBEUUlnQjBFQmFpRUtJQWNnQ0dvc0FBQkJBVVlFUUNBS1FRTnhJQWhxTEFBQVFRRkdCRUFnQjBFQ2FrRURjU0FJYWl3QUFFVU5BZ3NMSUFvaEJ3d0JDd3NnQXlBSE5nSUFEQUVMSUFkQkJFWUVRQ0FDUVg4MkFnQWdBMEVBTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZlF3Q0N3dEIvd0VoQ2tFQUlRY0RRQ0FISUE5SEJFQkJBQ0FBSUFkcUlnMHRBQUFpRUNBSmF5SUlheUFJSUFoQkFFZ2JJUWdnRFNBSklCQkxPZ0FBSUFnZ0NpQUlJQXBJR3lFS0lBZEJBV29oQnd3QkN3c0NRQUpBQWtBQ1FBSkFJQU1vQWdBaUF3NEVBQUVDQXdRTEEwQWdBeUFCU0FSQUlBTWdDMFloQ0NBQklBTnNJUWxCQUNFSEEwQWdBU0FIUndSQUlBTWdCM0lFUUNBSUlBZEZJQWNnQzBaeWNVVUVRQ0FBSUFjZ0NXcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dCMEVCYWlFSERBRUxDeUFEUVFGcUlRTU1BUVVNQlFzQUFBc0FDMEVBSVFjRFFDQUhJQUZJQkVBZ0IwVWhDQ0FISUF0R0lRa2dDeUVEQTBBZ0EwRi9TZ1JBSUFnZ0F5QUxSaUlOY1VVRVFDQUpJQTBnQTBWeWNVVUVRQ0FBSUFjZ0FTQURiR3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQTBGL2FpRUREQUVMQ3lBSFFRRnFJUWNNQVFVTUJBc0FBQXNBQ3lBTElRTURRQ0FEUVg5S0JFQWdBMFVnQXlBTFJuSWhDQ0FCSUFOc0lRa2dDeUVIQTBBZ0IwRi9TZ1JBSUFNZ0IzSkZJQWNnQzBZZ0NIRnlSUVJBSUFBZ0J5QUphbW9zQUFCQkFFZXRJQkpDQVlhRUlSSUxJQWRCZjJvaEJ3d0JDd3NnQTBGL2FpRUREQUVGREFNTEFBQUxBQXNnQ3lFREEwQWdBMEYvU2dSQUlBTWdDMFloQ0NBRFJTRUpRUUFoQndOQUlBY2dBVWdFUUNBSklBY2dDMFp4SUFNZ0IzSkZJQWdnQjBWeGNuSkZCRUFnQUNBRElBRWdCMnhxYWl3QUFFRUFSNjBnRWtJQmhvUWhFZ3NnQjBFQmFpRUhEQUVMQ3lBRFFYOXFJUU1NQVFzTEN5QUVSQUFBQUFBQUFQQS9JQXEzUkFBQUFBQUFBRDVBb3lBS1FSNUtHemtEQUFKQUFrQUNRQUpBQWtBZ0JVR0RBbXNPZ3dnQUF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBUU1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBZ0lEQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3c2dEaUFTcDBIZ0NXb3NBQUFpQUt3M0F3QWdBRUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQlFzTUF3c2dEaUFTcHlJQVFlQUlhaXdBQUNJQnJEY0RBQ0FHQkVBZ0JpQUFRYUFKYWkwQUFEWUNBQXNnQVVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJBc01BZ3NnQlNBU1FRQWdEaEMxQXlJQVFRQklCRUFnQWtGL05nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZBd0RDeUFBUVFCSElBWkJBRWR4QkVBZ0JpQUFOZ0lBQ3d3QkN5QU9JQkkzQXdBTElBSWdEaWtEQUQ0Q0FFRUFDd3NoRVNBTUpBWWdFUXNsQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FDQUJFS3NIQzY4QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNBQktBSUFOZ0lBSUFBZ0FTZ0NCRFlDQkNBQUlBRW9BZ2cyQWdnZ0FDQUJLQUlNTmdJTUlBQWdBU2dDRURZQ0VDQUFJQUVvQWhRMkFoUWdBaUFCS0FJWUlnUTJBZ0FnQWtFRWFpSURJQUVvQWh3aUFUWUNBQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdBRlFRQUxJUUVnQWlBQUtBSVlOZ0lBSUFBZ0JEWUNHQ0FESUFBb0FodzJBZ0FnQUNBQk5nSWNJQUlRbFFFZ0FpUUdDekFCQVg4Z0FDZ0NDQ0VEQTBBZ0F5QUNMQUFBT2dBQUlBQWdBQ2dDQ0VFQmFpSUROZ0lJSUFGQmYyb2lBUTBBQ3d1NUFRRUZmeU1HSVFRakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGF5QUJTUVJBUWYvLy8vOEhJQUVnQXlBQUtBSUFhMm9pQTBrRVFCQUFCU0FFSUFNZ0FDZ0NDQ0FBS0FJQUlnVnJJZ1pCQVhRaUJ5QUhJQU5KRzBILy8vLy9CeUFHUWYvLy8vOERTUnNnQUNnQ0JDQUZheUFBUVFocUVOZ0NJQVFnQVNBQ0VLd0hJQUFnQkJEWEFpQUVFTllDQ3dVRFFDQURJQUlzQUFBNkFBQWdBQ0FBS0FJRVFRRnFJZ00yQWdRZ0FVRi9haUlCRFFBTEN5QUVKQVlMT0FFQ2Z5QUFLQUlFSUFBb0FnQWlCR3NpQXlBQlNRUkFJQUFnQVNBRGF5QUNFSzBIQlNBRElBRkxCRUFnQUNBQklBUnFOZ0lFQ3dzTElnQWdBQ0FCSUFBb0FnUkJmbXF6RU9NQklBSWdBQ2dDQ0VGK2FyTVE0d0VRVFF0aEFRRjlJQU1ROWdJZ0JKUWhCU0FERVBVQ0lBU1VJUU1nQUNBRk9BSUFJQUFnQTR3NEFnUWdBQ0FCT0FJSUlBQWdBemdDRENBQUlBVTRBaEFnQUNBQ09BSVVJQUJEQUFBQUFEZ0NHQ0FBUXdBQUFBQTRBaHdnQUVNQUFJQS9PQUlnQ3lJQUlBRkJDQkE1SUFCcUlnQWdBQzBBQUNBQ1FmOEJjU0FCUVFkeGRISTZBQUFMaXdFQkNIOGdBRUhVQUJEWkEwRWtJUVZCSXlFR1FTUWhCd05BSUFKQkpVY0VRQ0FDUVFKMElBRnFJUWtnQWtFQmFpSUNJUWdnQkNFREEwQWdBeUFIUndSQUlBQWdBeUFKS2dJQUlBaEJBblFnQVdvcUFnQmRFTEVISUFoQkFXb2hDQ0FEUVFGcUlRTU1BUXNMSUFZZ0Iyb2hCeUFFSUFWcUlRUWdCVUYvYWlFRklBWkJmMm9oQmd3QkN3c0xxQTRDSUg4Q2ZTTUdJUklqQmtIUUFtb2tCaUFTUWFBQ2FpSVJJQUlxQWdBZ0Fpb0NCQ0FDS2dJSVF3QUFnRDhnQWlvQ0RDQVFsQ0lRSUJCREFBQ0FQMTBiSWpFUXNBY2dFU29DQ0NFeUlCRXFBaFFoRUNBU1FmQUJhaUlUSUJFZ0F4QmJJQk5CQ0dvaUdDQVJJQU5CQ0dvUVd5QVRRUkJxSWhrZ0VTQURRUkJxRUZzZ0UwRVlhaUlhSUJFZ0EwRVlhaEJiSUJOQklHb2lHeUFSSUFOQklHb1FXeUFUUVNocUlod2dFU0FEUVNocUVGc2dFa0hBQVdvaUZDQVJJQVFRV3lBVVFRaHFJaDBnRVNBRVFRaHFFRnNnRkVFUWFpSWVJQkVnQkVFUWFoQmJJQlJCR0dvaUh5QVJJQVJCR0dvUVd5QVVRU0JxSWlBZ0VTQUVRU0JxRUZzZ0ZFRW9haUloSUJFZ0JFRW9haEJiSUJKQmtBRnFJaFVnRVNBRkVGc2dGVUVJYWlJaUlCRWdCVUVJYWhCYklCVkJFR29pSXlBUklBVkJFR29RV3lBVlFSaHFJaVFnRVNBRlFSaHFFRnNnRlVFZ2FpSWxJQkVnQlVFZ2FoQmJJQlZCS0dvaUppQVJJQVZCS0dvUVd5QVNRZUFBYWlJV0lCRWdCaEJiSUJaQkNHb2lKeUFSSUFaQkNHb1FXeUFXUVJCcUlpZ2dFU0FHUVJCcUVGc2dGa0VZYWlJcElCRWdCa0VZYWhCYklCWkJJR29pS2lBUklBWkJJR29RV3lBV1FTaHFJaXNnRVNBR1FTaHFFRnNnRWtFd2FpSVhJQkVnQnhCYklCZEJDR29pTENBUklBZEJDR29RV3lBWFFSQnFJaTBnRVNBSFFSQnFFRnNnRjBFWWFpSXVJQkVnQjBFWWFoQmJJQmRCSUdvaUx5QVJJQWRCSUdvUVd5QVhRU2hxSWpBZ0VTQUhRU2hxRUZzZ0VpQVJJQWdRV3lBU1FRaHFJZ1lnRVNBSVFRaHFFRnNnRWtFUWFpSUZJQkVnQ0VFUWFoQmJJQkpCR0dvaUJDQVJJQWhCR0dvUVd5QVNRU0JxSWdNZ0VTQUlRU0JxRUZzZ0VrRW9haUlDSUJFZ0NFRW9haEJiSUFFZ0VrSElBbW9pQ0NBU1FjUUNhaUlISURFZ0Q1UVF0d0VnQUNBQklCSXFBZ0FnRWlvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdCaW9DQUNBU0tnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FJRUlBQWdBU0FGS2dJQUlCSXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFnZ2dBQ0FCSUFRcUFnQWdFaW9DSENBSUtBSUFJQWNvQWdBUVdUZ0NEQ0FBSUFFZ0F5b0NBQ0FTS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUlRSUFBZ0FTQUNLZ0lBSUJJcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWhRZ0FTQUlJQWNnTVNBT2xCQzNBU0FBSUFFZ0Z5b0NBQ0FYS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUlZSUFBZ0FTQXNLZ0lBSUJjcUFnd2dDQ2dDQUNBSEtBSUFFRms0QWh3Z0FDQUJJQzBxQWdBZ0Z5b0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ0lDQUFJQUVnTGlvQ0FDQVhLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSWtJQUFnQVNBdktnSUFJQmNxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBaWdnQUNBQklEQXFBZ0FnRnlvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDTENBQklBZ2dCeUF4SUEyVUVMY0JJQUFnQVNBV0tnSUFJQllxQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBakFnQUNBQklDY3FBZ0FnRmlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDTkNBQUlBRWdLQ29DQUNBV0tnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FJNElBQWdBU0FwS2dJQUlCWXFBaHdnQ0NnQ0FDQUhLQUlBRUZrNEFqd2dBRUZBYXlBQklDb3FBZ0FnRmlvQ0pDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdLeW9DQUNBV0tnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FKRUlBRWdDQ0FISURFZ0RKUVF0d0VnQUNBQklCVXFBZ0FnRlNvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDU0NBQUlBRWdJaW9DQUNBVktnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FKTUlBQWdBU0FqS2dJQUlCVXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFsQWdBQ0FCSUNRcUFnQWdGU29DSENBSUtBSUFJQWNvQWdBUVdUZ0NWQ0FBSUFFZ0pTb0NBQ0FWS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUpZSUFBZ0FTQW1LZ0lBSUJVcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWx3Z0FTQUlJQWNnTVNBTGxCQzNBU0FBSUFFZ0ZDb0NBQ0FVS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUpnSUFBZ0FTQWRLZ0lBSUJRcUFnd2dDQ2dDQUNBSEtBSUFFRms0QW1RZ0FDQUJJQjRxQWdBZ0ZDb0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ2FDQUFJQUVnSHlvQ0FDQVVLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSnNJQUFnQVNBZ0tnSUFJQlFxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBbkFnQUNBQklDRXFBZ0FnRkNvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDZENBQklBZ2dCeUF4SUFxVUVMY0JJQUFnQVNBVEtnSUFJQk1xQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBbmdnQUNBQklCZ3FBZ0FnRXlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDZkNBQUlBRWdHU29DQUNBVEtnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FLQUFTQUFJQUVnR2lvQ0FDQVRLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BS0VBU0FBSUFFZ0d5b0NBQ0FUS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUtJQVNBQUlBRWdIQ29DQUNBVEtnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FLTUFTQUJJQWdnQnlBeElBbVVFTGNCSUFBZ0FTQXlJQkFnQ0NnQ0FDQUhLQUlBRUZrNEFwQUJJQklrQmtFQkMwd0JBbjhqQmlFUkl3WkJvQUZxSkFZZ0VTQUJJQUlnQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxNSEJIOGdBQ0FSRUxJSFFRRUZRUUFMSVJJZ0VTUUdJQklMdGdRQkJuOGpCaUVUSXdaQkVHb2tCaUFCUlFSQUlCTkJ3TWdEUWNlV0FoQTNRZWFXQWhBM1FlK2lBaEEzUVprRUVENUI5cUlDRURkQjFKY0NFRGNpRVNBUktBSUFRWFJxS0FJQWFoQTdJQk5CZ000REVEb2lFaWdDQUNnQ0hDRVVJQkpCQ2lBVVFUOXhRWW9CYWhFQ0FDRVNJQk1RUENBUklCSVFRQ0FSRUQ4UUFBc2dBQkJ4SUFJb0FnUWlGQ0FDS0FJQUloVnJRUlFRT1VjRVFDQVRRY0RJQTBIa2x3SVFOMEhtbGdJUU4wSHZvZ0lRTjBHYUJCQStRZmFpQWhBM1FabVlBaEEzSWhFZ0VTZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJaElvQWdBb0Fod2hGaUFTUVFvZ0ZrRS9jVUdLQVdvUkFnQWhFaUFURUR3Z0VTQVNFRUFnRVJBL0VBQUxRUUFoRWtFQUlSRURRQ0FTSUJRZ0ZXdEJGQkE1SWhSSkJFQWdBQ2dDQkNBUklBQW9BZ0JzYWlBQklBSW9BZ0FnRWtFVWJHb2dBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTFFIQkVBZ0FDZ0NFQ0FSUVJSc2FpSVVJQUlvQWdBZ0VrRVViR29pRlNrQ0FEY0NBQ0FVSUJVcEFnZzNBZ2dnRkNBVkxBQVFPZ0FRSUJGQkFXb2hFUXNnRWtFQmFpRVNJQUlvQWdRaEZDQUNLQUlBSVJVTUFRc0xJQkVnRkVZRVFDQUFJQkVRdkFNZ0V5UUdCU0FUUWNESUEwRyttQUlRTjBIbWxnSVFOMEh2b2dJUU4wSHBCQkErUWZhaUFoQTNRZkdZQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBVEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQzNNQUlBRVEwZ01nQVNBREtBSUVJQU1vQWdCclFSUVFPUkM4QXlBQklBSWdBeUFBSUFCQk1Hb2dBRUhnQUdvZ0FFR1FBV29nQUVIQUFXb2dBRUh3QVdvZ0FDb0NvQUlnQUNvQ3BBSWdBQ29DcUFJZ0FDb0NyQUlnQUNvQ3NBSWdBQ29DdEFJZ0FDb0N1QUlnQUNvQ3ZBSVF0UWNMeHdNQkRYOGpCaUVDSXdaQlFHc2tCaUFDUVRocUlRa2dBa0V3YWlFS0lBSkJLR29oQ3lBQ1FTQnFJUU1nQWtFWWFpRUZJQUpCRUdvaEJpQUNRUWhxSVFCQklCQkVJZ0ZGQkVCQkFFRURRYm5ZQWlBQ0VEMUJBUkFCQ3lBQlFRQTJBZ0FnQVVFeU5nSUVJQUZCRURZQ0hDQUJRY2dCRUVRaUJ6WUNDQ0FIUlFSQVFRQkJBMEc1MkFJZ0FCQTlRUUVRQVFzZ0FVR2dCaEJFSWdnMkFnd2dDRVVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFGQm9BWVFSQ0lBTmdJVUlBQkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFCUWNBTUVFUWlBRFlDRUNBQVJRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBVUhBREJCRUlnQTJBaGdnQUVVRVFFRUFRUU5CdWRnQ0lBc1FQVUVCRUFFTEFrQUNRQUpBQTBBQ1FDQUVRVEpPQkVBZ0FTRU1EQVVMSUFSQkFuUWdCMnBCQURZQ0FDQUVRUUowSVFWQkFDRURBMEFnQTBFRVNRUkFJQU1nQldvaUJrRUNkQ0FJYWtHQUdCQkVJZ0EyQWdBZ0FFVU5Ba0dBQ0JCRUlRQWdBU2dDRkNBR1FRSjBhaUFBTmdJQUlBQkZEUVFnQTBFQmFpRUREQUVMQ3lBRVFRRnFJUVFNQVFzTFFRQkJBMEc1MkFJZ0NoQTlEQUVMUVFCQkEwRzUyQUlnQ1JBOUMwRUJFQUVMSUFJa0JpQU1DNmtCQUNBQVFkQVZRUXdRdUFFZ0FFRXdha0dBRmtFTUVMZ0JJQUJCNEFCcVFiQVdRUXdRdUFFZ0FFR1FBV3BCNEJaQkRCQzRBU0FBUWNBQmFrR1FGMEVNRUxnQklBQkI4QUZxUWNBWFFRd1F1QUVnQUVQTnpNdzlPQUtnQWlBQVF6TXpNejQ0QXFRQ0lBQkRBQUNBUGpnQ3FBSWdBRU5tWnFZK09BS3NBaUFBUTgzTXpENDRBckFDSUFCRE16UHpQamdDdEFJZ0FFUE56QXcvT0FLNEFpQUFRd0FBNEVBNEFyd0NDMDhCQVgwZ0FVTUFBQUFBT0FJQUlBSkJmellDQUNBQVFlUUFhaUVBQTBBZ0FDZ0NBQ0lBQkVBZ0F5QUFLQUlNczEwRVFDQUNJQUFvQWdnMkFnQWdBU0FBS0FJTXN5SURPQUlBQ3d3QkN3c0x1d01DQ244RGZTTUdJUVVqQmtFUWFpUUdJQUZCQUV3RVFDQUZRY0RJQTBIMWxBSVFOMEdTbFFJUU4wSHZvZ0lRTjBFMUVENUI5cUlDRURkQmhKWUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0VBVEFSQUlBVkJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUVRZUVBrSDJvZ0lRTjBHMGxnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVLSUFaQlAzRkJpZ0ZxRVFJQUlRUWdCUkE4SUFNZ0JCQkFJQU1RUHhBQUN5QUNRWDlxSWdsQkFuUWdBR29oQ2lBQlFYOXFJUWNEUUNBS0tnSUFJUTBnQ0NBSFNBUkFJQWdoQVNBSElRTURRQU5BSUFGQkFXb2hCQ0FCUVFKMElBQnFJZ3NxQWdBaURpQU5YUVJBSUFRaEFRd0JDd3NEUUNBRFFYOXFJUVlnRFNBRFFRSjBJQUJxSWd3cUFnQWlEMTBFUUNBR0lRTU1BUXNMSUFFZ0Ewd0VRQ0FMSUE4NEFnQWdEQ0FPT0FJQUlBUWhBU0FHSVFNTElBRWdBMHdOQUFzZ0J5QURJQUVnQWtnYklRY2dBU0FJSUFNZ0NVZ2JJUWdNQVFzTElBVWtCaUFOQ3pVQkFYMGdBUkQyQWlBQ2xDRURJQUVROVFJZ0FwUWhBU0FBSUFNNEFnQWdBQ0FCakRnQ0JDQUFJQUU0QWdnZ0FDQURPQUlNQzBJQkFYOGdBRUVRRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFOZ0lJSUFRZ0F5Z0NCRFlDRENBQVFRRTZBQWdnQkNBQ05nSUVJQVJCQURZQ0FBdWFBUUVCZlNBQUtBSTBzaUVKSUFFZ0JTQUFLZ0lVSWdXVElBQXFBaGdnQlpNUTNnRWdDWlE0QWdBZ0FDZ0NPTEloQlNBQ0lBWWdBQ29DSENJR2t5QUFLZ0lnSUFhVEVONEJJQVdVT0FJQUlBTWdCN3RFR0MxRVZQc2hDVUNnUklQSXlXMHdYOFEvb2lBQUtBSTh0NksyT0FJQUlBQkJRR3NvQWdDeUlRVWdCQ0FJSUFBcUFpUWlCcE1nQUNvQ0tDQUdreERlQVNBRmxEZ0NBQXU3REFNTGZ3WjlBWHdqQmlFSUl3WkJFR29rQmlBQUtnSVVJaEFnQVY0RWYwRUFCU0FBS2dJWUloRWdBVjhFZjBFQUJTQUFLZ0ljSWhJZ0FsNEVmMEVBQlNBQUtnSWdJaE1nQWw4RWYwRUFCU0FEdXlJV1JCZ3RSRlQ3SVFuQVpTQVdSQmd0UkZUN0lRbEFaSElFZjBFQUJTQUFLZ0lrSWhRZ0JGNEVmMEVBQlNBQUtnSW9JaFVnQkY4RWYwRUFCU0FRSUFGZlJRUkFJQWhCd01nRFFaR0tBaEEzUWJPS0FoQTNRZStpQWhBM1FlZ0NFRDVCOXFJQ0VEZEJzNHNDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRVNBQlhrVUVRQ0FJUWNESUEwSENpd0lRTjBHemlnSVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRYk9MQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJJZ0FsOUZCRUFnQ0VIQXlBTkI0NHNDRURkQnM0b0NFRGRCNzZJQ0VEZEI2Z0lRUGtIMm9nSVFOMEdGakFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVElBSmVSUVJBSUFoQndNZ0RRWlNNQWhBM1FiT0tBaEEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCaFl3Q0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0ZrUVlMVVJVK3lFSndHUkZCRUFnQ0VIQXlBTkJ0WXdDRURkQnM0b0NFRGRCNzZJQ0VEZEI3QUlRUGtIMm9nSVFOMEhZakFJUU55SUdLQUlBUVhScUtBSUFJQVpxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBV1JCZ3RSRlQ3SVFsQVpVVUVRQ0FJUWNESUEwSHJqQUlRTjBHemlnSVFOMEh2b2dJUU4wSHRBaEErUWZhaUFoQTNRZGlNQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJRZ0JGOUZCRUFnQ0VIQXlBTkJqbzBDRURkQnM0b0NFRGRCNzZJQ0VEZEI3Z0lRUGtIMm9nSVFOMEc0alFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVklBUmVSUVJBSUFoQndNZ0RRY3VOQWhBM1FiT0tBaEEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCdUkwQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0FDQUFRY1FBYWlJSklBQkJ5QUJxSWdZZ0FFSE1BR29pQlNBQVFkQUFhaUlISUFFZ0FpQURJQVFRdlFjZ0NTb0NBRU1BQUFDL2tvNFFReUVLSUFZcUFnQkRBQUFBdjVLT0VFTWhDd0ovSUFVcUFnQkRBQUFBdjVLT0VFTWhEaUFIS2dJQVF3QUFBTCtTamhCRElRd2dEaUFBS0FJOElnVnFDeUFGRUU4aERTQUtRUUJJQkg5QkFBVWdDMEVBU0NBS1FRRnFJZ2tnQUNnQ05FNXlCSDlCQUFVZ0RFRUFTQ0FMUVFGcUlnWWdBQ2dDT0U1eUJIOUJBQVVnREVFQmFpSUhJQUJCUUdzb0FnQklCSDhnRFVFQmFpQUZFRThoQlNBQUlBQWdDaUFMSUEwZ0RCQjhFSHNnQUNBQUlBa2dDeUFOSUF3UWZCQjdJQUFnQUNBSklBWWdEU0FNRUh3UWV5QUFJQUFnQ1NBR0lBVWdEQkI4RUhzZ0FDQUFJQWtnQmlBRklBY1FmQkI3SUFBZ0FDQUpJQVlnRFNBSEVId1FleUFBSUFBZ0NTQUxJQVVnREJCOEVIc2dBQ0FBSUFrZ0N5QUZJQWNRZkJCN0lBQWdBQ0FKSUFzZ0RTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0RCQjhFSHNnQUNBQUlBb2dCaUFGSUF3UWZCQjdJQUFnQUNBS0lBWWdCU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdCeEI4RUhzZ0FDQUFJQW9nQ3lBRklBd1FmQkI3SUFBZ0FDQUtJQXNnQlNBSEVId1FleUFBSUFBZ0NpQUxJQTBnQnhCOEVIdEJBUVZCQUFzTEN3c0xDd3NMQ3dzTElROGdDQ1FHSUE4TEp3QWdBQVIvSUFCQjhJYXZBMm9pQUNnQ0FBUi9JQUJCQURZQ0FFRUFCVUYvQ3dWQmZ3c2FDNGNFQWdWL0FYd2pCaUVOSXdaQklHb2tCaUFOUVJCcUlRNGdBeUFISUF1VElnYzRBZ0FDUUFKQUlBZTdJaEpFR0MxRVZQc2hDY0JsQkVBZ0VrUVlMVVJVK3lFWlFLQzJJUWNNQVFVZ0VrUVlMVVJVK3lFSlFHUUVRQ0FTUkJndFJGVDdJUm5Bb0xZaEJ3d0NDd3NNQVFzZ0F5QUhPQUlBQ3lBSHV5SVNSQmd0UkZUN0lRbkFaRVVFUUNBT1FjRElBMEcxakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhVQXhBK1FmYWlBaEEzUWRpTUFoQTNJZzhnRHlnQ0FFRjBhaWdDQUdvUU95QU9RWURPQXhBNkloQW9BZ0FvQWh3aEVTQVFRUW9nRVVFL2NVR0tBV29SQWdBaEVDQU9FRHdnRHlBUUVFQWdEeEEvRUFBTElCSkVHQzFFVlBzaENVQmxCRUFnQkNBSUlBd1EzZ0VpQnpnQ0FDQU5JQU1xQWdBZ0J4QzdCeUFFSUFRcUFnQVEwZ0VnQUNvQ01KUTRBZ0FnRFNvQ0NDRUhJQTBxQWd3aENDQUJJQVVnRFNvQ0FDSUZJQW1VSUEwcUFnUWlDeUFLbEpLVElBVWdBQ29DQ0pRZ0N5QUFLZ0lNbEpLU09BSUFJQUlnQmlBSElBbVVJQWdnQ3BTU2t5QUhJQUFxQWdpVUlBZ2dBQ29DREpTU2tqZ0NBQ0FOSkFZRklBNUJ3TWdEUWV1TUFoQTNRYk9LQWhBM1FlK2lBaEEzUWRVREVENUI5cUlDRURkQjJJd0NFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQTVCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQTRRUENBQUlBRVFRQ0FBRUQ4UUFBc0w3UVFDQjM4Q2ZTTUdJUWNqQmtFUWFpUUdJQWRCREdvaEJDQUFLQUlBSUFBb0FnUVF4Z0VoQ2lBSElBTVFoQUlnQTBFQVRBUkFJQVJCd01nRFFibVNBaEEzUWRtU0FoQTNRZStpQWhBM1FkQUJFRDVCOXFJQ0VEZEIyNU1DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0FFRUFUQVJBSUFSQndNZ0RRZkdUQWhBM1FkbVNBaEEzUWUraUFoQTNRZEVCRUQ1QjlxSUNFRGRCbTVRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NCRUVBVEFSQUlBUkJ3TWdEUWJLVUFoQTNRZG1TQWhBM1FlK2lBaEEzUWRJQkVENUI5cUlDRURkQjNaUUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dDckloQzBFQUlRUURRQ0FESUFSSEJFQWdCRUVDZENJRlFRSjBJQUZxS2dJTUlBVkJBblFnQW1vcUFnd1EzZ0VnQzVRaERDQUhLQUlBSUFSQkFuUnFJQXc0QWdBZ0JFRUJhaUVFREFFTEN5QUhLQUlBSWdFZ0J5Z0NCQ0FCYTBFQ2RTSUJJQUZCQWhBNUlBRkJBWEZCZjJwcUVMb0hRd0FBZ0Q2VUlRc2dBRUVGSUFBcUFoZ2dBQ29DRkpNZ0M1V05FRU1ReGdFMkFqUWdBRUVGSUFBcUFpQWdBQ29DSEpNZ0M1V05FRU1ReGdFaUFUWUNPQ0FBSUFFZ0FDZ0NOR3dpQVRZQ1ZDQUFJQUVnQUNnQ1BHdzJBbGdnQnhCVklBY2tCZ3U3QWdFS2Z5TUdJUVVqQmtFUWFpUUdJQVZCREdvaENTQUZRUWhxSVFvZ0JVRUVhaUVMSUFCQjNBQnFFTDBESUFNRVFDQUFRZkFBYWlJTUlBTkJBblFRaHdFZ0FFSDhBR29pRFNBREVJY0JJQUFzQUJBRVFDQUFJQUVnQWlBREVNRUhDd05BSUFjZ0EwZ0VRQ0FBSUFrZ0NpQUxJQVVnQjBFQ2RDSUVRUUowSUFGcUlnZ3FBZ0FnQ0NvQ0JDQUlLZ0lJSUFncUFnd2dCRUVDZENBQ2FpSUVLZ0lBSUFRcUFnUWdCQ29DQ0NBRUtnSU1FTUFISUFBZ0NTb0NBQ0FLS2dJQUlBc3FBZ0FnQlNvQ0FCQytCd1JBSUF3b0FnQWdCa0VFZEdvaUJDQUFLQUpFTmdJQUlBUWdBQ2dDU0RZQ0JDQUVJQUFvQWt3MkFnZ2dCQ0FBS0FKUU5nSU1JQTBvQWdBZ0JrRUNkR29nQnpZQ0FDQUdRUUZxSVFZTElBZEJBV29oQnd3QkN3c2dEQ0FHUVFKMEVJY0JJQTBnQmhDSEFRc2dCU1FHQzRNQkFDQUFJQUU0QWhRZ0FDQUNPQUlZSUFBZ0F6Z0NIQ0FBSUFRNEFpQWdBRU1BQUlDL09BSWtJQUJEQUFDQVB6Z0NLQ0FBUVFBMkFqUWdBRUVBTmdJNElBQkJERFlDUENBQVFVQnJRUW8yQWdBZ0FFRUFOZ0pVSUFCQkFEWUNXQ0FBUXdBQUlFRTRBaXdnQUVQWVc5NCtPQUl3SUFCQkFUb0FFQ0FBUWR3QWFoQzlBd3NwQVFGL0lBQW9BZ2dRdmdNZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN3dVBBUUVCZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQVRvQUVDQUFRUlJxSWdGQ0FEY0NBQ0FCUWdBM0FnZ2dBVUlBTndJUUlBRkNBRGNDR0NBQlFnQTNBaUFnQVVJQU53SW9JQUZDQURjQ01DQUJRZ0EzQWpnZ0FVRkFhMElBTndJQUlBRkNBRGNDU0NBQlFnQTNBbEFnQUVHQWdJRDhBellDYkNBQVFnQTNBbkFnQUVJQU53SjRJQUJDQURjQ2dBRUxMUUFnQUNBQlFVQnJLQUlBTmdJQUlBQWdBU2dDUkNJQU5nSUVJQUFFUUNBQUlBQW9BZ1JCQVdvMkFnUUxDeWNBSUFBRWZ5QUFRZkNHcndOcUlnQW9BZ0FFZjBGL0JTQUFJQUUyQWdCQkFBc0ZRWDhMR2dzckFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQk5nSUFJQUFvQWdCQkJHb2dBaEREQWlFRElBSWtCaUFEQzdnQkFRTi9JQUVnQVNnQ0JFRUFJQUlnQUNnQ0FDSUVheUlEUVFKMWEwRUNkR29pQlRZQ0JDQURRUUJLQkVBZ0JTQUVJQU1RVEJvTElBQW9BZ1FnQW1zaUEwRUFTZ1JBSUFFb0FnZ2dBaUFERUV3YUlBRWdBU2dDQ0NBRFFRSjJRUUowYWpZQ0NBc2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDMFFCQW44Z0FpZ0NBQ0VESUFFb0FnQWhBZ05BSUFJZ0EwY0VRQ0FBS0FJSUlnUWdBaWdDQURZQ0FDQUFJQVJCQkdvMkFnZ2dBU0FDUVFScUlnSTJBZ0FNQVFzTEMyTUJCSDhnQUNnQ0JDSUZJQU5ySWdaQkFuVWlCMEVDZENBQmFpRUVJQVVoQXdOQUlBUWdBa2tFUUNBRElBUW9BZ0EyQWdBZ0FDQURRUVJxSWdNMkFnUWdCRUVFYWlFRURBRUxDeUFHQkVCQkFDQUhhMEVDZENBRmFpQUJJQVlRNXdFYUN3cy9BUUYvSUFJb0FnQWhBaUFCS0FJQUlRRURRQ0FCSUFKSEJFQWdBQ2dDQkNJRElBRW9BZ0EyQWdBZ0FDQURRUVJxTmdJRUlBRkJCR29oQVF3QkN3c0xOQUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTJBZ0FnQWtFQU5nSUVJQUFnQUNnQ0JFRUlhaUlDTmdJRUlBRkJmMm9pQVEwQUN3czdBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0Y0YWpZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1VEFRRUNmeUFBS0FJQUlRTWdBQ2dDQkNFQ0EwQWdBaUFEUndSQUlBRW9BZ1JCZUdvZ0FrRjRhaUlDS1FJQU53SUFJQUVnQVNnQ0JFRjRhallDQkF3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDNkVCQVFSL0l3WWhBeU1HUVJCcUpBWWdBa0VCU2dSQUlBSkJmbXBCQWhBNUlnSkJBM1FnQUNnQ0FDSUZhaUVBSUFFZ0FTZ0NBRUY0YWlJRU5nSUFJQUFnQkJEQkFRUkFJQU1nQkNrQ0FEY0RBQU5BQWtBZ0JDQUFLUUlBTndJQUlBRWdBRFlDQUNBQ1JRMEFJQUpCZjJwQkFoQTVJZ0pCQTNRZ0JXb2lCaUFERU1FQkJFQWdBQ0VFSUFZaEFBd0NDd3NMSUFBZ0F5a0RBRGNDQUFzTElBTWtCZ3VkQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRZi8vLy84QklBQW9BZ1FnQUNnQ0FHdEJBM1ZCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlvQWdnZ0FTa0NBRGNDQUNBQ0lBSW9BZ2hCQ0dvMkFnZ2dBQ0FDRU04SElBSVF6Z2NnQWlRR0N3c3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU1FRElBQWdBUkROQndzTGhBVUJDSDhqQmlFSUl3WkJNR29rQmlBSVFRaHFJUVVnQ0VFUWFpSUpJQUFvQW13Z0FDZ0NhR3RCQW5VUTBnZEJmeUVFUVg4aENnTkFJQVlnQ1NnQ0JDQUpLQUlBYTBFRGRVa0VRQ0FBS0FKb0lBWkJBblJxS0FJQVFRUnFJQU1RZ2dJaEJ5QUZJQUFvQW1nZ0JrRUNkR29vQWdBMkFnQWdCU0FITmdJRUlBa29BZ0FnQmtFRGRHb2dCU2tEQURjQ0FDQUdJQW9nQnlBRVNTSUxHeUVLSUFjZ0JDQUxHeUVFSUFaQkFXb2hCZ3dCQ3dzZ0NrRi9SZ1JBSUFWQndNZ0RRZG1KQWhBM1FkSHhBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCKzRrQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0JTQUFLQUpvSUFwQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJRUlBRW9BZ2hKQkVBZ0JDQUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N5QUlRU1JxSVFaQkFDRUVBMEFnQ1NnQ0FDSURJUWNnQkNBSktBSUVJQU5yUVFOMVNRUkFJQVFnQ2tjRVFDQUVRUU4wSUFkcUtBSUVJQWtvQWdBZ0NrRURkR29vQWdSR0JFQWdCU0FBS0FKb0lBUkJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUhJQUVvQWdoSkJFQWdCeUFETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDd1VnQ1NnQ0FDQUVRUU4wYWlFRElBSW9BZ1FpQnlBQ0tBSUlSZ1JBSUFJZ0F4RFJCeUFDS0FJRUlRTUZJQWNnQXlrQ0FEY0NBQ0FDSUFJb0FnUkJDR29pQXpZQ0JBc2dDQ0FDS0FJQUlnYzJBaUFnQ0NBRE5nSWNJQVlnQ0NnQ0lEWUNBQ0FGSUFnb0FodzJBZ0FnQmlBRklBTWdCMnRCQTNVUTBBY0xDeUFFUVFGcUlRUU1BUXNMSUFrUTB3TWdDQ1FHQzU0REFRaC9Jd1loQkNNR1FUQnFKQVlnQkVFb2FpRUlJQVJCSkdvaENTQUVRUWhxSVFVZ0FTZ0NBQ0FBS0FJQUlnRWlCbXRCQW5WQkFuUWdBV29oQVNBREtBSUFJZ29nQWlnQ0FDSURheUlDUVFKMUlRY2dBa0VBU2dSQUFrQWdCeUFBS0FJSUlBQW9BZ1FpQ3lJQ2EwRUNkVW9FUUVILy8vLy9BeUFISUFJZ0JtdEJBblZxSWdaSkJFQVFBQVVnQlNBR0lBQW9BZ2dnQUNnQ0FDSUNheUlIUVFGMUlnc2dDeUFHU1J0Qi8vLy8vd01nQjBFQ2RVSC8vLy8vQVVrYklBRWdBbXRCQW5VZ0FFRUlhaERJQVNBRUlBTTJBZ1FnQkNBS05nSUFJQWtnQkNnQ0JEWUNBQ0FJSUFRb0FnQTJBZ0FnQlNBSklBZ1F5Z2NnQUNBRklBRVF5UWNnQlJESEFRd0NDd3NnQWlBQmF5SUZRUUoxSWdaQkFuUWdBMm9oQWlBSElBWktCRUFnQkNBQ05nSWdJQVFnQ2pZQ0hDQUpJQVFvQWlBMkFnQWdDQ0FFS0FJY05nSUFJQUFnQ1NBSUVNd0hJQVZCQUV3TkFRVWdDaUVDQ3lBQUlBRWdDeUFIUVFKMElBRnFFTXNISUFFaEFBTkFJQUlnQTBjRVFDQUFJQU1vQWdBMkFnQWdBRUVFYWlFQUlBTkJCR29oQXd3QkN3c0xDeUFFSkFZTGhBTUNCMzhCZmlNR0lRUWpCa0V3YWlRR0lBUkJDR29oQlNBQUtBSUlSUVJBSUFWQndNZ0RRYUtKQWhBM1FkSHhBUkEzUWUraUFoQTNRWlVERUQ1QjlxSUNFRGRCeFlrQ0VEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFR0lBTkJDaUFHUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FDSUFNUVFDQUNFRDhRQUFzZ0JFRWNhaUVHSUFCQkFEWUNaQ0FBSUFBb0FrZzJBa3dnQUVIVUFHb2hCeUFBS0FKWUlRSURRQ0FDSUFjb0FnQWlBMGNFUUNBQ0lBTnJJZ2hCQ0VvRWZ5QUZJQU1wQWdBaUNUY0RBQ0FESUFKQmVHb2lBaWtDQURjQ0FDQUNJQWszQWdBZ0JDQUROZ0lZSUFRZ0FqWUNGQ0FFSUFNMkFoQWdCaUFFS0FJWU5nSUFJQVFnQkNnQ0ZEWUNJQ0FGSUFRb0FoQTJBZ0FnQmlBSVFRTjJRWDlxSUFVUXZ3TWdBQ2dDV0FVZ0Fnc2hBMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUFJQU5CZUdvaUFqWUNXQXdCQ3dzZ0FDQUhJQUFvQWdnZ0FSQzdBaUFBS0FKTUlBQW9Ba2hyR2lBRUpBWUx5QUVCQVg4akJpRU5Jd1pCRUdva0JpQUJJQVVnQ1pPTE9BSUFJQUlnQmlBS2s0czRBZ0FnQkNBSUlBeVRpemdDQUNBRElBY2dDNU9MSWdVZ0FDZ0NQTElnQlpNUS9nRWlCVGdDQUNBRlF3QUFBQUJnQkVBZ0RTUUdCU0FOUWNESUEwSFhpQUlRTjBHemlnSVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRWUNKQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBTlFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBTkVEd2dBaUFBRUVBZ0FoQS9FQUFMQytvSUFRTi9Jd1loQmlNR1FSQnFKQVlnQVNBRklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQlBJZ2MyQWdBZ0FpQUZJQWRySUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJBNUlnYzJBZ0FnQXlBRklBRW9BZ0JySUFjZ0FDZ0NOR3hySUFBb0FsZ1FUeUFBS0FKVUVEa2lCellDQUNBRUlBVWdBU2dDQUdzZ0FpZ0NBQ0FBS0FJMGJDQUhJQUFvQWxSc2Ftc2dBQ2dDV0JBNUlnYzJBZ0FnQVNnQ0FDSUZRWDlNQkVBZ0JrSEF5QU5CcVk0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdmdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFnZ0FSQkFJQWdRUHhBQUN5QUZJQUFvQWpST0JFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnZ3RVFQa0gyb2dJUU4wSEtqZ0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBVWdBUkJBSUFVUVB4QUFDeUFDS0FJQUlnUkJmMHdFUUNBR1FjRElBMEdFandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQlNBQkVFQWdCUkEvRUFBTElBUWdBQ2dDT0U0RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FhV1BBaEEzSWdRb0FnQkJkR29vQWdBZ0JHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JDQUJFRUFnQkJBL0VBQUxJQU1vQWdBaUEwRi9UQVJBSUFaQndNZ0RRZCtQQWhBM1FiT0tBaEEzUWUraUFoQTNRY0lCRUQ1QjlxSUNFRGRCaEpBQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FFSUFFUVFDQUVFRDhRQUFzZ0F5QUFLQUk4VGdSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNNQkVENUI5cUlDRURkQmhKQUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCMEYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNRQkVENUI5cUlDRURkQjc1QUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCeUFBUVVCcktBSUFTQVJBSUFZa0JnVWdCa0hBeUFOQmhaRUNFRGRCczRvQ0VEZEI3NklDRURkQnhRRVFQa0gyb2dJUU4wSHZrQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQmhBOElBSWdBQkJBSUFJUVB4QUFDd3Z4QWdFTGZ5QUFJQUVRdkFJaUFrRUFTQVIvSUFJRkFuOGdBQ2dDQUFSQUlBQkJCR29oQ0NBQVFRaHFJUVVGSUFBZ0FFRUlhaUlGS0FJQUlBQkJCR29pQ0NnQ0FHd1FSQ0lDTmdJQVFYOGdBa1VOQVJvTEEwQWdCaUFGS0FJQUlnSklCRUJCQUNFQ0EwQWdBaUFJS0FJQUlnbElCRUJCZkNFSFFRQWhDa0VBSVFNRFFDQUhRUVJNQkVBZ0JpQUhhaUlFUVFCT0JFQWdCQ0FGS0FJQVNBUkFBa0FnQkNBSmJDRU1RWHdoQkFOQUlBUkJCRW9OQVNBQ0lBUnFJZ3RCZjBvZ0N5QUpTSEVFUUNBS1FRRnFJUW9nQXlBQklBc2dER3BxTFFBQWFpRURDeUFFUVFGcUlRUU1BQUFMQUFzTEN5QUhRUUZxSVFjTUFRc0xJQU1nQ2hBNVFmOEJjU0VESUFBb0FnQWdBaUFHSUFsc2Ftb2dBem9BQUNBQ1FRRnFJUUlNQVFzTElBWkJBV29oQmd3QkN3dEJBQ0VESUFJaEFRTi9JQU1nQ0NnQ0FDQUJiRWdFZnlBRElBQW9BZ0JxSWdFZ0FTMEFBRUY1YWpvQUFDQURRUUZxSVFNZ0JTZ0NBQ0VCREFFRlFRQUxDd3NMQzd3VEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ1loRFNBQklBSkJmMm9pRUd4QkFYUWdCbW9oQlFOQUlBY2dBVWdFUUNBRlFRQTdBUUFnRFVFQU93RUFJQTFCQW1vaERTQUZRUUpxSVFVZ0IwRUJhaUVIREFFTEN5QUdJUWNnQVVGL2FpSVJRUUYwSUFacUlRMUJBQ0VGQTBBZ0JTQUNTQVJBSUExQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0RXb2hEU0FGUVFGcUlRVU1BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVExQkFTRUxRUUFoQlNBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDU0FHSVF3RFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUlBeEJBRHNCQUFVQ1FDQVNRUUYwSUF4cUlnOHVBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QVBRWDVxTGdFQUlnb2hDQ0FLUVFCS0lRWWdEeTRCQWlJRlFRQk1CRUFnQmdSQUlBd2dDanNCQUNBSVFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKU0FSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBSUxJQXhCZm1vdUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKVGcwQ0lBVWdDVFlDQUFVZ0FFSC8vd0ZLRFFZZ0RDQUFRUUZxSWdVN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRlFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFzMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBTE5nSUFJQVVoQUFzTUFRc2dCZ1JBQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBaEJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JTQUdLQUlBUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUF4QmZtb3VBUUFpQmtFQVRBUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCZ0lEUUFHb2lCU2dDQUNBSlNnUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBWkJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JpZ0NBQ0FGUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQUxDeUFOUVFGcUlRMGdDVUVCYWlFSklBeEJBbW9oREF3QkN3c2dEVUVDYWlFTklBdEJBV29oQ3lBQUlRVWdERUVFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQTRRUFVGL0RBRUxJQVJCREdvaERVRUJJUUJCQVNFSUEwQWdDQ0FGVEFSQUlBZ2dCeWdDQUNJR1JnUkFJQUJCQVdvaEF3VWdBQ0VESUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0J5QUFOZ0lBSUFNaEFDQUlRUUZxSVFnZ0IwRUVhaUVIREFFTEN5QUVJQUJCZjJvaUJ6WUNDQ0FIQkg4Z0RVRUFJQWRCQW5RUVJSb2dCRUdRZ0NocVFRQWdCMEVFZEJCRkdrRUFJUU1EUUNBRElBZElCRUFnQkVHTWdBaHFJQU5CQW5RaUFFRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0FFRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBRUVDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQUVFRGNrRUNkR3BCQURZQ0FDQURRUUZxSVFNTUFRc0xRUUFoQXdOQUlBTWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBMEVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBQ0FFUVpDQTBBQnFJQU5CQjJ3aUIwRUNkR29vQWdBZ0FDZ0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCbklEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJvSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnBJRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBTkJBV29oQXd3QkN3c2dCQ2dDQ0NFQ1FRQWhBd04vSUFNZ0FrZ0VmeUFFUVpDQUtHb2dBMEVCZENJQlFRTjBhaUlBSUFBckF3QWdCRUVNYWlBRFFRSjBhaWdDQUxjaUZLTTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQVVvemtEQUNBRFFRRnFJUU1NQVFWQkFBc0xCVUVBQ3dzaEV5QU9KQVlnRXdzNkFRRi9JQUFvQWdRaEFnTkFJQUpEQUFBQUFEZ0NBQ0FDUXdBQUFBQTRBZ1FnQUNBQUtBSUVRUWhxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNU1CQVFGL1FRZEJCa0VGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NIQ0FCUVFKMElBQnFLZ0lBWGhzTGZRRUJmMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzTFp3RUJmMEVGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHd3RSQVFGL1FRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNMT3dFQmYwRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc0w4QUVDQTM4SGZTQUFJQUVRdkFJaUFVRUFUZ1JBUVFFaEFRTkFJQWNnQUVFTWFpQUJRUUowYWlnQ0FDQUJiTE9TSVFjZ0FVRUJhaUlCUVlBQ1J3MEFDeUFBS0FJRUlBQW9BZ2hzc2lFTVFRQWhBUU5BQWtBZ0JpQUFRUXhxSUFOQkFuUnFLQUlBSWdTemtpSUdRd0FBQUFCY0JFQWdEQ0FHa3lJTFF3QUFBQUJiRFFFZ0NTQURJQVJzczVJaUNTQUdsU0FISUFtVElBdVZreUlLSUFZZ0M1UWdDcFNVSWdvZ0NGNGhCU0FEUWY4QmNTSUVJQUVnQlJzaEFTQUtJQWdnQlJzaENBVWdBMEgvQVhFaEJBc2dBMEVCYWlFRElBUkIvd0Z4UWY4QlJ3MEJDd3NnQWlBQk9nQUFRUUFoQVFzZ0FRc2xBUUYvUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJDNmtCQVFGL1FRaEJCMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0ljSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWlBZ0FVRUNkQ0FBYWlvQ0FGNGJDK2tCQVFOL0l3WWhBaU1HUVlBRGFpUUdJQUpCMEFKcUlnTWdBaUFCUVFBUW9RRTRBZ0FnQXlBQ1FTUnFJQUZCQVJDaEFUZ0NCQ0FESUFKQnlBQnFJQUZCQWhDaEFUZ0NDQ0FESUFKQjdBQnFJQUZCQXhDaEFUZ0NEQ0FESUFKQmtBRnFJQUZCQkJDaEFUZ0NFQ0FESUFKQnRBRnFJQUZCQlJDaEFUZ0NGQ0FESUFKQjJBRnFJQUZCQmhDaEFUZ0NHQ0FESUFKQi9BRnFJQUZCQnhDaEFUZ0NIQ0FESUFKQm9BSnFJQUZCQ0JDaEFUZ0NJQ0FERU9JSElnRkJBblFnQTJvcUFnQkRBQUFBQUZzRWYwRUFCU0FBSUFGQkNXeEJBblFnQW1vUXZnSkJBUXNoQkNBQ0pBWWdCQXVvQVFFRWZ5QUFJQUVROWdjaUFVRUFTQVIvSUFFRklBQW9BZ2dnQUNnQ0JHeXlRd0FBQUQrVUVKSUJJUVJCQUNFQkEwQWdBVUVCYWtFWWRFRVlkU0VESUFCQmpBaHFJQUZCL3dGeElnWkJBblJxS0FJQUlnVWdCRWtFUUNBRElRRU1BUXNMQTBBZ0FVRUJha0VZZEVFWWRTRURJQVFnQlVZRVFDQUFRWXdJYWlBRElnRkIvd0Z4UVFKMGFpZ0NBQ0VGREFFTEN5QUNJQVlnQVVIL0FYRnFRUUYyT2dBQVFRQUxDMEFDQVg4QmZTQUFRZndCYWlJQ0lBQkIyQUZxSUFGQi9BRnFFR1VnQWhCYUlnTkRBQUFBQUZzRWYwRUFCU0FDSUFKREFBQ0FQeUFEa1pVUWxBRkJBUXNMclFFQkJYOGpCaUVDSXdaQkVHb2tCaUFBUWRnQmFpSURJQUJCdEFGcUlnVWdBVUhZQVdvaUJCQmxJQUJCL0FGcUlnQWdCU0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQUJCYU9BSUVJQUlxQWdRZ0Fpb0NBRjRpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCQ0FBUVFKMElBUnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUdJQUlrQmlBR0M4SUJBUVovSXdZaEFpTUdRUkJxSkFZZ0FFRzBBV29pQXlBQVFaQUJhaUlFSUFGQnRBRnFJZ1VRWlNBQVFkZ0JhaUlHSUFRZ0FVSFlBV29RWlNBQVFmd0JhaUlBSUFRZ0FVSDhBV29RWlNBQ0lBTVFXamdDQUNBQ0lBWVFXamdDQkNBQ0lBQVFXamdDQ0NBQ0VPRUhJZ0JCQW5RZ0Ftb2lBU29DQUVNQUFBQUFXd1IvUVFBRklBTWdBRUVKYkNJQVFRSjBJQU5xRUl3QklBVWdBRUVDZENBRmFoQ01BU0FESUFOREFBQ0FQeUFCS2dJQWtaVVFsQUZCQVFzaEJ5QUNKQVlnQnd2ZEFRRUhmeU1HSVFJakJrRVFhaVFHSUFCQmtBRnFJZ01nQUVIc0FHb2lCQ0FCUVpBQmFpSUZFR1VnQUVHMEFXb2lCaUFFSUFGQnRBRnFFR1VnQUVIWUFXb2lCeUFFSUFGQjJBRnFFR1VnQUVIOEFXb2lBQ0FFSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBR0VGbzRBZ1FnQWlBSEVGbzRBZ2dnQWlBQUVGbzRBZ3dnQWhEZkJ5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRklBQkJBblFnQldvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFnZ0FpUUdJQWdMK0FFQkNIOGpCaUVDSXdaQklHb2tCaUFBUWV3QWFpSURJQUJCeUFCcUlnUWdBVUhzQUdvaUJSQmxJQUJCa0FGcUlnWWdCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnY2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlnZ2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQUJCYU9BSVFJQUlRM2djaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVKSUFJa0JpQUpDNUlDQVFsL0l3WWhBaU1HUVNCcUpBWWdBRUhJQUdvaUF5QUFRU1JxSWdRZ0FVSElBR29pQlJCbElBQkI3QUJxSWdZZ0JDQUJRZXdBYWhCbElBQkJrQUZxSWdjZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdnZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdrZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdDUkJhT0FJUUlBSWdBQkJhT0FJVUlBSVEzUWNpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUtJQUlrQmlBS0M2WUNBUXAvSXdZaEFpTUdRU0JxSkFZZ0FFRWthaUlESUFBZ0FVRWthaUlFRUdVZ0FFSElBR29pQlNBQUlBRkJ5QUJxRUdVZ0FFSHNBR29pQmlBQUlBRkI3QUJxRUdVZ0FFR1FBV29pQnlBQUlBRkJrQUZxRUdVZ0FFRzBBV29pQ0NBQUlBRkJ0QUZxRUdVZ0FFSFlBV29pQ1NBQUlBRkIyQUZxRUdVZ0FFSDhBV29pQ2lBQUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUZFRm80QWdRZ0FpQUdFRm80QWdnZ0FpQUhFRm80QWd3Z0FpQUlFRm80QWhBZ0FpQUpFRm80QWhRZ0FpQUtFRm80QWhnZ0FoRGNCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUVJQUJCQW5RZ0JHb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRc2dBaVFHSUFzTHl3RUJCWDhqQmlFQ0l3WkJJR29rQmlBQ0lBRVFXamdDQUNBQ0lBRkJKR29pQXhCYU9BSUVJQUlnQVVISUFHb1FXamdDQ0NBQ0lBRkI3QUJxRUZvNEFnd2dBaUFCUVpBQmFoQmFPQUlRSUFJZ0FVRzBBV29RV2pnQ0ZDQUNJQUZCMkFGcUVGbzRBaGdnQWlBQlFmd0JhaEJhT0FJY0lBSVEyd2NpQkVFQ2RDQUNhaUlGS2dJQVF3QUFBQUJiQkg5QkFBVWdBU0FFUVFsc1FRSjBJQUZxRUl3QklBQWdBVU1BQUlBL0lBVXFBZ0NSbFJDVUFTQUFRU1JxSUFOQlB4QzRBVUVCQ3lFR0lBSWtCaUFHQzRjQkFRSi9Jd1loQWlNR1FhQUNhaVFHSUFJZ0FSRHNCd1IvSUFJZ0FSRHJCd1IvSUFJZ0FSRHFCd1IvSUFJZ0FSRHBCd1IvSUFJZ0FSRG9Cd1IvSUFJZ0FSRG5Cd1IvSUFJZ0FSRG1Cd1IvSUFJZ0FSRGxCd1IvSUFBZ0FoRGpCd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTElRTWdBaVFHSUFNTE1nQWdBQ0FCSUFVUS9BRWdBRUhJQUdvZ0FpQUdFUHdCSUFCQmtBRnFJQU1nQnhEOEFTQUFRZGdCYWlBRUlBZ1EvQUVMbUFJQkJuMGdBU29DR0NJR0lBVXFBZ0FpQjVRZ0FTb0NBQ0FFbFpJaENpQUhJQUVxQWh3aUNKUWdBU29DQkNBRWxaSWhCeUFHSUFVcUFnUWlDWlFnQVNvQ0RDQUVsWkloQmlBSUlBbVVJQUVxQWhBZ0JKV1NJUWdnQXlvQ0FDQUNsQ0VKSUFNcUFnUWdBcFFoQ3lBQUlBb2dBcFE0QWdBZ0FDQUhJQUtVT0FJRUlBQWdBU29DSUNBRktnSUFsQ0FCS2dJSUlBU1ZraUFLSUFtVWt5QUhJQXVVa3pnQ0NDQUFJQVlnQXBRNEFnd2dBQ0FJSUFLVU9BSVFJQUFnQVNvQ0lDQUZLZ0lFbENBQktnSVVJQVNWa2lBR0lBbVVreUFJSUF1VWt6Z0NGQ0FBSUFFcUFoZ2dBcFFpQkRnQ0dDQUFJQUVxQWh3Z0FwUWlBamdDSENBQUlBRXFBaUFnQkNBREtnSUFsSk1nQWlBREtnSUVsSk00QWlBTFRBRUNmeU1HSVFrakJrR2dBbW9rQmlBSklBRWdBaUFESUFRZ0JTQUdJQWNnQ0JEdUJ5QUFJQWtRN1FjRWZ5QUFFTWNEaTd0RThXamppTFg0NUQ1alJRVkJBQXNoQ2lBSkpBWWdDZ3UyQkFJS2Z3TjlJd1loQnlNR1FSQnFKQVlnQWtFQVRBUkFJQWRCd01nRFFmV1VBaEEzUVpLVkFoQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEJoSllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBFQVRBUkFJQWRCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FkTUFFRDVCOXFJQ0VEZEJ0SllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBGL2FpSUtRUU4wSUFGcUlRc2dDa0VEZENBQmFpRU5JQUpCZjJvaEJVRUFJUVlEUUNBR0lBVklCRUFnQ3lvQ0FDRU9JQTBvQWdRaERDQUdJUUlnQlNFRUEwQURRQUpBSUFKQkEzUWdBV29pQ0NvQ0FDSVBJQTVkUlFSQUlBNGdEMTBOQVNBQ1FRTjBJQUZxS0FJRUlBeE9EUUVMSUFKQkFXb2hBZ3dCQ3dzRFFBSkFJQTRnQkVFRGRDQUJhaUlKS2dJQUloQmRSUVJBSUJBZ0RsME5BU0FNSUFSQkEzUWdBV29vQWdST0RRRUxJQVJCZjJvaEJBd0JDd3NnQWlBRVRBUkFJQWdnRURnQ0FDQUpJQTg0QWdBZ0FrRURkQ0FCYWlJSUtBSUVJUWtnQ0NBRVFRTjBJQUZxSWdnb0FnUTJBZ1FnQ0NBSk5nSUVJQUpCQVdvaEFpQUVRWDlxSVFRTElBSWdCRXdOQUFzZ0JTQUVJQUlnQTBnYklRVWdBaUFHSUFRZ0NrZ2JJUVlNQVFzTElBQWdDeWtDQURjQ0FDQUhKQVlMZ1FFQkFYMGdBQ0FBS2dJQVF3QUFnRDhnQUNvQ0lKVWlBWlE0QWdBZ0FDQUJJQUFxQWdTVU9BSUVJQUFnQVNBQUtnSUlsRGdDQ0NBQUlBRWdBQ29DREpRNEFnd2dBQ0FCSUFBcUFoQ1VPQUlRSUFBZ0FTQUFLZ0lVbERnQ0ZDQUFJQUVnQUNvQ0dKUTRBaGdnQUNBQklBQXFBaHlVT0FJY0lBQkRBQUNBUHpnQ0lBdDVBZ04vQW4wakJpRUVJd1pCRUdva0JpQUVRUWhxSWdWQkJHb2hCaUFGSUFZZ0FDQUJLZ0lBSUFFcUFnUVF2UUlnQkNBRktnSUFJQUlxQWdDVE9BSUFJQVFnQmlvQ0FDQUNLZ0lFa3pnQ0JDQUVLZ0lBSWdjZ0I1UWdCQ29DQkNJSElBZVVraUFEbEVNQUFJQS9raERTQVNFSUlBUWtCaUFJQy9jQkFRMS9Jd1loQWlNR1FUQnFKQVlDZnlBQ1FTQnFJZ01nQUNBQkVLb0JJQUpCR0dvaUJDQUFJQUZCQ0dvaUJ4Q3FBU0FDUVJCcUlnVWdBQ0FCUVJCcUlnWVFxZ0VnQWtFSWFpSUtJQU1ReFFNZ0FpQUVFTVVESUFFZ0J5QUdJQU1nQkNBRkVQMEJCSDlCQXlFSUlBY2hDU0FCSVFzRFFDQUlRUVJJQkVBZ0F5QUFJQVpCQ0dvaUJoQ3FBVUVBSUF0QkNHb2lDeUFKUVFocUlna2dCaUFFSUFVZ0F4RDlBVVVOQXhvZ0F5RU5JQWhCQVdvaENDQUVJUU1nQlNFRUlBMGhCUXdCQ3dzZ0NTQUdJQUVnQkNBRklBb1EvUUVFZnlBR0lBRWdCeUFGSUFvZ0FoRDlBUVZCQUFzRlFRQUxDeUVPSUFJa0JpQU9DOVFCQVE1L0l3WWhDU01HUVlBQmFpUUdJQWxCK0FCcUlRb2dDVUhvQUdvaEN5QUpRVUJySVF3Z0NVRTRhaUVOSUFsQk1Hb2hEaUFKUVNocUlROGdDVUhnQUdvaUVDQUpRZGdBYWlJUklBbEIwQUJxSWhJZ0NVSElBR29pRXlBSlFmd0FhaUlVSUFsQjhBQnFJaFVnQVNBQ0lBTWdCQkRFQXdSL0lBd2dEU0FPSUE4Z0NpQUxJQVVnQmlBSElBZ1F4QU1FZnlBSklCQWdFU0FTSUJNZ0RDQU5JQTRnRHhEd0J3Ui9JQUFnQ1NBVUtnSUFJQlVnQ2lvQ0FDQUxFTzhIUVFFRlFRQUxCVUVBQ3dWQkFBc2hGaUFKSkFZZ0ZndFBBUUYvSUFBZ0FSQzhBaUlCUVFCT0JFQkJBQ0VCQTM4Z0FFR01DR29nQVVFQ2RHb2dBaUFBUVF4cUlBRkJBblJxS0FJQWFpSUNOZ0lBSUFGQkFXb2lBVUdBQWtjTkFFRUFDeUVCQ3lBQkM1a0JBUUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVJUWdnQkNBRklBWVFoUUZEQUFBQUFGNGdDSE1FZjBFQUJTQUJJQUlnQXhDRkFVTUFBQUFBWGlBRklBWWdCeENGQVVNQUFBQUFYbk1FZjBFQUJTQUNJQU1nQUJDRkFVTUFBQUFBWGlBR0lBY2dCQkNGQVVNQUFBQUFYbk1FZjBFQUJTQURJQUFnQVJDRkFVTUFBQUFBWGlBSElBUWdCUkNGQVVNQUFBQUFYbk5CQVhNTEN3c0xrQWtDQ244QmZTTUdJUkVqQmtFUWFpUUdJQkZCQ0dvaER5QUZLQUlFSUFVb0FnQnJRUUoxSUFsQkNXeEpCRUFnRDBIQXlBTkIwNFFDRURkQmpZVUNFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdVaGdJUU55SU1JQXdvQWdCQmRHb29BZ0JxRURzZ0QwR0F6Z01RT2lJTktBSUFLQUljSVE0Z0RVRUtJQTVCUDNGQmlnRnFFUUlBSVEwZ0R4QThJQXdnRFJCQUlBd1FQeEFBQ3lBR0tBSUVJQVlvQWdBaURHdEJBblVnQTBrRVFDQVBRY0RJQTBIR2hnSVFOMEdOaFFJUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1FmaUdBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQWNvQWdRZ0J5Z0NBR3RCQTNVZ0NVa0VRQ0FQUWNESUEwR2lod0lRTjBHTmhRSVFOMEh2b2dJUU4wSDVBQkErUWZhaUFoQTNRZUNIQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFOQkJFZ0VmMEVBQlNBUlFkSUpOZ0lBSUFnUWFTRUlJQXNnQXhDRkFpRU5JQXdnQXhEY0F5QU1JQU1nQXlBUkVNRUNRUUFoQmdOQUlCQWdDa2dnQmlBSlNIRUVRQ0FNSUFOQkJDQVJFTUVDSUF3b0FnQkJBWFFpQzBFQ2RDQUJhaUFNS0FJRVFRRjBJZzVCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVNRUUowSUFGcUlBd29BZ3hCQVhRaUUwRUNkQ0FCYWlBTFFRSjBJQUpxSUE1QkFuUWdBbW9nRWtFQ2RDQUNhaUFUUVFKMElBSnFFUGNIQkVBZ0JTZ0NBQ0FHUVFsc0lndEJBblJxSUF3b0FnQkJBWFFpRGtFQ2RDQUJhaUFNS0FJRVFRRjBJaEpCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVRRUUowSUFGcUlBd29BZ3hCQVhRaUZFRUNkQ0FCYWlBT1FRSjBJQUpxSUJKQkFuUWdBbW9nRTBFQ2RDQUNhaUFVUVFKMElBSnFFUFVIQkVBZ0JTZ0NBQ0FMUVFKMGFpQUVFUFFIQkVBZ0JrRUJhaUVHQ3dzTElCQkJBV29oRUF3QkN3dERBQUNBUHlBSWxTRUlJQVlFZnlBSEtBSUFJUVJCQUNFTEEwQWdDeUFHU0FSQUlBdEJBM1FnQkdwREFBQUFBRGdDQUNBTFFRTjBJQVJxSUFzMkFnUWdDMEVCYWlFTERBRUxDMEVBSVFzZ0JpRUtBMEFnQ3lBRFNDQUtRUUpLY1FSQUlBMGdBeUFMYXhDRkFpQUxhaUVHUVFBaEVDQUhLQUlBSVFRRFFDQUtJQkJIQkVBZ0JTZ0NBQ0FRUVFOMElBUnFLQUlFUVFsc1FRSjBhaUVPSUFzaENRTkFJQWtnQmtnRVFDQU9JQWxCQW5RZ0RHb29BZ0JCQVhRaUJFRUNkQ0FCYWlBRVFRSjBJQUpxSUFnUTh3Y2hGaUFIS0FJQUlnUWdFRUVEZEdvaUVpQVdJQklxQWdDU09BSUFJQWxCQVdvaENRd0JDd3NnRUVFQmFpRVFEQUVMQ3lBUElBUWdDaUFLUVFJUU9TQUtRUUZ4UVg5cWFoRHhCeUFHSVFzZ0NrRUJkU0VLREFFTEMwRUJJUU1nQnlnQ0FDSUNLZ0lBSVFnZ0FpZ0NCQ0VCQTBBZ0F5QUtTQVJBSUFOQkEzUWdBbW9xQWdBaUZpQUlYUVJBSUJZaENDQURRUU4wSUFKcUtBSUVJUUVMSUFOQkFXb2hBd3dCQ3dzZ0FDQUZLQUlBSUFGQkNXeEJBblJxRUw0Q0lBQVE4Z2RCQVFWQkFBc0xJUlVnRVNRR0lCVUxaUUJCQVVGL0lBQWdBU0FDRUlVQlF3QUFBQUJlRzBFQlFYOGdBU0FDSUFNUWhRRkRBQUFBQUY0YmFrRUJRWDhnQWlBRElBQVFoUUZEQUFBQUFGNGJha0VCUVg4Z0F5QUFJQUVRaFFGREFBQUFBRjRiYWlJQVFRQWdBR3NnQUVGL1NodEJCRVlMamdFQ0JIOEdmU01HSVFRakJrRXdhaVFHSUFSQklHb2lCU0FCSUFBUTN3RWdCRUVZYWlJR0lBSWdBQkRmQVNBRVFSQnFJZ2NnQXlBQUVOOEJJQVJCQ0dvaUFDQUJJQUlRM3dFZ0JDQURJQUlRM3dFZ0JTQUdFUDhCQW4wZ0JpQUhFUDhCSVF3Z0JTQUhFUDhCSVFvZ0FDQUVFUDhCSVFzZ0RBc1EvZ0VnQ2hEK0FTQUxFUDRCSVEwZ0JDUUdJQTBMNmdFQ0NYOEJmU01HSVFNakJrSGdBR29rQmlBRFFkZ0FhaUVFSUFOQjBBQnFJUVVnQTBISUFHb2hCaUFEUVVCcklRY2dBMEU0YWlFSUlBTkJNR29oQ1NBRFFTaHFJUW9nQXlBQVE2ekZKemNReUFNRWZ5QUlJQUd5SWd3NEFnQWdDRU1BQUFBQU9BSUVJQWtnRERnQ0FDQUpJQUt5SWd3NEFnUWdDa01BQUFBQU9BSUFJQW9nRERnQ0JDQUVJQU5CbE1RREVLb0JJQVVnQXlBSUVLb0JJQVlnQXlBSkVLb0JJQWNnQXlBS0VLb0JJQVFnQlNBR0lBY1ErZ2NnQVNBQ2JMZEVMVU1jNitJMkdqK2l0bDBFZjBFQUJTQUVJQVVnQmlBSEVQa0hDd1ZCQUFzaEN5QURKQVlnQ3dzNkFRRi9JQUJCREdvaUJpQUVFSWNCSUFFZ0FpQURJQVFnQlNBQUlBWWdBRUVZYWlBQUtnSWtJQUFvQWlnZ0FDZ0NMQ0FBS0FJd0VQZ0hDOG9HQWcxL0FYMGpCaUVJSXdaQlFHc2tCaUFJUVNocUlRUWdDRUUwYWlFTUlBaEJNR29oRFNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQkRBQUFnUVJCcElSRWdDQ0FEUXdBQUFBQVF5QU5GQkVBZ0JFSEF5QU5CNG9FQ0VEZEIrNEVDRURkQjc2SUNFRGRCeEFFUVBrSDJvZ0lRTjBINmdnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdCQkE4SUFNZ0JSQkFJQU1RUHhBQUN5QUFJQUVRY1JDQUFnSkFBa0FEUUNBSklBRVFjVWtFUUNBQklBa1F4QUVoRHlBTUlBMGdDQ0FCSUFrUXd3RWlEaW9DQUNBT0tnSUVFTDBDUVFBaEJrRi9JUVZCZnlFS1FmLy8vLzhISVFNRFFDQUdJQUlRY1VrRVFDQUNJQVlRd3dFaEJ5QU9MQUFRSUFjc0FCQkdCRUFnRENvQ0FDQUhLZ0lBa3hCcElBMHFBZ0FnQnlvQ0JKTVFhWklnRVY1RkJFQWdEeUFDSUFZUXhBRVEyd01pQnlBRlNTRUxJQVVnQnlBS0lBY2dDa2tiSUFzYklRb2dCaUFESUFzYklRTWdCeUFGSUFzYklRVUxDeUFHUVFGcUlRWU1BUXNMSUFWQmYwY0VRQUpBSUFOQmYwWU5CQ0FLUVg5R0JFQWdCQ0FKSUFNUXdnRWdBQ2dDQkNJRElBQW9BZ2hKQkVBZ0F5QUVLUU1BTndJQUlBQWdBQ2dDQkVFSWFqWUNCQVVnQUNBRUVKWUJDd3dCQ3lBRnN5QUtzNVVnQUNvQ0RGMEVRQ0FFSUFrZ0F4RENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMQ3dzTElBbEJBV29oQ1F3QkN3c01BUXNnQkVIQXlBTkJtNE1DRURkQis0RUNFRGRCNzZJQ0VEZEI4UUVRUGtIMm9nSVFOMEhqZ3dJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHQUFoQStRZmFpQWhBM1FiR0VBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FFRUR3Z0FDQUJFRUFnQUJBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaEVBc0xDeUFJSkFZZ0VBdjhBd0VNZnlNR0lRNGpCa0VRYWlRR0lBNGhCQ0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVBZ0FDQUJFSEVRZ0FJRFFDQUZJQUVRY1VrRVFDQUJJQVVReEFFaERDQUJJQVVRd3dFaERVRUFJUWRCZnlFR1FmLy8vLzhISVFoQmZ5RURBMEFnQnlBQ0VIRkpCRUFnRFN3QUVDQUNJQWNRd3dFc0FCQkdCRUFnQnlBSUlBd2dBaUFIRU1RQkVJSUNJZ29nQmtraUN4c2hDQ0FHSUFvZ0F5QUtJQU5KR3lBTEd5RURJQW9nQmlBTEd5RUdDeUFIUVFGcUlRY01BUXNMSUFaQmYwY0VRQUpBSUFOQmYwWUVRQ0FFSUFVZ0NCRENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBYXpJQU96bFNBQUtnSU1YUVJBSUFRZ0JTQUlFTUlCSUFBb0FnUWlBeUFBS0FJSVNRUkFJQU1nQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCVUVCYWlFRkRBRUxDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEh3QUJBK1FmYWlBaEEzUWJHRUFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUVFRHdnQWlBQUVFQWdBaEEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoQ1FzTEN5QUVKQVlnQ1F1cEJRRUxmeU1HSVFRakJrRVFhaVFHSUFBZ0FDZ0NBRFlDQkNBQkVIRUVRQ0FDRUhFRVFDQUFJQUVRY1JDQUFnSkFBa0FEUUNBR0lBRVFjVWtFUUNBRElBRWdCaERFQVNJTUVOVUhJQUVnQmhEREFTRU5JQU5CeUFCcUlRcEJBQ0VIUVg4aEJVRi9JUWhCLy8vLy93Y2hDd05BSUFjZ0NpZ0NCQ0FLS0FJQUlnbHJRUUoxU1FSQUlBMHNBQkFnQWlBSFFRSjBJQWxxS0FJQUVNTUJMQUFRUmdSQUlBd2dBaUFLS0FJQUlBZEJBblJxS0FJQUVNUUJFSUlDSWdrZ0JVa0VmeUFGSVFnZ0NpZ0NBQ0FIUVFKMGFpZ0NBQ0VMSUFrRklBa2dDQ0FKSUFoSkd5RUlJQVVMSVFVTElBZEJBV29oQnd3QkN3c2dCVUYvUndSQUFrQWdDMEYvUmcwRUlBaEJmMFlFUUNBRUlBWWdDeERDQVNBQUtBSUVJZ1VnQUNnQ0NFa0VRQ0FGSUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQVd6SUFpemxTQUFLZ0lNWFFSQUlBUWdCaUFMRU1JQklBQW9BZ1FpQlNBQUtBSUlTUVJBSUFVZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQmtFQmFpRUdEQUVMQ3d3QkN5QUVRY0RJQTBHYmd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHZ0FSQStRZmFpQWhBM1FlT0RBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWdRZ0FDZ0NBR3RCQTNVZ0FSQnhTd1JBSUFSQndNZ0RRZldEQWhBM1FmdUJBaEEzUWUraUFoQTNRYThCRUQ1QjlxSUNFRGRCc1lRQ0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUFVZ0FDZ0NCQ0FBS0FJQWEwRURkU0VPQ3dzTElBUWtCaUFPQzVzR0FROS9Jd1loQlNNR1FaQUJhaVFHSUFWQjZBQnFJUUlnQlVISUFHb2hBeUFGUVNocUlRUWdBQ0FBUVF4cUlnMG9BZ0EyQWhBZ0FFRi9OZ0lZSUFFUWhnRkJFR29oQ1NBQVFmd0VhaUVJSUFCQmpBVnFJUXdnQUVHVUJtb2hEaUFBUVJ4cUlROGdBRUhRQUdvaEN3TkFJQXNvQWdBaUN3UkFJQUpCbm9BQ0VIa2dBQ3dBQ0VVaEVDQUJFSVlCSVFjZ0MwRU1haUlHS0FJQUVJWUJJUW9DUUFKQUlCQUVRQ0FJSUFjZ0NoRCtCeUFBS0FJQVR3MEJCU0FJSUFjZ0NpQUxLQUlNUVNScUVQOEhJQUFvQWdCUERRRUxJQUlRYXd3QkN5QUNFR3NnQmlnQ0FCQ0dBUkNCQWlFSElBSkJyNEFDRUhrZ0RDQUpJQWNnQ0NBQktBSUFJQUVvQWdRZ0JpZ0NBQ2dDQUNBR0tBSUFLQUlFRU13RElncEJBRWdFUUNBQ0VHc01BUXNnQWhCcklBSkJBRFlDQUNBQ1FRQTJBZ1FnQWtFQU5nSUlJQVZCd0lBQ0VIa2dBaUFNSUFnZ0NoRExBeUFGRUdzZ0EwSFhnQUlRZVFKQUlBVWdDU0FISUFJZ0RpQUdLQUlBS0FJQUlBWW9BZ0FvQWdRUXlnTkZCRUFnQXhCckRBRUxJQU1RYXlBRFFRQTJBZ0FnQTBFQU5nSUVJQU5CQURZQ0NDQUVRZStBQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rREFrQWdBeWdDQkNBREtBSUFhMEVEZFNBQUtBSUFTUVJBSUFRUWF3d0JDeUFFRUdzZ0JFR0FnUUlRZVNBSUlBRVFoZ0VnQmlnQ0FCQ0dBU0FGRVAwSElBQW9BZ0JKQkVBZ0JCQnJEQUVMSUFRUWF5QUVRWkdCQWhCNUlBd2dDU0FISUFnZ0FTZ0NBQ0FCS0FJRUlBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJETUF5SUtRUUJJQkVBZ0JCQnJEQUVMSUFRUWF5QUVRYUtCQWhCNUlBSWdEQ0FJSUFvUXl3TWdCQkJySUFSQnVZRUNFSGtnQlNBSklBY2dBaUFPSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRLQTBVRVFDQUVFR3NNQVFzZ0JCQnJJQU1nQXlnQ0FEWUNCQ0FFUWRHQkFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RJQVFRYXlBREtBSUVJQU1vQWdCclFRTjFJZ1lnQUNnQ0FFOEVRQ0FHSUFBb0FoQWdEU2dDQUd0QkEzVkxCRUFnRHlBRkVMNENJQTBnQXhDSkFpQUFJQXNvQWdnMkFoZ0xDd3NnQXhCVkN5QUNFRlVMREFFTEN5QUFLQUlZR2lBRkpBWUwzQUlCQjM4akJpRUNJd1pCUUdza0JpQUNRUkJxSVFNZ0FrRTRhaUVFQWtBQ1FDQUFRYUFCYWlJR0tBSUFJQUVRZENnQ0FDZ0NCRWNOQUNBR0tBSUVJQUVRZENnQ0FDZ0NDRWNOQUF3QkN5QUdJQUVRK3dnTFFaUUJFRkVpQlJEbkF5QUNRUUEyQWpBZ0F5QUNLQUl3TmdJQUlBUWdCUkRtQXlBRUtBSUFJUWNnQkNBQVFVQnJJZ1VvQWdBMkFnQWdCU0FITmdJQUlBUW9BZ1FoQnlBRUlBQW9Ba1EyQWdRZ0FDQUhOZ0pFSUFRUWxRRWdCU2dDQUNBQkVIUW9BZ0FvQWdRUTVRTWdCU2dDQUNBQkVIUW9BZ0FvQWdnUTVBTWdBMEdJOFFFUWVTQUZLQUlBSUFFZ0JpQUFRYndDYWhDdENDQURFR3NDZnhEakF5RUlJQU1RdXdNZ0F5Z0NBQ0FESUFNc0FBdEJBRWdiSVFRZ0JTZ0NBQkNHQVJCeElRWWdBa0h3b3dJMkFnQWdBaUFFTmdJRUlBSkIvUDBCTmdJSUlBSWdCallDRENBSUMwSFEvUUVnQWhDM0F5QURFRWNnQUNBRktBSUFFSUFJSUFJa0JndVFBUUVEZnlNR0lRTWpCa0VnYWlRR0FrQUNRQ0FBUWR3QWFpSUNFSFFpQkNnQ0JDQUVLQUlBUmcwQUlBSVFkQ2dDQUNnQ0JDQUJLQUlFUncwQUlBSVFkQ2dDQUNnQ0NDQUJLQUlJUncwQURBRUxJQUVvQWdRZ0FTZ0NDQkN1Q0NFRUlBSWdBU2dDQkNBQktBSUlJQVFRMEFnTElBTkIrdkFCRUhrZ0FpQUJFTWdJSUFNUWF5QUFJQUlRZ1FnZ0F5UUdDeVVCQVg5QmtCQVFSQ0lDQkVBZ0FrRUFOZ0lBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0xJQUlMTkFFQmZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVVFQklBSWdBeUFDRUxnRElBQW9BZ0FvQWdBZ0JCQ0NDQ0FFRU4wQklBUWtCZ3NyQVFGL0lBQW9BZ2doQWdOQUlBSVExQU1nQUNBQUtBSUlRUlJxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDNmdCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVJRUU9TQUJTUVJBUWN5WnMrWUFJQU1nQUNnQ0FHdEJGQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFVUVEa2lCVUVCZENJR0lBWWdBMGtiUWN5WnMrWUFJQVZCNXN5Wk0wa2JJQUFvQWdRZ0JHdEJGQkE1SUFCQkNHb1ErZ01nQWlBQkVJVUlJQUFnQWhENUF5QUNFUGdEQ3dVZ0FDQUJFTlVEQ3lBQ0pBWUxVZ0VDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGc2FpRUJEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNElBQkJBRFlDQ0NBQVFRQTJBZ1FnQUVFQU5nSUFDd3N0QVFGL0lBQW9BZ2doQWdOQUlBSkJBRG9BQUNBQUlBQW9BZ2hCQVdvaUFqWUNDQ0FCUVg5cUlnRU5BQXNMTFFFQmZ5QUFLQUlFSVFJRFFDQUNRUUE2QUFBZ0FDQUFLQUlFUVFGcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOcklBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaUFCRUlnSUlBQWdBaERYQWlBQ0VOWUNDd1VnQUNBQkVJa0lDeUFDSkFZTEx3RUJmMEgvLy8vL0J5QUJTUVJBRUFBRklBQWdBUkJSSWdJMkFnUWdBQ0FDTmdJQUlBQWdBU0FDYWpZQ0NBc0xYUUVCZjBIVnF0V3FBU0FCU1FSQUVBQUxJQUZCMWFyVnFnRkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJER3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCREd3Z0FtbzJBZ2dMQytjQkFRZC9JQUlnQVd0QkRCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVF3UU9Vc0VRQ0FBRU04RFFkV3ExYW9CSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJEQkE1SWdSQkFYUWlCU0FGSUFOSkcwSFZxdFdxQVNBRVFhclZxdFVBU1JzUWpBZ2dBQ0FCSUFJZ0F4RFFBd3NGSUFNZ0FDZ0NCQ0FFYTBFTUVEa2lCa3NoQlNBR1FReHNJQUZxSUFJZ0JSc2lDQ0FCYXlJR1FRd1FPU0VKSUFZRVFDQUVJQUVnQmhEbkFSb0xJQVVFUUNBQUlBZ2dBaUFESUFBb0FnUWdBQ2dDQUd0QkRCQTVheERRQXdVZ0FDQUpRUXhzSUFkcU5nSUVDd3NMeUFFQkFuOGpCaUVFSXdaQkVHb2tCaUFFUVFScUlRTWdCQ0FDTmdJQUlBQkJ5QUJxSWdJZ0JCRG9Bd1JBUVJBUUJTRUFJQU5DQURjQ0FDQURRUUEyQWdnZ0EwSG84QUZCNlBBQkVHQVFmaUFBSUFNUWhnSWdBRUdJOGdCQkJSQUVDeUFDSUFRUXF3Z2hBQ0FESUFFb0FnQWlBallDQUNBRElBRW9BZ1FpQVRZQ0JDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ1FGUVFBTElRRWdBeUFBS0FJQU5nSUFJQUFnQWpZQ0FDQURJQUFvQWdRMkFnUWdBQ0FCTmdJRUlBTVFsUUVnQkNRR0M4TUJBUVYvSUFBb0FnQWlBeUVGSUFJZ0FXc2lCQ0FBS0FJSUlBTnJTd1JBSUFBUXp3TkIvLy8vL3djZ0JFa0VRQkFBQlNBQUlBUWdBQ2dDQ0NBQUtBSUFheUlEUVFGMElnVWdCU0FFU1J0Qi8vLy8vd2NnQTBILy8vLy9BMGtiRUlzSUlBQWdBU0FDSUFRUXpnTUxCU0FFSUFBb0FnUWdBMnNpQmtzaEF5QUJJQVpxSUFJZ0F4c2lCeUFCYXlJR0JFQWdCU0FCSUFZUTV3RWFDeUFEQkVBZ0FDQUhJQUlnQUNnQ0FDQUVJQUFvQWdScmFoRE9Bd1VnQUNBRklBWnFOZ0lFQ3dzTE5nRUNmeUFBS0FJRUlBQW9BZ0FpQTJzaUFpQUJTUVJBSUFBZ0FTQUNheENLQ0FVZ0FpQUJTd1JBSUFBZ0FTQURhallDQkFzTEM0a0NBUWgvSUFJZ0FXdEJGQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFSUVFPVXNFUUNBQUVJY0lRY3lacytZQUlBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCRkJBNUlnUkJBWFFpQlNBRklBTkpHMEhNbWJQbUFDQUVRZWJNbVROSkd4RFdBeUFBSUFFZ0FpQURFTTBEQ3dVQ1FDQURJQUFvQWdRZ0JHdEJGQkE1SWdaTElRVWdCa0VVYkNBQmFpQUNJQVViSWdnZ0FXc2lCa0VVRURraENpQUdCRUFnQkNBQklBWVE1d0VhQ3lBRkJFQWdBQ0FJSUFJZ0F5QUFLQUlFSUFBb0FnQnJRUlFRT1dzUXpRTU1BUXNnQ2tFVWJDQUhhaUVDSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQXNMQzlrQ0FRVi9Jd1loQnlNR1FTQnFKQVlnQjBFTWFpSUlJQVkyQWdCQmxBRVFVU0lKRU9jRElBZEJBRFlDQ0NBSFFSaHFJZ29nQnlnQ0NEWUNBQ0FIUVJCcUlnWWdDUkRtQXlBR0tBSUFJQVFRNVFNZ0JpZ0NBQ0FGRU9RRElBWW9BZ0FRaGdFUTBnTWdCaWdDQUJDR0FSQ0JBaUFCS0FJRUlBRW9BZ0JyUVJRUU9SRFJBeUFHS0FJQUVJWUJFSUVDSWdRZ0FVY0VRQ0FFSUFFb0FnQWdBU2dDQkJDUkNBc2dCaWdDQUJDR0FSQjBJQUlvQWdRZ0FpZ0NBR3NRa0FnZ0JpZ0NBQkNHQVJCMElnRWdBa2NFUUNBQklBSW9BZ0FnQWlnQ0JCQ1BDQXNnQmlnQ0FCQ3NDQUovSUFBb0FnQW9BZ0FoQ3lBSElBWW9BZ0EyQWdBZ0J5QUdLQUlFSWdFMkFnUWdBUVJBSUFFZ0FTZ0NCRUVCYWpZQ0JBc2dDd3NnQnlBSUtBSUFFSTRJSUFjUWxRRWdBQ2dDQUVFRWFpQUlFTU1DSWdBZ0EwY0VRQ0FBSUFNb0FnQWdBeWdDQkJDTkNBc2dCaENWQVNBSEpBWUxQd0FnQUNBQk5nSUFJQUJCQkdvaUFFSUFOd0lBSUFCQ0FEY0NDQ0FBUWdBM0FoQWdBRUlBTndJWUlBQkNBRGNDSUNBQVFnQTNBaWdnQUVJQU53SXdDMXdCQVg4Z0FFSFNDVFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUJCREdvaUFTQUFFSk1JSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUlBTndKSUlBQkNBRGNDVUNBQVFnQTNBbGdnQUVFUU5nSnNJQUVRMkFNZ0FVRUJFTmNEQ3hRQUlBQkJER3BCQUNBQktBSUVRYlg4QVVZYkN4VUFJQUFvQWd3aUFBUkFJQUFRbXdnZ0FCQTRDd3NlQUNBQVFUQnFFRlVnQUVFa2FoQlZJQUJCR0dvUVZTQUFRUXhxRUZVTE9RRUJmeUFBUWRRQWFoRFRBeUFBUWNnQWFoQlZJQUJCREdvUWx3Z2dBQ2dDQ0NFQklBQkJBRFlDQ0NBQkJFQWdBUkRFQWlBQkVEZ0xDOFlEQWdOL0FYd2pCaUVESXdaQndBRnFKQVlnQXlBQlFhZ0Jha0VFSUFFb0FneEJBRWdFZnlBQlFSUnFCU0FCS0FJSVFRQklCSDhnQVVFWWFnVWdBVUVRYWdzTEtBSUFJZ1JyUVFRUVR5SUZRUVIwYWlzREFEa0RZQ0FESUFFZ0JVRUVkR29yQTdBQk9RTm9JQU1nQVVHb0FXcEJCU0FFYTBFRUVFOGlCVUVFZEdvckF3QTVBM0FnQXlBQklBVkJCSFJxS3dPd0FUa0RlQ0FESUFGQnFBRnFRUVlnQkd0QkJCQlBJZ1ZCQkhScUt3TUFPUU9BQVNBRElBRWdCVUVFZEdvckE3QUJPUU9JQVNBRElBRkJxQUZxUVFjZ0JHdEJCQkJQSWdSQkJIUnFLd01BT1FPUUFTQURJQUVnQkVFRWRHb3JBN0FCT1FPWUFTQURJQUpFQUFBQUFBQUE0TCtpSWdZNUF3QWdBeUFDUkFBQUFBQUFBT0Evb2lJQ09RTUlJQU5FQUFBQUFBQUFBQUE1QXhBZ0F5QUNPUU1ZSUFNZ0Fqa0RJQ0FEUkFBQUFBQUFBQUFBT1FNb0lBTWdBamtETUNBRElBWTVBemdnQTBGQWEwUUFBQUFBQUFBQUFEa0RBQ0FESUFZNUEwZ2dBeUFHT1FOUUlBTkVBQUFBQUFBQUFBQTVBMWdnQTBHb0FXb2lBU0FEUWVBQWFqWUNBQ0FCSUFNMkFnUWdBVUVFTmdJSUlBQW9BZ0FnQVVHQXBBTkJnS1FESUFOQm9BRnFFT29CR2lBREt3T2dBUm9nQXlRR0M5TVRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQVVFQ0VEa2hEQ0FDUVFJUU9TRU9JQVFvQWdBaUJ5RUNJQXdnRGtGL2FpSVFiRUVCZENBSGFpRUZBMEFnQmlBTVNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FHUVFGcUlRWU1BUXNMSUFjaEFpQU1RWDlxSWhGQkFYUWdCMm9oQlVFQUlRWURRQ0FHSUE1SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTVFRRjBJQUpxSVFJZ0RFRUJkQ0FGYWlFRklBWkJBV29oQmd3QkN3c2dCRUdRZ01nQWFpRUNRUUFnREdzaEVpQUFJQUZCQVhSQkFtcHFJUTFCQVNFTFFRQWhCU0FNUVFGcVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VVZ0VRQ0FOTFFBQUlBTktCRUFnQjBFQU93RUFCUUpBSUJKQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzTElBMUJBbW9oRFNBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBMXFRUVJxSVEwZ0MwRUJhaUVMSUFBaEJTQUhRUVJxSVFjTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFSFFRRWhBRUVCSVFNRFFDQURJQVZNQkVBZ0F5QUNLQUlBSWdaR0JFQWdBRUVCYWlFQkJTQUFJUUVnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBQ0lBQTJBZ0FnQVNFQUlBTkJBV29oQXlBQ1FRUnFJUUlNQVFzTElBUWdBRUYvYWlJQU5nSUlJQUFFZnlBSFFRQWdBRUVDZEJCRkdpQUVRWkNBS0dwQkFDQUFRUVIwRUVVYVFRQWhBUU5BSUFFZ0FFZ0VRQ0FFUVl5QUNHb2dBVUVDZENJQ1FRSjBhaUFNTmdJQUlBUkJqSUFJYWlBQ1FRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUNRUUp5UVFKMGFpQU9OZ0lBSUFSQmpJQUlhaUFDUVFOeVFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJBQ0VCQTBBZ0FTQUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQUJRUUowYWlnQ0FFRi9haUlDUVFKMGFpSURJQVJCa0lEUUFHb2dBVUVIYkNJQVFRSjBhaWdDQUNBREtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSURRUU4wYWlJSElBY3JBd0FnQUVFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBRFFRRnlRUU4wYWlJRElBTXJBd0FnQUVFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0djZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2dnTkFBYWlnQ0FDSUhTQVJBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnSW9BZ0FnQUVFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBSWdBRFlDQUFzZ0FVRUJhaUVCREFFTEN5QUVLQUlJSVFGQkFDRUFBMzhnQUNBQlNBUi9JQVJCa0lBb2FpQUFRUUYwSWdKQkEzUnFJZ01nQXlzREFDQUVRUXhxSUFCQkFuUnFLQUlBdHlJVm96a0RBQ0FFUVpDQUtHb2dBa0VCY2tFRGRHb2lBaUFDS3dNQUlCV2pPUU1BSUFCQkFXb2hBQXdCQlVFQUN3c0ZRUUFMQ3lFVUlBOGtCaUFVQ3g0QUlBQkJKR29RbUFnZ0FFRUlhaUlBUVJCcUVOa0NJQUJCQkdvUVZRc3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU5ZRElBQWdBUkRWQXdzTFhRRUJmMEgvLy8vL0F5QUJTUVJBRUFBTElBRkIvLy8vL3dOTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkFuUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBblFnQW1vMkFnZ0xDenNCQTM4Z0FTRUVJQUFvQWdnaUJTRURBMEFnQXlBQ0tBSUFOZ0lBSUFOQkJHb2hBeUFFUVg5cUlnUU5BQXNnQUNBQlFRSjBJQVZxTmdJSUM5b0JBUVovSXdZaENDTUdRU0JxSkFZZ0NDRUVJQUFvQWdRaUF5RUdJQUFvQWdnZ0EydEJBblVnQVVrRVFFSC8vLy8vQXlBQklBTWdBQ2dDQUd0QkFuVnFJZ2RKQkVBUUFBVWdCQ0FISUFBb0FnZ2dBQ2dDQUNJRmF5SUdRUUYxSWdNZ0F5QUhTUnRCLy8vLy93TWdCa0VDZFVILy8vLy9BVWtiSUFBb0FnUWdCV3RCQW5VZ0FFRUlhaERJQVNBRUlBRWdBaENlQ0NBQUlBUVE1QUVnQkJESEFRc0ZJQUVoQXlBR0lRVURRQ0FGSUFJb0FnQTJBZ0FnQlVFRWFpRUZJQU5CZjJvaUF3MEFDeUFBSUFGQkFuUWdCbW8yQWdRTElBUWtCZ3VGQlFFSGZ5TUdJUWtqQmtFUWFpUUdJQUFvQWdRZ0FDZ0NBR3RCQW5VZ0JFY0VRQ0FKUWNESUEwR1o4UUVRTjBHMzlRRVFOMEh2b2dJUU4wSEdBUkErUWZhaUFoQTNRYXo0QVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFKQkFFd0VRQ0FKUWNESUEwSFY5Z0VRTjBHMzlRRVFOMEh2b2dJUU4wSEhBUkErUWZhaUFoQTNRZjMyQVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFRZ0Frb0VRQ0FKUWNESUEwR2g5d0VRTjBHMzlRRVFOMEh2b2dJUU4wSElBUkErUWZhaUFoQTNRZFQzQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMSUFaQkFFd0VRQ0FKUWNESUEwSEorQUVRTjBHMzlRRVFOMEh2b2dJUU4wSEpBUkErUWZhaUFoQTNRZkQ0QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMUVFBaENBTkFJQWdnQkVnRVFDQUlRUUowSUFOcUlReEJBQ0VLUVg4aEFnTkFJQVlnQ2tjRVFDQUJJQXdvQWdCQjRBQnNhaUFCSUFwQkFuUWdCV29pRFNnQ0FFRUNkQ0FEYWlnQ0FFSGdBR3hxRUlJQ0lnY2dBa2tFUUNBQUtBSUFJQWhCQW5ScUlBMG9BZ0EyQWdBZ0J5RUNDeUFLUVFGcUlRb01BUXNMSUFJZ0Myb2hDeUFJUVFGcUlRZ01BUXNMSUFra0JpQUxDMUFCQVg4Z0FFRVlFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQUtBSUFOZ0lJSUFSQkFEWUNEQ0FFUVFBMkFoQWdCRUVBTmdJVUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDeklBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFpQUNRZUFBRUV3YUMwd0JBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJBblVnQVVrRVFDQUNJQUVnQUNnQ0JDQURhMEVDZFNBQVFRaHFFTWdCSUFBZ0FoRGtBU0FDRU1jQkN5QUNKQVlMbkFFQkJYOGpCaUVDSXdaQklHb2tCa0gvLy8vL0F5QUFLQUlFSUFBb0FnQnJRUUoxUVFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRRjFJZ1lnQmlBRFNSdEIvLy8vL3dNZ0JVRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JHdEJBblVnQUVFSWFoRElBU0FDS0FJSUlnTWdBU2dDQURZQ0FDQUNJQU5CQkdvMkFnZ2dBQ0FDRU9RQklBSVF4d0VnQWlRR0N3dkRCZ0VHZnlNR0lRWWpCa0VRYWlRR0lBQW9BZ1FpQ0NBQUtBSVFJQUFvQWd4clFRSjFSd1JBSUFaQndNZ0RRWXIxQVJBM1FiZjFBUkEzUWUraUFoQTNRWm9CRUQ1QjlxSUNFRGRCcVBZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0FrRUFUQVJBSUFaQndNZ0RRZFgyQVJBM1FiZjFBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCL2ZZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JDQUNTZ1JBSUFaQndNZ0RRYUgzQVJBM1FiZjFBUkEzUWUraUFoQTNRWndCRUQ1QjlxSUNFRGRCMVBjQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0NDQUVTZ1JBSUFaQndNZ0RRZS8zQVJBM1FiZjFBUkEzUWUraUFoQTNRWjBCRUQ1QjlxSUNFRGRCbVBnQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFSElBaEJDaUFIUVQ5eFFZb0JhaEVDQUNFSUlBWVFQQ0FGSUFnUVFDQUZFRDhRQUFzZ0JrRi9OZ0lBSUFCQkdHb2lDaUFFSUFZUTNRTWdCa0YvTmdJQUlBQkJKR29pQ1NBRUlBWVEzUU1nQUVFd2FpQUVFSWNCSUFBb0FqQWlCU0FBS0FJMElBVnJRUUoxRU53RFFYOGhCVUVBSVFjRFFDQUhJQUFvQWdoSUJFQWdBQ2dDTUNJSUlBQW9BalFnQ0d0QkFuVWdBQ2dDQkNBQUtBSUFFTUVDSUFrZ0FTQUNJQU1nQkNBQUtBSXdJQUFvQWdRUW9BZ2lDQ0FGU1FSQUlBb2dDUkNKQWlBQUtBSU1JQUFvQWpBZ0FDZ0NCRUVDZEJCTUdpQUlJUVVMSUFkQkFXb2hCd3dCQ3dzZ0FDZ0NCQ0FBS0FJUUlBQW9BZ3hyUVFKMVJnUkFJQVlrQmdVZ0JrSEF5QU5CaXZVQkVEZEJ0L1VCRURkQjc2SUNFRGRCdXdFUVBrSDJvZ0lRTjBHbzlnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFBZ0FSQkFJQUFRUHhBQUN3dmtCQUlOZndOOEl3WWhDaU1HUVJCcUpBWWdDa0VFYWlFUVFRSVE1d0loRGtFQ0VPY0NJUXRCQWtFQ0VJc0JJUXdDZndKQUFrQURRQUpBSUFkQkJFOE5BaUFIUVFGcUlnSkJBblFnQTJvb0FnQWlEMEVCYWlBSFFRSjBJQU5xS0FJQUlnaHJ0MFNhbVptWm1abXBQNkpFQUFBQUFBQUE0RCtnSWhRZ0NMZWdFSE1oRVNBUHR5QVVvUkJ6SUJGckloSkJBV3BCQWhDTEFTRU5RUUFoQ1FOQUlBa2dFa3dFUUNBRUlBa2dFV29pQ0VFQ2RDQUFhaWdDQUxJZ0NFRUNkQ0FCYWlnQ0FMSWdFQ0FLRUtZQlFRQklEUUlnRFNnQ0FDSUlJQWxCQVhRaUQwRURkR29nRUNvQ0FMczVBd0FnRDBFQmNrRURkQ0FJYWlBS0tnSUF1emtEQUNBSlFRRnFJUWtNQVFzTElBMGdEQ0FPSUFzUW5RVkJBRWdOQXlBSFFSaHNJQVZxSUF3b0FnQWlDQ3NEQ0NJVk9RTUFJQWRCR0d3Z0JXb2dDQ3NEQUpvaUZEa0RDQ0FIUVJoc0lBVnFJQlVnQ3lnQ0FDSUhLd01Bb2lBSEt3TUlJQlNpb0pvNUF4QWdEUkJKSUFJaEJ3d0JDd3NNQVFzZ0RCQkpJQXNRendFZ0RoRFBBVUVBSVFRRGYwRUFJQVJCQkU4TkFob2dCRUVEYWtFRGNTSUFRUmhzSUFWcUlnTXJBd0FnQkVFWWJDQUZhaXNEQ0NJVm9pQUVRUmhzSUFWcUlnSXJBd0FnQUVFWWJDQUZhaXNEQ0NJVW9xRWlGcGxFTFVNYzYrSTJHajlqQkg5QmZ3VWdCRUVFZENBR2FpQVVJQVJCR0d3Z0JXb2lBU3NERUtJZ0ZTQUFRUmhzSUFWcUlnQXJBeENpb1NBV296a0RBQ0FFUVFSMElBWnFJQUlyQXdBZ0FDc0RFS0lnQXlzREFDQUJLd01Rb3FFZ0ZxTTVBd2dnQkVFQmFpRUVEQUVMQ3d3QkN5QU5FRWtnREJCSklBc1F6d0VnRGhEUEFVRi9DeUVUSUFva0JpQVRDekFBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFrSGdBQkRaQXd0T0FRSi9RWUFCRUZFaUJpQUFFT0VERUtjSUlBQW9BZ2doQlNBQUlBWTJBZ2dnQlFSL0lBVVF4QUlnQlJBNElBQW9BZ2dGSUFZTFFRQVFnd0lnQUNBQUtBSUlJQUVnQWlBRElBUVE0QU1MWGdFRWZ5TUdJUU1qQmtFUWFpUUdJQU1nQWhDRUFpQURLQUlFSUFNb0FnQWlCV3RCQW5VaEJnTkFJQVFnQmtjRVFDQUVRUUowSUFWcUlBUTJBZ0FnQkVFQmFpRUVEQUVMQ3lBQUlBRWdBaUFGSUFZUXFBZ2dBeEJWSUFNa0JndEpBUUYvSUFCQkZCQlJJZ1EyQWdBZ0FDQUJRUWhxTmdJRUlBUWdBeWdDQUNnQ0FEWUNDQ0FFUVFBMkFnd2dCRUVBTmdJUUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FxZ2dnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xQd0VCZnlBQVFTUnFJZ0ZCREdwQmdBRVExd01nQVVFTWFoRFlBeUFCUVFnMkFtZ2dBVUVRTmdKc0lBRWdBRUVJYWlJQUVIUW9BZ0FnQUJCeEVLa0lDODhHQVFWL0l3WWhDQ01HUVNCcUpBWWdDRUVVYWlFR0lBRkZCRUFnQmtIQXlBTkJ4NVlDRURkQmtQa0JFRGRCNzZJQ0VEZEIxQUVRUGtIMm9nSVFOMEhVbHdJUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ1JRUkFJQVpCd01nRFFZajZBUkEzUVpENUFSQTNRZStpQWhBM1FkVUJFRDVCOXFJQ0VEZEJxUG9CRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMElnUW9BZ1FnQkNnQ0FFWUVRQ0FHUWNESUEwRzUrZ0VRTjBHUStRRVFOMEh2b2dJUU4wSFdBUkErUWZhaUFoQTNRZTM2QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGRUVBZ0JCQS9FQUFMSUFFUWRDZ0NBQ2dDQkNBQ0tBSUFSd1JBSUFaQndNZ0RRZjc2QVJBM1FaRDVBUkEzUWUraUFoQTNRZGNCRUQ1QjlxSUNFRGRCeC9zQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBLQUlBS0FJSUlBSW9BZ1JIQkVBZ0JrSEF5QU5CNnZzQkVEZEJrUGtCRURkQjc2SUNFRGRCMkFFUVBrSDJvZ0lRTjBISCt3RVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNJQUVROUFnZ0JpQUNFTUFDSWdRb0FnUWdCQ2dDQUd0QkpCQTVFSndJUVFBaEJBTkFJQVFnQWhEQUFpSUZLQUlFSUFVb0FnQnJRU1FRT1VrRVFDQUlJQUlRd0FJb0FnQWlCU0FFUVNSc2Fpb0NBQ0FFUVNSc0lBVnFLZ0lFSUFSQkpHd2dCV29xQWdnZ0JFRWtiQ0FGYWlvQ0hDQUVRU1JzSUFWcUtnSVlRd0FBQUFCZUVQd0RJQVlvQWdBZ0JFRVViR29pQlNBSUtRSUFOd0lBSUFVZ0NDa0NDRGNDQ0NBRklBZ3NBQkE2QUJBZ0JFRUJhaUVFREFFTEN5QURJQUFRaGdFZ0FTQUdFTFlISUFZUTJRSWdDQ1FHQ3k4QkFYOERRQ0FBUVFoSUlBRkJDRWh5UlFSQUlBSkJBV29oQWlBQlFRRjFJUUVnQUVFQmRTRUFEQUVMQ3lBQ0N5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFRGRCQkZHaUFBSUFGQkEzUWdBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVFOMEVFVWFJQUFnQVVFRGRDQUNhallDQkF1bEFRRUZmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGEwRURkU0FCU1FSQVFmLy8vLzhCSUFFZ0F5QUFLQUlBYTBFRGRXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJZ0FSQ3ZDQ0FBSUFJUXpRSWdBaERNQWdzRklBQWdBUkN3Q0FzZ0FpUUdDejBCQW44Z0FDZ0NCQ0FBS0FJQUlnSnJRUU4xSWdGQmdBaEpCRUFnQUVHQUNDQUJheEN4Q0FVZ0FVR0FDRXNFUUNBQUlBSkJnRUJyTmdJRUN3c0xOQUFnQUVHQXlBQVFod0VnQUVFWWFoQ3lDQ0FBUXdyWEl6dzRBaVFnQUVHQUNEWUNLQ0FBUWFnSU5nSXNJQUJCTWpZQ01Bc3FBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUFRc3dnTHhBRUJBWDhnQUVFQU5nSU1JQUJCQURZQ0VDQUFRUUEyQWhRZ0FFRkFheUlCUWdBM0FnQWdBVUlBTndJSUlBRkNBRGNDRUNBQVFZQ0FnUHdETmdKWUlBQkIzQUJxRU5FSUlBQkJvQUZxSWdFUWdna2dBRUc4QW1vUXVBY2dBRUVBTmdMOEJDQUFRUUEyQW9BRklBQkJBRFlDaEFVZ0FFTXpNek0vT0FLSUJTQUFRWXdGYWhERkJ5QUFRWlFHYWhDMENDQUJRd0FBUUVBNEFqUWdBVU1BQUlCQU9BSTRJQUZCOUFNUTl3TWdBRU1BQUVCQU9BSUVJQUJCQ0RZQ0FDQUFRUUU2QUFnTEpBRUNmd05BSUFBRVFDQUFLQUlBSVFJZ0FFRU1haEJWSUFBUU9DQUNJUUFNQVFzTEM0OEZBZzkvQVh3akJpRUVJd1pCNEFCcUpBWWdCRUV3YWlFSElBUkIzQUJxSVFNZ0JFSFlBR29oQlNBQlFSeHFJZ2dvQWdBaEN5QUJRZHk0QW1vaUNTZ0NBQ0VNSUFFb0FoaEJmMm9oRFVFQklRWURRQ0FHSUExSUJFQWdCaUFDSUFGQkhHb2dCa0VDZEdvb0FnQWdDMnNpQWlBQ2JDQUJRZHk0QW1vZ0JrRUNkR29vQWdBZ0RHc2lBaUFDYkdvaURpQUtTaUlQR3lFQ0lBWkJBV29oQmlBT0lBb2dEeHNoQ2d3QkN3c2dBMEVBTmdJQUlBVkJBRFlDQUNBSUlBbEJBQ0FDSUFDM1JBQUFBQUFBQU9nL28wUjdGSzVINFhxRVA2SWlFU0FISUFNUXF3RkJBRWdFZjBGL0JTQUlJQWtnQWlBQktBSVlRWDlxSUJFZ0JDQUZFS3NCUVFCSUJIOUJmd1VDZnlBREtBSUFJZ0JCQVVZZ0JTZ0NBQ0lHUVFGR2NRUkFJQVFvQWdBaEFDQUhLQUlBSVFNRkFuOGdCa1VnQUVFQlNuRUVRQ0FDUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWxCQUNBQUlCRWdCeUFERUtzQlFRQklEUU1hUVg4Z0NDQUpJQUFnQWlBUklBUWdCUkNyQVVFQVNBMERHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFNYUlBSWhBQ0FIS0FJQUlRTWdCQ2dDQUF3QkMwRi9JQUJGSUFaQkFVcHhSUTBDR2lBQktBSVlJQUpCZjJwcVFRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFrZ0FpQUFJQkVnQnlBREVLc0JRUUJJRFFJYVFYOGdDQ0FKSUFBZ0FTZ0NHRUYvYWlBUklBUWdCUkNyQVVFQVNBMENHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFJYUlBUW9BZ0FoQUNBQ0lRTWdCeWdDQUFzaEFnc2dBVUdjOFFScVFRQTJBZ0FnQVVHZzhRUnFJQU0yQWdBZ0FVR2s4UVJxSUFJMkFnQWdBVUdvOFFScUlBQTJBZ0FnQVVHczhRUnFJQUVvQWhoQmYybzJBZ0JCQUFzTEN5RVFJQVFrQmlBUUN5VUJBbjhEUUNBQUJFQWdBQ2dDQUNFQ0lBQkJER29RbFFFZ0FCQTRJQUloQUF3QkN3c0xLUUVCZnlBQUtBSUlFTGdJSUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFBb0FnUWFJQUVRT0FzTFNnRUNmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBRFlDRUNBQVFZQ0FnUHdETmdJVVFjZ0dFRkVpQWhDMUNDQUFLQUlBSVFFZ0FDQUNOZ0lBSUFFRVFDQUJFT29ESUFFUU9Bc0xNQUVDZnlBQVFRQTJBZ0JCR0JCUklnSVF1Z2dnQUNnQ0FDRUJJQUFnQWpZQ0FDQUJCRUFnQVJEckF5QUJFRGdMQzl3QkFnRi9CbjBnQlNvQ0FDSUlJQU1xQWdBaUI1TWhDU0FJSUFRcUFnQWlDSk1nQ1pRaENpQUhJQWlUSWdzZ0NaUWhDU0FLUXdBQUFBQmJJQWxEQUFBQUFGdHlJQXREQUFBQUFGdHlCSDhnQUVNQUFBQUFPQUlBSUFGREFBQUFBRGdDQUVNQUFBQUFJUWRCQUFVZ0FDQUZLZ0lFSUFRcUFnUWlESk1nQ3BVZ0F5b0NCQ0FNa3lBSmxaTWlDVGdDQUNBQklBTXFBZ1FnQkNvQ0JKTWdDQ0FJbENBSElBZVVJZ2VUSUFtVWtpQUxsU0lJT0FJQUlBTXFBZ1FnQnlBQUtnSUFsSk1nQ0NBREtnSUFsSk1oQjBFQkN5RUdJQUlnQnpnQ0FDQUdDNlFCQWdKL0FuMGdBU29DQUNFR0lBSkJmMm9pQTBFQ2RDQUJhaUlFS2dJQUlRVkJBQ0VDQTBBZ0FpQURSd1JBSUFKQkFuUWdBR29nQlVHSWhnRXFBZ0NVSUFKQkFuUWdBV29xQWdBaUJVR01oZ0VxQWdDVWtrR1FoZ0VxQWdBZ0FrRUJhaUlDUVFKMElBRnFLZ0lBbEpJNEFnQU1BUXNMSUFOQkFuUWdBR29nQlVHSWhnRXFBZ0NVUVl5R0FTb0NBQ0FFS2dJQWxKSWdCa0dRaGdFcUFnQ1VramdDQUF2MkJ3RU1meU1HSVFjakJrR2c4UVJxSkFZZ0IwR1E4UVJxSVEwZ0IwR0k4UVJxSVE0Z0IwR0E4UVJxSVFnZ0IwSEF1QUpxSVF3Z0J5RUxJQVFvQWdRaENpQUVLQUlBSWdraEJ5QUpJQUVnQkNnQ0NDSUpiR3BCQVhRZ0FHb2hCZ0ovQWtBRFFBSkFJQWNnQ2tvTkFpQUdMZ0VBSWdSQkFFb0VRQ0FESUFSQmYycEJBblFnQW1vb0FnQkdEUUVMSUFkQkFXb2hCeUFHUVFKcUlRWU1BUXNMSUFkQmYwWU5BQ0FGUVFFMkFoZ2dCU0FITmdJY0lBVkIzTGdDYWlJUElBazJBZ0JCQlNFR0lBa2hCQ0FISVFOQkFTRUNBa0FDUUFOQUFrQWdBU0FFYkNBRGFrRUJkQ0FBYWlFUVFRQWhDQ0FHUVFWcUlRWUNRQUpBQTBBZ0JrRUlFRThoQmlBSVFRaFBEUUVnQmtFQ2RFSEFDR29vQWdBaUJDQUJJQVpCQW5SQm9BaHFLQUlBSWdwc2FrRUJkQ0FRYWk0QkFFRUFUQVJBSUFoQkFXb2hDQ0FHUVFGcUlRWU1BUXNMREFFTElBaEJDRVlOQVNBR1FRSjBRY0FJYWlnQ0FDRUVJQVpCQW5SQm9BaHFLQUlBSVFvTElBVkJIR29nQWtFQ2RHb2dBeUFFYWpZQ0FDQUZRZHk0QW1vZ0JTZ0NHQ0lDUVFKMGFpQUNRUUowSUFWcVFkaTRBbW9vQWdBZ0NtbzJBZ0FnQnlBRlFSeHFJQVVvQWhnaUEwRUNkR29pQ0NnQ0FFWUVRQ0FKSUFWQjNMZ0NhaUFEUVFKMGFpZ0NBRVlOQXdzZ0JTQURRUUZxSWdJMkFoZ2dBa0dQemdCR0RRTWdCVUhjdUFKcUlBTkJBblJxS0FJQUlRUWdDQ2dDQUNFRERBRUxDMEVBUVFOQjVLZ0JJQTRRUFVGL0RBTUxRUUFoQUVFQUlRWkJBU0VCQTBBZ0FTQURTQVJBSUFFZ0FDQUZRUnhxSUFGQkFuUnFLQUlBSUFkcklnQWdBR3dnQlVIY3VBSnFJQUZCQW5ScUtBSUFJQWxySWdBZ0FHeHFJZ0lnQmtvaUJCc2hBQ0FDSUFZZ0JCc2hCaUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUVnRVFDQUJRUUowSUF4cUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0FVRUNkQ0FMYWlBRlFkeTRBbW9nQVVFQ2RHb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUFJUUVEUUNBQklBTklCRUFnQlVFY2FpQUJJQUJySWdKQkFuUnFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdCVUhjdUFKcUlBSkJBblJxSUFWQjNMZ0NhaUFCUVFKMGFpZ0NBRFlDQUNBQlFRRnFJUUVnQlNnQ0dDRUREQUVMQzBFQUlRRURRQ0FCSUFCSUJFQWdCVUVjYWlBQklBQnJJZ0lnQlNnQ0dHcEJBblJxSUFGQkFuUWdER29vQWdBMkFnQWdCVUhjdUFKcUlBSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0Myb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUZRUnhxSUFVb0FoaEJBblJxSUFVb0FodzJBZ0FnQlVIY3VBSnFJQVVvQWhoQkFuUnFJQThvQWdBMkFnQWdCU0FGS0FJWVFRRnFOZ0lZUVFBTUFndEJBRUVEUWV1b0FTQU5FRDFCZnd3QkMwRUFRUU5CM2FnQklBZ1FQVUYvQ3lFUklBc2tCaUFSQzhRSUFnVi9BWDBqQmlFRkl3WkJFR29rQmlBQVJRUkFJQVZCd01nRFFjTHJBUkEzUWVickFSQTNRZStpQWhBM1FZc0JFRDVCOXFJQ0VEZEI1dXdCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQVVNQUFBQS9ra01BQUFBQVhnUkFJQUZEQUFBQXY1SWlDU0FEc2wwRVFDQUNRd0FBQUFCZ1JRUkFJQVZCd01nRFFlbnRBUkEzUWVickFSQTNRZStpQWhBM1FZMEJFRDVCOXFJQ0VEZEJqKzRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQTBGL1RBUkFJQVZCd01nRFFhenVBUkEzUWVickFSQTNRZStpQWhBM1FZNEJFRDVCOXFJQ0VEZEIwZTRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXREQUFDQVB5QUJJQW1PRUVNaUJMS1RRd0FBQUwrU0lnbVRJUUVnQXlBRWFpQURFRThoQmlBRVFRRnFJQU1RVHlFSUlBRkRBQUFBQUdCRkJFQWdCVUhBeUFOQjd1NEJFRGRCNXVzQkVEZEI3NklDRURkQmxnRVFQa0gyb2dJUU4wR043d0VRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUU1nQkVFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQlJBOElBY2dBeEJBSUFjUVB4QUFDeUFKUXdBQUFBQmdSUVJBSUFWQndNZ0RRYUh2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmNCRUQ1QjlxSUNFRGRCd084QkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0JrRi9UQVJBSUFWQndNZ0RRZFR2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmdCRUQ1QjlxSUNFRGRCaFBBQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0NFRi9TZ1JBSUFaQkFuUWdBR29pQXlBQklBS1VJQU1xQWdDU09BSUFJQWhCQW5RZ0FHb2lBQ0FKSUFLVUlBQXFBZ0NTT0FJQUlBVWtCZzhGSUFWQndNZ0RRWjd3QVJBM1FlYnJBUkEzUWUraUFoQTNRWmtCRUQ1QjlxSUNFRGRCenZBQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFQUlBTkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBVVFQQ0FFSUFBUVFDQUVFRDhRQUFzTEN5QUZRY0RJQTBHQTdRRVFOMEhtNndFUU4wSHZvZ0lRTjBHTUFSQStRZmFpQWhBM1FjSHRBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFGUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FGRUR3Z0JDQUFFRUFnQkJBL0VBQUxRd0FnQUVNQUFNQkFraUFBbEVNQUFQQkJraUFBbEVNQUFQQkNraUFBbEVNQUFMUkRraUFBbEVNQUFEUkVraUFBbEVNQUFEUkVrcnRFT1d4Uy9tdkJWaitpdGd2NERBSU9md045SXdZaERDTUdRVEJxSkFZZ0RFRWdhaUVLSUFWREFBQUFBR0JGQkVBZ0NrSEF5QU5CNmVjQkVEZEJ2dVlCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHSDZBRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlFc3lBRlhrVUVRQ0FLUWNESUEwR2E2QUVRTjBHKzVnRVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZXJvQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFaREFBQUFBR0JGQkVBZ0NrSEF5QU5CanVrQkVEZEJ2dVlCRURkQjc2SUNFRGRCK1FBUVBrSDJvZ0lRTjBHczZRRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlJc3lBR1hrVUVRQ0FLUWNESUEwRy82UUVRTjBHKzVnRVFOMEh2b2dJUU4wSDZBQkErUWZhaUFoQTNRWkRxQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFBb0FpZ2dCQ0FESUFBb0FnUnNha0VGZEdvaUNTZ0NFRUVDUndSQUlBcEJ3TWdEUWJYcUFSQTNRYjdtQVJBM1FlK2lBaEEzUWY0QUVENUI5cUlDRURkQjN1b0JFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQXBCZ000REVEb2lCQ2dDQUNnQ0hDRUlJQVJCQ2lBSVFUOXhRWW9CYWhFQ0FDRUVJQW9RUENBRElBUVFRQ0FERUQ4UUFBc2dERUVZYWlFTElBeEJFR29oRHlBTVFReHFJUkFnREVFSWFpRVJJQXhCQkdvaEVpQUNRUUEyQWdBZ0JVTUFBQUEva2hCRElRTWdCa01BQUFBL2toQkRJUVFnQTBFQVRnUkFJQVJCQUVnZ0NTZ0NCQ0FEVFhKRkJFQWdDU2dDQ0NBRVN3UkFBa0JEQUFDQXYwTUFBSUEvSUFBcUFnd2dCNVFpQjBNQUFJQS9JQWRlR3lJSEVHbERBQUFBUUpTVklSY2dCeUFBS2dJUWxDSUhFR21OSVJoQkFDQURJQWREQUFBQVA1SVFReUlOYXhER0FTRUlJQU1nRFdvZ0NTZ0NCRUYvYWhDRkFpRU9RUUFnQkNBTmF4REdBU0VESUFRZ0RXb2dDU2dDQ0VGL2FoQ0ZBaUVOSUFBb0Fod2lCRUVBSUFBb0FpQWdCR3RCQW5WQkFuUVFSUm9EUUNBRElBMU1CRUFnQTdJZ0JwTVFhU0VISUFrZ0F4QlFJUk1nQ0NFRUEwQWdCQ0FPVEFSQUlBY2dCTElnQlpNUWFaSWlGaUFZWGtVRVFDQVhJQmFVRU1BSUlSWWdBQ2dDSENBRVFRTjBJQk5xSWhRcUFnQWdBQ2dDQ0NJVnNwUzdSSGZJeVcwd1g4US9vcllnRmlBVUtnSUVsQ0FWRUw4SUN5QUVRUUZxSVFRTUFRc0xJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFBS0FJVVNBUkFJQUFvQWh3aUJDQUVJQUFvQWdnUXZRZ2dBMEVCYWlFRERBRUxDeUFBS0FJSUlRTkJBQ0VFUXdBQUFBQWhCUU5BSUFRZ0EwZ0VRQ0FBS0FJY0lBUkJBblJxS2dJQUlRWWdCRUVCYWlFRUlBWWdCU0FHSUFWZUd5RUZEQUVMQ3lBRlF3QUFBQUJjQkVBZ0JVTUFBQUFBWGtVRVFDQUtRY0RJQTBIOTZnRVFOMEcrNWdFUU4wSHZvZ0lRTjBIYUFSQStRZmFpQWhBM1FhUHJBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2dvQWdBb0Fod2hDU0FJUVFvZ0NVRS9jVUdLQVdvUkFnQWhDQ0FLRUR3Z0JDQUlFRUFnQkJBL0VBQUxRUUFoQkFOQUlBUWdBMDROQWlBS0lBU3lJZ2M0QWdBZ0NpQUFLQUljSWdnZ0JFRUNkR29pQ1NnQ0FDSU5OZ0lFSUFzZ0JFRi9haUlPc2pnQ0FDQUxJQU1nRG1vZ0F4QlBRUUowSUFocUtBSUFJZzQyQWdRZ0R5QUVRUUZxSWdTeU9BSUFJQThnQXlBRWFpQURFRTlCQW5RZ0NHb29BZ0FpQ0RZQ0JDQU52aUVHSUFrcUFnQWdCU0FBS2dJWWxGNEVRQ0FHSUE2K1hpQUdJQWkrWG5FRVFDQU1JQWM0QWdBZ0VDQVJJQklnQ3lBS0lBOFF2QWdFUUNBUktnSUFJUVlnRWlvQ0FCb2dFQ29DQUNJSFF3QUFBQUJjQkVBZ0RDQUdqQ0FIUXdBQUFFQ1VsVGdDQUFzTElBd3FBZ0JEQUFBQVA1SWdBQ2dDQ0xJaUJwSWdCcFc3UkJndFJGVDdJUmxBb2tRWUxVUlUreUVaUUJBZXRpRUdJQUlvQWdBaUEwRUNkQ0FCYWlBR09BSUFJQUlnQTBFQmFqWUNBQ0FBS0FJSUlRTUxDd3dBQUFzQUN3c0xDd3NnRENRR0MrVUJBUU4vSXdZaEJDTUdRUkJxSkFZQ1FBTkFJQUlnQVJCMElnTW9BZ1FnQXlnQ0FHdEJCWFZKQkVBZ0FSQjBLQUlBSUFKQkJYUnFJZ01vQWdRZ0F5Z0NERUVDZGtjTkFpQUFLQUlvSUFKQkJYUnFLQUlZSUFNb0FoZ2dBeWdDQkNBREtBSUlFTVVJSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NnQkVIQXlBTkJnZVlCRURkQnZ1WUJFRGRCNzZJQ0VEZEI0QUFRUGtIMm9nSVFOMEhBNXdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JCQThJQUFnQVJCQUlBQVFQeEFBQzdzQkFRVi9JQUFnQXpZQ0FDQUFJQVEyQWdRZ0FFRWtOZ0lJSUFCREFBQkFRRGdDRENBQVF3QUF3RDg0QWhBZ0FFRUZOZ0lVSUFCRHpjeE1QemdDR0NBQVFSeHFRU1FRaHdFZ0FDSUdRU2hxSUFBb0FnQWdBQ2dDQkd3UTFBSkJBQ0VBQTBBZ0FDQURSd1JBSUFBZ0JHd2hCeUFCSUFCMklRZ2dBaUFBZGlFSlFRQWhCUU5BSUFRZ0JVY0VRQ0FHS0FJb0lBVWdCMnBCQlhScVFRSWdDQ0FKUVFJUXR3SWdCVUVCYWlFRkRBRUxDeUFBUVFGcUlRQU1BUXNMQ3pNQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SU1JQUJDQURjQ0ZDQUFRZ0EzQWh3Z0FFSUFOd0lrSUFCQ0FEY0NMQXVOQndJSmZ3SjlJQUpCZjJvaENTQUJRUVJxSWdRcUFnQWdBU29DQUNJTmt5RU9JQUFnQWtFQ2RDQUJhaUlHS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlFUVFFaENDQUdJUWNEUUNBQVFRaHFJUVVnQjBFRWFpRUhJQWdnQ1VrRVFDQUZJQWNxQWdBZ0JDb0NBSk1pRGlBRVFRUnFJZ29xQWdBZ0JFRjhhaW9DQUpNaURSQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTBnRFpRZ0RpQU9sSktST0FJTUlBaEJBV29oQ0NBS0lRUWdCU0VBREFFTEN5QURRWDlxSVF3Z0JDb0NBQ0lOSUFSQmZHb3FBZ0NUSVE0Z0JTQUhLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQ0NBRklRTWdBa0VDZENBR2FpRUVJQUVoQlFOQUlBTkJDR29oQUNBSUlBeEpCRUFnQUNBRUtnSUFJQVVxQWdDVElnNGdCa0VFYWlJQUtnSUFJQVlxQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0RFRUJJUXNnQTBFUWFpRURBMEFnQkVFRWFpRUhJQVZCQkdvaEJpQUxJQWxKQkVBZ0F5QUhLZ0lBSUFZcUFnQ1RJZzRnQUVFRWFpSUtLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBTFFRRnFJUXNnQnlFRUlBWWhCU0FLSVFBZ0EwRUlhaUVEREFFTEN5QURJQWNxQWdBZ0Jpb0NBSk1pRGlBQUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FJUVFGcUlRZ2dCRUVJYWlFRUlBVkJDR29oQlNBQVFRUnFJUVlNQVFzTElBSWdER3hCQW5RZ0FXb2lBVUVBSUFKclFRSjBhaUVDSUFGQkJHb2lCQ29DQUNBQktnSUFJZzJUSVE0Z0FDQU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FESUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQlNBQUlRRWdCQ0VBQTBBZ0FVRUlhaUVESUFKQkJHb2hBaUFGSUFsSkJFQWdBeUFBS2dJQUlBSXFBZ0NUSWc0Z0FFRUVhaUlFS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBU0FOSUEyVUlBNGdEcFNTa1RnQ0RDQUZRUUZxSVFVZ0F5RUJJQVFoQUF3QkN3c2dBQ29DQUNJTklBQkJmR29xQWdDVElRNGdBeUFOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQklBNGdEcFFnRFNBTmxKS1JPQUlNQ3hzQUlBQkJCR29pQUN3QUMwRUFTQVJBSUFBb0FnQWhBQXNnQUFzTEFDQUFFTzBESUFBUU9BditCZ0VFZnlNR0lRUWpCa0VRYWlRR0lBRW9BZ0JCQVVjRVFDQUVRY0RJQTBIWDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBIS0FoQStRZmFpQWhBM1FZcmlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWhCQkFVY0VRQ0FFUWNESUEwR2k0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSExBaEErUWZhaUFoQTNRYy9pQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FoQWdBQ2dDRkd3Z0FDZ0NDQ0FBS0FJRWEwRUZkVWNFUUNBRVFjRElBMEhwNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUWJQakFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ1FnQUNnQ0JDZ0NCRWNFUUNBRVFjRElBMEhXNHdFUU4wR1o0QUVRTjBIdm9nSVFOMEhPQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ2dnQUNnQ0JDZ0NDRWNFUUNBRVFjRElBMEd5NUFFUU4wR1o0QUVRTjBIdm9nSVFOMEhQQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQWdBQ2dDQkNBQkVPQUJJQUFnQUNnQ0JDSUJRU0JxSUFFUTRBRWdBQ0FBS0FJRUlnRkJRR3NnQVVFZ2FoRHVBMEVCSVFFRFFDQUJJQUFvQWhCSkJFQWdBQ2dDQkNBQklBQW9BaFJzUVFWMGFpZ0NHQ0FBS0FJRUlBRWdBQ2dDRkd4QmYycEJCWFJxS0FJWUlBQW9BZ1FnQVNBQUtBSVViRUYvYWtFRmRHb29BZ1FnQUNnQ0JDQUJJQUFvQWhSc1FYOXFRUVYwYWlnQ0NCRFVDQ0FBSUFBb0FnUWlBaUFCSUFBb0FoUnNJZ05CQVdwQkJYUnFJQU5CQlhRZ0Ftb1E0QUVnQUNBQUtBSUVJZ0lnQVNBQUtBSVViQ0lEUVFKcVFRVjBhaUFEUVFGcVFRVjBJQUpxRU80RElBRkJBV29oQVF3QkN3c2dCQ1FHQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJmbW9pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVCZFd0QkFYUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lJQzI4QkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUVBU0FSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVCZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFGMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUJkQ0FFYWpZQ0RBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJRUM2QUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUYxSUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCclFRRjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJXc2lCQ0FFSUFOSkcwSC8vLy8vQnlBRVFRRjFRZi8vLy84RFNSc2dBQ2dDQkNBRmEwRUJkU0FBUVFocUVNd0lJQUlnQVJETENDQUFJQUlReWdnZ0FoREpDQXNGSUFBZ0FSRE5DQXNnQWlRR0N6d0JBbjhnQUNnQ0JDQUFLQUlBSWdOclFRRjFJZ0lnQVVrRVFDQUFJQUVnQW1zUXpnZ0ZJQUlnQVVzRVFDQUFJQUZCQVhRZ0EybzJBZ1FMQ3d1YkFRRUdmeUFBSUFNUTBnZ2dBRUVFYWlJR0lBTWdBQ2dDRkd3UTFBSURRQ0FFSUFOSUJFQWdBU0FFZGlFSElBSWdCSFloQ0VFQUlRVURRQ0FGSUFBb0FoUWlDVWtFUUNBR0tBSUFJQVVnQkNBSmJHcEJCWFJxUVFJZ0J5QUlRUUVRdHdJZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xJQUJCSUdvZ0FTQUNiQ0lCRU04SUlBQkJMR29nQVJDSEFTQUFRVGhxSUFFUWh3RUxPQUFnQUJEVENDQUFRZHlGQVRZQ0FDQUFRU0JxSWdCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUlBTndJUUlBQkNBRGNDR0NBQVFRQTJBaUFMTlFFQmZTQUFJQUUyQWhBZ0FFRUROZ0lVSUFCRUFBQUFBQUFBNEQ4UUk3WWlBamdDR0NBQVF3QUFnRDhnQWhEU0FaVTRBaHdMTEFBZ0FFSHNoUUUyQWdBZ0FFRUVhaUlBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFRQTJBaGdMbndFQkIzOGdBa0VCZGlFSUlBTkJBWFloQ1NBQ1FRRjBJUW9EUUNBRUlBbEhCRUJCQUNFR0lBUWdDbXhCQW5RZ0FXb2lBeUFDUVFKMGFpRUZJQUFoQndOQUlBWWdDRWNFUUNBSElBTXFBZ0FnQXlvQ0JKSWdCU29DQUpJZ0JTb0NCSkpEQUFDQVBwUTRBZ0FnQmtFQmFpRUdJQVZCQ0dvaEJTQURRUWhxSVFNZ0IwRUVhaUVIREFFTEN5QUVRUUZxSVFRZ0NFRUNkQ0FBYWlFQURBRUxDd3V1Q3dJTGZ3RjlJd1loQ3lNR1FSQnFKQVlnQTBFRVRRUkFJQXRCd01nRFFmZmZBUkEzUVpuZ0FSQTNRZStpQWhBM1FhZ0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkVFRVRRUkFJQXRCd01nRFFiVGhBUkEzUVpuZ0FSQTNRZStpQWhBM1Fha0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU1JQU5CZm1vaENTQURRWDFxSVEwZ0EwRjhhaUVPSUFFaEJ3TkFJQVFnQ0VjRVFDQURJQWhzUVFKMElBSnFJZ1lxQWdBaEVDQUhJQVlxQWdnZ0VDQVFRd0FBd0VDVUlCQWdCaW9DQkpKREFBQ0FRSlNTa3BJNEFnQWdCeUFHS2dJTUlBWXFBZ0FpRUNBR0tnSUVRd0FBd0VDVUlCQWdCaW9DQ0pKREFBQ0FRSlNTa3BJNEFnUkJBaUVGSUFkQkNHb2hDZ05BSUFVZ0NVY0VRQ0FLSUFWQkFtcEJBblFnQm1vcUFnQWdCVUYrYWtFQ2RDQUdhaW9DQUNBRlFRSjBJQVpxS2dJQVF3QUF3RUNVSUFWQmYycEJBblFnQm1vcUFnQWdCVUVCYWlJRlFRSjBJQVpxS2dJQWtrTUFBSUJBbEpLU2tqZ0NBQ0FLUVFScUlRb01BUXNMSUFsQkFuUWdCMm9pQlNBTVFRSjBJQVpxSWdvcUFnQWlFQ0FPUVFKMElBWnFLZ0lBSUFsQkFuUWdCbW9pRHlvQ0FFTUFBTUJBbENBTlFRSjBJQVpxSWdZcUFnQWdFSkpEQUFDQVFKU1NrcEk0QWdBZ0JTQUtLZ0lBSWhBZ0Jpb0NBQ0FRUXdBQXdFQ1VJQkFnRHlvQ0FKSkRBQUNBUUpTU2twSTRBZ1FnQTBFQ2RDQUhhaUVISUFoQkFXb2hDQXdCQ3dzZ0JFRithaUVOUVFBaENTQURRUUowSUFGcUlnSWdBMEVDZEdvaUNDRUtJQUloQlNBQklRY2dBQ0VHQTBBZ0F5QUpSd1JBSUFZZ0Npb0NBQ0FIS2dJQUloQWdFRU1BQU1CQWxDQVFJQVVxQWdDU1F3QUFnRUNVa3BLU1F3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRUnFJUW9nQlVFRWFpRUZJQWRCQkdvaEJ5QUdRUVJxSVFZTUFRc0xRUUFoQmlBRFFRSjBJQWhxSVFrZ0NDRUZJQUVoQnlBRFFRSjBJQUJxSVFnRFFDQURJQVpIQkVBZ0NDQUpLZ0lBSUFjcUFnQWlFQ0FDS2dJQVF3QUF3RUNVSUJBZ0JTb0NBSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWxCQkdvaENTQUZRUVJxSVFVZ0FrRUVhaUVDSUFkQkJHb2hCeUFJUVFScUlRZ01BUXNMUVFJaENBTkFJQWdnRFVjRVFFRUFJUWtnQXlBSVFYNXFiRUVDZENBQmFpSUdJQU5CQW5ScUlnY2dBMEVDZEdvaUJTQURRUUowYWlJQ0lBTkJBblJxSVFvZ0F5QUliRUVDZENBQWFpRU1BMEFnQXlBSlJ3UkFJQXdnQ2lvQ0FDQUdLZ0lBSUFVcUFnQkRBQURBUUpRZ0J5b0NBQ0FDS2dJQWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUpRUUZxSVFrZ0NrRUVhaUVLSUFKQkJHb2hBaUFGUVFScUlRVWdCMEVFYWlFSElBWkJCR29oQmlBTVFRUnFJUXdNQVFzTElBaEJBV29oQ0F3QkN3dEJBQ0VHSUFNZ0JFRjhhbXhCQW5RZ0FXb2lCeUFEUVFKMGFpSUZJQU5CQW5ScUlnSWdBMEVDZEdvaENDQURJQTFzUVFKMElBQnFJUWtEUUNBRElBWkhCRUFnQ1NBSUtnSUFJaEFnQnlvQ0FDQUNLZ0lBUXdBQXdFQ1VJQVVxQWdBZ0VKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBaEJCR29oQ0NBQ1FRUnFJUUlnQlVFRWFpRUZJQWRCQkdvaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFKMElBRnFJZ0lnQTBFQ2RHb2lBU0FEUVFKMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWNxQWdBaUVDQUNLZ0lBSUJCREFBREFRSlFnQVNvQ0FDQVFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FGUVFGcUlRVWdCMEVFYWlFSElBRkJCR29oQVNBQ1FRUnFJUUlnQUVFRWFpRUFEQUVMQ3lBTEpBWUx6Z29CREg4akJpRU1Jd1pCRUdva0JpQURRUVJOQkVBZ0RFSEF5QU5COTk4QkVEZEJtZUFCRURkQjc2SUNFRGRCTnhBK1FmYWlBaEEzUWFIaEFSQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QU1RWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QU1FRHdnQlNBSEVFQWdCUkEvRUFBTElBUkJCRTBFUUNBTVFjRElBMEcwNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEU0RUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBeEJnTTRERURvaUJ5Z0NBQ2dDSENFSUlBZEJDaUFJUVQ5eFFZb0JhaEVDQUNFSElBd1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVOSUFOQmZtb2hDaUFEUVgxcUlRNGdBMEY4YWlFUElBRWhDQU5BSUFRZ0NVY0VRQ0FJSUFJZ0F5QUpiR29pQmkwQUFDSUZJQVl0QUFGcVFRSjBJQVl0QUFJZ0JVRUhiR3BxT3dFQUlBZ2dCaTBBQUNJRklBWXRBQUpxUVFKMElBWXRBQU1nQmkwQUFVRUdiQ0FGYW1wcU93RUNRUUloQlNBSVFRUnFJUXNEUUNBRklBcEhCRUFnQ3lBRlFRSnFJQVpxTFFBQUlBVkJmbW9nQm1vdEFBQWdCU0FHYWkwQUFFRUdiR29nQlVGL2FpQUdhaTBBQUNBRlFRRnFJZ2NnQm1vdEFBQnFRUUowYW1vN0FRQWdCeUVGSUF0QkFtb2hDd3dCQ3dzZ0NrRUJkQ0FJYWlJRklBWWdEV29pQ3kwQUFDSVFJQVlnRG1vaUJ5MEFBR3BCQW5RZ0JpQVBhaTBBQUNBR0lBcHFJZ1l0QUFCQkJtd2dFR3BxYWpzQkFDQUZJQXN0QUFBaUJTQUdMUUFBYWtFQ2RDQUhMUUFBSUFWQkIyeHFhanNCQWlBRFFRRjBJQWhxSVFnZ0NVRUJhaUVKREFFTEN5QUVRWDVxSVExQkFDRUpJQU5CQVhRZ0FXb2lBaUFEUVFGMGFpSUdJUW9nQWlFRklBRWhCeUFBSVFnRFFDQURJQWxIQkVBZ0NDQUtMd0VBSUFjdkFRQWlDeUFGTHdFQWFrRUNkQ0FMUVFkc2FtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0JVRUNhaUVGSUFkQkFtb2hCeUFJUVFScUlRZ01BUXNMUVFBaENDQURRUUYwSUFacUlRa2dCaUVGSUFFaEJ5QURRUUowSUFCcUlRWURRQ0FESUFoSEJFQWdCaUFKTHdFQUlBY3ZBUUFpQ2lBRkx3RUFha0VDZENBQ0x3RUFRUVpzSUFwcWFtcXlRd0FBZ0R1VU9BSUFJQWhCQVdvaENDQUpRUUpxSVFrZ0JVRUNhaUVGSUFKQkFtb2hBaUFIUVFKcUlRY2dCa0VFYWlFR0RBRUxDMEVDSVFZRFFDQUdJQTFIQkVCQkFDRUpJQU1nQmtGK2FteEJBWFFnQVdvaUNDQURRUUYwYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVLSUFNZ0JteEJBblFnQUdvaEN3TkFJQU1nQ1VjRVFDQUxJQW92QVFBZ0NDOEJBQ0FGTHdFQVFRWnNhaUFITHdFQUlBSXZBUUJxUVFKMGFtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0FrRUNhaUVDSUFWQkFtb2hCU0FIUVFKcUlRY2dDRUVDYWlFSUlBdEJCR29oQ3d3QkN3c2dCa0VCYWlFR0RBRUxDMEVBSVFnZ0F5QUVRWHhxYkVFQmRDQUJhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUdJQU1nRFd4QkFuUWdBR29oQ1FOQUlBTWdDRWNFUUNBSklBWXZBUUFpQ2lBSEx3RUFJQUl2QVFCQkJteHFJQVV2QVFBZ0NtcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0NFRUJhaUVJSUFaQkFtb2hCaUFDUVFKcUlRSWdCVUVDYWlFRklBZEJBbW9oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUYwSUFGcUlnSWdBMEVCZEdvaUFTQURRUUYwYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3ZBUUFpQkNBQ0x3RUFJQVJCQm14cUlBUWdBUzhCQUdwQkFuUnFhckpEQUFDQU81UTRBZ0FnQlVFQmFpRUZJQWRCQW1vaEJ5QUJRUUpxSVFFZ0FrRUNhaUVDSUFCQkJHb2hBQXdCQ3dzZ0RDUUdDNVFaQWhaL0JYd2pCaUVJSXdaQlFHc2tCaUFJUVNCcUlRb2dDRUVZYWlFTklBaEJOR29oQkNBSVFTaHFJUVVnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBRUVzYWlJTFFRQTJBZ0FDUUFKQUlBQkI5SWF2QTJvaUR5Z0NBQ0lDUVFSSERRQUNRQ0FBUWZ5R3J3TnFJZ3dvQWdBaUFrRUFTZ1JBSUF3Z0FrRi9hallDQUFVQ1FDQUVJQUFvQWhBaUJ5QUFRWUNIcndOcUlnWW9BZ0JxSWdKQi93RWdBa0gvQVVnYkloQTJBZ0FnQkNBSElBQkJoSWV2QTJvaUNTZ0NBR3NpQWtFQUlBSkJBRW9iSWhFMkFnUWdCQ0FITmdJSUlBQkI0SWFuQW1vaEF5QUFRYmo0QUdvaERpQUFRYkQ0QUdvaEVpQUFRZkNHcndOcUlSTWdBRUdRaDY4RGFpRVVJQUJCTUdvaEZTQUFRWmlIcndOcUlSWkJBQ0VDQWtBQ1FBTkFJQUpCQTBrRVFDQUJLQUlNSUFBb0FpUWdBQ2dDS0NBQUtBSUFJQUFvQWd3Z0FrRUNkQ0FFYWlnQ0FDQUFLQUlVSUFOQkFCQzZBa0VBU0EwQ0lBQW9BaVFnQUNnQ0tDQURJQUFvQWhRZ0RpQVNFT3dEUVFCSURRSWdBU2dDQUNBQUtBSWtJQUFvQWlnZ0FDZ0NCQ0FPSUJJb0FnQWdFeWdDQUNBQUtBSVVJQUFvQWhnZ0FDZ0NJRUc0QVdvZ0ZDc0RBQ0FWSUFzZ0ZpZ0NBQkRlQTBFQVNBMENJQUpCQW5RZ0JXb2dDeWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xEQUVMUVg4TUJnc2dBQ2dDQUVFQlJnUkFJQVVvQWdRaERpQUZLQUlJSVFNZ0JTZ0NBQ0VDSUFnZ0VUWUNBQ0FJSUE0MkFnUWdDQ0FITmdJSUlBZ2dBellDRENBSUlCQTJBaEFnQ0NBQ05nSVVRUUJCQTBHaXB3RWdDQkE5QlNBRktBSUFJUUlnQlNnQ0NDRURDeUFDSUFOS0lBVW9BZ1FpQlNBRFNuSUVRQ0FBSUJFZ0VDQUNJQVZJR3lJQ05nSVFJQWtnQWlBSGF5SURRUUJLQkg4Z0JpQUROZ0lBUVFFRklBWkJBVFlDQUVFQUlBTnJDellDQUNBQUtBSUFRUUZHQkVBZ0RTQUNOZ0lBUVFCQkEwSHVwd0VnRFJBOUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFRc2dCaWdDQUNJQklBa29BZ0FpQWtnRVFDQUdJQUZCQVdvaUFUWUNBQVVnQVNBQ1RBUkFJQVlnQVVFQmFpSUJOZ0lBQ3lBSklBSkJBV28yQWdBTElBY2dBU0FIYWtIK0FVb0VmeUFHUVFFMkFnQkJBUVVnQVF0TUJFQWdDVUVCTmdJQUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFnc0xJQThvQWdBaEFnd0JDd3dCQ3dKQUFrQUNRQUpBSUFKQkFXc09Bd0VCQUFJTElBQkJpSWV2QTJvaUFpZ0NBQ0FCS0FJTUVOZ0hJZ05CQUVnRVFDQUREQVVMSUFFb0Fnd2dBaWdDQUNJREtBSUVJQU1vQWdnZ0FDZ0NBQ0FBS0FJTVFRQkJBQ0FBUWVDR3B3SnFJZ0lnQXlnQ0FCQzZBaUlEUVFCSUJFQWdBd3dGQ3lBQVFTUnFJUU1nQUVFb2FpRUVJQUJCRkdvaEJRd0NDeUFBUWZ5R3J3TnFJZ01vQWdBaUJVRUFTZ1JBSUFNZ0JVRi9hallDQUF3QkN5QUFRWWlIcndOcUtBSUFJUVVnQVNnQ0RDRUhJQUpCQVVZRWZ5QUZJQWNnQkJEa0J3VWdCU0FISUFRUTRBY0xJZ0pCQUVnRVFDQUNEQVFMSUFBb0FnQkJBVVlFUUNBRUxRQUFJZ0lnQUNnQ0VFY0VRQ0FLUWFLb0FVR3BxQUVnRHlnQ0FFRUJSaHMyQWdBZ0NpQUNOZ0lFUVFCQkEwR3VxQUVnQ2hBOUN3c2dBQ0FFTFFBQU5nSVFJQU1nQUVINGhxOERhaWdDQURZQ0FBdEJmeUFCS0FJTUlBQkJKR29pQXlnQ0FDQUFRU2hxSWdRb0FnQWdBQ2dDQUNBQUtBSU1JQUFvQWhBZ0FFRVVhaUlGS0FJQUlBQkI0SWFuQW1vaUFrRUFFTG9DUVFCSURRSWFDMEYvSUFNb0FnQWdCQ2dDQUNBQ0lBVW9BZ0FnQUVHNCtBQnFJZ0lnQUVHdytBQnFJZ2NRN0FOQkFFZ05BUnBCZnlBQktBSUFJQU1vQWdBZ0JDZ0NBQ0FBS0FJRUlBSWdCeWdDQUNBQVFmQ0dyd05xS0FJQUlBVW9BZ0FnQUNnQ0dDQUFLQUlnUWJnQmFpQUFRWkNIcndOcUt3TUFJQUJCTUdvZ0N5QUFRWmlIcndOcUtBSUFFTjREUVFCSURRRWFDeUFBS0FJY1FRRkdCRUFnQUJEdkEwRUFEQUVMSUFCQitJcW1BbW9pQnlnQ0FDRUpRUUFoQXdOQUlBTWdDVWdFUUNBTEtBSUFJUVFnQUVHQWk2WUNhaUFEUVlnQ2JHb2hCU0FBSUFOQmlBSnNha0c0aTZZQ2FpRUdJQUFnQTBHSUFteHFRY0NMcGdKcUlRcEJBQ0VDUVg4aEFVUUFBQUFBQUFEZ1B5RVpBMEFnQWlBRVNBUkFJQVVvQWdDM0lBQkJNR29nQWtFSWRHb29BZ0MzSWhpaklocEVabVptWm1abTVqOWpJQnBFNFhvVXJrZmg5ajlrY2tVRVFDQUFJQUpCQ0hScUt3Tm9JQVlyQXdDaElob2dHcUlnQUNBQ1FRaDBhaXNEY0NBS0t3TUFvU0lhSUJxaW9DQVlveUlZSUJsakJFQWdHQ0VaSUFJaEFRc0xJQUpCQVdvaEFnd0JDd3NnQVVGL1NnUkFBa0FDUUFKQUFrQWdBQ2dDR0NJS0RnVUNBZ0lBQUFFTElBQWdBVUVJZEdvaUJDc0RXQ0FBSUFOQmlBSnNha0dvaTZZQ2Fpc0RBQ0lZWXdSQUlBQWdBVUVJZEdwQjRBQnFJUUlnQUNBRFFZZ0NiR3BCc0l1bUFtb3JBd0FoR1FVZ0FDQUJRUWgwYWtIZ0FHb2lBaXNEQUNBQUlBTkJpQUpzYWtHd2k2WUNhaXNEQUNJWlkwVU5Bd3NnQkNBWU9RTllJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJpSXVtQW1vb0FnQTJBamdnQWlBWk9RTUFJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJqSXVtQW1vb0FnQTJBanhCQUNFRlFYOGhBa1FBQUFBQWhOZVhRU0VZQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVpBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlCa0VFZEdvckF3Q2hJUm9nQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQUdRUVIwYWlzRDRBR2hJUnNnQkVFQmFpRUVJQmtnR2lBYW9pQWJJQnVpb0tBaEdRd0JDd3NnQlNBQ0lCa2dHR01pQkJzaEFpQUZRUUZxSVFVZ0dTQVlJQVFiSVJnTUFRc0xJQUFnQVVFSWRHcEJCQ0FDYXlJQ0lBQWdBMEdJQW14cVFaU0xwZ0pxS0FJQWFrRUVFRTgyQWtRZ0FDQUJRUWgwYWlBQ0lBQWdBMEdJQW14cVFaaUxwZ0pxS0FJQWFrRUVFRTgyQWtnTUFndEJmd3dGQ3lBQUlBRkJDSFJxSWdJckExQWdBQ0FEUVlnQ2JHcEJvSXVtQW1vckF3QWlHbU1FUUNBQ0lCbzVBMUFnQUNBQlFRaDBhaUFBSUFOQmlBSnNha0dFaTZZQ2FpZ0NBQ0lHTmdJMElBQWdBMEdJQW14cVFaQ0xwZ0pxSVF4QmZ5RUNSQUFBQUFDRTE1ZEJJUmxCQUNFRkEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VZQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpRFVFRWRHb3JBd0NoSVJzZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFOUVFSMGFpc0Q0QUdoSVJ3Z0JFRUJhaUVFSUJnZ0d5QWJvaUFjSUJ5aW9LQWhHQXdCQ3dzZ0dDQVpZd1JBSUJnaEdTQU1LQUlBUVFRZ0JXdHFRUVFRVHlFQ0N5QUZRUUZxSVFVTUFRc0xJQUFnQVVFSWRHcEJRR3NnQWpZQ0FDQUtRUUpKQkVBZ0FDQUJRUWgwYWlBR05nSTRJQUFnQVVFSWRHb2dHamtEV0NBQUlBRkJDSFJxSUFJMkFrUUZJQUFnQVVFSWRHb2dCallDUENBQUlBRkJDSFJxSUJvNUEyQWdBQ0FCUVFoMGFpQUNOZ0pJQ3dzTEN5QURRUUZxSVFNTUFRc0xJQUFRN3dOQkFDRUNRUUFoQVFOQUlBSWdCeWdDQUVnRVFDQUFJQUpCaUFKc2FrR0FqYVlDYWlJRUtBSUFJUU1nQkNBRFFRRnFOZ0lBSUFOQkEwZ0VRQ0FCSUFKSEJFQWdBRUdBaTZZQ2FpQUJRWWdDYkdvZ0FFR0FpNllDYWlBQ1FZZ0NiR3BCaUFJUVRCb0xJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFISUFFMkFnQWdDeWdDQUNFRFFRQWhCQU5BQWtBZ0JDQURUZzBBSUFCQk1Hb2dCRUVJZEdvaEJTQUFJQVJCQ0hScUtBSTBJZ1pCQUU0RVFFRUFJUUlEUUFKQUlBSWdBVTROQUNBR0lBQWdBa0dJQW14cVFZU0xwZ0pxS0FJQVJnMEFJQUpCQVdvaEFnd0JDd3NnQVNBQ1JnUkFJQUZCUEVZTkFpQUhJQUZCQVdvaUFUWUNBQXNnQUVHQWk2WUNhaUFDUVlnQ2JHb2dCVUdBQWhCTUdpQUFJQUpCaUFKc2FrR0FqYVlDYWtFQk5nSUFDeUFFUVFGcUlRUU1BUXNMSUFBb0FoeEJBa1lFZjBFQUJVRUFJUVFnQVNFQ0lBTWhBUU5BUVFBZ0JDQUNUZzBDR2lBQVFZQ0xwZ0pxSUFSQmlBSnNhaUVGSUFBZ0JFR0lBbXhxUWJpTHBnSnFJUVlnQUNBRVFZZ0NiR3BCd0l1bUFtb2hDVUVBSVFNRFFBSkFJQU1nQVU0TkFDQUZLQUlBdHlBQVFUQnFJQU5CQ0hScUtBSUF0eUlab3lJWVJHWm1abVptWnVZL1l5QVlST0Y2Rks1SDRmWS9aSEpGQkVBZ0FDQURRUWgwYWlzRGFDQUdLd01Bb1NJWUlCaWlJQUFnQTBFSWRHb3JBM0FnQ1NzREFLRWlHQ0FZb3FBZ0dhTkVBQUFBQUFBQTREOWpEUUVMSUFOQkFXb2hBd3dCQ3dzZ0FTQURSZ1JBSUFCQk1Hb2dBVUVJZEdvZ0FFR0FpNllDYWlBRVFZZ0NiR3BCZ0FJUVRCb2dDeUFCUVFGcUlnRTJBZ0FnQnlnQ0FDRUNDeUFFUVFGcUlRUU1BQUFMQUFzTEJVRi9DeUVYSUFna0JpQVhDd3NBSUFBUXhnSWdBQkE0Q3dzQUlBQVF4d0lnQUJBNEM3d0JBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDZ0NCQ0FBS0FJQUlnTnJRUVYxSUFGTEJFQWdBeWdDQkNBQUtBSUFJQUZCQlhScUtBSUVFRWl6RVBFREVQQURFRU1oQkNBQ0pBWWdCQThGSUFKQndNZ0RRWlhmQVJBM1FjN0xBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdzk4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUFTZ0NBQ2dDSENFRElBRkJDaUFEUVQ5eFFZb0JhaEVDQUNFQklBSVFQQ0FBSUFFUVFDQUFFRDhRQUF0QkFBdEpBUUYvSUFBb0FnZ2hBZ05BSUFKQ0FEY0NBQ0FDUWdBM0FnZ2dBa0lBTndJUUlBSkNBRGNDR0NBQ1FRQTJBaUFnQUNBQUtBSUlRU1JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDMGtCQVg4Z0FDZ0NCQ0VDQTBBZ0FrSUFOd0lBSUFKQ0FEY0NDQ0FDUWdBM0FoQWdBa0lBTndJWUlBSkJBRFlDSUNBQUlBQW9BZ1JCSkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMcGdFQkJYOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ1FpQTJ0QkpCQTVJQUZKQkVCQngrUHhPQ0FESUFBb0FnQnJRU1FRT1NBQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkd0QkpCQTVJZ1ZCQVhRaUJpQUdJQU5KRzBISDQvRTRJQVZCNC9HNEhFa2JJQUFvQWdRZ0JHdEJKQkE1SUFCQkNHb1EwQUlnQWlBQkVOc0lJQUFnQWhEUEFpQUNFTTRDQ3dVZ0FDQUJFTndJQ3lBQ0pBWUxvQXdDQm44RmZTTUdJUWNqQmtFUWFpUUdJQVNPRUVNaUNpQUVFRU5IQkVBZ0IwSEF5QU5CNnRFQkVEZEJudElCRURkQjc2SUNFRGRCeFFBUVBrSDJvZ0lRTjBHVDB3RVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lRWWdDVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRWWdCeEE4SUFnZ0JoQkFJQWdRUHhBQUN5QUZqaEJESWdzZ0JSQkRSd1JBSUFkQndNZ0RRYkhUQVJBM1FaN1NBUkEzUWUraUFoQTNRY1lBRUQ1QjlxSUNFRGRCazlNQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFR0lBbEJDaUFHUVQ5eFFZb0JhaEVDQUNFR0lBY1FQQ0FJSUFZUVFDQUlFRDhRQUFzZ0N5QUNTU0FMUVg5S2NVVUVRQ0FIUWNESUEwSGwwd0VRTjBHZTBnRVFOMEh2b2dJUU4wSFBBQkErUWZhaUFoQTNRWlBVQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQmlBSlFRb2dCa0UvY1VHS0FXb1JBZ0FoQmlBSEVEd2dDQ0FHRUVBZ0NCQS9FQUFMSUF0QkFXb2lDU0FDVHdSQUlBZEJ3TWdEUWFUVUFSQTNRWjdTQVJBM1FlK2lBaEEzUWRBQUVENUI5cUlDRURkQjROUUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCaWdDQUNnQ0hDRUNJQVpCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUNJQWNRUENBSUlBSVFRQ0FJRUQ4UUFBc2dDaUFCU1NBS1FYOUtjVVVFUUNBSFFjRElBMEg0MUFFUU4wR2UwZ0VRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWFYVkFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnWW9BZ0FvQWh3aEFpQUdRUW9nQWtFL2NVR0tBV29SQWdBaEFpQUhFRHdnQ0NBQ0VFQWdDQkEvRUFBTElBcEJBV29pQ0NBQlR3UkFJQWRCd01nRFFiYlZBUkEzUVo3U0FSQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEI4ZFVCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQ0xJZ0JKTWlEaUFKc2lBRmt5SU1sQ0lOUXdBQUFBQmdSU0FOdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFZbldBUkEzUVo3U0FSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQkNBS3NwTWlEeUFNbENJTVF3QUFBQUJnUlNBTXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRY1hXQVJBM1FaN1NBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0RpQUZJQXV5a3lJRWxDSUZRd0FBQUFCZ1JTQUZ1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWZUV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWVBQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEeUFFbENJRVF3QUFBQUJnUlNBRXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRYVBYQVJBM1FaN1NBUkEzUWUraUFoQTNRZUVBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0F5QUFJQU1nQzJ4cUlnRnFJUUFnQkNBRklBMGdESktTa3J0RWNheUwyMmdBOEQ5bEJFQWdEU0FLUVFKMElBRnFLZ0lBbENBTUlBaEJBblFnQVdvcUFnQ1VraUFGSUFwQkFuUWdBR29xQWdDVWtpQUVJQWhCQW5RZ0FHb3FBZ0NVa2lFUUlBY2tCaUFRRHdVZ0IwSEF5QU5CMHRjQkVEZEJudElCRURkQjc2SUNFRGRCNGdBUVBrSDJvZ0lRTjBHNDFnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCeEE4SUFJZ0FCQkFJQUlRUHhBQUMwTUFBQUFBQzc4SkFnMS9CWDBqQmlFS0l3WkJJR29rQmlBS1FSeHFJUWNnQ2tFWWFpRUxJQXBCRkdvaERDQUtRUkJxSVE4Z0NrRU1haUVRSUFwQkNHb2hFU0FLUVFScUlSSWdCVUVBU2dSQUlBVkJBV29nQXlnQ0JFa0VRQ0FHUVg5cUlRNGdCa0VBU2dSQUlBWkJBV29pRXlBREtBSUlTUVJBSUFNb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwSGt6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwRzcwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFNb0FnZ2dBaWdDQ0VFQmRrY0VRQ0FIUWNESUEwSDAwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnZ2dBaWdDQ0VFQmRrWUVRQ0FESUFZUVVDQUZRUUowYWlFSUlBUWdEaEJRSUFWQkFuUnFJUTRnQkNBR0VGQWdCVUVDZEdvaEJ5QUVJQk1RVUNBRlFRSjBhaUVFSUFzZ0RDQUZzaUFHc2tFQkVPRUJJQThnRUNBUklCSWdDaUFESUFVZ0JoREpBaUFDSUFzcUFnQWdEQ29DQUJCTklSUWdCeW9DQUNJWElCUWdDQ29DQUVNQUFBQkFsSk9TSVJnZ0FpQUxLZ0lBUXdBQUFNQ1NJQXdxQWdBUVRTQUhLZ0lFa2lBQ0lBc3FBZ0JEQUFBQVFKSWdEQ29DQUJCTklBZEJmR29xQWdDU2swTUFBSUErbENFVklBSWdDeW9DQUNBTUtnSUFRd0FBQU1DU0VFMGdCQ29DQUpJZ0FpQUxLZ0lBSUF3cUFnQkRBQUFBUUpJUVRTQU9LZ0lBa3BOREFBQ0FQcFFoRmlBQUlCRW9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FWT0FJSUlBQWdBallDRENBQUlCSW9BZ0EyQWhBZ0FDQVdPQUlVSUFBZ0ZUZ0NHQ0FBSUJZNEFod2dBQ0FZT0FJZ0lBRWdEeW9DQUl3NEFnQWdBU0FRS2dJQWpEZ0NCQ0FCSUJjZ0ZKTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWV3Q0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSG9BaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEhuQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTHp3MENEbjhGZlNNR0lRc2pCa0VnYWlRR0lBdEJIR29oQnlBTFFSaHFJUTBnQzBFVWFpRU1JQXRCRUdvaEVTQUxRUXhxSVJJZ0MwRUlhaUVUSUF0QkJHb2hGQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEaUFHUVFCS0JFQWdCa0VCYWlJUElBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FaOERFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0JDQUNLQUlFUVFGMlJ3UkFJQWRCd01nRFFidlFBUkEzUWM3TEFSQTNRZStpQWhBM1FhQURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFFREVENUI5cUlDRURkQm5kQUJFRGNpQ0NnQ0FFRjBhaWdDQUNBSWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQ0NBQ0tBSUlRUUYyUndSQUlBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFJREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaUFPRUZBaENDQUNJQVlRVUNFT0lBSWdEeEJRSVE4Z0F5QUdFRkFoQ2lBTklBd2dCYklnQnJKQkFSRExBaUFOS2dJQUloVkRBQUFBdjVKREFBQUFBR0JGQkVBZ0IwSEF5QU5CM05rQkVEZEJ6c3NCRURkQjc2SUNFRGRCckFNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QU1LZ0lBUXdBQUFMK1NRd0FBQUFCZ1JRUkFJQWRCd01nRFFidmFBUkEzUWM3TEFSQTNRZStpQWhBM1FhMERFRDVCOXFJQ0VEZEI1Tm9CRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VRSUFsQkNpQVFRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUNJQWtRUUNBQ0VEOFFBQXNnRlVNQUFBQS9raUFFS0FJRXMxMUZCRUFnQjBIQXlBTkJtdHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyZ01RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBRlFRSjBJQWhxSVFnZ0JVRUNkQ0FPYWlFQ0lBVkJBblFnRDJvaERpQUZRUUowSUFwcUlROGdEQ29DQUVNQUFBQS9raUFFS0FJSXMxMEVRQ0FSSUJJZ0V5QVVJQXNnQXlBRklBWVF5UUlnQkNBTktnSUFJQXdxQWdBUVRTSVhJQUlxQWdBaUdDQVBLZ0lBUXdBQUFFQ1VrNUloR1NBQ1FYeHFLZ0lBSUFRZ0RTb0NBRU1BQUFBL2tpQU1LZ0lBRUUyU0lBSXFBZ1FnQkNBTktnSUFRd0FBQUwrU0lBd3FBZ0FRVFpLVFF3QUFnRDZVSVJVZ0NDb0NBQ0FFSUEwcUFnQWdEQ29DQUVNQUFBQS9raEJOa2lBT0tnSUFJQVFnRFNvQ0FDQU1LZ0lBUXdBQUFMK1NFRTJTazBNQUFJQStsQ0VXSUFBZ0V5Z0NBRFlDQUNBQUlBc29BZ0FpQWpZQ0JDQUFJQlU0QWdnZ0FDQUNOZ0lNSUFBZ0ZDZ0NBRFlDRUNBQUlCWTRBaFFnQUNBVk9BSVlJQUFnRmpnQ0hDQUFJQms0QWlBZ0FTQVJLZ0lBakRnQ0FDQUJJQklxQWdDTU9BSUVJQUVnRnlBWWswTUFBQUEvbEl3NEFnZ2dDeVFHRHdVZ0IwSEF5QU5CemRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcndNUVBrSDJvZ0lRTjBIazJnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c0xJQWRCd01nRFFablBBUkEzUWM3TEFSQTNRZStpQWhBM1FaNERFRDVCOXFJQ0VEZEIxTThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMSUFkQndNZ0RRYy9PQVJBM1FjN0xBUkEzUWUraUFoQTNRWjBERUQ1QjlxSUNFRGRCaWM4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUF2OENBSU1md1Y5SXdZaENpTUdRU0JxSkFZZ0NrRVVhaUVISUFwQkVHb2hEU0FLUVF4cUlRNGdDa0VJYWlFUElBcEJCR29oRUNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRENBR1FRQktCRUFnQmtFQmFpSVJJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRYmNDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NCQ0FFS0FJRVJ3UkFJQWRCd01nRFFZSGNBUkEzUWM3TEFSQTNRZStpQWhBM1FiZ0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWJrQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBRUtBSUlSZ1JBSUFJZ0RCQlFJQVZCQW5ScUlSSWdBaUFHRUZBZ0JVRUNkR29oQnlBQ0lCRVFVQ0FGUVFKMGFpRUpJQU1nQmhCUUlBVkJBblJxSVFzZ0JDQU1FRkFnQlVFQ2RHb2hEQ0FFSUFZUVVDQUZRUUowYWlFQ0lBUWdFUkJRSUFWQkFuUnFJUVFnRFNBT0lBOGdFQ0FLSUFNZ0JTQUdFTWtDSUFJcUFnQWlGU0FIS2dJQUloWWdDeW9DQUVNQUFBQkFsSk9TSVJjZ0IwRjhhaW9DQUNBSEtnSUVreUFDS2dJRUlBSkJmR29xQWdDVGtrTUFBSUErbENFVElCSXFBZ0FnQ1NvQ0FKTWdCQ29DQUNBTUtnSUFrNUpEQUFDQVBwUWhGQ0FBSUE4b0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVRPQUlJSUFBZ0FqWUNEQ0FBSUJBb0FnQTJBaEFnQUNBVU9BSVVJQUFnRXpnQ0dDQUFJQlE0QWh3Z0FDQVhPQUlnSUFFZ0RTb0NBSXc0QWdBZ0FTQU9LZ0lBakRnQ0JDQUJJQlVnRnBOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYlhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYm9DRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBHMkFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wRzFBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMV2dFQ2ZTQUFLZ0lnSUFBcUFnUVFhWlFoQVNBQUtnSUVRd0FBQUVDVUlBQXFBZ2dpQXBRZ0FDb0NGSlFnQVpNZ0FDb0NFQ0FDRUdtVWt5QUFLZ0lBSUFBcUFoUVFhWlNUSUFBcUFnQWdBQ29DRUpRZ0FDb0NJSlNTQzh3QkFRSi9Jd1loQWlNR1FSQnFKQVlnQUFSL0lBRWdBQ2dDQkVZRWYwRUFCUUovSUFGQkQwOEVRQ0FDSUFFMkFnQkJBRUVEUWZHbUFTQUNFRDFCZnd3QkN5QUFJQUUyQWdRZ0FDQUJFSlVHTmdJSUlBQW9BaGdoQTBHZzRBRWdBVUgvL3dGeGRrRUJjUVJBQWtBQ1FBSkFJQU1PQkFBQ0FnRUNDeUFBUVFFMkFoaEJBQXdEQ3lBQVFRUTJBaGhCQUF3Q0N3VUNRQUpBQWtBZ0EwRUJhdzRFQUFJQ0FRSUxJQUJCQkRZQ0dFRUFEQU1MSUFCQkF6WUNHRUVBREFJTEMwRUFDd3NGUVg4TEdpQUNKQVlMZWdBZ0FDQUJLZ0lBSUFJcUFnQ1VJQUVxQWdRZ0Fpb0NCSlNTSUFFcUFnZ2dBaW9DQ0pTU09BSUFJQUFnQVNvQ0RDQUNLZ0lBbENBQktnSVFJQUlxQWdTVWtpQUJLZ0lVSUFJcUFnaVVramdDQkNBQUlBRXFBaGdnQWlvQ0FKUWdBU29DSENBQ0tnSUVsSklnQVNvQ0lDQUNLZ0lJbEpJNEFnZ0w2d0VCQVgwZ0FSRGlDQ0lDaTBNQUFBQTBYd1IvUVFBRklBQkRBQUNBUHlBQ2xTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJZ0VNb0NsRGdDQUNBQUlBSWdBU29DQ0NBQktnSUVJQUVxQWlBZ0FTb0NIQkNBQVpRNEFnUWdBQ0FDSUFFcUFnUWdBU29DQ0NBQktnSVFJQUVxQWhRUWdBR1VPQUlJSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DSUJES0FwUTRBaEFnQUNBQ0lBRXFBZ2dnQVNvQ0FDQUJLZ0lVSUFFcUFnd1FnQUdVT0FJVUlBQWdBaUFCS2dJQUlBRXFBZ1FnQVNvQ0VCREtBcFE0QWlBZ0FDQUFLQUlFTmdJTUlBQWdBQ2dDQ0RZQ0dDQUFJQUFvQWhRMkFoeEJBUXNMUEFFQmZTQUJLZ0lBSUFFcUFoQ1VJQUVxQWdRUWFaTWlBa01BQUFBQVd3Ui9RUUFGSUFBZ0FTb0NBQ0FCS2dJUWtoQnBJQUtWT0FJQVFRRUxDeThCQW44akJpRURJd1pCTUdva0JpQURJQUVRNVFnRWZ5QUFJQU1nQWhEa0NFRUJCVUVBQ3lFRUlBTWtCaUFFQzZrRkFRUi9Jd1loQnlNR1FSQnFKQVlnQkNnQ0JDQUNLQUlFSUFNb0FnUkdSZ1JBSUFRb0FnZ2dBaWdDQ0NBREtBSUlSa1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0VJQlNBSFFjRElBMEdIeXdFUU4wSE95d0VRTjBIdm9nSVFOMEhTQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEJRSkFJQUlvQWdRZ0F5Z0NCRVlFUUNBRUtBSUVJQU1vQWdSQkFYWkdCRUFnQWlnQ0NDQURLQUlJUmdSQUlBUW9BZ2dnQXlnQ0NFRUJka1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0FJREFRTEN5QUhRY0RJQTBIMHpBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkVE1BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hDaUFKUVFvZ0NrRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxDeUFES0FJRUlBSW9BZ1JCQVhaR0JFQWdBeWdDQkNBRUtBSUVSZ1JBSUFNb0FnUWdBaWdDQkVFQmRrWUVRQ0FES0FJRUlBUW9BZ1JHQkVBZ0FDQUJJQUlnQXlBRUlBVWdCaERmQ0F3RUN3c2dCMEhBeUFOQjFjMEJFRGRCenNzQkVEZEI3NklDRURkQjJBTVFQa0gyb2dJUU4wSFV6QUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQjBIQXlBTkI0b0VDRURkQnpzc0JFRGRCNzZJQ0VEZEIyd01RUGtIMm9nSVFOMEd5emdFUU55SUFLQUlBUVhScUtBSUFJQUJxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0J5UUdRUUVMUFFFQ2Z5QUFLQUlFSUFBb0FnQWlBMnRCSkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRM1FnRklBSWdBVXNFUUNBQUlBRkJKR3dnQTJvMkFnUUxDd3M0QUNBQUJIOGdBVVFBQUFBQUFBQUFBR1VnQVVRQUFBQUFBQUR3UDJaeUJIOUJmd1VnQUVHUWg2OERhaUFCT1FNQVFRQUxCVUYvQ3d2TUFRSUZmd0o5SUFFb0FnQWlCRUY0YWlFR0lBQW9BZ0FoQWdOQUlBSWdCa2NFUUNBQ0lBUkdCRUFnQkNFQkJRSkFJQUloQVFOQUlBRWhCUU5BQWtBZ0JDQUZRUWhxSWdOR0RRTWdBU29DQUNJSElBTXFBZ0FpQ0YwTkFDQUlJQWRkUlFSQUlBRW9BZ1FnQlNnQ0RFa05BUXNnQXlFRkRBRUxDeUFESVFFTUFBQUxBQXNMSUFFZ0FrY0VRQ0FDS0FJQUlRTWdBaUFCS0FJQU5nSUFJQUVnQXpZQ0FDQUNLQUlFSVFNZ0FpQUJLQUlFTmdJRUlBRWdBellDQkFzZ0FDQUNRUWhxSWdJMkFnQU1BUXNMQzkwTUFoRi9BMzBqQmlFSUl3WkJNR29rQmlBSVFTaHFJUXNnQ0VFa2FpRU1JQWhCSUdvaEVTQUJLQUlBSVEwQ1FBSkFBa0FDUUFOQUFrQWdBaWdDQUNJT1FYaHFJUVlnRGtGOGFpRUtJQTBnRGtZTkFDQUdJUWNnQUNnQ0FDSUJJUVFDZndKQUFrQUNRQU5BQWtBQ1FDQU9JQVJySWdOQkEzVWlDUTRFQndjSkNnQUxJQU5Cd0FCSURRb2dDQ0FFTmdJSUlBZ2dDVUVCZGlJRFFRTjBJQUZxSWdrMkFnUWdDQ0FITmdJQUlCRWdDQ2dDQ0RZQ0FDQU1JQWdvQWdRMkFnQWdDeUFJS0FJQU5nSUFJQkVnRENBTEVQSURJUThnQ1NvQ0FDSVVJQVFxQWdBaUZWME5BeUFEUVFOMElBRnFJUklnRlNBVVhVVUVRQ0FTS0FJRUlBUW9BZ1JKRFFRTElBWWhBd05BSUFOQmVHb2lCU0FFUndSQUlCUWdCU29DQUNJVlhRMENJQlVnRkYxRkJFQWdFaWdDQkNBRFFYeHFLQUlBSWhCSkRRVUxJQVVoQXd3QkN3c2dCRUVJYWlJRklRUWdCaW9DQUNJVklBRXFBZ0FpRkYxRkJFQUNRQ0FVSUJWZEJFQWdBVUVFYWlFREJTQUtLQUlBSUFGQkJHb2lBeWdDQUVrTkFRc0Nmd0pBQTBBQ1FDQUZJQVpHRFF3Z0JTb0NBQ0lXSUJSZERRQWdGQ0FXWFVVRVFDQUZLQUlFSWdRZ0F5Z0NBRWtOQXdzZ0JVRUlhaUVGREFFTEN5QUZLQUlFSVFRZ0JVRUVhZ3dCQ3lBRlFRUnFDeUVUSUFVZ0ZUZ0NBQ0FHSUJZNEFnQWdFeUFLS0FJQU5nSUFJQW9nQkRZQ0FDQUZRUWhxSVFRTEN5QUVJQVpHRFFZZ0FTRUpJQWNoQVFOQUlBa3FBZ0FoRkFOQUFrQWdCQ29DQUNJVklCUmREUUFnRkNBVlhVVUVRQ0FFS0FJRUlBa29BZ1JKRFFFTElBUkJDR29oQkF3QkN3c2dCQ0VESUFFaEJBTkFBa0FnQkVGNGFpSUJLZ0lBSWhVZ0ZGMUZCRUFnRkNBVlhRMEJJQVJCZkdvb0FnQWdDU2dDQkU4TkFRc2dBU0VFREFFTEN5QUJJQU5MQkVBZ0F5Z0NBQ0VGSUFNZ0ZUZ0NBQ0FCSUFVMkFnQWdBeWdDQkNFRklBTWdCRUY4YWlJRUtBSUFOZ0lFSUFRZ0JUWUNBQ0FEUVFocUlRUU1BUXNMSUEwZ0F5SUJTUTBHSUFBZ0FUWUNBQ0FCSVFRTUFRc0xJQU5CZkdvaUFTRURJQUVvQWdBaEVBd0NDeUFEUVh4cUlRTU1BUXNnRHlFRElBWU1BUXNnQkNnQ0FDRUJJQVFnRlRnQ0FDQUZJQUUyQWdBZ0JDZ0NCQ0VCSUFRZ0VEWUNCQ0FESUFFMkFnQWdEMEVCYWlFRElBVUxJUUVnQkVFSWFpSUhJUVlnQnlBQlNRUi9JQU1oQlNBR0lRTURRQ0FKS2dJQUlSUURRQUpBSUJRZ0F5b0NBQ0lWWFVVRVFDQVZJQlJkRFFFZ0NTZ0NCQ0FES0FJRVR3MEJDeUFEUVFocUlRTU1BUXNMSUFNaEJ5QUJJUU1EUUFKQUlCUWdBMEY0YWlJQktnSUFJaFZkRFFBZ0ZTQVVYVVVFUUNBSktBSUVJQU5CZkdvb0FnQkpEUUVMSUFFaEF3d0JDd3NnQVNBSFN3UkFJQWNvQWdBaEJpQUhJQlU0QWdBZ0FTQUdOZ0lBSUFjb0FnUWhCaUFISUFOQmZHb2lBeWdDQURZQ0JDQURJQVkyQWdBZ0JVRUJhaUVGSUFFZ0NTQUhJQWxHR3lFSklBZEJDR29oQXd3QkN3c2dCeUVHSUFVRklBTUxJUUVnQnlBSlJ3UkFBa0FnQnlvQ0FDSVZJQWtxQWdBaUZGMEVRQ0FKUVFScUlRVWdCMEVFYWlFUElBa29BZ1FoQXlBSEtBSUVJUkFGSUJRZ0ZWME5BU0FIUVFScUlnOG9BZ0FpRUNBSlFRUnFJZ1VvQWdBaUEwOE5BUXNnQmlnQ0FDRUtJQVlnRkRnQ0FDQUpJQW8yQWdBZ0R5QUROZ0lBSUFVZ0VEWUNBQ0FCUVFGcUlRRUxDeUFISUExR0RRQWdCaUVESUFGRkJFQUNRQ0FOSUFkSkJFQURRQ0FISUFSQkNHb2lBVVlOQkNBRUtnSUFJaFFnQVNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnQkNnQ0JDQUVLQUlNU1EwREN5QUJJUVFNQUFBTEFBVWdBeUVCQTBBZ0RpQUJRUWhxSWdOR0RRUWdBU29DQUNJVUlBTXFBZ0FpRlYwTkFpQVZJQlJkUlFSQUlBRW9BZ1FnQVNnQ0RFa05Bd3NnQXlFQkRBQUFDd0FMQUFzTElBMGdCMGtFUUNBQ0lBWTJBZ0FGSUFBZ0IwRUlhallDQUFzTUFRc0xEQU1MSUFJZ0JqWUNBQ0FCS2dJQUloUWdCaW9DQUNJVlhRUkFJQUZCQkdvaEF5QUtLQUlBSVFBZ0FTZ0NCQ0VDQlNBVklCUmREUU1nQVVFRWFpSURLQUlBSWdJZ0NpZ0NBQ0lBVHcwREN5QUJJQlU0QWdBZ0JpQVVPQUlBSUFNZ0FEWUNBQ0FLSUFJMkFnQU1BZ3NnQ0NBRU5nSWNJQWdnQkVFSWFqWUNHQ0FDSUFZMkFnQWdDQ0FHTmdJVUlCRWdDQ2dDSERZQ0FDQU1JQWdvQWhnMkFnQWdDeUFJS0FJVU5nSUFJQkVnRENBTEVQSURHZ3dCQ3lBSUlBUTJBaEFnQ0NBT05nSU1JQXdnQ0NnQ0VEWUNBQ0FMSUFnb0FndzJBZ0FnRENBTEVPc0lDeUFJSkFZTHBnY0NDSDhEZlNNR0lRZ2pCa0V3YWlRR0lBaEJDR29oQ1NBSVFTQnFJUTBnQ0VFY2FpRU9JQU1nQkd3aENnSjlJQVd5SUFPeWxZMGhFaUFHc2lBRXNwV05JUkVnQVNBQktBSUFOZ0lFSUFFZ0J4RFJBaUFBS0FJRUlBQW9BZ0FpQTJ0QkRCQTVJUXRCQUNFRkEwQWdCU0FMUndSQUlBVkJER3dnQTJvb0FnUWdCVUVNYkNBRGFpZ0NBQ0lFYTBFTUVEa2hERUVBSVFZRFFDQUdJQXhIQkVBZ0JrRU1iQ0FFYWlBR1FReHNJQVJxS0FJQU5nSUVJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQ3lBSElBb1FPU0VMSUJJTEVFT3lJUkFnRVJCRHNpRVJRUUFoQkFOQUlBUWdBaWdDQkNBQ0tBSUFJZ05yUVNRUU9Va0VRQ0FFUVNSc0lBTnFLZ0lBSUJDVkVFTWhCaUFFUVNSc0lBTnFLZ0lFSUJHVkVFTWhCU0FBS0FJQUlBWkJER3hxS0FJQUlRWWdDU0FFUVNSc0lBTnFLZ0lZaXpnQ0FDQUpJQVEyQWdRZ0JVRU1iQ0FHYWlJREtBSUVJZ2NnQlVFTWJDQUdhaWdDQ0VrRVFDQUhJQWtwQXdBM0FnQWdBeUFES0FJRVFRaHFOZ0lFQlNBRlFReHNJQVpxSUFrUWxnRUxJQVJCQVdvaEJBd0JDd3RCQUNFR0lBQW9BZ0FpQlNJRUlRTUNRQU5BSUFZZ0FDZ0NCQ0FGYTBFTUVEbEpCRUJCQUNFRkEwQWdCU0FHUVF4c0lBUnFLQUlFSUFaQkRHd2dCR29vQWdBaUIydEJEQkE1U1FSQUlBc2dCVUVNYkNBSGFpSUtLQUlFSWc4Z0JVRU1iQ0FIYWlJTUtBSUFJZ1JyUVFOMUlnY2dDeUFIU1JzaUJ3UkFJQWdnQkRZQ0dDQUlJQWRCQTNRZ0JHbzJBaFFnQ0NBUE5nSVFJQTRnQ0NnQ0dEWUNBQ0FOSUFnb0FoUTJBZ0FnQ1NBSUtBSVFOZ0lBSUE0Z0RTQUpFT3dJSUF3b0FnQWlCQ0VESUFjZ0NpZ0NCQ0FFYTBFRGRVc0VRQ0FES2dJQUlBZEJBM1FnQTJvcUFnQmdSUTBHQzBFQUlRb0RRQ0FLSUFkSkJFQWdBaWdDQUNBTUtBSUFJQXBCQTNScUtBSUVRU1JzYWlFRElBRW9BZ1FpQkNBQktBSUlSZ1JBSUFFZ0F4RGlBUVVnQkNBREtRSUFOd0lBSUFRZ0F5a0NDRGNDQ0NBRUlBTXBBaEEzQWhBZ0JDQURLUUlZTndJWUlBUWdBeWdDSURZQ0lDQUJJQUVvQWdSQkpHbzJBZ1FMSUFwQkFXb2hDZ3dCQ3dzZ0FDZ0NBQ0VEQ3lBRlFRRnFJUVVnQXlFRURBRUxDeUFHUVFGcUlRWWdCQ0VGREFFTEN5QUlKQVlQQ3lBSlFjRElBMEhweUFFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQlJBK1FmYWlBaEEzUWFQSkFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUpFRHdnQUNBQkVFQWdBQkEvRUFBTEpnQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFR1loNjhEYWlnQ0FEWUNBRUVBQlVGL0N4b0xSQUVDZlVNQUFJQS9RUUVnQm5TeWxTSUhRd0FBQUQrVVF3QUFBTCtTSVFnZ0FDQUhJQU9VSUFpU09BSUFJQUVnQnlBRWxDQUlramdDQUNBQ0lBY2dCWlE0QWdBTDNRUUNESDhCZlNNR0lRSWpCa0ZBYXlRR0lBSkJNR29oQ2lBQ1FTeHFJUWNnQWtFb2FpRUlJQUpCSkdvaEN5QUFMQUFjQkVBZ0FDQUFRY2dBYWlJSktBSUFOZ0pNSUFrZ0FFRkFheUlNS0FJQUlBQkJQR29pQlNnQ0FHc1EwUUlnQUVIY0FHb2lEU0FCRU1JSUEwQWdCU2dDQUNJR0lRTWdCQ0FNS0FJQUlBWnJRU1FRT1VrRVFDQUhJQWdnQ3lBRVFTUnNJQU5xS2dJQUlBUkJKR3dnQTJvcUFnUWdCRUVrYkNBRGFpb0NIQ0FFUVNSc0lBTnFLQUlNRU84SUlBY2dCeW9DQUNBQklBVW9BZ0FnQkVFa2JHb29BZ3hCQUJDc0FTZ0NCRUYvYXJNUTR3RTRBZ0FnQ0NBSUtnSUFJQUVnQlNnQ0FDQUVRU1JzYWlnQ0RFRUFFS3dCS0FJSVFYOXFzeERqQVNJT09BSUFJQTBnQUNnQ2tBRWdDaUFGS0FJQUlnTWdCRUVrYkdvb0Fnd2dCRUVrYkNBRGFpZ0NFQ0FIS2dJQUlBNGdDeW9DQUJEQkNFRUFJUVlEUUNBR0lBb29BZ0JJQkVBZ0FpQUZLQUlBSUFSQkpHeHFJZ01wQWdBM0FnQWdBaUFES1FJSU53SUlJQUlnQXlrQ0VEY0NFQ0FDSUFNcEFoZzNBaGdnQWlBREtBSWdOZ0lnSUFJZ0FDZ0NrQUVnQmtFQ2RHb29BZ0EyQWdnZ0FDZ0NUQ0lESUFBb0FsQkdCRUFnQ1NBQ0VPSUJCU0FESUFJcEFnQTNBZ0FnQXlBQ0tRSUlOd0lJSUFNZ0Fpa0NFRGNDRUNBRElBSXBBaGczQWhnZ0F5QUNLQUlnTmdJZ0lBQWdBQ2dDVEVFa2FqWUNUQXNnQmtFQmFpRUdEQUVMQ3lBRVFRRnFJUVFNQVFzTElBVWdDUkNKQWdVQ1FDQUFRVUJyS0FJQUlBQW9BandpQUd0QkpCQTVJUUVEUUNBQklBVkdEUUVnQlVFa2JDQUFha01BQUFBQU9BSUlJQVZCQVdvaEJRd0FBQXNBQ3dzZ0FpUUdDNUlFQVF0L0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFQklBQkJRR3NpQ0NnQ0FDQUFRVHhxSWdRb0FnQnJRU1FRT1NBQUtBSlVJZ2xMQkVBZ0FDZ0NGQ0FBUVJCcUlnb29BZ0FpQm10QkRCQTVJZ3NnQUNnQ0NFY0VRQ0FCUWNESUEwR0J4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEdBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFZb0FnUWdCaWdDQUd0QkRCQTVJZ1lnQUNnQ0RFY0VRQ0FCUWNESUEwSFN4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEhBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFOQkFEWUNBQ0FEUVFBMkFnUWdBMEVBTmdJSUlBb2dBeUFFSUFzZ0JpQUFLQUlBSUFBb0FnUWdDUkR0Q0NBRUlBTVFpUUlnQ0NnQ0FDQUVLQUlBYTBFa0VEa2dBQ2dDVkVzRVFDQUJRY0RJQTBHTXlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkSElBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1FvQWdBb0Fod2hBaUFFUVFvZ0FrRS9jVUdLQVdvUkFnQWhCQ0FCRUR3Z0FDQUVFRUFnQUJBL0VBQUZJQU1RVlFzTElBTWtCZ3VhQndJVmZ3UjlJd1loQlNNR1FkQUFhaVFHSUFWQnhBQnFJUWtnQlVFNGFpRU1JQVZCTEdvaEJ5QUZRU2hxSVEwZ0JVRWthaUVPSUFBcUFqUVFhU0VZSUFBcUFqaERBQUNBUDVJUWFTQUFLZ0k0bFNFWklBQkJQR29oRHlBQVFVQnJJUlVnQUVFZ2FpRUdBa0FDUUFKQUEwQWdBaUFWS0FJQUlBOG9BZ0FpQTJ0QkpCQTVTUVJBSUFKQkpHd2dBMm9pRWlnQ0VDQUdLQUlRVGcwQ0lCSW9BaEFnQmlnQ0VDQUNRU1JzSUFOcUloQW9BZ3hzYWlFS0lBMGdEaUFDUVNSc0lBTnFJZ2dxQWdBZ0FrRWtiQ0FEYWtFRWFpSVRLZ0lBSUJBb0Fnd1F5d0lnRFNvQ0FFTUFBQUEva2hCRElRc2dEaW9DQUVNQUFBQS9raEJESVJFZ0JTQU1JQVlvQWdBZ0NrRi9ha0VGZEdvZ0JpZ0NBQ0FLUVFWMGFpSVVJQVlvQWdBZ0NrRUJha0VGZEdvZ0N5QVJFT2dJQkVBZ0J5QUZJQXdRNXdnRVFDQUhLZ0lBRUdrZ0J5b0NCQkJwa2lBQUtnSllYa1VFUUNBQ1FTUnNJQU5xSWhaQklHb2dCUkRtQ0FSQUlBSkJKR3dnQTJvaUNpb0NHQ0FVSUJFUVVDQUxRUUowYWlvQ0FGd05CeUFLSUJRZ0VSQlFJQXRCQW5ScUtnSUFJQXdxQWdBZ0J5b0NBQ0lYbENBTUtnSUVJQWNxQWdRaUdwU1NJQXdxQWdnZ0J5b0NDSlNTa3pnQ0dDQUlJQk1nRnlBTktnSUFraUFhSUE0cUFnQ1NJQkFvQWd3UTRRRWdBa0VrYkNBRGFpSUxJQWNxQWdnZ0VpZ0NFTEtTSWhjNEFoUWdDeUFYSUFZb0FoQ3lFT01CT0FJVUlCWXFBaUNMSUJsZEJIOGdDaW9DR0JCcElCaGdCSDhnQ0NvQ0FDSVhRd0FBQUFCZ0JIOGdGeUFHS0FJQUtBSUVzMTBFZnlBVEtnSUFJaGREQUFBQUFHQUVmeUFYSUFZb0FnQW9BZ2l6WFFSL0lBSkJKR3dnQTJvZ0FTQVFLQUlNSUFzcUFoUVFod0k0QWh3Z0R5Z0NBQ0FFUVNSc2FpSURJQWdwQWdBM0FnQWdBeUFJS1FJSU53SUlJQU1nQ0NrQ0VEY0NFQ0FESUFncEFoZzNBaGdnQXlBSUtBSWdOZ0lnSUFSQkFXb0ZJQVFMQlNBRUN3VWdCQXNGSUFRTEJTQUVDd1VnQkFzaEJBc0xDd3NnQWtFQmFpRUNEQUVMQ3lBUElBUVE2UWdnQlNRR0R3c2dDVUhBeUFOQnRza0JFRGRCd0x3QkVEZEI3NklDRURkQjZRTVFQa0gyb2dJUU4wSCt5UUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNNQVFzZ0NVSEF5QU5CbzhvQkVEZEJ3THdCRURkQjc2SUNFRGRCamdRUVBrSDJvZ0lRTjBIY3lnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc0xJQWxCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWtRUENBQUlBRVFRQ0FBRUQ4UUFBdU1KQUljZndwOUl3WWhCU01HUVRCcUpBWWdBRUZBYXlJUklBQkJQR29pR0NnQ0FEWUNBQ0FBS2dJMEVHa2hKU0FBUVNCcUlSa2dCVUVFYWlFYUlBVkJCR29oR3lBRlFRUnFJUnhCQVNFREFrQUNRQUpBQWtBQ1FBSkFBa0FEUUNBRElCa29BZ1FnR1NnQ0FHdEJCWFZCZjJwSkJFQWdBaUFEUVg5cUVNZ0NJUWNnQWlBREVNZ0NJUW9nQWlBRFFRRnFJaDBReUFJaENDQUNJQU1RMmdnaEVpQURJQUlvQWhBUVR5RVdBa0FDUUNBSEtBSUVJQW9vQWdSSERRQWdCeWdDQkNBSUtBSUVSdzBBSUFjb0FnZ2dDaWdDQ0VjTkJDQUhLQUlJSUFnb0FnaEhEUVVnQ2lnQ0JFRi9haUVYSUFvb0FnaEJmMm9oSGlBV3NpRWdRUUVoQXdOQUlBTWdIa2tFUUNBSElBTkJmMm9pQkJCUUlSTWdCeUFERUZBaEN5QUhJQU5CQVdvaUZCQlFJUXdnQ2lBRUVGQWhEU0FLSUFNUVVDRVZJQW9nRkJCUUlRNGdDQ0FFRUZBaER5QUlJQU1RVUNFUUlBZ2dGQkJRSVFrZ0E3TWhJVUVCSVFNRFFDQURJQmRKQkVBZ0EwRUNkQ0FWYWlJRUtnSUFFR2tnSlYxRkJFQUNRQUpBQWtBZ0JDb0NBQ0lmSUFOQmYyb2lCRUVDZENBVGFpb0NBQ0lpWGtVTkFDQWZJQU5CQW5RZ0Uyb3FBZ0JlUlEwQUlCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdGV29xQWdCZVJRMEFJQjhnQmtFQ2RDQVZhaW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBTkJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFOQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFFUVFKMElBbHFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0NXb3FBZ0JlUlEwQUlCOGdCa0VDZENBSmFpb0NBRjVGRFFBTUFRc2dIeUFpWFVVTkFTQWZJQU5CQW5RZ0Uyb3FBZ0JkUlEwQklCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdGV29xQWdCZFJRMEJJQjhnQmtFQ2RDQVZhaW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Rtb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBTkJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQkJxS2dJQVhVVU5BU0FmSUFOQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFFUVFKMElBbHFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0NXb3FBZ0JkUlEwQklCOGdCa0VDZENBSmFpb0NBRjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBZk9BSVlJQVVnQVNBU0lDQVFod0k0QWh3Z0JTQWFJQU96SUNFZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBRUxDd3dCQ3lBSEtBSUVJQW9vQWdSR0JFQWdDQ2dDQkNBS0tBSUVRUUYyUmdSQUlBY29BZ2dnQ2lnQ0NFY05CeUFJS0FJSUlBb29BZ2hCQVhaSERRZ2dDQ2dDQkVGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJNZ0NDZ0NDRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUlVnRnJJaEprRUNJUU1EUUNBRElCVlBEUU1nQnlBRFFYOXFJZ1FRVUNFUElBY2dBeEJRSVFzZ0J5QURRUUZxSWhRUVVDRU1JQW9nQkJCUUlRMGdDaUFERUZBaEVDQUtJQlFRVUNFT0lBT3pJaWREQUFBQVA1UkRBQUNBdnBJaUlVTUFBQUMva2lFaUlDRkRBQUFBUDVJaEkwRUNJUVFEUUNBRUlCTkpCRUFnQkVFQ2RDQVFhaUlES2dJQUVHa2dKVjFGQkVBQ1FDQUVzeUlvUXdBQUFEK1VRd0FBZ0w2U0lTQUNRQUpBSUFNcUFnQWlIeUFFUVg5cUlnWkJBblFnRDJvaUZ5b0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdDVUVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElCQnFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBbEJBblFnRG1vcUFnQmVSUTBBSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWGtVTkFDQURLZ0lBSUFnZ0lDQWlFRTFlUlEwQUlBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5Ya1VOQUNBREtnSUFJQWdnSHlBaEVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNFUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSVJCTlhrVU5BQ0FES2dJQUlBZ2dIeUFqRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ01RVFY1RkRRQWdBeW9DQUNBSUlDUWdJeEJOWGtVTkFBd0JDeUFES2dJQUloOGdGeW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQ1VFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdDVUVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQkJxS2dJQVhVVU5BU0FmSUFsQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhVVU5BU0FES2dJQUlBZ2dJQ0FpRUUxZFJRMEJJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWFVVTkFTQURLZ0lBSUFnZ0h5QWhFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDRVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0lSQk5YVVVOQVNBREtnSUFJQWdnSHlBakVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNNUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSXhCTlhVVU5BUXNnQlNBU05nSU1JQVVnRmpZQ0VDQUZJQU1vQWdBMkFoZ2dCU0FCSUJJZ0poQ0hBamdDSENBRklCc2dLQ0FuSUJJUTRRRWdFU2dDQUNJRElBQW9Ba1JHQkVBZ0dDQUZFT0lCQlNBRElBVXBBZ0EzQWdBZ0F5QUZLUUlJTndJSUlBTWdCU2tDRURjQ0VDQURJQVVwQWhnM0FoZ2dBeUFGS0FJZ05nSWdJQkVnRVNnQ0FFRWthallDQUFzTEN5QUVRUUZxSVFRTUFRc0xJQlFoQXd3QUFBc0FDd3NnQ2lnQ0JDQUhLQUlFUVFGMlJnUkFJQWdvQWdRZ0J5Z0NCRUVCZGtZRVFDQUtLQUlJSUFjb0FnaEJBWFpIRFFrZ0NDZ0NDQ0FIS0FJSVFRRjJSdzBLSUFvb0FnUkJmMm9oRXlBS0tBSUlRWDlxSVJVZ0ZySWhKa0VCSVFNRFFDQURJQlZQRFFNZ0NpQURRWDlxSWdRUVVDRVBJQW9nQXhCUUlSQWdDaUFEUVFGcUloUVFVQ0VMSUFnZ0JCQlFJUXdnQ0NBREVGQWhEU0FJSUJRUVVDRU9JQU96SVNjZ0EwRUJkTE5EQUFBQVA1SWlJVU1BQUFEQWtpRWlJQ0ZEQUFBQVFKSWhJMEVCSVFNRFFDQURJQk5KQkVBZ0EwRUNkQ0FRYWlJRUtnSUFFR2tnSlYxRkJFQUNRQ0FEUVFGMHMwTUFBQUEva2lFZ0FrQUNRQ0FFS2dJQUloOGdBMEYvYWlJR1FRSjBJQTlxSWhjcUFnQmVSUTBBSUI4Z0EwRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUpRUUowSUJCcUtnSUFYa1VOQUNBZklBWkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXRxS2dJQVhrVU5BQ0FmSUFaQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFKUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUpRUUowSUExcUtnSUFYa1VOQUNBZklBWkJBblFnRG1vcUFnQmVSUTBBSUI4Z0EwRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjVGRFFBZ0JDb0NBQ0FISUNBZ0loQk5Ya1VOQUNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSVJCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FoRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ0VRVFY1RkRRQWdCQ29DQUNBSElCOGdJeEJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWpFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDTVFUVjVGRFFBTUFRc2dCQ29DQUNJZklCY3FBZ0JkUlEwQklCOGdBMEVDZENBUGFpb0NBRjFGRFFFZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFKUVFKMElCQnFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUpRUUowSUF0cUtnSUFYVVVOQVNBZklBWkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXhxS2dJQVhVVU5BU0FmSUFaQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFKUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdBMEVDZENBT2Fpb0NBRjFGRFFFZ0h5QUpRUUowSUE1cUtnSUFYVVVOQVNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFYxRkRRRWdCQ29DQUNBSElDQWdJaEJOWFVVTkFTQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0lSQk5YVVVOQVNBRUtnSUFJQWNnSUNBaEVFMWRSUTBCSUFRcUFnQWdCeUFrSUNFUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSXhCTlhVVU5BU0FFS2dJQUlBY2dJQ0FqRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ01RVFYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQUVLQUlBTmdJWUlBVWdBU0FTSUNZUWh3STRBaHdnQlNBY0lBT3pJQ2NnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFBQUN3QUxDd3NnSFNFRERBRUxDeUFGSkFZUEN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dGQ3lBRlFjRElBMEcyM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0VDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3REN5QUZRY0RJQTBIcTNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBHV0FoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dDQ3lBRlFjRElBMEdqM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0JDeUFGUWNESUEwSGMzZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3dzZ0JVR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JSQThJQUFnQVJCQUlBQVFQeEFBQy9BQkFRUi9Jd1loQWlNR1FTQnFKQVlnQVNnQ0VFRUFUQVJBSUFKQndNZ0RRZHUrQVJBM1FjQzhBUkEzUWUraUFoQTNRWk1CRUQ1QjlxSUNFRGRCakw4QkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUJDZ0NBQ2dDSENFRklBUkJDaUFGUVQ5eFFZb0JhaEVDQUNFRUlBSVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRzR4Z0VRZVNBQVFTQnFJQUVRaFFrZ0FoQnJJQUpCeE1ZQkVIa2dBQ0FCSUFCQklHb1E4d2dnQWhCcklBSkIyTVlCRUhrZ0FDQUJFUElJSUFJUWF5QUNRZUhHQVJCNUlBQVE4UWdnQWhCcklBSkI3OFlCRUhrZ0FDQUJFUEFJSUFJUWF5QUNKQVlMUWdFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmRHb2lBallDQ0NBQ0VOTUNEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDFDQXNGSUFBZ0FSRDFBd3NnQWlRR0MwRUJBbjhnQUNnQ0JDRUJBMEFnQUNnQ0NDSUNJQUZIQkVBZ0FDQUNRWFJxSWdJMkFnZ2dBaEJWREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQzQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMTBCQTM4Z0FDZ0NCQ0lFSUFBb0FnQWlBbXRCREJBNUlnTWdBVWtFUUNBQUlBRWdBMnNRK0FnRklBTWdBVXNFUUNBQlFReHNJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FMQ3d0ZUFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRd1FPU0lESUFGSkJFQWdBQ0FCSUFOckVQWUlCU0FESUFGTEJFQWdBVUVNYkNBQ2FpRUNJQVFoQVFOQUlBRWdBa2NFUUNBQlFYUnFJZ0VRMHdJTUFRc0xJQUFnQWpZQ0JBc0xDNWNCQVFGL0lBQkJJR29nQVJDTkNTQUFRZHdBYWlBQkVIUW9BZ0FvQWdRZ0FSQjBLQUlBS0FJSUlBRW9BaEFnQVNnQ0ZCRERDQ0FBSUFFUWRDZ0NBQ2dDQkRZQ0FDQUFJQUVRZENnQ0FDZ0NDRFlDQkNBQVFSQnFJQUFvQWdnUStnaEJBQ0VCQTBBZ0FTQUFLQUlVSUFBb0FoQWlBbXRCREJBNVNRUkFJQUZCREd3Z0Ftb2dBQ2dDREJENUNDQUJRUUZxSVFFTUFRc0xDMEFCQVg4Z0FFR1FBV29RVlNBQVFkd0FhaUlCUVNocUVOSUNJQUZCSEdvUVZTQUFRY2dBYWhCVklBQkJQR29RVlNBQVFTQnFFTklDSUFCQkVHb1FnUWtMSlFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVIMGhxOERhaWdDQURZQ0FFRUFCVUYvQ3dzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lJQzZVQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRSjFJQUZKQkVCQi8vLy8vd01nQVNBRElBQW9BZ0JyUVFKMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlBQkVQNElJQUFnQWhEa0FTQUNFTWNCQ3dVZ0FDQUJFUFlEQ3lBQ0pBWUxJQUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBQ2dDQURZQ0FFRUFCVUYvQ3hvTFFBRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUYwYWlJQkVOTUNEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dTVBUUVCZnlBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQ2pZQ0NDQUFRUW8yQWd3Z0FFRUFOZ0lRSUFCQkFEWUNGQ0FBUVFBMkFoZ2dBRUVCT2dBY0lBQkNBRGNDSUNBQVFnQTNBaWdnQUVFQU5nSXdJQUJEQUFBQUFEZ0NOQ0FBUXdBQUlFRTRBamdnQUVJQU53SThJQUJDQURjQ1JDQUFRZ0EzQWt3Z0FFTUFBQkJCT0FKWUlBQkIzQUJxRU1RSUlBQkJrQUZxSWdGQkFEWUNBQ0FBUVFBMkFwUUJJQUJCQURZQ21BRWdBRUdJSnhEM0F5QUJRU1FRaHdFTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUM4QUtBUVovSXdZaEJTTUdRUkJxSkFZZ0FDZ0NBRUVDUndSQUlBVkJ3TWdEUVp2QUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRZQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQUVFQ1J3UkFJQVZCd01nRFFlTEFBUkEzUWNDOEFSQTNRZStpQWhBM1FkY0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0FFRUNSd1JBSUFWQndNZ0RRWkhCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGdBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NFRUVCUndSQUlBVkJ3TWdEUWNEQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRrQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDRUVFQlJ3UkFJQVZCd01nRFFZN0NBUkEzUWNDOEFSQTNRZStpQWhBM1Fkb0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0VFRUJSd1JBSUFWQndNZ0RRYm5DQVJBM1FjQzhBUkEzUWUraUFoQTNRZHNBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeWdDQUVGMGFpZ0NBQ0FEYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFlVENBUkEzUWNDOEFSQTNRZStpQWhBM1Fkd0FFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJUREFSQTNRY0M4QVJBM1FlK2lBaEEzUWQwQUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRWWZFQVJBM1FjQzhBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFibkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXRCQUNFREEwQWdBeUFCS0FJSVNRUkFJQUFnQXhDRENTRUdJQUVnQXhCUUlRY2dBaUFERUZBaENFRUFJUVFEUUNBRUlBRW9BZ1JKQkVBZ0JFRUNkQ0FHYWlBRVFRSjBJQWRxS2dJQUlBUkJBblFnQ0dvcUFnQ1RPQUlBSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUZKQVlMNWdNQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJRUlBQW9BZ0JHQkVBZ0JFSEF5QU5CaUw0QkVEZEJ3THdCRURkQjc2SUNFRGRCeUFBUVBrSDJvZ0lRTjBHeXZnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJLQUlRUVFCTUJFQWdCRUhBeUFOQjI3NEJFRGRCd0x3QkVEZEI3NklDRURkQnlRQVFQa0gyb2dJUU4wR012d0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCQkVBZ0FVSHc4UUJCK1BFQUVPUUVCRUJCQUNFQ0EwQWdBaUFBS0FJTVNRUkFRUUFoQXdOQUlBTWdBQ2dDRUVrRVFDQUFLQUlBSUFNZ0FpQUFLQUlRYkdwQkJYUnFJQUVnQWlBREVLd0JJQUVnQWlBRFFRRnFJZ01RckFFUWhBa01BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NMSUFSQndNZ0RRYkMvQVJBM1FjQzhBUkEzUWUraUFoQTNRY29BRUQ1QjlxSUNFRGRCK0w4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUF0Q0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRmdhaUlDTmdJSUlBSVEzUUVNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xTZ0VDZnlBQUJIOGdBRUdJaDY4RGFpSUJLQUlBSWdJRVFDQUNFRWtnQVVFQU5nSUFDeUFBUWVDR3B3SnFLQUlBRURnZ0FFSGtocWNDYWlnQ0FCQTRJQUFRT0VFQUJVRi9DeG9Ma0FFQkFuOGdBQ2dDQUNFRElBQW9BZ1FoQWdOQUlBSWdBMGNFUUNBQktBSUVRV0JxSUFKQllHb2lBaENxQnlBQklBRW9BZ1JCWUdvMkFnUU1BUXNMSUFBb0FnQWhBaUFBSUFFb0FnUTJBZ0FnQVNBQ05nSUVJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0FTZ0NCRFlDQUFzckFRRi9JQUFvQWdnaEFnTkFJQUlRdWdNZ0FDQUFLQUlJUVNCcUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzNJQkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUgvLy84L1N3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFRmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRVjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVGZENBRWFqWUNEQXNyQVFGL0lBQW9BZ1FoQWdOQUlBSVF1Z01nQUNBQUtBSUVRU0JxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNklCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFWMUlBRkpCRUJCLy8vL1B5QUJJQU1nQUNnQ0FHdEJCWFZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFSMUlnWWdCaUFEU1J0Qi8vLy9QeUFGUVFWMVFmLy8veDlKR3lBQUtBSUVJQVJyUVFWMUlBQkJDR29RaWdrZ0FpQUJFSWtKSUFBZ0FoQ0lDU0FDRUlZSkN3VWdBQ0FCRUlzSkN5QUNKQVlMd3dJQkNIOGpCaUVFSXdaQkVHb2tCaUFCS0FJSUlBRW9BZ1JyUVFWMVJRUkFJQVJCd01nRFFaVzhBUkEzUWNDOEFSQTNRZStpQWhBM1FUVVFQa0gyb2dJUU4wSEl2UUVRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCUVFCQkFCQ3NBU2dDQUNFRElBRkJBRUVBRUt3QktBSUVJUVVnQVVFQVFRQVFyQUVvQWdnaEJpQUFJQUVvQWhBMkFnd2dBQ0FCS0FJVVFYOXFJZ0UyQWhBZ0FDQUJJQUFvQWd4c0VOUUNRUUFoQVFOQUlBRWdBQ2dDREVrRVFDQUZJQUYySVFjZ0JpQUJkaUVJUVFBaEFnTkFJQUlnQUNnQ0VDSUpTUVJBSUFBb0FnQWdBaUFCSUFsc2FrRUZkR29nQXlBSElBaEJBUkMzQWlBQ1FRRnFJUUlNQVFzTElBRkJBV29oQVF3QkN3c2dCQ1FHQzNNQkJIOGpCaUVESXdaQkVHb2tCaUFEUVFocUlRUWdBQVJBSUFBUVlDRUNRWURSQWhCZ0lBSkJBbXBxRUVRaUFnUkFJQVFnQURZQ0FDQUVRWURSQWpZQ0JDQUNRWSs4QVNBRUVMd0JJQUlnQVJDd0FTRUZJQUlRT0FWQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dzZ0F5UUdJQVVMdlFJQkNIOGpCaUVLSXdaQkVHb2tCaUFESUFGQkJCQTVJZ3MyQWdBZ0JDQUNRUVFRT1NJTU5nSUFJQXNnREd3UVJDSURSUVJBUVFCQkEwRzUyQUlnQ2hBOVFRRVFBUXNnQXlFQ0EwQWdDQ0FNU0FSQVFRQWhDU0FBSUFFZ0NFRUNkQ0lGYkdvaEJDQUFJQUVnQlVFRGNteHFJUVlnQUNBQklBVkJBbkpzYWlFSElBQWdBU0FGUVFGeWJHb2hCUU5BSUFrZ0MwZ0VRQ0FDSUFZdEFBTWdCaTBBQWlBR0xRQUJJQVl0QUFBZ0J5MEFBeUFITFFBQ0lBY3RBQUVnQnkwQUFDQUZMUUFESUFVdEFBSWdCUzBBQVNBRkxRQUFJQVF0QUFNZ0JDMEFBaUFFTFFBQUlBUXRBQUZxYW1wcWFtcHFhbXBxYW1wcWFtcEJFQkE1T2dBQUlBbEJBV29oQ1NBRVFRUnFJUVFnQmtFRWFpRUdJQWRCQkdvaEJ5QUZRUVJxSVFVZ0FrRUJhaUVDREFFTEN5QUlRUUZxSVFnTUFRc0xJQW9rQmlBREN5Y0FJQUFFZnlBQVFmaUdyd05xUVFjMkFnQWdBRUg4aHE4RGFrRUFOZ0lBUVFBRlFYOExHZ3YvQVFFSGZ5TUdJUWtqQmtFUWFpUUdJQU1nQVVFREVEa2lDallDQUNBRUlBSkJBeEE1SWdzMkFnQWdDaUFMYkJCRUlnTkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFESVFJRFFDQUhJQXRJQkVCQkFDRUlJQUFnQVNBSFFRTnNJZ1ZzYWlFRUlBQWdBU0FGUVFKcWJHb2hCaUFBSUFFZ0JVRUJhbXhxSVFVRFFDQUlJQXBJQkVBZ0FpQUdMUUFDSUFZdEFBRWdCaTBBQUNBRkxRQUNJQVV0QUFFZ0JTMEFBQ0FFTFFBQ0lBUXRBQUFnQkMwQUFXcHFhbXBxYW1wcVFRa1FPVG9BQUNBSVFRRnFJUWdnQkVFRGFpRUVJQVpCQTJvaEJpQUZRUU5xSVFVZ0FrRUJhaUVDREFFTEN5QUhRUUZxSVFjTUFRc0xJQWtrQmlBREM5QUJBUVovSXdZaENDTUdRUkJxSkFZZ0F5QUJRUUlRT1NJSk5nSUFJQVFnQWtFQ0VEa2lDallDQUNBSklBcHNFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTFFRQWhCQ0FESVFJRFFDQUVJQXBJQkVCQkFDRUhJQUFnQVNBRVFRRjBJZ1ZzYWlFR0lBQWdBU0FGUVFGeWJHb2hCUU5BSUFjZ0NVZ0VRQ0FDSUFVdEFBRWdCUzBBQUNBR0xRQUFJQVl0QUFGcWFtcEJBblk2QUFBZ0IwRUJhaUVISUFaQkFtb2hCaUFGUVFKcUlRVWdBa0VCYWlFQ0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFna0JpQURDNllEQVFsL0l3WWhDeU1HUVJCcUpBWWdBeUFCUVFNUU9TSU1RUUYwSWdrMkFnQWdCQ0FDUVFNUU9TSU5RUUYwSWdJMkFnQWdBaUFKYkJCRUlnUkZCRUJCQUVFRFFibllBaUFMRUQxQkFSQUJDeUFFSWdJaEF3TkFJQWdnRFVnRVFFRUFJUW9nQUNBQklBaEJBMndpQmtFQ2FteHFJUWNnQUNBQklBWkJBV3BzYWlFRklBQWdBU0FHYkdvaEJpQURJQWxxSVFNRFFDQUtJQXhJQkVBZ0FpQUdMUUFBSUFZdEFBRkJBWFpxSUFVdEFBQkJBWFpxSUFVdEFBRkJBblpxUVFKMFFRa1FTRG9BQUNBRElBY3RBQUFnQlMwQUFFRUJkaUFGTFFBQlFRSjJha0VZZEVFWWRVSC9BWEZxSUFjdEFBRkJBWFpxUVFKMFFRa1FTRG9BQUNBQ0lBWXRBQUlnQmkwQUFVRUJkbW9nQlMwQUFVRUNkbW9nQlMwQUFrRUJkbXBCQW5SQkNSQklPZ0FCSUFNZ0J5MEFBaUFGTFFBQlFRSjJJQVV0QUFKQkFYWnFRUmgwUVJoMVFmOEJjU0FITFFBQlFRRjJhbXBCQW5SQkNSQklPZ0FCSUFwQkFXb2hDaUFIUVFOcUlRY2dCVUVEYWlFRklBWkJBMm9oQmlBQ1FRSnFJUUlnQTBFQ2FpRUREQUVMQ3lBSVFRRnFJUWdnQWlBSmFpRUNEQUVMQ3lBTEpBWWdCQXRPQVFGL0l3WWhCU01HUVJCcUpBWWdBeUFCTmdJQUlBUWdBallDQUNBQklBSnNJZ0VRUkNJQ0JFQWdBaUFBSUFFUVRCb2dCU1FHSUFJUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxhZ0FDZndKQUFrQUNRQUpBQWtBZ0EwRUJhdzRGQUFJRUF3RUVDeUFBSUFFZ0FpQUVJQVVRbEFrTUJBc2dBQ0FCSUFJZ0JDQUZFSk1KREFNTElBQWdBU0FDSUFRZ0JSQ1NDUXdDQ3lBQUlBRWdBaUFFSUFVUWtRa01BUXNnQUNBQklBSWdCQ0FGRUk4SkN3dkZCQUlMZndGOUl3WWhDQ01HUWZBQmFpUUdJQWhCMEFGcUlRa2dDRUhJQVdvaEJpQUlRZUFCYWlFTUlBaEIxQUZxSVFvZ0NFSGdBR29oRGlBSVFjQUJhaUVQSUFFb0FnUWdBU2dDQUNJQmF5SUhRUU4xSWd0QkJFa0VmMEYvQlFKL0lBZEJBWFFRUkNJSFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRc2dDMEVZYkJCRUlnWkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFES0FJQUlRTWdBaWdDQUNFSlFRQWhBZ05BSUFJZ0MwY0VRQ0FDUVFSMElBZHFJQUpCQTNRZ0FXb29BZ0FpRFVFVWJDQURhaW9DQUxzNUF3QWdBa0VFZENBSGFpQU5RUlJzSUFOcUtnSUV1emtEQ0NBQ1FSaHNJQVpxSUFKQkEzUWdBV29vQWdRaURVRU1iQ0FKYWlvQ0FMczVBd0FnQWtFWWJDQUdhaUFOUVF4c0lBbHFLZ0lFdXprRENDQUNRUmhzSUFacVJBQUFBQUFBQUFBQU9RTVFJQUpCQVdvaEFnd0JDd3NnQ2lBTE5nSUlJQW9nQnpZQ0FDQUtJQVkyQWdRZ0FFRUlhaUlBSUFjZ0JpQUxJQTRRbUFSQkFFZ0VRQ0FIRURnZ0JoQTRRWDhNQVFzZ0RDQUFFT01DSWdBMkFnQWdBRVVFUUNBSEVEZ2dCaEE0UVg4TUFRc2dBQ0FLSUE0Z0NDQVBFT29CUVFCSUJIOGdCeEE0SUFZUU9DQU1FT0lDUVg4RlFRQWhBQU5BSUFCQkEwY0VRRUVBSVFFRFFDQUJRUVJIQkVBZ0FFRUVkQ0FFYWlBQlFRSjBhaUFBUVFWMElBaHFJQUZCQTNScUt3TUF0amdDQUNBQlFRRnFJUUVNQVFzTElBQkJBV29oQUF3QkN3c2dEQkRpQWlBSEVEZ2dCaEE0SUFVZ0R5c0RBTFlpRVRnQ0FDQVJRd0FBSUVGZVFSOTBRUjkxQ3dzTElSQWdDQ1FHSUJBTHJRd0RDMzhDZlFGOEl3WWhCaU1HUVRCcUpBWWdCa0VRYWlFSElBWkJDR29oQlNBR1FTeHFJUWdnQmtFb2FpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBQW9BZ3doQkNBQUtBSVFJUUlDZnlBQUtBSVVJZ05CQVVZaUNnUi9JQUVoQ0VFQUJTQUJJQVFnQWlBRElBZ2dDUkNWQ1NJSUJIOUJBUVZCZnd3REN3c2hEQ0FBS0FJQUlBZ2dCQ0FDRUlRSUlBQWdBQ2dDQUJDNUFpSUJLQUlFSUFFb0FnQnJJZ0ZCRkJBNUlnUTJBakFnQVFSQUFrQWdBQ0FBS0FJc0lnRUVmeUFCRURnZ0FDZ0NNQVVnQkF0QkEzUVFSQ0lCTmdJc0lBRkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFBS0FJQUVMa0NJUVFDUUNBS0JFQWdBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RTQU9JQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMDRBZ0FnQWtFRGRDQURhaUFPT0FJRUN5QUNRUUZxSVFJTUFBQUxBQVVDUUFKQUFrQUNRQ0FEUVFKckRnUUJBd0lBQXdzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CU0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFNQS9sQ0FPUXdBQXdEK1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQURBUDVRNEFnQWdBa0VEZENBRGFpQU9Rd0FBd0QrVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CQ0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFBQkFsQ0FPUXdBQUFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUFBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBQUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BeUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFFQkFsQ0FPUXdBQVFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUJBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBUUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFJQkFsQ0FPUXdBQWdFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUNBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBZ0VDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzQUN5QUFRVFJxSVFSQkFDRURBMEFnQXlBQUtBSTRJZ0pPQkVBZ0JDRUFJQUloQVF3Q0N5QUVLQUlBSWdJZ0EwSEVBR3hxSUFBb0FpUWdBMEVNYkdvb0FnZzJBakFnQTBIRUFHd2dBbXBCZnpZQ1BDQURRY1FBYkNBQ2FrRkFheWdDQUVVRVFDQUFLQUlBS0FJQUtBSUFRUXhxSVFJZ0FDZ0NBQ2dDQUNnQ0FDZ0NHQ0lKUVFCT0JFQWdBU2dDQUNBQ0lBQW9BZ0FnQ1JESUJ5QUFLQUlBRUxrQ0lBUW9BZ0FpQlNBRFFjUUFiR29nQTBIRUFHd2dCV3BCTkdvUWxnbEZCRUFnQkNnQ0FDSUZJQU5CeEFCc2FrRUFOZ0k4SUFOQnhBQnNJQVZxSUFJb0FnUWdBaWdDQUd0QkEzVWlBallDT0NBRFFjUUFiQ0FGYWlBQVFUeHFJQWxCQW5ScUtBSUFOZ0l3SUFOQnhBQnNJQVZxS2dJMHV5RVBJQWNnQXpZQ0FDQUhJQUkyQWdRZ0J5QUNOZ0lJSUFjZ0R6a0RFRUVBUVFGQjU3c0JJQWNRUFFzTEN5QURRUUZxSVFNTUFBQUxBQXNGSUFBb0FqZ2hBU0FBSWdSQk5Hb2hBRUVBSVFJRFFDQUNJQUZJQkVBZ0JDZ0NOQ0FDUWNRQWJHcEJmellDUENBQ1FRRnFJUUlNQVFzTEMwRUFJUUlEUUNBQ0lBRklCRUFnQUNnQ0FDQUNRY1FBYkdwQlFHdEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBd0xCRUFnQ0JBNEMwRUFDd1ZCQUVFRFFidTdBU0FHRUQxQkFBc2FJQVlrQmdzR0FDQUFKQVlMUHdFQ2Z5QUFLQUlFSVFJZ0FDZ0NDQ0VCQTBBZ0FTQUNSd1JBSUFBZ0FVRjBhaUlCTmdJSURBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzVjQkFRUi9JQUZCQkdvaUF5Z0NBQ0VDSUFNZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCZEJBNVFReHNJQUpxSWdJMkFnQWdCVUVBU2dSQUlBSWdCQ0FGRUV3YUlBTW9BZ0FoQWdzZ0FDZ0NBQ0VFSUFBZ0FqWUNBQ0FESUFRMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBREtBSUFOZ0lBQzVRQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93Y2dBQ2dDQkNBQUtBSUFhMEVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlnQ0NDQUJMQUFBT2dBQUlBSWdBaWdDQ0VFQmFqWUNDQ0FBSUFJUTF3SWdBaERXQWlBQ0pBWUxDNndCQVFWL0l3WWhBaU1HUVNCcUpBWkIxYXJWcWdFZ0FDZ0NCQ0FBS0FJQWEwRU1FRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVF3UU9TSUZRUUYwSWdZZ0JpQURTUnRCMWFyVnFnRWdCVUdxMWFyVkFFa2JJQUFvQWdRZ0JHdEJEQkE1SUFCQkNHb1ExUUlnQWlnQ0NDSURJQUVwQWdBM0FnQWdBeUFCS0FJSU5nSUlJQUlnQWlnQ0NFRU1hallDQ0NBQUlBSVFtZ2tnQWhDWkNTQUNKQVlMQzdVQkFRVi9Jd1loQWlNR1FTQnFKQVpCekptejVnQWdBQ2dDQkNBQUtBSUFhMEVVRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFSUVFPU0lGUVFGMElnWWdCaUFEU1J0QnpKbXo1Z0FnQlVIbXpKa3pTUnNnQUNnQ0JDQUVhMEVVRURrZ0FFRUlhaEQ2QXlBQ0tBSUlJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFJZ0FpZ0NDRUVVYWpZQ0NDQUFJQUlRK1FNZ0FoRDRBeUFDSkFZTEM0Y01BZzkvQW4wakJpRUhJd1pCOEFCcUpBWWdCMEV3YWlFUElBZEJLR29oRFNBSFFTQnFJUTRnQjBFWWFpRU1JQWRCRUdvaEJDQUhRUWhxSVFNZ0IwSGdBR29oQ0NBSFFkUUFhaUVLSUFkQnlBQnFJUXNnQjBFMGFpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBRW9BZ1FpQWtVRVFFRUFRUU5CajdzQklBTVFQVUYvREFFTEFrQUNRQ0FBS0FJY0lnTkZEUUFnQXhBNElBRW9BZ1FpQWcwQUlBQkJBRFlDSEVFQUlRSU1BUXNnQUNBQ1FZUUJiQkJFSWdNMkFod2dBMFVFUUVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBaEJBTkFJQVFnQWtnRVFDQUFLQUljSUFSQmhBRnNhaUFCS0FJQUlBUkJoQUZzYWtHRUFSQk1HaUFFUVFGcUlRUWdBU2dDQkNFQ0RBRUxDd3NnQUNBQ05nSWdJQUFvQWlRaUFnUkFRUUFoQXdOQUlBTWdBQ2dDS0VnRVFDQURRUXhzSUFKcUtBSUFJZ1FFUUNBRUVEZ2dBQ2dDSkNFQ0N5QURRUUZxSVFNTUFRc0xJQUlRT0FzZ0FTZ0NEQ0lDQkVBQ1FDQUFJQUpCREd3UVJDSUVOZ0lrSUFSRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN3TkFBa0FnQlNBQ1RnUkFJQUloQmd3REN5QUFLQUlrSWdNZ0JVRU1iR29nQVNnQ0NDSUVJQVZCREd4cUtBSUlOZ0lJSUFWQkRHd2dBMm9nQlVFTWJDQUVhaUlNS0FJRU5nSUVJQXdvQWdRaURBUkFJQVZCREd3Z0Eyb2dERUVNYkJCRUlnSTJBZ0FnQWtVTkFVRUFJUU1nQkNFQ0EwQWdBeUFGUVF4c0lBSnFLQUlFU0FSQUlBQW9BaVFnQlVFTWJHb29BZ0FnQTBFTWJHb2lCQ0FGUVF4c0lBSnFLQUlBSUFOQkRHeHFJZ0lwQWdBM0FnQWdCQ0FDS0FJSU5nSUlJQU5CQVdvaEF5QUJLQUlJSVFJTUFRc0xJQUVvQWd3aEFnVWdCVUVNYkNBRWFrRUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzRklBQkJBRFlDSkFzZ0FDQUdOZ0lvSUFBb0FqUWlBZ1JBSUFJUU9DQUFRUUEyQWpRZ0FFRUFOZ0k0Q3lBQktBSU1JZ0ZCQUVvRVFBSkFJQUFnQVRZQ09DQUFJQUZCeEFCc0VFUWlBallDTkNBQ1JRUkFRUUJCQTBHNTJBSWdEUkE5UVFFUUFRdEJBQ0VHQTBBZ0FTQUdSZzBCSUFaQnhBQnNJQUpxUVVCclFRQTJBZ0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUFLQUlnSWcwRWYwRUFJUVpCQUNFQkEwQkJBQ0FHSUFBb0FpaE9EUUlhUVFBaEJBTkFJQVFnQUNnQ0pDQUdRUXhzYWlnQ0JFZ0VRQ0FJUVFBMkFnQWdDRUVBTmdJRUlBaEJBRFlDQ0NBS1FRQTJBZ0FnQ2tFQU5nSUVJQXBCQURZQ0NDQUxRUUEyQWdBZ0MwRUFOZ0lFSUF0QkFEWUNDRUVBSVFJRFFDQUNJQTFJQkVBZ0FDZ0NIQ0lESUFKQmhBRnNhaWdDZ0FFZ0FDZ0NKQ0lGSUFaQkRHeHFLQUlBSUFSQkRHeHFLQUlJUmdSQUlBSkJoQUZzSUFOcUtBSjhJQVpCREd3Z0JXb29BZ2hHQkVBQ1FDQUpJQUpCaEFGc0lBTnFLZ0lBSUFKQmhBRnNJQU5xS2dJRUlBSkJoQUZzSUFOcUtnSndJQUpCaEFGc0lBTnFLZ0owSUFKQmhBRnNJQU5xS0FKNFFRQkhFUHdESUFnb0FnUWlBeUFJS0FJSVNRUkFJQU1nQ1NrQ0FEY0NBQ0FESUFrcEFnZzNBZ2dnQXlBSktBSVFOZ0lRSUFnZ0EwRVVhallDQkFVZ0NDQUpFSjBKQ3lBQUtBSWNJZ01nQWtHRUFXeHFLZ0lJSVJFZ0FrR0VBV3dnQTJvcUFnd2hFaUFKSUJFNEFnQWdDU0FTT0FJRUlBbERBQUFBQURnQ0NDQUtLQUlFSWdNZ0NpZ0NDRWtFUUNBRElBa3BBZ0EzQWdBZ0F5QUpLQUlJTmdJSUlBb2dDaWdDQkVFTWFqWUNCQVVnQ2lBSkVKd0pDMEVBSVFNRFFDQURRZUFBVHcwQklBTWdBQ2dDSENBQ1FZUUJiR3BCRUdwcUlRVWdDeWdDQkNJT0lBc29BZ2hHQkVBZ0N5QUZFSnNKQlNBT0lBVXNBQUE2QUFBZ0N5QUxLQUlFUVFGcU5nSUVDeUFEUVFGcUlRTU1BQUFMQUFzTEN5QUNRUUZxSVFJTUFRc0xJQThnQ0NnQ0JDQUlLQUlBYTBFVUVEazJBZ0JCQUVFQlFiQzdBU0FQRUQwZ0FFRThhaUFCUVFKMGFpQUFLQUlrSWdJZ0JrRU1iR29vQWdnMkFnQWdBQ2dDQUNBSUlBc2dDaUFHUVF4c0lBSnFLQUlBSWdJZ0JFRU1iR29vQWdBZ0JFRU1iQ0FDYWlnQ0JDQUJFSklJSUFzUVZTQUtFRlVnQ0JEWkFpQUVRUUZxSVFRZ0FVRUJhaUVCREFFTEN5QUdRUUZxSVFZTUFBQUxBQVZCQUFzTEJVRUFRUU5CMzdvQklBY1FQVUYvQ3lFUUlBY2tCaUFRQy9VQkFRWi9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUdJQU1nQUJDWUFpQURMQUFBQkVBZ0F5QUFJQUFvQWdCQmRHb2lCQ2dDQUdvb0FoZzJBZ2dnQUNBRUtBSUFhaUlFS0FJRUlRZEJmeUFFS0FKTUVFRUVRQ0FHSUFRUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aENDQUZRU0FnQ0VFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRlFSaDBRUmgxSWdVMkFrd0ZJQVFvQWt3aEJRc2dCaUFES0FJSU5nSUFJQVlnQVNBQklBSnFJZ0lnQVNBSFFiQUJjVUVnUmhzZ0FpQUVJQVZCL3dGeEVKY0JSUVJBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBU0FCS0FJUVFRVnlFTzRCQ3dzZ0F4Q1hBaUFESkFZZ0FBdTdBUUVGZnlNR0lRWWpCa0VRYWlRR0lBQUVRQUpBSUFBb0FnUWhBd05BSUFJZ0EwZ0VRQ0FBS0FJQUlBSkJoQUZzYWlJRUtBSjhJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBbndMSUFKQkFXb2hBZ3dCQ3dzZ0FDZ0NEQ0VEUVFBaEFnTkFJQUlnQTA0RVFFRUFJUUFNQWdzZ0FDZ0NDQ0FDUVF4c2FpSUVLQUlJSWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQWdnTElBSkJBV29oQWd3QUFBc0FDd1ZCQUVFRFFhNjZBU0FHRUQxQmZ5RUFDeUFHSkFZZ0FBdjdCUUVLZnlNR0lRVWpCa0ZBYXlRR0lBVkJPR29oQ0NBRlFUQnFJUWtnQlVFb2FpRUdJQVZCSUdvaEJ5QUZRUmhxSVFvZ0JVRUlhaUVDSUFWQlBHb2lBMEdJdVFFdUFBQTdBQUFnQTBHS3VRRXNBQUE2QUFJZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUNBREVJNEpJZ1JGQkVBZ0FpQUFOZ0lBSUFKQnhQNENOZ0lFSUFKQmdORUNOZ0lJUVFCQkEwRyt1UUVnQWhBOVFYOE1BUXRCQVVFUUVJMENJZ0pGQkVCQkFFRURRYm5ZQWlBS0VEMUJBUkFCQ3lBQ1FRUnFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSUVJZ0JCQVU0RVFBSkFJQUlnQUVHRUFXd1FSQ0lETmdJQUlBTkZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDMEVBSVFNRFFDQURJQUJJQkVBZ0FpZ0NBQ0FEUVlRQmJHcEJDRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFRaHFRUWhCQVNBRUVHRkJBVWNOQWlBQ0tBSUFJQU5CaEFGc2FrRVFha0hzQUVFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRZndBYWtFRVFRRWdCQkJoUVFGSERRSWdBaWdDQUNBRFFZUUJiR3BCZ0FGcVFRUkJBU0FFRUdGQkFVY05BaUFEUVFGcUlRTWdBaWdDQkNFQURBRUxDeUFDUVF4cVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJTUlnQkJBVWdFUUNBQ1FRQTJBZ2dNQWdzZ0FpQUFRUXhzRUVRaUF6WUNDQ0FEUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRURBa0FDUUFOQUFrQWdBeUFBVGcwQ0lBSW9BZ2dnQTBFTWJHcEJDR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dnQTBFTWJHcEJCR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dpQnlBRFFReHNhaWdDQkNJR1FReHNFRVFoQUNBRFFReHNJQWRxSUFBMkFnQWdBRVVOQUNBQVFRd2dCaUFFRUdFZ0JrY05CU0FEUVFGcUlRTWdBaWdDRENFQURBRUxDMEVBUVFOQnVkZ0NJQWtRUFVFQkVBRU1BUXNnQVNBQ05nSUFJQVFRYWtFQURBVUxDd3NMQzBFQVFRTkJnYm9CSUFnUVBTQUNLQUlJSWdBRVFDQUFFRGdMSUFJb0FnQWlBQVJBSUFBUU9Bc2dBaEE0SUFRUWFrRi9Dd1ZCQUVFRFFZdTVBU0FGRUQxQmZ3c2hDeUFGSkFZZ0N3dlhBZ0VFZnlNR0lRSWpCa0VRYWlRR1FhQ0hyd01RUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBa0VJYWlFRElBRkJBRFlDQUNBQlFlU0dwd0pxUVFBMkFnQWdBVUdJaDY4RGFrRUFOZ0lBSUFGQmZ6WUNCQ0FCUVFBMkFnZ2dBVUVCTmdJTUlBRkI1QUEyQWhBZ0FVRUFOZ0lVSUFGQkFEWUNHQ0FCUVFJMkFod2dBVUdRaDY4RGFrUUFBQUFBQUFEZ1B6a0RBQ0FCUVppSHJ3TnFRUU0yQWdBZ0FTQUFOZ0lnSUFFZ0FDZ0NBQ0lFTmdJa0lBRWdBQ2dDQkNJQU5nSW9JQUZCQURZQ0xDQUJRYkQ0QUdwQkFEWUNBQ0FCUWVpR3B3SnFRUUEyQWdBZ0FVSDRpcVlDYWtFQU5nSUFJQUZCNElhbkFtb2dBQ0FFUVFGMGJCQkVJZ0EyQWdBZ0FBUkFJQUZCOElhdkEycEJBRFlDQUNBQlFRQVEvUU1nQVVIMGhxOERha0YvTmdJQUlBRkJBQkQ3QXhvZ0FSQ1FDU0FDSkFZZ0FROEZRUUJCQTBHNTJBSWdBeEE5UVFFUUFRdEJBQXZzQ2dFUWZ5TUdJUTBqQmtFd2FpUUdJQTFCS0dvaEVDQU5RU0JxSVE4Z0RVRVlhaUVKSUExQkVHb2hCaUFOUVFocUlRY2dBRUVBUnlBQlFRQkhjUVIvSUFBb0FnQWlBZ1JBSUFJaUJDRURCU0FBUVJBUVJDSUNOZ0lBSUFJRVFDQUNRUUEyQWdRZ0FrRUFOZ0lBSUFKQkFEWUNEQ0FDUVFBMkFnZ2dBaUlFSVFNRlFRQkJBMEc1MkFJZ0J4QTlRUUVRQVFzTElBRW9BZ0FpREFSQUlBUW9BZ1FpQlNBTUtBSUVJZ2RxSWdKQmhBRnNFRVFpQzBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTFFRQWhCZ05BSUFZZ0JVZ0VRQ0FHUVlRQmJDQUxhaUFFS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMUVFBaEJnTkFJQVlnQjBnRVFDQUZJQVpxUVlRQmJDQUxhaUFNS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMSUFRb0FnQWlCQVJBSUFRUU9DQUFLQUlBSVFNTElBTWdDellDQUNBQUtBSUFJZ2NnQWpZQ0JDQUhLQUlNSVFzZ0FTZ0NBQ0lES0FJTUlReEJBQ0VFUVFBaEJnTkFJQVlnREVnRVFFRUFJUUlDUUFKQUEwQWdBaUFMU0FSQUlBTW9BZ2dnQmtFTWJHb29BZ2dnQnlnQ0NDQUNRUXhzYWlnQ0NFWU5BaUFDUVFGcUlRSU1BUXNMREFFTElBUkJBV29oQkFzZ0JrRUJhaUVHREFFTEN5QUxJQXhxSUFScklnWkJER3dRUkNJT1JRUkFRUUJCQTBHNTJBSWdDUkE5UVFFUUFRc0NRQUpBQTBBZ0NpQUxTQVJBSUFwQkRHd2dEbW9nQUNnQ0FDSUhLQUlJSWdRZ0NrRU1iR29pQWlnQ0NEWUNDQ0FLUVF4c0lBUnFLQUlFSVFSQkFDRUpBMEFnQ1NBTVNBUkFJQUVvQWdBb0FnZ2lBeUFKUVF4c2FpZ0NDQ0FDS0FJSVJnUkFJQVFnQ1VFTWJDQURhaWdDQkdvaEJBc2dDVUVCYWlFSkRBRUxDeUFLUVF4c0lBNXFJZ2tnQkVFTWJCQkVJZ00yQWdBZ0EwVU5BaUFIS0FJSUlBcEJER3hxS0FJRUlRZEJBQ0VGQTBBZ0JTQUhTQVJBSUFrb0FnQWdCVUVNYkdvaUFpQUFLQUlBS0FJSUlBcEJER3hxS0FJQUlBVkJER3hxSWdNcEFnQTNBZ0FnQWlBREtBSUlOZ0lJSUFWQkFXb2hCUXdCQ3d0QkFDRUlBa0FDUUFOQUlBZ2dERWdFUUNBQktBSUFLQUlJSWdNZ0NFRU1iR29vQWdnZ0FDZ0NBQ2dDQ0NBS1FReHNhaWdDQ0VZTkFpQUlRUUZxSVFnTUFRc0xEQUVMUVFBaEJRTkFJQVVnQ0VFTWJDQURhaWdDQkU0TkFTQUpLQUlBSUFVZ0IycEJER3hxSWdJZ0NFRU1iQ0FEYWlnQ0FDQUZRUXhzYWlJREtRSUFOd0lBSUFJZ0F5Z0NDRFlDQ0NBRlFRRnFJUVVnQVNnQ0FDZ0NDQ0VEREFBQUN3QUxJQXBCREd3Z0Rtb2dCRFlDQkNBS1FRRnFJUW9NQVFzTERBRUxRUUJCQTBHNTJBSWdEeEE5UVFFUUFRdEJBQ0VFUVFBaENBSkFBa0FEUUNBSUlBeElCRUFnQVNnQ0FDZ0NDQ0lISUFoQkRHeHFLQUlJSVFWQkFDRUNBa0FDUUFOQUlBSWdDMDROQVNBQ1FRRnFJUU1nQUNnQ0FDZ0NDQ0FDUVF4c2FpZ0NDQ0FGUndSQUlBTWhBZ3dCQ3dzZ0JFRUJhaUVFREFFTElBZ2dDMm9nQkdzaUQwRU1iQ0FPYWlFSklBOUJER3dnRG1vZ0JUWUNDQ0FKSUFoQkRHd2dCMm9vQWdRaUIwRU1iQkJFSWdNMkFnQWdBMFVOQTBFQUlRVURRQ0FGSUFkSUJFQWdDU2dDQUNBRlFReHNhaUlDSUFFb0FnQW9BZ2dnQ0VFTWJHb29BZ0FnQlVFTWJHb2lBeWtDQURjQ0FDQUNJQU1vQWdnMkFnZ2dCVUVCYWlFRkRBRUxDeUFQUVF4c0lBNXFJQWMyQWdRTElBaEJBV29oQ0F3QkN3c01BUXRCQUVFRFFibllBaUFRRUQxQkFSQUJDeUFBS0FJQUlnSkJDR29pQXlnQ0FDSUVCRUJCQUNFREEwQWdBeUFDS0FJTVNBUkFJQU5CREd3Z0JHb29BZ0FRT0NBRFFRRnFJUU1nQUNnQ0FDSUVJUUlnQkNnQ0NDRUVEQUVMQ3lBRUVEZ2dBQ2dDQUVFSWFpRURDeUFESUE0MkFnQWdBQ2dDQUNBR05nSU1JQUVRL3dNTFFRQUZRUUJCQTBHZ3VBRWdEUkE5UVg4TElSRWdEU1FHSUJFTG93RUJBbjhnQUNnQ0FDSUJCSDhnQVNnQ0FDSUNCRUFnQWlnQ0FDRUJJQUpCQURZQ0FDQUJCRUFnQVJEckF5QUJFRGdMSUFJUU9DQUFLQUlBSVFFTElBRW9BaHdpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWlRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FqUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaXdpQWdSL0lBSVFPQ0FBS0FJQUJTQUJDeEE0SUFCQkFEWUNBRUVBQlVGL0N4b0xqQUVCQTM4akJpRUVJd1pCRUdva0JrRUJRYndnRUkwQ0lnTUVRRUVFRUZFaUJSQzdDQ0FESUFVMkFnQWdBeUFBTmdJRUlBTkJBVFlDQ0NBRElBRTJBZ3dnQXlBQ05nSVFJQU5CQVRZQ0ZDQURRWDgyQWhnZ0EwSUFOd0ljSUFOQ0FEY0NKQ0FEUWdBM0Fpd2dBMElBTndJMElBUWtCaUFERHdWQkFFRURRYm5ZQWlBRUVEMUJBUkFCQzBFQUM4Y0JBZ0ovQjMwQ2Z5TUdJUVlqQmtGQWF5UUdJQUFxQWd3Z0FDb0NMQ0lNSUFHVWt5RUpJQUFxQWlRaUJ5QUNsQ0FBS2dJVWt5RUtJQUFxQWlBaUNDQUNsQ0FBS2dJUWt5RUxJQWNnQVpRZ0FDb0NCSk1oQnlBSUlBR1VJQUFxQWdDVElRZ2dBQ29DSENFTklBd2dBcFFoQVFKQURBQUxJQTBnQVpNaEFTQUlJQXFVSUFjZ0M1U1RJZ0pEQUFBQUFGc0VmMEYvQlNBRElBb2dDWlFnQnlBQmxKTWdBcFU0QWdBZ0JDQUlJQUdVSUFzZ0NaU1RJQUtWT0FJQVFRQUxJUUFnQmdza0JpQUFDeWNCQVg4Z0FDZ0NBQ0lCQkg4Z0FSRGlBaUFBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMR2d2VkJnSVBmd0Y5SXdZaENTTUdRZEFBYWlRR0lBbEJQR29oQ0NBSlFUaHFJUVlnQ1VFMGFpRU9JQWxCTUdvaER5QUpRVUJySVJBQ2Z3SkFJQUFFZnlBQVFRaHFJQUVnQ1JENkFTQUlJQU1vQWdBaUJ5QUVRUlJzYWlnQ0NDSUJOZ0lBSUFZZ0JFRVViQ0FIYWlvQ0RDSVZPQUlBUVFBZ0NTQUJ2aUFWSUFnZ0JoRGxBVUVBU0FSL1FYOEZJQUJCdUFGcUloRWdDQ29DQUNBR0tnSUFJQTRnRHhCdFFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUWdnRHlvQ0FFTUFBQUEva2hCRElSSkJBQ0VFUVFBZ0JTZ0NFQ0lBYXlFS0lCSWdBRUVCZEdzaEMwRUFJUUZCQUNFQUlBVW9BaGdoQndOQUlBb2dCU2dDRkVvRVFDQUVJUWNNQlFVZ0M3SWhGVUVBSUFVb0FnZ2lCbXNoRENBSUlBWkJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdFU0FOc2lBVklBNGdEeENtQVVFQVNBUkFJQWRCZ0NBN0FRQUZJQWtnQWlnQ0FDQURLQUlJUVFKMGFpZ0NBQ0FPS2dJQUlBOHFBZ0FnRUJDQkJFRUFTQVJBSUFkQmdDQTdBUUFGSUFjZ0VDMEFBQ0lHT3dFQUlBUkJBV29oQkNBQklBWkIvd0Z4SWdZZ0JteHFJUUVnQUNBR2FpRUFDd3NnREVFQmFpRU1JQTFCQW1vaERTQUhRUUpxSVFjTUFRc0xJQXBCQVdvaENpQUxRUUpxSVFzTUFRc0FBQXNBQ3dzRklBZ2dBeWdDQUNJSElBUkJGR3hxS0FJSUlnQTJBZ0FnQmlBRVFSUnNJQWRxS2dJTUloVTRBZ0JCQUNBQklBQytJQlVnRGlBUEVPVUJRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVJFZ0R5b0NBRU1BQUFBL2toQkRJUk5CQUNBRktBSVFJZ0JySVFvZ0V5QUFRUUYwYXlFTFFRQWhCMEVBSVFSQkFDRUFJQVVvQWhnaEJnTkFJQW9nQlNnQ0ZFb0VRQ0FFSVFFTUJBVWdDN0loRlVFQUlBVW9BZ2dpQ0dzaERDQVJJQWhCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnQVNBQ0tBSUFJQU1vQWdoQkFuUnFLQUlBSUEyeUlCVWdFQkNCQkVFQVNBUkFJQVpCZ0NBN0FRQUZJQVlnRUMwQUFDSUlPd0VBSUFkQkFXb2hCeUFFSUFoQi93RnhJZ2dnQ0d4cUlRUWdBQ0FJYWlFQUN5QU1RUUZxSVF3Z0RVRUNhaUVOSUFaQkFtb2hCZ3dCQ3dzZ0NrRUJhaUVLSUF0QkFtb2hDd3dCQ3dBQUN3QUxDd3dCQ3lBSEJIOGdCU0FCSUFBZ0FHd2dCeEE1YTdLUkVFTTJBaHdnQlNBQU5nSWdJQVVnQnpZQ0pFRUFCVUYvQ3dzaEZDQUpKQVlnRkF1U0FRRURmeU1HSVFNakJrRVFhaVFHUVNnUVJDSUNSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQTBFSWFpRUVJQUlnQURZQ0VDQUNJQUEyQWdnZ0FpQUJOZ0lVSUFJZ0FUWUNEQ0FDSUFFZ0FFRUJhbW9pQURZQ0FDQUNJQUEyQWdRZ0FpQUFRUUYwSUFCc0VFUWlBRFlDR0NBQUJFQWdBeVFHSUFJUEJVRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQUw1d0lCQlg4Z0JDZ0NCQ0VOSUFGQkFYUWhDeUFFS0FJQUlRNGdCQ2dDR0NFS0lBQWdBaUFCSUFOc2Ftb2hBa0VBSVFBRFFDQU1JQTFJQkVCQkFDRURJQUloQVFOQUlBTWdEa2dFUUNBQUlBRXRBQUFnQ2k4QkFHeHFJUUFnQTBFQmFpRURJQXBCQW1vaENpQUJRUUpxSVFFTUFRc0xJQXhCQVdvaERDQUNJQXRxSVFJTUFRc0xJQTVCQVhRaUEwRUlhaUlDSUFoQmZtb2lBU0FOUVFGMGFtd2hDeUFESUFkQmZtb2lDbW9pQ0NBTGFpSUhRUUowSUFWcUtBSUFJQW9nQVNBQ2JDSUJhaUlEUVFKMElBVnFLQUlBYWlBS0lBdHFJZ0pCQW5RZ0JXb29BZ0JySUFFZ0NHb2lBVUVDZENBRmFpZ0NBR3NoQlNBSklBZEJBblFnQm1vb0FnQWdBMEVDZENBR2FpZ0NBR29nQWtFQ2RDQUdhaWdDQUdzZ0FVRUNkQ0FHYWlnQ0FHc2dCU0FGYkNBRUtBSWtJZ0lRT1dzaUFRUi9JQUFnQlNBRUtBSWdiQ0FDRURsclFlUUFiQ0FFS0FJY0VEbEI1QUJzSUFHeWtSQkRFRGtGUVFBTE5nSUFDN0VDQVFKL0lBTW9BZ0FpQndSQUFrQURRQUpBSUFnZ0IwNE5BQ0FJUVFKMElBWnFLQUlBSUFKSURRQWdDRUVCYWlFSURBRUxDeUFISUFoR0JFQWdCMEVEVHcwQklBZEJBblFnQkdvZ0FEWUNBQ0FIUVFKMElBVnFJQUUyQWdBZ0IwRUNkQ0FHYWlBQ05nSUFJQU1nQXlnQ0FFRUJhallDQUF3QkN5QUhRUU5HQkg5QkFnVWdBeUFIUVFGcU5nSUFJQWNMSVFNRFFDQURJQWhLQkVBZ0EwRUNkQ0FFYWlBRFFYOXFJZ2RCQW5RZ0JHb29BZ0EyQWdBZ0EwRUNkQ0FGYWlBSFFRSjBJQVZxS0FJQU5nSUFJQU5CQW5RZ0Jtb2dCMEVDZENBR2FpZ0NBRFlDQUNBSElRTU1BUXNMSUFOQkFuUWdCR29nQURZQ0FDQURRUUowSUFWcUlBRTJBZ0FnQTBFQ2RDQUdhaUFDTmdJQUN3VWdCQ0FBTmdJQUlBVWdBVFlDQUNBR0lBSTJBZ0FnQTBFQk5nSUFDd3VvRFFFY2Z5TUdJUXdqQmtIUUFHb2tCaUFNUVFocUlSTWdEQ0llUWNnQWFpRWJJQXhCUEdvaEhDQU1RVEJxSVIwZ0RFRWthaUVVSUF4QklHb2hGeUFNUVJocUlSOGdERUVRYWlFZ0lBVW9BaEFoSmlBRktBSVVJU1VnQWtGL2FpRVdJQU5CZjJvaEdBTkFBa0FnRVVFRFR3MEFJQkZCQTNRZ0NHb29BZ0FpREVFQVNBMEFJQXhCZkhGQkFuSWlEQ0FHYXlJTlFRQWdEVUVBU2hzaERTQUdJQXhxSWd3Z0ZpQU1JQUpJR3lFWklCRkJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzRnQjJzaERDQUhJQTVxSWc0Z0dDQU9JQU5JR3lFVklBeEJBQ0FNUVFCS0d5RU9BMEFnRGlBVlRBUkFJQUVnRFNJTUlBSWdEbXhxYWlFUEEwQWdEQ0FaVEFSQUlBOUJBRG9BQUNBTVFRRnFJUXdnRDBFQmFpRVBEQUVMQ3lBT1FRRnFJUTRNQVFzTElCRkJBV29oRVF3QkN3c2dHMEVBTmdJQUlDVkJBWFFoRUNBbVFRRjBJUkpCQVNFTVFRQWhEd0pBQWtBRFFBSkFJQTlCQTA4TkFpQVBRUU4wSUFocUtBSUFJZzFCQUVnTkFDQUhJQTlCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc1cUlSWWdEVUY4Y1VFQ2NpSU5JQVpySVJFZ0JpQU5haUVZSUE0Z0Iyc2hEZ05BQWtBZ0RpQVdTZzBBSUE0Z0VrNEVRQUpBSUE0Z0VHb2dBMDROQWlBQ0lBNXNJUmtnRVNFTkEwQWdEU0FZU2cwQklBMGdCU2dDQ0VFQmRFNEVRQ0FOSUFVb0FneEJBWFJxSUFKT0RRSWdBU0FOSUJscWFpSVZMQUFBUlFSQUlCVkJBVG9BQUNBQUlBSWdCQ0FGSUEwZ0RpQVhFSU1FSUEwZ0RpQVhLQUlBSUJzZ0hDQWRJQlFRcXdsQkFDRU1Dd3NnRFVFRWFpRU5EQUFBQ3dBTEN5QU9RUVJxSVE0TUFRc0xJQTlCQVdvaER3d0JDd3NnREVVTkFFRi9JUVlNQVFzZ0JTZ0NBRUVEZEVFZ2FpQUZLQUlFUVFGMFFRaHFiQ0lCRUVRaUVVVUVRRUVBUVFOQnVkZ0NJQjRRUFVFQkVBRUxJQUVRUkNJT1JRUkFRUUJCQTBHNTJBSWdFeEE5UVFFUUFRdEJBQ0VCUVFBaEVrRi9JUVlEUUNBU0lCc29BZ0JJQkVBQ1FBSkFJQVVvQWlRZ0JTZ0NBQ0lOSUFVb0FnUWlCMnhIRFFBQ1FDQUVRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dFa0VDZENBZGFpSWhLQUlBSWdoQmZXb2dCU2dDRUVFQmRHc2lHRUVBU0EwQUlBaEJBMm9nQlNnQ0ZFRUJkR29nQTA0TkFDQVNRUUowSUJ4cUlpSW9BZ0FpQ0VGOWFpQUZLQUlJUVFGMGF5SVpRUUJJRFFBZ0NFRURhaUFGS0FJTVFRRjBhaUFDVGcwQUlBZEJBWFJCQm1vaEl5QU5RUUowUVJCcUlROGdEaUVISUJFaENFRUFJUXdEUUNBTUlBOUlCRUFnQ0VFQU5nSUFJQWRCQURZQ0FDQUhRUVJxSVFjZ0NFRUVhaUVJSUF4QkFXb2hEQXdCQ3dzZ0RVRUJkRUVHYWlFa0lBQWdHU0FDSUJoc2Ftb2hFeUFPSVF3Z0VTRU5RUUFoRmdOQUlCWWdJMGdFUUNBSVFRaHFJU2NnQnlFUFFRQWhFQU5BSUJCQkFrY0VRQ0FJUVFBMkFnQWdEMEVBTmdJQUlCQkJBblFnSDJwQkFEWUNBQ0FRUVFKMElDQnFRUUEyQWdBZ0QwRUVhaUVQSUFoQkJHb2hDQ0FRUVFGcUlSQU1BUXNMSUJNaER5QU1RUWhxSVF3Z0RVRUlhaUVOSUFkQkNHb2hCeUFuSVFoQkFDRVVBMEFnRkNBa1NBUkFJQTh0QUFBZ0ZFRUJjU0lWUVFKMElCOXFJaG9vQWdCcUlSQWdHaUFRTmdJQUlBOHRBQUFpR2lBYWJDQVZRUUowSUNCcUlob29BZ0JxSVJVZ0dpQVZOZ0lBSUFnZ0VDQU5LQUlBYWpZQ0FDQUhJQlVnRENnQ0FHbzJBZ0FnRDBFQmFpRVBJQXhCQkdvaERDQU5RUVJxSVEwZ0IwRUVhaUVISUFoQkJHb2hDQ0FVUVFGcUlSUU1BUXNMSUFJZ0Uyb2hFeUFXUVFGcUlSWU1BUXNMUVFBaENBTkFJQWhCQjBjRVFDQUlJQmhxSVEwZ0NFRUNhaUVQSUFoQmZXb2hFMEVBSVF3RFFDQU1RUWRIQkVBZ0FDQUNJQXdnR1dvZ0RTQUZJQkVnRGlBTVFRSnFJQThnRnhDcUNTQVhLQUlBSWdjZ0FVb0VRQ0FKSUNJb0FnQWdERUY5YW1vMkFnQWdDaUFUSUNFb0FnQnFOZ0lBSUFzZ0I3SkRBRUFjUnBVNEFnQkJBQ0VHSUFjaEFRc2dERUVCYWlFTURBRUxDeUFJUVFGcUlRZ01BUXNMREFFTElCSkJBblFnSFdvb0FnQWlCMEVEYWlFTklCSkJBblFnSEdvaER5QUhRWDFxSVFnRFFDQUlJQTFLRFFFZ0NDQUZLQUlRUVFGMFRnUkFBa0FnQ0NBRktBSVVRUUYwYWlBRFRnMERJQThvQWdBaUIwRURhaUVUSUFkQmZXb2hEQU5BSUF3Z0Uwb05BU0FNSUFVb0FnaEJBWFJPQkVBZ0RDQUZLQUlNUVFGMGFpQUNUZzBDSUFBZ0FpQUVJQVVnRENBSUlCY1Fnd1FnRnlnQ0FDSUhJQUZLQkVBZ0NTQU1OZ0lBSUFvZ0NEWUNBQ0FMSUFleVF3QkFIRWFWT0FJQUlBY2hBVUVBSVFZTEN5QU1RUUZxSVF3TUFBQUxBQXNMSUFoQkFXb2hDQXdBQUFzQUN5QVNRUUZxSVJJTUFRc0xJQkVRT0NBT0VEZ0xJQjRrQmlBR0MzQUJBbjhnQUFSL0lBQkJBVFlDbUFFRFFDQURRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUJCQ0dvZ0EwRUVkR29nQWtFQ2RHb2dBMEVFZENBQmFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FFRi9OZ0tvQVVFQUJVRi9DeG9MeWdzQkczOGpCaUVCSXdaQjRBbHFKQVlnQVVIUUNXb2hGQ0FCUWNnSmFpRVZJQUZCdUFscUlRc2dBVUd3Q1dvaEZpQUJRYUFKYWlFTUlBRkJtQWxxSVJjZ0FVR0lDV29oRFNBQlFlZ0lhaUVZSUFGQjRBaHFJUThnQVVIWUNHb2hHU0FCUWRBSWFpRWFJQUZCeUFocUlSQWdBVUhBQ0dvaEd5QUJRYmdJYWlFUklBRkJzQWhxSVJJZ0FVR29DR29oQ1NBQlFhQUlhaUVLSUFGQm1BaHFJUTRnQVVHUUNHb2hBaUFCUVlnSWFpRUZJQUZCZ0FocUlRZ2dBVUdBQm1vaEJpQUJRWUFFYWlFSElBRkIxQWxxSVFRQ1FBSi9Ba0JCbnRJQ0xBQUFSUTBBUVo3U0FrR2UwZ0lRc3dGRkRRQWdDQ0FBTmdJQUlBaEJudElDTmdJRUlBRkJqN3dCSUFnUXZBRWdBVUdKdGdFUXNBRWlBd1IvUVFFTUFnVWdCU0FBTmdJQVFRQkJBMEdMdGdFZ0JSQTlRYVRGQXlnQ0FCQzlBU0VBSUFKQnA5VUROZ0lBSUFJZ0FEWUNCRUVBUVFOQnBiWUJJQUlRUFVFQUN5RVREQUlMSUFjZ0FFSC9BUkRWQVNBSFFRQTZBUDhCUVFBTElRQkI5QWdRUkNJRlJRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dCU0FBUVFCSElnNEVmeUFHSUFNUTVnRkZCRUFnQXhCcUlBVVFPQXdDQ3lBS0lBUTJBZ0FnQmtHcnRnRWdDaENEQVVFQlJ3UkFJQU1RYWlBRkVEZ01BZ3NnQkNnQ0FDSUFRUUZJQkg4Z0F4QnFJQVVRT0F3Q0JTQUFDd1ZCQVFzaUNqWUNCQ0FGUVFBMkFwZ0JJQVVnQ2tId0FHd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDMEVBSVFBQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUFOZ0lBSUFBZ0NrNE5CeUFTSUFCQkFXbzJBZ0JCQUVFQlFhNjJBU0FTRUQwZ0RnUkFJQVlnQXhEbUFVVU5DQ0FSSUFjMkFnQWdCa0hHdGdFZ0VSQ0RBVUVCUncwSUlBY1EvQVVMUVFCQkFVSEp0Z0VnR3hBOUlBY1F2d2toQUNBRUtBSUFRZkFBYkNBQ2FpQUFOZ0lBSUFCRkRRQkJBRUVCUWZxMkFTQWFFRDFCQUVFQlFZUzNBU0FaRUQwZ0J4Q3hDU0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBZ1FnQUVVTkFrRUFRUUZCK3JZQklCZ1FQU0FFS0FJQVFmQUFiQ0FDYWtFQU5nSUlJQTRFUUNBR0lBTVE1Z0ZGRFFnZ0RTQUVLQUlBSWdCQjhBQnNJQUpxUVF4cU5nSUFJQTBnQUVId0FHd2dBbXBCRUdvMkFnUWdEU0FBUWZBQWJDQUNha0VVYWpZQ0NDQU5JQUJCOEFCc0lBSnFRUmhxTmdJTUlBWkI3TGNCSUEwUWd3RkJCRWNOQkNBR0lBTVE1Z0ZGRFFnZ0RDQUVLQUlBSWdCQjhBQnNJQUpxUVJ4cU5nSUFJQXdnQUVId0FHd2dBbXBCSUdvMkFnUWdEQ0FBUWZBQWJDQUNha0VrYWpZQ0NDQU1JQUJCOEFCc0lBSnFRU2hxTmdJTUlBWkI3TGNCSUF3UWd3RkJCRWNOQlNBR0lBTVE1Z0ZGRFFnZ0N5QUVLQUlBSWdCQjhBQnNJQUpxUVN4cU5nSUFJQXNnQUVId0FHd2dBbXBCTUdvMkFnUWdDeUFBUWZBQWJDQUNha0UwYWpZQ0NDQUxJQUJCOEFCc0lBSnFRVGhxTmdJTUlBWkI3TGNCSUFzUWd3RkJCRWNOQmlBRUtBSUFJUUFGSUFRb0FnQWhBRUVBSVFnRFFDQUlRUU5IQkVCQkFDRUpBMEFnQ1VFRVJ3UkFJQUJCOEFCc0lBSnFRUXhxSUFoQkJIUnFJQWxCQW5ScVF3QUFnRDlEQUFBQUFDQUlJQWxHR3pnQ0FDQUpRUUZxSVFrTUFRc0xJQWhCQVdvaENBd0JDd3NMSUFCQjhBQnNJQUpxUVF4cUlBQkI4QUJzSUFKcVFUeHFFSjRHSUFjUWhRWkJnQUlRUkNFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQW13Z0FFVU5CaUFBSUFkQmdBSVExUUVnQkNnQ0FFRUJhaUVBREFFTEN5QVFJQWMyQWdCQkFFRURRZHUyQVNBUUVEMGdBaEE0SUFVUU9DQURSUTBISUFNUWFnd0hDeUFQSUFjMkFnQkJBRUVEUVppM0FTQVBFRDBnQkNnQ0FFSHdBR3dnQW1vUXVBa2dBaEE0SUFVUU9DQURSUTBHSUFNUWFnd0dDMEVBUVFOQitMY0JJQmNRUFNBREVHcEJBQkFCREFRTFFRQkJBMEg0dHdFZ0ZoQTlJQU1RYWtFQUVBRU1Bd3RCQUVFRFFmaTNBU0FWRUQwZ0F4QnFRUUFRQVF3Q0MwRUFRUU5CdWRnQ0lCUVFQVUVCRUFFTUFRc2dBd1JBSUFNUWFnc2dCQ2dDQUNBS1RnUkFJQVVoRXd3Q0MwRUFFQUVMQ3lBQkpBWWdFd3ROQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVFRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FCRURoQkFDRUJDeUFDSkFZZ0FRc3BBQ0FBSUFGQkEzUWdBR29nQWtFRGRDQUFhaUlCRUlRRUlBQWdBU0FEUVFOMElBQnFFSVFFa2d2SkJ3RVRmeU1HSVFJakJrR0FCV29rQmlBQ1FmQUVhaUVKSUFKQjZBUnFJUW9nQWtIZ0JHb2hDeUFDUWRnRWFpRU1JQUpCMEFScUlRMGdBa0hJQkdvaERpQUNRY0FFYWlFUElBSkJ1QVJxSVJBZ0FrR3dCR29oRVNBQ1FhZ0VhaUVTSUFKQm9BUnFJUVVnQWtHWUJHb2hCaUFDUVpBRWFpRUVJQUpCaUFScUlRRWdBa0dBQkdvaUF5QUFOZ0lBSUFOQm50SUNOZ0lFSUFKQmo3d0JJQU1RdkFFZ0FrR0l1UUVRc0FFaUF3UkFRUWdRUkNJQVJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc0NRQUpBSUFCQkJHcEJCRUVCSUFNUVlVRUJSZ1JBQWtBZ0FDQUFLQUlFSWhOQkZHd1FSQ0lHTmdJQUlBWkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDMEVBSVFVRFFBSkFJQVVnRTA0TkFpQUZRUlJzSUFacVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFTUlRRU1BUXNnQlVFVWJDQUdha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJEeUVCREFFTElBVkJGR3dnQm1wQkVHcEJCRUVCSUFNUVlVRUJSd1JBUVJFaEFRd0JDeUFGUVJSc0lBWnFJZ2hCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUk1oQVF3QkN5QUZRUlJzSUFacUlnY2dDQ2dDQkNJQlFSUnNFRVFpQkRZQ0FDQUVSUVJBUVJZaEFRd0JDMEVBSVFRRFFDQUVJQUZJQkVBZ0J5Z0NBQ0FFUVJSc2FrRUVRUUVnQXhCaFFRRkhCRUJCR1NFQkRBTUxJQWNvQWdBZ0JFRVViR3BCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUnNoQVF3REN5QUhLQUlBSUFSQkZHeHFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRWRJUUVNQXdzZ0J5Z0NBQ0FFUVJSc2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkh5RUJEQU1MSUFjb0FnQWdCRUVVYkdwQkVHcEJCRUVCSUFNUVlVRUJSZ1JBSUFSQkFXb2hCQ0FJS0FJRUlRRU1BZ1ZCSWlFQkRBTUxBQXNMSUFWQkFXb2hCUXdCQ3dzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCREdzT0Z3QUtDZ0VLQWdvRENnb0VDZ29GQ2dZS0J3b0lDZ29KQ2d0QkFFRURRZnUxQVNBU0VEME1DUXRCQUVFRFFmdTFBU0FSRUQwTUNBdEJBRUVEUWZ1MUFTQVFFRDBNQnd0QkFFRURRZnUxQVNBUEVEME1CZ3RCQUVFRFFibllBaUFPRUQxQkFSQUJEQVVMUVFCQkEwSDd0UUVnRFJBOURBUUxRUUJCQTBIN3RRRWdEQkE5REFNTFFRQkJBMEg3dFFFZ0N4QTlEQUlMUVFCQkEwSDd0UUVnQ2hBOURBRUxRUUJCQTBIN3RRRWdDUkE5QzBFQUlRRURRQ0FCSUFWSEJFQWdBVUVVYkNBR2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0JoQTREQUlMQlVFQVFRTkIrN1VCSUFZUVBRd0JDd3dCQ3lBQUVEaEJBQ0VBQ3lBREVHb0ZJQUVnQURZQ0FFRUFRUU5CNXJVQklBRVFQVUVBSVFBTElBSWtCaUFBQ3c4QUlBQW9BZ0JCaEFGcVFRRVFCZ3Y1RFFFUWZ5TUdJUXNqQmtIQUJtb2tCa0VFSVFsQktCQkVJZ2hCQURZQ0FDQUxRUmhxSWdkQkFFSG9BeEJGR2tFQUpBTkJQeUFMUVpnRWFpSU1FQkFoQmlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFoQkJCQjlJZ3BGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVLQ3lBTFFaQUVhaUVQSUF0QmlBUnFJUkFnQzBHQUJHb2hFUUovRUFjZ0NrRUJhMFVOQUJvZ0J5QUdOZ0lBSUF4QjhBQTJBZ0FnREVHRUFXcEJBU0FJUVFRUWp3UWhDQkFISVFsQkFDUURRUUFrQTBFQUlnVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJQVpCQVd0RkRRQWFRUUFMSVFVQ1FBSkFBa0FDUUFOQUFrQWdCUVJBUVFBa0EwSHhBQ0FIRUE4akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUVFoQkFFRURRYWkxQVNBUkVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXc05BUXdDQzBFQUpBTkJBU0FIUWRvQVFlZ0RFQnNqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURRU2NnQnlBQUVCd2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRREFuOUJFeUFIUVFFUUppRVNJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUNrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQlNBS1FRRnJSUTBDSUJKQkFVY0xCRUJCQUNRRFFRaEJBRUVEUWNLMUFTQVFFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRZkVBSUFjUUR5TURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmF3MEREQUlMUVFBa0EwSEFBQ0FIRUJBYUl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGclJRMEJJQWNvQWlRZ0J5Z0NIR3dpRENBSEtBSWdiQ0VGUVFBa0EwSEJBQ0FGRUJBaEJTTURJUVpCQUNRRElBWkJBRWNqQkVFQVIzRUVRQ0FHS0FJQUlBZ2dDUkI5SWdwRkJFQWdCaU1FRUFZTEl3UVFBd1ZCZnlFS0N4QUhJUVlnQ2tFQmEwVUVRQ0FHSVFVTUFnc2dCVVVFUUVFQUpBTkJDRUVBUVFOQnVkZ0NJQThRRVNNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYTBVTkFrRUFKQU5COFFBZ0J4QVBJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJEUVFNQWd0QkFDRU5BMEFnQnlnQ2pBRWdCeWdDZEVrRVFFRUFJUVlEUUNBR1FRVkhCRUFnQmtFQ2RDQUxhaUFGSUF3Z0JpQU5hbXhxTmdJQUlBWkJBV29oQmd3QkN3dEJBQ1FEUVJrZ0J5QUxRUVVRSVNFVEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpRGtVRVFDQUdJd1FRQmdzakJCQURCVUYvSVE0TEVBY2hCaUFPUVFGclJRUkFJQVloQlF3RUN5QVRJQTFxSVEwTUFRc0xRUUFrQTBIQ0FDQUhFQkFhSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJpQUtRUUZyUlFSQUlBWWhCUXdDQzBFQUpBTkI4UUFnQnhBUEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hGQ0FLUVFGckRRUWdGQ0VGREFFTEMwRUFJUVVNQXd0QkFDRUZEQUlMUVFBaEJRd0JDeUFCQkVBZ0FTQUhLQUljTmdJQUN5QUNCRUFnQWlBSEtBSWdOZ0lBQ3lBREJFQWdBeUFIS0FJa05nSUFDeUFFQkVBQ1FBSkFBa0FDUUNBSExBQ2lBaUlBUVFGckRnSUFBUUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5T0FJQURBVUxEQUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5UTF5UElrQ1VPQUlBREFRTERBRUxJQUJCL3dGeFFRSktCRUFnQnk0QnBBSkZCRUFnQnk0QnBnSkZCRUFnQkNBQVFmOEJjYkk0QWdBTUJRc0xDd3NnQkVNQUFBQUFPQUlBQ3dzZ0NCQTRJQXNrQmlBRkMvNFRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQkNnQ0FDSUdJUWNnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSklBRklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUhRUUpxSVFjZ0NVRUJhaUVKSUFWQkFtb2hCUXdCQ3dzZ0JpRUhRUUFoQ1NBQlFYOXFJaEZCQVhRZ0Jtb2hCUU5BSUFrZ0FrZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUpRUUZxSVFrZ0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hEa0VCSVF4QkFDRURJQUFnQkNnQ0JHb2hDU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FNSUJCT0RRSWdBeUVBUVFFaENnTkFJQW9nRVVnRVFDQU5MUUFBSUE0dEFBQktCRUFDUUNBSlFYODZBQUFnRWtFQmRDQUdhaUlETGdFQUlnVkJBRW9FUUNBR0lBVTdBUUFnQlVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQTBGK2FpNEJBQ0lGSVFnZ0JVRUFTaUVMSUFNdUFRSWlBMEVBVEFSQUlBc0VRQ0FHSUFVN0FRQWdDRUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NrZ0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBR1FYNXFMZ0VBSWdOQkFFb0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ01vQWdBZ0NrNE5BaUFESUFvMkFnQUZJQUJCLy84QlNnMEdJQVlnQUVFQmFpSURPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dBMEVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NqWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRElRQUxEQUVMSUFzRVFBSkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUdRWDVxTGdFQUlnVkJBRXdFUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZQ0EwQUJxSWdVb0FnQWdDa29FUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lBeUFNSUFNb0FnQnFOZ0lBQ3dVZ0JrRUFPd0VBSUFsQkFEb0FBQXNnRFVFQmFpRU5JQTVCQVdvaERpQUpRUUZxSVFrZ0NrRUJhaUVLSUFaQkFtb2hCZ3dCQ3dzZ0RVRUNhaUVOSUE1QkFtb2hEaUFNUVFGcUlRd2dBQ0VESUFsQkFtb2hDU0FHUVFScUlRWU1BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUZRUUVoQUVFQklRa2dCeUVHQTBBZ0NTQURUQVJBSUFrZ0JpZ0NBQ0lOUmdSQUlBQkJBV29oQndVZ0FDRUhJQTFCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQmlBQU5nSUFJQWNoQUNBSlFRRnFJUWtnQmtFRWFpRUdEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQlVFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRY0RRQ0FISUFCSUJFQWdCRUdNZ0FocUlBZEJBblFpQmtFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQmtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0JrRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dCa0VEY2tFQ2RHcEJBRFlDQUNBSFFRRnFJUWNNQVFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUJ5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQnlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUIwRURkR29pQmlBR0t3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQjBFQmNrRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUJrZ0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXRoQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVJRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUlBRkJDR29nQVVFTWFpQUJRUVJxSUFGQkVHb1Fzd2tpQURZQ0FDQUFSUVJBSUFFUU9FRUFJUUVMSUFJa0JpQUJDeUFBSUFFZ0FpQURyU0FFclVJZ2hvUWdCU0FHSUFCQkEzRkI2Z1pxRVNVQUN5a0JBWDRnQVNBQ3JTQURyVUlnaG9RZ0JDQUFRUU54UWFZRGFoRVVBQ0lGUWlDSXB4QURJQVduQzNZQkEzOGdBQVIvSUFBb0FnQWlBZ1IvQTBBZ0FpZ0NBQ0VESUFFZ0FpZ0NCRWdFUUNBQlFRSjBJQU5xS0FJQUtBSUFFRGdnQUNnQ0FDZ0NBQ0FCUVFKMGFpZ0NBQkE0SUFGQkFXb2hBU0FBS0FJQUlRSU1BUXNMSUFNUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTElBQWdBU0FDSUFNZ0JDQUZyU0FHclVJZ2hvUWdBRUVIY1VHZUEyb1JGUUFMQmdCQkZoQUNDd1lBUVJVUUFndVpCZ0VKZnlNR0lRa2pCa0V3YWlRR0lBa2hCa0VJRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQVpCSUdvaENDQUdRUmhxSVFJZ0JrRVFhaUVCSUFaQkNHb2hBd0pBQWtBQ1FDQUhRUVJxSWdSQkJFRUJJQUFRWVVFQlJ3MEFJQVFvQWdBaUJFRUJTQTBBSUFjZ0JFRUNkQkJFSWdNMkFnQWdBMFVFUUVFQVFRTkJ1ZGdDSUFFUVBVRUJFQUVMUVFBaEFRSkFBa0FEUUNBQklBUklCRUFnQVVFQ2RDQURha0VRRUVRaUJUWUNBQ0FGUlEwQ0lBRkJBV29oQVF3QkN3c01BUXRCQUVFRFFibllBaUFDRUQxQkFSQUJDMEVBSVFFQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0FTQUVUZzBHSUFGQkFuUWdBMm9pQWlnQ0FFRUVha0VFUVFFZ0FCQmhRUUZIRFFBZ0FpZ0NBRUVJYWtFRVFRRWdBQkJoUVFGSERRSWdBaWdDQUVFTWFrRUVRUUVnQUJCaFFRRkhEUU1nQWlnQ0FDSUZLQUlFSUFVb0FnaHNFRVFoQlNBQ0tBSUFJQVUyQWdBZ0JVVU5CQ0FCUVFGcUlRRWdBaWdDQUNJRktBSUFRUUVnQlNnQ0JDQUZLQUlJYkNBQUVHRWdBaWdDQUNJQ0tBSUVJQUlvQWdoc1JnMEJEQVVMQzBFQUlRSURRQ0FCSUFKSEJFQWdBa0VDZENBRGFpZ0NBQ2dDQUJBNElBSkJBV29oQWd3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBHSUFGQkFuUWdBMm9vQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5CU0FCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxRUUFoQWdOQUlBRWdBa2NFUUNBQ1FRSjBJQU5xS0FJQUtBSUFFRGdnQWtFQmFpRUNEQUVMQzBFQUlRRURRQ0FCSUFSR0RRUWdBVUVDZENBRGFpZ0NBQkE0SUFGQkFXb2hBUXdBQUFzQUMwRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTUFndEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkFpQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTElBQVFhZ3dCQ3lBREVEZ01BZ3NNQWd0QkFFRURRYmUwQVNBREVEMExJQWNRT0NBQUVHcEJBQ0VIQ3lBR0pBWWdCd3NHQUVFVEVBSUxCZ0JCRUJBQ0M0SUdBUTUvSXdZaEF5TUdRZUFBYWlRR0lBQVFZRUVHYWhCRUlnaEZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDeUFEUWNnQWFpRUpJQU5CUUdzaENpQURRVGhxSVF3Z0EwRXdhaUVOSUFOQktHb2hBaUFEUVNCcUlRUWdBMEVZYWlFQklBTkJFR29oQnlBRFFkQUFhaUVMSUFOQkNHb2lCaUFBTmdJQUlBWkJnYlFCTmdJRUlBaEIvTE1CSUFZUXZBRWdDRUdJdVFFUXNBRWhCU0FJRURnZ0JRUi9BbjlCQ0JCRUlnWkZCRUJCQUVFRFFibllBaUFCRUQxQkFSQUJDd0pBQWtBZ0JrRUVhaUlCUVFSQkFTQUZFR0ZCQVVjTkFDQUJLQUlBSWdkQkFVZ05BQ0FDSUFjMkFnQkJBRUVCUWRDMEFTQUNFRDBnQmlBSFFRSjBJZ1FRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBTkVEMUJBUkFCQ3lBQ1FSQVFSQ0lCTmdJQUlBRkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDeUFGRUxVSklnRkZCRUFnQ2lBQU5nSUFJQXBCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDaEE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQVVRK1FJZ0JSQzhDUXdEQ3lBQktBSUVRUUZIQkVBZ0NTQUFOZ0lBSUFsQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ1JBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFFUU9DQUZFR3BCQUF3REN5QUNLQUlBSWdBZ0FTZ0NDRFlDQkNBQUlBRW9BZ3cyQWdnZ0FDQUJLQUlRTmdJTUlBQWdBU2dDQURZQ0FDQUJFRGdnQlVFRUlBUnJRUUlROUFGQkFTRUVBa0FDUUFKQUEwQUNRQ0FFSUFkT0RRTWdDMEVFUVFFZ0JSQmhRUUZIRFFBZ0JFRUNkQ0FDYWlBQ0tBSUFJQXNxQWdBUXhBa2lBRFlDQUNBQVJRMENJQVJCQVdvaEJBd0JDd3RCQUNFQkEwQWdBU0FFUmcwRElBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VCQTBBZ0FTQUVSZzBDSUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUFzZ0JSQnFJQVlNQXdzZ0FoQTREQUVMUVFCQkEwRzN0QUVnQkJBOUN5QUdFRGdnQlJCcVFRQUxCU0FISUFBMkFnQWdCMEdCdEFFMkFnUkJBRUVEUVllMEFTQUhFRDFCQUFzaERpQURKQVlnRGdzSUFFRUVFQUpCQUFzSUFFRUNFQUpCQUFzUEFFRUJFQUpFQUFBQUFBQUFBQUFMRHdCQkFCQUNSQUFBQUFBQUFBQUFDNXdEQWhGL0FYMGpCaUVKSXdaQkVHb2tCaUFBS0FJRXNpQUJsQ0FBS2dJTUloT1ZFTHNCSVFvZ0FDZ0NDTElnQVpRZ0U1VVF1d0VoQzBFUUVFUWlCVVVFUUVFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVMSUFsQkNHb2hBeUFGSUFvMkFnUWdCU0FMTmdJSUlBVWdBVGdDRENBRklBb2dDMndRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dOQUlBWWdDMGdFUUNBQUtnSU1JaE1nQnJLVUlBR1ZFTHNCSVE4Z0V5QUdRUUZxSWdheWxDQUJsUkM3QVNFRUlBQW9BZ2dpQXlBRUlBUWdBMG9iSVJCQkFDRUhJQUloQkFOQUlBY2dDa2dFUUNBQUtnSU1JaE1nQjdLVUlBR1ZFTHNCSVJFZ0V5QUhRUUZxSWdleWxDQUJsUkM3QVNFQ0lBQW9BZ1FpRGlBQ0lBSWdEa29iSVJKQkFDRUNRUUFoQXlBUElRZ0RRQ0FJSUJCSUJFQWdBQ2dDQUNBUklnd2dDQ0FPYkdwcUlRMERRQ0FNSUJKSUJFQWdBaUFOTFFBQWFpRUNJQXhCQVdvaERDQU5RUUZxSVEwZ0EwRUJhaUVEREFFTEN5QUlRUUZxSVFnTUFRc0xJQVFnQWlBREVEazZBQUFnQkVFQmFpRUVEQUVMQ3lBRUlRSU1BUXNMSUFra0JpQUZDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VIaUJtb1JEUUFMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVIY1VIYUJtb1JEQUFMR0FBZ0FTQUNJQU1nQkNBRklBQkJQM0ZCbWdacUVRVUFDeFlBSUFFZ0FpQURJQVFnQUVFZmNVSDZCV29SQndBTEZBQWdBU0FDSUFNZ0FFRURjVUgyQldvUkJnQUxGQUFnQVNBQ0lBTWdBRUVCY1VIMEJXb1JHQUFMRkFBZ0FTQUNJQU1nQUVFQmNVSHlCV29SR1FBTERnQWdBRUVCY1VHcUEyb1JDd0FMSGdBZ0FTQUNJQU1nQkNBRklBWWdCeUFJSUFCQkQzRkJqZ05xRVE0QUN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUdHQTJvUkR3QUxrZ0VCQW44Z0FBUkFJQUJCaUxrQkVMQUJJZ0VFUUFKQUlBRkJBRUVDRVBRQklBRVErQUloQWlBQlFRQkJBQkQwQVNBQ1FRRnFFRVFpQUVVRVFDQUJFR3BCcE1VRFFUQTJBZ0JCQUNFQURBRUxJQUFnQWtFQklBRVFZVVVFUUNBQUVEZ2dBUkJxUVFBaEFBd0JDeUFBSUFKcVFRQTZBQUFnQVJCcUN3VkJBQ0VBQ3dWQnBNVURRUncyQWdCQkFDRUFDeUFBQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCUDNGQnhnSnFFUW9BQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCQTNGQndnSnFFUnNBQ3hnQUlBRWdBaUFESUFRZ0JTQUFRUjl4UWFJQ2FoRUlBQXNZQUNBQklBSWdBeUFFSUFVZ0FFRUhjVUdhQW1vUkV3QUxGZ0FnQVNBQ0lBTWdCQ0FBUVE5eFFZb0NhaEVKQUFzVUFDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFBc1NBQ0FCSUFJZ0FFRS9jVUdLQVdvUkFnQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUJjVUdJQVdvUklnQUxFQUFnQVNBQVFmOEFjVUVJYWhFQUFBc05BQ0FBUVFGeFFRWnFFUkFBQzg4QkFRVi9Jd1loQkNNR1FTQnFKQVlnQkVFUWFpRUdJQUZGUWRDRkFTZ0NBQ0FBU25KRkJFQWdBU3dBQUFSQUlBUWdBaWdDQURZQ0FFRUFRUUFnQVNBRUVLa0JJZ2NFUUNBQVFRUkpCSDhnQUVFQ2RFSEFGV29vQWdBUVlFRURhZ1ZCQUFzaUJTQUhha0VCYWhCRUlRTWdCUVJBSUFZZ0FFRUNkRUhBRldvb0FnQTJBZ0FnQXlBRlFRRnFRZDJ6QVNBR0VLTUNHZ3NnQXlBRmFpQUhRUUZxSUFFZ0FoQ3BBUnBCcElnQktBSUFJUUFnQXhCZ0lnRWdBMEVCSUFFZ0FCQ1RBVWNhSUFNUU9Bc0xDeUFFSkFZTEVRQWdBU0FDSUFCQkFYRkJCR29SSGdBTERBQWdBU0FBUVFOeEVSSUFDeWtBSUFCRUFBQUFBQUFBNEQrZ25DQUFSQUFBQUFBQUFPQS9vWnNnQUVRQUFBQUFBQUFBQUdZYkN4QUFJd05GQkVBZ0FDUURJQUVrQkFzTEt3QWdBRUgvQVhGQkdIUWdBRUVJZFVIL0FYRkJFSFJ5SUFCQkVIVkIvd0Z4UVFoMGNpQUFRUmgyY2d1UkJ3RUlmeUFBS0FJRUlnWkJlSEVoQWdKQUlBWkJBM0ZGQkVBZ0FVR0FBa2tOQVNBQ0lBRkJCR3BQQkVBZ0FpQUJhMEdNMVFNb0FnQkJBWFJOQkVBZ0FBOExDd3dCQ3lBQUlBSnFJUVFnQWlBQlR3UkFJQUlnQVdzaUFrRVBUUVJBSUFBUEN5QUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQkNBRUtBSUVRUUZ5TmdJRUlBRWdBaENRQkNBQUR3dEJ4TkVES0FJQUlBUkdCRUJCdU5FREtBSUFJQUpxSWdJZ0FVME5BU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJRElBSWdBV3NpQVVFQmNqWUNCRUhFMFFNZ0F6WUNBRUc0MFFNZ0FUWUNBQ0FBRHd0QndORURLQUlBSUFSR0JFQWdBa0cwMFFNb0FnQnFJZ01nQVVrTkFTQURJQUZySWdKQkQwc0VRQ0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBWEkyQWdRZ0FDQURhaUlESUFJMkFnQWdBeUFES0FJRVFYNXhOZ0lFQlNBQUlBTWdCa0VCY1hKQkFuSTJBZ1FnQUNBRGFpSUJJQUVvQWdSQkFYSTJBZ1JCQUNFQlFRQWhBZ3RCdE5FRElBSTJBZ0JCd05FRElBRTJBZ0FnQUE4TElBUW9BZ1FpQTBFQ2NRMEFJQUlnQTBGNGNXb2lCeUFCU1EwQUlBTkJBM1loQlNBRFFZQUNTUVJBSUFRb0FnZ2lBaUFFS0FJTUlnTkdCRUJCck5FRFFhelJBeWdDQUVFQklBVjBRWDl6Y1RZQ0FBVWdBaUFETmdJTUlBTWdBallDQ0FzRkFrQWdCQ2dDR0NFSUlBUWdCQ2dDRENJQ1JnUkFBa0FnQkVFUWFpSURRUVJxSWdVb0FnQWlBZ1JBSUFVaEF3VWdBeWdDQUNJQ1JRUkFRUUFoQWd3Q0N3c0RRQUpBSUFKQkZHb2lCU2dDQUNJSlJRUkFJQUpCRUdvaUJTZ0NBQ0lKUlEwQkN5QUZJUU1nQ1NFQ0RBRUxDeUFEUVFBMkFnQUxCU0FFS0FJSUlnTWdBallDRENBQ0lBTTJBZ2dMSUFnRVFDQUVLQUljSWdOQkFuUkIzTk1EYWlJRktBSUFJQVJHQkVBZ0JTQUNOZ0lBSUFKRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUF3REN3VWdDRUVRYWlJRElBaEJGR29nQXlnQ0FDQUVSaHNnQWpZQ0FDQUNSUTBDQ3lBQ0lBZzJBaGdnQkNnQ0VDSURCRUFnQWlBRE5nSVFJQU1nQWpZQ0dBc2dCQ2dDRkNJREJFQWdBaUFETmdJVUlBTWdBallDR0FzTEN3c2dCeUFCYXlJQ1FSQkpCRUFnQUNBR1FRRnhJQWR5UVFKeU5nSUVJQUFnQjJvaUFTQUJLQUlFUVFGeU5nSUVCU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0FDQUhhaUlESUFNb0FnUkJBWEkyQWdRZ0FTQUNFSkFFQ3lBQUR3dEJBQXUvQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lHQkg4Z0FDZ0NDRUgvLy8vL0IzRkJmMm9oQkNBQUtBSUVCVUVCSVFRZ0EwSC9BWEVMSVFNZ0JDQURheUFDU1FSQUlBQWdCQ0FDSUFOcUlBUnJJQU1nQTBFQUlBSWdBUkNTQkFVZ0FnUkFJQVlFZnlBQUtBSUFCU0FBQ3lJRUlBTkJBblJxSUFFZ0FoQ25BU0FDSUFOcUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN5QUZRUUEyQWdBZ0FVRUNkQ0FFYWlBRkVHNExDeUFGSkFZTHNBRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUJDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFrZ1FGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9rRUN5QUZRUUEyQWdBZ0FrRUNkQ0FEYWlBRkVHNGdBQ3dBQzBFQVNBUkFJQUFnQWpZQ0JBVWdBQ0FDT2dBTEN3c2dCU1FHQzdrQkFRUi9Jd1loQlNNR1FSQnFKQVlnQUN3QUN5SURRUUJJSWdZRWZ5QUFLQUlJUWYvLy8vOEhjVUYvYWlFRUlBQW9BZ1FGUVFvaEJDQURRZjhCY1FzaEF5QUVJQU5ySUFKSkJFQWdBQ0FFSUFJZ0Eyb2dCR3NnQXlBRFFRQWdBaUFCRUpRRUJTQUNCRUFnQXlBR0JIOGdBQ2dDQUFVZ0FBc2lCR29nQVNBQ0VLZ0JJQUlnQTJvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBVkJBRG9BQUNBQklBUnFJQVVRWHdzTElBVWtCZ3UzQVFFRWZ5TUdJUVFqQmtFUWFpUUdJQUVFUUNBQUxBQUxJZ05CQUVnRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFOQi93RnhJUUpCQ2dzaUJTQUNheUFCU1FSL0lBQWdCU0FCSUFKcUlBVnJJQUlnQWhEZEFpQUFMQUFMQlNBREMwRUFTQVIvSUFBb0FnQUZJQUFMSWdNZ0Ftb2dBVUVBRUpVRUlBRWdBbW9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFSQkFEb0FBQ0FCSUFOcUlBUVFYd3NnQkNRR0M2ME1BeUovQVg0Q2ZDTUdJUUlqQmtIZ0Uyb2tCaUFDUWRBVGFpRWFJQUpCeUJOcUlRNGdBa0c0RTJvaEN5QUNRYkFUYWlFUElBSkJxQk5xSVJBZ0FrR1lFMm9oRENBQ1FaQVRhaUVSSUFKQmlCTnFJUmNnQWtHQUUyb2hFaUFDUWZnU2FpRVlJQUpCOEJKcUlSTWdBa0hvRW1vaEZDQUNRZUFTYWlFSUlBSkIyQkpxSVFVZ0FrSFFFbW9oRlNBQ1FjZ1NhaUVESUFKQndCSnFJUW9nQWtHQUVtb2hCeUFDUVlBUWFpRUdJQUpCM0JOcUlSc2dBa0hZRTJvaERTQUNRZFFUYWlFY0lBQkJpYllCRUxBQklna0VRQUpBSUFZZ0NSRHBBU0FWSUEwMkFnQWdCa0dydGdFZ0ZSQ0RBVUVCUndSQUlBVWdBRFlDQUVFQVFRTkI0SzRCSUFVUVBTQUpFR3BCQUNFQURBRUxJQTBvQWdBaUJVSEFBbXdRUkNJRFJRUkFRUUJCQTBHNTJBSWdDQkE5UVFFUUFRc2dBVVVoSFVFQUlRb0NRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FGVGcwSElBWWdDUkRwQVNBRVFjQUNiQ0FEYWlFRklCUWdCRUhBQW13Z0Eyb2lDRUc0QW1vMkFnQWdGQ0FiTmdJRUlBUkJ3QUpzSUFOcUlBWkJ4YThCSUJRUWd3RkJBVVlFZnlBRklBZ3BBN2dDSWlTblFmLy9BWEZCQUNBa1FvQ0EvdjhQZzFBYk5nSUFRUUloQ0VFQkJTQWREUUVnQWlBQUVJNEdSUTBESUFJZ0JrSC9EeUFDRUdCckVPd0VJQVVnQVNBQ0VLb0RJZ1UyQWdBZ0JVRUFTQTBFUVFFaENFRUFDellDQkNBR0lBa1E2UUVnRnlBRVFjQUNiQ0FEYWlJV1FRaHFOZ0lBSUFaQjdiRUJJQmNRZ3dGQkFVY05CQ0FHSUFrUTZRRWdEQ0FFUWNBQ2JDQURha0VRYWlJWk5nSUFJQXdnQkVIQUFtd2dBMm9pSGtFWWFqWUNCQ0FNSUFSQndBSnNJQU5xUVNCcU5nSUlJQXdnQkVIQUFtd2dBMm9pSDBFb2FqWUNEQ0FHUWRxeUFTQU1FSU1CUVFSR0JIOUJBUVVnRUNBVk5nSUFJQkFnSERZQ0JDQUdRZXF5QVNBUUVJTUJRUUpIRFFaQkFBc2hCU0FJSUFweUlRb0RRQ0FHSUFrUTZRRWdDeUFFUWNBQ2JDQURha0VRYWlBRlFRVjBhallDQUNBTElBUkJ3QUpzSUFOcUlBVkJCWFJxUVJocU5nSUVJQXNnQkVIQUFtd2dBMm9nQlVFRmRHcEJJR28yQWdnZ0N5QUVRY0FDYkNBRGFpQUZRUVYwYWtFb2FqWUNEQ0FHUWRxeUFTQUxFSU1CUVFSSERRY2dCVUVCYWlJRlFRTkpEUUFMSUJrZ0JFSEFBbXdnQTJwQjhBQnFFS2tHSUFjZ0Zpc0RDQ0lsUkFBQUFBQUFBT0Mvb2lJbU9RTUFJQWNnSlVRQUFBQUFBQURnUDZJaUpUa0RDQ0FISUNVNUF4QWdCeUFsT1FNWUlBY2dKVGtESUNBSElDWTVBeWdnQnlBbU9RTXdJQWNnSmprRE9DQUVRY0FDYkNBRGFpRUlJQVJCd0FKc0lBTnFJUllnQkVIQUFtd2dBMm9oSUNBRVFjQUNiQ0FEYWlFaElBUkJ3QUpzSUFOcUlTSWdCRUhBQW13Z0Eyb2hJMEVBSVFVRFFDQUZRUVJIQkVBZ0JFSEFBbXdnQTJwQjBBRnFJQVZCR0d4cUlCOHJBeWdnR1NzREFDQUZRUVIwSUFkcUt3TUFJaWFpSUI0ckF4Z2dCVUVFZENBSGFpc0RDQ0lsb3FDZ09RTUFJQVJCd0FKc0lBTnFJQVZCR0d4cUlDQXJBMGdnSmlBSUt3TXdvaUFsSUJZckF6aWlvS0E1QTlnQklBUkJ3QUpzSUFOcUlBVkJHR3hxSUNNckEyZ2dKaUFoS3dOUW9pQWxJQ0lyQTFpaW9LQTVBK0FCSUFWQkFXb2hCUXdCQ3dzZ0JFRUJhaUVFSUEwb0FnQWhCUXdCQ3dzZ0V5QUFOZ0lBSUJNZ0JqWUNCRUVBUVFOQnpLOEJJQk1RUFF3R0N5QVlJQUEyQWdCQkFFRURRY3l3QVNBWUVEME1CUXNnRWlBQU5nSUFJQklnQWpZQ0JFRUFRUU5Cb0xFQklCSVFQUXdFQ3lBUklBQTJBZ0FnRVNBRVFRRnFOZ0lFUVFCQkEwSHhzUUVnRVJBOURBTUxJQThnQURZQ0FDQVBJQVJCQVdvMkFnUkJBRUVEUWZDeUFTQVBFRDBNQWdzZ0RpQUFOZ0lBSUE0Z0JFRUJhallDQkVFQVFRTkI4TElCSUE0UVBRd0JDeUFKRUdwQmlBRVFSQ0lBUlFSQVFRQkJBMEc1MkFJZ0doQTlRUUVRQVFzZ0FDQUROZ0lBSUFBZ0RTZ0NBRFlDQkNBQVFRQTJBb0FCSUFCQkFEWUNhQ0FLUVFOeFFRTkdCRUFnQUVFQ05nSnNCU0FLUVFGeEJFQWdBRUVBTmdKc0JTQUFRUUUyQW13TEN5QUFSQUFBQUFBQUFPQS9PUU53SUFCRUFBQUFBQUFBNEQ4NUEzZ01BUXNnQ1JCcUlBTVFPRUVBSVFBTEJTQUtJQUEyQWdCQkFFRURRYXV1QVNBS0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVFBaEFBc2dBaVFHSUFBTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNGSUFoQkFEc0JBQ0FNUVFBNkFBQUxJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxyZ0VCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRbEFRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPY0JHZ3NnQlVFQU9nQUFJQUlnQTJvZ0JSQmZJQUFzQUF0QkFFZ0VRQ0FBSUFJMkFnUUZJQUFnQWpvQUN3c0xJQVVrQmd0QUFRSi9RZGkxQWhCZ0lnSkJEV29RVVNJQklBSTJBZ0FnQVNBQ05nSUVJQUZCQURZQ0NDQUJRUXhxSWdGQjJMVUNJQUpCQVdvUVRCb2dBQ0FCTmdJQUN5NEFBMEFnQUNnQ0FFRUJSZzBBQ3lBQUtBSUFSUVJBSUFCQkFUWUNBQ0FCUWJ3RUVRRUFJQUJCZnpZQ0FBc0xWQUVCZnlBQUtBSUlCRUFnQUNBQUtBSUlJZ0ZCZjJvMkFnZ2dBVVVFUUNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQlNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3hzQUlBQWdBU2dDQUNJQU5nSUFJQUFnQUNnQ0JFRUJhallDQkF0T0FRTi9JQUlnQVd0QkFuWWhCeUFCSVFBRFFDQUFJQUpIQkVBZ0JDQUFLQUlBSWdaQi93RnhJQU1nQmtHQUFVa2JPZ0FBSUFSQkFXb2hCQ0FBUVFScUlRQU1BUXNMSUFkQkFuUWdBV29MRVFBZ0FVSC9BWEVnQWlBQlFZQUJTUnNMS1FBRFFDQUJJQUpIQkVBZ0F5QUJMQUFBTmdJQUlBTkJCR29oQXlBQlFRRnFJUUVNQVFzTElBSUxDZ0FnQVVFWWRFRVlkUXRCQUFOQUlBRWdBa2NFUUNBQklBRW9BZ0FpQUVHQUFVa0VmMEcwaUFFb0FnQWdBU2dDQUVFQ2RHb29BZ0FGSUFBTE5nSUFJQUZCQkdvaEFRd0JDd3NnQWdzZUFDQUJRWUFCU1FSL1FiU0lBU2dDQUNBQlFRSjBhaWdDQUFVZ0FRc0xuUXdDQW44VWZDQUFLd01JSWdvZ0FDc0RLQ0lMb2lBQUt3TVFJZ2tnQUNzRElDSVFvcUVoQkNBSklBQXJBeGdpRGFJZ0FDc0RBQ0lJSUF1aW9TRUhJQWdnRUtJZ0NpQU5vcUVpQXlBRG9pQUVJQVNpSUFjZ0I2S2dvSjhpQlVRQUFBQUFBQUFBQUdJRVFDQURJQVdqSVFZZ0NDQUhJQVdqSWhHaUlnTWdDaUFFSUFXaklnK2lJaE9oSWhKRUFBQUFBQUFBQUFCaUJId2dEeUVFSUFnaEJTQUtJUTRnRVNFSElBa0ZJQWtnQ2lBSUlBYWlJQWtnRDZLaFJBQUFBQUFBQUFBQVlpSUJHeUVPUVFGQkFpQUJHeUVDSUE0Z0R5QUdJQUViSWdTaUloSWhFeUFJSUFrZ0FSc2lCU0FHSUJFZ0FSc2lCNklpQXlBU29TRVNJQkVnRHlBQkd5RUdJQW9nQ0NBQkd3c2hEQ0FJSUEyaUlBb2dFS0tnSUFrZ0M2S2dJZ2lhSUFnZ0NFUUFBQUFBQUFBQUFHTWJJZ2hFQUFBQUFBQUE4RCtnbjBRQUFBQUFBQUR3UHlBSW9aK2dSQUFBQUFBQUFPQS9vaUVVSUJKRUFBQUFBQUFBQUFCaUJFQWdEaUFHb2lBTUlBZWlvU0FTb3lJT0lBNmlJQVVnQnFJZ0RDQUVvcUVnRXlBRG9TSURveUlJSUFpaW9FUUFBQUFBQUFEd1A2QWhDaUFPSUJRZ0I2SWdFcU1pQmFJZ0NDQVVJQVNpSUFPaklnbWlvQ0lQSUEraUlBb2dCU0FGb2lBSklBbWlvRVFBQUFBQUFBRHd2NkNpb1NJRFJBQUFBQUFBQUFBQVkwVUVRQ0FGSUE0Z0E1OGlEQ0FQb1NBS295SVJvcUFoQXlBSklBZ2dFYUtnSVJJZ0JTQU9JQSthSUF5aElBcWpJZ3Fpb0NFRklBa2dDQ0FLb3FBaENDQU5BbndDUUFKQUFrQWdBa0VEY1VFQmF3NENBQUVDQ3lBSUlRNGdDaUVJSUFVaENpQVNJUThnRVNFU0lBTWhFU0FFSVFNZ0J5RUVJQVlNQWdzZ0JTRU9JQU1oRHlBR0lRTWdCd3dCQ3lBS0lRNGdCU0VLSUJFaER5QURJUkVnQkNFRElBWWhCQ0FIQ3lJRm9pSVZJQkFnQTZJaUZxRWlFMFFBQUFBQUFBQUFBR0lFZnlBRElRY2dEU0VKSUJBaERDQUZJUVpCQUFVZ0N5QVFJQTBnQktJZ0N5QURvcUZFQUFBQUFBQUFBQUJpSWdFYklRd2dEU0FMSUFFYklna2dCQ0FGSUFFYklnYWlJZ3NoRlNBTUlBTWdCQ0FCR3lJSG9pSUVJUllnQ3lBRW9TRVRJQkFnRFNBQkd5RUxJQVVnQXlBQkd5RUVRUUZCQWlBQkd3c2hBaUFUUkFBQUFBQUFBQUFBWWdSQUlBd2dCS0lnQ3lBR29xRWdFNk1pQXlBRG9pQUpJQVNpSUFzZ0I2S2hJQllnRmFFaUJhTWlCQ0FFb3FCRUFBQUFBQUFBOEQrZ0lRMGdBeUFVSUFhaUlCT2pJZ2FpSUFRZ0ZDQUhvaUFGb3lJSG9xQWlDeUFMb2lBTklBWWdCcUlnQnlBSG9xQkVBQUFBQUFBQThMK2dvcUVpQlVRQUFBQUFBQUFBQUdORkJFQWdCaUFESUFXZkloQWdDNkVnRGFNaUNhS2dJUXdnQnlBRUlBbWlvQ0VGSUFZZ0F5QUxtaUFRb1NBTm95SURvcUFoQmlBSElBUWdBNktnSVFjQ1FBSkFBa0FDUUNBQ1FRTnhRUUZyRGdJQUFRSUxJQWNoQkNBRElRY2dCaUVESUFVaEJpQUpJUVVnRENFSkRBSUxJQVloQkNBTUlRWU1BUXNnQXlFRUlBWWhBeUFKSVFZZ0RDRUpDeUFLSUFtaUlBZ2dCYUtnSUE0Z0JxS2dJZ3lhSUF3Z0RFUUFBQUFBQUFBQUFHTWJJUXdnQ2lBRG9pQUlJQWVpb0NBT0lBU2lvQ0lObWlBTklBMUVBQUFBQUFBQUFBQmpHeUVOSUJFZ0NhSWdFaUFGb3FBZ0R5QUdvcUFpQzVvZ0N5QUxSQUFBQUFBQUFBQUFZeHNpQ3lBUklBT2lJQklnQjZLZ0lBOGdCS0tnSWhDYUlCQWdFRVFBQUFBQUFBQUFBR01iSWhCakJFQWdDeUFNWXdSQUlBc2dEV01FUUNBQUlCRTVBd0FnQUNBU09RTUlJQUFnRHprREVDQUFJQWs1QXhnZ0FDQUZPUU1nSUFBZ0Jqa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0FDQURPUU1ZSUFBZ0J6a0RJQ0FBSUFRNUF5Z0xCU0FBSUFvNUF3QWdBQ0FJT1FNSUlBQWdEamtERUNBTUlBMWpCRUFnQUNBSk9RTVlJQUFnQlRrRElDQUFJQVk1QXlnRklBQWdBemtER0NBQUlBYzVBeUFnQUNBRU9RTW9Dd3NGSUJBZ0RHTUVRQ0FRSUExakJFQWdBQ0FST1FNQUlBQWdFamtEQ0NBQUlBODVBeEFGSUFBZ0Nqa0RBQ0FBSUFnNUF3Z2dBQ0FPT1FNUUN5QUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0RDQU5Zd1JBSUFBZ0NUa0RHQ0FBSUFVNUF5QWdBQ0FHT1FNb0JTQUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQXNMQ3dzTEN3c0xDMEVBQTBBZ0FTQUNSd1JBSUFFZ0FTZ0NBQ0lBUVlBQlNRUi9RYVNLQVNnQ0FDQUJLQUlBUVFKMGFpZ0NBQVVnQUFzMkFnQWdBVUVFYWlFQkRBRUxDeUFDQ3g0QUlBRkJnQUZKQkg5QnBJb0JLQUlBSUFGQkFuUnFLQUlBQlNBQkN3dEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJUdzBBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054QkVBZ0FrRUVhaUVDREFJTEN3c2dBZ3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCU1FSQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeERRRUxJQUpCQkdvaEFnd0JDd3NnQWd0R0FBTkFJQUVnQWtjRVFDQURJQUVvQWdCQmdBRkpCSDlCb0lvQktBSUFJQUVvQWdCQkFYUnFMd0VBQlVFQUN6c0JBQ0FEUVFKcUlRTWdBVUVFYWlFQkRBRUxDeUFDQ3lrQUlBSkJnQUZKQkg4Z0FVR2dpZ0VvQWdBZ0FrRUJkR291QVFCeFFmLy9BM0ZCQUVjRlFRQUxDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhNb2dGQnpLSUJFTFFCRU1zQkN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSGtvZ0ZCNUtJQkVMUUJFTXNCQ3d3QUlBQWdBVUVRYWhEZUFnc0hBQ0FBS0FJTUN3Y0FJQUFvQWdnTEN3QWdBQkNaQkNBQUVEZ0xIZ0FnQUVJQU53SUFJQUJCQURZQ0NDQUFRWTJqQTBHTm93TVFZQkIrQ3g0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVHVG93TkJrNk1ERUdBUWZnc01BQ0FBSUFGQkRHb1EzZ0lMQndBZ0FDd0FDUXNIQUNBQUxBQUlDd3NBSUFBUW1nUWdBQkE0Q3lvQkFYeEJmeUFBS3dNQUlBRXJBd0NoSWdKRUFBQUFBQUFBQUFCa0lBSkVBQUFBQUFBQUFBQmpHd3N6QUFOQUlBRWdBa2NFUUNBRUlBRXNBQUFpQUNBRElBQkJmMG9iT2dBQUlBUkJBV29oQkNBQlFRRnFJUUVNQVFzTElBSUxFZ0FnQVNBQ0lBRkJHSFJCR0hWQmYwb2JDeWtBQTBBZ0FTQUNSd1JBSUFNZ0FTd0FBRG9BQUNBRFFRRnFJUU1nQVVFQmFpRUJEQUVMQ3lBQ0N3UUFJQUVMUkFBRFFDQUJJQUpIQkVBZ0FTQUJMQUFBSWdCQmYwb0VmMEcwaUFFb0FnQWdBU3dBQUVFQ2RHb29BZ0JCL3dGeEJTQUFDem9BQUNBQlFRRnFJUUVNQVFzTElBSUxMUUFnQVVFWWRFRVlkVUYvU2dSL1FiU0lBU2dDQUNBQlFSaDBRUmgxUVFKMGFpZ0NBRUgvQVhFRklBRUxDMFFBQTBBZ0FTQUNSd1JBSUFFZ0FTd0FBQ0lBUVg5S0JIOUJwSW9CS0FJQUlBRXNBQUJCQW5ScUtBSUFRZjhCY1FVZ0FBczZBQUFnQVVFQmFpRUJEQUVMQ3lBQ0N5c0FJQUZCR0hSQkdIVkJmMG9FZjBHa2lnRW9BZ0FnQVVIL0FYRkJBblJxS0FJQVFmOEJjUVVnQVFzTEN3QWdBQkNiQkNBQUVEZ0xOd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBRWdBRUVRYWtZRVFDQUFRUUE2QUlBQkJTQUFLQUlJR2lBQkVEZ0xDd3NMQUNBQUVKd0VJQUFRT0F1UUJnRUNmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUxnRUFJZ1pCLy84RGNTSURRZi8vd3dCTEJFQkJBaUVBREFFTElBWkIvLzhEY1VHQUFVZ0VRQ0FFSUFVb0FnQWlBR3RCQVVnRVFFRUJJUUFNQWdzZ0JTQUFRUUZxTmdJQUlBQWdCam9BQUFVQ1FDQUdRZi8vQTNGQmdCQklCRUFnQkNBRktBSUFJZ0JyUVFKSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CQm5aQndBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFL2NVR0FBWEk2QUFBTUFRc2dCa0gvL3dOeFFZQ3dBMGdFUUNBRUlBVW9BZ0FpQUd0QkEwZ0VRRUVCSVFBTUJBc2dCU0FBUVFGcU5nSUFJQUFnQTBFTWRrSGdBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFRWjJRVDl4UVlBQmNqb0FBQ0FGSUFVb0FnQWlBRUVCYWpZQ0FDQUFJQU5CUDNGQmdBRnlPZ0FBREFFTElBWkIvLzhEY1VHQXVBTk9CRUFnQmtILy93TnhRWURBQTBnRVFFRUNJUUFNQkFzZ0JDQUZLQUlBSWdCclFRTklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkRIWkI0QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRUdka0UvY1VHQUFYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVQ5eFFZQUJjam9BQUF3QkN5QUJJQUJyUVFSSUJFQkJBU0VBREFNTElBQkJBbW9oQmlBQUx3RUNJZ0JCZ1BnRGNVR0F1QU5IQkVCQkFpRUFEQU1MSUFRZ0JTZ0NBR3RCQkVnRVFFRUJJUUFNQXdzZ0FFSC9CM0VnQTBIQUIzRWlCMEVLZEVHQWdBUnFJQU5CQ25SQmdQZ0RjWEp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQUlnQmpZQ0FDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBZEJCblpCQVdvaUJrRUNka0h3QVhJNkFBQWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdRUVIwUVRCeElBTkJBblpCRDNGeVFZQUJjam9BQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFOQkJIUkJNSEVnQUVFR2RrRVBjWEpCZ0FGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMQ3lBQ0lBSW9BZ0JCQW1vaUFEWUNBQXdCQ3dzZ0FBdThCZ0VGZnlBQ0lBQTJBZ0FnQlNBRE5nSUFBMEFDUUNBQ0tBSUFJZ01nQVU4RVFFRUFJUUFNQVFzZ0JTZ0NBQ0lJSUFSUEJFQkJBU0VBREFFTElBTXNBQUFpQmtIL0FYRWlDVUgvLzhNQVN3UkFRUUloQUF3QkN5QUNJQVpCZjBvRWZ5QUlJQVpCL3dGeE93RUFJQU5CQVdvRkFuOGdCa0gvQVhGQndnRklCRUJCQWlFQURBTUxJQVpCL3dGeFFlQUJTQVJBSUFFZ0EydEJBa2dFUUVFQklRQU1CQXNnQXkwQUFTSUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc2dDVUVHZEVIQUQzRWdBRUUvY1hJaUFFSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFQ2Fnd0JDeUFHUWY4QmNVSHdBVWdFUUNBQklBTnJRUU5JQkVCQkFTRUFEQVFMSUFNc0FBRWhCeUFETFFBQ0lRQUNRQUpBQWtBZ0JrRmdheUlHQkVBZ0JrRU5SZ1JBREFJRkRBTUxBQXNnQjBIZ0FYRkJvQUZIQkVCQkFpRUFEQWNMREFJTElBZEI0QUZ4UVlBQlJ3UkFRUUloQUF3R0N3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CUXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdFQ3lBQVFUOXhJQWxCREhRZ0IwRS9jVUVHZEhKeUlnQkIvLzhEY1VILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVEYWd3QkN5QUdRZjhCY1VIMUFVNEVRRUVDSVFBTUF3c2dBU0FEYTBFRVNBUkFRUUVoQUF3REN5QURMQUFCSVFjZ0F5MEFBaUVBSUFNdEFBTWhBd0pBQWtBQ1FBSkFJQVpCY0dzT0JRQUNBZ0lCQWdzZ0IwSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0JFQkJBaUVBREFZTERBSUxJQWRCOEFGeFFZQUJSd1JBUVFJaEFBd0ZDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3REN5QURRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dCQ0FJYTBFRVNBUkFRUUVoQUF3REN5QURRVDl4SWdZZ0FFRUdkQ0lLUWNBZmNTQUhRZjhCY1NJRFFReDBRWURnRDNFZ0NVRUhjU0lIUVJKMGNuSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBZ2dBMEVFZGtFRGNTQUhRUUowY2tFR2RFSEEvd0JxSUFOQkFuUkJQSEVnQUVFRWRrRURjWEp5UVlDd0EzSTdBUUFnQlNBSVFRSnFOZ0lBSUFnZ0JpQUtRY0FIY1hKQmdMZ0RjanNCQWlBQ0tBSUFRUVJxQ3dzMkFnQWdCU0FGS0FJQVFRSnFOZ0lBREFFTEN5QUFDNU1FQVFkL0lBRWhCeUFBSVFFRFFBSkFJQUVnQjBrZ0JpQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTSUlRZi8vd3dCTERRQWdBMEYvU2dSL0lBRkJBV29GQW44Z0EwSC9BWEZCd2dGSURRSWdBMEgvQVhGQjRBRklCRUFnQnlBQmEwRUNTQTBESUFFdEFBRWlCRUhBQVhGQmdBRkhJQWhCQm5SQndBOXhJQVJCUDNGeVFmLy93d0JMY2cwRElBRkJBbW9NQVFzZ0EwSC9BWEZCOEFGSUJFQWdCeUFCYTBFRFNBMERJQUVzQUFFaEJDQUJMUUFDSVFVQ1FBSkFBa0FnQTBGZ2F5SURCRUFnQTBFTlJnUkFEQUlGREFNTEFBc2dCRUhnQVhGQm9BRkhEUVlNQWdzZ0JFSGdBWEZCZ0FGSERRVU1BUXNnQkVIQUFYRkJnQUZIRFFRTElBVkJ3QUZ4UVlBQlJ5QUZRVDl4SUFoQkRIUkJnT0FEY1NBRVFUOXhRUVowY25KQi8vL0RBRXR5RFFNZ0FVRURhZ3dCQ3lBSElBRnJRUVJJSUFJZ0JtdEJBa2x5SUFOQi93RnhRZlVCVG5JTkFpQUJMQUFCSVFVZ0FTMEFBaUVFSUFFdEFBTWhDUUpBQWtBQ1FBSkFJQU5CY0dzT0JRQUNBZ0lCQWdzZ0JVSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0RRVU1BZ3NnQlVId0FYRkJnQUZIRFFRTUFRc2dCVUhBQVhGQmdBRkhEUU1MSUFsQndBRnhRWUFCUnlBSlFUOXhJQVJCQm5SQndCOXhJQWhCRW5SQmdJRHdBSEVnQlVFL2NVRU1kSEp5Y2tILy84TUFTM0lnQkVIQUFYRkJnQUZIY2cwQ0lBWkJBV29oQmlBQlFRUnFDd3NoQVNBR1FRRnFJUVlNQVFzTElBRWdBR3NMQ3dBZ0FpQURJQVFRa3dvTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1NDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDUkNpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xDd0FnQUJDZUJDQUFFRGdMS2dFQmZ5QUFLQUlJSWdBRVFDQUFFR0loQVJDYkF5RUFJQUVFUUNBQkVHSWFDd1ZCQVNFQUN5QUFDM01CQkg4Z0F5RUZBMEFDUUNBQ0lBVkdJQVlnQkU5eURRQWdBQ2dDQ0JCaUlRZEJBQ0FDSUFVZ0Ftc2dBVUhJeFFNZ0FSc1Exd0VoQXlBSEJFQWdCeEJpR2dzQ1FBSkFJQU5CZm1zT0F3SUNBQUVMUVFFaEF3c2dCa0VCYWlFR0lBTWdDR29oQ0NBQ0lBTnFJUUlNQVFzTElBZ0xVQUVFZnlBQUtBSUlFR0loQVFKL0l3WWhBeU1HUVJCcUpBWWdBd3NrQmlBQkJFQWdBUkJpR2dzZ0FDZ0NDQ0lBQkg4Z0FCQmlJUUFRbXdNaEJDQUFCRUFnQUJCaUdnc2dCRUVCUmdWQkFRc0xtQUVCQW44akJpRUZJd1pCRUdva0JpQUVJQUkyQWdBZ0FDZ0NDQkJpSVFJZ0JTSUFRUUFRbmdFaEFTQUNCRUFnQWhCaUdnc2dBVUVCYWtFQ1NRUi9RUUlGSUFGQmYyb2lBU0FESUFRb0FnQnJTd1IvUVFFRkEzOGdBUVIvSUFBc0FBQWhBaUFFSUFRb0FnQWlBMEVCYWpZQ0FDQURJQUk2QUFBZ0FFRUJhaUVBSUFGQmYyb2hBUXdCQlVFQUN3c0xDeUVHSUFVa0JpQUdDL2tEQVFaL0l3WWhEQ01HUVJCcUpBWWdEQ0VKSUFJaENBTkFBa0FnQXlBSVJnUkFJQU1oQ0F3QkN5QUlMQUFBQkVBZ0NFRUJhaUVJREFJTEN3c2dCeUFGTmdJQUlBUWdBallDQUNBR0lRb2dDQ0VHQWtBQ1FBSkFBMEFDUUNBQ0lBTkdJQVVnQ2taeURRTWdDU0FCS1FJQU53TUFJQUFvQWdnUVlpRUlJQVVnQkNBR0lBSnJJQW9nQld0QkFuVWdBUkR3QkNFTElBZ0VRQ0FJRUdJYUN5QUxRWDlHRFFBZ0J5QUhLQUlBSUF0QkFuUnFJZ1UyQWdBZ0JTQUtSZzBDSUFRb0FnQWhBaUFESUFaR0JFQWdBeUVHQlNBQUtBSUlFR0loQmdKL0lBVWdBa0VCSUFFUTF3RWhEU0FHQkVBZ0JoQmlHZ3NnRFFzRVFFRUNJUUFNQmdzZ0J5QUhLQUlBUVFScU5nSUFJQVFnQkNnQ0FFRUJhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHTEFBQUJFQWdCa0VCYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzQ1FBSkFBMEFDUUNBSElBVTJBZ0FnQWlBRUtBSUFSZzBESUFBb0FnZ1FZaUVJSUFVZ0FpQUdJQUpySUFrUTF3RWhBU0FJQkVBZ0NCQmlHZ3NDUUFKQUlBRkJmbXNPQXdRQ0FBRUxRUUVoQVFzZ0FTQUNhaUVDSUFjb0FnQkJCR29oQlF3QkN3c2dCQ0FDTmdJQVFRSWhBQXdFQ3lBRUlBSTJBZ0JCQVNFQURBTUxJQVFnQWpZQ0FDQUNJQU5ISVFBTUFnc2dCQ2dDQUNFQ0N5QUNJQU5ISVFBTElBa2tCaUFBQzVnRUFRWi9Jd1loRFNNR1FSQnFKQVlnRFNJS1FRaHFJUXNnQWlFSUEwQUNRQ0FESUFoR0JFQWdBeUVJREFFTElBZ29BZ0FFUUNBSVFRUnFJUWdNQWdzTEN5QUhJQVUyQWdBZ0JDQUNOZ0lBSUFZaENTQUlJUVlDUUFKQUFrQURRQUpBSUFJZ0EwWWdCU0FKUm5JTkF5QUtJQUVwQWdBM0F3QWdBQ2dDQ0JCaUlRZ2dCU0FFSUFZZ0FtdEJBblVnQ1NBRmF4RG9CQ0VNSUFnRVFDQUlFR0lhQ3dKQUFrQWdERUYvYXc0Q0FnQUJDMEVCSVFBTUJRc2dCeUFNSUFjb0FnQnFJZ1UyQWdBZ0JTQUpSZzBDSUFNZ0JrWUVRQ0FESVFZZ0JDZ0NBQ0VDQlNBQUtBSUlFR0loQlNBTFFRQVFuZ0VoQWlBRkJFQWdCUkJpR2dzZ0FrRi9SZ1JBUVFJaEFBd0dDeUFDSUFrZ0J5Z0NBR3RMQkVCQkFTRUFEQVlMSUFzaEJRTkFJQUlFUUNBRkxBQUFJUVlnQnlBSEtBSUFJZ2hCQVdvMkFnQWdDQ0FHT2dBQUlBVkJBV29oQlNBQ1FYOXFJUUlNQVFzTElBUWdCQ2dDQUVFRWFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdLQUlBQkVBZ0JrRUVhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NnQnlBRk5nSUFBMEFDUUNBQ0lBUW9BZ0JHRFFBZ0FpZ0NBQ0VESUFBb0FnZ1FZaUVCSUFVZ0F4Q2VBU0VESUFFRVFDQUJFR0lhQ3lBRFFYOUdEUUFnQnlBRElBY29BZ0JxSWdVMkFnQWdBa0VFYWlFQ0RBRUxDeUFFSUFJMkFnQkJBaUVBREFJTElBUW9BZ0FoQWdzZ0FpQURSeUVBQ3lBS0pBWWdBQXNSQUNBRElBSnJJZ0FnQkNBQUlBUkpHd3VQQXdFQmZ5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBS0FJQUlnQkJnSEJ4UVlDd0EwWWdBRUgvLzhNQVMzSUVRRUVDSVFBTUFRc2dBRUdBQVVrRVFDQUVJQVVvQWdBaUEydEJBVWdFUUVFQklRQU1BZ3NnQlNBRFFRRnFOZ0lBSUFNZ0FEb0FBQVVDUUNBQVFZQVFTUVJBSUFRZ0JTZ0NBQ0lEYTBFQ1NBUkFRUUVoQUF3RUN5QUZJQU5CQVdvMkFnQWdBeUFBUVFaMlFjQUJjam9BQUF3QkN5QUVJQVVvQWdBaUEyc2hCaUFBUVlDQUJFa0VRQ0FHUVFOSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCREhaQjRBRnlPZ0FBQlNBR1FRUklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkVuWkI4QUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRU1ka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFR2RrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMSUFJZ0FpZ0NBRUVFYWlJQU5nSUFEQUVMQ3lBQUM3a0ZBUVYvSUFJZ0FEWUNBQ0FGSUFNMkFnQURRQUpBSUFJb0FnQWlCaUFCVHdSQVFRQWhBQXdCQ3lBRktBSUFJZ29nQkU4RVFFRUJJUUFNQVFzZ0Jpd0FBQ0lIUWY4QmNTRURJQWRCZjBvRWZ5QURRZi8vd3dCTEJIOUJBaUVBREFJRlFRRUxCUUovSUFkQi93RnhRY0lCU0FSQVFRSWhBQXdEQ3lBSFFmOEJjVUhnQVVnRVFDQUJJQVpyUVFKSUJFQkJBU0VBREFRTElBWXRBQUVpQUVIQUFYRkJnQUZIQkVCQkFpRUFEQVFMUVFJZ0EwRUdkRUhBRDNFZ0FFRS9jWElpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI4QUZJQkVBZ0FTQUdhMEVEU0FSQVFRRWhBQXdFQ3lBR0xBQUJJUWdnQmkwQUFpRUFBa0FDUUFKQUlBZEJZR3NpQndSQUlBZEJEVVlFUUF3Q0JRd0RDd0FMSUFoQjRBRnhRYUFCUndSQVFRSWhBQXdIQ3d3Q0N5QUlRZUFCY1VHQUFVY0VRRUVDSVFBTUJnc01BUXNnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQVVMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkF0QkF5QUFRVDl4SUFOQkRIUkJnT0FEY1NBSVFUOXhRUVowY25JaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOVFGT0JFQkJBaUVBREFNTElBRWdCbXRCQkVnRVFFRUJJUUFNQXdzZ0Jpd0FBU0VKSUFZdEFBSWhBQ0FHTFFBRElRZ0NRQUpBQWtBQ1FDQUhRWEJyRGdVQUFnSUNBUUlMSUFsQjhBQnFRUmgwUVJoMVFmOEJjVUV3VGdSQVFRSWhBQXdHQ3d3Q0N5QUpRZkFCY1VHQUFVY0VRRUVDSVFBTUJRc01BUXNnQ1VIQUFYRkJnQUZIQkVCQkFpRUFEQVFMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFNTElBaEJQM0VnQUVFR2RFSEFIM0VnQTBFU2RFR0FnUEFBY1NBSlFUOXhRUXgwY25KeUlnTkIvLy9EQUVzRWYwRUNJUUFNQXdWQkJBc0xDeUVBSUFvZ0F6WUNBQ0FDSUFBZ0JtbzJBZ0FnQlNBRktBSUFRUVJxTmdJQURBRUxDeUFBQzRVRUFRZC9JQUVoQmlBQUlRRURRQUpBSUFFZ0Jra2dDQ0FDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0VISUFOQmYwb0VmeUFIUWYvL3d3QkxEUUVnQVVFQmFnVUNmeUFEUWY4QmNVSENBVWdOQWlBRFFmOEJjVUhnQVVnRVFDQUdJQUZyUVFKSURRTWdBUzBBQVNJRVFjQUJjVUdBQVVjZ0IwRUdkRUhBRDNFZ0JFRS9jWEpCLy8vREFFdHlEUU1nQVVFQ2Fnd0JDeUFEUWY4QmNVSHdBVWdFUUNBR0lBRnJRUU5JRFFNZ0FTd0FBU0VFSUFFdEFBSWhCUUpBQWtBQ1FDQURRV0JySWdNRVFDQURRUTFHQkVBTUFnVU1Bd3NBQ3lBRVFlQUJjVUdnQVVjTkJnd0NDeUFFUWVBQmNVR0FBVWNOQlF3QkN5QUVRY0FCY1VHQUFVY05CQXNnQlVIQUFYRkJnQUZISUFWQlAzRWdCMEVNZEVHQTRBTnhJQVJCUDNGQkJuUnlja0gvLzhNQVMzSU5BeUFCUVFOcURBRUxJQVlnQVd0QkJFZ2dBMEgvQVhGQjlRRk9jZzBDSUFFc0FBRWhCU0FCTFFBQ0lRUWdBUzBBQXlFSkFrQUNRQUpBQWtBZ0EwRndhdzRGQUFJQ0FnRUNDeUFGUWZBQWFrRVlkRUVZZFVIL0FYRkJNRTROQlF3Q0N5QUZRZkFCY1VHQUFVY05CQXdCQ3lBRlFjQUJjVUdBQVVjTkF3c2dDVUhBQVhGQmdBRkhJQWxCUDNFZ0JFRUdkRUhBSDNFZ0IwRVNkRUdBZ1BBQWNTQUZRVDl4UVF4MGNuSnlRZi8vd3dCTGNpQUVRY0FCY1VHQUFVZHlEUUlnQVVFRWFnc0xJUUVnQ0VFQmFpRUlEQUVMQ3lBQklBQnJDd3NBSUFJZ0F5QUVFS0VLQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW9Bb2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRbndvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUM4TUVBUWgvSXdZaEJDTUdRYkFCYWlRR0lBUkJxQUZxSVF3Z0JDRUJJQVJCcEFGcUlRb2dCRUdnQVdvaEJ5QUVRWmdCYWlFQ0lBUkJrQUZxSVFzZ0JFR0FBV29pQ0VJQU53SUFJQWhCQURZQ0NBTkFJQVpCQTBjRVFDQUdRUUowSUFocVFRQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBQ1FRQTJBZ1FnQWtHc29BRTJBZ0FnQlNnQ0FDQUZJQVVzQUFzaUEwRUFTQ0lKR3lJR0lBVW9BZ1FnQTBIL0FYRWdDUnRCQW5ScUlRTWdBVUVnYWlFSlFRQWhCUUpBQWtBRFFDQUZRUUpISUFZZ0EwbHhCRUFnQnlBR05nSUFJQUlnRENBR0lBTWdCeUFCSUFrZ0NpQUNLQUlBS0FJTVFROXhRWTREYWhFT0FDSUZRUUpHSUFZZ0J5Z0NBRVp5RFFJZ0FTRUdBMEFnQmlBS0tBSUFTUVJBSUFnZ0Jpd0FBQkRNQVNBR1FRRnFJUVlNQVFzTElBY29BZ0FoQmd3QkN3c01BUXNRQUFzQ2Z5QUlLQUlBSUFnZ0NDd0FDMEVBU0JzaUF5RU5JQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0FHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBdEJBRFlDQkNBTFFkeWdBVFlDQUNBTkN4QmdJQU5xSWdVaEJpQUJRWUFCYWlFSlFRQWhBZ0pBQWtBRFFDQUNRUUpISUFNZ0JVbHhSUTBCSUFjZ0F6WUNBQ0FMSUF3Z0F5QURRU0JxSUFVZ0JpQURhMEVnU2hzZ0J5QUJJQWtnQ2lBTEtBSUFLQUlRUVE5eFFZNERhaEVPQUNJQ1FRSkdJQU1nQnlnQ0FFWnlSUVJBSUFFaEF3TkFJQU1nQ2lnQ0FFa0VRQ0FBSUFNb0FnQVFqZ0lnQTBFRWFpRUREQUVMQ3lBSEtBSUFJUU1NQVFzTEVBQU1BUXNnQ0JCSElBUWtCZ3NMZ0FJQkFuOGpCaUVCSXdaQkVHb2tCaUFCUWdBM0FnQWdBVUVBTmdJSUEwQWdCa0VEUndSQUlBWkJBblFnQVdwQkFEWUNBQ0FHUVFGcUlRWU1BUXNMSUFVb0FnQWdCU0FGTEFBTElnTkJBRWdpQkJzaUFpQUZLQUlFSUFOQi93RnhJQVFiYWlFRElBSWhCUU5BSUFVZ0Ewa0VRQ0FCSUFVc0FBQVF6QUVnQlVFQmFpRUZEQUVMQ3dKL0lBRW9BZ0FnQVNBQkxBQUxRUUJJR3lJQ0lRY2dBRUlBTndJQUlBQkJBRFlDQ0VFQUlRTURRQ0FEUVFOSEJFQWdBMEVDZENBQWFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3dzZ0J3c1FZQ0FDYWlFREEwQWdBaUFEU1FSQUlBQWdBaXdBQUJETUFTQUNRUUZxSVFJTUFRc0xJQUVRUnlBQkpBWUx3Z1VCRW44akJpRUdJd1pCNEFOcUpBWWdCa0hNQTJvaUN5QURFRHNnQzBHZ3pnTVFPaUVNSUFVc0FBc2lCMEVBU0NFQUlBVW9BZ1FnQjBIL0FYRWdBQnNFZnlBRktBSUFJQVVnQUJzb0FnQWdERUV0SUF3b0FnQW9BaXhCUDNGQmlnRnFFUUlBUmdWQkFBc2hEaUFHUWRRRGFpRVBJQVpCeUFOcUlSQWdCa0hFQTJvaEVTQUdRYXdEYWlFSElBWkJvQU5xSVFnZ0JrR2NBMm9oQ1NBR1FiZ0RhaUlLUWdBM0FnQWdDa0VBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBcHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUhRZ0EzQWdBZ0IwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFkcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSVFnQTNBZ0FnQ0VFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWhxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFDSUE0Z0N5QVBJQkFnRVNBS0lBY2dDQ0FKRUtNRUlBVXNBQXNpQUVFQVNDRVNJQVVvQWdRZ0FFSC9BWEVnRWhzaUV5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQmFpQVRJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQ2Fnc2hGaUFHSVFBZ0FpQVVJQlpxYWlJQ1FlUUFTd1JBSUFKQkFuUVFSQ0lBSVFJZ0FBUkFJQUFoRFNBQ0lSVUZFQUFMQlNBQUlRMExJQTBnQmtHWUEyb2dCa0dVQTJvZ0F5Z0NCQ0FGS0FJQUlBVWdFaHNpQUNBVFFRSjBJQUJxSUF3Z0RpQVBJQkFvQWdBZ0VTZ0NBQ0FLSUFjZ0NDQUpFS0lFSUFZZ0FTZ0NBRFlDa0FNZ0JpZ0NtQU1oQUNBR0tBS1VBeUVCSUFaQjBBTnFJZ0lnQmlnQ2tBTTJBZ0FnQWlBTklBQWdBU0FESUFRUXBRRWhGeUFWQkVBZ0ZSQTRDeUFJRUVjZ0J4QkhJQW9RUnlBTEVEd2dCaVFHSUJjTHVBWUJGWDhqQmlFR0l3WkI0QWRxSkFZZ0JrR0lCMm9oQ0NBR1FaQURhaUVBSUFaQjJBZHFJZ2tnQmtHZ0Jtb2lCellDQUNBR1FaQUhhaUlOSUFVNUF3QWdCMEhrQUVIU25nTWdEUkNqQWlJSFFlTUFTd1JBRUZ3aEFDQUlJQVU1QXdBZ0NTQUFRZEtlQXlBSUVKc0JJUUFnQ1NnQ0FDSUlSUVJBRUFBTElBQkJBblFRUkNJSElRb2dCd1JBSUFjaERDQUFJUXNnQ2lFUUlBZ2hFUVVRQUFzRklBQWhEQ0FISVFzTElBWkIxQWRxSWc0Z0F4QTdJQTVCb000REVEb2lFaWdDQUNnQ01DRUFJQklnQ1NnQ0FDSUhJQWNnQzJvZ0RDQUFRUTl4UVlvQ2FoRUpBQm9nQ3dSL0lBa29BZ0FzQUFCQkxVWUZRUUFMSVJNZ0JrSGNCMm9oRkNBR1FkQUhhaUVWSUFaQnpBZHFJUllnQmtHMEIyb2hCeUFHUWFnSGFpRUlJQVpCcEFkcUlRa2dCa0hBQjJvaUNrSUFOd0lBSUFwQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQjBJQU53SUFJQWRCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUhha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDRUlBTndJQUlBaEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSWFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0FpQVRJQTRnRkNBVklCWWdDaUFISUFnZ0NSQ2pCQ0FMSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUZxSUFzZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUpxQ3lFWklBWWhBQ0FDSUJjZ0dXcHFJZ0pCNUFCTEJFQWdBa0VDZEJCRUlnQWhBaUFBQkVBZ0FDRVBJQUloR0FVUUFBc0ZJQUFoRHdzZ0R5QUdRYUFIYWlBR1Fad0hhaUFES0FJRUlBd2dDMEVDZENBTWFpQVNJQk1nRkNBVktBSUFJQllvQWdBZ0NpQUhJQWdnQ1JDaUJDQUdJQUVvQWdBMkFwZ0hJQVlvQXFBSElRQWdCaWdDbkFjaEFTQU5JQVlvQXBnSE5nSUFJQTBnRHlBQUlBRWdBeUFFRUtVQklSb2dHQVJBSUJnUU9Bc2dDQkJISUFjUVJ5QUtFRWNnRGhBOElCQUVRQ0FRRURnTElCRUVRQ0FSRURnTElBWWtCaUFhQzd3RkFSSi9Jd1loQmlNR1FiQUJhaVFHSUFaQm1BRnFJZ3NnQXhBN0lBdEJnTTRERURvaERDQUZMQUFMSWdkQkFFZ2hBQ0FGS0FJRUlBZEIvd0Z4SUFBYkJIOGdCU2dDQUNBRklBQWJMUUFBSUF4QkxTQU1LQUlBS0FJY1FUOXhRWW9CYWhFQ0FFSC9BWEZHQlVFQUN5RU9JQVpCcEFGcUlROGdCa0doQVdvaEVDQUdRYUFCYWlFUklBWkJnQUZxSVFjZ0JrSDBBR29oQ0NBR1FmQUFhaUVKSUFaQmpBRnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRGlBTElBOGdFQ0FSSUFvZ0J5QUlJQWtRcFFRZ0JTd0FDeUlBUVFCSUlSSWdCU2dDQkNBQVFmOEJjU0FTR3lJVElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFGcUlCTWdDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFKcUN5RVdJQVloQUNBQ0lCUWdGbXBxSWdKQjVBQkxCRUFnQWhCRUlnQWhBaUFBQkVBZ0FDRU5JQUloRlFVUUFBc0ZJQUFoRFFzZ0RTQUdRZXdBYWlBR1FlZ0FhaUFES0FJRUlBVW9BZ0FnQlNBU0d5SUFJQUFnRTJvZ0RDQU9JQThnRUN3QUFDQVJMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdKa0lBWW9BbXdoQUNBR0tBSm9JUUVnQmtHY0FXb2lBaUFHS0FKa05nSUFJQUlnRFNBQUlBRWdBeUFFRUpjQklSY2dGUVJBSUJVUU9Bc2dDQkJISUFjUVJ5QUtFRWNnQ3hBOElBWWtCaUFYQzY4R0FSVi9Jd1loQmlNR1FhQURhaVFHSUFaQnlBSnFJUWdnQmtId0FHb2hBQ0FHUVpBRGFpSUpJQVpCNEFGcUlnYzJBZ0FnQmtIUUFtb2lEU0FGT1FNQUlBZEI1QUJCMHA0RElBMFFvd0lpQjBIakFFc0VRQkJjSVFBZ0NDQUZPUU1BSUFrZ0FFSFNuZ01nQ0JDYkFTRUFJQWtvQWdBaUNFVUVRQkFBQ3lBQUVFUWlCeUVLSUFjRVFDQUhJUXdnQUNFTElBb2hFQ0FJSVJFRkVBQUxCU0FBSVF3Z0J5RUxDeUFHUVl3RGFpSU9JQU1RT3lBT1FZRE9BeEE2SWhJb0FnQW9BaUFoQUNBU0lBa29BZ0FpQnlBSElBdHFJQXdnQUVFUGNVR0tBbW9SQ1FBYUlBc0VmeUFKS0FJQUxBQUFRUzFHQlVFQUN5RVRJQVpCbUFOcUlSUWdCa0dWQTJvaEZTQUdRWlFEYWlFV0lBWkI5QUpxSVFjZ0JrSG9BbW9oQ0NBR1FlUUNhaUVKSUFaQmdBTnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRXlBT0lCUWdGU0FXSUFvZ0J5QUlJQWtRcFFRZ0N5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQmFpQUxJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQ2Fnc2hHU0FHSVFBZ0FpQVhJQmxxYWlJQ1FlUUFTd1JBSUFJUVJDSUFJUUlnQUFSQUlBQWhEeUFDSVJnRkVBQUxCU0FBSVE4TElBOGdCa0hnQW1vZ0JrSGNBbW9nQXlnQ0JDQU1JQXNnREdvZ0VpQVRJQlFnRlN3QUFDQVdMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdMWUFpQUdLQUxnQWlFQUlBWW9BdHdDSVFFZ0RTQUdLQUxZQWpZQ0FDQU5JQThnQUNBQklBTWdCQkNYQVNFYUlCZ0VRQ0FZRURnTElBZ1FSeUFIRUVjZ0NoQkhJQTRRUENBUUJFQWdFQkE0Q3lBUkJFQWdFUkE0Q3lBR0pBWWdHZ3ZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFmalBBeEE2SWdFb0FnQW9BaXdGSUFGQjhNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURZQ0FDQU5DeUFMRUc0Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBTmdJQUlBY2dDeEJ1SUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURZQ0FDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUEyQWdBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRFlDQUNBUEN5QUxFRzRnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFZZ0N4QnVJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyUUlCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJBU0VFSUFaQi93RnhDeUVGSUFJZ0FXc2lDRUVDZFNFSklBZ0VRQUpBSUFjRWZ5QUFLQUlFSVFZZ0FDZ0NBQVVnQmtIL0FYRWhCaUFBQ3lJSElRZ2dBU0FHUVFKMElBZHFTU0FJSUFGTmNRUkFJQU5DQURjQ0FDQURRUUEyQWdnZ0F5QUJJQUlReHdRZ0FDQURLQUlBSUFNZ0F5d0FDeUlBUVFCSUlnRWJJQU1vQWdRZ0FFSC9BWEVnQVJzUTRRa2dBeEJIREFFTElBUWdCV3NnQ1VrRVFDQUFJQVFnQlNBSmFpQUVheUFGSUFVUWtRUUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUFGUVFKMGFpRUVBMEFnQVNBQ1J3UkFJQVFnQVJCdUlBUkJCR29oQkNBQlFRUnFJUUVNQVFzTElBTkJBRFlDQUNBRUlBTVFiaUFGSUFscUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN3c0xJQU1rQmd1d0JBRUlmeU1HSVFBakJrR3dBMm9rQmlBQVFhQURhaUlJSUFBMkFnQWdDRUdSQVRZQ0JDQUFRWkFEYWlJTElBUVFPeUFMUWFET0F4QTZJUWNnQUVHc0Eyb2lDa0VBT2dBQUlBQWdBaWdDQUNJSk5nS1VBeUFFS0FJRUlRd2dBRUdvQTJvaUJDQUFLQUtVQXpZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRWmdEYWlBQVFaQURhaENtQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUEyQWdBZ0RRc2dCQkJ1SUFaQkFEWUNCQVVnQkVFQU5nSUFJQVlnQkJCdUlBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFFSTRDQ3lBSFFUQWdCeWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhCQ0FBS0FLWUF5SUhRWHhxSVFvZ0NDZ0NBQ0VEQTBBQ1FDQURJQXBQRFFBZ0F5Z0NBQ0FFUncwQUlBTkJCR29oQXd3QkN3c2dCaUFESUFjUXJBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0NVVU5BQ0FKS0FJTUlnUWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0EwVU5BZ3NNQWdzZ0F3MEFEQUVMSUFVZ0JTZ0NBRUVDY2pZQ0FBc2dBU2dDQUNFT0lBc1FQQ0FJS0FJQUlRRWdDRUVBTmdJQUlBRUVRQ0FCSUFnb0FnUkIvd0Z4UWF3RGFoRUJBQXNnQUNRR0lBNExvQVVCQzM4akJpRUhJd1pCMEFScUpBWWdCMEdvQkdvaERpQUhJUThnQjBHNEJHb2lDU0FIUWZBQWFpSUtOZ0lBSUFsQmtRRTJBZ1FnQjBHd0JHb2lEU0FFRURzZ0RVR2d6Z01RT2lFQUlBZEJ3QVJxSWd4QkFEb0FBQ0FISUFJb0FnQTJBcXdFSUFRb0FnUWhDeUFIUVlBRWFpSUVJQWNvQXF3RU5nSUFJQUVnQkNBRElBMGdDeUFGSUF3Z0FDQUpJQWRCdEFScUlBcEJrQU5xRUtZRUJFQWdBRUhvblFOQjhwMERJQVFnQUNnQ0FDZ0NNRUVQY1VHS0Ftb1JDUUFhSUFjb0FyUUVJZ3NnQ1NnQ0FDSUtheUlBUVlnRFNnUkFJQUJCQW5aQkFtb1FSQ0lBSVFNZ0FBUkFJQUFoQ0NBRElSQUZFQUFMQlNBUElRZ0xJQXdzQUFBRVFDQUlRUzA2QUFBZ0NFRUJhaUVJQ3lBRVFTaHFJUU1nQkNFTUEwQWdDaUFMU1FSQUlBb29BZ0FoQ3lBRUlRQURRQUpBSUFBZ0EwWUVRQ0FESVFBTUFRc2dBQ2dDQUNBTFJ3UkFJQUJCQkdvaEFBd0NDd3NMSUFnZ0FDQU1hMEVDZFVIb25RTnFMQUFBT2dBQUlBcEJCR29oQ2lBSVFRRnFJUWdnQnlnQ3RBUWhDd3dCQ3dzZ0NFRUFPZ0FBSUE0Z0JqWUNBQ0FQUVlXZEF5QU9FSU1CUVFGSEJFQVFBQXNnRUFSQUlCQVFPQXNMSUFFb0FnQWlBQVIvSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUJDQUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWVqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCNE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBNkFBQWdEQXNnQ3hCZklBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURvQUFDQUlJQXNRWHlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRG9BQUNBTkN5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEb0FBQ0FQQ3lBTEVGOGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU9nQUFJQVlnQ3hCZklBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJ3SUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1ZCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkNpRUVJQVZCL3dGeEN5RUdJQUlnQVdzaUNBUkFBa0FnQndSL0lBQW9BZ1FoQlNBQUtBSUFCU0FGUWY4QmNTRUZJQUFMSWdjaENTQUJJQVVnQjJwSklBa2dBVTF4QkVBZ0EwSUFOd0lBSUFOQkFEWUNDQ0FESUFFZ0FoRCtBeUFBSUFNb0FnQWdBeUFETEFBTElnQkJBRWdpQVJzZ0F5Z0NCQ0FBUWY4QmNTQUJHeERqQ1NBREVFY01BUXNnQkNBR2F5QUlTUVJBSUFBZ0JDQUdJQWhxSUFScklBWWdCaERkQWdzZ0FpQUdJQUZyYWlFSElBWWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJZ1ZxSVFRRFFDQUJJQUpIQkVBZ0JDQUJFRjhnQkVFQmFpRUVJQUZCQVdvaEFRd0JDd3NnQTBFQU9nQUFJQVVnQjJvZ0F4QmZJQVlnQ0dvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTEN3c2dBeVFHQzdVRUFRaC9Jd1loQUNNR1FZQUJhaVFHSUFCQjhBQnFJZ2dnQURZQ0FDQUlRWkVCTmdJRUlBQkI1QUJxSWdzZ0JCQTdJQXRCZ000REVEb2hCeUFBUWZ3QWFpSUtRUUE2QUFBZ0FDQUNLQUlBSWdrMkFtZ2dCQ2dDQkNFTUlBQkIrQUJxSWdRZ0FDZ0NhRFlDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFld0FhaUFBUWVRQWFoQ29CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTZBQUFnRFFzZ0JCQmZJQVpCQURZQ0JBVWdCRUVBT2dBQUlBWWdCQkJmSUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUVNd0JDeUFIUVRBZ0J5Z0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJDQUFLQUpzSWdkQmYyb2hDaUFJS0FJQUlRTURRQUpBSUFNZ0NrOE5BQ0FETFFBQUlBUkIvd0Z4UncwQUlBTkJBV29oQXd3QkN3c2dCaUFESUFjUXNBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRklBRW9BZ0JGQ3dWQkFRc2hBd0pBQWtBQ1FDQUpSUTBBSUFrb0Fnd2lCQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBa0VBTmdJQURBRUZJQU5GRFFJTERBSUxJQU1OQUF3QkN5QUZJQVVvQWdCQkFuSTJBZ0FMSUFFb0FnQWhEaUFMRUR3Z0NDZ0NBQ0VCSUFoQkFEWUNBQ0FCQkVBZ0FTQUlLQUlFUWY4QmNVR3NBMm9SQVFBTElBQWtCaUFPQy9zVEFoRi9BWHdqQmlFVUl3WkJFR29rQmlBVUlSQWdBVUVDRURraERTQUNRUUlRT1NFUElBUW9BZ0FpQnlFQ0lBMGdEMEYvYWlJUmJFRUJkQ0FIYWlFRkEwQWdDeUFOU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUxRUUZxSVFzTUFRc0xJQWNoQWlBTlFYOXFJaEpCQVhRZ0Iyb2hCVUVBSVFzRFFDQUxJQTlJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FOUVFGMElBSnFJUUlnRFVFQmRDQUZhaUVGSUF0QkFXb2hDd3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdEV3NoRXlBQUlBRkJBWFJCQW1wcUlRNUJBU0VNUVFBaEJTQU5RUUZxSWdBZ0JDZ0NCR29oQ3lBQVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTUlCRk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VrZ0VRQ0FPTFFBQUlBTktCRUFDUUNBTFFYODZBQUFnRTBFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFNSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBSUF0QkFEb0FBQXNnRGtFQ2FpRU9JQXRCQVdvaEN5QUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTVxUVFScUlRNGdERUVCYWlFTUlBQWhCU0FMUVFKcUlRc2dCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQkFRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJTFJnUkFJQUJCQVdvaEFRVWdBQ0VCSUF0QkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRFRZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEellDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZxTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVdvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZTQVFKQVlnRlF1ZUJRRUxmeU1HSVFjakJrR0FBbW9rQmlBSFFkZ0JhaUVPSUFjaER5QUhRZWdCYWlJSklBZEI4QUJxSWdvMkFnQWdDVUdSQVRZQ0JDQUhRZUFCYWlJTklBUVFPeUFOUVlET0F4QTZJUUFnQjBINkFXb2lERUVBT2dBQUlBY2dBaWdDQURZQzNBRWdCQ2dDQkNFTElBZEI4QUZxSWdRZ0J5Z0MzQUUyQWdBZ0FTQUVJQU1nRFNBTElBVWdEQ0FBSUFrZ0IwSGtBV29nQ2tIa0FHb1FxQVFFUUNBQVFmcWNBMEdFblFNZ0JDQUFLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCeWdDNUFFaUN5QUpLQUlBSWdwcklnQkI0Z0JLQkVBZ0FFRUNhaEJFSWdBaEF5QUFCRUFnQUNFSUlBTWhFQVVRQUFzRklBOGhDQXNnREN3QUFBUkFJQWhCTFRvQUFDQUlRUUZxSVFnTElBUkJDbW9oQXlBRUlRd0RRQ0FLSUF0SkJFQWdDaXdBQUNFTElBUWhBQU5BQWtBZ0FDQURSZ1JBSUFNaEFBd0JDeUFBTEFBQUlBdEhCRUFnQUVFQmFpRUFEQUlMQ3dzZ0NDQUFJQXhyUWZxY0Eyb3NBQUE2QUFBZ0NrRUJhaUVLSUFoQkFXb2hDQ0FIS0FMa0FTRUxEQUVMQ3lBSVFRQTZBQUFnRGlBR05nSUFJQTlCaFowRElBNFFnd0ZCQVVjRVFCQUFDeUFRQkVBZ0VCQTRDd3NnQVNnQ0FDSUFCSDhnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVWdBU2dDQUVVTEJVRUJDeUVEQWtBQ1FBSkFJQUlvQWdBaUFFVU5BQ0FBS0FJTUlnUWdBQ2dDRUVZRWZ5QUFJQUFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXVUQVFFQ2Z5TUdJUVlqQmtHQUFXb2tCaUFHUWZRQWFpSUhJQVpCNUFCcU5nSUFJQUFnQmlBSElBTWdCQ0FGRUt3RUlBWkI2QUJxSWdOQ0FEY0RBQ0FHUWZBQWFpSUVJQVkyQWdBZ0FpZ0NBQ0FCYTBFQ2RTRUZJQUFvQWdBUVlpRUFJQUVnQkNBRklBTVEvZ0loQXlBQUJFQWdBQkJpR2dzZ0EwRi9SZ1JBRUFBRklBSWdBMEVDZENBQmFqWUNBQ0FHSkFZTEM3RUJBQ01HSVFJakJrR2dBMm9rQmlBQ1FaQURhaUlESUFKQmtBTnFOZ0lBSUFCQkNHb2dBaUFESUFRZ0JTQUdFTFFLSUFNb0FnQWhCU0FDSVFNZ0FTZ0NBQ0VBQTBBZ0F5QUZSd1JBSUFNb0FnQWhBU0FBQkg5QkFDQUFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQWdBU0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBQVVnQUNBRVFRUnFOZ0lZSUFRZ0FUWUNBQ0FCQzBGL0VFRWJCVUVBQ3lFQUlBTkJCR29oQXd3QkN3c2dBaVFHSUFBTHVRRUFJd1loQWlNR1FmQUFhaVFHSUFKQjVBQnFJZ01nQWtIa0FHbzJBZ0FnQUVFSWFpQUNJQU1nQkNBRklBWVFyQVFnQXlnQ0FDRUZJQUloQXlBQktBSUFJUUFEUUNBRElBVkhCRUFnQXl3QUFDRUJJQUFFZjBFQUlBQWdBQ2dDR0NJRUlBQW9BaHhHQkg4Z0FDZ0NBQ2dDTkNFRUlBQWdBUkJDSUFSQlAzRkJpZ0ZxRVFJQUJTQUFJQVJCQVdvMkFoZ2dCQ0FCT2dBQUlBRVFRZ3RCZnhCQkd3VkJBQXNoQUNBRFFRRnFJUU1NQVFzTElBSWtCaUFBQzQwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBQWtBZ0FTZ0NBQ0lFQkVBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUZCRUFNQkFVTUF3c0FDd3NnQlVVRVFFRUFJUVFNQWdzTElBSWdBaWdDQUVFR2NqWUNBQXdCQ3lBRElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBRUgvQVhGQkpVY0VRQ0FDSUFJb0FnQkJCSEkyQWdBTUFRc2dBQ2dDQUNJREtBSU1JZ1VnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUZRUVJxTmdJTUlBVW9BZ0FhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFEUU1MREFFTElBQkZEUUVMSUFJZ0FpZ0NBRUVDY2pZQ0FBc0xVZ0VCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1RRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVR1VjV28yQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFSQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRUhTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUMUljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxxd0lCQkh4RUFBQUFBQUFBOEQ4Z0FTc0RHQ0lERU9jRUlnU2hJUUlnQXhEbUJDRURJQUFnQkNBQkt3TUFJZ1VnQmFJZ0FxS2dPUU1BSUFBZ0FpQUJLd01BSUFFckF3aWlvaUFESUFFckF4Q2lvVGtEQ0NBQUlBSWdBU3NEQUNBQkt3TVFvcUlnQXlBQkt3TUlvcUE1QXhBZ0FDQUJLd01nT1FNWUlBQWdBaUFCS3dNSUlBRXJBd0Npb2lBRElBRXJBeENpb0RrRElDQUFJQVFnQWlBQkt3TUlJZ1VnQmFLaW9Ea0RLQ0FBSUFJZ0FTc0RDQ0FCS3dNUW9xSWdBeUFCS3dNQW9xRTVBekFnQUNBQkt3TW9PUU00SUFCQlFHc2dBaUFCS3dNUUlBRXJBd0Npb2lBRElBRXJBd2lpb1RrREFDQUFJQUlnQVNzREVDQUJLd01Jb3FJZ0F5QUJLd01Bb3FBNUEwZ2dBQ0FFSUFJZ0FTc0RFQ0lDSUFLaW9xQTVBMUFnQUNBQkt3TXdPUU5ZQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1ZBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0MvWURBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRkFrQUNRQ0FCS0FJQUlnUkZEUUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBVkZEUU1MREFFTElBVUVmMEVBSVFRTUFnVkJBQXNoQkFzZ0EwR0F3QUFnQUNnQ0FDSUZLQUlNSWdZZ0JTZ0NFRVlFZnlBRklBVW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQ3lBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJCR28yQWd3Z0JTZ0NBQm9MREFFTEN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3V3QVFFQ2ZDQUFJQUVyQXdBaUF5QURvaUFCS3dNSUlnSWdBcUtnSUFFckF4QWlBaUFDb3FBaUFrUUFBQUFBQUFBQUFHRUVmQ0FBUkFBQUFBQUFBUEEvT1FNQUlBQkVBQUFBQUFBQUFBQTVBd2hFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUFVZ0FDQURJQUtmSWdLak9RTUFJQUFnQVNzRENDQUNvemtEQ0NBQkt3TVFJQUtqQ3prREVDQUFJQUk1QXhnZ0FDQUJLd01ZT1FNZ0lBQWdBU3NESURrREtDQUFJQUVyQXlnNUF6QUw5QUVCQW45QmtNQURMQUFBUlFSQVFaREFBeEJ3QkVCQnNMc0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkIyTHdEUncwQUMwR1F3QU1RYndzTFFiQzdBMEdRbWdFUVZrRzh1d05CckpvQkVGWkJ5THNEUWNpYUFSQldRZFM3QTBIb21nRVFWa0hndXdOQmtKc0JFRlpCN0xzRFFiU2JBUkJXUWZpN0EwSFFtd0VRVmtHRXZBTkI5SnNCRUZaQmtMd0RRWVNjQVJCV1FaeThBMEdVbkFFUVZrR292QU5CcEp3QkVGWkJ0THdEUWJTY0FSQldRY0M4QTBIRW5BRVFWa0hNdkFOQjFKd0JFRllMMkFJQkFuOUJnTUFETEFBQVJRUkFRWURBQXhCd0JFQkJrTGtESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCc0xzRFJ3MEFDMEdBd0FNUWJ3c0xRWkM1QTBHSWxnRVFWa0djdVFOQnFKWUJFRlpCcUxrRFFjeVdBUkJXUWJTNUEwSGtsZ0VRVmtIQXVRTkIvSllCRUZaQnpMa0RRWXlYQVJCV1FkaTVBMEdnbHdFUVZrSGt1UU5CdEpjQkVGWkI4TGtEUWRDWEFSQldRZnk1QTBINGx3RVFWa0dJdWdOQm1KZ0JFRlpCbExvRFFieVlBUkJXUWFDNkEwSGdtQUVRVmtHc3VnTkI4SmdCRUZaQnVMb0RRWUNaQVJCV1FjUzZBMEdRbVFFUVZrSFF1Z05CL0pZQkVGWkIzTG9EUWFDWkFSQldRZWk2QTBHd21RRVFWa0gwdWdOQndKa0JFRlpCZ0xzRFFkQ1pBUkJXUVl5N0EwSGdtUUVRVmtHWXV3TkI4SmtCRUZaQnBMc0RRWUNhQVJCV0Mzd0JBbjlCOEw4RExBQUFSUVJBUWZDL0F4QndCRUJCOExnRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQmlMa0RSdzBBQzBId3Z3TVFid3NMUWZDNEEwSHdsUUVRVmtIOHVBTkIvSlVCRUZZTFJBQkJ5TDhETEFBQVJRUkFRY2kvQXhCd0JFQkJqTThEUWdBM0FnQkJsTThEUVFBMkFnQkJqTThEUWFTVUFVR2tsQUVRdEFFUXl3RkJ5TDhERUc4TEMwR016d01MUkFCQjBMOERMQUFBUlFSQVFkQy9BeEJ3QkVCQm1NOERRZ0EzQWdCQm9NOERRUUEyQWdCQm1NOERRY2lVQVVISWxBRVF0QUVReXdGQjBMOERFRzhMQzBHWXp3TUxSQUJCMkw4RExBQUFSUVJBUWRpL0F4QndCRUJCcE04RFFnQTNBZ0JCck04RFFRQTJBZ0JCcE04RFFleVVBVUhzbEFFUXRBRVF5d0ZCMkw4REVHOExDMEdrendNTFJBQkI0TDhETEFBQVJRUkFRZUMvQXhCd0JFQkJzTThEUWdBM0FnQkJ1TThEUVFBMkFnQkJzTThEUVp5VkFVR2NsUUVRdEFFUXl3RkI0TDhERUc4TEMwR3d6d01MTVFCQjZMOERMQUFBUlFSQVFlaS9BeEJ3QkVBUXh3cEJ2TThEUWZDNEF6WUNBRUhvdndNUWJ3c0xRYnpQQXlnQ0FBc3hBRUg0dndNc0FBQkZCRUJCK0w4REVIQUVRQkRHQ2tIQXp3TkJrTGtETmdJQVFmaS9BeEJ2Q3d0QndNOERLQUlBQ3pFQVFZakFBeXdBQUVVRVFFR0l3QU1RY0FSQUVNVUtRY1RQQTBHd3V3TTJBZ0JCaU1BREVHOExDMEhFendNb0FnQUxnZ3dCQlg4akJpRUhJd1pCa0FGcUpBWWdCMEh3QUdvaENpQUhRVUJySVFzZ0JFRUFOZ0lBSUFkQmdBRnFJZ2dnQXhBN0lBaEJvTTRERURvaENTQUlFRHdDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVpCR0hSQkdIVkJKV3NPVlJZWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjQUFSY0VGd1VYQmdjWEZ4Y0tGeGNYRnc0UEVCY1hGeE1WRnhjWEZ4Y1hGd0FCQWdNREZ4Y0JGd2dYRndrTEZ3d1hEUmNMRnhjUkVoUVhDeUFISUFJb0FnQTJBbndnQ0NBSEtBSjhOZ0lBSUFBZ0JVRVlhaUFCSUFnZ0JDQUpFTEVFREJjTElBY2dBaWdDQURZQ2VDQUlJQWNvQW5nMkFnQWdBQ0FGUVJCcUlBRWdDQ0FFSUFrUXNBUU1GZ3NnQUVFSWFpSUdLQUlBS0FJTUlRa2dCaUFKUWY4QWNVRUlhaEVBQUNFR0lBY2dBU2dDQURZQ2RDQUhJQUlvQWdBMkFtd2dCaWdDQUNBR0lBWXNBQXNpQ1VFQVNDSUxHeUVDSUFZb0FnUWdDVUgvQVhFZ0N4dEJBblFnQW1vaEJpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0FpQUdFS01CTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVNTUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWFEd0FFSEE4QUFRb3dFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCd1BBQVFlRHdBQkNqQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRENDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRCQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEQUNnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSQy9DZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkMrQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1F2UW9NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JDOENnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhnOEFCQmpQRUFFS01CTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRWkR4QUVHazhRQVFvd0UyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRdWdvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJzUEVBUWREeEFCQ2pBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JDNUNnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnbEJBRWdpQ3hzaEFpQUdLQUlFSUFsQi93RnhJQXNiUVFKMElBSnFJUVlnQ2lBSEtBSVFOZ0lBSUFnZ0J5Z0NERFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZJQUlnQmhDakFUWUNBQXdFQ3lBSElBSW9BZ0EyQWdnZ0NDQUhLQUlJTmdJQUlBVkJGR29nQVNBSUlBUWdDUkN2QkF3REN5QUhJQUlvQWdBMkFnUWdDQ0FIS0FJRU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDNENnd0NDeUFISUFJb0FnQTJBZ0FnQ0NBSEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdHdvTUFRc2dCQ0FFS0FJQVFRUnlOZ0lBQ3lBQktBSUFDeUVNSUFja0JpQU1DMWtCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUZRUlJxSUFFZ0J5QUVJQU1RcndRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCRUdvZ0FTQUhJQVFnQXhDd0JDQUJLQUlBSVFnZ0JpUUdJQWdMV3dFRGZ5TUdJUVlqQmtFUWFpUUdJQVpCQkdvaUJ5QURFRHNnQjBHZ3pnTVFPaUVESUFjUVBDQUdJQUlvQWdBMkFnQWdCeUFHS0FJQU5nSUFJQUFnQlVFWWFpQUJJQWNnQkNBREVMRUVJQUVvQWdBaENDQUdKQVlnQ0F1bkFRRUVmeU1HSVFjakJrRVFhaVFHSUFCQkNHb2lCaWdDQUNnQ0ZDRUlJQVlnQ0VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFnUWdCeUFDS0FJQU5nSUFJQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDQnNoQVNBR0tBSUVJQUpCL3dGeElBZ2JRUUowSUFGcUlRSWdCMEVJYWlJR0lBY29BZ1EyQWdBZ0IwRU1haUlJSUFjb0FnQTJBZ0FnQUNBR0lBZ2dBeUFFSUFVZ0FTQUNFS01CSVFrZ0J5UUdJQWtMWUFFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FDQUJJQUlnQXlBRUlBVkIwUEVBUWZEeEFCQ2pBU0VISUFZa0JpQUhDNTBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ1FFUUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VFREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0FNQVFzZ0F5QUFLQUlBSWdVb0Fnd2lCaUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCL3dGeFFRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWSEJFQWdBaUFDS0FJQVFRUnlOZ0lBREFFTElBQW9BZ0FpQXlnQ0RDSUZJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQUEwREN3d0JDeUFBUlEwQkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzFJQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSm9CSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCbEhGcU5nSUFDeUFGSkFZTFlRRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUVRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCQjBoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUU5U0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1dBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0M1UUVBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBSUFFb0FnQWlCRVVOQUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FGUlEwREN3d0JDeUFGQkg5QkFDRUVEQUlGUVFBTElRUUxJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJRlFmOEJjVUVZZEVFWWRVRi9UQTBBSUFNb0FnZ2dCVUVZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkFXbzJBZ3dnQlN3QUFCQkNHZ3NNQVFzTElBQW9BZ0FpQXdSL0lBTW9BZ3dpQlNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEFBSkFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMOFFRQkFYOGdBRUlBTndNQUlBQkNBRGNEQ0NBQVFnQTNBeEFnQUVJQU53TVlJQUJDQURjRElDQUFRZ0EzQXlnZ0FFSUFOd013SUFCQ0FEY0RPQ0FBUVVCclJBQUFBQUFBQVBDL09RTUFJQUJDQURjRFNDQUFRZ0EzQTFBZ0FFSUFOd05ZSUFCQ0FEY0RZQ0FBUkFBQUFBQUFBUEEvT1FOb0lBQkNBRGNEY0NBQVFnQTNBM2dnQUVJQU53T0FBU0FBUWdBM0E0Z0JJQUJDQURjRGtBRWdBRUlBTndPWUFTQUFSQUFBQUFBQUFQQS9PUU9nQVNBQVFhZ0JhaUlCUWdBM0F3QWdBVUlBTndNSUlBRkNBRGNERUNBQlFnQTNBeGdnQVVJQU53TWdJQUZDQURjREtDQUJRZ0EzQXpBZ0FVSUFOd000SUFGQlFHdENBRGNEQUNBQVJBQUFBQUFBQVBDL09RUHdBU0FBUWdBM0EvZ0JJQUJDQURjRGdBSWdBRUlBTndPSUFpQUFRZ0EzQTVBQ0lBQkNBRGNEbUFJZ0FFSUFOd09nQWlBQVJBQUFBQUFBQVBDL09RT29BaUFBUWdBM0E3QUNJQUJDQURjRHVBSWdBRUlBTndQQUFpQUFRZ0EzQThnQ0lBQkVBQUFBQUFBQThEODVBOUFDSUFCQjJBSnFJZ0ZDQURjREFDQUJRZ0EzQXdnZ0FVSUFOd01RSUFGQ0FEY0RHQ0FCUWdBM0F5QWdBVUlBTndNb0lBRkNBRGNETUNBQlFnQTNBemdnQVVGQWEwSUFOd01BSUFGQ0FEY0RTQ0FCUWdBM0ExQWdBVUlBTndOWUlBRkNBRGNEWUNBQlFnQTNBMmdnQUVRQUFBQUFBQUR3UHprRHlBTWdBRUlBTndQUUF5QUFRZ0EzQTlnRElBQkNBRGNENEFNZ0FFSUFOd1BvQXlBQVFnQTNBL0FESUFCQ0FEY0QrQU1nQUVRQUFBQUFBQUR3UHprRGdBUWdBRUlBTndPSUJDQUFRZ0EzQTVBRUlBQkNBRGNEbUFRZ0FFSUFOd09nQkNBQVFnQTNBNmdFSUFCQ0FEY0RzQVFnQUVRQUFBQUFBQUR3UHprRHVBUUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3YwQVFFQ2YwSEF2d01zQUFCRkJFQkJ3TDhERUhBRVFFSEF0d01oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhvdUFOSERRQUxRY0MvQXhCdkN3dEJ3TGNEUWZDWEF4QlhRY3kzQTBIM2x3TVFWMEhZdHdOQi9wY0RFRmRCNUxjRFFZYVlBeEJYUWZDM0EwR1FtQU1RVjBIOHR3TkJtWmdERUZkQmlMZ0RRYUNZQXhCWFFaUzRBMEdwbUFNUVYwR2d1QU5CclpnREVGZEJyTGdEUWJHWUF4QlhRYmk0QTBHMW1BTVFWMEhFdUFOQnVaZ0RFRmRCMExnRFFiMllBeEJYUWR5NEEwSEJtQU1RVnd2WUFnRUNmMEd3dndNc0FBQkZCRUJCc0w4REVIQUVRRUdndFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIQXR3TkhEUUFMUWJDL0F4QnZDd3RCb0xVRFFlNldBeEJYUWF5MUEwSDJsZ01RVjBHNHRRTkIvNVlERUZkQnhMVURRWVdYQXhCWFFkQzFBMEdMbHdNUVYwSGN0UU5CajVjREVGZEI2TFVEUVpTWEF4QlhRZlMxQTBHWmx3TVFWMEdBdGdOQm9KY0RFRmRCakxZRFFhcVhBeEJYUVppMkEwR3lsd01RVjBHa3RnTkJ1NWNERUZkQnNMWURRY1NYQXhCWFFieTJBMEhJbHdNUVYwSEl0Z05CekpjREVGZEIxTFlEUWRDWEF4QlhRZUMyQTBHTGx3TVFWMEhzdGdOQjFKY0RFRmRCK0xZRFFkaVhBeEJYUVlTM0EwSGNsd01RVjBHUXR3TkI0SmNERUZkQm5MY0RRZVNYQXhCWFFhaTNBMEhvbHdNUVYwRzB0d05CN0pjREVGY0xmQUVDZjBHZ3Z3TXNBQUJGQkVCQm9MOERFSEFFUUVHQXRRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFR1l0UU5IRFFBTFFhQy9BeEJ2Q3d0QmdMVURRZWlXQXhCWFFZeTFBMEhybGdNUVZ3dENBRUg0dmdNc0FBQkZCRUJCK0w0REVIQUVRRUhJemdOQ0FEY0NBRUhRemdOQkFEWUNBRUhJemdOQnRaWURRYldXQXhCZ0VINUIrTDRERUc4TEMwSEl6Z01MUWdCQmdMOERMQUFBUlFSQVFZQy9BeEJ3QkVCQjFNNERRZ0EzQWdCQjNNNERRUUEyQWdCQjFNNERRYjZXQTBHK2xnTVFZQkIrUVlDL0F4QnZDd3RCMU00REMwSUFRWWkvQXl3QUFFVUVRRUdJdndNUWNBUkFRZURPQTBJQU53SUFRZWpPQTBFQU5nSUFRZURPQTBISGxnTkJ4NVlERUdBUWZrR0l2d01RYndzTFFlRE9Bd3VwQWdFR2ZDQUJLd01ZSUFFckF3QWlDQ0FDS3dNQUlnU2lJQUVyQXdnZ0Fpc0RDQ0lIb3FBZ0FTc0RFQ0FDS3dNUUlnT2lvS0FoQlNBQkt3TTRJQVFnQVNzRElLSWdCeUFCS3dNb29xQWdBeUFCS3dNd29xQ2dJUVlnQVNzRFdDQUVJQUZCUUdzaUFpc0RBQ0lFb2lBSElBRXJBMGlpb0NBRElBRXJBMUNpb0tBaUEwUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUlBZ2dBNklnQlNBRW9xRWdBeUFEb2lJRW96a0RBQ0FBSUFNZ0FTc0RDS0lnQlNBQkt3TklvcUVnQktNNUF3Z2dBQ0FESUFFckF4Q2lJQVVnQVNzRFVLS2hJQVNqT1FNUUlBQWdBeUFCS3dNZ29pQUdJQUlyQXdDaW9TQUVvemtER0NBQUlBTWdBU3NES0tJZ0JpQUJLd05Jb3FFZ0JLTTVBeUFnQUNBRElBRXJBekNpSUFZZ0FTc0RVS0toSUFTak9RTW9RUUFMQzBJQVFaQy9BeXdBQUVVRVFFR1F2d01RY0FSQVFlek9BMElBTndJQVFmVE9BMEVBTmdJQVFlek9BMEhUbGdOQjA1WURFR0FRZmtHUXZ3TVFid3NMUWV6T0F3c3hBRUdZdndNc0FBQkZCRUJCbUw4REVIQUVRQkRrQ2tINHpnTkJnTFVETmdJQVFaaS9BeEJ2Q3d0QitNNERLQUlBQ3pFQVFhaS9BeXdBQUVVRVFFR292d01RY0FSQUVPTUtRZnpPQTBHZ3RRTTJBZ0JCcUw4REVHOExDMEg4emdNb0FnQUxNUUJCdUw4RExBQUFSUVJBUWJpL0F4QndCRUFRNGdwQmdNOERRY0MzQXpZQ0FFRzR2d01RYndzTFFZRFBBeWdDQUF2NEN3RUZmeU1HSVFjakJrR1FBV29rQmlBSFFmQUFhaUVLSUFkQlFHc2hDeUFFUVFBMkFnQWdCMEdBQVdvaUNDQURFRHNnQ0VHQXpnTVFPaUVKSUFnUVBBSi9Ba0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0JrRVlkRUVZZFVFbGF3NVZGaGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGd0FCRndRWEJSY0dCeGNYRndvWEZ4Y1hEZzhRRnhjWEV4VVhGeGNYRnhjWEFBRUNBd01YRndFWENCY1hDUXNYREJjTkZ3c1hGeEVTRkJjTElBY2dBaWdDQURZQ2ZDQUlJQWNvQW53MkFnQWdBQ0FGUVJocUlBRWdDQ0FFSUFrUXRnUU1Gd3NnQnlBQ0tBSUFOZ0o0SUFnZ0J5Z0NlRFlDQUNBQUlBVkJFR29nQVNBSUlBUWdDUkMxQkF3V0N5QUFRUWhxSWdZb0FnQW9BZ3doQ1NBR0lBbEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0owSUFjZ0FpZ0NBRFlDYkNBR0tBSUFJQVlnQml3QUN5SUNRUUJJSWdrYklnc2dCaWdDQkNBQ1FmOEJjU0FKRzJvaEFpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0N5QUNFS1FCTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVPRUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWNXWUEwSE5tQU1RcEFFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCelpnRFFkV1lBeENrQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGZDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRlQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEZENnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSRGNDZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkRiQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1EyZ29NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEWkNnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhWbUFOQjRKZ0RFS1FCTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRZUNZQTBIbG1BTVFwQUUyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRMkFvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkI1WmdEUWUyWUF4Q2tBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JEWENnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ1JzaUN5QUdLQUlFSUFKQi93RnhJQWtiYWlFQ0lBb2dCeWdDRURZQ0FDQUlJQWNvQWd3MkFnQWdBU0FBSUFvZ0NDQURJQVFnQlNBTElBSVFwQUUyQWdBTUJBc2dCeUFDS0FJQU5nSUlJQWdnQnlnQ0NEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUXRBUU1Bd3NnQnlBQ0tBSUFOZ0lFSUFnZ0J5Z0NCRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1ExZ29NQWdzZ0J5QUNLQUlBTmdJQUlBZ2dCeWdDQURZQ0FDQUJJQWdnQkNBSkVOVUtEQUVMSUFRZ0JDZ0NBRUVFY2pZQ0FBc2dBU2dDQUFzaERDQUhKQVlnREF0WkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQlVFVWFpQUJJQWNnQkNBREVMUUVJQUVvQWdBaENDQUdKQVlnQ0F0YkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQUNBRlFSQnFJQUVnQnlBRUlBTVF0UVFnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJnTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJHR29nQVNBSElBUWdBeEMyQkNBQktBSUFJUWdnQmlRR0lBZ0xvZ0VCQkg4akJpRUhJd1pCRUdva0JpQUFRUWhxSWdZb0FnQW9BaFFoQ0NBR0lBaEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0lFSUFjZ0FpZ0NBRFlDQUNBR0tBSUFJQVlnQml3QUN5SUJRUUJJSWdJYklnZ2dCaWdDQkNBQlFmOEJjU0FDRzJvaEFTQUhRUWhxSWdJZ0J5Z0NCRFlDQUNBSFFReHFJZ1lnQnlnQ0FEWUNBQ0FBSUFJZ0JpQURJQVFnQlNBSUlBRVFwQUVoQ1NBSEpBWWdDUXRnQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQUlBRWdBaUFESUFRZ0JVSHRtQU5COVpnREVLUUJJUWNnQmlRR0lBY0wzd1VDQTM4R2ZDTUdJUVVqQmtIZ0Jtb2tCaUFCSUFJckF4Z2dBaXNEQUNBREt3TUFvaUFDS3dNSUlBTXJBd2dpQ0tLZ0lBSXJBeEFnQXlzREVDSUpvcUNnT1FNQUlBRWdBaXNET0NBQ0t3TWdJQU1yQXdBaUI2SWdDQ0FDS3dNb29xQWdDU0FDS3dNd29xQ2dPUU1JSUFFZ0Fpc0RXQ0FISUFKQlFHc2lCQ3NEQUtJZ0Fpc0RTQ0FES3dNSUlnaWlvQ0FKSUFJckExQ2lvS0E1QXhBZ0JVSEFCR29pQVNBSElBSXJBd0FpQ3FJNUF3QWdBU0FJSUFxaU9RTUlJQUVnQ2lBREt3TVFJZ21pT1FNUUlBRWdCeUFDS3dNSUlndWlPUU1ZSUFFZ0NDQUxvamtESUNBQklBa2dDNkk1QXlnZ0FTQUhJQUlyQXhBaURLSTVBekFnQVNBSUlBeWlPUU00SUFGQlFHc2dDU0FNb2prREFDQUJJQW81QTBnZ0FTQUxPUU5RSUFFZ0REa0RXQ0FCSUFjZ0Fpc0RJQ0lLb2prRFlDQUJJQWdnQ3FJNUEyZ2dBU0FKSUFxaU9RTndJQUVnQnlBQ0t3TW9JZ3VpT1FONElBRWdDQ0FMb2prRGdBRWdBU0FKSUF1aU9RT0lBU0FCSUFjZ0Fpc0RNQ0lNb2prRGtBRWdBU0FJSUF5aU9RT1lBU0FCSUFrZ0RLSTVBNkFCSUFFZ0Nqa0RxQUVnQVNBTE9RT3dBU0FCSUF3NUE3Z0JJQUVnQnlBRUt3TUFJZ3FpT1FQQUFTQUJJQWdnQ3FJNUE4Z0JJQUVnQ1NBS29qa0QwQUVnQVNBSElBSXJBMGdpQzZJNUE5Z0JJQUVnQ0NBTG9qa0Q0QUVnQVNBSklBdWlPUVBvQVNBQklBY2dBaXNEVUNJSG9qa0Q4QUVnQVNBSUlBZWlPUVA0QVNBQklBa2dCNkk1QTRBQ0lBRWdDamtEaUFJZ0FTQUxPUU9RQWlBQklBYzVBNWdDSUFVUTRBcEJBQ0VDQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQmtjRVFDQUNRVEJzSUFCcUlBTkJBM1JxSWdaRUFBQUFBQUFBQUFBNUF3QkJBQ0VFUkFBQUFBQUFBQUFBSVFjRFFDQUVRUXhIQkVBZ0JpQUhJQUpCNEFCc0lBRnFJQVJCQTNScUt3TUFJQVJCTUd3Z0JXb2dBMEVEZEdvckF3Q2lvQ0lIT1FNQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFVa0JndmNBUUVIZnlNR0lRQWpCa0hRQVdva0JpQUFRY0FCYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFRzRBV29pQmlBRU5nSUFJQUJCb0FGcUlnUkJGQ0FISUFVZ0JoQjNJZ2tnQkdvaEJTQUVJQVVnQWhDSkFTRUhJQVlnQWhBN0lBWkJvTTRERURvaENDQUdFRHdnQ0NnQ0FDZ0NNQ0VLSUFnZ0JDQUZJQUFnQ2tFUGNVR0tBbW9SQ1FBYUlBQWdBU2dDQURZQ3ZBRWdCaUFBS0FLOEFUWUNBQ0FHSUFBZ0NVRUNkQ0FBYWlJQklBY2dCR3RCQW5RZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RcFFFaEN5QUFKQVlnQ3d1MUF3RVBmeU1HSVFVakJrSGdBbW9rQmlBRlFhZ0NhaUVOSUFWQm1BSnFJUUFnQlVHUUFtb2lCa0lsTndNQUlBWkJBV3BCMjVRRElBSW9BZ1FRbEFJaERpQUZRZFFDYWlJSElBVkI4QUZxSWdvMkFnQVFYQ0VQSUFWQndBSnFJUkFnQlVHd0Ftb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERFRUJJUklGSUFoQkEzUVFSQ0lBQkVBZ0FDSU1JUk1GRUFBTEN5QUZRZGdDYWlJQUlBSVFPeUFKSUFjZ0JpQU1JQVZCMEFKcUlBVkJ6QUpxSUFBUXVBUWdBQkE4SUFVZ0FTZ0NBRFlDeUFJZ0JTZ0MwQUloQ0NBRktBTE1BaUVHSUFBZ0JTZ0N5QUkyQWdBZ0FTQUFJQXdnQ0NBR0lBSWdBeENsQVNJQU5nSUFJQkpGQkVBZ0V4QTRDeUFSRURnZ0JTUUdJQUFMdFFNQkQzOGpCaUVGSXdaQjRBSnFKQVlnQlVHb0Ftb2hEU0FGUVpnQ2FpRUFJQVZCa0FKcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVSFVBbW9pQnlBRlFmQUJhaUlLTmdJQUVGd2hEeUFGUWNBQ2FpRVFJQVZCc0FKcUlRc2dEZ1IvSUFBZ0FpZ0NDRFlDQUNBQUlBUTVBd2dnQ2tFZUlBOGdCaUFBRUhjRklBMGdCRGtEQUNBS1FSNGdEeUFHSUEwUWR3c2lBRUVkU2dSQUVGd2hBQ0FPQkg4Z0N5QUNLQUlJTmdJQUlBc2dCRGtEQ0NBSElBQWdCaUFMRUpzQkJTQVFJQVE1QXdBZ0J5QUFJQVlnRUJDYkFRc2hBQ0FIS0FJQUlnWUVRQ0FBSVFnZ0JpSVJJUWtGRUFBTEJTQUFJUWdnQnlnQ0FDRUpDeUFGSVFBZ0NTQUlJQWxxSWdZZ0FoQ0pBU0VISUFrZ0NrWUVRQ0FBSVF4QkFTRVNCU0FJUVFOMEVFUWlBQVJBSUFBaURDRVRCUkFBQ3dzZ0JVSFlBbW9pQUNBQ0VEc2dDU0FISUFZZ0RDQUZRZEFDYWlBRlFjd0NhaUFBRUxnRUlBQVFQQ0FGSUFFb0FnQTJBc2dDSUFVb0F0QUNJUWdnQlNnQ3pBSWhCaUFBSUFVb0FzZ0NOZ0lBSUFFZ0FDQU1JQWdnQmlBQ0lBTVFwUUVpQURZQ0FDQVNSUVJBSUJNUU9Bc2dFUkE0SUFVa0JpQUFDL1lCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhRUlp5SWdoQkFXb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQTNSQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCREhJaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSVnlRUUowUVE5cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQy9rQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkYyb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQVhSQkxISkJBblJCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJEV29oQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJoeVFRSjBRUXRxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDOWdDQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlFRklBSW9BZ1JCQVhFRVFDQUZJQUlRT3lBRlFhak9BeEE2SVFBZ0JSQThJQUFvQWdBaEFpQUZJQUFnQkFSL0lBSW9BaGdGSUFJb0Fod0xRVDl4UWJJRmFoRURBQ0FGS0FJQUlnSWdCU0FGTEFBTElnQkJBRWdiSVFNRFFDQUZLQUlFSUFCQi93RnhJQUJCR0hSQkdIVkJBRWdpQUJ0QkFuUWdBaUFGSUFBYmFpQURSd1JBSUFNb0FnQWhBaUFCS0FJQUlnQUVRQ0FBS0FJWUlnUWdBQ2dDSEVZRWZ5QUFJQUlnQUNnQ0FDZ0NORUUvY1VHS0FXb1JBZ0FGSUFBZ0JFRUVhallDR0NBRUlBSTJBZ0FnQWd0QmZ4QkJCRUFnQVVFQU5nSUFDd3NnQTBFRWFpRURJQVVzQUFzaEFDQUZLQUlBSVFJTUFRc0xJQUVvQWdBaEFDQUZFRWNGSUFBb0FnQW9BaGdoQnlBR0lBRW9BZ0EyQWdBZ0JTQUdLQUlBTmdJQUlBQWdCU0FDSUFNZ0JFRUJjU0FIUVI5eFFhSUNhaEVJQUNFQUN5QUdKQVlnQUF2VEFRRUhmeU1HSVFBakJrSGdBR29rQmlBQVFkQUFhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVISUFHb2lCaUFFTmdJQUlBQkJNR29pQkVFVUlBY2dCU0FHRUhjaUNTQUVhaUVGSUFRZ0JTQUNFSWtCSVFjZ0JpQUNFRHNnQmtHQXpnTVFPaUVJSUFZUVBDQUlLQUlBS0FJZ0lRb2dDQ0FFSUFVZ0FDQUtRUTl4UVlvQ2FoRUpBQm9nQUNBQktBSUFOZ0pNSUFZZ0FDZ0NURFlDQUNBR0lBQWdBQ0FKYWlJQklBY2dCR3NnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFsd0VoQ3lBQUpBWWdDd3YrRXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBUW9BZ0FpQmlFSElBRWdBa0YvYWlJUWJFRUJkQ0FHYWlFRkEwQWdDU0FCU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQjBFQ2FpRUhJQWxCQVdvaENTQUZRUUpxSVFVTUFRc0xJQVloQjBFQUlRa2dBVUYvYWlJUlFRRjBJQVpxSVFVRFFDQUpJQUpJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FCUVFGMElBZHFJUWNnQ1VFQmFpRUpJQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFSFFRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVE1QkFTRU1RUUFoQXlBQUlBUW9BZ1JxSVFrZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0RDQVFUZzBDSUFNaEFFRUJJUW9EUUNBS0lCRklCRUFnRFMwQUFDQU9MUUFBU2dSQUlBWkJBRHNCQUNBSlFRQTZBQUFGQWtBZ0NVRi9PZ0FBSUJKQkFYUWdCbW9pQXk0QkFDSUZRUUJLQkVBZ0JpQUZPd0VBSUFWQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFOQmZtb3VBUUFpQlNFSUlBVkJBRW9oQ3lBRExnRUNJZ05CQUV3RVFDQUxCRUFnQmlBRk93RUFJQWhCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcElCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0JrRithaTRCQUNJRFFRQktCRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlES0FJQUlBcE9EUUlnQXlBS05nSUFCU0FBUWYvL0FVb05CaUFHSUFCQkFXb2lBenNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQU5CRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0F5RUFDd3dCQ3lBTEJFQUNRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCa0YrYWk0QkFDSUZRUUJNQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0FnTkFBYWlJRktBSUFJQXBLQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ01nRENBREtBSUFhallDQUFzTElBMUJBV29oRFNBT1FRRnFJUTRnQ1VFQmFpRUpJQXBCQVdvaENpQUdRUUpxSVFZTUFRc0xJQTFCQW1vaERTQU9RUUpxSVE0Z0RFRUJhaUVNSUFBaEF5QUpRUUpxSVFrZ0JrRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQlVFQklRQkJBU0VKSUFjaEJnTkFJQWtnQTB3RVFDQUpJQVlvQWdBaURVWUVRQ0FBUVFGcUlRY0ZJQUFoQnlBTlFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBSElRQWdDVUVCYWlFSklBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBVkJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VIQTBBZ0J5QUFTQVJBSUFSQmpJQUlhaUFIUVFKMElnWkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBWkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQVpCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFaQkEzSkJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ2NnQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBY29BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ2RCQTNScUlnWWdCaXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBZEJBWEpCQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ1pJQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWR1VUF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhGQkZuSWlDRUVCYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU1jaUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCRlhKQkQycEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRVhhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRXNja0VPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU5haUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCR0hKQkRtcEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDNRSUJBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJUVVnQWlnQ0JFRUJjUVJBSUFVZ0FoQTdJQVZCa000REVEb2hBQ0FGRUR3Z0FDZ0NBQ0VDSUFVZ0FDQUVCSDhnQWlnQ0dBVWdBaWdDSEF0QlAzRkJzZ1ZxRVFNQUlBVW9BZ0FpQWlBRklBVXNBQXNpQUVFQVNCc2hBd05BSUFJZ0JTQUFRUmgwUVJoMVFRQklJZ0liSUFVb0FnUWdBRUgvQVhFZ0FodHFJQU5IQkVBZ0F5d0FBQ0VDSUFFb0FnQWlBQVJBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFvQWdBb0FqUWhCQ0FBSUFJUVFpQUVRVDl4UVlvQmFoRUNBQVVnQUNBRVFRRnFOZ0lZSUFRZ0Fqb0FBQ0FDRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXNMSUFOQkFXb2hBeUFGTEFBTElRQWdCU2dDQUNFQ0RBRUxDeUFCS0FJQUlRQWdCUkJIQlNBQUtBSUFLQUlZSVFjZ0JpQUJLQUlBTmdJQUlBVWdCaWdDQURZQ0FDQUFJQVVnQWlBRElBUkJBWEVnQjBFZmNVR2lBbW9SQ0FBaEFBc2dCaVFHSUFBTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTDBFTmdJQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4QytCRGNEQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3UrQ0FJUWZ3UjhJd1loQ1NNR1FSQnFKQVlnQ1VFSWFpRUlJQUFvQWdnaUF5QUFLQUlFUmdSQUlBRW9BZ1FnQTBZRVFDQUNLQUlFUVFGcUlBTkdCRUFDUUNBRFFYNXFJUXdEUUNBSElBeElCRUFnQVNnQ0FDQUhRUU4wYWlBQUtBSUFJQU1nQjJ4QkEzUnFJZ3NnQjBFRGRHb3JBd0E1QXdBZ0NDQURJQWRyUVg5cUlnNDJBZ1FnQ0NBSFFRRnFJZ1pCQTNRZ0Myb2lEellDQUNBSUVKWUxJUk1nQWlnQ0FDQUhRUU4wYWlBVE9RTUFJQk5FQUFBQUFBQUFBQUJpQkVBQ1FDQUdJUVVEUUNBRklBTklCRUFnQmlFRVJBQUFBQUFBQUFBQUlSTURRQ0FFSUFWSkJFQWdFeUFBS0FJQUlBVWdBeUFFYkdwQkEzUnFLd01BSUFSQkEzUWdDMm9yQXdDaW9DRVRJQVJCQVdvaEJBd0JDd3NnQXlBRmJDRVFJQVVoQkFOQUlBUWdBMGdFUUNBVElBQW9BZ0FnQkNBUWFrRURkR29yQXdBZ0JFRURkQ0FMYWlzREFLS2dJUk1nQkVFQmFpRUVEQUVMQ3lBQktBSUFJQVZCQTNScUlCTTVBd0FnQlVFQmFpRUZEQUVMQ3lBSklBNDJBZ1FnQ0NBT05nSUVJQWdnRHpZQ0FDQUpJQUVvQWdBZ0JrRURkR28yQWdBZ0NDQUpFT1lDUkFBQUFBQUFBT0Evb2lFVklBTWhCUU5BSUFWQmYyb2lCU0FIVEEwQklBRW9BZ0FpRGlBRlFRTjBhaUlFS3dNQUlCVWdCVUVEZENBTGFpc0RBQ0lXb3FFaEV5QUVJQk01QXdBZ0F5QUZiQ0VQSUFVaEJBTkFJQVFnQTBnRVFDQUFLQUlBSUFRZ0QycEJBM1JxSWhBZ0VDc0RBQ0FXSUFSQkEzUWdEbW9yQXdDaUlCTWdCRUVEZENBTGFpc0RBS0tnb1RrREFDQUVRUUZxSVFRTUFRc0xEQUFBQ3dBTEN5QUdJUWNNQVFzTEFrQUNRQ0FEUVFGS0JIOGdBU2dDQUNJTklBeEJBM1JxSUFBb0FnQWlBU0FNSUFNZ0RHd2lCbXBCQTNScUt3TUFPUU1BSUFJb0FnQWdERUVEZEdvZ0JpQURRWDlxSWdKcVFRTjBJQUZxS3dNQU9RTUFJQUVoQmlBTklRRU1BUVVnQTBFQlJnUi9RUUFoQWlBQUtBSUFJUVlnQVNnQ0FDRUJEQUlGSUFNTEN5RUtEQUVMSUFNaERTQUNJQUlnQTJ4cVFRTjBJQVpxS3dNQUlSUWdBa0VEZENBQmFpRVJRUndoRWdzRFFDQVNRUnhHQkVBZ0VTQVVPUU1BSUEwaENnc2dDa0VBVEFSQVFRQWhBQXdDQ3lBQUtBSUFJQXBCZjJvaURTQURiRUVEZEdvaEJpQUtJQXhNQkVBQ1FDQURJQTFyUVg5cUlRVWdDa0VEZENBR2FpRUhJQW9oQWdOQUlBSWdBMDROQVNBSklBVTJBZ1FnQ0NBRk5nSUVJQWdnQnpZQ0FDQUpJQUFvQWdBZ0NpQUNJQU5zSWdScVFRTjBhallDQUNBSUlBa1E1Z0loRXlBS0lRRURRQ0FCSUFOSUJFQWdBQ2dDQUNBQklBUnFRUU4wYWlJTElBc3JBd0FnRXlBQlFRTjBJQVpxS3dNQW9xRTVBd0FnQVVFQmFpRUJEQUVMQ3lBQ1FRRnFJUUlNQUFBTEFBc0xRUUFoQVFOQUlBRWdBMGdFUUNBQlFRTjBJQVpxUkFBQUFBQUFBQUFBT1FNQUlBRkJBV29oQVF3QkN3dEVBQUFBQUFBQThEOGhGQ0FOUVFOMElBWnFJUkZCSENFU0RBQUFDd0FMQlVGL0lRQUxCVUYvSVFBTEJVRi9JUUFMSUFra0JpQUFDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDL0JEc0JBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndVNCd0VPZnlNR0lRZ2pCa0d3QW1va0JpQUNFSndCSVE4Z0FpQUlRYUFCYWhEc0FTRVFJQWhCb0FKcUlnb2dBaUFJUWF3Q2FoRHJBU0FJUVpRQ2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBaEJrQUpxSWdzZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdDRUdNQW1vaURDQUlOZ0lBSUFoQmlBSnFJZzFCQURZQ0FDQUFLQUlBSWdJaERnTkFBa0FnQWdSL0lBSW9BZ3dpQmlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEVnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUktBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCMFVOQXdzTUFRc2dCd1IvUVFBaEJnd0NCVUVBQ3lFR0N5QUxLQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnZEIvd0Z4SUFkQkFFZ2JJZ2RxUmdSQUlBVWdCMEVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFzZ0J5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxJQThnQ1NBTElBMGdDQ2dDckFJZ0NpQUlJQXdnRUJET0FRMEFJQUlvQWd3aUJpQUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFaQkJHbzJBZ3dnQmlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCa1VOQUNBR0tBSU1JZ1FnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVNJQVVRUnlBS0VFY2dDQ1FHSUJJTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FCQTdJQUpCb000REVEb2lBQ2dDQUNnQ01DRURJQUJCOE84QVFZcndBQ0FCSUFOQkQzRkJpZ0pxRVFrQUdpQUNFRHdnQWlRR0lBRUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRU1FRU53TUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M3WUhBUTkvSXdZaEJpTUdRZEFDYWlRR0lBWkJ1QUpxSWdvZ0FpQUdRYUFCYWlJUUlBWkJ5QUpxSUFaQnhBSnFFT1VDSUFaQnJBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0dvQW1vaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWFRQ2FpSU5JQVkyQWdBZ0JrR2dBbW9pRGtFQU5nSUFJQVpCelFKcUlndEJBVG9BQUNBR1Fjd0NhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXNnQ3lBUklBa2dEQ0FHS0FMSUFpQUdLQUxFQWlBS0lBWWdEU0FPSUJBUTVBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd1MkJ3RVBmeU1HSVFZakJrSFFBbW9rQmlBR1FiZ0NhaUlLSUFJZ0JrR2dBV29pRUNBR1FjZ0NhaUFHUWNRQ2FoRGxBaUFHUWF3Q2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJxQUpxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0drQW1vaURTQUdOZ0lBSUFaQm9BSnFJZzVCQURZQ0FDQUdRYzBDYWlJTFFRRTZBQUFnQmtITUFtb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0tBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnb0FnQUxJQXNnRVNBSklBd2dCaWdDeUFJZ0JpZ0N4QUlnQ2lBR0lBMGdEaUFRRU9RQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFRWFqWUNEQ0FIS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF3d1E1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MdGdjQkQzOGpCaUVHSXdaQjBBSnFKQVlnQmtHNEFtb2lDaUFDSUFaQm9BRnFJaEFnQmtISUFtb2dCa0hFQW1vUTVRSWdCa0dzQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FhZ0NhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJwQUpxSWcwZ0JqWUNBQ0FHUWFBQ2FpSU9RUUEyQWdBZ0JrSE5BbW9pQzBFQk9nQUFJQVpCekFKcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUN5QUxJQkVnQ1NBTUlBWW9Bc2dDSUFZb0FzUUNJQW9nQmlBTklBNGdFQkRrQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQkdvMkFnd2dCeWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNUUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDOGNIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQWhCb0FGcUlRMGdDRUdZQW1vaEJpQUlRYVFDYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRYURPQXhBNklnQW9BZ0FvQWpBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJpQUpxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHVUFtb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFaQUNhaUlQSUFnMkFnQWdDRUdNQW1vaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaERFRUFJUU5CQVFWQkFBc0ZRUUFoREVFQUlRTkJBUXNoQ1FKQUFrQWdBaWdDQUNJSFJRMEFJQWNvQWd3aUVTQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBSlJRMERDd3dCQ3lBSkJIOUJBQ0VIREFJRlFRQUxJUWNMSUFvb0FnQWdBQ0FHS0FJRUlBWXNBQXNpQ1VIL0FYRWdDVUVBU0JzaUNXcEdCRUFnQmlBSlFRRjBFRW9nQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDaUFKSUFZb0FnQWdCaUFHTEFBTFFRQklHeUlBYWpZQ0FBc2dBeWdDRENJSklBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUF0QkVDQUFJQW9nRUVFQUlBc2dDQ0FQSUEwUXpnRU5BQ0FES0FJTUlnY2dBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGUVFBTEJVRUJDeUVBQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lESUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBa0VBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUVJQVFvQWdCQkFuSTJBZ0FMSUFFb0FnQWhFeUFHRUVjZ0N4QkhJQWdrQmlBVEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNPQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ05DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNMQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0lDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDR0N5RUhJQVlrQmlBSEM1QUJBZ04vQW53Z0FDQUFFT1lDbnlJRVJBQUFBQUFBQUFBQVlnUkFJQVNhSUFRZ0FDZ0NBQ0lCS3dNQUlnVkVBQUFBQUFBQUFBQmpHeUVFSUFFZ0JTQUVvQ0lGT1FNQVJBQUFBQUFBQVBBL0lBUWdCYUtmb3lFRklBQW9BZ1FoQWtFQUlRQURRQ0FBSUFKSUJFQWdBRUVEZENBQmFpSURJQVVnQXlzREFLSTVBd0FnQUVFQmFpRUFEQUVMQ3dzZ0JKb0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlVTElRY2dCaVFHSUFjTDdRSUJCSDhqQmlFR0l3WkJNR29rQmlBR1FTaHFJUWNnQmtFZ2FpRUlJQU1vQWdSQkFYRUVRQ0FISUFNUU95QUhRYURPQXhBNklRa2dCeEE4SUFjZ0F4QTdJQWRCcU00REVEb2hBeUFIRUR3Z0F5Z0NBQ2dDR0NFQUlBWWdBeUFBUVQ5eFFiSUZhaEVEQUNBREtBSUFLQUljSVFBZ0JrRU1haUFESUFCQlAzRkJzZ1ZxRVFNQUlBWWdBaWdDQURZQ0dDQUhJQVlvQWhnMkFnQWdCU0FCSUFjZ0JpQUdRUmhxSWdBZ0NTQUVRUUVRbFFJZ0JrWTZBQUFnQVNnQ0FDRUJBMEFnQUVGMGFpSUFFRWNnQUNBR1J3MEFDd1VnQ0VGL05nSUFJQUFvQWdBb0FoQWhDU0FHSUFFb0FnQTJBaVFnQmlBQ0tBSUFOZ0ljSUFZZ0JpZ0NKRFlDQUNBSElBWW9BaHcyQWdBZ0FTQUFJQVlnQnlBRElBUWdDQ0FKUVQ5eFFjWUNhaEVLQURZQ0FBSkFBa0FDUUFKQUlBZ29BZ0FPQWdBQkFnc2dCVUVBT2dBQURBSUxJQVZCQVRvQUFBd0JDeUFGUVFFNkFBQWdCRUVFTmdJQUN5QUJLQUlBSVFFTElBWWtCaUFCQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2UVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdmdRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZ3UTdBUUFnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd1FRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDOFlIQVE5L0l3WWhCaU1HUWZBQmFpUUdJQVpCMkFGcUlnb2dBaUFHUWFBQmFpSVFJQVpCNXdGcUlBWkI1Z0ZxRU9rQ0lBWkJ6QUZxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtISUFXb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FjUUJhaUlOSUFZMkFnQWdCa0hBQVdvaURrRUFOZ0lBSUFaQjVRRnFJZ3RCQVRvQUFDQUdRZVFCYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCL3dGeElBc2dFU0FKSUF3Z0Jpd0E1d0VnQml3QTVnRWdDaUFHSUEwZ0RpQVFFT2dDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHhnY0JEMzhqQmlFR0l3WkI4QUZxSkFZZ0JrSFlBV29pQ2lBQ0lBWkJvQUZxSWhBZ0JrSG5BV29nQmtIbUFXb1E2UUlnQmtITUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRY2dCYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCeEFGcUlnMGdCallDQUNBR1FjQUJhaUlPUVFBMkFnQWdCa0hsQVdvaUMwRUJPZ0FBSUFaQjVBRnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVnQ3lBUklBa2dEQ0FHTEFEbkFTQUdMQURtQVNBS0lBWWdEU0FPSUJBUTZBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRRnFOZ0lNSUFjc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1NRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3ZHQndFUGZ5TUdJUVlqQmtId0FXb2tCaUFHUWRnQmFpSUtJQUlnQmtHZ0FXb2lFQ0FHUWVjQmFpQUdRZVlCYWhEcEFpQUdRY3dCYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnlBRnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrSEVBV29pRFNBR05nSUFJQVpCd0FGcUlnNUJBRFlDQUNBR1FlVUJhaUlMUVFFNkFBQWdCa0hrQVdvaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUWY4QmNTQUxJQkVnQ1NBTUlBWXNBT2NCSUFZc0FPWUJJQW9nQmlBTklBNGdFQkRvQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQVdvMkFnd2dCeXdBQUJCQ0dnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF4QVE1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEMwRUJBbjhnQUNnQ0JDRUJJQUFvQWdBZ0FDZ0NDQ0lDUVFGMWFpRUFJQUpCQVhFRVFDQUJJQUFvQWdCcUtBSUFJUUVMSUFBZ0FVSC9BWEZCckFOcUVRRUFDdzBBSUFBb0FnQW9BZ0FRb1FzTEp3RUJmeUFCS0FJQUlRTWdBU2dDQkNFQklBQWdBallDQUNBQUlBTTJBZ1FnQUNBQk5nSUlDeUVCQVg5QmpNNERRWXpPQXlnQ0FDSUJRUUZxTmdJQUlBQWdBVUVCYWpZQ0JBdHRBUVIvSXdZaEFTTUdRVEJxSkFZZ0FVRVlhaUVESUFGQmp3RTJBaEFnQVVFQU5nSVVJQUZCSUdvaUFpQUJLUUlRTndJQUlBRWdBaUFBRUtNTElBQW9BZ0JCZjBjRVFDQUNJQUUyQWdBZ0F5QUNOZ0lBSUFBZ0F4RHBDUXNnQUNnQ0JFRi9haUVFSUFFa0JpQUVDOWNIQVE1L0l3WWhDQ01HUWZBQmFpUUdJQWhCb0FGcUlRMGdDRUhRQVdvaEJpQUlRZHdCYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRWURPQXhBNklnQW9BZ0FvQWlBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJ3QUZxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VITUFXb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFjZ0JhaUlQSUFnMkFnQWdDRUhFQVdvaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRU1RUUFoQTBFQkJVRUFDd1ZCQUNFTVFRQWhBMEVCQ3lFSkFrQUNRQ0FDS0FJQUlnZEZEUUFnQnlnQ0RDSVJJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVN3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDVVVOQXdzTUFRc2dDUVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QUtLQUlBSUFBZ0JpZ0NCQ0FHTEFBTElnbEIvd0Z4SUFsQkFFZ2JJZ2xxUmdSQUlBWWdDVUVCZEJCS0lBWWdCaXdBQzBFQVNBUi9JQVlvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFvZ0NTQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFHbzJBZ0FMSUFNb0Fnd2lDU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeFFSQWdBQ0FLSUJCQkFDQUxJQWdnRHlBTkVOQUJEUUFnQXlnQ0RDSUhJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVkJBQXNGUVFFTElRQUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnTWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FETEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFCS0FJQUlSTWdCaEJISUFzUVJ5QUlKQVlnRXd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFvQXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW53c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbmdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuUXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW13c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbWdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtUXNoQnlBR0pBWWdCd3Z0QWdFRWZ5TUdJUVlqQmtFd2FpUUdJQVpCS0dvaEJ5QUdRU0JxSVFnZ0F5Z0NCRUVCY1FSQUlBY2dBeEE3SUFkQmdNNERFRG9oQ1NBSEVEd2dCeUFERURzZ0IwR1F6Z01RT2lFRElBY1FQQ0FES0FJQUtBSVlJUUFnQmlBRElBQkJQM0ZCc2dWcUVRTUFJQU1vQWdBb0Fod2hBQ0FHUVF4cUlBTWdBRUUvY1VHeUJXb1JBd0FnQmlBQ0tBSUFOZ0lZSUFjZ0JpZ0NHRFlDQUNBRklBRWdCeUFHSUFaQkdHb2lBQ0FKSUFSQkFSQ1dBaUFHUmpvQUFDQUJLQUlBSVFFRFFDQUFRWFJxSWdBUVJ5QUFJQVpIRFFBTEJTQUlRWDgyQWdBZ0FDZ0NBQ2dDRUNFSklBWWdBU2dDQURZQ0pDQUdJQUlvQWdBMkFod2dCaUFHS0FJa05nSUFJQWNnQmlnQ0hEWUNBQ0FCSUFBZ0JpQUhJQU1nQkNBSUlBbEJQM0ZCeGdKcUVRb0FOZ0lBQWtBQ1FBSkFBa0FnQ0NnQ0FBNENBQUVDQ3lBRlFRQTZBQUFNQWdzZ0JVRUJPZ0FBREFFTElBVkJBVG9BQUNBRVFRUTJBZ0FMSUFFb0FnQWhBUXNnQmlRR0lBRUxRUUVCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU2dDQUNBQVFRUjBhaUlEUVlDQWdJQi9jU0VBSUFNZ0FDQUFRUmgyY25NaEFDQUJRUVJxSVFFTUFRc0xJQUFMR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4REhCQXRYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRW9BZ0FpQUNBREtBSUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUVJxSVFNZ0FVRUVhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xQd0VCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU3dBQUNBQVFRUjBhaUlBUVlDQWdJQi9jU0lESUFOQkdIWnlJQUJ6SVFBZ0FVRUJhaUVCREFFTEN5QUFDejBCQVg4Z0FBUi9JQUFvQWdBaUFRUi9JQUVvQXJnQkVEZ2dBQ2dDQUNnQ3ZBRVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhEK0F3dFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFc0FBQWlBQ0FETEFBQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRRnFJUU1nQVVFQmFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTElnRUJmeUFBQkVBZ0FDZ0NBQ2dDQkNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3d1MUFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFScUlRTWdCVUVJYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQUVFSTZBQUFnQUNnQ0pDSUhLQUlBS0FJTUlRZ0Nmd0pBQWtBQ1FDQUhJQUFvQWlnZ0JDQUVRUUZxSUFVZ0FpQUNRUWhxSUFNZ0NFRVBjVUdPQTJvUkRnQkJBV3NPQXdJQ0FBRUxJQUlnQmlnQ0FEb0FBQ0FESUFKQkFXbzJBZ0FMQTBBZ0F5Z0NBQ0lFSUFKTkJFQkJBU0VEUVFBTUF3c2dBeUFFUVg5cUlnUTJBZ0FnQkN3QUFDQUFLQUlnRU84QlFYOUhEUUFMQzBFQUlRTkJmd3NoQWlBREJIOGdCZ1VnQWlFQkRBSUxCU0FBUVRCcUN5QUJOZ0lBSUFCQkFUb0FOQXNMSUFVa0JpQUJDd2tBSUFCQkFSRElCQXNKQUNBQVFRQVF5QVFMWGdFQmZ5QUFJQUZCc05BREVEb2lBVFlDSkNBQUlBRWdBU2dDQUNnQ0dFSC9BSEZCQ0dvUkFBQTJBaXdnQUNnQ0pDSUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0ExSUFBb0FpeEJDRW9FUUJBQUN3dXpBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRaHFJUU1nQlVFRWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFOZ0lBSUFBb0FpUWlCeWdDQUNnQ0RDRUlBbjhDUUFKQUFrQWdCeUFBS0FJb0lBUWdCRUVFYWlBRklBSWdBa0VJYWlBRElBaEJEM0ZCamdOcUVRNEFRUUZyRGdNQ0FnQUJDeUFDSUFZb0FnQTZBQUFnQXlBQ1FRRnFOZ0lBQ3dOQUlBTW9BZ0FpQkNBQ1RRUkFRUUVoQTBFQURBTUxJQU1nQkVGL2FpSUVOZ0lBSUFRc0FBQWdBQ2dDSUJEdkFVRi9SdzBBQ3d0QkFDRURRWDhMSVFJZ0F3Ui9JQVlGSUFJaEFRd0NDd1VnQUVFd2Fnc2dBVFlDQUNBQVFRRTZBRFFMQ3lBRkpBWWdBUXVLQXdJTWZ3SjhJd1loQVNNR1FVQnJKQVlnQVVFZ2FpRUNRZEFCRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQUlRUFVFQkVBRUxJQUZCS0dvaEJDQURJQUJCdUFFUVRCb2dBeUFBS0FJQVFSNXFJZ2cyQXNBQklBTWdBQ2dDQkVFZWFpSUpOZ0xFQVNBRFFRODJBc2dCSUFOQkR6WUN6QUVnQXlBSklBaEJBM1JzSWdVUVJDSUNOZ0s0QVNBQ1JRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dBVUV3YWlFR0lBTWdCUkJFSWdRMkFyd0JJQVJGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBQlFSaHFJUVVnQVVFUWFpRUdJQUZCQ0dvaENpQUFRZWdBYWlFTElBQW9BckFCSVF3Z0FpRUFBMEFnQnlBSlNBUkFJQWRCRDJ1eXV5RU5RUUFoQWdOQUlBSWdDRWdFUUNBTElBSkJEMnV5dXlJT0lBMGdDaUFCSUF3UTJBc2dBQ0FLS3dNQXRqZ0NBQ0FBSUFFckF3QzJPQUlFSUFzZ0RpQU5JQVVnQmlBTUVOOEVJQVFnQlNzREFMWTRBZ0FnQkNBR0t3TUF0amdDQkNBQ1FRRnFJUUlnQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQjBFQmFpRUhEQUVMQ3lBQkpBWWdBd3NKQUNBQVFRRVF5UVFMQ1FBZ0FFRUFFTWtFQzE0QkFYOGdBQ0FCUWJqUUF4QTZJZ0UyQWlRZ0FDQUJJQUVvQWdBb0FoaEIvd0J4UVFocUVRQUFOZ0lzSUFBb0FpUWlBU2dDQUNnQ0hDRUNJQUFnQVNBQ1FmOEFjVUVJYWhFQUFFRUJjVG9BTlNBQUtBSXNRUWhLQkVBUUFBc0xuUUlCQ1g4akJpRURJd1pCSUdva0JpQURRUkJxSVFRZ0EwRUlhaUVDSUFOQkJHb2hCZ0ovQWtBZ0FVRi9FRUVOQUFKL0lBSWdBUkJDT2dBQUlBQXNBQ3dFUUNBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZHRFFKQmZ3d0JDeUFHSUFRMkFnQWdBa0VCYWlFSElBUkJDR29oQ0FKQUEwQUNRQ0FBS0FJa0lnVW9BZ0FvQWd3aENTQUZJQUFvQWlnZ0FpQUhJQU1nQkNBSUlBWWdDVUVQY1VHT0Eyb1JEZ0FoQlNBQ0lBTW9BZ0JHRFFJZ0JVRURSZzBBSUFWQkFrOE5BaUFHS0FJQUlBUnJJZ0lnQkVFQklBSWdBQ2dDSUJDVEFVY05BaUFES0FJQUlRSWdCVUVCUmcwQkRBUUxDeUFDUVFGQkFTQUFLQUlnRUpNQlFRRkhEUUFNQWd0QmZ3c01BUXNnQVVGL0VFRUVmMEVBQlNBQkN3c2hDaUFESkFZZ0NndGZBUUovSUFBc0FDd0VRQ0FCUVFFZ0FpQUFLQUlnRUpNQklRTUZBMEFnQXlBQ1NBUkFJQUFvQWdBb0FqUWhCQ0FBSUFFc0FBQVFRaUFFUVQ5eFFZb0JhaEVDQUVGL1J3UkFJQU5CQVdvaEF5QUJRUUZxSVFFTUFnc0xDd3NnQXd0TUFRRi9JQUFvQWdBb0FoZ2hBaUFBSUFKQi93QnhRUWhxRVFBQUdpQUFJQUZCc05BREVEb2lBVFlDSkNBQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQXNDNXNDQVFsL0l3WWhBeU1HUVNCcUpBWWdBMEVRYWlFRUlBTkJDR29oQWlBRFFRUnFJUVlDZndKQUlBRkJmeEJCRFFBQ2Z5QUNJQUUyQWdBZ0FDd0FMQVJBSUFKQkJFRUJJQUFvQWlBUWt3RkJBVVlOQWtGL0RBRUxJQVlnQkRZQ0FDQUNRUVJxSVFjZ0JFRUlhaUVJQWtBRFFBSkFJQUFvQWlRaUJTZ0NBQ2dDRENFSklBVWdBQ2dDS0NBQ0lBY2dBeUFFSUFnZ0JpQUpRUTl4UVk0RGFoRU9BQ0VGSUFJZ0F5Z0NBRVlOQWlBRlFRTkdEUUFnQlVFQ1R3MENJQVlvQWdBZ0JHc2lBaUFFUVFFZ0FpQUFLQUlnRUpNQlJ3MENJQU1vQWdBaEFpQUZRUUZHRFFFTUJBc0xJQUpCQVVFQklBQW9BaUFRa3dGQkFVY05BQXdDQzBGL0N3d0JDeUFCUVg4UVFRUi9RUUFGSUFFTEN5RUtJQU1rQmlBS0Mxa0JBWDhnQUN3QUxBUkFJQUZCQkNBQ0lBQW9BaUFRa3dFaEF3VURRQ0FESUFKSUJFQWdBQ0FCS0FJQUlBQW9BZ0FvQWpSQlAzRkJpZ0ZxRVFJQVFYOUhCRUFnQTBFQmFpRURJQUZCQkdvaEFRd0NDd3NMQ3lBREMwd0JBWDhnQUNnQ0FDZ0NHQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQWFJQUFnQVVHNDBBTVFPaUlCTmdJa0lBRW9BZ0FvQWh3aEFpQUFJQUVnQWtIL0FIRkJDR29SQUFCQkFYRTZBQ3dMN0FVQ0IzOENmQ01HSVFRakJrR2dBMm9rQmlBRVFaQURhaUVHSUFSQmdBRnFJUWdnQUNnQ0FDRUhJQUFvQWdRaEJTQUFRUWhxSUFSQnNBSnFJZ29nQkVIUUFXb2lDUkR6QzBFQVNBUkFRUUJCQTBHYnJBRWdCaEE5QlFKQUlBVkJmMnEzSVF4QkFDRUZBMEFnQlVFRVJ3UkFJQXBCSUdvZ0JVRURkR29pQUNBS1FVQnJJQVZCQTNScUt3TUFJQXlpSUFBckF3Q2hPUU1BSUFWQkFXb2hCUXdCQ3dzZ0Npc0RVQ0VMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUUFEUUNBQVFRTkhCRUFnQlVFWWJDQUlhaUFBUVFOMGFpQUZRUVYwSUFwcUlBQkJBM1JxS3dNQUlBdWpPUU1BSUFCQkFXb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUVJQWdyQXdCRUFBQUFBQUFBQUVDaUlBZEJmMnEzSWd1ak9RTUFJQVFnQ0NzRENFUUFBQUFBQUFBQVFLSWdDNk01QXdnZ0JDQUlLd01RUkFBQUFBQUFBQUJBb2lBTG8wUUFBQUFBQUFEd3Y2Q2FPUU1RSUFSQ0FEY0RHQ0FFUWdBM0F5QWdCQ0FJS3dNZ1JBQUFBQUFBQUFCQW9pQU1vNW81QXlnZ0JDQUlLd01vUkFBQUFBQUFBQUJBb2lBTW8wUUFBQUFBQUFEd3Y2Q2FPUU13SUFSQ0FEY0RPQ0FFUWdBM0EwQWdCRUlBTndOSUlBUWdBU0FDb0NBQklBS2hJZ3VqT1FOUUlBUWdBa1FBQUFBQUFBQUFRS0lnQWFJZ0M2TTVBMWdnQkVJQU53TmdJQVJDQURjRGFDQUVSQUFBQUFBQUFQQy9PUU53SUFSRUFBQUFBQUFBQUFBNUEzZ2dDU3NER0NFTElBa3JBemdoQWlBSkt3TllJUUZCQUNFR0EwQWdCa0VFUmcwQklBWkJCWFFnQkdvckF3QWhEQ0FHUVFWMElBUnFJUVVnQmtFRmRDQUVhaUVBUVFBaEJ3TkFJQWRCQTBjRVFDQUdJQWRCQW5ScVFRTjBJQU5xSUF3Z0IwRURkQ0FKYWlzREFLSWdCU3NEQ0NBSlFTQnFJQWRCQTNScUt3TUFvcUFnQUNzREVDQUpRVUJySUFkQkEzUnFLd01Bb3FBNUF3QWdCMEVCYWlFSERBRUxDeUFHUVF4cVFRTjBJQU5xSUFaQkJYUWdCR29yQXhnZ0RDQUxvaUFGS3dNSUlBS2lvQ0FBS3dNUUlBR2lvS0E1QXdBZ0JrRUJhaUVHREFBQUN3QUxDeUFFSkFZTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFJQWhCQURzQkFDQU1RUUE2QUFBRkFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0xJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUw2QVVDQ244QmZDTUdJUVFqQmtHQUFtb2tCaUFFUWZnQmFpRUlJQVJCOEFGcUlRb2dCRUhvQVdvaERDQUVRZUFCYWlFRklBUkIyQUZxSVFzZ0JFSFFBV29oQnlBRVFjZ0JhaUVKSUFSQkVHb2hBeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUFRWWk1QVJDd0FTSUdSUVJBSUFsQnBNVURLQUlBTmdJQUlBa2dBRFlDQkVFQVFRTkJzNm9CSUFrUVBVR2t4UU1vQWdBUXZRRWhBQ0FIUWFmVkF6WUNBQ0FISUFBMkFnUkJBRUVEUWFXMkFTQUhFRDFCZnlFQURBRUxJQVpCQUVFQ0VQUUJJQVlvQWt3YUlBWW9BZ0JCQlhaQkFYRUVRQ0FMUWFURkF5Z0NBRFlDQUVFQVFRTkIrS29CSUFzUVBVR2t4UU1vQWdBUXZRRWhBQ0FGUWFmVkF6WUNBQ0FGSUFBMkFnUkJBRUVEUWFXMkFTQUZFRDFCZnlFQUJRSkFJQVlRK0FJaEJ5QUdFUGtDUVFBaEFBSkFBa0FEZnlBQVFRUlBEUUVnQUVFQmFpRUZJQWNnQUVFRGRFR2tGV29vQWdBaUFCQlBCSDhnQlNFQURBRUZJQVVMQ3lFRkRBRUxJQUJCQkVZRWYwRUFRUU5CcGFzQklBd1FQVUYvSVFBTUFnVkJBQ0VGUWFRVktBSUFDeUVBQ3lBRElBQkJBU0FHRUdGQkFVY0VRQ0FLUWFURkF5Z0NBRFlDQUVFQVFRTkI5YXNCSUFvUVBVR2t4UU1vQWdBUXZRRWhBQ0FJUWFmVkF6WUNBQ0FJSUFBMkFnUkJBRUVEUWFXMkFTQUlFRDFCZnlFQURBRUxJQU1nQlRZQ3NBRWdBeERZQkNBRlFRRkdJZ2NFUUNBREt3TjRJUTBnQXlBRFFZQUJhaUlBS3dNQU9RTjRJQU1nRFRrRGdBRUZJQU5CZ0FGcUlRQUxJQUVnQTBHNEFSQk1HaUFFSUFJMkFnQkJBU0VDQTBBZ0FrRUJUZ1JBUVFBaEFBd0NDeUFFS0FJQVFRTnFRWHh4SWdrb0FnQWhDQ0FFSUFsQkJHbzJBZ0FnQ0NBQktBS3dBVFlDc0FFZ0F5QUJLQUt3QVVFRGRFR2NGV29vQWdCQkFTQUdFR0ZCQVVjRVFFRi9JUUFNQWdzZ0F5QUZOZ0t3QVNBREVOZ0VJQWNFUUNBREt3TjRJUTBnQXlBQUt3TUFPUU40SUFBZ0RUa0RBQXNnQ0NBRFFiZ0JFRXdhSUFKQkFXb2hBZ3dBQUFzQUN3c2dCaEJxQ3dWQmZ5RUFDeUFFSkFZZ0FBdVRBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0FoZ2dBMEVDZEdvMkFoZ2dBeUFFYWlFRUlBTkJBblFnQVdvRklBQWdBU2dDQUNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUVJxQ3lFQkRBRUxDeUFFQ3pNQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUVhallDRENBQUtBSUFDd3VVQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWd3aUF5QUFLQUlRSWdWSkJIOGdBU0FESUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BZ3dnQTBFQ2RHbzJBZ3dnQTBFQ2RDQUJhZ1VnQUNBQUtBSUFLQUlvUWY4QWNVRUlhaEVBQUNJRFFYOUdEUUVnQVNBRE5nSUFRUUVoQXlBQlFRUnFDeUVCSUFNZ0JHb2hCQXdCQ3dzZ0JBdVFBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5ySWdNZ0JpQURTQnNpQXhDb0FTQUFJQU1nQUNnQ0dHbzJBaGdnQXlBRWFpRUVJQUVnQTJvRklBQW9BZ0FvQWpRaEF5QUFJQUVzQUFBUVFpQURRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRRnFDeUVCREFFTEN5QUVDelVBSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFQmFqWUNEQ0FBTEFBQUVFSUxDNDBCQVFSL0EwQUNRQ0FFSUFKT0RRQWdBQ2dDRENJRElBQW9BaEFpQlVrRWZ5QUJJQU1nQWlBRWF5SUdJQVVnQTJzaUF5QUdJQU5JR3lJREVLZ0JJQUFnQXlBQUtBSU1hallDRENBQklBTnFCU0FBSUFBb0FnQW9BaWhCL3dCeFFRaHFFUUFBSWdOQmYwWU5BU0FCSUFNUVFqb0FBRUVCSVFNZ0FVRUJhZ3NoQVNBRElBUnFJUVFNQVFzTElBUUxDd0FnQUJDZEFpQUFFRGdMU0FFQ2Z5QUFLQUlvSVFFRFFDQUJCRUFnQUNnQ0lDQUJRWDlxSWdGQkFuUnFLQUlBSVFKQkFDQUFJQUFvQWlRZ0FVRUNkR29vQWdBZ0FrRURjVUgyQldvUkJnQU1BUXNMQ3dRQVFRQUxNd0VDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQklBRW9BZ0EyQWdRZ0FTZ0NCQ2dDQkJDSUF5RUNJQUVrQmlBQ0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFZdUpBellDQUVHdytRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWV1SUF6WUNBRUc0K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY3lJQXpZQ0FFSEErUUJCQmlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFkNkdBellDQUVISStRQkJCU0FBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWNDR0F6WUNBRUhRK1FCQkJDQUFLQUlBRUFnZ0FDUUdDK29GQVFaOEFuOENRQUpBQWtBQ1FBSkFBa0FnQlVFQmF3NEVBd0lCQUFRTElBQXJBd0FnQVNBQUt3TXdJZ2loSUFCQlFHc3JBd0FpQnFJZ0FDc0RJQ0lKb3lJQklBR2lJQUlnQUNzRE9DSUtvU0FHb2lBQUt3TW9JZ3VqSWdJZ0FxS2dJZ2FpUkFBQUFBQUFBUEEvb0NBR0lBQXJBd2dnQnFLaW9DRUhJQU1nQ0NBSklBQXJBeGdpQ0NBR0lBRWdBVVFBQUFBQUFBQUFRS0tpb0tJZ0FpQUFLd01RSWdsRUFBQUFBQUFBQUVDaUlBR2lvaUFCSUFlaW9LQ2lvRGtEQUNBS0lBc2dBaUFJUkFBQUFBQUFBQUJBb2lBQm9xSWdDU0FHSUFJZ0FrUUFBQUFBQUFBQVFLS2lvS0lnQWlBSG9xQ2dvcUFoQVF3RUN5QUJJQUFyQXdBaUJxRWdBQ3NERUNJSG9pSUJSQUFBQUFBQUFBQUFZU0FISUFJZ0FDc0RDS0dpSWdKRUFBQUFBQUFBQUFCaGNRUjhJQU1nQmprREFDQUFLd01JQlNBRElBWWdBQ3NER0NBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNZ1JBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQU1MSUFFZ0FDc0RBQ0lHb1NBQUt3TVFJZ2VpSWdGRUFBQUFBQUFBQUFCaElBY2dBaUFBS3dNSW9hSWlBa1FBQUFBQUFBQUFBR0Z4Qkh3Z0F5QUdPUU1BSUFBckF3Z0ZJQU1nQmlBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2dPUU1BSUFBckF3Z2dBaUFCb3FBTElRRU1BZ3NnQVNBQUt3TUFJZ2FoSUFBckF4QWlCNklpQVVRQUFBQUFBQUFBQUdFZ0J5QUNJQUFyQXdpaG9pSUNSQUFBQUFBQUFBQUFZWEVFZkNBRElBWTVBd0FnQUNzRENBVWdBeUFHSUFGRUFBQUFBQUFBOEQ4Z0FTQUJvaUFDSUFLaW9DQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElnR2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQUVMUVg4TUFRc2dCQ0FCT1FNQVFRQUxHZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhNaEFNMkFnQkJpUG9BUVFBZ0FDZ0NBQkFJSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSGRnd00yQWdCQm1Qa0FJQUFvQWdCQkNCQVdJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIWGd3TTJBZ0JCa1BrQUlBQW9BZ0JCQkJBV0lBQWtCZ3N0QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhKZ3dNMkFnQkJpUGtBSUFBb0FnQkJCRUVBUVg4UUNpQUFKQVlMTlFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCeElNRE5nSUFRWUQ1QUNBQUtBSUFRUVJCZ0lDQWdIaEIvLy8vL3djUUNpQUFKQVlMTFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCdDRNRE5nSUFRZmo0QUNBQUtBSUFRUVJCQUVGL0VBb2dBQ1FHQ3pVQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWJPREF6WUNBRUh3K0FBZ0FDZ0NBRUVFUVlDQWdJQjRRZi8vLy84SEVBb2dBQ1FHQ3k4QkFYOGpCaUVBSXdaQkVHb2tCaUFBUWFTREF6WUNBRUhvK0FBZ0FDZ0NBRUVDUVFCQi8vOERFQW9nQUNRR0N6RUJBWDhqQmlFQUl3WkJFR29rQmlBQVFaNkRBellDQUVIZytBQWdBQ2dDQUVFQ1FZQ0Fma0gvL3dFUUNpQUFKQVlMTGdFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCa0lNRE5nSUFRZEQ0QUNBQUtBSUFRUUZCQUVIL0FSQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHRWd3TTJBZ0JCMlBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSC9nZ00yQWdCQnlQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3NmQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdtMVFNMkFnQVE0QVFnQUNRR0N3WUFRZURGQXdzR0FFSGN4UU1MQmdCQjFNVURDd2dBUWVURkF4QTJDM0FCQW44Z0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ1VDUUNBQVFSQnFJQUFvQWd3aUJFRURkR29oQlNBQVFSQnFJQUVnQWlBREVPRUVJQVJCQVVvRVFDQUFRUmhxSVFBRFFDQUFJQUVnQWlBREVPRUVJQUVzQURZTkFpQUFRUWhxSWdBZ0JVa05BQXNMQ3dzTHhRUUJBMzhnQUNBQktBSUlJQVFRZ1FFRVFDQUJJQUlnQXhEeUFnVUNRQ0FBSUFFb0FnQWdCQkNCQVVVRVFDQUFLQUlNSVFVZ0FFRVFhaUFCSUFJZ0F5QUVFSjRDSUFWQkFVd05BU0FBUVJCcUlBVkJBM1JxSVFZZ0FFRVlhaUVGSUFBb0FnZ2lBRUVDY1VVRVFDQUJLQUlrUVFGSEJFQWdBRUVCY1VVRVFBTkFJQUVzQURZTkJTQUJLQUlrUVFGR0RRVWdCU0FCSUFJZ0F5QUVFSjRDSUFWQkNHb2lCU0FHU1EwQURBVUFDd0FMQTBBZ0FTd0FOZzBFSUFFb0FpUkJBVVlFUUNBQktBSVlRUUZHRFFVTElBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUF3c0xBMEFnQVN3QU5nMENJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01BUXNnQVNnQ0VDQUNSd1JBSUFFb0FoUWdBa2NFUUNBQklBTTJBaUFnQVNnQ0xFRUVSd1JBSUFCQkVHb2dBQ2dDREVFRGRHb2hCMEVBSVFNZ0FFRVFhaUVHSUFFQ2Z3SkFBMEFDUUNBR0lBZFBEUUFnQVVFQU9nQTBJQUZCQURvQU5TQUdJQUVnQWlBQ1FRRWdCQkR2QWlBQkxBQTJEUUFnQVN3QU5RUkFBa0FnQVN3QU5FVUVRQ0FBS0FJSVFRRnhCRUJCQVNFRkRBSUZEQVlMQUFzZ0FTZ0NHRUVCUmdSQVFRRWhBd3dGQ3lBQUtBSUlRUUp4Qkg5QkFTRUZRUUVGUVFFaEF3d0ZDeUVEQ3dzZ0JrRUlhaUVHREFFTEN5QUZCSDhNQVFWQkJBc01BUXRCQXdzMkFpd2dBMEVCY1EwREN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQy9RQ0FRbC9JQUFnQVNnQ0NDQUZFSUVCQkVBZ0FTQUNJQU1nQkJEeEFnVWdBU3dBTkNFT0lBRXNBRFVoQmlBQVFSQnFJQUFvQWd3aUIwRURkR29oRENBQlFRQTZBRFFnQVVFQU9nQTFJQUJCRUdvZ0FTQUNJQU1nQkNBRkVPOENJQTRnQVN3QU5DSUxjaUVKSUFZZ0FTd0FOU0lJY2lFR0lBZEJBVW9FZndKL0lBQkJHR29oQ2dOL0lBWkJBWEVoQnlBSlFRRnhJUVlnQVN3QU5nUkFJQVloQWlBSERBSUxJQXRCL3dGeEJFQWdBU2dDR0VFQlJnUkFJQVloQWlBSERBTUxJQUFvQWdoQkFuRkZCRUFnQmlFQ0lBY01Bd3NGSUFoQi93RnhCRUFnQUNnQ0NFRUJjVVVFUUNBR0lRSWdCd3dFQ3dzTElBRkJBRG9BTkNBQlFRQTZBRFVnQ2lBQklBSWdBeUFFSUFVUTd3SWdCaUFCTEFBMElndHlJUWdnQnlBQkxBQTFJZzF5SVFZZ0NrRUlhaUlISUF4SkJIOGdCeUVLSUFnaENTQU5JUWdNQVFVZ0NDRUNJQVlMQ3dzRklBa2hBaUFHQ3lFQUlBRWdBa0gvQVhGQkFFYzZBRFFnQVNBQVFmOEJjVUVBUnpvQU5Rc0xDd0FnQUNBQlFRQVFnUUVMS1FFQmZ5QUFLQUlBUVhScUlnQW9BZ2doQVNBQUlBRkJmMm8yQWdnZ0FVRUJTQVJBSUFBUU9Bc0xCd0FnQUNnQ0JBdEFBUUYvSUFBZ0FTZ0NDRUVBRUlFQkJFQWdBU0FDSUFNUTh3SUZJQUFvQWdnaUFDZ0NBQ2dDSENFRUlBQWdBU0FDSUFNZ0JFRWZjVUg2QldvUkJ3QUxDNWdDQVFKL0lBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGQWtBZ0FDQUJLQUlBSUFRUWdRRkZCRUFnQUNnQ0NDSUFLQUlBS0FJWUlRVWdBQ0FCSUFJZ0F5QUVJQVZCUDNGQm1nWnFFUVVBREFFTElBRW9BaEFnQWtjRVFDQUJLQUlVSUFKSEJFQWdBU0FETmdJZ0lBRW9BaXhCQkVjRVFDQUJRUUE2QURRZ0FVRUFPZ0ExSUFBb0FnZ2lBQ2dDQUNnQ0ZDRURJQUFnQVNBQ0lBSkJBU0FFSUFOQkIzRkIyZ1pxRVF3QUlBRXNBRFVFUUNBQkxBQTBSU0VHSUFGQkF6WUNMQ0FHUlEwRUJTQUJRUVEyQWl3TEN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQzBZQkFYOGdBQ0FCS0FJSUlBVVFnUUVFUUNBQklBSWdBeUFFRVBFQ0JTQUFLQUlJSWdBb0FnQW9BaFFoQmlBQUlBRWdBaUFESUFRZ0JTQUdRUWR4UWRvR2FoRU1BQXNMd0FZQ0EzOEdmQ01HSVFRakJrSGdBR29rQmdKQUlBQXJBMWhFQUFBQUFBQUFBQUJtQkVBRFFDQUZRUU5HRFFKQkFDRURBMEFnQTBFRVJ3UkFJQVZCQlhRZ0JHb2dBMEVEZEdvZ0JVRUZkQ0FBYWlBRFFRTjBhaXNEQURrREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQlFOQUlBVkJBMFlOQWtFQUlRTURRQ0FEUVFSSEJFQWdCVUVGZENBRWFpQURRUU4wYWlBRlFRVjBJQUJxSUFOQkEzUnFLd01BbWprREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQ3dBTFFRQWhBd05BSUFOQkEwY0VRRUVBSVFBRFFDQUFRUVJIQkVBZ0EwRUZkQ0FCYWlBQVFRTjBha1FBQUFBQUFBQUFBRGtEQUNBQVFRRnFJUUFNQVFzTElBTkJBV29oQXd3QkN3c2dBU0FFUVVCckt3TUFJZ2dnQkNzRFNDSUdJQVFyQTFBaUNoRHdBaUlIT1FOUUlBSkJRR3NpQUNBSUlBZWpJZ2c1QXdBZ0FpQUdJQUVyQTFDaklnWTVBMGdnQWlBS0lBRXJBMUNqSWdjNUExQWdBaUFFS3dOWUlBRXJBMUNqT1FOWUlBRWdDQ0FHSUFjZ0JDc0RJQ0lJSUFRckF5Z2lCaUFFS3dNd0lnY1E3Z0lpQ1RrRE1DQUJJQWdnQ1NBQUt3TUFvcUVpQ2lBR0lBa2dBaXNEU0tLaElnZ2dCeUFKSUFJckExQ2lvU0lHRVBBQ0lnYzVBeWdnQWlBS0lBZWpPUU1nSUFJZ0NDQUJLd01vb3prREtDQUNJQVlnQVNzREtLTTVBekFnQVNBQUt3TUFJQUlyQTBnZ0Fpc0RVQ0FFS3dNQUlnZ2dCQ3NEQ0NJR0lBUXJBeEFpQnhEdUFpSUxPUU1RSUFFZ0Fpc0RJQ0FDS3dNb0lBSXJBekFnQ0NBR0lBY1E3Z0lpQ1RrRENDQUJJQWdnQ1NBQ0t3TWdvcUVnQ3lBQUt3TUFvcUVpQ2lBR0lBa2dBaXNES0tLaElBc2dBaXNEU0tLaElnZ2dCeUFKSUFJckF6Q2lvU0FMSUFJckExQ2lvU0lHRVBBQ0lnYzVBd0FnQWlBS0lBZWpPUU1BSUFJZ0NDQUJLd01Bb3prRENDQUNJQVlnQVNzREFLTTVBeEFnQWlBRUt3TTRJQUVyQXpBZ0Fpc0RXQ0lHb3FFZ0FTc0RLS01pQnprRE9DQUNJQVFyQXhnZ0J5QUJLd01Jb3FFZ0JpQUJLd01Rb3FFZ0FTc0RBS001QXhoQkFDRURBMEFnQTBFRFJ3UkFRUUFoQWdOQUlBSkJBMGNFUUNBRFFRVjBJQUZxSUFKQkEzUnFJZ0FnQUNzREFDQUJLd05Rb3prREFDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQkNRR1FRQUxHZ0FnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnc0xrd0VBSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZJQUFnQVNnQ0FDQUVFSUVCQkVBQ1FDQUJLQUlRSUFKSEJFQWdBU2dDRkNBQ1J3UkFJQUVnQXpZQ0lDQUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVWUVRQ0FCS0FJWVFRSkdCRUFnQVVFQk9nQTJDd3NnQVVFRU5nSXNEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQ3dzY0FDQUFJQUVvQWdnZ0JSQ0JBUVJBSUFFZ0FpQURJQVFROFFJTEM5SUJBUUovSXdZaEF5TUdRVUJySkFZZ0FDQUJRUUFRZ1FFRWYwRUJCU0FCQkg4Z0FVSEE5d0JCc1BjQUVPUUVJZ0VFZnlBRElBRTJBZ0FnQTBFQU5nSUVJQU1nQURZQ0NDQURRWDgyQWd3Z0EwSUFOd0lRSUFOQ0FEY0NHQ0FEUWdBM0FpQWdBMElBTndJb0lBTkJBRFlDTUNBRFFRQTdBVFFnQTBFQU9nQTJJQU5CQVRZQ01DQUJLQUlBS0FJY0lRQWdBU0FESUFJb0FnQkJBU0FBUVI5eFFmb0ZhaEVIQUNBREtBSVlRUUZHQkg4Z0FpQURLQUlRTmdJQVFRRUZRUUFMQlVFQUN3VkJBQXNMSVFRZ0F5UUdJQVFMM1FFQkJYOGpCaUVBSXdaQk1Hb2tCaUFBUVJocUlRSWdBRUVRYWlFQklBQkJKR29oQTBITXhRTW9BZ0FpQkFSQUlBSkI5ZjhDTmdJQVFjUC9BaUFDRUo4Q0lBTWdCRUhRQUdvMkFnQWdCQ2dDQUNJRUtBSUVJUUpCcVBjQUlBUWdBMEdvOXdBb0FnQW9BaEJCUDNGQnlnRnFFUVFBQkVBZ0F5Z0NBQ0lCS0FJQUtBSUlJUU1nQVNBRFFmOEFjVUVJYWhFQUFDRUJJQUJCOWY4Q05nSUFJQUFnQWpZQ0JDQUFJQUUyQWdoQjdmNENJQUFRbndJRklBRkI5ZjhDTmdJQUlBRWdBallDQkVHYS93SWdBUkNmQWdzTFFlbi9BaUFBUVNCcUVKOENDNmNFQVFKOElBRzNJQUFvQWdDM295RUVJQUszSUFBb0FnUzNveUVGSUFNZ0FUWUNBQ0FESUFJMkFnUkJBQ0VCQTBBZ0FVRUVSd1JBSUFOQkNHb2dBVUVEZEdvZ0JDQUFRUWhxSUFGQkEzUnFLd01Bb2prREFDQURRU2hxSUFGQkEzUnFJQVVnQUVFb2FpQUJRUU4wYWlzREFLSTVBd0FnQTBISUFHb2dBVUVEZEdvZ0FFSElBR29nQVVFRGRHb3JBd0E1QXdBZ0FVRUJhaUVCREFFTEN3SkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FyQUJJZ0ZCQVdzT0JBTUNBUUFFQ3lBRElBQXJBMmc1QTJnZ0F5QUFLd053T1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFRZ0FDc0RpQUdpT1FPSUFTQURJQVVnQUNzRGtBR2lPUU9RQVNBRElBUWdBQ3NEbUFHaU9RT1lBU0FESUFVZ0FDc0RvQUdpT1FPZ0FTQURJQUFyQTZnQk9RT29BUXdFQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQUFyQTRnQklBUWdCYUtqT1FPSUFTQURJQUFyQTVBQklBVWdCQ0FFb2lBRm9xS2pPUU9RQVF3REN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFTQURJQUFyQTRnQklBVWdCQ0FFb2lBRm9xS2pPUU9JQVF3Q0N5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFRd0JDd3dCQ3lBRElBRTJBckFCQ3d2N0V3SVJmd0Y4SXdZaEZDTUdRUkJxSkFZZ0ZDRVFJQUZCQWhBNUlRMGdBa0VDRURraER5QUVLQUlBSWdjaEFpQU5JQTlCZjJvaUVXeEJBWFFnQjJvaEJRTkFJQXNnRFVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdDMEVCYWlFTERBRUxDeUFISVFJZ0RVRi9haUlTUVFGMElBZHFJUVZCQUNFTEEwQWdDeUFQU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnRFVFQmRDQUNhaUVDSUExQkFYUWdCV29oQlNBTFFRRnFJUXNNQVFzTElBUkJrSURJQUdvaEFrRUFJQTFySVJNZ0FDQUJRUUYwUVFKcWFpRU9RUUVoREVFQUlRVWdEVUVCYWlJQUlBUW9BZ1JxSVFzZ0FFRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0RDQVJUZzBDSUFVaEFFRUJJUWtEUUNBSklCSklCRUFnRGkwQUFDQURTZ1JBSUFkQkFEc0JBQ0FMUVFBNkFBQUZBa0FnQzBGL09nQUFJQk5CQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQXNMSUE1QkFtb2hEaUFMUVFGcUlRc2dDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FPYWtFRWFpRU9JQXhCQVdvaERDQUFJUVVnQzBFQ2FpRUxJQWRCQkdvaEJ3d0JDd3RCQUVFRFFhaWxBU0FRRUQxQmZ3d0JDeUFFUVF4cUlRZEJBU0VBUVFFaEF3TkFJQU1nQlV3RVFDQURJQUlvQWdBaUMwWUVRQ0FBUVFGcUlRRUZJQUFoQVNBTFFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBSWdBRFlDQUNBQklRQWdBMEVCYWlFRElBSkJCR29oQWd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBZEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VCQTBBZ0FTQUFTQVJBSUFSQmpJQUlhaUFCUVFKMElnSkJBblJxSUEwMkFnQWdCRUdNZ0FocUlBSkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUpCQW5KQkFuUnFJQTgyQWdBZ0JFR01nQWhxSUFKQkEzSkJBblJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loYWpPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGcU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSVWdFQ1FHSUJVTEJBQWpCZ3NiQVFKL0l3WWhBaUFBSXdacUpBWWpCa0VQYWtGd2NTUUdJQUlMQzZHTEEyRUFRWUFJQ3hJMlV3QUFQVk1BQUVsVEFBQlRVd0FBWVZNQVFhQUlDOW9ULy8vLy8vLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy8vLy8vLy8vLy8vL3dBQUFBRUFBUUVCQUFJRS8vOEZBd0VBQXY4R0IvOERBUUlDQXdJREFnTURBUDhFQmdjRi93RUVCUVFFQlFVRUJRY0dCZ1lIQndjRy93SUVCZ2NGQS84QUFRRUJBUUVCQUFFQkFRQUFBUUVCQVFFQUFRRUFBUUVCQUFFQkFRRUFBUUVBQVFFQkFRQUJBUUVBQVFFQUFRRUJBUUVBQUFFQkFRQUJBUUVCQVFFQUFQLy9BLzhGQnYvL0NRci9EUC8vRC84UkV2OFUvLzhYR1AvL0cvOGRIdi8vQVFML0JQLy9Cd2ovL3d2L0RRNy9FUC8vRS84VkZ2Ly9HUnIvSFAvL0h3RUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFCUUFBQUFvQUFBQVVBQUFBRFFBQUFCb0FBQUFSQUFBQUJ3QUFBQTRBQUFBY0FBQUFIUUFBQUI4QUFBQWJBQUFBRXdBQUFBTUFBQUFHQUFBQURBQUFBQmdBQUFBVkFBQUFEd0FBQUI0QUFBQVpBQUFBRndBQUFBc0FBQUFXQUFBQUNRQUFBQklBQUFBQUFBQUFBUUFBQUFJQUFBQUVBQUFBQ0FBQUFBTUFBQUFHQUFBQURBQUFBQXNBQUFBRkFBQUFDZ0FBQUFjQUFBQU9BQUFBRHdBQUFBMEFBQUFKQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUJJQUFBQUNBQUFBQlFBQUFCTUFBQUFMQUFBQUF3QUFBQjBBQUFBR0FBQUFHd0FBQUJRQUFBQUlBQUFBREFBQUFCY0FBQUFFQUFBQUNnQUFBQjRBQUFBUkFBQUFCd0FBQUJZQUFBQWNBQUFBR2dBQUFCVUFBQUFaQUFBQUNRQUFBQkFBQUFBTkFBQUFEZ0FBQUJnQUFBQVBBQUFBLy8vLy93QUFBQUFCQUFBQUJBQUFBQUlBQUFBSUFBQUFCUUFBQUFvQUFBQURBQUFBRGdBQUFBa0FBQUFIQUFBQUJnQUFBQTBBQUFBTEFBQUFEQUFBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFBREFBQUFCZ0FBQUF3QUFBQVlBQUFBTUFBQUFHQUFBQUJEQUFBQUJRQUFBQW9BQUFBVUFBQUFLQUFBQUZBQUFBQWpBQUFBUmdBQUFBOEFBQUFlQUFBQVBBQUFBSGdBQUFCekFBQUFaUUFBQUVrQUFBQVJBQUFBSWdBQUFFUUFBQUFMQUFBQUZnQUFBQ3dBQUFCWUFBQUFNd0FBQUdZQUFBQlBBQUFBSFFBQUFEb0FBQUIwQUFBQWF3QUFBRlVBQUFBcEFBQUFVZ0FBQUNjQUFBQk9BQUFBSHdBQUFENEFBQUI4QUFBQWV3QUFBSFVBQUFCcEFBQUFVUUFBQUNFQUFBQkNBQUFBQndBQUFBNEFBQUFjQUFBQU9BQUFBSEFBQUFCakFBQUFSUUFBQUFrQUFBQVNBQUFBSkFBQUFFZ0FBQUFUQUFBQUpnQUFBRXdBQUFBYkFBQUFOZ0FBQUd3QUFBQmJBQUFBTlFBQUFHb0FBQUJYQUFBQUxRQUFBRm9BQUFBM0FBQUFiZ0FBQUY4QUFBQTlBQUFBZWdBQUFIY0FBQUJ0QUFBQVdRQUFBREVBQUFCaUFBQUFSd0FBQUEwQUFBQWFBQUFBTkFBQUFHZ0FBQUJUQUFBQUpRQUFBRW9BQUFBWEFBQUFMZ0FBQUZ3QUFBQTdBQUFBZGdBQUFHOEFBQUJkQUFBQU9RQUFBSElBQUFCbkFBQUFUUUFBQUJrQUFBQXlBQUFBWkFBQUFFc0FBQUFWQUFBQUtnQUFBRlFBQUFBckFBQUFWZ0FBQUM4QUFBQmVBQUFBUHdBQUFINEFBQUIvQUFBQWZRQUFBSGtBQUFCeEFBQUFZUUFBQUVFQUFBQUFBQUFBLy8vLy93QUFBQUFCQUFBQUJ3QUFBQUlBQUFBT0FBQUFDQUFBQURnQUFBQURBQUFBUHdBQUFBOEFBQUFmQUFBQUNRQUFBRm9BQUFBNUFBQUFGUUFBQUFRQUFBQWNBQUFBUUFBQUFFTUFBQUFRQUFBQWNBQUFBQ0FBQUFCaEFBQUFDZ0FBQUd3QUFBQmJBQUFBUmdBQUFEb0FBQUFtQUFBQUZnQUFBQzhBQUFBRkFBQUFOZ0FBQUIwQUFBQVRBQUFBUVFBQUFGOEFBQUJFQUFBQUxRQUFBQkVBQUFBckFBQUFjUUFBQUhNQUFBQWhBQUFBVFFBQUFHSUFBQUIxQUFBQUN3QUFBRmNBQUFCdEFBQUFJd0FBQUZ3QUFBQktBQUFBUndBQUFFOEFBQUE3QUFBQWFBQUFBQ2NBQUFCa0FBQUFGd0FBQUZJQUFBQXdBQUFBZHdBQUFBWUFBQUIrQUFBQU53QUFBQTBBQUFBZUFBQUFQZ0FBQUJRQUFBQlpBQUFBUWdBQUFCc0FBQUJnQUFBQWJ3QUFBRVVBQUFCckFBQUFMZ0FBQUNVQUFBQVNBQUFBTlFBQUFDd0FBQUJlQUFBQWNnQUFBQ29BQUFCMEFBQUFUQUFBQUNJQUFBQldBQUFBVGdBQUFFa0FBQUJqQUFBQVp3QUFBSFlBQUFCUkFBQUFEQUFBQUgwQUFBQllBQUFBUFFBQUFHNEFBQUFhQUFBQUpBQUFBR29BQUFCZEFBQUFOQUFBQUVzQUFBQXBBQUFBU0FBQUFGVUFBQUJRQUFBQVpnQUFBRHdBQUFCOEFBQUFhUUFBQUJrQUFBQW9BQUFBTXdBQUFHVUFBQUJVQUFBQUdBQUFBSHNBQUFCVEFBQUFNZ0FBQURFQUFBQjZBQUFBZUFBQUFIa0FBQUFFQUFBQWlBQUFBQVVBQUFDUUFBQUFCZ0FBQUpnQUFBQUpBQUFBc0FBQUFPTlpBQURwV1FBQTdsa0FBUFpaQUFBQUFBQUFzcjY1UGhMY29MNlF2amsrRXR5Z3ZwQytPYjRBQUFDQXNyNjV2aExjb0Q2UXZqbStFdHlnUHBDK09UN1NjaGkvQUFBQUFOSnltTDQ2QmdTLzBuS1lQam9HQkwvU2NoZy9BQUFBZ05KeW1ENDZCZ1EvMG5LWXZqb0dCRDhBQUFDQVZyZzl2MlpOSkQ5V3VMMitaazBrUDFhNHZUNEFBQUFBVnJnOVAyWk5KTDlXdUwwK1prMGt2MWE0dmI0TTZWZy9BQUFBZ0F6cDJENloyVHMvRE9uWXZwblpPejhNNlZpL0FBQUFBQXpwMkw2WjJUdS9ET25ZUHBuWk83OEFBQUFBL0ZOdVAvRmxUcjhOVk80KzhXVk92dzFVN3I0QUFBQ0EvRk51di9GbFRqOE5WTzYrOFdWT1B3MVU3ajRBQUlDL0FBQUFBQUFBQUwvUXMxMi9BQUFBUDlDelhiOEFBSUEvQUFBQWdBQUFBRC9RczEwL0FBQUF2OUN6WFQ5d1BBQUFjRHdBQUhBOEFBQndQQUFBakt3QUFLS3NBQURDckFBQTU2d0FBQUd0QUFBZ3JRQUFOYTBBQUZLdEFBQjhyUUFBdkswQUFOdXRBQUR5clFBQUNLNEFBQnl1QUFCWnJnQUFpYTRBQUtXdUFBRElyZ0FBLzY0QUFEYXZBQUJOcndBQWJhOEFBSmV2QUFEa3J3QUEvNjhBQUNxd0FBQkdzQUFBYTdBQUFKR3dBQUMyc0FBQXliQUFBTjZ3QUFEeHNBQUFCTEVBQUNteEFBQStzUUFBVXJFQUFIT3hBQUNKc1FBQXVMRUFBT0N4QUFBQnNnQUFJcklBQUZHeUFBQmlzZ0FBZnJJQUFMeXlBQURqc2dBQUNyTUFBQjZ6QUFCTXN3QUFkTE1BQUpDekFBQzFzd0FBMTdNQUFBRzBBQUFzdEFBQVNyUUFBSGkwQUFDZ3RBQUF4N1FBQVBLMEFBQWZ0UUFBVDdVQUFIbTFBQUNtdFFBQXliVUFBT2UxQUFBRnRnQUFPN1lBQUdXMkFBQ0V0Z0FBcDdZQUFNNjJBQURqdGdBQTk3WUFBQ3kzQUFBOHR3QUFlcmNBQUx5M0FBRG10d0FBRXJnQUFEbTRBQUJWdUFBQWdMZ0FBSnU0QUFDdnVBQUF4cmdBQU5PNEFBRDd1QUFBTUxrQUFHeTVBQUNhdVFBQXU3a0FBT0s1QUFEN3VRQUFJN29BQUVhNkFBQmV1Z0FBZ3JvQUFLZTZBQUN0dWdBQTVyb0FBQ0M3QUFBL3V3QUFUcnNBQUd1N0FBQ0p1d0FBcHJzQUFMKzdBQURZdXdBQUdyd0FBRlM4QUFDS3ZBQUF2cndBQU5LOEFBRHB2QUFBRDcwQUFEYTlBQUI0dlFBQXRMMEFBT1c5QUFBSnZnQUFONzRBQUZLK0FBQ0t2Z0FBdGI0QVFZUWNDNzBFQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBREFBQUFDZ0FBQUJFQUFBQVlBQUFBSUFBQUFCa0FBQUFTQUFBQUN3QUFBQVFBQUFBRkFBQUFEQUFBQUJNQUFBQWFBQUFBSVFBQUFDZ0FBQUF3QUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQUdBQUFBQndBQUFBNEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFNUUFBQURnQUFBQTVBQUFBTWdBQUFDc0FBQUFrQUFBQUhRQUFBQllBQUFBUEFBQUFGd0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUE2QUFBQU93QUFBRFFBQUFBdEFBQUFKZ0FBQUI4QUFBQW5BQUFBTGdBQUFEVUFBQUE4QUFBQVBRQUFBRFlBQUFBdkFBQUFOd0FBQUQ0QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQVVBQUFBTUFBQUFFd0FBQUJvQUFBQWhBQUFBS0FBQUFEQUFBQUFwQUFBQUlnQUFBQnNBQUFBVUFBQUFEUUFBQUFZQUFBQU9BQUFBRlFBQUFCd0FBQUFqQUFBQUtnQUFBREVBQUFBeUFBQUFLd0FBQUNRQUFBQWRBQUFBRmdBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBMEFBQUFMUUFBQUNZQUFBQXVBQUFBTlFBQUFEWUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSUF2dEFnRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFDQUFBQUFaQUFBQUVnQUFBQXNBQUFBRUFBQUFCUUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFvQUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQUt3QUFBQ1FBQUFBZEFBQUFKUUFBQUN3QUFBQXRBQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQWlBQUFBR3dBQUFCUUFBQUFjQUFBQUl3QUFBQ1FBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUl3dmRBUUVBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQmtBQUFBU0FBQUFDd0FBQUJNQUFBQWFBQUFBR3dBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQUFBQUFBQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBS0FBQUFFUUFBQUJJQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSEVKUXVVQkFFQUFBQUlBQUFBQ1FBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQ0JBUjFhRGdLR0pSQURGQkVTQkFzSUZBWFlBeGNHMmdFWkIrVUFIQWh2QUI0Sk5nQWhDaG9BSXdzTkFBa01CZ0FLRFFNQURBMEJBSThQZjFva0VDVS9KaEh5TENjU2ZDQW9FN2tYS2hTQ0VTc1Y3d3d0RnFFSkxoY3ZCekFZWEFVeEdRWUVNeG9EQXpRYlFBSTJITEVCT0IxRUFUa2U5UUE3SDdjQVBDQ0tBRDRoYUFBL0lrNEFJQ003QUNFSkxBQ2xKZUZhUUNaTVNFRW5EVHBES1BFdVJDa2ZKa1VxTXg5R0s2Z1pTQ3dZRlVrdGR4RktMblFPU3kvN0MwMHcrQWxPTVdFSVR6SUdCekF6elFVeU5ONEVNalVQQkRNMll3TTBOOVFDTlRoY0FqWTUrQUUzT3FRQk9EdGdBVGs4SlFFNlBmWUFPejdMQUQwL3F3QTlJSThBd1VFU1cxQkNCRTFSUXl4QlVrVFlOMU5GNkM5VVJqd3BWa2Q1STFkSTN4NVhTYWthU0VwT0YwaExKQlJLVEp3UlNrMXJEMHRPVVExTlQ3WUxUVEJBQ3RCUk1saFlVaHhOV1ZPT1ExcFUzVHRiVmU0MFhGYXVMbDFYbWlsV1J4WWwyRmx3VlY5YXFVeGdXOWxFWVZ3aVBtTmRKRGhqWHJReVhWWVhMdDlncUZabFlVWlBabUxsUjJkanowRm9aRDA4WTExZU4ybG1NVkpxWnc5TWEyZzVSbWRqWGtIcGFpZFdiR3ZuVUcxbmhVdHViWmRWYjJ0UFVPNXZFRnB3YlNKVjhHL3JXWEZ4SFZvQVFlRXBDL0FCUU1WWW4xTkNTd0JBU1RLaklxZ1J4VmdoZS94elltakZXTDlGQ3pCK0dKOVQvSE5CYlZSaW4xT3pRVUV0RWhkQ1MySm9WR0orV0VKTElUdTZLTU1VQUVERldKOVRRa3NBUUVreW95S29FVWt5djBXelFTRTdTVEtDSnpjYjRBMmpJZ3N3UVMyNktLTWlOeHUvRW80SnFCRitHQklYd3hTb0VlQU5qZ25mQkFBQUFBQUFBUEEvNzJGSXNWQXg5ai9LYjAyUnJ1ZjBQNm9SYk85aTBQSS9BQUFBQUFBQThEODd2NmZBYVNUcFA3c2d4M3Q2VWVFL1hhdHkzbFdvMFQ4QUFBQUFBUUFBQUFJQUFBQURBQUFBQUFBQUFBRUFBQUFGQUFBQUFnQUFBQVFBQUFBR0FBQUFBd0FBQUFjQUFBQUlBRUhrS3d1ZEFRRUFBQUFGQUFBQUJnQUFBQUlBQUFBRUFBQUFCd0FBQUF3QUFBQURBQUFBQ0FBQUFBc0FBQUFOQUFBQUNRQUFBQW9BQUFBT0FBQUFEd0FBQUFBQUFBQUJBQUFBQlFBQUFBWUFBQUFPQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUE4QUFBQURBQUFBQ0FBQUFBd0FBQUFRQUFBQUZRQUFBQWtBQUFBTEFBQUFFUUFBQUJRQUFBQVdBQUFBQ2dBQUFCSUFBQUFUQUFBQUZ3QUFBQmdBUVpRdEM4MENBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJrQUFBQURBQUFBQ0FBQUFBd0FBQUFSQUFBQUdBQUFBQm9BQUFBSkFBQUFDd0FBQUJJQUFBQVhBQUFBR3dBQUFDQUFBQUFLQUFBQUV3QUFBQllBQUFBY0FBQUFId0FBQUNFQUFBQVVBQUFBRlFBQUFCMEFBQUFlQUFBQUlnQUFBQ01BQUFBQUFBQUFBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFiQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUJBQUFBQWFBQUFBSEFBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIUUFBQUNZQUFBQUpBQUFBQ3dBQUFCSUFBQUFZQUFBQUhnQUFBQ1VBQUFBbkFBQUFDZ0FBQUJNQUFBQVhBQUFBSHdBQUFDUUFBQUFvQUFBQUxRQUFBQlFBQUFBV0FBQUFJQUFBQUNNQUFBQXBBQUFBTEFBQUFDNEFBQUFWQUFBQUlRQUFBQ0lBQUFBcUFBQUFLd0FBQUM4QUFBQXdBRUgwTHd2UUJBRUFBQUFGQUFBQUJnQUFBQTRBQUFBUEFBQUFHd0FBQUJ3QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQm9BQUFBZEFBQUFLZ0FBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhnQUFBQ2tBQUFBckFBQUFDUUFBQUFzQUFBQVNBQUFBR0FBQUFCOEFBQUFvQUFBQUxBQUFBRFVBQUFBS0FBQUFFd0FBQUJjQUFBQWdBQUFBSndBQUFDMEFBQUEwQUFBQU5nQUFBQlFBQUFBV0FBQUFJUUFBQUNZQUFBQXVBQUFBTXdBQUFEY0FBQUE4QUFBQUZRQUFBQ0lBQUFBbEFBQUFMd0FBQURJQUFBQTRBQUFBT3dBQUFEMEFBQUFqQUFBQUpBQUFBREFBQUFBeEFBQUFPUUFBQURvQUFBQStBQUFBUHdBQUFBQUFBQUFCQUFBQUF3QUFBQWNBQUFBUEFBQUFId0FBQUQ4QUFBQi9BQUFBL3dBQUFQOEJBQUQvQXdBQS93Y0FBUDhQQUFEL0h3QUEvejhBQVA5L0FBQUF3RER3RE13OC9BUERNL01QenovL2dFQ3djSXhNdkh5RFE3TnpqMCsvZnlEZ0VOQXM3QnpjSStNVDB5L3ZIOStnWUpCUXJHeWNYS05qazFPdmI1OWZDTWc0K0FURU5QUUx5enY3QjhjMzk0aEl1SGlFUkxSMGkwdTdlNGRIdDNjbzZCallKT1FVMUN2ckc5c241eGZYcUdpWVdLUmtsRlNyYTV0YnAyZVhWd0xDTXZJT3pqNytBY0V4OFEzTlBmMkNRckp5ams2K2ZvRkJzWEdOVGIxOUl1SVMwaTd1SHQ0aDRSSFJMZTBkM2FKaWtsS3VicDVlb1dHUlVhMXRuVjBLeWpyNkJzWTI5Z25KT2ZrRnhUWDFpa3E2ZW9aR3RuYUpTYmw1aFVXMWRTcnFHdG9tNWhiV0tla1oyU1hsRmRXcWFwcGFwbWFXVnFscG1WbWxaWlZWM2hJRWxRQUFBQUQvLy8vLy8vLy8vLy8vLy84QVFkQTBDOHdCQWdBQXdBTUFBTUFFQUFEQUJRQUF3QVlBQU1BSEFBREFDQUFBd0FrQUFNQUtBQURBQ3dBQXdBd0FBTUFOQUFEQURnQUF3QThBQU1BUUFBREFFUUFBd0JJQUFNQVRBQURBRkFBQXdCVUFBTUFXQUFEQUZ3QUF3QmdBQU1BWkFBREFHZ0FBd0JzQUFNQWNBQURBSFFBQXdCNEFBTUFmQUFEQUFBQUFzd0VBQU1NQ0FBRERBd0FBd3dRQUFNTUZBQUREQmdBQXd3Y0FBTU1JQUFERENRQUF3d29BQU1NTEFBREREQUFBd3cwQUFOTU9BQURERHdBQXd3QUFETHNCQUF6REFnQU13d01BRE1NRUFBelRBRUdrT2d2NUF3RUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFJUUFBQUNJQUFBQWpBQUFBSkFBQUFDVUFBQUFtQUFBQUp3QUFBQ2dBQUFBcEFBQUFLZ0FBQUNzQUFBQXNBQUFBTFFBQUFDNEFBQUF2QUFBQU1BQUFBREVBQUFBeUFBQUFNd0FBQURRQUFBQTFBQUFBTmdBQUFEY0FBQUE0QUFBQU9RQUFBRG9BQUFBN0FBQUFQQUFBQUQwQUFBQStBQUFBUHdBQUFFQUFBQUJoQUFBQVlnQUFBR01BQUFCa0FBQUFaUUFBQUdZQUFBQm5BQUFBYUFBQUFHa0FBQUJxQUFBQWF3QUFBR3dBQUFCdEFBQUFiZ0FBQUc4QUFBQndBQUFBY1FBQUFISUFBQUJ6QUFBQWRBQUFBSFVBQUFCMkFBQUFkd0FBQUhnQUFBQjVBQUFBZWdBQUFGc0FBQUJjQUFBQVhRQUFBRjRBQUFCZkFBQUFZQUFBQUdFQUFBQmlBQUFBWXdBQUFHUUFBQUJsQUFBQVpnQUFBR2NBQUFCb0FBQUFhUUFBQUdvQUFBQnJBQUFBYkFBQUFHMEFBQUJ1QUFBQWJ3QUFBSEFBQUFCeEFBQUFjZ0FBQUhNQUFBQjBBQUFBZFFBQUFIWUFBQUIzQUFBQWVBQUFBSGtBQUFCNkFBQUFld0FBQUh3QUFBQjlBQUFBZmdBQUFIOEFRYURFQUF2L0FRSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBTWdBaUFDSUFJZ0FpQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUJZQVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FqWUNOZ0kyQWpZQ05nSTJBallDTmdJMkFqWUJNQUV3QVRBQk1BRXdBVEFCTUFJMVFqVkNOVUkxUWpWQ05VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZCTUFFd0FUQUJNQUV3QVRBQ05ZSTFnaldDTllJMWdqV0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z1RBQk1BRXdBVEFBZ0JCcE13QUMva0RBUUFBQUFJQUFBQURBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUVBQUFBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQVZBQUFBRmdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ01BQUFBa0FBQUFKUUFBQUNZQUFBQW5BQUFBS0FBQUFDa0FBQUFxQUFBQUt3QUFBQ3dBQUFBdEFBQUFMZ0FBQUM4QUFBQXdBQUFBTVFBQUFESUFBQUF6QUFBQU5BQUFBRFVBQUFBMkFBQUFOd0FBQURnQUFBQTVBQUFBT2dBQUFEc0FBQUE4QUFBQVBRQUFBRDRBQUFBL0FBQUFRQUFBQUVFQUFBQkNBQUFBUXdBQUFFUUFBQUJGQUFBQVJnQUFBRWNBQUFCSUFBQUFTUUFBQUVvQUFBQkxBQUFBVEFBQUFFMEFBQUJPQUFBQVR3QUFBRkFBQUFCUkFBQUFVZ0FBQUZNQUFBQlVBQUFBVlFBQUFGWUFBQUJYQUFBQVdBQUFBRmtBQUFCYUFBQUFXd0FBQUZ3QUFBQmRBQUFBWGdBQUFGOEFBQUJnQUFBQVFRQUFBRUlBQUFCREFBQUFSQUFBQUVVQUFBQkdBQUFBUndBQUFFZ0FBQUJKQUFBQVNnQUFBRXNBQUFCTUFBQUFUUUFBQUU0QUFBQlBBQUFBVUFBQUFGRUFBQUJTQUFBQVV3QUFBRlFBQUFCVkFBQUFWZ0FBQUZjQUFBQllBQUFBV1FBQUFGb0FBQUI3QUFBQWZBQUFBSDBBQUFCK0FBQUFmd0JCb05RQUM2RUNDZ0FBQUdRQUFBRG9Bd0FBRUNjQUFLQ0dBUUJBUWc4QWdKYVlBQURoOVFYLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9BQUVDQXdRRkJnY0lDZi8vLy8vLy8vOEtDd3dORGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUkvLy8vLy8vL3dvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0JCME5ZQUN4Z1JBQW9BRVJFUkFBQUFBQVVBQUFBQUFBQUpBQUFBQUFzQVFmRFdBQXNoRVFBUENoRVJFUU1LQndBQkV3a0xDd0FBQ1FZTEFBQUxBQVlSQUFBQUVSRVJBRUdoMXdBTEFRc0FRYXJYQUFzWUVRQUtDaEVSRVFBS0FBQUNBQWtMQUFBQUNRQUxBQUFMQUVIYjF3QUxBUXdBUWVmWEFBc1ZEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUVHVjJBQUxBUTRBUWFIWUFBc1ZEUUFBQUFRTkFBQUFBQWtPQUFBQUFBQU9BQUFPQUVIUDJBQUxBUkFBUWR2WUFBc2VEd0FBQUFBUEFBQUFBQWtRQUFBQUFBQVFBQUFRQUFBU0FBQUFFaElTQUVHUzJRQUxEaElBQUFBU0VoSUFBQUFBQUFBSkFFSEQyUUFMQVFzQVFjL1pBQXNWQ2dBQUFBQUtBQUFBQUFrTEFBQUFBQUFMQUFBTEFFSDkyUUFMQVF3QVFZbmFBQXQrREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFBQXdNVEl6TkRVMk56ZzVRVUpEUkVWR0dSSkVPd0kvTEVjVVBUTXdDaHNHUmt0Rk53OUpEbzRYQTBBZFBHa3JOaDlLTFJ3QklDVXBJUWdNRlJZaUxoQTRQZ3MwTVJoa2RIVjJMMEVKZnprUkkwTXlRb21LaXdVRUppZ25EU29lTll3SEdraVRFNVNWQUVHUTJ3QUwxdzVKYkd4bFoyRnNJR0o1ZEdVZ2MyVnhkV1Z1WTJVQVJHOXRZV2x1SUdWeWNtOXlBRkpsYzNWc2RDQnViM1FnY21Wd2NtVnpaVzUwWVdKc1pRQk9iM1FnWVNCMGRIa0FVR1Z5YldsemMybHZiaUJrWlc1cFpXUUFUM0JsY21GMGFXOXVJRzV2ZENCd1pYSnRhWFIwWldRQVRtOGdjM1ZqYUNCbWFXeGxJRzl5SUdScGNtVmpkRzl5ZVFCT2J5QnpkV05vSUhCeWIyTmxjM01BUm1sc1pTQmxlR2x6ZEhNQVZtRnNkV1VnZEc5dklHeGhjbWRsSUdadmNpQmtZWFJoSUhSNWNHVUFUbThnYzNCaFkyVWdiR1ZtZENCdmJpQmtaWFpwWTJVQVQzVjBJRzltSUcxbGJXOXllUUJTWlhOdmRYSmpaU0JpZFhONUFFbHVkR1Z5Y25Wd2RHVmtJSE41YzNSbGJTQmpZV3hzQUZKbGMyOTFjbU5sSUhSbGJYQnZjbUZ5YVd4NUlIVnVZWFpoYVd4aFlteGxBRWx1ZG1Gc2FXUWdjMlZsYXdCRGNtOXpjeTFrWlhacFkyVWdiR2x1YXdCU1pXRmtMVzl1YkhrZ1ptbHNaU0J6ZVhOMFpXMEFSR2x5WldOMGIzSjVJRzV2ZENCbGJYQjBlUUJEYjI1dVpXTjBhVzl1SUhKbGMyVjBJR0o1SUhCbFpYSUFUM0JsY21GMGFXOXVJSFJwYldWa0lHOTFkQUJEYjI1dVpXTjBhVzl1SUhKbFpuVnpaV1FBU0c5emRDQnBjeUJrYjNkdUFFaHZjM1FnYVhNZ2RXNXlaV0ZqYUdGaWJHVUFRV1JrY21WemN5QnBiaUIxYzJVQVFuSnZhMlZ1SUhCcGNHVUFTUzlQSUdWeWNtOXlBRTV2SUhOMVkyZ2daR1YyYVdObElHOXlJR0ZrWkhKbGMzTUFRbXh2WTJzZ1pHVjJhV05sSUhKbGNYVnBjbVZrQUU1dklITjFZMmdnWkdWMmFXTmxBRTV2ZENCaElHUnBjbVZqZEc5eWVRQkpjeUJoSUdScGNtVmpkRzl5ZVFCVVpYaDBJR1pwYkdVZ1luVnplUUJGZUdWaklHWnZjbTFoZENCbGNuSnZjZ0JKYm5aaGJHbGtJR0Z5WjNWdFpXNTBBRUZ5WjNWdFpXNTBJR3hwYzNRZ2RHOXZJR3h2Ym1jQVUzbHRZbTlzYVdNZ2JHbHVheUJzYjI5d0FFWnBiR1Z1WVcxbElIUnZieUJzYjI1bkFGUnZieUJ0WVc1NUlHOXdaVzRnWm1sc1pYTWdhVzRnYzNsemRHVnRBRTV2SUdacGJHVWdaR1Z6WTNKcGNIUnZjbk1nWVhaaGFXeGhZbXhsQUVKaFpDQm1hV3hsSUdSbGMyTnlhWEIwYjNJQVRtOGdZMmhwYkdRZ2NISnZZMlZ6Y3dCQ1lXUWdZV1JrY21WemN3QkdhV3hsSUhSdmJ5QnNZWEpuWlFCVWIyOGdiV0Z1ZVNCc2FXNXJjd0JPYnlCc2IyTnJjeUJoZG1GcGJHRmliR1VBVW1WemIzVnlZMlVnWkdWaFpHeHZZMnNnZDI5MWJHUWdiMk5qZFhJQVUzUmhkR1VnYm05MElISmxZMjkyWlhKaFlteGxBRkJ5WlhacGIzVnpJRzkzYm1WeUlHUnBaV1FBVDNCbGNtRjBhVzl1SUdOaGJtTmxiR1ZrQUVaMWJtTjBhVzl1SUc1dmRDQnBiWEJzWlcxbGJuUmxaQUJPYnlCdFpYTnpZV2RsSUc5bUlHUmxjMmx5WldRZ2RIbHdaUUJKWkdWdWRHbG1hV1Z5SUhKbGJXOTJaV1FBUkdWMmFXTmxJRzV2ZENCaElITjBjbVZoYlFCT2J5QmtZWFJoSUdGMllXbHNZV0pzWlFCRVpYWnBZMlVnZEdsdFpXOTFkQUJQZFhRZ2IyWWdjM1J5WldGdGN5QnlaWE52ZFhKalpYTUFUR2x1YXlCb1lYTWdZbVZsYmlCelpYWmxjbVZrQUZCeWIzUnZZMjlzSUdWeWNtOXlBRUpoWkNCdFpYTnpZV2RsQUVacGJHVWdaR1Z6WTNKcGNIUnZjaUJwYmlCaVlXUWdjM1JoZEdVQVRtOTBJR0VnYzI5amEyVjBBRVJsYzNScGJtRjBhVzl1SUdGa1pISmxjM01nY21WeGRXbHlaV1FBVFdWemMyRm5aU0IwYjI4Z2JHRnlaMlVBVUhKdmRHOWpiMndnZDNKdmJtY2dkSGx3WlNCbWIzSWdjMjlqYTJWMEFGQnliM1J2WTI5c0lHNXZkQ0JoZG1GcGJHRmliR1VBVUhKdmRHOWpiMndnYm05MElITjFjSEJ2Y25SbFpBQlRiMk5yWlhRZ2RIbHdaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFNXZkQ0J6ZFhCd2IzSjBaV1FBVUhKdmRHOWpiMndnWm1GdGFXeDVJRzV2ZENCemRYQndiM0owWldRQVFXUmtjbVZ6Y3lCbVlXMXBiSGtnYm05MElITjFjSEJ2Y25SbFpDQmllU0J3Y205MGIyTnZiQUJCWkdSeVpYTnpJRzV2ZENCaGRtRnBiR0ZpYkdVQVRtVjBkMjl5YXlCcGN5QmtiM2R1QUU1bGRIZHZjbXNnZFc1eVpXRmphR0ZpYkdVQVEyOXVibVZqZEdsdmJpQnlaWE5sZENCaWVTQnVaWFIzYjNKckFFTnZibTVsWTNScGIyNGdZV0p2Y25SbFpBQk9ieUJpZFdabVpYSWdjM0JoWTJVZ1lYWmhhV3hoWW14bEFGTnZZMnRsZENCcGN5QmpiMjV1WldOMFpXUUFVMjlqYTJWMElHNXZkQ0JqYjI1dVpXTjBaV1FBUTJGdWJtOTBJSE5sYm1RZ1lXWjBaWElnYzI5amEyVjBJSE5vZFhSa2IzZHVBRTl3WlhKaGRHbHZiaUJoYkhKbFlXUjVJR2x1SUhCeWIyZHlaWE56QUU5d1pYSmhkR2x2YmlCcGJpQndjbTluY21WemN3QlRkR0ZzWlNCbWFXeGxJR2hoYm1Sc1pRQlNaVzF2ZEdVZ1NTOVBJR1Z5Y205eUFGRjFiM1JoSUdWNFkyVmxaR1ZrQUU1dklHMWxaR2wxYlNCbWIzVnVaQUJYY205dVp5QnRaV1JwZFcwZ2RIbHdaUUJPYnlCbGNuSnZjaUJwYm1admNtMWhkR2x2YmdBQUFBQUFBRXhEWDBOVVdWQkZBQUFBQUV4RFgwNVZUVVZTU1VNQUFFeERYMVJKVFVVQUFBQUFBRXhEWDBOUFRFeEJWRVVBQUV4RFgwMVBUa1ZVUVZKWkFFeERYMDFGVTFOQlIwVlRBRUh3NlFBTGx3SURBQUFBQkFBQUFBUUFBQUFHQUFBQWcvbWlBRVJPYmdEOEtSVUEwVmNuQU4wMDlRQmkyOEFBUEptVkFFR1FRd0JqVWY0QXU5NnJBTGRoeFFBNmJpUUEwazFDQUVrRzRBQUo2aTRBSEpMUkFPc2QvZ0Fwc1J3QTZENm5BUFUxZ2dCRXV5NEFuT21FQUxRbWNBQkJmbDhBMXBFNUFGT0RPUUNjOURrQWkxK0VBQ2o1dlFENEh6c0EzditYQUErWUJRQVJMKzhBQ2xxTEFHMGZiUURQZmpZQUNjc25BRVpQdHdDZVpqOEFMZXBmQUxvbmRRRGw2OGNBUFh2eEFQYzVCd0NTVW9vQSsydnFBQit4WHdBSVhZMEFNQU5XQUh2OFJnRHdxMnNBSUx6UEFEYjBtZ0RqcVIwQVhtR1JBQWdiNWdDRm1XVUFvQlJmQUkxQWFBQ0EyUDhBSjNOTkFBWUdNUURLVmhVQXlhaHpBSHZpWUFCcmpNQUFRWlBzQUF2OUEwRDdJZmsvQUFBQUFDMUVkRDRBQUFDQW1FYjRQQUFBQUdCUnpIZzdBQUFBZ0lNYjhEa0FBQUJBSUNWNk9BQUFBSUFpZ3VNMkFBQUFBQjN6YVRVNFkrMCsyZzlKUDE2WWV6L2FEOGsvYVRlc01XZ2hJak8wRHhRemFDR2lNd0FBQUFBQ0FBQUFBd0FBQUFVQUFBQUhBQUFBQ3dBQUFBMEFBQUFSQUFBQUV3QUFBQmNBQUFBZEFBQUFId0FBQUNVQUFBQXBBQUFBS3dBQUFDOEFBQUExQUFBQU93QUFBRDBBQUFCREFBQUFSd0FBQUVrQUFBQlBBQUFBVXdBQUFGa0FBQUJoQUFBQVpRQUFBR2NBQUFCckFBQUFiUUFBQUhFQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWxRQUFBSmNBQUFDZEFBQUFvd0FBQUtjQUFBQ3RBQUFBc3dBQUFMVUFBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwd0FBQUFFQUFBQUxBQUFBRFFBQUFCRUFBQUFUQUFBQUZ3QUFBQjBBQUFBZkFBQUFKUUFBQUNrQUFBQXJBQUFBTHdBQUFEVUFBQUE3QUFBQVBRQUFBRU1BQUFCSEFBQUFTUUFBQUU4QUFBQlRBQUFBV1FBQUFHRUFBQUJsQUFBQVp3QUFBR3NBQUFCdEFBQUFjUUFBQUhrQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWp3QUFBSlVBQUFDWEFBQUFuUUFBQUtNQUFBQ25BQUFBcVFBQUFLMEFBQUN6QUFBQXRRQUFBTHNBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMFFBQUFEQXhNak0wTlRZM09EbGhZbU5rWldaQlFrTkVSVVo0V0NzdGNGQnBTVzVPQUVHZzhBQUxnUUVsQUFBQWJRQUFBQzhBQUFBbEFBQUFaQUFBQUM4QUFBQWxBQUFBZVFBQUFDVUFBQUJaQUFBQUxRQUFBQ1VBQUFCdEFBQUFMUUFBQUNVQUFBQmtBQUFBSlFBQUFFa0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQWdBQUFBSlFBQUFIQUFBQUFBQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQVFiRHhBQXU1QVNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFCUVJRQUFFMk1BQUhoRkFBRFpid0FBOERnQUFBQUFBQUI0UlFBQTdYSUFBS2c3QUFBQUFBQUFlRVVBQUdsK0FBQzRRZ0FBQUFBQUFIaEZBQUFaa0FBQXVFSUFBQUFBQUFCNFJRQUFqWkFBQUxoQ0FBQUFBQUFBNUVVQUFKeW5BQUFBQUFBQUFRQUFBR0E1QUFBQUFBQUFVRVVBQU51bkFBQUZBRUgwOGdBTEFRSUFRWXp6QUFzS0FRQUFBQUVBQUFDbTZnQkJwUE1BQ3dFQ0FFR3o4d0FMQmYvLy8vLy9BRUg0OHdBTEFRa0FRWVQwQUFzQkFnQkJtUFFBQ3hJQ0FBQUFBQUFBQUFFQUFBQm8wZ0FBQUFRQVFjVDBBQXNFLy8vLy93QkJpUFVBQ3dFRkFFR1U5UUFMQVFNQVFhejFBQXNPQVFBQUFBSUFBQUI0MWdBQUFBUUFRY1QxQUFzQkFRQkIwL1VBQ3dVSy8vLy8vd0JCdlBZQUN3RURBRUhqOWdBTEJmLy8vLy8vQUVHbzl3QUwxeEJRUlFBQS9yOEFBSGhGQUFCZXdBQUF3RHNBQUFBQUFBQjRSUUFBQzhBQUFOQTdBQUFBQUFBQVVFVUFBQ3pBQUFCNFJRQUFPY0FBQUxBN0FBQUFBQUFBZUVVQUFLakFBQUNvT3dBQUFBQUFBSGhGQUFDNHdBQUE2RHNBQUFBQUFBQjRSUUFBeWNBQUFNQTdBQUFBQUFBQWVFVUFBT3ZBQUFBSVBBQUFBQUFBQUhoRkFBQVB3UUFBd0RzQUFBQUFBQURJUlFBQU44RUFBTWhGQUFBNXdRQUF5RVVBQUR2QkFBRElSUUFBUGNFQUFNaEZBQUEvd1FBQXlFVUFBRUhCQUFESVJRQUFROEVBQU1oRkFBQkZ3UUFBeUVVQUFFZkJBQURJUlFBQVpzb0FBTWhGQUFCSndRQUF5RVVBQUV2QkFBRElSUUFBVGNFQUFIaEZBQUJQd1FBQXNEc0FBQUFBQUFCUVJRQUFzTVFBQUZCRkFBRFB4QUFBVUVVQUFPN0VBQUJRUlFBQURjVUFBRkJGQUFBc3hRQUFVRVVBQUV2RkFBQlFSUUFBYXNVQUFGQkZBQUNKeFFBQVVFVUFBS2pGQUFCUVJRQUF4OFVBQUZCRkFBRG14UUFBVUVVQUFBWEdBQUJRUlFBQUpNWUFBT1JGQUFBM3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUI1eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQzd4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFENnhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFIaEZBQUJMeHdBQWlEMEFBQUFBQUFCUVJRQUFPY2NBQUhoRkFBQjF4d0FBaUQwQUFBQUFBQUJRUlFBQW44Y0FBRkJGQUFEUXh3QUE1RVVBQUFISUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBRERJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vNUVVQUFGL0lBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQUk3SUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvL2VFVUFBTDNJQUFDb1BRQUFBQUFBQUhoRkFBRFd5QUFBb0QwQUFBQUFBQUI0UlFBQUZja0FBS2c5QUFBQUFBQUFlRVVBQUMzSkFBQ2dQUUFBQUFBQUFIaEZBQUJGeVFBQVlENEFBQUFBQUFCNFJRQUFXY2tBQUxCQ0FBQUFBQUFBZUVVQUFHL0pBQUJnUGdBQUFBQUFBT1JGQUFDSXlRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFLQStBQUFBQUFBQTVFVUFBTXpKQUFBQUFBQUFBUUFBQUxnK0FBQUFBQUFBVUVVQUFPTEpBQURrUlFBQSs4a0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRGdQZ0FBQUFBQUFPUkZBQUEveWdBQUFBQUFBQUVBQUFDNFBnQUFBQUFBQU9SRkFBQm95Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBQmcvQUFBQUFBQUE1RVVBQUt6S0FBQUFBQUFBQVFBQUFEQS9BQUFBQUFBQVVFVUFBTUxLQUFEa1JRQUEyOG9BQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJZUHdBQUFBQUFBT1JGQUFBZnl3QUFBQUFBQUFFQUFBQXdQd0FBQUFBQUFPUkZBQUIxekFBQUFBQUFBQU1BQUFCZ1BnQUFBZ0FBQUpnL0FBQUNBQUFBb0Q4QUFBQUlBQUJRUlFBQTNNd0FBRkJGQUFDNnpBQUE1RVVBQU8vTUFBQUFBQUFBQXdBQUFHQStBQUFDQUFBQW1EOEFBQUlBQUFEUVB3QUFBQWdBQUZCRkFBQTB6UUFBNUVVQUFGYk5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUErRDhBQUFBSUFBQlFSUUFBbTgwQUFPUkZBQUN3elFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQVBnL0FBQUFDQUFBNUVVQUFQWE5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBQlFSUUFBRWM0QUFPUkZBQUFtemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQUFBQUNBQUFBNUVVQUFFTE9BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBRGtSUUFBWHM0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCQVFBQUFBZ0FBQU9SRkFBQ0p6Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTWhBQUFBQUFBQUFVRVVBQU0vT0FBRGtSUUFBODg0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEd1FBQUFBQUFBQUZCRkFBQTV6d0FBNUVVQUFGalBBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFHRUVBQUFBQUFBQlFSUUFBbnM4QUFPUkZBQUMzendBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQkFBQUFBQUFBVUVVQUFQM1BBQURrUlFBQUZ0QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQm9RUUFBQWdBQUFGQkZBQUFyMEFBQTVFVUFBTUxRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVFQUFBSUFBQUI0UlFBQVE5QUFBS0JCQUFBQUFBQUE1RVVBQUdiUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCUVJRQUFpZEFBQUhoRkFBQ2cwQUFBb0VFQUFBQUFBQURrUlFBQTE5QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBREFRUUFBQWdBQUFPUkZBQUQ1MEFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1CQkFBQUNBQUFBNUVVQUFCdlJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQjRSUUFBUHRFQUFHQStBQUFBQUFBQTVFVUFBRlRSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVJQUFBSUFBQUJRUlFBQVp0RUFBT1JGQUFCNzBRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFHaENBQUFDQUFBQWVFVUFBSmpSQUFCZ1BnQUFBQUFBQUhoRkFBQ3QwUUFBWUQ0QUFBQUFBQUJRUlFBQXd0RUFBT1JGQUFEYjBRQUFBQUFBQUFFQUFBQ3dRZ0FBQUFBQUFBRUFBQUFBQUFBQStEZ0FBQUVBQUFBQ0FBQUFBQUFBQVBBNEFBQURBQUFBQkFBQUFBQUFBQUFJT1FBQUJRQUFBQVlBQUFBQkFBQUF1VktNUG81YTV6NjVVb3crQUFBQUFCZzVBQUFIQUFBQUNBQUFBQWtBQUFBQkFBQUFDZ0FBQUFBQUFBQW9PUUFBQndBQUFBc0FBQUFNQUFBQUFnQUFBQTBBQUFBQUFBQUFPRGtBQUFjQUFBQU9BQUFBRHdBQUFBTUFBQUFRQUFBQS8vLy8vLzcvLy8vOS8vLy9PRHdBQUhBOEFBQ1FQQUFBT0R3QUFIQThBQUJ3UEFBQW1Ed0FBSEE4QUFBNFBBQUFjRHdBQUpnOEFBQndQQUFBT0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFjRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQUFRQUFBQUFBQUFBQ0FBQUFRQVlBQUlBK0FBQUFBQUFBaUJNQUFEQWFBQUFVQUFBQVF5NVZWRVl0T0FCQmpJZ0JDd0x3UXdCQnBJZ0JDeEpvT1FBQStEa0FBSWc2QUFDSU9nQUFJQjBBUWVpSkFRc0NqT0lBUWFDS0FRdTlFaUFpQUFBZ0pnQUFYM0NKQVA4Skx3OEFBSUEvQUFEQVB3QUFBQURjejlFMUFBQUFBQURBRlQ4QUFBQUFzRHNBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFFQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQU5nN0FBQVJBQUFBRlFBQUFCTUFBQUFVQUFBQUJBQUFBQUlBQUFBQ0FBQUFBZ0FBQUFBQUFBRG9Pd0FBRmdBQUFCY0FBQUFFQUFBQUFBQUFBUGc3QUFBV0FBQUFHQUFBQUFRQUFBQUFBQUFBS0R3QUFCRUFBQUFaQUFBQUV3QUFBQlFBQUFBRkFBQUFBQUFBQUtBOEFBQVJBQUFBR2dBQUFCTUFBQUFVQUFBQUJBQUFBQU1BQUFBREFBQUFBd0FBQUFBQUFBQ0lQUUFBR3dBQUFCd0FBQUFBQUFBQW9EMEFBQjBBQUFBZUFBQUFBUUFBQUFZQUFBQUJBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUFnQUFBQUZBQUFBQUFBQUFLZzlBQUFmQUFBQUlBQUFBQUlBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFMQUFBQURBQUFBQVlBQUFBTEFBQUFCd0FBQUFnQUFBQUFBQUFBc0QwQUFDRUFBQUFpQUFBQStQLy8vL2ovLy8rd1BRQUFJd0FBQUNRQUFBQ2dSZ0FBdEVZQUFBZ0FBQUFBQUFBQXlEMEFBQ1VBQUFBbUFBQUErUC8vLy9qLy8vL0lQUUFBSndBQUFDZ0FBQURRUmdBQTVFWUFBQVFBQUFBQUFBQUE0RDBBQUNrQUFBQXFBQUFBL1AvLy8vei8vLy9nUFFBQUt3QUFBQ3dBQUFBQVJ3QUFGRWNBQUFRQUFBQUFBQUFBK0QwQUFDMEFBQUF1QUFBQS9QLy8vL3ovLy8vNFBRQUFMd0FBQURBQUFBQXdSd0FBUkVjQUFBQUFBQUFRUGdBQUh3QUFBREVBQUFBREFBQUFDUUFBQUFJQUFBQUZBQUFBRFFBQUFBb0FBQUFLQUFBQUN3QUFBQXdBQUFBR0FBQUFEQUFBQUFnQUFBQUFBQUFBSUQ0QUFCMEFBQUF5QUFBQUJBQUFBQVlBQUFBQkFBQUFCQUFBQUE0QUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQTBBQUFBSkFBQUFBQUFBQURBK0FBQWZBQUFBTXdBQUFBVUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQVBBQUFBRUFBQUFBb0FBQUFMQUFBQUJ3QUFBQUFBQUFCQVBnQUFIUUFBQURRQUFBQUdBQUFBQmdBQUFBRUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFFUUFBQUJJQUFBQUxBQUFBQ0FBQUFBVUFBQUFBQUFBQVVENEFBRFVBQUFBMkFBQUFOd0FBQUFFQUFBQUdBQUFBRGdBQUFBQUFBQUJ3UGdBQU9BQUFBRGtBQUFBM0FBQUFBZ0FBQUFjQUFBQVBBQUFBQUFBQUFJQStBQUE2QUFBQU93QUFBRGNBQUFBQkFBQUFBZ0FBQUFNQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUNBQUFBQWtBQUFBS0FBQUFDd0FBQUFBQUFBREFQZ0FBUEFBQUFEMEFBQUEzQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBQUFBQUErRDRBQUQ0QUFBQS9BQUFBTndBQUFBTUFBQUFFQUFBQUFRQUFBQVVBQUFBQ0FBQUFBUUFBQUFJQUFBQUdBQUFBQUFBQUFEZy9BQUJBQUFBQVFRQUFBRGNBQUFBSEFBQUFDQUFBQUFNQUFBQUpBQUFBQkFBQUFBTUFBQUFFQUFBQUNnQUFBQUFBQUFCd1B3QUFRZ0FBQUVNQUFBQTNBQUFBRXdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFBUUFBQVBqLy8vOXdQd0FBRkFBQUFCVUFBQUFXQUFBQUZ3QUFBQmdBQUFBWkFBQUFHZ0FBQUFBQUFBQ29Qd0FBUkFBQUFFVUFBQUEzQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBQWdBQUFQai8vLytvUHdBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBQUFBQUFDVUFBQUJ0QUFBQUx3QUFBQ1VBQUFCa0FBQUFMd0FBQUNVQUFBQjVBQUFBQUFBQUFDVUFBQUJKQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJ3QUFBQUFBQUFBQ1VBQUFCaEFBQUFJQUFBQUNVQUFBQmlBQUFBSUFBQUFDVUFBQUJrQUFBQUlBQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCWkFBQUFBQUFBQUVFQUFBQk5BQUFBQUFBQUFGQUFBQUJOQUFBQUFBQUFBRW9BQUFCaEFBQUFiZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVJnQUFBR1VBQUFCaUFBQUFjZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVRRQUFBR0VBQUFCeUFBQUFZd0FBQUdnQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQWFRQUFBR3dBQUFBQUFBQUFUUUFBQUdFQUFBQjVBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBR1VBQUFBQUFBQUFTZ0FBQUhVQUFBQnNBQUFBZVFBQUFBQUFBQUJCQUFBQWRRQUFBR2NBQUFCMUFBQUFjd0FBQUhRQUFBQUFBQUFBVXdBQUFHVUFBQUJ3QUFBQWRBQUFBR1VBQUFCdEFBQUFZZ0FBQUdVQUFBQnlBQUFBQUFBQUFFOEFBQUJqQUFBQWRBQUFBRzhBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBUkFBQUFHVUFBQUJqQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBU2dBQUFHRUFBQUJ1QUFBQUFBQUFBRVlBQUFCbEFBQUFZZ0FBQUFBQUFBQk5BQUFBWVFBQUFISUFBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFBQUFBQUJLQUFBQWRRQUFBR3dBQUFBQUFBQUFRUUFBQUhVQUFBQm5BQUFBQUFBQUFGTUFBQUJsQUFBQWNBQUFBQUFBQUFCUEFBQUFZd0FBQUhRQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQUFBQUFBRVFBQUFCbEFBQUFZd0FBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUhNQUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVZ3QUFBR1VBQUFCa0FBQUFiZ0FBQUdVQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCb0FBQUFkUUFBQUhJQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBQUFCMUFBQUFjZ0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBQUFBQUFCWEFBQUFaUUFBQUdRQUFBQUFBQUFBVkFBQUFHZ0FBQUIxQUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFRZWljQVFzUjJEOEFBRVlBQUFCSEFBQUFOd0FBQUFFQVFZR2RBUXZ3QlVBQUFFZ0FBQUJKQUFBQU53QUFBQUlBQUFBQUFBQUFJRUFBQUVvQUFBQkxBQUFBTndBQUFDTUFBQUFrQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUNVQUFBQUxBQUFBREFBQUFBQUFBQUJJUUFBQVRBQUFBRTBBQUFBM0FBQUFKZ0FBQUNjQUFBQU5BQUFBRGdBQUFBOEFBQUFRQUFBQUtBQUFBQkVBQUFBU0FBQUFBQUFBQUdoQUFBQk9BQUFBVHdBQUFEY0FBQUFwQUFBQUtnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQXJBQUFBRndBQUFCZ0FBQUFBQUFBQWlFQUFBRkFBQUFCUkFBQUFOd0FBQUN3QUFBQXRBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQzRBQUFBZEFBQUFIZ0FBQUFBQUFBQ29RQUFBVWdBQUFGTUFBQUEzQUFBQUF3QUFBQVFBQUFBQUFBQUEwRUFBQUZRQUFBQlZBQUFBTndBQUFBVUFBQUFHQUFBQUFBQUFBUGhBQUFCV0FBQUFWd0FBQURjQUFBQUJBQUFBSVFBQUFBQUFBQUFnUVFBQVdBQUFBRmtBQUFBM0FBQUFBZ0FBQUNJQUFBQUFBQUFBU0VFQUFGb0FBQUJiQUFBQU53QUFBQkFBQUFBRUFBQUFId0FBQUFBQUFBQndRUUFBWEFBQUFGMEFBQUEzQUFBQUVRQUFBQVVBQUFBZ0FBQUFBQUFBQU1oQkFBQmVBQUFBWHdBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFKQkJBQUJlQUFBQVlBQUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBUGhCQUFCaEFBQUFZZ0FBQURjQUFBQUZBQUFBQmdBQUFBMEFBQUF5QUFBQU13QUFBQTRBQUFBMEFBQUFBQUFBQURoQ0FBQmpBQUFBWkFBQUFEY0FBQUFBQUFBQVNFSUFBR1VBQUFCbUFBQUFOd0FBQUF3QUFBQVNBQUFBRFFBQUFCTUFBQUFPQUFBQUFRQUFBQlFBQUFBUEFBQUFBQUFBQUpCQ0FBQm5BQUFBYUFBQUFEY0FBQUExQUFBQU5nQUFBQ0VBQUFBaUFBQUFJd0FBQUFBQUFBQ2dRZ0FBYVFBQUFHb0FBQUEzQUFBQU53QUFBRGdBQUFBa0FBQUFKUUFBQUNZQUFBQm1BQUFBWVFBQUFHd0FBQUJ6QUFBQVpRQUFBQUFBQUFCMEFBQUFjZ0FBQUhVQUFBQmxBRUg4b2dFTC9JQUNZRDRBQUY0QUFBQnJBQUFBTndBQUFBQUFBQUJ3UWdBQVhnQUFBR3dBQUFBM0FBQUFGUUFBQUFJQUFBQURBQUFBQkFBQUFBOEFBQUFXQUFBQUVBQUFBQmNBQUFBUkFBQUFCUUFBQUJnQUFBQVFBQUFBQUFBQUFOaEJBQUJlQUFBQWJRQUFBRGNBQUFBSEFBQUFDQUFBQUJFQUFBQTVBQUFBT2dBQUFCSUFBQUE3QUFBQUFBQUFBQmhDQUFCZUFBQUFiZ0FBQURjQUFBQUpBQUFBQ2dBQUFCTUFBQUE4QUFBQVBRQUFBQlFBQUFBK0FBQUFBQUFBQUtCQkFBQmVBQUFBYndBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFLQS9BQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBQUFBQUFOQS9BQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNFQUFBQWlBQUFBUlhKeWIzSTZJR3hoWW1Wc2FXNW5JSGR2Y21zZ2IzWmxjbVpzYjNjdUNnQlZibXR1YjNkdUlHOXlJSFZ1YzNWd2NHOXlkR1ZrSUd4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSEpsY1hWbGMzUmxaQzRnVTJWMElIUnZJRzFoYm5WaGJDNEtBRXhoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElITmxkQ0IwYnlBbGN5NEtBRTFCVGxWQlRBQkJWVlJQWDAxRlJFbEJUZ0JCVlZSUFgwOVVVMVVBUVZWVVQxOUJSRUZRVkVsV1JRQkJWVlJQWDBKU1FVTkxSVlJKVGtjQVJYSnliM0k2SUZWdWMzVndjRzl5ZEdWa0lIQnBlR1ZzSUdadmNtMWhkQ0FvSldRcElISmxjWFZsYzNSbFpDNEtBRUYxZEc4Z2RHaHlaWE5vYjJ4a0lDaGljbUZqYTJWMEtTQnRZWEpyWlhJZ1kyOTFiblJ6SUMxYkpUTmtPaUFsTTJSZElGc2xNMlE2SUNVelpGMGdXeVV6WkRvZ0pUTmtYU3N1Q2dCQmRYUnZJSFJvY21WemFHOXNaQ0FvWW5KaFkydGxkQ2tnWVdScWRYTjBaV1FnZEdoeVpYTm9iMnhrSUhSdklDVmtMZ29BYldWa2FXRnVBRTkwYzNVQVFYVjBieUIwYUhKbGMyaHZiR1FnS0NWektTQmhaR3AxYzNSbFpDQjBhSEpsYzJodmJHUWdkRzhnSldRdUNnQS9QejhnTVFvQVB6OC9JRElLQUQ4L1B5QXpDZ0JGY25KdmNqb2dkVzV6ZFhCd2IzSjBaV1FnY0dsNFpXd2dabTl5YldGMExnb0FSWEp5YjNJNklFNVZURXdnY0dGMGRFaGhibVJzWlM0S0FFVnljbTl5T2lCallXNG5kQ0JzYjJGa0lIQmhkSFJsY200Z1puSnZiU0JPVlV4TUlHSjFabVpsY2k0S0FFVnljbTl5T2lCdmRYUWdiMllnYldWdGIzSjVMZ29BSUFrS0RRQlFZWFIwWlhKdUlFUmhkR0VnY21WaFpDQmxjbkp2Y2lFaENnQkZjbkp2Y2lCeVpXRmthVzVuSUhCaGRIUmxjbTRnWm1sc1pTQW5KWE1uTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJRzl3Wlc0Z1kyRnRaWEpoSUhCaGNtRnRaWFJsY25NZ1ptbHNaU0FpSlhNaUlHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQm1hV3hsSUd4bGJtZDBhQzRBUlhKeWIzSTZJSE4xY0hCc2FXVmtJR1pwYkdVZ1pHOWxjeUJ1YjNRZ1lYQndaV0Z5SUhSdklHSmxJR0Z1SUVGU1ZHOXZiRXRwZENCallXMWxjbUVnY0dGeVlXMWxkR1Z5SUdacGJHVXVDZ0JGY25KdmNpQW9KV1FwT2lCMWJtRmliR1VnZEc4Z2NtVmhaQ0JtY205dElHWnBiR1V1QUdGeVoyeERZVzFsY21GR2NuVnpkSFZ0VWtnb0tUb2dZWEpRWVhKaGJVUmxZMjl0Y0UxaGRDZ3BJR2x1WkdsallYUmxaQ0J3WVhKaGJXVjBaWElnWlhKeWIzSXVDZ0JGY25KdmNqb2dhV053UjJWMFNsOVZYMWhqQUVWeWNtOXlJREU2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdNam9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQXpPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEUTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ05Ub2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBMk9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURjNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWN1Q2dCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklFWnBjbk4wSUd4cGJtVWdiWFZ6ZENCaVpTQnVkVzFpWlhJZ2IyWWdiV0Z5YTJWeUlHTnZibVpwWjNNZ2RHOGdjbVZoWkM0S0FDVnNiSFVsWXdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklIQmhkSFJsY200Z0p5VnpKeUJ6Y0dWamFXWnBaV1FnYVc0Z2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbmRYSmhkR2x2YmlCM2FHbHNaU0JwYmlCaVlYSmpiMlJsTFc5dWJIa2diVzlrWlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JrYVhKbFkzUnZjbmtnYm1GdFpTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUd4dllXUWdjR0YwZEdWeWJpQW5KWE1uTGdvQUpXeG1BRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKeXdnYldGeWEyVnlJR1JsWm1sdWFYUnBiMjRnSlROa09pQkdhWEp6ZENCc2FXNWxJRzExYzNRZ1ltVWdjR0YwZEdWeWJpQjNhV1IwYUM0S0FDVnNaaUFsYkdZZ0pXeG1JQ1ZzWmdBbFppQWxaZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWNzSUcxaGNtdGxjaUJrWldacGJtbDBhVzl1SUNVelpEb2dUR2x1WlhNZ01pQXRJRFFnYlhWemRDQmlaU0J0WVhKclpYSWdkSEpoYm5ObWIzSnRMZ29BV3lWelhTQUFaR1ZpZFdjQWFXNW1id0IzWVhKdWFXNW5BR1Z5Y205eUFDVnpKWE1BTG1selpYUUFSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUdacGJHVWdKeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdjbVZoWkdsdVp5QnBiV0ZuWlZObGRDNEtBRWx0WVdkbGMyVjBJR052Ym5SaGFXNXpJQ1ZrSUdsdFlXZGxjeTRLQUVaaGJHeHBibWNnWW1GamF5QjBieUJ5WldGa2FXNW5JQ2NsY3lWekp5QnBiaUJCVWxSdmIyeExhWFFnZGpRdWVDQm1iM0p0WVhRdUNnQkZjbkp2Y2lCeVpXRmthVzVuSUVwUVJVY2dabWxzWlM0S0FFVnljbTl5SUhKbFlXUnBibWNnU2xCRlJ5Qm1hV3hsSUdobFlXUmxjaTRLQUNWbUFFWnBiR1VnYjNCbGJpQmxjbkp2Y2k0Z0pYTUtBRkpsWVdRZ1pYSnliM0loSVFvQWNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6SnpvZ0FDVnpKWE1LQUNWa0FBb2pJeU1nVTNWeVptRmpaU0JPYnk0bFpDQWpJeU1LQUNWekFDQWdVbVZoWkNCSmJXRm5aVk5sZEM0S0FFVnljbTl5SUc5d1pXNXBibWNnWm1sc1pTQW5KWE11YVhObGRDY3VDZ0FnSUNBZ1pXNWtMZ29BSUNCU1pXRmtJRVpsWVhSMWNtVlRaWFF1Q2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbVp6WlhRbkxnb0FJQ0JTWldGa0lFMWhjbXRsY2xObGRDNEtBRzF5YXdCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbTF5YXljdUNnQWxaaUFsWmlBbFppQWxaZ0JVY21GdWMyWnZjbTFoZEdsdmJpQnRZWFJ5YVhnZ2NtVmhaQ0JsY25KdmNpRWhDZ0JxY0djQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl4TDNKbFprUmhkR0ZUWlhSUWRISXlMZ29BYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXVDZ0J5WWdCcmNHMU1iMkZrVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUdacGJHVnVZVzFsTDNKbFprUmhkR0ZUWlhSUWRISXVDZ0JGY25KdmNpQnNiMkZrYVc1bklFdFFUU0JrWVhSaE9pQjFibUZpYkdVZ2RHOGdiM0JsYmlCbWFXeGxJQ2NsY3lWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnYkc5aFpHbHVaeUJMVUUwZ1pHRjBZVG9nWlhKeWIzSWdjbVZoWkdsdVp5QmtZWFJoTGdvQWEzQnRRMmhoYm1kbFVHRm5aVTV2VDJaU1pXWkVZWFJoVTJWMEtDazZJRTVWVEV3Z2NtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZjbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ2NtVm1SR0YwWVZObGRDNEtBSEJ2YVc1MGN5MGxaQW9BYTNCdFRXRjBZMmhwYm1jb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmFXNUpiV0ZuWlV4MWJXRXVDZ0JRWVdkbFd5VmtYU0FnY0hKbE9pVXpaQ3dnWVdaME9pVXpaQ3dnWlhKeWIzSWdQU0FsWmdvQUpYTXVKWE1BUVhOelpYSjBhVzl1SUdCd2VYSmhiV2xrTFQ1emFYcGxLQ2tnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5RWIwZGZjMk5oYkdWZmFXNTJZWEpwWVc1MFgyUmxkR1ZqZEc5eUxtTndjQUJRZVhKaGJXbGtJR2x6SUc1dmRDQmhiR3h2WTJGMFpXUUFUMk4wWVhabElHOTFkQ0J2WmlCeVlXNW5aUUJUWTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCdFNXMWhaMlZ6TG5OcGVtVW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUR0Z3YkdGamFXRnVJSEI1Y21GdGFXUWdhR0Z6SUc1dmRDQmlaV1Z1SUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdRdFBtNTFiVTlqZEdGMlpYTW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQmtiMlZ6SUc1dmRDQmpiMjUwWVdsdUlHRnVlU0JzWlhabGJITUFRWE56WlhKMGFXOXVJR0JrZVc1aGJXbGpYMk5oYzNROFkyOXVjM1FnUW1sdWIyMXBZV3hRZVhKaGJXbGtNekptS2o0b2NIbHlZVzFwWkNsZ0lHWmhhV3hsWkNCcGJpQUFUMjVzZVNCaWFXNXZiV2xoYkNCd2VYSmhiV2xrSUdseklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQlBibXg1SUVZek1pQnBiV0ZuWlhNZ2MzVndjRzl5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlHTXpKZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdRdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFOXViSGtnYzJsdVoyeGxJR05vWVc1dVpXd2dhVzFoWjJWeklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR2x0TVM1amFHRnVibVZzY3lncElEMDlJREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ1pDNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFbHRZV2RsY3lCdGRYTjBJR2hoZG1VZ2RHaGxJSE5oYldVZ2QybGtkR2dBUVhOelpYSjBhVzl1SUdCa0xtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlhNZ2JYVnpkQ0JvWVhabElIUm9aU0J6WVcxbElHaGxhV2RvZEFCQmMzTmxjblJwYjI0Z1lHbHRNUzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVcweExtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSEp2ZHlBOElHMUlaV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbWdBY205M0lHOTFkQ0J2WmlCaWIzVnVaSE1BVGpaMmFYTnBiMjR5TlVkaGRYTnphV0Z1VTJOaGJHVlRjR0ZqWlZCNWNtRnRhV1JGQUVSdlJ5QlFlWEpoYldsa0FFNXZiaTF0WVhnZ2MzVndjSEpsYzNOcGIyNEFVM1ZpY0dsNFpXd0FjSEoxYm1WR1pXRjBkWEpsY3dCR2FXNWtJRTl5YVdWdWRHRjBhVzl1Y3dCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSekxuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWhnSUdaaGFXeGxaQ0JwYmlBQVFuVmphMlYwY3lCaGNtVWdibTkwSUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSeld6QmRMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0J0Um1WaGRIVnlaVkJ2YVc1MGN5NXphWHBsS0NrZ1BEMGdiVTFoZUU1MWJVWmxZWFIxY21WUWIybHVkSE5nSUdaaGFXeGxaQ0JwYmlBQVZHOXZJRzFoYm5rZ1ptVmhkSFZ5WlNCd2IybHVkSE1BUVhOelpYSjBhVzl1SUdCaWRXTnJaWFJiTUYwdVptbHljM1FnUGowZ1luVmphMlYwVzI1ZExtWnBjbk4wWUNCbVlXbHNaV1FnYVc0Z0FHNTBhRjlsYkdWdFpXNTBJR1poYVd4bFpBQkJjM05sY25ScGIyNGdZR3R3TG5OallXeGxJRHdnYlV4aGNHeGhZMmxoYmxCNWNtRnRhV1F1Ym5WdFUyTmhiR1ZRWlhKUFkzUmhkbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElIQnZhVzUwSUhOallXeGxJR2x6SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0JyY0M1elkyOXlaU0E5UFNCc1lYQXhMbWRsZER4bWJHOWhkRDRvZVNsYmVGMWdJR1poYVd4bFpDQnBiaUFBVTJOdmNtVWdhWE1nYm05MElHTnZibk5wYzNSbGJuUWdkMmwwYUNCMGFHVWdSRzlISUdsdFlXZGxBRUZ6YzJWeWRHbHZiaUJnYkdGd01DNW9aV2xuYUhRb0tTQTlQU0JzWVhBeExtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2WkdWMFpXTjBiM0p6TDBSdlIxOXpZMkZzWlY5cGJuWmhjbWxoYm5SZlpHVjBaV04wYjNJdWFBQlhhV1IwYUM5b1pXbG5hSFFnWVhKbElHNXZkQ0JqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tHeGhjREF1YUdWcFoyaDBLQ2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LU2tnSmlZZ0tDaHNZWEF4TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncEtXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNnb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2twSUNZbUlDaHNZWEF4TG5kcFpIUm9LQ2tnUFQwZ2JHRndNaTUzYVdSMGFDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J6YVhwbGN5QmhjbVVnYVc1amIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLSGd0TVNrZ1BqMGdNQ0FtSmlBb2VDc3hLU0E4SUd4aGNERXVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvZVMweEtTQStQU0F3SUNZbUlDaDVLekVwSUR3Z2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCNUlHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVNXMWhaMlVnWkdsdFpXNXphVzl1Y3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2hzWVhBd0xtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHVkQ2x6ZEdRNk9tWnNiMjl5S0hncElEMDlJQ2hwYm5RcGVHQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmFXNTBaWEp3YjJ4aGRHVXVhQUJtYkc5dmNpZ3BJR0Z1WkNCallYTjBJRzV2ZENCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lDaHBiblFwYzNSa09qcG1iRzl2Y2loNUtTQTlQU0FvYVc1MEtYbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNWNDQStQU0F3SUNZbUlIbHdJRHdnYUdWcFoyaDBZQ0JtWVdsc1pXUWdhVzRnQUhsd0lHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNWNGOXdiSFZ6WHpFZ1BqMGdNQ0FtSmlCNWNGOXdiSFZ6WHpFZ1BDQm9aV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFlWEJmY0d4MWMxOHhJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjRjQ0ErUFNBd0lDWW1JSGh3SUR3Z2QybGtkR2hnSUdaaGFXeGxaQ0JwYmlBQWVIQWdiM1YwSUc5bUlHSnZkVzVrY3dCQmMzTmxjblJwYjI0Z1lIaHdYM0JzZFhOZk1TQStQU0F3SUNZbUlIaHdYM0JzZFhOZk1TQThJSGRwWkhSb1lDQm1ZV2xzWldRZ2FXNGdBSGh3WDNCc2RYTmZNU0J2ZFhRZ2IyWWdZbTkxYm1SekFFRnpjMlZ5ZEdsdmJpQmdkekFnUGowZ01DQW1KaUIzTUNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFUM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2R6RWdQajBnTUNBbUppQjNNU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd0lDWW1JSGN5SUR3OUlERXVNREF3TVdBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGN6SUQ0OUlEQWdKaVlnZHpNZ1BEMGdNUzR3TURBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0hjd0szY3hLM2N5SzNjektTQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2VDMHhLU0ErUFNBd0lDWW1JQ2g0S3pFcElEd2dhVzB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaDVMVEVwSUQ0OUlEQWdKaVlnS0hrck1Ta2dQQ0JwYlM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREV1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjRYMlJwZGw4eUxUQXVOV1lnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0WDJScGRsOHlJRzkxZENCdlppQmliM1Z1WkhNZ2IzVjBJRzltSUdKdmRXNWtjeUJtYjNJZ2FXNTBaWEp3YjJ4aGRHbHZiZ0JCYzNObGNuUnBiMjRnWUhsZlpHbDJYekl0TUM0MVppQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIbGZaR2wyWHpJZ2IzVjBJRzltSUdKdmRXNWtjeUJ2ZFhRZ2IyWWdZbTkxYm1SeklHWnZjaUJwYm5SbGNuQnZiR0YwYVc5dUFFRnpjMlZ5ZEdsdmJpQmdlRjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2VWOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFaGxhV2RvZENCcGN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1TNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQQ0J0U1cxaFoyVnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJKYm1SbGVDQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVQVRqWjJhWE5wYjI0eE9FSnBibTl0YVdGc1VIbHlZVzFwWkRNeVprVUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStQU0ExWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1Od2NBQkpiV0ZuWlNCcGN5QjBiMjhnYzIxaGJHd0FRWE56WlhKMGFXOXVJR0JvWldsbmFIUWdQajBnTldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5VlNVNVVPR0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHSmxJR2R5WVhselkyRnNaUUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbU5vWVc1dVpXeHpLQ2tnUFQwZ01XQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdoaGRtVWdNU0JqYUdGdWJtVnNBRUZ6YzJWeWRHbHZiaUJnYlZCNWNtRnRhV1F1YzJsNlpTZ3BJRDA5SUcxT2RXMVBZM1JoZG1WekttMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JvWVhNZ2JtOTBJR0psWlc0Z1lXeHNiMk5oZEdWa0lIbGxkQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbmRwWkhSb0tDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdlppQjNjbTl1WnlCemFYcGxJR1p2Y2lCd2VYSmhiV2xrQUVGemMyVnlkR2x2YmlCZ2FXMWhaMlV1YUdWcFoyaDBLQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCa2MzUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCRVpYTjBhVzVoZEdsdmJpQnBiV0ZuWlNCemFHOTFiR1FnWW1VZ1lTQm1iRzloZEFCVmJtdHViM2R1SUdsdFlXZGxJSFI1Y0dVQVZXNXpkWEJ3YjNKMFpXUWdhVzFoWjJVZ2RIbHdaUUJPTm5acGMybHZiamxGZUdObGNIUnBiMjVGQUVGemMyVnlkR2x2YmlCZ2FXMHVkMmxrZEdnb0tTQTlQU0JwYlM1emRHVndLQ2t2YzJsNlpXOW1LR1pzYjJGMEtXQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmIzSnBaVzUwWVhScGIyNWZZWE56YVdkdWJXVnVkQzVqY0hBQVUzUmxjQ0J6YVhwbElHMTFjM1FnWW1VZ1pYRjFZV3dnZEc4Z2QybGtkR2dnWm05eUlHNXZkd0JCYzNObGNuUnBiMjRnWUhnZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjRJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2JHVnpjeUIwYUdGdUlIUm9aU0JwYldGblpTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjVJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFlU0J0ZFhOMElHSmxJR3hsYzNNZ2RHaGhiaUIwYUdVZ2FXMWhaMlVnYUdWcFoyaDBBRUZ6YzJWeWRHbHZiaUJnWnk1amFHRnVibVZzY3lncElEMDlJREpnSUdaaGFXeGxaQ0JwYmlBQVRuVnRZbVZ5SUc5bUlHTm9ZVzV1Wld4eklITm9iM1ZzWkNCaVpTQXlBRUZ6YzJWeWRHbHZiaUJnYldGNFgyaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBVFdGNGFXMTFiU0JpYVc0Z2MyaHZkV3hrSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdhR2x6ZENBaFBTQk9WVXhNWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTl2Y21sbGJuUmhkR2x2Ymw5aGMzTnBaMjV0Wlc1MExtZ0FTR2x6ZEc5bmNtRnRJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQkJjM05sY25ScGIyNGdZQ2htWW1sdUt6QXVOV1lwSUQ0Z01DQW1KaUFvWm1KcGJpMHdMalZtS1NBOElHNTFiVjlpYVc1ellDQm1ZV2xzWldRZ2FXNGdBRVJsWTJsdFlXd2dZbWx1SUhCdmMybDBhVzl1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHMWhaMjVwZEhWa1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFMWhaMjVwZEhWa1pTQmpZVzV1YjNRZ1ltVWdibVZuWVhScGRtVUFRWE56WlhKMGFXOXVJR0J1ZFcxZlltbHVjeUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQmlhVzV6SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01TQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3hJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQmlNU0ErUFNBd0lDWW1JR0l4SUR3Z2JuVnRYMkpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFZakVnWW1sdUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0l5SUQ0OUlEQWdKaVlnWWpJZ1BDQnVkVzFmWW1sdWMyQWdabUZwYkdWa0lHbHVJQUJpTWlCaWFXNGdhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRWxFSUdGc2NtVmhaSGtnWlhocGMzUnpBRUoxYVd4a0lGQjVjbUZ0YVdRQVJYaDBjbUZqZENCR1pXRjBkWEpsY3dCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUXVjMmw2WlNncElEMDlJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMkpwYm1GeWVWOW9hV1Z5WVhKamFHbGpZV3hmWTJ4MWMzUmxjbWx1Wnk1b0FFRnpjMmxuYm0xbGJuUWdjMmw2WlNCM2NtOXVad0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5SYmFWMGdJVDBnTFRGZ0lHWmhhV3hsWkNCcGJpQUFRWE56YVdkdWJXVnVkQ0JwY3lCcGJuWmhiR2xrQUVGemMyVnlkR2x2YmlCZ1lYTnphV2R1YldWdWRGdHBYU0E4SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJsbmJtMWxiblFnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdhVzVrYVdObGMxdGhjM05wWjI1dFpXNTBXMmxkWFNBOElHNTFiVjltWldGMGRYSmxjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbDBMVDV6WldOdmJtUXVjMmw2WlNncElDRTlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeDFjM1JsY2lCdGRYTjBJR2hoZG1VZ1lYUnNaV0Z6WlhRZ01TQm1aV0YwZFhKbEFFRnpjMlZ5ZEdsdmJpQmdiVXNnUFQwZ2JVTmxiblJsY25NdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMnR0WldSdmFXUnpMbWdBYXlCemFHOTFiR1FnYldGMFkyZ2dkR2hsSUc1MWJXSmxjaUJ2WmlCamJIVnpkR1Z5SUdObGJuUmxjbk1BUVhOelpYSjBhVzl1SUdCdWRXMWZabVZoZEhWeVpYTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQm1aV0YwZFhKbGN5QnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUEQwZ2JuVnRYMlpsWVhSMWNtVnpZQ0JtWVdsc1pXUWdhVzRnQUUxdmNtVWdhVzVrYVdObGN5QjBhR0Z1SUdabFlYUjFjbVZ6QUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQajBnYlV0Z0lHWmhhV3hsWkNCcGJpQUFUbTkwSUdWdWIzVm5hQ0JtWldGMGRYSmxjd0JCYzNOcFoyNXRaVzUwSUhOcGVtVWdhWE1nYVc1amIzSnlaV04wQUVGemMyVnlkR2x2YmlCZ2JuVnRYMk5sYm5SbGNuTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FGUm9aWEpsSUcxMWMzUWdZbVVnWVhRZ2JHVmhjM1FnTVNCalpXNTBaWElBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmRtbHpkV0ZzWDJSaGRHRmlZWE5sTG1nQVFYTnpaWEowYVc5dUlHQmtaWFJsWTNSdmNtQWdabUZwYkdWa0lHbHVJQUJFWlhSbFkzUnZjaUJwY3lCT1ZVeE1BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2t1YzJsNlpTZ3BJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHbHpJR1Z0Y0hSNUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1ZDJsa2RHZ29LU0E5UFNCa1pYUmxZM1J2Y2kwK2QybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHRnVaQ0JrWlhSbFkzUnZjaUJ6YVhwbElHMXBjMjFoZEdOb0FFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1YUdWcFoyaDBLQ2tnUFQwZ1pHVjBaV04wYjNJdFBtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRTVUZEROZlh6SXhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNVNDJkbWx6YVc5dU9FdGxlV1p5WVcxbFNVeHBPVFpGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRVGpaMmFYTnBiMjQ0UzJWNVpuSmhiV1ZKVEdrNU5rVkZSVTVUWHpFMFpHVm1ZWFZzZEY5a1pXeGxkR1ZKVXpOZlJVVk9VMTg1WVd4c2IyTmhkRzl5U1ZNelgwVkZSVVVBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUJHYjNWdVpDQWxaQ0JtWldGMGRYSmxjeUJwYmlCeGRXVnllUUJpYjI5c0lIWnBjMmx2YmpvNlZtbHpkV0ZzUkdGMFlXSmhjMlU4ZG1semFXOXVPanBHVWtWQlMwVjRkSEpoWTNSdmNpd2dkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVTNSdmNtVXNJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlUxaGRHTm9aWEk4T1RZK0lENDZPbkYxWlhKNUtHTnZibk4wSUhacGMybHZiam82UjJGMWMzTnBZVzVUWTJGc1pWTndZV05sVUhseVlXMXBaQ0FxS1NCYlJrVkJWRlZTUlY5RldGUlNRVU5VVDFJZ1BTQjJhWE5wYjI0Nk9rWlNSVUZMUlhoMGNtRmpkRzl5TENCVFZFOVNSU0E5SUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpWTjBiM0psTENCTlFWUkRTRVZTSUQwZ2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxUV0YwWTJobGNqdzVOajVkQUVacGJtUWdUV0YwWTJobGN5QW9NU2tBU0c5MVoyZ2dWbTkwYVc1bklDZ3hLUUJHYVc1a0lFaHZkV2RvSUUxaGRHTm9aWE1nS0RFcEFFVnpkR2x0WVhSbElFaHZiVzluY21Gd2FIa2dLREVwQUVacGJtUWdTVzVzYVdWeWN5QW9NU2tBUm1sdVpDQk5ZWFJqYUdWeklDZ3lLUUJJYjNWbmFDQldiM1JwYm1jZ0tESXBBRVpwYm1RZ1NHOTFaMmdnVFdGMFkyaGxjeUFvTWlrQVJYTjBhVzFoZEdVZ1NHOXRiMmR5WVhCb2VTQW9NaWtBUm1sdVpDQkpibXhwWlhKeklDZ3lLUUJCYzNObGNuUnBiMjRnWURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm1WaGRIVnlaVjl0WVhSamFHVnlMV2x1YkdsdVpTNW9BRVpoYVd4bFpDQjBieUJqYjIxd2RYUmxJRzFoZEhKcGVDQnBiblpsY25ObEFFRnpjMlZ5ZEdsdmJpQmdZbVZ6ZEY5cGJtUmxlQ0FoUFNCemRHUTZPbTUxYldWeWFXTmZiR2x0YVhSelBITnBlbVZmZEQ0Nk9tMWhlQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGTnZiV1YwYUdsdVp5QnpkSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdiVTFoZEdOb1pYTXVjMmw2WlNncElEdzlJR1psWVhSMWNtVnpNUzArYzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCdFlYUmphR1Z6SUhOb2IzVnNaQ0JpWlNCc2IzZGxjZ0JCYzNObGNuUnBiMjRnWUdoNWNDNXphWHBsS0NrZ1BqMGdPU3B0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZhRzl0YjJkeVlYQm9lVjlsYzNScGJXRjBhVzl1TDNKdlluVnpkRjlvYjIxdlozSmhjR2g1TG1nQWFIbHdJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQTVLbTFoZUY5dWRXMWZhSGx3YjNSb1pYTmxjd0JCYzNObGNuUnBiMjRnWUhSdGNGOXBMbk5wZW1Vb0tTQStQU0J1ZFcxZmNHOXBiblJ6WUNCbVlXbHNaV1FnYVc0Z0FIUnRjRjlwSUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J1ZFcxZmNHOXBiblJ6QUVGemMyVnlkR2x2YmlCZ2FIbHdYMk52YzNSekxuTnBlbVVvS1NBK1BTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBYUhsd1gyTnZjM1J6SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE1BUVhOelpYSjBhVzl1SUdCdUlEdzlJR2x1WDIxaGRHTm9aWE11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOb2IzVnNaQ0JpWlNCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lHUnBjM1JDYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR1JwYzNSQ2FXNUJibWRzWlNCdGRYTjBJRzV2ZENCaVpTQnVaV2RoZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTYjI5MExtZGxkQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGSnZiM1FnWTJGdWJtOTBJR0psSUU1VlRFd0FRWE56WlhKMGFXOXVJR0J0YVc1cElDRTlJQzB4WUNCbVlXbHNaV1FnYVc0Z0FFMXBibWx0ZFcwZ2FXNWtaWGdnYm05MElITmxkQUJCYzNObGNuUnBiMjRnWUhnZ1BqMGdiVTFwYmxoZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VhQUI0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZSGdnUENCdFRXRjRXR0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnYlUxcGJsbGdJR1poYVd4bFpDQnBiaUFBZVNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVMWhlRmxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBK0lDMVFTV0FnWm1GcGJHVmtJR2x1SUFCaGJtZHNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBOFBTQlFTV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lITmpZV3hsSUQ0OUlHMU5hVzVUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJ6WTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxTllYaFRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x1WkdWNElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQWFXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJsZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0E4SUcxT2RXMVlRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCaWFXNVpJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUENCdFRuVnRXVUpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JpYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmtGdVoyeGxJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBia0Z1WjJ4bElEd2diVTUxYlVGdVoyeGxRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxOallXeGxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFZbWx1VTJOaGJHVWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVVMk5oYkdVZ1BDQnRUblZ0VTJOaGJHVkNhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BEMGdLR0pwYmxnZ0t5QmlhVzVaS20xT2RXMVlRbWx1Y3lBcklHSnBia0Z1WjJ4bEttMU9kVzFZUW1sdWN5cHRUblZ0V1VKcGJuTWdLeUJpYVc1VFkyRnNaU3B0VG5WdFdFSnBibk1xYlU1MWJWbENhVzV6S20xT2RXMUJibWRzWlVKcGJuTXBZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2MybDZaU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VZM0J3QUhOcGVtVWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTWldaSmJXRm5aVmRwWkhSb0lENGdNR0FnWm1GcGJHVmtJR2x1SUFCM2FXUjBhQ0J0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYlZKbFprbHRZV2RsU0dWcFoyaDBJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQm9aV2xuYUhRZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHNGdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMM1YwYVd4ekwzQmhjblJwWVd4ZmMyOXlkQzVvQUc0Z2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHc2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FHc2diWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlpuSmxZV3N1YUFCUWVYSmhiV2xrSUdseklFNVZURXdBUVhOelpYSjBhVzl1SUdCemRHOXlaUzV6YVhwbEtDa2dQVDBnY0c5cGJuUnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSE4wYjNKbElHaGhjeUJ1YjNRZ1ltVmxiaUJoYkd4dlkyRjBaV1FBUVhOelpYSjBhVzl1SUdCdWRXMWZjRzlwYm5SeklEMDlJSEJ2YVc1MGN5NXphWHBsS0NsZ0lHWmhhV3hsWkNCcGJpQUFVMmh2ZFd4a0lHSmxJSE5oYldVZ2MybDZaUUJCYzNObGNuUnBiMjRnWUc5amRHRjJaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtZ0FUMk4wWVhabElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnZZM1JoZG1VZ1BDQnRUblZ0VDJOMFlYWmxjMkFnWm1GcGJHVmtJR2x1SUFCUFkzUmhkbVVnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUc5amRHRjJaWE1BUVhOelpYSjBhVzl1SUdCelkyRnNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRk5qWVd4bElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVTJOaGJHVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JSE5qWVd4bElIQmxjaUJ2WTNSaGRtVUFKVzB0SldRdEpWa3RKVWd0SlUwdEpWTUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtTndjQUJYYVdSMGFDQmpZVzV1YjNRZ1ltVWdlbVZ5YndCQmMzTmxjblJwYjI0Z1lHaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBU0dWcFoyaDBJR05oYm01dmRDQmlaU0I2WlhKdkFFRnpjMlZ5ZEdsdmJpQmdjM1JsY0NBK1BTQjNhV1IwYUdBZ1ptRnBiR1ZrSUdsdUlBQlRkR1Z3SUcxMWMzUWdZbVVnWjNKbFlYUmxjaUIwYUdGdUlHOXlJR1Z4ZFdGc0lIUm9aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZR05vWVc1dVpXeHpJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQk9kVzFpWlhJZ2IyWWdZMmhoYm01bGJITWdZMkZ1Ym05MElHSmxJSHBsY204QVFYTnpaWEowYVc5dUlHQnRSR0YwWVM1blpYUW9LV0FnWm1GcGJHVmtJR2x1SUFCRVlYUmhJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQk9VM1F6WDE4eU1UUmtaV1poZFd4MFgyUmxiR1YwWlVsb1JVVUFUbE4wTTE5Zk1qSXdYMTl6YUdGeVpXUmZjSFJ5WDNCdmFXNTBaWEpKVUdoT1UxOHhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBU1c1MllXeHBaQ0JwYldGblpTQjBlWEJsQURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRYURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFRWE56WlhKMGFXOXVJR0J0VTNSaGNuUlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwzUnBiV1Z5Y3k1amNIQUFJR3hwYm1VZ0FEb2dBRU5zYjJOcklHaGhjeUJ1YjNRZ1ltVmxiaUJ6ZEdGeWRHVmtBRUZ6YzJWeWRHbHZiaUJnYlZOMGIzQlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4dlkyc2dhR0Z6SUc1dmRDQmlaV1Z1SUhOMGIzQndaV1FBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUFsY3pvZ0pXWWdiWE1BSUVsT1JrOGdJQUIyYVhOcGIyNDZPbE5qYjNCbFpGUnBiV1Z5T2pwK1UyTnZjR1ZrVkdsdFpYSW9LUUJ6WlhSMWNBQjBaV0Z5Wkc5M2JnQnpaWFIxY0VGU01nQmZZV1JrVFdGeWEyVnlBRjloWkdSTmRXeDBhVTFoY210bGNnQmZZV1JrVGtaVVRXRnlhMlZ5QUdkbGRFMTFiSFJwVFdGeWEyVnlUblZ0QUdkbGRFMTFiSFJwVFdGeWEyVnlRMjkxYm5RQVgyeHZZV1JEWVcxbGNtRUFjMlYwVFdGeWEyVnlTVzVtYjBScGNnQnpaWFJOWVhKclpYSkpibVp2Vm1WeWRHVjRBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxRMjl1ZEFCblpYUlVjbUZ1YzAxaGRFMTFiSFJwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVFhWc2RHbFRjWFZoY21WU2IySjFjM1FBWkdWMFpXTjBUV0Z5YTJWeUFHZGxkRTFoY210bGNrNTFiUUJrWlhSbFkzUk9SbFJOWVhKclpYSUFaMlYwVFhWc2RHbEZZV05vVFdGeWEyVnlBR2RsZEUxaGNtdGxjZ0JuWlhST1JsUk5ZWEpyWlhJQWMyVjBSR1ZpZFdkTmIyUmxBR2RsZEVSbFluVm5UVzlrWlFCblpYUlFjbTlqWlhOemFXNW5TVzFoWjJVQWMyVjBURzluVEdWMlpXd0FaMlYwVEc5blRHVjJaV3dBYzJWMFVISnZhbVZqZEdsdmJrNWxZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1VG1WaGNsQnNZVzVsQUhObGRGQnliMnBsWTNScGIyNUdZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1Um1GeVVHeGhibVVBYzJWMFZHaHlaWE5vYjJ4a1RXOWtaUUJuWlhSVWFISmxjMmh2YkdSTmIyUmxBSE5sZEZSb2NtVnphRzlzWkFCblpYUlVhSEpsYzJodmJHUUFjMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQVoyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBYzJWMFVHRjBkRkpoZEdsdkFHZGxkRkJoZEhSU1lYUnBid0J6WlhSTllYUnlhWGhEYjJSbFZIbHdaUUJuWlhSTllYUnlhWGhEYjJSbFZIbHdaUUJ6WlhSTVlXSmxiR2x1WjAxdlpHVUFaMlYwVEdGaVpXeHBibWROYjJSbEFITmxkRWx0WVdkbFVISnZZMDF2WkdVQVoyVjBTVzFoWjJWUWNtOWpUVzlrWlFCRlVsSlBVbDlCVWtOUFRsUlNUMHhNUlZKZlRrOVVYMFpQVlU1RUFFVlNVazlTWDAxVlRGUkpUVUZTUzBWU1gwNVBWRjlHVDFWT1JBQkZVbEpQVWw5TlFWSkxSVkpmU1U1RVJWaGZUMVZVWDA5R1gwSlBWVTVFVXdCQlVsOUVSVUpWUjE5RVNWTkJRa3hGQUVGU1gwUkZRbFZIWDBWT1FVSk1SUUJCVWw5RVJVWkJWVXhVWDBSRlFsVkhYMDFQUkVVQVFWSmZURUZDUlV4SlRrZGZWMGhKVkVWZlVrVkhTVTlPQUVGU1gweEJRa1ZNU1U1SFgwSk1RVU5MWDFKRlIwbFBUZ0JCVWw5RVJVWkJWVXhVWDB4QlFrVk1TVTVIWDAxUFJFVUFRVkpmUkVWR1FWVk1WRjlNUVVKRlRFbE9SMTlVU0ZKRlUwZ0FRVkpmU1UxQlIwVmZVRkpQUTE5R1VrRk5SVjlKVFVGSFJRQkJVbDlKVFVGSFJWOVFVazlEWDBaSlJVeEVYMGxOUVVkRkFFRlNYMFJGUmtGVlRGUmZTVTFCUjBWZlVGSlBRMTlOVDBSRkFFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYMDFQVGs4QVFWSmZUVUZVVWtsWVgwTlBSRVZmUkVWVVJVTlVTVTlPQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTWDBGT1JGOU5RVlJTU1ZnQVFWSmZWRVZOVUV4QlZFVmZUVUZVUTBoSlRrZGZUVTlPVDE5QlRrUmZUVUZVVWtsWUFFRlNYMFJGUmtGVlRGUmZVRUZVVkVWU1RsOUVSVlJGUTFSSlQwNWZUVTlFUlFCQlVsOVZVMFZmVkZKQlEwdEpUa2RmU0VsVFZFOVNXUUJCVWw5T1QxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpBRUZTWDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWlgxWXlBRUZTWDBSRlJrRlZURlJmVFVGU1MwVlNYMFZZVkZKQlExUkpUMDVmVFU5RVJRQkJVbDlOUVZoZlRFOVBVRjlEVDFWT1ZBQkJVbDlNVDA5UVgwSlNSVUZMWDFSSVVrVlRTQUJCVWw5TVQwZGZURVZXUlV4ZlJFVkNWVWNBUVZKZlRFOUhYMHhGVmtWTVgwbE9SazhBUVZKZlRFOUhYMHhGVmtWTVgxZEJVazRBUVZKZlRFOUhYMHhGVmtWTVgwVlNVazlTQUVGU1gweFBSMTlNUlZaRlRGOVNSVXhmU1U1R1R3QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETUFRVkpmVFVGVVVrbFlYME5QUkVWZk0zZ3pYMGhCVFUxSlRrYzJNd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE5mVUVGU1NWUlpOalVBUVZKZlRVRlVVa2xZWDBOUFJFVmZOSGcwQUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mT1Y4ekFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk5WODFBRUZTWDB4QlFrVk1TVTVIWDFSSVVrVlRTRjlOVDBSRlgwMUJUbFZCVEFCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwMUZSRWxCVGdCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwOVVVMVVBUVZKZlRFRkNSVXhKVGtkZlZFaFNSVk5JWDAxUFJFVmZRVlZVVDE5QlJFRlFWRWxXUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRrOU9SUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVUVGVVZFVlNUbDlGV0ZSU1FVTlVTVTlPQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlIUlU1RlVrbERBRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOURUMDVVVWtGVFZBQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUVUZVUTBoZlFrRlNRMDlFUlY5T1QxUmZSazlWVGtRQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBKQlVrTlBSRVZmUlVSRFgwWkJTVXdBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYME5QVGtaSlJFVk9RMFVBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFJQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSmZUVlZNVkVrQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwaEZWVkpKVTFSSlExOVVVazlWUWt4RlUwOU5SVjlOUVZSU1NWaGZRMDlFUlZNQVlXeHNiMk5oZEc5eVBGUStPanBoYkd4dlkyRjBaU2h6YVhwbFgzUWdiaWtnSjI0bklHVjRZMlZsWkhNZ2JXRjRhVzExYlNCemRYQndiM0owWldRZ2MybDZaUUJKYldGblpTQndjbTlqTGlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUV4aFltVnNhVzVuSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0IyYVdsbUFGQmhkSFJsY200Z2NtRjBhVzhnYzJsNlpTQnpaWFFnZEc4Z0pXWXVDZ0JRWVhSMFpYSnVJR1JsZEdWamRHbHZiaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRlJvY21WemFHOXNaQ0J6WlhRZ2RHOGdKV1FLQUhacGFXa0FWR2h5WlhOb2IyeGtJRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQmthV2tBZG1scFpBQnBhUUIyYVdrQWIyNHVBRzltWmk0QVJHVmlkV2NnYlc5a1pTQnpaWFFnZEc4Z0pYTUtBRlJ5WVdOcmFXNW5JR3h2YzNRdUlDVmtDZ0JVY21GamEyVmtJSEJoWjJVZ0pXUWdLRzFoZUNBbFpDa3VDZ0I3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBd095QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkS1NCN0lHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZElEMGdLSHNnYVdRNklEQXNJR1Z5Y205eU9pQXRNU3dnWm05MWJtUTZJREFzSUhCdmMyVTZJRnN3TERBc01Dd3dMQ0F3TERBc01Dd3dMQ0F3TERBc01Dd3dYU0I5S1RzZ2ZTQjJZWElnYldGeWEyVnlTVzVtYnlBOUlHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZE95QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpWlhKeWIzSWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltWnZkVzVrSWwwZ1BTQXhPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTTEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJORjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTmwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT1YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6WlNKZFd6RXhYU0E5SUNSaFcya3JLMTA3SUgwQWV5QjJZWElnSkdFZ1BTQmhjbWQxYldWdWRITTdJSFpoY2lCcElEMGdNRHNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lHbGtPaUF3TENCbGNuSnZjam9nTFRFc0lHWnZkVzVrT2lBd0xDQndiM05sT2lCYk1Dd3dMREFzTUN3Z01Dd3dMREFzTUN3Z01Dd3dMREFzTUYwZ2ZTazdJSDBnZG1GeUlHMWhjbXRsY2tsdVptOGdQU0JoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYVHNnYldGeWEyVnlTVzVtYjFzaWFXUWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltVnljbTl5SWwwZ1BTQXRNVHNnYldGeWEyVnlTVzVtYjFzaVptOTFibVFpWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN3WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN5WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN6WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMwWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMxWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMyWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMzWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM0WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM1WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4TUYwZ1BTQXdPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRGZElEMGdNRHNnZlFCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXhNanNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNBOUlDaDdJSEJ2Y3pvZ1d6QXNNRjBzSUd4cGJtVTZJRnRiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRYU3dnZG1WeWRHVjRPaUJiV3pBc01GMHNJRnN3TERCZExDQmJNQ3d3WFN3Z1d6QXNNRjFkSUgwcE95QjlJSFpoY2lCdFlYSnJaWEpKYm1adklEMGdZWEowYjI5c2EybDBXeUp0WVhKclpYSkpibVp2SWwwN0lHMWhjbXRsY2tsdVptOWJJbUZ5WldFaVhTQTlJQ1F3T3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pERTdJRzFoY210bGNrbHVabTliSW1sa1VHRjBkQ0pkSUQwZ0pESTdJRzFoY210bGNrbHVabTliSW1sa1RXRjBjbWw0SWwwZ1BTQWtNenNnYldGeWEyVnlTVzVtYjFzaVpHbHlJbDBnUFNBa05Ec2diV0Z5YTJWeVNXNW1iMXNpWkdseVVHRjBkQ0pkSUQwZ0pEVTdJRzFoY210bGNrbHVabTliSW1ScGNrMWhkSEpwZUNKZElEMGdKRFk3SUcxaGNtdGxja2x1Wm05YkltTm1JbDBnUFNBa056c2diV0Z5YTJWeVNXNW1iMXNpWTJaUVlYUjBJbDBnUFNBa09Ec2diV0Z5YTJWeVNXNW1iMXNpWTJaTllYUnlhWGdpWFNBOUlDUTVPeUJ0WVhKclpYSkpibVp2V3lKd2IzTWlYVnN3WFNBOUlDUXhNRHNnYldGeWEyVnlTVzVtYjFzaWNHOXpJbDFiTVYwZ1BTQWtNVEU3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6QmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNRjFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pGZFd6RmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1sMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXek5kV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTTExYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKbGNuSnZja052Y25KbFkzUmxaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2ZRQjdJR2xtSUNnaFlYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBwSUhzZ1lYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQnRkV3gwYVVWaFkyaE5ZWEpyWlhJZ1BTQmhjblJ2YjJ4cmFYUmJJbTExYkhScFJXRmphRTFoY210bGNrbHVabThpWFRzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkMmFYTnBZbXhsSjEwZ1BTQWtNRHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWR3WVhSMFNXUW5YU0E5SUNReE95QnRkV3gwYVVWaFkyaE5ZWEpyWlhKYkozQmhkSFJVZVhCbEoxMGdQU0FrTWpzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkM2FXUjBhQ2RkSUQwZ0pETTdJSDBBYVdscEFFNVRkRE5mWHpJeE1tSmhjMmxqWDNOMGNtbHVaMGxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWT1UxODVZV3hzYjJOaGRHOXlTV05GUlVWRkFFNVRkRE5mWHpJeU1WOWZZbUZ6YVdOZmMzUnlhVzVuWDJOdmJXMXZia2xNWWpGRlJVVUFiRzloWkVOaGJXVnlZU2dwT2lCRmNuSnZjaUJzYjJGa2FXNW5JSEJoY21GdFpYUmxjaUJtYVd4bElDVnpJR1p2Y2lCallXMWxjbUV1Q2dCcGFXbHBBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1RrWlVJRzFoY210bGNpNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRETUtBR1p6WlhRekFFVnljbTl5SUhKbFlXUnBibWNnUzFCTklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWME13b0FJQ0JCYzNOcFoyNWxaQ0J3WVdkbElHNXZMaUFsWkM0S0FFVnljbTl5T2lCcmNHMURhR0Z1WjJWUVlXZGxUbTlQWmxKbFprUmhkR0ZUWlhRS0FFVnljbTl5T2lCcmNHMU5aWEpuWlZKbFprUmhkR0ZUWlhRS0FDQWdSRzl1WlM0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZEFvQVpuTmxkQUJGY25KdmNpQnlaV0ZrYVc1bklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWMENnQkZjbkp2Y2pvZ2EzQnRVMlYwVW1WbVJHRjBZVk5sZEFvQVRHOWhaR2x1WnlCdlppQk9SbFFnWkdGMFlTQmpiMjF3YkdWMFpTNEtBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1FWSWdiWFZzZEdsdFlYSnJaWEl1Q2dCamIyNW1hV2NnWkdGMFlTQnNiMkZrSUdWeWNtOXlJQ0VoQ2dCQlVsUnZiMnhMYVhSS1V5Z3BPaUJWYm1GaWJHVWdkRzhnYzJWMElIVndJRUZTSUcxaGNtdGxjaTRLQUd4dllXUk5ZWEpyWlhJb0tUb2dSWEp5YjNJZ2JHOWhaR2x1WnlCd1lYUjBaWEp1SUdacGJHVWdKWE11Q2dCRmNuSnZjam9nWVhJeVEzSmxZWFJsU0dGdVpHeGxMZ29BYVdscGFXa0FjMlYwZFhBb0tUb2dSWEp5YjNJNklHRnlVR0YwZEVOeVpXRjBaVWhoYm1Sc1pTNEtBRUZzYkc5allYUmxaQ0IyYVdSbGIwWnlZVzFsVTJsNlpTQWxaQW9BZXlCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhTa2dleUJoY25SdmIyeHJhWFJiSW1aeVlXMWxUV0ZzYkc5aklsMGdQU0FvZTMwcE95QjlJSFpoY2lCbWNtRnRaVTFoYkd4dll5QTlJR0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhUc2dabkpoYldWTllXeHNiMk5iSW1aeVlXMWxjRzlwYm5SbGNpSmRJRDBnSkRFN0lHWnlZVzFsVFdGc2JHOWpXeUptY21GdFpYTnBlbVVpWFNBOUlDUXlPeUJtY21GdFpVMWhiR3h2WTFzaVkyRnRaWEpoSWwwZ1BTQWtNenNnWm5KaGJXVk5ZV3hzYjJOYkluUnlZVzV6Wm05eWJTSmRJRDBnSkRRN0lHWnlZVzFsVFdGc2JHOWpXeUoyYVdSbGIweDFiV0ZRYjJsdWRHVnlJbDBnUFNBa05Uc2dmUUFxS2lvZ1EyRnRaWEpoSUZCaGNtRnRaWFJsY2lCeVpYTnBlbVZrSUdaeWIyMGdKV1FzSUNWa0xpQXFLaW9LQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2pvZ1lYSlFZWEpoYlV4VVEzSmxZWFJsTGdvQWMyVjBRMkZ0WlhKaEtDazZJRVZ5Y205eU9pQmhja055WldGMFpVaGhibVJzWlM0S0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNpQmpjbVZoZEdsdVp5QXpSQ0JvWVc1a2JHVUFUM1YwSUc5bUlHMWxiVzl5ZVNFaENnQkZjbkp2Y2pvZ2JXRnNiRzlqQ2dBakl5TWdSbVZoZEhWeVpTQmpZVzVrYVdSaGRHVnpJR1p2Y2lCMGNtRmphMmx1WnlCaGNtVWdiM1psY21ac2IzY3VDZ0JDYjJkMWN5QnRaWE56WVdkbElHTnZaR1VnSldRQVFVeEpSMDVmVkZsUVJTQnBjeUIzY205dVp5d2djR3hsWVhObElHWnBlQUJOUVZoZlFVeE1UME5mUTBoVlRrc2dhWE1nZDNKdmJtY3NJSEJzWldGelpTQm1hWGdBUW05bmRYTWdZblZtWm1WeUlHTnZiblJ5YjJ3Z2JXOWtaUUJKYm5aaGJHbGtJR052YlhCdmJtVnVkQ0JKUkNBbFpDQnBiaUJUVDFNQVNXNTJZV3hwWkNCamNtOXdJSEpsY1hWbGMzUUFSRU5VSUdOdlpXWm1hV05wWlc1MElHOTFkQ0J2WmlCeVlXNW5aUUJFUTFRZ2MyTmhiR1ZrSUdKc2IyTnJJSE5wZW1VZ0pXUjRKV1FnYm05MElITjFjSEJ2Y25SbFpBQkRiMjF3YjI1bGJuUWdhVzVrWlhnZ0pXUTZJRzFwYzIxaGRHTm9hVzVuSUhOaGJYQnNhVzVuSUhKaGRHbHZJQ1ZrT2lWa0xDQWxaRG9sWkN3Z0pXTUFRbTluZFhNZ1NIVm1abTFoYmlCMFlXSnNaU0JrWldacGJtbDBhVzl1QUVKdlozVnpJR2x1Y0hWMElHTnZiRzl5YzNCaFkyVUFRbTluZFhNZ1NsQkZSeUJqYjJ4dmNuTndZV05sQUVKdlozVnpJRzFoY210bGNpQnNaVzVuZEdnQVYzSnZibWNnU2xCRlJ5QnNhV0p5WVhKNUlIWmxjbk5wYjI0NklHeHBZbkpoY25rZ2FYTWdKV1FzSUdOaGJHeGxjaUJsZUhCbFkzUnpJQ1ZrQUZOaGJYQnNhVzVuSUdaaFkzUnZjbk1nZEc5dklHeGhjbWRsSUdadmNpQnBiblJsY214bFlYWmxaQ0J6WTJGdUFFbHVkbUZzYVdRZ2JXVnRiM0o1SUhCdmIyd2dZMjlrWlNBbFpBQlZibk4xY0hCdmNuUmxaQ0JLVUVWSElHUmhkR0VnY0hKbFkybHphVzl1SUNWa0FFbHVkbUZzYVdRZ2NISnZaM0psYzNOcGRtVWdjR0Z5WVcxbGRHVnljeUJUY3owbFpDQlRaVDBsWkNCQmFEMGxaQ0JCYkQwbFpBQkpiblpoYkdsa0lIQnliMmR5WlhOemFYWmxJSEJoY21GdFpYUmxjbk1nWVhRZ2MyTmhiaUJ6WTNKcGNIUWdaVzUwY25rZ0pXUUFRbTluZFhNZ2MyRnRjR3hwYm1jZ1ptRmpkRzl5Y3dCSmJuWmhiR2xrSUhOallXNGdjMk55YVhCMElHRjBJR1Z1ZEhKNUlDVmtBRWx0Y0hKdmNHVnlJR05oYkd3Z2RHOGdTbEJGUnlCc2FXSnlZWEo1SUdsdUlITjBZWFJsSUNWa0FFcFFSVWNnY0dGeVlXMWxkR1Z5SUhOMGNuVmpkQ0J0YVhOdFlYUmphRG9nYkdsaWNtRnllU0IwYUdsdWEzTWdjMmw2WlNCcGN5QWxkU3dnWTJGc2JHVnlJR1Y0Y0dWamRITWdKWFVBUW05bmRYTWdkbWx5ZEhWaGJDQmhjbkpoZVNCaFkyTmxjM01BUW5WbVptVnlJSEJoYzNObFpDQjBieUJLVUVWSElHeHBZbkpoY25rZ2FYTWdkRzl2SUhOdFlXeHNBRk4xYzNCbGJuTnBiMjRnYm05MElHRnNiRzkzWldRZ2FHVnlaUUJEUTBsU05qQXhJSE5oYlhCc2FXNW5JRzV2ZENCcGJYQnNaVzFsYm5SbFpDQjVaWFFBVkc5dklHMWhibmtnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjem9nSldRc0lHMWhlQ0FsWkFCVmJuTjFjSEJ2Y25SbFpDQmpiMnh2Y2lCamIyNTJaWEp6YVc5dUlISmxjWFZsYzNRQVFtOW5kWE1nUkVGRElHbHVaR1Y0SUNWa0FFSnZaM1Z6SUVSQlF5QjJZV3gxWlNBd2VDVjRBRUp2WjNWeklFUklWQ0JwYm1SbGVDQWxaQUJDYjJkMWN5QkVVVlFnYVc1a1pYZ2dKV1FBUlcxd2RIa2dTbEJGUnlCcGJXRm5aU0FvUkU1TUlHNXZkQ0J6ZFhCd2IzSjBaV1FwQUZKbFlXUWdabkp2YlNCRlRWTWdabUZwYkdWa0FGZHlhWFJsSUhSdklFVk5VeUJtWVdsc1pXUUFSR2xrYmlkMElHVjRjR1ZqZENCdGIzSmxJSFJvWVc0Z2IyNWxJSE5qWVc0QVNXNXdkWFFnWm1sc1pTQnlaV0ZrSUdWeWNtOXlBRTkxZEhCMWRDQm1hV3hsSUhkeWFYUmxJR1Z5Y205eUlDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUm5KaFkzUnBiMjVoYkNCellXMXdiR2x1WnlCdWIzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFFaDFabVp0WVc0Z1kyOWtaU0J6YVhwbElIUmhZbXhsSUc5MlpYSm1iRzkzQUUxcGMzTnBibWNnU0hWbVptMWhiaUJqYjJSbElIUmhZbXhsSUdWdWRISjVBRTFoZUdsdGRXMGdjM1Z3Y0c5eWRHVmtJR2x0WVdkbElHUnBiV1Z1YzJsdmJpQnBjeUFsZFNCd2FYaGxiSE1BUlcxd2RIa2dhVzV3ZFhRZ1ptbHNaUUJRY21WdFlYUjFjbVVnWlc1a0lHOW1JR2x1Y0hWMElHWnBiR1VBUTJGdWJtOTBJSFJ5WVc1elkyOWtaU0JrZFdVZ2RHOGdiWFZzZEdsd2JHVWdkWE5sSUc5bUlIRjFZVzUwYVhwaGRHbHZiaUIwWVdKc1pTQWxaQUJUWTJGdUlITmpjbWx3ZENCa2IyVnpJRzV2ZENCMGNtRnVjMjFwZENCaGJHd2daR0YwWVFCSmJuWmhiR2xrSUdOdmJHOXlJSEYxWVc1MGFYcGhkR2x2YmlCdGIyUmxJR05vWVc1blpRQk9iM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRkpsY1hWbGMzUmxaQ0JtWldGMGRYSmxJSGRoY3lCdmJXbDBkR1ZrSUdGMElHTnZiWEJwYkdVZ2RHbHRaUUJCY21sMGFHMWxkR2xqSUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVFtRmphMmx1WnlCemRHOXlaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFaDFabVp0WVc0Z2RHRmliR1VnTUhnbE1ESjRJSGRoY3lCdWIzUWdaR1ZtYVc1bFpBQktVRVZISUdSaGRHRnpkSEpsWVcwZ1kyOXVkR0ZwYm5NZ2JtOGdhVzFoWjJVQVVYVmhiblJwZW1GMGFXOXVJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBVG05MElHRWdTbEJGUnlCbWFXeGxPaUJ6ZEdGeWRITWdkMmwwYUNBd2VDVXdNbmdnTUhnbE1ESjRBRWx1YzNWbVptbGphV1Z1ZENCdFpXMXZjbmtnS0dOaGMyVWdKV1FwQUVOaGJtNXZkQ0J4ZFdGdWRHbDZaU0J0YjNKbElIUm9ZVzRnSldRZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3dCRFlXNXViM1FnY1hWaGJuUnBlbVVnZEc4Z1ptVjNaWElnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFRMkZ1Ym05MElIRjFZVzUwYVhwbElIUnZJRzF2Y21VZ2RHaGhiaUFsWkNCamIyeHZjbk1BU1c1MllXeHBaQ0JLVUVWSElHWnBiR1VnYzNSeWRXTjBkWEpsT2lBbGN5QmlaV1p2Y21VZ1UwOUdBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBSaUJ0WVhKclpYSnpBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nYldsemMybHVaeUJUVDFNZ2JXRnlhMlZ5QUZWdWMzVndjRzl5ZEdWa0lFcFFSVWNnY0hKdlkyVnpjem9nVTA5R0lIUjVjR1VnTUhnbE1ESjRBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBTU0J0WVhKclpYSnpBRVpoYVd4bFpDQjBieUJqY21WaGRHVWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFVbVZoWkNCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVTJWbGF5Qm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVYzSnBkR1VnWm1GcGJHVmtJRzl1SUhSbGJYQnZjbUZ5ZVNCbWFXeGxJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVFYQndiR2xqWVhScGIyNGdkSEpoYm5ObVpYSnlaV1FnZEc5dklHWmxkeUJ6WTJGdWJHbHVaWE1BVlc1emRYQndiM0owWldRZ2JXRnlhMlZ5SUhSNWNHVWdNSGdsTURKNEFGWnBjblIxWVd3Z1lYSnlZWGtnWTI5dWRISnZiR3hsY2lCdFpYTnpaV1FnZFhBQVNXMWhaMlVnZEc5dklIZHBaR1VnWm05eUlIUm9hWE1nYVcxd2JHVnRaVzUwWVhScGIyNEFVbVZoWkNCbWNtOXRJRmhOVXlCbVlXbHNaV1FBVjNKcGRHVWdkRzhnV0UxVElHWmhhV3hsWkFCRGIzQjVjbWxuYUhRZ0tFTXBJREl3TVRnc0lGUm9iMjFoY3lCSExpQk1ZVzVsTENCSGRXbGtieUJXYjJ4c1ltVmthVzVuQURsaklDQXhOQzFLWVc0dE1qQXhPQUJEWVhWMGFXOXVPaUJ4ZFdGdWRHbDZZWFJwYjI0Z2RHRmliR1Z6SUdGeVpTQjBiMjhnWTI5aGNuTmxJR1p2Y2lCaVlYTmxiR2x1WlNCS1VFVkhBRUZrYjJKbElFRlFVREUwSUcxaGNtdGxjam9nZG1WeWMybHZiaUFsWkN3Z1pteGhaM01nTUhnbE1EUjRJREI0SlRBMGVDd2dkSEpoYm5ObWIzSnRJQ1ZrQUZWdWEyNXZkMjRnUVZCUU1DQnRZWEpyWlhJZ0tHNXZkQ0JLUmtsR0tTd2diR1Z1WjNSb0lDVjFBRlZ1YTI1dmQyNGdRVkJRTVRRZ2JXRnlhMlZ5SUNodWIzUWdRV1J2WW1VcExDQnNaVzVuZEdnZ0pYVUFSR1ZtYVc1bElFRnlhWFJvYldWMGFXTWdWR0ZpYkdVZ01IZ2xNREo0T2lBd2VDVXdNbmdBUkdWbWFXNWxJRWgxWm1adFlXNGdWR0ZpYkdVZ01IZ2xNREo0QUVSbFptbHVaU0JSZFdGdWRHbDZZWFJwYjI0Z1ZHRmliR1VnSldRZ0lIQnlaV05wYzJsdmJpQWxaQUJFWldacGJtVWdVbVZ6ZEdGeWRDQkpiblJsY25aaGJDQWxkUUJHY21WbFpDQkZUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUVWTlV5Qm9ZVzVrYkdVZ0pYVUFSVzVrSUU5bUlFbHRZV2RsQUNBZ0lDQWdJQ0FnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpBQktSa2xHSUVGUVVEQWdiV0Z5YTJWeU9pQjJaWEp6YVc5dUlDVmtMaVV3TW1Rc0lHUmxibk5wZEhrZ0pXUjRKV1FnSUNWa0FGZGhjbTVwYm1jNklIUm9kVzFpYm1GcGJDQnBiV0ZuWlNCemFYcGxJR1J2WlhNZ2JtOTBJRzFoZEdOb0lHUmhkR0VnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dkSGx3WlNBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFBZ0lDQWdkMmwwYUNBbFpDQjRJQ1ZrSUhSb2RXMWlibUZwYkNCcGJXRm5aUUJOYVhOalpXeHNZVzVsYjNWeklHMWhjbXRsY2lBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFCVmJtVjRjR1ZqZEdWa0lHMWhjbXRsY2lBd2VDVXdNbmdBSUNBZ0lDQWdJQ0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUFGRjFZVzUwYVhwcGJtY2dkRzhnSldRZ1BTQWxaQ29sWkNvbFpDQmpiMnh2Y25NQVVYVmhiblJwZW1sdVp5QjBieUFsWkNCamIyeHZjbk1BVTJWc1pXTjBaV1FnSldRZ1kyOXNiM0p6SUdadmNpQnhkV0Z1ZEdsNllYUnBiMjRBUVhRZ2JXRnlhMlZ5SURCNEpUQXllQ3dnY21WamIzWmxjbmtnWVdOMGFXOXVJQ1ZrQUZKVFZDVmtBRk50YjI5MGFHbHVaeUJ1YjNRZ2MzVndjRzl5ZEdWa0lIZHBkR2dnYm05dWMzUmhibVJoY21RZ2MyRnRjR3hwYm1jZ2NtRjBhVzl6QUZOMFlYSjBJRTltSUVaeVlXMWxJREI0SlRBeWVEb2dkMmxrZEdnOUpYVXNJR2hsYVdkb2REMGxkU3dnWTI5dGNHOXVaVzUwY3owbFpBQWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQWxaR2g0SldSMklIRTlKV1FBVTNSaGNuUWdiMllnU1cxaFoyVUFVM1JoY25RZ1QyWWdVMk5oYmpvZ0pXUWdZMjl0Y0c5dVpXNTBjd0FnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUJrWXowbFpDQmhZejBsWkFBZ0lGTnpQU1ZrTENCVFpUMGxaQ3dnUVdnOUpXUXNJRUZzUFNWa0FFTnNiM05sWkNCMFpXMXdiM0poY25rZ1ptbHNaU0FsY3dCUGNHVnVaV1FnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQktVRVZITFdOdmJYQnlaWE56WldRZ2RHaDFiV0p1WVdsc0lHbHRZV2RsTENCc1pXNW5kR2dnSlhVQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJ3WVd4bGRIUmxJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ1VrZENJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRlZ1Y21WamIyZHVhWHBsWkNCamIyMXdiMjVsYm5RZ1NVUnpJQ1ZrSUNWa0lDVmtMQ0JoYzNOMWJXbHVaeUJaUTJKRGNnQkdjbVZsWkNCWVRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRmhOVXlCb1lXNWtiR1VnSlhVQVZXNXJibTkzYmlCQlpHOWlaU0JqYjJ4dmNpQjBjbUZ1YzJadmNtMGdZMjlrWlNBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dZbUZrSUdGeWFYUm9iV1YwYVdNZ1kyOWtaUUJKYm1OdmJuTnBjM1JsYm5RZ2NISnZaM0psYzNOcGIyNGdjMlZ4ZFdWdVkyVWdabTl5SUdOdmJYQnZibVZ1ZENBbFpDQmpiMlZtWm1samFXVnVkQ0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ0pYVWdaWGgwY21GdVpXOTFjeUJpZVhSbGN5QmlaV1p2Y21VZ2JXRnlhMlZ5SURCNEpUQXllQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nY0hKbGJXRjBkWEpsSUdWdVpDQnZaaUJrWVhSaElITmxaMjFsYm5RQVEyOXljblZ3ZENCS1VFVkhJR1JoZEdFNklHSmhaQ0JJZFdabWJXRnVJR052WkdVQVYyRnlibWx1WnpvZ2RXNXJibTkzYmlCS1JrbEdJSEpsZG1semFXOXVJRzUxYldKbGNpQWxaQzRsTURKa0FGQnlaVzFoZEhWeVpTQmxibVFnYjJZZ1NsQkZSeUJtYVd4bEFFTnZjbkoxY0hRZ1NsQkZSeUJrWVhSaE9pQm1iM1Z1WkNCdFlYSnJaWElnTUhnbE1ESjRJR2x1YzNSbFlXUWdiMllnVWxOVUpXUUFTVzUyWVd4cFpDQlRUMU1nY0dGeVlXMWxkR1Z5Y3lCbWIzSWdjMlZ4ZFdWdWRHbGhiQ0JLVUVWSEFFRndjR3hwWTJGMGFXOXVJSFJ5WVc1elptVnljbVZrSUhSdmJ5QnRZVzU1SUhOallXNXNhVzVsY3dCS1VFVkhUVVZOQUNWc1pDVmpBRk5QVXdCTVUwVUFKWE1LQUhKM1lRQnBibVpwYm1sMGVRQUFBUUlFQndNR0JRQXRLeUFnSURCWU1IZ0FLRzUxYkd3cEFDMHdXQ3N3V0NBd1dDMHdlQ3N3ZUNBd2VBQnBibVlBU1U1R0FHNWhiZ0JPUVU0QUxnQk1RMTlCVEV3QVRFRk9Sd0JETGxWVVJpMDRBRkJQVTBsWUFFMVZVMHhmVEU5RFVFRlVTQUIwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWek9pQWxjd0IwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWekFIUmxjbTFwYm1GMGFXNW5JSGRwZEdnZ0pYTWdabTl5WldsbmJpQmxlR05sY0hScGIyNEFkR1Z5YldsdVlYUnBibWNBZFc1allYVm5hSFFBVTNRNVpYaGpaWEIwYVc5dUFFNHhNRjlmWTNoNFlXSnBkakV4Tmw5ZmMyaHBiVjkwZVhCbFgybHVabTlGQUZOME9YUjVjR1ZmYVc1bWJ3Qk9NVEJmWDJONGVHRmlhWFl4TWpCZlgzTnBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFM1gxOWpiR0Z6YzE5MGVYQmxYMmx1Wm05RkFIUmxjbTFwYm1GMFpWOW9ZVzVrYkdWeUlIVnVaWGh3WldOMFpXUnNlU0J5WlhSMWNtNWxaQUJUZERFeGJHOW5hV05mWlhKeWIzSUFVM1F4TW14bGJtZDBhRjlsY25KdmNnQk9NVEJmWDJONGVHRmlhWFl4TVRkZlgzQmlZWE5sWDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEU1WDE5d2IybHVkR1Z5WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEl6WDE5bWRXNWtZVzFsYm5SaGJGOTBlWEJsWDJsdVptOUZBSFlBWWdCakFHZ0FZUUJ6QUhRQWFRQnFBRzBBWmdCa0FFNHhNRjlmWTNoNFlXSnBkakV5TVY5ZmRtMXBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFkbTlwWkFCaWIyOXNBR05vWVhJQWMybG5ibVZrSUdOb1lYSUFkVzV6YVdkdVpXUWdZMmhoY2dCemFHOXlkQUIxYm5OcFoyNWxaQ0J6YUc5eWRBQnBiblFBZFc1emFXZHVaV1FnYVc1MEFHeHZibWNBZFc1emFXZHVaV1FnYkc5dVp3Qm1iRzloZEFCa2IzVmliR1VBYzNSa09qcHpkSEpwYm1jQWMzUmtPanBpWVhOcFkxOXpkSEpwYm1jOGRXNXphV2R1WldRZ1kyaGhjajRBYzNSa09qcDNjM1J5YVc1bkFITjBaRG82ZFRFMmMzUnlhVzVuQUhOMFpEbzZkVE15YzNSeWFXNW5BR1Z0YzJOeWFYQjBaVzQ2T25aaGJBQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4amFHRnlQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YzJodmNuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lITm9iM0owUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUdsdWRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGJHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUXhObDkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME1UWmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwTXpKZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXbHVkRE15WDNRK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEdac2IyRjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGtiM1ZpYkdVK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEd4dmJtY2daRzkxWW14bFBnQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbGxSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXWkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGx0UlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmJFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV3BGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBscFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpkRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1hORlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbG9SVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWVVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU0zWmhiRVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnBUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVhVVZGVGxOZk9XRnNiRzlqWVhSdmNrbEVhVVZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJ6VGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYzBWRlRsTmZPV0ZzYkc5allYUnZja2xFYzBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVNVRYemxoYkd4dlkyRjBiM0pKZDBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1doT1UxOHhNV05vWVhKZmRISmhhWFJ6U1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFUbE4wTTE5Zk1qaHBiM05mWW1GelpVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakUxWW1GemFXTmZjM1J5WldGdFluVm1TV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE5XSmhjMmxqWDNOMGNtVmhiV0oxWmtsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXBjM1J5WldGdFNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TTJKaGMybGpYMmx6ZEhKbFlXMUpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFelltRnphV05mYjNOMGNtVmhiVWxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5dmMzUnlaV0Z0U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZBRTVUZEROZlh6SXhNVjlmYzNSa2IzVjBZblZtU1hkRlJRQk9VM1F6WDE4eU1URmZYM04wWkc5MWRHSjFaa2xqUlVVQWRXNXpkWEJ3YjNKMFpXUWdiRzlqWVd4bElHWnZjaUJ6ZEdGdVpHRnlaQ0JwYm5CMWRBQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TWGRGUlFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNXTkZSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpZMFZGQUU1VGRETmZYekkyYkc5allXeGxOV1poWTJWMFJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSmQwVkZBQ1Z3QUVNQVRsTjBNMTlmTWpkdWRXMWZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgyZGxkRWxqUlVVQVRsTjBNMTlmTWpFMFgxOXVkVzFmWjJWMFgySmhjMlZGQUU1VGRETmZYekkzYm5WdFgyZGxkRWwzVGxOZk1UbHBjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qbGZYMjUxYlY5blpYUkpkMFZGQUNWd0FBQUFBRXdBYkd3QUpRQUFBQUFBYkFCT1UzUXpYMTh5TjI1MWJWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6STVYMTl1ZFcxZmNIVjBTV05GUlFCT1UzUXpYMTh5TVRSZlgyNTFiVjl3ZFhSZlltRnpaVVVBVGxOME0xOWZNamR1ZFcxZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDNCMWRFbDNSVVVBSlVnNkpVMDZKVk1BSlcwdkpXUXZKWGtBSlVrNkpVMDZKVk1nSlhBQUpXRWdKV0lnSldRZ0pVZzZKVTA2SlZNZ0pWa0FRVTBBVUUwQVNtRnVkV0Z5ZVFCR1pXSnlkV0Z5ZVFCTllYSmphQUJCY0hKcGJBQk5ZWGtBU25WdVpRQktkV3g1QUVGMVozVnpkQUJUWlhCMFpXMWlaWElBVDJOMGIySmxjZ0JPYjNabGJXSmxjZ0JFWldObGJXSmxjZ0JLWVc0QVJtVmlBRTFoY2dCQmNISUFTblZ1QUVwMWJBQkJkV2NBVTJWd0FFOWpkQUJPYjNZQVJHVmpBRk4xYm1SaGVRQk5iMjVrWVhrQVZIVmxjMlJoZVFCWFpXUnVaWE5rWVhrQVZHaDFjbk5rWVhrQVJuSnBaR0Y1QUZOaGRIVnlaR0Y1QUZOMWJnQk5iMjRBVkhWbEFGZGxaQUJVYUhVQVJuSnBBRk5oZEFBbGJTOGxaQzhsZVNWWkxTVnRMU1ZrSlVrNkpVMDZKVk1nSlhBbFNEb2xUU1ZJT2lWTk9pVlRKVWc2SlUwNkpWTk9VM1F6WDE4eU9IUnBiV1ZmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzUnBiV1ZmWjJWMFgyTmZjM1J2Y21GblpVbGpSVVVBVGxOME0xOWZNamwwYVcxbFgySmhjMlZGQUU1VGRETmZYekk0ZEdsdFpWOW5aWFJKZDA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJVVkZBRTVUZEROZlh6SXlNRjlmZEdsdFpWOW5aWFJmWTE5emRHOXlZV2RsU1hkRlJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNXTk9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TVRCZlgzUnBiV1ZmY0hWMFJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNXTk1ZakJGUlVVQVRsTjBNMTlmTWpFd2JXOXVaWGxmWW1GelpVVUFUbE4wTTE5Zk1qRXdiVzl1Wlhsd2RXNWpkRWxqVEdJeFJVVkZBRTVUZEROZlh6SXhNRzF2Ym1WNWNIVnVZM1JKZDB4aU1FVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1hkTVlqRkZSVVVBTURFeU16UTFOamM0T1FBbFRHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5blpYUkpZMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZloyVjBTV05GUlFBd01USXpORFUyTnpnNUFFNVRkRE5mWHpJNWJXOXVaWGxmWjJWMFNYZE9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRGZlgyMXZibVY1WDJkbGRFbDNSVVVBSlM0d1RHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZmNIVjBTV05GUlFCT1UzUXpYMTh5T1cxdmJtVjVYM0IxZEVsM1RsTmZNVGx2YzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNakV4WDE5dGIyNWxlVjl3ZFhSSmQwVkZBRTVUZEROZlh6STRiV1Z6YzJGblpYTkpZMFZGQUU1VGRETmZYekl4TTIxbGMzTmhaMlZ6WDJKaGMyVkZBRTVUZEROZlh6SXhOMTlmZDJsa1pXNWZabkp2YlY5MWRHWTRTVXh0TXpKRlJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNVUnBZekV4WDE5dFluTjBZWFJsWDNSRlJRQk9VM1F6WDE4eU1USmpiMlJsWTNaMFgySmhjMlZGQUU1VGRETmZYekl4Tmw5ZmJtRnljbTkzWDNSdlgzVjBaamhKVEcwek1rVkZSUUJPVTNRelgxOHlPRzFsYzNOaFoyVnpTWGRGUlFCT1UzUXpYMTh5TjJOdlpHVmpkblJKWTJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTWGRqTVRGZlgyMWljM1JoZEdWZmRFVkZBRTVUZEROZlh6STNZMjlrWldOMmRFbEVjMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qWnNiMk5oYkdVMVgxOXBiWEJGQUU1VGRETmZYekkxWTNSNWNHVkpZMFZGQUU1VGRETmZYekl4TUdOMGVYQmxYMkpoYzJWRkFFNVRkRE5mWHpJMVkzUjVjR1ZKZDBWRkFHWmhiSE5sQUhSeWRXVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbGpSVVVBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWwzUlVVQVRsTjBNMTlmTWpFMFgxOXphR0Z5WldSZlkyOTFiblJGQUU1VGRETmZYekl4T1Y5ZmMyaGhjbVZrWDNkbFlXdGZZMjkxYm5SRkFFSHd2Z01MQVFFQVFaakFBd3RhWEVnQUFBRUFBQUI4U0FBQUFRQUFBTkJRQUFBQkFBQUFJQ0lBQUFBQUFBQ1VVUUFBQVFBQUFOaFJBQUFCQUFBQWpGQUFBQUVBQUFCTTRnQUFBQUFBQUFoU0FBQUJBQUFBT0ZJQUFBRUFBQUFFVVFBQUFRQUFBQzRzQUVHQXdRTUxEU3hSQUFBQkFBQUFMZ0FBQUN3QVFhREJBd3ZKQXB4SUFBQUJBQUFBM0VnQUFBRUFBQUFjU1FBQUFRQUFBRkJKQUFBQkFBQUFuRTRBQUFFQUFBRFVUZ0FBQVFBQUFBeFBBQUFCQUFBQVJFOEFBQUVBQUFCOFR3QUFBUUFBQUpoUEFBQUJBQUFBdEU4QUFBRUFBQURRVHdBQUFRQUFBSVJKQUFBQkFBQUF0RWtBQUFBQUFBRFlTUUFBQVFBQUFBaEtBQUFBQUFBQWJFNEFBQUVBQUFCTTRnQUFBQUFBQUlST0FBQUJBQUFBVE9JQUFBQUFBQURzVHdBQUFRQUFBQXhRQUFBQkFBQUFBUUFBQUFBQUFBQzhVQUFBRHdBQUFIRGhBQURnNFFBQTRPRUFBQUFBQUFBWTRBQUFJT0FBQUNqZ0FBQTQ0QUFBUU9BQUFFamdBQUJZNEFBQVlPQUFBR2pnQUFDQTRBQUFvT0FBQUtqZ0FBQ3c0QUFBdU9BQUFNRGdBQURJNEFBQTBPQUFBTmpnQUFEZzRBQUE2T0FBQVBEZ0FBRDQ0QUFBQU9FQUFCRGhBQUFnNFFBQU1PRUFBRURoQUFCSTRRQUFBUUFBQUFBQUFBQkRBRUh6d3dNTEJnRUFBQUFBQVFCQjZNVURDeEdnUmdBQUFBQUFBTFJHQUFBQ0VBQUFCZ0JCaU1ZREN3YVE1UUFBV09FQVFiakdBd3NabU9NQUFQLy8vLy9RUmdBQUFBQUFBT1JHQUFBQ0VBQUFCZ0JCNE1ZREN3YlE1UUFBV09FQVFaREhBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFRzB4d01MQmhEbUFBQlk0UUJCNk1jREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkJpTWdEQ3daSTVnQUFXT0VBUWJ6SUF3c1IvLy8vL3dCSEFBQVVSd0FBQWpBQUFBWUFRZHpJQXdzR2dPWUFBRmpoQUVHTXlRTUxGWmpqQUFELy8vLy9NRWNBQUVSSEFBQUNNQUFBQmdCQnNNa0RDd2E0NWdBQVdPRUFRZURKQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUdFeWdNTEJvRG1BQUJZNFFCQnVNb0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCMk1vREN3YTQ1Z0FBV09FQVFZekxBd3NLLy8vLy94eElBQUJZNFFCQnNNc0RDeGI0T1FBQVFPQUFBTWpsQUFBQkFBQUEvLy8vL3dBQkFFSFF5d01MQnR4SEFBQlk0UUJCOE1zREN4VDRPUUFBU09BQUFBam1BQUFCQUFBQS8vLy8vd0JCa013REN3YWNSd0FBV09FQVFiRE1Bd3NOaURvQUFFRGdBQUJBNWdBQUFRQkJ5TXdEQ3daY1J3QUFXT0VBUWVqTUF3c0tpRG9BQUVqZ0FBQjQ1Z0JCZ00wREN3YWNSd0FBV09FQVFhRE5Bd3NOYURrQUFFRGdBQUN3NWdBQUFRQkJ1TTBEQ3daY1J3QUFXT0VBUWRqTkF3c0thRGtBQUVqZ0FBRG81Z0JCOE0wREMxWC8vLy8vQVFBQUFQLy8vLzhDQUFBQS8vLy8vd01BQUFCTTRnQUFIQUFBQVAvLy8vOEpBQUFBLy8vLy93c0FBQUQvLy8vL0JBQUFBUC8vLy84S0FBQUEvLy8vL3d3QUFBRC8vLy8vRFFBQUFQLy8vLzhPQUVHRXp3TUxCZi8vLy84WEFFSEl6d01MbGdILy8vLy9HQUFBQVAvLy8vOFpBQUFBLy8vLy94b0FBQUQvLy8vL0R3QUFBUC8vLy84UUFBQUEvLy8vL3hFQUFBRC8vLy8vRWdBQUFQLy8vLzhUQUFBQS8vLy8veFFBQUFELy8vLy9GUUFBQVAvLy8vOFdBQUFBLy8vLy94c0FBQUQvLy8vL0hBQUFBUC8vLy84RkFBQUEvLy8vL3dZQUFBRC8vLy8vQndBQUFQLy8vLzhJQUFBQVdPRUFBRkRvQUFCWTRRQUFXT2dBUWZEZUF3c0NXT0VBUVlEZkF3c0ZPT2dBQUk4QVFaRGZBd3NSandBQUFBQUFBQUNnN3dBQUFBQUFBSTg9XFxcIjtmdW5jdGlvbiBsQSgpe3RyeXtpZihuKXJldHVybiBuZXcgVWludDhBcnJheShuKTt2YXIgQT1qZyhmQSk7aWYoQSlyZXR1cm4gQTtpZihoKXJldHVybiBoKGZBKTt0aHJvd1xcXCJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZFxcXCJ9Y2F0Y2goQSl7SkEoQSl9fWZ1bmN0aW9uIHVBKCl7cmV0dXJuIG58fCFpJiYhb3x8XFxcImZ1bmN0aW9uXFxcIiE9dHlwZW9mIGZldGNoP25ldyBQcm9taXNlKChmdW5jdGlvbihBLEkpe0EobEEoKSl9KSk6ZmV0Y2goZkEse2NyZWRlbnRpYWxzOlxcXCJzYW1lLW9yaWdpblxcXCJ9KS50aGVuKChmdW5jdGlvbihBKXtpZighQS5vayl0aHJvd1xcXCJmYWlsZWQgdG8gbG9hZCB3YXNtIGJpbmFyeSBmaWxlIGF0ICdcXFwiK2ZBK1xcXCInXFxcIjtyZXR1cm4gQS5hcnJheUJ1ZmZlcigpfSkpLmNhdGNoKChmdW5jdGlvbigpe3JldHVybiBsQSgpfSkpfWZ1bmN0aW9uIFdBKCl7dmFyIEk9e2VudjpCQix3YXNpX3NuYXBzaG90X3ByZXZpZXcxOkJCLGdsb2JhbDp7TmFOOk5hTixJbmZpbml0eToxLzB9LFxcXCJnbG9iYWwuTWF0aFxcXCI6TWF0aCxhc20yd2FzbTprfTtmdW5jdGlvbiBnKEksZyl7dmFyIEI9SS5leHBvcnRzO0EuYXNtPUIsZUEoKX1mdW5jdGlvbiBCKEEpe2coQS5pbnN0YW5jZSl9ZnVuY3Rpb24gQyhBKXtyZXR1cm4gdUEoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoQSxJKX0pKS50aGVuKEEsKGZ1bmN0aW9uKEEpe1MoXFxcImZhaWxlZCB0byBhc3luY2hyb25vdXNseSBwcmVwYXJlIHdhc206IFxcXCIrQSksSkEoQSl9KSl9aWYoWUEoKSxBLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIEEuaW5zdGFudGlhdGVXYXNtKEksZyl9Y2F0Y2goQSl7cmV0dXJuIFMoXFxcIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6IFxcXCIrQSksITF9cmV0dXJuIGZ1bmN0aW9uKCl7aWYobnx8XFxcImZ1bmN0aW9uXFxcIiE9dHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nfHxMQShmQSl8fFxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBmZXRjaClyZXR1cm4gQyhCKTtmZXRjaChmQSx7Y3JlZGVudGlhbHM6XFxcInNhbWUtb3JpZ2luXFxcIn0pLnRoZW4oKGZ1bmN0aW9uKEEpe3JldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhBLEkpLnRoZW4oQiwoZnVuY3Rpb24oQSl7UyhcXFwid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6IFxcXCIrQSksUyhcXFwiZmFsbGluZyBiYWNrIHRvIEFycmF5QnVmZmVyIGluc3RhbnRpYXRpb25cXFwiKSxDKEIpfSkpfSkpfSgpLHt9fUxBKGZBKXx8KGZBPXkoZkEpKSxBLmFzbT1XQTt2YXIgcEE9W2Z1bmN0aW9uKEEsSSxnLEIsQyxRKXthcnRvb2xraXQuZnJhbWVNYWxsb2N8fChhcnRvb2xraXQuZnJhbWVNYWxsb2M9e30pO3ZhciBFPWFydG9vbGtpdC5mcmFtZU1hbGxvYztFLmZyYW1lcG9pbnRlcj1JLEUuZnJhbWVzaXplPWcsRS5jYW1lcmE9QixFLnRyYW5zZm9ybT1DLEUudmlkZW9MdW1hUG9pbnRlcj1RfSxmdW5jdGlvbihBLEksZyxCKXthcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb3x8KGFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvPXt9KTt2YXIgQz1hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbztDLnZpc2libGU9QSxDLnBhdHRJZD1JLEMucGF0dFR5cGU9ZyxDLndpZHRoPUJ9LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMKXt2YXIgcT1hcmd1bWVudHMsZD0xMjthcnRvb2xraXQubWFya2VySW5mb3x8KGFydG9vbGtpdC5tYXJrZXJJbmZvPXtwb3M6WzAsMF0sbGluZTpbWzAsMCwwXSxbMCwwLDBdLFswLDAsMF0sWzAsMCwwXV0sdmVydGV4OltbMCwwXSxbMCwwXSxbMCwwXSxbMCwwXV19KTt2YXIgZj1hcnRvb2xraXQubWFya2VySW5mbztmLmFyZWE9QSxmLmlkPUksZi5pZFBhdHQ9ZyxmLmlkTWF0cml4PUIsZi5kaXI9QyxmLmRpclBhdHQ9USxmLmRpck1hdHJpeD1FLGYuY2Y9aSxmLmNmUGF0dD1vLGYuY2ZNYXRyaXg9RCxmLnBvc1swXT1hLGYucG9zWzFdPXcsZi5saW5lWzBdWzBdPXFbZCsrXSxmLmxpbmVbMF1bMV09cVtkKytdLGYubGluZVswXVsyXT1xW2QrK10sZi5saW5lWzFdWzBdPXFbZCsrXSxmLmxpbmVbMV1bMV09cVtkKytdLGYubGluZVsxXVsyXT1xW2QrK10sZi5saW5lWzJdWzBdPXFbZCsrXSxmLmxpbmVbMl1bMV09cVtkKytdLGYubGluZVsyXVsyXT1xW2QrK10sZi5saW5lWzNdWzBdPXFbZCsrXSxmLmxpbmVbM11bMV09cVtkKytdLGYubGluZVszXVsyXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMF09cVtkKytdLGYudmVydGV4WzBdWzFdPXFbZCsrXSxmLnZlcnRleFsxXVswXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMV09cVtkKytdLGYudmVydGV4WzJdWzBdPXFbZCsrXSxmLnZlcnRleFsyXVsxXT1xW2QrK10sZi52ZXJ0ZXhbM11bMF09cVtkKytdLGYudmVydGV4WzNdWzFdPXFbZCsrXSxmLmVycm9yQ29ycmVjdGVkPXFbZCsrXX0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHKXt2YXIgaD1hcmd1bWVudHMscz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgUj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztSLmlkPWhbcysrXSxSLmVycm9yPWhbcysrXSxSLmZvdW5kPTEsUi5wb3NlWzBdPWhbcysrXSxSLnBvc2VbMV09aFtzKytdLFIucG9zZVsyXT1oW3MrK10sUi5wb3NlWzNdPWhbcysrXSxSLnBvc2VbNF09aFtzKytdLFIucG9zZVs1XT1oW3MrK10sUi5wb3NlWzZdPWhbcysrXSxSLnBvc2VbN109aFtzKytdLFIucG9zZVs4XT1oW3MrK10sUi5wb3NlWzldPWhbcysrXSxSLnBvc2VbMTBdPWhbcysrXSxSLnBvc2VbMTFdPWhbcysrXX0sZnVuY3Rpb24oQSl7dmFyIEk9YXJndW1lbnRzLGc9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIEI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Qi5pZD1JW2crK10sQi5lcnJvcj0tMSxCLmZvdW5kPTAsQi5wb3NlWzBdPTAsQi5wb3NlWzFdPTAsQi5wb3NlWzJdPTAsQi5wb3NlWzNdPTAsQi5wb3NlWzRdPTAsQi5wb3NlWzVdPTAsQi5wb3NlWzZdPTAsQi5wb3NlWzddPTAsQi5wb3NlWzhdPTAsQi5wb3NlWzldPTAsQi5wb3NlWzEwXT0wLEIucG9zZVsxMV09MH1dO2Z1bmN0aW9uIFpBKEEsSSxnLEIsQyxRLEUpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSl9ZnVuY3Rpb24gYkEoQSxJLGcsQixDKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyl9ZnVuY3Rpb24geEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpfWZ1bmN0aW9uIG1BKEEsSSl7cmV0dXJuIHBBW0FdKEkpfWZ1bmN0aW9uIFhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl9ZnVuY3Rpb24gVkEoQSl7cmV0dXJuIEEucmVwbGFjZSgvXFxcXGJfX1pbXFxcXHdcXFxcZF9dKy9nLChmdW5jdGlvbihBKXtyZXR1cm4gQT09QT9BOkErXFxcIiBbXFxcIitBK1xcXCJdXFxcIn0pKX1mdW5jdGlvbiBPQSgpe3ZhciBBPW5ldyBFcnJvcjtpZighQS5zdGFjayl7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaChJKXtBPUl9aWYoIUEuc3RhY2spcmV0dXJuXFxcIihubyBzdGFjayB0cmFjZSBhdmFpbGFibGUpXFxcIn1yZXR1cm4gQS5zdGFjay50b1N0cmluZygpfWZ1bmN0aW9uIFRBKCl7dmFyIEk9T0EoKTtyZXR1cm4gQS5leHRyYVN0YWNrVHJhY2UmJihJKz1cXFwiXFxcXG5cXFwiK0EuZXh0cmFTdGFja1RyYWNlKCkpLFZBKEkpfXdBLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtFQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXthQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtpQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtvQigpfX0pO3ZhciBqQT17fTtmdW5jdGlvbiBQQSgpe3JldHVybiBRfHxcXFwiLi90aGlzLnByb2dyYW1cXFwifWZ1bmN0aW9uIHZBKEEpe3ZhciBJLGc7dkEuY2FsbGVkPyhnPUFBW0E+PjJdLEk9QUFbZz4+Ml0pOih2QS5jYWxsZWQ9ITAsakEuVVNFUj1cXFwid2ViX3VzZXJcXFwiLGpBLkxPR05BTUU9XFxcIndlYl91c2VyXFxcIixqQS5QQVRIPVxcXCIvXFxcIixqQS5QV0Q9XFxcIi9cXFwiLGpBLkhPTUU9XFxcIi9ob21lL3dlYl91c2VyXFxcIixqQS5MQU5HPShcXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIG5hdmlnYXRvcj9cXFwidW5kZWZpbmVkXFxcIjpEKG5hdmlnYXRvcikpJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHxcXFwiQ1xcXCIpLnJlcGxhY2UoXFxcIi1cXFwiLFxcXCJfXFxcIikrXFxcIi5VVEYtOFxcXCIsakEuXz1QQSgpLEk9TCgxMDI0KSxnPUwoMjU2KSxBQVtnPj4yXT1JLEFBW0E+PjJdPWcpO3ZhciBCPVtdLEM9MDtmb3IodmFyIFEgaW4gakEpaWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBqQVtRXSl7dmFyIEU9UStcXFwiPVxcXCIrakFbUV07Qi5wdXNoKEUpLEMrPUUubGVuZ3RofWlmKEM+MTAyNCl0aHJvdyBuZXcgRXJyb3IoXFxcIkVudmlyb25tZW50IHNpemUgZXhjZWVkZWQgVE9UQUxfRU5WX1NJWkUhXFxcIik7Zm9yKHZhciBpPTA7aTxCLmxlbmd0aDtpKyspaihFPUJbaV0sSSksQUFbZys0Kmk+PjJdPUksSSs9RS5sZW5ndGgrMTtBQVtnKzQqQi5sZW5ndGg+PjJdPTB9ZnVuY3Rpb24gekEoQSl7cmV0dXJuIFJCKEEpfXZhciBfQT17fTtmdW5jdGlvbiAkQShBLEksZyl7dGhyb3cgX0FbQV09e3B0cjpBLGFkanVzdGVkOltBXSx0eXBlOkksZGVzdHJ1Y3RvcjpnLHJlZmNvdW50OjAsY2F1Z2h0OiExLHJldGhyb3duOiExfSxcXFwidW5jYXVnaHRfZXhjZXB0aW9uXFxcImluIERCP0RCLnVuY2F1Z2h0X2V4Y2VwdGlvbnMrKzpEQi51bmNhdWdodF9leGNlcHRpb25zPTEsQX1mdW5jdGlvbiBBSSgpe31mdW5jdGlvbiBJSShJKXtyZXR1cm4gQS5fX19lcnJub19sb2NhdGlvbiYmKEFBW0EuX19fZXJybm9fbG9jYXRpb24oKT4+Ml09SSksSX1mdW5jdGlvbiBnSShBLEkpe3JldHVybiBJSSg2MyksLTF9dmFyIEJJPXtzcGxpdFBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuL14oXFxcXC8/fCkoW1xcXFxzXFxcXFNdKj8pKCg/OlxcXFwuezEsMn18W15cXFxcL10rP3wpKFxcXFwuW14uXFxcXC9dKnwpKSg/OltcXFxcL10qKSQvLmV4ZWMoQSkuc2xpY2UoMSl9LG5vcm1hbGl6ZUFycmF5OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj1BLmxlbmd0aC0xO0I+PTA7Qi0tKXt2YXIgQz1BW0JdO1xcXCIuXFxcIj09PUM/QS5zcGxpY2UoQiwxKTpcXFwiLi5cXFwiPT09Qz8oQS5zcGxpY2UoQiwxKSxnKyspOmcmJihBLnNwbGljZShCLDEpLGctLSl9aWYoSSlmb3IoO2c7Zy0tKUEudW5zaGlmdChcXFwiLi5cXFwiKTtyZXR1cm4gQX0sbm9ybWFsaXplOmZ1bmN0aW9uKEEpe3ZhciBJPVxcXCIvXFxcIj09PUEuY2hhckF0KDApLGc9XFxcIi9cXFwiPT09QS5zdWJzdHIoLTEpO3JldHVybihBPUJJLm5vcm1hbGl6ZUFycmF5KEEuc3BsaXQoXFxcIi9cXFwiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcXFwiL1xcXCIpKXx8SXx8KEE9XFxcIi5cXFwiKSxBJiZnJiYoQSs9XFxcIi9cXFwiKSwoST9cXFwiL1xcXCI6XFxcIlxcXCIpK0F9LGRpcm5hbWU6ZnVuY3Rpb24oQSl7dmFyIEk9Qkkuc3BsaXRQYXRoKEEpLGc9SVswXSxCPUlbMV07cmV0dXJuIGd8fEI/KEImJihCPUIuc3Vic3RyKDAsQi5sZW5ndGgtMSkpLGcrQik6XFxcIi5cXFwifSxiYXNlbmFtZTpmdW5jdGlvbihBKXtpZihcXFwiL1xcXCI9PT1BKXJldHVyblxcXCIvXFxcIjt2YXIgST1BLmxhc3RJbmRleE9mKFxcXCIvXFxcIik7cmV0dXJuLTE9PT1JP0E6QS5zdWJzdHIoSSsxKX0sZXh0bmFtZTpmdW5jdGlvbihBKXtyZXR1cm4gQkkuc3BsaXRQYXRoKEEpWzNdfSxqb2luOmZ1bmN0aW9uKCl7dmFyIEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBCSS5ub3JtYWxpemUoQS5qb2luKFxcXCIvXFxcIikpfSxqb2luMjpmdW5jdGlvbihBLEkpe3JldHVybiBCSS5ub3JtYWxpemUoQStcXFwiL1xcXCIrSSl9fSxDST17cmVzb2x2ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1cXFwiXFxcIixJPSExLGc9YXJndW1lbnRzLmxlbmd0aC0xO2c+PS0xJiYhSTtnLS0pe3ZhciBCPWc+PTA/YXJndW1lbnRzW2ddOmlJLmN3ZCgpO2lmKFxcXCJzdHJpbmdcXFwiIT10eXBlb2YgQil0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJBcmd1bWVudHMgdG8gcGF0aC5yZXNvbHZlIG11c3QgYmUgc3RyaW5nc1xcXCIpO2lmKCFCKXJldHVyblxcXCJcXFwiO0E9QitcXFwiL1xcXCIrQSxJPVxcXCIvXFxcIj09PUIuY2hhckF0KDApfXJldHVybihJP1xcXCIvXFxcIjpcXFwiXFxcIikrKEE9Qkkubm9ybWFsaXplQXJyYXkoQS5zcGxpdChcXFwiL1xcXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCFJKS5qb2luKFxcXCIvXFxcIikpfHxcXFwiLlxcXCJ9LHJlbGF0aXZlOmZ1bmN0aW9uKEEsSSl7ZnVuY3Rpb24gZyhBKXtmb3IodmFyIEk9MDtJPEEubGVuZ3RoJiZcXFwiXFxcIj09PUFbSV07SSsrKTtmb3IodmFyIGc9QS5sZW5ndGgtMTtnPj0wJiZcXFwiXFxcIj09PUFbZ107Zy0tKTtyZXR1cm4gST5nP1tdOkEuc2xpY2UoSSxnLUkrMSl9QT1DSS5yZXNvbHZlKEEpLnN1YnN0cigxKSxJPUNJLnJlc29sdmUoSSkuc3Vic3RyKDEpO2Zvcih2YXIgQj1nKEEuc3BsaXQoXFxcIi9cXFwiKSksQz1nKEkuc3BsaXQoXFxcIi9cXFwiKSksUT1NYXRoLm1pbihCLmxlbmd0aCxDLmxlbmd0aCksRT1RLGk9MDtpPFE7aSsrKWlmKEJbaV0hPT1DW2ldKXtFPWk7YnJlYWt9dmFyIG89W107Zm9yKGk9RTtpPEIubGVuZ3RoO2krKylvLnB1c2goXFxcIi4uXFxcIik7cmV0dXJuKG89by5jb25jYXQoQy5zbGljZShFKSkpLmpvaW4oXFxcIi9cXFwiKX19LFFJPXt0dHlzOltdLGluaXQ6ZnVuY3Rpb24oKXt9LHNodXRkb3duOmZ1bmN0aW9uKCl7fSxyZWdpc3RlcjpmdW5jdGlvbihBLEkpe1FJLnR0eXNbQV09e2lucHV0OltdLG91dHB1dDpbXSxvcHM6SX0saUkucmVnaXN0ZXJEZXZpY2UoQSxRSS5zdHJlYW1fb3BzKX0sc3RyZWFtX29wczp7b3BlbjpmdW5jdGlvbihBKXt2YXIgST1RSS50dHlzW0Eubm9kZS5yZGV2XTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7QS50dHk9SSxBLnNlZWthYmxlPSExfSxjbG9zZTpmdW5jdGlvbihBKXtBLnR0eS5vcHMuZmx1c2goQS50dHkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLnR0eS5vcHMuZmx1c2goQS50dHkpfSxyZWFkOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIUEudHR5fHwhQS50dHkub3BzLmdldF9jaGFyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYwKTtmb3IodmFyIFE9MCxFPTA7RTxCO0UrKyl7dmFyIGk7dHJ5e2k9QS50dHkub3BzLmdldF9jaGFyKEEudHR5KX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9aWYodm9pZCAwPT09aSYmMD09PVEpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNik7aWYobnVsbD09aSlicmVhaztRKyssSVtnK0VdPWl9cmV0dXJuIFEmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLFF9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIUEudHR5fHwhQS50dHkub3BzLnB1dF9jaGFyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYwKTt0cnl7Zm9yKHZhciBRPTA7UTxCO1ErKylBLnR0eS5vcHMucHV0X2NoYXIoQS50dHksSVtnK1FdKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9cmV0dXJuIEImJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLFF9fSxkZWZhdWx0X3R0eV9vcHM6e2dldF9jaGFyOmZ1bmN0aW9uKEEpe2lmKCFBLmlucHV0Lmxlbmd0aCl7dmFyIEk9bnVsbDtpZih3KXt2YXIgZz1CdWZmZXIuYWxsb2M/QnVmZmVyLmFsbG9jKDI1Nik6bmV3IEJ1ZmZlcigyNTYpLEI9MDt0cnl7Qj1zLnJlYWRTeW5jKHByb2Nlc3Muc3RkaW4uZmQsZywwLDI1NixudWxsKX1jYXRjaChBKXtpZigtMT09QS50b1N0cmluZygpLmluZGV4T2YoXFxcIkVPRlxcXCIpKXRocm93IEE7Qj0wfUk9Qj4wP2cuc2xpY2UoMCxCKS50b1N0cmluZyhcXFwidXRmLThcXFwiKTpudWxsfWVsc2VcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIHdpbmRvdyYmXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIHdpbmRvdy5wcm9tcHQ/bnVsbCE9PShJPXdpbmRvdy5wcm9tcHQoXFxcIklucHV0OiBcXFwiKSkmJihJKz1cXFwiXFxcXG5cXFwiKTpcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgcmVhZGxpbmUmJm51bGwhPT0oST1yZWFkbGluZSgpKSYmKEkrPVxcXCJcXFxcblxcXCIpO2lmKCFJKXJldHVybiBudWxsO0EuaW5wdXQ9WGcoSSwhMCl9cmV0dXJuIEEuaW5wdXQuc2hpZnQoKX0scHV0X2NoYXI6ZnVuY3Rpb24oQSxJKXtudWxsPT09SXx8MTA9PT1JPyh0KGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKTowIT1JJiZBLm91dHB1dC5wdXNoKEkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLm91dHB1dCYmQS5vdXRwdXQubGVuZ3RoPjAmJih0KGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKX19LGRlZmF1bHRfdHR5MV9vcHM6e3B1dF9jaGFyOmZ1bmN0aW9uKEEsSSl7bnVsbD09PUl8fDEwPT09ST8oUyhkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSk6MCE9SSYmQS5vdXRwdXQucHVzaChJKX0sZmx1c2g6ZnVuY3Rpb24oQSl7QS5vdXRwdXQmJkEub3V0cHV0Lmxlbmd0aD4wJiYoUyhkKEEub3V0cHV0LDApKSxBLm91dHB1dD1bXSl9fX0sRUk9e29wc190YWJsZTpudWxsLG1vdW50OmZ1bmN0aW9uKEEpe3JldHVybiBFSS5jcmVhdGVOb2RlKG51bGwsXFxcIi9cXFwiLDE2ODk1LDApfSxjcmVhdGVOb2RlOmZ1bmN0aW9uKEEsSSxnLEIpe2lmKGlJLmlzQmxrZGV2KGcpfHxpSS5pc0ZJRk8oZykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0VJLm9wc190YWJsZXx8KEVJLm9wc190YWJsZT17ZGlyOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLGxvb2t1cDpFSS5ub2RlX29wcy5sb29rdXAsbWtub2Q6RUkubm9kZV9vcHMubWtub2QscmVuYW1lOkVJLm5vZGVfb3BzLnJlbmFtZSx1bmxpbms6RUkubm9kZV9vcHMudW5saW5rLHJtZGlyOkVJLm5vZGVfb3BzLnJtZGlyLHJlYWRkaXI6RUkubm9kZV9vcHMucmVhZGRpcixzeW1saW5rOkVJLm5vZGVfb3BzLnN5bWxpbmt9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrfX0sZmlsZTp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOntsbHNlZWs6RUkuc3RyZWFtX29wcy5sbHNlZWsscmVhZDpFSS5zdHJlYW1fb3BzLnJlYWQsd3JpdGU6RUkuc3RyZWFtX29wcy53cml0ZSxhbGxvY2F0ZTpFSS5zdHJlYW1fb3BzLmFsbG9jYXRlLG1tYXA6RUkuc3RyZWFtX29wcy5tbWFwLG1zeW5jOkVJLnN0cmVhbV9vcHMubXN5bmN9fSxsaW5rOntub2RlOntnZXRhdHRyOkVJLm5vZGVfb3BzLmdldGF0dHIsc2V0YXR0cjpFSS5ub2RlX29wcy5zZXRhdHRyLHJlYWRsaW5rOkVJLm5vZGVfb3BzLnJlYWRsaW5rfSxzdHJlYW06e319LGNocmRldjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cn0sc3RyZWFtOmlJLmNocmRldl9zdHJlYW1fb3BzfX0pO3ZhciBDPWlJLmNyZWF0ZU5vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmlzRGlyKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmRpci5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZGlyLnN0cmVhbSxDLmNvbnRlbnRzPXt9KTppSS5pc0ZpbGUoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUuZmlsZS5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuZmlsZS5zdHJlYW0sQy51c2VkQnl0ZXM9MCxDLmNvbnRlbnRzPW51bGwpOmlJLmlzTGluayhDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5saW5rLm5vZGUsQy5zdHJlYW1fb3BzPUVJLm9wc190YWJsZS5saW5rLnN0cmVhbSk6aUkuaXNDaHJkZXYoQy5tb2RlKSYmKEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUuY2hyZGV2LnN0cmVhbSksQy50aW1lc3RhbXA9RGF0ZS5ub3coKSxBJiYoQS5jb250ZW50c1tJXT1DKSxDfSxnZXRGaWxlRGF0YUFzUmVndWxhckFycmF5OmZ1bmN0aW9uKEEpe2lmKEEuY29udGVudHMmJkEuY29udGVudHMuc3ViYXJyYXkpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLnVzZWRCeXRlczsrK2cpSS5wdXNoKEEuY29udGVudHNbZ10pO3JldHVybiBJfXJldHVybiBBLmNvbnRlbnRzfSxnZXRGaWxlRGF0YUFzVHlwZWRBcnJheTpmdW5jdGlvbihBKXtyZXR1cm4gQS5jb250ZW50cz9BLmNvbnRlbnRzLnN1YmFycmF5P0EuY29udGVudHMuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyk6bmV3IFVpbnQ4QXJyYXkoQS5jb250ZW50cyk6bmV3IFVpbnQ4QXJyYXl9LGV4cGFuZEZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9QS5jb250ZW50cz9BLmNvbnRlbnRzLmxlbmd0aDowO2lmKCEoZz49SSkpe0k9TWF0aC5tYXgoSSxnKihnPDEwNDg1NzY/MjoxLjEyNSl8MCksMCE9ZyYmKEk9TWF0aC5tYXgoSSwyNTYpKTt2YXIgQj1BLmNvbnRlbnRzO0EuY29udGVudHM9bmV3IFVpbnQ4QXJyYXkoSSksQS51c2VkQnl0ZXM+MCYmQS5jb250ZW50cy5zZXQoQi5zdWJhcnJheSgwLEEudXNlZEJ5dGVzKSwwKX19LHJlc2l6ZUZpbGVTdG9yYWdlOmZ1bmN0aW9uKEEsSSl7aWYoQS51c2VkQnl0ZXMhPUkpe2lmKDA9PUkpcmV0dXJuIEEuY29udGVudHM9bnVsbCx2b2lkKEEudXNlZEJ5dGVzPTApO2lmKCFBLmNvbnRlbnRzfHxBLmNvbnRlbnRzLnN1YmFycmF5KXt2YXIgZz1BLmNvbnRlbnRzO3JldHVybiBBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLGcmJkEuY29udGVudHMuc2V0KGcuc3ViYXJyYXkoMCxNYXRoLm1pbihJLEEudXNlZEJ5dGVzKSkpLHZvaWQoQS51c2VkQnl0ZXM9SSl9aWYoQS5jb250ZW50c3x8KEEuY29udGVudHM9W10pLEEuY29udGVudHMubGVuZ3RoPkkpQS5jb250ZW50cy5sZW5ndGg9STtlbHNlIGZvcig7QS5jb250ZW50cy5sZW5ndGg8STspQS5jb250ZW50cy5wdXNoKDApO0EudXNlZEJ5dGVzPUl9fSxub2RlX29wczp7Z2V0YXR0cjpmdW5jdGlvbihBKXt2YXIgST17fTtyZXR1cm4gSS5kZXY9aUkuaXNDaHJkZXYoQS5tb2RlKT9BLmlkOjEsSS5pbm89QS5pZCxJLm1vZGU9QS5tb2RlLEkubmxpbms9MSxJLnVpZD0wLEkuZ2lkPTAsSS5yZGV2PUEucmRldixpSS5pc0RpcihBLm1vZGUpP0kuc2l6ZT00MDk2OmlJLmlzRmlsZShBLm1vZGUpP0kuc2l6ZT1BLnVzZWRCeXRlczppSS5pc0xpbmsoQS5tb2RlKT9JLnNpemU9QS5saW5rLmxlbmd0aDpJLnNpemU9MCxJLmF0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLm10aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmN0aW1lPW5ldyBEYXRlKEEudGltZXN0YW1wKSxJLmJsa3NpemU9NDA5NixJLmJsb2Nrcz1NYXRoLmNlaWwoSS5zaXplL0kuYmxrc2l6ZSksSX0sc2V0YXR0cjpmdW5jdGlvbihBLEkpe3ZvaWQgMCE9PUkubW9kZSYmKEEubW9kZT1JLm1vZGUpLHZvaWQgMCE9PUkudGltZXN0YW1wJiYoQS50aW1lc3RhbXA9SS50aW1lc3RhbXApLHZvaWQgMCE9PUkuc2l6ZSYmRUkucmVzaXplRmlsZVN0b3JhZ2UoQSxJLnNpemUpfSxsb29rdXA6ZnVuY3Rpb24oQSxJKXt0aHJvdyBpSS5nZW5lcmljRXJyb3JzWzQ0XX0sbWtub2Q6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIEVJLmNyZWF0ZU5vZGUoQSxJLGcsQil9LHJlbmFtZTpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNEaXIoQS5tb2RlKSl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShJLGcpfWNhdGNoKEEpe31pZihCKWZvcih2YXIgQyBpbiBCLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KX1kZWxldGUgQS5wYXJlbnQuY29udGVudHNbQS5uYW1lXSxBLm5hbWU9ZyxJLmNvbnRlbnRzW2ddPUEsQS5wYXJlbnQ9SX0sdW5saW5rOmZ1bmN0aW9uKEEsSSl7ZGVsZXRlIEEuY29udGVudHNbSV19LHJtZGlyOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwTm9kZShBLEkpO2Zvcih2YXIgQiBpbiBnLmNvbnRlbnRzKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU1KTtkZWxldGUgQS5jb250ZW50c1tJXX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1bXFxcIi5cXFwiLFxcXCIuLlxcXCJdO2Zvcih2YXIgZyBpbiBBLmNvbnRlbnRzKUEuY29udGVudHMuaGFzT3duUHJvcGVydHkoZykmJkkucHVzaChnKTtyZXR1cm4gSX0sc3ltbGluazpmdW5jdGlvbihBLEksZyl7dmFyIEI9RUkuY3JlYXRlTm9kZShBLEksNDE0NzEsMCk7cmV0dXJuIEIubGluaz1nLEJ9LHJlYWRsaW5rOmZ1bmN0aW9uKEEpe2lmKCFpSS5pc0xpbmsoQS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEEubGlua319LHN0cmVhbV9vcHM6e3JlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1BLm5vZGUuY29udGVudHM7aWYoQz49QS5ub2RlLnVzZWRCeXRlcylyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihBLm5vZGUudXNlZEJ5dGVzLUMsQik7aWYoRT44JiZRLnN1YmFycmF5KUkuc2V0KFEuc3ViYXJyYXkoQyxDK0UpLGcpO2Vsc2UgZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO3JldHVybiBFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7aWYoIUIpcmV0dXJuIDA7dmFyIEU9QS5ub2RlO2lmKEUudGltZXN0YW1wPURhdGUubm93KCksSS5zdWJhcnJheSYmKCFFLmNvbnRlbnRzfHxFLmNvbnRlbnRzLnN1YmFycmF5KSl7aWYoUSlyZXR1cm4gRS5jb250ZW50cz1JLnN1YmFycmF5KGcsZytCKSxFLnVzZWRCeXRlcz1CLEI7aWYoMD09PUUudXNlZEJ5dGVzJiYwPT09QylyZXR1cm4gRS5jb250ZW50cz1JLnNsaWNlKGcsZytCKSxFLnVzZWRCeXRlcz1CLEI7aWYoQytCPD1FLnVzZWRCeXRlcylyZXR1cm4gRS5jb250ZW50cy5zZXQoSS5zdWJhcnJheShnLGcrQiksQyksQn1pZihFSS5leHBhbmRGaWxlU3RvcmFnZShFLEMrQiksRS5jb250ZW50cy5zdWJhcnJheSYmSS5zdWJhcnJheSlFLmNvbnRlbnRzLnNldChJLnN1YmFycmF5KGcsZytCKSxDKTtlbHNlIGZvcih2YXIgaT0wO2k8QjtpKyspRS5jb250ZW50c1tDK2ldPUlbZytpXTtyZXR1cm4gRS51c2VkQnl0ZXM9TWF0aC5tYXgoRS51c2VkQnl0ZXMsQytCKSxCfSxsbHNlZWs6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPUk7aWYoMT09PWc/Qis9QS5wb3NpdGlvbjoyPT09ZyYmaUkuaXNGaWxlKEEubm9kZS5tb2RlKSYmKEIrPUEubm9kZS51c2VkQnl0ZXMpLEI8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7cmV0dXJuIEJ9LGFsbG9jYXRlOmZ1bmN0aW9uKEEsSSxnKXtFSS5leHBhbmRGaWxlU3RvcmFnZShBLm5vZGUsSStnKSxBLm5vZGUudXNlZEJ5dGVzPU1hdGgubWF4KEEubm9kZS51c2VkQnl0ZXMsSStnKX0sbW1hcDpmdW5jdGlvbihBLEksZyxCLEMsUSxFKXtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7dmFyIGksbyxEPUEubm9kZS5jb250ZW50cztpZigyJkV8fEQuYnVmZmVyIT09SS5idWZmZXIpeyhDPjB8fEMrQjxBLm5vZGUudXNlZEJ5dGVzKSYmKEQ9RC5zdWJhcnJheT9ELnN1YmFycmF5KEMsQytCKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChELEMsQytCKSksbz0hMDt2YXIgYT1JLmJ1ZmZlcj09di5idWZmZXI7aWYoIShpPVJCKEIpKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0OCk7KGE/djpJKS5zZXQoRCxpKX1lbHNlIG89ITEsaT1ELmJ5dGVPZmZzZXQ7cmV0dXJue3B0cjppLGFsbG9jYXRlZDpvfX0sbXN5bmM6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuaXNGaWxlKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7cmV0dXJuIDImQ3x8RUkuc3RyZWFtX29wcy53cml0ZShBLEksMCxCLGcsITEpLDB9fX0saUk9e3Jvb3Q6bnVsbCxtb3VudHM6W10sZGV2aWNlczp7fSxzdHJlYW1zOltdLG5leHRJbm9kZToxLG5hbWVUYWJsZTpudWxsLGN1cnJlbnRQYXRoOlxcXCIvXFxcIixpbml0aWFsaXplZDohMSxpZ25vcmVQZXJtaXNzaW9uczohMCx0cmFja2luZ0RlbGVnYXRlOnt9LHRyYWNraW5nOntvcGVuRmxhZ3M6e1JFQUQ6MSxXUklURToyfX0sRXJybm9FcnJvcjpudWxsLGdlbmVyaWNFcnJvcnM6e30sZmlsZXN5c3RlbXM6bnVsbCxzeW5jRlNSZXF1ZXN0czowLGhhbmRsZUZTRXJyb3I6ZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcikpdGhyb3cgQStcXFwiIDogXFxcIitUQSgpO3JldHVybiBJSShBLmVycm5vKX0sbG9va3VwUGF0aDpmdW5jdGlvbihBLEkpe2lmKEk9SXx8e30sIShBPUNJLnJlc29sdmUoaUkuY3dkKCksQSkpKXJldHVybntwYXRoOlxcXCJcXFwiLG5vZGU6bnVsbH07dmFyIGc9e2ZvbGxvd19tb3VudDohMCxyZWN1cnNlX2NvdW50OjB9O2Zvcih2YXIgQiBpbiBnKXZvaWQgMD09PUlbQl0mJihJW0JdPWdbQl0pO2lmKEkucmVjdXJzZV9jb3VudD44KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMyKTtmb3IodmFyIEM9Qkkubm9ybWFsaXplQXJyYXkoQS5zcGxpdChcXFwiL1xcXCIpLmZpbHRlcigoZnVuY3Rpb24oQSl7cmV0dXJuISFBfSkpLCExKSxRPWlJLnJvb3QsRT1cXFwiL1xcXCIsaT0wO2k8Qy5sZW5ndGg7aSsrKXt2YXIgbz1pPT09Qy5sZW5ndGgtMTtpZihvJiZJLnBhcmVudClicmVhaztpZihRPWlJLmxvb2t1cE5vZGUoUSxDW2ldKSxFPUJJLmpvaW4yKEUsQ1tpXSksaUkuaXNNb3VudHBvaW50KFEpJiYoIW98fG8mJkkuZm9sbG93X21vdW50KSYmKFE9US5tb3VudGVkLnJvb3QpLCFvfHxJLmZvbGxvdylmb3IodmFyIEQ9MDtpSS5pc0xpbmsoUS5tb2RlKTspe3ZhciBhPWlJLnJlYWRsaW5rKEUpO2lmKEU9Q0kucmVzb2x2ZShCSS5kaXJuYW1lKEUpLGEpLFE9aUkubG9va3VwUGF0aChFLHtyZWN1cnNlX2NvdW50OkkucmVjdXJzZV9jb3VudH0pLm5vZGUsRCsrPjQwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMyKX19cmV0dXJue3BhdGg6RSxub2RlOlF9fSxnZXRQYXRoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgSTs7KXtpZihpSS5pc1Jvb3QoQSkpe3ZhciBnPUEubW91bnQubW91bnRwb2ludDtyZXR1cm4gST9cXFwiL1xcXCIhPT1nW2cubGVuZ3RoLTFdP2crXFxcIi9cXFwiK0k6ZytJOmd9ST1JP0EubmFtZStcXFwiL1xcXCIrSTpBLm5hbWUsQT1BLnBhcmVudH19LGhhc2hOYW1lOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj0wO0I8SS5sZW5ndGg7QisrKWc9KGc8PDUpLWcrSS5jaGFyQ29kZUF0KEIpfDA7cmV0dXJuKEErZz4+PjApJWlJLm5hbWVUYWJsZS5sZW5ndGh9LGhhc2hBZGROb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7QS5uYW1lX25leHQ9aUkubmFtZVRhYmxlW0ldLGlJLm5hbWVUYWJsZVtJXT1BfSxoYXNoUmVtb3ZlTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO2lmKGlJLm5hbWVUYWJsZVtJXT09PUEpaUkubmFtZVRhYmxlW0ldPUEubmFtZV9uZXh0O2Vsc2UgZm9yKHZhciBnPWlJLm5hbWVUYWJsZVtJXTtnOyl7aWYoZy5uYW1lX25leHQ9PT1BKXtnLm5hbWVfbmV4dD1BLm5hbWVfbmV4dDticmVha31nPWcubmFtZV9uZXh0fX0sbG9va3VwTm9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLm1heUxvb2t1cChBKTtpZihnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKGcsQSk7Zm9yKHZhciBCPWlJLmhhc2hOYW1lKEEuaWQsSSksQz1pSS5uYW1lVGFibGVbQl07QztDPUMubmFtZV9uZXh0KXt2YXIgUT1DLm5hbWU7aWYoQy5wYXJlbnQuaWQ9PT1BLmlkJiZRPT09SSlyZXR1cm4gQ31yZXR1cm4gaUkubG9va3VwKEEsSSl9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24oQSxJLGcsQil7aWYoIWlJLkZTTm9kZSl7aUkuRlNOb2RlPWZ1bmN0aW9uKEEsSSxnLEIpe0F8fChBPXRoaXMpLHRoaXMucGFyZW50PUEsdGhpcy5tb3VudD1BLm1vdW50LHRoaXMubW91bnRlZD1udWxsLHRoaXMuaWQ9aUkubmV4dElub2RlKyssdGhpcy5uYW1lPUksdGhpcy5tb2RlPWcsdGhpcy5ub2RlX29wcz17fSx0aGlzLnN0cmVhbV9vcHM9e30sdGhpcy5yZGV2PUJ9LGlJLkZTTm9kZS5wcm90b3R5cGU9e307T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaUkuRlNOb2RlLnByb3RvdHlwZSx7cmVhZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDM2NT09KDM2NSZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTM2NTp0aGlzLm1vZGUmPS0zNjZ9fSx3cml0ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDE0Nj09KDE0NiZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTE0Njp0aGlzLm1vZGUmPS0xNDd9fSxpc0ZvbGRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzRGlyKHRoaXMubW9kZSl9fSxpc0RldmljZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzQ2hyZGV2KHRoaXMubW9kZSl9fX0pfXZhciBDPW5ldyBpSS5GU05vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmhhc2hBZGROb2RlKEMpLEN9LGRlc3Ryb3lOb2RlOmZ1bmN0aW9uKEEpe2lJLmhhc2hSZW1vdmVOb2RlKEEpfSxpc1Jvb3Q6ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT1BLnBhcmVudH0saXNNb3VudHBvaW50OmZ1bmN0aW9uKEEpe3JldHVybiEhQS5tb3VudGVkfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuIDMyNzY4PT0oNjE0NDAmQSl9LGlzRGlyOmZ1bmN0aW9uKEEpe3JldHVybiAxNjM4ND09KDYxNDQwJkEpfSxpc0xpbms6ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTYwPT0oNjE0NDAmQSl9LGlzQ2hyZGV2OmZ1bmN0aW9uKEEpe3JldHVybiA4MTkyPT0oNjE0NDAmQSl9LGlzQmxrZGV2OmZ1bmN0aW9uKEEpe3JldHVybiAyNDU3Nj09KDYxNDQwJkEpfSxpc0ZJRk86ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTY9PSg2MTQ0MCZBKX0saXNTb2NrZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIDQ5MTUyPT0oNDkxNTImQSl9LGZsYWdNb2Rlczp7cjowLHJzOjEwNTI2NzIsXFxcInIrXFxcIjoyLHc6NTc3LHd4OjcwNSx4dzo3MDUsXFxcIncrXFxcIjo1NzgsXFxcInd4K1xcXCI6NzA2LFxcXCJ4dytcXFwiOjcwNixhOjEwODksYXg6MTIxNyx4YToxMjE3LFxcXCJhK1xcXCI6MTA5MCxcXFwiYXgrXFxcIjoxMjE4LFxcXCJ4YStcXFwiOjEyMTh9LG1vZGVTdHJpbmdUb0ZsYWdzOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmZsYWdNb2Rlc1tBXTtpZih2b2lkIDA9PT1JKXRocm93IG5ldyBFcnJvcihcXFwiVW5rbm93biBmaWxlIG9wZW4gbW9kZTogXFxcIitBKTtyZXR1cm4gSX0sZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmc6ZnVuY3Rpb24oQSl7dmFyIEk9W1xcXCJyXFxcIixcXFwid1xcXCIsXFxcInJ3XFxcIl1bMyZBXTtyZXR1cm4gNTEyJkEmJihJKz1cXFwid1xcXCIpLEl9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbihBLEkpe3JldHVybiBpSS5pZ25vcmVQZXJtaXNzaW9uc3x8KC0xPT09SS5pbmRleE9mKFxcXCJyXFxcIil8fDI5MiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXFxcIndcXFwiKXx8MTQ2JkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcXFwieFxcXCIpfHw3MyZBLm1vZGUpPzA6Mn0sbWF5TG9va3VwOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5ub2RlUGVybWlzc2lvbnMoQSxcXFwieFxcXCIpfHwoQS5ub2RlX29wcy5sb29rdXA/MDoyKX0sbWF5Q3JlYXRlOmZ1bmN0aW9uKEEsSSl7dHJ5e3JldHVybiBpSS5sb29rdXBOb2RlKEEsSSksMjB9Y2F0Y2goQSl7fXJldHVybiBpSS5ub2RlUGVybWlzc2lvbnMoQSxcXFwid3hcXFwiKX0sbWF5RGVsZXRlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjt0cnl7Qj1pSS5sb29rdXBOb2RlKEEsSSl9Y2F0Y2goQSl7cmV0dXJuIEEuZXJybm99dmFyIEM9aUkubm9kZVBlcm1pc3Npb25zKEEsXFxcInd4XFxcIik7aWYoQylyZXR1cm4gQztpZihnKXtpZighaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gNTQ7aWYoaUkuaXNSb290KEIpfHxpSS5nZXRQYXRoKEIpPT09aUkuY3dkKCkpcmV0dXJuIDEwfWVsc2UgaWYoaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gMzE7cmV0dXJuIDB9LG1heU9wZW46ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQT9pSS5pc0xpbmsoQS5tb2RlKT8zMjppSS5pc0RpcihBLm1vZGUpJiYoXFxcInJcXFwiIT09aUkuZmxhZ3NUb1Blcm1pc3Npb25TdHJpbmcoSSl8fDUxMiZJKT8zMTppSS5ub2RlUGVybWlzc2lvbnMoQSxpSS5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhJKSk6NDR9LE1BWF9PUEVOX0ZEUzo0MDk2LG5leHRmZDpmdW5jdGlvbihBLEkpe0E9QXx8MCxJPUl8fGlJLk1BWF9PUEVOX0ZEUztmb3IodmFyIGc9QTtnPD1JO2crKylpZighaUkuc3RyZWFtc1tnXSlyZXR1cm4gZzt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMyl9LGdldFN0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaUkuc3RyZWFtc1tBXX0sY3JlYXRlU3RyZWFtOmZ1bmN0aW9uKEEsSSxnKXtpSS5GU1N0cmVhbXx8KGlJLkZTU3RyZWFtPWZ1bmN0aW9uKCl7fSxpSS5GU1N0cmVhbS5wcm90b3R5cGU9e30sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaUkuRlNTdHJlYW0ucHJvdG90eXBlLHtvYmplY3Q6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5vZGV9LHNldDpmdW5jdGlvbihBKXt0aGlzLm5vZGU9QX19LGlzUmVhZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDEhPSgyMDk3MTU1JnRoaXMuZmxhZ3MpfX0saXNXcml0ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDAhPSgyMDk3MTU1JnRoaXMuZmxhZ3MpfX0saXNBcHBlbmQ6e2dldDpmdW5jdGlvbigpe3JldHVybiAxMDI0JnRoaXMuZmxhZ3N9fX0pKTt2YXIgQj1uZXcgaUkuRlNTdHJlYW07Zm9yKHZhciBDIGluIEEpQltDXT1BW0NdO0E9Qjt2YXIgUT1pSS5uZXh0ZmQoSSxnKTtyZXR1cm4gQS5mZD1RLGlJLnN0cmVhbXNbUV09QSxBfSxjbG9zZVN0cmVhbTpmdW5jdGlvbihBKXtpSS5zdHJlYW1zW0FdPW51bGx9LGNocmRldl9zdHJlYW1fb3BzOntvcGVuOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmdldERldmljZShBLm5vZGUucmRldik7QS5zdHJlYW1fb3BzPUkuc3RyZWFtX29wcyxBLnN0cmVhbV9vcHMub3BlbiYmQS5zdHJlYW1fb3BzLm9wZW4oQSl9LGxsc2VlazpmdW5jdGlvbigpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKX19LG1ham9yOmZ1bmN0aW9uKEEpe3JldHVybiBBPj44fSxtaW5vcjpmdW5jdGlvbihBKXtyZXR1cm4gMjU1JkF9LG1ha2VkZXY6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQTw8OHxJfSxyZWdpc3RlckRldmljZTpmdW5jdGlvbihBLEkpe2lJLmRldmljZXNbQV09e3N0cmVhbV9vcHM6SX19LGdldERldmljZTpmdW5jdGlvbihBKXtyZXR1cm4gaUkuZGV2aWNlc1tBXX0sZ2V0TW91bnRzOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST1bXSxnPVtBXTtnLmxlbmd0aDspe3ZhciBCPWcucG9wKCk7SS5wdXNoKEIpLGcucHVzaC5hcHBseShnLEIubW91bnRzKX1yZXR1cm4gSX0sc3luY2ZzOmZ1bmN0aW9uKEEsSSl7XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIEEmJihJPUEsQT0hMSksaUkuc3luY0ZTUmVxdWVzdHMrKyxpSS5zeW5jRlNSZXF1ZXN0cz4xJiZTKFxcXCJ3YXJuaW5nOiBcXFwiK2lJLnN5bmNGU1JlcXVlc3RzK1xcXCIgRlMuc3luY2ZzIG9wZXJhdGlvbnMgaW4gZmxpZ2h0IGF0IG9uY2UsIHByb2JhYmx5IGp1c3QgZG9pbmcgZXh0cmEgd29ya1xcXCIpO3ZhciBnPWlJLmdldE1vdW50cyhpSS5yb290Lm1vdW50KSxCPTA7ZnVuY3Rpb24gQyhBKXtyZXR1cm4gaUkuc3luY0ZTUmVxdWVzdHMtLSxJKEEpfWZ1bmN0aW9uIFEoQSl7aWYoQSlyZXR1cm4gUS5lcnJvcmVkP3ZvaWQgMDooUS5lcnJvcmVkPSEwLEMoQSkpOysrQj49Zy5sZW5ndGgmJkMobnVsbCl9Zy5mb3JFYWNoKChmdW5jdGlvbihJKXtpZighSS50eXBlLnN5bmNmcylyZXR1cm4gUShudWxsKTtJLnR5cGUuc3luY2ZzKEksQSxRKX0pKX0sbW91bnQ6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCLEM9XFxcIi9cXFwiPT09ZyxRPSFnO2lmKEMmJmlJLnJvb3QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFDJiYhUSl7dmFyIEU9aUkubG9va3VwUGF0aChnLHtmb2xsb3dfbW91bnQ6ITF9KTtpZihnPUUucGF0aCxCPUUubm9kZSxpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO2lmKCFpSS5pc0RpcihCLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KX12YXIgaT17dHlwZTpBLG9wdHM6SSxtb3VudHBvaW50OmcsbW91bnRzOltdfSxvPUEubW91bnQoaSk7cmV0dXJuIG8ubW91bnQ9aSxpLnJvb3Q9byxDP2lJLnJvb3Q9bzpCJiYoQi5tb3VudGVkPWksQi5tb3VudCYmQi5tb3VudC5tb3VudHMucHVzaChpKSksb30sdW5tb3VudDpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvd19tb3VudDohMX0pO2lmKCFpSS5pc01vdW50cG9pbnQoSS5ub2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIGc9SS5ub2RlLEI9Zy5tb3VudGVkLEM9aUkuZ2V0TW91bnRzKEIpO09iamVjdC5rZXlzKGlJLm5hbWVUYWJsZSkuZm9yRWFjaCgoZnVuY3Rpb24oQSl7Zm9yKHZhciBJPWlJLm5hbWVUYWJsZVtBXTtJOyl7dmFyIGc9SS5uYW1lX25leHQ7LTEhPT1DLmluZGV4T2YoSS5tb3VudCkmJmlJLmRlc3Ryb3lOb2RlKEkpLEk9Z319KSksZy5tb3VudGVkPW51bGw7dmFyIFE9Zy5tb3VudC5tb3VudHMuaW5kZXhPZihCKTtnLm1vdW50Lm1vdW50cy5zcGxpY2UoUSwxKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEubm9kZV9vcHMubG9va3VwKEEsSSl9LG1rbm9kOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsQz1CSS5iYXNlbmFtZShBKTtpZighQ3x8XFxcIi5cXFwiPT09Q3x8XFxcIi4uXFxcIj09PUMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBRPWlJLm1heUNyZWF0ZShCLEMpO2lmKFEpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoUSk7aWYoIUIubm9kZV9vcHMubWtub2QpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBCLm5vZGVfb3BzLm1rbm9kKEIsQyxJLGcpfSxjcmVhdGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST12b2lkIDAhPT1JP0k6NDM4LEkmPTQwOTUsSXw9MzI3NjgsaUkubWtub2QoQSxJLDApfSxta2RpcjpmdW5jdGlvbihBLEkpe3JldHVybiBJPXZvaWQgMCE9PUk/STo1MTEsSSY9MTAyMyxJfD0xNjM4NCxpSS5ta25vZChBLEksMCl9LG1rZGlyVHJlZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz1BLnNwbGl0KFxcXCIvXFxcIiksQj1cXFwiXFxcIixDPTA7QzxnLmxlbmd0aDsrK0MpaWYoZ1tDXSl7Qis9XFxcIi9cXFwiK2dbQ107dHJ5e2lJLm1rZGlyKEIsSSl9Y2F0Y2goQSl7aWYoMjAhPUEuZXJybm8pdGhyb3cgQX19fSxta2RldjpmdW5jdGlvbihBLEksZyl7cmV0dXJuIHZvaWQgMD09PWcmJihnPUksST00MzgpLEl8PTgxOTIsaUkubWtub2QoQSxJLGcpfSxzeW1saW5rOmZ1bmN0aW9uKEEsSSl7aWYoIUNJLnJlc29sdmUoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBnPWlJLmxvb2t1cFBhdGgoSSx7cGFyZW50OiEwfSkubm9kZTtpZighZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7dmFyIEI9QkkuYmFzZW5hbWUoSSksQz1pSS5tYXlDcmVhdGUoZyxCKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFnLm5vZGVfb3BzLnN5bWxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO3JldHVybiBnLm5vZGVfb3BzLnN5bWxpbmsoZyxCLEEpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJKXt2YXIgZyxCLEM9QkkuZGlybmFtZShBKSxRPUJJLmRpcm5hbWUoSSksRT1CSS5iYXNlbmFtZShBKSxpPUJJLmJhc2VuYW1lKEkpO3RyeXtnPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxCPWlJLmxvb2t1cFBhdGgoSSx7cGFyZW50OiEwfSkubm9kZX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCl9aWYoIWd8fCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZihnLm1vdW50IT09Qi5tb3VudCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3NSk7dmFyIG8sRD1pSS5sb29rdXBOb2RlKGcsRSksYT1DSS5yZWxhdGl2ZShBLFEpO2lmKFxcXCIuXFxcIiE9PWEuY2hhckF0KDApKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihcXFwiLlxcXCIhPT0oYT1DSS5yZWxhdGl2ZShJLEMpKS5jaGFyQXQoMCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTUpO3RyeXtvPWlJLmxvb2t1cE5vZGUoQixpKX1jYXRjaChBKXt9aWYoRCE9PW8pe3ZhciB3PWlJLmlzRGlyKEQubW9kZSksRj1pSS5tYXlEZWxldGUoZyxFLHcpO2lmKEYpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoRj1vP2lJLm1heURlbGV0ZShCLGksdyk6aUkubWF5Q3JlYXRlKEIsaSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoIWcubm9kZV9vcHMucmVuYW1lKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoRCl8fG8mJmlJLmlzTW91bnRwb2ludChvKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7aWYoQiE9PWcmJihGPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFxcXCJ3XFxcIikpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEYpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLndpbGxNb3ZlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsTW92ZVBhdGgoQSxJKX1jYXRjaChnKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsTW92ZVBhdGgnXSgnXFxcIitBK1xcXCInLCAnXFxcIitJK1xcXCInKSB0aHJldyBhbiBleGNlcHRpb246IFxcXCIrZy5tZXNzYWdlKX1pSS5oYXNoUmVtb3ZlTm9kZShEKTt0cnl7Zy5ub2RlX29wcy5yZW5hbWUoRCxCLGkpfWNhdGNoKEEpe3Rocm93IEF9ZmluYWxseXtpSS5oYXNoQWRkTm9kZShEKX10cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk1vdmVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uTW92ZVBhdGgoQSxJKX1jYXRjaChnKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk1vdmVQYXRoJ10oJ1xcXCIrQStcXFwiJywgJ1xcXCIrSStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK2cubWVzc2FnZSl9fX0scm1kaXI6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCEwKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnJtZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoQikpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMTApO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLndpbGxEZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJ1xcXCIrQStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0kubWVzc2FnZSl9SS5ub2RlX29wcy5ybWRpcihJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25EZWxldGVQYXRoJ10oJ1xcXCIrQStcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0kubWVzc2FnZSl9fSxyZWFkZGlyOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtpZighSS5ub2RlX29wcy5yZWFkZGlyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTtyZXR1cm4gSS5ub2RlX29wcy5yZWFkZGlyKEkpfSx1bmxpbms6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLGc9QkkuYmFzZW5hbWUoQSksQj1pSS5sb29rdXBOb2RlKEksZyksQz1pSS5tYXlEZWxldGUoSSxnLCExKTtpZihDKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEMpO2lmKCFJLm5vZGVfb3BzLnVubGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7aWYoaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS53aWxsRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsRGVsZXRlUGF0aCddKCdcXFwiK0ErXFxcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXFxcIitJLm1lc3NhZ2UpfUkubm9kZV9vcHMudW5saW5rKEksZyksaUkuZGVzdHJveU5vZGUoQik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aChBKX1jYXRjaChJKXtTKFxcXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0ZVBhdGgnXSgnXFxcIitBK1xcXCInKSB0aHJldyBhbiBleGNlcHRpb246IFxcXCIrSS5tZXNzYWdlKX19LHJlYWRsaW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSkubm9kZTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIUkubm9kZV9vcHMucmVhZGxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBDSS5yZXNvbHZlKGlJLmdldFBhdGgoSS5wYXJlbnQpLEkubm9kZV9vcHMucmVhZGxpbmsoSSkpfSxzdGF0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KS5ub2RlO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighZy5ub2RlX29wcy5nZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5nZXRhdHRyKGcpfSxsc3RhdDpmdW5jdGlvbihBKXtyZXR1cm4gaUkuc3RhdChBLCEwKX0sY2htb2Q6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCO2lmKCEoQj1cXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IWd9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Iubm9kZV9vcHMuc2V0YXR0cihCLHttb2RlOjQwOTUmSXwtNDA5NiZCLm1vZGUsdGltZXN0YW1wOkRhdGUubm93KCl9KX0sbGNobW9kOmZ1bmN0aW9uKEEsSSl7aUkuY2htb2QoQSxJLCEwKX0sZmNobW9kOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuZ2V0U3RyZWFtKEEpO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lJLmNobW9kKGcubm9kZSxJKX0sY2hvd246ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM7aWYoIShDPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohQn0pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qy5ub2RlX29wcy5zZXRhdHRyKEMse3RpbWVzdGFtcDpEYXRlLm5vdygpfSl9LGxjaG93bjpmdW5jdGlvbihBLEksZyl7aUkuY2hvd24oQSxJLGcsITApfSxmY2hvd246ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmdldFN0cmVhbShBKTtpZighQil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpSS5jaG93bihCLm5vZGUsSSxnKX0sdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXtpZihJPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnO2lmKCEoZz1cXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzRGlyKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFpSS5pc0ZpbGUoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIEI9aUkubm9kZVBlcm1pc3Npb25zKGcsXFxcIndcXFwiKTtpZihCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKEIpO2cubm9kZV9vcHMuc2V0YXR0cihnLHtzaXplOkksdGltZXN0YW1wOkRhdGUubm93KCl9KX0sZnRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkuZ2V0U3RyZWFtKEEpO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDA9PSgyMDk3MTU1JmcuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpSS50cnVuY2F0ZShnLm5vZGUsSSl9LHV0aW1lOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7Qi5ub2RlX29wcy5zZXRhdHRyKEIse3RpbWVzdGFtcDpNYXRoLm1heChJLGcpfSl9LG9wZW46ZnVuY3Rpb24oSSxnLEIsQyxRKXtpZihcXFwiXFxcIj09PUkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO3ZhciBFO2lmKEI9dm9pZCAwPT09Qj80Mzg6QixCPTY0JihnPVxcXCJzdHJpbmdcXFwiPT10eXBlb2YgZz9pSS5tb2RlU3RyaW5nVG9GbGFncyhnKTpnKT80MDk1JkJ8MzI3Njg6MCxcXFwib2JqZWN0XFxcIj09PUQoSSkpRT1JO2Vsc2V7ST1CSS5ub3JtYWxpemUoSSk7dHJ5e0U9aUkubG9va3VwUGF0aChJLHtmb2xsb3c6ISgxMzEwNzImZyl9KS5ub2RlfWNhdGNoKEEpe319dmFyIGk9ITE7aWYoNjQmZylpZihFKXtpZigxMjgmZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyMCl9ZWxzZSBFPWlJLm1rbm9kKEksQiwwKSxpPSEwO2lmKCFFKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZihpSS5pc0NocmRldihFLm1vZGUpJiYoZyY9LTUxMyksNjU1MzYmZyYmIWlJLmlzRGlyKEUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpO2lmKCFpKXt2YXIgbz1pSS5tYXlPcGVuKEUsZyk7aWYobyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihvKX01MTImZyYmaUkudHJ1bmNhdGUoRSwwKSxnJj0tNjQxO3ZhciBhPWlJLmNyZWF0ZVN0cmVhbSh7bm9kZTpFLHBhdGg6aUkuZ2V0UGF0aChFKSxmbGFnczpnLHNlZWthYmxlOiEwLHBvc2l0aW9uOjAsc3RyZWFtX29wczpFLnN0cmVhbV9vcHMsdW5nb3R0ZW46W10sZXJyb3I6ITF9LEMsUSk7YS5zdHJlYW1fb3BzLm9wZW4mJmEuc3RyZWFtX29wcy5vcGVuKGEpLCFBLmxvZ1JlYWRGaWxlc3x8MSZnfHwoaUkucmVhZEZpbGVzfHwoaUkucmVhZEZpbGVzPXt9KSxJIGluIGlJLnJlYWRGaWxlc3x8KGlJLnJlYWRGaWxlc1tJXT0xLFMoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGUgZXJyb3Igb24gcmVhZCBmaWxlOiBcXFwiK0kpKSk7dHJ5e2lmKGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZSl7dmFyIHc9MDsxIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5SRUFEKSwwIT0oMjA5NzE1NSZnKSYmKHd8PWlJLnRyYWNraW5nLm9wZW5GbGFncy5XUklURSksaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbk9wZW5GaWxlKEksdyl9fWNhdGNoKEEpe1MoXFxcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uT3BlbkZpbGUnXSgnXFxcIitJK1xcXCInLCBmbGFncykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0EubWVzc2FnZSl9cmV0dXJuIGF9LGNsb3NlOmZ1bmN0aW9uKEEpe2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO0EuZ2V0ZGVudHMmJihBLmdldGRlbnRzPW51bGwpO3RyeXtBLnN0cmVhbV9vcHMuY2xvc2UmJkEuc3RyZWFtX29wcy5jbG9zZShBKX1jYXRjaChBKXt0aHJvdyBBfWZpbmFsbHl7aUkuY2xvc2VTdHJlYW0oQS5mZCl9QS5mZD1udWxsfSxpc0Nsb3NlZDpmdW5jdGlvbihBKXtyZXR1cm4gbnVsbD09PUEuZmR9LGxsc2VlazpmdW5jdGlvbihBLEksZyl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoIUEuc2Vla2FibGV8fCFBLnN0cmVhbV9vcHMubGxzZWVrKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDcwKTtpZigwIT1nJiYxIT1nJiYyIT1nKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQS5wb3NpdGlvbj1BLnN0cmVhbV9vcHMubGxzZWVrKEEsSSxnKSxBLnVuZ290dGVuPVtdLEEucG9zaXRpb259LHJlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZihCPDB8fEM8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMT09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighQS5zdHJlYW1fb3BzLnJlYWQpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBRPXZvaWQgMCE9PUM7aWYoUSl7aWYoIUEuc2Vla2FibGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfWVsc2UgQz1BLnBvc2l0aW9uO3ZhciBFPUEuc3RyZWFtX29wcy5yZWFkKEEsSSxnLEIsQyk7cmV0dXJuIFF8fChBLnBvc2l0aW9uKz1FKSxFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxCLEMsUSl7aWYoQjwwfHxDPDApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKGlJLmlzQ2xvc2VkKEEpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKDA9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKGlJLmlzRGlyKEEubm9kZS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigzMSk7aWYoIUEuc3RyZWFtX29wcy53cml0ZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7MTAyNCZBLmZsYWdzJiZpSS5sbHNlZWsoQSwwLDIpO3ZhciBFPXZvaWQgMCE9PUM7aWYoRSl7aWYoIUEuc2Vla2FibGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfWVsc2UgQz1BLnBvc2l0aW9uO3ZhciBpPUEuc3RyZWFtX29wcy53cml0ZShBLEksZyxCLEMsUSk7RXx8KEEucG9zaXRpb24rPWkpO3RyeXtBLnBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Xcml0ZVRvRmlsZSYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbldyaXRlVG9GaWxlKEEucGF0aCl9Y2F0Y2goSSl7UyhcXFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Xcml0ZVRvRmlsZSddKCdcXFwiK0EucGF0aCtcXFwiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcXFwiK0kubWVzc2FnZSl9cmV0dXJuIGl9LGFsbG9jYXRlOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihJPDB8fGc8PTApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKDA9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpJiYhaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtpZighQS5zdHJlYW1fb3BzLmFsbG9jYXRlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEzOCk7QS5zdHJlYW1fb3BzLmFsbG9jYXRlKEEsSSxnKX0sbW1hcDpmdW5jdGlvbihBLEksZyxCLEMsUSxFKXtpZigwIT0oMiZRKSYmMD09KDImRSkmJjIhPSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKCFBLnN0cmVhbV9vcHMubW1hcCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7cmV0dXJuIEEuc3RyZWFtX29wcy5tbWFwKEEsSSxnLEIsQyxRLEUpfSxtc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBJiZBLnN0cmVhbV9vcHMubXN5bmM/QS5zdHJlYW1fb3BzLm1zeW5jKEEsSSxnLEIsQyk6MH0sbXVubWFwOmZ1bmN0aW9uKEEpe3JldHVybiAwfSxpb2N0bDpmdW5jdGlvbihBLEksZyl7aWYoIUEuc3RyZWFtX29wcy5pb2N0bCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1OSk7cmV0dXJuIEEuc3RyZWFtX29wcy5pb2N0bChBLEksZyl9LHJlYWRGaWxlOmZ1bmN0aW9uKEEsSSl7aWYoKEk9SXx8e30pLmZsYWdzPUkuZmxhZ3N8fFxcXCJyXFxcIixJLmVuY29kaW5nPUkuZW5jb2Rpbmd8fFxcXCJiaW5hcnlcXFwiLFxcXCJ1dGY4XFxcIiE9PUkuZW5jb2RpbmcmJlxcXCJiaW5hcnlcXFwiIT09SS5lbmNvZGluZyl0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZW5jb2RpbmcgdHlwZSBcXFwiJytJLmVuY29kaW5nKydcXFwiJyk7dmFyIGcsQj1pSS5vcGVuKEEsSS5mbGFncyksQz1pSS5zdGF0KEEpLnNpemUsUT1uZXcgVWludDhBcnJheShDKTtyZXR1cm4gaUkucmVhZChCLFEsMCxDLDApLFxcXCJ1dGY4XFxcIj09PUkuZW5jb2Rpbmc/Zz1kKFEsMCk6XFxcImJpbmFyeVxcXCI9PT1JLmVuY29kaW5nJiYoZz1RKSxpSS5jbG9zZShCKSxnfSx3cml0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcpeyhnPWd8fHt9KS5mbGFncz1nLmZsYWdzfHxcXFwid1xcXCI7dmFyIEI9aUkub3BlbihBLGcuZmxhZ3MsZy5tb2RlKTtpZihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEkpe3ZhciBDPW5ldyBVaW50OEFycmF5KFcoSSkrMSksUT1sKEksQywwLEMubGVuZ3RoKTtpSS53cml0ZShCLEMsMCxRLHZvaWQgMCxnLmNhbk93bil9ZWxzZXtpZighQXJyYXlCdWZmZXIuaXNWaWV3KEkpKXRocm93IG5ldyBFcnJvcihcXFwiVW5zdXBwb3J0ZWQgZGF0YSB0eXBlXFxcIik7aUkud3JpdGUoQixJLDAsSS5ieXRlTGVuZ3RoLHZvaWQgMCxnLmNhbk93bil9aUkuY2xvc2UoQil9LGN3ZDpmdW5jdGlvbigpe3JldHVybiBpSS5jdXJyZW50UGF0aH0sY2hkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KTtpZihudWxsPT09SS5ub2RlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighaUkuaXNEaXIoSS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDU0KTt2YXIgZz1pSS5ub2RlUGVybWlzc2lvbnMoSS5ub2RlLFxcXCJ4XFxcIik7aWYoZyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihnKTtpSS5jdXJyZW50UGF0aD1JLnBhdGh9LGNyZWF0ZURlZmF1bHREaXJlY3RvcmllczpmdW5jdGlvbigpe2lJLm1rZGlyKFxcXCIvdG1wXFxcIiksaUkubWtkaXIoXFxcIi9ob21lXFxcIiksaUkubWtkaXIoXFxcIi9ob21lL3dlYl91c2VyXFxcIil9LGNyZWF0ZURlZmF1bHREZXZpY2VzOmZ1bmN0aW9uKCl7dmFyIEE7aWYoaUkubWtkaXIoXFxcIi9kZXZcXFwiKSxpSS5yZWdpc3RlckRldmljZShpSS5tYWtlZGV2KDEsMykse3JlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQn19KSxpSS5ta2RldihcXFwiL2Rldi9udWxsXFxcIixpSS5tYWtlZGV2KDEsMykpLFFJLnJlZ2lzdGVyKGlJLm1ha2VkZXYoNSwwKSxRSS5kZWZhdWx0X3R0eV9vcHMpLFFJLnJlZ2lzdGVyKGlJLm1ha2VkZXYoNiwwKSxRSS5kZWZhdWx0X3R0eTFfb3BzKSxpSS5ta2RldihcXFwiL2Rldi90dHlcXFwiLGlJLm1ha2VkZXYoNSwwKSksaUkubWtkZXYoXFxcIi9kZXYvdHR5MVxcXCIsaUkubWFrZWRldig2LDApKSxcXFwib2JqZWN0XFxcIj09PShcXFwidW5kZWZpbmVkXFxcIj09dHlwZW9mIGNyeXB0bz9cXFwidW5kZWZpbmVkXFxcIjpEKGNyeXB0bykpJiZcXFwiZnVuY3Rpb25cXFwiPT10eXBlb2YgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7dmFyIEk9bmV3IFVpbnQ4QXJyYXkoMSk7QT1mdW5jdGlvbigpe3JldHVybiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEkpLElbMF19fWVsc2UgaWYodyl0cnl7dmFyIEI9Zyg2NTQpO0E9ZnVuY3Rpb24oKXtyZXR1cm4gQi5yYW5kb21CeXRlcygxKVswXX19Y2F0Y2goQSl7fUF8fChBPWZ1bmN0aW9uKCl7SkEoXFxcInJhbmRvbV9kZXZpY2VcXFwiKX0pLGlJLmNyZWF0ZURldmljZShcXFwiL2RldlxcXCIsXFxcInJhbmRvbVxcXCIsQSksaUkuY3JlYXRlRGV2aWNlKFxcXCIvZGV2XFxcIixcXFwidXJhbmRvbVxcXCIsQSksaUkubWtkaXIoXFxcIi9kZXYvc2htXFxcIiksaUkubWtkaXIoXFxcIi9kZXYvc2htL3RtcFxcXCIpfSxjcmVhdGVTcGVjaWFsRGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcXFwiL3Byb2NcXFwiKSxpSS5ta2RpcihcXFwiL3Byb2Mvc2VsZlxcXCIpLGlJLm1rZGlyKFxcXCIvcHJvYy9zZWxmL2ZkXFxcIiksaUkubW91bnQoe21vdW50OmZ1bmN0aW9uKCl7dmFyIEE9aUkuY3JlYXRlTm9kZShcXFwiL3Byb2Mvc2VsZlxcXCIsXFxcImZkXFxcIiwxNjg5NSw3Myk7cmV0dXJuIEEubm9kZV9vcHM9e2xvb2t1cDpmdW5jdGlvbihBLEkpe3ZhciBnPStJLEI9aUkuZ2V0U3RyZWFtKGcpO2lmKCFCKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3ZhciBDPXtwYXJlbnQ6bnVsbCxtb3VudDp7bW91bnRwb2ludDpcXFwiZmFrZVxcXCJ9LG5vZGVfb3BzOntyZWFkbGluazpmdW5jdGlvbigpe3JldHVybiBCLnBhdGh9fX07cmV0dXJuIEMucGFyZW50PUMsQ319LEF9fSx7fSxcXFwiL3Byb2Mvc2VsZi9mZFxcXCIpfSxjcmVhdGVTdGFuZGFyZFN0cmVhbXM6ZnVuY3Rpb24oKXtBLnN0ZGluP2lJLmNyZWF0ZURldmljZShcXFwiL2RldlxcXCIsXFxcInN0ZGluXFxcIixBLnN0ZGluKTppSS5zeW1saW5rKFxcXCIvZGV2L3R0eVxcXCIsXFxcIi9kZXYvc3RkaW5cXFwiKSxBLnN0ZG91dD9pSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJzdGRvdXRcXFwiLG51bGwsQS5zdGRvdXQpOmlJLnN5bWxpbmsoXFxcIi9kZXYvdHR5XFxcIixcXFwiL2Rldi9zdGRvdXRcXFwiKSxBLnN0ZGVycj9pSS5jcmVhdGVEZXZpY2UoXFxcIi9kZXZcXFwiLFxcXCJzdGRlcnJcXFwiLG51bGwsQS5zdGRlcnIpOmlJLnN5bWxpbmsoXFxcIi9kZXYvdHR5MVxcXCIsXFxcIi9kZXYvc3RkZXJyXFxcIiksaUkub3BlbihcXFwiL2Rldi9zdGRpblxcXCIsXFxcInJcXFwiKSxpSS5vcGVuKFxcXCIvZGV2L3N0ZG91dFxcXCIsXFxcIndcXFwiKSxpSS5vcGVuKFxcXCIvZGV2L3N0ZGVyclxcXCIsXFxcIndcXFwiKX0sZW5zdXJlRXJybm9FcnJvcjpmdW5jdGlvbigpe2lJLkVycm5vRXJyb3J8fChpSS5FcnJub0Vycm9yPWZ1bmN0aW9uKEEsSSl7dGhpcy5ub2RlPUksdGhpcy5zZXRFcnJubz1mdW5jdGlvbihBKXt0aGlzLmVycm5vPUF9LHRoaXMuc2V0RXJybm8oQSksdGhpcy5tZXNzYWdlPVxcXCJGUyBlcnJvclxcXCJ9LGlJLkVycm5vRXJyb3IucHJvdG90eXBlPW5ldyBFcnJvcixpSS5FcnJub0Vycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1pSS5FcnJub0Vycm9yLFs0NF0uZm9yRWFjaCgoZnVuY3Rpb24oQSl7aUkuZ2VuZXJpY0Vycm9yc1tBXT1uZXcgaUkuRXJybm9FcnJvcihBKSxpSS5nZW5lcmljRXJyb3JzW0FdLnN0YWNrPVxcXCI8Z2VuZXJpYyBlcnJvciwgbm8gc3RhY2s+XFxcIn0pKSl9LHN0YXRpY0luaXQ6ZnVuY3Rpb24oKXtpSS5lbnN1cmVFcnJub0Vycm9yKCksaUkubmFtZVRhYmxlPW5ldyBBcnJheSg0MDk2KSxpSS5tb3VudChFSSx7fSxcXFwiL1xcXCIpLGlJLmNyZWF0ZURlZmF1bHREaXJlY3RvcmllcygpLGlJLmNyZWF0ZURlZmF1bHREZXZpY2VzKCksaUkuY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzKCksaUkuZmlsZXN5c3RlbXM9e01FTUZTOkVJfX0saW5pdDpmdW5jdGlvbihJLGcsQil7aUkuaW5pdC5pbml0aWFsaXplZD0hMCxpSS5lbnN1cmVFcnJub0Vycm9yKCksQS5zdGRpbj1JfHxBLnN0ZGluLEEuc3Rkb3V0PWd8fEEuc3Rkb3V0LEEuc3RkZXJyPUJ8fEEuc3RkZXJyLGlJLmNyZWF0ZVN0YW5kYXJkU3RyZWFtcygpfSxxdWl0OmZ1bmN0aW9uKCl7aUkuaW5pdC5pbml0aWFsaXplZD0hMTt2YXIgST1BLl9mZmx1c2g7SSYmSSgwKTtmb3IodmFyIGc9MDtnPGlJLnN0cmVhbXMubGVuZ3RoO2crKyl7dmFyIEI9aUkuc3RyZWFtc1tnXTtCJiZpSS5jbG9zZShCKX19LGdldE1vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz0wO3JldHVybiBBJiYoZ3w9MzY1KSxJJiYoZ3w9MTQ2KSxnfSxqb2luUGF0aDpmdW5jdGlvbihBLEkpe3ZhciBnPUJJLmpvaW4uYXBwbHkobnVsbCxBKTtyZXR1cm4gSSYmXFxcIi9cXFwiPT1nWzBdJiYoZz1nLnN1YnN0cigxKSksZ30sYWJzb2x1dGVQYXRoOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIENJLnJlc29sdmUoSSxBKX0sc3RhbmRhcmRpemVQYXRoOmZ1bmN0aW9uKEEpe3JldHVybiBCSS5ub3JtYWxpemUoQSl9LGZpbmRPYmplY3Q6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5hbmFseXplUGF0aChBLEkpO3JldHVybiBnLmV4aXN0cz9nLm9iamVjdDooSUkoZy5lcnJvciksbnVsbCl9LGFuYWx5emVQYXRoOmZ1bmN0aW9uKEEsSSl7dHJ5e0E9KEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KSkucGF0aH1jYXRjaChBKXt9dmFyIGc9e2lzUm9vdDohMSxleGlzdHM6ITEsZXJyb3I6MCxuYW1lOm51bGwscGF0aDpudWxsLG9iamVjdDpudWxsLHBhcmVudEV4aXN0czohMSxwYXJlbnRQYXRoOm51bGwscGFyZW50T2JqZWN0Om51bGx9O3RyeXt2YXIgQj1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pO2cucGFyZW50RXhpc3RzPSEwLGcucGFyZW50UGF0aD1CLnBhdGgsZy5wYXJlbnRPYmplY3Q9Qi5ub2RlLGcubmFtZT1CSS5iYXNlbmFtZShBKSxCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiFJfSksZy5leGlzdHM9ITAsZy5wYXRoPUIucGF0aCxnLm9iamVjdD1CLm5vZGUsZy5uYW1lPUIubm9kZS5uYW1lLGcuaXNSb290PVxcXCIvXFxcIj09PUIucGF0aH1jYXRjaChBKXtnLmVycm9yPUEuZXJybm99cmV0dXJuIGd9LGNyZWF0ZUZvbGRlcjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLFE9aUkuZ2V0TW9kZShnLEIpO3JldHVybiBpSS5ta2RpcihDLFEpfSxjcmVhdGVQYXRoOmZ1bmN0aW9uKEEsSSxnLEIpe0E9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKTtmb3IodmFyIEM9SS5zcGxpdChcXFwiL1xcXCIpLnJldmVyc2UoKTtDLmxlbmd0aDspe3ZhciBRPUMucG9wKCk7aWYoUSl7dmFyIEU9Qkkuam9pbjIoQSxRKTt0cnl7aUkubWtkaXIoRSl9Y2F0Y2goQSl7fUE9RX19cmV0dXJuIEV9LGNyZWF0ZUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXt2YXIgUT1CSS5qb2luMihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLEU9aUkuZ2V0TW9kZShCLEMpO3JldHVybiBpSS5jcmVhdGUoUSxFKX0sY3JlYXRlRGF0YUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe3ZhciBFPUk/Qkkuam9pbjIoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBBP0E6aUkuZ2V0UGF0aChBKSxJKTpBLGk9aUkuZ2V0TW9kZShCLEMpLG89aUkuY3JlYXRlKEUsaSk7aWYoZyl7aWYoXFxcInN0cmluZ1xcXCI9PXR5cGVvZiBnKXtmb3IodmFyIEQ9bmV3IEFycmF5KGcubGVuZ3RoKSxhPTAsdz1nLmxlbmd0aDthPHc7KythKURbYV09Zy5jaGFyQ29kZUF0KGEpO2c9RH1pSS5jaG1vZChvLDE0NnxpKTt2YXIgRj1pSS5vcGVuKG8sXFxcIndcXFwiKTtpSS53cml0ZShGLGcsMCxnLmxlbmd0aCwwLFEpLGlJLmNsb3NlKEYpLGlJLmNobW9kKG8saSl9cmV0dXJuIG99LGNyZWF0ZURldmljZTpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcXFwic3RyaW5nXFxcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLFE9aUkuZ2V0TW9kZSghIWcsISFCKTtpSS5jcmVhdGVEZXZpY2UubWFqb3J8fChpSS5jcmVhdGVEZXZpY2UubWFqb3I9NjQpO3ZhciBFPWlJLm1ha2VkZXYoaUkuY3JlYXRlRGV2aWNlLm1ham9yKyssMCk7cmV0dXJuIGlJLnJlZ2lzdGVyRGV2aWNlKEUse29wZW46ZnVuY3Rpb24oQSl7QS5zZWVrYWJsZT0hMX0sY2xvc2U6ZnVuY3Rpb24oQSl7QiYmQi5idWZmZXImJkIuYnVmZmVyLmxlbmd0aCYmQigxMCl9LHJlYWQ6ZnVuY3Rpb24oQSxJLEIsQyxRKXtmb3IodmFyIEU9MCxpPTA7aTxDO2krKyl7dmFyIG87dHJ5e289ZygpfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1pZih2b2lkIDA9PT1vJiYwPT09RSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2KTtpZihudWxsPT1vKWJyZWFrO0UrKyxJW0IraV09b31yZXR1cm4gRSYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksRX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQyxRKXtmb3IodmFyIEU9MDtFPEM7RSsrKXRyeXtCKElbZytFXSl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfXJldHVybiBDJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxFfX0pLGlJLm1rZGV2KEMsUSxFKX0sY3JlYXRlTGluazpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPUJJLmpvaW4yKFxcXCJzdHJpbmdcXFwiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSk7cmV0dXJuIGlJLnN5bWxpbmsoZyxRKX0sZm9yY2VMb2FkRmlsZTpmdW5jdGlvbihBKXtpZihBLmlzRGV2aWNlfHxBLmlzRm9sZGVyfHxBLmxpbmt8fEEuY29udGVudHMpcmV0dXJuITA7dmFyIEk9ITA7aWYoXFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCl0aHJvdyBuZXcgRXJyb3IoXFxcIkxhenkgbG9hZGluZyBzaG91bGQgaGF2ZSBiZWVuIHBlcmZvcm1lZCAoY29udGVudHMgc2V0KSBpbiBjcmVhdGVMYXp5RmlsZSwgYnV0IGl0IHdhcyBub3QuIExhenkgbG9hZGluZyBvbmx5IHdvcmtzIGluIHdlYiB3b3JrZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2Mgb24gdGhlIG1haW4gdGhyZWFkLlxcXCIpO2lmKCFHKXRocm93IG5ldyBFcnJvcihcXFwiQ2Fubm90IGxvYWQgd2l0aG91dCByZWFkKCkgb3IgWE1MSHR0cFJlcXVlc3QuXFxcIik7dHJ5e0EuY29udGVudHM9WGcoRyhBLnVybCksITApLEEudXNlZEJ5dGVzPUEuY29udGVudHMubGVuZ3RofWNhdGNoKEEpe0k9ITF9cmV0dXJuIEl8fElJKDI5KSxJfSxjcmVhdGVMYXp5RmlsZTpmdW5jdGlvbihBLEksZyxCLEMpe2Z1bmN0aW9uIFEoKXt0aGlzLmxlbmd0aEtub3duPSExLHRoaXMuY2h1bmtzPVtdfWlmKFEucHJvdG90eXBlLmdldD1mdW5jdGlvbihBKXtpZighKEE+dGhpcy5sZW5ndGgtMXx8QTwwKSl7dmFyIEk9QSV0aGlzLmNodW5rU2l6ZSxnPUEvdGhpcy5jaHVua1NpemV8MDtyZXR1cm4gdGhpcy5nZXR0ZXIoZylbSV19fSxRLnByb3RvdHlwZS5zZXREYXRhR2V0dGVyPWZ1bmN0aW9uKEEpe3RoaXMuZ2V0dGVyPUF9LFEucHJvdG90eXBlLmNhY2hlTGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIEE9bmV3IFhNTEh0dHBSZXF1ZXN0O2lmKEEub3BlbihcXFwiSEVBRFxcXCIsZywhMSksQS5zZW5kKG51bGwpLCEoQS5zdGF0dXM+PTIwMCYmQS5zdGF0dXM8MzAwfHwzMDQ9PT1BLnN0YXR1cykpdGhyb3cgbmV3IEVycm9yKFxcXCJDb3VsZG4ndCBsb2FkIFxcXCIrZytcXFwiLiBTdGF0dXM6IFxcXCIrQS5zdGF0dXMpO3ZhciBJLEI9TnVtYmVyKEEuZ2V0UmVzcG9uc2VIZWFkZXIoXFxcIkNvbnRlbnQtbGVuZ3RoXFxcIikpLEM9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcXFwiQWNjZXB0LVJhbmdlc1xcXCIpKSYmXFxcImJ5dGVzXFxcIj09PUksUT0oST1BLmdldFJlc3BvbnNlSGVhZGVyKFxcXCJDb250ZW50LUVuY29kaW5nXFxcIikpJiZcXFwiZ3ppcFxcXCI9PT1JLEU9MTA0ODU3NjtDfHwoRT1CKTt2YXIgaT10aGlzO2kuc2V0RGF0YUdldHRlcigoZnVuY3Rpb24oQSl7dmFyIEk9QSpFLEM9KEErMSkqRS0xO2lmKEM9TWF0aC5taW4oQyxCLTEpLHZvaWQgMD09PWkuY2h1bmtzW0FdJiYoaS5jaHVua3NbQV09ZnVuY3Rpb24oQSxJKXtpZihBPkkpdGhyb3cgbmV3IEVycm9yKFxcXCJpbnZhbGlkIHJhbmdlIChcXFwiK0ErXFxcIiwgXFxcIitJK1xcXCIpIG9yIG5vIGJ5dGVzIHJlcXVlc3RlZCFcXFwiKTtpZihJPkItMSl0aHJvdyBuZXcgRXJyb3IoXFxcIm9ubHkgXFxcIitCK1xcXCIgYnl0ZXMgYXZhaWxhYmxlISBwcm9ncmFtbWVyIGVycm9yIVxcXCIpO3ZhciBDPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihDLm9wZW4oXFxcIkdFVFxcXCIsZywhMSksQiE9PUUmJkMuc2V0UmVxdWVzdEhlYWRlcihcXFwiUmFuZ2VcXFwiLFxcXCJieXRlcz1cXFwiK0ErXFxcIi1cXFwiK0kpLFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgVWludDhBcnJheSYmKEMucmVzcG9uc2VUeXBlPVxcXCJhcnJheWJ1ZmZlclxcXCIpLEMub3ZlcnJpZGVNaW1lVHlwZSYmQy5vdmVycmlkZU1pbWVUeXBlKFxcXCJ0ZXh0L3BsYWluOyBjaGFyc2V0PXgtdXNlci1kZWZpbmVkXFxcIiksQy5zZW5kKG51bGwpLCEoQy5zdGF0dXM+PTIwMCYmQy5zdGF0dXM8MzAwfHwzMDQ9PT1DLnN0YXR1cykpdGhyb3cgbmV3IEVycm9yKFxcXCJDb3VsZG4ndCBsb2FkIFxcXCIrZytcXFwiLiBTdGF0dXM6IFxcXCIrQy5zdGF0dXMpO3JldHVybiB2b2lkIDAhPT1DLnJlc3BvbnNlP25ldyBVaW50OEFycmF5KEMucmVzcG9uc2V8fFtdKTpYZyhDLnJlc3BvbnNlVGV4dHx8XFxcIlxcXCIsITApfShJLEMpKSx2b2lkIDA9PT1pLmNodW5rc1tBXSl0aHJvdyBuZXcgRXJyb3IoXFxcImRvWEhSIGZhaWxlZCFcXFwiKTtyZXR1cm4gaS5jaHVua3NbQV19KSksIVEmJkJ8fChFPUI9MSxCPXRoaXMuZ2V0dGVyKDApLmxlbmd0aCxFPUIsdChcXFwiTGF6eUZpbGVzIG9uIGd6aXAgZm9yY2VzIGRvd25sb2FkIG9mIHRoZSB3aG9sZSBmaWxlIHdoZW4gbGVuZ3RoIGlzIGFjY2Vzc2VkXFxcIikpLHRoaXMuX2xlbmd0aD1CLHRoaXMuX2NodW5rU2l6ZT1FLHRoaXMubGVuZ3RoS25vd249ITB9LFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgWE1MSHR0cFJlcXVlc3Qpe2lmKCFvKXRocm93XFxcIkNhbm5vdCBkbyBzeW5jaHJvbm91cyBiaW5hcnkgWEhScyBvdXRzaWRlIHdlYndvcmtlcnMgaW4gbW9kZXJuIGJyb3dzZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2NcXFwiO3ZhciBFPW5ldyBRO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RoS25vd258fHRoaXMuY2FjaGVMZW5ndGgoKSx0aGlzLl9sZW5ndGh9fSxjaHVua1NpemU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fY2h1bmtTaXplfX19KTt2YXIgaT17aXNEZXZpY2U6ITEsY29udGVudHM6RX19ZWxzZSBpPXtpc0RldmljZTohMSx1cmw6Z307dmFyIEQ9aUkuY3JlYXRlRmlsZShBLEksaSxCLEMpO2kuY29udGVudHM/RC5jb250ZW50cz1pLmNvbnRlbnRzOmkudXJsJiYoRC5jb250ZW50cz1udWxsLEQudXJsPWkudXJsKSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhELHt1c2VkQnl0ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbnRlbnRzLmxlbmd0aH19fSk7dmFyIGE9e307cmV0dXJuIE9iamVjdC5rZXlzKEQuc3RyZWFtX29wcykuZm9yRWFjaCgoZnVuY3Rpb24oQSl7dmFyIEk9RC5zdHJlYW1fb3BzW0FdO2FbQV09ZnVuY3Rpb24oKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7cmV0dXJuIEkuYXBwbHkobnVsbCxhcmd1bWVudHMpfX0pKSxhLnJlYWQ9ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighaUkuZm9yY2VMb2FkRmlsZShEKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSk7dmFyIFE9QS5ub2RlLmNvbnRlbnRzO2lmKEM+PVEubGVuZ3RoKXJldHVybiAwO3ZhciBFPU1hdGgubWluKFEubGVuZ3RoLUMsQik7aWYoUS5zbGljZSlmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07ZWxzZSBmb3IoaT0wO2k8RTtpKyspSVtnK2ldPVEuZ2V0KEMraSk7cmV0dXJuIEV9LEQuc3RyZWFtX29wcz1hLER9LGNyZWF0ZVByZWxvYWRlZEZpbGU6ZnVuY3Rpb24oSSxnLEIsQyxRLEUsaSxvLEQsYSl7QnJvd3Nlci5pbml0KCk7dmFyIHc9Zz9DSS5yZXNvbHZlKEJJLmpvaW4yKEksZykpOkk7ZnVuY3Rpb24gRihCKXtmdW5jdGlvbiBGKEEpe2EmJmEoKSxvfHxpSS5jcmVhdGVEYXRhRmlsZShJLGcsQSxDLFEsRCksRSYmRSgpLGVBKCl9dmFyIEc9ITE7QS5wcmVsb2FkUGx1Z2lucy5mb3JFYWNoKChmdW5jdGlvbihBKXtHfHxBLmNhbkhhbmRsZSh3KSYmKEEuaGFuZGxlKEIsdyxGLChmdW5jdGlvbigpe2kmJmkoKSxlQSgpfSkpLEc9ITApfSkpLEd8fEYoQil9WUEoKSxcXFwic3RyaW5nXFxcIj09dHlwZW9mIEI/QnJvd3Nlci5hc3luY0xvYWQoQiwoZnVuY3Rpb24oQSl7RihBKX0pLGkpOkYoQil9LGluZGV4ZWREQjpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5kZXhlZERCfHx3aW5kb3cubW96SW5kZXhlZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERCfHx3aW5kb3cubXNJbmRleGVkREJ9LERCX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm5cXFwiRU1fRlNfXFxcIit3aW5kb3cubG9jYXRpb24ucGF0aG5hbWV9LERCX1ZFUlNJT046MjAsREJfU1RPUkVfTkFNRTpcXFwiRklMRV9EQVRBXFxcIixzYXZlRmlsZXNUb0RCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbigpe3QoXFxcImNyZWF0aW5nIGRiXFxcIiksQy5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSl9LEMub25zdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIEI9Qy5yZXN1bHQudHJhbnNhY3Rpb24oW2lJLkRCX1NUT1JFX05BTUVdLFxcXCJyZWFkd3JpdGVcXFwiKSxRPUIub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksRT0wLGk9MCxvPUEubGVuZ3RoO2Z1bmN0aW9uIEQoKXswPT1pP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1RLnB1dChpSS5hbmFseXplUGF0aChBKS5vYmplY3QuY29udGVudHMsQSk7SS5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXsrK0UraT09byYmRCgpfSxJLm9uZXJyb3I9ZnVuY3Rpb24oKXtpKyssRStpPT1vJiZEKCl9fSkpLEIub25lcnJvcj1nfSxDLm9uZXJyb3I9Z30sbG9hZEZpbGVzRnJvbURCOmZ1bmN0aW9uKEEsSSxnKXtJPUl8fGZ1bmN0aW9uKCl7fSxnPWd8fGZ1bmN0aW9uKCl7fTt2YXIgQj1pSS5pbmRleGVkREIoKTt0cnl7dmFyIEM9Qi5vcGVuKGlJLkRCX05BTUUoKSxpSS5EQl9WRVJTSU9OKX1jYXRjaChBKXtyZXR1cm4gZyhBKX1DLm9udXBncmFkZW5lZWRlZD1nLEMub25zdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIEI9Qy5yZXN1bHQ7dHJ5e3ZhciBRPUIudHJhbnNhY3Rpb24oW2lJLkRCX1NUT1JFX05BTUVdLFxcXCJyZWFkb25seVxcXCIpfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9dmFyIEU9US5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxpPTAsbz0wLEQ9QS5sZW5ndGg7ZnVuY3Rpb24gYSgpezA9PW8/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUUuZ2V0KEEpO0kub25zdWNjZXNzPWZ1bmN0aW9uKCl7aUkuYW5hbHl6ZVBhdGgoQSkuZXhpc3RzJiZpSS51bmxpbmsoQSksaUkuY3JlYXRlRGF0YUZpbGUoQkkuZGlybmFtZShBKSxCSS5iYXNlbmFtZShBKSxJLnJlc3VsdCwhMCwhMCwhMCksKytpK289PUQmJmEoKX0sSS5vbmVycm9yPWZ1bmN0aW9uKCl7bysrLGkrbz09RCYmYSgpfX0pKSxRLm9uZXJyb3I9Z30sQy5vbmVycm9yPWd9fSxvST17REVGQVVMVF9QT0xMTUFTSzo1LG1hcHBpbmdzOnt9LHVtYXNrOjUxMSxjYWxjdWxhdGVBdDpmdW5jdGlvbihBLEkpe2lmKFxcXCIvXFxcIiE9PUlbMF0pe3ZhciBnO2lmKC0xMDA9PT1BKWc9aUkuY3dkKCk7ZWxzZXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7Zz1CLnBhdGh9ST1CSS5qb2luMihnLEkpfXJldHVybiBJfSxkb1N0YXQ6ZnVuY3Rpb24oQSxJLGcpe3RyeXt2YXIgQj1BKEkpfWNhdGNoKEEpe2lmKEEmJkEubm9kZSYmQkkubm9ybWFsaXplKEkpIT09Qkkubm9ybWFsaXplKGlJLmdldFBhdGgoQS5ub2RlKSkpcmV0dXJuLTU0O3Rocm93IEF9cmV0dXJuIEFBW2c+PjJdPUIuZGV2LEFBW2crND4+Ml09MCxBQVtnKzg+PjJdPUIuaW5vLEFBW2crMTI+PjJdPUIubW9kZSxBQVtnKzE2Pj4yXT1CLm5saW5rLEFBW2crMjA+PjJdPUIudWlkLEFBW2crMjQ+PjJdPUIuZ2lkLEFBW2crMjg+PjJdPUIucmRldixBQVtnKzMyPj4yXT0wLGRBPVtCLnNpemU+Pj4wLChxQT1CLnNpemUsK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzQwPj4yXT1kQVswXSxBQVtnKzQ0Pj4yXT1kQVsxXSxBQVtnKzQ4Pj4yXT00MDk2LEFBW2crNTI+PjJdPUIuYmxvY2tzLEFBW2crNTY+PjJdPUIuYXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjA+PjJdPTAsQUFbZys2ND4+Ml09Qi5tdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2OD4+Ml09MCxBQVtnKzcyPj4yXT1CLmN0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzc2Pj4yXT0wLGRBPVtCLmlubz4+PjAsKHFBPUIuaW5vLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys4MD4+Ml09ZEFbMF0sQUFbZys4ND4+Ml09ZEFbMV0sMH0sZG9Nc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPXouc2xpY2UoQSxBK2cpO2lJLm1zeW5jKEksUSxDLGcsQil9LGRvTWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm5cXFwiL1xcXCI9PT0oQT1CSS5ub3JtYWxpemUoQSkpW0EubGVuZ3RoLTFdJiYoQT1BLnN1YnN0cigwLEEubGVuZ3RoLTEpKSxpSS5ta2RpcihBLEksMCksMH0sZG9Na25vZDpmdW5jdGlvbihBLEksZyl7c3dpdGNoKDYxNDQwJkkpe2Nhc2UgMzI3Njg6Y2FzZSA4MTkyOmNhc2UgMjQ1NzY6Y2FzZSA0MDk2OmNhc2UgNDkxNTI6YnJlYWs7ZGVmYXVsdDpyZXR1cm4tMjh9cmV0dXJuIGlJLm1rbm9kKEEsSSxnKSwwfSxkb1JlYWRsaW5rOmZ1bmN0aW9uKEEsSSxnKXtpZihnPD0wKXJldHVybi0yODt2YXIgQj1pSS5yZWFkbGluayhBKSxDPU1hdGgubWluKGcsVyhCKSksUT12W0krQ107cmV0dXJuIHUoQixJLGcrMSksdltJK0NdPVEsQ30sZG9BY2Nlc3M6ZnVuY3Rpb24oQSxJKXtpZigtOCZJKXJldHVybi0yODt2YXIgZztpZighKGc9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlKSlyZXR1cm4tNDQ7dmFyIEI9XFxcIlxcXCI7cmV0dXJuIDQmSSYmKEIrPVxcXCJyXFxcIiksMiZJJiYoQis9XFxcIndcXFwiKSwxJkkmJihCKz1cXFwieFxcXCIpLEImJmlJLm5vZGVQZXJtaXNzaW9ucyhnLEIpPy0yOjB9LGRvRHVwOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oZyk7cmV0dXJuIEImJmlJLmNsb3NlKEIpLGlJLm9wZW4oQSxJLDAsZyxnKS5mZH0sZG9SZWFkdjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLnJlYWQoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7aWYoQys9byxvPGkpYnJlYWt9cmV0dXJuIEN9LGRvV3JpdGV2OmZ1bmN0aW9uKEEsSSxnLEIpe2Zvcih2YXIgQz0wLFE9MDtRPGc7USsrKXt2YXIgRT1BQVtJKzgqUT4+Ml0saT1BQVtJKyg4KlErNCk+PjJdLG89aUkud3JpdGUoQSx2LEUsaSxCKTtpZihvPDApcmV0dXJuLTE7Qys9b31yZXR1cm4gQ30sdmFyYXJnczowLGdldDpmdW5jdGlvbihBKXtyZXR1cm4gb0kudmFyYXJncys9NCxBQVtvSS52YXJhcmdzLTQ+PjJdfSxnZXRTdHI6ZnVuY3Rpb24oKXtyZXR1cm4gZihvSS5nZXQoKSl9LGdldFN0cmVhbUZyb21GRDpmdW5jdGlvbihBKXt2b2lkIDA9PT1BJiYoQT1vSS5nZXQoKSk7dmFyIEk9aUkuZ2V0U3RyZWFtKEEpO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO3JldHVybiBJfSxnZXQ2NDpmdW5jdGlvbigpe3ZhciBBPW9JLmdldCgpO3JldHVybiBvSS5nZXQoKSxBfSxnZXRaZXJvOmZ1bmN0aW9uKCl7b0kuZ2V0KCl9fTtmdW5jdGlvbiBESShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCk7c3dpdGNoKG9JLmdldCgpKXtjYXNlIDA6cmV0dXJuKEI9b0kuZ2V0KCkpPDA/LTI4OmlJLm9wZW4oZy5wYXRoLGcuZmxhZ3MsMCxCKS5mZDtjYXNlIDE6Y2FzZSAyOmNhc2UgMTM6Y2FzZSAxNDpyZXR1cm4gMDtjYXNlIDM6cmV0dXJuIGcuZmxhZ3M7Y2FzZSA0OnZhciBCPW9JLmdldCgpO3JldHVybiBnLmZsYWdzfD1CLDA7Y2FzZSAxMjpyZXR1cm4gQj1vSS5nZXQoKSxfW0IrMD4+MV09MiwwO2RlZmF1bHQ6cmV0dXJuLTI4O2Nhc2UgOTpyZXR1cm4gSUkoMjgpLC0xfX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gYUkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cigpLEI9b0kuZ2V0KCksQz1vSS5nZXQoKTtyZXR1cm4gaUkub3BlbihnLEIsQykuZmR9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIHdJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHJlYW1Gcm9tRkQoKSxCPW9JLmdldCgpO3N3aXRjaChCKXtjYXNlIDIxNTA5OmNhc2UgMjE1MDU6Y2FzZSAyMTUxMDpjYXNlIDIxNTExOmNhc2UgMjE1MTI6Y2FzZSAyMTUwNjpjYXNlIDIxNTA3OmNhc2UgMjE1MDg6Y2FzZSAyMTUyMzpjYXNlIDIxNTI0OnJldHVybiBnLnR0eT8wOi01OTtjYXNlIDIxNTE5OmlmKCFnLnR0eSlyZXR1cm4tNTk7dmFyIEM9b0kuZ2V0KCk7cmV0dXJuIEFBW0M+PjJdPTAsMDtjYXNlIDIxNTIwOnJldHVybiBnLnR0eT8tMjg6LTU5O2Nhc2UgMjE1MzE6cmV0dXJuIEM9b0kuZ2V0KCksaUkuaW9jdGwoZyxCLEMpO2RlZmF1bHQ6SkEoXFxcImJhZCBpb2N0bCBzeXNjYWxsIFxcXCIrQil9fWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBGSShBLEkpe2lmKC0xPT09QXx8MD09PUkpcmV0dXJuLTI4O3ZhciBnPW9JLm1hcHBpbmdzW0FdO2lmKCFnKXJldHVybiAwO2lmKEk9PT1nLmxlbil7dmFyIEI9aUkuZ2V0U3RyZWFtKGcuZmQpO29JLmRvTXN5bmMoQSxCLEksZy5mbGFncyxnLm9mZnNldCksaUkubXVubWFwKEIpLG9JLm1hcHBpbmdzW0FdPW51bGwsZy5hbGxvY2F0ZWQmJnNCKGcubWFsbG9jKX1yZXR1cm4gMH1mdW5jdGlvbiBHSShBLEkpe29JLnZhcmFyZ3M9STt0cnl7cmV0dXJuIEZJKG9JLmdldCgpLG9JLmdldCgpKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gaEkoKXt9ZnVuY3Rpb24gc0koQSl7dHJ5e3ZhciBJPW9JLmdldFN0cmVhbUZyb21GRChBKTtyZXR1cm4gaUkuY2xvc2UoSSksMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBSSSgpe3JldHVybiBzSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvUmVhZHYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24geUkoKXtyZXR1cm4gVUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIHRJKEEsSSxnLEIsQyl7dHJ5e3ZhciBRPW9JLmdldFN0cmVhbUZyb21GRChBKSxFPTQyOTQ5NjcyOTYqZysoST4+PjApLGk9OTAwNzE5OTI1NDc0MDk5MjtyZXR1cm4gRTw9LWl8fEU+PWk/LTYxOihpSS5sbHNlZWsoUSxFLEIpLGRBPVtRLnBvc2l0aW9uPj4+MCwocUE9US5wb3NpdGlvbiwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW0M+PjJdPWRBWzBdLEFBW0MrND4+Ml09ZEFbMV0sUS5nZXRkZW50cyYmMD09PUUmJjA9PT1CJiYoUS5nZXRkZW50cz1udWxsKSwwKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBTSSgpe3JldHVybiB0SS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvV3JpdGV2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIG5JKCl7cmV0dXJuIE1JLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBjSShBKXtzd2l0Y2goQSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gMTtjYXNlIDQ6cmV0dXJuIDI7Y2FzZSA4OnJldHVybiAzO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcXFwiVW5rbm93biB0eXBlIHNpemU6IFxcXCIrQSl9fWZ1bmN0aW9uIHJJKCl7Zm9yKHZhciBBPW5ldyBBcnJheSgyNTYpLEk9MDtJPDI1NjsrK0kpQVtJXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpO2tJPUF9dmFyIGtJPXZvaWQgMDtmdW5jdGlvbiBLSShBKXtmb3IodmFyIEk9XFxcIlxcXCIsZz1BO3pbZ107KUkrPWtJW3pbZysrXV07cmV0dXJuIEl9dmFyIE5JPXt9LFlJPXt9LGVJPXt9LEpJPTQ4LEhJPTU3O2Z1bmN0aW9uIExJKEEpe2lmKHZvaWQgMD09PUEpcmV0dXJuXFxcIl91bmtub3duXFxcIjt2YXIgST0oQT1BLnJlcGxhY2UoL1teYS16QS1aMC05X10vZyxcXFwiJFxcXCIpKS5jaGFyQ29kZUF0KDApO3JldHVybiBJPj1KSSYmSTw9SEk/XFxcIl9cXFwiK0E6QX1mdW5jdGlvbiBxSShBLEkpe3JldHVybiBBPUxJKEEpLG5ldyBGdW5jdGlvbihcXFwiYm9keVxcXCIsXFxcInJldHVybiBmdW5jdGlvbiBcXFwiK0ErJygpIHtcXFxcbiAgICBcXFwidXNlIHN0cmljdFxcXCI7ICAgIHJldHVybiBib2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XFxcXG59O1xcXFxuJykoSSl9ZnVuY3Rpb24gZEkoQSxJKXt2YXIgZz1xSShJLChmdW5jdGlvbihBKXt0aGlzLm5hbWU9SSx0aGlzLm1lc3NhZ2U9QTt2YXIgZz1uZXcgRXJyb3IoQSkuc3RhY2s7dm9pZCAwIT09ZyYmKHRoaXMuc3RhY2s9dGhpcy50b1N0cmluZygpK1xcXCJcXFxcblxcXCIrZy5yZXBsYWNlKC9eRXJyb3IoOlteXFxcXG5dKik/XFxcXG4vLFxcXCJcXFwiKSl9KSk7cmV0dXJuIGcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoQS5wcm90b3R5cGUpLGcucHJvdG90eXBlLmNvbnN0cnVjdG9yPWcsZy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5tZXNzYWdlP3RoaXMubmFtZTp0aGlzLm5hbWUrXFxcIjogXFxcIit0aGlzLm1lc3NhZ2V9LGd9dmFyIGZJPXZvaWQgMDtmdW5jdGlvbiBsSShBKXt0aHJvdyBuZXcgZkkoQSl9dmFyIHVJPXZvaWQgMDtmdW5jdGlvbiBXSShBKXt0aHJvdyBuZXcgdUkoQSl9ZnVuY3Rpb24gcEkoQSxJLGcpe2Z1bmN0aW9uIEIoSSl7dmFyIEI9ZyhJKTtCLmxlbmd0aCE9PUEubGVuZ3RoJiZXSShcXFwiTWlzbWF0Y2hlZCB0eXBlIGNvbnZlcnRlciBjb3VudFxcXCIpO2Zvcih2YXIgQz0wO0M8QS5sZW5ndGg7KytDKVpJKEFbQ10sQltDXSl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXtlSVtBXT1JfSkpO3ZhciBDPW5ldyBBcnJheShJLmxlbmd0aCksUT1bXSxFPTA7SS5mb3JFYWNoKChmdW5jdGlvbihBLEkpe1lJLmhhc093blByb3BlcnR5KEEpP0NbSV09WUlbQV06KFEucHVzaChBKSxOSS5oYXNPd25Qcm9wZXJ0eShBKXx8KE5JW0FdPVtdKSxOSVtBXS5wdXNoKChmdW5jdGlvbigpe0NbSV09WUlbQV0sKytFPT09US5sZW5ndGgmJkIoQyl9KSkpfSkpLDA9PT1RLmxlbmd0aCYmQihDKX1mdW5jdGlvbiBaSShBLEksZyl7aWYoZz1nfHx7fSwhKFxcXCJhcmdQYWNrQWR2YW5jZVxcXCJpbiBJKSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJyZWdpc3RlclR5cGUgcmVnaXN0ZXJlZEluc3RhbmNlIHJlcXVpcmVzIGFyZ1BhY2tBZHZhbmNlXFxcIik7dmFyIEI9SS5uYW1lO2lmKEF8fGxJKCd0eXBlIFxcXCInK0IrJ1xcXCIgbXVzdCBoYXZlIGEgcG9zaXRpdmUgaW50ZWdlciB0eXBlaWQgcG9pbnRlcicpLFlJLmhhc093blByb3BlcnR5KEEpKXtpZihnLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpcmV0dXJuO2xJKFxcXCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnXFxcIitCK1xcXCInIHR3aWNlXFxcIil9aWYoWUlbQV09SSxkZWxldGUgZUlbQV0sTkkuaGFzT3duUHJvcGVydHkoQSkpe3ZhciBDPU5JW0FdO2RlbGV0ZSBOSVtBXSxDLmZvckVhY2goKGZ1bmN0aW9uKEEpe0EoKX0pKX19ZnVuY3Rpb24gYkkoQSxJLGcsQixDKXt2YXIgUT1jSShnKTtaSShBLHtuYW1lOkk9S0koSSksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3JldHVybiEhQX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBJP0I6Q30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpmdW5jdGlvbihBKXt2YXIgQjtpZigxPT09ZylCPXY7ZWxzZSBpZigyPT09ZylCPV87ZWxzZXtpZig0IT09Zyl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJVbmtub3duIGJvb2xlYW4gdHlwZSBzaXplOiBcXFwiK0kpO0I9QUF9cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJbQT4+UV0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHhJKEksZyxCKXtJPUtJKEkpLHBJKFtdLFtnXSwoZnVuY3Rpb24oZyl7cmV0dXJuIGc9Z1swXSxBW0ldPWcuZnJvbVdpcmVUeXBlKEIpLFtdfSkpfXZhciBtST1bXSxYST1be30se3ZhbHVlOnZvaWQgMH0se3ZhbHVlOm51bGx9LHt2YWx1ZTohMH0se3ZhbHVlOiExfV07ZnVuY3Rpb24gVkkoQSl7QT40JiYwPT0tLVhJW0FdLnJlZmNvdW50JiYoWElbQV09dm9pZCAwLG1JLnB1c2goQSkpfWZ1bmN0aW9uIE9JKCl7Zm9yKHZhciBBPTAsST01O0k8WEkubGVuZ3RoOysrSSl2b2lkIDAhPT1YSVtJXSYmKytBO3JldHVybiBBfWZ1bmN0aW9uIFRJKCl7Zm9yKHZhciBBPTU7QTxYSS5sZW5ndGg7KytBKWlmKHZvaWQgMCE9PVhJW0FdKXJldHVybiBYSVtBXTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBqSSgpe0EuY291bnRfZW12YWxfaGFuZGxlcz1PSSxBLmdldF9maXJzdF9lbXZhbD1USX1mdW5jdGlvbiBQSShBKXtzd2l0Y2goQSl7Y2FzZSB2b2lkIDA6cmV0dXJuIDE7Y2FzZSBudWxsOnJldHVybiAyO2Nhc2UhMDpyZXR1cm4gMztjYXNlITE6cmV0dXJuIDQ7ZGVmYXVsdDp2YXIgST1tSS5sZW5ndGg/bUkucG9wKCk6WEkubGVuZ3RoO3JldHVybiBYSVtJXT17cmVmY291bnQ6MSx2YWx1ZTpBfSxJfX1mdW5jdGlvbiB2SShBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoSUFbQT4+Ml0pfWZ1bmN0aW9uIHpJKEEsSSl7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgST1YSVtBXS52YWx1ZTtyZXR1cm4gVkkoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBQSShJKX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIF9JKEEpe2lmKG51bGw9PT1BKXJldHVyblxcXCJudWxsXFxcIjt2YXIgST1EKEEpO3JldHVyblxcXCJvYmplY3RcXFwiPT09SXx8XFxcImFycmF5XFxcIj09PUl8fFxcXCJmdW5jdGlvblxcXCI9PT1JP0EudG9TdHJpbmcoKTpcXFwiXFxcIitBfWZ1bmN0aW9uICRJKEEsSSl7c3dpdGNoKEkpe2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGdBW0E+PjJdKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoQkFbQT4+M10pfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlVua25vd24gZmxvYXQgdHlwZTogXFxcIitBKX19ZnVuY3Rpb24gQWcoQSxJLGcpe3ZhciBCPWNJKGcpO1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7cmV0dXJuIEF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtpZihcXFwibnVtYmVyXFxcIiE9dHlwZW9mIEkmJlxcXCJib29sZWFuXFxcIiE9dHlwZW9mIEkpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXFxcIicrX0koSSkrJ1xcXCIgdG8gJyt0aGlzLm5hbWUpO3JldHVybiBJfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOiRJKEksQiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBJZyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKFxcXCJuZXdfIGNhbGxlZCB3aXRoIGNvbnN0cnVjdG9yIHR5cGUgXFxcIitEKEEpK1xcXCIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb25cXFwiKTt2YXIgZz1xSShBLm5hbWV8fFxcXCJ1bmtub3duRnVuY3Rpb25OYW1lXFxcIiwoZnVuY3Rpb24oKXt9KSk7Zy5wcm90b3R5cGU9QS5wcm90b3R5cGU7dmFyIEI9bmV3IGcsQz1BLmFwcGx5KEIsSSk7cmV0dXJuIEMgaW5zdGFuY2VvZiBPYmplY3Q/QzpCfWZ1bmN0aW9uIGdnKEEpe2Zvcig7QS5sZW5ndGg7KXt2YXIgST1BLnBvcCgpO0EucG9wKCkoSSl9fWZ1bmN0aW9uIEJnKEEsSSxnLEIsQyl7dmFyIFE9SS5sZW5ndGg7UTwyJiZsSShcXFwiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhXFxcIik7Zm9yKHZhciBFPW51bGwhPT1JWzFdJiZudWxsIT09ZyxpPSExLG89MTtvPEkubGVuZ3RoOysrbylpZihudWxsIT09SVtvXSYmdm9pZCAwPT09SVtvXS5kZXN0cnVjdG9yRnVuY3Rpb24pe2k9ITA7YnJlYWt9dmFyIEQ9XFxcInZvaWRcXFwiIT09SVswXS5uYW1lLGE9XFxcIlxcXCIsdz1cXFwiXFxcIjtmb3Iobz0wO288US0yOysrbylhKz0oMCE9PW8/XFxcIiwgXFxcIjpcXFwiXFxcIikrXFxcImFyZ1xcXCIrbyx3Kz0oMCE9PW8/XFxcIiwgXFxcIjpcXFwiXFxcIikrXFxcImFyZ1xcXCIrbytcXFwiV2lyZWRcXFwiO3ZhciBGPVxcXCJyZXR1cm4gZnVuY3Rpb24gXFxcIitMSShBKStcXFwiKFxcXCIrYStcXFwiKSB7XFxcXG5pZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gXFxcIisoUS0yKStcXFwiKSB7XFxcXG50aHJvd0JpbmRpbmdFcnJvcignZnVuY3Rpb24gXFxcIitBK1xcXCIgY2FsbGVkIHdpdGggJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0ZWQgXFxcIisoUS0yKStcXFwiIGFyZ3MhJyk7XFxcXG59XFxcXG5cXFwiO2kmJihGKz1cXFwidmFyIGRlc3RydWN0b3JzID0gW107XFxcXG5cXFwiKTt2YXIgRz1pP1xcXCJkZXN0cnVjdG9yc1xcXCI6XFxcIm51bGxcXFwiLGg9W1xcXCJ0aHJvd0JpbmRpbmdFcnJvclxcXCIsXFxcImludm9rZXJcXFwiLFxcXCJmblxcXCIsXFxcInJ1bkRlc3RydWN0b3JzXFxcIixcXFwicmV0VHlwZVxcXCIsXFxcImNsYXNzUGFyYW1cXFwiXSxzPVtsSSxCLEMsZ2csSVswXSxJWzFdXTtmb3IoRSYmKEYrPVxcXCJ2YXIgdGhpc1dpcmVkID0gY2xhc3NQYXJhbS50b1dpcmVUeXBlKFxcXCIrRytcXFwiLCB0aGlzKTtcXFxcblxcXCIpLG89MDtvPFEtMjsrK28pRis9XFxcInZhciBhcmdcXFwiK28rXFxcIldpcmVkID0gYXJnVHlwZVxcXCIrbytcXFwiLnRvV2lyZVR5cGUoXFxcIitHK1xcXCIsIGFyZ1xcXCIrbytcXFwiKTsgLy8gXFxcIitJW28rMl0ubmFtZStcXFwiXFxcXG5cXFwiLGgucHVzaChcXFwiYXJnVHlwZVxcXCIrbykscy5wdXNoKElbbysyXSk7aWYoRSYmKHc9XFxcInRoaXNXaXJlZFxcXCIrKHcubGVuZ3RoPjA/XFxcIiwgXFxcIjpcXFwiXFxcIikrdyksRis9KEQ/XFxcInZhciBydiA9IFxcXCI6XFxcIlxcXCIpK1xcXCJpbnZva2VyKGZuXFxcIisody5sZW5ndGg+MD9cXFwiLCBcXFwiOlxcXCJcXFwiKSt3K1xcXCIpO1xcXFxuXFxcIixpKUYrPVxcXCJydW5EZXN0cnVjdG9ycyhkZXN0cnVjdG9ycyk7XFxcXG5cXFwiO2Vsc2UgZm9yKG89RT8xOjI7bzxJLmxlbmd0aDsrK28pe3ZhciBSPTE9PT1vP1xcXCJ0aGlzV2lyZWRcXFwiOlxcXCJhcmdcXFwiKyhvLTIpK1xcXCJXaXJlZFxcXCI7bnVsbCE9PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uJiYoRis9UitcXFwiX2R0b3IoXFxcIitSK1xcXCIpOyAvLyBcXFwiK0lbb10ubmFtZStcXFwiXFxcXG5cXFwiLGgucHVzaChSK1xcXCJfZHRvclxcXCIpLHMucHVzaChJW29dLmRlc3RydWN0b3JGdW5jdGlvbikpfXJldHVybiBEJiYoRis9XFxcInZhciByZXQgPSByZXRUeXBlLmZyb21XaXJlVHlwZShydik7XFxcXG5yZXR1cm4gcmV0O1xcXFxuXFxcIiksRis9XFxcIn1cXFxcblxcXCIsaC5wdXNoKEYpLElnKEZ1bmN0aW9uLGgpLmFwcGx5KG51bGwscyl9ZnVuY3Rpb24gQ2coQSxJLGcpe2lmKHZvaWQgMD09PUFbSV0ub3ZlcmxvYWRUYWJsZSl7dmFyIEI9QVtJXTtBW0ldPWZ1bmN0aW9uKCl7cmV0dXJuIEFbSV0ub3ZlcmxvYWRUYWJsZS5oYXNPd25Qcm9wZXJ0eShhcmd1bWVudHMubGVuZ3RoKXx8bEkoXFxcIkZ1bmN0aW9uICdcXFwiK2crXFxcIicgY2FsbGVkIHdpdGggYW4gaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIChcXFwiK2FyZ3VtZW50cy5sZW5ndGgrXFxcIikgLSBleHBlY3RzIG9uZSBvZiAoXFxcIitBW0ldLm92ZXJsb2FkVGFibGUrXFxcIikhXFxcIiksQVtJXS5vdmVybG9hZFRhYmxlW2FyZ3VtZW50cy5sZW5ndGhdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQVtJXS5vdmVybG9hZFRhYmxlPVtdLEFbSV0ub3ZlcmxvYWRUYWJsZVtCLmFyZ0NvdW50XT1CfX1mdW5jdGlvbiBRZyhJLGcsQil7QS5oYXNPd25Qcm9wZXJ0eShJKT8oKHZvaWQgMD09PUJ8fHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlW0JdKSYmbEkoXFxcIkNhbm5vdCByZWdpc3RlciBwdWJsaWMgbmFtZSAnXFxcIitJK1xcXCInIHR3aWNlXFxcIiksQ2coQSxJLEkpLEEuaGFzT3duUHJvcGVydHkoQikmJmxJKFxcXCJDYW5ub3QgcmVnaXN0ZXIgbXVsdGlwbGUgb3ZlcmxvYWRzIG9mIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgYXJndW1lbnRzIChcXFwiK0IrXFxcIikhXFxcIiksQVtJXS5vdmVybG9hZFRhYmxlW0JdPWcpOihBW0ldPWcsdm9pZCAwIT09QiYmKEFbSV0ubnVtQXJndW1lbnRzPUIpKX1mdW5jdGlvbiBFZyhBLEkpe2Zvcih2YXIgZz1bXSxCPTA7QjxBO0IrKylnLnB1c2goQUFbKEk+PjIpK0JdKTtyZXR1cm4gZ31mdW5jdGlvbiBpZyhJLGcsQil7QS5oYXNPd25Qcm9wZXJ0eShJKXx8V0koXFxcIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sXFxcIiksdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlJiZ2b2lkIDAhPT1CP0FbSV0ub3ZlcmxvYWRUYWJsZVtCXT1nOihBW0ldPWcsQVtJXS5hcmdDb3VudD1CKX1mdW5jdGlvbiBvZyhJLGcpe3ZhciBCO2lmKEk9S0koSSksdm9pZCAwIT09QVtcXFwiRlVOQ1RJT05fVEFCTEVfXFxcIitJXSlCPUFbXFxcIkZVTkNUSU9OX1RBQkxFX1xcXCIrSV1bZ107ZWxzZSBpZihcXFwidW5kZWZpbmVkXFxcIiE9dHlwZW9mIEZVTkNUSU9OX1RBQkxFKUI9RlVOQ1RJT05fVEFCTEVbZ107ZWxzZXt2YXIgQz1BW1xcXCJkeW5DYWxsX1xcXCIrSV07dm9pZCAwPT09QyYmdm9pZCAwPT09KEM9QVtcXFwiZHluQ2FsbF9cXFwiK0kucmVwbGFjZSgvZi9nLFxcXCJkXFxcIildKSYmbEkoXFxcIk5vIGR5bkNhbGwgaW52b2tlciBmb3Igc2lnbmF0dXJlOiBcXFwiK0kpLEI9ZnVuY3Rpb24oQSl7Zm9yKHZhciBCPVtdLEM9MTtDPEkubGVuZ3RoOysrQylCLnB1c2goXFxcImFcXFwiK0MpO3ZhciBRPVxcXCJyZXR1cm4gZnVuY3Rpb24gZHluQ2FsbF9cXFwiK0krXFxcIl9cXFwiK2crXFxcIihcXFwiK0Iuam9pbihcXFwiLCBcXFwiKStcXFwiKSB7XFxcXG5cXFwiO3JldHVybiBRKz1cXFwiICAgIHJldHVybiBkeW5DYWxsKHJhd0Z1bmN0aW9uXFxcIisoQi5sZW5ndGg/XFxcIiwgXFxcIjpcXFwiXFxcIikrQi5qb2luKFxcXCIsIFxcXCIpK1xcXCIpO1xcXFxuXFxcIixRKz1cXFwifTtcXFxcblxcXCIsbmV3IEZ1bmN0aW9uKFxcXCJkeW5DYWxsXFxcIixcXFwicmF3RnVuY3Rpb25cXFwiLFEpKEEsZyl9KEMpfXJldHVyblxcXCJmdW5jdGlvblxcXCIhPXR5cGVvZiBCJiZsSShcXFwidW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlIFxcXCIrSStcXFwiOiBcXFwiK2cpLEJ9dmFyIERnPXZvaWQgMDtmdW5jdGlvbiBhZyhBKXt2YXIgST13QihBKSxnPUtJKEkpO3JldHVybiBzQihJKSxnfWZ1bmN0aW9uIHdnKEEsSSl7dmFyIGc9W10sQj17fTt0aHJvdyBJLmZvckVhY2goKGZ1bmN0aW9uIEEoSSl7QltJXXx8WUlbSV18fChlSVtJXT9lSVtJXS5mb3JFYWNoKEEpOihnLnB1c2goSSksQltJXT0hMCkpfSkpLG5ldyBEZyhBK1xcXCI6IFxcXCIrZy5tYXAoYWcpLmpvaW4oW1xcXCIsIFxcXCJdKSl9ZnVuY3Rpb24gRmcoQSxJLGcsQixDLFEpe3ZhciBFPUVnKEksZyk7QT1LSShBKSxDPW9nKEIsQyksUWcoQSwoZnVuY3Rpb24oKXt3ZyhcXFwiQ2Fubm90IGNhbGwgXFxcIitBK1xcXCIgZHVlIHRvIHVuYm91bmQgdHlwZXNcXFwiLEUpfSksSS0xKSxwSShbXSxFLChmdW5jdGlvbihnKXt2YXIgQj1bZ1swXSxudWxsXS5jb25jYXQoZy5zbGljZSgxKSk7cmV0dXJuIGlnKEEsQmcoQSxCLG51bGwsQyxRKSxJLTEpLFtdfSkpfWZ1bmN0aW9uIEdnKEEsSSxnKXtzd2l0Y2goSSl7Y2FzZSAwOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiB2W0FdfTpmdW5jdGlvbihBKXtyZXR1cm4geltBXX07Y2FzZSAxOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBfW0E+PjFdfTpmdW5jdGlvbihBKXtyZXR1cm4gJFtBPj4xXX07Y2FzZSAyOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBBQVtBPj4yXX06ZnVuY3Rpb24oQSl7cmV0dXJuIElBW0E+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXFxcIlVua25vd24gaW50ZWdlciB0eXBlOiBcXFwiK0EpfX1mdW5jdGlvbiBoZyhBLEksZyxCLEMpe0k9S0koSSksLTE9PT1DJiYoQz00Mjk0OTY3Mjk1KTt2YXIgUT1jSShnKSxFPWZ1bmN0aW9uKEEpe3JldHVybiBBfTtpZigwPT09Qil7dmFyIGk9MzItOCpnO0U9ZnVuY3Rpb24oQSl7cmV0dXJuIEE8PGk+Pj5pfX12YXIgbz0tMSE9SS5pbmRleE9mKFxcXCJ1bnNpZ25lZFxcXCIpO1pJKEEse25hbWU6SSxmcm9tV2lyZVR5cGU6RSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsZyl7aWYoXFxcIm51bWJlclxcXCIhPXR5cGVvZiBnJiZcXFwiYm9vbGVhblxcXCIhPXR5cGVvZiBnKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFxcXCInK19JKGcpKydcXFwiIHRvICcrdGhpcy5uYW1lKTtpZihnPEJ8fGc+Qyl0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXNzaW5nIGEgbnVtYmVyIFxcXCInK19JKGcpKydcXFwiIGZyb20gSlMgc2lkZSB0byBDL0MrKyBzaWRlIHRvIGFuIGFyZ3VtZW50IG9mIHR5cGUgXFxcIicrSSsnXFxcIiwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2UgWycrQitcXFwiLCBcXFwiK0MrXFxcIl0hXFxcIik7cmV0dXJuIG8/Zz4+PjA6MHxnfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkdnKEksUSwwIT09QiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBzZyhBLEksZyl7dmFyIEI9W0ludDhBcnJheSxVaW50OEFycmF5LEludDE2QXJyYXksVWludDE2QXJyYXksSW50MzJBcnJheSxVaW50MzJBcnJheSxGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5XVtJXTtmdW5jdGlvbiBDKEEpe3ZhciBJPUlBLGc9SVtBPj49Ml0sQz1JW0ErMV07cmV0dXJuIG5ldyBCKEkuYnVmZmVyLEMsZyl9WkkoQSx7bmFtZTpnPUtJKGcpLGZyb21XaXJlVHlwZTpDLGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6Q30se2lnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnM6ITB9KX1mdW5jdGlvbiBSZyhBLEkpe3ZhciBnPVxcXCJzdGQ6OnN0cmluZ1xcXCI9PT0oST1LSShJKSk7WkkoQSx7bmFtZTpJLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgSSxCPUlBW0E+PjJdO2lmKGcpe3ZhciBDPXpbQSs0K0JdLFE9MDswIT1DJiYoUT1DLHpbQSs0K0JdPTApO2Zvcih2YXIgRT1BKzQsaT0wO2k8PUI7KytpKXt2YXIgbz1BKzQraTtpZigwPT16W29dKXt2YXIgRD1mKEUpO3ZvaWQgMD09PUk/ST1EOihJKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLEkrPUQpLEU9bysxfX0wIT1RJiYoeltBKzQrQl09USl9ZWxzZXt2YXIgYT1uZXcgQXJyYXkoQik7Zm9yKGk9MDtpPEI7KytpKWFbaV09U3RyaW5nLmZyb21DaGFyQ29kZSh6W0ErNCtpXSk7ST1hLmpvaW4oXFxcIlxcXCIpfXJldHVybiBzQihBKSxJfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7SSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiYoST1uZXcgVWludDhBcnJheShJKSk7dmFyIEI9XFxcInN0cmluZ1xcXCI9PXR5cGVvZiBJO0J8fEkgaW5zdGFuY2VvZiBVaW50OEFycmF5fHxJIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fEkgaW5zdGFuY2VvZiBJbnQ4QXJyYXl8fGxJKFxcXCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIHN0ZDo6c3RyaW5nXFxcIik7dmFyIEM9KGcmJkI/ZnVuY3Rpb24oKXtyZXR1cm4gVyhJKX06ZnVuY3Rpb24oKXtyZXR1cm4gSS5sZW5ndGh9KSgpLFE9UkIoNCtDKzEpO2lmKElBW1E+PjJdPUMsZyYmQil1KEksUSs0LEMrMSk7ZWxzZSBpZihCKWZvcih2YXIgRT0wO0U8QzsrK0Upe3ZhciBpPUkuY2hhckNvZGVBdChFKTtpPjI1NSYmKHNCKFEpLGxJKFxcXCJTdHJpbmcgaGFzIFVURi0xNiBjb2RlIHVuaXRzIHRoYXQgZG8gbm90IGZpdCBpbiA4IGJpdHNcXFwiKSkseltRKzQrRV09aX1lbHNlIGZvcihFPTA7RTxDOysrRSl6W1ErNCtFXT1JW0VdO3JldHVybiBudWxsIT09QSYmQS5wdXNoKHNCLFEpLFF9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIFVnKEEsSSxnKXt2YXIgQixDLFEsRSxpO2c9S0koZyksMj09PUk/KEI9WixDPWIsRT14LFE9ZnVuY3Rpb24oKXtyZXR1cm4gJH0saT0xKTo0PT09SSYmKEI9bSxDPVgsRT1WLFE9ZnVuY3Rpb24oKXtyZXR1cm4gSUF9LGk9MiksWkkoQSx7bmFtZTpnLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgZyxDPUlBW0E+PjJdLEU9USgpLG89RVtBKzQrQypJPj5pXSxEPTA7MCE9byYmKEQ9byxFW0ErNCtDKkk+PmldPTApO2Zvcih2YXIgYT1BKzQsdz0wO3c8PUM7Kyt3KXt2YXIgRj1BKzQrdypJO2lmKDA9PUVbRj4+aV0pe3ZhciBHPUIoYSk7dm9pZCAwPT09Zz9nPUc6KGcrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksZys9RyksYT1GK0l9fXJldHVybiAwIT1EJiYoRVtBKzQrQypJPj5pXT1EKSxzQihBKSxnfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsQil7XFxcInN0cmluZ1xcXCIhPXR5cGVvZiBCJiZsSShcXFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgXFxcIitnKTt2YXIgUT1FKEIpLG89UkIoNCtRK0kpO3JldHVybiBJQVtvPj4yXT1RPj5pLEMoQixvKzQsUStJKSxudWxsIT09QSYmQS5wdXNoKHNCLG8pLG99LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dkksZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEEpe3NCKEEpfX0pfWZ1bmN0aW9uIHlnKEEsSSl7WkkoQSx7aXNWb2lkOiEwLG5hbWU6ST1LSShJKSxhcmdQYWNrQWR2YW5jZTowLGZyb21XaXJlVHlwZTpmdW5jdGlvbigpe30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe319KX1mdW5jdGlvbiB0Zygpe0pBKCl9ZnVuY3Rpb24gU2coKXtyZXR1cm4gei5sZW5ndGh9ZnVuY3Rpb24gTWcoQSl7SkEoXFxcIk9PTVxcXCIpfWZ1bmN0aW9uIG5nKEEpe01nKCl9ZnVuY3Rpb24gY2coQSl7ZUIoQSl9ZnVuY3Rpb24gcmcoQSl7cmV0dXJuIDA9PT1BPzA6KEE9ZihBKSxqQS5oYXNPd25Qcm9wZXJ0eShBKT8ocmcucmV0JiZzQihyZy5yZXQpLHJnLnJldD1PKGpBW0FdKSxyZy5yZXQpOjApfWZ1bmN0aW9uIGtnKEEpe3ZhciBJPURhdGUubm93KCk7cmV0dXJuIEFBW0E+PjJdPUkvMWUzfDAsQUFbQSs0Pj4yXT1JJTFlMyoxZTN8MCwwfWZ1bmN0aW9uIEtnKEEpe3JldHVybiBNYXRoLnBvdygyLEEpfWZ1bmN0aW9uIE5nKEEpe3ZhciBJPVlnLGc9SS5MTFZNX1NBVkVEU1RBQ0tTW0FdO0kuTExWTV9TQVZFRFNUQUNLUy5zcGxpY2UoQSwxKSx5QihnKX1mdW5jdGlvbiBZZygpe3ZhciBBPVlnO3JldHVybiBBLkxMVk1fU0FWRURTVEFDS1N8fChBLkxMVk1fU0FWRURTVEFDS1M9W10pLEEuTExWTV9TQVZFRFNUQUNLUy5wdXNoKHRCKCkpLEEuTExWTV9TQVZFRFNUQUNLUy5sZW5ndGgtMX12YXIgZWc9NjExMzY7ZnVuY3Rpb24gSmcoKXtpZighSmcuY2FsbGVkKXtKZy5jYWxsZWQ9ITAsQUFbR0IoKT4+Ml09NjAqKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBBPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxJPW5ldyBEYXRlKEEsMCwxKSxnPW5ldyBEYXRlKEEsNiwxKTtBQVtGQigpPj4yXT1OdW1iZXIoSS5nZXRUaW1lem9uZU9mZnNldCgpIT1nLmdldFRpbWV6b25lT2Zmc2V0KCkpO3ZhciBCPWkoSSksQz1pKGcpLFE9TyhCKSxFPU8oQyk7Zy5nZXRUaW1lem9uZU9mZnNldCgpPEkuZ2V0VGltZXpvbmVPZmZzZXQoKT8oQUFbaEIoKT4+Ml09USxBQVtoQigpKzQ+PjJdPUUpOihBQVtoQigpPj4yXT1FLEFBW2hCKCkrND4+Ml09USl9ZnVuY3Rpb24gaShBKXt2YXIgST1BLnRvVGltZVN0cmluZygpLm1hdGNoKC9cXFxcKChbQS1aYS16IF0rKVxcXFwpJC8pO3JldHVybiBJP0lbMV06XFxcIkdNVFxcXCJ9fWZ1bmN0aW9uIEhnKEEsSSl7SmcoKTt2YXIgZz1uZXcgRGF0ZSgxZTMqQUFbQT4+Ml0pO0FBW0k+PjJdPWcuZ2V0U2Vjb25kcygpLEFBW0krND4+Ml09Zy5nZXRNaW51dGVzKCksQUFbSSs4Pj4yXT1nLmdldEhvdXJzKCksQUFbSSsxMj4+Ml09Zy5nZXREYXRlKCksQUFbSSsxNj4+Ml09Zy5nZXRNb250aCgpLEFBW0krMjA+PjJdPWcuZ2V0RnVsbFllYXIoKS0xOTAwLEFBW0krMjQ+PjJdPWcuZ2V0RGF5KCk7dmFyIEI9bmV3IERhdGUoZy5nZXRGdWxsWWVhcigpLDAsMSksQz0oZy5nZXRUaW1lKCktQi5nZXRUaW1lKCkpLzg2NGU1fDA7QUFbSSsyOD4+Ml09QyxBQVtJKzM2Pj4yXT0tNjAqZy5nZXRUaW1lem9uZU9mZnNldCgpO3ZhciBRPW5ldyBEYXRlKGcuZ2V0RnVsbFllYXIoKSw2LDEpLmdldFRpbWV6b25lT2Zmc2V0KCksRT1CLmdldFRpbWV6b25lT2Zmc2V0KCksaT0wfChRIT1FJiZnLmdldFRpbWV6b25lT2Zmc2V0KCk9PU1hdGgubWluKEUsUSkpO0FBW0krMzI+PjJdPWk7dmFyIG89QUFbaEIoKSsoaT80OjApPj4yXTtyZXR1cm4gQUFbSSs0MD4+Ml09byxJfWZ1bmN0aW9uIExnKEEpe3JldHVybiBIZyhBLGVnKX1mdW5jdGlvbiBxZyhBLEkpe3Rocm93IFVCKEEsSXx8MSksXFxcImxvbmdqbXBcXFwifWZ1bmN0aW9uIGRnKEEsSSxnKXt6LnNldCh6LnN1YmFycmF5KEksSStnKSxBKX1mdW5jdGlvbiBmZyhBKXtyZXR1cm4gQSU0PT0wJiYoQSUxMDAhPTB8fEElNDAwPT0wKX1mdW5jdGlvbiBsZyhBLEkpe2Zvcih2YXIgZz0wLEI9MDtCPD1JO2crPUFbQisrXSk7cmV0dXJuIGd9dShcXFwiR01UXFxcIiw2MTE4NCw0KTt2YXIgdWc9WzMxLDI5LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxXZz1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO2Z1bmN0aW9uIHBnKEEsSSl7Zm9yKHZhciBnPW5ldyBEYXRlKEEuZ2V0VGltZSgpKTtJPjA7KXt2YXIgQj1mZyhnLmdldEZ1bGxZZWFyKCkpLEM9Zy5nZXRNb250aCgpLFE9KEI/dWc6V2cpW0NdO2lmKCEoST5RLWcuZ2V0RGF0ZSgpKSlyZXR1cm4gZy5zZXREYXRlKGcuZ2V0RGF0ZSgpK0kpLGc7SS09US1nLmdldERhdGUoKSsxLGcuc2V0RGF0ZSgxKSxDPDExP2cuc2V0TW9udGgoQysxKTooZy5zZXRNb250aCgwKSxnLnNldEZ1bGxZZWFyKGcuZ2V0RnVsbFllYXIoKSsxKSl9cmV0dXJuIGd9ZnVuY3Rpb24gWmcoQSxJLGcsQil7dmFyIEM9QUFbQis0MD4+Ml0sUT17dG1fc2VjOkFBW0I+PjJdLHRtX21pbjpBQVtCKzQ+PjJdLHRtX2hvdXI6QUFbQis4Pj4yXSx0bV9tZGF5OkFBW0IrMTI+PjJdLHRtX21vbjpBQVtCKzE2Pj4yXSx0bV95ZWFyOkFBW0IrMjA+PjJdLHRtX3dkYXk6QUFbQisyND4+Ml0sdG1feWRheTpBQVtCKzI4Pj4yXSx0bV9pc2RzdDpBQVtCKzMyPj4yXSx0bV9nbXRvZmY6QUFbQiszNj4+Ml0sdG1fem9uZTpDP2YoQyk6XFxcIlxcXCJ9LEU9ZihnKSxpPXtcXFwiJWNcXFwiOlxcXCIlYSAlYiAlZCAlSDolTTolUyAlWVxcXCIsXFxcIiVEXFxcIjpcXFwiJW0vJWQvJXlcXFwiLFxcXCIlRlxcXCI6XFxcIiVZLSVtLSVkXFxcIixcXFwiJWhcXFwiOlxcXCIlYlxcXCIsXFxcIiVyXFxcIjpcXFwiJUk6JU06JVMgJXBcXFwiLFxcXCIlUlxcXCI6XFxcIiVIOiVNXFxcIixcXFwiJVRcXFwiOlxcXCIlSDolTTolU1xcXCIsXFxcIiV4XFxcIjpcXFwiJW0vJWQvJXlcXFwiLFxcXCIlWFxcXCI6XFxcIiVIOiVNOiVTXFxcIixcXFwiJUVjXFxcIjpcXFwiJWNcXFwiLFxcXCIlRUNcXFwiOlxcXCIlQ1xcXCIsXFxcIiVFeFxcXCI6XFxcIiVtLyVkLyV5XFxcIixcXFwiJUVYXFxcIjpcXFwiJUg6JU06JVNcXFwiLFxcXCIlRXlcXFwiOlxcXCIleVxcXCIsXFxcIiVFWVxcXCI6XFxcIiVZXFxcIixcXFwiJU9kXFxcIjpcXFwiJWRcXFwiLFxcXCIlT2VcXFwiOlxcXCIlZVxcXCIsXFxcIiVPSFxcXCI6XFxcIiVIXFxcIixcXFwiJU9JXFxcIjpcXFwiJUlcXFwiLFxcXCIlT21cXFwiOlxcXCIlbVxcXCIsXFxcIiVPTVxcXCI6XFxcIiVNXFxcIixcXFwiJU9TXFxcIjpcXFwiJVNcXFwiLFxcXCIlT3VcXFwiOlxcXCIldVxcXCIsXFxcIiVPVVxcXCI6XFxcIiVVXFxcIixcXFwiJU9WXFxcIjpcXFwiJVZcXFwiLFxcXCIlT3dcXFwiOlxcXCIld1xcXCIsXFxcIiVPV1xcXCI6XFxcIiVXXFxcIixcXFwiJU95XFxcIjpcXFwiJXlcXFwifTtmb3IodmFyIG8gaW4gaSlFPUUucmVwbGFjZShuZXcgUmVnRXhwKG8sXFxcImdcXFwiKSxpW29dKTt2YXIgRD1bXFxcIlN1bmRheVxcXCIsXFxcIk1vbmRheVxcXCIsXFxcIlR1ZXNkYXlcXFwiLFxcXCJXZWRuZXNkYXlcXFwiLFxcXCJUaHVyc2RheVxcXCIsXFxcIkZyaWRheVxcXCIsXFxcIlNhdHVyZGF5XFxcIl0sYT1bXFxcIkphbnVhcnlcXFwiLFxcXCJGZWJydWFyeVxcXCIsXFxcIk1hcmNoXFxcIixcXFwiQXByaWxcXFwiLFxcXCJNYXlcXFwiLFxcXCJKdW5lXFxcIixcXFwiSnVseVxcXCIsXFxcIkF1Z3VzdFxcXCIsXFxcIlNlcHRlbWJlclxcXCIsXFxcIk9jdG9iZXJcXFwiLFxcXCJOb3ZlbWJlclxcXCIsXFxcIkRlY2VtYmVyXFxcIl07ZnVuY3Rpb24gdyhBLEksZyl7Zm9yKHZhciBCPVxcXCJudW1iZXJcXFwiPT10eXBlb2YgQT9BLnRvU3RyaW5nKCk6QXx8XFxcIlxcXCI7Qi5sZW5ndGg8STspQj1nWzBdK0I7cmV0dXJuIEJ9ZnVuY3Rpb24gRihBLEkpe3JldHVybiB3KEEsSSxcXFwiMFxcXCIpfWZ1bmN0aW9uIEcoQSxJKXtmdW5jdGlvbiBnKEEpe3JldHVybiBBPDA/LTE6QT4wPzE6MH12YXIgQjtyZXR1cm4gMD09PShCPWcoQS5nZXRGdWxsWWVhcigpLUkuZ2V0RnVsbFllYXIoKSkpJiYwPT09KEI9ZyhBLmdldE1vbnRoKCktSS5nZXRNb250aCgpKSkmJihCPWcoQS5nZXREYXRlKCktSS5nZXREYXRlKCkpKSxCfWZ1bmN0aW9uIGgoQSl7c3dpdGNoKEEuZ2V0RGF5KCkpe2Nhc2UgMDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLTEsMTEsMjkpO2Nhc2UgMTpyZXR1cm4gQTtjYXNlIDI6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDMpO2Nhc2UgMzpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMik7Y2FzZSA0OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwxKTtjYXNlIDU6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMxKTtjYXNlIDY6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDMwKX19ZnVuY3Rpb24gcyhBKXt2YXIgST1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSksZz1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCksMCw0KSxCPW5ldyBEYXRlKEkuZ2V0RnVsbFllYXIoKSsxLDAsNCksQz1oKGcpLFE9aChCKTtyZXR1cm4gRyhDLEkpPD0wP0coUSxJKTw9MD9JLmdldEZ1bGxZZWFyKCkrMTpJLmdldEZ1bGxZZWFyKCk6SS5nZXRGdWxsWWVhcigpLTF9dmFyIFI9e1xcXCIlYVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XS5zdWJzdHJpbmcoMCwzKX0sXFxcIiVBXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRFtBLnRtX3dkYXldfSxcXFwiJWJcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBhW0EudG1fbW9uXS5zdWJzdHJpbmcoMCwzKX0sXFxcIiVCXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl19LFxcXCIlQ1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoKEEudG1feWVhcisxOTAwKS8xMDB8MCwyKX0sXFxcIiVkXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21kYXksMil9LFxcXCIlZVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHcoQS50bV9tZGF5LDIsXFxcIiBcXFwiKX0sXFxcIiVnXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXFxcIiVHXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKX0sXFxcIiVIXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX2hvdXIsMil9LFxcXCIlSVxcXCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9ob3VyO3JldHVybiAwPT1JP0k9MTI6ST4xMiYmKEktPTEyKSxGKEksMil9LFxcXCIlalxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5K2xnKGZnKEEudG1feWVhcisxOTAwKT91ZzpXZyxBLnRtX21vbi0xKSwzKX0sXFxcIiVtXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21vbisxLDIpfSxcXFwiJU1cXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbWluLDIpfSxcXFwiJW5cXFwiOmZ1bmN0aW9uKCl7cmV0dXJuXFxcIlxcXFxuXFxcIn0sXFxcIiVwXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV9ob3VyPj0wJiZBLnRtX2hvdXI8MTI/XFxcIkFNXFxcIjpcXFwiUE1cXFwifSxcXFwiJVNcXFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fc2VjLDIpfSxcXFwiJXRcXFwiOmZ1bmN0aW9uKCl7cmV0dXJuXFxcIlxcXFx0XFxcIn0sXFxcIiV1XFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fHw3fSxcXFwiJVVcXFwiOmZ1bmN0aW9uKEEpe3ZhciBJPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsMSksZz0wPT09SS5nZXREYXkoKT9JOnBnKEksNy1JLmdldERheSgpKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cXFwiMDFcXFwiOlxcXCIwMFxcXCJ9LFxcXCIlVlxcXCI6ZnVuY3Rpb24oQSl7dmFyIEksZz1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDQpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDEsMCw0KSxDPWgoZyksUT1oKEIpLEU9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpO3JldHVybiBHKEUsQyk8MD9cXFwiNTNcXFwiOkcoUSxFKTw9MD9cXFwiMDFcXFwiOihJPUMuZ2V0RnVsbFllYXIoKTxBLnRtX3llYXIrMTkwMD9BLnRtX3lkYXkrMzItQy5nZXREYXRlKCk6QS50bV95ZGF5KzEtQy5nZXREYXRlKCksRihNYXRoLmNlaWwoSS83KSwyKSl9LFxcXCIld1xcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fd2RheX0sXFxcIiVXXFxcIjpmdW5jdGlvbihBKXt2YXIgST1uZXcgRGF0ZShBLnRtX3llYXIsMCwxKSxnPTE9PT1JLmdldERheSgpP0k6cGcoSSwwPT09SS5nZXREYXkoKT8xOjctSS5nZXREYXkoKSsxKSxCPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLEEudG1fbW9uLEEudG1fbWRheSk7aWYoRyhnLEIpPDApe3ZhciBDPWxnKGZnKEIuZ2V0RnVsbFllYXIoKSk/dWc6V2csQi5nZXRNb250aCgpLTEpLTMxLFE9MzEtZy5nZXREYXRlKCkrQytCLmdldERhdGUoKTtyZXR1cm4gRihNYXRoLmNlaWwoUS83KSwyKX1yZXR1cm4gMD09PUcoZyxJKT9cXFwiMDFcXFwiOlxcXCIwMFxcXCJ9LFxcXCIleVxcXCI6ZnVuY3Rpb24oQSl7cmV0dXJuKEEudG1feWVhcisxOTAwKS50b1N0cmluZygpLnN1YnN0cmluZygyKX0sXFxcIiVZXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV95ZWFyKzE5MDB9LFxcXCIlelxcXCI6ZnVuY3Rpb24oQSl7dmFyIEk9QS50bV9nbXRvZmYsZz1JPj0wO3JldHVybiBJPShJPU1hdGguYWJzKEkpLzYwKS82MCoxMDArSSU2MCwoZz9cXFwiK1xcXCI6XFxcIi1cXFwiKStTdHJpbmcoXFxcIjAwMDBcXFwiK0kpLnNsaWNlKC00KX0sXFxcIiVaXFxcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV96b25lfSxcXFwiJSVcXFwiOmZ1bmN0aW9uKCl7cmV0dXJuXFxcIiVcXFwifX07Zm9yKHZhciBvIGluIFIpRS5pbmRleE9mKG8pPj0wJiYoRT1FLnJlcGxhY2UobmV3IFJlZ0V4cChvLFxcXCJnXFxcIiksUltvXShRKSkpO3ZhciBVPVhnKEUsITEpO3JldHVybiBVLmxlbmd0aD5JPzA6KFQoVSxBKSxVLmxlbmd0aC0xKX1mdW5jdGlvbiBiZyhBLEksZyxCKXtyZXR1cm4gWmcoQSxJLGcsQil9ZnVuY3Rpb24geGcoQSl7dmFyIEk9RGF0ZS5ub3coKS8xZTN8MDtyZXR1cm4gQSYmKEFBW0E+PjJdPUkpLEl9aUkuc3RhdGljSW5pdCgpLHJJKCksZkk9QS5CaW5kaW5nRXJyb3I9ZEkoRXJyb3IsXFxcIkJpbmRpbmdFcnJvclxcXCIpLHVJPUEuSW50ZXJuYWxFcnJvcj1kSShFcnJvcixcXFwiSW50ZXJuYWxFcnJvclxcXCIpLGpJKCksRGc9QS5VbmJvdW5kVHlwZUVycm9yPWRJKEVycm9yLFxcXCJVbmJvdW5kVHlwZUVycm9yXFxcIik7dmFyIG1nPSExO2Z1bmN0aW9uIFhnKEEsSSxnKXt2YXIgQj1nPjA/ZzpXKEEpKzEsQz1uZXcgQXJyYXkoQiksUT1sKEEsQywwLEMubGVuZ3RoKTtyZXR1cm4gSSYmKEMubGVuZ3RoPVEpLEN9ZnVuY3Rpb24gVmcoQSl7Zm9yKHZhciBJPVtdLGc9MDtnPEEubGVuZ3RoO2crKyl7dmFyIEI9QVtnXTtCPjI1NSYmKG1nJiZIKCExLFxcXCJDaGFyYWN0ZXIgY29kZSBcXFwiK0IrXFxcIiAoXFxcIitTdHJpbmcuZnJvbUNoYXJDb2RlKEIpK1xcXCIpICBhdCBvZmZzZXQgXFxcIitnK1xcXCIgbm90IGluIDB4MDAtMHhGRi5cXFwiKSxCJj0yNTUpLEkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX1yZXR1cm4gSS5qb2luKFxcXCJcXFwiKX12YXIgT2c9XFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIGF0b2I/YXRvYjpmdW5jdGlvbihBKXt2YXIgSSxnLEIsQyxRLEUsaT1cXFwiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz1cXFwiLG89XFxcIlxcXCIsRD0wO0E9QS5yZXBsYWNlKC9bXkEtWmEtejAtOVxcXFwrXFxcXC9cXFxcPV0vZyxcXFwiXFxcIik7ZG97ST1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSk8PDJ8KEM9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+NCxnPSgxNSZDKTw8NHwoUT1pLmluZGV4T2YoQS5jaGFyQXQoRCsrKSkpPj4yLEI9KDMmUSk8PDZ8KEU9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKSxvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLDY0IT09USYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoZykpLDY0IT09RSYmKG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoQikpfXdoaWxlKEQ8QS5sZW5ndGgpO3JldHVybiBvfTtmdW5jdGlvbiBUZyhBKXtpZihcXFwiYm9vbGVhblxcXCI9PXR5cGVvZiB3JiZ3KXt2YXIgSTt0cnl7ST1CdWZmZXIuZnJvbShBLFxcXCJiYXNlNjRcXFwiKX1jYXRjaChnKXtJPW5ldyBCdWZmZXIoQSxcXFwiYmFzZTY0XFxcIil9cmV0dXJuIG5ldyBVaW50OEFycmF5KEkuYnVmZmVyLEkuYnl0ZU9mZnNldCxJLmJ5dGVMZW5ndGgpfXRyeXtmb3IodmFyIGc9T2coQSksQj1uZXcgVWludDhBcnJheShnLmxlbmd0aCksQz0wO0M8Zy5sZW5ndGg7KytDKUJbQ109Zy5jaGFyQ29kZUF0KEMpO3JldHVybiBCfWNhdGNoKEEpe3Rocm93IG5ldyBFcnJvcihcXFwiQ29udmVydGluZyBiYXNlNjQgc3RyaW5nIHRvIGJ5dGVzIGZhaWxlZC5cXFwiKX19ZnVuY3Rpb24gamcoQSl7aWYoTEEoQSkpcmV0dXJuIFRnKEEuc2xpY2UoSEEubGVuZ3RoKSl9ZnVuY3Rpb24gUGcoQSxJKXt2YXIgZz10QigpO3RyeXtyZXR1cm4gU0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gdmcoQSxJLGcpe3ZhciBCPXRCKCk7dHJ5e3JldHVybiBNQihBLEksZyl9Y2F0Y2goQSl7aWYoeUIoQiksQSE9PUErMCYmXFxcImxvbmdqbXBcXFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uIHpnKEEsSSxnLEIpe3ZhciBDPXRCKCk7dHJ5e3JldHVybiBuQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gX2coQSxJKXt2YXIgZz10QigpO3RyeXtjQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlxcXCJsb25nam1wXFxcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiAkZyhBLEksZyl7dmFyIEI9dEIoKTt0cnl7ckIoQSxJLGcpfWNhdGNoKEEpe2lmKHlCKEIpLEEhPT1BKzAmJlxcXCJsb25nam1wXFxcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiBBQihBLEksZyxCKXt2YXIgQz10QigpO3RyeXtrQihBLEksZyxCKX1jYXRjaChBKXtpZih5QihDKSxBIT09QSswJiZcXFwibG9uZ2ptcFxcXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gSUIoQSxJLGcsQixDKXt2YXIgUT10QigpO3RyeXtLQihBLEksZyxCLEMpfWNhdGNoKEEpe2lmKHlCKFEpLEEhPT1BKzAmJlxcXCJsb25nam1wXFxcIiE9PUEpdGhyb3cgQTtVQigxLDApfX12YXIgZ0I9e30sQkI9eyQ6dkEsZjp6QSxlOiRBLEE6QUksXzpnSSx6OkRJLFo6YUksWTp3SSxYOkdJLG86aEkseTpSSSxXOnlJLEQ6U0ksVjpuSSxVOmJJLHg6eEksVDp6SSx3OkFnLGo6RmcsazpoZyxpOnNnLHY6UmcsczpVZyxTOnlnLF9fbWVtb3J5X2Jhc2U6MTAyNCxfX3RhYmxlX2Jhc2U6MCxhOnRnLFI6bUEsUTp4QSxQOmJBLE86WkEsTjpYQSxNOlNnLEs6ZGcsSjpuZyxiOmNnLG46cmcsdTprZyxJOktnLG06TmcsbDpZZyxIOkxnLGc6cWcsRjpaZyxFOmJnLHQ6eGcsYzpKQSxoOlkscTpQZyxMOnZnLEc6emcscDpfZyxDOiRnLEI6QUIscjpJQixtZW1vcnk6cixkOk4sdGFibGU6ZX0sQ0I9QS5hc20oZ0IsQkIsUCk7QS5hc209Q0I7dmFyIFFCLEVCPUEuX19HTE9CQUxfX3N1Yl9JX0FSVG9vbEtpdEpTX2NwcD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5hYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGlCPUEuX19HTE9CQUxfX3N1Yl9JX2JpbmRfY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb0I9QS5fX0dMT0JBTF9fc3ViX0lfaW9zdHJlYW1fY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sREI9QS5fX1pTdDE4dW5jYXVnaHRfZXhjZXB0aW9udj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5kYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGFCPShBLl9fX2VtYmluZF9yZWdpc3Rlcl9uYXRpdmVfYW5kX2J1aWx0aW5fdHlwZXM9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uZWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLl9fX2Vtc2NyaXB0ZW5fZW52aXJvbl9jb25zdHJ1Y3Rvcj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5mYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSx3Qj0oQS5fX19lcnJub19sb2NhdGlvbj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5nYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuX19fZ2V0VHlwZU5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uaGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksRkI9QS5fX2dldF9kYXlsaWdodD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5pYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEdCPUEuX19nZXRfdGltZXpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uamEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxoQj1BLl9fZ2V0X3R6bmFtZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5rYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHNCPUEuX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxSQj1BLl9tYWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ubWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVQj1BLl9zZXRUaHJldz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5uYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHlCPShBLnN0YWNrQWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLnN0YWNrUmVzdG9yZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5TYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSx0Qj1BLnN0YWNrU2F2ZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5UYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFNCPShBLmR5bkNhbGxfZGk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ub2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfZGlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnBhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2k9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksTUI9KEEuZHluQ2FsbF9paWRpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS50YS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxuQj1BLmR5bkNhbGxfaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS51YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGNCPShBLmR5bkNhbGxfaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20udmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLndhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS54YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlkPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnlhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uemEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkJhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9qaWppPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3Y9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksckI9KEEuZHluQ2FsbF92aWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uR2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlmPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5JYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxrQj0oQS5keW5DYWxsX3ZpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpZj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5LYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkxhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLEtCPUEuZHluQ2FsbF92aWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5NYS5hcHBseShudWxsLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIE5CKEEpe3RoaXMubmFtZT1cXFwiRXhpdFN0YXR1c1xcXCIsdGhpcy5tZXNzYWdlPVxcXCJQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBleGl0KFxcXCIrQStcXFwiKVxcXCIsdGhpcy5zdGF0dXM9QX1mdW5jdGlvbiBZQihJKXtmdW5jdGlvbiBnKCl7UUJ8fChRQj0hMCxKfHwoUkEoKSxVQSgpLEEub25SdW50aW1lSW5pdGlhbGl6ZWQmJkEub25SdW50aW1lSW5pdGlhbGl6ZWQoKSx5QSgpKSl9ST1JfHxDLGtBPjB8fChzQSgpLGtBPjB8fChBLnNldFN0YXR1cz8oQS5zZXRTdGF0dXMoXFxcIlJ1bm5pbmcuLi5cXFwiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7QS5zZXRTdGF0dXMoXFxcIlxcXCIpfSksMSksZygpfSksMSkpOmcoKSkpfWZ1bmN0aW9uIGVCKEksZyl7ZyYmYyYmMD09PUl8fChjfHwoSj0hMCxBLm9uRXhpdCYmQS5vbkV4aXQoSSkpLEUoSSxuZXcgTkIoSSkpKX1pZihBLmR5bkNhbGxfdmlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk5hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uT2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpamlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5hc209Q0IsQS5GUz1pSSxBLnRoZW49ZnVuY3Rpb24oSSl7aWYoUUIpSShBKTtlbHNle3ZhciBnPUEub25SdW50aW1lSW5pdGlhbGl6ZWQ7QS5vblJ1bnRpbWVJbml0aWFsaXplZD1mdW5jdGlvbigpe2cmJmcoKSxJKEEpfX1yZXR1cm4gQX0sTkE9ZnVuY3Rpb24gQSgpe1FCfHxZQigpLFFCfHwoTkE9QSl9LEEucnVuPVlCLEEucHJlSW5pdClmb3IoXFxcImZ1bmN0aW9uXFxcIj09dHlwZW9mIEEucHJlSW5pdCYmKEEucHJlSW5pdD1bQS5wcmVJbml0XSk7QS5wcmVJbml0Lmxlbmd0aD4wOylBLnByZUluaXQucG9wKCkoKTtyZXR1cm4gYz0hMCxZQigpLEF9KTtjb25zdCBGPXcsRz1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Rih7b25SdW50aW1lSW5pdGlhbGl6ZWQ6ZnVuY3Rpb24oKXtBKHtpbnN0YW5jZTp0aGlzfSl9fSl9KSl9O3ZhciBoPWcoNjY5KSxzPWcubihoKSxSPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKX12YXIgZztyZXR1cm4gRShBLG51bGwsW3trZXk6XFxcImZldGNoUmVtb3RlRGF0YVxcXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLnByZXY9MCxBLm5leHQ9MyxzKCkuZ2V0KEkse3Jlc3BvbnNlVHlwZTpcXFwiYXJyYXlidWZmZXJcXFwifSk7Y2FzZSAzOnJldHVybiBnPUEuc2VudCxBLmFicnVwdChcXFwicmV0dXJuXFxcIixuZXcgVWludDhBcnJheShnLmRhdGEpKTtjYXNlIDc6dGhyb3cgQS5wcmV2PTcsQS50MD1BLmNhdGNoKDApLEEudDA7Y2FzZSAxMDpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsbnVsbCxbWzAsN11dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcInN0cmluZzJVaW50OERhdGFcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST1uZXcgVWludDhBcnJheShBLmxlbmd0aCksZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ109MjU1JkEuY2hhckNvZGVBdChnKTtyZXR1cm4gSX19LHtrZXk6XFxcInVpbnQ4RGF0YTJTdHJpbmdcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyxBKX19LHtrZXk6XFxcInBhcnNlTXVsdGlGaWxlXFxcIix2YWx1ZTpmdW5jdGlvbihJKXt2YXIgZz1BLnVpbnQ4RGF0YTJTdHJpbmcoSSkuc3BsaXQoXFxcIlxcXFxuXFxcIiksQj1bXSxDPTA7cmV0dXJuIGcuZm9yRWFjaCgoZnVuY3Rpb24oQSl7aWYoKEE9QS50cmltKCkpJiYhQS5zdGFydHNXaXRoKFxcXCIjXFxcIikpc3dpdGNoKEMpe2Nhc2UgMDpyZXR1cm4gdm9pZChDPTEpO2Nhc2UgMTpBLm1hdGNoKC9eXFxcXGQrJC8pfHxCLnB1c2goQSk7Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6cmV0dXJuIHZvaWQgQysrO2Nhc2UgNTpyZXR1cm4gdm9pZChDPTEpfX0pKSxCfX1dKSxBfSgpLFU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpLHRoaXMuaW5zdGFuY2UsdGhpcy5tYXJrZXJDb3VudD0wLHRoaXMubXVsdGlNYXJrZXJDb3VudD0wLHRoaXMuY2FtZXJhQ291bnQ9MCx0aGlzLnZlcnNpb249XFxcIjAuMS4wXFxcIixjb25zb2xlLmluZm8oXFxcIkFSVG9vbGtpdCBcXFwiLHRoaXMudmVyc2lvbil9dmFyIEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlxcXCJpbml0XFxcIix2YWx1ZTooYT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsRygpO2Nhc2UgMjpyZXR1cm4gST1BLnNlbnQsdGhpcy5pbnN0YW5jZT1JLmluc3RhbmNlLHRoaXMuX2RlY29yYXRlKCksKFxcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpnLmcpLmFydG9vbGtpdD10aGlzLEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLHRoaXMpO2Nhc2UgODpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcIl9kZWNvcmF0ZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQT10aGlzO2Zvcih2YXIgSSBpbltcXFwic2V0dXBcXFwiLFxcXCJ0ZWFyZG93blxcXCIsXFxcInNldHVwQVIyXFxcIixcXFwic2V0TG9nTGV2ZWxcXFwiLFxcXCJnZXRMb2dMZXZlbFxcXCIsXFxcInNldERlYnVnTW9kZVxcXCIsXFxcImdldERlYnVnTW9kZVxcXCIsXFxcImdldFByb2Nlc3NpbmdJbWFnZVxcXCIsXFxcInNldE1hcmtlckluZm9EaXJcXFwiLFxcXCJzZXRNYXJrZXJJbmZvVmVydGV4XFxcIixcXFwiZ2V0VHJhbnNNYXRTcXVhcmVcXFwiLFxcXCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcXFwiLFxcXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXFxcIixcXFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdFxcXCIsXFxcImdldE11bHRpTWFya2VyTnVtXFxcIixcXFwiZ2V0TXVsdGlNYXJrZXJDb3VudFxcXCIsXFxcImRldGVjdE1hcmtlclxcXCIsXFxcImdldE1hcmtlck51bVxcXCIsXFxcImRldGVjdE5GVE1hcmtlclxcXCIsXFxcImdldE5GVE1hcmtlclxcXCIsXFxcImdldE1hcmtlclxcXCIsXFxcImdldE11bHRpRWFjaE1hcmtlclxcXCIsXFxcInNldFByb2plY3Rpb25OZWFyUGxhbmVcXFwiLFxcXCJnZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIixcXFwic2V0UHJvamVjdGlvbkZhclBsYW5lXFxcIixcXFwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXFxcIixcXFwic2V0VGhyZXNob2xkTW9kZVxcXCIsXFxcImdldFRocmVzaG9sZE1vZGVcXFwiLFxcXCJzZXRUaHJlc2hvbGRcXFwiLFxcXCJnZXRUaHJlc2hvbGRcXFwiLFxcXCJzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxcXCIsXFxcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXFxcIixcXFwic2V0TWF0cml4Q29kZVR5cGVcXFwiLFxcXCJnZXRNYXRyaXhDb2RlVHlwZVxcXCIsXFxcInNldExhYmVsaW5nTW9kZVxcXCIsXFxcImdldExhYmVsaW5nTW9kZVxcXCIsXFxcInNldFBhdHRSYXRpb1xcXCIsXFxcImdldFBhdHRSYXRpb1xcXCIsXFxcInNldEltYWdlUHJvY01vZGVcXFwiLFxcXCJnZXRJbWFnZVByb2NNb2RlXFxcIl0uZm9yRWFjaCgoZnVuY3Rpb24oSSl7QVtJXT1BLmluc3RhbmNlW0ldfSkpLHRoaXMuaW5zdGFuY2UpSS5tYXRjaCgvXkFSLykmJih0aGlzW0ldPXRoaXMuaW5zdGFuY2VbSV0pfX0se2tleTpcXFwibG9hZENhbWVyYVxcXCIsdmFsdWU6KEQ9SShvKCkubWFyaygoZnVuY3Rpb24gQShJKXt2YXIgZyxCO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6aWYoZz1cXFwiL2NhbWVyYV9wYXJhbV9cXFwiK3RoaXMuY2FtZXJhQ291bnQrKywhKEkgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl7QS5uZXh0PTU7YnJlYWt9Qj1JLEEubmV4dD0xNDticmVhaztjYXNlIDU6cmV0dXJuIEEucHJldj01LEEubmV4dD04LFIuZmV0Y2hSZW1vdGVEYXRhKEkpO2Nhc2UgODpCPUEuc2VudCxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0aHJvdyBBLnByZXY9MTEsQS50MD1BLmNhdGNoKDUpLEEudDA7Y2FzZSAxNDpyZXR1cm4gdGhpcy5fc3RvcmVEYXRhRmlsZShCLGcpLEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLHRoaXMuaW5zdGFuY2UuX2xvYWRDYW1lcmEoZykpO2Nhc2UgMTY6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMsW1s1LDExXV0pfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiYWRkTWFya2VyXFxcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEksZyl7dmFyIEIsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKEI9XFxcIi9tYXJrZXJfXFxcIit0aGlzLm1hcmtlckNvdW50KyssLTE9PT1nLmluZGV4T2YoXFxcIlxcXFxuXFxcIikpe0EubmV4dD01O2JyZWFrfUM9Ui5zdHJpbmcyVWludDhEYXRhKGcpLEEubmV4dD0xNDticmVhaztjYXNlIDU6cmV0dXJuIEEucHJldj01LEEubmV4dD04LFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgODpDPUEuc2VudCxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0aHJvdyBBLnByZXY9MTEsQS50MD1BLmNhdGNoKDUpLEEudDA7Y2FzZSAxNDpyZXR1cm4gdGhpcy5fc3RvcmVEYXRhRmlsZShDLEIpLEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLHRoaXMuaW5zdGFuY2UuX2FkZE1hcmtlcihJLEIpKTtjYXNlIDE2OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiYWRkTXVsdGlNYXJrZXJcXFwiLHZhbHVlOihRPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoZyxCKXt2YXIgQyxRLEUsaSxELGEsdztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBDPVxcXCIvbXVsdGlfbWFya2VyX1xcXCIrdGhpcy5tdWx0aU1hcmtlckNvdW50KyssQS5uZXh0PTMsUi5mZXRjaFJlbW90ZURhdGEoQik7Y2FzZSAzOnJldHVybiBRPUEuc2VudCxFPVIucGFyc2VNdWx0aUZpbGUoUSksaT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPW5ldyBVUkwoSSxCKS50b1N0cmluZygpLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgMzpDPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEMsSSk7Y2FzZSA1OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCksRD1FLm1hcChpLHRoaXMpLEEubmV4dD05LFByb21pc2UuYWxsKEQpO2Nhc2UgOTpyZXR1cm4gYT10aGlzLmluc3RhbmNlLl9hZGRNdWx0aU1hcmtlcihnLEMpLHc9dGhpcy5pbnN0YW5jZS5nZXRNdWx0aU1hcmtlck51bShnLGEpLEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLFthLHddKTtjYXNlIDEyOmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiYWRkTkZUTWFya2VyXFxcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cXFwiL21hcmtlck5GVF9cXFwiK3RoaXMubWFya2VyQ291bnQrKyxRPVtcXFwiZnNldFxcXCIsXFxcImlzZXRcXFwiLFxcXCJmc2V0M1xcXCJdLEU9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLFEsRTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBnPUIrXFxcIi5cXFwiK0ksUT1DK1xcXCIuXFxcIitJLEEubmV4dD00LFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgNDpFPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEUsUSk7Y2FzZSA2OmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCksaT1RLm1hcChFLHRoaXMpLEEubmV4dD02LFByb21pc2UuYWxsKGkpO2Nhc2UgNjpyZXR1cm4gQS5hYnJ1cHQoXFxcInJldHVyblxcXCIsdGhpcy5pbnN0YW5jZS5fYWRkTkZUTWFya2VyKGcsQykpO2Nhc2UgNzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcIl9zdG9yZURhdGFGaWxlXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3RoaXMuaW5zdGFuY2UuRlMud3JpdGVGaWxlKEksQSx7ZW5jb2Rpbmc6XFxcImJpbmFyeVxcXCJ9KX19XSxbe2tleTpcXFwiVU5LTk9XTl9NQVJLRVJcXFwiLGdldDpmdW5jdGlvbigpe3JldHVybi0xfX0se2tleTpcXFwiUEFUVEVSTl9NQVJLRVJcXFwiLGdldDpmdW5jdGlvbigpe3JldHVybiAwfX0se2tleTpcXFwiQkFSQ09ERV9NQVJLRVJcXFwiLGdldDpmdW5jdGlvbigpe3JldHVybiAxfX0se2tleTpcXFwiTkZUX01BUktFUlxcXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDJ9fV0pLEF9KCk7ZnVuY3Rpb24geShBLEksZyl7cmV0dXJuIEkgaW4gQT9PYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLHt2YWx1ZTpnLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6QVtJXT1nLEF9ZnVuY3Rpb24gdChBLEkpe3ZhciBnPU9iamVjdC5rZXlzKEEpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7SSYmKEI9Qi5maWx0ZXIoKGZ1bmN0aW9uKEkpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsSSkuZW51bWVyYWJsZX0pKSksZy5wdXNoLmFwcGx5KGcsQil9cmV0dXJuIGd9ZnVuY3Rpb24gUyhBKXtmb3IodmFyIEk9MTtJPGFyZ3VtZW50cy5sZW5ndGg7SSsrKXt2YXIgZz1udWxsIT1hcmd1bWVudHNbSV0/YXJndW1lbnRzW0ldOnt9O0klMj90KE9iamVjdChnKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7eShBLEksZ1tJXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhnKSk6dChPYmplY3QoZykpLmZvckVhY2goKGZ1bmN0aW9uKEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnLEkpKX0pKX1yZXR1cm4gQX12YXIgTT1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoSSxnLEIsUSl7Qyh0aGlzLEEpLHRoaXMub3B0aW9ucz1TKFMoe30se2NhbnZhczpudWxsLG9yaWVudGF0aW9uOlxcXCJsYW5kc2NhcGVcXFwifSksUSksdGhpcy5pZD0tMSx0aGlzLndpZHRoPUksdGhpcy5oZWlnaHQ9Zyx0aGlzLmltYWdlLHRoaXMub3JpZW50YXRpb249dGhpcy5vcHRpb25zLm9yaWVudGF0aW9uLHRoaXMuY2FtZXJhUGFyYW09Qix0aGlzLmNhbWVyYUlkPS0xLHRoaXMuY2FtZXJhTG9hZGVkPSExLHRoaXMuYXJ0b29sa2l0LHRoaXMubGlzdGVuZXJzPXt9LHRoaXMuZGVmYXVsdE1hcmtlcldpZHRoPTEsdGhpcy5wYXR0ZXJuTWFya2Vycz17fSx0aGlzLmJhcmNvZGVNYXJrZXJzPXt9LHRoaXMubmZ0TWFya2Vycz17fSx0aGlzLnRyYW5zZm9ybV9tYXQ9bmV3IEZsb2F0MzJBcnJheSgxNiksdGhpcy50cmFuc2Zvcm1HTF9SSD1uZXcgRmxvYXQ2NEFycmF5KDE2KSx0aGlzLnZpZGVvV2lkdGg9SSx0aGlzLnZpZGVvSGVpZ2h0PWcsdGhpcy52aWRlb1NpemU9dGhpcy52aWRlb1dpZHRoKnRoaXMudmlkZW9IZWlnaHQsdGhpcy5mcmFtZXBvaW50ZXI9bnVsbCx0aGlzLmZyYW1lc2l6ZT1udWxsLHRoaXMuZGF0YUhlYXA9bnVsbCx0aGlzLnZpZGVvTHVtYT1udWxsLHRoaXMuY2FtZXJhX21hdD1udWxsLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQ9bnVsbCx0aGlzLnZpZGVvTHVtYVBvaW50ZXI9bnVsbCx0aGlzLm9wdGlvbnMuY2FudmFzP3RoaXMuY2FudmFzPXRoaXMub3B0aW9ucy5jYW52YXM6XFxcInVuZGVmaW5lZFxcXCIhPXR5cGVvZiBkb2N1bWVudCYmKHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXFxcImNhbnZhc1xcXCIpKSx0aGlzLmNhbnZhcz8odGhpcy5jYW52YXMud2lkdGg9SSx0aGlzLmNhbnZhcy5oZWlnaHQ9Zyx0aGlzLmN0eD10aGlzLmNhbnZhcy5nZXRDb250ZXh0KFxcXCIyZFxcXCIpKTpjb25zb2xlLndhcm4oXFxcIk5vIGNhbnZhcyBhdmFpbGFibGVcXFwiKSx0aGlzLm5mdE1hcmtlckZvdW5kPSExLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPSExLHRoaXMubmZ0TWFya2VyQ291bnQ9MCx0aGlzLl9id3BvaW50ZXI9ITF9dmFyIGcsQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XFxcImRpc3Bvc2VcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBIGluIHRoaXMuY2FtZXJhSWQ9LTEsdGhpcy5jYW1lcmFQYXJhbT1cXFwiXFxcIix0aGlzLmNhbWVyYUxvYWRlZD0hMSx0aGlzLmlkPi0xJiZ0aGlzLmFydG9vbGtpdC50ZWFyZG93bih0aGlzLmlkKSx0aGlzLmltYWdlJiZ0aGlzLmltYWdlLnNyY09iamVjdCx0aGlzKXRoaXNbQV09bnVsbH19LHtrZXk6XFxcInByb2Nlc3NcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPXRoaXMuZGV0ZWN0TWFya2VyKEEpOzAhPUkmJmNvbnNvbGUuZXJyb3IoXFxcIltBUkNvbnRyb2xsZXJdXFxcIixcXFwiZGV0ZWN0TWFya2VyIGVycm9yOlxcXCIsSSk7dmFyIGcsQixDPXRoaXMuZ2V0TWFya2VyTnVtKCk7Zm9yKGcgaW4gdGhpcy5wYXR0ZXJuTWFya2VycykoQj10aGlzLnBhdHRlcm5NYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2ZvcihnIGluIHRoaXMuYmFyY29kZU1hcmtlcnMpKEI9dGhpcy5iYXJjb2RlTWFya2Vyc1tnXSkuaW5QcmV2aW91cz1CLmluQ3VycmVudCxCLmluQ3VycmVudD0hMTtmb3IoZyBpbiB0aGlzLm5mdE1hcmtlcnMpKEI9dGhpcy5uZnRNYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2Zvcih2YXIgUT0wO1E8QztRKyspe3ZhciBFPXRoaXMuZ2V0TWFya2VyKFEpLGk9VS5VTktOT1dOX01BUktFUixvPXRoaXMudHJhY2tQYXR0ZXJuTWFya2VySWQoLTEpO0UuaWRQYXR0Pi0xJiYoRS5pZD09PUUuaWRQYXR0fHwtMT09PUUuaWRNYXRyaXgpPyhvPXRoaXMudHJhY2tQYXR0ZXJuTWFya2VySWQoRS5pZFBhdHQpLGk9VS5QQVRURVJOX01BUktFUixFLmRpciE9PUUuZGlyUGF0dCYmdGhpcy5zZXRNYXJrZXJJbmZvRGlyKFEsRS5kaXJQYXR0KSk6RS5pZE1hdHJpeD4tMSYmKG89dGhpcy50cmFja0JhcmNvZGVNYXJrZXJJZChFLmlkTWF0cml4KSxpPVUuQkFSQ09ERV9NQVJLRVIsRS5kaXIhPT1FLmRpck1hdHJpeCYmdGhpcy5zZXRNYXJrZXJJbmZvRGlyKFEsRS5kaXJNYXRyaXgpKSxpIT09VS5VTktOT1dOX01BUktFUiYmby5pblByZXZpb3VzP3RoaXMuZ2V0VHJhbnNNYXRTcXVhcmVDb250KFEsby5tYXJrZXJXaWR0aCxvLm1hdHJpeCxvLm1hdHJpeCk6dGhpcy5nZXRUcmFuc01hdFNxdWFyZShRLG8ubWFya2VyV2lkdGgsby5tYXRyaXgpLG8uaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KG8ubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJnZXRNYXJrZXJcXFwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OlEsdHlwZTppLG1hcmtlcjpFLG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX12YXIgRD10aGlzLm5mdE1hcmtlckNvdW50O3RoaXMuZGV0ZWN0TkZUTWFya2VyKCk7Zm9yKHZhciBhPTA7YTxEO2ErKyl7dmFyIHc9dGhpcy5nZXRORlRNYXJrZXIoYSksRj1VLk5GVF9NQVJLRVI7aWYody5mb3VuZCl7dGhpcy5uZnRNYXJrZXJGb3VuZD1hLHRoaXMubmZ0TWFya2VyRm91bmRUaW1lPURhdGUubm93KCk7dmFyIEc9dGhpcy50cmFja05GVE1hcmtlcklkKGEpO0cubWF0cml4LnNldCh3LnBvc2UpLEcuaW5DdXJyZW50PSEwLHRoaXMudHJhbnNNYXRUb0dMTWF0KEcubWF0cml4LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJnZXRORlRNYXJrZXJcXFwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OmEsdHlwZTpGLG1hcmtlcjp3LG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX1lbHNlIHNlbGYubmZ0TWFya2VyRm91bmQ9PT1hJiZEYXRlLm5vdygpLXRoaXMubmZ0TWFya2VyRm91bmRUaW1lPjIwMCYmKHRoaXMubmZ0TWFya2VyRm91bmQ9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlxcXCJsb3N0TkZUTWFya2VyXFxcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDphLHR5cGU6RixtYXJrZXI6dyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSkpfWZvcih2YXIgaD10aGlzLmdldE11bHRpTWFya2VyQ291bnQoKSxzPTA7czxoO3MrKyl7dmFyIFI9dGhpcy5nZXRNdWx0aU1hcmtlclBhdHRlcm5Db3VudChzKSx5PSExO3RoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QodGhpcy5pZCxzKSx0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCk7Zm9yKHZhciB0PTA7dDxSO3QrKylpZigoTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLHQpKS52aXNpYmxlPj0wKXt5PSEwLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcXFwiZ2V0TXVsdGlNYXJrZXJcXFwiLHRhcmdldDp0aGlzLGRhdGE6e211bHRpTWFya2VySWQ6cyxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSk7YnJlYWt9aWYoeSlmb3IodmFyIFM9MDtTPFI7UysrKXt2YXIgTT10aGlzLmdldE11bHRpRWFjaE1hcmtlcihzLFMpO3RoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XFxcImdldE11bHRpTWFya2VyU3ViXFxcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWFya2VySW5kZXg6UyxtYXJrZXI6TSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9fXRoaXMuX2J3cG9pbnRlciYmdGhpcy5kZWJ1Z0RyYXcoKX19LHtrZXk6XFxcImRldGVjdE5GVE1hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmFydG9vbGtpdC5kZXRlY3RORlRNYXJrZXIodGhpcy5pZCl9fSx7a2V5OlxcXCJ0cmFja1BhdHRlcm5NYXJrZXJJZFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLnBhdHRlcm5NYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5wYXR0ZXJuTWFya2Vyc1tBXT1nPXtpblByZXZpb3VzOiExLGluQ3VycmVudDohMSxtYXRyaXg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWF0cml4R0xfUkg6bmV3IEZsb2F0NjRBcnJheSgxMiksbWFya2VyV2lkdGg6SXx8dGhpcy5kZWZhdWx0TWFya2VyV2lkdGh9KSxJJiYoZy5tYXJrZXJXaWR0aD1JKSxnfX0se2tleTpcXFwidHJhY2tCYXJjb2RlTWFya2VySWRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5iYXJjb2RlTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMuYmFyY29kZU1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XFxcInRyYWNrTkZUTWFya2VySWRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5uZnRNYXJrZXJzW0FdO3JldHVybiBnfHwodGhpcy5uZnRNYXJrZXJzW0FdPWc9e2luUHJldmlvdXM6ITEsaW5DdXJyZW50OiExLG1hdHJpeDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXRyaXhHTF9SSDpuZXcgRmxvYXQ2NEFycmF5KDEyKSxtYXJrZXJXaWR0aDpJfHx0aGlzLmRlZmF1bHRNYXJrZXJXaWR0aH0pLEkmJihnLm1hcmtlcldpZHRoPUkpLGd9fSx7a2V5OlxcXCJnZXRNdWx0aU1hcmtlckNvdW50XFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlckNvdW50KHRoaXMuaWQpfX0se2tleTpcXFwiZ2V0TXVsdGlNYXJrZXJQYXR0ZXJuQ291bnRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlck51bSh0aGlzLmlkLEEpfX0se2tleTpcXFwiYWRkRXZlbnRMaXN0ZW5lclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt0aGlzLmxpc3RlbmVyc1tBXXx8KHRoaXMubGlzdGVuZXJzW0FdPVtdKSx0aGlzLmxpc3RlbmVyc1tBXS5wdXNoKEkpfX0se2tleTpcXFwicmVtb3ZlRXZlbnRMaXN0ZW5lclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtpZih0aGlzLmxpc3RlbmVyc1tBXSl7dmFyIGc9dGhpcy5saXN0ZW5lcnNbQV0uaW5kZXhPZihJKTtnPi0xJiZ0aGlzLmxpc3RlbmVyc1tBXS5zcGxpY2UoZywxKX19fSx7a2V5OlxcXCJkaXNwYXRjaEV2ZW50XFxcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmxpc3RlbmVyc1tBLm5hbWVdO2lmKEkpZm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXS5jYWxsKHRoaXMsQSl9fSx7a2V5OlxcXCJkZWJ1Z1NldHVwXFxcIix2YWx1ZTpmdW5jdGlvbigpe1xcXCJ1bmRlZmluZWRcXFwiIT10eXBlb2YgZG9jdW1lbnQ/KGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLHRoaXMuc2V0RGVidWdNb2RlKCEwKSx0aGlzLl9id3BvaW50ZXI9dGhpcy5nZXRQcm9jZXNzaW5nSW1hZ2UoKSk6Y29uc29sZS5sb2coXFxcImRlYnVnU2V0dXAoKSBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBCcm93c2VyIGVudmlyb25tZW50c1xcXCIpfX0se2tleTpcXFwiZGVidWdEcmF3XFxcIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgQT1uZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLl9id3BvaW50ZXIsdGhpcy5mcmFtZXNpemUpLEk9bmV3IEltYWdlRGF0YShuZXcgVWludDhDbGFtcGVkQXJyYXkodGhpcy5jYW52YXMud2lkdGgqdGhpcy5jYW52YXMuaGVpZ2h0KjQpLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksZz0wLEI9MDtnPEEubGVuZ3RoO2crKyxCKz00KXt2YXIgQz1BW2ddO0kuZGF0YVtCKzBdPUMsSS5kYXRhW0IrMV09QyxJLmRhdGFbQisyXT1DLEkuZGF0YVtCKzNdPTI1NX10aGlzLmN0eC5wdXRJbWFnZURhdGEoSSwwLDApO2Zvcih2YXIgUT10aGlzLmdldE1hcmtlck51bSgpLEU9MDtFPFE7RSsrKXRoaXMuZHJhd0RlYnVnTWFya2VyKHRoaXMuZ2V0TWFya2VyKEUpKX19LHtrZXk6XFxcImRyYXdEZWJ1Z01hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7dmFyIEk9QS52ZXJ0ZXgsZz1BLnBvcyxCPXRoaXMuY3R4O0IubGluZVdpZHRoPTUsQi5zdHJva2VTdHlsZT1cXFwicmVkXFxcIixCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMF1bMF0sSVswXVsxXSksQi5saW5lVG8oSVsxXVswXSxJWzFdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVsyXVswXSxJWzJdWzFdKSxCLmxpbmVUbyhJWzNdWzBdLElbM11bMV0pLEIuc3Ryb2tlKCksQi5zdHJva2VTdHlsZT1cXFwiZ3JlZW5cXFwiLEIuYmVnaW5QYXRoKCksQi5saW5lVG8oSVsxXVswXSxJWzFdWzFdKSxCLmxpbmVUbyhJWzJdWzBdLElbMl1bMV0pLEIuc3Ryb2tlKCksQi5iZWdpblBhdGgoKSxCLm1vdmVUbyhJWzNdWzBdLElbM11bMV0pLEIubGluZVRvKElbMF1bMF0sSVswXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIuYXJjKGdbMF0sZ1sxXSw4LDAsMipNYXRoLlBJKSxCLmZpbGxTdHlsZT1cXFwicmVkXFxcIixCLmZpbGwoKX19LHtrZXk6XFxcImxvYWRNYXJrZXJcXFwiLHZhbHVlOihhPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcXFwicmV0dXJuXFxcIixBLnNlbnQpO2Nhc2UgMzpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlxcXCJsb2FkTXVsdGlNYXJrZXJcXFwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTXVsdGlNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFxcXCJyZXR1cm5cXFwiLEEuc2VudCk7Y2FzZSAzOmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XFxcImxvYWRORlRNYXJrZXJcXFwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTkZUTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBnPUEuc2VudCx0aGlzLm5mdE1hcmtlckNvdW50PWcrMSxBLmFicnVwdChcXFwicmV0dXJuXFxcIixnKTtjYXNlIDU6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiZ2V0VHJhbnNNYXRTcXVhcmVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmUodGhpcy5pZCxBLEkpLGcuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLGd9fSx7a2V5OlxcXCJnZXRUcmFuc01hdFNxdWFyZUNvbnRcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiB0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LnNldChnKSx0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdFNxdWFyZUNvbnQodGhpcy5pZCxBLEkpLEIuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEJ9fSx7a2V5OlxcXCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUcmFuc01hdE11bHRpU3F1YXJlKHRoaXMuaWQsQSksSS5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksSX19LHtrZXk6XFxcImdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3RcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmUodGhpcy5pZCxBKSxJLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxJfX0se2tleTpcXFwidHJhbnNNYXRUb0dMTWF0XFxcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7cmV0dXJuIG51bGw9PUkmJihJPW5ldyBGbG9hdDY0QXJyYXkoMTYpKSxJWzBdPUFbMF0sSVs0XT1BWzFdLElbOF09QVsyXSxJWzEyXT1BWzNdLElbMV09QVs0XSxJWzVdPUFbNV0sSVs5XT1BWzZdLElbMTNdPUFbN10sSVsyXT1BWzhdLElbNl09QVs5XSxJWzEwXT1BWzEwXSxJWzE0XT1BWzExXSxJWzNdPTAsSVs3XT0wLElbMTFdPTAsSVsxNV09MSxudWxsIT1nJiYwIT09ZyYmKElbMTJdKj1nLElbMTNdKj1nLElbMTRdKj1nKSxJfX0se2tleTpcXFwiYXJnbENhbWVyYVZpZXdSSGZcXFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQjtyZXR1cm4oQj1udWxsPT1JP25ldyBGbG9hdDY0QXJyYXkoMTYpOkkpWzBdPUFbMF0sQls0XT1BWzRdLEJbOF09QVs4XSxCWzEyXT1BWzEyXSxCWzFdPS1BWzFdLEJbNV09LUFbNV0sQls5XT0tQVs5XSxCWzEzXT0tQVsxM10sQlsyXT0tQVsyXSxCWzZdPS1BWzZdLEJbMTBdPS1BWzEwXSxCWzE0XT0tQVsxNF0sQlszXT0wLEJbN109MCxCWzExXT0wLEJbMTVdPTEsbnVsbCE9ZyYmMCE9PWcmJihCWzEyXSo9ZyxCWzEzXSo9ZyxCWzE0XSo9ZyksQn19LHtrZXk6XFxcImRldGVjdE1hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2NvcHlJbWFnZVRvSGVhcChBKT90aGlzLmFydG9vbGtpdC5kZXRlY3RNYXJrZXIodGhpcy5pZCk6LTk5fX0se2tleTpcXFwiZ2V0TWFya2VyTnVtXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNYXJrZXJOdW0odGhpcy5pZCl9fSx7a2V5OlxcXCJnZXRNYXJrZXJcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNYXJrZXIodGhpcy5pZCxBKSlyZXR1cm4gdGhpcy5hcnRvb2xraXQubWFya2VySW5mb319LHtrZXk6XFxcImdldE5GVE1hcmtlclxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE5GVE1hcmtlcih0aGlzLmlkLEEpKXJldHVybiB0aGlzLmFydG9vbGtpdC5ORlRNYXJrZXJJbmZvfX0se2tleTpcXFwic2V0TWFya2VySW5mb1ZlcnRleFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtmb3IodmFyIGc9MDtnPEkubGVuZ3RoO2crKyl0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0WzIqZyswXT1JW2ddWzBdLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXRbMipnKzFdPUlbZ11bMV07cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hcmtlckluZm9WZXJ0ZXgodGhpcy5pZCxBKX19LHtrZXk6XFxcImNsb25lTWFya2VySW5mb1xcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoQSkpfX0se2tleTpcXFwiZ2V0TXVsdGlFYWNoTWFya2VyXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNdWx0aUVhY2hNYXJrZXIodGhpcy5pZCxBLEkpKXJldHVybiB0aGlzLmFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfX0se2tleTpcXFwiZ2V0VHJhbnNmb3JtYXRpb25NYXRyaXhcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudHJhbnNmb3JtX21hdH19LHtrZXk6XFxcImdldENhbWVyYU1hdHJpeFxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jYW1lcmFfbWF0fX0se2tleTpcXFwiZ2V0TWFya2VyVHJhbnNmb3JtYXRpb25NYXRyaXhcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXR9fSx7a2V5OlxcXCJzZXREZWJ1Z01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXREZWJ1Z01vZGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldERlYnVnTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0RGVidWdNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwiZ2V0UHJvY2Vzc2luZ0ltYWdlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9jZXNzaW5nSW1hZ2UodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRMb2dMZXZlbFxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldExvZ0xldmVsKEEpfX0se2tleTpcXFwiZ2V0TG9nTGV2ZWxcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldExvZ0xldmVsKCl9fSx7a2V5OlxcXCJzZXRNYXJrZXJJbmZvRGlyXFxcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvRGlyKHRoaXMuaWQsQSxJKX19LHtrZXk6XFxcInNldFByb2plY3Rpb25OZWFyUGxhbmVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQcm9qZWN0aW9uTmVhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9qZWN0aW9uTmVhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcXFwic2V0UHJvamVjdGlvbkZhclBsYW5lXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbkZhclBsYW5lKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRQcm9qZWN0aW9uRmFyUGxhbmVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFByb2plY3Rpb25GYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldFRocmVzaG9sZE1vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRUaHJlc2hvbGRNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQpfX0se2tleTpcXFwic2V0VGhyZXNob2xkXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkKHRoaXMuaWQsQSl9fSx7a2V5OlxcXCJnZXRUaHJlc2hvbGRcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRocmVzaG9sZCh0aGlzLmlkKX19LHtrZXk6XFxcInNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldE1hdHJpeENvZGVUeXBlXFxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWF0cml4Q29kZVR5cGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldE1hdHJpeENvZGVUeXBlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNYXRyaXhDb2RlVHlwZSh0aGlzLmlkKX19LHtrZXk6XFxcInNldExhYmVsaW5nTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldExhYmVsaW5nTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcXFwiZ2V0TGFiZWxpbmdNb2RlXFxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMYWJlbGluZ01vZGUodGhpcy5pZCl9fSx7a2V5OlxcXCJzZXRQYXR0UmF0aW9cXFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0UmF0aW8odGhpcy5pZCxBKX19LHtrZXk6XFxcImdldFBhdHRSYXRpb1xcXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UGF0dFJhdGlvKHRoaXMuaWQpfX0se2tleTpcXFwic2V0SW1hZ2VQcm9jTW9kZVxcXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldEltYWdlUHJvY01vZGUodGhpcy5pZCxBKX19LHtrZXk6XFxcImdldEltYWdlUHJvY01vZGVcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldEltYWdlUHJvY01vZGUodGhpcy5pZCl9fSx7a2V5OlxcXCJfaW5pdGlhbGl6ZVxcXCIsdmFsdWU6KFE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJLGc9dGhpcztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOnJldHVybiBBLm5leHQ9MiwobmV3IFUpLmluaXQoKTtjYXNlIDI6cmV0dXJuIHRoaXMuYXJ0b29sa2l0PUEuc2VudCxjb25zb2xlLmxvZyhcXFwiW0FSQ29udHJvbGxlcl1cXFwiLFxcXCJBUlRvb2xraXQgaW5pdGlhbGl6ZWRcXFwiKSxBLm5leHQ9Nix0aGlzLmFydG9vbGtpdC5sb2FkQ2FtZXJhKHRoaXMuY2FtZXJhUGFyYW0pO2Nhc2UgNjpyZXR1cm4gdGhpcy5jYW1lcmFJZD1BLnNlbnQsY29uc29sZS5sb2coXFxcIltBUkNvbnRyb2xsZXJdXFxcIixcXFwiQ2FtZXJhIHBhcmFtcyBsb2FkZWQgd2l0aCBJRFxcXCIsdGhpcy5jYW1lcmFJZCksdGhpcy5pZD10aGlzLmFydG9vbGtpdC5zZXR1cCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0LHRoaXMuY2FtZXJhSWQpLGNvbnNvbGUubG9nKFxcXCJbQVJDb250cm9sbGVyXVxcXCIsXFxcIkdvdCBJRCBmcm9tIHNldHVwXFxcIix0aGlzLmlkKSx0aGlzLl9pbml0TkZUKCksST1hcnRvb2xraXQuZnJhbWVNYWxsb2MsdGhpcy5mcmFtZXBvaW50ZXI9SS5mcmFtZXBvaW50ZXIsdGhpcy5mcmFtZXNpemU9SS5mcmFtZXNpemUsdGhpcy52aWRlb0x1bWFQb2ludGVyPUkudmlkZW9MdW1hUG9pbnRlcix0aGlzLmRhdGFIZWFwPW5ldyBVaW50OEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy5mcmFtZXBvaW50ZXIsdGhpcy5mcmFtZXNpemUpLHRoaXMudmlkZW9MdW1hPW5ldyBVaW50OEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsdGhpcy52aWRlb0x1bWFQb2ludGVyLHRoaXMuZnJhbWVzaXplLzQpLHRoaXMuY2FtZXJhX21hdD1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsSS5jYW1lcmEsMTYpLHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQ9bmV3IEZsb2F0NjRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLEkudHJhbnNmb3JtLDEyKSx0aGlzLnNldFByb2plY3Rpb25OZWFyUGxhbmUoLjEpLHRoaXMuc2V0UHJvamVjdGlvbkZhclBsYW5lKDFlMyksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtnLmRpc3BhdGNoRXZlbnQoe25hbWU6XFxcImxvYWRcXFwiLHRhcmdldDpnfSl9KSwxKSxBLmFicnVwdChcXFwicmV0dXJuXFxcIix0aGlzKTtjYXNlIDIzOmNhc2VcXFwiZW5kXFxcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oKXtyZXR1cm4gUS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiX2luaXRORlRcXFwiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hcnRvb2xraXQuc2V0dXBBUjIodGhpcy5pZCl9fSx7a2V5OlxcXCJfY29weUltYWdlVG9IZWFwXFxcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgSTtpZihBfHwoQT10aGlzLmltYWdlKSxBLmRhdGE/ST1BLmRhdGE6KHRoaXMuY3R4LnNhdmUoKSxcXFwicG9ydHJhaXRcXFwiPT09dGhpcy5vcmllbnRhdGlvbj90aGlzLmN0eC5kcmF3SW1hZ2UoQSwwLDAsdGhpcy5jYW52YXMuaGVpZ2h0LHRoaXMuY2FudmFzLndpZHRoKTp0aGlzLmN0eC5kcmF3SW1hZ2UoQSwwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5yZXN0b3JlKCksST10aGlzLmN0eC5nZXRJbWFnZURhdGEoMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCkuZGF0YSksdGhpcy52aWRlb0x1bWEpZm9yKHZhciBnPTAsQj0wO0I8dGhpcy52aWRlb1NpemU7QisrKXt2YXIgQz1JW2crMF0sUT1JW2crMV0sRT1JW2crMl07dGhpcy52aWRlb0x1bWFbQl09QytDK0MrRStRK1ErUStRPj4zLGcrPTR9cmV0dXJuISF0aGlzLmRhdGFIZWFwJiYodGhpcy5kYXRhSGVhcC5zZXQoSSksITApfX1dLFt7a2V5OlxcXCJpbml0V2l0aERpbWVuc2lvbnNcXFwiLHZhbHVlOihCPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMsUSl7dmFyIEU7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihJKXtmb3IoOzspc3dpdGNoKEkucHJldj1JLm5leHQpe2Nhc2UgMDpyZXR1cm4gRT1uZXcgQShnLEIsQyxRKSxJLm5leHQ9MyxFLl9pbml0aWFsaXplKCk7Y2FzZSAzOnJldHVybiBJLmFicnVwdChcXFwicmV0dXJuXFxcIixJLnNlbnQpO2Nhc2UgNDpjYXNlXFxcImVuZFxcXCI6cmV0dXJuIEkuc3RvcCgpfX0pLEkpfSkpKSxmdW5jdGlvbihBLEksZyxDKXtyZXR1cm4gQi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcXFwiaW5pdFdpdGhJbWFnZVxcXCIsdmFsdWU6KGc9SShvKCkubWFyaygoZnVuY3Rpb24gSShnLEIsQyl7dmFyIFEsRSxpO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIFE9Zy52aWRlb1dpZHRofHxnLndpZHRoLEU9Zy52aWRlb0hlaWdodHx8Zy5oZWlnaHQsSS5uZXh0PTQsQS5pbml0V2l0aERpbWVuc2lvbnMoUSxFLEIsQyk7Y2FzZSA0OnJldHVybihpPUkuc2VudCkuaW1hZ2U9ZyxJLmFicnVwdChcXFwicmV0dXJuXFxcIixpKTtjYXNlIDc6Y2FzZVxcXCJlbmRcXFwiOnJldHVybiBJLnN0b3AoKX19KSxJKX0pKSksZnVuY3Rpb24oQSxJLEIpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfV0pLEF9KCk7Y29uc3Qgbj17QVJUb29sa2l0OlUsQVJDb250cm9sbGVyOk19fSkoKSxCLmRlZmF1bHR9KSgpfSkpO1xcblxcbi8qKiovIH0pXFxuXFxuLyoqKioqKi8gXFx0fSk7XFxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cXG4vKioqKioqLyBcXHQvLyBUaGUgbW9kdWxlIGNhY2hlXFxuLyoqKioqKi8gXFx0dmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXFxuLyoqKioqKi8gXFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xcbi8qKioqKiovIFxcdFxcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxcbi8qKioqKiovIFxcdFxcdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xcbi8qKioqKiovIFxcdFxcdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xcbi8qKioqKiovIFxcdFxcdFxcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcXG4vKioqKioqLyBcXHRcXHR9XFxuLyoqKioqKi8gXFx0XFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcXG4vKioqKioqLyBcXHRcXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcXG4vKioqKioqLyBcXHRcXHRcXHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXFxuLyoqKioqKi8gXFx0XFx0XFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcXG4vKioqKioqLyBcXHRcXHRcXHRleHBvcnRzOiB7fVxcbi8qKioqKiovIFxcdFxcdH07XFxuLyoqKioqKi8gXFx0XFxuLyoqKioqKi8gXFx0XFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXFxuLyoqKioqKi8gXFx0XFx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XFxuLyoqKioqKi8gXFx0XFxuLyoqKioqKi8gXFx0XFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcXG4vKioqKioqLyBcXHRcXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XFxuLyoqKioqKi8gXFx0fVxcbi8qKioqKiovIFxcdFxcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxuLyoqKioqKi8gXFx0Lyogd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQgKi9cXG4vKioqKioqLyBcXHQoKCkgPT4ge1xcbi8qKioqKiovIFxcdFxcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXFxuLyoqKioqKi8gXFx0XFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xcbi8qKioqKiovIFxcdFxcdFxcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxcbi8qKioqKiovIFxcdFxcdFxcdFxcdCgpID0+IChtb2R1bGUpO1xcbi8qKioqKiovIFxcdFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xcbi8qKioqKiovIFxcdFxcdFxcdHJldHVybiBnZXR0ZXI7XFxuLyoqKioqKi8gXFx0XFx0fTtcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKiovIFxcdC8qIHdlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyAqL1xcbi8qKioqKiovIFxcdCgoKSA9PiB7XFxuLyoqKioqKi8gXFx0XFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XFxuLyoqKioqKi8gXFx0XFx0XFx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xcbi8qKioqKiovIFxcdFxcdFxcdFxcdFxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XFxuLyoqKioqKi8gXFx0XFx0XFx0XFx0fVxcbi8qKioqKiovIFxcdFxcdFxcdH1cXG4vKioqKioqLyBcXHRcXHR9O1xcbi8qKioqKiovIFxcdH0pKCk7XFxuLyoqKioqKi8gXFx0XFxuLyoqKioqKi8gXFx0Lyogd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCAqL1xcbi8qKioqKiovIFxcdCgoKSA9PiB7XFxuLyoqKioqKi8gXFx0XFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKVxcbi8qKioqKiovIFxcdH0pKCk7XFxuLyoqKioqKi8gXFx0XFxuLyoqKioqKi8gXFx0Lyogd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCAqL1xcbi8qKioqKiovIFxcdCgoKSA9PiB7XFxuLyoqKioqKi8gXFx0XFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xcbi8qKioqKiovIFxcdFxcdF9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XFxuLyoqKioqKi8gXFx0XFx0XFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XFxuLyoqKioqKi8gXFx0XFx0XFx0XFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XFxuLyoqKioqKi8gXFx0XFx0XFx0fVxcbi8qKioqKiovIFxcdFxcdFxcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XFxuLyoqKioqKi8gXFx0XFx0fTtcXG4vKioqKioqLyBcXHR9KSgpO1xcbi8qKioqKiovIFxcdFxcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXFxudmFyIF9fd2VicGFja19leHBvcnRzX18gPSB7fTtcXG4vLyBUaGlzIGVudHJ5IG5lZWQgdG8gYmUgd3JhcHBlZCBpbiBhbiBJSUZFIGJlY2F1c2UgaXQgbmVlZCB0byBiZSBpbiBzdHJpY3QgbW9kZS5cXG4oKCkgPT4ge1xcblxcXCJ1c2Ugc3RyaWN0XFxcIjtcXG4vKiEqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiohKlxcXFxcXG4gICEqKiogLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMtbmZ0Lndvcmtlci5qcyAqKiohXFxuICBcXFxcKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xcbl9fd2VicGFja19yZXF1aXJlX18ucihfX3dlYnBhY2tfZXhwb3J0c19fKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIganNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfXyA9IF9fd2VicGFja19yZXF1aXJlX18oLyohIGpzYXJ0b29sa2l0ICovIFxcXCIuL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanNcXFwiKTtcXG4vKiBoYXJtb255IGltcG9ydCAqLyB2YXIganNhcnRvb2xraXRfX1dFQlBBQ0tfSU1QT1JURURfTU9EVUxFXzBfX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19fd2VicGFja19yZXF1aXJlX18ubihqc2FydG9vbGtpdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fKTtcXG4vKiBlc2xpbnQtZW52IHdvcmtlciAqL1xcblxcbmNvbnN0IHsgQVJUb29sa2l0LCBBUkNvbnRyb2xsZXIgfSA9IChqc2FydG9vbGtpdF9fV0VCUEFDS19JTVBPUlRFRF9NT0RVTEVfMF9fX2RlZmF1bHQoKSk7XFxuY29uc3QgYXJ0b29sa2l0ID0gbmV3IEFSVG9vbGtpdCgpO1xcblxcbm9ubWVzc2FnZSA9IGZ1bmN0aW9uIChlKSB7XFxuICAgIHZhciBtc2cgPSBlLmRhdGE7XFxuICAgIHN3aXRjaCAobXNnLnR5cGUpIHtcXG4gICAgICAgIGNhc2UgXFxcImluaXRcXFwiOiB7XFxuICAgICAgICAgICAgbG9hZChtc2cpO1xcbiAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgIH1cXG4gICAgICAgIGNhc2UgXFxcInByb2Nlc3NcXFwiOiB7XFxuICAgICAgICAgICAgbmV4dCA9IG1zZy5pbWFnZWRhdGE7XFxuICAgICAgICAgICAgcHJvY2VzcygpO1xcbiAgICAgICAgICAgIHJldHVybjtcXG4gICAgICAgIH1cXG4gICAgfVxcbn07XFxuXFxudmFyIG5leHQgPSBudWxsO1xcblxcbnZhciBhciA9IG51bGw7XFxudmFyIG1hcmtlclJlc3VsdCA9IG51bGw7XFxuXFxuZnVuY3Rpb24gbG9hZChtc2cpIHtcXG4gICAgdmFyIGNhbVVybCwgbmZ0TWFya2VyVXJsO1xcbiAgICB2YXIgYmFzZVBhdGggPSBzZWxmLm9yaWdpbjtcXG4gICAgY29uc29sZS5sb2coJ2Jhc2UgcGF0aDonLCBiYXNlUGF0aCk7XFxuICAgIC8vIHRlc3QgaWYgdGhlIG1zZy5wYXJhbSAodGhlIGluY29taW5nIHVybCkgaXMgYW4gaHR0cCBvciBodHRwcyBwYXRoXFxuICAgIHZhciByZWdleEMgPSAvaHR0cHM/OlxcXFwvXFxcXC8od3d3XFxcXC4pP1stYS16QS1aMC05QDolLl9cXFxcK34jPV17MiwyNTZ9XFxcXC5bYS16XXsyLDZ9XFxcXGIoWy1hLXpBLVowLTlAOiVfXFxcXCsufiMoKT8mLy89XSopL2lnbVxcbiAgICB2YXIgcmVDID0gcmVnZXhDLnRlc3QobXNnLnBhcmFtKTtcXG4gICAgaWYgKHJlQyA9PSB0cnVlKSB7XFxuICAgICAgICBjYW1VcmwgPSBtc2cucGFyYW07XFxuICAgIH0gZWxzZSBpZiAocmVDID09IGZhbHNlKSB7XFxuICAgICAgICBjYW1VcmwgPSBiYXNlUGF0aCArICcvJyArIG1zZy5wYXJhbTtcXG4gICAgfVxcbiAgICB2YXIgb25Mb2FkID0gZnVuY3Rpb24gKGFyQ29udHJvbGxlcikge1xcbiAgICAgICAgYXIgPSBhckNvbnRyb2xsZXI7XFxuICAgICAgICB2YXIgY2FtZXJhTWF0cml4ID0gYXIuZ2V0Q2FtZXJhTWF0cml4KCk7XFxuXFxuICAgICAgICAvLyBhZnRlciB0aGUgQVJDb250cm9sbGVyIGlzIHNldCB1cCwgd2UgbG9hZCB0aGUgTkZUIE1hcmtlclxcbiAgICAgICAgdmFyIHJlZ2V4TSA9IC9odHRwcz86XFxcXC9cXFxcLyh3d3dcXFxcLik/Wy1hLXpBLVowLTlAOiUuX1xcXFwrfiM9XXsyLDI1Nn1cXFxcLlthLXpdezIsNn1cXFxcYihbLWEtekEtWjAtOUA6JV9cXFxcKy5+IygpPyYvLz1dKikvaWdtXFxuICAgICAgICB2YXIgcmVNID0gcmVnZXhNLnRlc3QobXNnLm1hcmtlcik7XFxuICAgICAgICBpZiAocmVNID09IHRydWUpIHtcXG4gICAgICAgICAgICBuZnRNYXJrZXJVcmwgPSBtc2cubWFya2VyO1xcbiAgICAgICAgfSBlbHNlIGlmIChyZU0gPT0gZmFsc2UpIHtcXG4gICAgICAgICAgICBuZnRNYXJrZXJVcmwgPSBiYXNlUGF0aCArICcvJyArIG1zZy5tYXJrZXI7XFxuICAgICAgICB9XFxuICAgICAgICBhci5sb2FkTkZUTWFya2VyKG5mdE1hcmtlclVybCkudGhlbihmdW5jdGlvbiAobWFya2VySWQpIHtcXG4gICAgICAgICAgICBhci50cmFja05GVE1hcmtlcklkKG1hcmtlcklkKTtcXG4gICAgICAgICAgICBwb3N0TWVzc2FnZSh7IHR5cGU6ICdlbmRMb2FkaW5nJyB9KVxcbiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycikge1xcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdFcnJvciBpbiBsb2FkaW5nIG1hcmtlciBvbiBXb3JrZXInLCBlcnIpXFxuICAgICAgICB9KTtcXG5cXG4gICAgICAgIC8vIC4uLmFuZCB3ZSBsaXN0ZW4gZm9yIGV2ZW50IHdoZW4gbWFya2VyIGhhcyBiZWVuIGZvdW5kIGZyb20gY2FtZXJhXFxuICAgICAgICBhci5hZGRFdmVudExpc3RlbmVyKCdnZXRORlRNYXJrZXInLCBmdW5jdGlvbiAoZXYpIHtcXG4gICAgICAgICAgICAvLyBsZXQgQVIuanMga25vdyB0aGF0IGEgTkZUIG1hcmtlciBoYXMgYmVlbiBmb3VuZCwgd2l0aCBpdHMgbWF0cml4IGZvciBwb3NpdGlvbmluZ1xcbiAgICAgICAgICAgIG1hcmtlclJlc3VsdCA9IHtcXG4gICAgICAgICAgICAgICAgdHlwZTogJ2ZvdW5kJyxcXG4gICAgICAgICAgICAgICAgbWF0cml4OiBKU09OLnN0cmluZ2lmeShldi5kYXRhLm1hdHJpeCksXFxuICAgICAgICAgICAgfTtcXG4gICAgICAgIH0pO1xcblxcbiAgICAgICAgcG9zdE1lc3NhZ2UoeyB0eXBlOiBcXFwibG9hZGVkXFxcIiwgcHJvajogSlNPTi5zdHJpbmdpZnkoY2FtZXJhTWF0cml4KSB9KTtcXG4gICAgfTtcXG5cXG4gICAgdmFyIG9uRXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IpIHtcXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXFxcIkVycm9yIHdoaWxlIGludGl6YWxpemluZyBhckNvbnRyb2xsZXJcXFwiLCBlcnJvcik7XFxuICAgIH07XFxuXFxuICAgIGFydG9vbGtpdC5pbml0KCkudGhlbihfID0+IHtcXG4gICAgICBBUkNvbnRyb2xsZXIuaW5pdFdpdGhEaW1lbnNpb25zKG1zZy5wdywgbXNnLnBoLCBjYW1VcmwpLnRoZW4ob25Mb2FkKS5jYXRjaChvbkVycm9yKTtcXG4gICAgfSk7XFxufVxcblxcbmZ1bmN0aW9uIHByb2Nlc3MoKSB7XFxuICAgIG1hcmtlclJlc3VsdCA9IG51bGw7XFxuXFxuICAgIGlmIChhciAmJiBhci5wcm9jZXNzKSB7XFxuICAgICAgICBhci5wcm9jZXNzKG5leHQpO1xcbiAgICB9XFxuXFxuICAgIGlmIChtYXJrZXJSZXN1bHQpIHtcXG4gICAgICAgIHBvc3RNZXNzYWdlKG1hcmtlclJlc3VsdCk7XFxuICAgIH0gZWxzZSB7XFxuICAgICAgICBwb3N0TWVzc2FnZSh7XFxuICAgICAgICAgICAgdHlwZTogXFxcIm5vdCBmb3VuZFxcXCIsXFxuICAgICAgICB9KTtcXG4gICAgfVxcbiAgICBuZXh0ID0gbnVsbDtcXG59XFxuXFxufSkoKTtcXG5cXG4vKioqKioqLyB9KSgpXFxuO1xcblwiLCBcIldvcmtlclwiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG59XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuLyogZXNsaW50LWVudiBicm93c2VyICovXG5cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmLCBuby11c2UtYmVmb3JlLWRlZmluZSwgbmV3LWNhcCAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY29udGVudCwgd29ya2VyQ29uc3RydWN0b3IsIHdvcmtlck9wdGlvbnMsIHVybCkge1xuICB2YXIgZ2xvYmFsU2NvcGUgPSBzZWxmIHx8IHdpbmRvdztcblxuICB0cnkge1xuICAgIHRyeSB7XG4gICAgICB2YXIgYmxvYjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTmV3IEFQSVxuICAgICAgICBibG9iID0gbmV3IGdsb2JhbFNjb3BlLkJsb2IoW2NvbnRlbnRdKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gQmxvYkJ1aWxkZXIgPSBEZXByZWNhdGVkLCBidXQgd2lkZWx5IGltcGxlbWVudGVkXG4gICAgICAgIHZhciBCbG9iQnVpbGRlciA9IGdsb2JhbFNjb3BlLkJsb2JCdWlsZGVyIHx8IGdsb2JhbFNjb3BlLldlYktpdEJsb2JCdWlsZGVyIHx8IGdsb2JhbFNjb3BlLk1vekJsb2JCdWlsZGVyIHx8IGdsb2JhbFNjb3BlLk1TQmxvYkJ1aWxkZXI7XG4gICAgICAgIGJsb2IgPSBuZXcgQmxvYkJ1aWxkZXIoKTtcbiAgICAgICAgYmxvYi5hcHBlbmQoY29udGVudCk7XG4gICAgICAgIGJsb2IgPSBibG9iLmdldEJsb2IoKTtcbiAgICAgIH1cblxuICAgICAgdmFyIFVSTCA9IGdsb2JhbFNjb3BlLlVSTCB8fCBnbG9iYWxTY29wZS53ZWJraXRVUkw7XG4gICAgICB2YXIgb2JqZWN0VVJMID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIHZhciB3b3JrZXIgPSBuZXcgZ2xvYmFsU2NvcGVbd29ya2VyQ29uc3RydWN0b3JdKG9iamVjdFVSTCwgd29ya2VyT3B0aW9ucyk7XG4gICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKG9iamVjdFVSTCk7XG4gICAgICByZXR1cm4gd29ya2VyO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBuZXcgZ2xvYmFsU2NvcGVbd29ya2VyQ29uc3RydWN0b3JdKFwiZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0LFwiLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQoY29udGVudCkpLCB3b3JrZXJPcHRpb25zKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoIXVybCkge1xuICAgICAgdGhyb3cgRXJyb3IoXCJJbmxpbmUgd29ya2VyIGlzIG5vdCBzdXBwb3J0ZWRcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBnbG9iYWxTY29wZVt3b3JrZXJDb25zdHJ1Y3Rvcl0odXJsLCB3b3JrZXJPcHRpb25zKTtcbiAgfVxufTsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICcuLi90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scyc7XG5pbXBvcnQgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gJy4vYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzJztcblxuY29uc3QgTWFya2Vyc0FyZWFDb250cm9scyA9IGZ1bmN0aW9uKGFyVG9vbGtpdENvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXG5cdGlmKCBhcmd1bWVudHMubGVuZ3RoID4gMyApXHRjb25zb2xlLmFzc2VydCgnd3JvbmcgYXBpIGZvcicsIE1hcmtlcnNBcmVhQ29udHJvbHMpXG5cblx0Ly8gaGF2ZSBhIHBhcmFtZXRlcnMgaW4gYXJndW1lbnRcblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIGxpc3Qgb2YgY29udHJvbHMgZm9yIGVhY2ggc3ViTWFya2VyXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzOiBwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyxcblx0XHQvLyBsaXN0IG9mIHBvc2UgZm9yIGVhY2ggc3ViTWFya2VyIHJlbGF0aXZlIHRvIHRoZSBvcmlnaW5cblx0XHRzdWJNYXJrZXJQb3NlczogcGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlcyxcblx0XHQvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG5cdFx0Y2hhbmdlTWF0cml4TW9kZSA6IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSAhPT0gdW5kZWZpbmVkID8gcGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlIDogJ21vZGVsVmlld01hdHJpeCcsXG5cdH1cblx0XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdC8vIGhvbm9yIG9ic29sZXRlIHN0dWZmIC0gYWRkIGEgd2FybmluZyB0byB1c2Vcblx0dGhpcy5zdWJNYXJrZXJzQ29udHJvbHMgPSB0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzXG5cdHRoaXMuc3ViTWFya2VyUG9zZXMgPSB0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXNcblxuXHQvLyBsaXN0ZW4gdG8gYXJUb29sa2l0Q29udGV4dCBldmVudCAnc291cmNlUHJvY2Vzc2VkJ1xuXHQvLyAtIGFmdGVyIHdlIGZ1bGx5IHByb2Nlc3NlZCBvbmUgaW1hZ2UsIGFrYSB3aGVuIHdlIGtub3cgYWxsIGRldGVjdGVkIHBvc2VzIGluIGl0XG5cdGFyVG9vbGtpdENvbnRleHQuYWRkRXZlbnRMaXN0ZW5lcignc291cmNlUHJvY2Vzc2VkJywgZnVuY3Rpb24oKXtcblx0XHRfdGhpcy5fb25Tb3VyY2VQcm9jZXNzZWQoKVxuXHR9KVxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSApO1xuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBNYXJrZXJzQXJlYUNvbnRyb2xzO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vKipcbiAqIFdoYXQgdG8gZG8gd2hlbiBhIGltYWdlIHNvdXJjZSBpcyBmdWxseSBwcm9jZXNzZWRcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUuX29uU291cmNlUHJvY2Vzc2VkID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHR2YXIgc3RhdHMgPSB7XG5cdFx0Y291bnQ6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdH0sXG5cdH1cblxuXHR2YXIgZmlyc3RRdWF0ZXJuaW9uID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHNbMF0ub2JqZWN0M2QucXVhdGVybmlvblxuXG5cdHRoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scywgbWFya2VySW5kZXgpe1xuXHRcdFxuXHRcdHZhciBtYXJrZXJPYmplY3QzZCA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkXG5cdFx0Ly8gaWYgdGhpcyBtYXJrZXIgaXMgbm90IHZpc2libGUsIGlnbm9yZSBpdFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdC8vIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBvZiB0aGlzLm9iamVjdDNkIGFjY29yZGluZyB0byB0aGlzIHN1Yi1tYXJrZXJzXG5cdFx0dmFyIG1hdHJpeCA9IG1hcmtlck9iamVjdDNkLm1hdHJpeC5jbG9uZSgpXG5cdFx0dmFyIG1hcmtlclBvc2UgPSBfdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzW21hcmtlckluZGV4XVxuXHRcdG1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLmdldEludmVyc2UobWFya2VyUG9zZSkpXG5cblx0XHQvLyBkZWNvbXBvc2UgdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdHZhciBwb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0dmFyIHF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRtYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblxuXHRcdC8vIGh0dHA6Ly93aWtpLnVuaXR5M2QuY29tL2luZGV4LnBocC9BdmVyYWdpbmdfUXVhdGVybmlvbnNfYW5kX1ZlY3RvcnNcblx0XHRzdGF0cy5jb3VudCsrXG5cblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnBvc2l0aW9uLnN1bSwgcG9zaXRpb24sIHN0YXRzLmNvdW50LCBzdGF0cy5wb3NpdGlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24oc3RhdHMucXVhdGVybmlvbi5zdW0sIHF1YXRlcm5pb24sIGZpcnN0UXVhdGVybmlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnNjYWxlLnN1bSwgc2NhbGUsIHN0YXRzLmNvdW50LCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXHR9KVxuXG5cdC8vIGhvbm9yIF90aGlzLm9iamVjdDNkLnZpc2libGVcblx0aWYoIHN0YXRzLmNvdW50ID4gMCApe1xuXHRcdF90aGlzLm9iamVjdDNkLnZpc2libGUgPSB0cnVlXG5cdH1lbHNle1xuXHRcdF90aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVx0XHRcdFxuXHR9XG5cblx0Ly8gaWYgYXQgbGVhc3Qgb25lIHN1Yi1tYXJrZXIgaGFzIGJlZW4gZGV0ZWN0ZWQsIG1ha2UgdGhlIGF2ZXJhZ2Ugb2YgYWxsIGRldGVjdGVkIG1hcmtlcnNcblx0aWYoIHN0YXRzLmNvdW50ID4gMCApe1xuXHRcdC8vIGNvbXB1dGUgbW9kZWxWaWV3TWF0cml4XG5cdFx0dmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0XHRtb2RlbFZpZXdNYXRyaXguY29tcG9zZShzdGF0cy5wb3NpdGlvbi5hdmVyYWdlLCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cblx0XHQvLyBjaGFuZ2UgX3RoaXMub2JqZWN0M2QubWF0cml4IGJhc2VkIG9uIHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXHRcdGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeClcblx0XHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguZ2V0SW52ZXJzZSggbW9kZWxWaWV3TWF0cml4IClcblx0XHR9ZWxzZSB7XG5cdFx0XHRjb25zb2xlLmFzc2VydChmYWxzZSlcblx0XHR9XG5cblx0XHQvLyBkZWNvbXBvc2UgLSB0aGUgbWF0cml4IGludG8gLnBvc2l0aW9uLCAucXVhdGVybmlvbiwgLnNjYWxlXG5cdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmRlY29tcG9zZShfdGhpcy5vYmplY3QzZC5wb3NpdGlvbiwgX3RoaXMub2JqZWN0M2QucXVhdGVybmlvbiwgX3RoaXMub2JqZWN0M2Quc2NhbGUpXG5cdH1cblxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBmcm9tIGh0dHA6Ly93aWtpLnVuaXR5M2QuY29tL2luZGV4LnBocC9BdmVyYWdpbmdfUXVhdGVybmlvbnNfYW5kX1ZlY3RvcnNcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbiA9IGZ1bmN0aW9uKHF1YXRlcm5pb25TdW0sIG5ld1F1YXRlcm5pb24sIGZpcnN0UXVhdGVybmlvbiwgY291bnQsIHF1YXRlcm5pb25BdmVyYWdlKXtcblx0cXVhdGVybmlvbkF2ZXJhZ2UgPSBxdWF0ZXJuaW9uQXZlcmFnZSB8fCBuZXcgVEhSRUUuUXVhdGVybmlvbigpXG5cdC8vIHNhbml0eSBjaGVja1xuXHRjb25zb2xlLmFzc2VydChmaXJzdFF1YXRlcm5pb24gaW5zdGFuY2VvZiBUSFJFRS5RdWF0ZXJuaW9uID09PSB0cnVlKVxuXHRcblx0Ly8gZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdGlmKCBuZXdRdWF0ZXJuaW9uLmRvdChmaXJzdFF1YXRlcm5pb24pID4gMCApe1xuXHRcdG5ld1F1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvbigtbmV3UXVhdGVybmlvbi54LCAtbmV3UXVhdGVybmlvbi55LCAtbmV3UXVhdGVybmlvbi56LCAtbmV3UXVhdGVybmlvbi53KVxuXHR9XG5cblx0cXVhdGVybmlvblN1bS54ICs9IG5ld1F1YXRlcm5pb24ueFxuXHRxdWF0ZXJuaW9uU3VtLnkgKz0gbmV3UXVhdGVybmlvbi55XG5cdHF1YXRlcm5pb25TdW0ueiArPSBuZXdRdWF0ZXJuaW9uLnpcblx0cXVhdGVybmlvblN1bS53ICs9IG5ld1F1YXRlcm5pb24ud1xuXHRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueCA9IHF1YXRlcm5pb25TdW0ueC9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS55ID0gcXVhdGVybmlvblN1bS55L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLnogPSBxdWF0ZXJuaW9uU3VtLnovY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UudyA9IHF1YXRlcm5pb25TdW0udy9jb3VudFxuXHRcblx0cXVhdGVybmlvbkF2ZXJhZ2Uubm9ybWFsaXplKClcblxuXHRyZXR1cm4gcXVhdGVybmlvbkF2ZXJhZ2Vcbn1cblxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzID0gZnVuY3Rpb24odmVjdG9yM1N1bSwgdmVjdG9yMywgY291bnQsIHZlY3RvcjNBdmVyYWdlKXtcblx0dmVjdG9yM0F2ZXJhZ2UgPSB2ZWN0b3IzQXZlcmFnZSB8fCBuZXcgVEhSRUUuVmVjdG9yMygpXG5cdFxuXHR2ZWN0b3IzU3VtLnggKz0gdmVjdG9yMy54XG5cdHZlY3RvcjNTdW0ueSArPSB2ZWN0b3IzLnlcblx0dmVjdG9yM1N1bS56ICs9IHZlY3RvcjMuelxuXHRcblx0dmVjdG9yM0F2ZXJhZ2UueCA9IHZlY3RvcjNTdW0ueCAvIGNvdW50XG5cdHZlY3RvcjNBdmVyYWdlLnkgPSB2ZWN0b3IzU3VtLnkgLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS56ID0gdmVjdG9yM1N1bS56IC8gY291bnRcblx0XG5cdHJldHVybiB2ZWN0b3IzQXZlcmFnZVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFV0aWxpdHkgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIGNvbXB1dGUgdGhlIGNlbnRlciBvZiB0aGlzIG11bHRpbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFDb250cm9scy5jb21wdXRlQ2VudGVyID0gZnVuY3Rpb24oanNvbkRhdGEpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50IDogMCxcblx0XHRwb3NpdGlvbiA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdFx0cXVhdGVybmlvbiA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHNjYWxlIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0fVxuXHR2YXIgZmlyc3RRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKSAvLyBGSVhNRSA/Pz9cblx0XG5cdG11bHRpTWFya2VyRmlsZS5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcblx0XHR2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeClcblx0XHRcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb25cblx0XHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHBvc2VNYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblx0XHRcblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblx0XG5cdHZhciBhdmVyYWdlTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKVxuXHRhdmVyYWdlTWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdHJldHVybiBhdmVyYWdlTWF0cml4XG59XG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUJvdW5kaW5nQm94ID0gZnVuY3Rpb24oanNvbkRhdGEpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0dmFyIGJvdW5kaW5nQm94ID0gbmV3IFRIUkVFLkJveDMoKVxuXG5cdG11bHRpTWFya2VyRmlsZS5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihpdGVtKXtcblx0XHR2YXIgcG9zZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeClcblx0XHRcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb25cblx0XHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHBvc2VNYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uLCBxdWF0ZXJuaW9uLCBzY2FsZSlcblxuXHRcdGJvdW5kaW5nQm94LmV4cGFuZEJ5UG9pbnQocG9zaXRpb24pXG5cdH0pXG5cblx0cmV0dXJuIGJvdW5kaW5nQm94XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZVNtb290aGVkQ29udHJvbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGVTbW9vdGhlZENvbnRyb2xzID0gZnVuY3Rpb24oc21vb3RoZWRDb250cm9scywgbGVycHNWYWx1ZXMpe1xuXHQvLyBoYW5kbGUgZGVmYXVsdCB2YWx1ZXNcblx0aWYoIGxlcnBzVmFsdWVzID09PSB1bmRlZmluZWQgKXtcblx0XHQvLyBGSVhNRSB0aGlzIHBhcmFtZXRlciBmb3JtYXQgaXMgdXNlbGVzc2x5IGNyeXB0aWNcblx0XHQvLyBsZXJwVmFsdWVzID0gW1xuXHRcdC8vIHtsZXJwUG9zaXRpb246IDAuNSwgbGVycFF1YXRlcm5pb246IDAuMiwgbGVycFF1YXRlcm5pb246IDAuN31cblx0XHQvLyBdXG5cdFx0bGVycHNWYWx1ZXMgPSBbXG5cdFx0XHRbMC4zKy4xLCAwLjEsIDAuM10sXG5cdFx0XHRbMC40Ky4xLCAwLjEsIDAuNF0sXG5cdFx0XHRbMC40Ky4xLCAwLjIsIDAuNV0sXG5cdFx0XHRbMC41Ky4xLCAwLjIsIDAuN10sXG5cdFx0XHRbMC41Ky4xLCAwLjIsIDAuN10sXG5cdFx0XVxuXHR9XG5cdC8vIGNvdW50IGhvdyBtYW55IHN1Yk1hcmtlcnNDb250cm9scyBhcmUgdmlzaWJsZVxuXHR2YXIgblZpc2libGUgPSAwXG5cdHRoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scywgbWFya2VySW5kZXgpe1xuXHRcdHZhciBtYXJrZXJPYmplY3QzZCA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkXG5cdFx0aWYoIG1hcmtlck9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKVx0blZpc2libGUgKytcblx0fSlcblxuXHQvLyBmaW5kIHRoZSBnb29kIGxlcnBWYWx1ZXNcblx0aWYoIGxlcnBzVmFsdWVzW25WaXNpYmxlLTFdICE9PSB1bmRlZmluZWQgKXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW25WaXNpYmxlLTFdXG5cdH1lbHNle1xuXHRcdHZhciBsZXJwVmFsdWVzID0gbGVycHNWYWx1ZXNbbGVycHNWYWx1ZXMubGVuZ3RoLTFdXG5cdH1cblxuXHQvLyBtb2RpZnkgbGVycFZhbHVlcyBpbiBzbW9vdGhlZENvbnRyb2xzXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwUG9zaXRpb24gPSBsZXJwVmFsdWVzWzBdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwUXVhdGVybmlvbiA9IGxlcnBWYWx1ZXNbMV1cblx0c21vb3RoZWRDb250cm9scy5wYXJhbWV0ZXJzLmxlcnBTY2FsZSA9IGxlcnBWYWx1ZXNbMl1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENyZWF0ZSBBck11bHRpTWFya2VyQ29udHJvbHMgZnJvbSBKU09OXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5mcm9tSlNPTiA9IGZ1bmN0aW9uKGFyVG9vbGtpdENvbnRleHQsIHBhcmVudDNELCBtYXJrZXJSb290LCBqc29uRGF0YSwgcGFyYW1ldGVycyl7XG5cdHZhciBtdWx0aU1hcmtlckZpbGUgPSBKU09OLnBhcnNlKGpzb25EYXRhKVxuXHQvLyBkZWNsYXJlIHZhcmlhYmxlc1xuXHR2YXIgc3ViTWFya2Vyc0NvbnRyb2xzID0gW11cblx0dmFyIHN1Yk1hcmtlclBvc2VzID0gW11cblx0Ly8gaGFuZGxlIGRlZmF1bHQgYXJndW1lbnRzXG5cdHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzIHx8IHt9XG5cblx0Ly8gcHJlcGFyZSB0aGUgcGFyYW1ldGVyc1xuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0Ly8gY3JlYXRlIGEgbWFya2VyUm9vdFxuXHRcdHZhciBtYXJrZXJSb290ID0gbmV3IFRIUkVFLk9iamVjdDNEKClcblx0XHRwYXJlbnQzRC5hZGQobWFya2VyUm9vdClcblxuXHRcdC8vIGNyZWF0ZSBtYXJrZXJDb250cm9scyBmb3Igb3VyIG1hcmtlclJvb3Rcblx0XHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBuZXcgQXJNYXJrZXJDb250cm9scyhhclRvb2xraXRDb250ZXh0LCBtYXJrZXJSb290LCBpdGVtLnBhcmFtZXRlcnMpXG5cbi8vIGlmKCB0cnVlICl7XG5cdFx0Ly8gc3RvcmUgaXQgaW4gdGhlIHBhcmFtZXRlcnNcblx0XHRzdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXHRcbi8vIH1lbHNle1xuLy8gXHRcdC8vIGJ1aWxkIGEgc21vb3RoZWRDb250cm9sc1xuLy8gXHRcdHZhciBzbW9vdGhlZFJvb3QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuLy8gXHRcdHBhcmVudDNELmFkZChzbW9vdGhlZFJvb3QpXG4vLyBcdFx0dmFyIHNtb290aGVkQ29udHJvbHMgPSBuZXcgVEhSRUV4LkFyU21vb3RoZWRDb250cm9scyhzbW9vdGhlZFJvb3QsIHtcbi8vIFx0XHRcdGxlcnBQb3NpdGlvbiA6IDAuMSxcbi8vIFx0XHRcdGxlcnBRdWF0ZXJuaW9uIDogMC4xLCBcbi8vIFx0XHRcdGxlcnBTY2FsZSA6IDAuMSxcbi8vIFx0XHRcdG1pblZpc2libGVEZWxheTogMCxcbi8vIFx0XHRcdG1pblVudmlzaWJsZURlbGF5OiAwLFxuLy8gXHRcdH0pXG4vLyBcdFx0b25SZW5kZXJGY3RzLnB1c2goZnVuY3Rpb24oZGVsdGEpe1xuLy8gXHRcdFx0c21vb3RoZWRDb250cm9scy51cGRhdGUobWFya2VyUm9vdClcdC8vIFRPRE8gdGhpcyBpcyBhIGdsb2JhbFxuLy8gXHRcdH0pXG4vLyBcdFxuLy8gXG4vLyBcdFx0Ly8gc3RvcmUgaXQgaW4gdGhlIHBhcmFtZXRlcnNcbi8vIFx0XHRzdWJNYXJrZXJzQ29udHJvbHMucHVzaChzbW9vdGhlZENvbnRyb2xzKVxuLy8gXHRcdHN1Yk1hcmtlclBvc2VzLnB1c2gobmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkoaXRlbS5wb3NlTWF0cml4KSlcbi8vIH1cblx0fSlcblx0XG5cdHBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzID0gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMgPSBzdWJNYXJrZXJQb3Nlc1xuXHQvLyBjcmVhdGUgYSBuZXcgQXJNdWx0aU1hcmtlckNvbnRyb2xzXG5cdHZhciBtdWx0aU1hcmtlckNvbnRyb2xzID0gbmV3IEFyTXVsdGlNYXJrZXJDb250cm9scyhhclRvb2xraXRDb250ZXh0LCBtYXJrZXJSb290LCBwYXJhbWV0ZXJzKVxuXG5cdC8vIHJldHVybiBpdFxuXHRyZXR1cm4gbXVsdGlNYXJrZXJDb250cm9sc1x0XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhQ29udHJvbHM7IiwiaW1wb3J0IEFyTXVsdGlNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5cbmNvbnN0IE1hcmtlcnNBcmVhTGVhcm5pbmcgPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBzdWJNYXJrZXJzQ29udHJvbHMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdHRoaXMuX2FyVG9vbGtpdENvbnRleHQgPSBhclRvb2xraXRDb250ZXh0XG5cblx0Ly8gSW5pdCB2YXJpYWJsZXNcblx0dGhpcy5zdWJNYXJrZXJzQ29udHJvbHMgPSBzdWJNYXJrZXJzQ29udHJvbHNcblx0dGhpcy5lbmFibGVkID0gdHJ1ZVxuXHRcdFxuXHQvLyBsaXN0ZW4gdG8gYXJUb29sa2l0Q29udGV4dCBldmVudCAnc291cmNlUHJvY2Vzc2VkJ1xuXHQvLyAtIGFmdGVyIHdlIGZ1bGx5IHByb2Nlc3NlZCBvbmUgaW1hZ2UsIGFrYSB3aGVuIHdlIGtub3cgYWxsIGRldGVjdGVkIHBvc2VzIGluIGl0XG5cdGFyVG9vbGtpdENvbnRleHQuYWRkRXZlbnRMaXN0ZW5lcignc291cmNlUHJvY2Vzc2VkJywgZnVuY3Rpb24oKXtcblx0XHRfdGhpcy5fb25Tb3VyY2VQcm9jZXNzZWQoKVxuXHR9KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHN0YXRpc3RpYyBjb2xsZWN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBpbWFnZSBzb3VyY2UgaXMgZnVsbHkgcHJvY2Vzc2VkXG4gKi9cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLl9vblNvdXJjZVByb2Nlc3NlZCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBvcmlnaW5RdWF0ZXJuaW9uID0gdGhpcy5zdWJNYXJrZXJzQ29udHJvbHNbMF0ub2JqZWN0M2QucXVhdGVybmlvblxuXHQvLyBoZXJlIGNvbGxlY3QgdGhlIHN0YXRpc3RpYyBvbiByZWxhdGl2ZSBwb3NpdGlvbmluZyBcblx0XG5cdC8vIGhvbm9yIHRoaXMuZW5hYmxlZFxuXHRpZiggdGhpcy5lbmFibGVkID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHQvLyBrZWVwIG9ubHkgdGhlIHZpc2libGUgbWFya2Vyc1xuXHR2YXIgdmlzaWJsZU1hcmtlckNvbnRyb2xzID0gdGhpcy5zdWJNYXJrZXJzQ29udHJvbHMuZmlsdGVyKGZ1bmN0aW9uKG1hcmtlckNvbnRyb2xzKXtcblx0XHRyZXR1cm4gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZVxuXHR9KVxuXG5cdHZhciBjb3VudCA9IE9iamVjdC5rZXlzKHZpc2libGVNYXJrZXJDb250cm9scykubGVuZ3RoXG5cblx0dmFyIHBvc2l0aW9uRGVsdGEgPSBuZXcgVEhSRUUuVmVjdG9yMygpXG5cdHZhciBxdWF0ZXJuaW9uRGVsdGEgPSBuZXcgVEhSRUUuUXVhdGVybmlvbigpXG5cdHZhciBzY2FsZURlbHRhID0gbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHR2YXIgdG1wTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKVxuXHRcblx0Ly8gZ28gdGhydSBhbGwgdGhlIHZpc2libGVNYXJrZXJDb250cm9sc1xuXHRmb3IodmFyIGkgPSAwOyBpIDwgY291bnQ7IGkrKyl7XG5cdFx0dmFyIG1hcmtlckNvbnRyb2xzMSA9IHZpc2libGVNYXJrZXJDb250cm9sc1tpXVxuXHRcdGZvcih2YXIgaiA9IDA7IGogPCBjb3VudDsgaisrKXtcblx0XHRcdHZhciBtYXJrZXJDb250cm9sczIgPSB2aXNpYmxlTWFya2VyQ29udHJvbHNbal1cblxuXHRcdFx0Ly8gaWYgbWFya2VyQ29udHJvbHMxIGlzIG1hcmtlckNvbnRyb2xzMiwgdGhlbiBza2lwIGl0XG5cdFx0XHRpZiggaSA9PT0gaiApXHRjb250aW51ZVxuXG5cblx0XHRcdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRcdFx0Ly9cdFx0Y3JlYXRlIGRhdGEgaW4gbWFya2VyQ29udHJvbHMxLm9iamVjdDNkLnVzZXJEYXRhIGlmIG5lZWRlZFxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHQvLyBjcmVhdGUgc2VlbkNvdXBsZXMgZm9yIG1hcmtlckNvbnRyb2xzMSBpZiBuZWVkZWRcblx0XHRcdGlmKCBtYXJrZXJDb250cm9sczEub2JqZWN0M2QudXNlckRhdGEuc2VlbkNvdXBsZXMgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRtYXJrZXJDb250cm9sczEub2JqZWN0M2QudXNlckRhdGEuc2VlbkNvdXBsZXMgPSB7fVxuXHRcdFx0fVxuXHRcdFx0dmFyIHNlZW5Db3VwbGVzID0gbWFya2VyQ29udHJvbHMxLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzXG5cdFx0XHQvLyBjcmVhdGUgdGhlIG11bHRpTWFya2VyUG9zaXRpb24gYXZlcmFnZSBpZiBuZWVkZWRgXG5cdFx0XHRpZiggc2VlbkNvdXBsZXNbbWFya2VyQ29udHJvbHMyLmlkXSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdjcmVhdGUgc2VlbkNvdXBsZXMgYmV0d2VlbicsIG1hcmtlckNvbnRyb2xzMS5pZCwgJ2FuZCcsIG1hcmtlckNvbnRyb2xzMi5pZClcblx0XHRcdFx0c2VlbkNvdXBsZXNbbWFya2VyQ29udHJvbHMyLmlkXSA9IHtcblx0XHRcdFx0XHRjb3VudCA6IDAsXG5cdFx0XHRcdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRcdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdFx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRcdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0XHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRzY2FsZSA6IHtcblx0XHRcdFx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0XHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0XG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdC8vXHRcdENvbXB1dGUgbWFya2VyQ29udHJvbHMyIHBvc2l0aW9uIHJlbGF0aXZlIHRvIG1hcmtlckNvbnRyb2xzMVxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHRcblx0XHRcdC8vIGNvbXB1dGUgbWFya2VyQ29udHJvbHMyIHBvc2l0aW9uL3F1YXRlcm5pb24vc2NhbGUgaW4gcmVsYXRpb24gd2l0aCBtYXJrZXJDb250cm9sczFcblx0XHRcdHRtcE1hdHJpeC5nZXRJbnZlcnNlKG1hcmtlckNvbnRyb2xzMS5vYmplY3QzZC5tYXRyaXgpXG5cdFx0XHR0bXBNYXRyaXgubXVsdGlwbHkobWFya2VyQ29udHJvbHMyLm9iamVjdDNkLm1hdHJpeClcblx0XHRcdHRtcE1hdHJpeC5kZWNvbXBvc2UocG9zaXRpb25EZWx0YSwgcXVhdGVybmlvbkRlbHRhLCBzY2FsZURlbHRhKVxuXHRcdFx0XG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdC8vXHRcdHVwZGF0ZSBzdGF0aXN0aWNzXG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdHZhciBzdGF0cyA9IHNlZW5Db3VwbGVzW21hcmtlckNvbnRyb2xzMi5pZF1cblx0XHRcdC8vIHVwZGF0ZSB0aGUgY291bnRcblx0XHRcdHN0YXRzLmNvdW50KytcblxuXHRcdFx0Ly8gdXBkYXRlIHRoZSBhdmVyYWdlIG9mIHBvc2l0aW9uL3JvdGF0aW9uL3NjYWxlXG5cdFx0XHRBck11bHRpTWFya2VyQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMucG9zaXRpb24uc3VtLCBwb3NpdGlvbkRlbHRhLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRcdEFyTXVsdGlNYXJrZXJDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbihzdGF0cy5xdWF0ZXJuaW9uLnN1bSwgcXVhdGVybmlvbkRlbHRhLCBvcmlnaW5RdWF0ZXJuaW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlKVxuXHRcdFx0QXJNdWx0aU1hcmtlckNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnNjYWxlLnN1bSwgc2NhbGVEZWx0YSwgc3RhdHMuY291bnQsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdFx0fVxuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29tcHV0ZSBtYXJrZXJzIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBmcm9tIGN1cnJlbnQgc3RhdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5jb21wdXRlUmVzdWx0ID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHR2YXIgb3JpZ2luU3ViQ29udHJvbHMgPSB0aGlzLnN1Yk1hcmtlcnNDb250cm9sc1swXVxuXG5cdHRoaXMuZGVsZXRlUmVzdWx0KClcblxuXHQvLyBzcGVjaWFsIGNhc2Ugb2Ygb3JpZ2luU3ViQ29udHJvbHMgYXZlcmFnZU1hdHJpeFxuXHRvcmlnaW5TdWJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHQgPSB7XG5cdFx0YXZlcmFnZU1hdHJpeCA6IG5ldyBUSFJFRS5NYXRyaXg0KCksXG5cdFx0Y29uZmlkZW5jZUZhY3RvcjogMSxcblx0fVxuXHQvLyBUT0RPIGhlcmUgY2hlY2sgaWYgdGhlIG9yaWdpblN1YkNvbnRyb2xzIGhhcyBiZWVuIHNlZW4gYXQgbGVhc3Qgb25jZSEhXG5cdFxuXHRcblx0LyoqXG5cdCAqIEFMR08gaW4gcHNldWRvIGNvZGVcblx0ICpcblx0ICogLSBTZXQgY29uZmlkZW5jZUZhY3RvciBvZiBvcmlnaW4gc3ViIG1hcmtlcnMgYXMgMVxuXHQgKlxuXHQgKiBTdGFydCBMb29waW5nXG5cdCAqIC0gRm9yIGEgZ2l2ZW4gc3ViIG1hcmtlciwgc2tpcCBpdCBpZiBpdCBhbHJlYWR5IGhhcyBhIHJlc3VsdC5cblx0ICogLSBpZiBubyByZXN1bHQsIGNoZWNrIGFsbCBzZWVuIGNvdXBsZSBhbmQgZmluZCBuIG9uZXMgd2hpY2ggaGFzIGEgcHJvZ3Jlc3Mgb2YgMSBvciBtb3JlLlxuXHQgKiAtIFNvIHRoZSBvdGhlciBzZWVuIHN1YiBtYXJrZXJzLCBnb3QgYSB2YWxpZCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguIFxuXHQgKiAtIFNvIHRha2UgbG9jYWwgYXZlcmFnZXMgcG9zaXRpb24vb3JpZW50YXRpb24vc2NhbGUsIGNvbXBvc2UgYSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguIFxuXHQgKiAgIC0gYWthIHRyYW5zZm9ybWF0aW9uIG1hdHJpeCBmcm9tIHBhcmVudCBtYXRyaXggKiB0cmFuc2YgbWF0cml4IHBvcy9vcmllbnRhdGlvbi9zY2FsZVxuXHQgKiAtIE11bHRpcGxlIGl0IGJ5IHRoZSBvdGhlciBzZWVuIG1hcmtlciBtYXRyaXguIFxuXHQgKiAtIExvb3Agb24gdGhlIGFycmF5IHVudGlsIG9uZSBwYXNzIGNvdWxkIG5vdCBjb21wdXRlIGFueSBuZXcgc3ViIG1hcmtlclxuXHQgKi9cblx0XG5cdGRve1xuXHRcdHZhciByZXN1bHRDaGFuZ2VkID0gZmFsc2Vcblx0XHQvLyBsb29wIG92ZXIgZWFjaCBzdWJNYXJrZXJDb250cm9sc1xuXHRcdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oc3ViTWFya2VyQ29udHJvbHMpe1xuXG5cdFx0XHQvLyBpZiBzdWJNYXJrZXJDb250cm9scyBhbHJlYWR5IGhhcyBhIHJlc3VsdCwgZG8gbm90aGluZ1xuXHRcdFx0dmFyIHJlc3VsdCA9IHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdFxuXHRcdFx0dmFyIGlzTGVhcm5lZCA9IChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQuY29uZmlkZW5jZUZhY3RvciA+PSAxKSA/IHRydWUgOiBmYWxzZVxuXHRcdFx0aWYoIGlzTGVhcm5lZCA9PT0gdHJ1ZSApXHRyZXR1cm5cblx0XHRcdFxuXHRcdFx0Ly8gY29uc29sZS5sb2coJ2NvbXB1dGUgc3ViTWFya2VyQ29udHJvbHMnLCBzdWJNYXJrZXJDb250cm9scy5uYW1lKCkpXG5cdFx0XHR2YXIgb3RoZXJTdWJDb250cm9sc0lEID0gX3RoaXMuX2dldExlYXJuZWRDb3VwbGVTdGF0cyhzdWJNYXJrZXJDb250cm9scylcblx0XHRcdGlmKCBvdGhlclN1YkNvbnRyb2xzSUQgPT09IG51bGwgKXtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ25vIGxlYXJuZWRDb3VwbGVTdGF0cycpXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHR2YXIgb3RoZXJTdWJDb250cm9scyA9IF90aGlzLl9nZXRTdWJNYXJrZXJDb250cm9sc0J5SUQob3RoZXJTdWJDb250cm9sc0lEKVxuXG5cdFx0XHR2YXIgc2VlbkNvdXBsZVN0YXRzID0gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEuc2VlbkNvdXBsZXNbb3RoZXJTdWJDb250cm9sc0lEXVxuXHRcdFx0XG5cdFx0XHR2YXIgYXZlcmFnZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0XHRcdGF2ZXJhZ2VNYXRyaXguY29tcG9zZShzZWVuQ291cGxlU3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc2VlbkNvdXBsZVN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSwgc2VlbkNvdXBsZVN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdFx0XHRcdFxuXHRcdFx0dmFyIG90aGVyQXZlcmFnZU1hdHJpeCA9IG90aGVyU3ViQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0LmF2ZXJhZ2VNYXRyaXhcblxuXHRcdFx0dmFyIG1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZ2V0SW52ZXJzZShvdGhlckF2ZXJhZ2VNYXRyaXgpLm11bHRpcGx5KGF2ZXJhZ2VNYXRyaXgpXG5cdFx0XHRtYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmdldEludmVyc2UobWF0cml4KVxuXG5cdFx0XHRjb25zb2xlLmFzc2VydCggc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0ID09PSB1bmRlZmluZWQgKVxuXHRcdFx0c3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0ID0ge1xuXHRcdFx0XHRhdmVyYWdlTWF0cml4OiBtYXRyaXgsXG5cdFx0XHRcdGNvbmZpZGVuY2VGYWN0b3I6IDFcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0cmVzdWx0Q2hhbmdlZCA9IHRydWVcblx0XHR9KVxuXHRcdC8vIGNvbnNvbGUubG9nKCdsb29wJylcblx0fXdoaWxlKHJlc3VsdENoYW5nZWQgPT09IHRydWUpXG5cdFxuXHQvLyBkZWJ1Z2dlclxuXHQvLyBjb25zb2xlLmxvZygnanNvbjonLCB0aGlzLnRvSlNPTigpKVxuXHQvLyB0aGlzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblx0Ly8gXHR2YXIgaGFzUmVzdWx0ID0gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0ICE9PSB1bmRlZmluZWRcblx0Ly8gXHRjb25zb2xlLmxvZygnbWFya2VyJywgc3ViTWFya2VyQ29udHJvbHMubmFtZSgpLCBoYXNSZXN1bHQgPyAnaGFzJyA6ICdoYXMgTk8nLCAncmVzdWx0Jylcblx0Ly8gfSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqIFxuICogZ2V0IGEgX3RoaXMuc3ViTWFya2Vyc0NvbnRyb2xzIGlkIGJhc2VkIG9uIG1hcmtlckNvbnRyb2xzLmlkXG4gKi9cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLl9nZXRMZWFybmVkQ291cGxlU3RhdHNcdD0gZnVuY3Rpb24oc3ViTWFya2VyQ29udHJvbHMpe1xuXG5cdC8vIGlmIHRoaXMgc3ViTWFya2VyQ29udHJvbHMgaGFzIG5ldmVyIGJlZW4gc2VlbiB3aXRoIGFub3RoZXIgc3ViTWFya2VyQ29udHJvbHNcblx0aWYoIHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzID09PSB1bmRlZmluZWQgKVx0cmV0dXJuIG51bGxcblx0XG5cdHZhciBzZWVuQ291cGxlcyA9IHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzXG5cdHZhciBjb3VwbGVDb250cm9sc0lEcyA9IE9iamVjdC5rZXlzKHNlZW5Db3VwbGVzKS5tYXAoTnVtYmVyKVxuXG5cdGZvcih2YXIgaSA9IDA7IGkgPCBjb3VwbGVDb250cm9sc0lEcy5sZW5ndGg7IGkrKyl7XG5cdFx0dmFyIG90aGVyU3ViQ29udHJvbHNJRCA9IGNvdXBsZUNvbnRyb2xzSURzW2ldXG5cdFx0Ly8gZ2V0IG90aGVyU3ViQ29udHJvbHNcblx0XHR2YXIgb3RoZXJTdWJDb250cm9scyA9IHRoaXMuX2dldFN1Yk1hcmtlckNvbnRyb2xzQnlJRChvdGhlclN1YkNvbnRyb2xzSUQpXG5cdFx0XHRcblx0XHQvLyBpZiBvdGhlclN1YkNvbnRyb2xzIGlzbnQgbGVhcm5lZCwgc2tpcCBpdFxuXHRcdHZhciByZXN1bHQgPSBvdGhlclN1YkNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdFxuXHRcdHZhciBpc0xlYXJuZWQgPSAocmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgcmVzdWx0LmNvbmZpZGVuY2VGYWN0b3IgPj0gMSkgPyB0cnVlIDogZmFsc2Vcblx0XHRpZiggaXNMZWFybmVkID09PSBmYWxzZSApXHRjb250aW51ZVxuXG5cdFx0Ly8gcmV0dXJuIHRoaXMgc2VlbkNvdXBsZXNTdGF0c1xuXHRcdHJldHVybiBvdGhlclN1YkNvbnRyb2xzSURcblx0fVxuXHRcblx0Ly8gaWYgbm9uZSBpcyBmb3VuZCwgcmV0dXJuIG51bGxcblx0cmV0dXJuIG51bGxcbn1cblxuLyoqIFxuICogZ2V0IGEgX3RoaXMuc3ViTWFya2Vyc0NvbnRyb2xzIGJhc2VkIG9uIG1hcmtlckNvbnRyb2xzLmlkXG4gKi9cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLl9nZXRTdWJNYXJrZXJDb250cm9sc0J5SURcdD0gZnVuY3Rpb24oY29udHJvbHNJRCl7XG5cblx0Zm9yKHZhciBpID0gMDsgaSA8IHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzLmxlbmd0aDsgaSsrKXtcblx0XHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSB0aGlzLnN1Yk1hcmtlcnNDb250cm9sc1tpXVxuXHRcdGlmKCBzdWJNYXJrZXJDb250cm9scy5pZCA9PT0gY29udHJvbHNJRCApe1xuXHRcdFx0cmV0dXJuIHN1Yk1hcmtlckNvbnRyb2xzXG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIG51bGxcbn1cbiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEpTT04gZmlsZSBidWlsZGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uKCl7XG5cblx0Ly8gY29tcHV0ZSB0aGUgYXZlcmFnZSBtYXRyaXggYmVmb3JlIGdlbmVyYXRpbmcgdGhlIGZpbGVcblx0dGhpcy5jb21wdXRlUmVzdWx0KClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0YWN0dWFsbHkgYnVpbGQgdGhlIGpzb25cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHZhciBkYXRhID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiBcIkFyZWEgTGVhcm5pbmcgLSBBUi5qcyBcIitUSFJFRXguQXJUb29sa2l0Q29udGV4dC5SRVZJU0lPTiwgLy8gVE9ETzogQXJUb29sa2l0Q29udGV4dCBkZXBlbmRpbmcgb24gYnVpbGRcblx0XHRcdGNyZWF0ZWRBdCA6IG5ldyBEYXRlKCkudG9KU09OKCksXG5cdFx0XHRcblx0XHR9LFxuXHRcdHRyYWNraW5nQmFja2VuZDogdGhpcy5fYXJUb29sa2l0Q29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCxcblx0XHRzdWJNYXJrZXJzQ29udHJvbHMgOiBbXSxcblx0fVxuXG5cdHZhciBvcmlnaW5TdWJDb250cm9scyA9IHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdXG5cdHZhciBvcmlnaW5NYXRyaXhJbnZlcnNlID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG9yaWdpblN1YkNvbnRyb2xzLm9iamVjdDNkLm1hdHJpeClcblx0dGhpcy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihzdWJNYXJrZXJDb250cm9scywgaW5kZXgpe1xuXHRcdFxuXHRcdC8vIGlmIGEgc3ViTWFya2VyQ29udHJvbHMgaGFzIG5vIHJlc3VsdCwgaWdub3JlIGl0XG5cdFx0aWYoIHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdCA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXG5cdFx0dmFyIHBvc2VNYXRyaXggPSBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHQuYXZlcmFnZU1hdHJpeFxuXHRcdGNvbnNvbGUuYXNzZXJ0KHBvc2VNYXRyaXggaW5zdGFuY2VvZiBUSFJFRS5NYXRyaXg0KVxuXHRcdFxuXG5cdFx0Ly8gYnVpbGQgdGhlIGluZm9cblx0XHR2YXIgaW5mbyA9IHtcblx0XHRcdHBhcmFtZXRlcnMgOiB7XG5cdFx0XHRcdC8vIHRvIGZpbGwgLi4uXG5cdFx0XHR9LFxuXHRcdFx0cG9zZU1hdHJpeCA6IHBvc2VNYXRyaXgudG9BcnJheSgpLFxuXHRcdH1cblx0XHRpZiggc3ViTWFya2VyQ29udHJvbHMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0XHRcdGluZm8ucGFyYW1ldGVycy50eXBlID0gc3ViTWFya2VyQ29udHJvbHMucGFyYW1ldGVycy50eXBlXG5cdFx0XHRpbmZvLnBhcmFtZXRlcnMucGF0dGVyblVybCA9IHN1Yk1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMucGF0dGVyblVybFxuXHRcdH1lbHNlIGlmKCBzdWJNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0aW5mby5wYXJhbWV0ZXJzLnR5cGUgPSBzdWJNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLnR5cGVcblx0XHRcdGluZm8ucGFyYW1ldGVycy5iYXJjb2RlVmFsdWUgPSBzdWJNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdFx0ZGF0YS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChpbmZvKVxuXHR9KVxuXG5cdHZhciBzdHJKU09OID0gSlNPTi5zdHJpbmdpZnkoZGF0YSwgbnVsbCwgJ1xcdCcpO1xuXHRcblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRyb3VuZCBtYXRyaXggZWxlbWVudHMgdG8gZWFzZSByZWFkYWJpbGl0eSAtIGZvciBkZWJ1Z1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dmFyIGh1bWFuUmVhZGFibGUgPSBmYWxzZVxuXHRpZiggaHVtYW5SZWFkYWJsZSA9PT0gdHJ1ZSApe1xuXHRcdHZhciB0bXAgPSBKU09OLnBhcnNlKHN0ckpTT04pXG5cdFx0dG1wLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckNvbnRyb2xzKXtcblx0XHRcdG1hcmtlckNvbnRyb2xzLnBvc2VNYXRyaXggPSBtYXJrZXJDb250cm9scy5wb3NlTWF0cml4Lm1hcChmdW5jdGlvbih2YWx1ZSl7XG5cdFx0XHRcdHZhciByb3VuZGluZ0ZhY3RvciA9IDEwMFxuXHRcdFx0XHRyZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSpyb3VuZGluZ0ZhY3Rvcikvcm91bmRpbmdGYWN0b3Jcblx0XHRcdH0pXG5cdFx0fSlcblx0XHRzdHJKU09OID0gSlNPTi5zdHJpbmdpZnkodG1wLCBudWxsLCAnXFx0Jyk7XG5cdH1cblx0XG5cdHJldHVybiBzdHJKU09OO1x0XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXRpbGl0eSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogcmVzZXQgYWxsIGNvbGxlY3RlZCBzdGF0aXN0aWNzXG4gKi9cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLnJlc2V0U3RhdHMgPSBmdW5jdGlvbigpe1xuXHR0aGlzLmRlbGV0ZVJlc3VsdCgpXG5cdFxuXHR0aGlzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckNvbnRyb2xzKXtcblx0XHRkZWxldGUgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEuc2VlbkNvdXBsZXNcblx0fSlcbn1cbi8qKlxuICogcmVzZXQgYWxsIGNvbGxlY3RlZCBzdGF0aXN0aWNzXG4gKi9cbk1hcmtlcnNBcmVhTGVhcm5pbmcucHJvdG90eXBlLmRlbGV0ZVJlc3VsdCA9IGZ1bmN0aW9uKCl7XG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMpe1xuXHRcdGRlbGV0ZSBtYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHRcblx0fSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFya2Vyc0FyZWFMZWFybmluZztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL3RocmVleC9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbmNvbnN0IE1hcmtlcnNBcmVhVXRpbHMgPSB7fTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRuYXZpZ2F0ZVRvTGVhcm5lclBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBtdWx0aS1tYXJrZXIgbGVhcm5lciBwYWdlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGxlYXJuZXJCYXNlVVJMICAtIHRoZSBiYXNlIHVybCBmb3IgdGhlIGxlYXJuZXJcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5uYXZpZ2F0ZVRvTGVhcm5lclBhZ2UgPSBmdW5jdGlvbihsZWFybmVyQmFzZVVSTCwgdHJhY2tpbmdCYWNrZW5kKXtcblx0dmFyIGxlYXJuZXJQYXJhbWV0ZXJzID0ge1xuXHRcdGJhY2tVUkwgOiBsb2NhdGlvbi5ocmVmLFxuXHRcdHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnM6IE1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnModHJhY2tpbmdCYWNrZW5kKSxcblx0fVxuXHRsb2NhdGlvbi5ocmVmID0gbGVhcm5lckJhc2VVUkwgKyAnPycgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobGVhcm5lclBhcmFtZXRlcnMpKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdERlZmF1bHRNdWx0aU1hcmtlckZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgc3RvcmUgYSBkZWZhdWx0IG11bHRpLW1hcmtlciBmaWxlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdHZhciBmaWxlID0gTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlKHRyYWNraW5nQmFja2VuZClcblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoZmlsZSkpXG59XG5cblxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgbXVsdGktbWFya2VyIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSBqc29uIG9iamVjdCBvZiB0aGUgbXVsdGktbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0Y29uc29sZS5hc3NlcnQodHJhY2tpbmdCYWNrZW5kKVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSB1bmRlZmluZWQgKVx0ZGVidWdnZXJcblxuXHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblx0Ly8gY3JlYXRlIHRoZSBiYXNlIGZpbGVcblx0dmFyIGZpbGUgPSB7XG5cdFx0bWV0YSA6IHtcblx0XHRcdGNyZWF0ZWRCeSA6ICdBUi5qcyAnICsgQ29udGV4dC5SRVZJU0lPTiArICcgLSBEZWZhdWx0IE1hcmtlcicsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi4gYmVpbmcgZmlsbGVkXG5cdFx0XVxuXHR9XG5cdC8vIGFkZCBhIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXSA9IHtcblx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRwb3NlTWF0cml4OiBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbigwLDAsIDApLnRvQXJyYXkoKSxcblx0fVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMucGF0dGVyblVybCA9IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCdcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdHJldHVybiBmaWxlXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Y3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY29udHJvbHMgcGFyYW1ldGVycyBmb3IgdGhlIG11bHRpLW1hcmtlciBsZWFybmVyXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIGpzb24gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xzIHBhcmFtZXRlcnNcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gcGF0dGVybiBoaXJvL2thbmppL2EvYi9jL2Zcblx0XHR2YXIgbWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IFtcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4ta2FuamkucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckMucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyRi5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblx0cmV0dXJuIG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZ2VuZXJhdGUgYXJlYUZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKSB7XG5cdC8vIGdlbmVyYXRlIGFyZWFGaWxlXG5cdHZhciBhcmVhRmlsZSA9IHRoaXMuYnVpbGRNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSClcblx0Ly8gc3RvcmUgYXJlYUZpbGUgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoYXJlYUZpbGUpKVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYVV0aWxzLmJ1aWxkTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24gPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSCl7XG5cdC8vIGNyZWF0ZSB0aGUgYmFzZSBmaWxlXG5cdHZhciBmaWxlID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiAnQVIuanMgLSBBdWdtZW50ZWQgV2Vic2l0ZScsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi5cblx0XHRdXG5cdH1cblxuXHR2YXIgd2hpdGVNYXJnaW4gPSAwLjFcblx0aWYoIHJlc29sdXRpb25XID4gcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbkhcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XIDwgcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbldcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XID09PSByZXNvbHV0aW9uSCApe1xuXHRcdC8vIHNwZWNpZmljIGZvciB0d2l0dGVyIHBsYXllciAtIGh0dHBzOi8vZGV2LnR3aXR0ZXIuY29tL2NhcmRzL3R5cGVzL3BsYXllclxuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjMzICogcmVzb2x1dGlvbldcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY29uc29sZS53YXJuKCd1c2luZyBuZXcgbWFya2VySW1hZ2VTaXplIGNvbXB1dGF0aW9uJylcblx0dmFyIGFjdHVhbE1hcmtlclNpemUgPSBtYXJrZXJJbWFnZVNpemUgKiAoMSAtIDIqd2hpdGVNYXJnaW4pXG5cblx0dmFyIGRlbHRhWCA9IChyZXNvbHV0aW9uVyAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblx0dmFyIGRlbHRhWiA9IChyZXNvbHV0aW9uSCAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdjZW50ZXInLCAwLCAwKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcGxlZnQnLCAtZGVsdGFYLCAtZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcHJpZ2h0JywgK2RlbHRhWCwgLWRlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21sZWZ0JywgLWRlbHRhWCwgK2RlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21yaWdodCcsICtkZWx0YVgsICtkZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0cmV0dXJuIGZpbGVcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0Q29kZSBTZXBhcmF0b3Jcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0ZnVuY3Rpb24gYnVpbGRTdWJNYXJrZXJDb250cm9scyhsYXlvdXQsIHBvc2l0aW9uWCwgcG9zaXRpb25aKXtcblx0XHRjb25zb2xlLmxvZygnYnVpbGRTdWJNYXJrZXJDb250cm9scycsIGxheW91dCwgcG9zaXRpb25YLCBwb3NpdGlvblopXG5cdFx0Ly8gY3JlYXRlIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRcdHZhciBzdWJNYXJrZXJzQ29udHJvbHMgPSB7XG5cdFx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRcdHBvc2VNYXRyaXg6IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKHBvc2l0aW9uWCwwLCBwb3NpdGlvblopLnRvQXJyYXkoKSxcblx0XHR9XG5cdFx0Ly8gZmlsbCB0aGUgcGFyYW1ldGVyc1xuXHRcdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0XHRsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChzdWJNYXJrZXJzQ29udHJvbHMucGFyYW1ldGVycywgbGF5b3V0KVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHRcdC8vIHJldHVybiBzdWJNYXJrZXJzQ29udHJvbHNcblx0XHRyZXR1cm4gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdH1cblxuXHRmdW5jdGlvbiBsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChwYXJhbWV0ZXJzLCBsYXlvdXQpe1xuXHRcdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0XHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRcdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHRcdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXHRcdHZhciBsYXlvdXQyUGF0dGVyblVybCA9IHtcblx0XHRcdCdjZW50ZXInIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnKSxcblx0XHRcdCd0b3BsZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0JyksXG5cdFx0XHQndG9wcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnKSxcblx0XHRcdCdib3R0b21sZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQy5wYXR0JyksXG5cdFx0XHQnYm90dG9tcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJGLnBhdHQnKSxcblx0XHR9XG5cdFx0Y29uc29sZS5hc3NlcnQobGF5b3V0MlBhdHRlcm5VcmxbbGF5b3V0XSAhPT0gdW5kZWZpbmVkIClcblx0XHRwYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcblx0XHRwYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBsYXlvdXQyUGF0dGVyblVybFtsYXlvdXRdXG5cdFx0cmV0dXJuXG5cdFx0ZnVuY3Rpb24gY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShyZWxhdGl2ZVVybCl7XG5cdFx0XHR2YXIgdG1wTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblx0XHRcdHRtcExpbmsuaHJlZiA9IHJlbGF0aXZlVXJsXG5cdFx0XHRyZXR1cm4gdG1wTGluay5ocmVmXG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IFV0aWxzID0ge307XG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCByZW5kZXJpbmcgY2FtZXJhIGZvciB0aGlzIHRyYWNraW5nQmFja2VuZC4gVGhleSBtYXkgYmUgbW9kaWZpZWQgbGF0ZXIuIHRvIGZpdCBwaHlzaWNhbCBjYW1lcmEgcGFyYW1ldGVyc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgdG8gdXNlclxuICogQHJldHVybiB7VEhSRUUuQ2FtZXJhfSB0aGUgY3JlYXRlZCBjYW1lcmFcbiAqL1xuVXRpbHMuY3JlYXRlRGVmYXVsdENhbWVyYSA9IGZ1bmN0aW9uICh0cmFja2luZ01ldGhvZCkge1xuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSB0aGlzLnBhcnNlVHJhY2tpbmdNZXRob2QodHJhY2tpbmdNZXRob2QpLnRyYWNraW5nQmFja2VuZFxuICAgIC8vIENyZWF0ZSBhIGNhbWVyYVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHZhciBjYW1lcmEgPSBuZXcgVEhSRUUuQ2FtZXJhKCk7XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5rbm93biB0cmFja2luZ0JhY2tlbmQ6ICcgKyB0cmFja2luZ0JhY2tlbmQpXG5cbiAgICByZXR1cm4gY2FtZXJhXG59XG5cbi8qKlxuICogcGFyc2UgdHJhY2tpbmcgbWV0aG9kXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nTWV0aG9kIC0gdGhlIHRyYWNraW5nIG1ldGhvZCB0byBwYXJzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIHZhcmlvdXMgZmllbGQgb2YgdGhlIHRyYWNraW5nIG1ldGhvZFxuICovXG5VdGlscy5wYXJzZVRyYWNraW5nTWV0aG9kID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG5cbiAgICBpZiAodHJhY2tpbmdNZXRob2QgPT09ICdiZXN0Jykge1xuICAgICAgICB0cmFja2luZ01ldGhvZCA9ICdhcmVhLWFydG9vbGtpdCc7XG4gICAgfVxuXG4gICAgaWYgKHRyYWNraW5nTWV0aG9kLnN0YXJ0c1dpdGgoJ2FyZWEtJykpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdNZXRob2QucmVwbGFjZSgnYXJlYS0nLCAnJyksXG4gICAgICAgICAgICBtYXJrZXJzQXJlYUVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiB0cmFja2luZ01ldGhvZCxcbiAgICAgICAgICAgIG1hcmtlcnNBcmVhRW5hYmxlZDogZmFsc2UsXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFV0aWxzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdCc7XG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0LCBBUkNvbnRyb2xsZXIgfSA9IGpzYXJ0b29sa2l0O1xuY29uc3QgYXJ0b29sa2l0ID0gbmV3IEFSVG9vbGtpdCgpO1xuXG5jb25zdCBDb250ZXh0ID0gZnVuY3Rpb24gKHBhcmFtZXRlcnMsIHNvdXJjZVBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBfdGhpcy5fdXBkYXRlZEF0ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gQVIgYmFja2VuZCAtIFsnYXJ0b29sa2l0J11cbiAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiAnYXJ0b29sa2l0JyxcbiAgICAgICAgLy8gZGVidWcgLSB0cnVlIGlmIG9uZSBzaG91bGQgZGlzcGxheSBhcnRvb2xraXQgZGVidWcgY2FudmFzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgICAgZGVidWc6IGZhbHNlLFxuICAgICAgICAvLyB0aGUgbW9kZSBvZiBkZXRlY3Rpb24gLSBbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXVxuICAgICAgICBkZXRlY3Rpb25Nb2RlOiAnbW9ubycsXG4gICAgICAgIC8vIHR5cGUgb2YgbWF0cml4IGNvZGUgLSB2YWxpZCBpaWYgZGV0ZWN0aW9uTW9kZSBlbmQgd2l0aCAnbWF0cml4JyAtIFszeDMsIDN4M19IQU1NSU5HNjMsIDN4M19QQVJJVFk2NSwgNHg0LCA0eDRfQkNIXzEzXzlfMywgNHg0X0JDSF8xM181XzVdXG4gICAgICAgIG1hdHJpeENvZGVUeXBlOiAnM3gzJyxcblxuICAgICAgICAvLyB1cmwgb2YgdGhlIGNhbWVyYSBwYXJhbWV0ZXJzXG4gICAgICAgIGNhbWVyYVBhcmFtZXRlcnNVcmw6IENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvY2FtZXJhX3BhcmEuZGF0JyxcblxuICAgICAgICAvLyB0dW5lIHRoZSBtYXhpbXVtIHJhdGUgb2YgcG9zZSBkZXRlY3Rpb24gaW4gdGhlIHNvdXJjZSBpbWFnZVxuICAgICAgICBtYXhEZXRlY3Rpb25SYXRlOiA2MCxcbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBkZXRlY3QgcG9zZSBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIGNhbnZhc1dpZHRoOiA2NDAsXG4gICAgICAgIGNhbnZhc0hlaWdodDogNDgwLFxuXG4gICAgICAgIC8vIHRoZSBwYXR0ZXJuUmF0aW8gaW5zaWRlIHRoZSBhcnRvb2xraXQgbWFya2VyIC0gYXJ0b29sa2l0IG9ubHlcbiAgICAgICAgcGF0dGVyblJhdGlvOiAwLjUsXG5cbiAgICAgICAgLy8gTGFiZWxpbmcgbW9kZSBmb3IgbWFya2VycyAtIFsnYmxhY2tfcmVnaW9uJywgJ3doaXRlX3JlZ2lvbiddXG4gICAgICAgIC8vIGJsYWNrX3JlZ2lvbjogQmxhY2sgYm9yZGVyZWQgbWFya2VycyBvbiBhIHdoaXRlIGJhY2tncm91bmQsIHdoaXRlX3JlZ2lvbjogV2hpdGUgYm9yZGVyZWQgbWFya2VycyBvbiBhIGJsYWNrIGJhY2tncm91bmRcbiAgICAgICAgbGFiZWxpbmdNb2RlOiAnYmxhY2tfcmVnaW9uJyxcblxuICAgICAgICAvLyBlbmFibGUgaW1hZ2Ugc21vb3RoaW5nIG9yIG5vdCBmb3IgY2FudmFzIGNvcHkgLSBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkOiBmYWxzZSxcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVycyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChbJ2FydG9vbGtpdCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgdHJhY2tpbmdCYWNrZW5kJywgdGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcbiAgICBjb25zb2xlLmFzc2VydChbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciBkZXRlY3Rpb25Nb2RlJywgdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpXG4gICAgY29uc29sZS5hc3NlcnQoW1wiYmxhY2tfcmVnaW9uXCIsIFwid2hpdGVfcmVnaW9uXCJdLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmxhYmVsaW5nTW9kZSkgIT09IC0xLCBcImludmFsaWQgcGFyYW1ldGVyIGxhYmVsaW5nTW9kZVwiLCB0aGlzLnBhcmFtZXRlcnMubGFiZWxpbmdNb2RlKTtcblxuICAgIHRoaXMuYXJDb250cm9sbGVyID0gbnVsbDtcblxuICAgIF90aGlzLmluaXRpYWxpemVkID0gZmFsc2VcblxuXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMgPSBbXVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0c2V0UGFyYW1ldGVyc1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcbiAgICBmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgaWYgKHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb250ZXh0OiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNvbnRleHQ6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIF90aGlzLnBhcmFtZXRlcnNba2V5XSA9IG5ld1ZhbHVlXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkNvbnRleHQucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmRpc3BhdGNoRXZlbnQ7XG5Db250ZXh0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyO1xuQ29udGV4dC5wcm90b3R5cGUuaGFzRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuaGFzRXZlbnRMaXN0ZW5lcjtcbkNvbnRleHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI7XG5cbi8vIGRlZmF1bHQgdG8gZ2l0aHViIHBhZ2VcbkNvbnRleHQuYmFzZVVSTCA9ICdodHRwczovL2FyLWpzLW9yZy5naXRodWIuaW8vQVIuanMvdGhyZWUuanMvJ1xuQ29udGV4dC5SRVZJU0lPTiA9ICczLjMuMy1lczYtYmV0YS0wMSc7XG5cbi8qKlxuICogQ3JlYXRlIGEgZGVmYXVsdCBjYW1lcmEgZm9yIHRoaXMgdHJhY2tpbmdCYWNrZW5kXG4gKiBAcGFyYW0ge3N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIHRvIHVzZXJcbiAqIEByZXR1cm4ge1RIUkVFLkNhbWVyYX0gdGhlIGNyZWF0ZWQgY2FtZXJhXG4gKi9cbkNvbnRleHQuY3JlYXRlRGVmYXVsdENhbWVyYSA9IGZ1bmN0aW9uICh0cmFja2luZ0JhY2tlbmQpIHtcbiAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3VzZSBBUmpzLlV0aWxzLmNyZWF0ZURlZmF1bHRDYW1lcmEgaW5zdGVhZCcpXG4gICAgLy8gQ3JlYXRlIGEgY2FtZXJhXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdmFyIGNhbWVyYSA9IG5ldyBUSFJFRS5DYW1lcmEoKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgcmV0dXJuIGNhbWVyYVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0aW5pdCBmdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5faW5pdEFydG9vbGtpdChkb25lKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICByZXR1cm5cblxuICAgIGZ1bmN0aW9uIGRvbmUoKSB7XG4gICAgICAgIC8vIGRpc3BhdGNoIGV2ZW50XG4gICAgICAgIF90aGlzLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICAgICAgdHlwZTogJ2luaXRpYWxpemVkJ1xuICAgICAgICB9KTtcblxuICAgICAgICBfdGhpcy5pbml0aWFsaXplZCA9IHRydWVcblxuICAgICAgICBvbkNvbXBsZXRlZCAmJiBvbkNvbXBsZXRlZCgpXG4gICAgfVxuXG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgdXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKHNyY0VsZW1lbnQpIHtcblxuICAgIC8vIGJlIHN1cmUgYXJDb250cm9sbGVyIGlzIGZ1bGx5IGluaXRpYWxpemVkXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICYmIHRoaXMuYXJDb250cm9sbGVyID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZVxuICAgIHZhciBwcmVzZW50ID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICBpZiAodGhpcy5fdXBkYXRlZEF0ICE9PSBudWxsICYmIHByZXNlbnQgLSB0aGlzLl91cGRhdGVkQXQgPCAxMDAwIC8gdGhpcy5wYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIHRoaXMuX3VwZGF0ZWRBdCA9IHByZXNlbnRcblxuICAgIHZhciBwcmV2VmlzaWJsZU1hcmtlcnMgPSBbXVxuXG4gICAgLy8gbWFyayBhbGwgbWFya2VycyB0byBpbnZpc2libGUgYmVmb3JlIHByb2Nlc3NpbmcgdGhpcyBmcmFtZVxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24gKG1hcmtlckNvbnRyb2xzKSB7XG4gICAgICAgIGlmIChtYXJrZXJDb250cm9scy5vYmplY3QzZC52aXNpYmxlKSB7XG4gICAgICAgICAgICBwcmV2VmlzaWJsZU1hcmtlcnMucHVzaChtYXJrZXJDb250cm9scylcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW1hcmtlckNvbnRyb2xzLmNvbnRleHQuYXJDb250cm9sbGVyLnNob3dPYmplY3QpIHtcbiAgICAgICAgICAgIG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuICAgICAgICB9XG4gICAgfSlcblxuICAgIC8vIHByb2Nlc3MgdGhpcyBmcmFtZVxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl91cGRhdGVBcnRvb2xraXQoc3JjRWxlbWVudClcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHR5cGU6ICdzb3VyY2VQcm9jZXNzZWQnXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBmcmFtZSBpcyBwcm9jZXNzZWQsIGNoZWNrIHZpc2liaWxpdHkgb2YgZWFjaCBtYXJrZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBmb3VuZCBvciBsb3N0XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBwcmV2VmlzaWJsZU1hcmtlcnMuaW5jbHVkZXMobWFya2VyQ29udHJvbHMpO1xuICAgICAgICB2YXIgaXNWaXNpYmxlID0gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZTtcblxuICAgICAgICBpZiAoaXNWaXNpYmxlID09PSB0cnVlICYmIHdhc1Zpc2libGUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21hcmtlckZvdW5kJywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2VyQ29udHJvbHMsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfSBlbHNlIGlmIChpc1Zpc2libGUgPT09IGZhbHNlICYmIHdhc1Zpc2libGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFya2VyTG9zdCcsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IG1hcmtlckNvbnRyb2xzLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH1cbiAgICB9KVxuXG4gICAgLy8gcmV0dXJuIHRydWUgYXMgd2UgcHJvY2Vzc2VkIHRoZSBmcmFtZVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgQWRkL1JlbW92ZSBtYXJrZXJDb250cm9sc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmFkZE1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMucHVzaChhck1hcmtlckNvbnRyb2xzKVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmUgbWFya2VyIGZvcicsIGFyTWFya2VyQ29udHJvbHMpXG4gICAgdmFyIGluZGV4ID0gdGhpcy5hck1hcmtlckNvbnRyb2xzLmluZGV4T2YoYXJ0b29sa2l0TWFya2VyKTtcbiAgICBjb25zb2xlLmFzc2VydChpbmRleCAhPT0gaW5kZXgpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuc3BsaWNlKGluZGV4LCAxKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFydG9vbGtpdCBzcGVjaWZpY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIHNldCB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCB0byBjaGFuZ2UgYXJ0b29sa2l0IHByb2plY3Rpb24gbWF0cml4IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25ZKE1hdGguUEkpKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWihNYXRoLlBJKSlcblxuICAgIHZhciBvbkVycm9yID0gZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9O1xuXG4gICAgLy8gaW5pdCBBUlRvb2xraXRcbiAgICBhcnRvb2xraXQuaW5pdCgpLnRoZW4oXyA9PiB7XG4gICAgICAgIC8vIGluaXQgY29udHJvbGxlclxuICAgICAgICBBUkNvbnRyb2xsZXIuaW5pdFdpdGhEaW1lbnNpb25zKF90aGlzLnBhcmFtZXRlcnMuY2FudmFzV2lkdGgsIF90aGlzLnBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0LCBfdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYVBhcmFtZXRlcnNVcmwpLnRoZW4oKGFyQ29udHJvbGxlcikgPT4ge1xuICAgICAgICAgICAgX3RoaXMuYXJDb250cm9sbGVyID0gYXJDb250cm9sbGVyXG5cbiAgICAgICAgICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgubW96SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4LndlYmtpdEltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5tc0ltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLmRlYnVnXG4gICAgICAgICAgICBpZiAoX3RoaXMucGFyYW1ldGVycy5kZWJ1ZyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5kZWJ1Z1NldHVwKCk7XG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnRvcCA9ICcwcHgnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5vcGFjaXR5ID0gJzAuNidcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnpJbmRleCA9ICctMSdcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gc2V0UGF0dGVybkRldGVjdGlvbk1vZGVcbiAgICAgICAgICAgIHZhciBkZXRlY3Rpb25Nb2RlcyA9IHtcbiAgICAgICAgICAgICAgICAnY29sb3InOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfQ09MT1IsXG4gICAgICAgICAgICAgICAgJ2NvbG9yX2FuZF9tYXRyaXgnOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfQ09MT1JfQU5EX01BVFJJWCxcbiAgICAgICAgICAgICAgICAnbW9ubyc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19NT05PLFxuICAgICAgICAgICAgICAgICdtb25vX2FuZF9tYXRyaXgnOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGRldGVjdGlvbk1vZGUgPSBkZXRlY3Rpb25Nb2Rlc1tfdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGVdXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChkZXRlY3Rpb25Nb2RlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0UGF0dGVybkRldGVjdGlvbk1vZGUoZGV0ZWN0aW9uTW9kZSk7XG5cbiAgICAgICAgICAgIC8vIHNldE1hdHJpeENvZGVUeXBlXG4gICAgICAgICAgICB2YXIgbWF0cml4Q29kZVR5cGVzID0ge1xuICAgICAgICAgICAgICAgICczeDMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzLFxuICAgICAgICAgICAgICAgICczeDNfSEFNTUlORzYzJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4M19IQU1NSU5HNjMsXG4gICAgICAgICAgICAgICAgJzN4M19QQVJJVFk2NSc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUsXG4gICAgICAgICAgICAgICAgJzR4NCc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDQsXG4gICAgICAgICAgICAgICAgJzR4NF9CQ0hfMTNfOV8zJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zLFxuICAgICAgICAgICAgICAgICc0eDRfQkNIXzEzXzVfNSc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzVfNSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBtYXRyaXhDb2RlVHlwZSA9IG1hdHJpeENvZGVUeXBlc1tfdGhpcy5wYXJhbWV0ZXJzLm1hdHJpeENvZGVUeXBlXVxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQobWF0cml4Q29kZVR5cGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRNYXRyaXhDb2RlVHlwZShtYXRyaXhDb2RlVHlwZSk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aGUgcGF0dGVyblJhdGlvIGZvciBhcnRvb2xraXRcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRQYXR0UmF0aW8oX3RoaXMucGFyYW1ldGVycy5wYXR0ZXJuUmF0aW8pO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIGxhYmVsaW5nTW9kZSBmb3IgYXJ0b29sa2l0XG4gICAgICAgICAgICB2YXIgbGFiZWxpbmdNb2RlVHlwZXMgPSB7XG4gICAgICAgICAgICAgICAgXCJibGFja19yZWdpb25cIjogYXJ0b29sa2l0LkFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTixcbiAgICAgICAgICAgICAgICBcIndoaXRlX3JlZ2lvblwiOiBhcnRvb2xraXQuQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbGFiZWxpbmdNb2RlVHlwZSA9IGxhYmVsaW5nTW9kZVR5cGVzW190aGlzLnBhcmFtZXRlcnMubGFiZWxpbmdNb2RlXTtcbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGxhYmVsaW5nTW9kZVR5cGUgIT09IHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0TGFiZWxpbmdNb2RlKGxhYmVsaW5nTW9kZVR5cGUpO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhyZXNob2xkaW5nIGluIGFydG9vbGtpdFxuICAgICAgICAgICAgLy8gdGhpcyBzZWVtcyB0byBiZSB0aGUgZGVmYXVsdFxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTClcbiAgICAgICAgICAgIC8vIGFkYXRhdGl2ZSBjb25zdW1lIGEgTE9UIG9mIGNwdS4uLlxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fQURBUFRJVkUpXG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19PVFNVKVxuXG4gICAgICAgICAgICAvLyBub3RpZnlcbiAgICAgICAgICAgIG9uQ29tcGxldGVkKClcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLyoqXG4gKiByZXR1cm4gdGhlIHByb2plY3Rpb24gbWF0cml4XG4gKi9cbkNvbnRleHQucHJvdG90eXBlLmdldFByb2plY3Rpb25NYXRyaXggPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gRklYTUUgcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc2F5IGl0IGlzIGFydG9vbGtpdCBzcGVjaWZpYyAtIGdldEFydG9vbGtpdFByb2plY3RNYXRyaXhcbiAgICAvLyBrZWVwIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGEgY29uc29sZS53YXJuXG5cbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JylcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmFyQ29udHJvbGxlciwgJ2FyQ29udHJvbGxlciBNVVNUIGJlIGluaXRpYWxpemVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpXG5cbiAgICAvLyBnZXQgcHJvamVjdGlvbk1hdHJpeEFyciBmcm9tIGFydG9vbGtpdFxuICAgIHZhciBwcm9qZWN0aW9uTWF0cml4QXJyID0gdGhpcy5hckNvbnRyb2xsZXIuZ2V0Q2FtZXJhTWF0cml4KCk7XG4gICAgdmFyIHByb2plY3Rpb25NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShwcm9qZWN0aW9uTWF0cml4QXJyKVxuXG4gICAgLy8gcHJvamVjdGlvbk1hdHJpeC5tdWx0aXBseSh0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeClcblxuICAgIHJldHVybiBwcm9qZWN0aW9uTWF0cml4XG59XG5cbkNvbnRleHQucHJvdG90eXBlLl91cGRhdGVBcnRvb2xraXQgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuICAgIHRoaXMuYXJDb250cm9sbGVyLnByb2Nlc3Moc3JjRWxlbWVudClcbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICd0aHJlZXhBcm1hcmtlcmNvbnRyb2xzJzsgLy8gQWxpYXMgZm9yIGR5bmFtaWMgaW1wb3J0aW5nXG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0LCBBUkNvbnRyb2xsZXIgfSA9IGpzYXJ0b29sa2l0O1xuY29uc3QgYXJ0b29sa2l0ID0gbmV3IEFSVG9vbGtpdCgpO1xuXG5jb25zdCBDb250ZXh0ID0gZnVuY3Rpb24gKHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBfdGhpcy5fdXBkYXRlZEF0ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gQVIgYmFja2VuZCAtIFsnYXJ0b29sa2l0J11cbiAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiAnYXJ0b29sa2l0JyxcbiAgICAgICAgLy8gZGVidWcgLSB0cnVlIGlmIG9uZSBzaG91bGQgZGlzcGxheSBhcnRvb2xraXQgZGVidWcgY2FudmFzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgICAgZGVidWc6IGZhbHNlLFxuICAgICAgICAvLyB0aGUgbW9kZSBvZiBkZXRlY3Rpb24gLSBbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXVxuICAgICAgICBkZXRlY3Rpb25Nb2RlOiAnbW9ubycsXG4gICAgICAgIC8vIHR5cGUgb2YgbWF0cml4IGNvZGUgLSB2YWxpZCBpaWYgZGV0ZWN0aW9uTW9kZSBlbmQgd2l0aCAnbWF0cml4JyAtIFszeDMsIDN4M19IQU1NSU5HNjMsIDN4M19QQVJJVFk2NSwgNHg0LCA0eDRfQkNIXzEzXzlfMywgNHg0X0JDSF8xM181XzVdXG4gICAgICAgIG1hdHJpeENvZGVUeXBlOiAnM3gzJyxcblxuICAgICAgICAvLyB1cmwgb2YgdGhlIGNhbWVyYSBwYXJhbWV0ZXJzXG4gICAgICAgIGNhbWVyYVBhcmFtZXRlcnNVcmw6IENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvY2FtZXJhX3BhcmEuZGF0JyxcblxuICAgICAgICAvLyB0dW5lIHRoZSBtYXhpbXVtIHJhdGUgb2YgcG9zZSBkZXRlY3Rpb24gaW4gdGhlIHNvdXJjZSBpbWFnZVxuICAgICAgICBtYXhEZXRlY3Rpb25SYXRlOiA2MCxcbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBkZXRlY3QgcG9zZSBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIGNhbnZhc1dpZHRoOiA2NDAsXG4gICAgICAgIGNhbnZhc0hlaWdodDogNDgwLFxuXG4gICAgICAgIC8vIHRoZSBwYXR0ZXJuUmF0aW8gaW5zaWRlIHRoZSBhcnRvb2xraXQgbWFya2VyIC0gYXJ0b29sa2l0IG9ubHlcbiAgICAgICAgcGF0dGVyblJhdGlvOiAwLjUsXG5cbiAgICAgICAgLy8gZW5hYmxlIGltYWdlIHNtb290aGluZyBvciBub3QgZm9yIGNhbnZhcyBjb3B5IC0gZGVmYXVsdCB0byB0cnVlXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQvaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgIGltYWdlU21vb3RoaW5nRW5hYmxlZDogZmFsc2UsXG4gICAgfVxuICAgIC8vIHBhcmFtZXRlcnMgc2FuaXR5IGNoZWNrXG4gICAgY29uc29sZS5hc3NlcnQoWydhcnRvb2xraXQnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQpICE9PSAtMSwgJ2ludmFsaWQgcGFyYW1ldGVyIHRyYWNraW5nQmFja2VuZCcsIHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQpXG4gICAgY29uc29sZS5hc3NlcnQoWydjb2xvcicsICdjb2xvcl9hbmRfbWF0cml4JywgJ21vbm8nLCAnbW9ub19hbmRfbWF0cml4J10uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgZGV0ZWN0aW9uTW9kZScsIHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKVxuXG4gICAgdGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG5cbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRzZXRQYXJhbWV0ZXJzXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuICAgIGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICAgICAgICBpZiAocGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm5cbiAgICAgICAgZm9yICh2YXIga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNvbnRleHQ6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQ29udGV4dC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudDtcbkNvbnRleHQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyO1xuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcblxuLy8gZGVmYXVsdCB0byBnaXRodWIgcGFnZVxuQ29udGV4dC5iYXNlVVJMID0gJ2h0dHBzOi8vYXItanMtb3JnLmdpdGh1Yi5pby9BUi5qcy90aHJlZS5qcy8nXG5Db250ZXh0LlJFVklTSU9OID0gJzMuMy4zLWVzNi1iZXRhLTAxJ1xuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgdG8gdXNlclxuICogQHJldHVybiB7VEhSRUUuQ2FtZXJhfSB0aGUgY3JlYXRlZCBjYW1lcmFcbiAqL1xuQ29udGV4dC5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndXNlIEFSanMuVXRpbHMuY3JlYXRlRGVmYXVsdENhbWVyYSBpbnN0ZWFkJylcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuIGNhbWVyYVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0aW5pdCBmdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5faW5pdEFydG9vbGtpdChkb25lKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpO1xuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICAgICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICAgICAgX3RoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiAnaW5pdGlhbGl6ZWQnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIF90aGlzLmluaXRpYWxpemVkID0gdHJ1ZVxuXG4gICAgICAgIG9uQ29tcGxldGVkICYmIG9uQ29tcGxldGVkKClcbiAgICB9XG5cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICB1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuXG4gICAgLy8gYmUgc3VyZSBhckNvbnRyb2xsZXIgaXMgZnVsbHkgaW5pdGlhbGl6ZWRcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgJiYgdGhpcy5hckNvbnRyb2xsZXIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlXG4gICAgdmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgIGlmICh0aGlzLl91cGRhdGVkQXQgIT09IG51bGwgJiYgcHJlc2VudCAtIHRoaXMuX3VwZGF0ZWRBdCA8IDEwMDAgLyB0aGlzLnBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlZEF0ID0gcHJlc2VudFxuXG4gICAgdmFyIHByZXZWaXNpYmxlTWFya2VycyA9IFtdXG5cbiAgICAvLyBtYXJrIGFsbCBtYXJrZXJzIHRvIGludmlzaWJsZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGlzIGZyYW1lXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgaWYgKG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUpIHtcbiAgICAgICAgICAgIHByZXZWaXNpYmxlTWFya2Vycy5wdXNoKG1hcmtlckNvbnRyb2xzKVxuICAgICAgICB9XG4gICAgICAgIG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuICAgIH0pXG5cbiAgICAvLyBwcm9jZXNzIHRoaXMgZnJhbWVcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQXJ0b29sa2l0KHNyY0VsZW1lbnQpO1xuICAgIH0gIGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICB0eXBlOiAnc291cmNlUHJvY2Vzc2VkJ1xuICAgIH0pO1xuXG4gICAgLy8gQWZ0ZXIgZnJhbWUgaXMgcHJvY2Vzc2VkLCBjaGVjayB2aXNpYmlsaXR5IG9mIGVhY2ggbWFya2VyIHRvIGRldGVybWluZSBpZiBpdCB3YXMgZm91bmQgb3IgbG9zdFxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24gKG1hcmtlckNvbnRyb2xzKSB7XG4gICAgICAgIHZhciB3YXNWaXNpYmxlID0gcHJldlZpc2libGVNYXJrZXJzLmluY2x1ZGVzKG1hcmtlckNvbnRyb2xzKTtcbiAgICAgICAgdmFyIGlzVmlzaWJsZSA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGU7XG4gICAgXG4gICAgICAgIGlmIChpc1Zpc2libGUgPT09IHRydWUgJiYgd2FzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFya2VyRm91bmQnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSA9PT0gZmFsc2UgJiYgd2FzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJMb3N0Jywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2VyQ29udHJvbHMsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfVxuICAgIH0pXG5cblxuICAgIC8vIHJldHVybiB0cnVlIGFzIHdlIHByb2Nlc3NlZCB0aGUgZnJhbWVcbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIEFkZC9SZW1vdmUgbWFya2VyQ29udHJvbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5hZGRNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLnB1c2goYXJNYXJrZXJDb250cm9scylcbn1cblxuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlTWFya2VyID0gZnVuY3Rpb24gKGFyTWFya2VyQ29udHJvbHMpIHtcbiAgICBjb25zb2xlLmFzc2VydChhck1hcmtlckNvbnRyb2xzIGluc3RhbmNlb2YgQXJNYXJrZXJDb250cm9scylcbiAgICB2YXIgaW5kZXggPSB0aGlzLl9hck1hcmtlcnNDb250cm9scy5pbmRleE9mKGFyTWFya2VyQ29udHJvbHMpO1xuICAgIGlmKCBpbmRleCA8IDAgKSB7XG4gICAgXHRyZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLnNwbGljZShpbmRleCwgMSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhcnRvb2xraXQgc3BlY2lmaWNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuX2luaXRBcnRvb2xraXQgPSBmdW5jdGlvbiAob25Db21wbGV0ZWQpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAvLyBzZXQgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggdG8gY2hhbmdlIGFydG9vbGtpdCBwcm9qZWN0aW9uIG1hdHJpeCBheGlzIHRvIG1hdGNoIHVzdWFsIHdlYmdsIG9uZVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWShNYXRoLlBJKSlcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblooTWF0aC5QSSkpXG5cbiAgICAvLyBpbml0IEFSVG9vbGtpdFxuICAgIGFydG9vbGtpdC5pbml0KCkudGhlbihfID0+IHtcbiAgICAgICAgLy8gaW5pdCBjb250cm9sbGVyXG4gICAgICAgIEFSQ29udHJvbGxlci5pbml0V2l0aERpbWVuc2lvbnMoX3RoaXMucGFyYW1ldGVycy5jYW52YXNXaWR0aCwgX3RoaXMucGFyYW1ldGVycy5jYW52YXNIZWlnaHQsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCkudGhlbigoYXJDb250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgICBfdGhpcy5hckNvbnRyb2xsZXIgPSBhckNvbnRyb2xsZXJcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5tb3pJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1zSW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuZGVidWdcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLmRlYnVnID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmRlYnVnU2V0dXAoKTtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUudG9wID0gJzBweCdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLm9wYWNpdHkgPSAnMC42J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuekluZGV4ID0gJy0xJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxuICAgICAgICAgICAgdmFyIGRldGVjdGlvbk1vZGVzID0ge1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUixcbiAgICAgICAgICAgICAgICAnY29sb3JfYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYLFxuICAgICAgICAgICAgICAgICdtb25vJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk8sXG4gICAgICAgICAgICAgICAgJ21vbm9fYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19NT05PX0FORF9NQVRSSVgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZSA9IGRldGVjdGlvbk1vZGVzW190aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRldGVjdGlvbk1vZGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZShkZXRlY3Rpb25Nb2RlKTtcblxuICAgICAgICAgICAgLy8gc2V0TWF0cml4Q29kZVR5cGVcbiAgICAgICAgICAgIHZhciBtYXRyaXhDb2RlVHlwZXMgPSB7XG4gICAgICAgICAgICAgICAgJzN4Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDMsXG4gICAgICAgICAgICAgICAgJzN4M19IQU1NSU5HNjMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MyxcbiAgICAgICAgICAgICAgICAnM3gzX1BBUklUWTY1JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4M19QQVJJVFk2NSxcbiAgICAgICAgICAgICAgICAnNHg0JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NCxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM185XzMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM185XzMsXG4gICAgICAgICAgICAgICAgJzR4NF9CQ0hfMTNfNV81JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlID0gbWF0cml4Q29kZVR5cGVzW190aGlzLnBhcmFtZXRlcnMubWF0cml4Q29kZVR5cGVdXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChtYXRyaXhDb2RlVHlwZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldE1hdHJpeENvZGVUeXBlKG1hdHJpeENvZGVUeXBlKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRoZSBwYXR0ZXJuUmF0aW8gZm9yIGFydG9vbGtpdFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRSYXRpbyhfdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aHJlc2hvbGRpbmcgaW4gYXJ0b29sa2l0XG4gICAgICAgICAgICAvLyB0aGlzIHNlZW1zIHRvIGJlIHRoZSBkZWZhdWx0XG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfTUFOVUFMKVxuICAgICAgICAgICAgLy8gYWRhdGF0aXZlIGNvbnN1bWUgYSBMT1Qgb2YgY3B1Li4uXG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRSlcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UpXG5cbiAgICAgICAgICAgIC8vIG5vdGlmeVxuICAgICAgICAgICAgb25Db21wbGV0ZWQoKVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIHJldHVybiB0aGUgcHJvamVjdGlvbiBtYXRyaXhcbiAqL1xuQ29udGV4dC5wcm90b3R5cGUuZ2V0UHJvamVjdGlvbk1hdHJpeCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cblxuICAgIC8vIEZJWE1FIHJlbmFtZSB0aGlzIGZ1bmN0aW9uIHRvIHNheSBpdCBpcyBhcnRvb2xraXQgc3BlY2lmaWMgLSBnZXRBcnRvb2xraXRQcm9qZWN0TWF0cml4XG4gICAgLy8ga2VlcCBhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBhIGNvbnNvbGUud2FyblxuXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5hckNvbnRyb2xsZXIsICdhckNvbnRyb2xsZXIgTVVTVCBiZSBpbml0aWFsaXplZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24nKVxuICAgIC8vIGdldCBwcm9qZWN0aW9uTWF0cml4QXJyIGZyb20gYXJ0b29sa2l0XG4gICAgdmFyIHByb2plY3Rpb25NYXRyaXhBcnIgPSB0aGlzLmFyQ29udHJvbGxlci5nZXRDYW1lcmFNYXRyaXgoKTtcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KHByb2plY3Rpb25NYXRyaXhBcnIpXG5cbiAgICAvLyByZXR1cm4gdGhlIHJlc3VsdFxuICAgIHJldHVybiBwcm9qZWN0aW9uTWF0cml4XG59XG5cbkNvbnRleHQucHJvdG90eXBlLl91cGRhdGVBcnRvb2xraXQgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuICAgIHRoaXMuYXJDb250cm9sbGVyLnByb2Nlc3Moc3JjRWxlbWVudClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRkaXNwb3NlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbiAoKSB7XG5cdHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuXHQvLyBtYXJrZXJzXG5cdHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24gKG1hcmtlckNvbnRyb2xzKSB7XG5cdFx0Y29uc29sZS5hc3NlcnQobWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKTtcblx0XHRtYXJrZXJDb250cm9scy5kaXNwb3NlKCk7XG5cdH0gKTtcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMgPSBbXTtcblxuXHQvLyBjYW1lcmFQYXJhbVxuXHRpZiAodGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0gJiYgdGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSkge1xuXHRcdHRoaXMuYXJDb250cm9sbGVyLmNhbWVyYVBhcmFtLmRpc3Bvc2UoKTtcblx0fVxuXG5cdFxuXHQvLyBBUkNvbnRyb2xsZXJcblx0aWYoIHRoaXMuYXJDb250cm9sbGVyICYmIHRoaXMuYXJDb250cm9sbGVyLmRpc3Bvc2UgKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSgpO1xuXHR9XG5cdHRoaXMuYXJDb250cm9sbGVyID0gbnVsbDtcblxuICAgIC8vIGNsYXNzIHByb3BlcnRpZXNcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG51bGw7XG5cblx0Ly8gYXJ0b29sa2l0XG5cdC8vIE5PVEU6IHNpbmNlIHRoZSBpbnN0YW5jZSBvZiBBUlRvb2xraXQgaXMgY3JlYXRlZCBnbG9iYWxseSBcblx0Ly8gd2Ugc2hvdWxkIHByb2JhYmx5IGRvIG5vdCBjYWxsIC50ZWFyZG93bigpIC4uLiA/XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbnRleHQ7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcbmltcG9ydCBXb3JrZXIgZnJvbSAnLi9hcmpzLW1hcmtlcmNvbnRyb2xzLW5mdC53b3JrZXIuanMnO1xuaW1wb3J0IGpzYXJ0b29sa2l0IGZyb20gJ2pzYXJ0b29sa2l0JzsgLy8gVE9ETyBjb21tZW50IGV4cGxhbmF0aW9uXG5jb25zdCB7IEFSVG9vbGtpdCB9ID0ganNhcnRvb2xraXQ7XG5cbmNvbnN0IE1hcmtlckNvbnRyb2xzID0gZnVuY3Rpb24gKGNvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgQXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHRcbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBzaXplIG9mIHRoZSBtYXJrZXIgaW4gbWV0ZXJcbiAgICAgICAgc2l6ZTogMSxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXJrZXIgLSBbJ3BhdHRlcm4nLCAnYmFyY29kZScsICduZnQnLCAndW5rbm93bicgXVxuICAgICAgICB0eXBlOiAndW5rbm93bicsXG4gICAgICAgIC8vIHVybCBvZiB0aGUgcGF0dGVybiAtIElJRiB0eXBlPSdwYXR0ZXJuJ1xuICAgICAgICBwYXR0ZXJuVXJsOiBudWxsLFxuICAgICAgICAvLyB2YWx1ZSBvZiB0aGUgYmFyY29kZSAtIElJRiB0eXBlPSdiYXJjb2RlJ1xuICAgICAgICBiYXJjb2RlVmFsdWU6IG51bGwsXG4gICAgICAgIC8vIHVybCBvZiB0aGUgZGVzY3JpcHRvcnMgb2YgaW1hZ2UgLSBJSUYgdHlwZT0nbmZ0J1xuICAgICAgICBkZXNjcmlwdG9yc1VybDogbnVsbCxcbiAgICAgICAgLy8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuICAgICAgICBjaGFuZ2VNYXRyaXhNb2RlOiAnbW9kZWxWaWV3TWF0cml4JyxcbiAgICAgICAgLy8gbWluaW1hbCBjb25maWRlbmNlIGluIHRoZSBtYXJrZSByZWNvZ25pdGlvbiAtIGJldHdlZW4gWzAsIDFdIC0gZGVmYXVsdCB0byAxXG4gICAgICAgIG1pbkNvbmZpZGVuY2U6IDAuNixcbiAgICAgICAgLy8gdHVybiBvbi9vZmYgY2FtZXJhIHNtb290aGluZ1xuICAgICAgICBzbW9vdGg6IGZhbHNlLFxuICAgICAgICAvLyBudW1iZXIgb2YgbWF0cmljZXMgdG8gc21vb3RoIHRyYWNraW5nIG92ZXIsIG1vcmUgPSBzbW9vdGhlciBidXQgc2xvd2VyIGZvbGxvd1xuICAgICAgICBzbW9vdGhDb3VudDogNSxcbiAgICAgICAgLy8gZGlzdGFuY2UgdG9sZXJhbmNlIGZvciBzbW9vdGhpbmcsIGlmIHNtb290aFRocmVzaG9sZCAjIG9mIG1hdHJpY2VzIGFyZSB1bmRlciB0b2xlcmFuY2UsIHRyYWNraW5nIHdpbGwgc3RheSBzdGlsbFxuICAgICAgICBzbW9vdGhUb2xlcmFuY2U6IDAuMDEsXG4gICAgICAgIC8vIHRocmVzaG9sZCBmb3Igc21vb3RoaW5nLCB3aWxsIGtlZXAgc3RpbGwgdW5sZXNzIGVub3VnaCBtYXRyaWNlcyBhcmUgb3ZlciB0b2xlcmFuY2VcbiAgICAgICAgc21vb3RoVGhyZXNob2xkOiAyLFxuICAgIH1cblxuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIHZhciBwb3NzaWJsZVZhbHVlcyA9IFsncGF0dGVybicsICdiYXJjb2RlJywgJ25mdCcsICd1bmtub3duJ11cbiAgICBjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy50eXBlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG4gICAgdmFyIHBvc3NpYmxlVmFsdWVzID0gWydtb2RlbFZpZXdNYXRyaXgnLCAnY2FtZXJhVHJhbnNmb3JtTWF0cml4J11cbiAgICBjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpXG5cbiAgICAvLyBjcmVhdGUgdGhlIG1hcmtlciBSb290XG4gICAgdGhpcy5vYmplY3QzZCA9IG9iamVjdDNkXG4gICAgdGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG4gICAgdGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJNYXJrZXJDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5zbW9vdGgpIHtcbiAgICAgICAgdGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdOyAvLyBsYXN0IERFQk9VTkNFX0NPVU5UIG1vZGVsVmlld01hdHJpeFxuICAgIH1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdENvZGUgU2VwYXJhdG9yXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gYWRkIHRoaXMgbWFya2VyIHRvIGFydG9vbGtpdHN5c3RlbVxuICAgIC8vIFRPRE8gcmVuYW1lIHRoYXQgLmFkZE1hcmtlckNvbnRyb2xzXG4gICAgY29udGV4dC5hZGRNYXJrZXIodGhpcylcblxuICAgIGlmIChfdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KClcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG59XG5cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQXJCYXNlQ29udHJvbHMucHJvdG90eXBlKTtcbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE1hcmtlckNvbnRyb2xzO1xuXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmNvbnRleHQucmVtb3ZlTWFya2VyKHRoaXMpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGNvbnRyb2xzIHdpdGggbmV3IG1vZGVsVmlld01hdHJpeFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogV2hlbiB5b3UgYWN0dWFsbHkgZ290IGEgbmV3IG1vZGVsVmlld01hdHJpeCwgeW91IG5lZWQgdG8gcGVyZm9tIGEgd2hvbGUgYnVuY2hcbiAqIG9mIHRoaW5ncy4gaXQgaXMgZG9uZSBoZXJlLlxuICovXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeCA9IGZ1bmN0aW9uIChtb2RlbFZpZXdNYXRyaXgpIHtcbiAgICB2YXIgbWFya2VyT2JqZWN0M0QgPSB0aGlzLm9iamVjdDNkO1xuXG4gICAgLy8gbWFyayBvYmplY3QgYXMgdmlzaWJsZVxuICAgIG1hcmtlck9iamVjdDNELnZpc2libGUgPSB0cnVlXG5cbiAgICBpZiAodGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICAvLyBhcHBseSBjb250ZXh0Ll9heGlzVHJhbnNmb3JtTWF0cml4IC0gY2hhbmdlIGFydG9vbGtpdCBheGlzIHRvIG1hdGNoIHVzdWFsIHdlYmdsIG9uZVxuICAgICAgICB2YXIgdG1wTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5jb3B5KHRoaXMuY29udGV4dC5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgpXG4gICAgICAgIHRtcE1hdHJpeC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgpXG5cbiAgICAgICAgbW9kZWxWaWV3TWF0cml4LmNvcHkodG1wTWF0cml4KVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGNoYW5nZSBheGlzIG9yaWVudGF0aW9uIG9uIG1hcmtlciAtIGFydG9vbGtpdCBzYXkgWiBpcyBub3JtYWwgdG8gdGhlIG1hcmtlciAtIGFyLmpzIHNheSBZIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyXG4gIFx0dmFyIG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblgoTWF0aC5QSS8yKVxuICBcdG1vZGVsVmlld01hdHJpeC5tdWx0aXBseShtYXJrZXJBeGlzVHJhbnNmb3JtTWF0cml4KVxuXG4gICAgdmFyIHJlbmRlclJlcWQgPSBmYWxzZTtcblxuICAgIC8vIGNoYW5nZSBtYXJrZXJPYmplY3QzRC5tYXRyaXggYmFzZWQgb24gcGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnbW9kZWxWaWV3TWF0cml4Jykge1xuICAgICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuICAgICAgICAgICAgdmFyIHN1bSxcbiAgICAgICAgICAgICAgICBpLCBqLFxuICAgICAgICAgICAgICAgIGF2ZXJhZ2VzLCAvLyBhdmVyYWdlIHZhbHVlcyBmb3IgbWF0cml4IG92ZXIgbGFzdCBzbW9vdGhDb3VudFxuICAgICAgICAgICAgICAgIGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID0gMDtcblxuICAgICAgICAgICAgdGhpcy5zbW9vdGhNYXRyaWNlcy5wdXNoKG1vZGVsVmlld01hdHJpeC5lbGVtZW50cy5zbGljZSgpKTsgLy8gYWRkIGxhdGVzdFxuXG4gICAgICAgICAgICBpZiAodGhpcy5zbW9vdGhNYXRyaWNlcy5sZW5ndGggPCAodGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50ICsgMSkpIHtcbiAgICAgICAgICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpOyAvLyBub3QgZW5vdWdoIGZvciBhdmVyYWdlXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc21vb3RoTWF0cmljZXMuc2hpZnQoKTsgLy8gcmVtb3ZlIG9sZGVzdCBlbnRyeVxuICAgICAgICAgICAgICAgIGF2ZXJhZ2VzID0gW107XG5cbiAgICAgICAgICAgICAgICBmb3IgKGkgaW4gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzKSB7IC8vIGxvb3Agb3ZlciBlbnRyaWVzIGluIG1hdHJpeFxuICAgICAgICAgICAgICAgICAgICBzdW0gPSAwO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGogaW4gdGhpcy5zbW9vdGhNYXRyaWNlcykgeyAvLyBjYWxjdWxhdGUgYXZlcmFnZSBmb3IgdGhpcyBlbnRyeVxuICAgICAgICAgICAgICAgICAgICAgICAgc3VtICs9IHRoaXMuc21vb3RoTWF0cmljZXNbal1baV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYXZlcmFnZXNbaV0gPSBzdW0gLyB0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGhvdyBtYW55IGVsZW1lbnRzIHZhcnkgZnJvbSB0aGUgYXZlcmFnZSBieSBhdCBsZWFzdCBBVkVSQUdFX01BVFJJWF9UT0xFUkFOQ0VcbiAgICAgICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGF2ZXJhZ2VzW2ldIC0gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzW2ldKSA+PSB0aGlzLnBhcmFtZXRlcnMuc21vb3RoVG9sZXJhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSsrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaWYgbW92aW5nIChpLmUuIGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RIUkVTSE9MRCBlbnRyaWVzIGFyZSBvdmVyIEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRSlcbiAgICAgICAgICAgICAgICBpZiAoZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPj0gdGhpcy5wYXJhbWV0ZXJzLnNtb290aFRocmVzaG9sZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGVuIHVwZGF0ZSBtYXRyaXggdmFsdWVzIHRvIGF2ZXJhZ2UsIG90aGVyd2lzZSwgZG9uJ3QgcmVuZGVyIHRvIG1pbmltaXplIGppdHRlclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGkgaW4gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0gPSBhdmVyYWdlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpO1xuICAgICAgICAgICAgICAgICAgICByZW5kZXJSZXFkID0gdHJ1ZTsgLy8gcmVuZGVyIHJlcXVpcmVkIGluIGFuaW1hdGlvbiBsb29wXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KVxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcpIHtcbiAgICAgICAgbWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KS5pbnZlcnQoKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGRlY29tcG9zZSAtIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblxuICAgIG1hcmtlck9iamVjdDNELm1hdHJpeC5kZWNvbXBvc2UobWFya2VyT2JqZWN0M0QucG9zaXRpb24sIG1hcmtlck9iamVjdDNELnF1YXRlcm5pb24sIG1hcmtlck9iamVjdDNELnNjYWxlKVxuXG4gICAgLy8gZGlzcGF0Y2hFdmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdtYXJrZXJGb3VuZCcgfSk7XG5cbiAgICByZXR1cm4gcmVuZGVyUmVxZDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1dGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBuYW1lID0gJyc7XG4gICAgbmFtZSArPSB0aGlzLnBhcmFtZXRlcnMudHlwZTtcblxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nKSB7XG4gICAgICAgIHZhciB1cmwgPSB0aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybDtcbiAgICAgICAgdmFyIGJhc2VuYW1lID0gdXJsLnJlcGxhY2UoL14uKlxcLy9nLCAnJyk7XG4gICAgICAgIG5hbWUgKz0gJyAtICcgKyBiYXNlbmFtZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScpIHtcbiAgICAgICAgbmFtZSArPSAnIC0gJyArIHRoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ25mdCcpIHtcbiAgICAgICAgdmFyIHVybCA9IHRoaXMucGFyYW1ldGVycy5kZXNjcmlwdG9yc1VybDtcbiAgICAgICAgdmFyIGJhc2VuYW1lID0gdXJsLnJlcGxhY2UoL14uKlxcLy9nLCAnJyk7XG4gICAgICAgIG5hbWUgKz0gJyAtICcgKyBiYXNlbmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgJ25vIC5uYW1lKCkgaW1wbGVtZW50ZWQgZm9yIHRoaXMgbWFya2VyIGNvbnRyb2xzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hbWU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0aW5pdCBmb3IgQXJ0b29sa2l0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICB2YXIgYXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG5cbiAgICB2YXIgZGVsYXllZEluaXRUaW1lcklkID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuICAgICAgICB2YXIgYXJDb250cm9sbGVyID0gX3RoaXMuY29udGV4dC5hckNvbnRyb2xsZXJcbiAgICAgICAgaWYgKGFyQ29udHJvbGxlciA9PT0gbnVsbCkgcmV0dXJuXG4gICAgICAgIC8vIHN0b3AgbG9vcGluZyBpZiBpdCBpcyBpbml0XG4gICAgICAgIGNsZWFySW50ZXJ2YWwoZGVsYXllZEluaXRUaW1lcklkKVxuICAgICAgICBkZWxheWVkSW5pdFRpbWVySWQgPSBudWxsXG4gICAgICAgIC8vIGxhdW5jaCB0aGUgX3Bvc3RJbml0QXJ0b29sa2l0XG4gICAgICAgIHBvc3RJbml0KClcbiAgICB9LCAxMDAwIC8gNTApXG5cbiAgICByZXR1cm5cblxuICAgIGZ1bmN0aW9uIHBvc3RJbml0KCkge1xuICAgICAgICAvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuICAgICAgICB2YXIgYXJDb250cm9sbGVyID0gX3RoaXMuY29udGV4dC5hckNvbnRyb2xsZXJcbiAgICAgICAgY29uc29sZS5hc3NlcnQoYXJDb250cm9sbGVyICE9PSBudWxsKVxuXG4gICAgICAgIC8vIHN0YXJ0IHRyYWNraW5nIHRoaXMgcGF0dGVyblxuICAgICAgICBpZiAoX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5sb2FkTWFya2VyKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybCkudGhlbihmdW5jdGlvbiAobWFya2VySWQpIHtcbiAgICAgICAgICAgICAgICBhcnRvb2xraXRNYXJrZXJJZCA9IG1hcmtlcklkXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLnRyYWNrUGF0dGVybk1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScpIHtcbiAgICAgICAgICAgIGFydG9vbGtpdE1hcmtlcklkID0gX3RoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci50cmFja0JhcmNvZGVNYXJrZXJJZChhcnRvb2xraXRNYXJrZXJJZCwgX3RoaXMucGFyYW1ldGVycy5zaXplKTtcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICduZnQnKSB7XG4gICAgICAgICAgICAvLyB1c2Ugd29ya2VycyBhcyBkZWZhdWx0XG4gICAgICAgICAgICBoYW5kbGVORlQoX3RoaXMucGFyYW1ldGVycy5kZXNjcmlwdG9yc1VybCwgYXJDb250cm9sbGVyKTtcbiAgICAgICAgfSBlbHNlIGlmIChfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJykge1xuICAgICAgICAgICAgYXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhmYWxzZSwgJ2ludmFsaWQgbWFya2VyIHR5cGUnLCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBsaXN0ZW4gdG8gdGhlIGV2ZW50XG4gICAgICAgIGFyQ29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJykge1xuICAgICAgICAgICAgICAgIGlmIChhcnRvb2xraXRNYXJrZXJJZCA9PT0gbnVsbCkgcmV0dXJuXG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEubWFya2VyLmlkUGF0dCA9PT0gYXJ0b29sa2l0TWFya2VySWQpIG9uTWFya2VyRm91bmQoZXZlbnQpXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsKSByZXR1cm5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5tYXJrZXIuaWRNYXRyaXggPT09IGFydG9vbGtpdE1hcmtlcklkKSBvbk1hcmtlckZvdW5kKGV2ZW50KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5VTktOT1dOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJykge1xuICAgICAgICAgICAgICAgIG9uTWFya2VyRm91bmQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHNldE1hdHJpeChtYXRyaXgsIHZhbHVlKSB7XG4gICAgICAgIHZhciBhcnJheSA9IFtdO1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIGFycmF5W2tleV0gPSB2YWx1ZVtrZXldO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbWF0cml4LmVsZW1lbnRzLnNldCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICBtYXRyaXguZWxlbWVudHMuc2V0KGFycmF5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1hdHJpeC5lbGVtZW50cyA9IFtdLnNsaWNlLmNhbGwoYXJyYXkpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGhhbmRsZU5GVChkZXNjcmlwdG9yc1VybCwgYXJDb250cm9sbGVyKSB7XG4gICAgICAgIHZhciB3b3JrZXIgPSBuZXcgV29ya2VyKCk7XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2FyanMtdmlkZW8tbG9hZGVkJywgZnVuY3Rpb24gKGV2KSB7XG4gICAgICAgICAgICB2YXIgdmlkZW8gPSBldi5kZXRhaWwuY29tcG9uZW50O1xuICAgICAgICAgICAgdmFyIHZ3ID0gdmlkZW8uY2xpZW50V2lkdGg7XG4gICAgICAgICAgICB2YXIgdmggPSB2aWRlby5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgICAgIHZhciBwc2NhbGUgPSAzMjAgLyBNYXRoLm1heCh2dywgdmggLyAzICogNCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHcgPSB2dyAqIHBzY2FsZTtcbiAgICAgICAgICAgIGNvbnN0IGggPSB2aCAqIHBzY2FsZTtcbiAgICAgICAgICAgIGNvbnN0IHB3ID0gTWF0aC5tYXgodywgaCAvIDMgKiA0KTtcbiAgICAgICAgICAgIGNvbnN0IHBoID0gTWF0aC5tYXgoaCwgdyAvIDQgKiAzKTtcbiAgICAgICAgICAgIGNvbnN0IG94ID0gKHB3IC0gdykgLyAyO1xuICAgICAgICAgICAgY29uc3Qgb3kgPSAocGggLSBoKSAvIDI7XG5cbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuY2xpZW50V2lkdGggPSBwdyArIFwicHhcIjtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuY2xpZW50SGVpZ2h0ID0gcGggKyBcInB4XCI7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLndpZHRoID0gcHc7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLmhlaWdodCA9IHBoO1xuXG4gICAgICAgICAgICB2YXIgY29udGV4dF9wcm9jZXNzID0gYXJDb250cm9sbGVyLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuXG4gICAgICAgICAgICBmdW5jdGlvbiBwcm9jZXNzKCkge1xuICAgICAgICAgICAgICAgIGNvbnRleHRfcHJvY2Vzcy5maWxsU3R5bGUgPSBcImJsYWNrXCI7XG4gICAgICAgICAgICAgICAgY29udGV4dF9wcm9jZXNzLmZpbGxSZWN0KDAsIDAsIHB3LCBwaCk7XG4gICAgICAgICAgICAgICAgY29udGV4dF9wcm9jZXNzLmRyYXdJbWFnZSh2aWRlbywgMCwgMCwgdncsIHZoLCBveCwgb3ksIHcsIGgpO1xuXG4gICAgICAgICAgICAgICAgdmFyIGltYWdlRGF0YSA9IGNvbnRleHRfcHJvY2Vzcy5nZXRJbWFnZURhdGEoMCwgMCwgcHcsIHBoKTtcbiAgICAgICAgICAgICAgICB3b3JrZXIucG9zdE1lc3NhZ2UoeyB0eXBlOiBcInByb2Nlc3NcIiwgaW1hZ2VkYXRhOiBpbWFnZURhdGEgfSwgW2ltYWdlRGF0YS5kYXRhLmJ1ZmZlcl0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBpbml0aWFsaXplIHRoZSB3b3JrZXJcbiAgICAgICAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2luaXQnLFxuICAgICAgICAgICAgICAgIHB3OiBwdyxcbiAgICAgICAgICAgICAgICBwaDogcGgsXG4gICAgICAgICAgICAgICAgbWFya2VyOiBkZXNjcmlwdG9yc1VybCxcbiAgICAgICAgICAgICAgICBwYXJhbTogYXJDb250cm9sbGVyLmNhbWVyYVBhcmFtLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHdvcmtlci5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXYpIHtcbiAgICAgICAgICAgICAgICBpZiAoZXYgJiYgZXYuZGF0YSAmJiBldi5kYXRhLnR5cGUgPT09ICdlbmRMb2FkaW5nJykge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbG9hZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFyanMtbG9hZGVyJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2FkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRlci5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgZW5kTG9hZGluZ0V2ZW50ID0gbmV3IEV2ZW50KCdhcmpzLW5mdC1sb2FkZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZW5kTG9hZGluZ0V2ZW50KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZXYgJiYgZXYuZGF0YSAmJiBldi5kYXRhLnR5cGUgPT09ICdsb2FkZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwcm9qID0gSlNPTi5wYXJzZShldi5kYXRhLnByb2opO1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmF0aW9XID0gcHcgLyB3O1xuICAgICAgICAgICAgICAgICAgICB2YXIgcmF0aW9IID0gcGggLyBoO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzBdICo9IHJhdGlvVztcbiAgICAgICAgICAgICAgICAgICAgcHJvals0XSAqPSByYXRpb1c7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbOF0gKj0gcmF0aW9XO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzEyXSAqPSByYXRpb1c7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMV0gKj0gcmF0aW9IO1xuICAgICAgICAgICAgICAgICAgICBwcm9qWzVdICo9IHJhdGlvSDtcbiAgICAgICAgICAgICAgICAgICAgcHJvals5XSAqPSByYXRpb0g7XG4gICAgICAgICAgICAgICAgICAgIHByb2pbMTNdICo9IHJhdGlvSDtcblxuICAgICAgICAgICAgICAgICAgICBzZXRNYXRyaXgoX3RoaXMub2JqZWN0M2QubWF0cml4LCBwcm9qKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZXYgJiYgZXYuZGF0YSAmJiBldi5kYXRhLnR5cGUgPT09ICdmb3VuZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG1hdHJpeCA9IEpTT04ucGFyc2UoZXYuZGF0YS5tYXRyaXgpO1xuXG4gICAgICAgICAgICAgICAgICAgIG9uTWFya2VyRm91bmQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFSVG9vbGtpdC5ORlRfTUFSS0VSLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdHJpeDogbWF0cml4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZzogZXYuZGF0YS50eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlci5zaG93T2JqZWN0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlci5zaG93T2JqZWN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcHJvY2VzcygpO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBvbk1hcmtlckZvdW5kKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZlBhdHQgPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UpIHJldHVyblxuICAgICAgICBpZiAoZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgZXZlbnQuZGF0YS5tYXJrZXIuY2ZNYXRyaXggPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UpIHJldHVyblxuXG4gICAgICAgIHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShldmVudC5kYXRhLm1hdHJpeClcbiAgICAgICAgX3RoaXMudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeChtb2RlbFZpZXdNYXRyaXgpXG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBckJhc2VDb250cm9scyBmcm9tICcuL3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0IH0gPSBqc2FydG9vbGtpdDtcblxuY29uc3QgTWFya2VyQ29udHJvbHMgPSBmdW5jdGlvbihjb250ZXh0LCBvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblxuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXG5cdHRoaXMuY29udGV4dCA9IGNvbnRleHRcblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0Ly8gc2l6ZSBvZiB0aGUgbWFya2VyIGluIG1ldGVyXG5cdFx0c2l6ZSA6IDEsXG5cdFx0Ly8gdHlwZSBvZiBtYXJrZXIgLSBbJ3BhdHRlcm4nLCAnYmFyY29kZScsICd1bmtub3duJyBdXG5cdFx0dHlwZSA6ICd1bmtub3duJyxcblx0XHQvLyB1cmwgb2YgdGhlIHBhdHRlcm4gLSBJSUYgdHlwZT0ncGF0dGVybidcblx0XHRwYXR0ZXJuVXJsIDogbnVsbCxcblx0XHQvLyB2YWx1ZSBvZiB0aGUgYmFyY29kZSAtIElJRiB0eXBlPSdiYXJjb2RlJ1xuXHRcdGJhcmNvZGVWYWx1ZSA6IG51bGwsXG5cdFx0Ly8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuXHRcdGNoYW5nZU1hdHJpeE1vZGUgOiAnbW9kZWxWaWV3TWF0cml4Jyxcblx0XHQvLyBtaW5pbWFsIGNvbmZpZGVuY2UgaW4gdGhlIG1hcmtlIHJlY29nbml0aW9uIC0gYmV0d2VlbiBbMCwgMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRtaW5Db25maWRlbmNlOiAwLjYsXG5cdFx0Ly8gdHVybiBvbi9vZmYgY2FtZXJhIHNtb290aGluZ1xuXHRcdHNtb290aDogZmFsc2UsXG5cdFx0Ly8gbnVtYmVyIG9mIG1hdHJpY2VzIHRvIHNtb290aCB0cmFja2luZyBvdmVyLCBtb3JlID0gc21vb3RoZXIgYnV0IHNsb3dlciBmb2xsb3dcblx0XHRzbW9vdGhDb3VudDogNSxcblx0XHQvLyBkaXN0YW5jZSB0b2xlcmFuY2UgZm9yIHNtb290aGluZywgaWYgc21vb3RoVGhyZXNob2xkICMgb2YgbWF0cmljZXMgYXJlIHVuZGVyIHRvbGVyYW5jZSwgdHJhY2tpbmcgd2lsbCBzdGF5IHN0aWxsXG5cdFx0c21vb3RoVG9sZXJhbmNlOiAwLjAxLFxuXHRcdC8vIHRocmVzaG9sZCBmb3Igc21vb3RoaW5nLCB3aWxsIGtlZXAgc3RpbGwgdW5sZXNzIGVub3VnaCBtYXRyaWNlcyBhcmUgb3ZlciB0b2xlcmFuY2Vcblx0XHRzbW9vdGhUaHJlc2hvbGQ6IDIsXG5cdH1cblxuXHQvLyBzYW5pdHkgY2hlY2tcblx0dmFyIHBvc3NpYmxlVmFsdWVzID0gWydwYXR0ZXJuJywgJ2JhcmNvZGUnLCAndW5rbm93biddXG5cdGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnR5cGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMudHlwZSlcblx0dmFyIHBvc3NpYmxlVmFsdWVzID0gWydtb2RlbFZpZXdNYXRyaXgnLCAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyBdXG5cdGNvbnNvbGUuYXNzZXJ0KHBvc3NpYmxlVmFsdWVzLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpICE9PSAtMSwgJ2lsbGVnYWwgdmFsdWUnLCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSlcblxuXG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbWFya2VyIFJvb3Rcblx0dGhpcy5vYmplY3QzZCA9IG9iamVjdDNkXG5cdHRoaXMub2JqZWN0M2QubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyTWFya2VyQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0dmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJNYXJrZXJDb250cm9sczogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHRfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXSA9IG5ld1ZhbHVlXG5cdFx0fVxuXHR9XG5cblx0aWYgKHRoaXMucGFyYW1ldGVycy5zbW9vdGgpIHtcblx0XHR0aGlzLnNtb290aE1hdHJpY2VzID0gW107IC8vIGxhc3QgREVCT1VOQ0VfQ09VTlQgbW9kZWxWaWV3TWF0cml4XG5cdH1cblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0Q29kZSBTZXBhcmF0b3Jcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vIGFkZCB0aGlzIG1hcmtlciB0byBhcnRvb2xraXRzeXN0ZW1cblx0Ly8gVE9ETyByZW5hbWUgdGhhdCAuYWRkTWFya2VyQ29udHJvbHNcblx0Y29udGV4dC5hZGRNYXJrZXIodGhpcylcblxuXHRpZiggX3RoaXMuY29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgKXtcblx0XHR0aGlzLl9pbml0QXJ0b29sa2l0KClcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG59XG5cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSApO1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2VyQ29udHJvbHM7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRkaXNwb3NlIGluc3RhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5kaXNwb3NlID0gZnVuY3Rpb24oKXtcblx0aWYoIHRoaXMuY29udGV4dCAmJiB0aGlzLmNvbnRleHQuYXJDb250cm9sbGVyICkge1xuXHRcdHRoaXMuY29udGV4dC5hckNvbnRyb2xsZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcignZ2V0TWFya2VyJywgdGhpcy5vbkdldE1hcmtlcik7XG5cdH1cblxuXHR0aGlzLmNvbnRleHQucmVtb3ZlTWFya2VyKHRoaXMpO1xuXHRcblx0dGhpcy5vYmplY3QzZCA9IG51bGw7XG5cdHRoaXMuc21vb3RoTWF0cmljZXMgPSBbXTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgY29udHJvbHMgd2l0aCBuZXcgbW9kZWxWaWV3TWF0cml4XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBXaGVuIHlvdSBhY3R1YWxseSBnb3QgYSBuZXcgbW9kZWxWaWV3TWF0cml4LCB5b3UgbmVlZCB0byBwZXJmb20gYSB3aG9sZSBidW5jaFxuICogb2YgdGhpbmdzLiBpdCBpcyBkb25lIGhlcmUuXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4ID0gZnVuY3Rpb24obW9kZWxWaWV3TWF0cml4KXtcblx0dmFyIG1hcmtlck9iamVjdDNEID0gdGhpcy5vYmplY3QzZDtcblxuXHQvLyBtYXJrIG9iamVjdCBhcyB2aXNpYmxlXG5cdG1hcmtlck9iamVjdDNELnZpc2libGUgPSB0cnVlXG5cblx0aWYoIHRoaXMuY29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgKXtcblx0XHQvLyBhcHBseSBjb250ZXh0Ll9heGlzVHJhbnNmb3JtTWF0cml4IC0gY2hhbmdlIGFydG9vbGtpdCBheGlzIHRvIG1hdGNoIHVzdWFsIHdlYmdsIG9uZVxuXHRcdHZhciB0bXBNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmNvcHkodGhpcy5jb250ZXh0Ll9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeClcblx0XHR0bXBNYXRyaXgubXVsdGlwbHkobW9kZWxWaWV3TWF0cml4KVxuXG5cdFx0bW9kZWxWaWV3TWF0cml4LmNvcHkodG1wTWF0cml4KVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXHQvLyBjaGFuZ2UgYXhpcyBvcmllbnRhdGlvbiBvbiBtYXJrZXIgLSBhcnRvb2xraXQgc2F5IFogaXMgbm9ybWFsIHRvIHRoZSBtYXJrZXIgLSBhci5qcyBzYXkgWSBpcyBub3JtYWwgdG8gdGhlIG1hcmtlclxuXHR2YXIgbWFya2VyQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWChNYXRoLlBJLzIpXG5cdG1vZGVsVmlld01hdHJpeC5tdWx0aXBseShtYXJrZXJBeGlzVHJhbnNmb3JtTWF0cml4KVxuXG5cdHZhciByZW5kZXJSZXFkID0gZmFsc2U7XG5cblx0Ly8gY2hhbmdlIG1hcmtlck9iamVjdDNELm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0aWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnbW9kZWxWaWV3TWF0cml4JyApe1xuXHRcdGlmICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoKSB7XG5cdFx0XHR2YXIgc3VtLFxuXHRcdFx0XHRcdGksIGosXG5cdFx0XHRcdFx0YXZlcmFnZXMsIC8vIGF2ZXJhZ2UgdmFsdWVzIGZvciBtYXRyaXggb3ZlciBsYXN0IHNtb290aENvdW50XG5cdFx0XHRcdFx0ZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPSAwO1xuXG5cdFx0XHR0aGlzLnNtb290aE1hdHJpY2VzLnB1c2gobW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzLnNsaWNlKCkpOyAvLyBhZGQgbGF0ZXN0XG5cblx0XHRcdGlmICh0aGlzLnNtb290aE1hdHJpY2VzLmxlbmd0aCA8ICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQgKyAxKSkge1xuXHRcdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpOyAvLyBub3QgZW5vdWdoIGZvciBhdmVyYWdlXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNtb290aE1hdHJpY2VzLnNoaWZ0KCk7IC8vIHJlbW92ZSBvbGRlc3QgZW50cnlcblx0XHRcdFx0YXZlcmFnZXMgPSBbXTtcblxuXHRcdFx0XHRmb3IgKGkgaW4gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzKSB7IC8vIGxvb3Agb3ZlciBlbnRyaWVzIGluIG1hdHJpeFxuXHRcdFx0XHRcdHN1bSA9IDA7XG5cdFx0XHRcdFx0Zm9yIChqIGluIHRoaXMuc21vb3RoTWF0cmljZXMpIHsgLy8gY2FsY3VsYXRlIGF2ZXJhZ2UgZm9yIHRoaXMgZW50cnlcblx0XHRcdFx0XHRcdHN1bSArPSB0aGlzLnNtb290aE1hdHJpY2VzW2pdW2ldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhdmVyYWdlc1tpXSA9IHN1bSAvIHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudDtcblx0XHRcdFx0XHQvLyBjaGVjayBob3cgbWFueSBlbGVtZW50cyB2YXJ5IGZyb20gdGhlIGF2ZXJhZ2UgYnkgYXQgbGVhc3QgQVZFUkFHRV9NQVRSSVhfVE9MRVJBTkNFXG5cdFx0XHRcdFx0aWYgKE1hdGguYWJzKGF2ZXJhZ2VzW2ldIC0gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzW2ldKSA+PSB0aGlzLnBhcmFtZXRlcnMuc21vb3RoVG9sZXJhbmNlKSB7XG5cdFx0XHRcdFx0XHRleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSsrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGlmIG1vdmluZyAoaS5lLiBhdCBsZWFzdCBBVkVSQUdFX01BVFJJWF9USFJFU0hPTEQgZW50cmllcyBhcmUgb3ZlciBBVkVSQUdFX01BVFJJWF9UT0xFUkFOQ0UpXG5cdFx0XHRcdGlmIChleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA+PSB0aGlzLnBhcmFtZXRlcnMuc21vb3RoVGhyZXNob2xkKSB7XG5cdFx0XHRcdFx0Ly8gdGhlbiB1cGRhdGUgbWF0cml4IHZhbHVlcyB0byBhdmVyYWdlLCBvdGhlcndpc2UsIGRvbid0IHJlbmRlciB0byBtaW5pbWl6ZSBqaXR0ZXJcblx0XHRcdFx0XHRmb3IgKGkgaW4gbW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzKSB7XG5cdFx0XHRcdFx0XHRtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0gPSBhdmVyYWdlc1tpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KTtcblx0XHRcdFx0XHRyZW5kZXJSZXFkID0gdHJ1ZTsgLy8gcmVuZGVyIHJlcXVpcmVkIGluIGFuaW1hdGlvbiBsb29wXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KVxuXHRcdH1cblx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCkuaW52ZXJ0KClcblx0fWVsc2Uge1xuXHRcdGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHR9XG5cblx0Ly8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRtYXJrZXJPYmplY3QzRC5tYXRyaXguZGVjb21wb3NlKG1hcmtlck9iamVjdDNELnBvc2l0aW9uLCBtYXJrZXJPYmplY3QzRC5xdWF0ZXJuaW9uLCBtYXJrZXJPYmplY3QzRC5zY2FsZSlcblxuXHQvLyBkaXNwYXRjaEV2ZW50XG5cdHRoaXMuZGlzcGF0Y2hFdmVudCggeyB0eXBlOiAnbWFya2VyRm91bmQnIH0gKTtcblxuXHRyZXR1cm4gcmVuZGVyUmVxZDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1dGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogcHJvdmlkZSBhIG5hbWUgZm9yIGEgbWFya2VyXG4gKiAtIHNpbGx5IGhldXJpc3RpYyBmb3Igbm93XG4gKiAtIHNob3VsZCBiZSBpbXByb3ZlZFxuICovXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUubmFtZSA9IGZ1bmN0aW9uKCl7XG5cdHZhciBuYW1lID0gJydcblx0bmFtZSArPSB0aGlzLnBhcmFtZXRlcnMudHlwZTtcblx0aWYoIHRoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0XHR2YXIgdXJsID0gdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5Vcmxcblx0XHR2YXIgYmFzZW5hbWUgPSB1cmwucmVwbGFjZSgvXi4qXFwvL2csICcnKVxuXHRcdG5hbWUgKz0gJyAtICcgKyBiYXNlbmFtZVxuXHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdG5hbWUgKz0gJyAtICcgKyB0aGlzLnBhcmFtZXRlcnMuYmFyY29kZVZhbHVlXG5cdH1lbHNle1xuXHRcdGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAnbm8gLm5hbWUoKSBpbXBsZW1lbnRlZCBmb3IgdGhpcyBtYXJrZXIgY29udHJvbHMnKVxuXHR9XG5cdHJldHVybiBuYW1lXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0aW5pdCBmb3IgQXJ0b29sa2l0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblxuXHR2YXIgYXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG5cblx0dmFyIGRlbGF5ZWRJbml0VGltZXJJZCA9IHNldEludGVydmFsKGZ1bmN0aW9uKCl7XG5cdFx0Ly8gY2hlY2sgaWYgYXJDb250cm9sbGVyIGlzIGluaXRcblx0XHR2YXIgYXJDb250cm9sbGVyID0gX3RoaXMuY29udGV4dC5hckNvbnRyb2xsZXJcblx0XHRpZiggYXJDb250cm9sbGVyID09PSBudWxsIClcdHJldHVyblxuXHRcdC8vIHN0b3AgbG9vcGluZyBpZiBpdCBpcyBpbml0XG5cdFx0Y2xlYXJJbnRlcnZhbChkZWxheWVkSW5pdFRpbWVySWQpXG5cdFx0ZGVsYXllZEluaXRUaW1lcklkID0gbnVsbFxuXHRcdC8vIGxhdW5jaCB0aGUgX3Bvc3RJbml0QXJ0b29sa2l0XG5cdFx0cG9zdEluaXQoKVxuXHR9LCAxMDAwLzUwKVxuXG5cdHJldHVyblxuXG5cdGZ1bmN0aW9uIHBvc3RJbml0KCl7XG5cdFx0Ly8gY2hlY2sgaWYgYXJDb250cm9sbGVyIGlzIGluaXRcblx0XHR2YXIgYXJDb250cm9sbGVyID0gX3RoaXMuY29udGV4dC5hckNvbnRyb2xsZXJcblx0XHRjb25zb2xlLmFzc2VydChhckNvbnRyb2xsZXIgIT09IG51bGwgKVxuXG5cdFx0Ly8gc3RhcnQgdHJhY2tpbmcgdGhpcyBwYXR0ZXJuXG5cdFx0aWYoIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdCAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIubG9hZE1hcmtlcihfdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5VcmwpLnRoZW4oZnVuY3Rpb24obWFya2VySWQpIHtcblx0XHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBtYXJrZXJJZFxuXHQgICAgICAgICAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIudHJhY2tQYXR0ZXJuTWFya2VySWQoYXJ0b29sa2l0TWFya2VySWQsIF90aGlzLnBhcmFtZXRlcnMuc2l6ZSk7XG5cdCAgICAgICAgICAgICAgICB9KTtcblx0XHR9ZWxzZSBpZiggX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScgKXtcblx0XHRcdGFydG9vbGtpdE1hcmtlcklkID0gX3RoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcblx0XHRcdGFyQ29udHJvbGxlci50cmFja0JhcmNvZGVNYXJrZXJJZChhcnRvb2xraXRNYXJrZXJJZCwgX3RoaXMucGFyYW1ldGVycy5zaXplKTtcblx0XHR9ZWxzZSBpZiggX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAndW5rbm93bicgKXtcblx0XHRcdGFydG9vbGtpdE1hcmtlcklkID0gbnVsbFxuXHRcdH1lbHNle1xuXHRcdFx0Y29uc29sZS5sb2coZmFsc2UsICdpbnZhbGlkIG1hcmtlciB0eXBlJywgX3RoaXMucGFyYW1ldGVycy50eXBlKVxuXHRcdH1cblxuXHRcdC8vIGxpc3RlbiB0byB0aGUgZXZlbnRcblx0XHRhckNvbnRyb2xsZXIuYWRkRXZlbnRMaXN0ZW5lcignZ2V0TWFya2VyJywgb25HZXRNYXJrZXIpXG5cblx0fVxuXG5cdGZ1bmN0aW9uIG9uTWFya2VyRm91bmQoZXZlbnQpe1xuXHRcdC8vIGhvbm9yIGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2Vcblx0XHRpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuUEFUVEVSTl9NQVJLRVIgJiYgZXZlbnQuZGF0YS5tYXJrZXIuY2ZQYXR0IDwgX3RoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlIClcdHJldHVyblxuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZk1hdHJpeCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSApXHRyZXR1cm5cblxuXHRcdHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShldmVudC5kYXRhLm1hdHJpeClcblx0XHRfdGhpcy51cGRhdGVXaXRoTW9kZWxWaWV3TWF0cml4KG1vZGVsVmlld01hdHJpeClcblx0fVxuXG5cdGZ1bmN0aW9uIG9uR2V0TWFya2VyKGV2ZW50KXtcblx0XHRpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuUEFUVEVSTl9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0XHRcdGlmKCBhcnRvb2xraXRNYXJrZXJJZCA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHRcdGlmKCBldmVudC5kYXRhLm1hcmtlci5pZFBhdHQgPT09IGFydG9vbGtpdE1hcmtlcklkICkgb25NYXJrZXJGb3VuZChldmVudClcblx0XHR9ZWxzZSBpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScgKXtcblx0XHRcdC8vIGNvbnNvbGUubG9nKCdCQVJDT0RFX01BUktFUiBpZE1hdHJpeCcsIGV2ZW50LmRhdGEubWFya2VyLmlkTWF0cml4LCBhcnRvb2xraXRNYXJrZXJJZCApXG5cdFx0XHRpZiggYXJ0b29sa2l0TWFya2VySWQgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0XHRpZiggZXZlbnQuZGF0YS5tYXJrZXIuaWRNYXRyaXggPT09IGFydG9vbGtpdE1hcmtlcklkICkgIG9uTWFya2VyRm91bmQoZXZlbnQpXG5cdFx0fWVsc2UgaWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlVOS05PV05fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nKXtcblx0XHRcdG9uTWFya2VyRm91bmQoZXZlbnQpXG5cdFx0fVxuXHR9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFya2VyQ29udHJvbHM7XG4iLCJpbXBvcnQgVXRpbHMgZnJvbSAnLi4vbmV3LWFwaS9hcmpzLXV0aWxzJztcbmltcG9ydCBBclRvb2xraXRDb250ZXh0IGZyb20gJy4vYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG4vKipcbiAqIEFyVG9vbGtpdFByb2ZpbGUgaGVscHMgeW91IGJ1aWxkIHBhcmFtZXRlcnMgZm9yIGFydG9vbGtpdFxuICogLSBpdCBpcyBmdWxseSBpbmRlcGVuZGVudCBvZiB0aGUgcmVzdCBvZiB0aGUgY29kZVxuICogLSBhbGwgdGhlIG90aGVyIGNsYXNzZXMgYXJlIHN0aWxsIGV4cGVjdGluZyBub3JtYWwgcGFyYW1ldGVyc1xuICogLSB5b3UgY2FuIHVzZSB0aGlzIGNsYXNzIHRvIHVuZGVyc3RhbmQgaG93IHRvIHR1bmUgeW91ciBzcGVjaWZpYyB1c2VjYXNlXG4gKiAtIGl0IGlzIG1hZGUgdG8gaGVscCBwZW9wbGUgdG8gYnVpbGQgcGFyYW1ldGVycyB3aXRob3V0IHVuZGVyc3RhbmRpbmcgYWxsIHRoZSB1bmRlcmx5aW5nIGRldGFpbHMuXG4gKi9cbmNvbnN0IFByb2ZpbGUgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5yZXNldCgpXG5cbiAgICB0aGlzLnBlcmZvcm1hbmNlKCdkZWZhdWx0Jylcbn1cblxuUHJvZmlsZS5wcm90b3R5cGUuX2d1ZXNzUGVyZm9ybWFuY2VMYWJlbCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgaXNNb2JpbGUgPSBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9BbmRyb2lkL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL3dlYk9TL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQaG9uZS9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGFkL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQb2QvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQmxhY2tCZXJyeS9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9XaW5kb3dzIFBob25lL2kpXG4gICAgICAgID8gdHJ1ZSA6IGZhbHNlXG4gICAgaWYgKGlzTW9iaWxlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiAncGhvbmUtbm9ybWFsJ1xuICAgIH1cbiAgICByZXR1cm4gJ2Rlc2t0b3Atbm9ybWFsJ1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiByZXNldCBhbGwgcGFyYW1ldGVyc1xuICovXG5Qcm9maWxlLnByb3RvdHlwZS5yZXNldCA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMgPSB7XG4gICAgICAgIC8vIHRvIHJlYWQgZnJvbSB0aGUgd2ViY2FtXG4gICAgICAgIHNvdXJjZVR5cGU6ICd3ZWJjYW0nLFxuICAgIH1cblxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMgPSB7XG4gICAgICAgIGNhbWVyYVBhcmFtZXRlcnNVcmw6IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvY2FtZXJhX3BhcmEuZGF0JywgLy8gVE9ETyBkZXBlbmRlbnQgb2YgYnVpbGQ/XG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycyA9IHtcbiAgICAgICAgdHlwZTogJ3BhdHRlcm4nLFxuICAgICAgICBwYXR0ZXJuVXJsOiBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnLi4vZGF0YS9kYXRhL3BhdHQuaGlybycsIC8vIFRPRE8gZGVwZW5kZW50IG9mIGJ1aWxkP1xuICAgICAgICBjaGFuZ2VNYXRyaXhNb2RlOiAnbW9kZWxWaWV3TWF0cml4JyxcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbn07XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0UGVyZm9ybWFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuUHJvZmlsZS5wcm90b3R5cGUucGVyZm9ybWFuY2UgPSBmdW5jdGlvbiAobGFiZWwpIHtcblxuICAgIGlmIChsYWJlbCA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgIGxhYmVsID0gdGhpcy5fZ3Vlc3NQZXJmb3JtYW5jZUxhYmVsKClcbiAgICB9XG5cbiAgICBpZiAobGFiZWwgPT09ICdkZXNrdG9wLWZhc3QnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA2NDAgKiAzXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNDgwICogM1xuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDMwXG4gICAgfSBlbHNlIGlmIChsYWJlbCA9PT0gJ2Rlc2t0b3Atbm9ybWFsJykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gNjQwXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNDgwXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gNjBcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAncGhvbmUtbm9ybWFsJykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gODAgKiA0XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNjAgKiA0XG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAncGhvbmUtc2xvdycpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDgwICogM1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDYwICogM1xuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDMwXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmtub253biBsYWJlbCAnICsgbGFiZWwpXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0TWFya2VyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5Qcm9maWxlLnByb3RvdHlwZS5kZWZhdWx0TWFya2VyID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIHRyYWNraW5nQmFja2VuZCA9IHRyYWNraW5nQmFja2VuZCB8fCB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlID0gJ21vbm8nXG4gICAgICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuICAgICAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnLi4vZGF0YS9kYXRhL3BhdHQuaGlybycgLy8gVE9ETyBkZXBlbmRlbnQgb2YgYnVpbGQ/XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG4gICAgcmV0dXJuIHRoaXNcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0U291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZVdlYmNhbSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9ICd3ZWJjYW0nXG4gICAgZGVsZXRlIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VWaWRlbyA9IGZ1bmN0aW9uICh1cmwpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9ICd2aWRlbydcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlSW1hZ2UgPSBmdW5jdGlvbiAodXJsKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPSAnaW1hZ2UnXG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybCA9IHVybFxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dHJhY2tpbmdCYWNrZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLnRyYWNraW5nQmFja2VuZCA9IGZ1bmN0aW9uICh0cmFja2luZ0JhY2tlbmQpIHtcbiAgICBjb25zb2xlLndhcm4oJ3N0b3AgcHJvZmlsZS50cmFja2luZ0JhY2tlbmQoKSBvYnNvbGV0ZSBmdW5jdGlvbi4gdXNlIC50cmFja2luZ01ldGhvZCBpbnN0ZWFkJylcbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9IHRyYWNraW5nQmFja2VuZFxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dHJhY2tpbmdCYWNrZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLmNoYW5nZU1hdHJpeE1vZGUgPSBmdW5jdGlvbiAoY2hhbmdlTWF0cml4TW9kZSkge1xuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9IGNoYW5nZU1hdHJpeE1vZGVcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHRyYWNraW5nQmFja2VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS50cmFja2luZ01ldGhvZCA9IGZ1bmN0aW9uICh0cmFja2luZ01ldGhvZCkge1xuICAgIHZhciBkYXRhID0gVXRpbHMucGFyc2VUcmFja2luZ01ldGhvZCh0cmFja2luZ01ldGhvZClcbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCA9IGRhdGEubWFya2Vyc0FyZWFFbmFibGVkXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPSBkYXRhLnRyYWNraW5nQmFja2VuZFxuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogY2hlY2sgaWYgdGhlIHByb2ZpbGUgaXMgdmFsaWQuIFRocm93IGFuIGV4Y2VwdGlvbiBpcyBub3QgdmFsaWRcbiAqL1xuUHJvZmlsZS5wcm90b3R5cGUuY2hlY2tJZlZhbGlkID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzXG59XG5cbmV4cG9ydCBkZWZhdWx0IFByb2ZpbGU7XG4iLCJjb25zdCBTb3VyY2UgPSBmdW5jdGlvbiAocGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIHRoaXMucmVhZHkgPSBmYWxzZVxuICAgIHRoaXMuZG9tRWxlbWVudCA9IG51bGxcblxuICAgIC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB7XG4gICAgICAgIC8vIHR5cGUgb2Ygc291cmNlIC0gWyd3ZWJjYW0nLCAnaW1hZ2UnLCAndmlkZW8nXVxuICAgICAgICBzb3VyY2VUeXBlOiAnd2ViY2FtJyxcbiAgICAgICAgLy8gdXJsIG9mIHRoZSBzb3VyY2UgLSB2YWxpZCBpZiBzb3VyY2VUeXBlID0gaW1hZ2V8dmlkZW9cbiAgICAgICAgc291cmNlVXJsOiBudWxsLFxuXG4gICAgICAgIC8vIERldmljZSBpZCBvZiB0aGUgY2FtZXJhIHRvIHVzZSAob3B0aW9uYWwpXG4gICAgICAgIGRldmljZUlkOiBudWxsLFxuXG4gICAgICAgIC8vIHJlc29sdXRpb24gb2YgYXQgd2hpY2ggd2UgaW5pdGlhbGl6ZSBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIHNvdXJjZVdpZHRoOiA2NDAsXG4gICAgICAgIHNvdXJjZUhlaWdodDogNDgwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIGRpc3BsYXllZCBmb3IgdGhlIHNvdXJjZVxuICAgICAgICBkaXNwbGF5V2lkdGg6IDY0MCxcbiAgICAgICAgZGlzcGxheUhlaWdodDogNDgwLFxuICAgIH1cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRzZXRQYXJhbWV0ZXJzXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuICAgIGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICAgICAgICBpZiAocGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm5cbiAgICAgICAgZm9yICh2YXIga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyVG9vbGtpdFNvdXJjZTogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBclRvb2xraXRTb3VyY2U6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIF90aGlzLnBhcmFtZXRlcnNba2V5XSA9IG5ld1ZhbHVlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm9uSW5pdGlhbENsaWNrID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmKCB0aGlzLmRvbUVsZW1lbnQgJiYgdGhpcy5kb21FbGVtZW50LnBsYXkgKSB7XG4gICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQucGxheSgpLnRoZW4oICgpID0+IHt9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Tb3VyY2UucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAob25SZWFkeSwgb25FcnJvcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VJbWFnZShvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICd2aWRlbycpIHtcbiAgICAgICAgdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlVmlkZW8ob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAnd2ViY2FtJykge1xuICAgICAgICAvLyB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VXZWJjYW1PbGQob25Tb3VyY2VSZWFkeSlcbiAgICAgICAgdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlV2ViY2FtKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gYXR0YWNoXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9tRWxlbWVudFxuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUudG9wID0gJzBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubGVmdCA9ICcwcHgnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnpJbmRleCA9ICctMidcbiAgICB0aGlzLmRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsICdhcmpzLXZpZGVvJyk7XG5cbiAgICByZXR1cm4gdGhpc1xuICAgIGZ1bmN0aW9uIG9uU291cmNlUmVhZHkoKSB7XG4gICAgICAgIGlmKCAhX3RoaXMuZG9tRWxlbWVudCApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoX3RoaXMuZG9tRWxlbWVudCk7XG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnYXJqcy12aWRlby1sb2FkZWQnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyksXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSk7XG5cbiAgICAgICAgX3RoaXMucmVhZHkgPSB0cnVlXG5cbiAgICAgICAgb25SZWFkeSAmJiBvblJlYWR5KClcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IGltYWdlIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlSW1hZ2UgPSBmdW5jdGlvbiAob25SZWFkeSkge1xuICAgIC8vIFRPRE8gbWFrZSBpdCBzdGF0aWNcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgIGRvbUVsZW1lbnQuc3JjID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVVybDtcblxuICAgIGRvbUVsZW1lbnQud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGg7XG4gICAgZG9tRWxlbWVudC5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0O1xuICAgIGRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheVdpZHRoICsgJ3B4JztcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4JztcblxuICAgIGRvbUVsZW1lbnQub25sb2FkID0gb25SZWFkeTtcbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCB2aWRlbyBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuU291cmNlLnByb3RvdHlwZS5faW5pdFNvdXJjZVZpZGVvID0gZnVuY3Rpb24gKG9uUmVhZHkpIHtcbiAgICAvLyBUT0RPIG1ha2UgaXQgc3RhdGljXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpO1xuICAgIGRvbUVsZW1lbnQuc3JjID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVVybDtcblxuICAgIGRvbUVsZW1lbnQuc3R5bGUub2JqZWN0Rml0ID0gJ2luaXRpYWwnO1xuXG4gICAgZG9tRWxlbWVudC5hdXRvcGxheSA9IHRydWU7XG4gICAgZG9tRWxlbWVudC53ZWJraXRQbGF5c2lubGluZSA9IHRydWU7XG4gICAgZG9tRWxlbWVudC5jb250cm9scyA9IGZhbHNlO1xuICAgIGRvbUVsZW1lbnQubG9vcCA9IHRydWU7XG4gICAgZG9tRWxlbWVudC5tdXRlZCA9IHRydWU7XG5cbiAgICAvLyBzdGFydCB0aGUgdmlkZW8gb24gZmlyc3QgY2xpY2sgaWYgbm90IHN0YXJ0ZWQgYXV0b21hdGljYWxseVxuICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uSW5pdGlhbENsaWNrLCB7b25jZTp0cnVlfSk7XG5cbiAgICBkb21FbGVtZW50LndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVdpZHRoO1xuICAgIGRvbUVsZW1lbnQuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZUhlaWdodDtcbiAgICBkb21FbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCArICdweCc7XG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCc7XG5cbiAgICBkb21FbGVtZW50Lm9ubG9hZGVkZGF0YSA9IG9uUmVhZHk7XG4gICAgcmV0dXJuIGRvbUVsZW1lbnRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgd2ViY2FtIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5faW5pdFNvdXJjZVdlYmNhbSA9IGZ1bmN0aW9uIChvblJlYWR5LCBvbkVycm9yKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgLy8gaW5pdCBkZWZhdWx0IHZhbHVlXG4gICAgb25FcnJvciA9IG9uRXJyb3IgfHwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIHZhciBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2FtZXJhLWVycm9yJywgeyBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgICAgICB2YXIgZXJyb3JQb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgICAgIGVycm9yUG9wdXAuaW5uZXJIVE1MID0gJ1dlYmNhbSBFcnJvclxcbk5hbWU6ICcgKyBlcnJvci5uYW1lICsgJ1xcbk1lc3NhZ2U6ICcgKyBlcnJvci5tZXNzYWdlXG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcnJvclBvcHVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwMCk7XG4gICAgfVxuXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd2aWRlbycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhdXRvcGxheScsICcnKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgnbXV0ZWQnLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3BsYXlzaW5saW5lJywgJycpO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheVdpZHRoICsgJ3B4J1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnXG5cbiAgICAvLyBjaGVjayBBUEkgaXMgYXZhaWxhYmxlXG4gICAgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMgPT09IHVuZGVmaW5lZFxuICAgICAgICB8fCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgPT09IHVuZGVmaW5lZFxuICAgICAgICB8fCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzID09PSB1bmRlZmluZWQpIHZhciBmY3ROYW1lID0gJ25hdmlnYXRvci5tZWRpYURldmljZXMnXG4gICAgICAgIGVsc2UgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcyA9PT0gdW5kZWZpbmVkKSB2YXIgZmN0TmFtZSA9ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMnXG4gICAgICAgIGVsc2UgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhID09PSB1bmRlZmluZWQpIHZhciBmY3ROYW1lID0gJ25hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhJ1xuICAgICAgICBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgIG5hbWU6ICcnLFxuICAgICAgICAgICAgbWVzc2FnZTogJ1dlYlJUQyBpc3N1ZS0hICcgKyBmY3ROYW1lICsgJyBub3QgcHJlc2VudCBpbiB5b3VyIGJyb3dzZXInXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIC8vIGdldCBhdmFpbGFibGUgZGV2aWNlc1xuICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcygpLnRoZW4oZnVuY3Rpb24gKGRldmljZXMpIHtcbiAgICAgICAgdmFyIHVzZXJNZWRpYUNvbnN0cmFpbnRzID0ge1xuICAgICAgICAgICAgYXVkaW86IGZhbHNlLFxuICAgICAgICAgICAgdmlkZW86IHtcbiAgICAgICAgICAgICAgICBmYWNpbmdNb2RlOiAnZW52aXJvbm1lbnQnLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkZWFsOiBfdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVdpZHRoLFxuICAgICAgICAgICAgICAgICAgICAvLyBtaW46IDEwMjQsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1heDogMTkyMFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB7XG4gICAgICAgICAgICAgICAgICAgIGlkZWFsOiBfdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZUhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWluOiA3NzYsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1heDogMTA4MFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobnVsbCAhPT0gX3RoaXMucGFyYW1ldGVycy5kZXZpY2VJZCkge1xuICAgICAgICAgICAgdXNlck1lZGlhQ29uc3RyYWludHMudmlkZW8uZGV2aWNlSWQgPSB7XG4gICAgICAgICAgICAgICAgZXhhY3Q6IF90aGlzLnBhcmFtZXRlcnMuZGV2aWNlSWRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBnZXQgYSBkZXZpY2Ugd2hpY2ggc2F0aXNmeSB0aGUgY29uc3RyYWludHNcbiAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEodXNlck1lZGlhQ29uc3RyYWludHMpLnRoZW4oZnVuY3Rpb24gc3VjY2VzcyhzdHJlYW0pIHtcbiAgICAgICAgICAgIC8vIHNldCB0aGUgLnNyYyBvZiB0aGUgZG9tRWxlbWVudFxuICAgICAgICAgICAgZG9tRWxlbWVudC5zcmNPYmplY3QgPSBzdHJlYW07XG5cbiAgICAgICAgICAgIHZhciBldmVudCA9IG5ldyBDdXN0b21FdmVudCgnY2FtZXJhLWluaXQnLCB7IHN0cmVhbTogc3RyZWFtIH0pO1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgICAgICAvLyBzdGFydCB0aGUgdmlkZW8gb24gZmlyc3QgY2xpY2sgaWYgbm90IHN0YXJ0ZWQgYXV0b21hdGljYWxseVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIF90aGlzLm9uSW5pdGlhbENsaWNrLCB7b25jZTp0cnVlfSk7ICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIG9uUmVhZHkoKTtcbiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5yZWFkeSA9IGZhbHNlO1xuXG4gICAgc3dpdGNoICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSkge1xuICAgICAgICBjYXNlICdpbWFnZSc6XG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlU291cmNlSW1hZ2UoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3ZpZGVvJzpcbiAgICAgICAgICAgIHRoaXMuX2Rpc3Bvc2VTb3VyY2VWaWRlbygpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnd2ViY2FtJzpcbiAgICAgICAgICAgIHRoaXMuX2Rpc3Bvc2VTb3VyY2VXZWJjYW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IG51bGw7XG5cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkluaXRpYWxDbGljaywge29uY2U6dHJ1ZX0pOyAgICAgICAgICAgIFxufVx0XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBkaXNwb3NlIGltYWdlIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5fZGlzcG9zZVNvdXJjZUltYWdlID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKTtcblxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBkaXNwb3NlIHZpZGVvIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5fZGlzcG9zZVNvdXJjZVZpZGVvID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKTtcbiAgICBcbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9tZWRpYS5odG1sI2Jlc3QtcHJhY3RpY2VzLWZvci1hdXRob3JzLXVzaW5nLW1lZGlhLWVsZW1lbnRzXG4gICAgZG9tRWxlbWVudC5wYXVzZSgpO1xuICAgIGRvbUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdzcmMnKTsgXG4gICAgZG9tRWxlbWVudC5sb2FkKCk7IFxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTsgICAgXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBkaXNwb3NlIHdlYmNhbSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2Rpc3Bvc2VTb3VyY2VXZWJjYW0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzEyNDM2NzcyXG4gICAgaWYoIGRvbUVsZW1lbnQuc3JjT2JqZWN0ICYmIGRvbUVsZW1lbnQuc3JjT2JqZWN0LmdldFRyYWNrcyApIHtcbiAgICAgICAgZG9tRWxlbWVudC5zcmNPYmplY3QuZ2V0VHJhY2tzKCkubWFwKCh0cmFjaykgPT4gdHJhY2suc3RvcCgpKTsgICAgXG4gICAgfVx0XG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpO1x0XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0SGFuZGxlIE1vYmlsZSBUb3JjaFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Tb3VyY2UucHJvdG90eXBlLmhhc01vYmlsZVRvcmNoID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzdHJlYW0gPSBhclRvb2xraXRTb3VyY2UuZG9tRWxlbWVudC5zcmNPYmplY3RcbiAgICBpZiAoc3RyZWFtIGluc3RhbmNlb2YgTWVkaWFTdHJlYW0gPT09IGZhbHNlKSByZXR1cm4gZmFsc2VcblxuICAgIGlmICh0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPSBmYWxzZVxuICAgIH1cblxuICAgIHZhciB2aWRlb1RyYWNrID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07XG5cbiAgICAvLyBpZiB2aWRlb1RyYWNrLmdldENhcGFiaWxpdGllcygpIGRvZXNudCBleGlzdCwgcmV0dXJuIGZhbHNlIG5vd1xuICAgIGlmICh2aWRlb1RyYWNrLmdldENhcGFiaWxpdGllcyA9PT0gdW5kZWZpbmVkKSByZXR1cm4gZmFsc2VcblxuICAgIHZhciBjYXBhYmlsaXRpZXMgPSB2aWRlb1RyYWNrLmdldENhcGFiaWxpdGllcygpXG5cbiAgICByZXR1cm4gY2FwYWJpbGl0aWVzLnRvcmNoID8gdHJ1ZSA6IGZhbHNlXG59XG5cbi8qKlxuICogdG9nZ2xlIHRoZSBmbGFzaC90b3JjaCBvZiB0aGUgbW9iaWxlIGZ1biBpZiBhcHBsaWNhYmxlLlxuICogR3JlYXQgcG9zdCBhYm91dCBpdCBodHRwczovL3d3dy5vYmVyaG9mZXIuY28vbWVkaWFzdHJlYW10cmFjay1hbmQtaXRzLWNhcGFiaWxpdGllcy9cbiAqL1xuU291cmNlLnByb3RvdHlwZS50b2dnbGVNb2JpbGVUb3JjaCA9IGZ1bmN0aW9uICgpIHtcbiAgICAvLyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmhhc01vYmlsZVRvcmNoKCkgPT09IHRydWUpXG5cbiAgICB2YXIgc3RyZWFtID0gYXJUb29sa2l0U291cmNlLmRvbUVsZW1lbnQuc3JjT2JqZWN0XG4gICAgaWYgKHN0cmVhbSBpbnN0YW5jZW9mIE1lZGlhU3RyZWFtID09PSBmYWxzZSkge1xuICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1wb3B1cCcpKSB7XG4gICAgICAgICAgICB2YXIgZXJyb3JQb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5pbm5lckhUTUwgPSAnZW5hYmxpbmcgbW9iaWxlIHRvcmNoIGlzIGF2YWlsYWJsZSBvbmx5IG9uIHdlYmNhbSdcbiAgICAgICAgICAgIGVycm9yUG9wdXAuc2V0QXR0cmlidXRlKCdpZCcsICdlcnJvci1wb3B1cCcpO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcnJvclBvcHVwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID0gZmFsc2VcbiAgICB9XG5cbiAgICB2YXIgdmlkZW9UcmFjayA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdO1xuICAgIHZhciBjYXBhYmlsaXRpZXMgPSB2aWRlb1RyYWNrLmdldENhcGFiaWxpdGllcygpXG5cbiAgICBpZiAoIWNhcGFiaWxpdGllcy50b3JjaCkge1xuICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1wb3B1cCcpKSB7XG4gICAgICAgICAgICB2YXIgZXJyb3JQb3B1cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5pbm5lckhUTUwgPSAnbm8gbW9iaWxlIHRvcmNoIGlzIGF2YWlsYWJsZSBvbiB5b3VyIGNhbWVyYSdcbiAgICAgICAgICAgIGVycm9yUG9wdXAuc2V0QXR0cmlidXRlKCdpZCcsICdlcnJvci1wb3B1cCcpO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlcnJvclBvcHVwKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPSB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPT09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlXG4gICAgdmlkZW9UcmFjay5hcHBseUNvbnN0cmFpbnRzKHtcbiAgICAgICAgYWR2YW5jZWQ6IFt7XG4gICAgICAgICAgICB0b3JjaDogdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzXG4gICAgICAgIH1dXG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxuICAgIH0pO1xufVxuXG5Tb3VyY2UucHJvdG90eXBlLmRvbUVsZW1lbnRXaWR0aCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoKVxufVxuU291cmNlLnByb3RvdHlwZS5kb21FbGVtZW50SGVpZ2h0ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBwYXJzZUludCh0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaGFuZGxlIHJlc2l6ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5vblJlc2l6ZUVsZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIHZhciBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgdmFyIHNjcmVlbkhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodFxuXG4gICAgLy8gc2FuaXR5IGNoZWNrXG4gICAgY29uc29sZS5hc3NlcnQoYXJndW1lbnRzLmxlbmd0aCA9PT0gMClcblxuICAgIC8vIGNvbXB1dGUgc291cmNlV2lkdGgsIHNvdXJjZUhlaWdodFxuICAgIGlmICh0aGlzLmRvbUVsZW1lbnQubm9kZU5hbWUgPT09IFwiSU1HXCIpIHtcbiAgICAgICAgdmFyIHNvdXJjZVdpZHRoID0gdGhpcy5kb21FbGVtZW50Lm5hdHVyYWxXaWR0aFxuICAgICAgICB2YXIgc291cmNlSGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50Lm5hdHVyYWxIZWlnaHRcbiAgICB9IGVsc2UgaWYgKHRoaXMuZG9tRWxlbWVudC5ub2RlTmFtZSA9PT0gXCJWSURFT1wiKSB7XG4gICAgICAgIHZhciBzb3VyY2VXaWR0aCA9IHRoaXMuZG9tRWxlbWVudC52aWRlb1dpZHRoXG4gICAgICAgIHZhciBzb3VyY2VIZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQudmlkZW9IZWlnaHRcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyBjb21wdXRlIHNvdXJjZUFzcGVjdFxuICAgIHZhciBzb3VyY2VBc3BlY3QgPSBzb3VyY2VXaWR0aCAvIHNvdXJjZUhlaWdodFxuICAgIC8vIGNvbXB1dGUgc2NyZWVuQXNwZWN0XG4gICAgdmFyIHNjcmVlbkFzcGVjdCA9IHNjcmVlbldpZHRoIC8gc2NyZWVuSGVpZ2h0XG5cbiAgICAvLyBpZiBzY3JlZW5Bc3BlY3QgPCBzb3VyY2VBc3BlY3QsIHRoZW4gY2hhbmdlIHRoZSB3aWR0aCwgZWxzZSBjaGFuZ2UgdGhlIGhlaWdodFxuICAgIGlmIChzY3JlZW5Bc3BlY3QgPCBzb3VyY2VBc3BlY3QpIHtcbiAgICAgICAgLy8gY29tcHV0ZSBuZXdXaWR0aCBhbmQgc2V0IC53aWR0aC8ubWFyZ2luTGVmdFxuICAgICAgICB2YXIgbmV3V2lkdGggPSBzb3VyY2VBc3BlY3QgKiBzY3JlZW5IZWlnaHRcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoID0gbmV3V2lkdGggKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gLShuZXdXaWR0aCAtIHNjcmVlbldpZHRoKSAvIDIgKyAncHgnXG5cbiAgICAgICAgLy8gaW5pdCBzdHlsZS5oZWlnaHQvLm1hcmdpblRvcCB0byBub3JtYWwgdmFsdWVcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHNjcmVlbkhlaWdodCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9ICcwcHgnXG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gY29tcHV0ZSBuZXdIZWlnaHQgYW5kIHNldCAuaGVpZ2h0Ly5tYXJnaW5Ub3BcbiAgICAgICAgdmFyIG5ld0hlaWdodCA9IDEgLyAoc291cmNlQXNwZWN0IC8gc2NyZWVuV2lkdGgpXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBuZXdIZWlnaHQgKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSAtKG5ld0hlaWdodCAtIHNjcmVlbkhlaWdodCkgLyAyICsgJ3B4J1xuXG4gICAgICAgIC8vIGluaXQgc3R5bGUud2lkdGgvLm1hcmdpbkxlZnQgdG8gbm9ybWFsIHZhbHVlXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHNjcmVlbldpZHRoICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICcwcHgnXG4gICAgfVxufVxuLypcblNvdXJjZS5wcm90b3R5cGUuY29weUVsZW1lbnRTaXplVG8gPSBmdW5jdGlvbihvdGhlckVsZW1lbnQpe1xuXHRvdGhlckVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGhcblx0b3RoZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHRcblx0b3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdFxuXHRvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcFxufVxuKi9cblxuU291cmNlLnByb3RvdHlwZS5jb3B5RWxlbWVudFNpemVUbyA9IGZ1bmN0aW9uIChvdGhlckVsZW1lbnQpIHtcblxuICAgIGlmICh3aW5kb3cuaW5uZXJXaWR0aCA+IHdpbmRvdy5pbm5lckhlaWdodCkge1xuICAgICAgICAvL2xhbmRzY2FwZVxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGhcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcFxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy9wb3J0cmFpdFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUud2lkdGggPSAocGFyc2VJbnQob3RoZXJFbGVtZW50LnN0eWxlLmhlaWdodCkgKiA0IC8gMykgKyBcInB4XCI7XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gKCh3aW5kb3cuaW5uZXJXaWR0aCAtIHBhcnNlSW50KG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCkpIC8gMikgKyBcInB4XCI7XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSAwO1xuICAgIH1cblxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5jb3B5U2l6ZVRvID0gZnVuY3Rpb24gKCkge1xuICAgIGNvbnNvbGUud2Fybignb2Jzb2xldGUgZnVuY3Rpb24gYXJUb29sa2l0U291cmNlLmNvcHlTaXplVG8uIFVzZSBhclRvb2xraXRTb3VyY2UuY29weUVsZW1lbnRTaXplVG8nKVxuICAgIHRoaXMuY29weUVsZW1lbnRTaXplVG8uYXBwbHkodGhpcywgYXJndW1lbnRzKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5vblJlc2l6ZSA9IGZ1bmN0aW9uIChhclRvb2xraXRDb250ZXh0LCByZW5kZXJlciwgY2FtZXJhKSB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IDMpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdvYnNvbGV0ZSBmdW5jdGlvbiBhclRvb2xraXRTb3VyY2Uub25SZXNpemUuIFVzZSBhclRvb2xraXRTb3VyY2Uub25SZXNpemVFbGVtZW50JylcbiAgICAgICAgcmV0dXJuIHRoaXMub25SZXNpemVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbiAgICB9XG5cbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJUb29sa2l0Q29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG5cbiAgICAvLyBSRVNJWkUgRE9NRUxFTUVOVFxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG5cbiAgICAgICAgdGhpcy5vblJlc2l6ZUVsZW1lbnQoKVxuXG4gICAgICAgIHZhciBpc0FmcmFtZSA9IHJlbmRlcmVyLmRvbUVsZW1lbnQuZGF0YXNldC5hZnJhbWVDYW52YXMgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgaWYgKGlzQWZyYW1lID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5jb3B5RWxlbWVudFNpemVUbyhyZW5kZXJlci5kb21FbGVtZW50KVxuICAgICAgICB9IGVsc2Uge1xuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXJUb29sa2l0Q29udGV4dC5hckNvbnRyb2xsZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY29weUVsZW1lbnRTaXplVG8oYXJUb29sa2l0Q29udGV4dC5hckNvbnRyb2xsZXIuY2FudmFzKVxuICAgICAgICB9XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5oYW5kbGVkIHRyYWNraW5nQmFja2VuZCAnICsgdHJhY2tpbmdCYWNrZW5kKVxuXG5cbiAgICAvLyBVUERBVEUgQ0FNRVJBXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgaWYgKGFyVG9vbGtpdENvbnRleHQuYXJDb250cm9sbGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjYW1lcmEucHJvamVjdGlvbk1hdHJpeC5jb3B5KGFyVG9vbGtpdENvbnRleHQuZ2V0UHJvamVjdGlvbk1hdHJpeCgpKTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3VuaGFuZGxlZCB0cmFja2luZ0JhY2tlbmQgJyArIHRyYWNraW5nQmFja2VuZClcbn1cblxuZXhwb3J0IGRlZmF1bHQgU291cmNlOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgQXJCYXNlQ29udHJvbHMgPSBmdW5jdGlvbihvYmplY3QzZCkge1xuXHR0aGlzLmlkID0gQXJCYXNlQ29udHJvbHMuaWQrK1xuXG5cdHRoaXMub2JqZWN0M2QgPSBvYmplY3QzZFxuXHR0aGlzLm9iamVjdDNkLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcblx0dGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcblxuXHQvLyBFdmVudHMgdG8gaG9ub3Jcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ2JlY2FtZVZpc2libGUnIH0pXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdtYXJrZXJWaXNpYmxlJyB9KVx0Ly8gcmVwbGFjZSBtYXJrZXJGb3VuZFxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVW5WaXNpYmxlJyB9KVxufVxuXG5BckJhc2VDb250cm9scy5pZCA9IDBcblxuQXJCYXNlQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlKTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRGdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBlcnJvciBjYXRjaGluZyBmdW5jdGlvbiBmb3IgdXBkYXRlKClcbiAqL1xuQXJCYXNlQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG5cdGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAneW91IG5lZWQgdG8gaW1wbGVtZW50IHlvdXIgb3duIHVwZGF0ZScpXG59XG5cbi8qKlxuICogZXJyb3IgY2F0Y2hpbmcgZnVuY3Rpb24gZm9yIG5hbWUoKVxuICovXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUubmFtZSA9IGZ1bmN0aW9uKCl7XG5cdGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAneW91IG5lZWQgdG8gaW1wbGVtZW50IHlvdXIgb3duIC5uYW1lKCknKVxuXHRyZXR1cm4gJ05vdCB5ZXQgaW1wbGVtZW50ZWQgLSBuYW1lKCknXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyQmFzZUNvbnRyb2xzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBBck1hcmtlckhlbHBlciA9IGZ1bmN0aW9uKG1hcmtlckNvbnRyb2xzKXtcblx0dGhpcy5vYmplY3QzZCA9IG5ldyBUSFJFRS5Hcm91cFxuXG5cdHZhciBtZXNoID0gbmV3IFRIUkVFLkF4ZXNIZWxwZXIoKVxuXHR0aGlzLm9iamVjdDNkLmFkZChtZXNoKVxuXG5cdHZhciB0ZXh0ID0gbWFya2VyQ29udHJvbHMuaWRcblx0Ly8gZGVidWdnZXJcblx0Ly8gdmFyIHRleHQgPSBtYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLnBhdHRlcm5Vcmwuc2xpY2UoLTEpLnRvVXBwZXJDYXNlKCk7XG5cblx0dmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICdjYW52YXMnICk7XG5cdGNhbnZhcy53aWR0aCA9ICA2NDtcblx0Y2FudmFzLmhlaWdodCA9IDY0O1xuXG5cdHZhciBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoICcyZCcgKTtcblx0dmFyIHRleHR1cmUgPSBuZXcgVEhSRUUuQ2FudmFzVGV4dHVyZSggY2FudmFzICk7XG5cblx0Ly8gcHV0IHRoZSB0ZXh0IGluIHRoZSBzcHJpdGVcblx0Y29udGV4dC5mb250ID0gJzQ4cHggbW9ub3NwYWNlJztcblx0Y29udGV4dC5maWxsU3R5bGUgPSAncmdiYSgxOTIsMTkyLDI1NSwgMC41KSc7XG5cdGNvbnRleHQuZmlsbFJlY3QoIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCApO1xuXHRjb250ZXh0LmZpbGxTdHlsZSA9ICdkYXJrYmx1ZSc7XG5cdGNvbnRleHQuZmlsbFRleHQodGV4dCwgY2FudmFzLndpZHRoLzQsIDMqY2FudmFzLmhlaWdodC80IClcblx0dGV4dHVyZS5uZWVkc1VwZGF0ZSA9IHRydWVcblxuXHQvLyB2YXIgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuQ3ViZUdlb21ldHJ5KDEsIDEsIDEpXG5cdHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDEsIDEpXG5cdHZhciBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG5cdFx0bWFwOiB0ZXh0dXJlLFxuXHRcdHRyYW5zcGFyZW50OiB0cnVlXG5cdH0pO1xuXHR2YXIgbWVzaCA9IG5ldyBUSFJFRS5NZXNoKGdlb21ldHJ5LCBtYXRlcmlhbClcblx0bWVzaC5yb3RhdGlvbi54ID0gLU1hdGguUEkvMlxuXG5cdHRoaXMub2JqZWN0M2QuYWRkKG1lc2gpXG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJNYXJrZXJIZWxwZXI7XG4iLCJpbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuXG4vKipcbiAqIC0gbGVycCBwb3NpdGlvbi9xdWF0ZXJuaW5vL3NjYWxlXG4gKiAtIG1pbkRlbGF5RGV0ZWN0ZWRcbiAqIC0gbWluRGVsYXlVbmRldGVjdGVkXG4gKiBAcGFyYW0ge1t0eXBlXX0gb2JqZWN0M2QgICBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0ge1t0eXBlXX0gcGFyYW1ldGVycyBbZGVzY3JpcHRpb25dXG4gKi9cbmNvbnN0IEFyU21vb3RoZWRDb250cm9scyA9IGZ1bmN0aW9uKG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHRcblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblx0XG5cdC8vIGNvcHkgcGFyYW1ldGVyc1xuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHRcblx0dGhpcy5fbGFzdExlcnBTdGVwQXQgPSBudWxsXG5cdHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPSBudWxsXG5cdHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblxuXHQvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG5cdHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzIHx8IHt9XG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBsZXJwIGNvZWZpY2llbnQgZm9yIHRoZSBwb3NpdGlvbiAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwUG9zaXRpb246IDAuOCxcblx0XHQvLyBsZXJwIGNvZWZpY2llbnQgZm9yIHRoZSBxdWF0ZXJuaW9uIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBRdWF0ZXJuaW9uOiAwLjIsXG5cdFx0Ly8gbGVycCBjb2VmaWNpZW50IGZvciB0aGUgc2NhbGUgLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFNjYWxlOiAwLjcsXG5cdFx0Ly8gZGVsYXkgZm9yIGxlcnAgZml4ZWQgc3RlcHMgLSBpbiBzZWNvbmRzIC0gZGVmYXVsdCB0byAxLzEyMFxuXHRcdGxlcnBTdGVwRGVsYXk6IDEvNjAsXG5cdFx0Ly8gbWluaW11bSBkZWxheSB0aGUgc3ViLWNvbnRyb2wgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB0aGlzIGNvbnRyb2xzIGJlY29tZSB2aXNpYmxlIC0gZGVmYXVsdCB0byAwIHNlY29uZHNcblx0XHRtaW5WaXNpYmxlRGVsYXk6IDAuMCxcblx0XHQvLyBtaW5pbXVtIGRlbGF5IHRoZSBzdWItY29udHJvbCBtdXN0IGJlIHVudmlzaWJsZSBiZWZvcmUgdGhpcyBjb250cm9scyBiZWNvbWUgdW52aXNpYmxlIC0gZGVmYXVsdCB0byAwIHNlY29uZHNcblx0XHRtaW5VbnZpc2libGVEZWxheTogMC4yLFxuXHR9XG5cdFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0c2V0UGFyYW1ldGVyc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0c2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuXHRmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpe1xuXHRcdGlmKCBwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQgKVx0cmV0dXJuXG5cdFx0Zm9yKCB2YXIga2V5IGluIHBhcmFtZXRlcnMgKXtcblx0XHRcdHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBclNtb290aGVkQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0dmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJTbW9vdGhlZENvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cbn1cblx0XG5BclNtb290aGVkQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggQXJCYXNlQ29udHJvbHMucHJvdG90eXBlICk7XG5BclNtb290aGVkQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gQXJTbW9vdGhlZENvbnRyb2xzO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24odGFyZ2V0T2JqZWN0M2Qpe1xuXHR2YXIgb2JqZWN0M2QgPSB0aGlzLm9iamVjdDNkXG5cdHZhciBwYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzXG5cdHZhciB3YXNWaXNpYmxlID0gb2JqZWN0M2QudmlzaWJsZVxuXHR2YXIgcHJlc2VudCA9IHBlcmZvcm1hbmNlLm5vdygpLzEwMDBcblxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRoYW5kbGUgb2JqZWN0M2QudmlzaWJsZSB3aXRoIG1pblZpc2libGVEZWxheS9taW5VbnZpc2libGVEZWxheVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlIClcdHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPSBudWxsXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSB0cnVlIClcdHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblxuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSAmJiB0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID09PSBudWxsIClcdHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPSBwcmVzZW50XG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSAmJiB0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPT09IG51bGwgKVx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gcHJlc2VudFxuXG5cdGlmKCB3YXNWaXNpYmxlID09PSBmYWxzZSAmJiB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSB0cnVlICl7XG5cdFx0dmFyIHZpc2libGVGb3IgPSBwcmVzZW50IC0gdGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdFxuXHRcdGlmKCB2aXNpYmxlRm9yID49IHRoaXMucGFyYW1ldGVycy5taW5WaXNpYmxlRGVsYXkgKXtcblx0XHRcdG9iamVjdDNkLnZpc2libGUgPSB0cnVlXG5cdFx0XHRzbmFwRGlyZWN0bHlUb1RhcmdldCgpXG5cdFx0fVxuXHRcdC8vIGNvbnNvbGUubG9nKCd2aXNpYmxlRm9yJywgdmlzaWJsZUZvcilcblx0fVxuXG5cdGlmKCB3YXNWaXNpYmxlID09PSB0cnVlICYmIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICl7XG5cdFx0dmFyIHVudmlzaWJsZUZvciA9IHByZXNlbnQgLSB0aGlzLl91bnZpc2libGVTdGFydGVkQXRcblx0XHRpZiggdW52aXNpYmxlRm9yID49IHRoaXMucGFyYW1ldGVycy5taW5VbnZpc2libGVEZWxheSApe1xuXHRcdFx0b2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXHRcdFx0XG5cdFx0fVxuXHR9XG5cdFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0YXBwbHkgbGVycCBvbiBwb3NpdG9uL3F1YXRlcm5pb24vc2NhbGVcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0Ly8gYXBwbHkgbGVycCBzdGVwcyAtIHJlcXVpcmUgZml4IHRpbWUgc3RlcHMgdG8gYmVoYXZlIHRoZSBzYW1lIG5vIG1hdHRlciB0aGUgZnBzXG5cdGlmKCB0aGlzLl9sYXN0TGVycFN0ZXBBdCA9PT0gbnVsbCApe1xuXHRcdGFwcGx5T25lU2xlcnBTdGVwKClcblx0XHR0aGlzLl9sYXN0TGVycFN0ZXBBdCA9IHByZXNlbnRcblx0fWVsc2V7XG5cdFx0dmFyIG5TdGVwc1RvRG8gPSBNYXRoLmZsb29yKCAocHJlc2VudCAtIHRoaXMuX2xhc3RMZXJwU3RlcEF0KS90aGlzLnBhcmFtZXRlcnMubGVycFN0ZXBEZWxheSApXG5cdFx0Zm9yKHZhciBpID0gMDsgaSA8IG5TdGVwc1RvRG87IGkrKyl7XG5cdFx0XHRhcHBseU9uZVNsZXJwU3RlcCgpXG5cdFx0XHR0aGlzLl9sYXN0TGVycFN0ZXBBdCArPSB0aGlzLnBhcmFtZXRlcnMubGVycFN0ZXBEZWxheVxuXHRcdH1cblx0fVxuXG5cdC8vIGRpc2FibGUgdGhlIGxlcnAgYnkgZGlyZWN0bHkgY29weWluZyB0YXJnZXRPYmplY3QzZCBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlXG5cdGlmKCBmYWxzZSApe1x0XHRcblx0XHRzbmFwRGlyZWN0bHlUb1RhcmdldCgpXG5cdH1cblxuXHQvLyB1cGRhdGUgdGhlIG1hdHJpeFxuXHR0aGlzLm9iamVjdDNkLnVwZGF0ZU1hdHJpeCgpXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGhvbm9yIGJlY2FtZVZpc2libGUvYmVjYW1lVW5WaXNpYmxlIGV2ZW50XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvLyBob25vciBiZWNhbWVWaXNpYmxlIGV2ZW50XG5cdGlmKCB3YXNWaXNpYmxlID09PSBmYWxzZSAmJiBvYmplY3QzZC52aXNpYmxlID09PSB0cnVlICl7XG5cdFx0dGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ2JlY2FtZVZpc2libGUnIH0pXG5cdH1cblx0Ly8gaG9ub3IgYmVjYW1lVW5WaXNpYmxlIGV2ZW50XG5cdGlmKCB3YXNWaXNpYmxlID09PSB0cnVlICYmIG9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICl7XG5cdFx0dGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ2JlY2FtZVVuVmlzaWJsZScgfSlcblx0fVxuXHRyZXR1cm5cblxuXHRmdW5jdGlvbiBzbmFwRGlyZWN0bHlUb1RhcmdldCgpe1xuXHRcdG9iamVjdDNkLnBvc2l0aW9uLmNvcHkoIHRhcmdldE9iamVjdDNkLnBvc2l0aW9uIClcblx0XHRvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkoIHRhcmdldE9iamVjdDNkLnF1YXRlcm5pb24gKVxuXHRcdG9iamVjdDNkLnNjYWxlLmNvcHkoIHRhcmdldE9iamVjdDNkLnNjYWxlIClcblx0fVx0XG5cdFxuXHRmdW5jdGlvbiBhcHBseU9uZVNsZXJwU3RlcCgpe1xuXHRcdG9iamVjdDNkLnBvc2l0aW9uLmxlcnAodGFyZ2V0T2JqZWN0M2QucG9zaXRpb24sIHBhcmFtZXRlcnMubGVycFBvc2l0aW9uKVxuXHRcdG9iamVjdDNkLnF1YXRlcm5pb24uc2xlcnAodGFyZ2V0T2JqZWN0M2QucXVhdGVybmlvbiwgcGFyYW1ldGVycy5sZXJwUXVhdGVybmlvbilcblx0XHRvYmplY3QzZC5zY2FsZS5sZXJwKHRhcmdldE9iamVjdDNkLnNjYWxlLCBwYXJhbWV0ZXJzLmxlcnBTY2FsZSlcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBBclNtb290aGVkQ29udHJvbHM7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfdGhyZWVfXzsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiLy8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbl9fd2VicGFja19yZXF1aXJlX18ubiA9IChtb2R1bGUpID0+IHtcblx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG5cdFx0KCkgPT4gKG1vZHVsZVsnZGVmYXVsdCddKSA6XG5cdFx0KCkgPT4gKG1vZHVsZSk7XG5cdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsIHsgYTogZ2V0dGVyIH0pO1xuXHRyZXR1cm4gZ2V0dGVyO1xufTsiLCIvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9ucyBmb3IgaGFybW9ueSBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSAoZXhwb3J0cywgZGVmaW5pdGlvbikgPT4ge1xuXHRmb3IodmFyIGtleSBpbiBkZWZpbml0aW9uKSB7XG5cdFx0aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5vKGRlZmluaXRpb24sIGtleSkgJiYgIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBrZXkpKSB7XG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZGVmaW5pdGlvbltrZXldIH0pO1xuXHRcdH1cblx0fVxufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scy1uZnQnOyAvLyBuZnQtc3BlY2lmaWNcbmltcG9ydCBBck1hcmtlckhlbHBlciBmcm9tICcuL3RocmVleC90aHJlZXgtYXJtYXJrZXJoZWxwZXInO1xuaW1wb3J0IEFyU21vb3RoZWRDb250cm9scyBmcm9tICcuL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzJztcbmltcG9ydCBBclRvb2xraXRDb250ZXh0IGZyb20gJy4vdGhyZWV4L2FyanMtY29udGV4dC1uZnQnOyAvLyBuZnQtc3BlY2lmaWNcbmltcG9ydCBBclRvb2xraXRQcm9maWxlIGZyb20gJy4vdGhyZWV4L2FyanMtcHJvZmlsZSc7XG5pbXBvcnQgQXJUb29sa2l0U291cmNlIGZyb20gJy4vdGhyZWV4L2FyanMtc291cmNlJztcbmltcG9ydCBBck11bHRpTWFya2VyQ29udHJvbHMgZnJvbSAnLi9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzJztcbmltcG9ydCBBck11bHRpTWFrZXJzTGVhcm5pbmcgZnJvbSAnLi9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWxlYXJuaW5nJzsgLy8gdHlwbyBpcyBzcHJlYWQgb3ZlciBjb2RlYmFzZVxuaW1wb3J0IEFyTXVsdGlNYXJrZXJVdGlscyBmcm9tICcuL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMnO1xuXG5leHBvcnQge1xuICBBck1hcmtlckNvbnRyb2xzLFxuICBBck1hcmtlckhlbHBlcixcbiAgQXJTbW9vdGhlZENvbnRyb2xzLFxuICBBclRvb2xraXRDb250ZXh0LFxuICBBclRvb2xraXRQcm9maWxlLFxuICBBclRvb2xraXRTb3VyY2UsXG4gIEFyTXVsdGlNYXJrZXJDb250cm9scyxcbiAgQXJNdWx0aU1ha2Vyc0xlYXJuaW5nLFxuICBBck11bHRpTWFya2VyVXRpbHNcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/three.js/build/ar-threex.js b/three.js/build/ar-threex.js new file mode 100644 index 00000000..d54e5c5f --- /dev/null +++ b/three.js/build/ar-threex.js @@ -0,0 +1,2810 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("three")); + else if(typeof define === 'function' && define.amd) + define(["three"], factory); + else if(typeof exports === 'object') + exports["THREEx"] = factory(require("three")); + else + root["THREEx"] = factory(root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { + +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEIaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEJaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEKaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUELaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEMaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUENaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEOaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEPaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEfciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAANJBEAgAyECDAELCwsgBiwABARAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBHQiCUECdGpBBDYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEENgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEENgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAARJBEAgAyECDAELCwsgBiwABQRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBA3QiBUECdGpBBTYCACAFIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogBUEBciIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEBaiIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDciIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEBaiIHQQJ0akEFNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUECaiIHQQJ0akEFNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDaiIJQQJ0akEFNgIAIAkgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHciIFQQJ0akEFNgIAIAUgBEGQCWpqIAMsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAVJBEAgAyECDAELCwsgBiwABgRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBAnQiA0ECdGpBBjYCACADIARBkAlqaiABIAZBEWpqIgUsAAA6AAAgBEGQAWogA0EBciIJQQJ0akEGNgIAIAkgBEGQCWpqIAUsAAA6AAAgBEGQAWogCUEBaiIJQQJ0akEGNgIAIAkgBEGQCWpqIAUsAAA6AAAgBEGQAWogA0EDciIDQQJ0akEGNgIAIAMgBEGQCWpqIAUsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAZJBEAgAyECDAELCwsgBiwABwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBAXQiA0ECdGpBBzYCACADIARBkAlqaiABIAZBEWpqIgUsAAA6AAAgBEGQAWogA0EBciIDQQJ0akEHNgIAIAMgBEGQCWpqIAUsAAA6AAAgAkEBaiEDIAFBAWohASACIAYtAAdJBEAgAyECDAELCwsgBiwACARAQQEhAgNAIARBkAFqIAFBAnQgCmooAgAiA0ECdGpBCDYCACADIARBkAlqaiABIAZBEWpqLAAAOgAAIAJBAWohAyABQQFqIQEgAiAGLQAISQRAIAMhAgwBCwsLIAwgCEEASnFFBEAgCiQGDwtBACEBA0AgASAGQRFqai0AAEEPSgRAIAAoAgAiAkEJNgIUIAIoAgAhAiALIAJB/wFxQawDahEBAAsgAUEBaiIBIAhHDQALIAokBgu8AQEFfwNAIARBA0cEQCAEQQV0IABqIQUgBEEFdCAAaiEGIARBBXQgAGohB0EAIQMDQCADQQRHBEAgBEEEdCACaiADQQJ0aiADQQJ0IAFqKgIAIAUrAwC2lCABQRBqIANBAnRqKgIAIAYrAwi2lJIgAUEgaiADQQJ0aioCACAHKwMQtpSSOAIAIANBAWohAwwBCwsgBEEEdCACaiIDIAMqAgwgBEEFdCAAaisDGLaSOAIMIARBAWohBAwBCwsL+lcDDn8DfQl8IwYhDSMGQYACaiQGIA1B0ABqIRIgDUGQAWoiD0QAAAAAAABZQDkDACAPRAAAAAAAAFlAOQMIIA9EAAAAAACAW0A5AxAgD0QAAAAAAABZQDkDGCAPRAAAAAAAgFtAOQMgIA9EAAAAAACAW0A5AyggD0QAAAAAAABZQDkDMCAPRAAAAAAAgFtAOQM4A0AgEEEERwRAIBBBBHQgEmogEEEEdCAJaisDADkDACAQQQR0IBJqIBBBBHQgCWorAwg5AwggEEEBaiEQDAELCyAPIBIgDRCJByASKwMAIh0gEisDECIeoSIfIB+iIBIrAwgiHyASKwMYIiChIiEgIaKgEHMhCSASKwMgIiEgEisDMCIioSIjICOiIBIrAygiIyASKwM4IiShIiUgJaKgEHMhEiAeICGhIh4gHqIgICAjoSIeIB6ioBBzIQ8gIiAdoSIdIB2iICQgH6EiHSAdoqAQcyEQIBIgCSASIAlKG7cgCqIgCqIQcyEVIBAgDyAQIA9KG7cgCqIgCqIQcyEQIAAEQCACIQkDQCAJQQF0IRIgCSAJQQJ0bCAVSCAJIANIcQRAIBIhCQwBCwsgAiESA0AgEkEBdCEPIBIgEkECdGwgEEggEiADSHEEQCAPIRIMAQsLBSACIQkDQCAJQQF0IRIgCSAJbCAVSCAJIANIcQRAIBIhCQwBCwsgAiESA0AgEkEBdCEPIBIgEmwgEEggEiADSHEEQCAPIRIMAQsLCyANQegBaiEMIA1B4AFqIQ4gDUHYAWohEyANQdABaiERIA1B8AFqIRAgDUHsAWohDyADIAkgCSADShsiCSACEDkhFSADIBIgEiADShsiAyACEDkhEkQAAAAAAADwPyAKoUQAAAAAAADgP6JEAAAAAAAAJECiIR0gCkQAAAAAAAAkQKIhCiACIAJsIRQCfwJAIAEEQCAUQQQQjQIiAUUEQEEAQQNBudgCIA4QPUEBEAELAkAgB0ECSQRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0CIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0GIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEDbCIMai0AACAEIAxBAWpqLQAAaiAEIAxBAmpqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAUgB0EBckEDRgRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMai0AACAEIAxBAXJqLQAAaiAEIAxBAnJqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgB0ECckEGRgRAIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMQQFyai0AACAEIAxBAnJqLQAAaiAEIAxBA3JqLQAAakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsCQAJAAkACQAJAAkACQCAHQQVrDgoABgECAwQFAAAABgsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQggHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQwgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqai0AACEMIAAgEhA5IAJsIAcgFRA5akECdCABaiIOIAwgDigCAGo2AgALCyAHQQFqIQcMAQsLIABBAWohAAwAAAsACyAdRAAAAAAAAFlAoCEeIAO3ISEgCbchIiANQUBrIRMgAEEBRiERQQAhAANAIAAgA04NByAeIAogALdEAAAAAAAA4D+goiAho6AhHUEAIQcDQCAHIAlIBEAgEysDACAeIAogB7dEAAAAAAAA4D+goiAio6AiHyANKwMwoiAdIA0rAziioKAiIEQAAAAAAAAAAGENCyAQIA0rAxAgHyANKwMAoiAdIA0rAwiioKAgIKO2Iho4AgAgDyANKwMoIB8gDSsDGKIgHSANKwMgoqCgICCjtiIbOAIAIAggGiAbIBAgDxBtGiAQKgIAIRogEQR/IBpDAACAP5IQQ0ECEDlBAXQhDCAPKgIAQwAAgD+SEENBAhA5QQF0BSAaQwAAAD+SEEMhDCAPKgIAQwAAAD+SEEMLIQ4gDEF/SgRAIAwgBUggDkF/SnEgDiAGSHEEQCAEIAwgBSAObGpBAXRBAXJqLQAAIQwgACASEDkgAmwgByAVEDlqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshEyAAQQFGIRFBACEAA0AgACADTg0GIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCATKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0KIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiARBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdGotAAAhDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQUgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQkgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B+AFxQQRyIA5BBXRB4AFxIAQgDEEBcmotAAAiDEEDdkEccXJBAnJqIAxBA3RB+AFxQQRyakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQQgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQggECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B+AFxQQRyIA5BBXRB4AFxIAQgDEEBcmotAAAiDEEDdkEYcXJBBHJqIAxBAnRB+AFxQQRyakEDEEghDCAAIBIQOSACbCAHIBUQOWpBAnQgAWoiDiAMIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayETIABBAUYhEUEAIQADQCAAIANODQMgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBMrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQcgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBEEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQF0IgxqLQAAIg5B8AFxQQhyIA5BBHRB8AFxQQhyaiAEIAxBAXJqLAAAQXBxQQhyQf8BcWpBAxBIIQwgACASEDkgAmwgByAVEDlqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALQQBBA0HyqAEgDBA9DAMLAAsgEiAVbCECQQAhAANAIAAgFEcEQCAAIAtqIABBAnQgAWooAgAgAhBIOgAAIABBAWohAAwBCwsFIBRBA2wiGEEEEI0CIgFFBEBBAEEDQbnYAiARED1BARABCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBw4PAAECAwQFBgcICQoLBQUFDAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQ0gHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDREgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQNsIgxBAmpqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAWpqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQwgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDRAgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQNsIgxqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAWpqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBAmpqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQsgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ8gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxBAnJqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAXJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQogHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ4gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAXJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBAnJqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQkgHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQ0gECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqQQJ0IgxBAXJqLQAAIREgACASEDkgAmwgByAVEDlqQQNsIg5BAnQgAWoiFiARIBYoAgBqNgIAIA5BAWpBAnQgAWoiESAEIAxBAnJqLQAAIBEoAgBqNgIAIA5BAmpBAnQgAWoiDiAEIAxBA3JqLQAAIA4oAgBqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAsgHUQAAAAAAABZQKAhHiADtyEhIAm3ISIgDUFAayEUIABBAUYhE0EAIQADQCAAIANODQggHiAKIAC3RAAAAAAAAOA/oKIgIaOgIR1BACEHA0AgByAJSARAIBQrAwAgHiAKIAe3RAAAAAAAAOA/oKIgIqOgIh8gDSsDMKIgHSANKwM4oqCgIiBEAAAAAAAAAABhDQwgECANKwMQIB8gDSsDAKIgHSANKwMIoqCgICCjtiIaOAIAIA8gDSsDKCAfIA0rAxiiIB0gDSsDIKKgoCAgo7YiGzgCACAIIBogGyAQIA8QbRogECoCACEaIBMEfyAaQwAAgD+SEENBAhA5QQF0IQwgDyoCAEMAAIA/khBDQQIQOUEBdAUgGkMAAAA/khBDIQwgDyoCAEMAAAA/khBDCyEOIAxBf0oEQCAMIAVIIA5Bf0pxIA4gBkhxBEAgBCAMIAUgDmxqai0AACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhEgDCARKAIAajYCACAOQQFqQQJ0IAFqIhEgDCARKAIAajYCACAOQQJqQQJ0IAFqIg4gDCAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0HIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0LIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakECdCIMQQNyai0AACERIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgESAWKAIAajYCACAOQQFqQQJ0IAFqIhEgBCAMQQJyai0AACARKAIAajYCACAOQQJqQQJ0IAFqIg4gBCAMQQFyai0AACAOKAIAajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshESAAQQFGIRZBACEAA0AgACADTg0GIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCARKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0KIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiAWBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgBSAObCIOIAxB/v8DcWpBAXQiFGotAABBgH9qsiEaIAQgFEECamotAABBgH9qsiEbIBpDThoBRJQgBCAMIA5qQQF0QQFyai0AAEFwarJDfwqVQ5QiHJIQQ0EIdSEMIBwgGkP+lMhClJMgG0O4HlBDlJMQQ0EIdSEOIBwgG0OgSsxDlJIQQ0EIdSEUIAAgEhA5IAJsIAcgFRA5akEDbCITQQJ0IAFqIhcgFygCACAMQQAgDEEAShsiDEH/ASAMQf8BSBtqNgIAIBNBAWpBAnQgAWoiDCAMKAIAIA5BACAOQQBKGyIOQf8BIA5B/wFIG2o2AgAgE0ECakECdCABaiIMIAwoAgAgFEEAIBRBAEobIgxB/wEgDEH/AUgbajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshESAAQQFGIRZBACEAA0AgACADTg0FIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCARKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0JIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiAWBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgBSAObCIOIAxB/v8DcWpBAXQiFEEBcmotAABBgH9qsiEaIAQgFEEDamotAABBgH9qsiEbIAQgDCAOakEBdGotAABBcGqyQ38KlUOUIhwgGkNOGgFElJIQQ0EIdSEMIBwgGkP+lMhClJMgG0O4HlBDlJMQQ0EIdSEOIBwgG0OgSsxDlJIQQ0EIdSEUIAAgEhA5IAJsIAcgFRA5akEDbCITQQJ0IAFqIhcgFygCACAMQQAgDEEAShsiDEH/ASAMQf8BSBtqNgIAIBNBAWpBAnQgAWoiDCAMKAIAIA5BACAOQQBKGyIOQf8BIA5B/wFIG2o2AgAgE0ECakECdCABaiIMIAwoAgAgFEEAIBRBAEobIgxB/wEgDEH/AUgbajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0EIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0IIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIRQQFyaiwAACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgFigCACAMQQN0Qf8BcUEEcmo2AgAgDkEBakECdCABaiIWIBYoAgAgBCARaiwAACIRQQV0Qf8BcSAMQeABcUEDdnJBAnJqNgIAIA5BAmpBAnQgAWoiDCAMKAIAIBFBeHFBBHJB/wFxajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0DIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0HIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIRQQFyaiwAACEMIAAgEhA5IAJsIAcgFRA5akEDbCIOQQJ0IAFqIhYgFigCACAMQQJ0Qf8BcUEEcmo2AgAgDkEBakECdCABaiIWIBYoAgAgBCARaiwAACIRQQV0Qf8BcSAMQcABcUEDdnJBBHJqNgIAIA5BAmpBAnQgAWoiDCAMKAIAIBFBeHFBBHJB/wFxajYCAAsLIAdBAWohBwwBCwsgAEEBaiEADAAACwALIB1EAAAAAAAAWUCgIR4gA7chISAJtyEiIA1BQGshFCAAQQFGIRNBACEAA0AgACADTg0CIB4gCiAAt0QAAAAAAADgP6CiICGjoCEdQQAhBwNAIAcgCUgEQCAUKwMAIB4gCiAHt0QAAAAAAADgP6CiICKjoCIfIA0rAzCiIB0gDSsDOKKgoCIgRAAAAAAAAAAAYQ0GIBAgDSsDECAfIA0rAwCiIB0gDSsDCKKgoCAgo7YiGjgCACAPIA0rAyggHyANKwMYoiAdIA0rAyCioKAgIKO2Ihs4AgAgCCAaIBsgECAPEG0aIBAqAgAhGiATBH8gGkMAAIA/khBDQQIQOUEBdCEMIA8qAgBDAACAP5IQQ0ECEDlBAXQFIBpDAAAAP5IQQyEMIA8qAgBDAAAAP5IQQwshDiAMQX9KBEAgDCAFSCAOQX9KcSAOIAZIcQRAIAQgDCAFIA5sakEBdCIOQQFyaiwAAEFwcUEIckH/AXEhESAAIBIQOSACbCAHIBUQOWpBA2wiDEECdCABaiIWIBEgFigCAGo2AgAgDEEBakECdCABaiIRIBEoAgAgBCAOaiwAACIOQQR0Qf8BcUEIcmo2AgAgDEECakECdCABaiIMIAwoAgAgDkFwcUEIckH/AXFqNgIACwsgB0EBaiEHDAELCyAAQQFqIQAMAAALAAtBAEEDQfKoASATED0MAgsgEiAVbCECQQAhAANAIAAgGEcEQCAAIAtqIABBAnQgAWooAgAgAhBIOgAAIABBAWohAAwBCwsLIAEQOEEADAELIAEQOEF/CyEZIA0kBiAZC6kBACAAIAEqAgCMOAIAIAAgASoCBIw4AgQgAEMAAIC/OAIIIABBDGoQwgMgACACKgIAIAEqAgCUOAIYIAAgAioCACABKgIElDgCHCAAIAIoAgA2AiAgAEEkahDCAyAAIAEqAgCMOAIwIAAgASoCBIw4AjQgAEMAAIC/OAI4IAAgAioCBCABKgIAlDgCPCAAQUBrIAIqAgQgASoCBJQ4AgAgACACKAIENgJECyQAIAAgASACEIUBQwAAAABeIAMgBCAFEIUBQwAAAABec0EBcwsMACAAIAEgACABXRsLIAAgACoCACABKgIElCAAKgIEIAEqAgCUk4tDAAAAP5QLTAECfyMGIQIjBkEgaiQGIAAoAgggACgCACIDa0EDdSABSQRAIAIgASAAKAIEIANrQQN1IABBCGoQiAIgACACEM0CIAIQzAILIAIkBgsHACAAQRBqCwkAIAAgARDbAwsMACAAIAFBAXE6AGQLKgAgAEEANgIAIABBADYCBCAAQQA2AgggAQRAIAAgARCdCCAAIAEQ9gMLCwwAIAAgASAAIAFIGwsVACAAQfyFATYCACAAQQRqIAEQ3gILowICBH8BfSMGIQMjBkEQaiQGIAJDAAAAAGBFBEAgA0HAyANBnZsCEDdBqJkCEDdB76ICEDdB6AEQPkH2ogIQN0G/mwIQNyIFIAUoAgBBdGooAgBqEDsgA0GAzgMQOiIGKAIAKAIcIQQgBkEKIARBP3FBigFqEQIAIQQgAxA8IAUgBBBAIAUQPxAACyAAKAIUsiACXgRAIAAqAhggAhDlBEEBIAF0spQhByADJAYgBw8FIANBwMgDQdabAhA3QaiZAhA3Qe+iAhA3QekBED5B9qICEDdBiZwCEDciBCAEKAIAQXRqKAIAahA7IANBgM4DEDoiASgCACgCHCEAIAFBCiAAQT9xQYoBahECACEAIAMQPCAEIAAQQCAEED8QAAtDAAAAAAtzAQF/IABBADYCDCAAIAM2AhAgAQRAIAFB/////wFLBEBBCBAFIgMQiAEgA0G0iwE2AgAgA0H49wBBFhAEBSABQQN0EFEhBAsLIAAgBDYCACAAIAJBA3QgBGoiAjYCCCAAIAI2AgQgACABQQN0IARqNgIMC0wBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AggLHAAgAEEARyABQQVJcQR/IAAgATYCGEEABUF/CwsIAEEOEAJBAAsIAEEIEAJBAAtXAQF/IAAEQCAAIAFsIQIgACABckH//wNLBEAgAkF/IAIgABBIIAFGGyECCwsgAhBEIgBFBEAgAA8LIABBfGooAgBBA3FFBEAgAA8LIABBACACEEUaIAALvAEBBX8jBiEDIwZBEGokBiADIAE2AgAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBAQshASADQQRqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQkQQgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgAkECdCAAaiIAIAMQbiAEQQA2AgAgAEEEaiAEEG4gAyQGCxIAIAAQOCABEDggAhA4IAMQOAsIAEH/////BwsFAEH/AAuJBgEIfyMGIQkjBkEQaiQGIAZBoM4DEDohCiAGQajOAxA6IgsoAgAoAhQhBiAJIAsgBkE/cUGyBWoRAwAgCSgCBCAJLAALIgZB/wFxIAZBAEgbBEAgBSADNgIAIAICfwJAAkAgACwAACIGQStrDgMAAQABCyAKKAIAKAIsIQcgCiAGIAdBP3FBigFqEQIAIQYgBSAFKAIAIgdBBGo2AgAgByAGNgIAIABBAWoMAQsgAAsiBmtBAUoEQCAGLAAAQTBGBEAgBiwAAUHYAGsiB0EAIAdBIEcbRQRAIAooAgAoAiwhByAKQTAgB0E/cUGKAWoRAgAhByAFIAUoAgAiCEEEajYCACAIIAc2AgAgCigCACgCLCEHIAogBiwAASAHQT9xQYoBahECACEHIAUgBSgCACIIQQRqNgIAIAggBzYCACAGQQJqIQYLCwsgAiAGRwRAAkAgAiEHIAYhCANAIAggB0F/aiIHTw0BIAgsAAAhDSAIIAcsAAA6AAAgByANOgAAIAhBAWohCAwAAAsACwsgCygCACgCECEHIAsgB0H/AHFBCGoRAAAhDSAGIQhBACEHQQAhCwNAIAggAkkEQCAHIAkoAgAgCSAJLAALQQBIG2osAAAiDEEARyALIAxGcQRAIAUgBSgCACILQQRqNgIAIAsgDTYCACAHIAcgCSgCBCAJLAALIgdB/wFxIAdBAEgbQX9qSWohB0EAIQsLIAooAgAoAiwhDCAKIAgsAAAgDEE/cUGKAWoRAgAhDCAFIAUoAgAiDkEEajYCACAOIAw2AgAgCEEBaiEIIAtBAWohCwwBCwsgBiAAa0ECdCADaiIHIAUoAgAiBkYEfyAHBQNAIAcgBkF8aiIGSQRAIAcoAgAhCCAHIAYoAgA2AgAgBiAINgIAIAdBBGohBwwBCwsgBSgCAAshBQUgCigCACgCMCEGIAogACACIAMgBkEPcUGKAmoRCQAaIAUgAiAAa0ECdCADaiIFNgIACyAEIAUgASAAa0ECdCADaiABIAJGGzYCACAJEEcgCSQGC4AGAQh/IwYhCSMGQRBqJAYgBkGAzgMQOiEKIAZBkM4DEDoiCygCACgCFCEGIAkgCyAGQT9xQbIFahEDACAJKAIEIAksAAsiBkH/AXEgBkEASBsEQCAFIAM2AgAgAgJ/AkACQCAALAAAIgZBK2sOAwABAAELIAooAgAoAhwhByAKIAYgB0E/cUGKAWoRAgAhBiAFIAUoAgAiB0EBajYCACAHIAY6AAAgAEEBagwBCyAACyIGa0EBSgRAIAYsAABBMEYEQCAGLAABQdgAayIHQQAgB0EgRxtFBEAgCigCACgCHCEHIApBMCAHQT9xQYoBahECACEHIAUgBSgCACIIQQFqNgIAIAggBzoAACAKKAIAKAIcIQcgCiAGLAABIAdBP3FBigFqEQIAIQcgBSAFKAIAIghBAWo2AgAgCCAHOgAAIAZBAmohBgsLCyACIAZHBEACQCACIQcgBiEIA0AgCCAHQX9qIgdPDQEgCCwAACENIAggBywAADoAACAHIA06AAAgCEEBaiEIDAAACwALCyALKAIAKAIQIQcgCyAHQf8AcUEIahEAACENIAYhCEEAIQdBACELA0AgCCACSQRAIAcgCSgCACAJIAksAAtBAEgbaiwAACIMQQBHIAsgDEZxBEAgBSAFKAIAIgtBAWo2AgAgCyANOgAAIAcgByAJKAIEIAksAAsiB0H/AXEgB0EASBtBf2pJaiEHQQAhCwsgCigCACgCHCEMIAogCCwAACAMQT9xQYoBahECACEMIAUgBSgCACIOQQFqNgIAIA4gDDoAACAIQQFqIQggC0EBaiELDAELCyADIAYgAGtqIgcgBSgCACIGRgR/IAcFA0AgByAGQX9qIgZJBEAgBywAACEIIAcgBiwAADoAACAGIAg6AAAgB0EBaiEHDAELCyAFKAIACyEFBSAKKAIAKAIgIQYgCiAAIAIgAyAGQQ9xQYoCahEJABogBSADIAIgAGtqIgU2AgALIAQgBSADIAEgAGtqIAEgAkYbNgIAIAkQRyAJJAYL7QEBBX8gAkGAEHEEQCAAQSs6AAAgAEEBaiEACyACQYAIcQRAIABBIzoAACAAQQFqIQALIAJBhAJxIgNBhAJGIgQEf0EABSAAQS46AAAgAEEqOgABIABBAmohAEEBCyEHIAJBgIABcSECA0AgASwAACIGBEAgACAGOgAAIAFBAWohASAAQQFqIQAMAQsLIAACfwJAAkAgA0EEayIBBEAgAUH8AUYEQAwCBQwDCwALIAJBCXZB/wFxQeYAcwwCCyACQQl2Qf8BcUHlAHMMAQsgAkEJdkH/AXEhASABQeEAcyABQecAcyAEGws6AAAgBwueCAENfyMGIRAjBkHwAGokBiAQIQkgAyACa0EMEDkiB0HkAEsEQCAHEEQiCQRAIAkiDSESBRAACwUgCSENCyACIQogDSEJA0AgAyAKRwRAIAosAAsiCEEASAR/IAooAgQFIAhB/wFxCwRAIAlBAToAAAUgCUECOgAAIAxBAWohDCAHQX9qIQcLIApBDGohCiAJQQFqIQkMAQsLIAwhCSAHIQwDQAJAIAAoAgAiCAR/IAgoAgwiByAIKAIQRgR/IAggCCgCACgCJEH/AHFBCGoRAAAFIAcoAgALQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQogASgCACIHBH8gBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8AcUEIahEAAAUgCCgCAAtBfxBBBH8gAUEANgIAQQAhB0EBBUEACwVBACEHQQELIRMgACgCACELIBMgCnMgDEEAR3FFDQAgCygCDCIHIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBygCAAshDyAGRQRAIAQgDyAEKAIAKAIcQT9xQYoBahECACEPCyARQQFqIQsgAiEIQQAhCiANIQ4gCSEHA0AgAyAIRwRAIA4sAABBAUYEQAJAIAgsAAtBAEgEfyAIKAIABSAICyARQQJ0aigCACEJIAYEfyAJBSAEIAkgBCgCACgCHEE/cUGKAWoRAgALIA9HBEAgDkEAOgAAIAxBf2ohDAwBCyAILAALIglBAEgEfyAIKAIEBSAJQf8BcQsgC0YEQCAOQQI6AAAgDEF/aiEMIAdBAWohBwtBASEKCwsgCEEMaiEIIA5BAWohDgwBCwsgCgRAAkAgACgCACIIKAIMIgkgCCgCEEYEQCAIIAgoAgAoAihB/wBxQQhqEQAAGgUgCCAJQQRqNgIMIAkoAgAaCyAHIAxqQQFLBEAgAiEKIA0hCQNAIAMgCkYNAiAJLAAAQQJGBEAgCiwACyIIQQBIBH8gCigCBAUgCEH/AXELIAtHBEAgCUEAOgAAIAdBf2ohBwsLIApBDGohCiAJQQFqIQkMAAALAAsLCyALIREgByEJDAELCyALBH8gCygCDCIEIAsoAhBGBH8gCyALKAIAKAIkQf8AcUEIahEAAAUgBCgCAAtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQshBAJAAkACQCAHRQ0AIAcoAgwiACAHKAIQRgR/IAcgBygCACgCJEH/AHFBCGoRAAAFIAAoAgALQX8QQQRAIAFBADYCAAwBBSAERQ0CCwwCCyAEDQAMAQsgBSAFKAIAQQJyNgIACwJAAkADQCACIANGDQEgDSwAAEECRwRAIAJBDGohAiANQQFqIQ0MAQsLDAELIAUgBSgCAEEEcjYCACADIQILIBIQOCAQJAYgAgurCAENfyMGIRAjBkHwAGokBiAQIQcgAyACa0EMEDkiCUHkAEsEQCAJEEQiBwRAIAciCyESBRAACwUgByELCyACIQcgCyEKA0AgAyAHRwRAIAcsAAsiDEEASAR/IAcoAgQFIAxB/wFxCwRAIApBAToAAAUgCkECOgAAIAlBf2ohCSAIQQFqIQgLIAdBDGohByAKQQFqIQoMAQsLIAkhCiAIIQkDQAJAIAAoAgAiBwR/IAcoAgwiCCAHKAIQRgR/IAcgBygCACgCJEH/AHFBCGoRAAAFIAgsAAAQQgtBfxBBBH8gAEEANgIAQQEFIAAoAgBFCwVBAQsCfyABKAIAIggEfyAIKAIMIgcgCCgCEEYEfyAIIAgoAgAoAiRB/wBxQQhqEQAABSAHLAAAEEILQX8QQQR/IAFBADYCAEEAIQhBAQVBAAsFQQAhCEEBCyETIAAoAgAhByATC3MgCkEAR3FFDQAgBygCDCIIIAcoAhBGBH8gByAHKAIAKAIkQf8AcUEIahEAAAUgCCwAABBCC0H/AXEhDiAGRQRAIAQgDiAEKAIAKAIMQT9xQYoBahECACEOCyAPQQFqIQwgAiEHQQAhCCALIQ0DQCADIAdHBEAgDSwAAEEBRgRAAkAgBywAC0EASAR/IAcoAgAFIAcLIA9qLAAAIREgDkH/AXEgBgR/IBEFIAQgESAEKAIAKAIMQT9xQYoBahECAAtB/wFxRwRAIA1BADoAACAKQX9qIQoMAQsgBywACyIIQQBIBH8gBygCBAUgCEH/AXELIAxGBEAgDUECOgAAIApBf2ohCiAJQQFqIQkLQQEhCAsLIAdBDGohByANQQFqIQ0MAQsLIAgEQAJAIAAoAgAiBygCDCIIIAcoAhBGBEAgByAHKAIAKAIoQf8AcUEIahEAABoFIAcgCEEBajYCDCAILAAAEEIaCyAJIApqQQFLBEAgAiEHIAshCANAIAMgB0YNAiAILAAAQQJGBEAgBywACyIPQQBIBH8gBygCBAUgD0H/AXELIAxHBEAgCEEAOgAAIAlBf2ohCQsLIAdBDGohByAIQQFqIQgMAAALAAsLCyAMIQ8MAQsLIAcEfyAHKAIMIgQgBygCEEYEfyAHIAcoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQR/IABBADYCAEEBBSAAKAIARQsFQQELIQACQAJAAkAgCEUNACAIKAIMIgQgCCgCEEYEfyAIIAgoAgAoAiRB/wBxQQhqEQAABSAELAAAEEILQX8QQQRAIAFBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBSAFKAIAQQJyNgIACwJAAkADfyACIANGDQEgCywAAEECRgR/IAIFIAJBDGohAiALQQFqIQsMAQsLIQMMAQsgBSAFKAIAQQRyNgIACyASEDggECQGIAMLiQEBAn8gACgCBCIBIAEoAgBBdGooAgBqIgEoAhgEQCABKAIQRQRAIAEoAgRBgMAAcQRAIAAoAgQiASABKAIAQXRqKAIAaigCGCIBKAIAKAIYIQIgASACQf8AcUEIahEAAEF/RgRAIAAoAgQiACAAKAIAQXRqKAIAaiIAIAAoAhBBAXIQ7gELCwsLCzwAIABBADoAACAAIAE2AgQgASABKAIAQXRqKAIAaiIBKAIQRQRAIAEoAkgiAQRAIAEQPwsgAEEBOgAACwsKACAAQQRqEJ0CCwoAIABBCGoQnQILBABBfwsDAAELMwAgAEGMjAE2AgAgABDQCyAAQRxqEDwgACgCIBA4IAAoAiQQOCAAKAIwEDggACgCPBA4C1UBA38gACgCBCIGQQh1IQUgBkEBcQRAIAIoAgAgBWooAgAhBQsgACgCACIAKAIAKAIYIQcgACABIAIgBWogA0ECIAZBAnEbIAQgB0E/cUGaBmoRBQALLgEBfyMGIQIjBkEQaiQGIAIgATYCAEGkiAEoAgAiASAAIAIQpQIaIAEQ8gQQAAt8AwF/AX4CfCMGIQMjBkGQAWokBiADQQBBkAEQRRogAyAANgIEIANBfzYCCCADIAA2AiwgA0F/NgJMIANCABCCASADIAJBARCSAyEGIAMpA3ggAygCBCADKAIIa6x8IQQgAQRAIAEgACAAIASnaiAEUBs2AgALIAMkBiAGCw0AIAAgASACQn8QhAML3wEBBn8jBiEGIwZB8AFqJAYgBiAANgIAIANBAUoEQAJAQQAgAWshCSADIQdBASEDIAAhBQNAIAUgACAJaiIAIAdBfmoiCkECdCAEaigCAGsiCCACQT9xQYoBahECAEF/SgRAIAUgACACQT9xQYoBahECAEF/Sg0CCyADQQJ0IAZqIQUgA0EBaiEDIAggACACQT9xQYoBahECAEF/SgR/IAUgCDYCACAIIQAgB0F/agUgBSAANgIAIAoLIgdBAUoEQCAGKAIAIQUMAQsLCwVBASEDCyABIAYgAxD/AiAGJAYLKQECfyMGIQQjBkEQaiQGIAQgAzYCACAAIAEgAiAEEKkBIQUgBCQGIAUL6hICFH8BfiMGIQ8jBkFAayQGIA9BKGohCiAPQTBqIRggD0E8aiEWIA9BOGoiDCABNgIAIABBAEchEiAPQShqIhUhEyAPQSdqIRdBACEBAkACQANAAkADQCAJQX9KBEAgAUH/////ByAJa0oEf0GkxQNBPTYCAEF/BSABIAlqCyEJCyAMKAIAIgssAAAiCEUNAyALIQECQAJAA0ACQAJAIAhBGHRBGHUiCARAIAhBJUcNAQwECwwBCyAMIAFBAWoiATYCACABLAAAIQgMAQsLDAELIAEhCANAIAgsAAFBJUcNASABQQFqIQEgDCAIQQJqIgg2AgAgCCwAAEElRg0ACwsgASALayEBIBIEQCAAIAsgARByCyABDQALIAwoAgAsAAEQigFFIQggDCAMKAIAIgEgCAR/QX8hDUEBBSABLAACQSRGBH8gASwAAUFQaiENQQEhBUEDBUF/IQ1BAQsLaiIBNgIAIAEsAAAiBkFgaiIIQR9LQQEgCHRBidEEcUVyBEBBACEIBUEAIQYDQCAGQQEgCHRyIQggDCABQQFqIgE2AgAgASwAACIGQWBqIgdBH0tBASAHdEGJ0QRxRXJFBEAgCCEGIAchCAwBCwsLIAZB/wFxQSpGBEAgDAJ/AkAgASwAARCKAUUNACAMKAIAIgcsAAJBJEcNACAHLAABQVBqQQJ0IARqQQo2AgAgBywAAUFQakEDdCADaikDAKchAUEBIQYgB0EDagwBCyAFBEBBfyEJDAMLIBIEQCACKAIAQQNqQXxxIgUoAgAhASACIAVBBGo2AgAFQQAhAQtBACEGIAwoAgBBAWoLIgU2AgBBACABayABIAFBAEgiARshECAIQYDAAHIgCCABGyEOIAYhCAUgDBCNAyIQQQBIBEBBfyEJDAILIAghDiAFIQggDCgCACEFCyAFLAAAQS5GBEACQCAFQQFqIQEgBSwAAUEqRwRAIAwgATYCACAMEI0DIQEgDCgCACEFDAELIAUsAAIQigEEQCAMKAIAIgUsAANBJEYEQCAFLAACQVBqQQJ0IARqQQo2AgAgBSwAAkFQakEDdCADaikDAKchASAMIAVBBGoiBTYCAAwCCwsgCARAQX8hCQwDCyASBEAgAigCAEEDakF8cSIFKAIAIQEgAiAFQQRqNgIABUEAIQELIAwgDCgCAEECaiIFNgIACwVBfyEBC0EAIQcDQCAFLAAAQb9/akE5SwRAQX8hCQwCCyAMIAVBAWoiBjYCACAFLAAAIAdBOmxqQY/WAGosAAAiEUH/AXEiBUF/akEISQRAIAUhByAGIQUMAQsLIBFFBEBBfyEJDAELIA1Bf0ohFAJAAkAgEUETRgRAIBQEQEF/IQkMBAsFAkAgFARAIA1BAnQgBGogBTYCACAKIA1BA3QgA2opAwA3AwAMAQsgEkUEQEEAIQkMBQsgCiAFIAIQjAMgDCgCACEGDAILCyASDQBBACEBDAELIA5B//97cSINIA4gDkGAwABxGyEFAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAGQX9qLAAAIgZBX3EgBiAGQQ9xQQNGIAdBAEdxGyIGQcEAaw44CQoHCgkJCQoKCgoKCgoKCgoKCAoKCgoLCgoKCgoKCgoJCgUDCQkJCgMKCgoKAAIBCgoGCgQKCgsKCwJAAkACQAJAAkACQAJAAkAgB0H/AXFBGHRBGHUOCAABAgMEBwUGBwsgCigCACAJNgIAQQAhAQwXCyAKKAIAIAk2AgBBACEBDBYLIAooAgAgCaw3AwBBACEBDBULIAooAgAgCTsBAEEAIQEMFAsgCigCACAJOgAAQQAhAQwTCyAKKAIAIAk2AgBBACEBDBILIAooAgAgCaw3AwBBACEBDBELQQAhAQwQC0H4ACEGIAFBCCABQQhLGyEBIAVBCHIhBQwJC0EAIQtBkP4CIQ4gASATIAopAwAgFRCEBSIHayIGQQFqIAVBCHFFIAEgBkpyGyEBDAsLIAopAwAiGUIAUwR/IApCACAZfSIZNwMAQQEhC0GQ/gIFIAVBgRBxQQBHIQtBkf4CQZL+AkGQ/gIgBUEBcRsgBUGAEHEbCyEODAgLQQAhC0GQ/gIhDiAKKQMAIRkMBwsgFyAKKQMAPAAAIBchBkEAIQtBkP4CIQ5BASEHIA0hBSATIQEMCgsgCigCACIFQZr+AiAFGyIGQQAgARCmAiIRRSEUQQAhC0GQ/gIhDiABIBEgBmsgFBshByANIQUgASAGaiARIBQbIQEMCQsgDyAKKQMAPgIwIA9BADYCNCAKIBg2AgBBfyELDAULIAEEQCABIQsMBQUgAEEgIBBBACAFEHVBACEBDAcLAAsgACAKKwMAIBAgASAFIAZBiQERIgAhAQwHCyALIQZBACELQZD+AiEOIAEhByATIQEMBQsgCikDACAVIAZBIHEQhQUhB0EAQQIgBUEIcUUgCikDAFByIg0bIQtBkP4CIAZBBHZBkP4CaiANGyEODAILIBkgFRC+ASEHDAELIAooAgAhBkEAIQECQAJAA0AgBigCACIHBEAgFiAHEIsDIgdBAEgiDSAHIAsgAWtLcg0CIAZBBGohBiALIAEgB2oiAUsNAQsLDAELIA0EQEF/IQkMBgsLIABBICAQIAEgBRB1IAEEQCAKKAIAIQZBACELA0AgBigCACIHRQ0DIAsgFiAHEIsDIgdqIgsgAUoNAyAGQQRqIQYgACAWIAcQciALIAFJDQALBUEAIQELDAELIAcgFSAKKQMAQgBSIg0gAUEAR3IiERshBiABIBMgB2sgDUEBc2oiByABIAdKG0EAIBEbIQcgBUH//3txIAUgAUF/ShshBSATIQEMAQsgAEEgIBAgASAFQYDAAHMQdSAQIAEgECABShshAQwBCyAAQSAgCyABIAZrIg0gByAHIA1IGyIRaiIHIBAgECAHSBsiASAHIAUQdSAAIA4gCxByIABBMCABIAcgBUGAgARzEHUgAEEwIBEgDUEAEHUgACAGIA0QciAAQSAgASAHIAVBgMAAcxB1CyAIIQUMAQsLDAELIABFBEAgBQR/QQEhAANAIABBAnQgBGooAgAiAQRAIABBA3QgA2ogASACEIwDIABBAWoiAEEKSQ0BQQEhCQwECwsDfyAAQQJ0IARqKAIABEBBfyEJDAQLIABBAWoiAEEKSQ0AQQELBUEACyEJCwsgDyQGIAkLCwAgACABIAIQhwUL/QEBA38gAUH/AXEhBAJAAkACQCACQQBHIgMgAEEDcUEAR3EEQCABQf8BcSEFA0AgBSAALQAARg0CIAJBf2oiAkEARyIDIABBAWoiAEEDcUEAR3ENAAsLIANFDQELIAFB/wFxIgEgAC0AAEYEQCACRQ0BDAILIARBgYKECGwhAwJAAkAgAkEDTQ0AA0AgAyAAKAIAcyIEQf/9+3dqIARBgIGChHhxQYCBgoR4c3FFBEAgAEEEaiEAIAJBfGoiAkEDSw0BDAILCwwBCyACRQ0BCwNAIAAtAAAgAUH/AXFGDQIgAkF/aiICRQ0BIABBAWohAAwAAAsAC0EAIQALIAALjwEBAn8gACAALABKIgEgAUH/AWpyOgBKIAAoAhQgACgCHEsEQCAAKAIkIQEgAEEAQQAgAUE/cUHKAWoRBAAaCyAAQQA2AhAgAEEANgIcIABBADYCFCAAKAIAIgFBBHEEfyAAIAFBIHI2AgBBfwUgACAAKAIsIAAoAjBqIgI2AgggACACNgIEIAFBG3RBH3ULC5EBAQN/An8CQCAAKAIUIAAoAhxNDQAgACgCJCEBIABBAEEAIAFBP3FBygFqEQQAGiAAKAIUDQBBfwwBCyAAKAIEIgEgACgCCCICSQRAIAAoAighAyAAIAEgAmusQQEgA0EDcUGmA2oRFAAaCyAAQQA2AhAgAEEANgIcIABBADYCFCAAQQA2AgggAEEANgIEQQALC4cBAQF/IAAEQAJ/IAAoAkxBf0wEQCAAEKgCDAELIAAQqAILIQAFQbCIASgCAAR/QbCIASgCABCpAgVBAAshABCrAigCACIBBEADQCABKAJMQX9KBH9BAQVBAAsaIAEoAhQgASgCHEsEQCABEKgCIAByIQALIAEoAjgiAQ0ACwtBqMUDEA4LIAAL+gEBA38gAUH/AXEiAgRAAkAgAEEDcQRAIAFB/wFxIQMDQCAALAAAIgRFIANBGHRBGHUgBEZyDQIgAEEBaiIAQQNxDQALCyACQYGChAhsIQMgACgCACICQf/9+3dqIAJBgIGChHhxQYCBgoR4c3FFBEADQCACIANzIgJB//37d2ogAkGAgYKEeHFBgIGChHhzcUUEQCAAQQRqIgAoAgAiAkH//ft3aiACQYCBgoR4cUGAgYKEeHNxRQ0BCwsLIAFB/wFxIQIDQCAAQQFqIQEgACwAACIDRSACQRh0QRh1IANGckUEQCABIQAMAQsLCwUgABBgIABqIQALIAALDABBqMUDEBpBsMUDCx8AIABB//8DcQR/QaTFAyAAQf//A3E2AgBBfwVBAAsL9AECCX8BfCABKAIIIgggAigCBEYEfyAAKAIEIgogASgCBEYEfyAAKAIIIgkgAigCCEYEfyAAKAIAIQADfyADIApIBH8gAyAIbCELQQAhBANAIAQgCUgEQCAARAAAAAAAAAAAOQMAIAIoAgAgBEEDdGohBSABKAIAIAtBA3RqIQZBACEHRAAAAAAAAAAAIQwDQCAHIAhIBEAgACAMIAYrAwAgBSsDAKKgIgw5AwAgCUEDdCAFaiEFIAZBCGohBiAHQQFqIQcMAQsLIARBAWohBCAAQQhqIQAMAQsLIANBAWohAwwBBUEACwsFQX8LBUF/CwVBfwsL8gIBA38gACgCBCEDIAFBAUsEQCAAKAIAIgJBDzYCFCACIAE2AhggACAAKAIAKAIAQf8BcUGsA2oRAQAFIAFBAUYEQCADKAJEIgIEQANAIAIoAigEQCACQQA2AiggACACQTBqIAIoAjhBP3FBsgVqEQMACyACKAIsIgINAAsLIANBADYCRCADKAJIIgIEQANAIAIoAigEQCACQQA2AiggACACQTBqIAIoAjhBP3FBsgVqEQMACyACKAIsIgINAAsLIANBADYCSAsLIANBPGogAUECdGoiACgCACECIABBADYCACACBEADQCACKAIAIQAgAigCCCACKAIEQRBqaiEEIAIQOCADIAMoAkwgBGs2AkwgAARAIAAhAgwBCwsLIANBNGogAUECdGoiACgCACEBIABBADYCACABRQRADwsDQCABKAIAIQAgASgCCCABKAIEQRBqaiECIAEQOCADIAMoAkwgAms2AkwgAARAIAAhAQwBCwsL9AEBBH8gACgCBCEEIAJB8JPr3ANLBEAgACgCACIDQTg2AhQgA0EDNgIYIAAgACgCACgCAEH/AXFBrANqEQEACyABQQFLBEAgACgCACIDQQ82AhQgAyABNgIYIAAgACgCACgCAEH/AXFBrANqEQEACyACQQggAkEHcSIDa0EAIAMbaiIDQRBqIgUQRCICRQRAIAAoAgAiBkE4NgIUIAZBBDYCGCAAIAAoAgAoAgBB/wFxQawDahEBAAsgBCAFIAQoAkxqNgJMIAIgBEE8aiABQQJ0aiIAKAIANgIAIAIgAzYCBCACQQA2AgggACACNgIAIAJBEGoL2gkBEX8gACgC5AMoAhghDCABKAIEIgggASgCACICTCABKAIIIgkgASgCDCIKSnIgASgCECIGIAEoAhQiB0pyBEAgAiEABQJAIAIhAANAAkAgAEECdCAMaigCACENIAkhAwNAIANBBnQgDWogBkEBdGohBSAGIQQDQCAFLgEADQIgBUECaiEFIARBAWohCyAEIAdIBEAgCyEEDAELCyADQQFqIQQgAyAKSARAIAQhAwwBCwsgAEEBaiEDIAAgCEgEQCADIQAMAgUgAiEADAMLAAsLIAEgADYCAAsLIAggAEwgCSAKSnIgBiAHSnJFBEACQCAIIQIDQAJAIAJBAnQgDGooAgAhDSAJIQMDQCADQQZ0IA1qIAZBAXRqIQUgBiEEA0AgBS4BAA0CIAVBAmohBSAEQQFqIQsgBCAHSARAIAshBAwBCwsgA0EBaiEEIAMgCkgEQCAEIQMMAQsLIAJBf2ohDiACIABMDQIgDiECDAELCyABIAI2AgQgAiEICwsgCCAASCAKIAlMciAGIAdKckUEQAJAIAkhAgNAAkAgACEDA0AgA0ECdCAMaigCACACQQZ0aiAGQQF0aiEFIAYhBANAIAUuAQANAiAFQQJqIQUgBEEBaiELIAQgB0gEQCALIQQMAQsLIANBAWohBCADIAhIBEAgBCEDDAELCyACQQFqIQ8gAiAKTg0CIA8hAgwBCwsgASACNgIIIAIhCQsLIAggAEggCiAJTHIgBiAHSnJFBEACQCAKIQIDQAJAIAAhAwNAIANBAnQgDGooAgAgAkEGdGogBkEBdGohBSAGIQQDQCAFLgEADQIgBUECaiEFIARBAWohCyAEIAdIBEAgCyEEDAELCyADQQFqIQQgAyAISARAIAQhAwwBCwsgAkF/aiEQIAIgCUwNAiAQIQIMAQsLIAEgAjYCDCACIQoLCyAIIABIIAcgBkxyIAogCUhyRQRAAkAgBiECA0ACQCAAIQMDQCADQQJ0IAxqKAIAIAkiBEEGdGogAkEBdGohBQNAIAUuAQANAiAEQQFqIQsgBUFAayEFIAQgCkgEQCALIQQMAQsLIANBAWohBCADIAhIBEAgBCEDDAELCyACQQFqIREgAiAHTg0CIBEhAgwBCwsgASACNgIQIAIhBgsLIAggAEggByAGTHIgCiAJSHJFBEACQCAHIQIDQAJAIAAhAwNAIANBAnQgDGooAgAgCSIEQQZ0aiACQQF0aiEFA0AgBS4BAA0CIARBAWohCyAFQUBrIQUgBCAKSARAIAshBAwBCwsgA0EBaiEEIAMgCEgEQCAEIQMMAQsLIAJBf2ohEiACIAZMDQIgEiECDAELCyABIAI2AhQgAiEHCwsgASAIIABrQQR0IgIgAmwgCiAJa0EMbCICIAJsaiAHIAZrQQN0IgIgAmxqNgIYIAggAEggCiAJSHIgByAGSHIEQCABQQA2AhwPC0EAIQMgACECA0AgAkECdCAMaigCACENIAMhACAJIQMDQCADQQZ0IA1qIAYiBEEBdGohBQNAIAAgBS4BAEEAR2ohACAEQQFqIQsgBUECaiEFIAQgB0gEQCALIQQMAQsLIANBAWohBCADIApIBEAgBCEDDAELCyACQQFqIQQgAiAISARAIAAhAyAEIQIMAQsLIAEgADYCHAuxAwEGfyAAKAIYIgIoAgQhASACKAIAIQQCQANAIAEEfyAEBSACKAIMIQEgACABQf8AcUEIahEAAEUNAiACKAIEIQEgAigCAAshAyABQX9qIQEgA0EBaiEEIAMsAABBf0cEQANAIAAoAtADIgMgAygCGEEBajYCGCACIAQ2AgAgAiABNgIEIAEEfyAEBSACKAIMIQEgACABQf8AcUEIahEAAEUNBCACKAIEIQEgAigCAAshAyABQX9qIQEgA0EBaiEEIAMsAABBf0cNAAsLA0AgAQR/IAQFIAIoAgwhASAAIAFB/wBxQQhqEQAARQ0DIAIoAgQhASACKAIACyEDIAFBf2ohASADQQFqIQQgAywAACIFQX9GDQALIAAoAtADIgYoAhghAyAFRQRAIAYgA0ECajYCGCACIAQ2AgAgAiABNgIEDAELCyAFQf8BcSEFIAMEQCAAKAIAIgZB9wA2AhQgBiADNgIYIAAoAgAgBTYCHCAAKAIAKAIEIQMgAEF/IANBP3FBsgVqEQMAIAAoAtADQQA2AhgLIAAgBTYCuAMgAiAENgIAIAIgATYCBEEBDwtBAAu4AQEFfwNAIARBA0cEQCAEQQR0IABqIQUgBEEEdCAAaiEGIARBBHQgAGohB0EAIQMDQCADQQRHBEAgBEEEdCACaiADQQJ0aiAFKgIAIANBAnQgAWoqAgCUIAYqAgQgAUEQaiADQQJ0aioCAJSSIAcqAgggAUEgaiADQQJ0aioCAJSSOAIAIANBAWohAwwBCwsgBEEEdCACaiIDIARBBHQgAGoqAgwgAyoCDJI4AgwgBEEBaiEEDAELCwu4AQEFfwNAIARBA0cEQCAEQQV0IABqIQUgBEEFdCAAaiEGIARBBXQgAGohB0EAIQMDQCADQQRHBEAgBEEFdCACaiADQQN0aiAFKwMAIANBA3QgAWorAwCiIAYrAwggAUEgaiADQQN0aisDAKKgIAcrAxAgAUFAayADQQN0aisDAKKgOQMAIANBAWohAwwBCwsgBEEFdCACaiIDIARBBXQgAGorAxggAysDGKA5AxggBEEBaiEEDAELCwtUAQJ/A0AgAkEDRwRAQQAhAQNAIAFBBEcEQCACQQV0QYCkA2ogAUEDdGogAkEFdCAAaiABQQN0aisDADkDACABQQFqIQEMAQsLIAJBAWohAgwBCwsLKAECfwJ/IwYhAyMGQRBqJAYgAEECQYyHAUHNtwJBASABEAkgAwskBgsoAQJ/An8jBiEDIwZBEGokBiAAQQNBwIcBQbzQAkEfIAEQCSADCyQGC/0FAQZ/IwYhCSMGQSBqJAYgCUEQaiEIIAJFBEAgCEHAyANBzpwCEDdB75wCEDdB76ICEDdB/wAQPkH2ogIQN0HgnQIQNyIFIAUoAgBBdGooAgBqEDsgCEGAzgMQOiIGKAIAKAIcIQcgBkEKIAdBP3FBigFqEQIAIQYgCBA8IAUgBhBAIAUQPxAACyADRQRAIAhBwMgDQfWdAhA3Qe+cAhA3Qe+iAhA3QYABED5B9qICEDdBl54CEDciBSAFKAIAQXRqKAIAahA7IAhBgM4DEDoiBigCACgCHCEHIAZBCiAHQT9xQYoBahECACEGIAgQPCAFIAYQQCAFED8QAAtBfyACSQRAIAhBwMgDQa2eAhA3Qe+cAhA3Qe+iAhA3QYEBED5B9qICEDdB0p4CEDciBSAFKAIAQXRqKAIAahA7IAhBgM4DEDoiBigCACgCHCEHIAZBCiAHQT9xQYoBahECACEGIAgQPCAFIAYQQCAFED8QAAsgBEUEQCAIQcDIA0H/ngIQN0HvnAIQN0HvogIQN0GCARA+QfaiAhA3QaOfAhA3IgUgBSgCAEF0aigCAGoQOyAIQYDOAxA6IgYoAgAoAhwhByAGQQogB0E/cUGKAWoRAgAhBiAIEDwgBSAGEEAgBRA/EAALIAlBCGohBSAAIAEQuQMgAiAEbGwiBjYCDCADIAZsIgYgACgCFEcEQCAGEFEhByAJQQA2AgAgCCAJKAIANgIAIAUgBxCoByAFKAIAIQcgBSAAKAIYNgIAIAAgBzYCGCAFKAIEIQcgBSAAKAIcNgIEIAAgBzYCHCAFEJUBIAAoAhhFBEAgCEHAyANBxZ8CEDdB75wCEDdB76ICEDdBlQEQPkH2ogIQN0HonwIQNyIFIAUoAgBBdGooAgBqEDsgCEGAzgMQOiIHKAIAKAIcIQogB0EKIApBP3FBigFqEQIAIQcgCBA8IAUgBxBAIAUQPxAACwsgACABNgIAIAAgAjYCBCAAIAM2AgggACAENgIQIAAgBjYCFCAJJAYLqQEBBH8gAAR/A0AgASAAKAIESARAIAAoAgggAUECdGooAgAEQCAAIAEQ0AYLIAFBAnQhA0EAIQIDQCACQQRHBEAgACgCDCACIANqIgRBAnRqKAIAEDggACgCFCAEQQJ0aigCABA4IAJBAWohAgwBCwsgAUEBaiEBDAELCyAAKAIMEDggACgCFBA4IAAoAggQOCAAKAIQEDggACgCGBA4IAAQOEEABUF/CxoLNAECfyMGIQEjBkEQaiQGIAEgACgCACgCABDGByABKAIAEIYBEIECIQIgARCVASABJAYgAgv3AQEBfyAEQQFGIQkgCEEARyEEAn8gAwR/IAkEfyAEBEAgACABIAIgCCAHEP0KDAMLIAYEfyAAIAEgAiAFIAcQ+gsFIAAgASACIAUgBxDHCwsFIAQEQCAAIAEgAiAIIAcQtAkMAwsgBgR/IAAgASACIAUgBxCyCgUgACABIAIgBSAHEOYJCwsFIAkEfyAEBEAgACABIAIgCCAHEIoHDAMLIAYEfyAAIAEgAiAFIAcQmggFIAAgASACIAUgBxDZBwsFIAQEQCAAIAEgAiAIIAcQkgUMAwsgBgR/IAAgASACIAUgBxC0BgUgACABIAIgBSAHENQFCwsLCwvGAwIIfwF+IwYhBCMGQUBrJAYgBEEIaiEHIARBOGohCiAEQTRqIQggBEEQaiEGIAIsAGQEQCAEIAAoAkw2AjAgBCACEMUBKAIANgIoIAQgAhDFASgCBDYCICAIIAQoAjA2AgAgCiAEKAIoNgIAIAcgBCgCIDYCACAAQcgAaiAIIAogBxDUBwUgBkEANgIAIAZBADYCBCAGQQA2AgggAiAGIAEgAxDTBwNAIAUgBigCBCAGKAIAIgJrQQJ1SQRAIAAgASAFQQJ0IAJqKAIAIAMQuwIgBUEBaiEFDAELCyAAKAJkIAAoAmhIBEAgASgCACICIAEoAgRHBEAgAigCACELIAEoAgQiBSABKAIAIglrIgJBCEoEQCAHIAkpAgAiDDcDACAJIAVBeGoiBSkCADcCACAFIAw3AgAgBCAJNgIsIAQgBTYCJCAEIAk2AhwgCCAEKAIsNgIAIAogBCgCJDYCACAHIAQoAhw2AgAgCCACQQN2QX9qIAcQvwMgASgCBCEFC0EAIQIDQCACQX9HBEAgAkF/aiECDAELCyABIAVBeGo2AgQgACAAKAJkQQFqNgJkIAAgASALIAMQuwILCyAGEFULIAQkBgtkAQJ/IABBAEcgAUEAR3EEfyAAQQxqQQBBgAgQRRogASAAKAIEIAAoAghsaiECA38gASACSQR/IABBDGogAS0AAEECdGoiAyADKAIAQQFqNgIAIAFBAWohAQwBBUEACwsFQX8LC1kBAX0gACACKgIIIAIqAgAgA5QgAioCBCAElJKSIAIqAiAgAioCGCADlCACKgIcIASUkpIiBZU4AgAgASACKgIUIAIqAgwgA5QgAioCECAElJKSIAWVOAIACzQAIAAgASkCADcCACAAIAEpAgg3AgggACABKQIQNwIQIAAgASkCGDcCGCAAIAEoAiA2AiALuAICBX8CfCMGIQcjBkEgaiQGIAdBCGohBiAHQRRqIgggBEEEdBBEIgo2AgAgCkUEQEEAQQNBudgCIAYQPUEBEAELIAdBEGohBiAIIARBGGwQRCIJNgIEIAlFBEBBAEEDQbnYAiAGED1BARABC0EAIQYDQCAGIARIBEAgBkEEdCAKaiAGQQR0IAJqKwMAOQMAIAZBBHQgCmogBkEEdCACaisDCDkDCCAGQRhsIAlqIAZBGGwgA2orAwA5AwAgBkEYbCAJaiAGQRhsIANqKwMIOQMIIAZBGGwgCWogBkEYbCADaisDEDkDECAGQQFqIQYMAQsLIAggBDYCCCAAKAIAIAggASAFIAcQ6gFBAEgEQCAHRAAAAACE15dBOQMACyAIKAIAEDggCCgCBBA4IAcrAwAhDCAHJAYgDAsHACAAQTxqC2UBBH8DQCAFIAJIBEAgAyADKAIAQf2HDWxBw72aAWoiBDYCACAEQRB2Qf//AXEgARBPQQJ0IABqIQQgBUECdCAAaiIGKAIAIQcgBiAEKAIANgIAIAQgBzYCACAFQQFqIQUMAQsLC50BAQV/IwYhAiMGQSBqJAZB/////wMgACgCBCAAKAIAa0ECdUEBaiIDSQRAEAAFIAIgAyAAKAIIIAAoAgAiBGsiBUEBdSIGIAYgA0kbQf////8DIAVBAnVB/////wFJGyAAKAIEIARrQQJ1IABBCGoQyAEgAigCCCABKAIANgIAIAIgAigCCEEEajYCCCAAIAIQ5AEgAhDHASACJAYLC6IEAgp/An0jBiEHIwZBIGokBiAHQQRqIQUgB0EQaiEJIAcgATYCACABKAIAIQMCQAJAIAAoAgQiBEUiCgRAQQAhAQwBBSAEIARBf2oiCHFFIgsEfyADIAhxBSADIARJBH8gAwUgAyAEEE4LCyIBQQJ0IAAoAgBqKAIAIgIEQANAIAIoAgAiAkUNAyADIAIoAgQiBkcEQCALBEAgBiAIcSEGBSAGIARPBEAgBiAEEE4hBgsLIAEgBkcNBAsgAyACKAIIRw0ACwUMAgsLDAELIAUgACADIAcQoQggACoCECIMIASzlCAAKAIMQQFqsyINXSAKcgRAAn8gACANIAyVjRCSASICIARBf2ogBHFBAEcgBEEDSXIgBEEBdHIiASABIAJJGxDFAiAAKAIEIgJBf2ohASABIANxIAEgAnFFDQAaIAMgAkkEfyADBSADIAIQTgsLIQEFIAQhAgsgACgCACABQQJ0aigCACIDBH8gBSgCACADKAIANgIAIAMgBSgCADYCACAFBSAFKAIAIAAoAgg2AgAgACAFKAIANgIIIAAoAgAgAUECdGogAEEIajYCACAFKAIAIgYoAgAiAQRAIAEoAgQhASACIAJBf2oiA3EEQCABIAJPBEAgASACEE4hAQsFIAEgA3EhAQsgACgCACABQQJ0aiAGNgIACyAFCyIBKAIAIQIgACAAKAIMQQFqNgIMIAFBADYCAAsgByQGIAJBDGoLUwEDfyAAQegAaiEDA0AgAiAAKAJsIAMoAgAiAWtBAnVJBEAgAkECdCABaigCACIBBEAgARDEAiABEDgLIAJBAWohAgwBCwsgAEH0AGoQVSADEFULlwEBAn8gAUEBRgRAQQIhAQUgASABQX9qcQRAIAEQ0QEhAQsLIAEgACgCBCIDSwRAIAAgARDiAwUgASADSQRAIAAoAgyzIAAqAhCVjRCSASECIANBf2ogA3FFIANBAktxBH8gAkEBQSAgAkF/amdrdCACQQJJGwUgAhDRAQsiAiABIAEgAkkbIgEgA0kEQCAAIAEQ4gMLCwsLEwAgAEHshQE2AgAgAEEEahDSAgslACAAQdyFATYCACAAQThqEFUgAEEsahBVIABBIGoQVSAAEMYCCw0AIAAoAgAgAUEFdGoL3gMBA38jBiEIIwZBEGokBiAGQQBKBEAgBkEBaiAFKAIESQRAIAdBf2ohCSAHQQBKBEAgB0EBaiIKIAUoAghJBEAgBSAJEFAgBkECdGohCSAFIAcQUCAGQQJ0aiEHIAUgChBQIAZBAnRqIQUgACAHKgIEIAdBfGoiACoCAJNDAAAAP5Q4AgAgASAFKgIAIAkqAgCTQwAAAD+UOAIAIAIgByoCBCAAKgIAIAcqAgBDAAAAQJSTkjgCACADIAUqAgAgCSoCACAHKgIAQwAAAECUk5I4AgAgBCAJQXxqKgIAIAUqAgSSIAkqAgQgBUF8aioCAJKTQwAAgD6UOAIAIAgkBg8LCyAIQcDIA0G52AEQN0HOywEQN0HvogIQN0GdAhA+QfaiAhA3QdTPARA3IgAgACgCAEF0aigCAGoQOyAIQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAIEDwgACABEEAgABA/EAALCyAIQcDIA0GB2AEQN0HOywEQN0HvogIQN0GcAhA+QfaiAhA3QYnPARA3IgAgACgCAEF0aigCAGoQOyAIQYDOAxA6IgEoAgAoAhwhAiABQQogAkE/cUGKAWoRAgAhASAIEDwgACABEEAgABA/EAALDQAgACAClCABIAGUkws6AQJ9QwAAgD9BASAEdLKVIgVDAAAAP5RDAAAAv5IhBiAAIAUgApQgBpI4AgAgASAFIAOUIAaSOAIACz8BAn8gACgCBCECIAAoAgghAQNAIAEgAkcEQCAAIAFBeGoiATYCCAwBCwsgACgCACIBBEAgACgCDBogARA4CwuXAQEEfyABQQRqIgMoAgBBACAAKAIEIAAoAgAiBGsiBUEDdWtBA3RqIQIgAyACNgIAIAVBAEoEQCACIAQgBRBMGiADKAIAIQILIAAoAgAhBCAAIAI2AgAgAyAENgIAIAAoAgQhAiAAIAEoAgg2AgQgASACNgIIIAAoAgghAiAAIAEoAgw2AgggASACNgIMIAEgAygCADYCAAs/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQVxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLlwEBBH8gAUEEaiIDKAIAIQIgAyAAKAIEIAAoAgAiBGsiBUFcEDlBJGwgAmoiAjYCACAFQQBKBEAgAiAEIAUQTBogAygCACECCyAAKAIAIQQgACACNgIAIAMgBDYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAMoAgA2AgALcgEBfyAAQQA2AgwgACADNgIQIAEEQCABQcfj8ThLBEBBCBAFIgMQiAEgA0G0iwE2AgAgA0H49wBBFhAEBSABQSRsEFEhBAsLIAAgBDYCACAAIAJBJGwgBGoiAjYCCCAAIAI2AgQgACABQSRsIARqNgIMC04BAn8jBiECIwZBIGokBiAAKAIIIAAoAgAiA2tBJBA5IAFJBEAgAiABIAAoAgQgA2tBJBA5IABBCGoQ0AIgACACEM8CIAIQzgILIAIkBgtAAQJ/IAAoAgAiAgRAIAAoAgQhAQNAIAEgAkcEQCABQWBqIgEQ3QEMAQsLIAAgAjYCBCAAKAIIGiAAKAIAEDgLCz8BAn8gACgCACICBEAgACgCBCEBA0AgASACRwRAIAFBdGoiARBVDAELCyAAIAI2AgQgACgCCBogACgCABA4CwtdAQN/IAAoAgQiBCAAKAIAIgJrQQV1IgMgAUkEQCAAIAEgA2sQjAkFIAMgAUsEQCABQQV0IAJqIQIgBCEBA0AgASACRwRAIAFBYGoiARDdAQwBCwsgACACNgIECwsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQdWq1aoBSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUEMbBBRIQQLCyAAIAQ2AgAgACACQQxsIARqIgI2AgggACACNgIEIAAgAUEMbCAEajYCDAs/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQX9qIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLjgEBBH8gAUEEaiIDKAIAIAAoAgQgACgCACIEayIFayECIAMgAjYCACAFQQBKBEAgAiAEIAUQTBogAygCACECCyAAKAIAIQQgACACNgIAIAMgBDYCACAAKAIEIQIgACABKAIINgIEIAEgAjYCCCAAKAIIIQIgACABKAIMNgIIIAEgAjYCDCABIAMoAgA2AgALQAAgAEEANgIMIAAgAzYCECAAIAEEfyABEFEFQQALIgM2AgAgACACIANqIgI2AgggACACNgIEIAAgASADajYCDAs9AQJ/IAAoAgAiAgRAIAAoAgQhAQNAIAEgAkcEQCABQWxqIQEMAQsLIAAgAjYCBCAAKAIIGiAAKAIAEDgLC9QCAgZ/An0jBiEGIwZBIGokBiAGQRRqIQcgBkEQaiEJIAZBDGohCyAGQQhqIQggBkEEaiEKIAQqAgghDCAEKgIMIQ0gBQJ/AkACQAJAIAFFDQAgACABIAwgDSAHIAgQ5QFBAEgNACAFIAcqAgAQQzYCACAFIAgqAgAQQzYCBCACRQ0BIAAgAiAMIA0gCSAKEOUBQQBIDQEgBSAHKgIAQwAAAECUIAkqAgCTEEM2AgggBSAIKgIAQwAAAECUIAoqAgCTEEM2AgwgA0UNAiAAIAMgDCANIAsgBhDlAUEASA0CIAUgCyoCACAHKgIAQwAAQECUIAkqAgBDAABAQJSTkhBDNgIQIAYqAgAgCCoCAEMAAEBAlCAKKgIAQwAAQECUk5IQQwwDCyAFQX82AgAgBUF/NgIECyAFQX82AgggBUF/NgIMCyAFQX82AhBBfws2AhQgBiQGC04BAn0gASoCACAAKgIAkyIEIASUIAEqAgQgACoCBJMiBCAElJKRIgVDAAAAAFwEQCACIAQgBZU4AgAgAyABKgIAIAAqAgCTIAWVOAIACwsGAEEaEAILpwEBAn9BbyABayACSQRAEAALIAAsAAtBAEgEfyAAKAIABSAACyEFIAFB5////wdJBH9BCyABQQF0IgYgASACaiICIAIgBkkbIgJBEGpBcHEgAkELSRsFQW8LIgYQUSECIAQEQCACIAUgBBCoAQsgAyAEayIDBEAgAiAEaiAEIAVqIAMQqAELIAFBCkcEQCAFEDgLIAAgAjYCACAAIAZBgICAgHhyNgIICz4AIABCADcCACAAQQA2AgggASwAC0EASARAIAAgASgCACABKAIEEH4FIAAgASkCADcCACAAIAEoAgg2AggLCwQAQQELCgAgABA4IAEQOAsLACAEIAI2AgBBAwsfAQF/IAAoAgAiAQR/IAEQOCAAQQA2AgBBAAVBfwsaC6MBAQN/QYgBEEQiAQRAA0AgAkEDRwRAQQAhAwNAIANBBEcEQCACQQV0IAFqIANBA3RqIAJBBXQgAGogA0EDdGorAwA5AwAgA0EBaiEDDAELCyACQQFqIQIMAQsLIAFBCjYCYCABRAAAAKCZmbk/OQNoIAFEAAAAgBSu7z85A3AgAUQAAAAAAAAQQDkDeCABRAAAAAAAAOA/OQOAAQVBACEBCyABC78EAQF/IAAgBUYEfyABLAAABH8gAUEAOgAAIAQgBCgCACIAQQFqNgIAIABBLjoAACAHKAIEIAcsAAsiAEH/AXEgAEEASBsEQCAJKAIAIgAgCGtBoAFIBEAgCigCACEBIAkgAEEEajYCACAAIAE2AgALC0EABUF/CwUCfyAAIAZGBEAgBygCBCAHLAALIgVB/wFxIAVBAEgbBEBBfyABLAAARQ0CGkEAIAkoAgAiACAIa0GgAU4NAhogCigCACEBIAkgAEEEajYCACAAIAE2AgAgCkEANgIAQQAMAgsLIAtBgAFqIQxBACEFA38gBUEgRgR/IAwFIAVBAWohBiAAIAVBAnQgC2oiBSgCAEYEfyAFBSAGIQUMAgsLCyALayIAQfwASgR/QX8FIABBAnVB8O8AaiwAACEFAkACQAJAAkAgAEGof2oiBkECdiAGQR50cg4EAQEAAAILIAQoAgAiACADRwRAQX8gAEF/aiwAAEHfAHEgAiwAAEH/AHFHDQUaCyAEIABBAWo2AgAgACAFOgAAQQAMBAsgAkHQADoAAAwBCyAFQd8AcSIDIAIsAABGBEAgAiADQYABcjoAACABLAAABEAgAUEAOgAAIAcoAgQgBywACyIBQf8BcSABQQBIGwRAIAkoAgAiASAIa0GgAUgEQCAKKAIAIQIgCSABQQRqNgIAIAEgAjYCAAsLCwsLIAQgBCgCACIBQQFqNgIAIAEgBToAACAAQdQATARAIAogCigCAEEBajYCAAtBAAsLCwukAQECfyMGIQUjBkEQaiQGIAUgARA7IAVBoM4DEDoiASgCACgCMCEGIAFB8O8AQZDwACACIAZBD3FBigJqEQkAGiAFQajOAxA6IgEoAgAoAgwhAiADIAEgAkH/AHFBCGoRAAA2AgAgASgCACgCECECIAQgASACQf8AcUEIahEAADYCACABKAIAKAIUIQIgACABIAJBP3FBsgVqEQMAIAUQPCAFJAYLUgICfwF8IAAoAgQiAyABKAIERwRAQQAQAQsDQCACIANIBEAgBCAAKAIAIAJBA3RqKwMAIAEoAgAgAkEDdGorAwCioCEEIAJBAWohAgwBCwsgBAs3AQJ/QQgQRCIBBEAgASAAQQN0EEQiAjYCACACBEAgASAANgIEBSABEDhBACEBCwVBACEBCyABC9UEAQF/IABB/wFxIAVB/wFxRgR/IAEsAAAEfyABQQA6AAAgBCAEKAIAIgBBAWo2AgAgAEEuOgAAIAcoAgQgBywACyIAQf8BcSAAQQBIGwRAIAkoAgAiACAIa0GgAUgEQCAKKAIAIQEgCSAAQQRqNgIAIAAgATYCAAsLQQAFQX8LBQJ/IABB/wFxIAZB/wFxRgRAIAcoAgQgBywACyIFQf8BcSAFQQBIGwRAQX8gASwAAEUNAhpBACAJKAIAIgAgCGtBoAFODQIaIAooAgAhASAJIABBBGo2AgAgACABNgIAIApBADYCAEEADAILCyALQSBqIQxBACEFA38gBUEgRgR/IAwFIAVBAWohBiAFIAtqIgUtAAAgAEH/AXFGBH8gBQUgBiEFDAILCwsgC2siBUEfSgR/QX8FIAVB8O8AaiwAACEAAkACQAJAIAVBFmsOBAEBAAACCyAEKAIAIgEgA0cEQEF/IAFBf2osAABB3wBxIAIsAABB/wBxRw0EGgsgBCABQQFqNgIAIAEgADoAAEEADAMLIAJB0AA6AAAgBCAEKAIAIgFBAWo2AgAgASAAOgAAQQAMAgsgAEHfAHEiAyACLAAARgRAIAIgA0GAAXI6AAAgASwAAARAIAFBADoAACAHKAIEIAcsAAsiAUH/AXEgAUEASBsEQCAJKAIAIgEgCGtBoAFIBEAgCigCACECIAkgAUEEajYCACABIAI2AgALCwsLIAQgBCgCACIBQQFqNgIAIAEgADoAAEEAIAVBFUoNARogCiAKKAIAQQFqNgIAQQALCwsLpAEBAn8jBiEFIwZBEGokBiAFIAEQOyAFQYDOAxA6IgEoAgAoAiAhBiABQfDvAEGQ8AAgAiAGQQ9xQYoCahEJABogBUGQzgMQOiIBKAIAKAIMIQIgAyABIAJB/wBxQQhqEQAAOgAAIAEoAgAoAhAhAiAEIAEgAkH/AHFBCGoRAAA6AAAgASgCACgCFCECIAAgASACQT9xQbIFahEDACAFEDwgBSQGCwsAIAAQmQIgABA4CwsAIAAQmgIgABA4CwsAIAAQ0AQgABA4CwsAIAAQ1gQgABA4CxMAIAAgA6IgASAEoqAgAiAFoqALVwEDfyAAKAIEIgdBCHUhBiAHQQFxBEAgAygCACAGaigCACEGCyAAKAIAIgAoAgAoAhQhCCAAIAEgAiADIAZqIARBAiAHQQJxGyAFIAhBB3FB2gZqEQwACxQAIAAgAKIgASABoqAgAiACoqCfC6cBACAAQQE6ADUgAiAAKAIERgRAAkAgAEEBOgA0IAAoAhAiAkUEQCAAIAE2AhAgACADNgIYIABBATYCJCAAKAIwQQFGIANBAUZxRQ0BIABBAToANgwBCyABIAJHBEAgACAAKAIkQQFqNgIkIABBAToANgwBCyAAKAIYIgFBAkYEQCAAIAM2AhgFIAEhAwsgACgCMEEBRiADQQFGcQRAIABBAToANgsLCwsfACABIAAoAgRGBEAgACgCHEEBRwRAIAAgAjYCHAsLC14BAX8gACgCECIDBEACQCABIANHBEAgACAAKAIkQQFqNgIkIABBAjYCGCAAQQE6ADYMAQsgACgCGEECRgRAIAAgAjYCGAsLBSAAIAE2AhAgACACNgIYIABBATYCJAsL5AICAn8CfSAAvCIBQR92IQIgAUH/////B3EiAUH////jBEsEQCAAQ9oPyb9D2g/JPyACGyABQYCAgPwHSxsPCyABQYCAgPcDSQRAIAFBgICAzANJBH8gAA8FQX8LIQEFIACLIQAgAUGAgOD8A0kEfSABQYCAwPkDSQR9QQAhASAAQwAAAECUQwAAgL+SIABDAAAAQJKVBUEBIQEgAEMAAIC/kiAAQwAAgD+SlQsFIAFBgIDwgARJBH1BAiEBIABDAADAv5IgAEMAAMA/lEMAAIA/kpUFQQMhAUMAAIC/IACVCwshAAsgACAAlCIEIASUIQMgBCADIANDJax8PZRDDfURPpKUQ6mqqj6SlCEEIANDmMpMviADQ0cS2j2Uk5QhAyABQQBIBH0gACAAIAMgBJKUkwUgAUECdEHQ7ABqKgIAIAAgAyAEkpQgAUECdEHg7ABqKgIAkyAAk5MiACAAjCACRRsLC/wCAgN/AXwjBiEDIwZBEGokBiAAvCIBQR92IQIgAUH/////B3EiAUHbn6T6A0kEQCABQYCAgMwDTwRAIAC7EJEBIQALBQJ9IAFB0qftgwRJBEAgAkEARyECIAC7IQQgAUHkl9uABE8EQEQYLURU+yEJQEQYLURU+yEJwCACGyAEoJoQkQEMAgsgAgRAIAREGC1EVPsh+T+gEJABjAwCBSAERBgtRFT7Ifm/oBCQAQwCCwALIAFB1uOIhwRJBEAgAkEARyECIAC7IQQgAUHg27+FBE8EQEQYLURU+yEZQEQYLURU+yEZwCACGyAEoBCRAQwCCyACBEAgBETSITN/fNkSQKAQkAEMAgUgBETSITN/fNkSwKAQkAGMDAILAAsgACAAkyABQf////sHSw0AGgJAAkACQAJAIAAgAxD6AkEDcQ4DAAECAwsgAysDABCRAQwDCyADKwMAEJABDAILIAMrAwCaEJEBDAELIAMrAwAQkAGMCyEACyADJAYgAAv/AgMDfwF9AXwjBiEDIwZBEGokBiAAvCIBQR92IQIgAUH/////B3EiAUHbn6T6A0kEfSABQYCAgMwDSQR9QwAAgD8FIAC7EJABCwUCfSABQdKn7YMESQRAIAJBAEchAiAAuyEFIAFB45fbgARLBEBEGC1EVPshCUBEGC1EVPshCcAgAhsgBaAQkAGMDAILIAIEQCAFRBgtRFT7Ifk/oBCRAQwCBUQYLURU+yH5PyAFoRCRAQwCCwALIAFB1uOIhwRJBEAgAkEARyECIAFB39u/hQRLBEBEGC1EVPshGUBEGC1EVPshGcAgAhsgALugEJABDAILIAIEQCAAjLtE0iEzf3zZEsCgEJEBDAIFIAC7RNIhM3982RLAoBCRAQwCCwALIAAgAJMgAUH////7B0sNABoCQAJAAkACQCAAIAMQ+gJBA3EOAwABAgMLIAMrAwAQkAEMAwsgAysDAJoQkQEMAgsgAysDABCQAYwMAQsgAysDABCRAQsLIQQgAyQGIAQLdwEBfwJAAkAgAA0AQcTFAygCACIADQBBACEADAELIAAQ9wQgAGoiACwAAEUEQEHExQNBADYCAEEAIQAMAQtBxMUDIAAQ7QQgAGoiATYCACABLAAABEBBxMUDIAFBAWo2AgAgAUEAOgAABUHExQNBADYCAAsLIAALKgEBfiAAKAJMGiAAEO8EIgFC/////wdVBH9BpMUDQT02AgBBfwUgAacLCx4AIAAoAkwaIABCAEEAEIkDIAAgACgCAEFfcTYCAAvwAQIGfwJ8IwYhAyMGQRBqJAYgA0EIaiEEIAC8IgVB/////wdxIgJB25+k7gRJBH8gALsiCESDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIJEHMhBiABIAggCUQAAABQ+yH5P6KhIAlEY2IaYbQQUT6ioTkDACAGBQJ/IAJB////+wdLBEAgASAAIACTuzkDAEEADAELIAQgAiACQRd2Qep+aiICQRd0a767OQMAIAQgAyACQQFBABD7AiECIAMrAwAhCCAFQQBIBH8gASAImjkDAEEAIAJrBSABIAg5AwAgAgsLCyEHIAMkBiAHC4MRAhZ/A3wjBiENIwZBsARqJAYgDUHAAmohDyAEQQJ0QfDpAGooAgAhDiACQX1qQRgQOSIFQQAgBUEAShshESAOIANBf2oiB2pBAE4EQCADIA5qIQkgESAHayEFA0AgBkEDdCAPaiAFQQBIBHxEAAAAAAAAAAAFIAVBAnRBgOoAaigCALcLOQMAIAVBAWohBSAGQQFqIgYgCUcNAAsLIA1B4ANqIQwgDUGgAWohCiARQWhsIhUgAkFoamohCSADQQBKIQhBACEFA0AgCARAIAUgB2ohC0QAAAAAAAAAACEbQQAhBgNAIBsgBkEDdCAAaisDACALIAZrQQN0IA9qKwMAoqAhGyAGQQFqIgYgA0cNAAsFRAAAAAAAAAAAIRsLIAVBA3QgDWogGzkDACAFQQFqIQYgBSAOSARAIAYhBQwBCwsgCUEASiESQRggCWshE0EXIAlrIRYgCUUhFyADQQBKIRggDiEFAkACQANAAkAgBUEDdCANaisDACEbIAVBAEoiCwRAIAUhBkEAIQcDQCAHQQJ0IAxqIBsgG0QAAAAAAABwPqIQc7ciG0QAAAAAAABwQaKhEHM2AgAgBkF/aiIIQQN0IA1qKwMAIBugIRsgB0EBaiEHIAZBAUoEQCAIIQYMAQsLCyAbIAkQnwEiGyAbRAAAAAAAAMA/opxEAAAAAAAAIECioSIbEHMhBiAbIAa3oSEbAkACQAJAIBIEfyAFQX9qQQJ0IAxqIggoAgAiECATdSEHIAggECAHIBN0ayIINgIAIAggFnUhCCAGIAdqIQYMAQUgFwR/IAVBf2pBAnQgDGooAgBBF3UhCAwCBSAbRAAAAAAAAOA/ZgR/QQIhCAwEBUEACwsLIQgMAgsgCEEASg0ADAELIAYhGiALBH9BACEGQQAhCwN/IAtBAnQgDGoiGSgCACEQAkACQCAGBH9B////ByEUDAEFIBAEf0EBIQZBgICACCEUDAIFQQALCyEGDAELIBkgFCAQazYCAAsgC0EBaiILIAVHDQAgBgsFQQALIQsgEgRAAkACQAJAIAlBAWsOAgABAgsgBUF/akECdCAMaiIGIAYoAgBB////A3E2AgAMAQsgBUF/akECdCAMaiIGIAYoAgBB////AXE2AgALCyAaQQFqIQYgCEECRgRARAAAAAAAAPA/IBuhIRsgCwRAIBtEAAAAAAAA8D8gCRCfAaEhGwtBAiEICwsgG0QAAAAAAAAAAGINAiAFIA5KBEBBACELIAUhBwNAIAsgB0F/aiIHQQJ0IAxqKAIAciELIAcgDkoNAAsgCw0BC0EBIQYDQCAGQQFqIQcgDiAGa0ECdCAMaigCAEUEQCAHIQYMAQsLIAUgBmohBwNAIAMgBWoiCEEDdCAPaiAFQQFqIgYgEWpBAnRBgOoAaigCALc5AwAgGARARAAAAAAAAAAAIRtBACEFA0AgGyAFQQN0IABqKwMAIAggBWtBA3QgD2orAwCioCEbIAVBAWoiBSADRw0ACwVEAAAAAAAAAAAhGwsgBkEDdCANaiAbOQMAIAYgB0gEQCAGIQUMAQsLIAchBQwBCwsgCSEAA38gAEFoaiEAIAVBf2oiBUECdCAMaigCAEUNACAAIQIgBQshAAwBCyAbQQAgCWsQnwEiG0QAAAAAAABwQWYEfyAFQQJ0IAxqIBsgG0QAAAAAAABwPqIQcyIDt0QAAAAAAABwQaKhEHM2AgAgAiAVaiECIAVBAWoFIAkhAiAbEHMhAyAFCyIAQQJ0IAxqIAM2AgALRAAAAAAAAPA/IAIQnwEhGyAAQX9KIgcEQCAAIQIDQCACQQN0IA1qIBsgAkECdCAMaigCALeiOQMAIBtEAAAAAAAAcD6iIRsgAkF/aiEDIAJBAEoEQCADIQIMAQsLIAcEQCAAIQIDQCAAIAJrIQlBACEDRAAAAAAAAAAAIRsDQCAbIANBA3RBkOwAaisDACACIANqQQN0IA1qKwMAoqAhGyADQQFqIQUgAyAOTiADIAlPckUEQCAFIQMMAQsLIAlBA3QgCmogGzkDACACQX9qIQMgAkEASgRAIAMhAgwBCwsLCwJAAkACQAJAIAQOBAABAQIDCyAHBEBEAAAAAAAAAAAhGwNAIBsgAEEDdCAKaisDAKAhGyAAQX9qIQIgAEEASgRAIAIhAAwBCwsFRAAAAAAAAAAAIRsLIAEgG5ogGyAIGzkDAAwCCyAHBEBEAAAAAAAAAAAhGyAAIQIDQCAbIAJBA3QgCmorAwCgIRsgAkF/aiEDIAJBAEoEQCADIQIMAQsLBUQAAAAAAAAAACEbCyABIBsgG5ogCEUiBBs5AwAgCisDACAboSEbIABBAU4EQEEBIQIDQCAbIAJBA3QgCmorAwCgIRsgAkEBaiEDIAAgAkcEQCADIQIMAQsLCyABIBsgG5ogBBs5AwgMAQsgAEEASgRAIAAiAkEDdCAKaisDACEbA0AgAkF/aiIDQQN0IApqIgQrAwAiHSAboCEcIAJBA3QgCmogGyAdIByhoDkDACAEIBw5AwAgAkEBSgRAIAMhAiAcIRsMAQsLIABBAUoiBARAIAAiAkEDdCAKaisDACEbA0AgAkF/aiIDQQN0IApqIgUrAwAiHSAboCEcIAJBA3QgCmogGyAdIByhoDkDACAFIBw5AwAgAkECSgRAIAMhAiAcIRsMAQsLIAQEQEQAAAAAAAAAACEbA0AgGyAAQQN0IApqKwMAoCEbIABBf2ohAiAAQQJKBEAgAiEADAELCwVEAAAAAAAAAAAhGwsFRAAAAAAAAAAAIRsLBUQAAAAAAAAAACEbCyAKKwMAIRwgCARAIAEgHJo5AwAgASAKKwMImjkDCCABIBuaOQMQBSABIBw5AwAgASAKKwMIOQMIIAEgGzkDEAsLIA0kBiAGQQdxC4AJAwh/AX4EfCMGIQQjBkEwaiQGIARBEGohBSAAvSIKQj+IpyEGAn8CQCAKQiCIpyICQf////8HcSIDQfvUvYAESQR/IAJB//8/cUH7wyRGDQEgBkEARyECIANB/bKLgARJBH8gAgR/IAEgAEQAAEBU+yH5P6AiAEQxY2IaYbTQPaAiCzkDACABIAAgC6FEMWNiGmG00D2gOQMIQX8FIAEgAEQAAEBU+yH5v6AiAEQxY2IaYbTQvaAiCzkDACABIAAgC6FEMWNiGmG00L2gOQMIQQELBSACBH8gASAARAAAQFT7IQlAoCIARDFjYhphtOA9oCILOQMAIAEgACALoUQxY2IaYbTgPaA5AwhBfgUgASAARAAAQFT7IQnAoCIARDFjYhphtOC9oCILOQMAIAEgACALoUQxY2IaYbTgvaA5AwhBAgsLBQJ/IANBvIzxgARJBEAgA0G9+9eABEkEQCADQfyyy4AERg0EIAYEQCABIABEAAAwf3zZEkCgIgBEypSTp5EO6T2gIgs5AwAgASAAIAuhRMqUk6eRDuk9oDkDCEF9DAMFIAEgAEQAADB/fNkSwKAiAETKlJOnkQ7pvaAiCzkDACABIAAgC6FEypSTp5EO6b2gOQMIQQMMAwsABSADQfvD5IAERg0EIAYEQCABIABEAABAVPshGUCgIgBEMWNiGmG08D2gIgs5AwAgASAAIAuhRDFjYhphtPA9oDkDCEF8DAMFIAEgAEQAAEBU+yEZwKAiAEQxY2IaYbTwvaAiCzkDACABIAAgC6FEMWNiGmG08L2gOQMIQQQMAwsACwALIANB+8PkiQRJDQIgA0H//7//B0sEQCABIAAgAKEiADkDCCABIAA5AwBBAAwBCyAKQv////////8Hg0KAgICAgICAsMEAhL8hAEEAIQIDQCACQQN0IAVqIAAQc7ciCzkDACAAIAuhRAAAAAAAAHBBoiEAIAJBAWoiAkECRw0ACyAFIAA5AxAgAEQAAAAAAAAAAGEEQEEBIQIDQCACQX9qIQcgAkEDdCAFaisDAEQAAAAAAAAAAGEEQCAHIQIMAQsLBUECIQILIAUgBCADQRR2Qep3aiACQQFqQQEQ+wIhAiAEKwMAIQAgBgR/IAEgAJo5AwAgASAEKwMImjkDCEEAIAJrBSABIAA5AwAgASAEKwMIOQMIIAILCwsMAQsgAESDyMltMF/kP6JEAAAAAAAAOEOgRAAAAAAAADjDoCIMEHMhCCABIAAgDEQAAEBU+yH5P6KhIgsgDEQxY2IaYbTQPaIiAKEiDTkDACADQRR2IgcgDb1CNIinQf8PcWtBEEoEQCAMRHNwAy6KGaM7oiALIAsgDEQAAGAaYbTQPaIiAKEiC6EgAKGhIQAgASALIAChIg05AwAgDETBSSAlmoN7OaIgCyALIAxEAAAALooZozuiIg6hIgyhIA6hoSEOIAcgDb1CNIinQf8PcWtBMUoEQCABIAwgDqEiDTkDACAOIQAgDCELCwsgASALIA2hIAChOQMIIAgLIQkgBCQGIAkLFgAgACABIAJCgICAgICAgICAfxCEAwvlCgESfyABKAIAIQUCfwJAIANFDQAgAygCACIERQ0AIAAEfyADQQA2AgAgBCEOIAAhDyACIRAgBSEIQTAFIAQhCSAFIQcgAiELQRoLDAELIABBAEchA0HoiQEoAgAoAgAEQCADBEAgACESIAIhESAFIQxBIQwCBSACIRMgBSEUQQ8MAgsACyADRQRAIAUQYCEKQT8MAQsgAgRAAkAgACEGIAIhBCAFIQMDQCADLAAAIgUEQCADQQFqIQMgBiAFQf+/A3E2AgAgBEF/aiIERQ0CIAZBBGohBgwBCwsgBkEANgIAIAFBADYCACACIARrIQpBPwwCCwUgBSEDCyABIAM2AgAgAiEKQT8LIQMDQAJAAkACQAJAIANBD0YEQCATIQMgFCEFA0AgBSwAACIEQf8BcUF/akH/AEkEfyAFQQNxBH8gBAUgBSgCACIGQf8BcSEEIAYgBkH//ft3anJBgIGChHhxBH8gBAUDQCADQXxqIQMgBUEEaiIFKAIAIgQgBEH//ft3anJBgIGChHhxRQ0ACyAEQf8BcQsLBSAEC0H/AXEiBEF/akH/AEkEQCADQX9qIQMgBUEBaiEFDAELCyAEQb5+aiIEQTJLBEAgBSEEIAAhBgwDBSAEQQJ0QdA0aigCACEJIAVBAWohByADIQtBGiEDDAYLAAUgA0EaRgRAIActAABBA3YiA0FwaiADIAlBGnVqckEHSwRAIAAhAyAJIQYgByEEIAshBQwDBSAHQQFqIQMgCUGAgIAQcQR/IAMsAABBwAFxQYABRwRAIAAhAyAJIQYgByEEIAshBQwFCyAHQQJqIQMgCUGAgCBxBH8gAywAAEHAAXFBgAFHBEAgACEDIAkhBiAHIQQgCyEFDAYLIAdBA2oFIAMLBSADCyEUIAtBf2ohE0EPIQMMBwsABSADQSFGBEAgEQRAAkAgEiEFIBEhAyAMIQQDQAJAAkACQCAELQAAIgZBf2oiDUH/AE8NACAEQQNxRSADQQRLcQRAAn8CQANAIAQoAgAiBiAGQf/9+3dqckGAgYKEeHENASAFIAZB/wFxNgIAIAUgBC0AATYCBCAFIAQtAAI2AgggBEEEaiENIAVBEGohBiAFIAQtAAM2AgwgA0F8aiIDQQRLBEAgBiEFIA0hBAwBCwsgBiEFIA0iBCwAAAwBCyAGQf8BcQtB/wFxIgZBf2ohDQwBCwwBCyANQf8ATw0BCyAEQQFqIQQgBSAGNgIAIANBf2oiA0UNAiAFQQRqIQUMAQsLIAZBvn5qIgZBMksEQCAFIQYMBwsgBkECdEHQNGooAgAhDiAFIQ8gAyEQIARBAWohCEEwIQMMCQsFIAwhBAsgASAENgIAIAIhCkE/IQMMBwUgA0EwRgRAIAgtAAAiBEEDdiIDQXBqIAMgDkEadWpyQQdLBEAgDyEDIA4hBiAIIQQgECEFDAUFAkAgCEEBaiEFIARBgH9qIA5BBnRyIgNBAEgEQAJAIAUtAABBgH9qIgRBP00EQCAIQQJqIQUgBCADQQZ0ciIDQQBOBEAgBSEMDAILIAUtAABBgH9qIgVBP00EQCAIQQNqIQwgBSADQQZ0ciEDDAILC0GkxQNBGTYCACAIQX9qIRUMAgsFIAUhDAsgDyADNgIAIA9BBGohEiAQQX9qIRFBISEDDAoLCwUgA0E/RgRAIAoPCwsLCwsMAwsgBEF/aiEEIAYNASADIQYgBSEDCyAELAAABH8gBgUgBgRAIAZBADYCACABQQA2AgALIAIgA2shCkE/IQMMAwshAwtBpMUDQRk2AgAgAwR/IAQFQX8hCkE/IQMMAgshFQsgASAVNgIAQX8hCkE/IQMMAAALAAukAQEFfyMGIQUjBkGAAmokBiAFIQMgAkECTgRAAkAgAkECdCABaiIHIAM2AgAgAARAA0AgAyABKAIAIABBgAIgAEGAAkkbIgQQTBpBACEDA0AgA0ECdCABaiIGKAIAIANBAWoiA0ECdCABaigCACAEEEwaIAYgBigCACAEajYCACACIANHDQALIAAgBGsiAEUNAiAHKAIAIQMMAAALAAsLCyAFJAYLOQECfyAABEAgAEEBcUUEQANAIAFBAWohASAAQQF2IQIgAEECcUUEQCACIQAMAQsLCwVBICEBCyABCykBAX8gACgCAEF/ahCAAyIBBH8gAQUgACgCBBCAAyIAQSBqQQAgABsLC5sEAQd/IwYhBiMGQdABaiQGIAZBwAFqIgRCATcDACABIAJsIgkEQAJAQQAgAmshCCAGIAI2AgQgBiACNgIAQQIhByACIgUhAQNAIAdBAnQgBmogAiAFaiABaiIKNgIAIAdBAWohByAKIAlJBEAgASEFIAohAQwBCwsgACAJaiAIaiIBIABLBH8gASEHQQEhAUEBIQUDfyAFQQNxQQNGBH8gACACIAMgASAGEKICIARBAhDyASABQQJqBSABQX9qIgVBAnQgBmooAgAgByAAa0kEQCAAIAIgAyABIAYQogIFIAAgAiADIAQgAUEAIAYQ8QELIAFBAUYEfyAEQQEQ8AFBAAUgBCAFEPABQQELCyEBIAQgBCgCAEEBciIFNgIAIAAgAmoiACAHSQ0AIAELBUEBIQVBAQshByAAIAIgAyAEIAdBACAGEPEBIAAhASAHIQADQAJ/AkAgAEEBRiAFQQFGcQR/IAQoAgRFDQQMAQUgAEECSA0BIARBAhDwASAEIAQoAgBBB3M2AgAgBEEBEPIBIAEgAEF+aiIFQQJ0IAZqKAIAayAIaiACIAMgBCAAQX9qQQEgBhDxASAEQQEQ8AEgBCAEKAIAQQFyIgc2AgAgASAIaiIBIAIgAyAEIAVBASAGEPEBIAUhACAHCwwBCyAEIAQQgQMiBRDyASABIAhqIQEgACAFaiEAIAQoAgALIQUMAAALAAsLIAYkBgsXACAAEIoBQQBHIABBIHJBn39qQQZJcgt9AgF/AX4jBiEEIwZBkAFqJAYgBEEANgIAIAQgADYCBCAEIAA2AiwgBEF/IABB/////wdqIABBAEgbNgIIIARBfzYCTCAEQgAQggEgBCACQQEgAxCTAyEFIAEEQCABIAAgBCgCBCAEKQN4p2ogBCgCCGtqNgIACyAEJAYgBQvfBQEJfyMGIQUjBkGQAmokBiABLAAARQRAAkBBxv4CEA0iAQRAIAEsAAANAQsgAEEMbEGg6QBqEA0iAQRAIAEsAAANAQtBzf4CEA0iAQRAIAEsAAANAQtB0v4CIQELCyAFQYACaiEGA38CfyACIAEgAmosAAAiA0EAIANBL0cbRQ0AGiACQQFqIgJBD0kNAUEPCwshAwJAAkACQCABLAAAIgJBLkYEQEHS/gIhAQUgASADaiwAAARAQdL+AiEBBSACQcMARw0CCwsgASwAAUUNAQsgAUHS/gIQswFFDQAgAUHa/gIQswFFDQBBuMUDKAIAIgIEQANAIAEgAkEIahCzAUUNAyACKAIYIgINAAsLQbzFAxAaQbjFAygCACICBEACQANAIAEgAkEIahCzAQRAIAIoAhgiAkUNAgwBCwtBvMUDEA4MAwsLAn8CQEHsxAMoAgANAEHg/gIQDSICRQ0AIAIsAABFDQBB/gEgA2shCSADQQFqIQoDQAJAIAJBOhCqAiIHLAAAIgRBAEdBH3RBH3UgByACa2oiCCAJSQR/IAUgAiAIEEwaIAUgCGoiAkEvOgAAIAJBAWogASADEEwaIAUgCCAKampBADoAACAFIAYQNSIEDQEgBywAAAUgBAshAiAHIAJB/wFxQQBHaiICLAAADQEMAgsLQRwQRCICBH8gAiAENgIAIAIgBigCADYCBCACQQhqIgQgASADEEwaIAMgBGpBADoAACACQbjFAygCADYCGEG4xQMgAjYCACACBSAEIAYoAgAQ/AQMAQsMAQtBHBBEIgIEQCACQfCHASgCADYCACACQfSHASgCADYCBCACQQhqIgQgASADEEwaIAMgBGpBADoAACACQbjFAygCADYCGEG4xQMgAjYCAAsgAgshAUG8xQMQDiABQfCHASAAIAFyGyECDAELIABFBEAgASwAAUEuRgRAQfCHASECDAILC0EAIQILIAUkBiACCxcAIABBAEcgAEHMxANHcSAAQYyIAUdxCw4AIAAQhgMEQCAAEDgLCx8BAn8gABBgQQFqIgEQRCICBH8gAiAAIAEQTAVBAAsLngEAIAJBAUYEQCABIAAoAgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCEN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IABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); + + + + + +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ + var _this = this + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) + + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', + } + + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses + + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} + +MarkersAreaControls.prototype = Object.create( _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + + +/** + * What to do when a image source is fully processed + */ +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion + + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return + + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) + + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ + + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } + + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + // change _this.object3d.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + _this.object3d.matrix.copy(modelViewMatrix) + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + _this.object3d.matrix.getInverse( modelViewMatrix ) + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Utility functions +////////////////////////////////////////////////////////////////////////////// + +/** + * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + */ +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ + quaternionAverage = quaternionAverage || new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + // sanity check + console.assert(firstQuaternion instanceof three__WEBPACK_IMPORTED_MODULE_0__.Quaternion === true) + + // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + if( newQuaternion.dot(firstQuaternion) > 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) + } + + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w + + quaternionAverage.x = quaternionSum.x/count + quaternionAverage.y = quaternionSum.y/count + quaternionAverage.z = quaternionSum.z/count + quaternionAverage.w = quaternionSum.w/count + + quaternionAverage.normalize() + + return quaternionAverage +} + + +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ + vector3Average = vector3Average || new three__WEBPACK_IMPORTED_MODULE_0__.Vector3() + + vector3Sum.x += vector3.x + vector3Sum.y += vector3.y + vector3Sum.z += vector3.z + + vector3Average.x = vector3Sum.x / count + vector3Average.y = vector3Sum.y / count + vector3Average.z = vector3Sum.z / count + + return vector3Average +} + +////////////////////////////////////////////////////////////////////////////// +// Utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * compute the center of this multimarker file + */ +MarkersAreaControls.computeCenter = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var stats = { + count : 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + var firstQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() // FIXME ??? + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ + + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + var averageMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + + return averageMatrix +} + +MarkersAreaControls.computeBoundingBox = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var boundingBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3() + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) + + boundingBox.expandByPoint(position) + }) + + return boundingBox +} +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) + + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } + + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] +} + + +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} + + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) + + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) + +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } + }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) + + // return it + return multiMarkerControls +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaControls); + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersarealearning.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersarealearning.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); + + +const MarkersAreaLearning = function(arToolkitContext, subMarkersControls){ + var _this = this + this._arToolkitContext = arToolkitContext + + // Init variables + this.subMarkersControls = subMarkersControls + this.enabled = true + + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} + +////////////////////////////////////////////////////////////////////////////// +// statistic collection +////////////////////////////////////////////////////////////////////////////// + +/** + * What to do when a image source is fully processed + */ +MarkersAreaLearning.prototype._onSourceProcessed = function(){ + var originQuaternion = this.subMarkersControls[0].object3d.quaternion + // here collect the statistic on relative positioning + + // honor this.enabled + if( this.enabled === false ) return + + // keep only the visible markers + var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ + return markerControls.object3d.visible === true + }) + + var count = Object.keys(visibleMarkerControls).length + + var positionDelta = new THREE.Vector3() + var quaternionDelta = new THREE.Quaternion() + var scaleDelta = new THREE.Vector3() + var tmpMatrix = new THREE.Matrix4() + + // go thru all the visibleMarkerControls + for(var i = 0; i < count; i++){ + var markerControls1 = visibleMarkerControls[i] + for(var j = 0; j < count; j++){ + var markerControls2 = visibleMarkerControls[j] + + // if markerControls1 is markerControls2, then skip it + if( i === j ) continue + + + ////////////////////////////////////////////////////////////////////////////// + // create data in markerControls1.object3d.userData if needed + ////////////////////////////////////////////////////////////////////////////// + // create seenCouples for markerControls1 if needed + if( markerControls1.object3d.userData.seenCouples === undefined ){ + markerControls1.object3d.userData.seenCouples = {} + } + var seenCouples = markerControls1.object3d.userData.seenCouples + // create the multiMarkerPosition average if needed` + if( seenCouples[markerControls2.id] === undefined ){ + // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) + seenCouples[markerControls2.id] = { + count : 0, + position : { + sum: new THREE.Vector3(0,0,0), + average: new THREE.Vector3(0,0,0), + }, + quaternion : { + sum: new THREE.Quaternion(0,0,0,0), + average: new THREE.Quaternion(0,0,0,0), + }, + scale : { + sum: new THREE.Vector3(0,0,0), + average: new THREE.Vector3(0,0,0), + }, + } + } + + + ////////////////////////////////////////////////////////////////////////////// + // Compute markerControls2 position relative to markerControls1 + ////////////////////////////////////////////////////////////////////////////// + + // compute markerControls2 position/quaternion/scale in relation with markerControls1 + tmpMatrix.getInverse(markerControls1.object3d.matrix) + tmpMatrix.multiply(markerControls2.object3d.matrix) + tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) + + ////////////////////////////////////////////////////////////////////////////// + // update statistics + ////////////////////////////////////////////////////////////////////////////// + var stats = seenCouples[markerControls2.id] + // update the count + stats.count++ + + // update the average of position/rotation/scale + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) + _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_0__.default.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Compute markers transformation matrix from current stats +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaLearning.prototype.computeResult = function(){ + var _this = this + var originSubControls = this.subMarkersControls[0] + + this.deleteResult() + + // special case of originSubControls averageMatrix + originSubControls.object3d.userData.result = { + averageMatrix : new THREE.Matrix4(), + confidenceFactor: 1, + } + // TODO here check if the originSubControls has been seen at least once!! + + + /** + * ALGO in pseudo code + * + * - Set confidenceFactor of origin sub markers as 1 + * + * Start Looping + * - For a given sub marker, skip it if it already has a result. + * - if no result, check all seen couple and find n ones which has a progress of 1 or more. + * - So the other seen sub markers, got a valid transformation matrix. + * - So take local averages position/orientation/scale, compose a transformation matrix. + * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale + * - Multiple it by the other seen marker matrix. + * - Loop on the array until one pass could not compute any new sub marker + */ + + do{ + var resultChanged = false + // loop over each subMarkerControls + this.subMarkersControls.forEach(function(subMarkerControls){ + + // if subMarkerControls already has a result, do nothing + var result = subMarkerControls.object3d.userData.result + var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false + if( isLearned === true ) return + + // console.log('compute subMarkerControls', subMarkerControls.name()) + var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) + if( otherSubControlsID === null ){ + // console.log('no learnedCoupleStats') + return + } + + var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) + + var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] + + var averageMatrix = new THREE.Matrix4() + averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) + + var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix + + var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) + matrix = new THREE.Matrix4().getInverse(matrix) + + console.assert( subMarkerControls.object3d.userData.result === undefined ) + subMarkerControls.object3d.userData.result = { + averageMatrix: matrix, + confidenceFactor: 1 + } + + resultChanged = true + }) + // console.log('loop') + }while(resultChanged === true) + + // debugger + // console.log('json:', this.toJSON()) + // this.subMarkersControls.forEach(function(subMarkerControls){ + // var hasResult = subMarkerControls.object3d.userData.result !== undefined + // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') + // }) +} + +////////////////////////////////////////////////////////////////////////////// +// Utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * get a _this.subMarkersControls id based on markerControls.id + */ +MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ + + // if this subMarkerControls has never been seen with another subMarkerControls + if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null + + var seenCouples = subMarkerControls.object3d.userData.seenCouples + var coupleControlsIDs = Object.keys(seenCouples).map(Number) + + for(var i = 0; i < coupleControlsIDs.length; i++){ + var otherSubControlsID = coupleControlsIDs[i] + // get otherSubControls + var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) + + // if otherSubControls isnt learned, skip it + var result = otherSubControls.object3d.userData.result + var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false + if( isLearned === false ) continue + + // return this seenCouplesStats + return otherSubControlsID + } + + // if none is found, return null + return null +} + +/** + * get a _this.subMarkersControls based on markerControls.id + */ +MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + + for(var i = 0; i < this.subMarkersControls.length; i++){ + var subMarkerControls = this.subMarkersControls[i] + if( subMarkerControls.id === controlsID ){ + return subMarkerControls + } + } + + return null +} + ////////////////////////////////////////////////////////////////////////////// +// JSON file building +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaLearning.prototype.toJSON = function(){ + + // compute the average matrix before generating the file + this.computeResult() + + ////////////////////////////////////////////////////////////////////////////// + // actually build the json + ////////////////////////////////////////////////////////////////////////////// + var data = { + meta : { + createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, // TODO: ArToolkitContext depending on build + createdAt : new Date().toJSON(), + + }, + trackingBackend: this._arToolkitContext.parameters.trackingBackend, + subMarkersControls : [], + } + + var originSubControls = this.subMarkersControls[0] + var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) + this.subMarkersControls.forEach(function(subMarkerControls, index){ + + // if a subMarkerControls has no result, ignore it + if( subMarkerControls.object3d.userData.result === undefined ) return + + var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix + console.assert(poseMatrix instanceof THREE.Matrix4) + + + // build the info + var info = { + parameters : { + // to fill ... + }, + poseMatrix : poseMatrix.toArray(), + } + if( subMarkerControls.parameters.type === 'pattern' ){ + info.parameters.type = subMarkerControls.parameters.type + info.parameters.patternUrl = subMarkerControls.parameters.patternUrl + }else if( subMarkerControls.parameters.type === 'barcode' ){ + info.parameters.type = subMarkerControls.parameters.type + info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue + }else console.assert(false) + + data.subMarkersControls.push(info) + }) + + var strJSON = JSON.stringify(data, null, '\t'); + + + ////////////////////////////////////////////////////////////////////////////// + // round matrix elements to ease readability - for debug + ////////////////////////////////////////////////////////////////////////////// + var humanReadable = false + if( humanReadable === true ){ + var tmp = JSON.parse(strJSON) + tmp.subMarkersControls.forEach(function(markerControls){ + markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ + var roundingFactor = 100 + return Math.round(value*roundingFactor)/roundingFactor + }) + }) + strJSON = JSON.stringify(tmp, null, '\t'); + } + + return strJSON; +} + +////////////////////////////////////////////////////////////////////////////// +// utility function +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all collected statistics + */ +MarkersAreaLearning.prototype.resetStats = function(){ + this.deleteResult() + + this.subMarkersControls.forEach(function(markerControls){ + delete markerControls.object3d.userData.seenCouples + }) +} +/** + * reset all collected statistics + */ +MarkersAreaLearning.prototype.deleteResult = function(){ + this.subMarkersControls.forEach(function(markerControls){ + delete markerControls.object3d.userData.result + }) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaLearning); + + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareautils.js": +/*!************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareautils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +const MarkersAreaUtils = {}; + +////////////////////////////////////////////////////////////////////////////// +// navigateToLearnerPage +////////////////////////////////////////////////////////////////////////////// + +/** + * Navigate to the multi-marker learner page + * + * @param {String} learnerBaseURL - the base url for the learner + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ + var learnerParameters = { + backURL : location.href, + trackingBackend: trackingBackend, + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + } + location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) +} + +////////////////////////////////////////////////////////////////////////////// +// DefaultMultiMarkerFile +////////////////////////////////////////////////////////////////////////////// + +/** + * Create and store a default multi-marker file + * + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) + // json.strinfy the value and store it in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) +} + + + +/** + * Create a default multi-marker file + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object of the multi-marker file + */ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ + console.assert(trackingBackend) + if( trackingBackend === undefined ) debugger + + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + // create the base file + var file = { + meta : { + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... being filled + ] + } + // add a subMarkersControls + file.subMarkersControls[0] = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), + } + if( trackingBackend === 'artoolkit' ){ + file.subMarkersControls[0].parameters.type = 'pattern' + file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + }else console.assert(false) + + // json.strinfy the value and store it in localStorage + return file +} + +////////////////////////////////////////////////////////////////////////////// +// createDefaultMarkersControlsParameters +////////////////////////////////////////////////////////////////////////////// + +/** + * Create a default controls parameters for the multi-marker learner + * + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object containing the controls parameters + */ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + + if( trackingBackend === 'artoolkit' ){ + // pattern hiro/kanji/a/b/c/f + var markersControlsParameters = [ + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', + }, + ] + }else console.assert(false) + return markersControlsParameters +} + + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +/** + * generate areaFile + */ +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { + // generate areaFile + var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) + // store areaFile in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) +} + + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ + // create the base file + var file = { + meta : { + createdBy : 'AR.js - Augmented Website', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... + ] + } + + var whiteMargin = 0.1 + if( resolutionW > resolutionH ){ + var markerImageSize = 0.4 * resolutionH + }else if( resolutionW < resolutionH ){ + var markerImageSize = 0.4 * resolutionW + }else if( resolutionW === resolutionH ){ + // specific for twitter player - https://dev.twitter.com/cards/types/player + var markerImageSize = 0.33 * resolutionW + }else console.assert(false) + + // console.warn('using new markerImageSize computation') + var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) + + var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize + var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize + + var subMarkerControls = buildSubMarkerControls('center', 0, 0) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) + + var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) + + return file + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + + function buildSubMarkerControls(layout, positionX, positionZ){ + console.log('buildSubMarkerControls', layout, positionX, positionZ) + // create subMarkersControls + var subMarkersControls = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + } + // fill the parameters + if( trackingBackend === 'artoolkit' ){ + layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) + }else console.assert(false) + // return subMarkersControls + return subMarkersControls + } + + function layout2MarkerParametersArtoolkit(parameters, layout){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href + + var layout2PatternUrl = { + 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), + 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), + 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), + 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), + 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), + } + console.assert(layout2PatternUrl[layout] !== undefined ) + parameters.type = 'pattern' + parameters.patternUrl = layout2PatternUrl[layout] + return + function convertRelativeUrlToAbsolute(relativeUrl){ + var tmpLink = document.createElement('a'); + tmpLink.href = relativeUrl + return tmpLink.href + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); + + +/***/ }), + +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const Utils = {}; + +/** + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) + + return camera +} + +/** + * parse tracking method + * + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method + */ +Utils.parseTrackingMethod = function (trackingMethod) { + + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } + + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); + +const Context = function (parameters) { + var _this = this + + _this._updatedAt = null + + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', + + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', + + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, + + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, + + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) + + this.arController = null; + + _this.initialized = false + + + this._arMarkersControls = [] + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } +} + +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; + +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' +/** + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} + + +////////////////////////////////////////////////////////////////////////////// +// init functions +////////////////////////////////////////////////////////////////////////////// +Context.prototype.init = function (onCompleted) { + var _this = this + if (this.parameters.trackingBackend === 'artoolkit') { + this._initArtoolkit(done); + } else console.assert(false); + return + + function done() { + // dispatch event + _this.dispatchEvent({ + type: 'initialized' + }); + + _this.initialized = true + + onCompleted && onCompleted() + } + +} +//////////////////////////////////////////////////////////////////////////////// +// update function +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.update = function (srcElement) { + + // be sure arController is fully initialized + if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; + + // honor this.parameters.maxDetectionRate + var present = performance.now() + if (this._updatedAt !== null && present - this._updatedAt < 1000 / this.parameters.maxDetectionRate) { + return false + } + this._updatedAt = present + + var prevVisibleMarkers = [] + + // mark all markers to invisible before processing this frame + this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } + markerControls.object3d.visible = false + }) + + // process this frame + if (this.parameters.trackingBackend === 'artoolkit') { + this._updateArtoolkit(srcElement); + } else { + console.assert(false); + } + + // dispatch event + this.dispatchEvent({ + type: 'sourceProcessed' + }); + + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) + + + // return true as we processed the frame + return true; +} + +//////////////////////////////////////////////////////////////////////////////// +// Add/Remove markerControls +//////////////////////////////////////////////////////////////////////////////// +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + this._arMarkersControls.push(arMarkerControls) +} + +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } + this._arMarkersControls.splice(index, 1) +} + +////////////////////////////////////////////////////////////////////////////// +// artoolkit specific +////////////////////////////////////////////////////////////////////////////// +Context.prototype._initArtoolkit = function (onCompleted) { + var _this = this + + // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) + + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } + + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); + return this +} + +/** + * return the projection matrix + */ +Context.prototype.getProjectionMatrix = function (srcElement) { + + + // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix + // keep a backward compatibility with a console.warn + + console.assert(this.parameters.trackingBackend === 'artoolkit') + console.assert(this.arController, 'arController MUST be initialized to call this function') + // get projectionMatrixArr from artoolkit + var projectionMatrixArr = this.arController.getCameraMatrix(); + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) + + // return the result + return projectionMatrix +} + +Context.prototype._updateArtoolkit = function (srcElement) { + this.arController.process(srcElement) +} + +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; + + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } + + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; + + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; + + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); + +/***/ }), + +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + + + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); + +const MarkerControls = function(context, object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } + + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + + + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } + + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } + + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) + + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) +} + +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; + + +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; +} + +////////////////////////////////////////////////////////////////////////////// +// update controls with new modelViewMatrix +////////////////////////////////////////////////////////////////////////////// + +/** + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. + */ +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; + + // mark object as visible + markerObject3D.visible = true + + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) + + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) + + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) + + var renderReqd = false; + + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; + + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; + + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); + + return renderReqd; +} + +////////////////////////////////////////////////////////////////////////////// +// utility functions +////////////////////////////////////////////////////////////////////////////// + +/** + * provide a name for a marker + * - silly heuristic for now + * - should be improved + */ +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') + } + return name +} + +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this + + var artoolkitMarkerId = null + + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) + + return + + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) + + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } + + // listen to the event + arController.addEventListener('getMarker', onGetMarker) + + } + + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } + + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); + + // TODO context build-dependent + +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() + + this.performance('default') +} + +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } + + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; + +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// + + + +Profile.prototype.performance = function (label) { + + if (label === 'default') { + label = this._guessPerformanceLabel() + } + + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 + + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this +} + +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// + + +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend + + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this +} +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} + +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} + +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} + +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); + + +/***/ }), + +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this + + this.ready = false + this.domElement = null + + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this + + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } + + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); + + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } + + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); + + _this.ready = true + + onReady && onReady() + } +} + +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onload = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; + + domElement.style.objectFit = 'initial'; + + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; + + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onloadeddata = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this + + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } + + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' + + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } + + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; + + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; + + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); + + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); + + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.dispose = function () { + this.ready = false; + + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; + + case 'video': + this._disposeSourceVideo(); + break; + + case 'webcam': + this._disposeSourceWebcam(); + break; + } + + this.domElement = null; + + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } + + domElement.remove(); +} + +////////////////////////////////////////////////////////////////////////////// +// Handle Mobile Torch +////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false + + var capabilities = videoTrack.getCapabilities() + + return capabilities.torch ? true : false +} + +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) + + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() + + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} + +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} + +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + + // sanity check + console.assert(arguments.length === 0) + + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } + + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight + + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ + +Source.prototype.copyElementSizeTo = function (otherElement) { + + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } + + var trackingBackend = arToolkitContext.parameters.trackingBackend + + + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { + + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); + +/***/ }), + +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ + + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) +} + +ArBaseControls.id = 0 + +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); + +////////////////////////////////////////////////////////////////////////////// +// Functions +////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} + +/** + * error catching function for name() + */ +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group + + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id + // debugger + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; + + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); + + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true + + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 + + this.object3d.add(mesh) + +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); + + +/***/ }), + +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); + + +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false + + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, + } + + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] + + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } + + _this.parameters[ key ] = newValue + } + } +} + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; + +////////////////////////////////////////////////////////////////////////////// +// update function +////////////////////////////////////////////////////////////////////////////// + +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 + + + ////////////////////////////////////////////////////////////////////////////// + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay + ////////////////////////////////////////////////////////////////////////////// + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null + + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present + + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() + } + // console.log('visibleFor', visibleFor) + } + + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } + + ////////////////////////////////////////////////////////////////////////////// + // apply lerp on positon/quaternion/scale + ////////////////////////////////////////////////////////////////////////////// + + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } + + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} + + // update the matrix + this.object3d.updateMatrix() + + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return + + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) + } +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); + + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!**************************************!*\ + !*** ./three.js/src/index-threex.js ***! + \**************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "ArMarkerControls": () => (/* reexport safe */ _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_0__.default), +/* harmony export */ "ArMarkerHelper": () => (/* reexport safe */ _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_1__.default), +/* harmony export */ "ArSmoothedControls": () => (/* reexport safe */ _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_2__.default), +/* harmony export */ "ArToolkitContext": () => (/* reexport safe */ _threex_arjs_context__WEBPACK_IMPORTED_MODULE_3__.default), +/* harmony export */ "ArToolkitProfile": () => (/* reexport safe */ _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_4__.default), +/* harmony export */ "ArToolkitSource": () => (/* reexport safe */ _threex_arjs_source__WEBPACK_IMPORTED_MODULE_5__.default), +/* harmony export */ "ArMultiMarkerControls": () => (/* reexport safe */ _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_6__.default), +/* harmony export */ "ArMultiMakersLearning": () => (/* reexport safe */ _markers_area_arjs_markersarealearning__WEBPACK_IMPORTED_MODULE_7__.default), +/* harmony export */ "ArMultiMarkerUtils": () => (/* reexport safe */ _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_8__.default) +/* harmony export */ }); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); +/* harmony import */ var _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersarealearning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./markers-area/arjs-markersarealearning */ "./three.js/src/markers-area/arjs-markersarealearning.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); + + + + + + + + // typo is spread over codebase + + + + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9USFJFRXgvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL1RIUkVFeC8uL25vZGVfbW9kdWxlcy9AYXItanMtb3JnL2FydG9vbGtpdDUtanMvZGlzdC9BUlRvb2xraXQuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhbGVhcm5pbmcuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy11dGlscy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtY29udGV4dC5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLXByb2ZpbGUuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4Ly4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLXNvdXJjZS5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcmJhc2Vjb250cm9scy5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlci5qcyIsIndlYnBhY2s6Ly9USFJFRXgvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcnNtb290aGVkY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vVEhSRUV4L2V4dGVybmFsIHtcImNvbW1vbmpzXCI6XCJ0aHJlZVwiLFwiY29tbW9uanMyXCI6XCJ0aHJlZVwiLFwiYW1kXCI6XCJ0aHJlZVwiLFwicm9vdFwiOlwiVEhSRUVcIn0iLCJ3ZWJwYWNrOi8vVEhSRUV4L3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL1RIUkVFeC93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9USFJFRXgvd2VicGFjay9ydW50aW1lL2RlZmluZSBwcm9wZXJ0eSBnZXR0ZXJzIiwid2VicGFjazovL1RIUkVFeC93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL1RIUkVFeC93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL1RIUkVFeC8uL3RocmVlLmpzL3NyYy9pbmRleC10aHJlZXguanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87Ozs7Ozs7OztBQ1ZBLGVBQWUsS0FBaUQsb0JBQW9CLENBQWlILENBQUMsZ0RBQWdELFlBQVksT0FBTyxjQUFjLGlCQUFpQixlQUFlLGlCQUFpQixlQUFlLGFBQWEsMkZBQTJGLHNCQUFzQixrQ0FBa0MsNENBQTRDLGFBQWEsOEZBQThGLDBDQUEwQyx5QkFBeUIsV0FBVyw2RkFBNkYsdUNBQXVDLHlCQUF5QixhQUFhLE1BQU0sdUVBQXVFLCtIQUErSCxlQUFlLFNBQVMsZUFBZSxTQUFTLGFBQWEsd0pBQXdKLHNHQUFzRyxzQkFBc0IsdURBQXVELHNCQUFzQixzQ0FBc0Msd0JBQXdCLDBHQUEwRyxxSEFBcUgsMkJBQTJCLGtGQUFrRiwyQkFBMkIsbURBQW1ELGlGQUFpRiw2V0FBNlcsMkRBQTJELHdJQUF3SSxJQUFJLGVBQWUsYUFBYSx3REFBd0QsMENBQTBDLG9FQUFvRSxpQkFBaUIsR0FBRyxTQUFTLDRHQUE0RyxzQkFBc0Is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QTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLDRFQUF5QjtBQUN4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUVBQWUsT0FBTyxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FDckt2QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0VBQWtFLFVBQVU7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscURBQXFELGVBQWU7QUFDcEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdEQUF3RCxpQkFBaUI7QUFDekU7O0FBRUE7QUFDQSwyRUFBMkUsVUFBVSxFOztBQUVyRjtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2IsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEscUVBQXFFLFVBQVUsRTtBQUMvRSxDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0M7QUFDQSxzQjs7QUFFQSx3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0U7QUFDQSxLOztBQUVBLHdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBLGlFQUFlLE1BQU0sRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN6Z0JVOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3Qix3QkFBd0I7QUFDaEQsd0JBQXdCLHdCQUF3QjtBQUNoRCx3QkFBd0IsMEJBQTBCO0FBQ2xEOztBQUVBOztBQUVBLHlDQUF5Qyw0REFBK0I7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxjQUFjLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3JDQzs7QUFFL0I7QUFDQSxxQkFBcUIsd0NBQVc7O0FBRWhDLGdCQUFnQiw2Q0FBZ0I7QUFDaEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixnREFBbUI7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLGdEQUFtQjtBQUN2QyxvQkFBb0Isb0RBQXVCO0FBQzNDO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsZ0JBQWdCLHVDQUFVO0FBQzFCOztBQUVBOztBQUVBOztBQUVBLGlFQUFlLGNBQWMsRUFBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN4Q3VCOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBOztBQUVBLENBQUMsZ0VBQW1COztBQUVwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhDQUE4QyxxRUFBd0I7QUFDdEU7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxnQkFBZ0IsZ0JBQWdCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSyxLQUFLLEVBQUUsRUFFVjs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isd0JBQXdCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwwQkFBMEI7QUFDaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlFQUFlLGtCQUFrQixFQUFDOzs7Ozs7Ozs7Ozs7QUN6SmxDLG1EOzs7Ozs7VUNBQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBOztVQUVBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBOzs7OztXQ3RCQTtXQUNBO1dBQ0E7V0FDQTtXQUNBO1dBQ0EsZ0NBQWdDLFlBQVk7V0FDNUM7V0FDQSxFOzs7OztXQ1BBO1dBQ0E7V0FDQTtXQUNBO1dBQ0Esd0NBQXdDLHlDQUF5QztXQUNqRjtXQUNBO1dBQ0EsRTs7Ozs7V0NQQSx3Rjs7Ozs7V0NBQTtXQUNBO1dBQ0E7V0FDQSxzREFBc0Qsa0JBQWtCO1dBQ3hFO1dBQ0EsK0NBQStDLGNBQWM7V0FDN0QsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNONEQ7QUFDQTtBQUNRO0FBQ2Y7QUFDQTtBQUNGO0FBQ3lCO0FBQ0E7QUFDTjs7QUFZcEUiLCJmaWxlIjoiYXItdGhyZWV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIHdlYnBhY2tVbml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uKHJvb3QsIGZhY3RvcnkpIHtcblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeShyZXF1aXJlKFwidGhyZWVcIikpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW1widGhyZWVcIl0sIGZhY3RvcnkpO1xuXHRlbHNlIGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0Jylcblx0XHRleHBvcnRzW1wiVEhSRUV4XCJdID0gZmFjdG9yeShyZXF1aXJlKFwidGhyZWVcIikpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIlRIUkVFeFwiXSA9IGZhY3Rvcnkocm9vdFtcIlRIUkVFXCJdKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfdGhyZWVfXykge1xucmV0dXJuICIsIiFmdW5jdGlvbihBLEkpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPUkoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLEkpOlwib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuQVJUb29sa2l0PUkoKTpBLkFSVG9vbGtpdD1JKCl9KFwidW5kZWZpbmVkXCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcywoZnVuY3Rpb24oKXtyZXR1cm4oKCk9Pnt2YXIgQT17NzU3OihBLEksZyk9PntBLmV4cG9ydHM9Zyg2NjYpfSw2Njk6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDYwOSl9LDQ0ODooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9ZygyNiksUT1nKDM3MiksRT1nKDMyNyksaT1nKDk3KSxvPWcoMTA5KSxEPWcoOTg1KSxhPWcoNjEpLHc9Zyg2NTUpLEY9ZygyNjMpO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEksZyl7dmFyIEcsaD1BLmRhdGEscz1BLmhlYWRlcnMsUj1BLnJlc3BvbnNlVHlwZTtmdW5jdGlvbiBVKCl7QS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi51bnN1YnNjcmliZShHKSxBLnNpZ25hbCYmQS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsRyl9Qi5pc0Zvcm1EYXRhKGgpJiZkZWxldGUgc1tcIkNvbnRlbnQtVHlwZVwiXTt2YXIgeT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQS5hdXRoKXt2YXIgdD1BLmF1dGgudXNlcm5hbWV8fFwiXCIsUz1BLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEEuYXV0aC5wYXNzd29yZCkpOlwiXCI7cy5BdXRob3JpemF0aW9uPVwiQmFzaWMgXCIrYnRvYSh0K1wiOlwiK1MpfXZhciBNPWkoQS5iYXNlVVJMLEEudXJsKTtmdW5jdGlvbiBuKCl7aWYoeSl7dmFyIEI9XCJnZXRBbGxSZXNwb25zZUhlYWRlcnNcImluIHk/byh5LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpudWxsLFE9e2RhdGE6UiYmXCJ0ZXh0XCIhPT1SJiZcImpzb25cIiE9PVI/eS5yZXNwb25zZTp5LnJlc3BvbnNlVGV4dCxzdGF0dXM6eS5zdGF0dXMsc3RhdHVzVGV4dDp5LnN0YXR1c1RleHQsaGVhZGVyczpCLGNvbmZpZzpBLHJlcXVlc3Q6eX07QygoZnVuY3Rpb24oQSl7SShBKSxVKCl9KSwoZnVuY3Rpb24oQSl7ZyhBKSxVKCl9KSxRKSx5PW51bGx9fWlmKHkub3BlbihBLm1ldGhvZC50b1VwcGVyQ2FzZSgpLEUoTSxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSx5LnRpbWVvdXQ9QS50aW1lb3V0LFwib25sb2FkZW5kXCJpbiB5P3kub25sb2FkZW5kPW46eS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt5JiY0PT09eS5yZWFkeVN0YXRlJiYoMCE9PXkuc3RhdHVzfHx5LnJlc3BvbnNlVVJMJiYwPT09eS5yZXNwb25zZVVSTC5pbmRleE9mKFwiZmlsZTpcIikpJiZzZXRUaW1lb3V0KG4pfSx5Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt5JiYoZyhhKFwiUmVxdWVzdCBhYm9ydGVkXCIsQSxcIkVDT05OQUJPUlRFRFwiLHkpKSx5PW51bGwpfSx5Lm9uZXJyb3I9ZnVuY3Rpb24oKXtnKGEoXCJOZXR3b3JrIEVycm9yXCIsQSxudWxsLHkpKSx5PW51bGx9LHkub250aW1lb3V0PWZ1bmN0aW9uKCl7dmFyIEk9QS50aW1lb3V0P1widGltZW91dCBvZiBcIitBLnRpbWVvdXQrXCJtcyBleGNlZWRlZFwiOlwidGltZW91dCBleGNlZWRlZFwiLEI9QS50cmFuc2l0aW9uYWx8fHcudHJhbnNpdGlvbmFsO0EudGltZW91dEVycm9yTWVzc2FnZSYmKEk9QS50aW1lb3V0RXJyb3JNZXNzYWdlKSxnKGEoSSxBLEIuY2xhcmlmeVRpbWVvdXRFcnJvcj9cIkVUSU1FRE9VVFwiOlwiRUNPTk5BQk9SVEVEXCIseSkpLHk9bnVsbH0sQi5pc1N0YW5kYXJkQnJvd3NlckVudigpKXt2YXIgYz0oQS53aXRoQ3JlZGVudGlhbHN8fEQoTSkpJiZBLnhzcmZDb29raWVOYW1lP1EucmVhZChBLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7YyYmKHNbQS54c3JmSGVhZGVyTmFtZV09Yyl9XCJzZXRSZXF1ZXN0SGVhZGVyXCJpbiB5JiZCLmZvckVhY2gocywoZnVuY3Rpb24oQSxJKXt2b2lkIDA9PT1oJiZcImNvbnRlbnQtdHlwZVwiPT09SS50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBzW0ldOnkuc2V0UmVxdWVzdEhlYWRlcihJLEEpfSkpLEIuaXNVbmRlZmluZWQoQS53aXRoQ3JlZGVudGlhbHMpfHwoeS53aXRoQ3JlZGVudGlhbHM9ISFBLndpdGhDcmVkZW50aWFscyksUiYmXCJqc29uXCIhPT1SJiYoeS5yZXNwb25zZVR5cGU9QS5yZXNwb25zZVR5cGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIEEub25Eb3dubG9hZFByb2dyZXNzJiZ5LmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLEEub25Eb3dubG9hZFByb2dyZXNzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLm9uVXBsb2FkUHJvZ3Jlc3MmJnkudXBsb2FkJiZ5LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixBLm9uVXBsb2FkUHJvZ3Jlc3MpLChBLmNhbmNlbFRva2VufHxBLnNpZ25hbCkmJihHPWZ1bmN0aW9uKEEpe3kmJihnKCFBfHxBJiZBLnR5cGU/bmV3IEYoXCJjYW5jZWxlZFwiKTpBKSx5LmFib3J0KCkseT1udWxsKX0sQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi5zdWJzY3JpYmUoRyksQS5zaWduYWwmJihBLnNpZ25hbC5hYm9ydGVkP0coKTpBLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIixHKSkpLGh8fChoPW51bGwpLHkuc2VuZChoKX0pKX19LDYwOTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg4NDkpLFE9ZygzMjEpLEU9ZygxODUpLGk9ZnVuY3Rpb24gQShJKXt2YXIgZz1uZXcgUShJKSxpPUMoUS5wcm90b3R5cGUucmVxdWVzdCxnKTtyZXR1cm4gQi5leHRlbmQoaSxRLnByb3RvdHlwZSxnKSxCLmV4dGVuZChpLGcpLGkuY3JlYXRlPWZ1bmN0aW9uKGcpe3JldHVybiBBKEUoSSxnKSl9LGl9KGcoNjU1KSk7aS5BeGlvcz1RLGkuQ2FuY2VsPWcoMjYzKSxpLkNhbmNlbFRva2VuPWcoOTcyKSxpLmlzQ2FuY2VsPWcoNTAyKSxpLlZFUlNJT049ZygyODgpLnZlcnNpb24saS5hbGw9ZnVuY3Rpb24oQSl7cmV0dXJuIFByb21pc2UuYWxsKEEpfSxpLnNwcmVhZD1nKDcxMyksaS5pc0F4aW9zRXJyb3I9ZygyNjgpLEEuZXhwb3J0cz1pLEEuZXhwb3J0cy5kZWZhdWx0PWl9LDI2MzpBPT57XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gSShBKXt0aGlzLm1lc3NhZ2U9QX1JLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiQ2FuY2VsXCIrKHRoaXMubWVzc2FnZT9cIjogXCIrdGhpcy5tZXNzYWdlOlwiXCIpfSxJLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLEEuZXhwb3J0cz1JfSw5NzI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoMjYzKTtmdW5jdGlvbiBDKEEpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIEEpdGhyb3cgbmV3IFR5cGVFcnJvcihcImV4ZWN1dG9yIG11c3QgYmUgYSBmdW5jdGlvbi5cIik7dmFyIEk7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtJPUF9KSk7dmFyIGc9dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oQSl7aWYoZy5fbGlzdGVuZXJzKXt2YXIgSSxCPWcuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKEk9MDtJPEI7SSsrKWcuX2xpc3RlbmVyc1tJXShBKTtnLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oQSl7dmFyIEksQj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Zy5zdWJzY3JpYmUoQSksST1BfSkpLnRoZW4oQSk7cmV0dXJuIEIuY2FuY2VsPWZ1bmN0aW9uKCl7Zy51bnN1YnNjcmliZShJKX0sQn0sQSgoZnVuY3Rpb24oQSl7Zy5yZWFzb258fChnLnJlYXNvbj1uZXcgQihBKSxJKGcucmVhc29uKSl9KSl9Qy5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7dGhpcy5yZWFzb24/QSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKEEpOnRoaXMuX2xpc3RlbmVycz1bQV19LEMucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKEEpe2lmKHRoaXMuX2xpc3RlbmVycyl7dmFyIEk9dGhpcy5fbGlzdGVuZXJzLmluZGV4T2YoQSk7LTEhPT1JJiZ0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKEksMSl9fSxDLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBBO3JldHVybnt0b2tlbjpuZXcgQygoZnVuY3Rpb24oSSl7QT1JfSkpLGNhbmNlbDpBfX0sQS5leHBvcnRzPUN9LDUwMjpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiEoIUF8fCFBLl9fQ0FOQ0VMX18pfX0sMzIxOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDMyNyksUT1nKDc4MiksRT1nKDU3MiksaT1nKDE4NSksbz1nKDg3NSksRD1vLnZhbGlkYXRvcnM7ZnVuY3Rpb24gYShBKXt0aGlzLmRlZmF1bHRzPUEsdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IFEscmVzcG9uc2U6bmV3IFF9fWEucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oQSl7XCJzdHJpbmdcIj09dHlwZW9mIEE/KEE9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTpBPUF8fHt9LChBPWkodGhpcy5kZWZhdWx0cyxBKSkubWV0aG9kP0EubWV0aG9kPUEubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/QS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTpBLm1ldGhvZD1cImdldFwiO3ZhciBJPUEudHJhbnNpdGlvbmFsO3ZvaWQgMCE9PUkmJm8uYXNzZXJ0T3B0aW9ucyhJLHtzaWxlbnRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGZvcmNlZEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksY2xhcmlmeVRpbWVvdXRFcnJvcjpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pfSwhMSk7dmFyIGc9W10sQj0hMDt0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goKGZ1bmN0aW9uKEkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIEkucnVuV2hlbiYmITE9PT1JLnJ1bldoZW4oQSl8fChCPUImJkkuc3luY2hyb25vdXMsZy51bnNoaWZ0KEkuZnVsZmlsbGVkLEkucmVqZWN0ZWQpKX0pKTt2YXIgQyxRPVtdO2lmKHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goKGZ1bmN0aW9uKEEpe1EucHVzaChBLmZ1bGZpbGxlZCxBLnJlamVjdGVkKX0pKSwhQil7dmFyIGE9W0Usdm9pZCAwXTtmb3IoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYSxnKSxhPWEuY29uY2F0KFEpLEM9UHJvbWlzZS5yZXNvbHZlKEEpO2EubGVuZ3RoOylDPUMudGhlbihhLnNoaWZ0KCksYS5zaGlmdCgpKTtyZXR1cm4gQ31mb3IodmFyIHc9QTtnLmxlbmd0aDspe3ZhciBGPWcuc2hpZnQoKSxHPWcuc2hpZnQoKTt0cnl7dz1GKHcpfWNhdGNoKEEpe0coQSk7YnJlYWt9fXRyeXtDPUUodyl9Y2F0Y2goQSl7cmV0dXJuIFByb21pc2UucmVqZWN0KEEpfWZvcig7US5sZW5ndGg7KUM9Qy50aGVuKFEuc2hpZnQoKSxRLnNoaWZ0KCkpO3JldHVybiBDfSxhLnByb3RvdHlwZS5nZXRVcmk9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9aSh0aGlzLmRlZmF1bHRzLEEpLEMoQS51cmwsQS5wYXJhbXMsQS5wYXJhbXNTZXJpYWxpemVyKS5yZXBsYWNlKC9eXFw/LyxcIlwiKX0sQi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJvcHRpb25zXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcpe3JldHVybiB0aGlzLnJlcXVlc3QoaShnfHx7fSx7bWV0aG9kOkEsdXJsOkksZGF0YTooZ3x8e30pLmRhdGF9KSl9fSkpLEIuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcsQil7cmV0dXJuIHRoaXMucmVxdWVzdChpKEJ8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOmd9KSl9fSkpLEEuZXhwb3J0cz1hfSw3ODI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtmdW5jdGlvbiBDKCl7dGhpcy5oYW5kbGVycz1bXX1DLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDpBLHJlamVjdGVkOkksc3luY2hyb25vdXM6ISFnJiZnLnN5bmNocm9ub3VzLHJ1bldoZW46Zz9nLnJ1bldoZW46bnVsbH0pLHRoaXMuaGFuZGxlcnMubGVuZ3RoLTF9LEMucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKEEpe3RoaXMuaGFuZGxlcnNbQV0mJih0aGlzLmhhbmRsZXJzW0FdPW51bGwpfSxDLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKEEpe0IuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLChmdW5jdGlvbihJKXtudWxsIT09SSYmQShJKX0pKX0sQS5leHBvcnRzPUN9LDk3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDc5MyksQz1nKDMwMyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEmJiFCKEkpP0MoQSxJKTpJfX0sNjE6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNDgxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQyxRKXt2YXIgRT1uZXcgRXJyb3IoQSk7cmV0dXJuIEIoRSxJLGcsQyxRKX19LDU3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg1MjcpLFE9Zyg1MDIpLEU9Zyg2NTUpLGk9ZygyNjMpO2Z1bmN0aW9uIG8oQSl7aWYoQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCksQS5zaWduYWwmJkEuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IGkoXCJjYW5jZWxlZFwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIG8oQSksQS5oZWFkZXJzPUEuaGVhZGVyc3x8e30sQS5kYXRhPUMuY2FsbChBLEEuZGF0YSxBLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXF1ZXN0KSxBLmhlYWRlcnM9Qi5tZXJnZShBLmhlYWRlcnMuY29tbW9ufHx7fSxBLmhlYWRlcnNbQS5tZXRob2RdfHx7fSxBLmhlYWRlcnMpLEIuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiLFwicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiLFwiY29tbW9uXCJdLChmdW5jdGlvbihJKXtkZWxldGUgQS5oZWFkZXJzW0ldfSkpLChBLmFkYXB0ZXJ8fEUuYWRhcHRlcikoQSkudGhlbigoZnVuY3Rpb24oSSl7cmV0dXJuIG8oQSksSS5kYXRhPUMuY2FsbChBLEkuZGF0YSxJLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSksSX0pLChmdW5jdGlvbihJKXtyZXR1cm4gUShJKXx8KG8oQSksSSYmSS5yZXNwb25zZSYmKEkucmVzcG9uc2UuZGF0YT1DLmNhbGwoQSxJLnJlc3BvbnNlLmRhdGEsSS5yZXNwb25zZS5oZWFkZXJzLEEudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoSSl9KSl9fSw0ODE6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBLmNvbmZpZz1JLGcmJihBLmNvZGU9ZyksQS5yZXF1ZXN0PUIsQS5yZXNwb25zZT1DLEEuaXNBeGlvc0Vycm9yPSEwLEEudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlLHN0YXR1czp0aGlzLnJlc3BvbnNlJiZ0aGlzLnJlc3BvbnNlLnN0YXR1cz90aGlzLnJlc3BvbnNlLnN0YXR1czpudWxsfX0sQX19LDE4NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe0k9SXx8e307dmFyIGc9e307ZnVuY3Rpb24gQyhBLEkpe3JldHVybiBCLmlzUGxhaW5PYmplY3QoQSkmJkIuaXNQbGFpbk9iamVjdChJKT9CLm1lcmdlKEEsSSk6Qi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2Uoe30sSSk6Qi5pc0FycmF5KEkpP0kuc2xpY2UoKTpJfWZ1bmN0aW9uIFEoZyl7cmV0dXJuIEIuaXNVbmRlZmluZWQoSVtnXSk/Qi5pc1VuZGVmaW5lZChBW2ddKT92b2lkIDA6Qyh2b2lkIDAsQVtnXSk6QyhBW2ddLElbZ10pfWZ1bmN0aW9uIEUoQSl7aWYoIUIuaXNVbmRlZmluZWQoSVtBXSkpcmV0dXJuIEModm9pZCAwLElbQV0pfWZ1bmN0aW9uIGkoZyl7cmV0dXJuIEIuaXNVbmRlZmluZWQoSVtnXSk/Qi5pc1VuZGVmaW5lZChBW2ddKT92b2lkIDA6Qyh2b2lkIDAsQVtnXSk6Qyh2b2lkIDAsSVtnXSl9ZnVuY3Rpb24gbyhnKXtyZXR1cm4gZyBpbiBJP0MoQVtnXSxJW2ddKTpnIGluIEE/Qyh2b2lkIDAsQVtnXSk6dm9pZCAwfXZhciBEPXt1cmw6RSxtZXRob2Q6RSxkYXRhOkUsYmFzZVVSTDppLHRyYW5zZm9ybVJlcXVlc3Q6aSx0cmFuc2Zvcm1SZXNwb25zZTppLHBhcmFtc1NlcmlhbGl6ZXI6aSx0aW1lb3V0OmksdGltZW91dE1lc3NhZ2U6aSx3aXRoQ3JlZGVudGlhbHM6aSxhZGFwdGVyOmkscmVzcG9uc2VUeXBlOmkseHNyZkNvb2tpZU5hbWU6aSx4c3JmSGVhZGVyTmFtZTppLG9uVXBsb2FkUHJvZ3Jlc3M6aSxvbkRvd25sb2FkUHJvZ3Jlc3M6aSxkZWNvbXByZXNzOmksbWF4Q29udGVudExlbmd0aDppLG1heEJvZHlMZW5ndGg6aSx0cmFuc3BvcnQ6aSxodHRwQWdlbnQ6aSxodHRwc0FnZW50OmksY2FuY2VsVG9rZW46aSxzb2NrZXRQYXRoOmkscmVzcG9uc2VFbmNvZGluZzppLHZhbGlkYXRlU3RhdHVzOm99O3JldHVybiBCLmZvckVhY2goT2JqZWN0LmtleXMoQSkuY29uY2F0KE9iamVjdC5rZXlzKEkpKSwoZnVuY3Rpb24oQSl7dmFyIEk9RFtBXXx8USxDPUkoQSk7Qi5pc1VuZGVmaW5lZChDKSYmSSE9PW98fChnW0FdPUMpfSkpLGd9fSwyNjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg2MSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQz1nLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztnLnN0YXR1cyYmQyYmIUMoZy5zdGF0dXMpP0koQihcIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgXCIrZy5zdGF0dXMsZy5jb25maWcsbnVsbCxnLnJlcXVlc3QsZykpOkEoZyl9fSw1Mjc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoNjU1KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBRPXRoaXN8fEM7cmV0dXJuIEIuZm9yRWFjaChnLChmdW5jdGlvbihnKXtBPWcuY2FsbChRLEEsSSl9KSksQX19LDY1NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9ZygxNiksUT1nKDQ4MSksRT17XCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwifTtmdW5jdGlvbiBpKEEsSSl7IUIuaXNVbmRlZmluZWQoQSkmJkIuaXNVbmRlZmluZWQoQVtcIkNvbnRlbnQtVHlwZVwiXSkmJihBW1wiQ29udGVudC1UeXBlXCJdPUkpfXZhciBvLEQ9e3RyYW5zaXRpb25hbDp7c2lsZW50SlNPTlBhcnNpbmc6ITAsZm9yY2VkSlNPTlBhcnNpbmc6ITAsY2xhcmlmeVRpbWVvdXRFcnJvcjohMX0sYWRhcHRlcjooKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdHx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByb2Nlc3MmJlwiW29iamVjdCBwcm9jZXNzXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHByb2Nlc3MpKSYmKG89Zyg0NDgpKSxvKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihBLEkpe3JldHVybiBDKEksXCJBY2NlcHRcIiksQyhJLFwiQ29udGVudC1UeXBlXCIpLEIuaXNGb3JtRGF0YShBKXx8Qi5pc0FycmF5QnVmZmVyKEEpfHxCLmlzQnVmZmVyKEEpfHxCLmlzU3RyZWFtKEEpfHxCLmlzRmlsZShBKXx8Qi5pc0Jsb2IoQSk/QTpCLmlzQXJyYXlCdWZmZXJWaWV3KEEpP0EuYnVmZmVyOkIuaXNVUkxTZWFyY2hQYXJhbXMoQSk/KGkoSSxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04XCIpLEEudG9TdHJpbmcoKSk6Qi5pc09iamVjdChBKXx8SSYmXCJhcHBsaWNhdGlvbi9qc29uXCI9PT1JW1wiQ29udGVudC1UeXBlXCJdPyhpKEksXCJhcHBsaWNhdGlvbi9qc29uXCIpLGZ1bmN0aW9uKEEsSSxnKXtpZihCLmlzU3RyaW5nKEEpKXRyeXtyZXR1cm4oMCxKU09OLnBhcnNlKShBKSxCLnRyaW0oQSl9Y2F0Y2goQSl7aWYoXCJTeW50YXhFcnJvclwiIT09QS5uYW1lKXRocm93IEF9cmV0dXJuKDAsSlNPTi5zdHJpbmdpZnkpKEEpfShBKSk6QX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihBKXt2YXIgST10aGlzLnRyYW5zaXRpb25hbHx8RC50cmFuc2l0aW9uYWwsZz1JJiZJLnNpbGVudEpTT05QYXJzaW5nLEM9SSYmSS5mb3JjZWRKU09OUGFyc2luZyxFPSFnJiZcImpzb25cIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKEV8fEMmJkIuaXNTdHJpbmcoQSkmJkEubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShBKX1jYXRjaChBKXtpZihFKXtpZihcIlN5bnRheEVycm9yXCI9PT1BLm5hbWUpdGhyb3cgUShBLHRoaXMsXCJFX0pTT05fUEFSU0VcIik7dGhyb3cgQX19cmV0dXJuIEF9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6XCJYU1JGLVRPS0VOXCIseHNyZkhlYWRlck5hbWU6XCJYLVhTUkYtVE9LRU5cIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oQSl7cmV0dXJuIEE+PTIwMCYmQTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXCJ9fX07Qi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCJdLChmdW5jdGlvbihBKXtELmhlYWRlcnNbQV09e319KSksQi5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT1CLm1lcmdlKEUpfSkpLEEuZXhwb3J0cz1EfSwyODg6QT0+e0EuZXhwb3J0cz17dmVyc2lvbjpcIjAuMjQuMFwifX0sODQ5OkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGc9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLEI9MDtCPGcubGVuZ3RoO0IrKylnW0JdPWFyZ3VtZW50c1tCXTtyZXR1cm4gQS5hcHBseShJLGcpfX19LDMyNzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChBKS5yZXBsYWNlKC8lM0EvZ2ksXCI6XCIpLnJlcGxhY2UoLyUyNC9nLFwiJFwiKS5yZXBsYWNlKC8lMkMvZ2ksXCIsXCIpLnJlcGxhY2UoLyUyMC9nLFwiK1wiKS5yZXBsYWNlKC8lNUIvZ2ksXCJbXCIpLnJlcGxhY2UoLyU1RC9naSxcIl1cIil9QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXtpZighSSlyZXR1cm4gQTt2YXIgUTtpZihnKVE9ZyhJKTtlbHNlIGlmKEIuaXNVUkxTZWFyY2hQYXJhbXMoSSkpUT1JLnRvU3RyaW5nKCk7ZWxzZXt2YXIgRT1bXTtCLmZvckVhY2goSSwoZnVuY3Rpb24oQSxJKXtudWxsIT1BJiYoQi5pc0FycmF5KEEpP0krPVwiW11cIjpBPVtBXSxCLmZvckVhY2goQSwoZnVuY3Rpb24oQSl7Qi5pc0RhdGUoQSk/QT1BLnRvSVNPU3RyaW5nKCk6Qi5pc09iamVjdChBKSYmKEE9SlNPTi5zdHJpbmdpZnkoQSkpLEUucHVzaChDKEkpK1wiPVwiK0MoQSkpfSkpKX0pKSxRPUUuam9pbihcIiZcIil9aWYoUSl7dmFyIGk9QS5pbmRleE9mKFwiI1wiKTstMSE9PWkmJihBPUEuc2xpY2UoMCxpKSksQSs9KC0xPT09QS5pbmRleE9mKFwiP1wiKT9cIj9cIjpcIiZcIikrUX1yZXR1cm4gQX19LDMwMzpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk/QS5yZXBsYWNlKC9cXC8rJC8sXCJcIikrXCIvXCIrSS5yZXBsYWNlKC9eXFwvKy8sXCJcIik6QX19LDM3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSxFKXt2YXIgaT1bXTtpLnB1c2goQStcIj1cIitlbmNvZGVVUklDb21wb25lbnQoSSkpLEIuaXNOdW1iZXIoZykmJmkucHVzaChcImV4cGlyZXM9XCIrbmV3IERhdGUoZykudG9HTVRTdHJpbmcoKSksQi5pc1N0cmluZyhDKSYmaS5wdXNoKFwicGF0aD1cIitDKSxCLmlzU3RyaW5nKFEpJiZpLnB1c2goXCJkb21haW49XCIrUSksITA9PT1FJiZpLnB1c2goXCJzZWN1cmVcIiksZG9jdW1lbnQuY29va2llPWkuam9pbihcIjsgXCIpfSxyZWFkOmZ1bmN0aW9uKEEpe3ZhciBJPWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKFwiKF58O1xcXFxzKikoXCIrQStcIik9KFteO10qKVwiKSk7cmV0dXJuIEk/ZGVjb2RlVVJJQ29tcG9uZW50KElbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihBKXt0aGlzLndyaXRlKEEsXCJcIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fX0sNzkzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuL14oW2Etel1bYS16XFxkXFwrXFwtXFwuXSo6KT9cXC9cXC8vaS50ZXN0KEEpfX0sMjY4OkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIEEmJiEwPT09QS5pc0F4aW9zRXJyb3J9fSw5ODU6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9Qi5pc1N0YW5kYXJkQnJvd3NlckVudigpP2Z1bmN0aW9uKCl7dmFyIEEsST0vKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7ZnVuY3Rpb24gQyhBKXt2YXIgQj1BO3JldHVybiBJJiYoZy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsQiksQj1nLmhyZWYpLGcuc2V0QXR0cmlidXRlKFwiaHJlZlwiLEIpLHtocmVmOmcuaHJlZixwcm90b2NvbDpnLnByb3RvY29sP2cucHJvdG9jb2wucmVwbGFjZSgvOiQvLFwiXCIpOlwiXCIsaG9zdDpnLmhvc3Qsc2VhcmNoOmcuc2VhcmNoP2cuc2VhcmNoLnJlcGxhY2UoL15cXD8vLFwiXCIpOlwiXCIsaGFzaDpnLmhhc2g/Zy5oYXNoLnJlcGxhY2UoL14jLyxcIlwiKTpcIlwiLGhvc3RuYW1lOmcuaG9zdG5hbWUscG9ydDpnLnBvcnQscGF0aG5hbWU6XCIvXCI9PT1nLnBhdGhuYW1lLmNoYXJBdCgwKT9nLnBhdGhuYW1lOlwiL1wiK2cucGF0aG5hbWV9fXJldHVybiBBPUMod2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKEkpe3ZhciBnPUIuaXNTdHJpbmcoSSk/QyhJKTpJO3JldHVybiBnLnByb3RvY29sPT09QS5wcm90b2NvbCYmZy5ob3N0PT09QS5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sMTY6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtCLmZvckVhY2goQSwoZnVuY3Rpb24oZyxCKXtCIT09SSYmQi50b1VwcGVyQ2FzZSgpPT09SS50b1VwcGVyQ2FzZSgpJiYoQVtJXT1nLGRlbGV0ZSBBW0JdKX0pKX19LDEwOTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9W1wiYWdlXCIsXCJhdXRob3JpemF0aW9uXCIsXCJjb250ZW50LWxlbmd0aFwiLFwiY29udGVudC10eXBlXCIsXCJldGFnXCIsXCJleHBpcmVzXCIsXCJmcm9tXCIsXCJob3N0XCIsXCJpZi1tb2RpZmllZC1zaW5jZVwiLFwiaWYtdW5tb2RpZmllZC1zaW5jZVwiLFwibGFzdC1tb2RpZmllZFwiLFwibG9jYXRpb25cIixcIm1heC1mb3J3YXJkc1wiLFwicHJveHktYXV0aG9yaXphdGlvblwiLFwicmVmZXJlclwiLFwicmV0cnktYWZ0ZXJcIixcInVzZXItYWdlbnRcIl07QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3ZhciBJLGcsUSxFPXt9O3JldHVybiBBPyhCLmZvckVhY2goQS5zcGxpdChcIlxcblwiKSwoZnVuY3Rpb24oQSl7aWYoUT1BLmluZGV4T2YoXCI6XCIpLEk9Qi50cmltKEEuc3Vic3RyKDAsUSkpLnRvTG93ZXJDYXNlKCksZz1CLnRyaW0oQS5zdWJzdHIoUSsxKSksSSl7aWYoRVtJXSYmQy5pbmRleE9mKEkpPj0wKXJldHVybjtFW0ldPVwic2V0LWNvb2tpZVwiPT09ST8oRVtJXT9FW0ldOltdKS5jb25jYXQoW2ddKTpFW0ldP0VbSV0rXCIsIFwiK2c6Z319KSksRSk6RX19LDcxMzpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseShudWxsLEkpfX19LDg3NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9ZygyODgpLnZlcnNpb24sQz17fTtbXCJvYmplY3RcIixcImJvb2xlYW5cIixcIm51bWJlclwiLFwiZnVuY3Rpb25cIixcInN0cmluZ1wiLFwic3ltYm9sXCJdLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7Q1tBXT1mdW5jdGlvbihnKXtyZXR1cm4gdHlwZW9mIGc9PT1BfHxcImFcIisoSTwxP1wibiBcIjpcIiBcIikrQX19KSk7dmFyIFE9e307Qy50cmFuc2l0aW9uYWw9ZnVuY3Rpb24oQSxJLGcpe2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm5cIltBeGlvcyB2XCIrQitcIl0gVHJhbnNpdGlvbmFsIG9wdGlvbiAnXCIrQStcIidcIitJKyhnP1wiLiBcIitnOlwiXCIpfXJldHVybiBmdW5jdGlvbihnLEIsRSl7aWYoITE9PT1BKXRocm93IG5ldyBFcnJvcihDKEIsXCIgaGFzIGJlZW4gcmVtb3ZlZFwiKyhJP1wiIGluIFwiK0k6XCJcIikpKTtyZXR1cm4gSSYmIVFbQl0mJihRW0JdPSEwLGNvbnNvbGUud2FybihDKEIsXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSB2XCIrSStcIiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZWFyIGZ1dHVyZVwiKSkpLCFBfHxBKGcsQixFKX19LEEuZXhwb3J0cz17YXNzZXJ0T3B0aW9uczpmdW5jdGlvbihBLEksZyl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIEEpdGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3RcIik7Zm9yKHZhciBCPU9iamVjdC5rZXlzKEEpLEM9Qi5sZW5ndGg7Qy0tID4wOyl7dmFyIFE9QltDXSxFPUlbUV07aWYoRSl7dmFyIGk9QVtRXSxvPXZvaWQgMD09PWl8fEUoaSxRLEEpO2lmKCEwIT09byl0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIFwiK1ErXCIgbXVzdCBiZSBcIitvKX1lbHNlIGlmKCEwIT09Zyl0aHJvdyBFcnJvcihcIlVua25vd24gb3B0aW9uIFwiK1EpfX0sdmFsaWRhdG9yczpDfX0sODY3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg0OSksQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIFEoQSl7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIEUoQSl7cmV0dXJuIHZvaWQgMD09PUF9ZnVuY3Rpb24gaShBKXtyZXR1cm4gbnVsbCE9PUEmJlwib2JqZWN0XCI9PXR5cGVvZiBBfWZ1bmN0aW9uIG8oQSl7aWYoXCJbb2JqZWN0IE9iamVjdF1cIiE9PUMuY2FsbChBKSlyZXR1cm4hMTt2YXIgST1PYmplY3QuZ2V0UHJvdG90eXBlT2YoQSk7cmV0dXJuIG51bGw9PT1JfHxJPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBEKEEpe3JldHVyblwiW29iamVjdCBGdW5jdGlvbl1cIj09PUMuY2FsbChBKX1mdW5jdGlvbiBhKEEsSSl7aWYobnVsbCE9QSlpZihcIm9iamVjdFwiIT10eXBlb2YgQSYmKEE9W0FdKSxRKEEpKWZvcih2YXIgZz0wLEI9QS5sZW5ndGg7ZzxCO2crKylJLmNhbGwobnVsbCxBW2ddLGcsQSk7ZWxzZSBmb3IodmFyIEMgaW4gQSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQSxDKSYmSS5jYWxsKG51bGwsQVtDXSxDLEEpfUEuZXhwb3J0cz17aXNBcnJheTpRLGlzQXJyYXlCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiPT09Qy5jYWxsKEEpfSxpc0J1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm4gbnVsbCE9PUEmJiFFKEEpJiZudWxsIT09QS5jb25zdHJ1Y3RvciYmIUUoQS5jb25zdHJ1Y3RvcikmJlwiZnVuY3Rpb25cIj09dHlwZW9mIEEuY29uc3RydWN0b3IuaXNCdWZmZXImJkEuY29uc3RydWN0b3IuaXNCdWZmZXIoQSl9LGlzRm9ybURhdGE6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZvcm1EYXRhJiZBIGluc3RhbmNlb2YgRm9ybURhdGF9LGlzQXJyYXlCdWZmZXJWaWV3OmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhBKTpBJiZBLmJ1ZmZlciYmQS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn0saXNTdHJpbmc6ZnVuY3Rpb24oQSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIEF9LGlzTnVtYmVyOmZ1bmN0aW9uKEEpe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZiBBfSxpc09iamVjdDppLGlzUGxhaW5PYmplY3Q6byxpc1VuZGVmaW5lZDpFLGlzRGF0ZTpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgRGF0ZV1cIj09PUMuY2FsbChBKX0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBGaWxlXVwiPT09Qy5jYWxsKEEpfSxpc0Jsb2I6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEJsb2JdXCI9PT1DLmNhbGwoQSl9LGlzRnVuY3Rpb246RCxpc1N0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaShBKSYmRChBLnBpcGUpfSxpc1VSTFNlYXJjaFBhcmFtczpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZBIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfSxpc1N0YW5kYXJkQnJvd3NlckVudjpmdW5jdGlvbigpe3JldHVybihcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yfHxcIlJlYWN0TmF0aXZlXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOYXRpdmVTY3JpcHRcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5TXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudH0sZm9yRWFjaDphLG1lcmdlOmZ1bmN0aW9uIEEoKXt2YXIgST17fTtmdW5jdGlvbiBnKGcsQil7byhJW0JdKSYmbyhnKT9JW0JdPUEoSVtCXSxnKTpvKGcpP0lbQl09QSh7fSxnKTpRKGcpP0lbQl09Zy5zbGljZSgpOklbQl09Z31mb3IodmFyIEI9MCxDPWFyZ3VtZW50cy5sZW5ndGg7QjxDO0IrKylhKGFyZ3VtZW50c1tCXSxnKTtyZXR1cm4gSX0sZXh0ZW5kOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gYShJLChmdW5jdGlvbihJLEMpe0FbQ109ZyYmXCJmdW5jdGlvblwiPT10eXBlb2YgST9CKEksZyk6SX0pKSxBfSx0cmltOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRyaW0/QS50cmltKCk6QS5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLFwiXCIpfSxzdHJpcEJPTTpmdW5jdGlvbihBKXtyZXR1cm4gNjUyNzk9PT1BLmNoYXJDb2RlQXQoMCkmJihBPUEuc2xpY2UoMSkpLEF9fX0sNjY2OkE9Pnt2YXIgST1mdW5jdGlvbihBKXtcInVzZSBzdHJpY3RcIjt2YXIgSSxnPU9iamVjdC5wcm90b3R5cGUsQj1nLmhhc093blByb3BlcnR5LEM9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxRPUMuaXRlcmF0b3J8fFwiQEBpdGVyYXRvclwiLEU9Qy5hc3luY0l0ZXJhdG9yfHxcIkBAYXN5bmNJdGVyYXRvclwiLGk9Qy50b1N0cmluZ1RhZ3x8XCJAQHRvU3RyaW5nVGFnXCI7ZnVuY3Rpb24gbyhBLEksZyl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSxBW0ldfXRyeXtvKHt9LFwiXCIpfWNhdGNoKEEpe289ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBBW0ldPWd9fWZ1bmN0aW9uIEQoQSxJLGcsQil7dmFyIEM9SSYmSS5wcm90b3R5cGUgaW5zdGFuY2VvZiBSP0k6UixRPU9iamVjdC5jcmVhdGUoQy5wcm90b3R5cGUpLEU9bmV3IFkoQnx8W10pO3JldHVybiBRLl9pbnZva2U9ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPXc7cmV0dXJuIGZ1bmN0aW9uKEMsUSl7aWYoQj09PUcpdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTtpZihCPT09aCl7aWYoXCJ0aHJvd1wiPT09Qyl0aHJvdyBRO3JldHVybiBKKCl9Zm9yKGcubWV0aG9kPUMsZy5hcmc9UTs7KXt2YXIgRT1nLmRlbGVnYXRlO2lmKEUpe3ZhciBpPWsoRSxnKTtpZihpKXtpZihpPT09cyljb250aW51ZTtyZXR1cm4gaX19aWYoXCJuZXh0XCI9PT1nLm1ldGhvZClnLnNlbnQ9Zy5fc2VudD1nLmFyZztlbHNlIGlmKFwidGhyb3dcIj09PWcubWV0aG9kKXtpZihCPT09dyl0aHJvdyBCPWgsZy5hcmc7Zy5kaXNwYXRjaEV4Y2VwdGlvbihnLmFyZyl9ZWxzZVwicmV0dXJuXCI9PT1nLm1ldGhvZCYmZy5hYnJ1cHQoXCJyZXR1cm5cIixnLmFyZyk7Qj1HO3ZhciBvPWEoQSxJLGcpO2lmKFwibm9ybWFsXCI9PT1vLnR5cGUpe2lmKEI9Zy5kb25lP2g6RixvLmFyZz09PXMpY29udGludWU7cmV0dXJue3ZhbHVlOm8uYXJnLGRvbmU6Zy5kb25lfX1cInRocm93XCI9PT1vLnR5cGUmJihCPWgsZy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW8uYXJnKX19fShBLGcsRSksUX1mdW5jdGlvbiBhKEEsSSxnKXt0cnl7cmV0dXJue3R5cGU6XCJub3JtYWxcIixhcmc6QS5jYWxsKEksZyl9fWNhdGNoKEEpe3JldHVybnt0eXBlOlwidGhyb3dcIixhcmc6QX19fUEud3JhcD1EO3ZhciB3PVwic3VzcGVuZGVkU3RhcnRcIixGPVwic3VzcGVuZGVkWWllbGRcIixHPVwiZXhlY3V0aW5nXCIsaD1cImNvbXBsZXRlZFwiLHM9e307ZnVuY3Rpb24gUigpe31mdW5jdGlvbiBVKCl7fWZ1bmN0aW9uIHkoKXt9dmFyIHQ9e307byh0LFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIFM9T2JqZWN0LmdldFByb3RvdHlwZU9mLE09UyYmUyhTKGUoW10pKSk7TSYmTSE9PWcmJkIuY2FsbChNLFEpJiYodD1NKTt2YXIgbj15LnByb3RvdHlwZT1SLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQpO2Z1bmN0aW9uIGMoQSl7W1wibmV4dFwiLFwidGhyb3dcIixcInJldHVyblwiXS5mb3JFYWNoKChmdW5jdGlvbihJKXtvKEEsSSwoZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2ludm9rZShJLEEpfSkpfSkpfWZ1bmN0aW9uIHIoQSxJKXtmdW5jdGlvbiBnKEMsUSxFLGkpe3ZhciBvPWEoQVtDXSxBLFEpO2lmKFwidGhyb3dcIiE9PW8udHlwZSl7dmFyIEQ9by5hcmcsdz1ELnZhbHVlO3JldHVybiB3JiZcIm9iamVjdFwiPT10eXBlb2YgdyYmQi5jYWxsKHcsXCJfX2F3YWl0XCIpP0kucmVzb2x2ZSh3Ll9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKEEpe2coXCJuZXh0XCIsQSxFLGkpfSksKGZ1bmN0aW9uKEEpe2coXCJ0aHJvd1wiLEEsRSxpKX0pKTpJLnJlc29sdmUodykudGhlbigoZnVuY3Rpb24oQSl7RC52YWx1ZT1BLEUoRCl9KSwoZnVuY3Rpb24oQSl7cmV0dXJuIGcoXCJ0aHJvd1wiLEEsRSxpKX0pKX1pKG8uYXJnKX12YXIgQzt0aGlzLl9pbnZva2U9ZnVuY3Rpb24oQSxCKXtmdW5jdGlvbiBRKCl7cmV0dXJuIG5ldyBJKChmdW5jdGlvbihJLEMpe2coQSxCLEksQyl9KSl9cmV0dXJuIEM9Qz9DLnRoZW4oUSxRKTpRKCl9fWZ1bmN0aW9uIGsoQSxnKXt2YXIgQj1BLml0ZXJhdG9yW2cubWV0aG9kXTtpZihCPT09SSl7aWYoZy5kZWxlZ2F0ZT1udWxsLFwidGhyb3dcIj09PWcubWV0aG9kKXtpZihBLml0ZXJhdG9yLnJldHVybiYmKGcubWV0aG9kPVwicmV0dXJuXCIsZy5hcmc9SSxrKEEsZyksXCJ0aHJvd1wiPT09Zy5tZXRob2QpKXJldHVybiBzO2cubWV0aG9kPVwidGhyb3dcIixnLmFyZz1uZXcgVHlwZUVycm9yKFwiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZFwiKX1yZXR1cm4gc312YXIgQz1hKEIsQS5pdGVyYXRvcixnLmFyZyk7aWYoXCJ0aHJvd1wiPT09Qy50eXBlKXJldHVybiBnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9Qy5hcmcsZy5kZWxlZ2F0ZT1udWxsLHM7dmFyIFE9Qy5hcmc7cmV0dXJuIFE/US5kb25lPyhnW0EucmVzdWx0TmFtZV09US52YWx1ZSxnLm5leHQ9QS5uZXh0TG9jLFwicmV0dXJuXCIhPT1nLm1ldGhvZCYmKGcubWV0aG9kPVwibmV4dFwiLGcuYXJnPUkpLGcuZGVsZWdhdGU9bnVsbCxzKTpROihnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9bmV3IFR5cGVFcnJvcihcIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0XCIpLGcuZGVsZWdhdGU9bnVsbCxzKX1mdW5jdGlvbiBLKEEpe3ZhciBJPXt0cnlMb2M6QVswXX07MSBpbiBBJiYoSS5jYXRjaExvYz1BWzFdKSwyIGluIEEmJihJLmZpbmFsbHlMb2M9QVsyXSxJLmFmdGVyTG9jPUFbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKEkpfWZ1bmN0aW9uIE4oQSl7dmFyIEk9QS5jb21wbGV0aW9ufHx7fTtJLnR5cGU9XCJub3JtYWxcIixkZWxldGUgSS5hcmcsQS5jb21wbGV0aW9uPUl9ZnVuY3Rpb24gWShBKXt0aGlzLnRyeUVudHJpZXM9W3t0cnlMb2M6XCJyb290XCJ9XSxBLmZvckVhY2goSyx0aGlzKSx0aGlzLnJlc2V0KCEwKX1mdW5jdGlvbiBlKEEpe2lmKEEpe3ZhciBnPUFbUV07aWYoZylyZXR1cm4gZy5jYWxsKEEpO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEubmV4dClyZXR1cm4gQTtpZighaXNOYU4oQS5sZW5ndGgpKXt2YXIgQz0tMSxFPWZ1bmN0aW9uIGcoKXtmb3IoOysrQzxBLmxlbmd0aDspaWYoQi5jYWxsKEEsQykpcmV0dXJuIGcudmFsdWU9QVtDXSxnLmRvbmU9ITEsZztyZXR1cm4gZy52YWx1ZT1JLGcuZG9uZT0hMCxnfTtyZXR1cm4gRS5uZXh0PUV9fXJldHVybntuZXh0Okp9fWZ1bmN0aW9uIEooKXtyZXR1cm57dmFsdWU6SSxkb25lOiEwfX1yZXR1cm4gVS5wcm90b3R5cGU9eSxvKG4sXCJjb25zdHJ1Y3RvclwiLHkpLG8oeSxcImNvbnN0cnVjdG9yXCIsVSksVS5kaXNwbGF5TmFtZT1vKHksaSxcIkdlbmVyYXRvckZ1bmN0aW9uXCIpLEEuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbihBKXt2YXIgST1cImZ1bmN0aW9uXCI9PXR5cGVvZiBBJiZBLmNvbnN0cnVjdG9yO3JldHVybiEhSSYmKEk9PT1VfHxcIkdlbmVyYXRvckZ1bmN0aW9uXCI9PT0oSS5kaXNwbGF5TmFtZXx8SS5uYW1lKSl9LEEubWFyaz1mdW5jdGlvbihBKXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihBLHkpOihBLl9fcHJvdG9fXz15LG8oQSxpLFwiR2VuZXJhdG9yRnVuY3Rpb25cIikpLEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobiksQX0sQS5hd3JhcD1mdW5jdGlvbihBKXtyZXR1cm57X19hd2FpdDpBfX0sYyhyLnByb3RvdHlwZSksbyhyLnByb3RvdHlwZSxFLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLEEuQXN5bmNJdGVyYXRvcj1yLEEuYXN5bmM9ZnVuY3Rpb24oSSxnLEIsQyxRKXt2b2lkIDA9PT1RJiYoUT1Qcm9taXNlKTt2YXIgRT1uZXcgcihEKEksZyxCLEMpLFEpO3JldHVybiBBLmlzR2VuZXJhdG9yRnVuY3Rpb24oZyk/RTpFLm5leHQoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gQS5kb25lP0EudmFsdWU6RS5uZXh0KCl9KSl9LGMobiksbyhuLGksXCJHZW5lcmF0b3JcIiksbyhuLFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksbyhuLFwidG9TdHJpbmdcIiwoZnVuY3Rpb24oKXtyZXR1cm5cIltvYmplY3QgR2VuZXJhdG9yXVwifSkpLEEua2V5cz1mdW5jdGlvbihBKXt2YXIgST1bXTtmb3IodmFyIGcgaW4gQSlJLnB1c2goZyk7cmV0dXJuIEkucmV2ZXJzZSgpLGZ1bmN0aW9uIGcoKXtmb3IoO0kubGVuZ3RoOyl7dmFyIEI9SS5wb3AoKTtpZihCIGluIEEpcmV0dXJuIGcudmFsdWU9QixnLmRvbmU9ITEsZ31yZXR1cm4gZy5kb25lPSEwLGd9fSxBLnZhbHVlcz1lLFkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZLHJlc2V0OmZ1bmN0aW9uKEEpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PUksdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLmFyZz1JLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE4pLCFBKWZvcih2YXIgZyBpbiB0aGlzKVwidFwiPT09Zy5jaGFyQXQoMCkmJkIuY2FsbCh0aGlzLGcpJiYhaXNOYU4oK2cuc2xpY2UoMSkpJiYodGhpc1tnXT1JKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgQT10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZihcInRocm93XCI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24oQSl7aWYodGhpcy5kb25lKXRocm93IEE7dmFyIGc9dGhpcztmdW5jdGlvbiBDKEIsQyl7cmV0dXJuIGkudHlwZT1cInRocm93XCIsaS5hcmc9QSxnLm5leHQ9QixDJiYoZy5tZXRob2Q9XCJuZXh0XCIsZy5hcmc9SSksISFDfWZvcih2YXIgUT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7UT49MDstLVEpe3ZhciBFPXRoaXMudHJ5RW50cmllc1tRXSxpPUUuY29tcGxldGlvbjtpZihcInJvb3RcIj09PUUudHJ5TG9jKXJldHVybiBDKFwiZW5kXCIpO2lmKEUudHJ5TG9jPD10aGlzLnByZXYpe3ZhciBvPUIuY2FsbChFLFwiY2F0Y2hMb2NcIiksRD1CLmNhbGwoRSxcImZpbmFsbHlMb2NcIik7aWYobyYmRCl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfWVsc2UgaWYobyl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCl9ZWxzZXtpZighRCl0aHJvdyBuZXcgRXJyb3IoXCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseVwiKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7Zz49MDstLWcpe3ZhciBDPXRoaXMudHJ5RW50cmllc1tnXTtpZihDLnRyeUxvYzw9dGhpcy5wcmV2JiZCLmNhbGwoQyxcImZpbmFsbHlMb2NcIikmJnRoaXMucHJldjxDLmZpbmFsbHlMb2Mpe3ZhciBRPUM7YnJlYWt9fVEmJihcImJyZWFrXCI9PT1BfHxcImNvbnRpbnVlXCI9PT1BKSYmUS50cnlMb2M8PUkmJkk8PVEuZmluYWxseUxvYyYmKFE9bnVsbCk7dmFyIEU9UT9RLmNvbXBsZXRpb246e307cmV0dXJuIEUudHlwZT1BLEUuYXJnPUksUT8odGhpcy5tZXRob2Q9XCJuZXh0XCIsdGhpcy5uZXh0PVEuZmluYWxseUxvYyxzKTp0aGlzLmNvbXBsZXRlKEUpfSxjb21wbGV0ZTpmdW5jdGlvbihBLEkpe2lmKFwidGhyb3dcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm5cImJyZWFrXCI9PT1BLnR5cGV8fFwiY29udGludWVcIj09PUEudHlwZT90aGlzLm5leHQ9QS5hcmc6XCJyZXR1cm5cIj09PUEudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPUEuYXJnLHRoaXMubWV0aG9kPVwicmV0dXJuXCIsdGhpcy5uZXh0PVwiZW5kXCIpOlwibm9ybWFsXCI9PT1BLnR5cGUmJkkmJih0aGlzLm5leHQ9SSksc30sZmluaXNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLmZpbmFsbHlMb2M9PT1BKXJldHVybiB0aGlzLmNvbXBsZXRlKGcuY29tcGxldGlvbixnLmFmdGVyTG9jKSxOKGcpLHN9fSxjYXRjaDpmdW5jdGlvbihBKXtmb3IodmFyIEk9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO0k+PTA7LS1JKXt2YXIgZz10aGlzLnRyeUVudHJpZXNbSV07aWYoZy50cnlMb2M9PT1BKXt2YXIgQj1nLmNvbXBsZXRpb247aWYoXCJ0aHJvd1wiPT09Qi50eXBlKXt2YXIgQz1CLmFyZztOKGcpfXJldHVybiBDfX10aHJvdyBuZXcgRXJyb3IoXCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHRcIil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24oQSxnLEIpe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjplKEEpLHJlc3VsdE5hbWU6ZyxuZXh0TG9jOkJ9LFwibmV4dFwiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1JKSxzfX0sQX0oQS5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPUl9Y2F0Y2goQSl7XCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpcy5yZWdlbmVyYXRvclJ1bnRpbWU9STpGdW5jdGlvbihcInJcIixcInJlZ2VuZXJhdG9yUnVudGltZSA9IHJcIikoSSl9fSw2NTQ6KCk9Pnt9LDIzMTooKT0+e30sNzAzOigpPT57fX0sST17fTtmdW5jdGlvbiBnKEIpe3ZhciBDPUlbQl07aWYodm9pZCAwIT09QylyZXR1cm4gQy5leHBvcnRzO3ZhciBRPUlbQl09e2V4cG9ydHM6e319O3JldHVybiBBW0JdKFEsUS5leHBvcnRzLGcpLFEuZXhwb3J0c31nLm49QT0+e3ZhciBJPUEmJkEuX19lc01vZHVsZT8oKT0+QS5kZWZhdWx0OigpPT5BO3JldHVybiBnLmQoSSx7YTpJfSksSX0sZy5kPShBLEkpPT57Zm9yKHZhciBCIGluIEkpZy5vKEksQikmJiFnLm8oQSxCKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQix7ZW51bWVyYWJsZTohMCxnZXQ6SVtCXX0pfSxnLmc9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCl9Y2F0Y2goQSl7aWYoXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxnLm89KEEsSSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEkpO3ZhciBCPXt9O3JldHVybigoKT0+e1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIEEoQSxJLGcsQixDLFEsRSl7dHJ5e3ZhciBpPUFbUV0oRSksbz1pLnZhbHVlfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9aS5kb25lP0kobyk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oQixDKX1mdW5jdGlvbiBJKEkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBnPXRoaXMsQj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihDLFEpe3ZhciBFPUkuYXBwbHkoZyxCKTtmdW5jdGlvbiBpKEkpe0EoRSxDLFEsaSxvLFwibmV4dFwiLEkpfWZ1bmN0aW9uIG8oSSl7QShFLEMsUSxpLG8sXCJ0aHJvd1wiLEkpfWkodm9pZCAwKX0pKX19ZnVuY3Rpb24gQyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gUShBLEkpe2Zvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKXt2YXIgQj1JW2ddO0IuZW51bWVyYWJsZT1CLmVudW1lcmFibGV8fCExLEIuY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIEImJihCLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLmtleSxCKX19ZnVuY3Rpb24gRShBLEksZyl7cmV0dXJuIEkmJlEoQS5wcm90b3R5cGUsSSksZyYmUShBLGcpLEF9Zy5kKEIse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1nKDc1Nyksbz1nLm4oaSk7ZnVuY3Rpb24gRChBKXtyZXR1cm4gRD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiBBfTpmdW5jdGlvbihBKXtyZXR1cm4gQSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZBLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZBIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBBfSxEKEEpfXZhciBhLHc9KGE9KGE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMCl8fFwiL2luZGV4LmpzXCIsZnVuY3Rpb24oQSl7QT12b2lkIDAhPT0oQT1BfHx7fSk/QTp7fTt2YXIgSSxCPXt9O2ZvcihJIGluIEEpQS5oYXNPd25Qcm9wZXJ0eShJKSYmKEJbSV09QVtJXSk7dmFyIEM9W10sUT1cIi4vdGhpcy5wcm9ncmFtXCIsRT1mdW5jdGlvbihBLEkpe3Rocm93IEl9LGk9ITEsbz0hMSx3PSExLEY9ITE7aT1cIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiB3aW5kb3c/XCJ1bmRlZmluZWRcIjpEKHdpbmRvdykpLG89XCJmdW5jdGlvblwiPT10eXBlb2YgaW1wb3J0U2NyaXB0cyx3PVwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIHByb2Nlc3M/XCJ1bmRlZmluZWRcIjpEKHByb2Nlc3MpKSYmXCJvYmplY3RcIj09PUQocHJvY2Vzcy52ZXJzaW9ucykmJlwic3RyaW5nXCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsRj0haSYmIXcmJiFvO3ZhciBHLGgscyxSLFU9XCJcIjtmdW5jdGlvbiB5KEkpe3JldHVybiBBLmxvY2F0ZUZpbGU/QS5sb2NhdGVGaWxlKEksVSk6VStJfXc/KFU9bz9nKDcwMykuZGlybmFtZShVKStcIi9cIjpcIi8vXCIsRz1mdW5jdGlvbihBLEkpe3ZhciBCPWpnKEEpO3JldHVybiBCP0k/QjpCLnRvU3RyaW5nKCk6KHN8fChzPWcoMjMxKSksUnx8KFI9Zyg3MDMpKSxBPVIubm9ybWFsaXplKEEpLHMucmVhZEZpbGVTeW5jKEEsST9udWxsOlwidXRmOFwiKSl9LGg9ZnVuY3Rpb24oQSl7dmFyIEk9RyhBLCEwKTtyZXR1cm4gSS5idWZmZXJ8fChJPW5ldyBVaW50OEFycmF5KEkpKSxIKEkuYnVmZmVyKSxJfSxwcm9jZXNzLmFyZ3YubGVuZ3RoPjEmJihRPXByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpKSxDPXByb2Nlc3MuYXJndi5zbGljZSgyKSxwcm9jZXNzLm9uKFwidW5jYXVnaHRFeGNlcHRpb25cIiwoZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgTkIpKXRocm93IEF9KSkscHJvY2Vzcy5vbihcInVuaGFuZGxlZFJlamVjdGlvblwiLEpBKSxFPWZ1bmN0aW9uKEEpe3Byb2Nlc3MuZXhpdChBKX0sQS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuXCJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XVwifSk6Rj8oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHJlYWQmJihHPWZ1bmN0aW9uKEEpe3ZhciBJPWpnKEEpO3JldHVybiBJP1ZnKEkpOnJlYWQoQSl9KSxoPWZ1bmN0aW9uKEEpe3ZhciBJO3JldHVybihJPWpnKEEpKT9JOlwiZnVuY3Rpb25cIj09dHlwZW9mIHJlYWRidWZmZXI/bmV3IFVpbnQ4QXJyYXkocmVhZGJ1ZmZlcihBKSk6KEgoXCJvYmplY3RcIj09PUQoST1yZWFkKEEsXCJiaW5hcnlcIikpKSxJKX0sXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNjcmlwdEFyZ3M/Qz1zY3JpcHRBcmdzOnZvaWQgMCE9PWFyZ3VtZW50cyYmKEM9YXJndW1lbnRzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBxdWl0JiYoRT1mdW5jdGlvbihBKXtxdWl0KEEpfSksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByaW50JiYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIGNvbnNvbGUmJihjb25zb2xlPXt9KSxjb25zb2xlLmxvZz1wcmludCxjb25zb2xlLndhcm49Y29uc29sZS5lcnJvcj1cInVuZGVmaW5lZFwiIT10eXBlb2YgcHJpbnRFcnI/cHJpbnRFcnI6cHJpbnQpKTooaXx8bykmJihvP1U9c2VsZi5sb2NhdGlvbi5ocmVmOmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxhJiYoVT1hKSxVPTAhPT1VLmluZGV4T2YoXCJibG9iOlwiKT9VLnN1YnN0cigwLFUubGFzdEluZGV4T2YoXCIvXCIpKzEpOlwiXCIsRz1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXCJHRVRcIixBLCExKSxJLnNlbmQobnVsbCksSS5yZXNwb25zZVRleHR9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gVmcoZyk7dGhyb3cgSX19LG8mJihoPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcIkdFVFwiLEEsITEpLEkucmVzcG9uc2VUeXBlPVwiYXJyYXlidWZmZXJcIixJLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoSS5yZXNwb25zZSl9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gZzt0aHJvdyBJfX0pKTt2YXIgdD1BLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLFM9QS5wcmludEVycnx8Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7Zm9yKEkgaW4gQilCLmhhc093blByb3BlcnR5KEkpJiYoQVtJXT1CW0ldKTtmdW5jdGlvbiBNKEEpe3ZhciBJPUFBW2lBPj4yXSxnPUkrQSsxNSYtMTY7cmV0dXJuIGc+U2coKSYmSkEoKSxBQVtpQT4+Ml09ZyxJfUI9bnVsbCxBLmFyZ3VtZW50cyYmKEM9QS5hcmd1bWVudHMpLEEudGhpc1Byb2dyYW0mJihRPUEudGhpc1Byb2dyYW0pLEEucXVpdCYmKEU9QS5xdWl0KTt2YXIgbixjLHIsaz17XCJmNjQtcmVtXCI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSVJfSxkZWJ1Z2dlcjpmdW5jdGlvbigpe319LEs9KG5ldyBBcnJheSgwKSwwKSxOPWZ1bmN0aW9uKEEpe0s9QX0sWT1mdW5jdGlvbigpe3JldHVybiBLfTtBLndhc21CaW5hcnkmJihuPUEud2FzbUJpbmFyeSksQS5ub0V4aXRSdW50aW1lJiYoYz1BLm5vRXhpdFJ1bnRpbWUpLFwib2JqZWN0XCIhPT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIFdlYkFzc2VtYmx5P1widW5kZWZpbmVkXCI6RChXZWJBc3NlbWJseSkpJiZTKFwibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZFwiKTt2YXIgZT1uZXcgV2ViQXNzZW1ibHkuVGFibGUoe2luaXRpYWw6ODc4LG1heGltdW06ODc4LGVsZW1lbnQ6XCJhbnlmdW5jXCJ9KSxKPSExO2Z1bmN0aW9uIEgoQSxJKXtBfHxKQShcIkFzc2VydGlvbiBmYWlsZWQ6IFwiK0kpfWZ1bmN0aW9uIEwoQSl7cmV0dXJuIGhBP1JCKEEpOk0oQSl9dmFyIHE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcihcInV0ZjhcIik6dm9pZCAwO2Z1bmN0aW9uIGQoQSxJLGcpe2Zvcih2YXIgQj1JK2csQz1JO0FbQ10mJiEoQz49Qik7KSsrQztpZihDLUk+MTYmJkEuc3ViYXJyYXkmJnEpcmV0dXJuIHEuZGVjb2RlKEEuc3ViYXJyYXkoSSxDKSk7Zm9yKHZhciBRPVwiXCI7STxDOyl7dmFyIEU9QVtJKytdO2lmKDEyOCZFKXt2YXIgaT02MyZBW0krK107aWYoMTkyIT0oMjI0JkUpKXt2YXIgbz02MyZBW0krK107aWYoKEU9MjI0PT0oMjQwJkUpPygxNSZFKTw8MTJ8aTw8NnxvOig3JkUpPDwxOHxpPDwxMnxvPDw2fDYzJkFbSSsrXSk8NjU1MzYpUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKTtlbHNle3ZhciBEPUUtNjU1MzY7USs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxEPj4xMCw1NjMyMHwxMDIzJkQpfX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJkUpPDw2fGkpfWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKX1yZXR1cm4gUX1mdW5jdGlvbiBmKEEsSSl7cmV0dXJuIEE/ZCh6LEEsSSk6XCJcIn1mdW5jdGlvbiBsKEEsSSxnLEIpe2lmKCEoQj4wKSlyZXR1cm4gMDtmb3IodmFyIEM9ZyxRPWcrQi0xLEU9MDtFPEEubGVuZ3RoOysrRSl7dmFyIGk9QS5jaGFyQ29kZUF0KEUpO2lmKGk+PTU1Mjk2JiZpPD01NzM0MyYmKGk9NjU1MzYrKCgxMDIzJmkpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytFKSksaTw9MTI3KXtpZihnPj1RKWJyZWFrO0lbZysrXT1pfWVsc2UgaWYoaTw9MjA0Nyl7aWYoZysxPj1RKWJyZWFrO0lbZysrXT0xOTJ8aT4+NixJW2crK109MTI4fDYzJml9ZWxzZSBpZihpPD02NTUzNSl7aWYoZysyPj1RKWJyZWFrO0lbZysrXT0yMjR8aT4+MTIsSVtnKytdPTEyOHxpPj42JjYzLElbZysrXT0xMjh8NjMmaX1lbHNle2lmKGcrMz49USlicmVhaztJW2crK109MjQwfGk+PjE4LElbZysrXT0xMjh8aT4+MTImNjMsSVtnKytdPTEyOHxpPj42JjYzLElbZysrXT0xMjh8NjMmaX19cmV0dXJuIElbZ109MCxnLUN9ZnVuY3Rpb24gdShBLEksZyl7cmV0dXJuIGwoQSx6LEksZyl9ZnVuY3Rpb24gVyhBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJihCPTY1NTM2KygoMTAyMyZCKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrZykpLEI8PTEyNz8rK0k6SSs9Qjw9MjA0Nz8yOkI8PTY1NTM1PzM6NH1yZXR1cm4gSX12YXIgcD1cInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFwidXRmLTE2bGVcIik6dm9pZCAwO2Z1bmN0aW9uIFooQSl7Zm9yKHZhciBJPUEsZz1JPj4xO19bZ107KSsrZztpZigoST1nPDwxKS1BPjMyJiZwKXJldHVybiBwLmRlY29kZSh6LnN1YmFycmF5KEEsSSkpO2Zvcih2YXIgQj0wLEM9XCJcIjs7KXt2YXIgUT1fW0ErMipCPj4xXTtpZigwPT1RKXJldHVybiBDOysrQixDKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFEpfX1mdW5jdGlvbiBiKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDIpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz0oZy09Mik8MipBLmxlbmd0aD9nLzI6QS5sZW5ndGgsUT0wO1E8QzsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtfW0k+PjFdPUUsSSs9Mn1yZXR1cm4gX1tJPj4xXT0wLEktQn1mdW5jdGlvbiB4KEEpe3JldHVybiAyKkEubGVuZ3RofWZ1bmN0aW9uIG0oQSl7Zm9yKHZhciBJPTAsZz1cIlwiOzspe3ZhciBCPUFBW0ErNCpJPj4yXTtpZigwPT1CKXJldHVybiBnO2lmKCsrSSxCPj02NTUzNil7dmFyIEM9Qi02NTUzNjtnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEM+PjEwLDU2MzIwfDEwMjMmQyl9ZWxzZSBnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpfX1mdW5jdGlvbiBYKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDQpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz1CK2ctNCxRPTA7UTxBLmxlbmd0aDsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtpZihFPj01NTI5NiYmRTw9NTczNDMmJihFPTY1NTM2KygoMTAyMyZFKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrUSkpLEFBW0k+PjJdPUUsKEkrPTQpKzQ+QylicmVha31yZXR1cm4gQUFbST4+Ml09MCxJLUJ9ZnVuY3Rpb24gVihBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJisrZyxJKz00fXJldHVybiBJfWZ1bmN0aW9uIE8oQSl7dmFyIEk9VyhBKSsxLGc9UkIoSSk7cmV0dXJuIGcmJmwoQSx2LGcsSSksZ31mdW5jdGlvbiBUKEEsSSl7di5zZXQoQSxJKX1mdW5jdGlvbiBqKEEsSSxnKXtmb3IodmFyIEI9MDtCPEEubGVuZ3RoOysrQil2W0krKz4+MF09QS5jaGFyQ29kZUF0KEIpO2d8fCh2W0k+PjBdPTApfXZhciBQLHYseixfLCQsQUEsSUEsZ0EsQkEsQ0E9NjU1MzY7ZnVuY3Rpb24gUUEoSSl7UD1JLEEuSEVBUDg9dj1uZXcgSW50OEFycmF5KEkpLEEuSEVBUDE2PV89bmV3IEludDE2QXJyYXkoSSksQS5IRUFQMzI9QUE9bmV3IEludDMyQXJyYXkoSSksQS5IRUFQVTg9ej1uZXcgVWludDhBcnJheShJKSxBLkhFQVBVMTY9JD1uZXcgVWludDE2QXJyYXkoSSksQS5IRUFQVTMyPUlBPW5ldyBVaW50MzJBcnJheShJKSxBLkhFQVBGMzI9Z0E9bmV3IEZsb2F0MzJBcnJheShJKSxBLkhFQVBGNjQ9QkE9bmV3IEZsb2F0NjRBcnJheShJKX12YXIgRUE9NTMwNDE3NixpQT02MTEwNCxvQT1BLlRPVEFMX01FTU9SWXx8MjY4NDM1NDU2O2Z1bmN0aW9uIERBKEkpe2Zvcig7SS5sZW5ndGg+MDspe3ZhciBnPUkuc2hpZnQoKTtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBnKXt2YXIgQj1nLmZ1bmM7XCJudW1iZXJcIj09dHlwZW9mIEI/dm9pZCAwPT09Zy5hcmc/QS5keW5DYWxsX3YoQik6QS5keW5DYWxsX3ZpKEIsZy5hcmcpOkIodm9pZCAwPT09Zy5hcmc/bnVsbDpnLmFyZyl9ZWxzZSBnKCl9fShyPUEud2FzbU1lbW9yeT9BLndhc21NZW1vcnk6bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDpvQS9DQSxtYXhpbXVtOm9BL0NBfSkpJiYoUD1yLmJ1ZmZlciksb0E9UC5ieXRlTGVuZ3RoLFFBKFApLEFBW2lBPj4yXT1FQTt2YXIgYUE9W10sd0E9W10sRkE9W10sR0E9W10saEE9ITE7ZnVuY3Rpb24gc0EoKXtpZihBLnByZVJ1bilmb3IoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5wcmVSdW4mJihBLnByZVJ1bj1bQS5wcmVSdW5dKTtBLnByZVJ1bi5sZW5ndGg7KXRBKEEucHJlUnVuLnNoaWZ0KCkpO0RBKGFBKX1mdW5jdGlvbiBSQSgpe2hBPSEwLEEubm9GU0luaXR8fGlJLmluaXQuaW5pdGlhbGl6ZWR8fGlJLmluaXQoKSxRSS5pbml0KCksREEod0EpfWZ1bmN0aW9uIFVBKCl7aUkuaWdub3JlUGVybWlzc2lvbnM9ITEsREEoRkEpfWZ1bmN0aW9uIHlBKCl7aWYoQS5wb3N0UnVuKWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnBvc3RSdW4mJihBLnBvc3RSdW49W0EucG9zdFJ1bl0pO0EucG9zdFJ1bi5sZW5ndGg7KVNBKEEucG9zdFJ1bi5zaGlmdCgpKTtEQShHQSl9ZnVuY3Rpb24gdEEoQSl7YUEudW5zaGlmdChBKX1mdW5jdGlvbiBTQShBKXtHQS51bnNoaWZ0KEEpfXZhciBNQT1NYXRoLmFicyxuQT1NYXRoLmNlaWwsY0E9TWF0aC5mbG9vcixyQT1NYXRoLm1pbixrQT0wLEtBPW51bGwsTkE9bnVsbDtmdW5jdGlvbiBZQShJKXtrQSsrLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKX1mdW5jdGlvbiBlQShJKXtpZihrQS0tLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKSwwPT1rQSYmKG51bGwhPT1LQSYmKGNsZWFySW50ZXJ2YWwoS0EpLEtBPW51bGwpLE5BKSl7dmFyIGc9TkE7TkE9bnVsbCxnKCl9fWZ1bmN0aW9uIEpBKEkpe3Rocm93IEEub25BYm9ydCYmQS5vbkFib3J0KEkpLHQoSSs9XCJcIiksUyhJKSxKPSEwLEk9XCJhYm9ydChcIitJK1wiKS4gQnVpbGQgd2l0aCAtcyBBU1NFUlRJT05TPTEgZm9yIG1vcmUgaW5mby5cIixuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKEkpfUEucHJlbG9hZGVkSW1hZ2VzPXt9LEEucHJlbG9hZGVkQXVkaW9zPXt9O3ZhciBIQT1cImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxcIjtmdW5jdGlvbiBMQShBKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP0Euc3RhcnRzV2l0aChIQSk6MD09PUEuaW5kZXhPZihIQSl9dmFyIHFBLGRBLGZBPVwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFHRnpiUUVBQUFBQmp3aHpZQUYvQVg5Z0FYOEFZQUovZndGL1lBSi9md0JnQTM5L2Z3Ri9ZQVYvZjM5L2Z3QmdBMzkvZndCZ0JIOS9mMzhBWUFWL2YzOS9md0YvWUFSL2YzOS9BWDlnQm45L2YzOS9md0YvWUFBQVlBWi9mMzkvZjM4QVlBZC9mMzkvZjM5L0FHQUlmMzkvZjM5L2YzOEJmMkFIZjM5L2YzOS9md0YvWUFBQmYyQUJmUUY5WUFGL0FYeGdCWDkvZjM5OEFYOWdBMzkrZndGK1lBVi9mMzkvZmdGL1lBaC9mMzkvZjM5L2Z3QmdDbjkvZjM5L2YzOS9mMzhBWUFOL2YzMEFZQU4vZjN3QVlBSi9mQUJnQm45L2YzOS9mQUYvWUFOL2YzOEJmV0FDZlgwQmZXQUNmMzhCZkdBRGYzOS9BWHhnQW54OEFYeGdDWDkvZjM5L2YzOS9md0YvWUFaL2ZIOS9mMzhCZjJBRWYzOS9md0YrWUFGOEFYeGdCWDkvZm45L0FHQUNmMzBBWUFwL2YzOS9mMzkvZjM5L0FYOWdESDkvZjM5L2YzOS9mMzkvZndGL1lBVi9mWDEvZndGL1lBRjlBWDlnQVg4QmZXQUdmMzkvZjM5L0FYeGdBbngvQVh4Z0QzOS9mMzkvZjM5L2YzOS9mMzkvZndCZ0RYOS9mMzkvZlgxOWZYMTlmWDBBWUFSL2YzOTlBR0FGZjM5OWZYOEFZQVYvZlgxOWZRQmdCbjk4Zkg5L2Z3QmdDMzkvZjM5L2YzOS9mMzkvQVg5Z0VYOS9mMzkvZjM5L2YzMTlmWDE5ZlgxOUFYOWdCbjkvZlgxL2Z3Ri9ZQUorZndGL1lBRjhBWDlnQkg5L2YzNEJmbUFDZjM4QmZXQUVmMzkvZndGOVlBTi9mWDBCZldBQmZBRjlZQWwvZjM5L2YzOS9mMzhBWUJGL2YzOS9mMzkvZjM5OWZYMTlmWDE5ZlFCZ0JuOS9mMzkvZlFCZ0NIOS9mMzkvZlgxOUFHQUpmMzkvZjM5OWZYMTlBR0FGZjM5L2ZYMEFZQWQvZjM5OWZYMS9BR0FFZjM5L2ZBQmdBMzkvZmdCZ0JuOS9mWDk5ZndCZ0FuOStBR0FEZjM1L0FHQURmMzE5QUdBRWYzMTlmd0JnQm45OWZYMTlmd0JnQkg5OGZIOEFZQXgvZjM5L2YzOS9mMzkvZkg4QmYyQU9mMzkvZjM5L2YzOS9mM3gvZjM4QmYyQVRmMzkvZjM5L2YzOS9mSDkvZjM5L2YzOS9md0YvWUF4L2YzOS9mMzkvZjMxL2YzOEJmMkFpZjM5L2YzOS9mMzk4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmd0YvWUFkL2YzOS9mMzk4QVg5Z0IzOS9mMzk4ZjM4QmYyQURmMzk5QVg5Z0JYOS9mWDEvQVg5Z0IzOS9mSDkvZjM4QmYyQVBmMzk4Zkh4OGZIeDhmSHg4Zkh4OEFYOWdCSDkrZjM4QmYyQUNmMzBCZjJBRmYzMTlmWDBCZjJBQ2Yzd0JmMkFEZm45L0FYOWdBbjEvQVg5Z0FueC9BWDlnQVg4QmZtQUNmMzhCZm1BQ2ZuNEJmbUFGZjM5L2YzOEJmV0FIZjM5L2YzOS9md0Y5WUFkL2YzOS9mMzk5QVgxZ0JuOS9mMzkvZlFGOVlBWi9mMzkvZlgwQmZXQUVmMzkvZlFGOVlBTi9mMzBCZldBRmYzMTlmMzhCZldBQ2ZYOEJmV0FEZlgxOUFYMWdCSDE5ZlgwQmZXQUZmMzkvZjM4QmZHQUVmMzk4ZndGOFlBTjhmSDhCZkdBRGZIeDhBWHhnQm54OGZIeDhmQUY4QXBzRVBBTmxibllCWVFBTEEyVnVkZ0ZpQUFFRFpXNTJBV01BQVFObGJuWUJaQUFCQTJWdWRnRmxBQVlEWlc1MkFXWUFBQU5sYm5ZQlp3QURBMlZ1ZGdGb0FCQURaVzUyQVdrQUJnTmxibllCYWdBTUEyVnVkZ0ZyQUFVRFpXNTJBV3dBRUFObGJuWUJiUUFCQTJWdWRnRnVBQUFEWlc1MkFXOEFBUU5sYm5ZQmNBQURBMlZ1ZGdGeEFBSURaVzUyQVhJQUJRTmxibllCY3dBR0EyVnVkZ0YwQUFBRFpXNTJBWFVBQWdObGJuWUJkZ0FEQTJWdWRnRjNBQVlEWlc1MkFYZ0FHUU5sYm5ZQmVRQUFBMlZ1ZGdGNkFBSURaVzUyQVVFQUFRTmxibllCUWdBSEEyVnVkZ0ZEQUFZRFpXNTJBVVFBQ0FoaGMyMHlkMkZ6YlFkbU5qUXRjbVZ0QUNBRFpXNTJBVVVBQ0FObGJuWUJSZ0FKQTJWdWRnRkhBQWtEWlc1MkFVZ0FBQU5sYm5ZQlNRQWtBMlZ1ZGdGS0FBQURaVzUyQVVzQUJBTmxibllCVEFBRUEyVnVkZ0ZOQUJBRFpXNTJBVTRBVWdObGJuWUJUd0FQQTJWdWRnRlFBQk1EWlc1MkFWRUFXQU5sYm5ZQlVnQUNBMlZ1ZGdGVEFBTURaVzUyQVZRQUF3TmxibllCVlFBRkEyVnVkZ0ZXQUFrRFpXNTJBVmNBQ1FObGJuWUJXQUFDQTJWdWRnRlpBQUlEWlc1MkFWb0FBZ05sYm5ZQlh3QUNBMlZ1ZGdFa0FBRURaVzUyREY5ZmRHRmliR1ZmWW1GelpRTi9BQVpuYkc5aVlXd0RUbUZPQTN3QUJtZHNiMkpoYkFoSmJtWnBibWwwZVFOOEFBTmxibllHYldWdGIzSjVBZ0dBSUlBZ0EyVnVkZ1YwWVdKc1pRRndBZTRHN2dZRHlBdkdDd0lCQWdJREFRY0NBUU1DQUNvQUJBRUJBZ0VEQXdROEFnSUNBQUFBQUFFREF3QnFLd1lRQWdFREFBa0FBUVFHQ2drQ0VRRUJBaWtEQVFBQUJqZ0FCUVVJQndNQ0F3Z0VCZ0J0QkVnRUF4d0FBd0VFQUFJREdpd0RQVDBxQ1JnQkF3b0lDQWdKQUIwQ0xRZ2NBdzRPQ2lrR0Jna0dWQVFKQXdjQ0FnQUNBQVFETUFZWUFDb0dBRGNDQXdJR0FnSUFBZ0VIQnc0R0F3WW5BU2NBRVNCd0JnQUpDUUpsWkFNQkhRWUdNUU1kQXpZQ0JBSURDQVlDQmdNQ0F3MERBQVlBWWd3Q0J3Wk9CZ29kT2dNQUFnTURBZ05wQndNQ0ZSTUNBd2NBQUEwTkJBOFBBUU1CQVFJREFRVURIeU1GQ1FnRUJBQUFBQUlRQUFRREJBTUFCZ1lCQXdNRkFRQWhCd0pEQXl3QUJ3TUNBUU1CQVFJV2JERUJBd0VEQndNQkFRTUhBUU1IQVF3SERBVURBQU1JQVFBb0JSNEFLQVVCQVFFQmNneHhCd1lHRVJFUkFBQUJYZ2hmSXdrR0FBQUhBamtDQUFFQVNTMENCZ0F0SUNCaEh6bEdCQUlFQUFFQUVBUUJBUU1BQVFjQ0FRSUFBUWtCQWdFQUF3TVpCaGdCQVFOWkR3WU1BQUVCQXdFQkJnQURBVG9uQXdNclZVQVBCdzRIQndFSEF3RUJBUU1EQXdFRGJ3SURCazhBREFBREVBTURBd0VDQVFFQkNnRUdBUkVSQkFNREF3TURBUU1IQWt3REJnRUFWallOSEFvSkJ5VU5CaG9VRHhzSkF3VVdCaFlHQmdVSUFRRUJBUWdCRGdBRUxoY3VGelFHTkFNREFRd0JBUVVNREFNSkJRd01BQTBKRFFRS0NTTUpDU01jSHg4RUNnWUNBZ0FCQVFFQkF3RUFCeVVFQXdFRUFRRUJBUUVCQVRNTEJ3RUJCQjBrSkFrR0FnWUdBQUJnQ0FJQkJBUnJCQUFFQmdZTEF4QUpBZ0lCQkFJM1hRSUVBeUk0QXdRQ0lDeHVCQWdDQkFRQ0FRSUFBZ1FCQ1JRRUVCUUVBQUFBQWdFR0FRTUJBd0VBQUFBSEFBQUNBQUFCQVFFSUFBZ0JDZ29KQ1FFRUJ3Y0hCd2NCQXdjSEFRY0JBd2NOQndnTkFRVUZCUVVGQlFVRkFBVUhCd2NIQncwQkRRME5Bd2NIQndNQkF3RUJBUUVCQVFFQkFRQUJBZ0lDQWdJQkFnSUJBZ0FCQVFNQkFRRUNBQUVCQWdJQ0FBSUNBZ0VCQVFJREF3QUJBd1VGQlFVRkJRVURCUVVGQlFVRkJRVUZCUWdGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUVCRHdKbVl3d0ZDQVFEQWdBRENRTUJBUUlFQkFrRUJBRUdBZ0lBSGdFQkNBRUdBQU1BQXdBREVnc21BQU1BQXdBREVob1NHZ3NRVUFzQkFBQUNBZ0lFQUFBR0NBQUNBZ1FFQWdRTEFBQUNBZ0lDQUFBRUN3c1NBUUVHQXdJQkF3SUJBdzhEQXdZR0Jqd3lCZ00xTlQ4SEVBRUdIRW9IUWxzQkx3Y0hNZ0VCQXdNQ0JnWUhCZ01CQXdZREF3Y0hBeThNQWdnREFBQUFBQUFFQUFBQ0JBSUNBZ0lDQWdJQ0FqNUhJUWNCYUFJaEFnNVJDVHNFQ2drRUNRTURBd0lIQXdNQkF3TURBd01HQmdZREJnMERBUUlCQVFFWkNBRURBd1lHRHdjR0F3TUZEd01GQmdjQ0FRY0NBd01EQVFFQkFRRUNBUUVCQVFvR0Nrc1JRUU1GQVFjQUFRTUJBd01IQXdNREJ3RURBUWNGQlFJQkFRSURBd05uRFEwTkt3TUdBZ0lFRHdOY0F3WVdBMFFEQVFNR0F3RURBUU1EQXdNQkFnTURBd0VCQWdZREFRRURBd2NEQXdNQ0NBRUlDQWdJQ2dvREFRRURBd01EQWdRQ0FnQUNBUVFwQVFvQ0Z3MG9Bd0FBT3dBQkNBZ0FEUWdCRHhnWkFDWUxBQ0lRSGhKYUZnME1CUWN3UlFFaERnQVBVd29iQ0FrRVZ3SUFCaDhlSkFNQUFnWUdCZ01DQ0FZQkF3RURDQVFKQWdRQ0FRUUNDUWtKQkFNREF3QUFBUU1EQXdBQUFRSUlCQWtDQkFJRUFnRUJBUW9LQkFnT0RnRUFDQUFJRGc0SUNnb0VDQTRPREF3S0d3b2JGd1lQRHhjR0R3Z1BEQThQQndVRkJRTU1Cd1VGQlFVRkJRTUxDd3NBQUFBQUFBQUFEZ29LQ2dvS0J3VUZCUXdIQlFVRkJRVUJCUXNMQ3dBQUFBUUFBQUFBRGdvS0Nnb0tCd2dURXhVSUZRZ0lDQWdURXhVSUZRZ0lDQWdFQ0FnQ0NBZ0lDQW9LQ2dvS0Nnb1NDZ29JQ0FnSUNBZ0lDQUVCQmdFQUNnb0tDZ29LQ2dvS0JBY0lCQUVIQ0FFQ0FBQURBZ0FBQUFNQ0JBTUNCQU5OQ0FRRUFBUUVBQVFCQVJBQUN3c0xDd3N6Q3dzTEN3c0xDd3NMQ3dzTEN4QVFFQXNIQlF3RUFRQUhCUXdFQndVTUJBc0hDQkFBQmhjRWZ3RkJBQXQvQVVFQUMzOEJRUUFMZndGQjhONERDd2VUQWk0Q1lXRUFuUWNDWW1FQTVRc0NZMkVBK3dRQ1pHRUEwUXNDWldFQTRBUUNabUVBNlFzQ1oyRUFvQVVDYUdFQTBnc0NhV0VBNXdzQ2FtRUE1Z3NDYTJFQTZBc0NiR0VBT0FKdFlRQkVBbTVoQU40SkFtOWhBTndKQW5CaEFOc0pBbkZoQU5rSkFuSmhBTmdKQW5OaEFOY0pBblJoQU5ZSkFuVmhBTlVKQW5aaEFOUUpBbmRoQU5NSkFuaGhBTklKQW5saEFORUpBbnBoQU5BSkFrRmhBTTRKQWtKaEFNMEpBa05oQUxrSkFrUmhBTGNKQWtWaEFNd0pBa1poQUs0REFrZGhBSzhEQWtoaEFMRURBa2xoQUxBREFrcGhBTXNKQWt0aEFNb0pBa3hoQU1rSkFrMWhBTWdKQWs1aEFNY0pBazloQU1ZSkFsQmhBTVVKQWxGaEFMWUpBbEpoQVB3TEFsTmhBSmdKQWxSaEFQc0xDYUVMQVFBakFBdnVCc01KK2diNEJ1OEd3Z25qQnNFSi9RWll4Z2lqQlgvdkMzOS8wUVROQzM5LzBRVEtDOG9FeWdTK0M3MEx1UXU0QzdjRTdBcnJDdW9LNlFybkN1WUs1UXEzQk00S3pRck1Dc3NLeWdySkNzZ0trUUtSQW4rUkFwRUNmNUFDa0FKL2tBS1FBbjkvZjZBRW1ncC9tQXFEQ29JSy9RbjhDZDhDM3dMZkFuOS9vQVN1QmZzRlJLUUZtZ2VaQjVRSGt3ZUxCNGdIaHdlQ0I0RUg5Z2IwQnZJRzdRYnJCdWtHNGdhZkJvOEdod1ovdGdXMUJiTUZzZ1ZZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZd0FtSkJYcVZDS1lIb3dlYkFwc0Ntd0tiQXNNTHdBdTdDN2NMalFxTENva0s5QW54Q2U4SmhRcW1CWmdIbHdlV0I1VUhrQWVOQjR3SGhRZUVCNE1IMkFiZ0Jza0duQWFZQnBjR2xnYVVCcE1Ha2dhR0JvUUdnd2FCQm9BRy93WCtCZjBGZW5wNmVucDZlbnA2ZW5wNmVucDZlbVNpQlo4RmdnWDNDKzBMMUFUT0M4d0wxQVRMQzhrTHhBdkJDN0lMcnd1aEJLRUVqQXFLQ29jSytBbnpDZkFKN1FuREJac0hrUWVQQjQ0SGhnZmFCdDBHdFFHdkFwVUZaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaSzBCaUFyM0NmWUo5UW51Q2RRR3dRWEFCYTBCclFHdEFhMEJyUUd0QWEwQmpBTC9DdjRLOWdyMUNvd0NqQUtNQXBnQnRRdXhDNFFMZ3d1QkMvd0srd3I2Q3ZnSzlBcmhBcUlLbXdxWkNvWUs3QW5oQXA0SzRRS1VDcndGdWdXWUFaZ0JtQUdZQVpnQm1BR1lBWmdCbUFHT0JLb0txQXFPQkdhdUM2MExyQXVyQzhZRXhnU3FDNmtMcUF1bkM2WUxtQXVYQzVVTGxBdThCTHdFa3d1U0M1RUxrQXVQQy9JSzhRcndDdThLN2dyVUN0TUswZ3JSQ3RBS3FRcW5DcjhGdmdWbVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1hTkJMWUt0UXF6Q3JFS3JncXRDbzBFeWdIdENzOEtwQXFqQ3AwS25BcWZCSjhFbGdxVkNzb0J5Z0hLQWNvQnlnR0xBb0lMZ0F2NUN2Y0tpd0tMQW9zQ2pBU2hCWjRGakFTK0NmZ0xSc2NDMlFqR0F0Z0k3UVBIQ0dOZWxnaGVYcWNIWGw2a0IxNWpYbU5qWHVNRTRnVGlCRjVlblFMUEM5WUU3UUxRQk93Q21nTHJBczRFelFTYUF1c0N6Z1ROQkprQzZnTE1CTXNFbVFMcUFzd0V5d1RzQXUwQzdBTHRBbU5ldGd0alhtTmVZMTVqWG1OZVkxNWpYcTRFclFTdUJLMEVZMTVqWG1OZVkxNWpYbU5lWTE1alhtTmVZMTVqWGw2ZUJKY0tuQVNRQ3BzRWpncWFCSVFLbVFUK0NWNWVYbDVlc2dtbkJZQUh4Z2FnQm1PYUJwa0dqUWFuQTR3R2dnWmppUWFJQnZrRitBVmp5UVhQQmRZRlkrY0Z6UVZqdlFXNUJiY0ZyUVdyQmFrRnBBdWlDMk00UmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUm9zRSt3YjVCb3NFdlFueEJxSUJuQUtjQXNVTHdndS9DN29MandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFRU3VBYTRCandHUEFZOEJxUVN1QWE0Qm5BS2NBb0VLZ0FyL0Nmc0orZ241Q2FFRzl3YjFCdk1HN2dic0J1b0dyZ09kQnNvRjBBWHJCZThGcmdLc0Jhb0ZpQVdpQWFJQm9nR2lBYUlCb2dHaUFhSUJ1d212QTdvSnNRT0tCS2dGc0FPS0JNa0I5QXZ3QytvTDBnVFNCTFFMc0FzOTB3WFJCZVVGNUFYakJlSUY0UVh1QmUwRjdBWE9CY3dGeXdYSUJjY0Z4Z1hGQmNRRnlRSEpBY2tCeVFISkFYYjFDL0VMNnd1akJxUUdwUWFtQnFjR3FBYXFCcXNHckFhdEJxNEdyd2F3QnJFR3NnYXpCclVHdGdhM0JyZ0d1UWE2QnJzR3ZBYTlCcjRHdndiQUJzRUd3Z2JEQnFJR3hBYkZCdUFGM2dYZEJkd0Yyd1hhQmRrRjJBWFhCWFoyZG5aMmRuWjJkbloyZG5aMmRuWjIzQUwyQy9JTDdBdW1DcVVLM0FMY0Fva0UxUVhTQmVZRjZnWHBCZWdGaVFTSUJOTUUwd1NJQkFxcWl4N0dDdzBBSUFBZ0FTQUJFR0FRbndrTHlRMEJDWDhnQUVVRVFBOExRYnpSQXlnQ0FDRUVJQUJCZUdvaUF5QUFRWHhxS0FJQUlnSkJlSEVpQUdvaEJTQUNRUUZ4Qkg4Z0F3VUNmeUFES0FJQUlRRWdBa0VEY1VVRVFBOExJQU1nQVdzaUF5QUVTUVJBRHdzZ0FDQUJhaUVBSUFOQndORURLQUlBUmdSQUlBTWdCU2dDQkNJQlFRTnhRUU5IRFFFYVFiVFJBeUFBTmdJQUlBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFEd3NnQVVFRGRpRUVJQUZCZ0FKSkJFQWdBeWdDQ0NJQklBTW9BZ3dpQWtZRVFFR3MwUU5Cck5FREtBSUFRUUVnQkhSQmYzTnhOZ0lBQlNBQklBSTJBZ3dnQWlBQk5nSUlDeUFEREFFTElBTW9BaGdoQnlBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRUdvaUFrRUVhaUlFS0FJQUlnRUVRQ0FFSVFJRklBSW9BZ0FpQVVVRVFFRUFJUUVNQWdzTEEwQUNRQ0FCUVJScUlnUW9BZ0FpQmtVRVFDQUJRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRUNJQVloQVF3QkN3c2dBa0VBTmdJQUN3VWdBeWdDQ0NJQ0lBRTJBZ3dnQVNBQ05nSUlDeUFIQkg4Z0F5QURLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FDZEVGL2MzRTJBZ0FnQXd3REN3VWdCMEVRYWlJQ0lBZEJGR29nQXlBQ0tBSUFSaHNnQVRZQ0FDQURJQUZGRFFJYUN5QUJJQWMyQWhnZ0F5Z0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQXlnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBd1VnQXdzTEN5SUhJQVZQQkVBUEN5QUZLQUlFSWdoQkFYRkZCRUFQQ3lBSVFRSnhCRUFnQlNBSVFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBZHFJQUEyQWdBZ0FDRUNCU0FGUWNUUkF5Z0NBRVlFUUVHNDBRTWdBRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQU0yQWdBZ0F5QUFRUUZ5TmdJRVFjRFJBeWdDQUNBRFJ3UkFEd3RCd05FRFFRQTJBZ0JCdE5FRFFRQTJBZ0FQQzBIQTBRTW9BZ0FnQlVZRVFFRzAwUU1nQUVHMDBRTW9BZ0JxSWdBMkFnQkJ3TkVESUFjMkFnQWdBeUFBUVFGeU5nSUVJQUFnQjJvZ0FEWUNBQThMSUFoQkEzWWhCQ0FJUVlBQ1NRUkFJQVVvQWdnaUFTQUZLQUlNSWdKR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFSMFFYOXpjVFlDQUFVZ0FTQUNOZ0lNSUFJZ0FUWUNDQXNGQWtBZ0JTZ0NHQ0VKSUFVb0Fnd2lBU0FGUmdSQUFrQWdCVUVRYWlJQ1FRUnFJZ1FvQWdBaUFRUkFJQVFoQWdVZ0FpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJDZ0NBQ0lHUlFSQUlBRkJFR29pQkNnQ0FDSUdSUTBCQ3lBRUlRSWdCaUVCREFFTEN5QUNRUUEyQWdBTEJTQUZLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUNBRktBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQUlBVkdCRUFnQkNBQk5nSUFJQUZGQkVCQnNORURRYkRSQXlnQ0FFRUJJQUowUVg5emNUWUNBQXdEQ3dVZ0NVRVFhaUlDSUFsQkZHb2dBaWdDQUNBRlJoc2dBVFlDQUNBQlJRMENDeUFCSUFrMkFoZ2dCU2dDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0JTZ0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNMQ3dzZ0F5QUFJQWhCZUhGcUlnSkJBWEkyQWdRZ0FpQUhhaUFDTmdJQUlBTkJ3TkVES0FJQVJnUkFRYlRSQXlBQ05nSUFEd3NMSUFKQkEzWWhBU0FDUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0F6WUNBQ0FCSUFNMkFnd2dBeUFCTmdJSUlBTWdBRFlDREE4TElBSkJDSFlpQUFSL0lBSkIvLy8vQjBzRWYwRWZCU0FBSUFCQmdQNC9ha0VRZGtFSWNTSUJkQ0lFUVlEZ0gycEJFSFpCQkhFaEFFRU9JQUFnQVhJZ0JDQUFkQ0lBUVlDQUQycEJFSFpCQW5FaUFYSnJJQUFnQVhSQkQzWnFJZ0JCQVhRZ0FpQUFRUWRxZGtFQmNYSUxCVUVBQ3lJQlFRSjBRZHpUQTJvaEFDQURJQUUyQWh3Z0EwRUFOZ0lVSUFOQkFEWUNFRUd3MFFNb0FnQWlCRUVCSUFGMElnWnhCRUFDUUNBQ0lBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQWtFQVFSa2dBVUVCZG1zZ0FVRWZSaHQwSVFRRFFDQUFRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFSQkFYUWhCQ0FDSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBTTJBZ0FnQXlBQU5nSVlJQU1nQXpZQ0RDQURJQU0yQWdnTUFnc0xJQUVvQWdnaUFDQUROZ0lNSUFFZ0F6WUNDQ0FESUFBMkFnZ2dBeUFCTmdJTUlBTkJBRFlDR0FzRlFiRFJBeUFFSUFaeU5nSUFJQUFnQXpZQ0FDQURJQUEyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXRCek5FRFFjelJBeWdDQUVGL2FpSUFOZ0lBSUFBRVFBOExRZlRVQXlFQUEwQWdBQ2dDQUNJRFFRaHFJUUFnQXcwQUMwSE0wUU5CZnpZQ0FBc2tBQ0FCQkg4Z0FFR0FnSUNBZUVZZ0FVRi9SbkVFZjBFQUJTQUFJQUZ0Q3dWQkFBc0xJQUVCZnlBQUtBSUFJUUlnQVJDbEN5RUJJQUlvQWdnZ0FVRUNkR29vQWdBTERBQWdBQ0FCUVJ4cUVPc0pDemtCQVg4Z0FDZ0NBQ0lBS0FJRUlRRWdBQ0FCUVg5cU5nSUVJQUZGQkVBZ0FDZ0NBQ2dDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3dzOEFDTUdJUUFqQmtFUWFpUUdJQUpCQUVkQjBJVUJLQUlBSUFGTWNRUkFJQUlzQUFBRVFDQUFJQU0yQWdBZ0FTQUNJQUFRMmdrTEN5QUFKQVlMaWdJQkIzOGpCaUVESXdaQkVHb2tCaUFEUVF4cUlRSWdBeUFBRUpnQ0lBTXNBQUFFUUNBQ0lBQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQ1Fiak9BeEE2SVFjZ0FoQThJQUFnQUNnQ0FFRjBhaWdDQUdvaUJTZ0NHQ0VJUVg4Z0JTZ0NUQkJCQkVBZ0FpQUZFRHNnQWtHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFZ0lBWkJQM0ZCaWdGcUVRSUFJUVFnQWhBOElBVWdCRUVZZEVFWWRTSUVOZ0pNQlNBRktBSk1JUVFMSUFjb0FnQW9BaEFoQmlBRElBZzJBZ2dnQWlBREtBSUlOZ0lBSUFjZ0FpQUZJQVJCL3dGeElBRWdCa0VmY1VHaUFtb1JDQUJGQkVBZ0FDQUFLQUlBUVhScUtBSUFhaUlCSUFFb0FoQkJCWElRN2dFTEN5QURFSmNDSUFNa0JpQUFDNFVCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dBUkFJQUVnQUJDWUFpQUJMQUFBQkVBZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0NJQ0tBSUFLQUlZSVFNZ0FpQURRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBUkNYQWdzZ0FTUUdDNmdCQVFSL0l3WWhBaU1HUVJCcUpBWWdBaUFBRUpnQ0lBSXNBQUFFUUFKQUlBQWdBQ2dDQUVGMGFpZ0NBR29vQWhnaUF5RUVJQU1FUUNBRUtBSVlJZ1VnQkNnQ0hFWUVmeUFES0FJQUtBSTBJUU1nQkNBQkVFSWdBMEUvY1VHS0FXb1JBZ0FGSUFRZ0JVRUJhallDR0NBRklBRTZBQUFnQVJCQ0MwRi9FRUZGRFFFTElBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBaENYQWlBQ0pBWUxCd0FnQUNBQlJnc0lBQ0FBUWY4QmNRczRBQ0FBSUFCY0JIOUJnSUNBZ0hnRklBQkRBQUFBVDJBRWYwR0FnSUNBZUFVZ0FFTUFBQURQWHdSL1FZQ0FnSUI0QlNBQXFBc0xDd3UzTlFFTWZ5TUdJUW9qQmtFUWFpUUdJQUJCOVFGSkJFQkJyTkVES0FJQUlnVkJFQ0FBUVF0cVFYaHhJQUJCQzBrYklnSkJBM1lpQUhZaUFVRURjUVJBSUFGQkFYRkJBWE1nQUdvaUFrRURkRUhVMFFOcUlnQW9BZ2dpQTBFSWFpSUVLQUlBSVFFZ0FDQUJSZ1JBUWF6UkEwRUJJQUowUVg5eklBVnhOZ0lBQlNBQklBQTJBZ3dnQUNBQk5nSUlDeUFESUFKQkEzUWlBRUVEY2pZQ0JDQUFJQU5xSWdBZ0FDZ0NCRUVCY2pZQ0JDQUtKQVlnQkE4TElBSkJ0TkVES0FJQUlnbExCSDhnQVFSQVFRSWdBSFFpQTBFQUlBTnJjaUFCSUFCMGNTSUFRUUFnQUd0eFFYOXFJZ0JCREhaQkVIRWlBU0FBSUFGMklnQkJCWFpCQ0hFaUFYSWdBQ0FCZGlJQVFRSjJRUVJ4SWdGeUlBQWdBWFlpQUVFQmRrRUNjU0lCY2lBQUlBRjJJZ0JCQVhaQkFYRWlBWElnQUNBQmRtb2lCRUVEZEVIVTBRTnFJZ0FvQWdnaUFVRUlhaUlHS0FJQUlRTWdBQ0FEUmdSQVFhelJBMEVCSUFSMFFYOXpJQVZ4SWdBMkFnQUZJQU1nQURZQ0RDQUFJQU0yQWdnZ0JTRUFDeUFCSUFKQkEzSTJBZ1FnQVNBQ2FpSUZJQVJCQTNRaUF5QUNheUlFUVFGeU5nSUVJQUVnQTJvZ0JEWUNBQ0FKQkVCQndORURLQUlBSVFFZ0NVRURkaUlDUVFOMFFkVFJBMm9oQTBFQklBSjBJZ0lnQUhFRWZ5QURRUWhxSWdJb0FnQUZRYXpSQXlBQUlBSnlOZ0lBSUFOQkNHb2hBaUFEQ3lFQUlBSWdBVFlDQUNBQUlBRTJBZ3dnQVNBQU5nSUlJQUVnQXpZQ0RBdEJ0TkVESUFRMkFnQkJ3TkVESUFVMkFnQWdDaVFHSUFZUEMwR3cwUU1vQWdBaUN3Ui9RUUFnQzJzZ0MzRkJmMm9pQUVFTWRrRVFjU0lCSUFBZ0FYWWlBRUVGZGtFSWNTSUJjaUFBSUFGMklnQkJBblpCQkhFaUFYSWdBQ0FCZGlJQVFRRjJRUUp4SWdGeUlBQWdBWFlpQUVFQmRrRUJjU0lCY2lBQUlBRjJha0VDZEVIYzB3TnFLQUlBSWdRaEFDQUVLQUlFUVhoeElBSnJJUWdEUUFKQUlBQW9BaEFpQVFSQUlBRWhBQVVnQUNnQ0ZDSUFSUTBCQ3lBQUlBUWdBQ2dDQkVGNGNTQUNheUlCSUFoSklnTWJJUVFnQVNBSUlBTWJJUWdNQVFzTElBSWdCR29pRENBRVN3Ui9JQVFvQWhnaEJ5QUVJQVFvQWd3aUFFWUVRQUpBSUFSQkZHb2lBU2dDQUNJQVJRUkFJQVJCRUdvaUFTZ0NBQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUF5Z0NBQ0lHUlFSQUlBQkJFR29pQXlnQ0FDSUdSUTBCQ3lBRElRRWdCaUVBREFFTEN5QUJRUUEyQWdBTEJTQUVLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWNFUUFKQUlBUWdCQ2dDSENJQlFRSjBRZHpUQTJvaUF5Z0NBRVlFUUNBRElBQTJBZ0FnQUVVRVFFR3cwUU5CQVNBQmRFRi9jeUFMY1RZQ0FBd0NDd1VnQjBFUWFpQUhRUlJxSUFRZ0J5Z0NFRVliSUFBMkFnQWdBRVVOQVFzZ0FDQUhOZ0lZSUFRb0FoQWlBUVJBSUFBZ0FUWUNFQ0FCSUFBMkFoZ0xJQVFvQWhRaUFRUkFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN3c2dDRUVRU1FSQUlBUWdBaUFJYWlJQVFRTnlOZ0lFSUFBZ0JHb2lBQ0FBS0FJRVFRRnlOZ0lFQlNBRUlBSkJBM0kyQWdRZ0RDQUlRUUZ5TmdJRUlBZ2dER29nQ0RZQ0FDQUpCRUJCd05FREtBSUFJUUFnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBVUVCSUFKMElnSWdCWEVFZnlBQlFRaHFJZ0lvQWdBRlFhelJBeUFDSUFWeU5nSUFJQUZCQ0dvaEFpQUJDeUVESUFJZ0FEWUNBQ0FESUFBMkFnd2dBQ0FETmdJSUlBQWdBVFlDREF0QnRORURJQWcyQWdCQndORURJQXcyQWdBTElBb2tCaUFFUVFocUR3VWdBZ3NGSUFJTEJTQUNDeUVBQlNBQVFiOS9Td1JBUVg4aEFBVUNRQ0FBUVF0cUlnRkJlSEVoQUVHdzBRTW9BZ0FpQlFSQVFRQWdBR3NoQkFKQUFrQWdBVUVJZGlJQkJIOGdBRUgvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdaQmdPQWZha0VRZGtFRWNTRUJRUTRnQmlBQmRDSUdRWUNBRDJwQkVIWkJBbkVpQ0NBQklBSnljbXNnQmlBSWRFRVBkbW9pQVVFQmRDQUFJQUZCQjJwMlFRRnhjZ3NGUVFBTElnZEJBblJCM05NRGFpZ0NBQ0lCQkg5QkFDRUNJQUJCQUVFWklBZEJBWFpySUFkQkgwWWJkQ0VHQTM4Z0FTZ0NCRUY0Y1NBQWF5SUlJQVJKQkVBZ0NBUi9JQWdoQkNBQkJVRUFJUVFnQVNFQ0RBUUxJUUlMSUFNZ0FTZ0NGQ0lESUFORklBTWdBVUVRYWlBR1FSOTJRUUowYWlnQ0FDSUJSbkliSVFNZ0JrRUJkQ0VHSUFFTkFDQUNDd1ZCQUFzaUFTQURjZ1IvSUFNRklBVkJBaUFIZENJQlFRQWdBV3R5Y1NJQ1JRMEVRUUFoQVNBQ1FRQWdBbXR4UVg5cUlnSkJESFpCRUhFaUF5QUNJQU4ySWdKQkJYWkJDSEVpQTNJZ0FpQURkaUlDUVFKMlFRUnhJZ055SUFJZ0EzWWlBa0VCZGtFQ2NTSURjaUFDSUFOMklnSkJBWFpCQVhFaUEzSWdBaUFEZG1wQkFuUkIzTk1EYWlnQ0FBc2lBZzBBSUFFaEF3d0JDeUFCSVFNZ0JDRUJBMzhnQWlnQ0JFRjRjU0FBYXlJSUlBRkpJUVlnQ0NBQklBWWJJUUVnQWlBRElBWWJJUU1nQWlnQ0VDSUVSUVJBSUFJb0FoUWhCQXNnQkFSL0lBUWhBZ3dCQlNBQkN3c2hCQXNnQXdSQUlBUkJ0TkVES0FJQUlBQnJTUVJBSUFBZ0Eyb2lCeUFEU3dSQUlBTW9BaGdoQ1NBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRkdvaUFpZ0NBQ0lCUlFSQUlBTkJFR29pQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQmlnQ0FDSUlSUVJBSUFGQkVHb2lCaWdDQUNJSVJRMEJDeUFHSVFJZ0NDRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBREtBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQUpBSUFNZ0F5Z0NIQ0lDUVFKMFFkelRBMm9pQmlnQ0FFWUVRQ0FHSUFFMkFnQWdBVVVFUUVHdzBRTWdCVUVCSUFKMFFYOXpjU0lCTmdJQURBSUxCU0FKUVJCcUlBbEJGR29nQXlBSktBSVFSaHNnQVRZQ0FDQUJSUVJBSUFVaEFRd0NDd3NnQVNBSk5nSVlJQU1vQWhBaUFnUkFJQUVnQWpZQ0VDQUNJQUUyQWhnTElBTW9BaFFpQWdSQUlBRWdBallDRkNBQ0lBRTJBaGdMSUFVaEFRc0ZJQVVoQVFzZ0JFRVFTUVJBSUFNZ0FDQUVhaUlBUVFOeU5nSUVJQUFnQTJvaUFDQUFLQUlFUVFGeU5nSUVCUUpBSUFNZ0FFRURjallDQkNBSElBUkJBWEkyQWdRZ0JDQUhhaUFFTmdJQUlBUkJBM1loQWlBRVFZQUNTUVJBSUFKQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQlFRRWdBblFpQW5FRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCellDQUNBQklBYzJBZ3dnQnlBQk5nSUlJQWNnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQW5RaUJrR0E0QjlxUVJCMlFRUnhJUUJCRGlBR0lBQjBJZ1pCZ0lBUGFrRVFka0VDY1NJRklBQWdBbkp5YXlBR0lBVjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUFnQnlBQ05nSWNJQWRCQURZQ0ZDQUhRUUEyQWhCQkFTQUNkQ0lHSUFGeFJRUkFRYkRSQXlBQklBWnlOZ0lBSUFBZ0J6WUNBQ0FISUFBMkFoZ2dCeUFITmdJTUlBY2dCellDQ0F3QkN5QUVJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0JFRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRSURRQ0FBUVJCcUlBSkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBSkJBWFFoQWlBRUlBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQWMyQWdBZ0J5QUFOZ0lZSUFjZ0J6WUNEQ0FISUFjMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FITmdJTUlBRWdCellDQ0NBSElBQTJBZ2dnQnlBQk5nSU1JQWRCQURZQ0dBc0xJQW9rQmlBRFFRaHFEd3NMQ3dzTEN3c0NRQUpBUWJUUkF5Z0NBQ0lDSUFCUEJFQkJ3TkVES0FJQUlRRWdBaUFBYXlJRFFROUxCRUJCd05FRElBQWdBV29pQkRZQ0FFRzAwUU1nQXpZQ0FDQUVJQU5CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQUVnQUVFRGNqWUNCQVZCdE5FRFFRQTJBZ0JCd05FRFFRQTJBZ0FnQVNBQ1FRTnlOZ0lFSUFFZ0Ftb2lBQ0FBS0FJRVFRRnlOZ0lFQ3d3QkN3SkFRYmpSQXlnQ0FDSUJJQUJMQkVBTUFRc2dBRUV2YWlJRlFZVFZBeWdDQUFSL1FZelZBeWdDQUFWQmpOVURRWUFnTmdJQVFZalZBMEdBSURZQ0FFR1ExUU5CZnpZQ0FFR1UxUU5CZnpZQ0FFR1kxUU5CQURZQ0FFSG8xQU5CQURZQ0FFR0UxUU1nQ2tGd2NVSFlxdFdxQlhNMkFnQkJnQ0FMSWdKcUlnTkJBQ0FDYXlJSWNTSUdJQUJOQkVBTUF3dEI1TlFES0FJQUlnSUVRQ0FHUWR6VUF5Z0NBQ0lFYWlJSElBUk5JQWNnQWt0eUJFQU1CQXNMSUFCQk1Hb2hCd0pBQWtCQjZOUURLQUlBUVFSeEJFQkJBQ0VDQlFKQUFrQUNRRUhFMFFNb0FnQWlBa1VOQUVIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lKSUFKTkJFQWdDU0FFS0FJRWFpQUNTdzBCQ3lBRUtBSUlJZ1FOQVF3Q0N3c2dDQ0FESUFGcmNTSUNRZi8vLy84SFNRUkFJQUlRdWdFaUFTQUVLQUlBSUFRb0FnUnFSZ1JBSUFGQmYwY05CZ1VNQXdzRlFRQWhBZ3NNQWd0QkFCQzZBU0lCUVg5R0JIOUJBQVZCM05RREtBSUFJZ1FnQmlBQlFZalZBeWdDQUNJQ1FYOXFJZ05xUVFBZ0FtdHhJQUZyUVFBZ0FTQURjUnRxSWdKcUlRTWdBa0gvLy8vL0Iwa2dBaUFBUzNFRWYwSGsxQU1vQWdBaUNBUkFJQU1nQkUwZ0F5QUlTM0lFUUVFQUlRSU1CUXNMSUFFZ0FoQzZBU0lEUmcwRklBTWhBUXdDQlVFQUN3c2hBZ3dCQ3lBQlFYOUhJQUpCLy8vLy93ZEpjU0FISUFKTGNVVUVRQ0FCUVg5R0JFQkJBQ0VDREFJRkRBUUxBQXRCak5VREtBSUFJZ01nQlNBQ2EycEJBQ0FEYTNFaUEwSC8vLy8vQjA4TkFrRUFJQUpySVFRZ0F4QzZBVUYvUmdSL0lBUVF1Z0VhUVFBRklBSWdBMm9oQWd3REN5RUNDMEhvMUFOQjZOUURLQUlBUVFSeU5nSUFDeUFHUWYvLy8vOEhTUVJBSUFZUXVnRWhBVUVBRUxvQklnTWdBV3NpQmlBQVFTaHFTeUVFSUFZZ0FpQUVHeUVDSUFSQkFYTWdBVUYvUm5JZ0FVRi9SeUFEUVg5SGNTQUJJQU5KY1VFQmMzSkZEUUVMREFFTFFkelVBeUFDUWR6VUF5Z0NBR29pQXpZQ0FDQURRZURVQXlnQ0FFc0VRRUhnMUFNZ0F6WUNBQXRCeE5FREtBSUFJZ01FUUFKQVFlelVBeUVFQWtBQ1FBTkFJQUVnQkNnQ0FDSUdJQVFvQWdRaUJXcEdEUUVnQkNnQ0NDSUVEUUFMREFFTElBUW9BZ3hCQ0hGRkJFQWdCaUFEVFNBQklBTkxjUVJBSUFRZ0FpQUZhallDQkNBRFFRQWdBMEVJYWlJQmEwRUhjVUVBSUFGQkIzRWJJZ1JxSVFFZ0FrRzQwUU1vQWdCcUlnWWdCR3NoQWtIRTBRTWdBVFlDQUVHNDBRTWdBallDQUNBQklBSkJBWEkyQWdRZ0F5QUdha0VvTmdJRVFjalJBMEdVMVFNb0FnQTJBZ0FNQXdzTEN5QUJRYnpSQXlnQ0FFa0VRRUc4MFFNZ0FUWUNBQXNnQVNBQ2FpRUdRZXpVQXlFRUFrQUNRQU5BSUFZZ0JDZ0NBRVlOQVNBRUtBSUlJZ1FOQUFzTUFRc2dCQ2dDREVFSWNVVUVRQ0FFSUFFMkFnQWdCQ0FDSUFRb0FnUnFOZ0lFSUFBZ0FVRUFJQUZCQ0dvaUFtdEJCM0ZCQUNBQ1FRZHhHMm9pQjJvaEJTQUdRUUFnQmtFSWFpSUJhMEVIY1VFQUlBRkJCM0ViYWlJQ0lBZHJJQUJySVFRZ0J5QUFRUU55TmdJRUlBSWdBMFlFUUVHNDBRTWdCRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQVUyQWdBZ0JTQUFRUUZ5TmdJRUJRSkFJQUpCd05FREtBSUFSZ1JBUWJUUkF5QUVRYlRSQXlnQ0FHb2lBRFlDQUVIQTBRTWdCVFlDQUNBRklBQkJBWEkyQWdRZ0FDQUZhaUFBTmdJQURBRUxJQUlvQWdRaUNVRURjVUVCUmdSQUlBbEJBM1loQXlBSlFZQUNTUVJBSUFJb0FnZ2lBQ0FDS0FJTUlnRkdCRUJCck5FRFFhelJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBVWdBQ0FCTmdJTUlBRWdBRFlDQ0FzRkFrQWdBaWdDR0NFSUlBSWdBaWdDRENJQVJnUkFBa0FnQWtFUWFpSUJRUVJxSWdNb0FnQWlBQVJBSUFNaEFRVWdBaWdDRUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lCaWdDQUNJRFJRUkFJQUJCRUdvaUJpZ0NBQ0lEUlEwQkN5QUdJUUVnQXlFQURBRUxDeUFCUVFBMkFnQUxCU0FDS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFoRkRRQWdBaUFDS0FJY0lnRkJBblJCM05NRGFpSURLQUlBUmdSQUFrQWdBeUFBTmdJQUlBQU5BRUd3MFFOQnNORURLQUlBUVFFZ0FYUkJmM054TmdJQURBSUxCU0FJUVJCcUlBaEJGR29nQWlBSUtBSVFSaHNnQURZQ0FDQUFSUTBCQ3lBQUlBZzJBaGdnQWlnQ0VDSUJCRUFnQUNBQk5nSVFJQUVnQURZQ0dBc2dBaWdDRkNJQlJRMEFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN5QUNJQWxCZUhFaUFHb2hBaUFBSUFScUlRUUxJQUlnQWlnQ0JFRitjVFlDQkNBRklBUkJBWEkyQWdRZ0JDQUZhaUFFTmdJQUlBUkJBM1loQVNBRVFZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCVFlDQUNBQklBVTJBZ3dnQlNBQk5nSUlJQVVnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQVhRaUFrR0E0QjlxUVJCMlFRUnhJUUJCRGlBQ0lBQjBJZ0pCZ0lBUGFrRVFka0VDY1NJRElBQWdBWEp5YXlBQ0lBTjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBVUVDZEVIYzB3TnFJUUFnQlNBQk5nSWNJQVZCQURZQ0ZDQUZRUUEyQWhCQnNORURLQUlBSWdKQkFTQUJkQ0lEY1VVRVFFR3cwUU1nQWlBRGNqWUNBQ0FBSUFVMkFnQWdCU0FBTmdJWUlBVWdCVFlDRENBRklBVTJBZ2dNQVFzZ0JDQUFLQUlBSWdBb0FnUkJlSEZHQkVBZ0FDRUJCUUpBSUFSQkFFRVpJQUZCQVhacklBRkJIMFliZENFQ0EwQWdBRUVRYWlBQ1FSOTJRUUowYWlJREtBSUFJZ0VFUUNBQ1FRRjBJUUlnQkNBQktBSUVRWGh4UmcwQ0lBRWhBQXdCQ3dzZ0F5QUZOZ0lBSUFVZ0FEWUNHQ0FGSUFVMkFnd2dCU0FGTmdJSURBSUxDeUFCS0FJSUlnQWdCVFlDRENBQklBVTJBZ2dnQlNBQU5nSUlJQVVnQVRZQ0RDQUZRUUEyQWhnTEN5QUtKQVlnQjBFSWFnOExDMEhzMUFNaEJBTkFBa0FnQkNnQ0FDSUdJQU5OQkVBZ0JpQUVLQUlFYWlJR0lBTkxEUUVMSUFRb0FnZ2hCQXdCQ3d0QnhORURJQUZCQUNBQlFRaHFJZ1JyUVFkeFFRQWdCRUVIY1JzaUJHb2lCVFlDQUVHNDBRTWdBa0ZZYWlJSUlBUnJJZ1EyQWdBZ0JTQUVRUUZ5TmdJRUlBRWdDR3BCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBSUFOQkFDQUdRVkZxSWdSQkNHb2lCV3RCQjNGQkFDQUZRUWR4R3lBRWFpSUVJQVFnQTBFUWFra2JJZ1JCR3pZQ0JDQUVRZXpVQXlrQ0FEY0NDQ0FFUWZUVUF5a0NBRGNDRUVIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIMDFBTWdCRUVJYWpZQ0FDQUVRUmhxSVFFRFFDQUJRUVJxSWdKQkJ6WUNBQ0FCUVFocUlBWkpCRUFnQWlFQkRBRUxDeUFESUFSSEJFQWdCQ0FFS0FJRVFYNXhOZ0lFSUFNZ0JDQURheUlHUVFGeU5nSUVJQVFnQmpZQ0FDQUdRUU4ySVFJZ0JrR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUJFRUJJQUowSWdKeEJIOGdBVUVJYWlJRUtBSUFCVUdzMFFNZ0FpQUVjallDQUNBQlFRaHFJUVFnQVFzaEFpQUVJQU0yQWdBZ0FpQUROZ0lNSUFNZ0FqWUNDQ0FESUFFMkFnd01BZ3NnQmtFSWRpSUJCSDhnQmtILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnUkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JDQUJkQ0lFUVlDQUQycEJFSFpCQW5FaUJTQUJJQUp5Y21zZ0JDQUZkRUVQZG1vaUFVRUJkQ0FHSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ0pCQW5SQjNOTURhaUVCSUFNZ0FqWUNIQ0FEUVFBMkFoUWdBMEVBTmdJUVFiRFJBeWdDQUNJRVFRRWdBblFpQlhGRkJFQkJzTkVESUFRZ0JYSTJBZ0FnQVNBRE5nSUFJQU1nQVRZQ0dDQURJQU0yQWd3Z0F5QUROZ0lJREFJTElBWWdBU2dDQUNJQktBSUVRWGh4UmdSQUlBRWhBZ1VDUUNBR1FRQkJHU0FDUVFGMmF5QUNRUjlHRzNRaEJBTkFJQUZCRUdvZ0JFRWZka0VDZEdvaUJTZ0NBQ0lDQkVBZ0JFRUJkQ0VFSUFZZ0FpZ0NCRUY0Y1VZTkFpQUNJUUVNQVFzTElBVWdBellDQUNBRElBRTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBd0RDd3NnQWlnQ0NDSUJJQU0yQWd3Z0FpQUROZ0lJSUFNZ0FUWUNDQ0FESUFJMkFnd2dBMEVBTmdJWUN3c0ZRYnpSQXlnQ0FDSURSU0FCSUFOSmNnUkFRYnpSQXlBQk5nSUFDMEhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUhRMFFOQmhOVURLQUlBTmdJQVFjelJBMEYvTmdJQVFlRFJBMEhVMFFNMkFnQkIzTkVEUWRUUkF6WUNBRUhvMFFOQjNORUROZ0lBUWVUUkEwSGMwUU0yQWdCQjhORURRZVRSQXpZQ0FFSHMwUU5CNU5FRE5nSUFRZmpSQTBIczBRTTJBZ0JCOU5FRFFlelJBellDQUVHQTBnTkI5TkVETmdJQVFmelJBMEgwMFFNMkFnQkJpTklEUWZ6UkF6WUNBRUdFMGdOQi9ORUROZ0lBUVpEU0EwR0UwZ00yQWdCQmpOSURRWVRTQXpZQ0FFR1kwZ05Cak5JRE5nSUFRWlRTQTBHTTBnTTJBZ0JCb05JRFFaVFNBellDQUVHYzBnTkJsTklETmdJQVFhalNBMEdjMGdNMkFnQkJwTklEUVp6U0F6WUNBRUd3MGdOQnBOSUROZ0lBUWF6U0EwR2swZ00yQWdCQnVOSURRYXpTQXpZQ0FFRzAwZ05Cck5JRE5nSUFRY0RTQTBHMDBnTTJBZ0JCdk5JRFFiVFNBellDQUVISTBnTkJ2TklETmdJQVFjVFNBMEc4MGdNMkFnQkIwTklEUWNUU0F6WUNBRUhNMGdOQnhOSUROZ0lBUWRqU0EwSE0wZ00yQWdCQjFOSURRY3pTQXpZQ0FFSGcwZ05CMU5JRE5nSUFRZHpTQTBIVTBnTTJBZ0JCNk5JRFFkelNBellDQUVIazBnTkIzTklETmdJQVFmRFNBMEhrMGdNMkFnQkI3TklEUWVUU0F6WUNBRUg0MGdOQjdOSUROZ0lBUWZUU0EwSHMwZ00yQWdCQmdOTURRZlRTQXpZQ0FFSDgwZ05COU5JRE5nSUFRWWpUQTBIODBnTTJBZ0JCaE5NRFFmelNBellDQUVHUTB3TkJoTk1ETmdJQVFZelRBMEdFMHdNMkFnQkJtTk1EUVl6VEF6WUNBRUdVMHdOQmpOTUROZ0lBUWFEVEEwR1Uwd00yQWdCQm5OTURRWlRUQXpZQ0FFR28wd05Cbk5NRE5nSUFRYVRUQTBHYzB3TTJBZ0JCc05NRFFhVFRBellDQUVHczB3TkJwTk1ETmdJQVFialRBMEdzMHdNMkFnQkJ0Tk1EUWF6VEF6WUNBRUhBMHdOQnROTUROZ0lBUWJ6VEEwRzAwd00yQWdCQnlOTURRYnpUQXpZQ0FFSEUwd05Cdk5NRE5nSUFRZERUQTBIRTB3TTJBZ0JCek5NRFFjVFRBellDQUVIWTB3TkJ6Tk1ETmdJQVFkVFRBMEhNMHdNMkFnQkJ4TkVESUFGQkFDQUJRUWhxSWdOclFRZHhRUUFnQTBFSGNSc2lBMm9pQkRZQ0FFRzQwUU1nQWtGWWFpSUNJQU5ySWdNMkFnQWdCQ0FEUVFGeU5nSUVJQUVnQW1wQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUMwRzQwUU1vQWdBaUFTQUFTd1JBREFJTEMwR2t4UU5CTURZQ0FBd0NDMEc0MFFNZ0FTQUFheUlDTmdJQVFjVFJBeUFBUWNUUkF5Z0NBQ0lCYWlJRE5nSUFJQU1nQWtFQmNqWUNCQ0FCSUFCQkEzSTJBZ1FMSUFva0JpQUJRUWhxRHdzZ0NpUUdRUUFMbUFJQkJIOGdBQ0FDYWlFRUlBRkIvd0Z4SVFNZ0FrSERBRTRFUUFOQUlBQkJBM0VFUUNBQUlBTTZBQUFnQUVFQmFpRUFEQUVMQ3lBRFFRaDBJQU55SUFOQkVIUnlJQU5CR0hSeUlRRWdCRUY4Y1NJRlFVQnFJUVlEUUNBQUlBWk1CRUFnQUNBQk5nSUFJQUFnQVRZQ0JDQUFJQUUyQWdnZ0FDQUJOZ0lNSUFBZ0FUWUNFQ0FBSUFFMkFoUWdBQ0FCTmdJWUlBQWdBVFlDSENBQUlBRTJBaUFnQUNBQk5nSWtJQUFnQVRZQ0tDQUFJQUUyQWl3Z0FDQUJOZ0l3SUFBZ0FUWUNOQ0FBSUFFMkFqZ2dBQ0FCTmdJOElBQkJRR3NoQUF3QkN3c0RRQ0FBSUFWSUJFQWdBQ0FCTmdJQUlBQkJCR29oQUF3QkN3c0xBMEFnQUNBRVNBUkFJQUFnQXpvQUFDQUFRUUZxSVFBTUFRc0xJQVFnQW1zTEJnQkJFUkFDQ3hvQUlBQXNBQXRCQUVnRVFDQUFLQUlJR2lBQUtBSUFFRGdMQ3c4QUlBRUVmeUFBSUFGdUJVRUFDd3NTQUNBQUJFQWdBQ2dDQUJBNElBQVFPQXNMZndFRWZ5TUdJUUlqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lFQkg4Z0FDZ0NCQVVnQTBIL0FYRUxJZ01nQVVrRVFDQUFJQUVnQTJzUTVBa0ZJQVFFUUFKL0lBRWdBQ2dDQUdvaEJTQUNRUUE2QUFBZ0JRc2dBaEJmSUFBZ0FUWUNCQVVnQWtFQU9nQUFJQUFnQVdvZ0FoQmZJQUFnQVRvQUN3c0xJQUlrQmdzUUFDQUFRZkQ0QUNBQktBSUF0eEFYQzhZREFRTi9JQUpCZ01BQVRnUkFJQUFnQVNBQ0VDVWFJQUFQQ3lBQUlRUWdBQ0FDYWlFRElBQkJBM0VnQVVFRGNVWUVRQU5BSUFCQkEzRUVRQ0FDUlFSQUlBUVBDeUFBSUFFc0FBQTZBQUFnQUVFQmFpRUFJQUZCQVdvaEFTQUNRUUZySVFJTUFRc0xJQU5CZkhFaUFrRkFhaUVGQTBBZ0FDQUZUQVJBSUFBZ0FTZ0NBRFlDQUNBQUlBRW9BZ1EyQWdRZ0FDQUJLQUlJTmdJSUlBQWdBU2dDRERZQ0RDQUFJQUVvQWhBMkFoQWdBQ0FCS0FJVU5nSVVJQUFnQVNnQ0dEWUNHQ0FBSUFFb0FodzJBaHdnQUNBQktBSWdOZ0lnSUFBZ0FTZ0NKRFlDSkNBQUlBRW9BaWcyQWlnZ0FDQUJLQUlzTmdJc0lBQWdBU2dDTURZQ01DQUFJQUVvQWpRMkFqUWdBQ0FCS0FJNE5nSTRJQUFnQVNnQ1BEWUNQQ0FBUVVCcklRQWdBVUZBYXlFQkRBRUxDd05BSUFBZ0FrZ0VRQ0FBSUFFb0FnQTJBZ0FnQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NGSUFOQkJHc2hBZ05BSUFBZ0FrZ0VRQ0FBSUFFc0FBQTZBQUFnQUNBQkxBQUJPZ0FCSUFBZ0FTd0FBam9BQWlBQUlBRXNBQU02QUFNZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzTEEwQWdBQ0FEU0FSQUlBQWdBU3dBQURvQUFDQUFRUUZxSVFBZ0FVRUJhaUVCREFFTEN5QUVDeDBBSUFBb0FoZ2dBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FTQUNFTjRJQ3c4QUlBRUVmeUFBSUFGd0JVRUFDd3NQQUNBQkJIOGdBQ0FCYndWQkFBc0xvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCL0FBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDeFVBSUFCQkFTQUFHeEJFSWdBRWZ5QUFCVUVBQ3d1cUJBSUpmd0o5SXdZaEJTTUdRU0JxSkFZZ0JVRUVhaUVFSUFVZ0FEWUNBQ0FBS0FJQUlRTUNRQUpBUWFERUF5Z0NBQ0lCUlNJSkJFQkJBQ0VBREFFRklBRWdBVUYvYWlJSWNVVWlCd1IvSUFNZ0NIRUZJQU1nQVVrRWZ5QURCU0FESUFFUVRnc0xJZ0JCQW5SQm5NUURLQUlBYWlnQ0FDSUNCRUFEUUNBQ0tBSUFJZ0pGRFFNZ0F5QUNLQUlFSWdaSEJFQWdCd1IvSUFZZ0NIRUZJQVlnQVU4RWZ5QUdJQUVRVGdVZ0Jnc0xJQUJIRFFRTElBTWdBaWdDQ0VjTkFBc0ZEQUlMQ3d3QkN5QUVJQU1nQlJEb0JrR3N4QU1xQWdBaUNpQUJzNVJCcU1RREtBSUFRUUZxc3lJTFhTQUpjZ1JBQW44Z0N5QUtsWTBRa2dFaUFpQUJRWDlxSUFGeFFRQkhJQUZCQTBseUlBRkJBWFJ5SWdBZ0FDQUNTUnNRNXdaQm9NUURLQUlBSWdKQmYyb2lBQ0FEY1NBQUlBSnhSUTBBR2lBRElBSkpCSDhnQXdVZ0F5QUNFRTRMQ3lFQUJTQUJJUUlMUVp6RUF5Z0NBQ0FBUVFKMGFpZ0NBQ0lCQkg4Z0JDZ0NBQ0FCS0FJQU5nSUFJQUVnQkNnQ0FEWUNBQ0FFQlNBRUtBSUFRYVRFQXlnQ0FEWUNBRUdreEFNZ0JDZ0NBRFlDQUVHY3hBTW9BZ0FnQUVFQ2RHcEJwTVFETmdJQUlBUW9BZ0FpQnlnQ0FDSUFCRUFnQUNnQ0JDRUFJQUlnQWtGL2FpSUJjUVIvSUFBZ0FrOEVmeUFBSUFJUVRnVWdBQXNGSUFBZ0FYRUxJUUJCbk1RREtBSUFJQUJCQW5ScUlBYzJBZ0FMSUFRTElnQW9BZ0FoQWtHb3hBTkJxTVFES0FJQVFRRnFOZ0lBSUFCQkFEWUNBQXNnQlNRR0lBSkJFR29MdWdFQkJuOGdBQ2dDQUNFQlFhREVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRWnpFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXZDQVFJRGZ3RitBa0FDUUNBQUtRTndJZ1JRUlFSQUlBQXBBM2dnQkZrTkFRc2dBQkQxQVNJQ1FRQklEUUFnQUNnQ0NDRUJBa0FDUUNBQUtRTndJZ1JRRFFBZ0JDQUFLUU40ZlNJRUlBRWdBQ2dDQkNJRGE2eFZEUUFnQUNBRElBU25RWDlxYWpZQ2FBd0JDeUFCSVFNZ0FDQUJOZ0pvQ3lBQ0lBRUVmeUFBSUFBcEEzZ2dBVUVCYWlBQUtBSUVJZ0Zyckh3M0EzZ2dBUVVnQUNnQ0JBdEJmMm9pQUMwQUFFY0VRQ0FBSUFJNkFBQUxEQUVMSUFCQkFEWUNhRUYvSVFJTElBSUxJd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9Bc0xEZ0FnQUNBQklBRVF0QUVRNGdrTERRQWdBQ0FCSUFFUVlCRG5DUXNJQUVFREVBSkJBQXRHQWdKL0FYMGpCaUVGSXdaQkVHb2tCZ0ovSUFBZ0F5QUVFS3dCSVFZZ0JVRUVhaUFGSUFFZ0FpQURFTXNDSUFZTElBVXFBZ1FnQlNvQ0FCQ3ZCeUVISUFVa0JpQUhDd2tBSUFBZ0FCRERBd3RHQUNBQUlBRXFBZ2dnQVNvQ0FDQUNLZ0lBbENBQktnSUVJQUlxQWdTVWtwSTRBZ0FnQUNBQktnSVVJQUVxQWd3Z0Fpb0NBSlFnQVNvQ0VDQUNLZ0lFbEpLU09BSUVDeTBBUWZDK0F5d0FBRVVFUUVId3ZnTVFjQVJBUVlqT0F4RDlCRFlDQUVId3ZnTVFid3NMUVlqT0F5Z0NBQXV6QlFFSWZ5QUFLQUxVQXlJRUtBSVFJZ0pCZ0lBQ1NBUkFJQVJCREdvaEJTQUVLQUlVSVFNRGZ5QUVJQU5CZjJvaUFqWUNGQ0FEUVFGSUJFQWdBQ2dDdUFNRVFFRUFJUU1GSUFBb0FoZ2lBaWdDQkVVRVFDQUNLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ05CR1RZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQ0lBSW9BZ1JCZjJvMkFnUWdBaUFDS0FJQUlnSkJBV28yQWdBZ0Fpd0FBQ0lEUWY4QmNTRUNJQU5CZjBZRVFBSi9BMEFDUUNBQUtBSVlJZ0lvQWdSRkJFQWdBaWdDRENFRElBQWdBMEgvQUhGQkNHb1JBQUJGQkVBZ0FDZ0NBQ0lEUVJrMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3dzZ0FpQUNLQUlFUVg5cU5nSUVJQUlnQWlnQ0FDSUNRUUZxTmdJQUFrQUNRQ0FDTEFBQUlnSkJmMnNPQWdFQUFndEIvd0VNQXdzTUFRc0xJQUFnQWtIL0FYRTJBcmdEUVFBTElRSUxJQUloQXlBRUtBSVVJUUlMSUFVZ0F5QUZLQUlBUVFoMGNqWUNBQ0FFSUFKQkNHb2lBellDRkNBQ1FYaElCRUFnQkNBQ1FRbHFJZ0kyQWhRZ0FrVUVRQ0FFUVlDQUFqWUNFRUVBSVFJTEJTQURJUUlMQ3lBRUlBUW9BaEJCQVhRaUF6WUNFQ0FEUVlDQUFrZ0VmeUFDSVFNTUFRVWdBd3NMSVFBRklBSWhBQ0FFUVF4cUlRVWdCQ2dDRkNFQ0N5QUJMUUFBSWdOQi93QnhRUUowUVpBbWFpZ0NBQ0lHUVFoMUlRZ2dCQ0FBSUFaQkVIVWlCMnNpQURZQ0VDQUZLQUlBSWdrZ0FDQUNkQ0lDVGdSQUlBVWdDU0FDYXpZQ0FDQUVJQWMyQWhBZ0EwR0FBWEVoQWlBQUlBZElCRUFnQVNBQ0lBaHpPZ0FBSUFOQkIzVVBCU0FCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VQQ3dBTElBQkJnSUFDVGdSQUlBTkJCM1VQQ3lBRFFZQUJjU0VDSUFBZ0IwZ0VmeUFCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VGSUFFZ0FpQUljem9BQUNBRFFRZDFDd3NHQUNBQUVEZ0xEQUFnQUNBQkxBQUFPZ0FBQzQwQkFRTi9Ba0FDUUNBQUlnSkJBM0ZGRFFBZ0FpSUJJUUFDUUFOQUlBRXNBQUJGRFFFZ0FVRUJhaUlCSWdCQkEzRU5BQXNnQVNFQURBRUxEQUVMQTBBZ0FFRUVhaUVCSUFBb0FnQWlBMEgvL2Z0M2FpQURRWUNCZ29SNGNVR0FnWUtFZUhOeFJRUkFJQUVoQUF3QkN3c2dBMEgvQVhFRVFBTkFJQUJCQVdvaUFDd0FBQTBBQ3dzTElBQWdBbXNMMkFFQkEzOGdBeWdDVEVGL1NnUi9RUUVGUVFBTEdpQUJJQUpzSVFVZ0F5QURMQUJLSWdRZ0JFSC9BV3B5T2dCS0lBSkJBQ0FCR3lFQ0FrQWdBeWdDQ0NBREtBSUVJZ1pySWdSQkFFb0VmeUFBSUFZZ0JDQUZJQVFnQlVrYklnUVFUQm9nQXlBRUlBTW9BZ1JxTmdJRUlBQWdCR29oQUNBRklBUnJCU0FGQ3lJRVJRMEFJQUFoQmlBRUlRQURRQUpBSUFNUXB3SU5BQ0FESUFZZ0FDQURLQUlnUVQ5eFFjb0JhaEVFQUNJRVFRRnFRUUpKRFFBZ0FDQUVheUlBUlEwQ0lBUWdCbW9oQmd3QkN3c2dCU0FBYXlBQkVFZ2hBZ3NnQWdzeEFRRi9RZWlKQVNnQ0FDRUJJQUFFUUVIb2lRRkJqTVVESUFBZ0FFRi9SaHMyQWdBTFFYOGdBU0FCUVl6RkEwWWJDd01BQVFzSUFFRUdFQUpCQUF1NEFRRUJmU0FDSUFFUXd3TWhBeUFBSUFBcUFnQWdBeUFCS2dJQWxKTTRBZ0FnQUNBQUtnSUVJQU1nQVNvQ0JKU1RPQUlFSUFBZ0FDb0NDQ0FESUFFcUFnaVVremdDQ0NBQUlBQXFBZ3dnQXlBQktnSU1sSk00QWd3Z0FDQUFLZ0lRSUFNZ0FTb0NFSlNUT0FJUUlBQWdBQ29DRkNBRElBRXFBaFNVa3pnQ0ZDQUFJQUFxQWhnZ0F5QUJLZ0lZbEpNNEFoZ2dBQ0FBS2dJY0lBTWdBU29DSEpTVE9BSWNJQUFnQUNvQ0lDQURJQUVxQWlDVWt6Z0NJQXNJQUVFTEVBSkJBQXZYQXdFR2Z5QUFLQUlBSVFRZ0FDZ0NCQ0VIQWtBQ1FDQUFLQUlRSWdVb0FyZ0RCRUFnQVNFSUlBSWhCaUFISVFJZ0JDRUJEQUVGSUFKQkdVZ0VRQUpBSUFFaENDQUNJUVlDUUFOQUFrQWdCMFVFUUNBRktBSVlLQUlNSVFFZ0JTQUJRZjhBY1VFSWFoRUFBRVVOQXlBRktBSVlJZ0VvQWdRaEJ5QUJLQUlBSVFRTElBZEJmMm9oQWlBRVFRRnFJUUVnQkN3QUFDSUhRZjhCY1NFRUlBZEJmMFlFUUFOQUFrQWdBZ1IvSUFFRklBVW9BaGdvQWd3aEFTQUZJQUZCL3dCeFFRaHFFUUFBUlEwR0lBVW9BaGdpQVNnQ0JDRUNJQUVvQWdBTElRUWdBa0YvYWlFQ0lBUkJBV29oQVFKQUFrQWdCQ3dBQUNJRVFYOXJEZ0lCQUFVTFFmOEJJUVFNQVFzTUFRc0xDeUFFSUFoQkNIUnlJUWdnQmtFSWFpRUpJQVpCRVVnRVFDQUNJUWNnQVNFRUlBa2hCZ3dDQlNBSklRWU1CQXNBQ3dzZ0JTQUVRZjhCY1RZQ3VBTU1CQXRCQUE4TEJTQUJJUWdnQWlFR0lBY2hBaUFFSVFFTEN3d0JDeUFHSUFOSUJFQWdCU2dDMUFNb0FpaEZCRUFnQlNnQ0FDSURRZmdBTmdJVUlBTW9BZ1FoQXlBRlFYOGdBMEUvY1VHeUJXb1JBd0FnQlNnQzFBTkJBVFlDS0FzZ0NFRVpJQVpyZENFSVFSa2hCZ3NMSUFBZ0FUWUNBQ0FBSUFJMkFnUWdBQ0FJTmdJSUlBQWdCallDREVFQkN3NEFJQUVnQUVGL2Ftb2dBUkE1Q3djQUlBQWdBSlFMblFFQkJIOGdBQ2dDVEVGL1NnUi9RUUVGUVFBTEdpQUFFSndGSUFBb0FnQkJBWEZCQUVjaUJFVUVRQkNyQWlFQklBQW9BalFpQWdSQUlBSWdBQ2dDT0RZQ09Bc2dBQ2dDT0NJREJFQWdBeUFDTmdJMEN5QUFJQUVvQWdCR0JFQWdBU0FETmdJQUMwR294UU1RRGdzZ0FCQ3BBaG9nQUNBQUtBSU1RZjhBY1VFSWFoRUFBQm9nQUNnQ1lDSUJCRUFnQVJBNEN5QUVSUVJBSUFBUU9Bc0xxUUVDQ0g4QmZDTUdJUU1qQmtFd2FpUUdJQUFRbndjQ2Z4RGpBeUVJSUFOQkdHb2lBUkM3QXlBQkxBQUxJUVVnQVNnQ0FDRUdJQUJCRUdvaUFpd0FDMEVBU0FSL0lBSW9BZ0FGSUFJTElRY2dBQkNlQjBRQUFBQUFBRUNQUUtJaENTQURJZ0JCOEtNQ05nSUFJQUFnQmlBQklBVkJBRWdiTmdJRUlBQkIrS01DTmdJSUlBQWdCellDRENBQUlBazVBeEFnQ0F0QjFhTUNJQUFRdHdNZ0FSQkhJQUlRUnlBQUpBWUxSQUFnQUNBQmN5SUFJQUJCQVhaQjFhclZxZ1Z4YXlJQVFiUG16SmtEY1NBQVFRSjJRYlBtekprRGNXb2lBRUVFZGlBQWFrR1Bucno0QUhGQmdZS0VDR3hCR0hZTGZnRURmeUFCUXdBQUFEK1NFRU1nQUNnQ0VHb2hCU0FDUXdBQUFEK1NFRU1nQUNnQ0ZHb2hCaUFGUVFCSUJIOUJmd1VnQmtFQVNDQUZJQUFvQWdnaUIwNXlCSDlCZndVZ0JpQUFLQUlNU0FSL0lBTWdBQ2dDQUNBR0lBZHNJQVZxUVFOMGFpSUFLQUlBTmdJQUlBUWdBQ2dDQkRZQ0FFRUFCVUYvQ3dzTEN3d0FJQUFnQVNnQ0FEWUNBQXNXQUNBQVFRQTJBZ0FnQUNBQUtBSUFRUUZ5TmdJQUN3MEFJQUFzQUFCQkFFZEJBWE1MRVFBZ0FDZ0NGQ0FBS0FJUWEwRVVFRGtMR0FBZ0FDZ0NBRUVnY1VVRVFDQUJJQUlnQUJDWEF4b0xDMEFBSUFBZ0FHSUVmMEdBZ0lDQWVBVWdBRVFBQUFBQUFBRGdRV1lFZjBHQWdJQ0FlQVVnQUVRQUFDQUFBQURnd1dVRWYwR0FnSUNBZUFVZ0FLb0xDd3NMQndBZ0FFRUVhZ3Q5QVFKL0l3WWhCU01HUVlBQ2FpUUdJQVJCZ01BRWNVVWdBaUFEU25FRVFDQUZJQUZCR0hSQkdIVWdBaUFEYXlJQlFZQUNJQUZCZ0FKSkd4QkZHaUFCUWY4QlN3UkFJQUlnQTJzaEJnTkFJQUFnQlVHQUFoQnlJQUZCZ0g1cUlnRkIvd0ZMRFFBTElBWkIvd0Z4SVFFTElBQWdCU0FCRUhJTElBVWtCZ3NHQUVFWkVBSUxPUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdCRFlDQUNBQ0VHSWhBaUFBSUFFZ0F5QUZFS2tCSVFZZ0FnUkFJQUlRWWhvTElBVWtCaUFHQzVZQ0FRUi9JQUFvQWdRaUJpQUFMQUFMSWdSQi93RnhJZ1VnQkVFQVNCc0VRQUpBSUFFZ0FrY0VRQ0FDSVFRZ0FTRUZBMEFnQlNBRVFYeHFJZ1JKQkVBZ0JTZ0NBQ0VHSUFVZ0JDZ0NBRFlDQUNBRUlBWTJBZ0FnQlVFRWFpRUZEQUVMQ3lBQUxBQUxJZ1JCL3dGeElRVWdBQ2dDQkNFR0N5QUNRWHhxSVFjZ0FDZ0NBQ0FBSUFSQkdIUkJHSFZCQUVnaUFoc2lBQ0FHSUFVZ0FodHFJUVVDUUFKQUEwQUNRQ0FBTEFBQUlnSkJBRW9nQWtIL0FFZHhJUVFnQVNBSFR3MEFJQVFFUUNBQktBSUFJQUpIRFFNTElBRkJCR29oQVNBQVFRRnFJQUFnQlNBQWEwRUJTaHNoQUF3QkN3c01BUXNnQTBFRU5nSUFEQUVMSUFRRVFDQUhLQUlBUVg5cUlBSlBCRUFnQTBFRU5nSUFDd3NMQ3d0Q0FRRi9JQUJFQUFBQUFBQUE4TDg1QXdBZ0FFUUFBQUFBQUFEd3Z6a0RDQ0FBUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFBUW9BY0xDQUJCQlJBQ1FRQUxyZ1VDQzM4Q2ZTTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJTQUJRWDlNQkVBZ0JVSEF5QU5COUkwQ0VEZEJzNG9DRURkQjc2SUNFRGRCb2dJUVBrSDJvZ0lRTjBHV2pnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRSWdCRUVLSUFKQlAzRkJpZ0ZxRVFJQUlRSWdCUkE4SUFNZ0FoQkFJQU1RUHhBQUN5QUZJQUUyQWdBZ0FFSGNBR29pQmlBRkVPZ0RJZ0lFUUNBQ0lBSW9BZ3hCQVdvMkFnd0ZJQWNnQVRZQ0FDQUhRUUUyQWdRQ1FBSkFJQUFvQW1BaUJFVWlDZ1JBUVFBaEFnd0JCU0FFSUFSQmYyb2lDWEZGSWdzRWZ5QUJJQWx4QlNBRUlBRkxCSDhnQVFVZ0FTQUVFRTRMQ3lJQ1FRSjBJQVlvQWdCcUtBSUFJZ01FUUFOQUlBTW9BZ0FpQTBVTkF5QURLQUlFSWdnZ0FVY0VRQ0FMQkg4Z0NDQUpjUVVnQ0NBRVR3Ui9JQWdnQkJCT0JTQUlDd3NnQWtjTkJBc2dBeWdDQ0NBQlJ3MEFDd1VNQWdzTERBRUxJQVVnQmlBQklBY1F2QWNnQ2lBQUtnSnNJZzBnQkxPVUlBQW9BbWhCQVdxeklnNWRjZ1IvQW44Z0JpQU9JQTJWalJDU0FTSURJQVFnQkVGL2FuRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFpQUNJQU5KR3hERkFpQUFLQUpnSWdOQmYyb2hBaUFCSUFKeElBSWdBM0ZGRFFBYUlBTWdBVTBFZnlBQklBTVFUZ1VnQVFzTEJTQUVJUU1nQWdzaEFTQUdLQUlBSUFGQkFuUnFLQUlBSWdJRWZ5QUZLQUlBSUFJb0FnQTJBZ0FnQWlBRktBSUFOZ0lBSUFVRklBVW9BZ0FnQUNnQ1pEWUNBQ0FBSUFVb0FnQTJBbVFnQmlnQ0FDQUJRUUowYWlBQVFlUUFhallDQUNBRktBSUFJZ1FvQWdBaUFRUkFJQUVvQWdRaEFTQURJQU5CZjJvaUFuRUVmeUFCSUFOUEJIOGdBU0FERUU0RklBRUxCU0FCSUFKeEN5RUJJQVlvQWdBZ0FVRUNkR29nQkRZQ0FBc2dCUXNoRENBQUlBQW9BbWhCQVdvMkFtZ2dERUVBTmdJQUN3c2dCeVFHQy9ZSUFRZC9Jd1loQmlNR1FSQnFKQVlnQVVGL1RBUkFJQVpCd01nRFFhbU9BaEEzUWJPS0FoQTNRZStpQWhBM1FhVUJFRDVCOXFJQ0VEZEJ5bzRDRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUhJQVVRUUNBSEVEOFFBQXNnQUNnQ05DSUtJQUZNQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCcGdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUNRWDlNQkVBZ0JrSEF5QU5CaEk4Q0VEZEJzNG9DRURkQjc2SUNFRGRCcHdFUVBrSDJvZ0lRTjBHbGp3SVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUFLQUk0SWdzZ0Frd0VRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wR29BUkErUWZhaUFoQTNRYVdQQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFOQmYwd0VRQ0FHUWNESUEwSGZqd0lRTjBHemlnSVFOMEh2b2dJUU4wR3BBUkErUWZhaUFoQTNRWVNRQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFBb0Fqd2lCeUFEVEFSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFvQkVENUI5cUlDRURkQmhKQUNFRGNpQ1NnQ0FFRjBhaWdDQUNBSmFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dCRUYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFzQkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBRUZBYXlnQ0FDQUVUQVJBSUFaQndNZ0RRWVdSQWhBM1FiT0tBaEEzUWUraUFoQTNRYXdCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FTQUNJQXBzYWlJQklBTWdBQ2dDVkd4cUlBUWdBQ2dDV0d4cUlnQWdBU0FESUFRZ0IyeHFJQW9nQzJ4c2Frb0VRQ0FHUWNESUEwRzFrUUlRTjBHemlnSVFOMEh2b2dJUU4wR3dBUkErUWZhaUFoQTNRWmFPQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBR0VEd2dBaUFBRUVBZ0FoQS9FQUFGSUFZa0JpQUFEd3RCQUF0RkFRSi9BMEFDUUNBRElBSk9EUUFnQTBFRGRDQUJhaWdDQUNJRVJRMEFJQUFnQkVZRVFDQURRUU4wUVFScUlBRnFLQUlBRHdVZ0EwRUJhaUVEREFJTEFBc0xRUUFMY2dFRGZ5TUdJUU1qQmtFUWFpUUdJQUpCYjBzRVFCQUFDeUFDUVF0SkJFQWdBQ0FDT2dBTEJTQUFJQUpCRUdwQmNIRWlCQkJSSWdVMkFnQWdBQ0FFUVlDQWdJQjRjallDQ0NBQUlBSTJBZ1FnQlNFQUN5QUFJQUVnQWhDb0FTQURRUUE2QUFBZ0FDQUNhaUFERUY4Z0F5UUdDd1FBUVFBTERRQWdBQ0FEbENBQklBS1Vrd3NiQUNBQ0JIOGdBQ2dDQkNBQktBSUVFTE1CUlFVZ0FDQUJSZ3NMUlFJQ2Z3RitJQUFnQVRjRGNDQUFJQUFvQWdnaUFpQUFLQUlFSWdOcnJDSUVOd040SUFGQ0FGSWdCQ0FCVlhFRVFDQUFJQU1nQWFkcU5nSm9CU0FBSUFJMkFtZ0xDeWNCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FDQUJJQU1RbFFNaEJDQURKQVlnQkFzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRSkJ6SWNCUVpqUEFrRWVJQUVRQ1NBREN5UUdDekVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpNTEJ3QWdBRUVJYWdzOEFRSi9JQUFvQWdRZ0FDZ0NBQ0lEYTBFQ2RTSUNJQUZKQkVBZ0FDQUJJQUpyRVA4SUJTQUNJQUZMQkVBZ0FDQUJRUUowSUFOcU5nSUVDd3NMRXdBZ0FFR2dpd0UyQWdBZ0FFRUVhaERvQ1F1QkFRQUNRQUpBSUFJb0FnUkJzQUZ4UVJoMFFSaDFRUkJySWdJRVFDQUNRUkJHQkVBTUFnVU1Bd3NBQ3dKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUFRUUZxSVFBTUFnc2dBa0V3UmlBQklBQnJRUUZLY1VVTkFTQUFMQUFCUWRnQWF5SUJRUUFnQVVFZ1J4c05BU0FBUVFKcUlRQU1BUXNnQVNFQUN5QUFDd29BSUFCQlVHcEJDa2tMUVFFQ2YwRU1FRVFpQWdSQUlBSWdBU0FBUVFOMGJCQkVJZ00yQWdBZ0F3UkFJQUlnQURZQ0JDQUNJQUUyQWdnRklBSVFPRUVBSVFJTEJVRUFJUUlMSUFJTDNBRUJBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dnQUNnQ0RDRUNJQUFnQVNnQ0REWUNEQ0FCSUFJMkFnd2dBQ2dDRUNFQ0lBQWdBU2dDRURZQ0VDQUJJQUkyQWhBZ0FDZ0NGQ0VDSUFBZ0FTZ0NGRFlDRkNBQklBSTJBaFFnQUNnQ0dDRUNJQUFnQVNnQ0dEWUNHQ0FCSUFJMkFoZ2dBQ2dDSENFQ0lBQWdBU2dDSERZQ0hDQUJJQUkyQWh3Z0FDZ0NJQ0VDSUFBZ0FTZ0NJRFlDSUNBQklBSTJBaUFMRlFBZ0FBUi9JQUFnQVRrRGdBRkJBQVZCZndzYUM3Z0NBZ1YvQW53akJpRUhJd1pCSUdva0JpQUhRUWhxSVFZZ0IwRVVhaUlJSUFSQkJIUVFSQ0lLTmdJQUlBcEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFIUVJCcUlRWWdDQ0FFUVJoc0VFUWlDVFlDQkNBSlJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VHQTBBZ0JpQUVTQVJBSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQURrREFDQUdRUVIwSUFwcUlBWkJCSFFnQW1vckF3ZzVBd2dnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01BT1FNQUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBeEE1QXhBZ0JrRUJhaUVHREFFTEN5QUlJQVEyQWdnZ0FDZ0NBQ0FJSUFFZ0JTQUhFSjBFUVFCSUJFQWdCMFFBQUFBQWhOZVhRVGtEQUFzZ0NDZ0NBQkE0SUFnb0FnUVFPQ0FIS3dNQUlRd2dCeVFHSUF3TE5RQWdBRUlBTndJQUlBQkJBRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBQWFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzTFVRRUJmQ0FBSUFDaUlnQWdBS0loQVVRQUFBQUFBQUR3UHlBQVJJRmVEUDMvLzk4L29xRWdBVVJDT2dYaFUxV2xQNktnSUFBZ0FhSWdBRVJwVU83Z1FwUDVQcUpFSng0UDZJZkFWcitnb3FDMkMwc0JBbndnQUNBQW9pSUJJQUNpSWdJZ0FTQUJvcUlnQVVTblJqdU1oODNHUHFKRWRPZks0dmtBS3IrZ29pQUNJQUZFc3Z0dWlSQVJnVCtpUkhlc3kxUlZWY1cvb0tJZ0FLQ2d0Z3NzQUNBQUlBQmNCSDlCQUFVZ0FFTUFBSUJQWUFSL1FRQUZJQUJEQUFDQXYxOEVmMEVBQlNBQXFRc0xDd3MwQVFGL0lBRWdBbXdoQkNBQ1FRQWdBUnNoQWlBREtBSk1HaUFFSUFBZ0JDQURFSmNESWdCSEJIOGdBQ0FCRUVnRklBSUxDM2NBSUFBZ0FTb0NBQ0FDbERnQ0FDQUFJQUVxQWdRZ0FwUTRBZ1FnQUNBQktnSUlJQUtVT0FJSUlBQWdBU29DRENBQ2xEZ0NEQ0FBSUFFcUFoQWdBcFE0QWhBZ0FDQUJLZ0lVSUFLVU9BSVVJQUFnQVNvQ0dDQUNsRGdDR0NBQUlBRXFBaHdnQXBRNEFod2dBQ0FCS2dJZ0lBS1VPQUlnQzBFQkFYOGdBQ2dDQkNJQUJFQWdBQ0FBS0FJRUlnRkJmMm8yQWdRZ0FVVUVRQ0FBS0FJQUtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkRxQ1FzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd0VnQUNnQ0JDQUFLQUlBYTBFRGRVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVDZFNJR0lBWWdBMGtiUWYvLy8vOEJJQVZCQTNWQi8vLy8vd0JKR3lBQUtBSUVJQVJyUVFOMUlBQkJDR29RaUFJZ0FpZ0NDQ0FCS1FJQU53SUFJQUlnQWlnQ0NFRUlhallDQ0NBQUlBSVF6UUlnQWhETUFpQUNKQVlMQzZRQ0FRVi9Jd1loQnlNR1FSQnFKQVlnQUNnQ0FDSUdCRUFDUUNBRUtBSU1JUWdnQWlBQmF5SUpRUUJLQkVBZ0JpZ0NBQ2dDTUNFS0lBWWdBU0FKSUFwQlAzRkJ5Z0ZxRVFRQUlBbEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDQ0FESUFGcklnRnJRUUFnQ0NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFsZ1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnRkJBRW9FUUNBR0tBSUFLQUl3SVFNZ0JpQUNJQUVnQTBFL2NVSEtBV29SQkFBZ0FVY0VRQ0FBUVFBMkFnQkJBQ0VHREFJTEN5QUVRUUEyQWd3TEJVRUFJUVlMSUFja0JpQUdDd2dBUVFrUUFrRUFDN1VIQVFoL0lBQW9BZ0FpQndSL0lBY29BZ3dpQmlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFZQ1FBSkFBa0FnQVNnQ0FDSUhCRUFnQnlnQ0RDSUZJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQlNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBR0JFQU1CQVVNQXdzQUN3c2dCa1VFUUVFQUlRY01BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FFRUFJUWNNQVFzZ0EwR0FFQ0FBS0FJQUlnWW9BZ3dpQlNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMSWdZZ0F5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkJFQWdBaUFDS0FJQVFRUnlOZ0lBUVFBaEJ3d0JDeUFESUFaQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVFYWpZQ0RDQUZLQUlBR2dzZ0MwRVlkRUVZZFNFRklBUWhCaUFISWdRaENBTkFBa0FnQlVGUWFpRUhJQUFvQWdBaUJRUi9JQVVvQWd3aUNTQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTEFuOGdDQVIvSUFnb0Fnd2lCU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRUkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hEQ0FBS0FJQUlRVWdEQXR6SUFaQkFVcHhSUTBBSUFOQmdCQWdCU2dDRENJSklBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUFzaUJTQURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFESUFWQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUtJQUFvQWdBaUJTZ0NEQ0lKSUFVb0FoQkdCRUFnQlNBRktBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBVWdDVUVFYWpZQ0RDQUpLQUlBR2dzZ0IwRUtiQ0FLUVJoMFFSaDFhaUVGSUFaQmYyb2hCZ3dCQ3dzZ0JRUi9JQVVvQWd3aUF5QUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFBTkF3c01BUXNnQUVVTkFRc2dBaUFDS0FJQVFRSnlOZ0lBQ3lBSEMrd0hBUWgvSUFBb0FnQWlCUVIvSUFVb0Fnd2lDQ0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlna0VRQ0FKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUpEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQkJBQ0VFREFFTElBQW9BZ0FpQlNnQ0RDSUlJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDeUlGUWY4QmNTSUlRUmgwUVJoMVFYOUtCRUFnQXlnQ0NDQUZRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRUVRQ0FESUFoQkFDQURLQUlBS0FJa1FUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUxRUmgwUVJoMUlRWWdCQ0VJSUFraEJRTkFBa0FnQmtGUWFpRUVJQUFvQWdBaUNnUi9JQW9vQWd3aUJpQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDaUFGQkg4Z0JTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VKUVFBaEJVRUJCVUVBQ3dWQkFDRUZRUUVMSVF3Z0FDZ0NBQ0VISUF3Z0NuTWdDRUVCU25GRkRRQWdCeWdDRENJR0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUtRZjhCY1NJR1FSaDBRUmgxUVg5TURRUWdBeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRUWdBeUFHUVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFBaEJpQUFLQUlBSWdjb0Fnd2lDaUFIS0FJUVJnUkFJQWNnQnlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUtiQ0FHUVJoMFFSaDFhaUVHSUFoQmYyb2hDQXdCQ3dzZ0J3Ui9JQWNvQWd3aUF5QUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0NVVU5BQ0FKS0FJTUlnQWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FBTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUREUVVMREFFTElBTkZEUU1MSUFJZ0FpZ0NBRUVDY2pZQ0FBd0NDd3NnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCQXNnQkFzM0FRSi9Jd1loQkNNR1FSQnFKQVlnQkNBRE5nSUFJQUVRWWlFQklBQWdBaUFFRVBRRUlRVWdBUVJBSUFFUVlob0xJQVFrQmlBRkMyd0FBbjhDUUFKQUFrQUNRQ0FBS0FJRVFjb0FjUTVCQWdNREF3TURBd01CQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdBREMwRUlEQU1MUVJBTUFndEJBQXdCQzBFS0N3dnpBd0VHZndKQUFrQWdBYndpQlVILy8vLy9CM0VpQmtHQWdJRDhCMHNOQUNBQXZDSUNRZi8vLy84SGNTSURRWUNBZ1B3SFN3MEFBa0FnQlVHQWdJRDhBMFlFUUNBQUVQUUNJUUFNQVFzZ0FrRWZkaUlISUFWQkhuWkJBbkZ5SVFJZ0EwVUVRQUpBQWtBQ1FDQUNRUU54RGdRRUJBQUJBZ3REMnc5SlFDRUFEQU1MUTlzUFNjQWhBQXdDQ3dzQ1FDQUZRZi8vLy84SGNTSUVRWUNBZ1B3SFNBUkFJQVFOQVVQYkQ4bS9ROXNQeVQ4Z0J4c2hBQXdDQlNBRVFZQ0FnUHdIYXcwQklBSkIvd0Z4SVFRZ0EwR0FnSUQ4QjBZRVFBSkFBa0FDUUFKQUFrQWdCRUVEY1E0RUFBRUNBd1FMUTlzUFNUOGhBQXdIQzBQYkQwbS9JUUFNQmd0RDVNc1dRQ0VBREFVTFErVExGc0FoQUF3RUN3VUNRQUpBQWtBQ1FBSkFJQVJCQTNFT0JBQUJBZ01FQzBNQUFBQUFJUUFNQnd0REFBQUFnQ0VBREFZTFE5c1BTVUFoQUF3RkMwUGJEMG5BSVFBTUJBc0xDd3NnQTBHQWdJRDhCMFlnQmtHQWdJRG9BR29nQTBseUJFQkQydy9KdjBQYkQ4ay9JQWNiSVFBTUFRc2dCVUVBU0NBRFFZQ0FnT2dBYWlBR1NYRUVmVU1BQUFBQUJTQUFJQUdWaXhEMEFnc2hBQUpBQWtBQ1FDQUNRUU54RGdNREFBRUNDeUFBakNFQURBSUxROXNQU1VBZ0FFTXV2YnN6a3BNaEFBd0JDeUFBUXk2OXV6T1NROXNQU2NDU0lRQUxEQUVMSUFBZ0FaSWhBQXNnQUF1akFnQWdBQVIvQW44Z0FVR0FBVWtFUUNBQUlBRTZBQUJCQVF3QkMwSG9pUUVvQWdBb0FnQkZCRUFnQVVHQWYzRkJnTDhEUmdSQUlBQWdBVG9BQUVFQkRBSUZRYVRGQTBFWk5nSUFRWDhNQWdzQUN5QUJRWUFRU1FSQUlBQWdBVUVHZGtIQUFYSTZBQUFnQUNBQlFUOXhRWUFCY2pvQUFVRUNEQUVMSUFGQmdFQnhRWURBQTBZZ0FVR0FzQU5KY2dSQUlBQWdBVUVNZGtIZ0FYSTZBQUFnQUNBQlFRWjJRVDl4UVlBQmNqb0FBU0FBSUFGQlAzRkJnQUZ5T2dBQ1FRTU1BUXNnQVVHQWdIeHFRWUNBd0FCSkJIOGdBQ0FCUVJKMlFmQUJjam9BQUNBQUlBRkJESFpCUDNGQmdBRnlPZ0FCSUFBZ0FVRUdka0UvY1VHQUFYSTZBQUlnQUNBQlFUOXhRWUFCY2pvQUEwRUVCVUdreFFOQkdUWUNBRUYvQ3dzRlFRRUxDNmtCQVFKL0lBRkIvd2RLQkVBZ0FFUUFBQUFBQUFEZ2Y2SWlBRVFBQUFBQUFBRGdmNklnQUNBQlFmNFBTaUlDR3lFQUlBRkJnbkJxSWdOQi93Y2dBMEgvQjBnYklBRkJnWGhxSUFJYklRRUZJQUZCZ25oSUJFQWdBRVFBQUFBQUFBQVFBS0lpQUVRQUFBQUFBQUFRQUtJZ0FDQUJRWVJ3U0NJQ0d5RUFJQUZCL0E5cUlnTkJnbmdnQTBHQ2VFb2JJQUZCL2dkcUlBSWJJUUVMQ3lBQUlBRkIvd2RxclVJMGhyK2lDNXNDQVFKL0lBSWdCRWdFUUNBQUlBRWdBaUFFRUdjRWZ5QUFLQUlJSVFVZ0FDZ0NEQVZCZnc4TElRSUZJQUVoQlFzZ0JFRUNkRUh3TVdvb0FnQWdCU0FDSUFScklnRjFjU0lHSUFSQkFuUWdBMm9vQWdCS0JFQUNRQ0FGSVFJRFFBSkFJQUZCQVVnRVFDQUFJQUlnQVVFQkVHZEZEUUVnQUNnQ0NDRUNJQUFvQWd3aEFRc2dBaUFCUVg5cUlnRjJRUUZ4SUFaQkFYUnlJZ1lnQkVFQmFpSUVRUUowSUFOcUtBSUFTZzBCREFJTEMwRi9Ed3NGSUFVaEFnc2dBQ0FDTmdJSUlBQWdBVFlDRENBRVFSQktCSDhnQUNnQ0VDSUFLQUlBSWdGQitRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUFCU0FHSUFOQnlBQnFJQVJCQW5ScUtBSUFhaUFES0FLTUFVRVJhbW90QUFBTEM1TUNBZ0YvQW4wZ0FDQUJJQUpCQW5RZ0FXb3FBZ0NNRUpRQklBSkJBblFnQUdvaUF5QURLZ0lBUXdBQWdEK1NPQUlBSUFBZ0FVRWthaUFDUVFscVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnlBQnFJQUpCRW1wQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIc0FHb2dBa0ViYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUVpBQmFpQUNRU1JxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCdEFGcUlBSkJMV3BCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhZQVdvZ0FrRTJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRZndCYWlBQ1FUOXFRUUowSUFGcUtnSUFqQkM1QVNBQUVGb2lCWkVoQkNBRlF3QUFBQUJiQkVCREFBQUFBQ0VFQlNBQUlBQkRBQUNBUHlBRWxSQ1VBUXNnQkFzR0FFRVVFQUlML2drQkNuOGpCaUVOSXdaQkVHb2tCaUFOUVFocUlSQWdEVUVNYWlJT0lBTVFPeUFPUWFET0F4QTZJUXNnRGhBOElBUkJBRFlDQUFKQUFrQURRQUpBSUFFb0FnQWhDQ0FKUlNBR0lBZEhjVVVOQUNBSUlna0VmeUFKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQVNFTVFRQWhDVUVBQlVFQUlRd2dDUXNGUVFFaERFRUFDeUVJSUFJb0FnQWlDaUVSQWtBQ1FDQUtSUTBBSUFvb0Fnd2lEeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUE4b0FnQUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnREVVTkJRc01BUXNnREEwRFFRQWhDZ3NnQ3lBR0tBSUFRUUFnQ3lnQ0FDZ0NORUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRUnFJZ3hHRFFNQ1FDQUxJQXdvQWdCQkFDQUxLQUlBS0FJMFFUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJDR3BHRFFVZ0NpRUlJQXNnQmlnQ0NFRUFJQXNvQWdBb0FqUkJQM0ZCeWdGcUVRUUFJUW9nRENFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTUlBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTVFROXhRWTREYWhFT0FEWUNBQ0FHUVFocUlRWUZBa0FnQzBHQXdBQWdCaWdDQUNBTEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVRVFDQUxJQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTElBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRa2dDeUFHS0FJQUlBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlBbEhCRUFnQkVFRU5nSUFEQUlMSUFnb0Fnd2lDU0FJS0FJUVJnUkFJQWdnQ0NnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSUlBbEJCR28yQWd3Z0NTZ0NBQm9MSUFaQkJHb2hCZ3dCQ3dOQUFrQWdCeUFHUVFScUlnWkdCRUFnQnlFR0RBRUxJQXRCZ01BQUlBWW9BZ0FnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUFOQVFzTElBb2hDUU5BSUFnRWZ5QUlLQUlNSWdvZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hDZ0pBQWtBZ0NVVU5BQ0FKS0FJTUlnd2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FNS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CQXNNQVFzZ0NnMENRUUFoQ1FzZ0MwR0F3QUFnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnQ0NnQ0RDSUtJQWdvQWhCR0JFQWdDQ0FJS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFnZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUUVDUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQlJRMENDd3dDQ3lBQkRRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QU5KQVlnQ0F1dENnRUtmeU1HSVEwakJrRVFhaVFHSUExQkNHb2hFQ0FOUVF4cUlnNGdBeEE3SUE1QmdNNERFRG9oRENBT0VEd2dCRUVBTmdJQUFrQUNRQU5BQWtBZ0FTZ0NBQ0VJSUFsRklBWWdCMGR4UlEwQUlBZ2lDUVIvSUFrb0Fnd2lDQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRWhDMEVBSVFsQkFBVkJBQ0VMSUFrTEJVRUJJUXRCQUFzaENDQUNLQUlBSWdvaEVRSkFBa0FnQ2tVTkFDQUtLQUlNSWc4Z0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVBMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdDMFVOQlFzTUFRc2dDdzBEUVFBaENnc2dEQ0FHTEFBQVFRQWdEQ2dDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFGcUlndEdEUU1DUUNBTUlBc3NBQUJCQUNBTUtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkFtcEdEUVVnQ2lFSUlBd2dCaXdBQWtFQUlBd29BZ0FvQWlSQlAzRkJ5Z0ZxRVFRQUlRb2dDeUVHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VMSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FMUVE5eFFZNERhaEVPQURZQ0FDQUdRUUpxSVFZRkFrQWdCaXdBQUNJSlFYOUtCRUFnRENnQ0NDSUxJQWxCQVhScUxnRUFRWURBQUhFRVFBTkFBa0FnQnlBR1FRRnFJZ1pHQkVBZ0J5RUdEQUVMSUFZc0FBQWlDVUYvVEEwQUlBbEJBWFFnQzJvdUFRQkJnTUFBY1EwQkN3c2dDaUVKQTBBZ0NBUi9JQWdvQWd3aUNpQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFvQ1FBSkFJQWxGRFFBZ0NTZ0NEQ0lMSUFrb0FoQkdCSDhnQ1NBSktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJnc01BUXNnQ2cwRVFRQWhDUXNnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlLUWY4QmNVRVlkRUVZZFVGL1RBMERJQXdvQWdnZ0NrRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BeUFJS0FJTUlnb2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBS1FRRnFOZ0lNSUFvc0FBQVFRaG9MREFBQUN3QUxDeUFNSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeElBd29BZ0FvQWd4QlAzRkJpZ0ZxRVFJQVFmOEJjU0FNSUFZc0FBQWdEQ2dDQUNnQ0RFRS9jVUdLQVdvUkFnQkIvd0Z4UndSQUlBUkJCRFlDQUF3QkN5QUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFGcU5nSU1JQWtzQUFBUVFob0xJQVpCQVdvaEJnc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQVFKQUFrQUNRQ0FDS0FJQUlnQkZEUUFnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBVVVOQWdzTUFnc2dBUTBBREFFTElBUWdCQ2dDQUVFQ2NqWUNBQXNnRFNRR0lBZ0x0UUlCQlg4akJpRUhJd1pCRUdva0JpQUFLQUlBSWdZRVFBSkFJQVFvQWd3aENTQUNJQUZySWdoQkFuVWhDaUFJUVFCS0JFQWdCaWdDQUNnQ01DRUlJQVlnQVNBS0lBaEJQM0ZCeWdGcUVRUUFJQXBIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ1NBRElBRnJRUUoxSWdGclFRQWdDU0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWt3UWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdOQkFuVWhBU0FEUVFCS0JFQWdCaWdDQUNnQ01DRURJQVlnQWlBQklBTkJQM0ZCeWdGcUVRUUFJQUZIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQkVFQU5nSU1Dd1ZCQUNFR0N5QUhKQVlnQmd0K0FRTi9JQUZEQUFBQVA1SVFReUFBS0FJUWFpRUZJQUpEQUFBQVA1SVFReUFBS0FJVWFpRUdJQVZCQUVnRWYwRi9CU0FHUVFCSUlBVWdBQ2dDQ0NJSFRuSUVmMEYvQlNBR0lBQW9BZ3hJQkg4Z0F5QUFLQUlFSUFZZ0Iyd2dCV3BCQTNScUlnQW9BZ0EyQWdBZ0JDQUFLQUlFTmdJQVFRQUZRWDhMQ3dzTEVBQWdBZ1JBSUFBZ0FTQUNFUG9FQ3dzUUFDQUNCRUFnQUNBQklBSVFUQm9MQzc4QkFRSi9Jd1loQkNNR1FhQUJhaVFHSUFSQmtBRnFJUVVnQkVHWTlnQkJrQUVRVEJvQ1FBSkFJQUZCZjJwQi92Ly8vd2RORFFBZ0FRUi9RYVRGQTBFOU5nSUFRWDhGSUFVaEFFRUJJUUVNQVFzaEFBd0JDeUFFUVg0Z0FHc2lCU0FCSUFFZ0JVc2JJZ0UyQWpBZ0JDQUFOZ0lVSUFRZ0FEWUNMQ0FFSUFBZ0FXb2lBRFlDRUNBRUlBQTJBaHdnQkNBQ0lBTVFwUUloQUNBQkJFQWdCQ2dDRkNJQklBRWdCQ2dDRUVaQkgzUkJIM1ZxUVFBNkFBQUxDeUFFSkFZZ0FBdHJBUU45SUFFcUFpQWdBU29DR0NBQ0tnSUFJZ1NVSUFFcUFod2dBaW9DQkNJRmxKS1NJUU1nQUNBQktnSUlJQVFnQVNvQ0FKUWdCU0FCS2dJRWxKS1NJQU9WT0FJQUlBQWdBU29DRkNBQktnSU1JQUlxQWdDVUlBRXFBaEFnQWlvQ0JKU1NraUFEbFRnQ0JBdWZBZ0lFZndWOElBTkJBblFnQVdvb0FnQWlDaUFDUVFKMElBRnFLQUlBSWdocnR5RU1JQUpCQW5RZ0FHb29BZ0FpQ1NBRFFRSjBJQUJxS0FJQUlnZHJ0eUVOSUFjZ0NHd2dDU0FLYkd1M0lROGdBa0VCYWlJSElRZ0RRQ0FISUFOSUJFQWdCeUFJSUF3Z0IwRUNkQ0FBYWlnQ0FMZWlJQTBnQjBFQ2RDQUJhaWdDQUxlaW9DQVBvQ0lPSUE2aUlnNGdDMlFpQ1JzaENDQUhRUUZxSVFjZ0RpQUxJQWtiSVFzTUFRc0xBbjhDUUNBTElBd2dES0lnRFNBTm9xQ2pJQVJrUlEwQUlBQWdBU0FDSUFnZ0JDQUZJQVlRcXdGQkFFNEVRQ0FHS0FJQUlnSkJCVXdFUUNBQ1FRSjBJQVZxSUFnMkFnQWdCaUFHS0FJQVFRRnFOZ0lBSUFBZ0FTQUlJQU1nQkNBRklBWVFxd0ZCQUU0TkFnc0xRWDhNQVF0QkFBc0xuZ0lCQlg4akJpRURJd1pCRUdva0JpQUFLQUlRSUFGTkJFQWdBMEhBeUFOQnhwb0NFRGRCcUprQ0VEZEI3NklDRURkQjJnRVFQa0gyb2dJUU4wSGh2UUVRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVUlnUWdBa3NFUUNBQUtBSUVJQUlnQVNBRWJHcEJCWFJxSVFjZ0F5UUdJQWNQQlNBRFFjRElBMEhXbXdJUU4wR29tUUlRTjBIdm9nSVFOMEhiQVJBK1FmYWlBaEEzUWZXOUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QURRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQURFRHdnQWlBQUVFQWdBaEEvRUFBTFFRQUxDQUJCQnhBQ1FRQUxEQUFnQUVHQ2hvQWdOZ0FBQzVJQkFRRi9JQU5CZ0JCeEJFQWdBRUVyT2dBQUlBQkJBV29oQUFzZ0EwR0FCSEVFUUNBQVFTTTZBQUFnQUVFQmFpRUFDd05BSUFFc0FBQWlCQVJBSUFBZ0JEb0FBQ0FCUVFGcUlRRWdBRUVCYWlFQURBRUxDeUFBQW44Q1FDQURRY29BY1VFSWF5SUJCRUFnQVVFNFJ3MEJRZThBREFJTElBTkJDWFpCSUhGQitBQnpEQUVMUWVRQVFmVUFJQUliQ3pvQUFBdCtBUU4vSXdZaEFpTUdRUkJxSkFaQit2MENJQUVzQUFBUXZ3RUVmeUFCRUprRlFZQ0FBbkloQXlBQ0lBQTJBZ0FnQWlBRE5nSUVJQUpCdGdNMkFnaEJCU0FDRURRUW1nTWlBMEVBU0FSL1FRQUZJQU1nQVJDWUJTSUFCSDhnQUFVZ0F4QVlHa0VBQ3dzRlFhVEZBMEVjTmdJQVFRQUxJUVFnQWlRR0lBUUxEQUFnQUJEZkNTQUFJQUViQ3hBQUlBQkJJRVlnQUVGM2FrRUZTWElMWEFFQ2Z5QUFMQUFBSWdJZ0FTd0FBQ0lEUnlBQ1JYSUVmeUFDSVFFZ0F3VURmeUFBUVFGcUlnQXNBQUFpQWlBQlFRRnFJZ0VzQUFBaUEwY2dBa1Z5Qkg4Z0FpRUJJQU1GREFFTEN3c2hBQ0FCUWY4QmNTQUFRZjhCY1dzTEtBRUNmeUFBSVFFRFFDQUJRUVJxSVFJZ0FTZ0NBQVJBSUFJaEFRd0JDd3NnQVNBQWEwRUNkUXZJQXdFSGZ5QUFLQUlFSVFVZ0FrSHdrK3ZjQTBzRVFDQUFLQUlBSWdOQk9EWUNGQ0FEUVFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFGQkFVc0VRQ0FBS0FJQUlnTkJEellDRkNBRElBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBSkJDQ0FDUVFkeElnTnJRUUFnQXh0cUlRUUNRQUpBSUFWQk5Hb2dBVUVDZEdvaUNDZ0NBQ0lDQkVBRFFBSkFJQUlvQWdnZ0JFOEVRQ0FDSVFBTUFRc2dBaWdDQUNJREJFQWdBeUVDREFJRklBSWhBd3dFQ3dBTEN3VkJBQ0VEREFFTERBRUxJQVJCOEpQcjNBTWdCR3NpQWlBQlFRSjBRZUNIQVVIb2h3RWdBMFVpQ1J0cUtBSUFJZ0VnQVNBQ1N4c2lBV29pQWtFUWFpSUdFRVFpQndSL0lBWWhBU0FIQlFOL0lBRkI1QUJKQkVBZ0FDZ0NBQ0lDUVRnMkFoUWdBa0VDTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFFSUFGQkFYWWlBV29pQWtFUWFpSUdFRVFpQjBVTkFDQUdJUUVnQndzTElRQWdCU0FCSUFVb0FreHFOZ0pNSUFCQkFEWUNBQ0FBUVFBMkFnUWdBQ0FDTmdJSUlBa0VRQ0FJSUFBMkFnQUZJQU1nQURZQ0FBc0xJQUFnQkNBQUtBSUVJZ0ZxTmdJRUlBQWdBQ2dDQ0NBRWF6WUNDQ0FBUVJCcUlBRnFDeWdCQW44Q2Z5TUdJUU1qQmtFUWFpUUdJQUJCQTBHMGh3RkJ2TkFDUVNBZ0FSQUpJQU1MSkFZTGx3VUJCSDhqQmlFRUl3WkJFR29rQmlBQklBTVE4UU9PRUVNaUJqWUNBQ0FEUVFFZ0JuU3lsUkRTQVNFRElBSWdBQ29DSENBRGxCRHdBeEJESWdZMkFnQWdCaUFBS0FJVVFYOXFSZ1JBSUFFZ0FTZ0NBRUVCYWpZQ0FDQUNRUUEyQWdCQkFDRUdDd0pBQWtBZ0FTZ0NBQ0lGUVFCSUJFQWdBVUVBTmdJQVFRQWhCZ3dCQlNBRklBQW9BaEFpQlU0RVFDQUJJQVZCZjJvMkFnQWdBQ2dDRkVGL2FpRUdEQUlMQ3d3QkN5QUNJQVkyQWdBTElBRW9BZ0FpQlVGL1RBUkFJQVJCd01nRFFZV1pBaEEzUWFpWkFoQTNRZStpQWhBM1FZd0NFRDVCOXFJQ0VEZEJycG9DRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUhJQUVRUUNBSEVEOFFBQXNnQlNBQUtBSVFUZ1JBSUFSQndNZ0RRY2FhQWhBM1FhaVpBaEEzUWUraUFoQTNRWTBDRUQ1QjlxSUNFRGRCOHBvQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JrRi9UQVJBSUFSQndNZ0RRWjJiQWhBM1FhaVpBaEEzUWUraUFoQTNRWTRDRUQ1QjlxSUNFRGRCdjVzQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JpQUFLQUlVU0FSQUlBUWtCZ1VnQkVIQXlBTkIxcHNDRURkQnFKa0NFRGRCNzZJQ0VEZEJqd0lRUGtIMm9nSVFOMEdKbkFJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JCQThJQUlnQUJCQUlBSVFQeEFBQ3dzT0FDQUFJQUVnQWtFQ2RCQk1HZ3V0QVFBZ0FDQUFLZ0lBSUFFcUFnQWdBcFNTT0FJQUlBQWdBQ29DQkNBQktnSUVJQUtVa2pnQ0JDQUFJQUFxQWdnZ0FTb0NDQ0FDbEpJNEFnZ2dBQ0FBS2dJTUlBRXFBZ3dnQXBTU09BSU1JQUFnQUNvQ0VDQUJLZ0lRSUFLVWtqZ0NFQ0FBSUFBcUFoUWdBU29DRkNBQ2xKSTRBaFFnQUNBQUtnSVlJQUVxQWhnZ0FwU1NPQUlZSUFBZ0FDb0NIQ0FCS2dJY0lBS1VramdDSENBQUlBQXFBaUFnQVNvQ0lDQUNsSkk0QWlBTFVRRUJmMEd3M1FNb0FnQWlBU0FBUVFOcVFYeHhhaUlBUVFCSUJFQkJwTVVEUVRBMkFnQkJmdzhMSUFBUUowc0VRQ0FBRUNSRkJFQkJwTVVEUVRBMkFnQkJmdzhMQzBHdzNRTWdBRFlDQUNBQkN3c0FJQUM3RU4wSnRoQkRDeW9CQVg4akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FFSC8vLy8vQnlBQklBTVFxUUVhSUFNa0Jnc09BQ0FBUWVpSkFTZ0NBQkQvQkF1R0FRSUNmd0YrSUFDbklRSWdBRUwvLy8vL0QxWUVRQU5BSUFGQmYyb2lBU0FBSUFCQ0NoRDJBU0lFUWdwK2ZhZEIvd0Z4UVRCeU9nQUFJQUJDLy8vLy81OEJWZ1JBSUFRaEFBd0JDd3NnQktjaEFnc2dBZ1JBQTBBZ0FVRi9haUlCSUFJZ0FrRUtFRWdpQTBFS2JHdEJNSEk2QUFBZ0FrRUtUd1JBSUFNaEFnd0JDd3NMSUFFTEdnQWdBQ0FCRUtvQ0lnQkJBQ0FBTFFBQUlBRkIvd0Z4UmhzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWUNIQVVHdXR3SkJBaUFCRUFrZ0F3c2tCZ3NOQUNBQUtBSUVJQUVvQWdSTEN4QUFJQUFnQVRZQ0FDQUFJQUkyQWdRTERRQWdBQ2dDRUNBQlFSUnNhZ3NRQUNBQUtBSUVJQUVnQUNnQ0FHeHFDd2dBSUFCQjlBQnFDd3dBSUFBZ0FTQUFJQUZLR3dzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWHhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUNkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUowSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQ2RDQUVhallDREFzR0FFRVlFQUlMQ0FCQkRSQUNRUUFMaXdFQkEzOGpCaUVESXdaQkVHb2tCaUFDUWUvLy8vOERTd1JBRUFBTElBSkJBa2tFUUNBQUlBSTZBQXNnQUNFRUJTQUNRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FqWUNCQXNMSUFRZ0FTQUNFS2NCSUFOQkFEWUNBQ0FDUVFKMElBUnFJQU1RYmlBREpBWUx1UUVCQlg4akJpRURJd1pCRUdva0JpQURJQUU2QUFBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkNnc2hBU0FEUVFGcUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRM1FJZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQUNBQ2FpSUFJQU1RWHlBRVFRQTZBQUFnQUVFQmFpQUVFRjhnQXlRR0M3Z0JBUVYvSUFJb0FnQWdBQ2dDQUNJRElnWnJJZ1ZCQVhRaUJFRUVJQVFiUVg4Z0JVSC8vLy8vQjBrYklRVWdBU2dDQUNFSElBTkJBQ0FBS0FJRVFaRUJSeUlFR3lBRkVPZ0JJZ05GQkVBUUFBc2dCQVJBSUFBZ0F6WUNBQVVnQUNnQ0FDRUVJQUFnQXpZQ0FDQUVCRUFnQkNBQUtBSUVRZjhCY1VHc0Eyb1JBUUFnQUNnQ0FDRURDd3NnQUVHU0FUWUNCQ0FCSUFjZ0JtdEJBblZCQW5RZ0EybzJBZ0FnQWlBQUtBSUFJQVZCQW5aQkFuUnFOZ0lBQzZRREFRTi9BbjhDUUNBQ0lBTW9BZ0FpQ2tZaUMwVU5BQ0FBSUFrb0FtQkdJZ3hGQkVBZ0NTZ0NaQ0FBUncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FDQUZSaUFHS0FJRUlBWXNBQXNpQmtIL0FYRWdCa0VBU0J0QkFFZHhCRUJCQUNBSUtBSUFJZ0FnQjJ0Qm9BRk9EUUVhSUFRb0FnQWhBU0FJSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQVJCQURZQ0FFRUFEQUVMSUFsQjZBQnFJUWRCQUNFRkEzOGdCVUVhUmdSL0lBY0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0NXb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFKYXlJRlFRSjFJUUFnQlVIY0FFb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0JVSFlBRTRFUUVGL0lBc05BeHBCZnlBS0lBSnJRUU5PRFFNYVFYOGdDa0YvYWl3QUFFRXdSdzBER2lBRVFRQTJBZ0FnQUVIdzd3QnFMQUFBSVFBZ0F5QUtRUUZxTmdJQUlBb2dBRG9BQUVFQURBTUxDeUFBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBSUFRZ0JDZ0NBRUVCYWpZQ0FFRUFDd3NMRFFBZ0FDZ0NBQkE0SUFBUU9BdXJBd0VEZndKL0FrQWdBaUFES0FJQUlncEdJZ3RGRFFBZ0NTMEFHQ0FBUWY4QmNVWWlERVVFUUNBSkxRQVpJQUJCL3dGeFJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBRUgvQVhFZ0JVSC9BWEZHSUFZb0FnUWdCaXdBQ3lJR1FmOEJjU0FHUVFCSUcwRUFSM0VFUUVFQUlBZ29BZ0FpQUNBSGEwR2dBVTROQVJvZ0JDZ0NBQ0VCSUFnZ0FFRUVhallDQUNBQUlBRTJBZ0FnQkVFQU5nSUFRUUFNQVFzZ0NVRWFhaUVIUVFBaEJRTi9JQVZCR2tZRWZ5QUhCU0FGUVFGcUlRWWdCU0FKYWlJRkxRQUFJQUJCL3dGeFJnUi9JQVVGSUFZaEJRd0NDd3NMSUFscklnQkJGMG9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dBRUVXVGdSQVFYOGdDdzBER2tGL0lBb2dBbXRCQTA0TkF4cEJmeUFLUVg5cUxBQUFRVEJIRFFNYUlBUkJBRFlDQUNBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQVFRQU1Bd3NMSUFCQjhPOEFhaXdBQUNFQUlBTWdDa0VCYWpZQ0FDQUtJQUE2QUFBZ0JDQUVLQUlBUVFGcU5nSUFRUUFMQ3d1b0ZRRUpmeU1HSVFJakJrRVFhaVFHSUFJaUJVRUVhaUVESUFKQkNHb2lCaUFBTmdJQUlBQkIxQUZKQkVCQjhPd0FRYkR1QUNBR0VOY0VLQUlBSVFBRkFrQWdBeUFBSUFCQjBnRVFTQ0lJUWRJQmJDSUNhellDQUVFQUlRQkJzTzRBUWZEdkFDQURFTmNFUWJEdUFHdEJBblVoQndKQUEwQUNRQ0FDSUFkQkFuUkJzTzRBYWlnQ0FHb2hBMEVGSVFJQ1FBSkFBMEFnQWtFdlR3MEJJQU1nQWtFQ2RFSHc3QUJxS0FJQUlnRVFTQ0lFSUFGSkRRTWdBa0VCYWlFQ0lBRWdCR3dnQTBjTkFBc01BUXRCMHdFaEFnTkFBa0FnQXlBQ0VFZ2lBU0FDU1FSL0lBTWhBRUVCQlNBRElBRWdBbXhHQkg5QkNRVWdBeUFDUVFwcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFTWFpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkVHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVnQXlBQ1FSSnFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRVdhaUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJIR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVQ2Z5QURJQUpCSG1vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRWthaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVNocUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJLbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFdWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRVFJxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQk9tb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0U4YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY2dBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZGdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVRQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVlBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Flb0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWV3QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZkFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWY0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWTRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWndCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fhd0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fib0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWI0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZEFCYWlJQkVFZ2lDU0FCU1NFRUlBRWdBa0hTQVdvZ0JDQURJQUVnQ1d4R0lnRnlHeUVDSUFNZ0FDQUVHeUVBUVFGQkNVRUFJQUViSUFRYkN3c0xDd3NMQ3dzTEN3c0xDd3NMSWdGQkQzRU9DZ0VBQUFBQUFBQUFBQUlBQ3dzZ0FRMERDeUFJSUFkQkFXb2lBMEV3UmlJQmFpSUNJUWdnQWtIU0FXd2hBa0VBSUFNZ0FSc2hCd3dCQ3dzZ0JpQUROZ0lBSUFNaEFBd0JDeUFHSUFNMkFnQUxDeUFGSkFZZ0FBdVFBZ0lDZndSOUlBQzhJZ0ZCQUVnaEFpQUJRWUNBZ0FSSklBSnlCRUFDUUNBQlFmLy8vLzhIY1VVRVFFTUFBSUMvSUFBZ0FKU1ZEd3NnQWtVRVFFSG9maUVDSUFCREFBQUFUSlM4SVFFTUFRc2dBQ0FBazBNQUFBQUFsUThMQlNBQlFmLy8vL3NIU3dSQUlBQVBDeUFCUVlDQWdQd0RSZ1IvUXdBQUFBQVBCVUdCZndzaEFnc2dBVUdOOXFzQ2FpSUJRZi8vL3dOeFFmT0oxUGtEYXI1REFBQ0F2NUlpQXlBRFF3QUFBRUNTbFNJRklBV1VJZ1lnQnBRaEJDQUNJQUZCRjNacXNpSUFRNEJ4TVQrVUlBTWdBRVBSOXhjM2xDQUZJQU1nQTBNQUFBQS9sSlFpQUNBR0lBUkQ3dW1SUHBSRHFxb3FQNUtVSUFRZ0JFTW1ubmcrbEVNVHpzdytrcFNTa3BTU0lBQ1RrcElMbEFFQkJId2dBQ0FBb2lJQ0lBS2lJUU5FQUFBQUFBQUE4RDhnQWtRQUFBQUFBQURnUDZJaUJLRWlCVVFBQUFBQUFBRHdQeUFGb1NBRW9TQUNJQUlnQWlBQ1JKQVZ5eG1nQWZvK29rUjNVY0VXYk1GV3Y2Q2lSRXhWVlZWVlZhVS9vS0lnQXlBRG9pQUNSTVN4dEwyZTdpRStJQUpFMURpSXZ1bjZxRDJpb2FKRXJWS2NnRTkra3I2Z29xQ2lJQUFnQWFLaG9LQUxsUUVCQTN3Z0FDQUFvaUlESUFNZ0E2S2lJQU5FZk5YUFdqclo1VDJpUk91Y0s0cm01VnErb0tJZ0F5QURSSDMrc1ZmakhjYytva1RWWWNFWm9BRXF2NkNpUktiNEVCRVJFWUUvb0tBaEJTQURJQUNpSVFRZ0FDQUVSRWxWVlZWVlZjVS9vaUFESUFGRUFBQUFBQUFBNEQraUlBUWdCYUtob2lBQm9hQ2hJQVFnQXlBRm9rUkpWVlZWVlZYRnY2Q2lJQUNnSUFJYkN3c0FJQUFnQVNBQ0VQa0VDeG9BSUFBb0FnQWdBQ2dDQkNJQUlBQVErQVJGUVI5MFFSOTFDNGdEQVFaL0l3WWhCeU1HUVJCcUpBWWdBMEcweFFNZ0F4c2lCU2dDQUNFREFuOENRQ0FCQkg4Q2Z5QUFJQWNnQUJzaEJpQUNCRUFDUUFKQUlBTUVRQ0FESVFBZ0FpRUREQUVGSUFFc0FBQWlBRUYvU2dSQUlBWWdBRUgvQVhFMkFnQWdBRUVBUnd3RkN5QUJMQUFBSVFCQjZJa0JLQUlBS0FJQVJRUkFJQVlnQUVIL3Z3TnhOZ0lBUVFFTUJRc2dBRUgvQVhGQnZuNXFJZ0JCTWtzTkJpQUJRUUZxSVFFZ0FFRUNkRUhRTkdvb0FnQWhBQ0FDUVg5cUlnTU5BUXNNQVFzZ0FTMEFBQ0lJUVFOMklnUkJjR29nQkNBQVFScDFhbkpCQjBzTkJDQURRWDlxSVFRZ0NFR0FmMm9nQUVFR2RISWlBRUVBU0FSQUlBRWhBeUFFSVFFRFFDQUJSUTBDSUFOQkFXb2lBeXdBQUNJRVFjQUJjVUdBQVVjTkJpQUJRWDlxSVFFZ0JFSC9BWEZCZ0g5cUlBQkJCblJ5SWdCQkFFZ05BQXNGSUFRaEFRc2dCVUVBTmdJQUlBWWdBRFlDQUNBQ0lBRnJEQUlMSUFVZ0FEWUNBQXRCZmdzRklBTU5BVUVBQ3d3QkN5QUZRUUEyQWdCQnBNVURRUmsyQWdCQmZ3c2hDU0FISkFZZ0NRdklDd0VJZnlBQUtBSVlJZ1FvQWdBaEJpQUVLQUlFSVFVZ0FDQUJOZ0xjQVNBQUlBSTJBdUFCSUFBZ0F6WUM1QUVDUUNBRkJIOGdCZ1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFRklBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRWWdCVUYvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRb2dBa0YvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQTJBdFFCSUFKQmYyb2lBZ1IvSUFNRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBaUFFS0FJQUN5SUJRUUZxSVFNZ0FDQUJMUUFBUVFoMElnVTJBaUFnQWtGL2FpSUNCRUFnQXlFQklBVWhBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBQW9BaUFoQXlBRUtBSUFJUUVMSUFGQkFXb2hCU0FBSUFFdEFBQWdBMm8yQWlBZ0FrRi9haUlDQkg4Z0JRVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFCQkNIUWlCVFlDSENBQ1FYOXFJZ0lFUUNBRElRRWdCU0VEQlNBRUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRSWdBQ2dDSENFRElBUW9BZ0FoQVFzZ0FVRUJhaUVGSUFBZ0FTMEFBQ0FEYWpZQ0hDQUNRWDlxSWdFRVFDQUZJUUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdBaEFpQUVLQUlFSVFFTElBQWdBaTBBQURZQ0pDQUFLQUlBSWdNZ0FDZ0N1QU0yQWhnZ0F5QUFLQUljTmdJY0lBTWdBQ2dDSURZQ0lDQURJQUFvQWlRMkFpUWdBMEhtQURZQ0ZDQURLQUlFSVFNZ0FFRUJJQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURLQUlRQkVBZ0FDZ0NBQ0lEUVQwMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3lBS1FmOEJjU0FHUWY4QmNVRUlkSEpCZUdvaEJRSkFBa0FnQUNnQ0lFVU5BQ0FBS0FJY1JRMEFJQUFvQWlRaUEwRUJTQTBBREFFTElBQW9BZ0FpQTBFaE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUNBQUtBSWtJUU1MSUFOQkEyd2dCVWNFUUNBQUtBSUFJZ05CRERZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0Z0JSUVJBSUFBb0FnUW9BZ0FoQXlBQUlBQkJBU0FBS0FJa1FkZ0FiQ0FEUVQ5eFFjb0JhaEVFQURZQzJBRUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0FDZ0NKRUVBU2dSQUFrQkJBQ0VGQTBBQ1FDQUJCSDhnQVNFSUlBSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQ0NBRUtBSUFDeUlITFFBQUlRSWdBQ2dDMkFFaEF5QUZCRUFDUUNBRElRRkJBQ0VHQTBBZ0FTZ0NBQ0FDUndSQUlBRkIyQUJxSVFFZ0JrRUJhaUlHSUFWSkRRRU1BZ3NMSUFNb0FnQWhBU0FEUWRnQWFpRUNJQVZCQVVzRWYwRUJJUVlEUUNBQ0tBSUFJZ2tnQVNBSklBRktHeUVCSUFKQjJBQnFJUUlnQmtFQmFpSUdJQVZIRFFBTElBVkIyQUJzSUFOcUJTQUNDeUVMSUFGQkFXb2hBaUFMSVFFTEJTQURJUUVMSUFkQkFXb2hCaUFCSUFJMkFnQWdBU0FGTmdJRUlBaEJmMm9pQXdSL0lBWUZJQVFvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFDeUlDUVFGcUlRWWdBU0FDTFFBQUlnSkJCSFkyQWdnZ0FTSUhJQUpCRDNFMkFnd2dBU0FEUVg5cUlnTUVmeUFHQlNBRUtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRTWdCQ2dDQUFzaUFpMEFBRFlDRUNBQUtBSUFJZ1lnQnlnQ0FEWUNHQ0FHSUFFb0FnZzJBaHdnQmlBSEtBSU1OZ0lnSUFZZ0J5Z0NFRFlDSkNBR1FlY0FOZ0lVSUFZb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBMEYvYWlFQklBSkJBV29oQWlBRlFRRnFJZ1VnQUNnQ0pFZ05BUXdDQ3dzTUFnc0xJQUFvQXRBRFFRRTJBaEFnQkNBQ05nSUFJQVFnQVRZQ0JFRUJEd3RCQUFzMEFRRi9JQUFvQWdRZ0FTZ0NDQkNMQVNJQ0JFQWdBaUFBSUFFUXJRSkJBRWdFUUNBQ0VFbEJBQ0VDQ3dWQkFDRUNDeUFDQ3lRQUlBVUVmU0FBSUFFZ0FpQURJQVFnQmhES0JnVWdBQ0FCSUFJZ0F5QUVFTXNHQ3d2M0JnTUhmd1Y5QTN3akJpRUlJd1pCNEFGcUpBWWdDRUhJQVdvaEJ5QUlRZFFCYWlJSklBUkJCSFFRUkNJTk5nSUFJQTFGQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQ3lBSVFkQUJhaUVISUFrZ0JFRVliQkJFSWd3MkFnUWdERVVFUUVFQVFRTkJ1ZGdDSUFjUVBVRUJFQUVMSUFoQjRBQnFJUW9nQ0VIQUFXb2hDMEVBSVFjRFFDQUhJQVJJQkVBZ0VDQUhRUXhzSUFOcUtnSUFraUVRSUE4Z0IwRU1iQ0FEYWlvQ0JKSWhEeUFPSUFkQkRHd2dBMm9xQWdpU0lRNGdCMEVCYWlFSERBRUxDeUFRSUFTeUloR1ZJUkFnRHlBUmxTRVBJQTRnRVpVaERrRUFJUWNEUUNBSElBUklCRUFnQjBFRWRDQU5haUFIUVFOMElBSnFLZ0lBdXprREFDQUhRUVIwSUExcUlBZEJBM1FnQW1vcUFnUzdPUU1JSUFkQkdHd2dER29nQjBFTWJDQURhaW9DQUNBUWs3czVBd0FnQjBFWWJDQU1haUFIUVF4c0lBTnFLZ0lFSUErVHV6a0RDQ0FIUVJoc0lBeHFJQWRCREd3Z0Eyb3FBZ2dnRHBPN09RTVFJQWRCQVdvaEJ3d0JDd3NnQ1NBRU5nSUlRUUFoQWdOQUlBSkJBMGNFUUVFQUlRTURRQ0FEUVFOSEJFQWdBa0VGZENBS2FpQURRUU4wYWlBQ1FRUjBJQUZxSUFOQkFuUnFLZ0lBdXprREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQ2lBQktnSU1JQkFnQVNvQ0FKUWdEeUFCS2dJRWxKSWdEaUFCS2dJSWxKS1N1emtER0NBS0lBRXFBaHdnRUNBQktnSVFsQ0FQSUFFcUFoU1VraUFPSUFFcUFoaVVrcEs3T1FNNElBb2dBU29DTENBUUlBRXFBaUNVSUE4Z0FTb0NKSlNTSUE0Z0FTb0NLSlNTa3JzNUExZ2dCZ1JBSUFBZ0NTQUtJQWdnQ3hDZEJFRUFTQVJBSUF0RUFBQUFBSVRYbDBFNUF3QUxCU0FBSUFrZ0NpQUlJQXNRNmdGQkFFZ0VRQ0FMUkFBQUFBQ0UxNWRCT1FNQUN3c2dDU2dDQUJBNElBa29BZ1FRT0VFQUlRQURRQ0FBUVFOSEJFQkJBQ0VCQTBBZ0FVRURSd1JBSUFCQkJIUWdCV29nQVVFQ2RHb2dBRUVGZENBSWFpQUJRUU4wYWlzREFMWTRBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFRRnFJUUFNQVFzTElBVWdDQ3NER0NBSUt3TUFJQkM3SWhPaW9TQUlLd01JSUErN0loU2lvU0FJS3dNUUlBNjdJaFdpb2JZNEFnd2dCU0FJS3dNNElBZ3JBeUFnRTZLaElBZ3JBeWdnRktLaElBZ3JBekFnRmFLaHRqZ0NIQ0FGSUFnckExZ2dDRUZBYXlzREFDQVRvcUVnQ0NzRFNDQVVvcUVnQ0NzRFVDQVZvcUcyT0FJc0lBc3JBd0MySVJJZ0NDUUdJQklMSndFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRVFmQVhRYnZVQWtFR0lBRVFDU0FEQ3lRR0N3b0FJQUJCR0dvUWxRRUxGUUFnQUVNQUFJQS9JQUVnQVVNQUFBQUFXeHVWQ3lJQUlBQWdBU29DQUNBQ0tnSUFremdDQUNBQUlBRXFBZ1FnQWlvQ0JKTTRBZ1FMeVFJQkJIOGpCaUVESXdaQkVHb2tCaUFCS0FJQVFRSkhCRUFnQTBIQXlBTkI4T1FCRURkQm1lQUJFRGRCNzZJQ0VEZEI1UUlRUGtIMm9nSVFOMEdmNVFFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0F4QThJQVFnQlJCQUlBUVFQeEFBQ3dKQUFrQUNRQUpBQWtBZ0FpZ0NBQTREQWdBQkF3c2dBU2dDR0NBQUtBSWdJQUlvQWhnZ0FpZ0NCQ0FDS0FJSUVOWUlEQU1MSUFFb0FoZ2dBQ2dDTENBQ0tBSVlJQUlvQWdRZ0FpZ0NDQkRWQ0F3Q0MwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CdytVQlFjUGxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkF3QkMwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CMXVVQlFkYmxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkFzZ0F5UUdDMEFCQVgwZ0FFRUJJQVIwc2lJRklBS1VSQUFBQUFBQUFQQS9JQVJCZjJvUW53RkVBQUFBQUFBQTRMK2d0aUlDa2pnQ0FDQUJJQVVnQTVRZ0FwSTRBZ0FMeEFFQkJYOGpCaUVESXdaQklHb2tCa0hINC9FNElBQW9BZ1FnQUNnQ0FHdEJKQkE1UVFGcUlnSkpCRUFRQUFVZ0F5QUNJQUFvQWdnZ0FDZ0NBQ0lFYTBFa0VEa2lCVUVCZENJR0lBWWdBa2tiUWNmajhUZ2dCVUhqOGJnY1NSc2dBQ2dDQkNBRWEwRWtFRGtnQUVFSWFoRFFBaUFES0FJSUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFCS1FJUU53SVFJQUlnQVNrQ0dEY0NHQ0FDSUFFb0FpQTJBaUFnQXlBQ1FTUnFOZ0lJSUFBZ0F4RFBBaUFERU00Q0lBTWtCZ3NMR2dCREFBQUFBQ0FCSUFBZ0FDQUJYaHNnQUVNQUFBQUFYUnNMbHdFQkJIOGdBVUVFYWlJREtBSUFRUUFnQUNnQ0JDQUFLQUlBSWdScklnVkJBblZyUVFKMGFpRUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMNEFFQ0FuOEJmU01HSVFZakJrRXdhaVFHSUFBRWZ5QUFRUWhxSUFFZ0JoRDZBU0FBUWJnQmFpQUdLZ0lNSUFZcUFnQWdBcFFnQmlvQ0JDQURsSktTSUFZcUFpd2dCaW9DSUNBQ2xDQUdLZ0lrSUFPVWtwSWlDSlVnQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUlsU0FFSUFVUWJVRWZkUVVnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUlJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ0NBQ2xUZ0NBRUVBQ3lFSElBWWtCaUFIQ3pRQkFuOERRQUpBSUFBZ0FSQ1dBeUlDUlFSQVFRQWhBZ3dCQ3lBQUxBQUFRUXBySWdOQkFDQURRUmxIRzBVTkFRc0xJQUlMWFFFQmZ5QUJJQUJJSUFBZ0FTQUNha2h4QkVBZ0FTQUNhaUVCSUFBaUF5QUNhaUVBQTBBZ0FrRUFTZ1JBSUFKQkFXc2hBaUFBUVFGcklnQWdBVUVCYXlJQkxBQUFPZ0FBREFFTEN5QURJUUFGSUFBZ0FTQUNFRXdhQ3lBQUM0TUJBUUovSUFCRkJFQWdBUkJFRHdzZ0FVRy9mMHNFUUVHa3hRTkJNRFlDQUVFQUR3c2dBRUY0YWtFUUlBRkJDMnBCZUhFZ0FVRUxTUnNRNEFraUFnUkFJQUpCQ0dvUEN5QUJFRVFpQWtVRVFFRUFEd3NnQWlBQUlBQkJmR29vQWdBaUEwRjRjVUVFUVFnZ0EwRURjUnRySWdNZ0FTQURJQUZKR3hCTUdpQUFFRGdnQWd0WkFRSi9BMEFnQUNBQkVKWURCRUFnQUJCZ0lRSURRQUpBSUFKRkRRQUNRQ0FBSUFKQmYyb2lBbW9pQXl3QUFFRUthdzRFQUFFQkFBRUxJQU5CQURvQUFBd0JDd3NnQUN3QUFDSUNRUUFnQWtFalJ4dEZEUUVMQ3d2bUJBSUlmd1I4SXdZaENDTUdRYkFCYWlRR0lBaEJxQUZxSVFVZ0NFR2dBV29oQmlBSVFaQUJhaUVLSUFoQk1Hb2hDeUFCS0FJSUlnZEJBMGdFZjBGL0JRSi9JQWRCNEFCc0VFUWlDVVVFUUVFQVFRTkJ5dGdDSUFZUVBVRi9EQUVMSUFkQkJIUVFSQ0lIUlFSQVFRQkJBMEhLMkFJZ0JSQTlJQWtRT0VGL0RBRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdCVUVGZENBRGFpQUdRUU4wYWlBRlFRVjBJQUpxSUFaQkEzUnFLd01BT1FNQUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDMEVBSVFZQ1FBSkFBa0FEUUFKQUlBQWdBeUFMRUxNQ1JBQUFBQUFBQUFBQUlRMUJBQ0VGQTBBZ0JTQUJLQUlJSWdKSUJFQWdDaUFMSUFFb0FnUWdCVUVZYkdvUXV3UkJBRWdOQWlBQktBSUFJZ0lnQlVFRWRHb3JBd0FnQ2lzREFLRWhEaUFGUVFSMElBSnFLd01JSUFvckF3aWhJUThnQlVFQmRDSUNRUU4wSUFkcUlBNDVBd0FnQWtFQmNrRURkQ0FIYWlBUE9RTUFJQTBnRGlBT29pQVBJQStpb0tBaERTQUZRUUZxSVFVTUFRc0xJQTBnQXJlaklnMGdBQ3NEYUdNTkJDQUdCRUFnRFNBQUt3TjRZd1JBSUEwZ0VLTWdBQ3NEY0dRTkJnc0xJQVlnQUNnQ1lFWU5CRUVBSVFVRFFDQUZJQUpJQkVBZ0JVRU1iRUVEZENBSmFpQUFJQU1nQVNnQ0JDQUZRUmhzYWhDNUJFRUFTQTBFSUFWQkFXb2hCU0FCS0FJSUlRSU1BUXNMSUFnZ0J5QUpJQUpCQVhRUXN3UkJBRWdOQXlBRElBZ1FzZ1FnRFNFUUlBWkJBV29oQmd3QkN3c2dDU0FIRU9BQ1FYOE1Bd3NnQ1NBSEVPQUNRWDhNQWdzZ0NTQUhFT0FDUVg4TUFRc2dCQ0FOT1FNQUlBa1FPQ0FIRURoQkFBc0xJUXdnQ0NRR0lBd0xYQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBUkE3SUFOQnFNNERFRG9pQVNnQ0FDZ0NFQ0VFSUFJZ0FTQUVRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFNUVBDQURKQVlMQ1FBZ0FDQUJFSW9MQzF3QkFuOGpCaUVESXdaQkVHb2tCaUFESUFFUU95QURRWkRPQXhBNklnRW9BZ0FvQWhBaEJDQUNJQUVnQkVIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQURFRHdnQXlRR0N4QUFJQUFnQVNBQUtBSVlSWEkyQWhBTGV3RUJmeUFBUVg5R0JFQkJmeUVBQlFKQUlBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hvQ1FBSkFJQUVvQWdRaUFnMEFJQUVRcHdJYUlBRW9BZ1FpQWcwQURBRUxJQUlnQVNnQ0xFRjRha3NFUUNBQklBSkJmMm9pQWpZQ0JDQUNJQUE2QUFBZ0FTQUJLQUlBUVc5eE5nSUFEQUlMQzBGL0lRQUxDeUFBQzFRQkFuOGdBVUVmU3dSL0lBQWdBQ2dDQUNJQ05nSUVJQUJCQURZQ0FDQUJRV0JxSVFGQkFBVWdBQ2dDQkNFQ0lBQW9BZ0FMSVFNZ0FDQUNJQUYwSUFOQklDQUJhM1p5TmdJRUlBQWdBeUFCZERZQ0FBdVhBd0VGZnlNR0lRZ2pCa0h3QVdva0JpQUlRZWdCYWlJSklBTW9BZ0FpQnpZQ0FDQUpJQU1vQWdRaUF6WUNCQ0FJSUFBMkFnQUNRQUpBSUFNZ0IwRUJSM0lFUUVFQUlBRnJJUXNnQUNBRVFRSjBJQVpxS0FJQWF5SUtJQUFnQWtFL2NVR0tBV29SQWdCQkFVZ0VRRUVCSVFNRlFRRWhCeUFGUlNFRklBQWhBeUFLSVFBRGZ5QUZJQVJCQVVweEJFQWdCRUYrYWtFQ2RDQUdhaWdDQUNFS0lBTWdDMm9pQlNBQUlBSkJQM0ZCaWdGcUVRSUFRWDlLQkVBZ0J5RUZJQU1oQUF3RkN5QUZJQXBySUFBZ0FrRS9jVUdLQVdvUkFnQkJmMG9FUUNBSElRVWdBeUVBREFVTEN5QUhRUUZxSVFVZ0IwRUNkQ0FJYWlBQU5nSUFJQWtnQ1JDQkF5SURFUElCSUFNZ0JHb2hCQ0FKS0FJQVFRRkhJQWtvQWdSQkFFZHlSUTBESUFBZ0JFRUNkQ0FHYWlnQ0FHc2lDaUFJS0FJQUlBSkJQM0ZCaWdGcUVRSUFRUUZJQkg4Z0JTRURRUUFGSUFBaEF5QUZJUWRCQVNFRklBb2hBQXdCQ3dzaEJRc0ZRUUVoQXdzZ0JVVUVRQ0FESVFVTUFRc01BUXNnQVNBSUlBVVEvd0lnQUNBQklBSWdCQ0FHRUtJQ0N5QUlKQVlMVkFFQ2Z5QUJRUjlMQkg4Z0FDQUFLQUlFSWdJMkFnQWdBRUVBTmdJRUlBRkJZR29oQVVFQUJTQUFLQUlBSVFJZ0FDZ0NCQXNoQXlBQUlBTkJJQ0FCYTNRZ0FpQUJkbkkyQWdBZ0FDQURJQUYyTmdJRUMxNEJBWDhDZnlBQUtBSk1RUUJPQkVBZ0FDZ0NCQ0lCSUFBb0FnaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFROVFFTERBRUxJQUFvQWdRaUFTQUFLQUlJU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVQVUJDd3NMRWdBZ0FDZ0NUQm9nQUNBQnJDQUNFSWtEQzBrQkEzOGpCaUVCSXdaQkVHb2tCaUFBRUtjQ0JIOUJmd1VnQUNnQ0lDRUNJQUFnQVVFQklBSkJQM0ZCeWdGcUVRUUFRUUZHQkg4Z0FTMEFBQVZCZndzTElRTWdBU1FHSUFNTEVBQWdBVkFFZmtJQUJTQUFJQUdBQ3d0ZUFRRi9JQVJCQUV3RVFBOExJQUZCQW5RZ0FHb2hBQ0FEUVFKMElBSnFJUUVEUUNBQVFRUnFJUUlnQVVFRWFpRURJQUVvQWdBZ0FDZ0NBQ0FGRUV3YUlBUkJmMm9oQmlBRVFRRktCRUFnQWlFQUlBTWhBU0FHSVFRTUFRc0xDeE1BSUFFZ0FFRi9hbW9pQUNBQUlBRVFUMnNMdkMwQkNYOGpCaUVLSXdaQm9BcHFKQVlnQWtFRFN3UkFJQUFvQWdBaUJVRTBOZ0lVSUFVZ0FqWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBSkJBblJxSUFCQnhBRnFJQUpCQW5ScUlBRkJBRWNpREJzb0FnQWlCa1VFUUNBQUtBSUFJZ0ZCTkRZQ0ZDQUJJQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFJZ1JGQkVBZ0FDZ0NCQ2dDQUNFQklBTWdBRUVCUVpBTElBRkJQM0ZCeWdGcUVRUUFJZ1EyQWdBTElBQWhDeUFLUVpBSWFpRUpJQVFnQmpZQ2pBRWdCaXdBQVNJQ1FmOEJjU0VCSUFJRVFDQUpRUUVnQVJCRkdnVkJBQ0VCQ3lBQklBWXNBQUlpQTBIL0FYRWlCV29pQWtHQUFrc0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUUlnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FBeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJBeUFGRUVVYUlBSWhBUXNnQVNBR0xBQUVJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUVJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBVWlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRVWdCUkJGR2lBQ0lRRUxJQUVnQml3QUJpSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkJpQUZFRVVhSUFJaEFRc2dBU0FHTEFBSElnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFSElBVVFSUm9nQWlFQkN5QUJJQVlzQUFnaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFnZ0JSQkZHaUFDSVFFTElBRWdCaXdBQ1NJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQ1NBRkVFVWFJQUloQVFzZ0FTQUdMQUFLSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VLSUFVUVJSb2dBaUVCQ3lBQklBWXNBQXNpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUXNnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEQ0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEQ0FGRUVVYUlBSWhBUXNnQVNBR0xBQU5JZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRU5JQVVRUlJvZ0FpRUJDeUFCSUFZc0FBNGlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRNGdCUkJGR2lBQ0lRRUxJQUVnQml3QUR5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkR5QUZFRVVhSUFJaEFRc2dBU0FHTEFBUUlnSkIvd0Z4SWdOcUlnaEJnQUpLQkVBZ0FDZ0NBQ0lGUVFrMkFoUWdCU2dDQUNFRklBc2dCVUgvQVhGQnJBTnFFUUVBQ3lBQ0JFQWdBU0FKYWtFUUlBTVFSUm9GSUFFaENBc2dDQ0FKYWtFQU9nQUFJQWtzQUFBaUJRUkFRUUFoQVVFQUlRSWdCU0VEQTBBZ0JTQURRUmgwUVJoMVJnUkFBMEFnQWtFQ2RDQUthaUFCTmdJQUlBRkJBV29oQVNBRklBa2dBa0VCYWlJQ2Fpd0FBQ0lEUmcwQUN3c2dBVUVCSUFWMFRnUkFJQUFvQWdBaUIwRUpOZ0lVSUFjb0FnQWhCeUFMSUFkQi93RnhRYXdEYWhFQkFBc2dBVUVCZENFQklBVkJBV29oQlNBRFFmOEJjUTBBQ3dzZ0JDQUdMQUFCQkg4Z0JFRUFJQW9vQWdCck5nSk1JQVl0QUFFaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFRQWhBVUYvQ3pZQ0JDQUVJQVlzQUFJRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsQWdBU0FHTFFBQ2FpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWdnZ0JDQUdMQUFEQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKVUlBRWdCaTBBQTJvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lNSUFRZ0Jpd0FCQVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDV0NBQklBWXRBQVJxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNFQ0FFSUFZc0FBVUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbHdnQVNBR0xRQUZhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFoUWdCQ0FHTEFBR0JIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSmdJQUVnQmkwQUJtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJWUlBUWdCaXdBQndSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1pDQUJJQVl0QUFkcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDSENBRUlBWXNBQWdFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW1nZ0FTQUdMUUFJYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaUFnQkNBR0xBQUpCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pzSUFFZ0JpMEFDV29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSWtJQVFnQml3QUNnUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNjQ0FCSUFZdEFBcHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0tDQUVJQVlzQUFzRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFuUWdBU0FHTFFBTGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWl3Z0JDQUdMQUFNQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKNElBRWdCaTBBREdvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0l3SUFRZ0Jpd0FEUVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDZkNBQklBWXRBQTFxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNOQ0FFSUFZc0FBNEVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBb0FCSUFFZ0JpMEFEbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSTRJQVFnQml3QUR3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNoQUVnQVNBR0xRQVBhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFqd2dCRUZBYXlBR0xBQVFCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0tJQVNBQklBWXRBQkJxUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDQUNBRVFmLy9QellDUkNBRVFaQUJha0VBUVlBSUVFVWFJQVlzQUFFRVFFRUJJUU5CQUNFQkEwQWdBU0FHUVJGcWFpRUhRWUFCSVFVZ0FVRUNkQ0FLYWlnQ0FFRUhkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBVFlDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBRkpCRUFnQWlFRERBRUxDd1ZCQUNFQkN5QUdMQUFDQkVCQkFTRURBMEFnQVNBR1FSRnFhaUVIUWNBQUlRVWdBVUVDZENBS2FpZ0NBRUVHZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQWpZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUpKQkVBZ0FpRUREQUVMQ3dzZ0Jpd0FBd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCWFFpQ1VFQ2RHcEJBellDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUphaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVLYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU1haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVOYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFT2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRVBhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVmY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBTkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJIUWlDVUVDZEdwQkJEWUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVJKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCUVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBM1FpQlVFQ2RHcEJCVFlDQUNBRklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dCVUVCY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQ2FpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIY2lJRlFRSjBha0VGTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBVkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJnUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFuUWlBMEVDZEdwQkJqWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQTBFRGNpSURRUUowYWtFR05nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVpKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBWFFpQTBFQ2RHcEJCellDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJRFFRSjBha0VITmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBZEpCRUFnQXlFQ0RBRUxDd3NnQml3QUNBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdBaUEwRUNkR3BCQ0RZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUxBQUFPZ0FBSUFKQkFXb2hBeUFCUVFGcUlRRWdBaUFHTFFBSVNRUkFJQU1oQWd3QkN3c0xJQXdnQ0VFQVNuRkZCRUFnQ2lRR0R3dEJBQ0VCQTBBZ0FTQUdRUkZxYWkwQUFFRVBTZ1JBSUFBb0FnQWlBa0VKTmdJVUlBSW9BZ0FoQWlBTElBSkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpSUJJQWhIRFFBTElBb2tCZ3U4QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFEUVFKMElBRnFLZ0lBSUFVckF3QzJsQ0FCUVJCcUlBTkJBblJxS2dJQUlBWXJBd2kybEpJZ0FVRWdhaUFEUVFKMGFpb0NBQ0FIS3dNUXRwU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBTXFBZ3dnQkVFRmRDQUFhaXNER0xhU09BSU1JQVJCQVdvaEJBd0JDd3NMK2xjRERuOERmUWw4SXdZaERTTUdRWUFDYWlRR0lBMUIwQUJxSVJJZ0RVR1FBV29pRDBRQUFBQUFBQUJaUURrREFDQVBSQUFBQUFBQUFGbEFPUU1JSUE5RUFBQUFBQUNBVzBBNUF4QWdEMFFBQUFBQUFBQlpRRGtER0NBUFJBQUFBQUFBZ0Z0QU9RTWdJQTlFQUFBQUFBQ0FXMEE1QXlnZ0QwUUFBQUFBQUFCWlFEa0RNQ0FQUkFBQUFBQUFnRnRBT1FNNEEwQWdFRUVFUndSQUlCQkJCSFFnRW1vZ0VFRUVkQ0FKYWlzREFEa0RBQ0FRUVFSMElCSnFJQkJCQkhRZ0NXb3JBd2c1QXdnZ0VFRUJhaUVRREFFTEN5QVBJQklnRFJDSkJ5QVNLd01BSWgwZ0Vpc0RFQ0llb1NJZklCK2lJQklyQXdnaUh5QVNLd01ZSWlDaElpRWdJYUtnRUhNaENTQVNLd01nSWlFZ0Vpc0RNQ0lpb1NJaklDT2lJQklyQXlnaUl5QVNLd000SWlTaElpVWdKYUtnRUhNaEVpQWVJQ0doSWg0Z0hxSWdJQ0Fqb1NJZUlCNmlvQkJ6SVE4Z0lpQWRvU0lkSUIyaUlDUWdINkVpSFNBZG9xQVFjeUVRSUJJZ0NTQVNJQWxLRzdjZ0NxSWdDcUlRY3lFVklCQWdEeUFRSUE5S0c3Y2dDcUlnQ3FJUWN5RVFJQUFFUUNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKUVFKMGJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0VrRUNkR3dnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQlNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRW13Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEN5QU5RZWdCYWlFTUlBMUI0QUZxSVE0Z0RVSFlBV29oRXlBTlFkQUJhaUVSSUExQjhBRnFJUkFnRFVIc0FXb2hEeUFESUFrZ0NTQURTaHNpQ1NBQ0VEa2hGU0FESUJJZ0VpQURTaHNpQXlBQ0VEa2hFa1FBQUFBQUFBRHdQeUFLb1VRQUFBQUFBQURnUDZKRUFBQUFBQUFBSkVDaUlSMGdDa1FBQUFBQUFBQWtRS0loQ2lBQ0lBSnNJUlFDZndKQUlBRUVRQ0FVUVFRUWpRSWlBVVVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMQWtBZ0IwRUNTUVJBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFRGJDSU1haTBBQUNBRUlBeEJBV3BxTFFBQWFpQUVJQXhCQW1wcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFVZ0IwRUJja0VEUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNYWkwQUFDQUVJQXhCQVhKcUxRQUFhaUFFSUF4QkFuSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dCMEVDY2tFR1JnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRRnlhaTBBQUNBRUlBeEJBbkpxTFFBQWFpQUVJQXhCQTNKcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FIUVFWckRnb0FCZ0VDQXdRRkFBQUFCZ3NnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRUNkQ0FCYWlJT0lBd2dEaWdDQUdvMkFnQUxDeUFIUVFGcUlRY01BUXNMSUFCQkFXb2hBQXdBQUFzQUN5QWRSQUFBQUFBQUFGbEFvQ0VlSUFPM0lTRWdDYmNoSWlBTlFVQnJJUk1nQUVFQlJpRVJRUUFoQUFOQUlBQWdBMDROQnlBZUlBb2dBTGRFQUFBQUFBQUE0RCtnb2lBaG82QWhIVUVBSVFjRFFDQUhJQWxJQkVBZ0V5c0RBQ0FlSUFvZ0I3ZEVBQUFBQUFBQTREK2dvaUFpbzZBaUh5QU5Ld013b2lBZElBMHJBemlpb0tBaUlFUUFBQUFBQUFBQUFHRU5DeUFRSUEwckF4QWdIeUFOS3dNQW9pQWRJQTByQXdpaW9LQWdJS08ySWhvNEFnQWdEeUFOS3dNb0lCOGdEU3NER0tJZ0hTQU5Ld01nb3FDZ0lDQ2p0aUliT0FJQUlBZ2dHaUFiSUJBZ0R4QnRHaUFRS2dJQUlSb2dFUVIvSUJwREFBQ0FQNUlRUTBFQ0VEbEJBWFFoRENBUEtnSUFRd0FBZ0QrU0VFTkJBaEE1UVFGMEJTQWFRd0FBQUQrU0VFTWhEQ0FQS2dJQVF3QUFBRCtTRUVNTElRNGdERUYvU2dSQUlBd2dCVWdnRGtGL1NuRWdEaUFHU0hFRVFDQUVJQXdnQlNBT2JHcEJBWFJCQVhKcUxRQUFJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZEdvdEFBQWhEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFVZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWtnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRWNjWEpCQW5KcUlBeEJBM1JCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVFnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRZ2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFWWNYSkJCSEpxSUF4QkFuUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRTWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFjZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QjhBRnhRUWh5SUE1QkJIUkI4QUZ4UVFoeWFpQUVJQXhCQVhKcUxBQUFRWEJ4UVFoeVFmOEJjV3BCQXhCSUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTFFRQkJBMEh5cUFFZ0RCQTlEQU1MQUFzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnRkVjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzRklCUkJBMndpR0VFRUVJMENJZ0ZGQkVCQkFFRURRYm5ZQWlBUkVEMUJBUkFCQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0J3NFBBQUVDQXdRRkJnY0lDUW9MQlFVRkRBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFEwZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkVnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4QkFtcHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFF3Z0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkFnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW1wcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFzZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUThnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFuSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFvZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTRnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW5KcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFrZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTBnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFYSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBbkpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkEzSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBISUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMExJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFOeWFpMEFBQ0VSSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0VTQVdLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnQkNBTVFRSnlhaTBBQUNBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdCQ0FNUVFGeWFpMEFBQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkdvdEFBQkJnSDlxc2lFYUlBUWdGRUVDYW1vdEFBQkJnSDlxc2lFYklCcERUaG9CUkpRZ0JDQU1JQTVxUVFGMFFRRnlhaTBBQUVGd2FySkRmd3FWUTVRaUhKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwRklCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBKSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkVFQmNtb3RBQUJCZ0g5cXNpRWFJQVFnRkVFRGFtb3RBQUJCZ0g5cXNpRWJJQVFnRENBT2FrRUJkR290QUFCQmNHcXlRMzhLbFVPVUlod2dHa05PR2dGRWxKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRUlCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBJSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRTjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWVBQmNVRURkbkpCQW5KcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFKMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RY0FCY1VFRGRuSkJCSEpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSU9RUUZ5YWl3QUFFRndjVUVJY2tIL0FYRWhFU0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBMndpREVFQ2RDQUJhaUlXSUJFZ0ZpZ0NBR28yQWdBZ0RFRUJha0VDZENBQmFpSVJJQkVvQWdBZ0JDQU9haXdBQUNJT1FRUjBRZjhCY1VFSWNtbzJBZ0FnREVFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRGtGd2NVRUlja0gvQVhGcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBdEJBRUVEUWZLb0FTQVRFRDBNQWdzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnR0VjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzTElBRVFPRUVBREFFTElBRVFPRUYvQ3lFWklBMGtCaUFaQzZrQkFDQUFJQUVxQWdDTU9BSUFJQUFnQVNvQ0JJdzRBZ1FnQUVNQUFJQy9PQUlJSUFCQkRHb1F3Z01nQUNBQ0tnSUFJQUVxQWdDVU9BSVlJQUFnQWlvQ0FDQUJLZ0lFbERnQ0hDQUFJQUlvQWdBMkFpQWdBRUVrYWhEQ0F5QUFJQUVxQWdDTU9BSXdJQUFnQVNvQ0JJdzRBalFnQUVNQUFJQy9PQUk0SUFBZ0Fpb0NCQ0FCS2dJQWxEZ0NQQ0FBUVVCcklBSXFBZ1FnQVNvQ0JKUTRBZ0FnQUNBQ0tBSUVOZ0pFQ3lRQUlBQWdBU0FDRUlVQlF3QUFBQUJlSUFNZ0JDQUZFSVVCUXdBQUFBQmVjMEVCY3dzTUFDQUFJQUVnQUNBQlhSc0xJQUFnQUNvQ0FDQUJLZ0lFbENBQUtnSUVJQUVxQWdDVWs0dERBQUFBUDVRTFRBRUNmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQUNJRGEwRURkU0FCU1FSQUlBSWdBU0FBS0FJRUlBTnJRUU4xSUFCQkNHb1FpQUlnQUNBQ0VNMENJQUlRekFJTElBSWtCZ3NIQUNBQVFSQnFDd2tBSUFBZ0FSRGJBd3NNQUNBQUlBRkJBWEU2QUdRTEtnQWdBRUVBTmdJQUlBQkJBRFlDQkNBQVFRQTJBZ2dnQVFSQUlBQWdBUkNkQ0NBQUlBRVE5Z01MQ3d3QUlBQWdBU0FBSUFGSUd3c1ZBQ0FBUWZ5RkFUWUNBQ0FBUVFScUlBRVEzZ0lMb3dJQ0JIOEJmU01HSVFNakJrRVFhaVFHSUFKREFBQUFBR0JGQkVBZ0EwSEF5QU5CblpzQ0VEZEJxSmtDRURkQjc2SUNFRGRCNkFFUVBrSDJvZ0lRTjBHL213SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVc2lBQ1hnUkFJQUFxQWhnZ0FoRGxCRUVCSUFGMHNwUWhCeUFESkFZZ0J3OEZJQU5Cd01nRFFkYWJBaEEzUWFpWkFoQTNRZStpQWhBM1Fla0JFRDVCOXFJQ0VEZEJpWndDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFOQmdNNERFRG9pQVNnQ0FDZ0NIQ0VBSUFGQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFNUVBDQUVJQUFRUUNBRUVEOFFBQXREQUFBQUFBdHpBUUYvSUFCQkFEWUNEQ0FBSUFNMkFoQWdBUVJBSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRUU4wRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCQTNRZ0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFRTjBJQVJxTmdJTUMwd0JBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dMSEFBZ0FFRUFSeUFCUVFWSmNRUi9JQUFnQVRZQ0dFRUFCVUYvQ3dzSUFFRU9FQUpCQUFzSUFFRUlFQUpCQUF0WEFRRi9JQUFFUUNBQUlBRnNJUUlnQUNBQmNrSC8vd05MQkVBZ0FrRi9JQUlnQUJCSUlBRkdHeUVDQ3dzZ0FoQkVJZ0JGQkVBZ0FBOExJQUJCZkdvb0FnQkJBM0ZGQkVBZ0FBOExJQUJCQUNBQ0VFVWFJQUFMdkFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFMkFnQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJBUXNoQVNBRFFRUnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUWtRUWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FrRUNkQ0FBYWlJQUlBTVFiaUFFUVFBMkFnQWdBRUVFYWlBRUVHNGdBeVFHQ3hJQUlBQVFPQ0FCRURnZ0FoQTRJQU1RT0FzSUFFSC8vLy8vQndzRkFFSC9BQXVKQmdFSWZ5TUdJUWtqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZ3NvQWdBb0FoUWhCaUFKSUFzZ0JrRS9jVUd5QldvUkF3QWdDU2dDQkNBSkxBQUxJZ1pCL3dGeElBWkJBRWdiQkVBZ0JTQUROZ0lBSUFJQ2Z3SkFBa0FnQUN3QUFDSUdRU3RyRGdNQUFRQUJDeUFLS0FJQUtBSXNJUWNnQ2lBR0lBZEJQM0ZCaWdGcUVRSUFJUVlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFHTmdJQUlBQkJBV29NQVFzZ0FBc2lCbXRCQVVvRVFDQUdMQUFBUVRCR0JFQWdCaXdBQVVIWUFHc2lCMEVBSUFkQklFY2JSUVJBSUFvb0FnQW9BaXdoQnlBS1FUQWdCMEUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFRWFqWUNBQ0FJSUFjMkFnQWdDaWdDQUNnQ0xDRUhJQW9nQml3QUFTQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnQnpZQ0FDQUdRUUpxSVFZTEN3c2dBaUFHUndSQUFrQWdBaUVISUFZaENBTkFJQWdnQjBGL2FpSUhUdzBCSUFnc0FBQWhEU0FJSUFjc0FBQTZBQUFnQnlBTk9nQUFJQWhCQVdvaENBd0FBQXNBQ3dzZ0N5Z0NBQ2dDRUNFSElBc2dCMEgvQUhGQkNHb1JBQUFoRFNBR0lRaEJBQ0VIUVFBaEN3TkFJQWdnQWtrRVFDQUhJQWtvQWdBZ0NTQUpMQUFMUVFCSUcyb3NBQUFpREVFQVJ5QUxJQXhHY1FSQUlBVWdCU2dDQUNJTFFRUnFOZ0lBSUFzZ0RUWUNBQ0FISUFjZ0NTZ0NCQ0FKTEFBTElnZEIvd0Z4SUFkQkFFZ2JRWDlxU1dvaEIwRUFJUXNMSUFvb0FnQW9BaXdoRENBS0lBZ3NBQUFnREVFL2NVR0tBV29SQWdBaERDQUZJQVVvQWdBaURrRUVhallDQUNBT0lBdzJBZ0FnQ0VFQmFpRUlJQXRCQVdvaEN3d0JDd3NnQmlBQWEwRUNkQ0FEYWlJSElBVW9BZ0FpQmtZRWZ5QUhCUU5BSUFjZ0JrRjhhaUlHU1FSQUlBY29BZ0FoQ0NBSElBWW9BZ0EyQWdBZ0JpQUlOZ0lBSUFkQkJHb2hCd3dCQ3dzZ0JTZ0NBQXNoQlFVZ0NpZ0NBQ2dDTUNFR0lBb2dBQ0FDSUFNZ0JrRVBjVUdLQW1vUkNRQWFJQVVnQWlBQWEwRUNkQ0FEYWlJRk5nSUFDeUFFSUFVZ0FTQUFhMEVDZENBRGFpQUJJQUpHR3pZQ0FDQUpFRWNnQ1NRR0M0QUdBUWgvSXdZaENTTUdRUkJxSkFZZ0JrR0F6Z01RT2lFS0lBWkJrTTRERURvaUN5Z0NBQ2dDRkNFR0lBa2dDeUFHUVQ5eFFiSUZhaEVEQUNBSktBSUVJQWtzQUFzaUJrSC9BWEVnQmtFQVNCc0VRQ0FGSUFNMkFnQWdBZ0ovQWtBQ1FDQUFMQUFBSWdaQksyc09Bd0FCQUFFTElBb29BZ0FvQWh3aEJ5QUtJQVlnQjBFL2NVR0tBV29SQWdBaEJpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBWTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJTZ1JBSUFZc0FBQkJNRVlFUUNBR0xBQUJRZGdBYXlJSFFRQWdCMEVnUnh0RkJFQWdDaWdDQUNnQ0hDRUhJQXBCTUNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dCem9BQUNBS0tBSUFLQUljSVFjZ0NpQUdMQUFCSUFkQlAzRkJpZ0ZxRVFJQUlRY2dCU0FGS0FJQUlnaEJBV28yQWdBZ0NDQUhPZ0FBSUFaQkFtb2hCZ3NMQ3lBQ0lBWkhCRUFDUUNBQ0lRY2dCaUVJQTBBZ0NDQUhRWDlxSWdkUERRRWdDQ3dBQUNFTklBZ2dCeXdBQURvQUFDQUhJQTA2QUFBZ0NFRUJhaUVJREFBQUN3QUxDeUFMS0FJQUtBSVFJUWNnQ3lBSFFmOEFjVUVJYWhFQUFDRU5JQVloQ0VFQUlRZEJBQ0VMQTBBZ0NDQUNTUVJBSUFjZ0NTZ0NBQ0FKSUFrc0FBdEJBRWdiYWl3QUFDSU1RUUJISUFzZ0RFWnhCRUFnQlNBRktBSUFJZ3RCQVdvMkFnQWdDeUFOT2dBQUlBY2dCeUFKS0FJRUlBa3NBQXNpQjBIL0FYRWdCMEVBU0J0QmYycEphaUVIUVFBaEN3c2dDaWdDQUNnQ0hDRU1JQW9nQ0N3QUFDQU1RVDl4UVlvQmFoRUNBQ0VNSUFVZ0JTZ0NBQ0lPUVFGcU5nSUFJQTRnRERvQUFDQUlRUUZxSVFnZ0MwRUJhaUVMREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWNGQTBBZ0J5QUdRWDlxSWdaSkJFQWdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFTEN5QUZLQUlBQ3lFRkJTQUtLQUlBS0FJZ0lRWWdDaUFBSUFJZ0F5QUdRUTl4UVlvQ2FoRUpBQm9nQlNBRElBSWdBR3RxSWdVMkFnQUxJQVFnQlNBRElBRWdBR3RxSUFFZ0FrWWJOZ0lBSUFrUVJ5QUpKQVlMN1FFQkJYOGdBa0dBRUhFRVFDQUFRU3M2QUFBZ0FFRUJhaUVBQ3lBQ1FZQUljUVJBSUFCQkl6b0FBQ0FBUVFGcUlRQUxJQUpCaEFKeElnTkJoQUpHSWdRRWYwRUFCU0FBUVM0NkFBQWdBRUVxT2dBQklBQkJBbW9oQUVFQkN5RUhJQUpCZ0lBQmNTRUNBMEFnQVN3QUFDSUdCRUFnQUNBR09nQUFJQUZCQVdvaEFTQUFRUUZxSVFBTUFRc0xJQUFDZndKQUFrQWdBMEVFYXlJQkJFQWdBVUg4QVVZRVFBd0NCUXdEQ3dBTElBSkJDWFpCL3dGeFFlWUFjd3dDQ3lBQ1FRbDJRZjhCY1VIbEFITU1BUXNnQWtFSmRrSC9BWEVoQVNBQlFlRUFjeUFCUWVjQWN5QUVHd3M2QUFBZ0J3dWVDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWtnQXlBQ2EwRU1FRGtpQjBIa0FFc0VRQ0FIRUVRaUNRUkFJQWtpRFNFU0JSQUFDd1VnQ1NFTkN5QUNJUW9nRFNFSkEwQWdBeUFLUndSQUlBb3NBQXNpQ0VFQVNBUi9JQW9vQWdRRklBaEIvd0Z4Q3dSQUlBbEJBVG9BQUFVZ0NVRUNPZ0FBSUF4QkFXb2hEQ0FIUVg5cUlRY0xJQXBCREdvaENpQUpRUUZxSVFrTUFRc0xJQXdoQ1NBSElRd0RRQUpBSUFBb0FnQWlDQVIvSUFnb0Fnd2lCeUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUW9nQVNnQ0FDSUhCSDhnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaEIwRUJCVUVBQ3dWQkFDRUhRUUVMSVJNZ0FDZ0NBQ0VMSUJNZ0NuTWdERUVBUjNGRkRRQWdDeWdDRENJSElBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzaER5QUdSUVJBSUFRZ0R5QUVLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRVBDeUFSUVFGcUlRc2dBaUVJUVFBaENpQU5JUTRnQ1NFSEEwQWdBeUFJUndSQUlBNHNBQUJCQVVZRVFBSkFJQWdzQUF0QkFFZ0VmeUFJS0FJQUJTQUlDeUFSUVFKMGFpZ0NBQ0VKSUFZRWZ5QUpCU0FFSUFrZ0JDZ0NBQ2dDSEVFL2NVR0tBV29SQWdBTElBOUhCRUFnRGtFQU9nQUFJQXhCZjJvaERBd0JDeUFJTEFBTElnbEJBRWdFZnlBSUtBSUVCU0FKUWY4QmNRc2dDMFlFUUNBT1FRSTZBQUFnREVGL2FpRU1JQWRCQVdvaEJ3dEJBU0VLQ3dzZ0NFRU1haUVJSUE1QkFXb2hEZ3dCQ3dzZ0NnUkFBa0FnQUNnQ0FDSUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFScU5nSU1JQWtvQWdBYUN5QUhJQXhxUVFGTEJFQWdBaUVLSUEwaENRTkFJQU1nQ2tZTkFpQUpMQUFBUVFKR0JFQWdDaXdBQ3lJSVFRQklCSDhnQ2lnQ0JBVWdDRUgvQVhFTElBdEhCRUFnQ1VFQU9nQUFJQWRCZjJvaEJ3c0xJQXBCREdvaENpQUpRUUZxSVFrTUFBQUxBQXNMQ3lBTElSRWdCeUVKREFFTEN5QUxCSDhnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lBQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBDQ3d3Q0N5QUVEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRFFDQUNJQU5HRFFFZ0RTd0FBRUVDUndSQUlBSkJER29oQWlBTlFRRnFJUTBNQVFzTERBRUxJQVVnQlNnQ0FFRUVjallDQUNBRElRSUxJQklRT0NBUUpBWWdBZ3VyQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFjZ0F5QUNhMEVNRURraUNVSGtBRXNFUUNBSkVFUWlCd1JBSUFjaUN5RVNCUkFBQ3dVZ0J5RUxDeUFDSVFjZ0N5RUtBMEFnQXlBSFJ3UkFJQWNzQUFzaURFRUFTQVIvSUFjb0FnUUZJQXhCL3dGeEN3UkFJQXBCQVRvQUFBVWdDa0VDT2dBQUlBbEJmMm9oQ1NBSVFRRnFJUWdMSUFkQkRHb2hCeUFLUVFGcUlRb01BUXNMSUFraENpQUlJUWtEUUFKQUlBQW9BZ0FpQndSL0lBY29BZ3dpQ0NBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzQ2Z5QUJLQUlBSWdnRWZ5QUlLQUlNSWdjZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFoQkFRVkJBQXNGUVFBaENFRUJDeUVUSUFBb0FnQWhCeUFUQzNNZ0NrRUFSM0ZGRFFBZ0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWhEaUFHUlFSQUlBUWdEaUFFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQ0VPQ3lBUFFRRnFJUXdnQWlFSFFRQWhDQ0FMSVEwRFFDQURJQWRIQkVBZ0RTd0FBRUVCUmdSQUFrQWdCeXdBQzBFQVNBUi9JQWNvQWdBRklBY0xJQTlxTEFBQUlSRWdEa0gvQVhFZ0JnUi9JQkVGSUFRZ0VTQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FBdEIvd0Z4UndSQUlBMUJBRG9BQUNBS1FYOXFJUW9NQVFzZ0J5d0FDeUlJUVFCSUJIOGdCeWdDQkFVZ0NFSC9BWEVMSUF4R0JFQWdEVUVDT2dBQUlBcEJmMm9oQ2lBSlFRRnFJUWtMUVFFaENBc0xJQWRCREdvaEJ5QU5RUUZxSVEwTUFRc0xJQWdFUUFKQUlBQW9BZ0FpQnlnQ0RDSUlJQWNvQWhCR0JFQWdCeUFIS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFjZ0NFRUJhallDRENBSUxBQUFFRUlhQ3lBSklBcHFRUUZMQkVBZ0FpRUhJQXNoQ0FOQUlBTWdCMFlOQWlBSUxBQUFRUUpHQkVBZ0J5d0FDeUlQUVFCSUJIOGdCeWdDQkFVZ0QwSC9BWEVMSUF4SEJFQWdDRUVBT2dBQUlBbEJmMm9oQ1FzTElBZEJER29oQnlBSVFRRnFJUWdNQUFBTEFBc0xDeUFNSVE4TUFRc0xJQWNFZnlBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFBa0FnQ0VVTkFDQUlLQUlNSWdRZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEZnlBQ0lBTkdEUUVnQ3l3QUFFRUNSZ1IvSUFJRklBSkJER29oQWlBTFFRRnFJUXNNQVFzTElRTU1BUXNnQlNBRktBSUFRUVJ5TmdJQUN5QVNFRGdnRUNRR0lBTUxpUUVCQW44Z0FDZ0NCQ0lCSUFFb0FnQkJkR29vQWdCcUlnRW9BaGdFUUNBQktBSVFSUVJBSUFFb0FnUkJnTUFBY1FSQUlBQW9BZ1FpQVNBQktBSUFRWFJxS0FJQWFpZ0NHQ0lCS0FJQUtBSVlJUUlnQVNBQ1FmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBb0FnUWlBQ0FBS0FJQVFYUnFLQUlBYWlJQUlBQW9BaEJCQVhJUTdnRUxDd3NMQ3p3QUlBQkJBRG9BQUNBQUlBRTJBZ1FnQVNBQktBSUFRWFJxS0FJQWFpSUJLQUlRUlFSQUlBRW9Ba2dpQVFSQUlBRVFQd3NnQUVFQk9nQUFDd3NLQUNBQVFRUnFFSjBDQ3dvQUlBQkJDR29RblFJTEJBQkJmd3NEQUFFTE13QWdBRUdNakFFMkFnQWdBQkRRQ3lBQVFSeHFFRHdnQUNnQ0lCQTRJQUFvQWlRUU9DQUFLQUl3RURnZ0FDZ0NQQkE0QzFVQkEzOGdBQ2dDQkNJR1FRaDFJUVVnQmtFQmNRUkFJQUlvQWdBZ0JXb29BZ0FoQlFzZ0FDZ0NBQ0lBS0FJQUtBSVlJUWNnQUNBQklBSWdCV29nQTBFQ0lBWkJBbkViSUFRZ0IwRS9jVUdhQm1vUkJRQUxMZ0VCZnlNR0lRSWpCa0VRYWlRR0lBSWdBVFlDQUVHa2lBRW9BZ0FpQVNBQUlBSVFwUUlhSUFFUThnUVFBQXQ4QXdGL0FYNENmQ01HSVFNakJrR1FBV29rQmlBRFFRQkJrQUVRUlJvZ0F5QUFOZ0lFSUFOQmZ6WUNDQ0FESUFBMkFpd2dBMEYvTmdKTUlBTkNBQkNDQVNBRElBSkJBUkNTQXlFR0lBTXBBM2dnQXlnQ0JDQURLQUlJYTZ4OElRUWdBUVJBSUFFZ0FDQUFJQVNuYWlBRVVCczJBZ0FMSUFNa0JpQUdDdzBBSUFBZ0FTQUNRbjhRaEFNTDN3RUJCbjhqQmlFR0l3WkI4QUZxSkFZZ0JpQUFOZ0lBSUFOQkFVb0VRQUpBUVFBZ0FXc2hDU0FESVFkQkFTRURJQUFoQlFOQUlBVWdBQ0FKYWlJQUlBZEJmbW9pQ2tFQ2RDQUVhaWdDQUdzaUNDQUNRVDl4UVlvQmFoRUNBRUYvU2dSQUlBVWdBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnMENDeUFEUVFKMElBWnFJUVVnQTBFQmFpRURJQWdnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1IvSUFVZ0NEWUNBQ0FJSVFBZ0IwRi9hZ1VnQlNBQU5nSUFJQW9MSWdkQkFVb0VRQ0FHS0FJQUlRVU1BUXNMQ3dWQkFTRURDeUFCSUFZZ0F4RC9BaUFHSkFZTEtRRUNmeU1HSVFRakJrRVFhaVFHSUFRZ0F6WUNBQ0FBSUFFZ0FpQUVFS2tCSVFVZ0JDUUdJQVVMNmhJQ0ZIOEJmaU1HSVE4akJrRkFheVFHSUE5QktHb2hDaUFQUVRCcUlSZ2dEMEU4YWlFV0lBOUJPR29pRENBQk5nSUFJQUJCQUVjaEVpQVBRU2hxSWhVaEV5QVBRU2RxSVJkQkFDRUJBa0FDUUFOQUFrQURRQ0FKUVg5S0JFQWdBVUgvLy8vL0J5QUphMG9FZjBHa3hRTkJQVFlDQUVGL0JTQUJJQWxxQ3lFSkN5QU1LQUlBSWdzc0FBQWlDRVVOQXlBTElRRUNRQUpBQTBBQ1FBSkFJQWhCR0hSQkdIVWlDQVJBSUFoQkpVY05BUXdFQ3d3QkN5QU1JQUZCQVdvaUFUWUNBQ0FCTEFBQUlRZ01BUXNMREFFTElBRWhDQU5BSUFnc0FBRkJKVWNOQVNBQlFRRnFJUUVnRENBSVFRSnFJZ2cyQWdBZ0NDd0FBRUVsUmcwQUN3c2dBU0FMYXlFQklCSUVRQ0FBSUFzZ0FSQnlDeUFCRFFBTElBd29BZ0FzQUFFUWlnRkZJUWdnRENBTUtBSUFJZ0VnQ0FSL1FYOGhEVUVCQlNBQkxBQUNRU1JHQkg4Z0FTd0FBVUZRYWlFTlFRRWhCVUVEQlVGL0lRMUJBUXNMYWlJQk5nSUFJQUVzQUFBaUJrRmdhaUlJUVI5TFFRRWdDSFJCaWRFRWNVVnlCRUJCQUNFSUJVRUFJUVlEUUNBR1FRRWdDSFJ5SVFnZ0RDQUJRUUZxSWdFMkFnQWdBU3dBQUNJR1FXQnFJZ2RCSDB0QkFTQUhkRUdKMFFSeFJYSkZCRUFnQ0NFR0lBY2hDQXdCQ3dzTElBWkIvd0Z4UVNwR0JFQWdEQUovQWtBZ0FTd0FBUkNLQVVVTkFDQU1LQUlBSWdjc0FBSkJKRWNOQUNBSExBQUJRVkJxUVFKMElBUnFRUW8yQWdBZ0J5d0FBVUZRYWtFRGRDQURhaWtEQUtjaEFVRUJJUVlnQjBFRGFnd0JDeUFGQkVCQmZ5RUpEQU1MSUJJRVFDQUNLQUlBUVFOcVFYeHhJZ1VvQWdBaEFTQUNJQVZCQkdvMkFnQUZRUUFoQVF0QkFDRUdJQXdvQWdCQkFXb0xJZ1UyQWdCQkFDQUJheUFCSUFGQkFFZ2lBUnNoRUNBSVFZREFBSElnQ0NBQkd5RU9JQVloQ0FVZ0RCQ05BeUlRUVFCSUJFQkJmeUVKREFJTElBZ2hEaUFGSVFnZ0RDZ0NBQ0VGQ3lBRkxBQUFRUzVHQkVBQ1FDQUZRUUZxSVFFZ0JTd0FBVUVxUndSQUlBd2dBVFlDQUNBTUVJMERJUUVnRENnQ0FDRUZEQUVMSUFVc0FBSVFpZ0VFUUNBTUtBSUFJZ1VzQUFOQkpFWUVRQ0FGTEFBQ1FWQnFRUUowSUFScVFRbzJBZ0FnQlN3QUFrRlFha0VEZENBRGFpa0RBS2NoQVNBTUlBVkJCR29pQlRZQ0FBd0NDd3NnQ0FSQVFYOGhDUXdEQ3lBU0JFQWdBaWdDQUVFRGFrRjhjU0lGS0FJQUlRRWdBaUFGUVFScU5nSUFCVUVBSVFFTElBd2dEQ2dDQUVFQ2FpSUZOZ0lBQ3dWQmZ5RUJDMEVBSVFjRFFDQUZMQUFBUWI5L2FrRTVTd1JBUVg4aENRd0NDeUFNSUFWQkFXb2lCallDQUNBRkxBQUFJQWRCT214cVFZL1dBR29zQUFBaUVVSC9BWEVpQlVGL2FrRUlTUVJBSUFVaEJ5QUdJUVVNQVFzTElCRkZCRUJCZnlFSkRBRUxJQTFCZjBvaEZBSkFBa0FnRVVFVFJnUkFJQlFFUUVGL0lRa01CQXNGQWtBZ0ZBUkFJQTFCQW5RZ0JHb2dCVFlDQUNBS0lBMUJBM1FnQTJvcEF3QTNBd0FNQVFzZ0VrVUVRRUVBSVFrTUJRc2dDaUFGSUFJUWpBTWdEQ2dDQUNFR0RBSUxDeUFTRFFCQkFDRUJEQUVMSUE1Qi8vOTdjU0lOSUE0Z0RrR0F3QUJ4R3lFRkFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBR1FYOXFMQUFBSWdaQlgzRWdCaUFHUVE5eFFRTkdJQWRCQUVkeEd5SUdRY0VBYXc0NENRb0hDZ2tKQ1FvS0Nnb0tDZ29LQ2dvS0NBb0tDZ29MQ2dvS0Nnb0tDZ29KQ2dVRENRa0pDZ01LQ2dvS0FBSUJDZ29HQ2dRS0Nnc0tDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEgvQVhGQkdIUkJHSFVPQ0FBQkFnTUVCd1VHQndzZ0NpZ0NBQ0FKTmdJQVFRQWhBUXdYQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQllMSUFvb0FnQWdDYXczQXdCQkFDRUJEQlVMSUFvb0FnQWdDVHNCQUVFQUlRRU1GQXNnQ2lnQ0FDQUpPZ0FBUVFBaEFRd1RDeUFLS0FJQUlBazJBZ0JCQUNFQkRCSUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCRUxRUUFoQVF3UUMwSDRBQ0VHSUFGQkNDQUJRUWhMR3lFQklBVkJDSEloQlF3SkMwRUFJUXRCa1A0Q0lRNGdBU0FUSUFvcEF3QWdGUkNFQlNJSGF5SUdRUUZxSUFWQkNIRkZJQUVnQmtweUd5RUJEQXNMSUFvcEF3QWlHVUlBVXdSL0lBcENBQ0FaZlNJWk53TUFRUUVoQzBHUS9nSUZJQVZCZ1JCeFFRQkhJUXRCa2Y0Q1FaTCtBa0dRL2dJZ0JVRUJjUnNnQlVHQUVIRWJDeUVPREFnTFFRQWhDMEdRL2dJaERpQUtLUU1BSVJrTUJ3c2dGeUFLS1FNQVBBQUFJQmNoQmtFQUlRdEJrUDRDSVE1QkFTRUhJQTBoQlNBVElRRU1DZ3NnQ2lnQ0FDSUZRWnIrQWlBRkd5SUdRUUFnQVJDbUFpSVJSU0VVUVFBaEMwR1EvZ0loRGlBQklCRWdCbXNnRkJzaEJ5QU5JUVVnQVNBR2FpQVJJQlFiSVFFTUNRc2dEeUFLS1FNQVBnSXdJQTlCQURZQ05DQUtJQmcyQWdCQmZ5RUxEQVVMSUFFRVFDQUJJUXNNQlFVZ0FFRWdJQkJCQUNBRkVIVkJBQ0VCREFjTEFBc2dBQ0FLS3dNQUlCQWdBU0FGSUFaQmlRRVJJZ0FoQVF3SEN5QUxJUVpCQUNFTFFaRCtBaUVPSUFFaEJ5QVRJUUVNQlFzZ0Npa0RBQ0FWSUFaQklIRVFoUVVoQjBFQVFRSWdCVUVJY1VVZ0Npa0RBRkJ5SWcwYklRdEJrUDRDSUFaQkJIWkJrUDRDYWlBTkd5RU9EQUlMSUJrZ0ZSQytBU0VIREFFTElBb29BZ0FoQmtFQUlRRUNRQUpBQTBBZ0JpZ0NBQ0lIQkVBZ0ZpQUhFSXNESWdkQkFFZ2lEU0FISUFzZ0FXdExjZzBDSUFaQkJHb2hCaUFMSUFFZ0Iyb2lBVXNOQVFzTERBRUxJQTBFUUVGL0lRa01CZ3NMSUFCQklDQVFJQUVnQlJCMUlBRUVRQ0FLS0FJQUlRWkJBQ0VMQTBBZ0JpZ0NBQ0lIUlEwRElBc2dGaUFIRUlzRElnZHFJZ3NnQVVvTkF5QUdRUVJxSVFZZ0FDQVdJQWNRY2lBTElBRkpEUUFMQlVFQUlRRUxEQUVMSUFjZ0ZTQUtLUU1BUWdCU0lnMGdBVUVBUjNJaUVSc2hCaUFCSUJNZ0Iyc2dEVUVCYzJvaUJ5QUJJQWRLRzBFQUlCRWJJUWNnQlVILy8zdHhJQVVnQVVGL1Noc2hCU0FUSVFFTUFRc2dBRUVnSUJBZ0FTQUZRWURBQUhNUWRTQVFJQUVnRUNBQlNoc2hBUXdCQ3lBQVFTQWdDeUFCSUFacklnMGdCeUFISUExSUd5SVJhaUlISUJBZ0VDQUhTQnNpQVNBSElBVVFkU0FBSUE0Z0N4QnlJQUJCTUNBQklBY2dCVUdBZ0FSekVIVWdBRUV3SUJFZ0RVRUFFSFVnQUNBR0lBMFFjaUFBUVNBZ0FTQUhJQVZCZ01BQWN4QjFDeUFJSVFVTUFRc0xEQUVMSUFCRkJFQWdCUVIvUVFFaEFBTkFJQUJCQW5RZ0JHb29BZ0FpQVFSQUlBQkJBM1FnQTJvZ0FTQUNFSXdESUFCQkFXb2lBRUVLU1EwQlFRRWhDUXdFQ3dzRGZ5QUFRUUowSUFScUtBSUFCRUJCZnlFSkRBUUxJQUJCQVdvaUFFRUtTUTBBUVFFTEJVRUFDeUVKQ3dzZ0R5UUdJQWtMQ3dBZ0FDQUJJQUlRaHdVTC9RRUJBMzhnQVVIL0FYRWhCQUpBQWtBQ1FDQUNRUUJISWdNZ0FFRURjVUVBUjNFRVFDQUJRZjhCY1NFRkEwQWdCU0FBTFFBQVJnMENJQUpCZjJvaUFrRUFSeUlESUFCQkFXb2lBRUVEY1VFQVIzRU5BQXNMSUFORkRRRUxJQUZCL3dGeElnRWdBQzBBQUVZRVFDQUNSUTBCREFJTElBUkJnWUtFQ0d3aEF3SkFBa0FnQWtFRFRRMEFBMEFnQXlBQUtBSUFjeUlFUWYvOSszZHFJQVJCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFnQUVFRWFpRUFJQUpCZkdvaUFrRURTdzBCREFJTEN3d0JDeUFDUlEwQkN3TkFJQUF0QUFBZ0FVSC9BWEZHRFFJZ0FrRi9haUlDUlEwQklBQkJBV29oQUF3QUFBc0FDMEVBSVFBTElBQUxqd0VCQW44Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BaFFnQUNnQ0hFc0VRQ0FBS0FJa0lRRWdBRUVBUVFBZ0FVRS9jVUhLQVdvUkJBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQUtBSUFJZ0ZCQkhFRWZ5QUFJQUZCSUhJMkFnQkJmd1VnQUNBQUtBSXNJQUFvQWpCcUlnSTJBZ2dnQUNBQ05nSUVJQUZCRzNSQkgzVUxDNUVCQVFOL0FuOENRQ0FBS0FJVUlBQW9BaHhORFFBZ0FDZ0NKQ0VCSUFCQkFFRUFJQUZCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUJCZnd3QkN5QUFLQUlFSWdFZ0FDZ0NDQ0lDU1FSQUlBQW9BaWdoQXlBQUlBRWdBbXVzUVFFZ0EwRURjVUdtQTJvUkZBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQVFRQTJBZ2dnQUVFQU5nSUVRUUFMQzRjQkFRRi9JQUFFUUFKL0lBQW9Ba3hCZjB3RVFDQUFFS2dDREFFTElBQVFxQUlMSVFBRlFiQ0lBU2dDQUFSL1FiQ0lBU2dDQUJDcEFnVkJBQXNoQUJDckFpZ0NBQ0lCQkVBRFFDQUJLQUpNUVg5S0JIOUJBUVZCQUFzYUlBRW9BaFFnQVNnQ0hFc0VRQ0FCRUtnQ0lBQnlJUUFMSUFFb0FqZ2lBUTBBQ3d0QnFNVURFQTRMSUFBTCtnRUJBMzhnQVVIL0FYRWlBZ1JBQWtBZ0FFRURjUVJBSUFGQi93RnhJUU1EUUNBQUxBQUFJZ1JGSUFOQkdIUkJHSFVnQkVaeURRSWdBRUVCYWlJQVFRTnhEUUFMQ3lBQ1FZR0NoQWhzSVFNZ0FDZ0NBQ0lDUWYvOSszZHFJQUpCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFEUUNBQ0lBTnpJZ0pCLy8zN2Qyb2dBa0dBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBUVFScUlnQW9BZ0FpQWtILy9mdDNhaUFDUVlDQmdvUjRjVUdBZ1lLRWVITnhSUTBCQ3dzTElBRkIvd0Z4SVFJRFFDQUFRUUZxSVFFZ0FDd0FBQ0lEUlNBQ1FSaDBRUmgxSUFOR2NrVUVRQ0FCSVFBTUFRc0xDd1VnQUJCZ0lBQnFJUUFMSUFBTERBQkJxTVVERUJwQnNNVURDeDhBSUFCQi8vOERjUVIvUWFURkF5QUFRZi8vQTNFMkFnQkJmd1ZCQUFzTDlBRUNDWDhCZkNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVJBQUFBQUFBQUFBQU9RTUFJQUlvQWdBZ0JFRURkR29oQlNBQktBSUFJQXRCQTNScUlRWkJBQ0VIUkFBQUFBQUFBQUFBSVF3RFFDQUhJQWhJQkVBZ0FDQU1JQVlyQXdBZ0JTc0RBS0tnSWd3NUF3QWdDVUVEZENBRmFpRUZJQVpCQ0dvaEJpQUhRUUZxSVFjTUFRc0xJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQU5CQVdvaEF3d0JCVUVBQ3dzRlFYOExCVUYvQ3dWQmZ3c0w4Z0lCQTM4Z0FDZ0NCQ0VESUFGQkFVc0VRQ0FBS0FJQUlnSkJEellDRkNBQ0lBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBRklBRkJBVVlFUUNBREtBSkVJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1JDQURLQUpJSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNTQXNMSUFOQlBHb2dBVUVDZEdvaUFDZ0NBQ0VDSUFCQkFEWUNBQ0FDQkVBRFFDQUNLQUlBSVFBZ0FpZ0NDQ0FDS0FJRVFSQnFhaUVFSUFJUU9DQURJQU1vQWt3Z0JHczJBa3dnQUFSQUlBQWhBZ3dCQ3dzTElBTkJOR29nQVVFQ2RHb2lBQ2dDQUNFQklBQkJBRFlDQUNBQlJRUkFEd3NEUUNBQktBSUFJUUFnQVNnQ0NDQUJLQUlFUVJCcWFpRUNJQUVRT0NBRElBTW9Ba3dnQW1zMkFrd2dBQVJBSUFBaEFRd0JDd3NMOUFFQkJIOGdBQ2dDQkNFRUlBSkI4SlByM0FOTEJFQWdBQ2dDQUNJRFFUZzJBaFFnQTBFRE5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRkxCRUFnQUNnQ0FDSURRUTgyQWhRZ0F5QUJOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUNRUWdnQWtFSGNTSURhMEVBSUFNYmFpSURRUkJxSWdVUVJDSUNSUVJBSUFBb0FnQWlCa0U0TmdJVUlBWkJCRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCQ0FGSUFRb0FreHFOZ0pNSUFJZ0JFRThhaUFCUVFKMGFpSUFLQUlBTmdJQUlBSWdBellDQkNBQ1FRQTJBZ2dnQUNBQ05nSUFJQUpCRUdvTDJna0JFWDhnQUNnQzVBTW9BaGdoRENBQktBSUVJZ2dnQVNnQ0FDSUNUQ0FCS0FJSUlna2dBU2dDRENJS1NuSWdBU2dDRUNJR0lBRW9BaFFpQjBweUJFQWdBaUVBQlFKQUlBSWhBQU5BQWtBZ0FFRUNkQ0FNYWlnQ0FDRU5JQWtoQXdOQUlBTkJCblFnRFdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFLU0FSQUlBUWhBd3dCQ3dzZ0FFRUJhaUVESUFBZ0NFZ0VRQ0FESVFBTUFnVWdBaUVBREFNTEFBc0xJQUVnQURZQ0FBc0xJQWdnQUV3Z0NTQUtTbklnQmlBSFNuSkZCRUFDUUNBSUlRSURRQUpBSUFKQkFuUWdER29vQWdBaERTQUpJUU1EUUNBRFFRWjBJQTFxSUFaQkFYUnFJUVVnQmlFRUEwQWdCUzRCQUEwQ0lBVkJBbW9oQlNBRVFRRnFJUXNnQkNBSFNBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDa2dFUUNBRUlRTU1BUXNMSUFKQmYyb2hEaUFDSUFCTURRSWdEaUVDREFFTEN5QUJJQUkyQWdRZ0FpRUlDd3NnQ0NBQVNDQUtJQWxNY2lBR0lBZEtja1VFUUFKQUlBa2hBZ05BQWtBZ0FDRURBMEFnQTBFQ2RDQU1haWdDQUNBQ1FRWjBhaUFHUVFGMGFpRUZJQVloQkFOQUlBVXVBUUFOQWlBRlFRSnFJUVVnQkVFQmFpRUxJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlROGdBaUFLVGcwQ0lBOGhBZ3dCQ3dzZ0FTQUNOZ0lJSUFJaENRc0xJQWdnQUVnZ0NpQUpUSElnQmlBSFNuSkZCRUFDUUNBS0lRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQWtFR2RHb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBSVNBUkFJQVFoQXd3QkN3c2dBa0YvYWlFUUlBSWdDVXdOQWlBUUlRSU1BUXNMSUFFZ0FqWUNEQ0FDSVFvTEN5QUlJQUJJSUFjZ0JreHlJQW9nQ1VoeVJRUkFBa0FnQmlFQ0EwQUNRQ0FBSVFNRFFDQURRUUowSUF4cUtBSUFJQWtpQkVFR2RHb2dBa0VCZEdvaEJRTkFJQVV1QVFBTkFpQUVRUUZxSVFzZ0JVRkFheUVGSUFRZ0NrZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUkVnQWlBSFRnMENJQkVoQWd3QkN3c2dBU0FDTmdJUUlBSWhCZ3NMSUFnZ0FFZ2dCeUFHVEhJZ0NpQUpTSEpGQkVBQ1FDQUhJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0NTSUVRUVowYWlBQ1FRRjBhaUVGQTBBZ0JTNEJBQTBDSUFSQkFXb2hDeUFGUVVCcklRVWdCQ0FLU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NFZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaEVpQUNJQVpNRFFJZ0VpRUNEQUVMQ3lBQklBSTJBaFFnQWlFSEN3c2dBU0FJSUFCclFRUjBJZ0lnQW13Z0NpQUphMEVNYkNJQ0lBSnNhaUFISUFaclFRTjBJZ0lnQW14cU5nSVlJQWdnQUVnZ0NpQUpTSElnQnlBR1NISUVRQ0FCUVFBMkFod1BDMEVBSVFNZ0FDRUNBMEFnQWtFQ2RDQU1haWdDQUNFTklBTWhBQ0FKSVFNRFFDQURRUVowSUExcUlBWWlCRUVCZEdvaEJRTkFJQUFnQlM0QkFFRUFSMm9oQUNBRVFRRnFJUXNnQlVFQ2FpRUZJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBcElCRUFnQkNFRERBRUxDeUFDUVFGcUlRUWdBaUFJU0FSQUlBQWhBeUFFSVFJTUFRc0xJQUVnQURZQ0hBdXhBd0VHZnlBQUtBSVlJZ0lvQWdRaEFTQUNLQUlBSVFRQ1FBTkFJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjRVFBTkFJQUFvQXRBRElnTWdBeWdDR0VFQmFqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5CQ0FDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNOQUFzTEEwQWdBUVIvSUFRRklBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBESUFJb0FnUWhBU0FDS0FJQUN5RURJQUZCZjJvaEFTQURRUUZxSVFRZ0F5d0FBQ0lGUVg5R0RRQUxJQUFvQXRBRElnWW9BaGdoQXlBRlJRUkFJQVlnQTBFQ2FqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRURBRUxDeUFGUWY4QmNTRUZJQU1FUUNBQUtBSUFJZ1pCOXdBMkFoUWdCaUFETmdJWUlBQW9BZ0FnQlRZQ0hDQUFLQUlBS0FJRUlRTWdBRUYvSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFEUVFBMkFoZ0xJQUFnQlRZQ3VBTWdBaUFFTmdJQUlBSWdBVFlDQkVFQkR3dEJBQXU0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVIwSUFCcUlRVWdCRUVFZENBQWFpRUdJQVJCQkhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFGS2dJQUlBTkJBblFnQVdvcUFnQ1VJQVlxQWdRZ0FVRVFhaUFEUVFKMGFpb0NBSlNTSUFjcUFnZ2dBVUVnYWlBRFFRSjBhaW9DQUpTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFSQkJIUWdBR29xQWd3Z0F5b0NESkk0QWd3Z0JFRUJhaUVFREFFTEN3dTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRmRDQUNhaUFEUVFOMGFpQUZLd01BSUFOQkEzUWdBV29yQXdDaUlBWXJBd2dnQVVFZ2FpQURRUU4wYWlzREFLS2dJQWNyQXhBZ0FVRkFheUFEUVFOMGFpc0RBS0tnT1FNQUlBTkJBV29oQXd3QkN3c2dCRUVGZENBQ2FpSURJQVJCQlhRZ0FHb3JBeGdnQXlzREdLQTVBeGdnQkVFQmFpRUVEQUVMQ3d0VUFRSi9BMEFnQWtFRFJ3UkFRUUFoQVFOQUlBRkJCRWNFUUNBQ1FRVjBRWUNrQTJvZ0FVRURkR29nQWtFRmRDQUFhaUFCUVFOMGFpc0RBRGtEQUNBQlFRRnFJUUVNQVFzTElBSkJBV29oQWd3QkN3c0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVDUVl5SEFVSE50d0pCQVNBQkVBa2dBd3NrQmdzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRTkJ3SWNCUWJ6UUFrRWZJQUVRQ1NBREN5UUdDLzBGQVFaL0l3WWhDU01HUVNCcUpBWWdDVUVRYWlFSUlBSkZCRUFnQ0VIQXlBTkJ6cHdDRURkQjc1d0NFRGRCNzZJQ0VEZEIvd0FRUGtIMm9nSVFOMEhnblFJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJR0tBSUFLQUljSVFjZ0JrRUtJQWRCUDNGQmlnRnFFUUlBSVFZZ0NCQThJQVVnQmhCQUlBVVFQeEFBQ3lBRFJRUkFJQWhCd01nRFFmV2RBaEEzUWUrY0FoQTNRZStpQWhBM1FZQUJFRDVCOXFJQ0VEZEJsNTRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXRCZnlBQ1NRUkFJQWhCd01nRFFhMmVBaEEzUWUrY0FoQTNRZStpQWhBM1FZRUJFRDVCOXFJQ0VEZEIwcDRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXNnQkVVRVFDQUlRY0RJQTBIL25nSVFOMEh2bkFJUU4wSHZvZ0lRTjBHQ0FSQStRZmFpQWhBM1FhT2ZBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ1lvQWdBb0Fod2hCeUFHUVFvZ0IwRS9jVUdLQVdvUkFnQWhCaUFJRUR3Z0JTQUdFRUFnQlJBL0VBQUxJQWxCQ0dvaEJTQUFJQUVRdVFNZ0FpQUViR3dpQmpZQ0RDQURJQVpzSWdZZ0FDZ0NGRWNFUUNBR0VGRWhCeUFKUVFBMkFnQWdDQ0FKS0FJQU5nSUFJQVVnQnhDb0J5QUZLQUlBSVFjZ0JTQUFLQUlZTmdJQUlBQWdCellDR0NBRktBSUVJUWNnQlNBQUtBSWNOZ0lFSUFBZ0J6WUNIQ0FGRUpVQklBQW9BaGhGQkVBZ0NFSEF5QU5CeFo4Q0VEZEI3NXdDRURkQjc2SUNFRGRCbFFFUVBrSDJvZ0lRTjBIb253SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRb2dCMEVLSUFwQlAzRkJpZ0ZxRVFJQUlRY2dDQkE4SUFVZ0J4QkFJQVVRUHhBQUN3c2dBQ0FCTmdJQUlBQWdBallDQkNBQUlBTTJBZ2dnQUNBRU5nSVFJQUFnQmpZQ0ZDQUpKQVlMcVFFQkJIOGdBQVIvQTBBZ0FTQUFLQUlFU0FSQUlBQW9BZ2dnQVVFQ2RHb29BZ0FFUUNBQUlBRVEwQVlMSUFGQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FDZ0NEQ0FDSUFOcUlnUkJBblJxS0FJQUVEZ2dBQ2dDRkNBRVFRSjBhaWdDQUJBNElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFBS0FJTUVEZ2dBQ2dDRkJBNElBQW9BZ2dRT0NBQUtBSVFFRGdnQUNnQ0dCQTRJQUFRT0VFQUJVRi9DeG9MTkFFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQUNnQ0FDZ0NBQkRHQnlBQktBSUFFSVlCRUlFQ0lRSWdBUkNWQVNBQkpBWWdBZ3YzQVFFQmZ5QUVRUUZHSVFrZ0NFRUFSeUVFQW44Z0F3Ui9JQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFUDBLREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRK2dzRklBQWdBU0FDSUFVZ0J4REhDd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1F0QWtNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEN5Q2dVZ0FDQUJJQUlnQlNBSEVPWUpDd3NGSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRUlvSERBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUW1nZ0ZJQUFnQVNBQ0lBVWdCeERaQndzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRa2dVTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDMEJnVWdBQ0FCSUFJZ0JTQUhFTlFGQ3dzTEN3dkdBd0lJZndGK0l3WWhCQ01HUVVCckpBWWdCRUVJYWlFSElBUkJPR29oQ2lBRVFUUnFJUWdnQkVFUWFpRUdJQUlzQUdRRVFDQUVJQUFvQWt3MkFqQWdCQ0FDRU1VQktBSUFOZ0lvSUFRZ0FoREZBU2dDQkRZQ0lDQUlJQVFvQWpBMkFnQWdDaUFFS0FJb05nSUFJQWNnQkNnQ0lEWUNBQ0FBUWNnQWFpQUlJQW9nQnhEVUJ3VWdCa0VBTmdJQUlBWkJBRFlDQkNBR1FRQTJBZ2dnQWlBR0lBRWdBeERUQndOQUlBVWdCaWdDQkNBR0tBSUFJZ0pyUVFKMVNRUkFJQUFnQVNBRlFRSjBJQUpxS0FJQUlBTVF1d0lnQlVFQmFpRUZEQUVMQ3lBQUtBSmtJQUFvQW1oSUJFQWdBU2dDQUNJQ0lBRW9BZ1JIQkVBZ0FpZ0NBQ0VMSUFFb0FnUWlCU0FCS0FJQUlnbHJJZ0pCQ0VvRVFDQUhJQWtwQWdBaUREY0RBQ0FKSUFWQmVHb2lCU2tDQURjQ0FDQUZJQXczQWdBZ0JDQUpOZ0lzSUFRZ0JUWUNKQ0FFSUFrMkFod2dDQ0FFS0FJc05nSUFJQW9nQkNnQ0pEWUNBQ0FISUFRb0FodzJBZ0FnQ0NBQ1FRTjJRWDlxSUFjUXZ3TWdBU2dDQkNFRkMwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQklBVkJlR28yQWdRZ0FDQUFLQUprUVFGcU5nSmtJQUFnQVNBTElBTVF1d0lMQ3lBR0VGVUxJQVFrQmd0a0FRSi9JQUJCQUVjZ0FVRUFSM0VFZnlBQVFReHFRUUJCZ0FnUVJSb2dBU0FBS0FJRUlBQW9BZ2hzYWlFQ0EzOGdBU0FDU1FSL0lBQkJER29nQVMwQUFFRUNkR29pQXlBREtBSUFRUUZxTmdJQUlBRkJBV29oQVF3QkJVRUFDd3NGUVg4TEMxa0JBWDBnQUNBQ0tnSUlJQUlxQWdBZ0E1UWdBaW9DQkNBRWxKS1NJQUlxQWlBZ0Fpb0NHQ0FEbENBQ0tnSWNJQVNVa3BJaUJaVTRBZ0FnQVNBQ0tnSVVJQUlxQWd3Z0E1UWdBaW9DRUNBRWxKS1NJQVdWT0FJQUN6UUFJQUFnQVNrQ0FEY0NBQ0FBSUFFcEFnZzNBZ2dnQUNBQktRSVFOd0lRSUFBZ0FTa0NHRGNDR0NBQUlBRW9BaUEyQWlBTHVBSUNCWDhDZkNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQmlBSFFSUnFJZ2dnQkVFRWRCQkVJZ28yQWdBZ0NrVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQWRCRUdvaEJpQUlJQVJCR0d3UVJDSUpOZ0lFSUFsRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkMwRUFJUVlEUUNBR0lBUklCRUFnQmtFRWRDQUthaUFHUVFSMElBSnFLd01BT1FNQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBd0E1QXdBZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNSU9RTUlJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RFRGtERUNBR1FRRnFJUVlNQVFzTElBZ2dCRFlDQ0NBQUtBSUFJQWdnQVNBRklBY1E2Z0ZCQUVnRVFDQUhSQUFBQUFDRTE1ZEJPUU1BQ3lBSUtBSUFFRGdnQ0NnQ0JCQTRJQWNyQXdBaERDQUhKQVlnREFzSEFDQUFRVHhxQzJVQkJIOERRQ0FGSUFKSUJFQWdBeUFES0FJQVFmMkhEV3hCdzcyYUFXb2lCRFlDQUNBRVFSQjJRZi8vQVhFZ0FSQlBRUUowSUFCcUlRUWdCVUVDZENBQWFpSUdLQUlBSVFjZ0JpQUVLQUlBTmdJQUlBUWdCellDQUNBRlFRRnFJUVVNQVFzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd01nQUNnQ0JDQUFLQUlBYTBFQ2RVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpZ0NDQ0FCS0FJQU5nSUFJQUlnQWlnQ0NFRUVhallDQ0NBQUlBSVE1QUVnQWhESEFTQUNKQVlMQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRb1FnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MVXdFRGZ5QUFRZWdBYWlFREEwQWdBaUFBS0FKc0lBTW9BZ0FpQVd0QkFuVkpCRUFnQWtFQ2RDQUJhaWdDQUNJQkJFQWdBUkRFQWlBQkVEZ0xJQUpCQVdvaEFnd0JDd3NnQUVIMEFHb1FWU0FERUZVTGx3RUJBbjhnQVVFQlJnUkFRUUloQVFVZ0FTQUJRWDlxY1FSQUlBRVEwUUVoQVFzTElBRWdBQ2dDQkNJRFN3UkFJQUFnQVJEaUF3VWdBU0FEU1FSQUlBQW9BZ3l6SUFBcUFoQ1ZqUkNTQVNFQ0lBTkJmMm9nQTNGRklBTkJBa3R4Qkg4Z0FrRUJRU0FnQWtGL2FtZHJkQ0FDUVFKSkd3VWdBaERSQVFzaUFpQUJJQUVnQWtrYklnRWdBMGtFUUNBQUlBRVE0Z01MQ3dzTEV3QWdBRUhzaFFFMkFnQWdBRUVFYWhEU0Fnc2xBQ0FBUWR5RkFUWUNBQ0FBUVRocUVGVWdBRUVzYWhCVklBQkJJR29RVlNBQUVNWUNDdzBBSUFBb0FnQWdBVUVGZEdvTDNnTUJBMzhqQmlFSUl3WkJFR29rQmlBR1FRQktCRUFnQmtFQmFpQUZLQUlFU1FSQUlBZEJmMm9oQ1NBSFFRQktCRUFnQjBFQmFpSUtJQVVvQWdoSkJFQWdCU0FKRUZBZ0JrRUNkR29oQ1NBRklBY1FVQ0FHUVFKMGFpRUhJQVVnQ2hCUUlBWkJBblJxSVFVZ0FDQUhLZ0lFSUFkQmZHb2lBQ29DQUpOREFBQUFQNVE0QWdBZ0FTQUZLZ0lBSUFrcUFnQ1RRd0FBQUQrVU9BSUFJQUlnQnlvQ0JDQUFLZ0lBSUFjcUFnQkRBQUFBUUpTVGtqZ0NBQ0FESUFVcUFnQWdDU29DQUNBSEtnSUFRd0FBQUVDVWs1STRBZ0FnQkNBSlFYeHFLZ0lBSUFVcUFnU1NJQWtxQWdRZ0JVRjhhaW9DQUpLVFF3QUFnRDZVT0FJQUlBZ2tCZzhMQ3lBSVFjRElBMEc1MkFFUU4wSE95d0VRTjBIdm9nSVFOMEdkQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUlRY0RJQTBHQjJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHY0FoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxEUUFnQUNBQ2xDQUJJQUdVa3dzNkFRSjlRd0FBZ0Q5QkFTQUVkTEtWSWdWREFBQUFQNVJEQUFBQXY1SWhCaUFBSUFVZ0FwUWdCcEk0QWdBZ0FTQUZJQU9VSUFhU09BSUFDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmVHb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRURkV3RCQTNScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFWeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMbHdFQkJIOGdBVUVFYWlJREtBSUFJUUlnQXlBQUtBSUVJQUFvQWdBaUJHc2lCVUZjRURsQkpHd2dBbW9pQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMY2dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY2ZqOFRoTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVNSc0VGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkpHd2dCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRU1JzSUFScU5nSU1DMDRCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCSkJBNUlBRkpCRUFnQWlBQklBQW9BZ1FnQTJ0QkpCQTVJQUJCQ0dvUTBBSWdBQ0FDRU04Q0lBSVF6Z0lMSUFJa0JndEFBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVdCcUlnRVEzUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDejhCQW44Z0FDZ0NBQ0lDQkVBZ0FDZ0NCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3RkQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVFWMUlnTWdBVWtFUUNBQUlBRWdBMnNRakFrRklBTWdBVXNFUUNBQlFRVjBJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCWUdvaUFSRGRBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWRXcTFhb0JTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRU1iQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUXhzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFTWJDQUVhallDREFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWDlxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGpnRUJCSDhnQVVFRWFpSURLQUlBSUFBb0FnUWdBQ2dDQUNJRWF5SUZheUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTFFBQWdBRUVBTmdJTUlBQWdBellDRUNBQUlBRUVmeUFCRUZFRlFRQUxJZ00yQWdBZ0FDQUNJQU5xSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBU0FEYWpZQ0RBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEM5UUNBZ1ovQW4wakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVKSUFaQkRHb2hDeUFHUVFocUlRZ2dCa0VFYWlFS0lBUXFBZ2doRENBRUtnSU1JUTBnQlFKL0FrQUNRQUpBSUFGRkRRQWdBQ0FCSUF3Z0RTQUhJQWdRNVFGQkFFZ05BQ0FGSUFjcUFnQVFRellDQUNBRklBZ3FBZ0FRUXpZQ0JDQUNSUTBCSUFBZ0FpQU1JQTBnQ1NBS0VPVUJRUUJJRFFFZ0JTQUhLZ0lBUXdBQUFFQ1VJQWtxQWdDVEVFTTJBZ2dnQlNBSUtnSUFRd0FBQUVDVUlBb3FBZ0NURUVNMkFnd2dBMFVOQWlBQUlBTWdEQ0FOSUFzZ0JoRGxBVUVBU0EwQ0lBVWdDeW9DQUNBSEtnSUFRd0FBUUVDVUlBa3FBZ0JEQUFCQVFKU1RraEJETmdJUUlBWXFBZ0FnQ0NvQ0FFTUFBRUJBbENBS0tnSUFRd0FBUUVDVWs1SVFRd3dEQ3lBRlFYODJBZ0FnQlVGL05nSUVDeUFGUVg4MkFnZ2dCVUYvTmdJTUN5QUZRWDgyQWhCQmZ3czJBaFFnQmlRR0MwNEJBbjBnQVNvQ0FDQUFLZ0lBa3lJRUlBU1VJQUVxQWdRZ0FDb0NCSk1pQkNBRWxKS1JJZ1ZEQUFBQUFGd0VRQ0FDSUFRZ0JaVTRBZ0FnQXlBQktnSUFJQUFxQWdDVElBV1ZPQUlBQ3dzR0FFRWFFQUlMcHdFQkFuOUJieUFCYXlBQ1NRUkFFQUFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lFRklBRkI1Ly8vL3dkSkJIOUJDeUFCUVFGMElnWWdBU0FDYWlJQ0lBSWdCa2tiSWdKQkVHcEJjSEVnQWtFTFNSc0ZRVzhMSWdZUVVTRUNJQVFFUUNBQ0lBVWdCQkNvQVFzZ0F5QUVheUlEQkVBZ0FpQUVhaUFFSUFWcUlBTVFxQUVMSUFGQkNrY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDejRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBU3dBQzBFQVNBUkFJQUFnQVNnQ0FDQUJLQUlFRUg0RklBQWdBU2tDQURjQ0FDQUFJQUVvQWdnMkFnZ0xDd1FBUVFFTENnQWdBQkE0SUFFUU9Bc0xBQ0FFSUFJMkFnQkJBd3NmQVFGL0lBQW9BZ0FpQVFSL0lBRVFPQ0FBUVFBMkFnQkJBQVZCZndzYUM2TUJBUU4vUVlnQkVFUWlBUVJBQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUNRUVYwSUFGcUlBTkJBM1JxSUFKQkJYUWdBR29nQTBFRGRHb3JBd0E1QXdBZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQUZCQ2pZQ1lDQUJSQUFBQUtDWm1iay9PUU5vSUFGRUFBQUFnQlN1N3o4NUEzQWdBVVFBQUFBQUFBQVFRRGtEZUNBQlJBQUFBQUFBQU9BL09RT0FBUVZCQUNFQkN5QUJDNzhFQVFGL0lBQWdCVVlFZnlBQkxBQUFCSDhnQVVFQU9nQUFJQVFnQkNnQ0FDSUFRUUZxTmdJQUlBQkJMam9BQUNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc0VRQ0FKS0FJQUlnQWdDR3RCb0FGSUJFQWdDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBTEMwRUFCVUYvQ3dVQ2Z5QUFJQVpHQkVBZ0J5Z0NCQ0FITEFBTElnVkIvd0Z4SUFWQkFFZ2JCRUJCZnlBQkxBQUFSUTBDR2tFQUlBa29BZ0FpQUNBSWEwR2dBVTROQWhvZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FnQ2tFQU5nSUFRUUFNQWdzTElBdEJnQUZxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFBSUFWQkFuUWdDMm9pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBTGF5SUFRZndBU2dSL1FYOEZJQUJCQW5WQjhPOEFhaXdBQUNFRkFrQUNRQUpBQWtBZ0FFR29mMm9pQmtFQ2RpQUdRUjUwY2c0RUFRRUFBQUlMSUFRb0FnQWlBQ0FEUndSQVFYOGdBRUYvYWl3QUFFSGZBSEVnQWl3QUFFSC9BSEZIRFFVYUN5QUVJQUJCQVdvMkFnQWdBQ0FGT2dBQVFRQU1CQXNnQWtIUUFEb0FBQXdCQ3lBRlFkOEFjU0lESUFJc0FBQkdCRUFnQWlBRFFZQUJjam9BQUNBQkxBQUFCRUFnQVVFQU9nQUFJQWNvQWdRZ0J5d0FDeUlCUWY4QmNTQUJRUUJJR3dSQUlBa29BZ0FpQVNBSWEwR2dBVWdFUUNBS0tBSUFJUUlnQ1NBQlFRUnFOZ0lBSUFFZ0FqWUNBQXNMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0JUb0FBQ0FBUWRRQVRBUkFJQW9nQ2lnQ0FFRUJhallDQUF0QkFBc0xDd3VrQVFFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQVJBN0lBVkJvTTRERURvaUFTZ0NBQ2dDTUNFR0lBRkI4TzhBUVpEd0FDQUNJQVpCRDNGQmlnSnFFUWtBR2lBRlFhak9BeEE2SWdFb0FnQW9BZ3doQWlBRElBRWdBa0gvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ2dDRUNFQ0lBUWdBU0FDUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBVVFQQ0FGSkFZTFVnSUNmd0Y4SUFBb0FnUWlBeUFCS0FJRVJ3UkFRUUFRQVFzRFFDQUNJQU5JQkVBZ0JDQUFLQUlBSUFKQkEzUnFLd01BSUFFb0FnQWdBa0VEZEdvckF3Q2lvQ0VFSUFKQkFXb2hBZ3dCQ3dzZ0JBczNBUUovUVFnUVJDSUJCRUFnQVNBQVFRTjBFRVFpQWpZQ0FDQUNCRUFnQVNBQU5nSUVCU0FCRURoQkFDRUJDd1ZCQUNFQkN5QUJDOVVFQVFGL0lBQkIvd0Z4SUFWQi93RnhSZ1IvSUFFc0FBQUVmeUFCUVFBNkFBQWdCQ0FFS0FJQUlnQkJBV28yQWdBZ0FFRXVPZ0FBSUFjb0FnUWdCeXdBQ3lJQVFmOEJjU0FBUVFCSUd3UkFJQWtvQWdBaUFDQUlhMEdnQVVnRVFDQUtLQUlBSVFFZ0NTQUFRUVJxTmdJQUlBQWdBVFlDQUFzTFFRQUZRWDhMQlFKL0lBQkIvd0Z4SUFaQi93RnhSZ1JBSUFjb0FnUWdCeXdBQ3lJRlFmOEJjU0FGUVFCSUd3UkFRWDhnQVN3QUFFVU5BaHBCQUNBSktBSUFJZ0FnQ0d0Qm9BRk9EUUlhSUFvb0FnQWhBU0FKSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQXBCQURZQ0FFRUFEQUlMQ3lBTFFTQnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUZJQXRxSWdVdEFBQWdBRUgvQVhGR0JIOGdCUVVnQmlFRkRBSUxDd3NnQzJzaUJVRWZTZ1IvUVg4RklBVkI4TzhBYWl3QUFDRUFBa0FDUUFKQUlBVkJGbXNPQkFFQkFBQUNDeUFFS0FJQUlnRWdBMGNFUUVGL0lBRkJmMm9zQUFCQjN3QnhJQUlzQUFCQi93QnhSdzBFR2dzZ0JDQUJRUUZxTmdJQUlBRWdBRG9BQUVFQURBTUxJQUpCMEFBNkFBQWdCQ0FFS0FJQUlnRkJBV28yQWdBZ0FTQUFPZ0FBUVFBTUFnc2dBRUhmQUhFaUF5QUNMQUFBUmdSQUlBSWdBMEdBQVhJNkFBQWdBU3dBQUFSQUlBRkJBRG9BQUNBSEtBSUVJQWNzQUFzaUFVSC9BWEVnQVVFQVNCc0VRQ0FKS0FJQUlnRWdDR3RCb0FGSUJFQWdDaWdDQUNFQ0lBa2dBVUVFYWpZQ0FDQUJJQUkyQWdBTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdBRG9BQUVFQUlBVkJGVW9OQVJvZ0NpQUtLQUlBUVFGcU5nSUFRUUFMQ3dzTHBBRUJBbjhqQmlFRkl3WkJFR29rQmlBRklBRVFPeUFGUVlET0F4QTZJZ0VvQWdBb0FpQWhCaUFCUWZEdkFFR1E4QUFnQWlBR1FROXhRWW9DYWhFSkFCb2dCVUdRemdNUU9pSUJLQUlBS0FJTUlRSWdBeUFCSUFKQi93QnhRUWhxRVFBQU9nQUFJQUVvQWdBb0FoQWhBaUFFSUFFZ0FrSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FGRUR3Z0JTUUdDd3NBSUFBUW1RSWdBQkE0Q3dzQUlBQVFtZ0lnQUJBNEN3c0FJQUFRMEFRZ0FCQTRDd3NBSUFBUTFnUWdBQkE0Q3hNQUlBQWdBNklnQVNBRW9xQWdBaUFGb3FBTFZ3RURmeUFBS0FJRUlnZEJDSFVoQmlBSFFRRnhCRUFnQXlnQ0FDQUdhaWdDQUNFR0N5QUFLQUlBSWdBb0FnQW9BaFFoQ0NBQUlBRWdBaUFESUFacUlBUkJBaUFIUVFKeEd5QUZJQWhCQjNGQjJnWnFFUXdBQ3hRQUlBQWdBS0lnQVNBQm9xQWdBaUFDb3FDZkM2Y0JBQ0FBUVFFNkFEVWdBaUFBS0FJRVJnUkFBa0FnQUVFQk9nQTBJQUFvQWhBaUFrVUVRQ0FBSUFFMkFoQWdBQ0FETmdJWUlBQkJBVFlDSkNBQUtBSXdRUUZHSUFOQkFVWnhSUTBCSUFCQkFUb0FOZ3dCQ3lBQklBSkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBVG9BTmd3QkN5QUFLQUlZSWdGQkFrWUVRQ0FBSUFNMkFoZ0ZJQUVoQXdzZ0FDZ0NNRUVCUmlBRFFRRkdjUVJBSUFCQkFUb0FOZ3NMQ3dzZkFDQUJJQUFvQWdSR0JFQWdBQ2dDSEVFQlJ3UkFJQUFnQWpZQ0hBc0xDMTRCQVg4Z0FDZ0NFQ0lEQkVBQ1FDQUJJQU5IQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQWpZQ0dDQUFRUUU2QURZTUFRc2dBQ2dDR0VFQ1JnUkFJQUFnQWpZQ0dBc0xCU0FBSUFFMkFoQWdBQ0FDTmdJWUlBQkJBVFlDSkFzTDVBSUNBbjhDZlNBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSC8vLy9qQkVzRVFDQUFROW9QeWI5RDJnL0pQeUFDR3lBQlFZQ0FnUHdIU3hzUEN5QUJRWUNBZ1BjRFNRUkFJQUZCZ0lDQXpBTkpCSDhnQUE4RlFYOExJUUVGSUFDTElRQWdBVUdBZ09EOEEwa0VmU0FCUVlDQXdQa0RTUVI5UVFBaEFTQUFRd0FBQUVDVVF3QUFnTCtTSUFCREFBQUFRSktWQlVFQklRRWdBRU1BQUlDL2tpQUFRd0FBZ0QrU2xRc0ZJQUZCZ0lEd2dBUkpCSDFCQWlFQklBQkRBQURBdjVJZ0FFTUFBTUEvbEVNQUFJQS9rcFVGUVFNaEFVTUFBSUMvSUFDVkN3c2hBQXNnQUNBQWxDSUVJQVNVSVFNZ0JDQURJQU5ESmF4OFBaUkREZlVSUHBLVVE2bXFxajZTbENFRUlBTkRtTXBNdmlBRFEwY1MyajJVazVRaEF5QUJRUUJJQkgwZ0FDQUFJQU1nQkpLVWt3VWdBVUVDZEVIUTdBQnFLZ0lBSUFBZ0F5QUVrcFFnQVVFQ2RFSGc3QUJxS2dJQWt5QUFrNU1pQUNBQWpDQUNSUnNMQy93Q0FnTi9BWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRVFDQUJRWUNBZ013RFR3UkFJQUM3RUpFQklRQUxCUUo5SUFGQjBxZnRnd1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhrbDl1QUJFOEVRRVFZTFVSVSt5RUpRRVFZTFVSVSt5RUp3Q0FDR3lBRW9Kb1FrUUVNQWdzZ0FnUkFJQVJFR0MxRVZQc2grVCtnRUpBQmpBd0NCU0FFUkJndFJGVDdJZm0vb0JDUUFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhnMjcrRkJFOEVRRVFZTFVSVSt5RVpRRVFZTFVSVSt5RVp3Q0FDR3lBRW9CQ1JBUXdDQ3lBQ0JFQWdCRVRTSVROL2ZOa1NRS0FRa0FFTUFnVWdCRVRTSVROL2ZOa1N3S0FRa0FHTURBSUxBQXNnQUNBQWt5QUJRZi8vLy9zSFN3MEFHZ0pBQWtBQ1FBSkFJQUFnQXhENkFrRURjUTREQUFFQ0F3c2dBeXNEQUJDUkFRd0RDeUFES3dNQUVKQUJEQUlMSUFNckF3Q2FFSkVCREFFTElBTXJBd0FRa0FHTUN5RUFDeUFESkFZZ0FBdi9BZ01EZndGOUFYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFZlNBQlFZQ0FnTXdEU1FSOVF3QUFnRDhGSUFDN0VKQUJDd1VDZlNBQlFkS243WU1FU1FSQUlBSkJBRWNoQWlBQXV5RUZJQUZCNDVmYmdBUkxCRUJFR0MxRVZQc2hDVUJFR0MxRVZQc2hDY0FnQWhzZ0JhQVFrQUdNREFJTElBSUVRQ0FGUkJndFJGVDdJZmsvb0JDUkFRd0NCVVFZTFVSVSt5SDVQeUFGb1JDUkFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFGQjM5dS9oUVJMQkVCRUdDMUVWUHNoR1VCRUdDMUVWUHNoR2NBZ0Foc2dBTHVnRUpBQkRBSUxJQUlFUUNBQWpMdEUwaUV6ZjN6WkVzQ2dFSkVCREFJRklBQzdSTkloTTM5ODJSTEFvQkNSQVF3Q0N3QUxJQUFnQUpNZ0FVSC8vLy83QjBzTkFCb0NRQUpBQWtBQ1FDQUFJQU1RK2dKQkEzRU9Bd0FCQWdNTElBTXJBd0FRa0FFTUF3c2dBeXNEQUpvUWtRRU1BZ3NnQXlzREFCQ1FBWXdNQVFzZ0F5c0RBQkNSQVFzTElRUWdBeVFHSUFRTGR3RUJmd0pBQWtBZ0FBMEFRY1RGQXlnQ0FDSUFEUUJCQUNFQURBRUxJQUFROXdRZ0FHb2lBQ3dBQUVVRVFFSEV4UU5CQURZQ0FFRUFJUUFNQVF0QnhNVURJQUFRN1FRZ0FHb2lBVFlDQUNBQkxBQUFCRUJCeE1VRElBRkJBV28yQWdBZ0FVRUFPZ0FBQlVIRXhRTkJBRFlDQUFzTElBQUxLZ0VCZmlBQUtBSk1HaUFBRU84RUlnRkMvLy8vL3dkVkJIOUJwTVVEUVQwMkFnQkJmd1VnQWFjTEN4NEFJQUFvQWt3YUlBQkNBRUVBRUlrRElBQWdBQ2dDQUVGZmNUWUNBQXZ3QVFJR2Z3SjhJd1loQXlNR1FSQnFKQVlnQTBFSWFpRUVJQUM4SWdWQi8vLy8vd2R4SWdKQjI1K2s3Z1JKQkg4Z0FMc2lDRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJSkVITWhCaUFCSUFnZ0NVUUFBQUJRK3lINVA2S2hJQWxFWTJJYVliUVFVVDZpb1RrREFDQUdCUUovSUFKQi8vLy8rd2RMQkVBZ0FTQUFJQUNUdXprREFFRUFEQUVMSUFRZ0FpQUNRUmQyUWVwK2FpSUNRUmQwYTc2N09RTUFJQVFnQXlBQ1FRRkJBQkQ3QWlFQ0lBTXJBd0FoQ0NBRlFRQklCSDhnQVNBSW1qa0RBRUVBSUFKckJTQUJJQWc1QXdBZ0Fnc0xDeUVISUFNa0JpQUhDNE1SQWhaL0Ezd2pCaUVOSXdaQnNBUnFKQVlnRFVIQUFtb2hEeUFFUVFKMFFmRHBBR29vQWdBaERpQUNRWDFxUVJnUU9TSUZRUUFnQlVFQVNoc2hFU0FPSUFOQmYyb2lCMnBCQUU0RVFDQURJQTVxSVFrZ0VTQUhheUVGQTBBZ0JrRURkQ0FQYWlBRlFRQklCSHhFQUFBQUFBQUFBQUFGSUFWQkFuUkJnT29BYWlnQ0FMY0xPUU1BSUFWQkFXb2hCU0FHUVFGcUlnWWdDVWNOQUFzTElBMUI0QU5xSVF3Z0RVR2dBV29oQ2lBUlFXaHNJaFVnQWtGb2Ftb2hDU0FEUVFCS0lRaEJBQ0VGQTBBZ0NBUkFJQVVnQjJvaEMwUUFBQUFBQUFBQUFDRWJRUUFoQmdOQUlCc2dCa0VEZENBQWFpc0RBQ0FMSUFaclFRTjBJQTlxS3dNQW9xQWhHeUFHUVFGcUlnWWdBMGNOQUFzRlJBQUFBQUFBQUFBQUlSc0xJQVZCQTNRZ0RXb2dHemtEQUNBRlFRRnFJUVlnQlNBT1NBUkFJQVloQlF3QkN3c2dDVUVBU2lFU1FSZ2dDV3NoRTBFWElBbHJJUllnQ1VVaEZ5QURRUUJLSVJnZ0RpRUZBa0FDUUFOQUFrQWdCVUVEZENBTmFpc0RBQ0ViSUFWQkFFb2lDd1JBSUFVaEJrRUFJUWNEUUNBSFFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjN2NpRzBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQmtGL2FpSUlRUU4wSUExcUt3TUFJQnVnSVJzZ0IwRUJhaUVISUFaQkFVb0VRQ0FJSVFZTUFRc0xDeUFiSUFrUW53RWlHeUFiUkFBQUFBQUFBTUEvb3B4RUFBQUFBQUFBSUVDaW9TSWJFSE1oQmlBYklBYTNvU0ViQWtBQ1FBSkFJQklFZnlBRlFYOXFRUUowSUF4cUlnZ29BZ0FpRUNBVGRTRUhJQWdnRUNBSElCTjBheUlJTmdJQUlBZ2dGblVoQ0NBR0lBZHFJUVlNQVFVZ0Z3Ui9JQVZCZjJwQkFuUWdER29vQWdCQkYzVWhDQXdDQlNBYlJBQUFBQUFBQU9BL1pnUi9RUUloQ0F3RUJVRUFDd3NMSVFnTUFnc2dDRUVBU2cwQURBRUxJQVloR2lBTEJIOUJBQ0VHUVFBaEN3Ti9JQXRCQW5RZ0RHb2lHU2dDQUNFUUFrQUNRQ0FHQkg5Qi8vLy9CeUVVREFFRklCQUVmMEVCSVFaQmdJQ0FDQ0VVREFJRlFRQUxDeUVHREFFTElCa2dGQ0FRYXpZQ0FBc2dDMEVCYWlJTElBVkhEUUFnQmdzRlFRQUxJUXNnRWdSQUFrQUNRQUpBSUFsQkFXc09BZ0FCQWdzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BM0UyQWdBTUFRc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQVhFMkFnQUxDeUFhUVFGcUlRWWdDRUVDUmdSQVJBQUFBQUFBQVBBL0lCdWhJUnNnQ3dSQUlCdEVBQUFBQUFBQThEOGdDUkNmQWFFaEd3dEJBaUVJQ3dzZ0cwUUFBQUFBQUFBQUFHSU5BaUFGSUE1S0JFQkJBQ0VMSUFVaEJ3TkFJQXNnQjBGL2FpSUhRUUowSUF4cUtBSUFjaUVMSUFjZ0Rrb05BQXNnQ3cwQkMwRUJJUVlEUUNBR1FRRnFJUWNnRGlBR2EwRUNkQ0FNYWlnQ0FFVUVRQ0FISVFZTUFRc0xJQVVnQm1vaEJ3TkFJQU1nQldvaUNFRURkQ0FQYWlBRlFRRnFJZ1lnRVdwQkFuUkJnT29BYWlnQ0FMYzVBd0FnR0FSQVJBQUFBQUFBQUFBQUlSdEJBQ0VGQTBBZ0d5QUZRUU4wSUFCcUt3TUFJQWdnQld0QkEzUWdEMm9yQXdDaW9DRWJJQVZCQVdvaUJTQURSdzBBQ3dWRUFBQUFBQUFBQUFBaEd3c2dCa0VEZENBTmFpQWJPUU1BSUFZZ0IwZ0VRQ0FHSVFVTUFRc0xJQWNoQlF3QkN3c2dDU0VBQTM4Z0FFRm9haUVBSUFWQmYyb2lCVUVDZENBTWFpZ0NBRVVOQUNBQUlRSWdCUXNoQUF3QkN5QWJRUUFnQ1dzUW53RWlHMFFBQUFBQUFBQndRV1lFZnlBRlFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjeUlEdDBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQWlBVmFpRUNJQVZCQVdvRklBa2hBaUFiRUhNaEF5QUZDeUlBUVFKMElBeHFJQU0yQWdBTFJBQUFBQUFBQVBBL0lBSVFud0VoR3lBQVFYOUtJZ2NFUUNBQUlRSURRQ0FDUVFOMElBMXFJQnNnQWtFQ2RDQU1haWdDQUxlaU9RTUFJQnRFQUFBQUFBQUFjRDZpSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xJQWNFUUNBQUlRSURRQ0FBSUFKcklRbEJBQ0VEUkFBQUFBQUFBQUFBSVJzRFFDQWJJQU5CQTNSQmtPd0FhaXNEQUNBQ0lBTnFRUU4wSUExcUt3TUFvcUFoR3lBRFFRRnFJUVVnQXlBT1RpQURJQWxQY2tVRVFDQUZJUU1NQVFzTElBbEJBM1FnQ21vZ0d6a0RBQ0FDUVg5cUlRTWdBa0VBU2dSQUlBTWhBZ3dCQ3dzTEN3SkFBa0FDUUFKQUlBUU9CQUFCQVFJREN5QUhCRUJFQUFBQUFBQUFBQUFoR3dOQUlCc2dBRUVEZENBS2Fpc0RBS0FoR3lBQVFYOXFJUUlnQUVFQVNnUkFJQUloQUF3QkN3c0ZSQUFBQUFBQUFBQUFJUnNMSUFFZ0c1b2dHeUFJR3prREFBd0NDeUFIQkVCRUFBQUFBQUFBQUFBaEd5QUFJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTEJVUUFBQUFBQUFBQUFDRWJDeUFCSUJzZ0c1b2dDRVVpQkJzNUF3QWdDaXNEQUNBYm9TRWJJQUJCQVU0RVFFRUJJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtFQmFpRURJQUFnQWtjRVFDQURJUUlNQVFzTEN5QUJJQnNnRzVvZ0JCczVBd2dNQVFzZ0FFRUFTZ1JBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnUXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FFSUJ3NUF3QWdBa0VCU2dSQUlBTWhBaUFjSVJzTUFRc0xJQUJCQVVvaUJBUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdVckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUZJQnc1QXdBZ0FrRUNTZ1JBSUFNaEFpQWNJUnNNQVFzTElBUUVRRVFBQUFBQUFBQUFBQ0ViQTBBZ0d5QUFRUU4wSUFwcUt3TUFvQ0ViSUFCQmYyb2hBaUFBUVFKS0JFQWdBaUVBREFFTEN3VkVBQUFBQUFBQUFBQWhHd3NGUkFBQUFBQUFBQUFBSVJzTEJVUUFBQUFBQUFBQUFDRWJDeUFLS3dNQUlSd2dDQVJBSUFFZ0hKbzVBd0FnQVNBS0t3TUltamtEQ0NBQklCdWFPUU1RQlNBQklCdzVBd0FnQVNBS0t3TUlPUU1JSUFFZ0d6a0RFQXNMSUEwa0JpQUdRUWR4QzRBSkF3aC9BWDRFZkNNR0lRUWpCa0V3YWlRR0lBUkJFR29oQlNBQXZTSUtRaitJcHlFR0FuOENRQ0FLUWlDSXB5SUNRZi8vLy84SGNTSURRZnZVdllBRVNRUi9JQUpCLy84L2NVSDd3eVJHRFFFZ0JrRUFSeUVDSUFOQi9iS0xnQVJKQkg4Z0FnUi9JQUVnQUVRQUFFQlUreUg1UDZBaUFFUXhZMklhWWJUUVBhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwRDJnT1FNSVFYOEZJQUVnQUVRQUFFQlUreUg1djZBaUFFUXhZMklhWWJUUXZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwTDJnT1FNSVFRRUxCU0FDQkg4Z0FTQUFSQUFBUUZUN0lRbEFvQ0lBUkRGallocGh0T0E5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ1BhQTVBd2hCZmdVZ0FTQUFSQUFBUUZUN0lRbkFvQ0lBUkRGallocGh0T0M5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ3ZhQTVBd2hCQWdzTEJRSi9JQU5Cdkl6eGdBUkpCRUFnQTBHOSs5ZUFCRWtFUUNBRFFmeXl5NEFFUmcwRUlBWUVRQ0FCSUFCRUFBQXdmM3paRWtDZ0lnQkV5cFNUcDVFTzZUMmdJZ3M1QXdBZ0FTQUFJQXVoUk1xVWs2ZVJEdWs5b0RrRENFRjlEQU1GSUFFZ0FFUUFBREIvZk5rU3dLQWlBRVRLbEpPbmtRN3B2YUFpQ3prREFDQUJJQUFnQzZGRXlwU1RwNUVPNmIyZ09RTUlRUU1NQXdzQUJTQURRZnZENUlBRVJnMEVJQVlFUUNBQklBQkVBQUJBVlBzaEdVQ2dJZ0JFTVdOaUdtRzA4RDJnSWdzNUF3QWdBU0FBSUF1aFJERmpZaHBodFBBOW9Ea0RDRUY4REFNRklBRWdBRVFBQUVCVSt5RVp3S0FpQUVReFkySWFZYlR3dmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDhMMmdPUU1JUVFRTUF3c0FDd0FMSUFOQis4UGtpUVJKRFFJZ0EwSC8vNy8vQjBzRVFDQUJJQUFnQUtFaUFEa0RDQ0FCSUFBNUF3QkJBQXdCQ3lBS1F2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQXNNRUFoTDhoQUVFQUlRSURRQ0FDUVFOMElBVnFJQUFRYzdjaUN6a0RBQ0FBSUF1aFJBQUFBQUFBQUhCQm9pRUFJQUpCQVdvaUFrRUNSdzBBQ3lBRklBQTVBeEFnQUVRQUFBQUFBQUFBQUdFRVFFRUJJUUlEUUNBQ1FYOXFJUWNnQWtFRGRDQUZhaXNEQUVRQUFBQUFBQUFBQUdFRVFDQUhJUUlNQVFzTEJVRUNJUUlMSUFVZ0JDQURRUlIyUWVwM2FpQUNRUUZxUVFFUSt3SWhBaUFFS3dNQUlRQWdCZ1IvSUFFZ0FKbzVBd0FnQVNBRUt3TUltamtEQ0VFQUlBSnJCU0FCSUFBNUF3QWdBU0FFS3dNSU9RTUlJQUlMQ3dzTUFRc2dBRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJTUVITWhDQ0FCSUFBZ0RFUUFBRUJVK3lINVA2S2hJZ3NnREVReFkySWFZYlRRUGFJaUFLRWlEVGtEQUNBRFFSUjJJZ2NnRGIxQ05JaW5RZjhQY1d0QkVFb0VRQ0FNUkhOd0F5NktHYU03b2lBTElBc2dERVFBQUdBYVliVFFQYUlpQUtFaUM2RWdBS0doSVFBZ0FTQUxJQUNoSWcwNUF3QWdERVRCU1NBbG1vTjdPYUlnQ3lBTElBeEVBQUFBTG9vWm96dWlJZzZoSWd5aElBNmhvU0VPSUFjZ0RiMUNOSWluUWY4UGNXdEJNVW9FUUNBQklBd2dEcUVpRFRrREFDQU9JUUFnRENFTEN3c2dBU0FMSUEyaElBQ2hPUU1JSUFnTElRa2dCQ1FHSUFrTEZnQWdBQ0FCSUFKQ2dJQ0FnSUNBZ0lDQWZ4Q0VBd3ZsQ2dFU2Z5QUJLQUlBSVFVQ2Z3SkFJQU5GRFFBZ0F5Z0NBQ0lFUlEwQUlBQUVmeUFEUVFBMkFnQWdCQ0VPSUFBaER5QUNJUkFnQlNFSVFUQUZJQVFoQ1NBRklRY2dBaUVMUVJvTERBRUxJQUJCQUVjaEEwSG9pUUVvQWdBb0FnQUVRQ0FEQkVBZ0FDRVNJQUloRVNBRklReEJJUXdDQlNBQ0lSTWdCU0VVUVE4TUFnc0FDeUFEUlFSQUlBVVFZQ0VLUVQ4TUFRc2dBZ1JBQWtBZ0FDRUdJQUloQkNBRklRTURRQ0FETEFBQUlnVUVRQ0FEUVFGcUlRTWdCaUFGUWYrL0EzRTJBZ0FnQkVGL2FpSUVSUTBDSUFaQkJHb2hCZ3dCQ3dzZ0JrRUFOZ0lBSUFGQkFEWUNBQ0FDSUFScklRcEJQd3dDQ3dVZ0JTRURDeUFCSUFNMkFnQWdBaUVLUVQ4TElRTURRQUpBQWtBQ1FBSkFJQU5CRDBZRVFDQVRJUU1nRkNFRkEwQWdCU3dBQUNJRVFmOEJjVUYvYWtIL0FFa0VmeUFGUVFOeEJIOGdCQVVnQlNnQ0FDSUdRZjhCY1NFRUlBWWdCa0gvL2Z0M2FuSkJnSUdDaEhoeEJIOGdCQVVEUUNBRFFYeHFJUU1nQlVFRWFpSUZLQUlBSWdRZ0JFSC8vZnQzYW5KQmdJR0NoSGh4UlEwQUN5QUVRZjhCY1FzTEJTQUVDMEgvQVhFaUJFRi9ha0gvQUVrRVFDQURRWDlxSVFNZ0JVRUJhaUVGREFFTEN5QUVRYjUrYWlJRVFUSkxCRUFnQlNFRUlBQWhCZ3dEQlNBRVFRSjBRZEEwYWlnQ0FDRUpJQVZCQVdvaEJ5QURJUXRCR2lFRERBWUxBQVVnQTBFYVJnUkFJQWN0QUFCQkEzWWlBMEZ3YWlBRElBbEJHblZxY2tFSFN3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0RCU0FIUVFGcUlRTWdDVUdBZ0lBUWNRUi9JQU1zQUFCQndBRnhRWUFCUndSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3RkN5QUhRUUpxSVFNZ0NVR0FnQ0J4Qkg4Z0F5d0FBRUhBQVhGQmdBRkhCRUFnQUNFRElBa2hCaUFISVFRZ0N5RUZEQVlMSUFkQkEyb0ZJQU1MQlNBREN5RVVJQXRCZjJvaEUwRVBJUU1NQndzQUJTQURRU0ZHQkVBZ0VRUkFBa0FnRWlFRklCRWhBeUFNSVFRRFFBSkFBa0FDUUNBRUxRQUFJZ1pCZjJvaURVSC9BRThOQUNBRVFRTnhSU0FEUVFSTGNRUkFBbjhDUUFOQUlBUW9BZ0FpQmlBR1FmLzkrM2RxY2tHQWdZS0VlSEVOQVNBRklBWkIvd0Z4TmdJQUlBVWdCQzBBQVRZQ0JDQUZJQVF0QUFJMkFnZ2dCRUVFYWlFTklBVkJFR29oQmlBRklBUXRBQU0yQWd3Z0EwRjhhaUlEUVFSTEJFQWdCaUVGSUEwaEJBd0JDd3NnQmlFRklBMGlCQ3dBQUF3QkN5QUdRZjhCY1F0Qi93RnhJZ1pCZjJvaERRd0JDd3dCQ3lBTlFmOEFUdzBCQ3lBRVFRRnFJUVFnQlNBR05nSUFJQU5CZjJvaUEwVU5BaUFGUVFScUlRVU1BUXNMSUFaQnZuNXFJZ1pCTWtzRVFDQUZJUVlNQndzZ0JrRUNkRUhRTkdvb0FnQWhEaUFGSVE4Z0F5RVFJQVJCQVdvaENFRXdJUU1NQ1FzRklBd2hCQXNnQVNBRU5nSUFJQUloQ2tFL0lRTU1Cd1VnQTBFd1JnUkFJQWd0QUFBaUJFRURkaUlEUVhCcUlBTWdEa0VhZFdweVFRZExCRUFnRHlFRElBNGhCaUFJSVFRZ0VDRUZEQVVGQWtBZ0NFRUJhaUVGSUFSQmdIOXFJQTVCQm5SeUlnTkJBRWdFUUFKQUlBVXRBQUJCZ0g5cUlnUkJQMDBFUUNBSVFRSnFJUVVnQkNBRFFRWjBjaUlEUVFCT0JFQWdCU0VNREFJTElBVXRBQUJCZ0g5cUlnVkJQMDBFUUNBSVFRTnFJUXdnQlNBRFFRWjBjaUVEREFJTEMwR2t4UU5CR1RZQ0FDQUlRWDlxSVJVTUFnc0ZJQVVoREFzZ0R5QUROZ0lBSUE5QkJHb2hFaUFRUVg5cUlSRkJJU0VEREFvTEN3VWdBMEUvUmdSQUlBb1BDd3NMQ3dzTUF3c2dCRUYvYWlFRUlBWU5BU0FESVFZZ0JTRURDeUFFTEFBQUJIOGdCZ1VnQmdSQUlBWkJBRFlDQUNBQlFRQTJBZ0FMSUFJZ0Eyc2hDa0UvSVFNTUF3c2hBd3RCcE1VRFFSazJBZ0FnQXdSL0lBUUZRWDhoQ2tFL0lRTU1BZ3NoRlFzZ0FTQVZOZ0lBUVg4aENrRS9JUU1NQUFBTEFBdWtBUUVGZnlNR0lRVWpCa0dBQW1va0JpQUZJUU1nQWtFQ1RnUkFBa0FnQWtFQ2RDQUJhaUlISUFNMkFnQWdBQVJBQTBBZ0F5QUJLQUlBSUFCQmdBSWdBRUdBQWtrYklnUVFUQnBCQUNFREEwQWdBMEVDZENBQmFpSUdLQUlBSUFOQkFXb2lBMEVDZENBQmFpZ0NBQ0FFRUV3YUlBWWdCaWdDQUNBRWFqWUNBQ0FDSUFOSERRQUxJQUFnQkdzaUFFVU5BaUFIS0FJQUlRTU1BQUFMQUFzTEN5QUZKQVlMT1FFQ2Z5QUFCRUFnQUVFQmNVVUVRQU5BSUFGQkFXb2hBU0FBUVFGMklRSWdBRUVDY1VVRVFDQUNJUUFNQVFzTEN3VkJJQ0VCQ3lBQkN5a0JBWDhnQUNnQ0FFRi9haENBQXlJQkJIOGdBUVVnQUNnQ0JCQ0FBeUlBUVNCcVFRQWdBQnNMQzVzRUFRZC9Jd1loQmlNR1FkQUJhaVFHSUFaQndBRnFJZ1JDQVRjREFDQUJJQUpzSWdrRVFBSkFRUUFnQW1zaENDQUdJQUkyQWdRZ0JpQUNOZ0lBUVFJaEJ5QUNJZ1VoQVFOQUlBZEJBblFnQm1vZ0FpQUZhaUFCYWlJS05nSUFJQWRCQVdvaEJ5QUtJQWxKQkVBZ0FTRUZJQW9oQVF3QkN3c2dBQ0FKYWlBSWFpSUJJQUJMQkg4Z0FTRUhRUUVoQVVFQklRVURmeUFGUVFOeFFRTkdCSDhnQUNBQ0lBTWdBU0FHRUtJQ0lBUkJBaER5QVNBQlFRSnFCU0FCUVg5cUlnVkJBblFnQm1vb0FnQWdCeUFBYTBrRVFDQUFJQUlnQXlBQklBWVFvZ0lGSUFBZ0FpQURJQVFnQVVFQUlBWVE4UUVMSUFGQkFVWUVmeUFFUVFFUThBRkJBQVVnQkNBRkVQQUJRUUVMQ3lFQklBUWdCQ2dDQUVFQmNpSUZOZ0lBSUFBZ0Ftb2lBQ0FIU1EwQUlBRUxCVUVCSVFWQkFRc2hCeUFBSUFJZ0F5QUVJQWRCQUNBR0VQRUJJQUFoQVNBSElRQURRQUovQWtBZ0FFRUJSaUFGUVFGR2NRUi9JQVFvQWdSRkRRUU1BUVVnQUVFQ1NBMEJJQVJCQWhEd0FTQUVJQVFvQWdCQkIzTTJBZ0FnQkVFQkVQSUJJQUVnQUVGK2FpSUZRUUowSUFacUtBSUFheUFJYWlBQ0lBTWdCQ0FBUVg5cVFRRWdCaER4QVNBRVFRRVE4QUVnQkNBRUtBSUFRUUZ5SWdjMkFnQWdBU0FJYWlJQklBSWdBeUFFSUFWQkFTQUdFUEVCSUFVaEFDQUhDd3dCQ3lBRUlBUVFnUU1pQlJEeUFTQUJJQWhxSVFFZ0FDQUZhaUVBSUFRb0FnQUxJUVVNQUFBTEFBc0xJQVlrQmdzWEFDQUFFSW9CUVFCSElBQkJJSEpCbjM5cVFRWkpjZ3Q5QWdGL0FYNGpCaUVFSXdaQmtBRnFKQVlnQkVFQU5nSUFJQVFnQURZQ0JDQUVJQUEyQWl3Z0JFRi9JQUJCLy8vLy93ZHFJQUJCQUVnYk5nSUlJQVJCZnpZQ1RDQUVRZ0FRZ2dFZ0JDQUNRUUVnQXhDVEF5RUZJQUVFUUNBQklBQWdCQ2dDQkNBRUtRTjRwMm9nQkNnQ0NHdHFOZ0lBQ3lBRUpBWWdCUXZmQlFFSmZ5TUdJUVVqQmtHUUFtb2tCaUFCTEFBQVJRUkFBa0JCeHY0Q0VBMGlBUVJBSUFFc0FBQU5BUXNnQUVFTWJFR2c2UUJxRUEwaUFRUkFJQUVzQUFBTkFRdEJ6ZjRDRUEwaUFRUkFJQUVzQUFBTkFRdEIwdjRDSVFFTEN5QUZRWUFDYWlFR0EzOENmeUFDSUFFZ0Ftb3NBQUFpQTBFQUlBTkJMMGNiUlEwQUdpQUNRUUZxSWdKQkQwa05BVUVQQ3dzaEF3SkFBa0FDUUNBQkxBQUFJZ0pCTGtZRVFFSFMvZ0loQVFVZ0FTQURhaXdBQUFSQVFkTCtBaUVCQlNBQ1FjTUFSdzBDQ3dzZ0FTd0FBVVVOQVFzZ0FVSFMvZ0lRc3dGRkRRQWdBVUhhL2dJUXN3RkZEUUJCdU1VREtBSUFJZ0lFUUFOQUlBRWdBa0VJYWhDekFVVU5BeUFDS0FJWUlnSU5BQXNMUWJ6RkF4QWFRYmpGQXlnQ0FDSUNCRUFDUUFOQUlBRWdBa0VJYWhDekFRUkFJQUlvQWhnaUFrVU5BZ3dCQ3d0QnZNVURFQTRNQXdzTEFuOENRRUhzeEFNb0FnQU5BRUhnL2dJUURTSUNSUTBBSUFJc0FBQkZEUUJCL2dFZ0Eyc2hDU0FEUVFGcUlRb0RRQUpBSUFKQk9oQ3FBaUlITEFBQUlnUkJBRWRCSDNSQkgzVWdCeUFDYTJvaUNDQUpTUVIvSUFVZ0FpQUlFRXdhSUFVZ0NHb2lBa0V2T2dBQUlBSkJBV29nQVNBREVFd2FJQVVnQ0NBS2FtcEJBRG9BQUNBRklBWVFOU0lFRFFFZ0J5d0FBQVVnQkFzaEFpQUhJQUpCL3dGeFFRQkhhaUlDTEFBQURRRU1BZ3NMUVJ3UVJDSUNCSDhnQWlBRU5nSUFJQUlnQmlnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQ0FDQlNBRUlBWW9BZ0FRL0FRTUFRc01BUXRCSEJCRUlnSUVRQ0FDUWZDSEFTZ0NBRFlDQUNBQ1FmU0hBU2dDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FBc2dBZ3NoQVVHOHhRTVFEaUFCUWZDSEFTQUFJQUZ5R3lFQ0RBRUxJQUJGQkVBZ0FTd0FBVUV1UmdSQVFmQ0hBU0VDREFJTEMwRUFJUUlMSUFVa0JpQUNDeGNBSUFCQkFFY2dBRUhNeEFOSGNTQUFRWXlJQVVkeEN3NEFJQUFRaGdNRVFDQUFFRGdMQ3g4QkFuOGdBQkJnUVFGcUlnRVFSQ0lDQkg4Z0FpQUFJQUVRVEFWQkFBc0xuZ0VBSUFKQkFVWUVRQ0FCSUFBb0FnZ2dBQ2dDQkd1c2ZTRUJDd0pBQWtBZ0FDZ0NGQ0FBS0FJY1RRMEFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FCSUFJZ0FDZ0NLRUVEY1VHbUEyb1JGQUJDQUZNRWYwRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDQUVGdmNUWUNBRUVBQ3hvTEM1RUJBZ0YvQW40Q1FBSkFJQUM5SWdOQ05JZ2lCS2RCL3c5eElnSUVRQ0FDUWY4UFJnUkFEQU1GREFJTEFBc2dBU0FBUkFBQUFBQUFBQUFBWWdSL0lBQkVBQUFBQUFBQThFT2lJQUVRaWdNaEFDQUJLQUlBUVVCcUJVRUFDellDQUF3QkN5QUJJQVNuUWY4UGNVR0NlR28yQWdBZ0EwTC8vLy8vLy8vL2g0Qi9nMEtBZ0lDQWdJQ0E4RCtFdnlFQUN5QUFDeEVBSUFBRWZ5QUFJQUVRbmdFRlFRQUxDNzREQXdGL0FYNEJmQ0FCUVJSTkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkNXc09DZ0FCQWdNRUJRWUhDQWtLQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQUROZ0lBREFrTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU9zTndNQURBZ0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPdE53TUFEQWNMSUFJb0FnQkJCMnBCZUhFaUFTa0RBQ0VFSUFJZ0FVRUlhallDQUNBQUlBUTNBd0FNQmdzZ0FpZ0NBRUVEYWtGOGNTSUJLQUlBSVFNZ0FpQUJRUVJxTmdJQUlBQWdBMEgvL3dOeFFSQjBRUkIxckRjREFBd0ZDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmLy9BM0d0TndNQURBUUxJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFOQi93RnhRUmgwUVJoMXJEY0RBQXdEQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZjhCY2EwM0F3QU1BZ3NnQWlnQ0FFRUhha0Y0Y1NJQkt3TUFJUVVnQWlBQlFRaHFOZ0lBSUFBZ0JUa0RBQXdCQ3lBQUlBSkI2UVVSQXdBTEN3dEFBUUovSUFBb0FnQXNBQUFRaWdFRVFBTkFJQUFvQWdBaUFpd0FBQ0FCUVFwc1FWQnFhaUVCSUFBZ0FrRUJhallDQUNBQ0xBQUJFSW9CRFFBTEN5QUJDd2tBSUFBZ0FSQ2ZBUXNKQUNBQUlBRVFqZ1VMSWdBZ0FMMUMvLy8vLy8vLy8vLy9BSU1nQWIxQ2dJQ0FnSUNBZ0lDQWY0T0V2d3ZnQXdJRGZ3RitBbjRDUUFKQUFrQUNRQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVN0ckRnTUFBUUFCQ3lBQ1FTMUdJUVFnQVVFQVJ5QUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5SURRVkJxSWdKQkNVdHhCSDRnQUNnQ2FBUitJQUFnQUNnQ0JFRi9hallDQkF3RUJVS0FnSUNBZ0lDQWdJQi9Dd1VnQXlFQkRBSUxEQU1MSUFJaUFVRlFhaUVDQ3lBQ1FRbExEUUJCQUNFQ0EwQWdBVUZRYWlBQ1FRcHNhaUVDSUFKQnpKbXo1Z0JJSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBMEVLU1hFTkFBc2dBcXdoQlNBRFFRcEpCRUFEUUNBQnJFSlFmQ0FGUWdwK2ZDRUZJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUFrRUtTU0FGUXE2UGhkZkh3dXVqQVZOeERRQUxJQUpCQ2trRVFBTkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxRVkJxUVFwSkRRQUxDd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FDQUZmU0FGSUFRYkRBRUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUW9DQWdJQ0FnSUNBZ0g4TEM4a0hBUVYvQW53Q1FBSkFBa0FDUUFKQUlBRU9Bd0FCQWdNTFFldCtJUVJCR0NFRkRBTUxRYzUzSVFSQk5TRUZEQUlMUWM1M0lRUkJOU0VGREFFTFJBQUFBQUFBQUFBQURBRUxBMEFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVJDeUFRMEFDd0pBQWtBQ1FDQUJRU3RyRGdNQUFRQUJDMEVCSUFGQkxVWkJBWFJySVFZZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRd0JDMEVCSVFZTEFrQUNRQUpBQTM4Z0EwSCsvUUpxTEFBQUlBRkJJSEpHQkg4Z0EwRUhTUVJBSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFFTElBTkJBV29pQTBFSVNRMEJRUWdGSUFNTEN5SURRZi8vLy84SGNVRURhdzRHQVFBQUFBQUNBQXNnQWtFQVJ5SUhJQU5CQTB0eEJFQWdBMEVJUmcwQ0RBRUxJQU5GQkVBQ1FFRUFJUU1EZnlBRFFieitBbW9zQUFBZ0FVRWdja2NOQVNBRFFRSkpCRUFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVFzZ0EwRUJhaUlEUVFOSkRRQkJBd3NoQXdzTEFrQUNRQUpBSUFNT0JBRUNBZ0FDQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBFb1J3UkFJd0VnQUNnQ2FFVU5CUm9nQUNBQUtBSUVRWDlxTmdJRUl3RU1CUXRCQVNFQkEwQkJBQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVZCcVFRcEpJQUpCdjM5cVFScEpja1VnQWtIZkFFWWdBa0dmZjJwQkdrbHlHMFVFUUNBQlFRRnFJUUVNQVFzTEl3RWdBa0VwUmcwRUdpQUFLQUpvUlNJQ1JRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0IwVUVRRUdreFFOQkhEWUNBQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CUXNqQVNBQlJRMEVHZ05BSUFKRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lNQklBRkJmMm9pQVVVTkJSb01BQUFMQUFzZ0FDQUJRVEJHQkg4Z0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkF0QklISkIrQUJHQkVBZ0FDQUZJQVFnQmlBQ0VKQUZEQVVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFUQUZJQUVMSUFVZ0JDQUdJQUlRandVTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRCcE1VRFFSdzJBZ0FnQUVJQUVJSUJSQUFBQUFBQUFBQUFEQUlMSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUVFCSElBTkJBMHR4QkVBRFFDQUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dBMEYvYWlJRFFRTkxEUUFMQ3dzZ0JySWpBcmFVdXdzTHZnc0NCWDhGZmlBQlFTUkxCRUJCcE1VRFFSdzJBZ0JDQUNFREJRSkFBMEFnQUNnQ0JDSUVJQUFvQW1oSkJIOGdBQ0FFUVFGcU5nSUVJQVF0QUFBRklBQVFWQXNpQkJDeUFRMEFDd0pBQWtBZ0JFRXJhdzREQUFFQUFRc2dCRUV0UmtFZmRFRWZkU0VISUFBb0FnUWlCQ0FBS0FKb1NRUi9JQUFnQkVFQmFqWUNCQ0FFTFFBQUJTQUFFRlFMSVFRTUFBc2dBVVVoQlFKQUFrQUNRQ0FCUVJCeVFSQkdJQVJCTUVaeEJFQUNRQ0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlFUVNCeVFmZ0FSd1JBSUFVRVFDQUVJUUpCQ0NFQkRBUUZJQVFoQWd3Q0N3QUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCd2RRQWFpMEFBRUVQU2dSQUlBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1JRUkFJQUJDQUJDQ0FVSUFJUU1NQndzZ0FRUkFRZ0FoQXd3SEN5QUFJQUFvQWdSQmYybzJBZ1JDQUNFRERBWUZJQUVoQWtFUUlRRU1Bd3NBQ3dWQkNpQUJJQVViSWdFZ0JFSEIxQUJxTFFBQVN3Ui9JQVFGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBQkNBQkNDQVVHa3hRTkJIRFlDQUVJQUlRTU1CUXNoQWdzZ0FVRUtSdzBBSUFKQlVHb2lBa0VLU1FSQVFRQWhBUU5BSUFGQkNtd2dBbW9oQVNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJRVFWQnFJZ0pCQ2trZ0FVR1pzK2JNQVVseERRQUxJQUd0SVFrZ0FrRUtTUVJBSUFRaEFRTkFJQWxDQ240aUNpQUNyQ0lMUW4rRlZnUkFRUW9oQWd3RkN5QUtJQXQ4SVFrZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFVRlFhaUlDUVFwSklBbENtclBtekptejVzd1pWSEVOQUFzZ0FrRUpUUVJBUVFvaEFnd0VDd3NMREFJTElBRWdBVUYvYW5GRkJFQWdBVUVYYkVFRmRrRUhjVUdIL2dKcUxBQUFJUVlnQVNBQ1FjSFVBR29zQUFBaUNFSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdCQ0FHZENBQ2NpSUVRWUNBZ01BQVNTQUJJQUFvQWdRaUFpQUFLQUpvU1FSL0lBQWdBa0VCYWpZQ0JDQUNMUUFBQlNBQUVGUUxJZ1ZCd2RRQWFpd0FBQ0lJUWY4QmNTSUNTM0VOQUFzZ0JLMGhDU0FGSVFRZ0FpRUZCU0FDSVFRTElBZ2hBaUFCSUFWTlFuOGdCcTBpQ29naUN5QUpWSElFUUNBQklRSWdCQ0VCREFJTEEwQWdBU0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlGUWNIVUFHb3NBQUFpQkVIL0FYRk5JQUpCL3dGeHJTQUpJQXFHaENJSklBdFdjZ1JBSUFFaEFpQUZJUUVNQXdVZ0JDRUNEQUVMQUFBTEFBc2dBU0FDUWNIVUFHb3NBQUFpQmtIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0FTQUViQ0FDYWlJRVFjZmo4VGhKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJVSEIxQUJxTEFBQUlnWkIvd0Z4SWdKTGNRMEFDeUFFclNFSklBVWhCQ0FDSVFVRklBSWhCQXNnQmlFQ0lBR3RJUW9nQVNBRlN3Ui9RbjhnQ2hEMkFTRUxBMzhnQ1NBTFZnUkFJQUVoQWlBRUlRRU1Bd3NnQ1NBS2ZpSU1JQUpCL3dGeHJTSU5RbitGVmdSQUlBRWhBaUFFSVFFTUF3c2dEQ0FOZkNFSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCRUhCMUFCcUxBQUFJZ0pCL3dGeFN3MEFJQUVoQWlBRUN3VWdBU0VDSUFRTElRRUxJQUlnQVVIQjFBQnFMUUFBU3dSQUEwQWdBaUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEhCMUFCcUxRQUFTdzBBQzBHa3hRTkJ4QUEyQWdBZ0IwRUFJQU5DQVlOUUd5RUhJQU1oQ1FzTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQWtnQTFvRVFDQUhRUUJISUFOQ0FZTkNBRkp5UlFSQVFhVEZBMEhFQURZQ0FDQURRbjk4SVFNTUFnc2dDU0FEVmdSQVFhVEZBMEhFQURZQ0FBd0NDd3NnQ1NBSHJDSURoU0FEZlNFREN3c2dBd3RTQUNBQUJFQUNRQUpBQWtBQ1FBSkFBa0FnQVVGK2F3NEdBQUVDQXdVRUJRc2dBQ0FDUEFBQURBUUxJQUFnQWowQkFBd0RDeUFBSUFJK0FnQU1BZ3NnQUNBQ1BnSUFEQUVMSUFBZ0FqY0RBQXNMQzBjQkFuOGpCaUVESXdaQmtBRnFKQVlnQTBFQVFaQUJFRVVhSUFOQkl6WUNJQ0FESUFBMkFpd2dBMEYvTmdKTUlBTWdBRFlDVkNBRElBRWdBaENVQlNFRUlBTWtCaUFFQzV3Q0FRZC9JQUVvQWt4QmYwb0VmMEVCQlVFQUN4cEIvd0VoQlNBQUlRUUNRQUpBQTBBQ1FDQUJLQUlJSUFFb0FnUWlBaUlHYXlFRElBSkJDaUFERUtZQ0lnaEZJUWNnQkNBQ0lBTWdDRUVCSUFacmFpQUhHeUlDSUFVZ0FpQUZTUnNpQXhCTUdpQUJJQU1nQVNnQ0JHb2lCallDQkNBRElBUnFJUUlnQnlBRklBTnJJZ1ZCQUVkeFJRUkFJQUloQkF3REN5QUdJQUVvQWdoSkJIOGdBU0FHUVFGcU5nSUVJQVl0QUFBRklBRVE5UUVpQkVFQVNBMEJJQVFMSVFNZ0FrRUJhaUVFSUFJZ0F6b0FBQ0FGUVg5cUlnVkZJQU5CL3dGeFFRcEdja1VOQVF3Q0N3c2dBQ0FDUmdSL1FRQUZJQUVvQWdCQkVIRUVmeUFDSVFRTUFnVkJBQXNMSVFBTUFRc2dBQVJBSUFSQkFEb0FBQVZCQUNFQUN3c2dBQXZ3QVFFRGZ3SkFBa0FnQWlnQ0VDSUREUUFnQWhDWUF3Ui9RUUFGSUFJb0FoQWhBd3dCQ3lFRURBRUxJQU1nQWlnQ0ZDSUVheUFCU1FSQUlBSW9BaVFoQXlBQ0lBQWdBU0FEUVQ5eFFjb0JhaEVFQUNFRURBRUxJQUZGSUFJc0FFdEJBRWh5QkVCQkFDRURCUUpBSUFFaEF3TkFJQUFnQTBGL2FpSUZhaXdBQUVFS1J3UkFJQVVFUUNBRklRTU1BZ1ZCQUNFRERBTUxBQXNMSUFJb0FpUWhCQ0FDSUFBZ0F5QUVRVDl4UWNvQmFoRUVBQ0lFSUFOSkRRSWdBQ0FEYWlFQUlBRWdBMnNoQVNBQ0tBSVVJUVFMQ3lBRUlBQWdBUkJNR2lBQ0lBRWdBaWdDRkdvMkFoUWdBU0FEYWlFRUN5QUVDMkVCQVg4Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BZ0FpQVVFSWNRUi9JQUFnQVVFZ2NqWUNBRUYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0xDSUJOZ0ljSUFBZ0FUWUNGQ0FBSUFFZ0FDZ0NNR28yQWhCQkFBc0xqQUVCQTM4akJpRUJJd1pCRUdva0JpQUJRUW82QUFBQ1FBSkFJQUFvQWhBaUFnMEFJQUFRbUFORkJFQWdBQ2dDRUNFQ0RBRUxEQUVMSUFBb0FoUWlBeUFDU1FSQUlBQXNBRXRCQ2tjRVFDQUFJQU5CQVdvMkFoUWdBMEVLT2dBQURBSUxDeUFBSUFGQkFTQUFLQUlrUVQ5eFFjb0JhaEVFQUVFQlJnUi9JQUV0QUFBRlFYOExHZ3NnQVNRR0N4d0FJQUJCZ0dCTEJIOUJwTVVEUVFBZ0FHczJBZ0JCZndVZ0FBc0xFUUJCQkVFQlFlaUpBU2dDQUNnQ0FCc0w3QUVDQ1g4QmZTQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFRd0FBQUFBNEFnQWdBaWdDQUNBRVFRSjBhaUVGSUFFb0FnQWdDMEVDZEdvaEJrRUFJUWREQUFBQUFDRU1BMEFnQnlBSVNBUkFJQUFnRENBR0tnSUFJQVVxQWdDVWtpSU1PQUlBSUFsQkFuUWdCV29oQlNBR1FRUnFJUVlnQjBFQmFpRUhEQUVMQ3lBRVFRRnFJUVFnQUVFRWFpRUFEQUVMQ3lBRFFRRnFJUU1NQVFWQkFBc0xCVUYvQ3dWQmZ3c0ZRWDhMQzBnQkFYOGdBQ2dDQkNJQlJRUkFEd3NnQVNnQ0pDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUlRQkVBZ0FFSElBVFlDRkNBQVFRQTJBcmdDQlNBQVFlUUFOZ0lVQ3dzeUFRRi9JQUFvQWdRaUFRUkFJQUVvQWlnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFRUFOZ0lFSUFCQkFEWUNGQXNnQUNBQUtBSUFJZ0ZCTXpZQ0ZDQUFJQUVvQWdCQi93RnhRYXdEYWhFQkFBc3lBUUYvSUFBb0FnZ2dBQ2dDQkJDTEFTSUJCRUFnQVNBQUVQRUVRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVF1Q0JBRUpmeUFBS0FMa0F5SUZJQUFvQWxoQkFVWWlBallDSENBQUtBSUVLQUlJSVFFZ0JTQUFRUUZCL2dWQmdBSWdBaHNnQUNnQ2VDQUJRUTl4UVlvQ2FoRUpBQ0lFTmdJWUlBVW9BaFFoQVNBQUtBSjRRUUJNQkVBUEN5QUNSUVJBQTBBZ0FTQUZRU0JxSUFOQkFuUnFLQUlBSWdJUU9TRUhJQU5CQW5RZ0JHb29BZ0FoQmtFQUlRRWdBa0grQVdvZ0FrRi9haUlJUVFGMElna1FPU0VFUVFBaEFnTkFJQUlnQkVvRVFBTkFJQUlnQ0NBQlFRRnFJZ0ZCQVhSQkFYSkIvd0ZzYWlBSkVEa2lCRW9OQUFzTElBSWdCbW9nQVNBSGJEb0FBQ0FDUVFGcUlnSkJnQUpIRFFBTElBTkJBV29pQXlBQUtBSjRTQVJBSUFjaEFTQUZLQUlZSVFRTUFRc0xEd3RCQUNFQ0EwQWdBU0FGUVNCcUlBSkJBblJxS0FJQUlnTVFPU0VISUFKQkFuUWdCR29pQVNBQktBSUFRZjhCYWpZQ0FDQUZLQUlZSUFKQkFuUnFLQUlBSVFaQkFDRUJJQU5CL2dGcUlBTkJmMm9pQ0VFQmRDSUpFRGtoQkVFQUlRTURRQ0FESUFSS0JFQURRQ0FESUFnZ0FVRUJhaUlCUVFGMFFRRnlRZjhCYkdvZ0NSQTVJZ1JLRFFBTEN5QURJQVpxSUFFZ0IydzZBQUFnQTBFQmFpSURRWUFDUncwQUMwRUJJUUVEUUNBR0lBRnJJQVlzQUFBNkFBQWdCaUFCUWY4QmFtb2dCaXdBL3dFNkFBQWdBVUVCYWlJQlFZQUNSdzBBQ3lBQ1FRRnFJZ0lnQUNnQ2VFZ0VRQ0FISVFFZ0JTZ0NHQ0VFREFFTEN3dmpId0VkZnlNR0lSY2pCa0dBQzJva0JpQVhRWUFEYWlFRUlCZEJnQUZxSVJrZ0FDZ0M1QU1vQWhnaEdpQUJRUUoyUVFWMElnVkJCSElpRkNBRlFSeHlJZ3hxUVFGMUlRNGdBa0VEZGtFRmRDSUZRUUp5SWhVZ0JVRWVjaUlQYWtFQmRTRVFJQU5CQW5aQkJYUWlCVUVFY2lJV0lBVkJISElpRVdwQkFYVWhFaUFBS0FLRUFTSUxRUUJLQkg4Z0FDZ0NpQUVpQlNnQ0FDRUtJQVVvQWdRaENTQUZLQUlJSVJoQi8vLy8vd2NoQndOQUlCUWdDQ0FLYWkwQUFDSUZTZ1IvSUFVZ0RHdEJBWFFpQmlBR2JDRU5JQVVnRkd0QkFYUWlCU0FGYkFVQ2Z5QU1JQVZJQkVBZ0JTQVVhMEVCZENJR0lBWnNJUTBnQlNBTWEwRUJkQ0lGSUFWc0RBRUxJQTRnQlVnRVFDQUZJQlJyUVFGMElnVWdCV3doRFFVZ0JTQU1hMEVCZENJRklBVnNJUTBMUVFBTEN5RUZJQlVnQ0NBSmFpMEFBQ0lHU2dSL0lBVWdCaUFWYTBFRGJDSUZJQVZzYWlFRklBWWdEMnRCQTJ3aUJpQUdiQVVDZnlBUElBWklCRUFnQlNBR0lBOXJRUU5zSWdVZ0JXeHFJUVVnQmlBVmEwRURiQ0lHSUFac0RBRUxJQkFnQmtnRWZ5QUdJQlZyUVFOc0lnWWdCbXdGSUFZZ0QydEJBMndpQmlBR2JBc0xDeUVUSUJZZ0NDQVlhaTBBQUNJR1NnUi9JQVVnQmlBV2F5SUZJQVZzYWlFRklBWWdFV3NpQmlBR2JBVUNmeUFSSUFaSUJFQWdCU0FHSUJGcklnVWdCV3hxSVFVZ0JpQVdheUlHSUFac0RBRUxJQklnQmtnRWZ5QUdJQlpySWdZZ0Jtd0ZJQVlnRVdzaUJpQUdiQXNMQ3lFR0lBaEJBblFnQkdvZ0JUWUNBQ0FOSUJOcUlBWnFJZ1VnQnlBRklBZElHeUVISUFzZ0NFRUJhaUlJUncwQUMwRUFJUVZCQUNFSUEzOGdDRUVDZENBRWFpZ0NBQ0FIVEFSQUlBVWdHV29nQ0RvQUFDQUZRUUZxSVFVTElBc2dDRUVCYWlJSVJ3MEFJQVVMQlVFQUN5RVRJQmNoQ0NBRVFmLy8vLzhITmdJQUlBUkIvLy8vL3djMkFnUWdCRUgvLy8vL0J6WUNDQ0FFUWYvLy8vOEhOZ0lNSUFSQi8vLy8vd2MyQWhBZ0JFSC8vLy8vQnpZQ0ZDQUVRZi8vLy84SE5nSVlJQVJCLy8vLy93YzJBaHdnQkVILy8vLy9CellDSUNBRVFmLy8vLzhITmdJa0lBUkIvLy8vL3djMkFpZ2dCRUgvLy8vL0J6WUNMQ0FFUWYvLy8vOEhOZ0l3SUFSQi8vLy8vd2MyQWpRZ0JFSC8vLy8vQnpZQ09DQUVRZi8vLy84SE5nSThJQVJCUUd0Qi8vLy8vd2MyQWdBZ0JFSC8vLy8vQnpZQ1JDQUVRZi8vLy84SE5nSklJQVJCLy8vLy93YzJBa3dnQkVILy8vLy9CellDVUNBRVFmLy8vLzhITmdKVUlBUkIvLy8vL3djMkFsZ2dCRUgvLy8vL0J6WUNYQ0FFUWYvLy8vOEhOZ0pnSUFSQi8vLy8vd2MyQW1RZ0JFSC8vLy8vQnpZQ2FDQUVRZi8vLy84SE5nSnNJQVJCLy8vLy93YzJBbkFnQkVILy8vLy9CellDZENBRVFmLy8vLzhITmdKNElBUkIvLy8vL3djMkFud2dCRUgvLy8vL0J6WUNnQUVnQkVILy8vLy9CellDaEFFZ0JFSC8vLy8vQnpZQ2lBRWdCRUgvLy8vL0J6WUNqQUVnQkVILy8vLy9CellDa0FFZ0JFSC8vLy8vQnpZQ2xBRWdCRUgvLy8vL0J6WUNtQUVnQkVILy8vLy9CellDbkFFZ0JFSC8vLy8vQnpZQ29BRWdCRUgvLy8vL0J6WUNwQUVnQkVILy8vLy9CellDcUFFZ0JFSC8vLy8vQnpZQ3JBRWdCRUgvLy8vL0J6WUNzQUVnQkVILy8vLy9CellDdEFFZ0JFSC8vLy8vQnpZQ3VBRWdCRUgvLy8vL0J6WUN2QUVnQkVILy8vLy9CellDd0FFZ0JFSC8vLy8vQnpZQ3hBRWdCRUgvLy8vL0J6WUN5QUVnQkVILy8vLy9CellDekFFZ0JFSC8vLy8vQnpZQzBBRWdCRUgvLy8vL0J6WUMxQUVnQkVILy8vLy9CellDMkFFZ0JFSC8vLy8vQnpZQzNBRWdCRUgvLy8vL0J6WUM0QUVnQkVILy8vLy9CellDNUFFZ0JFSC8vLy8vQnpZQzZBRWdCRUgvLy8vL0J6WUM3QUVnQkVILy8vLy9CellDOEFFZ0JFSC8vLy8vQnpZQzlBRWdCRUgvLy8vL0J6WUMrQUVnQkVILy8vLy9CellDL0FFZ0JFSC8vLy8vQnpZQ2dBSWdCRUgvLy8vL0J6WUNoQUlnQkVILy8vLy9CellDaUFJZ0JFSC8vLy8vQnpZQ2pBSWdCRUgvLy8vL0J6WUNrQUlnQkVILy8vLy9CellDbEFJZ0JFSC8vLy8vQnpZQ21BSWdCRUgvLy8vL0J6WUNuQUlnQkVILy8vLy9CellDb0FJZ0JFSC8vLy8vQnpZQ3BBSWdCRUgvLy8vL0J6WUNxQUlnQkVILy8vLy9CellDckFJZ0JFSC8vLy8vQnpZQ3NBSWdCRUgvLy8vL0J6WUN0QUlnQkVILy8vLy9CellDdUFJZ0JFSC8vLy8vQnpZQ3ZBSWdCRUgvLy8vL0J6WUN3QUlnQkVILy8vLy9CellDeEFJZ0JFSC8vLy8vQnpZQ3lBSWdCRUgvLy8vL0J6WUN6QUlnQkVILy8vLy9CellDMEFJZ0JFSC8vLy8vQnpZQzFBSWdCRUgvLy8vL0J6WUMyQUlnQkVILy8vLy9CellDM0FJZ0JFSC8vLy8vQnpZQzRBSWdCRUgvLy8vL0J6WUM1QUlnQkVILy8vLy9CellDNkFJZ0JFSC8vLy8vQnpZQzdBSWdCRUgvLy8vL0J6WUM4QUlnQkVILy8vLy9CellDOUFJZ0JFSC8vLy8vQnpZQytBSWdCRUgvLy8vL0J6WUMvQUlnQkVILy8vLy9CellDZ0FNZ0JFSC8vLy8vQnpZQ2hBTWdCRUgvLy8vL0J6WUNpQU1nQkVILy8vLy9CellDakFNZ0JFSC8vLy8vQnpZQ2tBTWdCRUgvLy8vL0J6WUNsQU1nQkVILy8vLy9CellDbUFNZ0JFSC8vLy8vQnpZQ25BTWdCRUgvLy8vL0J6WUNvQU1nQkVILy8vLy9CellDcEFNZ0JFSC8vLy8vQnpZQ3FBTWdCRUgvLy8vL0J6WUNyQU1nQkVILy8vLy9CellDc0FNZ0JFSC8vLy8vQnpZQ3RBTWdCRUgvLy8vL0J6WUN1QU1nQkVILy8vLy9CellDdkFNZ0JFSC8vLy8vQnpZQ3dBTWdCRUgvLy8vL0J6WUN4QU1nQkVILy8vLy9CellDeUFNZ0JFSC8vLy8vQnpZQ3pBTWdCRUgvLy8vL0J6WUMwQU1nQkVILy8vLy9CellDMUFNZ0JFSC8vLy8vQnpZQzJBTWdCRUgvLy8vL0J6WUMzQU1nQkVILy8vLy9CellDNEFNZ0JFSC8vLy8vQnpZQzVBTWdCRUgvLy8vL0J6WUM2QU1nQkVILy8vLy9CellDN0FNZ0JFSC8vLy8vQnpZQzhBTWdCRUgvLy8vL0J6WUM5QU1nQkVILy8vLy9CellDK0FNZ0JFSC8vLy8vQnpZQy9BTWdFMEVBU2dSQVFRQWhEd05BSUJRZ0R5QVphaXdBQUNJTFFmOEJjU0lISUFBb0FvZ0JJZ1lvQWdCcUxRQUFheUlOUVFGMElRd2dGU0FISUFZb0FnUnFMUUFBYXlJRlFRTnNJUW9nQlVISUFHd2lCVUdRQVdvaEdDQVdJQWNnQmlnQ0NHb3RBQUJySWdkQkJIUWlCa0ZBYXlFT0lBWkJ3QUZxSVJBZ0JrSEFBbW9oRWlBRlFiQURhaUViSUFWQjBBVnFJUndnQlVId0Iyb2hIU0FGUVpBS2FpRWVJQVZCc0F4cUlSOGdCVUhRRG1vaElFRURJUkVnRFVFR2RFR0FBbW9oRFNBTUlBeHNJQW9nQ214cUlBY2dCMnhxSVF3Z0NDRUhJQVFoQlFOQUlBd2dCU2dDQUVnRVFDQUZJQXcyQWdBZ0J5QUxPZ0FBQ3lBTUlBNXFJZ29nQlNJR0tBSUVTQVJBSUFZZ0NqWUNCQ0FISUFzNkFBRUxJQW9nRUdvaUNpQUdLQUlJU0FSQUlBWWdDallDQ0NBSElBczZBQUlMSUFvZ0Vtb2lDaUFHS0FJTVNBUkFJQVlnQ2pZQ0RDQUhJQXM2QUFNTElBd2dHR29pQ2lBRktBSVFTQVJBSUFVZ0NqWUNFQ0FISUFzNkFBUUxJQW9nRG1vaUNTQUdLQUlVU0FSQUlBVWdDVFlDRkNBSElBczZBQVVMSUFrZ0VHb2lDU0FGS0FJWVNBUkFJQVVnQ1RZQ0dDQUhJQXM2QUFZTElBa2dFbW9pQ1NBRktBSWNTQVJBSUFVZ0NUWUNIQ0FISUFzNkFBY0xJQW9nRzJvaUNpQUdLQUlnU0FSQUlBWWdDallDSUNBSElBczZBQWdMSUFvZ0Rtb2lDU0FGS0FJa1NBUkFJQVlnQ1RZQ0pDQUhJQXM2QUFrTElBa2dFR29pQ1NBR0tBSW9TQVJBSUFZZ0NUWUNLQ0FISUFzNkFBb0xJQWtnRW1vaUNTQUdLQUlzU0FSQUlBWWdDVFlDTENBSElBczZBQXNMSUFvZ0hHb2lDaUFGS0FJd1NBUkFJQVVnQ2pZQ01DQUhJQXM2QUF3TElBb2dEbW9pQlNBR0tBSTBTQVJBSUFZZ0JUWUNOQ0FISUFzNkFBMExJQVVnRUdvaUJTQUdLQUk0U0FSQUlBWWdCVFlDT0NBSElBczZBQTRMSUFVZ0Vtb2lDU0FHSWdVb0FqeElCRUFnQlNBSk5nSThJQWNnQ3pvQUR3c2dDaUFkYWlJS0lBVkJRR3NpQmlnQ0FFZ0VRQ0FHSUFvMkFnQWdCeUFMT2dBUUN5QUtJQTVxSWdrZ0JTSUdLQUpFU0FSQUlBWWdDVFlDUkNBSElBczZBQkVMSUFrZ0VHb2lDU0FHS0FKSVNBUkFJQVlnQ1RZQ1NDQUhJQXM2QUJJTElBa2dFbW9pQ1NBR0tBSk1TQVJBSUFZZ0NUWUNUQ0FISUFzNkFCTUxJQW9nSG1vaUNpQUZLQUpRU0FSQUlBVWdDallDVUNBSElBczZBQlFMSUFvZ0Rtb2lDU0FHS0FKVVNBUkFJQVVnQ1RZQ1ZDQUhJQXM2QUJVTElBa2dFR29pQ1NBRktBSllTQVJBSUFVZ0NUWUNXQ0FISUFzNkFCWUxJQWtnRW1vaUNTQUZLQUpjU0FSQUlBVWdDVFlDWENBSElBczZBQmNMSUFvZ0gyb2lDaUFHS0FKZ1NBUkFJQVlnQ2pZQ1lDQUhJQXM2QUJnTElBb2dEbW9pQ1NBRktBSmtTQVJBSUFZZ0NUWUNaQ0FISUFzNkFCa0xJQWtnRUdvaUNTQUdLQUpvU0FSQUlBWWdDVFlDYUNBSElBczZBQm9MSUFrZ0Vtb2lDU0FHS0FKc1NBUkFJQVlnQ1RZQ2JDQUhJQXM2QUJzTElBb2dJR29pQ2lBRktBSndTQVJBSUFVZ0NqWUNjQ0FISUFzNkFCd0xJQW9nRG1vaUJTQUdLQUowU0FSQUlBWWdCVFlDZENBSElBczZBQjBMSUFVZ0VHb2lCU0FHS0FKNFNBUkFJQVlnQlRZQ2VDQUhJQXM2QUI0TElBVWdFbW9pQlNBR0tBSjhTQVJBSUFZZ0JUWUNmQ0FISUFzNkFCOExJQVpCZ0FGcUlRVWdCMEVnYWlFSElBd2dEV29oRENBTlFZQUVhaUVOSUJGQmYyb2hCaUFSQkVBZ0JpRVJEQUVMQ3lBUFFRRnFJZzhnRTBjTkFBc0xJQUZCZkhFaEJ5QURRWHh4SVFFZ0FrRjRjU0lEUVFGeUlRWWdBMEVDY2lFTUlBTkJBM0loRHlBRFFRUnlJUkVnQTBFRmNpRU5JQU5CQm5JaEJDQUNRUWR5SVJOQkFDRUFBMEFnQUNBSGFrRUNkQ0FhYWlJTEtBSUFJZ0lnQTBFR2RHb2dBVUVCZEdvaUJTQUlMUUFBUVFGcU93RUFJQVVnQ0MwQUFVRUJhanNCQWlBRklBZ3RBQUpCQVdvN0FRUWdCU0FJTFFBRFFRRnFPd0VHSUFaQkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBRVFRRnFPd0VBSUFVZ0NDMEFCVUVCYWpzQkFpQUZJQWd0QUFaQkFXbzdBUVFnQlNBSUxRQUhRUUZxT3dFR0lBeEJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUlRUUZxT3dFQUlBVWdDQzBBQ1VFQmFqc0JBaUFGSUFndEFBcEJBV283QVFRZ0JTQUlMUUFMUVFGcU93RUdJQTlCQm5RZ0Ftb2dBVUVCZEdvaUFpQUlMUUFNUVFGcU93RUFJQUlnQ0MwQURVRUJhanNCQWlBQ0lBZ3RBQTVCQVdvN0FRUWdBaUFJTFFBUFFRRnFPd0VHSUFzb0FnQWlBaUFSUVFaMGFpQUJRUUYwYWlJRklBZ3RBQkJCQVdvN0FRQWdCU0FJTFFBUlFRRnFPd0VDSUFVZ0NDMEFFa0VCYWpzQkJDQUZJQWd0QUJOQkFXbzdBUVlnRFVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJSQkFXbzdBUUFnQlNBSUxRQVZRUUZxT3dFQ0lBVWdDQzBBRmtFQmFqc0JCQ0FGSUFndEFCZEJBV283QVFZZ0JFRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCaEJBV283QVFBZ0JTQUlMUUFaUVFGcU93RUNJQVVnQ0MwQUdrRUJhanNCQkNBRklBZ3RBQnRCQVdvN0FRWWdFMEVHZENBQ2FpQUJRUUYwYWlJQ0lBZ3RBQnhCQVdvN0FRQWdBaUFJTFFBZFFRRnFPd0VDSUFJZ0NDMEFIa0VCYWpzQkJDQUNJQWd0QUI5QkFXbzdBUVlnQ0VFZ2FpRUlJQUJCQVdvaUFFRUVSdzBBQ3lBWEpBWUxOQUVCZnlBQUtBSUVJQUVvQWdnUXBRTWlBZ1JBSUFJZ0FDQUJFSndEUVFCSUJFQWdBaEJKUVFBaEFnc0ZRUUFoQWdzZ0FndlNBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDZ0M1QU1nQUVFQlFmd1BJQUZCUDNGQnlnRnFFUVFBSWdCQi9BZHFJZ0kyQWlnZ0FrRUFOZ0lBSUFCQmdBaHFRUUUyQWdBZ0FFRi9OZ0w0QnlBQVFZUUlha0VDTmdJQUlBQkJmallDOUFjZ0FFR0lDR3BCQXpZQ0FDQUFRWDAyQXZBSElBQkJqQWhxUVFRMkFnQWdBRUY4TmdMc0J5QUFRWkFJYWtFRk5nSUFJQUJCZXpZQzZBY2dBRUdVQ0dwQkJqWUNBQ0FBUVhvMkF1UUhJQUJCbUFocVFRYzJBZ0FnQUVGNU5nTGdCeUFBUVp3SWFrRUlOZ0lBSUFCQmVEWUMzQWNnQUVHZ0NHcEJDVFlDQUNBQVFYYzJBdGdISUFCQnBBaHFRUW8yQWdBZ0FFRjJOZ0xVQnlBQVFhZ0lha0VMTmdJQUlBQkJkVFlDMEFjZ0FFR3NDR3BCRERZQ0FDQUFRWFEyQXN3SElBQkJzQWhxUVEwMkFnQWdBRUZ6TmdMSUJ5QUFRYlFJYWtFT05nSUFJQUJCY2pZQ3hBY2dBRUc0Q0dwQkR6WUNBQ0FBUVhFMkFzQUhRUkFoQUVFUUlRRURRQ0FBUVFKMElBSnFJQUUyQWdCQkFDQUFhMEVDZENBQ2FrRUFJQUZyTmdJQUlBRWdBRUVCYWlJQVFRRnhRUUZ6YWlFQklBQkJNRWNOQUF0QkFDQUJheUVEUVRBaEFBTkFJQUJCQW5RZ0Ftb2dBVFlDQUVFQUlBQnJRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRWUFDUncwQUN3dEJBUUovUVF3UVJDSUNCRUFnQWlBQklBQkJBblJzRUVRaUF6WUNBQ0FEQkVBZ0FpQUFOZ0lFSUFJZ0FUWUNDQVVnQWhBNFFRQWhBZ3NGUVFBaEFnc2dBZ3ZjQVFFQ2Z3SkFJQUFvQXJRQ0RRQUNRQ0FBS0FJb1FRTnJEZ1VBQVFFQkFBRUxJQUFvQWlSQkEwY05BQ0FBS0FJc1FRSkhEUUFnQUNnQ2VFRURSdzBBSUFBb0FyQUNEUUFnQUNnQzJBRWlBU2dDQ0VFQ1J3MEFJQUVvQW1CQkFVY05BQ0FCS0FLNEFVRUJSdzBBSUFFb0FneEJBa29OQUNBQktBSmtRUUZIRFFBZ0FTZ0N2QUZCQVVjTkFDQUJLQUlrSWdJZ0FDZ0N4QUpIRFFBZ0FTZ0NmQ0FDUncwQUlBRW9BdFFCSUFKSERRQWdBU2dDS0NJQ0lBQW9Bc2dDUncwQUlBSWdBU2dDZ0FGR0JIOGdBaUFCS0FMWUFVWUZRUUFMRHd0QkFBdmpCZ0VHZndKQUlBQW9BdFFDSWdGQkFVWUVRQ0FBSUFBb0F0Z0NJZ0VvQWh3MkF1Z0NJQUFnQVNnQ0lDSUROZ0xzQWlBQlFRRTJBamdnQVVFQk5nSThJQUZCUUd0QkFUWUNBQ0FCSUFFb0FpUTJBa1FnQVVFQk5nSklJQU1nQVNnQ0RDSUNFRTRoQXlBQklBTWdBaUFER3pZQ1RDQUFRUUUyQXZBQ0lBQkJBRFlDOUFKQkFTRUJCU0FCUVg5cVFRTkxCRUFnQUNnQ0FDSURRUnMyQWhRZ0F5QUJOZ0lZSUFBb0FnQkJCRFlDSENBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBZ0FDZ0NIQ0FBS0FLOEFpQUFLQUtzQTJ3UWFEWUM2QUlnQUNBQUtBSWdJQUFvQXNBQ0lBQW9BcXdEYkJCb05nTHNBaUFBUVFBMkF2QUNJQUFvQXRRQ1FRQk1EUUZCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NDQ0VFSUFJZ0JEWUNPQ0FDSUFJb0Fnd2lCVFlDUENBQ1FVQnJJQVFnQld3aUFUWUNBQ0FDSUFRZ0FpZ0NKR3cyQWtRZ0FpQUVJQUlvQWh3Z0JCQk9JZ1FnQkVVYk5nSklJQUlnQWlnQ0lDQUZFRTRpQWlBRklBSWJOZ0pNSUFFZ0JtcEJDa29FUUNBQUtBSUFJZ0pCRGpZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFGQkFFb0VRQU5BSUFGQmYyb2hBaUFBSUFBb0F2QUNJZ1JCQVdvMkF2QUNJQUJCOUFKcUlBUkJBblJxSUFNMkFnQWdBVUVCU2dSQUlBSWhBUXdCQ3dzTElBTkJBV29pQXlBQUtBTFVBaUlCU0FSQUlBQW9BdkFDSVFZTUFRc0xJQUZCQUV3TkFRdEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ1VFVUVRQ0FBUWFRQmFpQUNLQUlRSWdGQkFuUnFJUVFDUUFKQUlBRkJBMHNOQUNBRUtBSUFSUTBBREFFTElBQW9BZ0FpQlVFMk5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFRUUZCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBU0FFS0FJQVFZUUJFRXdhSUFJZ0FUWUNVQ0FBS0FMVUFpRUJDeUFEUVFGcUlnTWdBVWdOQUFzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBRHdzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBQzhvQkFRSi9Jd1loQkNNR1FUQnFKQVlnQkVFWWFpSUZRUWcyQWdRZ0JVRUJOZ0lJSUFVZ0FEWUNBQ0FFUVF4cUlnQWdBellDQkNBQVFRRTJBZ2dnQUNBQk5nSUFJQVFnQXpZQ0JDQUVRUWcyQWdnZ0JDQUNOZ0lBSUFRUXV3VWlBZ1JBSUFJZ0JCQ2pBeUlCQkVBZ0FpQUFFS01ESWdNRVFDQUJLQUlBSUFFb0FnUWlBQ0FBRVBZRVJVRWZkRUVmZFVFQVNBUi9RWDhGSUFVZ0FTQURFSndER2tFQUN5RUFJQU1RU1FWQmZ5RUFDeUFCRUVrRlFYOGhBQXNnQWhCSkJVRi9JUUFMSUFRa0JpQUFDMWtCQVg4Z0FDZ0MyQUVpQVFSQUlBRVF2d2NnQUNnQzJBRVFod2tnQUVFQU5nTFlBUXNnQUVIa0FXb2lBU2dDQUFSQUlBRVFwd2tnQVVFQU5nSUFDeUFBUWNBQmFpSUFLQUlBQkVBZ0FCQ3pDeUFBUVFBMkFnQUxDM01CQTM4akJpRUNJd1pCRUdva0JpQUNRUWhxSVFNZ0FSRFBDU0lFQkVBZ0FDQUVFT0VHSVFBZ0JCQTRCU0FDSUFFMkFnQkJBRUVEUVpHcUFTQUNFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFYOGhBQXNnQWlRR0lBQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFiREVBeWdDQUNFQ1FiREVBeUFCTmdJQUlBSUVRRUcweEFNb0FnQWFJQUlRT0F0QnRNUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRYkRFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCdU1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR3d4QU1vQWdBZ0JVRUNkR3BCdU1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUWJERUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR3d4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCc01RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRYkRFQXlnQ0FDRUFRYkRFQTBFQU5nSUFJQUFFUUVHMHhBTW9BZ0FhSUFBUU9BdEJ0TVFEUVFBMkFnQUxDNm9FQWdsL0FuMGpCaUVGSXdaQklHb2tCaUFGUVFScUlRUWdCU0FBTmdJQUlBQW9BZ0FoQXdKQUFrQkJ0TVFES0FJQUlnRkZJZ2tFUUVFQUlRQU1BUVVnQVNBQlFYOXFJZ2h4UlNJSEJIOGdBeUFJY1FVZ0F5QUJTUVIvSUFNRklBTWdBUkJPQ3dzaUFFRUNkRUd3eEFNb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBSEJIOGdCaUFJY1FVZ0JpQUJUd1IvSUFZZ0FSQk9CU0FHQ3dzZ0FFY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFRZ0F5QUZFTjhHUWNERUF5b0NBQ0lLSUFHemxFRzh4QU1vQWdCQkFXcXpJZ3RkSUFseUJFQUNmeUFMSUFxVmpSQ1NBU0lDSUFGQmYyb2dBWEZCQUVjZ0FVRURTWElnQVVFQmRISWlBQ0FBSUFKSkd4RGVCa0cweEFNb0FnQWlBa0YvYWlJQUlBTnhJQUFnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUFGSUFFaEFndEJzTVFES0FJQUlBQkJBblJxS0FJQUlnRUVmeUFFS0FJQUlBRW9BZ0EyQWdBZ0FTQUVLQUlBTmdJQUlBUUZJQVFvQWdCQnVNUURLQUlBTmdJQVFiakVBeUFFS0FJQU5nSUFRYkRFQXlnQ0FDQUFRUUowYWtHNHhBTTJBZ0FnQkNnQ0FDSUhLQUlBSWdBRVFDQUFLQUlFSVFBZ0FpQUNRWDlxSWdGeEJIOGdBQ0FDVHdSL0lBQWdBaEJPQlNBQUN3VWdBQ0FCY1FzaEFFR3d4QU1vQWdBZ0FFRUNkR29nQnpZQ0FBc2dCQXNpQUNnQ0FDRUNRYnpFQTBHOHhBTW9BZ0JCQVdvMkFnQWdBRUVBTmdJQUN5QUZKQVlnQWtFUWFnc2tBUUYvSUFFb0FnQWhBaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBVUVFYWlBQ0VINExFUUFnQVNBQVFmOEJjVUdzQTJvUkFRQUxFZ0FnQVNBQ0lBQkJBM0ZCckFWcUVSb0FDeElBSUFFZ0FpQUFRVDl4UWJJRmFoRURBQXNTQUNBQklBSWdBRUVCY1VHd0JXb1JKZ0FMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRWnpFQXlnQ0FDRUNRWnpFQXlBQk5nSUFJQUlFUUVHZ3hBTW9BZ0FhSUFJUU9BdEJvTVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUVp6RUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnBNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUdjeEFNb0FnQWdCVUVDZEdwQnBNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFaekVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0djeEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQm5NUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUVp6RUF5Z0NBQ0VBUVp6RUEwRUFOZ0lBSUFBRVFFR2d4QU1vQWdBYUlBQVFPQXRCb01RRFFRQTJBZ0FMQ3hNQUlBQkJ5QUpxRUZVZ0FFR2dBbW9RNVFZTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWlNIQVVIUnR3SkJBU0FCRUFrZ0F3c2tCZ3ZnSFFJYWZ3RitJd1loQkNNR1FkQVNhaVFHSUFSQmtCSnFJUkVnQkVId0Jtb2hDQ0FFUWFBR2FpRVBJQVJCMEFWcUlSQWdCRUdBQldvaEVpQUVRYkFFYWlFVElBUkJNR29oRnlBRUlSWUNmd0ovQW44Q1FBSkFBa0FDUUFKQUFrQUNRQ0FBUVlRR2F3NkxFQUVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVQ0F3VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVFGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRQUZDeUFDSVJGQm9CRWhDVUdnRFNFTFFmZ0FJUTFCL3dBaERFRUpJUlJCd0FBTUJ3dEI0QXdoQ1VHZ0N5RUxRUTBoRFVFSklRQkJBU0VDUVE4TUJRdEI0QXdoQ1VHZ0N5RUxRUTBoRFVFRklRQkJBaUVDUVE4TUJBdEJEQ0VBUVFJaEFnd0NDMEVISVFCQkF5RUNEQUVMUVg4TUF3dEI0QXNoQ1VHZ0NpRUxRUlloRFVFZkN5RU1RUUFoQkFOL0lBUWdEVVlFZnlBQ0lSUWdBQVVnQkNBUmFpQUJwMEVCY1RvQUFDQUVRUUZxSVFRZ0FVSUJpQ0VCREFFTEN3c2hHQ0FVUVFGMElSVkJBU0VDQTBBZ0FpQVZUQVJBSUFKQkFuUWdFMm9pQmtFQU5nSUFRUUFoQkVFQUlRQURRQ0FFSUExSUJFQWdCQ0FSYWl3QUFBUkFJQVlnQWlBRWJDQU1FRTlCQW5RZ0Myb29BZ0FnQUhNaUFEWUNBQXNnQkVFQmFpRUVEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQTJBZ0JCQVNBRklBQWJJUVVnQWtFQmFpRUNEQUVMQ3lBRlFRQkhJaGtFUUNBUFFRQTJBZ0FnRHlBVEtBSUVJZ1UyQWdRZ0NFRUFOZ0lBSUFoQkFUWUNTRUVCSVFBRFFDQUFJQlZJQkVBZ0FFRUNkQ0FJYWtGL05nSUFJQWhCeUFCcUlBQkJBblJxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFRUVFBMkFnQWdFRUVBTmdJRUlCSkJmellDQUNBU1FRQTJBZ1JCQUNFRVFRQWhBZ05BQWtBZ0JFRUJhaUVLSUFWQmYwWUVRQ0FFUVFKcUlnUkJBblFnRUdvZ0FqWUNBRUVBSVFBRFFDQUFJQUpNQkVBZ0JFSElBR3dnQ0dvZ0FFRUNkR29nQ2tISUFHd2dDR29nQUVFQ2RHb2lCU2dDQUNJR05nSUFJQVVnQmtFQ2RDQUphaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xCU0FFSVFBRFFDQUFRWDlxSVFZZ0FFRUFTaUlISUFCQkFuUWdEMm9vQWdCQmYwWnhCRUFnQmlFQURBRUxDeUFIQkVBZ0FDRUdBMEFnQmtGL2FpSUhRUUowSUE5cUtBSUFRWDlIQkVBZ0J5QUFJQUJCQW5RZ0Vtb29BZ0FnQjBFQ2RDQVNhaWdDQUVnYklRQUxJQVpCQVVvRVFDQUhJUVlNQVFzTEN5QUVRUUpxSWdSQkFuUWdFR29nQWlBS0lBQnJJaG9nQUVFQ2RDQVFhaUlPS0FJQWFpSUdJQUlnQmtvYklnWTJBZ0JCQUNFSEEwQWdCeUFWU0FSQUlBUkJ5QUJzSUFocUlBZEJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDeUFGSUF4cUlRY2dBRUVDZENBUGFpRWJJQTRvQWdBaERrRUFJUVVEUUNBRklBNU1CRUFnQUVISUFHd2dDR29nQlVFQ2RHb29BZ0FpSEVGL1J3UkFJQVJCeUFCc0lBaHFJQVVnR21wQkFuUnFJQWNnSEdvZ0d5Z0NBR3NnREJCUFFRSjBJQXRxS0FJQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFBaEFBTi9JQUFnQWtvRWZ5QUdCU0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQXBCeUFCc0lBaHFJQUJCQW5ScUlnY29BZ0FpRGlBRktBSUFjellDQUNBSElBNUJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQ3lFQ0N5QUVRUUowSUJKcUlBb2dBbXMyQWdBZ0NpQVZUZzBBSUFSQkFuUWdEMm9pQmlBRVFRSjBJQk5xS0FJQUlnQkJmMFlFZjBFQUJTQUFRUUowSUF0cUtBSUFDeUlBTmdJQVFRRWhCUU5BSUFVZ0Frd0VRQ0FFSUFWclFRSjBJQk5xS0FJQUlnZEJmMGNFUUNBRVFjZ0FiQ0FJYWlBRlFRSjBhaWdDQUNJT0JFQWdCaUFISUE1QkFuUWdDV29vQWdCcUlBd1FUMEVDZENBTGFpZ0NBQ0FBY3lJQU5nSUFDd3NnQlVFQmFpRUZEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQWlCVFlDQUNBQ0lCUk1CRUFnQ2lFRURBSUxDd3RCZnlBQ0lCUktEUUVhUVFBaEFBTkFJQUFnQWt3RVFDQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBVW9BZ0JCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEMwRUJJUUFEUUNBQUlBSk1CRUFnQUVFQ2RDQVdhaUFFUWNnQWJDQUlhaUFBUVFKMGFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTFFRQWhBRUVCSVFvRFFDQU1JQXBPQkVCQkFTRUdRUUVoQlFOQUlBWWdBa3dFUUNBR1FRSjBJQlpxSWdjb0FnQWlDVUYvUndSQUlBY2dCaUFKYWlBTUVFOGlCellDQUNBRklBZEJBblFnQzJvb0FnQnpJUVVMSUFaQkFXb2hCZ3dCQ3dzZ0JVVUVRQ0FBUVFKMElCZHFJQXdnQ21zMkFnQWdBRUVCYWlFQUN5QUtRUUZxSVFvTUFRc0xRWDhnQUNBQ1J3MEJHa0VBSVFBRFFDQUFJQUpJQkVBZ0VTQUFRUUowSUJkcUtBSUFhaUlGSUFVc0FBQkJBWE02QUFBZ0FFRUJhaUVBREFFTEN3VkJBQ0VFQ3lBRFFnQTNBd0JDQVNFZUlBMGdHR3NoQUVJQUlRRURRQ0FBSUExSUJFQWdBeUFlSUFBZ0VXb3RBQUN0ZmlBQmZDSUJOd01BSUI1Q0FZWWhIaUFBUVFGcUlRQU1BUXNMSUJrRWZ5QUVRUUowSUJCcUtBSUFCVUVBQ3dzaEhTQVdKQVlnSFF2SkNBSUxmd044SXdZaERpTUdRUkJxSkFZZ0RrRUlhaUVISUFCRklBTkJBVWh5Qkg4Z0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQVFYOEZBbjhDUUFKQUFrQWdBUTRDQUFFQ0N5QURJQU5zSWdGQkRHd1FSQ0lLUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0FVRURiQ0VMUVFBaEIwRUFJUUVEUUNBSElBdEhCRUFnQVNBQ0lBZHFMQUFBUVg5elFmOEJjV29oQVNBSFFRRnFJUWNNQVFzTElBRWdDeEJJSVFsQkFDRUhRUUFoQVFOQUlBRWdDMGNFUUNBQlFRSjBJQXBxSUFFZ0Ftb3NBQUJCZjNOQi93RnhJQWxySWdnMkFnQWdCeUFJSUFoc2FpRUhJQUZCQVdvaEFRd0JDd3NnQjdlZkloTWdBN2RFa1N0UTVucTIreitpbzBRQUFBQUFBQUF1UUdNRVFDQUVRUUEyQWdBZ0JVRUFOZ0lBSUFaRUFBQUFBQUFBOEw4NUF3QWdDaEE0UVg0TUF3c2dBQ2dDQUNFUFFRQWhDVUYvSVFOQmZ5RUJRWDhoQWdOQUlBa2dEMGdFUUNBQUtBSUlJUWNDUUFKQUEwQUNRQ0FEUVFGcUlnTkJBblFnQjJvb0FnQU9Bd0VDQUFJTEN3d0JDeUFEUVFKMElSQkJBQ0VIQTBBZ0IwRUVSd1JBSUFjZ0VHb2hEVUVBSVF4QkFDRUlBMEFnQ0NBTFJ3UkFJQXdnQ0VFQ2RDQUthaWdDQUNBQUtBSU1JQTFCQW5ScUtBSUFJQWhCQW5ScUtBSUFiR29oRENBSVFRRnFJUWdNQVFzTElBY2dBaUFNdHlBQUtBSVFJQTFCQTNScUt3TUFveUFUb3lJVUlCSmtJZ2diSVFJZ0IwRUJhaUVISUJRZ0VpQUlHeUVTSUFNZ0FTQUlHeUVCREFFTEN3c2dDVUVCYWlFSkRBRUxDeUFGSUFJMkFnQWdCQ0FCTmdJQUlBWWdFamtEQUNBS0VEaEJBQXdDQ3lBRElBTnNJZ3BCQW5RUVJDSUxSUVJBUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXRCQUNFSFFRQWhBUU5BSUFFZ0NrY0VRQ0FISUFFZ0Ftb3NBQUJCZjNOQi93RnhhaUVISUFGQkFXb2hBUXdCQ3dzZ0J5QUtFRWdoQ1VFQUlRZEJBQ0VCQTBBZ0FTQUtSd1JBSUFGQkFuUWdDMm9nQVNBQ2Fpd0FBRUYvYzBIL0FYRWdDV3NpQ0RZQ0FDQUhJQWdnQ0d4cUlRY2dBVUVCYWlFQkRBRUxDeUFIdDU4aUV5QUR0Nk5FQUFBQUFBQUFMa0JqQkVBZ0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQUlBc1FPRUYrREFJTElBQW9BZ0FoRDBFQUlRbEJmeUVEUVg4aEFVRi9JUUlEUUNBSklBOUlCRUFnQUNnQ0NDRUhBa0FDUUFOQUFrQWdBMEVCYWlJRFFRSjBJQWRxS0FJQURnTUJBZ0FDQ3dzTUFRc2dBMEVDZENFUVFRQWhCd05BSUFkQkJFY0VRQ0FISUJCcUlRMUJBQ0VNUVFBaENBTkFJQWdnQ2tjRVFDQU1JQWhCQW5RZ0Myb29BZ0FnQUNnQ0ZDQU5RUUowYWlnQ0FDQUlRUUowYWlnQ0FHeHFJUXdnQ0VFQmFpRUlEQUVMQ3lBSElBSWdETGNnQUNnQ0dDQU5RUU4wYWlzREFLTWdFNk1pRkNBU1pDSUlHeUVDSUFkQkFXb2hCeUFVSUJJZ0NCc2hFaUFESUFFZ0NCc2hBUXdCQ3dzTElBbEJBV29oQ1F3QkN3c2dCU0FDTmdJQUlBUWdBVFlDQUNBR0lCSTVBd0FnQ3hBNFFRQU1BUXRCZndzTElSRWdEaVFHSUJFTFZBRUJmeU1HSVFNakJrRXdhaVFHSUFNZ0FqWUNBQ0FEUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFOQkhHb2lBU0FDSUFNUW9RY2dBQ0FCRUtJSElBRVFSeUFDRUVjZ0F5UUdDM3dCQVg4akJpRUdJd1pCRUdva0JpQUFJQUkyQWdBZ0FDQUROZ0lFSUFBZ0JEWUNDQ0FBUVFFMkFoQWdBQ0FFSUFWc05nSVVJQVpCQURZQ0FDQUdRUVJxSUFZc0FBdzZBQUFnQmtFSWFpQUdLQUlBTmdJQUlBQkJHR29nQVJDbEJ5QUFJQVZCQUVnRWZ5QUNFTGtESUFOc0JTQUZDellDRENBR0pBWUxhZ0VDZnlNR0lRRWpCa0VRYWlRR0FrQUNRQUpBQWtBZ0FFRUJhdzRDQUFFQ0N5QUFJUUlNQWd0QkJDRUNEQUVMUVJBUUJTRUFJQUZDQURjQ0FDQUJRUUEyQWdnZ0FVSGtvQUpCNUtBQ0VHQVFmaUFBSUFFUWhnSWdBRUdJOGdCQkJSQUVDeUFCSkFZZ0Fnc2VBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdMUndFQ2Z5TUdJUUVqQmtHUUFtb2tCaUFCUVlBQ2FpSUNFQk1hSUFGQmdBSkJ2SndDSUFJUUloQWdHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBU0FCRUdBUWZpQUJKQVlMT2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUVnQUNnQ0FHd2hBeUFDUVFBNkFBQWdBRUVFYWlBRElBSVFyZ2NnQUVFUWFpQUJFTkVESUFJa0JndE5BUUovSUFBb0Fnd0VRQ0FBS0FJSUVMNERJQUJCQURZQ0NDQUFLQUlFSVFJRFFDQUJJQUpIQkVBZ0FDZ0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0FFRUFOZ0lNQ3dzZEFRSi9BMEFnQUFSQUlBQW9BZ0FoQWlBQUVEZ2dBaUVBREFFTEN3dUhBZ0VIZnlNR0lRY2pCa0VRYWlRR0lBSW9BZ0FpQmlBQUtBSUFJZ2hySVFBZ0FVRUNUZ1JBSUFGQmZtcEJBaEE1SWdrZ0FFRURkVTRFUUNBQVFRSjFRUUZ5SWdOQkEzUWdDR29pQkNFQUlBTkJBV29pQlNBQlNBUkFJQVVnQXlBRUlBUkJDR29pQkJEQkFTSUZHeUVESUFRZ0FDQUZHeUVBQ3lBQUlBWVF3UUZGQkVBZ0J5QUdLUUlBTndNQUEwQUNRQ0FHSUFBaUJpa0NBRGNDQUNBQ0lBQTJBZ0FnQ1NBRFNBMEFJQU5CQVhSQkFYSWlBMEVEZENBSWFpSUVJUUFnQTBFQmFpSUZJQUZJQkVBZ0JTQURJQVFnQkVFSWFpSUVFTUVCSWdVYklRTWdCQ0FBSUFVYklRQUxJQUFnQnhEQkFVVU5BUXNMSUFZZ0J5a0RBRGNDQUFzTEN5QUhKQVlMQ0FBZ0FFSDhBR29MWFFFQmYwSC8vLy8vQVNBQlNRUkFFQUFMSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQTNRUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkEzUWdBbW8yQWdnTEN4QUFJQUJDQURjQ0FDQUFRUUEyQWdnTGJRQWdBQ29DQUNBQktnSUFsQ0FBS2dJRUlBRXFBZ1NVa2lBQUtnSUlJQUVxQWdpVWtpQUFLZ0lNSUFFcUFneVVraUFBS2dJUUlBRXFBaENVa2lBQUtnSVVJQUVxQWhTVWtpQUFLZ0lZSUFFcUFoaVVraUFBS2dJY0lBRXFBaHlVa2lBQUtnSWdJQUVxQWlDVWtndlZBZ0VKZlNBRklBWXFBZ0FnQnlvQ0FKSWdDQ29DQUpJZ0NTb0NBSkpEQUFDQVBwUWlDamdDQUNBRklBWXFBZ1FnQnlvQ0JKSWdDQ29DQkpJZ0NTb0NCSkpEQUFDQVBwUWlDemdDQkNBR0tnSUFJQXFUSWcwZ0RaUWdCaW9DQkNBTGt5SU9JQTZVa3BFZ0J5b0NBQ0FLa3lJUElBK1VJQWNxQWdRZ0M1TWlFQ0FRbEpLUmtpQUlLZ0lBSUFxVEloRWdFWlFnQ0NvQ0JDQUxreUlTSUJLVWtwR1NJQWtxQWdBZ0NwTWlDaUFLbENBSktnSUVJQXVUSWdzZ0M1U1NrWkpEQUFDQVBwUWlERU1BQUFBQVd3Ui9RUUFGSUFSREFBQ0FQeUFNbGJ0RXpUdC9acDZnOWoraXRpSU1PQUlBSUFBZ0RTQU1sRGdDQUNBQUlBNGdCQ29DQUpRNEFnUWdBU0FQSUFRcUFnQ1VPQUlBSUFFZ0VDQUVLZ0lBbERnQ0JDQUNJQkVnQkNvQ0FKUTRBZ0FnQWlBU0lBUXFBZ0NVT0FJRUlBTWdDaUFFS2dJQWxEZ0NBQ0FESUFzZ0JDb0NBSlE0QWdSQkFRc0xEQUFnQUNBQktRSUFOd0lBQ3lvQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUVFUUNBQUlBRVF3UU1nQUNBQkVOb0hDd3RwQVFSOUlBQXFBaEFnQUNvQ0ZDQUFLZ0ljSUFBcUFpQVFnQUVoQkNBQUtnSU1JQUFxQWhRZ0FDb0NHQ0FBS2dJZ0VJQUJJUUlnQUNvQ0RDQUFLZ0lRSUFBcUFoZ2dBQ29DSEJDQUFTRURJQVFnQUNvQ0FKUWdBaUFBS2dJRWxKTWdBeUFBS2dJSWxKSUx0Z0lCQVgwZ0FSREhBeUlEaXlBQ1h3Ui9RUUFGSUFCREFBQ0FQeUFEbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0ljSUFFcUFpQVFnQUdVT0FJQUlBQWdBaUFCS2dJSUlBRXFBZ1FnQVNvQ0lDQUJLZ0ljRUlBQmxEZ0NCQ0FBSUFJZ0FTb0NCQ0FCS2dJSUlBRXFBaEFnQVNvQ0ZCQ0FBWlE0QWdnZ0FDQUNJQUVxQWhRZ0FTb0NEQ0FCS2dJZ0lBRXFBaGdRZ0FHVU9BSU1JQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NHQ0FCS2dJZ0VJQUJsRGdDRUNBQUlBSWdBU29DQ0NBQktnSUFJQUVxQWhRZ0FTb0NEQkNBQVpRNEFoUWdBQ0FDSUFFcUFnd2dBU29DRUNBQktnSVlJQUVxQWh3UWdBR1VPQUlZSUFBZ0FpQUJLZ0lFSUFFcUFnQWdBU29DSENBQktnSVlFSUFCbERnQ0hDQUFJQUlnQVNvQ0FDQUJLZ0lFSUFFcUFnd2dBU29DRUJDQUFaUTRBaUJCQVFzTGl3SUJCWDhqQmlFSUl3WkJFR29rQmlBRkVHa2hCU0FBSUFRb0FnUWdCQ2dDQUd0QkEzVVFnQUlnQ0VFRWFpRUtBMEFnQmlBRUtBSUVJQVFvQWdBaUIydEJBM1ZKQkVBZ0NDQUtJQUVnQXlnQ0FDSUpJQVpCQTNRZ0Iyb29BZ1FpQjBFVWJHb3FBZ0FnQjBFVWJDQUphaW9DQkJDOUFpQUlLZ0lBSUFJb0FnQWdCQ2dDQUNBR1FRTjBhaWdDQUVFVWJHb3FBZ0NURUdrZ0Npb0NBQ0FDS0FJQUlBUW9BZ0FnQmtFRGRHb29BZ0JCRkd4cUtnSUVreEJwa2lBRlh3UkFJQVFvQWdBZ0JrRURkR29oQnlBQUtBSUVJZ2tnQUNnQ0NFWUVRQ0FBSUFjUWxnRUZJQWtnQnlrQ0FEY0NBQ0FBSUFBb0FnUkJDR28yQWdRTEN5QUdRUUZxSVFZTUFRc0xJQWdrQmd2cEFnSUpmd0Y5SXdZaEJ5TUdRVUJySkFZZ0IwRXNhaUlMSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQjBFZ2FpSU1JQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdBeWdDQkNBREtBSUFJZ05yUVFOMUlRMGdBU2dDQUNFT0lBd29BZ0FoQ1NBQ0tBSUFJUUlnQ3lnQ0FDRUtBMEFnQ0NBTlJ3UkFJQWhCQTNRZ0NXb2dDRUVEZENBRGFpZ0NBQ0lCUVJSc0lBNXFLQUlBTmdJQUlBaEJBM1FnQ1dvZ0FVRVViQ0FPYWlnQ0JEWUNCQ0FJUVFOMElBcHFJQWhCQTNRZ0Eyb29BZ1FpQVVFVWJDQUNhaWdDQURZQ0FDQUlRUU4wSUFwcUlBRkJGR3dnQW1vb0FnUTJBZ1FnQ0VFQmFpRUlEQUVMQ3lBSFF3QUFBQUE0QWdBZ0IwTUFBQUFBT0FJRUlBY2dCYklpRURnQ0NDQUhRd0FBQUFBNEFnd2dCeUFRT0FJUUlBY2dCcklpRURnQ0ZDQUhRd0FBQUFBNEFoZ2dCeUFRT0FJY0lBUWdBQ0FLSUFrZ0RTQUhFUHdIQkg4Z0FDQUZJQVlRK3djRlFRQUxJUThnREJCVklBc1FWU0FISkFZZ0R3djhBd0VLZnlNR0lRUWpCa0V3YWlRR0lBUkJJR29oQlNBQklBUkJER29nQkVFSWFpQUVRUVJxSUFRZ0F4RFhCeUFBSUFBb0FnQTJBZ1FnQVVId0FHb2hEU0FCRU1BRElnTW9BZ1FnQXlnQ0FHdEJBblVpQ3lBQ0tBSUVJQUlvQWdCclFRTjFTd1JBSUFWQndNZ0RRWmFJQWhBM1FaRDVBUkEzUWUraUFoQTNRZFlDRUQ1QjlxSUNFRGRCeElnQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBVVFQQ0FESUFZUVFDQURFRDhRQUFzZ0JFRWNhaUVHSUFSQkdHb2hDQ0FFUVJScUlRa2dCRUVRYWlFS0lBMG9BZ0FoQTBFQUlRVURRQ0FGSUF0SUJFQWdBU0FHSUFnZ0NTQUtJQU1xQWdBZ0F5b0NCQ0FES2dJSUlBTXFBZ3dnQkNnQ0RMZEVBQUFBQUFBQTREK2d0aUFFS0FJSXQwUUFBQUFBQUFEZ1A2QzJJQVFvQWdTM1JBQUFBQUFBQU9BL29MWWdCQ2dDQUxkRUFBQUFBQUFBNEQrZ3RoRFdCeUFHS2dJQVF3QUFnRDlkSUFncUFnQkRBQUNBUDExeElBa3FBZ0JEQUFDQVAxMXhJQW9xQWdCREFBQ0FQMTF4QkVBZ0FSREFBeWdDQUNBRlFRSjBhaWdDQUVFRGRDQUNLQUlBYWlFSElBQW9BZ1FpRENBQUtBSUlSZ1JBSUFBZ0J4Q1dBUVVnRENBSEtRSUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBc0xJQU5CRUdvaEF5QUZRUUZxSVFVTUFRc0xJQVFrQmd2UEF3SU9md0Y5SXdZaENTTUdRU0JxSkFZZ0NVRUVhaUVQSUFsQkZHb2lEQ0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQWxCQ0dvaURTQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBTW9BZ1FnQXlnQ0FDSVFhMEVEZFNFUklBRW9BZ0FoQVNBQ0tBSUFJUUlnRENnQ0FDRVNJQTBvQWdBaEV3TkFJQW9nRVVjRVFDQUtRUU4wSUJCcUtBSUVJUXNnQ2tFQ2RDSVVRUUowSUJKcUlnZ2dDa0VEZENBUWFpZ0NBQ0lPUVJSc0lBRnFLQUlBTmdJQUlBZ2dEa0VVYkNBQmFpZ0NCRFlDQkNBSUlBNUJGR3dnQVdvb0FnZzJBZ2dnQ0NBT1FSUnNJQUZxS0FJTU5nSU1JQlJCQW5RZ0Uyb2lDQ0FMUVJSc0lBSnFLQUlBTmdJQUlBZ2dDMEVVYkNBQ2FpZ0NCRFlDQkNBSUlBdEJGR3dnQW1vb0FnZzJBZ2dnQ0NBTFFSUnNJQUpxS0FJTU5nSU1JQXBCQVdvaENnd0JDd3NnQUNBRXNpSVdRODNNVEQ2VUlCYVNJaGFNSUJZZ0JiSWlGa1BOekV3K2xDQVdraUlXakNBV0VNTUhJQUFnQmtFQmRiSTRBZ2dnQUNBSFFRRjFzamdDRENBQUlBWTJBZ0FnQUNBSE5nSUVJQUFnRENnQ0FDQU5LQUlBSUFNb0FnUWdBeWdDQUd0QkEzVVF3Z2NnQUNBUElBa1F1UWRCZnlBSktBSUFJQThxQWdCREFBQkFRRjBiSVJVZ0RSQlZJQXdRVlNBSkpBWWdGUXRHQUFOQUlBRWdBa2NFUUNBQUtBSUVJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFBZ0FDZ0NCRUVVYWpZQ0JDQUJRUlJxSVFFTUFRc0xDeWdBSUFJZ0FXc2lBa0VBU2dSQUlBQW9BZ1FnQVNBQ0VFd2FJQUFnQUNnQ0JDQUNhallDQkFzTE9BRUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0NBQVFRQTJBZ2dnQUVFQU5nSUVJQUJCQURZQ0FBc0xNd0FnQWlBQmF5SUNRUUJLQkVBZ0FrRU1FRWdoQXlBQUtBSUVJQUVnQWhCTUdpQUFJQUFvQWdRZ0EwRU1iR28yQWdRTEMxc0JBMzhnQUNnQ0JDSURJQUFvQWdBaUJHdEJGQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1FoZ2dGSUFJZ0FVc0VRQ0FCUVJSc0lBUnFJUUlnQXlFQkEwQWdBU0FDUndSQUlBRkJiR29oQVF3QkN3c2dBQ0FDTmdJRUN3c0xDZ0FnQUVIZ0FEWUNBQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFYaHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDeGNBSUFCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUVCT2dBUUN5c0JBWDhnQUNnQ0JDRUNBMEFnQWhEVUF5QUFJQUFvQWdSQkZHb2lBallDQkNBQlFYOXFJZ0VOQUFzTFhRRUJmMEhNbWJQbUFDQUJTUVJBRUFBTElBRkJ6Sm16NWdCTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkZHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJGR3dnQW1vMkFnZ0xDd2tBSUFBZ0FUWUNDQXNUQUNBQVFRZzJBZ1FnQUVFTWFrRUlFSWNCQ3dzQUlBQkJBQ0FCRUVVYUMvd0RBZ1YvQW53akJpRUdJd1pCb0FKcUpBWWdCa0dBQW1vaENDQUdRY0FCYWlJRUlBRkJxQUZxUVFRZ0FTZ0NERUVBU0FSL0lBRkJGR29GSUFFb0FnaEJBRWdFZnlBQlFSaHFCU0FCUVJCcUN3c29BZ0FpQld0QkJCQlBJZ2RCQkhScUt3TUFPUU1BSUFRZ0FTQUhRUVIwYWlzRHNBRTVBd2dnQkNBQlFhZ0Jha0VGSUFWclFRUVFUeUlIUVFSMGFpc0RBRGtERUNBRUlBRWdCMEVFZEdvckE3QUJPUU1ZSUFRZ0FVR29BV3BCQmlBRmEwRUVFRThpQjBFRWRHb3JBd0E1QXlBZ0JDQUJJQWRCQkhScUt3T3dBVGtES0NBRUlBRkJxQUZxUVFjZ0JXdEJCQkJQSWdWQkJIUnFLd01BT1FNd0lBUWdBU0FGUVFSMGFpc0RzQUU1QXpnZ0JrSGdBR29pQVNBQ1JBQUFBQUFBQU9DL29pSUpPUU1BSUFFZ0FrUUFBQUFBQUFEZ1A2SWlBamtEQ0NBQlJBQUFBQUFBQUFBQU9RTVFJQUVnQWprREdDQUJJQUk1QXlBZ0FVUUFBQUFBQUFBQUFEa0RLQ0FCSUFJNUF6QWdBU0FKT1FNNElBRkJRR3RFQUFBQUFBQUFBQUE1QXdBZ0FTQUpPUU5JSUFFZ0NUa0RVQ0FCUkFBQUFBQUFBQUFBT1FOWUlBWkJpQUpxSWdVZ0JEWUNBQ0FGSUFFMkFnUWdCVUVFTmdJSUlBQW9BZ0FnQkNBQlFRUWdCaENZQkVFQVNBUjhSQUFBQUFDRTE1ZEJCU0FBS0FJQUlBVWdCaUFESUFnUTZnRkJBRWdoQUVRQUFBQUFoTmVYUVNBSUt3TUFJQUFiQ3lFS0lBWWtCaUFLQzc4Q0FDQUFLQUlBSUFFb0FnQVFiQ0FBS0FJRUlBRW9BZ1FRYkdvZ0FDZ0NDQ0FCS0FJSUVHeHFJQUFvQWd3Z0FTZ0NEQkJzYWlBQUtBSVFJQUVvQWhBUWJHb2dBQ2dDRkNBQktBSVVFR3hxSUFBb0FoZ2dBU2dDR0JCc2FpQUFLQUljSUFFb0Fod1FiR29nQUNnQ0lDQUJLQUlnRUd4cUlBQW9BaVFnQVNnQ0pCQnNhaUFBS0FJb0lBRW9BaWdRYkdvZ0FDZ0NMQ0FCS0FJc0VHeHFJQUFvQWpBZ0FTZ0NNQkJzYWlBQUtBSTBJQUVvQWpRUWJHb2dBQ2dDT0NBQktBSTRFR3hxSUFBb0Fqd2dBU2dDUEJCc2FpQUFRVUJyS0FJQUlBRkJRR3NvQWdBUWJHb2dBQ2dDUkNBQktBSkVFR3hxSUFBb0FrZ2dBU2dDU0JCc2FpQUFLQUpNSUFFb0Frd1FiR29nQUNnQ1VDQUJLQUpRRUd4cUlBQW9BbFFnQVNnQ1ZCQnNhaUFBS0FKWUlBRW9BbGdRYkdvZ0FDZ0NYQ0FCS0FKY0VHeHFDMEVCQW44Z0FVRUJUZ1JBQWtBZ0FFRUFOZ0lBUVFFaEFnTkFJQUVnQWtZTkFTQUNRUUowSUFCcUlBTkJBV29pQXpZQ0FDQUNRUUZxSVFJTUFBQUxBQXNMQ3o0QkFuOGdBQ2dDQkNBQUtBSUFJZ1JyUVFKMUlnTWdBVWtFUUNBQUlBRWdBMnNnQWhDZkNBVWdBeUFCU3dSQUlBQWdBVUVDZENBRWFqWUNCQXNMQzhvRUFRMS9Jd1loRVNNR1FSQnFKQVlnRVVFRWFpRVNJQWhCQWtraEZDQUlRUUpHSVJVRFFDQVFJQVZJQkVBZ0RrRUlkQ0FMYWlBUVFiRHhCR3dnQkdvb0FnQTJBZ0FnQ1NBUVFiRHhCR3dnQkdvckF3aTJJQkJCc1BFRWJDQUVhaXNERUxZZ0VpQVJFS1lCUVFCT0JFQWdEa0VJZENBTGFpQVNLZ0lBdXprRE9DQU9RUWgwSUF0cVFVQnJJQkVxQWdDN09RTUFJQkJCc1BFRWJDQUVha0VjYWlBUVFiRHhCR3dnQkdwQjNMZ0NhaUFRUWJEeEJHd2dCR29vQWhnZ0VFR3c4UVJzSUFScVFaenhCR29nQ1NBT1FRaDBJQXRxUWNnQWFpQU9RUWgwSUF0cVFhZ0JhaUlQRUtZSVFRQk9CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVlnQnlBSUlBQWdBU0FDSUFNZ0NTQVBJQW9nRGtFSWRDQUxha0VJYWlJV0lBNUJDSFFnQzJwQkZHb2lGeUFPUVFoMElBdHFRU2hxSWhnZ0RrRUlkQ0FMYWtFTWFpSVpJQTVCQ0hRZ0MycEJHR29pR2lBT1FRaDBJQXRxUVRCcUloTWdEU0FPUVFoMElBdHFRZkFCYWlBT1FRaDBJQXRxUWZnQmFoRCtCaUlQUVhwckRnY0ZCQU1DQVFBR0J3dEJBaUVQREFVTFFRTWhEd3dFQzBFRUlROE1Bd3RCQlNFUERBSUxRUWtoRHd3QkMwRUJJUThMSUE1QkNIUWdDMm9nRHpZQzdBRUxBa0FDUUNBVUJFQWdEa0VJZENBTGFpQVdLQUlBTmdJRUlCZ2hFeUFYSVE4TUFRVWdGUVJBSUE1QkNIUWdDMm9nR1NnQ0FEWUNCQ0FhSVE4TUFnc0xEQUVMSUE1QkNIUWdDMm9nRHlnQ0FEWUNFQ0FPUVFoMElBdHFJQk1yQXdBNUF5QUxJQTVCQVdvaERnc0xJQkJCQVdvaEVBd0JDd3NnRENBT05nSUFJQkVrQmtFQUN3Z0FJQUJCNkFCcUM2OElBUWgvSXdZaENTTUdRU0JxSkFZZ0FFRU1haUlIS0FJRUlBQW9BbXdReGdFZ0JVNEVRQ0FCUVFFUWd3SWdBUkRGQVNBRkVJY0JRUUFoQUFOQUlBQWdCVWdFUUNBQVFRSjBJQVJxS0FJQUlRSWdBUkRGQVNnQ0FDQUFRUUowYWlBQ05nSUFJQUJCQVdvaEFBd0JDd3NnQ1NRR0R3c2dDVUVVYWlFR0lBbENBRGNDQUNBSlFnQTNBZ2dnQ1VHQWdJRDhBellDRUNBSElBSWdBeUFFSUFVUXBRZ2dCMEVZYWlJTUtBSUVJZ3NnRENnQ0FDSUlhMEVDZFNBRlJ3UkFJQVpCd01nRFFabnhBUkEzUWRIeEFSQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEIyUElCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VOSUFwQkNpQU5RVDl4UVlvQmFoRUNBQ0VLSUFZUVBDQUhJQW9RUUNBSEVEOFFBQXRCQUNFSEFrQUNRQUpBQWtBRFFDQUhJQXNnQ0d0QkFuVkpCRUFnQjBFQ2RDQUlhaWdDQUNJSVFYOUdEUUlnQ0NBRlRnMERJQWhCQW5RZ0JHb2lDQ2dDQUNBRFRnMEVJQWRCQW5RZ0JHb2hDeUFKSUFnUXd3SWlDQ2dDQkNJS0lBZ29BZ2hHQkVBZ0NDQUxFS1FJQlNBS0lBc29BZ0EyQWdBZ0NDQUtRUVJxTmdJRUN5QUhRUUZxSVFjZ0RDZ0NBQ0VJSUF3b0FnUWhDd3dCQ3dzQ1FDQUpLQUlNUVFGR0JFQWdBVUVCRUlNQ0lBRVF4UUVnQlJDSEFVRUFJUUFEUUNBQUlBVk9EUUlnQUVFQ2RDQUVhaWdDQUNFQ0lBRVF4UUVvQWdBZ0FFRUNkR29nQWpZQ0FDQUFRUUZxSVFBTUFBQUxBQVVnQVJEZkF5QUpLQUlNRUtNSUlBbEJDR29oQkFOQUFrQWdCQ2dDQUNJRVJRMERJQVFvQWhBZ0JDZ0NERVlOQUVHQUFSQlJJZ1VnQUJEaEF5QUNJQVFvQWdoQjRBQnNhaENpQ0NBR0lBVTJBZ0FnQlVFQUVJTUNJQUVRM3dNaUJTZ0NCQ0lISUFVb0FnaEdCRUFnQlNBR0VNSUNCU0FISUFZb0FnQTJBZ0FnQlNBRktBSUVRUVJxTmdJRUN5QUFJQVlvQWdBZ0FpQURJQVFvQWd3aUJTQUVLQUlRSUFWclFRSjFFT0FEREFFTEN5QUdRY0RJQTBHMzlBRVFOMEhSOFFFUU4wSHZvZ0lRTjBHREF4QStRZmFpQWhBM1FlWDBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFKRU9rRElBa2tCZzhMSUFaQndNZ0RRZTd5QVJBM1FkSHhBUkEzUWUraUFoQTNRZTBDRUQ1QjlxSUNFRGRCbWZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBSUxJQVpCd01nRFFhL3pBUkEzUWRIeEFSQTNRZStpQWhBM1FlNENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFFTElBWkJ3TWdEUWZyekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdDeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxFd0FnQUNBQUtBSUVJZ0JCQVdvMkFnUWdBQXZGQXdFSWZ5QUJCRUFDUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lDRUlnQklBSkJ0SXNCTmdJQUlBSkIrUGNBUVJZUUJBc2dBVUVDZEJCUklRSWdBQ2dDQUNFRElBQWdBallDQUNBREJFQWdBQ2dDQkJvZ0F4QTRDeUFBSUFFMkFnUkJBQ0VDQTBBZ0FTQUNSd1JBSUFBb0FnQWdBa0VDZEdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkNHb2hBeUFBS0FJSUlnSUVRQ0FDS0FJRUlRUWdBU0FCUVg5cUlnaHhSU0lKQkg4Z0JDQUljUVVnQkNBQlR3Ui9JQVFnQVJCT0JTQUVDd3NoQmlBQUtBSUFJQVpCQW5ScUlBTTJBZ0FEUUNBQ0lRUURRQUpBQTBBQ1FDQUVLQUlBSWdKRkRRWWdBaWdDQkNFRElBWWdDUVIvSUFNZ0NIRUZJQU1nQVU4RWZ5QURJQUVRVGdVZ0F3c0xJZ1ZHRFFBZ0FDZ0NBQ0FGUVFKMGFpSURLQUlBUlEwQ0lBSWhBd05BSUFNb0FnQWlCd1JBSUFJb0FnZ2dCeWdDQ0VZRVFDQUhJUU1NQWdzTEN5QUVJQWMyQWdBZ0F5QUFLQUlBSUFWQkFuUnFLQUlBS0FJQU5nSUFJQUFvQWdBZ0JVRUNkR29vQWdBZ0FqWUNBQXdCQ3dzZ0FpRUVEQUVMQ3lBRElBUTJBZ0FnQlNFR0RBQUFDd0FMQ3dVZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN5QUFRUUEyQWdRTEN6c0FRZUM4QXl3QUFFVUVRRUhndkFNUWNBUkFRWWpFQTBFQU5nSUFRWXpFQTBFQU5nSUFRWkRFQTBFQU5nSUFRZUM4QXhCdkN3dEJpTVFEQ3drQUlBQWdBVFlDQkFzSkFDQUFJQUUyQWdBTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUVp5R0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N6UUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQkJKR29RbEFnTHVRRUJCWDhnQVNnQ0FDRUJJQUFvQWdRaUFnUkFBa0FnQWlBQ1FYOXFJZ1J4UlNJRkJIOGdBU0FFY1FVZ0FTQUNTUVIvSUFFRklBRWdBaEJPQ3dzaUJrRUNkQ0FBS0FJQWFpZ0NBQ0lBQkg4RFFDQUFLQUlBSWdCRkJFQkJBQ0VBREFNTElBQW9BZ1FpQXlBQlJnUkFJQUVnQUNnQ0NFWU5Bd1VnQlFSQUlBTWdCSEVoQXdVZ0F5QUNUd1JBSUFNZ0FoQk9JUU1MQ3lBRElBWkhCRUJCQUNFQURBUUxDd3dBQUFzQUJVRUFDeUVBQ3dWQkFDRUFDeUFBQ3lrQkFYOGdBQ2dDQ0JDMkNDQUFLQUlBSVFFZ0FFRUFOZ0lBSUFFRVFDQUFLQUlFR2lBQkVEZ0xDMjBCQVg4Z0FFR1VCbW9pQVVFWWFoQlZJQUZCREdvUVZTQUJFRlVnQUVHTUJXb2lBVUg4QUdvUVZTQUJRZkFBYWhCVklBRkIzQUJxRU1RSElBQkIvQVJxRUZVZ0FFR2dBV29RL0FnZ0FFSGNBR29ReHdJZ0FFSElBR29RdVFnZ0FFRkFheENWQVNBQVFReHFFRlVMS0FFQmZ5QUFRUVJxRU9rRElBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBRVE2Z01nQVJBNEN3dXdCd0lIZndGOFFjWUFJUVpCd0lROUlRY2dBMEVCUmlJTEJFQkJ4Z0JCQkJBNUlRWkJ3SVE5UVFRUU9TRUhJQUJCQWhBNUlRQWdBVUVDRURraEFRc2dCVUVBTmdJQUlBQkJmbW9oQ0NBQlFYNXFJUWtnQWtHUWdNZ0FhaUVNUVFBaEFRSkFBa0FEUUFKQUlBRWdBaWdDQ0U0TkFpQUNRUXhxSUFGQkFuUnFJZ01vQWdBaUNpQUdTQ0FLSUFkS2NrVUVRQ0FDUVl5QUNHb2dBVUVFZEdvaUNpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQmtJQUlhaWdDQUNBSVJ3UkFJQUlnQVVFRWRHcEJsSUFJYWlnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCbUlBSWFpZ0NBQ0FKUndSQUlBSW9BZ0FnQUNBTUlBRkJBV29nQ2lBRktBSUFRYkR4Qkd3Z0JHb1F2Z2hCQUU0RVFDQURLQUlBSUFVb0FnQkJzUEVFYkNBRWFoQzNDRUVBVGdSQUlBVW9BZ0JCc1BFRWJDQUVhaUFES0FJQU5nSUFJQVVvQWdBaUEwR3c4UVJzSUFScUlBSkJrSUFvYWlBQlFRUjBhaXNEQURrRENDQURRYkR4Qkd3Z0JHb2dBaUFCUVFSMGFrR1lnQ2hxS3dNQU9RTVFJQVVnQTBFQmFpSUROZ0lBSUFOQlBFWUVRRUU4SVFBTUNBc0xDd3NMQ3dzTElBRkJBV29oQVF3QkN3c01BUXNnQlNnQ0FDRUFDMEVBSVFFRFFDQUJJQUJJQkVBZ0FVR3c4UVJzSUFScUlRWWdBVUd3OFFSc0lBUnFJUWNnQVVHdzhRUnNJQVJxSVFNZ0FVRUJhaUlCSVFJRFFDQUNJQUJJQkVBZ0Jpc0RDQ0FDUWJEeEJHd2dCR29yQXdpaElnMGdEYUlnQnlzREVDQUNRYkR4Qkd3Z0JHb3JBeENoSWcwZ0RhS2dJUTBnQXlnQ0FDSUFJQUpCc1BFRWJDQUVhaUlJS0FJQUlnbEtCRUFnRFNBQVFRUVFPYmRqQkVBZ0NFRUFOZ0lBQ3dVZ0RTQUpRUVFRT2JkakJFQWdBMEVBTmdJQUN3c2dBa0VCYWlFQ0lBVW9BZ0FoQUF3QkN3c01BUXNMUVFBaEFnTkFJQUlnQUVnRVFDQUNRYkR4Qkd3Z0JHb29BZ0JGQkVBZ0FpRUJJQUFoQXdOQUlBRkJBV29pQUNBRFNBUkFJQUZCc1BFRWJDQUVhaUFBUWJEeEJHd2dCR3BCc1BFRUVFd2FJQUFoQVNBRktBSUFJUU1NQVFzTElBVWdBMEYvYWlJQU5nSUFDeUFDUVFGcUlRSU1BUXNMSUFzRVFBSkFRUUFoQVFOQUlBRWdBRTROQVNBRUlBUW9BZ0JCQW5RMkFnQWdCQ0FFS3dNSVJBQUFBQUFBQUFCQW9qa0RDQ0FFSUFRckF4QkVBQUFBQUFBQUFFQ2lPUU1RSUFRb0FoZ2hBa0VBSVFBRFFDQUFJQUpJQkVBZ0JFRWNhaUFBUVFKMGFpSURJQU1vQWdCQkFYUTJBZ0FnQkVIY3VBSnFJQUJCQW5ScUlnTWdBeWdDQUVFQmREWUNBQ0FBUVFGcUlRQU1BUXNMSUFSQnNQRUVhaUVFSUFGQkFXb2hBU0FGS0FJQUlRQU1BQUFMQUFzTFFRQUxFZ0FnQUVIOGhRRTJBZ0FnQUVFRWFoQkhDMGdCQVg4akJpRURJd1pCSUdva0JpQURJQUFvQWpnZ0FpZ0NBQ0FDS0FJRUlBSW9BZ2dnQWlnQ0RCQzRBeUFBSUFNZ0FoRGdBU0FBSUFFZ0F4RGdBU0FERU4wQklBTWtCZ3VMQXdFRWZ3SkFBa0FDUUFKQUlBQW9BaGdPQXdBQUFRSUxJQUFvQWl3aEFnTkFJQUVnQWs0TkF5QUFJQUZCQ0hScUlnTW9BalJCZjBvRVFDQUFJQUZCQ0hScUt3TlFSQUFBQUFBQUFPQS9Zd1JBSUFBZ0FVRUlkR3BCZnpZQ09DQURRWDgyQWpRZ0FDQUJRUWgwYWtFR05nS2NBZ3NMSUFGQkFXb2hBUXdBQUFzQUN5QUFLQUlzSVFJRFFDQUJJQUpPRFFJZ0FDQUJRUWgwYWlJREtBSTBRWDlLQkVBZ0FDQUJRUWgwYWlzRFVFUUFBQUFBQUFEZ1AyTUVRQ0FBSUFGQkNIUnFRWDgyQWp3Z0EwRi9OZ0kwSUFBZ0FVRUlkR3BCQmpZQ25BSUxDeUFCUVFGcUlRRU1BQUFMQUFzZ0FDZ0NMQ0VEQTBBZ0FTQURUZzBCSUFBZ0FVRUlkR29pQWlnQ09FRi9TZ1IvSUFBZ0FVRUlkR29yQTFoRUFBQUFBQUFBNEQ5akJIOGdBa0YvTmdJNFFRQUZRUUVMQlVFQkN5RUNJQUFnQVVFSWRHb2lCQ2dDUEVGL1NnUkFJQUFnQVVFSWRHb3JBMkJFQUFBQUFBQUE0RDlqQkVBZ0JFRi9OZ0k4SUFKRkJFQWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTEN5QUJRUUZxSVFFTUFBQUxBQXNMQ3dBZ0FFTUFBQUEva280TERRQWdBQkRTQVVNWWNqRS9sUXUzQXdJRGZ3TjlJQUFvQWdBaUJDb0NBQ0lISUFFb0FnQWlBeW9DQUNJR1hRUi9RUUVGSUFZZ0IxMEVmMEVBQlNBRUtBSUVJQU1vQWdSSkN3c2hBU0FHSUFJb0FnQWlBaW9DQUNJSVhRUi9RUUVGSUFnZ0JsMEVmMEVBQlNBREtBSUVJQUlvQWdSSkN3c2hBQUovSUFFRWZ5QUFCRUFnQkNBSU9BSUFJQUlnQnpnQ0FDQUVLQUlFSVFBZ0JDQUNLQUlFTmdJRUlBSWdBRFlDQkVFQkRBSUxJQVFnQmpnQ0FDQURJQWM0QWdBZ0JDZ0NCQ0VGSUFRZ0F5Z0NCRFlDQkNBRElBVTJBZ1FnQnlBQ0tnSUFJZ1pkQkVBZ0FrRUVhaUVBSUFJb0FnUWhBUVZCQVNBR0lBZGREUUlhUVFFZ0JTQUNRUVJxSWdBb0FnQWlBVThOQWhvTElBTWdCamdDQUNBQ0lBYzRBZ0FnQXlBQk5nSUVJQUFnQlRZQ0FFRUNCU0FBQkg4Z0F5QUlPQUlBSUFJZ0JqZ0NBQ0FES0FJRUlRQWdBeUFDS0FJRU5nSUVJQUlnQURZQ0JDQUVLZ0lBSWdjZ0F5b0NBQ0lHWFFSQUlBUkJCR29oQUNBREtBSUVJUUVnQkNnQ0JDRUNCVUVCSUFZZ0IxME5BeHBCQVNBRVFRUnFJZ0FvQWdBaUFpQURLQUlFSWdGUERRTWFDeUFFSUFZNEFnQWdBeUFIT0FJQUlBQWdBVFlDQUNBRElBSTJBZ1JCQWdWQkFBc0xDd3Z0QVFFRmZ5QUFLQUlBSVFZZ0FDZ0NCQ0VEQTBBZ0F5QUdSd1JBSUFFb0FnUWlCRUYwYWlJQ1FRQTJBZ0FnQkVGNGFpSUZRUUEyQWdBZ0JFRjhhaUlFUVFBMkFnQWdBaUFEUVhScUlnSW9BZ0EyQWdBZ0JTQURRWGhxSWdVb0FnQTJBZ0FnQkNBRFFYeHFJZ01vQWdBMkFnQWdBMEVBTmdJQUlBVkJBRFlDQUNBQ1FRQTJBZ0FnQVNBQktBSUVRWFJxTmdJRUlBSWhBd3dCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUN5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFTWJCQkZHaUFBSUFGQkRHd2dBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVF4c0VFVWFJQUFnQVVFTWJDQUNhallDQkFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lFQ3hNQUlBQWdBVFlDVkNBQVFUeHFJQUVRMFFJTE93RUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJiR28yQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMcVFFQkEzOGdBQ2dDQUNFRUlBQW9BZ1FoQWdOQUlBSWdCRWNFUUNBQktBSUVRV3hxSWdNZ0FrRnNhaUlDS1FJQU53SUFJQU1nQWlrQ0NEY0NDQ0FESUFJb0FoQTJBaEFnQVNBQktBSUVRV3hxTmdJRURBRUxDeUFBS0FJQUlRSWdBQ0FCS0FJRU5nSUFJQUVnQWpZQ0JDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFFb0FnUTJBZ0FMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY3lacytZQVN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFVWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FSUnNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVVYkNBRWFqWUNEQXZrQVFFR2Z5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEF5QUFCSDhnQVNBQVFmU0dyd05xSWdVb0FnQkdCSDlCQUFVZ0FFR0loNjhEYWlJRUtBSUFJZ1lFUUNBR0VFa2dCRUVBTmdJQUN3SkFBa0FDUUFKQUlBRU9CUU1BQUFBQkFnc2dCQ0FBS0FJa0lBQW9BaWdRZ3dnMkFnQU1BZ3NnQUVHRWg2OERha0VCTmdJQUlBQkJnSWV2QTJwQkFUWUNBRUVFSVFFTUFRdEJBRUVEUWNpbEFTQUNFRDFCQUNFQkN5QUZJQUUyQWdBZ0FDZ0NBRUVCUmdSQUlBTWdBVUVDZEVHQUNHb29BZ0EyQWdCQkFFRURRWkttQVNBREVEMExRUUFMQlVGL0N5RUhJQUlrQmlBSEN5Z0FJQUFnQVRnQ0FDQUFJQUk0QWdRZ0FDQURPQUlJSUFBZ0JEZ0NEQ0FBSUFWQkFYRTZBQkFMZXdFQmZ5TUdJUUlqQmtFUWFpUUdJQUFFUUNBQUtBSUFJQUZIQkVBQ1FDQUFJQUUyQWdBZ0FVVUVRQ0FBUWVTR3B3SnFJZ0FvQWdBUU9DQUFRUUEyQWdBTUFRc2dBRUhraHFjQ2FpQUFLQUlvSUFBb0FpUnNFRVFpQURZQ0FDQUFSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNMQ3dzZ0FpUUdDNW9CQVFSL0l3WWhCU01HUVJCcUpBWWdBaUFCYXlJRVFXOUxCRUFRQUFzZ0JFRUxTUVJBSUFBZ0JEb0FDd1VnQUNBRVFSQnFRWEJ4SWdZUVVTSUROZ0lBSUFBZ0JrR0FnSUNBZUhJMkFnZ2dBQ0FFTmdJRUlBTWhBQXNnQWlBQmF5RUdJQUFoQXdOQUlBRWdBa2NFUUNBRElBRVFYeUFCUVFGcUlRRWdBMEVCYWlFRERBRUxDeUFGUVFBNkFBQWdBQ0FHYWlBRkVGOGdCU1FHQzRJQkFRTi9Jd1loQWlNR1FSQnFKQVlnQUFSQUlBQW9BZ0FpQVFSQUlBRW9BZ0FpQVFSQUlBRVFPQXRCQUNFQkEwQWdBU0FBS0FJQUlnTW9BZ3hJQkVBZ0F5Z0NDQ0FCUVF4c2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0F5Z0NDQkE0SUFBb0FnQVFPQ0FBUVFBMkFnQUxCVUVBUVFOQjNMZ0JJQUlRUFFzZ0FpUUdDeEVBSUFBZ0FDZ0NBQ0FBS0FJRUVLVUpDNjRCQVFWL0l3WWhCU01HUVJCcUpBWWdBQ0FDSUFNZ0JVRUVhaUFGRUtZSlFRQklCSDlCZndVZ0JTb0NCQ0FCS2dJTUlnS1VRek16eTBHVlF3QUFBRCtTRUVNaUFFRUFTQVIvUVg4RklBRW9BZ1FpQnlBQVNnUi9JQUVvQWdnaUNMSWdBaUFGS2dJQWxFTXpNOHRCbFpOREFBQUFQNUlRUXlJR1FYOUtJQWdnQmtweEJIOGdCQ0FCS0FJQUlBQWdCaUFIYkdwcUxBQUFPZ0FBUVFBRlFYOExCVUYvQ3dzTElRa2dCU1FHSUFrTHZRSUNCSDhDZlNNR0lRWWpCa0ZBYXlRR0lBWkJOR29oQnlBR1FUQnFJUWdnQUFSL0lBQkJDR29nQVNBR0VQb0JJQUJCdUFGcUlnQWdCaW9DRENBR0tnSUFJQUtVSUFZcUFnUWdBNVNTa2lBR0tnSXNJQVlxQWlBZ0FwUWdCaW9DSkNBRGxKS1NJZ3VWSWdvZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFMbFNJRElBUWdCUkJ0UVFCSUJIOUJmd1VnQUNBRUtnSUFJQVVxQWdBZ0J5QUlFS1lCUVFCSUJIOUJmd1VnQ2lBSEtnSUFreUlDSUFLVUlBTWdDQ29DQUpNaUFpQUNsSkpEQUFDQVAxNUJIM1JCSDNVTEN3VWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFS0lBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDaUFDbFRnQ0FFRUFDeUVKSUFZa0JpQUpDNFlMQVFwL0lBTW9BaGdoQ0FKQUFrQUNRQ0FDUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnQXlnQ0RDRUxJQU1vQWhRaERTQUJRUUYwSVE0Z0FDQUVRUUFnQXlnQ0NHc2lCMEVCZEdvZ0FTQUZRUUFnQXlnQ0VHc2lCVUVCZEdwc2Ftb2hCRUVBSVFCQkFDRUJRUUFoQWdOQUlBVWdEVW9FUUF3REJTQUhJUXdnQkNFSkEwQWdEQ0FMVEFSQUlBZ3VBUUFpRDBHQUlFY0VRQ0FBSUFrdEFBQWlDbW9oQUNBQklBb2dDbXhxSVFFZ0FpQVBRZi8vQTNFZ0NteHFJUUlMSUF4QkFXb2hEQ0FJUVFKcUlRZ2dDVUVDYWlFSkRBRUxDeUFFSUE1cUlRUWdCVUVCYWlFRkRBRUxBQUFMQUFzZ0FrRUNTUVJBSUFNb0FoUWhEa0VBSUFNb0FoQnJJUW9nQ0NFSlFRQWhBa0VBSVFnRFFDQUtJQTVLQkVBZ0FpRUFJQWdoQVNBTUlRSU1Bd1VnQXlnQ0RDRVBRUUFnQXlnQ0NDSUhheUVMSUFBZ0JDQUJJQVVnQ2tFQmRHcHNhaUFIUVFGMGEwRURiR29oQndOQUlBc2dEMHdFUUNBSkxnRUFJaEJCZ0NCSEJFQWdBaUFITFFBQ0lBY3RBQUFnQnkwQUFXcHFRUU1RU0NJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDMEVCYWlFTElBZEJCbW9oQnlBSlFRSnFJUWtNQVFzTElBcEJBV29oQ2d3QkN3QUFDd0FMSUFKQkFYSkJBMFlFUUNBREtBSVVJUTVCQUNBREtBSVFheUVLSUFnaENVRUFJUUpCQUNFSUEwQWdDaUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lCMnNoQ3lBQUlBUWdBU0FGSUFwQkFYUnFiR29nQjBFQmRHdEJBblJxSVFjRFFDQUxJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQnkwQUFpQUhMUUFBSUFjdEFBRnFha0VERUVnaURXb2hBaUFJSUEwZ0RXeHFJUWdnRENBUVFmLy9BM0VnRFd4cUlRd0xJQXRCQVdvaEN5QUhRUWhxSVFjZ0NVRUNhaUVKREFFTEN5QUtRUUZxSVFvTUFRc0FBQXNBQ3lBQ1FRSnlRUVpHQkVBZ0F5Z0NGQ0VPUVFBZ0F5Z0NFR3NoQ2lBSUlRbEJBQ0VDUVFBaENBTkFJQW9nRGtvRVFDQUNJUUFnQ0NFQklBd2hBZ3dEQlNBREtBSU1JUTlCQUNBREtBSUlJZ2RySVFzZ0FDQUVJQUVnQlNBS1FRRjBhbXhxSUFkQkFYUnJRUUowYWlFSEEwQWdDeUFQVEFSQUlBa3VBUUFpRUVHQUlFY0VRQ0FDSUFjdEFBTWdCeTBBQVNBSExRQUNhbXBCQXhCSUlnMXFJUUlnQ0NBTklBMXNhaUVJSUF3Z0VFSC8vd054SUExc2FpRU1DeUFMUVFGcUlRc2dCMEVJYWlFSElBbEJBbW9oQ1F3QkN3c2dDa0VCYWlFS0RBRUxBQUFMQUFzQ1FBSkFBa0FnQWtFSGF3NENBQUVDQ3lBREtBSVVJUTVCQUNFQ1FRQWdBeWdDRUdzaENpQUlJUWNEUUNBS0lBNUtCRUFnQWlFQUlBa2hBU0FNSVFJTUJBVWdBeWdDRENFUElBa2hDRUVBSUFNb0FnZ2lDMnNoQ1NBQUlBUWdBU0FGSUFwQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUpJQTlNQkVBZ0J5NEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFTSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQmFpRUpJQXRCQkdvaEN5QUhRUUpxSVFjTUFRc0xJQWdoQ1NBS1FRRnFJUW9NQVFzQUFBc0FDeUFES0FJVUlRNGdDQ0VKUVFBaEFrRUFJUWhCQUNBREtBSVFheUVIQTBBZ0J5QU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUMyc2hDaUFBSUFRZ0FTQUZJQWRCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBS0lBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdDeTBBQUNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVDYWlFSklBcEJBV29oQ2lBTFFRUnFJUXNNQVFzTElBZEJBV29oQnd3QkN3QUFDd0FMUVFBaEFFRUFJUUZCQUNFQ0N5QUdJQUVnQUNBQWJDQURLQUlrSWdFUU9Xc2lCQVIvSUFJZ0FDQURLQUlnYkNBQkVEbHJRZVFBYkNBREtBSWNFRGxCNUFCc0lBU3lrUkJERURrRlFRQUxOZ0lBQzBVQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTkRBQUFBUDVRaUE0d2dBeUFEUXdBQUFBQmRHd3VJRGdNSWZ3RitEWDBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUlJQVpCREdvaENTQUdRUWhxSVFvZ0JrRUVhaUVMSUFKQkFFZ0VRRUYvSVFFRkFrQUNRQUpBQWtBQ1FBSkFJQUlPQkFBQkFnTUVDeUFFUVFnUU9iSWhFaUFFUVFkc1FRZ1FPYkloRXlBRlFRZ1FPYkloRkNBRlFRZHNRUWdRT2JJaEZTQUVRUUlRT2JJaEZpQUZRUUlRT2JJaEYwRUFJUUpCZnlFQkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRWwwZ0R5QVRYbkpGQkVBZ0FrRVliQ0FBYWlvQ0ZDSVFJQlJkSUJBZ0ZWNXlSUVJBSUE4Z0ZwTWlEeUFQbENBUUlCZVRJZzhnRDVTU0lnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQlFzZ0FVRVliQ0FBYWtFQk5nSU1EQVFMSUFSQkNCQTVzaUVTSUFSQkIyeEJDQkE1c2lFVElBVkJDQkE1c2lFVUlBVkJCMnhCQ0JBNXNpRVZRWDhoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUpCR0d3Z0FHb3FBaEFpRHlBU1hTQVBJQk5lY2tVRVFDQUNRUmhzSUFCcUtnSVVJaEFnRkYwZ0VDQVZYbkpGQkVBZ0R5QURLZ0lBa3lJUElBK1VJQkFnQXlvQ0JKTWlEeUFQbEpJaUR5QVJYZ1JBSUE4aEVTQUNJUUVMQ3dzTElBSkJBV29oQWd3QkN3c2dBVUYvUmdSQVFYOGhBUXdFQ3lBQlFSaHNJQUJxUVFFMkFnd01Bd3NnQkVFSUVEbXlJUklnQkVFSGJFRUlFRG15SVJNZ0JVRUlFRG15SVJRZ0JVRUhiRUVJRURteUlSVkJmeUVCUVFBaEFnTkFBa0FDUUFKQUlBSkJHR3dnQUdvb0FneEJmMnNPQWdJQUFRc2dBa0VZYkNBQWFpb0NFQ0lQSUJKZElBOGdFMTV5UlFSQUlBSkJHR3dnQUdvcUFoUWlFQ0FWWGlBUUlCUmRja1VFUUNBUElBTXFBZ0FpRDVNZ0F5b0NEQ0FES2dJRUloYVRsQ0FRSUJhVElBTXFBZ2dnRDVPVWt5SVBJQStVSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1Bd3NnQVVFWWJDQUFha0VCTmdJTURBSUxJQU1nQTBFSWFpQUhJQWdRMndJZ0F5QURRUkJxSUFrZ0NoRGJBaUFFUVFnUU9iSWhGaUFFUVFkc1FRZ1FPYkloRnlBRlFRZ1FPYkloR0NBRlFRZHNRUWdRT2JJaEdTQURRUmhxSVF3Z0NTb0NBQ0lVSUFncUFnQWlFcFFpRVNBS0tnSUFJaFVnQnlvQ0FDSVRsQ0lQazBNQUFBQUFZRVVoQ1NBUElCR1RRd0FBQUFCZ1JTRU5RUUpCQVNBSkd5RUhRUUZCQWlBSkd5RUlRWDhoQVVFQUlRSkRBQUFBQUNFUkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRmwwZ0R5QVhYbkpGQkVBZ0FrRVliQ0FBYWlJRUtnSVVJaEFnR0YwZ0VDQVpYbkpGQkVBZ0RDQVBPQUlBSUFNZ0JDZ0NGRFlDSENBRElBd2dDeUFHRU5zQ0lBc3FBZ0FoRHdKL0FrQWdDUVIvSUFZcUFnQWhFQXdCQlNBU0lBK1VJQk1nQmlvQ0FDSVFsSk5EQUFBQUFHQUVmMEVDUVFNZ0ZTQVBsQ0FVSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVCSVFwQkEwRUNJQVViQlF3Q0N3c01BUXNnRFNBVklBK1VJaG9nRkNBUWxDSWJrME1BQUFBQVlFVnlCSDhnRXlBUWxDQVNJQStVazBNQUFBQUFZRVVnR3lBYWswTUFBQUFBWUVWeURRUkJBeUVLSUFnaEJDQUhCVUVCUVFNZ0VpQVBsQ0FUSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVDSVFwQkEwRUJJQVViQ3dzaEJTQURJQW9nQlNBRUVMQUpJZzhnRVY0RWZ5QVBJUkVnQWdVZ0FRc2hBUXNMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQlFSaHNJQUJxUVFFMkFnd0xEQUVMUVFBaEF3SkFBa0FEUUFKQUFrQUNRQ0FEUVJoc0lBRnFJZ0lvQWd4QmYyc09BZ0lBQVFzZ0FrRUJOZ0lNSUFOQkdHd2dBV29oQkNBRFFSaHNJQUZxSVFVZ0EwRVliQ0FCYWlFSFFRQWhBZ05BQWtBQ1FDQUNRUmhzSUFCcUlnZ29BZ3hCZjJzT0FnTUFBUXNnQkNnQ0FDQUNRUmhzSUFCcUtBSUFSZ1JBSUFVb0FnUWdBa0VZYkNBQWFpZ0NCRVlFUUNBSEtBSUlJQUpCR0d3Z0FHb29BZ2hHRFFjTEN3c2dBa0VCYWlFQ0RBQUFDd0FMSUFOQkFXb2hBd3dCQ3dzTUFRc2dDRUVCTmdJTUlBSWhBUXdCQ3lBQlFYODJBZ3hCaE1RRFFRQkJoTVFES0FJQUlnRUVmeUFCQlVIb3ZnTkJBQkFUUVg5cXJUY0RBRUdFeEFNb0FnQUxRUUZxSWdFZ0FVR0FBVVliTmdJQVFRQWhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUJSUVJBUVg4aEFRd0JDMEhvdmdOQjZMNERLUU1BUXEzKzFlVFVoZjJvMkFCK1FnRjhJZzQzQXdBZ0FiSWdEa0loaUtleWxFTUFBQUF3bEJCRElRUkJBQ0VDUVFBaEFRTkFBa0FDUUFKQUFrQWdBa0VZYkNBQWFpSUZLQUlNSWdOQmYyc09BZ0FCQWdzZ0F5RUJEQVFMSUFFZ0JFWU5BU0FCUVFGcUlRRUxJQUpCQVdvaEFnd0JDd3NnQlVFQk5nSU1JQUloQVFzTElBWWtCaUFCQzVnRUFnRi9FWDBqQmlFRUl3WkJNR29rQmlBQUJFQWdBRUVJYWlBQklBUVErZ0VnQWlvQ0FDSUxJQVFxQWdBaUZKUWhEaUFDS2dJRUlnWWdCQ29DQkNJTWxDRVBJQVlnQkNvQ0ZDSU5sQ0VRSUFRcUFpd2lDaUFMSUFRcUFpQWlCNVFpQ1NBR0lBUXFBaVFpQ0pRaUJaS1NJUkVnQ2lBTFF3QUFJRUdTSWhJZ0I1UWdCWktTSVJNZ0NpQUpJQVpEQUFBZ1FaSWlCaUFJbEpLU0lRb2dCQ29DSENJSElBc2dCQ29DRUNJSWxDSUZJQVlnRFpTU2tpQUtsU0VMSUFRcUFnd2lDU0FPSUFZZ0RKU1NraUFLbFNFTUJTQUNLZ0lBSWdzZ0FTb0NBQ0lVbENFT0lBSXFBZ1FpQmlBQktnSUVJZ3lVSVE4Z0JpQUJLZ0lVSWcyVUlSQWdBU29DTENJS0lBc2dBU29DSUNJSGxDSUpJQVlnQVNvQ0pDSUlsQ0lGa3BJaEVTQUtJQXREQUFBZ1FaSWlFaUFIbENBRmtwSWhFeUFLSUFrZ0JrTUFBQ0JCa2lJR0lBaVVrcEloQ2lBQktnSWNJZ2NnQ3lBQktnSVFJZ2lVSWdVZ0JpQU5sSktTSUFxVklRc2dBU29DRENJSklBNGdCaUFNbEpLU0lBcVZJUXdMSUFjZ0VpQUlsQ0FRa3BJZ0U1VWhEU0FKSUJJZ0ZKUWdENUtTSUJPVklSVWdCeUFGSUJDU2tpQVJsU0VISUFrZ0RpQVBrcElnRVpVaENTQVZJQW1USWdVZ0JaUWdEU0FIa3lJRklBV1VraUlJSUF3Z0NaTWlCU0FGbENBTElBZVRJZ1VnQlpTU0lnVmRJUUFnQXlBRklBZ2dBQnVSUTF5UElrQ1VPQUlBSUFNZ0NDQUZJQUFia1VOY2p5SkFsRGdDQkNBRUpBWkJBQXNmQUNBQUJIOGdBQ0FCSUFJZ0F4Q0dCQVZCQUNBQklBSWdBeENHQkFzYUN3WUFRUndRQWdzR0FFRWJFQUlMQmdCQkZ4QUNDd1lBUVJJUUFnc0lBRUVQRUFKQ0FBc0lBRUVNRUFKQkFBc0lBRUVLRUFKQkFBdU1BUUVDZnlNRlFRRnFKQVVnQUNNRk5nSUFBMEFnQkNBRFNBUkFJQVJCQTNRZ0Ftb29BZ0JGQkVBZ0JFRURkQ0FDYWlNRk5nSUFJQVJCQTNSQkJHb2dBbW9nQVRZQ0FDQUVRUU4wUVFocUlBSnFRUUEyQWdBZ0F4QURJQUlQQ3lBRVFRRnFJUVFNQVFzTElBQWdBU0FDSUFOQkFYUWlBRUVCYWtFRGRCRG9BU0FBRUk4RUlRVWdBQkFESUFVTHJ3d0JCMzhnQUNBQmFpRUZJQUFvQWdRaUEwRUJjVVVFUUFKQUlBQW9BZ0FoQWlBRFFRTnhSUVJBRHdzZ0FTQUNhaUVCSUFBZ0Ftc2lBRUhBMFFNb0FnQkdCRUFnQlNnQ0JDSUNRUU54UVFOSERRRkJ0TkVESUFFMkFnQWdCU0FDUVg1eE5nSUVJQUFnQVVFQmNqWUNCQ0FGSUFFMkFnQVBDeUFDUVFOMklRUWdBa0dBQWtrRVFDQUFLQUlJSWdJZ0FDZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xEQUVMSUFBb0FoZ2hCeUFBSUFBb0Fnd2lBa1lFUUFKQUlBQkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0FDZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUhCRUFnQUNBQUtBSWNJZ05CQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFkQkVHb2lBeUFIUVJScUlBQWdBeWdDQUVZYklBSTJBZ0FnQWtVTkFnc2dBaUFITmdJWUlBQW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFBb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFVb0FnUWlCMEVDY1FSQUlBVWdCMEYrY1RZQ0JDQUFJQUZCQVhJMkFnUWdBQ0FCYWlBQk5nSUFJQUVoQXdVZ0JVSEUwUU1vQWdCR0JFQkJ1TkVESUFGQnVORURLQUlBYWlJQk5nSUFRY1RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCRUhBMFFNb0FnQWdBRWNFUUE4TFFjRFJBMEVBTmdJQVFiVFJBMEVBTmdJQUR3c2dCVUhBMFFNb0FnQkdCRUJCdE5FRElBRkJ0TkVES0FJQWFpSUJOZ0lBUWNEUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkNBQUlBRnFJQUUyQWdBUEN5QUhRUU4ySVFRZ0IwR0FBa2tFUUNBRktBSUlJZ0lnQlNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTEJRSkFJQVVvQWhnaENDQUZLQUlNSWdJZ0JVWUVRQUpBSUFWQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQlNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSUJFQWdCU2dDSENJRFFRSjBRZHpUQTJvaUJDZ0NBQ0FGUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWhCRUdvaUF5QUlRUlJxSUFNb0FnQWdCVVliSUFJMkFnQWdBa1VOQWdzZ0FpQUlOZ0lZSUFVb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQVVvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQUFnQVNBSFFYaHhhaUlEUVFGeU5nSUVJQUFnQTJvZ0F6WUNBQ0FBUWNEUkF5Z0NBRVlFUUVHMDBRTWdBellDQUE4TEN5QURRUU4ySVFJZ0EwR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUEwRUJJQUowSWdKeEJIOGdBVUVJYWlJREtBSUFCVUdzMFFNZ0FpQURjallDQUNBQlFRaHFJUU1nQVFzaEFpQURJQUEyQWdBZ0FpQUFOZ0lNSUFBZ0FqWUNDQ0FBSUFFMkFnd1BDeUFEUVFoMklnRUVmeUFEUWYvLy93ZExCSDlCSHdVZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQW5RaUJFR0E0QjlxUVJCMlFRUnhJUUZCRGlBQklBSnlJQVFnQVhRaUFVR0FnQTlxUVJCMlFRSnhJZ0p5YXlBQklBSjBRUTkyYWlJQlFRRjBJQU1nQVVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUVnQUNBQ05nSWNJQUJCQURZQ0ZDQUFRUUEyQWhBQ1FFR3cwUU1vQWdBaUJFRUJJQUowSWdaeFJRUkFRYkRSQXlBRUlBWnlOZ0lBSUFFZ0FEWUNBQXdCQ3lBRElBRW9BZ0FpQVNnQ0JFRjRjVVlFUUNBQklRSUZBa0FnQTBFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFRRFFDQUJRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBZ1JBSUFSQkFYUWhCQ0FESUFJb0FnUkJlSEZHRFFJZ0FpRUJEQUVMQ3lBR0lBQTJBZ0FNQWdzTElBSW9BZ2dpQVNBQU5nSU1JQUlnQURZQ0NDQUFJQUUyQWdnZ0FDQUNOZ0lNSUFCQkFEWUNHQThMSUFBZ0FUWUNHQ0FBSUFBMkFnd2dBQ0FBTmdJSUM4MEJBUU4vUWUvLy8vOERJQUZySUFKSkJFQVFBQXNnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSVFVZ0FVSG4vLy8vQVVrRVFFRUNJQUZCQVhRaUJ5QUJJQUpxSWdJZ0FpQUhTUnNpQWtFRWFrRjhjU0FDUVFKSkd5SUNRZi8vLy84RFN3UkFFQUFGSUFJaEJnc0ZRZS8vLy84RElRWUxJQVpCQW5RUVVTRUNJQVFFUUNBQ0lBVWdCQkNuQVFzZ0F5QUVheUlEQkVBZ0FpQUVRUUowYWlBRklBUkJBblJxSUFNUXB3RUxJQUZCQVVjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUM2QUNBUVIvSXdZaENDTUdRUkJxSkFaQjd2Ly8vd01nQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84QlNRUkFRUUlnQVVFQmRDSUxJQUVnQW1vaUFpQUNJQXRKR3lJQ1FRUnFRWHh4SUFKQkFra2JJZ0pCLy8vLy93TkxCRUFRQUFVZ0FpRUtDd1ZCNy8vLy93TWhDZ3NnQ2tFQ2RCQlJJUUlnQkFSQUlBSWdDU0FFRUtjQkN5QUdCRUFnQkVFQ2RDQUNhaUFISUFZUXB3RUxJQU1nQldzaUF5QUVheUlIQkVBZ0JFRUNkQ0FDYWlBR1FRSjBhaUFFUVFKMElBbHFJQVZCQW5ScUlBY1Fwd0VMSUFGQkFVY0VRQ0FKRURnTElBQWdBallDQUNBQUlBcEJnSUNBZ0hoeU5nSUlJQUFnQXlBR2FpSUFOZ0lFSUFoQkFEWUNBQ0FBUVFKMElBSnFJQWdRYmlBSUpBWUxrQUVCQTM4akJpRURJd1pCRUdva0JpQUJRZS8vLy84RFN3UkFFQUFMSUFGQkFra0VRQ0FBSUFFNkFBc2dBQ0VFQlNBQlFRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQVRZQ0JBc0xJQUVFUUNBRUlBSWdBUkRyQkFzZ0EwRUFOZ0lBSUFGQkFuUWdCR29nQXhCdUlBTWtCZ3Z1QVFFRGZ5TUdJUWdqQmtFUWFpUUdRVzRnQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84SFNRUi9RUXNnQVVFQmRDSUtJQUVnQW1vaUFpQUNJQXBKR3lJQ1FSQnFRWEJ4SUFKQkMwa2JCVUZ2Q3lJS0VGRWhBaUFFQkVBZ0FpQUpJQVFRcUFFTElBWUVRQ0FDSUFScUlBY2dCaENvQVFzZ0F5QUZheUlESUFScklnY0VRQ0FHSUFJZ0JHcHFJQVVnQkNBSmFtb2dCeENvQVFzZ0FVRUtSd1JBSUFrUU9Bc2dBQ0FDTmdJQUlBQWdDa0dBZ0lDQWVISTJBZ2dnQUNBRElBWnFJZ0EyQWdRZ0NFRUFPZ0FBSUFBZ0Ftb2dDQkJmSUFna0Jnc1dBQ0FCQkVBZ0FDQUNFRUpCL3dGeElBRVFSUm9MQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFCUVc5TEJFQVFBQXNnQVVFTFNRUkFJQUFnQVRvQUN3VWdBQ0FCUVJCcVFYQnhJZ1FRVVNJRk5nSUFJQUFnQkVHQWdJQ0FlSEkyQWdnZ0FDQUJOZ0lFSUFVaEFBc2dBQ0FCSUFJUWxRUWdBMEVBT2dBQUlBQWdBV29nQXhCZklBTWtCZ3Y2RlFNTWZ3RitBbndqQmlFTEl3WkIwQUZxSkFZZ0MwSElBV29oRFNBTFFjQUJhaUVPSUF0QjRBQnFJUXdnQXlnQ0JDRUtBMEFnQnlBS1NBUkFJQU1vQWdBaUNDQUhRY0FDYkdvaENTQUhRY0FDYkNBSWFpZ0NCQVJBSUFkQndBSnNJQWhxSVJCQkFDRUZRWDhoQmdOQUlBVWdBa2dFUUFKQUFrQUNRQ0FGUVFoMElBRnFLQUlNSWc4TkFDQUZRUWgwSUFGcUtRUDRBU0lSVUEwQUlCRWdFQ2tEdUFKUkRRRU1BZ3NnRHlBSktBSUFSZzBBREFFTElBVkJDSFFnQVdvckF6QWlFaUFES3dONFkwVUVRQ0FHUVg5R0JIOGdCUVVnQmtFSWRDQUJhaXNETUNBU1l3Ui9JQVVGSUFZTEN5RUdDd3NnQlVFQmFpRUZEQUVMQ3lBSFFjQUNiQ0FJYWlBR05nS3dBaUFHUVg5S0JFQWdCa0VJZENBQmFpQUdRUWgwSUFGcUtBSVlOZ0lRQ3dWQmZ5RUdRUUFoQlFOQUlBVWdBa2dFUUNBRlFRaDBJQUZxS0FJSUlBa29BZ0JHQkVBZ0JVRUlkQ0FCYWlzREtDSVNJQU1yQTNCalJRUkFJQVpCZjBZRWZ5QUZCU0FHUVFoMElBRnFLd01vSUJKakJIOGdCUVVnQmdzTElRWUxDeUFGUVFGcUlRVU1BUXNMSUFkQndBSnNJQWhxSUFZMkFyQUNJQVpCZjBvRVFDQUdRUWgwSUFGcUlBWkJDSFFnQVdvb0FoUTJBaEFMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCVUVBSVFKQkFDRUdRUUFoQndOQUlBY2dDa2dFUUNBREtBSUFJZ29nQjBIQUFteHFLQUt3QWlJSVFRQk9CRUFDUUNBQUlBaEJDSFFnQVdvaUNTQUhRY0FDYkNBS2Fpc0RDQ0FMRU5vRFJBQUFBQUFBQUJCQVpBUkFJQU1vQWdBZ0IwSEFBbXhxUVg4MkFyQUNJQWhCQ0hRZ0FXb2lDQ2dDN0FFTkFTQUlRUWMyQXV3QkRBRUxJQVZGSUFJZ0NTZ0NBQ0lJU0hJRVFFRUFJUUlEZnlBQ1FRTkdCSDhnQnlFR0lBZ0ZRUUFoQmdOQUlBWkJCRWNFUUNBQ1FRVjBJQXhxSUFaQkEzUnFJQUpCQlhRZ0Myb2dCa0VEZEdvckF3QTVBd0FnQmtFQmFpRUdEQUVMQ3lBQ1FRRnFJUUlNQVFzTElRSUxJQVZCQVdvaEJRc0xJQWRCQVdvaEJ5QURLQUlFSVFvTUFRc0xBa0FDUUNBRlJRMEFJQVVnQXlnQ2dBRklEUUFnRENBREtBSUFJQVpCd0FKc2FrSHdBR29nQ3hDekFpQUZRUVowRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxJQVZCNEFCc0VFUWlCa1VFUUVFQVFRTkJ1ZGdDSUEwUVBVRUJFQUVMSUFWQkFuUWhDQ0FES0FJRUlSQkJBQ0VGUVFBaEFnTkFJQVVnRUVnRVFDQURLQUlBSWdvZ0JVSEFBbXhxS0FLd0FpSUpRUUJPQkVBZ0FrRURkQ0lOUVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFRZ0NVRUlkQ0FCYWlnQ0VDSU9hMEVFRUU4aUQwRUVkR29yQXdBNUF3QWdEVUVCY2tFRGRDQUhhaUFKUVFoMElBRnFJQTlCQkhScUt3T3dBVGtEQUNBTlFRSnlRUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVVnRG10QkJCQlBJZzlCQkhScUt3TUFPUU1BSUExQkEzSkJBM1FnQjJvZ0NVRUlkQ0FCYWlBUFFRUjBhaXNEc0FFNUF3QWdEVUVFY2tFRGRDQUhhaUFKUVFoMElBRnFRYWdCYWtFR0lBNXJRUVFRVHlJUFFRUjBhaXNEQURrREFDQU5RUVZ5UVFOMElBZHFJQWxCQ0hRZ0FXb2dEMEVFZEdvckE3QUJPUU1BSUExQkJuSkJBM1FnQjJvZ0NVRUlkQ0FCYWtHb0FXcEJCeUFPYTBFRUVFOGlEa0VFZEdvckF3QTVBd0FnRFVFSGNrRURkQ0FIYWlBSlFRaDBJQUZxSUE1QkJIUnFLd093QVRrREFDQUNRUXhzSWdsQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlBQk9RTUFJQWxCQVhKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlnQk9RTUFJQWxCQW5KQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStBQk9RTUFJQWxCQTNKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStnQk9RTUFJQWxCQkdwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9BQk9RTUFJQWxCQldwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9nQk9RTUFJQWxCQm1wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRBQ09RTUFJQWxCQjJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRnQ09RTUFJQWxCQ0dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVBQ09RTUFJQWxCQ1dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVnQ09RTUFJQWxCQ21wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZBQ09RTUFJQWxCQzJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZnQ09RTUFJQUpCQVdvaEFnc2dCVUVCYWlFRkRBRUxDeUFFUVFCSElRUWdBeWdDYUFSQUlBQWdDeUFISUFZZ0NDQU1FTDhDSWhJZ0FDQURRUWhxSWdJZ0J5QUdJQWdnQWhDL0FpSVRZeUVGSUFRRVFDQUZCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5wUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpuWlB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRQUFBQUFBQUFBQUJDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQURRUWhxSUFCQkJYUnFJQUpCQTNScUlBQkJCWFFnREdvZ0FrRURkR29yQXdBNUF3QWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQlNBVElSSUxDd3NMQ3dVZ0JRUkFRUUFoQUFOQUlBQkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBMEVJYWlBQVFRVjBhaUFDUVFOMGFpQUFRUVYwSUF4cUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3dVZ0V5RVNDd3NGSUFRZ0FDQUxJQWNnQmlBSUlBTkJDR29pQWhDL0FpSVNSQUFBQUFBQUFEUkFabkVFUUNBQUtBSUFSSnFabVptWm1lay9FSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJJaEpFQUFBQUFBQUFORUJtQkh3Z0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0FoQ09BU0lTUkFBQUFBQUFBRFJBWmdSOElBQW9BZ0JFbXBtWm1abVoyVDhRalFFZ0FDQUxJQWNnQmlBSUlBSVFqZ0VpRWtRQUFBQUFBQUEwUUdZRWZDQUFLQUlBUkFBQUFBQUFBQUFBRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCQlNBU0N3VWdFZ3NGSUJJTElSSUxDeUFHRURnZ0J4QTRBa0FnRWtRQUFBQUFBQUEwUUdNRVFDQURRUUUyQW1nTUFRc2dBMEVBTmdKb0lBTW9BZ1FoQWtFQUlRQURRQ0FBSUFKT0RRRWdBeWdDQUNBQVFjQUNiR29vQXJBQ0lnUkJBRTRFUUNBRVFRaDBJQUZxSWdRb0F1d0JSUVJBSUFSQkNEWUM3QUVMQ3lBQVFRRnFJUUFNQUFBTEFBc01BUXNnQTBFQU5nSm9DeUFMSkFZTHlRd0NFSDhSZkNNR0lRWWpCa0dBQVdva0JpQUdRZmdBYWlFT0lBWkI4QUJxSVE4Z0JrSG9BR29oRUNBR1FlQUFhaUVSSUFaQjJBQnFJUklnQmtIUUFHb2hDQ0FHUWNnQWFpRUpJQU5CQkVnRWYwRi9CUUovQTBBZ0JTQURTQVJBSUFWQkFXb2hFMEYvSUFWQkdHd2dBbW9yQXhCRUFBQUFBQUFBQUFCaURRSWFJQk1oQlF3QkN3c2dBQ3NEQUVRQUFBQUFBQUFBQUdFRWYwRi9CU0FBS3dNZ1JBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckF5aEVBQUFBQUFBQUFBQmhCSDlCZndVZ0FFRkFheXNEQUVRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dOSVJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExQkVBQUFBQUFBQThEOWlCSDlCZndVZ0FDc0RHRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd000UkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFoRUFBQUFBQUFBQUFCaUJIOUJmd1VnQTBFQmRDSUZRUWdRaXdFaUNrVUVRRUVBUVFOQjlhd0JJQWtRUFVGL0RBb0xJQVZCQVJDTEFTSUpSUVJBSUFvUVNVRUFRUU5CajYwQklBZ1FQVUYvREFvTFFRQWhDQU5BSUFNZ0NFY0VRQ0FLS0FJQUlnY2dDRUVFZENJRlFRTjBhaUFJUVJoc0lBSnFJZ3NyQXdBNUF3QWdCVUVCY2tFRGRDQUhhaUFJUVJoc0lBSnFJZ3dyQXdnNUF3QWdCVUVDY2tFRGRDQUhha1FBQUFBQUFBRHdQemtEQUNBRlFRTnlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQkhKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUZja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVFaeVFRTjBJQWRxSUFzckF3QWdDRUVFZENBQmFpSU5Ld01Bb3BvNUF3QWdCVUVIY2tFRGRDQUhhaUFNS3dNSUlBMHJBd0NpbWprREFDQUZRUWh5UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkNYSkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVLY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRdHlRUU4wSUFkcUlBc3JBd0E1QXdBZ0JVRU1ja0VEZENBSGFpQU1Ld01JT1FNQUlBVkJEWEpCQTNRZ0IycEVBQUFBQUFBQThEODVBd0FnQlVFT2NrRURkQ0FIYWlBTEt3TUFJQWhCQkhRZ0FXb2lDeXNEQ0tLYU9RTUFJQVZCRDNKQkEzUWdCMm9nRENzRENDQUxLd01Jb3BvNUF3QWdDU2dDQUNJSElBaEJBWFFpQlVFRGRHb2dEU3NEQURrREFDQUZRUUZ5UVFOMElBZHFJQXNyQXdnNUF3QWdDRUVCYWlFSURBRUxDeUFLRUtBRElnRkZCRUFnQ2hCSklBa1FTVUVBUVFOQnFhMEJJQklRUFVGL0RBb0xJQUVnQ2hEWkFTSURSUVJBSUFvUVNTQUpFRWtnQVJCSlFRQkJBMEhEclFFZ0VSQTlRWDhNQ2dzZ0FTQUpFTmtCSWdWRkJFQWdDaEJKSUFrUVNTQUJFRWtnQXhCSlFRQkJBMEhkclFFZ0VCQTlRWDhNQ2dzZ0F4RFdBVUVBU0FSQUlBb1FTU0FKRUVrZ0FSQkpJQU1RU1NBRkVFbEJBRUVEUWZldEFTQVBFRDFCZnd3S0N5QURJQVVRMlFFaUJ3Ui9JQWNvQWdBaUFpc0RNQ0VXSUFJckF3QWdGaUFBS3dNUUloMmlvU0FDS3dNWUlCWWdBQ3NETUNJYm9xRWdBQ3NES0NJY295SVpJQUFyQXdnaUhxS2hJQUFyQXdBaUg2TWhHQ0FDS3dNZ0lCc2dBaXNET0NJVm9xRWdIS01oRnlBQ0t3TUlJQjBnRmFLaElCNGdGNktoSUIraklSb2dBaXNES0NBYm9TQWNveUViSUFJckF4QWhKQ0FLRUVrZ0NSQkpJQUVRU1NBREVFa2dCUkJKSUFjUVNTQUdJQmdnRmlBV29pQVpJQm1pSUJnZ0dLS2dvSjhpR0tNNUF3QWdCaUFaSUJpak9RTUlJQVlnRmlBWW96a0RFQ0FHSUJvZ0ZTQVZvaUFYSUJlaUlCb2dHcUtnb0o4aUZxTTVBeGdnQmlBWElCYWpPUU1nSUFZZ0ZTQVdvemtES0NBR0VQSUpJQVlyQXdnaUdTQUdLd01vSWhxaUlBWXJBeEFpSENBR0t3TWdJaUNpb1NFVklCd2dCaXNER0NJaG9pQWFJQVlyQXdBaUlxS2hJUmNnQmlBVklDQWdJcUlnR1NBaG9xRWlJeUFqb2lBVklCV2lJQmNnRjZLZ29KOGlGYU1pSlRrRE1DQUdJQmNnRmFNaUZ6a0RPQ0FHUVVCcklDTWdGYU1pRlRrREFDQUVJQ0k1QXdBZ0JDQVpPUU1nSUFSQlFHc2dIRGtEQUNBRUlDRTVBd2dnQkNBZ09RTW9JQVFnR2prRFNDQUVJQ1U1QXhBZ0JDQVhPUU13SUFRZ0ZUa0RVQ0FFSUNRZ0hhRWdIaUFib3FFZ0g2TWdHQ0FXb0VRQUFBQUFBQURnUDZJaUZxTTVBeGdnQkNBYklCYWpPUU00SUFSRUFBQUFBQUFBOEQ4Z0ZxTTVBMWhCQUFVZ0NoQkpJQWtRU1NBQkVFa2dBeEJKSUFVUVNVRUFRUU5Ca2E0QklBNFFQVUYvQ3dzTEN3c0xDd3NMQ3dzTElSUWdCaVFHSUJRTEVnQWdBRUdzb2dFMkFnQWdBRUVRYWhCSEN4SUFJQUJCaEtJQk5nSUFJQUJCREdvUVJ3c2pBUUYvSUFCQjBLRUJOZ0lBSUFBb0FnZ2lBUVJBSUFBc0FBd0VRQ0FCRURnTEN3dDlBUVIvSUFCQnZLRUJOZ0lBSUFCQkNHb2hBd05BSUFJZ0FDZ0NEQ0FES0FJQUlnRnJRUUoxU1FSQUlBSkJBblFnQVdvb0FnQWlBUVJBSUFFZ0FTZ0NCQ0lFUVg5cU5nSUVJQVJGQkVBZ0FTQUJLQUlBS0FJSVFmOEJjVUdzQTJvUkFRQUxDeUFDUVFGcUlRSU1BUXNMSUFCQmtBRnFFRWNnQXhDUENndlVDZ0lQZndSOEl3WWhDeU1HUWNBQmFpUUdJQXRCdUFGcUlRZ2dDMEd3QVdvaERpQUxRYWdCYWlFS0lBdEJvQUZxSVFVZ0MwR1FBV29oRHlBTFFUQnFJUkFnQVNnQ0NDSUpRUVJJQkg5QmZ3VUNmd0ovSUFBckE0QUJJQW0zb2hCeklSRWdDVUhnQUd3UVJDSUdSUVJBUVFCQkEwSEsyQUlnQlJBOVFYOE1BZ3NnQ1VFRWRCQkVJZ2RGQkVCQkFFRURRY3JZQWlBS0VEMGdCaEE0UVg4TUFnc2dDVUVEZENJRkVFUWlDVVVFUUVFQVFRTkJ5dGdDSUE0UVBTQUdFRGdnQnhBNFFYOE1BZ3NnQlJCRUlnMUZCRUJCQUVFRFFjcllBaUFJRUQwZ0JoQTRJQWNRT0NBSkVEaEJmd3dDQ3lBUlFYOXFJZ1VMUVFNZ0JVRURTaHNoRWtFQUlRb0RRQ0FLUVFOSEJFQkJBQ0VNQTBBZ0RFRUVSd1JBSUFwQkJYUWdBMm9nREVFRGRHb2dDa0VGZENBQ2FpQU1RUU4wYWlzREFEa0RBQ0FNUVFGcUlRd01BUXNMSUFwQkFXb2hDZ3dCQ3dzZ0VrRURkQ0FOYWlFTVFRQWhDZ0pBQWtBQ1FBSkFBMEFDUUNBQUlBTWdFQkN6QWtFQUlRVURRQ0FGSUFFb0FnZ2lBa2dFUUNBUElCQWdBU2dDQkNBRlFSaHNhaEM3QkVFQVNBMENJQUVvQWdBaUFpQUZRUVIwYWlzREFDQVBLd01Bb1NFV0lBVkJCSFFnQW1vckF3Z2dEeXNEQ0tFaEZDQUZRUUYwSWdKQkEzUWdCMm9nRmprREFDQUNRUUZ5UVFOMElBZHFJQlE1QXdBZ0JVRURkQ0FOYWlBV0lCYWlJQlFnRktLZ0loUTVBd0FnQlVFRGRDQUphaUFVT1FNQUlBVkJBV29oQlF3QkN3c2dEU0FDUVFoQkVoQ0NBeUFCS0FJSUlRSkVBQUFBQUFBQU1FQWdEQ3NEQUVRQUFBQUFBQUFRUUtJaUZDQVVSQUFBQUFBQUFEQkFZeHNpRjBRQUFBQUFBQUFZUUtNaEZrUUFBQUFBQUFBQUFDRVVRUUFoQlFOQUlBVWdBa2dFUUNBVUlBVkJBM1FnRFdvckF3QWlGQ0FYWkFSOElCWUZJQlpFQUFBQUFBQUE4RDlFQUFBQUFBQUE4RDhnRkNBWG82RWlGQ0FVSUJTaW9xR2lDNkFoRkNBRlFRRnFJUVVNQVFzTElCUWdBcmVqSWhRZ0FDc0RhR01OQlNBS0JFQWdGQ0FBS3dONFl3UkFJQlFnRmFNZ0FDc0RjR1FOQndzTElBb2dBQ2dDWUVZTkJVRUFJUVZCQUNFT0EwQWdEaUFDU0FSQUlBNUJBM1FnQ1dvckF3QWlGU0FYWlFSQUlBVkJCbXdpQ0VFRGRDQUdhaUlDSUFBZ0F5QUJLQUlFSUE1QkdHeHFFTGtFUVFCSURRVWdBa1FBQUFBQUFBRHdQeUFWSUJlam9TSVZJQldpSWhVZ0Fpc0RBS0k1QXdBZ0NFRUJja0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFQ2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVEYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUVha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVHYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUhha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVKYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUtha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFTGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdCVUVEZENBSGFpQVZJQTVCQVhRaUFrRURkQ0FIYWlzREFLSTVBd0FnQlVFQmFrRURkQ0FIYWlBVklBSkJBWEpCQTNRZ0Iyb3JBd0NpT1FNQUlBVkJBbW9oQlNBQktBSUlJUUlMSUE1QkFXb2hEZ3dCQ3dzZ0JVRUdTQTBESUFzZ0J5QUdJQVVRc3dSQkFFZ05CQ0FESUFzUXNnUWdGQ0VWSUFwQkFXb2hDZ3dCQ3dzZ0JpQUhJQWtnRFJDUEFrRi9EQVFMSUFZZ0J5QUpJQTBRandKQmZ3d0RDeUFHSUFjZ0NTQU5FSThDUVg4TUFnc2dCaUFISUFrZ0RSQ1BBa0YvREFFTElBUWdGRGtEQUNBR0VEZ2dCeEE0SUFrUU9DQU5FRGhCQUFzTElSTWdDeVFHSUJNTEhnQWdBRUdNb1FFMkFnQWdBQ2dDQ0JCY1J3UkFJQUFvQWdnUWh3TUxDeElBSUFRZ0FqWUNBQ0FISUFVMkFnQkJBd3NFQUVFRUN4VUFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd4cEJmd3YrQ0FFTWZ5QUNJQUEyQWdBZ0RVRUVhaUVZSUFOQmdBUnhSU0VaSUE1QkFFb2hHZ05BSUJkQkJFY0VRQUpBQWtBQ1FBSkFBa0FDUUNBSUlCZHFMQUFBRGdVQUFRTUNCQVVMSUFFZ0FpZ0NBRFlDQUF3RUN5QUJJQUlvQWdBMkFnQWdCaWdDQUNnQ0xDRVBJQVpCSUNBUFFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxTmdJQUlBOGdFRFlDQUF3REN5QU5MQUFMSWc5QkFFZ2hFQ0FZS0FJQUlBOUIvd0Z4SUJBYkJFQWdEU2dDQUNBTklCQWJLQUlBSVJBZ0FpQUNLQUlBSWc5QkJHbzJBZ0FnRHlBUU5nSUFDd3dDQ3lBTUxBQUxJZzlCQUVnaEVDQVpJQXdvQWdRZ0QwSC9BWEVnRUJzaUUwVnlSUVJBSUF3b0FnQWdEQ0FRR3lJUElCTkJBblJxSVJFZ0FpZ0NBQ0lRSVJJRFFDQVBJQkZIQkVBZ0VpQVBLQUlBTmdJQUlCSkJCR29oRWlBUFFRUnFJUThNQVFzTElBSWdFMEVDZENBUWFqWUNBQXNNQVFzZ0FpZ0NBQ0VVSUFSQkJHb2dCQ0FIR3lJV0lRUURRQUpBSUFRZ0JVOE5BQ0FHS0FJQUtBSU1JUThnQmtHQUVDQUVLQUlBSUE5QlAzRkJ5Z0ZxRVFRQVJRMEFJQVJCQkdvaEJBd0JDd3NnR2dSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJaTGNRUkFJQVJCZkdvaUJDZ0NBQ0VSSUFJZ0FpZ0NBQ0lRUVFScU5nSUFJQkFnRVRZQ0FDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUlzSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVRJQThoRVNBQ0tBSUFJUkFEUUNBUVFRUnFJUThnRVVFQVNnUkFJQkFnRXpZQ0FDQVJRWDlxSVJFZ0R5RVFEQUVMQ3lBQ0lBODJBZ0FnRUNBSk5nSUFDeUFFSUJaR0JFQWdCaWdDQUNnQ0xDRUVJQVpCTUNBRVFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxSWdRMkFnQWdEeUFRTmdJQUJTQUxMQUFMSWc5QkFFZ2hFQ0FMS0FJRUlBOUIvd0Z4SUJBYkJIOGdDeWdDQUNBTElCQWJMQUFBQlVGL0N5RVBRUUFoRUVFQUlSSWdCQ0VSQTBBZ0VTQVdSd1JBSUFJb0FnQWhGU0FQSUJKR0JIOGdBaUFWUVFScUloTTJBZ0FnRlNBS05nSUFJQXNzQUFzaUQwRUFTQ0VWSUJCQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJVYlNRUkFRWDhnQkNBTEtBSUFJQXNnRlJ0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJJaER3dEJBQ0VTSUJNRklCQWhCQ0FWQ3lFUUlCRkJmR29pRVNnQ0FDRVRJQUlnRUVFRWFqWUNBQ0FRSUJNMkFnQWdCQ0VRSUJKQkFXb2hFZ3dCQ3dzZ0FpZ0NBQ0VFQ3lBRUlCUkdCSDhnRmdVRFFDQVVJQVJCZkdvaUJFa0VRQ0FVS0FJQUlROGdGQ0FFS0FJQU5nSUFJQVFnRHpZQ0FDQVVRUVJxSVJRTUFRVWdGaUVFREFNTEFBQUxBQXNoQkFzZ0YwRUJhaUVYREFFTEN5QU5MQUFMSWdSQkFFZ2hCeUFZS0FJQUlBUkIvd0Z4SUFjYklnWkJBVXNFUUNBTktBSUFJZ1ZCQkdvZ0dDQUhHeUVFSUFaQkFuUWdCU0FOSUFjYmFpSUhJQVJySVFZZ0FpZ0NBQ0lGSVFnRFFDQUVJQWRIQkVBZ0NDQUVLQUlBTmdJQUlBaEJCR29oQ0NBRVFRUnFJUVFNQVFzTElBSWdCa0VDZGtFQ2RDQUZhallDQUFzQ1FDQURRYkFCY1VFWWRFRVlkVUVRYXlJRFJRMEFJQU5CRUVZRVFDQUJJQUlvQWdBMkFnQU1BUXNnQVNBQU5nSUFDd3ZaQlFFRmZ5TUdJUW9qQmtFUWFpUUdJQXBCREdvaEN5QUtJQUFFZnlBQ1FmalBBeEE2QlNBQ1FmRFBBeEE2Q3lJQUlBRUVmeUFMSUFBZ0FDZ0NBQ2dDTEVFL2NVR3lCV29SQXdBZ0F5QUxLQUlBTmdBQUlBQW9BZ0FvQWlBRklBc2dBQ0FBS0FJQUtBSW9RVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NIQXRCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBRUlBQWdBQ2dDQUNnQ0RFSC9BSEZCQ0dvUkFBQTJBZ0FnQlNBQUlBQW9BZ0FvQWhCQi93QnhRUWhxRVFBQU5nSUFJQW9nQUNBQUtBSUFLQUlVUVQ5eFFiSUZhaEVEQUNBR0xBQUxRUUJJQkVBQ2Z5QUdLQUlBSVEwZ0MwRUFPZ0FBSUEwTElBc1FYeUFHUVFBMkFnUWdCaXdBQzBFQVNBUkFJQVlvQWdnYUlBWW9BZ0FRT0NBR1FRQTJBZ2dMQlNBTFFRQTZBQUFnQmlBTEVGOGdCa0VBT2dBTEN5QUdJQW9wQWdBM0FnQWdCaUFLS0FJSU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQXBxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFLRUVjZ0NpQUFJQUFvQWdBb0FoaEJQM0ZCc2dWcUVRTUFJQWNzQUF0QkFFZ0VRQUovSUFjb0FnQWhEaUFMUVFBMkFnQWdEZ3NnQ3hCdUlBZEJBRFlDQkNBSExBQUxRUUJJQkVBZ0J5Z0NDQm9nQnlnQ0FCQTRJQWRCQURZQ0NBc0ZJQXRCQURZQ0FDQUhJQXNRYmlBSFFRQTZBQXNMSUFjZ0Npa0NBRGNDQUNBSElBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFKSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBMkFnQWdDaVFHQzdZSUFRcC9JQUlnQURZQ0FDQURRWUFFY1VVaEZ5QU9RUUJLSVJnRFFDQVZRUVJIQkVBQ1FBSkFBa0FDUUFKQUFrQWdDQ0FWYWl3QUFBNEZBQUVEQWdRRkN5QUJJQUlvQWdBMkFnQU1CQXNnQVNBQ0tBSUFOZ0lBSUFZb0FnQW9BaHdoRHlBR1FTQWdEMEUvY1VHS0FXb1JBZ0FoRUNBQ0lBSW9BZ0FpRDBFQmFqWUNBQ0FQSUJBNkFBQU1Bd3NnRFN3QUN5SVBRUUJJSVJBZ0RTZ0NCQ0FQUWY4QmNTQVFHd1JBSUEwb0FnQWdEU0FRR3l3QUFDRVFJQUlnQWlnQ0FDSVBRUUZxTmdJQUlBOGdFRG9BQUFzTUFnc2dEQ3dBQ3lJUFFRQklJUkFnRnlBTUtBSUVJQTlCL3dGeElCQWJJZzlGY2tVRVFDQVBJQXdvQWdBZ0RDQVFHeUlQYWlFUUlBSW9BZ0FoRVFOQUlBOGdFRWNFUUNBUklBOHNBQUE2QUFBZ0VVRUJhaUVSSUE5QkFXb2hEd3dCQ3dzZ0FpQVJOZ0lBQ3d3QkN5QUNLQUlBSVJJZ0JFRUJhaUFFSUFjYkloTWhCQU5BQWtBZ0JDQUZUdzBBSUFRc0FBQWlEMEYvVEEwQUlBWW9BZ2dnRDBFQmRHb3VBUUJCZ0JCeFJRMEFJQVJCQVdvaEJBd0JDd3NnR0FSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJOTGNRUkFJQVJCZjJvaUJDd0FBQ0VSSUFJZ0FpZ0NBQ0lRUVFGcU5nSUFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUljSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVJBMEFnQWlBQ0tBSUFJaEJCQVdvMkFnQWdEMEVBU2dSQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQWdDVG9BQUFzZ0JDQVRSZ1JBSUFZb0FnQW9BaHdoQkNBR1FUQWdCRUUvY1VHS0FXb1JBZ0FoRHlBQ0lBSW9BZ0FpQkVFQmFqWUNBQ0FFSUE4NkFBQUZBa0FnQ3l3QUN5SVBRUUJJSVJBZ0N5Z0NCQ0FQUWY4QmNTQVFHd1IvSUFzb0FnQWdDeUFRR3l3QUFBVkJmd3NoRDBFQUlSRkJBQ0VVSUFRaEVBTkFJQkFnRTBZTkFTQVBJQlJHQkVBZ0FpQUNLQUlBSWdSQkFXbzJBZ0FnQkNBS09nQUFJQXNzQUFzaUQwRUFTQ0VXSUJGQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJZYlNRUkFRWDhnQkNBTEtBSUFJQXNnRmh0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJRaER3dEJBQ0VVQlNBUklRUUxJQkJCZjJvaUVDd0FBQ0VXSUFJZ0FpZ0NBQ0lSUVFGcU5nSUFJQkVnRmpvQUFDQUVJUkVnRkVFQmFpRVVEQUFBQ3dBTEN5QUNLQUlBSWdRZ0VrWUVmeUFUQlFOQUlCSWdCRUYvYWlJRVNRUkFJQklzQUFBaER5QVNJQVFzQUFBNkFBQWdCQ0FQT2dBQUlCSkJBV29oRWd3QkJTQVRJUVFNQXdzQUFBc0FDeUVFQ3lBVlFRRnFJUlVNQVFzTElBMHNBQXNpQkVFQVNDRUdJQTBvQWdRZ0JFSC9BWEVnQmhzaUJVRUJTd1JBSUEwb0FnQWdEU0FHR3lJRUlBVnFJUVVnQWlnQ0FDRUdBMEFnQlNBRVFRRnFJZ1JIQkVBZ0JpQUVMQUFBT2dBQUlBWkJBV29oQmd3QkN3c2dBaUFHTmdJQUN3SkFJQU5Cc0FGeFFSaDBRUmgxUVJCcklnTkZEUUFnQTBFUVJnUkFJQUVnQWlnQ0FEWUNBQXdCQ3lBQklBQTJBZ0FMQzlrRkFRVi9Jd1loQ2lNR1FSQnFKQVlnQ2tFTWFpRUxJQW9nQUFSL0lBSkI2TThERURvRklBSkI0TThERURvTElnQWdBUVIvSUFzZ0FDQUFLQUlBS0FJc1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0lBVWdDeUFBSUFBb0FnQW9BaWhCUDNGQnNnVnFFUU1BSUFNZ0N5Z0NBRFlBQUNBQUtBSUFLQUljQzBFL2NVR3lCV29SQXdBZ0NDd0FDMEVBU0FSQUFuOGdDQ2dDQUNFTUlBdEJBRG9BQUNBTUN5QUxFRjhnQ0VFQU5nSUVJQWdzQUF0QkFFZ0VRQ0FJS0FJSUdpQUlLQUlBRURnZ0NFRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFnZ0N4QmZJQWhCQURvQUN3c2dDQ0FLS1FJQU53SUFJQWdnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBUWdBQ0FBS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRklBQWdBQ2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQUlBQW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUxRUUE2QUFBZ0RRc2dDeEJmSUFaQkFEWUNCQ0FHTEFBTFFRQklCRUFnQmlnQ0NCb2dCaWdDQUJBNElBWkJBRFlDQ0FzRklBdEJBRG9BQUNBR0lBc1FYeUFHUVFBNkFBc0xJQVlnQ2lrQ0FEY0NBQ0FHSUFvb0FnZzJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQ21wQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFvUVJ5QUtJQUFnQUNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VPSUF0QkFEb0FBQ0FPQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFrZ0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTHRTTUJHMzhqQmlFUEl3WkJnQVJxSkFZZ0QwSDBBMm9oR1NBUFFkZ0RhaUVmSUE5QjFBTnFJU0FnRDBHOEEyb2hEQ0FQUWJBRGFpRU5JQTlCcEFOcUlRNGdEMEdZQTJvaEVTQVBRWlFEYWlFWElBOUJrQU5xSVJ3Z0QwSHdBMm9pR2lBS05nSUFJQTlCNkFOcUloUWdEellDQUNBVVFaRUJOZ0lFSUE5QjRBTnFJaElnRHpZQ0FDQVBRZHdEYWlJYklBOUJrQU5xTmdJQUlBOUJ5QU5xSWhaQ0FEY0NBQ0FXUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdGbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQXhDQURjQ0FDQU1RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RHcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBMUNBRGNDQUNBTlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRFdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUE1Q0FEY0NBQ0FPUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQkZDQURjQ0FDQVJRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0VXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBSWdBeUFaSUI4Z0lDQVdJQXdnRFNBT0lCY1Fxd29nQ1NBSUtBSUFOZ0lBSUFSQmdBUnhRUUJISVNGQkFDRUNBbjhDUUFKQUFrQUNRQUpBQWtBRFFBSkFJQk5CQkU4TkJ5QUFLQUlBSWdNRWZ5QURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FCS0FJQUlndEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVFzTEFrQUNRQUpBQWtBQ1FBSkFBa0FnRXlBWmFpd0FBQTRGQVFBREFnUUdDeUFUUVFOSEJFQWdCMEdBd0FBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5CeUFSSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFBVWdBeUFFUVFScU5nSU1JQVFvQWdBTEVJNENEQVVMREFVTElCTkJBMGNOQXd3RUN5QU5LQUlFSUEwc0FBc2lBMEgvQVhFZ0EwRUFTQnNpQzBFQUlBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlRYTBjRVFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJpRUtJQXRGSWdzZ0VFVnlCRUFnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElRTWdDd1JBSUE0b0FnQWdEaUFPTEFBTFFRQklHeWdDQUNBRFJ3MEdJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0JrRUJPZ0FBSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CZ3NnRFNnQ0FDQU5JQTBzQUF0QkFFZ2JLQUlBSUFOSEJFQWdCa0VCT2dBQURBWUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0RTQUNJQTBvQWdRZ0RTd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3dKL0lBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUVrSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0pDQU5LQUlBSUEwZ0RTd0FDMEVBU0Jzb0FnQkdDd1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFOSUFJZ0RTZ0NCQ0FOTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBVUxJQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBT0tBSUFJQTRnRGl3QUMwRUFTQnNvQWdCSERRY2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBR1FRRTZBQUFnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnc01Bd3NDUUFKQUlCTkJBa2tnQW5JRVFDQU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1nRXcwQkJTQVRRUUpHSUJrc0FBTkJBRWR4SUNGeVJRUkFRUUFoQWd3R0N5QU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1NQVFzTUFRc2dHU0FUUVg5cWFpMEFBRUVDU0FSQUFrQUNRQU5BSUFNZ0RDZ0NCQ0FLUWY4QmNTQUtRUmgwUVJoMVFRQklJaEFiUVFKMElBUWdEQ0FRRzJwSEJFQWdCMEdBd0FBZ0F5Z0NBQ0FIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NNQVFzZ0RDd0FDeUVLSUF3b0FnQWhCQXNnRVN3QUN5SVlRUUJJSVJVZ0F5QUVJQXdnQ2tFWWRFRVlkVUVBU0JzaUhTSVFhMEVDZFNJaUlCRW9BZ1FpSGlBWVFmOEJjU0lZSUJVYlN3Ui9JQkFGSUJFb0FnQWdIa0VDZEdvaUhpQVlRUUowSUJGcUloZ2dGUnNoSTBFQUlDSnJRUUowSUI0Z0dDQVZHMm9oRlFOL0lCVWdJMFlOQXlBVktBSUFJQjBvQWdCR0JIOGdIVUVFYWlFZElCVkJCR29oRlF3QkJTQVFDd3NMSVFNTEN3TkFBa0FnQXlBTUtBSUVJQXBCL3dGeElBcEJHSFJCR0hWQkFFZ2lDaHRCQW5RZ0JDQU1JQW9iYWtZTkFDQUFLQUlBSWdRRWZ5QUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FMUlEwQUlBc29BZ3dpQ2lBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwREN3d0JDeUFFRFFGQkFDRUxDeUFBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMSUFNb0FnQkhEUUFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFUUNBRUlBUW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdCQ0FLUVFScU5nSU1JQW9vQWdBYUN5QURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzZ0lRUkFJQXdzQUFzaUNrRUFTQ0VFSUF3b0FnUWdDa0gvQVhFZ0JCdEJBblFnRENnQ0FDQU1JQVFiYWlBRFJ3MEhDd3dDQzBFQUlRUWdDeUVEQTBBQ1FDQUFLQUlBSWdvRWZ5QUtLQUlNSWhBZ0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFS0FrQUNRQ0FMUlEwQUlBc29BZ3dpRUNBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoQ3dzZ0IwR0FFQ0FBS0FJQUlnb29BZ3dpRUNBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMSWhBZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFBRWZ5QUpLQUlBSWdvZ0dpZ0NBRVlFUUNBSUlBa2dHaEROQVNBSktBSUFJUW9MSUFrZ0NrRUVhallDQUNBS0lCQTJBZ0FnQkVFQmFnVWdGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUJBZ0lDZ0NBRVp4UlEwQklCSW9BZ0FpQ2lBYktBSUFSZ1JBSUJRZ0VpQWJFTTBCSUJJb0FnQWhDZ3NnRWlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSVFJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0VFRUVhallDRENBUUtBSUFHZ3NNQVFzTElCSW9BZ0FpQ2lBVUtBSUFSeUFFUVFCSGNRUkFJQW9nR3lnQ0FFWUVRQ0FVSUJJZ0d4RE5BU0FTS0FJQUlRb0xJQklnQ2tFRWFqWUNBQ0FLSUFRMkFnQUxJQmNvQWdCQkFFb0VRQUpBSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dIeWdDQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJCR28yQWd3Z0NpZ0NBQm9MQTBBZ0Z5Z0NBRUVBVEEwQklBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQWRCZ0JBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5DaUFKS0FJQUlCb29BZ0JHQkVBZ0NDQUpJQm9RelFFTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2hCQ0FKSUFrb0FnQWlDa0VFYWpZQ0FDQUtJQVEyQWdBZ0Z5QVhLQUlBUVg5cU5nSUFJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCRUFnQkNBRUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBUWdDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUU1DUUFKQUlBdEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUVFMREFFTElBTU5Ba0VBSVFzTElBZEJnTUFBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUFzZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVFYWpZQ0RDQUVLQUlBQ3hDT0Fnd0FBQXNBQ3lBVFFRRnFJUk1NQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFFb0FnQWlBMFVOQUNBREtBSU1JZ2dnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCRVVOQXdzTUFRc2dCQTBCQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElBSXNBQXRCQUVnRWZ5QUNLQUlBQlNBQ0N5QUhRUUowYWlnQ0FFY05BQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQkdvMkFnd2dCQ2dDQUJvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlFvQWdBaUFDQVNLQUlBSWdGR0JIOUJBUVVnSEVFQU5nSUFJQllnQUNBQklCd1FlQ0FjS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSlNBUkVFY2dEaEJISUEwUVJ5QU1FRWNnRmhCSElCUW9BZ0FoQUNBVVFRQTJBZ0FnQUFSQUlBQWdGQ2dDQkVIL0FYRkJyQU5xRVFFQUN5QVBKQVlnSlF1c0FRRUZmeUFDS0FJQUlBQW9BZ0FpQXlJR2F5SUZRUUYwSWdSQkFTQUVHMEYvSUFWQi8vLy8vd2RKR3lFRklBRW9BZ0FoQnlBRFFRQWdBQ2dDQkVHUkFVY2lCQnNnQlJEb0FTSURSUVJBRUFBTElBUUVRQ0FBSUFNMkFnQUZJQUFvQWdBaEJDQUFJQU0yQWdBZ0JBUkFJQVFnQUNnQ0JFSC9BWEZCckFOcUVRRUFJQUFvQWdBaEF3c0xJQUJCa2dFMkFnUWdBU0FISUFacklBTnFOZ0lBSUFJZ0JTQUFLQUlBYWpZQ0FBdWNKQUVhZnlNR0lSQWpCa0dBQkdva0JpQVFRZkFEYWlFYUlCQkI3UU5xSVNBZ0VFSHNBMm9oSVNBUVFid0RhaUVOSUJCQnNBTnFJUTRnRUVHa0Eyb2hEeUFRUVpnRGFpRVJJQkJCbEFOcUlSY2dFRUdRQTJvaEhpQVFRZWdEYWlJYklBbzJBZ0FnRUVIZ0Eyb2lGU0FRTmdJQUlCVkJrUUUyQWdRZ0VFSFlBMm9pRXlBUU5nSUFJQkJCMUFOcUlod2dFRUdRQTJvMkFnQWdFRUhJQTJvaUZrSUFOd0lBSUJaQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FXYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRFVJQU53SUFJQTFCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU5ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEa0lBTndJQUlBNUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBT2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0QwSUFOd0lBSUE5QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FQYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRVVJQU53SUFJQkZCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVJha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dBaUFESUJvZ0lDQWhJQllnRFNBT0lBOGdGeEN2Q2lBSklBZ29BZ0EyQWdBZ0JFR0FCSEZCQUVjaElrRUFJUUlDZndKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnRkVFRVR3MEhJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0FTZ0NBQ0lNUlEwQUlBd29BZ3dpQkNBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXdMQWtBQ1FBSkFBa0FDUUFKQUFrQWdGQ0FhYWl3QUFBNEZBUUFEQWdRR0N5QVVRUU5IQkVBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxJZ05CL3dGeFFSaDBRUmgxUVg5TURRY2dCeWdDQ0NBRFFSaDBRUmgxUVFGMGFpNEJBRUdBd0FCeFJRMEhJQkVnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0MwSC9BWEVRekFFTUJRc01CUXNnRkVFRFJ3MEREQVFMSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SUxRUUFnRHlnQ0JDQVBMQUFMSWdOQi93RnhJQU5CQUVnYklneHJSd1JBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0MwVWlDeUFNUlhJRVFDQUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBIL0FYRWhBeUFMQkVBZ0R5Z0NBQ0FQSUE4c0FBdEJBRWdiTFFBQUlBTkhEUVlnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQVpCQVRvQUFDQVBJQUlnRHlnQ0JDQVBMQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFZTElBNG9BZ0FnRGlBT0xBQUxRUUJJR3kwQUFDQURSd1JBSUFaQkFUb0FBQXdHQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDeUFLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0N5RUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nRGlnQ0FDQU9JQTRzQUF0QkFFZ2JMUUFBSUF0Qi93RnhSZ1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CUXNnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEIvd0Z4SUE4b0FnQWdEeUFQTEFBTFFRQklHeTBBQUVjTkJ5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0JrRUJPZ0FBSUE4Z0FpQVBLQUlFSUE4c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSUxEQU1MQWtBQ1FDQVVRUUpKSUFKeUJFQWdEU2dDQUNJS0lBMGdEU3dBQ3lJRFFRQklJZ3NiSWhnaEJDQVVEUUVGSUJSQkFrWWdHaXdBQTBFQVIzRWdJbkpGQkVCQkFDRUNEQVlMSUEwb0FnQWlDaUFOSUEwc0FBc2lBMEVBU0NJTEd5SVlJUVFNQVFzTUFRc2dHaUFVUVg5cWFpMEFBRUVDU0FSQUlBMG9BZ1FnQTBIL0FYRWdDeHNnR0dvaEVpQUVJUXNEUUFKQUlBc2dFa1lOQUNBTExBQUFJaDFCZjB3TkFDQUhLQUlJSUIxQkFYUnFMZ0VBUVlEQUFIRkZEUUFnQzBFQmFpRUxEQUVMQ3lBUkxBQUxJaGxCQUVnaEVpQUxJQVJySWgwZ0VTZ0NCQ0lmSUJsQi93RnhJaGtnRWh0TkJFQWdIeUFSS0FJQWFpSWZJQkVnR1dvaUdTQVNHeUVqSUI4Z0hXc2dHU0FkYXlBU0d5RVNBMEFnRWlBalJnUkFJQXNoQkF3RUN5QVNMQUFBSUJnc0FBQkdCRUFnR0VFQmFpRVlJQkpCQVdvaEVnd0JDd3NMQ3dzRFFBSkFJQVFnQ2lBTklBTkJHSFJCR0hWQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEdEUUFnQUNnQ0FDSURCSDhnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQU1SUTBBSUF3b0Fnd2lDaUFNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFNTERBRUxJQU1OQVVFQUlRd0xJQUFvQWdBaUF5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdCQzBBQUVjTkFDQUFLQUlBSWdNb0Fnd2lDaUFES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUJhaUVFSUEwc0FBc2hBeUFOS0FJQUlRb01BUXNMSUNJRVFDQUVJQTBvQWdBZ0RTQU5MQUFMSWdOQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEhEUWNMREFJTFFRQWhCQ0FNSVFNRFFBSkFJQUFvQWdBaUNnUi9JQW9vQWd3aUN5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQXNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDZ0pBQWtBZ0RFVU5BQ0FNS0FJTUlnc2dEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FMTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhEQXNDZndKQUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JIOGdDaUFLS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDeUlLUWY4QmNTSUxRUmgwUVJoMVFYOU1EUUFnQnlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUUFnQ1NnQ0FDSUtJQnNvQWdCR0JFQWdDQ0FKSUJzUXB3UWdDU2dDQUNFS0N5QUpJQXBCQVdvMkFnQWdDaUFMT2dBQUlBUkJBV29NQVFzZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQ0V0QUFBZ0MwWnhSUTBCSUJNb0FnQWlDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nQzBFQmFqWUNEQ0FMTEFBQUVFSWFDd3dCQ3dzZ0V5Z0NBQ0lLSUJVb0FnQkhJQVJCQUVkeEJFQWdDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FBc2dGeWdDQUVFQVNnUkFBa0FnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdJQzBBQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzRFFDQVhLQUlBUVFCTURRRWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlFUWY4QmNVRVlkRUVZZFVGL1RBMEtJQWNvQWdnZ0JFRVlkRUVZZFVFQmRHb3VBUUJCZ0JCeFJRMEtJQWtvQWdBZ0d5Z0NBRVlFUUNBSUlBa2dHeENuQkFzZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLTEFBQUVFSUxJUVFnQ1NBSktBSUFJZ3BCQVdvMkFnQWdDaUFFT2dBQUlCY2dGeWdDQUVGL2FqWUNBQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnREVVTkFDQU1LQUlNSWdRZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRFJRMEVDd3dCQ3lBRERRSkJBQ0VNQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFnc2lBMEgvQVhGQkdIUkJHSFZCZjB3TkFTQUhLQUlJSUFOQkdIUkJHSFZCQVhScUxnRUFRWURBQUhGRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVCYWpZQ0RDQUVMQUFBRUVJTFFmOEJjUkRNQVF3QUFBc0FDeUFVUVFGcUlSUU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FnQVNnQ0FDSURSUTBBSUFNb0Fnd2lDQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFNTERBRUxJQVFOQVFzZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRZjhCY1NBQ0xBQUxRUUJJQkg4Z0FpZ0NBQVVnQWdzZ0Iyb3RBQUJIRFFBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCVW9BZ0FpQUNBVEtBSUFJZ0ZHQkg5QkFRVWdIa0VBTmdJQUlCWWdBQ0FCSUI0UWVDQWVLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKQ0FSRUVjZ0R4QkhJQTRRUnlBTkVFY2dGaEJISUJVb0FnQWhBQ0FWUVFBMkFnQWdBQVJBSUFBZ0ZTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUUpBWWdKQXNaQUNBQVFnQTNBZ0FnQUVFQU5nSUlJQUJCQVVFdEVKTUVDeGtBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUVCUVMwUWxnUUxGUUFnQUNnQ0FCQmNSd1JBSUFBb0FnQVFod01MQzJNQkFYOGpCaUVHSXdaQkVHb2tCaUFHUVNVNkFBQWdCaUFFT2dBQklBWWdCVG9BQWlBR1FRQTZBQU1nQlVIL0FYRUVRQ0FHSUFVNkFBRWdCaUFFT2dBQ0N5QUNJQUVnQWlnQ0FDQUJheUFHSUFNZ0FDZ0NBQkFmSUFGcU5nSUFJQVlrQmdzT0FDQUFRUWhxRUtzRUlBQVFPQXNLQUNBQVFRaHFFS3NFQzJ3QkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSmtCSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCMEE5cUlBRkI3QTVxSUFFZ0FVSGtBRWdiSUFGQnhRQklHMEdVY1dvMkFnQUxJQVVrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJRUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFBQ2FpQUZJQVJCQUJDVkFpQUFheUlBUWFBQ1NBUkFJQUVnQUVFTUVEbEJEQkJQTmdJQUN5QUdKQVlMZXdFQ2Z5TUdJUVlqQmtFUWFpUUdJQUJCQ0dvaUFDZ0NBQ2dDQUNFSElBQWdCMEgvQUhGQkNHb1JBQUFoQUNBR0lBTW9BZ0EyQWdBZ0JrRUVhaUlESUFZb0FnQTJBZ0FnQWlBRElBQWdBRUdvQVdvZ0JTQUVRUUFRbFFJZ0FHc2lBRUdvQVVnRVFDQUJJQUJCREJBNVFRY1FUellDQUFzZ0JpUUdDN2dDQVFaL0l3WWhBeU1HUVlBQ2FpUUdJQU5Cd0FGcUlnSWdBUkRFQ2lBRFFlQUFhaUlFSUFJUXV3cEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkJYUWdBR29oQlNBQlFRVjBJQUJxSVFZZ0FVRUZkQ0FBYWlFSFFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFWMElBTnFJQUpCQTNScUlBVXJBd0FnQWtFRGRDQUVhaXNEQUtJZ0Jpc0RDQ0FFUVNCcUlBSkJBM1JxS3dNQW9xQWdCeXNERUNBRVFVQnJJQUpCQTNScUt3TUFvcUE1QXdBZ0FrRUJhaUVDREFFTEN5QUJRUVYwSUFOcUlnSWdBVUVGZENBQWFpc0RHQ0FDS3dNWW9Ea0RHQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUZCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQVVFRmRDQUFhaUFDUVFOMGFpQUJRUVYwSUFOcUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBREpBWUwwQUVCQkg4akJpRUVJd1pCTUdva0JpQUVRUmhxSWdWQkJqWUNCQ0FGUVFFMkFnZ2dCU0FBTmdJQUlBUkJER29pQmlBRE5nSUVJQVpCQVRZQ0NDQUdJQUUyQWdBZ0JDQUROZ0lFSUFSQkJqWUNDQ0FFSUFJMkFnQWdCQkNnQXlJQUJIOENmeUFBSUFRUTJRRWlBVVVFUUNBQUVFbEJmd3dCQ3lBQUlBWVEyUUVpQWtVRVFDQUFFRWtnQVJCSlFYOE1BUXNnQVJEV0FVRUFTQVIvSUFBUVNTQUJFRWtnQWhCSlFYOEZJQVVnQVNBQ0VLMENHaUFBRUVrZ0FSQkpJQUlRU1VFQUN3c0ZRWDhMSVFjZ0JDUUdJQWNMYkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtZ0VoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUhRRDJvZ0FVSHNEbW9nQVNBQlFlUUFTQnNnQVVIRkFFZ2JRWlJ4YWpZQ0FBc2dCU1FHQzNzQkFuOGpCaUVHSXdaQkVHb2tCaUFBUVFocUlnQW9BZ0FvQWdRaEJ5QUFJQWRCL3dCeFFRaHFFUUFBSVFBZ0JpQURLQUlBTmdJQUlBWkJCR29pQXlBR0tBSUFOZ0lBSUFJZ0F5QUFJQUJCb0FKcUlBVWdCRUVBRUpZQ0lBQnJJZ0JCb0FKSUJFQWdBU0FBUVF3UU9VRU1FRTgyQWdBTElBWWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlBSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYWdCYWlBRklBUkJBQkNXQWlBQWF5SUFRYWdCU0FSQUlBRWdBRUVNRURsQkJ4QlBOZ0lBQ3lBR0pBWUxCQUJCQWd1WENBRUxmeU1HSVFzakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWcwb0FnQW9BaFFoQmlBTElBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnd0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBS0lBSWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VFYWpZQ0FDQUdJQUkyQWdBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FLUVRBZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUVhallDQUNBSElBSTJBZ0FnQ2lBR0xBQUJJQW9vQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFDTmdJQUlBWkJBbW9pQmlFQ0EwQWdBaUFNU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0RFOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBc29BZ1FnQ3l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVFrZ0NDQUhMQUFBT2dBQUlBY2dDVG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lRbEJBQ0VIUVFBaENBTkFJQWtnQWtrRVFDQUhJQXNvQWdBZ0N5QUxMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0R6WUNBQ0FISUFjZ0N5Z0NCQ0FMTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFvZ0NTd0FBQ0FLS0FJQUtBSXNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFScU5nSUFJQkFnRGpZQ0FDQUpRUUZxSVFrZ0NFRUJhaUVJREFFTEN5QUdJQUJyUVFKMElBTnFJZ2tnQlNnQ0FDSUlSZ1IvSUFvaEJ5QUpCU0FJSVFZRGZ5QUpJQVpCZkdvaUJra0VmeUFKS0FJQUlRY2dDU0FHS0FJQU5nSUFJQVlnQnpZQ0FDQUpRUVJxSVFrTUFRVWdDaUVISUFnTEN3c2hCZ1VnQ2lBR0lBSWdCU2dDQUNBS0tBSUFLQUl3UVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFJZ0JtdEJBblJxSWdZMkFnQWdDaUVIQ3dKQUFrQURRQ0FDSUF4SkJFQWdBaXdBQUNJR1FTNUdEUUlnQ2lBR0lBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRa2dCU0FGS0FJQUlnaEJCR29pQmpZQ0FDQUlJQWsyQWdBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFjZ0JTQUZLQUlBSWdsQkJHb2lCallDQUNBSklBYzJBZ0FnQWtFQmFpRUNDeUFLSUFJZ0RDQUdJQW9vQWdBb0FqQkJEM0ZCaWdKcUVRa0FHaUFGSUFVb0FnQWdEQ0FDYTBFQ2RHb2lBallDQUNBRUlBSWdBU0FBYTBFQ2RDQURhaUFCSUF4R0d6WUNBQ0FMRUVjZ0N5UUdDL1VCQWdWL0FYd2pCaUVFSXdaQjRBRnFKQVlnQkVIWUFXb2hCU0FFUVRCcUlnWWdCRUhBQVdvaUJ5QUNJQU1ROHdvZ0JDQUJJQWNRNkFwQkFFZ0VmMEVBUVFOQjRhd0JJQVVRUFVGL0JVRUFJUUVEZnlBQlFRSkdCSDlCQUFWQkFDRUNBMEFnQWtFR1J3UkFJQUZCTUd3Z0FHb2dBa0VEZEdvaUJVUUFBQUFBQUFBQUFEa0RBRUVBSVFORUFBQUFBQUFBQUFBaENRTkFJQU5CQTBjRVFDQUZJQWtnQVVFWWJDQUVhaUFEUVFOMGFpc0RBQ0FEUVRCc0lBWnFJQUpCQTNScUt3TUFvcUFpQ1RrREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3dzaENDQUVKQVlnQ0F2NkJ3RUxmeU1HSVFvakJrRVFhaVFHSUFaQmdNNERFRG9oQ1NBR1FaRE9BeEE2SWcwb0FnQW9BaFFoQmlBS0lBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnc0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBSklBSWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQUk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FKUVRBZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBSTZBQUFnQ1NBR0xBQUJJQWtvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFDT2dBQUlBWkJBbW9pQmlFQ0EwQWdBaUFMU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0MwOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1IvSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVF3Z0NDQUhMQUFBT2dBQUlBY2dERG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lReEJBQ0VJUVFBaEJ3TkFJQXdnQWtrRVFDQUhJQW9vQWdBZ0NpQUtMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0R6b0FBQ0FISUFjZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFrZ0RDd0FBQ0FKS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFGcU5nSUFJQkFnRGpvQUFDQU1RUUZxSVF3Z0NFRUJhaUVJREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWtGQTM4Z0J5QUdRWDlxSWdaSkJIOGdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFRklBa0xDd3NGSUFrZ0JpQUNJQVVvQWdBZ0NTZ0NBQ2dDSUVFUGNVR0tBbW9SQ1FBYUlBVWdCU2dDQUNBQ0lBWnJhallDQUNBSkN5RUdBa0FDUUFOQUlBSWdDMGtFUUNBQ0xBQUFJZ2RCTGtZTkFpQUpJQWNnQmlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFQmFqWUNBQ0FJSUFjNkFBQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRWWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdPZ0FBSUFKQkFXb2hBZ3NnQ1NBQ0lBc2dCU2dDQUNBSktBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFzZ0FtdHFJZ0kyQWdBZ0JDQUNJQU1nQVNBQWEyb2dBU0FMUmhzMkFnQWdDaEJISUFva0JndWVBUUVGZkNBQkt3TllJQUlyQXdBaUF5QUJRVUJyS3dNQW9pQUNLd01JSWdRZ0FTc0RTS0tnSUFJckF4QWlCU0FCS3dOUW9xQ2dJZ1pFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBU3NET0NBRElBRXJBeUNpSUFRZ0FTc0RLS0tnSUFVZ0FTc0RNS0tnb0NFSElBQWdBU3NER0NBRElBRXJBd0NpSUFRZ0FTc0RDS0tnSUFVZ0FTc0RFS0tnb0NBR296a0RBQ0FBSUFjZ0JxTTVBd2hCQUFzTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSWtMSVFjZ0JpUUdJQWNMMHdFQ0EzOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVmeUFDUVFRMkFnQkJBQVZCcE1VREtBSUFJUVZCcE1VRFFRQTJBZ0FnQUNBRUlBTVFYQkQ5QWlFSFFhVEZBeWdDQUNJQVJRUkFRYVRGQXlBRk5nSUFDeUFCSUFRb0FnQkdCSDhDZnlBQVFjUUFSZ1JBSUFKQkJEWUNBRUgvLy8vL0J5QUhRZ0JWRFFFYUJRSkFJQWRDZ0lDQWdIaFRCRUFnQWtFRU5nSUFEQUVMSUFlbklBZEMvLy8vL3dkWERRSWFJQUpCQkRZQ0FFSC8vLy8vQnd3Q0N3dEJnSUNBZ0hnTEJTQUNRUVEyQWdCQkFBc0xJUVlnQkNRR0lBWUxvZ0VDQW44QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRlFhVEZBMEVBTmdJQUlBQWdCQ0FERUZ3US9RSWhCa0dreFFNb0FnQWlBRVVFUUVHa3hRTWdCVFlDQUFzZ0FTQUVLQUlBUmdSK0lBQkJ4QUJHQkg0Z0FrRUVOZ0lBUXYvLy8vLy8vLy8vL3dCQ2dJQ0FnSUNBZ0lDQWZ5QUdRZ0JWR3dVZ0Jnc0ZJQUpCQkRZQ0FFSUFDeUVHQ3lBRUpBWWdCZ3ZXQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZndKL0lBQkJ4QUJHSUFoQy8vOERWbklFUUNBQ1FRUTJBZ0JCZnd3QkN5QUlwMEgvL3dOeElRQkJBQ0FJcDJ0Qi8vOERjU0FBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3ZIQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZnlBQVFjUUFSaUFJUXYvLy8vOFBWbklFZnlBQ1FRUTJBZ0JCZndWQkFDQUlweUlBYXlBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd1NkFRSURmd0orSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IrSUFKQkJEWUNBRUlBQlFKK0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUlBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWRCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZpQUFRY1FBUmdSK0lBSkJCRFlDQUVKL0JVSUFJQWQ5SUFjZ0JSc0xCU0FDUVFRMkFnQkNBQXNMQ3lFSUlBUWtCaUFJQzRvQkFnSi9BWDBqQmlFREl3WkJFR29rQmlBQUlBRkdCRUFnQWtFRU5nSUFCVUdreFFNb0FnQWhCRUdreFFOQkFEWUNBQkJjR2lBQUlBTkJBQkNnQXJZaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVTUFBQUFBSVFVTUFRc01BUXNnQWtFRU5nSUFDd3NnQXlRR0lBVUxqUUVDQW44QmZDTUdJUU1qQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRVFhVEZBMEVBTmdJQUVGd2FJQUFnQTBFQkVLQUNJUVZCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVEyQWdBTEFrQUNRQ0FCSUFNb0FnQkdCRUFnQUVIRUFFWU5BUVZFQUFBQUFBQUFBQUFoQlF3QkN3d0JDeUFDUVFRMkFnQUxDeUFESkFZZ0JRdU5BUUlDZndGOEl3WWhBeU1HUVJCcUpBWWdBQ0FCUmdSQUlBSkJCRFlDQUFWQnBNVURLQUlBSVFSQnBNVURRUUEyQWdBUVhCb2dBQ0FEUVFJUW9BSWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVVFBQUFBQUFBQUFBQ0VGREFFTERBRUxJQUpCQkRZQ0FBc0xJQU1rQmlBRkN6a0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQVJCaUlRRWdBRUdEa3dNZ0F4Q1ZBeUVFSUFFRVFDQUJFR0lhQ3lBREpBWWdCQXRXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Bc2hCeUFHSkFZZ0J3dWxBUUVFZnlNR0lRVWpCa0VRYWlRR0lBSWdBV3RCQW5VaUJFSHYvLy8vQTBzRVFCQUFDeUFFUVFKSkJFQWdBQ0FFT2dBTElBQWhBd1VnQkVFRWFrRjhjU0lHUWYvLy8vOERTd1JBRUFBRklBQWdCa0VDZEJCUklnTTJBZ0FnQUNBR1FZQ0FnSUI0Y2pZQ0NDQUFJQVEyQWdRTEN3TkFJQUVnQWtjRVFDQURJQUVRYmlBQlFRUnFJUUVnQTBFRWFpRUREQUVMQ3lBRlFRQTJBZ0FnQXlBRkVHNGdCU1FHQzZzREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRG9BQUF3QkJRSkFJQVJCQVdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBNkFBQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUxBQUFFRUkyQWpBRkFrQURRQ0FDUVFCTURRRWdBeUFDUVg5cUlnSnFMQUFBRUVJZ0FDZ0NJQkR2QVVGL1J3MEFDMEYvSVFBTUFnc0xJQVFzQUFBUVFpRUFDd3NMSUFVa0JpQUFDNlVEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEWUNBQXdCQlFKQUlBUkJCR29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUEyQWdBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFS0FJQU5nSXdCUUpBQTBBZ0FrRUFUQTBCSUFNZ0FrRi9haUlDYWl3QUFDQUFLQUlnRU84QlFYOUhEUUFMUVg4aEFBd0NDd3NnQkNnQ0FDRUFDd3NMSUFVa0JpQUFDNW9CQVFWL0l3WWhBU01HUVJCcUpBWWdBVUVJYWlJQ1FRaHFJUVVDUUFKQUEwQWdBQ2dDSkNJREtBSUFLQUlVSVFRZ0F5QUFLQUlvSUFJZ0JTQUJJQVJCSDNGQm9nSnFFUWdBSVFNQ1FDQUJLQUlBSUFKcklnUWdBa0VCSUFRZ0FDZ0NJQkNUQVVjTkFBSkFJQU5CQVdzT0FnQUJBd3NNQVFzTFFYOGhBQXdCQ3lBQUtBSWdFS2tDUVFCSFFSOTBRUjkxSVFBTElBRWtCaUFBQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RNmdJTEV3QWdBQ0FBS0FJQVFYUnFLQUlBYWhDWkFnc1RBQ0FBSUFBb0FnQkJkR29vQWdCcUVPc0NDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FtZ0lMS3dFQmZ3TkFJQUpCQ0VjRVFDQUJJQUpxSUFCQkJ5QUNhMm9zQUFBNkFBQWdBa0VCYWlFQ0RBRUxDd3NTQUNBQVFkeU1BVFlDQUNBQVFRUnFFRHdMQkFCQmZ3c1FBQ0FBUWdBM0F3QWdBRUovTndNSUN4QUFJQUJDQURjREFDQUFRbjgzQXdnTEJBQWdBQXNyQVFGL0EwQWdBa0VFUndSQUlBRWdBbW9nQUVFRElBSnJhaXdBQURvQUFDQUNRUUZxSVFJTUFRc0xDeElBSUFCQm5Jd0JOZ0lBSUFCQkJHb1FQQXRUQVFOL0lBSW9BZ0FoQkNBQklBQnJRUUoxSVFFRFFDQUJCRUFnQVVFQmRpSUNRUUowSUFCcUlnVW9BZ0FnQkVraEF5QUZRUVJxSUFBZ0F4c2hBQ0FCUVg5cUlBSnJJQUlnQXhzaEFRd0JDd3NnQUF2T0FRRURmeU1HSVFJakJrSEFBV29rQmlBQUlBSVExUVFnQUVFRWFpQUNRUVJxRU5VRUEwQWdBVUVEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FBUVFocUlBRkJCWFJxSUFOQkEzUnFJQUpCQ0dvZ0FVRUZkR29nQTBFRGRHb1F6d1FnQTBFQmFpRUREQUVMQ3lBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FDZ0NzQUVpQTBFRGRFR1lGV29vQWdCSUJFQWdBRUhvQUdvZ0FVRURkR29nQWtIb0FHb2dBVUVEZEdvUXp3UWdBVUVCYWlFQkRBRUxDeUFDSUFNMkFyQUJJQUFnQWtHNEFSQk1HaUFDSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUhZK1FCQkJTQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQjRQa0FRUVFnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRZWo1QUVFRElBRW9BZ0FRQ0NBQkpBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIdytRQkJBaUFCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkIrUGtBUVFFZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUVlENkFFRUFJQUVvQWdBUUNDQUJKQVlMbUFzQkZYd0Nmd0pBQWtBQ1FBSkFBa0FDUUNBRlFRRnJEZ1FEQWdFQUJBc2dBQ3NEQUNFSklBQXJBd2doQ2lBQVFVQnJLd01BSVEwZ0FDc0RFQ0lPUkFBQUFBQUFBQUJBb2lFUElBQXJBeGdpRUVRQUFBQUFBQUFZUUtJaEV5QVFSQUFBQUFBQUFBQkFvaUVVSUE1RUFBQUFBQUFBR0VDaUlSVWdBU0FBS3dNd0loYWhJQUFyQXlBaUY2TWlDeUVCSUFJZ0FDc0RPQ0lZb1NBQUt3TW9JaG1qSWd3aEFpQUxJQXVpSVFZZ0RDQU1vaUVIUVFFaEFBTkFBa0FnQmtRQUFBQUFBQUFBQUdJZ0IwUUFBQUFBQUFBQUFHSnlSUVJBUkFBQUFBQUFBQUFBSVFGRUFBQUFBQUFBQUFBaEFnd0JDeUFKSUFjZ0JxQWlDS0pFQUFBQUFBQUE4RCtnSUFnZ0NpQUlvcUtnSVJFZ0J5QUdSQUFBQUFBQUFBaEFvaUlhb2lFU0lBSWdEaUFIUkFBQUFBQUFBQUJBb2lBSW9LSWdBaUFSb3FBZ0FpQVVJQUVnRUNBSUlBWkVBQUFBQUFBQUFFQ2lvS0lnQWlBUElBR2lvaUFCSUJHaW9LQWdDNkVnRXlBQm9pQVBJQUtpSUFrZ0J5QWFvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhvaUFHSUFaRUFBQUFBQUFBRkVDaW9pQVNvS0Npb0tDZ282RWlBYUlpQ0tLZ0lBeWhJQlVnQXFJZ0NTQUdJQWRFQUFBQUFBQUFDRUNpb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIUkFBQUFBQUFBQlJBb3FJZ0JpQUdvaUFTb0tDaW9LQWdDS0Nqb1NFQ0lBQkJCRWNFUUNBQklBR2lJUVlnQWlBQ29pRUhJQUJCQVdvaEFBd0NDd3NMSUFNZ0ZpQVhJQUdpSUEyam9Ea0RBQ0FZSUJrZ0FxSWdEYU9nSVFFTUJBc2dBQ3NESUVRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJQUFyQXhpaklnRWdBYUlnQWlBQUt3TUlvU0lDSUFLaW9DSUhueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFFZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQjZLaElBY2dDaUFIb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFlaW9TQUhJQXNnQjZLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUJJQUdpSUFJZ0FxS2dJZ1loQnlBRlFRRnFJUVVnQnA4aEJnd0NDd3NMSUFNZ0RDQUJJQUFyQXhDam9Ea0RBQ0FDSUFBckF4Q2pJQUFyQXdpZ0lRRU1Bd3NnQUNzREdFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSWdjZ0I2SWdBaUFBS3dNSW9TSUNJQUtpb0NJQm55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQWNnQmlBR1JBQUFBQUFBQVBBL0lBZ2dBYUtoSUFFZ0NpQUJvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQUdpb1NBQklBc2dBYUtpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBRlFRRnFJUVVnQVNJSElBR2lJQUlnQXFLZ0lnR2ZJUVlNQWdzTEN5QURJQXdnQVNBQUt3TVFvNkE1QXdBZ0FpQUFLd01Rb3lBQUt3TUlvQ0VCREFJTElBQXJBeGhFQUFBQUFJVFhsMEdqSWdoRUFBQUFBQUFBQ0VDaUlRbEJBU0VGSUFFZ0FDc0RBQ0lLb1NJSElBZWlJQUlnQUNzRENLRWlBaUFDb3FBaUFaOGlDeUVHQTBBQ1FDQUdSQUFBQUFBQUFBQUFZUVJBUkFBQUFBQUFBQUFBSVFKRUFBQUFBQUFBQUFBaEFRd0JDeUFISUFZZ0JrUUFBQUFBQUFEd1B5QUlJQUdpb2FJZ0M2RkVBQUFBQUFBQThEOGdDU0FCb3FHam9TSUhvaUFHb3lFQklBSWdCNklnQnFNaEFpQUZRUU5IQkVBZ0JVRUJhaUVGSUFFaUJ5QUJvaUFDSUFLaW9DSUJueUVHREFJTEN3c2dBeUFLSUFFZ0FDc0RFS09nT1FNQUlBSWdBQ3NERUtNZ0FDc0RDS0FoQVF3QkMwRi9EQUVMSUFRZ0FUa0RBRUVBQ3hvTDVRRUFRYmo0QUVIMWdnTVFMVUhBK0FCQitvSURRUUZCQVVFQUVDOFE1QXNRNHdzUTRnc1E0UXNRNEFzUTN3c1EzZ3NRM1FzUTNBc1Eyd3NRMmd0QnlQSUFRZVNEQXhBVlFlRDZBRUh3Z3dNUUZVSEkrZ0JCQkVHUmhBTVFFa0d3K2dCQkFrR2VoQU1RRWtHWStnQkJCRUd0aEFNUUVrR1ErZ0JCdklRREVDNFEyUXRCNm9RREVONEVRWStGQXhEZEJFRzJoUU1RM0FSQjFZVURFTnNFUWYyRkF4RGFCRUdhaGdNUTJRUVExd3NRMWd0QmhZY0RFTjRFUWFXSEF4RGRCRUhHaHdNUTNBUkI1NGNERU5zRVFZbUlBeERhQkVHcWlBTVEyUVFRMVFzUTFBc1Ewd3NMV2dFRGZ5QUFLQUlFSVFVZ0FnUkFJQVZCQ0hVaEJDQUZRUUZ4QkVBZ0JDQUNLQUlBYWlnQ0FDRUVDd3NnQUNnQ0FDSUFLQUlBS0FJY0lRWWdBQ0FCSUFJZ0JHb2dBMEVDSUFWQkFuRWJJQVpCSDNGQitnVnFFUWNBQ3dzQUlBQVE0d1FnQUJBNEN4TUFJQUJCb0lzQk5nSUFJQUJCQkdvUTdnc0x4d0lCQkg4akJpRURJd1pCUUdza0JpQUFJQUFvQWdBaUJFRjRhaWdDQUdvaEJTQUVRWHhxS0FJQUlRUWdBeUFDTmdJQUlBTWdBRFlDQkNBRElBRTJBZ2dnQTBFQU5nSU1JQU5DQURjQ0VDQURRZ0EzQWhnZ0EwSUFOd0lnSUFOQ0FEY0NLQ0FEUVFBMkFqQWdBMEVBT3dFMElBTkJBRG9BTmlBRUlBSkJBQkNCQVFSL0lBTkJBVFlDTUNBRUlBTWdCU0FGUVFGQkFDQUVLQUlBS0FJVVFRZHhRZG9HYWhFTUFDQUZRUUFnQXlnQ0dFRUJSaHNGQW44Z0JDQURJQVZCQVVFQUlBUW9BZ0FvQWhoQlAzRkJtZ1pxRVFVQUFrQUNRQUpBSUFNb0FpUU9BZ0FDQVFzZ0F5Z0NGRUVBSUFNb0FpaEJBVVlnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkViREFJTFFRQU1BUXNnQXlnQ0dFRUJSd1JBUVFBZ0F5Z0NLRVVnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkZGRFFFYUN5QURLQUlRQ3dzaEJpQURKQVlnQmd1bkRBSUhmd2g5SUFHOElnVkIvLy8vL3dkeElnSkZJQUM4SWdaQmdJQ0EvQU5HY2dSQVF3QUFnRDhQQ3lBR1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3lBQ1FZQ0FnUHdIUzNJRVFDQUFJQUdTRHdzZ0JrRUFTQ0lJQkg4Z0FrSC8vLy9iQkVzRWYwRUNCU0FDUWYvLy8vc0RTd1IvUVFJZ0FrR1dBU0FDUVJkMmF5SUVkaUlIUVFGeGEwRUFJQWNnQkhRZ0FrWWJCVUVBQ3dzRlFRQUxJUVFDUUNBRlFmLy8vLzhIY1NJSFFZQ0FnUHdIU0FSQUlBZEJnSUNBL0FOckRRRWdBRU1BQUlBL0lBQ1ZJQVZCZjBvYkR3VWdCMEdBZ0lEOEIyc05BU0FEUVlDQWdQd0RSZ1JBUXdBQWdEOFBDeUFGUVg5S0lRSWdBMEdBZ0lEOEEwc0VRQ0FCUXdBQUFBQWdBaHNQQlVNQUFBQUFJQUdNSUFJYkR3c0FDd0FMSUFWQmdJQ0FnQVJHQkVBZ0FDQUFsQThMSUFWQmdJQ0ErQU5HSUFaQmYwcHhCRUFnQUpFUEN5QUFpeUVKQWtBQ1FBSkFJQU5GSUFOQmdJQ0FnQVJ5UVlDQWdQd0hSbklFUUVNQUFJQS9JQW1WSUFrZ0JVRUFTQnNoQUNBSVJRUkFJQUFQQ3lBRUlBTkJnSUNBaEh4cWNnUkFJQUNNSUFBZ0JFRUJSaHNQQ3d3QkN5QUlCRUFDUUFKQUFrQWdCQTRDQkFBQkMwTUFBSUMvSVFzTUFRdERBQUNBUHlFTEN3VkRBQUNBUHlFTEN5QUNRWUNBZ09nRVN3UkFBa0FnQTBINC8vLzdBMGtFUUNBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTQnNQQ3lBRFFZZUFnUHdEVFFSQUlBbERBQUNBdjVJaUFFTUFxcmcvbENJS0lBQkRjS1hzTnBRZ0FDQUFsRU1BQUFBL0lBQkRxNnFxUGlBQVF3QUFnRDZVazVTVGxFTTdxcmcvbEpNaUFKSzhRWUJnY2I0aURDRUpJQXdnQ3BNaENnd0JDeUFMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNoc1BDd1VnQ1VNQUFJQkxsTHdnQXlBRFFZQ0FnQVJKSWdNYklnUkJGM1ZCNlg1QmdYOGdBeHRxSVFJZ0JFSC8vLzhEY1NJRVFZQ0FnUHdEY2lFRElBUkI4b2p6QUVrRVFFRUFJUVFGSUFSQjErZjJBa2tpQmlFRUlBSWdCa0VCYzBFQmNXb2hBaUFESUFOQmdJQ0FmR29nQmhzaEF3c2dCRUVDZEVIQWlnRnFLZ0lBSWc0Z0E3NGlDaUFFUVFKMFFiQ0tBV29xQWdBaURKTWlEVU1BQUlBL0lBd2dDcEtWSWcrVUlnbThRWUJnY2I0aUFDQUFJQUNVSWhCREFBQkFRSklnQ1NBQWtpQVBJQTBnQTBFQmRVR0E0UC8vZlhGQmdJQ0FnQUp5UVlDQWdBSnFJQVJCRlhScXZpSU5JQUNVa3lBS0lBMGdESk9USUFDVWs1UWlDcFFnQ1NBSmxDSUFJQUNVSUFBZ0FDQUFJQUFnQUVOQzhWTStsRU5WTW13K2twUkRCYU9MUHBLVVE2dXFxajZTbEVPM2JkcytrcFJEbXBrWlA1S1VraUlNa3J4QmdHQnh2aUlBbENJTklBb2dBSlFnQ1NBTUlBQkRBQUJBd0pJZ0VKT1RsSklpQ1pLOFFZQmdjYjRpQUVNQVFIWS9sQ0lLSUFSQkFuUkJ1SW9CYWlvQ0FDQUpJQUFnRFpPVFEwODRkaitVSUFCRHhpUDJPSlNUa2lJQWtwSWdBcklpREpLOFFZQmdjYjRpRFNFSklBMGdESk1nRHBNZ0NwTWhDZ3NnQUNBS2t5QUJsQ0FCSUFWQmdHQnh2aUlBa3lBSmxKSWhBU0FKSUFDVUlnQWdBWklpQ2J3aUEwR0FnSUNZQkVvTkFRSkFBa0FnQTBHQWdJQ1lCRVlFUUNBQlF6eXFPRE9TSUFrZ0FKTmVCRUFNQlFWQmdJQ0FtQVFoQWd3Q0N3QUZBa0FnQTBILy8vLy9CM0VpQWtHQWdOaVlCRXNOQmlBQklBa2dBSk5mUlNBRFFZQ0EySmg4UjNJRVFDQUNRWUNBZ1BnRFN3UkFEQVFGUVFBaEFnd0NDd0FMREFZTEN3d0JDeUFEUVlDQWdBUWdBa0VYZGtHQ2YycDJhaUlDUVJkMlFmOEJjU0VGSUFBZ0FrR0FnSUI4SUFWQmdYOXFkWEcra3lJSklRQkJBQ0FDUWYvLy93TnhRWUNBZ0FSeVFaWUJJQVZyZGlJQ2F5QUNJQU5CQUVnYklRSWdBU0FKa3J3aEF3c2dDME1BQUlBL0lBTkJnSUIrY2I0aUNVTUFjakUvbENJS0lBbERqTDYvTlpRZ0FTQUpJQUNUazBNWWNqRS9sSklpQ1pJaUFDQUFJQUFnQUpRaUFTQUJJQUVnQVNBQlEweTdNVE9VUXc3cTNiV1NsRU5WczRvNGtwUkRZUXMydTVLVVE2dXFLajZTbEpNaUFaUWdBVU1BQUFEQWtwVWdDU0FBSUFxVGt5SUJJQUFnQVpTU2t5QUFrNU1pQUx3Z0FrRVhkR29pQTBHQWdJQUVTQVI5SUFBZ0FoRDFCQVVnQTc0TGxBOExJQUFnQUpNaUFDQUFsUThMSUF0RHl2SkpjWlJEeXZKSmNaUVBDeUFMUTJCQ29nMlVRMkJDb2cyVUM4QUJBUUovSXdZaEFTTUdRUkJxSkFZZ0FMMUNJSWluUWYvLy8vOEhjU0lDUWZ6RHBQOERTUVJBSUFKQmdJREE4Z05QQkVBZ0FFUUFBQUFBQUFBQUFFRUFFTlFCSVFBTEJRSjhJQUFnQUtFZ0FrSC8vNy8vQjBzTkFCb0NRQUpBQWtBQ1FDQUFJQUVRL0FKQkEzRU9Bd0FCQWdNTElBRXJBd0FnQVNzRENFRUJFTlFCREFNTElBRXJBd0FnQVNzRENCRFRBUXdDQ3lBQkt3TUFJQUVyQXdoQkFSRFVBWm9NQVFzZ0FTc0RBQ0FCS3dNSUVOTUJtZ3NoQUFzZ0FTUUdJQUFMeUFFQ0FuOEJmQ01HSVFFakJrRVFhaVFHSUFDOVFpQ0lwMEgvLy8vL0IzRWlBa0g4dzZUL0Ewa0VmQ0FDUVo3Qm12SURTUVI4UkFBQUFBQUFBUEEvQlNBQVJBQUFBQUFBQUFBQUVOTUJDd1VDZkNBQUlBQ2hJQUpCLy8rLy93ZExEUUFhQWtBQ1FBSkFBa0FnQUNBQkVQd0NRUU54RGdNQUFRSURDeUFCS3dNQUlBRXJBd2dRMHdFTUF3c2dBU3NEQUNBQkt3TUlRUUVRMUFHYURBSUxJQUVyQXdBZ0FTc0RDQkRUQVpvTUFRc2dBU3NEQUNBQkt3TUlRUUVRMUFFTEN5RURJQUVrQmlBREM5a0NBUVovSXdZaENDTUdRWkFDYWlRR0lBaEJnQUpxSWdjZ0FTZ0NBQ0lFTmdJQUlBTkJnQUlnQUVFQVJ5SUpHeUVGSUFBZ0NDQUpHeUVBSUFWQkFFY2dCRUVBUjNFRVFBSkFRUUFoQXdOQUFrQWdBaUFGVHlJR0lBSkJJRXR5UlEwQ0lBSWdCU0FDSUFZYklnUnJJUUlnQUNBSElBUVE4d1FpQkVGL1JnMEFJQVZCQUNBRUlBQWdDRVlpQmh0cklRVWdBQ0FBSUFScUlBWWJJUUFnQXlBRWFpRURJQWNvQWdBaUJFRUFSeUFGUVFCSGNRMEJEQUlMQzBGL0lRTkJBQ0VGSUFjb0FnQWhCQXNGUVFBaEF3c2dCQVJBSUFWQkFFY2dBa0VBUjNFRVFBSkFBMEFnQUNBRUtBSUFFSjRCSWdaQkFXcEJBazhFUUNBSElBY29BZ0JCQkdvaUJEWUNBQ0FBSUFacUlRQWdBeUFHYWlFRElBVWdCbXNpQlVFQVJ5QUNRWDlxSWdKQkFFZHhEUUVNQWdzTElBWUVRRUYvSVFNRklBZEJBRFlDQUFzTEN3c2dDUVJBSUFFZ0J5Z0NBRFlDQUFzZ0NDUUdJQU1MYVFFQ2Z5QUFJQUZyUVFKMUlBSkpCRUFEUUNBQ1FYOXFJZ0pCQW5RZ0FHb2dBa0VDZENBQmFpZ0NBRFlDQUNBQ0RRQUxCU0FDQkVBRFFDQUJRUVJxSVFNZ0FFRUVhaUVFSUFBZ0FTZ0NBRFlDQUNBQ1FYOXFJZ0lFUUNBRElRRWdCQ0VBREFFTEN3c0xDNGdCQVFWL0lBQW9BZ1FpQlNBQktBSUlSZ1IvSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWZ5QUJLQUlBSUFKQkFuUnFJUU5CQUNFRUEwQWdCQ0FHU0FSQUlBQWdBeWdDQURZQ0FDQUZRUUowSUFOcUlRTWdCRUVCYWlFRUlBQkJCR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQ3lvQkFYOGdBZ1JBQTBBZ0FFRUVhaUVESUFBZ0FUWUNBQ0FDUVg5cUlnSUVRQ0FESVFBTUFRc0xDd3RrQVFKL0lBQVFZQ0FBYWlFQUlBSUVRQUpBSUFJaEF5QUJJUUlnQUNFQkEzOGdBaXdBQUNJRVJRMEJJQUpCQVdvaEFpQUJRUUZxSVFBZ0FTQUVPZ0FBSUFOQmYyb2lBd1IvSUFBaEFRd0JCU0FBQ3dzaEFRc0ZJQUFoQVFzZ0FVRUFPZ0FBQzlVQkFRUi9RZkdwQVNFQ0l3WWhBeU1HUVNCcUpBWUNRQUpBUWZHcEFTd0FBQ0lCUlEwQVFmS3BBU3dBQUVVTkFDQURRUUJCSUJCRkdrSHhxUUVzQUFBaUFRUkFBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaUlFSUFRb0FnQkJBU0FCUVI5eGRISTJBZ0FnQWtFQmFpSUNMQUFBSWdFTkFBc0xJQUFzQUFBaUFRUkFBa0FnQUNFQ0EwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpZ0NBRUVCSUFGQkgzRjBjUTBCSUFKQkFXb2lBaXdBQUNJQkRRQUxDd1VnQUNFQ0N3d0JDeUFBSUFFUXFnSWhBZ3NnQXlRR0lBSWdBR3NMbEFFQkEzOERRQ0FBUVFGcUlRRWdBQ3dBQUJDeUFRUkFJQUVoQUF3QkN3c0Nmd0pBQWtBQ1FBSkFJQUFzQUFBaUEwRXJhdzREQVFJQUFndEJBU0VBREFJTFFRQWhBQXdCQ3lBRERBRUxJQUFoQWlBQklnQXNBQUFMRUlvQkJFQkJBQ0VCQTBBZ0FVRUtiRUV3YWlBQUxBQUFheUVCSUFCQkFXb2lBQ3dBQUJDS0FRMEFDd1ZCQUNFQkN5QUJRUUFnQVdzZ0Foc0xaQUlCZndGK0lBQW9BaWdoQVNBQVFnQWdBQ2dDQUVHQUFYRUVmMEVDUVFFZ0FDZ0NGQ0FBS0FJY1N4c0ZRUUVMSUFGQkEzRkJwZ05xRVJRQUlnSkNBRmtFUUNBQUtBSVVJQUFvQWh4cnJDQUNJQUFvQWdnZ0FDZ0NCR3VzZlh3aEFnc2dBZ3VCQXdFSGZ5TUdJUVVqQmtHUUNHb2tCaUFGUVlBSWFpSUlJQUVvQWdBaUJqWUNBQ0FEUVlBQ0lBQkJBRWNpQ1JzaEJ5QUFJQVVpQ2lBSkd5RURJQWRCQUVjZ0JpSUZRUUJIY1FSQUFrQkJBQ0VBQTBBQ1FDQUNRUUoySWdZZ0IwOGlDeUFDUVlNQlMzSkZEUUlnQWlBSElBWWdDeHNpQldzaEFpQURJQWdnQlNBRUVQNENJZ1ZCZjBZTkFDQUhRUUFnQlNBRElBcEdJZ1liYXlFSElBTWdCVUVDZENBRGFpQUdHeUVESUFBZ0JXb2hBQ0FJS0FJQUlnVkJBRWNnQjBFQVIzRU5BUXdDQ3d0QmZ5RUFRUUFoQnlBSUtBSUFJUVVMQlVFQUlRQUxJQVVFUUNBSFFRQkhJQUpCQUVkeEJFQUNRQU5BSUFNZ0JTQUNJQVFRMXdFaUJrRUNha0VEVHdSQUlBZ2dCaUFJS0FJQWFpSUZOZ0lBSUFOQkJHb2hBeUFBUVFGcUlRQWdCMEYvYWlJSFFRQkhJQUlnQm1zaUFrRUFSM0VOQVF3Q0N3c0NRQUpBQWtBZ0JrRi9hdzRDQUFFQ0N5QUdJUUFNQWdzZ0NFRUFOZ0lBREFFTElBUkJBRFlDQUFzTEN5QUpCRUFnQVNBSUtBSUFOZ0lBQ3lBS0pBWWdBQXVJQVFFRmZ5QUFLQUlFSWdVZ0FTZ0NDRVlFZnlBQUtBSUlJZ1lnQVNnQ0JFWUVmeUFBS0FJQUlRQURmeUFDSUFWSUJIOGdBU2dDQUNBQ1FRTjBhaUVEUVFBaEJBTkFJQVFnQmtnRVFDQUFJQU1yQXdBNUF3QWdCVUVEZENBRGFpRURJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQUpCQVdvaEFnd0JCVUVBQ3dzRlFYOExCVUYvQ3d0N0FRRi9Ba0FnQUNnQ1RFRUFUZ1JBQWtBZ0FDd0FTMEVLUmcwQUlBQW9BaFFpQVNBQUtBSVFUdzBBSUFBZ0FVRUJhallDRkNBQlFRbzZBQUFNQWdzZ0FCQ1pBd3dCQ3lBQUxBQkxRUXBIQkVBZ0FDZ0NGQ0lCSUFBb0FoQkpCRUFnQUNBQlFRRnFOZ0lVSUFGQkNqb0FBQXdDQ3dzZ0FCQ1pBd3NMeFFNQkJIOGpCaUVHSXdaQkVHb2tCZ0pBSUFBRVFDQUNRUU5MQkVBQ1FDQUNJUU1nQVNnQ0FDRUVBMEFDUUNBRUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUFJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFESUFWcklRTWdBQ0FGYWdVZ0FDQUZPZ0FBSUFOQmYyb2hBeUFCS0FJQUlRUWdBRUVCYWdzaEFDQUJJQVJCQkdvaUJEWUNBQ0FEUVFOTERRRWdBeUVFREFJTEN5QUFRUUE2QUFBZ0FVRUFOZ0lBSUFJZ0Eyc2hBZ3dEQ3dVZ0FpRUVDeUFFQkVBZ0FDRURJQUVvQWdBaEFBSkFBMEFDUUNBQUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUdJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFFSUFWSkRRTWdBeUFBS0FJQUVKNEJHaUFESUFWcUlRTWdCQ0FGYXdVZ0F5QUZPZ0FBSUFOQkFXb2hBeUFCS0FJQUlRQWdCRUYvYWdzaEJDQUJJQUJCQkdvaUFEWUNBQ0FFRFFFTUJRc0xJQU5CQURvQUFDQUJRUUEyQWdBZ0FpQUVheUVDREFNTElBSWdCR3NoQWdzRklBRW9BZ0FpQUNnQ0FDSUJCRUJCQUNFQ0EwQWdBVUgvQUVzRVFDQUdJQUVRbmdFaUFVRi9SZ1JBUVg4aEFnd0ZDd1ZCQVNFQkN5QUJJQUpxSVFJZ0FFRUVhaUlBS0FJQUlnRU5BQXNGUVFBaEFnc0xDeUFHSkFZZ0FndGFBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUNLQUlBTmdJQVFRQkJBQ0FCSUFNUXFRRWlCRUVBU0FSL1FYOEZJQUFnQkVFQmFpSUVFRVFpQURZQ0FDQUFCSDhnQUNBRUlBRWdBaENwQVFWQmZ3c0xJUVVnQXlRR0lBVUxtd0VCQW44Z0FVSC9BRW9FUUNBQVF3QUFBSCtVSWdCREFBQUFmNVFnQUNBQlFmNEJTaUlDR3lFQUlBRkJnbjVxSWdOQi93QWdBMEgvQUVnYklBRkJnWDlxSUFJYklRRUZJQUZCZ245SUJFQWdBRU1BQUlBQWxDSUFRd0FBZ0FDVUlBQWdBVUdFZmtnaUFoc2hBQ0FCUWZ3QmFpSURRWUovSUFOQmduOUtHeUFCUWY0QWFpQUNHeUVCQ3dzZ0FDQUJRUmQwUVlDQWdQd0RhcjZVQzRNR0FncC9BbjBqQmlFSkl3WkIwQTlxSkFZZ0FVSDBBMG9FUUVFQUlRQUZBa0FDUUFKQUFrQWdBUTRDQUFFQ0MwRUFJUUFNQWdzZ0FFTUFBSUEvSUFBcUFnQ1ZPQUlBREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBblFnQUdvaURDRUtBMEFnQmlBQlNBUkFRd0FBQUFBaERTQUNJQVpzUVFKMElBQnFJZ1VoQjBGL0lRUWdCaUVEQTBBZ0FTQURSd1JBSUEwZ0J5b0NBSXNpRGwwaENDQU9JQTBnQ0JzaERTQUNRUUowSUFkcUlRY2dBeUFFSUFnYklRUWdBMEVCYWlFRERBRUxDeUFFUVg5R0lBMUQvK2JiTGw5eUJFQkJBQ0VBREFNRklBUkJBblFnQ1dvaUF5Z0NBQ0VISUFNZ0JrRUNkQ0FKYWlJREtBSUFOZ0lBSUFNZ0J6WUNBRUVBSVFjZ0JTRURJQUlnQkd4QkFuUWdBR29oQkFOQUlBRWdCMGNFUUNBRUtBSUFJUWdnQkNBREtBSUFOZ0lBSUFNZ0NEWUNBQ0FIUVFGcUlRY2dBMEVFYWlFRElBUkJCR29oQkF3QkN3c2dCU29DQUNFTlFRRWhCQ0FGSVFNRFFDQUJJQVJIQkVBZ0F5QURRUVJxSWdNcUFnQWdEWlU0QWdBZ0JFRUJhaUVFREFFTEN5QUtRd0FBZ0Q4Z0RaVTRBZ0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFQ2RDQUFhaUlES2dJQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQkdvaUF5b0NBQ0FOSUFjcUFnQ1VremdDQUNBSFFRUnFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaW9DQUpTTU9BSUFDeUFJUVFGcUlRZ2dBa0VDZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFQ2RDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUUowSUFCcUlRWWdBMEVDZENBQWFpRURBMEFnQkNBQlNBUkFJQU1vQWdBaEJ5QURJQVlvQWdBMkFnQWdCaUFITmdJQUlBUkJBV29oQkNBQ1FRSjBJQVpxSVFZZ0FrRUNkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFML1FFQkJYOUI4YWtCSVFFakJpRURJd1pCSUdva0JpQURRZ0EzQXdBZ0EwSUFOd01JSUFOQ0FEY0RFQ0FEUWdBM0F4aEI4YWtCTEFBQUlnSUVmd0ovUWZLcEFTd0FBRVVFUUNBQUlRRURRQ0FCUVFGcUlRUWdBaUFCTEFBQVJnUkFJQVFoQVF3QkN3c2dBU0FBYXd3QkN3TkFJQUpCL3dGeElnSkJCWFpCQW5RZ0Eyb2lCQ0FFS0FJQVFRRWdBa0VmY1hSeU5nSUFJQUZCQVdvaUFTd0FBQ0lDRFFBTElBQXNBQUFpQWdSQUFrQWdBQ0VCQTBBZ0FrSC9BWEVpQkVFRmRrRUNkQ0FEYWlnQ0FFRUJJQVJCSDNGMGNVVU5BU0FCUVFGcUlnRXNBQUFpQWcwQUN3c0ZJQUFoQVFzZ0FTQUFhd3NGUVFBTElRVWdBeVFHSUFVTGt3WUNDbjhDZkNNR0lRa2pCa0hRRDJva0JpQUJRZlFEU2dSQVFRQWhBQVVDUUFKQUFrQUNRQ0FCRGdJQUFRSUxRUUFoQUF3Q0N5QUFSQUFBQUFBQUFQQS9JQUFyQXdDak9RTUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkEzUWdBR29pRENFS0EwQWdCaUFCU0FSQVJBQUFBQUFBQUFBQUlRMGdBaUFHYkVFRGRDQUFhaUlGSVFkQmZ5RUVJQVloQXdOQUlBRWdBMGNFUUNBTklBY3JBd0NaSWc1aklRZ2dEaUFOSUFnYklRMGdBa0VEZENBSGFpRUhJQU1nQkNBSUd5RUVJQU5CQVdvaEF3d0JDd3NnQkVGL1JpQU5STHU5MTluZmZOczlaWElFUUVFQUlRQU1Bd1VnQkVFQ2RDQUphaUlES0FJQUlRY2dBeUFHUVFKMElBbHFJZ01vQWdBMkFnQWdBeUFITmdJQVFRQWhCeUFGSVFNZ0FpQUViRUVEZENBQWFpRUVBMEFnQVNBSFJ3UkFJQVFyQXdBaERTQUVJQU1yQXdBNUF3QWdBeUFOT1FNQUlBZEJBV29oQnlBRFFRaHFJUU1nQkVFSWFpRUVEQUVMQ3lBRkt3TUFJUTFCQVNFRUlBVWhBd05BSUFFZ0JFY0VRQ0FESUFOQkNHb2lBeXNEQUNBTm96a0RBQ0FFUVFGcUlRUU1BUXNMSUFwRUFBQUFBQUFBOEQ4Z0RhTTVBd0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFRGRDQUFhaUlES3dNQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOSUFjckF3Q2lvVGtEQUNBSFFRaHFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaXNEQUtLYU9RTUFDeUFJUVFGcUlRZ2dBa0VEZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFRGRDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUU4wSUFCcUlRWWdBMEVEZENBQWFpRURBMEFnQkNBQlNBUkFJQU1yQXdBaERTQURJQVlyQXdBNUF3QWdCaUFOT1FNQUlBUkJBV29oQkNBQ1FRTjBJQVpxSVFZZ0FrRURkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFMbEFJQkFYOENRQUpBSUFBZ0FYTkJBM0VOQUFKQUlBSkJBRWNpQXlBQlFRTnhRUUJIY1FSQUEwQWdBQ0FCTEFBQUlnTTZBQUFnQTBVTkFpQUFRUUZxSVFBZ0FrRi9haUlDUVFCSElnTWdBVUVCYWlJQlFRTnhRUUJIY1EwQUN3c2dBd1JBSUFFc0FBQUVRQ0FDUVFOTEJFQURRQ0FCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFJQU0yQWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FDUVh4cUlnSkJBMHNOQVFzTEN3d0RDd1ZCQUNFQ0N3c01BUXNnQWdSL0lBRWhBeUFDSVFFRGZ5QUFJQU1zQUFBaUFqb0FBQ0FDUlFSQUlBRWhBZ3dEQ3lBRFFRRnFJUU1nQUVFQmFpRUFJQUZCZjJvaUFRMEFRUUFMQlVFQUN5RUNDeUFBUVFBZ0FoQkZHZ3RBQVFKL0lBSUVRQ0FCSVFNZ0FDRUJBMEFnQTBFRWFpRUFJQUZCQkdvaEJDQUJJQU1vQWdBMkFnQWdBa0YvYWlJQ0JFQWdBQ0VESUFRaEFRd0JDd3NMQ3dNQUFRc3NBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJZ0FUWUNCRUhiQUNBQ0VESVFtZ01hSUFJa0JndldBUUVGZnlNR0lRSWpCa0VnYWlRR1FRQVFoZ01FUUFOQVFRRWdBSFJCLy8vLy93ZHhCRUFnQUVFQ2RDQUFRWWFUQXhDRkF6WUNBQXNnQUVFQmFpSUFRUVpIRFFBTEJRSkFBMEFnQkVFQklBQjBRZi8vLy84SGNTSURSVUVBY1FSL0lBQkJBblFvQWdBRklBQkJocE1EUWFmVkF5QURHeENGQXdzaUEwRUFSMm9oQkNBQVFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFRWkhEUUFMQWtBQ1FBSkFJQVJCLy8vLy93ZHhEZ0lBQVFJTFFjekVBeUVCREFJTElBSW9BZ0JCOEljQlJnUkFRWXlJQVNFQkN3c0xDeUFDSkFZZ0FRdXJBd0lKZndKOElBQW9BZ1FpQlVFQlNDQUFLQUlJSWdaQkFVaHlCSDlCZndVZ0FTZ0NCQ0FGUmdSL0lBRW9BZ2dnQlVZRWZ5QUNLQUlFSUFWR0JIOGdBaWdDQ0NBR1JnUi9JQU1vQWdRZ0JVWUVmeUFDS0FJQUlRSURRQUpBSUFRZ0JVNE5BQ0FES0FJQUlBUkJBM1JxS3dNQUlnMUV2SW5ZbDdMU25EeGpEUUJFQUFBQUFBQUE4RDhnRFptZm95RU9JQVFnQld3aERFRUFJUWNnQWlFSUEwQWdCaUFIUndSQVFRQWhDU0FCS0FJQUlBeEJBM1JxSVFwRUFBQUFBQUFBQUFBaERTQUFLQUlBSUFkQkEzUnFJUXNEUUNBRklBbEhCRUFnRFNBS0t3TUFJQXNyQXdDaW9DRU5JQWxCQVdvaENTQUtRUWhxSVFvZ0JrRURkQ0FMYWlFTERBRUxDeUFJSUE0Z0RhSTVBd0FnQjBFQmFpRUhJQWhCQ0dvaENBd0JDd3NnQkVFQmFpRUVJQVpCQTNRZ0Ftb2hBZ3dCQ3dzZ0FpRUFBMzhnQkNBRlNBUi9JQU1vQWdBZ0JFRURkR3BFQUFBQUFBQUFBQUE1QXdCQkFDRUJBMEFnQVNBR1NBUkFJQUJFQUFBQUFBQUFBQUE1QXdBZ0FVRUJhaUVCSUFCQkNHb2hBQXdCQ3dzZ0JFRUJhaUVFREFFRlFRQUxDd1ZCZndzRlFYOExCVUYvQ3dWQmZ3c0ZRWDhMQ3d1T0FRRUNmd0pBQWtBRFFDQUNRYkRhQUdvdEFBQWdBRWNFUUNBQ1FRRnFJZ0pCMXdCSERRRkIxd0FoQWd3Q0N3c2dBZzBBUVpEYkFDRUFEQUVMUVpEYkFDRUFBMEFnQUNFREEwQWdBMEVCYWlFQUlBTXNBQUFFUUNBQUlRTU1BUXNMSUFKQmYyb2lBZzBBQ3dzZ0FTZ0NGQ0lCQkg4Z0FTZ0NBQ0FCS0FJRUlBQVFtd1VGUVFBTElnRWdBQ0FCR3dzMUFDQUJCSDhDZndOQUlBQWdBVUYvYWlJQmFpMEFBRUV2UndSQUlBRUVRQXdDQlVFQURBTUxBQXNMSUFBZ0FXb0xCVUVBQ3d1c0FRRURmMEdjdUFFaEFpQUFRWnk0QVhOQkEzRkZCRUJCbkxnQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQU4vSUFCQkJHb2hBU0FBSUFNMkFnQWdBa0VFYWlJQ0tBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNRUi9JQUVGSUFFaEFBd0JDd3NoQUFzTElBQWdBaXdBQUNJQk9nQUFJQUVFUUFOQUlBQkJBV29pQUNBQ1FRRnFJZ0lzQUFBaUFUb0FBQ0FCRFFBTEN3czFBUUovSUFJZ0FDZ0NFQ0FBS0FJVUlnUnJJZ01nQXlBQ1N4c2hBeUFFSUFFZ0F4Qk1HaUFBSUFBb0FoUWdBMm8yQWhRZ0FndVVDUUlZZndkOEl3WWhHQ01HUVJCcUpBWWdHQ0VNSUFBb0FnUWlCaUFBS0FJSVJ5QUdRUUpJY2dSL1FYOEZJQUVvQWdRZ0JrWUVmeUFHRU9jQ0lnMEVmd0ovSUF3Z0JrRi9haUlSTmdJRUlBd2dEU2dDQUVFSWFqWUNBQ0FBSUFFZ0RCQ0hDMEVBU0FSQUlBMFF6d0ZCZnd3QkN5QU5LQUlBSWdoRUFBQUFBQUFBQUFBNUF3QWdFU0VEQTBBZ0EwRUFTZ1JBSUFNaEJ3TkFJQWRCQUVvRVFDQUhRUU4wSUFocUt3TUFtU0FCS0FJQUlnVWdCMEYvYWlJQ1FRTjBhaXNEQUprZ0IwRURkQ0FGYWlzREFKbWdSSTN0dGFEM3hyQStvbVFFUUNBQ0lRY01BZ3NMQ3lBRFFYOXFJUWtnQXlBSFJ3UkFBa0FnQTBFRGRDQUlhaUVTSUFkQkFXcEJBM1FnQ0dvaEUwRUFJUVVEUUNBRlFlTUFTdzBCSUFWQkFXb2hCU0FTS3dNQUloc2dHNklpR2lBQktBSUFJZzRnQ1VFRGRHb2lGQ3NEQUNBRFFRTjBJQTVxSWhVckF3QWlHNkZFQUFBQUFBQUE0RCtpSWg4Z0g2S2dueUVjSUJNckF3QWhIU0FISWdKQkEzUWdEbW9yQXdBZ0c2RWdHaUFmSUJ5YUlCd2dIMFFBQUFBQUFBQUFBR01ib0tPZ0lSc0RRQ0FDSUFOSUJFQWdHNWtpR2lBZG1XWUVRQ0FhUkx5SjJKZXkwcHc4WkFSOFJBQUFBQUFBQVBBL0lCMmFJQnVqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1pR2lFZUlCd2dHcUlGUkFBQUFBQUFBUEEvSVI1RUFBQUFBQUFBQUFBTElSb0ZSQUFBQUFBQUFQQS9JQnVhSUIyaklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaEdpQWNJQnFpSVI0TElBSkJBM1FnRG1vaUR5c0RBQ0ljSUFKQkFXb2lDa0VEZENBT2FpSUVLd01BSWgraElTQWdEeUFjSUJvZ0dpQWdvaUFlUkFBQUFBQUFBQUJBb2lBS1FRTjBJQWhxSWhBckF3Q2lvS0lpSEtFNUF3QWdCQ0FmSUJ5Z09RTUFJQUpCQTNRZ0NHb2hCQ0FDSUFkS0JFQWdCQ0FlSUFRckF3Q2lJQjBnR3FLaE9RTUFDeUFRSUJBckF3QWlIQ0FhSUI0Z0lLSWdHa1FBQUFBQUFBQUFRS0lnSEtLaG9xQTVBd0FnQWlBR2JDRVdJQVlnQ213aEYwRUFJUXNEUUNBR0lBdEhCRUFnQUNnQ0FDSVBJQXNnRm1wQkEzUnFJZ1FyQXdBaEd5QUVJQjRnRzZJZ0dpQUxJQmRxUVFOMElBOXFJZ1FyQXdBaUhhS2hPUU1BSUFRZ0dpQWJvaUFlSUIyaW9Ea0RBQ0FMUVFGcUlRc01BUXNMSUFJZ0NVZ0VRQ0FRS3dNQUlSc2dBa0VDYWtFRGRDQUlhaUlDS3dNQUlSMGdBaUFlSUIyaU9RTUFJQm9nSGFLYUlSMExJQW9oQWd3QkN3c2dFaXNEQUprZ0ZDc0RBSmtnRlNzREFKbWdSSTN0dGFEM3hyQStvbVFOQUFzTEN5QUpJUU1NQVFzTFFRQWhBd05BSUFNZ0VVY0VRQ0FCS0FJQUlna2dBMEVEZEdvaUJTc0RBQ0lkSVJvZ0F5SUNRUUZxSWdjaEJBTkFJQVFnQmtnRVFDQUVRUU4wSUFscUt3TUFJaHNnR21RaENpQWJJQm9nQ2hzaEdpQUVJQUlnQ2hzaEFpQUVRUUZxSVFRTUFRc0xJQUpCQTNRZ0NXb2dIVGtEQUNBRklCbzVBd0FnQXlBR2JFRURkQ0FBS0FJQUlnTnFJUVVnQWlBR2JFRURkQ0FEYWlFQ1FRQWhBd05BSUFNZ0JrY0VRQ0FDS3dNQUlSc2dBaUFGS3dNQU9RTUFJQVVnR3prREFDQUZRUWhxSVFVZ0FrRUlhaUVDSUFOQkFXb2hBd3dCQ3dzZ0J5RUREQUVMQ3lBTkVNOEJRUUFMQlVGL0N3VkJmd3NMSVJrZ0RDUUdJQmtMTEFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQUtkQkIzRkJNSEk2QUFBZ0FFSURpQ0lBVUVVTkFBc0xJQUVMTkFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQWlBQXAwRVBjVUdnMmdCcUxRQUFjam9BQUNBQVFnU0lJZ0JRUlEwQUN3c2dBUXVoQWdJSmZ3RjhJQUFvQWdRaENTQUFLQUlJSWdJZ0FTZ0NCRVlFUUNBQktBSUlJQUpHQkVBQ1FDQUJLQUlBSWdvaEJnTkFJQU1nQWs0RVFFRUFJUUFNQWd0QkFDRUVJQVloQVFOQUlBSWdCRWNFUUNBRUlBTkpCRUFnQVNBRElBSWdCR3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJTQUJSQUFBQUFBQUFBQUFPUU1BUVFBaEJ5QURRUU4wSUFWcUlRZ2dCRUVEZENBRmFpRUZSQUFBQUFBQUFBQUFJUXNEUUNBSElBbE9EUUVnQVNBTElBZ3JBd0FnQlNzREFLS2dJZ3M1QXdBZ0IwRUJhaUVISUFKQkEzUWdDR29oQ0NBQ1FRTjBJQVZxSVFVTUFBQUxBQXNMSUFSQkFXb2hCQ0FCUVFocUlRRU1BUXNMSUFOQkFXb2hBeUFDUVFOMElBWnFJUVlNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2V0FnRUdmeU1HSVFNakJrSGdBV29rQmlBRFFhQUJhaUlFUWdBM0F3QWdCRUlBTndNSUlBUkNBRGNERUNBRVFnQTNBeGdnQkVJQU53TWdJQU5CMEFGcUlnVWdBaWdDQURZQ0FFRUFJQUVnQlNBRFFkQUFhaUlDSUFRUXBBSkJBRWdFZjBGL0JTQUFLQUpNUVg5S0JIOUJBUVZCQUFzYUlBQW9BZ0FoQmlBQUxBQktRUUZJQkVBZ0FDQUdRVjl4TmdJQUN5QUFLQUl3QkVBZ0FDQUJJQVVnQWlBRUVLUUNJUUVGSUFBb0Fpd2hCeUFBSUFNMkFpd2dBQ0FETmdJY0lBQWdBellDRkNBQVFkQUFOZ0l3SUFBZ0EwSFFBR28yQWhBZ0FDQUJJQVVnQWlBRUVLUUNJUUVnQndSQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFCUVg4Z0FDZ0NGQnNoQVNBQUlBYzJBaXdnQUVFQU5nSXdJQUJCQURZQ0VDQUFRUUEyQWh3Z0FFRUFOZ0lVQ3dzZ0FDQUFLQUlBSWdBZ0JrRWdjWEkyQWdCQmZ5QUJJQUJCSUhFYkN5RUlJQU1rQmlBSUN5a0NBWDhCZkNBQktBSUFRUWRxUVhoeElnSXJBd0FoQXlBQklBSkJDR28yQWdBZ0FDQURPUU1BQzh3WEF4Ui9BMzRCZkNNR0lSUWpCa0d3Qkdva0JpQVVRWmdFYWlJTVFRQTJBZ0FnQWIwaUdrSUFVd1IvSUFHYUloMGhBVUdoL2dJaEVpQWR2U0VhUVFFRlFhVCtBa0duL2dKQm92NENJQVJCQVhFYklBUkJnQkJ4R3lFU0lBUkJnUkJ4UVFCSEN5RVRJQlJCSUdvaEJpQVVJZzRoRVNBT1Fad0VhaUlLUVF4cUlROGdHa0tBZ0lDQWdJQ0ErUDhBZzBLQWdJQ0FnSUNBK1A4QVVRUi9JQUJCSUNBQ0lCTkJBMm9pQXlBRVFmLy9lM0VRZFNBQUlCSWdFeEJ5SUFCQnZQNENRY0QrQWlBRlFTQnhRUUJISWdVYlFiVCtBa0c0L2dJZ0JSc2dBU0FCWWh0QkF4QnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd1VDZnlBQklBd1FpZ05FQUFBQUFBQUFBRUNpSWdGRUFBQUFBQUFBQUFCaUlnY0VRQ0FNSUF3b0FnQkJmMm8yQWdBTElBVkJJSElpQzBIaEFFWUVRQ0FTUVFscUlCSWdCVUVnY1NJSkd5RUlRUXdnQTJzaUIwVWdBMEVMUzNKRkJFQkVBQUFBQUFBQUlFQWhIUU5BSUIxRUFBQUFBQUFBTUVDaUlSMGdCMEYvYWlJSERRQUxJQWdzQUFCQkxVWUVmQ0FkSUFHYUlCMmhvSm9GSUFFZ0hhQWdIYUVMSVFFTElBOUJBQ0FNS0FJQUlnWnJJQVlnQmtFQVNCdXNJQThRdmdFaUIwWUVRQ0FLUVF0cUlnZEJNRG9BQUFzZ0UwRUNjaUVLSUFkQmYyb2dCa0VmZFVFQ2NVRXJham9BQUNBSFFYNXFJZ2NnQlVFUGFqb0FBQ0FEUVFGSUlRd2dCRUVJY1VVaERTQU9JUVVEUUNBRklBa2dBUkJ6SWdaQm9Ob0FhaTBBQUhJNkFBQWdBU0FHdDZGRUFBQUFBQUFBTUVDaUlRRWdCVUVCYWlJR0lCRnJRUUZHQkg4Z0RTQU1JQUZFQUFBQUFBQUFBQUJoY1hFRWZ5QUdCU0FHUVM0NkFBQWdCVUVDYWdzRklBWUxJUVVnQVVRQUFBQUFBQUFBQUdJTkFBc0NmeUFEUlNBRlFYNGdFV3RxSUFOT2NrVUVRQ0FQSUFOQkFtcHFJQWRySVFzZ0J3d0JDeUFGSUE4Z0VXc2dCMnRxSVFzZ0J3c2hCaUFBUVNBZ0FpQUtJQXRxSWdNZ0JCQjFJQUFnQ0NBS0VISWdBRUV3SUFJZ0F5QUVRWUNBQkhNUWRTQUFJQTRnQlNBUmF5SUZFSElnQUVFd0lBc2dCU0FQSUFacklnWnFhMEVBUVFBUWRTQUFJQWNnQmhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3d0JDeUFIQkVBZ0RDQU1LQUlBUVdScUlnZzJBZ0FnQVVRQUFBQUFBQUN3UWFJaEFRVWdEQ2dDQUNFSUN5QUdJQVpCb0FKcUlBaEJBRWdiSWdvaEJnTkFJQVlnQVJDS0JTSUhOZ0lBSUFaQkJHb2hCaUFCSUFlNG9VUUFBQUFBWmMzTlFhSWlBVVFBQUFBQUFBQUFBR0lOQUFzZ0NFRUFTZ1JBSUFvaEJ3TkFJQWhCSFNBSVFSMUlHeUVOSUFaQmZHb2lDQ0FIVHdSQUlBMnRJUnRCQUNFSkEwQWdDYTBnQ0NnQ0FLMGdHNFo4SWh4Q2dKVHIzQU1ROWdFaEdpQUlJQndnR2tLQWxPdmNBMzU5UGdJQUlCcW5JUWtnQ0VGOGFpSUlJQWRQRFFBTElBa0VRQ0FIUVh4cUlnY2dDVFlDQUFzTElBWWdCMHNFUUFKQUEzOGdCa0Y4YWlJSUtBSUFEUUVnQ0NBSFN3Ui9JQWdoQmd3QkJTQUlDd3NoQmdzTElBd2dEQ2dDQUNBTmF5SUlOZ0lBSUFoQkFFb05BQXNGSUFvaEJ3dEJCaUFESUFOQkFFZ2JJUTBnQ0VFQVNBUkFJQTFCR1dwQkNSQTVRUUZxSVJBZ0MwSG1BRVloRlNBR0lRTURRRUVBSUFocklnWkJDU0FHUVFsSUd5RUpJQW9nQnlBRFNRUi9RUUVnQ1hSQmYyb2hGa0dBbE92Y0F5QUpkaUVYUVFBaENDQUhJUVlEUUNBR0lBZ2dCaWdDQUNJWUlBbDJhallDQUNBWElCWWdHSEZzSVFnZ0JrRUVhaUlHSUFOSkRRQUxJQWNnQjBFRWFpQUhLQUlBR3lFWklBZ0VmeUFESUFnMkFnQWdBMEVFYWdVZ0F3c2hCaUFaQlNBRElRWWdCeUFIUVFScUlBY29BZ0FiQ3lJRElCVWJJZ2NnRUVFQ2RHb2dCaUFHSUFkclFRSjFJQkJLR3lFSUlBd2dDU0FNS0FJQWFpSUdOZ0lBSUFaQkFFZ0VRQ0FESVFjZ0NDRURJQVloQ0F3QkN3c0ZJQWNoQXlBR0lRZ0xJQW9oRENBRElBaEpCRUFnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQmdOQUlBZEJBV29oQnlBS0lBWkJDbXdpQms4TkFBc0xCVUVBSVFjTElBMUJBQ0FISUF0QjVnQkdHMnNnQzBIbkFFWWlGU0FOUVFCSEloWnhRUjkwUVI5MWFpSUdJQWdnREd0QkFuVkJDV3hCZDJwSUJIOGdCa0dBeUFCcUlnWkJDUkE1SVFrZ0JpQUpRUWxzYXlJR1FRaElCRUJCQ2lFTEEwQWdCa0VCYWlFS0lBdEJDbXdoQ3lBR1FRZElCRUFnQ2lFR0RBRUxDd1ZCQ2lFTEN5QUpRUUowSUF4cVFZUmdhaUlHS0FJQUlna2dDeEJJSVJBZ0NDQUdRUVJxUmlJWElBa2dDeUFRYkdzaUNrVnhSUVJBUkFFQUFBQUFBRUJEUkFBQUFBQUFBRUJESUJCQkFYRWJJUUZFQUFBQUFBQUE0RDlFQUFBQUFBQUE4RDlFQUFBQUFBQUErRDhnRnlBS0lBdEJBWFlpRUVaeEd5QUtJQkJKR3lFZElCTUVRQ0FkbWlBZElCSXNBQUJCTFVZaUVCc2hIU0FCbWlBQklCQWJJUUVMSUFZZ0NTQUtheUlLTmdJQUlBRWdIYUFnQVdJRVFDQUdJQW9nQzJvaUJ6WUNBQ0FIUWYrVDY5d0RTd1JBQTBBZ0JrRUFOZ0lBSUFaQmZHb2lCaUFEU1FSQUlBTkJmR29pQTBFQU5nSUFDeUFHSUFZb0FnQkJBV29pQnpZQ0FDQUhRZitUNjl3RFN3MEFDd3NnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQ3dOQUlBZEJBV29oQnlBS0lBdEJDbXdpQzA4TkFBc0xDd3NnQnlFSklBWkJCR29pQmlBSUlBZ2dCa3NiSVFZZ0F3VWdCeUVKSUFnaEJpQURDeUVLSUFZZ0Nrc0Vmd0ovSUFZaEF3Ti9JQU5CZkdvaUJpZ0NBQVJBSUFNaEJrRUJEQUlMSUFZZ0Nrc0VmeUFHSVFNTUFRVkJBQXNMQ3dWQkFBc2hCeUFWQkg4Z0ZrRUJjeUFOYWlJRElBbEtJQWxCZTBweEJIOGdBMEYvYWlBSmF5RUlJQVZCZjJvRklBTkJmMm9oQ0NBRlFYNXFDeUVGSUFSQkNIRUVmeUFJQlNBSEJFQWdCa0Y4YWlnQ0FDSU5CRUFnRFVFS0VFNEVRRUVBSVFNRlFRQWhBMEVLSVFzRFFDQURRUUZxSVFNZ0RTQUxRUXBzSWdzUVRrVU5BQXNMQlVFSklRTUxCVUVKSVFNTElBWWdER3RCQW5WQkNXeEJkMm9oRFNBRlFTQnlRZVlBUmdSL0lBZ2dEU0FEYXlJRFFRQWdBMEVBU2hzaUF5QUlJQU5JR3dVZ0NDQUpJQTFxSUFOcklnTkJBQ0FEUVFCS0d5SURJQWdnQTBnYkN3c0ZJQTBMSVFOQkFDQUpheUVJSUFCQklDQUNJQVZCSUhKQjVnQkdJaEFFZjBFQUlRZ2dDVUVBSUFsQkFFb2JCU0FQSUFnZ0NTQUpRUUJJRzZ3Z0R4QytBU0lMYTBFQ1NBUkFBMEFnQzBGL2FpSUxRVEE2QUFBZ0R5QUxhMEVDU0EwQUN3c2dDMEYvYWlBSlFSOTFRUUp4UVN0cU9nQUFJQXRCZm1vaUNDQUZPZ0FBSUE4Z0NHc0xJQU1nRTBFQmFtcEJBU0FFUVFOMlFRRnhJQU5CQUVjaUN4dHFhaUlOSUFRUWRTQUFJQklnRXhCeUlBQkJNQ0FDSUEwZ0JFR0FnQVJ6RUhVZ0VBUkFJQTVCQ1dvaUNTRVBJQTVCQ0dvaENDQU1JQW9nQ2lBTVN4c2lDaUVIQTBBZ0J5Z0NBSzBnQ1JDK0FTRUZJQWNnQ2tZRVFDQUZJQWxHQkVBZ0NFRXdPZ0FBSUFnaEJRc0ZJQVVnRGtzRVFDQU9RVEFnQlNBUmF4QkZHZ05BSUFWQmYyb2lCU0FPU3cwQUN3c0xJQUFnQlNBUElBVnJFSElnQjBFRWFpSUZJQXhOQkVBZ0JTRUhEQUVMQ3lBRVFRaHhSU0FMUVFGemNVVUVRQ0FBUWNUK0FrRUJFSElMSUFCQk1DQUZJQVpKSUFOQkFFcHhCSDhEZnlBRktBSUFyU0FKRUw0QklnY2dEa3NFUUNBT1FUQWdCeUFSYXhCRkdnTkFJQWRCZjJvaUJ5QU9TdzBBQ3dzZ0FDQUhJQU5CQ1NBRFFRbElHeEJ5SUFOQmQyb2hCeUFGUVFScUlnVWdCa2tnQTBFSlNuRUVmeUFISVFNTUFRVWdCd3NMQlNBREMwRUpha0VKUVFBUWRRVWdBRUV3SUFvZ0JpQUtRUVJxSUFjYklndEpJQU5CZjBweEJIOGdCRUVJY1VVaEVpQU9RUWxxSWd3aEUwRUFJQkZySVJFZ0RrRUlhaUVKSUFNaEJTQUtJUVlEZnlBTUlBWW9BZ0N0SUF3UXZnRWlBMFlFUUNBSlFUQTZBQUFnQ1NFREN3SkFJQVlnQ2tZRVFDQURRUUZxSVFjZ0FDQURRUUVRY2lBU0lBVkJBVWh4QkVBZ0J5RUREQUlMSUFCQnhQNENRUUVRY2lBSElRTUZJQU1nRGswTkFTQU9RVEFnQXlBUmFoQkZHZ05BSUFOQmYyb2lBeUFPU3cwQUN3c0xJQUFnQXlBVElBTnJJZ01nQlNBRklBTktHeEJ5SUFaQkJHb2lCaUFMU1NBRklBTnJJZ1ZCZjBweERRQWdCUXNGSUFNTFFSSnFRUkpCQUJCMUlBQWdDQ0FQSUFockVISUxJQUJCSUNBQ0lBMGdCRUdBd0FCekVIVWdEUXNMSVFBZ0ZDUUdJQUlnQUNBQUlBSklHd3MwQUNBQUlBQmlCSDlCQUFVZ0FFUUFBQUFBQUFEd1FXWUVmMEVBQlNBQVJBQUFBQUFBQVBDL1pRUi9RUUFGSUFDckN3c0xDeVlCQVg4akJpRUNJd1pCRUdva0JpQUNJQUUyQWdBZ0FFSDIvUUlnQWhDbEFob2dBaVFHQzFZQkEzOGdBQ2dDVkNJRFFRQWdBa0dBQW1vaUJSQ21BaUVFSUFFZ0F5QUVJQU5ySUFVZ0JCc2lBU0FDSUFFZ0Fra2JJZ0lRVEJvZ0FDQUNJQU5xTmdJRUlBQWdBU0FEYWlJQk5nSUlJQUFnQVRZQ1ZDQUNDNlVDQWdwL0FYd2dBQ2dDQ0NFR0lBQW9BZ1FpQlNBQktBSUVSZ1JBSUFFb0FnZ2dCVVlFUUFKQUlBRW9BZ0FpQ2lFSEEwQWdBaUFGVGdSQVFRQWhBQXdDQ3lBQ0lBWnNJUXRCQUNFRElBY2hBUU5BSUFNZ0JVY0VRQ0FESUFKSkJFQWdBU0FDSUFNZ0JXeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQkNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQ0NBTFFRTjBJQVJxSVFrZ0F5QUdiRUVEZENBRWFpRUVSQUFBQUFBQUFBQUFJUXdEUUNBSUlBWk9EUUVnQVNBTUlBa3JBd0FnQkNzREFLS2dJZ3c1QXdBZ0NFRUJhaUVJSUFsQkNHb2hDU0FFUVFocUlRUU1BQUFMQUFzTElBTkJBV29oQXlBQlFRaHFJUUVNQVFzTElBSkJBV29oQWlBRlFRTjBJQWRxSVFjTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdjdBd0lEZndWK0lBQzlJZ2RDTklpblFmOFBjU0VDSUFHOUlnWkNOSWluUWY4UGNTRUVJQWRDZ0lDQWdJQ0FnSUNBZjRNaENRSjhBa0FnQmtJQmhpSUZVQTBBQW53Z0FrSC9EMFlnQWIxQy8vLy8vLy8vLy8vL0FJTkNnSUNBZ0lDQWdQai9BRlp5RFFFZ0IwSUJoaUlJSUFWWUJFQWdBRVFBQUFBQUFBQUFBS0lnQUNBRklBaFJHdzhMSUFJRWZpQUhRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FDSVFGSUFkQ0RJWWlCVUovVlFSQVFRQWhBZ05BSUFKQmYyb2hBaUFGUWdHR0lnVkNmMVVOQUFzRlFRQWhBZ3NnQjBFQklBSnJyWVlMSWdnZ0JBUitJQVpDLy8vLy8vLy8vd2VEUW9DQWdJQ0FnSUFJaEFVZ0JrSU1oaUlGUW45VkJFQURRQ0FEUVg5cUlRTWdCVUlCaGlJRlFuOVZEUUFMQ3lBR1FRRWdBeUlFYTYyR0N5SUdmU0lGUW45VklRTWdBaUFFU2dSQUFrQURRQUpBSUFNRVFDQUZVQTBCQlNBSUlRVUxJQVZDQVlZaUNDQUdmU0lGUW45VklRTWdBa0YvYWlJQ0lBUktEUUVNQWdzTElBQkVBQUFBQUFBQUFBQ2lEQUlMQ3lBREJFQWdBRVFBQUFBQUFBQUFBS0lnQlZBTkFSb0ZJQWdoQlFzZ0JVS0FnSUNBZ0lDQUNGUUVRQU5BSUFKQmYyb2hBaUFGUWdHR0lnVkNnSUNBZ0lDQWdBaFVEUUFMQ3lBRlFvQ0FnSUNBZ0lCNGZDQUNyVUkwaG9RZ0JVRUJJQUpycllnZ0FrRUFTaHNnQ1lTL0N3d0JDeUFBSUFHaUlnQWdBS01MQy9rVEF3NS9BbjRIZkNNR0lRb2pCa0dBQkdva0JrRUFJQUlnQTJvaUVHc2hFUUpBQWtBRFFBSkFBa0FDUUNBQlFTNXJEZ01FQUFFQUN5QUJJUVlnQnlFQkRBRUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUZCQVNFSERBRUxDd3dCQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQ3lJR1FUQkdCSDhEZnlBVVFuOThJUlFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQmtFd1JnMEFRUUVoQzBFQkN3VkJBU0VMSUFjTElRRUxJQXBCQURZQ0FBSjhBa0FDUUFKQUFrQWdCa0V1UmlJT0lBWkJVR29pRFVFS1NYSUVRQUpBUVFBaEJ5QUdJUWtnRFNFR0EwQUNRQ0FPQkVBZ0N3MEJRUUVoQ3lBVklSUUZBa0FnRlVJQmZDRVZJQWxCTUVjaERTQUlRZjBBVGdSQUlBMUZEUUVnQ2lBS0tBTHdBMEVCY2pZQzhBTU1BUXNnQ0VFQ2RDQUthaUlCSUF3RWZ5QUpRVkJxSUFFb0FnQkJDbXhxQlNBR0N6WUNBQ0FNUVFGcUlnWkJDVVloQVVFQUlBWWdBUnNoRENBQklBaHFJUWdnRmFjZ0J5QU5HeUVIUVFFaEFRc0xJQUFvQWdRaUJpQUFLQUpvU1FSL0lBQWdCa0VCYWpZQ0JDQUdMUUFBQlNBQUVGUUxJZ2xCVUdvaUJrRUtTU0FKUVM1R0lnNXlEUUVnQ1NFR0RBSUxDeUFCUVFCSElRRU1BZ3NGUVFBaEJ3c2dGQ0FWSUFzYklSUWdBVUVBUnlJQklBWkJJSEpCNVFCR2NVVUVRQ0FHUVg5S0JFQU1BZ1VNQXdzQUN5QVVJQUFnQlJDUkF5SVVRb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JVVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CZ3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdGQXQ4SVJRTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQ0FCUlEwQ0RBTUxDeUFCUlEwQURBRUxRYVRGQTBFY05nSUFJQUJDQUJDQ0FVUUFBQUFBQUFBQUFBd0JDeUFFdDBRQUFBQUFBQUFBQUtJZ0NpZ0NBQ0lBUlEwQUdpQVVJQlZSSUJWQ0NsTnhCRUFnQkxjZ0FMaWlJQUFnQW5aRklBSkJIa3B5RFFFYUN5QVVJQU5CZmhBNXJGVUVRRUdreFFOQnhBQTJBZ0FnQkxkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFVSUFOQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0JMZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBTUJFQWdERUVKU0FSQUlBaEJBblFnQ21vaUJTZ0NBQ0VCQTBBZ0FVRUtiQ0VCSUF4QkFXb2hBQ0FNUVFoSUJFQWdBQ0VNREFFTEN5QUZJQUUyQWdBTElBaEJBV29oQ0FzZ0ZLY2hBU0FIUVFsSUJFQWdBVUVTU0NBSElBRk1jUVJBSUFGQkNVWUVRQ0FFdHlBS0tBSUF1S0lNQXdzZ0FVRUpTQVJBSUFTM0lBb29BZ0M0b2tFQUlBRnJRUUowUWNEVUFHb29BZ0Mzb3d3REN5QUNRUnRxSUFGQmZXeHFJZ0JCSGtvZ0NpZ0NBQ0lGSUFCMlJYSUVRQ0FFdHlBRnVLSWdBVUVDZEVINDB3QnFLQUlBdDZJTUF3c0xDeUFCUVFrUVR5SUFCSDlCQUNBQUlBQkJDV29nQVVGL1Noc2lER3RCQW5SQndOUUFhaWdDQUNFR0lBZ0VmMEdBbE92Y0F5QUdFRGtoQzBFQUlRZEJBQ0VBUVFBaEJRTkFJQWNnQlVFQ2RDQUthaUlOS0FJQUlnNGdCaEJJSWc5cUlRa2dEU0FKTmdJQUlBc2dEaUFHSUE5c2Eyd2hCeUFCUVhkcUlBRWdDVVVnQUNBRlJuRWlDUnNoQVNBQVFRRnFRZjhBY1NBQUlBa2JJUUFnQlVFQmFpSUZJQWhIRFFBTElBY0VmeUFJUVFKMElBcHFJQWMyQWdBZ0FDRUZJQWhCQVdvRklBQWhCU0FJQ3dWQkFDRUZRUUFMSVFBZ0FVRUpJQXhyYWlFQklBVUZJQWdoQUVFQUN5RUhRUUFoQlFOQUFrQWdBVUVTU0NFTUlBRkJFa1loRFNBSFFRSjBJQXBxSVE0RFFDQU1SUVJBSUExRkRRSWdEaWdDQUVIZjRLVUVUd1JBUVJJaEFRd0RDd3RCQUNFSUlBQkIvd0JxSVFzRFFDQUlyU0FMUWY4QWNTSUpRUUowSUFwcUlnWW9BZ0N0UWgyR2ZDSVVweUVMSUJSQ2dKVHIzQU5XQkVBZ0ZFS0FsT3ZjQXhEMkFTSVZweUVJSUJRZ0ZVS0FsT3ZjQTM1OXB5RUxCVUVBSVFnTElBWWdDellDQUNBQUlBQWdDU0FMR3lBSElBbEdJZzhnQ1NBQVFmOEFha0gvQUhGSGNoc2hCaUFKUVg5cUlRc2dEMFVFUUNBR0lRQU1BUXNMSUFWQlkyb2hCU0FJUlEwQUN5QUdRZjhBYWtIL0FIRWhDU0FHUWY0QWFrSC9BSEZCQW5RZ0Ntb2hEQ0FIUWY4QWFrSC9BSEVpQnlBR1JnUkFJQXdnQ1VFQ2RDQUthaWdDQUNBTUtBSUFjallDQUNBSklRQUxJQWRCQW5RZ0Ntb2dDRFlDQUNBQlFRbHFJUUVNQVFzTEEwQUNRQ0FBUVFGcVFmOEFjU0VHSUFCQi93QnFRZjhBY1VFQ2RDQUthaUVNQTBBQ1FDQUJRUkpHSVFoQkNVRUJJQUZCRzBvYklRa0RRRUVBSVE0Q1FBSkFBMEFDUUNBQUlBY2dEbXBCL3dCeElndEdEUUlnQzBFQ2RDQUthaWdDQUNJTElBNUJBblJCcUlvQmFpZ0NBQ0lOU1EwQ0lBc2dEVXNOQUNBT1FRRnFRUUpQRFFKQkFTRU9EQUVMQ3d3QkN5QUlEUVFMSUFVZ0NXb2hCU0FBSUFkR0JFQWdBQ0VIREFFTEMwRUJJQWwwUVg5cUlRNUJnSlRyM0FNZ0NYWWhEMEVBSVFnZ0J5RUxBMEFnQ0NBTFFRSjBJQXBxSWhJb0FnQWlFeUFKZG1vaERTQVNJQTAyQWdBZ0R5QU9JQk54YkNFSUlBRkJkMm9nQVNBTlJTQUhJQXRHY1NJTkd5RUJJQWRCQVdwQi93QnhJQWNnRFJzaEJ5QUxRUUZxUWY4QWNTSUxJQUJIRFFBTElBZ0VRQ0FHSUFkSERRRWdEQ0FNS0FJQVFRRnlOZ0lBQ3d3QkN3c2dBRUVDZENBS2FpQUlOZ0lBSUFZaEFBd0JDd3RCQUNFQkEwQWdBRUVCYWtIL0FIRWhCaUFBSUFFZ0IycEIvd0J4SWdsR0JFQWdCa0YvYWtFQ2RDQUtha0VBTmdJQUlBWWhBQXNnRmtRQUFBQUFaYzNOUWFJZ0NVRUNkQ0FLYWlnQ0FMaWdJUllnQVVFQmFpSUJRUUpIRFFBTElCWWdCTGNpR0tJaEZ5QUZRVFZxSWdZZ0Eyc2lBeUFDU0NFRUlBTkJBQ0FEUVFCS0d5QUNJQVFiSWdGQk5VZ0VRRVFBQUFBQUFBRHdQMEhwQUNBQmF4Q2ZBU0FYRUpBREloa2hHaUFYUkFBQUFBQUFBUEEvUVRVZ0FXc1Fud0VRandNaUd5RVdJQmtnRnlBYm9hQWhGd1ZFQUFBQUFBQUFBQUFoRmdzZ0IwRUNha0gvQUhFaUFpQUFSd1JBQWtBZ0FrRUNkQ0FLYWlnQ0FDSUNRWURLdGU0QlNRUjhJQUpGUVFBZ0FDQUhRUU5xUWY4QWNVWWJEUUVnR0VRQUFBQUFBQURRUDZJZ0ZxQUZJQUpCZ01xMTdnRkhCRUFnR0VRQUFBQUFBQURvUDZJZ0ZxQWhGZ3dDQ3lBWVJBQUFBQUFBQU9BL29pQVdvQ0FZUkFBQUFBQUFBT2cvb2lBV29DQUFJQWRCQTJwQi93QnhSaHNMSVJZTFFUVWdBV3RCQVVvRWZDQVdSQUFBQUFBQUFQQS9FSThEUkFBQUFBQUFBQUFBWVFSOElCWkVBQUFBQUFBQThEK2dCU0FXQ3dVZ0Znc2hGZ3NnRnlBV29DQWFvU0VYSUFaQi8vLy8vd2R4UVg0Z0VHdEtCSHdDZkNBRklCZVpSQUFBQUFBQUFFQkRaa1VpQUVFQmMyb2hCU0FYSUJkRUFBQUFBQUFBNEQraUlBQWJJUmNnQlVFeWFpQVJUQVJBSUJjZ0JDQUFJQUVnQTBkeWNTQVdSQUFBQUFBQUFBQUFZbkZGRFFFYUMwR2t4UU5CeEFBMkFnQWdGd3NGSUJjTElBVVFqZ01MSVJ3Z0NpUUdJQndMOGdnRENIOEZmZ044SUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFVQ1FBSkFBMEFDUUFKQUlBVkJMbXNPQXdNQkFBRUxJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVZCQVNFSURBRUxDd3dCQ3lBQUtBSUVJZ1VnQUNnQ2FFa0VmeUFBSUFWQkFXbzJBZ1FnQlMwQUFBVWdBQkJVQ3lJRlFUQkdCSDhEZnlBTlFuOThJUTBnQUNnQ0JDSUZJQUFvQW1oSkJIOGdBQ0FGUVFGcU5nSUVJQVV0QUFBRklBQVFWQXNpQlVFd1JnMEFRUUVoQ0VFQkN3VkJBUXNoQ1F0RUFBQUFBQUFBOEQ4aEV5QUZJUWNnQ0NFRkEwQUNRQ0FIUVNCeUlRZ0NRQUpBSUFkQlVHb2lDMEVLU1EwQUlBZEJMa1lpRENBSVFaOS9ha0VHU1hKRkRRSWdERVVOQUNBSkJINUJMaUVIREFNRlFRRWhDU0FQQ3lFTkRBRUxJQWhCcVg5cUlBc2dCMEU1U2hzaEJTQVBRZ2hUQkVBZ0JTQUdRUVIwYWlFR0JTQVBRZzVUQkh3Z0UwUUFBQUFBQUFDd1A2SWlGQ0VUSUJJZ0ZDQUZ0NktnQlNBS1FRRWdCVVVnQ2tFQVIzSWlCUnNoQ2lBU0lCSWdFMFFBQUFBQUFBRGdQNktnSUFVYkN5RVNDeUFQUWdGOElROUJBU0VGQ3lBQUtBSUVJZ2NnQUNnQ2FFa0VmeUFBSUFkQkFXbzJBZ1FnQnkwQUFBVWdBQkJVQ3lFSERBRUxDeUFGQkh3Q2ZDQVBRZ2hUQkVBZ0R5RU9BMEFnQmtFRWRDRUdJQTVDQVh3aEVDQU9RZ2RUQkVBZ0VDRU9EQUVMQ3dzQ2Z5QUhRU0J5UWZBQVJnUitJQUFnQkJDUkF5SU9Rb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JFVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdEZ3NGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFnQUxJUkVnQTdkRUFBQUFBQUFBQUFDaUlBWkZEUUVhSUJFZ0RTQVBJQWtiUWdLR1FtQjhmQ0lOUVFBZ0FtdXNWUXNFUUVHa3hRTkJ4QUEyQWdBZ0E3ZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBTklBSkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdBN2RFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QUdRWDlLQkVBRFFDQVNSQUFBQUFBQUFPQS9aa1VpQUVFQmN5QUdRUUYwY2lFR0lCSWdFaUFTUkFBQUFBQUFBUEMvb0NBQUc2QWhFaUFOUW45OElRMGdCa0YvU2cwQUN3c0NmQUpBSUExQ0lDQUNySDE4SWc0Z0FheFRCRUFnRHFjaUFVRUFUQVJBUVFBaEFVSFVBQ0VBREFJTEMwSFVBQ0FCYXlFQUlBRkJOVWdOQUNBRHR5RVRSQUFBQUFBQUFBQUFEQUVMUkFBQUFBQUFBUEEvSUFBUW53RWdBN2NpRXhDUUF3c2hGRVFBQUFBQUFBQUFBQ0FTSUFaQkFYRkZJQUZCSUVnZ0VrUUFBQUFBQUFBQUFHSnhjU0lBR3lBVG9pQVVJQk1nQUNBR2FyaWlvS0FnRktFaUVrUUFBQUFBQUFBQUFHRUVRRUdreFFOQnhBQTJBZ0FMSUJJZ0RhY1FqZ01MQlNBQUtBSm9SU0lCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQkFSQUlBRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUlBRWdDVVZ5UlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNMQlNBQVFnQVFnZ0VMSUFPM1JBQUFBQUFBQUFBQW9nc0x2Z01CQkg4Z0FDZ0NDQ0lGSUFBb0FnUWlBeUFGSUFOSUd5RUdJQVZCQWtnZ0EwRUNTSElFZjBGL0JTQUJLQUlJSUFWR0JIOGdBU2dDQkNBR1JnUi9JQUlvQWdRZ0JrWUVmd0ovSUFZZ0JoQ0xBU0lFS0FJRUlBWkdCRUFnQkNnQ0NDQUdSZ1JBSUFNZ0JVZ2lBd1JBSUFBZ0JCQ05CVUVBU0FSQUlBUVFTVUYvREFRTEJTQUFJQVFRaGdWQkFFZ0VRQ0FFRUVsQmZ3d0VDd3NnQkNBQ0VJTUZRUUJJQkVBZ0JCQkpRWDhNQXdzZ0F3UkFJQUFnQkNBQklBSVEvZ1JCQUVnRVFDQUVFRWxCZnd3RUN3VUNRRUVBSVFVZ0JDZ0NBQ0VESUFFb0FnQWhBQU5BQWtBZ0JTQUdUZzBBSUFJb0FnQWdCVUVEZEdvckF3QkV2SW5ZbDdMU25EeGpEUUJCQUNFQkEwQWdBU0FHU0FSQUlBQWdBeXNEQURrREFDQUJRUUZxSVFFZ0EwRUlhaUVESUFCQkNHb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUZJUUVEUUNBQklBWk9EUUVnQWlnQ0FDQUJRUU4wYWtRQUFBQUFBQUFBQURrREFFRUFJUU1EUUNBRElBWklCRUFnQUVRQUFBQUFBQUFBQURrREFDQURRUUZxSVFNZ0FFRUlhaUVBREFFTEN5QUJRUUZxSVFFTUFBQUxBQXNMSUFRUVNVRUFEQUlMQ3lBRUVFbEJmd3NGUVg4TEJVRi9Dd1ZCZndzTEM5SVRBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdjaERDQUJJQUpCZjJvaUVHeEJBWFFnQjJvaEJnTkFJQVVnQVVnRVFDQUdRUUE3QVFBZ0RFRUFPd0VBSUF4QkFtb2hEQ0FGUVFGcUlRVWdCa0VDYWlFR0RBRUxDMEVBSVF3Z0J5SUdJQUZCZjJvaUVVRUJkR29oQlFOQUlBd2dBa2dFUUNBRlFRQTdBUUFnQmtFQU93RUFJQUZCQVhRZ0Jtb2hCaUFNUVFGcUlRd2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFaQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oREVFQklRcEJBQ0VGSUFCQkFYUWdCMm9oQXdKL0FrQURRQUpBSUFvZ0VFNE5BaUFGSVFCQkFTRUlJQU1oQ3dOQUlBZ2dFVWdFUUNBTkxRQUFJQXd0QUFCS0JFQUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQlNBTFFRQTdBUUFMSUExQkFXb2hEU0FNUVFGcUlRd2dDRUVCYWlFSUlBdEJBbW9oQ3d3QkN3c2dEVUVDYWlFTklBeEJBbW9oRENBS1FRRnFJUW9nQUNFRklBdEJCR29oQXd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQndOQUlBY2dCVXdFUUNBSElBWW9BZ0FpREVZRVFDQUFRUUZxSVFNRklBQWhBeUFNUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FESVFBZ0IwRUJhaUVISUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdZMkFnZ2dCZ1IvSUExQkFDQUdRUUowRUVVYUlBUkJrSUFvYWtFQUlBWkJCSFFRUlJwQkFDRURBMEFnQXlBR1NBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdaQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MVXdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUNnQ0FEWUNBQU5BSUFJb0FnQkJBMnBCZkhFaUFDZ0NBQ0VESUFJZ0FFRUVhallDQUNBQlFYOXFJUUFnQVVFQlN3UkFJQUFoQVF3QkN3c2dBaVFHSUFNTHhoUURFWDhEZmdGOEl3WWhDU01HUWFBQ2FpUUdJQUFvQWt4QmYwb0VmMEVCQlVFQUN4b2dDVUdJQW1vaERTQUpRWVFDYWlFU0lBbEJrQUpxSVJNZ0FTd0FBQ0lMQkVBQ1FBSkFBa0FDUUFKQUEwQUNRQ0FMUWY4QmNSQ3lBUVJBQTBBZ0FVRUJhaUlETFFBQUVMSUJCRUFnQXlFQkRBRUxDeUFBUWdBUWdnRURRQ0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeEN5QVEwQUN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnczJBZ1FGSUFBb0FnUWhDd3NnQ3lBQUtBSUlhNndnRkNBQUtRTjRmSHdoRkFVQ1FDQUJMQUFBUVNWR0lnY0VRQUpBQW44Q1FBSkFJQUZCQVdvaUJDd0FBQ0lEUVNWckRnWURBUUVCQVFBQkMwRUFJUW9nQVVFQ2Fnd0JDeUFEUWY4QmNSQ0tBUVJBSUFFc0FBSkJKRVlFUUNBQ0lBUXRBQUJCVUdvUWt3VWhDaUFCUVFOcURBSUxDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhDaUFDSUFGQkJHbzJBZ0FnQkFzaUFTMEFBQkNLQVFSQVFRQWhCQU5BSUFFdEFBQWdCRUVLYkVGUWFtb2hCQ0FCUVFGcUlnRXRBQUFRaWdFTkFBc0ZRUUFoQkFzZ0FVRUJhaUVISUFFc0FBQWlDRUh0QUVZRWYwRUFJUVlnQVVFQ2FpRUJJQWNpQXl3QUFDRUlRUUFoQlNBS1FRQkhCU0FCSVFNZ0J5RUJRUUFMSVFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FJUVJoMFFSaDFRY0VBYXc0NkJRNEZEZ1VGQlE0T0RnNEVEZzRPRGc0T0JRNE9EZzRGRGc0RkRnNE9EZzRGRGdVRkJRVUZBQVVDRGdFT0JRVUZEZzRGQXdVT0RnVU9BdzRMUVg1QmZ5QUJMQUFBUWVnQVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBVUxRUU5CQVNBQkxBQUFRZXdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFRTFFRTWhDQXdEQzBFQklRZ01BZ3RCQWlFSURBRUxRUUFoQ0NBRElRRUxRUUVnQ0NBQkxRQUFJZ2RCTDNGQkEwWWlBeHNoRGlBQUFuOENRQUpBQWtBQ1FDQUhRU0J5SUFjZ0F4c2lERUgvQVhFaUIwRVlkRUVZZFVIYkFHc09GQUVEQXdNREF3TURBQU1EQXdNREF3TURBd01DQXdzZ0JFRUJJQVJCQVVvYkRBTUxJQVFNQWdzZ0NpQU9JQlFRbEFNTUJBc2dBRUlBRUlJQkEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc1FzZ0VOQUFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWlJSU5nSUVCU0FBS0FJRUlRZ0xJQWdnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFnQkFzaUVhd2lGaENDQVNBQUtBSUVJZ01nQUNnQ2FDSUVTUVJBSUFBZ0EwRUJhallDQkFVZ0FCQlVRUUJJRFFnZ0FDZ0NhQ0VFQ3lBRUJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFWWRFRVlkVUhCQUdzT09BVUhCd2NGQlFVSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQVFjSEFBY0hCd2NIQlFjQUF3VUZCUWNFQndjSEJ3Y0NBUWNIQUFjREJ3Y0JCd3NnREVFUWNrSHpBRVlFUUNBSlFYOUJnUUlRUlJvZ0NVRUFPZ0FBSUF4Qjh3QkdCRUFnQ1VFQU9nQWhJQWxCQURZQkNpQUpRUUE2QUE0TEJRSkFJQWtnQVVFQmFpSUhMQUFBUWQ0QVJpSURJZ1JCZ1FJUVJSb2dDVUVBT2dBQUFrQUNRQUpBSUFGQkFtb2dCeUFER3lJQkxBQUFRUzFySWdNRVFDQURRVEJHQkVBTUFnVU1Bd3NBQ3lBSklBUkJBWE1pQ0RvQUxpQUJRUUZxSVFFTUFnc2dDU0FFUVFGeklnZzZBRjRnQVVFQmFpRUJEQUVMSUFSQkFYTWhDQXNEUUFKQUFrQWdBU3dBQUNJRURsNFRBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVEQVFzZ0FVRUJhaUlETEFBQUlnUWlCMEVBSUFkQjNRQkhHMFVFUUVFdElRUU1BUXNnQVVGL2FpMEFBQ0lCSUFSQi93RnhTQVIvQTM4Z0FVRUJhaUlCSUFscUlBZzZBQUFnQVNBRExBQUFJZ2RCL3dGeFNRMEFJQU1oQVNBSEN3VWdBeUVCSUFRTElRUUxJQVJCL3dGeFFRRnFJQWxxSUFnNkFBQWdBVUVCYWlFQkRBQUFDd0FMQ3lBUlFRRnFRUjhnREVIakFFWWlEQnNoQkNBTFFRQkhJUkFnRGtFQlJpSVJCRUFnRUFSQUlBUkJBblFRUkNJRlJRUkFRUUFoQmtFQUlRVU1FUXNGSUFvaEJRc2dEVUVBTmdJQUlBMUJBRFlDQkVFQUlRWURRQUpBSUFWRklRY0RRQU5BQWtBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVU5BeUFUSUFNNkFBQUNRQUpBSUJJZ0UwRUJJQTBRMXdGQmZtc09BZ0VBQWd0QkFDRUdEQlVMREFFTEN5QUhSUVJBSUFaQkFuUWdCV29nRWlnQ0FEWUNBQ0FHUVFGcUlRWUxJQkFnQkNBR1JuRkZEUUFMSUFVZ0JFRUJkRUVCY2lJRVFRSjBFT2dCSWdNRVFDQURJUVVNQWdWQkFDRUdEQklMQUFzTElBMEVmeUFOS0FJQVJRVkJBUXNFZnlBR0lRUWdCU0VEUVFBRlFRQWhCZ3dRQ3lFR0JRSkFJQkFFUUNBRUVFUWlCa1VFUUVFQUlRWkJBQ0VGREJJTFFRQWhCUU5BQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVUVRQ0FGSVFSQkFDRURRUUFoQlF3RUN5QUZJQVpxSUFNNkFBQWdCVUVCYWlJRklBUkhEUUFMSUFZZ0JFRUJkRUVCY2lJRUVPZ0JJZ01FUUNBRElRWU1BUVZCQUNFRkRCTUxBQUFMQUFzZ0NrVUVRQU5BSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMUVFGcUlBbHFMQUFBRFFCQkFDRUVRUUFoQmtFQUlRTkJBQ0VGREFJQUN3QUxRUUFoQkFOL0lBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElnVkJBV29nQ1dvc0FBQUVmeUFFSUFwcUlBVTZBQUFnQkVFQmFpRUVEQUVGUVFBaEEwRUFJUVVnQ2dzTElRWUxDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ2cyQWdRRklBQW9BZ1FoQ0FzZ0FDa0RlQ0FJSUFBb0FnaHJySHdpRlZBZ0RFRUJjeUFWSUJaUmNrVnlEUXNnRUFSQUlCRUVRQ0FLSUFNMkFnQUZJQW9nQmpZQ0FBc0xJQXhGQkVBZ0F3UkFJQVJCQW5RZ0EycEJBRFlDQUFzZ0JrVUVRRUVBSVFZTUNBc2dCQ0FHYWtFQU9nQUFDd3dHQzBFUUlRUU1CQXRCQ0NFRURBTUxRUW9oQkF3Q0MwRUFJUVFNQVFzZ0FDQU9RUUFRa2dNaEZ5QUFLUU40UWdBZ0FDZ0NCQ0FBS0FJSWE2eDlVUTBHSUFvRVFBSkFBa0FDUUNBT0RnTUFBUUlGQ3lBS0lCZTJPQUlBREFRTElBb2dGemtEQUF3REN5QUtJQmM1QXdBTUFnc01BUXNnQUNBRVFRQkNmeENUQXlFVklBQXBBM2hDQUNBQUtBSUVJQUFvQWdocnJIMVJEUVVnREVId0FFWWdDa0VBUjNFRVFDQUtJQlUrQWdBRklBb2dEaUFWRUpRREN3c2dEeUFLUVFCSGFpRVBJQUFvQWdRZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRTUFnc0xJQUJDQUJDQ0FTQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5RURJQU1nQVNBSGFpSUJMUUFBUncwRUlCUkNBWHdoRkFzTElBRkJBV29pQVN3QUFDSUxEUUVNQmdzTERBTUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFOQmYwb2dEM0lOQTBFQUlRc01BUXNnRDBVTkFBd0JDMEYvSVE4TElBc0VRQ0FHRURnZ0JSQTRDd3NMSUFra0JpQVBDd3NBSUFBZ0FTQUNFSXdGQzNrQkJYOGdBQ2dDQkNFRklBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmMEVBSVFNZ0FTZ0NBQ0VFQTBBZ0F5QUdTQVJBSUFBZ0FDc0RBQ0FFS3dNQW9Ua0RBQ0FEUVFGcUlRTWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0xMd0VDZnlBQUVLc0NJZ0VvQWdBMkFqZ2dBU2dDQUNJQ0JFQWdBaUFBTmdJMEN5QUJJQUEyQWdCQnFNVURFQTRMNndJQkIzOGpCaUVESXdaQk1Hb2tCaUFEUVJocUlRUWdBMEVJYWlFRklBTkJLR29oQmtINi9RSWdBU3dBQUJDL0FRUkFRWmdKRUVRaUFnUkFJQUpCQUVHUUFSQkZHZ0ovSUFGQkt4Qy9BVVVoQ0NBQkxBQUFJUUVnQ0FzRVFDQUNRUWhCQkNBQlFmSUFSaHMyQWdBTElBRkI0UUJHQkVBZ0F5QUFOZ0lBSUFOQkF6WUNCRUhkQVNBREVCa2lBVUdBQ0hGRkJFQWdCU0FBTmdJQUlBVkJCRFlDQkNBRklBRkJnQWh5TmdJSVFkMEJJQVVRR1JvTElBSWdBaWdDQUVHQUFYSWlBVFlDQUFVZ0FpZ0NBQ0VCQ3lBQ0lBQTJBandnQWlBQ1FaZ0JhallDTENBQ1FZQUlOZ0l3SUFKQmZ6b0FTeUFCUVFoeFJRUkFJQVFnQURZQ0FDQUVRWk9vQVRZQ0JDQUVJQVkyQWdoQk5pQUVFRE5GQkVBZ0FrRUtPZ0JMQ3dzZ0FrRUNOZ0lnSUFKQkFUWUNKQ0FDUVFFMkFpZ2dBa0VDTmdJTVFlakVBeWdDQUVVRVFDQUNRWDgyQWt3TElBSVFsd1VGUVFBaEFnc0ZRYVRGQTBFY05nSUFDeUFESkFZZ0FndHdBUUovSUFCQkt4Qy9BVVVoQVNBQUxBQUFJZ0pCOGdCSFFRSWdBUnNpQVNBQlFZQUJjaUFBUWZnQUVMOEJSUnNpQVNBQlFZQ0FJSElnQUVIbEFCQy9BVVViSWdBZ0FFSEFBSElnQWtIeUFFWWJJZ0JCZ0FSeUlBQWdBa0gzQUVZYklnQkJnQWh5SUFBZ0FrSGhBRVliQy9nQkFnWi9BWHdnQUNnQ0JDSUhRUUZJSUFBb0FnZ2lBMEVCU0hJRWYwRi9CU0FESUFFb0FnUkdCSDhEUUNBQ0lBTkhCRUFnQVNnQ0FDQUNRUU4wYWtRQUFBQUFBQUFBQURrREFDQUNRUUZxSVFJTUFRc0xJQUFvQWdBaEFBTkFJQVVnQjBjRVFFRUFJUVlnQVNnQ0FDRUVJQUFoQWdOQUlBTWdCa2NFUUNBRUlBSXJBd0FnQkNzREFLQTVBd0FnQmtFQmFpRUdJQVJCQ0dvaEJDQUNRUWhxSVFJTUFRc0xJQU5CQTNRZ0FHb2hBQ0FGUVFGcUlRVU1BUXNMSUFlM0lRaEJBQ0VBQTM4Z0FDQURSZ1IvUVFBRklBRW9BZ0FnQUVFRGRHb2lBaUFDS3dNQUlBaWpPUU1BSUFCQkFXb2hBQXdCQ3dzRlFYOExDd3ZzQWdFTGZ5QUFLQUlJSUFBb0FnQkJvdHJ2MXdacUlnWVFzUUVoQkNBQUtBSU1JQVlRc1FFaEJTQUFLQUlRSUFZUXNRRWhBeUFFSUFGQkFuWkpCSDhnQlNBQklBUkJBblJySWdkSklBTWdCMGx4Qkg4Z0F5QUZja0VEY1FSL1FRQUZBbjhnQlVFQ2RpRUpBbjhnQTBFQ2RpRU5RUUFoQlFOQUFrQWdDU0FGSUFSQkFYWWlCMm9pQzBFQmRDSU1haUlEUVFKMElBQnFLQUlBSUFZUXNRRWhDRUVBSUFOQkFXcEJBblFnQUdvb0FnQWdCaEN4QVNJRElBRkpJQWdnQVNBRGEwbHhSUTBER2tFQUlBQWdBeUFJYW1vc0FBQU5BeG9nQWlBQUlBTnFFTE1CSWdORkRRQWdBMEVBU0NFRFFRQWdCRUVCUmcwREdpQUZJQXNnQXhzaEJTQUhJQVFnQjJzZ0F4c2hCQXdCQ3dzZ0RTQU1haUlDUVFKMElBQnFLQUlBQ3lBR0VMRUJJUVFnQWtFQmFrRUNkQ0FBYWlnQ0FDQUdFTEVCSWdJZ0FVa2dCQ0FCSUFKclNYRUVmMEVBSUFBZ0Ftb2dBQ0FDSUFScWFpd0FBQnNGUVFBTEN3c0ZRUUFMQlVFQUN3cytBUUYvSUFBb0FrUUVRQ0FBS0FLRUFTSUJCRUFnQVNBQUtBS0FBVFlDZ0FFTElBQW9Bb0FCSWdBRWZ5QUFRWVFCYWdWQmxJb0JDeUFCTmdJQUN3dnFBZ0lEZndGOElBQW9BZ1FpQmlBQUtBSUlJZ1VnQmlBRlNCc2hCQ0FHUVFKSUlBVkJBa2h5QkVCQmZ5RUFCU0FCS0FJSUlBVkdCRUFnQVNnQ0JDQUVSZ1JBSUFJb0FnUWdCRVlFUUNBREtBSUVJQVZHQkVBZ0FCRGZCU0lFQkVBQ1FDQUVJQU1RbWdWQkFFZ0VRQ0FFRUVsQmZ5RUFEQUVMSUFRZ0F4Q1dCVUVBU0FSQUlBUVFTVUYvSVFBTUFRc2dCcmVmSVFjZ0JTQUdiQ0VEUVFBaEFBTkFJQUFnQTBnRVFDQUVLQUlBSUFCQkEzUnFJZ1VnQlNzREFDQUhvemtEQUNBQVFRRnFJUUFNQVFzTElBUWdBU0FDRUpFRklRQWdCQkJKSUFJb0FnUWhBMFFBQUFBQUFBQUFBQ0VIUVFBaEFRTkFJQUVnQTBnRVFDQUhJQUlvQWdBZ0FVRURkR29yQXdDZ0lRY2dBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0FpZ0NBQ0FCUVFOMGFpSUVJQVFyQXdBZ0I2TTVBd0FnQVVFQmFpRUJEQUVMQ3dzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0xJQUFMQkFCQ0FBdmhBUUVFZnlNR0lRUWpCa0VnYWlRR0lBUWdBVFlDQUNBRUlBSWdBQ2dDTUNJRFFRQkhhellDQkNBRUlBQW9BaXcyQWdnZ0JDQUROZ0lNQWtBQ1FDQUFLQUk4SUFSQkFpQUVRUkJxSWdNUU1SQ3NBZ1JBSUFOQmZ6WUNBRUYvSVFJTUFRVWdBeWdDQUNJRFFRRklCRUFnQXlFQ0RBSUZJQU1nQkNnQ0JDSUdTd1JBSUFBZ0FDZ0NMQ0lGTmdJRUlBQWdCU0FESUFacmFqWUNDQ0FBS0FJd0JFQWdBQ0FGUVFGcU5nSUVJQUVnQWtGL2Ftb2dCU3dBQURvQUFBc0ZJQU1oQWdzTEN3d0JDeUFBSUFBb0FnQWdBa0V3Y1VFUWMzSTJBZ0FMSUFRa0JpQUNDd1lBUWFURkF3dEdBZ0YvQVg0akJpRURJd1pCRUdva0JpQUFLQUk4SUFHbklBRkNJSWluSUFKQi93RnhJQU1RSFJDc0FnUitJQU5DZnpjREFFSi9CU0FES1FNQUN5RUVJQU1rQmlBRUM3Y0NBUWQvSXdZaEJpTUdRU0JxSkFZZ0JrRVFhaUVISUFZaUF5QUFLQUljSWdRMkFnQWdBeUFBS0FJVUlBUnJJZ1UyQWdRZ0F5QUJOZ0lJSUFNZ0FqWUNERUVDSVFRZ0FpQUZhaUVGSUFNaEFRSkFBa0FEUUNBQUtBSThJQUVnQkNBSEVEQVFyQUlFZnlBSFFYODJBZ0JCZndVZ0J5Z0NBQXNpQXlBRlJ3UkFJQU5CQUVnTkFpQUJRUWhxSUFFZ0F5QUJLQUlFSWdoTElna2JJZ0VnQXlBSVFRQWdDUnRySWdnZ0FTZ0NBR28yQWdBZ0FTQUJLQUlFSUFock5nSUVJQVFnQ1VFZmRFRWZkV29oQkNBRklBTnJJUVVNQVFzTElBQWdBQ2dDTENJQklBQW9BakJxTmdJUUlBQWdBVFlDSENBQUlBRTJBaFFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FBS0FJQVFTQnlOZ0lBSUFSQkFrWUVmMEVBQlNBQ0lBRW9BZ1JyQ3lFQ0N5QUdKQVlnQWdzT0FDQUFLQUk4RUJoQi8vOERjUXVtQWdFQ2Z3SkFBa0FnQUNnQ0ZDSUJRYk4rYWtFQ1R3MEFJQUJCUUdzb0FnQU5BQ0FBS0FLTUFTQUFLQUowU1FSQUlBQW9BZ0FpQVVIRkFEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BcndES0FJRUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FFSFNBVFlDRkF3QkN3SkFBa0FnQVVIUEFXc09CQUFCQVFJQkN5QUFRZElCTmdJVURBRUxJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3RElnRW9BaFJGQkVBQ1FBTkFBa0FnQVNnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDekFNaUFTZ0NGRVVOQVF3Q0N3dEJBQThMQ3lBQUtBSVlLQUlZSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJDZEEwRUJDLzBHQVFSL0FrQUNRQUpBQWtBQ1FBSkFJQUFvQWhRaUFVSElBV3NPQ3dBQkF3SUNBZ0lDQWdRQ0JBc2dBRUhNQTJvaUFTZ0NBQ2dDQkNFQ0lBQWdBa0gvQVhGQnJBTnFFUUVBSUFBb0FoZ29BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQ0FBUWNrQk5nSVVEQVFMSUFCQnpBTnFJUUVNQXdzZ0FDZ0N6QU1vQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBRHd0QkFROExJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJBQThMSUFFb0FnQW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVVjRVFDQUJEd3NDUUFKQUFrQUNRQUpBSUFBb0FpUWlBVUVCYXc0RUFBTUJBZ01MSUFFaEFnd0RDeUFBS0FMWUFTSURLQUlBSVFFZ0F5Z0NzQUVpQWtFRFJpQUJRUUZHSWdRZ0F5Z0NXQ0lEUVFKR2NYRUVmMEVESVFKQkFnVWdCQ0FEUVNKR2NTQUNRU05HY1FSL1FRY2hBa0VDQlNBQlFkSUFSaUFEUWNjQVJuRWdBa0hDQUVaeEJIOUJBaUVDUVFJRklBRkI4Z0JHSUFOQjV3QkdjU0FDUWVJQVJuRUVmMEVHSVFKQkFnVWdBQ2dDbkFJRWYwRURJUUpCQWdVZ0FDZ0NxQUpGQkVBZ0FDZ0NBQ0lFSUFFMkFoZ2dCQ0FETmdJY0lBUWdBallDSUNBRVFmRUFOZ0lVSUFRb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QkJBaUVCUVFNaEFnd0lDd0pBQWtBQ1FDQUFMQUNzQWlJQkRnSUFBUUlMUVFJaEFVRUNJUUlNQ1F0QkFpRUJRUU1oQWd3SUN5QUFLQUlBSWdKQjlBQTJBaFFnQWlBQlFmOEJjVFlDR0NBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BUVFJaEFVRURJUUlNQndzTEN3c0xJUUVNQWdzZ0FDZ0NxQUlFZndKQUFrQUNRQ0FBTEFDc0FpSUJEZ01BQWdFQ0MwRUVJUUZCQkNFQ0RBUUxRUVFoQVVFRklRSU1Bd3NnQUNnQ0FDSUNRZlFBTmdJVUlBSWdBVUgvQVhFMkFoZ2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUVJUUZCQlNFQ0RBSUZRUVFoQWtFRUN5RUJEQUVMUVFBaEFVRUFJUUlMSUFBZ0FqWUNLQ0FBSUFFMkFpd2dBQ0FBS0FLc0F5SUJOZ0l3SUFBZ0FUWUNOQ0FBUkFBQUFBQUFBUEEvT1FNNElBQkJRR3RCQURZQ0FDQUFRUUEyQWtRZ0FFRUFOZ0pJSUFCQkFUWUNUQ0FBUVFFMkFsQWdBRUVBTmdKVUlBQkJBallDV0NBQVFRRTJBbHdnQUVHQUFqWUNZQ0FBUVFBMkFvZ0JJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzSUFCQnlnRTJBaFJCQVF1TkFRRUNmeUFBS0FJVUlnSkJmbkZCeUFGSEJFQWdBQ2dDQUNJRFFSVTJBaFFnQXlBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0NRQUpBQWtBZ0FCQ2xCU0lDUVFGckRnSUFBUUlMUVFFUEN5QUJCRUFnQUNnQ0FDSUJRVFUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBRUowRFFRSVBDeUFDQ3djQUlBQVFuZ01MbndJQkFuOGdBRUVBTmdJRUlBRkIyZ0JIQkVBZ0FDZ0NBQ0lEUVEwMkFoUWdBMEhhQURZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRZWdEUndSQUlBQW9BZ0FpQVVFV05nSVVJQUZCNkFNMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0NmeUFBSVFRZ0FDZ0NBQ0VDSUFBb0Fnd2hBeUFBUVFScVFRQkI1QU1RUlJvZ0FDQUNOZ0lBSUFBZ0F6WUNEQ0FBUVFFMkFoQWdCQXNRd2dVZ0FFRUFOZ0lJSUFCQkFEWUNHQ0FBUVFBMkFyZ0NJQUJDQURjQ3BBRWdBRUlBTndLc0FTQUFRZ0EzQXJRQklBQkNBRGNDdkFFZ0FFSUFOd0xFQVNBQVFnQTNBc3dCSUFBUXVBVWdBQkNRQmlBQVFjZ0JOZ0lVQ3hVQUlBQW9BZ0FpQUVFQU5nSnNJQUJCQURZQ0ZBdnBBZ0VLZnlNR0lRWWpCa0V3YWlRR0lBWkJDR29oQkFKQUFrQUNmeUFBS0FJQUlnSW9BaFFpQTBFQVNnUkFJQU1nQWlnQ2RFd0VRQ0FDS0FKd0lBTkJBblJxREFJTEN5QUNLQUo0SWdWRkRRRWdBeUFDS0FKOElnQklEUUVnQXlBQ0tBS0FBVW9OQVNBRElBQnJRUUowSUFWcUN5Z0NBQ0lGUlEwQURBRUxJQUlnQXpZQ0dDQUNLQUp3S0FJQUlRVUxJQVVoQUFKQUFrQURRQUpBSUFCQkFXb2hBd0pBSUFBc0FBQWlBQVJBSUFCQkpVWUVRQXdGQlF3Q0N3QUxEQUVMSUFNaEFBd0JDd3NNQVFzZ0F5d0FBRUh6QUVZRVFDQUdJQUpCR0dvMkFnQWdBU0FGSUFZUXZBRWdCaVFHRHdzTElBSW9BaHdoQnlBQ0tBSWdJUWdnQWlnQ0pDRUpJQUlvQWlnaENpQUNLQUlzSVFzZ0FpZ0NNQ0VESUFJb0FqUWhBQ0FFSUFJb0FoZzJBZ0FnQkNBSE5nSUVJQVFnQ0RZQ0NDQUVJQWsyQWd3Z0JDQUtOZ0lRSUFRZ0N6WUNGQ0FFSUFNMkFoZ2dCQ0FBTmdJY0lBRWdCU0FFRUx3QklBWWtCZ3RPQVFOL0l3WWhBU01HUWRBQmFpUUdJQUFvQWdBb0Fnd2hBaUFBSUFFZ0FrRS9jVUd5QldvUkF3QUNmMEdraUFFb0FnQWhBeUFCUWNnQmFpSUNJQUUyQWdBZ0F3c2dBaENMQlNBQkpBWUxlUUVCZnlBQUtBSUFJUUlnQVVFQVRnUkFJQUlvQW1nZ0FVZ0VRQThMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBOExBa0FDUUNBQ0tBSnNJZ0ZGRFFBZ0FpZ0NhRUVDU2cwQURBRUxJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQ0tBSnNJUUVMSUFJZ0FVRUJhallDYkFzbUFRRi9JQUFvQWdBb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFFSjREUVFFUUFRdGxBQ0FBUVl3Qk5nSUFJQUJCTlRZQ0JDQUFRWTBCTmdJSUlBQkJOallDRENBQVFZNEJOZ0lRSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdJVUlBQkJnQmcyQW5BZ0FFSCtBRFlDZENBQVFRQTJBbmdnQUVFQU5nSjhJQUJCQURZQ2dBRWdBQXNyQVFGL0lBQW9BZ1FvQWdBaEFTQUFRUUJCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBRUVBTmdLQUFTQUFDeXNCQVg4Z0FDZ0NCQ2dDQUNFQklBQkJBRUdZQWlBQlFUOXhRY29CYWhFRUFDSUFRUUEyQXBRQ0lBQUx0d1lCQm44Z0FpQURhaUVFQWtBQ1FBSkFBa0FnQWtFTlN3UkFJQUVzQUFCQnlnQkdCRUFnQVN3QUFVSEdBRWNOQWlBQkxBQUNRY2tBUncwQ0lBRXNBQU5CeGdCSERRSWdBU3dBQkEwQ0lBQkJBVFlDbkFJZ0FDQUJMQUFGSWdjNkFLQUNJQUFnQVN3QUJpSUlPZ0NoQWlBQUlBRXNBQWNpQ1RvQW9nSWdBQ0FCTFFBSklBRXRBQWhCQ0hSeUlnWTdBYVFDSUFBZ0FTMEFDeUFCTFFBS1FRaDBjaUlET3dHbUFpQUhRWDlxUVJoMFFSaDFRZjhCY1VFQ1RnUkFJQUFvQWdBaUFrSDZBRFlDRkNBQ0lBZEIvd0Z4TmdJWUlBQW9BZ0FnQUMwQW9RSTJBaHdnQUNnQ0FDZ0NCQ0VDSUFCQmZ5QUNRVDl4UWJJRmFoRURBQ0FBTEFDZ0FpRUhJQUFzQUtFQ0lRZ2dBQzRCcEFJaEJpQUFMZ0dtQWlFRElBQXNBS0lDSVFrTElBQWhBaUFBS0FJQUlnVWdCMEgvQVhFMkFoZ2dCU0FJUWY4QmNUWUNIQ0FGSUFaQi8vOERjVFlDSUNBRklBTkIvLzhEY1RZQ0pDQUZJQWxCL3dGeE5nSW9JQVZCMlFBMkFoUWdCU2dDQkNFRElBSkJBU0FEUVQ5eFFiSUZhaEVEQUNBQkxBQU1JZ1lnQVN3QURTSURja0gvQVhFRVFDQUFLQUlBSWdOQjNBQTJBaFFnQXlBQkxRQU1OZ0lZSUFBb0FnQWdBUzBBRFRZQ0hDQUFLQUlBS0FJRUlRTWdBa0VCSUFOQlAzRkJzZ1ZxRVFNQUlBRXNBQXdoQmlBQkxBQU5JUU1MSUFaQi93RnhRUU5zSUFOQi93RnhiQ0FFUVhKcUlnTkdCRUFQQ3lBQUtBSUFJZ0ZCMmdBMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdRaEFDQUNRUUVnQUVFL2NVR3lCV29SQXdBUEN3VWdBa0VGU3dSQUlBRXNBQUJCeWdCR0RRSUxDd3dCQ3lBQkxBQUJRY1lBUmdSQUlBRXNBQUpCMkFCR0JFQWdBU3dBQTBIWUFFWUVRQ0FCTEFBRVJRUkFBa0FDUUFKQUFrQWdBU3dBQlVFUWF3NEVBQUVEQWdNTElBQW9BZ0FpQVVIdUFEWUNGQXdJQ3lBQUtBSUFJZ0ZCN3dBMkFoUU1Cd3NnQUNnQ0FDSUJRZkFBTmdJVURBWUxJQUFvQWdBaUFrSGJBRFlDRkNBQ0lBRXRBQVUyQWhnZ0FDZ0NBQ0FFTmdJY0RBWUxDd3NMQ3lBQUtBSUFJZ0ZCendBMkFoUWdBU0FFTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBUEN5QUJJQVEyQWhnTElBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTHlnVUJDWDhqQmlFQ0l3WkJFR29rQmdKQUlBQW9BaGdpQkNnQ0JDSURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF3c2dCQ2dDQUNJR1FRRnFJUUVnQmkwQUFDRUZJQU5CZjJvaUEwVUVRQ0FFS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlBSVFFZ0JDZ0NCQ0VEQ3lBRFFYOXFJUU1nQVVFQmFpRUdRUTRnQVMwQUFDQUZRZjhCY1VFSWRISWlBVUYrYWlJSFFRQWdBVUVDU3hzZ0FVRVBTeHNpQlFSQUFrQkJBQ0VCQTBBQ1FDQURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBSVFZTElBRWdBbW9nQml3QUFEb0FBQ0FEUVg5cUlRTWdCa0VCYWlFR0lBRkJBV29pQVNBRlNRMEJEQUlMQ3d3Q0N3c2dCeUFGYXlFSUFrQUNRQUpBSUFBb0FyZ0RJZ0ZCNEFGcklna0VRQ0FKUVE1R0JFQU1BZ1VNQXdzQUN5QUFJQUlnQlNBSUVMRUZEQUlMSUFJc0FBQkJ3UUJHSUFWQkMwdHhCRUFnQWl3QUFVSGtBRVlFUUNBQ0xBQUNRZThBUmdSQUlBSXNBQU5CNGdCR0JFQWdBaXdBQkVIbEFFWUVRQ0FDTFFBSUlBSXRBQWRCQ0hSeUlRY2dBaTBBQ2lBQ0xRQUpRUWgwY2lFSklBSXNBQXNoQlNBQUtBSUFJZ0VnQWkwQUJpQUNMUUFGUVFoMGNqWUNHQ0FCSUFjMkFod2dBU0FKTmdJZ0lBRWdCVUgvQVhFMkFpUWdBVUhPQURZQ0ZDQUJLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFCQkFUWUNxQUlnQUNBRk9nQ3NBZ3dHQ3dzTEN3c2dBQ2dDQUNJQlFkQUFOZ0lVSUFFZ0J6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFEQUVMSUFBb0FnQWlCVUhHQURZQ0ZDQUZJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBRUlBWTJBZ0FnQkNBRE5nSUVJQWhCQUV3RVFDQUNKQVpCQVE4TElBQW9BaGdvQWhBaEF5QUFJQWdnQTBFL2NVR3lCV29SQXdBZ0FpUUdRUUVQQ3lBQ0pBWkJBQXVNQWdFR2Z5QUFLQUlZSWdJb0FnUWlBVVVFUUNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFBUi9JQUlvQWdRRlFRQVBDeUVCQ3lBQ0tBSUFJZ05CQVdvaEJDQURMUUFBSVFNZ0FVRi9haUlCUlFSQUlBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFCSDhnQWlnQ0FDRUVJQUlvQWdRRlFRQVBDeUVCQ3lBRUxRQUFJQU5CL3dGeFFRaDBjaUlHUVg1cUlRVWdBQ2dDQUNJRFFkMEFOZ0lVSUFNZ0FDZ0N1QU0yQWhnZ0FDZ0NBQ0FGTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FpQUVRUUZxTmdJQUlBSWdBVUYvYWpZQ0JDQUdRUUpOQkVCQkFROExJQUFvQWhnb0FoQWhBU0FBSUFVZ0FVRS9jVUd5QldvUkF3QkJBUXVCQVFFR2Z5QUFLQUlFSWdVZ0FTZ0NCRVlFZnlBQUtBSUlJZ1FnQVNnQ0NFWUVmd04vSUFJZ0JVZ0VmeUFDSUFSc0lRWkJBQ0VEQTBBZ0F5QUVTQVJBSUFBb0FnQWdBeUFHYWlJSFFRTjBhaUFCS0FJQUlBZEJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEM2a0JBUUovSUFBb0FyZ0RJZ0ZGQkVBZ0FCQ3hBZ1IvSUFBb0FyZ0RCVUVBRHdzaEFRc2dBQ2dDMEFNb0FoUWlBa0hRQVdvZ0FVWUVRQ0FBS0FJQUlnRkI1QUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRTWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBd1VnQUNnQ0dDZ0NGQ0VCSUFBZ0FpQUJRVDl4UVlvQmFoRUNBRVVFUUVFQUR3c0xJQUFvQXRBRElnQWdBQ2dDRkVFQmFrRUhjVFlDRkVFQkM2UlVBU2wvSXdZaEtTTUdRWUFDYWlRR0lDa2hDaUFBS0FLNEF5RUJBMEFDUUNBQlJRUkFBbjhnQUNnQzBBTW9BZ3dFUUNBQUVMRUNSUVJBUWQ0Q0lRRU1CQXNnQUNnQ3VBTU1BUXNnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlCRUVCYWlFQ0lBUXNBQUFoQXlBQlFYOXFJZ1FFZnlBQ0JTQUdLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQVFMSUFZb0FnUWhCQ0FHS0FJQUN5RUJJQU5CL3dGeElRVWdBU3dBQUNJSFFmOEJjU0VDSUFOQmYwY2dCMEZZUjNJRVFDQUFLQUlBSWdOQk56WUNGQ0FESUFVMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ0FDTmdLNEF5QUdJQUZCQVdvMkFnQWdCaUFFUVg5cU5nSUVJQUlMSVFFTEFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FCUVFGckR2NEJFQklTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElEQkFVSUNnZ0lDQWdHQndnSkNBZ0lFQkFRRUJBUUVCQUNBUUFMRVF3U0VnNE9EZzRPRGc0T0RnNE9EZzRPRGc0U0VoSVNFaElTRWcwU0VoSVNFZzhTQzBFWklRRU1Fd3RCeXdBaEFRd1NDeUFBS0FJQUlnRkI2QUEyQWhRZ0FTZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRU1haUlCS0FJQUJFQWdBQ2dDQUNJQlFjQUFOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQTBFTWFpRUJDeUFBUWdBM0FPZ0JJQUJDQURjQThBRWdBRUtCZ29TSWtLREFnQUUzQVBnQklBQkNnWUtFaUpDZ3dJQUJOd0NBQWlBQVFvV0tsS2pRb01HQ0JUY0FpQUlnQUVLRmlwU28wS0RCZ2dVM0FKQUNJQUJCQURZQ21BSWdBRUVBTmdJb0lBQkJBRFlDc0FJZ0FFRUFOZ0swQWlBQVFRQTJBcHdDSUFCQkFUb0FvQUlnQUVFQk9nQ2hBaUFBUVFBNkFLSUNJQUJCQVRzQnBBSWdBRUVCT3dHbUFpQUFRUUEyQXFnQ0lBQkJBRG9BckFJZ0FVRUJOZ0lBREJBTElBQkJBVUVBUVFBUTJBRkZCRUJCM2dJaEFRd1JDd3dQQ3lBQVFRQkJBRUVBRU5nQlJRUkFRZDRDSVFFTUVBc01EZ3NnQUVFQVFRRkJBQkRZQVVVRVFFSGVBaUVCREE4TERBMExJQUJCQUVFQVFRRVEyQUZGQkVCQjNnSWhBUXdPQ3d3TUN5QUFRUUJCQVVFQkVOZ0JSUVJBUWQ0Q0lRRU1EUXNNQ3dzZ0FDZ0NBQ0lDUVQ4MkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3S0N5QUFLQUlZSWdNb0FnUWlBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFRc2dBeWdDQUNJRVFRRnFJUUlnQkMwQUFDRUVJQUZCZjJvaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVNBREtBSUFJUUlMSUFJdEFBQWdCRUgvQVhGQkNIUnlJZ1pCZm1vaEJDQUJRWDlxSVFFZ0FrRUJhaUVDSUFaQkFrc0VRQU4vSUFGRkJFQWdBeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBREtBSUVJUUVnQXlnQ0FDRUNDeUFDUVFGcUlRWWdBaTBBQUNFRklBRkJmMm9pQWtVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQTRMSUFNb0FnUWhBaUFES0FJQUlRWUxJQVlzQUFBaUNVSC9BWEVoQnlBQUtBSUFJZ0ZCMFFBMkFoUWdBU0FGUWY4QmNTSUJOZ0lZSUFBb0FnQWdCellDSENBQUtBSUFLQUlFSVFnZ0FFRUJJQWhCUDNGQnNnVnFFUU1BQWtBQ1FDQUZRZjhCY1VFZlNnUkFJQUFvQWdBaUJVRWROZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQU1BUVVnQlVIL0FYRkJEMG9OQVNBQklBQkI2QUZxYWlBSFFROXhJZ1U2QUFBZ0FTQUFRZmdCYW1vZ0NVSC9BWEZCQkhZaUFUb0FBQ0FGSUFGTEJFQWdBQ2dDQUNJQlFSNDJBaFFnQVNBSE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xEQUVMSUFBZ0FXcEIrQUZxSUFrNkFBQUxJQVJCZm1vaEFTQUNRWDlxSVFJZ0JrRUJhaUVHSUFSQkFrb0VmeUFCSVFRZ0FpRUJJQVloQWd3QkJTQUJJUVFnQWlFQklBWUxDeUVDQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURJQUkyQWdBZ0F5QUJOZ0lFREFrTElBQW9BaGdpQlNnQ0JDSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQkN5QUZLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFU1N3UkFBMEFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUl0QUFBaEJ5QUFLQUlBSWdaQjBnQTJBaFFnQmlBSE5nSVlJQUFvQWdBb0FnUWhCaUFBUVFFZ0JrRS9jVUd5QldvUkF3QWdBa0VCYWlFR0lBRkJmMm9pQWdSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0VzQUFBaENTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFSUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRFNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VRSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUkVnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhFaUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVRJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSUWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEZTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFV0lBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJjZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoR0NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VaSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUm9nQVVFQmFpRUdJQUpCZjJvaUFRUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQklBVW9BZ0FMSVFJZ0Fpd0FBQ0luUWY4QmNTSW9JQnBCL3dGeElpWWdHVUgvQVhFaUpTQVlRZjhCY1NJa0lCZEIvd0Z4SWlNZ0ZrSC9BWEVpSWlBVlFmOEJjU0loSUJSQi93RnhJaUFnRTBIL0FYRWlIeUFTUWY4QmNTSWVJQkZCL3dGeEloMGdFRUgvQVhFaUhDQU5RZjhCY1NJYklBdEIvd0Z4SWc4Z0NVSC9BWEVpRGlBSVFmOEJjU0lNYW1wcWFtcHFhbXBxYW1wcWFtcHFJUVlnQUNnQ0FDSURJQTQyQWhnZ0F5QU1OZ0ljSUFNZ0R6WUNJQ0FESUJzMkFpUWdBeUFjTmdJb0lBTWdIVFlDTENBRElCNDJBakFnQXlBZk5nSTBJQU5CMkFBMkFoUWdBeWdDQkNFRElBQkJBaUFEUVQ5eFFiSUZhaEVEQUNBQUtBSUFJZ01nSURZQ0dDQURJQ0UyQWh3Z0F5QWlOZ0lnSUFNZ0l6WUNKQ0FESUNRMkFpZ2dBeUFsTmdJc0lBTWdKallDTUNBRElDZzJBalFnQTBIWUFEWUNGQ0FES0FJRUlRTWdBRUVDSUFOQlAzRkJzZ1ZxRVFNQUlBUkJiMm9pRGlBR1NDQUdRWUFDUzNJRVFDQUFLQUlBSWdSQkNUWUNGQ0FFS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTElBRkJmMm9oQVNBQ1FRRnFJUUlnQ2tFQVFZQUNFRVVhSUFZRVFFRUFJUVFEUUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3UEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUNJQVFnQ21vZ0F5d0FBRG9BQUNBRVFRRnFJZ1FnQmtrTkFBc0ZRUUFoQmdzZ0J5QUhRWEJxSWdRZ0IwRVFjVVVpQXhzaURFRURTd1JBSUFBb0FnQWlEMEVmTmdJVUlBOGdERFlDR0NBQUtBSUFLQUlBSVF3Z0FDQU1RZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQWRCQW5ScUlBQkJ4QUZxSUFSQkFuUnFJQU1iSWdNb0FnQWlCRVVFUUNBRElBQVFzQVVpQkRZQ0FBc2dCRUVBT2dBQUlBUWdDVG9BQVNBRUlBZzZBQUlnQkNBTE9nQURJQVFnRFRvQUJDQUVJQkE2QUFVZ0JDQVJPZ0FHSUFRZ0Vqb0FCeUFFSUJNNkFBZ2dCQ0FVT2dBSklBUWdGVG9BQ2lBRUlCWTZBQXNnQkNBWE9nQU1JQVFnR0RvQURTQUVJQms2QUE0Z0JDQWFPZ0FQSUFRZ0p6b0FFQ0FES0FJQVFSRnFJQXBCZ0FJUVRCb2dEaUFHYXlJRVFSQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUZJQUkyQWdBZ0JTQUJOZ0lFREFnTElBQW9BaGdpQ0NnQ0JDSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQkN5QUlLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCSUFnb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFQ1N3UkFBMEFnQVFSL0lBRWhCU0FDQlNBSUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQWdvQWdRaEJTQUlLQUlBQ3lJR0xRQUFJZ0ZCQkhZaEFpQUFLQUlBSWdOQjB3QTJBaFFnQXlBQlFROXhJZ0UyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FVRURTd1JBSUFBb0FnQWlBMEVnTmdJVUlBTWdBVFlDR0NBQUtBSUFLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFCQnBBRnFJQUZCQW5ScUlnRW9BZ0FpQTBVRVFDQUJJQUFRcndVaUF6WUNBQXNnQkVGL2FpRUpBbjhDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQ1FRQkhJZ3NFZnlBRVFZRUJUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSlFRRjFCU0FFUWNFQVRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKQ3lJQlFRUnJEaTRBQmdZR0JnRUdCZ1lHQmdZQ0JnWUdCZ1lHQmdZREJnWUdCZ1lHQmdZR0JnUUdCZ1lHQmdZR0JnWUdCZ1lGQmd0QndDVWhBZ3dHQzBIUUpDRUNEQVVMUWRBaklRSU1CQXRCb0NJaEFnd0RDMEhRSUNFQ0RBSUxRY0FlSVFJTUFRc2dCVUYvYWlFQ0lBWkJBV29oQmlBQlFRQktCRUJCZ0J3aEJ5QUdEQU1GSUFFaEJDQUNJUUVnQmd3RUN3QUxJQUloQnlBRlFYOXFJUUlnQmtFQmFnd0JDMEdBSENFSFFjQUFJUUVnQlVGL2FpRUNJQVpCQVdvTElRUWdDMFVFUUVFQUlRVURRQ0FDUlFSQUlBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Ed3NnQ0NnQ0JDRUNJQWdvQWdBaEJBc2dCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBT3dFQUlBSkJmMm9oQWlBRVFRRnFJUVlnQlVFQmFpSUZJQUZJQkVBZ0JpRUVEQUVGSUFFaEJDQUNJUUVnQmd3REN3QUFDd0FMUVFBaEJRTi9JQUpGQkVBZ0NDZ0NEQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFJS0FJRUlRSWdDQ2dDQUNFRUN5QUVRUUZxSVFZZ0JDMEFBQ0VOSUFKQmYyb2lBZ1IvSUFZRklBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1EZ3NnQ0NnQ0JDRUNJQWdvQWdBTElRUWdCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBSUExQi93RnhRUWgwY2pzQkFDQUNRWDlxSVFJZ0JFRUJhaUVHSUFWQkFXb2lCU0FCU0FSL0lBWWhCQXdCQlNBQklRUWdBaUVCSUFZTEN3c2hBaUFBS0FJQUlnVW9BbWhCQVVvRVFBSkFRUUFoQmdOQUlBVWdCa0VCZENBRGFpOEJBRFlDR0NBRklBWkJBWEpCQVhRZ0Eyb3ZBUUEyQWh3Z0JTQUdRUUp5UVFGMElBTnFMd0VBTmdJZ0lBVWdCa0VEY2tFQmRDQURhaThCQURZQ0pDQUZJQVpCQkhKQkFYUWdBMm92QVFBMkFpZ2dCU0FHUVFWeVFRRjBJQU5xTHdFQU5nSXNJQVVnQmtFR2NrRUJkQ0FEYWk4QkFEWUNNQ0FGSUFaQkIzSkJBWFFnQTJvdkFRQTJBalFnQlVIZkFEWUNGQ0FGS0FJRUlRVWdBRUVDSUFWQlAzRkJzZ1ZxRVFNQUlBWkJDR29pQmtIQUFFOE5BU0FBS0FJQUlRVU1BQUFMQUFzTElBa2dCR3RCQUNBRWEwRUFJQXNiYWlJRVFRQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUlJQUkyQWdBZ0NDQUJOZ0lFREFjTElBQW9BaGdpQmlnQ0JDSUJSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQkN5QUdLQUlBSWdKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FMSWdFdEFBQnlRUVJIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FoQVFzZ0FVRUJhaUVFSUFFdEFBQkJDSFFnQWtGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0pDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSEloQkNBQUtBSUFJZ05CMUFBMkFoUWdBeUFFTmdJWUlBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FDQUVOZ0tZQWlBR0lBRkJBV28yQWdBZ0JpQUNRWDlxTmdJRURBWUxJQUFvQWhnaUJTZ0NBQ0VDSUFVb0FnUWhBU0FBS0FMUUF5Z0NFRVVFUUNBQUtBSUFJZ1JCUERZQ0ZDQUVRUmhxUWZMOUFrSFFBQkRWQVNBQUtBSUFLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMQWtBQ1FDQUFLQUlrUVFOSURRQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBTElnRXRBQUJ5UVJoSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUVFTlJ3UkFJQUFvQWdBaUJFSEdBRFlDRkNBRUlBQW9BcmdETmdJWUlBQW9BZ0FvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFpQUZLQUlBSVFFTElBRkJBV29oQkNBQkxRQUFJUVlnQWtGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrSC9BVWNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFCQkEwY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQUNnQzJBRWlBeWdDV0VjTkFDQUJCSDhnQVNFRUlBSWhCaUFEQlNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEJDQUZLQUlBSVFZZ0FDZ0MyQUVMSVFFZ0JFRi9haUVDSUFaQkFXb2hCQ0FHTFFBQUlBRW9BZ0JHQkVBZ0FnUi9JQUVGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQ0lBVW9BZ0FoQkNBQUtBTFlBUXNoQmlBQ1FYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JpZ0NzQUZIRFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQVFZQi9SdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5RFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQURRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrRUJSdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFBTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeVFRRkhEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjZzBCQlNBQ0lRRWdCQ0VDREFFTERBRUxJQUFvQWdBaUJFRWNOZ0lVSUFRb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBRUVCTmdLd0FpQUZJQUkyQWdBZ0JTQUJOZ0lFREFVTElBQW9BdEFESUFGQkFuUnFRYUI1YWlnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3R0N3d0VDeUFBS0FMUUF5Z0NIQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0ZDd3dEQ3lBQUtBSUFJZ0pCM2dBMkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTUFnc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUFrRUJhaUVFSUFJdEFBQkJDSFFnQVVGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSElpQTBGK2FpRUVJQUFvQWdBaUJVSGRBRFlDRkNBRklBQW9BcmdETmdJWUlBQW9BZ0FnQkRZQ0hDQUFLQUlBS0FJRUlRVWdBRUVCSUFWQlAzRkJzZ1ZxRVFNQUlBWWdBVUVCYWpZQ0FDQUdJQUpCZjJvMkFnUWdBMEVDU3dSQUlBQW9BaGdvQWhBaEFTQUFJQVFnQVVFL2NVR3lCV29SQXdBTERBRUxJQUFvQWdBaUFrSEdBRFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBUVFBMkFyZ0RRUUFoQVF3QkN3c0NRQ0FCUVJsR0JFQWdBQ2dDR0NJSEtBSUFJUVFnQnlnQ0JDRUJJQUFvQXRBREtBSVFSUVJBSUFBb0FnQWlBa0U4TmdJVUlBSkJHR3BCN3YwQ1FkQUFFTlVCSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVFSL0lBRWhBaUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVFSUFFdEFBQWhCU0FDUVg5cUlnSUVmeUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVHSUFFdEFBQWhDQ0FDUVg5cUlnUUVmeUFHQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRUWdCeWdDQUFzaUFTd0FBQ0lEUWY4QmNTRUpJQUFvQWdBaUFrSHBBRFlDRkNBQ0lBazJBaGdnQUNnQ0FDZ0NCQ0VDSUFCQkFTQUNRVDl4UWJJRmFoRURBQUpBQWtBQ1FBSi9Ba0FnQ1VFQmRFRUdhaUFJUWY4QmNTQUZRZjhCY1VFSWRISkhJQU5CL3dGeFFRUktjZzBBSUFNRVFDQUFJQWsyQXRRQ0lBRkJBV29oQVNBRVFYOXFJZ1FoQWlBRVJRd0NDeUFBS0FMZ0FVVU5BQ0FBSUFrMkF0UUNJQUZCQVdvaEFpQUVRWDlxSWdFRWYwRUJCVUVCSVFRTUJBc2hCQXdFQ3lBQUtBSUFJZ0pCRERZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFnQUNBSk5nTFVBaUFCUVFGcUlRSWdCRUYvYWlJRVJTRUdJQU1FZnlBQ0lRRWdCQ0VDSUFZRklBUWhBVUVCSVFRTUFnc0xJUVJCQUNFREEwQUNRQ0FFQkg4Z0J5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQnlnQ0JDRUdJQWNvQWdBRklBSWhCaUFCQ3lJRUxRQUFJUUlnQXdSQUFrQkJBQ0VCQTBBZ0FFSFlBbW9nQVVFQ2RHb29BZ0FvQWdBZ0FrY0VRQ0FCUVFGcUlnRWdBMGtFUUF3Q0JRd0RDd0FMQ3lBQUtBTFlBaWdDQUNFQklBTkJBVXNFUUVFQklRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDZ0NBQ0lGSUFFZ0JTQUJTaHNoQVNBQ1FRRnFJZ0lnQTBjTkFBc0xJQUZCQVdvaEFnc0xJQVpCZjJvaEJpQUVRUUZxSVFVZ0FDZ0MyQUVoQVFKQUFrQWdBQ2dDSkNJSVFRQk1EUUJCQUNFRUFrQURRQ0FDSUFFb0FnQkdEUUVnQVVIWUFHb2hBU0FFUVFGcUlnUWdDRWdOQUFzTUFRc01BUXNnQUNnQ0FDSUVRUVEyQWhRZ0JDQUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUVIWUFtb2dBMEVDZEdvZ0FUWUNBQ0FCSUFZRWZ5QUZCU0FIS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUhLQUlFSVFZZ0J5Z0NBQXNpQWkwQUFDSUVRUVIyTmdJVUlBRWdCRUVQY1RZQ0dDQUFLQUlBSWdRZ0FTZ0NBRFlDR0NBRUlBRW9BaFEyQWh3Z0JDQUJLQUlZTmdJZ0lBUkI2Z0EyQWhRZ0JDZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FDUVFGcUlRSWdCa0YvYWlJRVJTRUdJQU5CQVdvaUF5QUpTUVJBSUFJaEFTQUVJUUlnQmlFRURBSUZJQVFoQVVFQUlRUU1Bd3NBQ3dzTUJBc2dCZzBBREFFTElBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnQWhBaUFIS0FJRUlRRUxJQUpCQVdvaEJpQUFJQUl0QUFBMkFwd0RJQUZCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQlFRRnFJUVlnQUNBQkxRQUFOZ0tnQXlBQUlBSkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCTFFBQUlnWkJCSFkyQXFRRElBQWdCa0VQY1RZQ3FBTWdBQ2dDQUNJR0lBQW9BcHdETmdJWUlBWWdBQ2dDb0FNMkFod2dCaUFBS0FLa0F6WUNJQ0FHSUFBb0FxZ0ROZ0lrSUFaQjZ3QTJBaFFnQmlnQ0JDRUdJQUJCQVNBR1FUOXhRYklGYWhFREFDQUFLQUxRQTBFQU5nSVVJQVJGQkVBZ0FDQUFLQUtRQVVFQmFqWUNrQUVMSUFjZ0FVRUJhallDQUNBSElBSkJmMm8yQWdRZ0FFRUFOZ0s0QXlBS0pBWkJBUThGSUFGQnl3QkdCRUFnQUNnQ0FDSUJRZGNBTmdJVUlBRW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBeUFLSkFaQkFnOEZJQUZCcmdGR0JFQU1Bd1VnQVVIZUFrWU5Bd3NMQzBFQUR3c2dDaVFHUVFBTFFRRUJmeUFBS0FMUUF5RUJJQUJCQURZQzJBRWdBRUVBTmdLUUFTQUFRUUEyQXJnRElBRkJBRFlDRENBQlFRQTJBaEFnQVVFQU5nSVlJQUZCQURZQ3BBRUxpUU1CQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUWF3QklBRkJQM0ZCeWdGcUVRUUFJZ0UyQXRBRElBRkJpd0UyQWdBZ0FVSFhBRFlDQkNBQlFkZ0FOZ0lJSUFGQjJRQTJBaHdnQVVFQU5nSmdJQUZCQURZQ1pDQUJRZGtBTmdJa0lBRkJBRFlDYUNBQlFka0FOZ0lvSUFGQkFEWUNiQ0FCUWRrQU5nSXNJQUZCQURZQ2NDQUJRZGtBTmdJd0lBRkJBRFlDZENBQlFka0FOZ0kwSUFGQkFEWUNlQ0FCUWRrQU5nSTRJQUZCQURZQ2ZDQUJRZGtBTmdJOElBRkJBRFlDZ0FFZ0FVRkFhMEhaQURZQ0FDQUJRUUEyQW9RQklBRkIyUUEyQWtRZ0FVRUFOZ0tJQVNBQlFka0FOZ0pJSUFGQkFEWUNqQUVnQVVIWkFEWUNUQ0FCUVFBMkFwQUJJQUZCMlFBMkFsQWdBVUVBTmdLVUFTQUJRZGtBTmdKVUlBRkJBRFlDbUFFZ0FVRUFOZ0tjQVNBQlFka0FOZ0pjSUFGQkFEWUNvQUVnQVVIYUFEWUNJQ0FCUWRvQU5nSllJQUFvQXRBRElRRWdBRUVBTmdMWUFTQUFRUUEyQXBBQklBQkJBRFlDdUFNZ0FVRUFOZ0lNSUFGQkFEWUNFQ0FCUVFBMkFoZ2dBVUVBTmdLa0FRc2VBQ0FBUVFFUXJnSWdBRUVBRUs0Q0lBQW9BZ1FRT0NBQVFRQTJBZ1FMMlFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlRUWQwSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnaEJCM1FoQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2hCQjNRaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0xNZ0VCZnlBQUtBSUlJQUFvQWdRUXBRTWlBUVJBSUFFZ0FCRHFCRUVBU0FSQUlBRVFTVUVBSVFFTEJVRUFJUUVMSUFFTDBBY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnZ2hDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnZ2hCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MNEFvQkUzOGdBQ2dDQkNJS0tBSkVJZ0VFZndOL0lBRW9BZ0JGQkVBZ0F5QUJLQUlJSWdRZ0FTZ0NER3hxSVFNZ0FpQUVJQUVvQWdSc2FpRUNDeUFCS0FJc0lnRU5BQ0FESVFFZ0Fnc0ZRUUFoQVVFQUN5RURJQW9vQWtnaUJBUkFJQUVoQWdOQUlBUW9BZ0JGQkVBZ0FpQUVLQUlJSWdFZ0JDZ0NERUVIZEd4cUlRSWdBeUFFS0FJRUlBRkJCM1JzYWlFREN5QUVLQUlzSWdRTkFBc0ZJQUVoQWdzZ0FrRUJTQVJBRHdzZ0NpZ0NUQm9nQXlJQklBTklCSDhnQVNBQ0VEa2lBVUVCSUFGQkFVb2JCVUdBbE92Y0F3c2hEeUFLS0FKRUlnSUVRQU5BSUFJb0FnQkZCRUFnQWlnQ0JDSUZRWDlxSUFJb0Fnd2lBUkJJUVFGcUlBOUtCRUFnQWlBQklBOXNOZ0lRSUFBZ0JTQUNRUWhxSWdNb0FnQnNFSjhESUFKQkFUWUNLQ0FDS0FJUUlRVUZJQUlnQlRZQ0VDQUNRUWhxSVFNTElBQW9BZ1FoRWtId2srdmNBeUFES0FJQUlnc1FTQ0VCSUF0QjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUWNnQU5nSVVJQUFnQXlnQ0FFSC9BWEZCckFOcUVRRUFDeUFTSUFFZ0JTQUJJQVZJR3lJQk5nSlFJQUJCQVNBRlFRSjBFTFVCSVF3Z0JRUkFJQVZCZjNNaEVFRUFJUU1EUUNBQUtBSUVJUWNnQVNBRklBTnJJZ1FnQVNBRVNSc2lCQ0FMYkNJR1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQ0VFNE5nSVVJQWhCQXpZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQmtFSUlBWkJCM0VpQ0d0QkFDQUlHMm9pQ0VFUWFpSU5FRVFpQmtVRVFDQUFLQUlBSWdsQk9EWUNGQ0FKUVFRMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFjZ0J5Z0NUQ0FOYWpZQ1RDQUdJQWRCUUdzaUJ5Z0NBRFlDQUNBR0lBZzJBZ1FnQmtFQU5nSUlJQWNnQmpZQ0FDQUVCRUFnQXlBUWFpSU5JQUZCZjNNaUNVc2hEaUFFSVFjZ0JrRVFhaUVJSUFNaEFRTkFJQUZCQVdvaEJpQUJRUUowSUF4cUlBZzJBZ0FnQ0NBTGFpRUlJQWRCZjJvaUJ3UkFJQVloQVF3QkN3c2dBMEYvYWlBTklBa2dEaHRySVFNTElBTWdCVWtFUUNBRUlRRU1BUXNMQ3lBQ0lBdzJBZ0FnQWlBS0tBSlFOZ0lVSUFKQkFEWUNHQ0FDUVFBMkFod2dBa0VBTmdJa0N5QUNLQUlzSWdJTkFBc0xJQW9vQWtnaUFrVUVRQThMQTBBZ0FpZ0NBRVVFUUNBQ0tBSUVJZ1ZCZjJvZ0FpZ0NEQ0lCRUVoQkFXb2dEMG9FUUNBQ0lBRWdEMncyQWhBZ0FDQUNRUWhxSWdNb0FnQWdCVUVIZEd3UW53TWdBa0VCTmdJb0lBSW9BaEFoQlFVZ0FpQUZOZ0lRSUFKQkNHb2hBd3NnQUNnQ0JDRVRRZkNUNjl3RElBTW9BZ0FpRUVFSGRDSUxFRWdoQVNBTFFmQ1Q2OXdEU3dSQUlBQW9BZ0FpQTBISUFEWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQXNnRXlBQklBVWdBU0FGU0JzaUFUWUNVQ0FBUVFFZ0JVRUNkQkMxQVNFTUlBVUVRQ0FGUVg5eklRMUJBQ0VEQTBBZ0FDZ0NCQ0VISUFFZ0JTQURheUlFSUFFZ0JFa2JJZ1FnQzJ3aUNFSHdrK3ZjQTBzRVFDQUFLQUlBSWdaQk9EWUNGQ0FHUVFNMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFoQkVISWlDUkJFSWdaRkJFQWdBQ2dDQUNJT1FUZzJBaFFnRGtFRU5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBSElBa2dCeWdDVEdvMkFrd2dCaUFIUVVCcklnY29BZ0EyQWdBZ0JpQUlOZ0lFSUFaQkFEWUNDQ0FISUFZMkFnQWdCQVJBSUFNZ0RXb2lDU0FCUVg5eklnNUxJUkVnQkNFSElBWkJFR29oQ0NBRElRRURRQ0FCUVFGcUlRWWdBVUVDZENBTWFpQUlOZ0lBSUJCQkIzUWdDR29oQ0NBSFFYOXFJZ2NFUUNBR0lRRU1BUXNMSUFOQmYyb2dDU0FPSUJFYmF5RURDeUFESUFWSkJFQWdCQ0VCREFFTEN3c2dBaUFNTmdJQUlBSWdDaWdDVURZQ0ZDQUNRUUEyQWhnZ0FrRUFOZ0ljSUFKQkFEWUNKQXNnQWlnQ0xDSUNEUUFMQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKSU5nSXNJQWNnQURZQ1NDQUFDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpFTmdJc0lBY2dBRFlDUkNBQUM0d0NBUXQvSUFBb0FnUWhEa0h3ayt2Y0F5QUNRUWQwSWdvUVNDRUZJQXBCOEpQcjNBTkxCRUFnQUNnQ0FDSUdRY2dBTmdJVUlBWW9BZ0FoQmlBQUlBWkIvd0Z4UWF3RGFoRUJBQXNnRGlBRklBTWdCU0FEU0JzaUJEWUNVQ0FBSUFFZ0EwRUNkQkMxQVNFSElBTkZCRUFnQnc4TElBTkJmM01oQzBFQUlRWURRQ0FBSUFFZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0NBS2JCQ3ZBaUVKSUFnRVFDQUdJQXRxSWdVZ0JFRi9jeUlFSUFVZ0JFc2JJUXdnQ0NFRUlBWWhCUU5BSUFWQkFXb2hEU0FGUVFKMElBZHFJQWsyQWdBZ0FrRUhkQ0FKYWlFSklBUkJmMm9pQkFSQUlBMGhCUXdCQ3dzZ0JrRi9haUFNYXlFR0N5QUdJQU5KQkVBZ0NDRUVEQUVMQ3lBSEM0UUNBUXAvSUFBb0FnUWhEVUh3ayt2Y0F5QUNFRWdoQlNBQ1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQmtISUFEWUNGQ0FHS0FJQUlRWWdBQ0FHUWY4QmNVR3NBMm9SQVFBTElBMGdCU0FESUFVZ0EwZ2JJZ1EyQWxBZ0FDQUJJQU5CQW5RUXRRRWhCeUFEUlFSQUlBY1BDeUFEUVg5eklRcEJBQ0VHQTBBZ0FDQUJJQUlnQkNBRElBWnJJZ1VnQkNBRlNSc2lDR3dRcndJaENTQUlCRUFnQmlBS2FpSUZJQVJCZjNNaUJDQUZJQVJMR3lFTElBZ2hCQ0FHSVFVRFFDQUZRUUZxSVF3Z0JVRUNkQ0FIYWlBSk5nSUFJQUlnQ1dvaENTQUVRWDlxSWdRRVFDQU1JUVVNQVFzTElBWkJmMm9nQzJzaEJnc2dCaUFEU1FSQUlBZ2hCQXdCQ3dzZ0J3dnRBZ0VEZnlNR0lRSWpCa0VRYWlRR0lBQkJBRFlDQkNBQ1FRQTJBZ2hCMUFBUVJDSUJSUVJBSUFBb0FnQWlBMEU0TmdJVUlBTkJBRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dBVUVoTmdJQUlBRkJJallDQkNBQlFRYzJBZ2dnQVVFSU5nSU1JQUZCSXpZQ0VDQUJRU1EyQWhRZ0FVR0pBVFlDR0NBQlFSVTJBaHdnQVVFV05nSWdJQUZCTkRZQ0pDQUJRWW9CTmdJb0lBRkJnSlRyM0FNMkFqQWdBVUVBTmdJc0lBRkJBRFlDT0NBQlFVQnJRUUEyQWdBZ0FVRUFOZ0kwSUFGQkFEWUNQQ0FCUVFBMkFrUWdBVUVBTmdKSUlBRkIxQUEyQWt3Z0FDQUJOZ0lFUWVEOUFoQU5JZ0JGQkVBZ0FpUUdEd3NnQWtINEFEb0FEQ0FDSUFKQkNHbzJBZ0FnQWlBQ1FReHFOZ0lFSUFCQjZQMENJQUlRZ3dGQkFFb0VRQUpBSUFJc0FBeEJ6UUJySWdCQkFDQUFRU0JIRzBVRVFDQUNJQUlvQWdoQjZBZHNJZ0EyQWdnTUFRc2dBaWdDQ0NFQUN5QUJJQUJCNkFkc05nSXNDeUFDSkFZTDlRRUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSVVJZ05CelFGSEJFQWdBQ2dDQUNJRlFSVTJBaFFnQlNBRE5nSVlJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ2dDakFFaUJTQUFLQUowSWdaUEJFQWdBQ2dDQUNJQlFmNEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QWdCQ1FHUVFBUEN5QUFLQUlJSWdNRVFDQURJQVUyQWdRZ0F5QUdOZ0lJSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dCRUVBTmdJQUlBQW9Bc0FES0FJRUlRTWdBQ0FCSUFRZ0FpQURRUjl4UWZvRmFoRUhBQ0FBSUFRb0FnQWlBU0FBS0FLTUFXbzJBb3dCSUFRa0JpQUJDNUlFQVIxL0lBQW9BdVFESVFRZ0FDZ0NlQ0VJSUFBb0FuQWhDU0FBS0FMUUFpRVNJQU5CQUV3RVFBOExJQWhCQUVvaEV5QUpSU0VVSUFsQmYyb2lGU0FJYkNFV1FRQWdDR3NoRnlBSlFRRnFJUThEUUNBS1FRSjBJQUpxSWhnb0FnQkJBQ0FKRUVVYUlCTUVRQUpBSUJRRVFDQUVLQUpVUlNFR1FRQWhBQU5BSUFSQnhBQnFJQUJCQW5ScUtBSUFJZ1VnRDBFQmRDQUZhaUFHRzBFQU93RUFJQWdnQUVFQmFpSUFSdzBBQ3d3QkN5QUtRUUowSUFGcUlSbEJBQ0VIQTBBZ0J5QVpLQUlBYWlFR0lCZ29BZ0FoQUNBRUtBSlVCSDlCZnlFTElBUkJ4QUJxSUFkQkFuUnFLQUlBSUE5QkFYUnFJUTBnQmlBV2FpRUdJQUFnRldvaEFDQVhCVUVCSVFzZ0JFSEVBR29nQjBFQ2RHb29BZ0FoRFNBSUN5RWFJQVFvQWhnZ0IwRUNkR29vQWdBaEd5QUVLQUlRSUFkQkFuUnFLQUlBSVJ3Z0NTQUxiQ0VnUVFBaEVDQUpJUkZCQUNFT1FRQWhEQ0FOSVFVRFFDQUFJQnNnRWlBR0xRQUFJQXRCQVhRZ0JXb2lIaTRCQUNBTVFRaHFha0VFZFdwcUxRQUFJZ3hxTFFBQUloOGdBQzBBQUdvNkFBQWdCU0FPSUF3Z0hDQWZhaTBBQUdzaUJVRURiR283QVFBZ0VDQUZRUVZzYWlFT0lBVkJCMndoRENBR0lCcHFJUVlnQUNBTGFpRUFJQkZCZjJvaUVRUkFJQVVoRUNBZUlRVU1BUXNMSUNCQkFYUWdEV29nRGpzQkFDQUhRUUZxSWdjZ0NFY05BQXNMQ3lBRUlBUW9BbFJGTmdKVUlBcEJBV29pQ2lBRFJ3MEFDd3ZGQWdFT2Z5QUFLQUxrQXlFRUlBQW9BbmdoQ1NBQUtBSndJUVlnQTBFQVRBUkFEd3NnQ1VFQVRBUkFRUUFoQUFOQUlBQkJBblFnQW1vb0FnQkJBQ0FHRUVVYUlBUWdCQ2dDTUVFQmFrRVBjVFlDTUNBQVFRRnFJZ0FnQTBjTkFBc1BDeUFHUlNFTkEwQWdCMEVDZENBQ2FpSU9LQUlBUVFBZ0JoQkZHaUFFS0FJd0lRd2dCMEVDZENBQmFpRVBJQTFGQkVCQkFDRUZBMEFnQkNnQ0dDQUZRUUowYWlnQ0FDRVFJQVJCTkdvZ0JVRUNkR29vQWdBaEVTQUdJUUFnRGlnQ0FDRUlRUUFoQ2lBRklBOG9BZ0JxSVFzRFFDQUlJQkFnQ3kwQUFDQU1RUVowSUJGcUlBcEJBblJxS0FJQWFtb3RBQUFnQ0MwQUFHbzZBQUFnQ1NBTGFpRUxJQWhCQVdvaENDQUtRUUZxUVE5eElRb2dBRUYvYWlJQURRQUxJQWtnQlVFQmFpSUZSdzBBQ3dzZ0JDQU1RUUZxUVE5eE5nSXdJQWRCQVdvaUJ5QURSdzBBQ3d2SUFnRVBmeUFBS0FMa0F5SUVLQUlZSWdVb0FnQWhDeUFGS0FJRUlRd2dCU2dDQ0NFTklBQW9BbkFoQ2lBRFFRQk1CRUFQQ3lBRUtBSXdJUUFnQ2tVRVFFRUFJUUVEUUNBQVFRRnFRUTl4SVFBZ0FVRUJhaUlCSUFOSERRQUxJQVFnQURZQ01BOExBMEFnQkNnQ05DRU9JQVFvQWpnaER5QUVLQUk4SVJBZ0NpRUZRUUFoQmlBSVFRSjBJQUpxS0FJQUlRa2dDRUVDZENBQmFpZ0NBQ0VIQTBBZ0IwRURhaUVSSUFsQkFXb2hFaUFKSUEwZ0J5MEFBaUFBUVFaMElCQnFJQVpCQW5ScUtBSUFhbW90QUFBZ0J5MEFBQ0FBUVFaMElBNXFJQVpCQW5ScUtBSUFhaUFMYWkwQUFDQU1JQWN0QUFFZ0FFRUdkQ0FQYWlBR1FRSjBhaWdDQUdwcUxRQUFhbW82QUFBZ0JrRUJha0VQY1NFR0lBVkJmMm9pQlFSQUlCSWhDU0FSSVFjTUFRc0xJQVFnQUVFQmFrRVBjU0lBTmdJd0lBaEJBV29pQ0NBRFJ3MEFDd3Z0QVFFS2Z5QUFLQUxrQXlnQ0dDRU1JQUFvQW5naEJpQUFLQUp3SWdwRklBTkJBVWh5QkVBUEN5QUdRUUJNQkVCQkFDRUFBMEFnQUVFQ2RDQUNhaWdDQUVFQUlBb1FSUm9nQUVFQmFpSUFJQU5IRFFBTER3c0RRQ0FLSVFzZ0JVRUNkQ0FDYWlnQ0FDRUhJQVZCQW5RZ0FXb29BZ0FoQUFOQVFRQWhDRUVBSVFrZ0FDRUVBMEFnQkVFQmFpRU5JQWtnQ0VFQ2RDQU1haWdDQUNBRUxRQUFhaTBBQUdvaENTQUlRUUZxSWdnZ0JrY0VRQ0FOSVFRTUFRc0xJQUFnQm1vaEFDQUhRUUZxSVFRZ0J5QUpPZ0FBSUF0QmYyb2lDd1JBSUFRaEJ3d0JDd3NnQlVFQmFpSUZJQU5IRFFBTEM2NEJBUWwvSUFBb0F1UURLQUlZSWdRb0FnQWhCeUFFS0FJRUlRZ2dCQ2dDQ0NFSklBQW9BbkFpQ2tVZ0EwRUJTSElFUUE4TEEwQWdDaUVBSUFWQkFuUWdBbW9vQWdBaEJpQUZRUUowSUFGcUtBSUFJUVFEUUNBRVFRTnFJUXNnQmtFQmFpRU1JQVlnQ1NBRUxRQUNhaTBBQUNBRUxRQUFJQWRxTFFBQUlBZ2dCQzBBQVdvdEFBQnFham9BQUNBQVFYOXFJZ0FFUUNBTUlRWWdDeUVFREFFTEN5QUZRUUZxSWdVZ0EwY05BQXNMSmdFQmZ5QUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTHZRVUJDWDhnQUNBQUtBTGtBeUlDS0FJUU5nS0lBU0FBSUFJb0FoUTJBb1FCQWtBQ1FBSkFBa0FnQUNnQ1dBNERBQUVDQXdzZ0FDZ0NlRUVEUmdSQUlBSkJGallDQkFVZ0FrRVhOZ0lFQ3c4TElBSkJHRUVaSUFBb0FuaEJBMFliTmdJRUlBSkJBRFlDTUNBQ0tBSWNSUVJBSUFBUW9RTUxJQUlvQWpRRVFBOExJQUFvQXVRRElRSWdBQ2dDZUNJQlFRQk1CRUFQQ3dOQUlBSkJJR29nQkVFQ2RHb29BZ0FoQlFKQUFrQWdCRVVOQUVFQUlRTURRQ0FDUVNCcUlBTkJBblJxS0FJQUlBVkhCRUFnQTBFQmFpSURJQVJQRFFJTUFRc0xJQUpCTkdvZ0EwRUNkR29vQWdBaUEwVU5BQXdCQ3lBQUtBSUVLQUlBSVFFZ0FFRUJRWUFJSUFGQlAzRkJ5Z0ZxRVFRQUlRWWdCVUVKZEVHQWZHb2hCVUVBSVFFRFFFRUFJUU1EUUVIL0FTQURJQUZCQkhSQnNESnFhaTBBQUVFQmRHc2lDRUgvQVd3aEJ5QUJRUVowSUFacUlBTkJBblJxSUFoQkFFZ0VmMEVBUVFBZ0Iyc2dCUkE1YXdVZ0J5QUZFRGtMTmdJQUlBTkJBV29pQTBFUVJ3MEFDeUFCUVFGcUlnRkJFRWNOQUFzZ0JpRURJQUFvQW5naEFRc2dBa0UwYWlBRVFRSjBhaUFETmdJQUlBUkJBV29pQkNBQlNBMEFDdzhMSUFKQkdqWUNCQ0FDUVFBMkFsUWdBaWdDUkFSL0lBQkIrQUJxSWdFaEF5QUJLQUlBSVFFZ0FFSHdBR29GSUFCQjhBQnFJZ1FvQWdBaENTQUFRZmdBYWlJREtBSUFRUUJNQkVBUEN5QUpRUUYwUVFScUlRVkJBQ0VCQTM4Z0FDZ0NCQ2dDQkNFR0lBSkJ4QUJxSUFGQkFuUnFJQUJCQVNBRklBWkJQM0ZCeWdGcUVRUUFOZ0lBSUFGQkFXb2lBU0FES0FJQUlnWklEUUFnQmlFQklBUUxDeWdDQUNFS0lBRkJBRXdFUUE4TElBcEJBWFJCQkdvaEFVRUFJUUFEUUNBQ1FjUUFhaUFBUVFKMGFpZ0NBRUVBSUFFUVJSb2dBRUVCYWlJQUlBTW9BZ0JJRFFBTER3c2dBQ2dDQUNJQlFURTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUM4c0JBUXQvSUFBb0F1UURLQUlZSVFvZ0FDZ0NjQ0lMUlNBRFFRRkljZ1JBRHdzRFFDQUxJUWdnQlVFQ2RDQUNhaWdDQUNFR0lBVkJBblFnQVdvb0FnQWhCQU5BSUFRdEFBQkJBM1lpREVFQ2RDQUthaWdDQUNBRUxRQUJRUUoySWdkQkJuUnFJQVF0QUFKQkEzWWlEVUVCZEdvaURpNEJBQ0lKUlFSQUlBQWdEQ0FISUEwUW9nTWdEaTRCQUNFSkN5QUVRUU5xSVFRZ0JrRUJhaUVISUFZZ0NVSC8vd054UWY4QmFqb0FBQ0FJUVg5cUlnZ0VRQ0FISVFZTUFRc0xJQVZCQVdvaUJTQURSdzBBQ3d2S0JRRW5meUFBS0FMa0F5SUxLQUlZSVJ3Z0FDZ0NjQ0VNSUFBb0F0QUNJUk1nQ3lnQ0tDRVVJQUFvQW9nQklnUW9BZ0FoSFNBRUtBSUVJUjRnQkNnQ0NDRWZJQU5CQUV3RVFBOExJQXhGSVNBZ0RFRi9haUloUVFOc0lTSWdERUVEYkVFRGFpRWpBMEFnRGtFQ2RDQUJhaWdDQUNFSElBNUJBblFnQW1vb0FnQWhEU0FMSUFzb0FpUUVmMEY5SVFsQmZ5RVdJQXNvQWlBZ0kwRUJkR29oQ0NBTklDRnFJUTBnQnlBaWFpRUhRUUFGUVFNaENVRUJJUllnQ3lnQ0lDRUlRUUVMTmdJa0lDQUVRRUVBSVE5QkFDRVFRUUFoQkFVZ0NVRUJhaUVrSUFsQkFtb2hKU0FKSUF4c0lTcEJBQ0VSUVFBaEVrRUFJUmRCQUNFWVFRQWhHVUVBSVE5QkFDRVFRUUFoR2lBTUlSdEJBQ0VGSUFnaEJBTkFJQk1nSkVFQmRDQUVhaTRCQUNBUlFRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUJhbW90QUFBaUNrRUNkaUlHUVFaMElCTWdDVUVCZENBRWFpSW5MZ0VBSUFWQkNHcHFRUVIxUVFKMElCUnFLQUlBSUFjdEFBQnFhaTBBQUNJUlFRTjJJaFZCQW5RZ0hHb29BZ0JxSUJNZ0pVRUJkQ0FFYWk0QkFDQVNRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFDYW1vdEFBQWlFa0VEZGlJb1FRRjBhaUlwTGdFQUlnVkZCRUFnQUNBVklBWWdLQkNpQXlBcExnRUFJUVVMSUEwZ0JVSC8vd054UVg5cUlnWTZBQUFnQ2lBR0lCNXFMUUFBYXlFRklCSWdCaUFmYWkwQUFHc2hDaUFFSUE4Z0VTQUdJQjFxTFFBQWF5SUdRUU5zYWpzQkFDQVhJQVpCQld4cUlROGdCa0VIYkNFVklBUWdFQ0FGUVFOc2Fqc0JBaUFZSUFWQkJXeHFJUkFnQlVFSGJDRVJJQVFnR2lBS1FRTnNhanNCQkNBWklBcEJCV3hxSVFRZ0NrRUhiQ0VTSUFjZ0NXb2hCeUFOSUJacUlRMGdHMEYvYWlJYkJFQWdCaUVYSUFVaEdDQUtJUmtnQkNFYUlCVWhCU0FuSVFRTUFRc0xJQ3BCQVhRZ0NHb2hDQXNnQ0NBUE93RUFJQWdnRURzQkFpQUlJQVE3QVFRZ0RrRUJhaUlPSUFOSERRQUxDOWdJQVJkL0lBQWdBQ2dDNUFNaUV5Z0NFRFlDaUFFZ0FDZ0NCQ2dDQUNFQklBQkJBU0FUS0FJVUlndEJCWFFnQVVFL2NVSEtBV29SQkFBaUJVRUFOZ0lBSUFWQkh6WUNCQ0FGUVFBMkFnZ2dCVUUvTmdJTUlBVkJBRFlDRUNBRlFSODJBaFFnQUNBRkVMQUNJQXRCQVVvRWZ3Si9RUUVoQkFOL0lBUkJBWFFnQzBvRVFFRUFJUVpCQUNFQ0lBVWhBVUVBSVFNRGZ5QUJLQUlZSWdrZ0Jrb2hCeUFKSUFZZ0J4c2hCaUFCSUFNZ0J4c2hBeUFCUVNCcUlRRWdBa0VCYWlJQ0lBUkhEUUFnQXdzaEFRVkJBQ0VHUVFBaEFpQUZJUU5CQUNFQkEwQWdBeWdDSENJSElBWktCRUFnQXlBQklBTW9BaGhCQUVvaUNSc2hBU0FISUFZZ0NSc2hCZ3NnQTBFZ2FpRURJQUpCQVdvaUFpQUVSdzBBQ3dzZ0JDQUJSUTBCR2lBRVFRVjBJQVZxSUFFb0FnUTJBZ1FnQkVFRmRDQUZhaUFCSWdNb0FndzJBZ3dnQkVFRmRDQUZhaUFCSWdJb0FoUTJBaFFnQkVFRmRDQUZhaUlHSUFJb0FnQTJBZ0FnQkVFRmRDQUZha0VJYWlJSElBSW9BZ2cyQWdBZ0JFRUZkQ0FGYWtFUWFpSUpJQUlvQWhBMkFnQUNRQUovQWtBQ1FBSkFRUUlnQWlnQ0JDSUlJQUlvQWdBaURHdEJCSFFpQ2lBQ0tBSU1JZzBnQWlnQ0NDSU9hMEVNYkNJUFNpSVFRUUZ6SUFJb0FoUWlFU0FDS0FJUUloSnJRUU4wSUFvZ0R5QVFHMG9iUVFOeERnTUFBUUlFQ3lBQklBZ2dER3BCQWhBNUlnTTJBZ1FnQmd3Q0N5QURJQTBnRG1wQkFoQTVJZ00yQWd3Z0J3d0JDeUFDSUJFZ0VtcEJBaEE1SWdNMkFoUWdDUXNnQTBFQmFqWUNBQXNnQUNBQ0VMQUNJQUFnQmhDd0FpQUVRUUZxSWdRZ0MwZ05BQ0FFQ3dzRlFRRUxJUXRCQUNFSUEwQWdBQ2dDNUFNb0FoZ2hEeUFJUVFWMElBVnFLQUlBSWdJZ0NFRUZkQ0FGYWlnQ0JDSVJTaUFJUVFWMElBVnFLQUlJSWc0Z0NFRUZkQ0FGYWlnQ0RDSVNTbklnQ0VFRmRDQUZhaWdDRUNJTklBaEJCWFFnQldvb0FoUWlFRXB5QkVCQkFDRUJRUUFoQTBFQUlRUkJBQ0VHQlVFQUlRRkJBQ0VEUVFBaEJFRUFJUVlEUUNBQ1FRSjBJQTlxS0FJQUlSUWdBa0VEZEVFRWNpRVZJQTRoQndOQUlBZEJBblJCQW5JaEZpQUhRUVowSUJScUlBMUJBWFJxSVF3Z0RTRUpBMEFnREM0QkFDSVhRZi8vQTNFaENpQVhCRUFnQVNBS0lBbEJBM1JCQkhKc2FpRUJJQU1nQ2lBV2JHb2hBeUFFSUFvZ0ZXeHFJUVFnQmlBS2FpRUdDeUFNUVFKcUlRd2dDVUVCYWlFS0lBa2dFRWdFUUNBS0lRa01BUXNMSUFkQkFXb2hDU0FISUJKSUJFQWdDU0VIREFFTEN5QUNRUUZxSVFjZ0FpQVJTQVJBSUFjaEFnd0JDd3NMSUFRZ0JrRUJkU0lFYWlBR0VEbEIvd0Z4SVFJZ0NDQUFLQUtJQVNnQ0FHb2dBam9BQUNBRElBUnFJQVlRT1VIL0FYRWhBeUFJSUFBb0FvZ0JLQUlFYWlBRE9nQUFJQUVnQkdvZ0JoQTVRZjhCY1NFQklBZ2dBQ2dDaUFFb0FnaHFJQUU2QUFBZ0NFRUJhaUlJSUF0SURRQUxJQUFnQ3pZQ2hBRWdBQ2dDQUNJQlFlSUFOZ0lVSUFFZ0N6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQk5CQVRZQ0hBdWJBUUVHZnlBQUtBTGtBeWdDR0NFR0lBQW9BbkFpQjBVZ0EwRUJTSElFUUE4TEEwQWdCeUVBSUFSQkFuUWdBV29vQWdBaEFnTkFJQUl0QUFCQkEzWkJBblFnQm1vb0FnQWdBaTBBQVVFQ2RrRUdkR29nQWkwQUFrRURka0VCZEdvaUNDNEJBQ0lKUVFGcVFSQjBRUkIxSVFVZ0NDQUZJQWtnQlJzN0FRQWdBa0VEYWlFQ0lBQkJmMm9pQUEwQUN5QUVRUUZxSWdRZ0EwY05BQXNMRFFBZ0FDZ0M1QU5CQVRZQ0hBdmpCUUVEZnlBQUtBTGtBeUlES0FJWUlRSWdBQ2dDV0FSL0lBQkJBallDV0VFQ0JVRUFDeUVFSUFFRVFDQURRUk0yQWdRZ0EwR0hBVFlDQ0NBRFFRRTJBaHdGSUFOQkZFRVZJQVJCQWtZYk5nSUVJQU5CaUFFMkFnZ2dBQ2dDaEFFaUFVRUJTQVJBSUFBb0FnQWlBVUU2TmdJVUlBRkJBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUJRVHMyQWhRZ0FVR0FBallDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSllRUUpHQkVBZ0FDZ0NjRUVHYkVFTWFpRUVJQU1vQWlBaUFVVUVRQ0FBS0FJRUtBSUVJUUVnQXlBQVFRRWdCQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSWdDeUFCUVFBZ0JCQkZHaUFES0FJb1JRUkFJQUFRcEFNTElBTkJBRFlDSkFzTElBTW9BaHhGQkVBUEN5QUNLQUlBUVFCQmdDQVFSUm9nQWlnQ0JFRUFRWUFnRUVVYUlBSW9BZ2hCQUVHQUlCQkZHaUFDS0FJTVFRQkJnQ0FRUlJvZ0FpZ0NFRUVBUVlBZ0VFVWFJQUlvQWhSQkFFR0FJQkJGR2lBQ0tBSVlRUUJCZ0NBUVJSb2dBaWdDSEVFQVFZQWdFRVVhSUFJb0FpQkJBRUdBSUJCRkdpQUNLQUlrUVFCQmdDQVFSUm9nQWlnQ0tFRUFRWUFnRUVVYUlBSW9BaXhCQUVHQUlCQkZHaUFDS0FJd1FRQkJnQ0FRUlJvZ0FpZ0NORUVBUVlBZ0VFVWFJQUlvQWpoQkFFR0FJQkJGR2lBQ0tBSThRUUJCZ0NBUVJSb2dBa0ZBYXlnQ0FFRUFRWUFnRUVVYUlBSW9Ba1JCQUVHQUlCQkZHaUFDS0FKSVFRQkJnQ0FRUlJvZ0FpZ0NURUVBUVlBZ0VFVWFJQUlvQWxCQkFFR0FJQkJGR2lBQ0tBSlVRUUJCZ0NBUVJSb2dBaWdDV0VFQVFZQWdFRVVhSUFJb0FseEJBRUdBSUJCRkdpQUNLQUpnUVFCQmdDQVFSUm9nQWlnQ1pFRUFRWUFnRUVVYUlBSW9BbWhCQUVHQUlCQkZHaUFDS0FKc1FRQkJnQ0FRUlJvZ0FpZ0NjRUVBUVlBZ0VFVWFJQUlvQW5SQkFFR0FJQkJGR2lBQ0tBSjRRUUJCZ0NBUVJSb2dBaWdDZkVFQVFZQWdFRVVhSUFOQkFEWUNIQXVWQkFFVGZ5QUFLQUxRQWlFRklBQW9BdHdESWdRb0FoQWhEQ0FFS0FJVUlRMGdCQ2dDR0NFT0lBUW9BaHdoRHlBQktBSUFJQUpCQW5ScUtBSUFJUWdnQVNnQ0JDQUNRUUowYWlnQ0FDRUVJQUVvQWdnZ0FrRUNkR29vQWdBaENTQURLQUlBSVFZZ0FDZ0NjQ0lCUVFGMklnb0VRQ0FFSUFwcUlSWWdBVUYrY1NFU0lBcEJCbXdoRXlBSklRTWdDQ0VDSUFZaEFTQUtJUkFEUUNBRVFRRnFJUlFnQTBFQmFpRVZJQU10QUFBaUIwRUNkQ0FNYWlnQ0FDRURJQVF0QUFBaUMwRUNkQ0FQYWlnQ0FDQUhRUUowSUE1cUtBSUFha0VRZFNFRUlBdEJBblFnRFdvb0FnQWhDeUFCSUFNZ0FpMEFBQ0lIYWlBRmFpd0FBRG9BQUNBQklBUWdCMm9nQldvc0FBQTZBQUVnQVNBSElBdHFJQVZxTEFBQU9nQUNJQUpCQW1vaEJ5QUJJQU1nQWkwQUFTSUNhaUFGYWl3QUFEb0FBeUFCSUFVZ0FpQUVhbW9zQUFBNkFBUWdBU0FGSUFJZ0MycHFMQUFBT2dBRklBRkJCbW9oQVNBUVFYOXFJaEFFUUNBVklRTWdGQ0VFSUFjaEFnd0JDd3NnQ1NBS2FpRUpJQlloQkNBSUlCSnFJUWdnQmlBVGFpRUdJQUFvQW5BaEFRc2dBVUVCY1VVRVFBOExJQVF0QUFBaUFFRUNkQ0FQYWlnQ0FDQUpMUUFBSWdGQkFuUWdEbW9vQWdCcVFSQjFJUUlnQUVFQ2RDQU5haWdDQUNFRElBWWdDQzBBQUNJQUlBRkJBblFnREdvb0FnQnFJQVZxTEFBQU9nQUFJQVlnQUNBQ2FpQUZhaXdBQURvQUFTQUdJQUFnQTJvZ0JXb3NBQUE2QUFJTFJ3QWdBQ2dDM0FNb0Fnd2hBeUFBSUFFZ0FpZ0NBQ0FGS0FJQVFRSjBJQVJxSUFOQkgzRkIrZ1ZxRVFjQUlBVWdCU2dDQUVFQmFqWUNBQ0FDSUFJb0FnQkJBV28yQWdBTGdBWUJGMzhnQUNnQzBBSWhCU0FBS0FMY0F5SUVLQUlRSVE4Z0JDZ0NGQ0VRSUFRb0FoZ2hFU0FFS0FJY0lSSWdBU2dDQUNJSElBSkJBWFFpQkVFQ2RHb29BZ0FoRENBRVFRRnlRUUowSUFkcUtBSUFJUVFnQVNnQ0JDQUNRUUowYWlnQ0FDRUdJQUVvQWdnZ0FrRUNkR29vQWdBaERTQURLQUlBSVFnZ0F5Z0NCQ0VKSUFBb0FuQWlBVUVCZGlJT0JFQWdCaUFPYWlFYUlBNUJCbXdoRXlBRUlBRkJmbkVpRm1vaEZ5QU5JUWNnQkNFRElBd2hCQ0FKSVFFZ0NDRUNJQTRoRkFOQUlBWkJBV29oR0NBSFFRRnFJUmtnQnkwQUFDSUtRUUowSUE5cUtBSUFJUWNnQmkwQUFDSUxRUUowSUJKcUtBSUFJQXBCQW5RZ0VXb29BZ0JxUVJCMUlRWWdDMEVDZENBUWFpZ0NBQ0VMSUFJZ0J5QUVMUUFBSWdwcUlBVnFMQUFBT2dBQUlBSWdCaUFLYWlBRmFpd0FBRG9BQVNBQ0lBb2dDMm9nQldvc0FBQTZBQUlnQkVFQ2FpRUtJQUlnQlNBSElBUXRBQUVpQkdwcUxBQUFPZ0FESUFJZ0JTQUVJQVpxYWl3QUFEb0FCQ0FDSUFVZ0JDQUxhbW9zQUFBNkFBVWdBa0VHYWlFQ0lBRWdCU0FISUFNdEFBQWlCR3BxTEFBQU9nQUFJQUVnQlNBRUlBWnFhaXdBQURvQUFTQUJJQVVnQkNBTGFtb3NBQUE2QUFJZ0EwRUNhaUVFSUFFZ0F5MEFBU0lESUFkcUlBVnFMQUFBT2dBRElBRWdBeUFHYWlBRmFpd0FBRG9BQkNBQklBTWdDMm9nQldvc0FBQTZBQVVnQVVFR2FpRUJJQlJCZjJvaUZBUkFJQmtoQnlBWUlRWWdCQ0VESUFvaEJBd0JDd3NnRFNBT2FpRU5JQm9oQmlBWElRUWdEQ0FXYWlFTUlBa2dFMm9oQ1NBSUlCTnFJUWdnQUNnQ2NDRUJDeUFCUVFGeFJRUkFEd3NnRFMwQUFDSUJRUUowSUE5cUtBSUFJUUFnQmkwQUFDSUNRUUowSUJKcUtBSUFJQUZCQW5RZ0VXb29BZ0JxUVJCMUlRRWdBa0VDZENBUWFpZ0NBQ0VDSUFnZ0FDQU1MUUFBSWdOcUlBVnFMQUFBT2dBQUlBZ2dBU0FEYWlBRmFpd0FBRG9BQVNBSUlBSWdBMm9nQldvc0FBQTZBQUlnQ1NBQUlBUXRBQUFpQUdvZ0JXb3NBQUE2QUFBZ0NTQUFJQUZxSUFWcUxBQUFPZ0FCSUFrZ0FDQUNhaUFGYWl3QUFEb0FBZ3U4RXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUdJUTBnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSElBRklCRUFnQlVFQU93RUFJQTFCQURzQkFDQU5RUUpxSVEwZ0JVRUNhaUVGSUFkQkFXb2hCd3dCQ3dzZ0JpRUhJQUZCZjJvaUVVRUJkQ0FHYWlFTlFRQWhCUU5BSUFVZ0FrZ0VRQ0FOUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUJRUUYwSUExcUlRMGdCVUVCYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOUVFFaEMwRUFJUVVnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa2dCaUVNQTBBZ0NTQVJTQVJBSUEwdEFBQWdBMG9FUUFKQUlCSkJBWFFnREdvaUR5NEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBOUJmbW91QVFBaUNpRUlJQXBCQUVvaEJpQVBMZ0VDSWdWQkFFd0VRQ0FHQkVBZ0RDQUtPd0VBSUFoQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxJQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dERUYrYWk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBTUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUdCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBRklBWW9BZ0JHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FDQUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnREVGK2FpNEJBQ0lHUVFCTUJFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFsS0JFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBR0tBSUFJQVZHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0ZJQXhCQURzQkFBc2dEVUVCYWlFTklBbEJBV29oQ1NBTVFRSnFJUXdNQVFzTElBMUJBbW9oRFNBTFFRRnFJUXNnQUNFRklBeEJCR29oQmd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdjMkFnZ2dCd1IvSUExQkFDQUhRUUowRUVVYUlBUkJrSUFvYWtFQUlBZEJCSFFRUlJwQkFDRURBMEFnQXlBSFNBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdkQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MbmdJQkJIOGpCaUVESXdaQkVHb2tCaUFBS0FMY0F5SUhLQUlrQkVBZ0IwRWdha0VBSUFVb0FnQkJBblFnQkdwQkFFRUJJQWNvQWlnUTl3RWdCMEVBTmdJa0lBVWdCU2dDQUVFQmFqWUNBQ0FISUFjb0FpeEJmMm8yQWl3RklBWWdCU2dDQUNJSmF5SUdJQWNvQWl3aUNFRUNJQWhCQWtrYklnZ2dDQ0FHU3hzaEJpQURJQWxCQW5RZ0JHb29BZ0EyQWdBZ0JrRUJTd1JBSUFNZ0NVRUJha0VDZENBRWFpZ0NBRFlDQkFVZ0F5QUhLQUlnTmdJRUlBZEJBVFlDSkFzZ0J5Z0NEQ0VFSUFBZ0FTQUNLQUlBSUFNZ0JFRWZjVUg2QldvUkJ3QUNmeUFIS0FJa1JTRUtJQVVnQmlBRktBSUFhallDQUNBSElBY29BaXdnQm1zMkFpd2dDa1VMQkVBZ0F5UUdEd3NMSUFJZ0FpZ0NBRUVCYWpZQ0FDQURKQVlMR3dFQmZ5QUFLQUxjQXlJQlFRQTJBaVFnQVNBQUtBSjBOZ0lzQzdvQkFRZC9JQUFvQWlRaEJTQUFLQUp3SVFnZ0JFRUFUQVJBRHdzZ0JVRUFUQVJBRHdzZ0NFVWhDZ05BSUFwRkJFQkJBQ0VBQTBCQkFDRUpJQUJCQW5RZ0FXb29BZ0FnQWtFQ2RHb29BZ0FoQmlBQUlBTW9BZ0JxSVFjRFFDQUdRUUZxSVFzZ0J5QUdMQUFBT2dBQUlBVWdCMm9oQnlBSUlBbEJBV29pQ1VjRVFDQUxJUVlNQVFzTElBVWdBRUVCYWlJQVJ3MEFDd3NnQkVGL2FpRUFJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFBaEJBd0JDd3NMMkFJQkQzOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQktBSU1JQUpCQW5ScUtBSUFJUkVnQWtFQmFpRVNJQU1vQWdBaEFrRUFJUUFEUUNBQUlBOXFMUUFBSVFjZ0FpQUZJQUFnRG1vc0FBQkJmM05CL3dGeElnZ2dBQ0FRYWkwQUFDSVRRUUowSUFscUtBSUFhMm9zQUFBNkFBQWdBaUFGSUFnZ0IwRUNkQ0FNYWlnQ0FDQVRRUUowSUF0cUtBSUFha0VRZFd0cUxBQUFPZ0FCSUFJZ0JTQUlJQWRCQW5RZ0Ntb29BZ0JyYWl3QUFEb0FBaUFDSUFBZ0VXb3NBQUE2QUFNZ0FrRUVhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJJaEFpQU5JUVFNQVFzTEM5TUJBUWwvSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQUlBbHFMUUFBSVFzZ0FpQUFJQWhxTEFBQUlneEIvd0Z4UVlBQmFpSU5JQUFnQjJvdEFBQnFPZ0FBSUFJZ0REb0FBU0FDSUFzZ0RXbzZBQUlnQWtFRGFpRUNJQVVnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQW9oQWlBR0lRUU1BUXNMQzcwQkFRWi9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FDSUFBZ0Iyb3NBQUE2QUFBZ0FpQUFJQWhxTEFBQU9nQUJJQUlnQUNBSmFpd0FBRG9BQWlBQ1FRTnFJUUlnQlNBQVFRRnFJZ0JIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQ2lFQ0lBWWhCQXdCQ3dzTHRBSUJEbjhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUNRUUZxSVJFZ0F5Z0NBQ0VDUVFBaEFBTkFJQUFnRDJvdEFBQWhCeUFDSUFVZ0FDQU9haTBBQUNJSUlBQWdFR290QUFBaUVrRUNkQ0FKYWlnQ0FHcHFMQUFBT2dBQUlBSWdCU0FJSUFkQkFuUWdER29vQWdBZ0VrRUNkQ0FMYWlnQ0FHcEJFSFZxYWl3QUFEb0FBU0FDSUFVZ0NDQUhRUUowSUFwcUtBSUFhbW9zQUFBNkFBSWdBa0VEYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCRWhBaUFOSVFRTUFRc0xDNG9CQVFWL0lBQW9BbkFpQjBVZ0JFRUJTSElFUUE4TEEwQWdCRUYvYWlFSUlBRW9BZ0FnQWtFQ2RHb29BZ0FoQ1VFQUlRQWdBeWdDQUNFRkEwQWdCU0FBSUFscUxBQUFJZ1k2QUFJZ0JTQUdPZ0FCSUFVZ0Jqb0FBQ0FGUVFOcUlRVWdCeUFBUVFGcUlnQkhEUUFMSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBZ2hCQXdCQ3dzTDlBRUJDWDhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFscUxRQUFJZ3hCZ0FGcUlnMGdBQ0FJYWkwQUFHcEIvd0Z4UVFKMElBVnFLQUlBSUF4QmdBSnlRUUowSUFWcUtBSUFhaUFBSUFwcUxRQUFJQTFxUWY4QmNVR0FCSEpCQW5RZ0JXb29BZ0JxUVJCMk9nQUFJQUJCQVdvaUFDQUdSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQWNoQkF3QkN3c0wzZ0VCQjM4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBcHFMUUFBUVlBRWNrRUNkQ0FGYWlnQ0FDQUFJQWhxTFFBQVFRSjBJQVZxS0FJQUlBQWdDV290QUFCQmdBSnlRUUowSUFWcUtBSUFhbXBCRUhZNkFBQWdBRUVCYWlJQUlBWkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdCeUVFREFFTEN3c3lBUUYvSUFBb0FnUWdBQ2dDQ0JDTEFTSUJCRUFnQVNBQUVMUUZRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVFzWEFDQUJLQUlBSUFJZ0EwRUFJQVFnQUNnQ2NCRDNBUXVIQkFFTWZ5QURLQUlBSVFnZ0FTZ0NCQ0lESUFBb0F0d0RJZ1ZCakFGcWFpd0FBQ0VCSUFNZ0JVR1dBV3BxTFFBQUlRTWdBQ2dDd0FJaUJFRUFUQVJBRHdzZ0FVSC9BWEVoQlNBQlFRQkhJUXdnQTBIL0FYRWlDa0YvYWlFTklBTkIvd0Z4UVFGS0JFQWdCVUYrSUFWQmYzTWdBUnRxUVFKcUlRNUJBQ0VFQTBBQ1FDQUVRUUowSUFocUtBSUFJZ01nQUNnQ2NDSUJhaUVQSUFGQkFFb0VRQ0FNUlEwQklBWkJBblFnQW1vb0FnQWhCeUFESVFFRFFDQUJJQWNzQUFBZ0RoQkZHaUFGSVFNRFFDQUJRUUZxSVFFZ0EwRi9haUVMSUFOQkFVb0VRQ0FMSVFNTUFRc0xJQWRCQVdvaEJ5QUJJQTlKRFFBTElBQW9BbkFoQVFzZ0NDQUVJQWdnQkVFQmFpQU5JQUVROXdFZ0JrRUJhaUVHSUFRZ0Ntb2lCQ0FBS0FMQUFrZ05BVUViSVFrTEN5QUpRUnRHQkVBUEN3TkFEQUFBQ3dBTElBeEZCRUFnQUNnQ2NFRUFTaUVCUVFBaEFBTi9JQUVFZjBFQUJTQUFJQXBxSWdBZ0JFZ0Vmd3dDQlVFYkN3c0xRUnRHQkVBUEN3TkFEQUFBQ3dBTFFRQWhCQU5BSUFaQkFuUWdDR29vQWdBaUFTQUFLQUp3SWdOcUlRa2dBMEVBU2dSQUlBUkJBblFnQW1vb0FnQWhCd05BSUFFZ0J5d0FBQ0FGRUVVYUlBVWhBd05BSUFGQkFXb2hBU0FEUVg5cUlRc2dBMEVCU2dSQUlBc2hBd3dCQ3dzZ0IwRUJhaUVISUFFZ0NVa05BQXNMSUFSQkFXb2hCQ0FHSUFwcUlnWWdBQ2dDd0FKSURRQUxDNjhCQVFWL0lBTW9BZ0FoQlNBQUtBTEFBa0VBVEFSQUR3dEJBQ0VEQTBBZ0EwRUNkQ0FGYWlnQ0FDSUhJQUFvQW5BaUFXb2hDQ0FCUVFCS0JFQWdCa0VDZENBQ2FpZ0NBQ0VFSUFjaEFRTkFJQVJCQVdvaEJ5QUJJQVFzQUFBaUJEb0FBQ0FCSUFRNkFBRWdBVUVDYWlJQklBaEpCRUFnQnlFRURBRUxDeUFBS0FKd0lRRUxJQVVnQXlBRklBTkJBWEpCQVNBQkVQY0JJQVpCQVdvaEJpQURRUUpxSWdNZ0FDZ0N3QUpJRFFBTEM1VUJBUVIvSUFNb0FnQWhCaUFBS0FMQUFpSUJRUUJNQkVBUEMwRUFJUU1EUUNBRFFRSjBJQVpxS0FJQUlnVWdBQ2dDY0NJRWFpRUhJQVJCQUVvRVFDQURRUUowSUFKcUtBSUFJUVFnQlNFQkEwQWdCRUVCYWlFRklBRWdCQ3dBQUNJRU9nQUFJQUVnQkRvQUFTQUJRUUpxSWdFZ0Iwa0VRQ0FGSVFRTUFRc0xJQUFvQXNBQ0lRRUxJQU5CQVdvaUF5QUJTQTBBQ3dzSkFDQURJQUkyQWdBTENRQWdBMEVBTmdJQUM4b0NBUU4vSUFBb0F0d0RJZ2NvQWx3aUNDQUFLQUxBQWlJRFNBUi9JQWdGSUFBb0FpUkJBRW9FUUNBQUtBTFlBU0VJUVFBaEF3TkFJQWRCTkdvZ0EwRUNkR29vQWdBaENTQUFJQWdnQTBFQ2RDQUJhaWdDQUNBQ0tBSUFJQWRCNUFCcUlBTkJBblJxS0FJQWJFRUNkR29nQjBFTWFpQURRUUowYWlBSlFSOXhRZm9GYWhFSEFDQUlRZGdBYWlFSUlBTkJBV29pQXlBQUtBSWtTQTBBQ3lBQUtBTEFBaUVEQ3lBSFFRQTJBbHhCQUFzaEFTQUdJQVVvQWdBaUJtc2lDQ0FIS0FKZ0lna2dBeUFCYXlJRElBTWdDVXNiSWdNZ0F5QUlTeHNoQXlBQUtBTGdBeWdDQkNFSUlBQWdCMEVNYWlBQklBWkJBblFnQkdvZ0F5QUlRVDl4UVpvR2FoRUZBQ0FGSUFNZ0JTZ0NBR28yQWdBZ0J5QUhLQUpnSUFOck5nSmdJQWNnQXlBSEtBSmNhaUlCTmdKY0lBRWdBQ2dDd0FKSUJFQVBDeUFDSUFJb0FnQkJBV28yQWdBTEh3RUJmeUFBS0FMY0F5SUJJQUFvQXNBQ05nSmNJQUVnQUNnQ2REWUNZQXVIQWdFRmZ5QUFLQUxJQXlJSEtBSVlJZ01FUUNBSFFSUnFJUUVnQjBFUWFpRUNJQWNvQWd3aENRVWdBQ2dDQkNnQ0hDRURJQWNnQUNBSEtBSUlJQWRCRkdvaUFTZ0NBQ0FIUVJCcUlnSW9BZ0JCQUNBRFFSOXhRYUlDYWhFSUFDSUpOZ0lNSUFjb0FoZ2hBd3NnQUNnQ2RDQUJLQUlBYXlJSUlBWWdCU2dDQUNJS2F5SUdJQUlvQWdBZ0Eyc2lDeUFMSUFaTEd5SUdJQVlnQ0VzYklRWWdBQ2dDNUFNb0FnUWhDQ0FBSUFOQkFuUWdDV29nQ2tFQ2RDQUVhaUFHSUFoQkgzRkIrZ1ZxRVFjQUlBVWdCaUFGS0FJQWFqWUNBQ0FISUFZZ0J5Z0NHR29pQURZQ0dDQUFJQUlvQWdBaUFFa0VRQThMSUFFZ0FDQUJLQUlBYWpZQ0FDQUhRUUEyQWhnTGlnSUJCWDhnQUNnQ3lBTWlCMEVZYWlJSUtBSUFJZ1FFUUNBSFFSQnFJUVlnQjBFTWFpSUpJUW9nQ1NnQ0FDRUpCU0FBS0FJRUtBSWNJUVFnQjBFTWFpSUtJQUFnQnlnQ0NDQUhLQUlVSUFkQkVHb2lCaWdDQUVFQklBUkJIM0ZCb2dKcUVRZ0FJZ2syQWdBZ0NDZ0NBQ0VFQ3lBQUtBTGNBeWdDQkNFTElBQWdBU0FDSUFNZ0NTQUlJQVlvQWdBZ0MwRUhjVUhpQm1vUkRRQWdDQ2dDQUNJQklBUkxCRUFnQUNnQzVBTW9BZ1FoQWlBQUlBb29BZ0FnQkVFQ2RHcEJBQ0FCSUFScklnQWdBa0VmY1VINkJXb1JCd0FnQlNBQUlBVW9BZ0JxTmdJQUlBZ29BZ0FoQVFzZ0FTQUdLQUlBSWdCSkJFQVBDeUFISUFBZ0J5Z0NGR28yQWhRZ0NFRUFOZ0lBQzU4QkFRUi9Jd1loQnlNR1FSQnFKQVlnQmlBRktBSUFheUVJSUFBb0FzZ0RJZ2tvQWhBaENpQUhRUUEyQWdBZ0FDZ0MzQU1vQWdRaEJpQUFJQUVnQWlBRElBa29BZ3dnQnlBS0lBZ2dDQ0FLU3hzZ0JrRUhjVUhpQm1vUkRRQWdBQ2dDNUFNb0FnUWhBU0FBSUFrb0Fnd2dCU2dDQUVFQ2RDQUVhaUFIS0FJQUlBRkJIM0ZCK2dWcUVRY0FJQVVnQnlnQ0FDQUZLQUlBYWpZQ0FDQUhKQVlMa2dJQkFYOGdBQ2dDeUFNaEFnSkFBa0FDUUFKQUFrQWdBUTRFQUFNQ0FRTUxJQUFvQWxSRkJFQWdBaUFBS0FMY0F5Z0NCRFlDQkF3RUN5QUNRUVEyQWdRZ0FpZ0NERVVFUUNBQUtBSUVLQUljSVFFZ0FpQUFJQUlvQWdoQkFDQUNLQUlRUVFFZ0FVRWZjVUdpQW1vUkNBQTJBZ3dMREFNTElBSW9BZ2hGQkVBZ0FDZ0NBQ0lCUVFNMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FRVTJBZ1FNQWdzZ0FpZ0NDRVVFUUNBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkJqWUNCQXdCQ3lBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkFEWUNHQ0FDUVFBMkFoUUxLUUVCZnlBQUtBTElBeWdDQkNFRUlBQkJBRUVBUVFBZ0FTQUNJQU1nQkVFSGNVSGlCbW9SRFFBTGZ3RUVmeUFBS0FMQUF5SUVRVEJxSWdZb0FnQWdCQ2dDTkNJRlNRUkFJQVJCQ0dvaEJ3VWdBQ2dDeEFNb0Fnd2hCU0FBSUFSQkNHb2lCeUFGUVQ5eFFZb0JhaEVDQUFSL0lBWkJBRFlDQUNBRUtBSTBCUThMSVFVTElBQW9Bc2dES0FJRUlRUWdBQ0FISUFZZ0JTQUJJQUlnQXlBRVFRZHhRZUlHYWhFTkFBdVZCd0VQZnlBQUtBTEFBeUlFS0FJNFJRUkFJQUFvQXNRREtBSU1JUWdnQUNBRVFUeHFJQVFvQWtSQkFuUnFLQUlBSUFoQlAzRkJpZ0ZxRVFJQUJFQWdCRUVCTmdJNElBUWdCQ2dDVEVFQmFqWUNUQVVQQ3dzQ1FBSkFBa0FDUUFKQUFrQWdCQ2dDU0E0REFRSUFBd3NnQUNnQ3lBTW9BZ1FoQlNBQUlBUkJQR29nQkNnQ1JFRUNkR29vQWdBZ0JFRXdhaUlJSUFSQk5Hb2lDaWdDQUNBQklBSWdBeUFGUVFkeFFlSUdhaEVOQUNBSUtBSUFJQW9vQWdCSkJFQVBDeUFFUVFBMkFrZ2dBaWdDQUNBRFNRMEREd3NnQkVFd2FpRUlJQVJCTkdvaENnd0NDeUFFUVRCcUlRZ2dCRUUwYWlFS0RBSUxEd3NnQ0VFQU5nSUFJQW9nQUNnQ3lBSWlEa0YvYWpZQ0FDQUVLQUpNSUFBb0Fzd0NSZ1JBSUFBb0FzQURJUXNnQUNnQ0pDSVBRUUJLQkVBZ0MwRThhaUFMS0FKRVFRSjBhaUVRSUFBb0F0Z0JJUVVEUUNBRktBSU1JQVVvQWloc0lnY2dEaEE1SVFZZ0J5QUZLQUl3SUFjUVRpSUhJQWRGR3lFSElBbEZCRUFnQ3lBSFFYOXFJQVlRT1VFQmFqWUNOQXNnRUNnQ0FDQUpRUUowYWlnQ0FDRU5JQVpCQVhRaEVTQUdRUUJLQkVBZ0IwRi9ha0VDZENBTmFpRU1RUUFoQmdOQUlBWWdCMnBCQW5RZ0RXb2dEQ2dDQURZQ0FDQUdRUUZxSWdZZ0VVZ05BQXNMSUFWQjJBQnFJUVVnQ1VFQmFpSUpJQTlIRFFBTEN3c2dCRUVCTmdKSUN5QUFLQUxJQXlnQ0JDRUZJQUFnQkVFOGFpQUVLQUpFUVFKMGFpZ0NBQ0FJSUFvb0FnQWdBU0FDSUFNZ0JVRUhjVUhpQm1vUkRRQWdDQ2dDQUNBS0tBSUFTUVJBRHdzZ0JDZ0NURUVCUmdSQUlBQW9Bc0FESVFzZ0FDZ0N5QUloQVNBQUtBSWtJZ2RCQUVvRVFDQUxRVUJySVEwZ0FVRUJhaUVPSUFGQkFtb2hEeUFBS0FMWUFTRUNRUUFoQXdOQUlBSW9BZ3dnQWlnQ0tHd2dBUkE1SVFVZ0N5Z0NQQ0FEUVFKMGFpZ0NBQ0VKSUEwb0FnQWdBMEVDZEdvb0FnQWhCaUFGUVFCS0JFQWdCU0FPYkNFUUlBVWdEMndoRVVFQUlRQURRQ0FBSUFWcklneEJBblFnQ1dvZ0FDQVFhaUlTUVFKMElBbHFLQUlBTmdJQUlBeEJBblFnQm1vZ0VrRUNkQ0FHYWlnQ0FEWUNBQ0FBSUJGcUlneEJBblFnQ1dvZ0FFRUNkQ0FKYWlnQ0FEWUNBQ0FNUVFKMElBWnFJQUJCQW5RZ0Jtb29BZ0EyQWdBZ0FFRUJhaUlBSUFWSERRQUxDeUFDUWRnQWFpRUNJQU5CQVdvaUF5QUhSdzBBQ3dzRklBQW9Bc2dDSVFFTElBUWdCQ2dDUkVFQmN6WUNSQ0FFUVFBMkFqZ2dDQ0FCUVFGcU5nSUFJQW9nQVVFQ2FqWUNBQ0FFUVFJMkFrZ0w2UU1CRUg4Z0FDZ0N3QU1oQWdKQUFrQUNRQ0FCRGdNQUFnRUNDeUFBS0FMY0F5Z0NDRVVFUUNBQ1FSRTJBZ1FnQWlBQ0tBSTBOZ0l3RHdzZ0FrRVFOZ0lFSUFBb0FzZ0NJUVFnQUNnQ0pDSUxRUUJLQkVBZ0FrRkFheUVNSUFSQkFtb2hEU0FFUVg1cUlRNGdBQ2dDMkFFaEJVRUFJUUFEUUNBRktBSU1JQVVvQWloc0lBUVFPU0VESUFJb0Fqd2dBRUVDZEdvb0FnQWhCaUFNS0FJQUlBQkJBblJxS0FJQUlRY2dBa0VJYWlBQVFRSjBhaWdDQUNFSUlBTWdEV3dpQ1VFQVNnUkFRUUFoQVFOQUlBRkJBblFnQjJvZ0FVRUNkQ0FJYWlnQ0FDSUtOZ0lBSUFGQkFuUWdCbW9nQ2pZQ0FDQUJRUUZxSWdFZ0NVY05BQXNMSUFOQkFYUWhDU0FEUVFCS0JFQWdBeUFFYkNFS0lBTWdEbXdoRDBFQUlRRURRQ0FCSUE5cUloQkJBblFnQjJvZ0FTQUthaUlSUVFKMElBaHFLQUlBTmdJQUlCRkJBblFnQjJvZ0VFRUNkQ0FJYWlnQ0FEWUNBQ0FCUVFGcUlnRWdDVWdOQUF0QkFDRUJBMEFnQVNBRGEwRUNkQ0FHYWlBR0tBSUFOZ0lBSUFGQkFXb2lBU0FEUncwQUN3c2dCVUhZQUdvaEJTQUFRUUZxSWdBZ0MwY05BQXNMSUFKQkFEWUNSQ0FDUVFBMkFrZ2dBa0VBTmdKTUlBSkJBRFlDT0E4TElBSkJFallDQkE4TElBQW9BZ0FpQVVFRE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF1QkJBRUpmeUFBSUFCQkFVSFFBQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0lFTmdMQUF5QUVRVE0yQWdBZ0FDZ0N5QUloQWlBQUtBTGNBeWdDQ0FSL0lBSkJBa2dFUUNBQUtBSUFJZ05CTURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFDQUFLQUxJQWlFQ0N5QUFLQUxBQXlJRElBQkJBU0FBUVNScUlnWW9BZ0JCQTNRZ0FDZ0NCQ2dDQUVFL2NVSEtBV29SQkFBaUFUWUNQQ0FEUVVCcklnY2dBU0FBS0FJa0lnRkJBblJxTmdJQUlBRkJBRW9FUUNBQ1FRUnFJUWdnQUNnQzJBRWhBa0VBSVFFRGZ5QUFRUUVnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SWdVZ0NHd2lDVUVEZENBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNBRlFRSjBhaUVGSUFNb0Fqd2dBVUVDZEdvZ0JUWUNBQ0FIS0FJQUlBRkJBblJxSUFsQkFuUWdCV28yQWdBZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pDSUZTQTBBSUFVTElRRUxJQUFvQXNnQ0lnVkJBbW9oQWlBQklRTWdCUVVnQkNBQ05nSTBJQUJCSkdvaEJpQUFLQUlrSVFNZ0Fnc2hBU0FEUVFCTUJFQVBDeUFFUVFocUlRVkJBQ0VESUFBb0F0Z0JJUVFEUUNBRUtBSU1JQVFvQWloc0lBRVFPU0VCSUFOQkFuUWdCV29nQUVFQklBUW9BaHdnQkNnQ0pHd2dBU0FDYkNBQUtBSUVLQUlJUVE5eFFZb0NhaEVKQURZQ0FDQURRUUZxSWdNZ0JpZ0NBRWdFUUNBRVFkZ0FhaUVFSUFBb0FzZ0NJUUVNQVFzTEM4SUJBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUVjSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBc2dESUFKQk1qWUNBQ0FDUVFBMkFnZ2dBa0VBTmdJTUlBQW9BbFJGQkVBUEN5QUNJQUFvQXNBQ0lnTTJBaEFnQUNnQ0JDRUVJQUVFUUNBRUtBSVFJUUVnQWlBQVFRRkJBQ0FBS0FKd0lBQW9BbmhzSUFBb0FuUWdBeEQ0QVNBQ0tBSVFJQUZCUDNGQnhnSnFFUW9BTmdJSUJTQUVLQUlJSVFFZ0FpQUFRUUVnQUNnQ2NDQUFLQUo0YkNBRElBRkJEM0ZCaWdKcUVRa0FOZ0lNQ3d1aEJBRU1meUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJvQUVnQVVFL2NVSEtBV29SQkFBaUFqWUMzQU1nQWtHR0FUWUNBQ0FDUVFNMkFnUWdBa0VBTmdJSUlBQW9BclFDQkVBZ0FDZ0NBQ0lCUVJvMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUtBSWtRUUJNQkVBUEN5QUNRZVFBYWlFSklBSkJOR29oQlNBQ1FReHFJUW9nQWtHTUFXb2hDeUFDUVpZQmFpRU1JQUFvQXRnQklRSkJBQ0VCQTBBZ0FpZ0NDQ0FDS0FJa2JDQUFLQUxFQWhBNUlRY2dBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJUVlnQUNnQ3ZBSWhCQ0FBS0FMQUFpRUlJQUZCQW5RZ0NXb2dCallDQUNBQ0tBSTBCRUFDUUNBR0lBaEdJZ01nQkNBSFJuRUVRQ0FCUVFKMElBVnFRUXcyQWdBTUFRc2dBeUFFSUFkQkFYUkdJZ054QkVBZ0FVRUNkQ0FGYWtFTk5nSUFCUUpBSUFNZ0NDQUdRUUYwUm5FRVFDQUJRUUowSUFWcVFRNDJBZ0FNQVFzZ0JDQUhJQVFnQnhBNUlnUnNhMFVFUUNBSUlBWWdDQ0FHRURraUEyeHJSUVJBSUFGQkFuUWdCV3BCRHpZQ0FDQUJJQXRxSUFRNkFBQWdBU0FNYWlBRE9nQUFEQUlMQ3lBQUtBSUFJZ05CSnpZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFNZ0FVRUNkQ0FLYWlBQVFRRWdBQ2dDY0NBQUtBSzhBaEQ0QVNBQUtBTEFBaUFEUVE5eFFZb0NhaEVKQURZQ0FBc0ZJQUZCQW5RZ0JXcEJDellDQUFzZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pFZ05BQXNMa2hBQkJuOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQVRZQzRBTWdBVUdGQVRZQ0FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVCQWdJQkFRTUxJQUFvQWlSQkFVY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQU1MSUFBb0FpUkJBMGNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFJTElBQW9BaVJCQkVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBRUxJQUFvQWlSQkFVZ0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FLd0FnUkFBa0FDUUNBQUtBSW9RUUpyRGdVQkFBQUFBUUFMSUFBb0FnQWlBa0VjTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNMQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQWtFQmF3NEdBQUVFQXdRQ0JBc2dBRUVCTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUFBZ0lDQUFJTElBRkJKallDQkNBQUtBSWtJZ0pCQVV3TkJ5QUFLQUxZQVNFRFFRRWhBUU5BSUFGQjJBQnNJQU5xUVFBMkFqUWdBVUVCYWlJQklBSklEUUFMREFJTEFrQUNRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVuTmdJRURBSUxJQUZCS0RZQ0JBd0JDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBS0FMZ0F5QUFRUUZCZ0JnZ0FVRS9jVUhLQVdvUkJBQWlBallDR0VFQUlRRURRQ0FCUVFKMElBSnFJQUZCaTVrQmJEWUNBQ0FCUVlBQ2FrRUNkQ0FDYWlBQlFjYXNBbXcyQWdBZ0FVR0FCR3BCQW5RZ0Ftb2dBVUd2T214QmdJQUNhallDQUNBQlFRRnFJZ0ZCZ0FKSERRQUxEQUVMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3d3RUN5QUFRUU0yQW5nQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQU1CQkFRRUFnUUxJQUZCS1RZQ0JBd0lDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dEQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkIwNXNMYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrSEVsZzVzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FkMmtlbXcyQWdBZ0FVRUNkQ0FEYWlBQ1FjMmZmV3hCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N3SkFBa0FDUUNBQUtBS3dBZzRDQUFFQ0N5QUJRU3MyQWdRTUJ3c2dBVUVzTmdJRURBWUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1CQXNNQXdzZ0FFRUROZ0o0SUFBb0FpaEJCa2NFUUNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQXdzQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRXJOZ0lFREFRTElBRkJMRFlDQkF3REN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUFnc2dBRUVFTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVFYXc0Q0FRQUNDeUFCUVMwMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3lBQlFTNDJBZ1FNQXdzZ0FDZ0NBQ0lCUVJ3MkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFJTERBRUxJQUFvQWlnZ0FrWUVRQ0FBSUFBb0FpUTJBbmdnQVVFdU5nSUVCU0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKVUJFQWdBRUVCTmdKOER3c2dBQ0FBS0FKNE5nSjhDODRFQVFkL0lBQW9BZ1FvQWdBaEFTQUFJQUJCQVVFd0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQXR3RElBRkJoQUUyQWdBZ0FVRUFOZ0lJSUFFZ0FDZ0NlQ0FBS0FKd2JDSUNOZ0lvSUFBb0FzQUNRUUpHQkVBZ0FVRUJOZ0lFSUFGQkNUWUNEQ0FBS0FJRUtBSUVJUU1nQVNBQVFRRWdBaUFEUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUxjQXlFQkJTQUJRUUkyQWdRZ0FVRUtOZ0lNSUFGQkFEWUNJQXNDZnlBQUtBSW9RUWRHSVFjZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lRSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNGQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoZ2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdJMkFod2dBU2dDRUNFRElBRW9BaFFoQkNBQktBSVlJUVVnQndzRVFFRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhUbXd0c1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRY1NXRG14QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkIzYVI2YkRZQ0FDQUFRUUowSUFKcUlBRkJ6Wjk5YkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEJVRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhwelFWc1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRYUtMQjJ4QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkJycEo5YkRZQ0FDQUFRUUowSUFKcUlBRkI1ODkrYkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEN3dkhBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCTENBQlFUOXhRY29CYWhFRUFDSUROZ0xrQXlBRFFURTJBZ0FnQTBHREFUWUNEQ0FEUVFBMkFpQWdBMEVBTmdJb0lBQW9BbmhCQTBjRVFDQUFLQUlBSWdGQk1EWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQURJQUJCQVVHQUFTQUJRVDl4UWNvQmFoRUVBRFlDR0VFQUlRRURRQ0FBS0FJRUtBSUVJUUlnQUVFQlFZQWdJQUpCUDNGQnlnRnFFUVFBSVFJZ0F5Z0NHQ0FCUVFKMGFpQUNOZ0lBSUFGQkFXb2lBVUVnUncwQUN5QURRUUUyQWh3Z0FDZ0NiQVJBSUFBb0FtQWlBVUVJU0FSQUlBQW9BZ0FpQWtFNk5nSVVJQUpCQ0RZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lDUVRzMkFoUWdBa0dBQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRSWdBeUFBUVFFZ0FVRURJQUpCRDNGQmlnSnFFUWtBTmdJUUlBTWdBVFlDRkFVZ0EwRUFOZ0lRQ3lBQUtBSllSUVJBRHdzZ0FFRUNOZ0pZSUFBb0FnUW9BZ1FoQVNBRElBQkJBU0FBS0FKd1FRWnNRUXhxSUFGQlAzRkJ5Z0ZxRVFRQU5nSWdJQUFRcEFNTGpRa0JEMzhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRZGdBSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdVFESUFGQk1EWUNBQ0FCUVlFQk5nSUlJQUZCZ2dFMkFnd2dBVUVBTmdKRUlBRkJBRFlDTkNBQUtBSjRRUVJLQkVBZ0FDZ0NBQ0lCUVRrMkFoUWdBVUVFTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0NZQ0lGUVlBQ1NnUkFJQUFvQWdBaUFVRTdOZ0lVSUFGQmdBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQW1BaEJRc2dBQ2dDNUFNaEJ5QUFLQUo0SWdaQkFVb0VRRUVCSVFFRGYwRUJJUU1nQVVFQmFpSUVJUUlEUUNBQ0lBUnNJUUlnQTBFQmFpSURJQVpIRFFBTElBSWdCVW9FZnlBQ0lRTWdBUVVnQkNFQkRBRUxDeUVDQlNBRlFRRWdCVUVCU2hzaUFrRUJhaUVEQ3lBQ1FRSkpCRUFnQUNnQ0FDSUJRVG8yQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQmtFQVNnUkFRUUVoQVVFQUlRTURRQ0FIUVNCcUlBTkJBblJxSUFJMkFnQWdBU0FDYkNFQklBTkJBV29pQXlBR1J3MEFDd0pBSUFBb0FpeEJBa1lFUUVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMFFkU0hBV29vQWdCQkFuUnFJZ2tvQWdBaUJFRUJhaUVJQWtBQ1FDQUJJQVFRT1NBSWJDSUVJQVZLRFFBZ0NTQUlOZ0lBSUFOQkFXb2lBeUFHU0FSL1FRRWhBaUFFQlVFQklRSWdCQ0VCREFFTElRRU1BUXNnQWtVTkEwRUFJUU5CQUNFQ0N3d0FBQXNBQlVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMGFpSUpLQUlBSWdSQkFXb2hDQUpBQWtBZ0FTQUVFRGtnQ0d3aUJDQUZTZzBBSUFrZ0NEWUNBQ0FEUVFGcUlnTWdCa2dFZjBFQklRSWdCQVZCQVNFQ0lBUWhBUXdCQ3lFQkRBRUxJQUpGRFFOQkFDRURRUUFoQWdzTUFBQUxBQXNBQ3lBQklRSUZRUUVoQWdzZ0FDZ0NBQ0VCSUFBb0FuaEJBMFlFUUNBQklBSTJBaGdnQVNBSEtBSWdOZ0ljSUFFZ0J5Z0NKRFlDSUNBQklBY29BaWcyQWlRZ0FVSGdBRFlDRkNBQktBSUVJUUVGSUFGQjRRQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBUXNnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUFvQWdRb0FnZ2hBU0FBUVFFZ0FpQUFLQUo0SUFGQkQzRkJpZ0pxRVFrQUlRb2dBQ2dDZUNJQlFRQktCRUJCQUNFRUlBSWhBd05BSUFNZ0IwRWdhaUFFUVFKMGFpZ0NBQ0lKRURraEJTQUpRUUJLQkVBZ0NVRi9haUlMUVFJUU9TRU1JQVJCQW5RZ0Ntb2hEU0FGUVFCS0JFQkJBQ0VHQTBBZ0JTQUdiQ0lCSUFKSUJFQWdEQ0FHUWY4QmJHb2dDeEE1UWY4QmNTRU9BMEJCQUNFSUEwQWdEU2dDQUNBQklBaHFhaUFPT2dBQUlBVWdDRUVCYWlJSVJ3MEFDeUFCSUFOcUlnRWdBa2dOQUFzTElBa2dCa0VCYWlJR1J3MEFDeUFBS0FKNElRRUxDeUFFUVFGcUlnUWdBVWdFUUNBRklRTU1BUXNMQ3lBSElBbzJBaEFnQnlBQ05nSVVJQUFRb1FNZ0FDZ0NXRUVDUndSQUR3c2dBQ2dDNUFNaEFpQUFLQUp3SVE4Z0FDZ0NlRUVBVEFSQUR3c2dEMEVCZEVFRWFpRURRUUFoQVFOQUlBQW9BZ1FvQWdRaEJDQUNRY1FBYWlBQlFRSjBhaUFBUVFFZ0F5QUVRVDl4UWNvQmFoRUVBRFlDQUNBQlFRRnFJZ0VnQUNnQ2VFZ05BQXNMMndVQkQzOGdBQ2dDRkNJQ1Fjb0JSd1JBSUFBb0FnQWlBVUVWTmdJVUlBRWdBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBUWtRWWdBQ2dDMkFFaEJDQUFLQUlrSWd4QkFFb2lEZ1IvSUFBb0FzZ0NJUUlnQUNnQ3hBSWlDRUVJUVFRZ0FDZ0NUQnNpQ1VvRVFDQUNJQWxLSVEwZ0NFRUJkQ0VESUFRaEFRTkFJQUVpQnlBSU5nSWtJQTBFUUNBQ0lRRUZBa0FnQUNnQ3dBSWhDaUFIS0FJTUlRdEJBU0VHSUFJaEFRTkFJQW9nQmtFQmRDSUdJQXRzRUU4TkFTQUNJQVpzSWdFZ0NVd05BQXNMQ3lBSElnWWdBVFlDS0NBSUlBRkJBWFFpQ2tvRVFDQUhJQW8yQWlRRklBRWdBMG9FUUNBR0lBTTJBaWdMQ3lBR1FkZ0FhaUVCSUFWQkFXb2lCU0FNU0EwQUN3VWdBQ2dDdkFJaERTQUNJQWxLSVFvZ0JDRUJBMEFnQVNnQ0NDRURRUUVoQlNBSUlRY0RRQ0FOSUFNZ0JVRUJkQ0lGYkJCUFJRUkFJQVVnQ0d3aUJ5QUpUQTBCQ3dzZ0FTSUZJQWMyQWlRZ0NnUkFJQUloQVFVQ1FDQUFLQUxBQWlFTElBVW9BZ3doRDBFQklRTWdBaUVCQTBBZ0N5QVBJQU5CQVhRaUEyd1FUdzBCSUFJZ0Eyd2lBU0FKVEEwQUN3c0xJQVVpQXlBQk5nSW9JQWNnQVVFQmRDSUxTZ1JBSUFVZ0N6WUNKQVVnQVNBSFFRRjBJZ0ZLQkVBZ0F5QUJOZ0lvQ3dzZ0EwSFlBR29oQVNBR1FRRnFJZ1lnREVnTkFBc0xJQTRFZjBFQUlRSURmeUFFSUFRb0FpUWdBQ2dDSENBRUtBSUliR3dnQUNnQ3ZBSWdBQ2dDckFOc0VHZzJBaXdnQkNBRUtBSW9JQUFvQWlBZ0JDZ0NER3hzSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0l3SUFSQjJBQnFJUVFnQWtFQmFpSUNJQUFvQWlRaUFVZ05BQ0FCQ3dVZ0RBc0ZJQXdMSVFJQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQVVFQmF3NEhBQUVDQXdNQkFnUUxJQUVoQWd3REMwRURJUUlNQWd0QkF5RUNEQUVMUVFRaEFnc2dBQ0FDTmdKNElBQkJBU0FDSUFBb0FsUWJOZ0o4SUFBUXBnTkZCRUFnQUVFQk5nS0FBUThMSUFBZ0FDZ0N3QUkyQW9BQkN6c0JBbjhnQUNnQ3ZBTWhBU0FBS0FKVUJFQWdBQ2dDNUFNb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBU0FCS0FJTVFRRnFOZ0lNQzVBRUFRTi9JQUFvQXJ3RElnSW9BZ2dFUUNBQ1FRQTJBZ2dnQUNnQzVBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3lBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FGSUFBb0FsUUVRQ0FBS0FLSUFVVUVRQUpBSUFBb0Fsd0VRQ0FBS0FKc0JFQWdBQ0FDS0FJWU5nTGtBeUFDUVFFMkFnZ01BZ3NMSUFBb0FtUUVRQ0FBSUFJb0FoUTJBdVFEQlNBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3dzTElBQW9BdGdES0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N4QU1vQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSkVSUVJBSUFJb0FoQkZCRUFnQUNnQzRBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzNBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKVUJFQWdBQ2dDNUFNb0FnQWhBU0FBSUFJb0FnZ2dBVUUvY1VHeUJXb1JBd0FMSUFBb0FzZ0RLQUlBSVFFZ0FFRURRUUFnQWlnQ0NCc2dBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FMQ3lBQUtBSUlJZ0ZGQkVBUEN5QUJJQUlvQWd3aUF6WUNEQ0FCSUFOQkFrRUJJQUlvQWdnYmFpSUNOZ0lRSUFCQlFHc29BZ0JGQkVBUEN5QUFLQUxNQXlnQ0ZBUkFEd3NnQVNBQ1FRSkJBU0FBS0FKc0cybzJBaEFMOHdZQkJIOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQWpZQ3ZBTWdBa0gvQURZQ0FDQUNRWUFCTmdJRUlBSkJBRFlDQ0NBQUtBTFVBU0lCUVFoSEJFQWdBQ2dDQUNJRFFSQTJBaFFnQXlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQkQzQlNBQUtBSUVLQUlBSVFFZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnTkJBRUdBQkJCRkdpQUFJQU5CZ0FScUlnUTJBdEFDUVFBaEFRTkFJQUVnQkdvZ0FUb0FBQ0FCUVFGcUlnRkJnQUpIRFFBTElBTkJnQVpxUVg5QmdBUVFSUm9DUUFKQUlBQW9BblJGRFFBZ0FDZ0NjRVVOQUNBQVFmZ0FhaUlES0FJQVFRRklEUUFNQVFzZ0FDZ0NBQ0lCUVNFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQitBQnFJUU1MSUFKQkFEWUNEQ0FDSUFBUXBnTTJBaEFnQWtFQU5nSVVJQUpCQURZQ0dDQUFLQUpVQkVBQ1FDQUFRVUJyS0FJQVJRUkFJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzQ3lBQVFjUUFhaUlCS0FJQUJFQWdBQ2dDQUNJRVFUQTJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURLQUlBUVFOR0JFQUNRQ0FBS0FLSUFRUkFJQUJCQVRZQ2FBd0JDeUFBS0FKY0JFQWdBRUVCTmdKc0JTQUFRUUUyQW1RTEN3VWdBRUVCTmdKa0lBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nS0lBUXNnQUNnQ1pBUkFJQUFROWdVZ0FpQUFLQUxrQXpZQ0ZBc2dBQ2dDYkVVRVFDQUFLQUpvUlEwQkN5QUFFUFVGSUFJZ0FDZ0M1QU0yQWhnTEJTQUFRUUEyQW1RZ0FFRUFOZ0pvSUFCQkFEWUNiQ0FBUWNRQWFpRUJDeUFCS0FJQVJRUkFJQUlvQWhBRVFDQUFFUFFGQlNBQUVQTUZJQUFROGdVTElBQWdBQ2dDYkJEeEJRc2dBQkRIQmlBQUtBTGtBUVJBSUFBUWl3WUZJQUFRbXdZTElBQWdBQ2dDekFNb0FoQUVmMEVCQlNBQVFVQnJLQUlBUVFCSEN4Q0tCaUFCS0FJQVJRUkFJQUFROEFVTElBQW9BZ1FvQWhnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTE1BeWdDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FnZ2lBVVVFUUE4TElBQkJRR3NvQWdBRVFBOExJQUFvQXN3REtBSVFSUVJBRHdzZ0FDZ0NKQ0lESUFOQkEyeEJBbW9nQUNnQzRBRkZHeUVESUFGQkFEWUNCQ0FCSUFNZ0FDZ0N6QUpzTmdJSUlBRkJBRFlDRENBQlFRTkJBaUFBS0FKc0d6WUNFQ0FDSUFJb0FneEJBV28yQWd3TC9nUUJCWDhDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NGQ0lCUWNvQmF3NERBQU1CQWdzZ0FCRDZCU0FBUVVCcktBSUFSUVJBSUFCQnl3RTJBaFFNQXdzZ0FFSFBBVFlDRkVFQkR3c2dBRUc4QTJvaEF3d0RDeUFBS0FJQUlnSkJGVFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUVMSUFBb0Fzd0RLQUlRQkVBQ1FDQUFLQUlJSVFFRFFBSkFJQUVFUUNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3REtBSUFJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0lPQXdFQUF3QUxJQUpCQW5KQkEwWWdBQ2dDQ0NJQlFRQkhjUVJBSUFFZ0FTZ0NCRUVCYWlJQ05nSUVJQUlnQVNnQ0NDSUNUZ1JBSUFFZ0FpQUFLQUxNQW1vMkFnZ0xDd3dCQ3dzZ0FnOExDeUFBSUFBb0FwQUJOZ0tZQVFzZ0FFRzhBMm9oQXlBQUtBSVVRY3dCUndSQUlBTW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQVFRQTJBb3dCSUFCQnpBRTJBaFFMQ3lBREtBSUFJZ0VvQWdnRVFBSkFJQUJCakFGcUlnVW9BZ0FoQWdOQUFrQWdBaUFBS0FKMElnUkpCRUFnQWlFQklBUWhBZ05BSUFBb0FnZ2lCQVIvSUFRZ0FUWUNCQ0FFSUFJMkFnZ2dCQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFVb0FnQUZJQUVMSVFJZ0FDZ0N3QU1vQWdRaEFTQUFRUUFnQlVFQUlBRkJIM0ZCK2dWcUVRY0FJQVVvQWdBaUFTQUNSZzBDSUFFZ0FDZ0NkQ0lDU1EwQUN5QURLQUlBSVFFTElBRW9BZ1FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FES0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCVUVBTmdJQUlBTW9BZ0FpQVNnQ0NFVU5Ba0VBSVFJTUFRc0xRUUFQQ3dzZ0FFSE9BVUhOQVNBQUtBSkVHellDRkVFQkMxQUJBMzlCZnlFQkEwQUNRQUpBQWtBZ0FDQUNhaXdBQUNJREJFQWdBMEV1UmdSQURBSUZEQU1MQUFzTUFnc2dBaUVCQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQUlBRnFRUUE2QUFBTEM4b0pBUTEvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVOSUFBb0F2QUNRUUJNQkVCQkFROExJQVZCdkFGcUlRNENRQUpBQTBBQ1FDQUlRUUowSUFGcUtBSUFJUXdnQUNBRlFUeHFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWd0QkFuUnFLQUlBSWdZb0FoUWlCMEVDZEdvaUF5Z0NBQ0FGUVNocUlBdEJBblJxSWdrb0FnQnFJZ0lRWFFSQUlBQWdBQ0FDUVFGcUVGMGlDaUFDUVFKcWFpSUVFRjBpQWdSQUlBQWdBeWdDQUVFVWFpSUVFRjBFUUFOQUlBSkJBWFFpQWtHQWdBSkdEUVFnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZRUUFoQWdzZ0NTQUNRUUVnQnlBQVFlZ0JhbW90QUFCMFFRRjFTQVIvUVFBRklBcEJBblFoQXlBQ1FRRWdCeUFBUWZnQmFtb3RBQUIwUVFGMVNnUi9JQU5CREdvRklBTkJCR29MQ3pZQ0FDQUVRUTVxSVFNZ0FrRUJkU0lFQkVBRFFDQUNJQVJCQUNBQUlBTVFYUnR5SVFJZ0JFRUJkU0lFRFFBTEN5QUZRUmhxSUF0QkFuUnFJZ1FvQWdBZ0FrRi9jeUFDUVFGcUlBb2JhaUVDSUFRZ0FqWUNBQVVnQ1VFQU5nSUFJQVZCR0dvZ0MwRUNkR29vQWdBaEFnc2dEQ0FDT3dFQUlBQW9BclFEQkVBQ1FDQUZRZndBYWlBR0tBSVlJZ0pCQW5ScUlRY2dBaUFBUVlnQ2Ftb2hDVUVBSVFRRFFDQUFJQWNvQWdBZ0JFRURiR29pQXhCZERRRWdCRUVCYWlFQ0lBQWdBMEVCYWhCZEJFQWdCQ0VHSUFJaEJBVWdBeUVHQTM4Z0FpQUFLQUswQTA0TkNDQUdRUU5xSVFNZ0FrRUJhaUVFSUFBZ0JrRUVhaEJkQkg4Z0FnVWdBeUVHSUFRaEFnd0JDd3NoQmdzZ0FDQU9FRjBoQ2lBQUlBTkJBbW9pQXhCZElnSUVRQ0FBSUFNUVhRUkFJQUpCQVhRaEFpQUFJQWNvQWdCQnZRRkIyUUVnQmlBSkxRQUFTQnRxSWdNUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkNpQUFJQU5CQVdvaUF4QmREUUFMQ3dzZ0EwRU9haUVHSUFKQkFYVWlBd1JBQTBBZ0FpQURRUUFnQUNBR0VGMGJjaUVDSUFOQkFYVWlBdzBBQ3dzRlFRQWhBZ3NnQkVFQ2RDQU5haWdDQUVFQmRDQU1haUFDUWYvL0EzTWdBa0VCYWlBS0d6c0JBQ0FFSUFBb0FyUURTQTBBQ3dzTElBaEJBV29pQWlBQUtBTHdBazROQWlBQ0lRZ01BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXU2QmdFTmZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDc0FNaEJpQUJLQUlBSVFjZ0FDZ0MyQUlvQWhnaEFrRUJJQUFvQXFnRElnRjBJUWhCZnlBQmRDRUpJQUFvQXFBRElRRURmd0ovSUFFZ0FVRUNkQ0FHYWlnQ0FFRUJkQ0FIYWk0QkFBMEFHaUFCUVg5cUlnRU5BVUVBQ3dzaEJTQURRZndBYWlBQ1FRSjBhaUVLSUFOQnZBRnFJUXNnQ0VILy93TnhJUXdnQ1VILy93TnhJUTBnQUNnQ25BTkJmMm9oQVFKQUEwQUNRQ0FLS0FJQUlBRkJBMnhxSVFJZ0FTQUZUZ1JBSUFBZ0FoQmREUU1MQWtBQ1FDQUJRUUZxSWdGQkFuUWdCbW9vQWdCQkFYUWdCMm9pQkM0QkFBMEFBMEFnQUNBQ1FRRnFFRjFGQkVBZ0FTQUFLQUtnQTA0TkJDQUNRUU5xSVFJZ0FVRUJhaUlCUVFKMElBWnFLQUlBUVFGMElBZHFJZ1F1QVFCRkRRRU1BZ3NMSUFBZ0N4QmRCRUFnQkNBTk93RUFCU0FFSUF3N0FRQUxEQUVMSUFBZ0FrRUNhaEJkQkVBZ0JDNEJBQ0lPSVFJZ0RrRUFTQVJBSUFRZ0FpQUphanNCQUFVZ0JDQUNJQWhxT3dFQUN3c0xJQUVnQUNnQ29BTklEUUVNQWdzTElBQW9BZ0FpQVVIMUFEWUNGQ0FCS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBTkJmellDRkVFQkR3dEJBUXZqQXdFRWZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFBb0FxZ0RJUUlnQUNnQzhBSkJBRXdFUUVFQkR3c2dBMEc4QVdvaEEwRUJJQUowSVFSQkFDRUNBMEFnQUNBREVGMEVRQ0FDUVFKMElBRnFLQUlBSWdVZ0JDQUZMd0VBY2pzQkFBc2dBa0VCYWlJQ0lBQW9BdkFDU0EwQUMwRUJDODBHQVFwL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFSElBRW9BZ0FoQ0NBRlFmd0FhaUFBS0FMWUFpZ0NHQ0lCUVFKMGFpRUdJQVZCdkFGcUlRa2dBU0FBUVlnQ2Ftb2hDaUFBS0FLY0EwRi9haUVDQWtBQ1FBTkFBa0FnQUNBR0tBSUFJQUpCQTJ4cUlnTVFYUTBDSUFKQkFXb2hBU0FBSUFOQkFXb1FYUVJBSUFJaEJDQUJJUUlGQTM4Z0FTQUFLQUtnQTA0TkFpQURRUU5xSVFRZ0FVRUJhaUVDSUFBZ0EwRUVhaEJkQkg4Z0JDRURJQUVGSUFRaEF5QUNJUUVNQVFzTElRUUxJQUFnQ1JCZElRc2dBQ0FEUVFKcUlnTVFYU0lCQkVBZ0FDQURFRjBFUUNBQlFRRjBJUUVnQUNBR0tBSUFRYjBCUWRrQklBUWdDaTBBQUVnYmFpSUVFRjBFUUFOQUlBRkJBWFFpQVVHQWdBSkdEUWNnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZJQU1oQkFzZ0JFRU9haUVESUFGQkFYVWlCQVJBQTBBZ0FTQUVRUUFnQUNBREVGMGJjaUVCSUFSQkFYVWlCQTBBQ3dzRlFRQWhBUXNnQWtFQ2RDQUhhaWdDQUVFQmRDQUlhaUFCUVg5eklBRkJBV29nQ3hzZ0FDZ0NxQU4wT3dFQUlBSWdBQ2dDb0FOSURRRU1BZ3NMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXZrQmdFTGZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCQ2dDRkVFQ2RHb29BZ0FpQlVJQU53QUFJQVZDQURjQUNDQUZRZ0EzQUJBZ0JVSUFOd0FZSUFWQ0FEY0FJQ0FGUWdBM0FDZ2dCVUlBTndBd0lBVkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCQ2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDOEFKQkFFd0VRRUVCRHd0QkFDRUZBa0FDUUFOQUFrQWdCVUVDZENBQmFpZ0NBQ0VNSUFBZ0EwRThhaUFBUWRnQ2FpQUFRZlFDYWlBRlFRSjBhaWdDQUNJSFFRSjBhaWdDQUNnQ0ZDSUlRUUowYWlJR0tBSUFJQU5CS0dvZ0IwRUNkR29pQ1NnQ0FHb2lBaEJkQkVBZ0FDQUFJQUpCQVdvUVhTSUtJQUpCQW1wcUlnUVFYU0lDQkVBZ0FDQUdLQUlBUVJScUlnUVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5CQ0FBSUFSQkFXb2lCQkJkRFFBTEN3VkJBQ0VDQ3lBSklBSkJBU0FJSUFCQjZBRnFhaTBBQUhSQkFYVklCSDlCQUFVZ0NrRUNkQ0VHSUFKQkFTQUlJQUJCK0FGcWFpMEFBSFJCQVhWS0JIOGdCa0VNYWdVZ0JrRUVhZ3NMTmdJQUlBUkJEbW9oQmlBQ1FRRjFJZ1FFUUFOQUlBSWdCRUVBSUFBZ0JoQmRHM0loQWlBRVFRRjFJZ1FOQUFzTElBTkJHR29nQjBFQ2RHb2lCQ2dDQUNBQ1FYOXpJQUpCQVdvZ0NodHFJUUlnQkNBQ05nSUFCU0FKUVFBMkFnQWdBMEVZYWlBSFFRSjBhaWdDQUNFQ0N5QU1JQUlnQUNnQ3FBTjBPd0VBSUFWQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFVTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQURRWDgyQWhSQkFRdktDUUVKZnlBQUtBTFVBeUVDSUFBb0Fwd0RJZ1pGSVFNZ0FDZ0M0QUVFUUNBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQVpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUdOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUhVQW1vaUJpZ0NBQ0lCUVFCS0JFQWdBRUdrQTJvaEJVRUFJUU1EUUNBQVFkZ0NhaUFEUVFKMGFpZ0NBQ2dDQkNFSUlBQW9BcUFCSVFrZ0FDZ0NuQU1pQVFSQUlBaEJDSFFnQ1dvb0FnQkJBRWdFUUNBQUtBSUFJZ0ZCOWdBMkFoUWdBU0FJTmdJWUlBQW9BZ0JCQURZQ0hDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BcHdESVFFTEJVRUFJUUVMSUFFZ0FDZ0NvQU5NQkVBRFFDQUZLQUlBSUFoQkNIUWdDV29nQVVFQ2RHb2lCQ2dDQUNJSFFRQWdCMEVBU2h0SEJFQWdBQ2dDQUNJSFFmWUFOZ0lVSUFjZ0NEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NCQ0VISUFCQmZ5QUhRVDl4UWJJRmFoRURBQXNnQkNBQUtBS29BellDQUNBQlFRRnFJUVFnQVNBQUtBS2dBMGdFUUNBRUlRRU1BUXNMQ3lBRFFRRnFJZ01nQmlnQ0FDSUJTQTBBQ3dVZ0FFR2tBMm9oQlFzZ0FDZ0NuQU5GSVFNZ0JTZ0NBQVJBSUFNRVFDQUNRUzAyQWdRRklBSkJMallDQkFzRklBTUVRQ0FDUVNzMkFnUUZJQUpCTERZQ0JBc0xCUUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDb0FNaUFVSEFBRWdFUUNBQUtBSzBBeUFCUncwQkN3d0JDeUFBS0FJQUlnRkIvUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQXNnQWtFdk5nSUVJQUJCMUFKcUlnRWhCaUFCS0FJQUlRRUxJQUZCQUV3RVFDQUNRUUEyQWd3Z0FrRUFOZ0lRSUFKQmNEWUNGQ0FDSUFBb0FwZ0NOZ0k0RHd0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQVFvQWhRaUFVRVBTd1JBSUFBb0FnQWlCVUV5TmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFKQlBHb2dBVUVDZEdvaUJTZ0NBQ0lCUlFSQUlBQW9BZ1FvQWdBaEFTQUZJQUJCQVVIQUFDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJQUN5QUJRZ0EzQUFBZ0FVSUFOd0FJSUFGQ0FEY0FFQ0FCUWdBM0FCZ2dBVUlBTndBZ0lBRkNBRGNBS0NBQlFnQTNBREFnQVVJQU53QTRJQUpCR0dvZ0EwRUNkR3BCQURZQ0FDQUNRU2hxSUFOQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUVLQUlZSWdGQkQwc0VRQ0FBS0FJQUlnUkJNallDRkNBRUlBRTJBaGdnQUNnQ0FDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFDUWZ3QWFpQUJRUUowYWlJRUtBSUFJZ0ZGQkVBZ0FDZ0NCQ2dDQUNFQklBUWdBRUVCUVlBQ0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWdBTElBRkJBRUdBQWhCRkdnc2dBMEVCYWlJRElBWW9BZ0JJRFFBTElBSkJBRFlDRENBQ1FRQTJBaEFnQWtGd05nSVVJQUlnQUNnQ21BSTJBamdMbWd3Qk1uOGpCaUVISXdaQmdBRnFKQVlnQUNnQ3hBTWhGeUFBS0FMTUFpRXhJQUFvQXBBQklnUWdBQ2dDbUFFaUJVd0VRQUpBQTBBQ1FDQUFLQUxNQXlJQ0tBSVVEUUlnQkNBRlJnUkFJQUFvQXBRQklBQW9BcHdCSUFBb0Fwd0RSV3BMRFFNTElBQWdBaWdDQUVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDa0FFaUJDQUFLQUtZQVNJRlRBMEJEQUlMQ3lBSEpBWkJBQThMQ3lBeFFYOXFJU29nQUNnQ0pFRUFTZ1IvSUFCQm5BRnFJUndnQUNnQzJBRWhDZ04vSUFvb0FqUUVRQ0FjS0FJQUlnZ2dLa2tFZnlBS0tBSU1JaEZCQVhRaEJTQVJJUVJCQUFVZ0NpZ0NJQ0FLS0FJTUlnUVFUaUlGSUFRZ0JSc2lFU0VGUVFFTElRa2dDQVIvSUFBZ0YwSElBR29nRFVFQ2RHb29BZ0FnQkNBSVFYOXFiQ0FFSUFWcVFRQWdBQ2dDQkNnQ0lFRWZjVUdpQW1vUkNBQWdDaWdDREVFQ2RHb2hGRUVBQlNBQUlCZEJ5QUJxSUExQkFuUnFLQUlBUVFBZ0JVRUFJQUFvQWdRb0FpQkJIM0ZCb2dKcUVRZ0FJUlJCQVFzaEVpQVhLQUp3SUExQkJteEJBblJxSVJNZ0NpZ0NVQ0lFTHdFQUlRZ2dCQzhCQWlFRklBUXZBUkFoQWlBRUx3RWdJUTRnQkM4QkVpRVBJQVF2QVFRaEJDQUFLQUxZQTBFRWFpQU5RUUowYWlnQ0FDRXJJQkZCQUVvRVFDQVNRUUJISVN3Z0NVRUFSeUV0SUJGQmYyb2hMaUFJUVNSc0lSMGdCVUVIZENFZUlBSkJCM1FoSHlBRlFRaDBJU0FnQ0VFSmJDRWhJQTVCQjNRaElpQUNRUWgwSVNNZ0NpRXZJQWhCQld3aE1DQVBRUWQwSVNRZ0RrRUlkQ0VsSUFSQkIzUWhKaUFQUVFoMElTY2dCRUVJZENFb1FRQWhEQ0FOUVFKMElBRnFLQUlBSVJnRFFDQU1RUUowSUJScUtBSUFJUUlnTENBTVJYRUVmeUFDQlNBTVFYOXFRUUowSUJScUtBSUFDeUVWSUFvb0FoeEJmMm9oS1NBdElBd2dMa1p4Qkg4Z0FnVWdERUVCYWtFQ2RDQVVhaWdDQUFzaUdTNEJBQ0lHSVFRZ0FpNEJBQ0lKSVFVZ0ZTNEJBQ0lRSVFoQkFDRWFJQUloRmtFQUlSc0RRQ0FISUJaQmdBRVFUQm9nR2lBcFNRUi9JQmt1QVlBQklRNGdGUzRCZ0FFaER5QVdMZ0dBQVFVZ0JDRU9JQWdoRHlBRkN5RVNJQWN1QVFKRklCTW9BZ1FpQWtFQVIzRUVRQ0FISUIwZ0NTQVNhMndpQTBGL1NnUi9JQU1nSG1vZ0lCQTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNoc0ZRUUFnSGlBRGF5QWdFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHMnNMT3dFQ0N5QUhMZ0VRUlNBVEtBSUlJZ0pCQUVkeEJFQWdCeUFkSUFnZ0JHdHNJZ05CZjBvRWZ5QURJQjlxSUNNUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYkJVRUFJQjhnQTJzZ0l4QTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNodHJDenNCRUFzZ0J5NEJJRVVnRXlnQ0RDSUNRUUJIY1FSQUlBY2dJU0FFSUFnZ0JVRUJkR3RxYkNJRFFYOUtCSDhnQXlBaWFpQWxFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHd1ZCQUNBaUlBTnJJQ1VRT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iYXdzN0FTQUxJQWN1QVJKRklCTW9BaEFpQWtFQVIzRUVRQ0FISURBZ0RpQVFJQVpySUE5cmFtd2lCa0YvU2dSL0lBWWdKR29nSnhBNUlnWkJBU0FDZENJUVFYOXFJQVlnRUVnYklBWWdBa0VBU2hzRlFRQWdKQ0FHYXlBbkVEa2lCa0VCSUFKMEloQkJmMm9nQmlBUVNCc2dCaUFDUVFCS0cyc0xPd0VTQ3lBSExnRUVSU0FUS0FJVUlnSkJBRWR4QkVBZ0J5QWhJQklnQ1NBRlFRRjBhMnBzSWdsQmYwb0VmeUFKSUNacUlDZ1FPU0lKUVFFZ0FuUWlCa0YvYWlBSklBWklHeUFKSUFKQkFFb2JCVUVBSUNZZ0NXc2dLQkE1SWdsQkFTQUNkQ0lHUVg5cUlBa2dCa2diSUFrZ0FrRUFTaHRyQ3pzQkJBc2dBQ0FLSUFjZ0dDQWJJQ3RCUDNGQm1nWnFFUVVBSUJaQmdBRnFJUllnRlVHQUFXb2hGU0FaUVlBQmFpRVpJQnNnTHlnQ0pHb2hHeUFhUVFGcUlob2dLVTBFUUNBSUlUSWdCU0VKSUFRaEJpQU9JUVFnRWlFRklBOGhDQ0F5SVJBTUFRc0xJQW9vQWloQkFuUWdHR29oR0NBTVFRRnFJZ3dnRVVjTkFBc0xDeUFLUWRnQWFpRUtJQTFCQVdvaURTQUFLQUlrU0EwQUlCd0xCU0FBUVp3QmFnc2lBU0FCS0FJQVFRRnFJZ0UyQWdCQkEwRUVJQUVnQUNnQ3pBSkpHeUV6SUFja0JpQXpDNVVHQVJWL0lBQW9BdWdDUVg5cUlRb2dBQ2dDekFJaUFrRi9haUVUSUFBb0FzUURJZ1lvQWhnaUNDQUdLQUljSWdOSUJFQUNRQ0FHUVNCcUlRMGdBRUdVQVdvaERpQURJUUlnQmlnQ0ZDRUhBa0FDUUFOQUFrQWdCeUFLVFFSQUEwQWdBQ2dDdEFNRVFDQU5LQUlBUVFBZ0FDZ0M4QUpCQjNRUVJSb0xJQUFvQXRRREtBSUVJUUlnQUNBTklBSkJQM0ZCaWdGcUVRSUFSUTBDSUFBb0F0UUNJZ0pCQUVvRVFDQUhJQXBKSVJSQkFDRURRUUFoQ3dOQUlBQkIyQUpxSUF0QkFuUnFLQUlBSWdRb0FqUUVRQUpBSUFBb0F0Z0RRUVJxSUFRb0FnUWlCVUVDZEdvb0FnQWhGU0FFUVRocUlnOGdCRUhJQUdvZ0ZCc29BZ0FoRUNBRUtBSW9JUkVnQnlBRUtBSkViQ0VXSUFRb0Fqd2lFa0VBU2dSQUlCQkJBRXdFUUNBUEtBSUFJUWxCQUNFRkEwQWdBeUFKYWlFRElBVkJBV29pQlNBU1NBMEFDd3dDQ3lBRlFRSjBJQUZxS0FJQUlBZ2dFV3hCQW5ScUlRbEJBQ0VNSUFNaEJTQVNJUUlnRVNFREEwQUNRQUpBSUE0b0FnQWdFMGtOQUNBSUlBeHFJQVFvQWt4SURRQU1BUXNnRmlFQ1FRQWhBd05BSUFBZ0JDQUdRU0JxSUFNZ0JXcEJBblJxS0FJQUlBa2dBaUFWUVQ5eFFab0dhaEVGQUNBQ0lBUW9BaVJxSVFJZ0EwRUJhaUlESUJCSERRQUxJQVFvQWlnaEF5QUVLQUk4SVFJTElBVWdEeWdDQUdvaEJTQURRUUowSUFscUlRa2dERUVCYWlJTUlBSklEUUFMSUFVaEF5QUFLQUxVQWlFQ0N3c0ZJQU1nQkVGQWF5Z0NBR29oQXdzZ0MwRUJhaUlMSUFKSURRQUxDeUFIUVFGcUlnY2dDazBOQUFzZ0JpZ0NIQ0VDQ3lBR1FRQTJBaFFnQ0VFQmFpSUlJQUpPRFFKQkFDRUhEQUVMQ3d3QkN5QU9JUUVnQUNnQ3pBSWhBZ3dCQ3lBR0lBZzJBaGdnQmlBSE5nSVVRUUFQQ3dVZ0FFR1VBV29oQVFzZ0FDQUFLQUtjQVVFQmFqWUNuQUVnQVNBQktBSUFRUUZxSWdNMkFnQWdBeUFDVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkJBOExJQUFvQXNRRElnRWdBQ2dDMUFKQkFVb0VmMEVCQlNBQUtBTFlBaUlBUVF4cUlBQkJ6QUJxSUFNZ0FrRi9ha2tiS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWVFRTUxvUUVCQkg4RFFBSkFBa0FDUUNBQUlBRnFMQUFBSWdNRVFDQURRUzVHQkVBTUFnVU1Bd3NBQ3d3Q0N5QUJJUUlMSUFGQkFXb2hBUXdCQ3dzZ0FDQUJhaUVEUVp5NEFSQmdRUUpxSVFRQ2Z3SkFJQUlFZnlBQ0lBUnFRWUFDU2dSL1FYOEZEQUlMQlNBQklBUnFRWUFDU2dSL1FYOEZJQU5CTGpvQUFDQUJJUUlNQWdzTERBRUxJQUFnQWtFQmFtcEJBRG9BQUNBQUVHQWdBR29RZ1FWQkFBc2FDOW9EQVE5L0lBQW9Bc1FESVFzZ0FDZ0N6QUpCZjJvaERBSkFBa0FEUUFKQUlBQW9BcEFCSWdJZ0FDZ0NtQUVpQTA0RVFDQUNJQU5IRFFFZ0FDZ0NsQUVnQUNnQ25BRkxEUUVMSUFBb0Fzd0RLQUlBSVFJZ0FDQUNRZjhBY1VFSWFoRUFBQTBCREFJTEN3d0JDMEVBRHdzZ0FDZ0NKRUVBU2dSQUlBQW9BdGdCSVFJRFFDQUNLQUkwQkVBZ0FDZ0NCQ2dDSUNFRElBQWdDMEhJQUdvZ0JFRUNkR29vQWdBZ0FpZ0NEQ0lGSUFBb0Fwd0JiQ0FGUVFBZ0EwRWZjVUdpQW1vUkNBQWhEU0FBS0FLY0FTQU1TUVIvSUFJb0Fnd0ZJQUlvQWlBZ0FpZ0NEQ0lGRUU0aEF5QURJQVVnQXhzTElRa2dBQ2dDMkFOQkJHb2dCRUVDZEdvb0FnQWhEaUFKUVFCS0JFQWdCRUVDZENBQmFpZ0NBQ0VHUVFBaEJ5QUNJZ1VpRHlnQ0hDRURBMEFnQXdSL1FRQWhBeUFIUVFKMElBMXFLQUlBSVFoQkFDRUtBMzhnQUNBQ0lBZ2dCaUFESUE1QlAzRkJtZ1pxRVFVQUlBaEJnQUZxSVFnZ0F5QVBLQUlrYWlFRElBcEJBV29pQ2lBQ0tBSWNJaEJKRFFBZ0VBc0ZRUUFMSVFNZ0JTZ0NLRUVDZENBR2FpRUdJQWRCQVdvaUJ5QUpSdzBBQ3dzTElBSkIyQUJxSVFJZ0JFRUJhaUlFSUFBb0FpUklEUUFMQ3lBQUlBQW9BcHdCUVFGcUlnRTJBcHdCUVFOQkJDQUJJQUFvQXN3Q1NSc0xuUVVCRTM4akJpRVRJd1pCRUdva0JpQVRJUVlnQUNnQ3hBTWhCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUFvQWdRb0FpQWhCU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSURLQUlNSVFJZ0FVRUNkQ0FHYWlBQUlBUkJ5QUJxSUFNb0FnUkJBblJxS0FJQUlBQW9BcFFCSUFKc0lBSkJBU0FGUVI5eFFhSUNhaEVJQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpJRFFBTEN5QUVLQUlZSWdVZ0JDZ0NIQ0lCU0FSQUFrQWdCRUVnYWlFTUlBUW9BaFFoQXlBQUtBTG9BaUVDQTBBQ1FDQURJQUpKQkVBZ0F5RUNBMEFnQUNnQzFBSWlEVUVBU2dSQVFRQWhBVUVBSVFjRFFDQUNJQUJCMkFKcUlBZEJBblJxS0FJQUlnTW9BamdpQ0d3aERpQURLQUk4SWc5QkFFb0VRQ0FIUVFKMElBWnFLQUlBSVJBZ0NFRUFTZ1JBUVFBaENRTkFRUUFoQ3lBRklBbHFRUUowSUJCcUtBSUFJQTVCQjNScUlRb2dBU0VEQTBBZ0NrR0FBV29oRVNBRFFRRnFJUklnQkVFZ2FpQURRUUowYWlBS05nSUFJQXRCQVdvaUN5QUlSd1JBSUJFaENpQVNJUU1NQVFzTElBRWdDR29oQVNBSlFRRnFJZ2tnRDBnTkFBc0xDeUFIUVFGcUlnY2dEVWdOQUFzTElBQW9BdFFES0FJRUlRRWdBQ0FNSUFGQlAzRkJpZ0ZxRVFJQVJRMENJQUpCQVdvaUFpQUFLQUxvQWlJQlNRMEFDeUFCSVFJZ0JDZ0NIQ0VCQ3lBRVFRQTJBaFFnQlVFQmFpSUZJQUZPRFFKQkFDRUREQUVMQ3lBRUlBVTJBaGdnQkNBQ05nSVVJQVlrQmtFQUR3c0xJQUFnQUNnQ2xBRkJBV29pQWpZQ2xBRWdBaUFBS0FMTUFpSUZUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQmlRR1FRUVBDeUFBS0FMRUF5SUJJQUFvQXRRQ1FRRktCSDlCQVFVZ0FDZ0MyQUlpQUVFTWFpQUFRY3dBYWlBQ0lBVkJmMnBKR3lnQ0FBczJBaHdnQVVFQU5nSVVJQUZCQURZQ0dDQUdKQVpCQXd1bEF3RUxmeUFBS0FMRUF5SUJLQUlRUlFSQUlBQkJBRFlDbkFFUEN5QUJBbjhDUUNBQUtBSlFSUTBBSUFBb0F1QUJSUTBBSUFBb0FxQUJSUTBBSUFFb0FuQWlBZ1JBSUFCQkpHb2hCZ1VnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJJQUJCSkdvaUJpZ0NBRUVZYkNBQ1FUOXhRY29CYWhFRUFDSUNOZ0p3Q3lBR0tBSUFRUUJNRFFBZ0FDZ0MyQUVoQ0FOQUlBZ29BbEFpQVVVTkFTQUJMZ0VBUlEwQklBRXVBUUpGRFFFZ0FTNEJFRVVOQVNBQkxnRWdSUTBCSUFFdUFSSkZEUUVnQVM0QkJFVU5BU0FBS0FLZ0FTSUJJQVJCQ0hScUtBSUFRUUJJRFFFZ0FpQUVRUWgwSUFGcUlnTW9BZ1EyQWdRZ0F5Z0NCQ0VKSUFJZ0JFRUlkQ0FCYWlJRktBSUlOZ0lJSUFrZ0JTZ0NDSEloQ2lBQ0lBUkJDSFFnQVdvaUJTZ0NERFlDRENBS0lBVW9BZ3h5SVFzZ0FpQUVRUWgwSUFGcUlnVW9BaEEyQWhBZ0N5QUZLQUlRY2lFRElBSWdCRUVJZENBQmFpSUJLQUlVTmdJVVFRRWdCeUFESUFFb0FoUnlHeUVISUFKQkdHb2hBaUFJUWRnQWFpRUlJQVJCQVdvaUJDQUdLQUlBU0EwQUN5QUhSUTBBUVNvTUFRdEJLQXMyQWd3Z0FFRUFOZ0tjQVF0U0FRSi9JQUJCQURZQ2xBRWdBQ2dDeEFNaUFTQUFLQUxVQWtFQlNnUi9RUUVGSUFBb0F0Z0NJZ0pCekFCcUlBSkJER29nQUNnQ3pBSkJBVVliS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWUM2d0RBUVYvSUFBb0FnUW9BZ0FoQXlBQUlBQkJBVUgwQUNBRFFUOXhRY29CYWhFRUFDSUNOZ0xFQXlBQ1FmMEFOZ0lBSUFKQi9nQTJBZ2dnQWtFQU5nSndJQUZGQkVBZ0FDZ0NCQ2dDQkNFQklBSWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWlBZ0FpQUJRWUFCYWpZQ0pDQUNJQUZCZ0FKcU5nSW9JQUlnQVVHQUEybzJBaXdnQWlBQlFZQUVhallDTUNBQ0lBRkJnQVZxTmdJMElBSWdBVUdBQm1vMkFqZ2dBaUFCUVlBSGFqWUNQQ0FDUVVCcklBRkJnQWhxTmdJQUlBSWdBVUdBQ1dvMkFrUWdBQ2dDdEFORkJFQWdBVUVBUVlBS0VFVWFDeUFDUWRZQU5nSUVJQUpCS1RZQ0RDQUNRUUEyQWhBUEN5QUFLQUlrUVFCS0JFQWdBa0hJQUdvaEJFRUFJUU1nQUNnQzJBRWhBUU5BSUFFb0Fnd2lCU0FGUVFOc0lBQW9BdUFCUlJzaEJTQUFLQUlFS0FJVUlRWWdBMEVDZENBRWFpQUFRUUZCQVNBQktBSWNJQUVvQWdnUStBRWdBU2dDSUNBQktBSU1FUGdCSUFVZ0JrRS9jVUhHQW1vUkNnQTJBZ0FnQVVIWUFHb2hBU0FEUVFGcUlnTWdBQ2dDSkVnTkFBc0ZJQUpCeUFCcUlRUUxJQUpCMVFBMkFnUWdBa0VvTmdJTUlBSWdCRFlDRUF1aEFnRUNmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJ3QUVnQVVFL2NVSEtBV29SQkFBaUFqWUMxQU1nQWtIN0FEWUNBQ0FDUWZ3QU5nSUlJQUpCUEdvaUFVSUFOd0lBSUFGQ0FEY0NDQ0FCUWdBM0FoQWdBVUlBTndJWUlBRkNBRGNDSUNBQlFnQTNBaWdnQVVJQU53SXdJQUZDQURjQ09DQUJRVUJyUWdBM0FnQWdBVUlBTndKSUlBRkNBRGNDVUNBQlFnQTNBbGdnQVVJQU53SmdJQUZDQURjQ2FDQUJRZ0EzQW5BZ0FVSUFOd0o0SUFKQjhRQTZBTHdCSUFBb0F1QUJSUVJBRHdzZ0FDZ0NCQ2dDQUNFQklBQWdBRUVCSUFBb0FpUkJDSFFnQVVFL2NVSEtBV29SQkFBaUFqWUNvQUVnQUNnQ0pFRUFUQVJBRHd0QkFDRUJBMEFnQWlBQlFRaDBha0YvUVlBQ0VFVWFJQUZCQVdvaUFTQUFLQUlrU0EwQUN3c3FBUUYvSUFBb0F0UURLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3pBTkIxQUEyQWdBTFlnRUJmeUFBS0FMTUF5SUJRZFFBTmdJQUlBRkJBRFlDRUNBQlFRQTJBaFFnQVVFQk5nSVlJQUFvQWdBb0FoQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkJBRFlDb0FFTFl3RUJmeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUJJQUVRWUVFQmFoQ0FCU0lDUlFSQUlBQkJBRG9BQUF3QkN5QUNRUUZxSUFGcklnSkJBV3BCZ0JCTEJFQkJBQ0VBQlNBQUlBRWdBaERWQVNBQUlBSnFRUUE2QUFBTEN3VkJBQ0VBQ3lBQUM2VVBBUWwvSUFBb0Fzd0RJZ1FvQWhRRVFFRUNEd3NDUUFKQUFrQURRQUpBSUFBb0F0QURLQUlFSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFXc09BZ0FFQlFzQ1FBSkFBa0FDUUFKQUlBUW9BaGdPQWdBQkFnc2dCQ2dDRUVVRVFDQUFLQUlBSWdGQkpEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDRFFZTUF3c0NRQUpBSUFBb0FpQkIzUDhEU2cwQUlBQW9BaHhCM1A4RFNnMEFEQUVMSUFBb0FnQWlBVUVxTmdJVUlBRkIzUDhETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUVpQVVGNGFrRUVTd1JBSUFBb0FnQWlBa0VRTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FpUWlBVUVLU2dSQUlBQW9BZ0FpQWtFYk5nSVVJQUlnQVRZQ0dDQUFLQUlBUVFvMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVFzZ0FFRUJOZ0s4QWlBQVFRRTJBc0FDSUFGQkFFb0VRRUVBSVFjZ0FDZ0MyQUVoQWtFQklRTkJBU0VGQTBBQ2Z3SkFJQUlpQ0NnQ0NDSUdRWDlxUVFOTERRQWdBaWdDRENJSlFYOXFRUU5MRFFBZ0NRd0JDeUFBS0FJQUlnRkJFellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDdkFJaEJTQUlLQUlJSVFZZ0FDZ0N3QUloQXlBQUtBSWtJUUVnQWlnQ0RBc2hBaUFBSUFVZ0JpQUZJQVpLR3lJRk5nSzhBaUFBSUFNZ0FpQURJQUpLR3lJRE5nTEFBaUFJUWRnQWFpRUNJQWRCQVdvaUJ5QUJTQTBBQ3dzZ0FBSi9Ba0FnQUNnQzNBRU5BQUovSUFBb0F1QUJCRUFnQUNnQzFBSU5BZ3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXFBRERvQUNBQkFRQVJBUUVCQUNFQkFRRUJBUUF4QVFFQkFRRUJBUUJCQVFFQkFRRUJBUUVCQUZFQkFRRUJBUUVCQVFFQkFRQmhBUUVCQVFFQkFRRUJBUUVCQVFCeEFRRUJBUUVCQVFFQkFRRUJBUUVCQUlFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ2hBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQUxFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQU9FQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRHhBTElBQkJBVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRUFOZ0swQTBFQkRCQUxJQUJCQWpZQ3JBTWdBRUhBSlRZQ3NBTWdBRUVETmdLMEEwRUNEQThMSUFCQkF6WUNyQU1nQUVIUUpEWUNzQU1nQUVFSU5nSzBBMEVEREE0TElBQkJCRFlDckFNZ0FFSFFJellDc0FNZ0FFRVBOZ0swQTBFRURBMExJQUJCQlRZQ3JBTWdBRUdnSWpZQ3NBTWdBRUVZTmdLMEEwRUZEQXdMSUFCQkJqWUNyQU1nQUVIUUlEWUNzQU1nQUVFak5nSzBBMEVHREFzTElBQkJCellDckFNZ0FFSEFIallDc0FNZ0FFRXdOZ0swQTBFSERBb0xJQUJCQ0RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUlEQWtMSUFCQkNUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVKREFnTElBQkJDallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFS0RBY0xJQUJCQ3pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUxEQVlMSUFCQkREWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVNREFVTElBQkJEVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTkRBUUxJQUJCRGpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU9EQU1MSUFCQkR6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVQREFJTElBQkJFRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUURBRUxJQUFvQWdBaUFVRVJOZ0lVSUFFZ0FDZ0NuQU0yQWhnZ0FDZ0NBQ0FBS0FLZ0F6WUNIQ0FBS0FJQUlBQW9BcVFETmdJZ0lBQW9BZ0FnQUNnQ3FBTTJBaVFnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFTQUFLQUtzQXdzTUFRc2dBRUVJTmdLc0F5QUFRWUFjTmdLd0F5QUFRVDgyQXJRRFFRZ0xJZ0kyQXNRQ0lBQWdBallDeUFJZ0FVRUFTZ1JBUVFBaEFTQUFLQUxZQVNFREEwQWdBeUFDTmdJa0lBTWdBallDS0NBRElBQW9BaHdnQXlnQ0NHd2dBaUFBS0FLOEFtd1FhRFlDSENBRElBQW9BaUFnQXlnQ0RHd2dBQ2dDd0FJZ0FDZ0NyQU5zRUdnMkFpQWdBeUFBS0FJY0lBTW9BZ2hzSUFBb0Fyd0NFR2cyQWl3Z0F5QUFLQUlnSUFNb0FneHNJQUFvQXNBQ0VHZzJBakFnQTBFQk5nSTBJQU5CQURZQ1VDQUJRUUZxSWdFZ0FDZ0NKRWdFUUNBRFFkZ0FhaUVESUFBb0Fxd0RJUUlNQVFzTElBQW9BcXdESVFJTElBQWdBQ2dDSUNBQUtBTEFBaUFDYkJCb05nTE1BaUFBS0FMVUFpSUJJQUFvQWlST0JFQWdBQ2dDNEFGRkJFQWdBQ2dDekFOQkFEWUNFQXdEQ3dzZ0FDZ0N6QU5CQVRZQ0VBd0JDeUFBS0FMVUFpRUJDeUFCRFFFZ0JFRUNOZ0lZQ3d3QkN3c2dCRUVBTmdJWVFRRVBDeUFBRUtjRFFRRVBDeUFFUVFFMkFoUWdCQ2dDR0FSQUlBQW9BdEFES0FJUVJRUkFRUUlQQ3lBQUtBSUFJZ0ZCUGpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFBb0FwZ0JJQUFvQXBBQklnRk1CRUJCQWc4TElBQWdBVFlDbUFFTFFRSVBDeUFCQzEwQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFSd2dBVUUvY1VIS0FXb1JCQUFpQURZQ3pBTWdBRUhVQURZQ0FDQUFRZmdBTmdJRUlBQkIrUUEyQWdnZ0FFSDZBRFlDRENBQVFRQTJBaEFnQUVFQU5nSVVJQUJCQVRZQ0dBdi9CUUVFZnlBQUlBQW9BcXdESWdJZ0FDZ0NNR3dpQVNBQUtBSTBJZ05MQkg4Q2Z5QUJJQU5CQVhSTkJFQWdBQ0FBS0FJY1FRRjBJQUlRYURZQ2NFRUNJUUVnQUNnQ0lFRUJkQXdCQ3lBQklBTkJBMnhOQkVBZ0FDQUFLQUljUVFOc0lBSVFhRFlDY0VFRElRRWdBQ2dDSUVFRGJBd0JDeUFCSUFOQkFuUk5CRUFnQUNBQUtBSWNRUUowSUFJUWFEWUNjRUVFSVFFZ0FDZ0NJRUVDZEF3QkN5QUJJQU5CQld4TkJFQWdBQ0FBS0FJY1FRVnNJQUlRYURZQ2NFRUZJUUVnQUNnQ0lFRUZiQXdCQ3lBQklBTkJCbXhOQkVBZ0FDQUFLQUljUVFac0lBSVFhRFlDY0VFR0lRRWdBQ2dDSUVFR2JBd0JDeUFCSUFOQkIyeE5CRUFnQUNBQUtBSWNRUWRzSUFJUWFEWUNjRUVISVFFZ0FDZ0NJRUVIYkF3QkN5QUJJQU5CQTNSTkJFQWdBQ0FBS0FJY1FRTjBJQUlRYURZQ2NFRUlJUUVnQUNnQ0lFRURkQXdCQ3lBQklBTkJDV3hOQkVBZ0FDQUFLQUljUVFsc0lBSVFhRFlDY0VFSklRRWdBQ2dDSUVFSmJBd0JDeUFCSUFOQkNteE5CRUFnQUNBQUtBSWNRUXBzSUFJUWFEWUNjRUVLSVFFZ0FDZ0NJRUVLYkF3QkN5QUJJQU5CQzJ4TkJFQWdBQ0FBS0FJY1FRdHNJQUlRYURZQ2NFRUxJUUVnQUNnQ0lFRUxiQXdCQ3lBQklBTkJER3hOQkVBZ0FDQUFLQUljUVF4c0lBSVFhRFlDY0VFTUlRRWdBQ2dDSUVFTWJBd0JDeUFCSUFOQkRXeE5CRUFnQUNBQUtBSWNRUTFzSUFJUWFEWUNjRUVOSVFFZ0FDZ0NJRUVOYkF3QkN5QUJJQU5CRG14TkJFQWdBQ0FBS0FJY1FRNXNJQUlRYURZQ2NFRU9JUUVnQUNnQ0lFRU9iQXdCQ3lBQUtBSWNJUVFnQVNBRFFROXNTd1IvSUFBZ0JFRUVkQ0FDRUdnMkFuQkJFQ0VCSUFBb0FpQkJCSFFGSUFBZ0JFRVBiQ0FDRUdnMkFuQkJEeUVCSUFBb0FpQkJEMndMQ3dVZ0FDQUFLQUljSUFJUWFEWUNjRUVCSVFFZ0FDZ0NJQXNnQUNnQ3JBTVFhRFlDZENBQUlBRTJBc1FDSUFBZ0FUWUN5QUlnQUNnQ0pDSURRUUJNQkVBUEMwRUFJUUlnQUNnQzJBRWhBQU5BSUFBZ0FUWUNKQ0FBSUFFMkFpZ2dBRUhZQUdvaEFDQUNRUUZxSWdJZ0EwZ05BQXNMdEFzQkQzOGpCaUVJSXdaQk1Hb2tCaUFBS0FMVUF5RUhJQUFvQXBnQ0JFQWdCeWdDTEVVRVFDQUhLQUlRUVFnUU9TRUNJQUFvQXRBRElnVWdBaUFGS0FJWWFqWUNHQ0FIUVFBMkFoQWdCU2dDQ0NFRklBQWdCVUgvQUhGQkNHb1JBQUJGQkVBZ0NDUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhCUU5BSUFkQkdHb2dCVUVDZEdwQkFEWUNBQ0FGUVFGcUlnVWdBQ2dDMUFKSURRQUxDeUFIUVFBMkFoUWdCeUFBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FIUVFBMkFpZ0xDd3NnQ0VFVWFpRUdJQWNvQWloRkJFQWdBQ2dDc0FNaER5QUFLQUswQXlFTklBWWdBRFlDRUNBR0lBQW9BaGdpQkNnQ0FDSUpOZ0lBSUFZZ0JDZ0NCQ0lETmdJRUlBY29BZ3doQlNBSEtBSVFJUUlnQ0NBSEtRSVVOd0lBSUFnZ0J5a0NIRGNDQ0NBSUlBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ1FKQUEwQWdDVUVDZENBQmFpZ0NBQ0VLSUFkQjVBQnFJQWxCQW5ScUtBSUFJUVFDZndKQUlBSkJDRWdFUUNBR0lBVWdBa0VBRUdkRkRRUWdCaWdDQ0NFRklBWW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCRUdRQVdvZ0JTQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDd1IvSUFNZ0JFR1FDV3BxTFFBQUlRUWdBaUFMYXdWQkNTRUREQUVMREFFTElBWWdCU0FDSUFRZ0F4Q2dBU0lFUVFCSURRSWdCaWdDQ0NFRklBWW9BZ3dMSVFJZ0IwR01BV29nQ1VFQ2RHb29BZ0FoQ3lBRVFRQkhJUU1DUUFKQUlBZEJ0QUZxSUFsQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBUklCRUFnQmlBRklBSWdCQkJuUlEwSElBWW9BZ2doQlNBR0tBSU1JUUlMSUFSQkFuUkI4REZxS0FJQUlnTWdCU0FDSUFScklnSjFjU0lNUVFBZ0F5QU1JQVJCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFJUVFScUlBQkI5QUpxSUFsQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFRUlBTWdCRFlDQUNBS0lBUTdBUUFnRGtFQlNnUkFRUUVoQkFOQUFuOENRQ0FDUVFoSUJFQWdCaUFGSUFKQkFCQm5SUTBLSUFZb0FnZ2hCU0FHS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWd3RWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0RHc0ZRUWtoQXd3QkN3d0JDeUFHSUFVZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFZb0FnZ2hCU0FHS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdNRVFDQUNJQU5JQkVBZ0JpQUZJQUlnQXhCblJRMEpJQVlvQWdnaEJTQUdLQUlNSVFJTElBUWdER29pQkVFQ2RDQVBhaWdDQUVFQmRDQUthaUFEUVFKMFFmQXhhaWdDQUNJTUlBVWdBaUFEYXlJQ2RYRWlFRUVBSUF3Z0VDQURRUUowUWV3eGFpZ0NBRW9iYXpzQkFBVWdERUVQUncwRElBUkJEMm9oQkFzZ0JFRUJhaUlFSUE1SURRQUxEQU1GUVFFaEJBd0RDd0FMQlNBREJFQWdBaUFFU0FSQUlBWWdCU0FDSUFRUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQVJySVFJTFFRRWhCQXdCQ3d3QkN5QUVJQTFNQkVBRFFBSi9Ba0FnQWtFSVNBUkFJQVlnQlNBQ1FRQVFaMFVOQnlBR0tBSUlJUVVnQmlnQ0RDSUNRUWhJQkVCQkFTRUREQUlMQ3lBTFFaQUJhaUFGSUFKQmVHcDFRZjhCY1NJRFFRSjBhaWdDQUNJS0JIOGdBeUFMUVpBSmFtb3RBQUFoQXlBQ0lBcHJCVUVKSVFNTUFRc01BUXNnQmlBRklBSWdDeUFERUtBQklnTkJBRWdOQlNBR0tBSUlJUVVnQmlnQ0RBc2hBaUFEUVFSMklRb2dBMEVQY1NJREJFQWdBaUFEU0FSQUlBWWdCU0FDSUFNUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQU5ySVFJRklBcEJEMGNOQTBFUElRb0xJQVJCQVdvZ0Ntb2lCQ0FOVEEwQUN3c0xJQWxCQVdvaUNTQUFLQUx3QWtnTkFBc2dBQ2dDR0NFQUlBWW9BZ0FoQVNBR0tBSUVJUVFNQVFzZ0NDUUdRUUFQQ3dVZ0JDRUFJQWtoQVNBRElRUUxJQUFnQVRZQ0FDQUFJQVEyQWdRZ0J5QUZOZ0lNSUFjZ0FqWUNFQ0FISUFncEFnQTNBaFFnQnlBSUtRSUlOd0ljSUFjZ0NDZ0NFRFlDSkFzZ0J5QUhLQUlzUVg5cU5nSXNJQWdrQmtFQkM2SUxBUTEvSXdZaENTTUdRVEJxSkFZZ0FDZ0MxQU1oQnlBQUtBS1lBZ1JBSUFjb0FpeEZCRUFnQnlnQ0VFRUlFRGtoQWlBQUtBTFFBeUlFSUFJZ0JDZ0NHR28yQWhnZ0IwRUFOZ0lRSUFRb0FnZ2hCQ0FBSUFSQi93QnhRUWhxRVFBQVJRUkFJQWtrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFRRFFDQUhRUmhxSUFSQkFuUnFRUUEyQWdBZ0JFRUJhaUlFSUFBb0F0UUNTQTBBQ3dzZ0IwRUFOZ0lVSUFjZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0IwRUFOZ0lvQ3dzTElBbEJGR29oQlNBSEtBSW9SUVJBSUFVZ0FEWUNFQ0FGSUFBb0FoZ2lCaWdDQUNJS05nSUFJQVVnQmlnQ0JDSUROZ0lFSUFjb0Fnd2hCQ0FIS0FJUUlRSWdDU0FIS1FJVU53SUFJQWtnQnlrQ0hEY0NDQ0FKSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDZ0pBQTBBZ0NrRUNkQ0FCYWlnQ0FDRU5JQWRCNUFCcUlBcEJBblJxS0FJQUlRWUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFRZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JrR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQmtHUUNXcHFMUUFBSVFZZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQVlnQXhDZ0FTSUdRUUJJRFFJZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQjBHTUFXb2dDa0VDZEdvb0FnQWhDeUFHUVFCSElRTUNRQUpBSUFkQnRBRnFJQXBCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBISUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVpCQW5SQjhERnFLQUlBSWdNZ0JDQUNJQVpySWdKMWNTSUlRUUFnQXlBSUlBWkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUpRUVJxSUFCQjlBSnFJQXBCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVHSUFNZ0JqWUNBQ0FOSUFZN0FRQWdEa0VCU2dSQVFRRWhCZ05BQW44Q1FDQUNRUWhJQkVBZ0JTQUVJQUpCQUJCblJRMEtJQVVvQWdnaEJDQUZLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBUWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnQ0dzRlFRa2hBd3dCQ3d3QkN5QUZJQVFnQWlBTElBTVFvQUVpQTBFQVNBMElJQVVvQWdnaEJDQUZLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ2dFUUNBQ0lBaElCRUFnQlNBRUlBSWdDQkJuUlEwSklBVW9BZ2doQkNBRktBSU1JUUlMSUFZZ0RHb2lBMEVDZEVHQUhHb29BZ0JCQVhRZ0RXb2dDRUVDZEVId01Xb29BZ0FpQmlBRUlBSWdDR3NpQW5WeElneEJBQ0FHSUF3Z0NFRUNkRUhzTVdvb0FnQktHMnM3QVFBRklBeEJEMGNOQXlBR1FROXFJUU1MSUFOQkFXb2lCaUFPU0EwQUN5QURRVDlJRFFNRlFRRWhCZ3dEQ3dzRklBTUVRQ0FDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBHSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQUlnQm1zaEFndEJBU0VHREFFTERBRUxBMEFDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRWWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dDMEdRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0MwR1FDV3BxTFFBQUlRTWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFzZ0F4Q2dBU0lEUVFCSURRUWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0EwRUVkaUVJSUFOQkQzRWlBd1JBSUFJZ0EwZ0VRQ0FGSUFRZ0FpQURFR2RGRFFVZ0JTZ0NDQ0VFSUFVb0Fnd2hBZ3NnQWlBRGF5RUNCU0FJUVE5SERRSkJEeUVJQ3lBR1FRRnFJQWhxSWdaQndBQklEUUFMQ3lBS1FRRnFJZ29nQUNnQzhBSklEUUFMSUFBb0FoZ2hBQ0FGS0FJQUlRRWdCU2dDQkNFR0RBRUxJQWtrQmtFQUR3c0ZJQVloQUNBS0lRRWdBeUVHQ3lBQUlBRTJBZ0FnQUNBR05nSUVJQWNnQkRZQ0RDQUhJQUkyQWhBZ0J5QUpLUUlBTndJVUlBY2dDU2tDQ0RjQ0hDQUhJQWtvQWhBMkFpUUxJQWNnQnlnQ0xFRi9hallDTENBSkpBWkJBUXVlQ2dFUmZ5TUdJUVVqQmtHZ0Ftb2tCaUFBS0FMVUF5RUlJQUFvQXBnQ0JFQWdDQ2dDTEVVRVFDQUlLQUlRUVFnUU9TRUVJQUFvQXRBRElnSWdCQ0FDS0FJWWFqWUNHQ0FJUVFBMkFoQWdBaWdDQ0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVBZ0JTUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFoQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFJUVFBMkFoUWdDQ0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FJUVFBMkFpZ0xDd3NnQlVHQUFtb2hCeUFGSVFvZ0NDZ0NLRVVFUUFKQUlBQW9BcUFESVE1QkFTQUFLQUtvQXlJQ2RDRUxRWDhnQW5RaER5QUFLQUt3QXlFUUlBY2dBRFlDRUNBSElBQW9BaGdpQWlnQ0FEWUNBQ0FISUFJb0FnUTJBZ1FnQ0NnQ0RDRUZJQWdvQWhBaEJDQUJLQUlBSVEwZ0NFRkFheWdDQUNFTUlBQW9BcHdESVFJQ1FBSi9Ba0FnQ0NnQ0ZDSUpEUUJCQUNFQkFrQURRQUpBQW44Q1FDQUVRUWhJQkVBZ0J5QUZJQVJCQUJCblJRMEZJQWNvQWdnaEJTQUhLQUlNSWdSQkNFZ0VRRUVCSVFNTUFnc0xJQXhCa0FGcUlBVWdCRUY0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBeEJrQWxxYWkwQUFDRUdJQVFnQ1dzRlFRa2hBd3dCQ3d3QkN5QUhJQVVnQkNBTUlBTVFvQUVpQmtFQVNBMERJQWNvQWdnaEJTQUhLQUlNQ3lFRUlBWkJCSFloQXdKL0FrQUNRQUpBSUFaQkQzRU9BZ0FDQVFzZ0EwRVBSdzBESUFRaEJrRUFEQUlMSUFBb0FnQWlCa0g1QURZQ0ZDQUdLQUlFSVFZZ0FFRi9JQVpCUDNGQnNnVnFFUU1BQ3lBRVFRRklCRUFnQnlBRklBUkJBUkJuUlEwRUlBY29BZ3doQkNBSEtBSUlJUVVMSUFzZ0R5QUZRUUVnQkVGL2FpSUdkSEViQ3lFSklBTWhCQ0FDSVFNZ0JpRUNBMzhDZnlBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdZdUFRQUVRQ0FDUVFGSUJFQWdCeUFGSUFKQkFSQm5SUTBHSUFjb0Fnd2hBaUFIS0FJSUlRVUxJQVZCQVNBQ1FYOXFJZ0owY1FSQUlBWXVBUUFpRWlJUklBdHhSUVJBSUJKQmYwb0VRQ0FHSUFzZ0VXbzdBUUFGSUFZZ0R5QVJhanNCQUFzTEN3VWdCRUYvYWlFR0lBUkJBVWdFZnlBQ0RBSUZJQVlMSVFRTElBTkJBV29oQmlBRElBNUlCSDhnQmlFRERBSUZJQVloQXlBQ0N3c0xJUVFnQ1FSQUlBTkJBblFnRUdvb0FnQWlBa0VCZENBTmFpQUpPd0VBSUFGQkFuUWdDbW9nQWpZQ0FDQUJRUUZxSVFFTElBTkJBV29oQWlBRElBNUlEUUVnQkNFQlFRQU1CQXNMUVFFZ0EzUWhCaUFEQkVBZ0JDQURTQVJBSUFjZ0JTQUVJQU1RWjBVTkFpQUhLQUlNSVFRZ0J5Z0NDQ0VGQ3lBR0lBTkJBblJCOERGcUtBSUFJQVVnQkNBRGF5SUVkWEZxSWdrRVFDQUJJUVlNQXdVZ0JDRUJRUUFNQkFzQUJVRUJJUWtnQVNFR0RBSUxBQXNNQWdzZ0FpRURJQVFoQVNBRklRSURRQ0FEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1V1QVFBRVFDQUJRUUZJQkVBZ0J5QUNJQUZCQVJCblJRUkFJQVloQVF3RkN5QUhLQUlNSVFFZ0J5Z0NDQ0VDQ3lBQ1FRRWdBVUYvYWlJQmRIRUVRQ0FGTGdFQUlnd2lCQ0FMY1VVRVFDQU1RWDlLQkVBZ0JTQUVJQXRxT3dFQUJTQUZJQVFnRDJvN0FRQUxDd3NMSUFOQkFXb2hCU0FESUE1SUJFQWdCU0VEREFFTEN5QUNJUVVnQ1VGL2Fnc2hBeUFBS0FJWUlnQWdCeWdDQURZQ0FDQUFJQWNvQWdRMkFnUWdDQ0FGTmdJTUlBZ2dBVFlDRUNBSUlBTTJBaFFNQVFzZ0FVVUVRQ0FLSkFaQkFBOExBMEFnQVVGL2FpSUJRUUowSUFwcUtBSUFRUUYwSUExcVFRQTdBUUFnQVEwQUN5QUtKQVpCQUE4TEN5QUlJQWdvQWl4QmYybzJBaXdnQ2lRR1FRRUxPZ0FDZndKQUFrQUNRQUpBQWtBZ0FBNFBBQUFCQVFFQ0FRTURBd01EQWdJQ0JBdEJBd3dFQzBFRURBTUxRUUVNQWd0QkFnd0JDMEVBQ3d2RUF3RUlmeU1HSVFRakJrRWdhaVFHSUFBb0F0UURJUUlnQUNnQ21BSUVRQ0FDS0FJc1JRUkFJQUlvQWhCQkNCQTVJUU1nQUNnQzBBTWlCU0FESUFVb0FoaHFOZ0lZSUFKQkFEWUNFQ0FGS0FJSUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUVKQVpCQUE4TElBQW9BdFFDUVFCS0JFQkJBQ0VEQTBBZ0FrRVlhaUFEUVFKMGFrRUFOZ0lBSUFOQkFXb2lBeUFBS0FMVUFrZ05BQXNMSUFKQkFEWUNGQ0FDSUFBb0FwZ0NOZ0lzSUFBb0FyZ0RSUVJBSUFKQkFEWUNLQXNMQ3lBRUlnWWdBRFlDRUNBR0lBQW9BaGdpQnlnQ0FDSUlOZ0lBSUFZZ0J5Z0NCQ0lGTmdJRUlBSW9BZ3doQXlBQ0tBSVFJUVJCQVNBQUtBS29BM1FoQ1NBQUtBTHdBa0VBU2dSQUFrQkJBQ0VGQWtBRFFDQUVRUUZJQkVBZ0JpQURJQVJCQVJCblJRMENJQVlvQWd3aEJDQUdLQUlJSVFNTElBTkJBU0FFUVg5cUlnUjBjUVJBSUFWQkFuUWdBV29vQWdBaUNDQUpJQWd2QVFCeU93RUFDeUFGUVFGcUlnVWdBQ2dDOEFKSURRQUxJQUFvQWhnaEJ5QUdLQUlBSVFnZ0JpZ0NCQ0VGREFFTElBWWtCa0VBRHdzTElBY2dDRFlDQUNBSElBVTJBZ1FnQWlBRE5nSU1JQUlnQkRZQ0VDQUNJQUlvQWl4QmYybzJBaXdnQmlRR1FRRUx0Z1lCREg4akJpRUVJd1pCSUdva0JpQUFLQUxVQXlFRkFrQWdBQ2dDbUFJRVFDQUZLQUlzUlFSQUlBVW9BaEJCQ0JBNUlRWWdBQ2dDMEFNaUFpQUdJQUlvQWhocU5nSVlJQVZCQURZQ0VDQUNLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQWlBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFoUWdCU0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FGUVFBMkFpZ0xDd3NnQlNnQ0tFVUVRQ0FGS0FJVUlnSUVRQ0FDUVg5cUlRTUZJQVFnQURZQ0VDQUVJQUFvQWhnaUFpZ0NBRFlDQUNBRUlBSW9BZ1EyQWdRZ0JTZ0NEQ0VHSUFVb0FoQWhBaUFBS0FLb0F5RUtJQUFvQXJBRElRc2dBU2dDQUNFTUlBVkJRR3NvQWdBaENDQUFLQUtjQXlJRElBQW9BcUFESWcxS0JFQkJBQ0VESUFZaEFRVUNRQ0FHSVFFZ0F5RUdBa0FEUUFKQUFuOENRQ0FDUVFoSUJFQWdCQ0FCSUFKQkFCQm5SUTBGSUFRb0FnZ2hBU0FFS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUFoQmtBRnFJQUVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQWhCa0FscWFpMEFBQ0VISUFJZ0NXc0ZRUWtoQXd3QkN3d0JDeUFFSUFFZ0FpQUlJQU1Rb0FFaUIwRUFTQTBESUFRb0FnZ2hBU0FFS0FJTUN5RUNJQWRCQkhZaEF5QUhRUTl4SWdjRVFDQUNJQWRJQkVBZ0JDQUJJQUlnQnhCblJRMEVJQVFvQWd3aEFpQUVLQUlJSVFFTElBTWdCbW9pQTBFQ2RDQUxhaWdDQUVFQmRDQU1haUFIUVFKMFFmQXhhaWdDQUNJR0lBRWdBaUFIYXlJQ2RYRWlDVUVBSUFZZ0NTQUhRUUowUWV3eGFpZ0NBRW9iYXlBS2REc0JBQVVDUUNBREJFQWdBMEVQUmdSQURBSUZEQVFMQUF0QkFDRUREQVVMSUFaQkQyb2hBd3NnQTBFQmFpRUdJQU1nRFVnTkFVRUFJUU1NQXdzTElBSWdBMGdFUUNBRUlBRWdBaUFERUdkRkRRWWdCQ2dDRENFQ0lBUW9BZ2doQVF0QkFTQURkRUYvYWlBRFFRSjBRZkF4YWlnQ0FDQUJJQUlnQTJzaUFuVnhhaUVEREFFTERBUUxDeUFBS0FJWUlnQWdCQ2dDQURZQ0FDQUFJQVFvQWdRMkFnUWdCU0FCTmdJTUlBVWdBallDRUFzZ0JTQUROZ0lVQ3lBRklBVW9BaXhCZjJvMkFpd2dCQ1FHUVFFUEN5QUVKQVpCQUF1V0JnRU5meU1HSVFRakJrRXdhaVFHSUFBb0F0UURJUUlnQUNnQ3FBTWhDeUFBS0FLWUFnUkFJQUlvQWl4RkJFQWdBaWdDRUVFSUVEa2hBeUFBS0FMUUF5SUlJQU1nQ0NnQ0dHbzJBaGdnQWtFQU5nSVFJQWdvQWdnaEF5QUFJQU5CL3dCeFFRaHFFUUFBUlFSQUlBUWtCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUU1EUUNBQ1FSaHFJQU5CQW5ScVFRQTJBZ0FnQTBFQmFpSURJQUFvQXRRQ1NBMEFDd3NnQWtFQU5nSVVJQUlnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQWtFQU5nSW9Dd3NMSUFSQkZHb2hCaUFFSVFrZ0FpZ0NLRVVFUUNBR0lBQTJBaEFnQmlBQUtBSVlJZ2NvQWdBaUJUWUNBQ0FHSUFjb0FnUWlDRFlDQkNBQ0tBSU1JUU1nQWlnQ0VDRUVJQWtnQWlrQ0ZEY0NBQ0FKSUFJcEFodzNBZ2dnQ1NBQ0tBSWtOZ0lRSUFBb0F2QUNRUUJLQkVBQ1FFRUFJUWdDUUFOQUlBaEJBblFnQVdvb0FnQWhEaUFDUVRCcUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZzFCQW5ScUtBSUFLQUlVUVFKMGFpZ0NBQ0VLQW44Q1FDQUVRUWhJQkVBZ0JpQURJQVJCQUJCblJRMEVJQVlvQWdnaEF5QUdLQUlNSWdSQkNFZ0VRRUVCSVFVTUFnc0xJQXBCa0FGcUlBTWdCRUY0YW5WQi93RnhJZ1ZCQW5ScUtBSUFJZ2NFZnlBRklBcEJrQWxxYWkwQUFDRUZJQVFnQjJzRlFRa2hCUXdCQ3d3QkN5QUdJQU1nQkNBS0lBVVFvQUVpQTBFQVNBMENJQU1oQlNBR0tBSUlJUU1nQmlnQ0RBc2hCQ0FGQkg4Z0JDQUZTQVJBSUFZZ0F5QUVJQVVRWjBVTkF5QUdLQUlNSVFRZ0JpZ0NDQ0VEQ3lBRlFRSjBRZkF4YWlnQ0FDSUtJQU1nQkNBRmF5SUVkWEVpQjBFQUlBb2dCeUFGUVFKMFFld3hhaWdDQUVvYmF3VkJBQXNnQ1VFRWFpQU5RUUowYWlJRktBSUFhaUVISUFVZ0J6WUNBQ0FPSUFjZ0MzUTdBUUFnQ0VFQmFpSUlJQUFvQXZBQ1NBMEFDeUFBS0FJWUlRY2dCaWdDQUNFRklBWW9BZ1FoQ0F3QkN5QUpKQVpCQUE4TEN5QUhJQVUyQWdBZ0J5QUlOZ0lFSUFJZ0F6WUNEQ0FDSUFRMkFoQWdBaUFKS1FJQU53SVVJQUlnQ1NrQ0NEY0NIQ0FDSUFrb0FoQTJBaVFMSUFJZ0FpZ0NMRUYvYWpZQ0xDQUpKQVpCQVFzdkFRSi9JQUFvQXRRRElnRW9BaEJCQ0JBNUlRSWdBQ2dDMEFNaUFDQUNJQUFvQWhocU5nSVlJQUZCQURZQ0VBdnNEQUVJZnlBQUtBTFVBeUVFSUFBb0Fwd0RJZ0pGSVFNQ1FDQUFLQUxnQVVVRVFBSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0MzQUVnQUNnQ29BTWlBVUhBQUVoeUJFQWdBQ2dDdEFNZ0FVY05BUXNNQVFzZ0FDZ0NBQ0lCUWYwQU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBTElBUkJKa0VuSUFBb0FyUURRVDlHR3pZQ0JDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQkJBU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSUNLQUlVSWdNZ0JFSEVBR29nQTBFQ2RHb1ErUUVnQUNnQ3RBTUVRQ0FBUVFBZ0FpZ0NHQ0lDSUFSQjFBQnFJQUpCQW5ScUVQa0JDeUFFUVJocUlBRkJBblJxUVFBMkFnQWdBVUVCYWlJQklBQW9BdFFDU0EwQUN3c2dBQ2dDOEFKQkFFd05BVUVBSVFFRFFDQUVRZVFBYWlBQlFRSjBhaUFFUWNRQWFpQUFRZGdDYWlBQVFmUUNhaUFCUVFKMGFpZ0NBRUVDZEdvb0FnQWlBeWdDRkVFQ2RHb29BZ0EyQWdBZ0JFR01BV29nQVVFQ2RHb2dCRUhVQUdvZ0F5Z0NHRUVDZEdvb0FnQTJBZ0FnQkVHMEFXb2dBVUVDZEdvZ0F5Z0NOQVIvQW44Z0F5Z0NLQ0VDSUFNb0FpUWhBd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDdEFNT01RQUhCd0VIQndjSEFnY0hCd2NIQndNSEJ3Y0hCd2NIQndRSEJ3Y0hCd2NIQndjSEJRY0hCd2NIQndjSEJ3Y0hCd1lIQzBFQkRBY0xJQUpCQVVkQkEzUkJvQ3RxSUFOQkFVZEJBblJxS0FJQVFRRnFEQVlMSUFKQmYyb2lBa0VDSUFKQkFra2JRUXhzUWJBcmFpQURRWDlxSWdKQkFpQUNRUUpKRzBFQ2RHb29BZ0JCQVdvTUJRc2dBa0YvYWlJQ1FRTWdBa0VEU1J0QkJIUkI0Q3RxSUFOQmYyb2lBa0VESUFKQkEwa2JRUUowYWlnQ0FFRUJhZ3dFQ3lBQ1FYOXFJZ0pCQkNBQ1FRUkpHMEVVYkVHZ0xHb2dBMEYvYWlJQ1FRUWdBa0VFU1J0QkFuUnFLQUlBUVFGcURBTUxJQUpCZjJvaUFrRUZJQUpCQlVrYlFSaHNRWkF0YWlBRFFYOXFJZ0pCQlNBQ1FRVkpHMEVDZEdvb0FnQkJBV29NQWdzZ0FrRi9haUlDUVFZZ0FrRUdTUnRCSEd4Qm9DNXFJQU5CZjJvaUFrRUdJQUpCQmtrYlFRSjBhaWdDQUVFQmFnd0JDeUFDUVg5cUlnSkJCeUFDUVFkSkcwRUZkRUh3TDJvZ0EwRi9haUlDUVFjZ0FrRUhTUnRCQW5ScUtBSUFRUUZxQ3dWQkFBczJBZ0FnQVVFQmFpSUJJQUFvQXZBQ1NBMEFDd3dCQ3lBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQUpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUNOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFJaUFVRUFTZ1IvSUFCQnBBTnFJUVZCQUNFQ0EzOGdBRUhZQW1vZ0FrRUNkR29vQWdBb0FnUWhCaUFBS0FLZ0FTRUlJQUFvQXB3RElnRUVRQ0FHUVFoMElBaHFLQUlBUVFCSUJFQWdBQ2dDQUNJQlFmWUFOZ0lVSUFFZ0JqWUNHQ0FBS0FJQVFRQTJBaHdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FBS0FLY0F5RUJDd1ZCQUNFQkN5QUJJQUFvQXFBRFRBUkFBMEFnQlNnQ0FDQUdRUWgwSUFocUlBRkJBblJxSWdNb0FnQWlCMEVBSUFkQkFFb2JSd1JBSUFBb0FnQWlCMEgyQURZQ0ZDQUhJQVkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEJ5QUFRWDhnQjBFL2NVR3lCV29SQXdBTElBTWdBQ2dDcUFNMkFnQWdBVUVCYWlFRElBRWdBQ2dDb0FOSUJFQWdBeUVCREFFTEN3c2dBa0VCYWlJQ0lBQW9BdFFDSWdGSURRQWdCUXNGSUFCQnBBTnFDeUVDSUFSQklrRWpJQUFvQXB3RElnTkZJZ1ViUVNSQkpTQUZHeUFDS0FJQVJSczJBZ1FnQVVFQVNnUkFBa0FnQkVGQWF5RUdRUUFoQVFOQUlBQkIyQUpxSUFGQkFuUnFLQUlBSVFVZ0F3UkFJQVJCTUdvZ0JTZ0NHQ0lGUVFKMGFpRURJQUJCQUNBRklBTVErUUVnQmlBREtBSUFOZ0lBQlNBQ0tBSUFSUVJBSUFCQkFTQUZLQUlVSWdNZ0JFRXdhaUFEUVFKMGFoRDVBUXNMSUFSQkdHb2dBVUVDZEdwQkFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKT0RRRWdBQ2dDbkFNaEF3d0FBQXNBQ3dzZ0JFRUFOZ0lVSUFSQkFEWUNFQ0FFUVFBMkFnd2dCRUVBTmdJb0lBUWdBQ2dDbUFJMkFpd1BDeUFFUVFBMkFoQWdCRUVBTmdJTUlBUkJBRFlDS0NBRUlBQW9BcGdDTmdJc0M5Y0JBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUhjQVNBQ1FUOXhRY29CYWhFRUFDSUJOZ0xVQXlBQlFmWUFOZ0lBSUFGQjl3QTJBZ2dnQUNnQzRBRkZCRUFnQVVJQU53SkVJQUZDQURjQ1RDQUJRUUEyQWxRZ0FVRUFOZ0pZSUFGQkFEWUNYQ0FCUVFBMkFtQVBDeUFBS0FJRUtBSUFJUUlnQUNBQVFRRWdBQ2dDSkVFSWRDQUNRVDl4UWNvQmFoRUVBQ0lETmdLZ0FTQUFLQUlrUVFCS0JFQkJBQ0VDQTBBZ0F5QUNRUWgwYWtGL1FZQUNFRVVhSUFKQkFXb2lBaUFBS0FJa1NBMEFDd3NnQVVJQU53SXdJQUZDQURjQ09BdkRBZ0VKZnlBQUtBSzRBeUVDSUFBb0FnQWlBMEg4QURZQ0ZDQURJQUkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEF5QUFRWDhnQTBFL2NVR3lCV29SQXdBZ0FVRUJha0VIY1VIUUFYSWhCQ0FCUVFKcVFRZHhRZEFCY2lFRklBRkJCMnBCQjNGQjBBRnlJUVlnQVVFR2FrRUhjVUhRQVhJaEJ3SkFBMEFDUUNBQ1FjQUJTQ0VJSUFJZ0JFWWdBa0Y0Y1VIUUFVZHlJQUlnQlVaeUlRbEJBa0VCSUFJZ0JrWWdBaUFIUm5JYklRb0RRQUpBSUFBb0FnQWlBVUhqQURZQ0ZDQUJJQUkyQWhnZ0FDZ0NBRUVDUVFNZ0NpQUpHeUFJR3lJRE5nSWNJQUFvQWdBb0FnUWhBU0FBUVFRZ0FVRS9jVUd5QldvUkF3QUNRQUpBSUFOQkEzRkJBV3NPQXdRQ0FBRUxRUUVoQUF3RkN3d0JDd3NnQUJDeEFnUkFJQUFvQXJnRElRSU1BZ1ZCQUNFQURBTUxBQXNMSUFCQkFEWUN1QU5CQVE4TElBQUxZZ0VEZnlBQUtBSVlJUUlnQVVFQVRBUkFEd3NnQWlnQ0JDSURJQUZJQkVBRFFDQUNLQUlNSVFRZ0FDQUVRZjhBY1VFSWFoRUFBQm9nQVNBRGF5SUJJQUlvQWdRaUEwb05BQXNMSUFJZ0FTQUNLQUlBYWpZQ0FDQUNJQU1nQVdzMkFnUUw3d0VCQkg5QkJFRUVFSXNCSVFRRFFDQUNRUU5IQkVBZ0FrRUNkQ0VGUVFBaEF3TkFJQU5CQkVjRVFDQUVLQUlBSUFNZ0JXcEJBM1JxSUFKQkJIUWdBR29nQTBFQ2RHb3FBZ0M3T1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVFZENBQmFpQUNRUUowYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BdGpnQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3NnQkJCSkM3MEJBUU4vSUFBb0FoZ2lBU2dDSUVFQlFZQWdJQUVvQWh3UVlTSUNCRUFnQVNBQktBSWdOZ0lBSUFFZ0FqWUNCQ0FCUVFBMkFpUkJBUThMSUFFb0FpUUVRQ0FBS0FJQUlnSkJLellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxBbjhnQUNFRElBQW9BZ0FpQUVIN0FEWUNGQ0FBS0FJRUlRQWdBd3RCZnlBQVFUOXhRYklGYWhFREFDQUJLQUlnUVg4NkFBQWdBU2dDSUVGWk9nQUJJQUVnQVNnQ0lEWUNBQ0FCUVFJMkFnUWdBVUVBTmdJa1FRRUxEQUFnQUNnQ0dFRUJOZ0lrQzVZQkFRSi9JQUFvQWhnaUFrVUVRQ0FBS0FJRUtBSUFJUUlnQUNBQVFRQkJLQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nSVlJQUFvQWdRb0FnQWhBaUFESUFCQkFFR0FJQ0FDUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUlZSVFJTElBSkI5QUEyQWdnZ0FrSFRBRFlDRENBQ1FTODJBaEFnQWtFaE5nSVVJQUpCOVFBMkFoZ2dBaUFCTmdJY0lBSkJBRFlDQkNBQ1FRQTJBZ0FMNmdrQkVuOGpCaUVUSXdaQmdBSnFKQVlnQUNnQzBBSWhGaUFUSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUJLQUlBSUFJdUFRQkJBblJzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUlJQUl1QVRBZ0FTZ0NZR3dpQzJvaURDQUNMZ0ZRSUFFb0FxQUJiQ0lOSUFjZ0FTZ0NJR3dpQjJvaUNtcEJvY3NBYkNJT0lBeEJ1NEovYkdvaURDQUhJQWhxUWJOR2JDSVFJQWhCamhOc2Ftb2hDQ0FPSUFwQmhHZHNhaUlLSUJBZ0IwR0w0QUJzYW1vaEJ5QUtJQXNnRFdwQi9kdCtiQ0lLSUExQnM0TUJiR3BxSVEwZ0JpQUhJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzRnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRUdvaUVTQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0lnVWdBaTRCWUNBQktBTEFBV3dpRW1wQjBTSnNJaFFnQlVIK01HeHFJZ1ZxSWhWcVFRdDFOZ0lBSUFZZ0ZTQUhhMEVMZFRZQzRBRWdCaUFNSUFvZ0MwSFV4QUZzYW1vaUN5QVFJQTVySWdjZ0ZDQVNRZCtKZjJ4cUlneHFJZ3BxUVF0MU5nSWdJQVlnQ2lBTGEwRUxkVFlDd0FFZ0JrRkFheUFOSUFjZ0RHc2lDMnBCQzNVMkFnQWdCaUFMSUExclFRdDFOZ0tnQVNBR0lBZ2dFU0FGYXlJRmFrRUxkVFlDWUNBRklBaHJRUXQxSVFWQklBdEJBblFnQm1vZ0JUWUNBQ0FHUVFScUlRWWdBVUVFYWlFQklBSkJBbW9oQWlBSlFYOXFJUVVnQ1VFQlN3UkFJQVVoQ1F3QkN3c2dGa0dBZldvaENVRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJUVlnQUNnQ0FFR1FnQUZxSVFVQ1FBSkFJQUFvQWdRaUNDQUFLQUlJSWdKeURRQWdBQ2dDREFSQVFRQWhBZ3dCQlNBQUtBSVFCRUJCQUNFQ0RBSUZJQUFvQWhRRVFFRUFJUUlNQXdVZ0FDZ0NHQVJBUVFBaEFnd0VCU0FBS0FJY0JFQkJBQ0VDREFVRklBWWdDU0FGUVFWMlFmOEhjV29zQUFBaUFqb0FBQ0FHUVFGcUlBSkJCeEJGR2dzTEN3c0xEQUVMSUFBb0Fod2lDeUFBS0FJTUlnMXFJZzhnQ0NBQUtBSVVJZ2RxSWd4cVFhSExBR3dpQ2lBUFFidUNmMnhxSWc4Z0NDQUxha0d6Um13aURpQUxRWTRUYkdwcUlRc2dDaUFNUVlSbmJHb2lEQ0FPSUFoQmkrQUFiR3BxSVFnZ0RDQUhJQTFxUWYzYmZtd2lEQ0FIUWJPREFXeHFhaUVISUFZZ0NTQUZJQUFvQWhBaUNtcEJEWFFpRGlBQUtBSVlJaEFnQW1wQjBTSnNJaEVnQWtIK01HeHFJZ0pxSWhJZ0NHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBa2dFaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVlnQ1NBRklBcHJRUTEwSWdVZ0VTQVFRZCtKZjJ4cUlnaHFJZ29nRHlBTUlBMUIxTVFCYkdwcUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUpJQW9nRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFHSUFrZ0JTQUlheUlGSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUlnQmlBSklBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUJTQUdJQWtnRGlBQ2F5SUNJQXRxUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFKSUFJZ0MydEJFblpCL3dkeGFpd0FBRG9BQkFzZ0FFRWdhaUVBSUFGQkFXb2lBVUVJUncwQUN5QVRKQVlMTkFBZ0JDQURLQUlBYWlBQUtBTFFBa0dBZldvZ0FpNEJBQ0FCS0FKVUtBSUFiRUdFSUdwQkEzWkIvd2R4YWl3QUFEb0FBQXZEQVFFRmZ5QUVJQU1vQWdCcUlnVWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkVDQUJLQUpVSWdFb0FpQnNJZ1lnQWk0QkFDQUJLQUlBYkVHRUlHb2lCMm9pQ0NBQ0xnRUNJQUVvQWdSc0lna2dBaTRCRWlBQktBSWtiQ0lCYWlJQ2FrRURka0gvQjNGcUxBQUFPZ0FBSUFVZ0NDQUNhMEVEZGtIL0IzRWdBR29zQUFBNkFBRWdCQ0FES0FJRWFpSUNJQWNnQm1zaUF5QUpJQUZySWdGcVFRTjJRZjhIY1NBQWFpd0FBRG9BQUNBQ0lBTWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDNmdGQVFsL0l3WWhCU01HUVRCcUpBWWdBQ2dDMEFJaENDQUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUhhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRTSUxOZ0lBSUFVZ0FTQUFhMEVMZFRZQ0dDQUZJQWtnQjBGK2JHcEJDM1UyQWd3Z0JTQUdLQUlFSUFJdUFRSkJEWFJzUVlBSWNpSUpJQVlvQWtRZ0FpNEJJa0doTFd4c0lnZHFJZ0VnQmlnQ0pDQUNMZ0VTUWJIT0FHeHNJZ0JxUVF0MUlndzJBZ1FnQlNBQklBQnJRUXQxTmdJY0lBVWdDU0FIUVg1c2FrRUxkU0lOTmdJUUlBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlDU0FHS0FKSUlBSXVBU1JCb1Mxc2JDSUhhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRTSUtOZ0lJSUFVZ0FTQUFhMEVMZFNJR05nSWdJQVVnQ1NBSFFYNXNha0VMZFNJSk5nSVVJQVFnQXlnQ0FHb2lCeUFJUVlCOWFpSUlJQXRCRFhSQmdJQ0l3QUJxSWdJZ0NrR2hMV3hxSWdFZ0RFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBSUlBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQWdnQWlBS1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJRWFpSUhJQWdnQlNnQ0RFRU5kRUdBZ0lqQUFHb2lBaUFKUWFFdGJHb2lBU0FOUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQWdnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0NDQUNJQWxCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdNZ0NDQUZLQUlZUVExMFFZQ0FpTUFBYWlJQ0lBWkJvUzFzYWlJQklBVW9BaHhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBTWdDQ0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQXlBSUlBSWdCa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVa0JndnNDUUVJZnlNR0lRVWpCa0ZBYXlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlDU2dDQUd3aUNDQUNMZ0VnSUFsQlFHc29BZ0JzSWd0cVFRSjBJZ0VnQWk0QkVDQUpLQUlnYkNJQUlBSXVBVEFnQ1NnQ1lHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNBQ0FGSUFFZ0FHczJBakFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJUUlBVWdBU0FBYXpZQ0lDQUZJQUl1QVFJZ0NTZ0NCR3dpQ0NBQ0xnRWlJQWtvQWtSc0lndHFRUUowSWdFZ0FpNEJFaUFKS0FJa2JDSUFJQUl1QVRJZ0NTZ0NaR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQkNBRklBRWdBR3MyQWpRZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVVJQVVnQVNBQWF6WUNKQ0FGSUFJdUFRUWdDU2dDQ0d3aUNDQUNMZ0VrSUFrb0FraHNJZ3RxUVFKMElnRWdBaTRCRkNBSktBSW9iQ0lBSUFJdUFUUWdDU2dDYUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWlJTU5nSUlJQVVnQVNBQWF6WUNPQ0FGSUFnZ0MydEJBblFpQVNBS0lBWkIzNGwvYkdwQkMzVWlBR28yQWhnZ0JTQUJJQUJyTmdJb0lBVWdBaTRCQmlBSktBSU1iQ0lMSUFJdUFTWWdDU2dDVEd3aUJtcEJBblFpQVNBQ0xnRVdJQWtvQWl4c0lnQWdBaTRCTmlBSktBSnNiQ0lLYWtIUklteEJnQWhxSWdJZ0FFSCtNR3hxUVF0MUlnQnFJZ2cyQWd3Z0JTQUJJQUJyTmdJOElBVWdDeUFHYTBFQ2RDSUJJQUlnQ2tIZmlYOXNha0VMZFNJQWFpSUxOZ0ljSUFVZ0FTQUFhellDTENBRUlBTW9BZ0JxSWdZZ0IwR0FmV29pQnlBTUlBVW9BZ0JCa0lBQmFpSUtha0VOZENJQklBZ2dCU2dDQkNJQWFrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFLSUF4clFRMTBJZ0VnQWlBSVFkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWdScUlnZ2dCeUFGS0FJUVFaQ0FBV29pQmlBRktBSVlJZ3BxUVExMElnRWdDeUFGS0FJVUlnQnFRZEVpYkNJQ0lBQkIvakJzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFnZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdDQ0FISUFZZ0NtdEJEWFFpQVNBQ0lBdEIzNGwvYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lDQ0FISUFVb0FpQkJrSUFCYWlJTElBVW9BaWdpQm1wQkRYUWlBU0FGS0FJa0lnQWdCU2dDTENJS2FrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBZ2dCeUFMSUFaclFRMTBJZ0VnQWlBS1FkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ0NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FJd1FaQ0FBV29pQ2lBRktBSTRJZ1JxUVExMElnRWdCU2dDTkNJQUlBVW9BandpQTJwQjBTSnNJZ0lnQUVIK01HeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDaUFFYTBFTmRDSUJJQUlnQTBIZmlYOXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThRQVFwL0l3WWhCU01HUWZBQWFpUUdJQUFvQXRBQ0lRNGdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lFR0lBVWdBaTRCSUNBSVFVQnJLQUlBYkNJQklBSkJRR3N1QVFBZ0NDZ0NnQUZzSWdCcVFjd3liQ0lOSUFZZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVFJQWdvQWlCc0lnQWdBaTRCTUNBSUtBSmdiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnQWdCU0FCSUFCclFRdDFOZ0pRSUFVZ0NpQU5heUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFqd2dCU0FHSUFsQndLVi9iR3BCQzNVMkFpZ2dCU0FDTGdFU0lBZ29BaVJzSWdBZ0FpNEJNaUFJS0FKa2JDSUhha0dhTld3aUJpQUFRZkVnYkdvaURTQUNMZ0VpSUFnb0FrUnNJZ0VnQWk0QlFpQUlLQUtFQVd3aUFHcEJ6REpzSWdrZ0NDZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUNpQUJJQUJySWd0QjBCWnNhaUlNYWlJQWFrRUxkVFlDQkNBRklBQWdEV3RCQzNVMkFsUWdCU0FHSUFkQjNQUitiR29pQVNBTUlBbHJJZ0JxUVF0MU5nSVlJQVZCUUdzZ0FDQUJhMEVMZFRZQ0FDQUZJQW9nQzBIQXBYOXNha0VMZFRZQ0xDQUZJQUl1QVNRZ0NDZ0NTR3dpQVNBQ0xnRkVJQWdvQW9nQmJDSUFha0hNTW13aUJpQUlLQUlJSUFJdUFRUkJEWFJzUVlBSWNpSU5JQUVnQUdzaUNVSFFGbXhxSWdwcUlnRWdBaTRCRkNBSUtBSW9iQ0lBSUFJdUFUUWdDQ2dDYUd3aUMycEJtalZzSWd3Z0FFSHhJR3hxSWdCcVFRdDFOZ0lJSUFVZ0FTQUFhMEVMZFRZQ1dDQUZJQW9nQm1zaUFTQU1JQXRCM1BSK2JHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0pFSUFVZ0RTQUpRY0NsZjJ4cVFRdDFOZ0l3SUFVZ0FpNEJKaUFJS0FKTWJDSUJJQUl1QVVZZ0NDZ0NqQUZzSWdCcVFjd3liQ0lHSUFnb0Fnd2dBaTRCQmtFTmRHeEJnQWh5SWcwZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVdJQWdvQWl4c0lnQWdBaTRCTmlBSUtBSnNiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnd2dCU0FCSUFCclFRdDFOZ0pjSUFVZ0NpQUdheUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDSUNBRklBRWdBR3RCQzNVMkFrZ2dCU0FOSUFsQndLVi9iR3BCQzNVMkFqUWdCU0FDTGdFb0lBZ29BbEJzSWdFZ0FpNEJTQ0FJS0FLUUFXd2lBR3BCekRKc0lnMGdDQ2dDRUNBQ0xnRUlRUTEwYkVHQUNISWlDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQUl1QVJnZ0NDZ0NNR3dpQUNBQ0xnRTRJQWdvQW5Cc0lneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRUxkVFlDRUNBRklBRWdBR3RCQzNVMkFtQWdCU0FMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVF0MU5nSWtJQVVnQVNBQWEwRUxkVFlDVENBRklBa2dDa0hBcFg5c2FrRUxkVFlDT0NBRUlBTW9BZ0JxSWdZZ0RrR0FmV29pQnlBRktBSUlJZ0VnQlNnQ0VDSUFha0hNTW13aURTQUZLQUlBUVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JTZ0NCQ0lBSUFVb0Fnd2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCaUFISUFVb0Fod2lBU0FGS0FJa0lnQnFRY3d5YkNJTklBVW9BaFJCRFhSQmdJQ0l3QUJxSWdrZ0FTQUFheUlLUWRBV2JHb2lDMm9pQVNBRktBSVlJZ0FnQlNnQ0lDSU1ha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVlnQnlBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ1NBS1FjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJSWFpSUdJQWNnQlNnQ01DSUJJQVVvQWpnaUFHcEJ6REpzSWcwZ0JTZ0NLRUVOZEVHQWdJakFBR29pQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFVb0Fpd2lBQ0FGS0FJMElneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdCaUFISUFzZ0RXc2lBU0FDSUF4QjNQUitiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFKSUFwQndLVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FKRUlnRWdCU2dDVENJQWFrSE1NbXdpRFNBRktBSThRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlVGQWF5Z0NBQ0lBSUFVb0FrZ2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0VHb2lDU0FISUFVb0FsZ2lBU0FGS0FKZ0lnQnFRY3d5YkNJS0lBVW9BbEJCRFhSQmdJQ0l3QUJxSWdzZ0FTQUFheUlNUWRBV2JHb2lCR29pQVNBRktBSlVJZ0FnQlNnQ1hDSURha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQWtnQnlBRUlBcHJJZ0VnQWlBRFFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ1NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUpJQWNnQ3lBTVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4RUFROS9Jd1loRUNNR1FaQUJhaVFHSUFBb0F0QUNJUk1nRUNJQUlRVWdBU2dDVkNFQkEwQWdCU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlLSUFFb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJTWFpSU5JQUZCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lPYWlJUElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdGUUlBRW9BcUFCYkNJSWFrRzJGMndpRVNBR0lBSXVBVEFnQVNnQ1lHd2lDV3BCRFhScUloSnFRUXQxTmdJQUlBVWdEeUFTYTBFTGRUWUNlQ0FGSUFvZ0RFRitiR3BCQzNVaUNpQUdJQWxySUFoclFRSjBJZ1pxTmdJWUlBVWdDaUFHYXpZQ1lDQUZJQTBnRG1zaUJpQVJJQWdnQ1d0QkRYUnFJZ2hxUVF0MU5nSXdJQVVnQmlBSWEwRUxkVFlDU0NBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUhRUUZxSWdkQkJrY05BQXNnRTBHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FDZ0NCQ0lISUFBb0FoUWlCbXBCdGhkc0lnc2dCeUFBS0FJTUlnaHFRUTEwYWlJS0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWd3Z0FDZ0NFRUdoTFd3aUNXb2lEU0FBS0FJSVFiSE9BR3dpRG1vaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdEeUFLYTBFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBSElBaHJJQVpyUVExMElnY2dEQ0FKYXlBSmF5SUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBRWdCU0FKSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQkNBRklBMGdEbXNpQnlBTElBWWdDR3RCRFhScUlnWnFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQWNnQm10QkVuWkIvd2R4SUFKcUxBQUFPZ0FESUFCQkdHb2hBQ0FCUVFGcUlnRkJCa2NOQUFzZ0VDUUdDKzBCQVFSL1FRUkJCQkNMQVNFRUEwQWdBa0VEUndSQUlBSkJBblFoQlVFQUlRTURRQ0FEUVFSSEJFQWdCQ2dDQUNBRElBVnFRUU4wYWlBQ1FRVjBJQUJxSUFOQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVGZENBQmFpQUNRUU4wYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDeUFFRUVrTHRRWUJGSDhqQmlFVkl3WkIwQUZxSkFZZ0FDZ0MwQUloR0NBVklnQWhCU0FCS0FKVUlRRURRQ0FDUVVCckxnRUFJQUVvQW9BQmJDSUhJQUl1QVdBZ0FTZ0N3QUZzSWdaclFiYzRiQ0lPSUFJdUFTQWdBVUZBYXlnQ0FHd2lDU0FIYTBHU0ZHd2lFU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQSUFkQmxZcC9iR3BxYWlFS0lBSXVBUkFnQVNnQ0lHd2lDeUFDTGdFd0lBRW9BbUJzSWdocVFlODdiQ0lTSUFzZ0NHdEI4d3BzSWhOcUlBZ2dBaTRCVUNBQktBS2dBV3dpQ0dwQjRhZC9iQ0lVYWlFTklBVWdEeUFHSUFscUloWkJ4dEVBYkdvaUZ5QU9JQVpCZzN0c2Ftb2lCaUFJSUF0cVFhTW5iQ0lMSUJJZ0UydHFJZzVxUVF0MU5nSUFJQVVnQmlBT2EwRUxkVFlDcUFFZ0JTQUtJQTFxUVF0MU5nSWNJQVVnQ2lBTmEwRUxkVFlDakFFZ0JTQVhJQkVnQ1VIeDRYNXNhbW9pQmlBVUlBc2dDRUhlOXdCc2Ftb2lDV3BCQzNVMkFqZ2dCU0FHSUFsclFRdDFOZ0p3SUFVZ0R5QUhJQlpyUWNIYUFHeHFRUXQxTmdKVUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUhSdzBBQ3lBWVFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlZSWdkclFiYzRiQ0lOSUFBb0FnZ2lCaUFNYTBHU0ZHd2lFQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQXhCbFlwL2JHcHFhaUVQSUFBb0FnUWlDaUFBS0FJTUlnVnFRZTg3YkNJT0lBb2dCV3RCOHdwc0loRnFJQVVnQUNnQ0ZDSUxha0hocDM5c0loSnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQ1NBR0lBZHFJaE5CeHRFQWJHb2lGQ0FOSUFkQmczdHNhbW9pQnlBS0lBdHFRYU1uYkNJS0lBNGdFV3RxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBY2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUZJQUlnQ0NBUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVBJQWhyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJRZ0VDQUdRZkhoZm14cWFpSUhJQklnQ2lBTFFkNzNBR3hxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFrZ0RDQVRhMEhCMmdCc2FrRVNka0gvQjNGcUxBQUFPZ0FESUFCQkhHb2hBQ0FCUVFGcUlnRkJCMGNOQUFzZ0ZTUUdDNklIQVJSL0l3WWhGU01HUWFBQ2FpUUdJQUFvQXRBQ0lSZ2dGU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUJLQUxBQVNBQ0xnRmdRYUV0Ykd3aUJtb2hDQ0FISUFacklBWnJJaEFnQWk0QklDQUJRVUJyS0FJQWJDSUdJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZHJJaEZCb1Mxc2FpRUpJQUl1QVJBZ0FTZ0NJR3dpQ2lBQ0xnRlFJQUVvQXFBQmJDSU1ha0dYT213aERTQUZJQWdnQmlBSGFrR0gxUUJzSWhJZ0IwSGNEMndpRTJ0cUloUWdDaUFDTGdGd0lBRW9BdUFCYkNJSGFrSDZIbXdpRmlBTklBRW9BbUFnQWk0Qk1FSFBzWDlzYkNJT2Eyb2lGMnBCQzNVMkFnQWdCU0FVSUJkclFRdDFOZ0tBQWlBRklBa2dDaUFNYXlBSGEwR3h6Z0JzSWdwcVFRdDFOZ0lnSUFVZ0NTQUthMEVMZFRZQzRBRWdCVUZBYXlBR1FhdkZBR3dpQmlBSUlCSnJhaUlKSUEwZ0RpQU1JQWRyUVpIWkFHd2lCMnRxSWdwcVFRdDFOZ0lBSUFVZ0NTQUthMEVMZFRZQ3dBRWdCU0FUSUFnZ0JtdHFJZ2dnRmlBSElBNXFhaUlHYWtFTGRUWUNZQ0FGSUFnZ0JtdEJDM1UyQXFBQklBVWdFQ0FSUWI2bGYyeHFRUXQxTmdLQUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FMUVFGcUlndEJDRWNOQUFzZ0dFR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUlJQUFvQWhoQm9TMXNJZ1ZxSVFzZ0NDQUZheUFGYXlJT0lBQW9BZ2dpQ0NBQUtBSVFJZ1pySWc5Qm9TMXNhaUVISUFBb0FnUWlDU0FBS0FJVUlncHFRWmM2YkNFTUlBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBc2dCaUFJYWtHSDFRQnNJaEFnQmtIY0Qyd2lFV3RxSWhJZ0NTQUFLQUljSWdacVFmb2ViQ0lUSUF3Z0FDZ0NERUhQc1g5c0lnMXJhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBU0lCUnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1NBS2F5QUdhMEd4emdCc0lnbHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NFR3J4UUJzSWdnZ0N5QVFhMm9pQnlBTUlBMGdDaUFHYTBHUjJRQnNJZ1pyYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJFZ0N5QUlhMm9pQ3lBVElBWWdEV3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnRGlBUFFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFSlJ3MEFDeUFWSkFZTC9nY0JGWDhqQmlFVkl3WkJ3QUpxSkFZZ0FDZ0MwQUloR1NBVklnQWhCU0FCS0FKVUlRRURRQ0FDTGdFd0lBRW9BbUJzSWdZZ0FpNEJjQ0FCS0FMZ0FXd2lDbW9oQnlBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlna2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUMwR2R5UUJzYWlJUUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSVJha0dhTld3aURTQU1RZkVnYkdvaURHb2lEaUFHSUFwcklncEI0eE5zSWhJZ0FpNEJVQ0FCS0FLZ0FXd2lGRUVOZENJUGFpSVdJQWRCN3p4c0loY2dBaTRCRUNBQktBSWdiQ0lHUWJQWkFHeHFhaUlZYWtFTGRUWUNBQ0FGSUE0Z0dHdEJDM1UyQXFBQ0lBVWdDU0FMUVlSa2JHb2lEaUFOSUJGQjNQUitiR29pRVdvaURTQUdRZFBRQUd3Z0IwSFBKV3dpQjJzZ0R5QVNheUFLUVF4MGF5SVNheUlQYWtFTGRUWUNJQ0FGSUEwZ0QydEJDM1UyQW9BQ0lBVkJRR3NnQ1NBTFFiNmxmMnhxUVF0MUlna2dCaUFVYXlBS2EwRUNkQ0lMYWpZQ0FDQUZJQWtnQzJzMkF1QUJJQVVnRGlBUmF5SUpJQklnQmtHTUtXd2dCMnRxSWdkcVFRdDFOZ0pnSUFVZ0NTQUhhMEVMZFRZQ3dBRWdCU0FRSUF4cklnY2dGaUFHUVpRT2JDQVhhMm9pQm1wQkMzVTJBb0FCSUFVZ0J5QUdhMEVMZFRZQ29BRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ0VFQmFpSUlRUWhIRFFBTElCbEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0RDSUlJQUFvQWh3aUNtb2hCaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUNVR2R5UUJzYWlJVElBQW9BZ2dpQ3lBQUtBSVlJaEJxUVpvMWJDSU1JQXRCOFNCc2FpSVJhaUlOSUFBb0FoUkJEWFFpQ3lBSUlBcHJJZ3BCNHhOc0lnNXFJaElnQmtIdlBHd2lGQ0FBS0FJRUlnaEJzOWtBYkdwcUlnOXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQTBnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0J5QUpRWVJrYkdvaURTQU1JQkJCM1BSK2JHb2lFR29pRENBSVFkUFFBR3dnQmtIUEpXd2lCbXNnQ3lBT2F5QUtRUXgwYXlJT2F5SVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFNSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDVUcrcFg5c2FpSUhJQWdnQ210QkRYUWdDMnNpQ1dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0J5QUphMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJCcklnY2dEaUFJUVl3cGJDQUdhMm9pQm1wQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFUSUJGcklnWWdFaUFJUVpRT2JDQVVhMm9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGU1FHQzk0SkFSbC9Jd1loR1NNR1FlQUNhaVFHSUFBb0F0QUNJUjBnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0VnSUFGQlFHc29BZ0JzSWdsclFja2JiQ0VVSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhZZ0NTQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlJUUlBWnJJaGRCN05ZQWJHb2hEaUFVSUFZZ0IydEIvcUlCYkNBT2FpSVJJQVpCdEl0L2JHcHFJUW9nQWk0QmNDQUJLQUxnQVd3aUN5QUNMZ0ZRSUFFb0FxQUJiQ0lOSUFJdUFSQWdBU2dDSUd3aUNDQUNMZ0V3SUFFb0FtQnNJZzlxSWhOcWFrSEFHV3dpRWlBSUlBdHFRYmdYYkdvaUdDQUlJQTFxUWZRcWJDSWFJQk5CNmpoc0loc2dDRUgyUkd4cWFtb2hDQ0FOSUE5cVFjbTFmMndnRW1vaUhDQU5RZHF6ZjJ3Z0dtcHFJUk1nQlNBUklBZEJ0WWNCYkdvaUVTQUlha0VMZFRZQ0FDQUZJQkVnQ0d0QkMzVTJBc0FDSUFVZ0hDQUxJQTlxUWZXTWYyd2lDQ0FQUWRpRUFXd2dHMnBxYWlJUklBcHFRUXQxTmdJZ0lBVWdDaUFSYTBFTGRUWUNvQUlnQlVGQWF5QVRJQkJCaGJaL2JDQU9haUlLSUFkQncwMXNhaUlIYWtFTGRUWUNBQ0FGSUFjZ0UydEJDM1UyQW9BQ0lBVWdDQ0FMUWNlR0FXeHFJQmhxSWdjZ0RpQVVhaUFKUVpHZmYyeHFJZzVxUVF0MU5nSmdJQVVnRGlBSGEwRUxkVFlDNEFFZ0JTQVBRWTJpZjJ3Z0RVR0x3QUJzYWlBTFFaYVVmMnhxSUJKcUlnc2dDaUFHUWJuOEFHd2dDVUg5cG45c2Ftb2lCbXBCQzNVMkFvQUJJQVVnQmlBTGEwRUxkVFlDd0FFZ0JTQVdJQmRCdjZWL2JHcEJDM1UyQXFBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBZFFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlJSWc5clFja2JiQ0VPSUFBb0FnQkJEWFJCZ0lDSXdBQnFJaE1nRHlBQUtBSVlJZ2xxSWhVZ0RHc2lGa0hzMWdCc2FpRUhJQTRnRENBSmEwSCtvZ0ZzSUFkcUloQWdERUcwaTM5c2Ftb2hDQ0FBS0FJY0lnWWdBQ2dDRkNJTElBQW9BZ1FpQlNBQUtBSU1JZzFxSWdwcWFrSEFHV3dpRkNBRklBWnFRYmdYYkdvaUZ5QUZJQXRxUWZRcWJDSVNJQXBCNmpoc0loRWdCVUgyUkd4cWFtb2hDaUFVSUFzZ0RXcEJ5YlYvYkdvaUdDQVNJQXRCMnJOL2JHcHFJUklnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRUNBSlFiV0hBV3hxSWhBZ0NtcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdFQ0FLYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBSUlCZ2dCaUFOYWtIMWpIOXNJZ29nRVNBTlFkaUVBV3hxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDQ0FRYTBFU2RrSC9CM0ZxTEFBQU9nQUpJQVVnQWlBVlFZVzJmMndnQjJvaUNDQUpRY05OYkdvaUNTQVNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFKSUJKclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dEbW9nRDBHUm4zOXNhaUlKSUJjZ0NpQUdRY2VHQVd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFKSUFkclFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dERUc1L0FCc0lBOUIvYVovYkdwcUlnd2dGQ0FOUVkyaWYyd2dDMEdMd0FCc2FpQUdRWmFVZjJ4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFNSUFaclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCTWdGa0cvcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDMGNOQUFzZ0dTUUdDNWtKQVJkL0l3WWhHU01HUVlBRGFpUUdJQUFvQXRBQ0lSc2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUJLQUtBQVNBQ1FVQnJMZ0VBUWJIT0FHeHNJaEpxSVEwZ0NTQUNMZ0VnSUFGQlFHc29BZ0JzSWdwQkRYUWdBU2dDd0FFZ0FpNEJZRUVOZEd3aURtc2lFR29oRVNBRklBMGdDa0cyMXdCc0lBNXFJaGRxSWhNZ0FpNEJjQ0FCS0FMZ0FXd2lCaUFDTGdFUUlBRW9BaUJzSWdjZ0FpNEJVQ0FCS0FLZ0FXd2lDR29pQzJwQmpUZHNJZzhnQzBIYkVHeHFJaFFnQWk0Qk1DQUJLQUpnYkNJTFFjL1RBR3dpR0NBSFFmY1JiR3BxSWhWcVFRdDFOZ0lBSUFVZ0V5QVZhMEVMZFRZQzRBSWdCU0FMSUFockloTWdCeUFHYXlJVmFrSFJJbXdpR2lBVlFmNHdiR29pRlNBUmFrRUxkVFlDSUNBRklCRWdGV3RCQzNVMkFzQUNJQVZCUUdzZ0NTQVNheUlSSUFwQnRoZHNJQTVySWdwcUlnNGdGQ0FHSUFocVFZdTlmMndpRWlBTFFhOWRiQ0lMSUFoQnNLRi9iR3BxYWlJSWFrRUxkVFlDQUNBRklBNGdDR3RCQzNVMkFxQUNJQVVnRVNBS2F5SUlJQklnRHlBR1FjYmxBR3dnR0d0cWFpSUtha0VMZFRZQ1lDQUZJQWdnQ210QkMzVTJBb0FDSUFVZ0dpQVRRZCtKZjJ4cUlnZ2dDU0FRYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWhyUVF0MU5nTGdBU0FGSUEwZ0Yyc2lDU0FQSUFzZ0IwSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0tnQVNBRklBa2dCbXRCQzNVMkFzQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWJRWUI5YWlFQ1FRQWhBUU5BSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VFR3h6Z0JzSWd0cUlRZ2dCaUFBS0FJSUlnMUJEWFFnQUNnQ0dFRU5kQ0lLYXlJV2FpRU9JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWdnRFVHMjF3QnNJQXBxSWhKcUloQWdBQ2dDSENJTUlBQW9BZ1FpQ1NBQUtBSVVJZ2RxSWc5cVFZMDNiQ0lSSUE5QjJ4QnNhaUlYSUFBb0Fnd2lEMEhQMHdCc0loTWdDVUgzRVd4cWFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFRSUJSclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBNGdDU0FNYXlJUUlBOGdCMnNpRkdwQjBTSnNJaGdnRUVIK01HeHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUE0Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdCaUFMYXlJT0lBMUJ0aGRzSUFwcklnMXFJZ29nRnlBSElBeHFRWXU5ZjJ3aUN5QVBRYTlkYkNJUElBZEJzS0YvYkdwcWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFLSUFkclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBNGdEV3NpQnlBTElCRWdERUhHNVFCc0lCTnJhbW9pRFdwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QU5hMEVTZGtIL0IzRnFMQUFBT2dBSUlBVWdBaUFHSUJacklnWWdHQ0FVUWQrSmYyeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFZZ0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDQ0FTYXlJR0lCRWdEeUFKUWR4VWJHb2dERUdNZ1g5c2Ftb2lER3BCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQmlBTWEwRVNka0gvQjNGcUxBQUFPZ0FHSUFCQklHb2hBQ0FCUVFGcUlnRkJERWNOQUFzZ0dTUUdDK3dLQVJoL0l3WWhHU01HUWFBRGFpUUdJQUFvQXRBQ0lSd2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRmdJQUVvQXNBQmJDSUhhaUVOSUFJdUFSQWdBU2dDSUd3aURpQUNMZ0V3SUFFb0FtQnNJZ2hxUWREVUFHd2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhFZ0JpQUhheUlLUVprR2JHb2lEeUFOUWZuSkFHd2lFaUFDTGdFZ0lBRkJRR3NvQWdCc0lnWkI4ZGNBYkdwcUloTWdEaUFDTGdGd0lBRW9BdUFCYkNJTGFpSVhRWUk4YkNJVUlBNGdBaTRCVUNBQktBS2dBV3dpQjJwQnZzb0FiQ0lWSUFrZ0RrSGIvbjVzYW1wcUloWnFRUXQxTmdJQUlBVWdFeUFXYTBFTGRUWUNnQU1nQlNBSUlBdHFRY0sxZjJ3aUV5QUhJQWhxUWF0cWJDSVdJQWhCeXpWc0lBbHFhbW9pQ1NBUklBcEJsUjlzYWlJWUlBWkI0TU1BYkNBTlFhQVViQ0lhYTJvaUcycEJDM1UyQWlBZ0JTQWJJQWxyUVF0MU5nTGdBaUFGUVVCcklBY2dDMnBCK0ZWc0lna2dGaUFIUWJHYmYyeHFJQlZxYWlJVklBOGdCa0dNSUd3Z0VtdHFJZzlxUVF0MU5nSUFJQVVnRHlBVmEwRUxkVFlDd0FJZ0JTQVRJQXRCbEkwQmJHb2dGR29nQ1dvaUNTQVJJQXBCZ2tSc2FpSVBJQVpCakhWc0lBMUI4aHRzSWcxcmFpSVNha0VMZFRZQ1lDQUZJQklnQ1d0QkMzVTJBcUFDSUFVZ0NFR1dZbXdnRjBIVkZXd2dCeUFJYTBHQ1BHeHFJZ2dnRGtHekZHeHFhaUlPSUE4Z0RTQUdRY3RNYkdwcUlnMXFRUXQxTmdLQUFTQUZJQTBnRG10QkMzVTJBb0FDSUFVZ0NDQUhRYzRZYkdvZ0MwRy9rSDlzYWlJSUlCZ2dHaUFHUWU2dmYyeHFhaUlIYWtFTGRUWUNvQUVnQlNBSElBaHJRUXQxTmdMZ0FTQUZJQkVnQ2lBR2EwSEIyZ0JzYWtFTGRUWUN3QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0RFRUJhaUlNUVFoSERRQUxJQnhCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NFQ0lNSUFBb0FoZ2lDR29oQ3lBQUtBSUVJZ2NnQUNnQ0RDSUdha0hRMUFCc0lRb2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURTQU1JQWhySWhGQm1RWnNhaUlKSUF0Qitja0FiQ0lRSUFBb0FnZ2lERUh4MXdCc2Ftb2lEeUFISUFBb0Fod2lEbW9pRWtHQ1BHd2lFeUFISUFBb0FoUWlDR3BCdnNvQWJDSVhJQW9nQjBIYi9uNXNhbXBxSWhScVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdGR3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnRFNBUlFaVWZiR29pRHlBTVFlRERBR3dnQzBHZ0ZHd2lGR3RxSWhVZ0JpQU9ha0hDdFg5c0loWWdCaUFJYWtHcmFtd2lHQ0FLSUFaQnl6VnNhbXBxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCVWdDbXRCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ1NBTVFZd2diQ0FRYTJvaUNpQUlJQTVxUWZoVmJDSUpJQmNnR0NBSVFiR2JmMnhxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDaUFRYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBTklCRkJna1JzYWlJS0lBeEJqSFZzSUF0QjhodHNJZ3RyYWlJUUlCTWdGaUFPUVpTTkFXeHFhaUFKYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQVFJQWxyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUFvZ0N5QU1RY3RNYkdwcUlnc2dCa0dXWW13Z0VrSFZGV3dnQ0NBR2EwR0NQR3hxSWdZZ0IwR3pGR3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUxJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUE4Z0ZDQU1RZTZ2ZjJ4cWFpSUhJQVlnQ0VIT0dHeHFJQTVCdjVCL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkVnREd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVExSERRQUxJQmtrQmd2Q0NnRVpmeU1HSVJvakJrSEFBMm9rQmlBQUtBTFFBaUVkSUJvaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVhBZ0FTZ0M0QUZzSWhaQkRYUWlDU0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9pREVIU3pBQnNJaEVnQmlBQ0xnRXdJQUVvQW1Cc0lncHFRYmZWQUd3aUVpQUdRZkMzZjJ4cWFtb2hDeUFHSUFwckloTkI4aDFzSUFsckloZ2dERUdVTUd3aUZ5QUdRWXU4ZjJ4cWFpRVFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lNUWNiUkFHeHFJaFFnQWk0QklDQUJRVUJyS0FJQWJDSU5JQUl1QVdBZ0FTZ0N3QUZzSWc1cVFlTEdBR3dpRlNBTlFiMFJiR29pRzJvaUdTQUxha0VMZFRZQ0FDQUZJQmtnQzJ0QkMzVTJBcUFESUFVZ0J5QUtha0h2ZFd3Z0NXc2lDeUFLUWU1a2JDQVNhbW9pRWlBR0lBeEJraFJzYWlJWklCVWdEa0g4a1g5c2FpSVZhaUljYWtFTGRUWUNJQ0FGSUJ3Z0VtdEJDM1UyQW9BRElBVkJRR3NnQ3lBSFFZbm9mbXdnRVdwcUlnc2dCaUFNUWNsSGJHb2lFU0FOUWFNbmJDQU9RZUduZjJ4cUlnMXFJZzVxUVF0MU5nSUFJQVVnRGlBTGEwRUxkVFlDNEFJZ0JTQVRJQWRySUJacVFRSjBJZ3NnQmlBTVFiNmxmMnhxUVF0MUlnWnFOZ0pnSUFVZ0JpQUxhellDd0FJZ0JTQUhJQXByUWZqWkFHd2lCaUFIUWVhVGYyeHFJQmRxSUFscUlnY2dFU0FOYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWRyUVF0MU5nS2dBaUFGSUFZZ0NrR1pLMnhxSUJocUlnY2dHU0FWYXlJS2FrRUxkVFlDb0FFZ0JTQUtJQWRyUVF0MU5nS0FBaUFGSUJRZ0cyc2lCeUFRYWtFTGRUWUN3QUVnQlNBSElCQnJRUXQxTmdMZ0FTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FJUVFGcUlnaEJDRWNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJY1FRMTBJZ29nQUNnQ0JDSUZJQUFvQWhRaUNHb2lCa0hTekFCc0lnNGdCU0FBS0FJTUlnZHFRYmZWQUd3aUR5QUZRZkMzZjJ4cWFtb2hEQ0FGSUFkckloRkI4aDFzSUFwckloSWdCa0dVTUd3aUZpQUZRWXU4ZjJ4cWFpRUxJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUNJSlFjYlJBR3hxSWhjZ0FDZ0NDQ0lRSUFBb0FoZ2lEV3BCNHNZQWJDSVRJQkJCdlJGc2FpSVlhaUlVSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCUWdER3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQmlBSlFaSVViR29pRENBVElBMUIvSkYvYkdvaUUyb2lGQ0FISUFocVFlOTFiQ0FLYXlJVklBOGdCMEh1Wkd4cWFpSVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFVSUE5clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBWWdDVUhKUjJ4cUlnOGdFRUdqSjJ3Z0RVSGhwMzlzYWlJUWFpSU5JQlVnRGlBSVFZbm9mbXhxYWlJT2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQTVyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUFZZ0NVRytwWDlzYWlJR0lBb2dFU0FJYTBFTmRHb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQmlBSmEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQVBJQkJySWdZZ0ZpQUlJQWRyUWZqWkFHd2lDU0FLSUFoQjVwTi9iR3BxYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUdJQWhyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUF3Z0Uyc2lDQ0FTSUFrZ0IwR1pLMnhxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUlJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUJjZ0dHc2lDQ0FMYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSUlBdHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVPUncwQUN5QWFKQVlMbmdzQkczOGpCaUVkSXdaQjRBTnFKQVlnQUNnQzBBSWhIeUFkSWdBaEJTQUJLQUpVSVFFRFFDQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUxJQUl1QVdBZ0FTZ0N3QUZzSWdoQmhHUnNhaUVSSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDUVVCckxnRUFJQUVvQW9BQmJDSVRheUVISUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0V3SUFFb0FtQnNJZ29nQWk0QmNDQUJLQUxnQVd3aURXc2lGbXBCbWpWc0loY2dCa0h4SUd4cUlRa2dBU2dDb0FFZ0FpNEJVRUd4emdCc2JDSU9JQVlnRFdzaUdFR0MyZ0JzYWlJUElBMUJvNTBCYkNBS1FmYXBmMndpR1d0cUlSSWdEeUFLUWVaS2JDSWFJQVpCNTdoL2JHcHFJUW9nQlNBU0lBc2dDRUdkeVFCc2FpSVBJQXdnRTJvaUUwSE8xUUJzSWhRZ0IwSDJBbXdpRzJwcUloeHFRUXQxTmdJQUlBVWdIQ0FTYTBFTGRUWUN3QU1nQlNBUklCTkJ6REpzSWhJZ0IwSFFGbXdpSEdwcUloNGdDV3BCQzNVMkFpQWdCU0FlSUFsclFRdDFOZ0tnQXlBRlFVQnJJQmhCc2M0QWJDQU9heUlKSUFzZ0NFRytwWDlzYWlJTElBZEJvQzFzYWlJSWFrRUxkVFlDQUNBRklBZ2dDV3RCQzNVMkFvQURJQVVnQmlBTmFrSG9KR3dpQ0NBR1Fia2ViQ0FhYWlBT2Eyb2lCaUFSSUJzZ0RFR1QzQUJzSWd3Z0ZHdHFhaUlKYWtFTGRUWUNZQ0FGSUFrZ0JtdEJDM1UyQXVBQ0lBVWdIQ0FQSUJKcmFpSUdJQmNnRmtIYzlINXNhaUlKYWtFTGRUWUNnQUVnQlNBR0lBbHJRUXQxTmdMQUFpQUZJQWdnRGlBWmFpQU5RYTlJYkdwcUlnWWdCMEc1Wm13aURTQVBJQk5CZ2lOc0lnNXJhaUlJYWtFTGRUWUNvQUVnQlNBSUlBWnJRUXQxTmdLZ0FpQUZJQW9nRVNBTklBNGdER3RxYWlJR2FrRUxkVFlDd0FFZ0JTQUdJQXByUVF0MU5nS0FBaUFGSUFzZ0IwSEFwWDlzYWtFTGRUWUM0QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0VFRUJhaUlRUVFoSERRQUxJQjlCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NBRUVOZEVHQWdJakFBR29pRGlBQUtBSVlJZ3RCaEdSc2FpRU5JQUFvQWdnaUNDQUFLQUlRSWc5cklSQWdBQ2dDQkNJSElBQW9BZ3dpQlNBQUtBSWNJZ1pySWhOcVFabzFiQ0lWSUFkQjhTQnNhaUVNSUFBb0FoUkJzYzRBYkNJUklBY2dCbXNpRmtHQzJnQnNhaUlKSUFaQm81MEJiQ0FGUWZhcGYyd2lGMnRxSVFvZ0NTQUZRZVpLYkNJWUlBZEI1N2gvYkdwcUlRa2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdEaUFMUVozSkFHeHFJaElnQ0NBUGFpSVBRYzdWQUd3aUdTQVFRZllDYkNJYWFtb2lGQ0FLYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBVUlBcHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQTBnRDBITU1td2lDaUFRUWRBV2JDSVVhbW9pR3lBTWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWJJQXhyUVJKMlFmOEhjV29zQUFBNkFBMGdCU0FDSUE0Z0MwRytwWDlzYWlJT0lCQkJvQzFzYWlJTElCWkJzYzRBYkNBUmF5SU1ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUF4clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBMGdHaUFJUVpQY0FHd2lDeUFaYTJwcUlnZ2dCaUFIYWtIb0pHd2lEQ0FZSUFkQnVSNXNhaUFSYTJvaUIycEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDQ0FIYTBFU2RrSC9CM0ZxTEFBQU9nQUxJQVVnQWlBVUlCSWdDbXRxSWdjZ0ZTQVRRZHowZm14cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0VFRzVabXdpQnlBU0lBOUJnaU5zSWdocmFpSUtJQXdnRVNBWGFpQUdRYTlJYkdwcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQW9nQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQUhJQWdnQzJ0cWFpSUhJQWxxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdEaUFRUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVQUncwQUN5QWRKQVlMMnd3QkhuOGpCaUVnSXdaQmdBUnFKQVlnQUNnQzBBSWhJaUFnSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0VnSUFGQlFHc29BZ0JzSWhBZ0FpNEJZQ0FCS0FMQUFXd2lEMnNpRVVIVUVXd2hEQ0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9oQ2lBR0lBSXVBWEFnQVNnQzRBRnNJZzFxUWZ6RkFHd2lGeUFLUWVuUEFHd2lFeUFHSUFJdUFUQWdBU2dDWUd3aUNHcEJ6dFlBYkNJTElBWkIxdTErYkdwcWFpRU9JQVlnRFd0QnRqbHNJaGtnQ2tIVkttd2lHQ0FHSUFoclFhTWFiQ0lTSUFaQndvcC9iR3BxYWlFS0lBZ2dEV29pQmtHclZXd2lHaUFISUFocVFmQUliQ0lVSUFoQnpRUnNJQXRxYW1vaEN5QUdRWmV3ZjJ3aUd5QUhJQWhyUVluYUFHd2lIQ0FJUVpyK0FHd2dFbXBxYWlFSUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSVNRYy9UQUd3aUhXb2lGU0FSUWVQWUFHd2lFU0FQUVlPa0FXeHFJaDVxSWg4Z0RtcEJDM1UyQWdBZ0JTQWZJQTVyUVF0MU5nTGdBeUFGSUFzZ0JpQVNRZEVpYkNJT2FpSVNJQXdnRUVITk9XeHFJaDlxSWlGcVFRdDFOZ0lnSUFVZ0lTQUxhMEVMZFRZQ3dBTWdCVUZBYXlBSElBMXFRYktwZjJ3aUN5QVVJQWRCK3JkL2JHb2dFMnBxSWhNZ0JpQU9heUlPSUJFZ0VFSENXV3hxSWhCcUloRnFRUXQxTmdJQUlBVWdFU0FUYTBFTGRUWUNvQU1nQlNBYUlBMUJtTVFBYkdvZ0Yyb2dDMm9pQ3lBR0lCMXJJZ1lnRENBUFFiQmZiR29pRDJvaURHcEJDM1UyQW1BZ0JTQU1JQXRyUVF0MU5nS0FBeUFGSUJzZ0RVR0Z5UUZzYWlBWmFpQU5JQWRyUWFNYWJDSU5haUlNSUFZZ0Qyc2lCbXBCQzNVMkFvQUJJQVVnQmlBTWEwRUxkVFlDNEFJZ0JTQWNJQWRCK2s1c2FpQVlhaUFOYWlJR0lBNGdFR3NpQjJwQkMzVTJBcUFCSUFVZ0J5QUdhMEVMZFRZQ3dBSWdCU0FJSUJJZ0gyc2lCbXBCQzNVMkFzQUJJQVVnQmlBSWEwRUxkVFlDb0FJZ0JTQUtJQlVnSG1zaUJtcEJDM1UyQXVBQklBVWdCaUFLYTBFTGRUWUNnQUlnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFoSERRQUxJQ0pCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NDQ0lOSUFBb0FoZ2lDR3NpQzBIVUVXd2hFQ0FBS0FJRUlnVWdBQ2dDRkNJSmFpRVBJQVVnQUNnQ0hDSUdha0g4eFFCc0loWWdEMEhwendCc0loRWdCU0FBS0FJTUlnZHFRYzdXQUd3aUNpQUZRZGJ0Zm14cWFtb2hEQ0FGSUFaclFiWTViQ0lYSUE5QjFTcHNJaE1nQlNBSGEwR2pHbXdpRGlBRlFjS0tmMnhxYW1vaER5QUdJQWRxSWdWQnExVnNJaGdnQnlBSmFrSHdDR3dpRWlBS0lBZEJ6UVJzYW1wcUlRb2dCVUdYc0g5c0loa2dDU0FIYTBHSjJnQnNJaG9nRGlBSFFacitBR3hxYW1vaERpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpRkVIUDB3QnNJaHRxSWh3Z0MwSGoyQUJzSWdzZ0NFR0RwQUZzYWlJZGFpSVZJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJVZ0RHdEJFblpCL3dkeGFpd0FBRG9BRHlBRklBSWdCeUFVUWRFaWJDSU1haUlVSUJBZ0RVSE5PV3hxSWhWcUloNGdDbXBCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnSGlBS2EwRVNka0gvQjNGcUxBQUFPZ0FPSUFVZ0FpQUhJQXhySWd3Z0N5QU5RY0paYkdvaURXb2lDaUFHSUFscVFiS3BmMndpQ3lBUklCSWdDVUg2dDM5c2FtcHFJaEZxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFvZ0VXdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCeUFiYXlJSElCQWdDRUd3WDJ4cUlnaHFJaEFnRmlBWUlBWkJtTVFBYkdwcUlBdHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUJBZ0NtdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFJYXlJSElCY2dHU0FHUVlYSkFXeHFhaUFHSUFsclFhTWFiQ0lHYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQWhyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUF3Z0RXc2lCeUFUSUJvZ0NVSDZUbXhxYWlBR2FpSUpha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lCUWdGV3NpQ1NBT2FrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUpJQTVyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUJ3Z0hXc2lDU0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBSklBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QWdKQVlMN2dzQkhIOGpCaUVYSXdaQmdBSnFKQVlnQUNnQzBBSWhJQ0FYSWdBaEJTQUJLQUpVSVFGQkNDRUlBMEFDZndKQUlBSXVBUkFpQ2lBQ0xnRWdJZ1p5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFR0RBSUZJQUpCUUdzdUFRQUVmMEVBSVFZTUF3VWdBaTRCVUFSL1FRQWhCZ3dFQlNBQ0xnRmdCSDlCQUNFR0RBVUZJQUl1QVhBRWYwRUFJUVlNQmdVZ0JTQUJLQUlBSUFJdUFRQkJBblJzSWdZMkFnQWdCU0FHTmdJZ0lBVkJRR3NnQmpZQ0FDQUZJQVkyQW1BZ0JTQUdOZ0tBQVNBRklBWTJBcUFCSUFVZ0JqWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUhJQUl1QVRBZ0FTZ0NZR3dpRFdvaUN5QUNMZ0ZRSUFFb0FxQUJiQ0lNSUFvZ0FTZ0NJR3dpQ21vaUNXcEJvY3NBYkNJUElBdEJ1NEovYkdvaUN5QUhJQXBxUWJOR2JDSU9JQWRCamhOc2Ftb2hCeUFQSUFsQmhHZHNhaUlKSUE0Z0NrR0w0QUJzYW1vaENpQUpJQXdnRFdwQi9kdCtiQ0lKSUF4QnM0TUJiR3BxSVF3Z0JTQUtJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzhnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRG1vaUVpQUJRVUJyS0FJQUlBWkJFSFJCRUhWc0lnWWdBaTRCWUNBQktBTEFBV3dpRVdwQjBTSnNJaE1nQmtIK01HeHFJZ1pxSWhScVFRdDFOZ0lBSUFVZ0ZDQUthMEVMZFRZQzRBRWdCU0FMSUFrZ0RVSFV4QUZzYW1vaURTQU9JQTlySWdvZ0V5QVJRZCtKZjJ4cUlndHFJZ2xxUVF0MU5nSWdJQVVnQ1NBTmEwRUxkVFlDd0FFZ0JVRkFheUFNSUFvZ0Myc2lEV3BCQzNVMkFnQWdCU0FOSUF4clFRdDFOZ0tnQVNBRklBY2dFaUFHYXlJR2FrRUxkVFlDWUNBR0lBZHJRUXQxSVFaQklBdEJBblFnQldvZ0JqWUNBQ0FGUVFScUlRVWdBVUVFYWlFQklBSkJBbW9oQWlBSVFYOXFJUVlnQ0VFQlN3UkFJQVloQ0F3QkN3c2dJRUdBZldvaEFrRUFJUUVEUUNBQUtBSUlJZzBnQUNnQ0dDSU1heUlPUWRRUmJDRUtJQUFvQWdRaUJTQUFLQUlVSWdocUlSQWdCU0FBS0FJY0lnWnFRZnpGQUd3aUVpQVFRZW5QQUd3aUVTQUZJQUFvQWd3aUIycEJ6dFlBYkNJSklBVkIxdTErYkdwcWFpRUxJQVVnQm10QnRqbHNJaE1nRUVIVkttd2lGQ0FGSUFkclFhTWFiQ0lQSUFWQndvcC9iR3BxYWlFUUlBWWdCMm9pQlVHclZXd2lHQ0FISUFocVFmQUliQ0laSUFrZ0IwSE5CR3hxYW1vaENTQUZRWmV3ZjJ3aUdpQUlJQWRyUVluYUFHd2lHeUFQSUFkQm12NEFiR3BxYWlFUElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdjZ0FDZ0NFQ0lWUWMvVEFHd2lIR29pSFNBT1FlUFlBR3dpRGlBTVFZT2tBV3hxSWg1cUloWWdDMnBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRmlBTGEwRVNka0gvQjNGcUxBQUFPZ0FQSUFVZ0FpQUhJQlZCMFNKc0lndHFJaFVnQ2lBTlFjMDViR29pRm1vaUh5QUpha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFmSUFsclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBY2dDMnNpQ3lBT0lBMUJ3bGxzYWlJTmFpSUpJQVlnQ0dwQnNxbC9iQ0lPSUJFZ0dTQUlRZnEzZjJ4cWFtb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ1NBUmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQnhySWdjZ0NpQU1RYkJmYkdvaURHb2lDaUFTSUJnZ0JrR1l4QUJzYW1vZ0Rtb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ2lBSmEwRVNka0gvQjNGcUxBQUFPZ0FNSUFVZ0FpQUhJQXhySWdjZ0V5QWFJQVpCaGNrQmJHcHFJQVlnQ0d0Qm94cHNJZ1pxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dER3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ3lBTmF5SUhJQlFnR3lBSVFmcE9iR3BxSUFacUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0ZTQVdheUlJSUE5cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBZ2dEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnSFNBZWF5SUlJQkJxUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0VHdEJFblpCL3dkeGFpd0FBRG9BQ0NBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCY2tCZ3ZURXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBRkJBaEE1SVF3Z0FrRUNFRGtoRGlBRUtBSUFJZ2NoQWlBTUlBNUJmMm9pRUd4QkFYUWdCMm9oQlFOQUlBWWdERWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0JrRUJhaUVHREFFTEN5QUhJUUlnREVGL2FpSVJRUUYwSUFkcUlRVkJBQ0VHQTBBZ0JpQU9TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdERUVCZENBQ2FpRUNJQXhCQVhRZ0JXb2hCU0FHUVFGcUlRWU1BUXNMSUFSQmtJRElBR29oQWtFQUlBeHJJUklnQUNBQlFRRjBRUUpxYWlFTlFRRWhDMEVBSVFVZ0RFRUJha0VCZENBSGFpRUhBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUFrQWdFa0VCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFMTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0N6WUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQUxJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFDeUFOUVFKcUlRMGdDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FOYWtFRWFpRU5JQXRCQVdvaEN5QUFJUVVnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUdSZ1JBSUFCQkFXb2hBUVVnQUNFQklBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0REWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRGpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdmFDQUVXZnlNR0lSZ2pCa0hnQVdva0JpQUFLQUxRQWlFYUlCZ2lBQ0VGSUFFb0FsUWhBUU5BSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2dnQWk0QllDQUJLQUxBQVd3aUNXdEJ0emhzSWd3Z0FpNEJJQ0FCUVVCcktBSUFiQ0lISUFoclFaSVViQ0lTSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdvZ0NFR1ZpbjlzYW1wcUlRMGdBaTRCRUNBQktBSWdiQ0lPSUFJdUFUQWdBU2dDWUd3aUMycEI3enRzSWhNZ0RpQUxhMEh6Q213aUZHb2dDeUFDTGdGUUlBRW9BcUFCYkNJTGFrSGhwMzlzSWhWcUlROGdCU0FLSUFjZ0NXb2lFVUhHMFFCc2FpSVdJQXdnQ1VHRGUyeHFhaUlKSUFzZ0RtcEJveWRzSWc0Z0V5QVVhMm9pREdwQkMzVTJBZ0FnQlNBSklBeHJRUXQxTmdMQUFTQUZJQTBnRDJwQkMzVTJBaUFnQlNBTklBOXJRUXQxTmdLZ0FTQUZRVUJySUJZZ0VpQUhRZkhoZm14cWFpSUpJQlVnRGlBTFFkNzNBR3hxYWlJSGFrRUxkVFlDQUNBRklBa2dCMnRCQzNVMkFvQUJJQVVnQ2lBSUlCRnJRY0hhQUd4cVFRdDFOZ0pnSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBWkJBV29pQmtFSVJ3MEFDeUFhUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHhCRFhRaUNTQUFLQUlFSWdVZ0FDZ0NGQ0lHYWlJSFFkTE1BR3dpRUNBRklBQW9BZ3dpQ0dwQnQ5VUFiQ0lNSUFWQjhMZC9iR3BxYWlFTklBVWdDR3NpRTBIeUhXd2dDV3NpRkNBSFFaUXdiQ0lTSUFWQmk3eC9iR3BxSVE0Z0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFJZ3BCeHRFQWJHb2lGU0FBS0FJSUlnc2dBQ2dDR0NJUGFrSGl4Z0JzSWhFZ0MwRzlFV3hxSWhacUloY2dEV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQXBCa2hSc2FpSU5JQkVnRDBIOGtYOXNhaUlSYWlJWElBWWdDR3BCNzNWc0lBbHJJaGtnRENBSVFlNWtiR3BxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCY2dER3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBS1FjbEhiR29pRENBTFFhTW5iQ0FQUWVHbmYyeHFJZ3RxSWc4Z0dTQVFJQVpCaWVoK2JHcHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUE4Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdCeUFLUWI2bGYyeHFJZ2NnQ1NBVElBWnJRUTEwYWlJS2FrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUhJQXByUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUF3Z0Myc2lCeUFTSUFZZ0NHdEIrTmtBYkNJS0lBa2dCa0htazM5c2FtcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FSYXlJR0lCUWdDaUFJUVprcmJHcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFZZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdGU0FXYXlJR0lBNXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQVlnRG10QkVuWkIvd2R4YWl3QUFEb0FCeUFBUVNCcUlRQWdBVUVCYWlJQlFRZEhEUUFMSUJna0JndVJCd0VWZnlNR0lSUWpCa0hBQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNDQUJLQUtBQVNBQ1FVQnJMZ0VBUWFFdGJHd2lER29pRFNBQlFVQnJLQUlBSUFJdUFTQkJzYzRBYkd3aUVXb2lDaUFDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lDMnBCdGhkc0lnNGdCaUFDTGdFd0lBRW9BbUJzSWdkcVFRMTBhaUlTYWtFTGRUWUNBQ0FGSUFvZ0VtdEJDM1UyQXFBQklBVWdDQ0FNUVg1c2FrRUxkU0lJSUFZZ0Iyc2dDMnRCQW5RaUJtbzJBaUFnQlNBSUlBWnJOZ0tBQVNBRlFVQnJJQTBnRVdzaUJpQU9JQXNnQjJ0QkRYUnFJZ3RxUVF0MU5nSUFJQVVnQmlBTGEwRUxkVFlDWUNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUpRUUZxSWdsQkNFY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJR0lBQW9BaEJCc2M0QWJDSU9haUVRSUFBb0FnZ2lDRUVOZENBQUtBSVlRUTEwSWd4ckloSWdCbW9oRFNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnRENBSVFiYlhBR3hxSWhVZ0VHb2lEeUFBS0FJY0lna2dBQ2dDQkNJTElBQW9BaFFpQjJvaUNtcEJqVGRzSWhFZ0NrSGJFR3hxSWhZZ0FDZ0NEQ0lLUWMvVEFHd2lGeUFMUWZjUmJHcHFJaE5xUVJKMlFmOEhjU0FDYWl3QUFEb0FBQ0FGSUE4Z0UydEJFblpCL3dkeElBSnFMQUFBT2dBTElBVWdEU0FMSUFscklnOGdDaUFIYXlJVGFrSFJJbXdpR0NBUFFmNHdiR29pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FCSUFVZ0RTQVBhMEVTZGtIL0IzRWdBbW9zQUFBNkFBb2dCU0FJUWJZWGJDQU1heUlJSUFZZ0Rtc2lER29pRFNBV0lBY2dDV3BCaTcxL2JDSU9JQXBCcjExc0lnb2dCMEd3b1g5c2FtcHFJZ2RxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUEwZ0IydEJFblpCL3dkeElBSnFMQUFBT2dBSklBVWdEQ0FJYXlJSElBNGdFU0FKUWNibEFHd2dGMnRxYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUhJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FDQ0FGSUFZZ0Vtc2lCaUFZSUJOQjM0bC9iR29pQjJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FFSUFVZ0JpQUhhMEVTZGtIL0IzRWdBbW9zQUFBNkFBY2dCU0FRSUJWcklnWWdFU0FLSUF0QjNGUnNhaUFKUVl5QmYyeHFhaUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVFaSERRQUxJQlFrQmd1Y0JnRVNmeU1HSVJRakJrR2dBV29rQmlBQUtBTFFBaUVXSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQWk0QklDQUJRVUJyS0FJQWJDSUpJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnWnFRY3d5YkNJS0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnNGdDU0FHYXlJSlFkQVdiR29pQm1vaUN5QUNMZ0VRSUFFb0FpQnNJZ3dnQWk0Qk1DQUJLQUpnYkNJUGFrR2FOV3dpRFNBTVFmRWdiR29pREdwQkMzVTJBZ0FnQlNBTElBeHJRUXQxTmdLQUFTQUZJQVlnQ21zaUJpQU5JQTlCM1BSK2JHb2lDbXBCQzNVMkFpQWdCU0FHSUFwclFRdDFOZ0pnSUFWQlFHc2dEaUFKUWNDbGYyeHFRUXQxTmdJQUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQWRCQVdvaUIwRUlSdzBBQ3lBV1FZQjlhaUVDUVFBaEFRTkFJQUFvQWd3aUJ5QUFLQUljSWdacUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBQW9BaFJCRFhRaUNTQUhJQVpySWdaQjR4TnNJZ3RxSWd3Z0NFSHZQR3dpRHlBQUtBSUVJZ2RCczlrQWJHcHFJZzBnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lDaUFBS0FJUUlnNUJuY2tBYkdvaUZTQUFLQUlJSWhBZ0FDZ0NHQ0lSYWtHYU5Xd2lFaUFRUWZFZ2JHb2lFR29pRTJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0V5QU5hMEVTZGtIL0IzRWdBbW9zQUFBNkFBa2dCU0FIUWRQUUFHd2dDRUhQSld3aUNHc2dDU0FMYXlBR1FReDBheUlMYXlJTklBb2dEa0dFWkd4cUloTWdFaUFSUWR6MGZteHFJaEZxSWhKcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQVNBRklCSWdEV3RCRW5aQi93ZHhJQUpxTEFBQU9nQUlJQVVnQnlBR2EwRU5kQ0FKYXlJSklBb2dEa0crcFg5c2FpSUdha0VTZGtIL0IzRWdBbW9zQUFBNkFBSWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQnlBRklCTWdFV3NpQ1NBTElBZEJqQ2xzSUFocmFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FKSUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBRklBd2dCMEdVRG13Z0QydHFJZ2NnRlNBUWF5SUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBUWdCU0FJSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQlNBQVFTQnFJUUFnQVVFQmFpSUJRUVZIRFFBTElCUWtCZ3ZCREFFUWZ5TUdJUTRqQmtHQUFXb2tCaUFBS0FMUUFpRVVJQTRpQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3dpQlNBQ0xnRWdJQUZCUUdzb0FnQnNJZ2RxUVFKMElnZ2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFUQWdBU2dDWUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0FDQUFJQWdnQm1zMkFtQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lnSUFCQlFHc2dCU0FIYXpZQ0FDQUFJQUl1QVFJZ0FTZ0NCR3dpQlNBQ0xnRWlJQUVvQWtSc0lnZHFRUUowSWdnZ0FpNEJFaUFCS0FJa2JDSUdJQUl1QVRJZ0FTZ0NaR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQkNBQUlBZ2dCbXMyQW1RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWtJQUFnQlNBSGF6WUNSQ0FBSUFJdUFRUWdBU2dDQ0d3aUJTQUNMZ0VrSUFFb0FraHNJZ2RxUVFKMElnZ2dBaTRCRkNBQktBSW9iQ0lHSUFJdUFUUWdBU2dDYUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0NDQUFJQWdnQm1zMkFtZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lvSUFBZ0JTQUhhellDU0NBQUlBSXVBUVlnQVNnQ0RHd2lCU0FDTGdFbUlBRW9Ba3hzSWdkcVFRSjBJZ2dnQWk0QkZpQUJLQUlzYkNJR0lBSXVBVFlnQVNnQ2JHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNEQ0FBSUFnZ0JtczJBbXdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJc0lBQWdCU0FIYXpZQ1RDQUFJQUl1QVFnZ0FTZ0NFR3dpQlNBQ0xnRW9JQUVvQWxCc0lnZHFRUUowSWdnZ0FpNEJHQ0FCS0FJd2JDSUdJQUl1QVRnZ0FTZ0NjR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRUNBQUlBZ2dCbXMyQW5BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXdJQUFnQlNBSGF6WUNVQ0FBSUFJdUFRb2dBU2dDRkd3aUJTQUNMZ0VxSUFFb0FsUnNJZ2RxUVFKMElnZ2dBaTRCR2lBQktBSTBiQ0lHSUFJdUFUb2dBU2dDZEd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0ZDQUFJQWdnQm1zMkFuUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0kwSUFBZ0JTQUhhellDVkNBQUlBSXVBUXdnQVNnQ0dHd2lCU0FDTGdFc0lBRW9BbGhzSWdkcVFRSjBJZ2dnQWk0QkhDQUJLQUk0YkNJR0lBSXVBVHdnQVNnQ2VHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNHQ0FBSUFnZ0JtczJBbmdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJNElBQWdCU0FIYXpZQ1dDQUFJQUl1QVE0Z0FTZ0NIR3dpQlNBQ0xnRXVJQUVvQWx4c0lnZHFRUUowSWdnZ0FpNEJIaUFCS0FJOGJDSUdJQUl1QVQ0Z0FTZ0NmR3dpQVdwQjBTSnNRWUFJYWlJQ0lBWkIvakJzYWtFTGRTSUdhallDSENBQUlBZ2dCbXMyQW53Z0FDQUZJQWRyUVFKMElnVWdBaUFCUWQrSmYyeHFRUXQxSWdGcU5nSThJQUFnQlNBQmF6WUNYQ0FVUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQ3lBQUtBSU1JZ1ZxSWdZZ0FDZ0NGQ0lISUFBb0FnUWlDR29pQ21wQm9jc0FiQ0lKSUFaQnU0Si9iR29pRHlBSUlBdHFRYk5HYkNJTUlBdEJqaE5zYW1vaEJpQUpJQXBCaEdkc2FpSUxJQXdnQ0VHTDRBQnNhbW9oQ0NBTElBVWdCMnBCL2R0K2JDSUtJQWRCczRNQmJHcHFJUWNnQkNBQlFRSjBJQU5xS0FJQWFpSUxJQUlnQUNnQ0FFR1FnQUZxSWdrZ0FDZ0NFQ0lNYWtFTmRDSVFJQUFvQWdnaURTQUFLQUlZSWhGcVFkRWliQ0lTSUExQi9qQnNhaUlOYWlJVElBaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0N5QUNJQk1nQ0d0QkVuWkIvd2R4YWl3QUFEb0FCeUFMSUFJZ0NTQU1hMEVOZENJSUlCSWdFVUhmaVg5c2FpSUphaUlNSUE4Z0NpQUZRZFRFQVd4cWFpSUZha0VTZGtIL0IzRnFMQUFBT2dBQklBc2dBaUFNSUFWclFSSjJRZjhIY1dvc0FBQTZBQVlnQ3lBQ0lBZ2dDV3NpQlNBSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFzZ0FpQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBVWdDeUFDSUJBZ0RXc2lCU0FHYWtFU2RrSC9CM0ZxTEFBQU9nQURJQXNnQWlBRklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVFUncwQUN5QU9KQVlMK1FvQkMzOGpCaUVGSXdaQjBBQnFKQVlnQUNnQzBBSWhDeUFGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lJYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkVFlDQUNBRklBRWdBR3RCQzNVMkFqQWdCU0FISUFoQmZteHFRUXQxTmdJWUlBVWdCaWdDQkNBQ0xnRUNRUTEwYkVHQUNISWlCeUFHS0FKRUlBSXVBU0pCb1Mxc2JDSUlhaUlCSUFZb0FpUWdBaTRCRWtHeHpnQnNiQ0lBYWtFTGRUWUNCQ0FGSUFFZ0FHdEJDM1UyQWpRZ0JTQUhJQWhCZm14cVFRdDFOZ0ljSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUJ5QUdLQUpJSUFJdUFTUkJvUzFzYkNJSWFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFRZQ0NDQUZJQUVnQUd0QkMzVTJBamdnQlNBSElBaEJmbXhxUVF0MU5nSWdJQVVnQmlnQ0RDQUNMZ0VHUVExMGJFR0FDSElpQnlBR0tBSk1JQUl1QVNaQm9TMXNiQ0lJYWlJQklBWW9BaXdnQWk0QkZrR3h6Z0JzYkNJQWFrRUxkVFlDRENBRklBRWdBR3RCQzNVMkFqd2dCU0FISUFoQmZteHFRUXQxTmdJa0lBVWdCaWdDRUNBQ0xnRUlRUTEwYkVHQUNISWlCeUFHS0FKUUlBSXVBU2hCb1Mxc2JDSUlhaUlCSUFZb0FqQWdBaTRCR0VHeHpnQnNiQ0lBYWtFTGRUWUNFQ0FGUVVCcklBRWdBR3RCQzNVMkFnQWdCU0FISUFoQmZteHFRUXQxTmdJb0lBVWdCaWdDRkNBQ0xnRUtRUTEwYkVHQUNISWlCeUFHS0FKVUlBSXVBU3BCb1Mxc2JDSUlhaUlCSUFZb0FqUWdBaTRCR2tHeHpnQnNiQ0lBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWtRZ0JTQUhJQWhCZm14cVFRdDFJZzgyQWl3Z0JDQURLQUlBYWlJT0lBdEJnSDFxSWdrZ0JTZ0NBRUVOZEVHQWdJakFBR29pQ3lBRktBSVFRYUV0YkNJTWFpSUhJQVVvQWdoQnNjNEFiQ0lJYWlJQklBVW9BZ1FpQ2lBRktBSVVJZzFxUWJZWGJDSUNJQW9nQlNnQ0RDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBT0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQTRnQ1NBTElBeHJJQXhySWdFZ0NpQUdheUFOYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBNGdDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRGlBSklBY2dDR3NpQVNBQ0lBMGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnUnFJZ3dnQ1NBRktBSVlRUTEwUVlDQWlNQUFhaUlMSUFVb0FpaEJvUzFzSWdwcUlnY2dCU2dDSUVHeHpnQnNJZ2hxSWdFZ0R5QUZLQUljSWcxcVFiWVhiQ0lDSUEwZ0JTZ0NKQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU1JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUF3Z0NTQUxJQXBySUFwcklnRWdEU0FHYXlBUGEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXdnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RDQUpJQWNnQ0dzaUFTQUNJQThnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEQ0FKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ2hxSWdvZ0NTQUZLQUl3UVExMFFZQ0FpTUFBYWlJSUlBVkJRR3NvQWdCQm9TMXNJZzFxSWdRZ0JTZ0NPRUd4emdCc0lnTnFJZ0VnQlNnQ05DSUdJQVVvQWtRaUMycEJ0aGRzSWdJZ0JpQUZLQUk4SWdkcVFRMTBhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQW9nQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0NpQUpJQWdnRFdzZ0RXc2lBU0FHSUFkcklBdHJRUTEwSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ2lBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUtJQWtnQkNBRGF5SUJJQUlnQ3lBSGEwRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFLSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBVWtCZ3VMQkFFS2Z5TUdJUVVqQmtFZ2FpUUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQmlnQ0FHd2lBU0FDTGdFUUlBWW9BaUJzSWdCcUlnZzJBZ0FnQlNBQklBQnJOZ0lRSUFVZ0FpNEJBaUFHS0FJRWJDSUJJQUl1QVJJZ0JpZ0NKR3dpQUdvaUNqWUNCQ0FGSUFFZ0FHc2lDellDRkNBRklBSXVBUVFnQmlnQ0NHd2lBU0FDTGdFVUlBWW9BaWhzSWdCcUlndzJBZ2dnQlNBQklBQnJJZzAyQWhnZ0JTQUNMZ0VHSUFZb0FneHNJZ0VnQWk0QkZpQUdLQUlzYkNJQWFpSU9OZ0lNSUFVZ0FTQUFheUlHTmdJY0lBUWdBeWdDQUdvaUNTQUhRWUI5YWlJSElBd2dDRUdFSUdvaUNHcEJEWFFpQVNBS0lBNXFRZEVpYkNJQ0lBcEIvakJzYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFrZ0J5QUJJQUJyUVJCMlFmOEhjV29zQUFBNkFBTWdDU0FISUFnZ0RHdEJEWFFpQVNBQ0lBNUIzNGwvYkdvaUFHcEJFSFpCL3dkeGFpd0FBRG9BQVNBSklBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCQ0FGS0FJUVFZUWdhaUlESUExcVFRMTBJZ0VnQmlBTGFrSFJJbXdpQWlBTFFmNHdiR29pQUdwQkVIWkIvd2R4SUFkcUxBQUFPZ0FBSUFRZ0FTQUFhMEVRZGtIL0IzRWdCMm9zQUFBNkFBTWdCQ0FESUExclFRMTBJZ0VnQWlBR1FkK0pmMnhxSWdCcVFSQjJRZjhIY1NBSGFpd0FBRG9BQVNBRUlBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVVrQmd0aEFDQUVJQU1vQWdCcUlnTWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkFDQUJLQUpVSWdFb0FnQnNRWVFnYWlJRUlBSXVBUUlnQVNnQ0JHd2lBV3BCQTNaQi93ZHhhaXdBQURvQUFDQURJQVFnQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzljSkFSNS9Jd1loRmlNR1FZQUVhaVFHSUFBb0F0QUNJU0lnRmlJQUlRVWdBU2dDVkNFQkEwQWdBaTRCSUNBQlFVQnJLQUlBYkNJTUlBSXVBV0FnQVNnQ3dBRnNJaEZySWc5QjFCRnNJUW9nQWk0QkVDQUJLQUlnYkNJR0lBSXVBVkFnQVNnQ29BRnNJZ2RxSVJBZ0JpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWtIOHhRQnNJaGNnRUVIcHp3QnNJaFFnQmlBQ0xnRXdJQUVvQW1Cc0lnbHFRYzdXQUd3aURTQUdRZGJ0Zm14cWFtb2hEaUFHSUFoclFiWTViQ0laSUJCQjFTcHNJaGdnQmlBSmEwR2pHbXdpRWlBR1FjS0tmMnhxYW1vaEVDQUlJQWxxSWdaQnExVnNJaG9nQnlBSmFrSHdDR3dpR3lBSlFjMEViQ0FOYW1wcUlRMGdCa0dYc0g5c0lod2dCeUFKYTBHSjJnQnNJaDBnQ1VHYS9nQnNJQkpxYW1vaENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ1lnQWtGQWF5NEJBQ0FCS0FLQUFXd2lFa0hQMHdCc0loNXFJaDhnRDBIajJBQnNJZzhnRVVHRHBBRnNhaUlnYWlJVklBNXFRUXQxTmdJQUlBVWdGU0FPYTBFTGRUWUM0QU1nQlNBTklBWWdFa0hSSW13aURtb2lFaUFLSUF4QnpUbHNhaUlWYWlJaGFrRUxkVFlDSUNBRklDRWdEV3RCQzNVMkFzQURJQVZCUUdzZ0J5QUlha0d5cVg5c0lnMGdHeUFIUWZxM2YyeHFJQlJxYWlJVUlBWWdEbXNpRGlBUElBeEJ3bGxzYWlJTWFpSVBha0VMZFRZQ0FDQUZJQThnRkd0QkMzVTJBcUFESUFVZ0dpQUlRWmpFQUd4cUlCZHFJQTFxSWcwZ0JpQWVheUlHSUFvZ0VVR3dYMnhxSWhGcUlncHFRUXQxTmdKZ0lBVWdDaUFOYTBFTGRUWUNnQU1nQlNBY0lBaEJoY2tCYkdvZ0dXb2dDQ0FIYTBHakdtd2lDR29pQ2lBR0lCRnJJZ1pxUVF0MU5nS0FBU0FGSUFZZ0NtdEJDM1UyQXVBQ0lBVWdIU0FIUWZwT2JHb2dHR29nQ0dvaUJpQU9JQXhySWdkcVFRdDFOZ0tnQVNBRklBY2dCbXRCQzNVMkFzQUNJQVVnQ1NBU0lCVnJJZ1pxUVF0MU5nTEFBU0FGSUFZZ0NXdEJDM1UyQXFBQ0lBVWdFQ0FmSUNCcklnWnFRUXQxTmdMZ0FTQUZJQVlnRUd0QkMzVTJBb0FDSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBdEJBV29pQzBFSVJ3MEFDeUFpUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQlNBQUtBSU1JZ3RxSWdnZ0FDZ0NGQ0lHSUFBb0FnUWlCMm9pQ1dwQm9jc0FiQ0lNSUFoQnU0Si9iR29pRVNBRklBZHFRYk5HYkNJS0lBVkJqaE5zYW1vaENDQU1JQWxCaEdkc2FpSUZJQW9nQjBHTDRBQnNhbW9oQnlBRklBWWdDMnBCL2R0K2JDSUpJQVpCczRNQmJHcHFJUVlnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFR1FnQUZxSWd3Z0FDZ0NFQ0lLYWtFTmRDSVFJQUFvQWdnaURpQUFLQUlZSWcxcVFkRWliQ0lUSUE1Qi9qQnNhaUlPYWlJUElBZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0RDQUthMEVOZENJSElCTWdEVUhmaVg5c2FpSU1haUlLSUJFZ0NTQUxRZFRFQVd4cWFpSUxha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFLSUF0clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dER3NpQ3lBR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQVpyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJBZ0Rtc2lDeUFJYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBTElBaHJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QVdKQVlMblFnQkdYOGpCaUVYSXdaQmtBTnFKQVlnQUNnQzBBSWhIU0FYSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0Z3SUFFb0F1QUJiQ0lUUVExMElnc2dBaTRCRUNBQktBSWdiQ0lISUFJdUFWQWdBU2dDb0FGc0lnWnFJZ3BCMHN3QWJDSVBJQWNnQWk0Qk1DQUJLQUpnYkNJSWFrRzMxUUJzSWhBZ0IwSHd0MzlzYW1wcUlRa2dCeUFJYXlJWVFmSWRiQ0FMYXlJWklBcEJsREJzSWhRZ0IwR0x2SDlzYW1vaEVTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2NnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDa0hHMFFCc2FpSWFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lPYWtIaXhnQnNJaFVnREVHOUVXeHFJaHRxSWhZZ0NXcEJDM1UyQWdBZ0JTQVdJQWxyUVF0MU5nTHNBaUFGSUFZZ0NHcEI3M1ZzSUF0cklna2dDRUh1Wkd3Z0VHcHFJaEFnQnlBS1FaSVViR29pRmlBVklBNUIvSkYvYkdvaUZXb2lIR3BCQzNVMkFod2dCU0FjSUJCclFRdDFOZ0xRQWlBRklBa2dCa0dKNkg1c0lBOXFhaUlKSUFjZ0NrSEpSMnhxSWc4Z0RFR2pKMndnRGtIaHAzOXNhaUlNYWlJT2FrRUxkVFlDT0NBRklBNGdDV3RCQzNVMkFyUUNJQVVnR0NBR2F5QVRha0VDZENJSklBY2dDa0crcFg5c2FrRUxkU0lIYWpZQ1ZDQUZJQWNnQ1dzMkFwZ0NJQVVnQmlBSWEwSDQyUUJzSWdjZ0JrSG1rMzlzYWlBVWFpQUxhaUlHSUE4Z0RHc2lDMnBCQzNVMkFuQWdCU0FMSUFaclFRdDFOZ0w4QVNBRklBY2dDRUdaSzJ4cUlCbHFJZ1lnRmlBVmF5SUlha0VMZFRZQ2pBRWdCU0FJSUFaclFRdDFOZ0xnQVNBRklCb2dHMnNpQmlBUmFrRUxkVFlDcUFFZ0JTQUdJQkZyUVF0MU5nTEVBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTlFRRnFJZzFCQjBjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSVFJZzBnQUNnQ0dDSUdhMEczT0d3aURDQUFLQUlJSWdnZ0RXdEJraFJzSWc0Z0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBTlFaV0tmMnhxYW1vaEN5QUFLQUlFSWdvZ0FDZ0NEQ0lGYWtIdk8yd2lFaUFLSUFWclFmTUtiQ0lUYWlBRklBQW9BaFFpQ1dwQjRhZC9iQ0lQYWlFUklBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBY2dCaUFJYWlJUVFjYlJBR3hxSWhRZ0RDQUdRWU43YkdwcUlnWWdDU0FLYWtHakoyd2lDaUFTSUJOcmFpSU1ha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFHSUF4clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBc2dFV3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQVVJQTRnQ0VIeDRYNXNhbW9pQmlBUElBb2dDVUhlOXdCc2Ftb2lDR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQTBnRUd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUF5QUFRUnhxSVFBZ0FVRUJhaUlCUVE1SERRQUxJQmNrQmd2bkJnRVhmeU1HSVJRakJrR2dBbW9rQmlBQUtBTFFBaUViSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2dnQVNnQ2dBRWdBa0ZBYXk0QkFFR3h6Z0JzYkNJU2FpRVFJQWdnQWk0QklDQUJRVUJyS0FJQWJDSUtRUTEwSUFFb0FzQUJJQUl1QVdCQkRYUnNJZ3RySWhacUlRd2dCU0FRSUFwQnR0Y0FiQ0FMYWlJWGFpSVRJQUl1QVhBZ0FTZ0M0QUZzSWdZZ0FpNEJFQ0FCS0FJZ2JDSU5JQUl1QVZBZ0FTZ0NvQUZzSWdkcUlnNXFRWTAzYkNJUklBNUIyeEJzYWlJWUlBSXVBVEFnQVNnQ1lHd2lEa0hQMHdCc0loa2dEVUgzRVd4cWFpSVBha0VMZFRZQ0FDQUZJQk1nRDJ0QkMzVTJBb2dDSUFVZ0RpQUhheUlUSUEwZ0Jtc2lEMnBCMFNKc0lob2dEMEgrTUd4cUlnOGdER3BCQzNVMkFoZ2dCU0FNSUE5clFRdDFOZ0x3QVNBRklBZ2dFbXNpRENBS1FiWVhiQ0FMYXlJS2FpSUxJQmdnQmlBSGFrR0x2WDlzSWhJZ0RrR3ZYV3dpRGlBSFFiQ2hmMnhxYW1vaUIycEJDM1UyQWpBZ0JTQUxJQWRyUVF0MU5nTFlBU0FGSUF3Z0Ntc2lCeUFTSUJFZ0JrSEc1UUJzSUJscmFtb2lDbXBCQzNVMkFrZ2dCU0FISUFwclFRdDFOZ0xBQVNBRklCb2dFMEhmaVg5c2FpSUhJQWdnRm1zaUNHcEJDM1UyQW1BZ0JTQUlJQWRyUVF0MU5nS29BU0FGSUJBZ0Yyc2lDQ0FSSUE0Z0RVSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0o0SUFVZ0NDQUdhMEVMZFRZQ2tBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUVpIRFFBTElCdEJnSDFxSVFKQkFDRUJBMEFnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUVFhRXRiQ0lKYWlJUUlBQW9BZ2hCc2M0QWJDSUthaUlMSUFBb0FnUWlCaUFBS0FJVUlnaHFRYllYYkNJTUlBWWdBQ2dDRENJTmFrRU5kR29pRVdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFscklBbHJJZ2tnQmlBTmF5QUlhMEVOZENJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUpJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUJBZ0Ntc2lDU0FNSUFnZ0RXdEJEWFJxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBa2dCbXRCRW5aQi93ZHhhaXdBQURvQUF5QUFRUmhxSVFBZ0FVRUJhaUlCUVF4SERRQUxJQlFrQmd2OUJRRVZmeU1HSVJRakJrSFFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVRBZ0FTZ0NZR3dpQmlBQ0xnRndJQUVvQXVBQmJDSUlhaUVISUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTFFaM0pBR3hxSWcwZ0FpNEJJQ0FCUVVCcktBSUFiQ0lPSUFJdUFXQWdBU2dDd0FGc0lnOXFRWm8xYkNJUUlBNUI4U0JzYWlJT2FpSVJJQVlnQ0dzaUNFSGpFMndpRWlBQ0xnRlFJQUVvQXFBQmJDSVZRUTEwSWhOcUloWWdCMEh2UEd3aUZ5QUNMZ0VRSUFFb0FpQnNJZ1pCczlrQWJHcHFJaGhxUVF0MU5nSUFJQVVnRVNBWWEwRUxkVFlDdEFFZ0JTQUpJQXRCaEdSc2FpSVJJQkFnRDBIYzlINXNhaUlQYWlJUUlBWkIwOUFBYkNBSFFjOGxiQ0lIYXlBVElCSnJJQWhCREhSckloSnJJaE5xUVF0MU5nSVVJQVVnRUNBVGEwRUxkVFlDb0FFZ0JTQUpJQXRCdnFWL2JHcEJDM1VpQ1NBR0lCVnJJQWhyUVFKMElndHFOZ0lvSUFVZ0NTQUxhellDakFFZ0JTQVJJQTlySWdrZ0VpQUdRWXdwYkNBSGEyb2lCMnBCQzNVMkFqd2dCU0FKSUFkclFRdDFOZ0o0SUFVZ0RTQU9heUlISUJZZ0JrR1VEbXdnRjJ0cUlnWnFRUXQxTmdKUUlBVWdCeUFHYTBFTGRUWUNaQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBS1FRRnFJZ3BCQlVjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUlJZ29nQUNnQ0VDSUdha0hNTW13aUJ5QUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBb2dCbXNpQ2tIUUZteHFJZ1pxSWdzZ0FDZ0NCQ0lJSUFBb0Fnd2lER3BCbWpWc0lnMGdDRUh4SUd4cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUhheUlHSUEwZ0RFSGM5SDVzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUdJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQUJCRkdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRkNRR0MrZ1BBUkIvSXdZaENDTUdRWUFCYWlRR0lBQW9BdEFDSVJBZ0NDRUFJQUVvQWxRaEFVRUVJUVlEUUFKL0FrQWdBaTRCRUNJTElBSXVBU0FpQlhKQi8vOERjUVIvREFFRklBSXVBVEFFZjBFQUlRVU1BZ1VnQWtGQWF5NEJBQVIvUVFBaEJRd0RCU0FDTGdGUUJIOUJBQ0VGREFRRklBSXVBV0FFZjBFQUlRVU1CUVVnQWk0QmNBUi9RUUFoQlF3R0JTQUFJQUVvQWdBZ0FpNEJBRUVDZEd3aUJUWUNBQ0FBSUFVMkFoQWdBQ0FGTmdJZ0lBQWdCVFlDTUNBQVFVQnJJQVUyQWdBZ0FDQUZOZ0pRSUFBZ0JUWUNZRUVjQ3dzTEN3c0xEQUVMSUFJdUFYQWdBU2dDNEFGc0lnY2dBaTRCTUNBQktBSmdiQ0lKYWlJTklBSXVBVkFnQVNnQ29BRnNJZ29nQ3lBQktBSWdiQ0lMYWlJTWFrR2h5d0JzSWc0Z0RVRzdnbjlzYWlJTklBY2dDMnBCczBac0lnOGdCMEdPRTJ4cWFpRUhJQTRnREVHRVoyeHFJZ3dnRHlBTFFZdmdBR3hxYWlFTElBd2dDU0FLYWtIOTIzNXNJZ3dnQ2tHemd3RnNhbW9oQ2lBQUlBc2dBU2dDZ0FFZ0FrRkFheTRCQUVFTmRHd2lEaUFCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQYWlJUklBRkJRR3NvQWdBZ0JVRVFkRUVRZFd3aUJTQUNMZ0ZnSUFFb0FzQUJiQ0lTYWtIUkltd2lFeUFGUWY0d2JHb2lCV29pRkdwQkMzVTJBZ0FnQUNBVUlBdHJRUXQxTmdKd0lBQWdEU0FNSUFsQjFNUUJiR3BxSWdrZ0R5QU9heUlMSUJNZ0VrSGZpWDlzYWlJTmFpSU1ha0VMZFRZQ0VDQUFJQXdnQ1d0QkMzVTJBbUFnQUNBS0lBc2dEV3NpQ1dwQkMzVTJBaUFnQUNBSklBcHJRUXQxTmdKUUlBQWdCeUFSSUFWcklnVnFRUXQxTmdJd0lBVWdCMnRCQzNVaEJVRVFDMEVDZENBQWFpQUZOZ0lBSUFCQkJHb2hBQ0FCUVFScUlRRWdBa0VDYWlFQ0lBWkJmMm9oQlNBR1FRRkxCRUFnQlNFR0RBRUxDeUFFSUFNb0FnQnFJZ0VnRUVHQWZXb2lBQ0FJS0FJQVFaQ0FBV29pQWlBSUtBSUlJZ1pxUVExMElnVWdDQ2dDQkNJSElBZ29BZ3dpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlFYWlJQklBQWdDQ2dDRUVHUWdBRnFJZ0lnQ0NnQ0dDSUdha0VOZENJRklBZ29BaFFpQnlBSUtBSWNJZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQVNBQUlBZ29BaUJCa0lBQmFpSUNJQWdvQWlnaUJtcEJEWFFpQlNBSUtBSWtJZ2NnQ0NnQ0xDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ0VnQUNBSUtBSXdRWkNBQVdvaUFpQUlLQUk0SWdacVFRMTBJZ1VnQ0NnQ05DSUhJQWdvQWp3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJUWFpSUJJQUFnQ0VGQWF5Z0NBRUdRZ0FGcUlnSWdDQ2dDU0NJR2FrRU5kQ0lGSUFnb0FrUWlCeUFJS0FKTUlnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0ZHb2lBU0FBSUFnb0FsQkJrSUFCYWlJQ0lBZ29BbGdpQm1wQkRYUWlCU0FJS0FKVUlnY2dDQ2dDWENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWhocUlnRWdBQ0FJS0FKZ1FaQ0FBV29pQWlBSUtBSm9JZ1pxUVExMElnVWdDQ2dDWkNJSElBZ29BbXdpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUljYWlJQklBQWdDQ2dDY0VHUWdBRnFJZ0lnQ0NnQ2VDSURha0VOZENJRUlBZ29BblFpQmlBSUtBSjhJZ1ZxUWRFaWJDSUhJQVpCL2pCc2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FFSUFaclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdBMnRCRFhRaUFpQUhJQVZCMzRsL2JHb2lBMnBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBRGEwRVNka0gvQjNGcUxBQUFPZ0FDSUFna0JndWdDd0VMZnlNR0lRVWpCa0hRQUdva0JpQUFLQUxRQWlFUElBVWdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lJT0lBZ29Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSUthaUlHSUFoQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJSmFpSUJJQUl1QVJBZ0NDZ0NJR3dpQ3lBQ0xnRlFJQWdvQXFBQmJDSU1ha0cyRjJ3aUJ5QUxJQUl1QVRBZ0NDZ0NZR3dpRFdwQkRYUnFJZ0JxUVF0MU5nSUFJQVVnQVNBQWEwRUxkVFlDUENBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUExcklBeHJRUUowSWdCcU5nSU1JQVVnQVNBQWF6WUNNQ0FGSUFZZ0NXc2lBU0FISUF3Z0RXdEJEWFJxSWdCcVFRdDFOZ0lZSUFVZ0FTQUFhMEVMZFRZQ0pDQUZJQWdvQWtRZ0FpNEJJa0d4emdCc2JDSU9JQWdvQWdRZ0FpNEJBa0VOZEd4QmdBaHlJZ29nQ0NnQ2hBRWdBaTRCUWtHaExXeHNJZ1pxSWdscUlnRWdBaTRCRWlBSUtBSWtiQ0lMSUFJdUFWSWdDQ2dDcEFGc0lneHFRYllYYkNJSElBc2dBaTRCTWlBSUtBSmtiQ0lOYWtFTmRHb2lBR3BCQzNVMkFnUWdCVUZBYXlBQklBQnJRUXQxTmdJQUlBVWdDeUFOYXlBTWEwRUNkQ0lCSUFvZ0JrRitiR3BCQzNVaUFHbzJBaEFnQlNBQUlBRnJOZ0kwSUFVZ0NTQU9heUlCSUFjZ0RDQU5hMEVOZEdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSW9JQVVnQ0NnQ0NDQUNMZ0VFUVExMGJFR0FDSElpRGlBSUtBS0lBU0FDTGdGRVFhRXRiR3dpQ21vaUJpQUlLQUpJSUFJdUFTUkJzYzRBYkd3aUNXb2lBU0FDTGdFVUlBZ29BaWhzSWdzZ0FpNEJWQ0FJS0FLb0FXd2lER3BCdGhkc0lnY2dDeUFDTGdFMElBZ29BbWhzSWdKcVFRMTBhaUlBYWtFTGRTSU5OZ0lJSUFVZ0FTQUFhMEVMZFRZQ1JDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBSnJJQXhyUVFKMElnQnFJZ28yQWhRZ0JTQUJJQUJyTmdJNElBVWdCaUFKYXlJQklBY2dEQ0FDYTBFTmRHb2lBR3BCQzNVaUNUWUNJQ0FGSUFFZ0FHdEJDM1UyQWl3Z0JDQURLQUlBYWlJSElBOUJnSDFxSWdZZ0JTZ0NBRUVOZEVHQWdJakFBR29pQWlBTlFhRXRiR29pQVNBRktBSUVRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQmlBQ0lBMUJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnUnFJZ2NnQmlBRktBSU1RUTEwUVlDQWlNQUFhaUlDSUFwQm9TMXNhaUlCSUFVb0FoQkJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFjZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCeUFHSUFJZ0NrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0NHb2lCeUFHSUFVb0FoaEJEWFJCZ0lDSXdBQnFJZ0lnQ1VHaExXeHFJZ0VnQlNnQ0hFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQVlnQWlBSlFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJTWFpSUpJQVlnQlNnQ0pFRU5kRUdBZ0lqQUFHb2lCeUFGS0FJc0lnSkJvUzFzYWlJQklBVW9BaWhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBa2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQ1NBR0lBY2dBa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NFR29pQ1NBR0lBVW9BakJCRFhSQmdJQ0l3QUJxSWdjZ0JTZ0NPQ0lDUWFFdGJHb2lBU0FGS0FJMFFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBa2dCaUFISUFKQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWhScUlnUWdCaUFGS0FJOFFRMTBRWUNBaU1BQWFpSURJQVVvQWtRaUFrR2hMV3hxSWdFZ0JVRkFheWdDQUVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCQ0FHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBWWdBeUFDUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTUUdDN0lFQVFwL0l3WWhCaU1HUVNCcUpBWWdBQ2dDMEFJaERDQUdJQUl1QVFBZ0FTZ0NWQ0lIS0FJQWJDSUpJQUl1QVNBZ0IwRkFheWdDQUd3aUNtcEJEWFFpQVNBQ0xnRVFJQWNvQWlCc0lnQWdBaTRCTUNBSEtBSmdiQ0lGYWtIUkltd2lDQ0FBUWY0d2JHb2lBR29pRFRZQ0FDQUdJQUVnQUdzMkFoZ2dCaUFKSUFwclFRMTBJZ0VnQ0NBRlFkK0pmMnhxSWdCcUlnNDJBZ2dnQmlBQklBQnJJZ2syQWhBZ0JpQUNMZ0VDSUFjb0FnUnNJZ29nQWk0QklpQUhLQUpFYkNJRmFrRU5kQ0lCSUFJdUFSSWdCeWdDSkd3aUFDQUNMZ0V5SUFjb0FtUnNJZ2hxUWRFaWJDSUNJQUJCL2pCc2FpSUFhaUlMTmdJRUlBWWdBU0FBYXlJSE5nSWNJQVlnQ2lBRmEwRU5kQ0lCSUFJZ0NFSGZpWDlzYWlJQWFpSUlOZ0lNSUFZZ0FTQUFheUlDTmdJVUlBUWdBeWdDQUdvaUFTQU1RWUI5YWlJRklBc2dEVUdBZ0lJUWFpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FMYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQkNBREtBSUVhaUlCSUE1QmdJQ0NFR29pQUNBSWFrRVFka0gvQjNFZ0JXb3NBQUE2QUFBZ0FTQUFJQWhyUVJCMlFmOEhjU0FGYWl3QUFEb0FBU0FFSUFNb0FnaHFJZ0VnQ1VHQWdJSVFhaUlBSUFKcVFSQjJRZjhIY1NBRmFpd0FBRG9BQUNBQklBQWdBbXRCRUhaQi93ZHhJQVZxTEFBQU9nQUJJQVFnQXlnQ0RHb2lBU0FHS0FJWVFZQ0FnaEJxSWdBZ0IycEJFSFpCL3dkeElBVnFMQUFBT2dBQUlBRWdBQ0FIYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQmlRR0MyY0JBWDhnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29pQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3hCaENCcUlnVWdBaTRCRUNBQktBSWdiQ0lCYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVFnQXlnQ0JHb2dCU0FCYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUFMOFFnQkVYOGpCaUVTSXdaQmdBSnFKQVlnQUNnQzBBSWhGU0FTSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUNMZ0VBSUFFb0FnQnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFISUFFb0FpQnNJZ2NnQWk0QmNDQUJLQUxnQVd3aUNHb2lDeUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJVQ0FCS0FLZ0FXd2lEV29pRG10QjZnSnNRUWgxSUEwZ0Ntc2lDaUFISUFocklnMXFRZGtEYkVFSWRTSVBJQXBCblFWc1FRaDFheUFMSUE1cUlnaHJJZ3RySVFjZ0JpQUNMZ0VBSUFFb0FnQnNJZ29nQWtGQWF5NEJBQ0FCS0FLQUFXd2lEbW9pRUNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWhFZ0FpNEJZQ0FCS0FMQUFXd2lFMm9pQldvaUZDQUlhallDQUNBR0lCUWdDR3MyQXVBQklBWWdDeUFLSUE1cklnZ2dFU0FUYTBIcUFteEJDSFVnQldzaUNtb2lEbW8yQWlBZ0JpQU9JQXRyTmdMQUFTQUdRVUJySUFjZ0NDQUtheUlJYWpZQ0FDQUdJQWdnQjJzMkFxQUJJQVlnRHlBTlFaVUNiRUVJZFdzZ0Iyc2lCeUFRSUFWcklnVnFOZ0pnSUFVZ0Iyc2hCVUVnQzBFQ2RDQUdhaUFGTmdJQUlBWkJCR29oQmlBQlFRUnFJUUVnQWtFQ2FpRUNJQWxCZjJvaEJTQUpRUUZMQkVBZ0JTRUpEQUVMQ3lBVlFZQjlhaUVKUVFBaEFRTkFJQVFnQVVFQ2RDQURhaWdDQUdvaEJpQUFLQUlBUVpDQUFXb2hCUUpBQWtBZ0FDZ0NCQ0lISUFBb0FnZ2lBbklOQUNBQUtBSU1CRUJCQUNFQ0RBRUZJQUFvQWhBRVFFRUFJUUlNQWdVZ0FDZ0NGQVJBUVFBaEFnd0RCU0FBS0FJWUJFQkJBQ0VDREFRRklBQW9BaHdFUUVFQUlRSU1CUVVnQmlBSklBVkJCWFpCL3dkeGFpd0FBQ0lDT2dBQUlBWkJBV29nQWtFSEVFVWFDd3NMQ3dzTUFRc2dCeUFBS0FJY0lnaHFJZ3NnQUNnQ0ZDSU1JQUFvQWd3aUNtb2lEV3RCNmdKc1FRaDFJQXdnQ21zaURDQUhJQWhySWdwcVFka0RiRUVJZFNJT0lBeEJuUVZzUVFoMWF5QUxJQTFxSWdocklndHJJUWNnQmlBSklBVWdBQ2dDRUNJTmFpSVBJQUFvQWhnaUVDQUNhaUlNYWlJUklBaHFRUVYyUWY4SGNXb3NBQUE2QUFBZ0JpQUpJQkVnQ0d0QkJYWkIvd2R4YWl3QUFEb0FCeUFHSUFrZ0JTQU5heUlGSUFJZ0VHdEI2Z0pzUVFoMUlBeHJJZ0pxSWdnZ0MycEJCWFpCL3dkeGFpd0FBRG9BQVNBR0lBa2dDQ0FMYTBFRmRrSC9CM0ZxTEFBQU9nQUdJQVlnQ1NBRklBSnJJZ0lnQjJwQkJYWkIvd2R4YWl3QUFEb0FBaUFHSUFrZ0FpQUhhMEVGZGtIL0IzRnFMQUFBT2dBRklBWWdDU0FQSUF4cklnSWdEaUFLUVpVQ2JFRUlkV3NnQjJzaUJXcEJCWFpCL3dkeGFpd0FBRG9BQXlBR0lBa2dBaUFGYTBFRmRrSC9CM0ZxTEFBQU9nQUVDeUFBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJJa0JndnJCd0lIZnd4OUl3WWhDQ01HUVlBQ2FpUUdJQUFvQXRBQ0lRc2dDQ0lBSVFVZ0FTZ0NWQ0VCUVFnaEJ3TkFBbjhDUUNBQ0xnRVFJZ29nQWk0QklDSUdja0gvL3dOeEJIOE1BUVVnQWk0Qk1BUi9RUUFoQmd3Q0JTQUNRVUJyTGdFQUJIOUJBQ0VHREFNRklBSXVBVkFFZjBFQUlRWU1CQVVnQWk0QllBUi9RUUFoQmd3RkJTQUNMZ0Z3Qkg5QkFDRUdEQVlGSUFVZ0FTb0NBQ0FDTGdFQXNwUWlERGdDQUNBRklBdzRBaUFnQlVGQWF5QU1PQUlBSUFVZ0REZ0NZQ0FGSUF3NEFvQUJJQVVnRERnQ29BRWdCU0FNT0FMQUFVRTRDd3NMQ3dzTERBRUxJQUVxQWlBZ0NyS1VJZ3dnQVNvQzRBRWdBaTRCY0xLVUlnMlNJaEFnQVNvQ1lDQUNMZ0V3c3BRaURpQUJLZ0tnQVNBQ0xnRlFzcFFpRVpJaUQ1TkQ4d1MxUDVRZ0VTQU9reUlPSUF3Z0RaTWlFWkpEWG9Qc1A1UWlFeUFPUTNVOUowQ1VreUFQSUJDU0lnMlRJaENUSVF3Z0JTQUJLZ0lBSUFJdUFRQ3lsQ0lQSUFFcUFvQUJJQUpCUUdzdUFRQ3lsQ0lTa2lJVUlBRkJRR3NxQWdBZ0JrRVFkRUVRZGJLVUloVWdBU29Dd0FFZ0FpNEJZTEtVSWhhU0lnNlNJaGNnRFpJNEFnQWdCU0FYSUEyVE9BTGdBU0FGSUE4Z0VwTWlEU0FWSUJhVFEvTUV0VCtVSUE2VElnK1NJaElnRUpJNEFpQWdCU0FTSUJDVE9BTEFBU0FGUVVCcklBMGdENU1pRFNBTWtqZ0NBQ0FGSUEwZ0RKTTRBcUFCSUFVZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESkk0QW1BZ0RTQU1reUVNUVNBTFFRSjBJQVZxSUF3NEFnQWdCVUVFYWlFRklBRkJCR29oQVNBQ1FRSnFJUUlnQjBGL2FpRUdJQWRCQVVzRVFDQUdJUWNNQVFzTElBdEJnSDFxSVFKQkFDRUJBMEFnQUNvQ0JDSU1JQUFxQWh3aURaSWlFQ0FBS2dJVUlnNGdBQ29DRENJUmtpSVBrMFB6QkxVL2xDQU9JQkdUSWc0Z0RDQU5reUlSa2tOZWcrdy9sQ0lUSUE1RGRUMG5RSlNUSUE4Z0VKSWlEWk1pRUpNaERDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLZ0lBUXdBZ0FFU1NJZzhnQUNvQ0VDSVNraUlVSUFBcUFnZ2lGU0FBS2dJWUloYVNJZzZTSWhjZ0RaSVFRMEgvQjNGcUxBQUFPZ0FBSUFVZ0FpQVhJQTJURUVOQi93ZHhhaXdBQURvQUJ5QUZJQUlnRHlBU2t5SU5JQlVnRnBORDh3UzFQNVFnRHBNaUQ1SWlFaUFRa2hCRFFmOEhjV29zQUFBNkFBRWdCU0FDSUJJZ0VKTVFRMEgvQjNGcUxBQUFPZ0FHSUFVZ0FpQU5JQStUSWcwZ0RKSVFRMEgvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJTQUZJQUlnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSVFRMEgvQjNGcUxBQUFPZ0FESUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQWdrQmd2TktBSUxmd0Y4SUFBb0F0Z0RJUXNnQUNnQ0pFRUFUQVJBRHdzZ0FDZ0MyQUVoQVFOQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQVNJSUtBSW9JQUVvQWlRaUJFRUlkR3BCZ1FKckRwQWVBQjRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJZQklCMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQUlnSUJ3Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJVZ0F5QWdJQnNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FFSUNBZ0lCb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJRZ0lBVWdJQ0FnSUJrZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQmlBZ0lDQWdJQmdnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJNZ0lDQWZJQ0FnSUNBZ0lCY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJJZ0lDQWdDQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBSklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJFZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0N5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJBZ0lDQWdJQ0FNSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUE4Z0lDQWdJQ0FnRGlBTFFRQWhBa0VFSVFNTUlBdEJBQ0VDUVFVaEF3d2ZDMEVBSVFKQkJpRUREQjRMUVFBaEFrRUhJUU1NSFF0QkFDRUNRUWdoQXd3Y0MwRUFJUUpCQ1NFRERCc0xRUUFoQWtFS0lRTU1HZ3RCQUNFQ1FRc2hBd3daQzBFQUlRSkJEQ0VEREJnTFFRQWhBa0VOSVFNTUZ3dEJBQ0VDUVE0aEF3d1dDMEVBSVFKQkR5RUREQlVMUVFBaEFrRVFJUU1NRkF0QkFDRUNRUkVoQXd3VEMwRUFJUUpCRWlFRERCSUxRUUFoQWtFVElRTU1FUXRCQUNFQ1FSUWhBd3dRQzBFQUlRSkJGU0VEREE4TFFRQWhBa0VXSVFNTURndEJBQ0VDUVJjaEF3d05DMEVBSVFKQkdDRUREQXdMUVFBaEFrRVpJUU1NQ3d0QkFDRUNRUm9oQXd3S0MwRUFJUUpCR3lFRERBa0xRUUFoQWtFY0lRTU1DQXRCQUNFQ1FSMGhBd3dIQzBFQUlRSkJIaUVEREFZTFFRQWhBa0VmSVFNTUJRdEJBQ0VDUVNBaEF3d0VDMEVBSVFKQklTRUREQU1MUVFBaEFrRWlJUU1NQWdzQ1FBSkFBa0FDUUNBQUtBSklJZ0VPQXdBQkFnTUxJQUVoQWtFaklRTU1CQXNnQVNFQ1FTUWhBd3dEQ3lBQklRSkJKU0VEREFJTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3QkN5QUFLQUlBSWdGQkJ6WUNGQ0FCSUFRMkFoZ2dBQ2dDQUNBSUtBSW9OZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQzBFRWFpQUpRUUowYWlBRE5nSUFJQWdvQWpRRVFDQUxRU3hxSUFsQkFuUnFJZ0VvQWdBZ0FrY0VRQ0FJS0FKUUlnWUVRQ0FCSUFJMkFnQUNRQUpBQWtBQ1FBSkFJQUlPQXdBQkFnTUxJQWdvQWxRaEJFRUFJUUVEUUNBQlFRSjBJQVJxSUFGQkFYUWdCbW92QVFBMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3REN5QUlLQUpVSVFSQkFDRUJBMEFnQVVFQ2RDQUVhaUFCUVFGMElBWnFMd0VBSUFGQkFYUkI0Q2xxTGdFQWJFR0FFR3BCREhVMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3Q0N5QUlLQUpVSVFkQkFDRUJRUUFoQkFOQUlBUkJBblFnQjJvZ0FVRURkRUhnS21vckF3QWlEQ0FFUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFGeUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFNzJGSXNWQXg5aitpUkFBQUFBQUFBTUEvb3JZNEFnQWdCVUVCYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTXB2VFpHdTUvUS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJBM0lpQ2tFQ2RDQUhhaUFNSUFwQkFYUWdCbW92QVFDM29rU3FFV3p2WXREeVA2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRRnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFKcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFTzcrbndHa2s2VCtpUkFBQUFBQUFBTUEvb3JZNEFnQWdDa0VEYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTHNneDN0NlVlRS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJCM0lpQlVFQ2RDQUhhaUFNSUFWQkFYUWdCbW92QVFDM29rUmRxM0xlVmFqUlA2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRaHFJUVFnQVVFQmFpSUJRUWhIRFFBTERBRUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xDd3NnQ0VIWUFHb2hCQ0FKUVFGcUlnRWdBQ2dDSkVnRVFDQUJJUWtnQkNFQkRBRUxDd3VsQVFFRWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQjFBQWdBVUUvY1VIS0FXb1JCQUFpQVRZQzJBTWdBVUh6QURZQ0FDQUFLQUlrUVFCTUJFQVBDeUFCUVN4cUlRUkJBQ0VCSUFBb0F0Z0JJUUlEUUNBQUtBSUVLQUlBSVFNZ0FpQUFRUUZCZ0FJZ0EwRS9jVUhLQVdvUkJBQWlBellDVkNBRFFRQkJnQUlRUlJvZ0FVRUNkQ0FFYWtGL05nSUFJQUpCMkFCcUlRSWdBVUVCYWlJQklBQW9BaVJJRFFBTEM4c0ZBUXQvSXdZaERTTUdRU0JxSkFZZ0FpZ0NBQ0VISUFJb0FnUWhDeUFDS0FJSUlRb2dCU2dDQUNJSVJRUkFJQVVnQUNnQ0hDQUFLQUlnRUtrSklnZzJBZ0FMSUEwaUFrRWNhaUVPSUFKQkdHb2hEeUFBS0FJTUlBQkJNR29nQjBFd2JHb2lEQ0FCS0FJQUlna2dCMEh3QUd4cUtBSUFJQWRCOEFCc0lBbHFLQUlFS0FJQUlBdEJGR3hxSUFvZ0NCQ29DVUVBU0FSL1FYOEZJQVVvQWdBaUNDZ0NIQ0VKSUFnb0Fnd2dDQ2dDQ0VFQmFtb2dDQ2dDRkNBSUtBSVFRUUZxYW15eVF3QUFvRUNVUXdBQW9FQ1VJQWtnQ1d5eVhnUi9RWDhGSUFFb0FwZ0JJaEJCQVVZRVFDQUFLQUlNSUF4QkFFRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFBb0Fnd2hDQ0FBUVpBRWFpQUhRVEJzYWlFSklCQkJBa1lFUUNBSUlBd2dDVUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBZ2dEQ0FKSUFCQjhBZHFJQWRCTUd4cUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUxDeUFESUFRZ0FDZ0NCQ0FBS0FJSUlBQW9BaFFnQlNnQ0FDQUFLQUlZSWdBZ0FDQUNJQTRnRHlBR0VLd0pRUUJJQkg5QmZ3VWdCaUFPS0FJQXNqZ0NCQ0FHSUE4b0FnQ3lPQUlJSUFFb0FnQWlBQ0FIUWZBQWJHb29BZ1FvQWdBZ0MwRVViR29vQWdBaUFpQUtRUlJzYWlFQklBWWdCMEh3QUd3Z0FHb3FBaGdnQjBId0FHd2dBR29xQWd3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWhBZ0NrRVViQ0FDYWlJQ0tnSU1sSktTT0FJTUlBWWdCMEh3QUd3Z0FHb3FBaWdnQjBId0FHd2dBR29xQWh3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWlBZ0Fpb0NESlNTa2pnQ0VDQUdJQWRCOEFCc0lBQnFLZ0k0SUFkQjhBQnNJQUJxS2dJc0lBRXFBZ2lVSUFkQjhBQnNJQUJxS2dJd0lBSXFBZ3lVa3BJNEFoUkJBQXNMQ3lFUklBMGtCaUFSQ3lJQkFYMUJmeUFBS2dJQUlBRXFBZ0NUSWdKREFBQUFBRjRnQWtNQUFBQUFYUnNMaWhBQ0RIOEtmU01HSVFvakJrRkFheVFHSUFwQk9Hb2hCeUFLUVRCcUlRZ2dDa0VvYWlFTElBcEJJR29oQ1NBRFFRUklCRUJESUx5K1RDRUZCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VGQlFKQUFuOGdBN0lpR2lBRmxCQkRJUkFnQTBFR2RCQkVJZ1pGQkVCQkFFRURRY3JZQWlBSkVEMURBQUNBdnlFRkRBSUxJQU5CQTNRUVJDSUpSUVJBUVFCQkEwSEsyQUlnQ3hBOUlBWVFPRU1BQUlDL0lRVU1BZ3NnQTBFQ2RDSUxFRVFpRFVVRVFFRUFRUU5CeXRnQ0lBZ1FQU0FHRURnZ0NSQTRRd0FBZ0w4aEJRd0NDeUFMRUVRaUMwVUVRRUVBUVFOQnl0Z0NJQWNRUFNBR0VEZ2dDUkE0SUEwUU9FTUFBSUMvSVFVTUFnc2dFRUYvYWlJSEMwRUVJQWRCQkVvYklSRkJBQ0VIQTBBZ0IwRURSd1JBUVFBaENBTkFJQWhCQkVjRVFDQUhRUVIwSUFScUlBaEJBblJxSUFkQkJIUWdBR29nQ0VFQ2RHb3FBZ0FnQUNvQ0xKVTRBZ0FnQ0VFQmFpRUlEQUVMQ3lBSFFRRnFJUWNNQVFzTElCRkJBblFnQzJvaER3SkFBa0FDUUFOQUFrQkJBQ0VIQTBBZ0J5QURTQVJBSUFRcUFnQWhGeUFFS2dJRUlSWWdCQ29DRENFWklBUXFBaEFoRXlBRUtnSVVJUmdnQkNvQ0hDRWJJQWRCREd3Z0Ftb3FBZ0FpRkNBRUtnSWdsQ0FIUVF4c0lBSnFLZ0lFSWhVZ0JDb0NKSlNTUXdBQWdEK1NJZ1ZEQUFBQUFGc05BaUFIUVFOMElBRnFLZ0lFSUJzZ0ZDQVRsQ0FWSUJpVWtwSWlHQ0FGbFpNaEV5QUhRUUYwSWdCQkFuUWdDV29nQjBFRGRDQUJhaW9DQUNBWklCY2dGSlFnRmlBVmxKS1NJaGNnQlpXVEloWTRBZ0FnQUVFQmNrRUNkQ0FKYWlBVE9BSUFJQWRCQW5RZ0Myb2dGaUFXbENBVElCT1VraUlUT0FJQUlBZEJBblFnRFdvZ0V6Z0NBQ0FIUVFSMElnQkJBblFnQm1vZ0ZDQUZsU0lUT0FJQUlBQkJBWEpCQW5RZ0Jtb2dGU0FGbFNJV09BSUFJQUJCQW5KQkFuUWdCbXBEQUFDQVB5QUZsU0laT0FJQUlBQkJBM0pCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUVJ5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVGY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQm5KQkFuUWdCbW9nRkNBWGxJd2dCU0FGbENJRmxUZ0NBQ0FBUVFkeVFRSjBJQVpxSUJVZ0Y1U01JQVdWT0FJQUlBQkJDSEpCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUWx5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVLY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQzNKQkFuUWdCbW9nRXpnQ0FDQUFRUXh5UVFKMElBWnFJQlk0QWdBZ0FFRU5ja0VDZENBR2FpQVpPQUlBSUFCQkRuSkJBblFnQm1vZ0ZDQVlsSXdnQlpVNEFnQWdBRUVQY2tFQ2RDQUdhaUFWSUJpVWpDQUZsVGdDQUNBSFFRRnFJUWNNQVFzTElBc2dBMEVFUVNBUWdnTkRBQUNBUVNBUEtnSUFRd0FBZ0VDVUlnVWdCVU1BQUlCQlhSc2lGVU1BQU1CQWxTRUZRd0FBQUFBaEUwRUFJUUFEUUNBQUlBTkhCRUFnRXlBQVFRSjBJQXRxS2dJQUloUWdGVjRFZlNBRkJTQUZRd0FBZ0Q5REFBQ0FQeUFVSUJXVmt5SVVJQlFnRkpTVWs1UUxraUVUSUFCQkFXb2hBQXdCQ3dzZ0V5QWFsU0lGUTgzTXpEMWREUVFnRGtFQVJ5QUZRd0FBZ0VCZGNRUkFJQTVCQ2tZZ0JTQVNsVU9rY0gwL1huSU5CUVVnRGtFS1JnMEZDMEVBSVFCQkFDRU1BMEFnQXlBTVJ3UkFJQXhCQW5RZ0RXb3FBZ0FpRWlBVlh3UkFJQUJCQTNRaUIwRUNkQ0FHYWtNQUFJQS9JQklnRlpXVEloSWdFcFFpRWlBTVFRUjBJZ2hCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJBWEpCQW5RZ0Jtb2dFaUFJUVFGeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFKeVFRSjBJQVpxSUJJZ0NFRUNja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRURja0VDZENBR2FpQVNJQWhCQTNKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQkhKQkFuUWdCbW9nRWlBSVFRUnlRUUowSUFacUtnSUFsRGdDQUNBSFFRVnlRUUowSUFacUlCSWdDRUVGY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVHY2tFQ2RDQUdhaUFTSUFoQkJuSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkIzSkJBblFnQm1vZ0VpQUlRUWR5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUWhxUVFKMElBWnFJQklnQ0VFSWNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFSmFrRUNkQ0FHYWlBU0lBaEJDWEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJDbXBCQW5RZ0Jtb2dFaUFJUVFweVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVF0cVFRSjBJQVpxSUJJZ0NFRUxja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRU1ha0VDZENBR2FpQVNJQWhCREhKQkFuUWdCbW9xQWdDVU9BSUFJQWRCRFdwQkFuUWdCbW9nRWlBSVFRMXlRUUowSUFacUtnSUFsRGdDQUNBSFFRNXFRUUowSUFacUlCSWdDRUVPY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVQYWtFQ2RDQUdhaUFTSUFoQkQzSkJBblFnQm1vcUFnQ1VPQUlBSUFCQkFuUWdDV29nRWlBTVFRRjBJZ2RCQW5RZ0NXb3FBZ0NVT0FJQUlBQkJBV3BCQW5RZ0NXb2dFaUFIUVFGeVFRSjBJQWxxS2dJQWxEZ0NBQ0FBUVFKcUlRQUxJQXhCQVdvaERBd0JDd3NnQUVFR1NBMENJQW9nQ1NBR0lBQVFxQU5CQUVnTkF5QUVJQW9xQWdBZ0JDb0NBSkk0QWdBZ0JDQUtLZ0lFSUFRcUFnU1NPQUlFSUFRZ0Npb0NDQ0FFS2dJTWtqZ0NEQ0FFSUFvcUFnd2dCQ29DRUpJNEFoQWdCQ0FLS2dJUUlBUXFBaFNTT0FJVUlBUWdDaW9DRkNBRUtnSWNramdDSENBRUlBb3FBaGdnQkNvQ0lKSTRBaUFnQkNBS0tnSWNJQVFxQWlTU09BSWtJQVVoRWlBT1FRRnFJUTRNQVFzTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0VNZ3ZMNU1JUVVNQXdzZ0JoQTRJQWtRT0NBTkVEZ2dDeEE0UXdBQWdMOGhCUXdDQ3lBR0VEZ2dDUkE0SUEwUU9DQUxFRGhESUx5K1RDRUZEQUVMSUFZUU9DQUpFRGdnRFJBNElBc1FPQXNMQ3lBS0pBWWdCUXZGQ0FJR2Z3NTlJd1loQnlNR1FUQnFKQVlnQjBFb2FpRUdJQWRCSUdvaENDQURRUVJJQkVCRElMeStUQ0VMQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFTEJRSkFJQU5CQm5RUVJDSUZSUVJBUVFCQkEwSEsyQUlnQ0JBOVF3QUFnTDhoQ3d3QkN5QURRUU4wRUVRaUNrVUVRRUVBUVFOQnl0Z0NJQVlRUFNBRkVEaERBQUNBdnlFTERBRUxRUUFoQmdOQUlBWkJBMGNFUUVFQUlRZ0RRQ0FJUVFSSEJFQWdCa0VFZENBRWFpQUlRUUowYWlBR1FRUjBJQUJxSUFoQkFuUnFLZ0lBSUFBcUFpeVZPQUlBSUFoQkFXb2hDQXdCQ3dzZ0JrRUJhaUVHREFFTEN5QURzaUVZSUFOQkFYUWhDRUVBSVFZQ1FBSkFBMEFDUUVNQUFBQUFJUkpCQUNFSkEwQWdDU0FEU0FSQUlBUXFBZ0FoRFNBRUtnSUVJUkFnQkNvQ0RDRVJJQVFxQWhBaEV5QUVLZ0lVSVJRZ0JDb0NIQ0VMSUFsQkRHd2dBbW9xQWdBaURpQUVLZ0lnbENBSlFReHNJQUpxS2dJRUlnOGdCQ29DSkpTU1F3QUFnRCtTSWd4REFBQUFBRnNOQWlBSlFRTjBJQUZxS2dJRUlBc2dEaUFUbENBUElCU1VrcElpRnlBTWxaTWhGU0FKUVFGMElnQkJBblFnQ21vZ0NVRURkQ0FCYWlvQ0FDQVJJQTBnRHBRZ0VDQVBsSktTSWhBZ0RKV1RJaEU0QWdBZ0FFRUJja0VDZENBS2FpQVZPQUlBSUFsQkJIUWlBRUVDZENBRmFpQU9JQXlWSWhNNEFnQWdBRUVCY2tFQ2RDQUZhaUFQSUF5VkloUTRBZ0FnQUVFQ2NrRUNkQ0FGYWtNQUFJQS9JQXlWSWdzNEFnQWdBRUVEY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQkhKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFWeVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFR2NrRUNkQ0FGYWlBT0lCQ1VqQ0FNSUF5VUlnMlZPQUlBSUFCQkIzSkJBblFnQldvZ0R5QVFsSXdnRFpVNEFnQWdBRUVJY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQ1hKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFweVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFTGNrRUNkQ0FGYWlBVE9BSUFJQUJCREhKQkFuUWdCV29nRkRnQ0FDQUFRUTF5UVFKMElBVnFJQXM0QWdBZ0FFRU9ja0VDZENBRmFpQU9JQmVVakNBTmxUZ0NBQ0FBUVE5eVFRSjBJQVZxSUE4Z0Y1U01JQTJWT0FJQUlCSWdFU0FSbENBVklCV1VrcEloRWlBSlFRRnFJUWtNQVFzTElCSWdHSlVpQzBQTnpNdzlYUTBESUFaQkFFY2dDME1BQUlCQVhYRUVRQ0FHUVFwR0lBc2dGcFZEcEhCOVAxNXlEUVFGSUFaQkNrWU5CQXNnQnlBS0lBVWdDQkNvQTBFQVNBMENJQVFnQnlvQ0FDQUVLZ0lBa2pnQ0FDQUVJQWNxQWdRZ0JDb0NCSkk0QWdRZ0JDQUhLZ0lJSUFRcUFneVNPQUlNSUFRZ0J5b0NEQ0FFS2dJUWtqZ0NFQ0FFSUFjcUFoQWdCQ29DRkpJNEFoUWdCQ0FIS2dJVUlBUXFBaHlTT0FJY0lBUWdCeW9DR0NBRUtnSWdramdDSUNBRUlBY3FBaHdnQkNvQ0pKSTRBaVFnQ3lFV0lBWkJBV29oQmd3QkN3c2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFnc2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFRc2dCUkE0SUFvUU9Bc0xDeUFISkFZZ0N3dTdCZ0lNZndSOUl3WWhDU01HUWRBQWFpUUdJQWxCTUdvaEVDQUpRY3dBYWlFTUlBbEJ5QUJxSVEwZ0NVRkFheUVPSUFsQk9Hb2hEeUFBc2lFVUlBR3lJUlVnQlVITUpXb2hFVUVBSVFGQkFDRUFBbjhDUUFOQUFrQWdDQ0FES0FJRVRnMENRUUFoQ3dOQUlBdEJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdDMEVFZENBSmFpQUdRUUowYWlBSVFUQnNJQUpxSUF0QkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0MwRUJhaUVMREFFTEMwRUFJUWNnQXlnQ0FDQUlRZkFBYkdvb0FnUWhCZ05BSUFjZ0JpZ0NCRWdFUUVFQUlRb0RRQ0FLSUFZb0FnQWlDeUFIUVJSc2FpZ0NCRWdFUUVFQUlBa2dCMEVVYkNBTGFpZ0NBQ0lHSUFwQkZHeHFLZ0lJSUFwQkZHd2dCbW9xQWd3Z0RDQU5FSUlFUVFCSUlBd3FBZ0FpRWtNQUFBQUFYWEpGQkVBZ0RTb0NBQ0lUSUJWZ0lCTkRBQUFBQUYwZ0VpQVVZSEp5UlFSQUFrQWdEaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0FIUVJSc2FpZ0NBQ0lHSUFwQkZHeHFLQUlJTmdJQUlBNGdDa0VVYkNBR2FpZ0NERFlDQkVFQUlBa2dEaUFQRUljRUlBOHFBZ1FpRWlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNJR0lBZEJGR3hxS2dJTUloTmZCRUFnRWlBSFFSUnNJQVpxS2dJUVlBUkFJQUJCeUFGR0RRa2dBRUVZYkNBRWFpQUlOZ0lBSUFCQkdHd2dCR29nQnpZQ0JDQUFRUmhzSUFScUlBbzJBZ2dnQUVFWWJDQUVhaUFNS0FJQU5nSVFJQUJCR0d3Z0JHb2dEU2dDQURZQ0ZDQUFRUmhzSUFScVFRQTJBZ3dnQUVFQmFpRUFEQUlMQ3lBU0lCTkRBQUFBUUpSZkJFQWdFaUFIUVJSc0lBWnFLZ0lRUXdBQUFEK1VZQVJBSUFGQnlBRkdCSDhnRVVGL05nSUFRY2dCQlNBQlFSaHNJQVZxSUFnMkFnQWdBVUVZYkNBRmFpQUhOZ0lFSUFGQkdHd2dCV29nQ2pZQ0NDQUJRUmhzSUFWcUlBd29BZ0EyQWhBZ0FVRVliQ0FGYWlBTktBSUFOZ0lVSUFGQkdHd2dCV3BCQURZQ0RDQUJRUUZxQ3lFQkN3c0xDd3NnQ2tFQmFpRUtJQU1vQWdBZ0NFSHdBR3hxS0FJRUlRWU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0NFRUJhaUVJREFFTEMwRUFRUU5CMmRnQ0lCQVFQU0FFUWN3bGFnd0JDeUFBUVJoc0lBUnFRWDgyQWd3Z0FVRVliQ0FGYWtFTWFndEJmellDQUNBSkpBWUx3d2NDRG44SWZTTUdJUVVqQmtIUUFHb2tCaUFGUVRCcUlSQWdCVUhNQUdvaERDQUZRY2dBYWlFTklBVkJRR3NoRGlBRlFUaHFJUThnQUNnQ0FMSWhHU0FBS0FJRXNpRWFJQVJCekNWcUlSRUNmd0pBQTBBQ1FDQUtJQUlvQWdST0RRSkJBQ0VIQTBBZ0IwRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUhRUVIwSUFWcUlBWkJBblJxSUFwQk1Hd2dBV29nQjBFRWRHb2dCa0VDZEdvb0FnQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCaUFDS0FJQUlBcEI4QUJzYWlnQ0JDRUhBMEFnQmlBSEtBSUVTQVJBUVFBaEN3TkFJQXNnQnlnQ0FDSVNJQVpCRkd4cUtBSUVTQVJBSUFBZ0JTQUdRUlJzSUJKcUtBSUFJZ2NnQzBFVWJHb3FBZ2dnQzBFVWJDQUhhaW9DRENBTUlBMFFnZ1JCQUVnZ0RDb0NBQ0lUUXdBQUFBQmRja1VFUUNBTktnSUFJaFFnR21BZ0ZFTUFBQUFBWFNBVElCbGdjbkpGQkVBQ1FDQUZLZ0lNSUFVcUFnQWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWdCa0VVYkdvb0FnQWlCeUFMUVJSc2Fpb0NDQ0lUbENBRktnSUVJQXRCRkd3Z0Iyb3FBZ3dpRkpTU2tpSVdJQmFVSUFVcUFod2dFeUFGS2dJUWxDQVVJQVVxQWhTVWtwSWlGeUFYbEpJZ0JTb0NMQ0FUSUFVcUFpQ1VJQlFnQlNvQ0pKU1NraUlZSUJpVWtwRWhGU0FGS2dJb0lCZ2dGWldVSUFVcUFnZ2dGaUFWbFpRZ0JTb0NHQ0FYSUJXVmxKS1NRODNNekwxZVJRUkFJQTRnRXpnQ0FDQU9JQlE0QWdRZ0FDQUZJQTRnRHhDSEJDQVBLZ0lFSWhNZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBaUJ5QUdRUlJzYWlvQ0RDSVVYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VHQUVRQ0FKUWNnQlJnMEtJQWxCR0d3Z0Eyb2dDallDQUNBSlFSaHNJQU5xSUFZMkFnUWdDVUVZYkNBRGFpQUxOZ0lJSUFsQkdHd2dBMm9nRENnQ0FEWUNFQ0FKUVJoc0lBTnFJQTBvQWdBMkFoUWdDVUVZYkNBRGFrRUFOZ0lNSUFsQkFXb2hDUXdEQ3dzZ0V5QVVRd0FBQUVDVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUVNQUFBQS9sR0FFUUNBSVFjZ0JSZ1IvSUJGQmZ6WUNBRUhJQVFVZ0NFRVliQ0FFYWlBS05nSUFJQWhCR0d3Z0JHb2dCallDQkNBSVFSaHNJQVJxSUFzMkFnZ2dDRUVZYkNBRWFpQU1LQUlBTmdJUUlBaEJHR3dnQkdvZ0RTZ0NBRFlDRkNBSVFSaHNJQVJxUVFBMkFnd2dDRUVCYWdzaENBc0xDd3NMQ3lBTFFRRnFJUXNnQWlnQ0FDQUtRZkFBYkdvb0FnUWhCd3dCQ3dzZ0JrRUJhaUVHREFFTEN5QUtRUUZxSVFvTUFRc0xRUUJCQTBIWjJBSWdFQkE5SUFOQnpDVnFEQUVMSUFsQkdHd2dBMnBCZnpZQ0RDQUlRUmhzSUFScVFReHFDMEYvTmdJQUlBVWtCZ3ZWRVFJVWZ3RjlJd1loQlNNR1FUQnFKQVlnQlNJTVFTaHFJUklnQlVFZ2FpRVRJQUJCQUVjZ0FVRUFSM0VnQWtFQVIzRWdBMEVBUjNFZ0JFRUFSM0VFZnlBQktBS1lBVUVCU0FSL1FYNEZBbjhnQkVNQUFBQUFPQUlBSUFGQkNHb2hEU0FCUVRocUlRZ2dBVUhvQUdvaENrRUFJUVVEUUNBRklBRW9BZ1JJQkVBZ0RTQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFUQnFJQVZCTUd4cUVMSUNJQUVvQXBnQlFRRktCRUFnQ0NBQktBSUFJQVZCOEFCc2FrRU1haUFBUVpBRWFpQUZRVEJzYWhDeUFpQUJLQUtZQVVFQ1NnUkFJQW9nQVNnQ0FDQUZRZkFBYkdwQkRHb2dBRUh3QjJvZ0JVRXdiR29Rc2dJTEN5QUZRUUZxSVFVTUFRc0xJQUFvQWdCQkFVWUVRQ0FBUVF4cUloUW9BZ0FnQUVFd2FpQUJJQUJCOEJScUlnNGdBRUhJT21vaUNoRE5CaUFBUVFScUlROGdBRUVJYWlFUUJTQUFRUVJxSWc4b0FnQWdBRUVJYWlJUUtBSUFJQUJCTUdvZ0FTQUFRZkFVYWlJT0lBQkJ5RHBxSWdvUXpBWWdBRUVNYWlFVUN5QUFRZURuQUdvaEZ5QUJRWndCYWlFVklBQkIwQXRxSVJZZ0RpRUlBMEFDUUNBTElBQW9BaVJPRFFCQkFDRUpJQVloQnlBSUlRVURRQUpBSUFrZ0Z5Z0NBRTRFUUNBRklRZ01BUXNnQ3lBQUtBSWtSZ1JBSUFVaENBd0JDeUFGSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCRUFnQlNBT1J3UkFJQVVoQ0F3Q0N5QUtJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJIOGdDaUVJREFJRklBb0xJUVVMSUFsQkFuUWdER29nQ0VFWWJDQUZhaUlSTmdJQUlBQkIwQXRxSUFkQkEzUnFJQWhCR0d3Z0JXb29BaEEyQWdBZ0FDQUhRUU4wYWtIVUMyb2dDRUVZYkNBRmFpZ0NGRFlDQUNBQVFlVG5BR29nQ1VFMGJHb2dBRFlDQUNBQUlBbEJOR3hxUWVqbkFHb2dBVFlDQUNBQUlBbEJOR3hxUWV6bkFHb2dFVFlDQUNBQUlBbEJOR3hxUWZEbkFHb2dBallDQUNBSlFRRnFJUWtnQmlBSFFRRnFJZ2dnQ0VFRlJoc2hCeUFMUVFGcUlRc01BUXNMSUFsRkRRQkJBQ0VISUFZaEJRTkFJQWNnQ1VjRVFDQUFJQWRCTkd4cVFaVG9BR29nQUVIazV3QnFJQWRCTkd4cUtBSUFJQUFnQjBFMGJHcEI2T2NBYWlnQ0FDQUFJQWRCTkd4cVFlem5BR29vQWdBZ0FDQUhRVFJzYWtIdzV3QnFLQUlBSUFBZ0IwRTBiR3BCOU9jQWFpZ0NBQ0FBSUFkQk5HeHFRZmpuQUdvZ0FDQUhRVFJzYWtIODV3QnFJZ1lReUFZaUVUWUNBQ0FSUlFSQUlBWXFBZ0FnQUNvQ0tGNEVRQ0FBS0FJQVFRRkdCRUFnRkNnQ0FDSUdRZWdBYWlBQUlBZEJOR3hxUVlEb0FHb3FBZ0M3SUFBZ0IwRTBiR3BCaE9nQWFpb0NBTHNnRWlBVElBWW9BckFCRU44RUlBQkIwQTVxSUFWQkEzUnFJQklyQXdDMk9BSUFJQUFnQlVFRGRHcEIxQTVxSUJNckF3QzJPQUlBQlNBQVFkQU9haUFGUVFOMGFpQUFJQWRCTkd4cVFZRG9BR29vQWdBMkFnQWdBQ0FGUVFOMGFrSFVEbW9nQUNBSFFUUnNha0dFNkFCcUtBSUFOZ0lBQ3lBQVFaQVJhaUFGUVF4c2FpQUFJQWRCTkd4cVFZam9BR29vQWdBMkFnQWdBQ0FGUVF4c2FrR1VFV29nQUNBSFFUUnNha0dNNkFCcUtBSUFOZ0lBSUFBZ0JVRU1iR3BCbUJGcUlBQWdCMEUwYkdwQmtPZ0FhaWdDQURZQ0FDQUFRZEFMYWlBRlFRTjBhaUFIUVFKMElBeHFLQUlBSWdZb0FoQTJBZ0FnQUNBRlFRTjBha0hVQzJvZ0JpZ0NGRFlDQUNBQVFhRGdBR29nQlVFWWJHb2dCaWdDQURZQ0FDQUFJQVZCR0d4cVFhVGdBR29nQmlnQ0JEWUNBQ0FBSUFWQkdHeHFRYWpnQUdvZ0JpZ0NDRFlDQUNBQUlBVkJHR3hxUWF6Z0FHcEJBRFlDQUNBRlFRRnFJUVVMQ3lBSFFRRnFJUWNNQVFzTElBVWhCZ3dCQ3d0QkFDRUNBMEFnQWlBR1NBUkFJQUZCbkFGcUlBSkJHR3hxSWdVZ0FFR2c0QUJxSUFKQkdHeHFJZ2dwQWdBM0FnQWdCU0FJS1FJSU53SUlJQVVnQ0NrQ0VEY0NFQ0FDUVFGcUlRSU1BUXNMSUFFZ0JrRVliR3BCZnpZQ3FBRWdCa0VEU0NFQ0lBQW9BZ0JCQVVZRVFDQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdBQ2dDRUNBTklBQkIwQTVxSWdJZ0FFR1FFV29pQlNBR0lBTkJBQkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWVrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBRUF6TStNL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWRrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBQUFBQUFBQUVJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FCUVFBMkFwZ0JRWHdNQmdzTEN3c0xCU0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnRFNBQVFkQU9haUlDSUFCQmtCRnFJZ1VnQmlBRFFRQkRBQUNBUHhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRODNNVEQ4UTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0JDQURJQUlnQlNBR0lBTkJBVU9hbVJrL0VOb0JJaGs0QWdBZ0dTQUFLZ0lzWGdSQUlBUWdBeUFDSUFVZ0JpQURRUUZEemN6TVBoRGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUXdBQUFBQVEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdBVUVBTmdLWUFVRjhEQVlMQ3dzTEN3c2dBU0FCS0FLWUFVRUJhallDbUFGQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBQlFlZ0FhaUFBUVFSMGFpQUNRUUowYWlBQlFUaHFJQUJCQkhScUlBSkJBblJxS0FJQU5nSUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQzBFQUlRQURRQ0FBUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFGQk9Hb2dBRUVFZEdvZ0FrRUNkR29nQVVFSWFpQUFRUVIwYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3RCQUNFQUEzOGdBRUVEUmdSL1FRQUZRUUFoQWdOQUlBSkJCRWNFUUNBQlFRaHFJQUJCQkhScUlBSkJBblJxSUFCQkJIUWdBMm9nQWtFQ2RHb29BZ0EyQWdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xDd3NGUVg4TElSZ2dEQ1FHSUJnTHdRRUJBMzhqQmlFRUl3WkJFR29rQmtHazZ3QVFSQ0lEUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0JFRUlhaUVGSUFNZ0FEWUNGQ0FESUFFMkFnUWdBeUFDTmdJSUlBTkJHVFlDR0NBRFFRczJBaHdnQTBFTE5nSWdJQU5CQ2pZQ0pDQURRNXFaR1Q4NEFpZ2dBME1BQUFCQU9BSXNJQU5CNE9jQWFrRUJOZ0lBSUFOQjlPY0FhaUFCSUFKc0VFUWlBRFlDQUNBQUJFQWdBMEg0NXdCcVFRQTJBZ0FnQkNRR0lBTVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMTHdBZ0FDZ0NDQ0FCUVFKMGFpSUJLQUlBQkg4Z0FVRUFOZ0lBSUFBZ0FDZ0NBRUYvYWpZQ0FFRUFCVUYvQ3hvTFBnQWdBU0FBS0FJQUlBQW9BZ1FRendZaUFVRUJOZ0lBSUFFZ0FEWUNEQ0FCSUFCQkNHb1E0d0lpQURZQ0VDQUFSQUFBQUFBQUFBQUFFSTBCSUFFTHVnRUJCbjhnQUNnQ0FDRUJRYlRFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUWJERUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2N0FnRUdmeU1HSVFNakJrRXdhaVFHSUFOQkdHb2hCU0FEUVJCcUlRWWdBMEVJYWlFSElBTkJJR29pQWlBQU5nSUFJQU5CSEdvaUJDQUJOZ0lBSUFJUVV3Ui9BbjhnQWhCU0lRQWdCQkRTQmdSL0lBQkJDR29pQVNBRUVLd0RRYmdCRUV3YUlBQW9BZ3doQWdKQUFrQWdBU2dDQUNJRUlBQW9BdEFCUncwQUlBQW9BdFFCSUFKSERRQU1BUXNnQXlBRU5nSUFJQU1nQWpZQ0JFRUFRUUpCbWRjQ0lBTVFQU0FCSUFBb0F0QUJJQUFvQXRRQklBRVErUXNMSUFBUXFRTWdBQ0FCRUx3TElnSTJBc0FCSUFKRkJFQkJBRUVEUWNqWEFpQUhFRDFCZnd3Q0N5QUFJQUlRb2draUFqWUMyQUVnQWtVRVFFRUFRUU5CN3RjQ0lBWVFQVUYvREFJTElBSWdBQ2dDMkFNUTR3Z2dBQ0FCUVFocUVLOEpJZ0UyQXVRQklBRUVRQ0FBS0FMWUFTQUFLQUxjQVJESEJ5QUFLQUxBQVNBQUt3TzRBaUFBS3dQQUFpQUFRZGdDYWhER0N5QUFJQUFvQXNBQkVJQUVOZ0xvQVFWQkFFRURRWlBZQWlBRkVEMExRUUFGUVg4TEN3VkJmd3NhSUFNa0Jnc3pBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFEWUNBQ0FFS0FJQUlRVWdCQ1FHSUFVTDd3SUJDSDhnQVNnQ0FDSUZLQUlFSVFOQm9NUURLQUlBSWdSQmYyb2hCaUFFSUFaeFJTSUlCSDhnQXlBR2NRVWdBeUFFVHdSL0lBTWdCQkJPQlNBREN3c2hBMEdjeEFNb0FnQWdBMEVDZEdvaUJ5Z0NBQ0VCQTBBZ0JTQUJLQUlBSWdKSEJFQWdBaUVCREFFTEN3Si9Ba0FnQVVHa3hBTkdEUUFnQVNnQ0JDRUNJQWdFZnlBQ0lBWnhCU0FDSUFSUEJIOGdBaUFFRUU0RklBSUxDeUFEUncwQUlBVU1BUXNnQlNnQ0FDSUNCRUFnQWlnQ0JDRUNJQVVnQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSUFOR0RRRWFDeUFIUVFBMkFnQWdCUXNpQ1NnQ0FDSUNJUWNnQVNBQ0JIOGdBaWdDQkNFQ0lBTWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJZ0pIQkg5Qm5NUURLQUlBSUFKQkFuUnFJQUUyQWdBZ0JTZ0NBQVVnQndzRklBY0xOZ0lBSUFsQkFEWUNBRUdveEFOQnFNUURLQUlBUVg5cU5nSUFJQUFnQlRZQ0FDQUFRYVRFQXpZQ0JDQUFRUUU2QUFnTFpRRUJmeU1HSVFFakJrRWdhaVFHSUFBb0FnQWlBQ2dDQUJvZ0FTQUFOZ0lBSUFGQkVHb2lBQ0FCS0FJQU5nSUFJQUZCQkdvZ0FCRFZCaUFCS0FJRUlRQWdBVUVBTmdJRUlBQUVRQ0FCTEFBTUJFQWdBRUVRYWhDekF3c2dBQkE0Q3lBQkpBWUxPUUVDZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQUVGTWlBQVJBSUFFZ0FEWUNBQ0FDSUFFb0FnQTJBZ0FnQWhEV0Jnc2dBU1FHQ3k4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQWlnQ0FDRURJQUlrQmlBREMxQUJBbjhqQmlFREl3WkJFR29rQmlBQklBSW9BZ0FnQUJDcUF5SUJOZ0lBSUFGQkFFZ0VmeUFESUFBMkFnQkJBRUVEUWZUVEFpQURFRDBnQWlnQ0FCQzRBa0VBQlVFQkN5RUVJQU1rQmlBRUMwRUJBbjhqQmlFREl3WkJFR29rQmlBRElBSVFyUU1nQTBFTWFpSUNJQUVnQXlBQVFUOXhRWW9CYWhFQ0FEWUNBQ0FDS0FJQUlRUWdBeEJISUFNa0JpQUVDM3dCQW44akJpRUVJd1pCRUdva0JpQURJQUFnQWlnQ0FCRGxDU0lBTmdJQUlBQUVmd0ovQWtBQ1FBSkFJQUFvQW13T0FnQUJBZ3NnQVVFQUVJb0NHa0VCREFJTElBRkJBaENLQWhwQkFRd0JDeUFCUVFNUWlnSWFRUUVMQlVFQVFRTkJyZE1DSUFRUVBTQUNLQUlBRUxnQ1FRQUxJUVVnQkNRR0lBVUxuQU1CRDM4akJpRURJd1pCNEFCcUpBWWdBMEhRQUdvaENpQURRY2dBYWlFTElBTkJRR3NoRENBRFFUaHFJUVVnQTBFd2FpRUdJQU5CS0dvaERTQURRU0JxSVE0Z0EwRVlhaUVQSUFOQkVHb2hCeUFEUVFocUlRZ2dBQ2dDNkFFaEVDQURRZGdBYWlJRVFRQTJBZ0FnQXlBQ05nSUFRUUJCQVVIdTBBSWdBeEE5SUFJZ0EwSFVBR29pQ1JDaENVRUFTQVIvSUFnZ0FqWUNBRUVBUVFOQmh0RUNJQWdRUFVFQUJRSi9JQWNnQVRZQ0FFRUFRUUZCck5FQ0lBY1FQU0FKS0FJQUlBRVFvQWxCQUVnRVFFRUFRUU5CeGRFQ0lBOFFQVUVBREFFTElBUWdDUkNqQ1VFQVNBUkFRUUJCQTBIcDBRSWdEaEE5UVFBTUFRdEJBRUVCUVlUU0FpQU5FRDBnQmlBQ05nSUFRUUJCQVVHTjBnSWdCaEE5SUFCQitBRnFJQUZCQW5ScUlBSVFyZ2tpQURZQ0FDQUFSUVJBSUFVZ0FqWUNBRUVBUVFOQm85SUNJQVVRUFF0QkFFRUJRWVRTQWlBTUVEMGdBVUVLUmdSQVFYOFFBUXNnRUNBRUtBSUFFSjRKUVFCSUJIOUJBRUVEUWNUU0FpQUxFRDFCQUFVZ0JCRC9BMEVBUVFGQjNkSUNJQW9RUFVFQkN3c0xJUkVnQXlRR0lCRUxNUUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBU0FDSUFCQlAzRkJpZ0ZxRVFJQU5nSUFJQU1vQWdBaEJDQURKQVlnQkF1WUFRRUNmeUFBUVFGR0JIOUJBZ1VnQUNBQVFYOXFjUVIvSUFBUTBRRUZJQUFMQ3lJQVFiVEVBeWdDQUNJQ1N3UkFJQUFRcXdNRklBQWdBa2tFUUVHOHhBTW9BZ0N6UWNERUF5b0NBSldORUpJQklRRWdBa0YvYWlBQ2NVVWdBa0VDUzNFRWZ5QUJRUUZCSUNBQlFYOXFaMnQwSUFGQkFra2JCU0FCRU5FQkN5SUJJQUFnQUNBQlNSc2lBQ0FDU1FSQUlBQVFxd01MQ3dzTFNBRUJmeUFBUWNnQkVGRWlBellDQUNBQVFiakVBellDQkNBRElBSW9BZ0FvQWdBMkFnZ2dBMEVRYWtFQVFiZ0JFRVVhSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUN6OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRVFyUU1nQWtFTWFpSUJJQUlnQUVIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNFRElBSVFSeUFDSkFZZ0F3dkRCZ0lRZndGOEl3WWhBaU1HUVNCcUpBWWdBa0VZYWlFTklBSkJFR29oQXlBQ1FRaHFJUVFnQWlFTUlBQUVRQUpBSUFGRkJFQkJBRUVEUWEycEFTQUVFRDFCZnlFRURBRUxJQUFvQWdRaEFrRUFJUVFEUUFKQUlBUWdBazROQUNBQUtBSUlJQVJCQW5ScUtBSUFSUTBBSUFSQkFXb2hCQXdCQ3dzZ0FpQUVSZ1JBUVg4aEJBVWdBUkNJQXlJTFJRUkFRUUJCQTBIYXFRRWdBeEE5UVg4aEJBd0NDeUFFUVFKMElRNGdDeEQzQWlFQkFrQURRQUpBSUFwQkJFOE5BaUFLSUE1cUlRaEJBQ0VDUVFBaEJRTkFJQVZCQTBrRVFDQUZSU0VQSUFWQkFrWWhFRUVBSVFjZ0FDZ0NIQ0VEQTBBZ0J5QURTQVJBUVFBaEJnTkFJQVlnQTBnRVFDQUJSUTBHSUFFUTdnUWhBMEVBRVBjQ0lRRWdBQ2dDRENBSVFRSjBhaWdDQUNBRklBWWdCeUFBS0FJY2JHcEJBMnhxUVFKMGFrSC9BU0FEYXlJRE5nSUFJQUFvQWhRZ0NFRUNkR29vQWdBaUVTQUdJQWNnQUNnQ0hHeHFRUUowYWlFSklBOEVRQ0FKSUFNMkFnQUZJQWtnQXlBSktBSUFhallDQUNBUUJFQWdCaUFISUFBb0FoeHNha0VDZENBUmFpSUpJQWtvQWdCQkF4QTVOZ0lBQ3dzZ0JrRUJhaUVHSUFJZ0Eyb2hBaUFBS0FJY0lRTU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUNJQUFvQWh3aUFpQUNRUU5zYkJBNUlRZEJBQ0VGUVFBaEF3TkFJQU1nQWtFRGJDQUNiRWtFUUNBQUtBSU1JQWhCQW5ScUtBSUFJQU5CQW5ScUlnWW9BZ0FnQjJzaEFpQUdJQUkyQWdBZ0JTQUNJQUpzYWlFRklBTkJBV29oQXlBQUtBSWNJUUlNQVFzTElBQW9BaEFnQ0VFRGRHcEVTSys4bXZMWGVqNGdCYmVmSWhJZ0VrUUFBQUFBQUFBQUFHRWJPUU1BUVFBaEJVRUFJUU1EUUNBRElBSWdBbXhKQkVBZ0FDZ0NGQ0FJUVFKMGFpZ0NBQ0FEUVFKMGFpSUdLQUlBSUFkcklRSWdCaUFDTmdJQUlBVWdBaUFDYkdvaEJTQURRUUZxSVFNZ0FDZ0NIQ0VDREFFTEN5QUFLQUlZSUFoQkEzUnFSRWl2dkpyeTEzbytJQVczbnlJU0lCSkVBQUFBQUFBQUFBQmhHemtEQUNBS1FRRnFJUW9NQVFzTFFRQkJBMEgycVFFZ0RSQTlJQXNRT0VGL0lRUU1BZ3NnQ3hBNElBQW9BZ2dnQkVFQ2RHcEJBVFlDQUNBQUlBQW9BZ0JCQVdvMkFnQUxDd1ZCQUVFRFFaU3BBU0FNRUQxQmZ5RUVDeUFNSkFZZ0JBc3NBUUovSXdZaEFTTUdRUkJxSkFZZ0FTQUFRUUZ4UVFacUVSQUFOZ0lBSUFFb0FnQWhBaUFCSkFZZ0Fnc3RBZ0YvQW53akJpRUNJd1pCRUdva0JpQUNJQUVnQUVFRGNSRVNBRGtEQUNBQ0t3TUFJUVFnQWlRR0lBUUxqQUVBSUFCQkFEWUN3QUVnQUVFQU5nTEVBU0FBUWdBM0Fzd0JJQUJDQURjQzFBRWdBRUlBTndMY0FTQUFRWDQyQXZBQklBQkJBRFlDOUFFZ0FFSUFOd0tnQWlBQVFnQTNBcWdDSUFCQmdJQ0EvQU0yQXJBQ0lBQkVMVU1jNitJMkdqODVBN2dDSUFCRUFBQUFBQUJBajBBNUE4QUNJQUJDQURjQ3lBSWdBRUlBTndMUUFpQUFRUUkyQXRnREMwRUJBMzhnQUNnQ0NDRUJBMEFnQVFSQUlBRW9BZ0FoQXlBQkVEZ2dBeUVCREFFTEN5QUFLQUlBSVFJZ0FFRUFOZ0lBSUFJRVFDQUFLQUlFR2lBQ0VEZ0xDNndLQVExL0l3WWhDeU1HUWFBQmFpUUdJQXRCbUFGcUlRVWdDMEdRQVdvaER5QUxRWUFCYWlJSVFRQTJBZ0FnQ0VHMkFUWUNCQ0FJUWNNQk5nSUlJQWhCRFRZQ0RFRi9JUVlEUUNBSFFRUkhCRUFnQUNBSFFRSjBJQWhxS0FJQWFpd0FBQ0VLSUFkQkFXb2hCeUFLSUFrZ0NrSC9BWEVnQ1VIL0FYRktHeUVKSUFvZ0JpQUtRZjhCY1NBR1FmOEJjVWdiSVFZTUFRc0xJQWxCL3dGeElnY2dCa0gvQVhFaUNXdEJIa2dFZnlBQ1FRQTJBZ0FnQTBRQUFBQUFBQUR3dnprREFFRitCUUovSUFjZ0NXcEJBWFloQ2tFQUlRY0RRQ0FIUVFSSEJFQWdCU0FIYWlBS0lBQWdCMEVDZENBSWFpZ0NBR290QUFCTE9nQUFJQWRCQVdvaEJ3d0JDd3RCQUNFSkEwQUNRQ0FKUVFSUERRQWdDVUVCYWlFSUlBVWdDV29zQUFCQkFVWUVRQ0FJUVFOeElBVnFMQUFBUVFGR0JFQWdDVUVDYWtFRGNTQUZhaXdBQUVVTkFnc0xJQWdoQ1F3QkN3c2dBd0o4QWtBQ1FBSkFBa0FDUUFKQUFrQWdDVUgvLy8vL0IzRU9CUUVDQXdRQUJRc2dBa0VBTmdJQUlBTkVBQUFBQUFBQThMODVBd0JCZlF3SEMwSDNBQ0VJUVFBaEJVSC9BU0VIQTBBZ0JVRU9SZ1JBREFZRklBVkJmV29oRENBRlFmNy8vLzhIY1VFTVJpRU5JQVZCRG13aERrRUFJUVlEUUNBR1FRNUhCRUFnRENBR1FYMXFja0VJVHdSQUlBWkIvdi8vL3dkeElRTWdCU0FHY2tIKy8vLy9CM0VFUUNBTklBTkZJQU5CREVaeWNVVUVRQ0FJSUF0cUlBQWdCaUFPYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQUFBTEFBdEI5d0FoQ0VIL0FTRUhRUUFoQmdOQUlBWkJEa1lFUUF3RkJTQUdRWDFxSVF3Z0JrSCsvLy8vQjNFaUJVVWhEU0FGUVF4R0lRNUJEU0VGQTBBZ0JVRi9TZ1JBSUFWQmZXb2dESEpCQ0U4RVFDQU5JQVZCZm5GQkRFWWlBM0ZGQkVBZ0RpQURJQVZCQWtseWNVVUVRQ0FJSUF0cUlBQWdCaUFGUVE1c2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFWQmYyb2hCUXdCQ3dzZ0JrRUJhaUVHREFFTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVF3Z0JVRitjVUVNUmlBRlFRSkpjaUVOSUFWQkRtd2hEa0VOSVFZRFFDQUdRWDlLQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCZm5GQkRFWWdEWEVnQlNBR2NrRUNTWEpGQkVBZ0NDQUxhaUFBSUFZZ0RtcHFMUUFBSUFwcklnTkJIM1k2QUFBZ0NFRi9haUVJSUFOQkFDQURheUFEUVg5S0d5SURJQWNnQXlBSFNCc2hCd3NMSUFaQmYyb2hCZ3dCQ3dzZ0JVRi9haUVGREFFRkRBUUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRMGdCVUYrY1NJTVFReEdJUTRnREVVaEVFRUFJUVlEUUNBR1FRNUhCRUFnQmtGOWFpQU5ja0VJVHdSQUlBNGdCa0grLy8vL0IzRWlBMFZ4UlFSQUlBTWdESEpGSUJBZ0EwRU1SbkZ5UlFSQUlBZ2dDMm9nQUNBRklBWkJEbXhxYWkwQUFDQUtheUlEUVI5Mk9nQUFJQWhCZjJvaENDQURRUUFnQTJzZ0EwRi9TaHNpQXlBSElBTWdCMGdiSVFjTEN3c2dCa0VCYWlFR0RBRUxDeUFGUVg5cUlRVU1BUVVNQXdzQUFBc0FDeUFDSUFrMkFnQkVBQUFBQUFBQThEOE1BUXNnQnlFQUlBSWdDVFlDQUVRQUFBQUFBQUR3UHlBQXQwUUFBQUFBQUFBK1FLTWdBRUVlU2hzTE9RTUFRWTRXUWdBZ0N5QVBFTFVESWdCQkFFZ0VmMEY4QlNBRUJFQWdCQ0FBTmdJQUN5QUJJQThwQXdBM0F3QkJBQXNMQ3lFUklBc2tCaUFSQzVnQkFRSi9JQUJCQVVZRWYwRUNCU0FBSUFCQmYycHhCSDhnQUJEUkFRVWdBQXNMSWdCQm9NUURLQUlBSWdKTEJFQWdBQkN5QXdVZ0FDQUNTUVJBUWFqRUF5Z0NBTE5Cck1RREtnSUFsWTBRa2dFaEFTQUNRWDlxSUFKeFJTQUNRUUpMY1FSL0lBRkJBVUVnSUFGQmYycG5hM1FnQVVFQ1NSc0ZJQUVRMFFFTElnRWdBQ0FBSUFGSkd5SUFJQUpKQkVBZ0FCQ3lBd3NMQ3d0UEFRRi9JQUJCOEFNUVVTSUROZ0lBSUFCQnBNUUROZ0lFSUFNZ0FpZ0NBQ2dDQURZQ0NDQURRUkJxSWdKQkFFSGdBeEJGR2lBQ0VPUUdJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDRkRZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MWHdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWlBRUVBUnlBQlFRSkpjUVIvSUFBZ0FUWUNGRUVBQlVGL0MwVUVRQ0FDSUFFMkFnQkJBRUVCUVp5MkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSU1OZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dGZBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNJQVFRQkhJQUZCQWtseEJIOGdBQ0FCTmdJTVFRQUZRWDhMUlFSQUlBSWdBVFlDQUVFQVFRRkJ1YllDSUFJUVBRc0xJQUlrQmd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUTdnZ2dBaWdDQUFWQmZ3c2hBeUFCSkFZZ0F3dEJBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlnQzJBRWlBQVIvSUFCQm1JZXZBMm9nQVRZQ0FFRUFCVUYvQ3hvTElBSWtCZ3Q3QWdKL0Fud2pCaUVCSXdaQkVHb2tCaUFCUVFocUlnSWdBRFlDQUNBQ0VGTUVmQ0FDRUZJb0F0Z0JJZ0FFZkNBQUJIOGdBU0FBUVpDSHJ3TnFLd01BT1FNQVFRQUZRWDhMUlNFQUlBRXJBd0JFQUFBQUFBQUE4TDhnQUJzRlJBQUFBQUFBQVBDL0N3VkVBQUFBQUFBQThMOExJUVFnQVNRR0lBUUxLZ0VDZndKL0l3WWhBU01HUVJCcUpBWkI3NmdDUVFOQjlJWUJRZEsyQWtFQlFRRVFDU0FCQ3lRR0MzRUNBbjhCZkNNR0lRSWpCa0VRYWlRR0lBSkJDR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaUVBSUFGREFBQUFBRjhnQVVNQUFJQS9ZSEpGQkVBZ0Fic2hCQ0FBS0FMWUFTSUFCRUFnQUNBRUVPb0lSUVJBSUFJZ0JEa0RBRUVBUVFGQjE3WUNJQUlRUFFzTEN3c2dBaVFHQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDR0RZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWdBUkNLQWtVRVFDQUNJQUUyQWdCQkFFRUJRZmEyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJUU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ckFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0lRQWdBVUgvQVUwRVFDQUFLQUxZQVNJQVJTQUJRZjhCUzNJRWYwRi9CU0FBSUFFMkFoQkJBQXRGQkVBZ0FpQUJOZ0lBUVFCQkFVR1p0d0lnQWhBOUN3c0xJQUlrQmd0SkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUS9RaEZJUUFnQWlnQ0FFRi9JQUFiQlVGL0N5RURJQUVrQmlBREMwb0JBbjhqQmlFQ0l3WkJFR29rQmlBQ1FRUnFJZ01nQURZQ0FDQURFRk1FUUNBREVGSW9BdGdCSUFFUSt3TkZCRUFnQWlBQk5nSUFRUUJCQVVHenR3SWdBaEE5Q3dzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBOEFDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FQQUFnc2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQTdnQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RTzRBZ3NnQWlRR0N5c0JBbjhDZnlNR0lRRWpCa0VRYWlRR1FaMm5Ba0VCUWFDSEFVSFd0d0pCMGdCQkFSQUpJQUVMSkFZTENRQkIwSVVCS0FJQUM1c0VBZ0ovQVg0akJpRVRJd1pCa09BQWFpUUdJQk5CZ09BQWFpRVVJQUpCZm1wQkEwa0VRQUpBSUJCQmpoWkhCRUFnQVVFQ0lCQkIvd0Z4SWhRZ0ZFRURiQ0FESUFRZ0JTQUdJQWNnQ0NBSklCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUlMSUJNZ0ZDQU5JQTRnRHlBUUlCRVFxUWNoRFNBU1JRMEJJQkpDQURjREFBd0JDeUFCUVFKQkRrRXFJQU1nQkNBRklBWWdCeUFJUkFBQUFBQUFBT3cvSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBRUxJQk1nRkNBT0lBOGdFUkRtQmlJT1FRQklCRUFnRFVGL05nSUFJQTRoRFF3QkN5QVVLUU1BSWhWQ2YxRUVRQ0FOUVg4MkFnQkJleUVOREFFTElBMGdGYWRCLy84QmNVRUFJQlZDZ0lEKy93K0RVQnMyQWdBZ0VnUkFJQklnRlRjREFBc2dEaUVOQ3dWQkFTRU5Dd0ovQWtBQ1FDQUNEZ1VBQUFFQUFBRUxJQUJGQkVBZ0NrRi9OZ0lBUVg4TUFnc2dBQ2dDSENJT1FRSjBJUThDUUFKQUlBSU9CQUFCQVFBQkN5QUJRUUFnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFNRklBQkJBQ0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1Bd3NBQ3lBQlFRRWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQUlGSUFCQkFTQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUFnc0FDMEVCQ3lFQUlBMUJBVWNFUUNBTklBQkJBQ0FBSUExeFFRQklHeUFBUVFGR0d5RUFDeUFUSkFZZ0FBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR1Jwd0pCQWtHa2h3RkIyYmNDUVM1QjhnQVFDU0FCQ3lRR0N3c0FRZENGQVNBQU5nSUFDemtCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBVUhraHFjQ2FpZ0NBQVZCQUFzaEFpQUJKQVlnQWd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUWdBa2dBaWdDQUFWQkFBc2hBeUFCSkFZZ0F3dGJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNBQlFRQkhJZ0FRL1FNZ0FrSGR0d0pCNGJjQ0lBQWJOZ0lBUVFCQkFVSG10d0lnQWhBOUJVRUFJUUVMSUFJa0JpQUJDK0VGQWdwL0FYMGpCaUVDSXdaQjBBQnFKQVlnQWtFNGFpRUlJQUpCTUdvaENTQUNRY3dBYWlFRUlBSkJ4QUJxSVFVZ0FrRkFheUVISUFKQnlBQnFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUlES0FMMEFTQUJUQVJBUWZDR0FTZ0NBQXdCQ3lBRVFRQTJBZ0FnQlVGL05nSUFJQWREQUFDQXZ6Z0NBQUpBQWtBZ0F5Z0M4QUVpQUVGK1JnUkFJQU1vQXVnQklBTW9Bc3dCRUpjSklBTW9BdWdCSWdBRWZ5QUVJQUFvQWpRMkFnQWdCU0FBS0FJNE5nSUFRUUFGUVg4TEdpQUZLQUlBSVFZZ0JDZ0NBQ0VGUVg4aEFFRUFJUVFEUUNBRUlBWklCRUFnQVNBRVFjUUFiQ0FGYWlnQ01FWUVRQ0FFUWNRQWJDQUZhaWdDUEVVRVFBSkFJQWNnQUVGL1JnUi9JQVJCeEFCc0lBVnFLQUkwQlNBSEtnSUFJQVJCeEFCc0lBVnFLZ0kwSWd4ZVJRMEJJQXk4Q3pZQ0FDQUVJUUFMQ3dzZ0JFRUJhaUVFREFFTEN5QUFRWDlNQkVBZ0EwRitOZ0x3QVF3Q0N5QURJQVVvQWpBaUNqWUM4QUZCQUNFRUEwQWdCRUVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FFUVFSMElBSnFJQVpCQW5ScUlBQkJ4QUJzSUFWcUlBUkJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dCRUVCYWlFRURBRUxDeUFEUWZnQmFpQUtRUUowYWlnQ0FDQUNFSzBKSUFNb0F2QUJJUUFMSUFCQmYwd05BQ0FES0FMc0FTQURRZmdCYWlBQVFRSjBhaWdDQUNBREtBTEVBU0FDSUFjUXpnWWlBRUVBU0FSQUlBa2dBRFlDQUVFQVFRRkIvTGNDSUFrUVBTQURRWDQyQXZBQkRBRUxJQU1vQXZRQlFYOXFJUUFnQ0NBRFFmZ0JhaUFES0FMd0FVRUNkR29vQWdBMkFnQWdDQ0FBTmdJRVFRQkJBVUdQdUFJZ0NCQTlJQU1vQXZBQlFYOU1EUUJCQXlBQklBY3FBZ0M3SUFJcUFnQzdJQUlxQWdTN0lBSXFBZ2k3SUFJcUFneTdJQUlxQWhDN0lBSXFBaFM3SUFJcUFoaTdJQUlxQWh5N0lBSXFBaUM3SUFJcUFpUzdJQUlxQWlpN0lBSXFBaXk3RUNzYURBRUxRUVFnQVJBc0dndEJBQXNGUWVpR0FTZ0NBQXNoQ3lBQ0pBWWdDd3VhQWdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSW9BdGdCSWdBb0Fpd2dBVW9FZjBFQ1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0FvQWdBZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQUNnQ0VDQUFLQUlVSUFBb0FoZ2dBQ3NESUNBQUt3TW9JQUFyQXpBZ0FDc0RPQ0FBUVVCckt3TUFJQUFyQTBnZ0FDc0RVQ0FBS3dOWUlBQXJBMkFnQUNzRGFDQUFLd053SUFBckEzZ2dBQ3NEZ0FFZ0FDc0RpQUVnQUNzRGtBRWdBQ3NEbUFFZ0FDc0RvQUVnQUNzRHFBRWdBQ3NEc0FFZ0FDc0R1QUVnQUNzRHdBRWdBQ3NEeUFFZ0FDc0QwQUVnQUNzRDJBRWdBQ3NENEFFZ0FDZ0M4QUVRS0JwQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RURJQUlrQmlBREM4MEJBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9BbjhnQXhCU0lnUW9Bc2dDSVFBZ0FVRUFTQ0FFS0FMTUFpQUFhMEVEZFNBQlRYSUVRRUhzaGdFb0FnQU1BUXNnQWtFQVNDQUJRUU4wSUFCcUtBSUVJZ0FvQWdRZ0FreHlCSDlCOElZQktBSUFCU0FBS0FJQUlnQWdBa0hBQW14cVFSQnFFTFFDUVFFZ0FrSEFBbXdnQUdvb0FyQUNJQUpCd0FKc0lBQnFLQUlBSUFKQndBSnNJQUJxS0FJRUlBSkJ3QUpzSUFCcUt3TUlFQ29hUVFBTEN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkN5Z0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJFQWdBUkJTR2dzZ0FTUUdRWDhMT0FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCUVN4cUJVSG9oZ0VMS0FJQUlRSWdBU1FHSUFJTG9BVUJDWDlCQ0VFSUVJc0JJUWRCQ0VFQkVJc0JJUWhCQ0VFQkVJc0JJUWtEUUNBRlFRUkhCRUFnQnlnQ0FDSUVJQVZCQkhRaUEwRURkR29nQlVFRWRDQUFhaUlHS3dNQU9RTUFJQU5CQVhKQkEzUWdCR29nQlVFRWRDQUFhaUlLS3dNSU9RTUFJQU5CQW5KQkEzUWdCR3BFQUFBQUFBQUE4RDg1QXdBZ0EwRURja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFSeVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJCWEpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFR2NrRURkQ0FFYWlBR0t3TUFJQVZCQkhRZ0FXb2lDeXNEQUtLYU9RTUFJQU5CQjNKQkEzUWdCR29nQ2lzRENDQUxLd01Bb3BvNUF3QWdBMEVJY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRbHlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQ25KQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUxja0VEZENBRWFpQUdLd01BT1FNQUlBTkJESEpCQTNRZ0JHb2dDaXNEQ0RrREFDQURRUTF5UVFOMElBUnFSQUFBQUFBQUFQQS9PUU1BSUFOQkRuSkJBM1FnQkdvZ0Jpc0RBQ0FGUVFSMElBRnFJZ1lyQXdpaW1qa0RBQ0FEUVE5eVFRTjBJQVJxSUFvckF3Z2dCaXNEQ0tLYU9RTUFJQWdvQWdBaUJDQUZRUUYwSWdOQkEzUnFJQXNyQXdBNUF3QWdBMEVCY2tFRGRDQUVhaUFHS3dNSU9RTUFJQVZCQVdvaEJRd0JDd3NnQnhEV0FSb2dDU0FISUFnUXJRSWFJQWtvQWdBaEFVRUFJUUFEUUNBQVFRSkhCRUFnQUVFWWJDQUNhaUFBUVFOc0lnTkJBM1FnQVdvckF3QTVBd0FnQUVFWWJDQUNhaUFEUVFGcVFRTjBJQUZxS3dNQU9RTUlJQUJCR0d3Z0Ftb2dBMEVDYWtFRGRDQUJhaXNEQURrREVDQUFRUUZxSVFBTUFRc0xJQUlnQVNzRE1Ea0RNQ0FDSUFFckF6ZzVBemdnQWtGQWEwUUFBQUFBQUFEd1B6a0RBQ0FIRUVrZ0NCQkpJQWtRU1F2U0V3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lISVF3Z0FTQUNRWDlxSWhCc1FRRjBJQWRxSVFZRFFDQUZJQUZJQkVBZ0JrRUFPd0VBSUF4QkFEc0JBQ0FNUVFKcUlRd2dCVUVCYWlFRklBWkJBbW9oQmd3QkN3dEJBQ0VNSUFjaUJpQUJRWDlxSWhGQkFYUnFJUVVEUUNBTUlBSklCRUFnQlVFQU93RUFJQVpCQURzQkFDQUJRUUYwSUFacUlRWWdERUVCYWlFTUlBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVHUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUXhCQVNFS1FRQWhCU0FBUVFGMElBZHFJUU1DZndKQUEwQUNRQ0FLSUJCT0RRSWdCU0VBUVFFaENDQURJUXNEUUNBSUlCRklCRUFnRFMwQUFDQU1MUUFBU2dSQUlBdEJBRHNCQUFVQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxDeUFOUVFGcUlRMGdERUVCYWlFTUlBaEJBV29oQ0NBTFFRSnFJUXNNQVFzTElBMUJBbW9oRFNBTVFRSnFJUXdnQ2tFQmFpRUtJQUFoQlNBTFFRUnFJUU1NQVFzTFFRQkJBMEdvcFFFZ0RoQTlRWDhNQVFzZ0JFRU1haUVOUVFFaEFFRUJJUWNEUUNBSElBVk1CRUFnQnlBR0tBSUFJZ3hHQkVBZ0FFRUJhaUVEQlNBQUlRTWdERUVDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFHSUFBMkFnQWdBeUVBSUFkQkFXb2hCeUFHUVFScUlRWU1BUXNMSUFRZ0FFRi9haUlHTmdJSUlBWUVmeUFOUVFBZ0JrRUNkQkJGR2lBRVFaQ0FLR3BCQUNBR1FRUjBFRVVhUVFBaEF3TkFJQU1nQmtnRVFDQUVRWXlBQ0dvZ0EwRUNkQ0lBUVFKMGFpQUJOZ0lBSUFSQmpJQUlhaUFBUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQVFRSnlRUUowYWlBQ05nSUFJQVJCaklBSWFpQUFRUU55UVFKMGFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBRFFRSjBhaWdDQUVGL2FpSUNRUUowYWlJQUlBUkJrSURRQUdvZ0EwRUhiQ0lHUVFKMGFpZ0NBQ0FBS0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJQlFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2NnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0drZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQTBFQmFpRUREQUVMQ3lBRUtBSUlJUUpCQUNFREEzOGdBeUFDU0FSL0lBUkJrSUFvYWlBRFFRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBRVFReHFJQU5CQW5ScUtBSUF0eUlVb3prREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUJTak9RTUFJQU5CQVdvaEF3d0JCVUVBQ3dzRlFRQUxDeUVUSUE0a0JpQVRDNE1CQVFOL0l3WWhBU01HUVRCcUpBWWdBVUVvYWlJQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSVFBZ0FVSUFOd01BSUFGQ0FEY0RDQ0FCUWdBM0F4QWdBVUlBTndNWUlBRkNBRGNESUNBQklBQW9Bc1FCTmdJQUlBRkJBVFlDRUNBQklBQW9Bc3dCTmdJTUlBQW9BdGdCSUFFUTF3Z0ZRZWlHQVNnQ0FBc2hBeUFCSkFZZ0F3dUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUJFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQUVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXR0QVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvSUFNUVVpSUVLQUxZQVNJQUtBSXNJQUZLQkg4Z0JDZ0M1QUZCNkx3RElBQkJNR29nQVVFSWRHb2dBVUVBU0JzZ0FyY1FtUWhCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFESUFBMkFnQWdBeEJUQkg4Z0F4QlNJZ1FvQXRnQklnQW9BaXdnQVVvRWZ5QUVLQUxrQVVIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUN0MEdBcEFNUTJnTWFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQlNBREpBWWdCUXVRQWdJQ2Z3aDhJd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaWdDMkFFaUFDZ0NMQ0FCU2dSL1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0JCZ0tRREt3TUFJZ1E1QTZnQklBQkJpS1FES3dNQUlnVTVBN0FCSUFCQmtLUURLd01BSWdZNUE3Z0JJQUJCbUtRREt3TUFJZ2M1QThBQklBQkJvS1FES3dNQUlnZzVBOGdCSUFCQnFLUURLd01BSWdrNUE5QUJJQUJCc0tRREt3TUFJZ281QTlnQklBQkJ1S1FES3dNQUlnczVBK0FCSUFBZ0JDQUdvQ0FJb0NBS29FUUFBQUFBQUFEUVA2STVBemdnQUVGQWF5QUZJQWVnSUFtZ0lBdWdSQUFBQUFBQUFOQS9vamtEQUVFQUJVSHdoZ0VvQWdBTEJVSG9oZ0VvQWdBTElRTWdBaVFHSUFNTFpBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FEWUNBQ0FERUZNRWZ5QURFRklvQXRnQklnQW9BaXdnQVVvRWYwSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDTmdJUVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCQ0FESkFZZ0JBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR0RwUUpCQWtHc2h3RkJtTThDUVI5QnhnQVFDU0FCQ3lRR0M1b0JBUVIvSXdZaEFTTUdRZEFCYWlRR0lBRkJ3QUZxSVFNZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElBRWdBVUc0QVdvaUFoRElDMEVBU0FSL0lBQXNBQXRCQUVnRVFDQUFLQUlBSVFBTElBTWdBRFlDQUVFQVFRTkJnZEFDSUFNUVBVRi9CVUhFeEFOQnhNUURLQUlBSWdCQkFXbzJBZ0FnQWlBQU5nSUFJQUlRckFNZ0FVRzRBUkJNR2lBQ0tBSUFDeUVFSUFFa0JpQUVDendCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnQW9Bc3dDSUFBb0FzZ0NhMEVEZFFWQmZ3c2hBaUFCSkFZZ0FndGlBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQUlBRkJBRWdFZjBGL0JTQUFLQUxNQWlBQUtBTElBaUlBYTBFRGRTQUJTd1IvSUFGQkEzUWdBR29vQWdRb0FnUUZRWDhMQ3dWQmZ3c2hBeUFDSkFZZ0F3dDNBUUovSXdZaEF5TUdRUkJxSkFZZ0EwRUVhaUlDSUFBMkFnQWdBaEJUQkVBZ0FoQlNJZ0lvQXZRQklRQWdBU3dBQzBFQVNBUkFJQUVvQWdBaEFRc2dBaUFBSUFFUTNBWUVRQ0FDSUFJb0F2UUJRUUZxTmdMMEFRVkJBRUVEUWNIUUFpQURFRDFCZnlFQUN3VkJmeUVBQ3lBREpBWWdBQXZVQVFFRWZ5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEJDQUNRUXhxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlFQUlBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBQ2dDMkFFZ0FFSGNBV29nQUVIZ0FXb2lBeERiQmtVRVFFRUFRUU5CL05JQ0lBUVFQVUYvREFFTElBSWdBQ2dDekFJaUFTQUFRY2dDYWlJRUtBSUFhMEVEZFRZQ0FDQUNJQU1vQWdBMkFnUWdBU0FBS0FMUUFrWUVRQ0FFSUFJUWxnRUZJQUVnQWlrREFEY0NBQ0FBSUFBb0Fzd0NRUWhxTmdMTUFnc2dBaWdDQUFzRlFYOExJUVVnQWlRR0lBVUxid0VEZnlNR0lRTWpCa0VRYWlRR0lBTkJCR29pQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVDSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FrSFVBbW9pQUNBQ1Fkd0JhaERaQmdSL0lBQW9BZ0FGUVFCQkEwSEkwd0lnQXhBOVFYOExCVUYvQ3lFRUlBTWtCaUFFQzVjQ0FRUi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnRW9Bc0FCSUFFb0F0Z0RFTkVHSVFBZ0FTQUFOZ0xzQVNBQUJFQWdBVUhvQVdvaEF3VkJBRUVEUWFMVUFpQUNFRDBnQVVIb0FXb2lBeENrQ1NBQktBTHNBU0VBQ3lBQUJIOGdBRU1BQUtCQU9BSXNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRU1BQUFBL09BSW9RUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVRTmdJa1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lZUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJZ1FRQUZRWDhMR2lBRElBRW9Bc0FCRUlBRU5nSUFRUUFGUVg4TElRUWdBaVFHSUFRTHRnRUJCWDhqQmlFQ0l3WkJFR29rQmlBQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSWdBb0FzUUJJZ0VFUUNBQkVEZ2dBRUVBTmdMRUFTQUFRUUEyQXNnQkN5QUFFS2tESUFBb0F0d0JFTGdDSUFJUTF3WWdBRUhJQW1vaEEwRUFJUUVEUUNBQklBQW9Bc3dDSUFNb0FnQWlCR3RCQTNWSkJFQWdBVUVEZENBRWFpZ0NCQ0lFS0FJQUVEZ2dCQkE0SUFGQkFXb2hBUXdCQ3dzZ0F4QlZJQU1RT0NBQUVMTURJQUFRT0VFQUJVRi9DeUVGSUFJa0JpQUZDKzRCQVFSL0l3WWhCQ01HUVJCcUpBWkJ5TVFEUWNqRUF5Z0NBQ0lEUVFGcU5nSUFJQVJCREdvaUJTQUROZ0lBSUFVUVVpSURJQVVvQWdBMkFnQWdBeUFBTmdMUUFTQURJQUUyQXRRQklBTWdBU0FBUVFKMGJDSUFOZ0xJQVNBRElBQVFSRFlDeEFFZ0F5QURLQUxJQVVFRUVEa1FSRFlDekFFZ0F4QzNCeUlBTmdMY0FTQUFSUVJBUVFCQkEwSEIxQUlnQkJBOUN5QUZLQUlBSUFJUTB3WWdCRUVJYWlJQUlBTW9Bc2dCTmdJQVFRQkJBVUhtMUFJZ0FCQTlRUUFnQXlnQ0FDQURLQUxFQVNBREtBTElBU0FEUWRnQ2FrR0FwQU1nQXlnQ3pBRVFLUm9nQXlnQ0FDRUdJQVFrQmlBR0M0Y0pBUUYvSXdZaEFDTUdRUkJxSkFaQm5LUUNRUm9RM0FGQm9xUUNRY01BRUlRQlFhdWtBa0hFQUJDRUFVRzBwQUpCRkJDMkFrRy9wQUpCRlJDMkFrSFBwQUpCRmhDMkFrSGRwQUpCRnhDMkFVSHZwQUpCeFFBUWhBRVFrZ2RCajZVQ1FSc1EzQUZCb0tVQ1FSZ1F0Z0ZCdEtVQ1FSd1EzQUZCeHFVQ1FSMFEzQUZCM0tVQ1FSa1F0Z0ZCODZVQ1FSb1F0Z0ZCa0tZQ1FjY0FFSVFCUVoybUFrSElBQkNFQVVHcXBnSkJ5UUFRaEFGQnVxWUNRUjRRM0FGQnphWUNRUnNRdGdGQjE2WUNRUndRdGdGQjVLWUNRUjBRdGdGQjhhWUNRY29BRUlRQlFmNm1Ba0hMQUJDRUFSRC9CaEQ4QmtHcHB3SkJBUkMwQTBIQXB3SkJBUkMxQWtIWHB3SkJBaEMwQTBIdHB3SkJBaEMxQWtHRHFBSkJLQkRBQVVHVXFBSkJ6QUFRaEFGQnBhZ0NRU2tRd0FGQnNxZ0NRYzBBRUlRQlFiK29Ba0VxRU1BQlFkZW9Ba0hPQUJDRUFSRHdCa0g4cUFKQkF4QzFBa0dKcVFKQkt4REFBVUdicVFKQnp3QVFoQUZCcmFrQ1FTd1F3QUZCdmFrQ1FkQUFFSVFCUWMycEFrRXRFTUFCUWQ2cEFrSFJBQkNFQVVIdnFRSkI2SVlCRUV0QmpLb0NRZXlHQVJCTFFhaXFBa0h3aGdFUVN5QUFRUUEyQWdCQnlhb0NJQUFRU3lBQVFRRTJBZ0JCMnFvQ0lBQVFTeUFBUVFBMkFnQkI2cW9DSUFBUVN5QUFRUUEyQWdCQmdLc0NJQUFRU3lBQVFRRTJBZ0JCbWFzQ0lBQVFTeUFBUVFFMkFnQkJzcXNDSUFBUVN5QUFRZVFBTmdJQVFjdXJBaUFBRUVzZ0FFRUFOZ0lBUWVhckFpQUFFRXNnQUVFQk5nSUFRWUNzQWlBQUVFc2dBRUVBTmdJQVFacXNBaUFBRUVzZ0FFRUFOZ0lBUWJXc0FpQUFFRXNnQUVFQk5nSUFRZENzQWlBQUVFc2dBRUVDTmdJQVFlcXNBaUFBRUVzZ0FFRUROZ0lBUVlPdEFpQUFFRXNnQUVFRU5nSUFRYW10QWlBQUVFc2dBRUVBTmdJQVFjNnRBaUFBRUVzZ0FFRUFOZ0lBUWZDdEFpQUFFRXNnQUVFQk5nSUFRWWl1QWlBQUVFc2dBRUVDTmdJQVFhS3VBaUFBRUVzZ0FFRUNOZ0lBUWIydUFpQUFFRXNnQUVFRk5nSUFRZCt1QWlBQUVFc2dBRVFBQUFBQUFBRGdQemtEQUVIeHJnSkJtUGtBSUFBckF3QVFGeUFBUVFBMkFnQkJocThDSUFBUVN5QUFRUUUyQWdCQm1hOENJQUFRU3lBQVFRSTJBZ0JCcTY4Q0lBQVFTeUFBUVFNMkFnQkJ2YThDSUFBUVN5QUFRUVEyQWdCQjBLOENJQUFRU3lBQVFRTTJBZ0JCNXE4Q0lBQVFTeUFBUVlNRU5nSUFRZm12QWlBQUVFc2dBRUdEQWpZQ0FFR1dzQUlnQUJCTElBQkJCRFlDQUVHeXNBSWdBQkJMSUFCQmhBWTJBZ0JCeGJBQ0lBQVFTeUFBUVlRSU5nSUFRZU93QWlBQUVFc2dBRUVBTmdJQVFZR3hBaUFBRUVzZ0FFRUJOZ0lBUWFDeEFpQUFFRXNnQUVFQ05nSUFRY1N4QWlBQUVFc2dBRUVETmdJQVFlYXhBaUFBRUVzZ0FFRUFOZ0lBUVl5eUFpQUFFRXNnQUVFQk5nSUFRYTJ5QWlBQUVFc2dBRUVDTmdJQVFkeXlBaUFBRUVzZ0FFRUROZ0lBUVlhekFpQUFFRXNnQUVFRU5nSUFRYkd6QWlBQUVFc2dBRUVGTmdJQVFlV3pBaUFBRUVzZ0FFRUdOZ0lBUVppMEFpQUFFRXNnQUVFSE5nSUFRY1cwQWlBQUVFc2dBRUVJTmdJQVFleTBBaUFBRUVzZ0FFRUpOZ0lBUVptMUFpQUFFRXNnQUNRR0MwTUFRWnpFQTBJQU53SUFRYVRFQTBJQU53SUFRYXpFQTBHQWdJRDhBellDQUVHd3hBTkNBRGNDQUVHNHhBTkNBRGNDQUVIQXhBTkJnSUNBL0FNMkFnQVFuQWNMcUFJQ0JIOENmQ01HSVFFakJrRVFhaVFHSUFBckF3QWlCVVFBQUFBQUFBQUFBR1pGQkVBZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCMEFBUVBrSDJvZ0lRTjBINW9nSVFOeUlFS0FJQVFYUnFLQUlBSUFScUVEc2dBVUdBemdNUU9pSUNLQUlBS0FJY0lRTWdBa0VLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdBUkE4SUFRZ0F4QkFJQVFRUHhBQUN5QUFLd01JSWdaRUFBQUFBQUFBQUFCbUJFQWdBU1FHSUFZZ0JhRVBCU0FCUWNESUEwR1Vvd0lRTjBIOW9RSVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYnFqQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBQkVEd2dBaUFBRUVBZ0FoQS9FQUFMUkFBQUFBQUFBQUFBQzdZQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNzREFFUUFBQUFBQUFBQUFHWUVRQ0FCUVFBUUZCb2dBQ0FCS0FJRXQwU043YldnOThhd1BxSWdBU2dDQUxlZ09RTUlJQUVrQmdVZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCd3dBUVBrSDJvZ0lRTjBINW9nSVFOeUlDS0FJQVFYUnFLQUlBSUFKcUVEc2dBVUdBemdNUU9pSURLQUlBS0FJY0lRQWdBMEVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBUkE4SUFJZ0FCQkFJQUlRUHhBQUN3czJBUUYvSXdZaEFTTUdRUkJxSkFZZ0FVRUFFQlFhSUFBZ0FTZ0NCTGRFamUyMW9QZkdzRDZpSUFFb0FnQzNvRGtEQUNBQkpBWUxSd0VCZnlNR0lRTWpCa0dBRUdva0JpQURRWUFRSUFFb0FnQWdBU0FCTEFBTFFRQklHeUFDRUtrQkdpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0F5QURFR0FRZmlBREpBWUxUUUVEZndOQUlBSWdBQ2dDQkNBQUtBSUFJZ05yUVFOMVNRUkFJQUpCQTNRZ0Eyb29BZ0FpQXlnQ0FDZ0NDQ0VFSUFOQkNDQUJJQVJCQTNGQjlnVnFFUVlBSUFKQkFXb2hBZ3dCQ3dzTEZBQWdBRUVNYWtFQUlBRW9BZ1JCOTZBQ1Joc0xDQUFnQUNnQ0RCb0xVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FkU0dBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDeFFBSUFCQkRHcEJBQ0FCS0FJRVFmMmZBa1liQ3drQUlBQW9BZ3dRT0F0UkFRSi9Jd1loQXlNR1FSQnFKQVlnQUNBQk5nSUFRUkFRVVNJQ1FRQTJBZ1FnQWtFQU5nSUlJQUpCdUlZQk5nSUFJQUlnQVRZQ0RDQUFJQUkyQWdRZ0F5QUJOZ0lBSUFNZ0FUWUNCQ0FESkFZTGxSSUNDMzhCZmlNR0lRd2pCa0VnYWlRR0lBeEJHR29oQ0NBTVFSQnFJUTRnQVVGOWFrRUZTd1IvSUFKQmZ6WUNBQ0FEUVFBMkFnQWdCRVFBQUFBQUFBRHd2emtEQUVGL0JRSi9JQXhCQURZQ0FDQU1JQUVnQVVGL2FpSUxiRFlDQkNBTUlBRWdBV3dpRDBGL2FqWUNDQ0FNSUFzMkFneEJmeUVKQTBBZ0IwRUVSd1JBSUFBZ0IwRUNkQ0FNYWlnQ0FHb3NBQUFoRFNBSFFRRnFJUWNnRFNBS0lBMUIvd0Z4SUFwQi93RnhTaHNoQ2lBTklBa2dEVUgvQVhFZ0NVSC9BWEZJR3lFSkRBRUxDeUFLUWY4QmNTSUhJQWxCL3dGeElncHJRUjVJQkVBZ0FrRi9OZ0lBSUFOQkFEWUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYNE1BUXNnQnlBS2FrRUJkaUVKUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQWhxSUFrZ0FDQUhRUUowSUF4cUtBSUFhaTBBQUVzNkFBQWdCMEVCYWlFSERBRUxDMEVBSVFjQ1FBSkFBMEFDUUNBSFFRUlBEUUlnQjBFQmFpRUtJQWNnQ0dvc0FBQkJBVVlFUUNBS1FRTnhJQWhxTEFBQVFRRkdCRUFnQjBFQ2FrRURjU0FJYWl3QUFFVU5BZ3NMSUFvaEJ3d0JDd3NnQXlBSE5nSUFEQUVMSUFkQkJFWUVRQ0FDUVg4MkFnQWdBMEVBTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZlF3Q0N3dEIvd0VoQ2tFQUlRY0RRQ0FISUE5SEJFQkJBQ0FBSUFkcUlnMHRBQUFpRUNBSmF5SUlheUFJSUFoQkFFZ2JJUWdnRFNBSklCQkxPZ0FBSUFnZ0NpQUlJQXBJR3lFS0lBZEJBV29oQnd3QkN3c0NRQUpBQWtBQ1FBSkFJQU1vQWdBaUF3NEVBQUVDQXdRTEEwQWdBeUFCU0FSQUlBTWdDMFloQ0NBQklBTnNJUWxCQUNFSEEwQWdBU0FIUndSQUlBTWdCM0lFUUNBSUlBZEZJQWNnQzBaeWNVVUVRQ0FBSUFjZ0NXcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dCMEVCYWlFSERBRUxDeUFEUVFGcUlRTU1BUVVNQlFzQUFBc0FDMEVBSVFjRFFDQUhJQUZJQkVBZ0IwVWhDQ0FISUF0R0lRa2dDeUVEQTBBZ0EwRi9TZ1JBSUFnZ0F5QUxSaUlOY1VVRVFDQUpJQTBnQTBWeWNVVUVRQ0FBSUFjZ0FTQURiR3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQTBGL2FpRUREQUVMQ3lBSFFRRnFJUWNNQVFVTUJBc0FBQXNBQ3lBTElRTURRQ0FEUVg5S0JFQWdBMFVnQXlBTFJuSWhDQ0FCSUFOc0lRa2dDeUVIQTBBZ0IwRi9TZ1JBSUFNZ0IzSkZJQWNnQzBZZ0NIRnlSUVJBSUFBZ0J5QUphbW9zQUFCQkFFZXRJQkpDQVlhRUlSSUxJQWRCZjJvaEJ3d0JDd3NnQTBGL2FpRUREQUVGREFNTEFBQUxBQXNnQ3lFREEwQWdBMEYvU2dSQUlBTWdDMFloQ0NBRFJTRUpRUUFoQndOQUlBY2dBVWdFUUNBSklBY2dDMFp4SUFNZ0IzSkZJQWdnQjBWeGNuSkZCRUFnQUNBRElBRWdCMnhxYWl3QUFFRUFSNjBnRWtJQmhvUWhFZ3NnQjBFQmFpRUhEQUVMQ3lBRFFYOXFJUU1NQVFzTEN5QUVSQUFBQUFBQUFQQS9JQXEzUkFBQUFBQUFBRDVBb3lBS1FSNUtHemtEQUFKQUFrQUNRQUpBQWtBZ0JVR0RBbXNPZ3dnQUF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBUU1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBZ0lEQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3c2dEaUFTcDBIZ0NXb3NBQUFpQUt3M0F3QWdBRUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQlFzTUF3c2dEaUFTcHlJQVFlQUlhaXdBQUNJQnJEY0RBQ0FHQkVBZ0JpQUFRYUFKYWkwQUFEWUNBQXNnQVVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJBc01BZ3NnQlNBU1FRQWdEaEMxQXlJQVFRQklCRUFnQWtGL05nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZBd0RDeUFBUVFCSElBWkJBRWR4QkVBZ0JpQUFOZ0lBQ3d3QkN5QU9JQkkzQXdBTElBSWdEaWtEQUQ0Q0FFRUFDd3NoRVNBTUpBWWdFUXNsQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FDQUJFS3NIQzY4QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNBQktBSUFOZ0lBSUFBZ0FTZ0NCRFlDQkNBQUlBRW9BZ2cyQWdnZ0FDQUJLQUlNTmdJTUlBQWdBU2dDRURZQ0VDQUFJQUVvQWhRMkFoUWdBaUFCS0FJWUlnUTJBZ0FnQWtFRWFpSURJQUVvQWh3aUFUWUNBQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdBRlFRQUxJUUVnQWlBQUtBSVlOZ0lBSUFBZ0JEWUNHQ0FESUFBb0FodzJBZ0FnQUNBQk5nSWNJQUlRbFFFZ0FpUUdDekFCQVg4Z0FDZ0NDQ0VEQTBBZ0F5QUNMQUFBT2dBQUlBQWdBQ2dDQ0VFQmFpSUROZ0lJSUFGQmYyb2lBUTBBQ3d1NUFRRUZmeU1HSVFRakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGF5QUJTUVJBUWYvLy8vOEhJQUVnQXlBQUtBSUFhMm9pQTBrRVFCQUFCU0FFSUFNZ0FDZ0NDQ0FBS0FJQUlnVnJJZ1pCQVhRaUJ5QUhJQU5KRzBILy8vLy9CeUFHUWYvLy8vOERTUnNnQUNnQ0JDQUZheUFBUVFocUVOZ0NJQVFnQVNBQ0VLd0hJQUFnQkJEWEFpQUVFTllDQ3dVRFFDQURJQUlzQUFBNkFBQWdBQ0FBS0FJRVFRRnFJZ00yQWdRZ0FVRi9haUlCRFFBTEN5QUVKQVlMT0FFQ2Z5QUFLQUlFSUFBb0FnQWlCR3NpQXlBQlNRUkFJQUFnQVNBRGF5QUNFSzBIQlNBRElBRkxCRUFnQUNBQklBUnFOZ0lFQ3dzTElnQWdBQ0FCSUFBb0FnUkJmbXF6RU9NQklBSWdBQ2dDQ0VGK2FyTVE0d0VRVFF0aEFRRjlJQU1ROWdJZ0JKUWhCU0FERVBVQ0lBU1VJUU1nQUNBRk9BSUFJQUFnQTR3NEFnUWdBQ0FCT0FJSUlBQWdBemdDRENBQUlBVTRBaEFnQUNBQ09BSVVJQUJEQUFBQUFEZ0NHQ0FBUXdBQUFBQTRBaHdnQUVNQUFJQS9PQUlnQ3lJQUlBRkJDQkE1SUFCcUlnQWdBQzBBQUNBQ1FmOEJjU0FCUVFkeGRISTZBQUFMaXdFQkNIOGdBRUhVQUJEWkEwRWtJUVZCSXlFR1FTUWhCd05BSUFKQkpVY0VRQ0FDUVFKMElBRnFJUWtnQWtFQmFpSUNJUWdnQkNFREEwQWdBeUFIUndSQUlBQWdBeUFKS2dJQUlBaEJBblFnQVdvcUFnQmRFTEVISUFoQkFXb2hDQ0FEUVFGcUlRTU1BUXNMSUFZZ0Iyb2hCeUFFSUFWcUlRUWdCVUYvYWlFRklBWkJmMm9oQmd3QkN3c0xxQTRDSUg4Q2ZTTUdJUklqQmtIUUFtb2tCaUFTUWFBQ2FpSVJJQUlxQWdBZ0Fpb0NCQ0FDS2dJSVF3QUFnRDhnQWlvQ0RDQVFsQ0lRSUJCREFBQ0FQMTBiSWpFUXNBY2dFU29DQ0NFeUlCRXFBaFFoRUNBU1FmQUJhaUlUSUJFZ0F4QmJJQk5CQ0dvaUdDQVJJQU5CQ0dvUVd5QVRRUkJxSWhrZ0VTQURRUkJxRUZzZ0UwRVlhaUlhSUJFZ0EwRVlhaEJiSUJOQklHb2lHeUFSSUFOQklHb1FXeUFUUVNocUlod2dFU0FEUVNocUVGc2dFa0hBQVdvaUZDQVJJQVFRV3lBVVFRaHFJaDBnRVNBRVFRaHFFRnNnRkVFUWFpSWVJQkVnQkVFUWFoQmJJQlJCR0dvaUh5QVJJQVJCR0dvUVd5QVVRU0JxSWlBZ0VTQUVRU0JxRUZzZ0ZFRW9haUloSUJFZ0JFRW9haEJiSUJKQmtBRnFJaFVnRVNBRkVGc2dGVUVJYWlJaUlCRWdCVUVJYWhCYklCVkJFR29pSXlBUklBVkJFR29RV3lBVlFSaHFJaVFnRVNBRlFSaHFFRnNnRlVFZ2FpSWxJQkVnQlVFZ2FoQmJJQlZCS0dvaUppQVJJQVZCS0dvUVd5QVNRZUFBYWlJV0lCRWdCaEJiSUJaQkNHb2lKeUFSSUFaQkNHb1FXeUFXUVJCcUlpZ2dFU0FHUVJCcUVGc2dGa0VZYWlJcElCRWdCa0VZYWhCYklCWkJJR29pS2lBUklBWkJJR29RV3lBV1FTaHFJaXNnRVNBR1FTaHFFRnNnRWtFd2FpSVhJQkVnQnhCYklCZEJDR29pTENBUklBZEJDR29RV3lBWFFSQnFJaTBnRVNBSFFSQnFFRnNnRjBFWWFpSXVJQkVnQjBFWWFoQmJJQmRCSUdvaUx5QVJJQWRCSUdvUVd5QVhRU2hxSWpBZ0VTQUhRU2hxRUZzZ0VpQVJJQWdRV3lBU1FRaHFJZ1lnRVNBSVFRaHFFRnNnRWtFUWFpSUZJQkVnQ0VFUWFoQmJJQkpCR0dvaUJDQVJJQWhCR0dvUVd5QVNRU0JxSWdNZ0VTQUlRU0JxRUZzZ0VrRW9haUlDSUJFZ0NFRW9haEJiSUFFZ0VrSElBbW9pQ0NBU1FjUUNhaUlISURFZ0Q1UVF0d0VnQUNBQklCSXFBZ0FnRWlvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdCaW9DQUNBU0tnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FJRUlBQWdBU0FGS2dJQUlCSXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFnZ2dBQ0FCSUFRcUFnQWdFaW9DSENBSUtBSUFJQWNvQWdBUVdUZ0NEQ0FBSUFFZ0F5b0NBQ0FTS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUlRSUFBZ0FTQUNLZ0lBSUJJcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWhRZ0FTQUlJQWNnTVNBT2xCQzNBU0FBSUFFZ0Z5b0NBQ0FYS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUlZSUFBZ0FTQXNLZ0lBSUJjcUFnd2dDQ2dDQUNBSEtBSUFFRms0QWh3Z0FDQUJJQzBxQWdBZ0Z5b0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ0lDQUFJQUVnTGlvQ0FDQVhLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSWtJQUFnQVNBdktnSUFJQmNxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBaWdnQUNBQklEQXFBZ0FnRnlvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDTENBQklBZ2dCeUF4SUEyVUVMY0JJQUFnQVNBV0tnSUFJQllxQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBakFnQUNBQklDY3FBZ0FnRmlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDTkNBQUlBRWdLQ29DQUNBV0tnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FJNElBQWdBU0FwS2dJQUlCWXFBaHdnQ0NnQ0FDQUhLQUlBRUZrNEFqd2dBRUZBYXlBQklDb3FBZ0FnRmlvQ0pDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdLeW9DQUNBV0tnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FKRUlBRWdDQ0FISURFZ0RKUVF0d0VnQUNBQklCVXFBZ0FnRlNvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDU0NBQUlBRWdJaW9DQUNBVktnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FKTUlBQWdBU0FqS2dJQUlCVXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFsQWdBQ0FCSUNRcUFnQWdGU29DSENBSUtBSUFJQWNvQWdBUVdUZ0NWQ0FBSUFFZ0pTb0NBQ0FWS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUpZSUFBZ0FTQW1LZ0lBSUJVcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWx3Z0FTQUlJQWNnTVNBTGxCQzNBU0FBSUFFZ0ZDb0NBQ0FVS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUpnSUFBZ0FTQWRLZ0lBSUJRcUFnd2dDQ2dDQUNBSEtBSUFFRms0QW1RZ0FDQUJJQjRxQWdBZ0ZDb0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ2FDQUFJQUVnSHlvQ0FDQVVLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSnNJQUFnQVNBZ0tnSUFJQlFxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBbkFnQUNBQklDRXFBZ0FnRkNvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDZENBQklBZ2dCeUF4SUFxVUVMY0JJQUFnQVNBVEtnSUFJQk1xQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBbmdnQUNBQklCZ3FBZ0FnRXlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDZkNBQUlBRWdHU29DQUNBVEtnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FLQUFTQUFJQUVnR2lvQ0FDQVRLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BS0VBU0FBSUFFZ0d5b0NBQ0FUS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUtJQVNBQUlBRWdIQ29DQUNBVEtnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FLTUFTQUJJQWdnQnlBeElBbVVFTGNCSUFBZ0FTQXlJQkFnQ0NnQ0FDQUhLQUlBRUZrNEFwQUJJQklrQmtFQkMwd0JBbjhqQmlFUkl3WkJvQUZxSkFZZ0VTQUJJQUlnQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxNSEJIOGdBQ0FSRUxJSFFRRUZRUUFMSVJJZ0VTUUdJQklMdGdRQkJuOGpCaUVUSXdaQkVHb2tCaUFCUlFSQUlCTkJ3TWdEUWNlV0FoQTNRZWFXQWhBM1FlK2lBaEEzUVprRUVENUI5cUlDRURkQjFKY0NFRGNpRVNBUktBSUFRWFJxS0FJQWFoQTdJQk5CZ000REVEb2lFaWdDQUNnQ0hDRVVJQkpCQ2lBVVFUOXhRWW9CYWhFQ0FDRVNJQk1RUENBUklCSVFRQ0FSRUQ4UUFBc2dBQkJ4SUFJb0FnUWlGQ0FDS0FJQUloVnJRUlFRT1VjRVFDQVRRY0RJQTBIa2x3SVFOMEhtbGdJUU4wSHZvZ0lRTjBHYUJCQStRZmFpQWhBM1FabVlBaEEzSWhFZ0VTZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJaElvQWdBb0Fod2hGaUFTUVFvZ0ZrRS9jVUdLQVdvUkFnQWhFaUFURUR3Z0VTQVNFRUFnRVJBL0VBQUxRUUFoRWtFQUlSRURRQ0FTSUJRZ0ZXdEJGQkE1SWhSSkJFQWdBQ2dDQkNBUklBQW9BZ0JzYWlBQklBSW9BZ0FnRWtFVWJHb2dBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTFFIQkVBZ0FDZ0NFQ0FSUVJSc2FpSVVJQUlvQWdBZ0VrRVViR29pRlNrQ0FEY0NBQ0FVSUJVcEFnZzNBZ2dnRkNBVkxBQVFPZ0FRSUJGQkFXb2hFUXNnRWtFQmFpRVNJQUlvQWdRaEZDQUNLQUlBSVJVTUFRc0xJQkVnRkVZRVFDQUFJQkVRdkFNZ0V5UUdCU0FUUWNESUEwRyttQUlRTjBIbWxnSVFOMEh2b2dJUU4wSHBCQkErUWZhaUFoQTNRZkdZQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBVEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQzNNQUlBRVEwZ01nQVNBREtBSUVJQU1vQWdCclFSUVFPUkM4QXlBQklBSWdBeUFBSUFCQk1Hb2dBRUhnQUdvZ0FFR1FBV29nQUVIQUFXb2dBRUh3QVdvZ0FDb0NvQUlnQUNvQ3BBSWdBQ29DcUFJZ0FDb0NyQUlnQUNvQ3NBSWdBQ29DdEFJZ0FDb0N1QUlnQUNvQ3ZBSVF0UWNMeHdNQkRYOGpCaUVDSXdaQlFHc2tCaUFDUVRocUlRa2dBa0V3YWlFS0lBSkJLR29oQ3lBQ1FTQnFJUU1nQWtFWWFpRUZJQUpCRUdvaEJpQUNRUWhxSVFCQklCQkVJZ0ZGQkVCQkFFRURRYm5ZQWlBQ0VEMUJBUkFCQ3lBQlFRQTJBZ0FnQVVFeU5nSUVJQUZCRURZQ0hDQUJRY2dCRUVRaUJ6WUNDQ0FIUlFSQVFRQkJBMEc1MkFJZ0FCQTlRUUVRQVFzZ0FVR2dCaEJFSWdnMkFnd2dDRVVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFGQm9BWVFSQ0lBTmdJVUlBQkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFCUWNBTUVFUWlBRFlDRUNBQVJRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBVUhBREJCRUlnQTJBaGdnQUVVRVFFRUFRUU5CdWRnQ0lBc1FQVUVCRUFFTEFrQUNRQUpBQTBBQ1FDQUVRVEpPQkVBZ0FTRU1EQVVMSUFSQkFuUWdCMnBCQURZQ0FDQUVRUUowSVFWQkFDRURBMEFnQTBFRVNRUkFJQU1nQldvaUJrRUNkQ0FJYWtHQUdCQkVJZ0EyQWdBZ0FFVU5Ba0dBQ0JCRUlRQWdBU2dDRkNBR1FRSjBhaUFBTmdJQUlBQkZEUVFnQTBFQmFpRUREQUVMQ3lBRVFRRnFJUVFNQVFzTFFRQkJBMEc1MkFJZ0NoQTlEQUVMUVFCQkEwRzUyQUlnQ1JBOUMwRUJFQUVMSUFJa0JpQU1DNmtCQUNBQVFkQVZRUXdRdUFFZ0FFRXdha0dBRmtFTUVMZ0JJQUJCNEFCcVFiQVdRUXdRdUFFZ0FFR1FBV3BCNEJaQkRCQzRBU0FBUWNBQmFrR1FGMEVNRUxnQklBQkI4QUZxUWNBWFFRd1F1QUVnQUVQTnpNdzlPQUtnQWlBQVF6TXpNejQ0QXFRQ0lBQkRBQUNBUGpnQ3FBSWdBRU5tWnFZK09BS3NBaUFBUTgzTXpENDRBckFDSUFCRE16UHpQamdDdEFJZ0FFUE56QXcvT0FLNEFpQUFRd0FBNEVBNEFyd0NDMDhCQVgwZ0FVTUFBQUFBT0FJQUlBSkJmellDQUNBQVFlUUFhaUVBQTBBZ0FDZ0NBQ0lBQkVBZ0F5QUFLQUlNczEwRVFDQUNJQUFvQWdnMkFnQWdBU0FBS0FJTXN5SURPQUlBQ3d3QkN3c0x1d01DQ244RGZTTUdJUVVqQmtFUWFpUUdJQUZCQUV3RVFDQUZRY0RJQTBIMWxBSVFOMEdTbFFJUU4wSHZvZ0lRTjBFMUVENUI5cUlDRURkQmhKWUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0VBVEFSQUlBVkJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUVRZUVBrSDJvZ0lRTjBHMGxnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVLSUFaQlAzRkJpZ0ZxRVFJQUlRUWdCUkE4SUFNZ0JCQkFJQU1RUHhBQUN5QUNRWDlxSWdsQkFuUWdBR29oQ2lBQlFYOXFJUWNEUUNBS0tnSUFJUTBnQ0NBSFNBUkFJQWdoQVNBSElRTURRQU5BSUFGQkFXb2hCQ0FCUVFKMElBQnFJZ3NxQWdBaURpQU5YUVJBSUFRaEFRd0JDd3NEUUNBRFFYOXFJUVlnRFNBRFFRSjBJQUJxSWd3cUFnQWlEMTBFUUNBR0lRTU1BUXNMSUFFZ0Ewd0VRQ0FMSUE4NEFnQWdEQ0FPT0FJQUlBUWhBU0FHSVFNTElBRWdBMHdOQUFzZ0J5QURJQUVnQWtnYklRY2dBU0FJSUFNZ0NVZ2JJUWdNQVFzTElBVWtCaUFOQ3pVQkFYMGdBUkQyQWlBQ2xDRURJQUVROVFJZ0FwUWhBU0FBSUFNNEFnQWdBQ0FCakRnQ0JDQUFJQUU0QWdnZ0FDQURPQUlNQzBJQkFYOGdBRUVRRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFOZ0lJSUFRZ0F5Z0NCRFlDRENBQVFRRTZBQWdnQkNBQ05nSUVJQVJCQURZQ0FBdWFBUUVCZlNBQUtBSTBzaUVKSUFFZ0JTQUFLZ0lVSWdXVElBQXFBaGdnQlpNUTNnRWdDWlE0QWdBZ0FDZ0NPTEloQlNBQ0lBWWdBQ29DSENJR2t5QUFLZ0lnSUFhVEVONEJJQVdVT0FJQUlBTWdCN3RFR0MxRVZQc2hDVUNnUklQSXlXMHdYOFEvb2lBQUtBSTh0NksyT0FJQUlBQkJRR3NvQWdDeUlRVWdCQ0FJSUFBcUFpUWlCcE1nQUNvQ0tDQUdreERlQVNBRmxEZ0NBQXU3REFNTGZ3WjlBWHdqQmlFSUl3WkJFR29rQmlBQUtnSVVJaEFnQVY0RWYwRUFCU0FBS2dJWUloRWdBVjhFZjBFQUJTQUFLZ0ljSWhJZ0FsNEVmMEVBQlNBQUtnSWdJaE1nQWw4RWYwRUFCU0FEdXlJV1JCZ3RSRlQ3SVFuQVpTQVdSQmd0UkZUN0lRbEFaSElFZjBFQUJTQUFLZ0lrSWhRZ0JGNEVmMEVBQlNBQUtnSW9JaFVnQkY4RWYwRUFCU0FRSUFGZlJRUkFJQWhCd01nRFFaR0tBaEEzUWJPS0FoQTNRZStpQWhBM1FlZ0NFRDVCOXFJQ0VEZEJzNHNDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRVNBQlhrVUVRQ0FJUWNESUEwSENpd0lRTjBHemlnSVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRYk9MQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJJZ0FsOUZCRUFnQ0VIQXlBTkI0NHNDRURkQnM0b0NFRGRCNzZJQ0VEZEI2Z0lRUGtIMm9nSVFOMEdGakFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVElBSmVSUVJBSUFoQndNZ0RRWlNNQWhBM1FiT0tBaEEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCaFl3Q0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0ZrUVlMVVJVK3lFSndHUkZCRUFnQ0VIQXlBTkJ0WXdDRURkQnM0b0NFRGRCNzZJQ0VEZEI3QUlRUGtIMm9nSVFOMEhZakFJUU55SUdLQUlBUVhScUtBSUFJQVpxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBV1JCZ3RSRlQ3SVFsQVpVVUVRQ0FJUWNESUEwSHJqQUlRTjBHemlnSVFOMEh2b2dJUU4wSHRBaEErUWZhaUFoQTNRZGlNQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJRZ0JGOUZCRUFnQ0VIQXlBTkJqbzBDRURkQnM0b0NFRGRCNzZJQ0VEZEI3Z0lRUGtIMm9nSVFOMEc0alFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVklBUmVSUVJBSUFoQndNZ0RRY3VOQWhBM1FiT0tBaEEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCdUkwQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0FDQUFRY1FBYWlJSklBQkJ5QUJxSWdZZ0FFSE1BR29pQlNBQVFkQUFhaUlISUFFZ0FpQURJQVFRdlFjZ0NTb0NBRU1BQUFDL2tvNFFReUVLSUFZcUFnQkRBQUFBdjVLT0VFTWhDd0ovSUFVcUFnQkRBQUFBdjVLT0VFTWhEaUFIS2dJQVF3QUFBTCtTamhCRElRd2dEaUFBS0FJOElnVnFDeUFGRUU4aERTQUtRUUJJQkg5QkFBVWdDMEVBU0NBS1FRRnFJZ2tnQUNnQ05FNXlCSDlCQUFVZ0RFRUFTQ0FMUVFGcUlnWWdBQ2dDT0U1eUJIOUJBQVVnREVFQmFpSUhJQUJCUUdzb0FnQklCSDhnRFVFQmFpQUZFRThoQlNBQUlBQWdDaUFMSUEwZ0RCQjhFSHNnQUNBQUlBa2dDeUFOSUF3UWZCQjdJQUFnQUNBSklBWWdEU0FNRUh3UWV5QUFJQUFnQ1NBR0lBVWdEQkI4RUhzZ0FDQUFJQWtnQmlBRklBY1FmQkI3SUFBZ0FDQUpJQVlnRFNBSEVId1FleUFBSUFBZ0NTQUxJQVVnREJCOEVIc2dBQ0FBSUFrZ0N5QUZJQWNRZkJCN0lBQWdBQ0FKSUFzZ0RTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0RCQjhFSHNnQUNBQUlBb2dCaUFGSUF3UWZCQjdJQUFnQUNBS0lBWWdCU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdCeEI4RUhzZ0FDQUFJQW9nQ3lBRklBd1FmQkI3SUFBZ0FDQUtJQXNnQlNBSEVId1FleUFBSUFBZ0NpQUxJQTBnQnhCOEVIdEJBUVZCQUFzTEN3c0xDd3NMQ3dzTElROGdDQ1FHSUE4TEp3QWdBQVIvSUFCQjhJYXZBMm9pQUNnQ0FBUi9JQUJCQURZQ0FFRUFCVUYvQ3dWQmZ3c2FDNGNFQWdWL0FYd2pCaUVOSXdaQklHb2tCaUFOUVJCcUlRNGdBeUFISUF1VElnYzRBZ0FDUUFKQUlBZTdJaEpFR0MxRVZQc2hDY0JsQkVBZ0VrUVlMVVJVK3lFWlFLQzJJUWNNQVFVZ0VrUVlMVVJVK3lFSlFHUUVRQ0FTUkJndFJGVDdJUm5Bb0xZaEJ3d0NDd3NNQVFzZ0F5QUhPQUlBQ3lBSHV5SVNSQmd0UkZUN0lRbkFaRVVFUUNBT1FjRElBMEcxakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhVQXhBK1FmYWlBaEEzUWRpTUFoQTNJZzhnRHlnQ0FFRjBhaWdDQUdvUU95QU9RWURPQXhBNkloQW9BZ0FvQWh3aEVTQVFRUW9nRVVFL2NVR0tBV29SQWdBaEVDQU9FRHdnRHlBUUVFQWdEeEEvRUFBTElCSkVHQzFFVlBzaENVQmxCRUFnQkNBSUlBd1EzZ0VpQnpnQ0FDQU5JQU1xQWdBZ0J4QzdCeUFFSUFRcUFnQVEwZ0VnQUNvQ01KUTRBZ0FnRFNvQ0NDRUhJQTBxQWd3aENDQUJJQVVnRFNvQ0FDSUZJQW1VSUEwcUFnUWlDeUFLbEpLVElBVWdBQ29DQ0pRZ0N5QUFLZ0lNbEpLU09BSUFJQUlnQmlBSElBbVVJQWdnQ3BTU2t5QUhJQUFxQWdpVUlBZ2dBQ29DREpTU2tqZ0NBQ0FOSkFZRklBNUJ3TWdEUWV1TUFoQTNRYk9LQWhBM1FlK2lBaEEzUWRVREVENUI5cUlDRURkQjJJd0NFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQTVCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQTRRUENBQUlBRVFRQ0FBRUQ4UUFBc0w3UVFDQjM4Q2ZTTUdJUWNqQmtFUWFpUUdJQWRCREdvaEJDQUFLQUlBSUFBb0FnUVF4Z0VoQ2lBSElBTVFoQUlnQTBFQVRBUkFJQVJCd01nRFFibVNBaEEzUWRtU0FoQTNRZStpQWhBM1FkQUJFRDVCOXFJQ0VEZEIyNU1DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0FFRUFUQVJBSUFSQndNZ0RRZkdUQWhBM1FkbVNBaEEzUWUraUFoQTNRZEVCRUQ1QjlxSUNFRGRCbTVRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NCRUVBVEFSQUlBUkJ3TWdEUWJLVUFoQTNRZG1TQWhBM1FlK2lBaEEzUWRJQkVENUI5cUlDRURkQjNaUUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dDckloQzBFQUlRUURRQ0FESUFSSEJFQWdCRUVDZENJRlFRSjBJQUZxS2dJTUlBVkJBblFnQW1vcUFnd1EzZ0VnQzVRaERDQUhLQUlBSUFSQkFuUnFJQXc0QWdBZ0JFRUJhaUVFREFFTEN5QUhLQUlBSWdFZ0J5Z0NCQ0FCYTBFQ2RTSUJJQUZCQWhBNUlBRkJBWEZCZjJwcUVMb0hRd0FBZ0Q2VUlRc2dBRUVGSUFBcUFoZ2dBQ29DRkpNZ0M1V05FRU1ReGdFMkFqUWdBRUVGSUFBcUFpQWdBQ29DSEpNZ0M1V05FRU1ReGdFaUFUWUNPQ0FBSUFFZ0FDZ0NOR3dpQVRZQ1ZDQUFJQUVnQUNnQ1BHdzJBbGdnQnhCVklBY2tCZ3U3QWdFS2Z5TUdJUVVqQmtFUWFpUUdJQVZCREdvaENTQUZRUWhxSVFvZ0JVRUVhaUVMSUFCQjNBQnFFTDBESUFNRVFDQUFRZkFBYWlJTUlBTkJBblFRaHdFZ0FFSDhBR29pRFNBREVJY0JJQUFzQUJBRVFDQUFJQUVnQWlBREVNRUhDd05BSUFjZ0EwZ0VRQ0FBSUFrZ0NpQUxJQVVnQjBFQ2RDSUVRUUowSUFGcUlnZ3FBZ0FnQ0NvQ0JDQUlLZ0lJSUFncUFnd2dCRUVDZENBQ2FpSUVLZ0lBSUFRcUFnUWdCQ29DQ0NBRUtnSU1FTUFISUFBZ0NTb0NBQ0FLS2dJQUlBc3FBZ0FnQlNvQ0FCQytCd1JBSUF3b0FnQWdCa0VFZEdvaUJDQUFLQUpFTmdJQUlBUWdBQ2dDU0RZQ0JDQUVJQUFvQWt3MkFnZ2dCQ0FBS0FKUU5nSU1JQTBvQWdBZ0JrRUNkR29nQnpZQ0FDQUdRUUZxSVFZTElBZEJBV29oQnd3QkN3c2dEQ0FHUVFKMEVJY0JJQTBnQmhDSEFRc2dCU1FHQzRNQkFDQUFJQUU0QWhRZ0FDQUNPQUlZSUFBZ0F6Z0NIQ0FBSUFRNEFpQWdBRU1BQUlDL09BSWtJQUJEQUFDQVB6Z0NLQ0FBUVFBMkFqUWdBRUVBTmdJNElBQkJERFlDUENBQVFVQnJRUW8yQWdBZ0FFRUFOZ0pVSUFCQkFEWUNXQ0FBUXdBQUlFRTRBaXdnQUVQWVc5NCtPQUl3SUFCQkFUb0FFQ0FBUWR3QWFoQzlBd3NwQVFGL0lBQW9BZ2dRdmdNZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN3dVBBUUVCZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQVRvQUVDQUFRUlJxSWdGQ0FEY0NBQ0FCUWdBM0FnZ2dBVUlBTndJUUlBRkNBRGNDR0NBQlFnQTNBaUFnQVVJQU53SW9JQUZDQURjQ01DQUJRZ0EzQWpnZ0FVRkFhMElBTndJQUlBRkNBRGNDU0NBQlFnQTNBbEFnQUVHQWdJRDhBellDYkNBQVFnQTNBbkFnQUVJQU53SjRJQUJDQURjQ2dBRUxMUUFnQUNBQlFVQnJLQUlBTmdJQUlBQWdBU2dDUkNJQU5nSUVJQUFFUUNBQUlBQW9BZ1JCQVdvMkFnUUxDeWNBSUFBRWZ5QUFRZkNHcndOcUlnQW9BZ0FFZjBGL0JTQUFJQUUyQWdCQkFBc0ZRWDhMR2dzckFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQk5nSUFJQUFvQWdCQkJHb2dBaEREQWlFRElBSWtCaUFEQzdnQkFRTi9JQUVnQVNnQ0JFRUFJQUlnQUNnQ0FDSUVheUlEUVFKMWEwRUNkR29pQlRZQ0JDQURRUUJLQkVBZ0JTQUVJQU1RVEJvTElBQW9BZ1FnQW1zaUEwRUFTZ1JBSUFFb0FnZ2dBaUFERUV3YUlBRWdBU2dDQ0NBRFFRSjJRUUowYWpZQ0NBc2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDMFFCQW44Z0FpZ0NBQ0VESUFFb0FnQWhBZ05BSUFJZ0EwY0VRQ0FBS0FJSUlnUWdBaWdDQURZQ0FDQUFJQVJCQkdvMkFnZ2dBU0FDUVFScUlnSTJBZ0FNQVFzTEMyTUJCSDhnQUNnQ0JDSUZJQU5ySWdaQkFuVWlCMEVDZENBQmFpRUVJQVVoQXdOQUlBUWdBa2tFUUNBRElBUW9BZ0EyQWdBZ0FDQURRUVJxSWdNMkFnUWdCRUVFYWlFRURBRUxDeUFHQkVCQkFDQUhhMEVDZENBRmFpQUJJQVlRNXdFYUN3cy9BUUYvSUFJb0FnQWhBaUFCS0FJQUlRRURRQ0FCSUFKSEJFQWdBQ2dDQkNJRElBRW9BZ0EyQWdBZ0FDQURRUVJxTmdJRUlBRkJCR29oQVF3QkN3c0xOQUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTJBZ0FnQWtFQU5nSUVJQUFnQUNnQ0JFRUlhaUlDTmdJRUlBRkJmMm9pQVEwQUN3czdBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0Y0YWpZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1VEFRRUNmeUFBS0FJQUlRTWdBQ2dDQkNFQ0EwQWdBaUFEUndSQUlBRW9BZ1JCZUdvZ0FrRjRhaUlDS1FJQU53SUFJQUVnQVNnQ0JFRjRhallDQkF3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDNkVCQVFSL0l3WWhBeU1HUVJCcUpBWWdBa0VCU2dSQUlBSkJmbXBCQWhBNUlnSkJBM1FnQUNnQ0FDSUZhaUVBSUFFZ0FTZ0NBRUY0YWlJRU5nSUFJQUFnQkJEQkFRUkFJQU1nQkNrQ0FEY0RBQU5BQWtBZ0JDQUFLUUlBTndJQUlBRWdBRFlDQUNBQ1JRMEFJQUpCZjJwQkFoQTVJZ0pCQTNRZ0JXb2lCaUFERU1FQkJFQWdBQ0VFSUFZaEFBd0NDd3NMSUFBZ0F5a0RBRGNDQUFzTElBTWtCZ3VkQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRZi8vLy84QklBQW9BZ1FnQUNnQ0FHdEJBM1ZCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlvQWdnZ0FTa0NBRGNDQUNBQ0lBSW9BZ2hCQ0dvMkFnZ2dBQ0FDRU04SElBSVF6Z2NnQWlRR0N3c3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU1FRElBQWdBUkROQndzTGhBVUJDSDhqQmlFSUl3WkJNR29rQmlBSVFRaHFJUVVnQ0VFUWFpSUpJQUFvQW13Z0FDZ0NhR3RCQW5VUTBnZEJmeUVFUVg4aENnTkFJQVlnQ1NnQ0JDQUpLQUlBYTBFRGRVa0VRQ0FBS0FKb0lBWkJBblJxS0FJQVFRUnFJQU1RZ2dJaEJ5QUZJQUFvQW1nZ0JrRUNkR29vQWdBMkFnQWdCU0FITmdJRUlBa29BZ0FnQmtFRGRHb2dCU2tEQURjQ0FDQUdJQW9nQnlBRVNTSUxHeUVLSUFjZ0JDQUxHeUVFSUFaQkFXb2hCZ3dCQ3dzZ0NrRi9SZ1JBSUFWQndNZ0RRZG1KQWhBM1FkSHhBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCKzRrQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0JTQUFLQUpvSUFwQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJRUlBRW9BZ2hKQkVBZ0JDQUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N5QUlRU1JxSVFaQkFDRUVBMEFnQ1NnQ0FDSURJUWNnQkNBSktBSUVJQU5yUVFOMVNRUkFJQVFnQ2tjRVFDQUVRUU4wSUFkcUtBSUVJQWtvQWdBZ0NrRURkR29vQWdSR0JFQWdCU0FBS0FKb0lBUkJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUhJQUVvQWdoSkJFQWdCeUFETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDd1VnQ1NnQ0FDQUVRUU4wYWlFRElBSW9BZ1FpQnlBQ0tBSUlSZ1JBSUFJZ0F4RFJCeUFDS0FJRUlRTUZJQWNnQXlrQ0FEY0NBQ0FDSUFJb0FnUkJDR29pQXpZQ0JBc2dDQ0FDS0FJQUlnYzJBaUFnQ0NBRE5nSWNJQVlnQ0NnQ0lEWUNBQ0FGSUFnb0FodzJBZ0FnQmlBRklBTWdCMnRCQTNVUTBBY0xDeUFFUVFGcUlRUU1BUXNMSUFrUTB3TWdDQ1FHQzU0REFRaC9Jd1loQkNNR1FUQnFKQVlnQkVFb2FpRUlJQVJCSkdvaENTQUVRUWhxSVFVZ0FTZ0NBQ0FBS0FJQUlnRWlCbXRCQW5WQkFuUWdBV29oQVNBREtBSUFJZ29nQWlnQ0FDSURheUlDUVFKMUlRY2dBa0VBU2dSQUFrQWdCeUFBS0FJSUlBQW9BZ1FpQ3lJQ2EwRUNkVW9FUUVILy8vLy9BeUFISUFJZ0JtdEJBblZxSWdaSkJFQVFBQVVnQlNBR0lBQW9BZ2dnQUNnQ0FDSUNheUlIUVFGMUlnc2dDeUFHU1J0Qi8vLy8vd01nQjBFQ2RVSC8vLy8vQVVrYklBRWdBbXRCQW5VZ0FFRUlhaERJQVNBRUlBTTJBZ1FnQkNBS05nSUFJQWtnQkNnQ0JEWUNBQ0FJSUFRb0FnQTJBZ0FnQlNBSklBZ1F5Z2NnQUNBRklBRVF5UWNnQlJESEFRd0NDd3NnQWlBQmF5SUZRUUoxSWdaQkFuUWdBMm9oQWlBSElBWktCRUFnQkNBQ05nSWdJQVFnQ2pZQ0hDQUpJQVFvQWlBMkFnQWdDQ0FFS0FJY05nSUFJQUFnQ1NBSUVNd0hJQVZCQUV3TkFRVWdDaUVDQ3lBQUlBRWdDeUFIUVFKMElBRnFFTXNISUFFaEFBTkFJQUlnQTBjRVFDQUFJQU1vQWdBMkFnQWdBRUVFYWlFQUlBTkJCR29oQXd3QkN3c0xDeUFFSkFZTGhBTUNCMzhCZmlNR0lRUWpCa0V3YWlRR0lBUkJDR29oQlNBQUtBSUlSUVJBSUFWQndNZ0RRYUtKQWhBM1FkSHhBUkEzUWUraUFoQTNRWlVERUQ1QjlxSUNFRGRCeFlrQ0VEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFR0lBTkJDaUFHUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FDSUFNUVFDQUNFRDhRQUFzZ0JFRWNhaUVHSUFCQkFEWUNaQ0FBSUFBb0FrZzJBa3dnQUVIVUFHb2hCeUFBS0FKWUlRSURRQ0FDSUFjb0FnQWlBMGNFUUNBQ0lBTnJJZ2hCQ0VvRWZ5QUZJQU1wQWdBaUNUY0RBQ0FESUFKQmVHb2lBaWtDQURjQ0FDQUNJQWszQWdBZ0JDQUROZ0lZSUFRZ0FqWUNGQ0FFSUFNMkFoQWdCaUFFS0FJWU5nSUFJQVFnQkNnQ0ZEWUNJQ0FGSUFRb0FoQTJBZ0FnQmlBSVFRTjJRWDlxSUFVUXZ3TWdBQ2dDV0FVZ0Fnc2hBMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUFJQU5CZUdvaUFqWUNXQXdCQ3dzZ0FDQUhJQUFvQWdnZ0FSQzdBaUFBS0FKTUlBQW9Ba2hyR2lBRUpBWUx5QUVCQVg4akJpRU5Jd1pCRUdva0JpQUJJQVVnQ1pPTE9BSUFJQUlnQmlBS2s0czRBZ0FnQkNBSUlBeVRpemdDQUNBRElBY2dDNU9MSWdVZ0FDZ0NQTElnQlpNUS9nRWlCVGdDQUNBRlF3QUFBQUJnQkVBZ0RTUUdCU0FOUWNESUEwSFhpQUlRTjBHemlnSVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRWUNKQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBTlFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBTkVEd2dBaUFBRUVBZ0FoQS9FQUFMQytvSUFRTi9Jd1loQmlNR1FSQnFKQVlnQVNBRklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQlBJZ2MyQWdBZ0FpQUZJQWRySUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJBNUlnYzJBZ0FnQXlBRklBRW9BZ0JySUFjZ0FDZ0NOR3hySUFBb0FsZ1FUeUFBS0FKVUVEa2lCellDQUNBRUlBVWdBU2dDQUdzZ0FpZ0NBQ0FBS0FJMGJDQUhJQUFvQWxSc2Ftc2dBQ2dDV0JBNUlnYzJBZ0FnQVNnQ0FDSUZRWDlNQkVBZ0JrSEF5QU5CcVk0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdmdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFnZ0FSQkFJQWdRUHhBQUN5QUZJQUFvQWpST0JFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnZ3RVFQa0gyb2dJUU4wSEtqZ0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBVWdBUkJBSUFVUVB4QUFDeUFDS0FJQUlnUkJmMHdFUUNBR1FjRElBMEdFandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQlNBQkVFQWdCUkEvRUFBTElBUWdBQ2dDT0U0RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FhV1BBaEEzSWdRb0FnQkJkR29vQWdBZ0JHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JDQUJFRUFnQkJBL0VBQUxJQU1vQWdBaUEwRi9UQVJBSUFaQndNZ0RRZCtQQWhBM1FiT0tBaEEzUWUraUFoQTNRY0lCRUQ1QjlxSUNFRGRCaEpBQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FFSUFFUVFDQUVFRDhRQUFzZ0F5QUFLQUk4VGdSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNNQkVENUI5cUlDRURkQmhKQUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCMEYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNRQkVENUI5cUlDRURkQjc1QUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCeUFBUVVCcktBSUFTQVJBSUFZa0JnVWdCa0hBeUFOQmhaRUNFRGRCczRvQ0VEZEI3NklDRURkQnhRRVFQa0gyb2dJUU4wSHZrQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQmhBOElBSWdBQkJBSUFJUVB4QUFDd3Z4QWdFTGZ5QUFJQUVRdkFJaUFrRUFTQVIvSUFJRkFuOGdBQ2dDQUFSQUlBQkJCR29oQ0NBQVFRaHFJUVVGSUFBZ0FFRUlhaUlGS0FJQUlBQkJCR29pQ0NnQ0FHd1FSQ0lDTmdJQVFYOGdBa1VOQVJvTEEwQWdCaUFGS0FJQUlnSklCRUJCQUNFQ0EwQWdBaUFJS0FJQUlnbElCRUJCZkNFSFFRQWhDa0VBSVFNRFFDQUhRUVJNQkVBZ0JpQUhhaUlFUVFCT0JFQWdCQ0FGS0FJQVNBUkFBa0FnQkNBSmJDRU1RWHdoQkFOQUlBUkJCRW9OQVNBQ0lBUnFJZ3RCZjBvZ0N5QUpTSEVFUUNBS1FRRnFJUW9nQXlBQklBc2dER3BxTFFBQWFpRURDeUFFUVFGcUlRUU1BQUFMQUFzTEN5QUhRUUZxSVFjTUFRc0xJQU1nQ2hBNVFmOEJjU0VESUFBb0FnQWdBaUFHSUFsc2Ftb2dBem9BQUNBQ1FRRnFJUUlNQVFzTElBWkJBV29oQmd3QkN3dEJBQ0VESUFJaEFRTi9JQU1nQ0NnQ0FDQUJiRWdFZnlBRElBQW9BZ0JxSWdFZ0FTMEFBRUY1YWpvQUFDQURRUUZxSVFNZ0JTZ0NBQ0VCREFFRlFRQUxDd3NMQzd3VEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ1loRFNBQklBSkJmMm9pRUd4QkFYUWdCbW9oQlFOQUlBY2dBVWdFUUNBRlFRQTdBUUFnRFVFQU93RUFJQTFCQW1vaERTQUZRUUpxSVFVZ0IwRUJhaUVIREFFTEN5QUdJUWNnQVVGL2FpSVJRUUYwSUFacUlRMUJBQ0VGQTBBZ0JTQUNTQVJBSUExQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0RXb2hEU0FGUVFGcUlRVU1BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVExQkFTRUxRUUFoQlNBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDU0FHSVF3RFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUlBeEJBRHNCQUFVQ1FDQVNRUUYwSUF4cUlnOHVBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QVBRWDVxTGdFQUlnb2hDQ0FLUVFCS0lRWWdEeTRCQWlJRlFRQk1CRUFnQmdSQUlBd2dDanNCQUNBSVFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKU0FSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBSUxJQXhCZm1vdUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKVGcwQ0lBVWdDVFlDQUFVZ0FFSC8vd0ZLRFFZZ0RDQUFRUUZxSWdVN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRlFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFzMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBTE5nSUFJQVVoQUFzTUFRc2dCZ1JBQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBaEJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JTQUdLQUlBUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUF4QmZtb3VBUUFpQmtFQVRBUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCZ0lEUUFHb2lCU2dDQUNBSlNnUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBWkJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JpZ0NBQ0FGUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQUxDeUFOUVFGcUlRMGdDVUVCYWlFSklBeEJBbW9oREF3QkN3c2dEVUVDYWlFTklBdEJBV29oQ3lBQUlRVWdERUVFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQTRRUFVGL0RBRUxJQVJCREdvaERVRUJJUUJCQVNFSUEwQWdDQ0FGVEFSQUlBZ2dCeWdDQUNJR1JnUkFJQUJCQVdvaEF3VWdBQ0VESUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0J5QUFOZ0lBSUFNaEFDQUlRUUZxSVFnZ0IwRUVhaUVIREFFTEN5QUVJQUJCZjJvaUJ6WUNDQ0FIQkg4Z0RVRUFJQWRCQW5RUVJSb2dCRUdRZ0NocVFRQWdCMEVFZEJCRkdrRUFJUU1EUUNBRElBZElCRUFnQkVHTWdBaHFJQU5CQW5RaUFFRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0FFRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBRUVDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQUVFRGNrRUNkR3BCQURZQ0FDQURRUUZxSVFNTUFRc0xRUUFoQXdOQUlBTWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBMEVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBQ0FFUVpDQTBBQnFJQU5CQjJ3aUIwRUNkR29vQWdBZ0FDZ0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCbklEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJvSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnBJRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBTkJBV29oQXd3QkN3c2dCQ2dDQ0NFQ1FRQWhBd04vSUFNZ0FrZ0VmeUFFUVpDQUtHb2dBMEVCZENJQlFRTjBhaUlBSUFBckF3QWdCRUVNYWlBRFFRSjBhaWdDQUxjaUZLTTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQVVvemtEQUNBRFFRRnFJUU1NQVFWQkFBc0xCVUVBQ3dzaEV5QU9KQVlnRXdzNkFRRi9JQUFvQWdRaEFnTkFJQUpEQUFBQUFEZ0NBQ0FDUXdBQUFBQTRBZ1FnQUNBQUtBSUVRUWhxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNU1CQVFGL1FRZEJCa0VGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NIQ0FCUVFKMElBQnFLZ0lBWGhzTGZRRUJmMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzTFp3RUJmMEVGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHd3RSQVFGL1FRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNMT3dFQmYwRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc0w4QUVDQTM4SGZTQUFJQUVRdkFJaUFVRUFUZ1JBUVFFaEFRTkFJQWNnQUVFTWFpQUJRUUowYWlnQ0FDQUJiTE9TSVFjZ0FVRUJhaUlCUVlBQ1J3MEFDeUFBS0FJRUlBQW9BZ2hzc2lFTVFRQWhBUU5BQWtBZ0JpQUFRUXhxSUFOQkFuUnFLQUlBSWdTemtpSUdRd0FBQUFCY0JFQWdEQ0FHa3lJTFF3QUFBQUJiRFFFZ0NTQURJQVJzczVJaUNTQUdsU0FISUFtVElBdVZreUlLSUFZZ0M1UWdDcFNVSWdvZ0NGNGhCU0FEUWY4QmNTSUVJQUVnQlJzaEFTQUtJQWdnQlJzaENBVWdBMEgvQVhFaEJBc2dBMEVCYWlFRElBUkIvd0Z4UWY4QlJ3MEJDd3NnQWlBQk9nQUFRUUFoQVFzZ0FRc2xBUUYvUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJDNmtCQVFGL1FRaEJCMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0ljSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWlBZ0FVRUNkQ0FBYWlvQ0FGNGJDK2tCQVFOL0l3WWhBaU1HUVlBRGFpUUdJQUpCMEFKcUlnTWdBaUFCUVFBUW9RRTRBZ0FnQXlBQ1FTUnFJQUZCQVJDaEFUZ0NCQ0FESUFKQnlBQnFJQUZCQWhDaEFUZ0NDQ0FESUFKQjdBQnFJQUZCQXhDaEFUZ0NEQ0FESUFKQmtBRnFJQUZCQkJDaEFUZ0NFQ0FESUFKQnRBRnFJQUZCQlJDaEFUZ0NGQ0FESUFKQjJBRnFJQUZCQmhDaEFUZ0NHQ0FESUFKQi9BRnFJQUZCQnhDaEFUZ0NIQ0FESUFKQm9BSnFJQUZCQ0JDaEFUZ0NJQ0FERU9JSElnRkJBblFnQTJvcUFnQkRBQUFBQUZzRWYwRUFCU0FBSUFGQkNXeEJBblFnQW1vUXZnSkJBUXNoQkNBQ0pBWWdCQXVvQVFFRWZ5QUFJQUVROWdjaUFVRUFTQVIvSUFFRklBQW9BZ2dnQUNnQ0JHeXlRd0FBQUQrVUVKSUJJUVJCQUNFQkEwQWdBVUVCYWtFWWRFRVlkU0VESUFCQmpBaHFJQUZCL3dGeElnWkJBblJxS0FJQUlnVWdCRWtFUUNBRElRRU1BUXNMQTBBZ0FVRUJha0VZZEVFWWRTRURJQVFnQlVZRVFDQUFRWXdJYWlBRElnRkIvd0Z4UVFKMGFpZ0NBQ0VGREFFTEN5QUNJQVlnQVVIL0FYRnFRUUYyT2dBQVFRQUxDMEFDQVg4QmZTQUFRZndCYWlJQ0lBQkIyQUZxSUFGQi9BRnFFR1VnQWhCYUlnTkRBQUFBQUZzRWYwRUFCU0FDSUFKREFBQ0FQeUFEa1pVUWxBRkJBUXNMclFFQkJYOGpCaUVDSXdaQkVHb2tCaUFBUWRnQmFpSURJQUJCdEFGcUlnVWdBVUhZQVdvaUJCQmxJQUJCL0FGcUlnQWdCU0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQUJCYU9BSUVJQUlxQWdRZ0Fpb0NBRjRpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCQ0FBUVFKMElBUnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUdJQUlrQmlBR0M4SUJBUVovSXdZaEFpTUdRUkJxSkFZZ0FFRzBBV29pQXlBQVFaQUJhaUlFSUFGQnRBRnFJZ1VRWlNBQVFkZ0JhaUlHSUFRZ0FVSFlBV29RWlNBQVFmd0JhaUlBSUFRZ0FVSDhBV29RWlNBQ0lBTVFXamdDQUNBQ0lBWVFXamdDQkNBQ0lBQVFXamdDQ0NBQ0VPRUhJZ0JCQW5RZ0Ftb2lBU29DQUVNQUFBQUFXd1IvUVFBRklBTWdBRUVKYkNJQVFRSjBJQU5xRUl3QklBVWdBRUVDZENBRmFoQ01BU0FESUFOREFBQ0FQeUFCS2dJQWtaVVFsQUZCQVFzaEJ5QUNKQVlnQnd2ZEFRRUhmeU1HSVFJakJrRVFhaVFHSUFCQmtBRnFJZ01nQUVIc0FHb2lCQ0FCUVpBQmFpSUZFR1VnQUVHMEFXb2lCaUFFSUFGQnRBRnFFR1VnQUVIWUFXb2lCeUFFSUFGQjJBRnFFR1VnQUVIOEFXb2lBQ0FFSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBR0VGbzRBZ1FnQWlBSEVGbzRBZ2dnQWlBQUVGbzRBZ3dnQWhEZkJ5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRklBQkJBblFnQldvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFnZ0FpUUdJQWdMK0FFQkNIOGpCaUVDSXdaQklHb2tCaUFBUWV3QWFpSURJQUJCeUFCcUlnUWdBVUhzQUdvaUJSQmxJQUJCa0FGcUlnWWdCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnY2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlnZ2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQUJCYU9BSVFJQUlRM2djaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVKSUFJa0JpQUpDNUlDQVFsL0l3WWhBaU1HUVNCcUpBWWdBRUhJQUdvaUF5QUFRU1JxSWdRZ0FVSElBR29pQlJCbElBQkI3QUJxSWdZZ0JDQUJRZXdBYWhCbElBQkJrQUZxSWdjZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdnZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdrZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdDUkJhT0FJUUlBSWdBQkJhT0FJVUlBSVEzUWNpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUtJQUlrQmlBS0M2WUNBUXAvSXdZaEFpTUdRU0JxSkFZZ0FFRWthaUlESUFBZ0FVRWthaUlFRUdVZ0FFSElBR29pQlNBQUlBRkJ5QUJxRUdVZ0FFSHNBR29pQmlBQUlBRkI3QUJxRUdVZ0FFR1FBV29pQnlBQUlBRkJrQUZxRUdVZ0FFRzBBV29pQ0NBQUlBRkJ0QUZxRUdVZ0FFSFlBV29pQ1NBQUlBRkIyQUZxRUdVZ0FFSDhBV29pQ2lBQUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUZFRm80QWdRZ0FpQUdFRm80QWdnZ0FpQUhFRm80QWd3Z0FpQUlFRm80QWhBZ0FpQUpFRm80QWhRZ0FpQUtFRm80QWhnZ0FoRGNCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUVJQUJCQW5RZ0JHb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRc2dBaVFHSUFzTHl3RUJCWDhqQmlFQ0l3WkJJR29rQmlBQ0lBRVFXamdDQUNBQ0lBRkJKR29pQXhCYU9BSUVJQUlnQVVISUFHb1FXamdDQ0NBQ0lBRkI3QUJxRUZvNEFnd2dBaUFCUVpBQmFoQmFPQUlRSUFJZ0FVRzBBV29RV2pnQ0ZDQUNJQUZCMkFGcUVGbzRBaGdnQWlBQlFmd0JhaEJhT0FJY0lBSVEyd2NpQkVFQ2RDQUNhaUlGS2dJQVF3QUFBQUJiQkg5QkFBVWdBU0FFUVFsc1FRSjBJQUZxRUl3QklBQWdBVU1BQUlBL0lBVXFBZ0NSbFJDVUFTQUFRU1JxSUFOQlB4QzRBVUVCQ3lFR0lBSWtCaUFHQzRjQkFRSi9Jd1loQWlNR1FhQUNhaVFHSUFJZ0FSRHNCd1IvSUFJZ0FSRHJCd1IvSUFJZ0FSRHFCd1IvSUFJZ0FSRHBCd1IvSUFJZ0FSRG9Cd1IvSUFJZ0FSRG5Cd1IvSUFJZ0FSRG1Cd1IvSUFJZ0FSRGxCd1IvSUFBZ0FoRGpCd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTElRTWdBaVFHSUFNTE1nQWdBQ0FCSUFVUS9BRWdBRUhJQUdvZ0FpQUdFUHdCSUFCQmtBRnFJQU1nQnhEOEFTQUFRZGdCYWlBRUlBZ1EvQUVMbUFJQkJuMGdBU29DR0NJR0lBVXFBZ0FpQjVRZ0FTb0NBQ0FFbFpJaENpQUhJQUVxQWh3aUNKUWdBU29DQkNBRWxaSWhCeUFHSUFVcUFnUWlDWlFnQVNvQ0RDQUVsWkloQmlBSUlBbVVJQUVxQWhBZ0JKV1NJUWdnQXlvQ0FDQUNsQ0VKSUFNcUFnUWdBcFFoQ3lBQUlBb2dBcFE0QWdBZ0FDQUhJQUtVT0FJRUlBQWdBU29DSUNBRktnSUFsQ0FCS2dJSUlBU1ZraUFLSUFtVWt5QUhJQXVVa3pnQ0NDQUFJQVlnQXBRNEFnd2dBQ0FJSUFLVU9BSVFJQUFnQVNvQ0lDQUZLZ0lFbENBQktnSVVJQVNWa2lBR0lBbVVreUFJSUF1VWt6Z0NGQ0FBSUFFcUFoZ2dBcFFpQkRnQ0dDQUFJQUVxQWh3Z0FwUWlBamdDSENBQUlBRXFBaUFnQkNBREtnSUFsSk1nQWlBREtnSUVsSk00QWlBTFRBRUNmeU1HSVFrakJrR2dBbW9rQmlBSklBRWdBaUFESUFRZ0JTQUdJQWNnQ0JEdUJ5QUFJQWtRN1FjRWZ5QUFFTWNEaTd0RThXamppTFg0NUQ1alJRVkJBQXNoQ2lBSkpBWWdDZ3UyQkFJS2Z3TjlJd1loQnlNR1FSQnFKQVlnQWtFQVRBUkFJQWRCd01nRFFmV1VBaEEzUVpLVkFoQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEJoSllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBFQVRBUkFJQWRCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FkTUFFRDVCOXFJQ0VEZEJ0SllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBGL2FpSUtRUU4wSUFGcUlRc2dDa0VEZENBQmFpRU5JQUpCZjJvaEJVRUFJUVlEUUNBR0lBVklCRUFnQ3lvQ0FDRU9JQTBvQWdRaERDQUdJUUlnQlNFRUEwQURRQUpBSUFKQkEzUWdBV29pQ0NvQ0FDSVBJQTVkUlFSQUlBNGdEMTBOQVNBQ1FRTjBJQUZxS0FJRUlBeE9EUUVMSUFKQkFXb2hBZ3dCQ3dzRFFBSkFJQTRnQkVFRGRDQUJhaUlKS2dJQUloQmRSUVJBSUJBZ0RsME5BU0FNSUFSQkEzUWdBV29vQWdST0RRRUxJQVJCZjJvaEJBd0JDd3NnQWlBRVRBUkFJQWdnRURnQ0FDQUpJQTg0QWdBZ0FrRURkQ0FCYWlJSUtBSUVJUWtnQ0NBRVFRTjBJQUZxSWdnb0FnUTJBZ1FnQ0NBSk5nSUVJQUpCQVdvaEFpQUVRWDlxSVFRTElBSWdCRXdOQUFzZ0JTQUVJQUlnQTBnYklRVWdBaUFHSUFRZ0NrZ2JJUVlNQVFzTElBQWdDeWtDQURjQ0FDQUhKQVlMZ1FFQkFYMGdBQ0FBS2dJQVF3QUFnRDhnQUNvQ0lKVWlBWlE0QWdBZ0FDQUJJQUFxQWdTVU9BSUVJQUFnQVNBQUtnSUlsRGdDQ0NBQUlBRWdBQ29DREpRNEFnd2dBQ0FCSUFBcUFoQ1VPQUlRSUFBZ0FTQUFLZ0lVbERnQ0ZDQUFJQUVnQUNvQ0dKUTRBaGdnQUNBQklBQXFBaHlVT0FJY0lBQkRBQUNBUHpnQ0lBdDVBZ04vQW4wakJpRUVJd1pCRUdva0JpQUVRUWhxSWdWQkJHb2hCaUFGSUFZZ0FDQUJLZ0lBSUFFcUFnUVF2UUlnQkNBRktnSUFJQUlxQWdDVE9BSUFJQVFnQmlvQ0FDQUNLZ0lFa3pnQ0JDQUVLZ0lBSWdjZ0I1UWdCQ29DQkNJSElBZVVraUFEbEVNQUFJQS9raERTQVNFSUlBUWtCaUFJQy9jQkFRMS9Jd1loQWlNR1FUQnFKQVlDZnlBQ1FTQnFJZ01nQUNBQkVLb0JJQUpCR0dvaUJDQUFJQUZCQ0dvaUJ4Q3FBU0FDUVJCcUlnVWdBQ0FCUVJCcUlnWVFxZ0VnQWtFSWFpSUtJQU1ReFFNZ0FpQUVFTVVESUFFZ0J5QUdJQU1nQkNBRkVQMEJCSDlCQXlFSUlBY2hDU0FCSVFzRFFDQUlRUVJJQkVBZ0F5QUFJQVpCQ0dvaUJoQ3FBVUVBSUF0QkNHb2lDeUFKUVFocUlna2dCaUFFSUFVZ0F4RDlBVVVOQXhvZ0F5RU5JQWhCQVdvaENDQUVJUU1nQlNFRUlBMGhCUXdCQ3dzZ0NTQUdJQUVnQkNBRklBb1EvUUVFZnlBR0lBRWdCeUFGSUFvZ0FoRDlBUVZCQUFzRlFRQUxDeUVPSUFJa0JpQU9DOVFCQVE1L0l3WWhDU01HUVlBQmFpUUdJQWxCK0FCcUlRb2dDVUhvQUdvaEN5QUpRVUJySVF3Z0NVRTRhaUVOSUFsQk1Hb2hEaUFKUVNocUlROGdDVUhnQUdvaUVDQUpRZGdBYWlJUklBbEIwQUJxSWhJZ0NVSElBR29pRXlBSlFmd0FhaUlVSUFsQjhBQnFJaFVnQVNBQ0lBTWdCQkRFQXdSL0lBd2dEU0FPSUE4Z0NpQUxJQVVnQmlBSElBZ1F4QU1FZnlBSklCQWdFU0FTSUJNZ0RDQU5JQTRnRHhEd0J3Ui9JQUFnQ1NBVUtnSUFJQlVnQ2lvQ0FDQUxFTzhIUVFFRlFRQUxCVUVBQ3dWQkFBc2hGaUFKSkFZZ0ZndFBBUUYvSUFBZ0FSQzhBaUlCUVFCT0JFQkJBQ0VCQTM4Z0FFR01DR29nQVVFQ2RHb2dBaUFBUVF4cUlBRkJBblJxS0FJQWFpSUNOZ0lBSUFGQkFXb2lBVUdBQWtjTkFFRUFDeUVCQ3lBQkM1a0JBUUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVJUWdnQkNBRklBWVFoUUZEQUFBQUFGNGdDSE1FZjBFQUJTQUJJQUlnQXhDRkFVTUFBQUFBWGlBRklBWWdCeENGQVVNQUFBQUFYbk1FZjBFQUJTQUNJQU1nQUJDRkFVTUFBQUFBWGlBR0lBY2dCQkNGQVVNQUFBQUFYbk1FZjBFQUJTQURJQUFnQVJDRkFVTUFBQUFBWGlBSElBUWdCUkNGQVVNQUFBQUFYbk5CQVhNTEN3c0xrQWtDQ244QmZTTUdJUkVqQmtFUWFpUUdJQkZCQ0dvaER5QUZLQUlFSUFVb0FnQnJRUUoxSUFsQkNXeEpCRUFnRDBIQXlBTkIwNFFDRURkQmpZVUNFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdVaGdJUU55SU1JQXdvQWdCQmRHb29BZ0JxRURzZ0QwR0F6Z01RT2lJTktBSUFLQUljSVE0Z0RVRUtJQTVCUDNGQmlnRnFFUUlBSVEwZ0R4QThJQXdnRFJCQUlBd1FQeEFBQ3lBR0tBSUVJQVlvQWdBaURHdEJBblVnQTBrRVFDQVBRY0RJQTBIR2hnSVFOMEdOaFFJUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1FmaUdBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQWNvQWdRZ0J5Z0NBR3RCQTNVZ0NVa0VRQ0FQUWNESUEwR2lod0lRTjBHTmhRSVFOMEh2b2dJUU4wSDVBQkErUWZhaUFoQTNRZUNIQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFOQkJFZ0VmMEVBQlNBUlFkSUpOZ0lBSUFnUWFTRUlJQXNnQXhDRkFpRU5JQXdnQXhEY0F5QU1JQU1nQXlBUkVNRUNRUUFoQmdOQUlCQWdDa2dnQmlBSlNIRUVRQ0FNSUFOQkJDQVJFTUVDSUF3b0FnQkJBWFFpQzBFQ2RDQUJhaUFNS0FJRVFRRjBJZzVCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVNRUUowSUFGcUlBd29BZ3hCQVhRaUUwRUNkQ0FCYWlBTFFRSjBJQUpxSUE1QkFuUWdBbW9nRWtFQ2RDQUNhaUFUUVFKMElBSnFFUGNIQkVBZ0JTZ0NBQ0FHUVFsc0lndEJBblJxSUF3b0FnQkJBWFFpRGtFQ2RDQUJhaUFNS0FJRVFRRjBJaEpCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVRRUUowSUFGcUlBd29BZ3hCQVhRaUZFRUNkQ0FCYWlBT1FRSjBJQUpxSUJKQkFuUWdBbW9nRTBFQ2RDQUNhaUFVUVFKMElBSnFFUFVIQkVBZ0JTZ0NBQ0FMUVFKMGFpQUVFUFFIQkVBZ0JrRUJhaUVHQ3dzTElCQkJBV29oRUF3QkN3dERBQUNBUHlBSWxTRUlJQVlFZnlBSEtBSUFJUVJCQUNFTEEwQWdDeUFHU0FSQUlBdEJBM1FnQkdwREFBQUFBRGdDQUNBTFFRTjBJQVJxSUFzMkFnUWdDMEVCYWlFTERBRUxDMEVBSVFzZ0JpRUtBMEFnQ3lBRFNDQUtRUUpLY1FSQUlBMGdBeUFMYXhDRkFpQUxhaUVHUVFBaEVDQUhLQUlBSVFRRFFDQUtJQkJIQkVBZ0JTZ0NBQ0FRUVFOMElBUnFLQUlFUVFsc1FRSjBhaUVPSUFzaENRTkFJQWtnQmtnRVFDQU9JQWxCQW5RZ0RHb29BZ0JCQVhRaUJFRUNkQ0FCYWlBRVFRSjBJQUpxSUFnUTh3Y2hGaUFIS0FJQUlnUWdFRUVEZEdvaUVpQVdJQklxQWdDU09BSUFJQWxCQVdvaENRd0JDd3NnRUVFQmFpRVFEQUVMQ3lBUElBUWdDaUFLUVFJUU9TQUtRUUZ4UVg5cWFoRHhCeUFHSVFzZ0NrRUJkU0VLREFFTEMwRUJJUU1nQnlnQ0FDSUNLZ0lBSVFnZ0FpZ0NCQ0VCQTBBZ0F5QUtTQVJBSUFOQkEzUWdBbW9xQWdBaUZpQUlYUVJBSUJZaENDQURRUU4wSUFKcUtBSUVJUUVMSUFOQkFXb2hBd3dCQ3dzZ0FDQUZLQUlBSUFGQkNXeEJBblJxRUw0Q0lBQVE4Z2RCQVFWQkFBc0xJUlVnRVNRR0lCVUxaUUJCQVVGL0lBQWdBU0FDRUlVQlF3QUFBQUJlRzBFQlFYOGdBU0FDSUFNUWhRRkRBQUFBQUY0YmFrRUJRWDhnQWlBRElBQVFoUUZEQUFBQUFGNGJha0VCUVg4Z0F5QUFJQUVRaFFGREFBQUFBRjRiYWlJQVFRQWdBR3NnQUVGL1NodEJCRVlMamdFQ0JIOEdmU01HSVFRakJrRXdhaVFHSUFSQklHb2lCU0FCSUFBUTN3RWdCRUVZYWlJR0lBSWdBQkRmQVNBRVFSQnFJZ2NnQXlBQUVOOEJJQVJCQ0dvaUFDQUJJQUlRM3dFZ0JDQURJQUlRM3dFZ0JTQUdFUDhCQW4wZ0JpQUhFUDhCSVF3Z0JTQUhFUDhCSVFvZ0FDQUVFUDhCSVFzZ0RBc1EvZ0VnQ2hEK0FTQUxFUDRCSVEwZ0JDUUdJQTBMNmdFQ0NYOEJmU01HSVFNakJrSGdBR29rQmlBRFFkZ0FhaUVFSUFOQjBBQnFJUVVnQTBISUFHb2hCaUFEUVVCcklRY2dBMEU0YWlFSUlBTkJNR29oQ1NBRFFTaHFJUW9nQXlBQVE2ekZKemNReUFNRWZ5QUlJQUd5SWd3NEFnQWdDRU1BQUFBQU9BSUVJQWtnRERnQ0FDQUpJQUt5SWd3NEFnUWdDa01BQUFBQU9BSUFJQW9nRERnQ0JDQUVJQU5CbE1RREVLb0JJQVVnQXlBSUVLb0JJQVlnQXlBSkVLb0JJQWNnQXlBS0VLb0JJQVFnQlNBR0lBY1ErZ2NnQVNBQ2JMZEVMVU1jNitJMkdqK2l0bDBFZjBFQUJTQUVJQVVnQmlBSEVQa0hDd1ZCQUFzaEN5QURKQVlnQ3dzNkFRRi9JQUJCREdvaUJpQUVFSWNCSUFFZ0FpQURJQVFnQlNBQUlBWWdBRUVZYWlBQUtnSWtJQUFvQWlnZ0FDZ0NMQ0FBS0FJd0VQZ0hDOG9HQWcxL0FYMGpCaUVJSXdaQlFHc2tCaUFJUVNocUlRUWdDRUUwYWlFTUlBaEJNR29oRFNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQkRBQUFnUVJCcElSRWdDQ0FEUXdBQUFBQVF5QU5GQkVBZ0JFSEF5QU5CNG9FQ0VEZEIrNEVDRURkQjc2SUNFRGRCeEFFUVBrSDJvZ0lRTjBINmdnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdCQkE4SUFNZ0JSQkFJQU1RUHhBQUN5QUFJQUVRY1JDQUFnSkFBa0FEUUNBSklBRVFjVWtFUUNBQklBa1F4QUVoRHlBTUlBMGdDQ0FCSUFrUXd3RWlEaW9DQUNBT0tnSUVFTDBDUVFBaEJrRi9JUVZCZnlFS1FmLy8vLzhISVFNRFFDQUdJQUlRY1VrRVFDQUNJQVlRd3dFaEJ5QU9MQUFRSUFjc0FCQkdCRUFnRENvQ0FDQUhLZ0lBa3hCcElBMHFBZ0FnQnlvQ0JKTVFhWklnRVY1RkJFQWdEeUFDSUFZUXhBRVEyd01pQnlBRlNTRUxJQVVnQnlBS0lBY2dDa2tiSUFzYklRb2dCaUFESUFzYklRTWdCeUFGSUFzYklRVUxDeUFHUVFGcUlRWU1BUXNMSUFWQmYwY0VRQUpBSUFOQmYwWU5CQ0FLUVg5R0JFQWdCQ0FKSUFNUXdnRWdBQ2dDQkNJRElBQW9BZ2hKQkVBZ0F5QUVLUU1BTndJQUlBQWdBQ2dDQkVFSWFqWUNCQVVnQUNBRUVKWUJDd3dCQ3lBRnN5QUtzNVVnQUNvQ0RGMEVRQ0FFSUFrZ0F4RENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMQ3dzTElBbEJBV29oQ1F3QkN3c01BUXNnQkVIQXlBTkJtNE1DRURkQis0RUNFRGRCNzZJQ0VEZEI4UUVRUGtIMm9nSVFOMEhqZ3dJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHQUFoQStRZmFpQWhBM1FiR0VBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FFRUR3Z0FDQUJFRUFnQUJBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaEVBc0xDeUFJSkFZZ0VBdjhBd0VNZnlNR0lRNGpCa0VRYWlRR0lBNGhCQ0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVBZ0FDQUJFSEVRZ0FJRFFDQUZJQUVRY1VrRVFDQUJJQVVReEFFaERDQUJJQVVRd3dFaERVRUFJUWRCZnlFR1FmLy8vLzhISVFoQmZ5RURBMEFnQnlBQ0VIRkpCRUFnRFN3QUVDQUNJQWNRd3dFc0FCQkdCRUFnQnlBSUlBd2dBaUFIRU1RQkVJSUNJZ29nQmtraUN4c2hDQ0FHSUFvZ0F5QUtJQU5KR3lBTEd5RURJQW9nQmlBTEd5RUdDeUFIUVFGcUlRY01BUXNMSUFaQmYwY0VRQUpBSUFOQmYwWUVRQ0FFSUFVZ0NCRENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBYXpJQU96bFNBQUtnSU1YUVJBSUFRZ0JTQUlFTUlCSUFBb0FnUWlBeUFBS0FJSVNRUkFJQU1nQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCVUVCYWlFRkRBRUxDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEh3QUJBK1FmYWlBaEEzUWJHRUFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUVFRHdnQWlBQUVFQWdBaEEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoQ1FzTEN5QUVKQVlnQ1F1cEJRRUxmeU1HSVFRakJrRVFhaVFHSUFBZ0FDZ0NBRFlDQkNBQkVIRUVRQ0FDRUhFRVFDQUFJQUVRY1JDQUFnSkFBa0FEUUNBR0lBRVFjVWtFUUNBRElBRWdCaERFQVNJTUVOVUhJQUVnQmhEREFTRU5JQU5CeUFCcUlRcEJBQ0VIUVg4aEJVRi9JUWhCLy8vLy93Y2hDd05BSUFjZ0NpZ0NCQ0FLS0FJQUlnbHJRUUoxU1FSQUlBMHNBQkFnQWlBSFFRSjBJQWxxS0FJQUVNTUJMQUFRUmdSQUlBd2dBaUFLS0FJQUlBZEJBblJxS0FJQUVNUUJFSUlDSWdrZ0JVa0VmeUFGSVFnZ0NpZ0NBQ0FIUVFKMGFpZ0NBQ0VMSUFrRklBa2dDQ0FKSUFoSkd5RUlJQVVMSVFVTElBZEJBV29oQnd3QkN3c2dCVUYvUndSQUFrQWdDMEYvUmcwRUlBaEJmMFlFUUNBRUlBWWdDeERDQVNBQUtBSUVJZ1VnQUNnQ0NFa0VRQ0FGSUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQVd6SUFpemxTQUFLZ0lNWFFSQUlBUWdCaUFMRU1JQklBQW9BZ1FpQlNBQUtBSUlTUVJBSUFVZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQmtFQmFpRUdEQUVMQ3d3QkN5QUVRY0RJQTBHYmd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHZ0FSQStRZmFpQWhBM1FlT0RBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWdRZ0FDZ0NBR3RCQTNVZ0FSQnhTd1JBSUFSQndNZ0RRZldEQWhBM1FmdUJBaEEzUWUraUFoQTNRYThCRUQ1QjlxSUNFRGRCc1lRQ0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUFVZ0FDZ0NCQ0FBS0FJQWEwRURkU0VPQ3dzTElBUWtCaUFPQzVzR0FROS9Jd1loQlNNR1FaQUJhaVFHSUFWQjZBQnFJUUlnQlVISUFHb2hBeUFGUVNocUlRUWdBQ0FBUVF4cUlnMG9BZ0EyQWhBZ0FFRi9OZ0lZSUFFUWhnRkJFR29oQ1NBQVFmd0VhaUVJSUFCQmpBVnFJUXdnQUVHVUJtb2hEaUFBUVJ4cUlROGdBRUhRQUdvaEN3TkFJQXNvQWdBaUN3UkFJQUpCbm9BQ0VIa2dBQ3dBQ0VVaEVDQUJFSVlCSVFjZ0MwRU1haUlHS0FJQUVJWUJJUW9DUUFKQUlCQUVRQ0FJSUFjZ0NoRCtCeUFBS0FJQVR3MEJCU0FJSUFjZ0NpQUxLQUlNUVNScUVQOEhJQUFvQWdCUERRRUxJQUlRYXd3QkN5QUNFR3NnQmlnQ0FCQ0dBUkNCQWlFSElBSkJyNEFDRUhrZ0RDQUpJQWNnQ0NBQktBSUFJQUVvQWdRZ0JpZ0NBQ2dDQUNBR0tBSUFLQUlFRU13RElncEJBRWdFUUNBQ0VHc01BUXNnQWhCcklBSkJBRFlDQUNBQ1FRQTJBZ1FnQWtFQU5nSUlJQVZCd0lBQ0VIa2dBaUFNSUFnZ0NoRExBeUFGRUdzZ0EwSFhnQUlRZVFKQUlBVWdDU0FISUFJZ0RpQUdLQUlBS0FJQUlBWW9BZ0FvQWdRUXlnTkZCRUFnQXhCckRBRUxJQU1RYXlBRFFRQTJBZ0FnQTBFQU5nSUVJQU5CQURZQ0NDQUVRZStBQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rREFrQWdBeWdDQkNBREtBSUFhMEVEZFNBQUtBSUFTUVJBSUFRUWF3d0JDeUFFRUdzZ0JFR0FnUUlRZVNBSUlBRVFoZ0VnQmlnQ0FCQ0dBU0FGRVAwSElBQW9BZ0JKQkVBZ0JCQnJEQUVMSUFRUWF5QUVRWkdCQWhCNUlBd2dDU0FISUFnZ0FTZ0NBQ0FCS0FJRUlBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJETUF5SUtRUUJJQkVBZ0JCQnJEQUVMSUFRUWF5QUVRYUtCQWhCNUlBSWdEQ0FJSUFvUXl3TWdCQkJySUFSQnVZRUNFSGtnQlNBSklBY2dBaUFPSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRLQTBVRVFDQUVFR3NNQVFzZ0JCQnJJQU1nQXlnQ0FEWUNCQ0FFUWRHQkFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RJQVFRYXlBREtBSUVJQU1vQWdCclFRTjFJZ1lnQUNnQ0FFOEVRQ0FHSUFBb0FoQWdEU2dDQUd0QkEzVkxCRUFnRHlBRkVMNENJQTBnQXhDSkFpQUFJQXNvQWdnMkFoZ0xDd3NnQXhCVkN5QUNFRlVMREFFTEN5QUFLQUlZR2lBRkpBWUwzQUlCQjM4akJpRUNJd1pCUUdza0JpQUNRUkJxSVFNZ0FrRTRhaUVFQWtBQ1FDQUFRYUFCYWlJR0tBSUFJQUVRZENnQ0FDZ0NCRWNOQUNBR0tBSUVJQUVRZENnQ0FDZ0NDRWNOQUF3QkN5QUdJQUVRK3dnTFFaUUJFRkVpQlJEbkF5QUNRUUEyQWpBZ0F5QUNLQUl3TmdJQUlBUWdCUkRtQXlBRUtBSUFJUWNnQkNBQVFVQnJJZ1VvQWdBMkFnQWdCU0FITmdJQUlBUW9BZ1FoQnlBRUlBQW9Ba1EyQWdRZ0FDQUhOZ0pFSUFRUWxRRWdCU2dDQUNBQkVIUW9BZ0FvQWdRUTVRTWdCU2dDQUNBQkVIUW9BZ0FvQWdnUTVBTWdBMEdJOFFFUWVTQUZLQUlBSUFFZ0JpQUFRYndDYWhDdENDQURFR3NDZnhEakF5RUlJQU1RdXdNZ0F5Z0NBQ0FESUFNc0FBdEJBRWdiSVFRZ0JTZ0NBQkNHQVJCeElRWWdBa0h3b3dJMkFnQWdBaUFFTmdJRUlBSkIvUDBCTmdJSUlBSWdCallDRENBSUMwSFEvUUVnQWhDM0F5QURFRWNnQUNBRktBSUFFSUFJSUFJa0JndVFBUUVEZnlNR0lRTWpCa0VnYWlRR0FrQUNRQ0FBUWR3QWFpSUNFSFFpQkNnQ0JDQUVLQUlBUmcwQUlBSVFkQ2dDQUNnQ0JDQUJLQUlFUncwQUlBSVFkQ2dDQUNnQ0NDQUJLQUlJUncwQURBRUxJQUVvQWdRZ0FTZ0NDQkN1Q0NFRUlBSWdBU2dDQkNBQktBSUlJQVFRMEFnTElBTkIrdkFCRUhrZ0FpQUJFTWdJSUFNUWF5QUFJQUlRZ1FnZ0F5UUdDeVVCQVg5QmtCQVFSQ0lDQkVBZ0FrRUFOZ0lBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0xJQUlMTkFFQmZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVVFQklBSWdBeUFDRUxnRElBQW9BZ0FvQWdBZ0JCQ0NDQ0FFRU4wQklBUWtCZ3NyQVFGL0lBQW9BZ2doQWdOQUlBSVExQU1nQUNBQUtBSUlRUlJxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDNmdCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVJRUU9TQUJTUVJBUWN5WnMrWUFJQU1nQUNnQ0FHdEJGQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFVUVEa2lCVUVCZENJR0lBWWdBMGtiUWN5WnMrWUFJQVZCNXN5Wk0wa2JJQUFvQWdRZ0JHdEJGQkE1SUFCQkNHb1ErZ01nQWlBQkVJVUlJQUFnQWhENUF5QUNFUGdEQ3dVZ0FDQUJFTlVEQ3lBQ0pBWUxVZ0VDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGc2FpRUJEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNElBQkJBRFlDQ0NBQVFRQTJBZ1FnQUVFQU5nSUFDd3N0QVFGL0lBQW9BZ2doQWdOQUlBSkJBRG9BQUNBQUlBQW9BZ2hCQVdvaUFqWUNDQ0FCUVg5cUlnRU5BQXNMTFFFQmZ5QUFLQUlFSVFJRFFDQUNRUUE2QUFBZ0FDQUFLQUlFUVFGcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOcklBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaUFCRUlnSUlBQWdBaERYQWlBQ0VOWUNDd1VnQUNBQkVJa0lDeUFDSkFZTEx3RUJmMEgvLy8vL0J5QUJTUVJBRUFBRklBQWdBUkJSSWdJMkFnUWdBQ0FDTmdJQUlBQWdBU0FDYWpZQ0NBc0xYUUVCZjBIVnF0V3FBU0FCU1FSQUVBQUxJQUZCMWFyVnFnRkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJER3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCREd3Z0FtbzJBZ2dMQytjQkFRZC9JQUlnQVd0QkRCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVF3UU9Vc0VRQ0FBRU04RFFkV3ExYW9CSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJEQkE1SWdSQkFYUWlCU0FGSUFOSkcwSFZxdFdxQVNBRVFhclZxdFVBU1JzUWpBZ2dBQ0FCSUFJZ0F4RFFBd3NGSUFNZ0FDZ0NCQ0FFYTBFTUVEa2lCa3NoQlNBR1FReHNJQUZxSUFJZ0JSc2lDQ0FCYXlJR1FRd1FPU0VKSUFZRVFDQUVJQUVnQmhEbkFSb0xJQVVFUUNBQUlBZ2dBaUFESUFBb0FnUWdBQ2dDQUd0QkRCQTVheERRQXdVZ0FDQUpRUXhzSUFkcU5nSUVDd3NMeUFFQkFuOGpCaUVFSXdaQkVHb2tCaUFFUVFScUlRTWdCQ0FDTmdJQUlBQkJ5QUJxSWdJZ0JCRG9Bd1JBUVJBUUJTRUFJQU5DQURjQ0FDQURRUUEyQWdnZ0EwSG84QUZCNlBBQkVHQVFmaUFBSUFNUWhnSWdBRUdJOGdCQkJSQUVDeUFDSUFRUXF3Z2hBQ0FESUFFb0FnQWlBallDQUNBRElBRW9BZ1FpQVRZQ0JDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ1FGUVFBTElRRWdBeUFBS0FJQU5nSUFJQUFnQWpZQ0FDQURJQUFvQWdRMkFnUWdBQ0FCTmdJRUlBTVFsUUVnQkNRR0M4TUJBUVYvSUFBb0FnQWlBeUVGSUFJZ0FXc2lCQ0FBS0FJSUlBTnJTd1JBSUFBUXp3TkIvLy8vL3djZ0JFa0VRQkFBQlNBQUlBUWdBQ2dDQ0NBQUtBSUFheUlEUVFGMElnVWdCU0FFU1J0Qi8vLy8vd2NnQTBILy8vLy9BMGtiRUlzSUlBQWdBU0FDSUFRUXpnTUxCU0FFSUFBb0FnUWdBMnNpQmtzaEF5QUJJQVpxSUFJZ0F4c2lCeUFCYXlJR0JFQWdCU0FCSUFZUTV3RWFDeUFEQkVBZ0FDQUhJQUlnQUNnQ0FDQUVJQUFvQWdScmFoRE9Bd1VnQUNBRklBWnFOZ0lFQ3dzTE5nRUNmeUFBS0FJRUlBQW9BZ0FpQTJzaUFpQUJTUVJBSUFBZ0FTQUNheENLQ0FVZ0FpQUJTd1JBSUFBZ0FTQURhallDQkFzTEM0a0NBUWgvSUFJZ0FXdEJGQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFSUVFPVXNFUUNBQUVJY0lRY3lacytZQUlBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCRkJBNUlnUkJBWFFpQlNBRklBTkpHMEhNbWJQbUFDQUVRZWJNbVROSkd4RFdBeUFBSUFFZ0FpQURFTTBEQ3dVQ1FDQURJQUFvQWdRZ0JHdEJGQkE1SWdaTElRVWdCa0VVYkNBQmFpQUNJQVViSWdnZ0FXc2lCa0VVRURraENpQUdCRUFnQkNBQklBWVE1d0VhQ3lBRkJFQWdBQ0FJSUFJZ0F5QUFLQUlFSUFBb0FnQnJRUlFRT1dzUXpRTU1BUXNnQ2tFVWJDQUhhaUVDSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQXNMQzlrQ0FRVi9Jd1loQnlNR1FTQnFKQVlnQjBFTWFpSUlJQVkyQWdCQmxBRVFVU0lKRU9jRElBZEJBRFlDQ0NBSFFSaHFJZ29nQnlnQ0NEWUNBQ0FIUVJCcUlnWWdDUkRtQXlBR0tBSUFJQVFRNVFNZ0JpZ0NBQ0FGRU9RRElBWW9BZ0FRaGdFUTBnTWdCaWdDQUJDR0FSQ0JBaUFCS0FJRUlBRW9BZ0JyUVJRUU9SRFJBeUFHS0FJQUVJWUJFSUVDSWdRZ0FVY0VRQ0FFSUFFb0FnQWdBU2dDQkJDUkNBc2dCaWdDQUJDR0FSQjBJQUlvQWdRZ0FpZ0NBR3NRa0FnZ0JpZ0NBQkNHQVJCMElnRWdBa2NFUUNBQklBSW9BZ0FnQWlnQ0JCQ1BDQXNnQmlnQ0FCQ3NDQUovSUFBb0FnQW9BZ0FoQ3lBSElBWW9BZ0EyQWdBZ0J5QUdLQUlFSWdFMkFnUWdBUVJBSUFFZ0FTZ0NCRUVCYWpZQ0JBc2dDd3NnQnlBSUtBSUFFSTRJSUFjUWxRRWdBQ2dDQUVFRWFpQUlFTU1DSWdBZ0EwY0VRQ0FBSUFNb0FnQWdBeWdDQkJDTkNBc2dCaENWQVNBSEpBWUxQd0FnQUNBQk5nSUFJQUJCQkdvaUFFSUFOd0lBSUFCQ0FEY0NDQ0FBUWdBM0FoQWdBRUlBTndJWUlBQkNBRGNDSUNBQVFnQTNBaWdnQUVJQU53SXdDMXdCQVg4Z0FFSFNDVFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUJCREdvaUFTQUFFSk1JSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUlBTndKSUlBQkNBRGNDVUNBQVFnQTNBbGdnQUVFUU5nSnNJQUVRMkFNZ0FVRUJFTmNEQ3hRQUlBQkJER3BCQUNBQktBSUVRYlg4QVVZYkN4VUFJQUFvQWd3aUFBUkFJQUFRbXdnZ0FCQTRDd3NlQUNBQVFUQnFFRlVnQUVFa2FoQlZJQUJCR0dvUVZTQUFRUXhxRUZVTE9RRUJmeUFBUWRRQWFoRFRBeUFBUWNnQWFoQlZJQUJCREdvUWx3Z2dBQ2dDQ0NFQklBQkJBRFlDQ0NBQkJFQWdBUkRFQWlBQkVEZ0xDOFlEQWdOL0FYd2pCaUVESXdaQndBRnFKQVlnQXlBQlFhZ0Jha0VFSUFFb0FneEJBRWdFZnlBQlFSUnFCU0FCS0FJSVFRQklCSDhnQVVFWWFnVWdBVUVRYWdzTEtBSUFJZ1JyUVFRUVR5SUZRUVIwYWlzREFEa0RZQ0FESUFFZ0JVRUVkR29yQTdBQk9RTm9JQU1nQVVHb0FXcEJCU0FFYTBFRUVFOGlCVUVFZEdvckF3QTVBM0FnQXlBQklBVkJCSFJxS3dPd0FUa0RlQ0FESUFGQnFBRnFRUVlnQkd0QkJCQlBJZ1ZCQkhScUt3TUFPUU9BQVNBRElBRWdCVUVFZEdvckE3QUJPUU9JQVNBRElBRkJxQUZxUVFjZ0JHdEJCQkJQSWdSQkJIUnFLd01BT1FPUUFTQURJQUVnQkVFRWRHb3JBN0FCT1FPWUFTQURJQUpFQUFBQUFBQUE0TCtpSWdZNUF3QWdBeUFDUkFBQUFBQUFBT0Evb2lJQ09RTUlJQU5FQUFBQUFBQUFBQUE1QXhBZ0F5QUNPUU1ZSUFNZ0Fqa0RJQ0FEUkFBQUFBQUFBQUFBT1FNb0lBTWdBamtETUNBRElBWTVBemdnQTBGQWEwUUFBQUFBQUFBQUFEa0RBQ0FESUFZNUEwZ2dBeUFHT1FOUUlBTkVBQUFBQUFBQUFBQTVBMWdnQTBHb0FXb2lBU0FEUWVBQWFqWUNBQ0FCSUFNMkFnUWdBVUVFTmdJSUlBQW9BZ0FnQVVHQXBBTkJnS1FESUFOQm9BRnFFT29CR2lBREt3T2dBUm9nQXlRR0M5TVRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQVVFQ0VEa2hEQ0FDUVFJUU9TRU9JQVFvQWdBaUJ5RUNJQXdnRGtGL2FpSVFiRUVCZENBSGFpRUZBMEFnQmlBTVNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FHUVFGcUlRWU1BUXNMSUFjaEFpQU1RWDlxSWhGQkFYUWdCMm9oQlVFQUlRWURRQ0FHSUE1SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTVFRRjBJQUpxSVFJZ0RFRUJkQ0FGYWlFRklBWkJBV29oQmd3QkN3c2dCRUdRZ01nQWFpRUNRUUFnREdzaEVpQUFJQUZCQVhSQkFtcHFJUTFCQVNFTFFRQWhCU0FNUVFGcVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VVZ0VRQ0FOTFFBQUlBTktCRUFnQjBFQU93RUFCUUpBSUJKQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzTElBMUJBbW9oRFNBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBMXFRUVJxSVEwZ0MwRUJhaUVMSUFBaEJTQUhRUVJxSVFjTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFSFFRRWhBRUVCSVFNRFFDQURJQVZNQkVBZ0F5QUNLQUlBSWdaR0JFQWdBRUVCYWlFQkJTQUFJUUVnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBQ0lBQTJBZ0FnQVNFQUlBTkJBV29oQXlBQ1FRUnFJUUlNQVFzTElBUWdBRUYvYWlJQU5nSUlJQUFFZnlBSFFRQWdBRUVDZEJCRkdpQUVRWkNBS0dwQkFDQUFRUVIwRUVVYVFRQWhBUU5BSUFFZ0FFZ0VRQ0FFUVl5QUNHb2dBVUVDZENJQ1FRSjBhaUFNTmdJQUlBUkJqSUFJYWlBQ1FRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUNRUUp5UVFKMGFpQU9OZ0lBSUFSQmpJQUlhaUFDUVFOeVFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJBQ0VCQTBBZ0FTQUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQUJRUUowYWlnQ0FFRi9haUlDUVFKMGFpSURJQVJCa0lEUUFHb2dBVUVIYkNJQVFRSjBhaWdDQUNBREtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSURRUU4wYWlJSElBY3JBd0FnQUVFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBRFFRRnlRUU4wYWlJRElBTXJBd0FnQUVFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0djZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2dnTkFBYWlnQ0FDSUhTQVJBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnSW9BZ0FnQUVFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBSWdBRFlDQUFzZ0FVRUJhaUVCREFFTEN5QUVLQUlJSVFGQkFDRUFBMzhnQUNBQlNBUi9JQVJCa0lBb2FpQUFRUUYwSWdKQkEzUnFJZ01nQXlzREFDQUVRUXhxSUFCQkFuUnFLQUlBdHlJVm96a0RBQ0FFUVpDQUtHb2dBa0VCY2tFRGRHb2lBaUFDS3dNQUlCV2pPUU1BSUFCQkFXb2hBQXdCQlVFQUN3c0ZRUUFMQ3lFVUlBOGtCaUFVQ3g0QUlBQkJKR29RbUFnZ0FFRUlhaUlBUVJCcUVOa0NJQUJCQkdvUVZRc3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU5ZRElBQWdBUkRWQXdzTFhRRUJmMEgvLy8vL0F5QUJTUVJBRUFBTElBRkIvLy8vL3dOTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkFuUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBblFnQW1vMkFnZ0xDenNCQTM4Z0FTRUVJQUFvQWdnaUJTRURBMEFnQXlBQ0tBSUFOZ0lBSUFOQkJHb2hBeUFFUVg5cUlnUU5BQXNnQUNBQlFRSjBJQVZxTmdJSUM5b0JBUVovSXdZaENDTUdRU0JxSkFZZ0NDRUVJQUFvQWdRaUF5RUdJQUFvQWdnZ0EydEJBblVnQVVrRVFFSC8vLy8vQXlBQklBTWdBQ2dDQUd0QkFuVnFJZ2RKQkVBUUFBVWdCQ0FISUFBb0FnZ2dBQ2dDQUNJRmF5SUdRUUYxSWdNZ0F5QUhTUnRCLy8vLy93TWdCa0VDZFVILy8vLy9BVWtiSUFBb0FnUWdCV3RCQW5VZ0FFRUlhaERJQVNBRUlBRWdBaENlQ0NBQUlBUVE1QUVnQkJESEFRc0ZJQUVoQXlBR0lRVURRQ0FGSUFJb0FnQTJBZ0FnQlVFRWFpRUZJQU5CZjJvaUF3MEFDeUFBSUFGQkFuUWdCbW8yQWdRTElBUWtCZ3VGQlFFSGZ5TUdJUWtqQmtFUWFpUUdJQUFvQWdRZ0FDZ0NBR3RCQW5VZ0JFY0VRQ0FKUWNESUEwR1o4UUVRTjBHMzlRRVFOMEh2b2dJUU4wSEdBUkErUWZhaUFoQTNRYXo0QVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFKQkFFd0VRQ0FKUWNESUEwSFY5Z0VRTjBHMzlRRVFOMEh2b2dJUU4wSEhBUkErUWZhaUFoQTNRZjMyQVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFRZ0Frb0VRQ0FKUWNESUEwR2g5d0VRTjBHMzlRRVFOMEh2b2dJUU4wSElBUkErUWZhaUFoQTNRZFQzQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMSUFaQkFFd0VRQ0FKUWNESUEwSEorQUVRTjBHMzlRRVFOMEh2b2dJUU4wSEpBUkErUWZhaUFoQTNRZkQ0QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMUVFBaENBTkFJQWdnQkVnRVFDQUlRUUowSUFOcUlReEJBQ0VLUVg4aEFnTkFJQVlnQ2tjRVFDQUJJQXdvQWdCQjRBQnNhaUFCSUFwQkFuUWdCV29pRFNnQ0FFRUNkQ0FEYWlnQ0FFSGdBR3hxRUlJQ0lnY2dBa2tFUUNBQUtBSUFJQWhCQW5ScUlBMG9BZ0EyQWdBZ0J5RUNDeUFLUVFGcUlRb01BUXNMSUFJZ0Myb2hDeUFJUVFGcUlRZ01BUXNMSUFra0JpQUxDMUFCQVg4Z0FFRVlFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQUtBSUFOZ0lJSUFSQkFEWUNEQ0FFUVFBMkFoQWdCRUVBTmdJVUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDeklBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFpQUNRZUFBRUV3YUMwd0JBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJBblVnQVVrRVFDQUNJQUVnQUNnQ0JDQURhMEVDZFNBQVFRaHFFTWdCSUFBZ0FoRGtBU0FDRU1jQkN5QUNKQVlMbkFFQkJYOGpCaUVDSXdaQklHb2tCa0gvLy8vL0F5QUFLQUlFSUFBb0FnQnJRUUoxUVFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRRjFJZ1lnQmlBRFNSdEIvLy8vL3dNZ0JVRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JHdEJBblVnQUVFSWFoRElBU0FDS0FJSUlnTWdBU2dDQURZQ0FDQUNJQU5CQkdvMkFnZ2dBQ0FDRU9RQklBSVF4d0VnQWlRR0N3dkRCZ0VHZnlNR0lRWWpCa0VRYWlRR0lBQW9BZ1FpQ0NBQUtBSVFJQUFvQWd4clFRSjFSd1JBSUFaQndNZ0RRWXIxQVJBM1FiZjFBUkEzUWUraUFoQTNRWm9CRUQ1QjlxSUNFRGRCcVBZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0FrRUFUQVJBSUFaQndNZ0RRZFgyQVJBM1FiZjFBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCL2ZZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JDQUNTZ1JBSUFaQndNZ0RRYUgzQVJBM1FiZjFBUkEzUWUraUFoQTNRWndCRUQ1QjlxSUNFRGRCMVBjQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0NDQUVTZ1JBSUFaQndNZ0RRZS8zQVJBM1FiZjFBUkEzUWUraUFoQTNRWjBCRUQ1QjlxSUNFRGRCbVBnQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFSElBaEJDaUFIUVQ5eFFZb0JhaEVDQUNFSUlBWVFQQ0FGSUFnUVFDQUZFRDhRQUFzZ0JrRi9OZ0lBSUFCQkdHb2lDaUFFSUFZUTNRTWdCa0YvTmdJQUlBQkJKR29pQ1NBRUlBWVEzUU1nQUVFd2FpQUVFSWNCSUFBb0FqQWlCU0FBS0FJMElBVnJRUUoxRU53RFFYOGhCVUVBSVFjRFFDQUhJQUFvQWdoSUJFQWdBQ2dDTUNJSUlBQW9BalFnQ0d0QkFuVWdBQ2dDQkNBQUtBSUFFTUVDSUFrZ0FTQUNJQU1nQkNBQUtBSXdJQUFvQWdRUW9BZ2lDQ0FGU1FSQUlBb2dDUkNKQWlBQUtBSU1JQUFvQWpBZ0FDZ0NCRUVDZEJCTUdpQUlJUVVMSUFkQkFXb2hCd3dCQ3dzZ0FDZ0NCQ0FBS0FJUUlBQW9BZ3hyUVFKMVJnUkFJQVlrQmdVZ0JrSEF5QU5CaXZVQkVEZEJ0L1VCRURkQjc2SUNFRGRCdXdFUVBrSDJvZ0lRTjBHbzlnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFBZ0FSQkFJQUFRUHhBQUN3dmtCQUlOZndOOEl3WWhDaU1HUVJCcUpBWWdDa0VFYWlFUVFRSVE1d0loRGtFQ0VPY0NJUXRCQWtFQ0VJc0JJUXdDZndKQUFrQURRQUpBSUFkQkJFOE5BaUFIUVFGcUlnSkJBblFnQTJvb0FnQWlEMEVCYWlBSFFRSjBJQU5xS0FJQUlnaHJ0MFNhbVptWm1abXBQNkpFQUFBQUFBQUE0RCtnSWhRZ0NMZWdFSE1oRVNBUHR5QVVvUkJ6SUJGckloSkJBV3BCQWhDTEFTRU5RUUFoQ1FOQUlBa2dFa3dFUUNBRUlBa2dFV29pQ0VFQ2RDQUFhaWdDQUxJZ0NFRUNkQ0FCYWlnQ0FMSWdFQ0FLRUtZQlFRQklEUUlnRFNnQ0FDSUlJQWxCQVhRaUQwRURkR29nRUNvQ0FMczVBd0FnRDBFQmNrRURkQ0FJYWlBS0tnSUF1emtEQUNBSlFRRnFJUWtNQVFzTElBMGdEQ0FPSUFzUW5RVkJBRWdOQXlBSFFSaHNJQVZxSUF3b0FnQWlDQ3NEQ0NJVk9RTUFJQWRCR0d3Z0JXb2dDQ3NEQUpvaUZEa0RDQ0FIUVJoc0lBVnFJQlVnQ3lnQ0FDSUhLd01Bb2lBSEt3TUlJQlNpb0pvNUF4QWdEUkJKSUFJaEJ3d0JDd3NNQVFzZ0RCQkpJQXNRendFZ0RoRFBBVUVBSVFRRGYwRUFJQVJCQkU4TkFob2dCRUVEYWtFRGNTSUFRUmhzSUFWcUlnTXJBd0FnQkVFWWJDQUZhaXNEQ0NJVm9pQUVRUmhzSUFWcUlnSXJBd0FnQUVFWWJDQUZhaXNEQ0NJVW9xRWlGcGxFTFVNYzYrSTJHajlqQkg5QmZ3VWdCRUVFZENBR2FpQVVJQVJCR0d3Z0JXb2lBU3NERUtJZ0ZTQUFRUmhzSUFWcUlnQXJBeENpb1NBV296a0RBQ0FFUVFSMElBWnFJQUlyQXdBZ0FDc0RFS0lnQXlzREFDQUJLd01Rb3FFZ0ZxTTVBd2dnQkVFQmFpRUVEQUVMQ3d3QkN5QU5FRWtnREJCSklBc1F6d0VnRGhEUEFVRi9DeUVUSUFva0JpQVRDekFBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFrSGdBQkRaQXd0T0FRSi9RWUFCRUZFaUJpQUFFT0VERUtjSUlBQW9BZ2doQlNBQUlBWTJBZ2dnQlFSL0lBVVF4QUlnQlJBNElBQW9BZ2dGSUFZTFFRQVFnd0lnQUNBQUtBSUlJQUVnQWlBRElBUVE0QU1MWGdFRWZ5TUdJUU1qQmtFUWFpUUdJQU1nQWhDRUFpQURLQUlFSUFNb0FnQWlCV3RCQW5VaEJnTkFJQVFnQmtjRVFDQUVRUUowSUFWcUlBUTJBZ0FnQkVFQmFpRUVEQUVMQ3lBQUlBRWdBaUFGSUFZUXFBZ2dBeEJWSUFNa0JndEpBUUYvSUFCQkZCQlJJZ1EyQWdBZ0FDQUJRUWhxTmdJRUlBUWdBeWdDQUNnQ0FEWUNDQ0FFUVFBMkFnd2dCRUVBTmdJUUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FxZ2dnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xQd0VCZnlBQVFTUnFJZ0ZCREdwQmdBRVExd01nQVVFTWFoRFlBeUFCUVFnMkFtZ2dBVUVRTmdKc0lBRWdBRUVJYWlJQUVIUW9BZ0FnQUJCeEVLa0lDODhHQVFWL0l3WWhDQ01HUVNCcUpBWWdDRUVVYWlFR0lBRkZCRUFnQmtIQXlBTkJ4NVlDRURkQmtQa0JFRGRCNzZJQ0VEZEIxQUVRUGtIMm9nSVFOMEhVbHdJUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ1JRUkFJQVpCd01nRFFZajZBUkEzUVpENUFSQTNRZStpQWhBM1FkVUJFRDVCOXFJQ0VEZEJxUG9CRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMElnUW9BZ1FnQkNnQ0FFWUVRQ0FHUWNESUEwRzUrZ0VRTjBHUStRRVFOMEh2b2dJUU4wSFdBUkErUWZhaUFoQTNRZTM2QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGRUVBZ0JCQS9FQUFMSUFFUWRDZ0NBQ2dDQkNBQ0tBSUFSd1JBSUFaQndNZ0RRZjc2QVJBM1FaRDVBUkEzUWUraUFoQTNRZGNCRUQ1QjlxSUNFRGRCeC9zQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBLQUlBS0FJSUlBSW9BZ1JIQkVBZ0JrSEF5QU5CNnZzQkVEZEJrUGtCRURkQjc2SUNFRGRCMkFFUVBrSDJvZ0lRTjBISCt3RVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNJQUVROUFnZ0JpQUNFTUFDSWdRb0FnUWdCQ2dDQUd0QkpCQTVFSndJUVFBaEJBTkFJQVFnQWhEQUFpSUZLQUlFSUFVb0FnQnJRU1FRT1VrRVFDQUlJQUlRd0FJb0FnQWlCU0FFUVNSc2Fpb0NBQ0FFUVNSc0lBVnFLZ0lFSUFSQkpHd2dCV29xQWdnZ0JFRWtiQ0FGYWlvQ0hDQUVRU1JzSUFWcUtnSVlRd0FBQUFCZUVQd0RJQVlvQWdBZ0JFRVViR29pQlNBSUtRSUFOd0lBSUFVZ0NDa0NDRGNDQ0NBRklBZ3NBQkE2QUJBZ0JFRUJhaUVFREFFTEN5QURJQUFRaGdFZ0FTQUdFTFlISUFZUTJRSWdDQ1FHQ3k4QkFYOERRQ0FBUVFoSUlBRkJDRWh5UlFSQUlBSkJBV29oQWlBQlFRRjFJUUVnQUVFQmRTRUFEQUVMQ3lBQ0N5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFRGRCQkZHaUFBSUFGQkEzUWdBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVFOMEVFVWFJQUFnQVVFRGRDQUNhallDQkF1bEFRRUZmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGEwRURkU0FCU1FSQVFmLy8vLzhCSUFFZ0F5QUFLQUlBYTBFRGRXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJZ0FSQ3ZDQ0FBSUFJUXpRSWdBaERNQWdzRklBQWdBUkN3Q0FzZ0FpUUdDejBCQW44Z0FDZ0NCQ0FBS0FJQUlnSnJRUU4xSWdGQmdBaEpCRUFnQUVHQUNDQUJheEN4Q0FVZ0FVR0FDRXNFUUNBQUlBSkJnRUJyTmdJRUN3c0xOQUFnQUVHQXlBQVFod0VnQUVFWWFoQ3lDQ0FBUXdyWEl6dzRBaVFnQUVHQUNEWUNLQ0FBUWFnSU5nSXNJQUJCTWpZQ01Bc3FBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUFRc3dnTHhBRUJBWDhnQUVFQU5nSU1JQUJCQURZQ0VDQUFRUUEyQWhRZ0FFRkFheUlCUWdBM0FnQWdBVUlBTndJSUlBRkNBRGNDRUNBQVFZQ0FnUHdETmdKWUlBQkIzQUJxRU5FSUlBQkJvQUZxSWdFUWdna2dBRUc4QW1vUXVBY2dBRUVBTmdMOEJDQUFRUUEyQW9BRklBQkJBRFlDaEFVZ0FFTXpNek0vT0FLSUJTQUFRWXdGYWhERkJ5QUFRWlFHYWhDMENDQUJRd0FBUUVBNEFqUWdBVU1BQUlCQU9BSTRJQUZCOUFNUTl3TWdBRU1BQUVCQU9BSUVJQUJCQ0RZQ0FDQUFRUUU2QUFnTEpBRUNmd05BSUFBRVFDQUFLQUlBSVFJZ0FFRU1haEJWSUFBUU9DQUNJUUFNQVFzTEM0OEZBZzkvQVh3akJpRUVJd1pCNEFCcUpBWWdCRUV3YWlFSElBUkIzQUJxSVFNZ0JFSFlBR29oQlNBQlFSeHFJZ2dvQWdBaEN5QUJRZHk0QW1vaUNTZ0NBQ0VNSUFFb0FoaEJmMm9oRFVFQklRWURRQ0FHSUExSUJFQWdCaUFDSUFGQkhHb2dCa0VDZEdvb0FnQWdDMnNpQWlBQ2JDQUJRZHk0QW1vZ0JrRUNkR29vQWdBZ0RHc2lBaUFDYkdvaURpQUtTaUlQR3lFQ0lBWkJBV29oQmlBT0lBb2dEeHNoQ2d3QkN3c2dBMEVBTmdJQUlBVkJBRFlDQUNBSUlBbEJBQ0FDSUFDM1JBQUFBQUFBQU9nL28wUjdGSzVINFhxRVA2SWlFU0FISUFNUXF3RkJBRWdFZjBGL0JTQUlJQWtnQWlBQktBSVlRWDlxSUJFZ0JDQUZFS3NCUVFCSUJIOUJmd1VDZnlBREtBSUFJZ0JCQVVZZ0JTZ0NBQ0lHUVFGR2NRUkFJQVFvQWdBaEFDQUhLQUlBSVFNRkFuOGdCa1VnQUVFQlNuRUVRQ0FDUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWxCQUNBQUlCRWdCeUFERUtzQlFRQklEUU1hUVg4Z0NDQUpJQUFnQWlBUklBUWdCUkNyQVVFQVNBMERHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFNYUlBSWhBQ0FIS0FJQUlRTWdCQ2dDQUF3QkMwRi9JQUJGSUFaQkFVcHhSUTBDR2lBQktBSVlJQUpCZjJwcVFRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFrZ0FpQUFJQkVnQnlBREVLc0JRUUJJRFFJYVFYOGdDQ0FKSUFBZ0FTZ0NHRUYvYWlBUklBUWdCUkNyQVVFQVNBMENHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFJYUlBUW9BZ0FoQUNBQ0lRTWdCeWdDQUFzaEFnc2dBVUdjOFFScVFRQTJBZ0FnQVVHZzhRUnFJQU0yQWdBZ0FVR2s4UVJxSUFJMkFnQWdBVUdvOFFScUlBQTJBZ0FnQVVHczhRUnFJQUVvQWhoQmYybzJBZ0JCQUFzTEN5RVFJQVFrQmlBUUN5VUJBbjhEUUNBQUJFQWdBQ2dDQUNFQ0lBQkJER29RbFFFZ0FCQTRJQUloQUF3QkN3c0xLUUVCZnlBQUtBSUlFTGdJSUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFBb0FnUWFJQUVRT0FzTFNnRUNmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBRFlDRUNBQVFZQ0FnUHdETmdJVVFjZ0dFRkVpQWhDMUNDQUFLQUlBSVFFZ0FDQUNOZ0lBSUFFRVFDQUJFT29ESUFFUU9Bc0xNQUVDZnlBQVFRQTJBZ0JCR0JCUklnSVF1Z2dnQUNnQ0FDRUJJQUFnQWpZQ0FDQUJCRUFnQVJEckF5QUJFRGdMQzl3QkFnRi9CbjBnQlNvQ0FDSUlJQU1xQWdBaUI1TWhDU0FJSUFRcUFnQWlDSk1nQ1pRaENpQUhJQWlUSWdzZ0NaUWhDU0FLUXdBQUFBQmJJQWxEQUFBQUFGdHlJQXREQUFBQUFGdHlCSDhnQUVNQUFBQUFPQUlBSUFGREFBQUFBRGdDQUVNQUFBQUFJUWRCQUFVZ0FDQUZLZ0lFSUFRcUFnUWlESk1nQ3BVZ0F5b0NCQ0FNa3lBSmxaTWlDVGdDQUNBQklBTXFBZ1FnQkNvQ0JKTWdDQ0FJbENBSElBZVVJZ2VUSUFtVWtpQUxsU0lJT0FJQUlBTXFBZ1FnQnlBQUtnSUFsSk1nQ0NBREtnSUFsSk1oQjBFQkN5RUdJQUlnQnpnQ0FDQUdDNlFCQWdKL0FuMGdBU29DQUNFR0lBSkJmMm9pQTBFQ2RDQUJhaUlFS2dJQUlRVkJBQ0VDQTBBZ0FpQURSd1JBSUFKQkFuUWdBR29nQlVHSWhnRXFBZ0NVSUFKQkFuUWdBV29xQWdBaUJVR01oZ0VxQWdDVWtrR1FoZ0VxQWdBZ0FrRUJhaUlDUVFKMElBRnFLZ0lBbEpJNEFnQU1BUXNMSUFOQkFuUWdBR29nQlVHSWhnRXFBZ0NVUVl5R0FTb0NBQ0FFS2dJQWxKSWdCa0dRaGdFcUFnQ1VramdDQUF2MkJ3RU1meU1HSVFjakJrR2c4UVJxSkFZZ0IwR1E4UVJxSVEwZ0IwR0k4UVJxSVE0Z0IwR0E4UVJxSVFnZ0IwSEF1QUpxSVF3Z0J5RUxJQVFvQWdRaENpQUVLQUlBSWdraEJ5QUpJQUVnQkNnQ0NDSUpiR3BCQVhRZ0FHb2hCZ0ovQWtBRFFBSkFJQWNnQ2tvTkFpQUdMZ0VBSWdSQkFFb0VRQ0FESUFSQmYycEJBblFnQW1vb0FnQkdEUUVMSUFkQkFXb2hCeUFHUVFKcUlRWU1BUXNMSUFkQmYwWU5BQ0FGUVFFMkFoZ2dCU0FITmdJY0lBVkIzTGdDYWlJUElBazJBZ0JCQlNFR0lBa2hCQ0FISVFOQkFTRUNBa0FDUUFOQUFrQWdBU0FFYkNBRGFrRUJkQ0FBYWlFUVFRQWhDQ0FHUVFWcUlRWUNRQUpBQTBBZ0JrRUlFRThoQmlBSVFRaFBEUUVnQmtFQ2RFSEFDR29vQWdBaUJDQUJJQVpCQW5SQm9BaHFLQUlBSWdwc2FrRUJkQ0FRYWk0QkFFRUFUQVJBSUFoQkFXb2hDQ0FHUVFGcUlRWU1BUXNMREFFTElBaEJDRVlOQVNBR1FRSjBRY0FJYWlnQ0FDRUVJQVpCQW5SQm9BaHFLQUlBSVFvTElBVkJIR29nQWtFQ2RHb2dBeUFFYWpZQ0FDQUZRZHk0QW1vZ0JTZ0NHQ0lDUVFKMGFpQUNRUUowSUFWcVFkaTRBbW9vQWdBZ0NtbzJBZ0FnQnlBRlFSeHFJQVVvQWhnaUEwRUNkR29pQ0NnQ0FFWUVRQ0FKSUFWQjNMZ0NhaUFEUVFKMGFpZ0NBRVlOQXdzZ0JTQURRUUZxSWdJMkFoZ2dBa0dQemdCR0RRTWdCVUhjdUFKcUlBTkJBblJxS0FJQUlRUWdDQ2dDQUNFRERBRUxDMEVBUVFOQjVLZ0JJQTRRUFVGL0RBTUxRUUFoQUVFQUlRWkJBU0VCQTBBZ0FTQURTQVJBSUFFZ0FDQUZRUnhxSUFGQkFuUnFLQUlBSUFkcklnQWdBR3dnQlVIY3VBSnFJQUZCQW5ScUtBSUFJQWxySWdBZ0FHeHFJZ0lnQmtvaUJCc2hBQ0FDSUFZZ0JCc2hCaUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUVnRVFDQUJRUUowSUF4cUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0FVRUNkQ0FMYWlBRlFkeTRBbW9nQVVFQ2RHb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUFJUUVEUUNBQklBTklCRUFnQlVFY2FpQUJJQUJySWdKQkFuUnFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdCVUhjdUFKcUlBSkJBblJxSUFWQjNMZ0NhaUFCUVFKMGFpZ0NBRFlDQUNBQlFRRnFJUUVnQlNnQ0dDRUREQUVMQzBFQUlRRURRQ0FCSUFCSUJFQWdCVUVjYWlBQklBQnJJZ0lnQlNnQ0dHcEJBblJxSUFGQkFuUWdER29vQWdBMkFnQWdCVUhjdUFKcUlBSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0Myb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUZRUnhxSUFVb0FoaEJBblJxSUFVb0FodzJBZ0FnQlVIY3VBSnFJQVVvQWhoQkFuUnFJQThvQWdBMkFnQWdCU0FGS0FJWVFRRnFOZ0lZUVFBTUFndEJBRUVEUWV1b0FTQU5FRDFCZnd3QkMwRUFRUU5CM2FnQklBZ1FQVUYvQ3lFUklBc2tCaUFSQzhRSUFnVi9BWDBqQmlFRkl3WkJFR29rQmlBQVJRUkFJQVZCd01nRFFjTHJBUkEzUWVickFSQTNRZStpQWhBM1FZc0JFRDVCOXFJQ0VEZEI1dXdCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQVVNQUFBQS9ra01BQUFBQVhnUkFJQUZEQUFBQXY1SWlDU0FEc2wwRVFDQUNRd0FBQUFCZ1JRUkFJQVZCd01nRFFlbnRBUkEzUWVickFSQTNRZStpQWhBM1FZMEJFRDVCOXFJQ0VEZEJqKzRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQTBGL1RBUkFJQVZCd01nRFFhenVBUkEzUWVickFSQTNRZStpQWhBM1FZNEJFRDVCOXFJQ0VEZEIwZTRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXREQUFDQVB5QUJJQW1PRUVNaUJMS1RRd0FBQUwrU0lnbVRJUUVnQXlBRWFpQURFRThoQmlBRVFRRnFJQU1RVHlFSUlBRkRBQUFBQUdCRkJFQWdCVUhBeUFOQjd1NEJFRGRCNXVzQkVEZEI3NklDRURkQmxnRVFQa0gyb2dJUU4wR043d0VRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUU1nQkVFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQlJBOElBY2dBeEJBSUFjUVB4QUFDeUFKUXdBQUFBQmdSUVJBSUFWQndNZ0RRYUh2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmNCRUQ1QjlxSUNFRGRCd084QkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0JrRi9UQVJBSUFWQndNZ0RRZFR2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmdCRUQ1QjlxSUNFRGRCaFBBQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0NFRi9TZ1JBSUFaQkFuUWdBR29pQXlBQklBS1VJQU1xQWdDU09BSUFJQWhCQW5RZ0FHb2lBQ0FKSUFLVUlBQXFBZ0NTT0FJQUlBVWtCZzhGSUFWQndNZ0RRWjd3QVJBM1FlYnJBUkEzUWUraUFoQTNRWmtCRUQ1QjlxSUNFRGRCenZBQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFQUlBTkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBVVFQQ0FFSUFBUVFDQUVFRDhRQUFzTEN5QUZRY0RJQTBHQTdRRVFOMEhtNndFUU4wSHZvZ0lRTjBHTUFSQStRZmFpQWhBM1FjSHRBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFGUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FGRUR3Z0JDQUFFRUFnQkJBL0VBQUxRd0FnQUVNQUFNQkFraUFBbEVNQUFQQkJraUFBbEVNQUFQQkNraUFBbEVNQUFMUkRraUFBbEVNQUFEUkVraUFBbEVNQUFEUkVrcnRFT1d4Uy9tdkJWaitpdGd2NERBSU9md045SXdZaERDTUdRVEJxSkFZZ0RFRWdhaUVLSUFWREFBQUFBR0JGQkVBZ0NrSEF5QU5CNmVjQkVEZEJ2dVlCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHSDZBRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlFc3lBRlhrVUVRQ0FLUWNESUEwR2E2QUVRTjBHKzVnRVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZXJvQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFaREFBQUFBR0JGQkVBZ0NrSEF5QU5CanVrQkVEZEJ2dVlCRURkQjc2SUNFRGRCK1FBUVBrSDJvZ0lRTjBHczZRRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlJc3lBR1hrVUVRQ0FLUWNESUEwRy82UUVRTjBHKzVnRVFOMEh2b2dJUU4wSDZBQkErUWZhaUFoQTNRWkRxQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFBb0FpZ2dCQ0FESUFBb0FnUnNha0VGZEdvaUNTZ0NFRUVDUndSQUlBcEJ3TWdEUWJYcUFSQTNRYjdtQVJBM1FlK2lBaEEzUWY0QUVENUI5cUlDRURkQjN1b0JFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQXBCZ000REVEb2lCQ2dDQUNnQ0hDRUlJQVJCQ2lBSVFUOXhRWW9CYWhFQ0FDRUVJQW9RUENBRElBUVFRQ0FERUQ4UUFBc2dERUVZYWlFTElBeEJFR29oRHlBTVFReHFJUkFnREVFSWFpRVJJQXhCQkdvaEVpQUNRUUEyQWdBZ0JVTUFBQUEva2hCRElRTWdCa01BQUFBL2toQkRJUVFnQTBFQVRnUkFJQVJCQUVnZ0NTZ0NCQ0FEVFhKRkJFQWdDU2dDQ0NBRVN3UkFBa0JEQUFDQXYwTUFBSUEvSUFBcUFnd2dCNVFpQjBNQUFJQS9JQWRlR3lJSEVHbERBQUFBUUpTVklSY2dCeUFBS2dJUWxDSUhFR21OSVJoQkFDQURJQWREQUFBQVA1SVFReUlOYXhER0FTRUlJQU1nRFdvZ0NTZ0NCRUYvYWhDRkFpRU9RUUFnQkNBTmF4REdBU0VESUFRZ0RXb2dDU2dDQ0VGL2FoQ0ZBaUVOSUFBb0Fod2lCRUVBSUFBb0FpQWdCR3RCQW5WQkFuUVFSUm9EUUNBRElBMU1CRUFnQTdJZ0JwTVFhU0VISUFrZ0F4QlFJUk1nQ0NFRUEwQWdCQ0FPVEFSQUlBY2dCTElnQlpNUWFaSWlGaUFZWGtVRVFDQVhJQmFVRU1BSUlSWWdBQ2dDSENBRVFRTjBJQk5xSWhRcUFnQWdBQ2dDQ0NJVnNwUzdSSGZJeVcwd1g4US9vcllnRmlBVUtnSUVsQ0FWRUw4SUN5QUVRUUZxSVFRTUFRc0xJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFBS0FJVVNBUkFJQUFvQWh3aUJDQUVJQUFvQWdnUXZRZ2dBMEVCYWlFRERBRUxDeUFBS0FJSUlRTkJBQ0VFUXdBQUFBQWhCUU5BSUFRZ0EwZ0VRQ0FBS0FJY0lBUkJBblJxS2dJQUlRWWdCRUVCYWlFRUlBWWdCU0FHSUFWZUd5RUZEQUVMQ3lBRlF3QUFBQUJjQkVBZ0JVTUFBQUFBWGtVRVFDQUtRY0RJQTBIOTZnRVFOMEcrNWdFUU4wSHZvZ0lRTjBIYUFSQStRZmFpQWhBM1FhUHJBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2dvQWdBb0Fod2hDU0FJUVFvZ0NVRS9jVUdLQVdvUkFnQWhDQ0FLRUR3Z0JDQUlFRUFnQkJBL0VBQUxRUUFoQkFOQUlBUWdBMDROQWlBS0lBU3lJZ2M0QWdBZ0NpQUFLQUljSWdnZ0JFRUNkR29pQ1NnQ0FDSU5OZ0lFSUFzZ0JFRi9haUlPc2pnQ0FDQUxJQU1nRG1vZ0F4QlBRUUowSUFocUtBSUFJZzQyQWdRZ0R5QUVRUUZxSWdTeU9BSUFJQThnQXlBRWFpQURFRTlCQW5RZ0NHb29BZ0FpQ0RZQ0JDQU52aUVHSUFrcUFnQWdCU0FBS2dJWWxGNEVRQ0FHSUE2K1hpQUdJQWkrWG5FRVFDQU1JQWM0QWdBZ0VDQVJJQklnQ3lBS0lBOFF2QWdFUUNBUktnSUFJUVlnRWlvQ0FCb2dFQ29DQUNJSFF3QUFBQUJjQkVBZ0RDQUdqQ0FIUXdBQUFFQ1VsVGdDQUFzTElBd3FBZ0JEQUFBQVA1SWdBQ2dDQ0xJaUJwSWdCcFc3UkJndFJGVDdJUmxBb2tRWUxVUlUreUVaUUJBZXRpRUdJQUlvQWdBaUEwRUNkQ0FCYWlBR09BSUFJQUlnQTBFQmFqWUNBQ0FBS0FJSUlRTUxDd3dBQUFzQUN3c0xDd3NnRENRR0MrVUJBUU4vSXdZaEJDTUdRUkJxSkFZQ1FBTkFJQUlnQVJCMElnTW9BZ1FnQXlnQ0FHdEJCWFZKQkVBZ0FSQjBLQUlBSUFKQkJYUnFJZ01vQWdRZ0F5Z0NERUVDZGtjTkFpQUFLQUlvSUFKQkJYUnFLQUlZSUFNb0FoZ2dBeWdDQkNBREtBSUlFTVVJSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NnQkVIQXlBTkJnZVlCRURkQnZ1WUJFRGRCNzZJQ0VEZEI0QUFRUGtIMm9nSVFOMEhBNXdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JCQThJQUFnQVJCQUlBQVFQeEFBQzdzQkFRVi9JQUFnQXpZQ0FDQUFJQVEyQWdRZ0FFRWtOZ0lJSUFCREFBQkFRRGdDRENBQVF3QUF3RDg0QWhBZ0FFRUZOZ0lVSUFCRHpjeE1QemdDR0NBQVFSeHFRU1FRaHdFZ0FDSUdRU2hxSUFBb0FnQWdBQ2dDQkd3UTFBSkJBQ0VBQTBBZ0FDQURSd1JBSUFBZ0JHd2hCeUFCSUFCMklRZ2dBaUFBZGlFSlFRQWhCUU5BSUFRZ0JVY0VRQ0FHS0FJb0lBVWdCMnBCQlhScVFRSWdDQ0FKUVFJUXR3SWdCVUVCYWlFRkRBRUxDeUFBUVFGcUlRQU1BUXNMQ3pNQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SU1JQUJDQURjQ0ZDQUFRZ0EzQWh3Z0FFSUFOd0lrSUFCQ0FEY0NMQXVOQndJSmZ3SjlJQUpCZjJvaENTQUJRUVJxSWdRcUFnQWdBU29DQUNJTmt5RU9JQUFnQWtFQ2RDQUJhaUlHS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlFUVFFaENDQUdJUWNEUUNBQVFRaHFJUVVnQjBFRWFpRUhJQWdnQ1VrRVFDQUZJQWNxQWdBZ0JDb0NBSk1pRGlBRVFRUnFJZ29xQWdBZ0JFRjhhaW9DQUpNaURSQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTBnRFpRZ0RpQU9sSktST0FJTUlBaEJBV29oQ0NBS0lRUWdCU0VBREFFTEN5QURRWDlxSVF3Z0JDb0NBQ0lOSUFSQmZHb3FBZ0NUSVE0Z0JTQUhLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQ0NBRklRTWdBa0VDZENBR2FpRUVJQUVoQlFOQUlBTkJDR29oQUNBSUlBeEpCRUFnQUNBRUtnSUFJQVVxQWdDVElnNGdCa0VFYWlJQUtnSUFJQVlxQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0RFRUJJUXNnQTBFUWFpRURBMEFnQkVFRWFpRUhJQVZCQkdvaEJpQUxJQWxKQkVBZ0F5QUhLZ0lBSUFZcUFnQ1RJZzRnQUVFRWFpSUtLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBTFFRRnFJUXNnQnlFRUlBWWhCU0FLSVFBZ0EwRUlhaUVEREFFTEN5QURJQWNxQWdBZ0Jpb0NBSk1pRGlBQUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FJUVFGcUlRZ2dCRUVJYWlFRUlBVkJDR29oQlNBQVFRUnFJUVlNQVFzTElBSWdER3hCQW5RZ0FXb2lBVUVBSUFKclFRSjBhaUVDSUFGQkJHb2lCQ29DQUNBQktnSUFJZzJUSVE0Z0FDQU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FESUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQlNBQUlRRWdCQ0VBQTBBZ0FVRUlhaUVESUFKQkJHb2hBaUFGSUFsSkJFQWdBeUFBS2dJQUlBSXFBZ0NUSWc0Z0FFRUVhaUlFS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBU0FOSUEyVUlBNGdEcFNTa1RnQ0RDQUZRUUZxSVFVZ0F5RUJJQVFoQUF3QkN3c2dBQ29DQUNJTklBQkJmR29xQWdDVElRNGdBeUFOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQklBNGdEcFFnRFNBTmxKS1JPQUlNQ3hzQUlBQkJCR29pQUN3QUMwRUFTQVJBSUFBb0FnQWhBQXNnQUFzTEFDQUFFTzBESUFBUU9BditCZ0VFZnlNR0lRUWpCa0VRYWlRR0lBRW9BZ0JCQVVjRVFDQUVRY0RJQTBIWDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBIS0FoQStRZmFpQWhBM1FZcmlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWhCQkFVY0VRQ0FFUWNESUEwR2k0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSExBaEErUWZhaUFoQTNRYy9pQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FoQWdBQ2dDRkd3Z0FDZ0NDQ0FBS0FJRWEwRUZkVWNFUUNBRVFjRElBMEhwNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUWJQakFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ1FnQUNnQ0JDZ0NCRWNFUUNBRVFjRElBMEhXNHdFUU4wR1o0QUVRTjBIdm9nSVFOMEhPQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ2dnQUNnQ0JDZ0NDRWNFUUNBRVFjRElBMEd5NUFFUU4wR1o0QUVRTjBIdm9nSVFOMEhQQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQWdBQ2dDQkNBQkVPQUJJQUFnQUNnQ0JDSUJRU0JxSUFFUTRBRWdBQ0FBS0FJRUlnRkJRR3NnQVVFZ2FoRHVBMEVCSVFFRFFDQUJJQUFvQWhCSkJFQWdBQ2dDQkNBQklBQW9BaFJzUVFWMGFpZ0NHQ0FBS0FJRUlBRWdBQ2dDRkd4QmYycEJCWFJxS0FJWUlBQW9BZ1FnQVNBQUtBSVViRUYvYWtFRmRHb29BZ1FnQUNnQ0JDQUJJQUFvQWhSc1FYOXFRUVYwYWlnQ0NCRFVDQ0FBSUFBb0FnUWlBaUFCSUFBb0FoUnNJZ05CQVdwQkJYUnFJQU5CQlhRZ0Ftb1E0QUVnQUNBQUtBSUVJZ0lnQVNBQUtBSVViQ0lEUVFKcVFRVjBhaUFEUVFGcVFRVjBJQUpxRU80RElBRkJBV29oQVF3QkN3c2dCQ1FHQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJmbW9pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVCZFd0QkFYUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lJQzI4QkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUVBU0FSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVCZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFGMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUJkQ0FFYWpZQ0RBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJRUM2QUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUYxSUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCclFRRjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJXc2lCQ0FFSUFOSkcwSC8vLy8vQnlBRVFRRjFRZi8vLy84RFNSc2dBQ2dDQkNBRmEwRUJkU0FBUVFocUVNd0lJQUlnQVJETENDQUFJQUlReWdnZ0FoREpDQXNGSUFBZ0FSRE5DQXNnQWlRR0N6d0JBbjhnQUNnQ0JDQUFLQUlBSWdOclFRRjFJZ0lnQVVrRVFDQUFJQUVnQW1zUXpnZ0ZJQUlnQVVzRVFDQUFJQUZCQVhRZ0EybzJBZ1FMQ3d1YkFRRUdmeUFBSUFNUTBnZ2dBRUVFYWlJR0lBTWdBQ2dDRkd3UTFBSURRQ0FFSUFOSUJFQWdBU0FFZGlFSElBSWdCSFloQ0VFQUlRVURRQ0FGSUFBb0FoUWlDVWtFUUNBR0tBSUFJQVVnQkNBSmJHcEJCWFJxUVFJZ0J5QUlRUUVRdHdJZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xJQUJCSUdvZ0FTQUNiQ0lCRU04SUlBQkJMR29nQVJDSEFTQUFRVGhxSUFFUWh3RUxPQUFnQUJEVENDQUFRZHlGQVRZQ0FDQUFRU0JxSWdCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUlBTndJUUlBQkNBRGNDR0NBQVFRQTJBaUFMTlFFQmZTQUFJQUUyQWhBZ0FFRUROZ0lVSUFCRUFBQUFBQUFBNEQ4UUk3WWlBamdDR0NBQVF3QUFnRDhnQWhEU0FaVTRBaHdMTEFBZ0FFSHNoUUUyQWdBZ0FFRUVhaUlBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFRQTJBaGdMbndFQkIzOGdBa0VCZGlFSUlBTkJBWFloQ1NBQ1FRRjBJUW9EUUNBRUlBbEhCRUJCQUNFR0lBUWdDbXhCQW5RZ0FXb2lBeUFDUVFKMGFpRUZJQUFoQndOQUlBWWdDRWNFUUNBSElBTXFBZ0FnQXlvQ0JKSWdCU29DQUpJZ0JTb0NCSkpEQUFDQVBwUTRBZ0FnQmtFQmFpRUdJQVZCQ0dvaEJTQURRUWhxSVFNZ0IwRUVhaUVIREFFTEN5QUVRUUZxSVFRZ0NFRUNkQ0FBYWlFQURBRUxDd3V1Q3dJTGZ3RjlJd1loQ3lNR1FSQnFKQVlnQTBFRVRRUkFJQXRCd01nRFFmZmZBUkEzUVpuZ0FSQTNRZStpQWhBM1FhZ0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkVFRVRRUkFJQXRCd01nRFFiVGhBUkEzUVpuZ0FSQTNRZStpQWhBM1Fha0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU1JQU5CZm1vaENTQURRWDFxSVEwZ0EwRjhhaUVPSUFFaEJ3TkFJQVFnQ0VjRVFDQURJQWhzUVFKMElBSnFJZ1lxQWdBaEVDQUhJQVlxQWdnZ0VDQVFRd0FBd0VDVUlCQWdCaW9DQkpKREFBQ0FRSlNTa3BJNEFnQWdCeUFHS2dJTUlBWXFBZ0FpRUNBR0tnSUVRd0FBd0VDVUlCQWdCaW9DQ0pKREFBQ0FRSlNTa3BJNEFnUkJBaUVGSUFkQkNHb2hDZ05BSUFVZ0NVY0VRQ0FLSUFWQkFtcEJBblFnQm1vcUFnQWdCVUYrYWtFQ2RDQUdhaW9DQUNBRlFRSjBJQVpxS2dJQVF3QUF3RUNVSUFWQmYycEJBblFnQm1vcUFnQWdCVUVCYWlJRlFRSjBJQVpxS2dJQWtrTUFBSUJBbEpLU2tqZ0NBQ0FLUVFScUlRb01BUXNMSUFsQkFuUWdCMm9pQlNBTVFRSjBJQVpxSWdvcUFnQWlFQ0FPUVFKMElBWnFLZ0lBSUFsQkFuUWdCbW9pRHlvQ0FFTUFBTUJBbENBTlFRSjBJQVpxSWdZcUFnQWdFSkpEQUFDQVFKU1NrcEk0QWdBZ0JTQUtLZ0lBSWhBZ0Jpb0NBQ0FRUXdBQXdFQ1VJQkFnRHlvQ0FKSkRBQUNBUUpTU2twSTRBZ1FnQTBFQ2RDQUhhaUVISUFoQkFXb2hDQXdCQ3dzZ0JFRithaUVOUVFBaENTQURRUUowSUFGcUlnSWdBMEVDZEdvaUNDRUtJQUloQlNBQklRY2dBQ0VHQTBBZ0F5QUpSd1JBSUFZZ0Npb0NBQ0FIS2dJQUloQWdFRU1BQU1CQWxDQVFJQVVxQWdDU1F3QUFnRUNVa3BLU1F3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRUnFJUW9nQlVFRWFpRUZJQWRCQkdvaEJ5QUdRUVJxSVFZTUFRc0xRUUFoQmlBRFFRSjBJQWhxSVFrZ0NDRUZJQUVoQnlBRFFRSjBJQUJxSVFnRFFDQURJQVpIQkVBZ0NDQUpLZ0lBSUFjcUFnQWlFQ0FDS2dJQVF3QUF3RUNVSUJBZ0JTb0NBSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWxCQkdvaENTQUZRUVJxSVFVZ0FrRUVhaUVDSUFkQkJHb2hCeUFJUVFScUlRZ01BUXNMUVFJaENBTkFJQWdnRFVjRVFFRUFJUWtnQXlBSVFYNXFiRUVDZENBQmFpSUdJQU5CQW5ScUlnY2dBMEVDZEdvaUJTQURRUUowYWlJQ0lBTkJBblJxSVFvZ0F5QUliRUVDZENBQWFpRU1BMEFnQXlBSlJ3UkFJQXdnQ2lvQ0FDQUdLZ0lBSUFVcUFnQkRBQURBUUpRZ0J5b0NBQ0FDS2dJQWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUpRUUZxSVFrZ0NrRUVhaUVLSUFKQkJHb2hBaUFGUVFScUlRVWdCMEVFYWlFSElBWkJCR29oQmlBTVFRUnFJUXdNQVFzTElBaEJBV29oQ0F3QkN3dEJBQ0VHSUFNZ0JFRjhhbXhCQW5RZ0FXb2lCeUFEUVFKMGFpSUZJQU5CQW5ScUlnSWdBMEVDZEdvaENDQURJQTFzUVFKMElBQnFJUWtEUUNBRElBWkhCRUFnQ1NBSUtnSUFJaEFnQnlvQ0FDQUNLZ0lBUXdBQXdFQ1VJQVVxQWdBZ0VKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBaEJCR29oQ0NBQ1FRUnFJUUlnQlVFRWFpRUZJQWRCQkdvaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFKMElBRnFJZ0lnQTBFQ2RHb2lBU0FEUVFKMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWNxQWdBaUVDQUNLZ0lBSUJCREFBREFRSlFnQVNvQ0FDQVFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FGUVFGcUlRVWdCMEVFYWlFSElBRkJCR29oQVNBQ1FRUnFJUUlnQUVFRWFpRUFEQUVMQ3lBTEpBWUx6Z29CREg4akJpRU1Jd1pCRUdva0JpQURRUVJOQkVBZ0RFSEF5QU5COTk4QkVEZEJtZUFCRURkQjc2SUNFRGRCTnhBK1FmYWlBaEEzUWFIaEFSQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QU1RWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QU1FRHdnQlNBSEVFQWdCUkEvRUFBTElBUkJCRTBFUUNBTVFjRElBMEcwNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEU0RUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBeEJnTTRERURvaUJ5Z0NBQ2dDSENFSUlBZEJDaUFJUVQ5eFFZb0JhaEVDQUNFSElBd1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVOSUFOQmZtb2hDaUFEUVgxcUlRNGdBMEY4YWlFUElBRWhDQU5BSUFRZ0NVY0VRQ0FJSUFJZ0F5QUpiR29pQmkwQUFDSUZJQVl0QUFGcVFRSjBJQVl0QUFJZ0JVRUhiR3BxT3dFQUlBZ2dCaTBBQUNJRklBWXRBQUpxUVFKMElBWXRBQU1nQmkwQUFVRUdiQ0FGYW1wcU93RUNRUUloQlNBSVFRUnFJUXNEUUNBRklBcEhCRUFnQ3lBRlFRSnFJQVpxTFFBQUlBVkJmbW9nQm1vdEFBQWdCU0FHYWkwQUFFRUdiR29nQlVGL2FpQUdhaTBBQUNBRlFRRnFJZ2NnQm1vdEFBQnFRUUowYW1vN0FRQWdCeUVGSUF0QkFtb2hDd3dCQ3dzZ0NrRUJkQ0FJYWlJRklBWWdEV29pQ3kwQUFDSVFJQVlnRG1vaUJ5MEFBR3BCQW5RZ0JpQVBhaTBBQUNBR0lBcHFJZ1l0QUFCQkJtd2dFR3BxYWpzQkFDQUZJQXN0QUFBaUJTQUdMUUFBYWtFQ2RDQUhMUUFBSUFWQkIyeHFhanNCQWlBRFFRRjBJQWhxSVFnZ0NVRUJhaUVKREFFTEN5QUVRWDVxSVExQkFDRUpJQU5CQVhRZ0FXb2lBaUFEUVFGMGFpSUdJUW9nQWlFRklBRWhCeUFBSVFnRFFDQURJQWxIQkVBZ0NDQUtMd0VBSUFjdkFRQWlDeUFGTHdFQWFrRUNkQ0FMUVFkc2FtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0JVRUNhaUVGSUFkQkFtb2hCeUFJUVFScUlRZ01BUXNMUVFBaENDQURRUUYwSUFacUlRa2dCaUVGSUFFaEJ5QURRUUowSUFCcUlRWURRQ0FESUFoSEJFQWdCaUFKTHdFQUlBY3ZBUUFpQ2lBRkx3RUFha0VDZENBQ0x3RUFRUVpzSUFwcWFtcXlRd0FBZ0R1VU9BSUFJQWhCQVdvaENDQUpRUUpxSVFrZ0JVRUNhaUVGSUFKQkFtb2hBaUFIUVFKcUlRY2dCa0VFYWlFR0RBRUxDMEVDSVFZRFFDQUdJQTFIQkVCQkFDRUpJQU1nQmtGK2FteEJBWFFnQVdvaUNDQURRUUYwYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVLSUFNZ0JteEJBblFnQUdvaEN3TkFJQU1nQ1VjRVFDQUxJQW92QVFBZ0NDOEJBQ0FGTHdFQVFRWnNhaUFITHdFQUlBSXZBUUJxUVFKMGFtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0FrRUNhaUVDSUFWQkFtb2hCU0FIUVFKcUlRY2dDRUVDYWlFSUlBdEJCR29oQ3d3QkN3c2dCa0VCYWlFR0RBRUxDMEVBSVFnZ0F5QUVRWHhxYkVFQmRDQUJhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUdJQU1nRFd4QkFuUWdBR29oQ1FOQUlBTWdDRWNFUUNBSklBWXZBUUFpQ2lBSEx3RUFJQUl2QVFCQkJteHFJQVV2QVFBZ0NtcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0NFRUJhaUVJSUFaQkFtb2hCaUFDUVFKcUlRSWdCVUVDYWlFRklBZEJBbW9oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUYwSUFGcUlnSWdBMEVCZEdvaUFTQURRUUYwYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3ZBUUFpQkNBQ0x3RUFJQVJCQm14cUlBUWdBUzhCQUdwQkFuUnFhckpEQUFDQU81UTRBZ0FnQlVFQmFpRUZJQWRCQW1vaEJ5QUJRUUpxSVFFZ0FrRUNhaUVDSUFCQkJHb2hBQXdCQ3dzZ0RDUUdDNVFaQWhaL0JYd2pCaUVJSXdaQlFHc2tCaUFJUVNCcUlRb2dDRUVZYWlFTklBaEJOR29oQkNBSVFTaHFJUVVnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBRUVzYWlJTFFRQTJBZ0FDUUFKQUlBQkI5SWF2QTJvaUR5Z0NBQ0lDUVFSSERRQUNRQ0FBUWZ5R3J3TnFJZ3dvQWdBaUFrRUFTZ1JBSUF3Z0FrRi9hallDQUFVQ1FDQUVJQUFvQWhBaUJ5QUFRWUNIcndOcUlnWW9BZ0JxSWdKQi93RWdBa0gvQVVnYkloQTJBZ0FnQkNBSElBQkJoSWV2QTJvaUNTZ0NBR3NpQWtFQUlBSkJBRW9iSWhFMkFnUWdCQ0FITmdJSUlBQkI0SWFuQW1vaEF5QUFRYmo0QUdvaERpQUFRYkQ0QUdvaEVpQUFRZkNHcndOcUlSTWdBRUdRaDY4RGFpRVVJQUJCTUdvaEZTQUFRWmlIcndOcUlSWkJBQ0VDQWtBQ1FBTkFJQUpCQTBrRVFDQUJLQUlNSUFBb0FpUWdBQ2dDS0NBQUtBSUFJQUFvQWd3Z0FrRUNkQ0FFYWlnQ0FDQUFLQUlVSUFOQkFCQzZBa0VBU0EwQ0lBQW9BaVFnQUNnQ0tDQURJQUFvQWhRZ0RpQVNFT3dEUVFCSURRSWdBU2dDQUNBQUtBSWtJQUFvQWlnZ0FDZ0NCQ0FPSUJJb0FnQWdFeWdDQUNBQUtBSVVJQUFvQWhnZ0FDZ0NJRUc0QVdvZ0ZDc0RBQ0FWSUFzZ0ZpZ0NBQkRlQTBFQVNBMENJQUpCQW5RZ0JXb2dDeWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xEQUVMUVg4TUJnc2dBQ2dDQUVFQlJnUkFJQVVvQWdRaERpQUZLQUlJSVFNZ0JTZ0NBQ0VDSUFnZ0VUWUNBQ0FJSUE0MkFnUWdDQ0FITmdJSUlBZ2dBellDRENBSUlCQTJBaEFnQ0NBQ05nSVVRUUJCQTBHaXB3RWdDQkE5QlNBRktBSUFJUUlnQlNnQ0NDRURDeUFDSUFOS0lBVW9BZ1FpQlNBRFNuSUVRQ0FBSUJFZ0VDQUNJQVZJR3lJQ05nSVFJQWtnQWlBSGF5SURRUUJLQkg4Z0JpQUROZ0lBUVFFRklBWkJBVFlDQUVFQUlBTnJDellDQUNBQUtBSUFRUUZHQkVBZ0RTQUNOZ0lBUVFCQkEwSHVwd0VnRFJBOUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFRc2dCaWdDQUNJQklBa29BZ0FpQWtnRVFDQUdJQUZCQVdvaUFUWUNBQVVnQVNBQ1RBUkFJQVlnQVVFQmFpSUJOZ0lBQ3lBSklBSkJBV28yQWdBTElBY2dBU0FIYWtIK0FVb0VmeUFHUVFFMkFnQkJBUVVnQVF0TUJFQWdDVUVCTmdJQUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFnc0xJQThvQWdBaEFnd0JDd3dCQ3dKQUFrQUNRQUpBSUFKQkFXc09Bd0VCQUFJTElBQkJpSWV2QTJvaUFpZ0NBQ0FCS0FJTUVOZ0hJZ05CQUVnRVFDQUREQVVMSUFFb0Fnd2dBaWdDQUNJREtBSUVJQU1vQWdnZ0FDZ0NBQ0FBS0FJTVFRQkJBQ0FBUWVDR3B3SnFJZ0lnQXlnQ0FCQzZBaUlEUVFCSUJFQWdBd3dGQ3lBQVFTUnFJUU1nQUVFb2FpRUVJQUJCRkdvaEJRd0NDeUFBUWZ5R3J3TnFJZ01vQWdBaUJVRUFTZ1JBSUFNZ0JVRi9hallDQUF3QkN5QUFRWWlIcndOcUtBSUFJUVVnQVNnQ0RDRUhJQUpCQVVZRWZ5QUZJQWNnQkJEa0J3VWdCU0FISUFRUTRBY0xJZ0pCQUVnRVFDQUNEQVFMSUFBb0FnQkJBVVlFUUNBRUxRQUFJZ0lnQUNnQ0VFY0VRQ0FLUWFLb0FVR3BxQUVnRHlnQ0FFRUJSaHMyQWdBZ0NpQUNOZ0lFUVFCQkEwR3VxQUVnQ2hBOUN3c2dBQ0FFTFFBQU5nSVFJQU1nQUVINGhxOERhaWdDQURZQ0FBdEJmeUFCS0FJTUlBQkJKR29pQXlnQ0FDQUFRU2hxSWdRb0FnQWdBQ2dDQUNBQUtBSU1JQUFvQWhBZ0FFRVVhaUlGS0FJQUlBQkI0SWFuQW1vaUFrRUFFTG9DUVFCSURRSWFDMEYvSUFNb0FnQWdCQ2dDQUNBQ0lBVW9BZ0FnQUVHNCtBQnFJZ0lnQUVHdytBQnFJZ2NRN0FOQkFFZ05BUnBCZnlBQktBSUFJQU1vQWdBZ0JDZ0NBQ0FBS0FJRUlBSWdCeWdDQUNBQVFmQ0dyd05xS0FJQUlBVW9BZ0FnQUNnQ0dDQUFLQUlnUWJnQmFpQUFRWkNIcndOcUt3TUFJQUJCTUdvZ0N5QUFRWmlIcndOcUtBSUFFTjREUVFCSURRRWFDeUFBS0FJY1FRRkdCRUFnQUJEdkEwRUFEQUVMSUFCQitJcW1BbW9pQnlnQ0FDRUpRUUFoQXdOQUlBTWdDVWdFUUNBTEtBSUFJUVFnQUVHQWk2WUNhaUFEUVlnQ2JHb2hCU0FBSUFOQmlBSnNha0c0aTZZQ2FpRUdJQUFnQTBHSUFteHFRY0NMcGdKcUlRcEJBQ0VDUVg4aEFVUUFBQUFBQUFEZ1B5RVpBMEFnQWlBRVNBUkFJQVVvQWdDM0lBQkJNR29nQWtFSWRHb29BZ0MzSWhpaklocEVabVptWm1abTVqOWpJQnBFNFhvVXJrZmg5ajlrY2tVRVFDQUFJQUpCQ0hScUt3Tm9JQVlyQXdDaElob2dHcUlnQUNBQ1FRaDBhaXNEY0NBS0t3TUFvU0lhSUJxaW9DQVlveUlZSUJsakJFQWdHQ0VaSUFJaEFRc0xJQUpCQVdvaEFnd0JDd3NnQVVGL1NnUkFBa0FDUUFKQUFrQWdBQ2dDR0NJS0RnVUNBZ0lBQUFFTElBQWdBVUVJZEdvaUJDc0RXQ0FBSUFOQmlBSnNha0dvaTZZQ2Fpc0RBQ0lZWXdSQUlBQWdBVUVJZEdwQjRBQnFJUUlnQUNBRFFZZ0NiR3BCc0l1bUFtb3JBd0FoR1FVZ0FDQUJRUWgwYWtIZ0FHb2lBaXNEQUNBQUlBTkJpQUpzYWtHd2k2WUNhaXNEQUNJWlkwVU5Bd3NnQkNBWU9RTllJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJpSXVtQW1vb0FnQTJBamdnQWlBWk9RTUFJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJqSXVtQW1vb0FnQTJBanhCQUNFRlFYOGhBa1FBQUFBQWhOZVhRU0VZQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVpBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlCa0VFZEdvckF3Q2hJUm9nQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQUdRUVIwYWlzRDRBR2hJUnNnQkVFQmFpRUVJQmtnR2lBYW9pQWJJQnVpb0tBaEdRd0JDd3NnQlNBQ0lCa2dHR01pQkJzaEFpQUZRUUZxSVFVZ0dTQVlJQVFiSVJnTUFRc0xJQUFnQVVFSWRHcEJCQ0FDYXlJQ0lBQWdBMEdJQW14cVFaU0xwZ0pxS0FJQWFrRUVFRTgyQWtRZ0FDQUJRUWgwYWlBQ0lBQWdBMEdJQW14cVFaaUxwZ0pxS0FJQWFrRUVFRTgyQWtnTUFndEJmd3dGQ3lBQUlBRkJDSFJxSWdJckExQWdBQ0FEUVlnQ2JHcEJvSXVtQW1vckF3QWlHbU1FUUNBQ0lCbzVBMUFnQUNBQlFRaDBhaUFBSUFOQmlBSnNha0dFaTZZQ2FpZ0NBQ0lHTmdJMElBQWdBMEdJQW14cVFaQ0xwZ0pxSVF4QmZ5RUNSQUFBQUFDRTE1ZEJJUmxCQUNFRkEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VZQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpRFVFRWRHb3JBd0NoSVJzZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFOUVFSMGFpc0Q0QUdoSVJ3Z0JFRUJhaUVFSUJnZ0d5QWJvaUFjSUJ5aW9LQWhHQXdCQ3dzZ0dDQVpZd1JBSUJnaEdTQU1LQUlBUVFRZ0JXdHFRUVFRVHlFQ0N5QUZRUUZxSVFVTUFRc0xJQUFnQVVFSWRHcEJRR3NnQWpZQ0FDQUtRUUpKQkVBZ0FDQUJRUWgwYWlBR05nSTRJQUFnQVVFSWRHb2dHamtEV0NBQUlBRkJDSFJxSUFJMkFrUUZJQUFnQVVFSWRHb2dCallDUENBQUlBRkJDSFJxSUJvNUEyQWdBQ0FCUVFoMGFpQUNOZ0pJQ3dzTEN5QURRUUZxSVFNTUFRc0xJQUFRN3dOQkFDRUNRUUFoQVFOQUlBSWdCeWdDQUVnRVFDQUFJQUpCaUFKc2FrR0FqYVlDYWlJRUtBSUFJUU1nQkNBRFFRRnFOZ0lBSUFOQkEwZ0VRQ0FCSUFKSEJFQWdBRUdBaTZZQ2FpQUJRWWdDYkdvZ0FFR0FpNllDYWlBQ1FZZ0NiR3BCaUFJUVRCb0xJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFISUFFMkFnQWdDeWdDQUNFRFFRQWhCQU5BQWtBZ0JDQURUZzBBSUFCQk1Hb2dCRUVJZEdvaEJTQUFJQVJCQ0hScUtBSTBJZ1pCQUU0RVFFRUFJUUlEUUFKQUlBSWdBVTROQUNBR0lBQWdBa0dJQW14cVFZU0xwZ0pxS0FJQVJnMEFJQUpCQVdvaEFnd0JDd3NnQVNBQ1JnUkFJQUZCUEVZTkFpQUhJQUZCQVdvaUFUWUNBQXNnQUVHQWk2WUNhaUFDUVlnQ2JHb2dCVUdBQWhCTUdpQUFJQUpCaUFKc2FrR0FqYVlDYWtFQk5nSUFDeUFFUVFGcUlRUU1BUXNMSUFBb0FoeEJBa1lFZjBFQUJVRUFJUVFnQVNFQ0lBTWhBUU5BUVFBZ0JDQUNUZzBDR2lBQVFZQ0xwZ0pxSUFSQmlBSnNhaUVGSUFBZ0JFR0lBbXhxUWJpTHBnSnFJUVlnQUNBRVFZZ0NiR3BCd0l1bUFtb2hDVUVBSVFNRFFBSkFJQU1nQVU0TkFDQUZLQUlBdHlBQVFUQnFJQU5CQ0hScUtBSUF0eUlab3lJWVJHWm1abVptWnVZL1l5QVlST0Y2Rks1SDRmWS9aSEpGQkVBZ0FDQURRUWgwYWlzRGFDQUdLd01Bb1NJWUlCaWlJQUFnQTBFSWRHb3JBM0FnQ1NzREFLRWlHQ0FZb3FBZ0dhTkVBQUFBQUFBQTREOWpEUUVMSUFOQkFXb2hBd3dCQ3dzZ0FTQURSZ1JBSUFCQk1Hb2dBVUVJZEdvZ0FFR0FpNllDYWlBRVFZZ0NiR3BCZ0FJUVRCb2dDeUFCUVFGcUlnRTJBZ0FnQnlnQ0FDRUNDeUFFUVFGcUlRUU1BQUFMQUFzTEJVRi9DeUVYSUFna0JpQVhDd3NBSUFBUXhnSWdBQkE0Q3dzQUlBQVF4d0lnQUJBNEM3d0JBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDZ0NCQ0FBS0FJQUlnTnJRUVYxSUFGTEJFQWdBeWdDQkNBQUtBSUFJQUZCQlhScUtBSUVFRWl6RVBFREVQQURFRU1oQkNBQ0pBWWdCQThGSUFKQndNZ0RRWlhmQVJBM1FjN0xBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdzk4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUFTZ0NBQ2dDSENFRElBRkJDaUFEUVQ5eFFZb0JhaEVDQUNFQklBSVFQQ0FBSUFFUVFDQUFFRDhRQUF0QkFBdEpBUUYvSUFBb0FnZ2hBZ05BSUFKQ0FEY0NBQ0FDUWdBM0FnZ2dBa0lBTndJUUlBSkNBRGNDR0NBQ1FRQTJBaUFnQUNBQUtBSUlRU1JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDMGtCQVg4Z0FDZ0NCQ0VDQTBBZ0FrSUFOd0lBSUFKQ0FEY0NDQ0FDUWdBM0FoQWdBa0lBTndJWUlBSkJBRFlDSUNBQUlBQW9BZ1JCSkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMcGdFQkJYOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ1FpQTJ0QkpCQTVJQUZKQkVCQngrUHhPQ0FESUFBb0FnQnJRU1FRT1NBQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkd0QkpCQTVJZ1ZCQVhRaUJpQUdJQU5KRzBISDQvRTRJQVZCNC9HNEhFa2JJQUFvQWdRZ0JHdEJKQkE1SUFCQkNHb1EwQUlnQWlBQkVOc0lJQUFnQWhEUEFpQUNFTTRDQ3dVZ0FDQUJFTndJQ3lBQ0pBWUxvQXdDQm44RmZTTUdJUWNqQmtFUWFpUUdJQVNPRUVNaUNpQUVFRU5IQkVBZ0IwSEF5QU5CNnRFQkVEZEJudElCRURkQjc2SUNFRGRCeFFBUVBrSDJvZ0lRTjBHVDB3RVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lRWWdDVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRWWdCeEE4SUFnZ0JoQkFJQWdRUHhBQUN5QUZqaEJESWdzZ0JSQkRSd1JBSUFkQndNZ0RRYkhUQVJBM1FaN1NBUkEzUWUraUFoQTNRY1lBRUQ1QjlxSUNFRGRCazlNQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFR0lBbEJDaUFHUVQ5eFFZb0JhaEVDQUNFR0lBY1FQQ0FJSUFZUVFDQUlFRDhRQUFzZ0N5QUNTU0FMUVg5S2NVVUVRQ0FIUWNESUEwSGwwd0VRTjBHZTBnRVFOMEh2b2dJUU4wSFBBQkErUWZhaUFoQTNRWlBVQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQmlBSlFRb2dCa0UvY1VHS0FXb1JBZ0FoQmlBSEVEd2dDQ0FHRUVBZ0NCQS9FQUFMSUF0QkFXb2lDU0FDVHdSQUlBZEJ3TWdEUWFUVUFSQTNRWjdTQVJBM1FlK2lBaEEzUWRBQUVENUI5cUlDRURkQjROUUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCaWdDQUNnQ0hDRUNJQVpCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUNJQWNRUENBSUlBSVFRQ0FJRUQ4UUFBc2dDaUFCU1NBS1FYOUtjVVVFUUNBSFFjRElBMEg0MUFFUU4wR2UwZ0VRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWFYVkFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnWW9BZ0FvQWh3aEFpQUdRUW9nQWtFL2NVR0tBV29SQWdBaEFpQUhFRHdnQ0NBQ0VFQWdDQkEvRUFBTElBcEJBV29pQ0NBQlR3UkFJQWRCd01nRFFiYlZBUkEzUVo3U0FSQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEI4ZFVCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQ0xJZ0JKTWlEaUFKc2lBRmt5SU1sQ0lOUXdBQUFBQmdSU0FOdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFZbldBUkEzUVo3U0FSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQkNBS3NwTWlEeUFNbENJTVF3QUFBQUJnUlNBTXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRY1hXQVJBM1FaN1NBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0RpQUZJQXV5a3lJRWxDSUZRd0FBQUFCZ1JTQUZ1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWZUV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWVBQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEeUFFbENJRVF3QUFBQUJnUlNBRXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRYVBYQVJBM1FaN1NBUkEzUWUraUFoQTNRZUVBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0F5QUFJQU1nQzJ4cUlnRnFJUUFnQkNBRklBMGdESktTa3J0RWNheUwyMmdBOEQ5bEJFQWdEU0FLUVFKMElBRnFLZ0lBbENBTUlBaEJBblFnQVdvcUFnQ1VraUFGSUFwQkFuUWdBR29xQWdDVWtpQUVJQWhCQW5RZ0FHb3FBZ0NVa2lFUUlBY2tCaUFRRHdVZ0IwSEF5QU5CMHRjQkVEZEJudElCRURkQjc2SUNFRGRCNGdBUVBrSDJvZ0lRTjBHNDFnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCeEE4SUFJZ0FCQkFJQUlRUHhBQUMwTUFBQUFBQzc4SkFnMS9CWDBqQmlFS0l3WkJJR29rQmlBS1FSeHFJUWNnQ2tFWWFpRUxJQXBCRkdvaERDQUtRUkJxSVE4Z0NrRU1haUVRSUFwQkNHb2hFU0FLUVFScUlSSWdCVUVBU2dSQUlBVkJBV29nQXlnQ0JFa0VRQ0FHUVg5cUlRNGdCa0VBU2dSQUlBWkJBV29pRXlBREtBSUlTUVJBSUFNb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwSGt6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwRzcwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFNb0FnZ2dBaWdDQ0VFQmRrY0VRQ0FIUWNESUEwSDAwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnZ2dBaWdDQ0VFQmRrWUVRQ0FESUFZUVVDQUZRUUowYWlFSUlBUWdEaEJRSUFWQkFuUnFJUTRnQkNBR0VGQWdCVUVDZEdvaEJ5QUVJQk1RVUNBRlFRSjBhaUVFSUFzZ0RDQUZzaUFHc2tFQkVPRUJJQThnRUNBUklCSWdDaUFESUFVZ0JoREpBaUFDSUFzcUFnQWdEQ29DQUJCTklSUWdCeW9DQUNJWElCUWdDQ29DQUVNQUFBQkFsSk9TSVJnZ0FpQUxLZ0lBUXdBQUFNQ1NJQXdxQWdBUVRTQUhLZ0lFa2lBQ0lBc3FBZ0JEQUFBQVFKSWdEQ29DQUJCTklBZEJmR29xQWdDU2swTUFBSUErbENFVklBSWdDeW9DQUNBTUtnSUFRd0FBQU1DU0VFMGdCQ29DQUpJZ0FpQUxLZ0lBSUF3cUFnQkRBQUFBUUpJUVRTQU9LZ0lBa3BOREFBQ0FQcFFoRmlBQUlCRW9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FWT0FJSUlBQWdBallDRENBQUlCSW9BZ0EyQWhBZ0FDQVdPQUlVSUFBZ0ZUZ0NHQ0FBSUJZNEFod2dBQ0FZT0FJZ0lBRWdEeW9DQUl3NEFnQWdBU0FRS2dJQWpEZ0NCQ0FCSUJjZ0ZKTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWV3Q0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSG9BaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEhuQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTHp3MENEbjhGZlNNR0lRc2pCa0VnYWlRR0lBdEJIR29oQnlBTFFSaHFJUTBnQzBFVWFpRU1JQXRCRUdvaEVTQUxRUXhxSVJJZ0MwRUlhaUVUSUF0QkJHb2hGQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEaUFHUVFCS0JFQWdCa0VCYWlJUElBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FaOERFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0JDQUNLQUlFUVFGMlJ3UkFJQWRCd01nRFFidlFBUkEzUWM3TEFSQTNRZStpQWhBM1FhQURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFFREVENUI5cUlDRURkQm5kQUJFRGNpQ0NnQ0FFRjBhaWdDQUNBSWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQ0NBQ0tBSUlRUUYyUndSQUlBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFJREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaUFPRUZBaENDQUNJQVlRVUNFT0lBSWdEeEJRSVE4Z0F5QUdFRkFoQ2lBTklBd2dCYklnQnJKQkFSRExBaUFOS2dJQUloVkRBQUFBdjVKREFBQUFBR0JGQkVBZ0IwSEF5QU5CM05rQkVEZEJ6c3NCRURkQjc2SUNFRGRCckFNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QU1LZ0lBUXdBQUFMK1NRd0FBQUFCZ1JRUkFJQWRCd01nRFFidmFBUkEzUWM3TEFSQTNRZStpQWhBM1FhMERFRDVCOXFJQ0VEZEI1Tm9CRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VRSUFsQkNpQVFRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUNJQWtRUUNBQ0VEOFFBQXNnRlVNQUFBQS9raUFFS0FJRXMxMUZCRUFnQjBIQXlBTkJtdHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyZ01RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBRlFRSjBJQWhxSVFnZ0JVRUNkQ0FPYWlFQ0lBVkJBblFnRDJvaERpQUZRUUowSUFwcUlROGdEQ29DQUVNQUFBQS9raUFFS0FJSXMxMEVRQ0FSSUJJZ0V5QVVJQXNnQXlBRklBWVF5UUlnQkNBTktnSUFJQXdxQWdBUVRTSVhJQUlxQWdBaUdDQVBLZ0lBUXdBQUFFQ1VrNUloR1NBQ1FYeHFLZ0lBSUFRZ0RTb0NBRU1BQUFBL2tpQU1LZ0lBRUUyU0lBSXFBZ1FnQkNBTktnSUFRd0FBQUwrU0lBd3FBZ0FRVFpLVFF3QUFnRDZVSVJVZ0NDb0NBQ0FFSUEwcUFnQWdEQ29DQUVNQUFBQS9raEJOa2lBT0tnSUFJQVFnRFNvQ0FDQU1LZ0lBUXdBQUFMK1NFRTJTazBNQUFJQStsQ0VXSUFBZ0V5Z0NBRFlDQUNBQUlBc29BZ0FpQWpZQ0JDQUFJQlU0QWdnZ0FDQUNOZ0lNSUFBZ0ZDZ0NBRFlDRUNBQUlCWTRBaFFnQUNBVk9BSVlJQUFnRmpnQ0hDQUFJQms0QWlBZ0FTQVJLZ0lBakRnQ0FDQUJJQklxQWdDTU9BSUVJQUVnRnlBWWswTUFBQUEvbEl3NEFnZ2dDeVFHRHdVZ0IwSEF5QU5CemRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcndNUVBrSDJvZ0lRTjBIazJnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c0xJQWRCd01nRFFablBBUkEzUWM3TEFSQTNRZStpQWhBM1FaNERFRDVCOXFJQ0VEZEIxTThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMSUFkQndNZ0RRYy9PQVJBM1FjN0xBUkEzUWUraUFoQTNRWjBERUQ1QjlxSUNFRGRCaWM4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUF2OENBSU1md1Y5SXdZaENpTUdRU0JxSkFZZ0NrRVVhaUVISUFwQkVHb2hEU0FLUVF4cUlRNGdDa0VJYWlFUElBcEJCR29oRUNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRENBR1FRQktCRUFnQmtFQmFpSVJJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRYmNDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NCQ0FFS0FJRVJ3UkFJQWRCd01nRFFZSGNBUkEzUWM3TEFSQTNRZStpQWhBM1FiZ0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWJrQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBRUtBSUlSZ1JBSUFJZ0RCQlFJQVZCQW5ScUlSSWdBaUFHRUZBZ0JVRUNkR29oQnlBQ0lCRVFVQ0FGUVFKMGFpRUpJQU1nQmhCUUlBVkJBblJxSVFzZ0JDQU1FRkFnQlVFQ2RHb2hEQ0FFSUFZUVVDQUZRUUowYWlFQ0lBUWdFUkJRSUFWQkFuUnFJUVFnRFNBT0lBOGdFQ0FLSUFNZ0JTQUdFTWtDSUFJcUFnQWlGU0FIS2dJQUloWWdDeW9DQUVNQUFBQkFsSk9TSVJjZ0IwRjhhaW9DQUNBSEtnSUVreUFDS2dJRUlBSkJmR29xQWdDVGtrTUFBSUErbENFVElCSXFBZ0FnQ1NvQ0FKTWdCQ29DQUNBTUtnSUFrNUpEQUFDQVBwUWhGQ0FBSUE4b0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVRPQUlJSUFBZ0FqWUNEQ0FBSUJBb0FnQTJBaEFnQUNBVU9BSVVJQUFnRXpnQ0dDQUFJQlE0QWh3Z0FDQVhPQUlnSUFFZ0RTb0NBSXc0QWdBZ0FTQU9LZ0lBakRnQ0JDQUJJQlVnRnBOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYlhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYm9DRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBHMkFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wRzFBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMV2dFQ2ZTQUFLZ0lnSUFBcUFnUVFhWlFoQVNBQUtnSUVRd0FBQUVDVUlBQXFBZ2dpQXBRZ0FDb0NGSlFnQVpNZ0FDb0NFQ0FDRUdtVWt5QUFLZ0lBSUFBcUFoUVFhWlNUSUFBcUFnQWdBQ29DRUpRZ0FDb0NJSlNTQzh3QkFRSi9Jd1loQWlNR1FSQnFKQVlnQUFSL0lBRWdBQ2dDQkVZRWYwRUFCUUovSUFGQkQwOEVRQ0FDSUFFMkFnQkJBRUVEUWZHbUFTQUNFRDFCZnd3QkN5QUFJQUUyQWdRZ0FDQUJFSlVHTmdJSUlBQW9BaGdoQTBHZzRBRWdBVUgvL3dGeGRrRUJjUVJBQWtBQ1FBSkFJQU1PQkFBQ0FnRUNDeUFBUVFFMkFoaEJBQXdEQ3lBQVFRUTJBaGhCQUF3Q0N3VUNRQUpBQWtBZ0EwRUJhdzRFQUFJQ0FRSUxJQUJCQkRZQ0dFRUFEQU1MSUFCQkF6WUNHRUVBREFJTEMwRUFDd3NGUVg4TEdpQUNKQVlMZWdBZ0FDQUJLZ0lBSUFJcUFnQ1VJQUVxQWdRZ0Fpb0NCSlNTSUFFcUFnZ2dBaW9DQ0pTU09BSUFJQUFnQVNvQ0RDQUNLZ0lBbENBQktnSVFJQUlxQWdTVWtpQUJLZ0lVSUFJcUFnaVVramdDQkNBQUlBRXFBaGdnQWlvQ0FKUWdBU29DSENBQ0tnSUVsSklnQVNvQ0lDQUNLZ0lJbEpJNEFnZ0w2d0VCQVgwZ0FSRGlDQ0lDaTBNQUFBQTBYd1IvUVFBRklBQkRBQUNBUHlBQ2xTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJZ0VNb0NsRGdDQUNBQUlBSWdBU29DQ0NBQktnSUVJQUVxQWlBZ0FTb0NIQkNBQVpRNEFnUWdBQ0FDSUFFcUFnUWdBU29DQ0NBQktnSVFJQUVxQWhRUWdBR1VPQUlJSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DSUJES0FwUTRBaEFnQUNBQ0lBRXFBZ2dnQVNvQ0FDQUJLZ0lVSUFFcUFnd1FnQUdVT0FJVUlBQWdBaUFCS2dJQUlBRXFBZ1FnQVNvQ0VCREtBcFE0QWlBZ0FDQUFLQUlFTmdJTUlBQWdBQ2dDQ0RZQ0dDQUFJQUFvQWhRMkFoeEJBUXNMUEFFQmZTQUJLZ0lBSUFFcUFoQ1VJQUVxQWdRUWFaTWlBa01BQUFBQVd3Ui9RUUFGSUFBZ0FTb0NBQ0FCS2dJUWtoQnBJQUtWT0FJQVFRRUxDeThCQW44akJpRURJd1pCTUdva0JpQURJQUVRNVFnRWZ5QUFJQU1nQWhEa0NFRUJCVUVBQ3lFRUlBTWtCaUFFQzZrRkFRUi9Jd1loQnlNR1FSQnFKQVlnQkNnQ0JDQUNLQUlFSUFNb0FnUkdSZ1JBSUFRb0FnZ2dBaWdDQ0NBREtBSUlSa1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0VJQlNBSFFjRElBMEdIeXdFUU4wSE95d0VRTjBIdm9nSVFOMEhTQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEJRSkFJQUlvQWdRZ0F5Z0NCRVlFUUNBRUtBSUVJQU1vQWdSQkFYWkdCRUFnQWlnQ0NDQURLQUlJUmdSQUlBUW9BZ2dnQXlnQ0NFRUJka1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0FJREFRTEN5QUhRY0RJQTBIMHpBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkVE1BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hDaUFKUVFvZ0NrRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxDeUFES0FJRUlBSW9BZ1JCQVhaR0JFQWdBeWdDQkNBRUtBSUVSZ1JBSUFNb0FnUWdBaWdDQkVFQmRrWUVRQ0FES0FJRUlBUW9BZ1JHQkVBZ0FDQUJJQUlnQXlBRUlBVWdCaERmQ0F3RUN3c2dCMEhBeUFOQjFjMEJFRGRCenNzQkVEZEI3NklDRURkQjJBTVFQa0gyb2dJUU4wSFV6QUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQjBIQXlBTkI0b0VDRURkQnpzc0JFRGRCNzZJQ0VEZEIyd01RUGtIMm9nSVFOMEd5emdFUU55SUFLQUlBUVhScUtBSUFJQUJxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0J5UUdRUUVMUFFFQ2Z5QUFLQUlFSUFBb0FnQWlBMnRCSkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRM1FnRklBSWdBVXNFUUNBQUlBRkJKR3dnQTJvMkFnUUxDd3M0QUNBQUJIOGdBVVFBQUFBQUFBQUFBR1VnQVVRQUFBQUFBQUR3UDJaeUJIOUJmd1VnQUVHUWg2OERhaUFCT1FNQVFRQUxCVUYvQ3d2TUFRSUZmd0o5SUFFb0FnQWlCRUY0YWlFR0lBQW9BZ0FoQWdOQUlBSWdCa2NFUUNBQ0lBUkdCRUFnQkNFQkJRSkFJQUloQVFOQUlBRWhCUU5BQWtBZ0JDQUZRUWhxSWdOR0RRTWdBU29DQUNJSElBTXFBZ0FpQ0YwTkFDQUlJQWRkUlFSQUlBRW9BZ1FnQlNnQ0RFa05BUXNnQXlFRkRBRUxDeUFESVFFTUFBQUxBQXNMSUFFZ0FrY0VRQ0FDS0FJQUlRTWdBaUFCS0FJQU5nSUFJQUVnQXpZQ0FDQUNLQUlFSVFNZ0FpQUJLQUlFTmdJRUlBRWdBellDQkFzZ0FDQUNRUWhxSWdJMkFnQU1BUXNMQzkwTUFoRi9BMzBqQmlFSUl3WkJNR29rQmlBSVFTaHFJUXNnQ0VFa2FpRU1JQWhCSUdvaEVTQUJLQUlBSVEwQ1FBSkFBa0FDUUFOQUFrQWdBaWdDQUNJT1FYaHFJUVlnRGtGOGFpRUtJQTBnRGtZTkFDQUdJUWNnQUNnQ0FDSUJJUVFDZndKQUFrQUNRQU5BQWtBQ1FDQU9JQVJySWdOQkEzVWlDUTRFQndjSkNnQUxJQU5Cd0FCSURRb2dDQ0FFTmdJSUlBZ2dDVUVCZGlJRFFRTjBJQUZxSWdrMkFnUWdDQ0FITmdJQUlCRWdDQ2dDQ0RZQ0FDQU1JQWdvQWdRMkFnQWdDeUFJS0FJQU5nSUFJQkVnRENBTEVQSURJUThnQ1NvQ0FDSVVJQVFxQWdBaUZWME5BeUFEUVFOMElBRnFJUklnRlNBVVhVVUVRQ0FTS0FJRUlBUW9BZ1JKRFFRTElBWWhBd05BSUFOQmVHb2lCU0FFUndSQUlCUWdCU29DQUNJVlhRMENJQlVnRkYxRkJFQWdFaWdDQkNBRFFYeHFLQUlBSWhCSkRRVUxJQVVoQXd3QkN3c2dCRUVJYWlJRklRUWdCaW9DQUNJVklBRXFBZ0FpRkYxRkJFQUNRQ0FVSUJWZEJFQWdBVUVFYWlFREJTQUtLQUlBSUFGQkJHb2lBeWdDQUVrTkFRc0Nmd0pBQTBBQ1FDQUZJQVpHRFF3Z0JTb0NBQ0lXSUJSZERRQWdGQ0FXWFVVRVFDQUZLQUlFSWdRZ0F5Z0NBRWtOQXdzZ0JVRUlhaUVGREFFTEN5QUZLQUlFSVFRZ0JVRUVhZ3dCQ3lBRlFRUnFDeUVUSUFVZ0ZUZ0NBQ0FHSUJZNEFnQWdFeUFLS0FJQU5nSUFJQW9nQkRZQ0FDQUZRUWhxSVFRTEN5QUVJQVpHRFFZZ0FTRUpJQWNoQVFOQUlBa3FBZ0FoRkFOQUFrQWdCQ29DQUNJVklCUmREUUFnRkNBVlhVVUVRQ0FFS0FJRUlBa29BZ1JKRFFFTElBUkJDR29oQkF3QkN3c2dCQ0VESUFFaEJBTkFBa0FnQkVGNGFpSUJLZ0lBSWhVZ0ZGMUZCRUFnRkNBVlhRMEJJQVJCZkdvb0FnQWdDU2dDQkU4TkFRc2dBU0VFREFFTEN5QUJJQU5MQkVBZ0F5Z0NBQ0VGSUFNZ0ZUZ0NBQ0FCSUFVMkFnQWdBeWdDQkNFRklBTWdCRUY4YWlJRUtBSUFOZ0lFSUFRZ0JUWUNBQ0FEUVFocUlRUU1BUXNMSUEwZ0F5SUJTUTBHSUFBZ0FUWUNBQ0FCSVFRTUFRc0xJQU5CZkdvaUFTRURJQUVvQWdBaEVBd0NDeUFEUVh4cUlRTU1BUXNnRHlFRElBWU1BUXNnQkNnQ0FDRUJJQVFnRlRnQ0FDQUZJQUUyQWdBZ0JDZ0NCQ0VCSUFRZ0VEWUNCQ0FESUFFMkFnQWdEMEVCYWlFRElBVUxJUUVnQkVFSWFpSUhJUVlnQnlBQlNRUi9JQU1oQlNBR0lRTURRQ0FKS2dJQUlSUURRQUpBSUJRZ0F5b0NBQ0lWWFVVRVFDQVZJQlJkRFFFZ0NTZ0NCQ0FES0FJRVR3MEJDeUFEUVFocUlRTU1BUXNMSUFNaEJ5QUJJUU1EUUFKQUlCUWdBMEY0YWlJQktnSUFJaFZkRFFBZ0ZTQVVYVVVFUUNBSktBSUVJQU5CZkdvb0FnQkpEUUVMSUFFaEF3d0JDd3NnQVNBSFN3UkFJQWNvQWdBaEJpQUhJQlU0QWdBZ0FTQUdOZ0lBSUFjb0FnUWhCaUFISUFOQmZHb2lBeWdDQURZQ0JDQURJQVkyQWdBZ0JVRUJhaUVGSUFFZ0NTQUhJQWxHR3lFSklBZEJDR29oQXd3QkN3c2dCeUVHSUFVRklBTUxJUUVnQnlBSlJ3UkFBa0FnQnlvQ0FDSVZJQWtxQWdBaUZGMEVRQ0FKUVFScUlRVWdCMEVFYWlFUElBa29BZ1FoQXlBSEtBSUVJUkFGSUJRZ0ZWME5BU0FIUVFScUlnOG9BZ0FpRUNBSlFRUnFJZ1VvQWdBaUEwOE5BUXNnQmlnQ0FDRUtJQVlnRkRnQ0FDQUpJQW8yQWdBZ0R5QUROZ0lBSUFVZ0VEWUNBQ0FCUVFGcUlRRUxDeUFISUExR0RRQWdCaUVESUFGRkJFQUNRQ0FOSUFkSkJFQURRQ0FISUFSQkNHb2lBVVlOQkNBRUtnSUFJaFFnQVNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnQkNnQ0JDQUVLQUlNU1EwREN5QUJJUVFNQUFBTEFBVWdBeUVCQTBBZ0RpQUJRUWhxSWdOR0RRUWdBU29DQUNJVUlBTXFBZ0FpRlYwTkFpQVZJQlJkUlFSQUlBRW9BZ1FnQVNnQ0RFa05Bd3NnQXlFQkRBQUFDd0FMQUFzTElBMGdCMGtFUUNBQ0lBWTJBZ0FGSUFBZ0IwRUlhallDQUFzTUFRc0xEQU1MSUFJZ0JqWUNBQ0FCS2dJQUloUWdCaW9DQUNJVlhRUkFJQUZCQkdvaEF5QUtLQUlBSVFBZ0FTZ0NCQ0VDQlNBVklCUmREUU1nQVVFRWFpSURLQUlBSWdJZ0NpZ0NBQ0lBVHcwREN5QUJJQlU0QWdBZ0JpQVVPQUlBSUFNZ0FEWUNBQ0FLSUFJMkFnQU1BZ3NnQ0NBRU5nSWNJQWdnQkVFSWFqWUNHQ0FDSUFZMkFnQWdDQ0FHTmdJVUlCRWdDQ2dDSERZQ0FDQU1JQWdvQWhnMkFnQWdDeUFJS0FJVU5nSUFJQkVnRENBTEVQSURHZ3dCQ3lBSUlBUTJBaEFnQ0NBT05nSU1JQXdnQ0NnQ0VEWUNBQ0FMSUFnb0FndzJBZ0FnRENBTEVPc0lDeUFJSkFZTHBnY0NDSDhEZlNNR0lRZ2pCa0V3YWlRR0lBaEJDR29oQ1NBSVFTQnFJUTBnQ0VFY2FpRU9JQU1nQkd3aENnSjlJQVd5SUFPeWxZMGhFaUFHc2lBRXNwV05JUkVnQVNBQktBSUFOZ0lFSUFFZ0J4RFJBaUFBS0FJRUlBQW9BZ0FpQTJ0QkRCQTVJUXRCQUNFRkEwQWdCU0FMUndSQUlBVkJER3dnQTJvb0FnUWdCVUVNYkNBRGFpZ0NBQ0lFYTBFTUVEa2hERUVBSVFZRFFDQUdJQXhIQkVBZ0JrRU1iQ0FFYWlBR1FReHNJQVJxS0FJQU5nSUVJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQ3lBSElBb1FPU0VMSUJJTEVFT3lJUkFnRVJCRHNpRVJRUUFoQkFOQUlBUWdBaWdDQkNBQ0tBSUFJZ05yUVNRUU9Va0VRQ0FFUVNSc0lBTnFLZ0lBSUJDVkVFTWhCaUFFUVNSc0lBTnFLZ0lFSUJHVkVFTWhCU0FBS0FJQUlBWkJER3hxS0FJQUlRWWdDU0FFUVNSc0lBTnFLZ0lZaXpnQ0FDQUpJQVEyQWdRZ0JVRU1iQ0FHYWlJREtBSUVJZ2NnQlVFTWJDQUdhaWdDQ0VrRVFDQUhJQWtwQXdBM0FnQWdBeUFES0FJRVFRaHFOZ0lFQlNBRlFReHNJQVpxSUFrUWxnRUxJQVJCQVdvaEJBd0JDd3RCQUNFR0lBQW9BZ0FpQlNJRUlRTUNRQU5BSUFZZ0FDZ0NCQ0FGYTBFTUVEbEpCRUJCQUNFRkEwQWdCU0FHUVF4c0lBUnFLQUlFSUFaQkRHd2dCR29vQWdBaUIydEJEQkE1U1FSQUlBc2dCVUVNYkNBSGFpSUtLQUlFSWc4Z0JVRU1iQ0FIYWlJTUtBSUFJZ1JyUVFOMUlnY2dDeUFIU1JzaUJ3UkFJQWdnQkRZQ0dDQUlJQWRCQTNRZ0JHbzJBaFFnQ0NBUE5nSVFJQTRnQ0NnQ0dEWUNBQ0FOSUFnb0FoUTJBZ0FnQ1NBSUtBSVFOZ0lBSUE0Z0RTQUpFT3dJSUF3b0FnQWlCQ0VESUFjZ0NpZ0NCQ0FFYTBFRGRVc0VRQ0FES2dJQUlBZEJBM1FnQTJvcUFnQmdSUTBHQzBFQUlRb0RRQ0FLSUFkSkJFQWdBaWdDQUNBTUtBSUFJQXBCQTNScUtBSUVRU1JzYWlFRElBRW9BZ1FpQkNBQktBSUlSZ1JBSUFFZ0F4RGlBUVVnQkNBREtRSUFOd0lBSUFRZ0F5a0NDRGNDQ0NBRUlBTXBBaEEzQWhBZ0JDQURLUUlZTndJWUlBUWdBeWdDSURZQ0lDQUJJQUVvQWdSQkpHbzJBZ1FMSUFwQkFXb2hDZ3dCQ3dzZ0FDZ0NBQ0VEQ3lBRlFRRnFJUVVnQXlFRURBRUxDeUFHUVFGcUlRWWdCQ0VGREFFTEN5QUlKQVlQQ3lBSlFjRElBMEhweUFFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQlJBK1FmYWlBaEEzUWFQSkFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUpFRHdnQUNBQkVFQWdBQkEvRUFBTEpnQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFR1loNjhEYWlnQ0FEWUNBRUVBQlVGL0N4b0xSQUVDZlVNQUFJQS9RUUVnQm5TeWxTSUhRd0FBQUQrVVF3QUFBTCtTSVFnZ0FDQUhJQU9VSUFpU09BSUFJQUVnQnlBRWxDQUlramdDQUNBQ0lBY2dCWlE0QWdBTDNRUUNESDhCZlNNR0lRSWpCa0ZBYXlRR0lBSkJNR29oQ2lBQ1FTeHFJUWNnQWtFb2FpRUlJQUpCSkdvaEN5QUFMQUFjQkVBZ0FDQUFRY2dBYWlJSktBSUFOZ0pNSUFrZ0FFRkFheUlNS0FJQUlBQkJQR29pQlNnQ0FHc1EwUUlnQUVIY0FHb2lEU0FCRU1JSUEwQWdCU2dDQUNJR0lRTWdCQ0FNS0FJQUlBWnJRU1FRT1VrRVFDQUhJQWdnQ3lBRVFTUnNJQU5xS2dJQUlBUkJKR3dnQTJvcUFnUWdCRUVrYkNBRGFpb0NIQ0FFUVNSc0lBTnFLQUlNRU84SUlBY2dCeW9DQUNBQklBVW9BZ0FnQkVFa2JHb29BZ3hCQUJDc0FTZ0NCRUYvYXJNUTR3RTRBZ0FnQ0NBSUtnSUFJQUVnQlNnQ0FDQUVRU1JzYWlnQ0RFRUFFS3dCS0FJSVFYOXFzeERqQVNJT09BSUFJQTBnQUNnQ2tBRWdDaUFGS0FJQUlnTWdCRUVrYkdvb0Fnd2dCRUVrYkNBRGFpZ0NFQ0FIS2dJQUlBNGdDeW9DQUJEQkNFRUFJUVlEUUNBR0lBb29BZ0JJQkVBZ0FpQUZLQUlBSUFSQkpHeHFJZ01wQWdBM0FnQWdBaUFES1FJSU53SUlJQUlnQXlrQ0VEY0NFQ0FDSUFNcEFoZzNBaGdnQWlBREtBSWdOZ0lnSUFJZ0FDZ0NrQUVnQmtFQ2RHb29BZ0EyQWdnZ0FDZ0NUQ0lESUFBb0FsQkdCRUFnQ1NBQ0VPSUJCU0FESUFJcEFnQTNBZ0FnQXlBQ0tRSUlOd0lJSUFNZ0Fpa0NFRGNDRUNBRElBSXBBaGczQWhnZ0F5QUNLQUlnTmdJZ0lBQWdBQ2dDVEVFa2FqWUNUQXNnQmtFQmFpRUdEQUVMQ3lBRVFRRnFJUVFNQVFzTElBVWdDUkNKQWdVQ1FDQUFRVUJyS0FJQUlBQW9BandpQUd0QkpCQTVJUUVEUUNBQklBVkdEUUVnQlVFa2JDQUFha01BQUFBQU9BSUlJQVZCQVdvaEJRd0FBQXNBQ3dzZ0FpUUdDNUlFQVF0L0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFQklBQkJRR3NpQ0NnQ0FDQUFRVHhxSWdRb0FnQnJRU1FRT1NBQUtBSlVJZ2xMQkVBZ0FDZ0NGQ0FBUVJCcUlnb29BZ0FpQm10QkRCQTVJZ3NnQUNnQ0NFY0VRQ0FCUWNESUEwR0J4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEdBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFZb0FnUWdCaWdDQUd0QkRCQTVJZ1lnQUNnQ0RFY0VRQ0FCUWNESUEwSFN4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEhBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFOQkFEWUNBQ0FEUVFBMkFnUWdBMEVBTmdJSUlBb2dBeUFFSUFzZ0JpQUFLQUlBSUFBb0FnUWdDUkR0Q0NBRUlBTVFpUUlnQ0NnQ0FDQUVLQUlBYTBFa0VEa2dBQ2dDVkVzRVFDQUJRY0RJQTBHTXlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkSElBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1FvQWdBb0Fod2hBaUFFUVFvZ0FrRS9jVUdLQVdvUkFnQWhCQ0FCRUR3Z0FDQUVFRUFnQUJBL0VBQUZJQU1RVlFzTElBTWtCZ3VhQndJVmZ3UjlJd1loQlNNR1FkQUFhaVFHSUFWQnhBQnFJUWtnQlVFNGFpRU1JQVZCTEdvaEJ5QUZRU2hxSVEwZ0JVRWthaUVPSUFBcUFqUVFhU0VZSUFBcUFqaERBQUNBUDVJUWFTQUFLZ0k0bFNFWklBQkJQR29oRHlBQVFVQnJJUlVnQUVFZ2FpRUdBa0FDUUFKQUEwQWdBaUFWS0FJQUlBOG9BZ0FpQTJ0QkpCQTVTUVJBSUFKQkpHd2dBMm9pRWlnQ0VDQUdLQUlRVGcwQ0lCSW9BaEFnQmlnQ0VDQUNRU1JzSUFOcUloQW9BZ3hzYWlFS0lBMGdEaUFDUVNSc0lBTnFJZ2dxQWdBZ0FrRWtiQ0FEYWtFRWFpSVRLZ0lBSUJBb0Fnd1F5d0lnRFNvQ0FFTUFBQUEva2hCRElRc2dEaW9DQUVNQUFBQS9raEJESVJFZ0JTQU1JQVlvQWdBZ0NrRi9ha0VGZEdvZ0JpZ0NBQ0FLUVFWMGFpSVVJQVlvQWdBZ0NrRUJha0VGZEdvZ0N5QVJFT2dJQkVBZ0J5QUZJQXdRNXdnRVFDQUhLZ0lBRUdrZ0J5b0NCQkJwa2lBQUtnSllYa1VFUUNBQ1FTUnNJQU5xSWhaQklHb2dCUkRtQ0FSQUlBSkJKR3dnQTJvaUNpb0NHQ0FVSUJFUVVDQUxRUUowYWlvQ0FGd05CeUFLSUJRZ0VSQlFJQXRCQW5ScUtnSUFJQXdxQWdBZ0J5b0NBQ0lYbENBTUtnSUVJQWNxQWdRaUdwU1NJQXdxQWdnZ0J5b0NDSlNTa3pnQ0dDQUlJQk1nRnlBTktnSUFraUFhSUE0cUFnQ1NJQkFvQWd3UTRRRWdBa0VrYkNBRGFpSUxJQWNxQWdnZ0VpZ0NFTEtTSWhjNEFoUWdDeUFYSUFZb0FoQ3lFT01CT0FJVUlCWXFBaUNMSUJsZEJIOGdDaW9DR0JCcElCaGdCSDhnQ0NvQ0FDSVhRd0FBQUFCZ0JIOGdGeUFHS0FJQUtBSUVzMTBFZnlBVEtnSUFJaGREQUFBQUFHQUVmeUFYSUFZb0FnQW9BZ2l6WFFSL0lBSkJKR3dnQTJvZ0FTQVFLQUlNSUFzcUFoUVFod0k0QWh3Z0R5Z0NBQ0FFUVNSc2FpSURJQWdwQWdBM0FnQWdBeUFJS1FJSU53SUlJQU1nQ0NrQ0VEY0NFQ0FESUFncEFoZzNBaGdnQXlBSUtBSWdOZ0lnSUFSQkFXb0ZJQVFMQlNBRUN3VWdCQXNGSUFRTEJTQUVDd1VnQkFzaEJBc0xDd3NnQWtFQmFpRUNEQUVMQ3lBUElBUVE2UWdnQlNRR0R3c2dDVUhBeUFOQnRza0JFRGRCd0x3QkVEZEI3NklDRURkQjZRTVFQa0gyb2dJUU4wSCt5UUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNNQVFzZ0NVSEF5QU5CbzhvQkVEZEJ3THdCRURkQjc2SUNFRGRCamdRUVBrSDJvZ0lRTjBIY3lnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc0xJQWxCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWtRUENBQUlBRVFRQ0FBRUQ4UUFBdU1KQUljZndwOUl3WWhCU01HUVRCcUpBWWdBRUZBYXlJUklBQkJQR29pR0NnQ0FEWUNBQ0FBS2dJMEVHa2hKU0FBUVNCcUlSa2dCVUVFYWlFYUlBVkJCR29oR3lBRlFRUnFJUnhCQVNFREFrQUNRQUpBQWtBQ1FBSkFBa0FEUUNBRElCa29BZ1FnR1NnQ0FHdEJCWFZCZjJwSkJFQWdBaUFEUVg5cUVNZ0NJUWNnQWlBREVNZ0NJUW9nQWlBRFFRRnFJaDBReUFJaENDQUNJQU1RMmdnaEVpQURJQUlvQWhBUVR5RVdBa0FDUUNBSEtBSUVJQW9vQWdSSERRQWdCeWdDQkNBSUtBSUVSdzBBSUFjb0FnZ2dDaWdDQ0VjTkJDQUhLQUlJSUFnb0FnaEhEUVVnQ2lnQ0JFRi9haUVYSUFvb0FnaEJmMm9oSGlBV3NpRWdRUUVoQXdOQUlBTWdIa2tFUUNBSElBTkJmMm9pQkJCUUlSTWdCeUFERUZBaEN5QUhJQU5CQVdvaUZCQlFJUXdnQ2lBRUVGQWhEU0FLSUFNUVVDRVZJQW9nRkJCUUlRNGdDQ0FFRUZBaER5QUlJQU1RVUNFUUlBZ2dGQkJRSVFrZ0E3TWhJVUVCSVFNRFFDQURJQmRKQkVBZ0EwRUNkQ0FWYWlJRUtnSUFFR2tnSlYxRkJFQUNRQUpBQWtBZ0JDb0NBQ0lmSUFOQmYyb2lCRUVDZENBVGFpb0NBQ0lpWGtVTkFDQWZJQU5CQW5RZ0Uyb3FBZ0JlUlEwQUlCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdGV29xQWdCZVJRMEFJQjhnQmtFQ2RDQVZhaW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBTkJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFOQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFFUVFKMElBbHFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0NXb3FBZ0JlUlEwQUlCOGdCa0VDZENBSmFpb0NBRjVGRFFBTUFRc2dIeUFpWFVVTkFTQWZJQU5CQW5RZ0Uyb3FBZ0JkUlEwQklCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdGV29xQWdCZFJRMEJJQjhnQmtFQ2RDQVZhaW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Rtb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBTkJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQkJxS2dJQVhVVU5BU0FmSUFOQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFFUVFKMElBbHFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0NXb3FBZ0JkUlEwQklCOGdCa0VDZENBSmFpb0NBRjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBZk9BSVlJQVVnQVNBU0lDQVFod0k0QWh3Z0JTQWFJQU96SUNFZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBRUxDd3dCQ3lBSEtBSUVJQW9vQWdSR0JFQWdDQ2dDQkNBS0tBSUVRUUYyUmdSQUlBY29BZ2dnQ2lnQ0NFY05CeUFJS0FJSUlBb29BZ2hCQVhaSERRZ2dDQ2dDQkVGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJNZ0NDZ0NDRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUlVnRnJJaEprRUNJUU1EUUNBRElCVlBEUU1nQnlBRFFYOXFJZ1FRVUNFUElBY2dBeEJRSVFzZ0J5QURRUUZxSWhRUVVDRU1JQW9nQkJCUUlRMGdDaUFERUZBaEVDQUtJQlFRVUNFT0lBT3pJaWREQUFBQVA1UkRBQUNBdnBJaUlVTUFBQUMva2lFaUlDRkRBQUFBUDVJaEkwRUNJUVFEUUNBRUlCTkpCRUFnQkVFQ2RDQVFhaUlES2dJQUVHa2dKVjFGQkVBQ1FDQUVzeUlvUXdBQUFEK1VRd0FBZ0w2U0lTQUNRQUpBSUFNcUFnQWlIeUFFUVg5cUlnWkJBblFnRDJvaUZ5b0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdDVUVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElCQnFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBbEJBblFnRG1vcUFnQmVSUTBBSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWGtVTkFDQURLZ0lBSUFnZ0lDQWlFRTFlUlEwQUlBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5Ya1VOQUNBREtnSUFJQWdnSHlBaEVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNFUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSVJCTlhrVU5BQ0FES2dJQUlBZ2dIeUFqRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ01RVFY1RkRRQWdBeW9DQUNBSUlDUWdJeEJOWGtVTkFBd0JDeUFES2dJQUloOGdGeW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQ1VFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdDVUVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQkJxS2dJQVhVVU5BU0FmSUFsQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhVVU5BU0FES2dJQUlBZ2dJQ0FpRUUxZFJRMEJJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWFVVTkFTQURLZ0lBSUFnZ0h5QWhFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDRVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0lSQk5YVVVOQVNBREtnSUFJQWdnSHlBakVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNNUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSXhCTlhVVU5BUXNnQlNBU05nSU1JQVVnRmpZQ0VDQUZJQU1vQWdBMkFoZ2dCU0FCSUJJZ0poQ0hBamdDSENBRklCc2dLQ0FuSUJJUTRRRWdFU2dDQUNJRElBQW9Ba1JHQkVBZ0dDQUZFT0lCQlNBRElBVXBBZ0EzQWdBZ0F5QUZLUUlJTndJSUlBTWdCU2tDRURjQ0VDQURJQVVwQWhnM0FoZ2dBeUFGS0FJZ05nSWdJQkVnRVNnQ0FFRWthallDQUFzTEN5QUVRUUZxSVFRTUFRc0xJQlFoQXd3QUFBc0FDd3NnQ2lnQ0JDQUhLQUlFUVFGMlJnUkFJQWdvQWdRZ0J5Z0NCRUVCZGtZRVFDQUtLQUlJSUFjb0FnaEJBWFpIRFFrZ0NDZ0NDQ0FIS0FJSVFRRjJSdzBLSUFvb0FnUkJmMm9oRXlBS0tBSUlRWDlxSVJVZ0ZySWhKa0VCSVFNRFFDQURJQlZQRFFNZ0NpQURRWDlxSWdRUVVDRVBJQW9nQXhCUUlSQWdDaUFEUVFGcUloUVFVQ0VMSUFnZ0JCQlFJUXdnQ0NBREVGQWhEU0FJSUJRUVVDRU9JQU96SVNjZ0EwRUJkTE5EQUFBQVA1SWlJVU1BQUFEQWtpRWlJQ0ZEQUFBQVFKSWhJMEVCSVFNRFFDQURJQk5KQkVBZ0EwRUNkQ0FRYWlJRUtnSUFFR2tnSlYxRkJFQUNRQ0FEUVFGMHMwTUFBQUEva2lFZ0FrQUNRQ0FFS2dJQUloOGdBMEYvYWlJR1FRSjBJQTlxSWhjcUFnQmVSUTBBSUI4Z0EwRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUpRUUowSUJCcUtnSUFYa1VOQUNBZklBWkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXRxS2dJQVhrVU5BQ0FmSUFaQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFKUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUpRUUowSUExcUtnSUFYa1VOQUNBZklBWkJBblFnRG1vcUFnQmVSUTBBSUI4Z0EwRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjVGRFFBZ0JDb0NBQ0FISUNBZ0loQk5Ya1VOQUNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSVJCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FoRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ0VRVFY1RkRRQWdCQ29DQUNBSElCOGdJeEJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWpFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDTVFUVjVGRFFBTUFRc2dCQ29DQUNJZklCY3FBZ0JkUlEwQklCOGdBMEVDZENBUGFpb0NBRjFGRFFFZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFKUVFKMElCQnFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUpRUUowSUF0cUtnSUFYVVVOQVNBZklBWkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXhxS2dJQVhVVU5BU0FmSUFaQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFKUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdBMEVDZENBT2Fpb0NBRjFGRFFFZ0h5QUpRUUowSUE1cUtnSUFYVVVOQVNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFYxRkRRRWdCQ29DQUNBSElDQWdJaEJOWFVVTkFTQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0lSQk5YVVVOQVNBRUtnSUFJQWNnSUNBaEVFMWRSUTBCSUFRcUFnQWdCeUFrSUNFUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSXhCTlhVVU5BU0FFS2dJQUlBY2dJQ0FqRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ01RVFYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQUVLQUlBTmdJWUlBVWdBU0FTSUNZUWh3STRBaHdnQlNBY0lBT3pJQ2NnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFBQUN3QUxDd3NnSFNFRERBRUxDeUFGSkFZUEN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dGQ3lBRlFjRElBMEcyM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0VDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3REN5QUZRY0RJQTBIcTNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBHV0FoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dDQ3lBRlFjRElBMEdqM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0JDeUFGUWNESUEwSGMzZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3dzZ0JVR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JSQThJQUFnQVJCQUlBQVFQeEFBQy9BQkFRUi9Jd1loQWlNR1FTQnFKQVlnQVNnQ0VFRUFUQVJBSUFKQndNZ0RRZHUrQVJBM1FjQzhBUkEzUWUraUFoQTNRWk1CRUQ1QjlxSUNFRGRCakw4QkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUJDZ0NBQ2dDSENFRklBUkJDaUFGUVQ5eFFZb0JhaEVDQUNFRUlBSVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRzR4Z0VRZVNBQVFTQnFJQUVRaFFrZ0FoQnJJQUpCeE1ZQkVIa2dBQ0FCSUFCQklHb1E4d2dnQWhCcklBSkIyTVlCRUhrZ0FDQUJFUElJSUFJUWF5QUNRZUhHQVJCNUlBQVE4UWdnQWhCcklBSkI3OFlCRUhrZ0FDQUJFUEFJSUFJUWF5QUNKQVlMUWdFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmRHb2lBallDQ0NBQ0VOTUNEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDFDQXNGSUFBZ0FSRDFBd3NnQWlRR0MwRUJBbjhnQUNnQ0JDRUJBMEFnQUNnQ0NDSUNJQUZIQkVBZ0FDQUNRWFJxSWdJMkFnZ2dBaEJWREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQzQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMTBCQTM4Z0FDZ0NCQ0lFSUFBb0FnQWlBbXRCREJBNUlnTWdBVWtFUUNBQUlBRWdBMnNRK0FnRklBTWdBVXNFUUNBQlFReHNJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FMQ3d0ZUFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRd1FPU0lESUFGSkJFQWdBQ0FCSUFOckVQWUlCU0FESUFGTEJFQWdBVUVNYkNBQ2FpRUNJQVFoQVFOQUlBRWdBa2NFUUNBQlFYUnFJZ0VRMHdJTUFRc0xJQUFnQWpZQ0JBc0xDNWNCQVFGL0lBQkJJR29nQVJDTkNTQUFRZHdBYWlBQkVIUW9BZ0FvQWdRZ0FSQjBLQUlBS0FJSUlBRW9BaEFnQVNnQ0ZCRERDQ0FBSUFFUWRDZ0NBQ2dDQkRZQ0FDQUFJQUVRZENnQ0FDZ0NDRFlDQkNBQVFSQnFJQUFvQWdnUStnaEJBQ0VCQTBBZ0FTQUFLQUlVSUFBb0FoQWlBbXRCREJBNVNRUkFJQUZCREd3Z0Ftb2dBQ2dDREJENUNDQUJRUUZxSVFFTUFRc0xDMEFCQVg4Z0FFR1FBV29RVlNBQVFkd0FhaUlCUVNocUVOSUNJQUZCSEdvUVZTQUFRY2dBYWhCVklBQkJQR29RVlNBQVFTQnFFTklDSUFCQkVHb1FnUWtMSlFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVIMGhxOERhaWdDQURZQ0FFRUFCVUYvQ3dzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lJQzZVQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRSjFJQUZKQkVCQi8vLy8vd01nQVNBRElBQW9BZ0JyUVFKMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlBQkVQNElJQUFnQWhEa0FTQUNFTWNCQ3dVZ0FDQUJFUFlEQ3lBQ0pBWUxJQUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBQ2dDQURZQ0FFRUFCVUYvQ3hvTFFBRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUYwYWlJQkVOTUNEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dTVBUUVCZnlBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQ2pZQ0NDQUFRUW8yQWd3Z0FFRUFOZ0lRSUFCQkFEWUNGQ0FBUVFBMkFoZ2dBRUVCT2dBY0lBQkNBRGNDSUNBQVFnQTNBaWdnQUVFQU5nSXdJQUJEQUFBQUFEZ0NOQ0FBUXdBQUlFRTRBamdnQUVJQU53SThJQUJDQURjQ1JDQUFRZ0EzQWt3Z0FFTUFBQkJCT0FKWUlBQkIzQUJxRU1RSUlBQkJrQUZxSWdGQkFEWUNBQ0FBUVFBMkFwUUJJQUJCQURZQ21BRWdBRUdJSnhEM0F5QUJRU1FRaHdFTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUM4QUtBUVovSXdZaEJTTUdRUkJxSkFZZ0FDZ0NBRUVDUndSQUlBVkJ3TWdEUVp2QUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRZQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQUVFQ1J3UkFJQVZCd01nRFFlTEFBUkEzUWNDOEFSQTNRZStpQWhBM1FkY0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0FFRUNSd1JBSUFWQndNZ0RRWkhCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGdBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NFRUVCUndSQUlBVkJ3TWdEUWNEQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRrQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDRUVFQlJ3UkFJQVZCd01nRFFZN0NBUkEzUWNDOEFSQTNRZStpQWhBM1Fkb0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0VFRUJSd1JBSUFWQndNZ0RRYm5DQVJBM1FjQzhBUkEzUWUraUFoQTNRZHNBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeWdDQUVGMGFpZ0NBQ0FEYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFlVENBUkEzUWNDOEFSQTNRZStpQWhBM1Fkd0FFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJUREFSQTNRY0M4QVJBM1FlK2lBaEEzUWQwQUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRWWZFQVJBM1FjQzhBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFibkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXRCQUNFREEwQWdBeUFCS0FJSVNRUkFJQUFnQXhDRENTRUdJQUVnQXhCUUlRY2dBaUFERUZBaENFRUFJUVFEUUNBRUlBRW9BZ1JKQkVBZ0JFRUNkQ0FHYWlBRVFRSjBJQWRxS2dJQUlBUkJBblFnQ0dvcUFnQ1RPQUlBSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUZKQVlMNWdNQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJRUlBQW9BZ0JHQkVBZ0JFSEF5QU5CaUw0QkVEZEJ3THdCRURkQjc2SUNFRGRCeUFBUVBrSDJvZ0lRTjBHeXZnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJLQUlRUVFCTUJFQWdCRUhBeUFOQjI3NEJFRGRCd0x3QkVEZEI3NklDRURkQnlRQVFQa0gyb2dJUU4wR012d0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCQkVBZ0FVSHc4UUJCK1BFQUVPUUVCRUJCQUNFQ0EwQWdBaUFBS0FJTVNRUkFRUUFoQXdOQUlBTWdBQ2dDRUVrRVFDQUFLQUlBSUFNZ0FpQUFLQUlRYkdwQkJYUnFJQUVnQWlBREVLd0JJQUVnQWlBRFFRRnFJZ01RckFFUWhBa01BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NMSUFSQndNZ0RRYkMvQVJBM1FjQzhBUkEzUWUraUFoQTNRY29BRUQ1QjlxSUNFRGRCK0w4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUF0Q0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRmdhaUlDTmdJSUlBSVEzUUVNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xTZ0VDZnlBQUJIOGdBRUdJaDY4RGFpSUJLQUlBSWdJRVFDQUNFRWtnQVVFQU5nSUFDeUFBUWVDR3B3SnFLQUlBRURnZ0FFSGtocWNDYWlnQ0FCQTRJQUFRT0VFQUJVRi9DeG9Ma0FFQkFuOGdBQ2dDQUNFRElBQW9BZ1FoQWdOQUlBSWdBMGNFUUNBQktBSUVRV0JxSUFKQllHb2lBaENxQnlBQklBRW9BZ1JCWUdvMkFnUU1BUXNMSUFBb0FnQWhBaUFBSUFFb0FnUTJBZ0FnQVNBQ05nSUVJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0FTZ0NCRFlDQUFzckFRRi9JQUFvQWdnaEFnTkFJQUlRdWdNZ0FDQUFLQUlJUVNCcUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzNJQkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUgvLy84L1N3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFRmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRVjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVGZENBRWFqWUNEQXNyQVFGL0lBQW9BZ1FoQWdOQUlBSVF1Z01nQUNBQUtBSUVRU0JxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNklCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFWMUlBRkpCRUJCLy8vL1B5QUJJQU1nQUNnQ0FHdEJCWFZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFSMUlnWWdCaUFEU1J0Qi8vLy9QeUFGUVFWMVFmLy8veDlKR3lBQUtBSUVJQVJyUVFWMUlBQkJDR29RaWdrZ0FpQUJFSWtKSUFBZ0FoQ0lDU0FDRUlZSkN3VWdBQ0FCRUlzSkN5QUNKQVlMd3dJQkNIOGpCaUVFSXdaQkVHb2tCaUFCS0FJSUlBRW9BZ1JyUVFWMVJRUkFJQVJCd01nRFFaVzhBUkEzUWNDOEFSQTNRZStpQWhBM1FUVVFQa0gyb2dJUU4wSEl2UUVRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCUVFCQkFCQ3NBU2dDQUNFRElBRkJBRUVBRUt3QktBSUVJUVVnQVVFQVFRQVFyQUVvQWdnaEJpQUFJQUVvQWhBMkFnd2dBQ0FCS0FJVVFYOXFJZ0UyQWhBZ0FDQUJJQUFvQWd4c0VOUUNRUUFoQVFOQUlBRWdBQ2dDREVrRVFDQUZJQUYySVFjZ0JpQUJkaUVJUVFBaEFnTkFJQUlnQUNnQ0VDSUpTUVJBSUFBb0FnQWdBaUFCSUFsc2FrRUZkR29nQXlBSElBaEJBUkMzQWlBQ1FRRnFJUUlNQVFzTElBRkJBV29oQVF3QkN3c2dCQ1FHQzNNQkJIOGpCaUVESXdaQkVHb2tCaUFEUVFocUlRUWdBQVJBSUFBUVlDRUNRWURSQWhCZ0lBSkJBbXBxRUVRaUFnUkFJQVFnQURZQ0FDQUVRWURSQWpZQ0JDQUNRWSs4QVNBRUVMd0JJQUlnQVJDd0FTRUZJQUlRT0FWQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dzZ0F5UUdJQVVMdlFJQkNIOGpCaUVLSXdaQkVHb2tCaUFESUFGQkJCQTVJZ3MyQWdBZ0JDQUNRUVFRT1NJTU5nSUFJQXNnREd3UVJDSURSUVJBUVFCQkEwRzUyQUlnQ2hBOVFRRVFBUXNnQXlFQ0EwQWdDQ0FNU0FSQVFRQWhDU0FBSUFFZ0NFRUNkQ0lGYkdvaEJDQUFJQUVnQlVFRGNteHFJUVlnQUNBQklBVkJBbkpzYWlFSElBQWdBU0FGUVFGeWJHb2hCUU5BSUFrZ0MwZ0VRQ0FDSUFZdEFBTWdCaTBBQWlBR0xRQUJJQVl0QUFBZ0J5MEFBeUFITFFBQ0lBY3RBQUVnQnkwQUFDQUZMUUFESUFVdEFBSWdCUzBBQVNBRkxRQUFJQVF0QUFNZ0JDMEFBaUFFTFFBQUlBUXRBQUZxYW1wcWFtcHFhbXBxYW1wcWFtcEJFQkE1T2dBQUlBbEJBV29oQ1NBRVFRUnFJUVFnQmtFRWFpRUdJQWRCQkdvaEJ5QUZRUVJxSVFVZ0FrRUJhaUVDREFFTEN5QUlRUUZxSVFnTUFRc0xJQW9rQmlBREN5Y0FJQUFFZnlBQVFmaUdyd05xUVFjMkFnQWdBRUg4aHE4RGFrRUFOZ0lBUVFBRlFYOExHZ3YvQVFFSGZ5TUdJUWtqQmtFUWFpUUdJQU1nQVVFREVEa2lDallDQUNBRUlBSkJBeEE1SWdzMkFnQWdDaUFMYkJCRUlnTkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFESVFJRFFDQUhJQXRJQkVCQkFDRUlJQUFnQVNBSFFRTnNJZ1ZzYWlFRUlBQWdBU0FGUVFKcWJHb2hCaUFBSUFFZ0JVRUJhbXhxSVFVRFFDQUlJQXBJQkVBZ0FpQUdMUUFDSUFZdEFBRWdCaTBBQUNBRkxRQUNJQVV0QUFFZ0JTMEFBQ0FFTFFBQ0lBUXRBQUFnQkMwQUFXcHFhbXBxYW1wcVFRa1FPVG9BQUNBSVFRRnFJUWdnQkVFRGFpRUVJQVpCQTJvaEJpQUZRUU5xSVFVZ0FrRUJhaUVDREFFTEN5QUhRUUZxSVFjTUFRc0xJQWtrQmlBREM5QUJBUVovSXdZaENDTUdRUkJxSkFZZ0F5QUJRUUlRT1NJSk5nSUFJQVFnQWtFQ0VEa2lDallDQUNBSklBcHNFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTFFRQWhCQ0FESVFJRFFDQUVJQXBJQkVCQkFDRUhJQUFnQVNBRVFRRjBJZ1ZzYWlFR0lBQWdBU0FGUVFGeWJHb2hCUU5BSUFjZ0NVZ0VRQ0FDSUFVdEFBRWdCUzBBQUNBR0xRQUFJQVl0QUFGcWFtcEJBblk2QUFBZ0IwRUJhaUVISUFaQkFtb2hCaUFGUVFKcUlRVWdBa0VCYWlFQ0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFna0JpQURDNllEQVFsL0l3WWhDeU1HUVJCcUpBWWdBeUFCUVFNUU9TSU1RUUYwSWdrMkFnQWdCQ0FDUVFNUU9TSU5RUUYwSWdJMkFnQWdBaUFKYkJCRUlnUkZCRUJCQUVFRFFibllBaUFMRUQxQkFSQUJDeUFFSWdJaEF3TkFJQWdnRFVnRVFFRUFJUW9nQUNBQklBaEJBMndpQmtFQ2FteHFJUWNnQUNBQklBWkJBV3BzYWlFRklBQWdBU0FHYkdvaEJpQURJQWxxSVFNRFFDQUtJQXhJQkVBZ0FpQUdMUUFBSUFZdEFBRkJBWFpxSUFVdEFBQkJBWFpxSUFVdEFBRkJBblpxUVFKMFFRa1FTRG9BQUNBRElBY3RBQUFnQlMwQUFFRUJkaUFGTFFBQlFRSjJha0VZZEVFWWRVSC9BWEZxSUFjdEFBRkJBWFpxUVFKMFFRa1FTRG9BQUNBQ0lBWXRBQUlnQmkwQUFVRUJkbW9nQlMwQUFVRUNkbW9nQlMwQUFrRUJkbXBCQW5SQkNSQklPZ0FCSUFNZ0J5MEFBaUFGTFFBQlFRSjJJQVV0QUFKQkFYWnFRUmgwUVJoMVFmOEJjU0FITFFBQlFRRjJhbXBCQW5SQkNSQklPZ0FCSUFwQkFXb2hDaUFIUVFOcUlRY2dCVUVEYWlFRklBWkJBMm9oQmlBQ1FRSnFJUUlnQTBFQ2FpRUREQUVMQ3lBSVFRRnFJUWdnQWlBSmFpRUNEQUVMQ3lBTEpBWWdCQXRPQVFGL0l3WWhCU01HUVJCcUpBWWdBeUFCTmdJQUlBUWdBallDQUNBQklBSnNJZ0VRUkNJQ0JFQWdBaUFBSUFFUVRCb2dCU1FHSUFJUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxhZ0FDZndKQUFrQUNRQUpBQWtBZ0EwRUJhdzRGQUFJRUF3RUVDeUFBSUFFZ0FpQUVJQVVRbEFrTUJBc2dBQ0FCSUFJZ0JDQUZFSk1KREFNTElBQWdBU0FDSUFRZ0JSQ1NDUXdDQ3lBQUlBRWdBaUFFSUFVUWtRa01BUXNnQUNBQklBSWdCQ0FGRUk4SkN3dkZCQUlMZndGOUl3WWhDQ01HUWZBQmFpUUdJQWhCMEFGcUlRa2dDRUhJQVdvaEJpQUlRZUFCYWlFTUlBaEIxQUZxSVFvZ0NFSGdBR29oRGlBSVFjQUJhaUVQSUFFb0FnUWdBU2dDQUNJQmF5SUhRUU4xSWd0QkJFa0VmMEYvQlFKL0lBZEJBWFFRUkNJSFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRc2dDMEVZYkJCRUlnWkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFES0FJQUlRTWdBaWdDQUNFSlFRQWhBZ05BSUFJZ0MwY0VRQ0FDUVFSMElBZHFJQUpCQTNRZ0FXb29BZ0FpRFVFVWJDQURhaW9DQUxzNUF3QWdBa0VFZENBSGFpQU5RUlJzSUFOcUtnSUV1emtEQ0NBQ1FSaHNJQVpxSUFKQkEzUWdBV29vQWdRaURVRU1iQ0FKYWlvQ0FMczVBd0FnQWtFWWJDQUdhaUFOUVF4c0lBbHFLZ0lFdXprRENDQUNRUmhzSUFacVJBQUFBQUFBQUFBQU9RTVFJQUpCQVdvaEFnd0JDd3NnQ2lBTE5nSUlJQW9nQnpZQ0FDQUtJQVkyQWdRZ0FFRUlhaUlBSUFjZ0JpQUxJQTRRbUFSQkFFZ0VRQ0FIRURnZ0JoQTRRWDhNQVFzZ0RDQUFFT01DSWdBMkFnQWdBRVVFUUNBSEVEZ2dCaEE0UVg4TUFRc2dBQ0FLSUE0Z0NDQVBFT29CUVFCSUJIOGdCeEE0SUFZUU9DQU1FT0lDUVg4RlFRQWhBQU5BSUFCQkEwY0VRRUVBSVFFRFFDQUJRUVJIQkVBZ0FFRUVkQ0FFYWlBQlFRSjBhaUFBUVFWMElBaHFJQUZCQTNScUt3TUF0amdDQUNBQlFRRnFJUUVNQVFzTElBQkJBV29oQUF3QkN3c2dEQkRpQWlBSEVEZ2dCaEE0SUFVZ0R5c0RBTFlpRVRnQ0FDQVJRd0FBSUVGZVFSOTBRUjkxQ3dzTElSQWdDQ1FHSUJBTHJRd0RDMzhDZlFGOEl3WWhCaU1HUVRCcUpBWWdCa0VRYWlFSElBWkJDR29oQlNBR1FTeHFJUWdnQmtFb2FpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBQW9BZ3doQkNBQUtBSVFJUUlDZnlBQUtBSVVJZ05CQVVZaUNnUi9JQUVoQ0VFQUJTQUJJQVFnQWlBRElBZ2dDUkNWQ1NJSUJIOUJBUVZCZnd3REN3c2hEQ0FBS0FJQUlBZ2dCQ0FDRUlRSUlBQWdBQ2dDQUJDNUFpSUJLQUlFSUFFb0FnQnJJZ0ZCRkJBNUlnUTJBakFnQVFSQUFrQWdBQ0FBS0FJc0lnRUVmeUFCRURnZ0FDZ0NNQVVnQkF0QkEzUVFSQ0lCTmdJc0lBRkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFBS0FJQUVMa0NJUVFDUUNBS0JFQWdBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RTQU9JQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMDRBZ0FnQWtFRGRDQURhaUFPT0FJRUN5QUNRUUZxSVFJTUFBQUxBQVVDUUFKQUFrQUNRQ0FEUVFKckRnUUJBd0lBQXdzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CU0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFNQS9sQ0FPUXdBQXdEK1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQURBUDVRNEFnQWdBa0VEZENBRGFpQU9Rd0FBd0QrVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CQ0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFBQkFsQ0FPUXdBQUFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUFBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBQUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BeUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFFQkFsQ0FPUXdBQVFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUJBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBUUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFJQkFsQ0FPUXdBQWdFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUNBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBZ0VDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzQUN5QUFRVFJxSVFSQkFDRURBMEFnQXlBQUtBSTRJZ0pPQkVBZ0JDRUFJQUloQVF3Q0N5QUVLQUlBSWdJZ0EwSEVBR3hxSUFBb0FpUWdBMEVNYkdvb0FnZzJBakFnQTBIRUFHd2dBbXBCZnpZQ1BDQURRY1FBYkNBQ2FrRkFheWdDQUVVRVFDQUFLQUlBS0FJQUtBSUFRUXhxSVFJZ0FDZ0NBQ2dDQUNnQ0FDZ0NHQ0lKUVFCT0JFQWdBU2dDQUNBQ0lBQW9BZ0FnQ1JESUJ5QUFLQUlBRUxrQ0lBUW9BZ0FpQlNBRFFjUUFiR29nQTBIRUFHd2dCV3BCTkdvUWxnbEZCRUFnQkNnQ0FDSUZJQU5CeEFCc2FrRUFOZ0k4SUFOQnhBQnNJQVZxSUFJb0FnUWdBaWdDQUd0QkEzVWlBallDT0NBRFFjUUFiQ0FGYWlBQVFUeHFJQWxCQW5ScUtBSUFOZ0l3SUFOQnhBQnNJQVZxS2dJMHV5RVBJQWNnQXpZQ0FDQUhJQUkyQWdRZ0J5QUNOZ0lJSUFjZ0R6a0RFRUVBUVFGQjU3c0JJQWNRUFFzTEN5QURRUUZxSVFNTUFBQUxBQXNGSUFBb0FqZ2hBU0FBSWdSQk5Hb2hBRUVBSVFJRFFDQUNJQUZJQkVBZ0JDZ0NOQ0FDUWNRQWJHcEJmellDUENBQ1FRRnFJUUlNQVFzTEMwRUFJUUlEUUNBQ0lBRklCRUFnQUNnQ0FDQUNRY1FBYkdwQlFHdEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBd0xCRUFnQ0JBNEMwRUFDd1ZCQUVFRFFidTdBU0FHRUQxQkFBc2FJQVlrQmdzR0FDQUFKQVlMUHdFQ2Z5QUFLQUlFSVFJZ0FDZ0NDQ0VCQTBBZ0FTQUNSd1JBSUFBZ0FVRjBhaUlCTmdJSURBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzVjQkFRUi9JQUZCQkdvaUF5Z0NBQ0VDSUFNZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCZEJBNVFReHNJQUpxSWdJMkFnQWdCVUVBU2dSQUlBSWdCQ0FGRUV3YUlBTW9BZ0FoQWdzZ0FDZ0NBQ0VFSUFBZ0FqWUNBQ0FESUFRMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBREtBSUFOZ0lBQzVRQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93Y2dBQ2dDQkNBQUtBSUFhMEVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlnQ0NDQUJMQUFBT2dBQUlBSWdBaWdDQ0VFQmFqWUNDQ0FBSUFJUTF3SWdBaERXQWlBQ0pBWUxDNndCQVFWL0l3WWhBaU1HUVNCcUpBWkIxYXJWcWdFZ0FDZ0NCQ0FBS0FJQWEwRU1FRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVF3UU9TSUZRUUYwSWdZZ0JpQURTUnRCMWFyVnFnRWdCVUdxMWFyVkFFa2JJQUFvQWdRZ0JHdEJEQkE1SUFCQkNHb1ExUUlnQWlnQ0NDSURJQUVwQWdBM0FnQWdBeUFCS0FJSU5nSUlJQUlnQWlnQ0NFRU1hallDQ0NBQUlBSVFtZ2tnQWhDWkNTQUNKQVlMQzdVQkFRVi9Jd1loQWlNR1FTQnFKQVpCekptejVnQWdBQ2dDQkNBQUtBSUFhMEVVRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFSUVFPU0lGUVFGMElnWWdCaUFEU1J0QnpKbXo1Z0FnQlVIbXpKa3pTUnNnQUNnQ0JDQUVhMEVVRURrZ0FFRUlhaEQ2QXlBQ0tBSUlJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFJZ0FpZ0NDRUVVYWpZQ0NDQUFJQUlRK1FNZ0FoRDRBeUFDSkFZTEM0Y01BZzkvQW4wakJpRUhJd1pCOEFCcUpBWWdCMEV3YWlFUElBZEJLR29oRFNBSFFTQnFJUTRnQjBFWWFpRU1JQWRCRUdvaEJDQUhRUWhxSVFNZ0IwSGdBR29oQ0NBSFFkUUFhaUVLSUFkQnlBQnFJUXNnQjBFMGFpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBRW9BZ1FpQWtVRVFFRUFRUU5CajdzQklBTVFQVUYvREFFTEFrQUNRQ0FBS0FJY0lnTkZEUUFnQXhBNElBRW9BZ1FpQWcwQUlBQkJBRFlDSEVFQUlRSU1BUXNnQUNBQ1FZUUJiQkJFSWdNMkFod2dBMFVFUUVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBaEJBTkFJQVFnQWtnRVFDQUFLQUljSUFSQmhBRnNhaUFCS0FJQUlBUkJoQUZzYWtHRUFSQk1HaUFFUVFGcUlRUWdBU2dDQkNFQ0RBRUxDd3NnQUNBQ05nSWdJQUFvQWlRaUFnUkFRUUFoQXdOQUlBTWdBQ2dDS0VnRVFDQURRUXhzSUFKcUtBSUFJZ1FFUUNBRUVEZ2dBQ2dDSkNFQ0N5QURRUUZxSVFNTUFRc0xJQUlRT0FzZ0FTZ0NEQ0lDQkVBQ1FDQUFJQUpCREd3UVJDSUVOZ0lrSUFSRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN3TkFBa0FnQlNBQ1RnUkFJQUloQmd3REN5QUFLQUlrSWdNZ0JVRU1iR29nQVNnQ0NDSUVJQVZCREd4cUtBSUlOZ0lJSUFWQkRHd2dBMm9nQlVFTWJDQUVhaUlNS0FJRU5nSUVJQXdvQWdRaURBUkFJQVZCREd3Z0Eyb2dERUVNYkJCRUlnSTJBZ0FnQWtVTkFVRUFJUU1nQkNFQ0EwQWdBeUFGUVF4c0lBSnFLQUlFU0FSQUlBQW9BaVFnQlVFTWJHb29BZ0FnQTBFTWJHb2lCQ0FGUVF4c0lBSnFLQUlBSUFOQkRHeHFJZ0lwQWdBM0FnQWdCQ0FDS0FJSU5nSUlJQU5CQVdvaEF5QUJLQUlJSVFJTUFRc0xJQUVvQWd3aEFnVWdCVUVNYkNBRWFrRUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzRklBQkJBRFlDSkFzZ0FDQUdOZ0lvSUFBb0FqUWlBZ1JBSUFJUU9DQUFRUUEyQWpRZ0FFRUFOZ0k0Q3lBQktBSU1JZ0ZCQUVvRVFBSkFJQUFnQVRZQ09DQUFJQUZCeEFCc0VFUWlBallDTkNBQ1JRUkFRUUJCQTBHNTJBSWdEUkE5UVFFUUFRdEJBQ0VHQTBBZ0FTQUdSZzBCSUFaQnhBQnNJQUpxUVVCclFRQTJBZ0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUFLQUlnSWcwRWYwRUFJUVpCQUNFQkEwQkJBQ0FHSUFBb0FpaE9EUUlhUVFBaEJBTkFJQVFnQUNnQ0pDQUdRUXhzYWlnQ0JFZ0VRQ0FJUVFBMkFnQWdDRUVBTmdJRUlBaEJBRFlDQ0NBS1FRQTJBZ0FnQ2tFQU5nSUVJQXBCQURZQ0NDQUxRUUEyQWdBZ0MwRUFOZ0lFSUF0QkFEWUNDRUVBSVFJRFFDQUNJQTFJQkVBZ0FDZ0NIQ0lESUFKQmhBRnNhaWdDZ0FFZ0FDZ0NKQ0lGSUFaQkRHeHFLQUlBSUFSQkRHeHFLQUlJUmdSQUlBSkJoQUZzSUFOcUtBSjhJQVpCREd3Z0JXb29BZ2hHQkVBQ1FDQUpJQUpCaEFGc0lBTnFLZ0lBSUFKQmhBRnNJQU5xS2dJRUlBSkJoQUZzSUFOcUtnSndJQUpCaEFGc0lBTnFLZ0owSUFKQmhBRnNJQU5xS0FKNFFRQkhFUHdESUFnb0FnUWlBeUFJS0FJSVNRUkFJQU1nQ1NrQ0FEY0NBQ0FESUFrcEFnZzNBZ2dnQXlBSktBSVFOZ0lRSUFnZ0EwRVVhallDQkFVZ0NDQUpFSjBKQ3lBQUtBSWNJZ01nQWtHRUFXeHFLZ0lJSVJFZ0FrR0VBV3dnQTJvcUFnd2hFaUFKSUJFNEFnQWdDU0FTT0FJRUlBbERBQUFBQURnQ0NDQUtLQUlFSWdNZ0NpZ0NDRWtFUUNBRElBa3BBZ0EzQWdBZ0F5QUpLQUlJTmdJSUlBb2dDaWdDQkVFTWFqWUNCQVVnQ2lBSkVKd0pDMEVBSVFNRFFDQURRZUFBVHcwQklBTWdBQ2dDSENBQ1FZUUJiR3BCRUdwcUlRVWdDeWdDQkNJT0lBc29BZ2hHQkVBZ0N5QUZFSnNKQlNBT0lBVXNBQUE2QUFBZ0N5QUxLQUlFUVFGcU5nSUVDeUFEUVFGcUlRTU1BQUFMQUFzTEN5QUNRUUZxSVFJTUFRc0xJQThnQ0NnQ0JDQUlLQUlBYTBFVUVEazJBZ0JCQUVFQlFiQzdBU0FQRUQwZ0FFRThhaUFCUVFKMGFpQUFLQUlrSWdJZ0JrRU1iR29vQWdnMkFnQWdBQ2dDQUNBSUlBc2dDaUFHUVF4c0lBSnFLQUlBSWdJZ0JFRU1iR29vQWdBZ0JFRU1iQ0FDYWlnQ0JDQUJFSklJSUFzUVZTQUtFRlVnQ0JEWkFpQUVRUUZxSVFRZ0FVRUJhaUVCREFFTEN5QUdRUUZxSVFZTUFBQUxBQVZCQUFzTEJVRUFRUU5CMzdvQklBY1FQVUYvQ3lFUUlBY2tCaUFRQy9VQkFRWi9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUdJQU1nQUJDWUFpQURMQUFBQkVBZ0F5QUFJQUFvQWdCQmRHb2lCQ2dDQUdvb0FoZzJBZ2dnQUNBRUtBSUFhaUlFS0FJRUlRZEJmeUFFS0FKTUVFRUVRQ0FHSUFRUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aENDQUZRU0FnQ0VFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRlFSaDBRUmgxSWdVMkFrd0ZJQVFvQWt3aEJRc2dCaUFES0FJSU5nSUFJQVlnQVNBQklBSnFJZ0lnQVNBSFFiQUJjVUVnUmhzZ0FpQUVJQVZCL3dGeEVKY0JSUVJBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBU0FCS0FJUVFRVnlFTzRCQ3dzZ0F4Q1hBaUFESkFZZ0FBdTdBUUVGZnlNR0lRWWpCa0VRYWlRR0lBQUVRQUpBSUFBb0FnUWhBd05BSUFJZ0EwZ0VRQ0FBS0FJQUlBSkJoQUZzYWlJRUtBSjhJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBbndMSUFKQkFXb2hBZ3dCQ3dzZ0FDZ0NEQ0VEUVFBaEFnTkFJQUlnQTA0RVFFRUFJUUFNQWdzZ0FDZ0NDQ0FDUVF4c2FpSUVLQUlJSWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQWdnTElBSkJBV29oQWd3QUFBc0FDd1ZCQUVFRFFhNjZBU0FHRUQxQmZ5RUFDeUFHSkFZZ0FBdjdCUUVLZnlNR0lRVWpCa0ZBYXlRR0lBVkJPR29oQ0NBRlFUQnFJUWtnQlVFb2FpRUdJQVZCSUdvaEJ5QUZRUmhxSVFvZ0JVRUlhaUVDSUFWQlBHb2lBMEdJdVFFdUFBQTdBQUFnQTBHS3VRRXNBQUE2QUFJZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUNBREVJNEpJZ1JGQkVBZ0FpQUFOZ0lBSUFKQnhQNENOZ0lFSUFKQmdORUNOZ0lJUVFCQkEwRyt1UUVnQWhBOVFYOE1BUXRCQVVFUUVJMENJZ0pGQkVCQkFFRURRYm5ZQWlBS0VEMUJBUkFCQ3lBQ1FRUnFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSUVJZ0JCQVU0RVFBSkFJQUlnQUVHRUFXd1FSQ0lETmdJQUlBTkZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDMEVBSVFNRFFDQURJQUJJQkVBZ0FpZ0NBQ0FEUVlRQmJHcEJDRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFRaHFRUWhCQVNBRUVHRkJBVWNOQWlBQ0tBSUFJQU5CaEFGc2FrRVFha0hzQUVFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRZndBYWtFRVFRRWdCQkJoUVFGSERRSWdBaWdDQUNBRFFZUUJiR3BCZ0FGcVFRUkJBU0FFRUdGQkFVY05BaUFEUVFGcUlRTWdBaWdDQkNFQURBRUxDeUFDUVF4cVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJTUlnQkJBVWdFUUNBQ1FRQTJBZ2dNQWdzZ0FpQUFRUXhzRUVRaUF6WUNDQ0FEUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRURBa0FDUUFOQUFrQWdBeUFBVGcwQ0lBSW9BZ2dnQTBFTWJHcEJDR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dnQTBFTWJHcEJCR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dpQnlBRFFReHNhaWdDQkNJR1FReHNFRVFoQUNBRFFReHNJQWRxSUFBMkFnQWdBRVVOQUNBQVFRd2dCaUFFRUdFZ0JrY05CU0FEUVFGcUlRTWdBaWdDRENFQURBRUxDMEVBUVFOQnVkZ0NJQWtRUFVFQkVBRU1BUXNnQVNBQ05nSUFJQVFRYWtFQURBVUxDd3NMQzBFQVFRTkJnYm9CSUFnUVBTQUNLQUlJSWdBRVFDQUFFRGdMSUFJb0FnQWlBQVJBSUFBUU9Bc2dBaEE0SUFRUWFrRi9Dd1ZCQUVFRFFZdTVBU0FGRUQxQmZ3c2hDeUFGSkFZZ0N3dlhBZ0VFZnlNR0lRSWpCa0VRYWlRR1FhQ0hyd01RUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBa0VJYWlFRElBRkJBRFlDQUNBQlFlU0dwd0pxUVFBMkFnQWdBVUdJaDY4RGFrRUFOZ0lBSUFGQmZ6WUNCQ0FCUVFBMkFnZ2dBVUVCTmdJTUlBRkI1QUEyQWhBZ0FVRUFOZ0lVSUFGQkFEWUNHQ0FCUVFJMkFod2dBVUdRaDY4RGFrUUFBQUFBQUFEZ1B6a0RBQ0FCUVppSHJ3TnFRUU0yQWdBZ0FTQUFOZ0lnSUFFZ0FDZ0NBQ0lFTmdJa0lBRWdBQ2dDQkNJQU5nSW9JQUZCQURZQ0xDQUJRYkQ0QUdwQkFEWUNBQ0FCUWVpR3B3SnFRUUEyQWdBZ0FVSDRpcVlDYWtFQU5nSUFJQUZCNElhbkFtb2dBQ0FFUVFGMGJCQkVJZ0EyQWdBZ0FBUkFJQUZCOElhdkEycEJBRFlDQUNBQlFRQVEvUU1nQVVIMGhxOERha0YvTmdJQUlBRkJBQkQ3QXhvZ0FSQ1FDU0FDSkFZZ0FROEZRUUJCQTBHNTJBSWdBeEE5UVFFUUFRdEJBQXZzQ2dFUWZ5TUdJUTBqQmtFd2FpUUdJQTFCS0dvaEVDQU5RU0JxSVE4Z0RVRVlhaUVKSUExQkVHb2hCaUFOUVFocUlRY2dBRUVBUnlBQlFRQkhjUVIvSUFBb0FnQWlBZ1JBSUFJaUJDRURCU0FBUVJBUVJDSUNOZ0lBSUFJRVFDQUNRUUEyQWdRZ0FrRUFOZ0lBSUFKQkFEWUNEQ0FDUVFBMkFnZ2dBaUlFSVFNRlFRQkJBMEc1MkFJZ0J4QTlRUUVRQVFzTElBRW9BZ0FpREFSQUlBUW9BZ1FpQlNBTUtBSUVJZ2RxSWdKQmhBRnNFRVFpQzBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTFFRQWhCZ05BSUFZZ0JVZ0VRQ0FHUVlRQmJDQUxhaUFFS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMUVFBaEJnTkFJQVlnQjBnRVFDQUZJQVpxUVlRQmJDQUxhaUFNS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMSUFRb0FnQWlCQVJBSUFRUU9DQUFLQUlBSVFNTElBTWdDellDQUNBQUtBSUFJZ2NnQWpZQ0JDQUhLQUlNSVFzZ0FTZ0NBQ0lES0FJTUlReEJBQ0VFUVFBaEJnTkFJQVlnREVnRVFFRUFJUUlDUUFKQUEwQWdBaUFMU0FSQUlBTW9BZ2dnQmtFTWJHb29BZ2dnQnlnQ0NDQUNRUXhzYWlnQ0NFWU5BaUFDUVFGcUlRSU1BUXNMREFFTElBUkJBV29oQkFzZ0JrRUJhaUVHREFFTEN5QUxJQXhxSUFScklnWkJER3dRUkNJT1JRUkFRUUJCQTBHNTJBSWdDUkE5UVFFUUFRc0NRQUpBQTBBZ0NpQUxTQVJBSUFwQkRHd2dEbW9nQUNnQ0FDSUhLQUlJSWdRZ0NrRU1iR29pQWlnQ0NEWUNDQ0FLUVF4c0lBUnFLQUlFSVFSQkFDRUpBMEFnQ1NBTVNBUkFJQUVvQWdBb0FnZ2lBeUFKUVF4c2FpZ0NDQ0FDS0FJSVJnUkFJQVFnQ1VFTWJDQURhaWdDQkdvaEJBc2dDVUVCYWlFSkRBRUxDeUFLUVF4c0lBNXFJZ2tnQkVFTWJCQkVJZ00yQWdBZ0EwVU5BaUFIS0FJSUlBcEJER3hxS0FJRUlRZEJBQ0VGQTBBZ0JTQUhTQVJBSUFrb0FnQWdCVUVNYkdvaUFpQUFLQUlBS0FJSUlBcEJER3hxS0FJQUlBVkJER3hxSWdNcEFnQTNBZ0FnQWlBREtBSUlOZ0lJSUFWQkFXb2hCUXdCQ3d0QkFDRUlBa0FDUUFOQUlBZ2dERWdFUUNBQktBSUFLQUlJSWdNZ0NFRU1iR29vQWdnZ0FDZ0NBQ2dDQ0NBS1FReHNhaWdDQ0VZTkFpQUlRUUZxSVFnTUFRc0xEQUVMUVFBaEJRTkFJQVVnQ0VFTWJDQURhaWdDQkU0TkFTQUpLQUlBSUFVZ0IycEJER3hxSWdJZ0NFRU1iQ0FEYWlnQ0FDQUZRUXhzYWlJREtRSUFOd0lBSUFJZ0F5Z0NDRFlDQ0NBRlFRRnFJUVVnQVNnQ0FDZ0NDQ0VEREFBQUN3QUxJQXBCREd3Z0Rtb2dCRFlDQkNBS1FRRnFJUW9NQVFzTERBRUxRUUJCQTBHNTJBSWdEeEE5UVFFUUFRdEJBQ0VFUVFBaENBSkFBa0FEUUNBSUlBeElCRUFnQVNnQ0FDZ0NDQ0lISUFoQkRHeHFLQUlJSVFWQkFDRUNBa0FDUUFOQUlBSWdDMDROQVNBQ1FRRnFJUU1nQUNnQ0FDZ0NDQ0FDUVF4c2FpZ0NDQ0FGUndSQUlBTWhBZ3dCQ3dzZ0JFRUJhaUVFREFFTElBZ2dDMm9nQkdzaUQwRU1iQ0FPYWlFSklBOUJER3dnRG1vZ0JUWUNDQ0FKSUFoQkRHd2dCMm9vQWdRaUIwRU1iQkJFSWdNMkFnQWdBMFVOQTBFQUlRVURRQ0FGSUFkSUJFQWdDU2dDQUNBRlFReHNhaUlDSUFFb0FnQW9BZ2dnQ0VFTWJHb29BZ0FnQlVFTWJHb2lBeWtDQURjQ0FDQUNJQU1vQWdnMkFnZ2dCVUVCYWlFRkRBRUxDeUFQUVF4c0lBNXFJQWMyQWdRTElBaEJBV29oQ0F3QkN3c01BUXRCQUVFRFFibllBaUFRRUQxQkFSQUJDeUFBS0FJQUlnSkJDR29pQXlnQ0FDSUVCRUJCQUNFREEwQWdBeUFDS0FJTVNBUkFJQU5CREd3Z0JHb29BZ0FRT0NBRFFRRnFJUU1nQUNnQ0FDSUVJUUlnQkNnQ0NDRUVEQUVMQ3lBRUVEZ2dBQ2dDQUVFSWFpRURDeUFESUE0MkFnQWdBQ2dDQUNBR05nSU1JQUVRL3dNTFFRQUZRUUJCQTBHZ3VBRWdEUkE5UVg4TElSRWdEU1FHSUJFTG93RUJBbjhnQUNnQ0FDSUJCSDhnQVNnQ0FDSUNCRUFnQWlnQ0FDRUJJQUpCQURZQ0FDQUJCRUFnQVJEckF5QUJFRGdMSUFJUU9DQUFLQUlBSVFFTElBRW9BaHdpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWlRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FqUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaXdpQWdSL0lBSVFPQ0FBS0FJQUJTQUJDeEE0SUFCQkFEWUNBRUVBQlVGL0N4b0xqQUVCQTM4akJpRUVJd1pCRUdva0JrRUJRYndnRUkwQ0lnTUVRRUVFRUZFaUJSQzdDQ0FESUFVMkFnQWdBeUFBTmdJRUlBTkJBVFlDQ0NBRElBRTJBZ3dnQXlBQ05nSVFJQU5CQVRZQ0ZDQURRWDgyQWhnZ0EwSUFOd0ljSUFOQ0FEY0NKQ0FEUWdBM0Fpd2dBMElBTndJMElBUWtCaUFERHdWQkFFRURRYm5ZQWlBRUVEMUJBUkFCQzBFQUM4Y0JBZ0ovQjMwQ2Z5TUdJUVlqQmtGQWF5UUdJQUFxQWd3Z0FDb0NMQ0lNSUFHVWt5RUpJQUFxQWlRaUJ5QUNsQ0FBS2dJVWt5RUtJQUFxQWlBaUNDQUNsQ0FBS2dJUWt5RUxJQWNnQVpRZ0FDb0NCSk1oQnlBSUlBR1VJQUFxQWdDVElRZ2dBQ29DSENFTklBd2dBcFFoQVFKQURBQUxJQTBnQVpNaEFTQUlJQXFVSUFjZ0M1U1RJZ0pEQUFBQUFGc0VmMEYvQlNBRElBb2dDWlFnQnlBQmxKTWdBcFU0QWdBZ0JDQUlJQUdVSUFzZ0NaU1RJQUtWT0FJQVFRQUxJUUFnQmdza0JpQUFDeWNCQVg4Z0FDZ0NBQ0lCQkg4Z0FSRGlBaUFBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMR2d2VkJnSVBmd0Y5SXdZaENTTUdRZEFBYWlRR0lBbEJQR29oQ0NBSlFUaHFJUVlnQ1VFMGFpRU9JQWxCTUdvaER5QUpRVUJySVJBQ2Z3SkFJQUFFZnlBQVFRaHFJQUVnQ1JENkFTQUlJQU1vQWdBaUJ5QUVRUlJzYWlnQ0NDSUJOZ0lBSUFZZ0JFRVViQ0FIYWlvQ0RDSVZPQUlBUVFBZ0NTQUJ2aUFWSUFnZ0JoRGxBVUVBU0FSL1FYOEZJQUJCdUFGcUloRWdDQ29DQUNBR0tnSUFJQTRnRHhCdFFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUWdnRHlvQ0FFTUFBQUEva2hCRElSSkJBQ0VFUVFBZ0JTZ0NFQ0lBYXlFS0lCSWdBRUVCZEdzaEMwRUFJUUZCQUNFQUlBVW9BaGdoQndOQUlBb2dCU2dDRkVvRVFDQUVJUWNNQlFVZ0M3SWhGVUVBSUFVb0FnZ2lCbXNoRENBSUlBWkJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdFU0FOc2lBVklBNGdEeENtQVVFQVNBUkFJQWRCZ0NBN0FRQUZJQWtnQWlnQ0FDQURLQUlJUVFKMGFpZ0NBQ0FPS2dJQUlBOHFBZ0FnRUJDQkJFRUFTQVJBSUFkQmdDQTdBUUFGSUFjZ0VDMEFBQ0lHT3dFQUlBUkJBV29oQkNBQklBWkIvd0Z4SWdZZ0JteHFJUUVnQUNBR2FpRUFDd3NnREVFQmFpRU1JQTFCQW1vaERTQUhRUUpxSVFjTUFRc0xJQXBCQVdvaENpQUxRUUpxSVFzTUFRc0FBQXNBQ3dzRklBZ2dBeWdDQUNJSElBUkJGR3hxS0FJSUlnQTJBZ0FnQmlBRVFSUnNJQWRxS2dJTUloVTRBZ0JCQUNBQklBQytJQlVnRGlBUEVPVUJRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVJFZ0R5b0NBRU1BQUFBL2toQkRJUk5CQUNBRktBSVFJZ0JySVFvZ0V5QUFRUUYwYXlFTFFRQWhCMEVBSVFSQkFDRUFJQVVvQWhnaEJnTkFJQW9nQlNnQ0ZFb0VRQ0FFSVFFTUJBVWdDN0loRlVFQUlBVW9BZ2dpQ0dzaERDQVJJQWhCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnQVNBQ0tBSUFJQU1vQWdoQkFuUnFLQUlBSUEyeUlCVWdFQkNCQkVFQVNBUkFJQVpCZ0NBN0FRQUZJQVlnRUMwQUFDSUlPd0VBSUFkQkFXb2hCeUFFSUFoQi93RnhJZ2dnQ0d4cUlRUWdBQ0FJYWlFQUN5QU1RUUZxSVF3Z0RVRUNhaUVOSUFaQkFtb2hCZ3dCQ3dzZ0NrRUJhaUVLSUF0QkFtb2hDd3dCQ3dBQUN3QUxDd3dCQ3lBSEJIOGdCU0FCSUFBZ0FHd2dCeEE1YTdLUkVFTTJBaHdnQlNBQU5nSWdJQVVnQnpZQ0pFRUFCVUYvQ3dzaEZDQUpKQVlnRkF1U0FRRURmeU1HSVFNakJrRVFhaVFHUVNnUVJDSUNSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQTBFSWFpRUVJQUlnQURZQ0VDQUNJQUEyQWdnZ0FpQUJOZ0lVSUFJZ0FUWUNEQ0FDSUFFZ0FFRUJhbW9pQURZQ0FDQUNJQUEyQWdRZ0FpQUFRUUYwSUFCc0VFUWlBRFlDR0NBQUJFQWdBeVFHSUFJUEJVRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQUw1d0lCQlg4Z0JDZ0NCQ0VOSUFGQkFYUWhDeUFFS0FJQUlRNGdCQ2dDR0NFS0lBQWdBaUFCSUFOc2Ftb2hBa0VBSVFBRFFDQU1JQTFJQkVCQkFDRURJQUloQVFOQUlBTWdEa2dFUUNBQUlBRXRBQUFnQ2k4QkFHeHFJUUFnQTBFQmFpRURJQXBCQW1vaENpQUJRUUpxSVFFTUFRc0xJQXhCQVdvaERDQUNJQXRxSVFJTUFRc0xJQTVCQVhRaUEwRUlhaUlDSUFoQmZtb2lBU0FOUVFGMGFtd2hDeUFESUFkQmZtb2lDbW9pQ0NBTGFpSUhRUUowSUFWcUtBSUFJQW9nQVNBQ2JDSUJhaUlEUVFKMElBVnFLQUlBYWlBS0lBdHFJZ0pCQW5RZ0JXb29BZ0JySUFFZ0NHb2lBVUVDZENBRmFpZ0NBR3NoQlNBSklBZEJBblFnQm1vb0FnQWdBMEVDZENBR2FpZ0NBR29nQWtFQ2RDQUdhaWdDQUdzZ0FVRUNkQ0FHYWlnQ0FHc2dCU0FGYkNBRUtBSWtJZ0lRT1dzaUFRUi9JQUFnQlNBRUtBSWdiQ0FDRURsclFlUUFiQ0FFS0FJY0VEbEI1QUJzSUFHeWtSQkRFRGtGUVFBTE5nSUFDN0VDQVFKL0lBTW9BZ0FpQndSQUFrQURRQUpBSUFnZ0IwNE5BQ0FJUVFKMElBWnFLQUlBSUFKSURRQWdDRUVCYWlFSURBRUxDeUFISUFoR0JFQWdCMEVEVHcwQklBZEJBblFnQkdvZ0FEWUNBQ0FIUVFKMElBVnFJQUUyQWdBZ0IwRUNkQ0FHYWlBQ05nSUFJQU1nQXlnQ0FFRUJhallDQUF3QkN5QUhRUU5HQkg5QkFnVWdBeUFIUVFGcU5nSUFJQWNMSVFNRFFDQURJQWhLQkVBZ0EwRUNkQ0FFYWlBRFFYOXFJZ2RCQW5RZ0JHb29BZ0EyQWdBZ0EwRUNkQ0FGYWlBSFFRSjBJQVZxS0FJQU5nSUFJQU5CQW5RZ0Jtb2dCMEVDZENBR2FpZ0NBRFlDQUNBSElRTU1BUXNMSUFOQkFuUWdCR29nQURZQ0FDQURRUUowSUFWcUlBRTJBZ0FnQTBFQ2RDQUdhaUFDTmdJQUN3VWdCQ0FBTmdJQUlBVWdBVFlDQUNBR0lBSTJBZ0FnQTBFQk5nSUFDd3VvRFFFY2Z5TUdJUXdqQmtIUUFHb2tCaUFNUVFocUlSTWdEQ0llUWNnQWFpRWJJQXhCUEdvaEhDQU1RVEJxSVIwZ0RFRWthaUVVSUF4QklHb2hGeUFNUVJocUlSOGdERUVRYWlFZ0lBVW9BaEFoSmlBRktBSVVJU1VnQWtGL2FpRVdJQU5CZjJvaEdBTkFBa0FnRVVFRFR3MEFJQkZCQTNRZ0NHb29BZ0FpREVFQVNBMEFJQXhCZkhGQkFuSWlEQ0FHYXlJTlFRQWdEVUVBU2hzaERTQUdJQXhxSWd3Z0ZpQU1JQUpJR3lFWklCRkJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzRnQjJzaERDQUhJQTVxSWc0Z0dDQU9JQU5JR3lFVklBeEJBQ0FNUVFCS0d5RU9BMEFnRGlBVlRBUkFJQUVnRFNJTUlBSWdEbXhxYWlFUEEwQWdEQ0FaVEFSQUlBOUJBRG9BQUNBTVFRRnFJUXdnRDBFQmFpRVBEQUVMQ3lBT1FRRnFJUTRNQVFzTElCRkJBV29oRVF3QkN3c2dHMEVBTmdJQUlDVkJBWFFoRUNBbVFRRjBJUkpCQVNFTVFRQWhEd0pBQWtBRFFBSkFJQTlCQTA4TkFpQVBRUU4wSUFocUtBSUFJZzFCQUVnTkFDQUhJQTlCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc1cUlSWWdEVUY4Y1VFQ2NpSU5JQVpySVJFZ0JpQU5haUVZSUE0Z0Iyc2hEZ05BQWtBZ0RpQVdTZzBBSUE0Z0VrNEVRQUpBSUE0Z0VHb2dBMDROQWlBQ0lBNXNJUmtnRVNFTkEwQWdEU0FZU2cwQklBMGdCU2dDQ0VFQmRFNEVRQ0FOSUFVb0FneEJBWFJxSUFKT0RRSWdBU0FOSUJscWFpSVZMQUFBUlFSQUlCVkJBVG9BQUNBQUlBSWdCQ0FGSUEwZ0RpQVhFSU1FSUEwZ0RpQVhLQUlBSUJzZ0hDQWRJQlFRcXdsQkFDRU1Dd3NnRFVFRWFpRU5EQUFBQ3dBTEN5QU9RUVJxSVE0TUFRc0xJQTlCQVdvaER3d0JDd3NnREVVTkFFRi9JUVlNQVFzZ0JTZ0NBRUVEZEVFZ2FpQUZLQUlFUVFGMFFRaHFiQ0lCRUVRaUVVVUVRRUVBUVFOQnVkZ0NJQjRRUFVFQkVBRUxJQUVRUkNJT1JRUkFRUUJCQTBHNTJBSWdFeEE5UVFFUUFRdEJBQ0VCUVFBaEVrRi9JUVlEUUNBU0lCc29BZ0JJQkVBQ1FBSkFJQVVvQWlRZ0JTZ0NBQ0lOSUFVb0FnUWlCMnhIRFFBQ1FDQUVRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dFa0VDZENBZGFpSWhLQUlBSWdoQmZXb2dCU2dDRUVFQmRHc2lHRUVBU0EwQUlBaEJBMm9nQlNnQ0ZFRUJkR29nQTA0TkFDQVNRUUowSUJ4cUlpSW9BZ0FpQ0VGOWFpQUZLQUlJUVFGMGF5SVpRUUJJRFFBZ0NFRURhaUFGS0FJTVFRRjBhaUFDVGcwQUlBZEJBWFJCQm1vaEl5QU5RUUowUVJCcUlROGdEaUVISUJFaENFRUFJUXdEUUNBTUlBOUlCRUFnQ0VFQU5nSUFJQWRCQURZQ0FDQUhRUVJxSVFjZ0NFRUVhaUVJSUF4QkFXb2hEQXdCQ3dzZ0RVRUJkRUVHYWlFa0lBQWdHU0FDSUJoc2Ftb2hFeUFPSVF3Z0VTRU5RUUFoRmdOQUlCWWdJMGdFUUNBSVFRaHFJU2NnQnlFUFFRQWhFQU5BSUJCQkFrY0VRQ0FJUVFBMkFnQWdEMEVBTmdJQUlCQkJBblFnSDJwQkFEWUNBQ0FRUVFKMElDQnFRUUEyQWdBZ0QwRUVhaUVQSUFoQkJHb2hDQ0FRUVFGcUlSQU1BUXNMSUJNaER5QU1RUWhxSVF3Z0RVRUlhaUVOSUFkQkNHb2hCeUFuSVFoQkFDRVVBMEFnRkNBa1NBUkFJQTh0QUFBZ0ZFRUJjU0lWUVFKMElCOXFJaG9vQWdCcUlSQWdHaUFRTmdJQUlBOHRBQUFpR2lBYWJDQVZRUUowSUNCcUlob29BZ0JxSVJVZ0dpQVZOZ0lBSUFnZ0VDQU5LQUlBYWpZQ0FDQUhJQlVnRENnQ0FHbzJBZ0FnRDBFQmFpRVBJQXhCQkdvaERDQU5RUVJxSVEwZ0IwRUVhaUVISUFoQkJHb2hDQ0FVUVFGcUlSUU1BUXNMSUFJZ0Uyb2hFeUFXUVFGcUlSWU1BUXNMUVFBaENBTkFJQWhCQjBjRVFDQUlJQmhxSVEwZ0NFRUNhaUVQSUFoQmZXb2hFMEVBSVF3RFFDQU1RUWRIQkVBZ0FDQUNJQXdnR1dvZ0RTQUZJQkVnRGlBTVFRSnFJQThnRnhDcUNTQVhLQUlBSWdjZ0FVb0VRQ0FKSUNJb0FnQWdERUY5YW1vMkFnQWdDaUFUSUNFb0FnQnFOZ0lBSUFzZ0I3SkRBRUFjUnBVNEFnQkJBQ0VHSUFjaEFRc2dERUVCYWlFTURBRUxDeUFJUVFGcUlRZ01BUXNMREFFTElCSkJBblFnSFdvb0FnQWlCMEVEYWlFTklCSkJBblFnSEdvaER5QUhRWDFxSVFnRFFDQUlJQTFLRFFFZ0NDQUZLQUlRUVFGMFRnUkFBa0FnQ0NBRktBSVVRUUYwYWlBRFRnMERJQThvQWdBaUIwRURhaUVUSUFkQmZXb2hEQU5BSUF3Z0Uwb05BU0FNSUFVb0FnaEJBWFJPQkVBZ0RDQUZLQUlNUVFGMGFpQUNUZzBDSUFBZ0FpQUVJQVVnRENBSUlCY1Fnd1FnRnlnQ0FDSUhJQUZLQkVBZ0NTQU1OZ0lBSUFvZ0NEWUNBQ0FMSUFleVF3QkFIRWFWT0FJQUlBY2hBVUVBSVFZTEN5QU1RUUZxSVF3TUFBQUxBQXNMSUFoQkFXb2hDQXdBQUFzQUN5QVNRUUZxSVJJTUFRc0xJQkVRT0NBT0VEZ0xJQjRrQmlBR0MzQUJBbjhnQUFSL0lBQkJBVFlDbUFFRFFDQURRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUJCQ0dvZ0EwRUVkR29nQWtFQ2RHb2dBMEVFZENBQmFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FFRi9OZ0tvQVVFQUJVRi9DeG9MeWdzQkczOGpCaUVCSXdaQjRBbHFKQVlnQVVIUUNXb2hGQ0FCUWNnSmFpRVZJQUZCdUFscUlRc2dBVUd3Q1dvaEZpQUJRYUFKYWlFTUlBRkJtQWxxSVJjZ0FVR0lDV29oRFNBQlFlZ0lhaUVZSUFGQjRBaHFJUThnQVVIWUNHb2hHU0FCUWRBSWFpRWFJQUZCeUFocUlSQWdBVUhBQ0dvaEd5QUJRYmdJYWlFUklBRkJzQWhxSVJJZ0FVR29DR29oQ1NBQlFhQUlhaUVLSUFGQm1BaHFJUTRnQVVHUUNHb2hBaUFCUVlnSWFpRUZJQUZCZ0FocUlRZ2dBVUdBQm1vaEJpQUJRWUFFYWlFSElBRkIxQWxxSVFRQ1FBSi9Ba0JCbnRJQ0xBQUFSUTBBUVo3U0FrR2UwZ0lRc3dGRkRRQWdDQ0FBTmdJQUlBaEJudElDTmdJRUlBRkJqN3dCSUFnUXZBRWdBVUdKdGdFUXNBRWlBd1IvUVFFTUFnVWdCU0FBTmdJQVFRQkJBMEdMdGdFZ0JSQTlRYVRGQXlnQ0FCQzlBU0VBSUFKQnA5VUROZ0lBSUFJZ0FEWUNCRUVBUVFOQnBiWUJJQUlRUFVFQUN5RVREQUlMSUFjZ0FFSC9BUkRWQVNBSFFRQTZBUDhCUVFBTElRQkI5QWdRUkNJRlJRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dCU0FBUVFCSElnNEVmeUFHSUFNUTVnRkZCRUFnQXhCcUlBVVFPQXdDQ3lBS0lBUTJBZ0FnQmtHcnRnRWdDaENEQVVFQlJ3UkFJQU1RYWlBRkVEZ01BZ3NnQkNnQ0FDSUFRUUZJQkg4Z0F4QnFJQVVRT0F3Q0JTQUFDd1ZCQVFzaUNqWUNCQ0FGUVFBMkFwZ0JJQVVnQ2tId0FHd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDMEVBSVFBQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUFOZ0lBSUFBZ0NrNE5CeUFTSUFCQkFXbzJBZ0JCQUVFQlFhNjJBU0FTRUQwZ0RnUkFJQVlnQXhEbUFVVU5DQ0FSSUFjMkFnQWdCa0hHdGdFZ0VSQ0RBVUVCUncwSUlBY1EvQVVMUVFCQkFVSEp0Z0VnR3hBOUlBY1F2d2toQUNBRUtBSUFRZkFBYkNBQ2FpQUFOZ0lBSUFCRkRRQkJBRUVCUWZxMkFTQWFFRDFCQUVFQlFZUzNBU0FaRUQwZ0J4Q3hDU0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBZ1FnQUVVTkFrRUFRUUZCK3JZQklCZ1FQU0FFS0FJQVFmQUFiQ0FDYWtFQU5nSUlJQTRFUUNBR0lBTVE1Z0ZGRFFnZ0RTQUVLQUlBSWdCQjhBQnNJQUpxUVF4cU5nSUFJQTBnQUVId0FHd2dBbXBCRUdvMkFnUWdEU0FBUWZBQWJDQUNha0VVYWpZQ0NDQU5JQUJCOEFCc0lBSnFRUmhxTmdJTUlBWkI3TGNCSUEwUWd3RkJCRWNOQkNBR0lBTVE1Z0ZGRFFnZ0RDQUVLQUlBSWdCQjhBQnNJQUpxUVJ4cU5nSUFJQXdnQUVId0FHd2dBbXBCSUdvMkFnUWdEQ0FBUWZBQWJDQUNha0VrYWpZQ0NDQU1JQUJCOEFCc0lBSnFRU2hxTmdJTUlBWkI3TGNCSUF3UWd3RkJCRWNOQlNBR0lBTVE1Z0ZGRFFnZ0N5QUVLQUlBSWdCQjhBQnNJQUpxUVN4cU5nSUFJQXNnQUVId0FHd2dBbXBCTUdvMkFnUWdDeUFBUWZBQWJDQUNha0UwYWpZQ0NDQUxJQUJCOEFCc0lBSnFRVGhxTmdJTUlBWkI3TGNCSUFzUWd3RkJCRWNOQmlBRUtBSUFJUUFGSUFRb0FnQWhBRUVBSVFnRFFDQUlRUU5IQkVCQkFDRUpBMEFnQ1VFRVJ3UkFJQUJCOEFCc0lBSnFRUXhxSUFoQkJIUnFJQWxCQW5ScVF3QUFnRDlEQUFBQUFDQUlJQWxHR3pnQ0FDQUpRUUZxSVFrTUFRc0xJQWhCQVdvaENBd0JDd3NMSUFCQjhBQnNJQUpxUVF4cUlBQkI4QUJzSUFKcVFUeHFFSjRHSUFjUWhRWkJnQUlRUkNFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQW13Z0FFVU5CaUFBSUFkQmdBSVExUUVnQkNnQ0FFRUJhaUVBREFFTEN5QVFJQWMyQWdCQkFFRURRZHUyQVNBUUVEMGdBaEE0SUFVUU9DQURSUTBISUFNUWFnd0hDeUFQSUFjMkFnQkJBRUVEUVppM0FTQVBFRDBnQkNnQ0FFSHdBR3dnQW1vUXVBa2dBaEE0SUFVUU9DQURSUTBHSUFNUWFnd0dDMEVBUVFOQitMY0JJQmNRUFNBREVHcEJBQkFCREFRTFFRQkJBMEg0dHdFZ0ZoQTlJQU1RYWtFQUVBRU1Bd3RCQUVFRFFmaTNBU0FWRUQwZ0F4QnFRUUFRQVF3Q0MwRUFRUU5CdWRnQ0lCUVFQVUVCRUFFTUFRc2dBd1JBSUFNUWFnc2dCQ2dDQUNBS1RnUkFJQVVoRXd3Q0MwRUFFQUVMQ3lBQkpBWWdFd3ROQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVFRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FCRURoQkFDRUJDeUFDSkFZZ0FRc3BBQ0FBSUFGQkEzUWdBR29nQWtFRGRDQUFhaUlCRUlRRUlBQWdBU0FEUVFOMElBQnFFSVFFa2d2SkJ3RVRmeU1HSVFJakJrR0FCV29rQmlBQ1FmQUVhaUVKSUFKQjZBUnFJUW9nQWtIZ0JHb2hDeUFDUWRnRWFpRU1JQUpCMEFScUlRMGdBa0hJQkdvaERpQUNRY0FFYWlFUElBSkJ1QVJxSVJBZ0FrR3dCR29oRVNBQ1FhZ0VhaUVTSUFKQm9BUnFJUVVnQWtHWUJHb2hCaUFDUVpBRWFpRUVJQUpCaUFScUlRRWdBa0dBQkdvaUF5QUFOZ0lBSUFOQm50SUNOZ0lFSUFKQmo3d0JJQU1RdkFFZ0FrR0l1UUVRc0FFaUF3UkFRUWdRUkNJQVJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc0NRQUpBSUFCQkJHcEJCRUVCSUFNUVlVRUJSZ1JBQWtBZ0FDQUFLQUlFSWhOQkZHd1FSQ0lHTmdJQUlBWkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDMEVBSVFVRFFBSkFJQVVnRTA0TkFpQUZRUlJzSUFacVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFTUlRRU1BUXNnQlVFVWJDQUdha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJEeUVCREFFTElBVkJGR3dnQm1wQkVHcEJCRUVCSUFNUVlVRUJSd1JBUVJFaEFRd0JDeUFGUVJSc0lBWnFJZ2hCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUk1oQVF3QkN5QUZRUlJzSUFacUlnY2dDQ2dDQkNJQlFSUnNFRVFpQkRZQ0FDQUVSUVJBUVJZaEFRd0JDMEVBSVFRRFFDQUVJQUZJQkVBZ0J5Z0NBQ0FFUVJSc2FrRUVRUUVnQXhCaFFRRkhCRUJCR1NFQkRBTUxJQWNvQWdBZ0JFRVViR3BCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUnNoQVF3REN5QUhLQUlBSUFSQkZHeHFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRWRJUUVNQXdzZ0J5Z0NBQ0FFUVJSc2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkh5RUJEQU1MSUFjb0FnQWdCRUVVYkdwQkVHcEJCRUVCSUFNUVlVRUJSZ1JBSUFSQkFXb2hCQ0FJS0FJRUlRRU1BZ1ZCSWlFQkRBTUxBQXNMSUFWQkFXb2hCUXdCQ3dzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCREdzT0Z3QUtDZ0VLQWdvRENnb0VDZ29GQ2dZS0J3b0lDZ29KQ2d0QkFFRURRZnUxQVNBU0VEME1DUXRCQUVFRFFmdTFBU0FSRUQwTUNBdEJBRUVEUWZ1MUFTQVFFRDBNQnd0QkFFRURRZnUxQVNBUEVEME1CZ3RCQUVFRFFibllBaUFPRUQxQkFSQUJEQVVMUVFCQkEwSDd0UUVnRFJBOURBUUxRUUJCQTBIN3RRRWdEQkE5REFNTFFRQkJBMEg3dFFFZ0N4QTlEQUlMUVFCQkEwSDd0UUVnQ2hBOURBRUxRUUJCQTBIN3RRRWdDUkE5QzBFQUlRRURRQ0FCSUFWSEJFQWdBVUVVYkNBR2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0JoQTREQUlMQlVFQVFRTkIrN1VCSUFZUVBRd0JDd3dCQ3lBQUVEaEJBQ0VBQ3lBREVHb0ZJQUVnQURZQ0FFRUFRUU5CNXJVQklBRVFQVUVBSVFBTElBSWtCaUFBQ3c4QUlBQW9BZ0JCaEFGcVFRRVFCZ3Y1RFFFUWZ5TUdJUXNqQmtIQUJtb2tCa0VFSVFsQktCQkVJZ2hCQURZQ0FDQUxRUmhxSWdkQkFFSG9BeEJGR2tFQUpBTkJQeUFMUVpnRWFpSU1FQkFoQmlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFoQkJCQjlJZ3BGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVLQ3lBTFFaQUVhaUVQSUF0QmlBUnFJUkFnQzBHQUJHb2hFUUovRUFjZ0NrRUJhMFVOQUJvZ0J5QUdOZ0lBSUF4QjhBQTJBZ0FnREVHRUFXcEJBU0FJUVFRUWp3UWhDQkFISVFsQkFDUURRUUFrQTBFQUlnVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJQVpCQVd0RkRRQWFRUUFMSVFVQ1FBSkFBa0FDUUFOQUFrQWdCUVJBUVFBa0EwSHhBQ0FIRUE4akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUVFoQkFFRURRYWkxQVNBUkVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXc05BUXdDQzBFQUpBTkJBU0FIUWRvQVFlZ0RFQnNqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURRU2NnQnlBQUVCd2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRREFuOUJFeUFIUVFFUUppRVNJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUNrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQlNBS1FRRnJSUTBDSUJKQkFVY0xCRUJCQUNRRFFRaEJBRUVEUWNLMUFTQVFFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRZkVBSUFjUUR5TURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmF3MEREQUlMUVFBa0EwSEFBQ0FIRUJBYUl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGclJRMEJJQWNvQWlRZ0J5Z0NIR3dpRENBSEtBSWdiQ0VGUVFBa0EwSEJBQ0FGRUJBaEJTTURJUVpCQUNRRElBWkJBRWNqQkVFQVIzRUVRQ0FHS0FJQUlBZ2dDUkI5SWdwRkJFQWdCaU1FRUFZTEl3UVFBd1ZCZnlFS0N4QUhJUVlnQ2tFQmEwVUVRQ0FHSVFVTUFnc2dCVVVFUUVFQUpBTkJDRUVBUVFOQnVkZ0NJQThRRVNNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYTBVTkFrRUFKQU5COFFBZ0J4QVBJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJEUVFNQWd0QkFDRU5BMEFnQnlnQ2pBRWdCeWdDZEVrRVFFRUFJUVlEUUNBR1FRVkhCRUFnQmtFQ2RDQUxhaUFGSUF3Z0JpQU5hbXhxTmdJQUlBWkJBV29oQmd3QkN3dEJBQ1FEUVJrZ0J5QUxRUVVRSVNFVEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpRGtVRVFDQUdJd1FRQmdzakJCQURCVUYvSVE0TEVBY2hCaUFPUVFGclJRUkFJQVloQlF3RUN5QVRJQTFxSVEwTUFRc0xRUUFrQTBIQ0FDQUhFQkFhSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJpQUtRUUZyUlFSQUlBWWhCUXdDQzBFQUpBTkI4UUFnQnhBUEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hGQ0FLUVFGckRRUWdGQ0VGREFFTEMwRUFJUVVNQXd0QkFDRUZEQUlMUVFBaEJRd0JDeUFCQkVBZ0FTQUhLQUljTmdJQUN5QUNCRUFnQWlBSEtBSWdOZ0lBQ3lBREJFQWdBeUFIS0FJa05nSUFDeUFFQkVBQ1FBSkFBa0FDUUNBSExBQ2lBaUlBUVFGckRnSUFBUUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5T0FJQURBVUxEQUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5UTF5UElrQ1VPQUlBREFRTERBRUxJQUJCL3dGeFFRSktCRUFnQnk0QnBBSkZCRUFnQnk0QnBnSkZCRUFnQkNBQVFmOEJjYkk0QWdBTUJRc0xDd3NnQkVNQUFBQUFPQUlBQ3dzZ0NCQTRJQXNrQmlBRkMvNFRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQkNnQ0FDSUdJUWNnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSklBRklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUhRUUpxSVFjZ0NVRUJhaUVKSUFWQkFtb2hCUXdCQ3dzZ0JpRUhRUUFoQ1NBQlFYOXFJaEZCQVhRZ0Jtb2hCUU5BSUFrZ0FrZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUpRUUZxSVFrZ0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hEa0VCSVF4QkFDRURJQUFnQkNnQ0JHb2hDU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FNSUJCT0RRSWdBeUVBUVFFaENnTkFJQW9nRVVnRVFDQU5MUUFBSUE0dEFBQktCRUFDUUNBSlFYODZBQUFnRWtFQmRDQUdhaUlETGdFQUlnVkJBRW9FUUNBR0lBVTdBUUFnQlVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQTBGK2FpNEJBQ0lGSVFnZ0JVRUFTaUVMSUFNdUFRSWlBMEVBVEFSQUlBc0VRQ0FHSUFVN0FRQWdDRUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NrZ0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBR1FYNXFMZ0VBSWdOQkFFb0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ01vQWdBZ0NrNE5BaUFESUFvMkFnQUZJQUJCLy84QlNnMEdJQVlnQUVFQmFpSURPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dBMEVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NqWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRElRQUxEQUVMSUFzRVFBSkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUdRWDVxTGdFQUlnVkJBRXdFUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZQ0EwQUJxSWdVb0FnQWdDa29FUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lBeUFNSUFNb0FnQnFOZ0lBQ3dVZ0JrRUFPd0VBSUFsQkFEb0FBQXNnRFVFQmFpRU5JQTVCQVdvaERpQUpRUUZxSVFrZ0NrRUJhaUVLSUFaQkFtb2hCZ3dCQ3dzZ0RVRUNhaUVOSUE1QkFtb2hEaUFNUVFGcUlRd2dBQ0VESUFsQkFtb2hDU0FHUVFScUlRWU1BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUZRUUVoQUVFQklRa2dCeUVHQTBBZ0NTQURUQVJBSUFrZ0JpZ0NBQ0lOUmdSQUlBQkJBV29oQndVZ0FDRUhJQTFCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQmlBQU5nSUFJQWNoQUNBSlFRRnFJUWtnQmtFRWFpRUdEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQlVFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRY0RRQ0FISUFCSUJFQWdCRUdNZ0FocUlBZEJBblFpQmtFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQmtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0JrRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dCa0VEY2tFQ2RHcEJBRFlDQUNBSFFRRnFJUWNNQVFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUJ5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQnlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUIwRURkR29pQmlBR0t3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQjBFQmNrRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUJrZ0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXRoQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVJRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUlBRkJDR29nQVVFTWFpQUJRUVJxSUFGQkVHb1Fzd2tpQURZQ0FDQUFSUVJBSUFFUU9FRUFJUUVMSUFJa0JpQUJDeUFBSUFFZ0FpQURyU0FFclVJZ2hvUWdCU0FHSUFCQkEzRkI2Z1pxRVNVQUN5a0JBWDRnQVNBQ3JTQURyVUlnaG9RZ0JDQUFRUU54UWFZRGFoRVVBQ0lGUWlDSXB4QURJQVduQzNZQkEzOGdBQVIvSUFBb0FnQWlBZ1IvQTBBZ0FpZ0NBQ0VESUFFZ0FpZ0NCRWdFUUNBQlFRSjBJQU5xS0FJQUtBSUFFRGdnQUNnQ0FDZ0NBQ0FCUVFKMGFpZ0NBQkE0SUFGQkFXb2hBU0FBS0FJQUlRSU1BUXNMSUFNUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTElBQWdBU0FDSUFNZ0JDQUZyU0FHclVJZ2hvUWdBRUVIY1VHZUEyb1JGUUFMQmdCQkZoQUNDd1lBUVJVUUFndVpCZ0VKZnlNR0lRa2pCa0V3YWlRR0lBa2hCa0VJRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQVpCSUdvaENDQUdRUmhxSVFJZ0JrRVFhaUVCSUFaQkNHb2hBd0pBQWtBQ1FDQUhRUVJxSWdSQkJFRUJJQUFRWVVFQlJ3MEFJQVFvQWdBaUJFRUJTQTBBSUFjZ0JFRUNkQkJFSWdNMkFnQWdBMFVFUUVFQVFRTkJ1ZGdDSUFFUVBVRUJFQUVMUVFBaEFRSkFBa0FEUUNBQklBUklCRUFnQVVFQ2RDQURha0VRRUVRaUJUWUNBQ0FGUlEwQ0lBRkJBV29oQVF3QkN3c01BUXRCQUVFRFFibllBaUFDRUQxQkFSQUJDMEVBSVFFQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0FTQUVUZzBHSUFGQkFuUWdBMm9pQWlnQ0FFRUVha0VFUVFFZ0FCQmhRUUZIRFFBZ0FpZ0NBRUVJYWtFRVFRRWdBQkJoUVFGSERRSWdBaWdDQUVFTWFrRUVRUUVnQUJCaFFRRkhEUU1nQWlnQ0FDSUZLQUlFSUFVb0FnaHNFRVFoQlNBQ0tBSUFJQVUyQWdBZ0JVVU5CQ0FCUVFGcUlRRWdBaWdDQUNJRktBSUFRUUVnQlNnQ0JDQUZLQUlJYkNBQUVHRWdBaWdDQUNJQ0tBSUVJQUlvQWdoc1JnMEJEQVVMQzBFQUlRSURRQ0FCSUFKSEJFQWdBa0VDZENBRGFpZ0NBQ2dDQUJBNElBSkJBV29oQWd3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBHSUFGQkFuUWdBMm9vQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5CU0FCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxRUUFoQWdOQUlBRWdBa2NFUUNBQ1FRSjBJQU5xS0FJQUtBSUFFRGdnQWtFQmFpRUNEQUVMQzBFQUlRRURRQ0FCSUFSR0RRUWdBVUVDZENBRGFpZ0NBQkE0SUFGQkFXb2hBUXdBQUFzQUMwRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTUFndEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkFpQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTElBQVFhZ3dCQ3lBREVEZ01BZ3NNQWd0QkFFRURRYmUwQVNBREVEMExJQWNRT0NBQUVHcEJBQ0VIQ3lBR0pBWWdCd3NHQUVFVEVBSUxCZ0JCRUJBQ0M0SUdBUTUvSXdZaEF5TUdRZUFBYWlRR0lBQVFZRUVHYWhCRUlnaEZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDeUFEUWNnQWFpRUpJQU5CUUdzaENpQURRVGhxSVF3Z0EwRXdhaUVOSUFOQktHb2hBaUFEUVNCcUlRUWdBMEVZYWlFQklBTkJFR29oQnlBRFFkQUFhaUVMSUFOQkNHb2lCaUFBTmdJQUlBWkJnYlFCTmdJRUlBaEIvTE1CSUFZUXZBRWdDRUdJdVFFUXNBRWhCU0FJRURnZ0JRUi9BbjlCQ0JCRUlnWkZCRUJCQUVFRFFibllBaUFCRUQxQkFSQUJDd0pBQWtBZ0JrRUVhaUlCUVFSQkFTQUZFR0ZCQVVjTkFDQUJLQUlBSWdkQkFVZ05BQ0FDSUFjMkFnQkJBRUVCUWRDMEFTQUNFRDBnQmlBSFFRSjBJZ1FRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBTkVEMUJBUkFCQ3lBQ1FSQVFSQ0lCTmdJQUlBRkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDeUFGRUxVSklnRkZCRUFnQ2lBQU5nSUFJQXBCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDaEE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQVVRK1FJZ0JSQzhDUXdEQ3lBQktBSUVRUUZIQkVBZ0NTQUFOZ0lBSUFsQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ1JBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFFUU9DQUZFR3BCQUF3REN5QUNLQUlBSWdBZ0FTZ0NDRFlDQkNBQUlBRW9BZ3cyQWdnZ0FDQUJLQUlRTmdJTUlBQWdBU2dDQURZQ0FDQUJFRGdnQlVFRUlBUnJRUUlROUFGQkFTRUVBa0FDUUFKQUEwQUNRQ0FFSUFkT0RRTWdDMEVFUVFFZ0JSQmhRUUZIRFFBZ0JFRUNkQ0FDYWlBQ0tBSUFJQXNxQWdBUXhBa2lBRFlDQUNBQVJRMENJQVJCQVdvaEJBd0JDd3RCQUNFQkEwQWdBU0FFUmcwRElBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VCQTBBZ0FTQUVSZzBDSUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUFzZ0JSQnFJQVlNQXdzZ0FoQTREQUVMUVFCQkEwRzN0QUVnQkJBOUN5QUdFRGdnQlJCcVFRQUxCU0FISUFBMkFnQWdCMEdCdEFFMkFnUkJBRUVEUVllMEFTQUhFRDFCQUFzaERpQURKQVlnRGdzSUFFRUVFQUpCQUFzSUFFRUNFQUpCQUFzUEFFRUJFQUpFQUFBQUFBQUFBQUFMRHdCQkFCQUNSQUFBQUFBQUFBQUFDNXdEQWhGL0FYMGpCaUVKSXdaQkVHb2tCaUFBS0FJRXNpQUJsQ0FBS2dJTUloT1ZFTHNCSVFvZ0FDZ0NDTElnQVpRZ0U1VVF1d0VoQzBFUUVFUWlCVVVFUUVFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVMSUFsQkNHb2hBeUFGSUFvMkFnUWdCU0FMTmdJSUlBVWdBVGdDRENBRklBb2dDMndRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dOQUlBWWdDMGdFUUNBQUtnSU1JaE1nQnJLVUlBR1ZFTHNCSVE4Z0V5QUdRUUZxSWdheWxDQUJsUkM3QVNFRUlBQW9BZ2dpQXlBRUlBUWdBMG9iSVJCQkFDRUhJQUloQkFOQUlBY2dDa2dFUUNBQUtnSU1JaE1nQjdLVUlBR1ZFTHNCSVJFZ0V5QUhRUUZxSWdleWxDQUJsUkM3QVNFQ0lBQW9BZ1FpRGlBQ0lBSWdEa29iSVJKQkFDRUNRUUFoQXlBUElRZ0RRQ0FJSUJCSUJFQWdBQ2dDQUNBUklnd2dDQ0FPYkdwcUlRMERRQ0FNSUJKSUJFQWdBaUFOTFFBQWFpRUNJQXhCQVdvaERDQU5RUUZxSVEwZ0EwRUJhaUVEREFFTEN5QUlRUUZxSVFnTUFRc0xJQVFnQWlBREVEazZBQUFnQkVFQmFpRUVEQUVMQ3lBRUlRSU1BUXNMSUFra0JpQUZDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VIaUJtb1JEUUFMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVIY1VIYUJtb1JEQUFMR0FBZ0FTQUNJQU1nQkNBRklBQkJQM0ZCbWdacUVRVUFDeFlBSUFFZ0FpQURJQVFnQUVFZmNVSDZCV29SQndBTEZBQWdBU0FDSUFNZ0FFRURjVUgyQldvUkJnQUxGQUFnQVNBQ0lBTWdBRUVCY1VIMEJXb1JHQUFMRkFBZ0FTQUNJQU1nQUVFQmNVSHlCV29SR1FBTERnQWdBRUVCY1VHcUEyb1JDd0FMSGdBZ0FTQUNJQU1nQkNBRklBWWdCeUFJSUFCQkQzRkJqZ05xRVE0QUN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUdHQTJvUkR3QUxrZ0VCQW44Z0FBUkFJQUJCaUxrQkVMQUJJZ0VFUUFKQUlBRkJBRUVDRVBRQklBRVErQUloQWlBQlFRQkJBQkQwQVNBQ1FRRnFFRVFpQUVVRVFDQUJFR3BCcE1VRFFUQTJBZ0JCQUNFQURBRUxJQUFnQWtFQklBRVFZVVVFUUNBQUVEZ2dBUkJxUVFBaEFBd0JDeUFBSUFKcVFRQTZBQUFnQVJCcUN3VkJBQ0VBQ3dWQnBNVURRUncyQWdCQkFDRUFDeUFBQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCUDNGQnhnSnFFUW9BQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCQTNGQndnSnFFUnNBQ3hnQUlBRWdBaUFESUFRZ0JTQUFRUjl4UWFJQ2FoRUlBQXNZQUNBQklBSWdBeUFFSUFVZ0FFRUhjVUdhQW1vUkV3QUxGZ0FnQVNBQ0lBTWdCQ0FBUVE5eFFZb0NhaEVKQUFzVUFDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFBc1NBQ0FCSUFJZ0FFRS9jVUdLQVdvUkFnQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUJjVUdJQVdvUklnQUxFQUFnQVNBQVFmOEFjVUVJYWhFQUFBc05BQ0FBUVFGeFFRWnFFUkFBQzg4QkFRVi9Jd1loQkNNR1FTQnFKQVlnQkVFUWFpRUdJQUZGUWRDRkFTZ0NBQ0FBU25KRkJFQWdBU3dBQUFSQUlBUWdBaWdDQURZQ0FFRUFRUUFnQVNBRUVLa0JJZ2NFUUNBQVFRUkpCSDhnQUVFQ2RFSEFGV29vQWdBUVlFRURhZ1ZCQUFzaUJTQUhha0VCYWhCRUlRTWdCUVJBSUFZZ0FFRUNkRUhBRldvb0FnQTJBZ0FnQXlBRlFRRnFRZDJ6QVNBR0VLTUNHZ3NnQXlBRmFpQUhRUUZxSUFFZ0FoQ3BBUnBCcElnQktBSUFJUUFnQXhCZ0lnRWdBMEVCSUFFZ0FCQ1RBVWNhSUFNUU9Bc0xDeUFFSkFZTEVRQWdBU0FDSUFCQkFYRkJCR29SSGdBTERBQWdBU0FBUVFOeEVSSUFDeWtBSUFCRUFBQUFBQUFBNEQrZ25DQUFSQUFBQUFBQUFPQS9vWnNnQUVRQUFBQUFBQUFBQUdZYkN4QUFJd05GQkVBZ0FDUURJQUVrQkFzTEt3QWdBRUgvQVhGQkdIUWdBRUVJZFVIL0FYRkJFSFJ5SUFCQkVIVkIvd0Z4UVFoMGNpQUFRUmgyY2d1UkJ3RUlmeUFBS0FJRUlnWkJlSEVoQWdKQUlBWkJBM0ZGQkVBZ0FVR0FBa2tOQVNBQ0lBRkJCR3BQQkVBZ0FpQUJhMEdNMVFNb0FnQkJBWFJOQkVBZ0FBOExDd3dCQ3lBQUlBSnFJUVFnQWlBQlR3UkFJQUlnQVdzaUFrRVBUUVJBSUFBUEN5QUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQkNBRUtBSUVRUUZ5TmdJRUlBRWdBaENRQkNBQUR3dEJ4TkVES0FJQUlBUkdCRUJCdU5FREtBSUFJQUpxSWdJZ0FVME5BU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJRElBSWdBV3NpQVVFQmNqWUNCRUhFMFFNZ0F6WUNBRUc0MFFNZ0FUWUNBQ0FBRHd0QndORURLQUlBSUFSR0JFQWdBa0cwMFFNb0FnQnFJZ01nQVVrTkFTQURJQUZySWdKQkQwc0VRQ0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBWEkyQWdRZ0FDQURhaUlESUFJMkFnQWdBeUFES0FJRVFYNXhOZ0lFQlNBQUlBTWdCa0VCY1hKQkFuSTJBZ1FnQUNBRGFpSUJJQUVvQWdSQkFYSTJBZ1JCQUNFQlFRQWhBZ3RCdE5FRElBSTJBZ0JCd05FRElBRTJBZ0FnQUE4TElBUW9BZ1FpQTBFQ2NRMEFJQUlnQTBGNGNXb2lCeUFCU1EwQUlBTkJBM1loQlNBRFFZQUNTUVJBSUFRb0FnZ2lBaUFFS0FJTUlnTkdCRUJCck5FRFFhelJBeWdDQUVFQklBVjBRWDl6Y1RZQ0FBVWdBaUFETmdJTUlBTWdBallDQ0FzRkFrQWdCQ2dDR0NFSUlBUWdCQ2dDRENJQ1JnUkFBa0FnQkVFUWFpSURRUVJxSWdVb0FnQWlBZ1JBSUFVaEF3VWdBeWdDQUNJQ1JRUkFRUUFoQWd3Q0N3c0RRQUpBSUFKQkZHb2lCU2dDQUNJSlJRUkFJQUpCRUdvaUJTZ0NBQ0lKUlEwQkN5QUZJUU1nQ1NFQ0RBRUxDeUFEUVFBMkFnQUxCU0FFS0FJSUlnTWdBallDRENBQ0lBTTJBZ2dMSUFnRVFDQUVLQUljSWdOQkFuUkIzTk1EYWlJRktBSUFJQVJHQkVBZ0JTQUNOZ0lBSUFKRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUF3REN3VWdDRUVRYWlJRElBaEJGR29nQXlnQ0FDQUVSaHNnQWpZQ0FDQUNSUTBDQ3lBQ0lBZzJBaGdnQkNnQ0VDSURCRUFnQWlBRE5nSVFJQU1nQWpZQ0dBc2dCQ2dDRkNJREJFQWdBaUFETmdJVUlBTWdBallDR0FzTEN3c2dCeUFCYXlJQ1FSQkpCRUFnQUNBR1FRRnhJQWR5UVFKeU5nSUVJQUFnQjJvaUFTQUJLQUlFUVFGeU5nSUVCU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0FDQUhhaUlESUFNb0FnUkJBWEkyQWdRZ0FTQUNFSkFFQ3lBQUR3dEJBQXUvQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lHQkg4Z0FDZ0NDRUgvLy8vL0IzRkJmMm9oQkNBQUtBSUVCVUVCSVFRZ0EwSC9BWEVMSVFNZ0JDQURheUFDU1FSQUlBQWdCQ0FDSUFOcUlBUnJJQU1nQTBFQUlBSWdBUkNTQkFVZ0FnUkFJQVlFZnlBQUtBSUFCU0FBQ3lJRUlBTkJBblJxSUFFZ0FoQ25BU0FDSUFOcUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN5QUZRUUEyQWdBZ0FVRUNkQ0FFYWlBRkVHNExDeUFGSkFZTHNBRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUJDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFrZ1FGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9rRUN5QUZRUUEyQWdBZ0FrRUNkQ0FEYWlBRkVHNGdBQ3dBQzBFQVNBUkFJQUFnQWpZQ0JBVWdBQ0FDT2dBTEN3c2dCU1FHQzdrQkFRUi9Jd1loQlNNR1FSQnFKQVlnQUN3QUN5SURRUUJJSWdZRWZ5QUFLQUlJUWYvLy8vOEhjVUYvYWlFRUlBQW9BZ1FGUVFvaEJDQURRZjhCY1FzaEF5QUVJQU5ySUFKSkJFQWdBQ0FFSUFJZ0Eyb2dCR3NnQXlBRFFRQWdBaUFCRUpRRUJTQUNCRUFnQXlBR0JIOGdBQ2dDQUFVZ0FBc2lCR29nQVNBQ0VLZ0JJQUlnQTJvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBVkJBRG9BQUNBQklBUnFJQVVRWHdzTElBVWtCZ3UzQVFFRWZ5TUdJUVFqQmtFUWFpUUdJQUVFUUNBQUxBQUxJZ05CQUVnRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFOQi93RnhJUUpCQ2dzaUJTQUNheUFCU1FSL0lBQWdCU0FCSUFKcUlBVnJJQUlnQWhEZEFpQUFMQUFMQlNBREMwRUFTQVIvSUFBb0FnQUZJQUFMSWdNZ0Ftb2dBVUVBRUpVRUlBRWdBbW9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFSQkFEb0FBQ0FCSUFOcUlBUVFYd3NnQkNRR0M2ME1BeUovQVg0Q2ZDTUdJUUlqQmtIZ0Uyb2tCaUFDUWRBVGFpRWFJQUpCeUJOcUlRNGdBa0c0RTJvaEN5QUNRYkFUYWlFUElBSkJxQk5xSVJBZ0FrR1lFMm9oRENBQ1FaQVRhaUVSSUFKQmlCTnFJUmNnQWtHQUUyb2hFaUFDUWZnU2FpRVlJQUpCOEJKcUlSTWdBa0hvRW1vaEZDQUNRZUFTYWlFSUlBSkIyQkpxSVFVZ0FrSFFFbW9oRlNBQ1FjZ1NhaUVESUFKQndCSnFJUW9nQWtHQUVtb2hCeUFDUVlBUWFpRUdJQUpCM0JOcUlSc2dBa0hZRTJvaERTQUNRZFFUYWlFY0lBQkJpYllCRUxBQklna0VRQUpBSUFZZ0NSRHBBU0FWSUEwMkFnQWdCa0dydGdFZ0ZSQ0RBVUVCUndSQUlBVWdBRFlDQUVFQVFRTkI0SzRCSUFVUVBTQUpFR3BCQUNFQURBRUxJQTBvQWdBaUJVSEFBbXdRUkNJRFJRUkFRUUJCQTBHNTJBSWdDQkE5UVFFUUFRc2dBVVVoSFVFQUlRb0NRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FGVGcwSElBWWdDUkRwQVNBRVFjQUNiQ0FEYWlFRklCUWdCRUhBQW13Z0Eyb2lDRUc0QW1vMkFnQWdGQ0FiTmdJRUlBUkJ3QUpzSUFOcUlBWkJ4YThCSUJRUWd3RkJBVVlFZnlBRklBZ3BBN2dDSWlTblFmLy9BWEZCQUNBa1FvQ0EvdjhQZzFBYk5nSUFRUUloQ0VFQkJTQWREUUVnQWlBQUVJNEdSUTBESUFJZ0JrSC9EeUFDRUdCckVPd0VJQVVnQVNBQ0VLb0RJZ1UyQWdBZ0JVRUFTQTBFUVFFaENFRUFDellDQkNBR0lBa1E2UUVnRnlBRVFjQUNiQ0FEYWlJV1FRaHFOZ0lBSUFaQjdiRUJJQmNRZ3dGQkFVY05CQ0FHSUFrUTZRRWdEQ0FFUWNBQ2JDQURha0VRYWlJWk5nSUFJQXdnQkVIQUFtd2dBMm9pSGtFWWFqWUNCQ0FNSUFSQndBSnNJQU5xUVNCcU5nSUlJQXdnQkVIQUFtd2dBMm9pSDBFb2FqWUNEQ0FHUWRxeUFTQU1FSU1CUVFSR0JIOUJBUVVnRUNBVk5nSUFJQkFnSERZQ0JDQUdRZXF5QVNBUUVJTUJRUUpIRFFaQkFBc2hCU0FJSUFweUlRb0RRQ0FHSUFrUTZRRWdDeUFFUWNBQ2JDQURha0VRYWlBRlFRVjBhallDQUNBTElBUkJ3QUpzSUFOcUlBVkJCWFJxUVJocU5nSUVJQXNnQkVIQUFtd2dBMm9nQlVFRmRHcEJJR28yQWdnZ0N5QUVRY0FDYkNBRGFpQUZRUVYwYWtFb2FqWUNEQ0FHUWRxeUFTQUxFSU1CUVFSSERRY2dCVUVCYWlJRlFRTkpEUUFMSUJrZ0JFSEFBbXdnQTJwQjhBQnFFS2tHSUFjZ0Zpc0RDQ0lsUkFBQUFBQUFBT0Mvb2lJbU9RTUFJQWNnSlVRQUFBQUFBQURnUDZJaUpUa0RDQ0FISUNVNUF4QWdCeUFsT1FNWUlBY2dKVGtESUNBSElDWTVBeWdnQnlBbU9RTXdJQWNnSmprRE9DQUVRY0FDYkNBRGFpRUlJQVJCd0FKc0lBTnFJUllnQkVIQUFtd2dBMm9oSUNBRVFjQUNiQ0FEYWlFaElBUkJ3QUpzSUFOcUlTSWdCRUhBQW13Z0Eyb2hJMEVBSVFVRFFDQUZRUVJIQkVBZ0JFSEFBbXdnQTJwQjBBRnFJQVZCR0d4cUlCOHJBeWdnR1NzREFDQUZRUVIwSUFkcUt3TUFJaWFpSUI0ckF4Z2dCVUVFZENBSGFpc0RDQ0lsb3FDZ09RTUFJQVJCd0FKc0lBTnFJQVZCR0d4cUlDQXJBMGdnSmlBSUt3TXdvaUFsSUJZckF6aWlvS0E1QTlnQklBUkJ3QUpzSUFOcUlBVkJHR3hxSUNNckEyZ2dKaUFoS3dOUW9pQWxJQ0lyQTFpaW9LQTVBK0FCSUFWQkFXb2hCUXdCQ3dzZ0JFRUJhaUVFSUEwb0FnQWhCUXdCQ3dzZ0V5QUFOZ0lBSUJNZ0JqWUNCRUVBUVFOQnpLOEJJQk1RUFF3R0N5QVlJQUEyQWdCQkFFRURRY3l3QVNBWUVEME1CUXNnRWlBQU5nSUFJQklnQWpZQ0JFRUFRUU5Cb0xFQklCSVFQUXdFQ3lBUklBQTJBZ0FnRVNBRVFRRnFOZ0lFUVFCQkEwSHhzUUVnRVJBOURBTUxJQThnQURZQ0FDQVBJQVJCQVdvMkFnUkJBRUVEUWZDeUFTQVBFRDBNQWdzZ0RpQUFOZ0lBSUE0Z0JFRUJhallDQkVFQVFRTkI4TElCSUE0UVBRd0JDeUFKRUdwQmlBRVFSQ0lBUlFSQVFRQkJBMEc1MkFJZ0doQTlRUUVRQVFzZ0FDQUROZ0lBSUFBZ0RTZ0NBRFlDQkNBQVFRQTJBb0FCSUFCQkFEWUNhQ0FLUVFOeFFRTkdCRUFnQUVFQ05nSnNCU0FLUVFGeEJFQWdBRUVBTmdKc0JTQUFRUUUyQW13TEN5QUFSQUFBQUFBQUFPQS9PUU53SUFCRUFBQUFBQUFBNEQ4NUEzZ01BUXNnQ1JCcUlBTVFPRUVBSVFBTEJTQUtJQUEyQWdCQkFFRURRYXV1QVNBS0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVFBaEFBc2dBaVFHSUFBTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNGSUFoQkFEc0JBQ0FNUVFBNkFBQUxJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxyZ0VCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRbEFRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPY0JHZ3NnQlVFQU9nQUFJQUlnQTJvZ0JSQmZJQUFzQUF0QkFFZ0VRQ0FBSUFJMkFnUUZJQUFnQWpvQUN3c0xJQVVrQmd0QUFRSi9RZGkxQWhCZ0lnSkJEV29RVVNJQklBSTJBZ0FnQVNBQ05nSUVJQUZCQURZQ0NDQUJRUXhxSWdGQjJMVUNJQUpCQVdvUVRCb2dBQ0FCTmdJQUN5NEFBMEFnQUNnQ0FFRUJSZzBBQ3lBQUtBSUFSUVJBSUFCQkFUWUNBQ0FCUWJ3RUVRRUFJQUJCZnpZQ0FBc0xWQUVCZnlBQUtBSUlCRUFnQUNBQUtBSUlJZ0ZCZjJvMkFnZ2dBVVVFUUNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQlNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3hzQUlBQWdBU2dDQUNJQU5nSUFJQUFnQUNnQ0JFRUJhallDQkF0T0FRTi9JQUlnQVd0QkFuWWhCeUFCSVFBRFFDQUFJQUpIQkVBZ0JDQUFLQUlBSWdaQi93RnhJQU1nQmtHQUFVa2JPZ0FBSUFSQkFXb2hCQ0FBUVFScUlRQU1BUXNMSUFkQkFuUWdBV29MRVFBZ0FVSC9BWEVnQWlBQlFZQUJTUnNMS1FBRFFDQUJJQUpIQkVBZ0F5QUJMQUFBTmdJQUlBTkJCR29oQXlBQlFRRnFJUUVNQVFzTElBSUxDZ0FnQVVFWWRFRVlkUXRCQUFOQUlBRWdBa2NFUUNBQklBRW9BZ0FpQUVHQUFVa0VmMEcwaUFFb0FnQWdBU2dDQUVFQ2RHb29BZ0FGSUFBTE5nSUFJQUZCQkdvaEFRd0JDd3NnQWdzZUFDQUJRWUFCU1FSL1FiU0lBU2dDQUNBQlFRSjBhaWdDQUFVZ0FRc0xuUXdDQW44VWZDQUFLd01JSWdvZ0FDc0RLQ0lMb2lBQUt3TVFJZ2tnQUNzRElDSVFvcUVoQkNBSklBQXJBeGdpRGFJZ0FDc0RBQ0lJSUF1aW9TRUhJQWdnRUtJZ0NpQU5vcUVpQXlBRG9pQUVJQVNpSUFjZ0I2S2dvSjhpQlVRQUFBQUFBQUFBQUdJRVFDQURJQVdqSVFZZ0NDQUhJQVdqSWhHaUlnTWdDaUFFSUFXaklnK2lJaE9oSWhKRUFBQUFBQUFBQUFCaUJId2dEeUVFSUFnaEJTQUtJUTRnRVNFSElBa0ZJQWtnQ2lBSUlBYWlJQWtnRDZLaFJBQUFBQUFBQUFBQVlpSUJHeUVPUVFGQkFpQUJHeUVDSUE0Z0R5QUdJQUViSWdTaUloSWhFeUFJSUFrZ0FSc2lCU0FHSUJFZ0FSc2lCNklpQXlBU29TRVNJQkVnRHlBQkd5RUdJQW9nQ0NBQkd3c2hEQ0FJSUEyaUlBb2dFS0tnSUFrZ0M2S2dJZ2lhSUFnZ0NFUUFBQUFBQUFBQUFHTWJJZ2hFQUFBQUFBQUE4RCtnbjBRQUFBQUFBQUR3UHlBSW9aK2dSQUFBQUFBQUFPQS9vaUVVSUJKRUFBQUFBQUFBQUFCaUJFQWdEaUFHb2lBTUlBZWlvU0FTb3lJT0lBNmlJQVVnQnFJZ0RDQUVvcUVnRXlBRG9TSURveUlJSUFpaW9FUUFBQUFBQUFEd1A2QWhDaUFPSUJRZ0I2SWdFcU1pQmFJZ0NDQVVJQVNpSUFPaklnbWlvQ0lQSUEraUlBb2dCU0FGb2lBSklBbWlvRVFBQUFBQUFBRHd2NkNpb1NJRFJBQUFBQUFBQUFBQVkwVUVRQ0FGSUE0Z0E1OGlEQ0FQb1NBS295SVJvcUFoQXlBSklBZ2dFYUtnSVJJZ0JTQU9JQSthSUF5aElBcWpJZ3Fpb0NFRklBa2dDQ0FLb3FBaENDQU5BbndDUUFKQUFrQWdBa0VEY1VFQmF3NENBQUVDQ3lBSUlRNGdDaUVJSUFVaENpQVNJUThnRVNFU0lBTWhFU0FFSVFNZ0J5RUVJQVlNQWdzZ0JTRU9JQU1oRHlBR0lRTWdCd3dCQ3lBS0lRNGdCU0VLSUJFaER5QURJUkVnQkNFRElBWWhCQ0FIQ3lJRm9pSVZJQkFnQTZJaUZxRWlFMFFBQUFBQUFBQUFBR0lFZnlBRElRY2dEU0VKSUJBaERDQUZJUVpCQUFVZ0N5QVFJQTBnQktJZ0N5QURvcUZFQUFBQUFBQUFBQUJpSWdFYklRd2dEU0FMSUFFYklna2dCQ0FGSUFFYklnYWlJZ3NoRlNBTUlBTWdCQ0FCR3lJSG9pSUVJUllnQ3lBRW9TRVRJQkFnRFNBQkd5RUxJQVVnQXlBQkd5RUVRUUZCQWlBQkd3c2hBaUFUUkFBQUFBQUFBQUFBWWdSQUlBd2dCS0lnQ3lBR29xRWdFNk1pQXlBRG9pQUpJQVNpSUFzZ0I2S2hJQllnRmFFaUJhTWlCQ0FFb3FCRUFBQUFBQUFBOEQrZ0lRMGdBeUFVSUFhaUlCT2pJZ2FpSUFRZ0ZDQUhvaUFGb3lJSG9xQWlDeUFMb2lBTklBWWdCcUlnQnlBSG9xQkVBQUFBQUFBQThMK2dvcUVpQlVRQUFBQUFBQUFBQUdORkJFQWdCaUFESUFXZkloQWdDNkVnRGFNaUNhS2dJUXdnQnlBRUlBbWlvQ0VGSUFZZ0F5QUxtaUFRb1NBTm95SURvcUFoQmlBSElBUWdBNktnSVFjQ1FBSkFBa0FDUUNBQ1FRTnhRUUZyRGdJQUFRSUxJQWNoQkNBRElRY2dCaUVESUFVaEJpQUpJUVVnRENFSkRBSUxJQVloQkNBTUlRWU1BUXNnQXlFRUlBWWhBeUFKSVFZZ0RDRUpDeUFLSUFtaUlBZ2dCYUtnSUE0Z0JxS2dJZ3lhSUF3Z0RFUUFBQUFBQUFBQUFHTWJJUXdnQ2lBRG9pQUlJQWVpb0NBT0lBU2lvQ0lObWlBTklBMUVBQUFBQUFBQUFBQmpHeUVOSUJFZ0NhSWdFaUFGb3FBZ0R5QUdvcUFpQzVvZ0N5QUxSQUFBQUFBQUFBQUFZeHNpQ3lBUklBT2lJQklnQjZLZ0lBOGdCS0tnSWhDYUlCQWdFRVFBQUFBQUFBQUFBR01iSWhCakJFQWdDeUFNWXdSQUlBc2dEV01FUUNBQUlCRTVBd0FnQUNBU09RTUlJQUFnRHprREVDQUFJQWs1QXhnZ0FDQUZPUU1nSUFBZ0Jqa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0FDQURPUU1ZSUFBZ0J6a0RJQ0FBSUFRNUF5Z0xCU0FBSUFvNUF3QWdBQ0FJT1FNSUlBQWdEamtERUNBTUlBMWpCRUFnQUNBSk9RTVlJQUFnQlRrRElDQUFJQVk1QXlnRklBQWdBemtER0NBQUlBYzVBeUFnQUNBRU9RTW9Dd3NGSUJBZ0RHTUVRQ0FRSUExakJFQWdBQ0FST1FNQUlBQWdFamtEQ0NBQUlBODVBeEFGSUFBZ0Nqa0RBQ0FBSUFnNUF3Z2dBQ0FPT1FNUUN5QUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0RDQU5Zd1JBSUFBZ0NUa0RHQ0FBSUFVNUF5QWdBQ0FHT1FNb0JTQUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQXNMQ3dzTEN3c0xDMEVBQTBBZ0FTQUNSd1JBSUFFZ0FTZ0NBQ0lBUVlBQlNRUi9RYVNLQVNnQ0FDQUJLQUlBUVFKMGFpZ0NBQVVnQUFzMkFnQWdBVUVFYWlFQkRBRUxDeUFDQ3g0QUlBRkJnQUZKQkg5QnBJb0JLQUlBSUFGQkFuUnFLQUlBQlNBQkN3dEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJUdzBBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054QkVBZ0FrRUVhaUVDREFJTEN3c2dBZ3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCU1FSQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeERRRUxJQUpCQkdvaEFnd0JDd3NnQWd0R0FBTkFJQUVnQWtjRVFDQURJQUVvQWdCQmdBRkpCSDlCb0lvQktBSUFJQUVvQWdCQkFYUnFMd0VBQlVFQUN6c0JBQ0FEUVFKcUlRTWdBVUVFYWlFQkRBRUxDeUFDQ3lrQUlBSkJnQUZKQkg4Z0FVR2dpZ0VvQWdBZ0FrRUJkR291QVFCeFFmLy9BM0ZCQUVjRlFRQUxDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhNb2dGQnpLSUJFTFFCRU1zQkN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSGtvZ0ZCNUtJQkVMUUJFTXNCQ3d3QUlBQWdBVUVRYWhEZUFnc0hBQ0FBS0FJTUN3Y0FJQUFvQWdnTEN3QWdBQkNaQkNBQUVEZ0xIZ0FnQUVJQU53SUFJQUJCQURZQ0NDQUFRWTJqQTBHTm93TVFZQkIrQ3g0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVHVG93TkJrNk1ERUdBUWZnc01BQ0FBSUFGQkRHb1EzZ0lMQndBZ0FDd0FDUXNIQUNBQUxBQUlDd3NBSUFBUW1nUWdBQkE0Q3lvQkFYeEJmeUFBS3dNQUlBRXJBd0NoSWdKRUFBQUFBQUFBQUFCa0lBSkVBQUFBQUFBQUFBQmpHd3N6QUFOQUlBRWdBa2NFUUNBRUlBRXNBQUFpQUNBRElBQkJmMG9iT2dBQUlBUkJBV29oQkNBQlFRRnFJUUVNQVFzTElBSUxFZ0FnQVNBQ0lBRkJHSFJCR0hWQmYwb2JDeWtBQTBBZ0FTQUNSd1JBSUFNZ0FTd0FBRG9BQUNBRFFRRnFJUU1nQVVFQmFpRUJEQUVMQ3lBQ0N3UUFJQUVMUkFBRFFDQUJJQUpIQkVBZ0FTQUJMQUFBSWdCQmYwb0VmMEcwaUFFb0FnQWdBU3dBQUVFQ2RHb29BZ0JCL3dGeEJTQUFDem9BQUNBQlFRRnFJUUVNQVFzTElBSUxMUUFnQVVFWWRFRVlkVUYvU2dSL1FiU0lBU2dDQUNBQlFSaDBRUmgxUVFKMGFpZ0NBRUgvQVhFRklBRUxDMFFBQTBBZ0FTQUNSd1JBSUFFZ0FTd0FBQ0lBUVg5S0JIOUJwSW9CS0FJQUlBRXNBQUJCQW5ScUtBSUFRZjhCY1FVZ0FBczZBQUFnQVVFQmFpRUJEQUVMQ3lBQ0N5c0FJQUZCR0hSQkdIVkJmMG9FZjBHa2lnRW9BZ0FnQVVIL0FYRkJBblJxS0FJQVFmOEJjUVVnQVFzTEN3QWdBQkNiQkNBQUVEZ0xOd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBRWdBRUVRYWtZRVFDQUFRUUE2QUlBQkJTQUFLQUlJR2lBQkVEZ0xDd3NMQUNBQUVKd0VJQUFRT0F1UUJnRUNmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUxnRUFJZ1pCLy84RGNTSURRZi8vd3dCTEJFQkJBaUVBREFFTElBWkIvLzhEY1VHQUFVZ0VRQ0FFSUFVb0FnQWlBR3RCQVVnRVFFRUJJUUFNQWdzZ0JTQUFRUUZxTmdJQUlBQWdCam9BQUFVQ1FDQUdRZi8vQTNGQmdCQklCRUFnQkNBRktBSUFJZ0JyUVFKSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CQm5aQndBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFL2NVR0FBWEk2QUFBTUFRc2dCa0gvL3dOeFFZQ3dBMGdFUUNBRUlBVW9BZ0FpQUd0QkEwZ0VRRUVCSVFBTUJBc2dCU0FBUVFGcU5nSUFJQUFnQTBFTWRrSGdBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFRWjJRVDl4UVlBQmNqb0FBQ0FGSUFVb0FnQWlBRUVCYWpZQ0FDQUFJQU5CUDNGQmdBRnlPZ0FBREFFTElBWkIvLzhEY1VHQXVBTk9CRUFnQmtILy93TnhRWURBQTBnRVFFRUNJUUFNQkFzZ0JDQUZLQUlBSWdCclFRTklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkRIWkI0QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRUdka0UvY1VHQUFYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVQ5eFFZQUJjam9BQUF3QkN5QUJJQUJyUVFSSUJFQkJBU0VBREFNTElBQkJBbW9oQmlBQUx3RUNJZ0JCZ1BnRGNVR0F1QU5IQkVCQkFpRUFEQU1MSUFRZ0JTZ0NBR3RCQkVnRVFFRUJJUUFNQXdzZ0FFSC9CM0VnQTBIQUIzRWlCMEVLZEVHQWdBUnFJQU5CQ25SQmdQZ0RjWEp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQUlnQmpZQ0FDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBZEJCblpCQVdvaUJrRUNka0h3QVhJNkFBQWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdRUVIwUVRCeElBTkJBblpCRDNGeVFZQUJjam9BQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFOQkJIUkJNSEVnQUVFR2RrRVBjWEpCZ0FGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMQ3lBQ0lBSW9BZ0JCQW1vaUFEWUNBQXdCQ3dzZ0FBdThCZ0VGZnlBQ0lBQTJBZ0FnQlNBRE5nSUFBMEFDUUNBQ0tBSUFJZ01nQVU4RVFFRUFJUUFNQVFzZ0JTZ0NBQ0lJSUFSUEJFQkJBU0VBREFFTElBTXNBQUFpQmtIL0FYRWlDVUgvLzhNQVN3UkFRUUloQUF3QkN5QUNJQVpCZjBvRWZ5QUlJQVpCL3dGeE93RUFJQU5CQVdvRkFuOGdCa0gvQVhGQndnRklCRUJCQWlFQURBTUxJQVpCL3dGeFFlQUJTQVJBSUFFZ0EydEJBa2dFUUVFQklRQU1CQXNnQXkwQUFTSUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc2dDVUVHZEVIQUQzRWdBRUUvY1hJaUFFSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFQ2Fnd0JDeUFHUWY4QmNVSHdBVWdFUUNBQklBTnJRUU5JQkVCQkFTRUFEQVFMSUFNc0FBRWhCeUFETFFBQ0lRQUNRQUpBQWtBZ0JrRmdheUlHQkVBZ0JrRU5SZ1JBREFJRkRBTUxBQXNnQjBIZ0FYRkJvQUZIQkVCQkFpRUFEQWNMREFJTElBZEI0QUZ4UVlBQlJ3UkFRUUloQUF3R0N3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CUXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdFQ3lBQVFUOXhJQWxCREhRZ0IwRS9jVUVHZEhKeUlnQkIvLzhEY1VILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVEYWd3QkN5QUdRZjhCY1VIMUFVNEVRRUVDSVFBTUF3c2dBU0FEYTBFRVNBUkFRUUVoQUF3REN5QURMQUFCSVFjZ0F5MEFBaUVBSUFNdEFBTWhBd0pBQWtBQ1FBSkFJQVpCY0dzT0JRQUNBZ0lCQWdzZ0IwSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0JFQkJBaUVBREFZTERBSUxJQWRCOEFGeFFZQUJSd1JBUVFJaEFBd0ZDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3REN5QURRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dCQ0FJYTBFRVNBUkFRUUVoQUF3REN5QURRVDl4SWdZZ0FFRUdkQ0lLUWNBZmNTQUhRZjhCY1NJRFFReDBRWURnRDNFZ0NVRUhjU0lIUVJKMGNuSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBZ2dBMEVFZGtFRGNTQUhRUUowY2tFR2RFSEEvd0JxSUFOQkFuUkJQSEVnQUVFRWRrRURjWEp5UVlDd0EzSTdBUUFnQlNBSVFRSnFOZ0lBSUFnZ0JpQUtRY0FIY1hKQmdMZ0RjanNCQWlBQ0tBSUFRUVJxQ3dzMkFnQWdCU0FGS0FJQVFRSnFOZ0lBREFFTEN5QUFDNU1FQVFkL0lBRWhCeUFBSVFFRFFBSkFJQUVnQjBrZ0JpQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTSUlRZi8vd3dCTERRQWdBMEYvU2dSL0lBRkJBV29GQW44Z0EwSC9BWEZCd2dGSURRSWdBMEgvQVhGQjRBRklCRUFnQnlBQmEwRUNTQTBESUFFdEFBRWlCRUhBQVhGQmdBRkhJQWhCQm5SQndBOXhJQVJCUDNGeVFmLy93d0JMY2cwRElBRkJBbW9NQVFzZ0EwSC9BWEZCOEFGSUJFQWdCeUFCYTBFRFNBMERJQUVzQUFFaEJDQUJMUUFDSVFVQ1FBSkFBa0FnQTBGZ2F5SURCRUFnQTBFTlJnUkFEQUlGREFNTEFBc2dCRUhnQVhGQm9BRkhEUVlNQWdzZ0JFSGdBWEZCZ0FGSERRVU1BUXNnQkVIQUFYRkJnQUZIRFFRTElBVkJ3QUZ4UVlBQlJ5QUZRVDl4SUFoQkRIUkJnT0FEY1NBRVFUOXhRUVowY25KQi8vL0RBRXR5RFFNZ0FVRURhZ3dCQ3lBSElBRnJRUVJJSUFJZ0JtdEJBa2x5SUFOQi93RnhRZlVCVG5JTkFpQUJMQUFCSVFVZ0FTMEFBaUVFSUFFdEFBTWhDUUpBQWtBQ1FBSkFJQU5CY0dzT0JRQUNBZ0lCQWdzZ0JVSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0RRVU1BZ3NnQlVId0FYRkJnQUZIRFFRTUFRc2dCVUhBQVhGQmdBRkhEUU1MSUFsQndBRnhRWUFCUnlBSlFUOXhJQVJCQm5SQndCOXhJQWhCRW5SQmdJRHdBSEVnQlVFL2NVRU1kSEp5Y2tILy84TUFTM0lnQkVIQUFYRkJnQUZIY2cwQ0lBWkJBV29oQmlBQlFRUnFDd3NoQVNBR1FRRnFJUVlNQVFzTElBRWdBR3NMQ3dBZ0FpQURJQVFRa3dvTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1NDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDUkNpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xDd0FnQUJDZUJDQUFFRGdMS2dFQmZ5QUFLQUlJSWdBRVFDQUFFR0loQVJDYkF5RUFJQUVFUUNBQkVHSWFDd1ZCQVNFQUN5QUFDM01CQkg4Z0F5RUZBMEFDUUNBQ0lBVkdJQVlnQkU5eURRQWdBQ2dDQ0JCaUlRZEJBQ0FDSUFVZ0Ftc2dBVUhJeFFNZ0FSc1Exd0VoQXlBSEJFQWdCeEJpR2dzQ1FBSkFJQU5CZm1zT0F3SUNBQUVMUVFFaEF3c2dCa0VCYWlFR0lBTWdDR29oQ0NBQ0lBTnFJUUlNQVFzTElBZ0xVQUVFZnlBQUtBSUlFR0loQVFKL0l3WWhBeU1HUVJCcUpBWWdBd3NrQmlBQkJFQWdBUkJpR2dzZ0FDZ0NDQ0lBQkg4Z0FCQmlJUUFRbXdNaEJDQUFCRUFnQUJCaUdnc2dCRUVCUmdWQkFRc0xtQUVCQW44akJpRUZJd1pCRUdva0JpQUVJQUkyQWdBZ0FDZ0NDQkJpSVFJZ0JTSUFRUUFRbmdFaEFTQUNCRUFnQWhCaUdnc2dBVUVCYWtFQ1NRUi9RUUlGSUFGQmYyb2lBU0FESUFRb0FnQnJTd1IvUVFFRkEzOGdBUVIvSUFBc0FBQWhBaUFFSUFRb0FnQWlBMEVCYWpZQ0FDQURJQUk2QUFBZ0FFRUJhaUVBSUFGQmYyb2hBUXdCQlVFQUN3c0xDeUVHSUFVa0JpQUdDL2tEQVFaL0l3WWhEQ01HUVJCcUpBWWdEQ0VKSUFJaENBTkFBa0FnQXlBSVJnUkFJQU1oQ0F3QkN5QUlMQUFBQkVBZ0NFRUJhaUVJREFJTEN3c2dCeUFGTmdJQUlBUWdBallDQUNBR0lRb2dDQ0VHQWtBQ1FBSkFBMEFDUUNBQ0lBTkdJQVVnQ2taeURRTWdDU0FCS1FJQU53TUFJQUFvQWdnUVlpRUlJQVVnQkNBR0lBSnJJQW9nQld0QkFuVWdBUkR3QkNFTElBZ0VRQ0FJRUdJYUN5QUxRWDlHRFFBZ0J5QUhLQUlBSUF0QkFuUnFJZ1UyQWdBZ0JTQUtSZzBDSUFRb0FnQWhBaUFESUFaR0JFQWdBeUVHQlNBQUtBSUlFR0loQmdKL0lBVWdBa0VCSUFFUTF3RWhEU0FHQkVBZ0JoQmlHZ3NnRFFzRVFFRUNJUUFNQmdzZ0J5QUhLQUlBUVFScU5nSUFJQVFnQkNnQ0FFRUJhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHTEFBQUJFQWdCa0VCYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzQ1FBSkFBMEFDUUNBSElBVTJBZ0FnQWlBRUtBSUFSZzBESUFBb0FnZ1FZaUVJSUFVZ0FpQUdJQUpySUFrUTF3RWhBU0FJQkVBZ0NCQmlHZ3NDUUFKQUlBRkJmbXNPQXdRQ0FBRUxRUUVoQVFzZ0FTQUNhaUVDSUFjb0FnQkJCR29oQlF3QkN3c2dCQ0FDTmdJQVFRSWhBQXdFQ3lBRUlBSTJBZ0JCQVNFQURBTUxJQVFnQWpZQ0FDQUNJQU5ISVFBTUFnc2dCQ2dDQUNFQ0N5QUNJQU5ISVFBTElBa2tCaUFBQzVnRUFRWi9Jd1loRFNNR1FSQnFKQVlnRFNJS1FRaHFJUXNnQWlFSUEwQUNRQ0FESUFoR0JFQWdBeUVJREFFTElBZ29BZ0FFUUNBSVFRUnFJUWdNQWdzTEN5QUhJQVUyQWdBZ0JDQUNOZ0lBSUFZaENTQUlJUVlDUUFKQUFrQURRQUpBSUFJZ0EwWWdCU0FKUm5JTkF5QUtJQUVwQWdBM0F3QWdBQ2dDQ0JCaUlRZ2dCU0FFSUFZZ0FtdEJBblVnQ1NBRmF4RG9CQ0VNSUFnRVFDQUlFR0lhQ3dKQUFrQWdERUYvYXc0Q0FnQUJDMEVCSVFBTUJRc2dCeUFNSUFjb0FnQnFJZ1UyQWdBZ0JTQUpSZzBDSUFNZ0JrWUVRQ0FESVFZZ0JDZ0NBQ0VDQlNBQUtBSUlFR0loQlNBTFFRQVFuZ0VoQWlBRkJFQWdCUkJpR2dzZ0FrRi9SZ1JBUVFJaEFBd0dDeUFDSUFrZ0J5Z0NBR3RMQkVCQkFTRUFEQVlMSUFzaEJRTkFJQUlFUUNBRkxBQUFJUVlnQnlBSEtBSUFJZ2hCQVdvMkFnQWdDQ0FHT2dBQUlBVkJBV29oQlNBQ1FYOXFJUUlNQVFzTElBUWdCQ2dDQUVFRWFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdLQUlBQkVBZ0JrRUVhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NnQnlBRk5nSUFBMEFDUUNBQ0lBUW9BZ0JHRFFBZ0FpZ0NBQ0VESUFBb0FnZ1FZaUVCSUFVZ0F4Q2VBU0VESUFFRVFDQUJFR0lhQ3lBRFFYOUdEUUFnQnlBRElBY29BZ0JxSWdVMkFnQWdBa0VFYWlFQ0RBRUxDeUFFSUFJMkFnQkJBaUVBREFJTElBUW9BZ0FoQWdzZ0FpQURSeUVBQ3lBS0pBWWdBQXNSQUNBRElBSnJJZ0FnQkNBQUlBUkpHd3VQQXdFQmZ5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBS0FJQUlnQkJnSEJ4UVlDd0EwWWdBRUgvLzhNQVMzSUVRRUVDSVFBTUFRc2dBRUdBQVVrRVFDQUVJQVVvQWdBaUEydEJBVWdFUUVFQklRQU1BZ3NnQlNBRFFRRnFOZ0lBSUFNZ0FEb0FBQVVDUUNBQVFZQVFTUVJBSUFRZ0JTZ0NBQ0lEYTBFQ1NBUkFRUUVoQUF3RUN5QUZJQU5CQVdvMkFnQWdBeUFBUVFaMlFjQUJjam9BQUF3QkN5QUVJQVVvQWdBaUEyc2hCaUFBUVlDQUJFa0VRQ0FHUVFOSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCREhaQjRBRnlPZ0FBQlNBR1FRUklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkVuWkI4QUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRU1ka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFR2RrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMSUFJZ0FpZ0NBRUVFYWlJQU5nSUFEQUVMQ3lBQUM3a0ZBUVYvSUFJZ0FEWUNBQ0FGSUFNMkFnQURRQUpBSUFJb0FnQWlCaUFCVHdSQVFRQWhBQXdCQ3lBRktBSUFJZ29nQkU4RVFFRUJJUUFNQVFzZ0Jpd0FBQ0lIUWY4QmNTRURJQWRCZjBvRWZ5QURRZi8vd3dCTEJIOUJBaUVBREFJRlFRRUxCUUovSUFkQi93RnhRY0lCU0FSQVFRSWhBQXdEQ3lBSFFmOEJjVUhnQVVnRVFDQUJJQVpyUVFKSUJFQkJBU0VBREFRTElBWXRBQUVpQUVIQUFYRkJnQUZIQkVCQkFpRUFEQVFMUVFJZ0EwRUdkRUhBRDNFZ0FFRS9jWElpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI4QUZJQkVBZ0FTQUdhMEVEU0FSQVFRRWhBQXdFQ3lBR0xBQUJJUWdnQmkwQUFpRUFBa0FDUUFKQUlBZEJZR3NpQndSQUlBZEJEVVlFUUF3Q0JRd0RDd0FMSUFoQjRBRnhRYUFCUndSQVFRSWhBQXdIQ3d3Q0N5QUlRZUFCY1VHQUFVY0VRRUVDSVFBTUJnc01BUXNnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQVVMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkF0QkF5QUFRVDl4SUFOQkRIUkJnT0FEY1NBSVFUOXhRUVowY25JaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOVFGT0JFQkJBaUVBREFNTElBRWdCbXRCQkVnRVFFRUJJUUFNQXdzZ0Jpd0FBU0VKSUFZdEFBSWhBQ0FHTFFBRElRZ0NRQUpBQWtBQ1FDQUhRWEJyRGdVQUFnSUNBUUlMSUFsQjhBQnFRUmgwUVJoMVFmOEJjVUV3VGdSQVFRSWhBQXdHQ3d3Q0N5QUpRZkFCY1VHQUFVY0VRRUVDSVFBTUJRc01BUXNnQ1VIQUFYRkJnQUZIQkVCQkFpRUFEQVFMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFNTElBaEJQM0VnQUVFR2RFSEFIM0VnQTBFU2RFR0FnUEFBY1NBSlFUOXhRUXgwY25KeUlnTkIvLy9EQUVzRWYwRUNJUUFNQXdWQkJBc0xDeUVBSUFvZ0F6WUNBQ0FDSUFBZ0JtbzJBZ0FnQlNBRktBSUFRUVJxTmdJQURBRUxDeUFBQzRVRUFRZC9JQUVoQmlBQUlRRURRQUpBSUFFZ0Jra2dDQ0FDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0VISUFOQmYwb0VmeUFIUWYvL3d3QkxEUUVnQVVFQmFnVUNmeUFEUWY4QmNVSENBVWdOQWlBRFFmOEJjVUhnQVVnRVFDQUdJQUZyUVFKSURRTWdBUzBBQVNJRVFjQUJjVUdBQVVjZ0IwRUdkRUhBRDNFZ0JFRS9jWEpCLy8vREFFdHlEUU1nQVVFQ2Fnd0JDeUFEUWY4QmNVSHdBVWdFUUNBR0lBRnJRUU5JRFFNZ0FTd0FBU0VFSUFFdEFBSWhCUUpBQWtBQ1FDQURRV0JySWdNRVFDQURRUTFHQkVBTUFnVU1Bd3NBQ3lBRVFlQUJjVUdnQVVjTkJnd0NDeUFFUWVBQmNVR0FBVWNOQlF3QkN5QUVRY0FCY1VHQUFVY05CQXNnQlVIQUFYRkJnQUZISUFWQlAzRWdCMEVNZEVHQTRBTnhJQVJCUDNGQkJuUnlja0gvLzhNQVMzSU5BeUFCUVFOcURBRUxJQVlnQVd0QkJFZ2dBMEgvQVhGQjlRRk9jZzBDSUFFc0FBRWhCU0FCTFFBQ0lRUWdBUzBBQXlFSkFrQUNRQUpBQWtBZ0EwRndhdzRGQUFJQ0FnRUNDeUFGUWZBQWFrRVlkRUVZZFVIL0FYRkJNRTROQlF3Q0N5QUZRZkFCY1VHQUFVY05CQXdCQ3lBRlFjQUJjVUdBQVVjTkF3c2dDVUhBQVhGQmdBRkhJQWxCUDNFZ0JFRUdkRUhBSDNFZ0IwRVNkRUdBZ1BBQWNTQUZRVDl4UVF4MGNuSnlRZi8vd3dCTGNpQUVRY0FCY1VHQUFVZHlEUUlnQVVFRWFnc0xJUUVnQ0VFQmFpRUlEQUVMQ3lBQklBQnJDd3NBSUFJZ0F5QUVFS0VLQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW9Bb2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRbndvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUM4TUVBUWgvSXdZaEJDTUdRYkFCYWlRR0lBUkJxQUZxSVF3Z0JDRUJJQVJCcEFGcUlRb2dCRUdnQVdvaEJ5QUVRWmdCYWlFQ0lBUkJrQUZxSVFzZ0JFR0FBV29pQ0VJQU53SUFJQWhCQURZQ0NBTkFJQVpCQTBjRVFDQUdRUUowSUFocVFRQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBQ1FRQTJBZ1FnQWtHc29BRTJBZ0FnQlNnQ0FDQUZJQVVzQUFzaUEwRUFTQ0lKR3lJR0lBVW9BZ1FnQTBIL0FYRWdDUnRCQW5ScUlRTWdBVUVnYWlFSlFRQWhCUUpBQWtBRFFDQUZRUUpISUFZZ0EwbHhCRUFnQnlBR05nSUFJQUlnRENBR0lBTWdCeUFCSUFrZ0NpQUNLQUlBS0FJTVFROXhRWTREYWhFT0FDSUZRUUpHSUFZZ0J5Z0NBRVp5RFFJZ0FTRUdBMEFnQmlBS0tBSUFTUVJBSUFnZ0Jpd0FBQkRNQVNBR1FRRnFJUVlNQVFzTElBY29BZ0FoQmd3QkN3c01BUXNRQUFzQ2Z5QUlLQUlBSUFnZ0NDd0FDMEVBU0JzaUF5RU5JQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0FHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBdEJBRFlDQkNBTFFkeWdBVFlDQUNBTkN4QmdJQU5xSWdVaEJpQUJRWUFCYWlFSlFRQWhBZ0pBQWtBRFFDQUNRUUpISUFNZ0JVbHhSUTBCSUFjZ0F6WUNBQ0FMSUF3Z0F5QURRU0JxSUFVZ0JpQURhMEVnU2hzZ0J5QUJJQWtnQ2lBTEtBSUFLQUlRUVE5eFFZNERhaEVPQUNJQ1FRSkdJQU1nQnlnQ0FFWnlSUVJBSUFFaEF3TkFJQU1nQ2lnQ0FFa0VRQ0FBSUFNb0FnQVFqZ0lnQTBFRWFpRUREQUVMQ3lBSEtBSUFJUU1NQVFzTEVBQU1BUXNnQ0JCSElBUWtCZ3NMZ0FJQkFuOGpCaUVCSXdaQkVHb2tCaUFCUWdBM0FnQWdBVUVBTmdJSUEwQWdCa0VEUndSQUlBWkJBblFnQVdwQkFEWUNBQ0FHUVFGcUlRWU1BUXNMSUFVb0FnQWdCU0FGTEFBTElnTkJBRWdpQkJzaUFpQUZLQUlFSUFOQi93RnhJQVFiYWlFRElBSWhCUU5BSUFVZ0Ewa0VRQ0FCSUFVc0FBQVF6QUVnQlVFQmFpRUZEQUVMQ3dKL0lBRW9BZ0FnQVNBQkxBQUxRUUJJR3lJQ0lRY2dBRUlBTndJQUlBQkJBRFlDQ0VFQUlRTURRQ0FEUVFOSEJFQWdBMEVDZENBQWFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3dzZ0J3c1FZQ0FDYWlFREEwQWdBaUFEU1FSQUlBQWdBaXdBQUJETUFTQUNRUUZxSVFJTUFRc0xJQUVRUnlBQkpBWUx3Z1VCRW44akJpRUdJd1pCNEFOcUpBWWdCa0hNQTJvaUN5QURFRHNnQzBHZ3pnTVFPaUVNSUFVc0FBc2lCMEVBU0NFQUlBVW9BZ1FnQjBIL0FYRWdBQnNFZnlBRktBSUFJQVVnQUJzb0FnQWdERUV0SUF3b0FnQW9BaXhCUDNGQmlnRnFFUUlBUmdWQkFBc2hEaUFHUWRRRGFpRVBJQVpCeUFOcUlSQWdCa0hFQTJvaEVTQUdRYXdEYWlFSElBWkJvQU5xSVFnZ0JrR2NBMm9oQ1NBR1FiZ0RhaUlLUWdBM0FnQWdDa0VBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBcHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUhRZ0EzQWdBZ0IwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFkcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSVFnQTNBZ0FnQ0VFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWhxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFDSUE0Z0N5QVBJQkFnRVNBS0lBY2dDQ0FKRUtNRUlBVXNBQXNpQUVFQVNDRVNJQVVvQWdRZ0FFSC9BWEVnRWhzaUV5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQmFpQVRJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQ2Fnc2hGaUFHSVFBZ0FpQVVJQlpxYWlJQ1FlUUFTd1JBSUFKQkFuUVFSQ0lBSVFJZ0FBUkFJQUFoRFNBQ0lSVUZFQUFMQlNBQUlRMExJQTBnQmtHWUEyb2dCa0dVQTJvZ0F5Z0NCQ0FGS0FJQUlBVWdFaHNpQUNBVFFRSjBJQUJxSUF3Z0RpQVBJQkFvQWdBZ0VTZ0NBQ0FLSUFjZ0NDQUpFS0lFSUFZZ0FTZ0NBRFlDa0FNZ0JpZ0NtQU1oQUNBR0tBS1VBeUVCSUFaQjBBTnFJZ0lnQmlnQ2tBTTJBZ0FnQWlBTklBQWdBU0FESUFRUXBRRWhGeUFWQkVBZ0ZSQTRDeUFJRUVjZ0J4QkhJQW9RUnlBTEVEd2dCaVFHSUJjTHVBWUJGWDhqQmlFR0l3WkI0QWRxSkFZZ0JrR0lCMm9oQ0NBR1FaQURhaUVBSUFaQjJBZHFJZ2tnQmtHZ0Jtb2lCellDQUNBR1FaQUhhaUlOSUFVNUF3QWdCMEhrQUVIU25nTWdEUkNqQWlJSFFlTUFTd1JBRUZ3aEFDQUlJQVU1QXdBZ0NTQUFRZEtlQXlBSUVKc0JJUUFnQ1NnQ0FDSUlSUVJBRUFBTElBQkJBblFRUkNJSElRb2dCd1JBSUFjaERDQUFJUXNnQ2lFUUlBZ2hFUVVRQUFzRklBQWhEQ0FISVFzTElBWkIxQWRxSWc0Z0F4QTdJQTVCb000REVEb2lFaWdDQUNnQ01DRUFJQklnQ1NnQ0FDSUhJQWNnQzJvZ0RDQUFRUTl4UVlvQ2FoRUpBQm9nQ3dSL0lBa29BZ0FzQUFCQkxVWUZRUUFMSVJNZ0JrSGNCMm9oRkNBR1FkQUhhaUVWSUFaQnpBZHFJUllnQmtHMEIyb2hCeUFHUWFnSGFpRUlJQVpCcEFkcUlRa2dCa0hBQjJvaUNrSUFOd0lBSUFwQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQjBJQU53SUFJQWRCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUhha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDRUlBTndJQUlBaEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSWFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0FpQVRJQTRnRkNBVklCWWdDaUFISUFnZ0NSQ2pCQ0FMSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUZxSUFzZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUpxQ3lFWklBWWhBQ0FDSUJjZ0dXcHFJZ0pCNUFCTEJFQWdBa0VDZEJCRUlnQWhBaUFBQkVBZ0FDRVBJQUloR0FVUUFBc0ZJQUFoRHdzZ0R5QUdRYUFIYWlBR1Fad0hhaUFES0FJRUlBd2dDMEVDZENBTWFpQVNJQk1nRkNBVktBSUFJQllvQWdBZ0NpQUhJQWdnQ1JDaUJDQUdJQUVvQWdBMkFwZ0hJQVlvQXFBSElRQWdCaWdDbkFjaEFTQU5JQVlvQXBnSE5nSUFJQTBnRHlBQUlBRWdBeUFFRUtVQklSb2dHQVJBSUJnUU9Bc2dDQkJISUFjUVJ5QUtFRWNnRGhBOElCQUVRQ0FRRURnTElCRUVRQ0FSRURnTElBWWtCaUFhQzd3RkFSSi9Jd1loQmlNR1FiQUJhaVFHSUFaQm1BRnFJZ3NnQXhBN0lBdEJnTTRERURvaERDQUZMQUFMSWdkQkFFZ2hBQ0FGS0FJRUlBZEIvd0Z4SUFBYkJIOGdCU2dDQUNBRklBQWJMUUFBSUF4QkxTQU1LQUlBS0FJY1FUOXhRWW9CYWhFQ0FFSC9BWEZHQlVFQUN5RU9JQVpCcEFGcUlROGdCa0doQVdvaEVDQUdRYUFCYWlFUklBWkJnQUZxSVFjZ0JrSDBBR29oQ0NBR1FmQUFhaUVKSUFaQmpBRnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRGlBTElBOGdFQ0FSSUFvZ0J5QUlJQWtRcFFRZ0JTd0FDeUlBUVFCSUlSSWdCU2dDQkNBQVFmOEJjU0FTR3lJVElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFGcUlCTWdDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFKcUN5RVdJQVloQUNBQ0lCUWdGbXBxSWdKQjVBQkxCRUFnQWhCRUlnQWhBaUFBQkVBZ0FDRU5JQUloRlFVUUFBc0ZJQUFoRFFzZ0RTQUdRZXdBYWlBR1FlZ0FhaUFES0FJRUlBVW9BZ0FnQlNBU0d5SUFJQUFnRTJvZ0RDQU9JQThnRUN3QUFDQVJMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdKa0lBWW9BbXdoQUNBR0tBSm9JUUVnQmtHY0FXb2lBaUFHS0FKa05nSUFJQUlnRFNBQUlBRWdBeUFFRUpjQklSY2dGUVJBSUJVUU9Bc2dDQkJISUFjUVJ5QUtFRWNnQ3hBOElBWWtCaUFYQzY4R0FSVi9Jd1loQmlNR1FhQURhaVFHSUFaQnlBSnFJUWdnQmtId0FHb2hBQ0FHUVpBRGFpSUpJQVpCNEFGcUlnYzJBZ0FnQmtIUUFtb2lEU0FGT1FNQUlBZEI1QUJCMHA0RElBMFFvd0lpQjBIakFFc0VRQkJjSVFBZ0NDQUZPUU1BSUFrZ0FFSFNuZ01nQ0JDYkFTRUFJQWtvQWdBaUNFVUVRQkFBQ3lBQUVFUWlCeUVLSUFjRVFDQUhJUXdnQUNFTElBb2hFQ0FJSVJFRkVBQUxCU0FBSVF3Z0J5RUxDeUFHUVl3RGFpSU9JQU1RT3lBT1FZRE9BeEE2SWhJb0FnQW9BaUFoQUNBU0lBa29BZ0FpQnlBSElBdHFJQXdnQUVFUGNVR0tBbW9SQ1FBYUlBc0VmeUFKS0FJQUxBQUFRUzFHQlVFQUN5RVRJQVpCbUFOcUlSUWdCa0dWQTJvaEZTQUdRWlFEYWlFV0lBWkI5QUpxSVFjZ0JrSG9BbW9oQ0NBR1FlUUNhaUVKSUFaQmdBTnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRXlBT0lCUWdGU0FXSUFvZ0J5QUlJQWtRcFFRZ0N5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQmFpQUxJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQ2Fnc2hHU0FHSVFBZ0FpQVhJQmxxYWlJQ1FlUUFTd1JBSUFJUVJDSUFJUUlnQUFSQUlBQWhEeUFDSVJnRkVBQUxCU0FBSVE4TElBOGdCa0hnQW1vZ0JrSGNBbW9nQXlnQ0JDQU1JQXNnREdvZ0VpQVRJQlFnRlN3QUFDQVdMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdMWUFpQUdLQUxnQWlFQUlBWW9BdHdDSVFFZ0RTQUdLQUxZQWpZQ0FDQU5JQThnQUNBQklBTWdCQkNYQVNFYUlCZ0VRQ0FZRURnTElBZ1FSeUFIRUVjZ0NoQkhJQTRRUENBUUJFQWdFQkE0Q3lBUkJFQWdFUkE0Q3lBR0pBWWdHZ3ZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFmalBBeEE2SWdFb0FnQW9BaXdGSUFGQjhNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURZQ0FDQU5DeUFMRUc0Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBTmdJQUlBY2dDeEJ1SUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURZQ0FDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUEyQWdBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRFlDQUNBUEN5QUxFRzRnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFZZ0N4QnVJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyUUlCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJBU0VFSUFaQi93RnhDeUVGSUFJZ0FXc2lDRUVDZFNFSklBZ0VRQUpBSUFjRWZ5QUFLQUlFSVFZZ0FDZ0NBQVVnQmtIL0FYRWhCaUFBQ3lJSElRZ2dBU0FHUVFKMElBZHFTU0FJSUFGTmNRUkFJQU5DQURjQ0FDQURRUUEyQWdnZ0F5QUJJQUlReHdRZ0FDQURLQUlBSUFNZ0F5d0FDeUlBUVFCSUlnRWJJQU1vQWdRZ0FFSC9BWEVnQVJzUTRRa2dBeEJIREFFTElBUWdCV3NnQ1VrRVFDQUFJQVFnQlNBSmFpQUVheUFGSUFVUWtRUUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUFGUVFKMGFpRUVBMEFnQVNBQ1J3UkFJQVFnQVJCdUlBUkJCR29oQkNBQlFRUnFJUUVNQVFzTElBTkJBRFlDQUNBRUlBTVFiaUFGSUFscUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN3c0xJQU1rQmd1d0JBRUlmeU1HSVFBakJrR3dBMm9rQmlBQVFhQURhaUlJSUFBMkFnQWdDRUdSQVRZQ0JDQUFRWkFEYWlJTElBUVFPeUFMUWFET0F4QTZJUWNnQUVHc0Eyb2lDa0VBT2dBQUlBQWdBaWdDQUNJSk5nS1VBeUFFS0FJRUlRd2dBRUdvQTJvaUJDQUFLQUtVQXpZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRWmdEYWlBQVFaQURhaENtQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUEyQWdBZ0RRc2dCQkJ1SUFaQkFEWUNCQVVnQkVFQU5nSUFJQVlnQkJCdUlBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFFSTRDQ3lBSFFUQWdCeWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhCQ0FBS0FLWUF5SUhRWHhxSVFvZ0NDZ0NBQ0VEQTBBQ1FDQURJQXBQRFFBZ0F5Z0NBQ0FFUncwQUlBTkJCR29oQXd3QkN3c2dCaUFESUFjUXJBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0NVVU5BQ0FKS0FJTUlnUWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0EwVU5BZ3NNQWdzZ0F3MEFEQUVMSUFVZ0JTZ0NBRUVDY2pZQ0FBc2dBU2dDQUNFT0lBc1FQQ0FJS0FJQUlRRWdDRUVBTmdJQUlBRUVRQ0FCSUFnb0FnUkIvd0Z4UWF3RGFoRUJBQXNnQUNRR0lBNExvQVVCQzM4akJpRUhJd1pCMEFScUpBWWdCMEdvQkdvaERpQUhJUThnQjBHNEJHb2lDU0FIUWZBQWFpSUtOZ0lBSUFsQmtRRTJBZ1FnQjBHd0JHb2lEU0FFRURzZ0RVR2d6Z01RT2lFQUlBZEJ3QVJxSWd4QkFEb0FBQ0FISUFJb0FnQTJBcXdFSUFRb0FnUWhDeUFIUVlBRWFpSUVJQWNvQXF3RU5nSUFJQUVnQkNBRElBMGdDeUFGSUF3Z0FDQUpJQWRCdEFScUlBcEJrQU5xRUtZRUJFQWdBRUhvblFOQjhwMERJQVFnQUNnQ0FDZ0NNRUVQY1VHS0Ftb1JDUUFhSUFjb0FyUUVJZ3NnQ1NnQ0FDSUtheUlBUVlnRFNnUkFJQUJCQW5aQkFtb1FSQ0lBSVFNZ0FBUkFJQUFoQ0NBRElSQUZFQUFMQlNBUElRZ0xJQXdzQUFBRVFDQUlRUzA2QUFBZ0NFRUJhaUVJQ3lBRVFTaHFJUU1nQkNFTUEwQWdDaUFMU1FSQUlBb29BZ0FoQ3lBRUlRQURRQUpBSUFBZ0EwWUVRQ0FESVFBTUFRc2dBQ2dDQUNBTFJ3UkFJQUJCQkdvaEFBd0NDd3NMSUFnZ0FDQU1hMEVDZFVIb25RTnFMQUFBT2dBQUlBcEJCR29oQ2lBSVFRRnFJUWdnQnlnQ3RBUWhDd3dCQ3dzZ0NFRUFPZ0FBSUE0Z0JqWUNBQ0FQUVlXZEF5QU9FSU1CUVFGSEJFQVFBQXNnRUFSQUlCQVFPQXNMSUFFb0FnQWlBQVIvSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUJDQUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWVqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCNE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBNkFBQWdEQXNnQ3hCZklBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURvQUFDQUlJQXNRWHlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRG9BQUNBTkN5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEb0FBQ0FQQ3lBTEVGOGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU9nQUFJQVlnQ3hCZklBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJ3SUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1ZCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkNpRUVJQVZCL3dGeEN5RUdJQUlnQVdzaUNBUkFBa0FnQndSL0lBQW9BZ1FoQlNBQUtBSUFCU0FGUWY4QmNTRUZJQUFMSWdjaENTQUJJQVVnQjJwSklBa2dBVTF4QkVBZ0EwSUFOd0lBSUFOQkFEWUNDQ0FESUFFZ0FoRCtBeUFBSUFNb0FnQWdBeUFETEFBTElnQkJBRWdpQVJzZ0F5Z0NCQ0FBUWY4QmNTQUJHeERqQ1NBREVFY01BUXNnQkNBR2F5QUlTUVJBSUFBZ0JDQUdJQWhxSUFScklBWWdCaERkQWdzZ0FpQUdJQUZyYWlFSElBWWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJZ1ZxSVFRRFFDQUJJQUpIQkVBZ0JDQUJFRjhnQkVFQmFpRUVJQUZCQVdvaEFRd0JDd3NnQTBFQU9nQUFJQVVnQjJvZ0F4QmZJQVlnQ0dvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTEN3c2dBeVFHQzdVRUFRaC9Jd1loQUNNR1FZQUJhaVFHSUFCQjhBQnFJZ2dnQURZQ0FDQUlRWkVCTmdJRUlBQkI1QUJxSWdzZ0JCQTdJQXRCZ000REVEb2hCeUFBUWZ3QWFpSUtRUUE2QUFBZ0FDQUNLQUlBSWdrMkFtZ2dCQ2dDQkNFTUlBQkIrQUJxSWdRZ0FDZ0NhRFlDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFld0FhaUFBUWVRQWFoQ29CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTZBQUFnRFFzZ0JCQmZJQVpCQURZQ0JBVWdCRUVBT2dBQUlBWWdCQkJmSUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUVNd0JDeUFIUVRBZ0J5Z0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJDQUFLQUpzSWdkQmYyb2hDaUFJS0FJQUlRTURRQUpBSUFNZ0NrOE5BQ0FETFFBQUlBUkIvd0Z4UncwQUlBTkJBV29oQXd3QkN3c2dCaUFESUFjUXNBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRklBRW9BZ0JGQ3dWQkFRc2hBd0pBQWtBQ1FDQUpSUTBBSUFrb0Fnd2lCQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBa0VBTmdJQURBRUZJQU5GRFFJTERBSUxJQU1OQUF3QkN5QUZJQVVvQWdCQkFuSTJBZ0FMSUFFb0FnQWhEaUFMRUR3Z0NDZ0NBQ0VCSUFoQkFEWUNBQ0FCQkVBZ0FTQUlLQUlFUWY4QmNVR3NBMm9SQVFBTElBQWtCaUFPQy9zVEFoRi9BWHdqQmlFVUl3WkJFR29rQmlBVUlSQWdBVUVDRURraERTQUNRUUlRT1NFUElBUW9BZ0FpQnlFQ0lBMGdEMEYvYWlJUmJFRUJkQ0FIYWlFRkEwQWdDeUFOU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUxRUUZxSVFzTUFRc0xJQWNoQWlBTlFYOXFJaEpCQVhRZ0Iyb2hCVUVBSVFzRFFDQUxJQTlJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FOUVFGMElBSnFJUUlnRFVFQmRDQUZhaUVGSUF0QkFXb2hDd3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdEV3NoRXlBQUlBRkJBWFJCQW1wcUlRNUJBU0VNUVFBaEJTQU5RUUZxSWdBZ0JDZ0NCR29oQ3lBQVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTUlCRk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VrZ0VRQ0FPTFFBQUlBTktCRUFDUUNBTFFYODZBQUFnRTBFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFNSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBSUF0QkFEb0FBQXNnRGtFQ2FpRU9JQXRCQVdvaEN5QUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTVxUVFScUlRNGdERUVCYWlFTUlBQWhCU0FMUVFKcUlRc2dCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQkFRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJTFJnUkFJQUJCQVdvaEFRVWdBQ0VCSUF0QkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRFRZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEellDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZxTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVdvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZTQVFKQVlnRlF1ZUJRRUxmeU1HSVFjakJrR0FBbW9rQmlBSFFkZ0JhaUVPSUFjaER5QUhRZWdCYWlJSklBZEI4QUJxSWdvMkFnQWdDVUdSQVRZQ0JDQUhRZUFCYWlJTklBUVFPeUFOUVlET0F4QTZJUUFnQjBINkFXb2lERUVBT2dBQUlBY2dBaWdDQURZQzNBRWdCQ2dDQkNFTElBZEI4QUZxSWdRZ0J5Z0MzQUUyQWdBZ0FTQUVJQU1nRFNBTElBVWdEQ0FBSUFrZ0IwSGtBV29nQ2tIa0FHb1FxQVFFUUNBQVFmcWNBMEdFblFNZ0JDQUFLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCeWdDNUFFaUN5QUpLQUlBSWdwcklnQkI0Z0JLQkVBZ0FFRUNhaEJFSWdBaEF5QUFCRUFnQUNFSUlBTWhFQVVRQUFzRklBOGhDQXNnREN3QUFBUkFJQWhCTFRvQUFDQUlRUUZxSVFnTElBUkJDbW9oQXlBRUlRd0RRQ0FLSUF0SkJFQWdDaXdBQUNFTElBUWhBQU5BQWtBZ0FDQURSZ1JBSUFNaEFBd0JDeUFBTEFBQUlBdEhCRUFnQUVFQmFpRUFEQUlMQ3dzZ0NDQUFJQXhyUWZxY0Eyb3NBQUE2QUFBZ0NrRUJhaUVLSUFoQkFXb2hDQ0FIS0FMa0FTRUxEQUVMQ3lBSVFRQTZBQUFnRGlBR05nSUFJQTlCaFowRElBNFFnd0ZCQVVjRVFCQUFDeUFRQkVBZ0VCQTRDd3NnQVNnQ0FDSUFCSDhnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVWdBU2dDQUVVTEJVRUJDeUVEQWtBQ1FBSkFJQUlvQWdBaUFFVU5BQ0FBS0FJTUlnUWdBQ2dDRUVZRWZ5QUFJQUFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXVUQVFFQ2Z5TUdJUVlqQmtHQUFXb2tCaUFHUWZRQWFpSUhJQVpCNUFCcU5nSUFJQUFnQmlBSElBTWdCQ0FGRUt3RUlBWkI2QUJxSWdOQ0FEY0RBQ0FHUWZBQWFpSUVJQVkyQWdBZ0FpZ0NBQ0FCYTBFQ2RTRUZJQUFvQWdBUVlpRUFJQUVnQkNBRklBTVEvZ0loQXlBQUJFQWdBQkJpR2dzZ0EwRi9SZ1JBRUFBRklBSWdBMEVDZENBQmFqWUNBQ0FHSkFZTEM3RUJBQ01HSVFJakJrR2dBMm9rQmlBQ1FaQURhaUlESUFKQmtBTnFOZ0lBSUFCQkNHb2dBaUFESUFRZ0JTQUdFTFFLSUFNb0FnQWhCU0FDSVFNZ0FTZ0NBQ0VBQTBBZ0F5QUZSd1JBSUFNb0FnQWhBU0FBQkg5QkFDQUFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQWdBU0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBQVVnQUNBRVFRUnFOZ0lZSUFRZ0FUWUNBQ0FCQzBGL0VFRWJCVUVBQ3lFQUlBTkJCR29oQXd3QkN3c2dBaVFHSUFBTHVRRUFJd1loQWlNR1FmQUFhaVFHSUFKQjVBQnFJZ01nQWtIa0FHbzJBZ0FnQUVFSWFpQUNJQU1nQkNBRklBWVFyQVFnQXlnQ0FDRUZJQUloQXlBQktBSUFJUUFEUUNBRElBVkhCRUFnQXl3QUFDRUJJQUFFZjBFQUlBQWdBQ2dDR0NJRUlBQW9BaHhHQkg4Z0FDZ0NBQ2dDTkNFRUlBQWdBUkJDSUFSQlAzRkJpZ0ZxRVFJQUJTQUFJQVJCQVdvMkFoZ2dCQ0FCT2dBQUlBRVFRZ3RCZnhCQkd3VkJBQXNoQUNBRFFRRnFJUU1NQVFzTElBSWtCaUFBQzQwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBQWtBZ0FTZ0NBQ0lFQkVBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUZCRUFNQkFVTUF3c0FDd3NnQlVVRVFFRUFJUVFNQWdzTElBSWdBaWdDQUVFR2NqWUNBQXdCQ3lBRElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBRUgvQVhGQkpVY0VRQ0FDSUFJb0FnQkJCSEkyQWdBTUFRc2dBQ2dDQUNJREtBSU1JZ1VnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUZRUVJxTmdJTUlBVW9BZ0FhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFEUU1MREFFTElBQkZEUUVMSUFJZ0FpZ0NBRUVDY2pZQ0FBc0xVZ0VCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1RRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVR1VjV28yQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFSQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRUhTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUMUljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxxd0lCQkh4RUFBQUFBQUFBOEQ4Z0FTc0RHQ0lERU9jRUlnU2hJUUlnQXhEbUJDRURJQUFnQkNBQkt3TUFJZ1VnQmFJZ0FxS2dPUU1BSUFBZ0FpQUJLd01BSUFFckF3aWlvaUFESUFFckF4Q2lvVGtEQ0NBQUlBSWdBU3NEQUNBQkt3TVFvcUlnQXlBQkt3TUlvcUE1QXhBZ0FDQUJLd01nT1FNWUlBQWdBaUFCS3dNSUlBRXJBd0Npb2lBRElBRXJBeENpb0RrRElDQUFJQVFnQWlBQkt3TUlJZ1VnQmFLaW9Ea0RLQ0FBSUFJZ0FTc0RDQ0FCS3dNUW9xSWdBeUFCS3dNQW9xRTVBekFnQUNBQkt3TW9PUU00SUFCQlFHc2dBaUFCS3dNUUlBRXJBd0Npb2lBRElBRXJBd2lpb1RrREFDQUFJQUlnQVNzREVDQUJLd01Jb3FJZ0F5QUJLd01Bb3FBNUEwZ2dBQ0FFSUFJZ0FTc0RFQ0lDSUFLaW9xQTVBMUFnQUNBQkt3TXdPUU5ZQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1ZBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0MvWURBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRkFrQUNRQ0FCS0FJQUlnUkZEUUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBVkZEUU1MREFFTElBVUVmMEVBSVFRTUFnVkJBQXNoQkFzZ0EwR0F3QUFnQUNnQ0FDSUZLQUlNSWdZZ0JTZ0NFRVlFZnlBRklBVW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQ3lBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJCR28yQWd3Z0JTZ0NBQm9MREFFTEN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3V3QVFFQ2ZDQUFJQUVyQXdBaUF5QURvaUFCS3dNSUlnSWdBcUtnSUFFckF4QWlBaUFDb3FBaUFrUUFBQUFBQUFBQUFHRUVmQ0FBUkFBQUFBQUFBUEEvT1FNQUlBQkVBQUFBQUFBQUFBQTVBd2hFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUFVZ0FDQURJQUtmSWdLak9RTUFJQUFnQVNzRENDQUNvemtEQ0NBQkt3TVFJQUtqQ3prREVDQUFJQUk1QXhnZ0FDQUJLd01ZT1FNZ0lBQWdBU3NESURrREtDQUFJQUVyQXlnNUF6QUw5QUVCQW45QmtNQURMQUFBUlFSQVFaREFBeEJ3QkVCQnNMc0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkIyTHdEUncwQUMwR1F3QU1RYndzTFFiQzdBMEdRbWdFUVZrRzh1d05CckpvQkVGWkJ5THNEUWNpYUFSQldRZFM3QTBIb21nRVFWa0hndXdOQmtKc0JFRlpCN0xzRFFiU2JBUkJXUWZpN0EwSFFtd0VRVmtHRXZBTkI5SnNCRUZaQmtMd0RRWVNjQVJCV1FaeThBMEdVbkFFUVZrR292QU5CcEp3QkVGWkJ0THdEUWJTY0FSQldRY0M4QTBIRW5BRVFWa0hNdkFOQjFKd0JFRllMMkFJQkFuOUJnTUFETEFBQVJRUkFRWURBQXhCd0JFQkJrTGtESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCc0xzRFJ3MEFDMEdBd0FNUWJ3c0xRWkM1QTBHSWxnRVFWa0djdVFOQnFKWUJFRlpCcUxrRFFjeVdBUkJXUWJTNUEwSGtsZ0VRVmtIQXVRTkIvSllCRUZaQnpMa0RRWXlYQVJCV1FkaTVBMEdnbHdFUVZrSGt1UU5CdEpjQkVGWkI4TGtEUWRDWEFSQldRZnk1QTBINGx3RVFWa0dJdWdOQm1KZ0JFRlpCbExvRFFieVlBUkJXUWFDNkEwSGdtQUVRVmtHc3VnTkI4SmdCRUZaQnVMb0RRWUNaQVJCV1FjUzZBMEdRbVFFUVZrSFF1Z05CL0pZQkVGWkIzTG9EUWFDWkFSQldRZWk2QTBHd21RRVFWa0gwdWdOQndKa0JFRlpCZ0xzRFFkQ1pBUkJXUVl5N0EwSGdtUUVRVmtHWXV3TkI4SmtCRUZaQnBMc0RRWUNhQVJCV0Mzd0JBbjlCOEw4RExBQUFSUVJBUWZDL0F4QndCRUJCOExnRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQmlMa0RSdzBBQzBId3Z3TVFid3NMUWZDNEEwSHdsUUVRVmtIOHVBTkIvSlVCRUZZTFJBQkJ5TDhETEFBQVJRUkFRY2kvQXhCd0JFQkJqTThEUWdBM0FnQkJsTThEUVFBMkFnQkJqTThEUWFTVUFVR2tsQUVRdEFFUXl3RkJ5TDhERUc4TEMwR016d01MUkFCQjBMOERMQUFBUlFSQVFkQy9BeEJ3QkVCQm1NOERRZ0EzQWdCQm9NOERRUUEyQWdCQm1NOERRY2lVQVVISWxBRVF0QUVReXdGQjBMOERFRzhMQzBHWXp3TUxSQUJCMkw4RExBQUFSUVJBUWRpL0F4QndCRUJCcE04RFFnQTNBZ0JCck04RFFRQTJBZ0JCcE04RFFleVVBVUhzbEFFUXRBRVF5d0ZCMkw4REVHOExDMEdrendNTFJBQkI0TDhETEFBQVJRUkFRZUMvQXhCd0JFQkJzTThEUWdBM0FnQkJ1TThEUVFBMkFnQkJzTThEUVp5VkFVR2NsUUVRdEFFUXl3RkI0TDhERUc4TEMwR3d6d01MTVFCQjZMOERMQUFBUlFSQVFlaS9BeEJ3QkVBUXh3cEJ2TThEUWZDNEF6WUNBRUhvdndNUWJ3c0xRYnpQQXlnQ0FBc3hBRUg0dndNc0FBQkZCRUJCK0w4REVIQUVRQkRHQ2tIQXp3TkJrTGtETmdJQVFmaS9BeEJ2Q3d0QndNOERLQUlBQ3pFQVFZakFBeXdBQUVVRVFFR0l3QU1RY0FSQUVNVUtRY1RQQTBHd3V3TTJBZ0JCaU1BREVHOExDMEhFendNb0FnQUxnZ3dCQlg4akJpRUhJd1pCa0FGcUpBWWdCMEh3QUdvaENpQUhRVUJySVFzZ0JFRUFOZ0lBSUFkQmdBRnFJZ2dnQXhBN0lBaEJvTTRERURvaENTQUlFRHdDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVpCR0hSQkdIVkJKV3NPVlJZWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjQUFSY0VGd1VYQmdjWEZ4Y0tGeGNYRnc0UEVCY1hGeE1WRnhjWEZ4Y1hGd0FCQWdNREZ4Y0JGd2dYRndrTEZ3d1hEUmNMRnhjUkVoUVhDeUFISUFJb0FnQTJBbndnQ0NBSEtBSjhOZ0lBSUFBZ0JVRVlhaUFCSUFnZ0JDQUpFTEVFREJjTElBY2dBaWdDQURZQ2VDQUlJQWNvQW5nMkFnQWdBQ0FGUVJCcUlBRWdDQ0FFSUFrUXNBUU1GZ3NnQUVFSWFpSUdLQUlBS0FJTUlRa2dCaUFKUWY4QWNVRUlhaEVBQUNFR0lBY2dBU2dDQURZQ2RDQUhJQUlvQWdBMkFtd2dCaWdDQUNBR0lBWXNBQXNpQ1VFQVNDSUxHeUVDSUFZb0FnUWdDVUgvQVhFZ0N4dEJBblFnQW1vaEJpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0FpQUdFS01CTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVNTUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWFEd0FFSEE4QUFRb3dFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCd1BBQVFlRHdBQkNqQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRENDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRCQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEQUNnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSQy9DZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkMrQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1F2UW9NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JDOENnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhnOEFCQmpQRUFFS01CTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRWkR4QUVHazhRQVFvd0UyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRdWdvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJzUEVBUWREeEFCQ2pBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JDNUNnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnbEJBRWdpQ3hzaEFpQUdLQUlFSUFsQi93RnhJQXNiUVFKMElBSnFJUVlnQ2lBSEtBSVFOZ0lBSUFnZ0J5Z0NERFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZJQUlnQmhDakFUWUNBQXdFQ3lBSElBSW9BZ0EyQWdnZ0NDQUhLQUlJTmdJQUlBVkJGR29nQVNBSUlBUWdDUkN2QkF3REN5QUhJQUlvQWdBMkFnUWdDQ0FIS0FJRU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDNENnd0NDeUFISUFJb0FnQTJBZ0FnQ0NBSEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdHdvTUFRc2dCQ0FFS0FJQVFRUnlOZ0lBQ3lBQktBSUFDeUVNSUFja0JpQU1DMWtCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUZRUlJxSUFFZ0J5QUVJQU1RcndRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCRUdvZ0FTQUhJQVFnQXhDd0JDQUJLQUlBSVFnZ0JpUUdJQWdMV3dFRGZ5TUdJUVlqQmtFUWFpUUdJQVpCQkdvaUJ5QURFRHNnQjBHZ3pnTVFPaUVESUFjUVBDQUdJQUlvQWdBMkFnQWdCeUFHS0FJQU5nSUFJQUFnQlVFWWFpQUJJQWNnQkNBREVMRUVJQUVvQWdBaENDQUdKQVlnQ0F1bkFRRUVmeU1HSVFjakJrRVFhaVFHSUFCQkNHb2lCaWdDQUNnQ0ZDRUlJQVlnQ0VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFnUWdCeUFDS0FJQU5nSUFJQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDQnNoQVNBR0tBSUVJQUpCL3dGeElBZ2JRUUowSUFGcUlRSWdCMEVJYWlJR0lBY29BZ1EyQWdBZ0IwRU1haUlJSUFjb0FnQTJBZ0FnQUNBR0lBZ2dBeUFFSUFVZ0FTQUNFS01CSVFrZ0J5UUdJQWtMWUFFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FDQUJJQUlnQXlBRUlBVkIwUEVBUWZEeEFCQ2pBU0VISUFZa0JpQUhDNTBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ1FFUUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VFREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0FNQVFzZ0F5QUFLQUlBSWdVb0Fnd2lCaUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCL3dGeFFRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWSEJFQWdBaUFDS0FJQVFRUnlOZ0lBREFFTElBQW9BZ0FpQXlnQ0RDSUZJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQUEwREN3d0JDeUFBUlEwQkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzFJQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSm9CSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCbEhGcU5nSUFDeUFGSkFZTFlRRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUVRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCQjBoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUU5U0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1dBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0M1UUVBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBSUFFb0FnQWlCRVVOQUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FGUlEwREN3d0JDeUFGQkg5QkFDRUVEQUlGUVFBTElRUUxJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJRlFmOEJjVUVZZEVFWWRVRi9UQTBBSUFNb0FnZ2dCVUVZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkFXbzJBZ3dnQlN3QUFCQkNHZ3NNQVFzTElBQW9BZ0FpQXdSL0lBTW9BZ3dpQlNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEFBSkFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMOFFRQkFYOGdBRUlBTndNQUlBQkNBRGNEQ0NBQVFnQTNBeEFnQUVJQU53TVlJQUJDQURjRElDQUFRZ0EzQXlnZ0FFSUFOd013SUFCQ0FEY0RPQ0FBUVVCclJBQUFBQUFBQVBDL09RTUFJQUJDQURjRFNDQUFRZ0EzQTFBZ0FFSUFOd05ZSUFCQ0FEY0RZQ0FBUkFBQUFBQUFBUEEvT1FOb0lBQkNBRGNEY0NBQVFnQTNBM2dnQUVJQU53T0FBU0FBUWdBM0E0Z0JJQUJDQURjRGtBRWdBRUlBTndPWUFTQUFSQUFBQUFBQUFQQS9PUU9nQVNBQVFhZ0JhaUlCUWdBM0F3QWdBVUlBTndNSUlBRkNBRGNERUNBQlFnQTNBeGdnQVVJQU53TWdJQUZDQURjREtDQUJRZ0EzQXpBZ0FVSUFOd000SUFGQlFHdENBRGNEQUNBQVJBQUFBQUFBQVBDL09RUHdBU0FBUWdBM0EvZ0JJQUJDQURjRGdBSWdBRUlBTndPSUFpQUFRZ0EzQTVBQ0lBQkNBRGNEbUFJZ0FFSUFOd09nQWlBQVJBQUFBQUFBQVBDL09RT29BaUFBUWdBM0E3QUNJQUJDQURjRHVBSWdBRUlBTndQQUFpQUFRZ0EzQThnQ0lBQkVBQUFBQUFBQThEODVBOUFDSUFCQjJBSnFJZ0ZDQURjREFDQUJRZ0EzQXdnZ0FVSUFOd01RSUFGQ0FEY0RHQ0FCUWdBM0F5QWdBVUlBTndNb0lBRkNBRGNETUNBQlFnQTNBemdnQVVGQWEwSUFOd01BSUFGQ0FEY0RTQ0FCUWdBM0ExQWdBVUlBTndOWUlBRkNBRGNEWUNBQlFnQTNBMmdnQUVRQUFBQUFBQUR3UHprRHlBTWdBRUlBTndQUUF5QUFRZ0EzQTlnRElBQkNBRGNENEFNZ0FFSUFOd1BvQXlBQVFnQTNBL0FESUFCQ0FEY0QrQU1nQUVRQUFBQUFBQUR3UHprRGdBUWdBRUlBTndPSUJDQUFRZ0EzQTVBRUlBQkNBRGNEbUFRZ0FFSUFOd09nQkNBQVFnQTNBNmdFSUFCQ0FEY0RzQVFnQUVRQUFBQUFBQUR3UHprRHVBUUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3YwQVFFQ2YwSEF2d01zQUFCRkJFQkJ3TDhERUhBRVFFSEF0d01oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhvdUFOSERRQUxRY0MvQXhCdkN3dEJ3TGNEUWZDWEF4QlhRY3kzQTBIM2x3TVFWMEhZdHdOQi9wY0RFRmRCNUxjRFFZYVlBeEJYUWZDM0EwR1FtQU1RVjBIOHR3TkJtWmdERUZkQmlMZ0RRYUNZQXhCWFFaUzRBMEdwbUFNUVYwR2d1QU5CclpnREVGZEJyTGdEUWJHWUF4QlhRYmk0QTBHMW1BTVFWMEhFdUFOQnVaZ0RFRmRCMExnRFFiMllBeEJYUWR5NEEwSEJtQU1RVnd2WUFnRUNmMEd3dndNc0FBQkZCRUJCc0w4REVIQUVRRUdndFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIQXR3TkhEUUFMUWJDL0F4QnZDd3RCb0xVRFFlNldBeEJYUWF5MUEwSDJsZ01RVjBHNHRRTkIvNVlERUZkQnhMVURRWVdYQXhCWFFkQzFBMEdMbHdNUVYwSGN0UU5CajVjREVGZEI2TFVEUVpTWEF4QlhRZlMxQTBHWmx3TVFWMEdBdGdOQm9KY0RFRmRCakxZRFFhcVhBeEJYUVppMkEwR3lsd01RVjBHa3RnTkJ1NWNERUZkQnNMWURRY1NYQXhCWFFieTJBMEhJbHdNUVYwSEl0Z05CekpjREVGZEIxTFlEUWRDWEF4QlhRZUMyQTBHTGx3TVFWMEhzdGdOQjFKY0RFRmRCK0xZRFFkaVhBeEJYUVlTM0EwSGNsd01RVjBHUXR3TkI0SmNERUZkQm5MY0RRZVNYQXhCWFFhaTNBMEhvbHdNUVYwRzB0d05CN0pjREVGY0xmQUVDZjBHZ3Z3TXNBQUJGQkVCQm9MOERFSEFFUUVHQXRRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFR1l0UU5IRFFBTFFhQy9BeEJ2Q3d0QmdMVURRZWlXQXhCWFFZeTFBMEhybGdNUVZ3dENBRUg0dmdNc0FBQkZCRUJCK0w0REVIQUVRRUhJemdOQ0FEY0NBRUhRemdOQkFEWUNBRUhJemdOQnRaWURRYldXQXhCZ0VINUIrTDRERUc4TEMwSEl6Z01MUWdCQmdMOERMQUFBUlFSQVFZQy9BeEJ3QkVCQjFNNERRZ0EzQWdCQjNNNERRUUEyQWdCQjFNNERRYjZXQTBHK2xnTVFZQkIrUVlDL0F4QnZDd3RCMU00REMwSUFRWWkvQXl3QUFFVUVRRUdJdndNUWNBUkFRZURPQTBJQU53SUFRZWpPQTBFQU5nSUFRZURPQTBISGxnTkJ4NVlERUdBUWZrR0l2d01RYndzTFFlRE9Bd3VwQWdFR2ZDQUJLd01ZSUFFckF3QWlDQ0FDS3dNQUlnU2lJQUVyQXdnZ0Fpc0RDQ0lIb3FBZ0FTc0RFQ0FDS3dNUUlnT2lvS0FoQlNBQkt3TTRJQVFnQVNzRElLSWdCeUFCS3dNb29xQWdBeUFCS3dNd29xQ2dJUVlnQVNzRFdDQUVJQUZCUUdzaUFpc0RBQ0lFb2lBSElBRXJBMGlpb0NBRElBRXJBMUNpb0tBaUEwUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUlBZ2dBNklnQlNBRW9xRWdBeUFEb2lJRW96a0RBQ0FBSUFNZ0FTc0RDS0lnQlNBQkt3TklvcUVnQktNNUF3Z2dBQ0FESUFFckF4Q2lJQVVnQVNzRFVLS2hJQVNqT1FNUUlBQWdBeUFCS3dNZ29pQUdJQUlyQXdDaW9TQUVvemtER0NBQUlBTWdBU3NES0tJZ0JpQUJLd05Jb3FFZ0JLTTVBeUFnQUNBRElBRXJBekNpSUFZZ0FTc0RVS0toSUFTak9RTW9RUUFMQzBJQVFaQy9BeXdBQUVVRVFFR1F2d01RY0FSQVFlek9BMElBTndJQVFmVE9BMEVBTmdJQVFlek9BMEhUbGdOQjA1WURFR0FRZmtHUXZ3TVFid3NMUWV6T0F3c3hBRUdZdndNc0FBQkZCRUJCbUw4REVIQUVRQkRrQ2tINHpnTkJnTFVETmdJQVFaaS9BeEJ2Q3d0QitNNERLQUlBQ3pFQVFhaS9BeXdBQUVVRVFFR292d01RY0FSQUVPTUtRZnpPQTBHZ3RRTTJBZ0JCcUw4REVHOExDMEg4emdNb0FnQUxNUUJCdUw4RExBQUFSUVJBUWJpL0F4QndCRUFRNGdwQmdNOERRY0MzQXpZQ0FFRzR2d01RYndzTFFZRFBBeWdDQUF2NEN3RUZmeU1HSVFjakJrR1FBV29rQmlBSFFmQUFhaUVLSUFkQlFHc2hDeUFFUVFBMkFnQWdCMEdBQVdvaUNDQURFRHNnQ0VHQXpnTVFPaUVKSUFnUVBBSi9Ba0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0JrRVlkRUVZZFVFbGF3NVZGaGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGd0FCRndRWEJSY0dCeGNYRndvWEZ4Y1hEZzhRRnhjWEV4VVhGeGNYRnhjWEFBRUNBd01YRndFWENCY1hDUXNYREJjTkZ3c1hGeEVTRkJjTElBY2dBaWdDQURZQ2ZDQUlJQWNvQW53MkFnQWdBQ0FGUVJocUlBRWdDQ0FFSUFrUXRnUU1Gd3NnQnlBQ0tBSUFOZ0o0SUFnZ0J5Z0NlRFlDQUNBQUlBVkJFR29nQVNBSUlBUWdDUkMxQkF3V0N5QUFRUWhxSWdZb0FnQW9BZ3doQ1NBR0lBbEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0owSUFjZ0FpZ0NBRFlDYkNBR0tBSUFJQVlnQml3QUN5SUNRUUJJSWdrYklnc2dCaWdDQkNBQ1FmOEJjU0FKRzJvaEFpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0N5QUNFS1FCTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVPRUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWNXWUEwSE5tQU1RcEFFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCelpnRFFkV1lBeENrQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGZDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRlQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEZENnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSRGNDZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkRiQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1EyZ29NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEWkNnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhWbUFOQjRKZ0RFS1FCTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRZUNZQTBIbG1BTVFwQUUyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRMkFvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkI1WmdEUWUyWUF4Q2tBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JEWENnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ1JzaUN5QUdLQUlFSUFKQi93RnhJQWtiYWlFQ0lBb2dCeWdDRURZQ0FDQUlJQWNvQWd3MkFnQWdBU0FBSUFvZ0NDQURJQVFnQlNBTElBSVFwQUUyQWdBTUJBc2dCeUFDS0FJQU5nSUlJQWdnQnlnQ0NEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUXRBUU1Bd3NnQnlBQ0tBSUFOZ0lFSUFnZ0J5Z0NCRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1ExZ29NQWdzZ0J5QUNLQUlBTmdJQUlBZ2dCeWdDQURZQ0FDQUJJQWdnQkNBSkVOVUtEQUVMSUFRZ0JDZ0NBRUVFY2pZQ0FBc2dBU2dDQUFzaERDQUhKQVlnREF0WkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQlVFVWFpQUJJQWNnQkNBREVMUUVJQUVvQWdBaENDQUdKQVlnQ0F0YkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQUNBRlFSQnFJQUVnQnlBRUlBTVF0UVFnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJnTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJHR29nQVNBSElBUWdBeEMyQkNBQktBSUFJUWdnQmlRR0lBZ0xvZ0VCQkg4akJpRUhJd1pCRUdva0JpQUFRUWhxSWdZb0FnQW9BaFFoQ0NBR0lBaEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0lFSUFjZ0FpZ0NBRFlDQUNBR0tBSUFJQVlnQml3QUN5SUJRUUJJSWdJYklnZ2dCaWdDQkNBQlFmOEJjU0FDRzJvaEFTQUhRUWhxSWdJZ0J5Z0NCRFlDQUNBSFFReHFJZ1lnQnlnQ0FEWUNBQ0FBSUFJZ0JpQURJQVFnQlNBSUlBRVFwQUVoQ1NBSEpBWWdDUXRnQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQUlBRWdBaUFESUFRZ0JVSHRtQU5COVpnREVLUUJJUWNnQmlRR0lBY0wzd1VDQTM4R2ZDTUdJUVVqQmtIZ0Jtb2tCaUFCSUFJckF4Z2dBaXNEQUNBREt3TUFvaUFDS3dNSUlBTXJBd2dpQ0tLZ0lBSXJBeEFnQXlzREVDSUpvcUNnT1FNQUlBRWdBaXNET0NBQ0t3TWdJQU1yQXdBaUI2SWdDQ0FDS3dNb29xQWdDU0FDS3dNd29xQ2dPUU1JSUFFZ0Fpc0RXQ0FISUFKQlFHc2lCQ3NEQUtJZ0Fpc0RTQ0FES3dNSUlnaWlvQ0FKSUFJckExQ2lvS0E1QXhBZ0JVSEFCR29pQVNBSElBSXJBd0FpQ3FJNUF3QWdBU0FJSUFxaU9RTUlJQUVnQ2lBREt3TVFJZ21pT1FNUUlBRWdCeUFDS3dNSUlndWlPUU1ZSUFFZ0NDQUxvamtESUNBQklBa2dDNkk1QXlnZ0FTQUhJQUlyQXhBaURLSTVBekFnQVNBSUlBeWlPUU00SUFGQlFHc2dDU0FNb2prREFDQUJJQW81QTBnZ0FTQUxPUU5RSUFFZ0REa0RXQ0FCSUFjZ0Fpc0RJQ0lLb2prRFlDQUJJQWdnQ3FJNUEyZ2dBU0FKSUFxaU9RTndJQUVnQnlBQ0t3TW9JZ3VpT1FONElBRWdDQ0FMb2prRGdBRWdBU0FKSUF1aU9RT0lBU0FCSUFjZ0Fpc0RNQ0lNb2prRGtBRWdBU0FJSUF5aU9RT1lBU0FCSUFrZ0RLSTVBNkFCSUFFZ0Nqa0RxQUVnQVNBTE9RT3dBU0FCSUF3NUE3Z0JJQUVnQnlBRUt3TUFJZ3FpT1FQQUFTQUJJQWdnQ3FJNUE4Z0JJQUVnQ1NBS29qa0QwQUVnQVNBSElBSXJBMGdpQzZJNUE5Z0JJQUVnQ0NBTG9qa0Q0QUVnQVNBSklBdWlPUVBvQVNBQklBY2dBaXNEVUNJSG9qa0Q4QUVnQVNBSUlBZWlPUVA0QVNBQklBa2dCNkk1QTRBQ0lBRWdDamtEaUFJZ0FTQUxPUU9RQWlBQklBYzVBNWdDSUFVUTRBcEJBQ0VDQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQmtjRVFDQUNRVEJzSUFCcUlBTkJBM1JxSWdaRUFBQUFBQUFBQUFBNUF3QkJBQ0VFUkFBQUFBQUFBQUFBSVFjRFFDQUVRUXhIQkVBZ0JpQUhJQUpCNEFCc0lBRnFJQVJCQTNScUt3TUFJQVJCTUd3Z0JXb2dBMEVEZEdvckF3Q2lvQ0lIT1FNQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFVa0JndmNBUUVIZnlNR0lRQWpCa0hRQVdva0JpQUFRY0FCYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFRzRBV29pQmlBRU5nSUFJQUJCb0FGcUlnUkJGQ0FISUFVZ0JoQjNJZ2tnQkdvaEJTQUVJQVVnQWhDSkFTRUhJQVlnQWhBN0lBWkJvTTRERURvaENDQUdFRHdnQ0NnQ0FDZ0NNQ0VLSUFnZ0JDQUZJQUFnQ2tFUGNVR0tBbW9SQ1FBYUlBQWdBU2dDQURZQ3ZBRWdCaUFBS0FLOEFUWUNBQ0FHSUFBZ0NVRUNkQ0FBYWlJQklBY2dCR3RCQW5RZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RcFFFaEN5QUFKQVlnQ3d1MUF3RVBmeU1HSVFVakJrSGdBbW9rQmlBRlFhZ0NhaUVOSUFWQm1BSnFJUUFnQlVHUUFtb2lCa0lsTndNQUlBWkJBV3BCMjVRRElBSW9BZ1FRbEFJaERpQUZRZFFDYWlJSElBVkI4QUZxSWdvMkFnQVFYQ0VQSUFWQndBSnFJUkFnQlVHd0Ftb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERFRUJJUklGSUFoQkEzUVFSQ0lBQkVBZ0FDSU1JUk1GRUFBTEN5QUZRZGdDYWlJQUlBSVFPeUFKSUFjZ0JpQU1JQVZCMEFKcUlBVkJ6QUpxSUFBUXVBUWdBQkE4SUFVZ0FTZ0NBRFlDeUFJZ0JTZ0MwQUloQ0NBRktBTE1BaUVHSUFBZ0JTZ0N5QUkyQWdBZ0FTQUFJQXdnQ0NBR0lBSWdBeENsQVNJQU5nSUFJQkpGQkVBZ0V4QTRDeUFSRURnZ0JTUUdJQUFMdFFNQkQzOGpCaUVGSXdaQjRBSnFKQVlnQlVHb0Ftb2hEU0FGUVpnQ2FpRUFJQVZCa0FKcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVSFVBbW9pQnlBRlFmQUJhaUlLTmdJQUVGd2hEeUFGUWNBQ2FpRVFJQVZCc0FKcUlRc2dEZ1IvSUFBZ0FpZ0NDRFlDQUNBQUlBUTVBd2dnQ2tFZUlBOGdCaUFBRUhjRklBMGdCRGtEQUNBS1FSNGdEeUFHSUEwUWR3c2lBRUVkU2dSQUVGd2hBQ0FPQkg4Z0N5QUNLQUlJTmdJQUlBc2dCRGtEQ0NBSElBQWdCaUFMRUpzQkJTQVFJQVE1QXdBZ0J5QUFJQVlnRUJDYkFRc2hBQ0FIS0FJQUlnWUVRQ0FBSVFnZ0JpSVJJUWtGRUFBTEJTQUFJUWdnQnlnQ0FDRUpDeUFGSVFBZ0NTQUlJQWxxSWdZZ0FoQ0pBU0VISUFrZ0NrWUVRQ0FBSVF4QkFTRVNCU0FJUVFOMEVFUWlBQVJBSUFBaURDRVRCUkFBQ3dzZ0JVSFlBbW9pQUNBQ0VEc2dDU0FISUFZZ0RDQUZRZEFDYWlBRlFjd0NhaUFBRUxnRUlBQVFQQ0FGSUFFb0FnQTJBc2dDSUFVb0F0QUNJUWdnQlNnQ3pBSWhCaUFBSUFVb0FzZ0NOZ0lBSUFFZ0FDQU1JQWdnQmlBQ0lBTVFwUUVpQURZQ0FDQVNSUVJBSUJNUU9Bc2dFUkE0SUFVa0JpQUFDL1lCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhRUlp5SWdoQkFXb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQTNSQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCREhJaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSVnlRUUowUVE5cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQy9rQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkYyb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQVhSQkxISkJBblJCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJEV29oQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJoeVFRSjBRUXRxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDOWdDQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlFRklBSW9BZ1JCQVhFRVFDQUZJQUlRT3lBRlFhak9BeEE2SVFBZ0JSQThJQUFvQWdBaEFpQUZJQUFnQkFSL0lBSW9BaGdGSUFJb0Fod0xRVDl4UWJJRmFoRURBQ0FGS0FJQUlnSWdCU0FGTEFBTElnQkJBRWdiSVFNRFFDQUZLQUlFSUFCQi93RnhJQUJCR0hSQkdIVkJBRWdpQUJ0QkFuUWdBaUFGSUFBYmFpQURSd1JBSUFNb0FnQWhBaUFCS0FJQUlnQUVRQ0FBS0FJWUlnUWdBQ2dDSEVZRWZ5QUFJQUlnQUNnQ0FDZ0NORUUvY1VHS0FXb1JBZ0FGSUFBZ0JFRUVhallDR0NBRUlBSTJBZ0FnQWd0QmZ4QkJCRUFnQVVFQU5nSUFDd3NnQTBFRWFpRURJQVVzQUFzaEFDQUZLQUlBSVFJTUFRc0xJQUVvQWdBaEFDQUZFRWNGSUFBb0FnQW9BaGdoQnlBR0lBRW9BZ0EyQWdBZ0JTQUdLQUlBTmdJQUlBQWdCU0FDSUFNZ0JFRUJjU0FIUVI5eFFhSUNhaEVJQUNFQUN5QUdKQVlnQUF2VEFRRUhmeU1HSVFBakJrSGdBR29rQmlBQVFkQUFhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVISUFHb2lCaUFFTmdJQUlBQkJNR29pQkVFVUlBY2dCU0FHRUhjaUNTQUVhaUVGSUFRZ0JTQUNFSWtCSVFjZ0JpQUNFRHNnQmtHQXpnTVFPaUVJSUFZUVBDQUlLQUlBS0FJZ0lRb2dDQ0FFSUFVZ0FDQUtRUTl4UVlvQ2FoRUpBQm9nQUNBQktBSUFOZ0pNSUFZZ0FDZ0NURFlDQUNBR0lBQWdBQ0FKYWlJQklBY2dCR3NnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFsd0VoQ3lBQUpBWWdDd3YrRXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBUW9BZ0FpQmlFSElBRWdBa0YvYWlJUWJFRUJkQ0FHYWlFRkEwQWdDU0FCU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQjBFQ2FpRUhJQWxCQVdvaENTQUZRUUpxSVFVTUFRc0xJQVloQjBFQUlRa2dBVUYvYWlJUlFRRjBJQVpxSVFVRFFDQUpJQUpJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FCUVFGMElBZHFJUWNnQ1VFQmFpRUpJQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFSFFRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVE1QkFTRU1RUUFoQXlBQUlBUW9BZ1JxSVFrZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0RDQVFUZzBDSUFNaEFFRUJJUW9EUUNBS0lCRklCRUFnRFMwQUFDQU9MUUFBU2dSQUlBWkJBRHNCQUNBSlFRQTZBQUFGQWtBZ0NVRi9PZ0FBSUJKQkFYUWdCbW9pQXk0QkFDSUZRUUJLQkVBZ0JpQUZPd0VBSUFWQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFOQmZtb3VBUUFpQlNFSUlBVkJBRW9oQ3lBRExnRUNJZ05CQUV3RVFDQUxCRUFnQmlBRk93RUFJQWhCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcElCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0JrRithaTRCQUNJRFFRQktCRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlES0FJQUlBcE9EUUlnQXlBS05nSUFCU0FBUWYvL0FVb05CaUFHSUFCQkFXb2lBenNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQU5CRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0F5RUFDd3dCQ3lBTEJFQUNRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCa0YrYWk0QkFDSUZRUUJNQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0FnTkFBYWlJRktBSUFJQXBLQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ01nRENBREtBSUFhallDQUFzTElBMUJBV29oRFNBT1FRRnFJUTRnQ1VFQmFpRUpJQXBCQVdvaENpQUdRUUpxSVFZTUFRc0xJQTFCQW1vaERTQU9RUUpxSVE0Z0RFRUJhaUVNSUFBaEF5QUpRUUpxSVFrZ0JrRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQlVFQklRQkJBU0VKSUFjaEJnTkFJQWtnQTB3RVFDQUpJQVlvQWdBaURVWUVRQ0FBUVFGcUlRY0ZJQUFoQnlBTlFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBSElRQWdDVUVCYWlFSklBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBVkJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VIQTBBZ0J5QUFTQVJBSUFSQmpJQUlhaUFIUVFKMElnWkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBWkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQVpCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFaQkEzSkJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ2NnQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBY29BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ2RCQTNScUlnWWdCaXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBZEJBWEpCQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ1pJQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWR1VUF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhGQkZuSWlDRUVCYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU1jaUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCRlhKQkQycEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRVhhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRXNja0VPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU5haUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCR0hKQkRtcEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDNRSUJBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJUVVnQWlnQ0JFRUJjUVJBSUFVZ0FoQTdJQVZCa000REVEb2hBQ0FGRUR3Z0FDZ0NBQ0VDSUFVZ0FDQUVCSDhnQWlnQ0dBVWdBaWdDSEF0QlAzRkJzZ1ZxRVFNQUlBVW9BZ0FpQWlBRklBVXNBQXNpQUVFQVNCc2hBd05BSUFJZ0JTQUFRUmgwUVJoMVFRQklJZ0liSUFVb0FnUWdBRUgvQVhFZ0FodHFJQU5IQkVBZ0F5d0FBQ0VDSUFFb0FnQWlBQVJBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFvQWdBb0FqUWhCQ0FBSUFJUVFpQUVRVDl4UVlvQmFoRUNBQVVnQUNBRVFRRnFOZ0lZSUFRZ0Fqb0FBQ0FDRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXNMSUFOQkFXb2hBeUFGTEFBTElRQWdCU2dDQUNFQ0RBRUxDeUFCS0FJQUlRQWdCUkJIQlNBQUtBSUFLQUlZSVFjZ0JpQUJLQUlBTmdJQUlBVWdCaWdDQURZQ0FDQUFJQVVnQWlBRElBUkJBWEVnQjBFZmNVR2lBbW9SQ0FBaEFBc2dCaVFHSUFBTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTDBFTmdJQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4QytCRGNEQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3UrQ0FJUWZ3UjhJd1loQ1NNR1FSQnFKQVlnQ1VFSWFpRUlJQUFvQWdnaUF5QUFLQUlFUmdSQUlBRW9BZ1FnQTBZRVFDQUNLQUlFUVFGcUlBTkdCRUFDUUNBRFFYNXFJUXdEUUNBSElBeElCRUFnQVNnQ0FDQUhRUU4wYWlBQUtBSUFJQU1nQjJ4QkEzUnFJZ3NnQjBFRGRHb3JBd0E1QXdBZ0NDQURJQWRyUVg5cUlnNDJBZ1FnQ0NBSFFRRnFJZ1pCQTNRZ0Myb2lEellDQUNBSUVKWUxJUk1nQWlnQ0FDQUhRUU4wYWlBVE9RTUFJQk5FQUFBQUFBQUFBQUJpQkVBQ1FDQUdJUVVEUUNBRklBTklCRUFnQmlFRVJBQUFBQUFBQUFBQUlSTURRQ0FFSUFWSkJFQWdFeUFBS0FJQUlBVWdBeUFFYkdwQkEzUnFLd01BSUFSQkEzUWdDMm9yQXdDaW9DRVRJQVJCQVdvaEJBd0JDd3NnQXlBRmJDRVFJQVVoQkFOQUlBUWdBMGdFUUNBVElBQW9BZ0FnQkNBUWFrRURkR29yQXdBZ0JFRURkQ0FMYWlzREFLS2dJUk1nQkVFQmFpRUVEQUVMQ3lBQktBSUFJQVZCQTNScUlCTTVBd0FnQlVFQmFpRUZEQUVMQ3lBSklBNDJBZ1FnQ0NBT05nSUVJQWdnRHpZQ0FDQUpJQUVvQWdBZ0JrRURkR28yQWdBZ0NDQUpFT1lDUkFBQUFBQUFBT0Evb2lFVklBTWhCUU5BSUFWQmYyb2lCU0FIVEEwQklBRW9BZ0FpRGlBRlFRTjBhaUlFS3dNQUlCVWdCVUVEZENBTGFpc0RBQ0lXb3FFaEV5QUVJQk01QXdBZ0F5QUZiQ0VQSUFVaEJBTkFJQVFnQTBnRVFDQUFLQUlBSUFRZ0QycEJBM1JxSWhBZ0VDc0RBQ0FXSUFSQkEzUWdEbW9yQXdDaUlCTWdCRUVEZENBTGFpc0RBS0tnb1RrREFDQUVRUUZxSVFRTUFRc0xEQUFBQ3dBTEN5QUdJUWNNQVFzTEFrQUNRQ0FEUVFGS0JIOGdBU2dDQUNJTklBeEJBM1JxSUFBb0FnQWlBU0FNSUFNZ0RHd2lCbXBCQTNScUt3TUFPUU1BSUFJb0FnQWdERUVEZEdvZ0JpQURRWDlxSWdKcVFRTjBJQUZxS3dNQU9RTUFJQUVoQmlBTklRRU1BUVVnQTBFQlJnUi9RUUFoQWlBQUtBSUFJUVlnQVNnQ0FDRUJEQUlGSUFNTEN5RUtEQUVMSUFNaERTQUNJQUlnQTJ4cVFRTjBJQVpxS3dNQUlSUWdBa0VEZENBQmFpRVJRUndoRWdzRFFDQVNRUnhHQkVBZ0VTQVVPUU1BSUEwaENnc2dDa0VBVEFSQVFRQWhBQXdDQ3lBQUtBSUFJQXBCZjJvaURTQURiRUVEZEdvaEJpQUtJQXhNQkVBQ1FDQURJQTFyUVg5cUlRVWdDa0VEZENBR2FpRUhJQW9oQWdOQUlBSWdBMDROQVNBSklBVTJBZ1FnQ0NBRk5nSUVJQWdnQnpZQ0FDQUpJQUFvQWdBZ0NpQUNJQU5zSWdScVFRTjBhallDQUNBSUlBa1E1Z0loRXlBS0lRRURRQ0FCSUFOSUJFQWdBQ2dDQUNBQklBUnFRUU4wYWlJTElBc3JBd0FnRXlBQlFRTjBJQVpxS3dNQW9xRTVBd0FnQVVFQmFpRUJEQUVMQ3lBQ1FRRnFJUUlNQUFBTEFBc0xRUUFoQVFOQUlBRWdBMGdFUUNBQlFRTjBJQVpxUkFBQUFBQUFBQUFBT1FNQUlBRkJBV29oQVF3QkN3dEVBQUFBQUFBQThEOGhGQ0FOUVFOMElBWnFJUkZCSENFU0RBQUFDd0FMQlVGL0lRQUxCVUYvSVFBTEJVRi9JUUFMSUFra0JpQUFDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDL0JEc0JBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndVNCd0VPZnlNR0lRZ2pCa0d3QW1va0JpQUNFSndCSVE4Z0FpQUlRYUFCYWhEc0FTRVFJQWhCb0FKcUlnb2dBaUFJUWF3Q2FoRHJBU0FJUVpRQ2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBaEJrQUpxSWdzZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdDRUdNQW1vaURDQUlOZ0lBSUFoQmlBSnFJZzFCQURZQ0FDQUFLQUlBSWdJaERnTkFBa0FnQWdSL0lBSW9BZ3dpQmlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEVnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUktBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCMFVOQXdzTUFRc2dCd1IvUVFBaEJnd0NCVUVBQ3lFR0N5QUxLQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnZEIvd0Z4SUFkQkFFZ2JJZ2RxUmdSQUlBVWdCMEVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFzZ0J5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxJQThnQ1NBTElBMGdDQ2dDckFJZ0NpQUlJQXdnRUJET0FRMEFJQUlvQWd3aUJpQUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFaQkJHbzJBZ3dnQmlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCa1VOQUNBR0tBSU1JZ1FnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVNJQVVRUnlBS0VFY2dDQ1FHSUJJTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FCQTdJQUpCb000REVEb2lBQ2dDQUNnQ01DRURJQUJCOE84QVFZcndBQ0FCSUFOQkQzRkJpZ0pxRVFrQUdpQUNFRHdnQWlRR0lBRUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRU1FRU53TUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M3WUhBUTkvSXdZaEJpTUdRZEFDYWlRR0lBWkJ1QUpxSWdvZ0FpQUdRYUFCYWlJUUlBWkJ5QUpxSUFaQnhBSnFFT1VDSUFaQnJBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0dvQW1vaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWFRQ2FpSU5JQVkyQWdBZ0JrR2dBbW9pRGtFQU5nSUFJQVpCelFKcUlndEJBVG9BQUNBR1Fjd0NhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXNnQ3lBUklBa2dEQ0FHS0FMSUFpQUdLQUxFQWlBS0lBWWdEU0FPSUJBUTVBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd1MkJ3RVBmeU1HSVFZakJrSFFBbW9rQmlBR1FiZ0NhaUlLSUFJZ0JrR2dBV29pRUNBR1FjZ0NhaUFHUWNRQ2FoRGxBaUFHUWF3Q2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJxQUpxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0drQW1vaURTQUdOZ0lBSUFaQm9BSnFJZzVCQURZQ0FDQUdRYzBDYWlJTFFRRTZBQUFnQmtITUFtb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0tBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnb0FnQUxJQXNnRVNBSklBd2dCaWdDeUFJZ0JpZ0N4QUlnQ2lBR0lBMGdEaUFRRU9RQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFRWFqWUNEQ0FIS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF3d1E1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MdGdjQkQzOGpCaUVHSXdaQjBBSnFKQVlnQmtHNEFtb2lDaUFDSUFaQm9BRnFJaEFnQmtISUFtb2dCa0hFQW1vUTVRSWdCa0dzQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FhZ0NhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJwQUpxSWcwZ0JqWUNBQ0FHUWFBQ2FpSU9RUUEyQWdBZ0JrSE5BbW9pQzBFQk9nQUFJQVpCekFKcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUN5QUxJQkVnQ1NBTUlBWW9Bc2dDSUFZb0FzUUNJQW9nQmlBTklBNGdFQkRrQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQkdvMkFnd2dCeWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNUUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDOGNIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQWhCb0FGcUlRMGdDRUdZQW1vaEJpQUlRYVFDYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRYURPQXhBNklnQW9BZ0FvQWpBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJpQUpxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHVUFtb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFaQUNhaUlQSUFnMkFnQWdDRUdNQW1vaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaERFRUFJUU5CQVFWQkFBc0ZRUUFoREVFQUlRTkJBUXNoQ1FKQUFrQWdBaWdDQUNJSFJRMEFJQWNvQWd3aUVTQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBSlJRMERDd3dCQ3lBSkJIOUJBQ0VIREFJRlFRQUxJUWNMSUFvb0FnQWdBQ0FHS0FJRUlBWXNBQXNpQ1VIL0FYRWdDVUVBU0JzaUNXcEdCRUFnQmlBSlFRRjBFRW9nQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDaUFKSUFZb0FnQWdCaUFHTEFBTFFRQklHeUlBYWpZQ0FBc2dBeWdDRENJSklBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUF0QkVDQUFJQW9nRUVFQUlBc2dDQ0FQSUEwUXpnRU5BQ0FES0FJTUlnY2dBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGUVFBTEJVRUJDeUVBQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lESUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBa0VBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUVJQVFvQWdCQkFuSTJBZ0FMSUFFb0FnQWhFeUFHRUVjZ0N4QkhJQWdrQmlBVEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNPQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ05DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNMQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0lDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDR0N5RUhJQVlrQmlBSEM1QUJBZ04vQW53Z0FDQUFFT1lDbnlJRVJBQUFBQUFBQUFBQVlnUkFJQVNhSUFRZ0FDZ0NBQ0lCS3dNQUlnVkVBQUFBQUFBQUFBQmpHeUVFSUFFZ0JTQUVvQ0lGT1FNQVJBQUFBQUFBQVBBL0lBUWdCYUtmb3lFRklBQW9BZ1FoQWtFQUlRQURRQ0FBSUFKSUJFQWdBRUVEZENBQmFpSURJQVVnQXlzREFLSTVBd0FnQUVFQmFpRUFEQUVMQ3dzZ0JKb0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlVTElRY2dCaVFHSUFjTDdRSUJCSDhqQmlFR0l3WkJNR29rQmlBR1FTaHFJUWNnQmtFZ2FpRUlJQU1vQWdSQkFYRUVRQ0FISUFNUU95QUhRYURPQXhBNklRa2dCeEE4SUFjZ0F4QTdJQWRCcU00REVEb2hBeUFIRUR3Z0F5Z0NBQ2dDR0NFQUlBWWdBeUFBUVQ5eFFiSUZhaEVEQUNBREtBSUFLQUljSVFBZ0JrRU1haUFESUFCQlAzRkJzZ1ZxRVFNQUlBWWdBaWdDQURZQ0dDQUhJQVlvQWhnMkFnQWdCU0FCSUFjZ0JpQUdRUmhxSWdBZ0NTQUVRUUVRbFFJZ0JrWTZBQUFnQVNnQ0FDRUJBMEFnQUVGMGFpSUFFRWNnQUNBR1J3MEFDd1VnQ0VGL05nSUFJQUFvQWdBb0FoQWhDU0FHSUFFb0FnQTJBaVFnQmlBQ0tBSUFOZ0ljSUFZZ0JpZ0NKRFlDQUNBSElBWW9BaHcyQWdBZ0FTQUFJQVlnQnlBRElBUWdDQ0FKUVQ5eFFjWUNhaEVLQURZQ0FBSkFBa0FDUUFKQUlBZ29BZ0FPQWdBQkFnc2dCVUVBT2dBQURBSUxJQVZCQVRvQUFBd0JDeUFGUVFFNkFBQWdCRUVFTmdJQUN5QUJLQUlBSVFFTElBWWtCaUFCQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2UVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdmdRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZ3UTdBUUFnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd1FRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDOFlIQVE5L0l3WWhCaU1HUWZBQmFpUUdJQVpCMkFGcUlnb2dBaUFHUWFBQmFpSVFJQVpCNXdGcUlBWkI1Z0ZxRU9rQ0lBWkJ6QUZxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtISUFXb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FjUUJhaUlOSUFZMkFnQWdCa0hBQVdvaURrRUFOZ0lBSUFaQjVRRnFJZ3RCQVRvQUFDQUdRZVFCYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCL3dGeElBc2dFU0FKSUF3Z0Jpd0E1d0VnQml3QTVnRWdDaUFHSUEwZ0RpQVFFT2dDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHhnY0JEMzhqQmlFR0l3WkI4QUZxSkFZZ0JrSFlBV29pQ2lBQ0lBWkJvQUZxSWhBZ0JrSG5BV29nQmtIbUFXb1E2UUlnQmtITUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRY2dCYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCeEFGcUlnMGdCallDQUNBR1FjQUJhaUlPUVFBMkFnQWdCa0hsQVdvaUMwRUJPZ0FBSUFaQjVBRnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVnQ3lBUklBa2dEQ0FHTEFEbkFTQUdMQURtQVNBS0lBWWdEU0FPSUJBUTZBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRRnFOZ0lNSUFjc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1NRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3ZHQndFUGZ5TUdJUVlqQmtId0FXb2tCaUFHUWRnQmFpSUtJQUlnQmtHZ0FXb2lFQ0FHUWVjQmFpQUdRZVlCYWhEcEFpQUdRY3dCYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnlBRnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrSEVBV29pRFNBR05nSUFJQVpCd0FGcUlnNUJBRFlDQUNBR1FlVUJhaUlMUVFFNkFBQWdCa0hrQVdvaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUWY4QmNTQUxJQkVnQ1NBTUlBWXNBT2NCSUFZc0FPWUJJQW9nQmlBTklBNGdFQkRvQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQVdvMkFnd2dCeXdBQUJCQ0dnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF4QVE1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEMwRUJBbjhnQUNnQ0JDRUJJQUFvQWdBZ0FDZ0NDQ0lDUVFGMWFpRUFJQUpCQVhFRVFDQUJJQUFvQWdCcUtBSUFJUUVMSUFBZ0FVSC9BWEZCckFOcUVRRUFDdzBBSUFBb0FnQW9BZ0FRb1FzTEp3RUJmeUFCS0FJQUlRTWdBU2dDQkNFQklBQWdBallDQUNBQUlBTTJBZ1FnQUNBQk5nSUlDeUVCQVg5QmpNNERRWXpPQXlnQ0FDSUJRUUZxTmdJQUlBQWdBVUVCYWpZQ0JBdHRBUVIvSXdZaEFTTUdRVEJxSkFZZ0FVRVlhaUVESUFGQmp3RTJBaEFnQVVFQU5nSVVJQUZCSUdvaUFpQUJLUUlRTndJQUlBRWdBaUFBRUtNTElBQW9BZ0JCZjBjRVFDQUNJQUUyQWdBZ0F5QUNOZ0lBSUFBZ0F4RHBDUXNnQUNnQ0JFRi9haUVFSUFFa0JpQUVDOWNIQVE1L0l3WWhDQ01HUWZBQmFpUUdJQWhCb0FGcUlRMGdDRUhRQVdvaEJpQUlRZHdCYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRWURPQXhBNklnQW9BZ0FvQWlBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJ3QUZxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VITUFXb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFjZ0JhaUlQSUFnMkFnQWdDRUhFQVdvaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRU1RUUFoQTBFQkJVRUFDd1ZCQUNFTVFRQWhBMEVCQ3lFSkFrQUNRQ0FDS0FJQUlnZEZEUUFnQnlnQ0RDSVJJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVN3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDVVVOQXdzTUFRc2dDUVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QUtLQUlBSUFBZ0JpZ0NCQ0FHTEFBTElnbEIvd0Z4SUFsQkFFZ2JJZ2xxUmdSQUlBWWdDVUVCZEJCS0lBWWdCaXdBQzBFQVNBUi9JQVlvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFvZ0NTQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFHbzJBZ0FMSUFNb0Fnd2lDU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeFFSQWdBQ0FLSUJCQkFDQUxJQWdnRHlBTkVOQUJEUUFnQXlnQ0RDSUhJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVkJBQXNGUVFFTElRQUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnTWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FETEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFCS0FJQUlSTWdCaEJISUFzUVJ5QUlKQVlnRXd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFvQXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW53c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbmdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuUXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW13c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbWdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtUXNoQnlBR0pBWWdCd3Z0QWdFRWZ5TUdJUVlqQmtFd2FpUUdJQVpCS0dvaEJ5QUdRU0JxSVFnZ0F5Z0NCRUVCY1FSQUlBY2dBeEE3SUFkQmdNNERFRG9oQ1NBSEVEd2dCeUFERURzZ0IwR1F6Z01RT2lFRElBY1FQQ0FES0FJQUtBSVlJUUFnQmlBRElBQkJQM0ZCc2dWcUVRTUFJQU1vQWdBb0Fod2hBQ0FHUVF4cUlBTWdBRUUvY1VHeUJXb1JBd0FnQmlBQ0tBSUFOZ0lZSUFjZ0JpZ0NHRFlDQUNBRklBRWdCeUFHSUFaQkdHb2lBQ0FKSUFSQkFSQ1dBaUFHUmpvQUFDQUJLQUlBSVFFRFFDQUFRWFJxSWdBUVJ5QUFJQVpIRFFBTEJTQUlRWDgyQWdBZ0FDZ0NBQ2dDRUNFSklBWWdBU2dDQURZQ0pDQUdJQUlvQWdBMkFod2dCaUFHS0FJa05nSUFJQWNnQmlnQ0hEWUNBQ0FCSUFBZ0JpQUhJQU1nQkNBSUlBbEJQM0ZCeGdKcUVRb0FOZ0lBQWtBQ1FBSkFBa0FnQ0NnQ0FBNENBQUVDQ3lBRlFRQTZBQUFNQWdzZ0JVRUJPZ0FBREFFTElBVkJBVG9BQUNBRVFRUTJBZ0FMSUFFb0FnQWhBUXNnQmlRR0lBRUxRUUVCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU2dDQUNBQVFRUjBhaUlEUVlDQWdJQi9jU0VBSUFNZ0FDQUFRUmgyY25NaEFDQUJRUVJxSVFFTUFRc0xJQUFMR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4REhCQXRYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRW9BZ0FpQUNBREtBSUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUVJxSVFNZ0FVRUVhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xQd0VCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU3dBQUNBQVFRUjBhaUlBUVlDQWdJQi9jU0lESUFOQkdIWnlJQUJ6SVFBZ0FVRUJhaUVCREFFTEN5QUFDejBCQVg4Z0FBUi9JQUFvQWdBaUFRUi9JQUVvQXJnQkVEZ2dBQ2dDQUNnQ3ZBRVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhEK0F3dFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFc0FBQWlBQ0FETEFBQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRRnFJUU1nQVVFQmFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTElnRUJmeUFBQkVBZ0FDZ0NBQ2dDQkNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3d1MUFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFScUlRTWdCVUVJYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQUVFSTZBQUFnQUNnQ0pDSUhLQUlBS0FJTUlRZ0Nmd0pBQWtBQ1FDQUhJQUFvQWlnZ0JDQUVRUUZxSUFVZ0FpQUNRUWhxSUFNZ0NFRVBjVUdPQTJvUkRnQkJBV3NPQXdJQ0FBRUxJQUlnQmlnQ0FEb0FBQ0FESUFKQkFXbzJBZ0FMQTBBZ0F5Z0NBQ0lFSUFKTkJFQkJBU0VEUVFBTUF3c2dBeUFFUVg5cUlnUTJBZ0FnQkN3QUFDQUFLQUlnRU84QlFYOUhEUUFMQzBFQUlRTkJmd3NoQWlBREJIOGdCZ1VnQWlFQkRBSUxCU0FBUVRCcUN5QUJOZ0lBSUFCQkFUb0FOQXNMSUFVa0JpQUJDd2tBSUFCQkFSRElCQXNKQUNBQVFRQVF5QVFMWGdFQmZ5QUFJQUZCc05BREVEb2lBVFlDSkNBQUlBRWdBU2dDQUNnQ0dFSC9BSEZCQ0dvUkFBQTJBaXdnQUNnQ0pDSUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0ExSUFBb0FpeEJDRW9FUUJBQUN3dXpBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRaHFJUU1nQlVFRWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFOZ0lBSUFBb0FpUWlCeWdDQUNnQ0RDRUlBbjhDUUFKQUFrQWdCeUFBS0FJb0lBUWdCRUVFYWlBRklBSWdBa0VJYWlBRElBaEJEM0ZCamdOcUVRNEFRUUZyRGdNQ0FnQUJDeUFDSUFZb0FnQTZBQUFnQXlBQ1FRRnFOZ0lBQ3dOQUlBTW9BZ0FpQkNBQ1RRUkFRUUVoQTBFQURBTUxJQU1nQkVGL2FpSUVOZ0lBSUFRc0FBQWdBQ2dDSUJEdkFVRi9SdzBBQ3d0QkFDRURRWDhMSVFJZ0F3Ui9JQVlGSUFJaEFRd0NDd1VnQUVFd2Fnc2dBVFlDQUNBQVFRRTZBRFFMQ3lBRkpBWWdBUXVLQXdJTWZ3SjhJd1loQVNNR1FVQnJKQVlnQVVFZ2FpRUNRZEFCRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQUlRUFVFQkVBRUxJQUZCS0dvaEJDQURJQUJCdUFFUVRCb2dBeUFBS0FJQVFSNXFJZ2cyQXNBQklBTWdBQ2dDQkVFZWFpSUpOZ0xFQVNBRFFRODJBc2dCSUFOQkR6WUN6QUVnQXlBSklBaEJBM1JzSWdVUVJDSUNOZ0s0QVNBQ1JRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dBVUV3YWlFR0lBTWdCUkJFSWdRMkFyd0JJQVJGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBQlFSaHFJUVVnQVVFUWFpRUdJQUZCQ0dvaENpQUFRZWdBYWlFTElBQW9BckFCSVF3Z0FpRUFBMEFnQnlBSlNBUkFJQWRCRDJ1eXV5RU5RUUFoQWdOQUlBSWdDRWdFUUNBTElBSkJEMnV5dXlJT0lBMGdDaUFCSUF3UTJBc2dBQ0FLS3dNQXRqZ0NBQ0FBSUFFckF3QzJPQUlFSUFzZ0RpQU5JQVVnQmlBTUVOOEVJQVFnQlNzREFMWTRBZ0FnQkNBR0t3TUF0amdDQkNBQ1FRRnFJUUlnQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQjBFQmFpRUhEQUVMQ3lBQkpBWWdBd3NKQUNBQVFRRVF5UVFMQ1FBZ0FFRUFFTWtFQzE0QkFYOGdBQ0FCUWJqUUF4QTZJZ0UyQWlRZ0FDQUJJQUVvQWdBb0FoaEIvd0J4UVFocUVRQUFOZ0lzSUFBb0FpUWlBU2dDQUNnQ0hDRUNJQUFnQVNBQ1FmOEFjVUVJYWhFQUFFRUJjVG9BTlNBQUtBSXNRUWhLQkVBUUFBc0xuUUlCQ1g4akJpRURJd1pCSUdva0JpQURRUkJxSVFRZ0EwRUlhaUVDSUFOQkJHb2hCZ0ovQWtBZ0FVRi9FRUVOQUFKL0lBSWdBUkJDT2dBQUlBQXNBQ3dFUUNBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZHRFFKQmZ3d0JDeUFHSUFRMkFnQWdBa0VCYWlFSElBUkJDR29oQ0FKQUEwQUNRQ0FBS0FJa0lnVW9BZ0FvQWd3aENTQUZJQUFvQWlnZ0FpQUhJQU1nQkNBSUlBWWdDVUVQY1VHT0Eyb1JEZ0FoQlNBQ0lBTW9BZ0JHRFFJZ0JVRURSZzBBSUFWQkFrOE5BaUFHS0FJQUlBUnJJZ0lnQkVFQklBSWdBQ2dDSUJDVEFVY05BaUFES0FJQUlRSWdCVUVCUmcwQkRBUUxDeUFDUVFGQkFTQUFLQUlnRUpNQlFRRkhEUUFNQWd0QmZ3c01BUXNnQVVGL0VFRUVmMEVBQlNBQkN3c2hDaUFESkFZZ0NndGZBUUovSUFBc0FDd0VRQ0FCUVFFZ0FpQUFLQUlnRUpNQklRTUZBMEFnQXlBQ1NBUkFJQUFvQWdBb0FqUWhCQ0FBSUFFc0FBQVFRaUFFUVQ5eFFZb0JhaEVDQUVGL1J3UkFJQU5CQVdvaEF5QUJRUUZxSVFFTUFnc0xDd3NnQXd0TUFRRi9JQUFvQWdBb0FoZ2hBaUFBSUFKQi93QnhRUWhxRVFBQUdpQUFJQUZCc05BREVEb2lBVFlDSkNBQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQXNDNXNDQVFsL0l3WWhBeU1HUVNCcUpBWWdBMEVRYWlFRUlBTkJDR29oQWlBRFFRUnFJUVlDZndKQUlBRkJmeEJCRFFBQ2Z5QUNJQUUyQWdBZ0FDd0FMQVJBSUFKQkJFRUJJQUFvQWlBUWt3RkJBVVlOQWtGL0RBRUxJQVlnQkRZQ0FDQUNRUVJxSVFjZ0JFRUlhaUVJQWtBRFFBSkFJQUFvQWlRaUJTZ0NBQ2dDRENFSklBVWdBQ2dDS0NBQ0lBY2dBeUFFSUFnZ0JpQUpRUTl4UVk0RGFoRU9BQ0VGSUFJZ0F5Z0NBRVlOQWlBRlFRTkdEUUFnQlVFQ1R3MENJQVlvQWdBZ0JHc2lBaUFFUVFFZ0FpQUFLQUlnRUpNQlJ3MENJQU1vQWdBaEFpQUZRUUZHRFFFTUJBc0xJQUpCQVVFQklBQW9BaUFRa3dGQkFVY05BQXdDQzBGL0N3d0JDeUFCUVg4UVFRUi9RUUFGSUFFTEN5RUtJQU1rQmlBS0Mxa0JBWDhnQUN3QUxBUkFJQUZCQkNBQ0lBQW9BaUFRa3dFaEF3VURRQ0FESUFKSUJFQWdBQ0FCS0FJQUlBQW9BZ0FvQWpSQlAzRkJpZ0ZxRVFJQVFYOUhCRUFnQTBFQmFpRURJQUZCQkdvaEFRd0NDd3NMQ3lBREMwd0JBWDhnQUNnQ0FDZ0NHQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQWFJQUFnQVVHNDBBTVFPaUlCTmdJa0lBRW9BZ0FvQWh3aEFpQUFJQUVnQWtIL0FIRkJDR29SQUFCQkFYRTZBQ3dMN0FVQ0IzOENmQ01HSVFRakJrR2dBMm9rQmlBRVFaQURhaUVHSUFSQmdBRnFJUWdnQUNnQ0FDRUhJQUFvQWdRaEJTQUFRUWhxSUFSQnNBSnFJZ29nQkVIUUFXb2lDUkR6QzBFQVNBUkFRUUJCQTBHYnJBRWdCaEE5QlFKQUlBVkJmMnEzSVF4QkFDRUZBMEFnQlVFRVJ3UkFJQXBCSUdvZ0JVRURkR29pQUNBS1FVQnJJQVZCQTNScUt3TUFJQXlpSUFBckF3Q2hPUU1BSUFWQkFXb2hCUXdCQ3dzZ0Npc0RVQ0VMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUUFEUUNBQVFRTkhCRUFnQlVFWWJDQUlhaUFBUVFOMGFpQUZRUVYwSUFwcUlBQkJBM1JxS3dNQUlBdWpPUU1BSUFCQkFXb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUVJQWdyQXdCRUFBQUFBQUFBQUVDaUlBZEJmMnEzSWd1ak9RTUFJQVFnQ0NzRENFUUFBQUFBQUFBQVFLSWdDNk01QXdnZ0JDQUlLd01RUkFBQUFBQUFBQUJBb2lBTG8wUUFBQUFBQUFEd3Y2Q2FPUU1RSUFSQ0FEY0RHQ0FFUWdBM0F5QWdCQ0FJS3dNZ1JBQUFBQUFBQUFCQW9pQU1vNW81QXlnZ0JDQUlLd01vUkFBQUFBQUFBQUJBb2lBTW8wUUFBQUFBQUFEd3Y2Q2FPUU13SUFSQ0FEY0RPQ0FFUWdBM0EwQWdCRUlBTndOSUlBUWdBU0FDb0NBQklBS2hJZ3VqT1FOUUlBUWdBa1FBQUFBQUFBQUFRS0lnQWFJZ0M2TTVBMWdnQkVJQU53TmdJQVJDQURjRGFDQUVSQUFBQUFBQUFQQy9PUU53SUFSRUFBQUFBQUFBQUFBNUEzZ2dDU3NER0NFTElBa3JBemdoQWlBSkt3TllJUUZCQUNFR0EwQWdCa0VFUmcwQklBWkJCWFFnQkdvckF3QWhEQ0FHUVFWMElBUnFJUVVnQmtFRmRDQUVhaUVBUVFBaEJ3TkFJQWRCQTBjRVFDQUdJQWRCQW5ScVFRTjBJQU5xSUF3Z0IwRURkQ0FKYWlzREFLSWdCU3NEQ0NBSlFTQnFJQWRCQTNScUt3TUFvcUFnQUNzREVDQUpRVUJySUFkQkEzUnFLd01Bb3FBNUF3QWdCMEVCYWlFSERBRUxDeUFHUVF4cVFRTjBJQU5xSUFaQkJYUWdCR29yQXhnZ0RDQUxvaUFGS3dNSUlBS2lvQ0FBS3dNUUlBR2lvS0E1QXdBZ0JrRUJhaUVHREFBQUN3QUxDeUFFSkFZTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFJQWhCQURzQkFDQU1RUUE2QUFBRkFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0xJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUw2QVVDQ244QmZDTUdJUVFqQmtHQUFtb2tCaUFFUWZnQmFpRUlJQVJCOEFGcUlRb2dCRUhvQVdvaERDQUVRZUFCYWlFRklBUkIyQUZxSVFzZ0JFSFFBV29oQnlBRVFjZ0JhaUVKSUFSQkVHb2hBeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUFRWWk1QVJDd0FTSUdSUVJBSUFsQnBNVURLQUlBTmdJQUlBa2dBRFlDQkVFQVFRTkJzNm9CSUFrUVBVR2t4UU1vQWdBUXZRRWhBQ0FIUWFmVkF6WUNBQ0FISUFBMkFnUkJBRUVEUWFXMkFTQUhFRDFCZnlFQURBRUxJQVpCQUVFQ0VQUUJJQVlvQWt3YUlBWW9BZ0JCQlhaQkFYRUVRQ0FMUWFURkF5Z0NBRFlDQUVFQVFRTkIrS29CSUFzUVBVR2t4UU1vQWdBUXZRRWhBQ0FGUWFmVkF6WUNBQ0FGSUFBMkFnUkJBRUVEUWFXMkFTQUZFRDFCZnlFQUJRSkFJQVlRK0FJaEJ5QUdFUGtDUVFBaEFBSkFBa0FEZnlBQVFRUlBEUUVnQUVFQmFpRUZJQWNnQUVFRGRFR2tGV29vQWdBaUFCQlBCSDhnQlNFQURBRUZJQVVMQ3lFRkRBRUxJQUJCQkVZRWYwRUFRUU5CcGFzQklBd1FQVUYvSVFBTUFnVkJBQ0VGUWFRVktBSUFDeUVBQ3lBRElBQkJBU0FHRUdGQkFVY0VRQ0FLUWFURkF5Z0NBRFlDQUVFQVFRTkI5YXNCSUFvUVBVR2t4UU1vQWdBUXZRRWhBQ0FJUWFmVkF6WUNBQ0FJSUFBMkFnUkJBRUVEUWFXMkFTQUlFRDFCZnlFQURBRUxJQU1nQlRZQ3NBRWdBeERZQkNBRlFRRkdJZ2NFUUNBREt3TjRJUTBnQXlBRFFZQUJhaUlBS3dNQU9RTjRJQU1nRFRrRGdBRUZJQU5CZ0FGcUlRQUxJQUVnQTBHNEFSQk1HaUFFSUFJMkFnQkJBU0VDQTBBZ0FrRUJUZ1JBUVFBaEFBd0NDeUFFS0FJQVFRTnFRWHh4SWdrb0FnQWhDQ0FFSUFsQkJHbzJBZ0FnQ0NBQktBS3dBVFlDc0FFZ0F5QUJLQUt3QVVFRGRFR2NGV29vQWdCQkFTQUdFR0ZCQVVjRVFFRi9JUUFNQWdzZ0F5QUZOZ0t3QVNBREVOZ0VJQWNFUUNBREt3TjRJUTBnQXlBQUt3TUFPUU40SUFBZ0RUa0RBQXNnQ0NBRFFiZ0JFRXdhSUFKQkFXb2hBZ3dBQUFzQUN3c2dCaEJxQ3dWQmZ5RUFDeUFFSkFZZ0FBdVRBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0FoZ2dBMEVDZEdvMkFoZ2dBeUFFYWlFRUlBTkJBblFnQVdvRklBQWdBU2dDQUNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUVJxQ3lFQkRBRUxDeUFFQ3pNQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUVhallDRENBQUtBSUFDd3VVQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWd3aUF5QUFLQUlRSWdWSkJIOGdBU0FESUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BZ3dnQTBFQ2RHbzJBZ3dnQTBFQ2RDQUJhZ1VnQUNBQUtBSUFLQUlvUWY4QWNVRUlhaEVBQUNJRFFYOUdEUUVnQVNBRE5nSUFRUUVoQXlBQlFRUnFDeUVCSUFNZ0JHb2hCQXdCQ3dzZ0JBdVFBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5ySWdNZ0JpQURTQnNpQXhDb0FTQUFJQU1nQUNnQ0dHbzJBaGdnQXlBRWFpRUVJQUVnQTJvRklBQW9BZ0FvQWpRaEF5QUFJQUVzQUFBUVFpQURRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRRnFDeUVCREFFTEN5QUVDelVBSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFQmFqWUNEQ0FBTEFBQUVFSUxDNDBCQVFSL0EwQUNRQ0FFSUFKT0RRQWdBQ2dDRENJRElBQW9BaEFpQlVrRWZ5QUJJQU1nQWlBRWF5SUdJQVVnQTJzaUF5QUdJQU5JR3lJREVLZ0JJQUFnQXlBQUtBSU1hallDRENBQklBTnFCU0FBSUFBb0FnQW9BaWhCL3dCeFFRaHFFUUFBSWdOQmYwWU5BU0FCSUFNUVFqb0FBRUVCSVFNZ0FVRUJhZ3NoQVNBRElBUnFJUVFNQVFzTElBUUxDd0FnQUJDZEFpQUFFRGdMU0FFQ2Z5QUFLQUlvSVFFRFFDQUJCRUFnQUNnQ0lDQUJRWDlxSWdGQkFuUnFLQUlBSVFKQkFDQUFJQUFvQWlRZ0FVRUNkR29vQWdBZ0FrRURjVUgyQldvUkJnQU1BUXNMQ3dRQVFRQUxNd0VDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQklBRW9BZ0EyQWdRZ0FTZ0NCQ2dDQkJDSUF5RUNJQUVrQmlBQ0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFZdUpBellDQUVHdytRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWV1SUF6WUNBRUc0K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY3lJQXpZQ0FFSEErUUJCQmlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFkNkdBellDQUVISStRQkJCU0FBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWNDR0F6WUNBRUhRK1FCQkJDQUFLQUlBRUFnZ0FDUUdDK29GQVFaOEFuOENRQUpBQWtBQ1FBSkFBa0FnQlVFQmF3NEVBd0lCQUFRTElBQXJBd0FnQVNBQUt3TXdJZ2loSUFCQlFHc3JBd0FpQnFJZ0FDc0RJQ0lKb3lJQklBR2lJQUlnQUNzRE9DSUtvU0FHb2lBQUt3TW9JZ3VqSWdJZ0FxS2dJZ2FpUkFBQUFBQUFBUEEvb0NBR0lBQXJBd2dnQnFLaW9DRUhJQU1nQ0NBSklBQXJBeGdpQ0NBR0lBRWdBVVFBQUFBQUFBQUFRS0tpb0tJZ0FpQUFLd01RSWdsRUFBQUFBQUFBQUVDaUlBR2lvaUFCSUFlaW9LQ2lvRGtEQUNBS0lBc2dBaUFJUkFBQUFBQUFBQUJBb2lBQm9xSWdDU0FHSUFJZ0FrUUFBQUFBQUFBQVFLS2lvS0lnQWlBSG9xQ2dvcUFoQVF3RUN5QUJJQUFyQXdBaUJxRWdBQ3NERUNJSG9pSUJSQUFBQUFBQUFBQUFZU0FISUFJZ0FDc0RDS0dpSWdKRUFBQUFBQUFBQUFCaGNRUjhJQU1nQmprREFDQUFLd01JQlNBRElBWWdBQ3NER0NBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNZ1JBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQU1MSUFFZ0FDc0RBQ0lHb1NBQUt3TVFJZ2VpSWdGRUFBQUFBQUFBQUFCaElBY2dBaUFBS3dNSW9hSWlBa1FBQUFBQUFBQUFBR0Z4Qkh3Z0F5QUdPUU1BSUFBckF3Z0ZJQU1nQmlBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2dPUU1BSUFBckF3Z2dBaUFCb3FBTElRRU1BZ3NnQVNBQUt3TUFJZ2FoSUFBckF4QWlCNklpQVVRQUFBQUFBQUFBQUdFZ0J5QUNJQUFyQXdpaG9pSUNSQUFBQUFBQUFBQUFZWEVFZkNBRElBWTVBd0FnQUNzRENBVWdBeUFHSUFGRUFBQUFBQUFBOEQ4Z0FTQUJvaUFDSUFLaW9DQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElnR2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQUVMUVg4TUFRc2dCQ0FCT1FNQVFRQUxHZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhNaEFNMkFnQkJpUG9BUVFBZ0FDZ0NBQkFJSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSGRnd00yQWdCQm1Qa0FJQUFvQWdCQkNCQVdJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIWGd3TTJBZ0JCa1BrQUlBQW9BZ0JCQkJBV0lBQWtCZ3N0QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhKZ3dNMkFnQkJpUGtBSUFBb0FnQkJCRUVBUVg4UUNpQUFKQVlMTlFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCeElNRE5nSUFRWUQ1QUNBQUtBSUFRUVJCZ0lDQWdIaEIvLy8vL3djUUNpQUFKQVlMTFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCdDRNRE5nSUFRZmo0QUNBQUtBSUFRUVJCQUVGL0VBb2dBQ1FHQ3pVQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWJPREF6WUNBRUh3K0FBZ0FDZ0NBRUVFUVlDQWdJQjRRZi8vLy84SEVBb2dBQ1FHQ3k4QkFYOGpCaUVBSXdaQkVHb2tCaUFBUWFTREF6WUNBRUhvK0FBZ0FDZ0NBRUVDUVFCQi8vOERFQW9nQUNRR0N6RUJBWDhqQmlFQUl3WkJFR29rQmlBQVFaNkRBellDQUVIZytBQWdBQ2dDQUVFQ1FZQ0Fma0gvL3dFUUNpQUFKQVlMTGdFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCa0lNRE5nSUFRZEQ0QUNBQUtBSUFRUUZCQUVIL0FSQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHRWd3TTJBZ0JCMlBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSC9nZ00yQWdCQnlQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3NmQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdtMVFNMkFnQVE0QVFnQUNRR0N3WUFRZURGQXdzR0FFSGN4UU1MQmdCQjFNVURDd2dBUWVURkF4QTJDM0FCQW44Z0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ1VDUUNBQVFSQnFJQUFvQWd3aUJFRURkR29oQlNBQVFSQnFJQUVnQWlBREVPRUVJQVJCQVVvRVFDQUFRUmhxSVFBRFFDQUFJQUVnQWlBREVPRUVJQUVzQURZTkFpQUFRUWhxSWdBZ0JVa05BQXNMQ3dzTHhRUUJBMzhnQUNBQktBSUlJQVFRZ1FFRVFDQUJJQUlnQXhEeUFnVUNRQ0FBSUFFb0FnQWdCQkNCQVVVRVFDQUFLQUlNSVFVZ0FFRVFhaUFCSUFJZ0F5QUVFSjRDSUFWQkFVd05BU0FBUVJCcUlBVkJBM1JxSVFZZ0FFRVlhaUVGSUFBb0FnZ2lBRUVDY1VVRVFDQUJLQUlrUVFGSEJFQWdBRUVCY1VVRVFBTkFJQUVzQURZTkJTQUJLQUlrUVFGR0RRVWdCU0FCSUFJZ0F5QUVFSjRDSUFWQkNHb2lCU0FHU1EwQURBVUFDd0FMQTBBZ0FTd0FOZzBFSUFFb0FpUkJBVVlFUUNBQktBSVlRUUZHRFFVTElBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUF3c0xBMEFnQVN3QU5nMENJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01BUXNnQVNnQ0VDQUNSd1JBSUFFb0FoUWdBa2NFUUNBQklBTTJBaUFnQVNnQ0xFRUVSd1JBSUFCQkVHb2dBQ2dDREVFRGRHb2hCMEVBSVFNZ0FFRVFhaUVHSUFFQ2Z3SkFBMEFDUUNBR0lBZFBEUUFnQVVFQU9nQTBJQUZCQURvQU5TQUdJQUVnQWlBQ1FRRWdCQkR2QWlBQkxBQTJEUUFnQVN3QU5RUkFBa0FnQVN3QU5FVUVRQ0FBS0FJSVFRRnhCRUJCQVNFRkRBSUZEQVlMQUFzZ0FTZ0NHRUVCUmdSQVFRRWhBd3dGQ3lBQUtBSUlRUUp4Qkg5QkFTRUZRUUVGUVFFaEF3d0ZDeUVEQ3dzZ0JrRUlhaUVHREFFTEN5QUZCSDhNQVFWQkJBc01BUXRCQXdzMkFpd2dBMEVCY1EwREN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQy9RQ0FRbC9JQUFnQVNnQ0NDQUZFSUVCQkVBZ0FTQUNJQU1nQkJEeEFnVWdBU3dBTkNFT0lBRXNBRFVoQmlBQVFSQnFJQUFvQWd3aUIwRURkR29oRENBQlFRQTZBRFFnQVVFQU9nQTFJQUJCRUdvZ0FTQUNJQU1nQkNBRkVPOENJQTRnQVN3QU5DSUxjaUVKSUFZZ0FTd0FOU0lJY2lFR0lBZEJBVW9FZndKL0lBQkJHR29oQ2dOL0lBWkJBWEVoQnlBSlFRRnhJUVlnQVN3QU5nUkFJQVloQWlBSERBSUxJQXRCL3dGeEJFQWdBU2dDR0VFQlJnUkFJQVloQWlBSERBTUxJQUFvQWdoQkFuRkZCRUFnQmlFQ0lBY01Bd3NGSUFoQi93RnhCRUFnQUNnQ0NFRUJjVVVFUUNBR0lRSWdCd3dFQ3dzTElBRkJBRG9BTkNBQlFRQTZBRFVnQ2lBQklBSWdBeUFFSUFVUTd3SWdCaUFCTEFBMElndHlJUWdnQnlBQkxBQTFJZzF5SVFZZ0NrRUlhaUlISUF4SkJIOGdCeUVLSUFnaENTQU5JUWdNQVFVZ0NDRUNJQVlMQ3dzRklBa2hBaUFHQ3lFQUlBRWdBa0gvQVhGQkFFYzZBRFFnQVNBQVFmOEJjVUVBUnpvQU5Rc0xDd0FnQUNBQlFRQVFnUUVMS1FFQmZ5QUFLQUlBUVhScUlnQW9BZ2doQVNBQUlBRkJmMm8yQWdnZ0FVRUJTQVJBSUFBUU9Bc0xCd0FnQUNnQ0JBdEFBUUYvSUFBZ0FTZ0NDRUVBRUlFQkJFQWdBU0FDSUFNUTh3SUZJQUFvQWdnaUFDZ0NBQ2dDSENFRUlBQWdBU0FDSUFNZ0JFRWZjVUg2QldvUkJ3QUxDNWdDQVFKL0lBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGQWtBZ0FDQUJLQUlBSUFRUWdRRkZCRUFnQUNnQ0NDSUFLQUlBS0FJWUlRVWdBQ0FCSUFJZ0F5QUVJQVZCUDNGQm1nWnFFUVVBREFFTElBRW9BaEFnQWtjRVFDQUJLQUlVSUFKSEJFQWdBU0FETmdJZ0lBRW9BaXhCQkVjRVFDQUJRUUE2QURRZ0FVRUFPZ0ExSUFBb0FnZ2lBQ2dDQUNnQ0ZDRURJQUFnQVNBQ0lBSkJBU0FFSUFOQkIzRkIyZ1pxRVF3QUlBRXNBRFVFUUNBQkxBQTBSU0VHSUFGQkF6WUNMQ0FHUlEwRUJTQUJRUVEyQWl3TEN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQzBZQkFYOGdBQ0FCS0FJSUlBVVFnUUVFUUNBQklBSWdBeUFFRVBFQ0JTQUFLQUlJSWdBb0FnQW9BaFFoQmlBQUlBRWdBaUFESUFRZ0JTQUdRUWR4UWRvR2FoRU1BQXNMd0FZQ0EzOEdmQ01HSVFRakJrSGdBR29rQmdKQUlBQXJBMWhFQUFBQUFBQUFBQUJtQkVBRFFDQUZRUU5HRFFKQkFDRURBMEFnQTBFRVJ3UkFJQVZCQlhRZ0JHb2dBMEVEZEdvZ0JVRUZkQ0FBYWlBRFFRTjBhaXNEQURrREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQlFOQUlBVkJBMFlOQWtFQUlRTURRQ0FEUVFSSEJFQWdCVUVGZENBRWFpQURRUU4wYWlBRlFRVjBJQUJxSUFOQkEzUnFLd01BbWprREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQ3dBTFFRQWhBd05BSUFOQkEwY0VRRUVBSVFBRFFDQUFRUVJIQkVBZ0EwRUZkQ0FCYWlBQVFRTjBha1FBQUFBQUFBQUFBRGtEQUNBQVFRRnFJUUFNQVFzTElBTkJBV29oQXd3QkN3c2dBU0FFUVVCckt3TUFJZ2dnQkNzRFNDSUdJQVFyQTFBaUNoRHdBaUlIT1FOUUlBSkJRR3NpQUNBSUlBZWpJZ2c1QXdBZ0FpQUdJQUVyQTFDaklnWTVBMGdnQWlBS0lBRXJBMUNqSWdjNUExQWdBaUFFS3dOWUlBRXJBMUNqT1FOWUlBRWdDQ0FHSUFjZ0JDc0RJQ0lJSUFRckF5Z2lCaUFFS3dNd0lnY1E3Z0lpQ1RrRE1DQUJJQWdnQ1NBQUt3TUFvcUVpQ2lBR0lBa2dBaXNEU0tLaElnZ2dCeUFKSUFJckExQ2lvU0lHRVBBQ0lnYzVBeWdnQWlBS0lBZWpPUU1nSUFJZ0NDQUJLd01vb3prREtDQUNJQVlnQVNzREtLTTVBekFnQVNBQUt3TUFJQUlyQTBnZ0Fpc0RVQ0FFS3dNQUlnZ2dCQ3NEQ0NJR0lBUXJBeEFpQnhEdUFpSUxPUU1RSUFFZ0Fpc0RJQ0FDS3dNb0lBSXJBekFnQ0NBR0lBY1E3Z0lpQ1RrRENDQUJJQWdnQ1NBQ0t3TWdvcUVnQ3lBQUt3TUFvcUVpQ2lBR0lBa2dBaXNES0tLaElBc2dBaXNEU0tLaElnZ2dCeUFKSUFJckF6Q2lvU0FMSUFJckExQ2lvU0lHRVBBQ0lnYzVBd0FnQWlBS0lBZWpPUU1BSUFJZ0NDQUJLd01Bb3prRENDQUNJQVlnQVNzREFLTTVBeEFnQWlBRUt3TTRJQUVyQXpBZ0Fpc0RXQ0lHb3FFZ0FTc0RLS01pQnprRE9DQUNJQVFyQXhnZ0J5QUJLd01Jb3FFZ0JpQUJLd01Rb3FFZ0FTc0RBS001QXhoQkFDRURBMEFnQTBFRFJ3UkFRUUFoQWdOQUlBSkJBMGNFUUNBRFFRVjBJQUZxSUFKQkEzUnFJZ0FnQUNzREFDQUJLd05Rb3prREFDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQkNRR1FRQUxHZ0FnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnc0xrd0VBSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZJQUFnQVNnQ0FDQUVFSUVCQkVBQ1FDQUJLQUlRSUFKSEJFQWdBU2dDRkNBQ1J3UkFJQUVnQXpZQ0lDQUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVWUVRQ0FCS0FJWVFRSkdCRUFnQVVFQk9nQTJDd3NnQVVFRU5nSXNEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQ3dzY0FDQUFJQUVvQWdnZ0JSQ0JBUVJBSUFFZ0FpQURJQVFROFFJTEM5SUJBUUovSXdZaEF5TUdRVUJySkFZZ0FDQUJRUUFRZ1FFRWYwRUJCU0FCQkg4Z0FVSEE5d0JCc1BjQUVPUUVJZ0VFZnlBRElBRTJBZ0FnQTBFQU5nSUVJQU1nQURZQ0NDQURRWDgyQWd3Z0EwSUFOd0lRSUFOQ0FEY0NHQ0FEUWdBM0FpQWdBMElBTndJb0lBTkJBRFlDTUNBRFFRQTdBVFFnQTBFQU9nQTJJQU5CQVRZQ01DQUJLQUlBS0FJY0lRQWdBU0FESUFJb0FnQkJBU0FBUVI5eFFmb0ZhaEVIQUNBREtBSVlRUUZHQkg4Z0FpQURLQUlRTmdJQVFRRUZRUUFMQlVFQUN3VkJBQXNMSVFRZ0F5UUdJQVFMM1FFQkJYOGpCaUVBSXdaQk1Hb2tCaUFBUVJocUlRSWdBRUVRYWlFQklBQkJKR29oQTBITXhRTW9BZ0FpQkFSQUlBSkI5ZjhDTmdJQVFjUC9BaUFDRUo4Q0lBTWdCRUhRQUdvMkFnQWdCQ2dDQUNJRUtBSUVJUUpCcVBjQUlBUWdBMEdvOXdBb0FnQW9BaEJCUDNGQnlnRnFFUVFBQkVBZ0F5Z0NBQ0lCS0FJQUtBSUlJUU1nQVNBRFFmOEFjVUVJYWhFQUFDRUJJQUJCOWY4Q05nSUFJQUFnQWpZQ0JDQUFJQUUyQWdoQjdmNENJQUFRbndJRklBRkI5ZjhDTmdJQUlBRWdBallDQkVHYS93SWdBUkNmQWdzTFFlbi9BaUFBUVNCcUVKOENDNmNFQVFKOElBRzNJQUFvQWdDM295RUVJQUszSUFBb0FnUzNveUVGSUFNZ0FUWUNBQ0FESUFJMkFnUkJBQ0VCQTBBZ0FVRUVSd1JBSUFOQkNHb2dBVUVEZEdvZ0JDQUFRUWhxSUFGQkEzUnFLd01Bb2prREFDQURRU2hxSUFGQkEzUnFJQVVnQUVFb2FpQUJRUU4wYWlzREFLSTVBd0FnQTBISUFHb2dBVUVEZEdvZ0FFSElBR29nQVVFRGRHb3JBd0E1QXdBZ0FVRUJhaUVCREFFTEN3SkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FyQUJJZ0ZCQVdzT0JBTUNBUUFFQ3lBRElBQXJBMmc1QTJnZ0F5QUFLd053T1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFRZ0FDc0RpQUdpT1FPSUFTQURJQVVnQUNzRGtBR2lPUU9RQVNBRElBUWdBQ3NEbUFHaU9RT1lBU0FESUFVZ0FDc0RvQUdpT1FPZ0FTQURJQUFyQTZnQk9RT29BUXdFQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQUFyQTRnQklBUWdCYUtqT1FPSUFTQURJQUFyQTVBQklBVWdCQ0FFb2lBRm9xS2pPUU9RQVF3REN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFTQURJQUFyQTRnQklBVWdCQ0FFb2lBRm9xS2pPUU9JQVF3Q0N5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFRd0JDd3dCQ3lBRElBRTJBckFCQ3d2N0V3SVJmd0Y4SXdZaEZDTUdRUkJxSkFZZ0ZDRVFJQUZCQWhBNUlRMGdBa0VDRURraER5QUVLQUlBSWdjaEFpQU5JQTlCZjJvaUVXeEJBWFFnQjJvaEJRTkFJQXNnRFVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdDMEVCYWlFTERBRUxDeUFISVFJZ0RVRi9haUlTUVFGMElBZHFJUVZCQUNFTEEwQWdDeUFQU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnRFVFQmRDQUNhaUVDSUExQkFYUWdCV29oQlNBTFFRRnFJUXNNQVFzTElBUkJrSURJQUdvaEFrRUFJQTFySVJNZ0FDQUJRUUYwUVFKcWFpRU9RUUVoREVFQUlRVWdEVUVCYWlJQUlBUW9BZ1JxSVFzZ0FFRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0RDQVJUZzBDSUFVaEFFRUJJUWtEUUNBSklCSklCRUFnRGkwQUFDQURTZ1JBSUFkQkFEc0JBQ0FMUVFBNkFBQUZBa0FnQzBGL09nQUFJQk5CQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQXNMSUE1QkFtb2hEaUFMUVFGcUlRc2dDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FPYWtFRWFpRU9JQXhCQVdvaERDQUFJUVVnQzBFQ2FpRUxJQWRCQkdvaEJ3d0JDd3RCQUVFRFFhaWxBU0FRRUQxQmZ3d0JDeUFFUVF4cUlRZEJBU0VBUVFFaEF3TkFJQU1nQlV3RVFDQURJQUlvQWdBaUMwWUVRQ0FBUVFGcUlRRUZJQUFoQVNBTFFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBSWdBRFlDQUNBQklRQWdBMEVCYWlFRElBSkJCR29oQWd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBZEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VCQTBBZ0FTQUFTQVJBSUFSQmpJQUlhaUFCUVFKMElnSkJBblJxSUEwMkFnQWdCRUdNZ0FocUlBSkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUpCQW5KQkFuUnFJQTgyQWdBZ0JFR01nQWhxSUFKQkEzSkJBblJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loYWpPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGcU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSVWdFQ1FHSUJVTEJBQWpCZ3NiQVFKL0l3WWhBaUFBSXdacUpBWWpCa0VQYWtGd2NTUUdJQUlMQzZHTEEyRUFRWUFJQ3hJMlV3QUFQVk1BQUVsVEFBQlRVd0FBWVZNQVFhQUlDOW9ULy8vLy8vLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy8vLy8vLy8vLy8vL3dBQUFBRUFBUUVCQUFJRS8vOEZBd0VBQXY4R0IvOERBUUlDQXdJREFnTURBUDhFQmdjRi93RUVCUVFFQlFVRUJRY0dCZ1lIQndjRy93SUVCZ2NGQS84QUFRRUJBUUVCQUFFQkFRQUFBUUVCQVFFQUFRRUFBUUVCQUFFQkFRRUFBUUVBQVFFQkFRQUJBUUVBQVFFQUFRRUJBUUVBQUFFQkFRQUJBUUVCQVFFQUFQLy9BLzhGQnYvL0NRci9EUC8vRC84UkV2OFUvLzhYR1AvL0cvOGRIdi8vQVFML0JQLy9Cd2ovL3d2L0RRNy9FUC8vRS84VkZ2Ly9HUnIvSFAvL0h3RUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFCUUFBQUFvQUFBQVVBQUFBRFFBQUFCb0FBQUFSQUFBQUJ3QUFBQTRBQUFBY0FBQUFIUUFBQUI4QUFBQWJBQUFBRXdBQUFBTUFBQUFHQUFBQURBQUFBQmdBQUFBVkFBQUFEd0FBQUI0QUFBQVpBQUFBRndBQUFBc0FBQUFXQUFBQUNRQUFBQklBQUFBQUFBQUFBUUFBQUFJQUFBQUVBQUFBQ0FBQUFBTUFBQUFHQUFBQURBQUFBQXNBQUFBRkFBQUFDZ0FBQUFjQUFBQU9BQUFBRHdBQUFBMEFBQUFKQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUJJQUFBQUNBQUFBQlFBQUFCTUFBQUFMQUFBQUF3QUFBQjBBQUFBR0FBQUFHd0FBQUJRQUFBQUlBQUFBREFBQUFCY0FBQUFFQUFBQUNnQUFBQjRBQUFBUkFBQUFCd0FBQUJZQUFBQWNBQUFBR2dBQUFCVUFBQUFaQUFBQUNRQUFBQkFBQUFBTkFBQUFEZ0FBQUJnQUFBQVBBQUFBLy8vLy93QUFBQUFCQUFBQUJBQUFBQUlBQUFBSUFBQUFCUUFBQUFvQUFBQURBQUFBRGdBQUFBa0FBQUFIQUFBQUJnQUFBQTBBQUFBTEFBQUFEQUFBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFBREFBQUFCZ0FBQUF3QUFBQVlBQUFBTUFBQUFHQUFBQUJEQUFBQUJRQUFBQW9BQUFBVUFBQUFLQUFBQUZBQUFBQWpBQUFBUmdBQUFBOEFBQUFlQUFBQVBBQUFBSGdBQUFCekFBQUFaUUFBQUVrQUFBQVJBQUFBSWdBQUFFUUFBQUFMQUFBQUZnQUFBQ3dBQUFCWUFBQUFNd0FBQUdZQUFBQlBBQUFBSFFBQUFEb0FBQUIwQUFBQWF3QUFBRlVBQUFBcEFBQUFVZ0FBQUNjQUFBQk9BQUFBSHdBQUFENEFBQUI4QUFBQWV3QUFBSFVBQUFCcEFBQUFVUUFBQUNFQUFBQkNBQUFBQndBQUFBNEFBQUFjQUFBQU9BQUFBSEFBQUFCakFBQUFSUUFBQUFrQUFBQVNBQUFBSkFBQUFFZ0FBQUFUQUFBQUpnQUFBRXdBQUFBYkFBQUFOZ0FBQUd3QUFBQmJBQUFBTlFBQUFHb0FBQUJYQUFBQUxRQUFBRm9BQUFBM0FBQUFiZ0FBQUY4QUFBQTlBQUFBZWdBQUFIY0FBQUJ0QUFBQVdRQUFBREVBQUFCaUFBQUFSd0FBQUEwQUFBQWFBQUFBTkFBQUFHZ0FBQUJUQUFBQUpRQUFBRW9BQUFBWEFBQUFMZ0FBQUZ3QUFBQTdBQUFBZGdBQUFHOEFBQUJkQUFBQU9RQUFBSElBQUFCbkFBQUFUUUFBQUJrQUFBQXlBQUFBWkFBQUFFc0FBQUFWQUFBQUtnQUFBRlFBQUFBckFBQUFWZ0FBQUM4QUFBQmVBQUFBUHdBQUFINEFBQUIvQUFBQWZRQUFBSGtBQUFCeEFBQUFZUUFBQUVFQUFBQUFBQUFBLy8vLy93QUFBQUFCQUFBQUJ3QUFBQUlBQUFBT0FBQUFDQUFBQURnQUFBQURBQUFBUHdBQUFBOEFBQUFmQUFBQUNRQUFBRm9BQUFBNUFBQUFGUUFBQUFRQUFBQWNBQUFBUUFBQUFFTUFBQUFRQUFBQWNBQUFBQ0FBQUFCaEFBQUFDZ0FBQUd3QUFBQmJBQUFBUmdBQUFEb0FBQUFtQUFBQUZnQUFBQzhBQUFBRkFBQUFOZ0FBQUIwQUFBQVRBQUFBUVFBQUFGOEFBQUJFQUFBQUxRQUFBQkVBQUFBckFBQUFjUUFBQUhNQUFBQWhBQUFBVFFBQUFHSUFBQUIxQUFBQUN3QUFBRmNBQUFCdEFBQUFJd0FBQUZ3QUFBQktBQUFBUndBQUFFOEFBQUE3QUFBQWFBQUFBQ2NBQUFCa0FBQUFGd0FBQUZJQUFBQXdBQUFBZHdBQUFBWUFBQUIrQUFBQU53QUFBQTBBQUFBZUFBQUFQZ0FBQUJRQUFBQlpBQUFBUWdBQUFCc0FBQUJnQUFBQWJ3QUFBRVVBQUFCckFBQUFMZ0FBQUNVQUFBQVNBQUFBTlFBQUFDd0FBQUJlQUFBQWNnQUFBQ29BQUFCMEFBQUFUQUFBQUNJQUFBQldBQUFBVGdBQUFFa0FBQUJqQUFBQVp3QUFBSFlBQUFCUkFBQUFEQUFBQUgwQUFBQllBQUFBUFFBQUFHNEFBQUFhQUFBQUpBQUFBR29BQUFCZEFBQUFOQUFBQUVzQUFBQXBBQUFBU0FBQUFGVUFBQUJRQUFBQVpnQUFBRHdBQUFCOEFBQUFhUUFBQUJrQUFBQW9BQUFBTXdBQUFHVUFBQUJVQUFBQUdBQUFBSHNBQUFCVEFBQUFNZ0FBQURFQUFBQjZBQUFBZUFBQUFIa0FBQUFFQUFBQWlBQUFBQVVBQUFDUUFBQUFCZ0FBQUpnQUFBQUpBQUFBc0FBQUFPTlpBQURwV1FBQTdsa0FBUFpaQUFBQUFBQUFzcjY1UGhMY29MNlF2amsrRXR5Z3ZwQytPYjRBQUFDQXNyNjV2aExjb0Q2UXZqbStFdHlnUHBDK09UN1NjaGkvQUFBQUFOSnltTDQ2QmdTLzBuS1lQam9HQkwvU2NoZy9BQUFBZ05KeW1ENDZCZ1EvMG5LWXZqb0dCRDhBQUFDQVZyZzl2MlpOSkQ5V3VMMitaazBrUDFhNHZUNEFBQUFBVnJnOVAyWk5KTDlXdUwwK1prMGt2MWE0dmI0TTZWZy9BQUFBZ0F6cDJENloyVHMvRE9uWXZwblpPejhNNlZpL0FBQUFBQXpwMkw2WjJUdS9ET25ZUHBuWk83OEFBQUFBL0ZOdVAvRmxUcjhOVk80KzhXVk92dzFVN3I0QUFBQ0EvRk51di9GbFRqOE5WTzYrOFdWT1B3MVU3ajRBQUlDL0FBQUFBQUFBQUwvUXMxMi9BQUFBUDlDelhiOEFBSUEvQUFBQWdBQUFBRC9RczEwL0FBQUF2OUN6WFQ5d1BBQUFjRHdBQUhBOEFBQndQQUFBakt3QUFLS3NBQURDckFBQTU2d0FBQUd0QUFBZ3JRQUFOYTBBQUZLdEFBQjhyUUFBdkswQUFOdXRBQUR5clFBQUNLNEFBQnl1QUFCWnJnQUFpYTRBQUtXdUFBRElyZ0FBLzY0QUFEYXZBQUJOcndBQWJhOEFBSmV2QUFEa3J3QUEvNjhBQUNxd0FBQkdzQUFBYTdBQUFKR3dBQUMyc0FBQXliQUFBTjZ3QUFEeHNBQUFCTEVBQUNteEFBQStzUUFBVXJFQUFIT3hBQUNKc1FBQXVMRUFBT0N4QUFBQnNnQUFJcklBQUZHeUFBQmlzZ0FBZnJJQUFMeXlBQURqc2dBQUNyTUFBQjZ6QUFCTXN3QUFkTE1BQUpDekFBQzFzd0FBMTdNQUFBRzBBQUFzdEFBQVNyUUFBSGkwQUFDZ3RBQUF4N1FBQVBLMEFBQWZ0UUFBVDdVQUFIbTFBQUNtdFFBQXliVUFBT2UxQUFBRnRnQUFPN1lBQUdXMkFBQ0V0Z0FBcDdZQUFNNjJBQURqdGdBQTk3WUFBQ3kzQUFBOHR3QUFlcmNBQUx5M0FBRG10d0FBRXJnQUFEbTRBQUJWdUFBQWdMZ0FBSnU0QUFDdnVBQUF4cmdBQU5PNEFBRDd1QUFBTUxrQUFHeTVBQUNhdVFBQXU3a0FBT0s1QUFEN3VRQUFJN29BQUVhNkFBQmV1Z0FBZ3JvQUFLZTZBQUN0dWdBQTVyb0FBQ0M3QUFBL3V3QUFUcnNBQUd1N0FBQ0p1d0FBcHJzQUFMKzdBQURZdXdBQUdyd0FBRlM4QUFDS3ZBQUF2cndBQU5LOEFBRHB2QUFBRDcwQUFEYTlBQUI0dlFBQXRMMEFBT1c5QUFBSnZnQUFONzRBQUZLK0FBQ0t2Z0FBdGI0QVFZUWNDNzBFQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBREFBQUFDZ0FBQUJFQUFBQVlBQUFBSUFBQUFCa0FBQUFTQUFBQUN3QUFBQVFBQUFBRkFBQUFEQUFBQUJNQUFBQWFBQUFBSVFBQUFDZ0FBQUF3QUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQUdBQUFBQndBQUFBNEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFNUUFBQURnQUFBQTVBQUFBTWdBQUFDc0FBQUFrQUFBQUhRQUFBQllBQUFBUEFBQUFGd0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUE2QUFBQU93QUFBRFFBQUFBdEFBQUFKZ0FBQUI4QUFBQW5BQUFBTGdBQUFEVUFBQUE4QUFBQVBRQUFBRFlBQUFBdkFBQUFOd0FBQUQ0QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQVVBQUFBTUFBQUFFd0FBQUJvQUFBQWhBQUFBS0FBQUFEQUFBQUFwQUFBQUlnQUFBQnNBQUFBVUFBQUFEUUFBQUFZQUFBQU9BQUFBRlFBQUFCd0FBQUFqQUFBQUtnQUFBREVBQUFBeUFBQUFLd0FBQUNRQUFBQWRBQUFBRmdBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBMEFBQUFMUUFBQUNZQUFBQXVBQUFBTlFBQUFEWUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSUF2dEFnRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFDQUFBQUFaQUFBQUVnQUFBQXNBQUFBRUFBQUFCUUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFvQUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQUt3QUFBQ1FBQUFBZEFBQUFKUUFBQUN3QUFBQXRBQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQWlBQUFBR3dBQUFCUUFBQUFjQUFBQUl3QUFBQ1FBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUl3dmRBUUVBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQmtBQUFBU0FBQUFDd0FBQUJNQUFBQWFBQUFBR3dBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQUFBQUFBQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBS0FBQUFFUUFBQUJJQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSEVKUXVVQkFFQUFBQUlBQUFBQ1FBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQ0JBUjFhRGdLR0pSQURGQkVTQkFzSUZBWFlBeGNHMmdFWkIrVUFIQWh2QUI0Sk5nQWhDaG9BSXdzTkFBa01CZ0FLRFFNQURBMEJBSThQZjFva0VDVS9KaEh5TENjU2ZDQW9FN2tYS2hTQ0VTc1Y3d3d0RnFFSkxoY3ZCekFZWEFVeEdRWUVNeG9EQXpRYlFBSTJITEVCT0IxRUFUa2U5UUE3SDdjQVBDQ0tBRDRoYUFBL0lrNEFJQ003QUNFSkxBQ2xKZUZhUUNaTVNFRW5EVHBES1BFdVJDa2ZKa1VxTXg5R0s2Z1pTQ3dZRlVrdGR4RktMblFPU3kvN0MwMHcrQWxPTVdFSVR6SUdCekF6elFVeU5ONEVNalVQQkRNMll3TTBOOVFDTlRoY0FqWTUrQUUzT3FRQk9EdGdBVGs4SlFFNlBmWUFPejdMQUQwL3F3QTlJSThBd1VFU1cxQkNCRTFSUXl4QlVrVFlOMU5GNkM5VVJqd3BWa2Q1STFkSTN4NVhTYWthU0VwT0YwaExKQlJLVEp3UlNrMXJEMHRPVVExTlQ3WUxUVEJBQ3RCUk1saFlVaHhOV1ZPT1ExcFUzVHRiVmU0MFhGYXVMbDFYbWlsV1J4WWwyRmx3VlY5YXFVeGdXOWxFWVZ3aVBtTmRKRGhqWHJReVhWWVhMdDlncUZabFlVWlBabUxsUjJkanowRm9aRDA4WTExZU4ybG1NVkpxWnc5TWEyZzVSbWRqWGtIcGFpZFdiR3ZuVUcxbmhVdHViWmRWYjJ0UFVPNXZFRnB3YlNKVjhHL3JXWEZ4SFZvQVFlRXBDL0FCUU1WWW4xTkNTd0JBU1RLaklxZ1J4VmdoZS94elltakZXTDlGQ3pCK0dKOVQvSE5CYlZSaW4xT3pRVUV0RWhkQ1MySm9WR0orV0VKTElUdTZLTU1VQUVERldKOVRRa3NBUUVreW95S29FVWt5djBXelFTRTdTVEtDSnpjYjRBMmpJZ3N3UVMyNktLTWlOeHUvRW80SnFCRitHQklYd3hTb0VlQU5qZ25mQkFBQUFBQUFBUEEvNzJGSXNWQXg5ai9LYjAyUnJ1ZjBQNm9SYk85aTBQSS9BQUFBQUFBQThEODd2NmZBYVNUcFA3c2d4M3Q2VWVFL1hhdHkzbFdvMFQ4QUFBQUFBUUFBQUFJQUFBQURBQUFBQUFBQUFBRUFBQUFGQUFBQUFnQUFBQVFBQUFBR0FBQUFBd0FBQUFjQUFBQUlBRUhrS3d1ZEFRRUFBQUFGQUFBQUJnQUFBQUlBQUFBRUFBQUFCd0FBQUF3QUFBQURBQUFBQ0FBQUFBc0FBQUFOQUFBQUNRQUFBQW9BQUFBT0FBQUFEd0FBQUFBQUFBQUJBQUFBQlFBQUFBWUFBQUFPQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUE4QUFBQURBQUFBQ0FBQUFBd0FBQUFRQUFBQUZRQUFBQWtBQUFBTEFBQUFFUUFBQUJRQUFBQVdBQUFBQ2dBQUFCSUFBQUFUQUFBQUZ3QUFBQmdBUVpRdEM4MENBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJrQUFBQURBQUFBQ0FBQUFBd0FBQUFSQUFBQUdBQUFBQm9BQUFBSkFBQUFDd0FBQUJJQUFBQVhBQUFBR3dBQUFDQUFBQUFLQUFBQUV3QUFBQllBQUFBY0FBQUFId0FBQUNFQUFBQVVBQUFBRlFBQUFCMEFBQUFlQUFBQUlnQUFBQ01BQUFBQUFBQUFBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFiQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUJBQUFBQWFBQUFBSEFBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIUUFBQUNZQUFBQUpBQUFBQ3dBQUFCSUFBQUFZQUFBQUhnQUFBQ1VBQUFBbkFBQUFDZ0FBQUJNQUFBQVhBQUFBSHdBQUFDUUFBQUFvQUFBQUxRQUFBQlFBQUFBV0FBQUFJQUFBQUNNQUFBQXBBQUFBTEFBQUFDNEFBQUFWQUFBQUlRQUFBQ0lBQUFBcUFBQUFLd0FBQUM4QUFBQXdBRUgwTHd2UUJBRUFBQUFGQUFBQUJnQUFBQTRBQUFBUEFBQUFHd0FBQUJ3QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQm9BQUFBZEFBQUFLZ0FBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhnQUFBQ2tBQUFBckFBQUFDUUFBQUFzQUFBQVNBQUFBR0FBQUFCOEFBQUFvQUFBQUxBQUFBRFVBQUFBS0FBQUFFd0FBQUJjQUFBQWdBQUFBSndBQUFDMEFBQUEwQUFBQU5nQUFBQlFBQUFBV0FBQUFJUUFBQUNZQUFBQXVBQUFBTXdBQUFEY0FBQUE4QUFBQUZRQUFBQ0lBQUFBbEFBQUFMd0FBQURJQUFBQTRBQUFBT3dBQUFEMEFBQUFqQUFBQUpBQUFBREFBQUFBeEFBQUFPUUFBQURvQUFBQStBQUFBUHdBQUFBQUFBQUFCQUFBQUF3QUFBQWNBQUFBUEFBQUFId0FBQUQ4QUFBQi9BQUFBL3dBQUFQOEJBQUQvQXdBQS93Y0FBUDhQQUFEL0h3QUEvejhBQVA5L0FBQUF3RER3RE13OC9BUERNL01QenovL2dFQ3djSXhNdkh5RFE3TnpqMCsvZnlEZ0VOQXM3QnpjSStNVDB5L3ZIOStnWUpCUXJHeWNYS05qazFPdmI1OWZDTWc0K0FURU5QUUx5enY3QjhjMzk0aEl1SGlFUkxSMGkwdTdlNGRIdDNjbzZCallKT1FVMUN2ckc5c241eGZYcUdpWVdLUmtsRlNyYTV0YnAyZVhWd0xDTXZJT3pqNytBY0V4OFEzTlBmMkNRckp5ams2K2ZvRkJzWEdOVGIxOUl1SVMwaTd1SHQ0aDRSSFJMZTBkM2FKaWtsS3VicDVlb1dHUlVhMXRuVjBLeWpyNkJzWTI5Z25KT2ZrRnhUWDFpa3E2ZW9aR3RuYUpTYmw1aFVXMWRTcnFHdG9tNWhiV0tla1oyU1hsRmRXcWFwcGFwbWFXVnFscG1WbWxaWlZWM2hJRWxRQUFBQUQvLy8vLy8vLy8vLy8vLy84QVFkQTBDOHdCQWdBQXdBTUFBTUFFQUFEQUJRQUF3QVlBQU1BSEFBREFDQUFBd0FrQUFNQUtBQURBQ3dBQXdBd0FBTUFOQUFEQURnQUF3QThBQU1BUUFBREFFUUFBd0JJQUFNQVRBQURBRkFBQXdCVUFBTUFXQUFEQUZ3QUF3QmdBQU1BWkFBREFHZ0FBd0JzQUFNQWNBQURBSFFBQXdCNEFBTUFmQUFEQUFBQUFzd0VBQU1NQ0FBRERBd0FBd3dRQUFNTUZBQUREQmdBQXd3Y0FBTU1JQUFERENRQUF3d29BQU1NTEFBREREQUFBd3cwQUFOTU9BQURERHdBQXd3QUFETHNCQUF6REFnQU13d01BRE1NRUFBelRBRUdrT2d2NUF3RUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFJUUFBQUNJQUFBQWpBQUFBSkFBQUFDVUFBQUFtQUFBQUp3QUFBQ2dBQUFBcEFBQUFLZ0FBQUNzQUFBQXNBQUFBTFFBQUFDNEFBQUF2QUFBQU1BQUFBREVBQUFBeUFBQUFNd0FBQURRQUFBQTFBQUFBTmdBQUFEY0FBQUE0QUFBQU9RQUFBRG9BQUFBN0FBQUFQQUFBQUQwQUFBQStBQUFBUHdBQUFFQUFBQUJoQUFBQVlnQUFBR01BQUFCa0FBQUFaUUFBQUdZQUFBQm5BQUFBYUFBQUFHa0FBQUJxQUFBQWF3QUFBR3dBQUFCdEFBQUFiZ0FBQUc4QUFBQndBQUFBY1FBQUFISUFBQUJ6QUFBQWRBQUFBSFVBQUFCMkFBQUFkd0FBQUhnQUFBQjVBQUFBZWdBQUFGc0FBQUJjQUFBQVhRQUFBRjRBQUFCZkFBQUFZQUFBQUdFQUFBQmlBQUFBWXdBQUFHUUFBQUJsQUFBQVpnQUFBR2NBQUFCb0FBQUFhUUFBQUdvQUFBQnJBQUFBYkFBQUFHMEFBQUJ1QUFBQWJ3QUFBSEFBQUFCeEFBQUFjZ0FBQUhNQUFBQjBBQUFBZFFBQUFIWUFBQUIzQUFBQWVBQUFBSGtBQUFCNkFBQUFld0FBQUh3QUFBQjlBQUFBZmdBQUFIOEFRYURFQUF2L0FRSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBTWdBaUFDSUFJZ0FpQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUJZQVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FqWUNOZ0kyQWpZQ05nSTJBallDTmdJMkFqWUJNQUV3QVRBQk1BRXdBVEFCTUFJMVFqVkNOVUkxUWpWQ05VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZCTUFFd0FUQUJNQUV3QVRBQ05ZSTFnaldDTllJMWdqV0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z1RBQk1BRXdBVEFBZ0JCcE13QUMva0RBUUFBQUFJQUFBQURBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUVBQUFBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQVZBQUFBRmdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ01BQUFBa0FBQUFKUUFBQUNZQUFBQW5BQUFBS0FBQUFDa0FBQUFxQUFBQUt3QUFBQ3dBQUFBdEFBQUFMZ0FBQUM4QUFBQXdBQUFBTVFBQUFESUFBQUF6QUFBQU5BQUFBRFVBQUFBMkFBQUFOd0FBQURnQUFBQTVBQUFBT2dBQUFEc0FBQUE4QUFBQVBRQUFBRDRBQUFBL0FBQUFRQUFBQUVFQUFBQkNBQUFBUXdBQUFFUUFBQUJGQUFBQVJnQUFBRWNBQUFCSUFBQUFTUUFBQUVvQUFBQkxBQUFBVEFBQUFFMEFBQUJPQUFBQVR3QUFBRkFBQUFCUkFBQUFVZ0FBQUZNQUFBQlVBQUFBVlFBQUFGWUFBQUJYQUFBQVdBQUFBRmtBQUFCYUFBQUFXd0FBQUZ3QUFBQmRBQUFBWGdBQUFGOEFBQUJnQUFBQVFRQUFBRUlBQUFCREFBQUFSQUFBQUVVQUFBQkdBQUFBUndBQUFFZ0FBQUJKQUFBQVNnQUFBRXNBQUFCTUFBQUFUUUFBQUU0QUFBQlBBQUFBVUFBQUFGRUFBQUJTQUFBQVV3QUFBRlFBQUFCVkFBQUFWZ0FBQUZjQUFBQllBQUFBV1FBQUFGb0FBQUI3QUFBQWZBQUFBSDBBQUFCK0FBQUFmd0JCb05RQUM2RUNDZ0FBQUdRQUFBRG9Bd0FBRUNjQUFLQ0dBUUJBUWc4QWdKYVlBQURoOVFYLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9BQUVDQXdRRkJnY0lDZi8vLy8vLy8vOEtDd3dORGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUkvLy8vLy8vL3dvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0JCME5ZQUN4Z1JBQW9BRVJFUkFBQUFBQVVBQUFBQUFBQUpBQUFBQUFzQVFmRFdBQXNoRVFBUENoRVJFUU1LQndBQkV3a0xDd0FBQ1FZTEFBQUxBQVlSQUFBQUVSRVJBRUdoMXdBTEFRc0FRYXJYQUFzWUVRQUtDaEVSRVFBS0FBQUNBQWtMQUFBQUNRQUxBQUFMQUVIYjF3QUxBUXdBUWVmWEFBc1ZEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUVHVjJBQUxBUTRBUWFIWUFBc1ZEUUFBQUFRTkFBQUFBQWtPQUFBQUFBQU9BQUFPQUVIUDJBQUxBUkFBUWR2WUFBc2VEd0FBQUFBUEFBQUFBQWtRQUFBQUFBQVFBQUFRQUFBU0FBQUFFaElTQUVHUzJRQUxEaElBQUFBU0VoSUFBQUFBQUFBSkFFSEQyUUFMQVFzQVFjL1pBQXNWQ2dBQUFBQUtBQUFBQUFrTEFBQUFBQUFMQUFBTEFFSDkyUUFMQVF3QVFZbmFBQXQrREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFBQXdNVEl6TkRVMk56ZzVRVUpEUkVWR0dSSkVPd0kvTEVjVVBUTXdDaHNHUmt0Rk53OUpEbzRYQTBBZFBHa3JOaDlLTFJ3QklDVXBJUWdNRlJZaUxoQTRQZ3MwTVJoa2RIVjJMMEVKZnprUkkwTXlRb21LaXdVRUppZ25EU29lTll3SEdraVRFNVNWQUVHUTJ3QUwxdzVKYkd4bFoyRnNJR0o1ZEdVZ2MyVnhkV1Z1WTJVQVJHOXRZV2x1SUdWeWNtOXlBRkpsYzNWc2RDQnViM1FnY21Wd2NtVnpaVzUwWVdKc1pRQk9iM1FnWVNCMGRIa0FVR1Z5YldsemMybHZiaUJrWlc1cFpXUUFUM0JsY21GMGFXOXVJRzV2ZENCd1pYSnRhWFIwWldRQVRtOGdjM1ZqYUNCbWFXeGxJRzl5SUdScGNtVmpkRzl5ZVFCT2J5QnpkV05vSUhCeWIyTmxjM01BUm1sc1pTQmxlR2x6ZEhNQVZtRnNkV1VnZEc5dklHeGhjbWRsSUdadmNpQmtZWFJoSUhSNWNHVUFUbThnYzNCaFkyVWdiR1ZtZENCdmJpQmtaWFpwWTJVQVQzVjBJRzltSUcxbGJXOXllUUJTWlhOdmRYSmpaU0JpZFhONUFFbHVkR1Z5Y25Wd2RHVmtJSE41YzNSbGJTQmpZV3hzQUZKbGMyOTFjbU5sSUhSbGJYQnZjbUZ5YVd4NUlIVnVZWFpoYVd4aFlteGxBRWx1ZG1Gc2FXUWdjMlZsYXdCRGNtOXpjeTFrWlhacFkyVWdiR2x1YXdCU1pXRmtMVzl1YkhrZ1ptbHNaU0J6ZVhOMFpXMEFSR2x5WldOMGIzSjVJRzV2ZENCbGJYQjBlUUJEYjI1dVpXTjBhVzl1SUhKbGMyVjBJR0o1SUhCbFpYSUFUM0JsY21GMGFXOXVJSFJwYldWa0lHOTFkQUJEYjI1dVpXTjBhVzl1SUhKbFpuVnpaV1FBU0c5emRDQnBjeUJrYjNkdUFFaHZjM1FnYVhNZ2RXNXlaV0ZqYUdGaWJHVUFRV1JrY21WemN5QnBiaUIxYzJVQVFuSnZhMlZ1SUhCcGNHVUFTUzlQSUdWeWNtOXlBRTV2SUhOMVkyZ2daR1YyYVdObElHOXlJR0ZrWkhKbGMzTUFRbXh2WTJzZ1pHVjJhV05sSUhKbGNYVnBjbVZrQUU1dklITjFZMmdnWkdWMmFXTmxBRTV2ZENCaElHUnBjbVZqZEc5eWVRQkpjeUJoSUdScGNtVmpkRzl5ZVFCVVpYaDBJR1pwYkdVZ1luVnplUUJGZUdWaklHWnZjbTFoZENCbGNuSnZjZ0JKYm5aaGJHbGtJR0Z5WjNWdFpXNTBBRUZ5WjNWdFpXNTBJR3hwYzNRZ2RHOXZJR3h2Ym1jQVUzbHRZbTlzYVdNZ2JHbHVheUJzYjI5d0FFWnBiR1Z1WVcxbElIUnZieUJzYjI1bkFGUnZieUJ0WVc1NUlHOXdaVzRnWm1sc1pYTWdhVzRnYzNsemRHVnRBRTV2SUdacGJHVWdaR1Z6WTNKcGNIUnZjbk1nWVhaaGFXeGhZbXhsQUVKaFpDQm1hV3hsSUdSbGMyTnlhWEIwYjNJQVRtOGdZMmhwYkdRZ2NISnZZMlZ6Y3dCQ1lXUWdZV1JrY21WemN3QkdhV3hsSUhSdmJ5QnNZWEpuWlFCVWIyOGdiV0Z1ZVNCc2FXNXJjd0JPYnlCc2IyTnJjeUJoZG1GcGJHRmliR1VBVW1WemIzVnlZMlVnWkdWaFpHeHZZMnNnZDI5MWJHUWdiMk5qZFhJQVUzUmhkR1VnYm05MElISmxZMjkyWlhKaFlteGxBRkJ5WlhacGIzVnpJRzkzYm1WeUlHUnBaV1FBVDNCbGNtRjBhVzl1SUdOaGJtTmxiR1ZrQUVaMWJtTjBhVzl1SUc1dmRDQnBiWEJzWlcxbGJuUmxaQUJPYnlCdFpYTnpZV2RsSUc5bUlHUmxjMmx5WldRZ2RIbHdaUUJKWkdWdWRHbG1hV1Z5SUhKbGJXOTJaV1FBUkdWMmFXTmxJRzV2ZENCaElITjBjbVZoYlFCT2J5QmtZWFJoSUdGMllXbHNZV0pzWlFCRVpYWnBZMlVnZEdsdFpXOTFkQUJQZFhRZ2IyWWdjM1J5WldGdGN5QnlaWE52ZFhKalpYTUFUR2x1YXlCb1lYTWdZbVZsYmlCelpYWmxjbVZrQUZCeWIzUnZZMjlzSUdWeWNtOXlBRUpoWkNCdFpYTnpZV2RsQUVacGJHVWdaR1Z6WTNKcGNIUnZjaUJwYmlCaVlXUWdjM1JoZEdVQVRtOTBJR0VnYzI5amEyVjBBRVJsYzNScGJtRjBhVzl1SUdGa1pISmxjM01nY21WeGRXbHlaV1FBVFdWemMyRm5aU0IwYjI4Z2JHRnlaMlVBVUhKdmRHOWpiMndnZDNKdmJtY2dkSGx3WlNCbWIzSWdjMjlqYTJWMEFGQnliM1J2WTI5c0lHNXZkQ0JoZG1GcGJHRmliR1VBVUhKdmRHOWpiMndnYm05MElITjFjSEJ2Y25SbFpBQlRiMk5yWlhRZ2RIbHdaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFNXZkQ0J6ZFhCd2IzSjBaV1FBVUhKdmRHOWpiMndnWm1GdGFXeDVJRzV2ZENCemRYQndiM0owWldRQVFXUmtjbVZ6Y3lCbVlXMXBiSGtnYm05MElITjFjSEJ2Y25SbFpDQmllU0J3Y205MGIyTnZiQUJCWkdSeVpYTnpJRzV2ZENCaGRtRnBiR0ZpYkdVQVRtVjBkMjl5YXlCcGN5QmtiM2R1QUU1bGRIZHZjbXNnZFc1eVpXRmphR0ZpYkdVQVEyOXVibVZqZEdsdmJpQnlaWE5sZENCaWVTQnVaWFIzYjNKckFFTnZibTVsWTNScGIyNGdZV0p2Y25SbFpBQk9ieUJpZFdabVpYSWdjM0JoWTJVZ1lYWmhhV3hoWW14bEFGTnZZMnRsZENCcGN5QmpiMjV1WldOMFpXUUFVMjlqYTJWMElHNXZkQ0JqYjI1dVpXTjBaV1FBUTJGdWJtOTBJSE5sYm1RZ1lXWjBaWElnYzI5amEyVjBJSE5vZFhSa2IzZHVBRTl3WlhKaGRHbHZiaUJoYkhKbFlXUjVJR2x1SUhCeWIyZHlaWE56QUU5d1pYSmhkR2x2YmlCcGJpQndjbTluY21WemN3QlRkR0ZzWlNCbWFXeGxJR2hoYm1Sc1pRQlNaVzF2ZEdVZ1NTOVBJR1Z5Y205eUFGRjFiM1JoSUdWNFkyVmxaR1ZrQUU1dklHMWxaR2wxYlNCbWIzVnVaQUJYY205dVp5QnRaV1JwZFcwZ2RIbHdaUUJPYnlCbGNuSnZjaUJwYm1admNtMWhkR2x2YmdBQUFBQUFBRXhEWDBOVVdWQkZBQUFBQUV4RFgwNVZUVVZTU1VNQUFFeERYMVJKVFVVQUFBQUFBRXhEWDBOUFRFeEJWRVVBQUV4RFgwMVBUa1ZVUVZKWkFFeERYMDFGVTFOQlIwVlRBRUh3NlFBTGx3SURBQUFBQkFBQUFBUUFBQUFHQUFBQWcvbWlBRVJPYmdEOEtSVUEwVmNuQU4wMDlRQmkyOEFBUEptVkFFR1FRd0JqVWY0QXU5NnJBTGRoeFFBNmJpUUEwazFDQUVrRzRBQUo2aTRBSEpMUkFPc2QvZ0Fwc1J3QTZENm5BUFUxZ2dCRXV5NEFuT21FQUxRbWNBQkJmbDhBMXBFNUFGT0RPUUNjOURrQWkxK0VBQ2o1dlFENEh6c0EzditYQUErWUJRQVJMKzhBQ2xxTEFHMGZiUURQZmpZQUNjc25BRVpQdHdDZVpqOEFMZXBmQUxvbmRRRGw2OGNBUFh2eEFQYzVCd0NTVW9vQSsydnFBQit4WHdBSVhZMEFNQU5XQUh2OFJnRHdxMnNBSUx6UEFEYjBtZ0RqcVIwQVhtR1JBQWdiNWdDRm1XVUFvQlJmQUkxQWFBQ0EyUDhBSjNOTkFBWUdNUURLVmhVQXlhaHpBSHZpWUFCcmpNQUFRWlBzQUF2OUEwRDdJZmsvQUFBQUFDMUVkRDRBQUFDQW1FYjRQQUFBQUdCUnpIZzdBQUFBZ0lNYjhEa0FBQUJBSUNWNk9BQUFBSUFpZ3VNMkFBQUFBQjN6YVRVNFkrMCsyZzlKUDE2WWV6L2FEOGsvYVRlc01XZ2hJak8wRHhRemFDR2lNd0FBQUFBQ0FBQUFBd0FBQUFVQUFBQUhBQUFBQ3dBQUFBMEFBQUFSQUFBQUV3QUFBQmNBQUFBZEFBQUFId0FBQUNVQUFBQXBBQUFBS3dBQUFDOEFBQUExQUFBQU93QUFBRDBBQUFCREFBQUFSd0FBQUVrQUFBQlBBQUFBVXdBQUFGa0FBQUJoQUFBQVpRQUFBR2NBQUFCckFBQUFiUUFBQUhFQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWxRQUFBSmNBQUFDZEFBQUFvd0FBQUtjQUFBQ3RBQUFBc3dBQUFMVUFBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwd0FBQUFFQUFBQUxBQUFBRFFBQUFCRUFBQUFUQUFBQUZ3QUFBQjBBQUFBZkFBQUFKUUFBQUNrQUFBQXJBQUFBTHdBQUFEVUFBQUE3QUFBQVBRQUFBRU1BQUFCSEFBQUFTUUFBQUU4QUFBQlRBQUFBV1FBQUFHRUFBQUJsQUFBQVp3QUFBR3NBQUFCdEFBQUFjUUFBQUhrQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWp3QUFBSlVBQUFDWEFBQUFuUUFBQUtNQUFBQ25BQUFBcVFBQUFLMEFBQUN6QUFBQXRRQUFBTHNBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMFFBQUFEQXhNak0wTlRZM09EbGhZbU5rWldaQlFrTkVSVVo0V0NzdGNGQnBTVzVPQUVHZzhBQUxnUUVsQUFBQWJRQUFBQzhBQUFBbEFBQUFaQUFBQUM4QUFBQWxBQUFBZVFBQUFDVUFBQUJaQUFBQUxRQUFBQ1VBQUFCdEFBQUFMUUFBQUNVQUFBQmtBQUFBSlFBQUFFa0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQWdBQUFBSlFBQUFIQUFBQUFBQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQVFiRHhBQXU1QVNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFCUVJRQUFFMk1BQUhoRkFBRFpid0FBOERnQUFBQUFBQUI0UlFBQTdYSUFBS2c3QUFBQUFBQUFlRVVBQUdsK0FBQzRRZ0FBQUFBQUFIaEZBQUFaa0FBQXVFSUFBQUFBQUFCNFJRQUFqWkFBQUxoQ0FBQUFBQUFBNUVVQUFKeW5BQUFBQUFBQUFRQUFBR0E1QUFBQUFBQUFVRVVBQU51bkFBQUZBRUgwOGdBTEFRSUFRWXp6QUFzS0FRQUFBQUVBQUFDbTZnQkJwUE1BQ3dFQ0FFR3o4d0FMQmYvLy8vLy9BRUg0OHdBTEFRa0FRWVQwQUFzQkFnQkJtUFFBQ3hJQ0FBQUFBQUFBQUFFQUFBQm8wZ0FBQUFRQVFjVDBBQXNFLy8vLy93QkJpUFVBQ3dFRkFFR1U5UUFMQVFNQVFhejFBQXNPQVFBQUFBSUFBQUI0MWdBQUFBUUFRY1QxQUFzQkFRQkIwL1VBQ3dVSy8vLy8vd0JCdlBZQUN3RURBRUhqOWdBTEJmLy8vLy8vQUVHbzl3QUwxeEJRUlFBQS9yOEFBSGhGQUFCZXdBQUF3RHNBQUFBQUFBQjRSUUFBQzhBQUFOQTdBQUFBQUFBQVVFVUFBQ3pBQUFCNFJRQUFPY0FBQUxBN0FBQUFBQUFBZUVVQUFLakFBQUNvT3dBQUFBQUFBSGhGQUFDNHdBQUE2RHNBQUFBQUFBQjRSUUFBeWNBQUFNQTdBQUFBQUFBQWVFVUFBT3ZBQUFBSVBBQUFBQUFBQUhoRkFBQVB3UUFBd0RzQUFBQUFBQURJUlFBQU44RUFBTWhGQUFBNXdRQUF5RVVBQUR2QkFBRElSUUFBUGNFQUFNaEZBQUEvd1FBQXlFVUFBRUhCQUFESVJRQUFROEVBQU1oRkFBQkZ3UUFBeUVVQUFFZkJBQURJUlFBQVpzb0FBTWhGQUFCSndRQUF5RVVBQUV2QkFBRElSUUFBVGNFQUFIaEZBQUJQd1FBQXNEc0FBQUFBQUFCUVJRQUFzTVFBQUZCRkFBRFB4QUFBVUVVQUFPN0VBQUJRUlFBQURjVUFBRkJGQUFBc3hRQUFVRVVBQUV2RkFBQlFSUUFBYXNVQUFGQkZBQUNKeFFBQVVFVUFBS2pGQUFCUVJRQUF4OFVBQUZCRkFBRG14UUFBVUVVQUFBWEdBQUJRUlFBQUpNWUFBT1JGQUFBM3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUI1eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQzd4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFENnhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFIaEZBQUJMeHdBQWlEMEFBQUFBQUFCUVJRQUFPY2NBQUhoRkFBQjF4d0FBaUQwQUFBQUFBQUJRUlFBQW44Y0FBRkJGQUFEUXh3QUE1RVVBQUFISUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBRERJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vNUVVQUFGL0lBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQUk3SUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvL2VFVUFBTDNJQUFDb1BRQUFBQUFBQUhoRkFBRFd5QUFBb0QwQUFBQUFBQUI0UlFBQUZja0FBS2c5QUFBQUFBQUFlRVVBQUMzSkFBQ2dQUUFBQUFBQUFIaEZBQUJGeVFBQVlENEFBQUFBQUFCNFJRQUFXY2tBQUxCQ0FBQUFBQUFBZUVVQUFHL0pBQUJnUGdBQUFBQUFBT1JGQUFDSXlRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFLQStBQUFBQUFBQTVFVUFBTXpKQUFBQUFBQUFBUUFBQUxnK0FBQUFBQUFBVUVVQUFPTEpBQURrUlFBQSs4a0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRGdQZ0FBQUFBQUFPUkZBQUEveWdBQUFBQUFBQUVBQUFDNFBnQUFBQUFBQU9SRkFBQm95Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBQmcvQUFBQUFBQUE1RVVBQUt6S0FBQUFBQUFBQVFBQUFEQS9BQUFBQUFBQVVFVUFBTUxLQUFEa1JRQUEyOG9BQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJZUHdBQUFBQUFBT1JGQUFBZnl3QUFBQUFBQUFFQUFBQXdQd0FBQUFBQUFPUkZBQUIxekFBQUFBQUFBQU1BQUFCZ1BnQUFBZ0FBQUpnL0FBQUNBQUFBb0Q4QUFBQUlBQUJRUlFBQTNNd0FBRkJGQUFDNnpBQUE1RVVBQU8vTUFBQUFBQUFBQXdBQUFHQStBQUFDQUFBQW1EOEFBQUlBQUFEUVB3QUFBQWdBQUZCRkFBQTB6UUFBNUVVQUFGYk5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUErRDhBQUFBSUFBQlFSUUFBbTgwQUFPUkZBQUN3elFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQVBnL0FBQUFDQUFBNUVVQUFQWE5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBQlFSUUFBRWM0QUFPUkZBQUFtemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQUFBQUNBQUFBNUVVQUFFTE9BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBRGtSUUFBWHM0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCQVFBQUFBZ0FBQU9SRkFBQ0p6Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTWhBQUFBQUFBQUFVRVVBQU0vT0FBRGtSUUFBODg0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEd1FBQUFBQUFBQUZCRkFBQTV6d0FBNUVVQUFGalBBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFHRUVBQUFBQUFBQlFSUUFBbnM4QUFPUkZBQUMzendBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQkFBQUFBQUFBVUVVQUFQM1BBQURrUlFBQUZ0QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQm9RUUFBQWdBQUFGQkZBQUFyMEFBQTVFVUFBTUxRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVFQUFBSUFBQUI0UlFBQVE5QUFBS0JCQUFBQUFBQUE1RVVBQUdiUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCUVJRQUFpZEFBQUhoRkFBQ2cwQUFBb0VFQUFBQUFBQURrUlFBQTE5QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBREFRUUFBQWdBQUFPUkZBQUQ1MEFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1CQkFBQUNBQUFBNUVVQUFCdlJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQjRSUUFBUHRFQUFHQStBQUFBQUFBQTVFVUFBRlRSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVJQUFBSUFBQUJRUlFBQVp0RUFBT1JGQUFCNzBRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFHaENBQUFDQUFBQWVFVUFBSmpSQUFCZ1BnQUFBQUFBQUhoRkFBQ3QwUUFBWUQ0QUFBQUFBQUJRUlFBQXd0RUFBT1JGQUFEYjBRQUFBQUFBQUFFQUFBQ3dRZ0FBQUFBQUFBRUFBQUFBQUFBQStEZ0FBQUVBQUFBQ0FBQUFBQUFBQVBBNEFBQURBQUFBQkFBQUFBQUFBQUFJT1FBQUJRQUFBQVlBQUFBQkFBQUF1VktNUG81YTV6NjVVb3crQUFBQUFCZzVBQUFIQUFBQUNBQUFBQWtBQUFBQkFBQUFDZ0FBQUFBQUFBQW9PUUFBQndBQUFBc0FBQUFNQUFBQUFnQUFBQTBBQUFBQUFBQUFPRGtBQUFjQUFBQU9BQUFBRHdBQUFBTUFBQUFRQUFBQS8vLy8vLzcvLy8vOS8vLy9PRHdBQUhBOEFBQ1FQQUFBT0R3QUFIQThBQUJ3UEFBQW1Ed0FBSEE4QUFBNFBBQUFjRHdBQUpnOEFBQndQQUFBT0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFjRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQUFRQUFBQUFBQUFBQ0FBQUFRQVlBQUlBK0FBQUFBQUFBaUJNQUFEQWFBQUFVQUFBQVF5NVZWRVl0T0FCQmpJZ0JDd0x3UXdCQnBJZ0JDeEpvT1FBQStEa0FBSWc2QUFDSU9nQUFJQjBBUWVpSkFRc0NqT0lBUWFDS0FRdTlFaUFpQUFBZ0pnQUFYM0NKQVA4Skx3OEFBSUEvQUFEQVB3QUFBQURjejlFMUFBQUFBQURBRlQ4QUFBQUFzRHNBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFFQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQU5nN0FBQVJBQUFBRlFBQUFCTUFBQUFVQUFBQUJBQUFBQUlBQUFBQ0FBQUFBZ0FBQUFBQUFBRG9Pd0FBRmdBQUFCY0FBQUFFQUFBQUFBQUFBUGc3QUFBV0FBQUFHQUFBQUFRQUFBQUFBQUFBS0R3QUFCRUFBQUFaQUFBQUV3QUFBQlFBQUFBRkFBQUFBQUFBQUtBOEFBQVJBQUFBR2dBQUFCTUFBQUFVQUFBQUJBQUFBQU1BQUFBREFBQUFBd0FBQUFBQUFBQ0lQUUFBR3dBQUFCd0FBQUFBQUFBQW9EMEFBQjBBQUFBZUFBQUFBUUFBQUFZQUFBQUJBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUFnQUFBQUZBQUFBQUFBQUFLZzlBQUFmQUFBQUlBQUFBQUlBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFMQUFBQURBQUFBQVlBQUFBTEFBQUFCd0FBQUFnQUFBQUFBQUFBc0QwQUFDRUFBQUFpQUFBQStQLy8vL2ovLy8rd1BRQUFJd0FBQUNRQUFBQ2dSZ0FBdEVZQUFBZ0FBQUFBQUFBQXlEMEFBQ1VBQUFBbUFBQUErUC8vLy9qLy8vL0lQUUFBSndBQUFDZ0FBQURRUmdBQTVFWUFBQVFBQUFBQUFBQUE0RDBBQUNrQUFBQXFBQUFBL1AvLy8vei8vLy9nUFFBQUt3QUFBQ3dBQUFBQVJ3QUFGRWNBQUFRQUFBQUFBQUFBK0QwQUFDMEFBQUF1QUFBQS9QLy8vL3ovLy8vNFBRQUFMd0FBQURBQUFBQXdSd0FBUkVjQUFBQUFBQUFRUGdBQUh3QUFBREVBQUFBREFBQUFDUUFBQUFJQUFBQUZBQUFBRFFBQUFBb0FBQUFLQUFBQUN3QUFBQXdBQUFBR0FBQUFEQUFBQUFnQUFBQUFBQUFBSUQ0QUFCMEFBQUF5QUFBQUJBQUFBQVlBQUFBQkFBQUFCQUFBQUE0QUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQTBBQUFBSkFBQUFBQUFBQURBK0FBQWZBQUFBTXdBQUFBVUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQVBBQUFBRUFBQUFBb0FBQUFMQUFBQUJ3QUFBQUFBQUFCQVBnQUFIUUFBQURRQUFBQUdBQUFBQmdBQUFBRUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFFUUFBQUJJQUFBQUxBQUFBQ0FBQUFBVUFBQUFBQUFBQVVENEFBRFVBQUFBMkFBQUFOd0FBQUFFQUFBQUdBQUFBRGdBQUFBQUFBQUJ3UGdBQU9BQUFBRGtBQUFBM0FBQUFBZ0FBQUFjQUFBQVBBQUFBQUFBQUFJQStBQUE2QUFBQU93QUFBRGNBQUFBQkFBQUFBZ0FBQUFNQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUNBQUFBQWtBQUFBS0FBQUFDd0FBQUFBQUFBREFQZ0FBUEFBQUFEMEFBQUEzQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBQUFBQUErRDRBQUQ0QUFBQS9BQUFBTndBQUFBTUFBQUFFQUFBQUFRQUFBQVVBQUFBQ0FBQUFBUUFBQUFJQUFBQUdBQUFBQUFBQUFEZy9BQUJBQUFBQVFRQUFBRGNBQUFBSEFBQUFDQUFBQUFNQUFBQUpBQUFBQkFBQUFBTUFBQUFFQUFBQUNnQUFBQUFBQUFCd1B3QUFRZ0FBQUVNQUFBQTNBQUFBRXdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFBUUFBQVBqLy8vOXdQd0FBRkFBQUFCVUFBQUFXQUFBQUZ3QUFBQmdBQUFBWkFBQUFHZ0FBQUFBQUFBQ29Qd0FBUkFBQUFFVUFBQUEzQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBQWdBQUFQai8vLytvUHdBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBQUFBQUFDVUFBQUJ0QUFBQUx3QUFBQ1VBQUFCa0FBQUFMd0FBQUNVQUFBQjVBQUFBQUFBQUFDVUFBQUJKQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJ3QUFBQUFBQUFBQ1VBQUFCaEFBQUFJQUFBQUNVQUFBQmlBQUFBSUFBQUFDVUFBQUJrQUFBQUlBQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCWkFBQUFBQUFBQUVFQUFBQk5BQUFBQUFBQUFGQUFBQUJOQUFBQUFBQUFBRW9BQUFCaEFBQUFiZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVJnQUFBR1VBQUFCaUFBQUFjZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVRRQUFBR0VBQUFCeUFBQUFZd0FBQUdnQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQWFRQUFBR3dBQUFBQUFBQUFUUUFBQUdFQUFBQjVBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBR1VBQUFBQUFBQUFTZ0FBQUhVQUFBQnNBQUFBZVFBQUFBQUFBQUJCQUFBQWRRQUFBR2NBQUFCMUFBQUFjd0FBQUhRQUFBQUFBQUFBVXdBQUFHVUFBQUJ3QUFBQWRBQUFBR1VBQUFCdEFBQUFZZ0FBQUdVQUFBQnlBQUFBQUFBQUFFOEFBQUJqQUFBQWRBQUFBRzhBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBUkFBQUFHVUFBQUJqQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBU2dBQUFHRUFBQUJ1QUFBQUFBQUFBRVlBQUFCbEFBQUFZZ0FBQUFBQUFBQk5BQUFBWVFBQUFISUFBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFBQUFBQUJLQUFBQWRRQUFBR3dBQUFBQUFBQUFRUUFBQUhVQUFBQm5BQUFBQUFBQUFGTUFBQUJsQUFBQWNBQUFBQUFBQUFCUEFBQUFZd0FBQUhRQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQUFBQUFBRVFBQUFCbEFBQUFZd0FBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUhNQUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVZ3QUFBR1VBQUFCa0FBQUFiZ0FBQUdVQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCb0FBQUFkUUFBQUhJQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBQUFCMUFBQUFjZ0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBQUFBQUFCWEFBQUFaUUFBQUdRQUFBQUFBQUFBVkFBQUFHZ0FBQUIxQUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFRZWljQVFzUjJEOEFBRVlBQUFCSEFBQUFOd0FBQUFFQVFZR2RBUXZ3QlVBQUFFZ0FBQUJKQUFBQU53QUFBQUlBQUFBQUFBQUFJRUFBQUVvQUFBQkxBQUFBTndBQUFDTUFBQUFrQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUNVQUFBQUxBQUFBREFBQUFBQUFBQUJJUUFBQVRBQUFBRTBBQUFBM0FBQUFKZ0FBQUNjQUFBQU5BQUFBRGdBQUFBOEFBQUFRQUFBQUtBQUFBQkVBQUFBU0FBQUFBQUFBQUdoQUFBQk9BQUFBVHdBQUFEY0FBQUFwQUFBQUtnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQXJBQUFBRndBQUFCZ0FBQUFBQUFBQWlFQUFBRkFBQUFCUkFBQUFOd0FBQUN3QUFBQXRBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQzRBQUFBZEFBQUFIZ0FBQUFBQUFBQ29RQUFBVWdBQUFGTUFBQUEzQUFBQUF3QUFBQVFBQUFBQUFBQUEwRUFBQUZRQUFBQlZBQUFBTndBQUFBVUFBQUFHQUFBQUFBQUFBUGhBQUFCV0FBQUFWd0FBQURjQUFBQUJBQUFBSVFBQUFBQUFBQUFnUVFBQVdBQUFBRmtBQUFBM0FBQUFBZ0FBQUNJQUFBQUFBQUFBU0VFQUFGb0FBQUJiQUFBQU53QUFBQkFBQUFBRUFBQUFId0FBQUFBQUFBQndRUUFBWEFBQUFGMEFBQUEzQUFBQUVRQUFBQVVBQUFBZ0FBQUFBQUFBQU1oQkFBQmVBQUFBWHdBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFKQkJBQUJlQUFBQVlBQUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBUGhCQUFCaEFBQUFZZ0FBQURjQUFBQUZBQUFBQmdBQUFBMEFBQUF5QUFBQU13QUFBQTRBQUFBMEFBQUFBQUFBQURoQ0FBQmpBQUFBWkFBQUFEY0FBQUFBQUFBQVNFSUFBR1VBQUFCbUFBQUFOd0FBQUF3QUFBQVNBQUFBRFFBQUFCTUFBQUFPQUFBQUFRQUFBQlFBQUFBUEFBQUFBQUFBQUpCQ0FBQm5BQUFBYUFBQUFEY0FBQUExQUFBQU5nQUFBQ0VBQUFBaUFBQUFJd0FBQUFBQUFBQ2dRZ0FBYVFBQUFHb0FBQUEzQUFBQU53QUFBRGdBQUFBa0FBQUFKUUFBQUNZQUFBQm1BQUFBWVFBQUFHd0FBQUJ6QUFBQVpRQUFBQUFBQUFCMEFBQUFjZ0FBQUhVQUFBQmxBRUg4b2dFTC9JQUNZRDRBQUY0QUFBQnJBQUFBTndBQUFBQUFBQUJ3UWdBQVhnQUFBR3dBQUFBM0FBQUFGUUFBQUFJQUFBQURBQUFBQkFBQUFBOEFBQUFXQUFBQUVBQUFBQmNBQUFBUkFBQUFCUUFBQUJnQUFBQVFBQUFBQUFBQUFOaEJBQUJlQUFBQWJRQUFBRGNBQUFBSEFBQUFDQUFBQUJFQUFBQTVBQUFBT2dBQUFCSUFBQUE3QUFBQUFBQUFBQmhDQUFCZUFBQUFiZ0FBQURjQUFBQUpBQUFBQ2dBQUFCTUFBQUE4QUFBQVBRQUFBQlFBQUFBK0FBQUFBQUFBQUtCQkFBQmVBQUFBYndBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFLQS9BQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBQUFBQUFOQS9BQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNFQUFBQWlBQUFBUlhKeWIzSTZJR3hoWW1Wc2FXNW5JSGR2Y21zZ2IzWmxjbVpzYjNjdUNnQlZibXR1YjNkdUlHOXlJSFZ1YzNWd2NHOXlkR1ZrSUd4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSEpsY1hWbGMzUmxaQzRnVTJWMElIUnZJRzFoYm5WaGJDNEtBRXhoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElITmxkQ0IwYnlBbGN5NEtBRTFCVGxWQlRBQkJWVlJQWDAxRlJFbEJUZ0JCVlZSUFgwOVVVMVVBUVZWVVQxOUJSRUZRVkVsV1JRQkJWVlJQWDBKU1FVTkxSVlJKVGtjQVJYSnliM0k2SUZWdWMzVndjRzl5ZEdWa0lIQnBlR1ZzSUdadmNtMWhkQ0FvSldRcElISmxjWFZsYzNSbFpDNEtBRUYxZEc4Z2RHaHlaWE5vYjJ4a0lDaGljbUZqYTJWMEtTQnRZWEpyWlhJZ1kyOTFiblJ6SUMxYkpUTmtPaUFsTTJSZElGc2xNMlE2SUNVelpGMGdXeVV6WkRvZ0pUTmtYU3N1Q2dCQmRYUnZJSFJvY21WemFHOXNaQ0FvWW5KaFkydGxkQ2tnWVdScWRYTjBaV1FnZEdoeVpYTm9iMnhrSUhSdklDVmtMZ29BYldWa2FXRnVBRTkwYzNVQVFYVjBieUIwYUhKbGMyaHZiR1FnS0NWektTQmhaR3AxYzNSbFpDQjBhSEpsYzJodmJHUWdkRzhnSldRdUNnQS9QejhnTVFvQVB6OC9JRElLQUQ4L1B5QXpDZ0JGY25KdmNqb2dkVzV6ZFhCd2IzSjBaV1FnY0dsNFpXd2dabTl5YldGMExnb0FSWEp5YjNJNklFNVZURXdnY0dGMGRFaGhibVJzWlM0S0FFVnljbTl5T2lCallXNG5kQ0JzYjJGa0lIQmhkSFJsY200Z1puSnZiU0JPVlV4TUlHSjFabVpsY2k0S0FFVnljbTl5T2lCdmRYUWdiMllnYldWdGIzSjVMZ29BSUFrS0RRQlFZWFIwWlhKdUlFUmhkR0VnY21WaFpDQmxjbkp2Y2lFaENnQkZjbkp2Y2lCeVpXRmthVzVuSUhCaGRIUmxjbTRnWm1sc1pTQW5KWE1uTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJRzl3Wlc0Z1kyRnRaWEpoSUhCaGNtRnRaWFJsY25NZ1ptbHNaU0FpSlhNaUlHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQm1hV3hsSUd4bGJtZDBhQzRBUlhKeWIzSTZJSE4xY0hCc2FXVmtJR1pwYkdVZ1pHOWxjeUJ1YjNRZ1lYQndaV0Z5SUhSdklHSmxJR0Z1SUVGU1ZHOXZiRXRwZENCallXMWxjbUVnY0dGeVlXMWxkR1Z5SUdacGJHVXVDZ0JGY25KdmNpQW9KV1FwT2lCMWJtRmliR1VnZEc4Z2NtVmhaQ0JtY205dElHWnBiR1V1QUdGeVoyeERZVzFsY21GR2NuVnpkSFZ0VWtnb0tUb2dZWEpRWVhKaGJVUmxZMjl0Y0UxaGRDZ3BJR2x1WkdsallYUmxaQ0J3WVhKaGJXVjBaWElnWlhKeWIzSXVDZ0JGY25KdmNqb2dhV053UjJWMFNsOVZYMWhqQUVWeWNtOXlJREU2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdNam9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQXpPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEUTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ05Ub2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBMk9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURjNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWN1Q2dCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklFWnBjbk4wSUd4cGJtVWdiWFZ6ZENCaVpTQnVkVzFpWlhJZ2IyWWdiV0Z5YTJWeUlHTnZibVpwWjNNZ2RHOGdjbVZoWkM0S0FDVnNiSFVsWXdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklIQmhkSFJsY200Z0p5VnpKeUJ6Y0dWamFXWnBaV1FnYVc0Z2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbmRYSmhkR2x2YmlCM2FHbHNaU0JwYmlCaVlYSmpiMlJsTFc5dWJIa2diVzlrWlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JrYVhKbFkzUnZjbmtnYm1GdFpTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUd4dllXUWdjR0YwZEdWeWJpQW5KWE1uTGdvQUpXeG1BRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKeXdnYldGeWEyVnlJR1JsWm1sdWFYUnBiMjRnSlROa09pQkdhWEp6ZENCc2FXNWxJRzExYzNRZ1ltVWdjR0YwZEdWeWJpQjNhV1IwYUM0S0FDVnNaaUFsYkdZZ0pXeG1JQ1ZzWmdBbFppQWxaZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWNzSUcxaGNtdGxjaUJrWldacGJtbDBhVzl1SUNVelpEb2dUR2x1WlhNZ01pQXRJRFFnYlhWemRDQmlaU0J0WVhKclpYSWdkSEpoYm5ObWIzSnRMZ29BV3lWelhTQUFaR1ZpZFdjQWFXNW1id0IzWVhKdWFXNW5BR1Z5Y205eUFDVnpKWE1BTG1selpYUUFSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUdacGJHVWdKeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdjbVZoWkdsdVp5QnBiV0ZuWlZObGRDNEtBRWx0WVdkbGMyVjBJR052Ym5SaGFXNXpJQ1ZrSUdsdFlXZGxjeTRLQUVaaGJHeHBibWNnWW1GamF5QjBieUJ5WldGa2FXNW5JQ2NsY3lWekp5QnBiaUJCVWxSdmIyeExhWFFnZGpRdWVDQm1iM0p0WVhRdUNnQkZjbkp2Y2lCeVpXRmthVzVuSUVwUVJVY2dabWxzWlM0S0FFVnljbTl5SUhKbFlXUnBibWNnU2xCRlJ5Qm1hV3hsSUdobFlXUmxjaTRLQUNWbUFFWnBiR1VnYjNCbGJpQmxjbkp2Y2k0Z0pYTUtBRkpsWVdRZ1pYSnliM0loSVFvQWNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6SnpvZ0FDVnpKWE1LQUNWa0FBb2pJeU1nVTNWeVptRmpaU0JPYnk0bFpDQWpJeU1LQUNWekFDQWdVbVZoWkNCSmJXRm5aVk5sZEM0S0FFVnljbTl5SUc5d1pXNXBibWNnWm1sc1pTQW5KWE11YVhObGRDY3VDZ0FnSUNBZ1pXNWtMZ29BSUNCU1pXRmtJRVpsWVhSMWNtVlRaWFF1Q2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbVp6WlhRbkxnb0FJQ0JTWldGa0lFMWhjbXRsY2xObGRDNEtBRzF5YXdCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbTF5YXljdUNnQWxaaUFsWmlBbFppQWxaZ0JVY21GdWMyWnZjbTFoZEdsdmJpQnRZWFJ5YVhnZ2NtVmhaQ0JsY25KdmNpRWhDZ0JxY0djQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl4TDNKbFprUmhkR0ZUWlhSUWRISXlMZ29BYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXVDZ0J5WWdCcmNHMU1iMkZrVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUdacGJHVnVZVzFsTDNKbFprUmhkR0ZUWlhSUWRISXVDZ0JGY25KdmNpQnNiMkZrYVc1bklFdFFUU0JrWVhSaE9pQjFibUZpYkdVZ2RHOGdiM0JsYmlCbWFXeGxJQ2NsY3lWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnYkc5aFpHbHVaeUJMVUUwZ1pHRjBZVG9nWlhKeWIzSWdjbVZoWkdsdVp5QmtZWFJoTGdvQWEzQnRRMmhoYm1kbFVHRm5aVTV2VDJaU1pXWkVZWFJoVTJWMEtDazZJRTVWVEV3Z2NtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZjbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ2NtVm1SR0YwWVZObGRDNEtBSEJ2YVc1MGN5MGxaQW9BYTNCdFRXRjBZMmhwYm1jb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmFXNUpiV0ZuWlV4MWJXRXVDZ0JRWVdkbFd5VmtYU0FnY0hKbE9pVXpaQ3dnWVdaME9pVXpaQ3dnWlhKeWIzSWdQU0FsWmdvQUpYTXVKWE1BUVhOelpYSjBhVzl1SUdCd2VYSmhiV2xrTFQ1emFYcGxLQ2tnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5RWIwZGZjMk5oYkdWZmFXNTJZWEpwWVc1MFgyUmxkR1ZqZEc5eUxtTndjQUJRZVhKaGJXbGtJR2x6SUc1dmRDQmhiR3h2WTJGMFpXUUFUMk4wWVhabElHOTFkQ0J2WmlCeVlXNW5aUUJUWTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCdFNXMWhaMlZ6TG5OcGVtVW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUR0Z3YkdGamFXRnVJSEI1Y21GdGFXUWdhR0Z6SUc1dmRDQmlaV1Z1SUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdRdFBtNTFiVTlqZEdGMlpYTW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQmtiMlZ6SUc1dmRDQmpiMjUwWVdsdUlHRnVlU0JzWlhabGJITUFRWE56WlhKMGFXOXVJR0JrZVc1aGJXbGpYMk5oYzNROFkyOXVjM1FnUW1sdWIyMXBZV3hRZVhKaGJXbGtNekptS2o0b2NIbHlZVzFwWkNsZ0lHWmhhV3hsWkNCcGJpQUFUMjVzZVNCaWFXNXZiV2xoYkNCd2VYSmhiV2xrSUdseklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQlBibXg1SUVZek1pQnBiV0ZuWlhNZ2MzVndjRzl5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlHTXpKZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdRdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFOXViSGtnYzJsdVoyeGxJR05vWVc1dVpXd2dhVzFoWjJWeklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR2x0TVM1amFHRnVibVZzY3lncElEMDlJREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ1pDNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFbHRZV2RsY3lCdGRYTjBJR2hoZG1VZ2RHaGxJSE5oYldVZ2QybGtkR2dBUVhOelpYSjBhVzl1SUdCa0xtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlhNZ2JYVnpkQ0JvWVhabElIUm9aU0J6WVcxbElHaGxhV2RvZEFCQmMzTmxjblJwYjI0Z1lHbHRNUzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVcweExtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSEp2ZHlBOElHMUlaV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbWdBY205M0lHOTFkQ0J2WmlCaWIzVnVaSE1BVGpaMmFYTnBiMjR5TlVkaGRYTnphV0Z1VTJOaGJHVlRjR0ZqWlZCNWNtRnRhV1JGQUVSdlJ5QlFlWEpoYldsa0FFNXZiaTF0WVhnZ2MzVndjSEpsYzNOcGIyNEFVM1ZpY0dsNFpXd0FjSEoxYm1WR1pXRjBkWEpsY3dCR2FXNWtJRTl5YVdWdWRHRjBhVzl1Y3dCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSekxuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWhnSUdaaGFXeGxaQ0JwYmlBQVFuVmphMlYwY3lCaGNtVWdibTkwSUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSeld6QmRMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0J0Um1WaGRIVnlaVkJ2YVc1MGN5NXphWHBsS0NrZ1BEMGdiVTFoZUU1MWJVWmxZWFIxY21WUWIybHVkSE5nSUdaaGFXeGxaQ0JwYmlBQVZHOXZJRzFoYm5rZ1ptVmhkSFZ5WlNCd2IybHVkSE1BUVhOelpYSjBhVzl1SUdCaWRXTnJaWFJiTUYwdVptbHljM1FnUGowZ1luVmphMlYwVzI1ZExtWnBjbk4wWUNCbVlXbHNaV1FnYVc0Z0FHNTBhRjlsYkdWdFpXNTBJR1poYVd4bFpBQkJjM05sY25ScGIyNGdZR3R3TG5OallXeGxJRHdnYlV4aGNHeGhZMmxoYmxCNWNtRnRhV1F1Ym5WdFUyTmhiR1ZRWlhKUFkzUmhkbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElIQnZhVzUwSUhOallXeGxJR2x6SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0JyY0M1elkyOXlaU0E5UFNCc1lYQXhMbWRsZER4bWJHOWhkRDRvZVNsYmVGMWdJR1poYVd4bFpDQnBiaUFBVTJOdmNtVWdhWE1nYm05MElHTnZibk5wYzNSbGJuUWdkMmwwYUNCMGFHVWdSRzlISUdsdFlXZGxBRUZ6YzJWeWRHbHZiaUJnYkdGd01DNW9aV2xuYUhRb0tTQTlQU0JzWVhBeExtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2WkdWMFpXTjBiM0p6TDBSdlIxOXpZMkZzWlY5cGJuWmhjbWxoYm5SZlpHVjBaV04wYjNJdWFBQlhhV1IwYUM5b1pXbG5hSFFnWVhKbElHNXZkQ0JqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tHeGhjREF1YUdWcFoyaDBLQ2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LU2tnSmlZZ0tDaHNZWEF4TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncEtXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNnb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2twSUNZbUlDaHNZWEF4TG5kcFpIUm9LQ2tnUFQwZ2JHRndNaTUzYVdSMGFDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J6YVhwbGN5QmhjbVVnYVc1amIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLSGd0TVNrZ1BqMGdNQ0FtSmlBb2VDc3hLU0E4SUd4aGNERXVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvZVMweEtTQStQU0F3SUNZbUlDaDVLekVwSUR3Z2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCNUlHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVNXMWhaMlVnWkdsdFpXNXphVzl1Y3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2hzWVhBd0xtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHVkQ2x6ZEdRNk9tWnNiMjl5S0hncElEMDlJQ2hwYm5RcGVHQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmFXNTBaWEp3YjJ4aGRHVXVhQUJtYkc5dmNpZ3BJR0Z1WkNCallYTjBJRzV2ZENCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lDaHBiblFwYzNSa09qcG1iRzl2Y2loNUtTQTlQU0FvYVc1MEtYbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNWNDQStQU0F3SUNZbUlIbHdJRHdnYUdWcFoyaDBZQ0JtWVdsc1pXUWdhVzRnQUhsd0lHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNWNGOXdiSFZ6WHpFZ1BqMGdNQ0FtSmlCNWNGOXdiSFZ6WHpFZ1BDQm9aV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFlWEJmY0d4MWMxOHhJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjRjQ0ErUFNBd0lDWW1JSGh3SUR3Z2QybGtkR2hnSUdaaGFXeGxaQ0JwYmlBQWVIQWdiM1YwSUc5bUlHSnZkVzVrY3dCQmMzTmxjblJwYjI0Z1lIaHdYM0JzZFhOZk1TQStQU0F3SUNZbUlIaHdYM0JzZFhOZk1TQThJSGRwWkhSb1lDQm1ZV2xzWldRZ2FXNGdBSGh3WDNCc2RYTmZNU0J2ZFhRZ2IyWWdZbTkxYm1SekFFRnpjMlZ5ZEdsdmJpQmdkekFnUGowZ01DQW1KaUIzTUNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFUM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2R6RWdQajBnTUNBbUppQjNNU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd0lDWW1JSGN5SUR3OUlERXVNREF3TVdBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGN6SUQ0OUlEQWdKaVlnZHpNZ1BEMGdNUzR3TURBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0hjd0szY3hLM2N5SzNjektTQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2VDMHhLU0ErUFNBd0lDWW1JQ2g0S3pFcElEd2dhVzB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaDVMVEVwSUQ0OUlEQWdKaVlnS0hrck1Ta2dQQ0JwYlM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREV1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjRYMlJwZGw4eUxUQXVOV1lnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0WDJScGRsOHlJRzkxZENCdlppQmliM1Z1WkhNZ2IzVjBJRzltSUdKdmRXNWtjeUJtYjNJZ2FXNTBaWEp3YjJ4aGRHbHZiZ0JCYzNObGNuUnBiMjRnWUhsZlpHbDJYekl0TUM0MVppQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIbGZaR2wyWHpJZ2IzVjBJRzltSUdKdmRXNWtjeUJ2ZFhRZ2IyWWdZbTkxYm1SeklHWnZjaUJwYm5SbGNuQnZiR0YwYVc5dUFFRnpjMlZ5ZEdsdmJpQmdlRjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2VWOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFaGxhV2RvZENCcGN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1TNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQQ0J0U1cxaFoyVnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJKYm1SbGVDQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVQVRqWjJhWE5wYjI0eE9FSnBibTl0YVdGc1VIbHlZVzFwWkRNeVprVUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStQU0ExWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1Od2NBQkpiV0ZuWlNCcGN5QjBiMjhnYzIxaGJHd0FRWE56WlhKMGFXOXVJR0JvWldsbmFIUWdQajBnTldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5VlNVNVVPR0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHSmxJR2R5WVhselkyRnNaUUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbU5vWVc1dVpXeHpLQ2tnUFQwZ01XQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdoaGRtVWdNU0JqYUdGdWJtVnNBRUZ6YzJWeWRHbHZiaUJnYlZCNWNtRnRhV1F1YzJsNlpTZ3BJRDA5SUcxT2RXMVBZM1JoZG1WekttMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JvWVhNZ2JtOTBJR0psWlc0Z1lXeHNiMk5oZEdWa0lIbGxkQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbmRwWkhSb0tDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdlppQjNjbTl1WnlCemFYcGxJR1p2Y2lCd2VYSmhiV2xrQUVGemMyVnlkR2x2YmlCZ2FXMWhaMlV1YUdWcFoyaDBLQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCa2MzUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCRVpYTjBhVzVoZEdsdmJpQnBiV0ZuWlNCemFHOTFiR1FnWW1VZ1lTQm1iRzloZEFCVmJtdHViM2R1SUdsdFlXZGxJSFI1Y0dVQVZXNXpkWEJ3YjNKMFpXUWdhVzFoWjJVZ2RIbHdaUUJPTm5acGMybHZiamxGZUdObGNIUnBiMjVGQUVGemMyVnlkR2x2YmlCZ2FXMHVkMmxrZEdnb0tTQTlQU0JwYlM1emRHVndLQ2t2YzJsNlpXOW1LR1pzYjJGMEtXQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmIzSnBaVzUwWVhScGIyNWZZWE56YVdkdWJXVnVkQzVqY0hBQVUzUmxjQ0J6YVhwbElHMTFjM1FnWW1VZ1pYRjFZV3dnZEc4Z2QybGtkR2dnWm05eUlHNXZkd0JCYzNObGNuUnBiMjRnWUhnZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjRJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2JHVnpjeUIwYUdGdUlIUm9aU0JwYldGblpTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjVJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFlU0J0ZFhOMElHSmxJR3hsYzNNZ2RHaGhiaUIwYUdVZ2FXMWhaMlVnYUdWcFoyaDBBRUZ6YzJWeWRHbHZiaUJnWnk1amFHRnVibVZzY3lncElEMDlJREpnSUdaaGFXeGxaQ0JwYmlBQVRuVnRZbVZ5SUc5bUlHTm9ZVzV1Wld4eklITm9iM1ZzWkNCaVpTQXlBRUZ6YzJWeWRHbHZiaUJnYldGNFgyaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBVFdGNGFXMTFiU0JpYVc0Z2MyaHZkV3hrSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdhR2x6ZENBaFBTQk9WVXhNWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTl2Y21sbGJuUmhkR2x2Ymw5aGMzTnBaMjV0Wlc1MExtZ0FTR2x6ZEc5bmNtRnRJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQkJjM05sY25ScGIyNGdZQ2htWW1sdUt6QXVOV1lwSUQ0Z01DQW1KaUFvWm1KcGJpMHdMalZtS1NBOElHNTFiVjlpYVc1ellDQm1ZV2xzWldRZ2FXNGdBRVJsWTJsdFlXd2dZbWx1SUhCdmMybDBhVzl1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHMWhaMjVwZEhWa1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFMWhaMjVwZEhWa1pTQmpZVzV1YjNRZ1ltVWdibVZuWVhScGRtVUFRWE56WlhKMGFXOXVJR0J1ZFcxZlltbHVjeUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQmlhVzV6SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01TQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3hJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQmlNU0ErUFNBd0lDWW1JR0l4SUR3Z2JuVnRYMkpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFZakVnWW1sdUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0l5SUQ0OUlEQWdKaVlnWWpJZ1BDQnVkVzFmWW1sdWMyQWdabUZwYkdWa0lHbHVJQUJpTWlCaWFXNGdhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRWxFSUdGc2NtVmhaSGtnWlhocGMzUnpBRUoxYVd4a0lGQjVjbUZ0YVdRQVJYaDBjbUZqZENCR1pXRjBkWEpsY3dCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUXVjMmw2WlNncElEMDlJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMkpwYm1GeWVWOW9hV1Z5WVhKamFHbGpZV3hmWTJ4MWMzUmxjbWx1Wnk1b0FFRnpjMmxuYm0xbGJuUWdjMmw2WlNCM2NtOXVad0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5SYmFWMGdJVDBnTFRGZ0lHWmhhV3hsWkNCcGJpQUFRWE56YVdkdWJXVnVkQ0JwY3lCcGJuWmhiR2xrQUVGemMyVnlkR2x2YmlCZ1lYTnphV2R1YldWdWRGdHBYU0E4SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJsbmJtMWxiblFnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdhVzVrYVdObGMxdGhjM05wWjI1dFpXNTBXMmxkWFNBOElHNTFiVjltWldGMGRYSmxjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbDBMVDV6WldOdmJtUXVjMmw2WlNncElDRTlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeDFjM1JsY2lCdGRYTjBJR2hoZG1VZ1lYUnNaV0Z6WlhRZ01TQm1aV0YwZFhKbEFFRnpjMlZ5ZEdsdmJpQmdiVXNnUFQwZ2JVTmxiblJsY25NdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMnR0WldSdmFXUnpMbWdBYXlCemFHOTFiR1FnYldGMFkyZ2dkR2hsSUc1MWJXSmxjaUJ2WmlCamJIVnpkR1Z5SUdObGJuUmxjbk1BUVhOelpYSjBhVzl1SUdCdWRXMWZabVZoZEhWeVpYTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQm1aV0YwZFhKbGN5QnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUEQwZ2JuVnRYMlpsWVhSMWNtVnpZQ0JtWVdsc1pXUWdhVzRnQUUxdmNtVWdhVzVrYVdObGN5QjBhR0Z1SUdabFlYUjFjbVZ6QUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQajBnYlV0Z0lHWmhhV3hsWkNCcGJpQUFUbTkwSUdWdWIzVm5hQ0JtWldGMGRYSmxjd0JCYzNOcFoyNXRaVzUwSUhOcGVtVWdhWE1nYVc1amIzSnlaV04wQUVGemMyVnlkR2x2YmlCZ2JuVnRYMk5sYm5SbGNuTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FGUm9aWEpsSUcxMWMzUWdZbVVnWVhRZ2JHVmhjM1FnTVNCalpXNTBaWElBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmRtbHpkV0ZzWDJSaGRHRmlZWE5sTG1nQVFYTnpaWEowYVc5dUlHQmtaWFJsWTNSdmNtQWdabUZwYkdWa0lHbHVJQUJFWlhSbFkzUnZjaUJwY3lCT1ZVeE1BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2t1YzJsNlpTZ3BJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHbHpJR1Z0Y0hSNUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1ZDJsa2RHZ29LU0E5UFNCa1pYUmxZM1J2Y2kwK2QybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHRnVaQ0JrWlhSbFkzUnZjaUJ6YVhwbElHMXBjMjFoZEdOb0FFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1YUdWcFoyaDBLQ2tnUFQwZ1pHVjBaV04wYjNJdFBtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRTVUZEROZlh6SXhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNVNDJkbWx6YVc5dU9FdGxlV1p5WVcxbFNVeHBPVFpGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRVGpaMmFYTnBiMjQ0UzJWNVpuSmhiV1ZKVEdrNU5rVkZSVTVUWHpFMFpHVm1ZWFZzZEY5a1pXeGxkR1ZKVXpOZlJVVk9VMTg1WVd4c2IyTmhkRzl5U1ZNelgwVkZSVVVBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUJHYjNWdVpDQWxaQ0JtWldGMGRYSmxjeUJwYmlCeGRXVnllUUJpYjI5c0lIWnBjMmx2YmpvNlZtbHpkV0ZzUkdGMFlXSmhjMlU4ZG1semFXOXVPanBHVWtWQlMwVjRkSEpoWTNSdmNpd2dkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVTNSdmNtVXNJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlUxaGRHTm9aWEk4T1RZK0lENDZPbkYxWlhKNUtHTnZibk4wSUhacGMybHZiam82UjJGMWMzTnBZVzVUWTJGc1pWTndZV05sVUhseVlXMXBaQ0FxS1NCYlJrVkJWRlZTUlY5RldGUlNRVU5VVDFJZ1BTQjJhWE5wYjI0Nk9rWlNSVUZMUlhoMGNtRmpkRzl5TENCVFZFOVNSU0E5SUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpWTjBiM0psTENCTlFWUkRTRVZTSUQwZ2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxUV0YwWTJobGNqdzVOajVkQUVacGJtUWdUV0YwWTJobGN5QW9NU2tBU0c5MVoyZ2dWbTkwYVc1bklDZ3hLUUJHYVc1a0lFaHZkV2RvSUUxaGRHTm9aWE1nS0RFcEFFVnpkR2x0WVhSbElFaHZiVzluY21Gd2FIa2dLREVwQUVacGJtUWdTVzVzYVdWeWN5QW9NU2tBUm1sdVpDQk5ZWFJqYUdWeklDZ3lLUUJJYjNWbmFDQldiM1JwYm1jZ0tESXBBRVpwYm1RZ1NHOTFaMmdnVFdGMFkyaGxjeUFvTWlrQVJYTjBhVzFoZEdVZ1NHOXRiMmR5WVhCb2VTQW9NaWtBUm1sdVpDQkpibXhwWlhKeklDZ3lLUUJCYzNObGNuUnBiMjRnWURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm1WaGRIVnlaVjl0WVhSamFHVnlMV2x1YkdsdVpTNW9BRVpoYVd4bFpDQjBieUJqYjIxd2RYUmxJRzFoZEhKcGVDQnBiblpsY25ObEFFRnpjMlZ5ZEdsdmJpQmdZbVZ6ZEY5cGJtUmxlQ0FoUFNCemRHUTZPbTUxYldWeWFXTmZiR2x0YVhSelBITnBlbVZmZEQ0Nk9tMWhlQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGTnZiV1YwYUdsdVp5QnpkSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdiVTFoZEdOb1pYTXVjMmw2WlNncElEdzlJR1psWVhSMWNtVnpNUzArYzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCdFlYUmphR1Z6SUhOb2IzVnNaQ0JpWlNCc2IzZGxjZ0JCYzNObGNuUnBiMjRnWUdoNWNDNXphWHBsS0NrZ1BqMGdPU3B0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZhRzl0YjJkeVlYQm9lVjlsYzNScGJXRjBhVzl1TDNKdlluVnpkRjlvYjIxdlozSmhjR2g1TG1nQWFIbHdJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQTVLbTFoZUY5dWRXMWZhSGx3YjNSb1pYTmxjd0JCYzNObGNuUnBiMjRnWUhSdGNGOXBMbk5wZW1Vb0tTQStQU0J1ZFcxZmNHOXBiblJ6WUNCbVlXbHNaV1FnYVc0Z0FIUnRjRjlwSUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J1ZFcxZmNHOXBiblJ6QUVGemMyVnlkR2x2YmlCZ2FIbHdYMk52YzNSekxuTnBlbVVvS1NBK1BTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBYUhsd1gyTnZjM1J6SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE1BUVhOelpYSjBhVzl1SUdCdUlEdzlJR2x1WDIxaGRHTm9aWE11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOb2IzVnNaQ0JpWlNCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lHUnBjM1JDYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR1JwYzNSQ2FXNUJibWRzWlNCdGRYTjBJRzV2ZENCaVpTQnVaV2RoZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTYjI5MExtZGxkQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGSnZiM1FnWTJGdWJtOTBJR0psSUU1VlRFd0FRWE56WlhKMGFXOXVJR0J0YVc1cElDRTlJQzB4WUNCbVlXbHNaV1FnYVc0Z0FFMXBibWx0ZFcwZ2FXNWtaWGdnYm05MElITmxkQUJCYzNObGNuUnBiMjRnWUhnZ1BqMGdiVTFwYmxoZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VhQUI0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZSGdnUENCdFRXRjRXR0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnYlUxcGJsbGdJR1poYVd4bFpDQnBiaUFBZVNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVMWhlRmxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBK0lDMVFTV0FnWm1GcGJHVmtJR2x1SUFCaGJtZHNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBOFBTQlFTV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lITmpZV3hsSUQ0OUlHMU5hVzVUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJ6WTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxTllYaFRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x1WkdWNElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQWFXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJsZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0E4SUcxT2RXMVlRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCaWFXNVpJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUENCdFRuVnRXVUpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JpYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmtGdVoyeGxJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBia0Z1WjJ4bElEd2diVTUxYlVGdVoyeGxRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxOallXeGxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFZbWx1VTJOaGJHVWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVVMk5oYkdVZ1BDQnRUblZ0VTJOaGJHVkNhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BEMGdLR0pwYmxnZ0t5QmlhVzVaS20xT2RXMVlRbWx1Y3lBcklHSnBia0Z1WjJ4bEttMU9kVzFZUW1sdWN5cHRUblZ0V1VKcGJuTWdLeUJpYVc1VFkyRnNaU3B0VG5WdFdFSnBibk1xYlU1MWJWbENhVzV6S20xT2RXMUJibWRzWlVKcGJuTXBZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2MybDZaU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VZM0J3QUhOcGVtVWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTWldaSmJXRm5aVmRwWkhSb0lENGdNR0FnWm1GcGJHVmtJR2x1SUFCM2FXUjBhQ0J0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYlZKbFprbHRZV2RsU0dWcFoyaDBJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQm9aV2xuYUhRZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHNGdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMM1YwYVd4ekwzQmhjblJwWVd4ZmMyOXlkQzVvQUc0Z2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHc2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FHc2diWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlpuSmxZV3N1YUFCUWVYSmhiV2xrSUdseklFNVZURXdBUVhOelpYSjBhVzl1SUdCemRHOXlaUzV6YVhwbEtDa2dQVDBnY0c5cGJuUnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSE4wYjNKbElHaGhjeUJ1YjNRZ1ltVmxiaUJoYkd4dlkyRjBaV1FBUVhOelpYSjBhVzl1SUdCdWRXMWZjRzlwYm5SeklEMDlJSEJ2YVc1MGN5NXphWHBsS0NsZ0lHWmhhV3hsWkNCcGJpQUFVMmh2ZFd4a0lHSmxJSE5oYldVZ2MybDZaUUJCYzNObGNuUnBiMjRnWUc5amRHRjJaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtZ0FUMk4wWVhabElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnZZM1JoZG1VZ1BDQnRUblZ0VDJOMFlYWmxjMkFnWm1GcGJHVmtJR2x1SUFCUFkzUmhkbVVnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUc5amRHRjJaWE1BUVhOelpYSjBhVzl1SUdCelkyRnNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRk5qWVd4bElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVTJOaGJHVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JSE5qWVd4bElIQmxjaUJ2WTNSaGRtVUFKVzB0SldRdEpWa3RKVWd0SlUwdEpWTUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtTndjQUJYYVdSMGFDQmpZVzV1YjNRZ1ltVWdlbVZ5YndCQmMzTmxjblJwYjI0Z1lHaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBU0dWcFoyaDBJR05oYm01dmRDQmlaU0I2WlhKdkFFRnpjMlZ5ZEdsdmJpQmdjM1JsY0NBK1BTQjNhV1IwYUdBZ1ptRnBiR1ZrSUdsdUlBQlRkR1Z3SUcxMWMzUWdZbVVnWjNKbFlYUmxjaUIwYUdGdUlHOXlJR1Z4ZFdGc0lIUm9aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZR05vWVc1dVpXeHpJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQk9kVzFpWlhJZ2IyWWdZMmhoYm01bGJITWdZMkZ1Ym05MElHSmxJSHBsY204QVFYTnpaWEowYVc5dUlHQnRSR0YwWVM1blpYUW9LV0FnWm1GcGJHVmtJR2x1SUFCRVlYUmhJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQk9VM1F6WDE4eU1UUmtaV1poZFd4MFgyUmxiR1YwWlVsb1JVVUFUbE4wTTE5Zk1qSXdYMTl6YUdGeVpXUmZjSFJ5WDNCdmFXNTBaWEpKVUdoT1UxOHhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBU1c1MllXeHBaQ0JwYldGblpTQjBlWEJsQURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRYURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFRWE56WlhKMGFXOXVJR0J0VTNSaGNuUlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwzUnBiV1Z5Y3k1amNIQUFJR3hwYm1VZ0FEb2dBRU5zYjJOcklHaGhjeUJ1YjNRZ1ltVmxiaUJ6ZEdGeWRHVmtBRUZ6YzJWeWRHbHZiaUJnYlZOMGIzQlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4dlkyc2dhR0Z6SUc1dmRDQmlaV1Z1SUhOMGIzQndaV1FBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUFsY3pvZ0pXWWdiWE1BSUVsT1JrOGdJQUIyYVhOcGIyNDZPbE5qYjNCbFpGUnBiV1Z5T2pwK1UyTnZjR1ZrVkdsdFpYSW9LUUJ6WlhSMWNBQjBaV0Z5Wkc5M2JnQnpaWFIxY0VGU01nQmZZV1JrVFdGeWEyVnlBRjloWkdSTmRXeDBhVTFoY210bGNnQmZZV1JrVGtaVVRXRnlhMlZ5QUdkbGRFMTFiSFJwVFdGeWEyVnlUblZ0QUdkbGRFMTFiSFJwVFdGeWEyVnlRMjkxYm5RQVgyeHZZV1JEWVcxbGNtRUFjMlYwVFdGeWEyVnlTVzVtYjBScGNnQnpaWFJOWVhKclpYSkpibVp2Vm1WeWRHVjRBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxRMjl1ZEFCblpYUlVjbUZ1YzAxaGRFMTFiSFJwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVFhWc2RHbFRjWFZoY21WU2IySjFjM1FBWkdWMFpXTjBUV0Z5YTJWeUFHZGxkRTFoY210bGNrNTFiUUJrWlhSbFkzUk9SbFJOWVhKclpYSUFaMlYwVFhWc2RHbEZZV05vVFdGeWEyVnlBR2RsZEUxaGNtdGxjZ0JuWlhST1JsUk5ZWEpyWlhJQWMyVjBSR1ZpZFdkTmIyUmxBR2RsZEVSbFluVm5UVzlrWlFCblpYUlFjbTlqWlhOemFXNW5TVzFoWjJVQWMyVjBURzluVEdWMlpXd0FaMlYwVEc5blRHVjJaV3dBYzJWMFVISnZhbVZqZEdsdmJrNWxZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1VG1WaGNsQnNZVzVsQUhObGRGQnliMnBsWTNScGIyNUdZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1Um1GeVVHeGhibVVBYzJWMFZHaHlaWE5vYjJ4a1RXOWtaUUJuWlhSVWFISmxjMmh2YkdSTmIyUmxBSE5sZEZSb2NtVnphRzlzWkFCblpYUlVhSEpsYzJodmJHUUFjMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQVoyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBYzJWMFVHRjBkRkpoZEdsdkFHZGxkRkJoZEhSU1lYUnBid0J6WlhSTllYUnlhWGhEYjJSbFZIbHdaUUJuWlhSTllYUnlhWGhEYjJSbFZIbHdaUUJ6WlhSTVlXSmxiR2x1WjAxdlpHVUFaMlYwVEdGaVpXeHBibWROYjJSbEFITmxkRWx0WVdkbFVISnZZMDF2WkdVQVoyVjBTVzFoWjJWUWNtOWpUVzlrWlFCRlVsSlBVbDlCVWtOUFRsUlNUMHhNUlZKZlRrOVVYMFpQVlU1RUFFVlNVazlTWDAxVlRGUkpUVUZTUzBWU1gwNVBWRjlHVDFWT1JBQkZVbEpQVWw5TlFWSkxSVkpmU1U1RVJWaGZUMVZVWDA5R1gwSlBWVTVFVXdCQlVsOUVSVUpWUjE5RVNWTkJRa3hGQUVGU1gwUkZRbFZIWDBWT1FVSk1SUUJCVWw5RVJVWkJWVXhVWDBSRlFsVkhYMDFQUkVVQVFWSmZURUZDUlV4SlRrZGZWMGhKVkVWZlVrVkhTVTlPQUVGU1gweEJRa1ZNU1U1SFgwSk1RVU5MWDFKRlIwbFBUZ0JCVWw5RVJVWkJWVXhVWDB4QlFrVk1TVTVIWDAxUFJFVUFRVkpmUkVWR1FWVk1WRjlNUVVKRlRFbE9SMTlVU0ZKRlUwZ0FRVkpmU1UxQlIwVmZVRkpQUTE5R1VrRk5SVjlKVFVGSFJRQkJVbDlKVFVGSFJWOVFVazlEWDBaSlJVeEVYMGxOUVVkRkFFRlNYMFJGUmtGVlRGUmZTVTFCUjBWZlVGSlBRMTlOVDBSRkFFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYMDFQVGs4QVFWSmZUVUZVVWtsWVgwTlBSRVZmUkVWVVJVTlVTVTlPQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTWDBGT1JGOU5RVlJTU1ZnQVFWSmZWRVZOVUV4QlZFVmZUVUZVUTBoSlRrZGZUVTlPVDE5QlRrUmZUVUZVVWtsWUFFRlNYMFJGUmtGVlRGUmZVRUZVVkVWU1RsOUVSVlJGUTFSSlQwNWZUVTlFUlFCQlVsOVZVMFZmVkZKQlEwdEpUa2RmU0VsVFZFOVNXUUJCVWw5T1QxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpBRUZTWDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWlgxWXlBRUZTWDBSRlJrRlZURlJmVFVGU1MwVlNYMFZZVkZKQlExUkpUMDVmVFU5RVJRQkJVbDlOUVZoZlRFOVBVRjlEVDFWT1ZBQkJVbDlNVDA5UVgwSlNSVUZMWDFSSVVrVlRTQUJCVWw5TVQwZGZURVZXUlV4ZlJFVkNWVWNBUVZKZlRFOUhYMHhGVmtWTVgwbE9SazhBUVZKZlRFOUhYMHhGVmtWTVgxZEJVazRBUVZKZlRFOUhYMHhGVmtWTVgwVlNVazlTQUVGU1gweFBSMTlNUlZaRlRGOVNSVXhmU1U1R1R3QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETUFRVkpmVFVGVVVrbFlYME5QUkVWZk0zZ3pYMGhCVFUxSlRrYzJNd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE5mVUVGU1NWUlpOalVBUVZKZlRVRlVVa2xZWDBOUFJFVmZOSGcwQUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mT1Y4ekFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk5WODFBRUZTWDB4QlFrVk1TVTVIWDFSSVVrVlRTRjlOVDBSRlgwMUJUbFZCVEFCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwMUZSRWxCVGdCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwOVVVMVVBUVZKZlRFRkNSVXhKVGtkZlZFaFNSVk5JWDAxUFJFVmZRVlZVVDE5QlJFRlFWRWxXUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRrOU9SUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVUVGVVZFVlNUbDlGV0ZSU1FVTlVTVTlPQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlIUlU1RlVrbERBRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOURUMDVVVWtGVFZBQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUVUZVUTBoZlFrRlNRMDlFUlY5T1QxUmZSazlWVGtRQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBKQlVrTlBSRVZmUlVSRFgwWkJTVXdBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYME5QVGtaSlJFVk9RMFVBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFJQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSmZUVlZNVkVrQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwaEZWVkpKVTFSSlExOVVVazlWUWt4RlUwOU5SVjlOUVZSU1NWaGZRMDlFUlZNQVlXeHNiMk5oZEc5eVBGUStPanBoYkd4dlkyRjBaU2h6YVhwbFgzUWdiaWtnSjI0bklHVjRZMlZsWkhNZ2JXRjRhVzExYlNCemRYQndiM0owWldRZ2MybDZaUUJKYldGblpTQndjbTlqTGlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUV4aFltVnNhVzVuSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0IyYVdsbUFGQmhkSFJsY200Z2NtRjBhVzhnYzJsNlpTQnpaWFFnZEc4Z0pXWXVDZ0JRWVhSMFpYSnVJR1JsZEdWamRHbHZiaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRlJvY21WemFHOXNaQ0J6WlhRZ2RHOGdKV1FLQUhacGFXa0FWR2h5WlhOb2IyeGtJRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQmthV2tBZG1scFpBQnBhUUIyYVdrQWIyNHVBRzltWmk0QVJHVmlkV2NnYlc5a1pTQnpaWFFnZEc4Z0pYTUtBRlJ5WVdOcmFXNW5JR3h2YzNRdUlDVmtDZ0JVY21GamEyVmtJSEJoWjJVZ0pXUWdLRzFoZUNBbFpDa3VDZ0I3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBd095QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkS1NCN0lHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZElEMGdLSHNnYVdRNklEQXNJR1Z5Y205eU9pQXRNU3dnWm05MWJtUTZJREFzSUhCdmMyVTZJRnN3TERBc01Dd3dMQ0F3TERBc01Dd3dMQ0F3TERBc01Dd3dYU0I5S1RzZ2ZTQjJZWElnYldGeWEyVnlTVzVtYnlBOUlHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZE95QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpWlhKeWIzSWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltWnZkVzVrSWwwZ1BTQXhPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTTEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJORjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTmwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT1YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6WlNKZFd6RXhYU0E5SUNSaFcya3JLMTA3SUgwQWV5QjJZWElnSkdFZ1BTQmhjbWQxYldWdWRITTdJSFpoY2lCcElEMGdNRHNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lHbGtPaUF3TENCbGNuSnZjam9nTFRFc0lHWnZkVzVrT2lBd0xDQndiM05sT2lCYk1Dd3dMREFzTUN3Z01Dd3dMREFzTUN3Z01Dd3dMREFzTUYwZ2ZTazdJSDBnZG1GeUlHMWhjbXRsY2tsdVptOGdQU0JoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYVHNnYldGeWEyVnlTVzVtYjFzaWFXUWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltVnljbTl5SWwwZ1BTQXRNVHNnYldGeWEyVnlTVzVtYjFzaVptOTFibVFpWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN3WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN5WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN6WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMwWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMxWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMyWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMzWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM0WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM1WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4TUYwZ1BTQXdPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRGZElEMGdNRHNnZlFCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXhNanNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNBOUlDaDdJSEJ2Y3pvZ1d6QXNNRjBzSUd4cGJtVTZJRnRiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRYU3dnZG1WeWRHVjRPaUJiV3pBc01GMHNJRnN3TERCZExDQmJNQ3d3WFN3Z1d6QXNNRjFkSUgwcE95QjlJSFpoY2lCdFlYSnJaWEpKYm1adklEMGdZWEowYjI5c2EybDBXeUp0WVhKclpYSkpibVp2SWwwN0lHMWhjbXRsY2tsdVptOWJJbUZ5WldFaVhTQTlJQ1F3T3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pERTdJRzFoY210bGNrbHVabTliSW1sa1VHRjBkQ0pkSUQwZ0pESTdJRzFoY210bGNrbHVabTliSW1sa1RXRjBjbWw0SWwwZ1BTQWtNenNnYldGeWEyVnlTVzVtYjFzaVpHbHlJbDBnUFNBa05Ec2diV0Z5YTJWeVNXNW1iMXNpWkdseVVHRjBkQ0pkSUQwZ0pEVTdJRzFoY210bGNrbHVabTliSW1ScGNrMWhkSEpwZUNKZElEMGdKRFk3SUcxaGNtdGxja2x1Wm05YkltTm1JbDBnUFNBa056c2diV0Z5YTJWeVNXNW1iMXNpWTJaUVlYUjBJbDBnUFNBa09Ec2diV0Z5YTJWeVNXNW1iMXNpWTJaTllYUnlhWGdpWFNBOUlDUTVPeUJ0WVhKclpYSkpibVp2V3lKd2IzTWlYVnN3WFNBOUlDUXhNRHNnYldGeWEyVnlTVzVtYjFzaWNHOXpJbDFiTVYwZ1BTQWtNVEU3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6QmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNRjFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pGZFd6RmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1sMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXek5kV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTTExYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKbGNuSnZja052Y25KbFkzUmxaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2ZRQjdJR2xtSUNnaFlYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBwSUhzZ1lYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQnRkV3gwYVVWaFkyaE5ZWEpyWlhJZ1BTQmhjblJ2YjJ4cmFYUmJJbTExYkhScFJXRmphRTFoY210bGNrbHVabThpWFRzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkMmFYTnBZbXhsSjEwZ1BTQWtNRHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWR3WVhSMFNXUW5YU0E5SUNReE95QnRkV3gwYVVWaFkyaE5ZWEpyWlhKYkozQmhkSFJVZVhCbEoxMGdQU0FrTWpzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkM2FXUjBhQ2RkSUQwZ0pETTdJSDBBYVdscEFFNVRkRE5mWHpJeE1tSmhjMmxqWDNOMGNtbHVaMGxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWT1UxODVZV3hzYjJOaGRHOXlTV05GUlVWRkFFNVRkRE5mWHpJeU1WOWZZbUZ6YVdOZmMzUnlhVzVuWDJOdmJXMXZia2xNWWpGRlJVVUFiRzloWkVOaGJXVnlZU2dwT2lCRmNuSnZjaUJzYjJGa2FXNW5JSEJoY21GdFpYUmxjaUJtYVd4bElDVnpJR1p2Y2lCallXMWxjbUV1Q2dCcGFXbHBBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1RrWlVJRzFoY210bGNpNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRETUtBR1p6WlhRekFFVnljbTl5SUhKbFlXUnBibWNnUzFCTklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWME13b0FJQ0JCYzNOcFoyNWxaQ0J3WVdkbElHNXZMaUFsWkM0S0FFVnljbTl5T2lCcmNHMURhR0Z1WjJWUVlXZGxUbTlQWmxKbFprUmhkR0ZUWlhRS0FFVnljbTl5T2lCcmNHMU5aWEpuWlZKbFprUmhkR0ZUWlhRS0FDQWdSRzl1WlM0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZEFvQVpuTmxkQUJGY25KdmNpQnlaV0ZrYVc1bklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWMENnQkZjbkp2Y2pvZ2EzQnRVMlYwVW1WbVJHRjBZVk5sZEFvQVRHOWhaR2x1WnlCdlppQk9SbFFnWkdGMFlTQmpiMjF3YkdWMFpTNEtBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1FWSWdiWFZzZEdsdFlYSnJaWEl1Q2dCamIyNW1hV2NnWkdGMFlTQnNiMkZrSUdWeWNtOXlJQ0VoQ2dCQlVsUnZiMnhMYVhSS1V5Z3BPaUJWYm1GaWJHVWdkRzhnYzJWMElIVndJRUZTSUcxaGNtdGxjaTRLQUd4dllXUk5ZWEpyWlhJb0tUb2dSWEp5YjNJZ2JHOWhaR2x1WnlCd1lYUjBaWEp1SUdacGJHVWdKWE11Q2dCRmNuSnZjam9nWVhJeVEzSmxZWFJsU0dGdVpHeGxMZ29BYVdscGFXa0FjMlYwZFhBb0tUb2dSWEp5YjNJNklHRnlVR0YwZEVOeVpXRjBaVWhoYm1Sc1pTNEtBRUZzYkc5allYUmxaQ0IyYVdSbGIwWnlZVzFsVTJsNlpTQWxaQW9BZXlCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhTa2dleUJoY25SdmIyeHJhWFJiSW1aeVlXMWxUV0ZzYkc5aklsMGdQU0FvZTMwcE95QjlJSFpoY2lCbWNtRnRaVTFoYkd4dll5QTlJR0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhUc2dabkpoYldWTllXeHNiMk5iSW1aeVlXMWxjRzlwYm5SbGNpSmRJRDBnSkRFN0lHWnlZVzFsVFdGc2JHOWpXeUptY21GdFpYTnBlbVVpWFNBOUlDUXlPeUJtY21GdFpVMWhiR3h2WTFzaVkyRnRaWEpoSWwwZ1BTQWtNenNnWm5KaGJXVk5ZV3hzYjJOYkluUnlZVzV6Wm05eWJTSmRJRDBnSkRRN0lHWnlZVzFsVFdGc2JHOWpXeUoyYVdSbGIweDFiV0ZRYjJsdWRHVnlJbDBnUFNBa05Uc2dmUUFxS2lvZ1EyRnRaWEpoSUZCaGNtRnRaWFJsY2lCeVpYTnBlbVZrSUdaeWIyMGdKV1FzSUNWa0xpQXFLaW9LQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2pvZ1lYSlFZWEpoYlV4VVEzSmxZWFJsTGdvQWMyVjBRMkZ0WlhKaEtDazZJRVZ5Y205eU9pQmhja055WldGMFpVaGhibVJzWlM0S0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNpQmpjbVZoZEdsdVp5QXpSQ0JvWVc1a2JHVUFUM1YwSUc5bUlHMWxiVzl5ZVNFaENnQkZjbkp2Y2pvZ2JXRnNiRzlqQ2dBakl5TWdSbVZoZEhWeVpTQmpZVzVrYVdSaGRHVnpJR1p2Y2lCMGNtRmphMmx1WnlCaGNtVWdiM1psY21ac2IzY3VDZ0JDYjJkMWN5QnRaWE56WVdkbElHTnZaR1VnSldRQVFVeEpSMDVmVkZsUVJTQnBjeUIzY205dVp5d2djR3hsWVhObElHWnBlQUJOUVZoZlFVeE1UME5mUTBoVlRrc2dhWE1nZDNKdmJtY3NJSEJzWldGelpTQm1hWGdBUW05bmRYTWdZblZtWm1WeUlHTnZiblJ5YjJ3Z2JXOWtaUUJKYm5aaGJHbGtJR052YlhCdmJtVnVkQ0JKUkNBbFpDQnBiaUJUVDFNQVNXNTJZV3hwWkNCamNtOXdJSEpsY1hWbGMzUUFSRU5VSUdOdlpXWm1hV05wWlc1MElHOTFkQ0J2WmlCeVlXNW5aUUJFUTFRZ2MyTmhiR1ZrSUdKc2IyTnJJSE5wZW1VZ0pXUjRKV1FnYm05MElITjFjSEJ2Y25SbFpBQkRiMjF3YjI1bGJuUWdhVzVrWlhnZ0pXUTZJRzFwYzIxaGRHTm9hVzVuSUhOaGJYQnNhVzVuSUhKaGRHbHZJQ1ZrT2lWa0xDQWxaRG9sWkN3Z0pXTUFRbTluZFhNZ1NIVm1abTFoYmlCMFlXSnNaU0JrWldacGJtbDBhVzl1QUVKdlozVnpJR2x1Y0hWMElHTnZiRzl5YzNCaFkyVUFRbTluZFhNZ1NsQkZSeUJqYjJ4dmNuTndZV05sQUVKdlozVnpJRzFoY210bGNpQnNaVzVuZEdnQVYzSnZibWNnU2xCRlJ5QnNhV0p5WVhKNUlIWmxjbk5wYjI0NklHeHBZbkpoY25rZ2FYTWdKV1FzSUdOaGJHeGxjaUJsZUhCbFkzUnpJQ1ZrQUZOaGJYQnNhVzVuSUdaaFkzUnZjbk1nZEc5dklHeGhjbWRsSUdadmNpQnBiblJsY214bFlYWmxaQ0J6WTJGdUFFbHVkbUZzYVdRZ2JXVnRiM0o1SUhCdmIyd2dZMjlrWlNBbFpBQlZibk4xY0hCdmNuUmxaQ0JLVUVWSElHUmhkR0VnY0hKbFkybHphVzl1SUNWa0FFbHVkbUZzYVdRZ2NISnZaM0psYzNOcGRtVWdjR0Z5WVcxbGRHVnljeUJUY3owbFpDQlRaVDBsWkNCQmFEMGxaQ0JCYkQwbFpBQkpiblpoYkdsa0lIQnliMmR5WlhOemFYWmxJSEJoY21GdFpYUmxjbk1nWVhRZ2MyTmhiaUJ6WTNKcGNIUWdaVzUwY25rZ0pXUUFRbTluZFhNZ2MyRnRjR3hwYm1jZ1ptRmpkRzl5Y3dCSmJuWmhiR2xrSUhOallXNGdjMk55YVhCMElHRjBJR1Z1ZEhKNUlDVmtBRWx0Y0hKdmNHVnlJR05oYkd3Z2RHOGdTbEJGUnlCc2FXSnlZWEo1SUdsdUlITjBZWFJsSUNWa0FFcFFSVWNnY0dGeVlXMWxkR1Z5SUhOMGNuVmpkQ0J0YVhOdFlYUmphRG9nYkdsaWNtRnllU0IwYUdsdWEzTWdjMmw2WlNCcGN5QWxkU3dnWTJGc2JHVnlJR1Y0Y0dWamRITWdKWFVBUW05bmRYTWdkbWx5ZEhWaGJDQmhjbkpoZVNCaFkyTmxjM01BUW5WbVptVnlJSEJoYzNObFpDQjBieUJLVUVWSElHeHBZbkpoY25rZ2FYTWdkRzl2SUhOdFlXeHNBRk4xYzNCbGJuTnBiMjRnYm05MElHRnNiRzkzWldRZ2FHVnlaUUJEUTBsU05qQXhJSE5oYlhCc2FXNW5JRzV2ZENCcGJYQnNaVzFsYm5SbFpDQjVaWFFBVkc5dklHMWhibmtnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjem9nSldRc0lHMWhlQ0FsWkFCVmJuTjFjSEJ2Y25SbFpDQmpiMnh2Y2lCamIyNTJaWEp6YVc5dUlISmxjWFZsYzNRQVFtOW5kWE1nUkVGRElHbHVaR1Y0SUNWa0FFSnZaM1Z6SUVSQlF5QjJZV3gxWlNBd2VDVjRBRUp2WjNWeklFUklWQ0JwYm1SbGVDQWxaQUJDYjJkMWN5QkVVVlFnYVc1a1pYZ2dKV1FBUlcxd2RIa2dTbEJGUnlCcGJXRm5aU0FvUkU1TUlHNXZkQ0J6ZFhCd2IzSjBaV1FwQUZKbFlXUWdabkp2YlNCRlRWTWdabUZwYkdWa0FGZHlhWFJsSUhSdklFVk5VeUJtWVdsc1pXUUFSR2xrYmlkMElHVjRjR1ZqZENCdGIzSmxJSFJvWVc0Z2IyNWxJSE5qWVc0QVNXNXdkWFFnWm1sc1pTQnlaV0ZrSUdWeWNtOXlBRTkxZEhCMWRDQm1hV3hsSUhkeWFYUmxJR1Z5Y205eUlDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUm5KaFkzUnBiMjVoYkNCellXMXdiR2x1WnlCdWIzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFFaDFabVp0WVc0Z1kyOWtaU0J6YVhwbElIUmhZbXhsSUc5MlpYSm1iRzkzQUUxcGMzTnBibWNnU0hWbVptMWhiaUJqYjJSbElIUmhZbXhsSUdWdWRISjVBRTFoZUdsdGRXMGdjM1Z3Y0c5eWRHVmtJR2x0WVdkbElHUnBiV1Z1YzJsdmJpQnBjeUFsZFNCd2FYaGxiSE1BUlcxd2RIa2dhVzV3ZFhRZ1ptbHNaUUJRY21WdFlYUjFjbVVnWlc1a0lHOW1JR2x1Y0hWMElHWnBiR1VBUTJGdWJtOTBJSFJ5WVc1elkyOWtaU0JrZFdVZ2RHOGdiWFZzZEdsd2JHVWdkWE5sSUc5bUlIRjFZVzUwYVhwaGRHbHZiaUIwWVdKc1pTQWxaQUJUWTJGdUlITmpjbWx3ZENCa2IyVnpJRzV2ZENCMGNtRnVjMjFwZENCaGJHd2daR0YwWVFCSmJuWmhiR2xrSUdOdmJHOXlJSEYxWVc1MGFYcGhkR2x2YmlCdGIyUmxJR05vWVc1blpRQk9iM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRkpsY1hWbGMzUmxaQ0JtWldGMGRYSmxJSGRoY3lCdmJXbDBkR1ZrSUdGMElHTnZiWEJwYkdVZ2RHbHRaUUJCY21sMGFHMWxkR2xqSUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVFtRmphMmx1WnlCemRHOXlaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFaDFabVp0WVc0Z2RHRmliR1VnTUhnbE1ESjRJSGRoY3lCdWIzUWdaR1ZtYVc1bFpBQktVRVZISUdSaGRHRnpkSEpsWVcwZ1kyOXVkR0ZwYm5NZ2JtOGdhVzFoWjJVQVVYVmhiblJwZW1GMGFXOXVJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBVG05MElHRWdTbEJGUnlCbWFXeGxPaUJ6ZEdGeWRITWdkMmwwYUNBd2VDVXdNbmdnTUhnbE1ESjRBRWx1YzNWbVptbGphV1Z1ZENCdFpXMXZjbmtnS0dOaGMyVWdKV1FwQUVOaGJtNXZkQ0J4ZFdGdWRHbDZaU0J0YjNKbElIUm9ZVzRnSldRZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3dCRFlXNXViM1FnY1hWaGJuUnBlbVVnZEc4Z1ptVjNaWElnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFRMkZ1Ym05MElIRjFZVzUwYVhwbElIUnZJRzF2Y21VZ2RHaGhiaUFsWkNCamIyeHZjbk1BU1c1MllXeHBaQ0JLVUVWSElHWnBiR1VnYzNSeWRXTjBkWEpsT2lBbGN5QmlaV1p2Y21VZ1UwOUdBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBSaUJ0WVhKclpYSnpBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nYldsemMybHVaeUJUVDFNZ2JXRnlhMlZ5QUZWdWMzVndjRzl5ZEdWa0lFcFFSVWNnY0hKdlkyVnpjem9nVTA5R0lIUjVjR1VnTUhnbE1ESjRBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBTU0J0WVhKclpYSnpBRVpoYVd4bFpDQjBieUJqY21WaGRHVWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFVbVZoWkNCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVTJWbGF5Qm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVYzSnBkR1VnWm1GcGJHVmtJRzl1SUhSbGJYQnZjbUZ5ZVNCbWFXeGxJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVFYQndiR2xqWVhScGIyNGdkSEpoYm5ObVpYSnlaV1FnZEc5dklHWmxkeUJ6WTJGdWJHbHVaWE1BVlc1emRYQndiM0owWldRZ2JXRnlhMlZ5SUhSNWNHVWdNSGdsTURKNEFGWnBjblIxWVd3Z1lYSnlZWGtnWTI5dWRISnZiR3hsY2lCdFpYTnpaV1FnZFhBQVNXMWhaMlVnZEc5dklIZHBaR1VnWm05eUlIUm9hWE1nYVcxd2JHVnRaVzUwWVhScGIyNEFVbVZoWkNCbWNtOXRJRmhOVXlCbVlXbHNaV1FBVjNKcGRHVWdkRzhnV0UxVElHWmhhV3hsWkFCRGIzQjVjbWxuYUhRZ0tFTXBJREl3TVRnc0lGUm9iMjFoY3lCSExpQk1ZVzVsTENCSGRXbGtieUJXYjJ4c1ltVmthVzVuQURsaklDQXhOQzFLWVc0dE1qQXhPQUJEWVhWMGFXOXVPaUJ4ZFdGdWRHbDZZWFJwYjI0Z2RHRmliR1Z6SUdGeVpTQjBiMjhnWTI5aGNuTmxJR1p2Y2lCaVlYTmxiR2x1WlNCS1VFVkhBRUZrYjJKbElFRlFVREUwSUcxaGNtdGxjam9nZG1WeWMybHZiaUFsWkN3Z1pteGhaM01nTUhnbE1EUjRJREI0SlRBMGVDd2dkSEpoYm5ObWIzSnRJQ1ZrQUZWdWEyNXZkMjRnUVZCUU1DQnRZWEpyWlhJZ0tHNXZkQ0JLUmtsR0tTd2diR1Z1WjNSb0lDVjFBRlZ1YTI1dmQyNGdRVkJRTVRRZ2JXRnlhMlZ5SUNodWIzUWdRV1J2WW1VcExDQnNaVzVuZEdnZ0pYVUFSR1ZtYVc1bElFRnlhWFJvYldWMGFXTWdWR0ZpYkdVZ01IZ2xNREo0T2lBd2VDVXdNbmdBUkdWbWFXNWxJRWgxWm1adFlXNGdWR0ZpYkdVZ01IZ2xNREo0QUVSbFptbHVaU0JSZFdGdWRHbDZZWFJwYjI0Z1ZHRmliR1VnSldRZ0lIQnlaV05wYzJsdmJpQWxaQUJFWldacGJtVWdVbVZ6ZEdGeWRDQkpiblJsY25aaGJDQWxkUUJHY21WbFpDQkZUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUVWTlV5Qm9ZVzVrYkdVZ0pYVUFSVzVrSUU5bUlFbHRZV2RsQUNBZ0lDQWdJQ0FnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpBQktSa2xHSUVGUVVEQWdiV0Z5YTJWeU9pQjJaWEp6YVc5dUlDVmtMaVV3TW1Rc0lHUmxibk5wZEhrZ0pXUjRKV1FnSUNWa0FGZGhjbTVwYm1jNklIUm9kVzFpYm1GcGJDQnBiV0ZuWlNCemFYcGxJR1J2WlhNZ2JtOTBJRzFoZEdOb0lHUmhkR0VnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dkSGx3WlNBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFBZ0lDQWdkMmwwYUNBbFpDQjRJQ1ZrSUhSb2RXMWlibUZwYkNCcGJXRm5aUUJOYVhOalpXeHNZVzVsYjNWeklHMWhjbXRsY2lBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFCVmJtVjRjR1ZqZEdWa0lHMWhjbXRsY2lBd2VDVXdNbmdBSUNBZ0lDQWdJQ0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUFGRjFZVzUwYVhwcGJtY2dkRzhnSldRZ1BTQWxaQ29sWkNvbFpDQmpiMnh2Y25NQVVYVmhiblJwZW1sdVp5QjBieUFsWkNCamIyeHZjbk1BVTJWc1pXTjBaV1FnSldRZ1kyOXNiM0p6SUdadmNpQnhkV0Z1ZEdsNllYUnBiMjRBUVhRZ2JXRnlhMlZ5SURCNEpUQXllQ3dnY21WamIzWmxjbmtnWVdOMGFXOXVJQ1ZrQUZKVFZDVmtBRk50YjI5MGFHbHVaeUJ1YjNRZ2MzVndjRzl5ZEdWa0lIZHBkR2dnYm05dWMzUmhibVJoY21RZ2MyRnRjR3hwYm1jZ2NtRjBhVzl6QUZOMFlYSjBJRTltSUVaeVlXMWxJREI0SlRBeWVEb2dkMmxrZEdnOUpYVXNJR2hsYVdkb2REMGxkU3dnWTI5dGNHOXVaVzUwY3owbFpBQWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQWxaR2g0SldSMklIRTlKV1FBVTNSaGNuUWdiMllnU1cxaFoyVUFVM1JoY25RZ1QyWWdVMk5oYmpvZ0pXUWdZMjl0Y0c5dVpXNTBjd0FnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUJrWXowbFpDQmhZejBsWkFBZ0lGTnpQU1ZrTENCVFpUMGxaQ3dnUVdnOUpXUXNJRUZzUFNWa0FFTnNiM05sWkNCMFpXMXdiM0poY25rZ1ptbHNaU0FsY3dCUGNHVnVaV1FnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQktVRVZITFdOdmJYQnlaWE56WldRZ2RHaDFiV0p1WVdsc0lHbHRZV2RsTENCc1pXNW5kR2dnSlhVQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJ3WVd4bGRIUmxJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ1VrZENJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRlZ1Y21WamIyZHVhWHBsWkNCamIyMXdiMjVsYm5RZ1NVUnpJQ1ZrSUNWa0lDVmtMQ0JoYzNOMWJXbHVaeUJaUTJKRGNnQkdjbVZsWkNCWVRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRmhOVXlCb1lXNWtiR1VnSlhVQVZXNXJibTkzYmlCQlpHOWlaU0JqYjJ4dmNpQjBjbUZ1YzJadmNtMGdZMjlrWlNBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dZbUZrSUdGeWFYUm9iV1YwYVdNZ1kyOWtaUUJKYm1OdmJuTnBjM1JsYm5RZ2NISnZaM0psYzNOcGIyNGdjMlZ4ZFdWdVkyVWdabTl5SUdOdmJYQnZibVZ1ZENBbFpDQmpiMlZtWm1samFXVnVkQ0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ0pYVWdaWGgwY21GdVpXOTFjeUJpZVhSbGN5QmlaV1p2Y21VZ2JXRnlhMlZ5SURCNEpUQXllQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nY0hKbGJXRjBkWEpsSUdWdVpDQnZaaUJrWVhSaElITmxaMjFsYm5RQVEyOXljblZ3ZENCS1VFVkhJR1JoZEdFNklHSmhaQ0JJZFdabWJXRnVJR052WkdVQVYyRnlibWx1WnpvZ2RXNXJibTkzYmlCS1JrbEdJSEpsZG1semFXOXVJRzUxYldKbGNpQWxaQzRsTURKa0FGQnlaVzFoZEhWeVpTQmxibVFnYjJZZ1NsQkZSeUJtYVd4bEFFTnZjbkoxY0hRZ1NsQkZSeUJrWVhSaE9pQm1iM1Z1WkNCdFlYSnJaWElnTUhnbE1ESjRJR2x1YzNSbFlXUWdiMllnVWxOVUpXUUFTVzUyWVd4cFpDQlRUMU1nY0dGeVlXMWxkR1Z5Y3lCbWIzSWdjMlZ4ZFdWdWRHbGhiQ0JLVUVWSEFFRndjR3hwWTJGMGFXOXVJSFJ5WVc1elptVnljbVZrSUhSdmJ5QnRZVzU1SUhOallXNXNhVzVsY3dCS1VFVkhUVVZOQUNWc1pDVmpBRk5QVXdCTVUwVUFKWE1LQUhKM1lRQnBibVpwYm1sMGVRQUFBUUlFQndNR0JRQXRLeUFnSURCWU1IZ0FLRzUxYkd3cEFDMHdXQ3N3V0NBd1dDMHdlQ3N3ZUNBd2VBQnBibVlBU1U1R0FHNWhiZ0JPUVU0QUxnQk1RMTlCVEV3QVRFRk9Sd0JETGxWVVJpMDRBRkJQVTBsWUFFMVZVMHhmVEU5RFVFRlVTQUIwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWek9pQWxjd0IwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWekFIUmxjbTFwYm1GMGFXNW5JSGRwZEdnZ0pYTWdabTl5WldsbmJpQmxlR05sY0hScGIyNEFkR1Z5YldsdVlYUnBibWNBZFc1allYVm5hSFFBVTNRNVpYaGpaWEIwYVc5dUFFNHhNRjlmWTNoNFlXSnBkakV4Tmw5ZmMyaHBiVjkwZVhCbFgybHVabTlGQUZOME9YUjVjR1ZmYVc1bWJ3Qk9NVEJmWDJONGVHRmlhWFl4TWpCZlgzTnBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFM1gxOWpiR0Z6YzE5MGVYQmxYMmx1Wm05RkFIUmxjbTFwYm1GMFpWOW9ZVzVrYkdWeUlIVnVaWGh3WldOMFpXUnNlU0J5WlhSMWNtNWxaQUJUZERFeGJHOW5hV05mWlhKeWIzSUFVM1F4TW14bGJtZDBhRjlsY25KdmNnQk9NVEJmWDJONGVHRmlhWFl4TVRkZlgzQmlZWE5sWDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEU1WDE5d2IybHVkR1Z5WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEl6WDE5bWRXNWtZVzFsYm5SaGJGOTBlWEJsWDJsdVptOUZBSFlBWWdCakFHZ0FZUUJ6QUhRQWFRQnFBRzBBWmdCa0FFNHhNRjlmWTNoNFlXSnBkakV5TVY5ZmRtMXBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFkbTlwWkFCaWIyOXNBR05vWVhJQWMybG5ibVZrSUdOb1lYSUFkVzV6YVdkdVpXUWdZMmhoY2dCemFHOXlkQUIxYm5OcFoyNWxaQ0J6YUc5eWRBQnBiblFBZFc1emFXZHVaV1FnYVc1MEFHeHZibWNBZFc1emFXZHVaV1FnYkc5dVp3Qm1iRzloZEFCa2IzVmliR1VBYzNSa09qcHpkSEpwYm1jQWMzUmtPanBpWVhOcFkxOXpkSEpwYm1jOGRXNXphV2R1WldRZ1kyaGhjajRBYzNSa09qcDNjM1J5YVc1bkFITjBaRG82ZFRFMmMzUnlhVzVuQUhOMFpEbzZkVE15YzNSeWFXNW5BR1Z0YzJOeWFYQjBaVzQ2T25aaGJBQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4amFHRnlQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YzJodmNuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lITm9iM0owUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUdsdWRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGJHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUXhObDkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME1UWmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwTXpKZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXbHVkRE15WDNRK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEdac2IyRjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGtiM1ZpYkdVK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEd4dmJtY2daRzkxWW14bFBnQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbGxSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXWkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGx0UlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmJFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV3BGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBscFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpkRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1hORlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbG9SVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWVVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU0zWmhiRVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnBUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVhVVZGVGxOZk9XRnNiRzlqWVhSdmNrbEVhVVZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJ6VGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYzBWRlRsTmZPV0ZzYkc5allYUnZja2xFYzBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVNVRYemxoYkd4dlkyRjBiM0pKZDBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1doT1UxOHhNV05vWVhKZmRISmhhWFJ6U1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFUbE4wTTE5Zk1qaHBiM05mWW1GelpVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakUxWW1GemFXTmZjM1J5WldGdFluVm1TV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE5XSmhjMmxqWDNOMGNtVmhiV0oxWmtsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXBjM1J5WldGdFNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TTJKaGMybGpYMmx6ZEhKbFlXMUpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFelltRnphV05mYjNOMGNtVmhiVWxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5dmMzUnlaV0Z0U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZBRTVUZEROZlh6SXhNVjlmYzNSa2IzVjBZblZtU1hkRlJRQk9VM1F6WDE4eU1URmZYM04wWkc5MWRHSjFaa2xqUlVVQWRXNXpkWEJ3YjNKMFpXUWdiRzlqWVd4bElHWnZjaUJ6ZEdGdVpHRnlaQ0JwYm5CMWRBQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TWGRGUlFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNXTkZSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpZMFZGQUU1VGRETmZYekkyYkc5allXeGxOV1poWTJWMFJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSmQwVkZBQ1Z3QUVNQVRsTjBNMTlmTWpkdWRXMWZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgyZGxkRWxqUlVVQVRsTjBNMTlmTWpFMFgxOXVkVzFmWjJWMFgySmhjMlZGQUU1VGRETmZYekkzYm5WdFgyZGxkRWwzVGxOZk1UbHBjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qbGZYMjUxYlY5blpYUkpkMFZGQUNWd0FBQUFBRXdBYkd3QUpRQUFBQUFBYkFCT1UzUXpYMTh5TjI1MWJWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6STVYMTl1ZFcxZmNIVjBTV05GUlFCT1UzUXpYMTh5TVRSZlgyNTFiVjl3ZFhSZlltRnpaVVVBVGxOME0xOWZNamR1ZFcxZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDNCMWRFbDNSVVVBSlVnNkpVMDZKVk1BSlcwdkpXUXZKWGtBSlVrNkpVMDZKVk1nSlhBQUpXRWdKV0lnSldRZ0pVZzZKVTA2SlZNZ0pWa0FRVTBBVUUwQVNtRnVkV0Z5ZVFCR1pXSnlkV0Z5ZVFCTllYSmphQUJCY0hKcGJBQk5ZWGtBU25WdVpRQktkV3g1QUVGMVozVnpkQUJUWlhCMFpXMWlaWElBVDJOMGIySmxjZ0JPYjNabGJXSmxjZ0JFWldObGJXSmxjZ0JLWVc0QVJtVmlBRTFoY2dCQmNISUFTblZ1QUVwMWJBQkJkV2NBVTJWd0FFOWpkQUJPYjNZQVJHVmpBRk4xYm1SaGVRQk5iMjVrWVhrQVZIVmxjMlJoZVFCWFpXUnVaWE5rWVhrQVZHaDFjbk5rWVhrQVJuSnBaR0Y1QUZOaGRIVnlaR0Y1QUZOMWJnQk5iMjRBVkhWbEFGZGxaQUJVYUhVQVJuSnBBRk5oZEFBbGJTOGxaQzhsZVNWWkxTVnRMU1ZrSlVrNkpVMDZKVk1nSlhBbFNEb2xUU1ZJT2lWTk9pVlRKVWc2SlUwNkpWTk9VM1F6WDE4eU9IUnBiV1ZmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzUnBiV1ZmWjJWMFgyTmZjM1J2Y21GblpVbGpSVVVBVGxOME0xOWZNamwwYVcxbFgySmhjMlZGQUU1VGRETmZYekk0ZEdsdFpWOW5aWFJKZDA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJVVkZBRTVUZEROZlh6SXlNRjlmZEdsdFpWOW5aWFJmWTE5emRHOXlZV2RsU1hkRlJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNXTk9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TVRCZlgzUnBiV1ZmY0hWMFJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNXTk1ZakJGUlVVQVRsTjBNMTlmTWpFd2JXOXVaWGxmWW1GelpVVUFUbE4wTTE5Zk1qRXdiVzl1Wlhsd2RXNWpkRWxqVEdJeFJVVkZBRTVUZEROZlh6SXhNRzF2Ym1WNWNIVnVZM1JKZDB4aU1FVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1hkTVlqRkZSVVVBTURFeU16UTFOamM0T1FBbFRHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5blpYUkpZMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZloyVjBTV05GUlFBd01USXpORFUyTnpnNUFFNVRkRE5mWHpJNWJXOXVaWGxmWjJWMFNYZE9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRGZlgyMXZibVY1WDJkbGRFbDNSVVVBSlM0d1RHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZmNIVjBTV05GUlFCT1UzUXpYMTh5T1cxdmJtVjVYM0IxZEVsM1RsTmZNVGx2YzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNakV4WDE5dGIyNWxlVjl3ZFhSSmQwVkZBRTVUZEROZlh6STRiV1Z6YzJGblpYTkpZMFZGQUU1VGRETmZYekl4TTIxbGMzTmhaMlZ6WDJKaGMyVkZBRTVUZEROZlh6SXhOMTlmZDJsa1pXNWZabkp2YlY5MWRHWTRTVXh0TXpKRlJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNVUnBZekV4WDE5dFluTjBZWFJsWDNSRlJRQk9VM1F6WDE4eU1USmpiMlJsWTNaMFgySmhjMlZGQUU1VGRETmZYekl4Tmw5ZmJtRnljbTkzWDNSdlgzVjBaamhKVEcwek1rVkZSUUJPVTNRelgxOHlPRzFsYzNOaFoyVnpTWGRGUlFCT1UzUXpYMTh5TjJOdlpHVmpkblJKWTJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTWGRqTVRGZlgyMWljM1JoZEdWZmRFVkZBRTVUZEROZlh6STNZMjlrWldOMmRFbEVjMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qWnNiMk5oYkdVMVgxOXBiWEJGQUU1VGRETmZYekkxWTNSNWNHVkpZMFZGQUU1VGRETmZYekl4TUdOMGVYQmxYMkpoYzJWRkFFNVRkRE5mWHpJMVkzUjVjR1ZKZDBWRkFHWmhiSE5sQUhSeWRXVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbGpSVVVBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWwzUlVVQVRsTjBNMTlmTWpFMFgxOXphR0Z5WldSZlkyOTFiblJGQUU1VGRETmZYekl4T1Y5ZmMyaGhjbVZrWDNkbFlXdGZZMjkxYm5SRkFFSHd2Z01MQVFFQVFaakFBd3RhWEVnQUFBRUFBQUI4U0FBQUFRQUFBTkJRQUFBQkFBQUFJQ0lBQUFBQUFBQ1VVUUFBQVFBQUFOaFJBQUFCQUFBQWpGQUFBQUVBQUFCTTRnQUFBQUFBQUFoU0FBQUJBQUFBT0ZJQUFBRUFBQUFFVVFBQUFRQUFBQzRzQUVHQXdRTUxEU3hSQUFBQkFBQUFMZ0FBQUN3QVFhREJBd3ZKQXB4SUFBQUJBQUFBM0VnQUFBRUFBQUFjU1FBQUFRQUFBRkJKQUFBQkFBQUFuRTRBQUFFQUFBRFVUZ0FBQVFBQUFBeFBBQUFCQUFBQVJFOEFBQUVBQUFCOFR3QUFBUUFBQUpoUEFBQUJBQUFBdEU4QUFBRUFBQURRVHdBQUFRQUFBSVJKQUFBQkFBQUF0RWtBQUFBQUFBRFlTUUFBQVFBQUFBaEtBQUFBQUFBQWJFNEFBQUVBQUFCTTRnQUFBQUFBQUlST0FBQUJBQUFBVE9JQUFBQUFBQURzVHdBQUFRQUFBQXhRQUFBQkFBQUFBUUFBQUFBQUFBQzhVQUFBRHdBQUFIRGhBQURnNFFBQTRPRUFBQUFBQUFBWTRBQUFJT0FBQUNqZ0FBQTQ0QUFBUU9BQUFFamdBQUJZNEFBQVlPQUFBR2pnQUFDQTRBQUFvT0FBQUtqZ0FBQ3c0QUFBdU9BQUFNRGdBQURJNEFBQTBPQUFBTmpnQUFEZzRBQUE2T0FBQVBEZ0FBRDQ0QUFBQU9FQUFCRGhBQUFnNFFBQU1PRUFBRURoQUFCSTRRQUFBUUFBQUFBQUFBQkRBRUh6d3dNTEJnRUFBQUFBQVFCQjZNVURDeEdnUmdBQUFBQUFBTFJHQUFBQ0VBQUFCZ0JCaU1ZREN3YVE1UUFBV09FQVFiakdBd3NabU9NQUFQLy8vLy9RUmdBQUFBQUFBT1JHQUFBQ0VBQUFCZ0JCNE1ZREN3YlE1UUFBV09FQVFaREhBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFRzB4d01MQmhEbUFBQlk0UUJCNk1jREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkJpTWdEQ3daSTVnQUFXT0VBUWJ6SUF3c1IvLy8vL3dCSEFBQVVSd0FBQWpBQUFBWUFRZHpJQXdzR2dPWUFBRmpoQUVHTXlRTUxGWmpqQUFELy8vLy9NRWNBQUVSSEFBQUNNQUFBQmdCQnNNa0RDd2E0NWdBQVdPRUFRZURKQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUdFeWdNTEJvRG1BQUJZNFFCQnVNb0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCMk1vREN3YTQ1Z0FBV09FQVFZekxBd3NLLy8vLy94eElBQUJZNFFCQnNNc0RDeGI0T1FBQVFPQUFBTWpsQUFBQkFBQUEvLy8vL3dBQkFFSFF5d01MQnR4SEFBQlk0UUJCOE1zREN4VDRPUUFBU09BQUFBam1BQUFCQUFBQS8vLy8vd0JCa013REN3YWNSd0FBV09FQVFiRE1Bd3NOaURvQUFFRGdBQUJBNWdBQUFRQkJ5TXdEQ3daY1J3QUFXT0VBUWVqTUF3c0tpRG9BQUVqZ0FBQjQ1Z0JCZ00wREN3YWNSd0FBV09FQVFhRE5Bd3NOYURrQUFFRGdBQUN3NWdBQUFRQkJ1TTBEQ3daY1J3QUFXT0VBUWRqTkF3c0thRGtBQUVqZ0FBRG81Z0JCOE0wREMxWC8vLy8vQVFBQUFQLy8vLzhDQUFBQS8vLy8vd01BQUFCTTRnQUFIQUFBQVAvLy8vOEpBQUFBLy8vLy93c0FBQUQvLy8vL0JBQUFBUC8vLy84S0FBQUEvLy8vL3d3QUFBRC8vLy8vRFFBQUFQLy8vLzhPQUVHRXp3TUxCZi8vLy84WEFFSEl6d01MbGdILy8vLy9HQUFBQVAvLy8vOFpBQUFBLy8vLy94b0FBQUQvLy8vL0R3QUFBUC8vLy84UUFBQUEvLy8vL3hFQUFBRC8vLy8vRWdBQUFQLy8vLzhUQUFBQS8vLy8veFFBQUFELy8vLy9GUUFBQVAvLy8vOFdBQUFBLy8vLy94c0FBQUQvLy8vL0hBQUFBUC8vLy84RkFBQUEvLy8vL3dZQUFBRC8vLy8vQndBQUFQLy8vLzhJQUFBQVdPRUFBRkRvQUFCWTRRQUFXT2dBUWZEZUF3c0NXT0VBUVlEZkF3c0ZPT2dBQUk4QVFaRGZBd3NSandBQUFBQUFBQUNnN3dBQUFBQUFBSTg9XCI7ZnVuY3Rpb24gbEEoKXt0cnl7aWYobilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobik7dmFyIEE9amcoZkEpO2lmKEEpcmV0dXJuIEE7aWYoaClyZXR1cm4gaChmQSk7dGhyb3dcImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkXCJ9Y2F0Y2goQSl7SkEoQSl9fWZ1bmN0aW9uIHVBKCl7cmV0dXJuIG58fCFpJiYhb3x8XCJmdW5jdGlvblwiIT10eXBlb2YgZmV0Y2g/bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEsSSl7QShsQSgpKX0pKTpmZXRjaChmQSx7Y3JlZGVudGlhbHM6XCJzYW1lLW9yaWdpblwifSkudGhlbigoZnVuY3Rpb24oQSl7aWYoIUEub2spdGhyb3dcImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJ1wiK2ZBK1wiJ1wiO3JldHVybiBBLmFycmF5QnVmZmVyKCl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIGxBKCl9KSl9ZnVuY3Rpb24gV0EoKXt2YXIgST17ZW52OkJCLHdhc2lfc25hcHNob3RfcHJldmlldzE6QkIsZ2xvYmFsOntOYU46TmFOLEluZmluaXR5OjEvMH0sXCJnbG9iYWwuTWF0aFwiOk1hdGgsYXNtMndhc206a307ZnVuY3Rpb24gZyhJLGcpe3ZhciBCPUkuZXhwb3J0cztBLmFzbT1CLGVBKCl9ZnVuY3Rpb24gQihBKXtnKEEuaW5zdGFuY2UpfWZ1bmN0aW9uIEMoQSl7cmV0dXJuIHVBKCkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEEsSSl9KSkudGhlbihBLChmdW5jdGlvbihBKXtTKFwiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogXCIrQSksSkEoQSl9KSl9aWYoWUEoKSxBLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIEEuaW5zdGFudGlhdGVXYXNtKEksZyl9Y2F0Y2goQSl7cmV0dXJuIFMoXCJNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiBcIitBKSwhMX1yZXR1cm4gZnVuY3Rpb24oKXtpZihufHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZ3x8TEEoZkEpfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBmZXRjaClyZXR1cm4gQyhCKTtmZXRjaChmQSx7Y3JlZGVudGlhbHM6XCJzYW1lLW9yaWdpblwifSkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEEsSSkudGhlbihCLChmdW5jdGlvbihBKXtTKFwid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6IFwiK0EpLFMoXCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvblwiKSxDKEIpfSkpfSkpfSgpLHt9fUxBKGZBKXx8KGZBPXkoZkEpKSxBLmFzbT1XQTt2YXIgcEE9W2Z1bmN0aW9uKEEsSSxnLEIsQyxRKXthcnRvb2xraXQuZnJhbWVNYWxsb2N8fChhcnRvb2xraXQuZnJhbWVNYWxsb2M9e30pO3ZhciBFPWFydG9vbGtpdC5mcmFtZU1hbGxvYztFLmZyYW1lcG9pbnRlcj1JLEUuZnJhbWVzaXplPWcsRS5jYW1lcmE9QixFLnRyYW5zZm9ybT1DLEUudmlkZW9MdW1hUG9pbnRlcj1RfSxmdW5jdGlvbihBLEksZyxCKXthcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb3x8KGFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvPXt9KTt2YXIgQz1hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbztDLnZpc2libGU9QSxDLnBhdHRJZD1JLEMucGF0dFR5cGU9ZyxDLndpZHRoPUJ9LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMKXt2YXIgcT1hcmd1bWVudHMsZD0xMjthcnRvb2xraXQubWFya2VySW5mb3x8KGFydG9vbGtpdC5tYXJrZXJJbmZvPXtwb3M6WzAsMF0sbGluZTpbWzAsMCwwXSxbMCwwLDBdLFswLDAsMF0sWzAsMCwwXV0sdmVydGV4OltbMCwwXSxbMCwwXSxbMCwwXSxbMCwwXV19KTt2YXIgZj1hcnRvb2xraXQubWFya2VySW5mbztmLmFyZWE9QSxmLmlkPUksZi5pZFBhdHQ9ZyxmLmlkTWF0cml4PUIsZi5kaXI9QyxmLmRpclBhdHQ9USxmLmRpck1hdHJpeD1FLGYuY2Y9aSxmLmNmUGF0dD1vLGYuY2ZNYXRyaXg9RCxmLnBvc1swXT1hLGYucG9zWzFdPXcsZi5saW5lWzBdWzBdPXFbZCsrXSxmLmxpbmVbMF1bMV09cVtkKytdLGYubGluZVswXVsyXT1xW2QrK10sZi5saW5lWzFdWzBdPXFbZCsrXSxmLmxpbmVbMV1bMV09cVtkKytdLGYubGluZVsxXVsyXT1xW2QrK10sZi5saW5lWzJdWzBdPXFbZCsrXSxmLmxpbmVbMl1bMV09cVtkKytdLGYubGluZVsyXVsyXT1xW2QrK10sZi5saW5lWzNdWzBdPXFbZCsrXSxmLmxpbmVbM11bMV09cVtkKytdLGYubGluZVszXVsyXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMF09cVtkKytdLGYudmVydGV4WzBdWzFdPXFbZCsrXSxmLnZlcnRleFsxXVswXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMV09cVtkKytdLGYudmVydGV4WzJdWzBdPXFbZCsrXSxmLnZlcnRleFsyXVsxXT1xW2QrK10sZi52ZXJ0ZXhbM11bMF09cVtkKytdLGYudmVydGV4WzNdWzFdPXFbZCsrXSxmLmVycm9yQ29ycmVjdGVkPXFbZCsrXX0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHKXt2YXIgaD1hcmd1bWVudHMscz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgUj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztSLmlkPWhbcysrXSxSLmVycm9yPWhbcysrXSxSLmZvdW5kPTEsUi5wb3NlWzBdPWhbcysrXSxSLnBvc2VbMV09aFtzKytdLFIucG9zZVsyXT1oW3MrK10sUi5wb3NlWzNdPWhbcysrXSxSLnBvc2VbNF09aFtzKytdLFIucG9zZVs1XT1oW3MrK10sUi5wb3NlWzZdPWhbcysrXSxSLnBvc2VbN109aFtzKytdLFIucG9zZVs4XT1oW3MrK10sUi5wb3NlWzldPWhbcysrXSxSLnBvc2VbMTBdPWhbcysrXSxSLnBvc2VbMTFdPWhbcysrXX0sZnVuY3Rpb24oQSl7dmFyIEk9YXJndW1lbnRzLGc9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIEI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Qi5pZD1JW2crK10sQi5lcnJvcj0tMSxCLmZvdW5kPTAsQi5wb3NlWzBdPTAsQi5wb3NlWzFdPTAsQi5wb3NlWzJdPTAsQi5wb3NlWzNdPTAsQi5wb3NlWzRdPTAsQi5wb3NlWzVdPTAsQi5wb3NlWzZdPTAsQi5wb3NlWzddPTAsQi5wb3NlWzhdPTAsQi5wb3NlWzldPTAsQi5wb3NlWzEwXT0wLEIucG9zZVsxMV09MH1dO2Z1bmN0aW9uIFpBKEEsSSxnLEIsQyxRLEUpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSl9ZnVuY3Rpb24gYkEoQSxJLGcsQixDKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyl9ZnVuY3Rpb24geEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpfWZ1bmN0aW9uIG1BKEEsSSl7cmV0dXJuIHBBW0FdKEkpfWZ1bmN0aW9uIFhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl9ZnVuY3Rpb24gVkEoQSl7cmV0dXJuIEEucmVwbGFjZSgvXFxiX19aW1xcd1xcZF9dKy9nLChmdW5jdGlvbihBKXtyZXR1cm4gQT09QT9BOkErXCIgW1wiK0ErXCJdXCJ9KSl9ZnVuY3Rpb24gT0EoKXt2YXIgQT1uZXcgRXJyb3I7aWYoIUEuc3RhY2spe3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goSSl7QT1JfWlmKCFBLnN0YWNrKXJldHVyblwiKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSlcIn1yZXR1cm4gQS5zdGFjay50b1N0cmluZygpfWZ1bmN0aW9uIFRBKCl7dmFyIEk9T0EoKTtyZXR1cm4gQS5leHRyYVN0YWNrVHJhY2UmJihJKz1cIlxcblwiK0EuZXh0cmFTdGFja1RyYWNlKCkpLFZBKEkpfXdBLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtFQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXthQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtpQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtvQigpfX0pO3ZhciBqQT17fTtmdW5jdGlvbiBQQSgpe3JldHVybiBRfHxcIi4vdGhpcy5wcm9ncmFtXCJ9ZnVuY3Rpb24gdkEoQSl7dmFyIEksZzt2QS5jYWxsZWQ/KGc9QUFbQT4+Ml0sST1BQVtnPj4yXSk6KHZBLmNhbGxlZD0hMCxqQS5VU0VSPVwid2ViX3VzZXJcIixqQS5MT0dOQU1FPVwid2ViX3VzZXJcIixqQS5QQVRIPVwiL1wiLGpBLlBXRD1cIi9cIixqQS5IT01FPVwiL2hvbWUvd2ViX3VzZXJcIixqQS5MQU5HPShcIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3I/XCJ1bmRlZmluZWRcIjpEKG5hdmlnYXRvcikpJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHxcIkNcIikucmVwbGFjZShcIi1cIixcIl9cIikrXCIuVVRGLThcIixqQS5fPVBBKCksST1MKDEwMjQpLGc9TCgyNTYpLEFBW2c+PjJdPUksQUFbQT4+Ml09Zyk7dmFyIEI9W10sQz0wO2Zvcih2YXIgUSBpbiBqQSlpZihcInN0cmluZ1wiPT10eXBlb2YgakFbUV0pe3ZhciBFPVErXCI9XCIrakFbUV07Qi5wdXNoKEUpLEMrPUUubGVuZ3RofWlmKEM+MTAyNCl0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBzaXplIGV4Y2VlZGVkIFRPVEFMX0VOVl9TSVpFIVwiKTtmb3IodmFyIGk9MDtpPEIubGVuZ3RoO2krKylqKEU9QltpXSxJKSxBQVtnKzQqaT4+Ml09SSxJKz1FLmxlbmd0aCsxO0FBW2crNCpCLmxlbmd0aD4+Ml09MH1mdW5jdGlvbiB6QShBKXtyZXR1cm4gUkIoQSl9dmFyIF9BPXt9O2Z1bmN0aW9uICRBKEEsSSxnKXt0aHJvdyBfQVtBXT17cHRyOkEsYWRqdXN0ZWQ6W0FdLHR5cGU6SSxkZXN0cnVjdG9yOmcscmVmY291bnQ6MCxjYXVnaHQ6ITEscmV0aHJvd246ITF9LFwidW5jYXVnaHRfZXhjZXB0aW9uXCJpbiBEQj9EQi51bmNhdWdodF9leGNlcHRpb25zKys6REIudW5jYXVnaHRfZXhjZXB0aW9ucz0xLEF9ZnVuY3Rpb24gQUkoKXt9ZnVuY3Rpb24gSUkoSSl7cmV0dXJuIEEuX19fZXJybm9fbG9jYXRpb24mJihBQVtBLl9fX2Vycm5vX2xvY2F0aW9uKCk+PjJdPUkpLEl9ZnVuY3Rpb24gZ0koQSxJKXtyZXR1cm4gSUkoNjMpLC0xfXZhciBCST17c3BsaXRQYXRoOmZ1bmN0aW9uKEEpe3JldHVybi9eKFxcLz98KShbXFxzXFxTXSo/KSgoPzpcXC57MSwyfXxbXlxcL10rP3wpKFxcLlteLlxcL10qfCkpKD86W1xcL10qKSQvLmV4ZWMoQSkuc2xpY2UoMSl9LG5vcm1hbGl6ZUFycmF5OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj1BLmxlbmd0aC0xO0I+PTA7Qi0tKXt2YXIgQz1BW0JdO1wiLlwiPT09Qz9BLnNwbGljZShCLDEpOlwiLi5cIj09PUM/KEEuc3BsaWNlKEIsMSksZysrKTpnJiYoQS5zcGxpY2UoQiwxKSxnLS0pfWlmKEkpZm9yKDtnO2ctLSlBLnVuc2hpZnQoXCIuLlwiKTtyZXR1cm4gQX0sbm9ybWFsaXplOmZ1bmN0aW9uKEEpe3ZhciBJPVwiL1wiPT09QS5jaGFyQXQoMCksZz1cIi9cIj09PUEuc3Vic3RyKC0xKTtyZXR1cm4oQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcIi9cIikpfHxJfHwoQT1cIi5cIiksQSYmZyYmKEErPVwiL1wiKSwoST9cIi9cIjpcIlwiKStBfSxkaXJuYW1lOmZ1bmN0aW9uKEEpe3ZhciBJPUJJLnNwbGl0UGF0aChBKSxnPUlbMF0sQj1JWzFdO3JldHVybiBnfHxCPyhCJiYoQj1CLnN1YnN0cigwLEIubGVuZ3RoLTEpKSxnK0IpOlwiLlwifSxiYXNlbmFtZTpmdW5jdGlvbihBKXtpZihcIi9cIj09PUEpcmV0dXJuXCIvXCI7dmFyIEk9QS5sYXN0SW5kZXhPZihcIi9cIik7cmV0dXJuLTE9PT1JP0E6QS5zdWJzdHIoSSsxKX0sZXh0bmFtZTpmdW5jdGlvbihBKXtyZXR1cm4gQkkuc3BsaXRQYXRoKEEpWzNdfSxqb2luOmZ1bmN0aW9uKCl7dmFyIEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBCSS5ub3JtYWxpemUoQS5qb2luKFwiL1wiKSl9LGpvaW4yOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEJJLm5vcm1hbGl6ZShBK1wiL1wiK0kpfX0sQ0k9e3Jlc29sdmU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9XCJcIixJPSExLGc9YXJndW1lbnRzLmxlbmd0aC0xO2c+PS0xJiYhSTtnLS0pe3ZhciBCPWc+PTA/YXJndW1lbnRzW2ddOmlJLmN3ZCgpO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBCKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudHMgdG8gcGF0aC5yZXNvbHZlIG11c3QgYmUgc3RyaW5nc1wiKTtpZighQilyZXR1cm5cIlwiO0E9QitcIi9cIitBLEk9XCIvXCI9PT1CLmNoYXJBdCgwKX1yZXR1cm4oST9cIi9cIjpcIlwiKSsoQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcIi9cIikpfHxcIi5cIn0scmVsYXRpdmU6ZnVuY3Rpb24oQSxJKXtmdW5jdGlvbiBnKEEpe2Zvcih2YXIgST0wO0k8QS5sZW5ndGgmJlwiXCI9PT1BW0ldO0krKyk7Zm9yKHZhciBnPUEubGVuZ3RoLTE7Zz49MCYmXCJcIj09PUFbZ107Zy0tKTtyZXR1cm4gST5nP1tdOkEuc2xpY2UoSSxnLUkrMSl9QT1DSS5yZXNvbHZlKEEpLnN1YnN0cigxKSxJPUNJLnJlc29sdmUoSSkuc3Vic3RyKDEpO2Zvcih2YXIgQj1nKEEuc3BsaXQoXCIvXCIpKSxDPWcoSS5zcGxpdChcIi9cIikpLFE9TWF0aC5taW4oQi5sZW5ndGgsQy5sZW5ndGgpLEU9USxpPTA7aTxRO2krKylpZihCW2ldIT09Q1tpXSl7RT1pO2JyZWFrfXZhciBvPVtdO2ZvcihpPUU7aTxCLmxlbmd0aDtpKyspby5wdXNoKFwiLi5cIik7cmV0dXJuKG89by5jb25jYXQoQy5zbGljZShFKSkpLmpvaW4oXCIvXCIpfX0sUUk9e3R0eXM6W10saW5pdDpmdW5jdGlvbigpe30sc2h1dGRvd246ZnVuY3Rpb24oKXt9LHJlZ2lzdGVyOmZ1bmN0aW9uKEEsSSl7UUkudHR5c1tBXT17aW5wdXQ6W10sb3V0cHV0OltdLG9wczpJfSxpSS5yZWdpc3RlckRldmljZShBLFFJLnN0cmVhbV9vcHMpfSxzdHJlYW1fb3BzOntvcGVuOmZ1bmN0aW9uKEEpe3ZhciBJPVFJLnR0eXNbQS5ub2RlLnJkZXZdO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtBLnR0eT1JLEEuc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0EudHR5Lm9wcy5mbHVzaChBLnR0eSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0EudHR5Lm9wcy5mbHVzaChBLnR0eSl9LHJlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighQS50dHl8fCFBLnR0eS5vcHMuZ2V0X2NoYXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjApO2Zvcih2YXIgUT0wLEU9MDtFPEI7RSsrKXt2YXIgaTt0cnl7aT1BLnR0eS5vcHMuZ2V0X2NoYXIoQS50dHkpfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1pZih2b2lkIDA9PT1pJiYwPT09USl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2KTtpZihudWxsPT1pKWJyZWFrO1ErKyxJW2crRV09aX1yZXR1cm4gUSYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksUX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighQS50dHl8fCFBLnR0eS5vcHMucHV0X2NoYXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjApO3RyeXtmb3IodmFyIFE9MDtRPEI7USsrKUEudHR5Lm9wcy5wdXRfY2hhcihBLnR0eSxJW2crUV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQiYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksUX19LGRlZmF1bHRfdHR5X29wczp7Z2V0X2NoYXI6ZnVuY3Rpb24oQSl7aWYoIUEuaW5wdXQubGVuZ3RoKXt2YXIgST1udWxsO2lmKHcpe3ZhciBnPUJ1ZmZlci5hbGxvYz9CdWZmZXIuYWxsb2MoMjU2KTpuZXcgQnVmZmVyKDI1NiksQj0wO3RyeXtCPXMucmVhZFN5bmMocHJvY2Vzcy5zdGRpbi5mZCxnLDAsMjU2LG51bGwpfWNhdGNoKEEpe2lmKC0xPT1BLnRvU3RyaW5nKCkuaW5kZXhPZihcIkVPRlwiKSl0aHJvdyBBO0I9MH1JPUI+MD9nLnNsaWNlKDAsQikudG9TdHJpbmcoXCJ1dGYtOFwiKTpudWxsfWVsc2VcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cucHJvbXB0P251bGwhPT0oST13aW5kb3cucHJvbXB0KFwiSW5wdXQ6IFwiKSkmJihJKz1cIlxcblwiKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiByZWFkbGluZSYmbnVsbCE9PShJPXJlYWRsaW5lKCkpJiYoSSs9XCJcXG5cIik7aWYoIUkpcmV0dXJuIG51bGw7QS5pbnB1dD1YZyhJLCEwKX1yZXR1cm4gQS5pbnB1dC5zaGlmdCgpfSxwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KHQoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKHQoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX0sZGVmYXVsdF90dHkxX29wczp7cHV0X2NoYXI6ZnVuY3Rpb24oQSxJKXtudWxsPT09SXx8MTA9PT1JPyhTKGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKTowIT1JJiZBLm91dHB1dC5wdXNoKEkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLm91dHB1dCYmQS5vdXRwdXQubGVuZ3RoPjAmJihTKGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKX19fSxFST17b3BzX3RhYmxlOm51bGwsbW91bnQ6ZnVuY3Rpb24oQSl7cmV0dXJuIEVJLmNyZWF0ZU5vZGUobnVsbCxcIi9cIiwxNjg5NSwwKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZihpSS5pc0Jsa2RldihnKXx8aUkuaXNGSUZPKGcpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtFSS5vcHNfdGFibGV8fChFSS5vcHNfdGFibGU9e2Rpcjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixsb29rdXA6RUkubm9kZV9vcHMubG9va3VwLG1rbm9kOkVJLm5vZGVfb3BzLm1rbm9kLHJlbmFtZTpFSS5ub2RlX29wcy5yZW5hbWUsdW5saW5rOkVJLm5vZGVfb3BzLnVubGluayxybWRpcjpFSS5ub2RlX29wcy5ybWRpcixyZWFkZGlyOkVJLm5vZGVfb3BzLnJlYWRkaXIsc3ltbGluazpFSS5ub2RlX29wcy5zeW1saW5rfSxzdHJlYW06e2xsc2VlazpFSS5zdHJlYW1fb3BzLmxsc2Vla319LGZpbGU6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrLHJlYWQ6RUkuc3RyZWFtX29wcy5yZWFkLHdyaXRlOkVJLnN0cmVhbV9vcHMud3JpdGUsYWxsb2NhdGU6RUkuc3RyZWFtX29wcy5hbGxvY2F0ZSxtbWFwOkVJLnN0cmVhbV9vcHMubW1hcCxtc3luYzpFSS5zdHJlYW1fb3BzLm1zeW5jfX0sbGluazp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixyZWFkbGluazpFSS5ub2RlX29wcy5yZWFkbGlua30sc3RyZWFtOnt9fSxjaHJkZXY6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTppSS5jaHJkZXZfc3RyZWFtX29wc319KTt2YXIgQz1pSS5jcmVhdGVOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5pc0RpcihDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5kaXIubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmRpci5zdHJlYW0sQy5jb250ZW50cz17fSk6aUkuaXNGaWxlKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmZpbGUubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmZpbGUuc3RyZWFtLEMudXNlZEJ5dGVzPTAsQy5jb250ZW50cz1udWxsKTppSS5pc0xpbmsoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUubGluay5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUubGluay5zdHJlYW0pOmlJLmlzQ2hyZGV2KEMubW9kZSkmJihDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5jaHJkZXYubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5zdHJlYW0pLEMudGltZXN0YW1wPURhdGUubm93KCksQSYmKEEuY29udGVudHNbSV09QyksQ30sZ2V0RmlsZURhdGFBc1JlZ3VsYXJBcnJheTpmdW5jdGlvbihBKXtpZihBLmNvbnRlbnRzJiZBLmNvbnRlbnRzLnN1YmFycmF5KXtmb3IodmFyIEk9W10sZz0wO2c8QS51c2VkQnl0ZXM7KytnKUkucHVzaChBLmNvbnRlbnRzW2ddKTtyZXR1cm4gSX1yZXR1cm4gQS5jb250ZW50c30sZ2V0RmlsZURhdGFBc1R5cGVkQXJyYXk6ZnVuY3Rpb24oQSl7cmV0dXJuIEEuY29udGVudHM/QS5jb250ZW50cy5zdWJhcnJheT9BLmNvbnRlbnRzLnN1YmFycmF5KDAsQS51c2VkQnl0ZXMpOm5ldyBVaW50OEFycmF5KEEuY29udGVudHMpOm5ldyBVaW50OEFycmF5fSxleHBhbmRGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe3ZhciBnPUEuY29udGVudHM/QS5jb250ZW50cy5sZW5ndGg6MDtpZighKGc+PUkpKXtJPU1hdGgubWF4KEksZyooZzwxMDQ4NTc2PzI6MS4xMjUpfDApLDAhPWcmJihJPU1hdGgubWF4KEksMjU2KSk7dmFyIEI9QS5jb250ZW50cztBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLEEudXNlZEJ5dGVzPjAmJkEuY29udGVudHMuc2V0KEIuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyksMCl9fSxyZXNpemVGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe2lmKEEudXNlZEJ5dGVzIT1JKXtpZigwPT1JKXJldHVybiBBLmNvbnRlbnRzPW51bGwsdm9pZChBLnVzZWRCeXRlcz0wKTtpZighQS5jb250ZW50c3x8QS5jb250ZW50cy5zdWJhcnJheSl7dmFyIGc9QS5jb250ZW50cztyZXR1cm4gQS5jb250ZW50cz1uZXcgVWludDhBcnJheShJKSxnJiZBLmNvbnRlbnRzLnNldChnLnN1YmFycmF5KDAsTWF0aC5taW4oSSxBLnVzZWRCeXRlcykpKSx2b2lkKEEudXNlZEJ5dGVzPUkpfWlmKEEuY29udGVudHN8fChBLmNvbnRlbnRzPVtdKSxBLmNvbnRlbnRzLmxlbmd0aD5JKUEuY29udGVudHMubGVuZ3RoPUk7ZWxzZSBmb3IoO0EuY29udGVudHMubGVuZ3RoPEk7KUEuY29udGVudHMucHVzaCgwKTtBLnVzZWRCeXRlcz1JfX0sbm9kZV9vcHM6e2dldGF0dHI6ZnVuY3Rpb24oQSl7dmFyIEk9e307cmV0dXJuIEkuZGV2PWlJLmlzQ2hyZGV2KEEubW9kZSk/QS5pZDoxLEkuaW5vPUEuaWQsSS5tb2RlPUEubW9kZSxJLm5saW5rPTEsSS51aWQ9MCxJLmdpZD0wLEkucmRldj1BLnJkZXYsaUkuaXNEaXIoQS5tb2RlKT9JLnNpemU9NDA5NjppSS5pc0ZpbGUoQS5tb2RlKT9JLnNpemU9QS51c2VkQnl0ZXM6aUkuaXNMaW5rKEEubW9kZSk/SS5zaXplPUEubGluay5sZW5ndGg6SS5zaXplPTAsSS5hdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5tdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5jdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5ibGtzaXplPTQwOTYsSS5ibG9ja3M9TWF0aC5jZWlsKEkuc2l6ZS9JLmJsa3NpemUpLEl9LHNldGF0dHI6ZnVuY3Rpb24oQSxJKXt2b2lkIDAhPT1JLm1vZGUmJihBLm1vZGU9SS5tb2RlKSx2b2lkIDAhPT1JLnRpbWVzdGFtcCYmKEEudGltZXN0YW1wPUkudGltZXN0YW1wKSx2b2lkIDAhPT1JLnNpemUmJkVJLnJlc2l6ZUZpbGVTdG9yYWdlKEEsSS5zaXplKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7dGhyb3cgaUkuZ2VuZXJpY0Vycm9yc1s0NF19LG1rbm9kOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiBFSS5jcmVhdGVOb2RlKEEsSSxnLEIpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzRGlyKEEubW9kZSkpe3ZhciBCO3RyeXtCPWlJLmxvb2t1cE5vZGUoSSxnKX1jYXRjaChBKXt9aWYoQilmb3IodmFyIEMgaW4gQi5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSl9ZGVsZXRlIEEucGFyZW50LmNvbnRlbnRzW0EubmFtZV0sQS5uYW1lPWcsSS5jb250ZW50c1tnXT1BLEEucGFyZW50PUl9LHVubGluazpmdW5jdGlvbihBLEkpe2RlbGV0ZSBBLmNvbnRlbnRzW0ldfSxybWRpcjpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cE5vZGUoQSxJKTtmb3IodmFyIEIgaW4gZy5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7ZGVsZXRlIEEuY29udGVudHNbSV19LHJlYWRkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9W1wiLlwiLFwiLi5cIl07Zm9yKHZhciBnIGluIEEuY29udGVudHMpQS5jb250ZW50cy5oYXNPd25Qcm9wZXJ0eShnKSYmSS5wdXNoKGcpO3JldHVybiBJfSxzeW1saW5rOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1FSS5jcmVhdGVOb2RlKEEsSSw0MTQ3MSwwKTtyZXR1cm4gQi5saW5rPWcsQn0scmVhZGxpbms6ZnVuY3Rpb24oQSl7aWYoIWlJLmlzTGluayhBLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQS5saW5rfX0sc3RyZWFtX29wczp7cmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1BLm5vZGUudXNlZEJ5dGVzKXJldHVybiAwO3ZhciBFPU1hdGgubWluKEEubm9kZS51c2VkQnl0ZXMtQyxCKTtpZihFPjgmJlEuc3ViYXJyYXkpSS5zZXQoUS5zdWJhcnJheShDLEMrRSksZyk7ZWxzZSBmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07cmV0dXJuIEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXtpZighQilyZXR1cm4gMDt2YXIgRT1BLm5vZGU7aWYoRS50aW1lc3RhbXA9RGF0ZS5ub3coKSxJLnN1YmFycmF5JiYoIUUuY29udGVudHN8fEUuY29udGVudHMuc3ViYXJyYXkpKXtpZihRKXJldHVybiBFLmNvbnRlbnRzPUkuc3ViYXJyYXkoZyxnK0IpLEUudXNlZEJ5dGVzPUIsQjtpZigwPT09RS51c2VkQnl0ZXMmJjA9PT1DKXJldHVybiBFLmNvbnRlbnRzPUkuc2xpY2UoZyxnK0IpLEUudXNlZEJ5dGVzPUIsQjtpZihDK0I8PUUudXNlZEJ5dGVzKXJldHVybiBFLmNvbnRlbnRzLnNldChJLnN1YmFycmF5KGcsZytCKSxDKSxCfWlmKEVJLmV4cGFuZEZpbGVTdG9yYWdlKEUsQytCKSxFLmNvbnRlbnRzLnN1YmFycmF5JiZJLnN1YmFycmF5KUUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpO2Vsc2UgZm9yKHZhciBpPTA7aTxCO2krKylFLmNvbnRlbnRzW0MraV09SVtnK2ldO3JldHVybiBFLnVzZWRCeXRlcz1NYXRoLm1heChFLnVzZWRCeXRlcyxDK0IpLEJ9LGxsc2VlazpmdW5jdGlvbihBLEksZyl7dmFyIEI9STtpZigxPT09Zz9CKz1BLnBvc2l0aW9uOjI9PT1nJiZpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpJiYoQis9QS5ub2RlLnVzZWRCeXRlcyksQjwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQn0sYWxsb2NhdGU6ZnVuY3Rpb24oQSxJLGcpe0VJLmV4cGFuZEZpbGVTdG9yYWdlKEEubm9kZSxJK2cpLEEubm9kZS51c2VkQnl0ZXM9TWF0aC5tYXgoQS5ub2RlLnVzZWRCeXRlcyxJK2cpfSxtbWFwOmZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUpe2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTt2YXIgaSxvLEQ9QS5ub2RlLmNvbnRlbnRzO2lmKDImRXx8RC5idWZmZXIhPT1JLmJ1ZmZlcil7KEM+MHx8QytCPEEubm9kZS51c2VkQnl0ZXMpJiYoRD1ELnN1YmFycmF5P0Quc3ViYXJyYXkoQyxDK0IpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKEQsQyxDK0IpKSxvPSEwO3ZhciBhPUkuYnVmZmVyPT12LmJ1ZmZlcjtpZighKGk9UkIoQikpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ4KTsoYT92OkkpLnNldChELGkpfWVsc2Ugbz0hMSxpPUQuYnl0ZU9mZnNldDtyZXR1cm57cHRyOmksYWxsb2NhdGVkOm99fSxtc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtyZXR1cm4gMiZDfHxFSS5zdHJlYW1fb3BzLndyaXRlKEEsSSwwLEIsZywhMSksMH19fSxpST17cm9vdDpudWxsLG1vdW50czpbXSxkZXZpY2VzOnt9LHN0cmVhbXM6W10sbmV4dElub2RlOjEsbmFtZVRhYmxlOm51bGwsY3VycmVudFBhdGg6XCIvXCIsaW5pdGlhbGl6ZWQ6ITEsaWdub3JlUGVybWlzc2lvbnM6ITAsdHJhY2tpbmdEZWxlZ2F0ZTp7fSx0cmFja2luZzp7b3BlbkZsYWdzOntSRUFEOjEsV1JJVEU6Mn19LEVycm5vRXJyb3I6bnVsbCxnZW5lcmljRXJyb3JzOnt9LGZpbGVzeXN0ZW1zOm51bGwsc3luY0ZTUmVxdWVzdHM6MCxoYW5kbGVGU0Vycm9yOmZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3IpKXRocm93IEErXCIgOiBcIitUQSgpO3JldHVybiBJSShBLmVycm5vKX0sbG9va3VwUGF0aDpmdW5jdGlvbihBLEkpe2lmKEk9SXx8e30sIShBPUNJLnJlc29sdmUoaUkuY3dkKCksQSkpKXJldHVybntwYXRoOlwiXCIsbm9kZTpudWxsfTt2YXIgZz17Zm9sbG93X21vdW50OiEwLHJlY3Vyc2VfY291bnQ6MH07Zm9yKHZhciBCIGluIGcpdm9pZCAwPT09SVtCXSYmKElbQl09Z1tCXSk7aWYoSS5yZWN1cnNlX2NvdW50PjgpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzIpO2Zvcih2YXIgQz1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhMSksUT1pSS5yb290LEU9XCIvXCIsaT0wO2k8Qy5sZW5ndGg7aSsrKXt2YXIgbz1pPT09Qy5sZW5ndGgtMTtpZihvJiZJLnBhcmVudClicmVhaztpZihRPWlJLmxvb2t1cE5vZGUoUSxDW2ldKSxFPUJJLmpvaW4yKEUsQ1tpXSksaUkuaXNNb3VudHBvaW50KFEpJiYoIW98fG8mJkkuZm9sbG93X21vdW50KSYmKFE9US5tb3VudGVkLnJvb3QpLCFvfHxJLmZvbGxvdylmb3IodmFyIEQ9MDtpSS5pc0xpbmsoUS5tb2RlKTspe3ZhciBhPWlJLnJlYWRsaW5rKEUpO2lmKEU9Q0kucmVzb2x2ZShCSS5kaXJuYW1lKEUpLGEpLFE9aUkubG9va3VwUGF0aChFLHtyZWN1cnNlX2NvdW50OkkucmVjdXJzZV9jb3VudH0pLm5vZGUsRCsrPjQwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMyKX19cmV0dXJue3BhdGg6RSxub2RlOlF9fSxnZXRQYXRoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgSTs7KXtpZihpSS5pc1Jvb3QoQSkpe3ZhciBnPUEubW91bnQubW91bnRwb2ludDtyZXR1cm4gST9cIi9cIiE9PWdbZy5sZW5ndGgtMV0/ZytcIi9cIitJOmcrSTpnfUk9ST9BLm5hbWUrXCIvXCIrSTpBLm5hbWUsQT1BLnBhcmVudH19LGhhc2hOYW1lOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj0wO0I8SS5sZW5ndGg7QisrKWc9KGc8PDUpLWcrSS5jaGFyQ29kZUF0KEIpfDA7cmV0dXJuKEErZz4+PjApJWlJLm5hbWVUYWJsZS5sZW5ndGh9LGhhc2hBZGROb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7QS5uYW1lX25leHQ9aUkubmFtZVRhYmxlW0ldLGlJLm5hbWVUYWJsZVtJXT1BfSxoYXNoUmVtb3ZlTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO2lmKGlJLm5hbWVUYWJsZVtJXT09PUEpaUkubmFtZVRhYmxlW0ldPUEubmFtZV9uZXh0O2Vsc2UgZm9yKHZhciBnPWlJLm5hbWVUYWJsZVtJXTtnOyl7aWYoZy5uYW1lX25leHQ9PT1BKXtnLm5hbWVfbmV4dD1BLm5hbWVfbmV4dDticmVha31nPWcubmFtZV9uZXh0fX0sbG9va3VwTm9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLm1heUxvb2t1cChBKTtpZihnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKGcsQSk7Zm9yKHZhciBCPWlJLmhhc2hOYW1lKEEuaWQsSSksQz1pSS5uYW1lVGFibGVbQl07QztDPUMubmFtZV9uZXh0KXt2YXIgUT1DLm5hbWU7aWYoQy5wYXJlbnQuaWQ9PT1BLmlkJiZRPT09SSlyZXR1cm4gQ31yZXR1cm4gaUkubG9va3VwKEEsSSl9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24oQSxJLGcsQil7aWYoIWlJLkZTTm9kZSl7aUkuRlNOb2RlPWZ1bmN0aW9uKEEsSSxnLEIpe0F8fChBPXRoaXMpLHRoaXMucGFyZW50PUEsdGhpcy5tb3VudD1BLm1vdW50LHRoaXMubW91bnRlZD1udWxsLHRoaXMuaWQ9aUkubmV4dElub2RlKyssdGhpcy5uYW1lPUksdGhpcy5tb2RlPWcsdGhpcy5ub2RlX29wcz17fSx0aGlzLnN0cmVhbV9vcHM9e30sdGhpcy5yZGV2PUJ9LGlJLkZTTm9kZS5wcm90b3R5cGU9e307T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaUkuRlNOb2RlLnByb3RvdHlwZSx7cmVhZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDM2NT09KDM2NSZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTM2NTp0aGlzLm1vZGUmPS0zNjZ9fSx3cml0ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDE0Nj09KDE0NiZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTE0Njp0aGlzLm1vZGUmPS0xNDd9fSxpc0ZvbGRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzRGlyKHRoaXMubW9kZSl9fSxpc0RldmljZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzQ2hyZGV2KHRoaXMubW9kZSl9fX0pfXZhciBDPW5ldyBpSS5GU05vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmhhc2hBZGROb2RlKEMpLEN9LGRlc3Ryb3lOb2RlOmZ1bmN0aW9uKEEpe2lJLmhhc2hSZW1vdmVOb2RlKEEpfSxpc1Jvb3Q6ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT1BLnBhcmVudH0saXNNb3VudHBvaW50OmZ1bmN0aW9uKEEpe3JldHVybiEhQS5tb3VudGVkfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuIDMyNzY4PT0oNjE0NDAmQSl9LGlzRGlyOmZ1bmN0aW9uKEEpe3JldHVybiAxNjM4ND09KDYxNDQwJkEpfSxpc0xpbms6ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTYwPT0oNjE0NDAmQSl9LGlzQ2hyZGV2OmZ1bmN0aW9uKEEpe3JldHVybiA4MTkyPT0oNjE0NDAmQSl9LGlzQmxrZGV2OmZ1bmN0aW9uKEEpe3JldHVybiAyNDU3Nj09KDYxNDQwJkEpfSxpc0ZJRk86ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTY9PSg2MTQ0MCZBKX0saXNTb2NrZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIDQ5MTUyPT0oNDkxNTImQSl9LGZsYWdNb2Rlczp7cjowLHJzOjEwNTI2NzIsXCJyK1wiOjIsdzo1Nzcsd3g6NzA1LHh3OjcwNSxcIncrXCI6NTc4LFwid3grXCI6NzA2LFwieHcrXCI6NzA2LGE6MTA4OSxheDoxMjE3LHhhOjEyMTcsXCJhK1wiOjEwOTAsXCJheCtcIjoxMjE4LFwieGErXCI6MTIxOH0sbW9kZVN0cmluZ1RvRmxhZ3M6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuZmxhZ01vZGVzW0FdO2lmKHZvaWQgMD09PUkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBmaWxlIG9wZW4gbW9kZTogXCIrQSk7cmV0dXJuIEl9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1bmN0aW9uKEEpe3ZhciBJPVtcInJcIixcIndcIixcInJ3XCJdWzMmQV07cmV0dXJuIDUxMiZBJiYoSSs9XCJ3XCIpLEl9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbihBLEkpe3JldHVybiBpSS5pZ25vcmVQZXJtaXNzaW9uc3x8KC0xPT09SS5pbmRleE9mKFwiclwiKXx8MjkyJkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcIndcIil8fDE0NiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXCJ4XCIpfHw3MyZBLm1vZGUpPzA6Mn0sbWF5TG9va3VwOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5ub2RlUGVybWlzc2lvbnMoQSxcInhcIil8fChBLm5vZGVfb3BzLmxvb2t1cD8wOjIpfSxtYXlDcmVhdGU6ZnVuY3Rpb24oQSxJKXt0cnl7cmV0dXJuIGlJLmxvb2t1cE5vZGUoQSxJKSwyMH1jYXRjaChBKXt9cmV0dXJuIGlJLm5vZGVQZXJtaXNzaW9ucyhBLFwid3hcIil9LG1heURlbGV0ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShBLEkpfWNhdGNoKEEpe3JldHVybiBBLmVycm5vfXZhciBDPWlJLm5vZGVQZXJtaXNzaW9ucyhBLFwid3hcIik7aWYoQylyZXR1cm4gQztpZihnKXtpZighaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gNTQ7aWYoaUkuaXNSb290KEIpfHxpSS5nZXRQYXRoKEIpPT09aUkuY3dkKCkpcmV0dXJuIDEwfWVsc2UgaWYoaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gMzE7cmV0dXJuIDB9LG1heU9wZW46ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQT9pSS5pc0xpbmsoQS5tb2RlKT8zMjppSS5pc0RpcihBLm1vZGUpJiYoXCJyXCIhPT1pSS5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhJKXx8NTEyJkkpPzMxOmlJLm5vZGVQZXJtaXNzaW9ucyhBLGlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpKTo0NH0sTUFYX09QRU5fRkRTOjQwOTYsbmV4dGZkOmZ1bmN0aW9uKEEsSSl7QT1BfHwwLEk9SXx8aUkuTUFYX09QRU5fRkRTO2Zvcih2YXIgZz1BO2c8PUk7ZysrKWlmKCFpSS5zdHJlYW1zW2ddKXJldHVybiBnO3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDMzKX0sZ2V0U3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5zdHJlYW1zW0FdfSxjcmVhdGVTdHJlYW06ZnVuY3Rpb24oQSxJLGcpe2lJLkZTU3RyZWFtfHwoaUkuRlNTdHJlYW09ZnVuY3Rpb24oKXt9LGlJLkZTU3RyZWFtLnByb3RvdHlwZT17fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpSS5GU1N0cmVhbS5wcm90b3R5cGUse29iamVjdDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZX0sc2V0OmZ1bmN0aW9uKEEpe3RoaXMubm9kZT1BfX0saXNSZWFkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMSE9KDIwOTcxNTUmdGhpcy5mbGFncyl9fSxpc1dyaXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9KDIwOTcxNTUmdGhpcy5mbGFncyl9fSxpc0FwcGVuZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDEwMjQmdGhpcy5mbGFnc319fSkpO3ZhciBCPW5ldyBpSS5GU1N0cmVhbTtmb3IodmFyIEMgaW4gQSlCW0NdPUFbQ107QT1CO3ZhciBRPWlJLm5leHRmZChJLGcpO3JldHVybiBBLmZkPVEsaUkuc3RyZWFtc1tRXT1BLEF9LGNsb3NlU3RyZWFtOmZ1bmN0aW9uKEEpe2lJLnN0cmVhbXNbQV09bnVsbH0sY2hyZGV2X3N0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9aUkuZ2V0RGV2aWNlKEEubm9kZS5yZGV2KTtBLnN0cmVhbV9vcHM9SS5zdHJlYW1fb3BzLEEuc3RyZWFtX29wcy5vcGVuJiZBLnN0cmVhbV9vcHMub3BlbihBKX0sbGxzZWVrOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfX0sbWFqb3I6ZnVuY3Rpb24oQSl7cmV0dXJuIEE+Pjh9LG1pbm9yOmZ1bmN0aW9uKEEpe3JldHVybiAyNTUmQX0sbWFrZWRldjpmdW5jdGlvbihBLEkpe3JldHVybiBBPDw4fEl9LHJlZ2lzdGVyRGV2aWNlOmZ1bmN0aW9uKEEsSSl7aUkuZGV2aWNlc1tBXT17c3RyZWFtX29wczpJfX0sZ2V0RGV2aWNlOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5kZXZpY2VzW0FdfSxnZXRNb3VudHM6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPVtdLGc9W0FdO2cubGVuZ3RoOyl7dmFyIEI9Zy5wb3AoKTtJLnB1c2goQiksZy5wdXNoLmFwcGx5KGcsQi5tb3VudHMpfXJldHVybiBJfSxzeW5jZnM6ZnVuY3Rpb24oQSxJKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBBJiYoST1BLEE9ITEpLGlJLnN5bmNGU1JlcXVlc3RzKyssaUkuc3luY0ZTUmVxdWVzdHM+MSYmUyhcIndhcm5pbmc6IFwiK2lJLnN5bmNGU1JlcXVlc3RzK1wiIEZTLnN5bmNmcyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRvaW5nIGV4dHJhIHdvcmtcIik7dmFyIGc9aUkuZ2V0TW91bnRzKGlJLnJvb3QubW91bnQpLEI9MDtmdW5jdGlvbiBDKEEpe3JldHVybiBpSS5zeW5jRlNSZXF1ZXN0cy0tLEkoQSl9ZnVuY3Rpb24gUShBKXtpZihBKXJldHVybiBRLmVycm9yZWQ/dm9pZCAwOihRLmVycm9yZWQ9ITAsQyhBKSk7KytCPj1nLmxlbmd0aCYmQyhudWxsKX1nLmZvckVhY2goKGZ1bmN0aW9uKEkpe2lmKCFJLnR5cGUuc3luY2ZzKXJldHVybiBRKG51bGwpO0kudHlwZS5zeW5jZnMoSSxBLFEpfSkpfSxtb3VudDpmdW5jdGlvbihBLEksZyl7dmFyIEIsQz1cIi9cIj09PWcsUT0hZztpZihDJiZpSS5yb290KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighQyYmIVEpe3ZhciBFPWlJLmxvb2t1cFBhdGgoZyx7Zm9sbG93X21vdW50OiExfSk7aWYoZz1FLnBhdGgsQj1FLm5vZGUsaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighaUkuaXNEaXIoQi5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCl9dmFyIGk9e3R5cGU6QSxvcHRzOkksbW91bnRwb2ludDpnLG1vdW50czpbXX0sbz1BLm1vdW50KGkpO3JldHVybiBvLm1vdW50PWksaS5yb290PW8sQz9pSS5yb290PW86QiYmKEIubW91bnRlZD1pLEIubW91bnQmJkIubW91bnQubW91bnRzLnB1c2goaSkpLG99LHVubW91bnQ6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3dfbW91bnQ6ITF9KTtpZighaUkuaXNNb3VudHBvaW50KEkubm9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnPUkubm9kZSxCPWcubW91bnRlZCxDPWlJLmdldE1vdW50cyhCKTtPYmplY3Qua2V5cyhpSS5uYW1lVGFibGUpLmZvckVhY2goKGZ1bmN0aW9uKEEpe2Zvcih2YXIgST1pSS5uYW1lVGFibGVbQV07STspe3ZhciBnPUkubmFtZV9uZXh0Oy0xIT09Qy5pbmRleE9mKEkubW91bnQpJiZpSS5kZXN0cm95Tm9kZShJKSxJPWd9fSkpLGcubW91bnRlZD1udWxsO3ZhciBRPWcubW91bnQubW91bnRzLmluZGV4T2YoQik7Zy5tb3VudC5tb3VudHMuc3BsaWNlKFEsMSl9LGxvb2t1cDpmdW5jdGlvbihBLEkpe3JldHVybiBBLm5vZGVfb3BzLmxvb2t1cChBLEkpfSxta25vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEM9QkkuYmFzZW5hbWUoQSk7aWYoIUN8fFwiLlwiPT09Q3x8XCIuLlwiPT09Qyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIFE9aUkubWF5Q3JlYXRlKEIsQyk7aWYoUSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihRKTtpZighQi5ub2RlX29wcy5ta25vZCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIEIubm9kZV9vcHMubWtub2QoQixDLEksZyl9LGNyZWF0ZTpmdW5jdGlvbihBLEkpe3JldHVybiBJPXZvaWQgMCE9PUk/STo0MzgsSSY9NDA5NSxJfD0zMjc2OCxpSS5ta25vZChBLEksMCl9LG1rZGlyOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjUxMSxJJj0xMDIzLEl8PTE2Mzg0LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXJUcmVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPUEuc3BsaXQoXCIvXCIpLEI9XCJcIixDPTA7QzxnLmxlbmd0aDsrK0MpaWYoZ1tDXSl7Qis9XCIvXCIrZ1tDXTt0cnl7aUkubWtkaXIoQixJKX1jYXRjaChBKXtpZigyMCE9QS5lcnJubyl0aHJvdyBBfX19LG1rZGV2OmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdm9pZCAwPT09ZyYmKGc9SSxJPTQzOCksSXw9ODE5MixpSS5ta25vZChBLEksZyl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJKXtpZighQ0kucmVzb2x2ZShBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7dmFyIGc9aUkubG9va3VwUGF0aChJLHtwYXJlbnQ6ITB9KS5ub2RlO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgQj1CSS5iYXNlbmFtZShJKSxDPWlJLm1heUNyZWF0ZShnLEIpO2lmKEMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQyk7aWYoIWcubm9kZV9vcHMuc3ltbGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIGcubm9kZV9vcHMuc3ltbGluayhnLEIsQSl9LHJlbmFtZTpmdW5jdGlvbihBLEkpe3ZhciBnLEIsQz1CSS5kaXJuYW1lKEEpLFE9QkkuZGlybmFtZShJKSxFPUJJLmJhc2VuYW1lKEEpLGk9QkkuYmFzZW5hbWUoSSk7dHJ5e2c9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEI9aUkubG9va3VwUGF0aChJLHtwYXJlbnQ6ITB9KS5ub2RlfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKX1pZighZ3x8IUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKGcubW91bnQhPT1CLm1vdW50KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDc1KTt2YXIgbyxEPWlJLmxvb2t1cE5vZGUoZyxFKSxhPUNJLnJlbGF0aXZlKEEsUSk7aWYoXCIuXCIhPT1hLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoXCIuXCIhPT0oYT1DSS5yZWxhdGl2ZShJLEMpKS5jaGFyQXQoMCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTUpO3RyeXtvPWlJLmxvb2t1cE5vZGUoQixpKX1jYXRjaChBKXt9aWYoRCE9PW8pe3ZhciB3PWlJLmlzRGlyKEQubW9kZSksRj1pSS5tYXlEZWxldGUoZyxFLHcpO2lmKEYpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoRj1vP2lJLm1heURlbGV0ZShCLGksdyk6aUkubWF5Q3JlYXRlKEIsaSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoIWcubm9kZV9vcHMucmVuYW1lKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoRCl8fG8mJmlJLmlzTW91bnRwb2ludChvKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7aWYoQiE9PWcmJihGPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFwid1wiKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLndpbGxNb3ZlUGF0aChBLEkpfWNhdGNoKGcpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsTW92ZVBhdGgnXSgnXCIrQStcIicsICdcIitJK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitnLm1lc3NhZ2UpfWlJLmhhc2hSZW1vdmVOb2RlKEQpO3RyeXtnLm5vZGVfb3BzLnJlbmFtZShELEIsaSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmhhc2hBZGROb2RlKEQpfXRyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aChBLEkpfWNhdGNoKGcpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk1vdmVQYXRoJ10oJ1wiK0ErXCInLCAnXCIrSStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrZy5tZXNzYWdlKX19fSxybWRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsZz1CSS5iYXNlbmFtZShBKSxCPWlJLmxvb2t1cE5vZGUoSSxnKSxDPWlJLm1heURlbGV0ZShJLGcsITApO2lmKEMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQyk7aWYoIUkubm9kZV9vcHMucm1kaXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9SS5ub2RlX29wcy5ybWRpcihJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7aWYoIUkubm9kZV9vcHMucmVhZGRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7cmV0dXJuIEkubm9kZV9vcHMucmVhZGRpcihJKX0sdW5saW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMSk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy51bmxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9SS5ub2RlX29wcy51bmxpbmsoSSxnKSxpSS5kZXN0cm95Tm9kZShCKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX19LHJlYWRsaW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSkubm9kZTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIUkubm9kZV9vcHMucmVhZGxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBDSS5yZXNvbHZlKGlJLmdldFBhdGgoSS5wYXJlbnQpLEkubm9kZV9vcHMucmVhZGxpbmsoSSkpfSxzdGF0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KS5ub2RlO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighZy5ub2RlX29wcy5nZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5nZXRhdHRyKGcpfSxsc3RhdDpmdW5jdGlvbihBKXtyZXR1cm4gaUkuc3RhdChBLCEwKX0sY2htb2Q6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCO2lmKCEoQj1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohZ30pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qi5ub2RlX29wcy5zZXRhdHRyKEIse21vZGU6NDA5NSZJfC00MDk2JkIubW9kZSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2htb2Q6ZnVuY3Rpb24oQSxJKXtpSS5jaG1vZChBLEksITApfSxmY2htb2Q6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5nZXRTdHJlYW0oQSk7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2htb2QoZy5ub2RlLEkpfSxjaG93bjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQztpZighKEM9XCJzdHJpbmdcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUJ9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Mubm9kZV9vcHMuc2V0YXR0cihDLHt0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2hvd246ZnVuY3Rpb24oQSxJLGcpe2lJLmNob3duKEEsSSxnLCEwKX0sZmNob3duOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2hvd24oQi5ub2RlLEksZyl9LHRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7aWYoSTwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgZztpZighKGc9XCJzdHJpbmdcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzRGlyKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFpSS5pc0ZpbGUoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIEI9aUkubm9kZVBlcm1pc3Npb25zKGcsXCJ3XCIpO2lmKEIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQik7Zy5ub2RlX29wcy5zZXRhdHRyKGcse3NpemU6SSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxmdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5nZXRTdHJlYW0oQSk7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMD09KDIwOTcxNTUmZy5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lJLnRydW5jYXRlKGcubm9kZSxJKX0sdXRpbWU6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtCLm5vZGVfb3BzLnNldGF0dHIoQix7dGltZXN0YW1wOk1hdGgubWF4KEksZyl9KX0sb3BlbjpmdW5jdGlvbihJLGcsQixDLFEpe2lmKFwiXCI9PT1JKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgRTtpZihCPXZvaWQgMD09PUI/NDM4OkIsQj02NCYoZz1cInN0cmluZ1wiPT10eXBlb2YgZz9pSS5tb2RlU3RyaW5nVG9GbGFncyhnKTpnKT80MDk1JkJ8MzI3Njg6MCxcIm9iamVjdFwiPT09RChJKSlFPUk7ZWxzZXtJPUJJLm5vcm1hbGl6ZShJKTt0cnl7RT1pSS5sb29rdXBQYXRoKEkse2ZvbGxvdzohKDEzMTA3MiZnKX0pLm5vZGV9Y2F0Y2goQSl7fX12YXIgaT0hMTtpZig2NCZnKWlmKEUpe2lmKDEyOCZnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIwKX1lbHNlIEU9aUkubWtub2QoSSxCLDApLGk9ITA7aWYoIUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKGlJLmlzQ2hyZGV2KEUubW9kZSkmJihnJj0tNTEzKSw2NTUzNiZnJiYhaUkuaXNEaXIoRS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7aWYoIWkpe3ZhciBvPWlJLm1heU9wZW4oRSxnKTtpZihvKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKG8pfTUxMiZnJiZpSS50cnVuY2F0ZShFLDApLGcmPS02NDE7dmFyIGE9aUkuY3JlYXRlU3RyZWFtKHtub2RlOkUscGF0aDppSS5nZXRQYXRoKEUpLGZsYWdzOmcsc2Vla2FibGU6ITAscG9zaXRpb246MCxzdHJlYW1fb3BzOkUuc3RyZWFtX29wcyx1bmdvdHRlbjpbXSxlcnJvcjohMX0sQyxRKTthLnN0cmVhbV9vcHMub3BlbiYmYS5zdHJlYW1fb3BzLm9wZW4oYSksIUEubG9nUmVhZEZpbGVzfHwxJmd8fChpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXM9e30pLEkgaW4gaUkucmVhZEZpbGVzfHwoaUkucmVhZEZpbGVzW0ldPTEsUyhcIkZTLnRyYWNraW5nRGVsZWdhdGUgZXJyb3Igb24gcmVhZCBmaWxlOiBcIitJKSkpO3RyeXtpZihpSS50cmFja2luZ0RlbGVnYXRlLm9uT3BlbkZpbGUpe3ZhciB3PTA7MSE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuUkVBRCksMCE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuV1JJVEUpLGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZShJLHcpfX1jYXRjaChBKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25PcGVuRmlsZSddKCdcIitJK1wiJywgZmxhZ3MpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrQS5tZXNzYWdlKX1yZXR1cm4gYX0sY2xvc2U6ZnVuY3Rpb24oQSl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7QS5nZXRkZW50cyYmKEEuZ2V0ZGVudHM9bnVsbCk7dHJ5e0Euc3RyZWFtX29wcy5jbG9zZSYmQS5zdHJlYW1fb3BzLmNsb3NlKEEpfWNhdGNoKEEpe3Rocm93IEF9ZmluYWxseXtpSS5jbG9zZVN0cmVhbShBLmZkKX1BLmZkPW51bGx9LGlzQ2xvc2VkOmZ1bmN0aW9uKEEpe3JldHVybiBudWxsPT09QS5mZH0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZighQS5zZWVrYWJsZXx8IUEuc3RyZWFtX29wcy5sbHNlZWspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApO2lmKDAhPWcmJjEhPWcmJjIhPWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLnBvc2l0aW9uPUEuc3RyZWFtX29wcy5sbHNlZWsoQSxJLGcpLEEudW5nb3R0ZW49W10sQS5wb3NpdGlvbn0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigxPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMucmVhZCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIFE9dm9pZCAwIT09QztpZihRKXtpZighQS5zZWVrYWJsZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9ZWxzZSBDPUEucG9zaXRpb247dmFyIEU9QS5zdHJlYW1fb3BzLnJlYWQoQSxJLGcsQixDKTtyZXR1cm4gUXx8KEEucG9zaXRpb24rPUUpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXtpZihCPDB8fEM8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMD09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighQS5zdHJlYW1fb3BzLndyaXRlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTsxMDI0JkEuZmxhZ3MmJmlJLmxsc2VlayhBLDAsMik7dmFyIEU9dm9pZCAwIT09QztpZihFKXtpZighQS5zZWVrYWJsZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9ZWxzZSBDPUEucG9zaXRpb247dmFyIGk9QS5zdHJlYW1fb3BzLndyaXRlKEEsSSxnLEIsQyxRKTtFfHwoQS5wb3NpdGlvbis9aSk7dHJ5e0EucGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbldyaXRlVG9GaWxlJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUoQS5wYXRoKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Xcml0ZVRvRmlsZSddKCdcIitBLnBhdGgrXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9cmV0dXJuIGl9LGFsbG9jYXRlOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihJPDB8fGc8PTApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKDA9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpJiYhaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtpZighQS5zdHJlYW1fb3BzLmFsbG9jYXRlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEzOCk7QS5zdHJlYW1fb3BzLmFsbG9jYXRlKEEsSSxnKX0sbW1hcDpmdW5jdGlvbihBLEksZyxCLEMsUSxFKXtpZigwIT0oMiZRKSYmMD09KDImRSkmJjIhPSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKCFBLnN0cmVhbV9vcHMubW1hcCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7cmV0dXJuIEEuc3RyZWFtX29wcy5tbWFwKEEsSSxnLEIsQyxRLEUpfSxtc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBJiZBLnN0cmVhbV9vcHMubXN5bmM/QS5zdHJlYW1fb3BzLm1zeW5jKEEsSSxnLEIsQyk6MH0sbXVubWFwOmZ1bmN0aW9uKEEpe3JldHVybiAwfSxpb2N0bDpmdW5jdGlvbihBLEksZyl7aWYoIUEuc3RyZWFtX29wcy5pb2N0bCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1OSk7cmV0dXJuIEEuc3RyZWFtX29wcy5pb2N0bChBLEksZyl9LHJlYWRGaWxlOmZ1bmN0aW9uKEEsSSl7aWYoKEk9SXx8e30pLmZsYWdzPUkuZmxhZ3N8fFwiclwiLEkuZW5jb2Rpbmc9SS5lbmNvZGluZ3x8XCJiaW5hcnlcIixcInV0ZjhcIiE9PUkuZW5jb2RpbmcmJlwiYmluYXJ5XCIhPT1JLmVuY29kaW5nKXRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbmNvZGluZyB0eXBlIFwiJytJLmVuY29kaW5nKydcIicpO3ZhciBnLEI9aUkub3BlbihBLEkuZmxhZ3MpLEM9aUkuc3RhdChBKS5zaXplLFE9bmV3IFVpbnQ4QXJyYXkoQyk7cmV0dXJuIGlJLnJlYWQoQixRLDAsQywwKSxcInV0ZjhcIj09PUkuZW5jb2Rpbmc/Zz1kKFEsMCk6XCJiaW5hcnlcIj09PUkuZW5jb2RpbmcmJihnPVEpLGlJLmNsb3NlKEIpLGd9LHdyaXRlRmlsZTpmdW5jdGlvbihBLEksZyl7KGc9Z3x8e30pLmZsYWdzPWcuZmxhZ3N8fFwid1wiO3ZhciBCPWlJLm9wZW4oQSxnLmZsYWdzLGcubW9kZSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIEkpe3ZhciBDPW5ldyBVaW50OEFycmF5KFcoSSkrMSksUT1sKEksQywwLEMubGVuZ3RoKTtpSS53cml0ZShCLEMsMCxRLHZvaWQgMCxnLmNhbk93bil9ZWxzZXtpZighQXJyYXlCdWZmZXIuaXNWaWV3KEkpKXRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIGRhdGEgdHlwZVwiKTtpSS53cml0ZShCLEksMCxJLmJ5dGVMZW5ndGgsdm9pZCAwLGcuY2FuT3duKX1pSS5jbG9zZShCKX0sY3dkOmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmN1cnJlbnRQYXRofSxjaGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pO2lmKG51bGw9PT1JLm5vZGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFpSS5pc0RpcihJLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpO3ZhciBnPWlJLm5vZGVQZXJtaXNzaW9ucyhJLm5vZGUsXCJ4XCIpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyk7aUkuY3VycmVudFBhdGg9SS5wYXRofSxjcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcIi90bXBcIiksaUkubWtkaXIoXCIvaG9tZVwiKSxpSS5ta2RpcihcIi9ob21lL3dlYl91c2VyXCIpfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbigpe3ZhciBBO2lmKGlJLm1rZGlyKFwiL2RldlwiKSxpSS5yZWdpc3RlckRldmljZShpSS5tYWtlZGV2KDEsMykse3JlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQn19KSxpSS5ta2RldihcIi9kZXYvbnVsbFwiLGlJLm1ha2VkZXYoMSwzKSksUUkucmVnaXN0ZXIoaUkubWFrZWRldig1LDApLFFJLmRlZmF1bHRfdHR5X29wcyksUUkucmVnaXN0ZXIoaUkubWFrZWRldig2LDApLFFJLmRlZmF1bHRfdHR5MV9vcHMpLGlJLm1rZGV2KFwiL2Rldi90dHlcIixpSS5tYWtlZGV2KDUsMCkpLGlJLm1rZGV2KFwiL2Rldi90dHkxXCIsaUkubWFrZWRldig2LDApKSxcIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBjcnlwdG8/XCJ1bmRlZmluZWRcIjpEKGNyeXB0bykpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXt2YXIgST1uZXcgVWludDhBcnJheSgxKTtBPWZ1bmN0aW9uKCl7cmV0dXJuIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoSSksSVswXX19ZWxzZSBpZih3KXRyeXt2YXIgQj1nKDY1NCk7QT1mdW5jdGlvbigpe3JldHVybiBCLnJhbmRvbUJ5dGVzKDEpWzBdfX1jYXRjaChBKXt9QXx8KEE9ZnVuY3Rpb24oKXtKQShcInJhbmRvbV9kZXZpY2VcIil9KSxpSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJyYW5kb21cIixBKSxpSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJ1cmFuZG9tXCIsQSksaUkubWtkaXIoXCIvZGV2L3NobVwiKSxpSS5ta2RpcihcIi9kZXYvc2htL3RtcFwiKX0sY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzOmZ1bmN0aW9uKCl7aUkubWtkaXIoXCIvcHJvY1wiKSxpSS5ta2RpcihcIi9wcm9jL3NlbGZcIiksaUkubWtkaXIoXCIvcHJvYy9zZWxmL2ZkXCIpLGlJLm1vdW50KHttb3VudDpmdW5jdGlvbigpe3ZhciBBPWlJLmNyZWF0ZU5vZGUoXCIvcHJvYy9zZWxmXCIsXCJmZFwiLDE2ODk1LDczKTtyZXR1cm4gQS5ub2RlX29wcz17bG9va3VwOmZ1bmN0aW9uKEEsSSl7dmFyIGc9K0ksQj1pSS5nZXRTdHJlYW0oZyk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7dmFyIEM9e3BhcmVudDpudWxsLG1vdW50Onttb3VudHBvaW50OlwiZmFrZVwifSxub2RlX29wczp7cmVhZGxpbms6ZnVuY3Rpb24oKXtyZXR1cm4gQi5wYXRofX19O3JldHVybiBDLnBhcmVudD1DLEN9fSxBfX0se30sXCIvcHJvYy9zZWxmL2ZkXCIpfSxjcmVhdGVTdGFuZGFyZFN0cmVhbXM6ZnVuY3Rpb24oKXtBLnN0ZGluP2lJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInN0ZGluXCIsQS5zdGRpbik6aUkuc3ltbGluayhcIi9kZXYvdHR5XCIsXCIvZGV2L3N0ZGluXCIpLEEuc3Rkb3V0P2lJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInN0ZG91dFwiLG51bGwsQS5zdGRvdXQpOmlJLnN5bWxpbmsoXCIvZGV2L3R0eVwiLFwiL2Rldi9zdGRvdXRcIiksQS5zdGRlcnI/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3RkZXJyXCIsbnVsbCxBLnN0ZGVycik6aUkuc3ltbGluayhcIi9kZXYvdHR5MVwiLFwiL2Rldi9zdGRlcnJcIiksaUkub3BlbihcIi9kZXYvc3RkaW5cIixcInJcIiksaUkub3BlbihcIi9kZXYvc3Rkb3V0XCIsXCJ3XCIpLGlJLm9wZW4oXCIvZGV2L3N0ZGVyclwiLFwid1wiKX0sZW5zdXJlRXJybm9FcnJvcjpmdW5jdGlvbigpe2lJLkVycm5vRXJyb3J8fChpSS5FcnJub0Vycm9yPWZ1bmN0aW9uKEEsSSl7dGhpcy5ub2RlPUksdGhpcy5zZXRFcnJubz1mdW5jdGlvbihBKXt0aGlzLmVycm5vPUF9LHRoaXMuc2V0RXJybm8oQSksdGhpcy5tZXNzYWdlPVwiRlMgZXJyb3JcIn0saUkuRXJybm9FcnJvci5wcm90b3R5cGU9bmV3IEVycm9yLGlJLkVycm5vRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWlJLkVycm5vRXJyb3IsWzQ0XS5mb3JFYWNoKChmdW5jdGlvbihBKXtpSS5nZW5lcmljRXJyb3JzW0FdPW5ldyBpSS5FcnJub0Vycm9yKEEpLGlJLmdlbmVyaWNFcnJvcnNbQV0uc3RhY2s9XCI8Z2VuZXJpYyBlcnJvciwgbm8gc3RhY2s+XCJ9KSkpfSxzdGF0aWNJbml0OmZ1bmN0aW9uKCl7aUkuZW5zdXJlRXJybm9FcnJvcigpLGlJLm5hbWVUYWJsZT1uZXcgQXJyYXkoNDA5NiksaUkubW91bnQoRUkse30sXCIvXCIpLGlJLmNyZWF0ZURlZmF1bHREaXJlY3RvcmllcygpLGlJLmNyZWF0ZURlZmF1bHREZXZpY2VzKCksaUkuY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzKCksaUkuZmlsZXN5c3RlbXM9e01FTUZTOkVJfX0saW5pdDpmdW5jdGlvbihJLGcsQil7aUkuaW5pdC5pbml0aWFsaXplZD0hMCxpSS5lbnN1cmVFcnJub0Vycm9yKCksQS5zdGRpbj1JfHxBLnN0ZGluLEEuc3Rkb3V0PWd8fEEuc3Rkb3V0LEEuc3RkZXJyPUJ8fEEuc3RkZXJyLGlJLmNyZWF0ZVN0YW5kYXJkU3RyZWFtcygpfSxxdWl0OmZ1bmN0aW9uKCl7aUkuaW5pdC5pbml0aWFsaXplZD0hMTt2YXIgST1BLl9mZmx1c2g7SSYmSSgwKTtmb3IodmFyIGc9MDtnPGlJLnN0cmVhbXMubGVuZ3RoO2crKyl7dmFyIEI9aUkuc3RyZWFtc1tnXTtCJiZpSS5jbG9zZShCKX19LGdldE1vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz0wO3JldHVybiBBJiYoZ3w9MzY1KSxJJiYoZ3w9MTQ2KSxnfSxqb2luUGF0aDpmdW5jdGlvbihBLEkpe3ZhciBnPUJJLmpvaW4uYXBwbHkobnVsbCxBKTtyZXR1cm4gSSYmXCIvXCI9PWdbMF0mJihnPWcuc3Vic3RyKDEpKSxnfSxhYnNvbHV0ZVBhdGg6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQ0kucmVzb2x2ZShJLEEpfSxzdGFuZGFyZGl6ZVBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuIEJJLm5vcm1hbGl6ZShBKX0sZmluZE9iamVjdDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmFuYWx5emVQYXRoKEEsSSk7cmV0dXJuIGcuZXhpc3RzP2cub2JqZWN0OihJSShnLmVycm9yKSxudWxsKX0sYW5hbHl6ZVBhdGg6ZnVuY3Rpb24oQSxJKXt0cnl7QT0oQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pKS5wYXRofWNhdGNoKEEpe312YXIgZz17aXNSb290OiExLGV4aXN0czohMSxlcnJvcjowLG5hbWU6bnVsbCxwYXRoOm51bGwsb2JqZWN0Om51bGwscGFyZW50RXhpc3RzOiExLHBhcmVudFBhdGg6bnVsbCxwYXJlbnRPYmplY3Q6bnVsbH07dHJ5e3ZhciBCPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSk7Zy5wYXJlbnRFeGlzdHM9ITAsZy5wYXJlbnRQYXRoPUIucGF0aCxnLnBhcmVudE9iamVjdD1CLm5vZGUsZy5uYW1lPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KSxnLmV4aXN0cz0hMCxnLnBhdGg9Qi5wYXRoLGcub2JqZWN0PUIubm9kZSxnLm5hbWU9Qi5ub2RlLm5hbWUsZy5pc1Jvb3Q9XCIvXCI9PT1CLnBhdGh9Y2F0Y2goQSl7Zy5lcnJvcj1BLmVycm5vfXJldHVybiBnfSxjcmVhdGVGb2xkZXI6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLFE9aUkuZ2V0TW9kZShnLEIpO3JldHVybiBpSS5ta2RpcihDLFEpfSxjcmVhdGVQYXRoOmZ1bmN0aW9uKEEsSSxnLEIpe0E9XCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpO2Zvcih2YXIgQz1JLnNwbGl0KFwiL1wiKS5yZXZlcnNlKCk7Qy5sZW5ndGg7KXt2YXIgUT1DLnBvcCgpO2lmKFEpe3ZhciBFPUJJLmpvaW4yKEEsUSk7dHJ5e2lJLm1rZGlyKEUpfWNhdGNoKEEpe31BPUV9fXJldHVybiBFfSxjcmVhdGVGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLEU9aUkuZ2V0TW9kZShCLEMpO3JldHVybiBpSS5jcmVhdGUoUSxFKX0sY3JlYXRlRGF0YUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe3ZhciBFPUk/Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpOkEsaT1pSS5nZXRNb2RlKEIsQyksbz1pSS5jcmVhdGUoRSxpKTtpZihnKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZyl7Zm9yKHZhciBEPW5ldyBBcnJheShnLmxlbmd0aCksYT0wLHc9Zy5sZW5ndGg7YTx3OysrYSlEW2FdPWcuY2hhckNvZGVBdChhKTtnPUR9aUkuY2htb2QobywxNDZ8aSk7dmFyIEY9aUkub3BlbihvLFwid1wiKTtpSS53cml0ZShGLGcsMCxnLmxlbmd0aCwwLFEpLGlJLmNsb3NlKEYpLGlJLmNobW9kKG8saSl9cmV0dXJuIG99LGNyZWF0ZURldmljZTpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksUT1pSS5nZXRNb2RlKCEhZywhIUIpO2lJLmNyZWF0ZURldmljZS5tYWpvcnx8KGlJLmNyZWF0ZURldmljZS5tYWpvcj02NCk7dmFyIEU9aUkubWFrZWRldihpSS5jcmVhdGVEZXZpY2UubWFqb3IrKywwKTtyZXR1cm4gaUkucmVnaXN0ZXJEZXZpY2UoRSx7b3BlbjpmdW5jdGlvbihBKXtBLnNlZWthYmxlPSExfSxjbG9zZTpmdW5jdGlvbihBKXtCJiZCLmJ1ZmZlciYmQi5idWZmZXIubGVuZ3RoJiZCKDEwKX0scmVhZDpmdW5jdGlvbihBLEksQixDLFEpe2Zvcih2YXIgRT0wLGk9MDtpPEM7aSsrKXt2YXIgbzt0cnl7bz1nKCl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PW8mJjA9PT1FKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PW8pYnJlYWs7RSsrLElbQitpXT1vfXJldHVybiBFJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxDLFEpe2Zvcih2YXIgRT0wO0U8QztFKyspdHJ5e0IoSVtnK0VdKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9cmV0dXJuIEMmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9fSksaUkubWtkZXYoQyxRLEUpfSxjcmVhdGVMaW5rOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpO3JldHVybiBpSS5zeW1saW5rKGcsUSl9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24oQSl7aWYoQS5pc0RldmljZXx8QS5pc0ZvbGRlcnx8QS5saW5rfHxBLmNvbnRlbnRzKXJldHVybiEwO3ZhciBJPSEwO2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCl0aHJvdyBuZXcgRXJyb3IoXCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3JtZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC5cIik7aWYoIUcpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGxvYWQgd2l0aG91dCByZWFkKCkgb3IgWE1MSHR0cFJlcXVlc3QuXCIpO3RyeXtBLmNvbnRlbnRzPVhnKEcoQS51cmwpLCEwKSxBLnVzZWRCeXRlcz1BLmNvbnRlbnRzLmxlbmd0aH1jYXRjaChBKXtJPSExfXJldHVybiBJfHxJSSgyOSksSX0sY3JlYXRlTGF6eUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtmdW5jdGlvbiBRKCl7dGhpcy5sZW5ndGhLbm93bj0hMSx0aGlzLmNodW5rcz1bXX1pZihRLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oQSl7aWYoIShBPnRoaXMubGVuZ3RoLTF8fEE8MCkpe3ZhciBJPUEldGhpcy5jaHVua1NpemUsZz1BL3RoaXMuY2h1bmtTaXplfDA7cmV0dXJuIHRoaXMuZ2V0dGVyKGcpW0ldfX0sUS5wcm90b3R5cGUuc2V0RGF0YUdldHRlcj1mdW5jdGlvbihBKXt0aGlzLmdldHRlcj1BfSxRLnByb3RvdHlwZS5jYWNoZUxlbmd0aD1mdW5jdGlvbigpe3ZhciBBPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLm9wZW4oXCJIRUFEXCIsZywhMSksQS5zZW5kKG51bGwpLCEoQS5zdGF0dXM+PTIwMCYmQS5zdGF0dXM8MzAwfHwzMDQ9PT1BLnN0YXR1cykpdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgbG9hZCBcIitnK1wiLiBTdGF0dXM6IFwiK0Euc3RhdHVzKTt2YXIgSSxCPU51bWJlcihBLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1sZW5ndGhcIikpLEM9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcIkFjY2VwdC1SYW5nZXNcIikpJiZcImJ5dGVzXCI9PT1JLFE9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtRW5jb2RpbmdcIikpJiZcImd6aXBcIj09PUksRT0xMDQ4NTc2O0N8fChFPUIpO3ZhciBpPXRoaXM7aS5zZXREYXRhR2V0dGVyKChmdW5jdGlvbihBKXt2YXIgST1BKkUsQz0oQSsxKSpFLTE7aWYoQz1NYXRoLm1pbihDLEItMSksdm9pZCAwPT09aS5jaHVua3NbQV0mJihpLmNodW5rc1tBXT1mdW5jdGlvbihBLEkpe2lmKEE+SSl0aHJvdyBuZXcgRXJyb3IoXCJpbnZhbGlkIHJhbmdlIChcIitBK1wiLCBcIitJK1wiKSBvciBubyBieXRlcyByZXF1ZXN0ZWQhXCIpO2lmKEk+Qi0xKXRocm93IG5ldyBFcnJvcihcIm9ubHkgXCIrQitcIiBieXRlcyBhdmFpbGFibGUhIHByb2dyYW1tZXIgZXJyb3IhXCIpO3ZhciBDPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihDLm9wZW4oXCJHRVRcIixnLCExKSxCIT09RSYmQy5zZXRSZXF1ZXN0SGVhZGVyKFwiUmFuZ2VcIixcImJ5dGVzPVwiK0ErXCItXCIrSSksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihDLnJlc3BvbnNlVHlwZT1cImFycmF5YnVmZmVyXCIpLEMub3ZlcnJpZGVNaW1lVHlwZSYmQy5vdmVycmlkZU1pbWVUeXBlKFwidGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZFwiKSxDLnNlbmQobnVsbCksIShDLnN0YXR1cz49MjAwJiZDLnN0YXR1czwzMDB8fDMwND09PUMuc3RhdHVzKSl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBsb2FkIFwiK2crXCIuIFN0YXR1czogXCIrQy5zdGF0dXMpO3JldHVybiB2b2lkIDAhPT1DLnJlc3BvbnNlP25ldyBVaW50OEFycmF5KEMucmVzcG9uc2V8fFtdKTpYZyhDLnJlc3BvbnNlVGV4dHx8XCJcIiwhMCl9KEksQykpLHZvaWQgMD09PWkuY2h1bmtzW0FdKXRocm93IG5ldyBFcnJvcihcImRvWEhSIGZhaWxlZCFcIik7cmV0dXJuIGkuY2h1bmtzW0FdfSkpLCFRJiZCfHwoRT1CPTEsQj10aGlzLmdldHRlcigwKS5sZW5ndGgsRT1CLHQoXCJMYXp5RmlsZXMgb24gZ3ppcCBmb3JjZXMgZG93bmxvYWQgb2YgdGhlIHdob2xlIGZpbGUgd2hlbiBsZW5ndGggaXMgYWNjZXNzZWRcIikpLHRoaXMuX2xlbmd0aD1CLHRoaXMuX2NodW5rU2l6ZT1FLHRoaXMubGVuZ3RoS25vd249ITB9LFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCl7aWYoIW8pdGhyb3dcIkNhbm5vdCBkbyBzeW5jaHJvbm91cyBiaW5hcnkgWEhScyBvdXRzaWRlIHdlYndvcmtlcnMgaW4gbW9kZXJuIGJyb3dzZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2NcIjt2YXIgRT1uZXcgUTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fbGVuZ3RofX0sY2h1bmtTaXplOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGhLbm93bnx8dGhpcy5jYWNoZUxlbmd0aCgpLHRoaXMuX2NodW5rU2l6ZX19fSk7dmFyIGk9e2lzRGV2aWNlOiExLGNvbnRlbnRzOkV9fWVsc2UgaT17aXNEZXZpY2U6ITEsdXJsOmd9O3ZhciBEPWlJLmNyZWF0ZUZpbGUoQSxJLGksQixDKTtpLmNvbnRlbnRzP0QuY29udGVudHM9aS5jb250ZW50czppLnVybCYmKEQuY29udGVudHM9bnVsbCxELnVybD1pLnVybCksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRCx7dXNlZEJ5dGVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50cy5sZW5ndGh9fX0pO3ZhciBhPXt9O3JldHVybiBPYmplY3Qua2V5cyhELnN0cmVhbV9vcHMpLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUQuc3RyZWFtX29wc1tBXTthW0FdPWZ1bmN0aW9uKCl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3JldHVybiBJLmFwcGx5KG51bGwsYXJndW1lbnRzKX19KSksYS5yZWFkPWZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1RLmxlbmd0aClyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihRLmxlbmd0aC1DLEIpO2lmKFEuc2xpY2UpZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO2Vsc2UgZm9yKGk9MDtpPEU7aSsrKUlbZytpXT1RLmdldChDK2kpO3JldHVybiBFfSxELnN0cmVhbV9vcHM9YSxEfSxjcmVhdGVQcmVsb2FkZWRGaWxlOmZ1bmN0aW9uKEksZyxCLEMsUSxFLGksbyxELGEpe0Jyb3dzZXIuaW5pdCgpO3ZhciB3PWc/Q0kucmVzb2x2ZShCSS5qb2luMihJLGcpKTpJO2Z1bmN0aW9uIEYoQil7ZnVuY3Rpb24gRihBKXthJiZhKCksb3x8aUkuY3JlYXRlRGF0YUZpbGUoSSxnLEEsQyxRLEQpLEUmJkUoKSxlQSgpfXZhciBHPSExO0EucHJlbG9hZFBsdWdpbnMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7R3x8QS5jYW5IYW5kbGUodykmJihBLmhhbmRsZShCLHcsRiwoZnVuY3Rpb24oKXtpJiZpKCksZUEoKX0pKSxHPSEwKX0pKSxHfHxGKEIpfVlBKCksXCJzdHJpbmdcIj09dHlwZW9mIEI/QnJvd3Nlci5hc3luY0xvYWQoQiwoZnVuY3Rpb24oQSl7RihBKX0pLGkpOkYoQil9LGluZGV4ZWREQjpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5kZXhlZERCfHx3aW5kb3cubW96SW5kZXhlZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERCfHx3aW5kb3cubXNJbmRleGVkREJ9LERCX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm5cIkVNX0ZTX1wiK3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0sREJfVkVSU0lPTjoyMCxEQl9TVE9SRV9OQU1FOlwiRklMRV9EQVRBXCIsc2F2ZUZpbGVzVG9EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZnVuY3Rpb24oKXt0KFwiY3JlYXRpbmcgZGJcIiksQy5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSl9LEMub25zdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIEI9Qy5yZXN1bHQudHJhbnNhY3Rpb24oW2lJLkRCX1NUT1JFX05BTUVdLFwicmVhZHdyaXRlXCIpLFE9Qi5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxFPTAsaT0wLG89QS5sZW5ndGg7ZnVuY3Rpb24gRCgpezA9PWk/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPVEucHV0KGlJLmFuYWx5emVQYXRoKEEpLm9iamVjdC5jb250ZW50cyxBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpeysrRStpPT1vJiZEKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe2krKyxFK2k9PW8mJkQoKX19KSksQi5vbmVycm9yPWd9LEMub25lcnJvcj1nfSxsb2FkRmlsZXNGcm9tREI6ZnVuY3Rpb24oQSxJLGcpe0k9SXx8ZnVuY3Rpb24oKXt9LGc9Z3x8ZnVuY3Rpb24oKXt9O3ZhciBCPWlJLmluZGV4ZWREQigpO3RyeXt2YXIgQz1CLm9wZW4oaUkuREJfTkFNRSgpLGlJLkRCX1ZFUlNJT04pfWNhdGNoKEEpe3JldHVybiBnKEEpfUMub251cGdyYWRlbmVlZGVkPWcsQy5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgQj1DLnJlc3VsdDt0cnl7dmFyIFE9Qi50cmFuc2FjdGlvbihbaUkuREJfU1RPUkVfTkFNRV0sXCJyZWFkb25seVwiKX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfXZhciBFPVEub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksaT0wLG89MCxEPUEubGVuZ3RoO2Z1bmN0aW9uIGEoKXswPT1vP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1FLmdldChBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpe2lJLmFuYWx5emVQYXRoKEEpLmV4aXN0cyYmaUkudW5saW5rKEEpLGlJLmNyZWF0ZURhdGFGaWxlKEJJLmRpcm5hbWUoQSksQkkuYmFzZW5hbWUoQSksSS5yZXN1bHQsITAsITAsITApLCsraStvPT1EJiZhKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe28rKyxpK289PUQmJmEoKX19KSksUS5vbmVycm9yPWd9LEMub25lcnJvcj1nfX0sb0k9e0RFRkFVTFRfUE9MTE1BU0s6NSxtYXBwaW5nczp7fSx1bWFzazo1MTEsY2FsY3VsYXRlQXQ6ZnVuY3Rpb24oQSxJKXtpZihcIi9cIiE9PUlbMF0pe3ZhciBnO2lmKC0xMDA9PT1BKWc9aUkuY3dkKCk7ZWxzZXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7Zz1CLnBhdGh9ST1CSS5qb2luMihnLEkpfXJldHVybiBJfSxkb1N0YXQ6ZnVuY3Rpb24oQSxJLGcpe3RyeXt2YXIgQj1BKEkpfWNhdGNoKEEpe2lmKEEmJkEubm9kZSYmQkkubm9ybWFsaXplKEkpIT09Qkkubm9ybWFsaXplKGlJLmdldFBhdGgoQS5ub2RlKSkpcmV0dXJuLTU0O3Rocm93IEF9cmV0dXJuIEFBW2c+PjJdPUIuZGV2LEFBW2crND4+Ml09MCxBQVtnKzg+PjJdPUIuaW5vLEFBW2crMTI+PjJdPUIubW9kZSxBQVtnKzE2Pj4yXT1CLm5saW5rLEFBW2crMjA+PjJdPUIudWlkLEFBW2crMjQ+PjJdPUIuZ2lkLEFBW2crMjg+PjJdPUIucmRldixBQVtnKzMyPj4yXT0wLGRBPVtCLnNpemU+Pj4wLChxQT1CLnNpemUsK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzQwPj4yXT1kQVswXSxBQVtnKzQ0Pj4yXT1kQVsxXSxBQVtnKzQ4Pj4yXT00MDk2LEFBW2crNTI+PjJdPUIuYmxvY2tzLEFBW2crNTY+PjJdPUIuYXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjA+PjJdPTAsQUFbZys2ND4+Ml09Qi5tdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2OD4+Ml09MCxBQVtnKzcyPj4yXT1CLmN0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzc2Pj4yXT0wLGRBPVtCLmlubz4+PjAsKHFBPUIuaW5vLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys4MD4+Ml09ZEFbMF0sQUFbZys4ND4+Ml09ZEFbMV0sMH0sZG9Nc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPXouc2xpY2UoQSxBK2cpO2lJLm1zeW5jKEksUSxDLGcsQil9LGRvTWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm5cIi9cIj09PShBPUJJLm5vcm1hbGl6ZShBKSlbQS5sZW5ndGgtMV0mJihBPUEuc3Vic3RyKDAsQS5sZW5ndGgtMSkpLGlJLm1rZGlyKEEsSSwwKSwwfSxkb01rbm9kOmZ1bmN0aW9uKEEsSSxnKXtzd2l0Y2goNjE0NDAmSSl7Y2FzZSAzMjc2ODpjYXNlIDgxOTI6Y2FzZSAyNDU3NjpjYXNlIDQwOTY6Y2FzZSA0OTE1MjpicmVhaztkZWZhdWx0OnJldHVybi0yOH1yZXR1cm4gaUkubWtub2QoQSxJLGcpLDB9LGRvUmVhZGxpbms6ZnVuY3Rpb24oQSxJLGcpe2lmKGc8PTApcmV0dXJuLTI4O3ZhciBCPWlJLnJlYWRsaW5rKEEpLEM9TWF0aC5taW4oZyxXKEIpKSxRPXZbSStDXTtyZXR1cm4gdShCLEksZysxKSx2W0krQ109USxDfSxkb0FjY2VzczpmdW5jdGlvbihBLEkpe2lmKC04JkkpcmV0dXJuLTI4O3ZhciBnO2lmKCEoZz1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGUpKXJldHVybi00NDt2YXIgQj1cIlwiO3JldHVybiA0JkkmJihCKz1cInJcIiksMiZJJiYoQis9XCJ3XCIpLDEmSSYmKEIrPVwieFwiKSxCJiZpSS5ub2RlUGVybWlzc2lvbnMoZyxCKT8tMjowfSxkb0R1cDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkuZ2V0U3RyZWFtKGcpO3JldHVybiBCJiZpSS5jbG9zZShCKSxpSS5vcGVuKEEsSSwwLGcsZykuZmR9LGRvUmVhZHY6ZnVuY3Rpb24oQSxJLGcsQil7Zm9yKHZhciBDPTAsUT0wO1E8ZztRKyspe3ZhciBFPUFBW0krOCpRPj4yXSxpPUFBW0krKDgqUSs0KT4+Ml0sbz1pSS5yZWFkKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO2lmKEMrPW8sbzxpKWJyZWFrfXJldHVybiBDfSxkb1dyaXRldjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLndyaXRlKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO0MrPW99cmV0dXJuIEN9LHZhcmFyZ3M6MCxnZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG9JLnZhcmFyZ3MrPTQsQUFbb0kudmFyYXJncy00Pj4yXX0sZ2V0U3RyOmZ1bmN0aW9uKCl7cmV0dXJuIGYob0kuZ2V0KCkpfSxnZXRTdHJlYW1Gcm9tRkQ6ZnVuY3Rpb24oQSl7dm9pZCAwPT09QSYmKEE9b0kuZ2V0KCkpO3ZhciBJPWlJLmdldFN0cmVhbShBKTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtyZXR1cm4gSX0sZ2V0NjQ6ZnVuY3Rpb24oKXt2YXIgQT1vSS5nZXQoKTtyZXR1cm4gb0kuZ2V0KCksQX0sZ2V0WmVybzpmdW5jdGlvbigpe29JLmdldCgpfX07ZnVuY3Rpb24gREkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cmVhbUZyb21GRCgpO3N3aXRjaChvSS5nZXQoKSl7Y2FzZSAwOnJldHVybihCPW9JLmdldCgpKTwwPy0yODppSS5vcGVuKGcucGF0aCxnLmZsYWdzLDAsQikuZmQ7Y2FzZSAxOmNhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6cmV0dXJuIDA7Y2FzZSAzOnJldHVybiBnLmZsYWdzO2Nhc2UgNDp2YXIgQj1vSS5nZXQoKTtyZXR1cm4gZy5mbGFnc3w9QiwwO2Nhc2UgMTI6cmV0dXJuIEI9b0kuZ2V0KCksX1tCKzA+PjFdPTIsMDtkZWZhdWx0OnJldHVybi0yODtjYXNlIDk6cmV0dXJuIElJKDI4KSwtMX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGFJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHIoKSxCPW9JLmdldCgpLEM9b0kuZ2V0KCk7cmV0dXJuIGlJLm9wZW4oZyxCLEMpLmZkfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiB3SShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCksQj1vSS5nZXQoKTtzd2l0Y2goQil7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1OmNhc2UgMjE1MTA6Y2FzZSAyMTUxMTpjYXNlIDIxNTEyOmNhc2UgMjE1MDY6Y2FzZSAyMTUwNzpjYXNlIDIxNTA4OmNhc2UgMjE1MjM6Y2FzZSAyMTUyNDpyZXR1cm4gZy50dHk/MDotNTk7Y2FzZSAyMTUxOTppZighZy50dHkpcmV0dXJuLTU5O3ZhciBDPW9JLmdldCgpO3JldHVybiBBQVtDPj4yXT0wLDA7Y2FzZSAyMTUyMDpyZXR1cm4gZy50dHk/LTI4Oi01OTtjYXNlIDIxNTMxOnJldHVybiBDPW9JLmdldCgpLGlJLmlvY3RsKGcsQixDKTtkZWZhdWx0OkpBKFwiYmFkIGlvY3RsIHN5c2NhbGwgXCIrQil9fWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBGSShBLEkpe2lmKC0xPT09QXx8MD09PUkpcmV0dXJuLTI4O3ZhciBnPW9JLm1hcHBpbmdzW0FdO2lmKCFnKXJldHVybiAwO2lmKEk9PT1nLmxlbil7dmFyIEI9aUkuZ2V0U3RyZWFtKGcuZmQpO29JLmRvTXN5bmMoQSxCLEksZy5mbGFncyxnLm9mZnNldCksaUkubXVubWFwKEIpLG9JLm1hcHBpbmdzW0FdPW51bGwsZy5hbGxvY2F0ZWQmJnNCKGcubWFsbG9jKX1yZXR1cm4gMH1mdW5jdGlvbiBHSShBLEkpe29JLnZhcmFyZ3M9STt0cnl7cmV0dXJuIEZJKG9JLmdldCgpLG9JLmdldCgpKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gaEkoKXt9ZnVuY3Rpb24gc0koQSl7dHJ5e3ZhciBJPW9JLmdldFN0cmVhbUZyb21GRChBKTtyZXR1cm4gaUkuY2xvc2UoSSksMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBSSSgpe3JldHVybiBzSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvUmVhZHYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24geUkoKXtyZXR1cm4gVUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIHRJKEEsSSxnLEIsQyl7dHJ5e3ZhciBRPW9JLmdldFN0cmVhbUZyb21GRChBKSxFPTQyOTQ5NjcyOTYqZysoST4+PjApLGk9OTAwNzE5OTI1NDc0MDk5MjtyZXR1cm4gRTw9LWl8fEU+PWk/LTYxOihpSS5sbHNlZWsoUSxFLEIpLGRBPVtRLnBvc2l0aW9uPj4+MCwocUE9US5wb3NpdGlvbiwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW0M+PjJdPWRBWzBdLEFBW0MrND4+Ml09ZEFbMV0sUS5nZXRkZW50cyYmMD09PUUmJjA9PT1CJiYoUS5nZXRkZW50cz1udWxsKSwwKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBTSSgpe3JldHVybiB0SS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvV3JpdGV2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIG5JKCl7cmV0dXJuIE1JLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBjSShBKXtzd2l0Y2goQSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gMTtjYXNlIDQ6cmV0dXJuIDI7Y2FzZSA4OnJldHVybiAzO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gdHlwZSBzaXplOiBcIitBKX19ZnVuY3Rpb24gckkoKXtmb3IodmFyIEE9bmV3IEFycmF5KDI1NiksST0wO0k8MjU2OysrSSlBW0ldPVN0cmluZy5mcm9tQ2hhckNvZGUoSSk7a0k9QX12YXIga0k9dm9pZCAwO2Z1bmN0aW9uIEtJKEEpe2Zvcih2YXIgST1cIlwiLGc9QTt6W2ddOylJKz1rSVt6W2crK11dO3JldHVybiBJfXZhciBOST17fSxZST17fSxlST17fSxKST00OCxIST01NztmdW5jdGlvbiBMSShBKXtpZih2b2lkIDA9PT1BKXJldHVyblwiX3Vua25vd25cIjt2YXIgST0oQT1BLnJlcGxhY2UoL1teYS16QS1aMC05X10vZyxcIiRcIikpLmNoYXJDb2RlQXQoMCk7cmV0dXJuIEk+PUpJJiZJPD1IST9cIl9cIitBOkF9ZnVuY3Rpb24gcUkoQSxJKXtyZXR1cm4gQT1MSShBKSxuZXcgRnVuY3Rpb24oXCJib2R5XCIsXCJyZXR1cm4gZnVuY3Rpb24gXCIrQSsnKCkge1xcbiAgICBcInVzZSBzdHJpY3RcIjsgICAgcmV0dXJuIGJvZHkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG59O1xcbicpKEkpfWZ1bmN0aW9uIGRJKEEsSSl7dmFyIGc9cUkoSSwoZnVuY3Rpb24oQSl7dGhpcy5uYW1lPUksdGhpcy5tZXNzYWdlPUE7dmFyIGc9bmV3IEVycm9yKEEpLnN0YWNrO3ZvaWQgMCE9PWcmJih0aGlzLnN0YWNrPXRoaXMudG9TdHJpbmcoKStcIlxcblwiK2cucmVwbGFjZSgvXkVycm9yKDpbXlxcbl0qKT9cXG4vLFwiXCIpKX0pKTtyZXR1cm4gZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksZy5wcm90b3R5cGUuY29uc3RydWN0b3I9ZyxnLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLm1lc3NhZ2U/dGhpcy5uYW1lOnRoaXMubmFtZStcIjogXCIrdGhpcy5tZXNzYWdlfSxnfXZhciBmST12b2lkIDA7ZnVuY3Rpb24gbEkoQSl7dGhyb3cgbmV3IGZJKEEpfXZhciB1ST12b2lkIDA7ZnVuY3Rpb24gV0koQSl7dGhyb3cgbmV3IHVJKEEpfWZ1bmN0aW9uIHBJKEEsSSxnKXtmdW5jdGlvbiBCKEkpe3ZhciBCPWcoSSk7Qi5sZW5ndGghPT1BLmxlbmd0aCYmV0koXCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50XCIpO2Zvcih2YXIgQz0wO0M8QS5sZW5ndGg7KytDKVpJKEFbQ10sQltDXSl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXtlSVtBXT1JfSkpO3ZhciBDPW5ldyBBcnJheShJLmxlbmd0aCksUT1bXSxFPTA7SS5mb3JFYWNoKChmdW5jdGlvbihBLEkpe1lJLmhhc093blByb3BlcnR5KEEpP0NbSV09WUlbQV06KFEucHVzaChBKSxOSS5oYXNPd25Qcm9wZXJ0eShBKXx8KE5JW0FdPVtdKSxOSVtBXS5wdXNoKChmdW5jdGlvbigpe0NbSV09WUlbQV0sKytFPT09US5sZW5ndGgmJkIoQyl9KSkpfSkpLDA9PT1RLmxlbmd0aCYmQihDKX1mdW5jdGlvbiBaSShBLEksZyl7aWYoZz1nfHx7fSwhKFwiYXJnUGFja0FkdmFuY2VcImluIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJyZWdpc3RlclR5cGUgcmVnaXN0ZXJlZEluc3RhbmNlIHJlcXVpcmVzIGFyZ1BhY2tBZHZhbmNlXCIpO3ZhciBCPUkubmFtZTtpZihBfHxsSSgndHlwZSBcIicrQisnXCIgbXVzdCBoYXZlIGEgcG9zaXRpdmUgaW50ZWdlciB0eXBlaWQgcG9pbnRlcicpLFlJLmhhc093blByb3BlcnR5KEEpKXtpZihnLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpcmV0dXJuO2xJKFwiQ2Fubm90IHJlZ2lzdGVyIHR5cGUgJ1wiK0IrXCInIHR3aWNlXCIpfWlmKFlJW0FdPUksZGVsZXRlIGVJW0FdLE5JLmhhc093blByb3BlcnR5KEEpKXt2YXIgQz1OSVtBXTtkZWxldGUgTklbQV0sQy5mb3JFYWNoKChmdW5jdGlvbihBKXtBKCl9KSl9fWZ1bmN0aW9uIGJJKEEsSSxnLEIsQyl7dmFyIFE9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4hIUF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9COkN9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6ZnVuY3Rpb24oQSl7dmFyIEI7aWYoMT09PWcpQj12O2Vsc2UgaWYoMj09PWcpQj1fO2Vsc2V7aWYoNCE9PWcpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gYm9vbGVhbiB0eXBlIHNpemU6IFwiK0kpO0I9QUF9cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJbQT4+UV0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHhJKEksZyxCKXtJPUtJKEkpLHBJKFtdLFtnXSwoZnVuY3Rpb24oZyl7cmV0dXJuIGc9Z1swXSxBW0ldPWcuZnJvbVdpcmVUeXBlKEIpLFtdfSkpfXZhciBtST1bXSxYST1be30se3ZhbHVlOnZvaWQgMH0se3ZhbHVlOm51bGx9LHt2YWx1ZTohMH0se3ZhbHVlOiExfV07ZnVuY3Rpb24gVkkoQSl7QT40JiYwPT0tLVhJW0FdLnJlZmNvdW50JiYoWElbQV09dm9pZCAwLG1JLnB1c2goQSkpfWZ1bmN0aW9uIE9JKCl7Zm9yKHZhciBBPTAsST01O0k8WEkubGVuZ3RoOysrSSl2b2lkIDAhPT1YSVtJXSYmKytBO3JldHVybiBBfWZ1bmN0aW9uIFRJKCl7Zm9yKHZhciBBPTU7QTxYSS5sZW5ndGg7KytBKWlmKHZvaWQgMCE9PVhJW0FdKXJldHVybiBYSVtBXTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBqSSgpe0EuY291bnRfZW12YWxfaGFuZGxlcz1PSSxBLmdldF9maXJzdF9lbXZhbD1USX1mdW5jdGlvbiBQSShBKXtzd2l0Y2goQSl7Y2FzZSB2b2lkIDA6cmV0dXJuIDE7Y2FzZSBudWxsOnJldHVybiAyO2Nhc2UhMDpyZXR1cm4gMztjYXNlITE6cmV0dXJuIDQ7ZGVmYXVsdDp2YXIgST1tSS5sZW5ndGg/bUkucG9wKCk6WEkubGVuZ3RoO3JldHVybiBYSVtJXT17cmVmY291bnQ6MSx2YWx1ZTpBfSxJfX1mdW5jdGlvbiB2SShBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoSUFbQT4+Ml0pfWZ1bmN0aW9uIHpJKEEsSSl7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgST1YSVtBXS52YWx1ZTtyZXR1cm4gVkkoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBQSShJKX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIF9JKEEpe2lmKG51bGw9PT1BKXJldHVyblwibnVsbFwiO3ZhciBJPUQoQSk7cmV0dXJuXCJvYmplY3RcIj09PUl8fFwiYXJyYXlcIj09PUl8fFwiZnVuY3Rpb25cIj09PUk/QS50b1N0cmluZygpOlwiXCIrQX1mdW5jdGlvbiAkSShBLEkpe3N3aXRjaChJKXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShnQVtBPj4yXSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJBW0E+PjNdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBmbG9hdCB0eXBlOiBcIitBKX19ZnVuY3Rpb24gQWcoQSxJLGcpe3ZhciBCPWNJKGcpO1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7cmV0dXJuIEF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtpZihcIm51bWJlclwiIT10eXBlb2YgSSYmXCJib29sZWFuXCIhPXR5cGVvZiBJKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFwiJytfSShJKSsnXCIgdG8gJyt0aGlzLm5hbWUpO3JldHVybiBJfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOiRJKEksQiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBJZyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlIFwiK0QoQSkrXCIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb25cIik7dmFyIGc9cUkoQS5uYW1lfHxcInVua25vd25GdW5jdGlvbk5hbWVcIiwoZnVuY3Rpb24oKXt9KSk7Zy5wcm90b3R5cGU9QS5wcm90b3R5cGU7dmFyIEI9bmV3IGcsQz1BLmFwcGx5KEIsSSk7cmV0dXJuIEMgaW5zdGFuY2VvZiBPYmplY3Q/QzpCfWZ1bmN0aW9uIGdnKEEpe2Zvcig7QS5sZW5ndGg7KXt2YXIgST1BLnBvcCgpO0EucG9wKCkoSSl9fWZ1bmN0aW9uIEJnKEEsSSxnLEIsQyl7dmFyIFE9SS5sZW5ndGg7UTwyJiZsSShcImFyZ1R5cGVzIGFycmF5IHNpemUgbWlzbWF0Y2ghIE11c3QgYXQgbGVhc3QgZ2V0IHJldHVybiB2YWx1ZSBhbmQgJ3RoaXMnIHR5cGVzIVwiKTtmb3IodmFyIEU9bnVsbCE9PUlbMV0mJm51bGwhPT1nLGk9ITEsbz0xO288SS5sZW5ndGg7KytvKWlmKG51bGwhPT1JW29dJiZ2b2lkIDA9PT1JW29dLmRlc3RydWN0b3JGdW5jdGlvbil7aT0hMDticmVha312YXIgRD1cInZvaWRcIiE9PUlbMF0ubmFtZSxhPVwiXCIsdz1cIlwiO2ZvcihvPTA7bzxRLTI7KytvKWErPSgwIT09bz9cIiwgXCI6XCJcIikrXCJhcmdcIitvLHcrPSgwIT09bz9cIiwgXCI6XCJcIikrXCJhcmdcIitvK1wiV2lyZWRcIjt2YXIgRj1cInJldHVybiBmdW5jdGlvbiBcIitMSShBKStcIihcIithK1wiKSB7XFxuaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IFwiKyhRLTIpK1wiKSB7XFxudGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uIFwiK0ErXCIgY2FsbGVkIHdpdGggJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0ZWQgXCIrKFEtMikrXCIgYXJncyEnKTtcXG59XFxuXCI7aSYmKEYrPVwidmFyIGRlc3RydWN0b3JzID0gW107XFxuXCIpO3ZhciBHPWk/XCJkZXN0cnVjdG9yc1wiOlwibnVsbFwiLGg9W1widGhyb3dCaW5kaW5nRXJyb3JcIixcImludm9rZXJcIixcImZuXCIsXCJydW5EZXN0cnVjdG9yc1wiLFwicmV0VHlwZVwiLFwiY2xhc3NQYXJhbVwiXSxzPVtsSSxCLEMsZ2csSVswXSxJWzFdXTtmb3IoRSYmKEYrPVwidmFyIHRoaXNXaXJlZCA9IGNsYXNzUGFyYW0udG9XaXJlVHlwZShcIitHK1wiLCB0aGlzKTtcXG5cIiksbz0wO288US0yOysrbylGKz1cInZhciBhcmdcIitvK1wiV2lyZWQgPSBhcmdUeXBlXCIrbytcIi50b1dpcmVUeXBlKFwiK0crXCIsIGFyZ1wiK28rXCIpOyAvLyBcIitJW28rMl0ubmFtZStcIlxcblwiLGgucHVzaChcImFyZ1R5cGVcIitvKSxzLnB1c2goSVtvKzJdKTtpZihFJiYodz1cInRoaXNXaXJlZFwiKyh3Lmxlbmd0aD4wP1wiLCBcIjpcIlwiKSt3KSxGKz0oRD9cInZhciBydiA9IFwiOlwiXCIpK1wiaW52b2tlcihmblwiKyh3Lmxlbmd0aD4wP1wiLCBcIjpcIlwiKSt3K1wiKTtcXG5cIixpKUYrPVwicnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO1xcblwiO2Vsc2UgZm9yKG89RT8xOjI7bzxJLmxlbmd0aDsrK28pe3ZhciBSPTE9PT1vP1widGhpc1dpcmVkXCI6XCJhcmdcIisoby0yKStcIldpcmVkXCI7bnVsbCE9PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uJiYoRis9UitcIl9kdG9yKFwiK1IrXCIpOyAvLyBcIitJW29dLm5hbWUrXCJcXG5cIixoLnB1c2goUitcIl9kdG9yXCIpLHMucHVzaChJW29dLmRlc3RydWN0b3JGdW5jdGlvbikpfXJldHVybiBEJiYoRis9XCJ2YXIgcmV0ID0gcmV0VHlwZS5mcm9tV2lyZVR5cGUocnYpO1xcbnJldHVybiByZXQ7XFxuXCIpLEYrPVwifVxcblwiLGgucHVzaChGKSxJZyhGdW5jdGlvbixoKS5hcHBseShudWxsLHMpfWZ1bmN0aW9uIENnKEEsSSxnKXtpZih2b2lkIDA9PT1BW0ldLm92ZXJsb2FkVGFibGUpe3ZhciBCPUFbSV07QVtJXT1mdW5jdGlvbigpe3JldHVybiBBW0ldLm92ZXJsb2FkVGFibGUuaGFzT3duUHJvcGVydHkoYXJndW1lbnRzLmxlbmd0aCl8fGxJKFwiRnVuY3Rpb24gJ1wiK2crXCInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXCIrYXJndW1lbnRzLmxlbmd0aCtcIikgLSBleHBlY3RzIG9uZSBvZiAoXCIrQVtJXS5vdmVybG9hZFRhYmxlK1wiKSFcIiksQVtJXS5vdmVybG9hZFRhYmxlW2FyZ3VtZW50cy5sZW5ndGhdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQVtJXS5vdmVybG9hZFRhYmxlPVtdLEFbSV0ub3ZlcmxvYWRUYWJsZVtCLmFyZ0NvdW50XT1CfX1mdW5jdGlvbiBRZyhJLGcsQil7QS5oYXNPd25Qcm9wZXJ0eShJKT8oKHZvaWQgMD09PUJ8fHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlW0JdKSYmbEkoXCJDYW5ub3QgcmVnaXN0ZXIgcHVibGljIG5hbWUgJ1wiK0krXCInIHR3aWNlXCIpLENnKEEsSSxJKSxBLmhhc093blByb3BlcnR5KEIpJiZsSShcIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBvdmVybG9hZHMgb2YgYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG51bWJlciBvZiBhcmd1bWVudHMgKFwiK0IrXCIpIVwiKSxBW0ldLm92ZXJsb2FkVGFibGVbQl09Zyk6KEFbSV09Zyx2b2lkIDAhPT1CJiYoQVtJXS5udW1Bcmd1bWVudHM9QikpfWZ1bmN0aW9uIEVnKEEsSSl7Zm9yKHZhciBnPVtdLEI9MDtCPEE7QisrKWcucHVzaChBQVsoST4+MikrQl0pO3JldHVybiBnfWZ1bmN0aW9uIGlnKEksZyxCKXtBLmhhc093blByb3BlcnR5KEkpfHxXSShcIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sXCIpLHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09Qj9BW0ldLm92ZXJsb2FkVGFibGVbQl09ZzooQVtJXT1nLEFbSV0uYXJnQ291bnQ9Qil9ZnVuY3Rpb24gb2coSSxnKXt2YXIgQjtpZihJPUtJKEkpLHZvaWQgMCE9PUFbXCJGVU5DVElPTl9UQUJMRV9cIitJXSlCPUFbXCJGVU5DVElPTl9UQUJMRV9cIitJXVtnXTtlbHNlIGlmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBGVU5DVElPTl9UQUJMRSlCPUZVTkNUSU9OX1RBQkxFW2ddO2Vsc2V7dmFyIEM9QVtcImR5bkNhbGxfXCIrSV07dm9pZCAwPT09QyYmdm9pZCAwPT09KEM9QVtcImR5bkNhbGxfXCIrSS5yZXBsYWNlKC9mL2csXCJkXCIpXSkmJmxJKFwiTm8gZHluQ2FsbCBpbnZva2VyIGZvciBzaWduYXR1cmU6IFwiK0kpLEI9ZnVuY3Rpb24oQSl7Zm9yKHZhciBCPVtdLEM9MTtDPEkubGVuZ3RoOysrQylCLnB1c2goXCJhXCIrQyk7dmFyIFE9XCJyZXR1cm4gZnVuY3Rpb24gZHluQ2FsbF9cIitJK1wiX1wiK2crXCIoXCIrQi5qb2luKFwiLCBcIikrXCIpIHtcXG5cIjtyZXR1cm4gUSs9XCIgICAgcmV0dXJuIGR5bkNhbGwocmF3RnVuY3Rpb25cIisoQi5sZW5ndGg/XCIsIFwiOlwiXCIpK0Iuam9pbihcIiwgXCIpK1wiKTtcXG5cIixRKz1cIn07XFxuXCIsbmV3IEZ1bmN0aW9uKFwiZHluQ2FsbFwiLFwicmF3RnVuY3Rpb25cIixRKShBLGcpfShDKX1yZXR1cm5cImZ1bmN0aW9uXCIhPXR5cGVvZiBCJiZsSShcInVua25vd24gZnVuY3Rpb24gcG9pbnRlciB3aXRoIHNpZ25hdHVyZSBcIitJK1wiOiBcIitnKSxCfXZhciBEZz12b2lkIDA7ZnVuY3Rpb24gYWcoQSl7dmFyIEk9d0IoQSksZz1LSShJKTtyZXR1cm4gc0IoSSksZ31mdW5jdGlvbiB3ZyhBLEkpe3ZhciBnPVtdLEI9e307dGhyb3cgSS5mb3JFYWNoKChmdW5jdGlvbiBBKEkpe0JbSV18fFlJW0ldfHwoZUlbSV0/ZUlbSV0uZm9yRWFjaChBKTooZy5wdXNoKEkpLEJbSV09ITApKX0pKSxuZXcgRGcoQStcIjogXCIrZy5tYXAoYWcpLmpvaW4oW1wiLCBcIl0pKX1mdW5jdGlvbiBGZyhBLEksZyxCLEMsUSl7dmFyIEU9RWcoSSxnKTtBPUtJKEEpLEM9b2coQixDKSxRZyhBLChmdW5jdGlvbigpe3dnKFwiQ2Fubm90IGNhbGwgXCIrQStcIiBkdWUgdG8gdW5ib3VuZCB0eXBlc1wiLEUpfSksSS0xKSxwSShbXSxFLChmdW5jdGlvbihnKXt2YXIgQj1bZ1swXSxudWxsXS5jb25jYXQoZy5zbGljZSgxKSk7cmV0dXJuIGlnKEEsQmcoQSxCLG51bGwsQyxRKSxJLTEpLFtdfSkpfWZ1bmN0aW9uIEdnKEEsSSxnKXtzd2l0Y2goSSl7Y2FzZSAwOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiB2W0FdfTpmdW5jdGlvbihBKXtyZXR1cm4geltBXX07Y2FzZSAxOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBfW0E+PjFdfTpmdW5jdGlvbihBKXtyZXR1cm4gJFtBPj4xXX07Y2FzZSAyOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBBQVtBPj4yXX06ZnVuY3Rpb24oQSl7cmV0dXJuIElBW0E+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGludGVnZXIgdHlwZTogXCIrQSl9fWZ1bmN0aW9uIGhnKEEsSSxnLEIsQyl7ST1LSShJKSwtMT09PUMmJihDPTQyOTQ5NjcyOTUpO3ZhciBRPWNJKGcpLEU9ZnVuY3Rpb24oQSl7cmV0dXJuIEF9O2lmKDA9PT1CKXt2YXIgaT0zMi04Kmc7RT1mdW5jdGlvbihBKXtyZXR1cm4gQTw8aT4+Pml9fXZhciBvPS0xIT1JLmluZGV4T2YoXCJ1bnNpZ25lZFwiKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOkUsdG9XaXJlVHlwZTpmdW5jdGlvbihBLGcpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBnJiZcImJvb2xlYW5cIiE9dHlwZW9mIGcpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXCInK19JKGcpKydcIiB0byAnK3RoaXMubmFtZSk7aWYoZzxCfHxnPkMpdGhyb3cgbmV3IFR5cGVFcnJvcignUGFzc2luZyBhIG51bWJlciBcIicrX0koZykrJ1wiIGZyb20gSlMgc2lkZSB0byBDL0MrKyBzaWRlIHRvIGFuIGFyZ3VtZW50IG9mIHR5cGUgXCInK0krJ1wiLCB3aGljaCBpcyBvdXRzaWRlIHRoZSB2YWxpZCByYW5nZSBbJytCK1wiLCBcIitDK1wiXSFcIik7cmV0dXJuIG8/Zz4+PjA6MHxnfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkdnKEksUSwwIT09QiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBzZyhBLEksZyl7dmFyIEI9W0ludDhBcnJheSxVaW50OEFycmF5LEludDE2QXJyYXksVWludDE2QXJyYXksSW50MzJBcnJheSxVaW50MzJBcnJheSxGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5XVtJXTtmdW5jdGlvbiBDKEEpe3ZhciBJPUlBLGc9SVtBPj49Ml0sQz1JW0ErMV07cmV0dXJuIG5ldyBCKEkuYnVmZmVyLEMsZyl9WkkoQSx7bmFtZTpnPUtJKGcpLGZyb21XaXJlVHlwZTpDLGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6Q30se2lnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnM6ITB9KX1mdW5jdGlvbiBSZyhBLEkpe3ZhciBnPVwic3RkOjpzdHJpbmdcIj09PShJPUtJKEkpKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBJLEI9SUFbQT4+Ml07aWYoZyl7dmFyIEM9eltBKzQrQl0sUT0wOzAhPUMmJihRPUMseltBKzQrQl09MCk7Zm9yKHZhciBFPUErNCxpPTA7aTw9QjsrK2kpe3ZhciBvPUErNCtpO2lmKDA9PXpbb10pe3ZhciBEPWYoRSk7dm9pZCAwPT09ST9JPUQ6KEkrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksSSs9RCksRT1vKzF9fTAhPVEmJih6W0ErNCtCXT1RKX1lbHNle3ZhciBhPW5ldyBBcnJheShCKTtmb3IoaT0wO2k8QjsrK2kpYVtpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHpbQSs0K2ldKTtJPWEuam9pbihcIlwiKX1yZXR1cm4gc0IoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe0kgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKEk9bmV3IFVpbnQ4QXJyYXkoSSkpO3ZhciBCPVwic3RyaW5nXCI9PXR5cGVvZiBJO0J8fEkgaW5zdGFuY2VvZiBVaW50OEFycmF5fHxJIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fEkgaW5zdGFuY2VvZiBJbnQ4QXJyYXl8fGxJKFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZ1wiKTt2YXIgQz0oZyYmQj9mdW5jdGlvbigpe3JldHVybiBXKEkpfTpmdW5jdGlvbigpe3JldHVybiBJLmxlbmd0aH0pKCksUT1SQig0K0MrMSk7aWYoSUFbUT4+Ml09QyxnJiZCKXUoSSxRKzQsQysxKTtlbHNlIGlmKEIpZm9yKHZhciBFPTA7RTxDOysrRSl7dmFyIGk9SS5jaGFyQ29kZUF0KEUpO2k+MjU1JiYoc0IoUSksbEkoXCJTdHJpbmcgaGFzIFVURi0xNiBjb2RlIHVuaXRzIHRoYXQgZG8gbm90IGZpdCBpbiA4IGJpdHNcIikpLHpbUSs0K0VdPWl9ZWxzZSBmb3IoRT0wO0U8QzsrK0UpeltRKzQrRV09SVtFXTtyZXR1cm4gbnVsbCE9PUEmJkEucHVzaChzQixRKSxRfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiBVZyhBLEksZyl7dmFyIEIsQyxRLEUsaTtnPUtJKGcpLDI9PT1JPyhCPVosQz1iLEU9eCxRPWZ1bmN0aW9uKCl7cmV0dXJuICR9LGk9MSk6ND09PUkmJihCPW0sQz1YLEU9VixRPWZ1bmN0aW9uKCl7cmV0dXJuIElBfSxpPTIpLFpJKEEse25hbWU6Zyxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIGcsQz1JQVtBPj4yXSxFPVEoKSxvPUVbQSs0K0MqST4+aV0sRD0wOzAhPW8mJihEPW8sRVtBKzQrQypJPj5pXT0wKTtmb3IodmFyIGE9QSs0LHc9MDt3PD1DOysrdyl7dmFyIEY9QSs0K3cqSTtpZigwPT1FW0Y+PmldKXt2YXIgRz1CKGEpO3ZvaWQgMD09PWc/Zz1HOihnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLGcrPUcpLGE9RitJfX1yZXR1cm4gMCE9RCYmKEVbQSs0K0MqST4+aV09RCksc0IoQSksZ30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEIpe1wic3RyaW5nXCIhPXR5cGVvZiBCJiZsSShcIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gQysrIHN0cmluZyB0eXBlIFwiK2cpO3ZhciBRPUUoQiksbz1SQig0K1ErSSk7cmV0dXJuIElBW28+PjJdPVE+PmksQyhCLG8rNCxRK0kpLG51bGwhPT1BJiZBLnB1c2goc0Isbyksb30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246ZnVuY3Rpb24oQSl7c0IoQSl9fSl9ZnVuY3Rpb24geWcoQSxJKXtaSShBLHtpc1ZvaWQ6ITAsbmFtZTpJPUtJKEkpLGFyZ1BhY2tBZHZhbmNlOjAsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKCl7fSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7fX0pfWZ1bmN0aW9uIHRnKCl7SkEoKX1mdW5jdGlvbiBTZygpe3JldHVybiB6Lmxlbmd0aH1mdW5jdGlvbiBNZyhBKXtKQShcIk9PTVwiKX1mdW5jdGlvbiBuZyhBKXtNZygpfWZ1bmN0aW9uIGNnKEEpe2VCKEEpfWZ1bmN0aW9uIHJnKEEpe3JldHVybiAwPT09QT8wOihBPWYoQSksakEuaGFzT3duUHJvcGVydHkoQSk/KHJnLnJldCYmc0IocmcucmV0KSxyZy5yZXQ9TyhqQVtBXSkscmcucmV0KTowKX1mdW5jdGlvbiBrZyhBKXt2YXIgST1EYXRlLm5vdygpO3JldHVybiBBQVtBPj4yXT1JLzFlM3wwLEFBW0ErND4+Ml09SSUxZTMqMWUzfDAsMH1mdW5jdGlvbiBLZyhBKXtyZXR1cm4gTWF0aC5wb3coMixBKX1mdW5jdGlvbiBOZyhBKXt2YXIgST1ZZyxnPUkuTExWTV9TQVZFRFNUQUNLU1tBXTtJLkxMVk1fU0FWRURTVEFDS1Muc3BsaWNlKEEsMSkseUIoZyl9ZnVuY3Rpb24gWWcoKXt2YXIgQT1ZZztyZXR1cm4gQS5MTFZNX1NBVkVEU1RBQ0tTfHwoQS5MTFZNX1NBVkVEU1RBQ0tTPVtdKSxBLkxMVk1fU0FWRURTVEFDS1MucHVzaCh0QigpKSxBLkxMVk1fU0FWRURTVEFDS1MubGVuZ3RoLTF9dmFyIGVnPTYxMTM2O2Z1bmN0aW9uIEpnKCl7aWYoIUpnLmNhbGxlZCl7SmcuY2FsbGVkPSEwLEFBW0dCKCk+PjJdPTYwKihuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgQT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCksST1uZXcgRGF0ZShBLDAsMSksZz1uZXcgRGF0ZShBLDYsMSk7QUFbRkIoKT4+Ml09TnVtYmVyKEkuZ2V0VGltZXpvbmVPZmZzZXQoKSE9Zy5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgQj1pKEkpLEM9aShnKSxRPU8oQiksRT1PKEMpO2cuZ2V0VGltZXpvbmVPZmZzZXQoKTxJLmdldFRpbWV6b25lT2Zmc2V0KCk/KEFBW2hCKCk+PjJdPVEsQUFbaEIoKSs0Pj4yXT1FKTooQUFbaEIoKT4+Ml09RSxBQVtoQigpKzQ+PjJdPVEpfWZ1bmN0aW9uIGkoQSl7dmFyIEk9QS50b1RpbWVTdHJpbmcoKS5tYXRjaCgvXFwoKFtBLVphLXogXSspXFwpJC8pO3JldHVybiBJP0lbMV06XCJHTVRcIn19ZnVuY3Rpb24gSGcoQSxJKXtKZygpO3ZhciBnPW5ldyBEYXRlKDFlMypBQVtBPj4yXSk7QUFbST4+Ml09Zy5nZXRTZWNvbmRzKCksQUFbSSs0Pj4yXT1nLmdldE1pbnV0ZXMoKSxBQVtJKzg+PjJdPWcuZ2V0SG91cnMoKSxBQVtJKzEyPj4yXT1nLmdldERhdGUoKSxBQVtJKzE2Pj4yXT1nLmdldE1vbnRoKCksQUFbSSsyMD4+Ml09Zy5nZXRGdWxsWWVhcigpLTE5MDAsQUFbSSsyND4+Ml09Zy5nZXREYXkoKTt2YXIgQj1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksMCwxKSxDPShnLmdldFRpbWUoKS1CLmdldFRpbWUoKSkvODY0ZTV8MDtBQVtJKzI4Pj4yXT1DLEFBW0krMzY+PjJdPS02MCpnLmdldFRpbWV6b25lT2Zmc2V0KCk7dmFyIFE9bmV3IERhdGUoZy5nZXRGdWxsWWVhcigpLDYsMSkuZ2V0VGltZXpvbmVPZmZzZXQoKSxFPUIuZ2V0VGltZXpvbmVPZmZzZXQoKSxpPTB8KFEhPUUmJmcuZ2V0VGltZXpvbmVPZmZzZXQoKT09TWF0aC5taW4oRSxRKSk7QUFbSSszMj4+Ml09aTt2YXIgbz1BQVtoQigpKyhpPzQ6MCk+PjJdO3JldHVybiBBQVtJKzQwPj4yXT1vLEl9ZnVuY3Rpb24gTGcoQSl7cmV0dXJuIEhnKEEsZWcpfWZ1bmN0aW9uIHFnKEEsSSl7dGhyb3cgVUIoQSxJfHwxKSxcImxvbmdqbXBcIn1mdW5jdGlvbiBkZyhBLEksZyl7ei5zZXQoei5zdWJhcnJheShJLEkrZyksQSl9ZnVuY3Rpb24gZmcoQSl7cmV0dXJuIEElND09MCYmKEElMTAwIT0wfHxBJTQwMD09MCl9ZnVuY3Rpb24gbGcoQSxJKXtmb3IodmFyIGc9MCxCPTA7Qjw9STtnKz1BW0IrK10pO3JldHVybiBnfXUoXCJHTVRcIiw2MTE4NCw0KTt2YXIgdWc9WzMxLDI5LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxXZz1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO2Z1bmN0aW9uIHBnKEEsSSl7Zm9yKHZhciBnPW5ldyBEYXRlKEEuZ2V0VGltZSgpKTtJPjA7KXt2YXIgQj1mZyhnLmdldEZ1bGxZZWFyKCkpLEM9Zy5nZXRNb250aCgpLFE9KEI/dWc6V2cpW0NdO2lmKCEoST5RLWcuZ2V0RGF0ZSgpKSlyZXR1cm4gZy5zZXREYXRlKGcuZ2V0RGF0ZSgpK0kpLGc7SS09US1nLmdldERhdGUoKSsxLGcuc2V0RGF0ZSgxKSxDPDExP2cuc2V0TW9udGgoQysxKTooZy5zZXRNb250aCgwKSxnLnNldEZ1bGxZZWFyKGcuZ2V0RnVsbFllYXIoKSsxKSl9cmV0dXJuIGd9ZnVuY3Rpb24gWmcoQSxJLGcsQil7dmFyIEM9QUFbQis0MD4+Ml0sUT17dG1fc2VjOkFBW0I+PjJdLHRtX21pbjpBQVtCKzQ+PjJdLHRtX2hvdXI6QUFbQis4Pj4yXSx0bV9tZGF5OkFBW0IrMTI+PjJdLHRtX21vbjpBQVtCKzE2Pj4yXSx0bV95ZWFyOkFBW0IrMjA+PjJdLHRtX3dkYXk6QUFbQisyND4+Ml0sdG1feWRheTpBQVtCKzI4Pj4yXSx0bV9pc2RzdDpBQVtCKzMyPj4yXSx0bV9nbXRvZmY6QUFbQiszNj4+Ml0sdG1fem9uZTpDP2YoQyk6XCJcIn0sRT1mKGcpLGk9e1wiJWNcIjpcIiVhICViICVkICVIOiVNOiVTICVZXCIsXCIlRFwiOlwiJW0vJWQvJXlcIixcIiVGXCI6XCIlWS0lbS0lZFwiLFwiJWhcIjpcIiViXCIsXCIlclwiOlwiJUk6JU06JVMgJXBcIixcIiVSXCI6XCIlSDolTVwiLFwiJVRcIjpcIiVIOiVNOiVTXCIsXCIleFwiOlwiJW0vJWQvJXlcIixcIiVYXCI6XCIlSDolTTolU1wiLFwiJUVjXCI6XCIlY1wiLFwiJUVDXCI6XCIlQ1wiLFwiJUV4XCI6XCIlbS8lZC8leVwiLFwiJUVYXCI6XCIlSDolTTolU1wiLFwiJUV5XCI6XCIleVwiLFwiJUVZXCI6XCIlWVwiLFwiJU9kXCI6XCIlZFwiLFwiJU9lXCI6XCIlZVwiLFwiJU9IXCI6XCIlSFwiLFwiJU9JXCI6XCIlSVwiLFwiJU9tXCI6XCIlbVwiLFwiJU9NXCI6XCIlTVwiLFwiJU9TXCI6XCIlU1wiLFwiJU91XCI6XCIldVwiLFwiJU9VXCI6XCIlVVwiLFwiJU9WXCI6XCIlVlwiLFwiJU93XCI6XCIld1wiLFwiJU9XXCI6XCIlV1wiLFwiJU95XCI6XCIleVwifTtmb3IodmFyIG8gaW4gaSlFPUUucmVwbGFjZShuZXcgUmVnRXhwKG8sXCJnXCIpLGlbb10pO3ZhciBEPVtcIlN1bmRheVwiLFwiTW9uZGF5XCIsXCJUdWVzZGF5XCIsXCJXZWRuZXNkYXlcIixcIlRodXJzZGF5XCIsXCJGcmlkYXlcIixcIlNhdHVyZGF5XCJdLGE9W1wiSmFudWFyeVwiLFwiRmVicnVhcnlcIixcIk1hcmNoXCIsXCJBcHJpbFwiLFwiTWF5XCIsXCJKdW5lXCIsXCJKdWx5XCIsXCJBdWd1c3RcIixcIlNlcHRlbWJlclwiLFwiT2N0b2JlclwiLFwiTm92ZW1iZXJcIixcIkRlY2VtYmVyXCJdO2Z1bmN0aW9uIHcoQSxJLGcpe2Zvcih2YXIgQj1cIm51bWJlclwiPT10eXBlb2YgQT9BLnRvU3RyaW5nKCk6QXx8XCJcIjtCLmxlbmd0aDxJOylCPWdbMF0rQjtyZXR1cm4gQn1mdW5jdGlvbiBGKEEsSSl7cmV0dXJuIHcoQSxJLFwiMFwiKX1mdW5jdGlvbiBHKEEsSSl7ZnVuY3Rpb24gZyhBKXtyZXR1cm4gQTwwPy0xOkE+MD8xOjB9dmFyIEI7cmV0dXJuIDA9PT0oQj1nKEEuZ2V0RnVsbFllYXIoKS1JLmdldEZ1bGxZZWFyKCkpKSYmMD09PShCPWcoQS5nZXRNb250aCgpLUkuZ2V0TW9udGgoKSkpJiYoQj1nKEEuZ2V0RGF0ZSgpLUkuZ2V0RGF0ZSgpKSksQn1mdW5jdGlvbiBoKEEpe3N3aXRjaChBLmdldERheSgpKXtjYXNlIDA6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDI5KTtjYXNlIDE6cmV0dXJuIEE7Y2FzZSAyOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwzKTtjYXNlIDM6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDIpO2Nhc2UgNDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMSk7Y2FzZSA1OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMSk7Y2FzZSA2OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMCl9fWZ1bmN0aW9uIHMoQSl7dmFyIEk9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpLGc9bmV3IERhdGUoSS5nZXRGdWxsWWVhcigpLDAsNCksQj1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCkrMSwwLDQpLEM9aChnKSxRPWgoQik7cmV0dXJuIEcoQyxJKTw9MD9HKFEsSSk8PTA/SS5nZXRGdWxsWWVhcigpKzE6SS5nZXRGdWxsWWVhcigpOkkuZ2V0RnVsbFllYXIoKS0xfXZhciBSPXtcIiVhXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XS5zdWJzdHJpbmcoMCwzKX0sXCIlQVwiOmZ1bmN0aW9uKEEpe3JldHVybiBEW0EudG1fd2RheV19LFwiJWJcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl0uc3Vic3RyaW5nKDAsMyl9LFwiJUJcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl19LFwiJUNcIjpmdW5jdGlvbihBKXtyZXR1cm4gRigoQS50bV95ZWFyKzE5MDApLzEwMHwwLDIpfSxcIiVkXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5LDIpfSxcIiVlXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHcoQS50bV9tZGF5LDIsXCIgXCIpfSxcIiVnXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFwiJUdcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKX0sXCIlSFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1faG91ciwyKX0sXCIlSVwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1faG91cjtyZXR1cm4gMD09ST9JPTEyOkk+MTImJihJLT0xMiksRihJLDIpfSxcIiVqXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5K2xnKGZnKEEudG1feWVhcisxOTAwKT91ZzpXZyxBLnRtX21vbi0xKSwzKX0sXCIlbVwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbW9uKzEsMil9LFwiJU1cIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21pbiwyKX0sXCIlblwiOmZ1bmN0aW9uKCl7cmV0dXJuXCJcXG5cIn0sXCIlcFwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX2hvdXI+PTAmJkEudG1faG91cjwxMj9cIkFNXCI6XCJQTVwifSxcIiVTXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9zZWMsMil9LFwiJXRcIjpmdW5jdGlvbigpe3JldHVyblwiXFx0XCJ9LFwiJXVcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fHw3fSxcIiVVXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxnPTA9PT1JLmdldERheSgpP0k6cGcoSSw3LUkuZ2V0RGF5KCkpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsQS50bV9tb24sQS50bV9tZGF5KTtpZihHKGcsQik8MCl7dmFyIEM9bGcoZmcoQi5nZXRGdWxsWWVhcigpKT91ZzpXZyxCLmdldE1vbnRoKCktMSktMzEsUT0zMS1nLmdldERhdGUoKStDK0IuZ2V0RGF0ZSgpO3JldHVybiBGKE1hdGguY2VpbChRLzcpLDIpfXJldHVybiAwPT09RyhnLEkpP1wiMDFcIjpcIjAwXCJ9LFwiJVZcIjpmdW5jdGlvbihBKXt2YXIgSSxnPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsNCksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMSwwLDQpLEM9aChnKSxRPWgoQiksRT1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSk7cmV0dXJuIEcoRSxDKTwwP1wiNTNcIjpHKFEsRSk8PTA/XCIwMVwiOihJPUMuZ2V0RnVsbFllYXIoKTxBLnRtX3llYXIrMTkwMD9BLnRtX3lkYXkrMzItQy5nZXREYXRlKCk6QS50bV95ZGF5KzEtQy5nZXREYXRlKCksRihNYXRoLmNlaWwoSS83KSwyKSl9LFwiJXdcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fSxcIiVXXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyLDAsMSksZz0xPT09SS5nZXREYXkoKT9JOnBnKEksMD09PUkuZ2V0RGF5KCk/MTo3LUkuZ2V0RGF5KCkrMSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XCIwMVwiOlwiMDBcIn0sXCIleVwiOmZ1bmN0aW9uKEEpe3JldHVybihBLnRtX3llYXIrMTkwMCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFwiJVlcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV95ZWFyKzE5MDB9LFwiJXpcIjpmdW5jdGlvbihBKXt2YXIgST1BLnRtX2dtdG9mZixnPUk+PTA7cmV0dXJuIEk9KEk9TWF0aC5hYnMoSSkvNjApLzYwKjEwMCtJJTYwLChnP1wiK1wiOlwiLVwiKStTdHJpbmcoXCIwMDAwXCIrSSkuc2xpY2UoLTQpfSxcIiVaXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fem9uZX0sXCIlJVwiOmZ1bmN0aW9uKCl7cmV0dXJuXCIlXCJ9fTtmb3IodmFyIG8gaW4gUilFLmluZGV4T2Yobyk+PTAmJihFPUUucmVwbGFjZShuZXcgUmVnRXhwKG8sXCJnXCIpLFJbb10oUSkpKTt2YXIgVT1YZyhFLCExKTtyZXR1cm4gVS5sZW5ndGg+ST8wOihUKFUsQSksVS5sZW5ndGgtMSl9ZnVuY3Rpb24gYmcoQSxJLGcsQil7cmV0dXJuIFpnKEEsSSxnLEIpfWZ1bmN0aW9uIHhnKEEpe3ZhciBJPURhdGUubm93KCkvMWUzfDA7cmV0dXJuIEEmJihBQVtBPj4yXT1JKSxJfWlJLnN0YXRpY0luaXQoKSxySSgpLGZJPUEuQmluZGluZ0Vycm9yPWRJKEVycm9yLFwiQmluZGluZ0Vycm9yXCIpLHVJPUEuSW50ZXJuYWxFcnJvcj1kSShFcnJvcixcIkludGVybmFsRXJyb3JcIiksakkoKSxEZz1BLlVuYm91bmRUeXBlRXJyb3I9ZEkoRXJyb3IsXCJVbmJvdW5kVHlwZUVycm9yXCIpO3ZhciBtZz0hMTtmdW5jdGlvbiBYZyhBLEksZyl7dmFyIEI9Zz4wP2c6VyhBKSsxLEM9bmV3IEFycmF5KEIpLFE9bChBLEMsMCxDLmxlbmd0aCk7cmV0dXJuIEkmJihDLmxlbmd0aD1RKSxDfWZ1bmN0aW9uIFZnKEEpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLmxlbmd0aDtnKyspe3ZhciBCPUFbZ107Qj4yNTUmJihtZyYmSCghMSxcIkNoYXJhY3RlciBjb2RlIFwiK0IrXCIgKFwiK1N0cmluZy5mcm9tQ2hhckNvZGUoQikrXCIpICBhdCBvZmZzZXQgXCIrZytcIiBub3QgaW4gMHgwMC0weEZGLlwiKSxCJj0yNTUpLEkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX1yZXR1cm4gSS5qb2luKFwiXCIpfXZhciBPZz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBhdG9iP2F0b2I6ZnVuY3Rpb24oQSl7dmFyIEksZyxCLEMsUSxFLGk9XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwiLG89XCJcIixEPTA7QT1BLnJlcGxhY2UoL1teQS1aYS16MC05XFwrXFwvXFw9XS9nLFwiXCIpO2Rve0k9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpPDwyfChDPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSk+PjQsZz0oMTUmQyk8PDR8KFE9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+MixCPSgzJlEpPDw2fChFPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSksbys9U3RyaW5nLmZyb21DaGFyQ29kZShJKSw2NCE9PVEmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGcpKSw2NCE9PUUmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX13aGlsZShEPEEubGVuZ3RoKTtyZXR1cm4gb307ZnVuY3Rpb24gVGcoQSl7aWYoXCJib29sZWFuXCI9PXR5cGVvZiB3JiZ3KXt2YXIgSTt0cnl7ST1CdWZmZXIuZnJvbShBLFwiYmFzZTY0XCIpfWNhdGNoKGcpe0k9bmV3IEJ1ZmZlcihBLFwiYmFzZTY0XCIpfXJldHVybiBuZXcgVWludDhBcnJheShJLmJ1ZmZlcixJLmJ5dGVPZmZzZXQsSS5ieXRlTGVuZ3RoKX10cnl7Zm9yKHZhciBnPU9nKEEpLEI9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpLEM9MDtDPGcubGVuZ3RoOysrQylCW0NdPWcuY2hhckNvZGVBdChDKTtyZXR1cm4gQn1jYXRjaChBKXt0aHJvdyBuZXcgRXJyb3IoXCJDb252ZXJ0aW5nIGJhc2U2NCBzdHJpbmcgdG8gYnl0ZXMgZmFpbGVkLlwiKX19ZnVuY3Rpb24gamcoQSl7aWYoTEEoQSkpcmV0dXJuIFRnKEEuc2xpY2UoSEEubGVuZ3RoKSl9ZnVuY3Rpb24gUGcoQSxJKXt2YXIgZz10QigpO3RyeXtyZXR1cm4gU0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB2ZyhBLEksZyl7dmFyIEI9dEIoKTt0cnl7cmV0dXJuIE1CKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB6ZyhBLEksZyxCKXt2YXIgQz10QigpO3RyeXtyZXR1cm4gbkIoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gX2coQSxJKXt2YXIgZz10QigpO3RyeXtjQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uICRnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyQihBLEksZyl9Y2F0Y2goQSl7aWYoeUIoQiksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gQUIoQSxJLGcsQil7dmFyIEM9dEIoKTt0cnl7a0IoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gSUIoQSxJLGcsQixDKXt2YXIgUT10QigpO3RyeXtLQihBLEksZyxCLEMpfWNhdGNoKEEpe2lmKHlCKFEpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fXZhciBnQj17fSxCQj17JDp2QSxmOnpBLGU6JEEsQTpBSSxfOmdJLHo6REksWjphSSxZOndJLFg6R0ksbzpoSSx5OlJJLFc6eUksRDpTSSxWOm5JLFU6YkkseDp4SSxUOnpJLHc6QWcsajpGZyxrOmhnLGk6c2csdjpSZyxzOlVnLFM6eWcsX19tZW1vcnlfYmFzZToxMDI0LF9fdGFibGVfYmFzZTowLGE6dGcsUjptQSxROnhBLFA6YkEsTzpaQSxOOlhBLE06U2csSzpkZyxKOm5nLGI6Y2csbjpyZyx1OmtnLEk6S2csbTpOZyxsOllnLEg6TGcsZzpxZyxGOlpnLEU6YmcsdDp4ZyxjOkpBLGg6WSxxOlBnLEw6dmcsRzp6ZyxwOl9nLEM6JGcsQjpBQixyOklCLG1lbW9yeTpyLGQ6Tix0YWJsZTplfSxDQj1BLmFzbShnQixCQixQKTtBLmFzbT1DQjt2YXIgUUIsRUI9QS5fX0dMT0JBTF9fc3ViX0lfQVJUb29sS2l0SlNfY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saUI9QS5fX0dMT0JBTF9fc3ViX0lfYmluZF9jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvQj1BLl9fR0xPQkFMX19zdWJfSV9pb3N0cmVhbV9jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uY2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEQj1BLl9fWlN0MTh1bmNhdWdodF9leGNlcHRpb252PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYUI9KEEuX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5lYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuX19fZW1zY3JpcHRlbl9lbnZpcm9uX2NvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHdCPShBLl9fX2Vycm5vX2xvY2F0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19nZXRUeXBlTmFtZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5oYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxGQj1BLl9fZ2V0X2RheWxpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmlhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR0I9QS5fX2dldF90aW1lem9uZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5qYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhCPUEuX19nZXRfdHpuYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmthLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sc0I9QS5fZnJlZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5sYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJCPUEuX21hbGxvYz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5tYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFVCPUEuX3NldFRocmV3PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm5hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seUI9KEEuc3RhY2tBbGxvYz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5SYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuc3RhY2tSZXN0b3JlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHRCPUEuc3RhY2tTYXZlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sU0I9KEEuZHluQ2FsbF9kaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5vYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9kaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5xYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5yYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxNQj0oQS5keW5DYWxsX2lpZGlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uc2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLG5CPUEuZHluQ2FsbF9paWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sY0I9KEEuZHluQ2FsbF9paWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS52YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ud2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS56YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5BYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlqPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2ppamk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5FYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5GYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxyQj0oQS5keW5DYWxsX3ZpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5HYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLklhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLGtCPShBLmR5bkNhbGxfdmlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5KYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlmPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkthLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksS0I9QS5keW5DYWxsX3ZpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX07ZnVuY3Rpb24gTkIoQSl7dGhpcy5uYW1lPVwiRXhpdFN0YXR1c1wiLHRoaXMubWVzc2FnZT1cIlByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoXCIrQStcIilcIix0aGlzLnN0YXR1cz1BfWZ1bmN0aW9uIFlCKEkpe2Z1bmN0aW9uIGcoKXtRQnx8KFFCPSEwLEp8fChSQSgpLFVBKCksQS5vblJ1bnRpbWVJbml0aWFsaXplZCYmQS5vblJ1bnRpbWVJbml0aWFsaXplZCgpLHlBKCkpKX1JPUl8fEMsa0E+MHx8KHNBKCksa0E+MHx8KEEuc2V0U3RhdHVzPyhBLnNldFN0YXR1cyhcIlJ1bm5pbmcuLi5cIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe0Euc2V0U3RhdHVzKFwiXCIpfSksMSksZygpfSksMSkpOmcoKSkpfWZ1bmN0aW9uIGVCKEksZyl7ZyYmYyYmMD09PUl8fChjfHwoSj0hMCxBLm9uRXhpdCYmQS5vbkV4aXQoSSkpLEUoSSxuZXcgTkIoSSkpKX1pZihBLmR5bkNhbGxfdmlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk5hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uT2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpamlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5hc209Q0IsQS5GUz1pSSxBLnRoZW49ZnVuY3Rpb24oSSl7aWYoUUIpSShBKTtlbHNle3ZhciBnPUEub25SdW50aW1lSW5pdGlhbGl6ZWQ7QS5vblJ1bnRpbWVJbml0aWFsaXplZD1mdW5jdGlvbigpe2cmJmcoKSxJKEEpfX1yZXR1cm4gQX0sTkE9ZnVuY3Rpb24gQSgpe1FCfHxZQigpLFFCfHwoTkE9QSl9LEEucnVuPVlCLEEucHJlSW5pdClmb3IoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5wcmVJbml0JiYoQS5wcmVJbml0PVtBLnByZUluaXRdKTtBLnByZUluaXQubGVuZ3RoPjA7KUEucHJlSW5pdC5wb3AoKSgpO3JldHVybiBjPSEwLFlCKCksQX0pO2NvbnN0IEY9dyxHPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtGKHtvblJ1bnRpbWVJbml0aWFsaXplZDpmdW5jdGlvbigpe0Eoe2luc3RhbmNlOnRoaXN9KX19KX0pKX07dmFyIGg9Zyg2NjkpLHM9Zy5uKGgpLFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpfXZhciBnO3JldHVybiBFKEEsbnVsbCxbe2tleTpcImZldGNoUmVtb3RlRGF0YVwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5wcmV2PTAsQS5uZXh0PTMscygpLmdldChJLHtyZXNwb25zZVR5cGU6XCJhcnJheWJ1ZmZlclwifSk7Y2FzZSAzOnJldHVybiBnPUEuc2VudCxBLmFicnVwdChcInJldHVyblwiLG5ldyBVaW50OEFycmF5KGcuZGF0YSkpO2Nhc2UgNzp0aHJvdyBBLnByZXY9NyxBLnQwPUEuY2F0Y2goMCksQS50MDtjYXNlIDEwOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLG51bGwsW1swLDddXSl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5Olwic3RyaW5nMlVpbnQ4RGF0YVwiLHZhbHVlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST1uZXcgVWludDhBcnJheShBLmxlbmd0aCksZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ109MjU1JkEuY2hhckNvZGVBdChnKTtyZXR1cm4gSX19LHtrZXk6XCJ1aW50OERhdGEyU3RyaW5nXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLEEpfX0se2tleTpcInBhcnNlTXVsdGlGaWxlXCIsdmFsdWU6ZnVuY3Rpb24oSSl7dmFyIGc9QS51aW50OERhdGEyU3RyaW5nKEkpLnNwbGl0KFwiXFxuXCIpLEI9W10sQz0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lmKChBPUEudHJpbSgpKSYmIUEuc3RhcnRzV2l0aChcIiNcIikpc3dpdGNoKEMpe2Nhc2UgMDpyZXR1cm4gdm9pZChDPTEpO2Nhc2UgMTpBLm1hdGNoKC9eXFxkKyQvKXx8Qi5wdXNoKEEpO2Nhc2UgMjpjYXNlIDM6Y2FzZSA0OnJldHVybiB2b2lkIEMrKztjYXNlIDU6cmV0dXJuIHZvaWQoQz0xKX19KSksQn19XSksQX0oKSxVPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKSx0aGlzLmluc3RhbmNlLHRoaXMubWFya2VyQ291bnQ9MCx0aGlzLm11bHRpTWFya2VyQ291bnQ9MCx0aGlzLmNhbWVyYUNvdW50PTAsdGhpcy52ZXJzaW9uPVwiMC4xLjBcIixjb25zb2xlLmluZm8oXCJBUlRvb2xraXQgXCIsdGhpcy52ZXJzaW9uKX12YXIgQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XCJpbml0XCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLEcoKTtjYXNlIDI6cmV0dXJuIEk9QS5zZW50LHRoaXMuaW5zdGFuY2U9SS5pbnN0YW5jZSx0aGlzLl9kZWNvcmF0ZSgpLChcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpnLmcpLmFydG9vbGtpdD10aGlzLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcyk7Y2FzZSA4OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiX2RlY29yYXRlXCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQT10aGlzO2Zvcih2YXIgSSBpbltcInNldHVwXCIsXCJ0ZWFyZG93blwiLFwic2V0dXBBUjJcIixcInNldExvZ0xldmVsXCIsXCJnZXRMb2dMZXZlbFwiLFwic2V0RGVidWdNb2RlXCIsXCJnZXREZWJ1Z01vZGVcIixcImdldFByb2Nlc3NpbmdJbWFnZVwiLFwic2V0TWFya2VySW5mb0RpclwiLFwic2V0TWFya2VySW5mb1ZlcnRleFwiLFwiZ2V0VHJhbnNNYXRTcXVhcmVcIixcImdldFRyYW5zTWF0U3F1YXJlQ29udFwiLFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVwiLFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdFwiLFwiZ2V0TXVsdGlNYXJrZXJOdW1cIixcImdldE11bHRpTWFya2VyQ291bnRcIixcImRldGVjdE1hcmtlclwiLFwiZ2V0TWFya2VyTnVtXCIsXCJkZXRlY3RORlRNYXJrZXJcIixcImdldE5GVE1hcmtlclwiLFwiZ2V0TWFya2VyXCIsXCJnZXRNdWx0aUVhY2hNYXJrZXJcIixcInNldFByb2plY3Rpb25OZWFyUGxhbmVcIixcImdldFByb2plY3Rpb25OZWFyUGxhbmVcIixcInNldFByb2plY3Rpb25GYXJQbGFuZVwiLFwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXCIsXCJzZXRUaHJlc2hvbGRNb2RlXCIsXCJnZXRUaHJlc2hvbGRNb2RlXCIsXCJzZXRUaHJlc2hvbGRcIixcImdldFRocmVzaG9sZFwiLFwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIixcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsXCJzZXRNYXRyaXhDb2RlVHlwZVwiLFwiZ2V0TWF0cml4Q29kZVR5cGVcIixcInNldExhYmVsaW5nTW9kZVwiLFwiZ2V0TGFiZWxpbmdNb2RlXCIsXCJzZXRQYXR0UmF0aW9cIixcImdldFBhdHRSYXRpb1wiLFwic2V0SW1hZ2VQcm9jTW9kZVwiLFwiZ2V0SW1hZ2VQcm9jTW9kZVwiXS5mb3JFYWNoKChmdW5jdGlvbihJKXtBW0ldPUEuaW5zdGFuY2VbSV19KSksdGhpcy5pbnN0YW5jZSlJLm1hdGNoKC9eQVIvKSYmKHRoaXNbSV09dGhpcy5pbnN0YW5jZVtJXSl9fSx7a2V5OlwibG9hZENhbWVyYVwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQjtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKGc9XCIvY2FtZXJhX3BhcmFtX1wiK3RoaXMuY2FtZXJhQ291bnQrKywhKEkgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl7QS5uZXh0PTU7YnJlYWt9Qj1JLEEubmV4dD0xNDticmVhaztjYXNlIDU6cmV0dXJuIEEucHJldj01LEEubmV4dD04LFIuZmV0Y2hSZW1vdGVEYXRhKEkpO2Nhc2UgODpCPUEuc2VudCxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0aHJvdyBBLnByZXY9MTEsQS50MD1BLmNhdGNoKDUpLEEudDA7Y2FzZSAxNDpyZXR1cm4gdGhpcy5fc3RvcmVEYXRhRmlsZShCLGcpLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fbG9hZENhbWVyYShnKSk7Y2FzZSAxNjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJhZGRNYXJrZXJcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEksZyl7dmFyIEIsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKEI9XCIvbWFya2VyX1wiK3RoaXMubWFya2VyQ291bnQrKywtMT09PWcuaW5kZXhPZihcIlxcblwiKSl7QS5uZXh0PTU7YnJlYWt9Qz1SLnN0cmluZzJVaW50OERhdGEoZyksQS5uZXh0PTE0O2JyZWFrO2Nhc2UgNTpyZXR1cm4gQS5wcmV2PTUsQS5uZXh0PTgsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSA4OkM9QS5zZW50LEEubmV4dD0xNDticmVhaztjYXNlIDExOnRocm93IEEucHJldj0xMSxBLnQwPUEuY2F0Y2goNSksQS50MDtjYXNlIDE0OnJldHVybiB0aGlzLl9zdG9yZURhdGFGaWxlKEMsQiksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9hZGRNYXJrZXIoSSxCKSk7Y2FzZSAxNjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE11bHRpTWFya2VyXCIsdmFsdWU6KFE9SShvKCkubWFyaygoZnVuY3Rpb24gQShnLEIpe3ZhciBDLFEsRSxpLEQsYSx3O3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEM9XCIvbXVsdGlfbWFya2VyX1wiK3RoaXMubXVsdGlNYXJrZXJDb3VudCsrLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKEIpO2Nhc2UgMzpyZXR1cm4gUT1BLnNlbnQsRT1SLnBhcnNlTXVsdGlGaWxlKFEpLGk9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1uZXcgVVJMKEksQikudG9TdHJpbmcoKSxBLm5leHQ9MyxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDM6Qz1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShDLEkpO2Nhc2UgNTpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCksRD1FLm1hcChpLHRoaXMpLEEubmV4dD05LFByb21pc2UuYWxsKEQpO2Nhc2UgOTpyZXR1cm4gYT10aGlzLmluc3RhbmNlLl9hZGRNdWx0aU1hcmtlcihnLEMpLHc9dGhpcy5pbnN0YW5jZS5nZXRNdWx0aU1hcmtlck51bShnLGEpLEEuYWJydXB0KFwicmV0dXJuXCIsW2Esd10pO2Nhc2UgMTI6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJhZGRORlRNYXJrZXJcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cIi9tYXJrZXJORlRfXCIrdGhpcy5tYXJrZXJDb3VudCsrLFE9W1wiZnNldFwiLFwiaXNldFwiLFwiZnNldDNcIl0sRT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsUSxFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIGc9QitcIi5cIitJLFE9QytcIi5cIitJLEEubmV4dD00LFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgNDpFPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEUsUSk7Y2FzZSA2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxpPVEubWFwKEUsdGhpcyksQS5uZXh0PTYsUHJvbWlzZS5hbGwoaSk7Y2FzZSA2OnJldHVybiBBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2FkZE5GVE1hcmtlcihnLEMpKTtjYXNlIDc6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfc3RvcmVEYXRhRmlsZVwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5pbnN0YW5jZS5GUy53cml0ZUZpbGUoSSxBLHtlbmNvZGluZzpcImJpbmFyeVwifSl9fV0sW3trZXk6XCJVTktOT1dOX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybi0xfX0se2tleTpcIlBBVFRFUk5fTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7a2V5OlwiQkFSQ09ERV9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMX19LHtrZXk6XCJORlRfTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDJ9fV0pLEF9KCk7ZnVuY3Rpb24geShBLEksZyl7cmV0dXJuIEkgaW4gQT9PYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLHt2YWx1ZTpnLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6QVtJXT1nLEF9ZnVuY3Rpb24gdChBLEkpe3ZhciBnPU9iamVjdC5rZXlzKEEpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7SSYmKEI9Qi5maWx0ZXIoKGZ1bmN0aW9uKEkpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsSSkuZW51bWVyYWJsZX0pKSksZy5wdXNoLmFwcGx5KGcsQil9cmV0dXJuIGd9ZnVuY3Rpb24gUyhBKXtmb3IodmFyIEk9MTtJPGFyZ3VtZW50cy5sZW5ndGg7SSsrKXt2YXIgZz1udWxsIT1hcmd1bWVudHNbSV0/YXJndW1lbnRzW0ldOnt9O0klMj90KE9iamVjdChnKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7eShBLEksZ1tJXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhnKSk6dChPYmplY3QoZykpLmZvckVhY2goKGZ1bmN0aW9uKEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnLEkpKX0pKX1yZXR1cm4gQX12YXIgTT1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoSSxnLEIsUSl7Qyh0aGlzLEEpLHRoaXMub3B0aW9ucz1TKFMoe30se2NhbnZhczpudWxsLG9yaWVudGF0aW9uOlwibGFuZHNjYXBlXCJ9KSxRKSx0aGlzLmlkPS0xLHRoaXMud2lkdGg9SSx0aGlzLmhlaWdodD1nLHRoaXMuaW1hZ2UsdGhpcy5vcmllbnRhdGlvbj10aGlzLm9wdGlvbnMub3JpZW50YXRpb24sdGhpcy5jYW1lcmFQYXJhbT1CLHRoaXMuY2FtZXJhSWQ9LTEsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5hcnRvb2xraXQsdGhpcy5saXN0ZW5lcnM9e30sdGhpcy5kZWZhdWx0TWFya2VyV2lkdGg9MSx0aGlzLnBhdHRlcm5NYXJrZXJzPXt9LHRoaXMuYmFyY29kZU1hcmtlcnM9e30sdGhpcy5uZnRNYXJrZXJzPXt9LHRoaXMudHJhbnNmb3JtX21hdD1uZXcgRmxvYXQzMkFycmF5KDE2KSx0aGlzLnRyYW5zZm9ybUdMX1JIPW5ldyBGbG9hdDY0QXJyYXkoMTYpLHRoaXMudmlkZW9XaWR0aD1JLHRoaXMudmlkZW9IZWlnaHQ9Zyx0aGlzLnZpZGVvU2l6ZT10aGlzLnZpZGVvV2lkdGgqdGhpcy52aWRlb0hlaWdodCx0aGlzLmZyYW1lcG9pbnRlcj1udWxsLHRoaXMuZnJhbWVzaXplPW51bGwsdGhpcy5kYXRhSGVhcD1udWxsLHRoaXMudmlkZW9MdW1hPW51bGwsdGhpcy5jYW1lcmFfbWF0PW51bGwsdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdD1udWxsLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1udWxsLHRoaXMub3B0aW9ucy5jYW52YXM/dGhpcy5jYW52YXM9dGhpcy5vcHRpb25zLmNhbnZhczpcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJih0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpKSx0aGlzLmNhbnZhcz8odGhpcy5jYW52YXMud2lkdGg9SSx0aGlzLmNhbnZhcy5oZWlnaHQ9Zyx0aGlzLmN0eD10aGlzLmNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIikpOmNvbnNvbGUud2FybihcIk5vIGNhbnZhcyBhdmFpbGFibGVcIiksdGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT0hMSx0aGlzLm5mdE1hcmtlckNvdW50PTAsdGhpcy5fYndwb2ludGVyPSExfXZhciBnLEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlwiZGlzcG9zZVwiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBIGluIHRoaXMuY2FtZXJhSWQ9LTEsdGhpcy5jYW1lcmFQYXJhbT1cIlwiLHRoaXMuY2FtZXJhTG9hZGVkPSExLHRoaXMuaWQ+LTEmJnRoaXMuYXJ0b29sa2l0LnRlYXJkb3duKHRoaXMuaWQpLHRoaXMuaW1hZ2UmJnRoaXMuaW1hZ2Uuc3JjT2JqZWN0LHRoaXMpdGhpc1tBXT1udWxsfX0se2tleTpcInByb2Nlc3NcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmRldGVjdE1hcmtlcihBKTswIT1JJiZjb25zb2xlLmVycm9yKFwiW0FSQ29udHJvbGxlcl1cIixcImRldGVjdE1hcmtlciBlcnJvcjpcIixJKTt2YXIgZyxCLEM9dGhpcy5nZXRNYXJrZXJOdW0oKTtmb3IoZyBpbiB0aGlzLnBhdHRlcm5NYXJrZXJzKShCPXRoaXMucGF0dGVybk1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5iYXJjb2RlTWFya2VycykoQj10aGlzLmJhcmNvZGVNYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2ZvcihnIGluIHRoaXMubmZ0TWFya2VycykoQj10aGlzLm5mdE1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKHZhciBRPTA7UTxDO1ErKyl7dmFyIEU9dGhpcy5nZXRNYXJrZXIoUSksaT1VLlVOS05PV05fTUFSS0VSLG89dGhpcy50cmFja1BhdHRlcm5NYXJrZXJJZCgtMSk7RS5pZFBhdHQ+LTEmJihFLmlkPT09RS5pZFBhdHR8fC0xPT09RS5pZE1hdHJpeCk/KG89dGhpcy50cmFja1BhdHRlcm5NYXJrZXJJZChFLmlkUGF0dCksaT1VLlBBVFRFUk5fTUFSS0VSLEUuZGlyIT09RS5kaXJQYXR0JiZ0aGlzLnNldE1hcmtlckluZm9EaXIoUSxFLmRpclBhdHQpKTpFLmlkTWF0cml4Pi0xJiYobz10aGlzLnRyYWNrQmFyY29kZU1hcmtlcklkKEUuaWRNYXRyaXgpLGk9VS5CQVJDT0RFX01BUktFUixFLmRpciE9PUUuZGlyTWF0cml4JiZ0aGlzLnNldE1hcmtlckluZm9EaXIoUSxFLmRpck1hdHJpeCkpLGkhPT1VLlVOS05PV05fTUFSS0VSJiZvLmluUHJldmlvdXM/dGhpcy5nZXRUcmFuc01hdFNxdWFyZUNvbnQoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4LG8ubWF0cml4KTp0aGlzLmdldFRyYW5zTWF0U3F1YXJlKFEsby5tYXJrZXJXaWR0aCxvLm1hdHJpeCksby5pbkN1cnJlbnQ9ITAsdGhpcy50cmFuc01hdFRvR0xNYXQoby5tYXRyaXgsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDpRLHR5cGU6aSxtYXJrZXI6RSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9dmFyIEQ9dGhpcy5uZnRNYXJrZXJDb3VudDt0aGlzLmRldGVjdE5GVE1hcmtlcigpO2Zvcih2YXIgYT0wO2E8RDthKyspe3ZhciB3PXRoaXMuZ2V0TkZUTWFya2VyKGEpLEY9VS5ORlRfTUFSS0VSO2lmKHcuZm91bmQpe3RoaXMubmZ0TWFya2VyRm91bmQ9YSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT1EYXRlLm5vdygpO3ZhciBHPXRoaXMudHJhY2tORlRNYXJrZXJJZChhKTtHLm1hdHJpeC5zZXQody5wb3NlKSxHLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChHLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE5GVE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OmEsdHlwZTpGLG1hcmtlcjp3LG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX1lbHNlIHNlbGYubmZ0TWFya2VyRm91bmQ9PT1hJiZEYXRlLm5vdygpLXRoaXMubmZ0TWFya2VyRm91bmRUaW1lPjIwMCYmKHRoaXMubmZ0TWFya2VyRm91bmQ9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwibG9zdE5GVE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OmEsdHlwZTpGLG1hcmtlcjp3LG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KSl9Zm9yKHZhciBoPXRoaXMuZ2V0TXVsdGlNYXJrZXJDb3VudCgpLHM9MDtzPGg7cysrKXt2YXIgUj10aGlzLmdldE11bHRpTWFya2VyUGF0dGVybkNvdW50KHMpLHk9ITE7dGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdCh0aGlzLmlkLHMpLHRoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KTtmb3IodmFyIHQ9MDt0PFI7dCsrKWlmKChNPXRoaXMuZ2V0TXVsdGlFYWNoTWFya2VyKHMsdCkpLnZpc2libGU+PTApe3k9ITAsdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TXVsdGlNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pO2JyZWFrfWlmKHkpZm9yKHZhciBTPTA7UzxSO1MrKyl7dmFyIE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyxTKTt0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TXVsdGlNYXJrZXJTdWJcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWFya2VySW5kZXg6UyxtYXJrZXI6TSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9fXRoaXMuX2J3cG9pbnRlciYmdGhpcy5kZWJ1Z0RyYXcoKX19LHtrZXk6XCJkZXRlY3RORlRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LmRldGVjdE5GVE1hcmtlcih0aGlzLmlkKX19LHtrZXk6XCJ0cmFja1BhdHRlcm5NYXJrZXJJZFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5wYXR0ZXJuTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMucGF0dGVybk1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJ0cmFja0JhcmNvZGVNYXJrZXJJZFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5iYXJjb2RlTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMuYmFyY29kZU1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJ0cmFja05GVE1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLm5mdE1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLm5mdE1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJnZXRNdWx0aU1hcmtlckNvdW50XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJDb3VudCh0aGlzLmlkKX19LHtrZXk6XCJnZXRNdWx0aU1hcmtlclBhdHRlcm5Db3VudFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlck51bSh0aGlzLmlkLEEpfX0se2tleTpcImFkZEV2ZW50TGlzdGVuZXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3RoaXMubGlzdGVuZXJzW0FdfHwodGhpcy5saXN0ZW5lcnNbQV09W10pLHRoaXMubGlzdGVuZXJzW0FdLnB1c2goSSl9fSx7a2V5OlwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYodGhpcy5saXN0ZW5lcnNbQV0pe3ZhciBnPXRoaXMubGlzdGVuZXJzW0FdLmluZGV4T2YoSSk7Zz4tMSYmdGhpcy5saXN0ZW5lcnNbQV0uc3BsaWNlKGcsMSl9fX0se2tleTpcImRpc3BhdGNoRXZlbnRcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmxpc3RlbmVyc1tBLm5hbWVdO2lmKEkpZm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXS5jYWxsKHRoaXMsQSl9fSx7a2V5OlwiZGVidWdTZXR1cFwiLHZhbHVlOmZ1bmN0aW9uKCl7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50Pyhkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSx0aGlzLnNldERlYnVnTW9kZSghMCksdGhpcy5fYndwb2ludGVyPXRoaXMuZ2V0UHJvY2Vzc2luZ0ltYWdlKCkpOmNvbnNvbGUubG9nKFwiZGVidWdTZXR1cCgpIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIEJyb3dzZXIgZW52aXJvbm1lbnRzXCIpfX0se2tleTpcImRlYnVnRHJhd1wiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBPW5ldyBVaW50OENsYW1wZWRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuX2J3cG9pbnRlcix0aGlzLmZyYW1lc2l6ZSksST1uZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheSh0aGlzLmNhbnZhcy53aWR0aCp0aGlzLmNhbnZhcy5oZWlnaHQqNCksdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSxnPTAsQj0wO2c8QS5sZW5ndGg7ZysrLEIrPTQpe3ZhciBDPUFbZ107SS5kYXRhW0IrMF09QyxJLmRhdGFbQisxXT1DLEkuZGF0YVtCKzJdPUMsSS5kYXRhW0IrM109MjU1fXRoaXMuY3R4LnB1dEltYWdlRGF0YShJLDAsMCk7Zm9yKHZhciBRPXRoaXMuZ2V0TWFya2VyTnVtKCksRT0wO0U8UTtFKyspdGhpcy5kcmF3RGVidWdNYXJrZXIodGhpcy5nZXRNYXJrZXIoRSkpfX0se2tleTpcImRyYXdEZWJ1Z01hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPUEudmVydGV4LGc9QS5wb3MsQj10aGlzLmN0eDtCLmxpbmVXaWR0aD01LEIuc3Ryb2tlU3R5bGU9XCJyZWRcIixCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMF1bMF0sSVswXVsxXSksQi5saW5lVG8oSVsxXVswXSxJWzFdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVsyXVswXSxJWzJdWzFdKSxCLmxpbmVUbyhJWzNdWzBdLElbM11bMV0pLEIuc3Ryb2tlKCksQi5zdHJva2VTdHlsZT1cImdyZWVuXCIsQi5iZWdpblBhdGgoKSxCLmxpbmVUbyhJWzFdWzBdLElbMV1bMV0pLEIubGluZVRvKElbMl1bMF0sSVsyXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbM11bMF0sSVszXVsxXSksQi5saW5lVG8oSVswXVswXSxJWzBdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5hcmMoZ1swXSxnWzFdLDgsMCwyKk1hdGguUEkpLEIuZmlsbFN0eWxlPVwicmVkXCIsQi5maWxsKCl9fSx7a2V5OlwibG9hZE1hcmtlclwiLHZhbHVlOihhPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcInJldHVyblwiLEEuc2VudCk7Y2FzZSAzOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImxvYWRNdWx0aU1hcmtlclwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTXVsdGlNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwibG9hZE5GVE1hcmtlclwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTkZUTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBnPUEuc2VudCx0aGlzLm5mdE1hcmtlckNvdW50PWcrMSxBLmFicnVwdChcInJldHVyblwiLGcpO2Nhc2UgNTpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJnZXRUcmFuc01hdFNxdWFyZVwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmUodGhpcy5pZCxBLEkpLGcuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLGd9fSx7a2V5OlwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQuc2V0KGcpLHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0U3F1YXJlQ29udCh0aGlzLmlkLEEsSSksQi5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksQn19LHtrZXk6XCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmUodGhpcy5pZCxBKSxJLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxJfX0se2tleTpcInRyYW5zTWF0VG9HTE1hdFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gbnVsbD09SSYmKEk9bmV3IEZsb2F0NjRBcnJheSgxNikpLElbMF09QVswXSxJWzRdPUFbMV0sSVs4XT1BWzJdLElbMTJdPUFbM10sSVsxXT1BWzRdLElbNV09QVs1XSxJWzldPUFbNl0sSVsxM109QVs3XSxJWzJdPUFbOF0sSVs2XT1BWzldLElbMTBdPUFbMTBdLElbMTRdPUFbMTFdLElbM109MCxJWzddPTAsSVsxMV09MCxJWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoSVsxMl0qPWcsSVsxM10qPWcsSVsxNF0qPWcpLEl9fSx7a2V5OlwiYXJnbENhbWVyYVZpZXdSSGZcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7cmV0dXJuKEI9bnVsbD09ST9uZXcgRmxvYXQ2NEFycmF5KDE2KTpJKVswXT1BWzBdLEJbNF09QVs0XSxCWzhdPUFbOF0sQlsxMl09QVsxMl0sQlsxXT0tQVsxXSxCWzVdPS1BWzVdLEJbOV09LUFbOV0sQlsxM109LUFbMTNdLEJbMl09LUFbMl0sQls2XT0tQVs2XSxCWzEwXT0tQVsxMF0sQlsxNF09LUFbMTRdLEJbM109MCxCWzddPTAsQlsxMV09MCxCWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoQlsxMl0qPWcsQlsxM10qPWcsQlsxNF0qPWcpLEJ9fSx7a2V5OlwiZGV0ZWN0TWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2NvcHlJbWFnZVRvSGVhcChBKT90aGlzLmFydG9vbGtpdC5kZXRlY3RNYXJrZXIodGhpcy5pZCk6LTk5fX0se2tleTpcImdldE1hcmtlck51bVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE1hcmtlck51bSh0aGlzLmlkKX19LHtrZXk6XCJnZXRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm1hcmtlckluZm99fSx7a2V5OlwiZ2V0TkZUTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE5GVE1hcmtlcih0aGlzLmlkLEEpKXJldHVybiB0aGlzLmFydG9vbGtpdC5ORlRNYXJrZXJJbmZvfX0se2tleTpcInNldE1hcmtlckluZm9WZXJ0ZXhcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKXRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXRbMipnKzBdPUlbZ11bMF0sdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMV09SVtnXVsxXTtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWFya2VySW5mb1ZlcnRleCh0aGlzLmlkLEEpfX0se2tleTpcImNsb25lTWFya2VySW5mb1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEEpKX19LHtrZXk6XCJnZXRNdWx0aUVhY2hNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNdWx0aUVhY2hNYXJrZXIodGhpcy5pZCxBLEkpKXJldHVybiB0aGlzLmFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfX0se2tleTpcImdldFRyYW5zZm9ybWF0aW9uTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm1fbWF0fX0se2tleTpcImdldENhbWVyYU1hdHJpeFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FtZXJhX21hdH19LHtrZXk6XCJnZXRNYXJrZXJUcmFuc2Zvcm1hdGlvbk1hdHJpeFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXR9fSx7a2V5Olwic2V0RGVidWdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldERlYnVnTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldERlYnVnTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldERlYnVnTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJnZXRQcm9jZXNzaW5nSW1hZ2VcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9jZXNzaW5nSW1hZ2UodGhpcy5pZCl9fSx7a2V5Olwic2V0TG9nTGV2ZWxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TG9nTGV2ZWwoQSl9fSx7a2V5OlwiZ2V0TG9nTGV2ZWxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMb2dMZXZlbCgpfX0se2tleTpcInNldE1hcmtlckluZm9EaXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvRGlyKHRoaXMuaWQsQSxJKX19LHtrZXk6XCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFByb2plY3Rpb25OZWFyUGxhbmUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRQcm9qZWN0aW9uRmFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbkZhclBsYW5lKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbkZhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcInNldFRocmVzaG9sZE1vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFRocmVzaG9sZE1vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQpfX0se2tleTpcInNldFRocmVzaG9sZFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGQodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRUaHJlc2hvbGRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGQodGhpcy5pZCl9fSx7a2V5Olwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKHRoaXMuaWQpfX0se2tleTpcInNldE1hdHJpeENvZGVUeXBlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0TWF0cml4Q29kZVR5cGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNYXRyaXhDb2RlVHlwZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRMYWJlbGluZ01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0TGFiZWxpbmdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQpfX0se2tleTpcInNldFBhdHRSYXRpb1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0UmF0aW8odGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQYXR0UmF0aW9cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQYXR0UmF0aW8odGhpcy5pZCl9fSx7a2V5Olwic2V0SW1hZ2VQcm9jTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0SW1hZ2VQcm9jTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldEltYWdlUHJvY01vZGUodGhpcy5pZCl9fSx7a2V5OlwiX2luaXRpYWxpemVcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEksZz10aGlzO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLChuZXcgVSkuaW5pdCgpO2Nhc2UgMjpyZXR1cm4gdGhpcy5hcnRvb2xraXQ9QS5zZW50LGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkFSVG9vbGtpdCBpbml0aWFsaXplZFwiKSxBLm5leHQ9Nix0aGlzLmFydG9vbGtpdC5sb2FkQ2FtZXJhKHRoaXMuY2FtZXJhUGFyYW0pO2Nhc2UgNjpyZXR1cm4gdGhpcy5jYW1lcmFJZD1BLnNlbnQsY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiQ2FtZXJhIHBhcmFtcyBsb2FkZWQgd2l0aCBJRFwiLHRoaXMuY2FtZXJhSWQpLHRoaXMuaWQ9dGhpcy5hcnRvb2xraXQuc2V0dXAodGhpcy53aWR0aCx0aGlzLmhlaWdodCx0aGlzLmNhbWVyYUlkKSxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJHb3QgSUQgZnJvbSBzZXR1cFwiLHRoaXMuaWQpLHRoaXMuX2luaXRORlQoKSxJPWFydG9vbGtpdC5mcmFtZU1hbGxvYyx0aGlzLmZyYW1lcG9pbnRlcj1JLmZyYW1lcG9pbnRlcix0aGlzLmZyYW1lc2l6ZT1JLmZyYW1lc2l6ZSx0aGlzLnZpZGVvTHVtYVBvaW50ZXI9SS52aWRlb0x1bWFQb2ludGVyLHRoaXMuZGF0YUhlYXA9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLmZyYW1lcG9pbnRlcix0aGlzLmZyYW1lc2l6ZSksdGhpcy52aWRlb0x1bWE9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5mcmFtZXNpemUvNCksdGhpcy5jYW1lcmFfbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLmNhbWVyYSwxNiksdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdD1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsSS50cmFuc2Zvcm0sMTIpLHRoaXMuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSguMSksdGhpcy5zZXRQcm9qZWN0aW9uRmFyUGxhbmUoMWUzKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2cuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImxvYWRcIix0YXJnZXQ6Z30pfSksMSksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzKTtjYXNlIDIzOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBRLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiX2luaXRORlRcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LnNldHVwQVIyKHRoaXMuaWQpfX0se2tleTpcIl9jb3B5SW1hZ2VUb0hlYXBcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgSTtpZihBfHwoQT10aGlzLmltYWdlKSxBLmRhdGE/ST1BLmRhdGE6KHRoaXMuY3R4LnNhdmUoKSxcInBvcnRyYWl0XCI9PT10aGlzLm9yaWVudGF0aW9uP3RoaXMuY3R4LmRyYXdJbWFnZShBLDAsMCx0aGlzLmNhbnZhcy5oZWlnaHQsdGhpcy5jYW52YXMud2lkdGgpOnRoaXMuY3R4LmRyYXdJbWFnZShBLDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMuY3R4LnJlc3RvcmUoKSxJPXRoaXMuY3R4LmdldEltYWdlRGF0YSgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KS5kYXRhKSx0aGlzLnZpZGVvTHVtYSlmb3IodmFyIGc9MCxCPTA7Qjx0aGlzLnZpZGVvU2l6ZTtCKyspe3ZhciBDPUlbZyswXSxRPUlbZysxXSxFPUlbZysyXTt0aGlzLnZpZGVvTHVtYVtCXT1DK0MrQytFK1ErUStRK1E+PjMsZys9NH1yZXR1cm4hIXRoaXMuZGF0YUhlYXAmJih0aGlzLmRhdGFIZWFwLnNldChJKSwhMCl9fV0sW3trZXk6XCJpbml0V2l0aERpbWVuc2lvbnNcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBJKGcsQixDLFEpe3ZhciBFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIEU9bmV3IEEoZyxCLEMsUSksSS5uZXh0PTMsRS5faW5pdGlhbGl6ZSgpO2Nhc2UgMzpyZXR1cm4gSS5hYnJ1cHQoXCJyZXR1cm5cIixJLnNlbnQpO2Nhc2UgNDpjYXNlXCJlbmRcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxnLEMpe3JldHVybiBCLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiaW5pdFdpdGhJbWFnZVwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMpe3ZhciBRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEkpe2Zvcig7Oylzd2l0Y2goSS5wcmV2PUkubmV4dCl7Y2FzZSAwOnJldHVybiBRPWcudmlkZW9XaWR0aHx8Zy53aWR0aCxFPWcudmlkZW9IZWlnaHR8fGcuaGVpZ2h0LEkubmV4dD00LEEuaW5pdFdpdGhEaW1lbnNpb25zKFEsRSxCLEMpO2Nhc2UgNDpyZXR1cm4oaT1JLnNlbnQpLmltYWdlPWcsSS5hYnJ1cHQoXCJyZXR1cm5cIixpKTtjYXNlIDc6Y2FzZVwiZW5kXCI6cmV0dXJuIEkuc3RvcCgpfX0pLEkpfSkpKSxmdW5jdGlvbihBLEksQil7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9XSksQX0oKTtjb25zdCBuPXtBUlRvb2xraXQ6VSxBUkNvbnRyb2xsZXI6TX19KSgpLEIuZGVmYXVsdH0pKCl9KSk7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMnO1xuaW1wb3J0IEFyTXVsdGlNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5cbmNvbnN0IE1hcmtlcnNBcmVhQ29udHJvbHMgPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHRpZiggYXJndW1lbnRzLmxlbmd0aCA+IDMgKVx0Y29uc29sZS5hc3NlcnQoJ3dyb25nIGFwaSBmb3InLCBNYXJrZXJzQXJlYUNvbnRyb2xzKVxuXG5cdC8vIGhhdmUgYSBwYXJhbWV0ZXJzIGluIGFyZ3VtZW50XG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBsaXN0IG9mIGNvbnRyb2xzIGZvciBlYWNoIHN1Yk1hcmtlclxuXHRcdHN1Yk1hcmtlcnNDb250cm9sczogcGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMsXG5cdFx0Ly8gbGlzdCBvZiBwb3NlIGZvciBlYWNoIHN1Yk1hcmtlciByZWxhdGl2ZSB0byB0aGUgb3JpZ2luXG5cdFx0c3ViTWFya2VyUG9zZXM6IHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMsXG5cdFx0Ly8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuXHRcdGNoYW5nZU1hdHJpeE1vZGUgOiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgIT09IHVuZGVmaW5lZCA/IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHR9XG5cdFxuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHQvLyBob25vciBvYnNvbGV0ZSBzdHVmZiAtIGFkZCBhIHdhcm5pbmcgdG8gdXNlXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9sc1xuXHR0aGlzLnN1Yk1hcmtlclBvc2VzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzXG5cblx0Ly8gbGlzdGVuIHRvIGFyVG9vbGtpdENvbnRleHQgZXZlbnQgJ3NvdXJjZVByb2Nlc3NlZCdcblx0Ly8gLSBhZnRlciB3ZSBmdWxseSBwcm9jZXNzZWQgb25lIGltYWdlLCBha2Egd2hlbiB3ZSBrbm93IGFsbCBkZXRlY3RlZCBwb3NlcyBpbiBpdFxuXHRhclRvb2xraXRDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ3NvdXJjZVByb2Nlc3NlZCcsIGZ1bmN0aW9uKCl7XG5cdFx0X3RoaXMuX29uU291cmNlUHJvY2Vzc2VkKClcblx0fSlcbn1cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2Vyc0FyZWFDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBpbWFnZSBzb3VyY2UgaXMgZnVsbHkgcHJvY2Vzc2VkXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLl9vblNvdXJjZVByb2Nlc3NlZCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50OiAwLFxuXHRcdHBvc2l0aW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0fSxcblx0XHRxdWF0ZXJuaW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdH0sXG5cdFx0c2NhbGUgOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHR9XG5cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IF90aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLm9iamVjdDNkLnF1YXRlcm5pb25cblxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHRcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdC8vIGlmIHRoaXMgbWFya2VyIGlzIG5vdCB2aXNpYmxlLCBpZ25vcmUgaXRcblx0XHRpZiggbWFya2VyT2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHQvLyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggb2YgdGhpcy5vYmplY3QzZCBhY2NvcmRpbmcgdG8gdGhpcyBzdWItbWFya2Vyc1xuXHRcdHZhciBtYXRyaXggPSBtYXJrZXJPYmplY3QzZC5tYXRyaXguY2xvbmUoKVxuXHRcdHZhciBtYXJrZXJQb3NlID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlc1ttYXJrZXJJbmRleF1cblx0XHRtYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG1hcmtlclBvc2UpKVxuXG5cdFx0Ly8gZGVjb21wb3NlIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHRcdHZhciBzY2FsZSA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0bWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblxuXHQvLyBob25vciBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHR9ZWxzZXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0fVxuXG5cdC8vIGlmIGF0IGxlYXN0IG9uZSBzdWItbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkLCBtYWtlIHRoZSBhdmVyYWdlIG9mIGFsbCBkZXRlY3RlZCBtYXJrZXJzXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHQvLyBjb21wdXRlIG1vZGVsVmlld01hdHJpeFxuXHRcdHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG5cdFx0bW9kZWxWaWV3TWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdFx0Ly8gY2hhbmdlIF90aGlzLm9iamVjdDNkLm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0XHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmdldEludmVyc2UoIG1vZGVsVmlld01hdHJpeCApXG5cdFx0fWVsc2Uge1xuXHRcdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdFx0fVxuXG5cdFx0Ly8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5kZWNvbXBvc2UoX3RoaXMub2JqZWN0M2QucG9zaXRpb24sIF90aGlzLm9iamVjdDNkLnF1YXRlcm5pb24sIF90aGlzLm9iamVjdDNkLnNjYWxlKVxuXHR9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24gPSBmdW5jdGlvbihxdWF0ZXJuaW9uU3VtLCBuZXdRdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIGNvdW50LCBxdWF0ZXJuaW9uQXZlcmFnZSl7XG5cdHF1YXRlcm5pb25BdmVyYWdlID0gcXVhdGVybmlvbkF2ZXJhZ2UgfHwgbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHQvLyBzYW5pdHkgY2hlY2tcblx0Y29uc29sZS5hc3NlcnQoZmlyc3RRdWF0ZXJuaW9uIGluc3RhbmNlb2YgVEhSRUUuUXVhdGVybmlvbiA9PT0gdHJ1ZSlcblx0XG5cdC8vIGZyb20gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRpZiggbmV3UXVhdGVybmlvbi5kb3QoZmlyc3RRdWF0ZXJuaW9uKSA+IDAgKXtcblx0XHRuZXdRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oLW5ld1F1YXRlcm5pb24ueCwgLW5ld1F1YXRlcm5pb24ueSwgLW5ld1F1YXRlcm5pb24ueiwgLW5ld1F1YXRlcm5pb24udylcblx0fVxuXG5cdHF1YXRlcm5pb25TdW0ueCArPSBuZXdRdWF0ZXJuaW9uLnhcblx0cXVhdGVybmlvblN1bS55ICs9IG5ld1F1YXRlcm5pb24ueVxuXHRxdWF0ZXJuaW9uU3VtLnogKz0gbmV3UXVhdGVybmlvbi56XG5cdHF1YXRlcm5pb25TdW0udyArPSBuZXdRdWF0ZXJuaW9uLndcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLnggPSBxdWF0ZXJuaW9uU3VtLngvY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueSA9IHF1YXRlcm5pb25TdW0ueS9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS56ID0gcXVhdGVybmlvblN1bS56L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLncgPSBxdWF0ZXJuaW9uU3VtLncvY291bnRcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLm5vcm1hbGl6ZSgpXG5cblx0cmV0dXJuIHF1YXRlcm5pb25BdmVyYWdlXG59XG5cblxuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyA9IGZ1bmN0aW9uKHZlY3RvcjNTdW0sIHZlY3RvcjMsIGNvdW50LCB2ZWN0b3IzQXZlcmFnZSl7XG5cdHZlY3RvcjNBdmVyYWdlID0gdmVjdG9yM0F2ZXJhZ2UgfHwgbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHRcblx0dmVjdG9yM1N1bS54ICs9IHZlY3RvcjMueFxuXHR2ZWN0b3IzU3VtLnkgKz0gdmVjdG9yMy55XG5cdHZlY3RvcjNTdW0ueiArPSB2ZWN0b3IzLnpcblx0XG5cdHZlY3RvcjNBdmVyYWdlLnggPSB2ZWN0b3IzU3VtLnggLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS55ID0gdmVjdG9yM1N1bS55IC8gY291bnRcblx0dmVjdG9yM0F2ZXJhZ2UueiA9IHZlY3RvcjNTdW0ueiAvIGNvdW50XG5cdFxuXHRyZXR1cm4gdmVjdG9yM0F2ZXJhZ2Vcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBjb21wdXRlIHRoZSBjZW50ZXIgb2YgdGhpcyBtdWx0aW1hcmtlciBmaWxlXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUNlbnRlciA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBzdGF0cyA9IHtcblx0XHRjb3VudCA6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdH1cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkgLy8gRklYTUUgPz8/XG5cdFxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cdFx0XG5cdFx0Ly8gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRcdHN0YXRzLmNvdW50KytcblxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMucG9zaXRpb24uc3VtLCBwb3NpdGlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbihzdGF0cy5xdWF0ZXJuaW9uLnN1bSwgcXVhdGVybmlvbiwgZmlyc3RRdWF0ZXJuaW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMuc2NhbGUuc3VtLCBzY2FsZSwgc3RhdHMuY291bnQsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdH0pXG5cdFxuXHR2YXIgYXZlcmFnZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0YXZlcmFnZU1hdHJpeC5jb21wb3NlKHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblxuXHRyZXR1cm4gYXZlcmFnZU1hdHJpeFxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmNvbXB1dGVCb3VuZGluZ0JveCA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBib3VuZGluZ0JveCA9IG5ldyBUSFJFRS5Cb3gzKClcblxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHRib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KHBvc2l0aW9uKVxuXHR9KVxuXG5cdHJldHVybiBib3VuZGluZ0JveFxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGVTbW9vdGhlZENvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUudXBkYXRlU21vb3RoZWRDb250cm9scyA9IGZ1bmN0aW9uKHNtb290aGVkQ29udHJvbHMsIGxlcnBzVmFsdWVzKXtcblx0Ly8gaGFuZGxlIGRlZmF1bHQgdmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlcyA9PT0gdW5kZWZpbmVkICl7XG5cdFx0Ly8gRklYTUUgdGhpcyBwYXJhbWV0ZXIgZm9ybWF0IGlzIHVzZWxlc3NseSBjcnlwdGljXG5cdFx0Ly8gbGVycFZhbHVlcyA9IFtcblx0XHQvLyB7bGVycFBvc2l0aW9uOiAwLjUsIGxlcnBRdWF0ZXJuaW9uOiAwLjIsIGxlcnBRdWF0ZXJuaW9uOiAwLjd9XG5cdFx0Ly8gXVxuXHRcdGxlcnBzVmFsdWVzID0gW1xuXHRcdFx0WzAuMysuMSwgMC4xLCAwLjNdLFxuXHRcdFx0WzAuNCsuMSwgMC4xLCAwLjRdLFxuXHRcdFx0WzAuNCsuMSwgMC4yLCAwLjVdLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdF1cblx0fVxuXHQvLyBjb3VudCBob3cgbWFueSBzdWJNYXJrZXJzQ29udHJvbHMgYXJlIHZpc2libGVcblx0dmFyIG5WaXNpYmxlID0gMFxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSB0cnVlIClcdG5WaXNpYmxlICsrXG5cdH0pXG5cblx0Ly8gZmluZCB0aGUgZ29vZCBsZXJwVmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXSAhPT0gdW5kZWZpbmVkICl7XG5cdFx0dmFyIGxlcnBWYWx1ZXMgPSBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXVxuXHR9ZWxzZXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW2xlcnBzVmFsdWVzLmxlbmd0aC0xXVxuXHR9XG5cblx0Ly8gbW9kaWZ5IGxlcnBWYWx1ZXMgaW4gc21vb3RoZWRDb250cm9sc1xuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFBvc2l0aW9uID0gbGVycFZhbHVlc1swXVxuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24gPSBsZXJwVmFsdWVzWzFdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwU2NhbGUgPSBsZXJwVmFsdWVzWzJdXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDcmVhdGUgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gSlNPTlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuZnJvbUpTT04gPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBwYXJlbnQzRCwgbWFya2VyUm9vdCwganNvbkRhdGEsIHBhcmFtZXRlcnMpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0Ly8gZGVjbGFyZSB2YXJpYWJsZXNcblx0dmFyIHN1Yk1hcmtlcnNDb250cm9scyA9IFtdXG5cdHZhciBzdWJNYXJrZXJQb3NlcyA9IFtdXG5cdC8vIGhhbmRsZSBkZWZhdWx0IGFyZ3VtZW50c1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXG5cdC8vIHByZXBhcmUgdGhlIHBhcmFtZXRlcnNcblx0bXVsdGlNYXJrZXJGaWxlLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xuXHRcdC8vIGNyZWF0ZSBhIG1hcmtlclJvb3Rcblx0XHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpXG5cdFx0cGFyZW50M0QuYWRkKG1hcmtlclJvb3QpXG5cblx0XHQvLyBjcmVhdGUgbWFya2VyQ29udHJvbHMgZm9yIG91ciBtYXJrZXJSb290XG5cdFx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gbmV3IEFyTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgaXRlbS5wYXJhbWV0ZXJzKVxuXG4vLyBpZiggdHJ1ZSApe1xuXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0c3ViTWFya2VyUG9zZXMucHVzaChuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpKVx0XG4vLyB9ZWxzZXtcbi8vIFx0XHQvLyBidWlsZCBhIHNtb290aGVkQ29udHJvbHNcbi8vIFx0XHR2YXIgc21vb3RoZWRSb290ID0gbmV3IFRIUkVFLkdyb3VwKClcbi8vIFx0XHRwYXJlbnQzRC5hZGQoc21vb3RoZWRSb290KVxuLy8gXHRcdHZhciBzbW9vdGhlZENvbnRyb2xzID0gbmV3IFRIUkVFeC5BclNtb290aGVkQ29udHJvbHMoc21vb3RoZWRSb290LCB7XG4vLyBcdFx0XHRsZXJwUG9zaXRpb24gOiAwLjEsXG4vLyBcdFx0XHRsZXJwUXVhdGVybmlvbiA6IDAuMSwgXG4vLyBcdFx0XHRsZXJwU2NhbGUgOiAwLjEsXG4vLyBcdFx0XHRtaW5WaXNpYmxlRGVsYXk6IDAsXG4vLyBcdFx0XHRtaW5VbnZpc2libGVEZWxheTogMCxcbi8vIFx0XHR9KVxuLy8gXHRcdG9uUmVuZGVyRmN0cy5wdXNoKGZ1bmN0aW9uKGRlbHRhKXtcbi8vIFx0XHRcdHNtb290aGVkQ29udHJvbHMudXBkYXRlKG1hcmtlclJvb3QpXHQvLyBUT0RPIHRoaXMgaXMgYSBnbG9iYWxcbi8vIFx0XHR9KVxuLy8gXHRcbi8vIFxuLy8gXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG4vLyBcdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc21vb3RoZWRDb250cm9scylcbi8vIFx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXG4vLyB9XG5cdH0pXG5cdFxuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyA9IHN1Yk1hcmtlcnNDb250cm9sc1xuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzID0gc3ViTWFya2VyUG9zZXNcblx0Ly8gY3JlYXRlIGEgbmV3IEFyTXVsdGlNYXJrZXJDb250cm9sc1xuXHR2YXIgbXVsdGlNYXJrZXJDb250cm9scyA9IG5ldyBBck11bHRpTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgcGFyYW1ldGVycylcblxuXHQvLyByZXR1cm4gaXRcblx0cmV0dXJuIG11bHRpTWFya2VyQ29udHJvbHNcdFxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJzQXJlYUNvbnRyb2xzOyIsImltcG9ydCBBck11bHRpTWFya2VyQ29udHJvbHMgZnJvbSAnLi9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMnO1xuXG5jb25zdCBNYXJrZXJzQXJlYUxlYXJuaW5nID0gZnVuY3Rpb24oYXJUb29sa2l0Q29udGV4dCwgc3ViTWFya2Vyc0NvbnRyb2xzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXHR0aGlzLl9hclRvb2xraXRDb250ZXh0ID0gYXJUb29sa2l0Q29udGV4dFxuXG5cdC8vIEluaXQgdmFyaWFibGVzXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzID0gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdHRoaXMuZW5hYmxlZCA9IHRydWVcblx0XHRcblx0Ly8gbGlzdGVuIHRvIGFyVG9vbGtpdENvbnRleHQgZXZlbnQgJ3NvdXJjZVByb2Nlc3NlZCdcblx0Ly8gLSBhZnRlciB3ZSBmdWxseSBwcm9jZXNzZWQgb25lIGltYWdlLCBha2Egd2hlbiB3ZSBrbm93IGFsbCBkZXRlY3RlZCBwb3NlcyBpbiBpdFxuXHRhclRvb2xraXRDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ3NvdXJjZVByb2Nlc3NlZCcsIGZ1bmN0aW9uKCl7XG5cdFx0X3RoaXMuX29uU291cmNlUHJvY2Vzc2VkKClcblx0fSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRzdGF0aXN0aWMgY29sbGVjdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogV2hhdCB0byBkbyB3aGVuIGEgaW1hZ2Ugc291cmNlIGlzIGZ1bGx5IHByb2Nlc3NlZFxuICovXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5fb25Tb3VyY2VQcm9jZXNzZWQgPSBmdW5jdGlvbigpe1xuXHR2YXIgb3JpZ2luUXVhdGVybmlvbiA9IHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLm9iamVjdDNkLnF1YXRlcm5pb25cblx0Ly8gaGVyZSBjb2xsZWN0IHRoZSBzdGF0aXN0aWMgb24gcmVsYXRpdmUgcG9zaXRpb25pbmcgXG5cdFxuXHQvLyBob25vciB0aGlzLmVuYWJsZWRcblx0aWYoIHRoaXMuZW5hYmxlZCA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0Ly8ga2VlcCBvbmx5IHRoZSB2aXNpYmxlIG1hcmtlcnNcblx0dmFyIHZpc2libGVNYXJrZXJDb250cm9scyA9IHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzLmZpbHRlcihmdW5jdGlvbihtYXJrZXJDb250cm9scyl7XG5cdFx0cmV0dXJuIG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUgPT09IHRydWVcblx0fSlcblxuXHR2YXIgY291bnQgPSBPYmplY3Qua2V5cyh2aXNpYmxlTWFya2VyQ29udHJvbHMpLmxlbmd0aFxuXG5cdHZhciBwb3NpdGlvbkRlbHRhID0gbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHR2YXIgcXVhdGVybmlvbkRlbHRhID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHR2YXIgc2NhbGVEZWx0YSA9IG5ldyBUSFJFRS5WZWN0b3IzKClcblx0dmFyIHRtcE1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0XG5cdC8vIGdvIHRocnUgYWxsIHRoZSB2aXNpYmxlTWFya2VyQ29udHJvbHNcblx0Zm9yKHZhciBpID0gMDsgaSA8IGNvdW50OyBpKyspe1xuXHRcdHZhciBtYXJrZXJDb250cm9sczEgPSB2aXNpYmxlTWFya2VyQ29udHJvbHNbaV1cblx0XHRmb3IodmFyIGogPSAwOyBqIDwgY291bnQ7IGorKyl7XG5cdFx0XHR2YXIgbWFya2VyQ29udHJvbHMyID0gdmlzaWJsZU1hcmtlckNvbnRyb2xzW2pdXG5cblx0XHRcdC8vIGlmIG1hcmtlckNvbnRyb2xzMSBpcyBtYXJrZXJDb250cm9sczIsIHRoZW4gc2tpcCBpdFxuXHRcdFx0aWYoIGkgPT09IGogKVx0Y29udGludWVcblxuXG5cdFx0XHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0XHRcdC8vXHRcdGNyZWF0ZSBkYXRhIGluIG1hcmtlckNvbnRyb2xzMS5vYmplY3QzZC51c2VyRGF0YSBpZiBuZWVkZWRcblx0XHRcdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRcdFx0Ly8gY3JlYXRlIHNlZW5Db3VwbGVzIGZvciBtYXJrZXJDb250cm9sczEgaWYgbmVlZGVkXG5cdFx0XHRpZiggbWFya2VyQ29udHJvbHMxLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0bWFya2VyQ29udHJvbHMxLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzID0ge31cblx0XHRcdH1cblx0XHRcdHZhciBzZWVuQ291cGxlcyA9IG1hcmtlckNvbnRyb2xzMS5vYmplY3QzZC51c2VyRGF0YS5zZWVuQ291cGxlc1xuXHRcdFx0Ly8gY3JlYXRlIHRoZSBtdWx0aU1hcmtlclBvc2l0aW9uIGF2ZXJhZ2UgaWYgbmVlZGVkYFxuXHRcdFx0aWYoIHNlZW5Db3VwbGVzW21hcmtlckNvbnRyb2xzMi5pZF0gPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZygnY3JlYXRlIHNlZW5Db3VwbGVzIGJldHdlZW4nLCBtYXJrZXJDb250cm9sczEuaWQsICdhbmQnLCBtYXJrZXJDb250cm9sczIuaWQpXG5cdFx0XHRcdHNlZW5Db3VwbGVzW21hcmtlckNvbnRyb2xzMi5pZF0gPSB7XG5cdFx0XHRcdFx0Y291bnQgOiAwLFxuXHRcdFx0XHRcdHBvc2l0aW9uIDoge1xuXHRcdFx0XHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRcdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRxdWF0ZXJuaW9uIDoge1xuXHRcdFx0XHRcdFx0c3VtOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcblx0XHRcdFx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0c2NhbGUgOiB7XG5cdFx0XHRcdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdFx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdFxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHQvL1x0XHRDb21wdXRlIG1hcmtlckNvbnRyb2xzMiBwb3NpdGlvbiByZWxhdGl2ZSB0byBtYXJrZXJDb250cm9sczFcblx0XHRcdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRcdFx0XG5cdFx0XHQvLyBjb21wdXRlIG1hcmtlckNvbnRyb2xzMiBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlIGluIHJlbGF0aW9uIHdpdGggbWFya2VyQ29udHJvbHMxXG5cdFx0XHR0bXBNYXRyaXguZ2V0SW52ZXJzZShtYXJrZXJDb250cm9sczEub2JqZWN0M2QubWF0cml4KVxuXHRcdFx0dG1wTWF0cml4Lm11bHRpcGx5KG1hcmtlckNvbnRyb2xzMi5vYmplY3QzZC5tYXRyaXgpXG5cdFx0XHR0bXBNYXRyaXguZGVjb21wb3NlKHBvc2l0aW9uRGVsdGEsIHF1YXRlcm5pb25EZWx0YSwgc2NhbGVEZWx0YSlcblx0XHRcdFxuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHQvL1x0XHR1cGRhdGUgc3RhdGlzdGljc1xuXHRcdFx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdFx0XHR2YXIgc3RhdHMgPSBzZWVuQ291cGxlc1ttYXJrZXJDb250cm9sczIuaWRdXG5cdFx0XHQvLyB1cGRhdGUgdGhlIGNvdW50XG5cdFx0XHRzdGF0cy5jb3VudCsrXG5cblx0XHRcdC8vIHVwZGF0ZSB0aGUgYXZlcmFnZSBvZiBwb3NpdGlvbi9yb3RhdGlvbi9zY2FsZVxuXHRcdFx0QXJNdWx0aU1hcmtlckNvbnRyb2xzLmF2ZXJhZ2VWZWN0b3IzKHN0YXRzLnBvc2l0aW9uLnN1bSwgcG9zaXRpb25EZWx0YSwgc3RhdHMuY291bnQsIHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UpXG5cdFx0XHRBck11bHRpTWFya2VyQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24oc3RhdHMucXVhdGVybmlvbi5zdW0sIHF1YXRlcm5pb25EZWx0YSwgb3JpZ2luUXVhdGVybmlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSlcblx0XHRcdEFyTXVsdGlNYXJrZXJDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlRGVsdGEsIHN0YXRzLmNvdW50LCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXHRcdH1cblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvbXB1dGUgbWFya2VycyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggZnJvbSBjdXJyZW50IHN0YXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFMZWFybmluZy5wcm90b3R5cGUuY29tcHV0ZVJlc3VsdCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIG9yaWdpblN1YkNvbnRyb2xzID0gdGhpcy5zdWJNYXJrZXJzQ29udHJvbHNbMF1cblxuXHR0aGlzLmRlbGV0ZVJlc3VsdCgpXG5cblx0Ly8gc3BlY2lhbCBjYXNlIG9mIG9yaWdpblN1YkNvbnRyb2xzIGF2ZXJhZ2VNYXRyaXhcblx0b3JpZ2luU3ViQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0ID0ge1xuXHRcdGF2ZXJhZ2VNYXRyaXggOiBuZXcgVEhSRUUuTWF0cml4NCgpLFxuXHRcdGNvbmZpZGVuY2VGYWN0b3I6IDEsXG5cdH1cblx0Ly8gVE9ETyBoZXJlIGNoZWNrIGlmIHRoZSBvcmlnaW5TdWJDb250cm9scyBoYXMgYmVlbiBzZWVuIGF0IGxlYXN0IG9uY2UhIVxuXHRcblx0XG5cdC8qKlxuXHQgKiBBTEdPIGluIHBzZXVkbyBjb2RlXG5cdCAqXG5cdCAqIC0gU2V0IGNvbmZpZGVuY2VGYWN0b3Igb2Ygb3JpZ2luIHN1YiBtYXJrZXJzIGFzIDFcblx0ICpcblx0ICogU3RhcnQgTG9vcGluZ1xuXHQgKiAtIEZvciBhIGdpdmVuIHN1YiBtYXJrZXIsIHNraXAgaXQgaWYgaXQgYWxyZWFkeSBoYXMgYSByZXN1bHQuXG5cdCAqIC0gaWYgbm8gcmVzdWx0LCBjaGVjayBhbGwgc2VlbiBjb3VwbGUgYW5kIGZpbmQgbiBvbmVzIHdoaWNoIGhhcyBhIHByb2dyZXNzIG9mIDEgb3IgbW9yZS5cblx0ICogLSBTbyB0aGUgb3RoZXIgc2VlbiBzdWIgbWFya2VycywgZ290IGEgdmFsaWQgdHJhbnNmb3JtYXRpb24gbWF0cml4LiBcblx0ICogLSBTbyB0YWtlIGxvY2FsIGF2ZXJhZ2VzIHBvc2l0aW9uL29yaWVudGF0aW9uL3NjYWxlLCBjb21wb3NlIGEgdHJhbnNmb3JtYXRpb24gbWF0cml4LiBcblx0ICogICAtIGFrYSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggZnJvbSBwYXJlbnQgbWF0cml4ICogdHJhbnNmIG1hdHJpeCBwb3Mvb3JpZW50YXRpb24vc2NhbGVcblx0ICogLSBNdWx0aXBsZSBpdCBieSB0aGUgb3RoZXIgc2VlbiBtYXJrZXIgbWF0cml4LiBcblx0ICogLSBMb29wIG9uIHRoZSBhcnJheSB1bnRpbCBvbmUgcGFzcyBjb3VsZCBub3QgY29tcHV0ZSBhbnkgbmV3IHN1YiBtYXJrZXJcblx0ICovXG5cdFxuXHRkb3tcblx0XHR2YXIgcmVzdWx0Q2hhbmdlZCA9IGZhbHNlXG5cdFx0Ly8gbG9vcCBvdmVyIGVhY2ggc3ViTWFya2VyQ29udHJvbHNcblx0XHR0aGlzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblxuXHRcdFx0Ly8gaWYgc3ViTWFya2VyQ29udHJvbHMgYWxyZWFkeSBoYXMgYSByZXN1bHQsIGRvIG5vdGhpbmdcblx0XHRcdHZhciByZXN1bHQgPSBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHRcblx0XHRcdHZhciBpc0xlYXJuZWQgPSAocmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgcmVzdWx0LmNvbmZpZGVuY2VGYWN0b3IgPj0gMSkgPyB0cnVlIDogZmFsc2Vcblx0XHRcdGlmKCBpc0xlYXJuZWQgPT09IHRydWUgKVx0cmV0dXJuXG5cdFx0XHRcblx0XHRcdC8vIGNvbnNvbGUubG9nKCdjb21wdXRlIHN1Yk1hcmtlckNvbnRyb2xzJywgc3ViTWFya2VyQ29udHJvbHMubmFtZSgpKVxuXHRcdFx0dmFyIG90aGVyU3ViQ29udHJvbHNJRCA9IF90aGlzLl9nZXRMZWFybmVkQ291cGxlU3RhdHMoc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0XHRpZiggb3RoZXJTdWJDb250cm9sc0lEID09PSBudWxsICl7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdubyBsZWFybmVkQ291cGxlU3RhdHMnKVxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0dmFyIG90aGVyU3ViQ29udHJvbHMgPSBfdGhpcy5fZ2V0U3ViTWFya2VyQ29udHJvbHNCeUlEKG90aGVyU3ViQ29udHJvbHNJRClcblxuXHRcdFx0dmFyIHNlZW5Db3VwbGVTdGF0cyA9IHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzW290aGVyU3ViQ29udHJvbHNJRF1cblx0XHRcdFxuXHRcdFx0dmFyIGF2ZXJhZ2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG5cdFx0XHRhdmVyYWdlTWF0cml4LmNvbXBvc2Uoc2VlbkNvdXBsZVN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UsIHNlZW5Db3VwbGVTdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UsIHNlZW5Db3VwbGVTdGF0cy5zY2FsZS5hdmVyYWdlKVxuXHRcdFx0XHRcblx0XHRcdHZhciBvdGhlckF2ZXJhZ2VNYXRyaXggPSBvdGhlclN1YkNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdC5hdmVyYWdlTWF0cml4XG5cblx0XHRcdHZhciBtYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmdldEludmVyc2Uob3RoZXJBdmVyYWdlTWF0cml4KS5tdWx0aXBseShhdmVyYWdlTWF0cml4KVxuXHRcdFx0bWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG1hdHJpeClcblxuXHRcdFx0Y29uc29sZS5hc3NlcnQoIHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdCA9PT0gdW5kZWZpbmVkIClcblx0XHRcdHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdCA9IHtcblx0XHRcdFx0YXZlcmFnZU1hdHJpeDogbWF0cml4LFxuXHRcdFx0XHRjb25maWRlbmNlRmFjdG9yOiAxXG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHJlc3VsdENoYW5nZWQgPSB0cnVlXG5cdFx0fSlcblx0XHQvLyBjb25zb2xlLmxvZygnbG9vcCcpXG5cdH13aGlsZShyZXN1bHRDaGFuZ2VkID09PSB0cnVlKVxuXHRcblx0Ly8gZGVidWdnZXJcblx0Ly8gY29uc29sZS5sb2coJ2pzb246JywgdGhpcy50b0pTT04oKSlcblx0Ly8gdGhpcy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihzdWJNYXJrZXJDb250cm9scyl7XG5cdC8vIFx0dmFyIGhhc1Jlc3VsdCA9IHN1Yk1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnJlc3VsdCAhPT0gdW5kZWZpbmVkXG5cdC8vIFx0Y29uc29sZS5sb2coJ21hcmtlcicsIHN1Yk1hcmtlckNvbnRyb2xzLm5hbWUoKSwgaGFzUmVzdWx0ID8gJ2hhcycgOiAnaGFzIE5PJywgJ3Jlc3VsdCcpXG5cdC8vIH0pXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0VXRpbGl0eSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKiBcbiAqIGdldCBhIF90aGlzLnN1Yk1hcmtlcnNDb250cm9scyBpZCBiYXNlZCBvbiBtYXJrZXJDb250cm9scy5pZFxuICovXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5fZ2V0TGVhcm5lZENvdXBsZVN0YXRzXHQ9IGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblxuXHQvLyBpZiB0aGlzIHN1Yk1hcmtlckNvbnRyb2xzIGhhcyBuZXZlciBiZWVuIHNlZW4gd2l0aCBhbm90aGVyIHN1Yk1hcmtlckNvbnRyb2xzXG5cdGlmKCBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5zZWVuQ291cGxlcyA9PT0gdW5kZWZpbmVkIClcdHJldHVybiBudWxsXG5cdFxuXHR2YXIgc2VlbkNvdXBsZXMgPSBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5zZWVuQ291cGxlc1xuXHR2YXIgY291cGxlQ29udHJvbHNJRHMgPSBPYmplY3Qua2V5cyhzZWVuQ291cGxlcykubWFwKE51bWJlcilcblxuXHRmb3IodmFyIGkgPSAwOyBpIDwgY291cGxlQ29udHJvbHNJRHMubGVuZ3RoOyBpKyspe1xuXHRcdHZhciBvdGhlclN1YkNvbnRyb2xzSUQgPSBjb3VwbGVDb250cm9sc0lEc1tpXVxuXHRcdC8vIGdldCBvdGhlclN1YkNvbnRyb2xzXG5cdFx0dmFyIG90aGVyU3ViQ29udHJvbHMgPSB0aGlzLl9nZXRTdWJNYXJrZXJDb250cm9sc0J5SUQob3RoZXJTdWJDb250cm9sc0lEKVxuXHRcdFx0XG5cdFx0Ly8gaWYgb3RoZXJTdWJDb250cm9scyBpc250IGxlYXJuZWQsIHNraXAgaXRcblx0XHR2YXIgcmVzdWx0ID0gb3RoZXJTdWJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHRcblx0XHR2YXIgaXNMZWFybmVkID0gKHJlc3VsdCAhPT0gdW5kZWZpbmVkICYmIHJlc3VsdC5jb25maWRlbmNlRmFjdG9yID49IDEpID8gdHJ1ZSA6IGZhbHNlXG5cdFx0aWYoIGlzTGVhcm5lZCA9PT0gZmFsc2UgKVx0Y29udGludWVcblxuXHRcdC8vIHJldHVybiB0aGlzIHNlZW5Db3VwbGVzU3RhdHNcblx0XHRyZXR1cm4gb3RoZXJTdWJDb250cm9sc0lEXG5cdH1cblx0XG5cdC8vIGlmIG5vbmUgaXMgZm91bmQsIHJldHVybiBudWxsXG5cdHJldHVybiBudWxsXG59XG5cbi8qKiBcbiAqIGdldCBhIF90aGlzLnN1Yk1hcmtlcnNDb250cm9scyBiYXNlZCBvbiBtYXJrZXJDb250cm9scy5pZFxuICovXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5fZ2V0U3ViTWFya2VyQ29udHJvbHNCeUlEXHQ9IGZ1bmN0aW9uKGNvbnRyb2xzSUQpe1xuXG5cdGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLnN1Yk1hcmtlcnNDb250cm9scy5sZW5ndGg7IGkrKyl7XG5cdFx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gdGhpcy5zdWJNYXJrZXJzQ29udHJvbHNbaV1cblx0XHRpZiggc3ViTWFya2VyQ29udHJvbHMuaWQgPT09IGNvbnRyb2xzSUQgKXtcblx0XHRcdHJldHVybiBzdWJNYXJrZXJDb250cm9sc1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBudWxsXG59XG4gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRKU09OIGZpbGUgYnVpbGRpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbigpe1xuXG5cdC8vIGNvbXB1dGUgdGhlIGF2ZXJhZ2UgbWF0cml4IGJlZm9yZSBnZW5lcmF0aW5nIHRoZSBmaWxlXG5cdHRoaXMuY29tcHV0ZVJlc3VsdCgpXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGFjdHVhbGx5IGJ1aWxkIHRoZSBqc29uXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHR2YXIgZGF0YSA9IHtcblx0XHRtZXRhIDoge1xuXHRcdFx0Y3JlYXRlZEJ5IDogXCJBcmVhIExlYXJuaW5nIC0gQVIuanMgXCIrVEhSRUV4LkFyVG9vbGtpdENvbnRleHQuUkVWSVNJT04sIC8vIFRPRE86IEFyVG9vbGtpdENvbnRleHQgZGVwZW5kaW5nIG9uIGJ1aWxkXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdFx0XG5cdFx0fSxcblx0XHR0cmFja2luZ0JhY2tlbmQ6IHRoaXMuX2FyVG9vbGtpdENvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQsXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzIDogW10sXG5cdH1cblxuXHR2YXIgb3JpZ2luU3ViQ29udHJvbHMgPSB0aGlzLnN1Yk1hcmtlcnNDb250cm9sc1swXVxuXHR2YXIgb3JpZ2luTWF0cml4SW52ZXJzZSA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZ2V0SW52ZXJzZShvcmlnaW5TdWJDb250cm9scy5vYmplY3QzZC5tYXRyaXgpXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oc3ViTWFya2VyQ29udHJvbHMsIGluZGV4KXtcblx0XHRcblx0XHQvLyBpZiBhIHN1Yk1hcmtlckNvbnRyb2xzIGhhcyBubyByZXN1bHQsIGlnbm9yZSBpdFxuXHRcdGlmKCBzdWJNYXJrZXJDb250cm9scy5vYmplY3QzZC51c2VyRGF0YS5yZXN1bHQgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblxuXHRcdHZhciBwb3NlTWF0cml4ID0gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0LmF2ZXJhZ2VNYXRyaXhcblx0XHRjb25zb2xlLmFzc2VydChwb3NlTWF0cml4IGluc3RhbmNlb2YgVEhSRUUuTWF0cml4NClcblx0XHRcblxuXHRcdC8vIGJ1aWxkIHRoZSBpbmZvXG5cdFx0dmFyIGluZm8gPSB7XG5cdFx0XHRwYXJhbWV0ZXJzIDoge1xuXHRcdFx0XHQvLyB0byBmaWxsIC4uLlxuXHRcdFx0fSxcblx0XHRcdHBvc2VNYXRyaXggOiBwb3NlTWF0cml4LnRvQXJyYXkoKSxcblx0XHR9XG5cdFx0aWYoIHN1Yk1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdFx0XHRpbmZvLnBhcmFtZXRlcnMudHlwZSA9IHN1Yk1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMudHlwZVxuXHRcdFx0aW5mby5wYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBzdWJNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLnBhdHRlcm5Vcmxcblx0XHR9ZWxzZSBpZiggc3ViTWFya2VyQ29udHJvbHMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScgKXtcblx0XHRcdGluZm8ucGFyYW1ldGVycy50eXBlID0gc3ViTWFya2VyQ29udHJvbHMucGFyYW1ldGVycy50eXBlXG5cdFx0XHRpbmZvLnBhcmFtZXRlcnMuYmFyY29kZVZhbHVlID0gc3ViTWFya2VyQ29udHJvbHMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcblx0XHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXHRcdGRhdGEuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goaW5mbylcblx0fSlcblxuXHR2YXIgc3RySlNPTiA9IEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsICdcXHQnKTtcblx0XG5cdFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0cm91bmQgbWF0cml4IGVsZW1lbnRzIHRvIGVhc2UgcmVhZGFiaWxpdHkgLSBmb3IgZGVidWdcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHZhciBodW1hblJlYWRhYmxlID0gZmFsc2Vcblx0aWYoIGh1bWFuUmVhZGFibGUgPT09IHRydWUgKXtcblx0XHR2YXIgdG1wID0gSlNPTi5wYXJzZShzdHJKU09OKVxuXHRcdHRtcC5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scyl7XG5cdFx0XHRtYXJrZXJDb250cm9scy5wb3NlTWF0cml4ID0gbWFya2VyQ29udHJvbHMucG9zZU1hdHJpeC5tYXAoZnVuY3Rpb24odmFsdWUpe1xuXHRcdFx0XHR2YXIgcm91bmRpbmdGYWN0b3IgPSAxMDBcblx0XHRcdFx0cmV0dXJuIE1hdGgucm91bmQodmFsdWUqcm91bmRpbmdGYWN0b3IpL3JvdW5kaW5nRmFjdG9yXG5cdFx0XHR9KVxuXHRcdH0pXG5cdFx0c3RySlNPTiA9IEpTT04uc3RyaW5naWZ5KHRtcCwgbnVsbCwgJ1xcdCcpO1xuXHR9XG5cdFxuXHRyZXR1cm4gc3RySlNPTjtcdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHJlc2V0IGFsbCBjb2xsZWN0ZWQgc3RhdGlzdGljc1xuICovXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5yZXNldFN0YXRzID0gZnVuY3Rpb24oKXtcblx0dGhpcy5kZWxldGVSZXN1bHQoKVxuXHRcblx0dGhpcy5zdWJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbihtYXJrZXJDb250cm9scyl7XG5cdFx0ZGVsZXRlIG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnVzZXJEYXRhLnNlZW5Db3VwbGVzXG5cdH0pXG59XG4vKipcbiAqIHJlc2V0IGFsbCBjb2xsZWN0ZWQgc3RhdGlzdGljc1xuICovXG5NYXJrZXJzQXJlYUxlYXJuaW5nLnByb3RvdHlwZS5kZWxldGVSZXN1bHQgPSBmdW5jdGlvbigpe1xuXHR0aGlzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckNvbnRyb2xzKXtcblx0XHRkZWxldGUgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudXNlckRhdGEucmVzdWx0XG5cdH0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhTGVhcm5pbmc7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi90aHJlZXgvYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG5jb25zdCBNYXJrZXJzQXJlYVV0aWxzID0ge307XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0bmF2aWdhdGVUb0xlYXJuZXJQYWdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBOYXZpZ2F0ZSB0byB0aGUgbXVsdGktbWFya2VyIGxlYXJuZXIgcGFnZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBsZWFybmVyQmFzZVVSTCAgLSB0aGUgYmFzZSB1cmwgZm9yIHRoZSBsZWFybmVyXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIGJhY2tlbmQgdG8gdXNlXG4gKi9cbk1hcmtlcnNBcmVhVXRpbHMubmF2aWdhdGVUb0xlYXJuZXJQYWdlID0gZnVuY3Rpb24obGVhcm5lckJhc2VVUkwsIHRyYWNraW5nQmFja2VuZCl7XG5cdHZhciBsZWFybmVyUGFyYW1ldGVycyA9IHtcblx0XHRiYWNrVVJMIDogbG9jYXRpb24uaHJlZixcblx0XHR0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nQmFja2VuZCxcblx0XHRtYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzOiBNYXJrZXJzQXJlYVV0aWxzLmNyZWF0ZURlZmF1bHRNYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzKHRyYWNraW5nQmFja2VuZCksXG5cdH1cblx0bG9jYXRpb24uaHJlZiA9IGxlYXJuZXJCYXNlVVJMICsgJz8nICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGxlYXJuZXJQYXJhbWV0ZXJzKSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHREZWZhdWx0TXVsdGlNYXJrZXJGaWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBDcmVhdGUgYW5kIHN0b3JlIGEgZGVmYXVsdCBtdWx0aS1tYXJrZXIgZmlsZVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5zdG9yZURlZmF1bHRNdWx0aU1hcmtlckZpbGUgPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQpe1xuXHR2YXIgZmlsZSA9IE1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE11bHRpTWFya2VyRmlsZSh0cmFja2luZ0JhY2tlbmQpXG5cdC8vIGpzb24uc3RyaW5meSB0aGUgdmFsdWUgYW5kIHN0b3JlIGl0IGluIGxvY2FsU3RvcmFnZVxuXHRsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnQVJqc011bHRpTWFya2VyRmlsZScsIEpTT04uc3RyaW5naWZ5KGZpbGUpKVxufVxuXG5cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IG11bHRpLW1hcmtlciBmaWxlXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIGJhY2tlbmQgdG8gdXNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IC0ganNvbiBvYmplY3Qgb2YgdGhlIG11bHRpLW1hcmtlciBmaWxlXG4gKi9cbk1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE11bHRpTWFya2VyRmlsZSA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdGNvbnNvbGUuYXNzZXJ0KHRyYWNraW5nQmFja2VuZClcblx0aWYoIHRyYWNraW5nQmFja2VuZCA9PT0gdW5kZWZpbmVkIClcdGRlYnVnZ2VyXG5cblx0Ly8gY3JlYXRlIGFic29sdXRlQmFzZVVSTFxuXHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRsaW5rLmhyZWYgPSBDb250ZXh0LmJhc2VVUkxcblx0dmFyIGFic29sdXRlQmFzZVVSTCA9IGxpbmsuaHJlZlxuXG5cdC8vIGNyZWF0ZSB0aGUgYmFzZSBmaWxlXG5cdHZhciBmaWxlID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiAnQVIuanMgJyArIENvbnRleHQuUkVWSVNJT04gKyAnIC0gRGVmYXVsdCBNYXJrZXInLFxuXHRcdFx0Y3JlYXRlZEF0IDogbmV3IERhdGUoKS50b0pTT04oKSxcblx0XHR9LFxuXHRcdHRyYWNraW5nQmFja2VuZCA6IHRyYWNraW5nQmFja2VuZCxcblx0XHRzdWJNYXJrZXJzQ29udHJvbHMgOiBbXG5cdFx0XHQvLyBlbXB0eSBmb3Igbm93Li4uIGJlaW5nIGZpbGxlZFxuXHRcdF1cblx0fVxuXHQvLyBhZGQgYSBzdWJNYXJrZXJzQ29udHJvbHNcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHNbMF0gPSB7XG5cdFx0cGFyYW1ldGVyczoge30sXG5cdFx0cG9zZU1hdHJpeDogbmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlVHJhbnNsYXRpb24oMCwwLCAwKS50b0FycmF5KCksXG5cdH1cblx0aWYoIHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgKXtcblx0XHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXS5wYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcblx0XHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXS5wYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdC8vIGpzb24uc3RyaW5meSB0aGUgdmFsdWUgYW5kIHN0b3JlIGl0IGluIGxvY2FsU3RvcmFnZVxuXHRyZXR1cm4gZmlsZVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGNyZWF0ZURlZmF1bHRNYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IGNvbnRyb2xzIHBhcmFtZXRlcnMgZm9yIHRoZSBtdWx0aS1tYXJrZXIgbGVhcm5lclxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSBqc29uIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250cm9scyBwYXJhbWV0ZXJzXG4gKi9cbk1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnMgPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQpe1xuXHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdC8vIHBhdHRlcm4gaGlyby9rYW5qaS9hL2IvYy9mXG5cdFx0dmFyIG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnMgPSBbXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWthbmppLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckEucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQi5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJDLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckYucGF0dCcsXG5cdFx0XHR9LFxuXHRcdF1cblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdHJldHVybiBtYXJrZXJzQ29udHJvbHNQYXJhbWV0ZXJzXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIGdlbmVyYXRlIGFyZWFGaWxlXG4gKi9cbk1hcmtlcnNBcmVhVXRpbHMuc3RvcmVNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbiA9IGZ1bmN0aW9uICh0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSCkge1xuXHQvLyBnZW5lcmF0ZSBhcmVhRmlsZVxuXHR2YXIgYXJlYUZpbGUgPSB0aGlzLmJ1aWxkTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24odHJhY2tpbmdCYWNrZW5kLCByZXNvbHV0aW9uVywgcmVzb2x1dGlvbkgpXG5cdC8vIHN0b3JlIGFyZWFGaWxlIGluIGxvY2FsU3RvcmFnZVxuXHRsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnQVJqc011bHRpTWFya2VyRmlsZScsIEpTT04uc3RyaW5naWZ5KGFyZWFGaWxlKSlcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFVdGlscy5idWlsZE1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kLCByZXNvbHV0aW9uVywgcmVzb2x1dGlvbkgpe1xuXHQvLyBjcmVhdGUgdGhlIGJhc2UgZmlsZVxuXHR2YXIgZmlsZSA9IHtcblx0XHRtZXRhIDoge1xuXHRcdFx0Y3JlYXRlZEJ5IDogJ0FSLmpzIC0gQXVnbWVudGVkIFdlYnNpdGUnLFxuXHRcdFx0Y3JlYXRlZEF0IDogbmV3IERhdGUoKS50b0pTT04oKSxcblx0XHR9LFxuXHRcdHRyYWNraW5nQmFja2VuZCA6IHRyYWNraW5nQmFja2VuZCxcblx0XHRzdWJNYXJrZXJzQ29udHJvbHMgOiBbXG5cdFx0XHQvLyBlbXB0eSBmb3Igbm93Li4uXG5cdFx0XVxuXHR9XG5cblx0dmFyIHdoaXRlTWFyZ2luID0gMC4xXG5cdGlmKCByZXNvbHV0aW9uVyA+IHJlc29sdXRpb25IICl7XG5cdFx0dmFyIG1hcmtlckltYWdlU2l6ZSA9IDAuNCAqIHJlc29sdXRpb25IXG5cdH1lbHNlIGlmKCByZXNvbHV0aW9uVyA8IHJlc29sdXRpb25IICl7XG5cdFx0dmFyIG1hcmtlckltYWdlU2l6ZSA9IDAuNCAqIHJlc29sdXRpb25XXG5cdH1lbHNlIGlmKCByZXNvbHV0aW9uVyA9PT0gcmVzb2x1dGlvbkggKXtcblx0XHQvLyBzcGVjaWZpYyBmb3IgdHdpdHRlciBwbGF5ZXIgLSBodHRwczovL2Rldi50d2l0dGVyLmNvbS9jYXJkcy90eXBlcy9wbGF5ZXJcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC4zMyAqIHJlc29sdXRpb25XXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdC8vIGNvbnNvbGUud2FybigndXNpbmcgbmV3IG1hcmtlckltYWdlU2l6ZSBjb21wdXRhdGlvbicpXG5cdHZhciBhY3R1YWxNYXJrZXJTaXplID0gbWFya2VySW1hZ2VTaXplICogKDEgLSAyKndoaXRlTWFyZ2luKVxuXG5cdHZhciBkZWx0YVggPSAocmVzb2x1dGlvblcgLSBtYXJrZXJJbWFnZVNpemUpLzIgLyBhY3R1YWxNYXJrZXJTaXplXG5cdHZhciBkZWx0YVogPSAocmVzb2x1dGlvbkggLSBtYXJrZXJJbWFnZVNpemUpLzIgLyBhY3R1YWxNYXJrZXJTaXplXG5cblx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gYnVpbGRTdWJNYXJrZXJDb250cm9scygnY2VudGVyJywgMCwgMClcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCd0b3BsZWZ0JywgLWRlbHRhWCwgLWRlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCd0b3ByaWdodCcsICtkZWx0YVgsIC1kZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gYnVpbGRTdWJNYXJrZXJDb250cm9scygnYm90dG9tbGVmdCcsIC1kZWx0YVgsICtkZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gYnVpbGRTdWJNYXJrZXJDb250cm9scygnYm90dG9tcmlnaHQnLCArZGVsdGFYLCArZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHJldHVybiBmaWxlXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdENvZGUgU2VwYXJhdG9yXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cdGZ1bmN0aW9uIGJ1aWxkU3ViTWFya2VyQ29udHJvbHMobGF5b3V0LCBwb3NpdGlvblgsIHBvc2l0aW9uWil7XG5cdFx0Y29uc29sZS5sb2coJ2J1aWxkU3ViTWFya2VyQ29udHJvbHMnLCBsYXlvdXQsIHBvc2l0aW9uWCwgcG9zaXRpb25aKVxuXHRcdC8vIGNyZWF0ZSBzdWJNYXJrZXJzQ29udHJvbHNcblx0XHR2YXIgc3ViTWFya2Vyc0NvbnRyb2xzID0ge1xuXHRcdFx0cGFyYW1ldGVyczoge30sXG5cdFx0XHRwb3NlTWF0cml4OiBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbihwb3NpdGlvblgsMCwgcG9zaXRpb25aKS50b0FycmF5KCksXG5cdFx0fVxuXHRcdC8vIGZpbGwgdGhlIHBhcmFtZXRlcnNcblx0XHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdFx0bGF5b3V0Mk1hcmtlclBhcmFtZXRlcnNBcnRvb2xraXQoc3ViTWFya2Vyc0NvbnRyb2xzLnBhcmFtZXRlcnMsIGxheW91dClcblx0XHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblx0XHQvLyByZXR1cm4gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdFx0cmV0dXJuIHN1Yk1hcmtlcnNDb250cm9sc1xuXHR9XG5cblx0ZnVuY3Rpb24gbGF5b3V0Mk1hcmtlclBhcmFtZXRlcnNBcnRvb2xraXQocGFyYW1ldGVycywgbGF5b3V0KXtcblx0XHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdFx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0XHRsaW5rLmhyZWYgPSBDb250ZXh0LmJhc2VVUkxcblx0XHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblx0XHR2YXIgbGF5b3V0MlBhdHRlcm5VcmwgPSB7XG5cdFx0XHQnY2VudGVyJyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4taGlyby5wYXR0JyksXG5cdFx0XHQndG9wbGVmdCcgOiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckEucGF0dCcpLFxuXHRcdFx0J3RvcHJpZ2h0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQi5wYXR0JyksXG5cdFx0XHQnYm90dG9tbGVmdCcgOiBjb252ZXJ0UmVsYXRpdmVVcmxUb0Fic29sdXRlKGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckMucGF0dCcpLFxuXHRcdFx0J2JvdHRvbXJpZ2h0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyRi5wYXR0JyksXG5cdFx0fVxuXHRcdGNvbnNvbGUuYXNzZXJ0KGxheW91dDJQYXR0ZXJuVXJsW2xheW91dF0gIT09IHVuZGVmaW5lZCApXG5cdFx0cGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG5cdFx0cGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gbGF5b3V0MlBhdHRlcm5VcmxbbGF5b3V0XVxuXHRcdHJldHVyblxuXHRcdGZ1bmN0aW9uIGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUocmVsYXRpdmVVcmwpe1xuXHRcdFx0dmFyIHRtcExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG5cdFx0XHR0bXBMaW5rLmhyZWYgPSByZWxhdGl2ZVVybFxuXHRcdFx0cmV0dXJuIHRtcExpbmsuaHJlZlxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJzQXJlYVV0aWxzO1xuIiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBVdGlscyA9IHt9O1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgcmVuZGVyaW5nIGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmQuIFRoZXkgbWF5IGJlIG1vZGlmaWVkIGxhdGVyLiB0byBmaXQgcGh5c2ljYWwgY2FtZXJhIHBhcmFtZXRlcnNcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdHJhY2tpbmdCYWNrZW5kIC0gdGhlIHRyYWNraW5nIHRvIHVzZXJcbiAqIEByZXR1cm4ge1RIUkVFLkNhbWVyYX0gdGhlIGNyZWF0ZWQgY2FtZXJhXG4gKi9cblV0aWxzLmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gdGhpcy5wYXJzZVRyYWNraW5nTWV0aG9kKHRyYWNraW5nTWV0aG9kKS50cmFja2luZ0JhY2tlbmRcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3Vua25vd24gdHJhY2tpbmdCYWNrZW5kOiAnICsgdHJhY2tpbmdCYWNrZW5kKVxuXG4gICAgcmV0dXJuIGNhbWVyYVxufVxuXG4vKipcbiAqIHBhcnNlIHRyYWNraW5nIG1ldGhvZFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ01ldGhvZCAtIHRoZSB0cmFja2luZyBtZXRob2QgdG8gcGFyc2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSB2YXJpb3VzIGZpZWxkIG9mIHRoZSB0cmFja2luZyBtZXRob2RcbiAqL1xuVXRpbHMucGFyc2VUcmFja2luZ01ldGhvZCA9IGZ1bmN0aW9uICh0cmFja2luZ01ldGhvZCkge1xuXG4gICAgaWYgKHRyYWNraW5nTWV0aG9kID09PSAnYmVzdCcpIHtcbiAgICAgICAgdHJhY2tpbmdNZXRob2QgPSAnYXJlYS1hcnRvb2xraXQnO1xuICAgIH1cblxuICAgIGlmICh0cmFja2luZ01ldGhvZC5zdGFydHNXaXRoKCdhcmVhLScpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nTWV0aG9kLnJlcGxhY2UoJ2FyZWEtJywgJycpLFxuICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdNZXRob2QsXG4gICAgICAgICAgICBtYXJrZXJzQXJlYUVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBVdGlscztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJ3RocmVleEFybWFya2VyY29udHJvbHMnOyAvLyBBbGlhcyBmb3IgZHluYW1pYyBpbXBvcnRpbmdcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQsIEFSQ29udHJvbGxlciB9ID0ganNhcnRvb2xraXQ7XG5jb25zdCBhcnRvb2xraXQgPSBuZXcgQVJUb29sa2l0KCk7XG5cbmNvbnN0IENvbnRleHQgPSBmdW5jdGlvbiAocGFyYW1ldGVycykge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIF90aGlzLl91cGRhdGVkQXQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyBBUiBiYWNrZW5kIC0gWydhcnRvb2xraXQnXVxuICAgICAgICB0cmFja2luZ0JhY2tlbmQ6ICdhcnRvb2xraXQnLFxuICAgICAgICAvLyBkZWJ1ZyAtIHRydWUgaWYgb25lIHNob3VsZCBkaXNwbGF5IGFydG9vbGtpdCBkZWJ1ZyBjYW52YXMsIGZhbHNlIG90aGVyd2lzZVxuICAgICAgICBkZWJ1ZzogZmFsc2UsXG4gICAgICAgIC8vIHRoZSBtb2RlIG9mIGRldGVjdGlvbiAtIFsnY29sb3InLCAnY29sb3JfYW5kX21hdHJpeCcsICdtb25vJywgJ21vbm9fYW5kX21hdHJpeCddXG4gICAgICAgIGRldGVjdGlvbk1vZGU6ICdtb25vJyxcbiAgICAgICAgLy8gdHlwZSBvZiBtYXRyaXggY29kZSAtIHZhbGlkIGlpZiBkZXRlY3Rpb25Nb2RlIGVuZCB3aXRoICdtYXRyaXgnIC0gWzN4MywgM3gzX0hBTU1JTkc2MywgM3gzX1BBUklUWTY1LCA0eDQsIDR4NF9CQ0hfMTNfOV8zLCA0eDRfQkNIXzEzXzVfNV1cbiAgICAgICAgbWF0cml4Q29kZVR5cGU6ICczeDMnLFxuXG4gICAgICAgIC8vIHVybCBvZiB0aGUgY2FtZXJhIHBhcmFtZXRlcnNcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQ29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLFxuXG4gICAgICAgIC8vIHR1bmUgdGhlIG1heGltdW0gcmF0ZSBvZiBwb3NlIGRldGVjdGlvbiBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIG1heERldGVjdGlvblJhdGU6IDYwLFxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGRldGVjdCBwb3NlIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgY2FudmFzV2lkdGg6IDY0MCxcbiAgICAgICAgY2FudmFzSGVpZ2h0OiA0ODAsXG5cbiAgICAgICAgLy8gdGhlIHBhdHRlcm5SYXRpbyBpbnNpZGUgdGhlIGFydG9vbGtpdCBtYXJrZXIgLSBhcnRvb2xraXQgb25seVxuICAgICAgICBwYXR0ZXJuUmF0aW86IDAuNSxcblxuICAgICAgICAvLyBlbmFibGUgaW1hZ2Ugc21vb3RoaW5nIG9yIG5vdCBmb3IgY2FudmFzIGNvcHkgLSBkZWZhdWx0IHRvIHRydWVcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ0VuYWJsZWRcbiAgICAgICAgaW1hZ2VTbW9vdGhpbmdFbmFibGVkOiBmYWxzZSxcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVycyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChbJ2FydG9vbGtpdCddLmluZGV4T2YodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgdHJhY2tpbmdCYWNrZW5kJywgdGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcbiAgICBjb25zb2xlLmFzc2VydChbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKSAhPT0gLTEsICdpbnZhbGlkIHBhcmFtZXRlciBkZXRlY3Rpb25Nb2RlJywgdGhpcy5wYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUpXG5cbiAgICB0aGlzLmFyQ29udHJvbGxlciA9IG51bGw7XG5cbiAgICBfdGhpcy5pbml0aWFsaXplZCA9IGZhbHNlXG5cblxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzID0gW11cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIGN1cnJlbnRWYWx1ZSA9IF90aGlzLnBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJDb250ZXh0OiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50ID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5kaXNwYXRjaEV2ZW50O1xuQ29udGV4dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcjtcbkNvbnRleHQucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmhhc0V2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyO1xuXG4vLyBkZWZhdWx0IHRvIGdpdGh1YiBwYWdlXG5Db250ZXh0LmJhc2VVUkwgPSAnaHR0cHM6Ly9hci1qcy1vcmcuZ2l0aHViLmlvL0FSLmpzL3RocmVlLmpzLydcbkNvbnRleHQuUkVWSVNJT04gPSAnMy4zLjMtZXM2LWJldGEtMDEnXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY2FtZXJhIGZvciB0aGlzIHRyYWNraW5nQmFja2VuZFxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5Db250ZXh0LmNyZWF0ZURlZmF1bHRDYW1lcmEgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1c2UgQVJqcy5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhIGluc3RlYWQnKVxuICAgIC8vIENyZWF0ZSBhIGNhbWVyYVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHZhciBjYW1lcmEgPSBuZXcgVEhSRUUuQ2FtZXJhKCk7XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICByZXR1cm4gY2FtZXJhXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uQ29tcGxldGVkKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl9pbml0QXJ0b29sa2l0KGRvbmUpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuXG5cbiAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgICAgICBfdGhpcy5kaXNwYXRjaEV2ZW50KHtcbiAgICAgICAgICAgIHR5cGU6ICdpbml0aWFsaXplZCdcbiAgICAgICAgfSk7XG5cbiAgICAgICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlXG5cbiAgICAgICAgb25Db21wbGV0ZWQgJiYgb25Db21wbGV0ZWQoKVxuICAgIH1cblxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIHVwZGF0ZSBmdW5jdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cbiAgICAvLyBiZSBzdXJlIGFyQ29udHJvbGxlciBpcyBmdWxseSBpbml0aWFsaXplZFxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyAmJiB0aGlzLmFyQ29udHJvbGxlciA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGVcbiAgICB2YXIgcHJlc2VudCA9IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgaWYgKHRoaXMuX3VwZGF0ZWRBdCAhPT0gbnVsbCAmJiBwcmVzZW50IC0gdGhpcy5fdXBkYXRlZEF0IDwgMTAwMCAvIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICB0aGlzLl91cGRhdGVkQXQgPSBwcmVzZW50XG5cbiAgICB2YXIgcHJldlZpc2libGVNYXJrZXJzID0gW11cblxuICAgIC8vIG1hcmsgYWxsIG1hcmtlcnMgdG8gaW52aXNpYmxlIGJlZm9yZSBwcm9jZXNzaW5nIHRoaXMgZnJhbWVcbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uIChtYXJrZXJDb250cm9scykge1xuICAgICAgICBpZiAobWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSkge1xuICAgICAgICAgICAgcHJldlZpc2libGVNYXJrZXJzLnB1c2gobWFya2VyQ29udHJvbHMpXG4gICAgICAgIH1cbiAgICAgICAgbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG4gICAgfSlcblxuICAgIC8vIHByb2Nlc3MgdGhpcyBmcmFtZVxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLl91cGRhdGVBcnRvb2xraXQoc3JjRWxlbWVudCk7XG4gICAgfSAgZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBkaXNwYXRjaCBldmVudFxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgIHR5cGU6ICdzb3VyY2VQcm9jZXNzZWQnXG4gICAgfSk7XG5cbiAgICAvLyBBZnRlciBmcmFtZSBpcyBwcm9jZXNzZWQsIGNoZWNrIHZpc2liaWxpdHkgb2YgZWFjaCBtYXJrZXIgdG8gZGV0ZXJtaW5lIGlmIGl0IHdhcyBmb3VuZCBvciBsb3N0XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgdmFyIHdhc1Zpc2libGUgPSBwcmV2VmlzaWJsZU1hcmtlcnMuaW5jbHVkZXMobWFya2VyQ29udHJvbHMpO1xuICAgICAgICB2YXIgaXNWaXNpYmxlID0gbWFya2VyQ29udHJvbHMub2JqZWN0M2QudmlzaWJsZTtcbiAgICBcbiAgICAgICAgaWYgKGlzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB3YXNWaXNpYmxlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJGb3VuZCcsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IG1hcmtlckNvbnRyb2xzLFxuICAgICAgICAgICAgfSkpXG4gICAgICAgIH0gZWxzZSBpZiAoaXNWaXNpYmxlID09PSBmYWxzZSAmJiB3YXNWaXNpYmxlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ21hcmtlckxvc3QnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9XG4gICAgfSlcblxuXG4gICAgLy8gcmV0dXJuIHRydWUgYXMgd2UgcHJvY2Vzc2VkIHRoZSBmcmFtZVxuICAgIHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgQWRkL1JlbW92ZSBtYXJrZXJDb250cm9sc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmFkZE1hcmtlciA9IGZ1bmN0aW9uIChhck1hcmtlckNvbnRyb2xzKSB7XG4gICAgY29uc29sZS5hc3NlcnQoYXJNYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMucHVzaChhck1hcmtlckNvbnRyb2xzKVxufVxuXG5Db250ZXh0LnByb3RvdHlwZS5yZW1vdmVNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHZhciBpbmRleCA9IHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmluZGV4T2YoYXJNYXJrZXJDb250cm9scyk7XG4gICAgaWYoIGluZGV4IDwgMCApIHtcbiAgICBcdHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuc3BsaWNlKGluZGV4LCAxKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGFydG9vbGtpdCBzcGVjaWZpY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5faW5pdEFydG9vbGtpdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIHNldCB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCB0byBjaGFuZ2UgYXJ0b29sa2l0IHByb2plY3Rpb24gbWF0cml4IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG4gICAgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25ZKE1hdGguUEkpKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWihNYXRoLlBJKSlcblxuICAgIC8vIGluaXQgQVJUb29sa2l0XG4gICAgYXJ0b29sa2l0LmluaXQoKS50aGVuKF8gPT4ge1xuICAgICAgICAvLyBpbml0IGNvbnRyb2xsZXJcbiAgICAgICAgQVJDb250cm9sbGVyLmluaXRXaXRoRGltZW5zaW9ucyhfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc1dpZHRoLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmFQYXJhbWV0ZXJzVXJsKS50aGVuKChhckNvbnRyb2xsZXIpID0+IHtcbiAgICAgICAgICAgIF90aGlzLmFyQ29udHJvbGxlciA9IGFyQ29udHJvbGxlclxuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1vekltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC53ZWJraXRJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgubXNJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG5cbiAgICAgICAgICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5kZWJ1Z1xuICAgICAgICAgICAgaWYgKF90aGlzLnBhcmFtZXRlcnMuZGVidWcgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuZGVidWdTZXR1cCgpO1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS50b3AgPSAnMHB4J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUub3BhY2l0eSA9ICcwLjYnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmNhbnZhcy5zdHlsZS56SW5kZXggPSAnLTEnXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZXMgPSB7XG4gICAgICAgICAgICAgICAgJ2NvbG9yJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SLFxuICAgICAgICAgICAgICAgICdjb2xvcl9hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgsXG4gICAgICAgICAgICAgICAgJ21vbm8nOiBhcnRvb2xraXQuQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OTyxcbiAgICAgICAgICAgICAgICAnbW9ub19hbmRfbWF0cml4JzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBkZXRlY3Rpb25Nb2RlID0gZGV0ZWN0aW9uTW9kZXNbX3RoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlXVxuICAgICAgICAgICAgY29uc29sZS5hc3NlcnQoZGV0ZWN0aW9uTW9kZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKGRldGVjdGlvbk1vZGUpO1xuXG4gICAgICAgICAgICAvLyBzZXRNYXRyaXhDb2RlVHlwZVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlcyA9IHtcbiAgICAgICAgICAgICAgICAnM3gzJzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4MyxcbiAgICAgICAgICAgICAgICAnM3gzX0hBTU1JTkc2Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDNfSEFNTUlORzYzLFxuICAgICAgICAgICAgICAgICczeDNfUEFSSVRZNjUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1LFxuICAgICAgICAgICAgICAgICc0eDQnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0LFxuICAgICAgICAgICAgICAgICc0eDRfQkNIXzEzXzlfMyc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMyxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM181XzUnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM181XzUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbWF0cml4Q29kZVR5cGUgPSBtYXRyaXhDb2RlVHlwZXNbX3RoaXMucGFyYW1ldGVycy5tYXRyaXhDb2RlVHlwZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KG1hdHJpeENvZGVUeXBlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0TWF0cml4Q29kZVR5cGUobWF0cml4Q29kZVR5cGUpO1xuXG4gICAgICAgICAgICAvLyBzZXQgdGhlIHBhdHRlcm5SYXRpbyBmb3IgYXJ0b29sa2l0XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuc2V0UGF0dFJhdGlvKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblJhdGlvKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRocmVzaG9sZGluZyBpbiBhcnRvb2xraXRcbiAgICAgICAgICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgdGhlIGRlZmF1bHRcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwpXG4gICAgICAgICAgICAvLyBhZGF0YXRpdmUgY29uc3VtZSBhIExPVCBvZiBjcHUuLi5cbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX0FEQVBUSVZFKVxuICAgICAgICAgICAgLy8gYXJDb250cm9sbGVyLnNldFRocmVzaG9sZE1vZGUoYXJ0b29sa2l0LkFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fT1RTVSlcblxuICAgICAgICAgICAgLy8gbm90aWZ5XG4gICAgICAgICAgICBvbkNvbXBsZXRlZCgpXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogcmV0dXJuIHRoZSBwcm9qZWN0aW9uIG1hdHJpeFxuICovXG5Db250ZXh0LnByb3RvdHlwZS5nZXRQcm9qZWN0aW9uTWF0cml4ID0gZnVuY3Rpb24gKHNyY0VsZW1lbnQpIHtcblxuXG4gICAgLy8gRklYTUUgcmVuYW1lIHRoaXMgZnVuY3Rpb24gdG8gc2F5IGl0IGlzIGFydG9vbGtpdCBzcGVjaWZpYyAtIGdldEFydG9vbGtpdFByb2plY3RNYXRyaXhcbiAgICAvLyBrZWVwIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGEgY29uc29sZS53YXJuXG5cbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JylcbiAgICBjb25zb2xlLmFzc2VydCh0aGlzLmFyQ29udHJvbGxlciwgJ2FyQ29udHJvbGxlciBNVVNUIGJlIGluaXRpYWxpemVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbicpXG4gICAgLy8gZ2V0IHByb2plY3Rpb25NYXRyaXhBcnIgZnJvbSBhcnRvb2xraXRcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeEFyciA9IHRoaXMuYXJDb250cm9sbGVyLmdldENhbWVyYU1hdHJpeCgpO1xuICAgIHZhciBwcm9qZWN0aW9uTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkocHJvamVjdGlvbk1hdHJpeEFycilcblxuICAgIC8vIHJldHVybiB0aGUgcmVzdWx0XG4gICAgcmV0dXJuIHByb2plY3Rpb25NYXRyaXhcbn1cblxuQ29udGV4dC5wcm90b3R5cGUuX3VwZGF0ZUFydG9vbGtpdCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG4gICAgdGhpcy5hckNvbnRyb2xsZXIucHJvY2VzcyhzcmNFbGVtZW50KVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcblx0dGhpcy5pbml0aWFsaXplZCA9IGZhbHNlO1xuXG5cdC8vIG1hcmtlcnNcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcblx0XHRjb25zb2xlLmFzc2VydChtYXJrZXJDb250cm9scyBpbnN0YW5jZW9mIEFyTWFya2VyQ29udHJvbHMpO1xuXHRcdG1hcmtlckNvbnRyb2xzLmRpc3Bvc2UoKTtcblx0fSApO1xuXHR0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdO1xuXG5cdC8vIGNhbWVyYVBhcmFtXG5cdGlmICh0aGlzLmFyQ29udHJvbGxlciAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbSAmJiB0aGlzLmFyQ29udHJvbGxlci5jYW1lcmFQYXJhbS5kaXNwb3NlKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSgpO1xuXHR9XG5cblx0XG5cdC8vIEFSQ29udHJvbGxlclxuXHRpZiggdGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSApIHtcblx0XHR0aGlzLmFyQ29udHJvbGxlci5kaXNwb3NlKCk7XG5cdH1cblx0dGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgLy8gY2xhc3MgcHJvcGVydGllc1xuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbnVsbDtcblxuXHQvLyBhcnRvb2xraXRcblx0Ly8gTk9URTogc2luY2UgdGhlIGluc3RhbmNlIG9mIEFSVG9vbGtpdCBpcyBjcmVhdGVkIGdsb2JhbGx5IFxuXHQvLyB3ZSBzaG91bGQgcHJvYmFibHkgZG8gbm90IGNhbGwgLnRlYXJkb3duKCkgLi4uID9cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJCYXNlQ29udHJvbHMgZnJvbSAnLi90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IGpzYXJ0b29sa2l0IGZyb20gJ2pzYXJ0b29sa2l0JzsgLy8gVE9ETyBjb21tZW50IGV4cGxhbmF0aW9uXG5jb25zdCB7IEFSVG9vbGtpdCB9ID0ganNhcnRvb2xraXQ7XG5cbmNvbnN0IE1hcmtlckNvbnRyb2xzID0gZnVuY3Rpb24oY29udGV4dCwgb2JqZWN0M2QsIHBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHR0aGlzLmNvbnRleHQgPSBjb250ZXh0XG5cdC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIHNpemUgb2YgdGhlIG1hcmtlciBpbiBtZXRlclxuXHRcdHNpemUgOiAxLFxuXHRcdC8vIHR5cGUgb2YgbWFya2VyIC0gWydwYXR0ZXJuJywgJ2JhcmNvZGUnLCAndW5rbm93bicgXVxuXHRcdHR5cGUgOiAndW5rbm93bicsXG5cdFx0Ly8gdXJsIG9mIHRoZSBwYXR0ZXJuIC0gSUlGIHR5cGU9J3BhdHRlcm4nXG5cdFx0cGF0dGVyblVybCA6IG51bGwsXG5cdFx0Ly8gdmFsdWUgb2YgdGhlIGJhcmNvZGUgLSBJSUYgdHlwZT0nYmFyY29kZSdcblx0XHRiYXJjb2RlVmFsdWUgOiBudWxsLFxuXHRcdC8vIGNoYW5nZSBtYXRyaXggbW9kZSAtIFttb2RlbFZpZXdNYXRyaXgsIGNhbWVyYVRyYW5zZm9ybU1hdHJpeF1cblx0XHRjaGFuZ2VNYXRyaXhNb2RlIDogJ21vZGVsVmlld01hdHJpeCcsXG5cdFx0Ly8gbWluaW1hbCBjb25maWRlbmNlIGluIHRoZSBtYXJrZSByZWNvZ25pdGlvbiAtIGJldHdlZW4gWzAsIDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bWluQ29uZmlkZW5jZTogMC42LFxuXHRcdC8vIHR1cm4gb24vb2ZmIGNhbWVyYSBzbW9vdGhpbmdcblx0XHRzbW9vdGg6IGZhbHNlLFxuXHRcdC8vIG51bWJlciBvZiBtYXRyaWNlcyB0byBzbW9vdGggdHJhY2tpbmcgb3ZlciwgbW9yZSA9IHNtb290aGVyIGJ1dCBzbG93ZXIgZm9sbG93XG5cdFx0c21vb3RoQ291bnQ6IDUsXG5cdFx0Ly8gZGlzdGFuY2UgdG9sZXJhbmNlIGZvciBzbW9vdGhpbmcsIGlmIHNtb290aFRocmVzaG9sZCAjIG9mIG1hdHJpY2VzIGFyZSB1bmRlciB0b2xlcmFuY2UsIHRyYWNraW5nIHdpbGwgc3RheSBzdGlsbFxuXHRcdHNtb290aFRvbGVyYW5jZTogMC4wMSxcblx0XHQvLyB0aHJlc2hvbGQgZm9yIHNtb290aGluZywgd2lsbCBrZWVwIHN0aWxsIHVubGVzcyBlbm91Z2ggbWF0cmljZXMgYXJlIG92ZXIgdG9sZXJhbmNlXG5cdFx0c21vb3RoVGhyZXNob2xkOiAyLFxuXHR9XG5cblx0Ly8gc2FuaXR5IGNoZWNrXG5cdHZhciBwb3NzaWJsZVZhbHVlcyA9IFsncGF0dGVybicsICdiYXJjb2RlJywgJ3Vua25vd24nXVxuXHRjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy50eXBlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG5cdHZhciBwb3NzaWJsZVZhbHVlcyA9IFsnbW9kZWxWaWV3TWF0cml4JywgJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgXVxuXHRjb25zb2xlLmFzc2VydChwb3NzaWJsZVZhbHVlcy5pbmRleE9mKHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKSAhPT0gLTEsICdpbGxlZ2FsIHZhbHVlJywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUpXG5cblxuICAgICAgICAvLyBjcmVhdGUgdGhlIG1hcmtlciBSb290XG5cdHRoaXMub2JqZWN0M2QgPSBvYmplY3QzZFxuXHR0aGlzLm9iamVjdDNkLm1hdHJpeEF1dG9VcGRhdGUgPSBmYWxzZTtcblx0dGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0c2V0UGFyYW1ldGVyc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0c2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuXHRmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpe1xuXHRcdGlmKCBwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQgKVx0cmV0dXJuXG5cdFx0Zm9yKCB2YXIga2V5IGluIHBhcmFtZXRlcnMgKXtcblx0XHRcdHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNbIGtleSBdXG5cblx0XHRcdGlmKCBuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyTWFya2VyQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxuXG5cdGlmICh0aGlzLnBhcmFtZXRlcnMuc21vb3RoKSB7XG5cdFx0dGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdOyAvLyBsYXN0IERFQk9VTkNFX0NPVU5UIG1vZGVsVmlld01hdHJpeFxuXHR9XG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdENvZGUgU2VwYXJhdG9yXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvLyBhZGQgdGhpcyBtYXJrZXIgdG8gYXJ0b29sa2l0c3lzdGVtXG5cdC8vIFRPRE8gcmVuYW1lIHRoYXQgLmFkZE1hcmtlckNvbnRyb2xzXG5cdGNvbnRleHQuYWRkTWFya2VyKHRoaXMpXG5cblx0aWYoIF90aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0dGhpcy5faW5pdEFydG9vbGtpdCgpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxufVxuXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE1hcmtlckNvbnRyb2xzO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0ZGlzcG9zZSBpbnN0YW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uKCl7XG5cdGlmKCB0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlciApIHtcblx0XHR0aGlzLmNvbnRleHQuYXJDb250cm9sbGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIHRoaXMub25HZXRNYXJrZXIpO1xuXHR9XG5cblx0dGhpcy5jb250ZXh0LnJlbW92ZU1hcmtlcih0aGlzKTtcblx0XG5cdHRoaXMub2JqZWN0M2QgPSBudWxsO1xuXHR0aGlzLnNtb290aE1hdHJpY2VzID0gW107XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGNvbnRyb2xzIHdpdGggbmV3IG1vZGVsVmlld01hdHJpeFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogV2hlbiB5b3UgYWN0dWFsbHkgZ290IGEgbmV3IG1vZGVsVmlld01hdHJpeCwgeW91IG5lZWQgdG8gcGVyZm9tIGEgd2hvbGUgYnVuY2hcbiAqIG9mIHRoaW5ncy4gaXQgaXMgZG9uZSBoZXJlLlxuICovXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeCA9IGZ1bmN0aW9uKG1vZGVsVmlld01hdHJpeCl7XG5cdHZhciBtYXJrZXJPYmplY3QzRCA9IHRoaXMub2JqZWN0M2Q7XG5cblx0Ly8gbWFyayBvYmplY3QgYXMgdmlzaWJsZVxuXHRtYXJrZXJPYmplY3QzRC52aXNpYmxlID0gdHJ1ZVxuXG5cdGlmKCB0aGlzLmNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gYXBwbHkgY29udGV4dC5fYXhpc1RyYW5zZm9ybU1hdHJpeCAtIGNoYW5nZSBhcnRvb2xraXQgYXhpcyB0byBtYXRjaCB1c3VhbCB3ZWJnbCBvbmVcblx0XHR2YXIgdG1wTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5jb3B5KHRoaXMuY29udGV4dC5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cdFx0dG1wTWF0cml4Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeClcblxuXHRcdG1vZGVsVmlld01hdHJpeC5jb3B5KHRtcE1hdHJpeClcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY2hhbmdlIGF4aXMgb3JpZW50YXRpb24gb24gbWFya2VyIC0gYXJ0b29sa2l0IHNheSBaIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyIC0gYXIuanMgc2F5IFkgaXMgbm9ybWFsIHRvIHRoZSBtYXJrZXJcblx0dmFyIG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblgoTWF0aC5QSS8yKVxuXHRtb2RlbFZpZXdNYXRyaXgubXVsdGlwbHkobWFya2VyQXhpc1RyYW5zZm9ybU1hdHJpeClcblxuXHR2YXIgcmVuZGVyUmVxZCA9IGZhbHNlO1xuXG5cdC8vIGNoYW5nZSBtYXJrZXJPYmplY3QzRC5tYXRyaXggYmFzZWQgb24gcGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG5cdGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuXHRcdFx0dmFyIHN1bSxcblx0XHRcdFx0XHRpLCBqLFxuXHRcdFx0XHRcdGF2ZXJhZ2VzLCAvLyBhdmVyYWdlIHZhbHVlcyBmb3IgbWF0cml4IG92ZXIgbGFzdCBzbW9vdGhDb3VudFxuXHRcdFx0XHRcdGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID0gMDtcblxuXHRcdFx0dGhpcy5zbW9vdGhNYXRyaWNlcy5wdXNoKG1vZGVsVmlld01hdHJpeC5lbGVtZW50cy5zbGljZSgpKTsgLy8gYWRkIGxhdGVzdFxuXG5cdFx0XHRpZiAodGhpcy5zbW9vdGhNYXRyaWNlcy5sZW5ndGggPCAodGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50ICsgMSkpIHtcblx0XHRcdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KTsgLy8gbm90IGVub3VnaCBmb3IgYXZlcmFnZVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zbW9vdGhNYXRyaWNlcy5zaGlmdCgpOyAvLyByZW1vdmUgb2xkZXN0IGVudHJ5XG5cdFx0XHRcdGF2ZXJhZ2VzID0gW107XG5cblx0XHRcdFx0Zm9yIChpIGluIG1vZGVsVmlld01hdHJpeC5lbGVtZW50cykgeyAvLyBsb29wIG92ZXIgZW50cmllcyBpbiBtYXRyaXhcblx0XHRcdFx0XHRzdW0gPSAwO1xuXHRcdFx0XHRcdGZvciAoaiBpbiB0aGlzLnNtb290aE1hdHJpY2VzKSB7IC8vIGNhbGN1bGF0ZSBhdmVyYWdlIGZvciB0aGlzIGVudHJ5XG5cdFx0XHRcdFx0XHRzdW0gKz0gdGhpcy5zbW9vdGhNYXRyaWNlc1tqXVtpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0YXZlcmFnZXNbaV0gPSBzdW0gLyB0aGlzLnBhcmFtZXRlcnMuc21vb3RoQ291bnQ7XG5cdFx0XHRcdFx0Ly8gY2hlY2sgaG93IG1hbnkgZWxlbWVudHMgdmFyeSBmcm9tIHRoZSBhdmVyYWdlIGJ5IGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRVxuXHRcdFx0XHRcdGlmIChNYXRoLmFicyhhdmVyYWdlc1tpXSAtIG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSkgPj0gdGhpcy5wYXJhbWV0ZXJzLnNtb290aFRvbGVyYW5jZSkge1xuXHRcdFx0XHRcdFx0ZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UrKztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBpZiBtb3ZpbmcgKGkuZS4gYXQgbGVhc3QgQVZFUkFHRV9NQVRSSVhfVEhSRVNIT0xEIGVudHJpZXMgYXJlIG92ZXIgQVZFUkFHRV9NQVRSSVhfVE9MRVJBTkNFKVxuXHRcdFx0XHRpZiAoZXhjZWVkc0F2ZXJhZ2VUb2xlcmFuY2UgPj0gdGhpcy5wYXJhbWV0ZXJzLnNtb290aFRocmVzaG9sZCkge1xuXHRcdFx0XHRcdC8vIHRoZW4gdXBkYXRlIG1hdHJpeCB2YWx1ZXMgdG8gYXZlcmFnZSwgb3RoZXJ3aXNlLCBkb24ndCByZW5kZXIgdG8gbWluaW1pemUgaml0dGVyXG5cdFx0XHRcdFx0Zm9yIChpIGluIG1vZGVsVmlld01hdHJpeC5lbGVtZW50cykge1xuXHRcdFx0XHRcdFx0bW9kZWxWaWV3TWF0cml4LmVsZW1lbnRzW2ldID0gYXZlcmFnZXNbaV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7XG5cdFx0XHRcdFx0cmVuZGVyUmVxZCA9IHRydWU7IC8vIHJlbmRlciByZXF1aXJlZCBpbiBhbmltYXRpb24gbG9vcFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeClcblx0XHR9XG5cdH1lbHNlIGlmKCB0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpLmludmVydCgpXG5cdH1lbHNlIHtcblx0XHRjb25zb2xlLmFzc2VydChmYWxzZSlcblx0fVxuXG5cdC8vIGRlY29tcG9zZSAtIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0bWFya2VyT2JqZWN0M0QubWF0cml4LmRlY29tcG9zZShtYXJrZXJPYmplY3QzRC5wb3NpdGlvbiwgbWFya2VyT2JqZWN0M0QucXVhdGVybmlvbiwgbWFya2VyT2JqZWN0M0Quc2NhbGUpXG5cblx0Ly8gZGlzcGF0Y2hFdmVudFxuXHR0aGlzLmRpc3BhdGNoRXZlbnQoIHsgdHlwZTogJ21hcmtlckZvdW5kJyB9ICk7XG5cblx0cmV0dXJuIHJlbmRlclJlcWQ7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXRpbGl0eSBmdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHByb3ZpZGUgYSBuYW1lIGZvciBhIG1hcmtlclxuICogLSBzaWxseSBoZXVyaXN0aWMgZm9yIG5vd1xuICogLSBzaG91bGQgYmUgaW1wcm92ZWRcbiAqL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbigpe1xuXHR2YXIgbmFtZSA9ICcnXG5cdG5hbWUgKz0gdGhpcy5wYXJhbWV0ZXJzLnR5cGU7XG5cdGlmKCB0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdFx0dmFyIHVybCA9IHRoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsXG5cdFx0dmFyIGJhc2VuYW1lID0gdXJsLnJlcGxhY2UoL14uKlxcLy9nLCAnJylcblx0XHRuYW1lICs9ICcgLSAnICsgYmFzZW5hbWVcblx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy50eXBlID09PSAnYmFyY29kZScgKXtcblx0XHRuYW1lICs9ICcgLSAnICsgdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHR9ZWxzZXtcblx0XHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ25vIC5uYW1lKCkgaW1wbGVtZW50ZWQgZm9yIHRoaXMgbWFya2VyIGNvbnRyb2xzJylcblx0fVxuXHRyZXR1cm4gbmFtZVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGluaXQgZm9yIEFydG9vbGtpdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuX2luaXRBcnRvb2xraXQgPSBmdW5jdGlvbigpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cblx0dmFyIGFydG9vbGtpdE1hcmtlcklkID0gbnVsbFxuXG5cdHZhciBkZWxheWVkSW5pdFRpbWVySWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpe1xuXHRcdC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG5cdFx0dmFyIGFyQ29udHJvbGxlciA9IF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyXG5cdFx0aWYoIGFyQ29udHJvbGxlciA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHQvLyBzdG9wIGxvb3BpbmcgaWYgaXQgaXMgaW5pdFxuXHRcdGNsZWFySW50ZXJ2YWwoZGVsYXllZEluaXRUaW1lcklkKVxuXHRcdGRlbGF5ZWRJbml0VGltZXJJZCA9IG51bGxcblx0XHQvLyBsYXVuY2ggdGhlIF9wb3N0SW5pdEFydG9vbGtpdFxuXHRcdHBvc3RJbml0KClcblx0fSwgMTAwMC81MClcblxuXHRyZXR1cm5cblxuXHRmdW5jdGlvbiBwb3N0SW5pdCgpe1xuXHRcdC8vIGNoZWNrIGlmIGFyQ29udHJvbGxlciBpcyBpbml0XG5cdFx0dmFyIGFyQ29udHJvbGxlciA9IF90aGlzLmNvbnRleHQuYXJDb250cm9sbGVyXG5cdFx0Y29uc29sZS5hc3NlcnQoYXJDb250cm9sbGVyICE9PSBudWxsIClcblxuXHRcdC8vIHN0YXJ0IHRyYWNraW5nIHRoaXMgcGF0dGVyblxuXHRcdGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHQgICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmxvYWRNYXJrZXIoX3RoaXMucGFyYW1ldGVycy5wYXR0ZXJuVXJsKS50aGVuKGZ1bmN0aW9uKG1hcmtlcklkKSB7XG5cdFx0XHRcdGFydG9vbGtpdE1hcmtlcklkID0gbWFya2VySWRcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLnRyYWNrUGF0dGVybk1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuXHQgICAgICAgICAgICAgICAgfSk7XG5cdFx0fWVsc2UgaWYoIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IF90aGlzLnBhcmFtZXRlcnMuYmFyY29kZVZhbHVlXG5cdFx0XHRhckNvbnRyb2xsZXIudHJhY2tCYXJjb2RlTWFya2VySWQoYXJ0b29sa2l0TWFya2VySWQsIF90aGlzLnBhcmFtZXRlcnMuc2l6ZSk7XG5cdFx0fWVsc2UgaWYoIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3Vua25vd24nICl7XG5cdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblx0XHR9ZWxzZXtcblx0XHRcdGNvbnNvbGUubG9nKGZhbHNlLCAnaW52YWxpZCBtYXJrZXIgdHlwZScsIF90aGlzLnBhcmFtZXRlcnMudHlwZSlcblx0XHR9XG5cblx0XHQvLyBsaXN0ZW4gdG8gdGhlIGV2ZW50XG5cdFx0YXJDb250cm9sbGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2dldE1hcmtlcicsIG9uR2V0TWFya2VyKVxuXG5cdH1cblxuXHRmdW5jdGlvbiBvbk1hcmtlckZvdW5kKGV2ZW50KXtcblx0XHQvLyBob25vciBoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlXG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmUGF0dCA8IF90aGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZSApXHRyZXR1cm5cblx0XHRpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuQkFSQ09ERV9NQVJLRVIgJiYgZXZlbnQuZGF0YS5tYXJrZXIuY2ZNYXRyaXggPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgKVx0cmV0dXJuXG5cblx0XHR2YXIgbW9kZWxWaWV3TWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5mcm9tQXJyYXkoZXZlbnQuZGF0YS5tYXRyaXgpXG5cdFx0X3RoaXMudXBkYXRlV2l0aE1vZGVsVmlld01hdHJpeChtb2RlbFZpZXdNYXRyaXgpXG5cdH1cblxuXHRmdW5jdGlvbiBvbkdldE1hcmtlcihldmVudCl7XG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LlBBVFRFUk5fTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ3BhdHRlcm4nICl7XG5cdFx0XHRpZiggYXJ0b29sa2l0TWFya2VySWQgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0XHRpZiggZXZlbnQuZGF0YS5tYXJrZXIuaWRQYXR0ID09PSBhcnRvb2xraXRNYXJrZXJJZCApIG9uTWFya2VyRm91bmQoZXZlbnQpXG5cdFx0fWVsc2UgaWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIF90aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnQkFSQ09ERV9NQVJLRVIgaWRNYXRyaXgnLCBldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCwgYXJ0b29sa2l0TWFya2VySWQgKVxuXHRcdFx0aWYoIGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsIClcdHJldHVyblxuXHRcdFx0aWYoIGV2ZW50LmRhdGEubWFya2VyLmlkTWF0cml4ID09PSBhcnRvb2xraXRNYXJrZXJJZCApICBvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1lbHNlIGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5VTktOT1dOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJyl7XG5cdFx0XHRvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1cblx0fVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlckNvbnRyb2xzO1xuIiwiaW1wb3J0IFV0aWxzIGZyb20gJy4uL25ldy1hcGkvYXJqcy11dGlscyc7XG5pbXBvcnQgQXJUb29sa2l0Q29udGV4dCBmcm9tICcuL2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuLyoqXG4gKiBBclRvb2xraXRQcm9maWxlIGhlbHBzIHlvdSBidWlsZCBwYXJhbWV0ZXJzIGZvciBhcnRvb2xraXRcbiAqIC0gaXQgaXMgZnVsbHkgaW5kZXBlbmRlbnQgb2YgdGhlIHJlc3Qgb2YgdGhlIGNvZGVcbiAqIC0gYWxsIHRoZSBvdGhlciBjbGFzc2VzIGFyZSBzdGlsbCBleHBlY3Rpbmcgbm9ybWFsIHBhcmFtZXRlcnNcbiAqIC0geW91IGNhbiB1c2UgdGhpcyBjbGFzcyB0byB1bmRlcnN0YW5kIGhvdyB0byB0dW5lIHlvdXIgc3BlY2lmaWMgdXNlY2FzZVxuICogLSBpdCBpcyBtYWRlIHRvIGhlbHAgcGVvcGxlIHRvIGJ1aWxkIHBhcmFtZXRlcnMgd2l0aG91dCB1bmRlcnN0YW5kaW5nIGFsbCB0aGUgdW5kZXJseWluZyBkZXRhaWxzLlxuICovXG5jb25zdCBQcm9maWxlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVzZXQoKVxuXG4gICAgdGhpcy5wZXJmb3JtYW5jZSgnZGVmYXVsdCcpXG59XG5cblByb2ZpbGUucHJvdG90eXBlLl9ndWVzc1BlcmZvcm1hbmNlTGFiZWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGlzTW9iaWxlID0gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC93ZWJPUy9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmUvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBhZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUG9kL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0JsYWNrQmVycnkvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvV2luZG93cyBQaG9uZS9pKVxuICAgICAgICA/IHRydWUgOiBmYWxzZVxuICAgIGlmIChpc01vYmlsZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gJ3Bob25lLW5vcm1hbCdcbiAgICB9XG4gICAgcmV0dXJuICdkZXNrdG9wLW5vcm1hbCdcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogcmVzZXQgYWxsIHBhcmFtZXRlcnNcbiAqL1xuUHJvZmlsZS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyB0byByZWFkIGZyb20gdGhlIHdlYmNhbVxuICAgICAgICBzb3VyY2VUeXBlOiAnd2ViY2FtJyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzID0ge1xuICAgICAgICBjYW1lcmFQYXJhbWV0ZXJzVXJsOiBBclRvb2xraXRDb250ZXh0LmJhc2VVUkwgKyAnLi4vZGF0YS9kYXRhL2NhbWVyYV9wYXJhLmRhdCcsIC8vIFRPRE8gZGVwZW5kZW50IG9mIGJ1aWxkP1xuICAgICAgICBkZXRlY3Rpb25Nb2RlOiAnbW9ubycsXG4gICAgfVxuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHR5cGU6ICdwYXR0ZXJuJyxcbiAgICAgICAgcGF0dGVyblVybDogQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9wYXR0Lmhpcm8nLCAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICAgICAgY2hhbmdlTWF0cml4TW9kZTogJ21vZGVsVmlld01hdHJpeCcsXG4gICAgfVxuICAgIHJldHVybiB0aGlzXG59O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFBlcmZvcm1hbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cblByb2ZpbGUucHJvdG90eXBlLnBlcmZvcm1hbmNlID0gZnVuY3Rpb24gKGxhYmVsKSB7XG5cbiAgICBpZiAobGFiZWwgPT09ICdkZWZhdWx0Jykge1xuICAgICAgICBsYWJlbCA9IHRoaXMuX2d1ZXNzUGVyZm9ybWFuY2VMYWJlbCgpXG4gICAgfVxuXG4gICAgaWYgKGxhYmVsID09PSAnZGVza3RvcC1mYXN0Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gNjQwICogM1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDQ4MCAqIDNcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdkZXNrdG9wLW5vcm1hbCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDY0MFxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDQ4MFxuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDYwXG4gICAgfSBlbHNlIGlmIChsYWJlbCA9PT0gJ3Bob25lLW5vcm1hbCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDgwICogNFxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc0hlaWdodCA9IDYwICogNFxuXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSA9IDMwXG4gICAgfSBlbHNlIGlmIChsYWJlbCA9PT0gJ3Bob25lLXNsb3cnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA4MCAqIDNcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA2MCAqIDNcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5rbm9ud24gbGFiZWwgJyArIGxhYmVsKVxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdE1hcmtlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuUHJvZmlsZS5wcm90b3R5cGUuZGVmYXVsdE1hcmtlciA9IGZ1bmN0aW9uICh0cmFja2luZ0JhY2tlbmQpIHtcbiAgICB0cmFja2luZ0JhY2tlbmQgPSB0cmFja2luZ0JhY2tlbmQgfHwgdGhpcy5jb250ZXh0UGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSA9ICdtb25vJ1xuICAgICAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcbiAgICAgICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5wYXR0ZXJuVXJsID0gQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9wYXR0Lmhpcm8nIC8vIFRPRE8gZGVwZW5kZW50IG9mIGJ1aWxkP1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuICAgIHJldHVybiB0aGlzXG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdFNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VXZWJjYW0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPSAnd2ViY2FtJ1xuICAgIGRlbGV0ZSB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlVmlkZW8gPSBmdW5jdGlvbiAodXJsKSB7XG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPSAndmlkZW8nXG4gICAgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybCA9IHVybFxuICAgIHJldHVybiB0aGlzXG59XG5cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZUltYWdlID0gZnVuY3Rpb24gKHVybCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ2ltYWdlJ1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmwgPSB1cmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHRyYWNraW5nQmFja2VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS50cmFja2luZ0JhY2tlbmQgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgY29uc29sZS53YXJuKCdzdG9wIHByb2ZpbGUudHJhY2tpbmdCYWNrZW5kKCkgb2Jzb2xldGUgZnVuY3Rpb24uIHVzZSAudHJhY2tpbmdNZXRob2QgaW5zdGVhZCcpXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQgPSB0cmFja2luZ0JhY2tlbmRcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHRyYWNraW5nQmFja2VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Qcm9maWxlLnByb3RvdHlwZS5jaGFuZ2VNYXRyaXhNb2RlID0gZnVuY3Rpb24gKGNoYW5nZU1hdHJpeE1vZGUpIHtcbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPSBjaGFuZ2VNYXRyaXhNb2RlXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUudHJhY2tpbmdNZXRob2QgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcbiAgICB2YXIgZGF0YSA9IFV0aWxzLnBhcnNlVHJhY2tpbmdNZXRob2QodHJhY2tpbmdNZXRob2QpXG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5tYXJrZXJzQXJlYUVuYWJsZWQgPSBkYXRhLm1hcmtlcnNBcmVhRW5hYmxlZFxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID0gZGF0YS50cmFja2luZ0JhY2tlbmRcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIGNoZWNrIGlmIHRoZSBwcm9maWxlIGlzIHZhbGlkLiBUaHJvdyBhbiBleGNlcHRpb24gaXMgbm90IHZhbGlkXG4gKi9cblByb2ZpbGUucHJvdG90eXBlLmNoZWNrSWZWYWxpZCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdGhpc1xufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9maWxlO1xuIiwiY29uc3QgU291cmNlID0gZnVuY3Rpb24gKHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICB0aGlzLnJlYWR5ID0gZmFsc2VcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBudWxsXG5cbiAgICAvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge1xuICAgICAgICAvLyB0eXBlIG9mIHNvdXJjZSAtIFsnd2ViY2FtJywgJ2ltYWdlJywgJ3ZpZGVvJ11cbiAgICAgICAgc291cmNlVHlwZTogJ3dlYmNhbScsXG4gICAgICAgIC8vIHVybCBvZiB0aGUgc291cmNlIC0gdmFsaWQgaWYgc291cmNlVHlwZSA9IGltYWdlfHZpZGVvXG4gICAgICAgIHNvdXJjZVVybDogbnVsbCxcblxuICAgICAgICAvLyBEZXZpY2UgaWQgb2YgdGhlIGNhbWVyYSB0byB1c2UgKG9wdGlvbmFsKVxuICAgICAgICBkZXZpY2VJZDogbnVsbCxcblxuICAgICAgICAvLyByZXNvbHV0aW9uIG9mIGF0IHdoaWNoIHdlIGluaXRpYWxpemUgaW4gdGhlIHNvdXJjZSBpbWFnZVxuICAgICAgICBzb3VyY2VXaWR0aDogNjQwLFxuICAgICAgICBzb3VyY2VIZWlnaHQ6IDQ4MCxcbiAgICAgICAgLy8gcmVzb2x1dGlvbiBkaXNwbGF5ZWQgZm9yIHRoZSBzb3VyY2VcbiAgICAgICAgZGlzcGxheVdpZHRoOiA2NDAsXG4gICAgICAgIGRpc3BsYXlIZWlnaHQ6IDQ4MCxcbiAgICB9XG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0c2V0UGFyYW1ldGVyc1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcbiAgICBmdW5jdGlvbiBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgaWYgKHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuXG4gICAgICAgIGZvciAodmFyIGtleSBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJBclRvb2xraXRTb3VyY2U6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJUb29sa2l0U291cmNlOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBfdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBuZXdWYWx1ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vbkluaXRpYWxDbGljayA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiggdGhpcy5kb21FbGVtZW50ICYmIHRoaXMuZG9tRWxlbWVudC5wbGF5ICkge1xuICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LnBsYXkoKS50aGVuKCAoKSA9PiB7fSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuU291cmNlLnByb3RvdHlwZS5pbml0ID0gZnVuY3Rpb24gKG9uUmVhZHksIG9uRXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlSW1hZ2Uob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAndmlkZW8nKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVZpZGVvKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ3dlYmNhbScpIHtcbiAgICAgICAgLy8gdmFyIGRvbUVsZW1lbnQgPSB0aGlzLl9pbml0U291cmNlV2ViY2FtT2xkKG9uU291cmNlUmVhZHkpXG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVdlYmNhbShvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGF0dGFjaFxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvbUVsZW1lbnRcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRvcCA9ICcwcHgnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmxlZnQgPSAnMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS56SW5kZXggPSAnLTInXG4gICAgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCAnYXJqcy12aWRlbycpO1xuXG4gICAgcmV0dXJuIHRoaXNcbiAgICBmdW5jdGlvbiBvblNvdXJjZVJlYWR5KCkge1xuICAgICAgICBpZiggIV90aGlzLmRvbUVsZW1lbnQgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKF90aGlzLmRvbUVsZW1lbnQpO1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2FyanMtdmlkZW8tbG9hZGVkJywge1xuICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIF90aGlzLnJlYWR5ID0gdHJ1ZVxuXG4gICAgICAgIG9uUmVhZHkgJiYgb25SZWFkeSgpXG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCBpbWFnZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuU291cmNlLnByb3RvdHlwZS5faW5pdFNvdXJjZUltYWdlID0gZnVuY3Rpb24gKG9uUmVhZHkpIHtcbiAgICAvLyBUT0RPIG1ha2UgaXQgc3RhdGljXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTtcbiAgICBkb21FbGVtZW50LnNyYyA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VVcmw7XG5cbiAgICBkb21FbGVtZW50LndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVdpZHRoO1xuICAgIGRvbUVsZW1lbnQuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLnNvdXJjZUhlaWdodDtcbiAgICBkb21FbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCArICdweCc7XG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCc7XG5cbiAgICBkb21FbGVtZW50Lm9ubG9hZCA9IG9uUmVhZHk7XG4gICAgcmV0dXJuIGRvbUVsZW1lbnRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgdmlkZW8gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VWaWRlbyA9IGZ1bmN0aW9uIChvblJlYWR5KSB7XG4gICAgLy8gVE9ETyBtYWtlIGl0IHN0YXRpY1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICBkb21FbGVtZW50LnNyYyA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VVcmw7XG5cbiAgICBkb21FbGVtZW50LnN0eWxlLm9iamVjdEZpdCA9ICdpbml0aWFsJztcblxuICAgIGRvbUVsZW1lbnQuYXV0b3BsYXkgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQud2Via2l0UGxheXNpbmxpbmUgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQuY29udHJvbHMgPSBmYWxzZTtcbiAgICBkb21FbGVtZW50Lmxvb3AgPSB0cnVlO1xuICAgIGRvbUVsZW1lbnQubXV0ZWQgPSB0cnVlO1xuXG4gICAgLy8gc3RhcnQgdGhlIHZpZGVvIG9uIGZpcnN0IGNsaWNrIGlmIG5vdCBzdGFydGVkIGF1dG9tYXRpY2FsbHlcbiAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5vbkluaXRpYWxDbGljaywge29uY2U6dHJ1ZX0pO1xuXG4gICAgZG9tRWxlbWVudC53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aDtcbiAgICBkb21FbGVtZW50LmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQ7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnO1xuXG4gICAgZG9tRWxlbWVudC5vbmxvYWRlZGRhdGEgPSBvblJlYWR5O1xuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IHdlYmNhbSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VXZWJjYW0gPSBmdW5jdGlvbiAob25SZWFkeSwgb25FcnJvcikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcblxuICAgIC8vIGluaXQgZGVmYXVsdCB2YWx1ZVxuICAgIG9uRXJyb3IgPSBvbkVycm9yIHx8IGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2NhbWVyYS1lcnJvcicsIHsgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlcnJvci1wb3B1cCcpKSB7XG4gICAgICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdXZWJjYW0gRXJyb3JcXG5OYW1lOiAnICsgZXJyb3IubmFtZSArICdcXG5NZXNzYWdlOiAnICsgZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgIGVycm9yUG9wdXAuc2V0QXR0cmlidXRlKCdpZCcsICdlcnJvci1wb3B1cCcpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMDApO1xuICAgIH1cblxuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndmlkZW8nKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgnYXV0b3BsYXknLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ211dGVkJywgJycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdwbGF5c2lubGluZScsICcnKTtcbiAgICBkb21FbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlXaWR0aCArICdweCdcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4J1xuXG4gICAgLy8gY2hlY2sgQVBJIGlzIGF2YWlsYWJsZVxuICAgIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzID09PSB1bmRlZmluZWRcbiAgICAgICAgfHwgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSB1bmRlZmluZWRcbiAgICAgICAgfHwgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyA9PT0gdW5kZWZpbmVkKSB2YXIgZmN0TmFtZSA9ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzJ1xuICAgICAgICBlbHNlIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzJ1xuICAgICAgICBlbHNlIGlmIChuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSA9PT0gdW5kZWZpbmVkKSB2YXIgZmN0TmFtZSA9ICduYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSdcbiAgICAgICAgZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdXZWJSVEMgaXNzdWUtISAnICsgZmN0TmFtZSArICcgbm90IHByZXNlbnQgaW4geW91ciBicm93c2VyJ1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICAvLyBnZXQgYXZhaWxhYmxlIGRldmljZXNcbiAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmVudW1lcmF0ZURldmljZXMoKS50aGVuKGZ1bmN0aW9uIChkZXZpY2VzKSB7XG4gICAgICAgIHZhciB1c2VyTWVkaWFDb25zdHJhaW50cyA9IHtcbiAgICAgICAgICAgIGF1ZGlvOiBmYWxzZSxcbiAgICAgICAgICAgIHZpZGVvOiB7XG4gICAgICAgICAgICAgICAgZmFjaW5nTW9kZTogJ2Vudmlyb25tZW50JyxcbiAgICAgICAgICAgICAgICB3aWR0aDoge1xuICAgICAgICAgICAgICAgICAgICBpZGVhbDogX3RoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWluOiAxMDI0LFxuICAgICAgICAgICAgICAgICAgICAvLyBtYXg6IDE5MjBcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGhlaWdodDoge1xuICAgICAgICAgICAgICAgICAgICBpZGVhbDogX3RoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbjogNzc2LFxuICAgICAgICAgICAgICAgICAgICAvLyBtYXg6IDEwODBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG51bGwgIT09IF90aGlzLnBhcmFtZXRlcnMuZGV2aWNlSWQpIHtcbiAgICAgICAgICAgIHVzZXJNZWRpYUNvbnN0cmFpbnRzLnZpZGVvLmRldmljZUlkID0ge1xuICAgICAgICAgICAgICAgIGV4YWN0OiBfdGhpcy5wYXJhbWV0ZXJzLmRldmljZUlkXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZ2V0IGEgZGV2aWNlIHdoaWNoIHNhdGlzZnkgdGhlIGNvbnN0cmFpbnRzXG4gICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHVzZXJNZWRpYUNvbnN0cmFpbnRzKS50aGVuKGZ1bmN0aW9uIHN1Y2Nlc3Moc3RyZWFtKSB7XG4gICAgICAgICAgICAvLyBzZXQgdGhlIC5zcmMgb2YgdGhlIGRvbUVsZW1lbnRcbiAgICAgICAgICAgIGRvbUVsZW1lbnQuc3JjT2JqZWN0ID0gc3RyZWFtO1xuXG4gICAgICAgICAgICB2YXIgZXZlbnQgPSBuZXcgQ3VzdG9tRXZlbnQoJ2NhbWVyYS1pbml0JywgeyBzdHJlYW06IHN0cmVhbSB9KTtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcblxuICAgICAgICAgICAgLy8gc3RhcnQgdGhlIHZpZGVvIG9uIGZpcnN0IGNsaWNrIGlmIG5vdCBzdGFydGVkIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBfdGhpcy5vbkluaXRpYWxDbGljaywge29uY2U6dHJ1ZX0pOyAgICAgICAgICAgIFxuXG4gICAgICAgICAgICBvblJlYWR5KCk7XG4gICAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgb25FcnJvcih7XG4gICAgICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSkuY2F0Y2goZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBkaXNwb3NlIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5kaXNwb3NlID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMucmVhZHkgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUpIHtcbiAgICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZUltYWdlKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICd2aWRlbyc6XG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlU291cmNlVmlkZW8oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3dlYmNhbSc6XG4gICAgICAgICAgICB0aGlzLl9kaXNwb3NlU291cmNlV2ViY2FtKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBudWxsO1xuXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTsgICAgICAgICAgICBcbn1cdFxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSBpbWFnZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2Rpc3Bvc2VTb3VyY2VJbWFnZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG5cbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSB2aWRlbyBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuX2Rpc3Bvc2VTb3VyY2VWaWRlbyA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG4gICAgXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvbWVkaWEuaHRtbCNiZXN0LXByYWN0aWNlcy1mb3ItYXV0aG9ycy11c2luZy1tZWRpYS1lbGVtZW50c1xuICAgIGRvbUVsZW1lbnQucGF1c2UoKTtcbiAgICBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnc3JjJyk7IFxuICAgIGRvbUVsZW1lbnQubG9hZCgpOyBcblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7ICAgIFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSB3ZWJjYW0gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlV2ViY2FtID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKTtcblxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjQzNjc3MlxuICAgIGlmKCBkb21FbGVtZW50LnNyY09iamVjdCAmJiBkb21FbGVtZW50LnNyY09iamVjdC5nZXRUcmFja3MgKSB7XG4gICAgICAgIGRvbUVsZW1lbnQuc3JjT2JqZWN0LmdldFRyYWNrcygpLm1hcCgodHJhY2spID0+IHRyYWNrLnN0b3AoKSk7ICAgIFxuICAgIH1cdFxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTtcdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEhhbmRsZSBNb2JpbGUgVG9yY2hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuU291cmNlLnByb3RvdHlwZS5oYXNNb2JpbGVUb3JjaCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RyZWFtID0gYXJUb29sa2l0U291cmNlLmRvbUVsZW1lbnQuc3JjT2JqZWN0XG4gICAgaWYgKHN0cmVhbSBpbnN0YW5jZW9mIE1lZGlhU3RyZWFtID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBpZiAodGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID0gZmFsc2VcbiAgICB9XG5cbiAgICB2YXIgdmlkZW9UcmFjayA9IHN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdO1xuXG4gICAgLy8gaWYgdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKSBkb2VzbnQgZXhpc3QsIHJldHVybiBmYWxzZSBub3dcbiAgICBpZiAodmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZhbHNlXG5cbiAgICB2YXIgY2FwYWJpbGl0aWVzID0gdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKVxuXG4gICAgcmV0dXJuIGNhcGFiaWxpdGllcy50b3JjaCA/IHRydWUgOiBmYWxzZVxufVxuXG4vKipcbiAqIHRvZ2dsZSB0aGUgZmxhc2gvdG9yY2ggb2YgdGhlIG1vYmlsZSBmdW4gaWYgYXBwbGljYWJsZS5cbiAqIEdyZWF0IHBvc3QgYWJvdXQgaXQgaHR0cHM6Ly93d3cub2JlcmhvZmVyLmNvL21lZGlhc3RyZWFtdHJhY2stYW5kLWl0cy1jYXBhYmlsaXRpZXMvXG4gKi9cblNvdXJjZS5wcm90b3R5cGUudG9nZ2xlTW9iaWxlVG9yY2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gc2FuaXR5IGNoZWNrXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5oYXNNb2JpbGVUb3JjaCgpID09PSB0cnVlKVxuXG4gICAgdmFyIHN0cmVhbSA9IGFyVG9vbGtpdFNvdXJjZS5kb21FbGVtZW50LnNyY09iamVjdFxuICAgIGlmIChzdHJlYW0gaW5zdGFuY2VvZiBNZWRpYVN0cmVhbSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGVycm9yUG9wdXAuaW5uZXJIVE1MID0gJ2VuYWJsaW5nIG1vYmlsZSB0b3JjaCBpcyBhdmFpbGFibGUgb25seSBvbiB3ZWJjYW0nXG4gICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IGZhbHNlXG4gICAgfVxuXG4gICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTtcbiAgICB2YXIgY2FwYWJpbGl0aWVzID0gdmlkZW9UcmFjay5nZXRDYXBhYmlsaXRpZXMoKVxuXG4gICAgaWYgKCFjYXBhYmlsaXRpZXMudG9yY2gpIHtcbiAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgdmFyIGVycm9yUG9wdXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGVycm9yUG9wdXAuaW5uZXJIVE1MID0gJ25vIG1vYmlsZSB0b3JjaCBpcyBhdmFpbGFibGUgb24geW91ciBjYW1lcmEnXG4gICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZXJyb3JQb3B1cCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID0gdGhpcy5fY3VycmVudFRvcmNoU3RhdHVzID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZVxuICAgIHZpZGVvVHJhY2suYXBwbHlDb25zdHJhaW50cyh7XG4gICAgICAgIGFkdmFuY2VkOiBbe1xuICAgICAgICAgICAgdG9yY2g6IHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1c1xuICAgICAgICB9XVxuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcilcbiAgICB9KTtcbn1cblxuU291cmNlLnByb3RvdHlwZS5kb21FbGVtZW50V2lkdGggPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aClcbn1cblNvdXJjZS5wcm90b3R5cGUuZG9tRWxlbWVudEhlaWdodCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGhhbmRsZSByZXNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUub25SZXNpemVFbGVtZW50ID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICB2YXIgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aFxuICAgIHZhciBzY3JlZW5IZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHRcblxuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG5cbiAgICAvLyBjb21wdXRlIHNvdXJjZVdpZHRoLCBzb3VyY2VIZWlnaHRcbiAgICBpZiAodGhpcy5kb21FbGVtZW50Lm5vZGVOYW1lID09PSBcIklNR1wiKSB7XG4gICAgICAgIHZhciBzb3VyY2VXaWR0aCA9IHRoaXMuZG9tRWxlbWVudC5uYXR1cmFsV2lkdGhcbiAgICAgICAgdmFyIHNvdXJjZUhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5uYXR1cmFsSGVpZ2h0XG4gICAgfSBlbHNlIGlmICh0aGlzLmRvbUVsZW1lbnQubm9kZU5hbWUgPT09IFwiVklERU9cIikge1xuICAgICAgICB2YXIgc291cmNlV2lkdGggPSB0aGlzLmRvbUVsZW1lbnQudmlkZW9XaWR0aFxuICAgICAgICB2YXIgc291cmNlSGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnZpZGVvSGVpZ2h0XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgfVxuXG4gICAgLy8gY29tcHV0ZSBzb3VyY2VBc3BlY3RcbiAgICB2YXIgc291cmNlQXNwZWN0ID0gc291cmNlV2lkdGggLyBzb3VyY2VIZWlnaHRcbiAgICAvLyBjb21wdXRlIHNjcmVlbkFzcGVjdFxuICAgIHZhciBzY3JlZW5Bc3BlY3QgPSBzY3JlZW5XaWR0aCAvIHNjcmVlbkhlaWdodFxuXG4gICAgLy8gaWYgc2NyZWVuQXNwZWN0IDwgc291cmNlQXNwZWN0LCB0aGVuIGNoYW5nZSB0aGUgd2lkdGgsIGVsc2UgY2hhbmdlIHRoZSBoZWlnaHRcbiAgICBpZiAoc2NyZWVuQXNwZWN0IDwgc291cmNlQXNwZWN0KSB7XG4gICAgICAgIC8vIGNvbXB1dGUgbmV3V2lkdGggYW5kIHNldCAud2lkdGgvLm1hcmdpbkxlZnRcbiAgICAgICAgdmFyIG5ld1dpZHRoID0gc291cmNlQXNwZWN0ICogc2NyZWVuSGVpZ2h0XG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IG5ld1dpZHRoICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IC0obmV3V2lkdGggLSBzY3JlZW5XaWR0aCkgLyAyICsgJ3B4J1xuXG4gICAgICAgIC8vIGluaXQgc3R5bGUuaGVpZ2h0Ly5tYXJnaW5Ub3AgdG8gbm9ybWFsIHZhbHVlXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzY3JlZW5IZWlnaHQgKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSAnMHB4J1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGNvbXB1dGUgbmV3SGVpZ2h0IGFuZCBzZXQgLmhlaWdodC8ubWFyZ2luVG9wXG4gICAgICAgIHZhciBuZXdIZWlnaHQgPSAxIC8gKHNvdXJjZUFzcGVjdCAvIHNjcmVlbldpZHRoKVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gbmV3SGVpZ2h0ICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gLShuZXdIZWlnaHQgLSBzY3JlZW5IZWlnaHQpIC8gMiArICdweCdcblxuICAgICAgICAvLyBpbml0IHN0eWxlLndpZHRoLy5tYXJnaW5MZWZ0IHRvIG5vcm1hbCB2YWx1ZVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSBzY3JlZW5XaWR0aCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAnMHB4J1xuICAgIH1cbn1cbi8qXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlFbGVtZW50U2l6ZVRvID0gZnVuY3Rpb24ob3RoZXJFbGVtZW50KXtcblx0b3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoXG5cdG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG5cdG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnRcblx0b3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3Bcbn1cbiovXG5cblNvdXJjZS5wcm90b3R5cGUuY29weUVsZW1lbnRTaXplVG8gPSBmdW5jdGlvbiAob3RoZXJFbGVtZW50KSB7XG5cbiAgICBpZiAod2luZG93LmlubmVyV2lkdGggPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcbiAgICAgICAgLy9sYW5kc2NhcGVcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoXG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3BcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vcG9ydHJhaXRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHRcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLndpZHRoID0gKHBhcnNlSW50KG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQpICogNCAvIDMpICsgXCJweFwiO1xuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9ICgod2luZG93LmlubmVyV2lkdGggLSBwYXJzZUludChvdGhlckVsZW1lbnQuc3R5bGUud2lkdGgpKSAvIDIpICsgXCJweFwiO1xuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gMDtcbiAgICB9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuY29weVNpemVUbyA9IGZ1bmN0aW9uICgpIHtcbiAgICBjb25zb2xlLndhcm4oJ29ic29sZXRlIGZ1bmN0aW9uIGFyVG9vbGtpdFNvdXJjZS5jb3B5U2l6ZVRvLiBVc2UgYXJUb29sa2l0U291cmNlLmNvcHlFbGVtZW50U2l6ZVRvJylcbiAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvLmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbiAoYXJUb29sa2l0Q29udGV4dCwgcmVuZGVyZXIsIGNhbWVyYSkge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgIGNvbnNvbGUud2Fybignb2Jzb2xldGUgZnVuY3Rpb24gYXJUb29sa2l0U291cmNlLm9uUmVzaXplLiBVc2UgYXJUb29sa2l0U291cmNlLm9uUmVzaXplRWxlbWVudCcpXG4gICAgICAgIHJldHVybiB0aGlzLm9uUmVzaXplRWxlbWVudC5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG4gICAgfVxuXG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyVG9vbGtpdENvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuXG4gICAgLy8gUkVTSVpFIERPTUVMRU1FTlRcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuXG4gICAgICAgIHRoaXMub25SZXNpemVFbGVtZW50KClcblxuICAgICAgICB2YXIgaXNBZnJhbWUgPSByZW5kZXJlci5kb21FbGVtZW50LmRhdGFzZXQuYWZyYW1lQ2FudmFzID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgIGlmIChpc0FmcmFtZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29weUVsZW1lbnRTaXplVG8ocmVuZGVyZXIuZG9tRWxlbWVudClcbiAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFyVG9vbGtpdENvbnRleHQuYXJDb250cm9sbGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvKGFyVG9vbGtpdENvbnRleHQuYXJDb250cm9sbGVyLmNhbnZhcylcbiAgICAgICAgfVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3VuaGFuZGxlZCB0cmFja2luZ0JhY2tlbmQgJyArIHRyYWNraW5nQmFja2VuZClcblxuXG4gICAgLy8gVVBEQVRFIENBTUVSQVxuICAgIGlmICh0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnKSB7XG4gICAgICAgIGlmIChhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2FtZXJhLnByb2plY3Rpb25NYXRyaXguY29weShhclRvb2xraXRDb250ZXh0LmdldFByb2plY3Rpb25NYXRyaXgoKSk7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmhhbmRsZWQgdHJhY2tpbmdCYWNrZW5kICcgKyB0cmFja2luZ0JhY2tlbmQpXG59XG5cbmV4cG9ydCBkZWZhdWx0IFNvdXJjZTsiLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEFyQmFzZUNvbnRyb2xzID0gZnVuY3Rpb24ob2JqZWN0M2QpIHtcblx0dGhpcy5pZCA9IEFyQmFzZUNvbnRyb2xzLmlkKytcblxuXHR0aGlzLm9iamVjdDNkID0gb2JqZWN0M2Rcblx0dGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cblx0Ly8gRXZlbnRzIHRvIGhvbm9yXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVWaXNpYmxlJyB9KVxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnbWFya2VyVmlzaWJsZScgfSlcdC8vIHJlcGxhY2UgbWFya2VyRm91bmRcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ2JlY2FtZVVuVmlzaWJsZScgfSlcbn1cblxuQXJCYXNlQ29udHJvbHMuaWQgPSAwXG5cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZSk7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0RnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZXJyb3IgY2F0Y2hpbmcgZnVuY3Rpb24gZm9yIHVwZGF0ZSgpXG4gKi9cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbigpe1xuXHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ3lvdSBuZWVkIHRvIGltcGxlbWVudCB5b3VyIG93biB1cGRhdGUnKVxufVxuXG4vKipcbiAqIGVycm9yIGNhdGNoaW5nIGZ1bmN0aW9uIGZvciBuYW1lKClcbiAqL1xuQXJCYXNlQ29udHJvbHMucHJvdG90eXBlLm5hbWUgPSBmdW5jdGlvbigpe1xuXHRjb25zb2xlLmFzc2VydChmYWxzZSwgJ3lvdSBuZWVkIHRvIGltcGxlbWVudCB5b3VyIG93biAubmFtZSgpJylcblx0cmV0dXJuICdOb3QgeWV0IGltcGxlbWVudGVkIC0gbmFtZSgpJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBBckJhc2VDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgQXJNYXJrZXJIZWxwZXIgPSBmdW5jdGlvbihtYXJrZXJDb250cm9scyl7XG5cdHRoaXMub2JqZWN0M2QgPSBuZXcgVEhSRUUuR3JvdXBcblxuXHR2YXIgbWVzaCA9IG5ldyBUSFJFRS5BeGVzSGVscGVyKClcblx0dGhpcy5vYmplY3QzZC5hZGQobWVzaClcblxuXHR2YXIgdGV4dCA9IG1hcmtlckNvbnRyb2xzLmlkXG5cdC8vIGRlYnVnZ2VyXG5cdC8vIHZhciB0ZXh0ID0gbWFya2VyQ29udHJvbHMucGFyYW1ldGVycy5wYXR0ZXJuVXJsLnNsaWNlKC0xKS50b1VwcGVyQ2FzZSgpO1xuXG5cdHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCAnY2FudmFzJyApO1xuXHRjYW52YXMud2lkdGggPSAgNjQ7XG5cdGNhbnZhcy5oZWlnaHQgPSA2NDtcblxuXHR2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCAnMmQnICk7XG5cdHZhciB0ZXh0dXJlID0gbmV3IFRIUkVFLkNhbnZhc1RleHR1cmUoIGNhbnZhcyApO1xuXG5cdC8vIHB1dCB0aGUgdGV4dCBpbiB0aGUgc3ByaXRlXG5cdGNvbnRleHQuZm9udCA9ICc0OHB4IG1vbm9zcGFjZSc7XG5cdGNvbnRleHQuZmlsbFN0eWxlID0gJ3JnYmEoMTkyLDE5MiwyNTUsIDAuNSknO1xuXHRjb250ZXh0LmZpbGxSZWN0KCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQgKTtcblx0Y29udGV4dC5maWxsU3R5bGUgPSAnZGFya2JsdWUnO1xuXHRjb250ZXh0LmZpbGxUZXh0KHRleHQsIGNhbnZhcy53aWR0aC80LCAzKmNhbnZhcy5oZWlnaHQvNCApXG5cdHRleHR1cmUubmVlZHNVcGRhdGUgPSB0cnVlXG5cblx0Ly8gdmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLkN1YmVHZW9tZXRyeSgxLCAxLCAxKVxuXHR2YXIgZ2VvbWV0cnkgPSBuZXcgVEhSRUUuUGxhbmVHZW9tZXRyeSgxLCAxKVxuXHR2YXIgbWF0ZXJpYWwgPSBuZXcgVEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwoe1xuXHRcdG1hcDogdGV4dHVyZSxcblx0XHR0cmFuc3BhcmVudDogdHJ1ZVxuXHR9KTtcblx0dmFyIG1lc2ggPSBuZXcgVEhSRUUuTWVzaChnZW9tZXRyeSwgbWF0ZXJpYWwpXG5cdG1lc2gucm90YXRpb24ueCA9IC1NYXRoLlBJLzJcblxuXHR0aGlzLm9iamVjdDNkLmFkZChtZXNoKVxuXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyTWFya2VySGVscGVyO1xuIiwiaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcblxuLyoqXG4gKiAtIGxlcnAgcG9zaXRpb24vcXVhdGVybmluby9zY2FsZVxuICogLSBtaW5EZWxheURldGVjdGVkXG4gKiAtIG1pbkRlbGF5VW5kZXRlY3RlZFxuICogQHBhcmFtIHtbdHlwZV19IG9iamVjdDNkICAgW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtIHtbdHlwZV19IHBhcmFtZXRlcnMgW2Rlc2NyaXB0aW9uXVxuICovXG5jb25zdCBBclNtb290aGVkQ29udHJvbHMgPSBmdW5jdGlvbihvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0XG5cdEFyQmFzZUNvbnRyb2xzLmNhbGwodGhpcywgb2JqZWN0M2QpXG5cdFxuXHQvLyBjb3B5IHBhcmFtZXRlcnNcblx0dGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2Vcblx0XG5cdHRoaXMuX2xhc3RMZXJwU3RlcEF0ID0gbnVsbFxuXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBudWxsXG5cblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0Ly8gbGVycCBjb2VmaWNpZW50IGZvciB0aGUgcG9zaXRpb24gLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFBvc2l0aW9uOiAwLjgsXG5cdFx0Ly8gbGVycCBjb2VmaWNpZW50IGZvciB0aGUgcXVhdGVybmlvbiAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwUXVhdGVybmlvbjogMC4yLFxuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHNjYWxlIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBTY2FsZTogMC43LFxuXHRcdC8vIGRlbGF5IGZvciBsZXJwIGZpeGVkIHN0ZXBzIC0gaW4gc2Vjb25kcyAtIGRlZmF1bHQgdG8gMS8xMjBcblx0XHRsZXJwU3RlcERlbGF5OiAxLzYwLFxuXHRcdC8vIG1pbmltdW0gZGVsYXkgdGhlIHN1Yi1jb250cm9sIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgdGhpcyBjb250cm9scyBiZWNvbWUgdmlzaWJsZSAtIGRlZmF1bHQgdG8gMCBzZWNvbmRzXG5cdFx0bWluVmlzaWJsZURlbGF5OiAwLjAsXG5cdFx0Ly8gbWluaW11bSBkZWxheSB0aGUgc3ViLWNvbnRyb2wgbXVzdCBiZSB1bnZpc2libGUgYmVmb3JlIHRoaXMgY29udHJvbHMgYmVjb21lIHVudmlzaWJsZSAtIGRlZmF1bHQgdG8gMCBzZWNvbmRzXG5cdFx0bWluVW52aXNpYmxlRGVsYXk6IDAuMixcblx0fVxuXHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJTbW9vdGhlZENvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyU21vb3RoZWRDb250cm9sczogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHRfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXSA9IG5ld1ZhbHVlXG5cdFx0fVxuXHR9XG59XG5cdFxuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoIEFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZSApO1xuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IEFyU21vb3RoZWRDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5BclNtb290aGVkQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKHRhcmdldE9iamVjdDNkKXtcblx0dmFyIG9iamVjdDNkID0gdGhpcy5vYmplY3QzZFxuXHR2YXIgcGFyYW1ldGVycyA9IHRoaXMucGFyYW1ldGVyc1xuXHR2YXIgd2FzVmlzaWJsZSA9IG9iamVjdDNkLnZpc2libGVcblx0dmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKS8xMDAwXG5cblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aGFuZGxlIG9iamVjdDNkLnZpc2libGUgd2l0aCBtaW5WaXNpYmxlRGVsYXkvbWluVW52aXNpYmxlRGVsYXlcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBudWxsXG5cblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgJiYgdGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9PT0gbnVsbCApXHR0aGlzLl92aXNpYmxlU3RhcnRlZEF0ID0gcHJlc2VudFxuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgJiYgdGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID09PSBudWxsIClcdHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9IHByZXNlbnRcblxuXHRpZiggd2FzVmlzaWJsZSA9PT0gZmFsc2UgJiYgdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApe1xuXHRcdHZhciB2aXNpYmxlRm9yID0gcHJlc2VudCAtIHRoaXMuX3Zpc2libGVTdGFydGVkQXRcblx0XHRpZiggdmlzaWJsZUZvciA+PSB0aGlzLnBhcmFtZXRlcnMubWluVmlzaWJsZURlbGF5ICl7XG5cdFx0XHRvYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHRcdFx0c25hcERpcmVjdGx5VG9UYXJnZXQoKVxuXHRcdH1cblx0XHQvLyBjb25zb2xlLmxvZygndmlzaWJsZUZvcicsIHZpc2libGVGb3IpXG5cdH1cblxuXHRpZiggd2FzVmlzaWJsZSA9PT0gdHJ1ZSAmJiB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApe1xuXHRcdHZhciB1bnZpc2libGVGb3IgPSBwcmVzZW50IC0gdGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0XG5cdFx0aWYoIHVudmlzaWJsZUZvciA+PSB0aGlzLnBhcmFtZXRlcnMubWluVW52aXNpYmxlRGVsYXkgKXtcblx0XHRcdG9iamVjdDNkLnZpc2libGUgPSBmYWxzZVx0XHRcdFxuXHRcdH1cblx0fVxuXHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGFwcGx5IGxlcnAgb24gcG9zaXRvbi9xdWF0ZXJuaW9uL3NjYWxlXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cdC8vIGFwcGx5IGxlcnAgc3RlcHMgLSByZXF1aXJlIGZpeCB0aW1lIHN0ZXBzIHRvIGJlaGF2ZSB0aGUgc2FtZSBubyBtYXR0ZXIgdGhlIGZwc1xuXHRpZiggdGhpcy5fbGFzdExlcnBTdGVwQXQgPT09IG51bGwgKXtcblx0XHRhcHBseU9uZVNsZXJwU3RlcCgpXG5cdFx0dGhpcy5fbGFzdExlcnBTdGVwQXQgPSBwcmVzZW50XG5cdH1lbHNle1xuXHRcdHZhciBuU3RlcHNUb0RvID0gTWF0aC5mbG9vciggKHByZXNlbnQgLSB0aGlzLl9sYXN0TGVycFN0ZXBBdCkvdGhpcy5wYXJhbWV0ZXJzLmxlcnBTdGVwRGVsYXkgKVxuXHRcdGZvcih2YXIgaSA9IDA7IGkgPCBuU3RlcHNUb0RvOyBpKyspe1xuXHRcdFx0YXBwbHlPbmVTbGVycFN0ZXAoKVxuXHRcdFx0dGhpcy5fbGFzdExlcnBTdGVwQXQgKz0gdGhpcy5wYXJhbWV0ZXJzLmxlcnBTdGVwRGVsYXlcblx0XHR9XG5cdH1cblxuXHQvLyBkaXNhYmxlIHRoZSBsZXJwIGJ5IGRpcmVjdGx5IGNvcHlpbmcgdGFyZ2V0T2JqZWN0M2QgcG9zaXRpb24vcXVhdGVybmlvbi9zY2FsZVxuXHRpZiggZmFsc2UgKXtcdFx0XG5cdFx0c25hcERpcmVjdGx5VG9UYXJnZXQoKVxuXHR9XG5cblx0Ly8gdXBkYXRlIHRoZSBtYXRyaXhcblx0dGhpcy5vYmplY3QzZC51cGRhdGVNYXRyaXgoKVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRob25vciBiZWNhbWVWaXNpYmxlL2JlY2FtZVVuVmlzaWJsZSBldmVudFxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gaG9ub3IgYmVjYW1lVmlzaWJsZSBldmVudFxuXHRpZiggd2FzVmlzaWJsZSA9PT0gZmFsc2UgJiYgb2JqZWN0M2QudmlzaWJsZSA9PT0gdHJ1ZSApe1xuXHRcdHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVWaXNpYmxlJyB9KVxuXHR9XG5cdC8vIGhvbm9yIGJlY2FtZVVuVmlzaWJsZSBldmVudFxuXHRpZiggd2FzVmlzaWJsZSA9PT0gdHJ1ZSAmJiBvYmplY3QzZC52aXNpYmxlID09PSBmYWxzZSApe1xuXHRcdHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVVblZpc2libGUnIH0pXG5cdH1cblx0cmV0dXJuXG5cblx0ZnVuY3Rpb24gc25hcERpcmVjdGx5VG9UYXJnZXQoKXtcblx0XHRvYmplY3QzZC5wb3NpdGlvbi5jb3B5KCB0YXJnZXRPYmplY3QzZC5wb3NpdGlvbiApXG5cdFx0b2JqZWN0M2QucXVhdGVybmlvbi5jb3B5KCB0YXJnZXRPYmplY3QzZC5xdWF0ZXJuaW9uIClcblx0XHRvYmplY3QzZC5zY2FsZS5jb3B5KCB0YXJnZXRPYmplY3QzZC5zY2FsZSApXG5cdH1cdFxuXHRcblx0ZnVuY3Rpb24gYXBwbHlPbmVTbGVycFN0ZXAoKXtcblx0XHRvYmplY3QzZC5wb3NpdGlvbi5sZXJwKHRhcmdldE9iamVjdDNkLnBvc2l0aW9uLCBwYXJhbWV0ZXJzLmxlcnBQb3NpdGlvbilcblx0XHRvYmplY3QzZC5xdWF0ZXJuaW9uLnNsZXJwKHRhcmdldE9iamVjdDNkLnF1YXRlcm5pb24sIHBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24pXG5cdFx0b2JqZWN0M2Quc2NhbGUubGVycCh0YXJnZXRPYmplY3QzZC5zY2FsZSwgcGFyYW1ldGVycy5sZXJwU2NhbGUpXG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJTbW9vdGhlZENvbnRyb2xzO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCBBck1hcmtlckNvbnRyb2xzIGZyb20gJy4vdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMnO1xuaW1wb3J0IEFyTWFya2VySGVscGVyIGZyb20gJy4vdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlcic7XG5pbXBvcnQgQXJTbW9vdGhlZENvbnRyb2xzIGZyb20gJy4vdGhyZWV4L3RocmVleC1hcnNtb290aGVkY29udHJvbHMnO1xuaW1wb3J0IEFyVG9vbGtpdENvbnRleHQgZnJvbSAnLi90aHJlZXgvYXJqcy1jb250ZXh0JztcbmltcG9ydCBBclRvb2xraXRQcm9maWxlIGZyb20gJy4vdGhyZWV4L2FyanMtcHJvZmlsZSc7XG5pbXBvcnQgQXJUb29sa2l0U291cmNlIGZyb20gJy4vdGhyZWV4L2FyanMtc291cmNlJztcbmltcG9ydCBBck11bHRpTWFya2VyQ29udHJvbHMgZnJvbSAnLi9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWNvbnRyb2xzJztcbmltcG9ydCBBck11bHRpTWFrZXJzTGVhcm5pbmcgZnJvbSAnLi9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYWxlYXJuaW5nJzsgLy8gdHlwbyBpcyBzcHJlYWQgb3ZlciBjb2RlYmFzZVxuaW1wb3J0IEFyTXVsdGlNYXJrZXJVdGlscyBmcm9tICcuL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMnO1xuXG5leHBvcnQge1xuICBBck1hcmtlckNvbnRyb2xzLFxuICBBck1hcmtlckhlbHBlcixcbiAgQXJTbW9vdGhlZENvbnRyb2xzLFxuICBBclRvb2xraXRDb250ZXh0LFxuICBBclRvb2xraXRQcm9maWxlLFxuICBBclRvb2xraXRTb3VyY2UsXG4gIEFyTXVsdGlNYXJrZXJDb250cm9scyxcbiAgQXJNdWx0aU1ha2Vyc0xlYXJuaW5nLFxuICBBck11bHRpTWFya2VyVXRpbHNcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/three.js/build/ar.js b/three.js/build/ar.js index da79d2d6..ac09c678 100644 --- a/three.js/build/ar.js +++ b/three.js/build/ar.js @@ -1,2007 +1,1150 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("three")); + else if(typeof define === 'function' && define.amd) + define(["three"], factory); + else if(typeof exports === 'object') + exports["ARjs"] = factory(require("three")); + else + root["ARjs"] = factory(root["THREE"]); +})(this, function(__WEBPACK_EXTERNAL_MODULE_three__) { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js": +/*!*****************************************************************!*\ + !*** ./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js ***! + \*****************************************************************/ +/***/ (function(module) { + +!function(A,I){ true?module.exports=I():0}("undefined"!=typeof self?self:this,(function(){return(()=>{var A={757:(A,I,g)=>{A.exports=g(666)},669:(A,I,g)=>{A.exports=g(609)},448:(A,I,g)=>{"use strict";var B=g(867),C=g(26),Q=g(372),E=g(327),i=g(97),o=g(109),D=g(985),a=g(61),w=g(655),F=g(263);A.exports=function(A){return new Promise((function(I,g){var G,h=A.data,s=A.headers,R=A.responseType;function U(){A.cancelToken&&A.cancelToken.unsubscribe(G),A.signal&&A.signal.removeEventListener("abort",G)}B.isFormData(h)&&delete s["Content-Type"];var y=new XMLHttpRequest;if(A.auth){var t=A.auth.username||"",S=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";s.Authorization="Basic "+btoa(t+":"+S)}var M=i(A.baseURL,A.url);function n(){if(y){var B="getAllResponseHeaders"in y?o(y.getAllResponseHeaders()):null,Q={data:R&&"text"!==R&&"json"!==R?y.response:y.responseText,status:y.status,statusText:y.statusText,headers:B,config:A,request:y};C((function(A){I(A),U()}),(function(A){g(A),U()}),Q),y=null}}if(y.open(A.method.toUpperCase(),E(M,A.params,A.paramsSerializer),!0),y.timeout=A.timeout,"onloadend"in y?y.onloadend=n:y.onreadystatechange=function(){y&&4===y.readyState&&(0!==y.status||y.responseURL&&0===y.responseURL.indexOf("file:"))&&setTimeout(n)},y.onabort=function(){y&&(g(a("Request aborted",A,"ECONNABORTED",y)),y=null)},y.onerror=function(){g(a("Network Error",A,null,y)),y=null},y.ontimeout=function(){var I=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded",B=A.transitional||w.transitional;A.timeoutErrorMessage&&(I=A.timeoutErrorMessage),g(a(I,A,B.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",y)),y=null},B.isStandardBrowserEnv()){var c=(A.withCredentials||D(M))&&A.xsrfCookieName?Q.read(A.xsrfCookieName):void 0;c&&(s[A.xsrfHeaderName]=c)}"setRequestHeader"in y&&B.forEach(s,(function(A,I){void 0===h&&"content-type"===I.toLowerCase()?delete s[I]:y.setRequestHeader(I,A)})),B.isUndefined(A.withCredentials)||(y.withCredentials=!!A.withCredentials),R&&"json"!==R&&(y.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&y.addEventListener("progress",A.onDownloadProgress),"function"==typeof A.onUploadProgress&&y.upload&&y.upload.addEventListener("progress",A.onUploadProgress),(A.cancelToken||A.signal)&&(G=function(A){y&&(g(!A||A&&A.type?new F("canceled"):A),y.abort(),y=null)},A.cancelToken&&A.cancelToken.subscribe(G),A.signal&&(A.signal.aborted?G():A.signal.addEventListener("abort",G))),h||(h=null),y.send(h)}))}},609:(A,I,g)=>{"use strict";var B=g(867),C=g(849),Q=g(321),E=g(185),i=function A(I){var g=new Q(I),i=C(Q.prototype.request,g);return B.extend(i,Q.prototype,g),B.extend(i,g),i.create=function(g){return A(E(I,g))},i}(g(655));i.Axios=Q,i.Cancel=g(263),i.CancelToken=g(972),i.isCancel=g(502),i.VERSION=g(288).version,i.all=function(A){return Promise.all(A)},i.spread=g(713),i.isAxiosError=g(268),A.exports=i,A.exports.default=i},263:A=>{"use strict";function I(A){this.message=A}I.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},I.prototype.__CANCEL__=!0,A.exports=I},972:(A,I,g)=>{"use strict";var B=g(263);function C(A){if("function"!=typeof A)throw new TypeError("executor must be a function.");var I;this.promise=new Promise((function(A){I=A}));var g=this;this.promise.then((function(A){if(g._listeners){var I,B=g._listeners.length;for(I=0;I{"use strict";A.exports=function(A){return!(!A||!A.__CANCEL__)}},321:(A,I,g)=>{"use strict";var B=g(867),C=g(327),Q=g(782),E=g(572),i=g(185),o=g(875),D=o.validators;function a(A){this.defaults=A,this.interceptors={request:new Q,response:new Q}}a.prototype.request=function(A){"string"==typeof A?(A=arguments[1]||{}).url=arguments[0]:A=A||{},(A=i(this.defaults,A)).method?A.method=A.method.toLowerCase():this.defaults.method?A.method=this.defaults.method.toLowerCase():A.method="get";var I=A.transitional;void 0!==I&&o.assertOptions(I,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},!1);var g=[],B=!0;this.interceptors.request.forEach((function(I){"function"==typeof I.runWhen&&!1===I.runWhen(A)||(B=B&&I.synchronous,g.unshift(I.fulfilled,I.rejected))}));var C,Q=[];if(this.interceptors.response.forEach((function(A){Q.push(A.fulfilled,A.rejected)})),!B){var a=[E,void 0];for(Array.prototype.unshift.apply(a,g),a=a.concat(Q),C=Promise.resolve(A);a.length;)C=C.then(a.shift(),a.shift());return C}for(var w=A;g.length;){var F=g.shift(),G=g.shift();try{w=F(w)}catch(A){G(A);break}}try{C=E(w)}catch(A){return Promise.reject(A)}for(;Q.length;)C=C.then(Q.shift(),Q.shift());return C},a.prototype.getUri=function(A){return A=i(this.defaults,A),C(A.url,A.params,A.paramsSerializer).replace(/^\?/,"")},B.forEach(["delete","get","head","options"],(function(A){a.prototype[A]=function(I,g){return this.request(i(g||{},{method:A,url:I,data:(g||{}).data}))}})),B.forEach(["post","put","patch"],(function(A){a.prototype[A]=function(I,g,B){return this.request(i(B||{},{method:A,url:I,data:g}))}})),A.exports=a},782:(A,I,g)=>{"use strict";var B=g(867);function C(){this.handlers=[]}C.prototype.use=function(A,I,g){return this.handlers.push({fulfilled:A,rejected:I,synchronous:!!g&&g.synchronous,runWhen:g?g.runWhen:null}),this.handlers.length-1},C.prototype.eject=function(A){this.handlers[A]&&(this.handlers[A]=null)},C.prototype.forEach=function(A){B.forEach(this.handlers,(function(I){null!==I&&A(I)}))},A.exports=C},97:(A,I,g)=>{"use strict";var B=g(793),C=g(303);A.exports=function(A,I){return A&&!B(I)?C(A,I):I}},61:(A,I,g)=>{"use strict";var B=g(481);A.exports=function(A,I,g,C,Q){var E=new Error(A);return B(E,I,g,C,Q)}},572:(A,I,g)=>{"use strict";var B=g(867),C=g(527),Q=g(502),E=g(655),i=g(263);function o(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new i("canceled")}A.exports=function(A){return o(A),A.headers=A.headers||{},A.data=C.call(A,A.data,A.headers,A.transformRequest),A.headers=B.merge(A.headers.common||{},A.headers[A.method]||{},A.headers),B.forEach(["delete","get","head","post","put","patch","common"],(function(I){delete A.headers[I]})),(A.adapter||E.adapter)(A).then((function(I){return o(A),I.data=C.call(A,I.data,I.headers,A.transformResponse),I}),(function(I){return Q(I)||(o(A),I&&I.response&&(I.response.data=C.call(A,I.response.data,I.response.headers,A.transformResponse))),Promise.reject(I)}))}},481:A=>{"use strict";A.exports=function(A,I,g,B,C){return A.config=I,g&&(A.code=g),A.request=B,A.response=C,A.isAxiosError=!0,A.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},A}},185:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){I=I||{};var g={};function C(A,I){return B.isPlainObject(A)&&B.isPlainObject(I)?B.merge(A,I):B.isPlainObject(I)?B.merge({},I):B.isArray(I)?I.slice():I}function Q(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(A[g],I[g])}function E(A){if(!B.isUndefined(I[A]))return C(void 0,I[A])}function i(g){return B.isUndefined(I[g])?B.isUndefined(A[g])?void 0:C(void 0,A[g]):C(void 0,I[g])}function o(g){return g in I?C(A[g],I[g]):g in A?C(void 0,A[g]):void 0}var D={url:E,method:E,data:E,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:o};return B.forEach(Object.keys(A).concat(Object.keys(I)),(function(A){var I=D[A]||Q,C=I(A);B.isUndefined(C)&&I!==o||(g[A]=C)})),g}},26:(A,I,g)=>{"use strict";var B=g(61);A.exports=function(A,I,g){var C=g.config.validateStatus;g.status&&C&&!C(g.status)?I(B("Request failed with status code "+g.status,g.config,null,g.request,g)):A(g)}},527:(A,I,g)=>{"use strict";var B=g(867),C=g(655);A.exports=function(A,I,g){var Q=this||C;return B.forEach(g,(function(g){A=g.call(Q,A,I)})),A}},655:(A,I,g)=>{"use strict";var B=g(867),C=g(16),Q=g(481),E={"Content-Type":"application/x-www-form-urlencoded"};function i(A,I){!B.isUndefined(A)&&B.isUndefined(A["Content-Type"])&&(A["Content-Type"]=I)}var o,D={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(o=g(448)),o),transformRequest:[function(A,I){return C(I,"Accept"),C(I,"Content-Type"),B.isFormData(A)||B.isArrayBuffer(A)||B.isBuffer(A)||B.isStream(A)||B.isFile(A)||B.isBlob(A)?A:B.isArrayBufferView(A)?A.buffer:B.isURLSearchParams(A)?(i(I,"application/x-www-form-urlencoded;charset=utf-8"),A.toString()):B.isObject(A)||I&&"application/json"===I["Content-Type"]?(i(I,"application/json"),function(A,I,g){if(B.isString(A))try{return(0,JSON.parse)(A),B.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){var I=this.transitional||D.transitional,g=I&&I.silentJSONParsing,C=I&&I.forcedJSONParsing,E=!g&&"json"===this.responseType;if(E||C&&B.isString(A)&&A.length)try{return JSON.parse(A)}catch(A){if(E){if("SyntaxError"===A.name)throw Q(A,this,"E_JSON_PARSE");throw A}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};B.forEach(["delete","get","head"],(function(A){D.headers[A]={}})),B.forEach(["post","put","patch"],(function(A){D.headers[A]=B.merge(E)})),A.exports=D},288:A=>{A.exports={version:"0.24.0"}},849:A=>{"use strict";A.exports=function(A,I){return function(){for(var g=new Array(arguments.length),B=0;B{"use strict";var B=g(867);function C(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}A.exports=function(A,I,g){if(!I)return A;var Q;if(g)Q=g(I);else if(B.isURLSearchParams(I))Q=I.toString();else{var E=[];B.forEach(I,(function(A,I){null!=A&&(B.isArray(A)?I+="[]":A=[A],B.forEach(A,(function(A){B.isDate(A)?A=A.toISOString():B.isObject(A)&&(A=JSON.stringify(A)),E.push(C(I)+"="+C(A))})))})),Q=E.join("&")}if(Q){var i=A.indexOf("#");-1!==i&&(A=A.slice(0,i)),A+=(-1===A.indexOf("?")?"?":"&")+Q}return A}},303:A=>{"use strict";A.exports=function(A,I){return I?A.replace(/\/+$/,"")+"/"+I.replace(/^\/+/,""):A}},372:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?{write:function(A,I,g,C,Q,E){var i=[];i.push(A+"="+encodeURIComponent(I)),B.isNumber(g)&&i.push("expires="+new Date(g).toGMTString()),B.isString(C)&&i.push("path="+C),B.isString(Q)&&i.push("domain="+Q),!0===E&&i.push("secure"),document.cookie=i.join("; ")},read:function(A){var I=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return I?decodeURIComponent(I[3]):null},remove:function(A){this.write(A,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},793:A=>{"use strict";A.exports=function(A){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(A)}},268:A=>{"use strict";A.exports=function(A){return"object"==typeof A&&!0===A.isAxiosError}},985:(A,I,g)=>{"use strict";var B=g(867);A.exports=B.isStandardBrowserEnv()?function(){var A,I=/(msie|trident)/i.test(navigator.userAgent),g=document.createElement("a");function C(A){var B=A;return I&&(g.setAttribute("href",B),B=g.href),g.setAttribute("href",B),{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:"/"===g.pathname.charAt(0)?g.pathname:"/"+g.pathname}}return A=C(window.location.href),function(I){var g=B.isString(I)?C(I):I;return g.protocol===A.protocol&&g.host===A.host}}():function(){return!0}},16:(A,I,g)=>{"use strict";var B=g(867);A.exports=function(A,I){B.forEach(A,(function(g,B){B!==I&&B.toUpperCase()===I.toUpperCase()&&(A[I]=g,delete A[B])}))}},109:(A,I,g)=>{"use strict";var B=g(867),C=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];A.exports=function(A){var I,g,Q,E={};return A?(B.forEach(A.split("\n"),(function(A){if(Q=A.indexOf(":"),I=B.trim(A.substr(0,Q)).toLowerCase(),g=B.trim(A.substr(Q+1)),I){if(E[I]&&C.indexOf(I)>=0)return;E[I]="set-cookie"===I?(E[I]?E[I]:[]).concat([g]):E[I]?E[I]+", "+g:g}})),E):E}},713:A=>{"use strict";A.exports=function(A){return function(I){return A.apply(null,I)}}},875:(A,I,g)=>{"use strict";var B=g(288).version,C={};["object","boolean","number","function","string","symbol"].forEach((function(A,I){C[A]=function(g){return typeof g===A||"a"+(I<1?"n ":" ")+A}}));var Q={};C.transitional=function(A,I,g){function C(A,I){return"[Axios v"+B+"] Transitional option '"+A+"'"+I+(g?". "+g:"")}return function(g,B,E){if(!1===A)throw new Error(C(B," has been removed"+(I?" in "+I:"")));return I&&!Q[B]&&(Q[B]=!0,console.warn(C(B," has been deprecated since v"+I+" and will be removed in the near future"))),!A||A(g,B,E)}},A.exports={assertOptions:function(A,I,g){if("object"!=typeof A)throw new TypeError("options must be an object");for(var B=Object.keys(A),C=B.length;C-- >0;){var Q=B[C],E=I[Q];if(E){var i=A[Q],o=void 0===i||E(i,Q,A);if(!0!==o)throw new TypeError("option "+Q+" must be "+o)}else if(!0!==g)throw Error("Unknown option "+Q)}},validators:C}},867:(A,I,g)=>{"use strict";var B=g(849),C=Object.prototype.toString;function Q(A){return"[object Array]"===C.call(A)}function E(A){return void 0===A}function i(A){return null!==A&&"object"==typeof A}function o(A){if("[object Object]"!==C.call(A))return!1;var I=Object.getPrototypeOf(A);return null===I||I===Object.prototype}function D(A){return"[object Function]"===C.call(A)}function a(A,I){if(null!=A)if("object"!=typeof A&&(A=[A]),Q(A))for(var g=0,B=A.length;g{var I=function(A){"use strict";var I,g=Object.prototype,B=g.hasOwnProperty,C="function"==typeof Symbol?Symbol:{},Q=C.iterator||"@@iterator",E=C.asyncIterator||"@@asyncIterator",i=C.toStringTag||"@@toStringTag";function o(A,I,g){return Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}),A[I]}try{o({},"")}catch(A){o=function(A,I,g){return A[I]=g}}function D(A,I,g,B){var C=I&&I.prototype instanceof R?I:R,Q=Object.create(C.prototype),E=new Y(B||[]);return Q._invoke=function(A,I,g){var B=w;return function(C,Q){if(B===G)throw new Error("Generator is already running");if(B===h){if("throw"===C)throw Q;return J()}for(g.method=C,g.arg=Q;;){var E=g.delegate;if(E){var i=k(E,g);if(i){if(i===s)continue;return i}}if("next"===g.method)g.sent=g._sent=g.arg;else if("throw"===g.method){if(B===w)throw B=h,g.arg;g.dispatchException(g.arg)}else"return"===g.method&&g.abrupt("return",g.arg);B=G;var o=a(A,I,g);if("normal"===o.type){if(B=g.done?h:F,o.arg===s)continue;return{value:o.arg,done:g.done}}"throw"===o.type&&(B=h,g.method="throw",g.arg=o.arg)}}}(A,g,E),Q}function a(A,I,g){try{return{type:"normal",arg:A.call(I,g)}}catch(A){return{type:"throw",arg:A}}}A.wrap=D;var w="suspendedStart",F="suspendedYield",G="executing",h="completed",s={};function R(){}function U(){}function y(){}var t={};o(t,Q,(function(){return this}));var S=Object.getPrototypeOf,M=S&&S(S(e([])));M&&M!==g&&B.call(M,Q)&&(t=M);var n=y.prototype=R.prototype=Object.create(t);function c(A){["next","throw","return"].forEach((function(I){o(A,I,(function(A){return this._invoke(I,A)}))}))}function r(A,I){function g(C,Q,E,i){var o=a(A[C],A,Q);if("throw"!==o.type){var D=o.arg,w=D.value;return w&&"object"==typeof w&&B.call(w,"__await")?I.resolve(w.__await).then((function(A){g("next",A,E,i)}),(function(A){g("throw",A,E,i)})):I.resolve(w).then((function(A){D.value=A,E(D)}),(function(A){return g("throw",A,E,i)}))}i(o.arg)}var C;this._invoke=function(A,B){function Q(){return new I((function(I,C){g(A,B,I,C)}))}return C=C?C.then(Q,Q):Q()}}function k(A,g){var B=A.iterator[g.method];if(B===I){if(g.delegate=null,"throw"===g.method){if(A.iterator.return&&(g.method="return",g.arg=I,k(A,g),"throw"===g.method))return s;g.method="throw",g.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var C=a(B,A.iterator,g.arg);if("throw"===C.type)return g.method="throw",g.arg=C.arg,g.delegate=null,s;var Q=C.arg;return Q?Q.done?(g[A.resultName]=Q.value,g.next=A.nextLoc,"return"!==g.method&&(g.method="next",g.arg=I),g.delegate=null,s):Q:(g.method="throw",g.arg=new TypeError("iterator result is not an object"),g.delegate=null,s)}function K(A){var I={tryLoc:A[0]};1 in A&&(I.catchLoc=A[1]),2 in A&&(I.finallyLoc=A[2],I.afterLoc=A[3]),this.tryEntries.push(I)}function N(A){var I=A.completion||{};I.type="normal",delete I.arg,A.completion=I}function Y(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(K,this),this.reset(!0)}function e(A){if(A){var g=A[Q];if(g)return g.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length)){var C=-1,E=function g(){for(;++C=0;--Q){var E=this.tryEntries[Q],i=E.completion;if("root"===E.tryLoc)return C("end");if(E.tryLoc<=this.prev){var o=B.call(E,"catchLoc"),D=B.call(E,"finallyLoc");if(o&&D){if(this.prev=0;--g){var C=this.tryEntries[g];if(C.tryLoc<=this.prev&&B.call(C,"finallyLoc")&&this.prev=0;--I){var g=this.tryEntries[I];if(g.finallyLoc===A)return this.complete(g.completion,g.afterLoc),N(g),s}},catch:function(A){for(var I=this.tryEntries.length-1;I>=0;--I){var g=this.tryEntries[I];if(g.tryLoc===A){var B=g.completion;if("throw"===B.type){var C=B.arg;N(g)}return C}}throw new Error("illegal catch attempt")},delegateYield:function(A,g,B){return this.delegate={iterator:e(A),resultName:g,nextLoc:B},"next"===this.method&&(this.arg=I),s}},A}(A.exports);try{regeneratorRuntime=I}catch(A){"object"==typeof globalThis?globalThis.regeneratorRuntime=I:Function("r","regeneratorRuntime = r")(I)}},654:()=>{},231:()=>{},703:()=>{}},I={};function g(B){var C=I[B];if(void 0!==C)return C.exports;var Q=I[B]={exports:{}};return A[B](Q,Q.exports,g),Q.exports}g.n=A=>{var I=A&&A.__esModule?()=>A.default:()=>A;return g.d(I,{a:I}),I},g.d=(A,I)=>{for(var B in I)g.o(I,B)&&!g.o(A,B)&&Object.defineProperty(A,B,{enumerable:!0,get:I[B]})},g.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(A){if("object"==typeof window)return window}}(),g.o=(A,I)=>Object.prototype.hasOwnProperty.call(A,I);var B={};return(()=>{"use strict";function A(A,I,g,B,C,Q,E){try{var i=A[Q](E),o=i.value}catch(A){return void g(A)}i.done?I(o):Promise.resolve(o).then(B,C)}function I(I){return function(){var g=this,B=arguments;return new Promise((function(C,Q){var E=I.apply(g,B);function i(I){A(E,C,Q,i,o,"next",I)}function o(I){A(E,C,Q,i,o,"throw",I)}i(void 0)}))}}function C(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function Q(A,I){for(var g=0;gn});var i=g(757),o=g.n(i);function D(A){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},D(A)}var a,w=(a=(a="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(A){A=void 0!==(A=A||{})?A:{};var I,B={};for(I in A)A.hasOwnProperty(I)&&(B[I]=A[I]);var C=[],Q="./this.program",E=function(A,I){throw I},i=!1,o=!1,w=!1,F=!1;i="object"===("undefined"==typeof window?"undefined":D(window)),o="function"==typeof importScripts,w="object"===("undefined"==typeof process?"undefined":D(process))&&"object"===D(process.versions)&&"string"==typeof process.versions.node,F=!i&&!w&&!o;var G,h,s,R,U="";function y(I){return A.locateFile?A.locateFile(I,U):U+I}w?(U=o?g(703).dirname(U)+"/":"//",G=function(A,I){var B=jg(A);return B?I?B:B.toString():(s||(s=g(231)),R||(R=g(703)),A=R.normalize(A),s.readFileSync(A,I?null:"utf8"))},h=function(A){var I=G(A,!0);return I.buffer||(I=new Uint8Array(I)),H(I.buffer),I},process.argv.length>1&&(Q=process.argv[1].replace(/\\/g,"/")),C=process.argv.slice(2),process.on("uncaughtException",(function(A){if(!(A instanceof NB))throw A})),process.on("unhandledRejection",JA),E=function(A){process.exit(A)},A.inspect=function(){return"[Emscripten Module object]"}):F?("undefined"!=typeof read&&(G=function(A){var I=jg(A);return I?Vg(I):read(A)}),h=function(A){var I;return(I=jg(A))?I:"function"==typeof readbuffer?new Uint8Array(readbuffer(A)):(H("object"===D(I=read(A,"binary"))),I)},"undefined"!=typeof scriptArgs?C=scriptArgs:void 0!==arguments&&(C=arguments),"function"==typeof quit&&(E=function(A){quit(A)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(i||o)&&(o?U=self.location.href:document.currentScript&&(U=document.currentScript.src),a&&(U=a),U=0!==U.indexOf("blob:")?U.substr(0,U.lastIndexOf("/")+1):"",G=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.send(null),I.responseText}catch(I){var g=jg(A);if(g)return Vg(g);throw I}},o&&(h=function(A){try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=jg(A);if(g)return g;throw I}}));var t=A.print||console.log.bind(console),S=A.printErr||console.warn.bind(console);for(I in B)B.hasOwnProperty(I)&&(A[I]=B[I]);function M(A){var I=AA[iA>>2],g=I+A+15&-16;return g>Sg()&&JA(),AA[iA>>2]=g,I}B=null,A.arguments&&(C=A.arguments),A.thisProgram&&(Q=A.thisProgram),A.quit&&(E=A.quit);var n,c,r,k={"f64-rem":function(A,I){return A%I},debugger:function(){}},K=(new Array(0),0),N=function(A){K=A},Y=function(){return K};A.wasmBinary&&(n=A.wasmBinary),A.noExitRuntime&&(c=A.noExitRuntime),"object"!==("undefined"==typeof WebAssembly?"undefined":D(WebAssembly))&&S("no native wasm support detected");var e=new WebAssembly.Table({initial:878,maximum:878,element:"anyfunc"}),J=!1;function H(A,I){A||JA("Assertion failed: "+I)}function L(A){return hA?RB(A):M(A)}var q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function d(A,I,g){for(var B=I+g,C=I;A[C]&&!(C>=B);)++C;if(C-I>16&&A.subarray&&q)return q.decode(A.subarray(I,C));for(var Q="";I>10,56320|1023&D)}}else Q+=String.fromCharCode((31&E)<<6|i)}else Q+=String.fromCharCode(E)}return Q}function f(A,I){return A?d(z,A,I):""}function l(A,I,g,B){if(!(B>0))return 0;for(var C=g,Q=g+B-1,E=0;E=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&A.charCodeAt(++E)),i<=127){if(g>=Q)break;I[g++]=i}else if(i<=2047){if(g+1>=Q)break;I[g++]=192|i>>6,I[g++]=128|63&i}else if(i<=65535){if(g+2>=Q)break;I[g++]=224|i>>12,I[g++]=128|i>>6&63,I[g++]=128|63&i}else{if(g+3>=Q)break;I[g++]=240|i>>18,I[g++]=128|i>>12&63,I[g++]=128|i>>6&63,I[g++]=128|63&i}}return I[g]=0,g-C}function u(A,I,g){return l(A,z,I,g)}function W(A){for(var I=0,g=0;g=55296&&B<=57343&&(B=65536+((1023&B)<<10)|1023&A.charCodeAt(++g)),B<=127?++I:I+=B<=2047?2:B<=65535?3:4}return I}var p="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Z(A){for(var I=A,g=I>>1;_[g];)++g;if((I=g<<1)-A>32&&p)return p.decode(z.subarray(A,I));for(var B=0,C="";;){var Q=_[A+2*B>>1];if(0==Q)return C;++B,C+=String.fromCharCode(Q)}}function b(A,I,g){if(void 0===g&&(g=2147483647),g<2)return 0;for(var B=I,C=(g-=2)<2*A.length?g/2:A.length,Q=0;Q>1]=E,I+=2}return _[I>>1]=0,I-B}function x(A){return 2*A.length}function m(A){for(var I=0,g="";;){var B=AA[A+4*I>>2];if(0==B)return g;if(++I,B>=65536){var C=B-65536;g+=String.fromCharCode(55296|C>>10,56320|1023&C)}else g+=String.fromCharCode(B)}}function X(A,I,g){if(void 0===g&&(g=2147483647),g<4)return 0;for(var B=I,C=B+g-4,Q=0;Q=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++Q)),AA[I>>2]=E,(I+=4)+4>C)break}return AA[I>>2]=0,I-B}function V(A){for(var I=0,g=0;g=55296&&B<=57343&&++g,I+=4}return I}function O(A){var I=W(A)+1,g=RB(I);return g&&l(A,v,g,I),g}function T(A,I){v.set(A,I)}function j(A,I,g){for(var B=0;B>0]=A.charCodeAt(B);g||(v[I>>0]=0)}var P,v,z,_,$,AA,IA,gA,BA,CA=65536;function QA(I){P=I,A.HEAP8=v=new Int8Array(I),A.HEAP16=_=new Int16Array(I),A.HEAP32=AA=new Int32Array(I),A.HEAPU8=z=new Uint8Array(I),A.HEAPU16=$=new Uint16Array(I),A.HEAPU32=IA=new Uint32Array(I),A.HEAPF32=gA=new Float32Array(I),A.HEAPF64=BA=new Float64Array(I)}var EA=5304176,iA=61104,oA=A.TOTAL_MEMORY||268435456;function DA(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var B=g.func;"number"==typeof B?void 0===g.arg?A.dynCall_v(B):A.dynCall_vi(B,g.arg):B(void 0===g.arg?null:g.arg)}else g()}}(r=A.wasmMemory?A.wasmMemory:new WebAssembly.Memory({initial:oA/CA,maximum:oA/CA}))&&(P=r.buffer),oA=P.byteLength,QA(P),AA[iA>>2]=EA;var aA=[],wA=[],FA=[],GA=[],hA=!1;function sA(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)tA(A.preRun.shift());DA(aA)}function RA(){hA=!0,A.noFSInit||iI.init.initialized||iI.init(),QI.init(),DA(wA)}function UA(){iI.ignorePermissions=!1,DA(FA)}function yA(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)SA(A.postRun.shift());DA(GA)}function tA(A){aA.unshift(A)}function SA(A){GA.unshift(A)}var MA=Math.abs,nA=Math.ceil,cA=Math.floor,rA=Math.min,kA=0,KA=null,NA=null;function YA(I){kA++,A.monitorRunDependencies&&A.monitorRunDependencies(kA)}function eA(I){if(kA--,A.monitorRunDependencies&&A.monitorRunDependencies(kA),0==kA&&(null!==KA&&(clearInterval(KA),KA=null),NA)){var g=NA;NA=null,g()}}function JA(I){throw A.onAbort&&A.onAbort(I),t(I+=""),S(I),J=!0,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(I)}A.preloadedImages={},A.preloadedAudios={};var HA="data:application/octet-stream;base64,";function LA(A){return String.prototype.startsWith?A.startsWith(HA):0===A.indexOf(HA)}var qA,dA,fA="data:application/octet-stream;base64,AGFzbQEAAAABjwhzYAF/AX9gAX8AYAJ/fwF/YAJ/fwBgA39/fwF/YAV/f39/fwBgA39/fwBgBH9/f38AYAV/f39/fwF/YAR/f39/AX9gBn9/f39/fwF/YAAAYAZ/f39/f38AYAd/f39/f39/AGAIf39/f39/f38Bf2AHf39/f39/fwF/YAABf2ABfQF9YAF/AXxgBX9/f398AX9gA39+fwF+YAV/f39/fgF/YAh/f39/f39/fwBgCn9/f39/f39/f38AYAN/f30AYAN/f3wAYAJ/fABgBn9/f39/fAF/YAN/f38BfWACfX0BfWACf38BfGADf39/AXxgAnx8AXxgCX9/f39/f39/fwF/YAZ/fH9/f38Bf2AEf39/fwF+YAF8AXxgBX9/fn9/AGACf30AYAp/f39/f39/f39/AX9gDH9/f39/f39/f39/fwF/YAV/fX1/fwF/YAF9AX9gAX8BfWAGf39/f39/AXxgAnx/AXxgD39/f39/f39/f39/f39/fwBgDX9/f39/fX19fX19fX0AYAR/f399AGAFf399fX8AYAV/fX19fQBgBn98fH9/fwBgC39/f39/f39/f39/AX9gEX9/f39/f39/f319fX19fX19AX9gBn9/fX1/fwF/YAJ+fwF/YAF8AX9gBH9/f34BfmACf38BfWAEf39/fwF9YAN/fX0BfWABfAF9YAl/f39/f39/f38AYBF/f39/f39/f399fX19fX19fQBgBn9/f39/fQBgCH9/f39/fX19AGAJf39/f399fX19AGAFf39/fX0AYAd/f399fX1/AGAEf39/fABgA39/fgBgBn9/fX99fwBgAn9+AGADf35/AGADf319AGAEf319fwBgBn99fX19fwBgBH98fH8AYAx/f39/f39/f39/fH8Bf2AOf39/f39/f39/f3x/f38Bf2ATf39/f39/f39/fH9/f39/f39/fwF/YAx/f39/f39/f31/f38Bf2Aif39/f39/f398fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fwF/YAd/f39/f398AX9gB39/f398f38Bf2ADf399AX9gBX9/fX1/AX9gB39/fH9/f38Bf2APf398fHx8fHx8fHx8fHx8AX9gBH9+f38Bf2ACf30Bf2AFf319fX0Bf2ACf3wBf2ADfn9/AX9gAn1/AX9gAnx/AX9gAX8BfmACf38BfmACfn4BfmAFf39/f38BfWAHf39/f39/fwF9YAd/f39/f399AX1gBn9/f39/fQF9YAZ/f39/fX0BfWAEf39/fQF9YAN/f30BfWAFf319f38BfWACfX8BfWADfX19AX1gBH19fX0BfWAFf39/f38BfGAEf398fwF8YAN8fH8BfGADfHx8AXxgBnx8fHx8fAF8ApsEPANlbnYBYQALA2VudgFiAAEDZW52AWMAAQNlbnYBZAABA2VudgFlAAYDZW52AWYAAANlbnYBZwADA2VudgFoABADZW52AWkABgNlbnYBagAMA2VudgFrAAUDZW52AWwAEANlbnYBbQABA2VudgFuAAADZW52AW8AAQNlbnYBcAADA2VudgFxAAIDZW52AXIABQNlbnYBcwAGA2VudgF0AAADZW52AXUAAgNlbnYBdgADA2VudgF3AAYDZW52AXgAGQNlbnYBeQAAA2VudgF6AAIDZW52AUEAAQNlbnYBQgAHA2VudgFDAAYDZW52AUQACAhhc20yd2FzbQdmNjQtcmVtACADZW52AUUACANlbnYBRgAJA2VudgFHAAkDZW52AUgAAANlbnYBSQAkA2VudgFKAAADZW52AUsABANlbnYBTAAEA2VudgFNABADZW52AU4AUgNlbnYBTwAPA2VudgFQABMDZW52AVEAWANlbnYBUgACA2VudgFTAAMDZW52AVQAAwNlbnYBVQAFA2VudgFWAAkDZW52AVcACQNlbnYBWAACA2VudgFZAAIDZW52AVoAAgNlbnYBXwACA2VudgEkAAEDZW52DF9fdGFibGVfYmFzZQN/AAZnbG9iYWwDTmFOA3wABmdsb2JhbAhJbmZpbml0eQN8AANlbnYGbWVtb3J5AgGAIIAgA2VudgV0YWJsZQFwAe4G7gYDyAvGCwIBAgIDAQcCAQMCACoABAEBAgEDAwQ8AgICAAAAAAEDAwBqKwYQAgEDAAkAAQQGCgkCEQEBAikDAQAABjgABQUIBwMCAwgEBgBtBEgEAxwAAwEEAAIDGiwDPT0qCRgBAwoICAgJAB0CLQgcAw4OCikGBgkGVAQJAwcCAgACAAQDMAYYACoGADcCAwIGAgIAAgEHBw4GAwYnAScAESBwBgAJCQJlZAMBHQYGMQMdAzYCBAIDCAYCBgMCAw0DAAYAYgwCBwZOBgodOgMA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dCABaigCACIERQ0AIAAgBEYEQCADQQN0QQRqIAFqKAIADwUgA0EBaiEDDAILAAsLQQALcgEDfyMGIQMjBkEQaiQGIAJBb0sEQBAACyACQQtJBEAgACACOgALBSAAIAJBEGpBcHEiBBBRIgU2AgAgACAEQYCAgIB4cjYCCCAAIAI2AgQgBSEACyAAIAEgAhCoASADQQA6AAAgACACaiADEF8gAyQGCwQAQQALDQAgACADlCABIAKUkwsbACACBH8gACgCBCABKAIEELMBRQUgACABRgsLRQICfwF+IAAgATcDcCAAIAAoAggiAiAAKAIEIgNrrCIENwN4IAFCAFIgBCABVXEEQCAAIAMgAadqNgJoBSAAIAI2AmgLCycBAn8jBiEDIwZBEGokBiADIAI2AgAgACABIAMQlQMhBCADJAYgBAsoAQJ/An8jBiEDIwZBEGokBiAAQQJBzIcBQZjPAkEeIAEQCSADCyQGCzEBAn0gASoCACAAKgIAIgOTIAIqAgQgACoCBCIEk5QgASoCBCAEkyACKgIAIAOTlJMLBwAgAEEIags8AQJ/IAAoAgQgACgCACIDa0ECdSICIAFJBEAgACABIAJrEP8IBSACIAFLBEAgACABQQJ0IANqNgIECwsLEwAgAEGgiwE2AgAgAEEEahDoCQuBAQACQAJAIAIoAgRBsAFxQRh0QRh1QRBrIgIEQCACQRBGBEAMAgUMAwsACwJAAkAgACwAACICQStrDgMAAQABCyAAQQFqIQAMAgsgAkEwRiABIABrQQFKcUUNASAALAABQdgAayIBQQAgAUEgRxsNASAAQQJqIQAMAQsgASEACyAACwoAIABBUGpBCkkLQQECf0EMEEQiAgRAIAIgASAAQQN0bBBEIgM2AgAgAwRAIAIgADYCBCACIAE2AggFIAIQOEEAIQILBUEAIQILIAIL3AEBAX8gACgCACECIAAgASgCADYCACABIAI2AgAgACgCBCECIAAgASgCBDYCBCABIAI2AgQgACgCCCECIAAgASgCCDYCCCABIAI2AgggACgCDCECIAAgASgCDDYCDCABIAI2AgwgACgCECECIAAgASgCEDYCECABIAI2AhAgACgCFCECIAAgASgCFDYCFCABIAI2AhQgACgCGCECIAAgASgCGDYCGCABIAI2AhggACgCHCECIAAgASgCHDYC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J0sEQCAAECRFBEBBpMUDQTA2AgBBfw8LC0Gw3QMgADYCACABCwsAIAC7EN0JthBDCyoBAX8jBiEDIwZBEGokBiADIAI2AgAgAEH/////ByABIAMQqQEaIAMkBgsOACAAQeiJASgCABD/BAuGAQICfwF+IACnIQIgAEL/////D1YEQANAIAFBf2oiASAAIABCChD2ASIEQgp+fadB/wFxQTByOgAAIABC/////58BVgRAIAQhAAwBCwsgBKchAgsgAgRAA0AgAUF/aiIBIAIgAkEKEEgiA0EKbGtBMHI6AAAgAkEKTwRAIAMhAgwBCwsLIAELGgAgACABEKoCIgBBACAALQAAIAFB/wFxRhsLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQYCHAUGutwJBAiABEAkgAwskBgsNACAAKAIEIAEoAgRLCxAAIAAgATYCACAAIAI2AgQLDQAgACgCECABQRRsagsQACAAKAIEIAEgACgCAGxqCwgAIABB9ABqCwwAIAAgASAAIAFKGws/AQJ/IAAoAgQhAiAAKAIIIQEDQCABIAJHBEAgACABQXxqIgE2AggMAQsLIAAoAgAiAQRAIAAoAgwaIAEQOAsLcwEBfyAAQQA2AgwgACADNgIQIAEEQCABQf////8DSwRAQQgQBSIDEIgBIANBtIsBNgIAIANB+PcAQRYQBAUgAUECdBBRIQQLCyAAIAQ2AgAgACACQQJ0IARqIgI2AgggACACNgIEIAAgAUECdCAEajYCDAsGAEEYEAILCABBDRACQQALiwEBA38jBiEDIwZBEGokBiACQe////8DSwRAEAALIAJBAkkEQCAAIAI6AAsgACEEBSACQQRqQXxxIgVB/////wNLBEAQAAUgACAFQQJ0EFEiBDYCACAAIAVBgICAgHhyNgIIIAAgAjYCBAsLIAQgASACEKcBIANBADYCACACQQJ0IARqIAMQbiADJAYLuQEBBX8jBiEDIwZBEGokBiADIAE6AAAgACwACyIBQQBIIgUEfyAAKAIEIQIgACgCCEH/////B3FBf2oFIAFB/wFxIQJBCgshASADQQFqIQQCQAJAIAEgAkYEQCAAIAFBASABIAEQ3QIgACwAC0EASA0BBSAFDQELIAAgAkEBajoACwwBCyAAKAIAIQYgACACQQFqNgIEIAYhAAsgACACaiIAIAMQXyAE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aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQTRqIgEQSCIEIAFJBEAgASECIAMhAEEBDAELIAMgASAEbEYEQCABIQJBCQwBCyADIAJBOmoiARBIIgQgAUkEQCABIQIgAyEAQQEMAQsgAyABIARsRgRAIAEhAkEJDAELIAMgAkE8aiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQcgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQc4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdIAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQdgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeQAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeYAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQeoAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQewAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfAAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyABIARsIANGBEAgASECQQkMAQsgAyACQfgAaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQf4AaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYgBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQYoBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQY4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQZwBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQaYBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQagBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQawBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbIBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQbQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQboBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQb4BaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcABaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcQBaiIBEEgiBCABSQRAIAEhAiADIQBBAQwBCyADIAEgBGxGBEAgASECQQkMAQsgAyACQcYBaiIBEEgiBCABSQRAIAEhAiAD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BiwAAwRAQQEhAgNAIARBkAFqIAFBAnQgCmooAgBBBXQiCUECdGpBAzYCACAJIARBkAlqaiABIAZBEWpqIgMsAAA6AAAgBEGQAWogCUEBciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEDciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEHciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogCUEPciIFQQJ0akEDNgIAIAUgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEBaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUECaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEDaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEEaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEFaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEGaiIHQQJ0akEDNgIAIAcgBEGQCWpqIAMsAAA6AAAgBEGQAWogBUEHaiIH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AgggACgCBGusfSEBCwJAAkAgACgCFCAAKAIcTQ0AIABBAEEAIAAoAiRBP3FBygFqEQQAGiAAKAIUDQAMAQsgAEEANgIQIABBADYCHCAAQQA2AhQgACABIAIgACgCKEEDcUGmA2oRFABCAFMEf0F/BSAAQQA2AgggAEEANgIEIAAgACgCAEFvcTYCAEEACxoLC5EBAgF/An4CQAJAIAC9IgNCNIgiBKdB/w9xIgIEQCACQf8PRgRADAMFDAILAAsgASAARAAAAAAAAAAAYgR/IABEAAAAAAAA8EOiIAEQigMhACABKAIAQUBqBUEACzYCAAwBCyABIASnQf8PcUGCeGo2AgAgA0L/////////h4B/g0KAgICAgICA8D+EvyEACyAACxEAIAAEfyAAIAEQngEFQQALC74DAwF/AX4BfCABQRRNBEACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOCgABAgMEBQYHCAkKCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADNgIADAkLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOsNwMADAgLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIAOtNwMADAcLIAIoAgBBB2pBeHEiASkDACEEIAIgAUEIajYCACAAIAQ3AwAMBgsgAigCAEEDakF8cSIBKAIAIQMgAiABQQRqNgIAIAAgA0H//wNxQRB0QRB1rDcDAAwFCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf//A3GtNwMADAQLIAIoAgBBA2pBfHEiASgCACEDIAIgAUEEajYCACAAIANB/wFxQRh0QRh1rDcDAAwDCyACKAIAQQNqQXxxIgEoAgAhAyACIAFBBGo2AgAgACADQf8Bca03AwAMAgsgAigCAEEHakF4cSIBKwMAIQUgAiABQQhqNgIAIAAgBTkDAAwBCyAAIAJB6QURAwALCwtAAQJ/IAAoAgAsAAAQigEEQANAIAAoAgAiAiwAACABQQpsQVBqaiEBIAAgAkEBajYCACACLAABEIoBDQALCyABCwkAIAAgARCfAQsJACAAIAEQjgULIgAgAL1C////////////AIMgAb1CgICAgICAgICAf4OEvwvgAwIDfwF+An4CQAJAAkACQCAAKAIE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IAZqIgUgByAFIAdIGyEHIAsgCEEBaiIIRw0AC0EAIQVBACEIA38gCEECdCAEaigCACAHTARAIAUgGWogCDoAACAFQQFqIQULIAsgCEEBaiIIRw0AIAULBUEACyETIBchCCAEQf////8HNgIAIARB/////wc2AgQgBEH/////BzYCCCAEQf////8HNgIMIARB/////wc2AhAgBEH/////BzYCFCAEQf////8HNgIYIARB/////wc2AhwgBEH/////BzYCICAEQf////8HNgIkIARB/////wc2AiggBEH/////BzYCLCAEQf////8HNgIwIARB/////wc2AjQgBEH/////BzYCOCAEQf////8HNgI8IARBQGtB/////wc2AgAgBEH/////BzYCRCAEQf////8HNgJIIARB/////wc2AkwgBEH/////BzYCUCAEQf////8HNgJUIARB/////wc2AlggBEH/////BzYCXCAEQf////8HNgJgIARB/////wc2AmQgBEH/////BzYCaCAEQf////8HNgJsIARB/////wc2AnAgBEH/////BzYCdCAEQf////8HNgJ4IARB/////wc2AnwgBEH/////BzYCgAEgBEH/////BzYChAEgBEH/////BzYCiAEgBEH/////BzYCjAEgBEH/////BzYCkAEgBEH/////BzYClAEgBEH/////BzYCmAEgBEH/////BzYCnAEgBEH/////BzYCoAEgBEH/////BzYCpAEgBEH/////BzYCqAEgBEH/////BzYCrAEgBEH/////BzYCsAEgBEH/////BzYCtAEgBEH/////BzYCuAEgBEH/////BzYCvAEgBEH/////BzYCwAEgBEH/////BzYCxAEgBEH/////BzYCyAEgBEH/////BzYCzAEgBEH/////BzYC0AEgBEH/////BzYC1AEgBEH/////BzYC2AEgBEH/////BzYC3AEgBEH/////BzYC4AEgBEH/////BzYC5AEgBEH/////BzYC6AEgBEH/////BzYC7AEgBEH/////BzYC8AEgBEH/////BzYC9AEgBEH/////BzYC+AEgBEH/////BzYC/AEgBEH/////BzYCgAIgBEH/////BzYChAIgBEH/////BzYCiAIgBEH/////BzYCjAIgBEH/////BzYCkAIgBEH/////BzYClAIgBEH/////BzYCmAIgBEH/////BzYCnAIgBEH/////BzYCoAIgBEH/////BzYCpAIgBEH/////BzYCqAIgBEH/////BzYCrAIgBEH/////BzYCsAIgBEH/////BzYCtAIgBEH/////BzYCuAIgBEH/////BzYCvAIgBEH/////BzYCwAIgBEH/////BzYCxAIgBEH/////BzYCyAIgBEH/////BzYCzAIgBEH/////BzYC0AIgBEH/////BzYC1AIgBEH/////BzYC2AIgBEH/////BzYC3AIgBEH/////BzYC4AIgBEH/////BzYC5AIgBEH/////BzYC6AIgBEH/////BzYC7AIgBEH/////BzYC8AIgBEH/////BzYC9AIgBEH/////BzYC+AIgBEH/////BzYC/AIgBEH/////BzYCgAMgBEH/////BzYChAMgBEH/////BzYCiAMgBEH/////BzYCjAMgBEH/////BzYCkAMgBEH/////BzYClAMgBEH/////BzYCmAMgBEH/////BzYCnAMgBEH/////BzYCoAMgBEH/////BzYCpAMgBEH/////BzYCqAMgBEH/////BzYCrAMgBEH/////BzYCsAMgBEH/////BzYCtAMgBEH/////BzYCuAMgBEH/////BzYCvAMgBEH/////BzYCwAMgBEH/////BzYCxAMgBEH/////BzYCyAMgBEH/////BzYCzAMgBEH/////BzYC0AMgBEH/////BzYC1AMgBEH/////BzYC2AMgBEH/////BzYC3AMgBEH/////BzYC4AMgBEH/////BzYC5AMgBEH/////BzYC6AMgBEH/////BzYC7AMgBEH/////BzYC8AMgBEH/////BzYC9AMgBEH/////BzYC+AMgBEH/////BzYC/AMgE0EASgRAQQAhDwNAIBQgDyAZaiwAACILQf8BcSIHIAAoAogBIgYoAgBqLQAAayINQQF0IQwgFSAHIAYoAgRqLQAAayIFQQNsIQogBUHIAGwiBUGQAWohGCAWIAcgBigCCGotAABrIgdBBHQiBkFAayEOIAZBwAFqIRAgBkHAAmohEiAFQbADaiEbIAVB0AVqIRwgBUHwB2ohHSAFQZAKaiEeIAVBsAxqIR8gBUHQDmohIEEDIREgDUEGdEGAAmohDSAM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IAAQOAtBoMQDQQA2AgALCxMAIABByAJqEFUgAEGgAmoQ5QYLKAECfwJ/IwYhAyMGQRBqJAYgAEEDQZSHAUHRtwJBASABEAkgAwskBgvgHQIafwF+IwYhBCMGQdASaiQGIARBkBJqIREgBEHwBmohCCAEQaAGaiEPIARB0AVqIRAgBEGABWohEiAEQbAEaiETIARBMGohFyAEIRYCfwJ/An8CQAJAAkACQAJAAkACQCAAQYQGaw6LEAEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUCAwUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFCyACIRFBoBEhCUGgDSELQfgAIQ1B/wAhDEEJIRRBwAAMBwtB4AwhCUGgCyELQQ0hDUEJIQBBASECQQ8MBQtB4AwhCUGgCyELQQ0hDUEFIQBBAiECQQ8MBAtBDCEAQQIhAgwCC0EHIQBBAyECDAELQX8MAwtB4AshCUGgCiELQRYhDUEfCyEMQQAhBAN/IAQgDUYEfyACIRQgAAUgBCARaiABp0EBcToAACAEQQFqIQQgAUIBiCEBDAELCwshGCAUQQF0IRVBASECA0AgAiAVTARAIAJBAnQgE2oiBkEANgIAQQAhBEEAIQADQCAEIA1IBEAgBCARaiwAAARAIAYgAiAEbCAMEE9BAnQgC2ooAgAgAHMiADYCAAsgBEEBaiEEDAELCyAGIABBAnQgCWooAgA2AgBBASAFIAAbIQUgAkEBaiECDAELCyAFQQBHIhkEQCAPQQA2AgAgDyATKAIEIgU2AgQgCEEANgIAIAhBATYCSEEBIQADQCAAIBVIBEAgAEECdCAIakF/NgIAIAhByABqIABBAnRqQQA2AgAgAEEBaiEADAELCyAQQQA2AgAgEEEANgIEIBJBfzYCACASQQA2AgRBACEE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ACABEEAgABA/EAALEwAgACAAKAIEIgBBAWo2AgQgAAvFAwEIfyABBEACQCABQf////8DSwRAQQgQBSICEIgBIAJBtIsBNgIAIAJB+PcAQRYQBAsgAUECdBBRIQIgACgCACEDIAAgAjYCACADBEAgACgCBBogAxA4CyAAIAE2AgRBACECA0AgASACRwRAIAAoAgAgAkECdGpBADYCACACQQFqIQIMAQsLIABBCGohAyAAKAIIIgIEQCACKAIEIQQgASABQX9qIghxRSIJBH8gBCAIcQUgBCABTwR/IAQgARBOBSAECwshBiAAKAIAIAZBAnRqIAM2AgADQCACIQQDQAJAA0ACQCAEKAIAIgJFDQYgAigCBCEDIAYgCQR/IAMgCHEFIAMgAU8EfyADIAEQTgUgAwsLIgVGDQAgACgCACAFQQJ0aiIDKAIARQ0CIAIhAwNAIAMoAgAiBwRAIAIoAgggBygCCEYEQCAHIQMMAgsLCyAEIAc2AgAgAyAAKAIAIAVBAnRqKAIAKAIANgIAIAAoAgAgBUECdGooAgAgAjYCAAwBCwsgAiEEDAELCyADIAQ2AgAgBSEGDAAACwALCwUgACgCACEBIABBADYCACABBEAgACgCBBogARA4CyAAQQA2AgQLCzsAQeC8AywAAEUEQEHgvAMQcARAQYjEA0EANgIAQYzEA0EANgIAQZDEA0EANgIAQeC8AxBvCwtBiMQDCwkAIAAgATYCBAsJACAAIAE2AgALUQECfyMGIQMjBkEQaiQGIAAgATYCAEEQEFEiAkEANgIEIAJBADYCCCACQZyGATYCACACIAE2AgwgACACNgIEIAMgATYCACADIAE2AgQgAyQGCzQAIABBADYCACAAQQA2AgQgAEIANwIIIABCADcCECAAQgA3AhggAEEANgIgIABBJGoQlAgLuQEBBX8gASgCACEBIAAoAgQiAgRAAkAgAiACQX9qIgRxRSIFBH8gASAEcQUgASACSQR/IAEFIAEgAhBOCwsiBkECdCAAKAIAaigCACIABH8DQCAAKAIAIgBFBEBBACEADAMLIAAoAgQiAyABRgRAIAEgACgCCEYNAwUgBQRAIAMgBHEhAwUgAyACTwRAIAMgAhBOIQMLCyADIAZHBEBBACEADAQLCwwAAAsABUEACyEACwVBACEACyAACykBAX8gACgCCBC2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AhQiAkHQAWogAUYEQCAAKAIAIgFB5AA2AhQgASACNgIYIAAoAgAoAgQhASAAQQMgAUE/cUGyBWoRAwAgAEEANgK4AwUgACgCGCgCFCEBIAAgAiABQT9xQYoBahECAEUEQEEADwsLIAAoAtADIgAgACgCFEEBakEHcTYCFEEBC6RUASl/IwYhKSMGQYACaiQGICkhCiAAKAK4AyEBA0ACQCABRQRAAn8gACgC0AMoAgwEQCAAELECRQRAQd4CIQEMBAsgACgCuAMMAQsgACgCGCIGKAIEIgFFBEAgBigCDCEBIAAgAUH/AHFBCGoRAABFBEBB3gIhAQwECyAGKAIEIQELIAYoAgAiBEEBaiECIAQsAAAhAyABQX9qIgQEfyACBSAGKAIMIQEgACABQf8AcUEIahEAAEUEQEHeAiEBDAQLIAYoAgQhBCAGKAIACyEBIANB/wFxIQUgASwAACIHQf8BcSECIANBf0cgB0FYR3IEQCAAKAIAIgNBNzYCFCADIAU2AhggACgCACACNgIcIAAoAgAoAgAhAyAAIANB/wFxQawDahEBAAsgACACNgK4AyAGIAFBAWo2AgAgBiAEQX9qNgIEIAILIQELAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQFrDv4BEBISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIDBAUICggICAgGBwgJCAgIEBAQEBAQEBACAQALEQwSEg4ODg4ODg4ODg4ODg4ODg4SEhISEhISEg0SEhISEg8SC0EZIQEMEwtBywAhAQwSCyAAKAIAIgFB6AA2AhQgASgCBCEBIABBASABQT9xQbIFahEDACAAKALQA0EMaiIBKAIABEAgACgCACIBQcAANgIUIAEoAgAhASAAIAFB/wFxQawDahEBACAAKALQA0EMaiEBCyAAQgA3AOgBIABCADcA8AEgAEKBgoSI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KAIAKAIAIQMgACADQf8BcUGsA2oRAQALIABBpAFqIAFBAnRqIgEoAgAiA0UEQCABIAAQrwUiAzYCAAsgBEF/aiEJAn8CfwJAAkACQAJAAkACQAJAAkACQCACQQBHIgsEfyAEQYEBTg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7AVwgA0EBOwFeIANBATsBYCADQQE7AWIgA0EBOwFkIANBATsBZiADQQE7AWggA0EBOwFqIANBATsBbCADQQE7AW4gA0EBOwFwIANBATsBciADQQE7AXQgA0EBOwF2IANBATsBeCADQQE7AXogA0EBOwF8IANBATsBfiAJQQF1BSAEQcEATg0JIANBATsBACADQQE7AQIgA0EBOwEEIANBATsBBiADQQE7AQggA0EBOwEKIANBATsBDCADQQE7AQ4gA0EBOwEQIANBATsBEiADQQE7ARQgA0EBOwEWIANBATsBGCADQQE7ARogA0EBOwEcIANBATsBHiADQQE7ASAgA0EBOwEiIANBATsBJCADQQE7ASYgA0EBOwEoIANBATsBKiADQQE7ASwgA0EBOwEuIANBATsBMCADQQE7ATIgA0EBOwE0IANBATsBNiADQQE7ATggA0EBOwE6IANBATsBPCADQQE7AT4gA0FAa0EBOwEAIANBATsBQiADQQE7AUQgA0EBOwFGIANBATsBSCADQQE7AUogA0EBOwFMIANBATsBTiADQQE7AVAgA0EBOwFSIANBATsBVCADQQE7AVYgA0EBOwFYIANBATsBWiADQQE7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IAJBf2o2AgQgAEEANgK4AyAKJAZBAQ8FIAFBywBGBEAgACgCACIBQdcANgIUIAEoAgQhASAAQQEgAUE/cUGyBWoRAwAgAEEANgK4AyAKJAZBAg8FIAFBrgFGBEAMAwUgAUHeAkYNAwsLC0EADwsgCiQGQQALQQEBfyAAKALQAyEBIABBADYC2AEgAEEANgKQASAAQQA2ArgDIAFBADYCDCABQQA2AhAgAUEANgIYIAFBADYCpAELiQMBAX8gACgCBCgCACEBIAAgAEEAQawBIAFBP3FBygFqEQQAIgE2AtADIAFBiwE2AgAgAUHXADYCBCABQdgANgIIIAFB2QA2AhwgAUEANgJgIAFBADYCZCABQdkANgIkIAFBADYCaCABQdkANgIoIAFBADYCbCABQdkANgIsIAFBADYCcCABQdkANgIwIAFBADYCdCABQdkANgI0IAFBADYCeCABQdkANgI4IAFBADYCfCABQdkANgI8IAFBADYCgAEgAUFAa0HZADYCACABQQA2AoQBIAFB2QA2AkQgAUEANgKIASABQdkANgJIIAFBADYCjAEgAUHZADYCTCABQQA2ApABIAFB2QA2AlAgAUEANgKUASABQdkANgJUIAFBADYCmAEgAUEANgKcASABQdkANgJcIAFBADYCoAEgAUHaADYCICABQdoANgJYIAAoAtADIQEgAEEANgLYASAAQQA2ApABIABBADYCuAMgAUEANgIMIAFBADYCECABQQA2AhggAUEANgKkAQseACAAQQEQrgIgAEEAEK4CIAAoAgQQOCAAQQA2AgQL2QcBB38CQAJAIAIgA2oiCSABKAIESw0AIAEoAgwgA0kNACABKAIARQ0ADAELIAAoAgAiA0EXNgIUIAMoAgAhAyAAIANB/wFxQawDahEBAAsCQAJAIAEoAhgiAyACSw0AIAkgAyABKAIQaksNAAwBCyABKAIoRQRAIAAoAgAiA0HHADYCFCADKAIAIQMgACADQf8BcUGsA2oRAQALIAEoAiQEQCABKAIIQQd0IQogASgCGCEGIAEoAhAiBUEASgRAAkAgAUEwaiELIAEoAhQiAyAFIAMgBUgbIgUgASgCHCAGayIDIAUgA0gbIgUgASgCBCAGayIDIAUgA0gbIgNBAU4EQCAGIApsIQVBACEGA0AgASgCNCEHIAAgCyABKAIAIAZB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IABBzABqIAMgAkF/akkbKAIACzYCHCABQQA2AhQgAUEANgIYQQMLoQEBBH8DQAJAAkACQCAAIAFqLAAAIgMEQCADQS5GBEAMAgUMAwsACwwCCyABIQILIAFBAWohAQwBCwsgACABaiEDQZy4ARBgQQJqIQQCfwJAIAIEfyACIARqQYACSgR/QX8FDAILBSABIARqQYACSgR/QX8FIANBLjoAACABIQIMAgsLDAELIAAgAkEBampBADoAACAAEGAgAGoQgQVBAAsaC9oDAQ9/IAAoAsQDIQsgACgCzAJBf2ohDAJAAkADQAJAIAAoApABIgIgACgCmAEiA04EQCACIANHDQEgACgClAEgACgCnAFLDQELIAAoAswDKAIAIQIgACACQf8AcUEIahEAAA0BDAILCwwBC0EADwsgACgCJEEASgRAIAAoAtgBIQIDQCACKAI0BEAgACgCBCgCICEDIAAgC0HIAGogBEECdGooAgAgAigCDCIFIAAoApwBbCAFQQAgA0EfcUGiAmoRCAAhDSAAKAKcASAMSQR/IAIoAgwFIAIoAiAgAigCDCIFEE4hAyADIAUgAxsLIQkgACgC2ANBBGogBEECdGooAgAhDiAJQQBKBEAgBEECdCABaigCACEGQQAhByACIgUiDygCHCEDA0AgAwR/QQAhAyAHQQJ0IA1qKAIAIQhBACEKA38gACACIAggBiADIA5BP3FBmgZqEQUAIAhBgAFqIQggAyAPKAIkaiEDIApBAWoiCiACKAIcIhBJDQAgEAsFQQALIQMgBSgCKEECdCAGaiEGIAdBAWoiByAJRw0ACwsLIAJB2ABqIQIgBEEBaiIEIAAoAiRIDQALCyAAIAAoApwBQQFqIgE2ApwBQQNBBCABIAAoAswCSRsLnQUBE38jBiETIwZBEGokBiATIQYgACgCxAMhBCAAKALUAkEASgRAQQAhAQNAIAAoAgQoAiAhBSAAQdgCaiABQQJ0aigCACIDKAIMIQIgAUECdCAGaiAAIARByABqIAMoAgRBAnRqKAIAIAAoApQBIAJsIAJBASAFQR9xQaICahEIADYCACABQQFqIgEgACgC1AJIDQALCyAEKAIYIgUgBCgCHCIBSARAAkAgBEEgaiEMIAQoAhQhAyAAKALoAiECA0ACQCADIAJJBEAgAyECA0AgACgC1AIiDUEASgRA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AtgDIQsgACgCJEEATARADwsgACgC2AEhAQNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASIIKAIoIAEoAiQiBEEIdGpBgQJrDpAeAB4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBYBIB0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAIgIBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBUgAyAgIBsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEICAgIBogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBQgIAUgICAgIBkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgBiAgICAgIBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBMgICAfICAgICAgIBcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBIgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBEgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgICAgICAMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA8gICAgICAgDiALQQAhAkEEIQMMIAtBACECQQUhAwwfC0EAIQJBBiEDDB4LQQAhAkEHIQMMHQtBACECQQghAwwcC0EAIQJBCSEDDBsLQQAhAkEKIQMMGgtBACECQQshAwwZC0EAIQJBDCEDDBgLQQAhAkENIQMMFwtBACECQQ4hAwwWC0EAIQJBDyEDDBULQQAhAkEQIQMMFAtBACECQREhAwwTC0EAIQJBEiEDDBILQQAhAkETIQMMEQtBACECQRQhAwwQC0EAIQJBFSEDDA8LQQAhAkEWIQMMDgtBACECQRchAwwNC0EAIQJBGCEDDAwLQQAhAkEZIQMMCwtBACECQRohAwwKC0EAIQJBGyEDDAkLQQAhAkEcIQMMCAtBACECQR0hAwwHC0EAIQJBHiEDDAYLQQAhAkEfIQMMBQtBACECQSAhAwwEC0EAIQJBISEDDAMLQQAhAkEiIQMMAgsCQAJAAkACQCAAKAJIIgEOAwABAgMLIAEhAkEjIQMMBAsgASECQSQhAwwDCyABIQJBJSEDDAILIAAoAgAiAUExNgIUIAEoAgAhASAAIAFB/wFxQawDahEBAAwBCyAAKAIAIgFBBzYCFCABIAQ2AhggACgCACAIKAIoNgIcIAAoAgAoAgAhASAAIAFB/wFxQawDahEBAAsgC0EEaiAJQQJ0aiADNgIAIAgoAjQEQCALQSxqIAlB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AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCAwsgDiASp0HgCWosAAAiAKw3AwAgAEEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBQsMAwsgDiASpyIAQeAIaiwAACIBrDcDACAGBEAgBiAAQaAJai0AADYCAAsgAUEASARAIAJBfzYCACAERAAAAAAAAPC/OQMAQXwMBAsMAgsgBSASQQAgDhC1AyIAQQBIBEAgAkF/NgIAIAREAAAAAAAA8L85AwBBfAwDCyAAQQBHIAZBAEdxBEAg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ACgCCCEDDAAACwALIApBDGwgDmogBDYCBCAKQQFqIQoMAQsLDAELQQBBA0G52AIgDxA9QQEQAQtBACEEQQAhCAJAAkADQCAIIAxIBEAgASgCACgCCCIHIAhBDGxqKAIIIQVBACECAkACQANAIAIgC04NASACQQFqIQMgACgCACgCCCACQQxsaigCCCAFRwRAIAMhAgwBCwsgBEEBaiEEDAELIAggC2ogBGsiD0EMbCAOaiEJIA9BDGwgDmogBTYCCCAJIAhBDGwgB2ooAgQiB0EMbBBEIgM2AgAgA0UNA0EAIQUDQCAFIAdIBEAgCSgCACAFQQxsaiICIAEoAgAoAgggCEEMbGooAgAgBUEMbGoiAykCADcCACACIAMoAgg2AgggBUEBaiEFDAELCyAPQQxsIA5qIAc2AgQLIAhBAWohCAwBCwsMAQtBAEEDQbnYAiAQED1BARABCyAAKAIAIgJBCGoiAygCACIEBEBBACEDA0AgAyACKAIMSARAIANBDGwgBGooAgAQOCADQQFqIQMgACgCACIEIQIgBCgCCCEEDAELCyAEEDggACgCAEEIaiEDCyADIA42AgAgACgCACAGNgIMIAEQ/wMLQQAFQQBBA0GguAEgDRA9QX8LIREgDSQGIBELowEBAn8gACgCACIBBH8gASgCACICBEAgAigCACEBIAJBADYCACABBEAgARDrAyABEDgLIAIQOCAAKAIAIQELIAEoAhwiAgRAIAIQOCAAKAIAIQELIAEoAiQiAgRAIAIQOCAAKAIAIQELIAEoAjQiAgRAIAIQOCAAKAIAIQELIAEoAiwiAgR/IAIQOCAAKAIABSABCxA4IABBADYCAEEABUF/CxoLjAEBA38jBiEEIwZBEGokBkEBQbwgEI0CIgMEQEEEEFEiBRC7CCADIAU2AgAgAyAANgIEIANBATYCCCADIAE2AgwgAyACNgIQIANBATYCFCADQX82AhggA0IANwIcIANCADcCJCADQgA3AiwgA0IANwI0IAQkBiADDwVBAEEDQbnYAiAEED1BARABC0EAC8cBAgJ/B30CfyMGIQYjBkFAayQGIAAqAgwgACoCLCIMIAGUkyEJIAAqAiQiByAClCAAKgIUkyEKIAAqAiAiCCAClCAAKgIQkyELIAcgAZQgACoCBJMhByAIIAGUIAAqAgCTIQggACoCHCENIAwgApQhAQJADAALIA0gAZMhASAIIAqUIAcgC5STIgJDAAAAAFsEf0F/BSADIAogCZQgByABlJMgApU4AgAgBCAIIAGUIAsgCZSTIAKVOAIAQQALIQAgBgskBiAACycBAX8gACgCACIBBH8gARDiAiAAKAIAEDggAEEANgIAQQAFQX8LGgvVBgIPfwF9IwYhCSMGQdAAaiQGIAlBPGohCCAJQThqIQYgCUE0aiEOIAlBMGohDyAJQUBrIRACfwJAIAAEfyAAQQhqIAEgCRD6ASAIIAMoAgAiByAEQRRsaigCCCIBNgIAIAYgBEEUbCAHaioCDCIVOAIAQQAgCSABviAVIAggBhDlAUEASAR/QX8FIABBuAFqIhEgCCoCACAGKgIAIA4gDxBtQQBIBH9BfwUgDioCAEMAAAA/khBDIQggDyoCAEMAAAA/khBDIRJBACEEQQAgBSgCECIAayEKIBIgAEEBdGshC0EAIQFBACEAIAUoAhghBwNAIAogBSgCFEoEQCAEIQcMBQUgC7IhFUEAIAUoAggiBmshDCAIIAZBAXRrIQ0DQCAMIAUoAgxMBEAgESANsiAVIA4gDxCmAUEASARAIAdBgCA7AQAFIAkgAigCACADKAIIQQJ0aigCACAOKgIAIA8qAgAgEBCBBEEASARAIAdBgCA7AQAFIAcgEC0AACIGOwEAIARBAWohBCABIAZB/wFxIgYgBmxqIQEgACAGaiEACwsgDEEBaiEMIA1BAmohDSAHQQJqIQcMAQsLIApBAWohCiALQQJqIQsMAQsAAAsACwsFIAggAygCACIHIARBFGxqKAIIIgA2AgAgBiAEQRRsIAdqKgIMIhU4AgBBACABIAC+IBUgDiAPEOUBQQBIBH9BfwUgDioCAEMAAAA/khBDIREgDyoCAEMAAAA/khBDIRNBACAFKAIQIgBrIQogEyAAQQF0ayELQQAhB0EAIQRBACEAIAUoAhghBgNAIAogBSgCFEoEQCAEIQEMBAUgC7IhFUEAIAUoAggiCGshDCARIAhBAXRrIQ0DQCAMIAUoAgxMBEAgASACKAIAIAMoAghBAnRqKAIAIA2yIBUgEBCBBEEASARAIAZBgCA7AQAFIAYgEC0AACIIOwEAIAdBAWohByAEIAhB/wFxIgggCGxqIQQgACAIaiEACyAMQQFqIQwgDUECaiENIAZBAmohBgwBCwsgCkEBaiEKIAtBAmohCwwBCwAACwALCwwBCyAHBH8gBSABIAAgAGwgBxA5a7KREEM2AhwgBSAANgIgIAUgBzYCJEEABUF/CwshFCAJJAYgFAuSAQEDfyMGIQMjBkEQaiQGQSgQRCICRQRAQQBBA0G52AIgAxA9QQEQAQsgA0EIaiEEIAIgADYCECACIAA2AgggAiABNgIUIAIgATYCDCACIAEgAEEBamoiADYCACACIAA2AgQgAiAAQQF0IABsEEQiADYCGCAABEAgAyQGIAIPBUEAQQNBudgCIAQQPUEBEAELQQAL5wIBBX8gBCgCBCENIAFBAXQhCyAEKAIAIQ4gBCgCGCEKIAAgAiABIANsamohAkEAIQADQCAMIA1IBEBBACEDIAIhAQNAIAMgDkgEQCAAIAEtAAAgCi8BAGxqIQAgA0EBaiEDIApBAmohCiABQQJqIQEMAQsLIAxBAWohDCACIAtqIQIMAQsLIA5BAXQiA0EIaiICIAhBfmoiASANQQF0amwhCyADIAdBfmoiCmoiCCALaiIHQQJ0IAVqKAIAIAogASACbCIBaiIDQQJ0IAVqKAIAaiAKIAtqIgJBAnQgBWooAgBrIAEgCGoiAUECdCAFaigCAGshBSAJIAdBAnQgBmooAgAgA0ECdCAGaigCAGogAkECdCAGaigCAGsgAUECdCAGaigCAGsgBSAFbCAEKAIkIgIQOWsiAQR/IAAgBSAEKAIgbCACEDlrQeQAbCAEKAIcEDlB5ABsIAGykRBDEDkFQQALNgIAC7ECAQJ/IAMoAgAiBwRAAkADQAJAIAggB04NACAIQQJ0IAZqKAIAIAJIDQAgCEEBaiEIDAELCyAHIAhGBEAgB0EDTw0BIAdBAnQgBGogADYCACAHQQJ0IAVqIAE2AgAgB0ECdCAGaiACNgIAIAMgAygCAEEBajYCAAwBCyAHQQNGBH9BAgUgAyAHQQFqNgIAIAcLIQMDQCADIAhKBEAgA0ECdCAEaiADQX9qIgdBAnQgBGooAgA2AgAgA0ECdCAFaiAHQQJ0IAVqKAIANgIAIANBAnQgBmogB0ECdCAGaigCADYCACAHIQMMAQsLIANBAnQgBGogADYCACADQQJ0IAVqIAE2AgAgA0ECdCAGaiACNgIACwUgBCAANgIAIAUgATYCACAGIAI2AgAgA0EBNgIACwuoDQEcfyMGIQwjBkHQAGokBiAMQQhqIRMgDCIeQcgAaiEbIAxBPGohHCAMQTBqIR0gDEEkaiEUIAxBIGohFyAMQRhqIR8gDEEQaiEgIAUoAhAhJiAFKAIUISUgAkF/aiEWIANBf2ohGANAAkAgEUEDTw0AIBFBA3QgCGooAgAiDEEASA0AIAxBfHFBAnIiDCAGayINQQAgDUEAShshDSAGIAxqIgwgFiAMIAJIGyEZIBFBA3QgCGooAgRBBBA5QQJ0QQJyIg4gB2shDCAHIA5qIg4gGCAOIANIGyEVIAxBACAMQQBKGyEOA0AgDiAVTARAIAEgDSIMIAIgDmxqaiEPA0AgDCAZTARAIA9BADoAACAMQQFqIQwgD0EBaiEPDAELCyAOQQFqIQ4MAQsLIBFBAWohEQwBCwsgG0EANgIAICVBAXQhECAmQQF0IRJBASEMQQAhDwJAAkADQAJAIA9BA08NAiAPQQN0IAhqKAIAIg1BAEgNACAHIA9BA3QgCGooAgRBBBA5QQJ0QQJyIg5qIRYgDUF8cUECciINIAZrIREgBiANaiEYIA4gB2shDgNAAkAgDiAWSg0AIA4gEk4EQAJAIA4gEGogA04NAiACIA5sIRkgESENA0AgDSAYSg0BIA0gBSgCCEEBdE4EQCANIAUoAgxBAXRqIAJODQIgASANIBlqaiIVLAAARQRAIBVBAToAACAAIAIgBCAFIA0gDiAXEIMEIA0gDiAXKAIAIBsgHCAdIBQQqwlBACEMCwsgDUEEaiENDAAACwALCyAOQQRqIQ4MAQsLIA9BAWohDwwBCwsgDEUNAEF/IQYMAQsgBSgCAEEDdEEgaiAFKAIEQQF0QQhqbCIBEEQiEUUEQEEAQQNBudgCIB4QPUEBEAELIAEQRCIORQRAQQBBA0G52AIgExA9QQEQAQtBACEBQQAhEkF/IQYDQCASIBsoAgBIBEACQAJAIAUoAiQgBSgCACINIAUoAgQiB2xHDQACQCAEQQVrDgoAAQEBAQEBAAAAAQsgEkECdCAdaiIhKAIAIghBfWogBSgCEEEBdGsiGEEASA0AIAhBA2ogBSgCFEEBdGogA04NACASQQJ0IBxqIiIoAgAiCEF9aiAFKAIIQQF0ayIZQQBIDQAgCEEDaiAFKAIMQQF0aiACTg0AIAdBAXRBBmohIyANQQJ0QRBqIQ8gDiEHIBEhCEEAIQwDQCAMIA9IBEAgCEEANgIAIAdBADYCACAHQQRqIQcgCEEEaiEIIAxBAWohDAwBCwsgDUEBdEEGaiEkIAAgGSACIBhsamohEyAOIQwgESENQQAhFgNAIBYgI0gEQCAIQQhqIScgByEPQQAhEANAIBBBAkcEQCAIQQA2AgAgD0EANgIAIBBBAnQgH2pBADYCACAQQQJ0ICBqQQA2AgAgD0EEaiEPIAhBBGohCCAQQQFqIRAMAQsLIBMhDyAMQQhqIQwgDUEIaiENIAdBCGohByAnIQhBACEUA0AgFCAkSARAIA8tAAAgFEEBcSIVQQJ0IB9qIhooAgBqIRAgGiAQNgIAIA8tAAAiGiAabCAVQQJ0ICBqIhooAgBqIRUgGiAVNgIAIAggECANKAIAajYCACAHIBUgDCgCAGo2AgAgD0EBaiEPIAxBBGohDCANQQRqIQ0gB0EEaiEHIAhBBGohCCAUQQFqIRQMAQsLIAIgE2ohEyAWQQFqIRYMAQsLQQAhCANAIAhBB0cEQCAIIBhqIQ0gCEECaiEPIAhBfWohE0EAIQwDQCAMQQdHBEAgACACIAwgGWogDSAFIBEgDiAMQQJqIA8gFxCqCSAXKAIAIgcgAUoEQCAJICIoAgAgDEF9amo2AgAgCiATICEoAgBqNgIAIAsgB7JDAEAcRpU4AgBBACEGIAchAQsgDEEBaiEMDAELCyAIQQFqIQgMAQsLDAELIBJBAnQgHWooAgAiB0EDaiENIBJBAnQgHGohDyAHQX1qIQgDQCAIIA1KDQEgCCAFKAIQQQF0TgRAAkAgCCAFKAIUQQF0aiADTg0DIA8oAgAiB0EDaiETIAdBfWohDANAIAwgE0oNASAMIAUoAghBAXROBEAgDCAFKAIMQQF0aiACTg0CIAAgAiAEIAUgDCAIIBcQgwQgFygCACIHIAFKBEAgCSAMNgIAIAogCDYCACALIAeyQwBAHEaVOAIAIAchAUEAIQYLCyAMQQFqIQwMAAALAAsLIAhBAWohCAwAAAsACyASQQFqIRIMAQsLIBEQOCAOEDgLIB4kBiAGC3ABAn8gAAR/IABBATYCmAEDQCADQQNHBEBBACECA0AgAkEERwRAIABBCGogA0EEdGogAkECdGogA0EEdCABaiACQQJ0aigCADYCACACQQFqIQIMAQsLIANBAWohAwwBCwsgAEF/NgKoAUEABUF/CxoLygsBG38jBiEBIwZB4AlqJAYgAUHQCWohFCABQcgJaiEVIAFBuAlqIQsgAUGwCWohFiABQaAJaiEMIAFBmAlqIRcgAUGICWohDSABQegIaiEYIAFB4AhqIQ8gAUHYCGohGSABQdAIaiEaIAFByAhqIRAgAUHACGohGyABQbgIaiERIAFBsAhqIRIgAUGoCGohCSABQaAIaiEKIAFBmAhqIQ4gAUGQCGohAiABQYgIaiEFIAFBgAhqIQggAUGABmohBiABQYAEaiEHIAFB1AlqIQQCQAJ/AkBBntICLAAARQ0AQZ7SAkGe0gIQswFFDQAgCCAANgIAIAhBntICNgIEIAFBj7wBIAgQvAEgAUGJtgEQsAEiAwR/QQEMAgUgBSAANgIAQQBBA0GLtgEgBRA9QaTFAygCABC9ASEAIAJBp9UDNgIAIAIgADYCBEEAQQNBpbYBIAIQPUEACyETDAILIAcgAEH/ARDVASAHQQA6AP8BQQALIQBB9AgQRCIFRQRAQQBBA0G52AIgDhA9QQEQAQsgBSAAQQBHIg4EfyAGIAMQ5gFFBEAgAxBqIAUQOAwCCyAKIAQ2AgAgBkGrtgEgChCDAUEBRwRAIAMQaiAFEDgMAgsgBCgCACIAQQFIBH8gAxBqIAUQOAwCBSAACwVBAQsiCjYCBCAFQQA2ApgBIAUgCkHwAGwQRCICNgIAIAJFBEBBAEEDQbnYAiAJED1BARABC0EAIQACQAJAAkACQAJAAkACQANAAkAgBCAANgIAIAAgCk4NByASIABBAWo2AgBBAEEBQa62ASASED0gDgRAIAYgAxDmAUUNCCARIAc2AgAgBkHGtgEgERCDAUEBRw0IIAcQ/AULQQBBAUHJtgEgGxA9IAcQvwkhACAEKAIAQfAAbCACaiAANgIAIABFDQBBAEEBQfq2ASAaED1BAEEBQYS3ASAZED0gBxCxCSEAIAQoAgBB8ABsIAJqIAA2AgQgAEUNAkEAQQFB+rYBIBgQPSAEKAIAQfAAbCACakEANgIIIA4EQCAGIAMQ5gFFDQggDSAEKAIAIgBB8ABsIAJqQQxqNgIAIA0gAEHwAGwgAmpBEGo2AgQgDSAAQfAAbCACakEUajYCCCANIABB8ABsIAJqQRhqNgIMIAZB7LcBIA0QgwFBBEcNBCAGIAMQ5gFFDQggDCAEKAIAIgBB8ABsIAJqQRxqNgIAIAwgAEHwAGwgAmpBIGo2AgQgDCAAQfAAbCACakEkajYCCCAMIABB8ABsIAJqQShqNgIMIAZB7LcBIAwQgwFBBEcNBSAGIAMQ5gFFDQggCyAEKAIAIgBB8ABsIAJqQSxqNgIAIAsgAEHwAGwgAmpBMGo2AgQgCyAAQfAAbCACakE0ajYCCCALIABB8ABsIAJqQThqNgIMIAZB7LcBIAsQgwFBBEcNBiAEKAIAIQAFIAQoAgAhAEEAIQgDQCAIQQNHBEBBACEJA0AgCUEERwRAIABB8ABsIAJqQQxqIAhBBHRqIAlBAnRqQwAAgD9DAAAAACAIIAlGGzgCACAJQQFqIQkMAQsLIAhBAWohCAwBCwsLIABB8ABsIAJqQQxqIABB8ABsIAJqQTxqEJ4GIAcQhQZBgAIQRCEAIAQoAgBB8ABsIAJqIAA2AmwgAEUNBiAAIAdBgAIQ1QEgBCgCAEEBaiEADAELCyAQIAc2AgBBAEEDQdu2ASAQED0gAhA4IAUQOCADRQ0HIAMQagwHCyAPIAc2AgBBAEEDQZi3ASAPED0gBCgCAEHwAGwgAmoQuAkgAhA4IAUQOCADRQ0GIAMQagwGC0EAQQNB+LcBIBcQPSADEGpBABABDAQLQQBBA0H4twEgFhA9IAMQakEAEAEMAwtBAEEDQfi3ASAVED0gAxBqQQAQAQwCC0EAQQNBudgCIBQQPUEBEAEMAQsgAwRAIAMQagsgBCgCACAKTgRAIAUhEwwCC0EAEAELCyABJAYgEwtNAQN/IwYhAyMGQRBqJAYgAyECQQQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAEOMCIgA2AgAgAEUEQCABEDhBACEBCyACJAYgAQspACAAIAFBA3QgAGogAkEDdCAAaiIBEIQEIAAgASADQQN0IABqEIQEkgvJBwETfyMGIQIjBkGABWokBiACQfAEaiEJIAJB6ARqIQogAkHgBGohCyACQdgEaiEMIAJB0ARqIQ0gAkHIBGohDiACQcAEaiEPIAJBuARqIRAgAkGwBGohESACQagEaiESIAJBoARqIQUgAkGYBGohBiACQZAEaiEEIAJBiARqIQEgAkGABGoiAyAANgIAIANBntICNgIEIAJBj7wBIAMQvAEgAkGIuQEQsAEiAwRAQQgQRCIARQRAQQBBA0G52AIgBBA9QQEQAQsCQAJAIABBBGpBBEEBIAMQYUEBRgRAAkAgACAAKAIEIhNBFGwQRCIGNgIAIAZFBEBBAEEDQbnYAiAFED1BARABC0EAIQUDQAJAIAUgE04NAiAFQRRsIAZqQQhqQQRBASADEGFBAUcEQEEMIQEMAQsgBUEUbCAGakEMakEEQQEgAxBhQQFHBEBBDyEBDAELIAVBFGwgBmpBEGpBBEEBIAMQYUEBRwRAQREhAQwBCyAFQRRsIAZqIghBBGpBBEEBIAMQYUEBRwRAQRMhAQwBCyAFQRRsIAZqIgcgCCgCBCIBQRRsEEQiBDYCACAERQRAQRYhAQwBC0EAIQQDQCAEIAFIBEAgBygCACAEQRRsakEEQQEgAxBhQQFHBEBBGSEBDAMLIAcoAgAgBEEUbGpBBGpBBEEBIAMQYUEBRwRAQRshAQwDCyAHKAIAIARBFGxqQQhqQQRBASADEGFBAUcEQEEdIQEMAwsgBygCACAEQRRsakEMakEEQQEgAxBhQQFHBEBBHyEBDAMLIAcoAgAgBEEUbGpBEGpBBEEBIAMQYUEBRgRAIARBAWohBCAIKAIEIQEMAgVBIiEBDAMLAAsLIAVBAWohBQwBCwsCQAJAAkACQAJAAkACQAJAAkACQAJAIAFBDGsOFwAKCgEKAgoDCgoECgoFCgYKBwoICgoJCgtBAEEDQfu1ASASED0MCQtBAEEDQfu1ASARED0MCAtBAEEDQfu1ASAQED0MBwtBAEEDQfu1ASAPED0MBgtBAEEDQbnYAiAOED1BARABDAULQQBBA0H7tQEgDRA9DAQLQQBBA0H7tQEgDBA9DAMLQQBBA0H7tQEgCxA9DAILQQBBA0H7tQEgChA9DAELQQBBA0H7tQEgCRA9C0EAIQEDQCABIAVHBEAgAUEUbCAGaigCABA4IAFBAWohAQwBCwsgBhA4DAILBUEAQQNB+7UBIAYQPQwBCwwBCyAAEDhBACEACyADEGoFIAEgADYCAEEAQQNB5rUBIAEQPUEAIQALIAIkBiAACw8AIAAoAgBBhAFqQQEQBgv5DQEQfyMGIQsjBkHABmokBkEEIQlBKBBEIghBADYCACALQRhqIgdBAEHoAxBFGkEAJANBPyALQZgEaiIMEBAhBiMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAhBBBB9IgpFBEAgBSMEEAYLIwQQAwVBfyEKCyALQZAEaiEPIAtBiARqIRAgC0GABGohEQJ/EAcgCkEBa0UNABogByAGNgIAIAxB8AA2AgAgDEGEAWpBASAIQQQQjwQhCBAHIQlBACQDQQAkA0EAIgVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIAZBAWtFDQAaQQALIQUCQAJAAkACQANAAkAgBQRAQQAkA0HxACAHEA8jAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQJBACQDQQhBAEEDQai1ASAREBEjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWsNAQwCC0EAJANBASAHQdoAQegDEBsjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQFBACQDQScgByAAEBwjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQFBACQDAn9BEyAHQQEQJiESIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iCkUEQCAFIwQQBgsjBBADBUF/IQoLEAchBSAKQQFrRQ0CIBJBAUcLBEBBACQDQQhBAEEDQcK1ASAQEBEjAyEFQQAkAyAFQQBHIwRBAEdxBEAgBSgCACAIIAkQfSIGRQRAIAUjBBAGCyMEEAMFQX8hBgsQByEFIAZBAWtFDQJBACQDQfEAIAcQDyMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIQUgBkEBaw0DDAILQQAkA0HAACAHEBAaIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iBkUEQCAFIwQQBgsjBBADBUF/IQYLEAchBSAGQQFrRQ0BIAcoAiQgBygCHGwiDCAHKAIgbCEFQQAkA0HBACAFEBAhBSMDIQZBACQDIAZBAEcjBEEAR3EEQCAGKAIAIAggCRB9IgpFBEAgBiMEEAYLIwQQAwVBfyEKCxAHIQYgCkEBa0UEQCAGIQUMAgsgBUUEQEEAJANBCEEAQQNBudgCIA8QESMDIQVBACQDIAVBAEcjBEEAR3EEQCAFKAIAIAggCRB9IgZFBEAgBSMEEAYLIwQQAwVBfyEGCxAHIQUgBkEBa0UNAkEAJANB8QAgBxAPIwMhBUEAJAMgBUEARyMEQQBHcQRAIAUoAgAgCCAJEH0iBkUEQCAFIwQQBgsjBBADBUF/IQYLEAchBSAGQQFrDQQMAgtBACENA0AgBygCjAEgBygCdEkEQEEAIQYDQCAGQQVHBEAgBkECdCALaiAFIAwgBiANamxqNgIAIAZBAWohBgwBCwtBACQDQRkgByALQQUQISETIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iDkUEQCAGIwQQBgsjBBADBUF/IQ4LEAchBiAOQQFrRQRAIAYhBQwECyATIA1qIQ0MAQsLQQAkA0HCACAHEBAaIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iCkUEQCAGIwQQBgsjBBADBUF/IQoLEAchBiAKQQFrRQRAIAYhBQwCC0EAJANB8QAgBxAPIwMhBkEAJAMgBkEARyMEQQBHcQRAIAYoAgAgCCAJEH0iCkUEQCAGIwQQBgsjBBADBUF/IQoLEAchFCAKQQFrDQQgFCEFDAELC0EAIQUMAwtBACEFDAILQQAhBQwBCyABBEAgASAHKAIcNgIACyACBEAgAiAHKAIgNgIACyADBEAgAyAHKAIkNgIACyAEBEACQAJAAkACQCAHLACiAiIAQQFrDgIAAQILIAcuAaQCIgAgBy4BpgJGBEAgBCAAQf//A3GyOAIADAULDAILIAcuAaQCIgAgBy4BpgJGBEAgBCAAQf//A3GyQ1yPIkCUOAIADAQLDAELIABB/wFxQQJKBEAgBy4BpAJFBEAgBy4BpgJFBEAgBCAAQf8BcbI4AgAMBQsLCwsgBEMAAAAAOAIACwsgCBA4IAskBiAFC/4TAhB/AXwjBiETIwZBEGokBiATIQ8gBCgCACIGIQcgASACQX9qIhBsQQF0IAZqIQUDQCAJIAFIBEAgBUEAOwEAIAdBADsBACAHQQJqIQcgCUEBaiEJIAVBAmohBQwBCwsgBiEHQQAhCSABQX9qIhFBAXQgBmohBQNAIAkgAkgEQCAFQQA7AQAgB0EAOwEAIAFBAXQgB2ohByAJQQFqIQkgAUEBdCAFaiEFDAELCyAEQZCAyABqIQdBACABayESIAAgAUEBaiIAaiENIAAgA2ohDkEBIQxBACEDIAAgBCgCBGohCSAAQQF0IAZqIQYCfwJAA0ACQCAMIBBODQIgAyEAQQEhCgNAIAogEUgEQCANLQAAIA4tAABKBEACQCAJQX86AAAgEkEBdCAGaiIDLgEAIgVBAEoEQCAGIAU7AQAgBUEHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYyA0ABqIAw2AgAMAQsgA0F+ai4BACIFIQggBUEASiELIAMuAQIiA0EATARAIAsEQCAGIAU7AQAgCEEHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYSA0ABqIgUoAgAgCkgEQCAFIAo2AgALIANBAnQgBGpBjIDQAGogDDYCAAwCCyAGQX5qLgEAIgNBAEoEQCAGIAM7AQAgA0EHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYSA0ABqIgMoAgAgCk4NAiADIAo2AgAFIABB//8BSg0GIAYgAEEBaiIDOwEAIARBkIDIAGogAEECdGogA0EQdEEQdTYCACAEQZCA0ABqIABBB2wiAEECdGpBATYCACAAQQJ0IARqQZSA0ABqIAo2AgAgAEECdCAEakGYgNAAaiAMNgIAIABBAnQgBGpBnIDQAGogCjYCACAAQQJ0IARqQaCA0ABqIAo2AgAgAEECdCAEakGkgNAAaiAMNgIAIABBAnQgBGpBqIDQAGogDDYCACADIQALDAELIAsEQAJAIANBAnQgBGpBjIDIAGooAgAiAyAIQQJ0IARqQYyAyABqKAIAIgVKBEAgBiAFOwEAIAchCEEAIQsDQCALIABOBEAgBSEDDAMLIAMgCCgCAEYEQCAIIAU2AgALIAhBBGohCCALQQFqIQsMAAALAAUgBiADOwEAIAMgBUgEQCAHIQhBACELA0AgCyAATg0DIAUgCCgCAEYEQCAIIAM2AgALIAhBBGohCCALQQFqIQsMAAALAAsLCyADQRB0QRB1QQdsIgNBAnQgBGpB9P/PAGoiBSAFKAIAQQFqNgIAIANBAnQgBGpB+P/PAGoiBSAKIAUoAgBqNgIAIANBAnQgBGpB/P/PAGoiBSAMIAUoAgBqNgIAIANBAnQgBGpBjIDQAGogDDYCAAwBCyAGQX5qLgEAIgVBAEwEQCAGIAM7AQAgA0EHbCIDQQJ0IARqQfT/zwBqIgUgBSgCAEEBajYCACADQQJ0IARqQfj/zwBqIgUgCiAFKAIAajYCACADQQJ0IARqQfz/zwBqIgUgDCAFKAIAajYCACADQQJ0IARqQYCA0ABqIgUoAgAgCkoEQCAFIAo2AgALIANBAnQgBGpBjIDQAGogDDYCAAwBCwJAIANBAnQgBGpBjIDIAGooAgAiAyAFQQJ0IARqQYyAyABqKAIAIgVKBEAgBiAFOwEAIAchCEEAIQsDQCALIABOBEAgBSEDDAMLIAMgCCgCAEYEQCAIIAU2AgALIAhBBGohCCALQQFqIQsMAAALAAUgBiADOwEAIAMgBUgEQCAHIQhBACELA0AgCyAATg0DIAUgCCgCAEYEQCAIIAM2AgALIAhBBGohCCALQQFqIQsMAAALAAsLCyADQRB0QRB1QQdsIgNBAnQgBGpB9P/PAGoiBSAFKAIAQQFqNgIAIANBAnQgBGpB+P/PAGoiBSAKIAUoAgBqNgIAIANBAnQgBGpB/P/PAGoiAyAMIAMoAgBqNgIACwUgBkEAOwEAIAlBADoAAAsgDUEBaiENIA5BAWohDiAJQQFqIQkgCkEBaiEKIAZBAmohBgwBCwsgDUECaiENIA5BAmohDiAMQQFqIQwgACEDIAlBAmohCSAGQQRqIQYMAQsLQQBBA0GopQEgDxA9QX8MAQsgBEEMaiEFQQEhAEEBIQkgByEGA0AgCSADTARAIAkgBigCACINRgRAIABBAWohBwUgACEHIA1BAnQgBGpBjIDIAGooAgAhAAsgBiAANgIAIAchACAJQQFqIQkgBkEEaiEGDAELCyAEIABBf2oiADYCCCAABH8gBUEAIABBAnQQRRogBEGQgChqQQAgAEEEdBBFGkEAIQcDQCAHIABIBEAgBEGMgAhqIAdBAnQiBkECdGogATYCACAEQYyACGogBkEBckECdGpBADYCACAEQYyACGogBkECckECdGogAjYCACAEQYyACGogBkEDckECdGpBADYCACAHQQFqIQcMAQsLQQAhAQNAIAEgA0gEQCAEQQxqIARBkIDIAGogAUECdGooAgBBf2oiAkECdGoiByAEQZCA0ABqIAFBB2wiAEECdGooAgAgBygCAGo2AgAgBEGQgChqIAJBAXQiB0EDdGoiBiAGKwMAIABBAnQgBGpBlIDQAGooAgC3oDkDACAEQZCAKGogB0EBckEDdGoiByAHKwMAIABBAnQgBGpBmIDQAGooAgC3oDkDACAEQYyACGogAkECdCICQQJ0aiIHKAIAIABBAnQgBGpBnIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQFyQQJ0aiIHKAIAIABBAnQgBGpBoIDQAGooAgAiBkgEQCAHIAY2AgALIARBjIAIaiACQQJyQQJ0aiIHKAIAIABBAnQgBGpBpIDQAGooAgAiBkoEQCAHIAY2AgALIARBjIAIaiACQQNyQQJ0aiICKAIAIABBAnQgBGpBqIDQAGooAgAiAEgEQCACIAA2AgALIAFBAWohAQwBCwsgBCgCCCEBQQAhAAN/IAAgAUgEfyAEQZCAKGogAEEBdCICQQN0aiIDIAMrAwAgBEEMaiAAQQJ0aigCALciFaM5AwAgBEGQgChqIAJBAXJBA3RqIgIgAisDACAVozkDACAAQQFqIQAMAQVBAAsLBUEACwshFCAPJAYgFAthAQN/IwYhAyMGQRBqJAYgAyECQRQQRCIBRQRAQQBBA0G52AIgAhA9QQEQAQsgASAAIAFBCGogAUEMaiABQQRqIAFBEGoQswkiADYCACAARQRAIAEQOEEAIQELIAIkBiABCyAAIAEgAiADrSAErUIghoQgBSAGIABBA3FB6gZqESUACykBAX4gASACrSADrUIghoQgBCAAQQNxQaYDahEUACIFQiCIpxADIAWnC3YBA38gAAR/IAAoAgAiAgR/A0AgAigCACEDIAEgAigCBEgEQCABQQJ0IANqKAIAKAIAEDggACgCACgCACABQQJ0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fyMGIQojBkEQaiQGIAAEfyABQfjPAxA6IgEoAgAoAiwFIAFB8M8DEDoiASgCACgCLAshACAKQQxqIgsgASAAQT9xQbIFahEDACACIAsoAgA2AAAgCiABIAEoAgAoAiBBP3FBsgVqEQMAIAgsAAtBAEgEQAJ/IAgoAgAhDCALQQA2AgAgDAsgCxBuIAhBADYCBCAILAALQQBIBEAgCCgCCBogCCgCABA4IAhBADYCCAsFIAtBADYCACAIIAsQbiAIQQA6AAsLIAggCikCADcCACAIIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADYCACANCyALEG4gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EANgIAIAcgCxBuIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADYCACAEIAEgASgCACgCEEH/AHFBCGoRAAA2AgAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADYCACAPCyALEG4gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EANgIAIAYgCxBuIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2QIBB38jBiEDIwZBEGokBiAALAALIgZBAEgiBwR/IAAo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QQFqIQAMAQsLIAoQRyAKIAEgASgCACgCHEE/cUGyBWoRAwAgBywAC0EASARAAn8gBygCACENIAtBADoAACANCyALEF8gB0EANgIEIAcsAAtBAEgEQCAHKAIIGiAHKAIAEDggB0EANgIICwUgC0EAOgAAIAcgCxBfIAdBADoACwsgByAKKQIANwIAIAcgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAMgASABKAIAKAIMQf8AcUEIahEAADoAACAEIAEgASgCACgCEEH/AHFBCGoRAAA6AAAgCiABIAEoAgAoAhRBP3FBsgVqEQMAIAUsAAtBAEgEQAJ/IAUoAgAhDiALQQA6AAAgDgsgCxBfIAVBADYCBCAFLAALQQBIBEAgBSgCCBogBSgCABA4IAVBADYCCAsFIAtBADoAACAFIAsQXyAFQQA6AAsLIAUgCikCADcCACAFIAooAgg2AghBACEAA0AgAEEDRwRAIABBAnQgCmpBADYCACAAQQFqIQAMAQsLIAoQRyAKIAEgASgCACgCGEE/cUGyBWoRAwAgBiwAC0EASARAAn8gBigCACEPIAtBADoAACAPCyALEF8gBkEANgIEIAYsAAtBAEgEQCAGKAIIGiAGKAIAEDggBkEANgIICwUgC0EAOgAAIAYgCxBfIAZBADoACwsgBiAKKQIANwIAIAYgCigCCDYCCEEAIQADQCAAQQNHBEAgAEECdCAKakEANgIAIABBAWohAAwBCwsgChBHIAkgASABKAIAKAIkQf8AcUEIahEAADYCACAKJAYL2wIBB38jBiEDIwZBEGokBiAALAALIgVBAEgiBwR/IAAoAghB/////wdxQX9qIQQgACgCBAVBCiEEIAVB/wFxCyEGIAIgAWsiCARAAkAgBwR/IAAoAgQhBSAAKAIABSAFQf8BcSEFIAALIgchCSABIAUgB2pJIAkgAU1xBEAgA0IANwIAIANBADYCCCADIAEgAhD+AyAAIAMoAgAgAyADLAALIgBBAEgiARsgAygCBCAAQf8BcSABGxDjCSADEEcMAQsgBCAGayAISQRAIAAgBCAGIAhqIARrIAYgBhDdAgsgAiAGIAFraiEHIAYgACwAC0EASAR/IAAoAgAFIAALIgVqIQQDQCABIAJHBEAgBCABEF8gBEEB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IAdBgM4DEDohAyAHEDwgBiACKAIANgIAIAcgBigCADYCACAAIAVBGGogASAHIAQgAxC2BCABKAIAIQggBiQGIAgLogEBBH8jBiEHIwZBEGokBiAAQQhqIgYoAgAoAhQhCCAGIAhB/wBxQQhqEQAAIQYgByABKAIANgIEIAcgAigCADYCACAGKAIAIAYgBiwACyIBQQBIIgIbIgggBigCBCABQf8BcSACG2ohASAHQQhqIgIgBygCBDYCACAHQQxqIgYgBygCADYCACAAIAIgBiADIAQgBSAIIAEQpAEhCSAHJAYgCQtgAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACAAIAEgAiADIAQgBUHtmANB9ZgDEKQBIQcgBiQGIAcL3wUCA38GfCMGIQUjBkHgBmokBiABIAIrAxggAisDACADKwMAoiACKwMIIAMrAwgiCKKgIAIrAxAgAysDECIJoqCgOQMAIAEgAisDOCACKwMgIAMrAwAiB6IgCCACKwMooqAgCSACKwMwoqCgOQMIIAEgAisDWCAHIAJBQGsiBCsDAKIgAisDSCADKwMIIgiioCAJIAIrA1CioKA5AxAgBUHABGoiASAHIAIrAwAiCqI5AwAgASAIIAqiOQMIIAEgCiADKwMQIgmiOQMQIAEgByACKwMIIguiOQMYIAEgCCALojkDICABIAkgC6I5AyggASAHIAIrAxAiDKI5AzAgASAIIAyiOQM4IAFBQGsgCSAMojkDACABIAo5A0ggASALOQNQIAEgDDkDWCABIAcgAisDICIKojkDYCABIAggCqI5A2ggASAJIAqiOQNwIAEgByACKwMoIguiOQN4IAEgCCALojkDgAEgASAJIAuiOQOIASABIAcgAisDMCIMojkDkAEgASAIIAyiOQOYASABIAkgDKI5A6ABIAEgCjkDqAEgASALOQOwASABIAw5A7gBIAEgByAEKwMAIgqiOQPAASABIAggCqI5A8gBIAEgCSAKojkD0AEgASAHIAIrA0giC6I5A9gBIAEgCCALojkD4AEgASAJIAuiOQPoASABIAcgAisDUCIHojkD8AEgASAIIAeiOQP4ASABIAkgB6I5A4ACIAEgCjkDiAIgASALOQOQAiABIAc5A5gCIAUQ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AiRB/wBxQQhqEQAABSADLAAAEEILQX8QQQRAIAJBADYCAAwBBSAARQ0CCwwCCyAADQAMAQsgBCAEKAIAQQJyNgIACyABKAIAIRMgBhBHIAsQRyAIJAYgEwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQoAshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQngshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQnQshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmwshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmgshByAGJAYgBwtWAQJ/IwYhBiMGQRBqJAYgBiABKAIANgIEIAYgAigCADYCACAGQQhqIgEgBigCBDYCACAGQQxqIgIgBigCADYCACABIAIgAyAEIAUQmQshByAGJAYgBwvtAgEEfyMGIQYjBkEwaiQGIAZBKGohByAGQSBqIQggAygCBEEBcQRAIAcgAxA7IAdBgM4DEDohCSAHEDwgByADEDsgB0GQzgMQOiEDIAcQPCADKAIAKAIYIQAgBiADIABBP3FBsgVqEQMAIAMoAgAoAhwhACAGQQxqIAMgAEE/cUGyBWoRAwAgBiACKAIANgIYIAcgBigCGDYCACAFIAEgByAGIAZBGGoiACAJIARBARCWAiAGRjoAACABKAIAIQEDQCAAQXRqIgAQ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AFoAAAB7AAAAfAAAAH0AAAB+AAAAfwBBoNQAC6ECCgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBB0NYACxgRAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAQfDWAAshEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAEGh1wALAQsAQarXAAsYEQAKChEREQAKAAACAAkLAAAACQALAAALAEHb1wALAQwAQefXAAsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEGV2AALAQ4AQaHYAAsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEHP2AALARAAQdvYAAseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEGS2QALDhIAAAASEhIAAAAAAAAJAEHD2QALAQsAQc/ZAAsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEH92QALAQwAQYnaAAt+DAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGQ2wAL1w5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAExDX0NUWVBFAAAAAExDX05VTUVSSUMAAExDX1RJTUUAAAAAAExDX0NPTExBVEUAAExDX01PTkVUQVJZAExDX01FU1NBR0VTAEHw6QALlwIDAAAABAAAAAQAAAAGAAAAg/miAERObgD8KRUA0VcnAN009QBi28AAPJmVAEGQQwBjUf4Au96rALdhxQA6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ZF0gWyUzZDogJTNkXSsuCgBBdXRvIHRocmVzaG9sZCAoYnJhY2tldCkgYWRqdXN0ZWQgdGhyZXNob2xkIHRvICVkLgoAbWVkaWFuAE90c3UAQXV0byB0aHJlc2hvbGQgKCVzKSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgA/Pz8gMQoAPz8/IDIKAD8/PyAzCgBFcnJvcjogdW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0LgoARXJyb3I6IE5VTEwgcGF0dEhhbmRsZS4KAEVycm9yOiBjYW4ndCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmgAcm93IG91dCBvZiBib3VuZHMATjZ2aXNpb24yNUdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWRFAERvRyBQeXJhbWlkAE5vbi1tYXggc3VwcHJlc3Npb24AU3VicGl4ZWwAcHJ1bmVGZWF0dXJlcwBGaW5kIE9yaWVudGF0aW9ucwBBc3NlcnRpb24gYG1CdWNrZXRzLnNpemUoKSA9PSBtTnVtQnVja2V0c1hgIGZhaWxlZCBpbiAAQnVja2V0cyBhcmUgbm90IGFsbG9jYXRlZABBc3NlcnRpb24gYG1CdWNrZXRzWzBdLnNpemUoKSA9PSBtTnVtQnVja2V0c1lgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBtRmVhdHVyZVBvaW50cy5zaXplKCkgPD0gbU1heE51bUZlYXR1cmVQb2ludHNgIGZhaWxlZCBpbiAAVG9vIG1hbnkgZmVhdHVyZSBwb2ludHMAQXNzZXJ0aW9uIGBidWNrZXRbMF0uZmlyc3QgPj0gYnVja2V0W25dLmZpcnN0YCBmYWlsZWQgaW4gAG50aF9lbGVtZW50IGZhaWxlZABBc3NlcnRpb24gYGtwLnNjYWxlIDwgbUxhcGxhY2lhblB5cmFtaWQubnVtU2NhbGVQZXJPY3RhdmUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHBvaW50IHNjYWxlIGlzIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGBrcC5zY29yZSA9PSBsYXAxLmdldDxmbG9hdD4oeSlbeF1gIGZhaWxlZCBpbiAAU2NvcmUgaXMgbm90IGNvbnNpc3RlbnQgd2l0aCB0aGUgRG9HIGltYWdlAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmNwcABJbWFnZSBpcyB0b28gc21hbGwAQXNzZXJ0aW9uIGBoZWlnaHQgPj0gNWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltYWdlLnR5cGUoKSA9PSBJTUFHRV9VSU5UOGAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGJlIGdyYXlzY2FsZQBBc3NlcnRpb24gYGltYWdlLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABJbWFnZSBtdXN0IGhhdmUgMSBjaGFubmVsAEFzc2VydGlvbiBgbVB5cmFtaWQuc2l6ZSgpID09IG1OdW1PY3RhdmVzKm1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAUHlyYW1pZCBoYXMgbm90IGJlZW4gYWxsb2NhdGVkIHlldABBc3NlcnRpb24gYGltYWdlLndpZHRoKCkgPT0gbVB5cmFtaWRbMF0ud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBvZiB3cm9uZyBzaXplIGZvciBweXJhbWlkAEFzc2VydGlvbiBgaW1hZ2UuaGVpZ2h0KCkgPT0gbVB5cmFtaWRbMF0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkc3QudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABEZXN0aW5hdGlvbiBpbWFnZSBzaG91bGQgYmUgYSBmbG9hdABVbmtub3duIGltYWdlIHR5cGUAVW5zdXBwb3J0ZWQgaW1hZ2UgdHlwZQBONnZpc2lvbjlFeGNlcHRpb25FAEFzc2VydGlvbiBgaW0ud2lkdGgoKSA9PSBpbS5zdGVwKCkvc2l6ZW9mKGZsb2F0KWAgZmFpbGVkIGluIAAvVXNlcnMvYXMvRG9jdW1lbnRzL0RldmVsb3BtZW50L2dpdGh1Yi9hcnRvb2xraXQ1LWpzL2xpYi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2JpbmFyeV9oaWVyYXJjaGljYWxfY2x1c3RlcmluZy5oAEFzc2lnbm1lbnQgc2l6ZSB3cm9uZwBBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gIT0gLTFgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBpcyBpbnZhbGlkAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSA8IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgaW5kaWNlc1thc3NpZ25tZW50W2ldXSA8IG51bV9mZWF0dXJlc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGl0LT5zZWNvbmQuc2l6ZSgpICE9IDBgIGZhaWxlZCBpbiAAQ2x1c3RlciBtdXN0IGhhdmUgYXRsZWFzZXQgMSBmZWF0dXJlAEFzc2VydGlvbiBgbUsgPT0gbUNlbnRlcnMuc2l6ZSgpYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZmVhdHVyZV9tYXRjaGVyLWlubGluZS5oAEZhaWxlZCB0byBjb21wdXRlIG1hdHJpeCBpbnZlcnNlAEFzc2VydGlvbiBgYmVzdF9pbmRleCAhPSBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpYCBmYWlsZWQgaW4gAFNvbWV0aGluZyBzdHJhbmdlAEFzc2VydGlvbiBgbU1hdGNoZXMuc2l6ZSgpIDw9IGZlYXR1cmVzMS0+c2l6ZSgpYCBmYWlsZWQgaW4gAE51bWJlciBvZiBtYXRjaGVzIHNob3VsZCBiZSBsb3dlcgBBc3NlcnRpb24gYGh5cC5zaXplKCkgPj0gOSptYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuY3BwAHNpemUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZVdpZHRoID4gMGAgZmFpbGVkIGluIAB3aWR0aCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlSGVpZ2h0ID4gMGAgZmFpbGVkIGluIABoZWlnaHQgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG4gPiAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9Vc2Vycy9hcy9Eb2N1bWVudHMvRGV2ZWxvcG1lbnQvZ2l0aHViL2FydG9vbGtpdDUtanMvbGliL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9nYXVzc2lhbl9zY2FsZV9zcGFjZV9weXJhbWlkLmgAT2N0YXZlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBvY3RhdmUgPCBtTnVtT2N0YXZlc2AgZmFpbGVkIGluIABPY3RhdmUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIG9jdGF2ZXMAQXNzZXJ0aW9uIGBzY2FsZSA+PSAwYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBzY2FsZSA8IG1OdW1TY2FsZXNQZXJPY3RhdmVgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBsZXNzIHRoYW4gbnVtYmVyIG9mIHNjYWxlIHBlciBvY3RhdmUAJW0tJWQtJVktJUgtJU0tJVMAQXNzZXJ0aW9uIGB3aWR0aCA+IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL1VzZXJzL2FzL0RvY3VtZW50cy9EZXZlbG9wbWVudC9naXRodWIvYXJ0b29sa2l0NS1qcy9saWIvYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBKUEVHTUVNACVsZCVjAFNPUwBMU0UAJXMKAHJ3YQBpbmZpbml0eQAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAG5hbgBOQU4ALgBMQ19BTEwATEFORwBDLlVURi04AFBPU0lYAE1VU0xfTE9DUEFUSAB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURpTlNfMTFjaGFyX3RyYWl0c0lEaUVFTlNfOWFsbG9jYXRvcklEaUVFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRFAEHwvgMLAQEAQZjAAwtaXEgAAAEAAAB8SAAAAQAAANBQAAABAAAAICIAAAAAAACUUQAAAQAAANhRAAABAAAAjFAAAAEAAABM4gAAAAAAAAhSAAABAAAAOFIAAAEAAAAEUQAAAQAAAC4sAEGAwQMLDSxRAAABAAAALgAAACwAQaDBAwvJApxIAAABAAAA3EgAAAEAAAAcSQAAAQAAAFBJAAABAAAAnE4AAAEAAADUTgAAAQAAAAxPAAABAAAARE8AAAEAAAB8TwAAAQAAAJhPAAABAAAAtE8AAAEAAADQTwAAAQAAAIRJAAABAAAAtEkAAAAAAADYSQAAAQAAAAhKAAAAAAAAbE4AAAEAAABM4gAAAAAAAIROAAABAAAATOIAAAAAAADsTwAAAQAAAAxQAAABAAAAAQAAAAAAAAC8UAAADwAAAHDhAADg4QAA4OEAAAAAAAAY4AAAIOAAACjgAAA44AAAQOAAAEjgAABY4AAAYOAAAGjgAACA4AAAoOAAAKjgAACw4AAAuOAAAMDgAADI4AAA0OAAANjgAADg4AAA6OAAAPDgAAD44AAAAOEAABDhAAAg4QAAMOEAAEDhAABI4QAAAQAAAAAAAABDAEHzwwMLBgEAAAAAAQBB6MUDCxGgRgAAAAAAALRGAAACEAAABgBBiMYDCwaQ5QAAWOEAQbjGAwsZmOMAAP/////QRgAAAAAAAORGAAACEAAABgBB4MYDCwbQ5QAAWOEAQZDHAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEG0xwMLBhDmAABY4QBB6McDCxH/////MEcAAERHAAACEAAABgBBiMgDCwZI5gAAWOEAQbzIAwsR/////wBHAAAURwAAAjAAAAYAQdzIAwsGgOYAAFjhAEGMyQMLFZjjAAD/////MEcAAERHAAACMAAABgBBsMkDCwa45gAAWOEAQeDJAwsV7OMAAP////8ARwAAFEcAAAIQAAAGAEGEygMLBoDmAABY4QBBuMoDCxH/////MEcAAERHAAACEAAABgBB2MoDCwa45gAAWOEAQYzLAwsK/////xxIAABY4QBBsMsDCxb4OQAAQOAAAMjlAAABAAAA/////wABAEHQywMLBtxHAABY4QBB8MsDCxT4OQAASOAAAAjmAAABAAAA/////wBBkMwDCwacRwAAWOEAQbDMAwsNiDoAAEDgAABA5gAAAQBByMwDCwZcRwAAWOEAQejMAwsKiDoAAEjgAAB45gBBgM0DCwacRwAAWOEAQaDNAwsNaDkAAEDgAACw5gAAAQBBuM0DCwZcRwAAWOEAQdjNAwsKaDkAAEjgAADo5gBB8M0DC1X/////AQAAAP////8CAAAA/////wMAAABM4gAAHAAAAP////8JAAAA/////wsAAAD/////BAAAAP////8KAAAA/////wwAAAD/////DQAAAP////8OAEGEzwMLBf////8XAEHIzwMLlgH/////GAAAAP////8ZAAAA/////xoAAAD/////DwAAAP////8QAAAA/////xEAAAD/////EgAAAP////8TAAAA/////xQAAAD/////FQAAAP////8WAAAA/////xsAAAD/////HAAAAP////8FAAAA/////wYAAAD/////BwAAAP////8IAAAAWOEAAFDoAABY4QAAWOgAQfDeAwsCWOEAQYDfAwsFOOgAAI8AQZDfAwsRjwAAAAAAAACg7wAAAAAAAI8=";function lA(){try{if(n)return new Uint8Array(n);var A=jg(fA);if(A)return A;if(h)return h(fA);throw"both async and sync fetching of the wasm failed"}catch(A){JA(A)}}function uA(){return n||!i&&!o||"function"!=typeof fetch?new Promise((function(A,I){A(lA())})):fetch(fA,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+fA+"'";return A.arrayBuffer()})).catch((function(){return lA()}))}function WA(){var I={env:BB,wasi_snapshot_preview1:BB,global:{NaN:NaN,Infinity:1/0},"global.Math":Math,asm2wasm:k};function g(I,g){var B=I.exports;A.asm=B,eA()}function B(A){g(A.instance)}function C(A){return uA().then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){S("failed to asynchronously prepare wasm: "+A),JA(A)}))}if(YA(),A.instantiateWasm)try{return A.instantiateWasm(I,g)}catch(A){return S("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(n||"function"!=typeof WebAssembly.instantiateStreaming||LA(fA)||"function"!=typeof fetch)return C(B);fetch(fA,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){S("wasm streaming compile failed: "+A),S("falling back to ArrayBuffer instantiation"),C(B)}))}))}(),{}}LA(fA)||(fA=y(fA)),A.asm=WA;var pA=[function(A,I,g,B,C,Q){artoolkit.frameMalloc||(artoolkit.frameMalloc={});var E=artoolkit.frameMalloc;E.framepointer=I,E.framesize=g,E.camera=B,E.transform=C,E.videoLumaPointer=Q},function(A,I,g,B){artoolkit.multiEachMarkerInfo||(artoolkit.multiEachMarkerInfo={});var C=artoolkit.multiEachMarkerInfo;C.visible=A,C.pattId=I,C.pattType=g,C.width=B},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L){var q=arguments,d=12;artoolkit.markerInfo||(artoolkit.markerInfo={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]});var f=artoolkit.markerInfo;f.area=A,f.id=I,f.idPatt=g,f.idMatrix=B,f.dir=C,f.dirPatt=Q,f.dirMatrix=E,f.cf=i,f.cfPatt=o,f.cfMatrix=D,f.pos[0]=a,f.pos[1]=w,f.line[0][0]=q[d++],f.line[0][1]=q[d++],f.line[0][2]=q[d++],f.line[1][0]=q[d++],f.line[1][1]=q[d++],f.line[1][2]=q[d++],f.line[2][0]=q[d++],f.line[2][1]=q[d++],f.line[2][2]=q[d++],f.line[3][0]=q[d++],f.line[3][1]=q[d++],f.line[3][2]=q[d++],f.vertex[0][0]=q[d++],f.vertex[0][1]=q[d++],f.vertex[1][0]=q[d++],f.vertex[1][1]=q[d++],f.vertex[2][0]=q[d++],f.vertex[2][1]=q[d++],f.vertex[3][0]=q[d++],f.vertex[3][1]=q[d++],f.errorCorrected=q[d++]},function(A,I,g,B,C,Q,E,i,o,D,a,w,F,G){var h=arguments,s=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var R=artoolkit.NFTMarkerInfo;R.id=h[s++],R.error=h[s++],R.found=1,R.pose[0]=h[s++],R.pose[1]=h[s++],R.pose[2]=h[s++],R.pose[3]=h[s++],R.pose[4]=h[s++],R.pose[5]=h[s++],R.pose[6]=h[s++],R.pose[7]=h[s++],R.pose[8]=h[s++],R.pose[9]=h[s++],R.pose[10]=h[s++],R.pose[11]=h[s++]},function(A){var I=arguments,g=0;artoolkit.NFTMarkerInfo||(artoolkit.NFTMarkerInfo={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]});var B=artoolkit.NFTMarkerInfo;B.id=I[g++],B.error=-1,B.found=0,B.pose[0]=0,B.pose[1]=0,B.pose[2]=0,B.pose[3]=0,B.pose[4]=0,B.pose[5]=0,B.pose[6]=0,B.pose[7]=0,B.pose[8]=0,B.pose[9]=0,B.pose[10]=0,B.pose[11]=0}];function ZA(A,I,g,B,C,Q,E){return pA[A](I,g,B,C,Q,E)}function bA(A,I,g,B,C){return pA[A](I,g,B,C)}function xA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h)}function mA(A,I){return pA[A](I)}function XA(A,I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q){return pA[A](I,g,B,C,Q,E,i,o,D,a,w,F,G,h,s,R,U,y,t,S,M,n,c,r,k,K,N,Y,e,J,H,L,q)}function VA(A){return A.replace(/\b__Z[\w\d_]+/g,(function(A){return A==A?A:A+" ["+A+"]"}))}function OA(){var A=new Error;if(!A.stack){try{throw new Error}catch(I){A=I}if(!A.stack)return"(no stack trace available)"}return A.stack.toString()}function TA(){var I=OA();return A.extraStackTrace&&(I+="\n"+A.extraStackTrace()),VA(I)}wA.push({func:function(){EB()}},{func:function(){aB()}},{func:function(){iB()}},{func:function(){oB()}});var jA={};function PA(){return Q||"./this.program"}function vA(A){var I,g;vA.called?(g=AA[A>>2],I=AA[g>>2]):(vA.called=!0,jA.USER="web_user",jA.LOGNAME="web_user",jA.PATH="/",jA.PWD="/",jA.HOME="/home/web_user",jA.LANG=("object"===("undefined"==typeof navigator?"undefined":D(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",jA._=PA(),I=L(1024),g=L(256),AA[g>>2]=I,AA[A>>2]=g);var B=[],C=0;for(var Q in jA)if("string"==typeof jA[Q]){var E=Q+"="+jA[Q];B.push(E),C+=E.length}if(C>1024)throw new Error("Environment size exceeded TOTAL_ENV_SIZE!");for(var i=0;i>2]=I,I+=E.length+1;AA[g+4*B.length>>2]=0}function zA(A){return RB(A)}var _A={};function $A(A,I,g){throw _A[A]={ptr:A,adjusted:[A],type:I,destructor:g,refcount:0,caught:!1,rethrown:!1},"uncaught_exception"in DB?DB.uncaught_exceptions++:DB.uncaught_exceptions=1,A}function AI(){}function II(I){return A.___errno_location&&(AA[A.___errno_location()>>2]=I),I}function gI(A,I){return II(63),-1}var BI={splitPath:function(A){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(A).slice(1)},normalizeArray:function(A,I){for(var g=0,B=A.length-1;B>=0;B--){var C=A[B];"."===C?A.splice(B,1):".."===C?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:function(A){var I="/"===A.charAt(0),g="/"===A.substr(-1);return(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||I||(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:function(A){var I=BI.splitPath(A),g=I[0],B=I[1];return g||B?(B&&(B=B.substr(0,B.length-1)),g+B):"."},basename:function(A){if("/"===A)return"/";var I=A.lastIndexOf("/");return-1===I?A:A.substr(I+1)},extname:function(A){return BI.splitPath(A)[3]},join:function(){var A=Array.prototype.slice.call(arguments,0);return BI.normalize(A.join("/"))},join2:function(A,I){return BI.normalize(A+"/"+I)}},CI={resolve:function(){for(var A="",I=!1,g=arguments.length-1;g>=-1&&!I;g--){var B=g>=0?arguments[g]:iI.cwd();if("string"!=typeof B)throw new TypeError("Arguments to path.resolve must be strings");if(!B)return"";A=B+"/"+A,I="/"===B.charAt(0)}return(I?"/":"")+(A=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!I).join("/"))||"."},relative:function(A,I){function g(A){for(var I=0;I=0&&""===A[g];g--);return I>g?[]:A.slice(I,g-I+1)}A=CI.resolve(A).substr(1),I=CI.resolve(I).substr(1);for(var B=g(A.split("/")),C=g(I.split("/")),Q=Math.min(B.length,C.length),E=Q,i=0;i0?g.slice(0,B).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(I=window.prompt("Input: "))&&(I+="\n"):"function"==typeof readline&&null!==(I=readline())&&(I+="\n");if(!I)return null;A.input=Xg(I,!0)}return A.input.shift()},put_char:function(A,I){null===I||10===I?(t(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(t(d(A.output,0)),A.output=[])}},default_tty1_ops:{put_char:function(A,I){null===I||10===I?(S(d(A.output,0)),A.output=[]):0!=I&&A.output.push(I)},flush:function(A){A.output&&A.output.length>0&&(S(d(A.output,0)),A.output=[])}}},EI={ops_table:null,mount:function(A){return EI.createNode(null,"/",16895,0)},createNode:function(A,I,g,B){if(iI.isBlkdev(g)||iI.isFIFO(g))throw new iI.ErrnoError(63);EI.ops_table||(EI.ops_table={dir:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,lookup:EI.node_ops.lookup,mknod:EI.node_ops.mknod,rename:EI.node_ops.rename,unlink:EI.node_ops.unlink,rmdir:EI.node_ops.rmdir,readdir:EI.node_ops.readdir,symlink:EI.node_ops.symlink},stream:{llseek:EI.stream_ops.llseek}},file:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:{llseek:EI.stream_ops.llseek,read:EI.stream_ops.read,write:EI.stream_ops.write,allocate:EI.stream_ops.allocate,mmap:EI.stream_ops.mmap,msync:EI.stream_ops.msync}},link:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr,readlink:EI.node_ops.readlink},stream:{}},chrdev:{node:{getattr:EI.node_ops.getattr,setattr:EI.node_ops.setattr},stream:iI.chrdev_stream_ops}});var C=iI.createNode(A,I,g,B);return iI.isDir(C.mode)?(C.node_ops=EI.ops_table.dir.node,C.stream_ops=EI.ops_table.dir.stream,C.contents={}):iI.isFile(C.mode)?(C.node_ops=EI.ops_table.file.node,C.stream_ops=EI.ops_table.file.stream,C.usedBytes=0,C.contents=null):iI.isLink(C.mode)?(C.node_ops=EI.ops_table.link.node,C.stream_ops=EI.ops_table.link.stream):iI.isChrdev(C.mode)&&(C.node_ops=EI.ops_table.chrdev.node,C.stream_ops=EI.ops_table.chrdev.stream),C.timestamp=Date.now(),A&&(A.contents[I]=C),C},getFileDataAsRegularArray:function(A){if(A.contents&&A.contents.subarray){for(var I=[],g=0;g=I)){I=Math.max(I,g*(g<1048576?2:1.125)|0),0!=g&&(I=Math.max(I,256));var B=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(B.subarray(0,A.usedBytes),0)}},resizeFileStorage:function(A,I){if(A.usedBytes!=I){if(0==I)return A.contents=null,void(A.usedBytes=0);if(!A.contents||A.contents.subarray){var g=A.contents;return A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),void(A.usedBytes=I)}if(A.contents||(A.contents=[]),A.contents.length>I)A.contents.length=I;else for(;A.contents.length=A.node.usedBytes)return 0;var E=Math.min(A.node.usedBytes-C,B);if(E>8&&Q.subarray)I.set(Q.subarray(C,C+E),g);else for(var i=0;i0||C+B8)throw new iI.ErrnoError(32);for(var C=BI.normalizeArray(A.split("/").filter((function(A){return!!A})),!1),Q=iI.root,E="/",i=0;i40)throw new iI.ErrnoError(32)}}return{path:E,node:Q}},getPath:function(A){for(var I;;){if(iI.isRoot(A)){var g=A.mount.mountpoint;return I?"/"!==g[g.length-1]?g+"/"+I:g+I:g}I=I?A.name+"/"+I:A.name,A=A.parent}},hashName:function(A,I){for(var g=0,B=0;B>>0)%iI.nameTable.length},hashAddNode:function(A){var I=iI.hashName(A.parent.id,A.name);A.name_next=iI.nameTable[I],iI.nameTable[I]=A},hashRemoveNode:function(A){var I=iI.hashName(A.parent.id,A.name);if(iI.nameTable[I]===A)iI.nameTable[I]=A.name_next;else for(var g=iI.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode:function(A,I){var g=iI.mayLookup(A);if(g)throw new iI.ErrnoError(g,A);for(var B=iI.hashName(A.id,I),C=iI.nameTable[B];C;C=C.name_next){var Q=C.name;if(C.parent.id===A.id&&Q===I)return C}return iI.lookup(A,I)},createNode:function(A,I,g,B){if(!iI.FSNode){iI.FSNode=function(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=iI.nextInode++,this.name=I,this.mode=g,this.node_ops={},this.stream_ops={},this.rdev=B},iI.FSNode.prototype={};Object.defineProperties(iI.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(A){A?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(A){A?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return iI.isDir(this.mode)}},isDevice:{get:function(){return iI.isChrdev(this.mode)}}})}var C=new iI.FSNode(A,I,g,B);return iI.hashAddNode(C),C},destroyNode:function(A){iI.hashRemoveNode(A)},isRoot:function(A){return A===A.parent},isMountpoint:function(A){return!!A.mounted},isFile:function(A){return 32768==(61440&A)},isDir:function(A){return 16384==(61440&A)},isLink:function(A){return 40960==(61440&A)},isChrdev:function(A){return 8192==(61440&A)},isBlkdev:function(A){return 24576==(61440&A)},isFIFO:function(A){return 4096==(61440&A)},isSocket:function(A){return 49152==(49152&A)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(A){var I=iI.flagModes[A];if(void 0===I)throw new Error("Unknown file open mode: "+A);return I},flagsToPermissionString:function(A){var I=["r","w","rw"][3&A];return 512&A&&(I+="w"),I},nodePermissions:function(A,I){return iI.ignorePermissions||(-1===I.indexOf("r")||292&A.mode)&&(-1===I.indexOf("w")||146&A.mode)&&(-1===I.indexOf("x")||73&A.mode)?0:2},mayLookup:function(A){return iI.nodePermissions(A,"x")||(A.node_ops.lookup?0:2)},mayCreate:function(A,I){try{return iI.lookupNode(A,I),20}catch(A){}return iI.nodePermissions(A,"wx")},mayDelete:function(A,I,g){var B;try{B=iI.lookupNode(A,I)}catch(A){return A.errno}var C=iI.nodePermissions(A,"wx");if(C)return C;if(g){if(!iI.isDir(B.mode))return 54;if(iI.isRoot(B)||iI.getPath(B)===iI.cwd())return 10}else if(iI.isDir(B.mode))return 31;return 0},mayOpen:function(A,I){return A?iI.isLink(A.mode)?32:iI.isDir(A.mode)&&("r"!==iI.flagsToPermissionString(I)||512&I)?31:iI.nodePermissions(A,iI.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd:function(A,I){A=A||0,I=I||iI.MAX_OPEN_FDS;for(var g=A;g<=I;g++)if(!iI.streams[g])return g;throw new iI.ErrnoError(33)},getStream:function(A){return iI.streams[A]},createStream:function(A,I,g){iI.FSStream||(iI.FSStream=function(){},iI.FSStream.prototype={},Object.defineProperties(iI.FSStream.prototype,{object:{get:function(){return this.node},set:function(A){this.node=A}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var B=new iI.FSStream;for(var C in A)B[C]=A[C];A=B;var Q=iI.nextfd(I,g);return A.fd=Q,iI.streams[Q]=A,A},closeStream:function(A){iI.streams[A]=null},chrdev_stream_ops:{open:function(A){var I=iI.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open&&A.stream_ops.open(A)},llseek:function(){throw new iI.ErrnoError(70)}},major:function(A){return A>>8},minor:function(A){return 255&A},makedev:function(A,I){return A<<8|I},registerDevice:function(A,I){iI.devices[A]={stream_ops:I}},getDevice:function(A){return iI.devices[A]},getMounts:function(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push.apply(g,B.mounts)}return I},syncfs:function(A,I){"function"==typeof A&&(I=A,A=!1),iI.syncFSRequests++,iI.syncFSRequests>1&&S("warning: "+iI.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var g=iI.getMounts(iI.root.mount),B=0;function C(A){return iI.syncFSRequests--,I(A)}function Q(A){if(A)return Q.errored?void 0:(Q.errored=!0,C(A));++B>=g.length&&C(null)}g.forEach((function(I){if(!I.type.syncfs)return Q(null);I.type.syncfs(I,A,Q)}))},mount:function(A,I,g){var B,C="/"===g,Q=!g;if(C&&iI.root)throw new iI.ErrnoError(10);if(!C&&!Q){var E=iI.lookupPath(g,{follow_mount:!1});if(g=E.path,B=E.node,iI.isMountpoint(B))throw new iI.ErrnoError(10);if(!iI.isDir(B.mode))throw new iI.ErrnoError(54)}var i={type:A,opts:I,mountpoint:g,mounts:[]},o=A.mount(i);return o.mount=i,i.root=o,C?iI.root=o:B&&(B.mounted=i,B.mount&&B.mount.mounts.push(i)),o},unmount:function(A){var I=iI.lookupPath(A,{follow_mount:!1});if(!iI.isMountpoint(I.node))throw new iI.ErrnoError(28);var g=I.node,B=g.mounted,C=iI.getMounts(B);Object.keys(iI.nameTable).forEach((function(A){for(var I=iI.nameTable[A];I;){var g=I.name_next;-1!==C.indexOf(I.mount)&&iI.destroyNode(I),I=g}})),g.mounted=null;var Q=g.mount.mounts.indexOf(B);g.mount.mounts.splice(Q,1)},lookup:function(A,I){return A.node_ops.lookup(A,I)},mknod:function(A,I,g){var B=iI.lookupPath(A,{parent:!0}).node,C=BI.basename(A);if(!C||"."===C||".."===C)throw new iI.ErrnoError(28);var Q=iI.mayCreate(B,C);if(Q)throw new iI.ErrnoError(Q);if(!B.node_ops.mknod)throw new iI.ErrnoError(63);return B.node_ops.mknod(B,C,I,g)},create:function(A,I){return I=void 0!==I?I:438,I&=4095,I|=32768,iI.mknod(A,I,0)},mkdir:function(A,I){return I=void 0!==I?I:511,I&=1023,I|=16384,iI.mknod(A,I,0)},mkdirTree:function(A,I){for(var g=A.split("/"),B="",C=0;Cthis.length-1||A<0)){var I=A%this.chunkSize,g=A/this.chunkSize|0;return this.getter(g)[I]}},Q.prototype.setDataGetter=function(A){this.getter=A},Q.prototype.cacheLength=function(){var A=new XMLHttpRequest;if(A.open("HEAD",g,!1),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+g+". Status: "+A.status);var I,B=Number(A.getResponseHeader("Content-length")),C=(I=A.getResponseHeader("Accept-Ranges"))&&"bytes"===I,Q=(I=A.getResponseHeader("Content-Encoding"))&&"gzip"===I,E=1048576;C||(E=B);var i=this;i.setDataGetter((function(A){var I=A*E,C=(A+1)*E-1;if(C=Math.min(C,B-1),void 0===i.chunks[A]&&(i.chunks[A]=function(A,I){if(A>I)throw new Error("invalid range ("+A+", "+I+") or no bytes requested!");if(I>B-1)throw new Error("only "+B+" bytes available! programmer error!");var C=new XMLHttpRequest;if(C.open("GET",g,!1),B!==E&&C.setRequestHeader("Range","bytes="+A+"-"+I),"undefined"!=typeof Uint8Array&&(C.responseType="arraybuffer"),C.overrideMimeType&&C.overrideMimeType("text/plain; charset=x-user-defined"),C.send(null),!(C.status>=200&&C.status<300||304===C.status))throw new Error("Couldn't load "+g+". Status: "+C.status);return void 0!==C.response?new Uint8Array(C.response||[]):Xg(C.responseText||"",!0)}(I,C)),void 0===i.chunks[A])throw new Error("doXHR failed!");return i.chunks[A]})),!Q&&B||(E=B=1,B=this.getter(0).length,E=B,t("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=B,this._chunkSize=E,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var E=new Q;Object.defineProperties(E,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:E}}else i={isDevice:!1,url:g};var D=iI.createFile(A,I,i,B,C);i.contents?D.contents=i.contents:i.url&&(D.contents=null,D.url=i.url),Object.defineProperties(D,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(D.stream_ops).forEach((function(A){var I=D.stream_ops[A];a[A]=function(){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);return I.apply(null,arguments)}})),a.read=function(A,I,g,B,C){if(!iI.forceLoadFile(D))throw new iI.ErrnoError(29);var Q=A.node.contents;if(C>=Q.length)return 0;var E=Math.min(Q.length-C,B);if(Q.slice)for(var i=0;i>2]=B.dev,AA[g+4>>2]=0,AA[g+8>>2]=B.ino,AA[g+12>>2]=B.mode,AA[g+16>>2]=B.nlink,AA[g+20>>2]=B.uid,AA[g+24>>2]=B.gid,AA[g+28>>2]=B.rdev,AA[g+32>>2]=0,dA=[B.size>>>0,(qA=B.size,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+40>>2]=dA[0],AA[g+44>>2]=dA[1],AA[g+48>>2]=4096,AA[g+52>>2]=B.blocks,AA[g+56>>2]=B.atime.getTime()/1e3|0,AA[g+60>>2]=0,AA[g+64>>2]=B.mtime.getTime()/1e3|0,AA[g+68>>2]=0,AA[g+72>>2]=B.ctime.getTime()/1e3|0,AA[g+76>>2]=0,dA=[B.ino>>>0,(qA=B.ino,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[g+80>>2]=dA[0],AA[g+84>>2]=dA[1],0},doMsync:function(A,I,g,B,C){var Q=z.slice(A,A+g);iI.msync(I,Q,C,g,B)},doMkdir:function(A,I){return"/"===(A=BI.normalize(A))[A.length-1]&&(A=A.substr(0,A.length-1)),iI.mkdir(A,I,0),0},doMknod:function(A,I,g){switch(61440&I){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return iI.mknod(A,I,g),0},doReadlink:function(A,I,g){if(g<=0)return-28;var B=iI.readlink(A),C=Math.min(g,W(B)),Q=v[I+C];return u(B,I,g+1),v[I+C]=Q,C},doAccess:function(A,I){if(-8&I)return-28;var g;if(!(g=iI.lookupPath(A,{follow:!0}).node))return-44;var B="";return 4&I&&(B+="r"),2&I&&(B+="w"),1&I&&(B+="x"),B&&iI.nodePermissions(g,B)?-2:0},doDup:function(A,I,g){var B=iI.getStream(g);return B&&iI.close(B),iI.open(A,I,0,g,g).fd},doReadv:function(A,I,g,B){for(var C=0,Q=0;Q>2],i=AA[I+(8*Q+4)>>2],o=iI.read(A,v,E,i,B);if(o<0)return-1;if(C+=o,o>2],i=AA[I+(8*Q+4)>>2],o=iI.write(A,v,E,i,B);if(o<0)return-1;C+=o}return C},varargs:0,get:function(A){return oI.varargs+=4,AA[oI.varargs-4>>2]},getStr:function(){return f(oI.get())},getStreamFromFD:function(A){void 0===A&&(A=oI.get());var I=iI.getStream(A);if(!I)throw new iI.ErrnoError(8);return I},get64:function(){var A=oI.get();return oI.get(),A},getZero:function(){oI.get()}};function DI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD();switch(oI.get()){case 0:return(B=oI.get())<0?-28:iI.open(g.path,g.flags,0,B).fd;case 1:case 2:case 13:case 14:return 0;case 3:return g.flags;case 4:var B=oI.get();return g.flags|=B,0;case 12:return B=oI.get(),_[B+0>>1]=2,0;default:return-28;case 9:return II(28),-1}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function aI(A,I){oI.varargs=I;try{var g=oI.getStr(),B=oI.get(),C=oI.get();return iI.open(g,B,C).fd}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function wI(A,I){oI.varargs=I;try{var g=oI.getStreamFromFD(),B=oI.get();switch(B){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return g.tty?0:-59;case 21519:if(!g.tty)return-59;var C=oI.get();return AA[C>>2]=0,0;case 21520:return g.tty?-28:-59;case 21531:return C=oI.get(),iI.ioctl(g,B,C);default:JA("bad ioctl syscall "+B)}}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function FI(A,I){if(-1===A||0===I)return-28;var g=oI.mappings[A];if(!g)return 0;if(I===g.len){var B=iI.getStream(g.fd);oI.doMsync(A,B,I,g.flags,g.offset),iI.munmap(B),oI.mappings[A]=null,g.allocated&&sB(g.malloc)}return 0}function GI(A,I){oI.varargs=I;try{return FI(oI.get(),oI.get())}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),-A.errno}}function hI(){}function sI(A){try{var I=oI.getStreamFromFD(A);return iI.close(I),0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function RI(){return sI.apply(null,arguments)}function UI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doReadv(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function yI(){return UI.apply(null,arguments)}function tI(A,I,g,B,C){try{var Q=oI.getStreamFromFD(A),E=4294967296*g+(I>>>0),i=9007199254740992;return E<=-i||E>=i?-61:(iI.llseek(Q,E,B),dA=[Q.position>>>0,(qA=Q.position,+MA(qA)>=1?qA>0?(0|rA(+cA(qA/4294967296),4294967295))>>>0:~~+nA((qA-+(~~qA>>>0))/4294967296)>>>0:0)],AA[C>>2]=dA[0],AA[C+4>>2]=dA[1],Q.getdents&&0===E&&0===B&&(Q.getdents=null),0)}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function SI(){return tI.apply(null,arguments)}function MI(A,I,g,B){try{var C=oI.getStreamFromFD(A),Q=oI.doWritev(C,I,g);return AA[B>>2]=Q,0}catch(A){return void 0!==iI&&A instanceof iI.ErrnoError||JA(A),A.errno}}function nI(){return MI.apply(null,arguments)}function cI(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}function rI(){for(var A=new Array(256),I=0;I<256;++I)A[I]=String.fromCharCode(I);kI=A}var kI=void 0;function KI(A){for(var I="",g=A;z[g];)I+=kI[z[g++]];return I}var NI={},YI={},eI={},JI=48,HI=57;function LI(A){if(void 0===A)return"_unknown";var I=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return I>=JI&&I<=HI?"_"+A:A}function qI(A,I){return A=LI(A),new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(I)}function dI(A,I){var g=qI(I,(function(A){this.name=I,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(A.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var fI=void 0;function lI(A){throw new fI(A)}var uI=void 0;function WI(A){throw new uI(A)}function pI(A,I,g){function B(I){var B=g(I);B.length!==A.length&&WI("Mismatched type converter count");for(var C=0;C>Q])},destructorFunction:null})}function xI(I,g,B){I=KI(I),pI([],[g],(function(g){return g=g[0],A[I]=g.fromWireType(B),[]}))}var mI=[],XI=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function VI(A){A>4&&0==--XI[A].refcount&&(XI[A]=void 0,mI.push(A))}function OI(){for(var A=0,I=5;I>2])}function zI(A,I){ZI(A,{name:I=KI(I),fromWireType:function(A){var I=XI[A].value;return VI(A),I},toWireType:function(A,I){return PI(I)},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:null})}function _I(A){if(null===A)return"null";var I=D(A);return"object"===I||"array"===I||"function"===I?A.toString():""+A}function $I(A,I){switch(I){case 2:return function(A){return this.fromWireType(gA[A>>2])};case 3:return function(A){return this.fromWireType(BA[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function Ag(A,I,g){var B=cI(g);ZI(A,{name:I=KI(I),fromWireType:function(A){return A},toWireType:function(A,I){if("number"!=typeof I&&"boolean"!=typeof I)throw new TypeError('Cannot convert "'+_I(I)+'" to '+this.name);return I},argPackAdvance:8,readValueFromPointer:$I(I,B),destructorFunction:null})}function Ig(A,I){if(!(A instanceof Function))throw new TypeError("new_ called with constructor type "+D(A)+" which is not a function");var g=qI(A.name||"unknownFunctionName",(function(){}));g.prototype=A.prototype;var B=new g,C=A.apply(B,I);return C instanceof Object?C:B}function gg(A){for(;A.length;){var I=A.pop();A.pop()(I)}}function Bg(A,I,g,B,C){var Q=I.length;Q<2&&lI("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var E=null!==I[1]&&null!==g,i=!1,o=1;o0?", ":"")+w),F+=(D?"var rv = ":"")+"invoker(fn"+(w.length>0?", ":"")+w+");\n",i)F+="runDestructors(destructors);\n";else for(o=E?1:2;o>2)+B]);return g}function ig(I,g,B){A.hasOwnProperty(I)||WI("Replacing nonexistant public symbol"),void 0!==A[I].overloadTable&&void 0!==B?A[I].overloadTable[B]=g:(A[I]=g,A[I].argCount=B)}function og(I,g){var B;if(I=KI(I),void 0!==A["FUNCTION_TABLE_"+I])B=A["FUNCTION_TABLE_"+I][g];else if("undefined"!=typeof FUNCTION_TABLE)B=FUNCTION_TABLE[g];else{var C=A["dynCall_"+I];void 0===C&&void 0===(C=A["dynCall_"+I.replace(/f/g,"d")])&&lI("No dynCall invoker for signature: "+I),B=function(A){for(var B=[],C=1;C>1]}:function(A){return $[A>>1]};case 2:return g?function(A){return AA[A>>2]}:function(A){return IA[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}function hg(A,I,g,B,C){I=KI(I),-1===C&&(C=4294967295);var Q=cI(g),E=function(A){return A};if(0===B){var i=32-8*g;E=function(A){return A<>>i}}var o=-1!=I.indexOf("unsigned");ZI(A,{name:I,fromWireType:E,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+_I(g)+'" to '+this.name);if(gC)throw new TypeError('Passing a number "'+_I(g)+'" from JS side to C/C++ side to an argument of type "'+I+'", which is outside the valid range ['+B+", "+C+"]!");return o?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:Gg(I,Q,0!==B),destructorFunction:null})}function sg(A,I,g){var B=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][I];function C(A){var I=IA,g=I[A>>=2],C=I[A+1];return new B(I.buffer,C,g)}ZI(A,{name:g=KI(g),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})}function Rg(A,I){var g="std::string"===(I=KI(I));ZI(A,{name:I,fromWireType:function(A){var I,B=IA[A>>2];if(g){var C=z[A+4+B],Q=0;0!=C&&(Q=C,z[A+4+B]=0);for(var E=A+4,i=0;i<=B;++i){var o=A+4+i;if(0==z[o]){var D=f(E);void 0===I?I=D:(I+=String.fromCharCode(0),I+=D),E=o+1}}0!=Q&&(z[A+4+B]=Q)}else{var a=new Array(B);for(i=0;i>2]=C,g&&B)u(I,Q+4,C+1);else if(B)for(var E=0;E255&&(sB(Q),lI("String has UTF-16 code units that do not fit in 8 bits")),z[Q+4+E]=i}else for(E=0;E>2],E=Q(),o=E[A+4+C*I>>i],D=0;0!=o&&(D=o,E[A+4+C*I>>i]=0);for(var a=A+4,w=0;w<=C;++w){var F=A+4+w*I;if(0==E[F>>i]){var G=B(a);void 0===g?g=G:(g+=String.fromCharCode(0),g+=G),a=F+I}}return 0!=D&&(E[A+4+C*I>>i]=D),sB(A),g},toWireType:function(A,B){"string"!=typeof B&&lI("Cannot pass non-string to C++ string type "+g);var Q=E(B),o=RB(4+Q+I);return IA[o>>2]=Q>>i,C(B,o+4,Q+I),null!==A&&A.push(sB,o),o},argPackAdvance:8,readValueFromPointer:vI,destructorFunction:function(A){sB(A)}})}function yg(A,I){ZI(A,{isVoid:!0,name:I=KI(I),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,I){}})}function tg(){JA()}function Sg(){return z.length}function Mg(A){JA("OOM")}function ng(A){Mg()}function cg(A){eB(A)}function rg(A){return 0===A?0:(A=f(A),jA.hasOwnProperty(A)?(rg.ret&&sB(rg.ret),rg.ret=O(jA[A]),rg.ret):0)}function kg(A){var I=Date.now();return AA[A>>2]=I/1e3|0,AA[A+4>>2]=I%1e3*1e3|0,0}function Kg(A){return Math.pow(2,A)}function Ng(A){var I=Yg,g=I.LLVM_SAVEDSTACKS[A];I.LLVM_SAVEDSTACKS.splice(A,1),yB(g)}function Yg(){var A=Yg;return A.LLVM_SAVEDSTACKS||(A.LLVM_SAVEDSTACKS=[]),A.LLVM_SAVEDSTACKS.push(tB()),A.LLVM_SAVEDSTACKS.length-1}var eg=61136;function Jg(){if(!Jg.called){Jg.called=!0,AA[GB()>>2]=60*(new Date).getTimezoneOffset();var A=(new Date).getFullYear(),I=new Date(A,0,1),g=new Date(A,6,1);AA[FB()>>2]=Number(I.getTimezoneOffset()!=g.getTimezoneOffset());var B=i(I),C=i(g),Q=O(B),E=O(C);g.getTimezoneOffset()>2]=Q,AA[hB()+4>>2]=E):(AA[hB()>>2]=E,AA[hB()+4>>2]=Q)}function i(A){var I=A.toTimeString().match(/\(([A-Za-z ]+)\)$/);return I?I[1]:"GMT"}}function Hg(A,I){Jg();var g=new Date(1e3*AA[A>>2]);AA[I>>2]=g.getSeconds(),AA[I+4>>2]=g.getMinutes(),AA[I+8>>2]=g.getHours(),AA[I+12>>2]=g.getDate(),AA[I+16>>2]=g.getMonth(),AA[I+20>>2]=g.getFullYear()-1900,AA[I+24>>2]=g.getDay();var B=new Date(g.getFullYear(),0,1),C=(g.getTime()-B.getTime())/864e5|0;AA[I+28>>2]=C,AA[I+36>>2]=-60*g.getTimezoneOffset();var Q=new Date(g.getFullYear(),6,1).getTimezoneOffset(),E=B.getTimezoneOffset(),i=0|(Q!=E&&g.getTimezoneOffset()==Math.min(E,Q));AA[I+32>>2]=i;var o=AA[hB()+(i?4:0)>>2];return AA[I+40>>2]=o,I}function Lg(A){return Hg(A,eg)}function qg(A,I){throw UB(A,I||1),"longjmp"}function dg(A,I,g){z.set(z.subarray(I,I+g),A)}function fg(A){return A%4==0&&(A%100!=0||A%400==0)}function lg(A,I){for(var g=0,B=0;B<=I;g+=A[B++]);return g}u("GMT",61184,4);var ug=[31,29,31,30,31,30,31,31,30,31,30,31],Wg=[31,28,31,30,31,30,31,31,30,31,30,31];function pg(A,I){for(var g=new Date(A.getTime());I>0;){var B=fg(g.getFullYear()),C=g.getMonth(),Q=(B?ug:Wg)[C];if(!(I>Q-g.getDate()))return g.setDate(g.getDate()+I),g;I-=Q-g.getDate()+1,g.setDate(1),C<11?g.setMonth(C+1):(g.setMonth(0),g.setFullYear(g.getFullYear()+1))}return g}function Zg(A,I,g,B){var C=AA[B+40>>2],Q={tm_sec:AA[B>>2],tm_min:AA[B+4>>2],tm_hour:AA[B+8>>2],tm_mday:AA[B+12>>2],tm_mon:AA[B+16>>2],tm_year:AA[B+20>>2],tm_wday:AA[B+24>>2],tm_yday:AA[B+28>>2],tm_isdst:AA[B+32>>2],tm_gmtoff:AA[B+36>>2],tm_zone:C?f(C):""},E=f(g),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var o in i)E=E.replace(new RegExp(o,"g"),i[o]);var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["January","February","March","April","May","June","July","August","September","October","November","December"];function w(A,I,g){for(var B="number"==typeof A?A.toString():A||"";B.length0?1:0}var B;return 0===(B=g(A.getFullYear()-I.getFullYear()))&&0===(B=g(A.getMonth()-I.getMonth()))&&(B=g(A.getDate()-I.getDate())),B}function h(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function s(A){var I=pg(new Date(A.tm_year+1900,0,1),A.tm_yday),g=new Date(I.getFullYear(),0,4),B=new Date(I.getFullYear()+1,0,4),C=h(g),Q=h(B);return G(C,I)<=0?G(Q,I)<=0?I.getFullYear()+1:I.getFullYear():I.getFullYear()-1}var R={"%a":function(A){return D[A.tm_wday].substring(0,3)},"%A":function(A){return D[A.tm_wday]},"%b":function(A){return a[A.tm_mon].substring(0,3)},"%B":function(A){return a[A.tm_mon]},"%C":function(A){return F((A.tm_year+1900)/100|0,2)},"%d":function(A){return F(A.tm_mday,2)},"%e":function(A){return w(A.tm_mday,2," ")},"%g":function(A){return s(A).toString().substring(2)},"%G":function(A){return s(A)},"%H":function(A){return F(A.tm_hour,2)},"%I":function(A){var I=A.tm_hour;return 0==I?I=12:I>12&&(I-=12),F(I,2)},"%j":function(A){return F(A.tm_mday+lg(fg(A.tm_year+1900)?ug:Wg,A.tm_mon-1),3)},"%m":function(A){return F(A.tm_mon+1,2)},"%M":function(A){return F(A.tm_min,2)},"%n":function(){return"\n"},"%p":function(A){return A.tm_hour>=0&&A.tm_hour<12?"AM":"PM"},"%S":function(A){return F(A.tm_sec,2)},"%t":function(){return"\t"},"%u":function(A){return A.tm_wday||7},"%U":function(A){var I=new Date(A.tm_year+1900,0,1),g=0===I.getDay()?I:pg(I,7-I.getDay()),B=new Date(A.tm_year+1900,A.tm_mon,A.tm_mday);if(G(g,B)<0){var C=lg(fg(B.getFullYear())?ug:Wg,B.getMonth()-1)-31,Q=31-g.getDate()+C+B.getDate();return F(Math.ceil(Q/7),2)}return 0===G(g,I)?"01":"00"},"%V":function(A){var I,g=new Date(A.tm_year+1900,0,4),B=new Date(A.tm_year+1901,0,4),C=h(g),Q=h(B),E=pg(new Date(A.tm_year+1900,0,1),A.tm_yday);return G(E,C)<0?"53":G(Q,E)<=0?"01":(I=C.getFullYear()=0;return I=(I=Math.abs(I)/60)/60*100+I%60,(g?"+":"-")+String("0000"+I).slice(-4)},"%Z":function(A){return A.tm_zone},"%%":function(){return"%"}};for(var o in R)E.indexOf(o)>=0&&(E=E.replace(new RegExp(o,"g"),R[o](Q)));var U=Xg(E,!1);return U.length>I?0:(T(U,A),U.length-1)}function bg(A,I,g,B){return Zg(A,I,g,B)}function xg(A){var I=Date.now()/1e3|0;return A&&(AA[A>>2]=I),I}iI.staticInit(),rI(),fI=A.BindingError=dI(Error,"BindingError"),uI=A.InternalError=dI(Error,"InternalError"),jI(),Dg=A.UnboundTypeError=dI(Error,"UnboundTypeError");var mg=!1;function Xg(A,I,g){var B=g>0?g:W(A)+1,C=new Array(B),Q=l(A,C,0,C.length);return I&&(C.length=Q),C}function Vg(A){for(var I=[],g=0;g255&&(mg&&H(!1,"Character code "+B+" ("+String.fromCharCode(B)+") at offset "+g+" not in 0x00-0xFF."),B&=255),I.push(String.fromCharCode(B))}return I.join("")}var Og="function"==typeof atob?atob:function(A){var I,g,B,C,Q,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o="",D=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(D++))<<2|(C=i.indexOf(A.charAt(D++)))>>4,g=(15&C)<<4|(Q=i.indexOf(A.charAt(D++)))>>2,B=(3&Q)<<6|(E=i.indexOf(A.charAt(D++))),o+=String.fromCharCode(I),64!==Q&&(o+=String.fromCharCode(g)),64!==E&&(o+=String.fromCharCode(B))}while(D0||(sA(),kA>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),g()}),1)):g()))}function eB(I,g){g&&c&&0===I||(c||(J=!0,A.onExit&&A.onExit(I)),E(I,new NB(I)))}if(A.dynCall_viiiii=function(){return A.asm.Na.apply(null,arguments)},A.dynCall_viiiiii=function(){return A.asm.Oa.apply(null,arguments)},A.dynCall_viiiiiii=function(){return A.asm.Pa.apply(null,arguments)},A.dynCall_viijii=function(){return A.asm.Qa.apply(null,arguments)},A.asm=CB,A.FS=iI,A.then=function(I){if(QB)I(A);else{var g=A.onRuntimeInitialized;A.onRuntimeInitialized=function(){g&&g(),I(A)}}return A},NA=function A(){QB||YB(),QB||(NA=A)},A.run=YB,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return c=!0,YB(),A});const F=w,G=function(){return new Promise((function(A){F({onRuntimeInitialized:function(){A({instance:this})}})}))};var h=g(669),s=g.n(h),R=function(){function A(){C(this,A)}var g;return E(A,null,[{key:"fetchRemoteData",value:(g=I(o().mark((function A(I){var g;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.prev=0,A.next=3,s().get(I,{responseType:"arraybuffer"});case 3:return g=A.sent,A.abrupt("return",new Uint8Array(g.data));case 7:throw A.prev=7,A.t0=A.catch(0),A.t0;case 10:case"end":return A.stop()}}),A,null,[[0,7]])}))),function(A){return g.apply(this,arguments)})},{key:"string2Uint8Data",value:function(A){for(var I=new Uint8Array(A.length),g=0;g-1&&this.artoolkit.teardown(this.id),this.image&&this.image.srcObject,this)this[A]=null}},{key:"process",value:function(A){var I=this.detectMarker(A);0!=I&&console.error("[ARController]","detectMarker error:",I);var g,B,C=this.getMarkerNum();for(g in this.patternMarkers)(B=this.patternMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.barcodeMarkers)(B=this.barcodeMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(g in this.nftMarkers)(B=this.nftMarkers[g]).inPrevious=B.inCurrent,B.inCurrent=!1;for(var Q=0;Q-1&&(E.id===E.idPatt||-1===E.idMatrix)?(o=this.trackPatternMarkerId(E.idPatt),i=U.PATTERN_MARKER,E.dir!==E.dirPatt&&this.setMarkerInfoDir(Q,E.dirPatt)):E.idMatrix>-1&&(o=this.trackBarcodeMarkerId(E.idMatrix),i=U.BARCODE_MARKER,E.dir!==E.dirMatrix&&this.setMarkerInfoDir(Q,E.dirMatrix)),i!==U.UNKNOWN_MARKER&&o.inPrevious?this.getTransMatSquareCont(Q,o.markerWidth,o.matrix,o.matrix):this.getTransMatSquare(Q,o.markerWidth,o.matrix),o.inCurrent=!0,this.transMatToGLMat(o.matrix,this.transform_mat),this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat),this.dispatchEvent({name:"getMarker",target:this,data:{index:Q,type:i,marker:E,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var D=this.nftMarkerCount;this.detectNFTMarker();for(var a=0;a200&&(this.nftMarkerFound=!1,this.dispatchEvent({name:"lostNFTMarker",target:this,data:{index:a,type:F,marker:w,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}}))}for(var h=this.getMultiMarkerCount(),s=0;s=0){y=!0,this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:s,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}if(y)for(var S=0;S-1&&this.listeners[A].splice(g,1)}}},{key:"dispatchEvent",value:function(A){var I=this.listeners[A.name];if(I)for(var g=0;g>3,g+=4}return!!this.dataHeap&&(this.dataHeap.set(I),!0)}}],[{key:"initWithDimensions",value:(B=I(o().mark((function I(g,B,C,Q){var E;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return E=new A(g,B,C,Q),I.next=3,E._initialize();case 3:return I.abrupt("return",I.sent);case 4:case"end":return I.stop()}}),I)}))),function(A,I,g,C){return B.apply(this,arguments)})},{key:"initWithImage",value:(g=I(o().mark((function I(g,B,C){var Q,E,i;return o().wrap((function(I){for(;;)switch(I.prev=I.next){case 0:return Q=g.videoWidth||g.width,E=g.videoHeight||g.height,I.next=4,A.initWithDimensions(Q,E,B,C);case 4:return(i=I.sent).image=g,I.abrupt("return",i);case 7:case"end":return I.stop()}}),I)}))),function(A,I,B){return g.apply(this,arguments)})}]),A}();const n={ARToolkit:U,ARController:M}})(),B.default})()})); + +/***/ }), + +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); + + + + + +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ + var _this = this + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) -((function(){"use strict";var ARController=(function(width,height,camera){var id;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;camera=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.transform_mat=new Float32Array(16);this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d");this.videoWidth=w;this.videoHeight=h;if(typeof camera==="string"){var self=this;this.cameraParam=new ARCameraParam(camera,(function(){self._initialize()}),(function(err){console.error("ARController: Failed to load ARCameraParam",err)}))}else{this.cameraParam=camera;this._initialize()}});ARController.prototype.dispose=(function(){artoolkit.teardown(this.id);for(var t in this){this[t]=null}});ARController.prototype.process=(function(image){this.detectMarker(image);var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat}})}var multiMarkerCount=this.getMultiMarkerCount();for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}});ARController.prototype.dispatchEvent=(function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function($0,$1,$2,$3){{if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3}}),(function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){{var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]}}),(function($0,$1,$2,$3,$4){{if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4}})];function _emscripten_asm_const_33(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}function _emscripten_asm_const_4(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_5(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}STATIC_BASE=8;STATICTOP=STATIC_BASE+16496;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_ARToolKitJS_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,9,0,0,53,42,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,116,42,0,0,52,9,0,0,136,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,52,9,0,0,73,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,54,47,0,0,228,8,0,0,23,47,0,0,228,8,0,0,62,46,0,0,228,8,0,0,31,46,0,0,228,8,0,0,0,46,0,0,228,8,0,0,225,45,0,0,228,8,0,0,194,45,0,0,228,8,0,0,93,46,0,0,228,8,0,0,124,46,0,0,228,8,0,0,155,46,0,0,228,8,0,0,186,46,0,0,228,8,0,0,217,46,0,0,228,8,0,0,248,46,0,0,12,9,0,0,199,47,0,0,48,2,0,0,0,0,0,0,228,8,0,0,212,47,0,0,228,8,0,0,225,47,0,0,12,9,0,0,238,47,0,0,56,2,0,0,0,0,0,0,12,9,0,0,15,48,0,0,64,2,0,0,0,0,0,0,12,9,0,0,49,48,0,0,64,2,0,0,0,0,0,0,200,8,0,0,89,48,0,0,200,8,0,0,91,48,0,0,200,8,0,0,93,48,0,0,200,8,0,0,95,48,0,0,200,8,0,0,97,48,0,0,200,8,0,0,99,48,0,0,200,8,0,0,101,48,0,0,200,8,0,0,103,48,0,0,200,8,0,0,105,48,0,0,200,8,0,0,107,48,0,0,200,8,0,0,109,48,0,0,200,8,0,0,111,48,0,0,200,8,0,0,113,48,0,0,12,9,0,0,115,48,0,0,80,2,0,0,0,0,0,0,12,9,0,0,152,48,0,0,80,2,0,0,0,0,0,0,255,15,0,0,6,16,0,0,18,16,0,0,28,16,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,11,0,0,0,5,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0,0,67,0,0,0,5,0,0,0,10,0,0,0,20,0,0,0,40,0,0,0,80,0,0,0,35,0,0,0,70,0,0,0,15,0,0,0,30,0,0,0,60,0,0,0,120,0,0,0,115,0,0,0,101,0,0,0,73,0,0,0,17,0,0,0,34,0,0,0,68,0,0,0,11,0,0,0,22,0,0,0,44,0,0,0,88,0,0,0,51,0,0,0,102,0,0,0,79,0,0,0,29,0,0,0,58,0,0,0,116,0,0,0,107,0,0,0,85,0,0,0,41,0,0,0,82,0,0,0,39,0,0,0,78,0,0,0,31,0,0,0,62,0,0,0,124,0,0,0,123,0,0,0,117,0,0,0,105,0,0,0,81,0,0,0,33,0,0,0,66,0,0,0,7,0,0,0,14,0,0,0,28,0,0,0,56,0,0,0,112,0,0,0,99,0,0,0,69,0,0,0,9,0,0,0,18,0,0,0,36,0,0,0,72,0,0,0,19,0,0,0,38,0,0,0,76,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,91,0,0,0,53,0,0,0,106,0,0,0,87,0,0,0,45,0,0,0,90,0,0,0,55,0,0,0,110,0,0,0,95,0,0,0,61,0,0,0,122,0,0,0,119,0,0,0,109,0,0,0,89,0,0,0,49,0,0,0,98,0,0,0,71,0,0,0,13,0,0,0,26,0,0,0,52,0,0,0,104,0,0,0,83,0,0,0,37,0,0,0,74,0,0,0,23,0,0,0,46,0,0,0,92,0,0,0,59,0,0,0,118,0,0,0,111,0,0,0,93,0,0,0,57,0,0,0,114,0,0,0,103,0,0,0,77,0,0,0,25,0,0,0,50,0,0,0,100,0,0,0,75,0,0,0,21,0,0,0,42,0,0,0,84,0,0,0,43,0,0,0,86,0,0,0,47,0,0,0,94,0,0,0,63,0,0,0,126,0,0,0,127,0,0,0,125,0,0,0,121,0,0,0,113,0,0,0,97,0,0,0,65,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,8,0,0,0,5,0,0,0,10,0,0,0,3,0,0,0,14,0,0,0,9,0,0,0,7,0,0,0,6,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,56,0,0,0,3,0,0,0,63,0,0,0,15,0,0,0,31,0,0,0,9,0,0,0,90,0,0,0,57,0,0,0,21,0,0,0,4,0,0,0,28,0,0,0,64,0,0,0,67,0,0,0,16,0,0,0,112,0,0,0,32,0,0,0,97,0,0,0,10,0,0,0,108,0,0,0,91,0,0,0,70,0,0,0,58,0,0,0,38,0,0,0,22,0,0,0,47,0,0,0,5,0,0,0,54,0,0,0,29,0,0,0,19,0,0,0,65,0,0,0,95,0,0,0,68,0,0,0,45,0,0,0,17,0,0,0,43,0,0,0,113,0,0,0,115,0,0,0,33,0,0,0,77,0,0,0,98,0,0,0,117,0,0,0,11,0,0,0,87,0,0,0,109,0,0,0,35,0,0,0,92,0,0,0,74,0,0,0,71,0,0,0,79,0,0,0,59,0,0,0,104,0,0,0,39,0,0,0,100,0,0,0,23,0,0,0,82,0,0,0,48,0,0,0,119,0,0,0,6,0,0,0,126,0,0,0,55,0,0,0,13,0,0,0,30,0,0,0,62,0,0,0,20,0,0,0,89,0,0,0,66,0,0,0,27,0,0,0,96,0,0,0,111,0,0,0,69,0,0,0,107,0,0,0,46,0,0,0,37,0,0,0,18,0,0,0,53,0,0,0,44,0,0,0,94,0,0,0,114,0,0,0,42,0,0,0,116,0,0,0,76,0,0,0,34,0,0,0,86,0,0,0,78,0,0,0,73,0,0,0,99,0,0,0,103,0,0,0,118,0,0,0,81,0,0,0,12,0,0,0,125,0,0,0,88,0,0,0,61,0,0,0,110,0,0,0,26,0,0,0,36,0,0,0,106,0,0,0,93,0,0,0,52,0,0,0,75,0,0,0,41,0,0,0,72,0,0,0,85,0,0,0,80,0,0,0,102,0,0,0,60,0,0,0,124,0,0,0,105,0,0,0,25,0,0,0,40,0,0,0,51,0,0,0,101,0,0,0,84,0,0,0,24,0,0,0,123,0,0,0,83,0,0,0,50,0,0,0,49,0,0,0,122,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,136,0,0,0,5,0,0,0,144,0,0,0,6,0,0,0,152,0,0,0,9,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,112,2,0,0,168,2,0,0,200,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,0,0,0,0,32,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,96,2,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,80,2,0,0,3,0,0,0,7,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,216,2,0,0,3,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,2,0,0,3,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,240,10,0,0,96,11,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,81,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,73,58,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,69,114,114,111,114,58,32,108,97,98,101,108,105,110,103,32,119,111,114,107,32,111,118,101,114,102,108,111,119,46,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,40,37,100,41,32,114,101,113,117,101,115,116,101,100,46,10,0,85,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,108,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,114,101,113,117,101,115,116,101,100,46,32,83,101,116,32,116,111,32,109,97,110,117,97,108,46,10,0,76,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,46,10,0,77,65,78,85,65,76,0,65,85,84,79,95,77,69,68,73,65,78,0,65,85,84,79,95,79,84,83,85,0,65,85,84,79,95,65,68,65,80,84,73,86,69,65,85,84,79,95,66,82,65,67,75,69,84,73,78,71,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,109,97,114,107,101,114,32,99,111,117,110,116,115,32,45,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,43,46,10,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,109,101,100,105,97,110,0,79,116,115,117,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,37,115,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,63,63,63,32,49,10,0,63,63,63,32,50,10,0,63,63,63,32,51,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,112,97,115,115,101,100,32,116,111,32,97,114,73,109,97,103,101,80,114,111,99,72,105,115,116,40,41,46,10,0,0,0,0,1,0,1,1,1,0,2,4,255,255,5,3,1,0,2,255,6,7,255,3,1,2,2,3,2,3,2,3,3,0,255,4,6,7,5,255,1,4,5,4,4,5,5,4,5,7,6,6,6,7,7,7,6,255,2,4,6,7,5,3,255,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,255,255,3,255,5,6,255,255,9,10,255,12,255,255,15,255,17,18,255,20,255,255,23,24,255,255,27,255,29,30,255,255,1,2,255,4,255,255,7,8,255,255,11,255,13,14,255,16,255,255,19,255,21,22,255,255,25,26,255,28,255,255,31,69,114,114,111,114,58,32,117,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,46,10,0,69,114,114,111,114,58,32,78,85,76,76,32,112,97,116,116,72,97,110,100,108,101,46,10,0,69,114,114,111,114,58,32,99,97,110,39,116,32,108,111,97,100,32,112,97,116,116,101,114,110,32,102,114,111,109,32,78,85,76,76,32,98,117,102,102,101,114,46,10,0,69,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46,10,0,32,9,10,13,0,80,97,116,116,101,114,110,32,68,97,116,97,32,114,101,97,100,32,101,114,114,111,114,33,33,10,0,69,114,114,111,114,32,111,112,101,110,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,46,10,0,114,98,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,115,32,102,105,108,101,32,34,37,115,34,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,102,105,108,101,32,108,101,110,103,116,104,46,0,69,114,114,111,114,58,32,115,117,112,112,108,105,101,100,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,97,112,112,101,97,114,32,116,111,32,98,101,32,97,110,32,65,82,84,111,111,108,75,105,116,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,114,111,109,32,102,105,108,101,46,0,69,114,114,111,114,58,32,105,99,112,71,101,116,74,95,85,95,88,99,0,69,114,114,111,114,58,32,109,97,108,108,111,99,10,0,69,114,114,111,114,32,49,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,50,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,51,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,52,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,53,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,54,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,55,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,114,0,69,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,46,10,0,37,115,37,115,10,0,0,37,100,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,110,117,109,98,101,114,32,111,102,32,109,97,114,107,101,114,32,99,111,110,102,105,103,115,32,116,111,32,114,101,97,100,46,10,0,79,117,116,32,111,102,32,109,101,109,111,114,121,33,33,10,0,37,108,108,117,37,99,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,112,97,116,116,101,114,110,32,39,37,115,39,32,115,112,101,99,105,102,105,101,100,32,105,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,119,104,105,108,101,32,105,110,32,98,97,114,99,111,100,101,45,111,110,108,121,32,109,111,100,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,108,111,97,100,32,112,97,116,116,101,114,110,32,39,37,115,39,46,10,0,37,108,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,112,97,116,116,101,114,110,32,119,105,100,116,104,46,10,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,37,102,32,37,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,76,105,110,101,115,32,50,32,45,32,52,32,109,117,115,116,32,98,101,32,109,97,114,107,101,114,32,116,114,97,110,115,102,111,114,109,46,10,0,97,114,103,108,67,97,109,101,114,97,70,114,117,115,116,117,109,40,41,58,32,97,114,80,97,114,97,109,68,101,99,111,109,112,77,97,116,40,41,32,105,110,100,105,99,97,116,101,100,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,46,10,0,108,111,97,100,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,32,37,115,32,102,111,114,32,99,97,109,101,114,97,46,10,0,42,42,42,32,67,97,109,101,114,97,32,80,97,114,97,109,101,116,101,114,32,114,101,115,105,122,101,100,32,102,114,111,109,32,37,100,44,32,37,100,46,32,42,42,42,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,114,97,109,76,84,67,114,101,97,116,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,99,114,101,97,116,105,110,103,32,51,68,32,104,97,110,100,108,101,0,108,111,97,100,77,97,114,107,101,114,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,37,115,46,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,97,114,107,101,114,46,10,0,99,111,110,102,105,103,32,100,97,116,97,32,108,111,97,100,32,101,114,114,111,114,32,33,33,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,117,108,116,105,109,97,114,107,101,114,46,10,0,80,97,116,116,101,114,110,32,100,101,116,101,99,116,105,111,110,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,80,97,116,116,101,114,110,32,114,97,116,105,111,32,115,105,122,101,32,115,101,116,32,116,111,32,37,102,46,10,0,76,97,98,101,108,105,110,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,111,110,46,0,111,102,102,46,0,68,101,98,117,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,10,0,73,109,97,103,101,32,112,114,111,99,46,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,118,105,115,105,98,108,101,39,93,32,61,32,36,48,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,73,100,39,93,32,61,32,36,49,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,84,121,112,101,39,93,32,61,32,36,50,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,119,105,100,116,104,39,93,32,61,32,36,51,59,32,125,0,123,32,118,97,114,32,36,97,32,61,32,97,114,103,117,109,101,110,116,115,59,32,118,97,114,32,105,32,61,32,49,50,59,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,32,112,111,115,58,32,91,48,44,48,93,44,32,108,105,110,101,58,32,91,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,93,44,32,118,101,114,116,101,120,58,32,91,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,93,32,125,41,59,32,125,32,118,97,114,32,109,97,114,107,101,114,73,110,102,111,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,97,114,101,97,34,93,32,61,32,36,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,34,93,32,61,32,36,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,80,97,116,116,34,93,32,61,32,36,50,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,77,97,116,114,105,120,34,93,32,61,32,36,51,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,34,93,32,61,32,36,52,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,80,97,116,116,34,93,32,61,32,36,53,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,77,97,116,114,105,120,34,93,32,61,32,36,54,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,34,93,32,61,32,36,55,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,80,97,116,116,34,93,32,61,32,36,56,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,77,97,116,114,105,120,34,93,32,61,32,36,57,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,48,93,32,61,32,36,49,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,49,93,32,61,32,36,49,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,101,114,114,111,114,67,111,114,114,101,99,116,101,100,34,93,32,61,32,36,97,91,105,43,43,93,59,32,125,0,115,101,116,117,112,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,116,116,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,65,108,108,111,99,97,116,101,100,32,118,105,100,101,111,70,114,97,109,101,83,105,122,101,32,37,100,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,102,114,97,109,101,77,97,108,108,111,99,32,61,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,112,111,105,110,116,101,114,34,93,32,61,32,36,49,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,115,105,122,101,34,93,32,61,32,36,50,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,99,97,109,101,114,97,34,93,32,61,32,36,51,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,116,114,97,110,115,102,111,114,109,34,93,32,61,32,36,52,59,32,125,0,115,101,116,117,112,0,116,101,97,114,100,111,119,110,0,95,97,100,100,77,97,114,107,101,114,0,95,97,100,100,77,117,108,116,105,77,97,114,107,101,114,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,67,111,117,110,116,0,95,108,111,97,100,67,97,109,101,114,97,0,115,101,116,77,97,114,107,101,114,73,110,102,111,68,105,114,0,115,101,116,77,97,114,107,101,114,73,110,102,111,86,101,114,116,101,120,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,67,111,110,116,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,82,111,98,117,115,116,0,100,101,116,101,99,116,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,69,97,99,104,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,0,115,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,80,114,111,99,101,115,115,105,110,103,73,109,97,103,101,0,115,101,116,76,111,103,76,101,118,101,108,0,103,101,116,76,111,103,76,101,118,101,108,0,115,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,115,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,115,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,103,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,115,101,116,84,104,114,101,115,104,111,108,100,0,103,101,116,84,104,114,101,115,104,111,108,100,0,115,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,103,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,115,101,116,80,97,116,116,82,97,116,105,111,0,103,101,116,80,97,116,116,82,97,116,105,111,0,115,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,103,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,115,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,103,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,115,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,103,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,69,82,82,79,82,95,65,82,67,79,78,84,82,79,76,76,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,85,76,84,73,77,65,82,75,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,65,82,75,69,82,95,73,78,68,69,88,95,79,85,84,95,79,70,95,66,79,85,78,68,83,0,65,82,95,68,69,66,85,71,95,68,73,83,65,66,76,69,0,65,82,95,68,69,66,85,71,95,69,78,65,66,76,69,0,65,82,95,68,69,70,65,85,76,84,95,68,69,66,85,71,95,77,79,68,69,0,65,82,95,76,65,66,69,76,73,78,71,95,87,72,73,84,69,95,82,69,71,73,79,78,0,65,82,95,76,65,66,69,76,73,78,71,95,66,76,65,67,75,95,82,69,71,73,79,78,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,77,79,68,69,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,82,65,77,69,95,73,77,65,71,69,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,73,69,76,68,95,73,77,65,71,69,0,65,82,95,68,69,70,65,85,76,84,95,73,77,65,71,69,95,80,82,79,67,95,77,79,68,69,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,68,69,84,69,67,84,73,79,78,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,68,69,70,65,85,76,84,95,80,65,84,84,69,82,78,95,68,69,84,69,67,84,73,79,78,95,77,79,68,69,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,78,79,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,95,86,50,0,65,82,95,68,69,70,65,85,76,84,95,77,65,82,75,69,82,95,69,88,84,82,65,67,84,73,79,78,95,77,79,68,69,0,65,82,95,77,65,88,95,76,79,79,80,95,67,79,85,78,84,0,65,82,95,76,79,79,80,95,66,82,69,65,75,95,84,72,82,69,83,72,0,65,82,95,76,79,71,95,76,69,86,69,76,95,68,69,66,85,71,0,65,82,95,76,79,71,95,76,69,86,69,76,95,73,78,70,79,0,65,82,95,76,79,71,95,76,69,86,69,76,95,87,65,82,78,0,65,82,95,76,79,71,95,76,69,86,69,76,95,69,82,82,79,82,0,65,82,95,76,79,71,95,76,69,86,69,76,95,82,69,76,95,73,78,70,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,72,65,77,77,73,78,71,54,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,80,65,82,73,84,89,54,53,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,57,95,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,53,95,53,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,77,65,78,85,65,76,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,77,69,68,73,65,78,0,65,82,95,76,65],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,79,84,83,85,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,65,68,65,80,84,73,86,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,78,79,78,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,65,84,84,69,82,78,95,69,88,84,82,65,67,84,73,79,78,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,71,69,78,69,82,73,67,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,84,82,65,83,84,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,78,79,84,95,70,79,85,78,68,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,69,68,67,95,70,65,73,76,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,70,73,68,69,78,67,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,95,77,85,76,84,73,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,72,69,85,82,73,83,84,73,67,95,84,82,79,85,66,76,69,83,79,77,69,95,77,65,84,82,73,88,95,67,79,68,69,83,0,118,105,105,102,0,118,105,105,105,0,100,105,105,0,118,105,105,100,0,105,105,0,118,105,105,0,105,105,105,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,105,105,105,105,0,105,105,105,105,105,0,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,115,116,100,58,58,115,116,114,105,110,103,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115,116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+15945);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _llvm_ctlz_i32=true;function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var argsList="";var argsListWired="";for(var i=0;i0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value}}function requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _cos=Math_cos;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _ceilf=Math_ceil;function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function jd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function kd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function ld(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function md(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function nd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function od(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function pd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function qd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function rd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function sd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function td(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ud(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function vd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function wd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function xd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function yd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function ec(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function fc(){return i|0}function gc(a){a=a|0;i=a}function hc(a,b){a=a|0;b=b|0;i=a;j=b}function ic(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function jc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function kc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function lc(a){a=a|0;D=a}function mc(){return D|0}function nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function zc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ac(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Bc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Cc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Dc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ec(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Fc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){b[a>>1]=0;k=q}else{k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Gc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Hc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Ic(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0} -function Jc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Kc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Lc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Mc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[a>>1]=0;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Zc(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function _c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function $c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)th(a,b)}}else th(a,b);return}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;h=g+16|0;f=g+4|0;j=g;d=c[d>>2]|0;e=c[d>>2]|0;c[j>>2]=d;c[h>>2]=c[j>>2];vh(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d){if(a[f+8>>0]|0)Fg(d+264|0);Lh(d)}i=g;return e|0}function vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;n=(m&l|0)==0;if(n)k=m&e;else k=(e>>>0)%(l>>>0)|0;g=(c[d>>2]|0)+(k<<2)|0;f=c[g>>2]|0;while(1){e=c[f>>2]|0;if((e|0)==(o|0)){j=f;break}else f=e}i=d+8|0;if((j|0)!=(i|0)){e=c[j+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0))g=o;else h=12}else h=12;do if((h|0)==12){e=c[o>>2]|0;if(e){e=c[e+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0)){g=o;break}}c[g>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(n)f=f&m;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(k|0)){c[(c[d>>2]|0)+(f<<2)>>2]=j;e=c[o>>2]|0}}c[j>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=i;a[b+8>>0]=1;return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(408)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,392)|0;h[e+248>>3]=.0001;h[e+256>>3]=1.0e3;d=e+264|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function xh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;yh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)zh(a,b)}}else zh(a,b);return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function Ah(a){a=a|0;return Aj(c[a+4>>2]|0)|0}function Bh(a){a=a|0;Ka(624,10917);Ya(632,10922,1,1,0);Ga(640,10927,1,-128,127);Ga(656,10932,1,-128,127);Ga(648,10944,1,0,255);Ga(664,10958,2,-32768,32767);Ga(672,10964,2,0,65535);Ga(680,10979,4,-2147483648,2147483647);Ga(688,10983,4,0,-1);Ga(696,10996,4,-2147483648,2147483647);Ga(704,11001,4,0,-1);kb(712,11015,4);kb(720,11021,8);sb(360,11028);sb(392,11040);bb(416,4,11073);db(440,11086);Aa(448,0,11102);Dh(11132);Eh(11169);Fh(11208);Gh(11239);Hh(11279);Ih(11308);Aa(456,4,11346);Aa(464,5,11376);Dh(11415);Eh(11447);Fh(11480);Gh(11513);Hh(11547);Ih(11580);Aa(472,6,11614);Aa(480,7,11645);Aa(488,7,11677);return}function Ch(){Bh(0);return}function Dh(a){a=a|0;Aa(536,0,a|0);return}function Eh(a){a=a|0;Aa(528,1,a|0);return}function Fh(a){a=a|0;Aa(520,2,a|0);return}function Gh(a){a=a|0;Aa(512,3,a|0);return}function Hh(a){a=a|0;Aa(504,4,a|0);return}function Ih(a){a=a|0;Aa(496,5,a|0);return}function Jh(a){a=a|0;Ia(12478,12501,303,12589)}function Kh(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Uj(b)|0;a:do if(!a){while(1){a=Ph()|0;if(!a)break;_b[a&0]();a=Uj(b)|0;if(a)break a}b=Wa(4)|0;c[b>>2]=2224;wb(b|0,544,1)}while(0);return a|0}function Lh(a){a=a|0;Vj(a);return}function Mh(a){a=a|0;return}function Nh(a){a=a|0;Lh(a);return}function Oh(a){a=a|0;return 12610}function Ph(){var a=0;a=c[559]|0;c[559]=a+0;return a|0}function Qh(a){a=a|0;return}function Rh(a){a=a|0;return}function Sh(a){a=a|0;return}function Th(a){a=a|0;return}function Uh(a){a=a|0;return}function Vh(a){a=a|0;Lh(a);return}function Wh(a){a=a|0;Lh(a);return}function Xh(a){a=a|0;Lh(a);return}function Yh(a){a=a|0;Lh(a);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=ei(b,576,592,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;dc[c[(c[f>>2]|0)+28>>2]&3](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);else{a=c[a+8>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,(g&2|0)!=0?e:2);return}function di(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;ci(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{ci(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else $h(0,d,e,f);while(0);return}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;bc[c[(c[f>>2]|0)+20>>2]&3](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{Rb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function fi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function gi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;ii(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;hi(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function hi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Rb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function ji(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Rb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;bc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function ki(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function li(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))fi(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;hi(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;hi(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function mi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);else{a=c[a+8>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function ni(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);return}function oi(a){a=a|0;Ia(12625,12654,1164,12589)}function pi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function qi(){var a=0;if(!(c[597]|0))a=2644;else a=c[(gb()|0)+60>>2]|0;return a|0}function ri(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[12742+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=12830;e=5;break}}if((e|0)==2)if(!c)b=12830;else{b=12830;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function si(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0}while((pi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=vi(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[14634+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[16477+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=vi(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=vi(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;k=gk(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=gk(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=vi(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else ui(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=gk(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=Hj(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=fk(o|0,n|0,2)|0;H=gk(H|0,D|0,-32,-1)|0;e=gk(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=gk(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=dk(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=gk(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yi(+Di(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(qi()|0)>>2]=34;g=+Ei(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){h=0;e=0;while(1){h=gk(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=gk(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=Hj(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=gk(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(qi()|0)>>2]=22;ui(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[2648+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[2648+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[2648+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=fk(c[p>>2]|0,0,29)|0;o=gk(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=pk(o|0,n|0,1e9,0)|0;o=qk(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yi(+Di(1.0,105-o|0),j);m=+Ai(j,+Di(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ai(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(qi()|0)>>2]=34}while(0);g=+Ei(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function ti(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(qi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((pi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=vi(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;if((d[14643+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){ui(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[14643+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;ui(b,0);c[(qi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ok(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=gk(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[14900+((e*23|0)>>>5&7)>>0]|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=hk(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=fk(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=pk(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ok(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=gk(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[14643+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((d[14643+(i+1)>>0]|0)>>>0>>0);c[(qi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(qi()|0)>>2]=34;g=gk(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(qi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=dk(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function vi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Vi(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function wi(a){a=a|0;if(a>>>0>4294963200){c[(qi()|0)>>2]=0-a;a=-1}return a|0}function xi(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function yi(a,b){a=+a;b=+b;return +(+xi(a,b))}function zi(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=hk(d|0,m|0,52)|0;e=e&2047;j=hk(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=fk(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=fk(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=fk(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=fk(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=fk(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=fk(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=fk(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=fk(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=gk(d|0,f|0,0,-1048576)|0;d=D;e=fk(e|0,0,52)|0;d=d|D;e=o|e}else{e=hk(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ai(a,b){a=+a;b=+b;return +(+zi(a,b))}function Bi(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=hk(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Bi(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Ci(a,b){a=+a;b=b|0;return +(+Bi(a,b))}function Di(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=fk(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Ei(a,b){a=+a;b=b|0;return +(+Di(a,b))}function Fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?2680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[2432+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(qi()|0)>>2]=84;f=-1}i=l;return f|0}function Gi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Hi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(qi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ii(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Hi(a,b,0)|0;return a|0}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sj(14909,f<<24>>24,4)|0){e=Uj(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wj(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wj(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;va(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=va(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;va(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(mb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=14;c[e+36>>2]=4;c[e+40>>2]=5;c[e+12>>2]=2;if(!(c[598]|0))c[e+76>>2]=-1;yb(2416);f=c[603]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[603]=e;nb(2416)}}else{c[(qi()|0)>>2]=22;e=0}i=o;return e|0}function Ki(b){b=b|0;var c=0,d=0,e=0;d=(wj(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wj(b,120)|0)==0;d=e?d:d|128;b=(wj(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Li(a){a=a|0;return 0}function Mi(a){a=a|0;return}function Ni(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=wi(zb(6,d|0)|0)|0;i=b;return a|0}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[597]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=wi(Nb(145,h|0)|0)|0}else{Fa(13,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=wi(Nb(145,g|0)|0)|0;pb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((wi(Ib(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[597]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=wi(Ob(146,n|0)|0)|0}else{Fa(14,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=wi(Ob(146,m|0)|0)|0;pb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(mb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Qi(b,d,e)|0;i=g;return f|0}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sj(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;ik(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Ti(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Qb[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Vi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Ti(a)|0)!=0:0)b=-1;else if((Qb[c[a+32>>2]&15](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Wi(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){yb(2416);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[603]|0)==(a|0))c[603]=b;nb(2416)}b=Yi(a)|0;b=Yb[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d)Vj(d);if(!e)Vj(a);return b|0}function Xi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Yi(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Kj(a)|0;break}d=(Li(a)|0)==0;b=Kj(a)|0;if(!d)Mi(a)}else{if(!(c[660]|0))b=0;else b=Yi(c[660]|0)|0;yb(2416);a=c[603]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Li(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Kj(a)|0|b;if(d)Mi(a);a=c[a+56>>2]|0}while((a|0)!=0);nb(2416)}while(0);return b|0}function Zi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[f+76>>2]|0)>-1)o=Li(f)|0;else o=0;g=e+-1|0;if((e|0)<2){p=f+74|0;n=a[p>>0]|0;a[p>>0]=n+255|n;if(o)Mi(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){m=f+4|0;n=f+8|0;h=b;while(1){i=c[m>>2]|0;q=i;k=(c[n>>2]|0)-q|0;j=sj(i,10,k)|0;r=(j|0)==0;j=r?k:1-q+j|0;q=j>>>0>>0;j=q?j:g;ik(h|0,i|0,j|0)|0;i=c[m>>2]|0;k=i+j|0;c[m>>2]=k;e=h+j|0;l=g-j|0;if(!(r&q)){p=18;break a}if(k>>>0<(c[n>>2]|0)>>>0){j=j+1|0;c[m>>2]=i+j;i=d[k>>0]|0}else{g=Vi(f)|0;if((g|0)<0)break;j=j+1|0;i=g}g=l+-1|0;h=h+j|0;a[e>>0]=i;if(!((g|0)!=0&(i&255|0)!=10)){e=h;p=18;break a}}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)p=18;else b=0}else{e=b;p=18}while(0);if((p|0)==18)if(!b)b=0;else a[e>>0]=0;if(o)Mi(f)}return b|0}function _i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sj(14909,a[d>>0]|0,4)|0){h=Ki(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=wi(Ab(5,e|0)|0)|0;if((e|0)>=0){b=Ji(e,d)|0;if(!b){c[f>>2]=e;zb(6,f|0)|0;b=0}}else b=0}else{c[(qi()|0)>>2]=22;b=0}i=g;return b|0}function $i(a,b){a=a|0;b=b|0;return (ij(a,Bj(a)|0,1,b)|0)+-1|0}function aj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=$(e,d)|0;if((c[f+76>>2]|0)>-1)k=Li(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;ik(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Ti(f)|0){e=h;break}g=Qb[c[i>>2]&15](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Mi(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Mi(f);return e|0}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Qb[c[a+40>>2]&15](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Li(a)|0)==0;b=bj(a,b,d)|0;if(!e)Mi(a)}else b=bj(a,b,d)|0;return b|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return cj(a,b,c)|0}function ej(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Qb[c[a+40>>2]&15](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function fj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=ej(a)|0}else a=ej(a)|0;return a|0}function gj(a){a=a|0;return fj(a)|0}function hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Ui(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Qb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Qb[c[e+36>>2]&15](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);ik(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Li(e)|0)==0;a=hj(a,f,e)|0;if(!g)Mi(e)}else a=hj(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function jj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Mi(a)}else{bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pj(a,b,f)|0;i=e;return d|0}function lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Uj(240)|0;do if(f){c[e>>2]=c[d>>2];e=oj(f,240,b,e)|0;if(e>>>0<240){b=Xj(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Vj(f);if((e|0)>=0?(h=e+1|0,g=Uj(h)|0,c[a>>2]=g,(g|0)!=0):0)e=oj(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Lj(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Li(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Lj(b,d,o,q,r)|0;if(h){Qb[c[b+36>>2]&15](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Lj(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Mi(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function nj(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Li(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(pi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{ui(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0}while((pi(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}ui(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((vi(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){ek(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;ek(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Uj(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Fi(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Xj(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Gi(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Uj(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Xj(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+si(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=ti(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;ui(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(pi(d[m>>0]|0)|0))break;else n=m}ui(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0}while((pi(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Vj(l);Vj(f)}}else k=0;while(0);if(O)Mi(e);i=P;return k|0}function oj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2684;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(qi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=mj(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=15;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=nj(e,b,d)|0;i=g;return h|0}function qj(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(pi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return ((e|0)!=0?b:0-b|0)|0}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=$(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){Nj(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Nj(a,d,e,h,o);else Oj(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}Oj(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;Oj(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;Oj(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function tj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function uj(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);ek(b|0,0,e|0)|0;return b|0}function wj(b,c){b=b|0;c=c|0;b=xj(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Bj(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=$(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0);while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function yj(a,b){a=a|0;b=b|0;uj(a,b)|0;return a|0}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31))break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(xj(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Aj(a){a=a|0;var b=0,c=0;c=(Bj(a)|0)+1|0;b=Uj(c)|0;if(!b)b=0;else ik(b|0,a|0,c|0)|0;return b|0}function Bj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Cj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Bj(b)|0)|0;a:do if(d)while(1){f=a[c>>0]|0;if(!(f<<24>>24))break a;d=d+-1|0;g=e+1|0;a[e>>0]=f;if(!d){e=g;break}else{c=c+1|0;e=g}}while(0);a[e>>0]=0;return b|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;vj(a,b,c)|0;return a|0}function Ej(a,b){a=a|0;b=b|0;return tj(a,b,(Bj(a)|0)+1|0)|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0;if(!b){b=c[699]|0;if(!b)b=0;else{f=b;e=3}}else{f=b;e=3}do if((e|0)==3){e=Fj(f,d)|0;b=f+e|0;if(!(a[b>>0]|0)){c[699]=0;b=0;break}e=(zj(b,d)|0)+e|0;d=f+e|0;c[699]=d;if(!(a[d>>0]|0)){c[699]=0;break}else{c[699]=f+(e+1);a[d>>0]=0;break}}while(0);return b|0}function Hj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ok(f|0,b|0,10,0)|0;f=D;e=gk(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=gk(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=dk(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function Ij(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Jj(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Qb[c[a+40>>2]&15](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Lj(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(qi()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)hj(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[15953+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Rj(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=hk(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=16433;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=16433;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=dk(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=16433;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?16433:16435;L=76}else{p=1;s=16434;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=16433;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=16433;n=N;break}case 109:{n=ri(c[(qi()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:16443;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Tj(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?16451:16456}else{G=1;H=16453}else{q=-q;G=1;H=16450}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Ci(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Sj(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[16417+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Tj(e,32,K,p,I);if(!(c[e>>2]&32))hj(y,x,e)|0;Tj(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))hj(da,n,e)|0;o=_-t|0;Tj(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))hj(t,o,e)|0;Tj(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=fk(c[r>>2]|0,0,t|0)|0;B=gk(B|0,D|0,o|0,0)|0;o=D;A=qk(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=pk(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Sj(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;Tj(e,32,K,y,I);if(!(c[e>>2]&32))hj(H,G,e)|0;Tj(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Sj(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))hj(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;hj(16485,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Sj(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))hj(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Tj(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Sj(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))hj(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}hj(16485,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))hj(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Tj(e,48,n+18|0,18,0);if(c[e>>2]&32)break;hj(u,_-u|0,e)|0}while(0);Tj(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Tj(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){hj(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))hj(s?(t?16477:16481):t?16469:16473,3,e)|0;Tj(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=16433;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[16417+(o&15)>>0]|s;o=hk(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=16433;L=77}else{o=t;t=2;s=16433+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=16433;L=77}}else if((L|0)==76){n=Sj(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sj(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=16433;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ii(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Tj(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ii(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))hj(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Tj(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Tj(e,32,n,r,p);if(!(c[e>>2]&32))hj(u,t,e)|0;Tj(e,48,n,r,p^65536);Tj(e,48,o,s,0);if(!(c[e>>2]&32))hj(w,s,e)|0;Tj(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Rj(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function Nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((cc[d&15](k,j)|0)>-1?(cc[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((cc[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Pj(b,o,e);i=p;return}function Oj(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(cc[d&15](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((cc[d&15](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((cc[d&15](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((cc[d&15](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){Pj(b,p,e);Nj(a,b,d,g,h)}i=r;return}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;ik(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;ik(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;ik(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Sj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=qk(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=pk(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Tj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;ek(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){hj(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;hj(h,f,a)|0}while(0);i=j;return}function Uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[756]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[760]|0)>>>0)Da();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Da()}else c[756]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[758]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[760]|0)>>>0)Da();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[758]|0;break}else Da()}else{c[756]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[761]|0;d=k>>>3;b=d<<1;e=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(b>>>0<(c[760]|0)>>>0)Da();else{l=a;m=b}}else{c[756]=a|d;l=3064+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[758]=h;c[761]=i;M=j;return M|0}a=c[757]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3328+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[760]|0;if(e>>>0>>0)Da();i=e+o|0;if(e>>>0>=i>>>0)Da();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(e|0))Da();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Da()}while(0);do if(h){b=c[e+28>>2]|0;a=3328+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[760]|0;if(n>>>0>>0)Da();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[758]|0;if(b){g=c[761]|0;d=b>>>3;b=d<<1;f=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{p=b;q=a}}else{c[756]=a|d;p=3064+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[758]=j;c[761]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[757]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3328+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3328+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[758]|0)-m|0)>>>0:0){f=c[760]|0;if(j>>>0>>0)Da();h=j+m|0;if(j>>>0>=h>>>0)Da();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Da();b=e+12|0;if((c[b>>2]|0)!=(j|0))Da();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Da()}while(0);do if(g){b=c[j+28>>2]|0;a=3328+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[760]|0;if(o>>>0>>0)Da();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{s=b;t=a}}else{c[756]=d|b;s=3064+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3328+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Da()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[758]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[761]|0;if(b>>>0>15){c[761]=a+q;c[758]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[758]=0;c[761]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[759]|0;if(a>>>0>q>>>0){L=a-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[874]|0)){a=$a(30)|0;if(!(a+-1&a)){c[876]=a;c[875]=a;c[877]=-1;c[878]=-1;c[879]=0;c[867]=0;c[874]=(Db(0)|0)&-16^1431655768;break}else Da()}while(0);j=q+48|0;i=c[876]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[866]|0;if((a|0)!=0?(t=c[864]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[867]&4)){a=c[762]|0;e:do if(a){f=3472;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[759]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[875]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[864]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[866]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[876]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[867]=c[867]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[864]|0)+p|0;c[864]=a;if(a>>>0>(c[865]|0)>>>0)c[865]=a;h=c[762]|0;g:do if(h){g=3472;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[759]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[762]=h+L;c[759]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[763]=c[878];break}a=c[760]|0;if(w>>>0>>0){c[760]=w;a=w}d=w+p|0;g=3472;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3472;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[761]|0)){M=(c[758]|0)+l|0;c[758]=M;c[761]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Da();a=f+12|0;if((c[a>>2]|0)!=(b|0))Da();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Da()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3328+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[760]|0)>>>0)Da();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[757]=c[757]&~(1<>>0>>0)Da();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Da();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[760]|0)>>>0)Da();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=3064+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)==(b|0))break;Da()}while(0);if((f|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Da()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0>=(c[760]|0)>>>0){K=b;L=a;break}Da()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3328+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[760]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Da()}else{M=(c[759]|0)+l|0;c[759]=M;c[762]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=3472;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[762]=w+d;c[759]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[763]=c[878];d=a+4|0;c[d>>2]=27;c[b>>2]=c[868];c[b+4>>2]=c[869];c[b+8>>2]=c[870];c[b+12>>2]=c[871];c[868]=w;c[869]=p;c[871]=0;c[870]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{G=b;H=a}}else{c[756]=d|b;G=3064+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3328+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[757]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Da()}}else{M=c[760]|0;if((M|0)==0|w>>>0>>0)c[760]=w;c[868]=w;c[869]=p;c[871]=0;c[765]=c[874];c[764]=-1;b=0;do{M=b<<1;L=3064+(M<<2)|0;c[3064+(M+3<<2)>>2]=L;c[3064+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[762]=w+M;c[759]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[763]=c[878]}while(0);b=c[759]|0;if(b>>>0>q>>>0){L=b-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(qi()|0)>>2]=12;M=0;return M|0}function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[760]|0;if(b>>>0>>0)Da();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Da();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Da();if((l|0)==(c[761]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[758]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)!=(l|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Da()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Da();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(l|0))Da();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Da()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3328+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Da();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Da();if(!(d&2)){if((q|0)==(c[762]|0)){t=(c[759]|0)+g|0;c[759]=t;c[762]=u;c[u+4>>2]=t|1;if((u|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){t=(c[758]|0)+g|0;c[758]=t;c[761]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();e=d+12|0;if((c[e>>2]|0)!=(q|0))Da();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Da()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3328+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[760]|0)>>>0)Da();if((c[e+12>>2]|0)!=(q|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0<(c[760]|0)>>>0)Da();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Da()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[761]|0)){c[758]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=3064+(d<<2)|0;e=c[756]|0;b=1<>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();else{r=b;s=d}}else{c[756]=e|b;r=3064+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3328+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[757]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[760]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Da()}else{c[757]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[764]|0)+-1|0;c[764]=u;if(!u)b=3480;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[764]=-1;return}function Wj(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Uj(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;ek(b|0,0,d|0)|0;return b|0}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Uj(b)|0;return a|0}if(b>>>0>4294967231){c[(qi()|0)>>2]=12;a=0;return a|0}d=Yj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Uj(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;ik(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Vj(a);a=d;return a|0}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[760]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Da();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Da();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[876]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Zj(a+b|0,d);return a|0}if((l|0)==(c[762]|0)){d=(c[759]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[762]=a+b;c[759]=n;return a|0}if((l|0)==(c[761]|0)){e=(c[758]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[758]=d;c[761]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();d=f+12|0;if((c[d>>2]|0)!=(l|0))Da();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Da()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3328+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(l|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Da()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Zj(a+b|0,n);return a|0}return 0}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[760]|0;if(n>>>0>>0)Da();if((n|0)==(c[761]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[758]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(n|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Da()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(n|0))Da();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Da()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3328+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[760]|0;if(l>>>0>>0)Da();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Da();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[760]|0;if(q>>>0>>0)Da();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[762]|0)){s=(c[759]|0)+h|0;c[759]=s;c[762]=t;c[t+4>>2]=s|1;if((t|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){s=(c[758]|0)+h|0;c[758]=s;c[761]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(q|0))Da();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Da()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3328+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(q|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Da()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[761]|0)){c[758]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=3064+(e<<2)|0;f=c[756]|0;d=1<>2]|0;if(e>>>0<(c[760]|0)>>>0)Da();else{r=d;s=e}}else{c[756]=f|d;r=3064+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3328+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[757]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[760]|0)>>>0)Da();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[760]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Da();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return} -function Ee(b,e,f,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=+q;r=r|0;var s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;T=i;i=i+240|0;x=T+224|0;w=T+216|0;C=T+208|0;B=T+200|0;s=T+136|0;N=T+72|0;P=T;Q=T+232|0;R=T+228|0;h[s>>3]=100.0;h[s+8>>3]=100.0;h[s+16>>3]=110.0;h[s+24>>3]=100.0;h[s+32>>3]=110.0;h[s+40>>3]=110.0;h[s+48>>3]=100.0;h[s+56>>3]=110.0;h[N>>3]=+h[p>>3];h[N+8>>3]=+h[p+8>>3];h[N+16>>3]=+h[p+16>>3];h[N+24>>3]=+h[p+24>>3];h[N+32>>3]=+h[p+32>>3];h[N+40>>3]=+h[p+40>>3];h[N+48>>3]=+h[p+48>>3];h[N+56>>3]=+h[p+56>>3];He(s,N,P);A=+h[N>>3];V=+h[N+16>>3];y=A-V;J=+h[N+8>>3];U=+h[N+24>>3];u=J-U;s=~~(y*y+u*u);u=+h[N+32>>3];y=+h[N+48>>3];X=u-y;v=+h[N+40>>3];z=+h[N+56>>3];W=v-z;N=~~(X*X+W*W);u=V-u;v=U-v;t=~~(u*u+v*v);A=y-A;J=z-J;O=~~(A*A+J*J);s=~~(+(((N|0)>(s|0)?N:s)|0)*q*q);t=~~(+(((O|0)>(t|0)?O:t)|0)*q*q);if(!b){p=f;while(1)if((p|0)<(j|0)&($(p,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s,s)|0)<(t|0))s=s<<1;else break}else{p=f;while(1)if((p|0)<(j|0)&($(p<<2,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s<<2,s)|0)<(t|0))s=s<<1;else break}O=(p|0)>(j|0)?j:p;M=(s|0)>(j|0)?j:s;L=(O|0)/(f|0)|0;K=(M|0)/(f|0)|0;u=(1.0-q)*.5*10.0;J=q*10.0;N=$(f,f)|0;a:do if(!e){I=N*3|0;p=Wj(I,4)|0;if(!p){Me(3,5472,B);rb(1)}do switch(n|0){case 0:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 1:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t+2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 2:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 3:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 4:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|3)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=d[k+(($(t,l)|0)+s)>>0]|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 6:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|3)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|1)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Z=$(t,l)|0;Y=(s&65534)+Z<<1;V=+((d[k+Y>>0]|0)+-128|0);X=+((d[k+(Y+2)>>0]|0)+-128|0);W=+((d[k+(Z+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;Z=~~(V*516.4110107421875+W)>>8;Y=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;t=~~(W+X*408.5830078125)>>8;Z=(Z|0)>0?Z:0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=((Z|0)<255?Z:255)+(c[s>>2]|0);Y=(Y|0)>0?Y:0;s=p+(b+1<<2)|0;c[s>>2]=((Y|0)<255?Y:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=p+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=$(t,l)|0;Y=(s&65534)+t<<1;V=+((d[k+(Y|1)>>0]|0)+-128|0);X=+((d[k+(Y+3)>>0]|0)+-128|0);W=+((d[k+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(W+V*516.4110107421875)>>8;t=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;Y=~~(W+X*408.5830078125)>>8;s=(s|0)>0?s:0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=p+(Z+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);Y=(Y|0)>0?Y:0;Z=p+(Z+2<<2)|0;c[Z>>2]=((Y|0)<255?Y:255)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<3&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&28|2)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<2&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&24|4)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(c[b>>2]|0)+((d[k+(Y|1)>>0]|0)&240|8);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<4&240|8)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&240|8)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}default:{Me(3,4615,C);S=278;break a}}while(0);t=$(K,L)|0;if(N){s=0;do{a[r+s>>0]=((c[p+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}while((s|0)<(I|0))}Vj(p);p=0}else{p=Wj(N,4)|0;if(!p){Me(3,5472,w);rb(1)}b:do if(n>>>0<2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=(($(t,l)|0)+s|0)*3|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y+1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y+2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}}else{if((n&-2|0)==2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y|2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}if((n&-3|0)==4){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|2)>>0]|0)+(d[k+(Y|1)>>0]|0)+(d[k+(Y|3)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}switch(n|0){case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<3&248|4)+(I&248|4)+(I<<5&224|Y>>>3&28|2)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<2&248|4)+(I&248|4)+(I<<5&224|Y>>>3&24|4)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((I<<4&240|8)+(I&240|8)+((d[k+(Y|1)>>0]|0)&240|8)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}default:{Me(3,4615,x);S=278;break a}}}while(0);s=$(K,L)|0;if(N){t=0;do{a[r+t>>0]=((c[p+(t<<2)>>2]|0)>>>0)/(s>>>0)|0;t=t+1|0}while((t|0)<(N|0))}Vj(p);p=0}while(0);if((S|0)==278){Vj(p);p=-1}i=T;return p|0}function Fe(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+32|0;p=v+24|0;o=v+8|0;u=v;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-1}else{c[o>>2]=0;t=e+-1|0;c[o+4>>2]=$(t,e)|0;r=$(e,e)|0;c[o+8>>2]=r+-1;c[o+12>>2]=t;n=a[b+(c[o>>2]|0)>>0]|0;m=(n&255)>0?n:0;n=(n&255)<255?n:-1;s=a[b+(c[o+4>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+8>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+12>>2]|0)>>0]|0;m=((s&255)>(m&255)?s:m)&255;n=((s&255)<(n&255)?s:n)&255;if((m-n|0)<30){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-2;break}q=(m+n|0)>>>1;a[p>>0]=(d[b+(c[o>>2]|0)>>0]|0)>>>0>>0&1;a[p+1>>0]=(d[b+(c[o+4>>2]|0)>>0]|0)>>>0>>0&1;a[p+2>>0]=(d[b+(c[o+8>>2]|0)>>0]|0)>>>0>>0&1;a[p+3>>0]=(d[b+(c[o+12>>2]|0)>>0]|0)>>>0>>0&1;n=0;while(1){m=n+1|0;if(((a[p+n>>0]|0)==1?(a[p+((m|0)%4|0)>>0]|0)==1:0)?(a[p+((n+2|0)%4|0)>>0]|0)==0:0){m=n;n=10;break}if((m|0)<4)n=m;else{n=12;break}}if((n|0)==10)c[g>>2]=m;else if((n|0)==12?(m|0)==4:0){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-3;break}if(!r)s=255;else{m=255;n=0;do{s=b+n|0;p=d[s>>0]|0;o=p-q|0;o=(o|0)<0?0-o|0:o;m=(o|0)<(m|0)?o:m;a[s>>0]=p>>>0>>0&1;n=n+1|0}while((n|0)<(r|0));s=m}switch(c[g>>2]|0){case 0:{if((e|0)>0){r=(e|0)==0;n=0;m=0;g=0;do{p=(g|0)==(t|0);q=$(g,e)|0;if(!r){o=0;do{if((o|g|0)!=0?!(p&((o|0)==0|(o|0)==(t|0))):0){n=fk(n|0,m|0,1)|0;n=(a[b+(o+q)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)!=(e|0))}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 1:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=0;do{p=(g|0)==0;q=(g|0)==(t|0);if(r){o=t;while(1){w=(o|0)==(t|0);if(!(p&w)?!(q&(w|(o|0)==0)):0){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 2:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){q=(g|0)==(t|0)|(g|0)==0;p=$(g,e)|0;if(r){o=t;while(1){if(!(q&(o|0)==(t|0)|(o|g|0)==0)){n=fk(n|0,m|0,1)|0;n=(a[b+(o+p)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}case 3:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){p=(g|0)==(t|0);q=(g|0)==0;if(r){o=0;do{if(!(p&(o|0)==0|(o|g|0)==0|q&(o|0)==(t|0))){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)<(e|0))}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}default:{n=0;m=0}}h[j>>3]=(s|0)>30?1.0:+(s|0)/30.0;switch(k|0){case 259:{w=a[4551+n>>0]|0;k=w<<24>>24;l=u;c[l>>2]=k;c[l+4>>2]=((k|0)<0)<<31>>31;if(w<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 515:{m=a[4423+n>>0]|0;k=m<<24>>24;w=u;c[w>>2]=k;c[w+4>>2]=((k|0)<0)<<31>>31;if(l)c[l>>2]=d[4487+n>>0];if(m<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 772:case 1028:{m=Ie(k,n,m,0,u)|0;if((m|0)<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}if((l|0)!=0&(m|0)>0)c[l>>2]=m;break}default:{w=u;c[w>>2]=n;c[w+4>>2]=m}}c[f>>2]=c[u>>2];m=0}while(0);i=v;return m|0}function Ge(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0;C=i;i=i+16|0;l=C+8|0;n=C;a:do if(!a){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;b=-1}else switch(b|0){case 0:{o=$(f,f)|0;z=o*3|0;A=Uj(o*12|0)|0;if(!A){Me(3,5472,n);rb(1)}if(!o)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!o)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/(+(f|0)*1.7320508)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+12|0;x=a+16|0;if((v|0)>0){u=c[a+8>>2]|0;s=(o|0)==0;n=-1;t=0;m=0.0;l=-1;b=-1;do{b:while(1){n=n+1|0;switch(c[u+(n<<2)>>2]|0){case 0:break;case 2:break b;default:{B=17;break b}}}if((B|0)==17){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(s)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}t=t+1|0}while((t|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}case 1:{z=$(f,f)|0;A=Uj(z<<2)|0;if(!A){Me(3,5472,l);rb(1)}if(!z)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!z)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/+(f|0)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+20|0;x=a+24|0;if((v|0)>0){s=c[a+8>>2]|0;t=(z|0)==0;n=-1;u=0;m=0.0;l=-1;b=-1;do{c:while(1){n=n+1|0;switch(c[s+(n<<2)>>2]|0){case 0:break;case 2:break c;default:{B=37;break c}}}if((B|0)==37){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(t)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}u=u+1|0}while((u|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}default:{b=-1;break a}}while(0);i=C;return b|0}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Re(8,8)|0;f=Re(8,1)|0;g=Re(8,1)|0;i=c[e>>2]|0;j=c[f>>2]|0;k=0;do{p=a+(k<<4)|0;l=k<<4;h[i+(l<<3)>>3]=+h[p>>3];o=a+(k<<4)+8|0;h[i+((l|1)<<3)>>3]=+h[o>>3];h[i+((l|2)<<3)>>3]=1.0;h[i+((l|3)<<3)>>3]=0.0;h[i+((l|4)<<3)>>3]=0.0;h[i+((l|5)<<3)>>3]=0.0;n=b+(k<<4)|0;h[i+((l|6)<<3)>>3]=-(+h[p>>3]*+h[n>>3]);h[i+((l|7)<<3)>>3]=-(+h[o>>3]*+h[n>>3]);h[i+((l|8)<<3)>>3]=0.0;h[i+((l|9)<<3)>>3]=0.0;h[i+((l|10)<<3)>>3]=0.0;h[i+((l|11)<<3)>>3]=+h[p>>3];h[i+((l|12)<<3)>>3]=+h[o>>3];h[i+((l|13)<<3)>>3]=1.0;m=b+(k<<4)+8|0;h[i+((l|14)<<3)>>3]=-(+h[p>>3]*+h[m>>3]);h[i+((l|15)<<3)>>3]=-(+h[o>>3]*+h[m>>3]);l=k<<1;h[j+(l<<3)>>3]=+h[n>>3];h[j+((l|1)<<3)>>3]=+h[m>>3];k=k+1|0}while((k|0)!=4);_e(e)|0;Xe(g,e,f)|0;p=c[g>>2]|0;h[d>>3]=+h[p>>3];h[d+8>>3]=+h[p+8>>3];h[d+16>>3]=+h[p+16>>3];p=c[g>>2]|0;h[d+24>>3]=+h[p+24>>3];h[d+32>>3]=+h[p+32>>3];h[d+40>>3]=+h[p+40>>3];p=c[g>>2]|0;h[d+48>>3]=+h[p+48>>3];h[d+56>>3]=+h[p+56>>3];h[d+64>>3]=1.0;We(e)|0;We(f)|0;We(g)|0;return}function Ie(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+2320|0;k=I+2304|0;y=I+864|0;u=I+784|0;H=I+704|0;w=I+624|0;v=I+548|0;G=I+40|0;E=I;switch(b|0){case 772:{g=9;j=1;l=3;break}case 1028:{g=5;j=2;l=3;break}case 2830:{A=900;s=1472;C=64;F=120;z=127;B=g;j=9;l=6;break}default:f=-1}if((l|0)==3){b=0;while(1){a[k+b>>0]=e&1;e=hk(e|0,f|0,1)|0;b=b+1|0;if((b|0)==13)break;else f=D}A=840;s=1408;C=g;F=13;z=15;B=k;l=6}do if((l|0)==6){r=j<<1;k=1;f=0;while(1){g=v+(k<<2)|0;c[g>>2]=0;b=0;e=0;do{if(a[B+e>>0]|0){b=b^c[A+((($(e,k)|0)%(z|0)|0)<<2)>>2];c[g>>2]=b}e=e+1|0}while((e|0)<(F|0));f=(b|0)==0?f:1;c[g>>2]=c[s+(b<<2)>>2];if((k|0)<(r|0))k=k+1|0;else break}x=(f|0)!=0;if(x){c[u>>2]=0;f=c[v+4>>2]|0;c[u+4>>2]=f;c[y>>2]=0;c[y+72>>2]=1;if((r|0)>1){b=1;do{c[y+(b<<2)>>2]=-1;c[y+72+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(r|0))}c[H>>2]=0;c[H+4>>2]=0;c[w>>2]=-1;c[w+4>>2]=0;p=0;q=0;while(1){g=q;q=q+1|0;o=u+(q<<2)|0;if((f|0)==-1){k=g+2|0;c[H+(k<<2)>>2]=p;if((p|0)<0)n=p;else{f=0;while(1){o=y+(q*72|0)+(f<<2)|0;n=c[o>>2]|0;c[y+(k*72|0)+(f<<2)>>2]=n;c[o>>2]=c[s+(n<<2)>>2];if((f|0)<(p|0))f=f+1|0;else{n=p;break}}}}else{b=g;while(1){f=(b|0)>0;if(f&(c[u+(b<<2)>>2]|0)==-1)b=b+-1|0;else break}if(f){e=b;do{f=e;e=e+-1|0;if((c[u+(e<<2)>>2]|0)!=-1)b=(c[w+(b<<2)>>2]|0)<(c[w+(e<<2)>>2]|0)?e:b}while((f|0)>1)}e=H+(b<<2)|0;m=q-b|0;n=m+(c[e>>2]|0)|0;k=g+2|0;n=(p|0)>(n|0)?p:n;c[H+(k<<2)>>2]=n;f=0;do{c[y+(k*72|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(r|0));f=c[e>>2]|0;e=u+(b<<2)|0;if((f|0)>=0){l=0;while(1){g=c[y+(b*72|0)+(l<<2)>>2]|0;if((g|0)!=-1)c[y+(k*72|0)+(m+l<<2)>>2]=c[A+(((g+z+(c[o>>2]|0)-(c[e>>2]|0)|0)%(z|0)|0)<<2)>>2];if((l|0)<(f|0))l=l+1|0;else break}}if((p|0)>=0){f=0;while(1){o=y+(q*72|0)+(f<<2)|0;m=c[o>>2]|0;l=y+(k*72|0)+(f<<2)|0;c[l>>2]=c[l>>2]^m;c[o>>2]=c[s+(m<<2)>>2];if((f|0)<(p|0))f=f+1|0;else break}}}c[w+(k<<2)>>2]=q-n;if((q|0)>=(r|0))break;f=c[v+(k<<2)>>2]|0;if((f|0)==-1)f=0;else f=c[A+(f<<2)>>2]|0;g=u+(k<<2)|0;c[g>>2]=f;if((n|0)>=1){e=1;while(1){b=c[v+(k-e<<2)>>2]|0;if((b|0)!=-1?(t=c[y+(k*72|0)+(e<<2)>>2]|0,(t|0)!=0):0){f=f^c[A+((((c[s+(t<<2)>>2]|0)+b|0)%(z|0)|0)<<2)>>2];c[g>>2]=f}if((e|0)<(n|0))e=e+1|0;else break}}f=c[s+(f<<2)>>2]|0;c[g>>2]=f;if((n|0)>(j|0))break;else p=n}if((n|0)>(j|0)){f=-1;break}if((n|0)>=0){f=0;while(1){w=y+(k*72|0)+(f<<2)|0;c[w>>2]=c[s+(c[w>>2]<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}if((n|0)>=1){f=1;while(1){c[E+(f<<2)>>2]=c[y+(k*72|0)+(f<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}l=(n|0)<1;f=0;m=1;do{if(l)b=1;else{j=1;b=1;while(1){e=E+(j<<2)|0;g=c[e>>2]|0;if((g|0)!=-1){y=(g+j|0)%(z|0)|0;c[e>>2]=y;b=c[A+(y<<2)>>2]^b}if((j|0)<(n|0))j=j+1|0;else break}}if(!b){c[G+(f<<2)>>2]=z-m;f=f+1|0}m=m+1|0}while((z|0)>=(m|0));if((f|0)!=(n|0)){f=-1;break}if((n|0)>0){f=0;do{E=B+(c[G+(f<<2)>>2]|0)|0;a[E>>0]=d[E>>0]^1;f=f+1|0}while((f|0)<(n|0))}}else k=0;b=h;c[b>>2]=0;c[b+4>>2]=0;b=1;e=0;g=0;j=0;f=F-C|0;while(1){G=ok(d[B+f>>0]|0,0,b|0,e|0)|0;g=gk(G|0,D|0,g|0,j|0)|0;j=D;G=h;c[G>>2]=g;c[G+4>>2]=j;b=fk(b|0,e|0,1)|0;f=f+1|0;if((f|0)>=(F|0))break;else e=D}if(x)f=c[H+(k<<2)>>2]|0;else f=0}while(0);i=I;return f|0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=i;i=i+32|0;z=A+24|0;g=A+16|0;d=A+8|0;do if(a){if(!b){Me(3,4674,d);d=-1;break}y=a+8|0;f=c[a+4>>2]|0;a:do if((f|0)>0){e=c[y>>2]|0;d=0;do{if(!(c[e+(d<<2)>>2]|0))break a;d=d+1|0}while((d|0)<(f|0))}else d=0;while(0);if((d|0)!=(f|0)){x=Aj(b)|0;if(!x){Me(3,4719,g);d=-1;break}r=a+28|0;s=d<<2;t=a+12|0;u=a+20|0;v=a+16|0;w=a+24|0;f=Gj(x,4742)|0;e=0;b:while(1){q=e+s|0;p=0;b=0;do{n=(p|0)==0;o=(p|0)==2;g=c[r>>2]|0;if((g|0)>0){m=0;do{if((g|0)>0){l=0;do{if(!f){e=17;break b}g=qj(f)|0;f=Gj(0,4742)|0;g=255-g|0;k=((($(c[r>>2]|0,m)|0)+l|0)*3|0)+p|0;c[(c[(c[t>>2]|0)+(q<<2)>>2]|0)+(k<<2)>>2]=g;k=($(c[r>>2]|0,m)|0)+l|0;j=c[(c[u>>2]|0)+(q<<2)>>2]|0;k=j+(k<<2)|0;if(!n){c[k>>2]=(c[k>>2]|0)+g;if(o){k=j+(($(c[r>>2]|0,m)|0)+l<<2)|0;c[k>>2]=(c[k>>2]|0)/3|0}}else c[k>>2]=g;b=g+b|0;l=l+1|0;g=c[r>>2]|0}while((l|0)<(g|0))}m=m+1|0}while((m|0)<(g|0))}p=p+1|0}while((p|0)<3);g=c[r>>2]|0;l=(b|0)/($(g*3|0,g)|0)|0;if(($(g*3|0,g)|0)>0){j=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=0;b=0;do{p=j+(k<<2)|0;g=(c[p>>2]|0)-l|0;c[p>>2]=g;b=($(g,g)|0)+b|0;k=k+1|0;g=c[r>>2]|0}while((k|0)<($(g*3|0,g)|0))}else b=0;B=+P(+(+(b|0)));h[(c[v>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;if(!($(g,g)|0))b=0;else{g=c[(c[u>>2]|0)+(q<<2)>>2]|0;j=0;b=0;do{o=g+(j<<2)|0;p=(c[o>>2]|0)-l|0;c[o>>2]=p;b=($(p,p)|0)+b|0;j=j+1|0;p=c[r>>2]|0}while((j|0)<($(p,p)|0))}B=+P(+(+(b|0)));h[(c[w>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;e=e+1|0;if((e|0)>=4){e=32;break}}if((e|0)==17){Me(3,4747,z);Vj(x);d=-1;break}else if((e|0)==32){Vj(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Me(3,4649,A);d=-1}while(0);i=A;return d|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;h=k+8|0;e=k;g=_i(d,4854)|0;do if(g){dj(g,0,2)|0;e=gj(g)|0;dj(g,0,0)|0;f=Uj(e+1|0)|0;if(!f){Me(3,5472,h);Wi(g)|0;e=-1;break}h=aj(f,e,1,g)|0;Wi(g)|0;if(!h){c[j>>2]=d;Me(3,4820,j);Vj(f);e=-1;break}else{a[f+e>>0]=0;e=Je(b,f)|0;Vj(f);break}}else{c[e>>2]=d;Me(3,4774,e);e=-1}while(0);i=k;return e|0}function Le(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;f=j;c[h>>2]=0;if(((d|0)!=0&(c[496]|0)<=(b|0)?(a[d>>0]|0)!=0:0)?(c[f>>2]=e,g=lj(h,d,f)|0,(g|0)>-1):0){f=c[497]|0;do if(f){if(!(c[498]|0)){Wb[f&15](c[h>>2]|0);break}e=gb()|0;b=c[500]|0;if((e|0)==(c[499]|0)){if((b|0)>0){Wb[f&15](c[502]|0);c[500]=0;f=c[497]|0}Wb[f&15](c[h>>2]|0);break}f=c[501]|0;if((b|0)<(f|0)){d=(c[502]|0)+b|0;if((g|0)<(-3-b+f|0)){yj(d,c[h>>2]|0)|0;c[500]=(c[500]|0)+g;break}else{a[d>>0]=46;a[d+1>>0]=46;a[d+2>>0]=46;a[d+3>>0]=0;c[500]=c[501];break}}}else $i(c[h>>2]|0,c[659]|0)|0;while(0);Vj(c[h>>2]|0)}i=j;return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;i=0;do{d=a+(i<<5)|0;e=a+(i<<5)+8|0;f=a+(i<<5)+16|0;g=0;do{h[c+(i<<5)+(g<<3)>>3]=+h[d>>3]*+h[b+(g<<3)>>3]+ +h[e>>3]*+h[b+32+(g<<3)>>3]+ +h[f>>3]*+h[b+64+(g<<3)>>3];g=g+1|0}while((g|0)!=4);g=c+(i<<5)+24|0;h[g>>3]=+h[a+(i<<5)+24>>3]+ +h[g>>3];i=i+1|0}while((i|0)!=3);return 0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Re(4,4)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[d+(k<<3)>>3]=+h[a+(i<<5)>>3];h[e+(1+k<<3)>>3]=+h[a+(i<<5)+8>>3];h[f+(2+k<<3)>>3]=+h[a+(i<<5)+16>>3];h[g+(3+k<<3)>>3]=+h[a+(i<<5)+24>>3];i=i+1|0}while((i|0)!=3);d=c[j>>2]|0;e=d+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[d+120>>3]=1.0;_e(j)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[b+(i<<5)>>3]=+h[d+(k<<3)>>3];h[b+(i<<5)+8>>3]=+h[e+(1+k<<3)>>3];h[b+(i<<5)+16>>3]=+h[f+(2+k<<3)>>3];h[b+(i<<5)+24>>3]=+h[g+(3+k<<3)>>3];i=i+1|0}while((i|0)!=3);We(j)|0;return 0}function Pe(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Qe(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Ej(c,47)|0;if(!f){a[b>>0]=0;break}f=f+((e|0)!=0&1)-c|0;if((f+1|0)>>>0<=d>>>0){Dj(b,c,f)|0;a[b+f>>0]=0}else b=0}else b=0;while(0);return b|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0;d=Uj(12)|0;do if(d){e=Uj($(a<<3,b)|0)|0;c[d>>2]=e;if(!e){Vj(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Se(a){a=a|0;var b=0;b=Re(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Ve(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Te(a,b){a=a|0;b=b|0;var d=0;d=Re(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Xe(d,a,b)|0)<0){We(d)|0;d=0}}else d=0;return d|0}function Ue(a){a=a|0;var b=0;b=Re(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($e(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;d=c[a+4>>2]|0;if((d|0)==(c[b+4>>2]|0)?(j=c[a+8>>2]|0,(j|0)==(c[b+8>>2]|0)):0)if((d|0)>0){e=(j|0)>0;l=0;do{f=$(j,l)|0;if(e){g=c[b>>2]|0;i=c[a>>2]|0;k=0;do{m=f+k|0;h[i+(m<<3)>>3]=+h[g+(m<<3)>>3];k=k+1|0}while((k|0)<(j|0))}l=l+1|0}while((l|0)<(d|0));d=0}else d=0;else d=-1;return d|0}function We(a){a=a|0;if(a){Vj(c[a>>2]|0);Vj(a)}return 0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+8>>2]|0;if(((n|0)==(c[d+4>>2]|0)?(r=c[a+4>>2]|0,(r|0)==(c[b+4>>2]|0)):0)?(o=c[a+8>>2]|0,(o|0)==(c[d+8>>2]|0)):0){s=(o|0)>0?o:0;if((r|0)>0){p=(o|0)>0;q=(n|0)>0;k=c[a>>2]|0;m=0;while(1){a=$(n,m)|0;if(p){f=0;l=k;while(1){h[l>>3]=0.0;if(q){e=0.0;g=0;i=(c[b>>2]|0)+(a<<3)|0;j=(c[d>>2]|0)+(f<<3)|0;while(1){e=e+ +h[i>>3]*+h[j>>3];h[l>>3]=e;g=g+1|0;if((g|0)>=(n|0))break;else{i=i+8|0;j=j+(o<<3)|0}}}f=f+1|0;if((f|0)>=(o|0))break;else l=l+8|0}}m=m+1|0;if((m|0)>=(r|0)){a=0;break}else k=k+(s<<3)|0}}else a=0}else a=-1;return a|0}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0;q=c[a+4>>2]|0;s=c[a+8>>2]|0;f=(q|0)<(s|0)?q:s;a:do if(((((!((q|0)<2|(s|0)<2)?(c[b+8>>2]|0)==(s|0):0)?(c[b+4>>2]|0)==(f|0):0)?(t=d+4|0,(c[t>>2]|0)==(f|0)):0)?(g=e+4|0,(c[g>>2]|0)==(s|0)):0)?(u=Se(a)|0,(u|0)!=0):0){r=+P(+(+(q|0)));o=c[u+4>>2]|0;p=c[u+8>>2]|0;if(!((o|0)<1|(p|0)<1)?(c[g>>2]|0)==(p|0):0){if(p){f=c[e>>2]|0;a=0;do{h[f+(a<<3)>>3]=0.0;a=a+1|0}while((a|0)!=(p|0))}n=c[u>>2]|0;if(o){f=(p|0)==0;a=0;j=n;while(1){if(!f){g=0;k=j;l=c[e>>2]|0;while(1){h[l>>3]=+h[k>>3]+ +h[l>>3];g=g+1|0;if((g|0)==(p|0))break;else{k=k+8|0;l=l+8|0}}}a=a+1|0;if((a|0)==(o|0))break;else j=j+(p<<3)|0}}i=+(o|0);if(p){f=c[e>>2]|0;a=0;do{m=f+(a<<3)|0;h[m>>3]=+h[m>>3]/i;a=a+1|0}while((a|0)!=(p|0))}l=(p|0)>0?p:0;if((o|0)>0){f=(p|0)>0;a=0;j=n;while(1){if(f){g=0;k=j;m=c[e>>2]|0;while(1){h[k>>3]=+h[k>>3]-+h[m>>3];g=g+1|0;if((g|0)>=(p|0))break;else{k=k+8|0;m=m+8|0}}}a=a+1|0;if((a|0)>=(o|0))break;else j=j+(l<<3)|0}}f=$(s,q)|0;if((f|0)>0){a=0;do{e=n+(a<<3)|0;h[e>>3]=+h[e>>3]/r;a=a+1|0}while((a|0)<(f|0))}f=Ze(u,b,d)|0;We(u)|0;j=c[t>>2]|0;if((j|0)>0){a=c[d>>2]|0;g=0;i=0.0;do{i=i+ +h[a+(g<<3)>>3];g=g+1|0}while((g|0)<(j|0))}else i=0.0;if((j|0)<=0)break;a=c[d>>2]|0;g=0;while(1){d=a+(g<<3)|0;h[d>>3]=+h[d>>3]/i;g=g+1|0;if((g|0)>=(j|0))break a}}We(u)|0;f=-1}else f=-1;while(0);return f|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;U=i;i=i+16|0;w=U;F=a+4|0;I=c[F>>2]|0;J=a+8|0;K=c[J>>2]|0;S=(K|0)<(I|0)?K:I;a:do if(((!((I|0)<2|(K|0)<2)?(R=b+8|0,(c[R>>2]|0)==(K|0)):0)?(L=b+4|0,(c[L>>2]|0)==(S|0)):0)?(M=d+4|0,(c[M>>2]|0)==(S|0)):0){T=Re(S,S)|0;N=T+4|0;if((c[N>>2]|0)==(S|0)?(Q=T+8|0,(c[Q>>2]|0)==(S|0)):0){G=(I|0)<(K|0);s=c[F>>2]|0;t=c[J>>2]|0;if(G){if((S|0)!=(s|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){m=(S|0)==0;j=(t|0)>0;n=0;r=g;while(1){l=$(n,t)|0;if(!m){p=0;s=r;while(1){if((p|0)>=(n|0)){e=c[a>>2]|0;h[s>>3]=0.0;if(j){k=0.0;o=e+(l<<3)|0;e=e+(($(p,t)|0)<<3)|0;f=0;while(1){k=k+ +h[o>>3]*+h[e>>3];h[s>>3]=k;f=f+1|0;if((f|0)>=(t|0))break;else{o=o+8|0;e=e+8|0}}}}else h[s>>3]=+h[g+(($(p,S)|0)+n<<3)>>3];p=p+1|0;if((p|0)==(S|0))break;else s=s+8|0}}n=n+1|0;if((n|0)>=(S|0))break;else r=r+(S<<3)|0}}}else{if((S|0)!=(t|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){l=(S|0)==0;j=(s|0)>0;m=0;p=g;while(1){if(!l){o=0;r=p;while(1){if((o|0)>=(m|0)){e=c[a>>2]|0;h[r>>3]=0.0;if(j){k=0.0;n=e+(m<<3)|0;e=e+(o<<3)|0;f=0;while(1){k=k+ +h[n>>3]*+h[e>>3];h[r>>3]=k;f=f+1|0;if((f|0)>=(s|0))break;else{n=n+(S<<3)|0;e=e+(S<<3)|0}}}}else h[r>>3]=+h[g+(($(o,S)|0)+m<<3)>>3];o=o+1|0;if((o|0)==(S|0))break;else r=r+8|0}}m=m+1|0;if((m|0)>=(S|0))break;else p=p+(S<<3)|0}}}do if(((S|0)>=2?(c[M>>2]|0)==(S|0):0)?(H=nf(S)|0,(H|0)!=0):0){E=S+-1|0;c[w+4>>2]=E;c[w>>2]=(c[H>>2]|0)+8;if((rf(T,d,w)|0)<0){of(H)|0;break}B=c[H>>2]|0;h[B>>3]=0.0;if((E|0)>0){C=(S|0)==0;D=E;do{f=D;while(1){if((f|0)<=0)break;v=+O(+(+h[B+(f<<3)>>3]));e=f+-1|0;A=c[d>>2]|0;x=+O(+(+h[A+(e<<3)>>3]));if(v>(x+ +O(+(+h[A+(f<<3)>>3])))*1.0e-06)f=e;else break}y=D;D=D+-1|0;b:do if((f|0)!=(y|0)){o=B+(y<<3)|0;p=B+(f+1<<3)|0;r=(f|0)<(y|0);z=0;do{if((z|0)>99)break b;z=z+1|0;s=c[d>>2]|0;t=s+(D<<3)|0;w=s+(y<<3)|0;k=+h[w>>3];q=(+h[t>>3]-k)*.5;u=+h[o>>3];u=u*u;v=+P(+(u+q*q));if(r){A=f;q=+h[s+(f<<3)>>3]-k+u/(q+(q<0.0?-v:v));u=+h[p>>3];while(1){k=+O(+q);do if(!(k>=+O(+u))){v=-q/u;x=1.0/+P(+(v*v+1.0));v=v*x}else{if(!(k>1.0e-16)){v=1.0;x=0.0;break}k=-u/q;x=1.0/+P(+(k*k+1.0));v=x;x=k*x}while(0);j=s+(A<<3)|0;X=+h[j>>3];n=A;A=A+1|0;l=s+(A<<3)|0;W=+h[l>>3];k=X-W;m=B+(A<<3)|0;V=x*(x*k+v*2.0*+h[m>>3]);h[j>>3]=X-V;h[l>>3]=W+V;if((n|0)>(f|0)){l=B+(n<<3)|0;h[l>>3]=v*+h[l>>3]-u*x}X=+h[m>>3];h[m>>3]=X+x*(v*k-x*2.0*X);j=$(n,S)|0;l=$(A,S)|0;if(C)k=u;else{e=c[T>>2]|0;g=0;do{Z=e+(g+j<<3)|0;q=+h[Z>>3];Y=e+(g+l<<3)|0;k=+h[Y>>3];h[Z>>3]=v*q-x*k;h[Y>>3]=x*q+v*k;g=g+1|0}while((g|0)!=(S|0))}if((n|0)<(D|0)){q=+h[m>>3];Z=B+(n+2<<3)|0;k=+h[Z>>3];h[Z>>3]=v*k;k=-(x*k)}if((A|0)>=(y|0))break;else u=k}}W=+O(+(+h[o>>3]));X=+O(+(+h[t>>3]))}while(W>(X+ +O(+(+h[w>>3])))*1.0e-06)}while(0)}while((y|0)>1)}if(E){l=c[d>>2]|0;m=c[T>>2]|0;n=(S|0)==0;o=0;do{g=l+(o<<3)|0;q=+h[g>>3];j=o;o=o+1|0;if((o|0)<(S|0)){e=j;f=o;k=q;do{X=+h[l+(f<<3)>>3];Z=X>k;k=Z?X:k;e=Z?f:e;f=f+1|0}while((f|0)<(S|0))}else{e=j;k=q}h[l+(e<<3)>>3]=q;h[g>>3]=k;if(!n){g=0;f=m+(($(e,S)|0)<<3)|0;e=m+(($(j,S)|0)<<3)|0;while(1){X=+h[f>>3];h[f>>3]=+h[e>>3];h[e>>3]=X;g=g+1|0;if((g|0)==(S|0))break;else{f=f+8|0;e=e+8|0}}}}while((o|0)!=(E|0))}of(H)|0;c:do if(!G){g=c[b>>2]|0;p=(I|0)>(K|0)?K:I;d:do if((S|0)>0){m=c[d>>2]|0;n=(p|0)==0;e=0;o=c[T>>2]|0;do{if(+h[m+(e<<3)>>3]<1.0e-16)break d;if(!n){f=0;j=o;l=g;while(1){h[l>>3]=+h[j>>3];f=f+1|0;if((f|0)==(p|0))break;else{j=j+8|0;l=l+8|0}}}o=o+(p<<3)|0;g=g+(p<<3)|0;e=e+1|0}while((e|0)<(S|0))}else e=0;while(0);n=(p|0)>0?p:0;if((e|0)<(S|0)){l=c[d>>2]|0;m=(S|0)>0;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(S|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(S|0))break;else g=g+(n<<3)|0}}}else{w=c[F>>2]|0;t=c[J>>2]|0;do if(!((w|0)<1|(t|0)<1)){if((c[N>>2]|0)!=(w|0))break;if((c[Q>>2]|0)!=(w|0))break;if((c[L>>2]|0)!=(w|0))break;if((c[R>>2]|0)!=(t|0))break;if((c[M>>2]|0)!=(w|0))break;f=c[b>>2]|0;e:do if((w|0)>0){p=c[d>>2]|0;s=(t|0)==0;r=(w|0)==0;e=0;do{k=+h[p+(e<<3)>>3];if(k<1.0e-16)break e;q=1.0/+P(+(+O(+k)));m=$(e,w)|0;if(!s){n=0;o=f;while(1){if(r)k=0.0;else{g=0;j=(c[T>>2]|0)+(m<<3)|0;l=(c[a>>2]|0)+(n<<3)|0;k=0.0;while(1){k=k+ +h[j>>3]*+h[l>>3];g=g+1|0;if((g|0)==(w|0))break;else{j=j+8|0;l=l+(t<<3)|0}}}h[o>>3]=q*k;n=n+1|0;if((n|0)==(t|0))break;else o=o+8|0}}f=f+(t<<3)|0;e=e+1|0}while((e|0)<(w|0))}else e=0;while(0);n=(t|0)>0?t:0;if((e|0)>=(w|0))break c;l=c[d>>2]|0;m=(t|0)>0;g=f;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(t|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(w|0))break c;else g=g+(n<<3)|0}}while(0);We(T)|0;e=-1;break a}while(0);We(T)|0;e=0;break a}while(0);We(T)|0;e=-1;break}We(T)|0;e=-1}else e=-1;while(0);i=U;return e|0}function _e(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;v=i;i=i+2e3|0;u=v;b=c[a>>2]|0;t=c[a+4>>2]|0;a:do if((t|0)<=500){switch(t|0){case 0:{b=0;break a}case 1:{h[b>>3]=1.0/+h[b>>3];break a}default:{}}if((t|0)>0){a=0;do{c[u+(a<<2)>>2]=a;a=a+1|0}while((a|0)<(t|0))}s=b+(t+-1<<3)|0;if((t|0)>0){m=(t|0)==0;p=(t|0)==1;o=(t|0)==0;n=(t|0)==1;q=s;a=0;r=0;while(1){l=b+(($(r,t)|0)<<3)|0;if((r|0)<(t|0)){e=r;f=0.0;d=l;while(1){w=+O(+(+h[d>>3]));k=f=(t|0))break;else d=d+(t<<3)|0}}else f=0.0;if(f<=1.0e-10){b=0;break a}g=u+(a<<2)|0;j=c[g>>2]|0;k=u+(r<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;if(!m){d=0;e=b+(($(a,t)|0)<<3)|0;g=l;while(1){w=+h[e>>3];h[e>>3]=+h[g>>3];h[g>>3]=w;d=d+1|0;if((d|0)==(t|0))break;else{e=e+8|0;g=g+8|0}}}f=+h[l>>3];if(!p){d=1;e=l;do{k=e;e=e+8|0;h[k>>3]=+h[e>>3]/f;d=d+1|0}while((d|0)!=(t|0))}h[q>>3]=1.0/f;if(!o){g=0;j=s;while(1){if((g|0)!=(r|0)){d=b+(($(g,t)|0)<<3)|0;f=+h[d>>3];if(!n){k=1;e=l;while(1){x=d;d=d+8|0;h[x>>3]=+h[d>>3]-f*+h[e>>3];k=k+1|0;if((k|0)==(t|0))break;else e=e+8|0}}h[j>>3]=-(f*+h[q>>3])}g=g+1|0;if((g|0)==(t|0))break;else j=j+(t<<3)|0}}r=r+1|0;if((r|0)>=(t|0))break;else q=q+(t<<3)|0}}if((t|0)>0){g=(t|0)>0;j=0;do{a=u+(j<<2)|0;b:do if((j|0)<(t|0)){d=j;do{if((c[a>>2]|0)==(j|0))break b;d=d+1|0;a=u+(d<<2)|0}while((d|0)<(t|0))}else d=j;while(0);c[a>>2]=c[u+(j<<2)>>2];if(g){e=0;a=b+(d<<3)|0;d=b+(j<<3)|0;while(1){w=+h[a>>3];h[a>>3]=+h[d>>3];h[d>>3]=w;e=e+1|0;if((e|0)>=(t|0))break;else{a=a+(t<<3)|0;d=d+(t<<3)|0}}}j=j+1|0}while((j|0)<(t|0))}}else b=0;while(0);i=v;return ((b|0)==0)<<31>>31|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(k=c[a+8>>2]|0,(k|0)==(c[b+4>>2]|0)):0){l=(k|0)>0?k:0;if((i|0)>0){j=(k|0)>0;e=c[a>>2]|0;g=0;while(1){if(j){a=0;d=(c[b>>2]|0)+(g<<3)|0;f=e;while(1){h[f>>3]=+h[d>>3];a=a+1|0;if((a|0)>=(k|0))break;else{d=d+(i<<3)|0;f=f+8|0}}}g=g+1|0;if((g|0)>=(i|0)){a=0;break}else e=e+(l<<3)|0}}else a=0}else a=-1;return a|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0;f=+(b|0)/+(c[a>>2]|0);g=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;do{h[e+8+(b<<3)>>3]=f*+h[a+8+(b<<3)>>3];h[e+40+(b<<3)>>3]=g*+h[a+40+(b<<3)>>3];h[e+72+(b<<3)>>3]=+h[a+72+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=c[a+176>>2]|0;switch(b|0){case 4:{h[e+104>>3]=+h[a+104>>3];h[e+112>>3]=+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=f*+h[a+136>>3];h[e+144>>3]=g*+h[a+144>>3];h[e+152>>3]=f*+h[a+152>>3];h[e+160>>3]=g*+h[a+160>>3];h[e+168>>3]=+h[a+168>>3];i=8;break}case 3:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=+h[a+136>>3]/(f*g);h[e+144>>3]=+h[a+144>>3]/(g*(f*f*g));i=8;break}case 2:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);h[e+136>>3]=+h[a+136>>3]/(g*(f*f*g));i=8;break}case 1:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);i=8;break}default:b=-1}if((i|0)==8){c[e+176>>2]=b;b=0}return b|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0.0;f=i;i=i+96|0;e=f;if(!(+h[a+88>>3]>=0.0)){d=0;do{h[e+(d<<5)>>3]=-+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=-+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=-+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=-+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}else{d=0;do{h[e+(d<<5)>>3]=+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}h[b>>3]=0.0;h[b+8>>3]=0.0;h[b+16>>3]=0.0;h[b+24>>3]=0.0;h[b+32>>3]=0.0;h[b+40>>3]=0.0;h[b+48>>3]=0.0;h[b+56>>3]=0.0;h[b+64>>3]=0.0;h[b+72>>3]=0.0;h[b+80>>3]=0.0;h[b+88>>3]=0.0;g=+h[e+64>>3];o=+h[e+72>>3];p=+h[e+80>>3];x=+P(+(g*g+o*o+p*p));a=b+80|0;h[a>>3]=x;x=g/x;v=c+64|0;h[v>>3]=x;o=o/+h[a>>3];t=c+72|0;h[t>>3]=o;p=p/+h[a>>3];q=c+80|0;h[q>>3]=p;n=c+88|0;h[n>>3]=+h[e+88>>3]/+h[a>>3];g=+h[e+32>>3];k=+h[e+40>>3];s=+h[e+48>>3];p=x*g+o*k+p*s;m=b+48|0;h[m>>3]=p;g=g-p*+h[v>>3];k=k-p*+h[t>>3];p=s-p*+h[q>>3];s=+P(+(g*g+k*k+p*p));l=b+40|0;h[l>>3]=s;w=c+32|0;h[w>>3]=g/s;u=c+40|0;h[u>>3]=k/+h[l>>3];r=c+48|0;h[r>>3]=p/+h[l>>3];p=+h[e>>3];k=+h[e+8>>3];s=+h[e+16>>3];g=+h[v>>3]*p+ +h[t>>3]*k+ +h[q>>3]*s;d=b+16|0;h[d>>3]=g;o=+h[w>>3]*p+ +h[u>>3]*k+ +h[r>>3]*s;j=b+8|0;h[j>>3]=o;p=p-o*+h[w>>3]-g*+h[v>>3];k=k-o*+h[u>>3]-g*+h[t>>3];g=s-o*+h[r>>3]-g*+h[q>>3];o=+P(+(p*p+k*k+g*g));h[b>>3]=o;h[c>>3]=p/o;h[c+8>>3]=k/+h[b>>3];h[c+16>>3]=g/+h[b>>3];g=+h[n>>3];k=(+h[e+56>>3]-+h[m>>3]*g)/+h[l>>3];h[c+56>>3]=k;h[c+24>>3]=(+h[e+24>>3]-k*+h[j>>3]-+h[d>>3]*g)/+h[b>>3];d=0;do{w=b+(d<<5)|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+8|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+16|0;h[w>>3]=+h[w>>3]/+h[a>>3];d=d+1|0}while((d|0)!=3);i=f;return 0}function cf(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;switch(f|0){case 4:{q=+h[a>>3];r=+h[a+8>>3];s=+h[a+16>>3];t=+h[a+24>>3];y=+h[a+32>>3];v=+h[a+40>>3];w=+h[a+48>>3];x=+h[a+56>>3];u=+h[a+64>>3];p=(b-w)/y;j=(c-x)/v;c=p*p;i=j*j;k=s*2.0;l=t*6.0;m=t*2.0;n=s*6.0;a:do if(i!=0.0|c!=0.0){f=1;g=p;b=j;while(1){C=i+c;B=q*C+1.0+C*(r*C);z=c*3.0;A=i*z;g=g-(t*(C+c*2.0)+(b*(k*g)+g*B)-p)/(l*g+(k*b+(q*(i+z)+1.0+r*(i*i+(c*(c*5.0)+A)))));z=m*g;b=b-(s*(i*2.0+C)+b*B+b*z-j)/(n*b+(q*(c+i*3.0)+1.0+r*(i*(i*5.0)+(c*c+A)))+z);if((f|0)==4)break a;c=g*g;i=b*b;if(!(i!=0.0|c!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);h[d>>3]=w+y*g/u;h[e>>3]=x+v*b/u;f=0;break}case 3:{p=+h[a>>3];g=(b-p)/+h[a+24>>3];o=a+8|0;b=c-+h[o>>3];j=+h[a+32>>3]/1.0e8;k=+h[a+40>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;b:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break b;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 2:{p=+h[a>>3];g=b-p;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;k=+h[a+32>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;c:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break c;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 1:{m=+h[a>>3];g=b-m;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;c=g*g+b*b;k=+P(+c);l=j*3.0;d:do if(k!=0.0){f=1;i=k;while(1){C=i-(i*(1.0-j*c)-k)/(1.0-l*c);g=g*C/i;b=b*C/i;if((f|0)==3)break d;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+m;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}default:f=-1}return f|0}function df(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;switch(f|0){case 4:{j=+h[a+16>>3];k=+h[a+24>>3];n=+h[a+32>>3];l=+h[a+40>>3];o=+h[a+48>>3];m=+h[a+56>>3];i=+h[a+64>>3];b=(b-o)*i/n;i=(c-m)*i/l;g=b*b+i*i;c=+h[a>>3]*g+1.0+g*(+h[a+8>>3]*g);h[d>>3]=o+n*(k*(b*(b*2.0)+g)+(j*2.0*b*i+b*c));h[e>>3]=m+l*(k*2.0*b*i+(j*(g+i*(i*2.0))+i*c));f=0;break}case 3:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+32>>3]/1.0e8)-o*(o*(+h[a+40>>3]/1.0e8/1.0e5));h[d>>3]=i+ +h[a+24>>3]*(g*o);b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 2:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+24>>3]/1.0e8)-o*(o*(+h[a+32>>3]/1.0e8/1.0e5));h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 1:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=1.0-(g*g+b*b)*(+h[a+24>>3]/1.0e8);h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}default:f=-1}return f|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+256|0;n=s+232|0;m=s+224|0;l=s+216|0;k=s+208|0;j=s+200|0;g=s+192|0;f=s+184|0;p=s+240|0;q=s;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=_i(a,4854)|0;if(!r){r=qi()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Me(3,4857,f);a=ri(c[r>>2]|0)|0;c[g>>2]=5367;c[g+4>>2]=a;Me(3,5361,g);a=-1;break}dj(r,0,2)|0;a:do if(!(Xi(r)|0)){g=gj(r)|0;jj(r);a=0;do{if((a|0)>=4){o=9;break}f=c[2012+(a<<3)+4>>2]|0;a=a+1|0}while(((g|0)%(f|0)|0|0)!=0);do if((o|0)==9)if((a|0)==4){Me(3,4971,l);a=-1;break a}else{f=c[2012+(0<<3)+4>>2]|0;a=0;break}while(0);if((aj(q,f,1,r)|0)!=1){a=qi()|0;c[m>>2]=c[a>>2];Me(3,5051,m);a=ri(c[a>>2]|0)|0;c[n>>2]=5367;c[n+4>>2]=a;Me(3,5361,n);a=-1;break}l=q+176|0;c[l>>2]=a;ff(q);m=(a|0)==1;n=q+120|0;if(m){t=+h[n>>3];k=q+128|0;h[n>>3]=+h[k>>3];h[k>>3]=t}else k=q+128|0;ik(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;if((b|0)>1){j=1;while(1){e=(c[p>>2]|0)+(4-1)&~(4-1);g=c[e>>2]|0;c[p>>2]=e+4;c[g+176>>2]=c[f>>2];if((aj(q,c[2012+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[l>>2]=a;ff(q);if(m){t=+h[n>>3];h[n>>3]=+h[k>>3];h[k>>3]=t}ik(g|0,q|0,184)|0;j=j+1|0;if((j|0)>=(b|0)){a=0;break}}}else a=0}else{a=qi()|0;c[j>>2]=c[a>>2];Me(3,4926,j);a=ri(c[a>>2]|0)|0;c[k>>2]=5367;c[k+4>>2]=a;Me(3,5361,k);a=-1}while(0);Wi(r)|0}else a=-1;while(0);i=s;return a|0}function ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+192|0;f=g;hf(a,f);hf(a+4|0,f+4|0);b=0;do{gf(a+8+(b<<5)|0,f+8+(b<<5)|0);gf(a+8+(b<<5)+8|0,f+8+(b<<5)+8|0);gf(a+8+(b<<5)+16|0,f+8+(b<<5)+16|0);gf(a+8+(b<<5)+24|0,f+8+(b<<5)+24|0);b=b+1|0}while((b|0)!=3);d=a+176|0;e=0;do{gf(a+104+(e<<3)|0,f+104+(e<<3)|0);e=e+1|0;b=c[d>>2]|0}while((e|0)<(c[2012+(b+-1<<3)>>2]|0));c[f+176>>2]=b;ik(a|0,f|0,184)|0;i=g;return}function gf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+7>>0]|0;a[c+1>>0]=a[b+6>>0]|0;a[c+2>>0]=a[b+5>>0]|0;a[c+3>>0]=a[b+4>>0]|0;a[c+4>>0]=a[b+3>>0]|0;a[c+5>>0]=a[b+2>>0]|0;a[c+6>>0]=a[b+1>>0]|0;a[c+7>>0]=a[b>>0]|0;return}function hf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+3>>0]|0;a[c+1>>0]=a[b+2>>0]|0;a[c+2>>0]=a[b+1>>0]|0;a[c+3>>0]=a[b>>0]|0;return}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=i;i=i+64|0;t=x+24|0;u=x+16|0;v=x+8|0;w=x;q=Uj(208)|0;if(!q){Me(3,5472,x+32|0);rb(1)}ik(q|0,a|0,184)|0;s=b<<1;r=(c[a>>2]|0)+s|0;c[q+192>>2]=r;s=(c[a+4>>2]|0)+s|0;c[q+196>>2]=s;c[q+200>>2]=b;c[q+204>>2]=b;d=$(r<<3,s)|0;e=Uj(d)|0;c[q+184>>2]=e;if(!e){Me(3,5472,x+40|0);rb(1)}d=Uj(d)|0;c[q+188>>2]=d;if(!d){Me(3,5472,x+48|0);rb(1)}p=a+104|0;m=c[a+176>>2]|0;n=(r|0)>0?r<<1:0;if((s|0)>0){o=(r|0)>0;l=0;while(1){f=+(l-b|0);if(o){a=0;j=e;k=d;while(1){y=+(a-b|0);df(p,y,f,v,w,m)|0;g[j>>2]=+h[v>>3];g[j+4>>2]=+h[w>>3];cf(p,y,f,t,u,m)|0;g[k>>2]=+h[t>>3];g[k+4>>2]=+h[u>>3];a=a+1|0;if((a|0)>=(r|0))break;else{j=j+8|0;k=k+8|0}}}d=d+(n<<2)|0;l=l+1|0;if((l|0)>=(s|0))break;else e=e+(n<<2)|0}}i=x;return q|0}function kf(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){Vj(c[b+184>>2]|0);Vj(c[(c[a>>2]|0)+188>>2]|0);Vj(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function lf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function mf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a+4>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function nf(a){a=a|0;var b=0,d=0;b=Uj(8)|0;do if(b){d=Uj(a<<3)|0;c[b>>2]=d;if(!d){Vj(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function of(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function pf(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,g=0;b=+P(+(+qf(a,a)));if(b!=0.0){f=c[a>>2]|0;e=+h[f>>3];b=e<0.0?-b:b;e=e+b;h[f>>3]=e;e=1.0/+P(+(e*b));a=c[a+4>>2]|0;if((a|0)>0){d=0;do{g=f+(d<<3)|0;h[g>>3]=e*+h[g>>3];d=d+1|0}while((d|0)<(a|0))}}return +-b}function qf(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))rb(0);if((f|0)>0){e=c[a>>2]|0;a=c[b>>2]|0;b=0;d=0.0;do{d=d+ +h[e+(b<<3)>>3]*+h[a+(b<<3)>>3];b=b+1|0}while((b|0)<(f|0))}else d=0.0;return +d}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E+8|0;D=E;w=c[a+8>>2]|0;if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){z=w+-2|0;A=C+4|0;B=D+4|0;if((w|0)>2){s=w+-1|0;t=0;do{o=$(t,w)|0;p=c[a>>2]|0;h[(c[b>>2]|0)+(t<<3)>>3]=+h[p+(o+t<<3)>>3];k=w-t+-1|0;c[A>>2]=k;u=t;t=t+1|0;l=p+(o+t<<3)|0;c[C>>2]=l;r=+pf(C);h[(c[d>>2]|0)+(u<<3)>>3]=r;if(!(r==0.0)){if((t|0)<(w|0)){m=c[b>>2]|0;n=t;do{if((t|0)<(n|0)){e=c[a>>2]|0;f=t;j=0.0;do{r=+h[e+(($(f,w)|0)+n<<3)>>3];j=j+r*+h[p+(f+o<<3)>>3];f=f+1|0}while((f|0)<(n|0))}else j=0.0;e=$(n,w)|0;if((n|0)<(w|0)){f=c[a>>2]|0;g=n;do{j=j+ +h[f+(g+e<<3)>>3]*+h[p+(g+o<<3)>>3];g=g+1|0}while((g|0)<(w|0))}h[m+(n<<3)>>3]=j;n=n+1|0}while((n|0)<(w|0))}c[B>>2]=k;c[A>>2]=k;c[C>>2]=l;c[D>>2]=(c[b>>2]|0)+(t<<3);j=+qf(C,D)*.5;if((s|0)>(u|0)){e=c[b>>2]|0;k=s;do{q=+h[p+(k+o<<3)>>3];f=e+(k<<3)|0;r=+h[f>>3]-j*q;h[f>>3]=r;f=$(k,w)|0;if((k|0)<(w|0)){g=c[a>>2]|0;l=k;do{n=g+(l+f<<3)|0;h[n>>3]=+h[n>>3]-(q*+h[e+(l<<3)>>3]+r*+h[p+(l+o<<3)>>3]);l=l+1|0}while((l|0)<(w|0))}k=k+-1|0}while((k|0)>(u|0))}}}while((t|0)<(z|0))}if((w|0)<=1){if((w|0)>0){f=0;g=c[a>>2]|0;e=c[b>>2]|0;v=27}}else{v=$(z,w)|0;g=c[a>>2]|0;e=c[b>>2]|0;h[e+(z<<3)>>3]=+h[g+(v+z<<3)>>3];f=w+-1|0;h[(c[d>>2]|0)+(z<<3)>>3]=+h[g+(f+v<<3)>>3];v=27}if((v|0)==27)h[e+(f<<3)>>3]=+h[g+(($(f,w)|0)+f<<3)>>3];if((w|0)>0){m=(w|0)>0;p=w;do{d=p;p=p+-1|0;n=$(p,w)|0;o=c[a>>2]|0;if((d|0)<=(z|0)?(x=w-p+-1|0,y=o+(n+d<<3)|0,(d|0)<(w|0)):0){e=(d|0)<(w|0);k=d;do{c[B>>2]=x;c[A>>2]=x;c[C>>2]=y;f=$(k,w)|0;c[D>>2]=(c[a>>2]|0)+(f+d<<3);j=+qf(C,D);if(e){g=c[a>>2]|0;l=d;do{v=g+(l+f<<3)|0;h[v>>3]=+h[v>>3]-j*+h[o+(l+n<<3)>>3];l=l+1|0}while((l|0)<(w|0))}k=k+1|0}while((k|0)<(w|0))}if(m){e=0;do{h[o+(e+n<<3)>>3]=0.0;e=e+1|0}while((e|0)<(w|0))}h[o+(n+p<<3)>>3]=1.0}while((d|0)>1);e=0}else e=0}else e=-1;i=E;return e|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[c>>3];g=+h[c+8>>3];e=+h[c+16>>3];d=+h[b+88>>3]+(f*+h[b+64>>3]+g*+h[b+72>>3]+e*+h[b+80>>3]);if(d==0.0)c=-1;else{i=+h[b+56>>3]+(f*+h[b+32>>3]+g*+h[b+40>>3]+e*+h[b+48>>3]);h[a>>3]=(+h[b+24>>3]+(f*+h[b>>3]+g*+h[b+8>>3]+e*+h[b+16>>3]))/d;h[a+8>>3]=i/d;c=0}return c|0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;B=i;i=i+1072|0;y=B+1056|0;x=B+768|0;w=B+192|0;A=B+48|0;z=B;K=+h[d>>3];F=+h[e>>3];s=K*F;J=+h[d+8>>3];t=e+8|0;E=+h[t>>3];v=J*E;j=+h[d+16>>3];G=+h[e+16>>3];l=j*G;m=+h[d+24>>3];I=+h[d+32>>3];H=+h[d+40>>3];n=E*H;k=+h[d+48>>3];o=G*k;p=+h[d+56>>3];D=+h[d+64>>3];C=+h[d+72>>3];q=E*C;f=+h[d+80>>3];r=G*f;g=+h[d+88>>3];h[x>>3]=s;h[x+8>>3]=K*E;h[x+16>>3]=K*G;h[x+24>>3]=F*J;h[x+32>>3]=v;h[x+40>>3]=G*J;h[x+48>>3]=F*j;h[x+56>>3]=E*j;h[x+64>>3]=l;h[x+72>>3]=K;h[x+80>>3]=J;h[x+88>>3]=j;j=F*I;h[x+96>>3]=j;h[x+104>>3]=E*I;h[x+112>>3]=G*I;h[x+120>>3]=F*H;h[x+128>>3]=n;h[x+136>>3]=G*H;h[x+144>>3]=F*k;h[x+152>>3]=E*k;h[x+160>>3]=o;h[x+168>>3]=I;h[x+176>>3]=H;h[x+184>>3]=k;k=D*F;h[x+192>>3]=k;h[x+200>>3]=E*D;h[x+208>>3]=G*D;h[x+216>>3]=F*C;E=+h[t>>3];h[x+224>>3]=C*E;h[x+232>>3]=G*C;h[x+240>>3]=F*f;h[x+248>>3]=E*f;h[x+256>>3]=r;h[x+264>>3]=D;h[x+272>>3]=C;h[x+280>>3]=f;e=w+64|0;d=w;t=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+72|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+104>>3]=1.0;e=w+160|0;d=w+112|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+240|0;d=w+168|0;t=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+296|0;d=w+248|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+304|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+336>>3]=1.0;e=w+456|0;d=w+344|0;t=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+512|0;d=w+464|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+568|0;d=w+520|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;u=0;do{t=0;do{d=A+(u*48|0)+(t<<3)|0;h[d>>3]=0.0;f=0.0;e=0;do{f=f+ +h[x+(u*96|0)+(e<<3)>>3]*+h[w+(e*48|0)+(t<<3)>>3];e=e+1|0}while((e|0)!=12);h[d>>3]=f;t=t+1|0}while((t|0)!=6);u=u+1|0}while((u|0)!=3);J=m+(s+v+l);K=p+(j+n+o);f=g+(k+q+r);g=+h[b>>3];j=+h[b+8>>3];k=+h[b+16>>3];l=+h[b+24>>3]+(J*g+K*j+f*k);m=+h[b+32>>3];n=+h[b+40>>3];o=+h[b+48>>3];p=+h[b+56>>3]+(J*m+K*n+f*o);q=+h[b+64>>3];r=+h[b+72>>3];s=+h[b+80>>3];f=+h[b+88>>3]+(J*q+K*r+f*s);if(f==0.0){Me(3,5089,y);e=-1}else{K=f*f;h[z>>3]=(g*f-l*q)/K;h[z+8>>3]=(f*j-l*r)/K;h[z+16>>3]=(f*k-l*s)/K;h[z+24>>3]=(f*m-p*q)/K;h[z+32>>3]=(f*n-p*r)/K;h[z+40>>3]=(f*o-p*s)/K;d=0;do{f=+h[z+(d*24|0)>>3];g=+h[z+(d*24|0)+8>>3];j=+h[z+(d*24|0)+16>>3];e=0;do{y=a+(d*48|0)+(e<<3)|0;h[y>>3]=0.0;K=f*+h[A+(e<<3)>>3]+0.0;h[y>>3]=K;K=K+g*+h[A+48+(e<<3)>>3];h[y>>3]=K;h[y>>3]=K+j*+h[A+96+(e<<3)>>3];e=e+1|0}while((e|0)!=6);d=d+1|0}while((d|0)!=2);e=0}i=B;return e|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+48|0;h=j+24|0;g=j+12|0;f=j;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;b=Ue(f)|0;do if(b){a=Te(b,f)|0;if(!a){We(b)|0;d=-1;break}d=Te(b,g)|0;if(!d){We(b)|0;We(a)|0;d=-1;break}if((_e(a)|0)<0){We(b)|0;We(a)|0;We(d)|0;d=-1;break}else{Xe(h,a,d)|0;We(b)|0;We(a)|0;We(d)|0;d=0;break}}else d=-1;while(0);i=j;return d|0}function vf(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;n=i;i=i+192|0;l=n+96|0;m=n;g=+h[b>>3];k=+h[b+8>>3];d=+h[b+16>>3];c=g*g+k*k+d*d;if(c==0.0){j=0.0;e=0.0;d=1.0;c=0.0}else{c=+P(+c);j=c;e=d/c;d=g/c;c=k/c}u=+h[b+24>>3];r=+h[b+32>>3];k=+h[b+40>>3];o=+R(+j);g=1.0-o;j=+S(+j);h[l>>3]=o+d*d*g;t=c*d*g;s=e*j;h[l+8>>3]=t-s;q=d*e*g;p=c*j;h[l+16>>3]=q+p;h[l+24>>3]=u;h[l+32>>3]=t+s;h[l+40>>3]=o+c*c*g;c=c*e*g;j=d*j;h[l+48>>3]=c-j;h[l+56>>3]=r;h[l+64>>3]=q-p;h[l+72>>3]=c+j;h[l+80>>3]=o+e*e*g;h[l+88>>3]=k;f=0;do{c=+h[a+(f<<5)>>3];d=+h[a+(f<<5)+8>>3];e=+h[a+(f<<5)+16>>3];b=0;do{h[m+(f<<5)+(b<<3)>>3]=c*+h[l+(b<<3)>>3]+d*+h[l+32+(b<<3)>>3]+e*+h[l+64+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=m+(f<<5)+24|0;h[b>>3]=+h[a+(f<<5)+24>>3]+ +h[b>>3];f=f+1|0}while((f|0)!=3);b=0;do{h[a+(b<<5)>>3]=+h[m+(b<<5)>>3];h[a+(b<<5)+8>>3]=+h[m+(b<<5)+8>>3];h[a+(b<<5)+16>>3]=+h[m+(b<<5)+16>>3];h[a+(b<<5)+24>>3]=+h[m+(b<<5)+24>>3];b=b+1|0}while((b|0)!=3);i=n;return 0}function wf(a){a=a|0;var b=0,d=0;b=Uj(136)|0;if(!b)b=0;else{d=0;do{h[b+(d<<5)>>3]=+h[a+(d<<5)>>3];h[b+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[b+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[b+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3);c[b+96>>2]=10;h[b+104>>3]=.10000000149011612;h[b+112>>3]=.9900000095367432;h[b+120>>3]=4.0;h[b+128>>3]=.5}return b|0}function xf(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{Vj(b);c[a>>2]=0;b=0}return b|0}function yf(a,b){a=a|0;b=+b;if(!a)a=-1;else{h[a+128>>3]=b;a=0}return a|0}function zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=i;i=i+176|0;l=y+168|0;k=y+160|0;u=y+48|0;w=y+64|0;v=y;s=b+8|0;g=c[s>>2]|0;do if((g|0)>=3){x=Uj(g*96|0)|0;if(!x){Me(3,5109,k);g=-1;break}t=Uj(g<<4)|0;if(!t){Me(3,5109,l);Vj(x);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);q=b+4|0;l=u+8|0;d=a+104|0;n=a+120|0;o=a+112|0;p=a+96|0;m=0.0;r=0;a:while(1){Ne(a,e,w)|0;g=c[s>>2]|0;if((g|0)>0){j=0.0;k=0;do{if((sf(u,w,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=10;break a}g=c[b>>2]|0;A=+h[g+(k<<4)>>3]-+h[u>>3];z=+h[g+(k<<4)+8>>3]-+h[l>>3];j=j+(A*A+z*z);g=k<<1;h[t+(g<<3)>>3]=A;h[t+((g|1)<<3)>>3]=z;k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}else j=0.0;j=j/+(g|0);if(j<+h[d>>3]){k=24;break}if(((r|0)>0?j<+h[n>>3]:0)?j/m>+h[o>>3]:0){k=24;break}if((r|0)==(c[p>>2]|0)){k=24;break}if((g|0)>0){k=0;do{if((tf(x+(k*12<<3)|0,a,e,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=20;break a}k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}if((uf(v,t,x,g<<1)|0)<0){k=22;break}vf(e,v)|0;m=j;r=r+1|0}if((k|0)==10){Af(x,t);g=-1;break}else if((k|0)==20){Af(x,t);g=-1;break}else if((k|0)==22){Af(x,t);g=-1;break}else if((k|0)==24){h[f>>3]=j;Vj(x);Vj(t);g=0;break}}else g=-1;while(0);i=y;return g|0}function Af(a,b){a=a|0;b=b|0;Vj(a);Vj(b);return}function Bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+192|0;n=G+184|0;m=G+176|0;l=G+168|0;g=G+160|0;B=G+48|0;D=G+64|0;C=G;A=b+8|0;k=c[A>>2]|0;do if((k|0)>=4){o=~~(+(k|0)*+h[a+128>>3])+-1|0;o=(o|0)<3?3:o;F=Uj(k*96|0)|0;if(!F){Me(3,5109,g);g=-1;break}E=Uj(k<<4)|0;if(!E){Me(3,5109,l);Vj(F);g=-1;break}g=k<<3;z=Uj(g)|0;if(!z){Me(3,5109,m);Vj(F);Vj(E);g=-1;break}y=Uj(g)|0;if(!y){Me(3,5109,n);Vj(F);Vj(E);Vj(z);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);w=b+4|0;x=B+8|0;n=y+(o<<3)|0;d=a+104|0;o=a+120|0;t=a+112|0;u=a+96|0;r=0.0;v=0;a:while(1){Ne(a,e,D)|0;g=c[A>>2]|0;if((g|0)>0){k=0;do{if((sf(B,D,(c[w>>2]|0)+(k*24|0)|0)|0)<0){k=14;break a}g=c[b>>2]|0;q=+h[g+(k<<4)>>3]-+h[B>>3];s=+h[g+(k<<4)+8>>3]-+h[x>>3];g=k<<1;h[E+(g<<3)>>3]=q;h[E+((g|1)<<3)>>3]=s;s=q*q+s*s;h[y+(k<<3)>>3]=s;h[z+(k<<3)>>3]=s;k=k+1|0;g=c[A>>2]|0}while((k|0)<(g|0))}rj(y,g,8,1);s=+h[n>>3]*4.0;s=s<16.0?16.0:s;k=c[A>>2]|0;q=s/6.0;if((k|0)>0){j=0.0;g=0;do{p=+h[y+(g<<3)>>3];if(p>s)p=q;else{p=1.0-p/s;p=q*(1.0-p*(p*p))}j=j+p;g=g+1|0}while((g|0)<(k|0))}else j=0.0;j=j/+(k|0);if(j<+h[d>>3]){k=36;break}if(((v|0)>0?j<+h[o>>3]:0)?j/r>+h[t>>3]:0){k=36;break}if((v|0)==(c[u>>2]|0)){k=36;break}if((k|0)>0){m=0;g=0;do{p=+h[z+(m<<3)>>3];if(p<=s){k=g*6|0;l=F+(k<<3)|0;if((tf(l,a,e,(c[w>>2]|0)+(m*24|0)|0)|0)<0){k=28;break a}r=1.0-p/s;r=r*r;h[l>>3]=+h[l>>3]*r;l=F+((k|1)<<3)|0;h[l>>3]=+h[l>>3]*r;l=F+(k+2<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+3<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+4<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+5<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+6<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+7<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+8<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+9<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+10<<3)|0;h[l>>3]=r*+h[l>>3];k=F+(k+11<<3)|0;h[k>>3]=r*+h[k>>3];k=m<<1;h[E+(g<<3)>>3]=r*+h[E+(k<<3)>>3];h[E+(g+1<<3)>>3]=r*+h[E+((k|1)<<3)>>3];k=c[A>>2]|0;g=g+2|0}m=m+1|0}while((m|0)<(k|0))}else g=0;if((g|0)<6){k=32;break}if((uf(C,E,F,g)|0)<0){k=34;break}vf(e,C)|0;r=j;v=v+1|0}if((k|0)==14){Cf(F,E,z,y);g=-1;break}else if((k|0)==28){Cf(F,E,z,y);g=-1;break}else if((k|0)==32){Cf(F,E,z,y);g=-1;break}else if((k|0)==34){Cf(F,E,z,y);g=-1;break}else if((k|0)==36){h[f>>3]=j;Vj(F);Vj(E);Vj(z);Vj(y);g=0;break}}else g=-1;while(0);i=G;return g|0}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vj(a);Vj(b);Vj(c);Vj(d);return}function Df(a,b){a=a|0;b=b|0;var c=0.0;c=+h[a>>3]-+h[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0;U=i;i=i+64|0;D=U+48|0;z=U+40|0;y=U+32|0;x=U+24|0;u=U+16|0;o=U+8|0;l=U;a:do if((e|0)>=4){g=0;while(1){if((g|0)>=(e|0))break;if(+h[d+(g*24|0)+16>>3]!=0.0){g=-1;break a}else g=g+1|0}if((((((((!(+h[a>>3]==0.0)?!(+h[a+32>>3]!=0.0):0)?(B=a+40|0,!(+h[B>>3]==0.0)):0)?!(+h[a+64>>3]!=0.0):0)?!(+h[a+72>>3]!=0.0):0)?!(+h[a+80>>3]!=1.0):0)?!(+h[a+24>>3]!=0.0):0)?!(+h[a+56>>3]!=0.0):0)?!(+h[a+88>>3]!=0.0):0){g=e<<1;C=Re(g,8)|0;if(!C){Me(3,5124,l);g=-1;break}w=Re(g,1)|0;if(!w){We(C)|0;Me(3,5150,o);g=-1;break}if(e){g=c[C>>2]|0;l=c[w>>2]|0;o=0;do{Z=d+(o*24|0)|0;V=o<<4;h[g+(V<<3)>>3]=+h[Z>>3];Y=d+(o*24|0)+8|0;h[g+((V|1)<<3)>>3]=+h[Y>>3];h[g+((V|2)<<3)>>3]=1.0;h[g+((V|3)<<3)>>3]=0.0;h[g+((V|4)<<3)>>3]=0.0;h[g+((V|5)<<3)>>3]=0.0;X=b+(o<<4)|0;h[g+((V|6)<<3)>>3]=-(+h[Z>>3]*+h[X>>3]);h[g+((V|7)<<3)>>3]=-(+h[Y>>3]*+h[X>>3]);h[g+((V|8)<<3)>>3]=0.0;h[g+((V|9)<<3)>>3]=0.0;h[g+((V|10)<<3)>>3]=0.0;h[g+((V|11)<<3)>>3]=+h[Z>>3];h[g+((V|12)<<3)>>3]=+h[Y>>3];h[g+((V|13)<<3)>>3]=1.0;W=b+(o<<4)+8|0;h[g+((V|14)<<3)>>3]=-(+h[Z>>3]*+h[W>>3]);h[g+((V|15)<<3)>>3]=-(+h[Y>>3]*+h[W>>3]);V=o<<1;h[l+(V<<3)>>3]=+h[X>>3];h[l+((V|1)<<3)>>3]=+h[W>>3];o=o+1|0}while((o|0)!=(e|0))}e=Ue(C)|0;if(!e){We(C)|0;We(w)|0;Me(3,5176,u);g=-1;break}o=Te(e,C)|0;if(!o){We(C)|0;We(w)|0;We(e)|0;Me(3,5202,x);g=-1;break}l=Te(e,w)|0;if(!l){We(C)|0;We(w)|0;We(e)|0;We(o)|0;Me(3,5228,y);g=-1;break}if((_e(o)|0)<0){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5254,z);g=-1;break}g=Te(o,l)|0;if(!g){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5280,D);g=-1;break}Z=c[g>>2]|0;p=+h[Z+48>>3];S=+h[a+48>>3];t=+h[B>>3];j=(+h[Z+24>>3]-p*S)/t;s=+h[a+16>>3];T=+h[a+8>>3];r=+h[a>>3];q=(+h[Z>>3]-p*s-j*T)/r;k=+h[Z+56>>3];m=(+h[Z+32>>3]-S*k)/t;n=(+h[Z+8>>3]-s*k-T*m)/r;t=(+h[Z+40>>3]-S)/t;r=(+h[Z+16>>3]-s-T*t)/r;We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;We(g)|0;T=+P(+(p*p+(j*j+q*q)));s=+P(+(k*k+(m*m+n*n)));q=q/T;j=j/T;p=p/T;n=n/s;m=m/s;k=k/s;s=(T+s)*.5;r=r/s;T=1.0/s;if(T<0.0){O=-j;k=-k;m=-m;p=-p;n=-n;Q=-q;S=-r;R=-T}else{O=j;Q=q;S=r;R=t/s}j=k*O-m*p;q=n*p-k*Q;r=m*Q-n*O;s=+P(+(r*r+(j*j+q*q)));do if(!(s==0.0)){t=j/s;q=q/s;j=r/s;N=k*p+(m*O+n*Q);N=N<0.0?-N:N;N=(+P(+(N+1.0))+ +P(+(1.0-N)))*.5;if(Q*q-O*t!=0.0){g=0;E=Q;v=O;F=p;I=t;H=q}else{Z=Q*j-p*t!=0.0;g=Z?1:2;E=Z?Q:p;v=Z?p:O;F=Z?O:Q;I=Z?t:j;H=Z?j:q;j=Z?q:t}r=E*H;s=v*I;q=r-s;if(q==0.0){q=O;j=Q;break}G=(v*j-F*H)/q;A=N*H/q;r=s-r;q=(E*j-F*I)/r;r=N*I/r;s=G*G+q*q+1.0;t=G*A+q*r;v=t*t-s*(A*A+r*r+-1.0);if(v<0.0){q=O;j=Q;break}M=+P(+v);L=(M-t)/s;F=A+G*L;K=r+q*L;M=(-t-M)/s;G=A+G*M;r=r+q*M;Z=(g|0)==1;q=Z?H:j;s=Z?j:H;J=Z?L:K;L=Z?K:L;K=Z?M:r;H=Z?r:M;Z=(g|0)==2&(Z^1);r=Z?I:q;q=Z?q:I;M=Z?L:F;L=Z?F:L;j=Z?H:G;I=Z?G:H;if(n*s-m*q!=0.0){g=0;E=n;v=m;F=k;H=q;A=s}else{Z=n*r-k*q!=0.0;g=Z?1:2;E=Z?n:k;v=Z?k:m;F=Z?m:n;H=Z?q:r;A=Z?r:s;r=Z?s:q}s=E*A;t=v*H;q=s-t;if(q==0.0){q=O;j=Q;break}G=(v*r-F*A)/q;A=N*A/q;q=t-s;v=(E*r-F*H)/q;q=N*H/q;r=G*G+v*v+1.0;s=G*A+v*q;t=s*s-r*(A*A+q*q+-1.0);if(t<0.0){q=O;j=Q;break}t=+P(+t);k=(t-s)/r;Q=A+G*k;O=q+v*k;t=(-s-t)/r;p=A+G*t;n=q+v*t;Z=(g|0)==1;m=Z?k:O;k=Z?O:k;v=Z?t:n;t=Z?n:t;Z=(g|0)==2&(Z^1);n=Z?k:Q;k=Z?Q:k;A=Z?t:p;t=Z?p:t;p=L*k+(J*m+M*n);p=p<0.0?-p:p;q=L*t+(J*v+M*A);q=q<0.0?-q:q;r=I*k+(K*m+j*n);r=r<0.0?-r:r;s=I*t+(K*v+j*A);s=s<0.0?-s:s;if(p>3]=j;h[f+32>>3]=q;h[f+64>>3]=p;h[f+8>>3]=n;h[f+40>>3]=m;h[f+72>>3]=k;h[f+16>>3]=M/Q;h[f+48>>3]=N/Q;h[f+80>>3]=O/Q;h[f+24>>3]=S;h[f+56>>3]=R;h[f+88>>3]=T;g=0}else g=-1}else g=-1;while(0);i=U;return g|0}function Ff(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,0))}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,1))}function If(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+208|0;z=F+200|0;y=F+192|0;A=F+96|0;B=F;C=e+4|0;p=c[C>>2]|0;q=e+112|0;r=e+120|0;if((p|0)>0){u=c[e>>2]|0;v=(d|0)>0;w=(d|0)>0;x=0;do{if(!(c[u+(x*320|0)+4>>2]|0)){if(v){k=c[u+(x*320|0)>>2]|0;l=0;j=-1;do{if((c[b+(l<<8)+8>>2]|0)==(k|0)?(n=+h[b+(l<<8)+40>>3],!(n<+h[q>>3])):0)if(!((j|0)!=-1?!(+h[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{l=u+(x*320|0)+312|0;m=u+(x*320|0)|0;if(w){o=0;j=-1;do{k=c[b+(o<<8)+12>>2]|0;if((k|0)==0?(t=b+(o<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=l;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)E=20}else if((k|0)==(c[m>>2]|0))E=20;if((E|0)==20){E=0;g=+h[b+(o<<8)+48>>3];if(!(g<+h[r>>3]))if(!((j|0)!=-1?!(+h[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}x=x+1|0}while((x|0)<(p|0))}if((p|0)>0){q=0;j=0;p=0;k=0;while(1){l=c[e>>2]|0;m=c[l+(q*320|0)+304>>2]|0;do if((m|0)<0)l=p;else{o=b+(m<<8)|0;if(+ke(a,o,+h[l+(q*320|0)+8>>3],B)>4.0){c[(c[e>>2]|0)+(q*320|0)+304>>2]=-1;l=b+(m<<8)+236|0;if(c[l>>2]|0){l=p;break}c[l>>2]=7;l=p;break}l=c[o>>2]|0;if((k|0)==0|(p|0)<(l|0)){j=0;do{h[A+(j<<5)>>3]=+h[B+(j<<5)>>3];h[A+(j<<5)+8>>3]=+h[B+(j<<5)+8>>3];h[A+(j<<5)+16>>3]=+h[B+(j<<5)+16>>3];h[A+(j<<5)+24>>3]=+h[B+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3);j=q}else l=p;k=k+1|0}while(0);q=q+1|0;if((q|0)>=(c[C>>2]|0))break;else p=l}}else{j=0;k=0}do if((k|0)!=0?(k|0)>=(c[e+128>>2]|0):0){Ne(A,(c[e>>2]|0)+(j*320|0)+112|0,B)|0;p=k<<2;r=Uj(k<<6)|0;if(!r){Me(3,5472,y);rb(1)}q=Uj(k*96|0)|0;if(!q){Me(3,5472,z);rb(1)}l=c[C>>2]|0;if((l|0)>0){m=c[e>>2]|0;o=0;j=0;do{k=c[m+(o*320|0)+304>>2]|0;if((k|0)>=0){y=c[b+(k<<8)+16>>2]|0;d=(4-y|0)%4|0;z=j<<3;h[r+(z<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|1)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(5-y|0)%4|0;h[r+((z|2)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|3)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(6-y|0)%4|0;h[r+((z|4)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|5)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];y=(7-y|0)%4|0;h[r+((z|6)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)>>3];h[r+((z|7)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)+8>>3];z=j*12|0;h[q+(z<<3)>>3]=+h[m+(o*320|0)+208>>3];h[q+((z|1)<<3)>>3]=+h[m+(o*320|0)+216>>3];h[q+((z|2)<<3)>>3]=+h[m+(o*320|0)+224>>3];h[q+((z|3)<<3)>>3]=+h[m+(o*320|0)+232>>3];h[q+(z+4<<3)>>3]=+h[m+(o*320|0)+240>>3];h[q+(z+5<<3)>>3]=+h[m+(o*320|0)+248>>3];h[q+(z+6<<3)>>3]=+h[m+(o*320|0)+256>>3];h[q+(z+7<<3)>>3]=+h[m+(o*320|0)+264>>3];h[q+(z+8<<3)>>3]=+h[m+(o*320|0)+272>>3];h[q+(z+9<<3)>>3]=+h[m+(o*320|0)+280>>3];y=c[e>>2]|0;h[q+(z+10<<3)>>3]=+h[y+(o*320|0)+288>>3];h[q+(z+11<<3)>>3]=+h[y+(o*320|0)+296>>3];j=j+1|0}o=o+1|0}while((o|0)<(l|0))}m=e+104|0;k=(f|0)!=0;if(!(c[m>>2]|0)){j=e+8|0;g=+me(a,B,r,q,p,j);if(k&g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,j)}}}}Vj(q);Vj(r)}else{g=+me(a,B,r,q,p,A);l=e+8|0;n=+me(a,l,r,q,p,l);j=g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}}}}}else if(j){j=0;do{h[e+8+(j<<5)>>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;while(0);Vj(q);Vj(r)}if(g<20.0){c[m>>2]=1;break}c[m>>2]=0;m=c[C>>2]|0;if((m|0)>0){j=c[e>>2]|0;l=0;do{k=c[j+(l*320|0)+304>>2]|0;if((k|0)>=0?(D=b+(k<<8)+236|0,(c[D>>2]|0)==0):0)c[D>>2]=8;l=l+1|0}while((l|0)<(m|0))}}else E=38;while(0);if((E|0)==38){c[e+104>>2]=0;g=-1.0}i=F;return +g}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;U=i;i=i+2544|0;S=U+208|0;R=U+200|0;G=U+184|0;Q=U+176|0;F=U+168|0;E=U+152|0;P=U+144|0;D=U+136|0;M=U+128|0;L=U+120|0;K=U+112|0;C=U+104|0;j=U+96|0;g=U+88|0;f=U+80|0;e=U+72|0;d=U+64|0;H=U;I=U+2280|0;J=U+232|0;z=U+224|0;O=U+220|0;A=U+216|0;B=U+212|0;T=_i(a,5306)|0;a:do if(!T){c[d>>2]=a;Me(3,5308,d);d=ri(c[(qi()|0)>>2]|0)|0;c[e>>2]=5367;c[e+4>>2]=d;Me(3,5361,e);d=0}else{Kf(I,T);c[f>>2]=O;if((kj(I,5368,f)|0)!=1){c[g>>2]=a;Me(3,5371,g);Wi(T)|0;d=0;break}d=c[O>>2]|0;N=Uj(d*320|0)|0;if(!N){Me(3,5472,j);rb(1)}r=H+8|0;s=H+16|0;t=H+24|0;u=H+32|0;v=H+40|0;w=H+48|0;x=H+56|0;y=(b|0)==0;b:do if((d|0)>0){d=0;f=0;c:while(1){Kf(I,T);e=N+(d*320|0)|0;g=N+(d*320|0)+312|0;c[C>>2]=g;c[C+4>>2]=z;if((kj(I,5489,C)|0)==1){q=c[g>>2]|0;c[e>>2]=(q&-32768|0)==0&0==0?q&32767:0;c[N+(d*320|0)+4>>2]=1;f=f|2}else{if(y){e=10;break}if(!(Qe(J,a,2048,1)|0)){e=12;break}Cj(J,I,2047-(Bj(J)|0)|0)|0;q=Ke(b,J)|0;c[e>>2]=q;if((q|0)<0){e=14;break}c[N+(d*320|0)+4>>2]=0;f=f|1}Kf(I,T);e=N+(d*320|0)+8|0;c[D>>2]=e;if((kj(I,5785,D)|0)!=1){e=18;break}Kf(I,T);o=N+(d*320|0)+16|0;p=N+(d*320|0)+24|0;q=N+(d*320|0)+40|0;c[E>>2]=o;c[E+4>>2]=p;c[E+8>>2]=N+(d*320|0)+32;c[E+12>>2]=q;if((kj(I,5894,E)|0)!=4){c[F>>2]=A;c[F+4>>2]=B;if((kj(I,5910,F)|0)==2)g=0;else{e=21;break}}else g=1;do{Kf(I,T);c[G>>2]=N+(d*320|0)+16+(g<<5);c[G+4>>2]=N+(d*320|0)+16+(g<<5)+8;c[G+8>>2]=N+(d*320|0)+16+(g<<5)+16;c[G+12>>2]=N+(d*320|0)+16+(g<<5)+24;if((kj(I,5894,G)|0)!=4){e=23;break c}g=g+1|0}while((g|0)<3);Oe(o,N+(d*320|0)+112|0)|0;W=+h[e>>3];V=W*-.5;h[H>>3]=V;W=W*.5;h[r>>3]=W;h[s>>3]=W;h[t>>3]=W;h[u>>3]=W;h[v>>3]=V;h[w>>3]=V;h[x>>3]=V;e=N+(d*320|0)+48|0;g=N+(d*320|0)+56|0;j=N+(d*320|0)+72|0;k=N+(d*320|0)+80|0;l=N+(d*320|0)+88|0;m=N+(d*320|0)+104|0;n=0;do{V=+h[H+(n<<4)>>3];W=+h[H+(n<<4)+8>>3];h[N+(d*320|0)+208+(n*24|0)>>3]=+h[q>>3]+(+h[o>>3]*V+ +h[p>>3]*W);h[N+(d*320|0)+208+(n*24|0)+8>>3]=+h[j>>3]+(+h[e>>3]*V+ +h[g>>3]*W);h[N+(d*320|0)+208+(n*24|0)+16>>3]=+h[m>>3]+(+h[k>>3]*V+ +h[l>>3]*W);n=n+1|0}while((n|0)!=4);d=d+1|0;if((d|0)>=(c[O>>2]|0))break b}if((e|0)==10){c[K>>2]=a;c[K+4>>2]=I;Me(3,5496,K)}else if((e|0)==12){c[L>>2]=a;Me(3,5624,L)}else if((e|0)==14){c[M>>2]=a;c[M+4>>2]=J;Me(3,5708,M)}else if((e|0)==18){c[P>>2]=a;c[P+4>>2]=d+1;Me(3,5789,P)}else if((e|0)==21){c[Q>>2]=a;c[Q+4>>2]=d+1;Me(3,5916,Q)}else if((e|0)==23){c[R>>2]=a;c[R+4>>2]=d+1;Me(3,5916,R)}Wi(T)|0;Vj(N);d=0;break a}else f=0;while(0);Wi(T)|0;d=Uj(136)|0;if(!d){Me(3,5472,S);rb(1)}c[d>>2]=N;c[d+4>>2]=c[O>>2];c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);h[d+112>>3]=.5;h[d+120>>3]=.5}while(0);i=U;return d|0}function Kf(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if(Zi(b,256,c)|0)while(1){d=Bj(b)|0;b:do if(d)while(1){d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0;if(!d)break b}while(0);switch(a[b>>0]|0){case 0:case 35:break;default:break a}if(!(Zi(b,256,c)|0))break a}while(0);return}function Lf(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+400|0;n=r+296|0;q=r+200|0;o=r+128|0;p=r;k=c[a>>2]|0;f=c[a+4>>2]|0;if((bf(a+8|0,n,q)|0)<0)Me(3,6025,r+392|0);else{j=+(f+-1|0);f=n+32|0;h[f>>3]=j*+h[n+64>>3]-+h[f>>3];f=n+40|0;h[f>>3]=j*+h[n+72>>3]-+h[f>>3];f=n+48|0;h[f>>3]=j*+h[n+80>>3]-+h[f>>3];f=n+56|0;h[f>>3]=j*+h[n+88>>3]-+h[f>>3];g=+h[n+80>>3];f=0;do{h[o+(f*24|0)>>3]=+h[n+(f<<5)>>3]/g;h[o+(f*24|0)+8>>3]=+h[n+(f<<5)+8>>3]/g;h[o+(f*24|0)+16>>3]=+h[n+(f<<5)+16>>3]/g;f=f+1|0}while((f|0)!=3);g=+(k+-1|0);h[p>>3]=+h[o>>3]*2.0/g;h[p+8>>3]=+h[o+8>>3]*2.0/g;h[p+16>>3]=+h[o+16>>3]*2.0/g+-1.0;k=p+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+40>>3]=+h[o+32>>3]*2.0/j;h[p+48>>3]=+h[o+40>>3]*2.0/j+-1.0;k=p+56|0;g=d-b;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;h[p+80>>3]=(b+d)/g;h[p+88>>3]=d*-2.0*b/g;k=p+96|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+112>>3]=1.0;h[p+120>>3]=0.0;g=+h[q+24>>3];j=+h[q+56>>3];d=+h[q+88>>3];k=0;do{b=+h[p+(k<<5)>>3];f=p+(k<<5)+8|0;a=p+(k<<5)+16|0;l=+h[f>>3];m=+h[a>>3];n=0;do{h[e+((n<<2)+k<<3)>>3]=b*+h[q+(n<<3)>>3]+l*+h[q+32+(n<<3)>>3]+m*+h[q+64+(n<<3)>>3];n=n+1|0}while((n|0)!=3);h[e+(k+12<<3)>>3]=+h[p+(k<<5)+24>>3]+(b*g+ +h[f>>3]*j+ +h[a>>3]*d);k=k+1|0}while((k|0)!=4)}i=r;return}function Mf(a){a=a|0;c[496]=a;return}function Nf(){return c[496]|0}function Of(a){a=a|0;var b=0,d=0;b=a+212|0;d=c[b>>2]|0;if(d){ze(d)|0;Qd(c[b>>2]|0)|0;c[b>>2]=0}b=a+224|0;if(c[b>>2]|0){Ld(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){kf(b)|0;c[b>>2]=0}return}function Pf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(!(Cg(2044,d)|0))a=-1;else{f=Dg(2044,d)|0;a=f+196|0;b=c[a>>2]|0;if(b){Vj(b);c[a>>2]=0;c[f+200>>2]=0}Of(f);Ce(c[f+216>>2]|0)|0;Eg(2044,d)|0;d=f+248|0;e=f+252|0;a=c[d>>2]|0;if((c[e>>2]|0)!=(a|0)){b=0;do{Ff(c[a+(b<<3)+4>>2]|0)|0;b=b+1|0;a=c[d>>2]|0}while(b>>>0<(c[e>>2]|0)-a>>3>>>0)}Fg(d);Lh(d);Fg(f+248|0);Lh(f);a=0}i=g;return a|0}function Qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+208|0;g=h+192|0;f=h;e=h+196|0;if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;if((ef(d,1,f,h+184|0)|0)<0){if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;c[g>>2]=d;Me(3,6093,g);d=-1}else{d=c[521]|0;c[521]=d+1;c[e>>2]=d;ik(Gg(2064,e)|0,f|0,184)|0}i=h;return d|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;m=n+24|0;l=n+16|0;j=n+8|0;f=n;d=n+32|0;e=n+28|0;c[d>>2]=a;c[e>>2]=b;do if((Cg(2044,d)|0)!=0?(k=Dg(2044,d)|0,(Hg(2064,e)|0)!=0):0){g=k+8|0;ik(g|0,Gg(2064,e)|0,184)|0;e=c[g>>2]|0;d=k+204|0;b=c[k+12>>2]|0;a=k+208|0;if(!((e|0)==(c[d>>2]|0)?(b|0)==(c[a>>2]|0):0)){c[f>>2]=e;c[f+4>>2]=b;Me(2,6152,f);af(g,c[d>>2]|0,c[a>>2]|0,g)|0}Of(k);d=jf(g,15)|0;a=k+192|0;c[a>>2]=d;if(!d){Me(3,6199,j);d=-1;break}d=Md(d)|0;b=k+212|0;c[b>>2]=d;if(!d){Me(3,6237,l);d=-1;break}Nd(d,2)|0;l=Jd(g)|0;c[k+224>>2]=l;if(!l){Me(3,6274,m);d=-1;break}else{ye(c[b>>2]|0,c[k+216>>2]|0)|0;Lf(c[a>>2]|0,+h[k+232>>3],+h[k+240>>3],k+264|0);d=0;break}}else d=-1;while(0);i=n;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;e=j+12|0;c[e>>2]=b;if(Cg(2044,e)|0){f=Dg(2044,e)|0;if(!(a[d>>0]&1))d=d+1|0;else d=c[d+8>>2]|0;b=f+216|0;e=Ke(c[b>>2]|0,d)|0;c[f+260>>2]=e;if((e|0)<0){c[g>>2]=d;Me(3,6312,g);Ce(c[b>>2]|0)|0;Me(3,6358,h);e=-1}}else e=-1;i=j;return e|0}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;f=l+8|0;e=l+20|0;k=l;c[e>>2]=b;do if(Cg(2044,e)|0){j=Dg(2044,e)|0;if(!(a[d>>0]&1))e=d+1|0;else e=c[d+8>>2]|0;b=c[j+212>>2]|0;d=j+216|0;h=j+220|0;e=Jf(e,c[d>>2]|0)|0;c[h>>2]=e;if(!e){Me(3,6402,f);Ce(c[d>>2]|0)|0;Me(3,6429,g);e=-1;break}switch(c[e+108>>2]|0){case 0:{Zd(b,0)|0;break}case 1:{Zd(b,2)|0;break}default:Zd(b,3)|0}b=j+248|0;d=j+252|0;f=c[d>>2]|0;e=f-(c[b>>2]|0)>>3;g=k;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=e;c[k+4>>2]=c[h>>2];if((f|0)==(c[j+256>>2]|0)){Ig(b,k);break}else{j=k;e=c[j>>2]|0;j=c[j+4>>2]|0;k=f;c[k>>2]=e;c[k+4>>2]=j;c[d>>2]=(c[d>>2]|0)+8;break}}else e=-1;while(0);i=l;return e|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,(b|0)>=0):0)?(f=c[e+248>>2]|0,(c[e+252>>2]|0)-f>>3>>>0>b>>>0):0)d=c[(c[f+(b<<3)+4>>2]|0)+4>>2]|0;else d=-1;i=g;return d|0}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{b=Dg(2044,b)|0;b=(c[b+252>>2]|0)-(c[b+248>>2]|0)>>3}i=d;return b|0}function Wf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+232>>3]=b;i=e;return}function Xf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+232>>3];i=e;return +b}function Yf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+240>>3]=b;i=e;return}function Zf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+240>>3];i=e;return +b}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Zd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6478,e)}i=f;return}function $f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(ae(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ag(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,g=0,j=0,k=0;k=i;i=i+16|0;j=k;d=k+8|0;c[d>>2]=a;if((((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,!(b<=0.0|b>=1.0)):0)?(f=b,g=c[e+212>>2]|0,(g|0)!=0):0)?(be(g,f)|0)==0:0){h[j>>3]=f;Me(1,6513,j)}i=k;return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f;c[b>>2]=a;if((Cg(2044,b)|0)!=0?(d=c[(Dg(2044,b)|0)+212>>2]|0,(d|0)!=0):0){a=(ce(d,e)|0)==0;i=f;return +(a?+h[e>>3]:-1.0)}i=f;return -1.0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)_d(c[(Dg(2044,d)|0)+212>>2]|0,b)|0;i=e;return}function dg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{$d(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Sd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6544,e)}i=f;return}function fg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Td(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+4|0;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,b>>>0<=255):0)?(Ud(c[e+212>>2]|0,b)|0)==0:0){c[f>>2]=b;Me(1,6569,f)}i=g;return}function hg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Vd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Pd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6590,e)}i=f;return}function jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Wd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Cg(2044,d)|0))b=0;else{a=(b|0)!=0;Od(c[(Dg(2044,d)|0)+212>>2]|0,a&1)|0;c[e>>2]=a?6616:6620;Me(1,6625,e)}i=f;return b|0}function lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else b=c[(c[(Dg(2044,b)|0)+212>>2]|0)+4834148>>2]|0;i=d;return b|0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else{Rd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Xd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6647,e)}i=f;return}function og(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Yd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0;c=0;do{h[b+(c<<5)>>3]=+h[a+(c<<5)>>3];h[b+(c<<5)+8>>3]=+h[a+(c<<5)+8>>3];h[b+(c<<5)+16>>3]=+h[a+(c<<5)+16>>3];h[b+(c<<5)+24>>3]=+h[a+(c<<5)+24>>3];c=c+1|0}while((c|0)!=3);return}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+ke(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+le(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,264,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=c[(Dg(2044,e)|0)+212>>2]|0;if((c[e+44>>2]|0)>(b|0)){c[((b|0)<0?8:e+48+(b<<8)|0)+16>>2]=d;e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;o=+h[33];h[d+168>>3]=o;k=+h[34];h[d+176>>3]=k;n=+h[35];h[d+184>>3]=n;j=+h[36];h[d+192>>3]=j;m=+h[37];h[d+200>>3]=m;g=+h[38];h[d+208>>3]=g;l=+h[39];h[d+216>>3]=l;f=+h[40];h[d+224>>3]=f;h[d+56>>3]=(o+n+m+l)*.25;h[d+64>>3]=(k+j+g+f)*.25;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Hf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Gf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=c[522]|0;else{b=Dg(2044,b)|0;b=de(c[b+212>>2]|0,c[b+196>>2]|0)|0}i=d;return b|0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=2088;else b=(c[(Dg(2044,b)|0)+212>>2]|0)+44|0;i=d;return c[b>>2]|0}function yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){a=Dg(2044,e)|0;e=c[a+248>>2]|0;if((b|0)<0?1:(c[a+252>>2]|0)-e>>3>>>0<=b>>>0){e=c[524]|0;break}e=c[e+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[e+4>>2]|0)<=(d|0)){e=c[523]|0;break}else{e=c[e>>2]|0;pg(e+(d*320|0)+16|0,264);Lb(0,c[e+(d*320|0)+304>>2]|0,c[e+(d*320|0)>>2]|0,c[e+(d*320|0)+4>>2]|0,+(+h[e+(d*320|0)+8>>3]))|0;e=0;break}}else e=c[522]|0;while(0);i=f;return e|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;Qa(1,c[d>>2]|0,c[d+4>>2]|0,c[d+8>>2]|0,c[d+12>>2]|0,c[d+16>>2]|0,c[d+20>>2]|0,c[d+24>>2]|0,+(+h[d+32>>3]),+(+h[d+40>>3]),+(+h[d+48>>3]),+(+h[d+56>>3]),+(+h[d+64>>3]),+(+h[d+72>>3]),+(+h[d+80>>3]),+(+h[d+88>>3]),+(+h[d+96>>3]),+(+h[d+104>>3]),+(+h[d+112>>3]),+(+h[d+120>>3]),+(+h[d+128>>3]),+(+h[d+136>>3]),+(+h[d+144>>3]),+(+h[d+152>>3]),+(+h[d+160>>3]),+(+h[d+168>>3]),+(+h[d+176>>3]),+(+h[d+184>>3]),+(+h[d+192>>3]),+(+h[d+200>>3]),+(+h[d+208>>3]),+(+h[d+216>>3]),+(+h[d+224>>3]),c[d+240>>2]|0)|0;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+12|0;e=c[525]|0;c[525]=e+1;c[f>>2]=e;f=Dg(2044,f)|0;c[f>>2]=e;c[f+204>>2]=a;c[f+208>>2]=b;j=$(a<<2,b)|0;b=f+200|0;c[b>>2]=j;a=f+196|0;c[a>>2]=Uj(j)|0;j=Ae()|0;c[f+216>>2]=j;if(!j)Me(3,8285,h);Rf(e,d)|0;c[g>>2]=c[b>>2];Me(1,8322,g);Kb(2,c[f>>2]|0,c[a>>2]|0,c[b>>2]|0,f+264|0,264)|0;i=h;return c[f>>2]|0}function Bg(a){a=a|0;var b=0;a=i;i=i+16|0;b=a;Jg(8591,7);Kg(8597,3);Lg(8606,2);Lg(8617,3);Mg(8633,4);Kg(8651,4);Ng(8671,5);Jg(8683,8);Mg(8700,5);Jg(8720,9);Jg(8738,10);Mg(8760,6);Mg(8783,7);Kg(8812,6);Kg(8825,7);Jg(8838,11);Mg(8857,8);Mg(8867,9);Kg(8880,8);Kg(8893,9);Og(8912,10);Pg(8924,1);Qg(8936,1);Rg(8959,1);Qg(8982,2);Rg(9004,2);Sg(9026,1);Kg(9043,10);Sg(9060,2);Kg(9073,11);Sg(9086,3);Kg(9110,12);Tg(9134,3);Rg(9147,3);Sg(9160,4);Kg(9178,13);Sg(9196,5);Kg(9212,14);Sg(9228,6);Kg(9245,15);Ug(9262,2088);Ug(9291,2096);Ug(9319,2092);Cb(9352,680,0);Cb(9369,680,1);Cb(9385,680,0);Cb(9407,680,0);Cb(9432,680,1);Cb(9457,680,1);Cb(9482,680,100);Cb(9509,680,0);Cb(9535,680,1);Cb(9561,680,0);Cb(9588,680,0);Cb(9615,680,1);Cb(9641,680,2);Cb(9666,680,3);Cb(9704,680,4);Cb(9741,680,0);Cb(9775,680,0);Cb(9799,680,1);Cb(9825,680,2);Cb(9852,680,2);Cb(9886,680,5);h[b>>3]=.5;Vg(9904,b);Cb(9925,680,0);Cb(9944,680,1);Cb(9962,680,2);Cb(9980,680,3);Cb(9999,680,4);Cb(10021,680,3);Cb(10040,680,515);Cb(10069,680,259);Cb(10097,680,4);Cb(10116,680,772);Cb(10146,680,1028);Cb(10176,680,0);Cb(10207,680,1);Cb(10243,680,2);Cb(10277,680,3);Cb(10315,680,0);Cb(10348,680,1);Cb(10395,680,2);Cb(10437,680,3);Cb(10480,680,4);Cb(10532,680,5);Cb(10583,680,6);Cb(10628,680,7);Cb(10667,680,8);Cb(10712,680,9);i=a;return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Cg(a,b)|0;if(!d){wh(f,a,b);xh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;b=Cg(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];uh(a,d)|0;b=1}i=f;return b|0}function Fg(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=a+4|0;a=c[b>>2]|0;if((a|0)!=(d|0)){do a=a+-8|0;while((a|0)!=(d|0));c[b>>2]=a}Lh(d)}return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Hg(a,b)|0;if(!d){qh(f,a,b);rh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;g=a+4|0;d=c[a>>2]|0;f=((c[g>>2]|0)-d>>3)+1|0;if(f>>>0>536870911)Jh(a);e=d;d=(c[a+8>>2]|0)-e|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?f:d}else d=536870911;nh(h,d,(c[g>>2]|0)-e>>3,a+8|0);g=h+8|0;f=c[g>>2]|0;d=b;e=c[d+4>>2]|0;b=f;c[b>>2]=c[d>>2];c[b+4>>2]=e;c[g>>2]=f+8;oh(a,h);ph(h);i=j;return}function Jg(a,b){a=a|0;b=b|0;Oa(a|0,4,2200,10911,1,b|0);return}function Kg(a,b){a=a|0;b=b|0;Oa(a|0,2,2192,10801,10,b|0);return}function Lg(a,b){a=a|0;b=b|0;Oa(a|0,3,2180,10906,12,b|0);return}function Mg(a,b){a=a|0;b=b|0;Oa(a|0,3,2168,10906,13,b|0);return}function Ng(a,b){a=a|0;b=b|0;Oa(a|0,2,2160,10801,11,b|0);return}function Og(a,b){a=a|0;b=b|0;Oa(a|0,2,2152,10797,7,b|0);return}function Pg(a,b){a=a|0;b=b|0;Oa(a|0,1,2148,10794,16,b|0);return}function Qg(a,b){a=a|0;b=b|0;Oa(a|0,3,2136,10789,1,b|0);return}function Rg(a,b){a=a|0;b=b|0;Oa(a|0,2,2128,10785,1,b|0);return}function Sg(a,b){a=a|0;b=b|0;Oa(a|0,3,2116,10780,1,b|0);return}function Tg(a,b){a=a|0;b=b|0;Oa(a|0,3,2104,10775,2,b|0);return}function Ug(a,b){a=a|0;b=b|0;Cb(a|0,680,c[b>>2]|0);return}function Vg(a,b){a=a|0;b=b|0;Cb(a|0,720,~~+h[b>>3]>>>0|0);return}function Wg(){c[511]=0;c[512]=0;c[513]=0;c[514]=0;g[515]=1.0;ub(11,2044,n|0)|0;c[516]=0;c[517]=0;c[518]=0;c[519]=0;g[520]=1.0;ub(12,2064,n|0)|0;Bg(0);return}function Xg(a){a=a|0;$g(a);return}function Yg(a){a=a|0;Zg(a);return}function Zg(a){a=a|0;var b=0;_g(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function _g(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Lh(a)}while((b|0)!=0);return}function $g(a){a=a|0;var b=0;ah(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function ah(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Fg(a+264|0);Lh(a)}while((b|0)!=0);return}function bh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function ch(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b,c);return}function dh(a,b){a=a|0;b=b|0;return +(+Ub[a&3](b))}function eh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function fh(a){a=a|0;return Vb[a&1]()|0}function gh(a,b){a=a|0;b=b|0;Wb[a&15](b);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;i=i+16|0;d=c;ih(d,b);a=Yb[a&31](d)|0;bk(d);i=c;return a|0}function ih(a,b){a=a|0;b=b|0;ak(a,b+4|0,c[b>>2]|0);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b,c)|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+16|0;e=d;ih(e,c);a=cc[a&15](b,e)|0;bk(e);i=d;return a|0}function lh(a,b){a=a|0;b=b|0;return Yb[a&31](b)|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b,c,d)|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=Kh(b<<3)|0;c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<3);return}function oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>3)<<3)|0;c[d>>2]=h;ik(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function ph(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-8|0;while((b|0)!=(d|0));c[e>>2]=b}b=c[a>>2]|0;if(b)Lh(b);return}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(200)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,184)|0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function rh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;sh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return} -function zd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Dd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Jd(a){a=a|0;return Kd(a+8|0)|0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=Uj(4)|0;if(!b){Me(3,5472,d);rb(1)}a=wf(a)|0;c[b>>2]=a;if(!a){Vj(b);b=0}i=d;return b|0}function Ld(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{xf(b)|0;Vj(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function Md(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=Uj(7062432)|0;if(!b){Me(3,5472,d);rb(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;h[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=Uj($(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Me(3,5472,d+8|0);rb(1)}else{c[b+7062384>>2]=0;Nd(b,2)|0;Od(b,0)|0;c[b+7062388>>2]=-1;Pd(b,0)|0;c[b+7062392>>2]=7;c[b+7062396>>2]=0;i=d;return b|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;a:do if(a){e=a+4|0;if((c[e>>2]|0)!=(b|0)){switch(b|0){case 11:case 10:case 9:case 8:case 7:case 6:case 4:case 3:case 2:case 1:case 0:{f=0;break}case 14:case 13:case 12:case 5:{f=1;break}default:{c[d>>2]=b;Me(3,3936,d);d=-1;break a}}c[e>>2]=b;c[a+8>>2]=Pe(b)|0;d=a+7062408|0;b=c[d>>2]|0;if(b){pe(b);c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[e>>2]|0,0)|0}d=a+24|0;b=c[d>>2]|0;if(!f)switch(b|0){case 1:{c[d>>2]=4;d=0;break a}case 4:{c[d>>2]=3;d=0;break a}default:{d=0;break a}}else switch(b|0){case 0:{c[d>>2]=1;d=0;break a}case 3:{c[d>>2]=4;d=0;break a}default:{d=0;break a}}}else d=0}else d=-1;while(0);i=g;return d|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;Vj(c[d>>2]|0);c[d>>2]=0;d=0;break}b=Uj($(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Me(3,5472,e);rb(1)}else d=0}else d=0;else d=-1;while(0);i=f;return d|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e){pe(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[a+4>>2]|0,0)|0;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:{b=0;break}default:{Me(3,3985,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[760+(b<<2)>>2];Me(3,4059,h);b=0}else b=0}else b=0}else b=-1;i=j;return b|0}function Qd(a){a=a|0;var b=0,d=0;if(!a)b=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d){pe(d);c[b>>2]=0}Vj(c[a+4834144>>2]|0);Vj(c[a+4834148>>2]|0);Vj(a);b=0}return b|0}function Rd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function Sd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function Td(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ud(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Vd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Wd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Xd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Yd(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Zd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function _d(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function $d(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function ae(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function be(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){h[a+7062416>>3]=b;a=0}else a=-1;return a|0}function ce(a,b){a=a|0;b=b|0;if(!a)a=-1;else{h[b>>3]=+h[a+7062416>>3];a=0}return a|0}function de(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0.0,S=0.0;Q=i;i=i+80|0;M=Q+32|0;G=Q+24|0;z=Q;y=Q+52|0;D=Q+40|0;L=Q+64|0;P=a+44|0;c[P>>2]=0;J=a+7062388|0;f=c[J>>2]|0;a:do if((f|0)==4){I=a+7062396|0;e=c[I>>2]|0;do if((e|0)>0){f=4;e=e+-1|0}else{C=a+16|0;F=c[C>>2]|0;E=a+7062400|0;A=(c[E>>2]|0)+F|0;A=(A|0)>255?255:A;c[y>>2]=A;H=a+7062404|0;B=F-(c[H>>2]|0)|0;B=(B|0)<0?0:B;c[y+4>>2]=B;c[y+8>>2]=F;e=a+36|0;f=a+40|0;g=a+4|0;k=a+12|0;l=a+20|0;m=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+7062384|0;s=a+24|0;t=a+32|0;u=a+7062416|0;v=a+48|0;w=a+7062424|0;x=0;do{if((xe(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[a>>2]|0,c[k>>2]|0,c[y+(x<<2)>>2]|0,c[l>>2]|0,m,0)|0)<0){e=-1;break a}if((fe(c[e>>2]|0,c[f>>2]|0,m,c[l>>2]|0,1e6,70,1.0,p,q)|0)<0){e=-1;break a}if((je(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,p,c[q>>2]|0,c[r>>2]|0,c[l>>2]|0,c[s>>2]|0,(c[t>>2]|0)+184|0,+h[u>>3],v,P,c[w>>2]|0)|0)<0){e=-1;break a}c[D+(x<<2)>>2]=c[P>>2];x=x+1|0}while((x|0)<3);if((c[a>>2]|0)==1){N=c[D+4>>2]|0;g=c[D+8>>2]|0;f=c[D>>2]|0;c[z>>2]=B;c[z+4>>2]=N;c[z+8>>2]=F;c[z+12>>2]=g;c[z+16>>2]=A;c[z+20>>2]=f;Me(3,4153,z)}else{f=c[D>>2]|0;g=c[D+8>>2]|0}e=c[D+4>>2]|0;if((f|0)>(g|0)|(e|0)>(g|0)){f=(f|0)>=(e|0)?A:B;c[C>>2]=f;e=f-F|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[H>>2]=e;if((c[a>>2]|0)==1){c[G>>2]=f;Me(3,4229,G)}f=c[J>>2]|0;e=c[a+7062392>>2]|0;break}e=c[E>>2]|0;f=c[H>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+F|0)>254){c[E>>2]=1;e=1}if((F|0)<=(e|0))c[H>>2]=1;c[I>>2]=c[a+7062392>>2];N=47;break a}while(0);c[I>>2]=e;N=30}else N=30;while(0);b:do if((N|0)==30){c:do switch(f|0){case 3:{f=a+7062408|0;e=we(c[f>>2]|0,b,9,-7)|0;if((e|0)<0)break b;e=c[f>>2]|0;f=a+4834144|0;e=xe(c[e>>2]|0,c[e+8>>2]|0,c[e+12>>2]|0,5,c[a>>2]|0,c[a+12>>2]|0,0,0,f,c[e+4>>2]|0)|0;if((e|0)<0)break b;e=a+36|0;g=a+40|0;k=a+20|0;break}case 2:case 1:{g=a+7062396|0;e=c[g>>2]|0;if((e|0)>0){c[g>>2]=e+-1;N=44;break c}e=c[a+7062408>>2]|0;if((f|0)==1)e=ue(e,b,L)|0;else e=ve(e,b,L)|0;if((e|0)<0)break b;e=a+16|0;if((c[a>>2]|0)==1?(K=d[L>>0]|0,(c[e>>2]|0)!=(K|0)):0){c[M>>2]=(c[J>>2]|0)==1?4281:4288;c[M+4>>2]=K;Me(3,4293,M)}c[e>>2]=d[L>>0];c[g>>2]=c[a+7062392>>2];N=44;break}default:N=44}while(0);if((N|0)==44){e=a+36|0;g=a+40|0;k=a+20|0;f=a+4834144|0;if((xe(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[k>>2]|0,f,0)|0)<0){e=-1;break}}l=a+15416|0;m=a+15408|0;if((fe(c[e>>2]|0,c[g>>2]|0,f,c[k>>2]|0,1e6,70,1.0,l,m)|0)>=0?(je(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,l,c[m>>2]|0,c[a+7062384>>2]|0,c[k>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+h[a+7062416>>3],a+48|0,P,c[a+7062424>>2]|0)|0)>=0:0)N=47;else e=-1}while(0);d:do if((N|0)==47){t=a+28|0;if((c[t>>2]|0)==1){ee(a);e=0;break}u=a+4818296|0;r=a+24|0;q=c[u>>2]|0;if((q|0)>0){s=0;do{f=c[P>>2]|0;g=a+4818304+(s*264|0)+56|0;k=a+4818304+(s*264|0)+64|0;if((f|0)>0){o=+(c[a+4818304+(s*264|0)>>2]|0);e=-1;l=0;n=.5;while(1){j=+(c[a+48+(l<<8)>>2]|0);R=o/j;if(!(R<.7|R>1.43)?(R=+h[a+48+(l<<8)+56>>3]-+h[g>>3],O=+h[a+48+(l<<8)+64>>3]-+h[k>>3],O=(R*R+O*O)/j,O=(f|0)){p=e;break}else n=j}}else p=-1;e:do if((p|0)>-1){m=c[r>>2]|0;switch(m|0){case 2:case 1:case 0:break;case 4:case 3:{g=a+48+(p<<8)+40|0;j=+h[a+4818304+(s*264|0)+40>>3];if(!(+h[g>>3]>3]<+h[f>>3]))break e}else{f=a+4818304+(s*264|0)+48|0;e=a+48+(p<<8)+48|0}h[g>>3]=j;c[a+48+(p<<8)+8>>2]=c[a+4818304+(s*264|0)+8>>2];h[e>>3]=+h[f>>3];c[a+48+(p<<8)+12>>2]=c[a+4818304+(s*264|0)+12>>2];e=-1;n=1.0e8;g=0;while(1){j=0.0;f=0;do{b=(f+g|0)%4|0;o=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(o*o+R*R);f=f+1|0}while((f|0)!=4);f=j>2]=(b+(c[a+4818304+(s*264|0)+20>>2]|0)|0)%4|0;c[a+48+(p<<8)+24>>2]=(b+(c[a+4818304+(s*264|0)+24>>2]|0)|0)%4|0;break e}default:{e=-1;break d}}e=a+48+(p<<8)+32|0;o=+h[a+4818304+(s*264|0)+32>>3];if(+h[e>>3]>3]=o;l=c[a+4818304+(s*264|0)+4>>2]|0;c[a+48+(p<<8)+4>>2]=l;g=a+4818304+(s*264|0)+16|0;e=-1;n=1.0e8;k=0;while(1){j=0.0;f=0;do{b=(f+k|0)%4|0;S=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(S*S+R*R);f=f+1|0}while((f|0)!=4);if(j>2]|0)|0)%4|0;else j=n;k=k+1|0;if((k|0)==4)break;else n=j}c[a+48+(p<<8)+16>>2]=e;if(m>>>0<2){c[a+48+(p<<8)+8>>2]=l;h[a+48+(p<<8)+40>>3]=o;c[a+48+(p<<8)+20>>2]=e;break}else{c[a+48+(p<<8)+12>>2]=l;h[a+48+(p<<8)+48>>3]=o;c[a+48+(p<<8)+24>>2]=e;break}}}while(0);s=s+1|0}while((s|0)<(q|0))}ee(a);if((c[u>>2]|0)>0){g=0;e=0;do{f=a+4818304+(g*264|0)|0;N=a+4818304+(g*264|0)+256|0;b=(c[N>>2]|0)+1|0;c[N>>2]=b;if((b|0)<4){if((g|0)!=(e|0))ik(a+4818304+(e*264|0)|0,f|0,264)|0;e=e+1|0}g=g+1|0}while((g|0)<(c[u>>2]|0))}else e=0;c[u>>2]=e;e=c[P>>2]|0;f:do if((e|0)>0){m=0;do{k=a+48+(m<<8)|0;g=c[a+48+(m<<8)+4>>2]|0;if((g|0)>=0){l=c[u>>2]|0;g:do if((l|0)>0){f=0;do{if((c[a+4818304+(f*264|0)+4>>2]|0)==(g|0))break g;f=f+1|0}while((f|0)<(l|0))}else f=0;while(0);if((f|0)==(l|0)){if((l|0)==60)break f;c[u>>2]=l+1}ik(a+4818304+(f*264|0)|0,k|0,256)|0;c[a+4818304+(f*264|0)+256>>2]=1}m=m+1|0;e=c[P>>2]|0}while((m|0)<(e|0))}while(0);if((c[t>>2]|0)!=2?(c[u>>2]|0)>0:0){l=0;while(1){g=a+4818304+(l*264|0)+56|0;k=a+4818304+(l*264|0)+64|0;h:do if((e|0)>0){n=+(c[a+4818304+(l*264|0)>>2]|0);f=0;do{j=+(c[a+48+(f<<8)>>2]|0);S=n/j;if(!(S<.7|S>1.43)?(R=+h[a+48+(f<<8)+56>>3]-+h[g>>3],S=+h[a+48+(f<<8)+64>>3]-+h[k>>3],(R*R+S*S)/j<.5):0)break h;f=f+1|0}while((f|0)<(e|0))}else f=0;while(0);if((f|0)==(e|0)){ik(a+48+(e<<8)|0,a+4818304+(l*264|0)|0,256)|0;e=(c[P>>2]|0)+1|0;c[P>>2]=e}l=l+1|0;if((l|0)>=(c[u>>2]|0)){e=0;break}}}else e=0}while(0);i=Q;return e|0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+8>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}case 2:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+12>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}default:{e=c[a+44>>2]|0;if((e|0)>0){f=0;do{b=a+48+(f<<8)+8|0;if((c[b>>2]|0)>-1?+h[a+48+(f<<8)+40>>3]<.5:0){c[b>>2]=-1;d=0}else d=1;b=a+48+(f<<8)+12|0;if(((c[b>>2]|0)>-1?+h[a+48+(f<<8)+48>>3]<.5:0)?(c[b>>2]=-1,(d|0)==0):0)c[a+48+(f<<8)+236>>2]=6;f=f+1|0}while((f|0)<(e|0))}}}return}function fe(a,b,d,e,f,g,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+96|0;F=L+56|0;H=L+48|0;G=L+8|0;I=L;K=(e|0)==1;if(K){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;g=(g|0)/4|0}c[l>>2]=0;C=d+8|0;D=a+-2|0;z=b+-2|0;A=d+1179664|0;a:do if((c[C>>2]|0)>0){B=0;while(1){w=d+12+(B<<2)|0;y=c[w>>2]|0;b:do if(((((!((y|0)<(g|0)|(y|0)>(f|0))?(E=d+131084+(B<<4)|0,(c[E>>2]|0)!=1):0)?(c[d+131084+(B<<4)+4>>2]|0)!=(D|0):0)?(c[d+131084+(B<<4)+8>>2]|0)!=1:0)?(c[d+131084+(B<<4)+12>>2]|0)!=(z|0):0)?(ge(c[d>>2]|0,a,0,A,B+1|0,E,k+((c[l>>2]|0)*80048|0)|0)|0)>=0:0){t=c[w>>2]|0;x=c[l>>2]|0;u=k+(x*80048|0)+28|0;b=c[u>>2]|0;v=k+(x*80048|0)+40028|0;n=c[v>>2]|0;y=k+(x*80048|0)+24|0;o=(c[y>>2]|0)+-1|0;if((o|0)>1){r=0;s=1;e=0;while(1){p=(c[k+(x*80048|0)+28+(s<<2)>>2]|0)-b|0;p=$(p,p)|0;q=(c[k+(x*80048|0)+40028+(s<<2)>>2]|0)-n|0;p=($(q,q)|0)+p|0;q=(p|0)>(r|0);e=q?s:e;s=s+1|0;if((s|0)>=(o|0))break;else r=q?p:r}}else e=0;m=+(t|0)/.75*.01*j;c[H>>2]=0;c[I>>2]=0;c:do if((he(u,v,0,e,m,F,H)|0)>=0?(he(u,v,e,(c[y>>2]|0)+-1|0,m,G,I)|0)>=0:0){b=c[H>>2]|0;n=c[I>>2]|0;do if((b|0)==1&(n|0)==1){b=c[G>>2]|0;n=c[F>>2]|0}else{if((b|0)>1&(n|0)==0){b=(e|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,0,b,m,F,H)|0)<0)break c;if((he(u,v,b,e,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=e;n=c[F>>2]|0;e=c[G>>2]|0;break}if(!((b|0)==0&(n|0)>1))break c;b=(e+-1+(c[y>>2]|0)|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,e,b,m,F,H)|0)<0)break c;if((he(u,v,b,(c[y>>2]|0)+-1|0,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=c[G>>2]|0;n=e;e=c[F>>2]|0}while(0);c[k+(x*80048|0)+80028>>2]=0;c[k+(x*80048|0)+80032>>2]=n;c[k+(x*80048|0)+80036>>2]=e;c[k+(x*80048|0)+80040>>2]=b;c[k+(x*80048|0)+80044>>2]=(c[y>>2]|0)+-1;c[k+((c[l>>2]|0)*80048|0)>>2]=c[w>>2];y=c[l>>2]|0;h[k+(y*80048|0)+8>>3]=+h[d+655376+(B<<4)>>3];h[k+(y*80048|0)+16>>3]=+h[d+655376+(B<<4)+8>>3];y=y+1|0;c[l>>2]=y;if((y|0)==60){e=60;break a}else break b}while(0)}while(0);B=B+1|0;if((B|0)>=(c[C>>2]|0)){J=4;break}}}else J=4;while(0);if((J|0)==4)e=c[l>>2]|0;if((e|0)>0){o=0;do{a=o;o=o+1|0;g=k+(a*80048|0)+16|0;n=k+(a*80048|0)|0;if((o|0)<(e|0)){j=+h[k+(a*80048|0)+8>>3];f=o;do{M=j-+h[k+(f*80048|0)+8>>3];m=+h[g>>3]-+h[k+(f*80048|0)+16>>3];m=M*M+m*m;e=c[n>>2]|0;a=k+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(m<+((e|0)/4|0|0))c[a>>2]=0}else if(m<+((b|0)/4|0|0))c[n>>2]=0;f=f+1|0;e=c[l>>2]|0}while((f|0)<(e|0))}}while((o|0)<(e|0))}if((e|0)>0){f=0;do{if(!(c[k+(f*80048|0)>>2]|0)){a=f+1|0;if((a|0)<(e|0)){e=f;b=a;while(1){ik(k+(e*80048|0)|0,k+(b*80048|0)|0,80048)|0;e=c[l>>2]|0;a=b+1|0;if((a|0)<(e|0)){e=b;b=a}else break}}e=e+-1|0;c[l>>2]=e}f=f+1|0}while((f|0)<(e|0))}if(K&(e|0)>0){b=0;while(1){c[k>>2]=c[k>>2]<<2;e=k+8|0;h[e>>3]=+h[e>>3]*2.0;e=k+16|0;h[e>>3]=+h[e>>3]*2.0;e=k+24|0;if((c[e>>2]|0)>0){a=0;do{K=k+28+(a<<2)|0;c[K>>2]=c[K>>2]<<1;K=k+40028+(a<<2)|0;c[K>>2]=c[K>>2]<<1;a=a+1|0}while((a|0)<(c[e>>2]|0))}b=b+1|0;if((b|0)>=(c[l>>2]|0))break;else k=k+80048|0}}i=L;return 0}function ge(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80032|0;p=w+16|0;o=w+8|0;l=w;u=w+40024|0;v=w+24|0;t=c[h+8>>2]|0;e=c[h>>2]|0;h=c[h+4>>2]|0;a:do if((e|0)<=(h|0)){k=e;e=a+(($(t,d)|0)+e<<1)|0;while(1){s=b[e>>1]|0;if(s<<16>>16>0?(c[f+((s<<16>>16)+-1<<2)>>2]|0)==(g|0):0){n=k;break}if((k|0)<(h|0)){k=k+1|0;e=e+2|0}else{x=6;break a}}q=j+24|0;c[q>>2]=1;r=j+28|0;c[r>>2]=n;s=j+40028|0;c[s>>2]=t;f=t;m=n;k=1;e=5;while(1){h=(e+5|0)%8|0;e=0;while(1){g=c[776+(h<<2)>>2]|0;l=c[808+(h<<2)>>2]|0;if((b[a+(l+m+($(g+f|0,d)|0)<<1)>>1]|0)>0){e=g;g=h;break}e=e+1|0;h=(h+1|0)%8|0;if((e|0)>=8){x=11;break}}if((x|0)==11){x=0;if((e|0)==8){x=13;break}l=c[808+(h<<2)>>2]|0;e=c[776+(h<<2)>>2]|0;g=h}c[j+28+(k<<2)>>2]=l+m;h=c[q>>2]|0;c[j+40028+(h<<2)>>2]=e+(c[j+40028+(h+-1<<2)>>2]|0);e=c[q>>2]|0;h=j+28+(e<<2)|0;if((c[h>>2]|0)==(n|0)?(c[j+40028+(e<<2)>>2]|0)==(t|0):0){f=e;x=16;break}k=e+1|0;c[q>>2]=k;if((k|0)==9999){x=19;break}f=c[j+40028+(e<<2)>>2]|0;m=c[h>>2]|0;e=g}if((x|0)==13){Me(3,4347,o);e=-1;break}else if((x|0)==16){if((f|0)>1){l=0;g=1;h=0;while(1){e=(c[j+28+(g<<2)>>2]|0)-n|0;e=$(e,e)|0;k=(c[j+40028+(g<<2)>>2]|0)-t|0;e=($(k,k)|0)+e|0;k=(e|0)>(l|0);h=k?g:h;g=g+1|0;if((g|0)>=(f|0))break;else l=k?e:l}}else h=0;if((h|0)>0){e=0;do{c[u+(e<<2)>>2]=c[j+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}if((h|0)<(f|0)){e=h;do{t=e-h|0;c[j+28+(t<<2)>>2]=c[j+28+(e<<2)>>2];c[j+40028+(t<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(c[q>>2]|0))}if((h|0)>0){e=0;do{t=e-h|0;c[j+28+((c[q>>2]|0)+t<<2)>>2]=c[u+(e<<2)>>2];c[j+40028+((c[q>>2]|0)+t<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}c[j+28+(c[q>>2]<<2)>>2]=c[r>>2];c[j+40028+(c[q>>2]<<2)>>2]=c[s>>2];c[q>>2]=(c[q>>2]|0)+1;e=0;break}else if((x|0)==19){Me(3,4354,p);e=-1;break}}else x=6;while(0);if((x|0)==6){Me(3,4340,l);e=-1}i=w;return e|0}function he(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0;i=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;o=+(i-q|0);l=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(l-r|0);k=+(($(r,q)|0)-($(l,i)|0)|0);i=d+1|0;if((i|0)<(e|0)){j=0.0;l=i;do{s=k+(o*+(c[a+(l<<2)>>2]|0)+m*+(c[b+(l<<2)>>2]|0));s=s*s;r=s>j;j=r?s:j;i=r?l:i;l=l+1|0}while((l|0)<(e|0))}else j=0.0;if(j/(o*o+m*m)>f)if(((he(a,b,d,i,f,g,h)|0)>=0?(n=c[h>>2]|0,(n|0)<=5):0)?(c[g+(n<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(he(a,b,i,e,f,g,h)|0)>=0):0)p=7;else i=-1;else p=7;if((p|0)==7)i=0;return i|0}function ie(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;t=y+4|0;u=y;v=nf(2)|0;w=nf(2)|0;x=Re(2,2)|0;q=0;a:while(1){r=q;q=q+1|0;s=c[e+(q<<2)>>2]|0;l=c[e+(r<<2)>>2]|0;p=+(s+1-l|0)*.05+.5;l=~~(+(l|0)+p);s=~~(+(s|0)-p)-l|0;n=s+1|0;d=Re(n,2)|0;if((s|0)>-1){s=0;do{z=s+l|0;if((mf(f,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),t,u)|0)<0){l=10;break a}z=s<<1;A=c[d>>2]|0;h[A+(z<<3)>>3]=+g[t>>2];h[A+((z|1)<<3)>>3]=+g[u>>2];s=s+1|0}while((s|0)<(n|0))}if((Ye(d,x,v,w)|0)<0){l=10;break}A=c[x>>2]|0;o=+h[A+8>>3];h[j+(r*24|0)>>3]=o;p=-+h[A>>3];h[j+(r*24|0)+8>>3]=p;A=c[w>>2]|0;h[j+(r*24|0)+16>>3]=-(o*+h[A>>3]+ +h[A+8>>3]*p);We(d)|0;if((q|0)>=4){l=7;break}}b:do if((l|0)==7){We(x)|0;of(w)|0;of(v)|0;q=0;while(1){d=(q+3|0)%4|0;l=j+(d*24|0)|0;m=+h[j+(q*24|0)+8>>3];n=j+(q*24|0)|0;o=+h[j+(d*24|0)+8>>3];p=+h[l>>3]*m-+h[n>>3]*o;if(+O(+p)<.0001){d=-1;break b}A=j+(q*24|0)+16|0;z=j+(d*24|0)+16|0;h[k+(q<<4)>>3]=(o*+h[A>>3]-m*+h[z>>3])/p;h[k+(q<<4)+8>>3]=(+h[n>>3]*+h[z>>3]-+h[l>>3]*+h[A>>3])/p;q=q+1|0;if((q|0)>=4){d=0;break}}}else if((l|0)==10){We(d)|0;We(x)|0;of(w)|0;of(v)|0;d=-1}while(0);i=y;return d|0}function je(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;D=F+4|0;E=F;z=m>>>0<2;A=(m|0)==2;if((j|0)>0){C=0;s=0;do{c[p+(s<<8)>>2]=c[f+(C*80048|0)>>2];if((mf(n,+h[f+(C*80048|0)+8>>3],+h[f+(C*80048|0)+16>>3],D,E)|0)>=0?(h[p+(s<<8)+56>>3]=+g[D>>2],h[p+(s<<8)+64>>3]=+g[E>>2],B=p+(s<<8)+168|0,(ie(f+(C*80048|0)+28|0,f+(C*80048|0)+40028|0,c[f+(C*80048|0)+24>>2]|0,f+(C*80048|0)+80028|0,n,p+(s<<8)+72|0,B)|0)>=0):0){t=p+(s<<8)+8|0;u=p+(s<<8)+20|0;v=p+(s<<8)+40|0;w=p+(s<<8)+12|0;x=p+(s<<8)+24|0;y=p+(s<<8)+48|0;switch(De(k,l,m,a,b,d,e,n,B,o,t,u,v,w,x,y,r,p+(s<<8)+240|0,p+(s<<8)+248|0)|0){case 0:{c[p+(s<<8)+236>>2]=0;break}case -1:{c[p+(s<<8)+236>>2]=2;break}case -2:{c[p+(s<<8)+236>>2]=3;break}case -3:{c[p+(s<<8)+236>>2]=4;break}case -4:{c[p+(s<<8)+236>>2]=5;break}case -5:{c[p+(s<<8)+236>>2]=9;break}case -6:{c[p+(s<<8)+236>>2]=1;break}default:{}}if(!z){if(A){c[p+(s<<8)+4>>2]=c[w>>2];c[p+(s<<8)+16>>2]=c[x>>2];h[p+(s<<8)+32>>3]=+h[y>>3]}}else{c[p+(s<<8)+4>>2]=c[t>>2];c[p+(s<<8)+16>>2]=c[u>>2];h[p+(s<<8)+32>>3]=+h[v>>3]}s=s+1|0}C=C+1|0}while((C|0)<(j|0))}else s=0;c[q>>2]=s;i=F;return 0}function ke(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;k=i;i=i+288|0;m=k+200|0;l=k+104|0;f=k+264|0;j=k+8|0;g=k;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=d*-.5;h[l>>3]=n;d=d*.5;h[l+8>>3]=d;h[l+16>>3]=0.0;h[l+24>>3]=d;h[l+32>>3]=d;h[l+40>>3]=0.0;h[l+48>>3]=d;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=4;if((Ef(c[a>>2]|0,m,l,4,j)|0)<0)d=1.0e8;else{p=(zf(c[a>>2]|0,f,j,e,g)|0)<0;d=p?1.0e8:+h[g>>3]}i=k;return +d}function le(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;j=i;i=i+192|0;m=j+104|0;l=j+8|0;k=j+168|0;g=j;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=e*-.5;h[l>>3]=n;e=e*.5;h[l+8>>3]=e;h[l+16>>3]=0.0;h[l+24>>3]=e;h[l+32>>3]=e;h[l+40>>3]=0.0;h[l+48>>3]=e;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[k>>2]=m;c[k+4>>2]=l;c[k+8>>2]=4;b=(zf(c[a>>2]|0,k,d,f,g)|0)<0;i=j;return +(b?1.0e8:+h[g>>3])}function me(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((zf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function ne(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((Bf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Uj(2080)|0;a:do if(f){c[f+2068>>2]=d;b:do if(!e){switch(d|0){case 5:case 12:case 13:case 14:break;default:{g=4;break b}}c[f+2076>>2]=0}else g=4;while(0);do if((g|0)==4){g=Uj($(b,a)|0)|0;c[f>>2]=g;if(!g){Vj(f);f=0;break a}else{c[f+2076>>2]=1;break}}while(0);c[f+2072>>2]=e;c[f+4>>2]=0;c[f+8>>2]=a;c[f+12>>2]=b}while(0);return f|0}function pe(a){a=a|0;if(a){if(c[a+2076>>2]|0)Vj(c[a>>2]|0);Vj(c[a+4>>2]|0);Vj(a)}return}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;g=k;f=c[b+2068>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:if(!(c[b+2072>>2]|0)){c[b>>2]=e;f=0;break a}else{ik(c[b>>2]|0,e|0,$(c[b+12>>2]|0,c[b+8>>2]|0)|0)|0;f=0;break a}default:{if((f&-2|0)==2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j|2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if((f&-3|0)==4){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|2)>>0]|0)+(d[e+(j|1)>>0]|0)+(d[e+(j|3)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if(f>>>0<2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j+1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j+2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+3|0}}switch(f|0){case 8:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+j>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 7:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+(j|1)>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 9:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;l=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&248)+10+(m<<5&224)+(l>>>3&28)+(l<<3&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 10:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){l=d[e+j>>0]|0;m=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((l&248)+12+(l<<5&224)+(m>>>3&24)+(m<<2&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 11:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&240)+24+(m<<4&240)+((d[e+(j|1)>>0]|0)&240)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}default:{Me(3,4361,g);f=-1;break a}}}}while(0);i=k;return f|0}function re(a,b){a=a|0;b=b|0;var e=0,f=0;if((a|0)!=0&(b|0)!=0?(qe(a,b)|0)>=0:0){ek(a+16|0,0,1024)|0;b=c[a>>2]|0;f=$(c[a+12>>2]|0,c[a+8>>2]|0)|0;e=b+f|0;if((f|0)>0){do{f=a+16+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}while(b>>>0>>0);b=0}else b=0}else b=-1;return b|0}function se(a,b){a=a|0;b=b|0;var d=0;b=re(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+16+(d<<2)>>2]|0)+b|0;c[a+1040+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function te(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0;if(!(e<0.0|e>1.0)){d=se(b,d)|0;if((d|0)>=0){i=~~(+($(c[b+12>>2]|0,c[b+8>>2]|0)|0)*e)>>>0;d=0;while(1){h=d&255;g=c[b+1040+(h<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}if((g|0)==(i|0))do d=d+1<<24>>24;while((c[b+1040+((d&255)<<2)>>2]|0)==(i|0));a[f>>0]=((d&255)+h|0)>>>1;d=0}}else d=-1;return d|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;return te(a,b,.5,c)|0}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0;d=re(b,d)|0;if((d|0)>=0){d=1;f=0.0;do{f=f+ +(($(c[b+16+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+($(c[b+12>>2]|0,c[b+8>>2]|0)|0);l=0;h=0.0;d=0;j=0.0;m=0.0;while(1){g=c[b+16+(l<<2)>>2]|0;m=m+ +(g>>>0);if(m!=0.0){i=k-m;if(i==0.0)break;h=h+ +(($(l,g)|0)>>>0);n=h/m-(f-h)/i;i=n*(m*i*n);if(i>j)d=l&255;else i=j}else i=j;if((l&255)<<24>>24==-1)break;else{l=l+1|0;j=i}}a[e>>0]=d;d=0}return d|0}function we(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=re(b,e)|0;do if((e|0)>=0){t=b+4|0;if(!(c[t>>2]|0)){e=b+8|0;h=b+12|0;s=Uj($(c[h>>2]|0,c[e>>2]|0)|0)|0;c[t>>2]=s;if(!s){e=-1;break}else s=e}else{s=b+8|0;h=b+12|0}q=f>>1;r=0-q|0;e=c[h>>2]|0;if((e|0)>0){n=(q|0)<(r|0);o=(q|0)<(r|0);p=0;do{e=c[s>>2]|0;if((e|0)>0){m=0;do{if(n){i=0;f=0}else{i=0;l=r;f=0;while(1){j=l+p|0;if(((j|0)>=0?(j|0)<(c[h>>2]|0):0)?(u=$(e,j)|0,!o):0){k=r;while(1){j=k+m|0;if((j|0)>-1&(j|0)<(e|0)){i=i+1|0;f=(d[(c[b>>2]|0)+(u+j)>>0]|0)+f|0}if((k|0)<(q|0))k=k+1|0;else break}}if((l|0)<(q|0))l=l+1|0;else break}}l=($(e,p)|0)+m|0;a[(c[t>>2]|0)+l>>0]=(f|0)/(i|0)|0;m=m+1|0;e=c[s>>2]|0}while((m|0)<(e|0))}p=p+1|0;e=c[h>>2]|0}while((p|0)<(e|0))}if((g|0)!=0?($(e,c[s>>2]|0)|0)>0:0){e=0;do{b=(c[t>>2]|0)+e|0;a[b>>0]=(d[b>>0]|0)+g;e=e+1|0}while((e|0)<($(c[h>>2]|0,c[s>>2]|0)|0));e=0}else e=0}while(0);return e|0}function xe(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;a:do switch(e|0){case 0:{switch(f|0){case 1:{if(j){k=Fc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=wc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=yc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Bc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Cc(a,b,c,g,i)|0;break a}case 8:{k=Ec(a,b,c,g,i)|0;break a}case 7:{k=Dc(a,b,c,g,i)|0;break a}case 9:{k=xc(a,b,c,g,i)|0;break a}case 10:{k=Ac(a,b,c,g,i)|0;break a}case 11:{k=zc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=nc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=pc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=sc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=tc(a,b,c,g,i)|0;break a}case 8:{k=vc(a,b,c,g,i)|0;break a}case 7:{k=uc(a,b,c,g,i)|0;break a}case 9:{k=oc(a,b,c,g,i)|0;break a}case 10:{k=rc(a,b,c,g,i)|0;break a}case 11:{k=qc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Yc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=Pc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Rc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Uc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Vc(a,b,c,g,i)|0;break a}case 8:{k=Xc(a,b,c,g,i)|0;break a}case 7:{k=Wc(a,b,c,g,i)|0;break a}case 9:{k=Qc(a,b,c,g,i)|0;break a}case 10:{k=Tc(a,b,c,g,i)|0;break a}case 11:{k=Sc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Gc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Ic(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Lc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Mc(a,b,c,g,i)|0;break a}case 8:{k=Oc(a,b,c,g,i)|0;break a}case 7:{k=Nc(a,b,c,g,i)|0;break a}case 9:{k=Hc(a,b,c,g,i)|0;break a}case 10:{k=Kc(a,b,c,g,i)|0;break a}case 11:{k=Jc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}case 1:{switch(f|0){case 1:{if(j){k=pd(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=gd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=id(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=ld(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=md(a,b,c,g,i)|0;break a}case 8:{k=od(a,b,c,g,i)|0;break a}case 7:{k=nd(a,b,c,g,i)|0;break a}case 9:{k=hd(a,b,c,g,i)|0;break a}case 10:{k=kd(a,b,c,g,i)|0;break a}case 11:{k=jd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Zc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=$c(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=cd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=dd(a,b,c,g,i)|0;break a}case 8:{k=fd(a,b,c,g,i)|0;break a}case 7:{k=ed(a,b,c,g,i)|0;break a}case 9:{k=_c(a,b,c,g,i)|0;break a}case 10:{k=bd(a,b,c,g,i)|0;break a}case 11:{k=ad(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Id(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=zd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Bd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Ed(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Fd(a,b,c,g,i)|0;break a}case 8:{k=Hd(a,b,c,g,i)|0;break a}case 7:{k=Gd(a,b,c,g,i)|0;break a}case 9:{k=Ad(a,b,c,g,i)|0;break a}case 10:{k=Dd(a,b,c,g,i)|0;break a}case 11:{k=Cd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=qd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=sd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=vd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=wd(a,b,c,g,i)|0;break a}case 8:{k=yd(a,b,c,g,i)|0;break a}case 7:{k=xd(a,b,c,g,i)|0;break a}case 9:{k=rd(a,b,c,g,i)|0;break a}case 10:{k=ud(a,b,c,g,i)|0;break a}case 11:{k=td(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}default:rb(0)}while(0);return k|0}function ye(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;d=0}else d=-1;return d|0}function ze(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;b=0}else b=-1;return b|0}function Ae(){return Be(16,50)|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+56|0;p=r+48|0;j=r+40|0;h=r+32|0;g=r+24|0;f=r+16|0;e=r+8|0;d=r;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){n=Uj(32)|0;if(!n){Me(3,5472,d);rb(1)}c[n>>2]=0;c[n+4>>2]=b;c[n+28>>2]=a;m=Uj(b<<2)|0;c[n+8>>2]=m;if(!m){Me(3,5472,e);rb(1)}d=b<<4;l=Uj(d)|0;c[n+12>>2]=l;if(!l){Me(3,5472,f);rb(1)}f=Uj(d)|0;k=n+20|0;c[k>>2]=f;if(!f){Me(3,5472,g);rb(1)}d=b<<5;g=Uj(d)|0;c[n+16>>2]=g;if(!g){Me(3,5472,h);rb(1)}h=Uj(d)|0;c[n+24>>2]=h;if(!h){Me(3,5472,j);rb(1)}e=$(a,a)|0;d=e*12|0;e=e<<2;if((b|0)>0){a=0;b:while(1){c[m+(a<<2)>>2]=0;f=a<<2;h=0;while(1){if((h|0)>=4)break;j=Uj(d)|0;g=h+f|0;c[l+(g<<2)>>2]=j;if(!j){d=18;break b}j=Uj(e)|0;c[(c[k>>2]|0)+(g<<2)>>2]=j;if(!j){d=20;break b}else h=h+1|0}a=a+1|0;if((a|0)>=(b|0)){o=n;break a}}if((d|0)==18){Me(3,5472,p);rb(1)}else if((d|0)==20){Me(3,5472,q);rb(1)}}else o=n}else o=0;while(0);i=r;return o|0}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)b=-1;else{b=a+4|0;d=a+8|0;e=a+12|0;f=a+20|0;if((c[b>>2]|0)>0){g=0;do{if(c[(c[d>>2]|0)+(g<<2)>>2]|0)Le(a,g)|0;h=g<<2;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);i=1+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);i=2+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);h=3+h|0;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);g=g+1|0}while((g|0)<(c[b>>2]|0))}Vj(a);b=0}return b|0}function De(b,e,f,g,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+12448|0;A=L+12440|0;z=L+8|0;J=L;I=L+12312|0;K=L+24|0;do if((f+-2|0)>>>0<3){if((v|0)!=2830){y=v&255;if((Ee(e,2,y,y*3|0,g,j,k,l,m,n,o,K)|0)<0){c[s>>2]=-1;y=-6;break}y=Fe(K,y,s,t,u,v,w)|0;if(!x)break;c[x>>2]=0;c[x+4>>2]=0;break}if((Ee(e,2,14,42,g,j,k,l,m,n,.875,K)|0)<0){c[s>>2]=-1;y=-6;break}c[z>>2]=0;c[z+4>>2]=182;c[z+8>>2]=195;c[z+12>>2]=13;v=a[K+(c[z>>2]|0)>>0]|0;y=(v&255)>0?v:0;v=(v&255)<255?v:-1;H=a[K+(c[z+4>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+8>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+12>>2]|0)>>0]|0;y=((H&255)>(y&255)?H:y)&255;v=((H&255)<(v&255)?H:v)&255;a:do if((y-v|0)>=30){H=(y+v|0)>>>1;a[A>>0]=(d[K+(c[z>>2]|0)>>0]|0)>>>0>>0&1;a[A+1>>0]=(d[K+(c[z+4>>2]|0)>>0]|0)>>>0>>0&1;a[A+2>>0]=(d[K+(c[z+8>>2]|0)>>0]|0)>>>0>>0&1;a[A+3>>0]=(d[K+(c[z+12>>2]|0)>>0]|0)>>>0>>0&1;v=0;while(1){y=v+1|0;if(((a[A+v>>0]|0)==1?(a[A+((y|0)%4|0)>>0]|0)==1:0)?(a[A+((v+2|0)%4|0)>>0]|0)==0:0){G=v;break}if((y|0)<4)v=y;else{G=y;break}}switch(G|0){case 4:{c[t>>2]=0;h[u>>3]=-1.0;y=-3;v=0;z=0;break a}case 0:{z=119;y=255;v=0;do{D=v+-3|0;B=(v&-2|0)==12;C=v*14|0;A=0;do{if(((A+-3|D)>>>0>=8?(F=A&-2,(A|v)>>>0>=2):0)?!(B&((F|0)==0|(F|0)==12)):0){E=(d[K+(A+C)>>0]|0)-H|0;a[I+z>>0]=E>>>31;E=(E|0)>-1?E:0-E|0;z=z+-1|0;y=(E|0)<(y|0)?E:y}A=A+1|0}while((A|0)!=14);v=v+1|0}while((v|0)!=14);break}case 1:{z=119;y=255;v=0;do{D=v+-3|0;C=v&-2;B=(C|0)==0;C=(C|0)==12;A=13;while(1){if(((A+-3|D)>>>0>=8?(E=(A&-2|0)==12,!(B&E)):0)?!(C&(A>>>0<2|E)):0){F=(d[K+((A*14|0)+v)>>0]|0)-H|0;a[I+z>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;z=z+-1|0;y=(F|0)<(y|0)?F:y}if((A|0)>0)A=A+-1|0;else break}v=v+1|0}while((v|0)!=14);break}case 2:{v=119;y=255;D=13;while(1){B=D+-3|0;C=D>>>0<2|(D&-2|0)==12;A=D*14|0;z=13;while(1){if((z+-3|B)>>>0>=8?!((z|D)>>>0<2|C&(z&-2|0)==12):0){F=(d[K+(z+A)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}if((z|0)>0)z=z+-1|0;else break}if((D|0)>0)D=D+-1|0;else break}break}case 3:{v=119;y=255;D=13;while(1){C=D+-3|0;B=D&-2;A=(B|0)==12;B=(B|0)==0;z=0;do{if(((z+-3|C)>>>0>=8?!(A&z>>>0<2|(z|D)>>>0<2):0)?!(B&(z&-2|0)==12):0){F=(d[K+((z*14|0)+D)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}z=z+1|0}while((z|0)!=14);if((D|0)>0)D=D+-1|0;else break}break}default:y=255}c[t>>2]=G;h[u>>3]=(y|0)>30?1.0:+(y|0)/30.0;y=Ie(2830,0,0,I,J)|0;if((y|0)<0){y=-4;v=0;z=0}else{if(w)c[w>>2]=y;z=J;y=0;v=c[z>>2]|0;z=c[z+4>>2]|0}}else{c[t>>2]=0;h[u>>3]=-1.0;y=-2;v=0;z=0}while(0);if((y|0)<0){c[s>>2]=-1;break}if((v|0)==-1&(z|0)==-1){c[s>>2]=-1;y=-5;break}c[s>>2]=(v&-32768|0)==0&0==0?v&32767:0;if(!x)y=0;else{y=x;c[y>>2]=v;c[y+4>>2]=z;y=0}}else y=1;while(0);b:do switch(f|0){case 0:case 1:case 3:case 4:{if(!b){c[p>>2]=-1;v=-1;break b}v=b+28|0;z=c[v>>2]|0;A=z<<2;switch(f|0){case 0:case 3:if((Ee(e,0,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,0,K,c[v>>2]|0,p,q,r)|0;break b}default:if((Ee(e,1,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,1,K,c[v>>2]|0,p,q,r)|0;break b}}}default:v=1}while(0);if((y|0)!=1){if((v|0)!=1)y=(v&y|0)<0?v:0}else y=v;i=L;return y|0} -function _j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;b=k+8|0;h=k+4|0;d=k;c[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;c[d>>2]=a-e;b=($j(3712,3904,d,b)|0)-3712>>2;f=b;b=(c[3712+(b<<2)>>2]|0)+e|0;a:while(1){e=5;while(1){if(e>>>0>=47){e=211;j=8;break}d=c[3520+(e<<2)>>2]|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=106;break a}if((b|0)==($(a,d)|0))break;else e=e+1|0}b:do if((j|0)==8)while(1){j=0;d=(b>>>0)/(e>>>0)|0;if(d>>>0>>0){j=105;break a}if((b|0)==($(d,e)|0))break b;d=e+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+208|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break;else{e=e+210|0;j=8}}while(0);e=f+1|0;b=(e|0)==48;e=b?0:e;b=(b&1)+g|0;f=e;g=b;b=(c[3712+(e<<2)>>2]|0)+(b*210|0)|0}if((j|0)==105){c[h>>2]=b;break}else if((j|0)==106){c[h>>2]=b;break}}else b=c[($j(3520,3712,h,b)|0)>>2]|0;while(0);i=k;return b|0}function $j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a;d=b-a>>2;a:while(1){while(1){if(!d)break a;a=(d|0)/2|0;if((c[e+(a<<2)>>2]|0)>>>0>>0)break;else d=a}e=e+(a+1<<2)|0;d=d+-1-a|0}return e|0}function ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)oi(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=Kh(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ik(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function bk(b){b=b|0;if(a[b>>0]&1)Lh(c[b+8>>2]|0);return}function ck(){}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Xa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function kk(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=dk(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return dk((rk(h,g,dk(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=dk(h^a,g^b,h,g)|0;b=D;rk(a,b,dk(l^d,k^e,l,k)|0,D,j)|0;e=dk(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=lk(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rk(a,b,c,d,0)|0}function qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;rk(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function rk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=kk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kk(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gk(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;dk(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=dk(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b|0,c|0,d|0)|0}function tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Rb[a&3](b|0,c|0,d|0,e|0,f|0)}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return +Sb[a&1](b|0,c|0)}function vk(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function wk(a,b){a=a|0;b=b|0;return +Ub[a&3](b|0)}function xk(a){a=a|0;return Vb[a&1]()|0}function yk(a,b){a=a|0;b=b|0;Wb[a&15](b|0)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b|0,c|0)}function Ak(a,b){a=a|0;b=b|0;return Yb[a&31](b|0)|0}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zb[a&1](b|0,c|0,d|0)}function Ck(a){a=a|0;_b[a&0]()}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$b[a&3](b|0,c|0,+d)}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ac[a&1](b|0,c|0,d|0,e|0)|0}function Fk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;bc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b|0,c|0)|0}function Hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dc[a&3](b|0,c|0,d|0,e|0)}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}function Jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Kk(a,b){a=a|0;b=b|0;ca(2);return 0.0}function Lk(a,b){a=a|0;b=+b;ca(3)}function Mk(a){a=a|0;ca(4);return 0.0}function Nk(){ca(5);return 0}function Ok(a){a=a|0;ca(6)}function Pk(a,b){a=a|0;b=b|0;ca(7)}function Qk(a){a=a|0;ca(8);return 0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;ca(9)}function Sk(){ca(10)}function Tk(a,b,c){a=a|0;b=b|0;c=+c;ca(11)}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(12);return 0}function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(13)}function Wk(a,b){a=a|0;b=b|0;ca(14);return 0}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(15)} - -// EMSCRIPTEN_END_FUNCS -var Qb=[Ik,Zh,_h,Qj,Qi,Pi,Ri,Ag,sg,qg,rg,yg,kh,jh,Oi,Mj];var Rb=[Jk,ki,ji,gi];var Sb=[Kk,dh];var Tb=[Lk,Wf,Yf,ag];var Ub=[Mk,Xf,Zf,bg];var Vb=[Nk,Nf];var Wb=[Ok,Mh,Nh,Sh,Vh,Th,Uh,Wh,Xh,Yh,Mf,Xg,Yg,Ij,Jj,Ok];var Xb=[Pk,ig,gg,_f,cg,eg,ng,gh];var Yb=[Qk,Oh,Ni,Pf,Vf,Qf,wg,xg,mg,lg,jg,hg,$f,dg,fg,og,fh,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk];var Zb=[Rk,ch];var _b=[Sk];var $b=[Tk,eh,bh,Tk];var ac=[Uk,mh];var bc=[Vk,ni,mi,li];var cc=[Wk,Df,Sf,Tf,Uf,tg,vg,ug,zg,kg,lh,hh,Wk,Wk,Wk,Wk];var dc=[Xk,ai,bi,di];return{_i64Subtract:dk,_fflush:Yi,_i64Add:gk,_memset:ek,_malloc:Uj,_memcpy:ik,___getTypeName:Ah,_bitshift64Lshr:hk,_free:Vj,___errno_location:qi,_bitshift64Shl:fk,__GLOBAL__sub_I_ARToolKitJS_cpp:Wg,__GLOBAL__sub_I_bind_cpp:Ch,runPostSets:ck,stackAlloc:ec,stackSave:fc,stackRestore:gc,establishStackSpace:hc,setThrew:ic,setTempRet0:lc,getTempRet0:mc,dynCall_iiii:sk,dynCall_viiiii:tk,dynCall_dii:uk,dynCall_vid:vk,dynCall_di:wk,dynCall_i:xk,dynCall_vi:yk,dynCall_vii:zk,dynCall_ii:Ak,dynCall_viii:Bk,dynCall_v:Ck,dynCall_viid:Dk,dynCall_iiiii:Ek,dynCall_viiiiii:Fk,dynCall_iii:Gk,dynCall_viiii:Hk}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var _fflush=Module["_fflush"]=asm["_fflush"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memset=Module["_memset"]=asm["_memset"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _free=Module["_free"]=asm["_free"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() -;(function() { - 'use strict' - - /** - The ARController is the main object for doing AR marker detection with JSARToolKit. - - To use an ARController, you need to tell it the dimensions to use for the AR processing canvas and - pass it an ARCameraParam to define the camera parameters to use when processing images. - The ARCameraParam defines the lens distortion and aspect ratio of the camera used. - See https://www.artoolworks.com/support/library/Calibrating_your_camera for more information about AR camera parameteters and how to make and use them. - - If you pass an image as the first argument, the ARController uses that as the image to process, - using the dimensions of the image as AR processing canvas width and height. If the first argument - to ARController is an image, the second argument is used as the camera param. - - The camera parameters argument can be either an ARCameraParam or an URL to a camera definition file. - If the camera argument is an URL, it is loaded into a new ARCameraParam, and the ARController dispatches - a 'load' event and calls the onload method if it is defined. - - @exports ARController - @constructor - - @param {number} width The width of the images to process. - @param {number} height The height of the images to process. - @param {ARCameraParam | string} camera The ARCameraParam to use for image processing. If this is a string, the ARController treats it as an URL and tries to load it as a ARCameraParam definition file, calling ARController#onload on success. - */ - var ARController = function(width, height, camera) { - var id; - var w = width, h = height; - - this.orientation = 'landscape'; - - this.listeners = {}; - - if (typeof width !== 'number') { - var image = width; - camera = height; - w = image.videoWidth || image.width; - h = image.videoHeight || image.height; - this.image = image; - } - - this.defaultMarkerWidth = 1; - this.patternMarkers = {}; - this.barcodeMarkers = {}; - this.transform_mat = new Float32Array(16); - - this.canvas = document.createElement('canvas'); - this.canvas.width = w; - this.canvas.height = h; - this.ctx = this.canvas.getContext('2d'); - - this.videoWidth = w; - this.videoHeight = h; - - if (typeof camera === 'string') { - - var self = this; - this.cameraParam = new ARCameraParam(camera, function() { - self._initialize(); - }, function(err) { - console.error("ARController: Failed to load ARCameraParam", err); - }); - - } else { - - this.cameraParam = camera; - this._initialize(); - - } - }; - - /** - Destroys the ARController instance and frees all associated resources. - After calling dispose, the ARController can't be used any longer. Make a new one if you need one. + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) - Calling this avoids leaking Emscripten memory, which may be important if you're using multiple ARControllers. - */ - ARController.prototype.dispose = function() { - artoolkit.teardown(this.id); + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', + } + + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses - for (var t in this) { - this[t] = null; - } - }; - - /** - Detects markers in the given image. The process method dispatches marker detection events during its run. - - The marker detection process proceeds by first dispatching a markerNum event that tells you how many - markers were found in the image. Next, a getMarker event is dispatched for each found marker square. - Finally, getMultiMarker is dispatched for every found multimarker, followed by getMultiMarkerSub events - dispatched for each of the markers in the multimarker. - - arController.addEventListener('markerNum', function(ev) { - console.log("Detected " + ev.data + " markers.") - }); - arController.addEventListener('getMarker', function(ev) { - console.log("Detected marker with ids:", ev.data.marker.id, ev.data.marker.idPatt, ev.data.marker.idMatrix); - console.log("Marker data", ev.data.marker); - console.log("Marker transform matrix:", [].join.call(ev.data.matrix, ', ')); - }); - arController.addEventListener('getMultiMarker', function(ev) { - console.log("Detected multimarker with id:", ev.data.multiMarkerId); - }); - arController.addEventListener('getMultiMarkerSub', function(ev) { - console.log("Submarker for " + ev.data.multiMarkerId, ev.data.markerIndex, ev.data.marker); - }); - - arController.process(image); - - - If no image is given, defaults to this.image. - - If the debugSetup has been called, draws debug markers on the debug canvas. - - @param {ImageElement | VideoElement} image The image to process [optional]. - */ - ARController.prototype.process = function(image) { - this.detectMarker(image); - - var markerNum = this.getMarkerNum(); - var k,o; - for (k in this.patternMarkers) { - o = this.patternMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } - for (k in this.barcodeMarkers) { - o = this.barcodeMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) +} - for (var i=0; i -1 && (markerInfo.id === markerInfo.idPatt || markerInfo.idMatrix === -1)) { - visible = this.trackPatternMarkerId(markerInfo.idPatt); - markerType = artoolkit.PATTERN_MARKER; - if (markerInfo.dir !== markerInfo.dirPatt) { - this.setMarkerInfoDir(i, markerInfo.dirPatt); - } +/** + * What to do when a image source is fully processed + */ +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } - } else if (markerInfo.idMatrix > -1) { - visible = this.trackBarcodeMarkerId(markerInfo.idMatrix); - markerType = artoolkit.BARCODE_MARKER; + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion - if (markerInfo.dir !== markerInfo.dirMatrix) { - this.setMarkerInfoDir(i, markerInfo.dirMatrix); - } - } + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return - if (markerType !== artoolkit.UNKNOWN_MARKER && visible.inPrevious) { - this.getTransMatSquareCont(i, visible.markerWidth, visible.matrix, visible.matrix); - } else { - this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - } -// this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - - visible.inCurrent = true; - this.transMatToGLMat(visible.matrix, this.transform_mat); - this.dispatchEvent({ - name: 'getMarker', - target: this, - data: { - index: i, - type: markerType, - marker: markerInfo, - matrix: this.transform_mat - } - }); - } + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) - var multiMarkerCount = this.getMultiMarkerCount(); - for (var i=0; i= 0) { - visible = true; - this.dispatchEvent({ - name: 'getMultiMarker', - target: this, - data: { - multiMarkerId: i, - matrix: this.transform_mat - } - }); - break; - } - } - if (visible) { - for (var j=0; j -1) { - this.listeners[name].splice(index, 1); - } - } - }; - - /** - Dispatches the given event to all registered listeners on event.name. - - @param {Object} event Event to dispatch. - */ - ARController.prototype.dispatchEvent = function(event) { - var listeners = this.listeners[event.name]; - if (listeners) { - for (var i=0; i= 0) if marker is valid, or -1 if invalid. - @field idPatt If pattern detection mode includes a pattern mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field idMatrix If pattern detection mode includes a matrix mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field dir If pattern detection mode is either pattern mode OR matrix but not both, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirPatt If pattern detection mode includes a pattern mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirMatrix If pattern detection mode includes a matrix mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field cf If pattern detection mode is either pattern mode OR matrix but not both, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfPatt If pattern detection mode includes a pattern mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfMatrix If pattern detection mode includes a matrix mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field pos 2D position (in camera image coordinates, origin at top-left) of the centre of the marker. - @field line Line equations for the 4 sides of the marker. - @field vertex 2D positions (in camera image coordinates, origin at top-left) of the corners of the marker. vertex[(4 - dir)%4][] is the top-left corner of the marker. Other vertices proceed clockwise from this. These are idealised coordinates (i.e. the onscreen position aligns correctly with the undistorted camera image.) - - - @param {number} markerIndex The index of the marker to query. - @returns {Object} The markerInfo struct. - */ - ARController.prototype.getMarker = function(markerIndex) { - if (0 === artoolkit.getMarker(this.id, markerIndex)) { - return artoolkit.markerInfo; - } - }; + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) - /** - Set marker vertices to the given vertexData[4][2] array. + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ - Sets the marker pos to the center of the vertices. + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) - Useful for building custom markers for getTransMatSquare. + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } - A markerIndex of -1 is used to access the global custom marker. + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) - @param {number} markerIndex The index of the marker to edit. - */ - ARController.prototype.setMarkerInfoVertex = function(markerIndex, vertexData) { - for (var i=0; i 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) } - /** - Sets the logging level to use by ARToolKit. - - @param - */ - ARController.prototype.setLogLevel = function(mode) { - return artoolkit.setLogLevel(mode); - }; - - ARController.prototype.getLogLevel = function() { - return artoolkit.getLogLevel(); - }; - - ARController.prototype.setMarkerInfoDir = function(markerIndex, dir) { - return artoolkit.setMarkerInfoDir(this.id, markerIndex, dir); - }; - - ARController.prototype.setProjectionNearPlane = function(value) { - return artoolkit.setProjectionNearPlane(this.id, value); - }; - - ARController.prototype.getProjectionNearPlane = function() { - return artoolkit.getProjectionNearPlane(this.id); - }; - - ARController.prototype.setProjectionFarPlane = function(value) { - return artoolkit.setProjectionFarPlane(this.id, value); - }; - - ARController.prototype.getProjectionFarPlane = function() { - return artoolkit.getProjectionFarPlane(this.id); - }; - - - /** - Set the labeling threshold mode (auto/manual). - - @param {number} mode An integer specifying the mode. One of: - AR_LABELING_THRESH_MODE_MANUAL, - AR_LABELING_THRESH_MODE_AUTO_MEDIAN, - AR_LABELING_THRESH_MODE_AUTO_OTSU, - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE, - AR_LABELING_THRESH_MODE_AUTO_BRACKETING - */ - ARController.prototype.setThresholdMode = function(mode) { - return artoolkit.setThresholdMode(this.id, mode); - }; - - /** - * Gets the current threshold mode used for image binarization. - * @return {number} The current threshold mode - * @see getVideoThresholdMode() - */ - ARController.prototype.getThresholdMode = function() { - return artoolkit.getThresholdMode(this.id); - }; - - /** - Set the labeling threshhold. - - This function forces sets the threshold value. - The default value is AR_DEFAULT_LABELING_THRESH which is 100. - - The current threshold mode is not affected by this call. - Typically, this function is used when labeling threshold mode - is AR_LABELING_THRESH_MODE_MANUAL. - - The threshold value is not relevant if threshold mode is - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. - - Background: The labeling threshold is the value which - the AR library uses to differentiate between black and white - portions of an ARToolKit marker. Since the actual brightness, - contrast, and gamma of incoming images can vary signficantly - between different cameras and lighting conditions, this - value typically needs to be adjusted dynamically to a - suitable midpoint between the observed values for black - and white portions of the markers in the image. - - @param {number} thresh An integer in the range [0,255] (inclusive). - */ - ARController.prototype.setThreshold = function(threshold) { - return artoolkit.setThreshold(this.id, threshold); - }; - - /** - Get the current labeling threshold. - - This function queries the current labeling threshold. For, - AR_LABELING_THRESH_MODE_AUTO_MEDIAN, AR_LABELING_THRESH_MODE_AUTO_OTSU, - and AR_LABELING_THRESH_MODE_AUTO_BRACKETING - the threshold value is only valid until the next auto-update. - - The current threshold mode is not affected by this call. - - The threshold value is not relevant if threshold mode is - AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. - - @return {number} The current threshold value. - */ - ARController.prototype.getThreshold = function() { - return artoolkit.getThreshold(this.id); - }; - - - /** - Set the pattern detection mode - - The pattern detection determines the method by which ARToolKit - matches detected squares in the video image to marker templates - and/or IDs. ARToolKit v4.x can match against pictorial "template" markers, - whose pattern files are created with the mk_patt utility, in either colour - or mono, and additionally can match against 2D-barcode-type "matrix" - markers, which have an embedded marker ID. Two different two-pass modes - are also available, in which a matrix-detection pass is made first, - followed by a template-matching pass. - - @param {number} mode - Options for this field are: - AR_TEMPLATE_MATCHING_COLOR - AR_TEMPLATE_MATCHING_MONO - AR_MATRIX_CODE_DETECTION - AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX - AR_TEMPLATE_MATCHING_MONO_AND_MATRIX - The default mode is AR_TEMPLATE_MATCHING_COLOR. - */ - ARController.prototype.setPatternDetectionMode = function(value) { - return artoolkit.setPatternDetectionMode(this.id, value); - }; - - /** - Returns the current pattern detection mode. - - @return {number} The current pattern detection mode. - */ - ARController.prototype.getPatternDetectionMode = function() { - return artoolkit.getPatternDetectionMode(this.id); - }; - - /** - Set the size and ECC algorithm to be used for matrix code (2D barcode) marker detection. - - When matrix-code (2D barcode) marker detection is enabled (see arSetPatternDetectionMode) - then the size of the barcode pattern and the type of error checking and correction (ECC) - with which the markers were produced can be set via this function. - - This setting is global to a given ARHandle; It is not possible to have two different matrix - code types in use at once. - - @param type The type of matrix code (2D barcode) in use. Options include: - AR_MATRIX_CODE_3x3 - AR_MATRIX_CODE_3x3_HAMMING63 - AR_MATRIX_CODE_3x3_PARITY65 - AR_MATRIX_CODE_4x4 - AR_MATRIX_CODE_4x4_BCH_13_9_3 - AR_MATRIX_CODE_4x4_BCH_13_5_5 - The default mode is AR_MATRIX_CODE_3x3. - */ - ARController.prototype.setMatrixCodeType = function(value) { - return artoolkit.setMatrixCodeType(this.id, value); - }; - - /** - Returns the current matrix code (2D barcode) marker detection type. - - @return {number} The current matrix code type. - */ - ARController.prototype.getMatrixCodeType = function() { - return artoolkit.getMatrixCodeType(this.id); - }; - - /** - Select between detection of black markers and white markers. + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w - ARToolKit's labelling algorithm can work with both black-bordered - markers on a white background (AR_LABELING_BLACK_REGION) or - white-bordered markers on a black background (AR_LABELING_WHITE_REGION). - This function allows you to specify the type of markers to look for. - Note that this does not affect the pattern-detection algorith - which works on the interior of the marker. - - @param {number} mode - Options for this field are: - AR_LABELING_WHITE_REGION - AR_LABELING_BLACK_REGION - The default mode is AR_LABELING_BLACK_REGION. - */ - ARController.prototype.setLabelingMode = function(value) { - return artoolkit.setLabelingMode(this.id, value); - }; - - /** - Enquire whether detection is looking for black markers or white markers. - - See discussion for setLabelingMode. - - @result {number} The current labeling mode. - */ - ARController.prototype.getLabelingMode = function() { - return artoolkit.getLabelingMode(this.id); - }; - - /** - Set the width/height of the marker pattern space, as a proportion of marker width/height. - - @param {number} pattRatio The the width/height of the marker pattern space, as a proportion of marker - width/height. To set the default, pass AR_PATT_RATIO. - If compatibility with ARToolKit verions 1.0 through 4.4 is required, this value - must be 0.5. - */ - ARController.prototype.setPattRatio = function(value) { - return artoolkit.setPattRatio(this.id, value); - }; - - /** - Returns the current ratio of the marker pattern to the total marker size. - - @return {number} The current pattern ratio. - */ - ARController.prototype.getPattRatio = function() { - return artoolkit.getPattRatio(this.id); - }; - - /** - Set the image processing mode. - - When the image processing mode is AR_IMAGE_PROC_FRAME_IMAGE, - ARToolKit processes all pixels in each incoming image - to locate markers. When the mode is AR_IMAGE_PROC_FIELD_IMAGE, - ARToolKit processes pixels in only every second pixel row and - column. This is useful both for handling images from interlaced - video sources (where alternate lines are assembled from alternate - fields and thus have one field time-difference, resulting in a - "comb" effect) such as Digital Video cameras. - The effective reduction by 75% in the pixels processed also - has utility in accelerating tracking by effectively reducing - the image size to one quarter size, at the cost of pose accuraccy. - - @param {number} mode - Options for this field are: - AR_IMAGE_PROC_FRAME_IMAGE - AR_IMAGE_PROC_FIELD_IMAGE - The default mode is AR_IMAGE_PROC_FRAME_IMAGE. - */ - ARController.prototype.setImageProcMode = function(value) { - return artoolkit.setImageProcMode(this.id, value); - }; - - /** - Get the image processing mode. - - See arSetImageProcMode() for a complete description. - - @return {number} The current image processing mode. - */ - ARController.prototype.getImageProcMode = function() { - return artoolkit.getImageProcMode(this.id); - }; - - - /** - Draw the black and white image and debug markers to the ARController canvas. - - See setDebugMode. - */ - ARController.prototype.debugDraw = function() { - var debugBuffer = new Uint8ClampedArray(Module.HEAPU8.buffer, this._bwpointer, this.framesize); - var id = new ImageData(debugBuffer, this.canvas.width, this.canvas.height) - this.ctx.putImageData(id, 0, 0) - - var marker_num = this.getMarkerNum(); - for (var i=0; i image.height ) || - (image.nodeName === 'VIDEO' && image.videoWidth > image.videoHeight) ){ - // if landscape - this.ctx.drawImage(image, 0, 0, this.canvas.width, this.canvas.height); // draw video - }else{ - // if portrait - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - var scale = this.canvas.height / this.canvas.width; - var scaledHeight = this.canvas.width*scale; - var scaledWidth = this.canvas.height*scale; - var marginLeft = ( this.canvas.width - scaledWidth)/2; - this.ctx.drawImage(image, marginLeft, 0, scaledWidth, scaledHeight); // draw video - } + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) - var imageData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); - var data = imageData.data; + boundingBox.expandByPoint(position) + }) - if (this.dataHeap) { - this.dataHeap.set( data ); - return true; - } - return false; - }; - - ARController.prototype._debugMarker = function(marker) { - var vertex, pos; - vertex = marker.vertex; - var ctx = this.ctx; - ctx.strokeStyle = 'red'; - - ctx.beginPath() - ctx.moveTo(vertex[0][0], vertex[0][1]) - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[2][0], vertex[2][1]) - ctx.lineTo(vertex[3][0], vertex[3][1]) - ctx.stroke() - - ctx.strokeStyle = 'green'; - ctx.beginPath() - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.lineTo(vertex[2][0], vertex[2][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[3][0], vertex[3][1]) - ctx.lineTo(vertex[0][0], vertex[0][1]) - ctx.stroke(); - - pos = marker.pos - ctx.beginPath() - ctx.arc(pos[0], pos[1], 8, 0, Math.PI * 2) - ctx.fillStyle = 'red' - ctx.fill() - }; - - - // static - - /** - ARController.getUserMedia gets a device camera video feed and calls the given onSuccess callback with it. - - Tries to start playing the video. Playing the video can fail on Chrome for Android, - so ARController.getUserMedia adds user input event listeners to the window - that try to start playing the video. On success, the event listeners are removed. - - To use ARController.getUserMedia, call it with an object with the onSuccess attribute set to a callback function. - - ARController.getUserMedia({ - onSuccess: function(video) { - console.log("Got video", video); - } - }); + return boundingBox +} +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// - The configuration object supports the following attributes: +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) - { - onSuccess : function(video), - onError : function(error), + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } - width : number | {min: number, ideal: number, max: number}, - height : number | {min: number, ideal: number, max: number}, + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] +} - facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } - } - See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the - width, height and facingMode attributes. +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON +////////////////////////////////////////////////////////////////////////////// - @param {object} configuration The configuration object. - @return {VideoElement} Returns the created video element. - */ - ARController.getUserMedia = function(configuration) { - var facing = configuration.facingMode || 'environment'; +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} - var onSuccess = configuration.onSuccess; - var onError = configuration.onError || function(err) { console.error("ARController.getUserMedia", err); }; + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) - var video = document.createElement('video'); + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) - var initProgress = function() { - if (this.videoWidth !== 0) { - onSuccess(video); - } - }; - - var readyToPlay = false; - var eventNames = [ - 'touchstart', 'touchend', 'touchmove', 'touchcancel', - 'click', 'mousedown', 'mouseup', 'mousemove', - 'keydown', 'keyup', 'keypress', 'scroll' - ]; - var play = function(ev) { - if (readyToPlay) { - video.play(); - if (!video.paused) { - eventNames.forEach(function(eventName) { - window.removeEventListener(eventName, play, true); - }); - } - } - }; - eventNames.forEach(function(eventName) { - window.addEventListener(eventName, play, true); - }); - - var success = function(stream) { - video.addEventListener('loadedmetadata', initProgress, false); - video.src = window.URL.createObjectURL(stream); - readyToPlay = true; - play(); // Try playing without user input, should work on non-Android Chrome - }; - - var constraints = {}; - var mediaDevicesConstraints = {}; - if (configuration.width) { - mediaDevicesConstraints.width = configuration.width; - if (typeof configuration.width === 'object') { - if (configuration.width.max) { - constraints.maxWidth = configuration.width.max; - } - if (configuration.width.min) { - constraints.minWidth = configuration.width.max; - } - } else { - constraints.maxWidth = configuration.width; - } - } - - if (configuration.height) { - mediaDevicesConstraints.height = configuration.height; - if (typeof configuration.height === 'object') { - if (configuration.height.max) { - constraints.maxHeight = configuration.height.max; - } - if (configuration.height.min) { - constraints.minHeight = configuration.height.max; - } - } else { - constraints.maxHeight = configuration.height; - } - } +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } + }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) - mediaDevicesConstraints.facingMode = facing; - - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; - var hdConstraints = { - audio: false, - video: { - mandatory: constraints - } - }; - - if ( false ) { - // if ( navigator.mediaDevices || window.MediaStreamTrack) { - if (navigator.mediaDevices) { - navigator.mediaDevices.getUserMedia({ - audio: false, - video: mediaDevicesConstraints - }).then(success, onError); - } else { - MediaStreamTrack.getSources(function(sources) { - var facingDir = mediaDevicesConstraints.facingMode; - if (facing && facing.exact) { - facingDir = facing.exact; - } - for (var i=0; i { - ARController.getUserMediaARController({ - cameraParam: 'Data/camera_para.dat', - onSuccess: function(arController, arCameraParam) { - console.log("Got ARController", arController); - console.log("Got ARCameraParam", arCameraParam); - console.log("Got video", arController.image); - } - }); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); - The configuration object supports the following attributes: + // TODO context build-dependent - { - onSuccess : function(ARController, ARCameraParam), - onError : function(error), +const MarkersAreaUtils = {}; - cameraParam: url, // URL to camera parameters definition file. - maxARVideoSize: number, // Maximum max(width, height) for the AR processing canvas. +////////////////////////////////////////////////////////////////////////////// +// navigateToLearnerPage +////////////////////////////////////////////////////////////////////////////// - width : number | {min: number, ideal: number, max: number}, - height : number | {min: number, ideal: number, max: number}, +/** + * Navigate to the multi-marker learner page + * + * @param {String} learnerBaseURL - the base url for the learner + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ + var learnerParameters = { + backURL : location.href, + trackingBackend: trackingBackend, + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + } + location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) +} - facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } - } +////////////////////////////////////////////////////////////////////////////// +// DefaultMultiMarkerFile +////////////////////////////////////////////////////////////////////////////// - See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the - width, height and facingMode attributes. +/** + * Create and store a default multi-marker file + * + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) + // json.strinfy the value and store it in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) +} - The orientation attribute of the returned ARController is set to "portrait" if the userMedia video has larger - height than width. Otherwise it's set to "landscape". The videoWidth and videoHeight attributes of the arController - are set to be always in landscape configuration so that width is larger than height. - @param {object} configuration The configuration object. - @return {VideoElement} Returns the created video element. - */ - ARController.getUserMediaARController = function(configuration) { - var obj = {}; - for (var i in configuration) { - obj[i] = configuration[i]; - } - var onSuccess = configuration.onSuccess; - var cameraParamURL = configuration.cameraParam; - - obj.onSuccess = function() { - new ARCameraParam(cameraParamURL, function() { - var arCameraParam = this; - var maxSize = configuration.maxARVideoSize || Math.max(video.videoWidth, video.videoHeight); - var f = maxSize / Math.max(video.videoWidth, video.videoHeight); - var w = f * video.videoWidth; - var h = f * video.videoHeight; - if (video.videoWidth < video.videoHeight) { - var tmp = w; - w = h; - h = tmp; - } - var arController = new ARController(w, h, arCameraParam); - arController.image = video; - if (video.videoWidth < video.videoHeight) { - arController.orientation = 'portrait'; - arController.videoWidth = video.videoHeight; - arController.videoHeight = video.videoWidth; - } else { - arController.orientation = 'landscape'; - arController.videoWidth = video.videoWidth; - arController.videoHeight = video.videoHeight; - } - onSuccess(arController, arCameraParam); - }, function(err) { - console.error("ARController: Failed to load ARCameraParam", err); - }); - }; - var video = this.getUserMedia(obj); - return video; - }; +/** + * Create a default multi-marker file + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object of the multi-marker file + */ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ + console.assert(trackingBackend) + if( trackingBackend === undefined ) debugger + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - /** - ARCameraParam is used for loading AR camera parameters for use with ARController. - Use by passing in an URL and a callback function. + // create the base file + var file = { + meta : { + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... being filled + ] + } + // add a subMarkersControls + file.subMarkersControls[0] = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), + } + if( trackingBackend === 'artoolkit' ){ + file.subMarkersControls[0].parameters.type = 'pattern' + file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + }else console.assert(false) - var camera = new ARCameraParam('Data/camera_para.dat', function() { - console.log('loaded camera', this.id); - }, - function(err) { - console.log('failed to load camera', err); - }); - - @exports ARCameraParam - @constructor - - @param {string} src URL to load camera parameters from. - @param {string} onload Onload callback to be called on successful parameter loading. - @param {string} onerror Error callback to called when things don't work out. - */ - var ARCameraParam = function(src, onload, onerror) { - this.id = -1; - this._src = ''; - this.complete = false; - this.onload = onload; - this.onerror = onerror; - if (src) { - this.load(src); - } - }; + // json.strinfy the value and store it in localStorage + return file +} - /** - Loads the given URL as camera parameters definition file into this ARCameraParam. +////////////////////////////////////////////////////////////////////////////// +// createDefaultMarkersControlsParameters +////////////////////////////////////////////////////////////////////////////// - Can only be called on an unloaded ARCameraParam instance. +/** + * Create a default controls parameters for the multi-marker learner + * + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object containing the controls parameters + */ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - @param {string} src URL to load. - */ - ARCameraParam.prototype.load = function(src) { - if (this._src !== '') { - throw("ARCameraParam: Trying to load camera parameters twice.") - } - this._src = src; - if (src) { - var self = this; - artoolkit.loadCamera(src, function(id) { - self.id = id; - self.complete = true; - self.onload(); - }, function(err) { - self.onerror(err); - }); - } - }; - Object.defineProperty(ARCameraParam.prototype, 'src', { - set: function(src) { - this.load(src); - }, - get: function() { - return this._src; - } - }); + if( trackingBackend === 'artoolkit' ){ + // pattern hiro/kanji/a/b/c/f + var markersControlsParameters = [ + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', + }, + ] + }else console.assert(false) + return markersControlsParameters +} - /** - Destroys the camera parameter and frees associated Emscripten resources. - */ - ARCameraParam.prototype.dispose = function() { - if (this.id !== -1) { - artoolkit.deleteCamera(this.id); - } - this.id = -1; - this._src = ''; - this.complete = false; - }; +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +/** + * generate areaFile + */ +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { + // generate areaFile + var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) + // store areaFile in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) +} +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// - // ARToolKit exported JS API - // - var artoolkit = { +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ + // create the base file + var file = { + meta : { + createdBy : 'AR.js - Augmented Website', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... + ] + } - UNKNOWN_MARKER: -1, - PATTERN_MARKER: 0, - BARCODE_MARKER: 1, + var whiteMargin = 0.1 + if( resolutionW > resolutionH ){ + var markerImageSize = 0.4 * resolutionH + }else if( resolutionW < resolutionH ){ + var markerImageSize = 0.4 * resolutionW + }else if( resolutionW === resolutionH ){ + // specific for twitter player - https://dev.twitter.com/cards/types/player + var markerImageSize = 0.33 * resolutionW + }else console.assert(false) - loadCamera: loadCamera, + // console.warn('using new markerImageSize computation') + var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) - addMarker: addMarker, - addMultiMarker: addMultiMarker, + var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize + var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize - }; + var subMarkerControls = buildSubMarkerControls('center', 0, 0) + file.subMarkersControls.push(subMarkerControls) - var FUNCTIONS = [ - 'setup', - 'teardown', + var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - 'setLogLevel', - 'getLogLevel', + var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - 'setDebugMode', - 'getDebugMode', + var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) - 'getProcessingImage', + var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) - 'setMarkerInfoDir', - 'setMarkerInfoVertex', + return file - 'getTransMatSquare', - 'getTransMatSquareCont', + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - 'getTransMatMultiSquare', - 'getTransMatMultiSquareRobust', + function buildSubMarkerControls(layout, positionX, positionZ){ + console.log('buildSubMarkerControls', layout, positionX, positionZ) + // create subMarkersControls + var subMarkersControls = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + } + // fill the parameters + if( trackingBackend === 'artoolkit' ){ + layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) + }else console.assert(false) + // return subMarkersControls + return subMarkersControls + } - 'getMultiMarkerNum', - 'getMultiMarkerCount', + function layout2MarkerParametersArtoolkit(parameters, layout){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - 'detectMarker', - 'getMarkerNum', + var layout2PatternUrl = { + 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), + 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), + 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), + 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), + 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), + } + console.assert(layout2PatternUrl[layout] !== undefined ) + parameters.type = 'pattern' + parameters.patternUrl = layout2PatternUrl[layout] + return + function convertRelativeUrlToAbsolute(relativeUrl){ + var tmpLink = document.createElement('a'); + tmpLink.href = relativeUrl + return tmpLink.href + } + } +} - 'getMarker', - 'getMultiEachMarker', +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); - 'setProjectionNearPlane', - 'getProjectionNearPlane', - 'setProjectionFarPlane', - 'getProjectionFarPlane', +/***/ }), - 'setThresholdMode', - 'getThresholdMode', +/***/ "./three.js/src/new-api/arjs-anchor.js": +/*!*********************************************!*\ + !*** ./three.js/src/new-api/arjs-anchor.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - 'setThreshold', - 'getThreshold', +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); - 'setPatternDetectionMode', - 'getPatternDetectionMode', + // Alias for dynamic importing - 'setMatrixCodeType', - 'getMatrixCodeType', - 'setLabelingMode', - 'getLabelingMode', - 'setPattRatio', - 'getPattRatio', - 'setImageProcMode', - 'getImageProcMode', - ]; - function runWhenLoaded() { - FUNCTIONS.forEach(function(n) { - artoolkit[n] = Module[n]; - }) +// TODO this is a controls... should i give the object3d here ? +// not according to 'no three.js dependancy' - for (var m in Module) { - if (m.match(/^AR/)) - artoolkit[m] = Module[m]; - } - } - - var marker_count = 0; - function addMarker(arId, url, callback) { - var filename = '/marker_' + marker_count++; - ajax(url, filename, function() { - var id = Module._addMarker(arId, filename); - if (callback) callback(id); - }); - } - - function bytesToString(array) { - return String.fromCharCode.apply(String, array); - } +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const Anchor = function(arSession, markerParameters){ + var _this = this + var arContext = arSession.arContext + var scene = arSession.parameters.scene + var camera = arSession.parameters.camera - function parseMultiFile(bytes) { - var str = bytesToString(bytes); + this.arSession = arSession + this.parameters = markerParameters - var lines = str.split('\n'); + // log to debug + console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) - var files = []; + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(markerRoot) - var state = 0; // 0 - read, - var markers = 0; + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var controlledObject = markerRoot + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var controlledObject = camera + }else console.assert(false) - lines.forEach(function(line) { - line = line.trim(); - if (!line || line.startsWith('#')) return; + if( markerParameters.markersAreaEnabled === false ){ + var markerControls = new threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default(arContext, controlledObject, markerParameters) + this.controls = markerControls + }else{ + // sanity check - MUST be a trackingBackend with markers + console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - switch (state) { - case 0: - markers = +line; - state = 1; - return; - case 1: // filename or barcode - if (!line.match(/^\d+$/)) { - files.push(line); - } - case 2: // width - case 3: // matrices - case 4: - state++; - return; - case 5: - state = 1; - return; - } - }); + // honor markers-page-resolution for https://webxr.io/augmented-website + if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ + // get resolutionW/resolutionH from url + var markerPageResolution = location.hash.substring(1) + var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) + console.assert(matches.length === 3) + var resolutionW = parseInt(matches[1]) + var resolutionH = parseInt(matches[2]) + var arContext = arSession.arContext + // generate and store the ARjsMultiMarkerFile + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) + } - return files; - } + // if there is no ARjsMultiMarkerFile, build a default one + if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__.default.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) + } - var multi_marker_count = 0; + // get multiMarkerFile from localStorage + console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) + var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') - function addMultiMarker(arId, url, callback) { - var filename = '/multi_marker_' + multi_marker_count++; - ajax(url, filename, function(bytes) { - var files = parseMultiFile(bytes); + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var parent3D = scene + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var parent3D = camera + }else console.assert(false) - function ok() { - var markerID = Module._addMultiMarker(arId, filename); - var markerNum = Module.getMultiMarkerNum(arId, markerID); - if (callback) callback(markerID, markerNum); - } + // build a multiMarkerControls + var multiMarkerControls = _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__.default.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) + this.controls = multiMarkerControls - if (!files.length) return ok(); + // honor markerParameters.changeMatrixMode + multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode - var path = url.split('/').slice(0, -1).join('/') - files = files.map(function(file) { - // FIXME super kludge - remove it - // console.assert(file !== '') - if( file === 'patt.hiro' || file === 'patt.kanji' || file === 'patt2.hiro' || file === 'patt2.kanji' ){ - // debugger - return ['http://127.0.0.1:8080/data/data/' + file, file] - } - return [path + '/' + file, file] +// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js + // create ArMarkerHelper - useful to debug - super three.js specific + var markerHelpers = [] + multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ + // add an helper to visuable each sub-marker + var markerHelper = new _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__.default(subMarkerControls) + markerHelper.object3d.visible = false + // subMarkerControls.object3d.add( markerHelper.object3d ) + subMarkerControls.object3d.add( markerHelper.object3d ) + // add it to markerHelpers + markerHelpers.push(markerHelper) + }) + // define API specific to markersArea + this.markersArea = {} + this.markersArea.setSubMarkersVisibility = function(visible){ + markerHelpers.forEach(function(markerHelper){ + markerHelper.object3d.visible = visible }) - ajaxDependencies(files, ok); - }); - } - - var camera_count = 0; - function loadCamera(url, callback) { - var filename = '/camera_param_' + camera_count++; - var writeCallback = function() { - var id = Module._loadCamera(filename); - if (callback) callback(id); - }; - if (typeof url === 'object') { // Maybe it's a byte array - writeByteArrayToFS(filename, url, writeCallback); - } else if (url.indexOf("\n") > -1) { // Or a string with the camera param - writeStringToFS(filename, url, writeCallback); - } else { - ajax(url, filename, writeCallback); } } + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group() - // transfer image - - function writeStringToFS(target, string, callback) { - var byteArray = new Uint8Array(string.length); - for (var i=0; i { -THREEx.ArBaseControls.id = 0 +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "SessionDebugUI": () => (/* binding */ SessionDebugUI), +/* harmony export */ "AnchorDebugUI": () => (/* binding */ AnchorDebugUI) +/* harmony export */ }); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); -Object.assign( THREEx.ArBaseControls.prototype, THREE.EventDispatcher.prototype ); + // TODO context build-dependent -////////////////////////////////////////////////////////////////////////////// -// Functions -////////////////////////////////////////////////////////////////////////////// /** - * error catching function for update() + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user */ -THREEx.ArBaseControls.prototype.update = function(){ - console.assert(false, 'you need to implement your own update') +const SessionDebugUI = function (arSession) { + var trackingBackend = arSession.arContext.parameters.trackingBackend + + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.left = '5px' + this.domElement.style.bottom = '10px' + this.domElement.style.textAlign = 'right' + + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// + + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.innerHTML = 'trackingBackend : ' + trackingBackend + this.domElement.appendChild(domElement) } /** - * error catching function for name() + * Url of augmented-website service - if === '' then dont include augmented-website link + * @type {String} */ -THREEx.ArBaseControls.prototype.name = function(){ - console.assert(false, 'you need to implement your own .name()') - return 'Not yet implemented - name()' -} -var THREEx = THREEx || {} +SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' -// TODO this is useless - prefere arjs-HitTesting.js +////////////////////////////////////////////////////////////////////////////// +// AnchorDebugUI +////////////////////////////////////////////////////////////////////////////// /** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to + * Create an debug UI for an ARjs.Anchor + * + * @param {ARjs.Anchor} arAnchor - the anchor to user */ -THREEx.ARClickability = function (sourceElement) { - this._sourceElement = sourceElement - // Create cameraPicking - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - this._cameraPicking = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 100); - - console.warn('THREEx.ARClickability works only in modelViewMatrix') - console.warn('OBSOLETE OBSOLETE! instead use THREEx.HitTestingPlane') -} - -THREEx.ARClickability.prototype.onResize = function () { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking +const AnchorDebugUI = function (arAnchor) { + var arSession = arAnchor.arSession + var trackingBackend = arSession.arContext.parameters.trackingBackend - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - cameraPicking.aspect = fullWidth / fullHeight; - cameraPicking.updateProjectionMatrix(); -} + this.domElement = document.createElement('div') + this.domElement.style.color = 'rgba(0,0,0,0.9)' + this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + this.domElement.style.display = 'inline-block' + this.domElement.style.padding = '0.5em' + this.domElement.style.margin = '0.5em' + this.domElement.style.textAlign = 'left' -THREEx.ARClickability.prototype.computeIntersects = function (domEvent, objects) { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking + ////////////////////////////////////////////////////////////////////////////// + // current-tracking-backend + ////////////////////////////////////////////////////////////////////////////// - // compute mouse coordinatge with [-1,1] - var eventCoords = new THREE.Vector3(); - eventCoords.x = (domEvent.layerX / parseInt(sourceElement.style.width)) * 2 - 1; - eventCoords.y = - (domEvent.layerY / parseInt(sourceElement.style.height)) * 2 + 1; + var domElement = document.createElement('span') + domElement.style.display = 'block' + domElement.style.padding = '0.5em' + domElement.style.color = 'rgba(0,0,0,0.9)' + domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' + domElement.style.position = 'fixed' + domElement.style.left = '5px' + domElement.style.bottom = '40px' - // compute intersections between eventCoords and pickingPlane - var raycaster = new THREE.Raycaster(); - raycaster.setFromCamera(eventCoords, cameraPicking); - var intersects = raycaster.intersectObjects(objects) + this.domElement.appendChild(domElement) + domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled - return intersects -} + ////////////////////////////////////////////////////////////////////////////// + // toggle-marker-helper + ////////////////////////////////////////////////////////////////////////////// -THREEx.ARClickability.prototype.update = function () { + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.style.padding = '0.5em' + this.domElement.style.position = 'fixed' + this.domElement.style.textAlign = 'left' + this.domElement.appendChild(domElement) -} -var THREEx = THREEx || {} -/** - * - videoTexture - * - cloakWidth - * - cloakHeight - * - cloakSegmentsHeight - * - remove all mentions of cache, for cloak - */ -THREEx.ArMarkerCloak = function(videoTexture){ - var updateInShaderEnabled = true - - // build cloakMesh - // TODO if webgl2 use repeat warp, and not multi segment, this will reduce the geometry to draw - var geometry = new THREE.PlaneGeometry(1.3+0.25,1.85+0.25, 1, 8).translate(0,-0.3,0) - var material = new THREE.ShaderMaterial( { - vertexShader: THREEx.ArMarkerCloak.vertexShader, - fragmentShader: THREEx.ArMarkerCloak.fragmentShader, - transparent: true, - uniforms: { - texture: { - value: videoTexture - }, - opacity: { - value: 0.5 - } - }, - defines: { - updateInShaderEnabled: updateInShaderEnabled ? 1 : 0, - } - }); + domElement.id = 'buttonToggleMarkerHelpers' + domElement.innerHTML = 'toggle-marker-helper' + domElement.href = 'javascript:void(0)' - var cloakMesh = new THREE.Mesh( geometry, material ); - cloakMesh.rotation.x = -Math.PI/2 - this.object3d = cloakMesh + var subMarkerHelpersVisible = false + domElement.addEventListener('click', function () { + subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true + arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) + }) + } - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // Learn-new-marker-area + ////////////////////////////////////////////////////////////////////////////// - var xMin = -0.65 - var xMax = 0.65 - var yMin = 0.65 + 0.1 - var yMax = 0.95 + 0.1 + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - ////////////////////////////////////////////////////////////////////////////// - // originalsFaceVertexUvs - ////////////////////////////////////////////////////////////////////////////// - var originalsFaceVertexUvs = [[]] - - // build originalsFaceVertexUvs array - for(var faceIndex = 0; faceIndex < cloakMesh.geometry.faces.length; faceIndex ++ ){ - originalsFaceVertexUvs[0][faceIndex] = [] - originalsFaceVertexUvs[0][faceIndex][0] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][1] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][2] = new THREE.Vector2() - } + domElement.id = 'buttonMarkersAreaLearner' + domElement.innerHTML = 'Learn-new-marker-area' + domElement.href = 'javascript:void(0)' - // set values in originalsFaceVertexUvs - for(var i = 0; i < cloakMesh.geometry.parameters.heightSegments/2; i ++ ){ - // one segment height - even row - normale orientation - originalsFaceVertexUvs[0][i*4+0][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][1].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][2].set( xMax/2+0.5, yMax/2+0.5 ) - - originalsFaceVertexUvs[0][i*4+1][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][1].set( xMax/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][2].set( xMax/2+0.5, yMax/2+0.5 ) - - // one segment height - odd row - mirror-y orientation - originalsFaceVertexUvs[0][i*4+2][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][1].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][2].set( xMax/2+0.5, yMin/2+0.5 ) - - originalsFaceVertexUvs[0][i*4+3][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][1].set( xMax/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][2].set( xMax/2+0.5, yMin/2+0.5 ) - } + domElement.addEventListener('click', function () { + if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { + var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL + } else { + var learnerURL = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + 'examples/multi-markers/examples/learner.html' + } + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.navigateToLearnerPage(learnerURL, trackingBackend) + }) + } - if( updateInShaderEnabled === true ){ - cloakMesh.geometry.faceVertexUvs = originalsFaceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } + ////////////////////////////////////////////////////////////////////////////// + // Reset-marker-area + ////////////////////////////////////////////////////////////////////////////// - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + if (arAnchor.parameters.markersAreaEnabled) { + var domElement = document.createElement('button') + domElement.style.display = 'block' + this.domElement.appendChild(domElement) - var originalOrthoVertices = [] - originalOrthoVertices.push( new THREE.Vector3(xMin, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMin, yMin, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMin, 0)) - - // build debugMesh - var material = new THREE.MeshNormalMaterial({ - transparent : true, - opacity: 0.5, - side: THREE.DoubleSide - }); - var geometry = new THREE.PlaneGeometry(1,1); - var orthoMesh = new THREE.Mesh(geometry, material); - this.orthoMesh = orthoMesh + domElement.id = 'buttonMarkersAreaReset' + domElement.innerHTML = 'Reset-marker-area' + domElement.href = 'javascript:void(0)' - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + domElement.addEventListener('click', function () { + _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_0__.default.storeDefaultMultiMarkerFile(trackingBackend) + location.reload() + }) + } +} - this.update = function(modelViewMatrix, cameraProjectionMatrix){ - updateOrtho(modelViewMatrix, cameraProjectionMatrix) +/** + * url for the markers-area learner. if not set, take the default one + * @type {String} + */ +AnchorDebugUI.MarkersAreaLearnerURL = null - if( updateInShaderEnabled === false ){ - updateUvs(modelViewMatrix, cameraProjectionMatrix) - } - } - - return - // update cloakMesh - function updateUvs(modelViewMatrix, cameraProjectionMatrix){ - var transformedUv = new THREE.Vector3() - originalsFaceVertexUvs[0].forEach(function(faceVertexUvs, faceIndex){ - faceVertexUvs.forEach(function(originalUv, uvIndex){ - // set transformedUv - from UV coord to clip coord - transformedUv.x = originalUv.x * 2.0 - 1.0; - transformedUv.y = originalUv.y * 2.0 - 1.0; - transformedUv.z = 0 - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // set back from clip coord to Uv coord - transformedUv.x = transformedUv.x / 2.0 + 0.5; - transformedUv.y = transformedUv.y / 2.0 + 0.5; - // copy the trasnformedUv into the geometry - cloakMesh.geometry.faceVertexUvs[0][faceIndex][uvIndex].set(transformedUv.x, transformedUv.y) - }) - }) - - // cloakMesh.geometry.faceVertexUvs = faceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } - // update orthoMesh - function updateOrtho(modelViewMatrix, cameraProjectionMatrix){ - // compute transformedUvs - var transformedUvs = [] - originalOrthoVertices.forEach(function(originalOrthoVertices, index){ - var transformedUv = originalOrthoVertices.clone() - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // store it - transformedUvs.push(transformedUv) - }) - // change orthoMesh vertices - for(var i = 0; i < transformedUvs.length; i++){ - orthoMesh.geometry.vertices[i].copy(transformedUvs[i]) - } - orthoMesh.geometry.computeBoundingSphere() - orthoMesh.geometry.verticesNeedUpdate = true - } +/***/ }), + +/***/ "./three.js/src/new-api/arjs-hittesting.js": +/*!*************************************************!*\ + !*** ./three.js/src/new-api/arjs-hittesting.js ***! + \*************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../threex/threex-hittesting-plane */ "./three.js/src/threex/threex-hittesting-plane.js"); + + +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const HitTesting = function (arSession) { + var _this = this + var arContext = arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend + this.enabled = true + this._arSession = arSession + this._hitTestingPlane = null + _this._hitTestingPlane = new _threex_threex_hittesting_plane__WEBPACK_IMPORTED_MODULE_0__.default(arSession.arSource.domElement) } ////////////////////////////////////////////////////////////////////////////// -// Shaders +// update function ////////////////////////////////////////////////////////////////////////////// +/** + * update + * + * @param {THREE.Camera} camera - the camera to use + * @param {THREE.Object3D} object3d - + */ +HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { + // if it isnt enabled, do nothing + if (this.enabled === false) return -THREEx.ArMarkerCloak.markerSpaceShaderFunction = '\n'+ -' vec2 transformUvToMarkerSpace(vec2 originalUv){\n'+ -' vec3 transformedUv;\n'+ -' // set transformedUv - from UV coord to clip coord\n'+ -' transformedUv.x = originalUv.x * 2.0 - 1.0;\n'+ -' transformedUv.y = originalUv.y * 2.0 - 1.0;\n'+ -' transformedUv.z = 0.0;\n'+ -'\n'+ -' // apply modelViewMatrix and projectionMatrix\n'+ -' transformedUv = (projectionMatrix * modelViewMatrix * vec4( transformedUv, 1.0 ) ).xyz;\n'+ -'\n'+ -' // apply perspective\n'+ -' transformedUv.x /= transformedUv.z;\n'+ -' transformedUv.y /= transformedUv.z;\n'+ -'\n'+ -' // set back from clip coord to Uv coord\n'+ -' transformedUv.x = transformedUv.x / 2.0 + 0.5;\n'+ -' transformedUv.y = transformedUv.y / 2.0 + 0.5;\n'+ -'\n'+ -' // return the result\n'+ -' return transformedUv.xy;\n'+ -' }' - -THREEx.ArMarkerCloak.vertexShader = THREEx.ArMarkerCloak.markerSpaceShaderFunction + -' varying vec2 vUv;\n'+ -'\n'+ -' void main(){\n'+ -' // pass the UV to the fragment\n'+ -' #if (updateInShaderEnabled == 1)\n'+ -' vUv = transformUvToMarkerSpace(uv);\n'+ -' #else\n'+ -' vUv = uv;\n'+ -' #endif\n'+ -'\n'+ -' // compute gl_Position\n'+ -' vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n'+ -' gl_Position = projectionMatrix * mvPosition;\n'+ -' }'; - -THREEx.ArMarkerCloak.fragmentShader = '\n'+ -' varying vec2 vUv;\n'+ -' uniform sampler2D texture;\n'+ -' uniform float opacity;\n'+ -'\n'+ -' void main(void){\n'+ -' vec3 color = texture2D( texture, vUv ).rgb;\n'+ -'\n'+ -' gl_FragColor = vec4( color, opacity);\n'+ -' }' -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.MarkerControls = THREEx.ArMarkerControls = function(context, object3d, parameters){ - var _this = this - THREEx.ArBaseControls.call(this, object3d) + if (this._hitTestingPlane !== null) { + this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) + } else console.assert(false) +} - this.context = context - // handle default parameters - this.parameters = { - // size of the marker in meter - size : 1, - // type of marker - ['pattern', 'barcode', 'unknown' ] - type : 'unknown', - // url of the pattern - IIF type='pattern' - patternUrl : null, - // value of the barcode - IIF type='barcode' - barcodeValue : null, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode : 'modelViewMatrix', - // minimal confidence in the marke recognition - between [0, 1] - default to 1 - minConfidence: 0.6, - // turn on/off camera smoothing - smooth: false, - // number of matrices to smooth tracking over, more = smoother but slower follow - smoothCount: 5, - // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still - smoothTolerance: 0.01, - // threshold for smoothing, will keep still unless enough matrices are over tolerance - smoothThreshold: 2, - } +////////////////////////////////////////////////////////////////////////////// +// actual hit testing +////////////////////////////////////////////////////////////////////////////// - // sanity check - var possibleValues = ['pattern', 'barcode', 'unknown'] - console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) - var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] - console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) +/** + * Test the real world for intersections directly from a DomEvent + * + * @param {Number} mouseX - position X of the hit [-1, +1] + * @param {Number} mouseY - position Y of the hit [-1, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.testDomEvent = function (domEvent) { + var trackingBackend = this._arSession.arContext.parameters.trackingBackend + var arSource = this._arSession.arSource + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + var mouseX = domEvent.clientX / arSource.domElementWidth() + var mouseY = domEvent.clientY / arSource.domElementHeight() - // create the marker Root - this.object3d = object3d - this.object3d.matrixAutoUpdate = false; - this.object3d.visible = false + return this.test(mouseX, mouseY) +} + +/** + * Test the real world for intersections. + * + * @param {Number} mouseX - position X of the hit [0, +1] + * @param {Number} mouseY - position Y of the hit [0, +1] + * @return {[HitTesting.Result]} - array of result + */ +HitTesting.prototype.test = function (mouseX, mouseY) { + var arContext = this._arSession.arContext + var trackingBackend = arContext.parameters.trackingBackend + var hitTestResults = [] + + // if it isnt enabled, do nothing + if (this.enabled === false) return [] + + var result = this._hitTestingPlane.test(mouseX, mouseY) + + // if no result is found, return now + if (result === null) return hitTestResults + + // build a HitTesting.Result + var hitTestResult = new HitTesting.Result(result.position, result.quaternion, result.scale) + hitTestResults.push(hitTestResult) + + return hitTestResults +} + +////////////////////////////////////////////////////////////////////////////// +// HitTesting.Result +////////////////////////////////////////////////////////////////////////////// +/** + * Contains the result of HitTesting.test() + * + * @param {THREE.Vector3} position - position to use + * @param {THREE.Quaternion} quaternion - quaternion to use + * @param {THREE.Vector3} scale - scale + */ +HitTesting.Result = function (position, quaternion, scale) { + this.position = position + this.quaternion = quaternion + this.scale = scale +} + +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.apply = function (object3d) { + object3d.position.copy(this.position) + object3d.quaternion.copy(this.quaternion) + object3d.scale.copy(this.scale) + + object3d.updateMatrix() +} + +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyPosition = function (object3d) { + object3d.position.copy(this.position) + + object3d.updateMatrix() + + return this +} + +/** + * Apply to a controlled object3d + * + * @param {THREE.Object3D} object3d - the result to apply + */ +HitTesting.Result.prototype.applyQuaternion = function (object3d) { + object3d.quaternion.copy(this.quaternion) + + object3d.updateMatrix() + + return this +} + +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTesting); + + +/***/ }), + +/***/ "./three.js/src/new-api/arjs-session.js": +/*!**********************************************!*\ + !*** ./three.js/src/new-api/arjs-session.js ***! + \**********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); + + + // TODO context build-dependent + +/** + * * define a Session + * + * @param {Object} parameters - parameters for this session + */ +const Session = function(parameters){ + var _this = this + // handle default parameters + this.parameters = { + renderer: null, + camera: null, + scene: null, + sourceParameters: {}, + contextParameters: {}, + } ////////////////////////////////////////////////////////////////////////////// // setParameters @@ -2013,509 +1156,272 @@ ARjs.MarkerControls = THREEx.ArMarkerControls = function(context, object3d, para var newValue = parameters[ key ] if( newValue === undefined ){ - console.warn( "THREEx.ArMarkerControls: '" + key + "' parameter is undefined." ) + console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) continue } var currentValue = _this.parameters[ key ] if( currentValue === undefined ){ - console.warn( "THREEx.ArMarkerControls: '" + key + "' is not a property of this material." ) + console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) continue } _this.parameters[ key ] = newValue } } + // sanity check + console.assert(this.parameters.renderer instanceof three__WEBPACK_IMPORTED_MODULE_0__.WebGLRenderer) + console.assert(this.parameters.camera instanceof three__WEBPACK_IMPORTED_MODULE_0__.Camera) + console.assert(this.parameters.scene instanceof three__WEBPACK_IMPORTED_MODULE_0__.Scene) - if (this.parameters.smooth) { - this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix - } - - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // add this marker to artoolkitsystem - // TODO rename that .addMarkerControls - context.addMarker(this) - if( _this.context.parameters.trackingBackend === 'artoolkit' ){ - this._initArtoolkit() - }else console.assert(false) -} + // backward emulation + Object.defineProperty(this, 'renderer', {get: function(){ + console.warn('use .parameters.renderer renderer') + return this.parameters.renderer; + }}); + Object.defineProperty(this, 'camera', {get: function(){ + console.warn('use .parameters.camera instead') + return this.parameters.camera; + }}); + Object.defineProperty(this, 'scene', {get: function(){ + console.warn('use .parameters.scene instead') + return this.parameters.scene; + }}); -ARjs.MarkerControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkerControls.prototype.constructor = THREEx.ArMarkerControls; -ARjs.MarkerControls.prototype.dispose = function(){ - this.context.removeMarker(this) + // log the version + console.log('AR.js', _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) - // TODO remove the event listener if needed - // unloadMaker ??? -} + ////////////////////////////////////////////////////////////////////////////// + // init arSource + ////////////////////////////////////////////////////////////////////////////// + var arSource = _this.arSource = new _threex_arjs_source__WEBPACK_IMPORTED_MODULE_1__.default(parameters.sourceParameters) -////////////////////////////////////////////////////////////////////////////// -// update controls with new modelViewMatrix -////////////////////////////////////////////////////////////////////////////// + arSource.init(function onReady(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) -/** - * When you actually got a new modelViewMatrix, you need to perfom a whole bunch - * of things. it is done here. - */ -ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ - var markerObject3D = this.object3d; + // handle resize + window.addEventListener('resize', function(){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - // mark object as visible - markerObject3D.visible = true + ////////////////////////////////////////////////////////////////////////////// + // init arContext + ////////////////////////////////////////////////////////////////////////////// - if( this.context.parameters.trackingBackend === 'artoolkit' ){ - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - var tmpMatrix = new THREE.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) - tmpMatrix.multiply(modelViewMatrix) + // create atToolkitContext + var arContext = _this.arContext = new _threex_arjs_context__WEBPACK_IMPORTED_MODULE_2__.default(parameters.contextParameters) - modelViewMatrix.copy(tmpMatrix) - }else console.assert(false) + // initialize it + _this.arContext.init() - // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker - var markerAxisTransformMatrix = new THREE.Matrix4().makeRotationX(Math.PI/2) - modelViewMatrix.multiply(markerAxisTransformMatrix) + arContext.addEventListener('initialized', function(event){ + arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) + }) - var renderReqd = false; + ////////////////////////////////////////////////////////////////////////////// + // update function + ////////////////////////////////////////////////////////////////////////////// + // update artoolkit on every frame + this.update = function(){ + if( arSource.ready === false ) return - // change markerObject3D.matrix based on parameters.changeMatrixMode - if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ - if (this.parameters.smooth) { - var sum, - i, j, - averages, // average values for matrix over last smoothCount - exceedsAverageTolerance = 0; + arContext.update( arSource.domElement ) + } +} - this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest +Session.prototype.onResize = function () { + this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) +}; - if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { - markerObject3D.matrix.copy(modelViewMatrix); // not enough for average - } else { - this.smoothMatrices.shift(); // remove oldest entry - averages = []; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Session); - for (i in modelViewMatrix.elements) { // loop over entries in matrix - sum = 0; - for (j in this.smoothMatrices) { // calculate average for this entry - sum += this.smoothMatrices[j][i]; - } - averages[i] = sum / this.parameters.smoothCount; - // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE - if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { - exceedsAverageTolerance++; - } - } +/***/ }), - // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) - if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { - // then update matrix values to average, otherwise, don't render to minimize jitter - for (i in modelViewMatrix.elements) { - modelViewMatrix.elements[i] = averages[i]; - } - markerObject3D.matrix.copy(modelViewMatrix); - renderReqd = true; // render required in animation loop - } - } - } else { - markerObject3D.matrix.copy(modelViewMatrix) - } - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - markerObject3D.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } +/***/ "./three.js/src/new-api/arjs-utils.js": +/*!********************************************!*\ + !*** ./three.js/src/new-api/arjs-utils.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // decompose - the matrix into .position, .quaternion, .scale - markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); - // dispatchEvent - this.dispatchEvent( { type: 'markerFound' } ); - return renderReqd; -} +const Utils = {}; -////////////////////////////////////////////////////////////////////////////// -// utility functions -////////////////////////////////////////////////////////////////////////////// +/** + * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters + * + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera + */ +Utils.createDefaultCamera = function (trackingMethod) { + var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) + + return camera +} /** - * provide a name for a marker - * - silly heuristic for now - * - should be improved + * parse tracking method + * + * @param {String} trackingMethod - the tracking method to parse + * @return {Object} - various field of the tracking method */ -ARjs.MarkerControls.prototype.name = function(){ - var name = '' - name += this.parameters.type; - if( this.parameters.type === 'pattern' ){ - var url = this.parameters.patternUrl - var basename = url.replace(/^.*\//g, '') - name += ' - ' + basename - }else if( this.parameters.type === 'barcode' ){ - name += ' - ' + this.parameters.barcodeValue - }else{ - console.assert(false, 'no .name() implemented for this marker controls') - } - return name +Utils.parseTrackingMethod = function (trackingMethod) { + + if (trackingMethod === 'best') { + trackingMethod = 'area-artoolkit'; + } + + if (trackingMethod.startsWith('area-')) { + return { + trackingBackend: trackingMethod.replace('area-', ''), + markersAreaEnabled: true, + } + } else { + return { + trackingBackend: trackingMethod, + markersAreaEnabled: false, + } + } } -////////////////////////////////////////////////////////////////////////////// -// init for Artoolkit -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function(){ - var _this = this +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils); - var artoolkitMarkerId = null - var delayedInitTimerId = setInterval(function(){ - // check if arController is init - var arController = _this.context.arController - if( arController === null ) return - // stop looping if it is init - clearInterval(delayedInitTimerId) - delayedInitTimerId = null - // launch the _postInitArtoolkit - postInit() - }, 1000/50) +/***/ }), - return +/***/ "./three.js/src/threex/arjs-context.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-context.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - function postInit(){ - // check if arController is init - var arController = _this.context.arController - console.assert(arController !== null ) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); - // start tracking this pattern - if( _this.parameters.type === 'pattern' ){ - arController.loadMarker(_this.parameters.patternUrl, function(markerId) { - artoolkitMarkerId = markerId - arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); - }); - }else if( _this.parameters.type === 'barcode' ){ - artoolkitMarkerId = _this.parameters.barcodeValue - arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); - }else if( _this.parameters.type === 'unknown' ){ - artoolkitMarkerId = null - }else{ - console.log(false, 'invalid marker type', _this.parameters.type) - } + // Alias for dynamic importing + // TODO comment explanation +const { ARToolkit, ARController } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); +const artoolkit = new ARToolkit(); - // listen to the event - arController.addEventListener('getMarker', function(event){ - if( event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ - if( artoolkitMarkerId === null ) return - if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ - // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) - if( artoolkitMarkerId === null ) return - if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ - onMarkerFound(event) - } - }) +const Context = function (parameters) { + var _this = this - } + _this._updatedAt = null - function onMarkerFound(event){ - // honor his.parameters.minConfidence - if( event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return - if( event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + // handle default parameters + this.parameters = { + // AR backend - ['artoolkit'] + trackingBackend: 'artoolkit', + // debug - true if one should display artoolkit debug canvas, false otherwise + debug: false, + // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] + detectionMode: 'mono', + // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] + matrixCodeType: '3x3', - var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) - _this.updateWithModelViewMatrix(modelViewMatrix) - } -} -var THREEx = THREEx || {} + // url of the camera parameters + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', -THREEx.ArMarkerHelper = function(markerControls){ - this.object3d = new THREE.Group + // tune the maximum rate of pose detection in the source image + maxDetectionRate: 60, + // resolution of at which we detect pose in the source image + canvasWidth: 640, + canvasHeight: 480, - var mesh = new THREE.AxesHelper() - this.object3d.add(mesh) + // the patternRatio inside the artoolkit marker - artoolkit only + patternRatio: 0.5, - var text = markerControls.id - // debugger - // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + // enable image smoothing or not for canvas copy - default to true + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled + imageSmoothingEnabled: false, + } + // parameters sanity check + console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) + console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - var canvas = document.createElement( 'canvas' ); - canvas.width = 64; - canvas.height = 64; + this.arController = null; - var context = canvas.getContext( '2d' ); - var texture = new THREE.CanvasTexture( canvas ); + _this.initialized = false - // put the text in the sprite - context.font = '48px monospace'; - context.fillStyle = 'rgba(192,192,255, 0.5)'; - context.fillRect( 0, 0, canvas.width, canvas.height ); - context.fillStyle = 'darkblue'; - context.fillText(text, canvas.width/4, 3*canvas.height/4 ) - texture.needsUpdate = true - // var geometry = new THREE.CubeGeometry(1, 1, 1) - var geometry = new THREE.PlaneGeometry(1, 1) - var material = new THREE.MeshBasicMaterial({ - map: texture, - transparent: true - }); - var mesh = new THREE.Mesh(geometry, material) - mesh.rotation.x = -Math.PI/2 + this._arMarkersControls = [] - this.object3d.add(mesh) + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("Context: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("Context: '" + key + "' is not a property of this material.") + continue + } + _this.parameters[key] = newValue + } + } } -var THREEx = THREEx || {} +Context.prototype.dispatchEvent = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype.removeEventListener; + +// default to github page +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' /** - * - lerp position/quaternino/scale - * - minDelayDetected - * - minDelayUndetected - * @param {[type]} object3d [description] - * @param {[type]} parameters [description] + * Create a default camera for this trackingBackend + * @param {string} trackingBackend - the tracking to user + * @return {THREE.Camera} the created camera */ -THREEx.ArSmoothedControls = function(object3d, parameters){ - var _this = this - - THREEx.ArBaseControls.call(this, object3d) - - // copy parameters - this.object3d.visible = false - - this._lastLerpStepAt = null - this._visibleStartedAt = null - this._unvisibleStartedAt = null - - // handle default parameters - parameters = parameters || {} - this.parameters = { - // lerp coeficient for the position - between [0,1] - default to 1 - lerpPosition: 0.8, - // lerp coeficient for the quaternion - between [0,1] - default to 1 - lerpQuaternion: 0.2, - // lerp coeficient for the scale - between [0,1] - default to 1 - lerpScale: 0.7, - // delay for lerp fixed steps - in seconds - default to 1/120 - lerpStepDelay: 1/60, - // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds - minVisibleDelay: 0.0, - // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds - minUnvisibleDelay: 0.2, - } - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] - - if( newValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' parameter is undefined." ) - continue - } - - var currentValue = _this.parameters[ key ] - - if( currentValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' is not a property of this material." ) - continue - } - - _this.parameters[ key ] = newValue - } - } -} - -THREEx.ArSmoothedControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -THREEx.ArSmoothedControls.prototype.constructor = THREEx.ArSmoothedControls; - -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// - -THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ - var object3d = this.object3d - var parameters = this.parameters - var wasVisible = object3d.visible - var present = performance.now()/1000 - - - ////////////////////////////////////////////////////////////////////////////// - // handle object3d.visible with minVisibleDelay/minUnvisibleDelay - ////////////////////////////////////////////////////////////////////////////// - if( targetObject3d.visible === false ) this._visibleStartedAt = null - if( targetObject3d.visible === true ) this._unvisibleStartedAt = null - - if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present - if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present - - if( wasVisible === false && targetObject3d.visible === true ){ - var visibleFor = present - this._visibleStartedAt - if( visibleFor >= this.parameters.minVisibleDelay ){ - object3d.visible = true - snapDirectlyToTarget() - } - // console.log('visibleFor', visibleFor) - } - - if( wasVisible === true && targetObject3d.visible === false ){ - var unvisibleFor = present - this._unvisibleStartedAt - if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ - object3d.visible = false - } - } - - ////////////////////////////////////////////////////////////////////////////// - // apply lerp on positon/quaternion/scale - ////////////////////////////////////////////////////////////////////////////// - - // apply lerp steps - require fix time steps to behave the same no matter the fps - if( this._lastLerpStepAt === null ){ - applyOneSlerpStep() - this._lastLerpStepAt = present - }else{ - var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) - for(var i = 0; i < nStepsToDo; i++){ - applyOneSlerpStep() - this._lastLerpStepAt += this.parameters.lerpStepDelay - } - } - - // disable the lerp by directly copying targetObject3d position/quaternion/scale - if( false ){ - snapDirectlyToTarget() - } - - // update the matrix - this.object3d.updateMatrix() - - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible/becameUnVisible event - ////////////////////////////////////////////////////////////////////////////// - // honor becameVisible event - if( wasVisible === false && object3d.visible === true ){ - this.dispatchEvent({ type: 'becameVisible' }) - } - // honor becameUnVisible event - if( wasVisible === true && object3d.visible === false ){ - this.dispatchEvent({ type: 'becameUnVisible' }) - } - return - - function snapDirectlyToTarget(){ - object3d.position.copy( targetObject3d.position ) - object3d.quaternion.copy( targetObject3d.quaternion ) - object3d.scale.copy( targetObject3d.scale ) - } - - function applyOneSlerpStep(){ - object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) - object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) - object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) - } -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.Context = THREEx.ArToolkitContext = function (parameters) { - var _this = this - - _this._updatedAt = null - - // handle default parameters - this.parameters = { - // AR backend - ['artoolkit'] - trackingBackend: 'artoolkit', - // debug - true if one should display artoolkit debug canvas, false otherwise - debug: false, - // the mode of detection - ['color', 'color_and_matrix', 'mono', 'mono_and_matrix'] - detectionMode: 'mono', - // type of matrix code - valid iif detectionMode end with 'matrix' - [3x3, 3x3_HAMMING63, 3x3_PARITY65, 4x4, 4x4_BCH_13_9_3, 4x4_BCH_13_5_5] - matrixCodeType: '3x3', - - // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - - // tune the maximum rate of pose detection in the source image - maxDetectionRate: 60, - // resolution of at which we detect pose in the source image - canvasWidth: 640, - canvasHeight: 480, - - // the patternRatio inside the artoolkit marker - artoolkit only - patternRatio: 0.5, - - // enable image smoothing or not for canvas copy - default to true - // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled - imageSmoothingEnabled: false, - } - // parameters sanity check - console.assert(['artoolkit'].indexOf(this.parameters.trackingBackend) !== -1, 'invalid parameter trackingBackend', this.parameters.trackingBackend) - console.assert(['color', 'color_and_matrix', 'mono', 'mono_and_matrix'].indexOf(this.parameters.detectionMode) !== -1, 'invalid parameter detectionMode', this.parameters.detectionMode) - - this.arController = null; - - _this.initialized = false - - - this._arMarkersControls = [] - - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - - if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") - continue - } - - var currentValue = _this.parameters[key] - - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") - continue - } - - _this.parameters[key] = newValue - } - } -} - -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); - -// default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; - -/** - * Create a default camera for this trackingBackend - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera - */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { - console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false); - return camera -} +Context.createDefaultCamera = function (trackingBackend) { + console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') + // Create a camera + if (trackingBackend === 'artoolkit') { + var camera = new three__WEBPACK_IMPORTED_MODULE_0__.Camera(); + } else console.assert(false); + return camera +} ////////////////////////////////////////////////////////////////////////////// // init functions ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { +Context.prototype.init = function (onCompleted) { var _this = this if (this.parameters.trackingBackend === 'artoolkit') { this._initArtoolkit(done); @@ -2537,7 +1443,7 @@ ARjs.Context.prototype.init = function (onCompleted) { //////////////////////////////////////////////////////////////////////////////// // update function //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { +Context.prototype.update = function (srcElement) { // be sure arController is fully initialized if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; @@ -2551,7 +1457,7 @@ ARjs.Context.prototype.update = function (srcElement) { var prevVisibleMarkers = [] - // mark all markers to invisible before processing this frame & store prev state + // mark all markers to invisible before processing this frame this._arMarkersControls.forEach(function (markerControls) { if (markerControls.object3d.visible) { prevVisibleMarkers.push(markerControls) @@ -2575,7 +1481,7 @@ ARjs.Context.prototype.update = function (srcElement) { this._arMarkersControls.forEach(function (markerControls) { var wasVisible = prevVisibleMarkers.includes(markerControls); var isVisible = markerControls.object3d.visible; - + if (isVisible === true && wasVisible === false) { window.dispatchEvent(new CustomEvent('markerFound', { detail: markerControls, @@ -2585,7 +1491,7 @@ ARjs.Context.prototype.update = function (srcElement) { detail: markerControls, })) } -}) + }) // return true as we processed the frame @@ -2595,96 +1501,98 @@ ARjs.Context.prototype.update = function (srcElement) { //////////////////////////////////////////////////////////////////////////////// // Add/Remove markerControls //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) this._arMarkersControls.push(arMarkerControls) } -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); - console.assert(index !== index) +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } this._arMarkersControls.splice(index, 1) } ////////////////////////////////////////////////////////////////////////////// // artoolkit specific ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { +Context.prototype._initArtoolkit = function (onCompleted) { var _this = this // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one - this._artoolkitProjectionAxisTransformMatrix = new THREE.Matrix4() - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationY(Math.PI)) - this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationZ(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationY(Math.PI)) + this._artoolkitProjectionAxisTransformMatrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationZ(Math.PI)) - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, function () { + // init ARToolkit + artoolkit.init().then(_ => { // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); - _this.arController = arController - - // honor this.parameters.imageSmoothingEnabled - arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - - // honor this.parameters.debug - if (_this.parameters.debug === true) { - arController.debugSetup(); - arController.canvas.style.position = 'absolute' - arController.canvas.style.top = '0px' - arController.canvas.style.opacity = '0.6' - arController.canvas.style.pointerEvents = 'none' - arController.canvas.style.zIndex = '-1' - } + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } - // setPatternDetectionMode - var detectionModes = { - 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, - 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, - 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, - 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, - } - var detectionMode = detectionModes[_this.parameters.detectionMode] - console.assert(detectionMode !== undefined) - arController.setPatternDetectionMode(detectionMode); - - // setMatrixCodeType - var matrixCodeTypes = { - '3x3': artoolkit.AR_MATRIX_CODE_3x3, - '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, - '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, - '4x4': artoolkit.AR_MATRIX_CODE_4x4, - '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, - '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, - } - var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] - console.assert(matrixCodeType !== undefined) - arController.setMatrixCodeType(matrixCodeType); - - // set the patternRatio for artoolkit - arController.setPattRatio(_this.parameters.patternRatio); - - // set thresholding in artoolkit - // this seems to be the default - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) - // adatative consume a LOT of cpu... - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) - - // notify - onCompleted() - }) + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); return this } /** * return the projection matrix */ -ARjs.Context.prototype.getProjectionMatrix = function (srcElement) { +Context.prototype.getProjectionMatrix = function (srcElement) { // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix @@ -2694,2314 +1602,1621 @@ ARjs.Context.prototype.getProjectionMatrix = function (srcElement) { console.assert(this.arController, 'arController MUST be initialized to call this function') // get projectionMatrixArr from artoolkit var projectionMatrixArr = this.arController.getCameraMatrix(); - var projectionMatrix = new THREE.Matrix4().fromArray(projectionMatrixArr) - - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) + var projectionMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(projectionMatrixArr) // return the result return projectionMatrix } -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { +Context.prototype._updateArtoolkit = function (srcElement) { this.arController.process(srcElement) } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -/** - * ArToolkitProfile helps you build parameters for artoolkit - * - it is fully independent of the rest of the code - * - all the other classes are still expecting normal parameters - * - you can use this class to understand how to tune your specific usecase - * - it is made to help people to build parameters without understanding all the underlying details. - */ -ARjs.Profile = THREEx.ArToolkitProfile = function () { - this.reset() +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; - this.performance('default') -} + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } -ARjs.Profile.prototype._guessPerformanceLabel = function () { - var isMobile = navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) - ? true : false - if (isMobile === true) { - return 'phone-normal' - } - return 'desktop-normal' + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; + + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; + + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? } -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Context); -/** - * reset all parameters - */ -ARjs.Profile.prototype.reset = function () { - this.sourceParameters = { - // to read from the webcam - sourceType: 'webcam', - } +/***/ }), - this.contextParameters = { - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - detectionMode: 'mono', - } - this.defaultMarkerParameters = { - type: 'pattern', - patternUrl: THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro', - changeMatrixMode: 'modelViewMatrix', - } - return this -}; +/***/ "./three.js/src/threex/arjs-markercontrols.js": +/*!****************************************************!*\ + !*** ./three.js/src/threex/arjs-markercontrols.js ***! + \****************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -////////////////////////////////////////////////////////////////////////////// -// Performance -////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! jsartoolkit */ "./node_modules/@ar-js-org/artoolkit5-js/dist/ARToolkit.js"); +/* harmony import */ var jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(jsartoolkit__WEBPACK_IMPORTED_MODULE_2__); + // TODO comment explanation +const { ARToolkit } = (jsartoolkit__WEBPACK_IMPORTED_MODULE_2___default()); -ARjs.Profile.prototype.performance = function (label) { +const MarkerControls = function(context, object3d, parameters){ + var _this = this - if (label === 'default') { - label = this._guessPerformanceLabel() - } + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) - if (label === 'desktop-fast') { - this.contextParameters.canvasWidth = 640 * 3 - this.contextParameters.canvasHeight = 480 * 3 + this.context = context + // handle default parameters + this.parameters = { + // size of the marker in meter + size : 1, + // type of marker - ['pattern', 'barcode', 'unknown' ] + type : 'unknown', + // url of the pattern - IIF type='pattern' + patternUrl : null, + // value of the barcode - IIF type='barcode' + barcodeValue : null, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : 'modelViewMatrix', + // minimal confidence in the marke recognition - between [0, 1] - default to 1 + minConfidence: 0.6, + // turn on/off camera smoothing + smooth: false, + // number of matrices to smooth tracking over, more = smoother but slower follow + smoothCount: 5, + // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still + smoothTolerance: 0.01, + // threshold for smoothing, will keep still unless enough matrices are over tolerance + smoothThreshold: 2, + } - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'desktop-normal') { - this.contextParameters.canvasWidth = 640 - this.contextParameters.canvasHeight = 480 + // sanity check + var possibleValues = ['pattern', 'barcode', 'unknown'] + console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) + var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix' ] + console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) - this.contextParameters.maxDetectionRate = 60 - } else if (label === 'phone-normal') { - this.contextParameters.canvasWidth = 80 * 4 - this.contextParameters.canvasHeight = 60 * 4 - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'phone-slow') { - this.contextParameters.canvasWidth = 80 * 3 - this.contextParameters.canvasHeight = 60 * 3 + // create the marker Root + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false - this.contextParameters.maxDetectionRate = 30 - } else { - console.assert(false, 'unknonwn label ' + label) - } - return this -} + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] -////////////////////////////////////////////////////////////////////////////// -// Marker -////////////////////////////////////////////////////////////////////////////// + if( newValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) + continue + } + var currentValue = _this.parameters[ key ] -ARjs.Profile.prototype.defaultMarker = function (trackingBackend) { - trackingBackend = trackingBackend || this.contextParameters.trackingBackend + if( currentValue === undefined ){ + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) + continue + } - if (trackingBackend === 'artoolkit') { - this.contextParameters.detectionMode = 'mono' - this.defaultMarkerParameters.type = 'pattern' - this.defaultMarkerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro' - } else console.assert(false) + _this.parameters[ key ] = newValue + } + } - return this -} -////////////////////////////////////////////////////////////////////////////// -// Source -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.sourceWebcam = function () { - this.sourceParameters.sourceType = 'webcam' - delete this.sourceParameters.sourceUrl - return this -} + if (this.parameters.smooth) { + this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix + } -ARjs.Profile.prototype.sourceVideo = function (url) { - this.sourceParameters.sourceType = 'video' - this.sourceParameters.sourceUrl = url - return this -} + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// + // add this marker to artoolkitsystem + // TODO rename that .addMarkerControls + context.addMarker(this) -ARjs.Profile.prototype.sourceImage = function (url) { - this.sourceParameters.sourceType = 'image' - this.sourceParameters.sourceUrl = url - return this + if( _this.context.parameters.trackingBackend === 'artoolkit' ){ + this._initArtoolkit() + }else console.assert(false) } -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingBackend = function (trackingBackend) { - console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') - this.contextParameters.trackingBackend = trackingBackend - return this -} +MarkerControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkerControls.prototype.constructor = MarkerControls; + ////////////////////////////////////////////////////////////////////////////// -// trackingBackend +// dispose instance ////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.changeMatrixMode = function (changeMatrixMode) { - this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode - return this +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; } ////////////////////////////////////////////////////////////////////////////// -// trackingBackend +// update controls with new modelViewMatrix ////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingMethod = function (trackingMethod) { - var data = ARjs.Utils.parseTrackingMethod(trackingMethod) - this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled - this.contextParameters.trackingBackend = data.trackingBackend - return this -} /** - * check if the profile is valid. Throw an exception is not valid + * When you actually got a new modelViewMatrix, you need to perfom a whole bunch + * of things. it is done here. */ -ARjs.Profile.prototype.checkIfValid = function () { - return this -} -var ARjs = ARjs || {} -var THREEx = THREEx || {} +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ + var markerObject3D = this.object3d; -ARjs.Source = THREEx.ArToolkitSource = function (parameters) { - var _this = this + // mark object as visible + markerObject3D.visible = true - this.ready = false - this.domElement = null + if( this.context.parameters.trackingBackend === 'artoolkit' ){ + // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one + var tmpMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) + tmpMatrix.multiply(modelViewMatrix) - // handle default parameters - this.parameters = { - // type of source - ['webcam', 'image', 'video'] - sourceType: 'webcam', - // url of the source - valid if sourceType = image|video - sourceUrl: null, + modelViewMatrix.copy(tmpMatrix) + }else console.assert(false) - // Device id of the camera to use (optional) - deviceId: null, + // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker + var markerAxisTransformMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeRotationX(Math.PI/2) + modelViewMatrix.multiply(markerAxisTransformMatrix) - // resolution of at which we initialize in the source image - sourceWidth: 640, - sourceHeight: 480, - // resolution displayed for the source - displayWidth: 640, - displayHeight: 480, - } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] + var renderReqd = false; - if (newValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' parameter is undefined.") - continue - } + // change markerObject3D.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + if (this.parameters.smooth) { + var sum, + i, j, + averages, // average values for matrix over last smoothCount + exceedsAverageTolerance = 0; - var currentValue = _this.parameters[key] + this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' is not a property of this material.") - continue - } + if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { + markerObject3D.matrix.copy(modelViewMatrix); // not enough for average + } else { + this.smoothMatrices.shift(); // remove oldest entry + averages = []; - _this.parameters[key] = newValue - } - } + for (i in modelViewMatrix.elements) { // loop over entries in matrix + sum = 0; + for (j in this.smoothMatrices) { // calculate average for this entry + sum += this.smoothMatrices[j][i]; + } + averages[i] = sum / this.parameters.smoothCount; + // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE + if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { + exceedsAverageTolerance++; + } + } + + // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) + if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { + // then update matrix values to average, otherwise, don't render to minimize jitter + for (i in modelViewMatrix.elements) { + modelViewMatrix.elements[i] = averages[i]; + } + markerObject3D.matrix.copy(modelViewMatrix); + renderReqd = true; // render required in animation loop + } + } + } else { + markerObject3D.matrix.copy(modelViewMatrix) + } + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + markerObject3D.matrix.copy(modelViewMatrix).invert() + }else { + console.assert(false) + } + + // decompose - the matrix into .position, .quaternion, .scale + markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + + // dispatchEvent + this.dispatchEvent( { type: 'markerFound' } ); + + return renderReqd; } ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// utility functions ////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.init = function (onReady, onError) { - var _this = this - if (this.parameters.sourceType === 'image') { - var domElement = this._initSourceImage(onSourceReady, onError) - } else if (this.parameters.sourceType === 'video') { - var domElement = this._initSourceVideo(onSourceReady, onError) - } else if (this.parameters.sourceType === 'webcam') { - // var domElement = this._initSourceWebcamOld(onSourceReady) - var domElement = this._initSourceWebcam(onSourceReady, onError) - } else { - console.assert(false) - } - - // attach - this.domElement = domElement - this.domElement.style.position = 'absolute' - this.domElement.style.top = '0px' - this.domElement.style.left = '0px' - this.domElement.style.zIndex = '-2' - this.domElement.setAttribute('id', 'arjs-video'); - - return this - function onSourceReady() { - document.body.appendChild(_this.domElement); - window.dispatchEvent(new CustomEvent('arjs-video-loaded', { - detail: { - component: document.querySelector('#arjs-video'), - }, - })); - - _this.ready = true - - onReady && onReady() - } +/** + * provide a name for a marker + * - silly heuristic for now + * - should be improved + */ +MarkerControls.prototype.name = function(){ + var name = '' + name += this.parameters.type; + if( this.parameters.type === 'pattern' ){ + var url = this.parameters.patternUrl + var basename = url.replace(/^.*\//g, '') + name += ' - ' + basename + }else if( this.parameters.type === 'barcode' ){ + name += ' - ' + this.parameters.barcodeValue + }else{ + console.assert(false, 'no .name() implemented for this marker controls') + } + return name } -//////////////////////////////////////////////////////////////////////////////// -// init image source -//////////////////////////////////////////////////////////////////////////////// - +////////////////////////////////////////////////////////////////////////////// +// init for Artoolkit +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype._initArtoolkit = function(){ + var _this = this -ARjs.Source.prototype._initSourceImage = function (onReady) { - // TODO make it static - var domElement = document.createElement('img'); - domElement.src = this.parameters.sourceUrl; + var artoolkitMarkerId = null - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + var delayedInitTimerId = setInterval(function(){ + // check if arController is init + var arController = _this.context.arController + if( arController === null ) return + // stop looping if it is init + clearInterval(delayedInitTimerId) + delayedInitTimerId = null + // launch the _postInitArtoolkit + postInit() + }, 1000/50) - domElement.onload = onReady; - return domElement -} + return -//////////////////////////////////////////////////////////////////////////////// -// init video source -//////////////////////////////////////////////////////////////////////////////// + function postInit(){ + // check if arController is init + var arController = _this.context.arController + console.assert(arController !== null ) + // start tracking this pattern + if( _this.parameters.type === 'pattern' ){ + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { + artoolkitMarkerId = markerId + arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); + }); + }else if( _this.parameters.type === 'barcode' ){ + artoolkitMarkerId = _this.parameters.barcodeValue + arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); + }else if( _this.parameters.type === 'unknown' ){ + artoolkitMarkerId = null + }else{ + console.log(false, 'invalid marker type', _this.parameters.type) + } -ARjs.Source.prototype._initSourceVideo = function (onReady) { - // TODO make it static - var domElement = document.createElement('video'); - domElement.src = this.parameters.sourceUrl; + // listen to the event + arController.addEventListener('getMarker', onGetMarker) - domElement.style.objectFit = 'initial'; + } - domElement.autoplay = true; - domElement.webkitPlaysinline = true; - domElement.controls = false; - domElement.loop = true; - domElement.muted = true; + function onMarkerFound(event){ + // honor his.parameters.minConfidence + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return - // trick to trigger the video on android - document.body.addEventListener('click', function onClick() { - document.body.removeEventListener('click', onClick); - domElement.play() - }); + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } - domElement.onloadeddata = onReady; - return domElement } -//////////////////////////////////////////////////////////////////////////////// -// handle webcam source -//////////////////////////////////////////////////////////////////////////////// - -ARjs.Source.prototype._initSourceWebcam = function (onReady, onError) { - var _this = this - - // init default value - onError = onError || function (error) { - var event = new CustomEvent('camera-error', { error: error }); - window.dispatchEvent(event); - - setTimeout(() => { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - }, 1000); - } +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkerControls); - var domElement = document.createElement('video'); - domElement.setAttribute('autoplay', ''); - domElement.setAttribute('muted', ''); - domElement.setAttribute('playsinline', ''); - domElement.style.width = this.parameters.displayWidth + 'px' - domElement.style.height = this.parameters.displayHeight + 'px' - // check API is available - if (navigator.mediaDevices === undefined - || navigator.mediaDevices.enumerateDevices === undefined - || navigator.mediaDevices.getUserMedia === undefined) { - if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' - else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' - else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' - else console.assert(false) - onError({ - name: '', - message: 'WebRTC issue-! ' + fctName + ' not present in your browser' - }); - return null - } +/***/ }), - // get available devices - navigator.mediaDevices.enumerateDevices().then(function (devices) { - var userMediaConstraints = { - audio: false, - video: { - facingMode: 'environment', - width: { - ideal: _this.parameters.sourceWidth, - // min: 1024, - // max: 1920 - }, - height: { - ideal: _this.parameters.sourceHeight, - // min: 776, - // max: 1080 - } - } - }; +/***/ "./three.js/src/threex/arjs-profile.js": +/*!*********************************************!*\ + !*** ./three.js/src/threex/arjs-profile.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (null !== _this.parameters.deviceId) { - userMediaConstraints.video.deviceId = { - exact: _this.parameters.deviceId - }; - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./arjs-context */ "./three.js/src/threex/arjs-context.js"); - // get a device which satisfy the constraints - navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { - // set the .src of the domElement - domElement.srcObject = stream; + // TODO context build-dependent - var event = new CustomEvent('camera-init', { stream: stream }); - window.dispatchEvent(event); - // to start the video, when it is possible to start it only on userevent. like in android - document.body.addEventListener('click', function () { - domElement.play(); - }); - // domElement.play(); +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() - onReady(); - }).catch(function (error) { - onError({ - name: error.name, - message: error.message - }); - }); - }).catch(function (error) { - onError({ - message: error.message - }); - }); + this.performance('default') +} - return domElement +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' } ////////////////////////////////////////////////////////////////////////////// -// Handle Mobile Torch +// Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.hasMobileTorch = function () { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) return false - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', } - var videoTrack = stream.getVideoTracks()[0]; + this.contextParameters = { + cameraParametersUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; - // if videoTrack.getCapabilities() doesnt exist, return false now - if (videoTrack.getCapabilities === undefined) return false +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// - var capabilities = videoTrack.getCapabilities() - return capabilities.torch ? true : false -} -/** - * toggle the flash/torch of the mobile fun if applicable. - * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ - */ -ARjs.Source.prototype.toggleMobileTorch = function () { - // sanity check - console.assert(this.hasMobileTorch() === true) +Profile.prototype.performance = function (label) { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return - } - - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } - - var videoTrack = stream.getVideoTracks()[0]; - var capabilities = videoTrack.getCapabilities() - - if (!capabilities.torch) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'no mobile torch is available on your camera' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return + if (label === 'default') { + label = this._guessPerformanceLabel() } - this._currentTorchStatus = this._currentTorchStatus === false ? true : false - videoTrack.applyConstraints({ - advanced: [{ - torch: this._currentTorchStatus - }] - }).catch(function (error) { - console.log(error) - }); -} - -ARjs.Source.prototype.domElementWidth = function () { - return parseInt(this.domElement.style.width) -} -ARjs.Source.prototype.domElementHeight = function () { - return parseInt(this.domElement.style.height) -} + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 -//////////////////////////////////////////////////////////////////////////////// -// handle resize -//////////////////////////////////////////////////////////////////////////////// + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 -ARjs.Source.prototype.onResizeElement = function () { - var _this = this - var screenWidth = window.innerWidth - var screenHeight = window.innerHeight + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 - // sanity check - console.assert(arguments.length === 0) + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 - // compute sourceWidth, sourceHeight - if (this.domElement.nodeName === "IMG") { - var sourceWidth = this.domElement.naturalWidth - var sourceHeight = this.domElement.naturalHeight - } else if (this.domElement.nodeName === "VIDEO") { - var sourceWidth = this.domElement.videoWidth - var sourceHeight = this.domElement.videoHeight + this.contextParameters.maxDetectionRate = 30 } else { - console.assert(false) + console.assert(false, 'unknonwn label ' + label) } + return this +} - // compute sourceAspect - var sourceAspect = sourceWidth / sourceHeight - // compute screenAspect - var screenAspect = screenWidth / screenHeight +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// - // if screenAspect < sourceAspect, then change the width, else change the height - if (screenAspect < sourceAspect) { - // compute newWidth and set .width/.marginLeft - var newWidth = sourceAspect * screenHeight - this.domElement.style.width = newWidth + 'px' - this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' - // init style.height/.marginTop to normal value - this.domElement.style.height = screenHeight + 'px' - this.domElement.style.marginTop = '0px' - } else { - // compute newHeight and set .height/.marginTop - var newHeight = 1 / (sourceAspect / screenWidth) - this.domElement.style.height = newHeight + 'px' - this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend - // init style.width/.marginLeft to normal value - this.domElement.style.width = screenWidth + 'px' - this.domElement.style.marginLeft = '0px' - } + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = _arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this } -/* -ARjs.Source.prototype.copyElementSizeTo = function(otherElement){ - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this } -*/ - -ARjs.Source.prototype.copyElementSizeTo = function (otherElement) { - if (window.innerWidth > window.innerHeight) { - //landscape - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop - } - else { - //portrait - otherElement.style.height = this.domElement.style.height - otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; - otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; - otherElement.style.marginTop = 0; - } +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this } ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// trackingBackend ////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} -ARjs.Source.prototype.copySizeTo = function () { - console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') - this.copyElementSizeTo.apply(this, arguments) +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this } ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// trackingBackend ////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_0__.default.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} -ARjs.Source.prototype.onResize = function (arToolkitContext, renderer, camera) { - if (arguments.length !== 3) { - console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') - return this.onResizeElement.apply(this, arguments) - } +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} - var trackingBackend = arToolkitContext.parameters.trackingBackend +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Profile); - // RESIZE DOMELEMENT - if (trackingBackend === 'artoolkit') { +/***/ }), - this.onResizeElement() +/***/ "./three.js/src/threex/arjs-source.js": +/*!********************************************!*\ + !*** ./three.js/src/threex/arjs-source.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false - if (isAframe === false) { - this.copyElementSizeTo(renderer.domElement) - } else { +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +const Source = function (parameters) { + var _this = this - } + this.ready = false + this.domElement = null - if (arToolkitContext.arController !== null) { - this.copyElementSizeTo(arToolkitContext.arController.canvas) - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] - // UPDATE CAMERA - if (trackingBackend === 'artoolkit') { - if (arToolkitContext.arController !== null) { - camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) -} -var THREEx = THREEx || {} + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } -THREEx.ArVideoInWebgl = function(videoTexture){ - var _this = this - - ////////////////////////////////////////////////////////////////////////////// - // plane always in front of the camera, exactly as big as the viewport - ////////////////////////////////////////////////////////////////////////////// - var geometry = new THREE.PlaneGeometry(2, 2); - var material = new THREE.MeshBasicMaterial({ - // map : new THREE.TextureLoader().load('images/water.jpg'), - map : videoTexture, - // side: THREE.DoubleSide, - // opacity: 0.5, - // color: 'pink', - // transparent: true, - }); - var seethruPlane = new THREE.Mesh(geometry, material); - this.object3d = seethruPlane - // scene.add(seethruPlane); - - // arToolkitSource.domElement.style.visibility = 'hidden' + var currentValue = _this.parameters[key] - // TODO extract the fov from the projectionMatrix - // camera.fov = 43.1 - this.update = function(camera){ - camera.updateMatrixWorld(true) - - // get seethruPlane position - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - var position = new THREE.Vector3(-0,0,-20) // TODO how come you got that offset on x ??? - seethruPlane.position.copy(position) - camera.localToWorld(seethruPlane.position) - - // get seethruPlane quaternion - camera.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); - seethruPlane.quaternion.copy( camera.quaternion ) - - // extract the fov from the projectionMatrix - var fov = THREE.Math.radToDeg(Math.atan(1/camera.projectionMatrix.elements[5]))*2; - // console.log('fov', fov) - - var elementWidth = parseFloat( arToolkitSource.domElement.style.width.replace(/px$/,''), 10 ) - var elementHeight = parseFloat( arToolkitSource.domElement.style.height.replace(/px$/,''), 10 ) - - var aspect = elementWidth / elementHeight - - // camera.fov = fov - // if( vrDisplay.isPresenting ){ - // fov *= 2 - // aspect *= 2 - // } - - // get seethruPlane height relative to fov - seethruPlane.scale.y = Math.tan(THREE.Math.DEG2RAD * fov/2)*position.length() - // get seethruPlane aspect - seethruPlane.scale.x = seethruPlane.scale.y * aspect - } + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // var video = arToolkitSource.domElement; - // - // window.addEventListener('resize', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // video.addEventListener('canplaythrough', function(){ - // updateSeeThruAspectUv(seethruPlane) - // }) - // function updateSeeThruAspectUv(plane){ - // - // // if video isnt yet ready to play - // if( video.videoWidth === 0 || video.videoHeight === 0 ) return - // - // var faceVertexUvs = plane.geometry.faceVertexUvs[0] - // var screenAspect = window.innerWidth / window.innerHeight - // var videoAspect = video.videoWidth / video.videoHeight - // - // plane.geometry.uvsNeedUpdate = true - // if( screenAspect >= videoAspect ){ - // var actualHeight = videoAspect / screenAspect; - // // faceVertexUvs y 0 - // faceVertexUvs[0][1].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][0].y = 0.5 - actualHeight/2 - // faceVertexUvs[1][1].y = 0.5 - actualHeight/2 - // // faceVertexUvs y 1 - // faceVertexUvs[0][0].y = 0.5 + actualHeight/2 - // faceVertexUvs[0][2].y = 0.5 + actualHeight/2 - // faceVertexUvs[1][2].y = 0.5 + actualHeight/2 - // }else{ - // var actualWidth = screenAspect / videoAspect; - // // faceVertexUvs x 0 - // faceVertexUvs[0][0].x = 0.5 - actualWidth/2 - // faceVertexUvs[0][1].x = 0.5 - actualWidth/2 - // faceVertexUvs[1][0].x = 0.5 - actualWidth/2 - // - // // faceVertexUvs x 1 - // faceVertexUvs[0][2].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][1].x = 0.5 + actualWidth/2 - // faceVertexUvs[1][2].x = 0.5 + actualWidth/2 - // } - // } + _this.parameters[key] = newValue + } + } + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } } -var THREEx = THREEx || {} -// TODO this is useless - prefere arjs-HitTesting.js +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this -/** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to - */ -THREEx.HitTestingPlane = function(sourceElement){ - this._sourceElement = sourceElement - - // create _pickingScene - this._pickingScene = new THREE.Scene - - // create _pickingPlane - var geometry = new THREE.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) - // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) - var material = new THREE.MeshBasicMaterial({ - // opacity: 0.5, - // transparent: true, - wireframe: true - }) - // material.visible = false - this._pickingPlane = new THREE.Mesh(geometry, material) - this._pickingScene.add(this._pickingPlane) - - // Create pickingCamera - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - // TODO hardcoded fov - couch - this._pickingCamera = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); -} - -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// - -THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ - - this.onResize() - - - if( changeMatrixMode === 'modelViewMatrix' ){ - // set pickingPlane position - var pickingPlane = this._pickingPlane - pickingRoot.parent.updateMatrixWorld() - pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) - // set position/quaternion/scale from pickingPlane.matrix - pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) - }else if( changeMatrixMode === 'cameraTransformMatrix' ){ - // set pickingPlane position - var pickingCamera = this._pickingCamera - camera.updateMatrixWorld() - pickingCamera.matrix.copy(camera.matrixWorld) - // set position/quaternion/scale from pickingCamera.matrix - pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) - }else console.assert(false) - - -// var position = this._pickingPlane.position -// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) -// var position = this._pickingCamera.position -// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) - -} - -////////////////////////////////////////////////////////////////////////////// -// resize camera -////////////////////////////////////////////////////////////////////////////// - -THREEx.HitTestingPlane.prototype.onResize = function(){ - var sourceElement = this._sourceElement - var pickingCamera = this._pickingCamera - -// FIXME why using css here ??? not even computed style -// should get the size of the elment directly independantly - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - pickingCamera.aspect = fullWidth / fullHeight - - pickingCamera.updateProjectionMatrix() -} - -////////////////////////////////////////////////////////////////////////////// -// Perform test -////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ - // convert mouseX, mouseY to [-1, +1] - mouseX = (mouseX-0.5)*2 - mouseY =-(mouseY-0.5)*2 - - this._pickingScene.updateMatrixWorld(true) - - // compute intersections between mouseVector3 and pickingPlane - var raycaster = new THREE.Raycaster(); - var mouseVector3 = new THREE.Vector3(mouseX, mouseY, 1); - raycaster.setFromCamera( mouseVector3, this._pickingCamera ) - var intersects = raycaster.intersectObjects( [this._pickingPlane] ) - - if( intersects.length === 0 ) return null - - // set new demoRoot position - var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) - // TODO here do a look at the camera ? - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3(1,1,1)//.multiplyScalar(1) - - return { - position : position, - quaternion : quaternion, - scale : scale - } -} - -////////////////////////////////////////////////////////////////////////////// -// render the pickingPlane for debug -////////////////////////////////////////////////////////////////////////////// - -THREEx.HitTestingPlane.prototype.renderDebug = function(renderer){ - // render sceneOrtho - renderer.render( this._pickingScene, this._pickingCamera ) -} -// @namespace -var ARjs = ARjs || {} - -// TODO this is a controls... should i give the object3d here ? -// not according to 'no three.js dependancy' - -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.Anchor = function(arSession, markerParameters){ - var _this = this - var arContext = arSession.arContext - var scene = arSession.parameters.scene - var camera = arSession.parameters.camera - - this.arSession = arSession - this.parameters = markerParameters - - // log to debug - console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) - - var markerRoot = new THREE.Group - scene.add(markerRoot) - - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var controlledObject = markerRoot - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var controlledObject = camera - }else console.assert(false) - - if( markerParameters.markersAreaEnabled === false ){ - var markerControls = new THREEx.ArMarkerControls(arContext, controlledObject, markerParameters) - this.controls = markerControls - }else{ - // sanity check - MUST be a trackingBackend with markers - console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - - // honor markers-page-resolution for https://webxr.io/augmented-website - if( location.hash.substring(1).startsWith('markers-page-resolution=') === true ){ - // get resolutionW/resolutionH from url - var markerPageResolution = location.hash.substring(1) - var matches = markerPageResolution.match(/markers-page-resolution=(\d+)x(\d+)/) - console.assert(matches.length === 3) - var resolutionW = parseInt(matches[1]) - var resolutionH = parseInt(matches[2]) - var arContext = arSession.arContext - // generate and store the ARjsMultiMarkerFile - ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) - } - - // if there is no ARjsMultiMarkerFile, build a default one - if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) - } - - // get multiMarkerFile from localStorage - console.assert( localStorage.getItem('ARjsMultiMarkerFile') !== null ) - var multiMarkerFile = localStorage.getItem('ARjsMultiMarkerFile') - - // set controlledObject depending on changeMatrixMode - if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ - var parent3D = scene - }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ - var parent3D = camera - }else console.assert(false) - - // build a multiMarkerControls - var multiMarkerControls = ARjs.MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) - this.controls = multiMarkerControls - - // honor markerParameters.changeMatrixMode - multiMarkerControls.parameters.changeMatrixMode = markerParameters.changeMatrixMode - -// TODO put subMarkerControls visibility into an external file. with 2 handling for three.js and babylon.js - // create ArMarkerHelper - useful to debug - super three.js specific - var markerHelpers = [] - multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ - // add an helper to visuable each sub-marker - var markerHelper = new THREEx.ArMarkerHelper(subMarkerControls) - markerHelper.object3d.visible = false - // subMarkerControls.object3d.add( markerHelper.object3d ) - subMarkerControls.object3d.add( markerHelper.object3d ) - // add it to markerHelpers - markerHelpers.push(markerHelper) - }) - // define API specific to markersArea - this.markersArea = {} - this.markersArea.setSubMarkersVisibility = function(visible){ - markerHelpers.forEach(function(markerHelper){ - markerHelper.object3d.visible = visible - }) - } - } - - this.object3d = new THREE.Group() - - ////////////////////////////////////////////////////////////////////////////// - // THREEx.ArSmoothedControls - ////////////////////////////////////////////////////////////////////////////// - - var shouldBeSmoothed = true - - if( shouldBeSmoothed === true ){ - // build a smoothedControls - var smoothedRoot = new THREE.Group() - scene.add(smoothedRoot) - var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot) - smoothedRoot.add(this.object3d) - }else{ - markerRoot.add(this.object3d) - } - - - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - this.update = function(){ - // update _this.object3d.visible - _this.object3d.visible = _this.object3d.parent.visible - - // console.log('controlledObject.visible', _this.object3d.parent.visible) - if( smoothedControls !== undefined ){ - // update smoothedControls parameters depending on how many markers are visible in multiMarkerControls - if( multiMarkerControls !== undefined ){ - multiMarkerControls.updateSmoothedControls(smoothedControls) - } - - // update smoothedControls - smoothedControls.update(markerRoot) - } - } -} -// @namespace -var ARjs = ARjs || {} - -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.SessionDebugUI = function (arSession) { - var trackingBackend = arSession.arContext.parameters.trackingBackend - - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.left = '5px' - this.domElement.style.bottom = '10px' - this.domElement.style.textAlign = 'right' - - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// - - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.innerHTML = 'trackingBackend : ' + trackingBackend - this.domElement.appendChild(domElement) -} - -/** - * Url of augmented-website service - if === '' then dont include augmented-website link - * @type {String} - */ -ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' - -////////////////////////////////////////////////////////////////////////////// -// ARjs.AnchorDebugUI -////////////////////////////////////////////////////////////////////////////// - -/** - * Create an debug UI for an ARjs.Anchor - * - * @param {ARjs.Anchor} arAnchor - the anchor to user - */ -ARjs.AnchorDebugUI = function (arAnchor) { - var arSession = arAnchor.arSession - var trackingBackend = arSession.arContext.parameters.trackingBackend - - this.domElement = document.createElement('div') - this.domElement.style.color = 'rgba(0,0,0,0.9)' - this.domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - this.domElement.style.display = 'inline-block' - this.domElement.style.padding = '0.5em' - this.domElement.style.margin = '0.5em' - this.domElement.style.textAlign = 'left' - - ////////////////////////////////////////////////////////////////////////////// - // current-tracking-backend - ////////////////////////////////////////////////////////////////////////////// - - var domElement = document.createElement('span') - domElement.style.display = 'block' - domElement.style.padding = '0.5em' - domElement.style.color = 'rgba(0,0,0,0.9)' - domElement.style.backgroundColor = 'rgba(127,127,127,0.5)' - domElement.style.position = 'fixed' - domElement.style.left = '5px' - domElement.style.bottom = '40px' - - this.domElement.appendChild(domElement) - domElement.innerHTML = 'markersAreaEnabled :' + arAnchor.parameters.markersAreaEnabled - - ////////////////////////////////////////////////////////////////////////////// - // toggle-marker-helper - ////////////////////////////////////////////////////////////////////////////// - - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.style.padding = '0.5em' - this.domElement.style.position = 'fixed' - this.domElement.style.textAlign = 'left' - this.domElement.appendChild(domElement) - - domElement.id = 'buttonToggleMarkerHelpers' - domElement.innerHTML = 'toggle-marker-helper' - domElement.href = 'javascript:void(0)' - - var subMarkerHelpersVisible = false - domElement.addEventListener('click', function () { - subMarkerHelpersVisible = subMarkerHelpersVisible ? false : true - arAnchor.markersArea.setSubMarkersVisibility(subMarkerHelpersVisible) - }) + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) } - ////////////////////////////////////////////////////////////////////////////// - // Learn-new-marker-area - ////////////////////////////////////////////////////////////////////////////// - - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) - - domElement.id = 'buttonMarkersAreaLearner' - domElement.innerHTML = 'Learn-new-marker-area' - domElement.href = 'javascript:void(0)' - - domElement.addEventListener('click', function () { - if (ARjs.AnchorDebugUI.MarkersAreaLearnerURL !== null) { - var learnerURL = ARjs.AnchorDebugUI.MarkersAreaLearnerURL - } else { - var learnerURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' - } - ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) - }) - } + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); - ////////////////////////////////////////////////////////////////////////////// - // Reset-marker-area - ////////////////////////////////////////////////////////////////////////////// + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } - if (arAnchor.parameters.markersAreaEnabled) { - var domElement = document.createElement('button') - domElement.style.display = 'block' - this.domElement.appendChild(domElement) + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); - domElement.id = 'buttonMarkersAreaReset' - domElement.innerHTML = 'Reset-marker-area' - domElement.href = 'javascript:void(0)' + _this.ready = true - domElement.addEventListener('click', function () { - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) - location.reload() - }) + onReady && onReady() } } -/** - * url for the markers-area learner. if not set, take the default one - * @type {String} - */ -ARjs.AnchorDebugUI.MarkersAreaLearnerURL = null -// @namespace -var ARjs = ARjs || {} - -/** - * Create an anchor in the real world - * - * @param {ARjs.Session} arSession - the session on which we create the anchor - * @param {Object} markerParameters - parameter of this anchor - */ -ARjs.HitTesting = function (arSession) { - var _this = this - var arContext = arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - - this.enabled = true - this._arSession = arSession - this._hitTestingPlane = null - _this._hitTestingPlane = new THREEx.HitTestingPlane(arSession.arSource.domElement) -} - -////////////////////////////////////////////////////////////////////////////// -// update function -////////////////////////////////////////////////////////////////////////////// -/** - * update - * - * @param {THREE.Camera} camera - the camera to use - * @param {THREE.Object3D} object3d - - */ -ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { - // if it isnt enabled, do nothing - if (this.enabled === false) return - - - if (this._hitTestingPlane !== null) { - this._hitTestingPlane.update(camera, pickingRoot, changeMatrixMode) - } else console.assert(false) -} +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -// actual hit testing -////////////////////////////////////////////////////////////////////////////// -/** - * Test the real world for intersections directly from a DomEvent - * - * @param {Number} mouseX - position X of the hit [-1, +1] - * @param {Number} mouseY - position Y of the hit [-1, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { - var trackingBackend = this._arSession.arContext.parameters.trackingBackend - var arSource = this._arSession.arSource +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; - // if it isnt enabled, do nothing - if (this.enabled === false) return [] - var mouseX = domEvent.clientX / arSource.domElementWidth() - var mouseY = domEvent.clientY / arSource.domElementHeight() + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; - return this.test(mouseX, mouseY) + domElement.onload = onReady; + return domElement } -/** - * Test the real world for intersections. - * - * @param {Number} mouseX - position X of the hit [0, +1] - * @param {Number} mouseY - position Y of the hit [0, +1] - * @return {[ARjs.HitTesting.Result]} - array of result - */ -ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { - var arContext = this._arSession.arContext - var trackingBackend = arContext.parameters.trackingBackend - var hitTestResults = [] - - // if it isnt enabled, do nothing - if (this.enabled === false) return [] - - var result = this._hitTestingPlane.test(mouseX, mouseY) - - // if no result is found, return now - if (result === null) return hitTestResults - - // build a ARjs.HitTesting.Result - var hitTestResult = new ARjs.HitTesting.Result(result.position, result.quaternion, result.scale) - hitTestResults.push(hitTestResult) +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// - return hitTestResults -} -////////////////////////////////////////////////////////////////////////////// -// ARjs.HitTesting.Result -////////////////////////////////////////////////////////////////////////////// -/** - * Contains the result of ARjs.HitTesting.test() - * - * @param {THREE.Vector3} position - position to use - * @param {THREE.Quaternion} quaternion - quaternion to use - * @param {THREE.Vector3} scale - scale - */ -ARjs.HitTesting.Result = function (position, quaternion, scale) { - this.position = position - this.quaternion = quaternion - this.scale = scale -} +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.apply = function (object3d) { - object3d.position.copy(this.position) - object3d.quaternion.copy(this.quaternion) - object3d.scale.copy(this.scale) + domElement.style.objectFit = 'initial'; - object3d.updateMatrix() -} + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { - object3d.position.copy(this.position) + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); - object3d.updateMatrix() + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; - return this + domElement.onloadeddata = onReady; + return domElement } -/** - * Apply to a controlled object3d - * - * @param {THREE.Object3D} object3d - the result to apply - */ -ARjs.HitTesting.Result.prototype.applyQuaternion = function (object3d) { - object3d.quaternion.copy(this.quaternion) - - object3d.updateMatrix() +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// - return this -} -var ARjs = ARjs || {} +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this -/** - * define a ARjs.Session - * - * @param {Object} parameters - parameters for this session - */ -ARjs.Session = function(parameters){ - var _this = this - // handle default parameters - this.parameters = { - renderer: null, - camera: null, - scene: null, - sourceParameters: {}, - contextParameters: {}, - } + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters){ - if( parameters === undefined ) return - for( var key in parameters ){ - var newValue = parameters[ key ] + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } - if( newValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' parameter is undefined." ) - continue - } + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' - var currentValue = _this.parameters[ key ] + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } - if( currentValue === undefined ){ - console.warn( "THREEx.Session: '" + key + "' is not a property of this material." ) - continue - } + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; - _this.parameters[ key ] = newValue - } - } - // sanity check - console.assert(this.parameters.renderer instanceof THREE.WebGLRenderer) - console.assert(this.parameters.camera instanceof THREE.Camera) - console.assert(this.parameters.scene instanceof THREE.Scene) + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; - // backward emulation - Object.defineProperty(this, 'renderer', {get: function(){ - console.warn('use .parameters.renderer renderer') - return this.parameters.renderer; - }}); - Object.defineProperty(this, 'camera', {get: function(){ - console.warn('use .parameters.camera instead') - return this.parameters.camera; - }}); - Object.defineProperty(this, 'scene', {get: function(){ - console.warn('use .parameters.scene instead') - return this.parameters.scene; - }}); + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); - // log the version - console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); - ////////////////////////////////////////////////////////////////////////////// - // init arSource - ////////////////////////////////////////////////////////////////////////////// - var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters) + return domElement +} - arSource.init(function onReady(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// - // handle resize - window.addEventListener('resize', function(){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) +Source.prototype.dispose = function () { + this.ready = false; - ////////////////////////////////////////////////////////////////////////////// - // init arContext - ////////////////////////////////////////////////////////////////////////////// + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; - // create atToolkitContext - var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters) + case 'video': + this._disposeSourceVideo(); + break; - // initialize it - _this.arContext.init() + case 'webcam': + this._disposeSourceWebcam(); + break; + } - arContext.addEventListener('initialized', function(event){ - arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) - }) + this.domElement = null; - ////////////////////////////////////////////////////////////////////////////// - // update function - ////////////////////////////////////////////////////////////////////////////// - // update artoolkit on every frame - this.update = function(){ - if( arSource.ready === false ) return + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} - arContext.update( arSource.domElement ) - } -} +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// -ARjs.Session.prototype.onResize = function () { - this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) -}; -var ARjs = ARjs || {} -ARjs.Utils = {} +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); -/** - * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters - * - * @param {string} trackingBackend - the tracking to user - * @return {THREE.Camera} the created camera - */ -ARjs.Utils.createDefaultCamera = function (trackingMethod) { - var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend - // Create a camera - if (trackingBackend === 'artoolkit') { - var camera = new THREE.Camera(); - } else console.assert(false, 'unknown trackingBackend: ' + trackingBackend) + if( !domElement ) { + return; + } - return camera + domElement.remove(); } -/** - * parse tracking method - * - * @param {String} trackingMethod - the tracking method to parse - * @return {Object} - various field of the tracking method - */ -ARjs.Utils.parseTrackingMethod = function (trackingMethod) { +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// - if (trackingMethod === 'best') { - trackingMethod = 'area-artoolkit'; +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; } - if (trackingMethod.startsWith('area-')) { - return { - trackingBackend: trackingMethod.replace('area-', ''), - markersAreaEnabled: true, - } - } else { - return { - trackingBackend: trackingMethod, - markersAreaEnabled: false, - } - } + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.MarkersAreaControls = THREEx.ArMultiMarkerControls = function(arToolkitContext, object3d, parameters){ - var _this = this - THREEx.ArBaseControls.call(this, object3d) +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// - if( arguments.length > 3 ) console.assert('wrong api for', THREEx.ArMultiMarkerControls) +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); - // have a parameters in argument - this.parameters = { - // list of controls for each subMarker - subMarkersControls: parameters.subMarkersControls, - // list of pose for each subMarker relative to the origin - subMarkerPoses: parameters.subMarkerPoses, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', - } - - this.object3d.visible = false - // honor obsolete stuff - add a warning to use - this.subMarkersControls = this.parameters.subMarkersControls - this.subMarkerPoses = this.parameters.subMarkerPoses + if( !domElement ) { + return; + } - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) -} + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } -ARjs.MarkersAreaControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; + domElement.remove(); +} ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// Handle Mobile Torch ////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } -/** - * What to do when a image source is fully processed - */ -ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ - var _this = this - var stats = { - count: 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - - var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion - - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - - var markerObject3d = markerControls.object3d - // if this marker is not visible, ignore it - if( markerObject3d.visible === false ) return + var videoTrack = stream.getVideoTracks()[0]; - // transformation matrix of this.object3d according to this sub-markers - var matrix = markerObject3d.matrix.clone() - var markerPose = _this.parameters.subMarkerPoses[markerIndex] - matrix.multiply(new THREE.Matrix4().getInverse(markerPose)) + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false - // decompose the matrix into .position, .quaternion, .scale - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion() - var scale = new THREE.Vector3 - matrix.decompose(position, quaternion, scale) + var capabilities = videoTrack.getCapabilities() - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + return capabilities.torch ? true : false +} - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) - // honor _this.object3d.visible - if( stats.count > 0 ){ - _this.object3d.visible = true - }else{ - _this.object3d.visible = false - } + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } - // if at least one sub-marker has been detected, make the average of all detected markers - if( stats.count > 0 ){ - // compute modelViewMatrix - var modelViewMatrix = new THREE.Matrix4() - modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } - // change _this.object3d.matrix based on parameters.changeMatrixMode - if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ - _this.object3d.matrix.copy(modelViewMatrix) - }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - _this.object3d.matrix.getInverse( modelViewMatrix ) - }else { - console.assert(false) - } + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() - // decompose - the matrix into .position, .quaternion, .scale - _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) - } + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); } -////////////////////////////////////////////////////////////////////////////// -// Utility functions -////////////////////////////////////////////////////////////////////////////// - -/** - * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - */ -ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ - quaternionAverage = quaternionAverage || new THREE.Quaternion() - // sanity check - console.assert(firstQuaternion instanceof THREE.Quaternion === true) - - // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - if( newQuaternion.dot(firstQuaternion) > 0 ){ - newQuaternion = new THREE.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) - } +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} - quaternionSum.x += newQuaternion.x - quaternionSum.y += newQuaternion.y - quaternionSum.z += newQuaternion.z - quaternionSum.w += newQuaternion.w - - quaternionAverage.x = quaternionSum.x/count - quaternionAverage.y = quaternionSum.y/count - quaternionAverage.z = quaternionSum.z/count - quaternionAverage.w = quaternionSum.w/count - - quaternionAverage.normalize() +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// - return quaternionAverage -} +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + // sanity check + console.assert(arguments.length === 0) -ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ - vector3Average = vector3Average || new THREE.Vector3() - - vector3Sum.x += vector3.x - vector3Sum.y += vector3.y - vector3Sum.z += vector3.z - - vector3Average.x = vector3Sum.x / count - vector3Average.y = vector3Sum.y / count - vector3Average.z = vector3Sum.z / count - - return vector3Average -} + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight -/** - * compute the center of this multimarker file - */ -ARjs.MarkersAreaControls.computeCenter = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var stats = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - var firstQuaternion = new THREE.Quaternion() // FIXME ??? - - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) - - // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors - stats.count++ + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) - }) - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' - return averageMatrix + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } } +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ -ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ - var multiMarkerFile = JSON.parse(jsonData) - var boundingBox = new THREE.Box3() - - multiMarkerFile.subMarkersControls.forEach(function(item){ - var poseMatrix = new THREE.Matrix4().fromArray(item.poseMatrix) - - var position = new THREE.Vector3 - var quaternion = new THREE.Quaternion - var scale = new THREE.Vector3 - poseMatrix.decompose(position, quaternion, scale) +Source.prototype.copyElementSizeTo = function (otherElement) { - boundingBox.expandByPoint(position) - }) + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } - return boundingBox } + ////////////////////////////////////////////////////////////////////////////// -// updateSmoothedControls +// Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ - // handle default values - if( lerpsValues === undefined ){ - // FIXME this parameter format is uselessly cryptic - // lerpValues = [ - // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} - // ] - lerpsValues = [ - [0.3+.1, 0.1, 0.3], - [0.4+.1, 0.1, 0.4], - [0.4+.1, 0.2, 0.5], - [0.5+.1, 0.2, 0.7], - [0.5+.1, 0.2, 0.7], - ] - } - // count how many subMarkersControls are visible - var nVisible = 0 - this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ - var markerObject3d = markerControls.object3d - if( markerObject3d.visible === true ) nVisible ++ - }) - - // find the good lerpValues - if( lerpsValues[nVisible-1] !== undefined ){ - var lerpValues = lerpsValues[nVisible-1] - }else{ - var lerpValues = lerpsValues[lerpsValues.length-1] - } - - // modify lerpValues in smoothedControls - smoothedControls.parameters.lerpPosition = lerpValues[0] - smoothedControls.parameters.lerpQuaternion = lerpValues[1] - smoothedControls.parameters.lerpScale = lerpValues[2] +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) } - ////////////////////////////////////////////////////////////////////////////// -// Create THREEx.ArMultiMarkerControls from JSON +// Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ - var multiMarkerFile = JSON.parse(jsonData) - // declare variables - var subMarkersControls = [] - var subMarkerPoses = [] - // handle default arguments - parameters = parameters || {} +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } - // prepare the parameters - multiMarkerFile.subMarkersControls.forEach(function(item){ - // create a markerRoot - var markerRoot = new THREE.Object3D() - parent3D.add(markerRoot) + var trackingBackend = arToolkitContext.parameters.trackingBackend - // create markerControls for our markerRoot - var subMarkerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, item.parameters) -// if( true ){ - // store it in the parameters - subMarkersControls.push(subMarkerControls) - subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// }else{ -// // build a smoothedControls -// var smoothedRoot = new THREE.Group() -// parent3D.add(smoothedRoot) -// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { -// lerpPosition : 0.1, -// lerpQuaternion : 0.1, -// lerpScale : 0.1, -// minVisibleDelay: 0, -// minUnvisibleDelay: 0, -// }) -// onRenderFcts.push(function(delta){ -// smoothedControls.update(markerRoot) // TODO this is a global -// }) -// -// -// // store it in the parameters -// subMarkersControls.push(smoothedControls) -// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) -// } - }) - - parameters.subMarkersControls = subMarkersControls - parameters.subMarkerPoses = subMarkerPoses - // create a new THREEx.ArMultiMarkerControls - var multiMarkerControls = new THREEx.ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { - // return it - return multiMarkerControls + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) } -var ARjs = ARjs || {} -var THREEx = THREEx || {} -ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitContext, subMarkersControls){ - var _this = this - this._arToolkitContext = arToolkitContext +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Source); - // Init variables - this.subMarkersControls = subMarkersControls - this.enabled = true - - // listen to arToolkitContext event 'sourceProcessed' - // - after we fully processed one image, aka when we know all detected poses in it - arToolkitContext.addEventListener('sourceProcessed', function(){ - _this._onSourceProcessed() - }) +/***/ }), + +/***/ "./three.js/src/threex/threex-arbasecontrols.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-arbasecontrols.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); + + +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ + + this.object3d = object3d + this.object3d.matrixAutoUpdate = false; + this.object3d.visible = false + + // Events to honor + // this.dispatchEvent({ type: 'becameVisible' }) + // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound + // this.dispatchEvent({ type: 'becameUnVisible' }) } +ArBaseControls.id = 0 + +ArBaseControls.prototype = Object.create(three__WEBPACK_IMPORTED_MODULE_0__.EventDispatcher.prototype); ////////////////////////////////////////////////////////////////////////////// -// statistic collection +// Functions ////////////////////////////////////////////////////////////////////////////// +/** + * error catching function for update() + */ +ArBaseControls.prototype.update = function(){ + console.assert(false, 'you need to implement your own update') +} /** - * What to do when a image source is fully processed + * error catching function for name() */ -ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ - var originQuaternion = this.subMarkersControls[0].object3d.quaternion - // here collect the statistic on relative positioning - - // honor this.enabled - if( this.enabled === false ) return +ArBaseControls.prototype.name = function(){ + console.assert(false, 'you need to implement your own .name()') + return 'Not yet implemented - name()' +} - // keep only the visible markers - var visibleMarkerControls = this.subMarkersControls.filter(function(markerControls){ - return markerControls.object3d.visible === true - }) +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArBaseControls); - var count = Object.keys(visibleMarkerControls).length - var positionDelta = new THREE.Vector3() - var quaternionDelta = new THREE.Quaternion() - var scaleDelta = new THREE.Vector3() - var tmpMatrix = new THREE.Matrix4() - - // go thru all the visibleMarkerControls - for(var i = 0; i < count; i++){ - var markerControls1 = visibleMarkerControls[i] - for(var j = 0; j < count; j++){ - var markerControls2 = visibleMarkerControls[j] - - // if markerControls1 is markerControls2, then skip it - if( i === j ) continue - - - ////////////////////////////////////////////////////////////////////////////// - // create data in markerControls1.object3d.userData if needed - ////////////////////////////////////////////////////////////////////////////// - // create seenCouples for markerControls1 if needed - if( markerControls1.object3d.userData.seenCouples === undefined ){ - markerControls1.object3d.userData.seenCouples = {} - } - var seenCouples = markerControls1.object3d.userData.seenCouples - // create the multiMarkerPosition average if needed` - if( seenCouples[markerControls2.id] === undefined ){ - // console.log('create seenCouples between', markerControls1.id, 'and', markerControls2.id) - seenCouples[markerControls2.id] = { - count : 0, - position : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - quaternion : { - sum: new THREE.Quaternion(0,0,0,0), - average: new THREE.Quaternion(0,0,0,0), - }, - scale : { - sum: new THREE.Vector3(0,0,0), - average: new THREE.Vector3(0,0,0), - }, - } - } +/***/ }), - - ////////////////////////////////////////////////////////////////////////////// - // Compute markerControls2 position relative to markerControls1 - ////////////////////////////////////////////////////////////////////////////// - - // compute markerControls2 position/quaternion/scale in relation with markerControls1 - tmpMatrix.getInverse(markerControls1.object3d.matrix) - tmpMatrix.multiply(markerControls2.object3d.matrix) - tmpMatrix.decompose(positionDelta, quaternionDelta, scaleDelta) - - ////////////////////////////////////////////////////////////////////////////// - // update statistics - ////////////////////////////////////////////////////////////////////////////// - var stats = seenCouples[markerControls2.id] - // update the count - stats.count++ - - // update the average of position/rotation/scale - THREEx.ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) - THREEx.ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) - THREEx.ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) - } - } -} +/***/ "./three.js/src/threex/threex-armarkerhelper.js": +/*!******************************************************!*\ + !*** ./three.js/src/threex/threex-armarkerhelper.js ***! + \******************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -////////////////////////////////////////////////////////////////////////////// -// Compute markers transformation matrix from current stats -////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); -ARjs.MarkersAreaLearning.prototype.computeResult = function(){ - var _this = this - var originSubControls = this.subMarkersControls[0] - this.deleteResult() +const ArMarkerHelper = function(markerControls){ + this.object3d = new three__WEBPACK_IMPORTED_MODULE_0__.Group - // special case of originSubControls averageMatrix - originSubControls.object3d.userData.result = { - averageMatrix : new THREE.Matrix4(), - confidenceFactor: 1, - } - // TODO here check if the originSubControls has been seen at least once!! - - - /** - * ALGO in pseudo code - * - * - Set confidenceFactor of origin sub markers as 1 - * - * Start Looping - * - For a given sub marker, skip it if it already has a result. - * - if no result, check all seen couple and find n ones which has a progress of 1 or more. - * - So the other seen sub markers, got a valid transformation matrix. - * - So take local averages position/orientation/scale, compose a transformation matrix. - * - aka transformation matrix from parent matrix * transf matrix pos/orientation/scale - * - Multiple it by the other seen marker matrix. - * - Loop on the array until one pass could not compute any new sub marker - */ - - do{ - var resultChanged = false - // loop over each subMarkerControls - this.subMarkersControls.forEach(function(subMarkerControls){ - - // if subMarkerControls already has a result, do nothing - var result = subMarkerControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === true ) return - - // console.log('compute subMarkerControls', subMarkerControls.name()) - var otherSubControlsID = _this._getLearnedCoupleStats(subMarkerControls) - if( otherSubControlsID === null ){ - // console.log('no learnedCoupleStats') - return - } - - var otherSubControls = _this._getSubMarkerControlsByID(otherSubControlsID) - - var seenCoupleStats = subMarkerControls.object3d.userData.seenCouples[otherSubControlsID] - - var averageMatrix = new THREE.Matrix4() - averageMatrix.compose(seenCoupleStats.position.average, seenCoupleStats.quaternion.average, seenCoupleStats.scale.average) - - var otherAverageMatrix = otherSubControls.object3d.userData.result.averageMatrix - - var matrix = new THREE.Matrix4().getInverse(otherAverageMatrix).multiply(averageMatrix) - matrix = new THREE.Matrix4().getInverse(matrix) - - console.assert( subMarkerControls.object3d.userData.result === undefined ) - subMarkerControls.object3d.userData.result = { - averageMatrix: matrix, - confidenceFactor: 1 - } - - resultChanged = true - }) - // console.log('loop') - }while(resultChanged === true) - + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.AxesHelper() + this.object3d.add(mesh) + + var text = markerControls.id // debugger - // console.log('json:', this.toJSON()) - // this.subMarkersControls.forEach(function(subMarkerControls){ - // var hasResult = subMarkerControls.object3d.userData.result !== undefined - // console.log('marker', subMarkerControls.name(), hasResult ? 'has' : 'has NO', 'result') - // }) + // var text = markerControls.parameters.patternUrl.slice(-1).toUpperCase(); + + var canvas = document.createElement( 'canvas' ); + canvas.width = 64; + canvas.height = 64; + + var context = canvas.getContext( '2d' ); + var texture = new three__WEBPACK_IMPORTED_MODULE_0__.CanvasTexture( canvas ); + + // put the text in the sprite + context.font = '48px monospace'; + context.fillStyle = 'rgba(192,192,255, 0.5)'; + context.fillRect( 0, 0, canvas.width, canvas.height ); + context.fillStyle = 'darkblue'; + context.fillText(text, canvas.width/4, 3*canvas.height/4 ) + texture.needsUpdate = true + + // var geometry = new THREE.CubeGeometry(1, 1, 1) + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(1, 1) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + map: texture, + transparent: true + }); + var mesh = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + mesh.rotation.x = -Math.PI/2 + + this.object3d.add(mesh) + } -////////////////////////////////////////////////////////////////////////////// -// Utility function -////////////////////////////////////////////////////////////////////////////// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArMarkerHelper); -/** - * get a _this.subMarkersControls id based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ - // if this subMarkerControls has never been seen with another subMarkerControls - if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null +/***/ }), + +/***/ "./three.js/src/threex/threex-arsmoothedcontrols.js": +/*!**********************************************************!*\ + !*** ./three.js/src/threex/threex-arsmoothedcontrols.js ***! + \**********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); + + +/** + * - lerp position/quaternino/scale + * - minDelayDetected + * - minDelayUndetected + * @param {[type]} object3d [description] + * @param {[type]} parameters [description] + */ +const ArSmoothedControls = function(object3d, parameters){ + var _this = this + + _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.call(this, object3d) + + // copy parameters + this.object3d.visible = false - var seenCouples = subMarkerControls.object3d.userData.seenCouples - var coupleControlsIDs = Object.keys(seenCouples).map(Number) - - for(var i = 0; i < coupleControlsIDs.length; i++){ - var otherSubControlsID = coupleControlsIDs[i] - // get otherSubControls - var otherSubControls = this._getSubMarkerControlsByID(otherSubControlsID) - - // if otherSubControls isnt learned, skip it - var result = otherSubControls.object3d.userData.result - var isLearned = (result !== undefined && result.confidenceFactor >= 1) ? true : false - if( isLearned === false ) continue - - // return this seenCouplesStats - return otherSubControlsID + this._lastLerpStepAt = null + this._visibleStartedAt = null + this._unvisibleStartedAt = null + + // handle default parameters + parameters = parameters || {} + this.parameters = { + // lerp coeficient for the position - between [0,1] - default to 1 + lerpPosition: 0.8, + // lerp coeficient for the quaternion - between [0,1] - default to 1 + lerpQuaternion: 0.2, + // lerp coeficient for the scale - between [0,1] - default to 1 + lerpScale: 0.7, + // delay for lerp fixed steps - in seconds - default to 1/120 + lerpStepDelay: 1/60, + // minimum delay the sub-control must be visible before this controls become visible - default to 0 seconds + minVisibleDelay: 0.0, + // minimum delay the sub-control must be unvisible before this controls become unvisible - default to 0 seconds + minUnvisibleDelay: 0.2, } - // if none is found, return null - return null -} + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters){ + if( parameters === undefined ) return + for( var key in parameters ){ + var newValue = parameters[ key ] -/** - * get a _this.subMarkersControls based on markerControls.id - */ -ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ + if( newValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) + continue + } + + var currentValue = _this.parameters[ key ] + + if( currentValue === undefined ){ + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) + continue + } - for(var i = 0; i < this.subMarkersControls.length; i++){ - var subMarkerControls = this.subMarkersControls[i] - if( subMarkerControls.id === controlsID ){ - return subMarkerControls + _this.parameters[ key ] = newValue } } - - return null } - ////////////////////////////////////////////////////////////////////////////// -// JSON file building + +ArSmoothedControls.prototype = Object.create( _threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_0__.default.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; + +////////////////////////////////////////////////////////////////////////////// +// update function ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaLearning.prototype.toJSON = function(){ +ArSmoothedControls.prototype.update = function(targetObject3d){ + var object3d = this.object3d + var parameters = this.parameters + var wasVisible = object3d.visible + var present = performance.now()/1000 - // compute the average matrix before generating the file - this.computeResult() ////////////////////////////////////////////////////////////////////////////// - // actually build the json + // handle object3d.visible with minVisibleDelay/minUnvisibleDelay ////////////////////////////////////////////////////////////////////////////// - var data = { - meta : { - createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, - createdAt : new Date().toJSON(), - - }, - trackingBackend: this._arToolkitContext.parameters.trackingBackend, - subMarkersControls : [], - } - - var originSubControls = this.subMarkersControls[0] - var originMatrixInverse = new THREE.Matrix4().getInverse(originSubControls.object3d.matrix) - this.subMarkersControls.forEach(function(subMarkerControls, index){ - - // if a subMarkerControls has no result, ignore it - if( subMarkerControls.object3d.userData.result === undefined ) return + if( targetObject3d.visible === false ) this._visibleStartedAt = null + if( targetObject3d.visible === true ) this._unvisibleStartedAt = null - var poseMatrix = subMarkerControls.object3d.userData.result.averageMatrix - console.assert(poseMatrix instanceof THREE.Matrix4) - + if( targetObject3d.visible === true && this._visibleStartedAt === null ) this._visibleStartedAt = present + if( targetObject3d.visible === false && this._unvisibleStartedAt === null ) this._unvisibleStartedAt = present - // build the info - var info = { - parameters : { - // to fill ... - }, - poseMatrix : poseMatrix.toArray(), + if( wasVisible === false && targetObject3d.visible === true ){ + var visibleFor = present - this._visibleStartedAt + if( visibleFor >= this.parameters.minVisibleDelay ){ + object3d.visible = true + snapDirectlyToTarget() } - if( subMarkerControls.parameters.type === 'pattern' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.patternUrl = subMarkerControls.parameters.patternUrl - }else if( subMarkerControls.parameters.type === 'barcode' ){ - info.parameters.type = subMarkerControls.parameters.type - info.parameters.barcodeValue = subMarkerControls.parameters.barcodeValue - }else console.assert(false) - - data.subMarkersControls.push(info) - }) + // console.log('visibleFor', visibleFor) + } - var strJSON = JSON.stringify(data, null, '\t'); - + if( wasVisible === true && targetObject3d.visible === false ){ + var unvisibleFor = present - this._unvisibleStartedAt + if( unvisibleFor >= this.parameters.minUnvisibleDelay ){ + object3d.visible = false + } + } ////////////////////////////////////////////////////////////////////////////// - // round matrix elements to ease readability - for debug + // apply lerp on positon/quaternion/scale ////////////////////////////////////////////////////////////////////////////// - var humanReadable = false - if( humanReadable === true ){ - var tmp = JSON.parse(strJSON) - tmp.subMarkersControls.forEach(function(markerControls){ - markerControls.poseMatrix = markerControls.poseMatrix.map(function(value){ - var roundingFactor = 100 - return Math.round(value*roundingFactor)/roundingFactor - }) - }) - strJSON = JSON.stringify(tmp, null, '\t'); - } - - return strJSON; -} - -////////////////////////////////////////////////////////////////////////////// -// utility function -////////////////////////////////////////////////////////////////////////////// -/** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.resetStats = function(){ - this.deleteResult() - - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.seenCouples - }) -} -/** - * reset all collected statistics - */ -ARjs.MarkersAreaLearning.prototype.deleteResult = function(){ - this.subMarkersControls.forEach(function(markerControls){ - delete markerControls.object3d.userData.result - }) -} -var THREEx = THREEx || {} + // apply lerp steps - require fix time steps to behave the same no matter the fps + if( this._lastLerpStepAt === null ){ + applyOneSlerpStep() + this._lastLerpStepAt = present + }else{ + var nStepsToDo = Math.floor( (present - this._lastLerpStepAt)/this.parameters.lerpStepDelay ) + for(var i = 0; i < nStepsToDo; i++){ + applyOneSlerpStep() + this._lastLerpStepAt += this.parameters.lerpStepDelay + } + } -var ARjs = ARjs || {} -var THREEx = THREEx || {} + // disable the lerp by directly copying targetObject3d position/quaternion/scale + if( false ){} -ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} + // update the matrix + this.object3d.updateMatrix() -////////////////////////////////////////////////////////////////////////////// -// navigateToLearnerPage -////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible/becameUnVisible event + ////////////////////////////////////////////////////////////////////////////// + // honor becameVisible event + if( wasVisible === false && object3d.visible === true ){ + this.dispatchEvent({ type: 'becameVisible' }) + } + // honor becameUnVisible event + if( wasVisible === true && object3d.visible === false ){ + this.dispatchEvent({ type: 'becameUnVisible' }) + } + return -/** - * Navigate to the multi-marker learner page - * - * @param {String} learnerBaseURL - the base url for the learner - * @param {String} trackingBackend - the tracking backend to use - */ -ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ - var learnerParameters = { - backURL : location.href, - trackingBackend: trackingBackend, - markersControlsParameters: ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + function snapDirectlyToTarget(){ + object3d.position.copy( targetObject3d.position ) + object3d.quaternion.copy( targetObject3d.quaternion ) + object3d.scale.copy( targetObject3d.scale ) + } + + function applyOneSlerpStep(){ + object3d.position.lerp(targetObject3d.position, parameters.lerpPosition) + object3d.quaternion.slerp(targetObject3d.quaternion, parameters.lerpQuaternion) + object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) } - location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) } -////////////////////////////////////////////////////////////////////////////// -// DefaultMultiMarkerFile -////////////////////////////////////////////////////////////////////////////// +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ArSmoothedControls); -/** - * Create and store a default multi-marker file - * - * @param {String} trackingBackend - the tracking backend to use - */ -ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ - var file = ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) - // json.strinfy the value and store it in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) -} + +/***/ }), + +/***/ "./three.js/src/threex/threex-hittesting-plane.js": +/*!********************************************************!*\ + !*** ./three.js/src/threex/threex-hittesting-plane.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +// TODO this is useless - prefere arjs-HitTesting.js /** - * Create a default multi-marker file - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object of the multi-marker file + * - maybe support .onClickFcts in each object3d + * - seems an easy light layer for clickable object + * - up to */ -ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ - console.assert(trackingBackend) - if( trackingBackend === undefined ) debugger - - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +const HitTestingPlane = function(sourceElement){ + this._sourceElement = sourceElement - // create the base file - var file = { - meta : { - createdBy : 'AR.js ' + ARjs.Context.REVISION + ' - Default Marker', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... being filled - ] - } - // add a subMarkersControls - file.subMarkersControls[0] = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(0,0, 0).toArray(), - } - if( trackingBackend === 'artoolkit' ){ - file.subMarkersControls[0].parameters.type = 'pattern' - file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' - }else console.assert(false) + // create _pickingScene + this._pickingScene = new three__WEBPACK_IMPORTED_MODULE_0__.Scene + + // create _pickingPlane + var geometry = new three__WEBPACK_IMPORTED_MODULE_0__.PlaneGeometry(20,20,19,19).rotateX(-Math.PI/2) + // var geometry = new THREE.PlaneGeometry(20,20).rotateX(-Math.PI/2) + var material = new three__WEBPACK_IMPORTED_MODULE_0__.MeshBasicMaterial({ + // opacity: 0.5, + // transparent: true, + wireframe: true + }) + // material.visible = false + this._pickingPlane = new three__WEBPACK_IMPORTED_MODULE_0__.Mesh(geometry, material) + this._pickingScene.add(this._pickingPlane) - // json.strinfy the value and store it in localStorage - return file + // Create pickingCamera + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + // TODO hardcoded fov - couch + this._pickingCamera = new three__WEBPACK_IMPORTED_MODULE_0__.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 30); } ////////////////////////////////////////////////////////////////////////////// -// createDefaultMarkersControlsParameters +// update function ////////////////////////////////////////////////////////////////////////////// -/** - * Create a default controls parameters for the multi-marker learner - * - * @param {String} trackingBackend - the tracking backend to use - * @return {Object} - json object containing the controls parameters - */ -ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href +HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ + this.onResize() + - if( trackingBackend === 'artoolkit' ){ - // pattern hiro/kanji/a/b/c/f - var markersControlsParameters = [ - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', - }, - { - type : 'pattern', - patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', - }, - ] + if( changeMatrixMode === 'modelViewMatrix' ){ + // set pickingPlane position + var pickingPlane = this._pickingPlane + pickingRoot.parent.updateMatrixWorld() + pickingPlane.matrix.copy(pickingRoot.parent.matrixWorld) + // set position/quaternion/scale from pickingPlane.matrix + pickingPlane.matrix.decompose(pickingPlane.position, pickingPlane.quaternion, pickingPlane.scale) + }else if( changeMatrixMode === 'cameraTransformMatrix' ){ + // set pickingPlane position + var pickingCamera = this._pickingCamera + camera.updateMatrixWorld() + pickingCamera.matrix.copy(camera.matrixWorld) + // set position/quaternion/scale from pickingCamera.matrix + pickingCamera.matrix.decompose(pickingCamera.position, pickingCamera.quaternion, pickingCamera.scale) }else console.assert(false) - return markersControlsParameters -} +// var position = this._pickingPlane.position +// console.log('pickingPlane position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) +// var position = this._pickingCamera.position +// console.log('his._pickingCamera position', position.x.toFixed(2), position.y.toFixed(2), position.z.toFixed(2)) + +} + ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// resize camera ////////////////////////////////////////////////////////////////////////////// -/** - * generate areaFile - */ -ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { - // generate areaFile - var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) - // store areaFile in localStorage - localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) -} +HitTestingPlane.prototype.onResize = function(){ + var sourceElement = this._sourceElement + var pickingCamera = this._pickingCamera + +// FIXME why using css here ??? not even computed style +// should get the size of the elment directly independantly + var fullWidth = parseInt(sourceElement.style.width) + var fullHeight = parseInt(sourceElement.style.height) + pickingCamera.aspect = fullWidth / fullHeight + + pickingCamera.updateProjectionMatrix() +} ////////////////////////////////////////////////////////////////////////////// -// Code Separator +// Perform test ////////////////////////////////////////////////////////////////////////////// +HitTestingPlane.prototype.test = function(mouseX, mouseY){ + // convert mouseX, mouseY to [-1, +1] + mouseX = (mouseX-0.5)*2 + mouseY =-(mouseY-0.5)*2 + + this._pickingScene.updateMatrixWorld(true) -ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ - // create the base file - var file = { - meta : { - createdBy : 'AR.js - Augmented Website', - createdAt : new Date().toJSON(), - }, - trackingBackend : trackingBackend, - subMarkersControls : [ - // empty for now... - ] + // compute intersections between mouseVector3 and pickingPlane + var raycaster = new three__WEBPACK_IMPORTED_MODULE_0__.Raycaster(); + var mouseVector3 = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(mouseX, mouseY, 1); + raycaster.setFromCamera( mouseVector3, this._pickingCamera ) + var intersects = raycaster.intersectObjects( [this._pickingPlane] ) + + if( intersects.length === 0 ) return null + + // set new demoRoot position + var position = this._pickingPlane.worldToLocal( intersects[0].point.clone() ) + // TODO here do a look at the camera ? + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(1,1,1)//.multiplyScalar(1) + + return { + position : position, + quaternion : quaternion, + scale : scale } +} - var whiteMargin = 0.1 - if( resolutionW > resolutionH ){ - var markerImageSize = 0.4 * resolutionH - }else if( resolutionW < resolutionH ){ - var markerImageSize = 0.4 * resolutionW - }else if( resolutionW === resolutionH ){ - // specific for twitter player - https://dev.twitter.com/cards/types/player - var markerImageSize = 0.33 * resolutionW - }else console.assert(false) +////////////////////////////////////////////////////////////////////////////// +// render the pickingPlane for debug +////////////////////////////////////////////////////////////////////////////// - // console.warn('using new markerImageSize computation') - var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) +HitTestingPlane.prototype.renderDebug = function(renderer){ + // render sceneOrtho + renderer.render( this._pickingScene, this._pickingCamera ) +} - var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize - var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (HitTestingPlane); + + +/***/ }), + +/***/ "three": +/*!**************************************************************************************!*\ + !*** external {"commonjs":"three","commonjs2":"three","amd":"three","root":"THREE"} ***! + \**************************************************************************************/ +/***/ ((module) => { + +"use strict"; +module.exports = __WEBPACK_EXTERNAL_MODULE_three__; + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!************************************!*\ + !*** ./three.js/src/index-arjs.js ***! + \************************************/ +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "Anchor": () => (/* reexport safe */ _new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_0__.default), +/* harmony export */ "HitTesting": () => (/* reexport safe */ _new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__.default), +/* harmony export */ "AnchorDebugUI": () => (/* reexport safe */ _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.AnchorDebugUI), +/* harmony export */ "SessionDebugUI": () => (/* reexport safe */ _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.SessionDebugUI), +/* harmony export */ "Session": () => (/* reexport safe */ _new_api_arjs_session__WEBPACK_IMPORTED_MODULE_3__.default), +/* harmony export */ "Utils": () => (/* reexport safe */ _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_4__.default), +/* harmony export */ "Context": () => (/* reexport safe */ _threex_arjs_context__WEBPACK_IMPORTED_MODULE_5__.default), +/* harmony export */ "Profile": () => (/* reexport safe */ _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_6__.default), +/* harmony export */ "Source": () => (/* reexport safe */ _threex_arjs_source__WEBPACK_IMPORTED_MODULE_7__.default) +/* harmony export */ }); +/* harmony import */ var _new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./new-api/arjs-anchor */ "./three.js/src/new-api/arjs-anchor.js"); +/* harmony import */ var _new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./new-api/arjs-hittesting */ "./three.js/src/new-api/arjs-hittesting.js"); +/* harmony import */ var _new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); +/* harmony import */ var _new_api_arjs_session__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./new-api/arjs-session */ "./three.js/src/new-api/arjs-session.js"); +/* harmony import */ var _new_api_arjs_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./new-api/arjs-utils */ "./three.js/src/new-api/arjs-utils.js"); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); +/* harmony import */ var _threex_arjs_profile__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./threex/arjs-profile */ "./three.js/src/threex/arjs-profile.js"); +/* harmony import */ var _threex_arjs_source__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./threex/arjs-source */ "./three.js/src/threex/arjs-source.js"); - var subMarkerControls = buildSubMarkerControls('center', 0, 0) - file.subMarkersControls.push(subMarkerControls) - var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) - var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) - file.subMarkersControls.push(subMarkerControls) - var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) - var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) - file.subMarkersControls.push(subMarkerControls) - return file - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - function buildSubMarkerControls(layout, positionX, positionZ){ - console.log('buildSubMarkerControls', layout, positionX, positionZ) - // create subMarkersControls - var subMarkersControls = { - parameters: {}, - poseMatrix: new THREE.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), - } - // fill the parameters - if( trackingBackend === 'artoolkit' ){ - layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) - }else console.assert(false) - // return subMarkersControls - return subMarkersControls - } - function layout2MarkerParametersArtoolkit(parameters, layout){ - // create absoluteBaseURL - var link = document.createElement('a') - link.href = ARjs.Context.baseURL - var absoluteBaseURL = link.href - var layout2PatternUrl = { - 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), - 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), - 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), - 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), - 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), - } - console.assert(layout2PatternUrl[layout] !== undefined ) - parameters.type = 'pattern' - parameters.patternUrl = layout2PatternUrl[layout] - return - function convertRelativeUrlToAbsolute(relativeUrl){ - var tmpLink = document.createElement('a'); - tmpLink.href = relativeUrl - return tmpLink.href - } - } -} + +})(); + +/******/ return __webpack_exports__; +/******/ })() +; +}); +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9BUmpzLy4vbm9kZV9tb2R1bGVzL0Bhci1qcy1vcmcvYXJ0b29sa2l0NS1qcy9kaXN0L0FSVG9vbGtpdC5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9tYXJrZXJzLWFyZWEvYXJqcy1tYXJrZXJzYXJlYXV0aWxzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWFuY2hvci5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy1kZWJ1Z3VpLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvbmV3LWFwaS9hcmpzLWhpdHRlc3RpbmcuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy9uZXctYXBpL2FyanMtc2Vzc2lvbi5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL25ldy1hcGkvYXJqcy11dGlscy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1tYXJrZXJjb250cm9scy5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC9hcmpzLXByb2ZpbGUuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvYXJqcy1zb3VyY2UuanMiLCJ3ZWJwYWNrOi8vQVJqcy8uL3RocmVlLmpzL3NyYy90aHJlZXgvdGhyZWV4LWFyYmFzZWNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlci5qcyIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzLmpzIiwid2VicGFjazovL0FSanMvLi90aHJlZS5qcy9zcmMvdGhyZWV4L3RocmVleC1oaXR0ZXN0aW5nLXBsYW5lLmpzIiwid2VicGFjazovL0FSanMvZXh0ZXJuYWwge1wiY29tbW9uanNcIjpcInRocmVlXCIsXCJjb21tb25qczJcIjpcInRocmVlXCIsXCJhbWRcIjpcInRocmVlXCIsXCJyb290XCI6XCJUSFJFRVwifSIsIndlYnBhY2s6Ly9BUmpzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vQVJqcy93ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjazovL0FSanMvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9BUmpzLy4vdGhyZWUuanMvc3JjL2luZGV4LWFyanMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELE87Ozs7Ozs7OztBQ1ZBLGVBQWUsS0FBaUQsb0JBQW9CLENBQWlILENBQUMsZ0RBQWdELFlBQVksT0FBTyxjQUFjLGlCQUFpQixlQUFlLGlCQUFpQixlQUFlLGFBQWEsMkZBQTJGLHNCQUFzQixrQ0FBa0MsNENBQTRDLGFBQWEsOEZBQThGLDBDQUEwQyx5QkFBeUIsV0FBVyw2RkFBNkYsdUNBQXVDLHlCQUF5QixhQUFhLE1BQU0sdUVBQXVFLCtIQUErSCxlQUFlLFNBQVMsZUFBZSxTQUFTLGFBQWEsd0pBQXdKLHNH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QUNBLGVBQWUsNEVBQXlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBZSxPQUFPLEVBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUNyS3ZCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTOztBQUVUOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrRUFBa0UsVUFBVTs7QUFFNUU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxxREFBcUQsZUFBZTtBQUNwRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7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dEMsaUJBQWlCLDBDQUFhOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlFQUFlLGVBQWUsRUFBQzs7Ozs7Ozs7Ozs7O0FDNUgvQixtRDs7Ozs7O1VDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7V0N0QkE7V0FDQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLGdDQUFnQyxZQUFZO1dBQzVDO1dBQ0EsRTs7Ozs7V0NQQTtXQUNBO1dBQ0E7V0FDQTtXQUNBLHdDQUF3Qyx5Q0FBeUM7V0FDakY7V0FDQTtXQUNBLEU7Ozs7O1dDUEEsd0Y7Ozs7O1dDQUE7V0FDQTtXQUNBO1dBQ0Esc0RBQXNELGtCQUFrQjtXQUN4RTtXQUNBLCtDQUErQyxjQUFjO1dBQzdELEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNOMkM7QUFDUTtBQUNvQjtBQUMxQjtBQUNKO0FBQ0c7QUFDQTtBQUNGOztBQVl4QyIsImZpbGUiOiJhci5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZShcInRocmVlXCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcInRocmVlXCJdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIkFSanNcIl0gPSBmYWN0b3J5KHJlcXVpcmUoXCJ0aHJlZVwiKSk7XG5cdGVsc2Vcblx0XHRyb290W1wiQVJqc1wiXSA9IGZhY3Rvcnkocm9vdFtcIlRIUkVFXCJdKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfdGhyZWVfXykge1xucmV0dXJuICIsIiFmdW5jdGlvbihBLEkpe1wib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzJiZcIm9iamVjdFwiPT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPUkoKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLEkpOlwib2JqZWN0XCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuQVJUb29sa2l0PUkoKTpBLkFSVG9vbGtpdD1JKCl9KFwidW5kZWZpbmVkXCIhPXR5cGVvZiBzZWxmP3NlbGY6dGhpcywoZnVuY3Rpb24oKXtyZXR1cm4oKCk9Pnt2YXIgQT17NzU3OihBLEksZyk9PntBLmV4cG9ydHM9Zyg2NjYpfSw2Njk6KEEsSSxnKT0+e0EuZXhwb3J0cz1nKDYwOSl9LDQ0ODooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9ZygyNiksUT1nKDM3MiksRT1nKDMyNyksaT1nKDk3KSxvPWcoMTA5KSxEPWcoOTg1KSxhPWcoNjEpLHc9Zyg2NTUpLEY9ZygyNjMpO0EuZXhwb3J0cz1mdW5jdGlvbihBKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKEksZyl7dmFyIEcsaD1BLmRhdGEscz1BLmhlYWRlcnMsUj1BLnJlc3BvbnNlVHlwZTtmdW5jdGlvbiBVKCl7QS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi51bnN1YnNjcmliZShHKSxBLnNpZ25hbCYmQS5zaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsRyl9Qi5pc0Zvcm1EYXRhKGgpJiZkZWxldGUgc1tcIkNvbnRlbnQtVHlwZVwiXTt2YXIgeT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoQS5hdXRoKXt2YXIgdD1BLmF1dGgudXNlcm5hbWV8fFwiXCIsUz1BLmF1dGgucGFzc3dvcmQ/dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEEuYXV0aC5wYXNzd29yZCkpOlwiXCI7cy5BdXRob3JpemF0aW9uPVwiQmFzaWMgXCIrYnRvYSh0K1wiOlwiK1MpfXZhciBNPWkoQS5iYXNlVVJMLEEudXJsKTtmdW5jdGlvbiBuKCl7aWYoeSl7dmFyIEI9XCJnZXRBbGxSZXNwb25zZUhlYWRlcnNcImluIHk/byh5LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTpudWxsLFE9e2RhdGE6UiYmXCJ0ZXh0XCIhPT1SJiZcImpzb25cIiE9PVI/eS5yZXNwb25zZTp5LnJlc3BvbnNlVGV4dCxzdGF0dXM6eS5zdGF0dXMsc3RhdHVzVGV4dDp5LnN0YXR1c1RleHQsaGVhZGVyczpCLGNvbmZpZzpBLHJlcXVlc3Q6eX07QygoZnVuY3Rpb24oQSl7SShBKSxVKCl9KSwoZnVuY3Rpb24oQSl7ZyhBKSxVKCl9KSxRKSx5PW51bGx9fWlmKHkub3BlbihBLm1ldGhvZC50b1VwcGVyQ2FzZSgpLEUoTSxBLnBhcmFtcyxBLnBhcmFtc1NlcmlhbGl6ZXIpLCEwKSx5LnRpbWVvdXQ9QS50aW1lb3V0LFwib25sb2FkZW5kXCJpbiB5P3kub25sb2FkZW5kPW46eS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXt5JiY0PT09eS5yZWFkeVN0YXRlJiYoMCE9PXkuc3RhdHVzfHx5LnJlc3BvbnNlVVJMJiYwPT09eS5yZXNwb25zZVVSTC5pbmRleE9mKFwiZmlsZTpcIikpJiZzZXRUaW1lb3V0KG4pfSx5Lm9uYWJvcnQ9ZnVuY3Rpb24oKXt5JiYoZyhhKFwiUmVxdWVzdCBhYm9ydGVkXCIsQSxcIkVDT05OQUJPUlRFRFwiLHkpKSx5PW51bGwpfSx5Lm9uZXJyb3I9ZnVuY3Rpb24oKXtnKGEoXCJOZXR3b3JrIEVycm9yXCIsQSxudWxsLHkpKSx5PW51bGx9LHkub250aW1lb3V0PWZ1bmN0aW9uKCl7dmFyIEk9QS50aW1lb3V0P1widGltZW91dCBvZiBcIitBLnRpbWVvdXQrXCJtcyBleGNlZWRlZFwiOlwidGltZW91dCBleGNlZWRlZFwiLEI9QS50cmFuc2l0aW9uYWx8fHcudHJhbnNpdGlvbmFsO0EudGltZW91dEVycm9yTWVzc2FnZSYmKEk9QS50aW1lb3V0RXJyb3JNZXNzYWdlKSxnKGEoSSxBLEIuY2xhcmlmeVRpbWVvdXRFcnJvcj9cIkVUSU1FRE9VVFwiOlwiRUNPTk5BQk9SVEVEXCIseSkpLHk9bnVsbH0sQi5pc1N0YW5kYXJkQnJvd3NlckVudigpKXt2YXIgYz0oQS53aXRoQ3JlZGVudGlhbHN8fEQoTSkpJiZBLnhzcmZDb29raWVOYW1lP1EucmVhZChBLnhzcmZDb29raWVOYW1lKTp2b2lkIDA7YyYmKHNbQS54c3JmSGVhZGVyTmFtZV09Yyl9XCJzZXRSZXF1ZXN0SGVhZGVyXCJpbiB5JiZCLmZvckVhY2gocywoZnVuY3Rpb24oQSxJKXt2b2lkIDA9PT1oJiZcImNvbnRlbnQtdHlwZVwiPT09SS50b0xvd2VyQ2FzZSgpP2RlbGV0ZSBzW0ldOnkuc2V0UmVxdWVzdEhlYWRlcihJLEEpfSkpLEIuaXNVbmRlZmluZWQoQS53aXRoQ3JlZGVudGlhbHMpfHwoeS53aXRoQ3JlZGVudGlhbHM9ISFBLndpdGhDcmVkZW50aWFscyksUiYmXCJqc29uXCIhPT1SJiYoeS5yZXNwb25zZVR5cGU9QS5yZXNwb25zZVR5cGUpLFwiZnVuY3Rpb25cIj09dHlwZW9mIEEub25Eb3dubG9hZFByb2dyZXNzJiZ5LmFkZEV2ZW50TGlzdGVuZXIoXCJwcm9ncmVzc1wiLEEub25Eb3dubG9hZFByb2dyZXNzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLm9uVXBsb2FkUHJvZ3Jlc3MmJnkudXBsb2FkJiZ5LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKFwicHJvZ3Jlc3NcIixBLm9uVXBsb2FkUHJvZ3Jlc3MpLChBLmNhbmNlbFRva2VufHxBLnNpZ25hbCkmJihHPWZ1bmN0aW9uKEEpe3kmJihnKCFBfHxBJiZBLnR5cGU/bmV3IEYoXCJjYW5jZWxlZFwiKTpBKSx5LmFib3J0KCkseT1udWxsKX0sQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi5zdWJzY3JpYmUoRyksQS5zaWduYWwmJihBLnNpZ25hbC5hYm9ydGVkP0coKTpBLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKFwiYWJvcnRcIixHKSkpLGh8fChoPW51bGwpLHkuc2VuZChoKX0pKX19LDYwOTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg4NDkpLFE9ZygzMjEpLEU9ZygxODUpLGk9ZnVuY3Rpb24gQShJKXt2YXIgZz1uZXcgUShJKSxpPUMoUS5wcm90b3R5cGUucmVxdWVzdCxnKTtyZXR1cm4gQi5leHRlbmQoaSxRLnByb3RvdHlwZSxnKSxCLmV4dGVuZChpLGcpLGkuY3JlYXRlPWZ1bmN0aW9uKGcpe3JldHVybiBBKEUoSSxnKSl9LGl9KGcoNjU1KSk7aS5BeGlvcz1RLGkuQ2FuY2VsPWcoMjYzKSxpLkNhbmNlbFRva2VuPWcoOTcyKSxpLmlzQ2FuY2VsPWcoNTAyKSxpLlZFUlNJT049ZygyODgpLnZlcnNpb24saS5hbGw9ZnVuY3Rpb24oQSl7cmV0dXJuIFByb21pc2UuYWxsKEEpfSxpLnNwcmVhZD1nKDcxMyksaS5pc0F4aW9zRXJyb3I9ZygyNjgpLEEuZXhwb3J0cz1pLEEuZXhwb3J0cy5kZWZhdWx0PWl9LDI2MzpBPT57XCJ1c2Ugc3RyaWN0XCI7ZnVuY3Rpb24gSShBKXt0aGlzLm1lc3NhZ2U9QX1JLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblwiQ2FuY2VsXCIrKHRoaXMubWVzc2FnZT9cIjogXCIrdGhpcy5tZXNzYWdlOlwiXCIpfSxJLnByb3RvdHlwZS5fX0NBTkNFTF9fPSEwLEEuZXhwb3J0cz1JfSw5NzI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoMjYzKTtmdW5jdGlvbiBDKEEpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIEEpdGhyb3cgbmV3IFR5cGVFcnJvcihcImV4ZWN1dG9yIG11c3QgYmUgYSBmdW5jdGlvbi5cIik7dmFyIEk7dGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtJPUF9KSk7dmFyIGc9dGhpczt0aGlzLnByb21pc2UudGhlbigoZnVuY3Rpb24oQSl7aWYoZy5fbGlzdGVuZXJzKXt2YXIgSSxCPWcuX2xpc3RlbmVycy5sZW5ndGg7Zm9yKEk9MDtJPEI7SSsrKWcuX2xpc3RlbmVyc1tJXShBKTtnLl9saXN0ZW5lcnM9bnVsbH19KSksdGhpcy5wcm9taXNlLnRoZW49ZnVuY3Rpb24oQSl7dmFyIEksQj1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oQSl7Zy5zdWJzY3JpYmUoQSksST1BfSkpLnRoZW4oQSk7cmV0dXJuIEIuY2FuY2VsPWZ1bmN0aW9uKCl7Zy51bnN1YnNjcmliZShJKX0sQn0sQSgoZnVuY3Rpb24oQSl7Zy5yZWFzb258fChnLnJlYXNvbj1uZXcgQihBKSxJKGcucmVhc29uKSl9KSl9Qy5wcm90b3R5cGUudGhyb3dJZlJlcXVlc3RlZD1mdW5jdGlvbigpe2lmKHRoaXMucmVhc29uKXRocm93IHRoaXMucmVhc29ufSxDLnByb3RvdHlwZS5zdWJzY3JpYmU9ZnVuY3Rpb24oQSl7dGhpcy5yZWFzb24/QSh0aGlzLnJlYXNvbik6dGhpcy5fbGlzdGVuZXJzP3RoaXMuX2xpc3RlbmVycy5wdXNoKEEpOnRoaXMuX2xpc3RlbmVycz1bQV19LEMucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKEEpe2lmKHRoaXMuX2xpc3RlbmVycyl7dmFyIEk9dGhpcy5fbGlzdGVuZXJzLmluZGV4T2YoQSk7LTEhPT1JJiZ0aGlzLl9saXN0ZW5lcnMuc3BsaWNlKEksMSl9fSxDLnNvdXJjZT1mdW5jdGlvbigpe3ZhciBBO3JldHVybnt0b2tlbjpuZXcgQygoZnVuY3Rpb24oSSl7QT1JfSkpLGNhbmNlbDpBfX0sQS5leHBvcnRzPUN9LDUwMjpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiEoIUF8fCFBLl9fQ0FOQ0VMX18pfX0sMzIxOihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg2NyksQz1nKDMyNyksUT1nKDc4MiksRT1nKDU3MiksaT1nKDE4NSksbz1nKDg3NSksRD1vLnZhbGlkYXRvcnM7ZnVuY3Rpb24gYShBKXt0aGlzLmRlZmF1bHRzPUEsdGhpcy5pbnRlcmNlcHRvcnM9e3JlcXVlc3Q6bmV3IFEscmVzcG9uc2U6bmV3IFF9fWEucHJvdG90eXBlLnJlcXVlc3Q9ZnVuY3Rpb24oQSl7XCJzdHJpbmdcIj09dHlwZW9mIEE/KEE9YXJndW1lbnRzWzFdfHx7fSkudXJsPWFyZ3VtZW50c1swXTpBPUF8fHt9LChBPWkodGhpcy5kZWZhdWx0cyxBKSkubWV0aG9kP0EubWV0aG9kPUEubWV0aG9kLnRvTG93ZXJDYXNlKCk6dGhpcy5kZWZhdWx0cy5tZXRob2Q/QS5tZXRob2Q9dGhpcy5kZWZhdWx0cy5tZXRob2QudG9Mb3dlckNhc2UoKTpBLm1ldGhvZD1cImdldFwiO3ZhciBJPUEudHJhbnNpdGlvbmFsO3ZvaWQgMCE9PUkmJm8uYXNzZXJ0T3B0aW9ucyhJLHtzaWxlbnRKU09OUGFyc2luZzpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pLGZvcmNlZEpTT05QYXJzaW5nOkQudHJhbnNpdGlvbmFsKEQuYm9vbGVhbiksY2xhcmlmeVRpbWVvdXRFcnJvcjpELnRyYW5zaXRpb25hbChELmJvb2xlYW4pfSwhMSk7dmFyIGc9W10sQj0hMDt0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goKGZ1bmN0aW9uKEkpe1wiZnVuY3Rpb25cIj09dHlwZW9mIEkucnVuV2hlbiYmITE9PT1JLnJ1bldoZW4oQSl8fChCPUImJkkuc3luY2hyb25vdXMsZy51bnNoaWZ0KEkuZnVsZmlsbGVkLEkucmVqZWN0ZWQpKX0pKTt2YXIgQyxRPVtdO2lmKHRoaXMuaW50ZXJjZXB0b3JzLnJlc3BvbnNlLmZvckVhY2goKGZ1bmN0aW9uKEEpe1EucHVzaChBLmZ1bGZpbGxlZCxBLnJlamVjdGVkKX0pKSwhQil7dmFyIGE9W0Usdm9pZCAwXTtmb3IoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYSxnKSxhPWEuY29uY2F0KFEpLEM9UHJvbWlzZS5yZXNvbHZlKEEpO2EubGVuZ3RoOylDPUMudGhlbihhLnNoaWZ0KCksYS5zaGlmdCgpKTtyZXR1cm4gQ31mb3IodmFyIHc9QTtnLmxlbmd0aDspe3ZhciBGPWcuc2hpZnQoKSxHPWcuc2hpZnQoKTt0cnl7dz1GKHcpfWNhdGNoKEEpe0coQSk7YnJlYWt9fXRyeXtDPUUodyl9Y2F0Y2goQSl7cmV0dXJuIFByb21pc2UucmVqZWN0KEEpfWZvcig7US5sZW5ndGg7KUM9Qy50aGVuKFEuc2hpZnQoKSxRLnNoaWZ0KCkpO3JldHVybiBDfSxhLnByb3RvdHlwZS5nZXRVcmk9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9aSh0aGlzLmRlZmF1bHRzLEEpLEMoQS51cmwsQS5wYXJhbXMsQS5wYXJhbXNTZXJpYWxpemVyKS5yZXBsYWNlKC9eXFw/LyxcIlwiKX0sQi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCIsXCJvcHRpb25zXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcpe3JldHVybiB0aGlzLnJlcXVlc3QoaShnfHx7fSx7bWV0aG9kOkEsdXJsOkksZGF0YTooZ3x8e30pLmRhdGF9KSl9fSkpLEIuZm9yRWFjaChbXCJwb3N0XCIsXCJwdXRcIixcInBhdGNoXCJdLChmdW5jdGlvbihBKXthLnByb3RvdHlwZVtBXT1mdW5jdGlvbihJLGcsQil7cmV0dXJuIHRoaXMucmVxdWVzdChpKEJ8fHt9LHttZXRob2Q6QSx1cmw6SSxkYXRhOmd9KSl9fSkpLEEuZXhwb3J0cz1hfSw3ODI6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtmdW5jdGlvbiBDKCl7dGhpcy5oYW5kbGVycz1bXX1DLnByb3RvdHlwZS51c2U9ZnVuY3Rpb24oQSxJLGcpe3JldHVybiB0aGlzLmhhbmRsZXJzLnB1c2goe2Z1bGZpbGxlZDpBLHJlamVjdGVkOkksc3luY2hyb25vdXM6ISFnJiZnLnN5bmNocm9ub3VzLHJ1bldoZW46Zz9nLnJ1bldoZW46bnVsbH0pLHRoaXMuaGFuZGxlcnMubGVuZ3RoLTF9LEMucHJvdG90eXBlLmVqZWN0PWZ1bmN0aW9uKEEpe3RoaXMuaGFuZGxlcnNbQV0mJih0aGlzLmhhbmRsZXJzW0FdPW51bGwpfSxDLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKEEpe0IuZm9yRWFjaCh0aGlzLmhhbmRsZXJzLChmdW5jdGlvbihJKXtudWxsIT09SSYmQShJKX0pKX0sQS5leHBvcnRzPUN9LDk3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDc5MyksQz1nKDMwMyk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIEEmJiFCKEkpP0MoQSxJKTpJfX0sNjE6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoNDgxKTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcsQyxRKXt2YXIgRT1uZXcgRXJyb3IoQSk7cmV0dXJuIEIoRSxJLGcsQyxRKX19LDU3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9Zyg1MjcpLFE9Zyg1MDIpLEU9Zyg2NTUpLGk9ZygyNjMpO2Z1bmN0aW9uIG8oQSl7aWYoQS5jYW5jZWxUb2tlbiYmQS5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCksQS5zaWduYWwmJkEuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IGkoXCJjYW5jZWxlZFwiKX1BLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuIG8oQSksQS5oZWFkZXJzPUEuaGVhZGVyc3x8e30sQS5kYXRhPUMuY2FsbChBLEEuZGF0YSxBLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXF1ZXN0KSxBLmhlYWRlcnM9Qi5tZXJnZShBLmhlYWRlcnMuY29tbW9ufHx7fSxBLmhlYWRlcnNbQS5tZXRob2RdfHx7fSxBLmhlYWRlcnMpLEIuZm9yRWFjaChbXCJkZWxldGVcIixcImdldFwiLFwiaGVhZFwiLFwicG9zdFwiLFwicHV0XCIsXCJwYXRjaFwiLFwiY29tbW9uXCJdLChmdW5jdGlvbihJKXtkZWxldGUgQS5oZWFkZXJzW0ldfSkpLChBLmFkYXB0ZXJ8fEUuYWRhcHRlcikoQSkudGhlbigoZnVuY3Rpb24oSSl7cmV0dXJuIG8oQSksSS5kYXRhPUMuY2FsbChBLEkuZGF0YSxJLmhlYWRlcnMsQS50cmFuc2Zvcm1SZXNwb25zZSksSX0pLChmdW5jdGlvbihJKXtyZXR1cm4gUShJKXx8KG8oQSksSSYmSS5yZXNwb25zZSYmKEkucmVzcG9uc2UuZGF0YT1DLmNhbGwoQSxJLnJlc3BvbnNlLmRhdGEsSS5yZXNwb25zZS5oZWFkZXJzLEEudHJhbnNmb3JtUmVzcG9uc2UpKSksUHJvbWlzZS5yZWplY3QoSSl9KSl9fSw0ODE6QT0+e1widXNlIHN0cmljdFwiO0EuZXhwb3J0cz1mdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBLmNvbmZpZz1JLGcmJihBLmNvZGU9ZyksQS5yZXF1ZXN0PUIsQS5yZXNwb25zZT1DLEEuaXNBeGlvc0Vycm9yPSEwLEEudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJue21lc3NhZ2U6dGhpcy5tZXNzYWdlLG5hbWU6dGhpcy5uYW1lLGRlc2NyaXB0aW9uOnRoaXMuZGVzY3JpcHRpb24sbnVtYmVyOnRoaXMubnVtYmVyLGZpbGVOYW1lOnRoaXMuZmlsZU5hbWUsbGluZU51bWJlcjp0aGlzLmxpbmVOdW1iZXIsY29sdW1uTnVtYmVyOnRoaXMuY29sdW1uTnVtYmVyLHN0YWNrOnRoaXMuc3RhY2ssY29uZmlnOnRoaXMuY29uZmlnLGNvZGU6dGhpcy5jb2RlLHN0YXR1czp0aGlzLnJlc3BvbnNlJiZ0aGlzLnJlc3BvbnNlLnN0YXR1cz90aGlzLnJlc3BvbnNlLnN0YXR1czpudWxsfX0sQX19LDE4NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1mdW5jdGlvbihBLEkpe0k9SXx8e307dmFyIGc9e307ZnVuY3Rpb24gQyhBLEkpe3JldHVybiBCLmlzUGxhaW5PYmplY3QoQSkmJkIuaXNQbGFpbk9iamVjdChJKT9CLm1lcmdlKEEsSSk6Qi5pc1BsYWluT2JqZWN0KEkpP0IubWVyZ2Uoe30sSSk6Qi5pc0FycmF5KEkpP0kuc2xpY2UoKTpJfWZ1bmN0aW9uIFEoZyl7cmV0dXJuIEIuaXNVbmRlZmluZWQoSVtnXSk/Qi5pc1VuZGVmaW5lZChBW2ddKT92b2lkIDA6Qyh2b2lkIDAsQVtnXSk6QyhBW2ddLElbZ10pfWZ1bmN0aW9uIEUoQSl7aWYoIUIuaXNVbmRlZmluZWQoSVtBXSkpcmV0dXJuIEModm9pZCAwLElbQV0pfWZ1bmN0aW9uIGkoZyl7cmV0dXJuIEIuaXNVbmRlZmluZWQoSVtnXSk/Qi5pc1VuZGVmaW5lZChBW2ddKT92b2lkIDA6Qyh2b2lkIDAsQVtnXSk6Qyh2b2lkIDAsSVtnXSl9ZnVuY3Rpb24gbyhnKXtyZXR1cm4gZyBpbiBJP0MoQVtnXSxJW2ddKTpnIGluIEE/Qyh2b2lkIDAsQVtnXSk6dm9pZCAwfXZhciBEPXt1cmw6RSxtZXRob2Q6RSxkYXRhOkUsYmFzZVVSTDppLHRyYW5zZm9ybVJlcXVlc3Q6aSx0cmFuc2Zvcm1SZXNwb25zZTppLHBhcmFtc1NlcmlhbGl6ZXI6aSx0aW1lb3V0OmksdGltZW91dE1lc3NhZ2U6aSx3aXRoQ3JlZGVudGlhbHM6aSxhZGFwdGVyOmkscmVzcG9uc2VUeXBlOmkseHNyZkNvb2tpZU5hbWU6aSx4c3JmSGVhZGVyTmFtZTppLG9uVXBsb2FkUHJvZ3Jlc3M6aSxvbkRvd25sb2FkUHJvZ3Jlc3M6aSxkZWNvbXByZXNzOmksbWF4Q29udGVudExlbmd0aDppLG1heEJvZHlMZW5ndGg6aSx0cmFuc3BvcnQ6aSxodHRwQWdlbnQ6aSxodHRwc0FnZW50OmksY2FuY2VsVG9rZW46aSxzb2NrZXRQYXRoOmkscmVzcG9uc2VFbmNvZGluZzppLHZhbGlkYXRlU3RhdHVzOm99O3JldHVybiBCLmZvckVhY2goT2JqZWN0LmtleXMoQSkuY29uY2F0KE9iamVjdC5rZXlzKEkpKSwoZnVuY3Rpb24oQSl7dmFyIEk9RFtBXXx8USxDPUkoQSk7Qi5pc1VuZGVmaW5lZChDKSYmSSE9PW98fChnW0FdPUMpfSkpLGd9fSwyNjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg2MSk7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXt2YXIgQz1nLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztnLnN0YXR1cyYmQyYmIUMoZy5zdGF0dXMpP0koQihcIlJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgXCIrZy5zdGF0dXMsZy5jb25maWcsbnVsbCxnLnJlcXVlc3QsZykpOkEoZyl9fSw1Mjc6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KSxDPWcoNjU1KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJLGcpe3ZhciBRPXRoaXN8fEM7cmV0dXJuIEIuZm9yRWFjaChnLChmdW5jdGlvbihnKXtBPWcuY2FsbChRLEEsSSl9KSksQX19LDY1NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9ZygxNiksUT1nKDQ4MSksRT17XCJDb250ZW50LVR5cGVcIjpcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwifTtmdW5jdGlvbiBpKEEsSSl7IUIuaXNVbmRlZmluZWQoQSkmJkIuaXNVbmRlZmluZWQoQVtcIkNvbnRlbnQtVHlwZVwiXSkmJihBW1wiQ29udGVudC1UeXBlXCJdPUkpfXZhciBvLEQ9e3RyYW5zaXRpb25hbDp7c2lsZW50SlNPTlBhcnNpbmc6ITAsZm9yY2VkSlNPTlBhcnNpbmc6ITAsY2xhcmlmeVRpbWVvdXRFcnJvcjohMX0sYWRhcHRlcjooKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdHx8XCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByb2Nlc3MmJlwiW29iamVjdCBwcm9jZXNzXVwiPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHByb2Nlc3MpKSYmKG89Zyg0NDgpKSxvKSx0cmFuc2Zvcm1SZXF1ZXN0OltmdW5jdGlvbihBLEkpe3JldHVybiBDKEksXCJBY2NlcHRcIiksQyhJLFwiQ29udGVudC1UeXBlXCIpLEIuaXNGb3JtRGF0YShBKXx8Qi5pc0FycmF5QnVmZmVyKEEpfHxCLmlzQnVmZmVyKEEpfHxCLmlzU3RyZWFtKEEpfHxCLmlzRmlsZShBKXx8Qi5pc0Jsb2IoQSk/QTpCLmlzQXJyYXlCdWZmZXJWaWV3KEEpP0EuYnVmZmVyOkIuaXNVUkxTZWFyY2hQYXJhbXMoQSk/KGkoSSxcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04XCIpLEEudG9TdHJpbmcoKSk6Qi5pc09iamVjdChBKXx8SSYmXCJhcHBsaWNhdGlvbi9qc29uXCI9PT1JW1wiQ29udGVudC1UeXBlXCJdPyhpKEksXCJhcHBsaWNhdGlvbi9qc29uXCIpLGZ1bmN0aW9uKEEsSSxnKXtpZihCLmlzU3RyaW5nKEEpKXRyeXtyZXR1cm4oMCxKU09OLnBhcnNlKShBKSxCLnRyaW0oQSl9Y2F0Y2goQSl7aWYoXCJTeW50YXhFcnJvclwiIT09QS5uYW1lKXRocm93IEF9cmV0dXJuKDAsSlNPTi5zdHJpbmdpZnkpKEEpfShBKSk6QX1dLHRyYW5zZm9ybVJlc3BvbnNlOltmdW5jdGlvbihBKXt2YXIgST10aGlzLnRyYW5zaXRpb25hbHx8RC50cmFuc2l0aW9uYWwsZz1JJiZJLnNpbGVudEpTT05QYXJzaW5nLEM9SSYmSS5mb3JjZWRKU09OUGFyc2luZyxFPSFnJiZcImpzb25cIj09PXRoaXMucmVzcG9uc2VUeXBlO2lmKEV8fEMmJkIuaXNTdHJpbmcoQSkmJkEubGVuZ3RoKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShBKX1jYXRjaChBKXtpZihFKXtpZihcIlN5bnRheEVycm9yXCI9PT1BLm5hbWUpdGhyb3cgUShBLHRoaXMsXCJFX0pTT05fUEFSU0VcIik7dGhyb3cgQX19cmV0dXJuIEF9XSx0aW1lb3V0OjAseHNyZkNvb2tpZU5hbWU6XCJYU1JGLVRPS0VOXCIseHNyZkhlYWRlck5hbWU6XCJYLVhTUkYtVE9LRU5cIixtYXhDb250ZW50TGVuZ3RoOi0xLG1heEJvZHlMZW5ndGg6LTEsdmFsaWRhdGVTdGF0dXM6ZnVuY3Rpb24oQSl7cmV0dXJuIEE+PTIwMCYmQTwzMDB9LGhlYWRlcnM6e2NvbW1vbjp7QWNjZXB0OlwiYXBwbGljYXRpb24vanNvbiwgdGV4dC9wbGFpbiwgKi8qXCJ9fX07Qi5mb3JFYWNoKFtcImRlbGV0ZVwiLFwiZ2V0XCIsXCJoZWFkXCJdLChmdW5jdGlvbihBKXtELmhlYWRlcnNbQV09e319KSksQi5mb3JFYWNoKFtcInBvc3RcIixcInB1dFwiLFwicGF0Y2hcIl0sKGZ1bmN0aW9uKEEpe0QuaGVhZGVyc1tBXT1CLm1lcmdlKEUpfSkpLEEuZXhwb3J0cz1EfSwyODg6QT0+e0EuZXhwb3J0cz17dmVyc2lvbjpcIjAuMjQuMFwifX0sODQ5OkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGc9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpLEI9MDtCPGcubGVuZ3RoO0IrKylnW0JdPWFyZ3VtZW50c1tCXTtyZXR1cm4gQS5hcHBseShJLGcpfX19LDMyNzooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO2Z1bmN0aW9uIEMoQSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChBKS5yZXBsYWNlKC8lM0EvZ2ksXCI6XCIpLnJlcGxhY2UoLyUyNC9nLFwiJFwiKS5yZXBsYWNlKC8lMkMvZ2ksXCIsXCIpLnJlcGxhY2UoLyUyMC9nLFwiK1wiKS5yZXBsYWNlKC8lNUIvZ2ksXCJbXCIpLnJlcGxhY2UoLyU1RC9naSxcIl1cIil9QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSxnKXtpZighSSlyZXR1cm4gQTt2YXIgUTtpZihnKVE9ZyhJKTtlbHNlIGlmKEIuaXNVUkxTZWFyY2hQYXJhbXMoSSkpUT1JLnRvU3RyaW5nKCk7ZWxzZXt2YXIgRT1bXTtCLmZvckVhY2goSSwoZnVuY3Rpb24oQSxJKXtudWxsIT1BJiYoQi5pc0FycmF5KEEpP0krPVwiW11cIjpBPVtBXSxCLmZvckVhY2goQSwoZnVuY3Rpb24oQSl7Qi5pc0RhdGUoQSk/QT1BLnRvSVNPU3RyaW5nKCk6Qi5pc09iamVjdChBKSYmKEE9SlNPTi5zdHJpbmdpZnkoQSkpLEUucHVzaChDKEkpK1wiPVwiK0MoQSkpfSkpKX0pKSxRPUUuam9pbihcIiZcIil9aWYoUSl7dmFyIGk9QS5pbmRleE9mKFwiI1wiKTstMSE9PWkmJihBPUEuc2xpY2UoMCxpKSksQSs9KC0xPT09QS5pbmRleE9mKFwiP1wiKT9cIj9cIjpcIiZcIikrUX1yZXR1cm4gQX19LDMwMzpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk/QS5yZXBsYWNlKC9cXC8rJC8sXCJcIikrXCIvXCIrSS5yZXBsYWNlKC9eXFwvKy8sXCJcIik6QX19LDM3MjooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpO0EuZXhwb3J0cz1CLmlzU3RhbmRhcmRCcm93c2VyRW52KCk/e3dyaXRlOmZ1bmN0aW9uKEEsSSxnLEMsUSxFKXt2YXIgaT1bXTtpLnB1c2goQStcIj1cIitlbmNvZGVVUklDb21wb25lbnQoSSkpLEIuaXNOdW1iZXIoZykmJmkucHVzaChcImV4cGlyZXM9XCIrbmV3IERhdGUoZykudG9HTVRTdHJpbmcoKSksQi5pc1N0cmluZyhDKSYmaS5wdXNoKFwicGF0aD1cIitDKSxCLmlzU3RyaW5nKFEpJiZpLnB1c2goXCJkb21haW49XCIrUSksITA9PT1FJiZpLnB1c2goXCJzZWN1cmVcIiksZG9jdW1lbnQuY29va2llPWkuam9pbihcIjsgXCIpfSxyZWFkOmZ1bmN0aW9uKEEpe3ZhciBJPWRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKFwiKF58O1xcXFxzKikoXCIrQStcIik9KFteO10qKVwiKSk7cmV0dXJuIEk/ZGVjb2RlVVJJQ29tcG9uZW50KElbM10pOm51bGx9LHJlbW92ZTpmdW5jdGlvbihBKXt0aGlzLndyaXRlKEEsXCJcIixEYXRlLm5vdygpLTg2NGU1KX19Ont3cml0ZTpmdW5jdGlvbigpe30scmVhZDpmdW5jdGlvbigpe3JldHVybiBudWxsfSxyZW1vdmU6ZnVuY3Rpb24oKXt9fX0sNzkzOkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuL14oW2Etel1bYS16XFxkXFwrXFwtXFwuXSo6KT9cXC9cXC8vaS50ZXN0KEEpfX0sMjY4OkE9PntcInVzZSBzdHJpY3RcIjtBLmV4cG9ydHM9ZnVuY3Rpb24oQSl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIEEmJiEwPT09QS5pc0F4aW9zRXJyb3J9fSw5ODU6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9Qi5pc1N0YW5kYXJkQnJvd3NlckVudigpP2Z1bmN0aW9uKCl7dmFyIEEsST0vKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7ZnVuY3Rpb24gQyhBKXt2YXIgQj1BO3JldHVybiBJJiYoZy5zZXRBdHRyaWJ1dGUoXCJocmVmXCIsQiksQj1nLmhyZWYpLGcuc2V0QXR0cmlidXRlKFwiaHJlZlwiLEIpLHtocmVmOmcuaHJlZixwcm90b2NvbDpnLnByb3RvY29sP2cucHJvdG9jb2wucmVwbGFjZSgvOiQvLFwiXCIpOlwiXCIsaG9zdDpnLmhvc3Qsc2VhcmNoOmcuc2VhcmNoP2cuc2VhcmNoLnJlcGxhY2UoL15cXD8vLFwiXCIpOlwiXCIsaGFzaDpnLmhhc2g/Zy5oYXNoLnJlcGxhY2UoL14jLyxcIlwiKTpcIlwiLGhvc3RuYW1lOmcuaG9zdG5hbWUscG9ydDpnLnBvcnQscGF0aG5hbWU6XCIvXCI9PT1nLnBhdGhuYW1lLmNoYXJBdCgwKT9nLnBhdGhuYW1lOlwiL1wiK2cucGF0aG5hbWV9fXJldHVybiBBPUMod2luZG93LmxvY2F0aW9uLmhyZWYpLGZ1bmN0aW9uKEkpe3ZhciBnPUIuaXNTdHJpbmcoSSk/QyhJKTpJO3JldHVybiBnLnByb3RvY29sPT09QS5wcm90b2NvbCYmZy5ob3N0PT09QS5ob3N0fX0oKTpmdW5jdGlvbigpe3JldHVybiEwfX0sMTY6KEEsSSxnKT0+e1widXNlIHN0cmljdFwiO3ZhciBCPWcoODY3KTtBLmV4cG9ydHM9ZnVuY3Rpb24oQSxJKXtCLmZvckVhY2goQSwoZnVuY3Rpb24oZyxCKXtCIT09SSYmQi50b1VwcGVyQ2FzZSgpPT09SS50b1VwcGVyQ2FzZSgpJiYoQVtJXT1nLGRlbGV0ZSBBW0JdKX0pKX19LDEwOTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9Zyg4NjcpLEM9W1wiYWdlXCIsXCJhdXRob3JpemF0aW9uXCIsXCJjb250ZW50LWxlbmd0aFwiLFwiY29udGVudC10eXBlXCIsXCJldGFnXCIsXCJleHBpcmVzXCIsXCJmcm9tXCIsXCJob3N0XCIsXCJpZi1tb2RpZmllZC1zaW5jZVwiLFwiaWYtdW5tb2RpZmllZC1zaW5jZVwiLFwibGFzdC1tb2RpZmllZFwiLFwibG9jYXRpb25cIixcIm1heC1mb3J3YXJkc1wiLFwicHJveHktYXV0aG9yaXphdGlvblwiLFwicmVmZXJlclwiLFwicmV0cnktYWZ0ZXJcIixcInVzZXItYWdlbnRcIl07QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3ZhciBJLGcsUSxFPXt9O3JldHVybiBBPyhCLmZvckVhY2goQS5zcGxpdChcIlxcblwiKSwoZnVuY3Rpb24oQSl7aWYoUT1BLmluZGV4T2YoXCI6XCIpLEk9Qi50cmltKEEuc3Vic3RyKDAsUSkpLnRvTG93ZXJDYXNlKCksZz1CLnRyaW0oQS5zdWJzdHIoUSsxKSksSSl7aWYoRVtJXSYmQy5pbmRleE9mKEkpPj0wKXJldHVybjtFW0ldPVwic2V0LWNvb2tpZVwiPT09ST8oRVtJXT9FW0ldOltdKS5jb25jYXQoW2ddKTpFW0ldP0VbSV0rXCIsIFwiK2c6Z319KSksRSk6RX19LDcxMzpBPT57XCJ1c2Ugc3RyaWN0XCI7QS5leHBvcnRzPWZ1bmN0aW9uKEEpe3JldHVybiBmdW5jdGlvbihJKXtyZXR1cm4gQS5hcHBseShudWxsLEkpfX19LDg3NTooQSxJLGcpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEI9ZygyODgpLnZlcnNpb24sQz17fTtbXCJvYmplY3RcIixcImJvb2xlYW5cIixcIm51bWJlclwiLFwiZnVuY3Rpb25cIixcInN0cmluZ1wiLFwic3ltYm9sXCJdLmZvckVhY2goKGZ1bmN0aW9uKEEsSSl7Q1tBXT1mdW5jdGlvbihnKXtyZXR1cm4gdHlwZW9mIGc9PT1BfHxcImFcIisoSTwxP1wibiBcIjpcIiBcIikrQX19KSk7dmFyIFE9e307Qy50cmFuc2l0aW9uYWw9ZnVuY3Rpb24oQSxJLGcpe2Z1bmN0aW9uIEMoQSxJKXtyZXR1cm5cIltBeGlvcyB2XCIrQitcIl0gVHJhbnNpdGlvbmFsIG9wdGlvbiAnXCIrQStcIidcIitJKyhnP1wiLiBcIitnOlwiXCIpfXJldHVybiBmdW5jdGlvbihnLEIsRSl7aWYoITE9PT1BKXRocm93IG5ldyBFcnJvcihDKEIsXCIgaGFzIGJlZW4gcmVtb3ZlZFwiKyhJP1wiIGluIFwiK0k6XCJcIikpKTtyZXR1cm4gSSYmIVFbQl0mJihRW0JdPSEwLGNvbnNvbGUud2FybihDKEIsXCIgaGFzIGJlZW4gZGVwcmVjYXRlZCBzaW5jZSB2XCIrSStcIiBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZWFyIGZ1dHVyZVwiKSkpLCFBfHxBKGcsQixFKX19LEEuZXhwb3J0cz17YXNzZXJ0T3B0aW9uczpmdW5jdGlvbihBLEksZyl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIEEpdGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbnMgbXVzdCBiZSBhbiBvYmplY3RcIik7Zm9yKHZhciBCPU9iamVjdC5rZXlzKEEpLEM9Qi5sZW5ndGg7Qy0tID4wOyl7dmFyIFE9QltDXSxFPUlbUV07aWYoRSl7dmFyIGk9QVtRXSxvPXZvaWQgMD09PWl8fEUoaSxRLEEpO2lmKCEwIT09byl0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIFwiK1ErXCIgbXVzdCBiZSBcIitvKX1lbHNlIGlmKCEwIT09Zyl0aHJvdyBFcnJvcihcIlVua25vd24gb3B0aW9uIFwiK1EpfX0sdmFsaWRhdG9yczpDfX0sODY3OihBLEksZyk9PntcInVzZSBzdHJpY3RcIjt2YXIgQj1nKDg0OSksQz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIFEoQSl7cmV0dXJuXCJbb2JqZWN0IEFycmF5XVwiPT09Qy5jYWxsKEEpfWZ1bmN0aW9uIEUoQSl7cmV0dXJuIHZvaWQgMD09PUF9ZnVuY3Rpb24gaShBKXtyZXR1cm4gbnVsbCE9PUEmJlwib2JqZWN0XCI9PXR5cGVvZiBBfWZ1bmN0aW9uIG8oQSl7aWYoXCJbb2JqZWN0IE9iamVjdF1cIiE9PUMuY2FsbChBKSlyZXR1cm4hMTt2YXIgST1PYmplY3QuZ2V0UHJvdG90eXBlT2YoQSk7cmV0dXJuIG51bGw9PT1JfHxJPT09T2JqZWN0LnByb3RvdHlwZX1mdW5jdGlvbiBEKEEpe3JldHVyblwiW29iamVjdCBGdW5jdGlvbl1cIj09PUMuY2FsbChBKX1mdW5jdGlvbiBhKEEsSSl7aWYobnVsbCE9QSlpZihcIm9iamVjdFwiIT10eXBlb2YgQSYmKEE9W0FdKSxRKEEpKWZvcih2YXIgZz0wLEI9QS5sZW5ndGg7ZzxCO2crKylJLmNhbGwobnVsbCxBW2ddLGcsQSk7ZWxzZSBmb3IodmFyIEMgaW4gQSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoQSxDKSYmSS5jYWxsKG51bGwsQVtDXSxDLEEpfUEuZXhwb3J0cz17aXNBcnJheTpRLGlzQXJyYXlCdWZmZXI6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiPT09Qy5jYWxsKEEpfSxpc0J1ZmZlcjpmdW5jdGlvbihBKXtyZXR1cm4gbnVsbCE9PUEmJiFFKEEpJiZudWxsIT09QS5jb25zdHJ1Y3RvciYmIUUoQS5jb25zdHJ1Y3RvcikmJlwiZnVuY3Rpb25cIj09dHlwZW9mIEEuY29uc3RydWN0b3IuaXNCdWZmZXImJkEuY29uc3RydWN0b3IuaXNCdWZmZXIoQSl9LGlzRm9ybURhdGE6ZnVuY3Rpb24oQSl7cmV0dXJuXCJ1bmRlZmluZWRcIiE9dHlwZW9mIEZvcm1EYXRhJiZBIGluc3RhbmNlb2YgRm9ybURhdGF9LGlzQXJyYXlCdWZmZXJWaWV3OmZ1bmN0aW9uKEEpe3JldHVyblwidW5kZWZpbmVkXCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyhBKTpBJiZBLmJ1ZmZlciYmQS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcn0saXNTdHJpbmc6ZnVuY3Rpb24oQSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIEF9LGlzTnVtYmVyOmZ1bmN0aW9uKEEpe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZiBBfSxpc09iamVjdDppLGlzUGxhaW5PYmplY3Q6byxpc1VuZGVmaW5lZDpFLGlzRGF0ZTpmdW5jdGlvbihBKXtyZXR1cm5cIltvYmplY3QgRGF0ZV1cIj09PUMuY2FsbChBKX0saXNGaWxlOmZ1bmN0aW9uKEEpe3JldHVyblwiW29iamVjdCBGaWxlXVwiPT09Qy5jYWxsKEEpfSxpc0Jsb2I6ZnVuY3Rpb24oQSl7cmV0dXJuXCJbb2JqZWN0IEJsb2JdXCI9PT1DLmNhbGwoQSl9LGlzRnVuY3Rpb246RCxpc1N0cmVhbTpmdW5jdGlvbihBKXtyZXR1cm4gaShBKSYmRChBLnBpcGUpfSxpc1VSTFNlYXJjaFBhcmFtczpmdW5jdGlvbihBKXtyZXR1cm5cInVuZGVmaW5lZFwiIT10eXBlb2YgVVJMU2VhcmNoUGFyYW1zJiZBIGluc3RhbmNlb2YgVVJMU2VhcmNoUGFyYW1zfSxpc1N0YW5kYXJkQnJvd3NlckVudjpmdW5jdGlvbigpe3JldHVybihcInVuZGVmaW5lZFwiPT10eXBlb2YgbmF2aWdhdG9yfHxcIlJlYWN0TmF0aXZlXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCYmXCJOYXRpdmVTY3JpcHRcIiE9PW5hdmlnYXRvci5wcm9kdWN0JiZcIk5TXCIhPT1uYXZpZ2F0b3IucHJvZHVjdCkmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiB3aW5kb3cmJlwidW5kZWZpbmVkXCIhPXR5cGVvZiBkb2N1bWVudH0sZm9yRWFjaDphLG1lcmdlOmZ1bmN0aW9uIEEoKXt2YXIgST17fTtmdW5jdGlvbiBnKGcsQil7byhJW0JdKSYmbyhnKT9JW0JdPUEoSVtCXSxnKTpvKGcpP0lbQl09QSh7fSxnKTpRKGcpP0lbQl09Zy5zbGljZSgpOklbQl09Z31mb3IodmFyIEI9MCxDPWFyZ3VtZW50cy5sZW5ndGg7QjxDO0IrKylhKGFyZ3VtZW50c1tCXSxnKTtyZXR1cm4gSX0sZXh0ZW5kOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gYShJLChmdW5jdGlvbihJLEMpe0FbQ109ZyYmXCJmdW5jdGlvblwiPT10eXBlb2YgST9CKEksZyk6SX0pKSxBfSx0cmltOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRyaW0/QS50cmltKCk6QS5yZXBsYWNlKC9eXFxzK3xcXHMrJC9nLFwiXCIpfSxzdHJpcEJPTTpmdW5jdGlvbihBKXtyZXR1cm4gNjUyNzk9PT1BLmNoYXJDb2RlQXQoMCkmJihBPUEuc2xpY2UoMSkpLEF9fX0sNjY2OkE9Pnt2YXIgST1mdW5jdGlvbihBKXtcInVzZSBzdHJpY3RcIjt2YXIgSSxnPU9iamVjdC5wcm90b3R5cGUsQj1nLmhhc093blByb3BlcnR5LEM9XCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxRPUMuaXRlcmF0b3J8fFwiQEBpdGVyYXRvclwiLEU9Qy5hc3luY0l0ZXJhdG9yfHxcIkBAYXN5bmNJdGVyYXRvclwiLGk9Qy50b1N0cmluZ1RhZ3x8XCJAQHRvU3RyaW5nVGFnXCI7ZnVuY3Rpb24gbyhBLEksZyl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEkse3ZhbHVlOmcsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSxBW0ldfXRyeXtvKHt9LFwiXCIpfWNhdGNoKEEpe289ZnVuY3Rpb24oQSxJLGcpe3JldHVybiBBW0ldPWd9fWZ1bmN0aW9uIEQoQSxJLGcsQil7dmFyIEM9SSYmSS5wcm90b3R5cGUgaW5zdGFuY2VvZiBSP0k6UixRPU9iamVjdC5jcmVhdGUoQy5wcm90b3R5cGUpLEU9bmV3IFkoQnx8W10pO3JldHVybiBRLl9pbnZva2U9ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPXc7cmV0dXJuIGZ1bmN0aW9uKEMsUSl7aWYoQj09PUcpdGhyb3cgbmV3IEVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZ1wiKTtpZihCPT09aCl7aWYoXCJ0aHJvd1wiPT09Qyl0aHJvdyBRO3JldHVybiBKKCl9Zm9yKGcubWV0aG9kPUMsZy5hcmc9UTs7KXt2YXIgRT1nLmRlbGVnYXRlO2lmKEUpe3ZhciBpPWsoRSxnKTtpZihpKXtpZihpPT09cyljb250aW51ZTtyZXR1cm4gaX19aWYoXCJuZXh0XCI9PT1nLm1ldGhvZClnLnNlbnQ9Zy5fc2VudD1nLmFyZztlbHNlIGlmKFwidGhyb3dcIj09PWcubWV0aG9kKXtpZihCPT09dyl0aHJvdyBCPWgsZy5hcmc7Zy5kaXNwYXRjaEV4Y2VwdGlvbihnLmFyZyl9ZWxzZVwicmV0dXJuXCI9PT1nLm1ldGhvZCYmZy5hYnJ1cHQoXCJyZXR1cm5cIixnLmFyZyk7Qj1HO3ZhciBvPWEoQSxJLGcpO2lmKFwibm9ybWFsXCI9PT1vLnR5cGUpe2lmKEI9Zy5kb25lP2g6RixvLmFyZz09PXMpY29udGludWU7cmV0dXJue3ZhbHVlOm8uYXJnLGRvbmU6Zy5kb25lfX1cInRocm93XCI9PT1vLnR5cGUmJihCPWgsZy5tZXRob2Q9XCJ0aHJvd1wiLGcuYXJnPW8uYXJnKX19fShBLGcsRSksUX1mdW5jdGlvbiBhKEEsSSxnKXt0cnl7cmV0dXJue3R5cGU6XCJub3JtYWxcIixhcmc6QS5jYWxsKEksZyl9fWNhdGNoKEEpe3JldHVybnt0eXBlOlwidGhyb3dcIixhcmc6QX19fUEud3JhcD1EO3ZhciB3PVwic3VzcGVuZGVkU3RhcnRcIixGPVwic3VzcGVuZGVkWWllbGRcIixHPVwiZXhlY3V0aW5nXCIsaD1cImNvbXBsZXRlZFwiLHM9e307ZnVuY3Rpb24gUigpe31mdW5jdGlvbiBVKCl7fWZ1bmN0aW9uIHkoKXt9dmFyIHQ9e307byh0LFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSk7dmFyIFM9T2JqZWN0LmdldFByb3RvdHlwZU9mLE09UyYmUyhTKGUoW10pKSk7TSYmTSE9PWcmJkIuY2FsbChNLFEpJiYodD1NKTt2YXIgbj15LnByb3RvdHlwZT1SLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQpO2Z1bmN0aW9uIGMoQSl7W1wibmV4dFwiLFwidGhyb3dcIixcInJldHVyblwiXS5mb3JFYWNoKChmdW5jdGlvbihJKXtvKEEsSSwoZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2ludm9rZShJLEEpfSkpfSkpfWZ1bmN0aW9uIHIoQSxJKXtmdW5jdGlvbiBnKEMsUSxFLGkpe3ZhciBvPWEoQVtDXSxBLFEpO2lmKFwidGhyb3dcIiE9PW8udHlwZSl7dmFyIEQ9by5hcmcsdz1ELnZhbHVlO3JldHVybiB3JiZcIm9iamVjdFwiPT10eXBlb2YgdyYmQi5jYWxsKHcsXCJfX2F3YWl0XCIpP0kucmVzb2x2ZSh3Ll9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKEEpe2coXCJuZXh0XCIsQSxFLGkpfSksKGZ1bmN0aW9uKEEpe2coXCJ0aHJvd1wiLEEsRSxpKX0pKTpJLnJlc29sdmUodykudGhlbigoZnVuY3Rpb24oQSl7RC52YWx1ZT1BLEUoRCl9KSwoZnVuY3Rpb24oQSl7cmV0dXJuIGcoXCJ0aHJvd1wiLEEsRSxpKX0pKX1pKG8uYXJnKX12YXIgQzt0aGlzLl9pbnZva2U9ZnVuY3Rpb24oQSxCKXtmdW5jdGlvbiBRKCl7cmV0dXJuIG5ldyBJKChmdW5jdGlvbihJLEMpe2coQSxCLEksQyl9KSl9cmV0dXJuIEM9Qz9DLnRoZW4oUSxRKTpRKCl9fWZ1bmN0aW9uIGsoQSxnKXt2YXIgQj1BLml0ZXJhdG9yW2cubWV0aG9kXTtpZihCPT09SSl7aWYoZy5kZWxlZ2F0ZT1udWxsLFwidGhyb3dcIj09PWcubWV0aG9kKXtpZihBLml0ZXJhdG9yLnJldHVybiYmKGcubWV0aG9kPVwicmV0dXJuXCIsZy5hcmc9SSxrKEEsZyksXCJ0aHJvd1wiPT09Zy5tZXRob2QpKXJldHVybiBzO2cubWV0aG9kPVwidGhyb3dcIixnLmFyZz1uZXcgVHlwZUVycm9yKFwiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZFwiKX1yZXR1cm4gc312YXIgQz1hKEIsQS5pdGVyYXRvcixnLmFyZyk7aWYoXCJ0aHJvd1wiPT09Qy50eXBlKXJldHVybiBnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9Qy5hcmcsZy5kZWxlZ2F0ZT1udWxsLHM7dmFyIFE9Qy5hcmc7cmV0dXJuIFE/US5kb25lPyhnW0EucmVzdWx0TmFtZV09US52YWx1ZSxnLm5leHQ9QS5uZXh0TG9jLFwicmV0dXJuXCIhPT1nLm1ldGhvZCYmKGcubWV0aG9kPVwibmV4dFwiLGcuYXJnPUkpLGcuZGVsZWdhdGU9bnVsbCxzKTpROihnLm1ldGhvZD1cInRocm93XCIsZy5hcmc9bmV3IFR5cGVFcnJvcihcIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0XCIpLGcuZGVsZWdhdGU9bnVsbCxzKX1mdW5jdGlvbiBLKEEpe3ZhciBJPXt0cnlMb2M6QVswXX07MSBpbiBBJiYoSS5jYXRjaExvYz1BWzFdKSwyIGluIEEmJihJLmZpbmFsbHlMb2M9QVsyXSxJLmFmdGVyTG9jPUFbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKEkpfWZ1bmN0aW9uIE4oQSl7dmFyIEk9QS5jb21wbGV0aW9ufHx7fTtJLnR5cGU9XCJub3JtYWxcIixkZWxldGUgSS5hcmcsQS5jb21wbGV0aW9uPUl9ZnVuY3Rpb24gWShBKXt0aGlzLnRyeUVudHJpZXM9W3t0cnlMb2M6XCJyb290XCJ9XSxBLmZvckVhY2goSyx0aGlzKSx0aGlzLnJlc2V0KCEwKX1mdW5jdGlvbiBlKEEpe2lmKEEpe3ZhciBnPUFbUV07aWYoZylyZXR1cm4gZy5jYWxsKEEpO2lmKFwiZnVuY3Rpb25cIj09dHlwZW9mIEEubmV4dClyZXR1cm4gQTtpZighaXNOYU4oQS5sZW5ndGgpKXt2YXIgQz0tMSxFPWZ1bmN0aW9uIGcoKXtmb3IoOysrQzxBLmxlbmd0aDspaWYoQi5jYWxsKEEsQykpcmV0dXJuIGcudmFsdWU9QVtDXSxnLmRvbmU9ITEsZztyZXR1cm4gZy52YWx1ZT1JLGcuZG9uZT0hMCxnfTtyZXR1cm4gRS5uZXh0PUV9fXJldHVybntuZXh0Okp9fWZ1bmN0aW9uIEooKXtyZXR1cm57dmFsdWU6SSxkb25lOiEwfX1yZXR1cm4gVS5wcm90b3R5cGU9eSxvKG4sXCJjb25zdHJ1Y3RvclwiLHkpLG8oeSxcImNvbnN0cnVjdG9yXCIsVSksVS5kaXNwbGF5TmFtZT1vKHksaSxcIkdlbmVyYXRvckZ1bmN0aW9uXCIpLEEuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbihBKXt2YXIgST1cImZ1bmN0aW9uXCI9PXR5cGVvZiBBJiZBLmNvbnN0cnVjdG9yO3JldHVybiEhSSYmKEk9PT1VfHxcIkdlbmVyYXRvckZ1bmN0aW9uXCI9PT0oSS5kaXNwbGF5TmFtZXx8SS5uYW1lKSl9LEEubWFyaz1mdW5jdGlvbihBKXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZihBLHkpOihBLl9fcHJvdG9fXz15LG8oQSxpLFwiR2VuZXJhdG9yRnVuY3Rpb25cIikpLEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobiksQX0sQS5hd3JhcD1mdW5jdGlvbihBKXtyZXR1cm57X19hd2FpdDpBfX0sYyhyLnByb3RvdHlwZSksbyhyLnByb3RvdHlwZSxFLChmdW5jdGlvbigpe3JldHVybiB0aGlzfSkpLEEuQXN5bmNJdGVyYXRvcj1yLEEuYXN5bmM9ZnVuY3Rpb24oSSxnLEIsQyxRKXt2b2lkIDA9PT1RJiYoUT1Qcm9taXNlKTt2YXIgRT1uZXcgcihEKEksZyxCLEMpLFEpO3JldHVybiBBLmlzR2VuZXJhdG9yRnVuY3Rpb24oZyk/RTpFLm5leHQoKS50aGVuKChmdW5jdGlvbihBKXtyZXR1cm4gQS5kb25lP0EudmFsdWU6RS5uZXh0KCl9KSl9LGMobiksbyhuLGksXCJHZW5lcmF0b3JcIiksbyhuLFEsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksbyhuLFwidG9TdHJpbmdcIiwoZnVuY3Rpb24oKXtyZXR1cm5cIltvYmplY3QgR2VuZXJhdG9yXVwifSkpLEEua2V5cz1mdW5jdGlvbihBKXt2YXIgST1bXTtmb3IodmFyIGcgaW4gQSlJLnB1c2goZyk7cmV0dXJuIEkucmV2ZXJzZSgpLGZ1bmN0aW9uIGcoKXtmb3IoO0kubGVuZ3RoOyl7dmFyIEI9SS5wb3AoKTtpZihCIGluIEEpcmV0dXJuIGcudmFsdWU9QixnLmRvbmU9ITEsZ31yZXR1cm4gZy5kb25lPSEwLGd9fSxBLnZhbHVlcz1lLFkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpZLHJlc2V0OmZ1bmN0aW9uKEEpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PUksdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD1cIm5leHRcIix0aGlzLmFyZz1JLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE4pLCFBKWZvcih2YXIgZyBpbiB0aGlzKVwidFwiPT09Zy5jaGFyQXQoMCkmJkIuY2FsbCh0aGlzLGcpJiYhaXNOYU4oK2cuc2xpY2UoMSkpJiYodGhpc1tnXT1JKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgQT10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZihcInRocm93XCI9PT1BLnR5cGUpdGhyb3cgQS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24oQSl7aWYodGhpcy5kb25lKXRocm93IEE7dmFyIGc9dGhpcztmdW5jdGlvbiBDKEIsQyl7cmV0dXJuIGkudHlwZT1cInRocm93XCIsaS5hcmc9QSxnLm5leHQ9QixDJiYoZy5tZXRob2Q9XCJuZXh0XCIsZy5hcmc9SSksISFDfWZvcih2YXIgUT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7UT49MDstLVEpe3ZhciBFPXRoaXMudHJ5RW50cmllc1tRXSxpPUUuY29tcGxldGlvbjtpZihcInJvb3RcIj09PUUudHJ5TG9jKXJldHVybiBDKFwiZW5kXCIpO2lmKEUudHJ5TG9jPD10aGlzLnByZXYpe3ZhciBvPUIuY2FsbChFLFwiY2F0Y2hMb2NcIiksRD1CLmNhbGwoRSxcImZpbmFsbHlMb2NcIik7aWYobyYmRCl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PEUuZmluYWxseUxvYylyZXR1cm4gQyhFLmZpbmFsbHlMb2MpfWVsc2UgaWYobyl7aWYodGhpcy5wcmV2PEUuY2F0Y2hMb2MpcmV0dXJuIEMoRS5jYXRjaExvYywhMCl9ZWxzZXtpZighRCl0aHJvdyBuZXcgRXJyb3IoXCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseVwiKTtpZih0aGlzLnByZXY8RS5maW5hbGx5TG9jKXJldHVybiBDKEUuZmluYWxseUxvYyl9fX19LGFicnVwdDpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7Zz49MDstLWcpe3ZhciBDPXRoaXMudHJ5RW50cmllc1tnXTtpZihDLnRyeUxvYzw9dGhpcy5wcmV2JiZCLmNhbGwoQyxcImZpbmFsbHlMb2NcIikmJnRoaXMucHJldjxDLmZpbmFsbHlMb2Mpe3ZhciBRPUM7YnJlYWt9fVEmJihcImJyZWFrXCI9PT1BfHxcImNvbnRpbnVlXCI9PT1BKSYmUS50cnlMb2M8PUkmJkk8PVEuZmluYWxseUxvYyYmKFE9bnVsbCk7dmFyIEU9UT9RLmNvbXBsZXRpb246e307cmV0dXJuIEUudHlwZT1BLEUuYXJnPUksUT8odGhpcy5tZXRob2Q9XCJuZXh0XCIsdGhpcy5uZXh0PVEuZmluYWxseUxvYyxzKTp0aGlzLmNvbXBsZXRlKEUpfSxjb21wbGV0ZTpmdW5jdGlvbihBLEkpe2lmKFwidGhyb3dcIj09PUEudHlwZSl0aHJvdyBBLmFyZztyZXR1cm5cImJyZWFrXCI9PT1BLnR5cGV8fFwiY29udGludWVcIj09PUEudHlwZT90aGlzLm5leHQ9QS5hcmc6XCJyZXR1cm5cIj09PUEudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPUEuYXJnLHRoaXMubWV0aG9kPVwicmV0dXJuXCIsdGhpcy5uZXh0PVwiZW5kXCIpOlwibm9ybWFsXCI9PT1BLnR5cGUmJkkmJih0aGlzLm5leHQ9SSksc30sZmluaXNoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ST49MDstLUkpe3ZhciBnPXRoaXMudHJ5RW50cmllc1tJXTtpZihnLmZpbmFsbHlMb2M9PT1BKXJldHVybiB0aGlzLmNvbXBsZXRlKGcuY29tcGxldGlvbixnLmFmdGVyTG9jKSxOKGcpLHN9fSxjYXRjaDpmdW5jdGlvbihBKXtmb3IodmFyIEk9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO0k+PTA7LS1JKXt2YXIgZz10aGlzLnRyeUVudHJpZXNbSV07aWYoZy50cnlMb2M9PT1BKXt2YXIgQj1nLmNvbXBsZXRpb247aWYoXCJ0aHJvd1wiPT09Qi50eXBlKXt2YXIgQz1CLmFyZztOKGcpfXJldHVybiBDfX10aHJvdyBuZXcgRXJyb3IoXCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHRcIil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24oQSxnLEIpe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjplKEEpLHJlc3VsdE5hbWU6ZyxuZXh0TG9jOkJ9LFwibmV4dFwiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1JKSxzfX0sQX0oQS5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPUl9Y2F0Y2goQSl7XCJvYmplY3RcIj09dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpcy5yZWdlbmVyYXRvclJ1bnRpbWU9STpGdW5jdGlvbihcInJcIixcInJlZ2VuZXJhdG9yUnVudGltZSA9IHJcIikoSSl9fSw2NTQ6KCk9Pnt9LDIzMTooKT0+e30sNzAzOigpPT57fX0sST17fTtmdW5jdGlvbiBnKEIpe3ZhciBDPUlbQl07aWYodm9pZCAwIT09QylyZXR1cm4gQy5leHBvcnRzO3ZhciBRPUlbQl09e2V4cG9ydHM6e319O3JldHVybiBBW0JdKFEsUS5leHBvcnRzLGcpLFEuZXhwb3J0c31nLm49QT0+e3ZhciBJPUEmJkEuX19lc01vZHVsZT8oKT0+QS5kZWZhdWx0OigpPT5BO3JldHVybiBnLmQoSSx7YTpJfSksSX0sZy5kPShBLEkpPT57Zm9yKHZhciBCIGluIEkpZy5vKEksQikmJiFnLm8oQSxCKSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEEsQix7ZW51bWVyYWJsZTohMCxnZXQ6SVtCXX0pfSxnLmc9ZnVuY3Rpb24oKXtpZihcIm9iamVjdFwiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCl9Y2F0Y2goQSl7aWYoXCJvYmplY3RcIj09dHlwZW9mIHdpbmRvdylyZXR1cm4gd2luZG93fX0oKSxnLm89KEEsSSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChBLEkpO3ZhciBCPXt9O3JldHVybigoKT0+e1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIEEoQSxJLGcsQixDLFEsRSl7dHJ5e3ZhciBpPUFbUV0oRSksbz1pLnZhbHVlfWNhdGNoKEEpe3JldHVybiB2b2lkIGcoQSl9aS5kb25lP0kobyk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oQixDKX1mdW5jdGlvbiBJKEkpe3JldHVybiBmdW5jdGlvbigpe3ZhciBnPXRoaXMsQj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihDLFEpe3ZhciBFPUkuYXBwbHkoZyxCKTtmdW5jdGlvbiBpKEkpe0EoRSxDLFEsaSxvLFwibmV4dFwiLEkpfWZ1bmN0aW9uIG8oSSl7QShFLEMsUSxpLG8sXCJ0aHJvd1wiLEkpfWkodm9pZCAwKX0pKX19ZnVuY3Rpb24gQyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gUShBLEkpe2Zvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKXt2YXIgQj1JW2ddO0IuZW51bWVyYWJsZT1CLmVudW1lcmFibGV8fCExLEIuY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIEImJihCLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoQSxCLmtleSxCKX19ZnVuY3Rpb24gRShBLEksZyl7cmV0dXJuIEkmJlEoQS5wcm90b3R5cGUsSSksZyYmUShBLGcpLEF9Zy5kKEIse2RlZmF1bHQ6KCk9Pm59KTt2YXIgaT1nKDc1Nyksbz1nLm4oaSk7ZnVuY3Rpb24gRChBKXtyZXR1cm4gRD1cImZ1bmN0aW9uXCI9PXR5cGVvZiBTeW1ib2wmJlwic3ltYm9sXCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiBBfTpmdW5jdGlvbihBKXtyZXR1cm4gQSYmXCJmdW5jdGlvblwiPT10eXBlb2YgU3ltYm9sJiZBLmNvbnN0cnVjdG9yPT09U3ltYm9sJiZBIT09U3ltYm9sLnByb3RvdHlwZT9cInN5bWJvbFwiOnR5cGVvZiBBfSxEKEEpfXZhciBhLHc9KGE9KGE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMCl8fFwiL2luZGV4LmpzXCIsZnVuY3Rpb24oQSl7QT12b2lkIDAhPT0oQT1BfHx7fSk/QTp7fTt2YXIgSSxCPXt9O2ZvcihJIGluIEEpQS5oYXNPd25Qcm9wZXJ0eShJKSYmKEJbSV09QVtJXSk7dmFyIEM9W10sUT1cIi4vdGhpcy5wcm9ncmFtXCIsRT1mdW5jdGlvbihBLEkpe3Rocm93IEl9LGk9ITEsbz0hMSx3PSExLEY9ITE7aT1cIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiB3aW5kb3c/XCJ1bmRlZmluZWRcIjpEKHdpbmRvdykpLG89XCJmdW5jdGlvblwiPT10eXBlb2YgaW1wb3J0U2NyaXB0cyx3PVwib2JqZWN0XCI9PT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIHByb2Nlc3M/XCJ1bmRlZmluZWRcIjpEKHByb2Nlc3MpKSYmXCJvYmplY3RcIj09PUQocHJvY2Vzcy52ZXJzaW9ucykmJlwic3RyaW5nXCI9PXR5cGVvZiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsRj0haSYmIXcmJiFvO3ZhciBHLGgscyxSLFU9XCJcIjtmdW5jdGlvbiB5KEkpe3JldHVybiBBLmxvY2F0ZUZpbGU/QS5sb2NhdGVGaWxlKEksVSk6VStJfXc/KFU9bz9nKDcwMykuZGlybmFtZShVKStcIi9cIjpcIi8vXCIsRz1mdW5jdGlvbihBLEkpe3ZhciBCPWpnKEEpO3JldHVybiBCP0k/QjpCLnRvU3RyaW5nKCk6KHN8fChzPWcoMjMxKSksUnx8KFI9Zyg3MDMpKSxBPVIubm9ybWFsaXplKEEpLHMucmVhZEZpbGVTeW5jKEEsST9udWxsOlwidXRmOFwiKSl9LGg9ZnVuY3Rpb24oQSl7dmFyIEk9RyhBLCEwKTtyZXR1cm4gSS5idWZmZXJ8fChJPW5ldyBVaW50OEFycmF5KEkpKSxIKEkuYnVmZmVyKSxJfSxwcm9jZXNzLmFyZ3YubGVuZ3RoPjEmJihRPXByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXFxcL2csXCIvXCIpKSxDPXByb2Nlc3MuYXJndi5zbGljZSgyKSxwcm9jZXNzLm9uKFwidW5jYXVnaHRFeGNlcHRpb25cIiwoZnVuY3Rpb24oQSl7aWYoIShBIGluc3RhbmNlb2YgTkIpKXRocm93IEF9KSkscHJvY2Vzcy5vbihcInVuaGFuZGxlZFJlamVjdGlvblwiLEpBKSxFPWZ1bmN0aW9uKEEpe3Byb2Nlc3MuZXhpdChBKX0sQS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuXCJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XVwifSk6Rj8oXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHJlYWQmJihHPWZ1bmN0aW9uKEEpe3ZhciBJPWpnKEEpO3JldHVybiBJP1ZnKEkpOnJlYWQoQSl9KSxoPWZ1bmN0aW9uKEEpe3ZhciBJO3JldHVybihJPWpnKEEpKT9JOlwiZnVuY3Rpb25cIj09dHlwZW9mIHJlYWRidWZmZXI/bmV3IFVpbnQ4QXJyYXkocmVhZGJ1ZmZlcihBKSk6KEgoXCJvYmplY3RcIj09PUQoST1yZWFkKEEsXCJiaW5hcnlcIikpKSxJKX0sXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHNjcmlwdEFyZ3M/Qz1zY3JpcHRBcmdzOnZvaWQgMCE9PWFyZ3VtZW50cyYmKEM9YXJndW1lbnRzKSxcImZ1bmN0aW9uXCI9PXR5cGVvZiBxdWl0JiYoRT1mdW5jdGlvbihBKXtxdWl0KEEpfSksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIHByaW50JiYoXCJ1bmRlZmluZWRcIj09dHlwZW9mIGNvbnNvbGUmJihjb25zb2xlPXt9KSxjb25zb2xlLmxvZz1wcmludCxjb25zb2xlLndhcm49Y29uc29sZS5lcnJvcj1cInVuZGVmaW5lZFwiIT10eXBlb2YgcHJpbnRFcnI/cHJpbnRFcnI6cHJpbnQpKTooaXx8bykmJihvP1U9c2VsZi5sb2NhdGlvbi5ocmVmOmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihVPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSxhJiYoVT1hKSxVPTAhPT1VLmluZGV4T2YoXCJibG9iOlwiKT9VLnN1YnN0cigwLFUubGFzdEluZGV4T2YoXCIvXCIpKzEpOlwiXCIsRz1mdW5jdGlvbihBKXt0cnl7dmFyIEk9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBJLm9wZW4oXCJHRVRcIixBLCExKSxJLnNlbmQobnVsbCksSS5yZXNwb25zZVRleHR9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gVmcoZyk7dGhyb3cgSX19LG8mJihoPWZ1bmN0aW9uKEEpe3RyeXt2YXIgST1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEkub3BlbihcIkdFVFwiLEEsITEpLEkucmVzcG9uc2VUeXBlPVwiYXJyYXlidWZmZXJcIixJLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoSS5yZXNwb25zZSl9Y2F0Y2goSSl7dmFyIGc9amcoQSk7aWYoZylyZXR1cm4gZzt0aHJvdyBJfX0pKTt2YXIgdD1BLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLFM9QS5wcmludEVycnx8Y29uc29sZS53YXJuLmJpbmQoY29uc29sZSk7Zm9yKEkgaW4gQilCLmhhc093blByb3BlcnR5KEkpJiYoQVtJXT1CW0ldKTtmdW5jdGlvbiBNKEEpe3ZhciBJPUFBW2lBPj4yXSxnPUkrQSsxNSYtMTY7cmV0dXJuIGc+U2coKSYmSkEoKSxBQVtpQT4+Ml09ZyxJfUI9bnVsbCxBLmFyZ3VtZW50cyYmKEM9QS5hcmd1bWVudHMpLEEudGhpc1Byb2dyYW0mJihRPUEudGhpc1Byb2dyYW0pLEEucXVpdCYmKEU9QS5xdWl0KTt2YXIgbixjLHIsaz17XCJmNjQtcmVtXCI6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQSVJfSxkZWJ1Z2dlcjpmdW5jdGlvbigpe319LEs9KG5ldyBBcnJheSgwKSwwKSxOPWZ1bmN0aW9uKEEpe0s9QX0sWT1mdW5jdGlvbigpe3JldHVybiBLfTtBLndhc21CaW5hcnkmJihuPUEud2FzbUJpbmFyeSksQS5ub0V4aXRSdW50aW1lJiYoYz1BLm5vRXhpdFJ1bnRpbWUpLFwib2JqZWN0XCIhPT0oXCJ1bmRlZmluZWRcIj09dHlwZW9mIFdlYkFzc2VtYmx5P1widW5kZWZpbmVkXCI6RChXZWJBc3NlbWJseSkpJiZTKFwibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZFwiKTt2YXIgZT1uZXcgV2ViQXNzZW1ibHkuVGFibGUoe2luaXRpYWw6ODc4LG1heGltdW06ODc4LGVsZW1lbnQ6XCJhbnlmdW5jXCJ9KSxKPSExO2Z1bmN0aW9uIEgoQSxJKXtBfHxKQShcIkFzc2VydGlvbiBmYWlsZWQ6IFwiK0kpfWZ1bmN0aW9uIEwoQSl7cmV0dXJuIGhBP1JCKEEpOk0oQSl9dmFyIHE9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFRleHREZWNvZGVyP25ldyBUZXh0RGVjb2RlcihcInV0ZjhcIik6dm9pZCAwO2Z1bmN0aW9uIGQoQSxJLGcpe2Zvcih2YXIgQj1JK2csQz1JO0FbQ10mJiEoQz49Qik7KSsrQztpZihDLUk+MTYmJkEuc3ViYXJyYXkmJnEpcmV0dXJuIHEuZGVjb2RlKEEuc3ViYXJyYXkoSSxDKSk7Zm9yKHZhciBRPVwiXCI7STxDOyl7dmFyIEU9QVtJKytdO2lmKDEyOCZFKXt2YXIgaT02MyZBW0krK107aWYoMTkyIT0oMjI0JkUpKXt2YXIgbz02MyZBW0krK107aWYoKEU9MjI0PT0oMjQwJkUpPygxNSZFKTw8MTJ8aTw8NnxvOig3JkUpPDwxOHxpPDwxMnxvPDw2fDYzJkFbSSsrXSk8NjU1MzYpUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKTtlbHNle3ZhciBEPUUtNjU1MzY7USs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxEPj4xMCw1NjMyMHwxMDIzJkQpfX1lbHNlIFErPVN0cmluZy5mcm9tQ2hhckNvZGUoKDMxJkUpPDw2fGkpfWVsc2UgUSs9U3RyaW5nLmZyb21DaGFyQ29kZShFKX1yZXR1cm4gUX1mdW5jdGlvbiBmKEEsSSl7cmV0dXJuIEE/ZCh6LEEsSSk6XCJcIn1mdW5jdGlvbiBsKEEsSSxnLEIpe2lmKCEoQj4wKSlyZXR1cm4gMDtmb3IodmFyIEM9ZyxRPWcrQi0xLEU9MDtFPEEubGVuZ3RoOysrRSl7dmFyIGk9QS5jaGFyQ29kZUF0KEUpO2lmKGk+PTU1Mjk2JiZpPD01NzM0MyYmKGk9NjU1MzYrKCgxMDIzJmkpPDwxMCl8MTAyMyZBLmNoYXJDb2RlQXQoKytFKSksaTw9MTI3KXtpZihnPj1RKWJyZWFrO0lbZysrXT1pfWVsc2UgaWYoaTw9MjA0Nyl7aWYoZysxPj1RKWJyZWFrO0lbZysrXT0xOTJ8aT4+NixJW2crK109MTI4fDYzJml9ZWxzZSBpZihpPD02NTUzNSl7aWYoZysyPj1RKWJyZWFrO0lbZysrXT0yMjR8aT4+MTIsSVtnKytdPTEyOHxpPj42JjYzLElbZysrXT0xMjh8NjMmaX1lbHNle2lmKGcrMz49USlicmVhaztJW2crK109MjQwfGk+PjE4LElbZysrXT0xMjh8aT4+MTImNjMsSVtnKytdPTEyOHxpPj42JjYzLElbZysrXT0xMjh8NjMmaX19cmV0dXJuIElbZ109MCxnLUN9ZnVuY3Rpb24gdShBLEksZyl7cmV0dXJuIGwoQSx6LEksZyl9ZnVuY3Rpb24gVyhBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJihCPTY1NTM2KygoMTAyMyZCKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrZykpLEI8PTEyNz8rK0k6SSs9Qjw9MjA0Nz8yOkI8PTY1NTM1PzM6NH1yZXR1cm4gSX12YXIgcD1cInVuZGVmaW5lZFwiIT10eXBlb2YgVGV4dERlY29kZXI/bmV3IFRleHREZWNvZGVyKFwidXRmLTE2bGVcIik6dm9pZCAwO2Z1bmN0aW9uIFooQSl7Zm9yKHZhciBJPUEsZz1JPj4xO19bZ107KSsrZztpZigoST1nPDwxKS1BPjMyJiZwKXJldHVybiBwLmRlY29kZSh6LnN1YmFycmF5KEEsSSkpO2Zvcih2YXIgQj0wLEM9XCJcIjs7KXt2YXIgUT1fW0ErMipCPj4xXTtpZigwPT1RKXJldHVybiBDOysrQixDKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFEpfX1mdW5jdGlvbiBiKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDIpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz0oZy09Mik8MipBLmxlbmd0aD9nLzI6QS5sZW5ndGgsUT0wO1E8QzsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtfW0k+PjFdPUUsSSs9Mn1yZXR1cm4gX1tJPj4xXT0wLEktQn1mdW5jdGlvbiB4KEEpe3JldHVybiAyKkEubGVuZ3RofWZ1bmN0aW9uIG0oQSl7Zm9yKHZhciBJPTAsZz1cIlwiOzspe3ZhciBCPUFBW0ErNCpJPj4yXTtpZigwPT1CKXJldHVybiBnO2lmKCsrSSxCPj02NTUzNil7dmFyIEM9Qi02NTUzNjtnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEM+PjEwLDU2MzIwfDEwMjMmQyl9ZWxzZSBnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpfX1mdW5jdGlvbiBYKEEsSSxnKXtpZih2b2lkIDA9PT1nJiYoZz0yMTQ3NDgzNjQ3KSxnPDQpcmV0dXJuIDA7Zm9yKHZhciBCPUksQz1CK2ctNCxRPTA7UTxBLmxlbmd0aDsrK1Epe3ZhciBFPUEuY2hhckNvZGVBdChRKTtpZihFPj01NTI5NiYmRTw9NTczNDMmJihFPTY1NTM2KygoMTAyMyZFKTw8MTApfDEwMjMmQS5jaGFyQ29kZUF0KCsrUSkpLEFBW0k+PjJdPUUsKEkrPTQpKzQ+QylicmVha31yZXR1cm4gQUFbST4+Ml09MCxJLUJ9ZnVuY3Rpb24gVihBKXtmb3IodmFyIEk9MCxnPTA7ZzxBLmxlbmd0aDsrK2cpe3ZhciBCPUEuY2hhckNvZGVBdChnKTtCPj01NTI5NiYmQjw9NTczNDMmJisrZyxJKz00fXJldHVybiBJfWZ1bmN0aW9uIE8oQSl7dmFyIEk9VyhBKSsxLGc9UkIoSSk7cmV0dXJuIGcmJmwoQSx2LGcsSSksZ31mdW5jdGlvbiBUKEEsSSl7di5zZXQoQSxJKX1mdW5jdGlvbiBqKEEsSSxnKXtmb3IodmFyIEI9MDtCPEEubGVuZ3RoOysrQil2W0krKz4+MF09QS5jaGFyQ29kZUF0KEIpO2d8fCh2W0k+PjBdPTApfXZhciBQLHYseixfLCQsQUEsSUEsZ0EsQkEsQ0E9NjU1MzY7ZnVuY3Rpb24gUUEoSSl7UD1JLEEuSEVBUDg9dj1uZXcgSW50OEFycmF5KEkpLEEuSEVBUDE2PV89bmV3IEludDE2QXJyYXkoSSksQS5IRUFQMzI9QUE9bmV3IEludDMyQXJyYXkoSSksQS5IRUFQVTg9ej1uZXcgVWludDhBcnJheShJKSxBLkhFQVBVMTY9JD1uZXcgVWludDE2QXJyYXkoSSksQS5IRUFQVTMyPUlBPW5ldyBVaW50MzJBcnJheShJKSxBLkhFQVBGMzI9Z0E9bmV3IEZsb2F0MzJBcnJheShJKSxBLkhFQVBGNjQ9QkE9bmV3IEZsb2F0NjRBcnJheShJKX12YXIgRUE9NTMwNDE3NixpQT02MTEwNCxvQT1BLlRPVEFMX01FTU9SWXx8MjY4NDM1NDU2O2Z1bmN0aW9uIERBKEkpe2Zvcig7SS5sZW5ndGg+MDspe3ZhciBnPUkuc2hpZnQoKTtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBnKXt2YXIgQj1nLmZ1bmM7XCJudW1iZXJcIj09dHlwZW9mIEI/dm9pZCAwPT09Zy5hcmc/QS5keW5DYWxsX3YoQik6QS5keW5DYWxsX3ZpKEIsZy5hcmcpOkIodm9pZCAwPT09Zy5hcmc/bnVsbDpnLmFyZyl9ZWxzZSBnKCl9fShyPUEud2FzbU1lbW9yeT9BLndhc21NZW1vcnk6bmV3IFdlYkFzc2VtYmx5Lk1lbW9yeSh7aW5pdGlhbDpvQS9DQSxtYXhpbXVtOm9BL0NBfSkpJiYoUD1yLmJ1ZmZlciksb0E9UC5ieXRlTGVuZ3RoLFFBKFApLEFBW2lBPj4yXT1FQTt2YXIgYUE9W10sd0E9W10sRkE9W10sR0E9W10saEE9ITE7ZnVuY3Rpb24gc0EoKXtpZihBLnByZVJ1bilmb3IoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5wcmVSdW4mJihBLnByZVJ1bj1bQS5wcmVSdW5dKTtBLnByZVJ1bi5sZW5ndGg7KXRBKEEucHJlUnVuLnNoaWZ0KCkpO0RBKGFBKX1mdW5jdGlvbiBSQSgpe2hBPSEwLEEubm9GU0luaXR8fGlJLmluaXQuaW5pdGlhbGl6ZWR8fGlJLmluaXQoKSxRSS5pbml0KCksREEod0EpfWZ1bmN0aW9uIFVBKCl7aUkuaWdub3JlUGVybWlzc2lvbnM9ITEsREEoRkEpfWZ1bmN0aW9uIHlBKCl7aWYoQS5wb3N0UnVuKWZvcihcImZ1bmN0aW9uXCI9PXR5cGVvZiBBLnBvc3RSdW4mJihBLnBvc3RSdW49W0EucG9zdFJ1bl0pO0EucG9zdFJ1bi5sZW5ndGg7KVNBKEEucG9zdFJ1bi5zaGlmdCgpKTtEQShHQSl9ZnVuY3Rpb24gdEEoQSl7YUEudW5zaGlmdChBKX1mdW5jdGlvbiBTQShBKXtHQS51bnNoaWZ0KEEpfXZhciBNQT1NYXRoLmFicyxuQT1NYXRoLmNlaWwsY0E9TWF0aC5mbG9vcixyQT1NYXRoLm1pbixrQT0wLEtBPW51bGwsTkE9bnVsbDtmdW5jdGlvbiBZQShJKXtrQSsrLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKX1mdW5jdGlvbiBlQShJKXtpZihrQS0tLEEubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmQS5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKGtBKSwwPT1rQSYmKG51bGwhPT1LQSYmKGNsZWFySW50ZXJ2YWwoS0EpLEtBPW51bGwpLE5BKSl7dmFyIGc9TkE7TkE9bnVsbCxnKCl9fWZ1bmN0aW9uIEpBKEkpe3Rocm93IEEub25BYm9ydCYmQS5vbkFib3J0KEkpLHQoSSs9XCJcIiksUyhJKSxKPSEwLEk9XCJhYm9ydChcIitJK1wiKS4gQnVpbGQgd2l0aCAtcyBBU1NFUlRJT05TPTEgZm9yIG1vcmUgaW5mby5cIixuZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKEkpfUEucHJlbG9hZGVkSW1hZ2VzPXt9LEEucHJlbG9hZGVkQXVkaW9zPXt9O3ZhciBIQT1cImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxcIjtmdW5jdGlvbiBMQShBKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoP0Euc3RhcnRzV2l0aChIQSk6MD09PUEuaW5kZXhPZihIQSl9dmFyIHFBLGRBLGZBPVwiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFHRnpiUUVBQUFBQmp3aHpZQUYvQVg5Z0FYOEFZQUovZndGL1lBSi9md0JnQTM5L2Z3Ri9ZQVYvZjM5L2Z3QmdBMzkvZndCZ0JIOS9mMzhBWUFWL2YzOS9md0YvWUFSL2YzOS9BWDlnQm45L2YzOS9md0YvWUFBQVlBWi9mMzkvZjM4QVlBZC9mMzkvZjM5L0FHQUlmMzkvZjM5L2YzOEJmMkFIZjM5L2YzOS9md0YvWUFBQmYyQUJmUUY5WUFGL0FYeGdCWDkvZjM5OEFYOWdBMzkrZndGK1lBVi9mMzkvZmdGL1lBaC9mMzkvZjM5L2Z3QmdDbjkvZjM5L2YzOS9mMzhBWUFOL2YzMEFZQU4vZjN3QVlBSi9mQUJnQm45L2YzOS9mQUYvWUFOL2YzOEJmV0FDZlgwQmZXQUNmMzhCZkdBRGYzOS9BWHhnQW54OEFYeGdDWDkvZjM5L2YzOS9md0YvWUFaL2ZIOS9mMzhCZjJBRWYzOS9md0YrWUFGOEFYeGdCWDkvZm45L0FHQUNmMzBBWUFwL2YzOS9mMzkvZjM5L0FYOWdESDkvZjM5L2YzOS9mMzkvZndGL1lBVi9mWDEvZndGL1lBRjlBWDlnQVg4QmZXQUdmMzkvZjM5L0FYeGdBbngvQVh4Z0QzOS9mMzkvZjM5L2YzOS9mMzkvZndCZ0RYOS9mMzkvZlgxOWZYMTlmWDBBWUFSL2YzOTlBR0FGZjM5OWZYOEFZQVYvZlgxOWZRQmdCbjk4Zkg5L2Z3QmdDMzkvZjM5L2YzOS9mMzkvQVg5Z0VYOS9mMzkvZjM5L2YzMTlmWDE5ZlgxOUFYOWdCbjkvZlgxL2Z3Ri9ZQUorZndGL1lBRjhBWDlnQkg5L2YzNEJmbUFDZjM4QmZXQUVmMzkvZndGOVlBTi9mWDBCZldBQmZBRjlZQWwvZjM5L2YzOS9mMzhBWUJGL2YzOS9mMzkvZjM5OWZYMTlmWDE5ZlFCZ0JuOS9mMzkvZlFCZ0NIOS9mMzkvZlgxOUFHQUpmMzkvZjM5OWZYMTlBR0FGZjM5L2ZYMEFZQWQvZjM5OWZYMS9BR0FFZjM5L2ZBQmdBMzkvZmdCZ0JuOS9mWDk5ZndCZ0FuOStBR0FEZjM1L0FHQURmMzE5QUdBRWYzMTlmd0JnQm45OWZYMTlmd0JnQkg5OGZIOEFZQXgvZjM5L2YzOS9mMzkvZkg4QmYyQU9mMzkvZjM5L2YzOS9mM3gvZjM4QmYyQVRmMzkvZjM5L2YzOS9mSDkvZjM5L2YzOS9md0YvWUF4L2YzOS9mMzkvZjMxL2YzOEJmMkFpZjM5L2YzOS9mMzk4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmd0YvWUFkL2YzOS9mMzk4QVg5Z0IzOS9mMzk4ZjM4QmYyQURmMzk5QVg5Z0JYOS9mWDEvQVg5Z0IzOS9mSDkvZjM4QmYyQVBmMzk4Zkh4OGZIeDhmSHg4Zkh4OEFYOWdCSDkrZjM4QmYyQUNmMzBCZjJBRmYzMTlmWDBCZjJBQ2Yzd0JmMkFEZm45L0FYOWdBbjEvQVg5Z0FueC9BWDlnQVg4QmZtQUNmMzhCZm1BQ2ZuNEJmbUFGZjM5L2YzOEJmV0FIZjM5L2YzOS9md0Y5WUFkL2YzOS9mMzk5QVgxZ0JuOS9mMzkvZlFGOVlBWi9mMzkvZlgwQmZXQUVmMzkvZlFGOVlBTi9mMzBCZldBRmYzMTlmMzhCZldBQ2ZYOEJmV0FEZlgxOUFYMWdCSDE5ZlgwQmZXQUZmMzkvZjM4QmZHQUVmMzk4ZndGOFlBTjhmSDhCZkdBRGZIeDhBWHhnQm54OGZIeDhmQUY4QXBzRVBBTmxibllCWVFBTEEyVnVkZ0ZpQUFFRFpXNTJBV01BQVFObGJuWUJaQUFCQTJWdWRnRmxBQVlEWlc1MkFXWUFBQU5sYm5ZQlp3QURBMlZ1ZGdGb0FCQURaVzUyQVdrQUJnTmxibllCYWdBTUEyVnVkZ0ZyQUFVRFpXNTJBV3dBRUFObGJuWUJiUUFCQTJWdWRnRnVBQUFEWlc1MkFXOEFBUU5sYm5ZQmNBQURBMlZ1ZGdGeEFBSURaVzUyQVhJQUJRTmxibllCY3dBR0EyVnVkZ0YwQUFBRFpXNTJBWFVBQWdObGJuWUJkZ0FEQTJWdWRnRjNBQVlEWlc1MkFYZ0FHUU5sYm5ZQmVRQUFBMlZ1ZGdGNkFBSURaVzUyQVVFQUFRTmxibllCUWdBSEEyVnVkZ0ZEQUFZRFpXNTJBVVFBQ0FoaGMyMHlkMkZ6YlFkbU5qUXRjbVZ0QUNBRFpXNTJBVVVBQ0FObGJuWUJSZ0FKQTJWdWRnRkhBQWtEWlc1MkFVZ0FBQU5sYm5ZQlNRQWtBMlZ1ZGdGS0FBQURaVzUyQVVzQUJBTmxibllCVEFBRUEyVnVkZ0ZOQUJBRFpXNTJBVTRBVWdObGJuWUJUd0FQQTJWdWRnRlFBQk1EWlc1MkFWRUFXQU5sYm5ZQlVnQUNBMlZ1ZGdGVEFBTURaVzUyQVZRQUF3TmxibllCVlFBRkEyVnVkZ0ZXQUFrRFpXNTJBVmNBQ1FObGJuWUJXQUFDQTJWdWRnRlpBQUlEWlc1MkFWb0FBZ05sYm5ZQlh3QUNBMlZ1ZGdFa0FBRURaVzUyREY5ZmRHRmliR1ZmWW1GelpRTi9BQVpuYkc5aVlXd0RUbUZPQTN3QUJtZHNiMkpoYkFoSmJtWnBibWwwZVFOOEFBTmxibllHYldWdGIzSjVBZ0dBSUlBZ0EyVnVkZ1YwWVdKc1pRRndBZTRHN2dZRHlBdkdDd0lCQWdJREFRY0NBUU1DQUNvQUJBRUJBZ0VEQXdROEFnSUNBQUFBQUFFREF3QnFLd1lRQWdFREFBa0FBUVFHQ2drQ0VRRUJBaWtEQVFBQUJqZ0FCUVVJQndNQ0F3Z0VCZ0J0QkVnRUF4d0FBd0VFQUFJREdpd0RQVDBxQ1JnQkF3b0lDQWdKQUIwQ0xRZ2NBdzRPQ2lrR0Jna0dWQVFKQXdjQ0FnQUNBQVFETUFZWUFDb0dBRGNDQXdJR0FnSUFBZ0VIQnc0R0F3WW5BU2NBRVNCd0JnQUpDUUpsWkFNQkhRWUdNUU1kQXpZQ0JBSURDQVlDQmdNQ0F3MERBQVlBWWd3Q0J3Wk9CZ29kT2dNQUFnTURBZ05wQndNQ0ZSTUNBd2NBQUEwTkJBOFBBUU1CQVFJREFRVURIeU1GQ1FnRUJBQUFBQUlRQUFRREJBTUFCZ1lCQXdNRkFRQWhCd0pEQXl3QUJ3TUNBUU1CQVFJV2JERUJBd0VEQndNQkFRTUhBUU1IQVF3SERBVURBQU1JQVFBb0JSNEFLQVVCQVFFQmNneHhCd1lHRVJFUkFBQUJYZ2hmSXdrR0FBQUhBamtDQUFFQVNTMENCZ0F0SUNCaEh6bEdCQUlFQUFFQUVBUUJBUU1BQVFjQ0FRSUFBUWtCQWdFQUF3TVpCaGdCQVFOWkR3WU1BQUVCQXdFQkJnQURBVG9uQXdNclZVQVBCdzRIQndFSEF3RUJBUU1EQXdFRGJ3SURCazhBREFBREVBTURBd0VDQVFFQkNnRUdBUkVSQkFNREF3TURBUU1IQWt3REJnRUFWallOSEFvSkJ5VU5CaG9VRHhzSkF3VVdCaFlHQmdVSUFRRUJBUWdCRGdBRUxoY3VGelFHTkFNREFRd0JBUVVNREFNSkJRd01BQTBKRFFRS0NTTUpDU01jSHg4RUNnWUNBZ0FCQVFFQkF3RUFCeVVFQXdFRUFRRUJBUUVCQVRNTEJ3RUJCQjBrSkFrR0FnWUdBQUJnQ0FJQkJBUnJCQUFFQmdZTEF4QUpBZ0lCQkFJM1hRSUVBeUk0QXdRQ0lDeHVCQWdDQkFRQ0FRSUFBZ1FCQ1JRRUVCUUVBQUFBQWdFR0FRTUJBd0VBQUFBSEFBQUNBQUFCQVFFSUFBZ0JDZ29KQ1FFRUJ3Y0hCd2NCQXdjSEFRY0JBd2NOQndnTkFRVUZCUVVGQlFVRkFBVUhCd2NIQncwQkRRME5Bd2NIQndNQkF3RUJBUUVCQVFFQkFRQUJBZ0lDQWdJQkFnSUJBZ0FCQVFNQkFRRUNBQUVCQWdJQ0FBSUNBZ0VCQVFJREF3QUJBd1VGQlFVRkJRVURCUVVGQlFVRkJRVUZCUWdGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUUVCRHdKbVl3d0ZDQVFEQWdBRENRTUJBUUlFQkFrRUJBRUdBZ0lBSGdFQkNBRUdBQU1BQXdBREVnc21BQU1BQXdBREVob1NHZ3NRVUFzQkFBQUNBZ0lFQUFBR0NBQUNBZ1FFQWdRTEFBQUNBZ0lDQUFBRUN3c1NBUUVHQXdJQkF3SUJBdzhEQXdZR0Jqd3lCZ00xTlQ4SEVBRUdIRW9IUWxzQkx3Y0hNZ0VCQXdNQ0JnWUhCZ01CQXdZREF3Y0hBeThNQWdnREFBQUFBQUFFQUFBQ0JBSUNBZ0lDQWdJQ0FqNUhJUWNCYUFJaEFnNVJDVHNFQ2drRUNRTURBd0lIQXdNQkF3TURBd01HQmdZREJnMERBUUlCQVFFWkNBRURBd1lHRHdjR0F3TUZEd01GQmdjQ0FRY0NBd01EQVFFQkFRRUNBUUVCQVFvR0Nrc1JRUU1GQVFjQUFRTUJBd01IQXdNREJ3RURBUWNGQlFJQkFRSURBd05uRFEwTkt3TUdBZ0lFRHdOY0F3WVdBMFFEQVFNR0F3RURBUU1EQXdNQkFnTURBd0VCQWdZREFRRURBd2NEQXdNQ0NBRUlDQWdJQ2dvREFRRURBd01EQWdRQ0FnQUNBUVFwQVFvQ0Z3MG9Bd0FBT3dBQkNBZ0FEUWdCRHhnWkFDWUxBQ0lRSGhKYUZnME1CUWN3UlFFaERnQVBVd29iQ0FrRVZ3SUFCaDhlSkFNQUFnWUdCZ01DQ0FZQkF3RURDQVFKQWdRQ0FRUUNDUWtKQkFNREF3QUFBUU1EQXdBQUFRSUlCQWtDQkFJRUFnRUJBUW9LQkFnT0RnRUFDQUFJRGc0SUNnb0VDQTRPREF3S0d3b2JGd1lQRHhjR0R3Z1BEQThQQndVRkJRTU1Cd1VGQlFVRkJRTUxDd3NBQUFBQUFBQUFEZ29LQ2dvS0J3VUZCUXdIQlFVRkJRVUJCUXNMQ3dBQUFBUUFBQUFBRGdvS0Nnb0tCd2dURXhVSUZRZ0lDQWdURXhVSUZRZ0lDQWdFQ0FnQ0NBZ0lDQW9LQ2dvS0Nnb1NDZ29JQ0FnSUNBZ0lDQUVCQmdFQUNnb0tDZ29LQ2dvS0JBY0lCQUVIQ0FFQ0FBQURBZ0FBQUFNQ0JBTUNCQU5OQ0FRRUFBUUVBQVFCQVJBQUN3c0xDd3N6Q3dzTEN3c0xDd3NMQ3dzTEN4QVFFQXNIQlF3RUFRQUhCUXdFQndVTUJBc0hDQkFBQmhjRWZ3RkJBQXQvQVVFQUMzOEJRUUFMZndGQjhONERDd2VUQWk0Q1lXRUFuUWNDWW1FQTVRc0NZMkVBK3dRQ1pHRUEwUXNDWldFQTRBUUNabUVBNlFzQ1oyRUFvQVVDYUdFQTBnc0NhV0VBNXdzQ2FtRUE1Z3NDYTJFQTZBc0NiR0VBT0FKdFlRQkVBbTVoQU40SkFtOWhBTndKQW5CaEFOc0pBbkZoQU5rSkFuSmhBTmdKQW5OaEFOY0pBblJoQU5ZSkFuVmhBTlVKQW5aaEFOUUpBbmRoQU5NSkFuaGhBTklKQW5saEFORUpBbnBoQU5BSkFrRmhBTTRKQWtKaEFNMEpBa05oQUxrSkFrUmhBTGNKQWtWaEFNd0pBa1poQUs0REFrZGhBSzhEQWtoaEFMRURBa2xoQUxBREFrcGhBTXNKQWt0aEFNb0pBa3hoQU1rSkFrMWhBTWdKQWs1aEFNY0pBazloQU1ZSkFsQmhBTVVKQWxGaEFMWUpBbEpoQVB3TEFsTmhBSmdKQWxSaEFQc0xDYUVMQVFBakFBdnVCc01KK2diNEJ1OEd3Z25qQnNFSi9RWll4Z2lqQlgvdkMzOS8wUVROQzM5LzBRVEtDOG9FeWdTK0M3MEx1UXU0QzdjRTdBcnJDdW9LNlFybkN1WUs1UXEzQk00S3pRck1Dc3NLeWdySkNzZ0trUUtSQW4rUkFwRUNmNUFDa0FKL2tBS1FBbjkvZjZBRW1ncC9tQXFEQ29JSy9RbjhDZDhDM3dMZkFuOS9vQVN1QmZzRlJLUUZtZ2VaQjVRSGt3ZUxCNGdIaHdlQ0I0RUg5Z2IwQnZJRzdRYnJCdWtHNGdhZkJvOEdod1ovdGdXMUJiTUZzZ1ZZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZV0ZoWVdGaFlXRmhZd0FtSkJYcVZDS1lIb3dlYkFwc0Ntd0tiQXNNTHdBdTdDN2NMalFxTENva0s5QW54Q2U4SmhRcW1CWmdIbHdlV0I1VUhrQWVOQjR3SGhRZUVCNE1IMkFiZ0Jza0duQWFZQnBjR2xnYVVCcE1Ha2dhR0JvUUdnd2FCQm9BRy93WCtCZjBGZW5wNmVucDZlbnA2ZW5wNmVucDZlbVNpQlo4RmdnWDNDKzBMMUFUT0M4d0wxQVRMQzhrTHhBdkJDN0lMcnd1aEJLRUVqQXFLQ29jSytBbnpDZkFKN1FuREJac0hrUWVQQjQ0SGhnZmFCdDBHdFFHdkFwVUZaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaSzBCaUFyM0NmWUo5UW51Q2RRR3dRWEFCYTBCclFHdEFhMEJyUUd0QWEwQmpBTC9DdjRLOWdyMUNvd0NqQUtNQXBnQnRRdXhDNFFMZ3d1QkMvd0srd3I2Q3ZnSzlBcmhBcUlLbXdxWkNvWUs3QW5oQXA0SzRRS1VDcndGdWdXWUFaZ0JtQUdZQVpnQm1BR1lBWmdCbUFHT0JLb0txQXFPQkdhdUM2MExyQXVyQzhZRXhnU3FDNmtMcUF1bkM2WUxtQXVYQzVVTGxBdThCTHdFa3d1U0M1RUxrQXVQQy9JSzhRcndDdThLN2dyVUN0TUswZ3JSQ3RBS3FRcW5DcjhGdmdWbVptWm1abVptWm1abVptWm1abVptWm1abVptWm1abVptWm1hTkJMWUt0UXF6Q3JFS3JncXRDbzBFeWdIdENzOEtwQXFqQ3AwS25BcWZCSjhFbGdxVkNzb0J5Z0hLQWNvQnlnR0xBb0lMZ0F2NUN2Y0tpd0tMQW9zQ2pBU2hCWjRGakFTK0NmZ0xSc2NDMlFqR0F0Z0k3UVBIQ0dOZWxnaGVYcWNIWGw2a0IxNWpYbU5qWHVNRTRnVGlCRjVlblFMUEM5WUU3UUxRQk93Q21nTHJBczRFelFTYUF1c0N6Z1ROQkprQzZnTE1CTXNFbVFMcUFzd0V5d1RzQXUwQzdBTHRBbU5ldGd0alhtTmVZMTVqWG1OZVkxNWpYcTRFclFTdUJLMEVZMTVqWG1OZVkxNWpYbU5lWTE1alhtTmVZMTVqWGw2ZUJKY0tuQVNRQ3BzRWpncWFCSVFLbVFUK0NWNWVYbDVlc2dtbkJZQUh4Z2FnQm1PYUJwa0dqUWFuQTR3R2dnWmppUWFJQnZrRitBVmp5UVhQQmRZRlkrY0Z6UVZqdlFXNUJiY0ZyUVdyQmFrRnBBdWlDMk00UmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUmtaR1JrWkdSa1pHUm9zRSt3YjVCb3NFdlFueEJxSUJuQUtjQXNVTHdndS9DN29MandHUEFZOEJxZ1N1QWE0Qmp3R1BBWThCcWdTdUFhNEJqd0dQQVk4QnFRU3VBYTRCandHUEFZOEJxUVN1QWE0Qm5BS2NBb0VLZ0FyL0Nmc0orZ241Q2FFRzl3YjFCdk1HN2dic0J1b0dyZ09kQnNvRjBBWHJCZThGcmdLc0Jhb0ZpQVdpQWFJQm9nR2lBYUlCb2dHaUFhSUJ1d212QTdvSnNRT0tCS2dGc0FPS0JNa0I5QXZ3QytvTDBnVFNCTFFMc0FzOTB3WFJCZVVGNUFYakJlSUY0UVh1QmUwRjdBWE9CY3dGeXdYSUJjY0Z4Z1hGQmNRRnlRSEpBY2tCeVFISkFYYjFDL0VMNnd1akJxUUdwUWFtQnFjR3FBYXFCcXNHckFhdEJxNEdyd2F3QnJFR3NnYXpCclVHdGdhM0JyZ0d1UWE2QnJzR3ZBYTlCcjRHdndiQUJzRUd3Z2JEQnFJR3hBYkZCdUFGM2dYZEJkd0Yyd1hhQmRrRjJBWFhCWFoyZG5aMmRuWjJkbloyZG5aMmRuWjIzQUwyQy9JTDdBdW1DcVVLM0FMY0Fva0UxUVhTQmVZRjZnWHBCZWdGaVFTSUJOTUUwd1NJQkFxcWl4N0dDdzBBSUFBZ0FTQUJFR0FRbndrTHlRMEJDWDhnQUVVRVFBOExRYnpSQXlnQ0FDRUVJQUJCZUdvaUF5QUFRWHhxS0FJQUlnSkJlSEVpQUdvaEJTQUNRUUZ4Qkg4Z0F3VUNmeUFES0FJQUlRRWdBa0VEY1VVRVFBOExJQU1nQVdzaUF5QUVTUVJBRHdzZ0FDQUJhaUVBSUFOQndORURLQUlBUmdSQUlBTWdCU2dDQkNJQlFRTnhRUU5IRFFFYVFiVFJBeUFBTmdJQUlBVWdBVUYrY1RZQ0JDQURJQUJCQVhJMkFnUWdBQ0FEYWlBQU5nSUFEd3NnQVVFRGRpRUVJQUZCZ0FKSkJFQWdBeWdDQ0NJQklBTW9BZ3dpQWtZRVFFR3MwUU5Cck5FREtBSUFRUUVnQkhSQmYzTnhOZ0lBQlNBQklBSTJBZ3dnQWlBQk5nSUlDeUFEREFFTElBTW9BaGdoQnlBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRUdvaUFrRUVhaUlFS0FJQUlnRUVRQ0FFSVFJRklBSW9BZ0FpQVVVRVFFRUFJUUVNQWdzTEEwQUNRQ0FCUVJScUlnUW9BZ0FpQmtVRVFDQUJRUkJxSWdRb0FnQWlCa1VOQVFzZ0JDRUNJQVloQVF3QkN3c2dBa0VBTmdJQUN3VWdBeWdDQ0NJQ0lBRTJBZ3dnQVNBQ05nSUlDeUFIQkg4Z0F5QURLQUljSWdKQkFuUkIzTk1EYWlJRUtBSUFSZ1JBSUFRZ0FUWUNBQ0FCUlFSQVFiRFJBMEd3MFFNb0FnQkJBU0FDZEVGL2MzRTJBZ0FnQXd3REN3VWdCMEVRYWlJQ0lBZEJGR29nQXlBQ0tBSUFSaHNnQVRZQ0FDQURJQUZGRFFJYUN5QUJJQWMyQWhnZ0F5Z0NFQ0lDQkVBZ0FTQUNOZ0lRSUFJZ0FUWUNHQXNnQXlnQ0ZDSUNCRUFnQVNBQ05nSVVJQUlnQVRZQ0dBc2dBd1VnQXdzTEN5SUhJQVZQQkVBUEN5QUZLQUlFSWdoQkFYRkZCRUFQQ3lBSVFRSnhCRUFnQlNBSVFYNXhOZ0lFSUFNZ0FFRUJjallDQkNBQUlBZHFJQUEyQWdBZ0FDRUNCU0FGUWNUUkF5Z0NBRVlFUUVHNDBRTWdBRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQU0yQWdBZ0F5QUFRUUZ5TmdJRVFjRFJBeWdDQUNBRFJ3UkFEd3RCd05FRFFRQTJBZ0JCdE5FRFFRQTJBZ0FQQzBIQTBRTW9BZ0FnQlVZRVFFRzAwUU1nQUVHMDBRTW9BZ0JxSWdBMkFnQkJ3TkVESUFjMkFnQWdBeUFBUVFGeU5nSUVJQUFnQjJvZ0FEWUNBQThMSUFoQkEzWWhCQ0FJUVlBQ1NRUkFJQVVvQWdnaUFTQUZLQUlNSWdKR0JFQkJyTkVEUWF6UkF5Z0NBRUVCSUFSMFFYOXpjVFlDQUFVZ0FTQUNOZ0lNSUFJZ0FUWUNDQXNGQWtBZ0JTZ0NHQ0VKSUFVb0Fnd2lBU0FGUmdSQUFrQWdCVUVRYWlJQ1FRUnFJZ1FvQWdBaUFRUkFJQVFoQWdVZ0FpZ0NBQ0lCUlFSQVFRQWhBUXdDQ3dzRFFBSkFJQUZCRkdvaUJDZ0NBQ0lHUlFSQUlBRkJFR29pQkNnQ0FDSUdSUTBCQ3lBRUlRSWdCaUVCREFFTEN5QUNRUUEyQWdBTEJTQUZLQUlJSWdJZ0FUWUNEQ0FCSUFJMkFnZ0xJQWtFUUNBRktBSWNJZ0pCQW5SQjNOTURhaUlFS0FJQUlBVkdCRUFnQkNBQk5nSUFJQUZGQkVCQnNORURRYkRSQXlnQ0FFRUJJQUowUVg5emNUWUNBQXdEQ3dVZ0NVRVFhaUlDSUFsQkZHb2dBaWdDQUNBRlJoc2dBVFlDQUNBQlJRMENDeUFCSUFrMkFoZ2dCU2dDRUNJQ0JFQWdBU0FDTmdJUUlBSWdBVFlDR0FzZ0JTZ0NGQ0lDQkVBZ0FTQUNOZ0lVSUFJZ0FUWUNHQXNMQ3dzZ0F5QUFJQWhCZUhGcUlnSkJBWEkyQWdRZ0FpQUhhaUFDTmdJQUlBTkJ3TkVES0FJQVJnUkFRYlRSQXlBQ05nSUFEd3NMSUFKQkEzWWhBU0FDUVlBQ1NRUkFJQUZCQTNSQjFORURhaUVBUWF6UkF5Z0NBQ0lDUVFFZ0FYUWlBWEVFZnlBQVFRaHFJZ0lvQWdBRlFhelJBeUFCSUFKeU5nSUFJQUJCQ0dvaEFpQUFDeUVCSUFJZ0F6WUNBQ0FCSUFNMkFnd2dBeUFCTmdJSUlBTWdBRFlDREE4TElBSkJDSFlpQUFSL0lBSkIvLy8vQjBzRWYwRWZCU0FBSUFCQmdQNC9ha0VRZGtFSWNTSUJkQ0lFUVlEZ0gycEJFSFpCQkhFaEFFRU9JQUFnQVhJZ0JDQUFkQ0lBUVlDQUQycEJFSFpCQW5FaUFYSnJJQUFnQVhSQkQzWnFJZ0JCQVhRZ0FpQUFRUWRxZGtFQmNYSUxCVUVBQ3lJQlFRSjBRZHpUQTJvaEFDQURJQUUyQWh3Z0EwRUFOZ0lVSUFOQkFEWUNFRUd3MFFNb0FnQWlCRUVCSUFGMElnWnhCRUFDUUNBQ0lBQW9BZ0FpQUNnQ0JFRjRjVVlFUUNBQUlRRUZBa0FnQWtFQVFSa2dBVUVCZG1zZ0FVRWZSaHQwSVFRRFFDQUFRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBUVJBSUFSQkFYUWhCQ0FDSUFFb0FnUkJlSEZHRFFJZ0FTRUFEQUVMQ3lBR0lBTTJBZ0FnQXlBQU5nSVlJQU1nQXpZQ0RDQURJQU0yQWdnTUFnc0xJQUVvQWdnaUFDQUROZ0lNSUFFZ0F6WUNDQ0FESUFBMkFnZ2dBeUFCTmdJTUlBTkJBRFlDR0FzRlFiRFJBeUFFSUFaeU5nSUFJQUFnQXpZQ0FDQURJQUEyQWhnZ0F5QUROZ0lNSUFNZ0F6WUNDQXRCek5FRFFjelJBeWdDQUVGL2FpSUFOZ0lBSUFBRVFBOExRZlRVQXlFQUEwQWdBQ2dDQUNJRFFRaHFJUUFnQXcwQUMwSE0wUU5CZnpZQ0FBc2tBQ0FCQkg4Z0FFR0FnSUNBZUVZZ0FVRi9SbkVFZjBFQUJTQUFJQUZ0Q3dWQkFBc0xJQUVCZnlBQUtBSUFJUUlnQVJDbEN5RUJJQUlvQWdnZ0FVRUNkR29vQWdBTERBQWdBQ0FCUVJ4cUVPc0pDemtCQVg4Z0FDZ0NBQ0lBS0FJRUlRRWdBQ0FCUVg5cU5nSUVJQUZGQkVBZ0FDZ0NBQ2dDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3dzOEFDTUdJUUFqQmtFUWFpUUdJQUpCQUVkQjBJVUJLQUlBSUFGTWNRUkFJQUlzQUFBRVFDQUFJQU0yQWdBZ0FTQUNJQUFRMmdrTEN5QUFKQVlMaWdJQkIzOGpCaUVESXdaQkVHb2tCaUFEUVF4cUlRSWdBeUFBRUpnQ0lBTXNBQUFFUUNBQ0lBQWdBQ2dDQUVGMGFpZ0NBR29RT3lBQ1Fiak9BeEE2SVFjZ0FoQThJQUFnQUNnQ0FFRjBhaWdDQUdvaUJTZ0NHQ0VJUVg4Z0JTZ0NUQkJCQkVBZ0FpQUZFRHNnQWtHQXpnTVFPaUlFS0FJQUtBSWNJUVlnQkVFZ0lBWkJQM0ZCaWdGcUVRSUFJUVFnQWhBOElBVWdCRUVZZEVFWWRTSUVOZ0pNQlNBRktBSk1JUVFMSUFjb0FnQW9BaEFoQmlBRElBZzJBZ2dnQWlBREtBSUlOZ0lBSUFjZ0FpQUZJQVJCL3dGeElBRWdCa0VmY1VHaUFtb1JDQUJGQkVBZ0FDQUFLQUlBUVhScUtBSUFhaUlCSUFFb0FoQkJCWElRN2dFTEN5QURFSmNDSUFNa0JpQUFDNFVCQVFOL0l3WWhBU01HUVJCcUpBWWdBQ0FBS0FJQVFYUnFLQUlBYWlnQ0dBUkFJQUVnQUJDWUFpQUJMQUFBQkVBZ0FDQUFLQUlBUVhScUtBSUFhaWdDR0NJQ0tBSUFLQUlZSVFNZ0FpQURRZjhBY1VFSWFoRUFBRUYvUmdSQUlBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBUkNYQWdzZ0FTUUdDNmdCQVFSL0l3WWhBaU1HUVJCcUpBWWdBaUFBRUpnQ0lBSXNBQUFFUUFKQUlBQWdBQ2dDQUVGMGFpZ0NBR29vQWhnaUF5RUVJQU1FUUNBRUtBSVlJZ1VnQkNnQ0hFWUVmeUFES0FJQUtBSTBJUU1nQkNBQkVFSWdBMEUvY1VHS0FXb1JBZ0FGSUFRZ0JVRUJhallDR0NBRklBRTZBQUFnQVJCQ0MwRi9FRUZGRFFFTElBQWdBQ2dDQUVGMGFpZ0NBR29pQUNBQUtBSVFRUUZ5RU80QkN3c2dBaENYQWlBQ0pBWUxCd0FnQUNBQlJnc0lBQ0FBUWY4QmNRczRBQ0FBSUFCY0JIOUJnSUNBZ0hnRklBQkRBQUFBVDJBRWYwR0FnSUNBZUFVZ0FFTUFBQURQWHdSL1FZQ0FnSUI0QlNBQXFBc0xDd3UzTlFFTWZ5TUdJUW9qQmtFUWFpUUdJQUJCOVFGSkJFQkJyTkVES0FJQUlnVkJFQ0FBUVF0cVFYaHhJQUJCQzBrYklnSkJBM1lpQUhZaUFVRURjUVJBSUFGQkFYRkJBWE1nQUdvaUFrRURkRUhVMFFOcUlnQW9BZ2dpQTBFSWFpSUVLQUlBSVFFZ0FDQUJSZ1JBUWF6UkEwRUJJQUowUVg5eklBVnhOZ0lBQlNBQklBQTJBZ3dnQUNBQk5nSUlDeUFESUFKQkEzUWlBRUVEY2pZQ0JDQUFJQU5xSWdBZ0FDZ0NCRUVCY2pZQ0JDQUtKQVlnQkE4TElBSkJ0TkVES0FJQUlnbExCSDhnQVFSQVFRSWdBSFFpQTBFQUlBTnJjaUFCSUFCMGNTSUFRUUFnQUd0eFFYOXFJZ0JCREhaQkVIRWlBU0FBSUFGMklnQkJCWFpCQ0hFaUFYSWdBQ0FCZGlJQVFRSjJRUVJ4SWdGeUlBQWdBWFlpQUVFQmRrRUNjU0lCY2lBQUlBRjJJZ0JCQVhaQkFYRWlBWElnQUNBQmRtb2lCRUVEZEVIVTBRTnFJZ0FvQWdnaUFVRUlhaUlHS0FJQUlRTWdBQ0FEUmdSQVFhelJBMEVCSUFSMFFYOXpJQVZ4SWdBMkFnQUZJQU1nQURZQ0RDQUFJQU0yQWdnZ0JTRUFDeUFCSUFKQkEzSTJBZ1FnQVNBQ2FpSUZJQVJCQTNRaUF5QUNheUlFUVFGeU5nSUVJQUVnQTJvZ0JEWUNBQ0FKQkVCQndORURLQUlBSVFFZ0NVRURkaUlDUVFOMFFkVFJBMm9oQTBFQklBSjBJZ0lnQUhFRWZ5QURRUWhxSWdJb0FnQUZRYXpSQXlBQUlBSnlOZ0lBSUFOQkNHb2hBaUFEQ3lFQUlBSWdBVFlDQUNBQUlBRTJBZ3dnQVNBQU5nSUlJQUVnQXpZQ0RBdEJ0TkVESUFRMkFnQkJ3TkVESUFVMkFnQWdDaVFHSUFZUEMwR3cwUU1vQWdBaUN3Ui9RUUFnQzJzZ0MzRkJmMm9pQUVFTWRrRVFjU0lCSUFBZ0FYWWlBRUVGZGtFSWNTSUJjaUFBSUFGMklnQkJBblpCQkhFaUFYSWdBQ0FCZGlJQVFRRjJRUUp4SWdGeUlBQWdBWFlpQUVFQmRrRUJjU0lCY2lBQUlBRjJha0VDZEVIYzB3TnFLQUlBSWdRaEFDQUVLQUlFUVhoeElBSnJJUWdEUUFKQUlBQW9BaEFpQVFSQUlBRWhBQVVnQUNnQ0ZDSUFSUTBCQ3lBQUlBUWdBQ2dDQkVGNGNTQUNheUlCSUFoSklnTWJJUVFnQVNBSUlBTWJJUWdNQVFzTElBSWdCR29pRENBRVN3Ui9JQVFvQWhnaEJ5QUVJQVFvQWd3aUFFWUVRQUpBSUFSQkZHb2lBU2dDQUNJQVJRUkFJQVJCRUdvaUFTZ0NBQ0lBUlFSQVFRQWhBQXdDQ3dzRFFBSkFJQUJCRkdvaUF5Z0NBQ0lHUlFSQUlBQkJFR29pQXlnQ0FDSUdSUTBCQ3lBRElRRWdCaUVBREFFTEN5QUJRUUEyQWdBTEJTQUVLQUlJSWdFZ0FEWUNEQ0FBSUFFMkFnZ0xJQWNFUUFKQUlBUWdCQ2dDSENJQlFRSjBRZHpUQTJvaUF5Z0NBRVlFUUNBRElBQTJBZ0FnQUVVRVFFR3cwUU5CQVNBQmRFRi9jeUFMY1RZQ0FBd0NDd1VnQjBFUWFpQUhRUlJxSUFRZ0J5Z0NFRVliSUFBMkFnQWdBRVVOQVFzZ0FDQUhOZ0lZSUFRb0FoQWlBUVJBSUFBZ0FUWUNFQ0FCSUFBMkFoZ0xJQVFvQWhRaUFRUkFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN3c2dDRUVRU1FSQUlBUWdBaUFJYWlJQVFRTnlOZ0lFSUFBZ0JHb2lBQ0FBS0FJRVFRRnlOZ0lFQlNBRUlBSkJBM0kyQWdRZ0RDQUlRUUZ5TmdJRUlBZ2dER29nQ0RZQ0FDQUpCRUJCd05FREtBSUFJUUFnQ1VFRGRpSUNRUU4wUWRUUkEyb2hBVUVCSUFKMElnSWdCWEVFZnlBQlFRaHFJZ0lvQWdBRlFhelJBeUFDSUFWeU5nSUFJQUZCQ0dvaEFpQUJDeUVESUFJZ0FEWUNBQ0FESUFBMkFnd2dBQ0FETmdJSUlBQWdBVFlDREF0QnRORURJQWcyQWdCQndORURJQXcyQWdBTElBb2tCaUFFUVFocUR3VWdBZ3NGSUFJTEJTQUNDeUVBQlNBQVFiOS9Td1JBUVg4aEFBVUNRQ0FBUVF0cUlnRkJlSEVoQUVHdzBRTW9BZ0FpQlFSQVFRQWdBR3NoQkFKQUFrQWdBVUVJZGlJQkJIOGdBRUgvLy84SFN3Ui9RUjhGSUFFZ0FVR0EvajlxUVJCMlFRaHhJZ0owSWdaQmdPQWZha0VRZGtFRWNTRUJRUTRnQmlBQmRDSUdRWUNBRDJwQkVIWkJBbkVpQ0NBQklBSnljbXNnQmlBSWRFRVBkbW9pQVVFQmRDQUFJQUZCQjJwMlFRRnhjZ3NGUVFBTElnZEJBblJCM05NRGFpZ0NBQ0lCQkg5QkFDRUNJQUJCQUVFWklBZEJBWFpySUFkQkgwWWJkQ0VHQTM4Z0FTZ0NCRUY0Y1NBQWF5SUlJQVJKQkVBZ0NBUi9JQWdoQkNBQkJVRUFJUVFnQVNFQ0RBUUxJUUlMSUFNZ0FTZ0NGQ0lESUFORklBTWdBVUVRYWlBR1FSOTJRUUowYWlnQ0FDSUJSbkliSVFNZ0JrRUJkQ0VHSUFFTkFDQUNDd1ZCQUFzaUFTQURjZ1IvSUFNRklBVkJBaUFIZENJQlFRQWdBV3R5Y1NJQ1JRMEVRUUFoQVNBQ1FRQWdBbXR4UVg5cUlnSkJESFpCRUhFaUF5QUNJQU4ySWdKQkJYWkJDSEVpQTNJZ0FpQURkaUlDUVFKMlFRUnhJZ055SUFJZ0EzWWlBa0VCZGtFQ2NTSURjaUFDSUFOMklnSkJBWFpCQVhFaUEzSWdBaUFEZG1wQkFuUkIzTk1EYWlnQ0FBc2lBZzBBSUFFaEF3d0JDeUFCSVFNZ0JDRUJBMzhnQWlnQ0JFRjRjU0FBYXlJSUlBRkpJUVlnQ0NBQklBWWJJUUVnQWlBRElBWWJJUU1nQWlnQ0VDSUVSUVJBSUFJb0FoUWhCQXNnQkFSL0lBUWhBZ3dCQlNBQkN3c2hCQXNnQXdSQUlBUkJ0TkVES0FJQUlBQnJTUVJBSUFBZ0Eyb2lCeUFEU3dSQUlBTW9BaGdoQ1NBRElBTW9BZ3dpQVVZRVFBSkFJQU5CRkdvaUFpZ0NBQ0lCUlFSQUlBTkJFR29pQWlnQ0FDSUJSUVJBUVFBaEFRd0NDd3NEUUFKQUlBRkJGR29pQmlnQ0FDSUlSUVJBSUFGQkVHb2lCaWdDQUNJSVJRMEJDeUFHSVFJZ0NDRUJEQUVMQ3lBQ1FRQTJBZ0FMQlNBREtBSUlJZ0lnQVRZQ0RDQUJJQUkyQWdnTElBa0VRQUpBSUFNZ0F5Z0NIQ0lDUVFKMFFkelRBMm9pQmlnQ0FFWUVRQ0FHSUFFMkFnQWdBVVVFUUVHdzBRTWdCVUVCSUFKMFFYOXpjU0lCTmdJQURBSUxCU0FKUVJCcUlBbEJGR29nQXlBSktBSVFSaHNnQVRZQ0FDQUJSUVJBSUFVaEFRd0NDd3NnQVNBSk5nSVlJQU1vQWhBaUFnUkFJQUVnQWpZQ0VDQUNJQUUyQWhnTElBTW9BaFFpQWdSQUlBRWdBallDRkNBQ0lBRTJBaGdMSUFVaEFRc0ZJQVVoQVFzZ0JFRVFTUVJBSUFNZ0FDQUVhaUlBUVFOeU5nSUVJQUFnQTJvaUFDQUFLQUlFUVFGeU5nSUVCUUpBSUFNZ0FFRURjallDQkNBSElBUkJBWEkyQWdRZ0JDQUhhaUFFTmdJQUlBUkJBM1loQWlBRVFZQUNTUVJBSUFKQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQlFRRWdBblFpQW5FRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCellDQUNBQklBYzJBZ3dnQnlBQk5nSUlJQWNnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQW5RaUJrR0E0QjlxUVJCMlFRUnhJUUJCRGlBR0lBQjBJZ1pCZ0lBUGFrRVFka0VDY1NJRklBQWdBbkp5YXlBR0lBVjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUFnQnlBQ05nSWNJQWRCQURZQ0ZDQUhRUUEyQWhCQkFTQUNkQ0lHSUFGeFJRUkFRYkRSQXlBQklBWnlOZ0lBSUFBZ0J6WUNBQ0FISUFBMkFoZ2dCeUFITmdJTUlBY2dCellDQ0F3QkN5QUVJQUFvQWdBaUFDZ0NCRUY0Y1VZRVFDQUFJUUVGQWtBZ0JFRUFRUmtnQWtFQmRtc2dBa0VmUmh0MElRSURRQ0FBUVJCcUlBSkJIM1pCQW5ScUlnWW9BZ0FpQVFSQUlBSkJBWFFoQWlBRUlBRW9BZ1JCZUhGR0RRSWdBU0VBREFFTEN5QUdJQWMyQWdBZ0J5QUFOZ0lZSUFjZ0J6WUNEQ0FISUFjMkFnZ01BZ3NMSUFFb0FnZ2lBQ0FITmdJTUlBRWdCellDQ0NBSElBQTJBZ2dnQnlBQk5nSU1JQWRCQURZQ0dBc0xJQW9rQmlBRFFRaHFEd3NMQ3dzTEN3c0NRQUpBUWJUUkF5Z0NBQ0lDSUFCUEJFQkJ3TkVES0FJQUlRRWdBaUFBYXlJRFFROUxCRUJCd05FRElBQWdBV29pQkRZQ0FFRzAwUU1nQXpZQ0FDQUVJQU5CQVhJMkFnUWdBU0FDYWlBRE5nSUFJQUVnQUVFRGNqWUNCQVZCdE5FRFFRQTJBZ0JCd05FRFFRQTJBZ0FnQVNBQ1FRTnlOZ0lFSUFFZ0Ftb2lBQ0FBS0FJRVFRRnlOZ0lFQ3d3QkN3SkFRYmpSQXlnQ0FDSUJJQUJMQkVBTUFRc2dBRUV2YWlJRlFZVFZBeWdDQUFSL1FZelZBeWdDQUFWQmpOVURRWUFnTmdJQVFZalZBMEdBSURZQ0FFR1ExUU5CZnpZQ0FFR1UxUU5CZnpZQ0FFR1kxUU5CQURZQ0FFSG8xQU5CQURZQ0FFR0UxUU1nQ2tGd2NVSFlxdFdxQlhNMkFnQkJnQ0FMSWdKcUlnTkJBQ0FDYXlJSWNTSUdJQUJOQkVBTUF3dEI1TlFES0FJQUlnSUVRQ0FHUWR6VUF5Z0NBQ0lFYWlJSElBUk5JQWNnQWt0eUJFQU1CQXNMSUFCQk1Hb2hCd0pBQWtCQjZOUURLQUlBUVFSeEJFQkJBQ0VDQlFKQUFrQUNRRUhFMFFNb0FnQWlBa1VOQUVIczFBTWhCQU5BQWtBZ0JDZ0NBQ0lKSUFKTkJFQWdDU0FFS0FJRWFpQUNTdzBCQ3lBRUtBSUlJZ1FOQVF3Q0N3c2dDQ0FESUFGcmNTSUNRZi8vLy84SFNRUkFJQUlRdWdFaUFTQUVLQUlBSUFRb0FnUnFSZ1JBSUFGQmYwY05CZ1VNQXdzRlFRQWhBZ3NNQWd0QkFCQzZBU0lCUVg5R0JIOUJBQVZCM05RREtBSUFJZ1FnQmlBQlFZalZBeWdDQUNJQ1FYOXFJZ05xUVFBZ0FtdHhJQUZyUVFBZ0FTQURjUnRxSWdKcUlRTWdBa0gvLy8vL0Iwa2dBaUFBUzNFRWYwSGsxQU1vQWdBaUNBUkFJQU1nQkUwZ0F5QUlTM0lFUUVFQUlRSU1CUXNMSUFFZ0FoQzZBU0lEUmcwRklBTWhBUXdDQlVFQUN3c2hBZ3dCQ3lBQlFYOUhJQUpCLy8vLy93ZEpjU0FISUFKTGNVVUVRQ0FCUVg5R0JFQkJBQ0VDREFJRkRBUUxBQXRCak5VREtBSUFJZ01nQlNBQ2EycEJBQ0FEYTNFaUEwSC8vLy8vQjA4TkFrRUFJQUpySVFRZ0F4QzZBVUYvUmdSL0lBUVF1Z0VhUVFBRklBSWdBMm9oQWd3REN5RUNDMEhvMUFOQjZOUURLQUlBUVFSeU5nSUFDeUFHUWYvLy8vOEhTUVJBSUFZUXVnRWhBVUVBRUxvQklnTWdBV3NpQmlBQVFTaHFTeUVFSUFZZ0FpQUVHeUVDSUFSQkFYTWdBVUYvUm5JZ0FVRi9SeUFEUVg5SGNTQUJJQU5KY1VFQmMzSkZEUUVMREFFTFFkelVBeUFDUWR6VUF5Z0NBR29pQXpZQ0FDQURRZURVQXlnQ0FFc0VRRUhnMUFNZ0F6WUNBQXRCeE5FREtBSUFJZ01FUUFKQVFlelVBeUVFQWtBQ1FBTkFJQUVnQkNnQ0FDSUdJQVFvQWdRaUJXcEdEUUVnQkNnQ0NDSUVEUUFMREFFTElBUW9BZ3hCQ0hGRkJFQWdCaUFEVFNBQklBTkxjUVJBSUFRZ0FpQUZhallDQkNBRFFRQWdBMEVJYWlJQmEwRUhjVUVBSUFGQkIzRWJJZ1JxSVFFZ0FrRzQwUU1vQWdCcUlnWWdCR3NoQWtIRTBRTWdBVFlDQUVHNDBRTWdBallDQUNBQklBSkJBWEkyQWdRZ0F5QUdha0VvTmdJRVFjalJBMEdVMVFNb0FnQTJBZ0FNQXdzTEN5QUJRYnpSQXlnQ0FFa0VRRUc4MFFNZ0FUWUNBQXNnQVNBQ2FpRUdRZXpVQXlFRUFrQUNRQU5BSUFZZ0JDZ0NBRVlOQVNBRUtBSUlJZ1FOQUFzTUFRc2dCQ2dDREVFSWNVVUVRQ0FFSUFFMkFnQWdCQ0FDSUFRb0FnUnFOZ0lFSUFBZ0FVRUFJQUZCQ0dvaUFtdEJCM0ZCQUNBQ1FRZHhHMm9pQjJvaEJTQUdRUUFnQmtFSWFpSUJhMEVIY1VFQUlBRkJCM0ViYWlJQ0lBZHJJQUJySVFRZ0J5QUFRUU55TmdJRUlBSWdBMFlFUUVHNDBRTWdCRUc0MFFNb0FnQnFJZ0EyQWdCQnhORURJQVUyQWdBZ0JTQUFRUUZ5TmdJRUJRSkFJQUpCd05FREtBSUFSZ1JBUWJUUkF5QUVRYlRSQXlnQ0FHb2lBRFlDQUVIQTBRTWdCVFlDQUNBRklBQkJBWEkyQWdRZ0FDQUZhaUFBTmdJQURBRUxJQUlvQWdRaUNVRURjVUVCUmdSQUlBbEJBM1loQXlBSlFZQUNTUVJBSUFJb0FnZ2lBQ0FDS0FJTUlnRkdCRUJCck5FRFFhelJBeWdDQUVFQklBTjBRWDl6Y1RZQ0FBVWdBQ0FCTmdJTUlBRWdBRFlDQ0FzRkFrQWdBaWdDR0NFSUlBSWdBaWdDRENJQVJnUkFBa0FnQWtFUWFpSUJRUVJxSWdNb0FnQWlBQVJBSUFNaEFRVWdBaWdDRUNJQVJRUkFRUUFoQUF3Q0N3c0RRQUpBSUFCQkZHb2lCaWdDQUNJRFJRUkFJQUJCRUdvaUJpZ0NBQ0lEUlEwQkN5QUdJUUVnQXlFQURBRUxDeUFCUVFBMkFnQUxCU0FDS0FJSUlnRWdBRFlDRENBQUlBRTJBZ2dMSUFoRkRRQWdBaUFDS0FJY0lnRkJBblJCM05NRGFpSURLQUlBUmdSQUFrQWdBeUFBTmdJQUlBQU5BRUd3MFFOQnNORURLQUlBUVFFZ0FYUkJmM054TmdJQURBSUxCU0FJUVJCcUlBaEJGR29nQWlBSUtBSVFSaHNnQURZQ0FDQUFSUTBCQ3lBQUlBZzJBaGdnQWlnQ0VDSUJCRUFnQUNBQk5nSVFJQUVnQURZQ0dBc2dBaWdDRkNJQlJRMEFJQUFnQVRZQ0ZDQUJJQUEyQWhnTEN5QUNJQWxCZUhFaUFHb2hBaUFBSUFScUlRUUxJQUlnQWlnQ0JFRitjVFlDQkNBRklBUkJBWEkyQWdRZ0JDQUZhaUFFTmdJQUlBUkJBM1loQVNBRVFZQUNTUVJBSUFGQkEzUkIxTkVEYWlFQVFhelJBeWdDQUNJQ1FRRWdBWFFpQVhFRWZ5QUFRUWhxSWdJb0FnQUZRYXpSQXlBQklBSnlOZ0lBSUFCQkNHb2hBaUFBQ3lFQklBSWdCVFlDQUNBQklBVTJBZ3dnQlNBQk5nSUlJQVVnQURZQ0RBd0JDeUFFUVFoMklnQUVmeUFFUWYvLy93ZExCSDlCSHdVZ0FDQUFRWUQrUDJwQkVIWkJDSEVpQVhRaUFrR0E0QjlxUVJCMlFRUnhJUUJCRGlBQ0lBQjBJZ0pCZ0lBUGFrRVFka0VDY1NJRElBQWdBWEp5YXlBQ0lBTjBRUTkyYWlJQVFRRjBJQVFnQUVFSGFuWkJBWEZ5Q3dWQkFBc2lBVUVDZEVIYzB3TnFJUUFnQlNBQk5nSWNJQVZCQURZQ0ZDQUZRUUEyQWhCQnNORURLQUlBSWdKQkFTQUJkQ0lEY1VVRVFFR3cwUU1nQWlBRGNqWUNBQ0FBSUFVMkFnQWdCU0FBTmdJWUlBVWdCVFlDRENBRklBVTJBZ2dNQVFzZ0JDQUFLQUlBSWdBb0FnUkJlSEZHQkVBZ0FDRUJCUUpBSUFSQkFFRVpJQUZCQVhacklBRkJIMFliZENFQ0EwQWdBRUVRYWlBQ1FSOTJRUUowYWlJREtBSUFJZ0VFUUNBQ1FRRjBJUUlnQkNBQktBSUVRWGh4UmcwQ0lBRWhBQXdCQ3dzZ0F5QUZOZ0lBSUFVZ0FEWUNHQ0FGSUFVMkFnd2dCU0FGTmdJSURBSUxDeUFCS0FJSUlnQWdCVFlDRENBQklBVTJBZ2dnQlNBQU5nSUlJQVVnQVRZQ0RDQUZRUUEyQWhnTEN5QUtKQVlnQjBFSWFnOExDMEhzMUFNaEJBTkFBa0FnQkNnQ0FDSUdJQU5OQkVBZ0JpQUVLQUlFYWlJR0lBTkxEUUVMSUFRb0FnZ2hCQXdCQ3d0QnhORURJQUZCQUNBQlFRaHFJZ1JyUVFkeFFRQWdCRUVIY1JzaUJHb2lCVFlDQUVHNDBRTWdBa0ZZYWlJSUlBUnJJZ1EyQWdBZ0JTQUVRUUZ5TmdJRUlBRWdDR3BCS0RZQ0JFSEkwUU5CbE5VREtBSUFOZ0lBSUFOQkFDQUdRVkZxSWdSQkNHb2lCV3RCQjNGQkFDQUZRUWR4R3lBRWFpSUVJQVFnQTBFUWFra2JJZ1JCR3pZQ0JDQUVRZXpVQXlrQ0FEY0NDQ0FFUWZUVUF5a0NBRGNDRUVIczFBTWdBVFlDQUVIdzFBTWdBallDQUVINDFBTkJBRFlDQUVIMDFBTWdCRUVJYWpZQ0FDQUVRUmhxSVFFRFFDQUJRUVJxSWdKQkJ6WUNBQ0FCUVFocUlBWkpCRUFnQWlFQkRBRUxDeUFESUFSSEJFQWdCQ0FFS0FJRVFYNXhOZ0lFSUFNZ0JDQURheUlHUVFGeU5nSUVJQVFnQmpZQ0FDQUdRUU4ySVFJZ0JrR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUJFRUJJQUowSWdKeEJIOGdBVUVJYWlJRUtBSUFCVUdzMFFNZ0FpQUVjallDQUNBQlFRaHFJUVFnQVFzaEFpQUVJQU0yQWdBZ0FpQUROZ0lNSUFNZ0FqWUNDQ0FESUFFMkFnd01BZ3NnQmtFSWRpSUJCSDhnQmtILy8vOEhTd1IvUVI4RklBRWdBVUdBL2o5cVFSQjJRUWh4SWdKMElnUkJnT0FmYWtFUWRrRUVjU0VCUVE0Z0JDQUJkQ0lFUVlDQUQycEJFSFpCQW5FaUJTQUJJQUp5Y21zZ0JDQUZkRUVQZG1vaUFVRUJkQ0FHSUFGQkIycDJRUUZ4Y2dzRlFRQUxJZ0pCQW5SQjNOTURhaUVCSUFNZ0FqWUNIQ0FEUVFBMkFoUWdBMEVBTmdJUVFiRFJBeWdDQUNJRVFRRWdBblFpQlhGRkJFQkJzTkVESUFRZ0JYSTJBZ0FnQVNBRE5nSUFJQU1nQVRZQ0dDQURJQU0yQWd3Z0F5QUROZ0lJREFJTElBWWdBU2dDQUNJQktBSUVRWGh4UmdSQUlBRWhBZ1VDUUNBR1FRQkJHU0FDUVFGMmF5QUNRUjlHRzNRaEJBTkFJQUZCRUdvZ0JFRWZka0VDZEdvaUJTZ0NBQ0lDQkVBZ0JFRUJkQ0VFSUFZZ0FpZ0NCRUY0Y1VZTkFpQUNJUUVNQVFzTElBVWdBellDQUNBRElBRTJBaGdnQXlBRE5nSU1JQU1nQXpZQ0NBd0RDd3NnQWlnQ0NDSUJJQU0yQWd3Z0FpQUROZ0lJSUFNZ0FUWUNDQ0FESUFJMkFnd2dBMEVBTmdJWUN3c0ZRYnpSQXlnQ0FDSURSU0FCSUFOSmNnUkFRYnpSQXlBQk5nSUFDMEhzMUFNZ0FUWUNBRUh3MUFNZ0FqWUNBRUg0MUFOQkFEWUNBRUhRMFFOQmhOVURLQUlBTmdJQVFjelJBMEYvTmdJQVFlRFJBMEhVMFFNMkFnQkIzTkVEUWRUUkF6WUNBRUhvMFFOQjNORUROZ0lBUWVUUkEwSGMwUU0yQWdCQjhORURRZVRSQXpZQ0FFSHMwUU5CNU5FRE5nSUFRZmpSQTBIczBRTTJBZ0JCOU5FRFFlelJBellDQUVHQTBnTkI5TkVETmdJQVFmelJBMEgwMFFNMkFnQkJpTklEUWZ6UkF6WUNBRUdFMGdOQi9ORUROZ0lBUVpEU0EwR0UwZ00yQWdCQmpOSURRWVRTQXpZQ0FFR1kwZ05Cak5JRE5nSUFRWlRTQTBHTTBnTTJBZ0JCb05JRFFaVFNBellDQUVHYzBnTkJsTklETmdJQVFhalNBMEdjMGdNMkFnQkJwTklEUVp6U0F6WUNBRUd3MGdOQnBOSUROZ0lBUWF6U0EwR2swZ00yQWdCQnVOSURRYXpTQXpZQ0FFRzAwZ05Cck5JRE5nSUFRY0RTQTBHMDBnTTJBZ0JCdk5JRFFiVFNBellDQUVISTBnTkJ2TklETmdJQVFjVFNBMEc4MGdNMkFnQkIwTklEUWNUU0F6WUNBRUhNMGdOQnhOSUROZ0lBUWRqU0EwSE0wZ00yQWdCQjFOSURRY3pTQXpZQ0FFSGcwZ05CMU5JRE5nSUFRZHpTQTBIVTBnTTJBZ0JCNk5JRFFkelNBellDQUVIazBnTkIzTklETmdJQVFmRFNBMEhrMGdNMkFnQkI3TklEUWVUU0F6WUNBRUg0MGdOQjdOSUROZ0lBUWZUU0EwSHMwZ00yQWdCQmdOTURRZlRTQXpZQ0FFSDgwZ05COU5JRE5nSUFRWWpUQTBIODBnTTJBZ0JCaE5NRFFmelNBellDQUVHUTB3TkJoTk1ETmdJQVFZelRBMEdFMHdNMkFnQkJtTk1EUVl6VEF6WUNBRUdVMHdOQmpOTUROZ0lBUWFEVEEwR1Uwd00yQWdCQm5OTURRWlRUQXpZQ0FFR28wd05Cbk5NRE5nSUFRYVRUQTBHYzB3TTJBZ0JCc05NRFFhVFRBellDQUVHczB3TkJwTk1ETmdJQVFialRBMEdzMHdNMkFnQkJ0Tk1EUWF6VEF6WUNBRUhBMHdOQnROTUROZ0lBUWJ6VEEwRzAwd00yQWdCQnlOTURRYnpUQXpZQ0FFSEUwd05Cdk5NRE5nSUFRZERUQTBIRTB3TTJBZ0JCek5NRFFjVFRBellDQUVIWTB3TkJ6Tk1ETmdJQVFkVFRBMEhNMHdNMkFnQkJ4TkVESUFGQkFDQUJRUWhxSWdOclFRZHhRUUFnQTBFSGNSc2lBMm9pQkRZQ0FFRzQwUU1nQWtGWWFpSUNJQU5ySWdNMkFnQWdCQ0FEUVFGeU5nSUVJQUVnQW1wQktEWUNCRUhJMFFOQmxOVURLQUlBTmdJQUMwRzQwUU1vQWdBaUFTQUFTd1JBREFJTEMwR2t4UU5CTURZQ0FBd0NDMEc0MFFNZ0FTQUFheUlDTmdJQVFjVFJBeUFBUWNUUkF5Z0NBQ0lCYWlJRE5nSUFJQU1nQWtFQmNqWUNCQ0FCSUFCQkEzSTJBZ1FMSUFva0JpQUJRUWhxRHdzZ0NpUUdRUUFMbUFJQkJIOGdBQ0FDYWlFRUlBRkIvd0Z4SVFNZ0FrSERBRTRFUUFOQUlBQkJBM0VFUUNBQUlBTTZBQUFnQUVFQmFpRUFEQUVMQ3lBRFFRaDBJQU55SUFOQkVIUnlJQU5CR0hSeUlRRWdCRUY4Y1NJRlFVQnFJUVlEUUNBQUlBWk1CRUFnQUNBQk5nSUFJQUFnQVRZQ0JDQUFJQUUyQWdnZ0FDQUJOZ0lNSUFBZ0FUWUNFQ0FBSUFFMkFoUWdBQ0FCTmdJWUlBQWdBVFlDSENBQUlBRTJBaUFnQUNBQk5nSWtJQUFnQVRZQ0tDQUFJQUUyQWl3Z0FDQUJOZ0l3SUFBZ0FUWUNOQ0FBSUFFMkFqZ2dBQ0FCTmdJOElBQkJRR3NoQUF3QkN3c0RRQ0FBSUFWSUJFQWdBQ0FCTmdJQUlBQkJCR29oQUF3QkN3c0xBMEFnQUNBRVNBUkFJQUFnQXpvQUFDQUFRUUZxSVFBTUFRc0xJQVFnQW1zTEJnQkJFUkFDQ3hvQUlBQXNBQXRCQUVnRVFDQUFLQUlJR2lBQUtBSUFFRGdMQ3c4QUlBRUVmeUFBSUFGdUJVRUFDd3NTQUNBQUJFQWdBQ2dDQUJBNElBQVFPQXNMZndFRWZ5TUdJUUlqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lFQkg4Z0FDZ0NCQVVnQTBIL0FYRUxJZ01nQVVrRVFDQUFJQUVnQTJzUTVBa0ZJQVFFUUFKL0lBRWdBQ2dDQUdvaEJTQUNRUUE2QUFBZ0JRc2dBaEJmSUFBZ0FUWUNCQVVnQWtFQU9nQUFJQUFnQVdvZ0FoQmZJQUFnQVRvQUN3c0xJQUlrQmdzUUFDQUFRZkQ0QUNBQktBSUF0eEFYQzhZREFRTi9JQUpCZ01BQVRnUkFJQUFnQVNBQ0VDVWFJQUFQQ3lBQUlRUWdBQ0FDYWlFRElBQkJBM0VnQVVFRGNVWUVRQU5BSUFCQkEzRUVRQ0FDUlFSQUlBUVBDeUFBSUFFc0FBQTZBQUFnQUVFQmFpRUFJQUZCQVdvaEFTQUNRUUZySVFJTUFRc0xJQU5CZkhFaUFrRkFhaUVGQTBBZ0FDQUZUQVJBSUFBZ0FTZ0NBRFlDQUNBQUlBRW9BZ1EyQWdRZ0FDQUJLQUlJTmdJSUlBQWdBU2dDRERZQ0RDQUFJQUVvQWhBMkFoQWdBQ0FCS0FJVU5nSVVJQUFnQVNnQ0dEWUNHQ0FBSUFFb0FodzJBaHdnQUNBQktBSWdOZ0lnSUFBZ0FTZ0NKRFlDSkNBQUlBRW9BaWcyQWlnZ0FDQUJLQUlzTmdJc0lBQWdBU2dDTURZQ01DQUFJQUVvQWpRMkFqUWdBQ0FCS0FJNE5nSTRJQUFnQVNnQ1BEWUNQQ0FBUVVCcklRQWdBVUZBYXlFQkRBRUxDd05BSUFBZ0FrZ0VRQ0FBSUFFb0FnQTJBZ0FnQUVFRWFpRUFJQUZCQkdvaEFRd0JDd3NGSUFOQkJHc2hBZ05BSUFBZ0FrZ0VRQ0FBSUFFc0FBQTZBQUFnQUNBQkxBQUJPZ0FCSUFBZ0FTd0FBam9BQWlBQUlBRXNBQU02QUFNZ0FFRUVhaUVBSUFGQkJHb2hBUXdCQ3dzTEEwQWdBQ0FEU0FSQUlBQWdBU3dBQURvQUFDQUFRUUZxSVFBZ0FVRUJhaUVCREFFTEN5QUVDeDBBSUFBb0FoZ2dBQ2dDQkNBQUtBSUlJQUFvQWd3Z0FTQUNFTjRJQ3c4QUlBRUVmeUFBSUFGd0JVRUFDd3NQQUNBQkJIOGdBQ0FCYndWQkFBc0xvUUVCQTM4akJpRUNJd1pCRUdva0JpQUFLQUlJSUFGTEJFQWdBQ2dDR0NBQklBQW9BZ3hzYWlFRUlBSWtCaUFFRHdVZ0FrSEF5QU5CN2NRQkVEZEJrc1VCRURkQjc2SUNFRGRCL0FBUVBrSDJvZ0lRTjBHQnhnRVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dBa0dBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBaEE4SUFNZ0FCQkFJQU1RUHhBQUMwRUFDeFVBSUFCQkFTQUFHeEJFSWdBRWZ5QUFCVUVBQ3d1cUJBSUpmd0o5SXdZaEJTTUdRU0JxSkFZZ0JVRUVhaUVFSUFVZ0FEWUNBQ0FBS0FJQUlRTUNRQUpBUWFERUF5Z0NBQ0lCUlNJSkJFQkJBQ0VBREFFRklBRWdBVUYvYWlJSWNVVWlCd1IvSUFNZ0NIRUZJQU1nQVVrRWZ5QURCU0FESUFFUVRnc0xJZ0JCQW5SQm5NUURLQUlBYWlnQ0FDSUNCRUFEUUNBQ0tBSUFJZ0pGRFFNZ0F5QUNLQUlFSWdaSEJFQWdCd1IvSUFZZ0NIRUZJQVlnQVU4RWZ5QUdJQUVRVGdVZ0Jnc0xJQUJIRFFRTElBTWdBaWdDQ0VjTkFBc0ZEQUlMQ3d3QkN5QUVJQU1nQlJEb0JrR3N4QU1xQWdBaUNpQUJzNVJCcU1RREtBSUFRUUZxc3lJTFhTQUpjZ1JBQW44Z0N5QUtsWTBRa2dFaUFpQUJRWDlxSUFGeFFRQkhJQUZCQTBseUlBRkJBWFJ5SWdBZ0FDQUNTUnNRNXdaQm9NUURLQUlBSWdKQmYyb2lBQ0FEY1NBQUlBSnhSUTBBR2lBRElBSkpCSDhnQXdVZ0F5QUNFRTRMQ3lFQUJTQUJJUUlMUVp6RUF5Z0NBQ0FBUVFKMGFpZ0NBQ0lCQkg4Z0JDZ0NBQ0FCS0FJQU5nSUFJQUVnQkNnQ0FEWUNBQ0FFQlNBRUtBSUFRYVRFQXlnQ0FEWUNBRUdreEFNZ0JDZ0NBRFlDQUVHY3hBTW9BZ0FnQUVFQ2RHcEJwTVFETmdJQUlBUW9BZ0FpQnlnQ0FDSUFCRUFnQUNnQ0JDRUFJQUlnQWtGL2FpSUJjUVIvSUFBZ0FrOEVmeUFBSUFJUVRnVWdBQXNGSUFBZ0FYRUxJUUJCbk1RREtBSUFJQUJCQW5ScUlBYzJBZ0FMSUFRTElnQW9BZ0FoQWtHb3hBTkJxTVFES0FJQVFRRnFOZ0lBSUFCQkFEWUNBQXNnQlNRR0lBSkJFR29MdWdFQkJuOGdBQ2dDQUNFQlFhREVBeWdDQUNJQ0JFQUNRQ0FDSUFKQmYyb2lCSEZGSWdVRWZ5QUJJQVJ4QlNBQklBSkpCSDhnQVFVZ0FTQUNFRTRMQ3lJR1FRSjBRWnpFQXlnQ0FHb29BZ0FpQUFSL0EwQWdBQ2dDQUNJQVJRUkFRUUFoQUF3REN5QUFLQUlFSWdNZ0FVWUVRQ0FCSUFBb0FnaEdEUU1GSUFVRWZ5QURJQVJ4QlNBRElBSlBCSDhnQXlBQ0VFNEZJQU1MQ3lBR1J3UkFRUUFoQUF3RUN3c01BQUFMQUFWQkFBc2hBQXNGUVFBaEFBc2dBQXZDQVFJRGZ3RitBa0FDUUNBQUtRTndJZ1JRUlFSQUlBQXBBM2dnQkZrTkFRc2dBQkQxQVNJQ1FRQklEUUFnQUNnQ0NDRUJBa0FDUUNBQUtRTndJZ1JRRFFBZ0JDQUFLUU40ZlNJRUlBRWdBQ2dDQkNJRGE2eFZEUUFnQUNBRElBU25RWDlxYWpZQ2FBd0JDeUFCSVFNZ0FDQUJOZ0pvQ3lBQ0lBRUVmeUFBSUFBcEEzZ2dBVUVCYWlBQUtBSUVJZ0Zyckh3M0EzZ2dBUVVnQUNnQ0JBdEJmMm9pQUMwQUFFY0VRQ0FBSUFJNkFBQUxEQUVMSUFCQkFEWUNhRUYvSVFJTElBSUxJd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBQW9BZ2dhSUFFUU9Bc0xEZ0FnQUNBQklBRVF0QUVRNGdrTERRQWdBQ0FCSUFFUVlCRG5DUXNJQUVFREVBSkJBQXRHQWdKL0FYMGpCaUVGSXdaQkVHb2tCZ0ovSUFBZ0F5QUVFS3dCSVFZZ0JVRUVhaUFGSUFFZ0FpQURFTXNDSUFZTElBVXFBZ1FnQlNvQ0FCQ3ZCeUVISUFVa0JpQUhDd2tBSUFBZ0FCRERBd3RHQUNBQUlBRXFBZ2dnQVNvQ0FDQUNLZ0lBbENBQktnSUVJQUlxQWdTVWtwSTRBZ0FnQUNBQktnSVVJQUVxQWd3Z0Fpb0NBSlFnQVNvQ0VDQUNLZ0lFbEpLU09BSUVDeTBBUWZDK0F5d0FBRVVFUUVId3ZnTVFjQVJBUVlqT0F4RDlCRFlDQUVId3ZnTVFid3NMUVlqT0F5Z0NBQXV6QlFFSWZ5QUFLQUxVQXlJRUtBSVFJZ0pCZ0lBQ1NBUkFJQVJCREdvaEJTQUVLQUlVSVFNRGZ5QUVJQU5CZjJvaUFqWUNGQ0FEUVFGSUJFQWdBQ2dDdUFNRVFFRUFJUU1GSUFBb0FoZ2lBaWdDQkVVRVFDQUNLQUlNSVFNZ0FDQURRZjhBY1VFSWFoRUFBRVVFUUNBQUtBSUFJZ05CR1RZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQ0lBSW9BZ1JCZjJvMkFnUWdBaUFDS0FJQUlnSkJBV28yQWdBZ0Fpd0FBQ0lEUWY4QmNTRUNJQU5CZjBZRVFBSi9BMEFDUUNBQUtBSVlJZ0lvQWdSRkJFQWdBaWdDRENFRElBQWdBMEgvQUhGQkNHb1JBQUJGQkVBZ0FDZ0NBQ0lEUVJrMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3dzZ0FpQUNLQUlFUVg5cU5nSUVJQUlnQWlnQ0FDSUNRUUZxTmdJQUFrQUNRQ0FDTEFBQUlnSkJmMnNPQWdFQUFndEIvd0VNQXdzTUFRc0xJQUFnQWtIL0FYRTJBcmdEUVFBTElRSUxJQUloQXlBRUtBSVVJUUlMSUFVZ0F5QUZLQUlBUVFoMGNqWUNBQ0FFSUFKQkNHb2lBellDRkNBQ1FYaElCRUFnQkNBQ1FRbHFJZ0kyQWhRZ0FrVUVRQ0FFUVlDQUFqWUNFRUVBSVFJTEJTQURJUUlMQ3lBRUlBUW9BaEJCQVhRaUF6WUNFQ0FEUVlDQUFrZ0VmeUFDSVFNTUFRVWdBd3NMSVFBRklBSWhBQ0FFUVF4cUlRVWdCQ2dDRkNFQ0N5QUJMUUFBSWdOQi93QnhRUUowUVpBbWFpZ0NBQ0lHUVFoMUlRZ2dCQ0FBSUFaQkVIVWlCMnNpQURZQ0VDQUZLQUlBSWdrZ0FDQUNkQ0lDVGdSQUlBVWdDU0FDYXpZQ0FDQUVJQWMyQWhBZ0EwR0FBWEVoQWlBQUlBZElCRUFnQVNBQ0lBaHpPZ0FBSUFOQkIzVVBCU0FCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VQQ3dBTElBQkJnSUFDVGdSQUlBTkJCM1VQQ3lBRFFZQUJjU0VDSUFBZ0IwZ0VmeUFCSUFJZ0JuTTZBQUFnQTBHQUFYTkJCM1VGSUFFZ0FpQUljem9BQUNBRFFRZDFDd3NHQUNBQUVEZ0xEQUFnQUNBQkxBQUFPZ0FBQzQwQkFRTi9Ba0FDUUNBQUlnSkJBM0ZGRFFBZ0FpSUJJUUFDUUFOQUlBRXNBQUJGRFFFZ0FVRUJhaUlCSWdCQkEzRU5BQXNnQVNFQURBRUxEQUVMQTBBZ0FFRUVhaUVCSUFBb0FnQWlBMEgvL2Z0M2FpQURRWUNCZ29SNGNVR0FnWUtFZUhOeFJRUkFJQUVoQUF3QkN3c2dBMEgvQVhFRVFBTkFJQUJCQVdvaUFDd0FBQTBBQ3dzTElBQWdBbXNMMkFFQkEzOGdBeWdDVEVGL1NnUi9RUUVGUVFBTEdpQUJJQUpzSVFVZ0F5QURMQUJLSWdRZ0JFSC9BV3B5T2dCS0lBSkJBQ0FCR3lFQ0FrQWdBeWdDQ0NBREtBSUVJZ1pySWdSQkFFb0VmeUFBSUFZZ0JDQUZJQVFnQlVrYklnUVFUQm9nQXlBRUlBTW9BZ1JxTmdJRUlBQWdCR29oQUNBRklBUnJCU0FGQ3lJRVJRMEFJQUFoQmlBRUlRQURRQUpBSUFNUXB3SU5BQ0FESUFZZ0FDQURLQUlnUVQ5eFFjb0JhaEVFQUNJRVFRRnFRUUpKRFFBZ0FDQUVheUlBUlEwQ0lBUWdCbW9oQmd3QkN3c2dCU0FBYXlBQkVFZ2hBZ3NnQWdzeEFRRi9RZWlKQVNnQ0FDRUJJQUFFUUVIb2lRRkJqTVVESUFBZ0FFRi9SaHMyQWdBTFFYOGdBU0FCUVl6RkEwWWJDd01BQVFzSUFFRUdFQUpCQUF1NEFRRUJmU0FDSUFFUXd3TWhBeUFBSUFBcUFnQWdBeUFCS2dJQWxKTTRBZ0FnQUNBQUtnSUVJQU1nQVNvQ0JKU1RPQUlFSUFBZ0FDb0NDQ0FESUFFcUFnaVVremdDQ0NBQUlBQXFBZ3dnQXlBQktnSU1sSk00QWd3Z0FDQUFLZ0lRSUFNZ0FTb0NFSlNUT0FJUUlBQWdBQ29DRkNBRElBRXFBaFNVa3pnQ0ZDQUFJQUFxQWhnZ0F5QUJLZ0lZbEpNNEFoZ2dBQ0FBS2dJY0lBTWdBU29DSEpTVE9BSWNJQUFnQUNvQ0lDQURJQUVxQWlDVWt6Z0NJQXNJQUVFTEVBSkJBQXZYQXdFR2Z5QUFLQUlBSVFRZ0FDZ0NCQ0VIQWtBQ1FDQUFLQUlRSWdVb0FyZ0RCRUFnQVNFSUlBSWhCaUFISVFJZ0JDRUJEQUVGSUFKQkdVZ0VRQUpBSUFFaENDQUNJUVlDUUFOQUFrQWdCMFVFUUNBRktBSVlLQUlNSVFFZ0JTQUJRZjhBY1VFSWFoRUFBRVVOQXlBRktBSVlJZ0VvQWdRaEJ5QUJLQUlBSVFRTElBZEJmMm9oQWlBRVFRRnFJUUVnQkN3QUFDSUhRZjhCY1NFRUlBZEJmMFlFUUFOQUFrQWdBZ1IvSUFFRklBVW9BaGdvQWd3aEFTQUZJQUZCL3dCeFFRaHFFUUFBUlEwR0lBVW9BaGdpQVNnQ0JDRUNJQUVvQWdBTElRUWdBa0YvYWlFQ0lBUkJBV29oQVFKQUFrQWdCQ3dBQUNJRVFYOXJEZ0lCQUFVTFFmOEJJUVFNQVFzTUFRc0xDeUFFSUFoQkNIUnlJUWdnQmtFSWFpRUpJQVpCRVVnRVFDQUNJUWNnQVNFRUlBa2hCZ3dDQlNBSklRWU1CQXNBQ3dzZ0JTQUVRZjhCY1RZQ3VBTU1CQXRCQUE4TEJTQUJJUWdnQWlFR0lBY2hBaUFFSVFFTEN3d0JDeUFHSUFOSUJFQWdCU2dDMUFNb0FpaEZCRUFnQlNnQ0FDSURRZmdBTmdJVUlBTW9BZ1FoQXlBRlFYOGdBMEUvY1VHeUJXb1JBd0FnQlNnQzFBTkJBVFlDS0FzZ0NFRVpJQVpyZENFSVFSa2hCZ3NMSUFBZ0FUWUNBQ0FBSUFJMkFnUWdBQ0FJTmdJSUlBQWdCallDREVFQkN3NEFJQUVnQUVGL2Ftb2dBUkE1Q3djQUlBQWdBSlFMblFFQkJIOGdBQ2dDVEVGL1NnUi9RUUVGUVFBTEdpQUFFSndGSUFBb0FnQkJBWEZCQUVjaUJFVUVRQkNyQWlFQklBQW9BalFpQWdSQUlBSWdBQ2dDT0RZQ09Bc2dBQ2dDT0NJREJFQWdBeUFDTmdJMEN5QUFJQUVvQWdCR0JFQWdBU0FETmdJQUMwR294UU1RRGdzZ0FCQ3BBaG9nQUNBQUtBSU1RZjhBY1VFSWFoRUFBQm9nQUNnQ1lDSUJCRUFnQVJBNEN5QUVSUVJBSUFBUU9Bc0xxUUVDQ0g4QmZDTUdJUU1qQmtFd2FpUUdJQUFRbndjQ2Z4RGpBeUVJSUFOQkdHb2lBUkM3QXlBQkxBQUxJUVVnQVNnQ0FDRUdJQUJCRUdvaUFpd0FDMEVBU0FSL0lBSW9BZ0FGSUFJTElRY2dBQkNlQjBRQUFBQUFBRUNQUUtJaENTQURJZ0JCOEtNQ05nSUFJQUFnQmlBQklBVkJBRWdiTmdJRUlBQkIrS01DTmdJSUlBQWdCellDRENBQUlBazVBeEFnQ0F0QjFhTUNJQUFRdHdNZ0FSQkhJQUlRUnlBQUpBWUxSQUFnQUNBQmN5SUFJQUJCQVhaQjFhclZxZ1Z4YXlJQVFiUG16SmtEY1NBQVFRSjJRYlBtekprRGNXb2lBRUVFZGlBQWFrR1Bucno0QUhGQmdZS0VDR3hCR0hZTGZnRURmeUFCUXdBQUFEK1NFRU1nQUNnQ0VHb2hCU0FDUXdBQUFEK1NFRU1nQUNnQ0ZHb2hCaUFGUVFCSUJIOUJmd1VnQmtFQVNDQUZJQUFvQWdnaUIwNXlCSDlCZndVZ0JpQUFLQUlNU0FSL0lBTWdBQ2dDQUNBR0lBZHNJQVZxUVFOMGFpSUFLQUlBTmdJQUlBUWdBQ2dDQkRZQ0FFRUFCVUYvQ3dzTEN3d0FJQUFnQVNnQ0FEWUNBQXNXQUNBQVFRQTJBZ0FnQUNBQUtBSUFRUUZ5TmdJQUN3MEFJQUFzQUFCQkFFZEJBWE1MRVFBZ0FDZ0NGQ0FBS0FJUWEwRVVFRGtMR0FBZ0FDZ0NBRUVnY1VVRVFDQUJJQUlnQUJDWEF4b0xDMEFBSUFBZ0FHSUVmMEdBZ0lDQWVBVWdBRVFBQUFBQUFBRGdRV1lFZjBHQWdJQ0FlQVVnQUVRQUFDQUFBQURnd1dVRWYwR0FnSUNBZUFVZ0FLb0xDd3NMQndBZ0FFRUVhZ3Q5QVFKL0l3WWhCU01HUVlBQ2FpUUdJQVJCZ01BRWNVVWdBaUFEU25FRVFDQUZJQUZCR0hSQkdIVWdBaUFEYXlJQlFZQUNJQUZCZ0FKSkd4QkZHaUFCUWY4QlN3UkFJQUlnQTJzaEJnTkFJQUFnQlVHQUFoQnlJQUZCZ0g1cUlnRkIvd0ZMRFFBTElBWkIvd0Z4SVFFTElBQWdCU0FCRUhJTElBVWtCZ3NHQUVFWkVBSUxPUUVDZnlNR0lRVWpCa0VRYWlRR0lBVWdCRFlDQUNBQ0VHSWhBaUFBSUFFZ0F5QUZFS2tCSVFZZ0FnUkFJQUlRWWhvTElBVWtCaUFHQzVZQ0FRUi9JQUFvQWdRaUJpQUFMQUFMSWdSQi93RnhJZ1VnQkVFQVNCc0VRQUpBSUFFZ0FrY0VRQ0FDSVFRZ0FTRUZBMEFnQlNBRVFYeHFJZ1JKQkVBZ0JTZ0NBQ0VHSUFVZ0JDZ0NBRFlDQUNBRUlBWTJBZ0FnQlVFRWFpRUZEQUVMQ3lBQUxBQUxJZ1JCL3dGeElRVWdBQ2dDQkNFR0N5QUNRWHhxSVFjZ0FDZ0NBQ0FBSUFSQkdIUkJHSFZCQUVnaUFoc2lBQ0FHSUFVZ0FodHFJUVVDUUFKQUEwQUNRQ0FBTEFBQUlnSkJBRW9nQWtIL0FFZHhJUVFnQVNBSFR3MEFJQVFFUUNBQktBSUFJQUpIRFFNTElBRkJCR29oQVNBQVFRRnFJQUFnQlNBQWEwRUJTaHNoQUF3QkN3c01BUXNnQTBFRU5nSUFEQUVMSUFRRVFDQUhLQUlBUVg5cUlBSlBCRUFnQTBFRU5nSUFDd3NMQ3d0Q0FRRi9JQUJFQUFBQUFBQUE4TDg1QXdBZ0FFUUFBQUFBQUFEd3Z6a0RDQ0FBUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFBUW9BY0xDQUJCQlJBQ1FRQUxyZ1VDQzM4Q2ZTTUdJUWNqQmtFZ2FpUUdJQWRCQ0dvaEJTQUJRWDlNQkVBZ0JVSEF5QU5COUkwQ0VEZEJzNG9DRURkQjc2SUNFRGRCb2dJUVBrSDJvZ0lRTjBHV2pnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRSWdCRUVLSUFKQlAzRkJpZ0ZxRVFJQUlRSWdCUkE4SUFNZ0FoQkFJQU1RUHhBQUN5QUZJQUUyQWdBZ0FFSGNBR29pQmlBRkVPZ0RJZ0lFUUNBQ0lBSW9BZ3hCQVdvMkFnd0ZJQWNnQVRZQ0FDQUhRUUUyQWdRQ1FBSkFJQUFvQW1BaUJFVWlDZ1JBUVFBaEFnd0JCU0FFSUFSQmYyb2lDWEZGSWdzRWZ5QUJJQWx4QlNBRUlBRkxCSDhnQVFVZ0FTQUVFRTRMQ3lJQ1FRSjBJQVlvQWdCcUtBSUFJZ01FUUFOQUlBTW9BZ0FpQTBVTkF5QURLQUlFSWdnZ0FVY0VRQ0FMQkg4Z0NDQUpjUVVnQ0NBRVR3Ui9JQWdnQkJCT0JTQUlDd3NnQWtjTkJBc2dBeWdDQ0NBQlJ3MEFDd1VNQWdzTERBRUxJQVVnQmlBQklBY1F2QWNnQ2lBQUtnSnNJZzBnQkxPVUlBQW9BbWhCQVdxeklnNWRjZ1IvQW44Z0JpQU9JQTJWalJDU0FTSURJQVFnQkVGL2FuRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFpQUNJQU5KR3hERkFpQUFLQUpnSWdOQmYyb2hBaUFCSUFKeElBSWdBM0ZGRFFBYUlBTWdBVTBFZnlBQklBTVFUZ1VnQVFzTEJTQUVJUU1nQWdzaEFTQUdLQUlBSUFGQkFuUnFLQUlBSWdJRWZ5QUZLQUlBSUFJb0FnQTJBZ0FnQWlBRktBSUFOZ0lBSUFVRklBVW9BZ0FnQUNnQ1pEWUNBQ0FBSUFVb0FnQTJBbVFnQmlnQ0FDQUJRUUowYWlBQVFlUUFhallDQUNBRktBSUFJZ1FvQWdBaUFRUkFJQUVvQWdRaEFTQURJQU5CZjJvaUFuRUVmeUFCSUFOUEJIOGdBU0FERUU0RklBRUxCU0FCSUFKeEN5RUJJQVlvQWdBZ0FVRUNkR29nQkRZQ0FBc2dCUXNoRENBQUlBQW9BbWhCQVdvMkFtZ2dERUVBTmdJQUN3c2dCeVFHQy9ZSUFRZC9Jd1loQmlNR1FSQnFKQVlnQVVGL1RBUkFJQVpCd01nRFFhbU9BaEEzUWJPS0FoQTNRZStpQWhBM1FhVUJFRDVCOXFJQ0VEZEJ5bzRDRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VGSUFoQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUhJQVVRUUNBSEVEOFFBQXNnQUNnQ05DSUtJQUZNQkVBZ0JrSEF5QU5CM0k0Q0VEZEJzNG9DRURkQjc2SUNFRGRCcGdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUNRWDlNQkVBZ0JrSEF5QU5CaEk4Q0VEZEJzNG9DRURkQjc2SUNFRGRCcHdFUVBrSDJvZ0lRTjBHbGp3SVFOeUlISUFjb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUlLQUlBS0FJY0lRVWdDRUVLSUFWQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFjZ0JSQkFJQWNRUHhBQUN5QUFLQUk0SWdzZ0Frd0VRQ0FHUWNESUEwRzNqd0lRTjBHemlnSVFOMEh2b2dJUU4wR29BUkErUWZhaUFoQTNRYVdQQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFOQmYwd0VRQ0FHUWNESUEwSGZqd0lRTjBHemlnSVFOMEh2b2dJUU4wR3BBUkErUWZhaUFoQTNRWVNRQWhBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdnb0FnQW9BaHdoQlNBSVFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCeUFGRUVBZ0J4QS9FQUFMSUFBb0Fqd2lCeUFEVEFSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFvQkVENUI5cUlDRURkQmhKQUNFRGNpQ1NnQ0FFRjBhaWdDQUNBSmFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dCRUYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWFzQkVENUI5cUlDRURkQjc1QUNFRGNpQ1NBSktBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lDQ2dDQUNnQ0hDRUZJQWhCQ2lBRlFUOXhRWW9CYWhFQ0FDRUZJQVlRUENBSklBVVFRQ0FKRUQ4UUFBc2dBRUZBYXlnQ0FDQUVUQVJBSUFaQndNZ0RRWVdSQWhBM1FiT0tBaEEzUWUraUFoQTNRYXdCRUQ1QjlxSUNFRGRCNzVBQ0VEY2lDU0FKS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFRklBaEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FKSUFVUVFDQUpFRDhRQUFzZ0FTQUNJQXBzYWlJQklBTWdBQ2dDVkd4cUlBUWdBQ2dDV0d4cUlnQWdBU0FESUFRZ0IyeHFJQW9nQzJ4c2Frb0VRQ0FHUWNESUEwRzFrUUlRTjBHemlnSVFOMEh2b2dJUU4wR3dBUkErUWZhaUFoQTNRWmFPQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBR0VEd2dBaUFBRUVBZ0FoQS9FQUFGSUFZa0JpQUFEd3RCQUF0RkFRSi9BMEFDUUNBRElBSk9EUUFnQTBFRGRDQUJhaWdDQUNJRVJRMEFJQUFnQkVZRVFDQURRUU4wUVFScUlBRnFLQUlBRHdVZ0EwRUJhaUVEREFJTEFBc0xRUUFMY2dFRGZ5TUdJUU1qQmtFUWFpUUdJQUpCYjBzRVFCQUFDeUFDUVF0SkJFQWdBQ0FDT2dBTEJTQUFJQUpCRUdwQmNIRWlCQkJSSWdVMkFnQWdBQ0FFUVlDQWdJQjRjallDQ0NBQUlBSTJBZ1FnQlNFQUN5QUFJQUVnQWhDb0FTQURRUUE2QUFBZ0FDQUNhaUFERUY4Z0F5UUdDd1FBUVFBTERRQWdBQ0FEbENBQklBS1Vrd3NiQUNBQ0JIOGdBQ2dDQkNBQktBSUVFTE1CUlFVZ0FDQUJSZ3NMUlFJQ2Z3RitJQUFnQVRjRGNDQUFJQUFvQWdnaUFpQUFLQUlFSWdOcnJDSUVOd040SUFGQ0FGSWdCQ0FCVlhFRVFDQUFJQU1nQWFkcU5nSm9CU0FBSUFJMkFtZ0xDeWNCQW44akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FDQUJJQU1RbFFNaEJDQURKQVlnQkFzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRSkJ6SWNCUVpqUEFrRWVJQUVRQ1NBREN5UUdDekVCQW4wZ0FTb0NBQ0FBS2dJQUlnT1RJQUlxQWdRZ0FDb0NCQ0lFazVRZ0FTb0NCQ0FFa3lBQ0tnSUFJQU9UbEpNTEJ3QWdBRUVJYWdzOEFRSi9JQUFvQWdRZ0FDZ0NBQ0lEYTBFQ2RTSUNJQUZKQkVBZ0FDQUJJQUpyRVA4SUJTQUNJQUZMQkVBZ0FDQUJRUUowSUFOcU5nSUVDd3NMRXdBZ0FFR2dpd0UyQWdBZ0FFRUVhaERvQ1F1QkFRQUNRQUpBSUFJb0FnUkJzQUZ4UVJoMFFSaDFRUkJySWdJRVFDQUNRUkJHQkVBTUFnVU1Bd3NBQ3dKQUFrQWdBQ3dBQUNJQ1FTdHJEZ01BQVFBQkN5QUFRUUZxSVFBTUFnc2dBa0V3UmlBQklBQnJRUUZLY1VVTkFTQUFMQUFCUWRnQWF5SUJRUUFnQVVFZ1J4c05BU0FBUVFKcUlRQU1BUXNnQVNFQUN5QUFDd29BSUFCQlVHcEJDa2tMUVFFQ2YwRU1FRVFpQWdSQUlBSWdBU0FBUVFOMGJCQkVJZ00yQWdBZ0F3UkFJQUlnQURZQ0JDQUNJQUUyQWdnRklBSVFPRUVBSVFJTEJVRUFJUUlMSUFJTDNBRUJBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dnQUNnQ0RDRUNJQUFnQVNnQ0REWUNEQ0FCSUFJMkFnd2dBQ2dDRUNFQ0lBQWdBU2dDRURZQ0VDQUJJQUkyQWhBZ0FDZ0NGQ0VDSUFBZ0FTZ0NGRFlDRkNBQklBSTJBaFFnQUNnQ0dDRUNJQUFnQVNnQ0dEWUNHQ0FCSUFJMkFoZ2dBQ2dDSENFQ0lBQWdBU2dDSERZQ0hDQUJJQUkyQWh3Z0FDZ0NJQ0VDSUFBZ0FTZ0NJRFlDSUNBQklBSTJBaUFMRlFBZ0FBUi9JQUFnQVRrRGdBRkJBQVZCZndzYUM3Z0NBZ1YvQW53akJpRUhJd1pCSUdva0JpQUhRUWhxSVFZZ0IwRVVhaUlJSUFSQkJIUVFSQ0lLTmdJQUlBcEZCRUJCQUVFRFFibllBaUFHRUQxQkFSQUJDeUFIUVJCcUlRWWdDQ0FFUVJoc0VFUWlDVFlDQkNBSlJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRdEJBQ0VHQTBBZ0JpQUVTQVJBSUFaQkJIUWdDbW9nQmtFRWRDQUNhaXNEQURrREFDQUdRUVIwSUFwcUlBWkJCSFFnQW1vckF3ZzVBd2dnQmtFWWJDQUphaUFHUVJoc0lBTnFLd01BT1FNQUlBWkJHR3dnQ1dvZ0JrRVliQ0FEYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBeEE1QXhBZ0JrRUJhaUVHREFFTEN5QUlJQVEyQWdnZ0FDZ0NBQ0FJSUFFZ0JTQUhFSjBFUVFCSUJFQWdCMFFBQUFBQWhOZVhRVGtEQUFzZ0NDZ0NBQkE0SUFnb0FnUVFPQ0FIS3dNQUlRd2dCeVFHSUF3TE5RQWdBRUlBTndJQUlBQkJBRFlDQ0VFQUlRRURRQ0FCUVFOSEJFQWdBVUVDZENBQWFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzTFVRRUJmQ0FBSUFDaUlnQWdBS0loQVVRQUFBQUFBQUR3UHlBQVJJRmVEUDMvLzk4L29xRWdBVVJDT2dYaFUxV2xQNktnSUFBZ0FhSWdBRVJwVU83Z1FwUDVQcUpFSng0UDZJZkFWcitnb3FDMkMwc0JBbndnQUNBQW9pSUJJQUNpSWdJZ0FTQUJvcUlnQVVTblJqdU1oODNHUHFKRWRPZks0dmtBS3IrZ29pQUNJQUZFc3Z0dWlSQVJnVCtpUkhlc3kxUlZWY1cvb0tJZ0FLQ2d0Z3NzQUNBQUlBQmNCSDlCQUFVZ0FFTUFBSUJQWUFSL1FRQUZJQUJEQUFDQXYxOEVmMEVBQlNBQXFRc0xDd3MwQVFGL0lBRWdBbXdoQkNBQ1FRQWdBUnNoQWlBREtBSk1HaUFFSUFBZ0JDQURFSmNESWdCSEJIOGdBQ0FCRUVnRklBSUxDM2NBSUFBZ0FTb0NBQ0FDbERnQ0FDQUFJQUVxQWdRZ0FwUTRBZ1FnQUNBQktnSUlJQUtVT0FJSUlBQWdBU29DRENBQ2xEZ0NEQ0FBSUFFcUFoQWdBcFE0QWhBZ0FDQUJLZ0lVSUFLVU9BSVVJQUFnQVNvQ0dDQUNsRGdDR0NBQUlBRXFBaHdnQXBRNEFod2dBQ0FCS2dJZ0lBS1VPQUlnQzBFQkFYOGdBQ2dDQkNJQUJFQWdBQ0FBS0FJRUlnRkJmMm8yQWdRZ0FVVUVRQ0FBS0FJQUtBSUlJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQkRxQ1FzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd0VnQUNnQ0JDQUFLQUlBYTBFRGRVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVDZFNJR0lBWWdBMGtiUWYvLy8vOEJJQVZCQTNWQi8vLy8vd0JKR3lBQUtBSUVJQVJyUVFOMUlBQkJDR29RaUFJZ0FpZ0NDQ0FCS1FJQU53SUFJQUlnQWlnQ0NFRUlhallDQ0NBQUlBSVF6UUlnQWhETUFpQUNKQVlMQzZRQ0FRVi9Jd1loQnlNR1FSQnFKQVlnQUNnQ0FDSUdCRUFDUUNBRUtBSU1JUWdnQWlBQmF5SUpRUUJLQkVBZ0JpZ0NBQ2dDTUNFS0lBWWdBU0FKSUFwQlAzRkJ5Z0ZxRVFRQUlBbEhCRUFnQUVFQU5nSUFRUUFoQmd3Q0N3c2dDQ0FESUFGcklnRnJRUUFnQ0NBQlNoc2lBVUVBU2dSQUlBZENBRGNDQUNBSFFRQTJBZ2dnQnlBQklBVVFsZ1FnQmlnQ0FDZ0NNQ0VGSUFZZ0J5Z0NBQ0FISUFjc0FBdEJBRWdiSUFFZ0JVRS9jVUhLQVdvUkJBQWdBVVlFUUNBSEVFY0ZJQUJCQURZQ0FDQUhFRWRCQUNFR0RBSUxDeUFESUFKcklnRkJBRW9FUUNBR0tBSUFLQUl3SVFNZ0JpQUNJQUVnQTBFL2NVSEtBV29SQkFBZ0FVY0VRQ0FBUVFBMkFnQkJBQ0VHREFJTEN5QUVRUUEyQWd3TEJVRUFJUVlMSUFja0JpQUdDd2dBUVFrUUFrRUFDN1VIQVFoL0lBQW9BZ0FpQndSL0lBY29BZ3dpQmlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFZQ1FBSkFBa0FnQVNnQ0FDSUhCRUFnQnlnQ0RDSUZJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQlNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBQlNBR0JFQU1CQVVNQXdzQUN3c2dCa1VFUUVFQUlRY01BZ3NMSUFJZ0FpZ0NBRUVHY2pZQ0FFRUFJUWNNQVFzZ0EwR0FFQ0FBS0FJQUlnWW9BZ3dpQlNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVW9BZ0FMSWdZZ0F5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkJFQWdBaUFDS0FJQVFRUnlOZ0lBUVFBaEJ3d0JDeUFESUFaQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVFYWpZQ0RDQUZLQUlBR2dzZ0MwRVlkRUVZZFNFRklBUWhCaUFISWdRaENBTkFBa0FnQlVGUWFpRUhJQUFvQWdBaUJRUi9JQVVvQWd3aUNTQUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTEFuOGdDQVIvSUFnb0Fnd2lCU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFVb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQUlRUkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hEQ0FBS0FJQUlRVWdEQXR6SUFaQkFVcHhSUTBBSUFOQmdCQWdCU2dDRENJSklBVW9BaEJHQkg4Z0JTQUZLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUFzaUJTQURLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5BaUFESUFWQkFDQURLQUlBS0FJMFFUOXhRY29CYWhFRUFDRUtJQUFvQWdBaUJTZ0NEQ0lKSUFVb0FoQkdCRUFnQlNBRktBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBVWdDVUVFYWpZQ0RDQUpLQUlBR2dzZ0IwRUtiQ0FLUVJoMFFSaDFhaUVGSUFaQmYyb2hCZ3dCQ3dzZ0JRUi9JQVVvQWd3aUF5QUZLQUlRUmdSL0lBVWdCU2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFBTkF3c01BUXNnQUVVTkFRc2dBaUFDS0FJQVFRSnlOZ0lBQ3lBSEMrd0hBUWgvSUFBb0FnQWlCUVIvSUFVb0Fnd2lDQ0FGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZJQUFvQWdCRkN3VkJBUXNoQlFKQUFrQUNRQ0FCS0FJQUlna0VRQ0FKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUFVZ0JRUkFEQVFGREFNTEFBc0xJQVZGQkVCQkFDRUpEQUlMQ3lBQ0lBSW9BZ0JCQm5JMkFnQkJBQ0VFREFFTElBQW9BZ0FpQlNnQ0RDSUlJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0N3QUFCQkNDeUlGUWY4QmNTSUlRUmgwUVJoMVFYOUtCRUFnQXlnQ0NDQUZRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRUVRQ0FESUFoQkFDQURLQUlBS0FJa1FUOXhRY29CYWhFRUFDRUxJQUFvQWdBaUJpZ0NEQ0lGSUFZb0FoQkdCRUFnQmlBR0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBWWdCVUVCYWpZQ0RDQUZMQUFBRUVJYUN5QUxRUmgwUVJoMUlRWWdCQ0VJSUFraEJRTkFBa0FnQmtGUWFpRUVJQUFvQWdBaUNnUi9JQW9vQWd3aUJpQUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVlzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDaUFGQkg4Z0JTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VKUVFBaEJVRUJCVUVBQ3dWQkFDRUZRUUVMSVF3Z0FDZ0NBQ0VISUF3Z0NuTWdDRUVCU25GRkRRQWdCeWdDRENJR0lBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaXdBQUJCQ0N5SUtRZjhCY1NJR1FSaDBRUmgxUVg5TURRUWdBeWdDQ0NBS1FSaDBRUmgxUVFGMGFpNEJBRUdBRUhGRkRRUWdBeUFHUVFBZ0F5Z0NBQ2dDSkVFL2NVSEtBV29SQkFBaEJpQUFLQUlBSWdjb0Fnd2lDaUFIS0FJUVJnUkFJQWNnQnlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUtiQ0FHUVJoMFFSaDFhaUVHSUFoQmYyb2hDQXdCQ3dzZ0J3Ui9JQWNvQWd3aUF5QUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0NVVU5BQ0FKS0FJTUlnQWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FBTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUREUVVMREFFTElBTkZEUU1MSUFJZ0FpZ0NBRUVDY2pZQ0FBd0NDd3NnQWlBQ0tBSUFRUVJ5TmdJQVFRQWhCQXNnQkFzM0FRSi9Jd1loQkNNR1FSQnFKQVlnQkNBRE5nSUFJQUVRWWlFQklBQWdBaUFFRVBRRUlRVWdBUVJBSUFFUVlob0xJQVFrQmlBRkMyd0FBbjhDUUFKQUFrQUNRQ0FBS0FJRVFjb0FjUTVCQWdNREF3TURBd01CQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdBREMwRUlEQU1MUVJBTUFndEJBQXdCQzBFS0N3dnpBd0VHZndKQUFrQWdBYndpQlVILy8vLy9CM0VpQmtHQWdJRDhCMHNOQUNBQXZDSUNRZi8vLy84SGNTSURRWUNBZ1B3SFN3MEFBa0FnQlVHQWdJRDhBMFlFUUNBQUVQUUNJUUFNQVFzZ0FrRWZkaUlISUFWQkhuWkJBbkZ5SVFJZ0EwVUVRQUpBQWtBQ1FDQUNRUU54RGdRRUJBQUJBZ3REMnc5SlFDRUFEQU1MUTlzUFNjQWhBQXdDQ3dzQ1FDQUZRZi8vLy84SGNTSUVRWUNBZ1B3SFNBUkFJQVFOQVVQYkQ4bS9ROXNQeVQ4Z0J4c2hBQXdDQlNBRVFZQ0FnUHdIYXcwQklBSkIvd0Z4SVFRZ0EwR0FnSUQ4QjBZRVFBSkFBa0FDUUFKQUFrQWdCRUVEY1E0RUFBRUNBd1FMUTlzUFNUOGhBQXdIQzBQYkQwbS9JUUFNQmd0RDVNc1dRQ0VBREFVTFErVExGc0FoQUF3RUN3VUNRQUpBQWtBQ1FBSkFJQVJCQTNFT0JBQUJBZ01FQzBNQUFBQUFJUUFNQnd0REFBQUFnQ0VBREFZTFE5c1BTVUFoQUF3RkMwUGJEMG5BSVFBTUJBc0xDd3NnQTBHQWdJRDhCMFlnQmtHQWdJRG9BR29nQTBseUJFQkQydy9KdjBQYkQ4ay9JQWNiSVFBTUFRc2dCVUVBU0NBRFFZQ0FnT2dBYWlBR1NYRUVmVU1BQUFBQUJTQUFJQUdWaXhEMEFnc2hBQUpBQWtBQ1FDQUNRUU54RGdNREFBRUNDeUFBakNFQURBSUxROXNQU1VBZ0FFTXV2YnN6a3BNaEFBd0JDeUFBUXk2OXV6T1NROXNQU2NDU0lRQUxEQUVMSUFBZ0FaSWhBQXNnQUF1akFnQWdBQVIvQW44Z0FVR0FBVWtFUUNBQUlBRTZBQUJCQVF3QkMwSG9pUUVvQWdBb0FnQkZCRUFnQVVHQWYzRkJnTDhEUmdSQUlBQWdBVG9BQUVFQkRBSUZRYVRGQTBFWk5nSUFRWDhNQWdzQUN5QUJRWUFRU1FSQUlBQWdBVUVHZGtIQUFYSTZBQUFnQUNBQlFUOXhRWUFCY2pvQUFVRUNEQUVMSUFGQmdFQnhRWURBQTBZZ0FVR0FzQU5KY2dSQUlBQWdBVUVNZGtIZ0FYSTZBQUFnQUNBQlFRWjJRVDl4UVlBQmNqb0FBU0FBSUFGQlAzRkJnQUZ5T2dBQ1FRTU1BUXNnQVVHQWdIeHFRWUNBd0FCSkJIOGdBQ0FCUVJKMlFmQUJjam9BQUNBQUlBRkJESFpCUDNGQmdBRnlPZ0FCSUFBZ0FVRUdka0UvY1VHQUFYSTZBQUlnQUNBQlFUOXhRWUFCY2pvQUEwRUVCVUdreFFOQkdUWUNBRUYvQ3dzRlFRRUxDNmtCQVFKL0lBRkIvd2RLQkVBZ0FFUUFBQUFBQUFEZ2Y2SWlBRVFBQUFBQUFBRGdmNklnQUNBQlFmNFBTaUlDR3lFQUlBRkJnbkJxSWdOQi93Y2dBMEgvQjBnYklBRkJnWGhxSUFJYklRRUZJQUZCZ25oSUJFQWdBRVFBQUFBQUFBQVFBS0lpQUVRQUFBQUFBQUFRQUtJZ0FDQUJRWVJ3U0NJQ0d5RUFJQUZCL0E5cUlnTkJnbmdnQTBHQ2VFb2JJQUZCL2dkcUlBSWJJUUVMQ3lBQUlBRkIvd2RxclVJMGhyK2lDNXNDQVFKL0lBSWdCRWdFUUNBQUlBRWdBaUFFRUdjRWZ5QUFLQUlJSVFVZ0FDZ0NEQVZCZnc4TElRSUZJQUVoQlFzZ0JFRUNkRUh3TVdvb0FnQWdCU0FDSUFScklnRjFjU0lHSUFSQkFuUWdBMm9vQWdCS0JFQUNRQ0FGSVFJRFFBSkFJQUZCQVVnRVFDQUFJQUlnQVVFQkVHZEZEUUVnQUNnQ0NDRUNJQUFvQWd3aEFRc2dBaUFCUVg5cUlnRjJRUUZ4SUFaQkFYUnlJZ1lnQkVFQmFpSUVRUUowSUFOcUtBSUFTZzBCREFJTEMwRi9Ed3NGSUFVaEFnc2dBQ0FDTmdJSUlBQWdBVFlDRENBRVFSQktCSDhnQUNnQ0VDSUFLQUlBSWdGQitRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUFCU0FHSUFOQnlBQnFJQVJCQW5ScUtBSUFhaUFES0FLTUFVRVJhbW90QUFBTEM1TUNBZ0YvQW4wZ0FDQUJJQUpCQW5RZ0FXb3FBZ0NNRUpRQklBSkJBblFnQUdvaUF5QURLZ0lBUXdBQWdEK1NPQUlBSUFBZ0FVRWthaUFDUVFscVFRSjBJQUZxS2dJQWpCQzVBU0FBSUFGQnlBQnFJQUpCRW1wQkFuUWdBV29xQWdDTUVMa0JJQUFnQVVIc0FHb2dBa0ViYWtFQ2RDQUJhaW9DQUl3UXVRRWdBQ0FCUVpBQmFpQUNRU1JxUVFKMElBRnFLZ0lBakJDNUFTQUFJQUZCdEFGcUlBSkJMV3BCQW5RZ0FXb3FBZ0NNRUxrQklBQWdBVUhZQVdvZ0FrRTJha0VDZENBQmFpb0NBSXdRdVFFZ0FDQUJRZndCYWlBQ1FUOXFRUUowSUFGcUtnSUFqQkM1QVNBQUVGb2lCWkVoQkNBRlF3QUFBQUJiQkVCREFBQUFBQ0VFQlNBQUlBQkRBQUNBUHlBRWxSQ1VBUXNnQkFzR0FFRVVFQUlML2drQkNuOGpCaUVOSXdaQkVHb2tCaUFOUVFocUlSQWdEVUVNYWlJT0lBTVFPeUFPUWFET0F4QTZJUXNnRGhBOElBUkJBRFlDQUFKQUFrQURRQUpBSUFFb0FnQWhDQ0FKUlNBR0lBZEhjVVVOQUNBSUlna0VmeUFKS0FJTUlnZ2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUMwRi9FRUVFZnlBQlFRQTJBZ0JCQVNFTVFRQWhDVUVBQlVFQUlRd2dDUXNGUVFFaERFRUFDeUVJSUFJb0FnQWlDaUVSQWtBQ1FDQUtSUTBBSUFvb0Fnd2lEeUFLS0FJUVJnUi9JQW9nQ2lnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUE4b0FnQUxRWDhRUVFSQUlBSkJBRFlDQUVFQUlSRU1BUVVnREVVTkJRc01BUXNnREEwRFFRQWhDZ3NnQ3lBR0tBSUFRUUFnQ3lnQ0FDZ0NORUUvY1VIS0FXb1JCQUJCL3dGeFFTVkdCRUFnQnlBR1FRUnFJZ3hHRFFNQ1FDQUxJQXdvQWdCQkFDQUxLQUlBS0FJMFFUOXhRY29CYWhFRUFDSUtRUmgwUVJoMVFUQnJJZzlCQUNBUFFSVkhHMFVFUUNBSElBWkJDR3BHRFFVZ0NpRUlJQXNnQmlnQ0NFRUFJQXNvQWdBb0FqUkJQM0ZCeWdGcUVRUUFJUW9nRENFR0RBRUxRUUFoQ0FzZ0FDZ0NBQ2dDSkNFTUlBMGdDVFlDQkNBTklCRTJBZ0FnRUNBTktBSUVOZ0lBSUE0Z0RTZ0NBRFlDQUNBQklBQWdFQ0FPSUFNZ0JDQUZJQW9nQ0NBTVFROXhRWTREYWhFT0FEWUNBQ0FHUVFocUlRWUZBa0FnQzBHQXdBQWdCaWdDQUNBTEtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVRVFDQUxJQWdvQWd3aUNTQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQWtvQWdBTElBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlRa2dDeUFHS0FJQUlBc29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUlBbEhCRUFnQkVFRU5nSUFEQUlMSUFnb0Fnd2lDU0FJS0FJUVJnUkFJQWdnQ0NnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBSUlBbEJCR28yQWd3Z0NTZ0NBQm9MSUFaQkJHb2hCZ3dCQ3dOQUFrQWdCeUFHUVFScUlnWkdCRUFnQnlFR0RBRUxJQXRCZ01BQUlBWW9BZ0FnQ3lnQ0FDZ0NERUUvY1VIS0FXb1JCQUFOQVFzTElBb2hDUU5BSUFnRWZ5QUlLQUlNSWdvZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFCUVFBMkFnQkJBQ0VJUVFFRlFRQUxCVUVBSVFoQkFRc2hDZ0pBQWtBZ0NVVU5BQ0FKS0FJTUlnd2dDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FNS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0NrVU5CQXNNQVFzZ0NnMENRUUFoQ1FzZ0MwR0F3QUFnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dDeWdDQUNnQ0RFRS9jVUhLQVdvUkJBQkZEUUVnQ0NnQ0RDSUtJQWdvQWhCR0JFQWdDQ0FJS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFnZ0NrRUVhallDRENBS0tBSUFHZ3NNQUFBTEFBc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUFoQ0VFQkJVRUFDd1ZCQUNFSVFRRUxJUUVDUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUF5QUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1vQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBQlJRMENDd3dDQ3lBQkRRQU1BUXNnQkNBRUtBSUFRUUp5TmdJQUN5QU5KQVlnQ0F1dENnRUtmeU1HSVEwakJrRVFhaVFHSUExQkNHb2hFQ0FOUVF4cUlnNGdBeEE3SUE1QmdNNERFRG9oRENBT0VEd2dCRUVBTmdJQUFrQUNRQU5BQWtBZ0FTZ0NBQ0VJSUFsRklBWWdCMGR4UlEwQUlBZ2lDUVIvSUFrb0Fnd2lDQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJIOGdBVUVBTmdJQVFRRWhDMEVBSVFsQkFBVkJBQ0VMSUFrTEJVRUJJUXRCQUFzaENDQUNLQUlBSWdvaEVRSkFBa0FnQ2tVTkFDQUtLQUlNSWc4Z0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVBMQUFBRUVJTFFYOFFRUVJBSUFKQkFEWUNBRUVBSVJFTUFRVWdDMFVOQlFzTUFRc2dDdzBEUVFBaENnc2dEQ0FHTEFBQVFRQWdEQ2dDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWR0JFQWdCeUFHUVFGcUlndEdEUU1DUUNBTUlBc3NBQUJCQUNBTUtBSUFLQUlrUVQ5eFFjb0JhaEVFQUNJS1FSaDBRUmgxUVRCcklnOUJBQ0FQUVJWSEcwVUVRQ0FISUFaQkFtcEdEUVVnQ2lFSUlBd2dCaXdBQWtFQUlBd29BZ0FvQWlSQlAzRkJ5Z0ZxRVFRQUlRb2dDeUVHREFFTFFRQWhDQXNnQUNnQ0FDZ0NKQ0VMSUEwZ0NUWUNCQ0FOSUJFMkFnQWdFQ0FOS0FJRU5nSUFJQTRnRFNnQ0FEWUNBQ0FCSUFBZ0VDQU9JQU1nQkNBRklBb2dDQ0FMUVE5eFFZNERhaEVPQURZQ0FDQUdRUUpxSVFZRkFrQWdCaXdBQUNJSlFYOUtCRUFnRENnQ0NDSUxJQWxCQVhScUxnRUFRWURBQUhFRVFBTkFBa0FnQnlBR1FRRnFJZ1pHQkVBZ0J5RUdEQUVMSUFZc0FBQWlDVUYvVEEwQUlBbEJBWFFnQzJvdUFRQkJnTUFBY1EwQkN3c2dDaUVKQTBBZ0NBUi9JQWdvQWd3aUNpQUlLQUlRUmdSL0lBZ2dDQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaENFRUJCVUVBQ3dWQkFDRUlRUUVMSVFvQ1FBSkFJQWxGRFFBZ0NTZ0NEQ0lMSUFrb0FoQkdCSDhnQ1NBSktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0N5d0FBQkJDQzBGL0VFRUVRQ0FDUVFBMkFnQU1BUVVnQ2tVTkJnc01BUXNnQ2cwRVFRQWhDUXNnQ0NnQ0RDSUtJQWdvQWhCR0JIOGdDQ0FJS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlLUWY4QmNVRVlkRUVZZFVGL1RBMERJQXdvQWdnZ0NrRVlkRUVZZFVFQmRHb3VBUUJCZ01BQWNVVU5BeUFJS0FJTUlnb2dDQ2dDRUVZRVFDQUlJQWdvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQ0NBS1FRRnFOZ0lNSUFvc0FBQVFRaG9MREFBQUN3QUxDeUFNSUFnb0Fnd2lDU0FJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeElBd29BZ0FvQWd4QlAzRkJpZ0ZxRVFJQVFmOEJjU0FNSUFZc0FBQWdEQ2dDQUNnQ0RFRS9jVUdLQVdvUkFnQkIvd0Z4UndSQUlBUkJCRFlDQUF3QkN5QUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFGcU5nSU1JQWtzQUFBUVFob0xJQVpCQVdvaEJnc0xJQVFvQWdBaENRd0JDd3NNQVFzZ0JFRUVOZ0lBQ3lBSUJIOGdDQ2dDRENJQUlBZ29BaEJHQkg4Z0NDQUlLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ3dBQUJCQ0MwRi9FRUVFZnlBQlFRQTJBZ0JCQUNFSVFRRUZRUUFMQlVFQUlRaEJBUXNoQVFKQUFrQUNRQ0FDS0FJQUlnQkZEUUFnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdBVVVOQWdzTUFnc2dBUTBBREFFTElBUWdCQ2dDQUVFQ2NqWUNBQXNnRFNRR0lBZ0x0UUlCQlg4akJpRUhJd1pCRUdva0JpQUFLQUlBSWdZRVFBSkFJQVFvQWd3aENTQUNJQUZySWdoQkFuVWhDaUFJUVFCS0JFQWdCaWdDQUNnQ01DRUlJQVlnQVNBS0lBaEJQM0ZCeWdGcUVRUUFJQXBIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQ1NBRElBRnJRUUoxSWdGclFRQWdDU0FCU2hzaUFVRUFTZ1JBSUFkQ0FEY0NBQ0FIUVFBMkFnZ2dCeUFCSUFVUWt3UWdCaWdDQUNnQ01DRUZJQVlnQnlnQ0FDQUhJQWNzQUF0QkFFZ2JJQUVnQlVFL2NVSEtBV29SQkFBZ0FVWUVRQ0FIRUVjRklBQkJBRFlDQUNBSEVFZEJBQ0VHREFJTEN5QURJQUpySWdOQkFuVWhBU0FEUVFCS0JFQWdCaWdDQUNnQ01DRURJQVlnQWlBQklBTkJQM0ZCeWdGcUVRUUFJQUZIQkVBZ0FFRUFOZ0lBUVFBaEJnd0NDd3NnQkVFQU5nSU1Dd1ZCQUNFR0N5QUhKQVlnQmd0K0FRTi9JQUZEQUFBQVA1SVFReUFBS0FJUWFpRUZJQUpEQUFBQVA1SVFReUFBS0FJVWFpRUdJQVZCQUVnRWYwRi9CU0FHUVFCSUlBVWdBQ2dDQ0NJSFRuSUVmMEYvQlNBR0lBQW9BZ3hJQkg4Z0F5QUFLQUlFSUFZZ0Iyd2dCV3BCQTNScUlnQW9BZ0EyQWdBZ0JDQUFLQUlFTmdJQVFRQUZRWDhMQ3dzTEVBQWdBZ1JBSUFBZ0FTQUNFUG9FQ3dzUUFDQUNCRUFnQUNBQklBSVFUQm9MQzc4QkFRSi9Jd1loQkNNR1FhQUJhaVFHSUFSQmtBRnFJUVVnQkVHWTlnQkJrQUVRVEJvQ1FBSkFJQUZCZjJwQi92Ly8vd2RORFFBZ0FRUi9RYVRGQTBFOU5nSUFRWDhGSUFVaEFFRUJJUUVNQVFzaEFBd0JDeUFFUVg0Z0FHc2lCU0FCSUFFZ0JVc2JJZ0UyQWpBZ0JDQUFOZ0lVSUFRZ0FEWUNMQ0FFSUFBZ0FXb2lBRFlDRUNBRUlBQTJBaHdnQkNBQ0lBTVFwUUloQUNBQkJFQWdCQ2dDRkNJQklBRWdCQ2dDRUVaQkgzUkJIM1ZxUVFBNkFBQUxDeUFFSkFZZ0FBdHJBUU45SUFFcUFpQWdBU29DR0NBQ0tnSUFJZ1NVSUFFcUFod2dBaW9DQkNJRmxKS1NJUU1nQUNBQktnSUlJQVFnQVNvQ0FKUWdCU0FCS2dJRWxKS1NJQU9WT0FJQUlBQWdBU29DRkNBQktnSU1JQUlxQWdDVUlBRXFBaEFnQWlvQ0JKU1NraUFEbFRnQ0JBdWZBZ0lFZndWOElBTkJBblFnQVdvb0FnQWlDaUFDUVFKMElBRnFLQUlBSWdocnR5RU1JQUpCQW5RZ0FHb29BZ0FpQ1NBRFFRSjBJQUJxS0FJQUlnZHJ0eUVOSUFjZ0NHd2dDU0FLYkd1M0lROGdBa0VCYWlJSElRZ0RRQ0FISUFOSUJFQWdCeUFJSUF3Z0IwRUNkQ0FBYWlnQ0FMZWlJQTBnQjBFQ2RDQUJhaWdDQUxlaW9DQVBvQ0lPSUE2aUlnNGdDMlFpQ1JzaENDQUhRUUZxSVFjZ0RpQUxJQWtiSVFzTUFRc0xBbjhDUUNBTElBd2dES0lnRFNBTm9xQ2pJQVJrUlEwQUlBQWdBU0FDSUFnZ0JDQUZJQVlRcXdGQkFFNEVRQ0FHS0FJQUlnSkJCVXdFUUNBQ1FRSjBJQVZxSUFnMkFnQWdCaUFHS0FJQVFRRnFOZ0lBSUFBZ0FTQUlJQU1nQkNBRklBWVFxd0ZCQUU0TkFnc0xRWDhNQVF0QkFBc0xuZ0lCQlg4akJpRURJd1pCRUdva0JpQUFLQUlRSUFGTkJFQWdBMEhBeUFOQnhwb0NFRGRCcUprQ0VEZEI3NklDRURkQjJnRVFQa0gyb2dJUU4wSGh2UUVRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQTBHQXpnTVFPaUlHS0FJQUtBSWNJUVFnQmtFS0lBUkJQM0ZCaWdGcUVRSUFJUVFnQXhBOElBVWdCQkJBSUFVUVB4QUFDeUFBS0FJVUlnUWdBa3NFUUNBQUtBSUVJQUlnQVNBRWJHcEJCWFJxSVFjZ0F5UUdJQWNQQlNBRFFjRElBMEhXbXdJUU4wR29tUUlRTjBIdm9nSVFOMEhiQVJBK1FmYWlBaEEzUWZXOUFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QURRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQURFRHdnQWlBQUVFQWdBaEEvRUFBTFFRQUxDQUJCQnhBQ1FRQUxEQUFnQUVHQ2hvQWdOZ0FBQzVJQkFRRi9JQU5CZ0JCeEJFQWdBRUVyT2dBQUlBQkJBV29oQUFzZ0EwR0FCSEVFUUNBQVFTTTZBQUFnQUVFQmFpRUFDd05BSUFFc0FBQWlCQVJBSUFBZ0JEb0FBQ0FCUVFGcUlRRWdBRUVCYWlFQURBRUxDeUFBQW44Q1FDQURRY29BY1VFSWF5SUJCRUFnQVVFNFJ3MEJRZThBREFJTElBTkJDWFpCSUhGQitBQnpEQUVMUWVRQVFmVUFJQUliQ3pvQUFBdCtBUU4vSXdZaEFpTUdRUkJxSkFaQit2MENJQUVzQUFBUXZ3RUVmeUFCRUprRlFZQ0FBbkloQXlBQ0lBQTJBZ0FnQWlBRE5nSUVJQUpCdGdNMkFnaEJCU0FDRURRUW1nTWlBMEVBU0FSL1FRQUZJQU1nQVJDWUJTSUFCSDhnQUFVZ0F4QVlHa0VBQ3dzRlFhVEZBMEVjTmdJQVFRQUxJUVFnQWlRR0lBUUxEQUFnQUJEZkNTQUFJQUViQ3hBQUlBQkJJRVlnQUVGM2FrRUZTWElMWEFFQ2Z5QUFMQUFBSWdJZ0FTd0FBQ0lEUnlBQ1JYSUVmeUFDSVFFZ0F3VURmeUFBUVFGcUlnQXNBQUFpQWlBQlFRRnFJZ0VzQUFBaUEwY2dBa1Z5Qkg4Z0FpRUJJQU1GREFFTEN3c2hBQ0FCUWY4QmNTQUFRZjhCY1dzTEtBRUNmeUFBSVFFRFFDQUJRUVJxSVFJZ0FTZ0NBQVJBSUFJaEFRd0JDd3NnQVNBQWEwRUNkUXZJQXdFSGZ5QUFLQUlFSVFVZ0FrSHdrK3ZjQTBzRVFDQUFLQUlBSWdOQk9EWUNGQ0FEUVFFMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFGQkFVc0VRQ0FBS0FJQUlnTkJEellDRkNBRElBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBTElBSkJDQ0FDUVFkeElnTnJRUUFnQXh0cUlRUUNRQUpBSUFWQk5Hb2dBVUVDZEdvaUNDZ0NBQ0lDQkVBRFFBSkFJQUlvQWdnZ0JFOEVRQ0FDSVFBTUFRc2dBaWdDQUNJREJFQWdBeUVDREFJRklBSWhBd3dFQ3dBTEN3VkJBQ0VEREFFTERBRUxJQVJCOEpQcjNBTWdCR3NpQWlBQlFRSjBRZUNIQVVIb2h3RWdBMFVpQ1J0cUtBSUFJZ0VnQVNBQ1N4c2lBV29pQWtFUWFpSUdFRVFpQndSL0lBWWhBU0FIQlFOL0lBRkI1QUJKQkVBZ0FDZ0NBQ0lDUVRnMkFoUWdBa0VDTmdJWUlBQWdBQ2dDQUNnQ0FFSC9BWEZCckFOcUVRRUFDeUFFSUFGQkFYWWlBV29pQWtFUWFpSUdFRVFpQjBVTkFDQUdJUUVnQndzTElRQWdCU0FCSUFVb0FreHFOZ0pNSUFCQkFEWUNBQ0FBUVFBMkFnUWdBQ0FDTmdJSUlBa0VRQ0FJSUFBMkFnQUZJQU1nQURZQ0FBc0xJQUFnQkNBQUtBSUVJZ0ZxTmdJRUlBQWdBQ2dDQ0NBRWF6WUNDQ0FBUVJCcUlBRnFDeWdCQW44Q2Z5TUdJUU1qQmtFUWFpUUdJQUJCQTBHMGh3RkJ2TkFDUVNBZ0FSQUpJQU1MSkFZTGx3VUJCSDhqQmlFRUl3WkJFR29rQmlBQklBTVE4UU9PRUVNaUJqWUNBQ0FEUVFFZ0JuU3lsUkRTQVNFRElBSWdBQ29DSENBRGxCRHdBeEJESWdZMkFnQWdCaUFBS0FJVVFYOXFSZ1JBSUFFZ0FTZ0NBRUVCYWpZQ0FDQUNRUUEyQWdCQkFDRUdDd0pBQWtBZ0FTZ0NBQ0lGUVFCSUJFQWdBVUVBTmdJQVFRQWhCZ3dCQlNBRklBQW9BaEFpQlU0RVFDQUJJQVZCZjJvMkFnQWdBQ2dDRkVGL2FpRUdEQUlMQ3d3QkN5QUNJQVkyQWdBTElBRW9BZ0FpQlVGL1RBUkFJQVJCd01nRFFZV1pBaEEzUWFpWkFoQTNRZStpQWhBM1FZd0NFRDVCOXFJQ0VEZEJycG9DRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFRUVBDQUhJQUVRUUNBSEVEOFFBQXNnQlNBQUtBSVFUZ1JBSUFSQndNZ0RRY2FhQWhBM1FhaVpBaEEzUWUraUFoQTNRWTBDRUQ1QjlxSUNFRGRCOHBvQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JrRi9UQVJBSUFSQndNZ0RRWjJiQWhBM1FhaVpBaEEzUWUraUFoQTNRWTRDRUQ1QjlxSUNFRGRCdjVzQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FGSUFFUVFDQUZFRDhRQUFzZ0JpQUFLQUlVU0FSQUlBUWtCZ1VnQkVIQXlBTkIxcHNDRURkQnFKa0NFRGRCNzZJQ0VEZEJqd0lRUGtIMm9nSVFOMEdKbkFJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0JCQThJQUlnQUJCQUlBSVFQeEFBQ3dzT0FDQUFJQUVnQWtFQ2RCQk1HZ3V0QVFBZ0FDQUFLZ0lBSUFFcUFnQWdBcFNTT0FJQUlBQWdBQ29DQkNBQktnSUVJQUtVa2pnQ0JDQUFJQUFxQWdnZ0FTb0NDQ0FDbEpJNEFnZ2dBQ0FBS2dJTUlBRXFBZ3dnQXBTU09BSU1JQUFnQUNvQ0VDQUJLZ0lRSUFLVWtqZ0NFQ0FBSUFBcUFoUWdBU29DRkNBQ2xKSTRBaFFnQUNBQUtnSVlJQUVxQWhnZ0FwU1NPQUlZSUFBZ0FDb0NIQ0FCS2dJY0lBS1VramdDSENBQUlBQXFBaUFnQVNvQ0lDQUNsSkk0QWlBTFVRRUJmMEd3M1FNb0FnQWlBU0FBUVFOcVFYeHhhaUlBUVFCSUJFQkJwTVVEUVRBMkFnQkJmdzhMSUFBUUowc0VRQ0FBRUNSRkJFQkJwTVVEUVRBMkFnQkJmdzhMQzBHdzNRTWdBRFlDQUNBQkN3c0FJQUM3RU4wSnRoQkRDeW9CQVg4akJpRURJd1pCRUdva0JpQURJQUkyQWdBZ0FFSC8vLy8vQnlBQklBTVFxUUVhSUFNa0Jnc09BQ0FBUWVpSkFTZ0NBQkQvQkF1R0FRSUNmd0YrSUFDbklRSWdBRUwvLy8vL0QxWUVRQU5BSUFGQmYyb2lBU0FBSUFCQ0NoRDJBU0lFUWdwK2ZhZEIvd0Z4UVRCeU9nQUFJQUJDLy8vLy81OEJWZ1JBSUFRaEFBd0JDd3NnQktjaEFnc2dBZ1JBQTBBZ0FVRi9haUlCSUFJZ0FrRUtFRWdpQTBFS2JHdEJNSEk2QUFBZ0FrRUtUd1JBSUFNaEFnd0JDd3NMSUFFTEdnQWdBQ0FCRUtvQ0lnQkJBQ0FBTFFBQUlBRkIvd0Z4UmhzTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWUNIQVVHdXR3SkJBaUFCRUFrZ0F3c2tCZ3NOQUNBQUtBSUVJQUVvQWdSTEN4QUFJQUFnQVRZQ0FDQUFJQUkyQWdRTERRQWdBQ2dDRUNBQlFSUnNhZ3NRQUNBQUtBSUVJQUVnQUNnQ0FHeHFDd2dBSUFCQjlBQnFDd3dBSUFBZ0FTQUFJQUZLR3dzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWHhxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWYvLy8vOERTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRUNkQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUUowSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFQ2RDQUVhallDREFzR0FFRVlFQUlMQ0FCQkRSQUNRUUFMaXdFQkEzOGpCaUVESXdaQkVHb2tCaUFDUWUvLy8vOERTd1JBRUFBTElBSkJBa2tFUUNBQUlBSTZBQXNnQUNFRUJTQUNRUVJxUVh4eElnVkIvLy8vL3dOTEJFQVFBQVVnQUNBRlFRSjBFRkVpQkRZQ0FDQUFJQVZCZ0lDQWdIaHlOZ0lJSUFBZ0FqWUNCQXNMSUFRZ0FTQUNFS2NCSUFOQkFEWUNBQ0FDUVFKMElBUnFJQU1RYmlBREpBWUx1UUVCQlg4akJpRURJd1pCRUdva0JpQURJQUU2QUFBZ0FDd0FDeUlCUVFCSUlnVUVmeUFBS0FJRUlRSWdBQ2dDQ0VILy8vLy9CM0ZCZjJvRklBRkIvd0Z4SVFKQkNnc2hBU0FEUVFGcUlRUUNRQUpBSUFFZ0FrWUVRQ0FBSUFGQkFTQUJJQUVRM1FJZ0FDd0FDMEVBU0EwQkJTQUZEUUVMSUFBZ0FrRUJham9BQ3d3QkN5QUFLQUlBSVFZZ0FDQUNRUUZxTmdJRUlBWWhBQXNnQUNBQ2FpSUFJQU1RWHlBRVFRQTZBQUFnQUVFQmFpQUVFRjhnQXlRR0M3Z0JBUVYvSUFJb0FnQWdBQ2dDQUNJRElnWnJJZ1ZCQVhRaUJFRUVJQVFiUVg4Z0JVSC8vLy8vQjBrYklRVWdBU2dDQUNFSElBTkJBQ0FBS0FJRVFaRUJSeUlFR3lBRkVPZ0JJZ05GQkVBUUFBc2dCQVJBSUFBZ0F6WUNBQVVnQUNnQ0FDRUVJQUFnQXpZQ0FDQUVCRUFnQkNBQUtBSUVRZjhCY1VHc0Eyb1JBUUFnQUNnQ0FDRURDd3NnQUVHU0FUWUNCQ0FCSUFjZ0JtdEJBblZCQW5RZ0EybzJBZ0FnQWlBQUtBSUFJQVZCQW5aQkFuUnFOZ0lBQzZRREFRTi9BbjhDUUNBQ0lBTW9BZ0FpQ2tZaUMwVU5BQ0FBSUFrb0FtQkdJZ3hGQkVBZ0NTZ0NaQ0FBUncwQkN5QURJQUpCQVdvMkFnQWdBa0VyUVMwZ0RCczZBQUFnQkVFQU5nSUFRUUFNQVFzZ0FDQUZSaUFHS0FJRUlBWXNBQXNpQmtIL0FYRWdCa0VBU0J0QkFFZHhCRUJCQUNBSUtBSUFJZ0FnQjJ0Qm9BRk9EUUVhSUFRb0FnQWhBU0FJSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQVJCQURZQ0FFRUFEQUVMSUFsQjZBQnFJUWRCQUNFRkEzOGdCVUVhUmdSL0lBY0ZJQVZCQVdvaEJpQUFJQVZCQW5RZ0NXb2lCU2dDQUVZRWZ5QUZCU0FHSVFVTUFnc0xDeUFKYXlJRlFRSjFJUUFnQlVIY0FFb0VmMEYvQlFKQUFrQUNRQ0FCUVFockRna0FBZ0FDQWdJQ0FnRUNDMEYvSUFBZ0FVNE5BeG9NQVFzZ0JVSFlBRTRFUUVGL0lBc05BeHBCZnlBS0lBSnJRUU5PRFFNYVFYOGdDa0YvYWl3QUFFRXdSdzBER2lBRVFRQTJBZ0FnQUVIdzd3QnFMQUFBSVFBZ0F5QUtRUUZxTmdJQUlBb2dBRG9BQUVFQURBTUxDeUFBUWZEdkFHb3NBQUFoQUNBRElBcEJBV28yQWdBZ0NpQUFPZ0FBSUFRZ0JDZ0NBRUVCYWpZQ0FFRUFDd3NMRFFBZ0FDZ0NBQkE0SUFBUU9BdXJBd0VEZndKL0FrQWdBaUFES0FJQUlncEdJZ3RGRFFBZ0NTMEFHQ0FBUWY4QmNVWWlERVVFUUNBSkxRQVpJQUJCL3dGeFJ3MEJDeUFESUFKQkFXbzJBZ0FnQWtFclFTMGdEQnM2QUFBZ0JFRUFOZ0lBUVFBTUFRc2dBRUgvQVhFZ0JVSC9BWEZHSUFZb0FnUWdCaXdBQ3lJR1FmOEJjU0FHUVFCSUcwRUFSM0VFUUVFQUlBZ29BZ0FpQUNBSGEwR2dBVTROQVJvZ0JDZ0NBQ0VCSUFnZ0FFRUVhallDQUNBQUlBRTJBZ0FnQkVFQU5nSUFRUUFNQVFzZ0NVRWFhaUVIUVFBaEJRTi9JQVZCR2tZRWZ5QUhCU0FGUVFGcUlRWWdCU0FKYWlJRkxRQUFJQUJCL3dGeFJnUi9JQVVGSUFZaEJRd0NDd3NMSUFscklnQkJGMG9FZjBGL0JRSkFBa0FDUUNBQlFRaHJEZ2tBQWdBQ0FnSUNBZ0VDQzBGL0lBQWdBVTROQXhvTUFRc2dBRUVXVGdSQVFYOGdDdzBER2tGL0lBb2dBbXRCQTA0TkF4cEJmeUFLUVg5cUxBQUFRVEJIRFFNYUlBUkJBRFlDQUNBQVFmRHZBR29zQUFBaEFDQURJQXBCQVdvMkFnQWdDaUFBT2dBQVFRQU1Bd3NMSUFCQjhPOEFhaXdBQUNFQUlBTWdDa0VCYWpZQ0FDQUtJQUE2QUFBZ0JDQUVLQUlBUVFGcU5nSUFRUUFMQ3d1b0ZRRUpmeU1HSVFJakJrRVFhaVFHSUFJaUJVRUVhaUVESUFKQkNHb2lCaUFBTmdJQUlBQkIxQUZKQkVCQjhPd0FRYkR1QUNBR0VOY0VLQUlBSVFBRkFrQWdBeUFBSUFCQjBnRVFTQ0lJUWRJQmJDSUNhellDQUVFQUlRQkJzTzRBUWZEdkFDQURFTmNFUWJEdUFHdEJBblVoQndKQUEwQUNRQ0FDSUFkQkFuUkJzTzRBYWlnQ0FHb2hBMEVGSVFJQ1FBSkFBMEFnQWtFdlR3MEJJQU1nQWtFQ2RFSHc3QUJxS0FJQUlnRVFTQ0lFSUFGSkRRTWdBa0VCYWlFQ0lBRWdCR3dnQTBjTkFBc01BUXRCMHdFaEFnTkFBa0FnQXlBQ0VFZ2lBU0FDU1FSL0lBTWhBRUVCQlNBRElBRWdBbXhHQkg5QkNRVWdBeUFDUVFwcUlnRVFTQ0lFSUFGSkJIOGdBU0VDSUFNaEFFRUJCU0FESUFFZ0JHeEdCSDhnQVNFQ1FRa0ZJQU1nQWtFTWFpSUJFRWdpQkNBQlNRUi9JQUVoQWlBRElRQkJBUVVnQXlBQklBUnNSZ1IvSUFFaEFrRUpCU0FESUFKQkVHb2lBUkJJSWdRZ0FVa0VmeUFCSVFJZ0F5RUFRUUVGSUFNZ0FTQUViRVlFZnlBQklRSkJDUVVnQXlBQ1FSSnFJZ0VRU0NJRUlBRkpCSDhnQVNFQ0lBTWhBRUVCQlNBRElBRWdCR3hHQkg4Z0FTRUNRUWtGSUFNZ0FrRVdhaUlCRUVnaUJDQUJTUVIvSUFFaEFpQURJUUJCQVFVZ0F5QUJJQVJzUmdSL0lBRWhBa0VKQlNBRElBSkJIR29pQVJCSUlnUWdBVWtFZnlBQklRSWdBeUVBUVFFRklBTWdBU0FFYkVZRWZ5QUJJUUpCQ1FVQ2Z5QURJQUpCSG1vaUFSQklJZ1FnQVVrRVFDQUJJUUlnQXlFQVFRRU1BUXNnQXlBQklBUnNSZ1JBSUFFaEFrRUpEQUVMSUFNZ0FrRWthaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVNocUlnRVFTQ0lFSUFGSkJFQWdBU0VDSUFNaEFFRUJEQUVMSUFNZ0FTQUViRVlFUUNBQklRSkJDUXdCQ3lBRElBSkJLbW9pQVJCSUlnUWdBVWtFUUNBQklRSWdBeUVBUVFFTUFRc2dBeUFCSUFSc1JnUkFJQUVoQWtFSkRBRUxJQU1nQWtFdWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRVFJxSWdFUVNDSUVJQUZKQkVBZ0FTRUNJQU1oQUVFQkRBRUxJQU1nQVNBRWJFWUVRQ0FCSVFKQkNRd0JDeUFESUFKQk9tb2lBUkJJSWdRZ0FVa0VRQ0FCSVFJZ0F5RUFRUUVNQVFzZ0F5QUJJQVJzUmdSQUlBRWhBa0VKREFFTElBTWdBa0U4YWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjSUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY2dBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjNEFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWRJQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZGdBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FlQUFhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWVRQWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZVlBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Flb0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QUJJQVJzSUFOR0JFQWdBU0VDUVFrTUFRc2dBeUFDUWV3QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBQklBUnNJQU5HQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZkFBYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFCSUFSc0lBTkdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FmZ0FhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWY0QWFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWUlCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FZZ0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVlvQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWTRCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FaUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUVpZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRWndCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FhSUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWFZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYWdCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fhd0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWJJQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRYlFCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1Fib0JhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWI0QmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRY0FCYWlJQkVFZ2lCQ0FCU1FSQUlBRWhBaUFESVFCQkFRd0JDeUFESUFFZ0JHeEdCRUFnQVNFQ1FRa01BUXNnQXlBQ1FjUUJhaUlCRUVnaUJDQUJTUVJBSUFFaEFpQURJUUJCQVF3QkN5QURJQUVnQkd4R0JFQWdBU0VDUVFrTUFRc2dBeUFDUWNZQmFpSUJFRWdpQkNBQlNRUkFJQUVoQWlBRElRQkJBUXdCQ3lBRElBRWdCR3hHQkVBZ0FTRUNRUWtNQVFzZ0F5QUNRZEFCYWlJQkVFZ2lDU0FCU1NFRUlBRWdBa0hTQVdvZ0JDQURJQUVnQ1d4R0lnRnlHeUVDSUFNZ0FDQUVHeUVBUVFGQkNVRUFJQUViSUFRYkN3c0xDd3NMQ3dzTEN3c0xDd3NMSWdGQkQzRU9DZ0VBQUFBQUFBQUFBQUlBQ3dzZ0FRMERDeUFJSUFkQkFXb2lBMEV3UmlJQmFpSUNJUWdnQWtIU0FXd2hBa0VBSUFNZ0FSc2hCd3dCQ3dzZ0JpQUROZ0lBSUFNaEFBd0JDeUFHSUFNMkFnQUxDeUFGSkFZZ0FBdVFBZ0lDZndSOUlBQzhJZ0ZCQUVnaEFpQUJRWUNBZ0FSSklBSnlCRUFDUUNBQlFmLy8vLzhIY1VVRVFFTUFBSUMvSUFBZ0FKU1ZEd3NnQWtVRVFFSG9maUVDSUFCREFBQUFUSlM4SVFFTUFRc2dBQ0FBazBNQUFBQUFsUThMQlNBQlFmLy8vL3NIU3dSQUlBQVBDeUFCUVlDQWdQd0RSZ1IvUXdBQUFBQVBCVUdCZndzaEFnc2dBVUdOOXFzQ2FpSUJRZi8vL3dOeFFmT0oxUGtEYXI1REFBQ0F2NUlpQXlBRFF3QUFBRUNTbFNJRklBV1VJZ1lnQnBRaEJDQUNJQUZCRjNacXNpSUFRNEJ4TVQrVUlBTWdBRVBSOXhjM2xDQUZJQU1nQTBNQUFBQS9sSlFpQUNBR0lBUkQ3dW1SUHBSRHFxb3FQNUtVSUFRZ0JFTW1ubmcrbEVNVHpzdytrcFNTa3BTU0lBQ1RrcElMbEFFQkJId2dBQ0FBb2lJQ0lBS2lJUU5FQUFBQUFBQUE4RDhnQWtRQUFBQUFBQURnUDZJaUJLRWlCVVFBQUFBQUFBRHdQeUFGb1NBRW9TQUNJQUlnQWlBQ1JKQVZ5eG1nQWZvK29rUjNVY0VXYk1GV3Y2Q2lSRXhWVlZWVlZhVS9vS0lnQXlBRG9pQUNSTVN4dEwyZTdpRStJQUpFMURpSXZ1bjZxRDJpb2FKRXJWS2NnRTkra3I2Z29xQ2lJQUFnQWFLaG9LQUxsUUVCQTN3Z0FDQUFvaUlESUFNZ0E2S2lJQU5FZk5YUFdqclo1VDJpUk91Y0s0cm01VnErb0tJZ0F5QURSSDMrc1ZmakhjYytva1RWWWNFWm9BRXF2NkNpUktiNEVCRVJFWUUvb0tBaEJTQURJQUNpSVFRZ0FDQUVSRWxWVlZWVlZjVS9vaUFESUFGRUFBQUFBQUFBNEQraUlBUWdCYUtob2lBQm9hQ2hJQVFnQXlBRm9rUkpWVlZWVlZYRnY2Q2lJQUNnSUFJYkN3c0FJQUFnQVNBQ0VQa0VDeG9BSUFBb0FnQWdBQ2dDQkNJQUlBQVErQVJGUVI5MFFSOTFDNGdEQVFaL0l3WWhCeU1HUVJCcUpBWWdBMEcweFFNZ0F4c2lCU2dDQUNFREFuOENRQ0FCQkg4Q2Z5QUFJQWNnQUJzaEJpQUNCRUFDUUFKQUlBTUVRQ0FESVFBZ0FpRUREQUVGSUFFc0FBQWlBRUYvU2dSQUlBWWdBRUgvQVhFMkFnQWdBRUVBUnd3RkN5QUJMQUFBSVFCQjZJa0JLQUlBS0FJQVJRUkFJQVlnQUVIL3Z3TnhOZ0lBUVFFTUJRc2dBRUgvQVhGQnZuNXFJZ0JCTWtzTkJpQUJRUUZxSVFFZ0FFRUNkRUhRTkdvb0FnQWhBQ0FDUVg5cUlnTU5BUXNNQVFzZ0FTMEFBQ0lJUVFOMklnUkJjR29nQkNBQVFScDFhbkpCQjBzTkJDQURRWDlxSVFRZ0NFR0FmMm9nQUVFR2RISWlBRUVBU0FSQUlBRWhBeUFFSVFFRFFDQUJSUTBDSUFOQkFXb2lBeXdBQUNJRVFjQUJjVUdBQVVjTkJpQUJRWDlxSVFFZ0JFSC9BWEZCZ0g5cUlBQkJCblJ5SWdCQkFFZ05BQXNGSUFRaEFRc2dCVUVBTmdJQUlBWWdBRFlDQUNBQ0lBRnJEQUlMSUFVZ0FEWUNBQXRCZmdzRklBTU5BVUVBQ3d3QkN5QUZRUUEyQWdCQnBNVURRUmsyQWdCQmZ3c2hDU0FISkFZZ0NRdklDd0VJZnlBQUtBSVlJZ1FvQWdBaEJpQUVLQUlFSVFVZ0FDQUJOZ0xjQVNBQUlBSTJBdUFCSUFBZ0F6WUM1QUVDUUNBRkJIOGdCZ1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFRklBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRWWdCVUYvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFCTFFBQUlRb2dBa0YvYWlJQ0JIOGdBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBUW9BZ0FMSWdGQkFXb2hBeUFBSUFFdEFBQTJBdFFCSUFKQmYyb2lBZ1IvSUFNRklBUW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBCSUFRb0FnUWhBaUFFS0FJQUN5SUJRUUZxSVFNZ0FDQUJMUUFBUVFoMElnVTJBaUFnQWtGL2FpSUNCRUFnQXlFQklBVWhBd1VnQkNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRRWdCQ2dDQkNFQ0lBQW9BaUFoQXlBRUtBSUFJUUVMSUFGQkFXb2hCU0FBSUFFdEFBQWdBMm8yQWlBZ0FrRi9haUlDQkg4Z0JRVWdCQ2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGRFFFZ0JDZ0NCQ0VDSUFRb0FnQUxJZ0ZCQVdvaEF5QUFJQUV0QUFCQkNIUWlCVFlDSENBQ1FYOXFJZ0lFUUNBRElRRWdCU0VEQlNBRUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRSWdBQ2dDSENFRElBUW9BZ0FoQVFzZ0FVRUJhaUVGSUFBZ0FTMEFBQ0FEYWpZQ0hDQUNRWDlxSWdFRVFDQUZJUUlGSUFRb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdBaEFpQUVLQUlFSVFFTElBQWdBaTBBQURZQ0pDQUFLQUlBSWdNZ0FDZ0N1QU0yQWhnZ0F5QUFLQUljTmdJY0lBTWdBQ2dDSURZQ0lDQURJQUFvQWlRMkFpUWdBMEhtQURZQ0ZDQURLQUlFSVFNZ0FFRUJJQU5CUDNGQnNnVnFFUU1BSUFBb0F0QURLQUlRQkVBZ0FDZ0NBQ0lEUVQwMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBQ3lBS1FmOEJjU0FHUWY4QmNVRUlkSEpCZUdvaEJRSkFBa0FnQUNnQ0lFVU5BQ0FBS0FJY1JRMEFJQUFvQWlRaUEwRUJTQTBBREFFTElBQW9BZ0FpQTBFaE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUNBQUtBSWtJUU1MSUFOQkEyd2dCVWNFUUNBQUtBSUFJZ05CRERZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFBb0F0Z0JSUVJBSUFBb0FnUW9BZ0FoQXlBQUlBQkJBU0FBS0FJa1FkZ0FiQ0FEUVQ5eFFjb0JhaEVFQURZQzJBRUxJQUZCZjJvaEFTQUNRUUZxSVFJZ0FDZ0NKRUVBU2dSQUFrQkJBQ0VGQTBBQ1FDQUJCSDhnQVNFSUlBSUZJQVFvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQ0NBRUtBSUFDeUlITFFBQUlRSWdBQ2dDMkFFaEF5QUZCRUFDUUNBRElRRkJBQ0VHQTBBZ0FTZ0NBQ0FDUndSQUlBRkIyQUJxSVFFZ0JrRUJhaUlHSUFWSkRRRU1BZ3NMSUFNb0FnQWhBU0FEUWRnQWFpRUNJQVZCQVVzRWYwRUJJUVlEUUNBQ0tBSUFJZ2tnQVNBSklBRktHeUVCSUFKQjJBQnFJUUlnQmtFQmFpSUdJQVZIRFFBTElBVkIyQUJzSUFOcUJTQUNDeUVMSUFGQkFXb2hBaUFMSVFFTEJTQURJUUVMSUFkQkFXb2hCaUFCSUFJMkFnQWdBU0FGTmdJRUlBaEJmMm9pQXdSL0lBWUZJQVFvQWd3aEFpQUFJQUpCL3dCeFFRaHFFUUFBUlEwQklBUW9BZ1FoQXlBRUtBSUFDeUlDUVFGcUlRWWdBU0FDTFFBQUlnSkJCSFkyQWdnZ0FTSUhJQUpCRDNFMkFnd2dBU0FEUVg5cUlnTUVmeUFHQlNBRUtBSU1JUUlnQUNBQ1FmOEFjVUVJYWhFQUFFVU5BU0FFS0FJRUlRTWdCQ2dDQUFzaUFpMEFBRFlDRUNBQUtBSUFJZ1lnQnlnQ0FEWUNHQ0FHSUFFb0FnZzJBaHdnQmlBSEtBSU1OZ0lnSUFZZ0J5Z0NFRFlDSkNBR1FlY0FOZ0lVSUFZb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QWdBMEYvYWlFQklBSkJBV29oQWlBRlFRRnFJZ1VnQUNnQ0pFZ05BUXdDQ3dzTUFnc0xJQUFvQXRBRFFRRTJBaEFnQkNBQ05nSUFJQVFnQVRZQ0JFRUJEd3RCQUFzMEFRRi9JQUFvQWdRZ0FTZ0NDQkNMQVNJQ0JFQWdBaUFBSUFFUXJRSkJBRWdFUUNBQ0VFbEJBQ0VDQ3dWQkFDRUNDeUFDQ3lRQUlBVUVmU0FBSUFFZ0FpQURJQVFnQmhES0JnVWdBQ0FCSUFJZ0F5QUVFTXNHQ3d2M0JnTUhmd1Y5QTN3akJpRUlJd1pCNEFGcUpBWWdDRUhJQVdvaEJ5QUlRZFFCYWlJSklBUkJCSFFRUkNJTk5nSUFJQTFGQkVCQkFFRURRYm5ZQWlBSEVEMUJBUkFCQ3lBSVFkQUJhaUVISUFrZ0JFRVliQkJFSWd3MkFnUWdERVVFUUVFQVFRTkJ1ZGdDSUFjUVBVRUJFQUVMSUFoQjRBQnFJUW9nQ0VIQUFXb2hDMEVBSVFjRFFDQUhJQVJJQkVBZ0VDQUhRUXhzSUFOcUtnSUFraUVRSUE4Z0IwRU1iQ0FEYWlvQ0JKSWhEeUFPSUFkQkRHd2dBMm9xQWdpU0lRNGdCMEVCYWlFSERBRUxDeUFRSUFTeUloR1ZJUkFnRHlBUmxTRVBJQTRnRVpVaERrRUFJUWNEUUNBSElBUklCRUFnQjBFRWRDQU5haUFIUVFOMElBSnFLZ0lBdXprREFDQUhRUVIwSUExcUlBZEJBM1FnQW1vcUFnUzdPUU1JSUFkQkdHd2dER29nQjBFTWJDQURhaW9DQUNBUWs3czVBd0FnQjBFWWJDQU1haUFIUVF4c0lBTnFLZ0lFSUErVHV6a0RDQ0FIUVJoc0lBeHFJQWRCREd3Z0Eyb3FBZ2dnRHBPN09RTVFJQWRCQVdvaEJ3d0JDd3NnQ1NBRU5nSUlRUUFoQWdOQUlBSkJBMGNFUUVFQUlRTURRQ0FEUVFOSEJFQWdBa0VGZENBS2FpQURRUU4wYWlBQ1FRUjBJQUZxSUFOQkFuUnFLZ0lBdXprREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQ2lBQktnSU1JQkFnQVNvQ0FKUWdEeUFCS2dJRWxKSWdEaUFCS2dJSWxKS1N1emtER0NBS0lBRXFBaHdnRUNBQktnSVFsQ0FQSUFFcUFoU1VraUFPSUFFcUFoaVVrcEs3T1FNNElBb2dBU29DTENBUUlBRXFBaUNVSUE4Z0FTb0NKSlNTSUE0Z0FTb0NLSlNTa3JzNUExZ2dCZ1JBSUFBZ0NTQUtJQWdnQ3hDZEJFRUFTQVJBSUF0RUFBQUFBSVRYbDBFNUF3QUxCU0FBSUFrZ0NpQUlJQXNRNmdGQkFFZ0VRQ0FMUkFBQUFBQ0UxNWRCT1FNQUN3c2dDU2dDQUJBNElBa29BZ1FRT0VFQUlRQURRQ0FBUVFOSEJFQkJBQ0VCQTBBZ0FVRURSd1JBSUFCQkJIUWdCV29nQVVFQ2RHb2dBRUVGZENBSWFpQUJRUU4wYWlzREFMWTRBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFRRnFJUUFNQVFzTElBVWdDQ3NER0NBSUt3TUFJQkM3SWhPaW9TQUlLd01JSUErN0loU2lvU0FJS3dNUUlBNjdJaFdpb2JZNEFnd2dCU0FJS3dNNElBZ3JBeUFnRTZLaElBZ3JBeWdnRktLaElBZ3JBekFnRmFLaHRqZ0NIQ0FGSUFnckExZ2dDRUZBYXlzREFDQVRvcUVnQ0NzRFNDQVVvcUVnQ0NzRFVDQVZvcUcyT0FJc0lBc3JBd0MySVJJZ0NDUUdJQklMSndFQ2Z3Si9Jd1loQXlNR1FSQnFKQVlnQUVFRVFmQVhRYnZVQWtFR0lBRVFDU0FEQ3lRR0N3b0FJQUJCR0dvUWxRRUxGUUFnQUVNQUFJQS9JQUVnQVVNQUFBQUFXeHVWQ3lJQUlBQWdBU29DQUNBQ0tnSUFremdDQUNBQUlBRXFBZ1FnQWlvQ0JKTTRBZ1FMeVFJQkJIOGpCaUVESXdaQkVHb2tCaUFCS0FJQVFRSkhCRUFnQTBIQXlBTkI4T1FCRURkQm1lQUJFRGRCNzZJQ0VEZEI1UUlRUGtIMm9nSVFOMEdmNVFFUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0EwR0F6Z01RT2lJRktBSUFLQUljSVFZZ0JVRUtJQVpCUDNGQmlnRnFFUUlBSVFVZ0F4QThJQVFnQlJCQUlBUVFQeEFBQ3dKQUFrQUNRQUpBQWtBZ0FpZ0NBQTREQWdBQkF3c2dBU2dDR0NBQUtBSWdJQUlvQWhnZ0FpZ0NCQ0FDS0FJSUVOWUlEQU1MSUFFb0FoZ2dBQ2dDTENBQ0tBSVlJQUlvQWdRZ0FpZ0NDQkRWQ0F3Q0MwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CdytVQlFjUGxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkF3QkMwRVFFQVVoQUNBRFFnQTNBZ0FnQTBFQU5nSUlJQU5CMXVVQlFkYmxBUkJnRUg0Z0FDQURFSVlDSUFCQmlQSUFRUVVRQkFzZ0F5UUdDMEFCQVgwZ0FFRUJJQVIwc2lJRklBS1VSQUFBQUFBQUFQQS9JQVJCZjJvUW53RkVBQUFBQUFBQTRMK2d0aUlDa2pnQ0FDQUJJQVVnQTVRZ0FwSTRBZ0FMeEFFQkJYOGpCaUVESXdaQklHb2tCa0hINC9FNElBQW9BZ1FnQUNnQ0FHdEJKQkE1UVFGcUlnSkpCRUFRQUFVZ0F5QUNJQUFvQWdnZ0FDZ0NBQ0lFYTBFa0VEa2lCVUVCZENJR0lBWWdBa2tiUWNmajhUZ2dCVUhqOGJnY1NSc2dBQ2dDQkNBRWEwRWtFRGtnQUVFSWFoRFFBaUFES0FJSUlnSWdBU2tDQURjQ0FDQUNJQUVwQWdnM0FnZ2dBaUFCS1FJUU53SVFJQUlnQVNrQ0dEY0NHQ0FDSUFFb0FpQTJBaUFnQXlBQ1FTUnFOZ0lJSUFBZ0F4RFBBaUFERU00Q0lBTWtCZ3NMR2dCREFBQUFBQ0FCSUFBZ0FDQUJYaHNnQUVNQUFBQUFYUnNMbHdFQkJIOGdBVUVFYWlJREtBSUFRUUFnQUNnQ0JDQUFLQUlBSWdScklnVkJBblZyUVFKMGFpRUNJQU1nQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMNEFFQ0FuOEJmU01HSVFZakJrRXdhaVFHSUFBRWZ5QUFRUWhxSUFFZ0JoRDZBU0FBUWJnQmFpQUdLZ0lNSUFZcUFnQWdBcFFnQmlvQ0JDQURsSktTSUFZcUFpd2dCaW9DSUNBQ2xDQUdLZ0lrSUFPVWtwSWlDSlVnQmlvQ0hDQUdLZ0lRSUFLVUlBWXFBaFFnQTVTU2tpQUlsU0FFSUFVUWJVRWZkUVVnQVNvQ0hDQUJLZ0lRSUFLVUlBRXFBaFFnQTVTU2tpRUlJQVFnQVNvQ0RDQUJLZ0lBSUFLVUlBRXFBZ1FnQTVTU2tpQUJLZ0lzSUFFcUFpQWdBcFFnQVNvQ0pDQURsSktTSWdLVk9BSUFJQVVnQ0NBQ2xUZ0NBRUVBQ3lFSElBWWtCaUFIQ3pRQkFuOERRQUpBSUFBZ0FSQ1dBeUlDUlFSQVFRQWhBZ3dCQ3lBQUxBQUFRUXBySWdOQkFDQURRUmxIRzBVTkFRc0xJQUlMWFFFQmZ5QUJJQUJJSUFBZ0FTQUNha2h4QkVBZ0FTQUNhaUVCSUFBaUF5QUNhaUVBQTBBZ0FrRUFTZ1JBSUFKQkFXc2hBaUFBUVFGcklnQWdBVUVCYXlJQkxBQUFPZ0FBREFFTEN5QURJUUFGSUFBZ0FTQUNFRXdhQ3lBQUM0TUJBUUovSUFCRkJFQWdBUkJFRHdzZ0FVRy9mMHNFUUVHa3hRTkJNRFlDQUVFQUR3c2dBRUY0YWtFUUlBRkJDMnBCZUhFZ0FVRUxTUnNRNEFraUFnUkFJQUpCQ0dvUEN5QUJFRVFpQWtVRVFFRUFEd3NnQWlBQUlBQkJmR29vQWdBaUEwRjRjVUVFUVFnZ0EwRURjUnRySWdNZ0FTQURJQUZKR3hCTUdpQUFFRGdnQWd0WkFRSi9BMEFnQUNBQkVKWURCRUFnQUJCZ0lRSURRQUpBSUFKRkRRQUNRQ0FBSUFKQmYyb2lBbW9pQXl3QUFFRUthdzRFQUFFQkFBRUxJQU5CQURvQUFBd0JDd3NnQUN3QUFDSUNRUUFnQWtFalJ4dEZEUUVMQ3d2bUJBSUlmd1I4SXdZaENDTUdRYkFCYWlRR0lBaEJxQUZxSVFVZ0NFR2dBV29oQmlBSVFaQUJhaUVLSUFoQk1Hb2hDeUFCS0FJSUlnZEJBMGdFZjBGL0JRSi9JQWRCNEFCc0VFUWlDVVVFUUVFQVFRTkJ5dGdDSUFZUVBVRi9EQUVMSUFkQkJIUVFSQ0lIUlFSQVFRQkJBMEhLMkFJZ0JSQTlJQWtRT0VGL0RBRUxRUUFoQlFOQUlBVkJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdCVUVGZENBRGFpQUdRUU4wYWlBRlFRVjBJQUpxSUFaQkEzUnFLd01BT1FNQUlBWkJBV29oQmd3QkN3c2dCVUVCYWlFRkRBRUxDMEVBSVFZQ1FBSkFBa0FEUUFKQUlBQWdBeUFMRUxNQ1JBQUFBQUFBQUFBQUlRMUJBQ0VGQTBBZ0JTQUJLQUlJSWdKSUJFQWdDaUFMSUFFb0FnUWdCVUVZYkdvUXV3UkJBRWdOQWlBQktBSUFJZ0lnQlVFRWRHb3JBd0FnQ2lzREFLRWhEaUFGUVFSMElBSnFLd01JSUFvckF3aWhJUThnQlVFQmRDSUNRUU4wSUFkcUlBNDVBd0FnQWtFQmNrRURkQ0FIYWlBUE9RTUFJQTBnRGlBT29pQVBJQStpb0tBaERTQUZRUUZxSVFVTUFRc0xJQTBnQXJlaklnMGdBQ3NEYUdNTkJDQUdCRUFnRFNBQUt3TjRZd1JBSUEwZ0VLTWdBQ3NEY0dRTkJnc0xJQVlnQUNnQ1lFWU5CRUVBSVFVRFFDQUZJQUpJQkVBZ0JVRU1iRUVEZENBSmFpQUFJQU1nQVNnQ0JDQUZRUmhzYWhDNUJFRUFTQTBFSUFWQkFXb2hCU0FCS0FJSUlRSU1BUXNMSUFnZ0J5QUpJQUpCQVhRUXN3UkJBRWdOQXlBRElBZ1FzZ1FnRFNFUUlBWkJBV29oQmd3QkN3c2dDU0FIRU9BQ1FYOE1Bd3NnQ1NBSEVPQUNRWDhNQWdzZ0NTQUhFT0FDUVg4TUFRc2dCQ0FOT1FNQUlBa1FPQ0FIRURoQkFBc0xJUXdnQ0NRR0lBd0xYQUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBUkE3SUFOQnFNNERFRG9pQVNnQ0FDZ0NFQ0VFSUFJZ0FTQUVRZjhBY1VFSWFoRUFBRFlDQUNBQktBSUFLQUlVSVFJZ0FDQUJJQUpCUDNGQnNnVnFFUU1BSUFNUVBDQURKQVlMQ1FBZ0FDQUJFSW9MQzF3QkFuOGpCaUVESXdaQkVHb2tCaUFESUFFUU95QURRWkRPQXhBNklnRW9BZ0FvQWhBaEJDQUNJQUVnQkVIL0FIRkJDR29SQUFBNkFBQWdBU2dDQUNnQ0ZDRUNJQUFnQVNBQ1FUOXhRYklGYWhFREFDQURFRHdnQXlRR0N4QUFJQUFnQVNBQUtBSVlSWEkyQWhBTGV3RUJmeUFBUVg5R0JFQkJmeUVBQlFKQUlBRW9Ba3hCZjBvRWYwRUJCVUVBQ3hvQ1FBSkFJQUVvQWdRaUFnMEFJQUVRcHdJYUlBRW9BZ1FpQWcwQURBRUxJQUlnQVNnQ0xFRjRha3NFUUNBQklBSkJmMm9pQWpZQ0JDQUNJQUE2QUFBZ0FTQUJLQUlBUVc5eE5nSUFEQUlMQzBGL0lRQUxDeUFBQzFRQkFuOGdBVUVmU3dSL0lBQWdBQ2dDQUNJQ05nSUVJQUJCQURZQ0FDQUJRV0JxSVFGQkFBVWdBQ2dDQkNFQ0lBQW9BZ0FMSVFNZ0FDQUNJQUYwSUFOQklDQUJhM1p5TmdJRUlBQWdBeUFCZERZQ0FBdVhBd0VGZnlNR0lRZ2pCa0h3QVdva0JpQUlRZWdCYWlJSklBTW9BZ0FpQnpZQ0FDQUpJQU1vQWdRaUF6WUNCQ0FJSUFBMkFnQUNRQUpBSUFNZ0IwRUJSM0lFUUVFQUlBRnJJUXNnQUNBRVFRSjBJQVpxS0FJQWF5SUtJQUFnQWtFL2NVR0tBV29SQWdCQkFVZ0VRRUVCSVFNRlFRRWhCeUFGUlNFRklBQWhBeUFLSVFBRGZ5QUZJQVJCQVVweEJFQWdCRUYrYWtFQ2RDQUdhaWdDQUNFS0lBTWdDMm9pQlNBQUlBSkJQM0ZCaWdGcUVRSUFRWDlLQkVBZ0J5RUZJQU1oQUF3RkN5QUZJQXBySUFBZ0FrRS9jVUdLQVdvUkFnQkJmMG9FUUNBSElRVWdBeUVBREFVTEN5QUhRUUZxSVFVZ0IwRUNkQ0FJYWlBQU5nSUFJQWtnQ1JDQkF5SURFUElCSUFNZ0JHb2hCQ0FKS0FJQVFRRkhJQWtvQWdSQkFFZHlSUTBESUFBZ0JFRUNkQ0FHYWlnQ0FHc2lDaUFJS0FJQUlBSkJQM0ZCaWdGcUVRSUFRUUZJQkg4Z0JTRURRUUFGSUFBaEF5QUZJUWRCQVNFRklBb2hBQXdCQ3dzaEJRc0ZRUUVoQXdzZ0JVVUVRQ0FESVFVTUFRc01BUXNnQVNBSUlBVVEvd0lnQUNBQklBSWdCQ0FHRUtJQ0N5QUlKQVlMVkFFQ2Z5QUJRUjlMQkg4Z0FDQUFLQUlFSWdJMkFnQWdBRUVBTmdJRUlBRkJZR29oQVVFQUJTQUFLQUlBSVFJZ0FDZ0NCQXNoQXlBQUlBTkJJQ0FCYTNRZ0FpQUJkbkkyQWdBZ0FDQURJQUYyTmdJRUMxNEJBWDhDZnlBQUtBSk1RUUJPQkVBZ0FDZ0NCQ0lCSUFBb0FnaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFROVFFTERBRUxJQUFvQWdRaUFTQUFLQUlJU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVQVUJDd3NMRWdBZ0FDZ0NUQm9nQUNBQnJDQUNFSWtEQzBrQkEzOGpCaUVCSXdaQkVHb2tCaUFBRUtjQ0JIOUJmd1VnQUNnQ0lDRUNJQUFnQVVFQklBSkJQM0ZCeWdGcUVRUUFRUUZHQkg4Z0FTMEFBQVZCZndzTElRTWdBU1FHSUFNTEVBQWdBVkFFZmtJQUJTQUFJQUdBQ3d0ZUFRRi9JQVJCQUV3RVFBOExJQUZCQW5RZ0FHb2hBQ0FEUVFKMElBSnFJUUVEUUNBQVFRUnFJUUlnQVVFRWFpRURJQUVvQWdBZ0FDZ0NBQ0FGRUV3YUlBUkJmMm9oQmlBRVFRRktCRUFnQWlFQUlBTWhBU0FHSVFRTUFRc0xDeE1BSUFFZ0FFRi9hbW9pQUNBQUlBRVFUMnNMdkMwQkNYOGpCaUVLSXdaQm9BcHFKQVlnQWtFRFN3UkFJQUFvQWdBaUJVRTBOZ0lVSUFVZ0FqWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQUxJQUJCdEFGcUlBSkJBblJxSUFCQnhBRnFJQUpCQW5ScUlBRkJBRWNpREJzb0FnQWlCa1VFUUNBQUtBSUFJZ0ZCTkRZQ0ZDQUJJQUkyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBREtBSUFJZ1JGQkVBZ0FDZ0NCQ2dDQUNFQklBTWdBRUVCUVpBTElBRkJQM0ZCeWdGcUVRUUFJZ1EyQWdBTElBQWhDeUFLUVpBSWFpRUpJQVFnQmpZQ2pBRWdCaXdBQVNJQ1FmOEJjU0VCSUFJRVFDQUpRUUVnQVJCRkdnVkJBQ0VCQ3lBQklBWXNBQUlpQTBIL0FYRWlCV29pQWtHQUFrc0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUUlnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FBeUlEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJBeUFGRUVVYUlBSWhBUXNnQVNBR0xBQUVJZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRUVJQVVRUlJvZ0FpRUJDeUFCSUFZc0FBVWlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRVWdCUkJGR2lBQ0lRRUxJQUVnQml3QUJpSURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkJpQUZFRVVhSUFJaEFRc2dBU0FHTEFBSElnTkIvd0Z4SWdWcUlnSkJnQUpLQkVBZ0FDZ0NBQ0lJUVFrMkFoUWdDQ2dDQUNFSUlBc2dDRUgvQVhGQnJBTnFFUUVBQ3lBREJFQWdBU0FKYWtFSElBVVFSUm9nQWlFQkN5QUJJQVlzQUFnaUEwSC9BWEVpQldvaUFrR0FBa29FUUNBQUtBSUFJZ2hCQ1RZQ0ZDQUlLQUlBSVFnZ0N5QUlRZjhCY1VHc0Eyb1JBUUFMSUFNRVFDQUJJQWxxUVFnZ0JSQkZHaUFDSVFFTElBRWdCaXdBQ1NJRFFmOEJjU0lGYWlJQ1FZQUNTZ1JBSUFBb0FnQWlDRUVKTmdJVUlBZ29BZ0FoQ0NBTElBaEIvd0Z4UWF3RGFoRUJBQXNnQXdSQUlBRWdDV3BCQ1NBRkVFVWFJQUloQVFzZ0FTQUdMQUFLSWdOQi93RnhJZ1ZxSWdKQmdBSktCRUFnQUNnQ0FDSUlRUWsyQWhRZ0NDZ0NBQ0VJSUFzZ0NFSC9BWEZCckFOcUVRRUFDeUFEQkVBZ0FTQUpha0VLSUFVUVJSb2dBaUVCQ3lBQklBWXNBQXNpQTBIL0FYRWlCV29pQWtHQUFrb0VRQ0FBS0FJQUlnaEJDVFlDRkNBSUtBSUFJUWdnQ3lBSVFmOEJjVUdzQTJvUkFRQUxJQU1FUUNBQklBbHFRUXNnQlJCRkdpQUNJUUVMSUFFZ0Jpd0FEQ0lEUWY4QmNTSUZhaUlDUVlBQ1NnUkFJQUFvQWdBaUNFRUpOZ0lVSUFnb0FnQWhDQ0FMSUFoQi93RnhRYXdEYWhFQkFBc2dBd1JBSUFFZ0NXcEJEQ0FGRUVVYUlBSWhBUXNnQVNBR0xBQU5JZ05CL3dGeElnVnFJZ0pCZ0FKS0JFQWdBQ2dDQUNJSVFRazJBaFFnQ0NnQ0FDRUlJQXNnQ0VIL0FYRkJyQU5xRVFFQUN5QURCRUFnQVNBSmFrRU5JQVVRUlJvZ0FpRUJDeUFCSUFZc0FBNGlBMEgvQVhFaUJXb2lBa0dBQWtvRVFDQUFLQUlBSWdoQkNUWUNGQ0FJS0FJQUlRZ2dDeUFJUWY4QmNVR3NBMm9SQVFBTElBTUVRQ0FCSUFscVFRNGdCUkJGR2lBQ0lRRUxJQUVnQml3QUR5SURRZjhCY1NJRmFpSUNRWUFDU2dSQUlBQW9BZ0FpQ0VFSk5nSVVJQWdvQWdBaENDQUxJQWhCL3dGeFFhd0RhaEVCQUFzZ0F3UkFJQUVnQ1dwQkR5QUZFRVVhSUFJaEFRc2dBU0FHTEFBUUlnSkIvd0Z4SWdOcUlnaEJnQUpLQkVBZ0FDZ0NBQ0lGUVFrMkFoUWdCU2dDQUNFRklBc2dCVUgvQVhGQnJBTnFFUUVBQ3lBQ0JFQWdBU0FKYWtFUUlBTVFSUm9GSUFFaENBc2dDQ0FKYWtFQU9nQUFJQWtzQUFBaUJRUkFRUUFoQVVFQUlRSWdCU0VEQTBBZ0JTQURRUmgwUVJoMVJnUkFBMEFnQWtFQ2RDQUthaUFCTmdJQUlBRkJBV29oQVNBRklBa2dBa0VCYWlJQ2Fpd0FBQ0lEUmcwQUN3c2dBVUVCSUFWMFRnUkFJQUFvQWdBaUIwRUpOZ0lVSUFjb0FnQWhCeUFMSUFkQi93RnhRYXdEYWhFQkFBc2dBVUVCZENFQklBVkJBV29oQlNBRFFmOEJjUTBBQ3dzZ0JDQUdMQUFCQkg4Z0JFRUFJQW9vQWdCck5nSk1JQVl0QUFFaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFRQWhBVUYvQ3pZQ0JDQUVJQVlzQUFJRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFsQWdBU0FHTFFBQ2FpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWdnZ0JDQUdMQUFEQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKVUlBRWdCaTBBQTJvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0lNSUFRZ0Jpd0FCQVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDV0NBQklBWXRBQVJxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNFQ0FFSUFZc0FBVUVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBbHdnQVNBR0xRQUZhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFoUWdCQ0FHTEFBR0JIOGdCQ0FCSUFGQkFuUWdDbW9vQWdCck5nSmdJQUVnQmkwQUJtb2lBaUVCSUFKQmYycEJBblFnQ21vb0FnQUZRWDhMTmdJWUlBUWdCaXdBQndSL0lBUWdBU0FCUVFKMElBcHFLQUlBYXpZQ1pDQUJJQVl0QUFkcUlnSWhBU0FDUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDSENBRUlBWXNBQWdFZnlBRUlBRWdBVUVDZENBS2FpZ0NBR3MyQW1nZ0FTQUdMUUFJYWlJQ0lRRWdBa0YvYWtFQ2RDQUthaWdDQUFWQmZ3czJBaUFnQkNBR0xBQUpCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0pzSUFFZ0JpMEFDV29pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSWtJQVFnQml3QUNnUi9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNjQ0FCSUFZdEFBcHFJZ0loQVNBQ1FYOXFRUUowSUFwcUtBSUFCVUYvQ3pZQ0tDQUVJQVlzQUFzRWZ5QUVJQUVnQVVFQ2RDQUthaWdDQUdzMkFuUWdBU0FHTFFBTGFpSUNJUUVnQWtGL2FrRUNkQ0FLYWlnQ0FBVkJmd3MyQWl3Z0JDQUdMQUFNQkg4Z0JDQUJJQUZCQW5RZ0Ntb29BZ0JyTmdKNElBRWdCaTBBREdvaUFpRUJJQUpCZjJwQkFuUWdDbW9vQWdBRlFYOExOZ0l3SUFRZ0Jpd0FEUVIvSUFRZ0FTQUJRUUowSUFwcUtBSUFhellDZkNBQklBWXRBQTFxSWdJaEFTQUNRWDlxUVFKMElBcHFLQUlBQlVGL0N6WUNOQ0FFSUFZc0FBNEVmeUFFSUFFZ0FVRUNkQ0FLYWlnQ0FHczJBb0FCSUFFZ0JpMEFEbW9pQWlFQklBSkJmMnBCQW5RZ0Ntb29BZ0FGUVg4TE5nSTRJQVFnQml3QUR3Ui9JQVFnQVNBQlFRSjBJQXBxS0FJQWF6WUNoQUVnQVNBR0xRQVBhaUlDSVFFZ0FrRi9ha0VDZENBS2FpZ0NBQVZCZndzMkFqd2dCRUZBYXlBR0xBQVFCSDhnQkNBQklBRkJBblFnQ21vb0FnQnJOZ0tJQVNBQklBWXRBQkJxUVg5cVFRSjBJQXBxS0FJQUJVRi9DellDQUNBRVFmLy9QellDUkNBRVFaQUJha0VBUVlBSUVFVWFJQVlzQUFFRVFFRUJJUU5CQUNFQkEwQWdBU0FHUVJGcWFpRUhRWUFCSVFVZ0FVRUNkQ0FLYWlnQ0FFRUhkQ0VDQTBBZ0JFR1FBV29nQWtFQ2RHcEJBVFlDQUNBQ0lBUkJrQWxxYWlBSExBQUFPZ0FBSUFKQkFXb2hBaUFGUVg5cUlRa2dCVUVCU2dSQUlBa2hCUXdCQ3dzZ0EwRUJhaUVDSUFGQkFXb2hBU0FESUFZdEFBRkpCRUFnQWlFRERBRUxDd1ZCQUNFQkN5QUdMQUFDQkVCQkFTRURBMEFnQVNBR1FSRnFhaUVIUWNBQUlRVWdBVUVDZENBS2FpZ0NBRUVHZENFQ0EwQWdCRUdRQVdvZ0FrRUNkR3BCQWpZQ0FDQUNJQVJCa0FscWFpQUhMQUFBT2dBQUlBSkJBV29oQWlBRlFYOXFJUWtnQlVFQlNnUkFJQWtoQlF3QkN3c2dBMEVCYWlFQ0lBRkJBV29oQVNBRElBWXRBQUpKQkVBZ0FpRUREQUVMQ3dzZ0Jpd0FBd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJCWFFpQ1VFQ2RHcEJBellDQUNBSklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dDVUVCY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVIY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUNhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVEYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUZhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVHYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSGFpSUZRUUowYWtFRE5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRVBjaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFSWFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUphaUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVLYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFTGFpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRU1haUlIUVFKMGFrRUROZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVOYWlJSFFRSjBha0VETmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFT2FpSUhRUUowYWtFRE5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRVBhaUlGUVFKMGFrRUROZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVmY2lJRlFRSjBha0VETmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBTkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkJIUWlDVUVDZEdwQkJEWUNBQ0FKSUFSQmtBbHFhaUFCSUFaQkVXcHFJZ01zQUFBNkFBQWdCRUdRQVdvZ0NVRUJjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFRGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUJhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVDYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRGFpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRUhjaUlGUVFKMGFrRUVOZ0lBSUFVZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVCYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFQ2FpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVFYWlJSFFRSjBha0VFTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQlVFRmFpSUhRUUowYWtFRU5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRUdhaUlIUVFKMGFrRUVOZ0lBSUFjZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIYWlJRlFRSjBha0VFTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFUGNpSUZRUUowYWtFRU5nSUFJQVVnQkVHUUNXcHFJQU1zQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVJKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCUVJBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBM1FpQlVFQ2RHcEJCVFlDQUNBRklBUkJrQWxxYWlBQklBWkJFV3BxSWdNc0FBQTZBQUFnQkVHUUFXb2dCVUVCY2lJSlFRSjBha0VGTmdJQUlBa2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQmFpSUpRUUowYWtFRk5nSUFJQWtnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0JVRURjaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSFFRSjBha0VGTmdJQUlBY2dCRUdRQ1dwcUlBTXNBQUE2QUFBZ0JFR1FBV29nQ1VFQ2FpSUhRUUowYWtFRk5nSUFJQWNnQkVHUUNXcHFJQU1zQUFBNkFBQWdCRUdRQVdvZ0NVRURhaUlKUVFKMGFrRUZOZ0lBSUFrZ0JFR1FDV3BxSUFNc0FBQTZBQUFnQkVHUUFXb2dCVUVIY2lJRlFRSjBha0VGTmdJQUlBVWdCRUdRQ1dwcUlBTXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBVkpCRUFnQXlFQ0RBRUxDd3NnQml3QUJnUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdCQkFuUWlBMEVDZEdwQkJqWUNBQ0FESUFSQmtBbHFhaUFCSUFaQkVXcHFJZ1VzQUFBNkFBQWdCRUdRQVdvZ0EwRUJjaUlKUVFKMGFrRUdOZ0lBSUFrZ0JFR1FDV3BxSUFVc0FBQTZBQUFnQkVHUUFXb2dDVUVCYWlJSlFRSjBha0VHTmdJQUlBa2dCRUdRQ1dwcUlBVXNBQUE2QUFBZ0JFR1FBV29nQTBFRGNpSURRUUowYWtFR05nSUFJQU1nQkVHUUNXcHFJQVVzQUFBNkFBQWdBa0VCYWlFRElBRkJBV29oQVNBQ0lBWXRBQVpKQkVBZ0F5RUNEQUVMQ3dzZ0Jpd0FCd1JBUVFFaEFnTkFJQVJCa0FGcUlBRkJBblFnQ21vb0FnQkJBWFFpQTBFQ2RHcEJCellDQUNBRElBUkJrQWxxYWlBQklBWkJFV3BxSWdVc0FBQTZBQUFnQkVHUUFXb2dBMEVCY2lJRFFRSjBha0VITmdJQUlBTWdCRUdRQ1dwcUlBVXNBQUE2QUFBZ0FrRUJhaUVESUFGQkFXb2hBU0FDSUFZdEFBZEpCRUFnQXlFQ0RBRUxDd3NnQml3QUNBUkFRUUVoQWdOQUlBUkJrQUZxSUFGQkFuUWdDbW9vQWdBaUEwRUNkR3BCQ0RZQ0FDQURJQVJCa0FscWFpQUJJQVpCRVdwcUxBQUFPZ0FBSUFKQkFXb2hBeUFCUVFGcUlRRWdBaUFHTFFBSVNRUkFJQU1oQWd3QkN3c0xJQXdnQ0VFQVNuRkZCRUFnQ2lRR0R3dEJBQ0VCQTBBZ0FTQUdRUkZxYWkwQUFFRVBTZ1JBSUFBb0FnQWlBa0VKTmdJVUlBSW9BZ0FoQWlBTElBSkIvd0Z4UWF3RGFoRUJBQXNnQVVFQmFpSUJJQWhIRFFBTElBb2tCZ3U4QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVYwSUFCcUlRVWdCRUVGZENBQWFpRUdJQVJCQlhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFEUVFKMElBRnFLZ0lBSUFVckF3QzJsQ0FCUVJCcUlBTkJBblJxS2dJQUlBWXJBd2kybEpJZ0FVRWdhaUFEUVFKMGFpb0NBQ0FIS3dNUXRwU1NPQUlBSUFOQkFXb2hBd3dCQ3dzZ0JFRUVkQ0FDYWlJRElBTXFBZ3dnQkVFRmRDQUFhaXNER0xhU09BSU1JQVJCQVdvaEJBd0JDd3NMK2xjRERuOERmUWw4SXdZaERTTUdRWUFDYWlRR0lBMUIwQUJxSVJJZ0RVR1FBV29pRDBRQUFBQUFBQUJaUURrREFDQVBSQUFBQUFBQUFGbEFPUU1JSUE5RUFBQUFBQUNBVzBBNUF4QWdEMFFBQUFBQUFBQlpRRGtER0NBUFJBQUFBQUFBZ0Z0QU9RTWdJQTlFQUFBQUFBQ0FXMEE1QXlnZ0QwUUFBQUFBQUFCWlFEa0RNQ0FQUkFBQUFBQUFnRnRBT1FNNEEwQWdFRUVFUndSQUlCQkJCSFFnRW1vZ0VFRUVkQ0FKYWlzREFEa0RBQ0FRUVFSMElCSnFJQkJCQkhRZ0NXb3JBd2c1QXdnZ0VFRUJhaUVRREFFTEN5QVBJQklnRFJDSkJ5QVNLd01BSWgwZ0Vpc0RFQ0llb1NJZklCK2lJQklyQXdnaUh5QVNLd01ZSWlDaElpRWdJYUtnRUhNaENTQVNLd01nSWlFZ0Vpc0RNQ0lpb1NJaklDT2lJQklyQXlnaUl5QVNLd000SWlTaElpVWdKYUtnRUhNaEVpQWVJQ0doSWg0Z0hxSWdJQ0Fqb1NJZUlCNmlvQkJ6SVE4Z0lpQWRvU0lkSUIyaUlDUWdINkVpSFNBZG9xQVFjeUVRSUJJZ0NTQVNJQWxLRzdjZ0NxSWdDcUlRY3lFVklCQWdEeUFRSUE5S0c3Y2dDcUlnQ3FJUWN5RVFJQUFFUUNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKUVFKMGJDQVZTQ0FKSUFOSWNRUkFJQkloQ1F3QkN3c2dBaUVTQTBBZ0VrRUJkQ0VQSUJJZ0VrRUNkR3dnRUVnZ0VpQURTSEVFUUNBUElSSU1BUXNMQlNBQ0lRa0RRQ0FKUVFGMElSSWdDU0FKYkNBVlNDQUpJQU5JY1FSQUlCSWhDUXdCQ3dzZ0FpRVNBMEFnRWtFQmRDRVBJQklnRW13Z0VFZ2dFaUFEU0hFRVFDQVBJUklNQVFzTEN5QU5RZWdCYWlFTUlBMUI0QUZxSVE0Z0RVSFlBV29oRXlBTlFkQUJhaUVSSUExQjhBRnFJUkFnRFVIc0FXb2hEeUFESUFrZ0NTQURTaHNpQ1NBQ0VEa2hGU0FESUJJZ0VpQURTaHNpQXlBQ0VEa2hFa1FBQUFBQUFBRHdQeUFLb1VRQUFBQUFBQURnUDZKRUFBQUFBQUFBSkVDaUlSMGdDa1FBQUFBQUFBQWtRS0loQ2lBQ0lBSnNJUlFDZndKQUlBRUVRQ0FVUVFRUWpRSWlBVVVFUUVFQVFRTkJ1ZGdDSUE0UVBVRUJFQUVMQWtBZ0IwRUNTUVJBSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEV5QUFRUUZHSVJGQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FUS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBUkJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFRGJDSU1haTBBQUNBRUlBeEJBV3BxTFFBQWFpQUVJQXhCQW1wcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFVZ0IwRUJja0VEUmdSQUlCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hFeUFBUVFGR0lSRkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVEt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVJCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNYWkwQUFDQUVJQXhCQVhKcUxRQUFhaUFFSUF4QkFuSnFMUUFBYWtFREVFZ2hEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dCMEVDY2tFR1JnUkFJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwRElCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBISUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VDZENJTVFRRnlhaTBBQUNBRUlBeEJBbkpxTFFBQWFpQUVJQXhCQTNKcUxRQUFha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FIUVFWckRnb0FCZ0VDQXdRRkFBQUFCZ3NnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRUNkQ0FCYWlJT0lBd2dEaWdDQUdvMkFnQUxDeUFIUVFGcUlRY01BUXNMSUFCQkFXb2hBQXdBQUFzQUN5QWRSQUFBQUFBQUFGbEFvQ0VlSUFPM0lTRWdDYmNoSWlBTlFVQnJJUk1nQUVFQlJpRVJRUUFoQUFOQUlBQWdBMDROQnlBZUlBb2dBTGRFQUFBQUFBQUE0RCtnb2lBaG82QWhIVUVBSVFjRFFDQUhJQWxJQkVBZ0V5c0RBQ0FlSUFvZ0I3ZEVBQUFBQUFBQTREK2dvaUFpbzZBaUh5QU5Ld013b2lBZElBMHJBemlpb0tBaUlFUUFBQUFBQUFBQUFHRU5DeUFRSUEwckF4QWdIeUFOS3dNQW9pQWRJQTByQXdpaW9LQWdJS08ySWhvNEFnQWdEeUFOS3dNb0lCOGdEU3NER0tJZ0hTQU5Ld01nb3FDZ0lDQ2p0aUliT0FJQUlBZ2dHaUFiSUJBZ0R4QnRHaUFRS2dJQUlSb2dFUVIvSUJwREFBQ0FQNUlRUTBFQ0VEbEJBWFFoRENBUEtnSUFRd0FBZ0QrU0VFTkJBaEE1UVFGMEJTQWFRd0FBQUQrU0VFTWhEQ0FQS2dJQVF3QUFBRCtTRUVNTElRNGdERUYvU2dSQUlBd2dCVWdnRGtGL1NuRWdEaUFHU0hFRVFDQUVJQXdnQlNBT2JHcEJBWFJCQVhKcUxRQUFJUXdnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUUowSUFGcUlnNGdEQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRXlBQVFRRkdJUkZCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVRLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFSQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZEdvdEFBQWhEQ0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBblFnQVdvaURpQU1JQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVUSUFCQkFVWWhFVUVBSVFBRFFDQUFJQU5PRFFVZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCTXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUWtnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQkVFZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUYwSWd4cUxRQUFJZzVCK0FGeFFRUnlJQTVCQlhSQjRBRnhJQVFnREVFQmNtb3RBQUFpREVFRGRrRWNjWEpCQW5KcUlBeEJBM1JCK0FGeFFRUnlha0VERUVnaERDQUFJQklRT1NBQ2JDQUhJQlVRT1dwQkFuUWdBV29pRGlBTUlBNG9BZ0JxTmdJQUN3c2dCMEVCYWlFSERBRUxDeUFBUVFGcUlRQU1BQUFMQUFzZ0hVUUFBQUFBQUFCWlFLQWhIaUFEdHlFaElBbTNJU0lnRFVGQWF5RVRJQUJCQVVZaEVVRUFJUUFEUUNBQUlBTk9EUVFnSGlBS0lBQzNSQUFBQUFBQUFPQS9vS0lnSWFPZ0lSMUJBQ0VIQTBBZ0J5QUpTQVJBSUJNckF3QWdIaUFLSUFlM1JBQUFBQUFBQU9BL29LSWdJcU9nSWg4Z0RTc0RNS0lnSFNBTkt3TTRvcUNnSWlCRUFBQUFBQUFBQUFCaERRZ2dFQ0FOS3dNUUlCOGdEU3NEQUtJZ0hTQU5Ld01Jb3FDZ0lDQ2p0aUlhT0FJQUlBOGdEU3NES0NBZklBMHJBeGlpSUIwZ0RTc0RJS0tnb0NBZ283WWlHemdDQUNBSUlCb2dHeUFRSUE4UWJSb2dFQ29DQUNFYUlCRUVmeUFhUXdBQWdEK1NFRU5CQWhBNVFRRjBJUXdnRHlvQ0FFTUFBSUEva2hCRFFRSVFPVUVCZEFVZ0drTUFBQUEva2hCRElRd2dEeW9DQUVNQUFBQS9raEJEQ3lFT0lBeEJmMG9FUUNBTUlBVklJQTVCZjBweElBNGdCa2h4QkVBZ0JDQU1JQVVnRG14cVFRRjBJZ3hxTFFBQUlnNUIrQUZ4UVFSeUlBNUJCWFJCNEFGeElBUWdERUVCY21vdEFBQWlERUVEZGtFWWNYSkJCSEpxSUF4QkFuUkIrQUZ4UVFSeWFrRURFRWdoRENBQUlCSVFPU0FDYkNBSElCVVFPV3BCQW5RZ0FXb2lEaUFNSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVElBQkJBVVloRVVFQUlRQURRQ0FBSUFOT0RRTWdIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQk1yQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFFjZ0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJFRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxUVFGMElneHFMUUFBSWc1QjhBRnhRUWh5SUE1QkJIUkI4QUZ4UVFoeWFpQUVJQXhCQVhKcUxBQUFRWEJ4UVFoeVFmOEJjV3BCQXhCSUlRd2dBQ0FTRURrZ0Ftd2dCeUFWRURscVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTFFRQkJBMEh5cUFFZ0RCQTlEQU1MQUFzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnRkVjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzRklCUkJBMndpR0VFRUVJMENJZ0ZGQkVCQkFFRURRYm5ZQWlBUkVEMUJBUkFCQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0J3NFBBQUVDQXdRRkJnY0lDUW9MQlFVRkRBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFEwZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkVnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4QkFtcHFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBV3BxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFF3Z0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUkFnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUU5zSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFXcHFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW1wcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFzZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUThnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFuSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBWEpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4cUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFvZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTRnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4cUxRQUFJUkVnQUNBU0VEa2dBbXdnQnlBVkVEbHFRUU5zSWc1QkFuUWdBV29pRmlBUklCWW9BZ0JxTmdJQUlBNUJBV3BCQW5RZ0FXb2lFU0FFSUF4QkFYSnFMUUFBSUJFb0FnQnFOZ0lBSUE1QkFtcEJBblFnQVdvaURpQUVJQXhCQW5KcUxRQUFJQTRvQWdCcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBc2dIVVFBQUFBQUFBQlpRS0FoSGlBRHR5RWhJQW0zSVNJZ0RVRkFheUVVSUFCQkFVWWhFMEVBSVFBRFFDQUFJQU5PRFFrZ0hpQUtJQUMzUkFBQUFBQUFBT0Evb0tJZ0lhT2dJUjFCQUNFSEEwQWdCeUFKU0FSQUlCUXJBd0FnSGlBS0lBZTNSQUFBQUFBQUFPQS9vS0lnSXFPZ0loOGdEU3NETUtJZ0hTQU5Ld000b3FDZ0lpQkVBQUFBQUFBQUFBQmhEUTBnRUNBTkt3TVFJQjhnRFNzREFLSWdIU0FOS3dNSW9xQ2dJQ0NqdGlJYU9BSUFJQThnRFNzREtDQWZJQTByQXhpaUlCMGdEU3NESUtLZ29DQWdvN1lpR3pnQ0FDQUlJQm9nR3lBUUlBOFFiUm9nRUNvQ0FDRWFJQk1FZnlBYVF3QUFnRCtTRUVOQkFoQTVRUUYwSVF3Z0R5b0NBRU1BQUlBL2toQkRRUUlRT1VFQmRBVWdHa01BQUFBL2toQkRJUXdnRHlvQ0FFTUFBQUEva2hCREN5RU9JQXhCZjBvRVFDQU1JQVZJSUE1QmYwcHhJQTRnQmtoeEJFQWdCQ0FNSUFVZ0RteHFRUUowSWd4QkFYSnFMUUFBSVJFZ0FDQVNFRGtnQW13Z0J5QVZFRGxxUVFOc0lnNUJBblFnQVdvaUZpQVJJQllvQWdCcU5nSUFJQTVCQVdwQkFuUWdBV29pRVNBRUlBeEJBbkpxTFFBQUlCRW9BZ0JxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEaUFFSUF4QkEzSnFMUUFBSUE0b0FnQnFOZ0lBQ3dzZ0IwRUJhaUVIREFFTEN5QUFRUUZxSVFBTUFBQUxBQXNnSFVRQUFBQUFBQUJaUUtBaEhpQUR0eUVoSUFtM0lTSWdEVUZBYXlFVUlBQkJBVVloRTBFQUlRQURRQ0FBSUFOT0RRZ2dIaUFLSUFDM1JBQUFBQUFBQU9BL29LSWdJYU9nSVIxQkFDRUhBMEFnQnlBSlNBUkFJQlFyQXdBZ0hpQUtJQWUzUkFBQUFBQUFBT0Evb0tJZ0lxT2dJaDhnRFNzRE1LSWdIU0FOS3dNNG9xQ2dJaUJFQUFBQUFBQUFBQUJoRFF3Z0VDQU5Ld01RSUI4Z0RTc0RBS0lnSFNBTkt3TUlvcUNnSUNDanRpSWFPQUlBSUE4Z0RTc0RLQ0FmSUEwckF4aWlJQjBnRFNzRElLS2dvQ0FnbzdZaUd6Z0NBQ0FJSUJvZ0d5QVFJQThRYlJvZ0VDb0NBQ0VhSUJNRWZ5QWFRd0FBZ0QrU0VFTkJBaEE1UVFGMElRd2dEeW9DQUVNQUFJQS9raEJEUVFJUU9VRUJkQVVnR2tNQUFBQS9raEJESVF3Z0R5b0NBRU1BQUFBL2toQkRDeUVPSUF4QmYwb0VRQ0FNSUFWSUlBNUJmMHB4SUE0Z0JraHhCRUFnQkNBTUlBVWdEbXhxYWkwQUFDRU1JQUFnRWhBNUlBSnNJQWNnRlJBNWFrRURiQ0lPUVFKMElBRnFJaEVnRENBUktBSUFhallDQUNBT1FRRnFRUUowSUFGcUloRWdEQ0FSS0FJQWFqWUNBQ0FPUVFKcVFRSjBJQUZxSWc0Z0RDQU9LQUlBYWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBISUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMExJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUNkQ0lNUVFOeWFpMEFBQ0VSSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0VTQVdLQUlBYWpZQ0FDQU9RUUZxUVFKMElBRnFJaEVnQkNBTVFRSnlhaTBBQUNBUktBSUFhallDQUNBT1FRSnFRUUowSUFGcUlnNGdCQ0FNUVFGeWFpMEFBQ0FPS0FJQWFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwR0lCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBLSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkdvdEFBQkJnSDlxc2lFYUlBUWdGRUVDYW1vdEFBQkJnSDlxc2lFYklCcERUaG9CUkpRZ0JDQU1JQTVxUVFGMFFRRnlhaTBBQUVGd2FySkRmd3FWUTVRaUhKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRVNBQVFRRkdJUlpCQUNFQUEwQWdBQ0FEVGcwRklCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVJLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBKSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFXQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnQlNBT2JDSU9JQXhCL3Y4RGNXcEJBWFFpRkVFQmNtb3RBQUJCZ0g5cXNpRWFJQVFnRkVFRGFtb3RBQUJCZ0g5cXNpRWJJQVFnRENBT2FrRUJkR290QUFCQmNHcXlRMzhLbFVPVUlod2dHa05PR2dGRWxKSVFRMEVJZFNFTUlCd2dHa1ArbE1oQ2xKTWdHME80SGxCRGxKTVFRMEVJZFNFT0lCd2dHME9nU3N4RGxKSVFRMEVJZFNFVUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSVRRUUowSUFGcUloY2dGeWdDQUNBTVFRQWdERUVBU2hzaURFSC9BU0FNUWY4QlNCdHFOZ0lBSUJOQkFXcEJBblFnQVdvaURDQU1LQUlBSUE1QkFDQU9RUUJLR3lJT1FmOEJJQTVCL3dGSUcybzJBZ0FnRTBFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRkVFQUlCUkJBRW9iSWd4Qi93RWdERUgvQVVnYmFqWUNBQXNMSUFkQkFXb2hCd3dCQ3dzZ0FFRUJhaUVBREFBQUN3QUxJQjFFQUFBQUFBQUFXVUNnSVI0Z0E3Y2hJU0FKdHlFaUlBMUJRR3NoRkNBQVFRRkdJUk5CQUNFQUEwQWdBQ0FEVGcwRUlCNGdDaUFBdDBRQUFBQUFBQURnUDZDaUlDR2pvQ0VkUVFBaEJ3TkFJQWNnQ1VnRVFDQVVLd01BSUI0Z0NpQUh0MFFBQUFBQUFBRGdQNkNpSUNLam9DSWZJQTByQXpDaUlCMGdEU3NET0tLZ29DSWdSQUFBQUFBQUFBQUFZUTBJSUJBZ0RTc0RFQ0FmSUEwckF3Q2lJQjBnRFNzRENLS2dvQ0FnbzdZaUdqZ0NBQ0FQSUEwckF5Z2dIeUFOS3dNWW9pQWRJQTByQXlDaW9LQWdJS08ySWhzNEFnQWdDQ0FhSUJzZ0VDQVBFRzBhSUJBcUFnQWhHaUFUQkg4Z0drTUFBSUEva2hCRFFRSVFPVUVCZENFTUlBOHFBZ0JEQUFDQVA1SVFRMEVDRURsQkFYUUZJQnBEQUFBQVA1SVFReUVNSUE4cUFnQkRBQUFBUDVJUVF3c2hEaUFNUVg5S0JFQWdEQ0FGU0NBT1FYOUtjU0FPSUFaSWNRUkFJQVFnRENBRklBNXNha0VCZENJUlFRRnlhaXdBQUNFTUlBQWdFaEE1SUFKc0lBY2dGUkE1YWtFRGJDSU9RUUowSUFGcUloWWdGaWdDQUNBTVFRTjBRZjhCY1VFRWNtbzJBZ0FnRGtFQmFrRUNkQ0FCYWlJV0lCWW9BZ0FnQkNBUmFpd0FBQ0lSUVFWMFFmOEJjU0FNUWVBQmNVRURkbkpCQW5KcU5nSUFJQTVCQW1wQkFuUWdBV29pRENBTUtBSUFJQkZCZUhGQkJISkIvd0Z4YWpZQ0FBc0xJQWRCQVdvaEJ3d0JDd3NnQUVFQmFpRUFEQUFBQ3dBTElCMUVBQUFBQUFBQVdVQ2dJUjRnQTdjaElTQUp0eUVpSUExQlFHc2hGQ0FBUVFGR0lSTkJBQ0VBQTBBZ0FDQURUZzBESUI0Z0NpQUF0MFFBQUFBQUFBRGdQNkNpSUNHam9DRWRRUUFoQndOQUlBY2dDVWdFUUNBVUt3TUFJQjRnQ2lBSHQwUUFBQUFBQUFEZ1A2Q2lJQ0tqb0NJZklBMHJBekNpSUIwZ0RTc0RPS0tnb0NJZ1JBQUFBQUFBQUFBQVlRMEhJQkFnRFNzREVDQWZJQTByQXdDaUlCMGdEU3NEQ0tLZ29DQWdvN1lpR2pnQ0FDQVBJQTByQXlnZ0h5QU5Ld01Zb2lBZElBMHJBeUNpb0tBZ0lLTzJJaHM0QWdBZ0NDQWFJQnNnRUNBUEVHMGFJQkFxQWdBaEdpQVRCSDhnR2tNQUFJQS9raEJEUVFJUU9VRUJkQ0VNSUE4cUFnQkRBQUNBUDVJUVEwRUNFRGxCQVhRRklCcERBQUFBUDVJUVF5RU1JQThxQWdCREFBQUFQNUlRUXdzaERpQU1RWDlLQkVBZ0RDQUZTQ0FPUVg5S2NTQU9JQVpJY1FSQUlBUWdEQ0FGSUE1c2FrRUJkQ0lSUVFGeWFpd0FBQ0VNSUFBZ0VoQTVJQUpzSUFjZ0ZSQTVha0VEYkNJT1FRSjBJQUZxSWhZZ0ZpZ0NBQ0FNUVFKMFFmOEJjVUVFY21vMkFnQWdEa0VCYWtFQ2RDQUJhaUlXSUJZb0FnQWdCQ0FSYWl3QUFDSVJRUVYwUWY4QmNTQU1RY0FCY1VFRGRuSkJCSEpxTmdJQUlBNUJBbXBCQW5RZ0FXb2lEQ0FNS0FJQUlCRkJlSEZCQkhKQi93RnhhallDQUFzTElBZEJBV29oQnd3QkN3c2dBRUVCYWlFQURBQUFDd0FMSUIxRUFBQUFBQUFBV1VDZ0lSNGdBN2NoSVNBSnR5RWlJQTFCUUdzaEZDQUFRUUZHSVJOQkFDRUFBMEFnQUNBRFRnMENJQjRnQ2lBQXQwUUFBQUFBQUFEZ1A2Q2lJQ0dqb0NFZFFRQWhCd05BSUFjZ0NVZ0VRQ0FVS3dNQUlCNGdDaUFIdDBRQUFBQUFBQURnUDZDaUlDS2pvQ0lmSUEwckF6Q2lJQjBnRFNzRE9LS2dvQ0lnUkFBQUFBQUFBQUFBWVEwR0lCQWdEU3NERUNBZklBMHJBd0NpSUIwZ0RTc0RDS0tnb0NBZ283WWlHamdDQUNBUElBMHJBeWdnSHlBTkt3TVlvaUFkSUEwckF5Q2lvS0FnSUtPMkloczRBZ0FnQ0NBYUlCc2dFQ0FQRUcwYUlCQXFBZ0FoR2lBVEJIOGdHa01BQUlBL2toQkRRUUlRT1VFQmRDRU1JQThxQWdCREFBQ0FQNUlRUTBFQ0VEbEJBWFFGSUJwREFBQUFQNUlRUXlFTUlBOHFBZ0JEQUFBQVA1SVFRd3NoRGlBTVFYOUtCRUFnRENBRlNDQU9RWDlLY1NBT0lBWkljUVJBSUFRZ0RDQUZJQTVzYWtFQmRDSU9RUUZ5YWl3QUFFRndjVUVJY2tIL0FYRWhFU0FBSUJJUU9TQUNiQ0FISUJVUU9XcEJBMndpREVFQ2RDQUJhaUlXSUJFZ0ZpZ0NBR28yQWdBZ0RFRUJha0VDZENBQmFpSVJJQkVvQWdBZ0JDQU9haXdBQUNJT1FRUjBRZjhCY1VFSWNtbzJBZ0FnREVFQ2FrRUNkQ0FCYWlJTUlBd29BZ0FnRGtGd2NVRUlja0gvQVhGcU5nSUFDd3NnQjBFQmFpRUhEQUVMQ3lBQVFRRnFJUUFNQUFBTEFBdEJBRUVEUWZLb0FTQVRFRDBNQWdzZ0VpQVZiQ0VDUVFBaEFBTkFJQUFnR0VjRVFDQUFJQXRxSUFCQkFuUWdBV29vQWdBZ0FoQklPZ0FBSUFCQkFXb2hBQXdCQ3dzTElBRVFPRUVBREFFTElBRVFPRUYvQ3lFWklBMGtCaUFaQzZrQkFDQUFJQUVxQWdDTU9BSUFJQUFnQVNvQ0JJdzRBZ1FnQUVNQUFJQy9PQUlJSUFCQkRHb1F3Z01nQUNBQ0tnSUFJQUVxQWdDVU9BSVlJQUFnQWlvQ0FDQUJLZ0lFbERnQ0hDQUFJQUlvQWdBMkFpQWdBRUVrYWhEQ0F5QUFJQUVxQWdDTU9BSXdJQUFnQVNvQ0JJdzRBalFnQUVNQUFJQy9PQUk0SUFBZ0Fpb0NCQ0FCS2dJQWxEZ0NQQ0FBUVVCcklBSXFBZ1FnQVNvQ0JKUTRBZ0FnQUNBQ0tBSUVOZ0pFQ3lRQUlBQWdBU0FDRUlVQlF3QUFBQUJlSUFNZ0JDQUZFSVVCUXdBQUFBQmVjMEVCY3dzTUFDQUFJQUVnQUNBQlhSc0xJQUFnQUNvQ0FDQUJLZ0lFbENBQUtnSUVJQUVxQWdDVWs0dERBQUFBUDVRTFRBRUNmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQUNJRGEwRURkU0FCU1FSQUlBSWdBU0FBS0FJRUlBTnJRUU4xSUFCQkNHb1FpQUlnQUNBQ0VNMENJQUlRekFJTElBSWtCZ3NIQUNBQVFSQnFDd2tBSUFBZ0FSRGJBd3NNQUNBQUlBRkJBWEU2QUdRTEtnQWdBRUVBTmdJQUlBQkJBRFlDQkNBQVFRQTJBZ2dnQVFSQUlBQWdBUkNkQ0NBQUlBRVE5Z01MQ3d3QUlBQWdBU0FBSUFGSUd3c1ZBQ0FBUWZ5RkFUWUNBQ0FBUVFScUlBRVEzZ0lMb3dJQ0JIOEJmU01HSVFNakJrRVFhaVFHSUFKREFBQUFBR0JGQkVBZ0EwSEF5QU5CblpzQ0VEZEJxSmtDRURkQjc2SUNFRGRCNkFFUVBrSDJvZ0lRTjBHL213SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dBMEdBemdNUU9pSUdLQUlBS0FJY0lRUWdCa0VLSUFSQlAzRkJpZ0ZxRVFJQUlRUWdBeEE4SUFVZ0JCQkFJQVVRUHhBQUN5QUFLQUlVc2lBQ1hnUkFJQUFxQWhnZ0FoRGxCRUVCSUFGMHNwUWhCeUFESkFZZ0J3OEZJQU5Cd01nRFFkYWJBaEEzUWFpWkFoQTNRZStpQWhBM1Fla0JFRDVCOXFJQ0VEZEJpWndDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFOQmdNNERFRG9pQVNnQ0FDZ0NIQ0VBSUFGQkNpQUFRVDl4UVlvQmFoRUNBQ0VBSUFNUVBDQUVJQUFRUUNBRUVEOFFBQXREQUFBQUFBdHpBUUYvSUFCQkFEWUNEQ0FBSUFNMkFoQWdBUVJBSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ01RaUFFZ0EwRzBpd0UyQWdBZ0EwSDQ5d0JCRmhBRUJTQUJRUU4wRUZFaEJBc0xJQUFnQkRZQ0FDQUFJQUpCQTNRZ0JHb2lBallDQ0NBQUlBSTJBZ1FnQUNBQlFRTjBJQVJxTmdJTUMwd0JBWDhnQUNnQ0FDRUNJQUFnQVNnQ0FEWUNBQ0FCSUFJMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQkRZQ0JDQUJJQUkyQWdRZ0FDZ0NDQ0VDSUFBZ0FTZ0NDRFlDQ0NBQklBSTJBZ2dMSEFBZ0FFRUFSeUFCUVFWSmNRUi9JQUFnQVRZQ0dFRUFCVUYvQ3dzSUFFRU9FQUpCQUFzSUFFRUlFQUpCQUF0WEFRRi9JQUFFUUNBQUlBRnNJUUlnQUNBQmNrSC8vd05MQkVBZ0FrRi9JQUlnQUJCSUlBRkdHeUVDQ3dzZ0FoQkVJZ0JGQkVBZ0FBOExJQUJCZkdvb0FnQkJBM0ZGQkVBZ0FBOExJQUJCQUNBQ0VFVWFJQUFMdkFFQkJYOGpCaUVESXdaQkVHb2tCaUFESUFFMkFnQWdBQ3dBQ3lJQlFRQklJZ1VFZnlBQUtBSUVJUUlnQUNnQ0NFSC8vLy8vQjNGQmYyb0ZJQUZCL3dGeElRSkJBUXNoQVNBRFFRUnFJUVFDUUFKQUlBRWdBa1lFUUNBQUlBRkJBU0FCSUFFUWtRUWdBQ3dBQzBFQVNBMEJCU0FGRFFFTElBQWdBa0VCYWpvQUN3d0JDeUFBS0FJQUlRWWdBQ0FDUVFGcU5nSUVJQVloQUFzZ0FrRUNkQ0FBYWlJQUlBTVFiaUFFUVFBMkFnQWdBRUVFYWlBRUVHNGdBeVFHQ3hJQUlBQVFPQ0FCRURnZ0FoQTRJQU1RT0FzSUFFSC8vLy8vQndzRkFFSC9BQXVKQmdFSWZ5TUdJUWtqQmtFUWFpUUdJQVpCb000REVEb2hDaUFHUWFqT0F4QTZJZ3NvQWdBb0FoUWhCaUFKSUFzZ0JrRS9jVUd5QldvUkF3QWdDU2dDQkNBSkxBQUxJZ1pCL3dGeElBWkJBRWdiQkVBZ0JTQUROZ0lBSUFJQ2Z3SkFBa0FnQUN3QUFDSUdRU3RyRGdNQUFRQUJDeUFLS0FJQUtBSXNJUWNnQ2lBR0lBZEJQM0ZCaWdGcUVRSUFJUVlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFHTmdJQUlBQkJBV29NQVFzZ0FBc2lCbXRCQVVvRVFDQUdMQUFBUVRCR0JFQWdCaXdBQVVIWUFHc2lCMEVBSUFkQklFY2JSUVJBSUFvb0FnQW9BaXdoQnlBS1FUQWdCMEUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFRWFqWUNBQ0FJSUFjMkFnQWdDaWdDQUNnQ0xDRUhJQW9nQml3QUFTQUhRVDl4UVlvQmFoRUNBQ0VISUFVZ0JTZ0NBQ0lJUVFScU5nSUFJQWdnQnpZQ0FDQUdRUUpxSVFZTEN3c2dBaUFHUndSQUFrQWdBaUVISUFZaENBTkFJQWdnQjBGL2FpSUhUdzBCSUFnc0FBQWhEU0FJSUFjc0FBQTZBQUFnQnlBTk9nQUFJQWhCQVdvaENBd0FBQXNBQ3dzZ0N5Z0NBQ2dDRUNFSElBc2dCMEgvQUhGQkNHb1JBQUFoRFNBR0lRaEJBQ0VIUVFBaEN3TkFJQWdnQWtrRVFDQUhJQWtvQWdBZ0NTQUpMQUFMUVFCSUcyb3NBQUFpREVFQVJ5QUxJQXhHY1FSQUlBVWdCU2dDQUNJTFFRUnFOZ0lBSUFzZ0RUWUNBQ0FISUFjZ0NTZ0NCQ0FKTEFBTElnZEIvd0Z4SUFkQkFFZ2JRWDlxU1dvaEIwRUFJUXNMSUFvb0FnQW9BaXdoRENBS0lBZ3NBQUFnREVFL2NVR0tBV29SQWdBaERDQUZJQVVvQWdBaURrRUVhallDQUNBT0lBdzJBZ0FnQ0VFQmFpRUlJQXRCQVdvaEN3d0JDd3NnQmlBQWEwRUNkQ0FEYWlJSElBVW9BZ0FpQmtZRWZ5QUhCUU5BSUFjZ0JrRjhhaUlHU1FSQUlBY29BZ0FoQ0NBSElBWW9BZ0EyQWdBZ0JpQUlOZ0lBSUFkQkJHb2hCd3dCQ3dzZ0JTZ0NBQXNoQlFVZ0NpZ0NBQ2dDTUNFR0lBb2dBQ0FDSUFNZ0JrRVBjVUdLQW1vUkNRQWFJQVVnQWlBQWEwRUNkQ0FEYWlJRk5nSUFDeUFFSUFVZ0FTQUFhMEVDZENBRGFpQUJJQUpHR3pZQ0FDQUpFRWNnQ1NRR0M0QUdBUWgvSXdZaENTTUdRUkJxSkFZZ0JrR0F6Z01RT2lFS0lBWkJrTTRERURvaUN5Z0NBQ2dDRkNFR0lBa2dDeUFHUVQ5eFFiSUZhaEVEQUNBSktBSUVJQWtzQUFzaUJrSC9BWEVnQmtFQVNCc0VRQ0FGSUFNMkFnQWdBZ0ovQWtBQ1FDQUFMQUFBSWdaQksyc09Bd0FCQUFFTElBb29BZ0FvQWh3aEJ5QUtJQVlnQjBFL2NVR0tBV29SQWdBaEJpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBWTZBQUFnQUVFQmFnd0JDeUFBQ3lJR2EwRUJTZ1JBSUFZc0FBQkJNRVlFUUNBR0xBQUJRZGdBYXlJSFFRQWdCMEVnUnh0RkJFQWdDaWdDQUNnQ0hDRUhJQXBCTUNBSFFUOXhRWW9CYWhFQ0FDRUhJQVVnQlNnQ0FDSUlRUUZxTmdJQUlBZ2dCem9BQUNBS0tBSUFLQUljSVFjZ0NpQUdMQUFCSUFkQlAzRkJpZ0ZxRVFJQUlRY2dCU0FGS0FJQUlnaEJBV28yQWdBZ0NDQUhPZ0FBSUFaQkFtb2hCZ3NMQ3lBQ0lBWkhCRUFDUUNBQ0lRY2dCaUVJQTBBZ0NDQUhRWDlxSWdkUERRRWdDQ3dBQUNFTklBZ2dCeXdBQURvQUFDQUhJQTA2QUFBZ0NFRUJhaUVJREFBQUN3QUxDeUFMS0FJQUtBSVFJUWNnQ3lBSFFmOEFjVUVJYWhFQUFDRU5JQVloQ0VFQUlRZEJBQ0VMQTBBZ0NDQUNTUVJBSUFjZ0NTZ0NBQ0FKSUFrc0FBdEJBRWdiYWl3QUFDSU1RUUJISUFzZ0RFWnhCRUFnQlNBRktBSUFJZ3RCQVdvMkFnQWdDeUFOT2dBQUlBY2dCeUFKS0FJRUlBa3NBQXNpQjBIL0FYRWdCMEVBU0J0QmYycEphaUVIUVFBaEN3c2dDaWdDQUNnQ0hDRU1JQW9nQ0N3QUFDQU1RVDl4UVlvQmFoRUNBQ0VNSUFVZ0JTZ0NBQ0lPUVFGcU5nSUFJQTRnRERvQUFDQUlRUUZxSVFnZ0MwRUJhaUVMREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWNGQTBBZ0J5QUdRWDlxSWdaSkJFQWdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFTEN5QUZLQUlBQ3lFRkJTQUtLQUlBS0FJZ0lRWWdDaUFBSUFJZ0F5QUdRUTl4UVlvQ2FoRUpBQm9nQlNBRElBSWdBR3RxSWdVMkFnQUxJQVFnQlNBRElBRWdBR3RxSUFFZ0FrWWJOZ0lBSUFrUVJ5QUpKQVlMN1FFQkJYOGdBa0dBRUhFRVFDQUFRU3M2QUFBZ0FFRUJhaUVBQ3lBQ1FZQUljUVJBSUFCQkl6b0FBQ0FBUVFGcUlRQUxJQUpCaEFKeElnTkJoQUpHSWdRRWYwRUFCU0FBUVM0NkFBQWdBRUVxT2dBQklBQkJBbW9oQUVFQkN5RUhJQUpCZ0lBQmNTRUNBMEFnQVN3QUFDSUdCRUFnQUNBR09nQUFJQUZCQVdvaEFTQUFRUUZxSVFBTUFRc0xJQUFDZndKQUFrQWdBMEVFYXlJQkJFQWdBVUg4QVVZRVFBd0NCUXdEQ3dBTElBSkJDWFpCL3dGeFFlWUFjd3dDQ3lBQ1FRbDJRZjhCY1VIbEFITU1BUXNnQWtFSmRrSC9BWEVoQVNBQlFlRUFjeUFCUWVjQWN5QUVHd3M2QUFBZ0J3dWVDQUVOZnlNR0lSQWpCa0h3QUdva0JpQVFJUWtnQXlBQ2EwRU1FRGtpQjBIa0FFc0VRQ0FIRUVRaUNRUkFJQWtpRFNFU0JSQUFDd1VnQ1NFTkN5QUNJUW9nRFNFSkEwQWdBeUFLUndSQUlBb3NBQXNpQ0VFQVNBUi9JQW9vQWdRRklBaEIvd0Z4Q3dSQUlBbEJBVG9BQUFVZ0NVRUNPZ0FBSUF4QkFXb2hEQ0FIUVg5cUlRY0xJQXBCREdvaENpQUpRUUZxSVFrTUFRc0xJQXdoQ1NBSElRd0RRQUpBSUFBb0FnQWlDQVIvSUFnb0Fnd2lCeUFJS0FJUVJnUi9JQWdnQ0NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUW9nQVNnQ0FDSUhCSDhnQnlnQ0RDSUlJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ0NnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaEIwRUJCVUVBQ3dWQkFDRUhRUUVMSVJNZ0FDZ0NBQ0VMSUJNZ0NuTWdERUVBUjNGRkRRQWdDeWdDRENJSElBc29BaEJHQkg4Z0N5QUxLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzaER5QUdSUVJBSUFRZ0R5QUVLQUlBS0FJY1FUOXhRWW9CYWhFQ0FDRVBDeUFSUVFGcUlRc2dBaUVJUVFBaENpQU5JUTRnQ1NFSEEwQWdBeUFJUndSQUlBNHNBQUJCQVVZRVFBSkFJQWdzQUF0QkFFZ0VmeUFJS0FJQUJTQUlDeUFSUVFKMGFpZ0NBQ0VKSUFZRWZ5QUpCU0FFSUFrZ0JDZ0NBQ2dDSEVFL2NVR0tBV29SQWdBTElBOUhCRUFnRGtFQU9nQUFJQXhCZjJvaERBd0JDeUFJTEFBTElnbEJBRWdFZnlBSUtBSUVCU0FKUWY4QmNRc2dDMFlFUUNBT1FRSTZBQUFnREVGL2FpRU1JQWRCQVdvaEJ3dEJBU0VLQ3dzZ0NFRU1haUVJSUE1QkFXb2hEZ3dCQ3dzZ0NnUkFBa0FnQUNnQ0FDSUlLQUlNSWdrZ0NDZ0NFRVlFUUNBSUlBZ29BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdDQ0FKUVFScU5nSU1JQWtvQWdBYUN5QUhJQXhxUVFGTEJFQWdBaUVLSUEwaENRTkFJQU1nQ2tZTkFpQUpMQUFBUVFKR0JFQWdDaXdBQ3lJSVFRQklCSDhnQ2lnQ0JBVWdDRUgvQVhFTElBdEhCRUFnQ1VFQU9nQUFJQWRCZjJvaEJ3c0xJQXBCREdvaENpQUpRUUZxSVFrTUFBQUxBQXNMQ3lBTElSRWdCeUVKREFFTEN5QUxCSDhnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hCQUpBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lBQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFBb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUVSUTBDQ3d3Q0N5QUVEUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDd0pBQWtBRFFDQUNJQU5HRFFFZ0RTd0FBRUVDUndSQUlBSkJER29oQWlBTlFRRnFJUTBNQVFzTERBRUxJQVVnQlNnQ0FFRUVjallDQUNBRElRSUxJQklRT0NBUUpBWWdBZ3VyQ0FFTmZ5TUdJUkFqQmtId0FHb2tCaUFRSVFjZ0F5QUNhMEVNRURraUNVSGtBRXNFUUNBSkVFUWlCd1JBSUFjaUN5RVNCUkFBQ3dVZ0J5RUxDeUFDSVFjZ0N5RUtBMEFnQXlBSFJ3UkFJQWNzQUFzaURFRUFTQVIvSUFjb0FnUUZJQXhCL3dGeEN3UkFJQXBCQVRvQUFBVWdDa0VDT2dBQUlBbEJmMm9oQ1NBSVFRRnFJUWdMSUFkQkRHb2hCeUFLUVFGcUlRb01BUXNMSUFraENpQUlJUWtEUUFKQUlBQW9BZ0FpQndSL0lBY29BZ3dpQ0NBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBZ3NBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzQ2Z5QUJLQUlBSWdnRWZ5QUlLQUlNSWdjZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFGQkFEWUNBRUVBSVFoQkFRVkJBQXNGUVFBaENFRUJDeUVUSUFBb0FnQWhCeUFUQzNNZ0NrRUFSM0ZGRFFBZ0J5Z0NEQ0lJSUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDd0FBQkJDQzBIL0FYRWhEaUFHUlFSQUlBUWdEaUFFS0FJQUtBSU1RVDl4UVlvQmFoRUNBQ0VPQ3lBUFFRRnFJUXdnQWlFSFFRQWhDQ0FMSVEwRFFDQURJQWRIQkVBZ0RTd0FBRUVCUmdSQUFrQWdCeXdBQzBFQVNBUi9JQWNvQWdBRklBY0xJQTlxTEFBQUlSRWdEa0gvQVhFZ0JnUi9JQkVGSUFRZ0VTQUVLQUlBS0FJTVFUOXhRWW9CYWhFQ0FBdEIvd0Z4UndSQUlBMUJBRG9BQUNBS1FYOXFJUW9NQVFzZ0J5d0FDeUlJUVFCSUJIOGdCeWdDQkFVZ0NFSC9BWEVMSUF4R0JFQWdEVUVDT2dBQUlBcEJmMm9oQ2lBSlFRRnFJUWtMUVFFaENBc0xJQWRCREdvaEJ5QU5RUUZxSVEwTUFRc0xJQWdFUUFKQUlBQW9BZ0FpQnlnQ0RDSUlJQWNvQWhCR0JFQWdCeUFIS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFjZ0NFRUJhallDRENBSUxBQUFFRUlhQ3lBSklBcHFRUUZMQkVBZ0FpRUhJQXNoQ0FOQUlBTWdCMFlOQWlBSUxBQUFRUUpHQkVBZ0J5d0FDeUlQUVFCSUJIOGdCeWdDQkFVZ0QwSC9BWEVMSUF4SEJFQWdDRUVBT2dBQUlBbEJmMm9oQ1FzTElBZEJER29oQnlBSVFRRnFJUWdNQUFBTEFBc0xDeUFNSVE4TUFRc0xJQWNFZnlBSEtBSU1JZ1FnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFBa0FnQ0VVTkFDQUlLQUlNSWdRZ0NDZ0NFRVlFZnlBSUlBZ29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQVJRMENDd3dDQ3lBQURRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN3SkFBa0FEZnlBQ0lBTkdEUUVnQ3l3QUFFRUNSZ1IvSUFJRklBSkJER29oQWlBTFFRRnFJUXNNQVFzTElRTU1BUXNnQlNBRktBSUFRUVJ5TmdJQUN5QVNFRGdnRUNRR0lBTUxpUUVCQW44Z0FDZ0NCQ0lCSUFFb0FnQkJkR29vQWdCcUlnRW9BaGdFUUNBQktBSVFSUVJBSUFFb0FnUkJnTUFBY1FSQUlBQW9BZ1FpQVNBQktBSUFRWFJxS0FJQWFpZ0NHQ0lCS0FJQUtBSVlJUUlnQVNBQ1FmOEFjVUVJYWhFQUFFRi9SZ1JBSUFBb0FnUWlBQ0FBS0FJQVFYUnFLQUlBYWlJQUlBQW9BaEJCQVhJUTdnRUxDd3NMQ3p3QUlBQkJBRG9BQUNBQUlBRTJBZ1FnQVNBQktBSUFRWFJxS0FJQWFpSUJLQUlRUlFSQUlBRW9Ba2dpQVFSQUlBRVFQd3NnQUVFQk9nQUFDd3NLQUNBQVFRUnFFSjBDQ3dvQUlBQkJDR29RblFJTEJBQkJmd3NEQUFFTE13QWdBRUdNakFFMkFnQWdBQkRRQ3lBQVFSeHFFRHdnQUNnQ0lCQTRJQUFvQWlRUU9DQUFLQUl3RURnZ0FDZ0NQQkE0QzFVQkEzOGdBQ2dDQkNJR1FRaDFJUVVnQmtFQmNRUkFJQUlvQWdBZ0JXb29BZ0FoQlFzZ0FDZ0NBQ0lBS0FJQUtBSVlJUWNnQUNBQklBSWdCV29nQTBFQ0lBWkJBbkViSUFRZ0IwRS9jVUdhQm1vUkJRQUxMZ0VCZnlNR0lRSWpCa0VRYWlRR0lBSWdBVFlDQUVHa2lBRW9BZ0FpQVNBQUlBSVFwUUlhSUFFUThnUVFBQXQ4QXdGL0FYNENmQ01HSVFNakJrR1FBV29rQmlBRFFRQkJrQUVRUlJvZ0F5QUFOZ0lFSUFOQmZ6WUNDQ0FESUFBMkFpd2dBMEYvTmdKTUlBTkNBQkNDQVNBRElBSkJBUkNTQXlFR0lBTXBBM2dnQXlnQ0JDQURLQUlJYTZ4OElRUWdBUVJBSUFFZ0FDQUFJQVNuYWlBRVVCczJBZ0FMSUFNa0JpQUdDdzBBSUFBZ0FTQUNRbjhRaEFNTDN3RUJCbjhqQmlFR0l3WkI4QUZxSkFZZ0JpQUFOZ0lBSUFOQkFVb0VRQUpBUVFBZ0FXc2hDU0FESVFkQkFTRURJQUFoQlFOQUlBVWdBQ0FKYWlJQUlBZEJmbW9pQ2tFQ2RDQUVhaWdDQUdzaUNDQUNRVDl4UVlvQmFoRUNBRUYvU2dSQUlBVWdBQ0FDUVQ5eFFZb0JhaEVDQUVGL1NnMENDeUFEUVFKMElBWnFJUVVnQTBFQmFpRURJQWdnQUNBQ1FUOXhRWW9CYWhFQ0FFRi9TZ1IvSUFVZ0NEWUNBQ0FJSVFBZ0IwRi9hZ1VnQlNBQU5nSUFJQW9MSWdkQkFVb0VRQ0FHS0FJQUlRVU1BUXNMQ3dWQkFTRURDeUFCSUFZZ0F4RC9BaUFHSkFZTEtRRUNmeU1HSVFRakJrRVFhaVFHSUFRZ0F6WUNBQ0FBSUFFZ0FpQUVFS2tCSVFVZ0JDUUdJQVVMNmhJQ0ZIOEJmaU1HSVE4akJrRkFheVFHSUE5QktHb2hDaUFQUVRCcUlSZ2dEMEU4YWlFV0lBOUJPR29pRENBQk5nSUFJQUJCQUVjaEVpQVBRU2hxSWhVaEV5QVBRU2RxSVJkQkFDRUJBa0FDUUFOQUFrQURRQ0FKUVg5S0JFQWdBVUgvLy8vL0J5QUphMG9FZjBHa3hRTkJQVFlDQUVGL0JTQUJJQWxxQ3lFSkN5QU1LQUlBSWdzc0FBQWlDRVVOQXlBTElRRUNRQUpBQTBBQ1FBSkFJQWhCR0hSQkdIVWlDQVJBSUFoQkpVY05BUXdFQ3d3QkN5QU1JQUZCQVdvaUFUWUNBQ0FCTEFBQUlRZ01BUXNMREFFTElBRWhDQU5BSUFnc0FBRkJKVWNOQVNBQlFRRnFJUUVnRENBSVFRSnFJZ2cyQWdBZ0NDd0FBRUVsUmcwQUN3c2dBU0FMYXlFQklCSUVRQ0FBSUFzZ0FSQnlDeUFCRFFBTElBd29BZ0FzQUFFUWlnRkZJUWdnRENBTUtBSUFJZ0VnQ0FSL1FYOGhEVUVCQlNBQkxBQUNRU1JHQkg4Z0FTd0FBVUZRYWlFTlFRRWhCVUVEQlVGL0lRMUJBUXNMYWlJQk5nSUFJQUVzQUFBaUJrRmdhaUlJUVI5TFFRRWdDSFJCaWRFRWNVVnlCRUJCQUNFSUJVRUFJUVlEUUNBR1FRRWdDSFJ5SVFnZ0RDQUJRUUZxSWdFMkFnQWdBU3dBQUNJR1FXQnFJZ2RCSDB0QkFTQUhkRUdKMFFSeFJYSkZCRUFnQ0NFR0lBY2hDQXdCQ3dzTElBWkIvd0Z4UVNwR0JFQWdEQUovQWtBZ0FTd0FBUkNLQVVVTkFDQU1LQUlBSWdjc0FBSkJKRWNOQUNBSExBQUJRVkJxUVFKMElBUnFRUW8yQWdBZ0J5d0FBVUZRYWtFRGRDQURhaWtEQUtjaEFVRUJJUVlnQjBFRGFnd0JDeUFGQkVCQmZ5RUpEQU1MSUJJRVFDQUNLQUlBUVFOcVFYeHhJZ1VvQWdBaEFTQUNJQVZCQkdvMkFnQUZRUUFoQVF0QkFDRUdJQXdvQWdCQkFXb0xJZ1UyQWdCQkFDQUJheUFCSUFGQkFFZ2lBUnNoRUNBSVFZREFBSElnQ0NBQkd5RU9JQVloQ0FVZ0RCQ05BeUlRUVFCSUJFQkJmeUVKREFJTElBZ2hEaUFGSVFnZ0RDZ0NBQ0VGQ3lBRkxBQUFRUzVHQkVBQ1FDQUZRUUZxSVFFZ0JTd0FBVUVxUndSQUlBd2dBVFlDQUNBTUVJMERJUUVnRENnQ0FDRUZEQUVMSUFVc0FBSVFpZ0VFUUNBTUtBSUFJZ1VzQUFOQkpFWUVRQ0FGTEFBQ1FWQnFRUUowSUFScVFRbzJBZ0FnQlN3QUFrRlFha0VEZENBRGFpa0RBS2NoQVNBTUlBVkJCR29pQlRZQ0FBd0NDd3NnQ0FSQVFYOGhDUXdEQ3lBU0JFQWdBaWdDQUVFRGFrRjhjU0lGS0FJQUlRRWdBaUFGUVFScU5nSUFCVUVBSVFFTElBd2dEQ2dDQUVFQ2FpSUZOZ0lBQ3dWQmZ5RUJDMEVBSVFjRFFDQUZMQUFBUWI5L2FrRTVTd1JBUVg4aENRd0NDeUFNSUFWQkFXb2lCallDQUNBRkxBQUFJQWRCT214cVFZL1dBR29zQUFBaUVVSC9BWEVpQlVGL2FrRUlTUVJBSUFVaEJ5QUdJUVVNQVFzTElCRkZCRUJCZnlFSkRBRUxJQTFCZjBvaEZBSkFBa0FnRVVFVFJnUkFJQlFFUUVGL0lRa01CQXNGQWtBZ0ZBUkFJQTFCQW5RZ0JHb2dCVFlDQUNBS0lBMUJBM1FnQTJvcEF3QTNBd0FNQVFzZ0VrVUVRRUVBSVFrTUJRc2dDaUFGSUFJUWpBTWdEQ2dDQUNFR0RBSUxDeUFTRFFCQkFDRUJEQUVMSUE1Qi8vOTdjU0lOSUE0Z0RrR0F3QUJ4R3lFRkFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBR1FYOXFMQUFBSWdaQlgzRWdCaUFHUVE5eFFRTkdJQWRCQUVkeEd5SUdRY0VBYXc0NENRb0hDZ2tKQ1FvS0Nnb0tDZ29LQ2dvS0NBb0tDZ29MQ2dvS0Nnb0tDZ29KQ2dVRENRa0pDZ01LQ2dvS0FBSUJDZ29HQ2dRS0Nnc0tDd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdCMEgvQVhGQkdIUkJHSFVPQ0FBQkFnTUVCd1VHQndzZ0NpZ0NBQ0FKTmdJQVFRQWhBUXdYQ3lBS0tBSUFJQWsyQWdCQkFDRUJEQllMSUFvb0FnQWdDYXczQXdCQkFDRUJEQlVMSUFvb0FnQWdDVHNCQUVFQUlRRU1GQXNnQ2lnQ0FDQUpPZ0FBUVFBaEFRd1RDeUFLS0FJQUlBazJBZ0JCQUNFQkRCSUxJQW9vQWdBZ0NhdzNBd0JCQUNFQkRCRUxRUUFoQVF3UUMwSDRBQ0VHSUFGQkNDQUJRUWhMR3lFQklBVkJDSEloQlF3SkMwRUFJUXRCa1A0Q0lRNGdBU0FUSUFvcEF3QWdGUkNFQlNJSGF5SUdRUUZxSUFWQkNIRkZJQUVnQmtweUd5RUJEQXNMSUFvcEF3QWlHVUlBVXdSL0lBcENBQ0FaZlNJWk53TUFRUUVoQzBHUS9nSUZJQVZCZ1JCeFFRQkhJUXRCa2Y0Q1FaTCtBa0dRL2dJZ0JVRUJjUnNnQlVHQUVIRWJDeUVPREFnTFFRQWhDMEdRL2dJaERpQUtLUU1BSVJrTUJ3c2dGeUFLS1FNQVBBQUFJQmNoQmtFQUlRdEJrUDRDSVE1QkFTRUhJQTBoQlNBVElRRU1DZ3NnQ2lnQ0FDSUZRWnIrQWlBRkd5SUdRUUFnQVJDbUFpSVJSU0VVUVFBaEMwR1EvZ0loRGlBQklCRWdCbXNnRkJzaEJ5QU5JUVVnQVNBR2FpQVJJQlFiSVFFTUNRc2dEeUFLS1FNQVBnSXdJQTlCQURZQ05DQUtJQmcyQWdCQmZ5RUxEQVVMSUFFRVFDQUJJUXNNQlFVZ0FFRWdJQkJCQUNBRkVIVkJBQ0VCREFjTEFBc2dBQ0FLS3dNQUlCQWdBU0FGSUFaQmlRRVJJZ0FoQVF3SEN5QUxJUVpCQUNFTFFaRCtBaUVPSUFFaEJ5QVRJUUVNQlFzZ0Npa0RBQ0FWSUFaQklIRVFoUVVoQjBFQVFRSWdCVUVJY1VVZ0Npa0RBRkJ5SWcwYklRdEJrUDRDSUFaQkJIWkJrUDRDYWlBTkd5RU9EQUlMSUJrZ0ZSQytBU0VIREFFTElBb29BZ0FoQmtFQUlRRUNRQUpBQTBBZ0JpZ0NBQ0lIQkVBZ0ZpQUhFSXNESWdkQkFFZ2lEU0FISUFzZ0FXdExjZzBDSUFaQkJHb2hCaUFMSUFFZ0Iyb2lBVXNOQVFzTERBRUxJQTBFUUVGL0lRa01CZ3NMSUFCQklDQVFJQUVnQlJCMUlBRUVRQ0FLS0FJQUlRWkJBQ0VMQTBBZ0JpZ0NBQ0lIUlEwRElBc2dGaUFIRUlzRElnZHFJZ3NnQVVvTkF5QUdRUVJxSVFZZ0FDQVdJQWNRY2lBTElBRkpEUUFMQlVFQUlRRUxEQUVMSUFjZ0ZTQUtLUU1BUWdCU0lnMGdBVUVBUjNJaUVSc2hCaUFCSUJNZ0Iyc2dEVUVCYzJvaUJ5QUJJQWRLRzBFQUlCRWJJUWNnQlVILy8zdHhJQVVnQVVGL1Noc2hCU0FUSVFFTUFRc2dBRUVnSUJBZ0FTQUZRWURBQUhNUWRTQVFJQUVnRUNBQlNoc2hBUXdCQ3lBQVFTQWdDeUFCSUFacklnMGdCeUFISUExSUd5SVJhaUlISUJBZ0VDQUhTQnNpQVNBSElBVVFkU0FBSUE0Z0N4QnlJQUJCTUNBQklBY2dCVUdBZ0FSekVIVWdBRUV3SUJFZ0RVRUFFSFVnQUNBR0lBMFFjaUFBUVNBZ0FTQUhJQVZCZ01BQWN4QjFDeUFJSVFVTUFRc0xEQUVMSUFCRkJFQWdCUVIvUVFFaEFBTkFJQUJCQW5RZ0JHb29BZ0FpQVFSQUlBQkJBM1FnQTJvZ0FTQUNFSXdESUFCQkFXb2lBRUVLU1EwQlFRRWhDUXdFQ3dzRGZ5QUFRUUowSUFScUtBSUFCRUJCZnlFSkRBUUxJQUJCQVdvaUFFRUtTUTBBUVFFTEJVRUFDeUVKQ3dzZ0R5UUdJQWtMQ3dBZ0FDQUJJQUlRaHdVTC9RRUJBMzhnQVVIL0FYRWhCQUpBQWtBQ1FDQUNRUUJISWdNZ0FFRURjVUVBUjNFRVFDQUJRZjhCY1NFRkEwQWdCU0FBTFFBQVJnMENJQUpCZjJvaUFrRUFSeUlESUFCQkFXb2lBRUVEY1VFQVIzRU5BQXNMSUFORkRRRUxJQUZCL3dGeElnRWdBQzBBQUVZRVFDQUNSUTBCREFJTElBUkJnWUtFQ0d3aEF3SkFBa0FnQWtFRFRRMEFBMEFnQXlBQUtBSUFjeUlFUWYvOSszZHFJQVJCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFnQUVFRWFpRUFJQUpCZkdvaUFrRURTdzBCREFJTEN3d0JDeUFDUlEwQkN3TkFJQUF0QUFBZ0FVSC9BWEZHRFFJZ0FrRi9haUlDUlEwQklBQkJBV29oQUF3QUFBc0FDMEVBSVFBTElBQUxqd0VCQW44Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BaFFnQUNnQ0hFc0VRQ0FBS0FJa0lRRWdBRUVBUVFBZ0FVRS9jVUhLQVdvUkJBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQUtBSUFJZ0ZCQkhFRWZ5QUFJQUZCSUhJMkFnQkJmd1VnQUNBQUtBSXNJQUFvQWpCcUlnSTJBZ2dnQUNBQ05nSUVJQUZCRzNSQkgzVUxDNUVCQVFOL0FuOENRQ0FBS0FJVUlBQW9BaHhORFFBZ0FDZ0NKQ0VCSUFCQkFFRUFJQUZCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUJCZnd3QkN5QUFLQUlFSWdFZ0FDZ0NDQ0lDU1FSQUlBQW9BaWdoQXlBQUlBRWdBbXVzUVFFZ0EwRURjVUdtQTJvUkZBQWFDeUFBUVFBMkFoQWdBRUVBTmdJY0lBQkJBRFlDRkNBQVFRQTJBZ2dnQUVFQU5nSUVRUUFMQzRjQkFRRi9JQUFFUUFKL0lBQW9Ba3hCZjB3RVFDQUFFS2dDREFFTElBQVFxQUlMSVFBRlFiQ0lBU2dDQUFSL1FiQ0lBU2dDQUJDcEFnVkJBQXNoQUJDckFpZ0NBQ0lCQkVBRFFDQUJLQUpNUVg5S0JIOUJBUVZCQUFzYUlBRW9BaFFnQVNnQ0hFc0VRQ0FCRUtnQ0lBQnlJUUFMSUFFb0FqZ2lBUTBBQ3d0QnFNVURFQTRMSUFBTCtnRUJBMzhnQVVIL0FYRWlBZ1JBQWtBZ0FFRURjUVJBSUFGQi93RnhJUU1EUUNBQUxBQUFJZ1JGSUFOQkdIUkJHSFVnQkVaeURRSWdBRUVCYWlJQVFRTnhEUUFMQ3lBQ1FZR0NoQWhzSVFNZ0FDZ0NBQ0lDUWYvOSszZHFJQUpCZ0lHQ2hIaHhRWUNCZ29SNGMzRkZCRUFEUUNBQ0lBTnpJZ0pCLy8zN2Qyb2dBa0dBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQ0FBUVFScUlnQW9BZ0FpQWtILy9mdDNhaUFDUVlDQmdvUjRjVUdBZ1lLRWVITnhSUTBCQ3dzTElBRkIvd0Z4SVFJRFFDQUFRUUZxSVFFZ0FDd0FBQ0lEUlNBQ1FSaDBRUmgxSUFOR2NrVUVRQ0FCSVFBTUFRc0xDd1VnQUJCZ0lBQnFJUUFMSUFBTERBQkJxTVVERUJwQnNNVURDeDhBSUFCQi8vOERjUVIvUWFURkF5QUFRZi8vQTNFMkFnQkJmd1ZCQUFzTDlBRUNDWDhCZkNBQktBSUlJZ2dnQWlnQ0JFWUVmeUFBS0FJRUlnb2dBU2dDQkVZRWZ5QUFLQUlJSWdrZ0FpZ0NDRVlFZnlBQUtBSUFJUUFEZnlBRElBcElCSDhnQXlBSWJDRUxRUUFoQkFOQUlBUWdDVWdFUUNBQVJBQUFBQUFBQUFBQU9RTUFJQUlvQWdBZ0JFRURkR29oQlNBQktBSUFJQXRCQTNScUlRWkJBQ0VIUkFBQUFBQUFBQUFBSVF3RFFDQUhJQWhJQkVBZ0FDQU1JQVlyQXdBZ0JTc0RBS0tnSWd3NUF3QWdDVUVEZENBRmFpRUZJQVpCQ0dvaEJpQUhRUUZxSVFjTUFRc0xJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQU5CQVdvaEF3d0JCVUVBQ3dzRlFYOExCVUYvQ3dWQmZ3c0w4Z0lCQTM4Z0FDZ0NCQ0VESUFGQkFVc0VRQ0FBS0FJQUlnSkJEellDRkNBQ0lBRTJBaGdnQUNBQUtBSUFLQUlBUWY4QmNVR3NBMm9SQVFBRklBRkJBVVlFUUNBREtBSkVJZ0lFUUFOQUlBSW9BaWdFUUNBQ1FRQTJBaWdnQUNBQ1FUQnFJQUlvQWpoQlAzRkJzZ1ZxRVFNQUN5QUNLQUlzSWdJTkFBc0xJQU5CQURZQ1JDQURLQUpJSWdJRVFBTkFJQUlvQWlnRVFDQUNRUUEyQWlnZ0FDQUNRVEJxSUFJb0FqaEJQM0ZCc2dWcUVRTUFDeUFDS0FJc0lnSU5BQXNMSUFOQkFEWUNTQXNMSUFOQlBHb2dBVUVDZEdvaUFDZ0NBQ0VDSUFCQkFEWUNBQ0FDQkVBRFFDQUNLQUlBSVFBZ0FpZ0NDQ0FDS0FJRVFSQnFhaUVFSUFJUU9DQURJQU1vQWt3Z0JHczJBa3dnQUFSQUlBQWhBZ3dCQ3dzTElBTkJOR29nQVVFQ2RHb2lBQ2dDQUNFQklBQkJBRFlDQUNBQlJRUkFEd3NEUUNBQktBSUFJUUFnQVNnQ0NDQUJLQUlFUVJCcWFpRUNJQUVRT0NBRElBTW9Ba3dnQW1zMkFrd2dBQVJBSUFBaEFRd0JDd3NMOUFFQkJIOGdBQ2dDQkNFRUlBSkI4SlByM0FOTEJFQWdBQ2dDQUNJRFFUZzJBaFFnQTBFRE5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRkxCRUFnQUNnQ0FDSURRUTgyQWhRZ0F5QUJOZ0lZSUFBZ0FDZ0NBQ2dDQUVIL0FYRkJyQU5xRVFFQUN5QUNRUWdnQWtFSGNTSURhMEVBSUFNYmFpSURRUkJxSWdVUVJDSUNSUVJBSUFBb0FnQWlCa0U0TmdJVUlBWkJCRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dCQ0FGSUFRb0FreHFOZ0pNSUFJZ0JFRThhaUFCUVFKMGFpSUFLQUlBTmdJQUlBSWdBellDQkNBQ1FRQTJBZ2dnQUNBQ05nSUFJQUpCRUdvTDJna0JFWDhnQUNnQzVBTW9BaGdoRENBQktBSUVJZ2dnQVNnQ0FDSUNUQ0FCS0FJSUlna2dBU2dDRENJS1NuSWdBU2dDRUNJR0lBRW9BaFFpQjBweUJFQWdBaUVBQlFKQUlBSWhBQU5BQWtBZ0FFRUNkQ0FNYWlnQ0FDRU5JQWtoQXdOQUlBTkJCblFnRFdvZ0JrRUJkR29oQlNBR0lRUURRQ0FGTGdFQURRSWdCVUVDYWlFRklBUkJBV29oQ3lBRUlBZElCRUFnQ3lFRURBRUxDeUFEUVFGcUlRUWdBeUFLU0FSQUlBUWhBd3dCQ3dzZ0FFRUJhaUVESUFBZ0NFZ0VRQ0FESVFBTUFnVWdBaUVBREFNTEFBc0xJQUVnQURZQ0FBc0xJQWdnQUV3Z0NTQUtTbklnQmlBSFNuSkZCRUFDUUNBSUlRSURRQUpBSUFKQkFuUWdER29vQWdBaERTQUpJUU1EUUNBRFFRWjBJQTFxSUFaQkFYUnFJUVVnQmlFRUEwQWdCUzRCQUEwQ0lBVkJBbW9oQlNBRVFRRnFJUXNnQkNBSFNBUkFJQXNoQkF3QkN3c2dBMEVCYWlFRUlBTWdDa2dFUUNBRUlRTU1BUXNMSUFKQmYyb2hEaUFDSUFCTURRSWdEaUVDREFFTEN5QUJJQUkyQWdRZ0FpRUlDd3NnQ0NBQVNDQUtJQWxNY2lBR0lBZEtja1VFUUFKQUlBa2hBZ05BQWtBZ0FDRURBMEFnQTBFQ2RDQU1haWdDQUNBQ1FRWjBhaUFHUVFGMGFpRUZJQVloQkFOQUlBVXVBUUFOQWlBRlFRSnFJUVVnQkVFQmFpRUxJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBaElCRUFnQkNFRERBRUxDeUFDUVFGcUlROGdBaUFLVGcwQ0lBOGhBZ3dCQ3dzZ0FTQUNOZ0lJSUFJaENRc0xJQWdnQUVnZ0NpQUpUSElnQmlBSFNuSkZCRUFDUUNBS0lRSURRQUpBSUFBaEF3TkFJQU5CQW5RZ0RHb29BZ0FnQWtFR2RHb2dCa0VCZEdvaEJTQUdJUVFEUUNBRkxnRUFEUUlnQlVFQ2FpRUZJQVJCQVdvaEN5QUVJQWRJQkVBZ0N5RUVEQUVMQ3lBRFFRRnFJUVFnQXlBSVNBUkFJQVFoQXd3QkN3c2dBa0YvYWlFUUlBSWdDVXdOQWlBUUlRSU1BUXNMSUFFZ0FqWUNEQ0FDSVFvTEN5QUlJQUJJSUFjZ0JreHlJQW9nQ1VoeVJRUkFBa0FnQmlFQ0EwQUNRQ0FBSVFNRFFDQURRUUowSUF4cUtBSUFJQWtpQkVFR2RHb2dBa0VCZEdvaEJRTkFJQVV1QVFBTkFpQUVRUUZxSVFzZ0JVRkFheUVGSUFRZ0NrZ0VRQ0FMSVFRTUFRc0xJQU5CQVdvaEJDQURJQWhJQkVBZ0JDRUREQUVMQ3lBQ1FRRnFJUkVnQWlBSFRnMENJQkVoQWd3QkN3c2dBU0FDTmdJUUlBSWhCZ3NMSUFnZ0FFZ2dCeUFHVEhJZ0NpQUpTSEpGQkVBQ1FDQUhJUUlEUUFKQUlBQWhBd05BSUFOQkFuUWdER29vQWdBZ0NTSUVRUVowYWlBQ1FRRjBhaUVGQTBBZ0JTNEJBQTBDSUFSQkFXb2hDeUFGUVVCcklRVWdCQ0FLU0FSQUlBc2hCQXdCQ3dzZ0EwRUJhaUVFSUFNZ0NFZ0VRQ0FFSVFNTUFRc0xJQUpCZjJvaEVpQUNJQVpNRFFJZ0VpRUNEQUVMQ3lBQklBSTJBaFFnQWlFSEN3c2dBU0FJSUFCclFRUjBJZ0lnQW13Z0NpQUphMEVNYkNJQ0lBSnNhaUFISUFaclFRTjBJZ0lnQW14cU5nSVlJQWdnQUVnZ0NpQUpTSElnQnlBR1NISUVRQ0FCUVFBMkFod1BDMEVBSVFNZ0FDRUNBMEFnQWtFQ2RDQU1haWdDQUNFTklBTWhBQ0FKSVFNRFFDQURRUVowSUExcUlBWWlCRUVCZEdvaEJRTkFJQUFnQlM0QkFFRUFSMm9oQUNBRVFRRnFJUXNnQlVFQ2FpRUZJQVFnQjBnRVFDQUxJUVFNQVFzTElBTkJBV29oQkNBRElBcElCRUFnQkNFRERBRUxDeUFDUVFGcUlRUWdBaUFJU0FSQUlBQWhBeUFFSVFJTUFRc0xJQUVnQURZQ0hBdXhBd0VHZnlBQUtBSVlJZ0lvQWdRaEFTQUNLQUlBSVFRQ1FBTkFJQUVFZnlBRUJTQUNLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVOQWlBQ0tBSUVJUUVnQWlnQ0FBc2hBeUFCUVg5cUlRRWdBMEVCYWlFRUlBTXNBQUJCZjBjRVFBTkFJQUFvQXRBRElnTWdBeWdDR0VFQmFqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRUlBRUVmeUFFQlNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5CQ0FDS0FJRUlRRWdBaWdDQUFzaEF5QUJRWDlxSVFFZ0EwRUJhaUVFSUFNc0FBQkJmMGNOQUFzTEEwQWdBUVIvSUFRRklBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBESUFJb0FnUWhBU0FDS0FJQUN5RURJQUZCZjJvaEFTQURRUUZxSVFRZ0F5d0FBQ0lGUVg5R0RRQUxJQUFvQXRBRElnWW9BaGdoQXlBRlJRUkFJQVlnQTBFQ2FqWUNHQ0FDSUFRMkFnQWdBaUFCTmdJRURBRUxDeUFGUWY4QmNTRUZJQU1FUUNBQUtBSUFJZ1pCOXdBMkFoUWdCaUFETmdJWUlBQW9BZ0FnQlRZQ0hDQUFLQUlBS0FJRUlRTWdBRUYvSUFOQlAzRkJzZ1ZxRVFNQUlBQW9BdEFEUVFBMkFoZ0xJQUFnQlRZQ3VBTWdBaUFFTmdJQUlBSWdBVFlDQkVFQkR3dEJBQXU0QVFFRmZ3TkFJQVJCQTBjRVFDQUVRUVIwSUFCcUlRVWdCRUVFZENBQWFpRUdJQVJCQkhRZ0FHb2hCMEVBSVFNRFFDQURRUVJIQkVBZ0JFRUVkQ0FDYWlBRFFRSjBhaUFGS2dJQUlBTkJBblFnQVdvcUFnQ1VJQVlxQWdRZ0FVRVFhaUFEUVFKMGFpb0NBSlNTSUFjcUFnZ2dBVUVnYWlBRFFRSjBhaW9DQUpTU09BSUFJQU5CQVdvaEF3d0JDd3NnQkVFRWRDQUNhaUlESUFSQkJIUWdBR29xQWd3Z0F5b0NESkk0QWd3Z0JFRUJhaUVFREFFTEN3dTRBUUVGZndOQUlBUkJBMGNFUUNBRVFRVjBJQUJxSVFVZ0JFRUZkQ0FBYWlFR0lBUkJCWFFnQUdvaEIwRUFJUU1EUUNBRFFRUkhCRUFnQkVFRmRDQUNhaUFEUVFOMGFpQUZLd01BSUFOQkEzUWdBV29yQXdDaUlBWXJBd2dnQVVFZ2FpQURRUU4wYWlzREFLS2dJQWNyQXhBZ0FVRkFheUFEUVFOMGFpc0RBS0tnT1FNQUlBTkJBV29oQXd3QkN3c2dCRUVGZENBQ2FpSURJQVJCQlhRZ0FHb3JBeGdnQXlzREdLQTVBeGdnQkVFQmFpRUVEQUVMQ3d0VUFRSi9BMEFnQWtFRFJ3UkFRUUFoQVFOQUlBRkJCRWNFUUNBQ1FRVjBRWUNrQTJvZ0FVRURkR29nQWtFRmRDQUFhaUFCUVFOMGFpc0RBRGtEQUNBQlFRRnFJUUVNQVFzTElBSkJBV29oQWd3QkN3c0xLQUVDZndKL0l3WWhBeU1HUVJCcUpBWWdBRUVDUVl5SEFVSE50d0pCQVNBQkVBa2dBd3NrQmdzb0FRSi9BbjhqQmlFREl3WkJFR29rQmlBQVFRTkJ3SWNCUWJ6UUFrRWZJQUVRQ1NBREN5UUdDLzBGQVFaL0l3WWhDU01HUVNCcUpBWWdDVUVRYWlFSUlBSkZCRUFnQ0VIQXlBTkJ6cHdDRURkQjc1d0NFRGRCNzZJQ0VEZEIvd0FRUGtIMm9nSVFOMEhnblFJUU55SUZJQVVvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJR0tBSUFLQUljSVFjZ0JrRUtJQWRCUDNGQmlnRnFFUUlBSVFZZ0NCQThJQVVnQmhCQUlBVVFQeEFBQ3lBRFJRUkFJQWhCd01nRFFmV2RBaEEzUWUrY0FoQTNRZStpQWhBM1FZQUJFRDVCOXFJQ0VEZEJsNTRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXRCZnlBQ1NRUkFJQWhCd01nRFFhMmVBaEEzUWUrY0FoQTNRZStpQWhBM1FZRUJFRDVCOXFJQ0VEZEIwcDRDRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQmlnQ0FDZ0NIQ0VISUFaQkNpQUhRVDl4UVlvQmFoRUNBQ0VHSUFnUVBDQUZJQVlRUUNBRkVEOFFBQXNnQkVVRVFDQUlRY0RJQTBIL25nSVFOMEh2bkFJUU4wSHZvZ0lRTjBHQ0FSQStRZmFpQWhBM1FhT2ZBaEEzSWdVZ0JTZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ1lvQWdBb0Fod2hCeUFHUVFvZ0IwRS9jVUdLQVdvUkFnQWhCaUFJRUR3Z0JTQUdFRUFnQlJBL0VBQUxJQWxCQ0dvaEJTQUFJQUVRdVFNZ0FpQUViR3dpQmpZQ0RDQURJQVpzSWdZZ0FDZ0NGRWNFUUNBR0VGRWhCeUFKUVFBMkFnQWdDQ0FKS0FJQU5nSUFJQVVnQnhDb0J5QUZLQUlBSVFjZ0JTQUFLQUlZTmdJQUlBQWdCellDR0NBRktBSUVJUWNnQlNBQUtBSWNOZ0lFSUFBZ0J6WUNIQ0FGRUpVQklBQW9BaGhGQkVBZ0NFSEF5QU5CeFo4Q0VEZEI3NXdDRURkQjc2SUNFRGRCbFFFUVBrSDJvZ0lRTjBIb253SVFOeUlGSUFVb0FnQkJkR29vQWdCcUVEc2dDRUdBemdNUU9pSUhLQUlBS0FJY0lRb2dCMEVLSUFwQlAzRkJpZ0ZxRVFJQUlRY2dDQkE4SUFVZ0J4QkFJQVVRUHhBQUN3c2dBQ0FCTmdJQUlBQWdBallDQkNBQUlBTTJBZ2dnQUNBRU5nSVFJQUFnQmpZQ0ZDQUpKQVlMcVFFQkJIOGdBQVIvQTBBZ0FTQUFLQUlFU0FSQUlBQW9BZ2dnQVVFQ2RHb29BZ0FFUUNBQUlBRVEwQVlMSUFGQkFuUWhBMEVBSVFJRFFDQUNRUVJIQkVBZ0FDZ0NEQ0FDSUFOcUlnUkJBblJxS0FJQUVEZ2dBQ2dDRkNBRVFRSjBhaWdDQUJBNElBSkJBV29oQWd3QkN3c2dBVUVCYWlFQkRBRUxDeUFBS0FJTUVEZ2dBQ2dDRkJBNElBQW9BZ2dRT0NBQUtBSVFFRGdnQUNnQ0dCQTRJQUFRT0VFQUJVRi9DeG9MTkFFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQUNnQ0FDZ0NBQkRHQnlBQktBSUFFSVlCRUlFQ0lRSWdBUkNWQVNBQkpBWWdBZ3YzQVFFQmZ5QUVRUUZHSVFrZ0NFRUFSeUVFQW44Z0F3Ui9JQWtFZnlBRUJFQWdBQ0FCSUFJZ0NDQUhFUDBLREFNTElBWUVmeUFBSUFFZ0FpQUZJQWNRK2dzRklBQWdBU0FDSUFVZ0J4REhDd3NGSUFRRVFDQUFJQUVnQWlBSUlBY1F0QWtNQXdzZ0JnUi9JQUFnQVNBQ0lBVWdCeEN5Q2dVZ0FDQUJJQUlnQlNBSEVPWUpDd3NGSUFrRWZ5QUVCRUFnQUNBQklBSWdDQ0FIRUlvSERBTUxJQVlFZnlBQUlBRWdBaUFGSUFjUW1nZ0ZJQUFnQVNBQ0lBVWdCeERaQndzRklBUUVRQ0FBSUFFZ0FpQUlJQWNRa2dVTUF3c2dCZ1IvSUFBZ0FTQUNJQVVnQnhDMEJnVWdBQ0FCSUFJZ0JTQUhFTlFGQ3dzTEN3dkdBd0lJZndGK0l3WWhCQ01HUVVCckpBWWdCRUVJYWlFSElBUkJPR29oQ2lBRVFUUnFJUWdnQkVFUWFpRUdJQUlzQUdRRVFDQUVJQUFvQWt3MkFqQWdCQ0FDRU1VQktBSUFOZ0lvSUFRZ0FoREZBU2dDQkRZQ0lDQUlJQVFvQWpBMkFnQWdDaUFFS0FJb05nSUFJQWNnQkNnQ0lEWUNBQ0FBUWNnQWFpQUlJQW9nQnhEVUJ3VWdCa0VBTmdJQUlBWkJBRFlDQkNBR1FRQTJBZ2dnQWlBR0lBRWdBeERUQndOQUlBVWdCaWdDQkNBR0tBSUFJZ0pyUVFKMVNRUkFJQUFnQVNBRlFRSjBJQUpxS0FJQUlBTVF1d0lnQlVFQmFpRUZEQUVMQ3lBQUtBSmtJQUFvQW1oSUJFQWdBU2dDQUNJQ0lBRW9BZ1JIQkVBZ0FpZ0NBQ0VMSUFFb0FnUWlCU0FCS0FJQUlnbHJJZ0pCQ0VvRVFDQUhJQWtwQWdBaUREY0RBQ0FKSUFWQmVHb2lCU2tDQURjQ0FDQUZJQXczQWdBZ0JDQUpOZ0lzSUFRZ0JUWUNKQ0FFSUFrMkFod2dDQ0FFS0FJc05nSUFJQW9nQkNnQ0pEWUNBQ0FISUFRb0FodzJBZ0FnQ0NBQ1FRTjJRWDlxSUFjUXZ3TWdBU2dDQkNFRkMwRUFJUUlEUUNBQ1FYOUhCRUFnQWtGL2FpRUNEQUVMQ3lBQklBVkJlR28yQWdRZ0FDQUFLQUprUVFGcU5nSmtJQUFnQVNBTElBTVF1d0lMQ3lBR0VGVUxJQVFrQmd0a0FRSi9JQUJCQUVjZ0FVRUFSM0VFZnlBQVFReHFRUUJCZ0FnUVJSb2dBU0FBS0FJRUlBQW9BZ2hzYWlFQ0EzOGdBU0FDU1FSL0lBQkJER29nQVMwQUFFRUNkR29pQXlBREtBSUFRUUZxTmdJQUlBRkJBV29oQVF3QkJVRUFDd3NGUVg4TEMxa0JBWDBnQUNBQ0tnSUlJQUlxQWdBZ0E1UWdBaW9DQkNBRWxKS1NJQUlxQWlBZ0Fpb0NHQ0FEbENBQ0tnSWNJQVNVa3BJaUJaVTRBZ0FnQVNBQ0tnSVVJQUlxQWd3Z0E1UWdBaW9DRUNBRWxKS1NJQVdWT0FJQUN6UUFJQUFnQVNrQ0FEY0NBQ0FBSUFFcEFnZzNBZ2dnQUNBQktRSVFOd0lRSUFBZ0FTa0NHRGNDR0NBQUlBRW9BaUEyQWlBTHVBSUNCWDhDZkNNR0lRY2pCa0VnYWlRR0lBZEJDR29oQmlBSFFSUnFJZ2dnQkVFRWRCQkVJZ28yQWdBZ0NrVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQWRCRUdvaEJpQUlJQVJCR0d3UVJDSUpOZ0lFSUFsRkJFQkJBRUVEUWJuWUFpQUdFRDFCQVJBQkMwRUFJUVlEUUNBR0lBUklCRUFnQmtFRWRDQUthaUFHUVFSMElBSnFLd01BT1FNQUlBWkJCSFFnQ21vZ0JrRUVkQ0FDYWlzRENEa0RDQ0FHUVJoc0lBbHFJQVpCR0d3Z0Eyb3JBd0E1QXdBZ0JrRVliQ0FKYWlBR1FSaHNJQU5xS3dNSU9RTUlJQVpCR0d3Z0NXb2dCa0VZYkNBRGFpc0RFRGtERUNBR1FRRnFJUVlNQVFzTElBZ2dCRFlDQ0NBQUtBSUFJQWdnQVNBRklBY1E2Z0ZCQUVnRVFDQUhSQUFBQUFDRTE1ZEJPUU1BQ3lBSUtBSUFFRGdnQ0NnQ0JCQTRJQWNyQXdBaERDQUhKQVlnREFzSEFDQUFRVHhxQzJVQkJIOERRQ0FGSUFKSUJFQWdBeUFES0FJQVFmMkhEV3hCdzcyYUFXb2lCRFlDQUNBRVFSQjJRZi8vQVhFZ0FSQlBRUUowSUFCcUlRUWdCVUVDZENBQWFpSUdLQUlBSVFjZ0JpQUVLQUlBTmdJQUlBUWdCellDQUNBRlFRRnFJUVVNQVFzTEM1MEJBUVYvSXdZaEFpTUdRU0JxSkFaQi8vLy8vd01nQUNnQ0JDQUFLQUlBYTBFQ2RVRUJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZFNJR0lBWWdBMGtiUWYvLy8vOERJQVZCQW5WQi8vLy8vd0ZKR3lBQUtBSUVJQVJyUVFKMUlBQkJDR29ReUFFZ0FpZ0NDQ0FCS0FJQU5nSUFJQUlnQWlnQ0NFRUVhallDQ0NBQUlBSVE1QUVnQWhESEFTQUNKQVlMQzZJRUFncC9BbjBqQmlFSEl3WkJJR29rQmlBSFFRUnFJUVVnQjBFUWFpRUpJQWNnQVRZQ0FDQUJLQUlBSVFNQ1FBSkFJQUFvQWdRaUJFVWlDZ1JBUVFBaEFRd0JCU0FFSUFSQmYyb2lDSEZGSWdzRWZ5QURJQWh4QlNBRElBUkpCSDhnQXdVZ0F5QUVFRTRMQ3lJQlFRSjBJQUFvQWdCcUtBSUFJZ0lFUUFOQUlBSW9BZ0FpQWtVTkF5QURJQUlvQWdRaUJrY0VRQ0FMQkVBZ0JpQUljU0VHQlNBR0lBUlBCRUFnQmlBRUVFNGhCZ3NMSUFFZ0JrY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFVZ0FDQURJQWNRb1FnZ0FDb0NFQ0lNSUFTemxDQUFLQUlNUVFGcXN5SU5YU0FLY2dSQUFuOGdBQ0FOSUF5VmpSQ1NBU0lDSUFSQmYyb2dCSEZCQUVjZ0JFRURTWElnQkVFQmRISWlBU0FCSUFKSkd4REZBaUFBS0FJRUlnSkJmMm9oQVNBQklBTnhJQUVnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUVGSUFRaEFnc2dBQ2dDQUNBQlFRSjBhaWdDQUNJREJIOGdCU2dDQUNBREtBSUFOZ0lBSUFNZ0JTZ0NBRFlDQUNBRkJTQUZLQUlBSUFBb0FnZzJBZ0FnQUNBRktBSUFOZ0lJSUFBb0FnQWdBVUVDZEdvZ0FFRUlhallDQUNBRktBSUFJZ1lvQWdBaUFRUkFJQUVvQWdRaEFTQUNJQUpCZjJvaUEzRUVRQ0FCSUFKUEJFQWdBU0FDRUU0aEFRc0ZJQUVnQTNFaEFRc2dBQ2dDQUNBQlFRSjBhaUFHTmdJQUN5QUZDeUlCS0FJQUlRSWdBQ0FBS0FJTVFRRnFOZ0lNSUFGQkFEWUNBQXNnQnlRR0lBSkJER29MVXdFRGZ5QUFRZWdBYWlFREEwQWdBaUFBS0FKc0lBTW9BZ0FpQVd0QkFuVkpCRUFnQWtFQ2RDQUJhaWdDQUNJQkJFQWdBUkRFQWlBQkVEZ0xJQUpCQVdvaEFnd0JDd3NnQUVIMEFHb1FWU0FERUZVTGx3RUJBbjhnQVVFQlJnUkFRUUloQVFVZ0FTQUJRWDlxY1FSQUlBRVEwUUVoQVFzTElBRWdBQ2dDQkNJRFN3UkFJQUFnQVJEaUF3VWdBU0FEU1FSQUlBQW9BZ3l6SUFBcUFoQ1ZqUkNTQVNFQ0lBTkJmMm9nQTNGRklBTkJBa3R4Qkg4Z0FrRUJRU0FnQWtGL2FtZHJkQ0FDUVFKSkd3VWdBaERSQVFzaUFpQUJJQUVnQWtrYklnRWdBMGtFUUNBQUlBRVE0Z01MQ3dzTEV3QWdBRUhzaFFFMkFnQWdBRUVFYWhEU0Fnc2xBQ0FBUWR5RkFUWUNBQ0FBUVRocUVGVWdBRUVzYWhCVklBQkJJR29RVlNBQUVNWUNDdzBBSUFBb0FnQWdBVUVGZEdvTDNnTUJBMzhqQmlFSUl3WkJFR29rQmlBR1FRQktCRUFnQmtFQmFpQUZLQUlFU1FSQUlBZEJmMm9oQ1NBSFFRQktCRUFnQjBFQmFpSUtJQVVvQWdoSkJFQWdCU0FKRUZBZ0JrRUNkR29oQ1NBRklBY1FVQ0FHUVFKMGFpRUhJQVVnQ2hCUUlBWkJBblJxSVFVZ0FDQUhLZ0lFSUFkQmZHb2lBQ29DQUpOREFBQUFQNVE0QWdBZ0FTQUZLZ0lBSUFrcUFnQ1RRd0FBQUQrVU9BSUFJQUlnQnlvQ0JDQUFLZ0lBSUFjcUFnQkRBQUFBUUpTVGtqZ0NBQ0FESUFVcUFnQWdDU29DQUNBSEtnSUFRd0FBQUVDVWs1STRBZ0FnQkNBSlFYeHFLZ0lBSUFVcUFnU1NJQWtxQWdRZ0JVRjhhaW9DQUpLVFF3QUFnRDZVT0FJQUlBZ2tCZzhMQ3lBSVFjRElBMEc1MkFFUU4wSE95d0VRTjBIdm9nSVFOMEdkQWhBK1FmYWlBaEEzUWRUUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUlRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUlFRHdnQUNBQkVFQWdBQkEvRUFBTEN5QUlRY0RJQTBHQjJBRVFOMEhPeXdFUU4wSHZvZ0lRTjBHY0FoQStRZmFpQWhBM1FZblBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFJUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FJRUR3Z0FDQUJFRUFnQUJBL0VBQUxEUUFnQUNBQ2xDQUJJQUdVa3dzNkFRSjlRd0FBZ0Q5QkFTQUVkTEtWSWdWREFBQUFQNVJEQUFBQXY1SWhCaUFBSUFVZ0FwUWdCcEk0QWdBZ0FTQUZJQU9VSUFhU09BSUFDejhCQW44Z0FDZ0NCQ0VDSUFBb0FnZ2hBUU5BSUFFZ0FrY0VRQ0FBSUFGQmVHb2lBVFlDQ0F3QkN3c2dBQ2dDQUNJQkJFQWdBQ2dDREJvZ0FSQTRDd3VYQVFFRWZ5QUJRUVJxSWdNb0FnQkJBQ0FBS0FJRUlBQW9BZ0FpQkdzaUJVRURkV3RCQTNScUlRSWdBeUFDTmdJQUlBVkJBRW9FUUNBQ0lBUWdCUkJNR2lBREtBSUFJUUlMSUFBb0FnQWhCQ0FBSUFJMkFnQWdBeUFFTmdJQUlBQW9BZ1FoQWlBQUlBRW9BZ2cyQWdRZ0FTQUNOZ0lJSUFBb0FnZ2hBaUFBSUFFb0FndzJBZ2dnQVNBQ05nSU1JQUVnQXlnQ0FEWUNBQXMvQVFKL0lBQW9BZ1FoQWlBQUtBSUlJUUVEUUNBQklBSkhCRUFnQUNBQlFWeHFJZ0UyQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMbHdFQkJIOGdBVUVFYWlJREtBSUFJUUlnQXlBQUtBSUVJQUFvQWdBaUJHc2lCVUZjRURsQkpHd2dBbW9pQWpZQ0FDQUZRUUJLQkVBZ0FpQUVJQVVRVEJvZ0F5Z0NBQ0VDQ3lBQUtBSUFJUVFnQUNBQ05nSUFJQU1nQkRZQ0FDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFNb0FnQTJBZ0FMY2dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY2ZqOFRoTEJFQkJDQkFGSWdNUWlBRWdBMEcwaXdFMkFnQWdBMEg0OXdCQkZoQUVCU0FCUVNSc0VGRWhCQXNMSUFBZ0JEWUNBQ0FBSUFKQkpHd2dCR29pQWpZQ0NDQUFJQUkyQWdRZ0FDQUJRU1JzSUFScU5nSU1DMDRCQW44akJpRUNJd1pCSUdva0JpQUFLQUlJSUFBb0FnQWlBMnRCSkJBNUlBRkpCRUFnQWlBQklBQW9BZ1FnQTJ0QkpCQTVJQUJCQ0dvUTBBSWdBQ0FDRU04Q0lBSVF6Z0lMSUFJa0JndEFBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVdCcUlnRVEzUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDejhCQW44Z0FDZ0NBQ0lDQkVBZ0FDZ0NCQ0VCQTBBZ0FTQUNSd1JBSUFGQmRHb2lBUkJWREFFTEN5QUFJQUkyQWdRZ0FDZ0NDQm9nQUNnQ0FCQTRDd3RkQVFOL0lBQW9BZ1FpQkNBQUtBSUFJZ0pyUVFWMUlnTWdBVWtFUUNBQUlBRWdBMnNRakFrRklBTWdBVXNFUUNBQlFRVjBJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCWUdvaUFSRGRBUXdCQ3dzZ0FDQUNOZ0lFQ3dzTGN3RUJmeUFBUVFBMkFnd2dBQ0FETmdJUUlBRUVRQ0FCUWRXcTFhb0JTd1JBUVFnUUJTSURFSWdCSUFOQnRJc0JOZ0lBSUFOQitQY0FRUllRQkFVZ0FVRU1iQkJSSVFRTEN5QUFJQVEyQWdBZ0FDQUNRUXhzSUFScUlnSTJBZ2dnQUNBQ05nSUVJQUFnQVVFTWJDQUVhallDREFzL0FRSi9JQUFvQWdRaEFpQUFLQUlJSVFFRFFDQUJJQUpIQkVBZ0FDQUJRWDlxSWdFMkFnZ01BUXNMSUFBb0FnQWlBUVJBSUFBb0Fnd2FJQUVRT0FzTGpnRUJCSDhnQVVFRWFpSURLQUlBSUFBb0FnUWdBQ2dDQUNJRWF5SUZheUVDSUFNZ0FqWUNBQ0FGUVFCS0JFQWdBaUFFSUFVUVRCb2dBeWdDQUNFQ0N5QUFLQUlBSVFRZ0FDQUNOZ0lBSUFNZ0JEWUNBQ0FBS0FJRUlRSWdBQ0FCS0FJSU5nSUVJQUVnQWpZQ0NDQUFLQUlJSVFJZ0FDQUJLQUlNTmdJSUlBRWdBallDRENBQklBTW9BZ0EyQWdBTFFBQWdBRUVBTmdJTUlBQWdBellDRUNBQUlBRUVmeUFCRUZFRlFRQUxJZ00yQWdBZ0FDQUNJQU5xSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBU0FEYWpZQ0RBczlBUUovSUFBb0FnQWlBZ1JBSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQ0FBS0FJSUdpQUFLQUlBRURnTEM5UUNBZ1ovQW4wakJpRUdJd1pCSUdva0JpQUdRUlJxSVFjZ0JrRVFhaUVKSUFaQkRHb2hDeUFHUVFocUlRZ2dCa0VFYWlFS0lBUXFBZ2doRENBRUtnSU1JUTBnQlFKL0FrQUNRQUpBSUFGRkRRQWdBQ0FCSUF3Z0RTQUhJQWdRNVFGQkFFZ05BQ0FGSUFjcUFnQVFRellDQUNBRklBZ3FBZ0FRUXpZQ0JDQUNSUTBCSUFBZ0FpQU1JQTBnQ1NBS0VPVUJRUUJJRFFFZ0JTQUhLZ0lBUXdBQUFFQ1VJQWtxQWdDVEVFTTJBZ2dnQlNBSUtnSUFRd0FBQUVDVUlBb3FBZ0NURUVNMkFnd2dBMFVOQWlBQUlBTWdEQ0FOSUFzZ0JoRGxBVUVBU0EwQ0lBVWdDeW9DQUNBSEtnSUFRd0FBUUVDVUlBa3FBZ0JEQUFCQVFKU1RraEJETmdJUUlBWXFBZ0FnQ0NvQ0FFTUFBRUJBbENBS0tnSUFRd0FBUUVDVWs1SVFRd3dEQ3lBRlFYODJBZ0FnQlVGL05nSUVDeUFGUVg4MkFnZ2dCVUYvTmdJTUN5QUZRWDgyQWhCQmZ3czJBaFFnQmlRR0MwNEJBbjBnQVNvQ0FDQUFLZ0lBa3lJRUlBU1VJQUVxQWdRZ0FDb0NCSk1pQkNBRWxKS1JJZ1ZEQUFBQUFGd0VRQ0FDSUFRZ0JaVTRBZ0FnQXlBQktnSUFJQUFxQWdDVElBV1ZPQUlBQ3dzR0FFRWFFQUlMcHdFQkFuOUJieUFCYXlBQ1NRUkFFQUFMSUFBc0FBdEJBRWdFZnlBQUtBSUFCU0FBQ3lFRklBRkI1Ly8vL3dkSkJIOUJDeUFCUVFGMElnWWdBU0FDYWlJQ0lBSWdCa2tiSWdKQkVHcEJjSEVnQWtFTFNSc0ZRVzhMSWdZUVVTRUNJQVFFUUNBQ0lBVWdCQkNvQVFzZ0F5QUVheUlEQkVBZ0FpQUVhaUFFSUFWcUlBTVFxQUVMSUFGQkNrY0VRQ0FGRURnTElBQWdBallDQUNBQUlBWkJnSUNBZ0hoeU5nSUlDejRBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBU3dBQzBFQVNBUkFJQUFnQVNnQ0FDQUJLQUlFRUg0RklBQWdBU2tDQURjQ0FDQUFJQUVvQWdnMkFnZ0xDd1FBUVFFTENnQWdBQkE0SUFFUU9Bc0xBQ0FFSUFJMkFnQkJBd3NmQVFGL0lBQW9BZ0FpQVFSL0lBRVFPQ0FBUVFBMkFnQkJBQVZCZndzYUM2TUJBUU4vUVlnQkVFUWlBUVJBQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQkVjRVFDQUNRUVYwSUFGcUlBTkJBM1JxSUFKQkJYUWdBR29nQTBFRGRHb3JBd0E1QXdBZ0EwRUJhaUVEREFFTEN5QUNRUUZxSVFJTUFRc0xJQUZCQ2pZQ1lDQUJSQUFBQUtDWm1iay9PUU5vSUFGRUFBQUFnQlN1N3o4NUEzQWdBVVFBQUFBQUFBQVFRRGtEZUNBQlJBQUFBQUFBQU9BL09RT0FBUVZCQUNFQkN5QUJDNzhFQVFGL0lBQWdCVVlFZnlBQkxBQUFCSDhnQVVFQU9nQUFJQVFnQkNnQ0FDSUFRUUZxTmdJQUlBQkJMam9BQUNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc0VRQ0FKS0FJQUlnQWdDR3RCb0FGSUJFQWdDaWdDQUNFQklBa2dBRUVFYWpZQ0FDQUFJQUUyQWdBTEMwRUFCVUYvQ3dVQ2Z5QUFJQVpHQkVBZ0J5Z0NCQ0FITEFBTElnVkIvd0Z4SUFWQkFFZ2JCRUJCZnlBQkxBQUFSUTBDR2tFQUlBa29BZ0FpQUNBSWEwR2dBVTROQWhvZ0NpZ0NBQ0VCSUFrZ0FFRUVhallDQUNBQUlBRTJBZ0FnQ2tFQU5nSUFRUUFNQWdzTElBdEJnQUZxSVF4QkFDRUZBMzhnQlVFZ1JnUi9JQXdGSUFWQkFXb2hCaUFBSUFWQkFuUWdDMm9pQlNnQ0FFWUVmeUFGQlNBR0lRVU1BZ3NMQ3lBTGF5SUFRZndBU2dSL1FYOEZJQUJCQW5WQjhPOEFhaXdBQUNFRkFrQUNRQUpBQWtBZ0FFR29mMm9pQmtFQ2RpQUdRUjUwY2c0RUFRRUFBQUlMSUFRb0FnQWlBQ0FEUndSQVFYOGdBRUYvYWl3QUFFSGZBSEVnQWl3QUFFSC9BSEZIRFFVYUN5QUVJQUJCQVdvMkFnQWdBQ0FGT2dBQVFRQU1CQXNnQWtIUUFEb0FBQXdCQ3lBRlFkOEFjU0lESUFJc0FBQkdCRUFnQWlBRFFZQUJjam9BQUNBQkxBQUFCRUFnQVVFQU9nQUFJQWNvQWdRZ0J5d0FDeUlCUWY4QmNTQUJRUUJJR3dSQUlBa29BZ0FpQVNBSWEwR2dBVWdFUUNBS0tBSUFJUUlnQ1NBQlFRUnFOZ0lBSUFFZ0FqWUNBQXNMQ3dzTElBUWdCQ2dDQUNJQlFRRnFOZ0lBSUFFZ0JUb0FBQ0FBUWRRQVRBUkFJQW9nQ2lnQ0FFRUJhallDQUF0QkFBc0xDd3VrQVFFQ2Z5TUdJUVVqQmtFUWFpUUdJQVVnQVJBN0lBVkJvTTRERURvaUFTZ0NBQ2dDTUNFR0lBRkI4TzhBUVpEd0FDQUNJQVpCRDNGQmlnSnFFUWtBR2lBRlFhak9BeEE2SWdFb0FnQW9BZ3doQWlBRElBRWdBa0gvQUhGQkNHb1JBQUEyQWdBZ0FTZ0NBQ2dDRUNFQ0lBUWdBU0FDUWY4QWNVRUlhaEVBQURZQ0FDQUJLQUlBS0FJVUlRSWdBQ0FCSUFKQlAzRkJzZ1ZxRVFNQUlBVVFQQ0FGSkFZTFVnSUNmd0Y4SUFBb0FnUWlBeUFCS0FJRVJ3UkFRUUFRQVFzRFFDQUNJQU5JQkVBZ0JDQUFLQUlBSUFKQkEzUnFLd01BSUFFb0FnQWdBa0VEZEdvckF3Q2lvQ0VFSUFKQkFXb2hBZ3dCQ3dzZ0JBczNBUUovUVFnUVJDSUJCRUFnQVNBQVFRTjBFRVFpQWpZQ0FDQUNCRUFnQVNBQU5nSUVCU0FCRURoQkFDRUJDd1ZCQUNFQkN5QUJDOVVFQVFGL0lBQkIvd0Z4SUFWQi93RnhSZ1IvSUFFc0FBQUVmeUFCUVFBNkFBQWdCQ0FFS0FJQUlnQkJBV28yQWdBZ0FFRXVPZ0FBSUFjb0FnUWdCeXdBQ3lJQVFmOEJjU0FBUVFCSUd3UkFJQWtvQWdBaUFDQUlhMEdnQVVnRVFDQUtLQUlBSVFFZ0NTQUFRUVJxTmdJQUlBQWdBVFlDQUFzTFFRQUZRWDhMQlFKL0lBQkIvd0Z4SUFaQi93RnhSZ1JBSUFjb0FnUWdCeXdBQ3lJRlFmOEJjU0FGUVFCSUd3UkFRWDhnQVN3QUFFVU5BaHBCQUNBSktBSUFJZ0FnQ0d0Qm9BRk9EUUlhSUFvb0FnQWhBU0FKSUFCQkJHbzJBZ0FnQUNBQk5nSUFJQXBCQURZQ0FFRUFEQUlMQ3lBTFFTQnFJUXhCQUNFRkEzOGdCVUVnUmdSL0lBd0ZJQVZCQVdvaEJpQUZJQXRxSWdVdEFBQWdBRUgvQVhGR0JIOGdCUVVnQmlFRkRBSUxDd3NnQzJzaUJVRWZTZ1IvUVg4RklBVkI4TzhBYWl3QUFDRUFBa0FDUUFKQUlBVkJGbXNPQkFFQkFBQUNDeUFFS0FJQUlnRWdBMGNFUUVGL0lBRkJmMm9zQUFCQjN3QnhJQUlzQUFCQi93QnhSdzBFR2dzZ0JDQUJRUUZxTmdJQUlBRWdBRG9BQUVFQURBTUxJQUpCMEFBNkFBQWdCQ0FFS0FJQUlnRkJBV28yQWdBZ0FTQUFPZ0FBUVFBTUFnc2dBRUhmQUhFaUF5QUNMQUFBUmdSQUlBSWdBMEdBQVhJNkFBQWdBU3dBQUFSQUlBRkJBRG9BQUNBSEtBSUVJQWNzQUFzaUFVSC9BWEVnQVVFQVNCc0VRQ0FKS0FJQUlnRWdDR3RCb0FGSUJFQWdDaWdDQUNFQ0lBa2dBVUVFYWpZQ0FDQUJJQUkyQWdBTEN3c0xJQVFnQkNnQ0FDSUJRUUZxTmdJQUlBRWdBRG9BQUVFQUlBVkJGVW9OQVJvZ0NpQUtLQUlBUVFGcU5nSUFRUUFMQ3dzTHBBRUJBbjhqQmlFRkl3WkJFR29rQmlBRklBRVFPeUFGUVlET0F4QTZJZ0VvQWdBb0FpQWhCaUFCUWZEdkFFR1E4QUFnQWlBR1FROXhRWW9DYWhFSkFCb2dCVUdRemdNUU9pSUJLQUlBS0FJTUlRSWdBeUFCSUFKQi93QnhRUWhxRVFBQU9nQUFJQUVvQWdBb0FoQWhBaUFFSUFFZ0FrSC9BSEZCQ0dvUkFBQTZBQUFnQVNnQ0FDZ0NGQ0VDSUFBZ0FTQUNRVDl4UWJJRmFoRURBQ0FGRUR3Z0JTUUdDd3NBSUFBUW1RSWdBQkE0Q3dzQUlBQVFtZ0lnQUJBNEN3c0FJQUFRMEFRZ0FCQTRDd3NBSUFBUTFnUWdBQkE0Q3hNQUlBQWdBNklnQVNBRW9xQWdBaUFGb3FBTFZ3RURmeUFBS0FJRUlnZEJDSFVoQmlBSFFRRnhCRUFnQXlnQ0FDQUdhaWdDQUNFR0N5QUFLQUlBSWdBb0FnQW9BaFFoQ0NBQUlBRWdBaUFESUFacUlBUkJBaUFIUVFKeEd5QUZJQWhCQjNGQjJnWnFFUXdBQ3hRQUlBQWdBS0lnQVNBQm9xQWdBaUFDb3FDZkM2Y0JBQ0FBUVFFNkFEVWdBaUFBS0FJRVJnUkFBa0FnQUVFQk9nQTBJQUFvQWhBaUFrVUVRQ0FBSUFFMkFoQWdBQ0FETmdJWUlBQkJBVFlDSkNBQUtBSXdRUUZHSUFOQkFVWnhSUTBCSUFCQkFUb0FOZ3dCQ3lBQklBSkhCRUFnQUNBQUtBSWtRUUZxTmdJa0lBQkJBVG9BTmd3QkN5QUFLQUlZSWdGQkFrWUVRQ0FBSUFNMkFoZ0ZJQUVoQXdzZ0FDZ0NNRUVCUmlBRFFRRkdjUVJBSUFCQkFUb0FOZ3NMQ3dzZkFDQUJJQUFvQWdSR0JFQWdBQ2dDSEVFQlJ3UkFJQUFnQWpZQ0hBc0xDMTRCQVg4Z0FDZ0NFQ0lEQkVBQ1FDQUJJQU5IQkVBZ0FDQUFLQUlrUVFGcU5nSWtJQUJCQWpZQ0dDQUFRUUU2QURZTUFRc2dBQ2dDR0VFQ1JnUkFJQUFnQWpZQ0dBc0xCU0FBSUFFMkFoQWdBQ0FDTmdJWUlBQkJBVFlDSkFzTDVBSUNBbjhDZlNBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSC8vLy9qQkVzRVFDQUFROW9QeWI5RDJnL0pQeUFDR3lBQlFZQ0FnUHdIU3hzUEN5QUJRWUNBZ1BjRFNRUkFJQUZCZ0lDQXpBTkpCSDhnQUE4RlFYOExJUUVGSUFDTElRQWdBVUdBZ09EOEEwa0VmU0FCUVlDQXdQa0RTUVI5UVFBaEFTQUFRd0FBQUVDVVF3QUFnTCtTSUFCREFBQUFRSktWQlVFQklRRWdBRU1BQUlDL2tpQUFRd0FBZ0QrU2xRc0ZJQUZCZ0lEd2dBUkpCSDFCQWlFQklBQkRBQURBdjVJZ0FFTUFBTUEvbEVNQUFJQS9rcFVGUVFNaEFVTUFBSUMvSUFDVkN3c2hBQXNnQUNBQWxDSUVJQVNVSVFNZ0JDQURJQU5ESmF4OFBaUkREZlVSUHBLVVE2bXFxajZTbENFRUlBTkRtTXBNdmlBRFEwY1MyajJVazVRaEF5QUJRUUJJQkgwZ0FDQUFJQU1nQkpLVWt3VWdBVUVDZEVIUTdBQnFLZ0lBSUFBZ0F5QUVrcFFnQVVFQ2RFSGc3QUJxS2dJQWt5QUFrNU1pQUNBQWpDQUNSUnNMQy93Q0FnTi9BWHdqQmlFREl3WkJFR29rQmlBQXZDSUJRUjkySVFJZ0FVSC8vLy8vQjNFaUFVSGJuNlQ2QTBrRVFDQUJRWUNBZ013RFR3UkFJQUM3RUpFQklRQUxCUUo5SUFGQjBxZnRnd1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhrbDl1QUJFOEVRRVFZTFVSVSt5RUpRRVFZTFVSVSt5RUp3Q0FDR3lBRW9Kb1FrUUVNQWdzZ0FnUkFJQVJFR0MxRVZQc2grVCtnRUpBQmpBd0NCU0FFUkJndFJGVDdJZm0vb0JDUUFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFDN0lRUWdBVUhnMjcrRkJFOEVRRVFZTFVSVSt5RVpRRVFZTFVSVSt5RVp3Q0FDR3lBRW9CQ1JBUXdDQ3lBQ0JFQWdCRVRTSVROL2ZOa1NRS0FRa0FFTUFnVWdCRVRTSVROL2ZOa1N3S0FRa0FHTURBSUxBQXNnQUNBQWt5QUJRZi8vLy9zSFN3MEFHZ0pBQWtBQ1FBSkFJQUFnQXhENkFrRURjUTREQUFFQ0F3c2dBeXNEQUJDUkFRd0RDeUFES3dNQUVKQUJEQUlMSUFNckF3Q2FFSkVCREFFTElBTXJBd0FRa0FHTUN5RUFDeUFESkFZZ0FBdi9BZ01EZndGOUFYd2pCaUVESXdaQkVHb2tCaUFBdkNJQlFSOTJJUUlnQVVILy8vLy9CM0VpQVVIYm42VDZBMGtFZlNBQlFZQ0FnTXdEU1FSOVF3QUFnRDhGSUFDN0VKQUJDd1VDZlNBQlFkS243WU1FU1FSQUlBSkJBRWNoQWlBQXV5RUZJQUZCNDVmYmdBUkxCRUJFR0MxRVZQc2hDVUJFR0MxRVZQc2hDY0FnQWhzZ0JhQVFrQUdNREFJTElBSUVRQ0FGUkJndFJGVDdJZmsvb0JDUkFRd0NCVVFZTFVSVSt5SDVQeUFGb1JDUkFRd0NDd0FMSUFGQjF1T0lod1JKQkVBZ0FrRUFSeUVDSUFGQjM5dS9oUVJMQkVCRUdDMUVWUHNoR1VCRUdDMUVWUHNoR2NBZ0Foc2dBTHVnRUpBQkRBSUxJQUlFUUNBQWpMdEUwaUV6ZjN6WkVzQ2dFSkVCREFJRklBQzdSTkloTTM5ODJSTEFvQkNSQVF3Q0N3QUxJQUFnQUpNZ0FVSC8vLy83QjBzTkFCb0NRQUpBQWtBQ1FDQUFJQU1RK2dKQkEzRU9Bd0FCQWdNTElBTXJBd0FRa0FFTUF3c2dBeXNEQUpvUWtRRU1BZ3NnQXlzREFCQ1FBWXdNQVFzZ0F5c0RBQkNSQVFzTElRUWdBeVFHSUFRTGR3RUJmd0pBQWtBZ0FBMEFRY1RGQXlnQ0FDSUFEUUJCQUNFQURBRUxJQUFROXdRZ0FHb2lBQ3dBQUVVRVFFSEV4UU5CQURZQ0FFRUFJUUFNQVF0QnhNVURJQUFRN1FRZ0FHb2lBVFlDQUNBQkxBQUFCRUJCeE1VRElBRkJBV28yQWdBZ0FVRUFPZ0FBQlVIRXhRTkJBRFlDQUFzTElBQUxLZ0VCZmlBQUtBSk1HaUFBRU84RUlnRkMvLy8vL3dkVkJIOUJwTVVEUVQwMkFnQkJmd1VnQWFjTEN4NEFJQUFvQWt3YUlBQkNBRUVBRUlrRElBQWdBQ2dDQUVGZmNUWUNBQXZ3QVFJR2Z3SjhJd1loQXlNR1FSQnFKQVlnQTBFSWFpRUVJQUM4SWdWQi8vLy8vd2R4SWdKQjI1K2s3Z1JKQkg4Z0FMc2lDRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJSkVITWhCaUFCSUFnZ0NVUUFBQUJRK3lINVA2S2hJQWxFWTJJYVliUVFVVDZpb1RrREFDQUdCUUovSUFKQi8vLy8rd2RMQkVBZ0FTQUFJQUNUdXprREFFRUFEQUVMSUFRZ0FpQUNRUmQyUWVwK2FpSUNRUmQwYTc2N09RTUFJQVFnQXlBQ1FRRkJBQkQ3QWlFQ0lBTXJBd0FoQ0NBRlFRQklCSDhnQVNBSW1qa0RBRUVBSUFKckJTQUJJQWc1QXdBZ0Fnc0xDeUVISUFNa0JpQUhDNE1SQWhaL0Ezd2pCaUVOSXdaQnNBUnFKQVlnRFVIQUFtb2hEeUFFUVFKMFFmRHBBR29vQWdBaERpQUNRWDFxUVJnUU9TSUZRUUFnQlVFQVNoc2hFU0FPSUFOQmYyb2lCMnBCQUU0RVFDQURJQTVxSVFrZ0VTQUhheUVGQTBBZ0JrRURkQ0FQYWlBRlFRQklCSHhFQUFBQUFBQUFBQUFGSUFWQkFuUkJnT29BYWlnQ0FMY0xPUU1BSUFWQkFXb2hCU0FHUVFGcUlnWWdDVWNOQUFzTElBMUI0QU5xSVF3Z0RVR2dBV29oQ2lBUlFXaHNJaFVnQWtGb2Ftb2hDU0FEUVFCS0lRaEJBQ0VGQTBBZ0NBUkFJQVVnQjJvaEMwUUFBQUFBQUFBQUFDRWJRUUFoQmdOQUlCc2dCa0VEZENBQWFpc0RBQ0FMSUFaclFRTjBJQTlxS3dNQW9xQWhHeUFHUVFGcUlnWWdBMGNOQUFzRlJBQUFBQUFBQUFBQUlSc0xJQVZCQTNRZ0RXb2dHemtEQUNBRlFRRnFJUVlnQlNBT1NBUkFJQVloQlF3QkN3c2dDVUVBU2lFU1FSZ2dDV3NoRTBFWElBbHJJUllnQ1VVaEZ5QURRUUJLSVJnZ0RpRUZBa0FDUUFOQUFrQWdCVUVEZENBTmFpc0RBQ0ViSUFWQkFFb2lDd1JBSUFVaEJrRUFJUWNEUUNBSFFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjN2NpRzBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQmtGL2FpSUlRUU4wSUExcUt3TUFJQnVnSVJzZ0IwRUJhaUVISUFaQkFVb0VRQ0FJSVFZTUFRc0xDeUFiSUFrUW53RWlHeUFiUkFBQUFBQUFBTUEvb3B4RUFBQUFBQUFBSUVDaW9TSWJFSE1oQmlBYklBYTNvU0ViQWtBQ1FBSkFJQklFZnlBRlFYOXFRUUowSUF4cUlnZ29BZ0FpRUNBVGRTRUhJQWdnRUNBSElCTjBheUlJTmdJQUlBZ2dGblVoQ0NBR0lBZHFJUVlNQVFVZ0Z3Ui9JQVZCZjJwQkFuUWdER29vQWdCQkYzVWhDQXdDQlNBYlJBQUFBQUFBQU9BL1pnUi9RUUloQ0F3RUJVRUFDd3NMSVFnTUFnc2dDRUVBU2cwQURBRUxJQVloR2lBTEJIOUJBQ0VHUVFBaEN3Ti9JQXRCQW5RZ0RHb2lHU2dDQUNFUUFrQUNRQ0FHQkg5Qi8vLy9CeUVVREFFRklCQUVmMEVCSVFaQmdJQ0FDQ0VVREFJRlFRQUxDeUVHREFFTElCa2dGQ0FRYXpZQ0FBc2dDMEVCYWlJTElBVkhEUUFnQmdzRlFRQUxJUXNnRWdSQUFrQUNRQUpBSUFsQkFXc09BZ0FCQWdzZ0JVRi9ha0VDZENBTWFpSUdJQVlvQWdCQi8vLy9BM0UyQWdBTUFRc2dCVUYvYWtFQ2RDQU1haUlHSUFZb0FnQkIvLy8vQVhFMkFnQUxDeUFhUVFGcUlRWWdDRUVDUmdSQVJBQUFBQUFBQVBBL0lCdWhJUnNnQ3dSQUlCdEVBQUFBQUFBQThEOGdDUkNmQWFFaEd3dEJBaUVJQ3dzZ0cwUUFBQUFBQUFBQUFHSU5BaUFGSUE1S0JFQkJBQ0VMSUFVaEJ3TkFJQXNnQjBGL2FpSUhRUUowSUF4cUtBSUFjaUVMSUFjZ0Rrb05BQXNnQ3cwQkMwRUJJUVlEUUNBR1FRRnFJUWNnRGlBR2EwRUNkQ0FNYWlnQ0FFVUVRQ0FISVFZTUFRc0xJQVVnQm1vaEJ3TkFJQU1nQldvaUNFRURkQ0FQYWlBRlFRRnFJZ1lnRVdwQkFuUkJnT29BYWlnQ0FMYzVBd0FnR0FSQVJBQUFBQUFBQUFBQUlSdEJBQ0VGQTBBZ0d5QUZRUU4wSUFCcUt3TUFJQWdnQld0QkEzUWdEMm9yQXdDaW9DRWJJQVZCQVdvaUJTQURSdzBBQ3dWRUFBQUFBQUFBQUFBaEd3c2dCa0VEZENBTmFpQWJPUU1BSUFZZ0IwZ0VRQ0FHSVFVTUFRc0xJQWNoQlF3QkN3c2dDU0VBQTM4Z0FFRm9haUVBSUFWQmYyb2lCVUVDZENBTWFpZ0NBRVVOQUNBQUlRSWdCUXNoQUF3QkN5QWJRUUFnQ1dzUW53RWlHMFFBQUFBQUFBQndRV1lFZnlBRlFRSjBJQXhxSUJzZ0cwUUFBQUFBQUFCd1BxSVFjeUlEdDBRQUFBQUFBQUJ3UWFLaEVITTJBZ0FnQWlBVmFpRUNJQVZCQVdvRklBa2hBaUFiRUhNaEF5QUZDeUlBUVFKMElBeHFJQU0yQWdBTFJBQUFBQUFBQVBBL0lBSVFud0VoR3lBQVFYOUtJZ2NFUUNBQUlRSURRQ0FDUVFOMElBMXFJQnNnQWtFQ2RDQU1haWdDQUxlaU9RTUFJQnRFQUFBQUFBQUFjRDZpSVJzZ0FrRi9haUVESUFKQkFFb0VRQ0FESVFJTUFRc0xJQWNFUUNBQUlRSURRQ0FBSUFKcklRbEJBQ0VEUkFBQUFBQUFBQUFBSVJzRFFDQWJJQU5CQTNSQmtPd0FhaXNEQUNBQ0lBTnFRUU4wSUExcUt3TUFvcUFoR3lBRFFRRnFJUVVnQXlBT1RpQURJQWxQY2tVRVFDQUZJUU1NQVFzTElBbEJBM1FnQ21vZ0d6a0RBQ0FDUVg5cUlRTWdBa0VBU2dSQUlBTWhBZ3dCQ3dzTEN3SkFBa0FDUUFKQUlBUU9CQUFCQVFJREN5QUhCRUJFQUFBQUFBQUFBQUFoR3dOQUlCc2dBRUVEZENBS2Fpc0RBS0FoR3lBQVFYOXFJUUlnQUVFQVNnUkFJQUloQUF3QkN3c0ZSQUFBQUFBQUFBQUFJUnNMSUFFZ0c1b2dHeUFJR3prREFBd0NDeUFIQkVCRUFBQUFBQUFBQUFBaEd5QUFJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtGL2FpRURJQUpCQUVvRVFDQURJUUlNQVFzTEJVUUFBQUFBQUFBQUFDRWJDeUFCSUJzZ0c1b2dDRVVpQkJzNUF3QWdDaXNEQUNBYm9TRWJJQUJCQVU0RVFFRUJJUUlEUUNBYklBSkJBM1FnQ21vckF3Q2dJUnNnQWtFQmFpRURJQUFnQWtjRVFDQURJUUlNQVFzTEN5QUJJQnNnRzVvZ0JCczVBd2dNQVFzZ0FFRUFTZ1JBSUFBaUFrRURkQ0FLYWlzREFDRWJBMEFnQWtGL2FpSURRUU4wSUFwcUlnUXJBd0FpSFNBYm9DRWNJQUpCQTNRZ0Ntb2dHeUFkSUJ5aG9Ea0RBQ0FFSUJ3NUF3QWdBa0VCU2dSQUlBTWhBaUFjSVJzTUFRc0xJQUJCQVVvaUJBUkFJQUFpQWtFRGRDQUthaXNEQUNFYkEwQWdBa0YvYWlJRFFRTjBJQXBxSWdVckF3QWlIU0Fib0NFY0lBSkJBM1FnQ21vZ0d5QWRJQnlob0RrREFDQUZJQnc1QXdBZ0FrRUNTZ1JBSUFNaEFpQWNJUnNNQVFzTElBUUVRRVFBQUFBQUFBQUFBQ0ViQTBBZ0d5QUFRUU4wSUFwcUt3TUFvQ0ViSUFCQmYyb2hBaUFBUVFKS0JFQWdBaUVBREFFTEN3VkVBQUFBQUFBQUFBQWhHd3NGUkFBQUFBQUFBQUFBSVJzTEJVUUFBQUFBQUFBQUFDRWJDeUFLS3dNQUlSd2dDQVJBSUFFZ0hKbzVBd0FnQVNBS0t3TUltamtEQ0NBQklCdWFPUU1RQlNBQklCdzVBd0FnQVNBS0t3TUlPUU1JSUFFZ0d6a0RFQXNMSUEwa0JpQUdRUWR4QzRBSkF3aC9BWDRFZkNNR0lRUWpCa0V3YWlRR0lBUkJFR29oQlNBQXZTSUtRaitJcHlFR0FuOENRQ0FLUWlDSXB5SUNRZi8vLy84SGNTSURRZnZVdllBRVNRUi9JQUpCLy84L2NVSDd3eVJHRFFFZ0JrRUFSeUVDSUFOQi9iS0xnQVJKQkg4Z0FnUi9JQUVnQUVRQUFFQlUreUg1UDZBaUFFUXhZMklhWWJUUVBhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwRDJnT1FNSVFYOEZJQUVnQUVRQUFFQlUreUg1djZBaUFFUXhZMklhWWJUUXZhQWlDemtEQUNBQklBQWdDNkZFTVdOaUdtRzAwTDJnT1FNSVFRRUxCU0FDQkg4Z0FTQUFSQUFBUUZUN0lRbEFvQ0lBUkRGallocGh0T0E5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ1BhQTVBd2hCZmdVZ0FTQUFSQUFBUUZUN0lRbkFvQ0lBUkRGallocGh0T0M5b0NJTE9RTUFJQUVnQUNBTG9VUXhZMklhWWJUZ3ZhQTVBd2hCQWdzTEJRSi9JQU5Cdkl6eGdBUkpCRUFnQTBHOSs5ZUFCRWtFUUNBRFFmeXl5NEFFUmcwRUlBWUVRQ0FCSUFCRUFBQXdmM3paRWtDZ0lnQkV5cFNUcDVFTzZUMmdJZ3M1QXdBZ0FTQUFJQXVoUk1xVWs2ZVJEdWs5b0RrRENFRjlEQU1GSUFFZ0FFUUFBREIvZk5rU3dLQWlBRVRLbEpPbmtRN3B2YUFpQ3prREFDQUJJQUFnQzZGRXlwU1RwNUVPNmIyZ09RTUlRUU1NQXdzQUJTQURRZnZENUlBRVJnMEVJQVlFUUNBQklBQkVBQUJBVlBzaEdVQ2dJZ0JFTVdOaUdtRzA4RDJnSWdzNUF3QWdBU0FBSUF1aFJERmpZaHBodFBBOW9Ea0RDRUY4REFNRklBRWdBRVFBQUVCVSt5RVp3S0FpQUVReFkySWFZYlR3dmFBaUN6a0RBQ0FCSUFBZ0M2RkVNV05pR21HMDhMMmdPUU1JUVFRTUF3c0FDd0FMSUFOQis4UGtpUVJKRFFJZ0EwSC8vNy8vQjBzRVFDQUJJQUFnQUtFaUFEa0RDQ0FCSUFBNUF3QkJBQXdCQ3lBS1F2Ly8vLy8vLy84SGcwS0FnSUNBZ0lDQXNNRUFoTDhoQUVFQUlRSURRQ0FDUVFOMElBVnFJQUFRYzdjaUN6a0RBQ0FBSUF1aFJBQUFBQUFBQUhCQm9pRUFJQUpCQVdvaUFrRUNSdzBBQ3lBRklBQTVBeEFnQUVRQUFBQUFBQUFBQUdFRVFFRUJJUUlEUUNBQ1FYOXFJUWNnQWtFRGRDQUZhaXNEQUVRQUFBQUFBQUFBQUdFRVFDQUhJUUlNQVFzTEJVRUNJUUlMSUFVZ0JDQURRUlIyUWVwM2FpQUNRUUZxUVFFUSt3SWhBaUFFS3dNQUlRQWdCZ1IvSUFFZ0FKbzVBd0FnQVNBRUt3TUltamtEQ0VFQUlBSnJCU0FCSUFBNUF3QWdBU0FFS3dNSU9RTUlJQUlMQ3dzTUFRc2dBRVNEeU1sdE1GL2tQNkpFQUFBQUFBQUFPRU9nUkFBQUFBQUFBRGpEb0NJTUVITWhDQ0FCSUFBZ0RFUUFBRUJVK3lINVA2S2hJZ3NnREVReFkySWFZYlRRUGFJaUFLRWlEVGtEQUNBRFFSUjJJZ2NnRGIxQ05JaW5RZjhQY1d0QkVFb0VRQ0FNUkhOd0F5NktHYU03b2lBTElBc2dERVFBQUdBYVliVFFQYUlpQUtFaUM2RWdBS0doSVFBZ0FTQUxJQUNoSWcwNUF3QWdERVRCU1NBbG1vTjdPYUlnQ3lBTElBeEVBQUFBTG9vWm96dWlJZzZoSWd5aElBNmhvU0VPSUFjZ0RiMUNOSWluUWY4UGNXdEJNVW9FUUNBQklBd2dEcUVpRFRrREFDQU9JUUFnRENFTEN3c2dBU0FMSUEyaElBQ2hPUU1JSUFnTElRa2dCQ1FHSUFrTEZnQWdBQ0FCSUFKQ2dJQ0FnSUNBZ0lDQWZ4Q0VBd3ZsQ2dFU2Z5QUJLQUlBSVFVQ2Z3SkFJQU5GRFFBZ0F5Z0NBQ0lFUlEwQUlBQUVmeUFEUVFBMkFnQWdCQ0VPSUFBaER5QUNJUkFnQlNFSVFUQUZJQVFoQ1NBRklRY2dBaUVMUVJvTERBRUxJQUJCQUVjaEEwSG9pUUVvQWdBb0FnQUVRQ0FEQkVBZ0FDRVNJQUloRVNBRklReEJJUXdDQlNBQ0lSTWdCU0VVUVE4TUFnc0FDeUFEUlFSQUlBVVFZQ0VLUVQ4TUFRc2dBZ1JBQWtBZ0FDRUdJQUloQkNBRklRTURRQ0FETEFBQUlnVUVRQ0FEUVFGcUlRTWdCaUFGUWYrL0EzRTJBZ0FnQkVGL2FpSUVSUTBDSUFaQkJHb2hCZ3dCQ3dzZ0JrRUFOZ0lBSUFGQkFEWUNBQ0FDSUFScklRcEJQd3dDQ3dVZ0JTRURDeUFCSUFNMkFnQWdBaUVLUVQ4TElRTURRQUpBQWtBQ1FBSkFJQU5CRDBZRVFDQVRJUU1nRkNFRkEwQWdCU3dBQUNJRVFmOEJjVUYvYWtIL0FFa0VmeUFGUVFOeEJIOGdCQVVnQlNnQ0FDSUdRZjhCY1NFRUlBWWdCa0gvL2Z0M2FuSkJnSUdDaEhoeEJIOGdCQVVEUUNBRFFYeHFJUU1nQlVFRWFpSUZLQUlBSWdRZ0JFSC8vZnQzYW5KQmdJR0NoSGh4UlEwQUN5QUVRZjhCY1FzTEJTQUVDMEgvQVhFaUJFRi9ha0gvQUVrRVFDQURRWDlxSVFNZ0JVRUJhaUVGREFFTEN5QUVRYjUrYWlJRVFUSkxCRUFnQlNFRUlBQWhCZ3dEQlNBRVFRSjBRZEEwYWlnQ0FDRUpJQVZCQVdvaEJ5QURJUXRCR2lFRERBWUxBQVVnQTBFYVJnUkFJQWN0QUFCQkEzWWlBMEZ3YWlBRElBbEJHblZxY2tFSFN3UkFJQUFoQXlBSklRWWdCeUVFSUFzaEJRd0RCU0FIUVFGcUlRTWdDVUdBZ0lBUWNRUi9JQU1zQUFCQndBRnhRWUFCUndSQUlBQWhBeUFKSVFZZ0J5RUVJQXNoQlF3RkN5QUhRUUpxSVFNZ0NVR0FnQ0J4Qkg4Z0F5d0FBRUhBQVhGQmdBRkhCRUFnQUNFRElBa2hCaUFISVFRZ0N5RUZEQVlMSUFkQkEyb0ZJQU1MQlNBREN5RVVJQXRCZjJvaEUwRVBJUU1NQndzQUJTQURRU0ZHQkVBZ0VRUkFBa0FnRWlFRklCRWhBeUFNSVFRRFFBSkFBa0FDUUNBRUxRQUFJZ1pCZjJvaURVSC9BRThOQUNBRVFRTnhSU0FEUVFSTGNRUkFBbjhDUUFOQUlBUW9BZ0FpQmlBR1FmLzkrM2RxY2tHQWdZS0VlSEVOQVNBRklBWkIvd0Z4TmdJQUlBVWdCQzBBQVRZQ0JDQUZJQVF0QUFJMkFnZ2dCRUVFYWlFTklBVkJFR29oQmlBRklBUXRBQU0yQWd3Z0EwRjhhaUlEUVFSTEJFQWdCaUVGSUEwaEJBd0JDd3NnQmlFRklBMGlCQ3dBQUF3QkN5QUdRZjhCY1F0Qi93RnhJZ1pCZjJvaERRd0JDd3dCQ3lBTlFmOEFUdzBCQ3lBRVFRRnFJUVFnQlNBR05nSUFJQU5CZjJvaUEwVU5BaUFGUVFScUlRVU1BUXNMSUFaQnZuNXFJZ1pCTWtzRVFDQUZJUVlNQndzZ0JrRUNkRUhRTkdvb0FnQWhEaUFGSVE4Z0F5RVFJQVJCQVdvaENFRXdJUU1NQ1FzRklBd2hCQXNnQVNBRU5nSUFJQUloQ2tFL0lRTU1Cd1VnQTBFd1JnUkFJQWd0QUFBaUJFRURkaUlEUVhCcUlBTWdEa0VhZFdweVFRZExCRUFnRHlFRElBNGhCaUFJSVFRZ0VDRUZEQVVGQWtBZ0NFRUJhaUVGSUFSQmdIOXFJQTVCQm5SeUlnTkJBRWdFUUFKQUlBVXRBQUJCZ0g5cUlnUkJQMDBFUUNBSVFRSnFJUVVnQkNBRFFRWjBjaUlEUVFCT0JFQWdCU0VNREFJTElBVXRBQUJCZ0g5cUlnVkJQMDBFUUNBSVFRTnFJUXdnQlNBRFFRWjBjaUVEREFJTEMwR2t4UU5CR1RZQ0FDQUlRWDlxSVJVTUFnc0ZJQVVoREFzZ0R5QUROZ0lBSUE5QkJHb2hFaUFRUVg5cUlSRkJJU0VEREFvTEN3VWdBMEUvUmdSQUlBb1BDd3NMQ3dzTUF3c2dCRUYvYWlFRUlBWU5BU0FESVFZZ0JTRURDeUFFTEFBQUJIOGdCZ1VnQmdSQUlBWkJBRFlDQUNBQlFRQTJBZ0FMSUFJZ0Eyc2hDa0UvSVFNTUF3c2hBd3RCcE1VRFFSazJBZ0FnQXdSL0lBUUZRWDhoQ2tFL0lRTU1BZ3NoRlFzZ0FTQVZOZ0lBUVg4aENrRS9JUU1NQUFBTEFBdWtBUUVGZnlNR0lRVWpCa0dBQW1va0JpQUZJUU1nQWtFQ1RnUkFBa0FnQWtFQ2RDQUJhaUlISUFNMkFnQWdBQVJBQTBBZ0F5QUJLQUlBSUFCQmdBSWdBRUdBQWtrYklnUVFUQnBCQUNFREEwQWdBMEVDZENBQmFpSUdLQUlBSUFOQkFXb2lBMEVDZENBQmFpZ0NBQ0FFRUV3YUlBWWdCaWdDQUNBRWFqWUNBQ0FDSUFOSERRQUxJQUFnQkdzaUFFVU5BaUFIS0FJQUlRTU1BQUFMQUFzTEN5QUZKQVlMT1FFQ2Z5QUFCRUFnQUVFQmNVVUVRQU5BSUFGQkFXb2hBU0FBUVFGMklRSWdBRUVDY1VVRVFDQUNJUUFNQVFzTEN3VkJJQ0VCQ3lBQkN5a0JBWDhnQUNnQ0FFRi9haENBQXlJQkJIOGdBUVVnQUNnQ0JCQ0FBeUlBUVNCcVFRQWdBQnNMQzVzRUFRZC9Jd1loQmlNR1FkQUJhaVFHSUFaQndBRnFJZ1JDQVRjREFDQUJJQUpzSWdrRVFBSkFRUUFnQW1zaENDQUdJQUkyQWdRZ0JpQUNOZ0lBUVFJaEJ5QUNJZ1VoQVFOQUlBZEJBblFnQm1vZ0FpQUZhaUFCYWlJS05nSUFJQWRCQVdvaEJ5QUtJQWxKQkVBZ0FTRUZJQW9oQVF3QkN3c2dBQ0FKYWlBSWFpSUJJQUJMQkg4Z0FTRUhRUUVoQVVFQklRVURmeUFGUVFOeFFRTkdCSDhnQUNBQ0lBTWdBU0FHRUtJQ0lBUkJBaER5QVNBQlFRSnFCU0FCUVg5cUlnVkJBblFnQm1vb0FnQWdCeUFBYTBrRVFDQUFJQUlnQXlBQklBWVFvZ0lGSUFBZ0FpQURJQVFnQVVFQUlBWVE4UUVMSUFGQkFVWUVmeUFFUVFFUThBRkJBQVVnQkNBRkVQQUJRUUVMQ3lFQklBUWdCQ2dDQUVFQmNpSUZOZ0lBSUFBZ0Ftb2lBQ0FIU1EwQUlBRUxCVUVCSVFWQkFRc2hCeUFBSUFJZ0F5QUVJQWRCQUNBR0VQRUJJQUFoQVNBSElRQURRQUovQWtBZ0FFRUJSaUFGUVFGR2NRUi9JQVFvQWdSRkRRUU1BUVVnQUVFQ1NBMEJJQVJCQWhEd0FTQUVJQVFvQWdCQkIzTTJBZ0FnQkVFQkVQSUJJQUVnQUVGK2FpSUZRUUowSUFacUtBSUFheUFJYWlBQ0lBTWdCQ0FBUVg5cVFRRWdCaER4QVNBRVFRRVE4QUVnQkNBRUtBSUFRUUZ5SWdjMkFnQWdBU0FJYWlJQklBSWdBeUFFSUFWQkFTQUdFUEVCSUFVaEFDQUhDd3dCQ3lBRUlBUVFnUU1pQlJEeUFTQUJJQWhxSVFFZ0FDQUZhaUVBSUFRb0FnQUxJUVVNQUFBTEFBc0xJQVlrQmdzWEFDQUFFSW9CUVFCSElBQkJJSEpCbjM5cVFRWkpjZ3Q5QWdGL0FYNGpCaUVFSXdaQmtBRnFKQVlnQkVFQU5nSUFJQVFnQURZQ0JDQUVJQUEyQWl3Z0JFRi9JQUJCLy8vLy93ZHFJQUJCQUVnYk5nSUlJQVJCZnpZQ1RDQUVRZ0FRZ2dFZ0JDQUNRUUVnQXhDVEF5RUZJQUVFUUNBQklBQWdCQ2dDQkNBRUtRTjRwMm9nQkNnQ0NHdHFOZ0lBQ3lBRUpBWWdCUXZmQlFFSmZ5TUdJUVVqQmtHUUFtb2tCaUFCTEFBQVJRUkFBa0JCeHY0Q0VBMGlBUVJBSUFFc0FBQU5BUXNnQUVFTWJFR2c2UUJxRUEwaUFRUkFJQUVzQUFBTkFRdEJ6ZjRDRUEwaUFRUkFJQUVzQUFBTkFRdEIwdjRDSVFFTEN5QUZRWUFDYWlFR0EzOENmeUFDSUFFZ0Ftb3NBQUFpQTBFQUlBTkJMMGNiUlEwQUdpQUNRUUZxSWdKQkQwa05BVUVQQ3dzaEF3SkFBa0FDUUNBQkxBQUFJZ0pCTGtZRVFFSFMvZ0loQVFVZ0FTQURhaXdBQUFSQVFkTCtBaUVCQlNBQ1FjTUFSdzBDQ3dzZ0FTd0FBVVVOQVFzZ0FVSFMvZ0lRc3dGRkRRQWdBVUhhL2dJUXN3RkZEUUJCdU1VREtBSUFJZ0lFUUFOQUlBRWdBa0VJYWhDekFVVU5BeUFDS0FJWUlnSU5BQXNMUWJ6RkF4QWFRYmpGQXlnQ0FDSUNCRUFDUUFOQUlBRWdBa0VJYWhDekFRUkFJQUlvQWhnaUFrVU5BZ3dCQ3d0QnZNVURFQTRNQXdzTEFuOENRRUhzeEFNb0FnQU5BRUhnL2dJUURTSUNSUTBBSUFJc0FBQkZEUUJCL2dFZ0Eyc2hDU0FEUVFGcUlRb0RRQUpBSUFKQk9oQ3FBaUlITEFBQUlnUkJBRWRCSDNSQkgzVWdCeUFDYTJvaUNDQUpTUVIvSUFVZ0FpQUlFRXdhSUFVZ0NHb2lBa0V2T2dBQUlBSkJBV29nQVNBREVFd2FJQVVnQ0NBS2FtcEJBRG9BQUNBRklBWVFOU0lFRFFFZ0J5d0FBQVVnQkFzaEFpQUhJQUpCL3dGeFFRQkhhaUlDTEFBQURRRU1BZ3NMUVJ3UVJDSUNCSDhnQWlBRU5nSUFJQUlnQmlnQ0FEWUNCQ0FDUVFocUlnUWdBU0FERUV3YUlBTWdCR3BCQURvQUFDQUNRYmpGQXlnQ0FEWUNHRUc0eFFNZ0FqWUNBQ0FDQlNBRUlBWW9BZ0FRL0FRTUFRc01BUXRCSEJCRUlnSUVRQ0FDUWZDSEFTZ0NBRFlDQUNBQ1FmU0hBU2dDQURZQ0JDQUNRUWhxSWdRZ0FTQURFRXdhSUFNZ0JHcEJBRG9BQUNBQ1FiakZBeWdDQURZQ0dFRzR4UU1nQWpZQ0FBc2dBZ3NoQVVHOHhRTVFEaUFCUWZDSEFTQUFJQUZ5R3lFQ0RBRUxJQUJGQkVBZ0FTd0FBVUV1UmdSQVFmQ0hBU0VDREFJTEMwRUFJUUlMSUFVa0JpQUNDeGNBSUFCQkFFY2dBRUhNeEFOSGNTQUFRWXlJQVVkeEN3NEFJQUFRaGdNRVFDQUFFRGdMQ3g4QkFuOGdBQkJnUVFGcUlnRVFSQ0lDQkg4Z0FpQUFJQUVRVEFWQkFBc0xuZ0VBSUFKQkFVWUVRQ0FCSUFBb0FnZ2dBQ2dDQkd1c2ZTRUJDd0pBQWtBZ0FDZ0NGQ0FBS0FJY1RRMEFJQUJCQUVFQUlBQW9BaVJCUDNGQnlnRnFFUVFBR2lBQUtBSVVEUUFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FCSUFJZ0FDZ0NLRUVEY1VHbUEyb1JGQUJDQUZNRWYwRi9CU0FBUVFBMkFnZ2dBRUVBTmdJRUlBQWdBQ2dDQUVGdmNUWUNBRUVBQ3hvTEM1RUJBZ0YvQW40Q1FBSkFJQUM5SWdOQ05JZ2lCS2RCL3c5eElnSUVRQ0FDUWY4UFJnUkFEQU1GREFJTEFBc2dBU0FBUkFBQUFBQUFBQUFBWWdSL0lBQkVBQUFBQUFBQThFT2lJQUVRaWdNaEFDQUJLQUlBUVVCcUJVRUFDellDQUF3QkN5QUJJQVNuUWY4UGNVR0NlR28yQWdBZ0EwTC8vLy8vLy8vL2g0Qi9nMEtBZ0lDQWdJQ0E4RCtFdnlFQUN5QUFDeEVBSUFBRWZ5QUFJQUVRbmdFRlFRQUxDNzREQXdGL0FYNEJmQ0FCUVJSTkJFQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBSUFGQkNXc09DZ0FCQWdNRUJRWUhDQWtLQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQUROZ0lBREFrTElBSW9BZ0JCQTJwQmZIRWlBU2dDQUNFRElBSWdBVUVFYWpZQ0FDQUFJQU9zTndNQURBZ0xJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFPdE53TUFEQWNMSUFJb0FnQkJCMnBCZUhFaUFTa0RBQ0VFSUFJZ0FVRUlhallDQUNBQUlBUTNBd0FNQmdzZ0FpZ0NBRUVEYWtGOGNTSUJLQUlBSVFNZ0FpQUJRUVJxTmdJQUlBQWdBMEgvL3dOeFFSQjBRUkIxckRjREFBd0ZDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhBeUFDSUFGQkJHbzJBZ0FnQUNBRFFmLy9BM0d0TndNQURBUUxJQUlvQWdCQkEycEJmSEVpQVNnQ0FDRURJQUlnQVVFRWFqWUNBQ0FBSUFOQi93RnhRUmgwUVJoMXJEY0RBQXdEQ3lBQ0tBSUFRUU5xUVh4eElnRW9BZ0FoQXlBQ0lBRkJCR28yQWdBZ0FDQURRZjhCY2EwM0F3QU1BZ3NnQWlnQ0FFRUhha0Y0Y1NJQkt3TUFJUVVnQWlBQlFRaHFOZ0lBSUFBZ0JUa0RBQXdCQ3lBQUlBSkI2UVVSQXdBTEN3dEFBUUovSUFBb0FnQXNBQUFRaWdFRVFBTkFJQUFvQWdBaUFpd0FBQ0FCUVFwc1FWQnFhaUVCSUFBZ0FrRUJhallDQUNBQ0xBQUJFSW9CRFFBTEN5QUJDd2tBSUFBZ0FSQ2ZBUXNKQUNBQUlBRVFqZ1VMSWdBZ0FMMUMvLy8vLy8vLy8vLy9BSU1nQWIxQ2dJQ0FnSUNBZ0lDQWY0T0V2d3ZnQXdJRGZ3RitBbjRDUUFKQUFrQUNRQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVN0ckRnTUFBUUFCQ3lBQ1FTMUdJUVFnQVVFQVJ5QUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5SURRVkJxSWdKQkNVdHhCSDRnQUNnQ2FBUitJQUFnQUNnQ0JFRi9hallDQkF3RUJVS0FnSUNBZ0lDQWdJQi9Dd1VnQXlFQkRBSUxEQU1MSUFJaUFVRlFhaUVDQ3lBQ1FRbExEUUJCQUNFQ0EwQWdBVUZRYWlBQ1FRcHNhaUVDSUFKQnpKbXo1Z0JJSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSWdGQlVHb2lBMEVLU1hFTkFBc2dBcXdoQlNBRFFRcEpCRUFEUUNBQnJFSlFmQ0FGUWdwK2ZDRUZJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCVUdvaUFrRUtTU0FGUXE2UGhkZkh3dXVqQVZOeERRQUxJQUpCQ2trRVFBTkFJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxRVkJxUVFwSkRRQUxDd3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FDQUZmU0FGSUFRYkRBRUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMUW9DQWdJQ0FnSUNBZ0g4TEM4a0hBUVYvQW53Q1FBSkFBa0FDUUFKQUlBRU9Bd0FCQWdNTFFldCtJUVJCR0NFRkRBTUxRYzUzSVFSQk5TRUZEQUlMUWM1M0lRUkJOU0VGREFFTFJBQUFBQUFBQUFBQURBRUxBMEFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQVJDeUFRMEFDd0pBQWtBQ1FDQUJRU3RyRGdNQUFRQUJDMEVCSUFGQkxVWkJBWFJySVFZZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaEFRd0JDMEVCSVFZTEFrQUNRQUpBQTM4Z0EwSCsvUUpxTEFBQUlBRkJJSEpHQkg4Z0EwRUhTUVJBSUFBb0FnUWlBU0FBS0FKb1NRUi9JQUFnQVVFQmFqWUNCQ0FCTFFBQUJTQUFFRlFMSVFFTElBTkJBV29pQTBFSVNRMEJRUWdGSUFNTEN5SURRZi8vLy84SGNVRURhdzRHQVFBQUFBQUNBQXNnQWtFQVJ5SUhJQU5CQTB0eEJFQWdBMEVJUmcwQ0RBRUxJQU5GQkVBQ1FFRUFJUU1EZnlBRFFieitBbW9zQUFBZ0FVRWdja2NOQVNBRFFRSkpCRUFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNoQVFzZ0EwRUJhaUlEUVFOSkRRQkJBd3NoQXdzTEFrQUNRQUpBSUFNT0JBRUNBZ0FDQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQzBFb1J3UkFJd0VnQUNnQ2FFVU5CUm9nQUNBQUtBSUVRWDlxTmdJRUl3RU1CUXRCQVNFQkEwQkJBQ0FBS0FJRUlnSWdBQ2dDYUVrRWZ5QUFJQUpCQVdvMkFnUWdBaTBBQUFVZ0FCQlVDeUlDUVZCcVFRcEpJQUpCdjM5cVFScEpja1VnQWtIZkFFWWdBa0dmZjJwQkdrbHlHMFVFUUNBQlFRRnFJUUVNQVFzTEl3RWdBa0VwUmcwRUdpQUFLQUpvUlNJQ1JRUkFJQUFnQUNnQ0JFRi9hallDQkFzZ0IwVUVRRUdreFFOQkhEWUNBQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CUXNqQVNBQlJRMEVHZ05BSUFKRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lNQklBRkJmMm9pQVVVTkJSb01BQUFMQUFzZ0FDQUJRVEJHQkg4Z0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkF0QklISkIrQUJHQkVBZ0FDQUZJQVFnQmlBQ0VKQUZEQVVMSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFUQUZJQUVMSUFVZ0JDQUdJQUlRandVTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQXRCcE1VRFFSdzJBZ0FnQUVJQUVJSUJSQUFBQUFBQUFBQUFEQUlMSUFBb0FtaEZJZ0ZGQkVBZ0FDQUFLQUlFUVg5cU5nSUVDeUFDUVFCSElBTkJBMHR4QkVBRFFDQUJSUVJBSUFBZ0FDZ0NCRUYvYWpZQ0JBc2dBMEYvYWlJRFFRTkxEUUFMQ3dzZ0JySWpBcmFVdXdzTHZnc0NCWDhGZmlBQlFTUkxCRUJCcE1VRFFSdzJBZ0JDQUNFREJRSkFBMEFnQUNnQ0JDSUVJQUFvQW1oSkJIOGdBQ0FFUVFGcU5nSUVJQVF0QUFBRklBQVFWQXNpQkJDeUFRMEFDd0pBQWtBZ0JFRXJhdzREQUFFQUFRc2dCRUV0UmtFZmRFRWZkU0VISUFBb0FnUWlCQ0FBS0FKb1NRUi9JQUFnQkVFQmFqWUNCQ0FFTFFBQUJTQUFFRlFMSVFRTUFBc2dBVVVoQlFKQUFrQUNRQ0FCUVJCeVFSQkdJQVJCTUVaeEJFQUNRQ0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlFUVNCeVFmZ0FSd1JBSUFVRVFDQUVJUUpCQ0NFQkRBUUZJQVFoQWd3Q0N3QUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJZ0ZCd2RRQWFpMEFBRUVQU2dSQUlBQW9BbWhGSWdGRkJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3lBQ1JRUkFJQUJDQUJDQ0FVSUFJUU1NQndzZ0FRUkFRZ0FoQXd3SEN5QUFJQUFvQWdSQmYybzJBZ1JDQUNFRERBWUZJQUVoQWtFUUlRRU1Bd3NBQ3dWQkNpQUJJQVViSWdFZ0JFSEIxQUJxTFFBQVN3Ui9JQVFGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTElBQkNBQkNDQVVHa3hRTkJIRFlDQUVJQUlRTU1CUXNoQWdzZ0FVRUtSdzBBSUFKQlVHb2lBa0VLU1FSQVFRQWhBUU5BSUFGQkNtd2dBbW9oQVNBQUtBSUVJZ0lnQUNnQ2FFa0VmeUFBSUFKQkFXbzJBZ1FnQWkwQUFBVWdBQkJVQ3lJRVFWQnFJZ0pCQ2trZ0FVR1pzK2JNQVVseERRQUxJQUd0SVFrZ0FrRUtTUVJBSUFRaEFRTkFJQWxDQ240aUNpQUNyQ0lMUW4rRlZnUkFRUW9oQWd3RkN5QUtJQXQ4SVFrZ0FDZ0NCQ0lCSUFBb0FtaEpCSDhnQUNBQlFRRnFOZ0lFSUFFdEFBQUZJQUFRVkFzaUFVRlFhaUlDUVFwSklBbENtclBtekptejVzd1pWSEVOQUFzZ0FrRUpUUVJBUVFvaEFnd0VDd3NMREFJTElBRWdBVUYvYW5GRkJFQWdBVUVYYkVFRmRrRUhjVUdIL2dKcUxBQUFJUVlnQVNBQ1FjSFVBR29zQUFBaUNFSC9BWEVpQlVzRVFFRUFJUVFnQlNFQ0EwQWdCQ0FHZENBQ2NpSUVRWUNBZ01BQVNTQUJJQUFvQWdRaUFpQUFLQUpvU1FSL0lBQWdBa0VCYWpZQ0JDQUNMUUFBQlNBQUVGUUxJZ1ZCd2RRQWFpd0FBQ0lJUWY4QmNTSUNTM0VOQUFzZ0JLMGhDU0FGSVFRZ0FpRUZCU0FDSVFRTElBZ2hBaUFCSUFWTlFuOGdCcTBpQ29naUN5QUpWSElFUUNBQklRSWdCQ0VCREFJTEEwQWdBU0FBS0FJRUlnUWdBQ2dDYUVrRWZ5QUFJQVJCQVdvMkFnUWdCQzBBQUFVZ0FCQlVDeUlGUWNIVUFHb3NBQUFpQkVIL0FYRk5JQUpCL3dGeHJTQUpJQXFHaENJSklBdFdjZ1JBSUFFaEFpQUZJUUVNQXdVZ0JDRUNEQUVMQUFBTEFBc2dBU0FDUWNIVUFHb3NBQUFpQmtIL0FYRWlCVXNFUUVFQUlRUWdCU0VDQTBBZ0FTQUViQ0FDYWlJRVFjZmo4VGhKSUFFZ0FDZ0NCQ0lDSUFBb0FtaEpCSDhnQUNBQ1FRRnFOZ0lFSUFJdEFBQUZJQUFRVkFzaUJVSEIxQUJxTEFBQUlnWkIvd0Z4SWdKTGNRMEFDeUFFclNFSklBVWhCQ0FDSVFVRklBSWhCQXNnQmlFQ0lBR3RJUW9nQVNBRlN3Ui9RbjhnQ2hEMkFTRUxBMzhnQ1NBTFZnUkFJQUVoQWlBRUlRRU1Bd3NnQ1NBS2ZpSU1JQUpCL3dGeHJTSU5RbitGVmdSQUlBRWhBaUFFSVFFTUF3c2dEQ0FOZkNFSklBRWdBQ2dDQkNJQ0lBQW9BbWhKQkg4Z0FDQUNRUUZxTmdJRUlBSXRBQUFGSUFBUVZBc2lCRUhCMUFCcUxBQUFJZ0pCL3dGeFN3MEFJQUVoQWlBRUN3VWdBU0VDSUFRTElRRUxJQUlnQVVIQjFBQnFMUUFBU3dSQUEwQWdBaUFBS0FJRUlnRWdBQ2dDYUVrRWZ5QUFJQUZCQVdvMkFnUWdBUzBBQUFVZ0FCQlVDMEhCMUFCcUxRQUFTdzBBQzBHa3hRTkJ4QUEyQWdBZ0IwRUFJQU5DQVlOUUd5RUhJQU1oQ1FzTElBQW9BbWdFUUNBQUlBQW9BZ1JCZjJvMkFnUUxJQWtnQTFvRVFDQUhRUUJISUFOQ0FZTkNBRkp5UlFSQVFhVEZBMEhFQURZQ0FDQURRbjk4SVFNTUFnc2dDU0FEVmdSQVFhVEZBMEhFQURZQ0FBd0NDd3NnQ1NBSHJDSURoU0FEZlNFREN3c2dBd3RTQUNBQUJFQUNRQUpBQWtBQ1FBSkFBa0FnQVVGK2F3NEdBQUVDQXdVRUJRc2dBQ0FDUEFBQURBUUxJQUFnQWowQkFBd0RDeUFBSUFJK0FnQU1BZ3NnQUNBQ1BnSUFEQUVMSUFBZ0FqY0RBQXNMQzBjQkFuOGpCaUVESXdaQmtBRnFKQVlnQTBFQVFaQUJFRVVhSUFOQkl6WUNJQ0FESUFBMkFpd2dBMEYvTmdKTUlBTWdBRFlDVkNBRElBRWdBaENVQlNFRUlBTWtCaUFFQzV3Q0FRZC9JQUVvQWt4QmYwb0VmMEVCQlVFQUN4cEIvd0VoQlNBQUlRUUNRQUpBQTBBQ1FDQUJLQUlJSUFFb0FnUWlBaUlHYXlFRElBSkJDaUFERUtZQ0lnaEZJUWNnQkNBQ0lBTWdDRUVCSUFacmFpQUhHeUlDSUFVZ0FpQUZTUnNpQXhCTUdpQUJJQU1nQVNnQ0JHb2lCallDQkNBRElBUnFJUUlnQnlBRklBTnJJZ1ZCQUVkeFJRUkFJQUloQkF3REN5QUdJQUVvQWdoSkJIOGdBU0FHUVFGcU5nSUVJQVl0QUFBRklBRVE5UUVpQkVFQVNBMEJJQVFMSVFNZ0FrRUJhaUVFSUFJZ0F6b0FBQ0FGUVg5cUlnVkZJQU5CL3dGeFFRcEdja1VOQVF3Q0N3c2dBQ0FDUmdSL1FRQUZJQUVvQWdCQkVIRUVmeUFDSVFRTUFnVkJBQXNMSVFBTUFRc2dBQVJBSUFSQkFEb0FBQVZCQUNFQUN3c2dBQXZ3QVFFRGZ3SkFBa0FnQWlnQ0VDSUREUUFnQWhDWUF3Ui9RUUFGSUFJb0FoQWhBd3dCQ3lFRURBRUxJQU1nQWlnQ0ZDSUVheUFCU1FSQUlBSW9BaVFoQXlBQ0lBQWdBU0FEUVQ5eFFjb0JhaEVFQUNFRURBRUxJQUZGSUFJc0FFdEJBRWh5QkVCQkFDRURCUUpBSUFFaEF3TkFJQUFnQTBGL2FpSUZhaXdBQUVFS1J3UkFJQVVFUUNBRklRTU1BZ1ZCQUNFRERBTUxBQXNMSUFJb0FpUWhCQ0FDSUFBZ0F5QUVRVDl4UWNvQmFoRUVBQ0lFSUFOSkRRSWdBQ0FEYWlFQUlBRWdBMnNoQVNBQ0tBSVVJUVFMQ3lBRUlBQWdBUkJNR2lBQ0lBRWdBaWdDRkdvMkFoUWdBU0FEYWlFRUN5QUVDMkVCQVg4Z0FDQUFMQUJLSWdFZ0FVSC9BV3B5T2dCS0lBQW9BZ0FpQVVFSWNRUi9JQUFnQVVFZ2NqWUNBRUYvQlNBQVFRQTJBZ2dnQUVFQU5nSUVJQUFnQUNnQ0xDSUJOZ0ljSUFBZ0FUWUNGQ0FBSUFFZ0FDZ0NNR28yQWhCQkFBc0xqQUVCQTM4akJpRUJJd1pCRUdva0JpQUJRUW82QUFBQ1FBSkFJQUFvQWhBaUFnMEFJQUFRbUFORkJFQWdBQ2dDRUNFQ0RBRUxEQUVMSUFBb0FoUWlBeUFDU1FSQUlBQXNBRXRCQ2tjRVFDQUFJQU5CQVdvMkFoUWdBMEVLT2dBQURBSUxDeUFBSUFGQkFTQUFLQUlrUVQ5eFFjb0JhaEVFQUVFQlJnUi9JQUV0QUFBRlFYOExHZ3NnQVNRR0N4d0FJQUJCZ0dCTEJIOUJwTVVEUVFBZ0FHczJBZ0JCZndVZ0FBc0xFUUJCQkVFQlFlaUpBU2dDQUNnQ0FCc0w3QUVDQ1g4QmZTQUJLQUlJSWdnZ0FpZ0NCRVlFZnlBQUtBSUVJZ29nQVNnQ0JFWUVmeUFBS0FJSUlna2dBaWdDQ0VZRWZ5QUFLQUlBSVFBRGZ5QURJQXBJQkg4Z0F5QUliQ0VMUVFBaEJBTkFJQVFnQ1VnRVFDQUFRd0FBQUFBNEFnQWdBaWdDQUNBRVFRSjBhaUVGSUFFb0FnQWdDMEVDZEdvaEJrRUFJUWREQUFBQUFDRU1BMEFnQnlBSVNBUkFJQUFnRENBR0tnSUFJQVVxQWdDVWtpSU1PQUlBSUFsQkFuUWdCV29oQlNBR1FRUnFJUVlnQjBFQmFpRUhEQUVMQ3lBRVFRRnFJUVFnQUVFRWFpRUFEQUVMQ3lBRFFRRnFJUU1NQVFWQkFBc0xCVUYvQ3dWQmZ3c0ZRWDhMQzBnQkFYOGdBQ2dDQkNJQlJRUkFEd3NnQVNnQ0pDRUJJQUJCQVNBQlFUOXhRYklGYWhFREFDQUFLQUlRQkVBZ0FFSElBVFlDRkNBQVFRQTJBcmdDQlNBQVFlUUFOZ0lVQ3dzeUFRRi9JQUFvQWdRaUFRUkFJQUVvQWlnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FFRUFOZ0lFSUFCQkFEWUNGQXNnQUNBQUtBSUFJZ0ZCTXpZQ0ZDQUFJQUVvQWdCQi93RnhRYXdEYWhFQkFBc3lBUUYvSUFBb0FnZ2dBQ2dDQkJDTEFTSUJCRUFnQVNBQUVQRUVRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVF1Q0JBRUpmeUFBS0FMa0F5SUZJQUFvQWxoQkFVWWlBallDSENBQUtBSUVLQUlJSVFFZ0JTQUFRUUZCL2dWQmdBSWdBaHNnQUNnQ2VDQUJRUTl4UVlvQ2FoRUpBQ0lFTmdJWUlBVW9BaFFoQVNBQUtBSjRRUUJNQkVBUEN5QUNSUVJBQTBBZ0FTQUZRU0JxSUFOQkFuUnFLQUlBSWdJUU9TRUhJQU5CQW5RZ0JHb29BZ0FoQmtFQUlRRWdBa0grQVdvZ0FrRi9haUlJUVFGMElna1FPU0VFUVFBaEFnTkFJQUlnQkVvRVFBTkFJQUlnQ0NBQlFRRnFJZ0ZCQVhSQkFYSkIvd0ZzYWlBSkVEa2lCRW9OQUFzTElBSWdCbW9nQVNBSGJEb0FBQ0FDUVFGcUlnSkJnQUpIRFFBTElBTkJBV29pQXlBQUtBSjRTQVJBSUFjaEFTQUZLQUlZSVFRTUFRc0xEd3RCQUNFQ0EwQWdBU0FGUVNCcUlBSkJBblJxS0FJQUlnTVFPU0VISUFKQkFuUWdCR29pQVNBQktBSUFRZjhCYWpZQ0FDQUZLQUlZSUFKQkFuUnFLQUlBSVFaQkFDRUJJQU5CL2dGcUlBTkJmMm9pQ0VFQmRDSUpFRGtoQkVFQUlRTURRQ0FESUFSS0JFQURRQ0FESUFnZ0FVRUJhaUlCUVFGMFFRRnlRZjhCYkdvZ0NSQTVJZ1JLRFFBTEN5QURJQVpxSUFFZ0IydzZBQUFnQTBFQmFpSURRWUFDUncwQUMwRUJJUUVEUUNBR0lBRnJJQVlzQUFBNkFBQWdCaUFCUWY4QmFtb2dCaXdBL3dFNkFBQWdBVUVCYWlJQlFZQUNSdzBBQ3lBQ1FRRnFJZ0lnQUNnQ2VFZ0VRQ0FISVFFZ0JTZ0NHQ0VFREFFTEN3dmpId0VkZnlNR0lSY2pCa0dBQzJva0JpQVhRWUFEYWlFRUlCZEJnQUZxSVJrZ0FDZ0M1QU1vQWhnaEdpQUJRUUoyUVFWMElnVkJCSElpRkNBRlFSeHlJZ3hxUVFGMUlRNGdBa0VEZGtFRmRDSUZRUUp5SWhVZ0JVRWVjaUlQYWtFQmRTRVFJQU5CQW5aQkJYUWlCVUVFY2lJV0lBVkJISElpRVdwQkFYVWhFaUFBS0FLRUFTSUxRUUJLQkg4Z0FDZ0NpQUVpQlNnQ0FDRUtJQVVvQWdRaENTQUZLQUlJSVJoQi8vLy8vd2NoQndOQUlCUWdDQ0FLYWkwQUFDSUZTZ1IvSUFVZ0RHdEJBWFFpQmlBR2JDRU5JQVVnRkd0QkFYUWlCU0FGYkFVQ2Z5QU1JQVZJQkVBZ0JTQVVhMEVCZENJR0lBWnNJUTBnQlNBTWEwRUJkQ0lGSUFWc0RBRUxJQTRnQlVnRVFDQUZJQlJyUVFGMElnVWdCV3doRFFVZ0JTQU1hMEVCZENJRklBVnNJUTBMUVFBTEN5RUZJQlVnQ0NBSmFpMEFBQ0lHU2dSL0lBVWdCaUFWYTBFRGJDSUZJQVZzYWlFRklBWWdEMnRCQTJ3aUJpQUdiQVVDZnlBUElBWklCRUFnQlNBR0lBOXJRUU5zSWdVZ0JXeHFJUVVnQmlBVmEwRURiQ0lHSUFac0RBRUxJQkFnQmtnRWZ5QUdJQlZyUVFOc0lnWWdCbXdGSUFZZ0QydEJBMndpQmlBR2JBc0xDeUVUSUJZZ0NDQVlhaTBBQUNJR1NnUi9JQVVnQmlBV2F5SUZJQVZzYWlFRklBWWdFV3NpQmlBR2JBVUNmeUFSSUFaSUJFQWdCU0FHSUJGcklnVWdCV3hxSVFVZ0JpQVdheUlHSUFac0RBRUxJQklnQmtnRWZ5QUdJQlpySWdZZ0Jtd0ZJQVlnRVdzaUJpQUdiQXNMQ3lFR0lBaEJBblFnQkdvZ0JUWUNBQ0FOSUJOcUlBWnFJZ1VnQnlBRklBZElHeUVISUFzZ0NFRUJhaUlJUncwQUMwRUFJUVZCQUNFSUEzOGdDRUVDZENBRWFpZ0NBQ0FIVEFSQUlBVWdHV29nQ0RvQUFDQUZRUUZxSVFVTElBc2dDRUVCYWlJSVJ3MEFJQVVMQlVFQUN5RVRJQmNoQ0NBRVFmLy8vLzhITmdJQUlBUkIvLy8vL3djMkFnUWdCRUgvLy8vL0J6WUNDQ0FFUWYvLy8vOEhOZ0lNSUFSQi8vLy8vd2MyQWhBZ0JFSC8vLy8vQnpZQ0ZDQUVRZi8vLy84SE5nSVlJQVJCLy8vLy93YzJBaHdnQkVILy8vLy9CellDSUNBRVFmLy8vLzhITmdJa0lBUkIvLy8vL3djMkFpZ2dCRUgvLy8vL0J6WUNMQ0FFUWYvLy8vOEhOZ0l3SUFSQi8vLy8vd2MyQWpRZ0JFSC8vLy8vQnpZQ09DQUVRZi8vLy84SE5nSThJQVJCUUd0Qi8vLy8vd2MyQWdBZ0JFSC8vLy8vQnpZQ1JDQUVRZi8vLy84SE5nSklJQVJCLy8vLy93YzJBa3dnQkVILy8vLy9CellDVUNBRVFmLy8vLzhITmdKVUlBUkIvLy8vL3djMkFsZ2dCRUgvLy8vL0J6WUNYQ0FFUWYvLy8vOEhOZ0pnSUFSQi8vLy8vd2MyQW1RZ0JFSC8vLy8vQnpZQ2FDQUVRZi8vLy84SE5nSnNJQVJCLy8vLy93YzJBbkFnQkVILy8vLy9CellDZENBRVFmLy8vLzhITmdKNElBUkIvLy8vL3djMkFud2dCRUgvLy8vL0J6WUNnQUVnQkVILy8vLy9CellDaEFFZ0JFSC8vLy8vQnpZQ2lBRWdCRUgvLy8vL0J6WUNqQUVnQkVILy8vLy9CellDa0FFZ0JFSC8vLy8vQnpZQ2xBRWdCRUgvLy8vL0J6WUNtQUVnQkVILy8vLy9CellDbkFFZ0JFSC8vLy8vQnpZQ29BRWdCRUgvLy8vL0J6WUNwQUVnQkVILy8vLy9CellDcUFFZ0JFSC8vLy8vQnpZQ3JBRWdCRUgvLy8vL0J6WUNzQUVnQkVILy8vLy9CellDdEFFZ0JFSC8vLy8vQnpZQ3VBRWdCRUgvLy8vL0J6WUN2QUVnQkVILy8vLy9CellDd0FFZ0JFSC8vLy8vQnpZQ3hBRWdCRUgvLy8vL0J6WUN5QUVnQkVILy8vLy9CellDekFFZ0JFSC8vLy8vQnpZQzBBRWdCRUgvLy8vL0J6WUMxQUVnQkVILy8vLy9CellDMkFFZ0JFSC8vLy8vQnpZQzNBRWdCRUgvLy8vL0J6WUM0QUVnQkVILy8vLy9CellDNUFFZ0JFSC8vLy8vQnpZQzZBRWdCRUgvLy8vL0J6WUM3QUVnQkVILy8vLy9CellDOEFFZ0JFSC8vLy8vQnpZQzlBRWdCRUgvLy8vL0J6WUMrQUVnQkVILy8vLy9CellDL0FFZ0JFSC8vLy8vQnpZQ2dBSWdCRUgvLy8vL0J6WUNoQUlnQkVILy8vLy9CellDaUFJZ0JFSC8vLy8vQnpZQ2pBSWdCRUgvLy8vL0J6WUNrQUlnQkVILy8vLy9CellDbEFJZ0JFSC8vLy8vQnpZQ21BSWdCRUgvLy8vL0J6WUNuQUlnQkVILy8vLy9CellDb0FJZ0JFSC8vLy8vQnpZQ3BBSWdCRUgvLy8vL0J6WUNxQUlnQkVILy8vLy9CellDckFJZ0JFSC8vLy8vQnpZQ3NBSWdCRUgvLy8vL0J6WUN0QUlnQkVILy8vLy9CellDdUFJZ0JFSC8vLy8vQnpZQ3ZBSWdCRUgvLy8vL0J6WUN3QUlnQkVILy8vLy9CellDeEFJZ0JFSC8vLy8vQnpZQ3lBSWdCRUgvLy8vL0J6WUN6QUlnQkVILy8vLy9CellDMEFJZ0JFSC8vLy8vQnpZQzFBSWdCRUgvLy8vL0J6WUMyQUlnQkVILy8vLy9CellDM0FJZ0JFSC8vLy8vQnpZQzRBSWdCRUgvLy8vL0J6WUM1QUlnQkVILy8vLy9CellDNkFJZ0JFSC8vLy8vQnpZQzdBSWdCRUgvLy8vL0J6WUM4QUlnQkVILy8vLy9CellDOUFJZ0JFSC8vLy8vQnpZQytBSWdCRUgvLy8vL0J6WUMvQUlnQkVILy8vLy9CellDZ0FNZ0JFSC8vLy8vQnpZQ2hBTWdCRUgvLy8vL0J6WUNpQU1nQkVILy8vLy9CellDakFNZ0JFSC8vLy8vQnpZQ2tBTWdCRUgvLy8vL0J6WUNsQU1nQkVILy8vLy9CellDbUFNZ0JFSC8vLy8vQnpZQ25BTWdCRUgvLy8vL0J6WUNvQU1nQkVILy8vLy9CellDcEFNZ0JFSC8vLy8vQnpZQ3FBTWdCRUgvLy8vL0J6WUNyQU1nQkVILy8vLy9CellDc0FNZ0JFSC8vLy8vQnpZQ3RBTWdCRUgvLy8vL0J6WUN1QU1nQkVILy8vLy9CellDdkFNZ0JFSC8vLy8vQnpZQ3dBTWdCRUgvLy8vL0J6WUN4QU1nQkVILy8vLy9CellDeUFNZ0JFSC8vLy8vQnpZQ3pBTWdCRUgvLy8vL0J6WUMwQU1nQkVILy8vLy9CellDMUFNZ0JFSC8vLy8vQnpZQzJBTWdCRUgvLy8vL0J6WUMzQU1nQkVILy8vLy9CellDNEFNZ0JFSC8vLy8vQnpZQzVBTWdCRUgvLy8vL0J6WUM2QU1nQkVILy8vLy9CellDN0FNZ0JFSC8vLy8vQnpZQzhBTWdCRUgvLy8vL0J6WUM5QU1nQkVILy8vLy9CellDK0FNZ0JFSC8vLy8vQnpZQy9BTWdFMEVBU2dSQVFRQWhEd05BSUJRZ0R5QVphaXdBQUNJTFFmOEJjU0lISUFBb0FvZ0JJZ1lvQWdCcUxRQUFheUlOUVFGMElRd2dGU0FISUFZb0FnUnFMUUFBYXlJRlFRTnNJUW9nQlVISUFHd2lCVUdRQVdvaEdDQVdJQWNnQmlnQ0NHb3RBQUJySWdkQkJIUWlCa0ZBYXlFT0lBWkJ3QUZxSVJBZ0JrSEFBbW9oRWlBRlFiQURhaUViSUFWQjBBVnFJUndnQlVId0Iyb2hIU0FGUVpBS2FpRWVJQVZCc0F4cUlSOGdCVUhRRG1vaElFRURJUkVnRFVFR2RFR0FBbW9oRFNBTUlBeHNJQW9nQ214cUlBY2dCMnhxSVF3Z0NDRUhJQVFoQlFOQUlBd2dCU2dDQUVnRVFDQUZJQXcyQWdBZ0J5QUxPZ0FBQ3lBTUlBNXFJZ29nQlNJR0tBSUVTQVJBSUFZZ0NqWUNCQ0FISUFzNkFBRUxJQW9nRUdvaUNpQUdLQUlJU0FSQUlBWWdDallDQ0NBSElBczZBQUlMSUFvZ0Vtb2lDaUFHS0FJTVNBUkFJQVlnQ2pZQ0RDQUhJQXM2QUFNTElBd2dHR29pQ2lBRktBSVFTQVJBSUFVZ0NqWUNFQ0FISUFzNkFBUUxJQW9nRG1vaUNTQUdLQUlVU0FSQUlBVWdDVFlDRkNBSElBczZBQVVMSUFrZ0VHb2lDU0FGS0FJWVNBUkFJQVVnQ1RZQ0dDQUhJQXM2QUFZTElBa2dFbW9pQ1NBRktBSWNTQVJBSUFVZ0NUWUNIQ0FISUFzNkFBY0xJQW9nRzJvaUNpQUdLQUlnU0FSQUlBWWdDallDSUNBSElBczZBQWdMSUFvZ0Rtb2lDU0FGS0FJa1NBUkFJQVlnQ1RZQ0pDQUhJQXM2QUFrTElBa2dFR29pQ1NBR0tBSW9TQVJBSUFZZ0NUWUNLQ0FISUFzNkFBb0xJQWtnRW1vaUNTQUdLQUlzU0FSQUlBWWdDVFlDTENBSElBczZBQXNMSUFvZ0hHb2lDaUFGS0FJd1NBUkFJQVVnQ2pZQ01DQUhJQXM2QUF3TElBb2dEbW9pQlNBR0tBSTBTQVJBSUFZZ0JUWUNOQ0FISUFzNkFBMExJQVVnRUdvaUJTQUdLQUk0U0FSQUlBWWdCVFlDT0NBSElBczZBQTRMSUFVZ0Vtb2lDU0FHSWdVb0FqeElCRUFnQlNBSk5nSThJQWNnQ3pvQUR3c2dDaUFkYWlJS0lBVkJRR3NpQmlnQ0FFZ0VRQ0FHSUFvMkFnQWdCeUFMT2dBUUN5QUtJQTVxSWdrZ0JTSUdLQUpFU0FSQUlBWWdDVFlDUkNBSElBczZBQkVMSUFrZ0VHb2lDU0FHS0FKSVNBUkFJQVlnQ1RZQ1NDQUhJQXM2QUJJTElBa2dFbW9pQ1NBR0tBSk1TQVJBSUFZZ0NUWUNUQ0FISUFzNkFCTUxJQW9nSG1vaUNpQUZLQUpRU0FSQUlBVWdDallDVUNBSElBczZBQlFMSUFvZ0Rtb2lDU0FHS0FKVVNBUkFJQVVnQ1RZQ1ZDQUhJQXM2QUJVTElBa2dFR29pQ1NBRktBSllTQVJBSUFVZ0NUWUNXQ0FISUFzNkFCWUxJQWtnRW1vaUNTQUZLQUpjU0FSQUlBVWdDVFlDWENBSElBczZBQmNMSUFvZ0gyb2lDaUFHS0FKZ1NBUkFJQVlnQ2pZQ1lDQUhJQXM2QUJnTElBb2dEbW9pQ1NBRktBSmtTQVJBSUFZZ0NUWUNaQ0FISUFzNkFCa0xJQWtnRUdvaUNTQUdLQUpvU0FSQUlBWWdDVFlDYUNBSElBczZBQm9MSUFrZ0Vtb2lDU0FHS0FKc1NBUkFJQVlnQ1RZQ2JDQUhJQXM2QUJzTElBb2dJR29pQ2lBRktBSndTQVJBSUFVZ0NqWUNjQ0FISUFzNkFCd0xJQW9nRG1vaUJTQUdLQUowU0FSQUlBWWdCVFlDZENBSElBczZBQjBMSUFVZ0VHb2lCU0FHS0FKNFNBUkFJQVlnQlRZQ2VDQUhJQXM2QUI0TElBVWdFbW9pQlNBR0tBSjhTQVJBSUFZZ0JUWUNmQ0FISUFzNkFCOExJQVpCZ0FGcUlRVWdCMEVnYWlFSElBd2dEV29oRENBTlFZQUVhaUVOSUJGQmYyb2hCaUFSQkVBZ0JpRVJEQUVMQ3lBUFFRRnFJZzhnRTBjTkFBc0xJQUZCZkhFaEJ5QURRWHh4SVFFZ0FrRjRjU0lEUVFGeUlRWWdBMEVDY2lFTUlBTkJBM0loRHlBRFFRUnlJUkVnQTBFRmNpRU5JQU5CQm5JaEJDQUNRUWR5SVJOQkFDRUFBMEFnQUNBSGFrRUNkQ0FhYWlJTEtBSUFJZ0lnQTBFR2RHb2dBVUVCZEdvaUJTQUlMUUFBUVFGcU93RUFJQVVnQ0MwQUFVRUJhanNCQWlBRklBZ3RBQUpCQVdvN0FRUWdCU0FJTFFBRFFRRnFPd0VHSUFaQkJuUWdBbW9nQVVFQmRHb2lCU0FJTFFBRVFRRnFPd0VBSUFVZ0NDMEFCVUVCYWpzQkFpQUZJQWd0QUFaQkFXbzdBUVFnQlNBSUxRQUhRUUZxT3dFR0lBeEJCblFnQW1vZ0FVRUJkR29pQlNBSUxRQUlRUUZxT3dFQUlBVWdDQzBBQ1VFQmFqc0JBaUFGSUFndEFBcEJBV283QVFRZ0JTQUlMUUFMUVFGcU93RUdJQTlCQm5RZ0Ftb2dBVUVCZEdvaUFpQUlMUUFNUVFGcU93RUFJQUlnQ0MwQURVRUJhanNCQWlBQ0lBZ3RBQTVCQVdvN0FRUWdBaUFJTFFBUFFRRnFPd0VHSUFzb0FnQWlBaUFSUVFaMGFpQUJRUUYwYWlJRklBZ3RBQkJCQVdvN0FRQWdCU0FJTFFBUlFRRnFPd0VDSUFVZ0NDMEFFa0VCYWpzQkJDQUZJQWd0QUJOQkFXbzdBUVlnRFVFR2RDQUNhaUFCUVFGMGFpSUZJQWd0QUJSQkFXbzdBUUFnQlNBSUxRQVZRUUZxT3dFQ0lBVWdDQzBBRmtFQmFqc0JCQ0FGSUFndEFCZEJBV283QVFZZ0JFRUdkQ0FDYWlBQlFRRjBhaUlGSUFndEFCaEJBV283QVFBZ0JTQUlMUUFaUVFGcU93RUNJQVVnQ0MwQUdrRUJhanNCQkNBRklBZ3RBQnRCQVdvN0FRWWdFMEVHZENBQ2FpQUJRUUYwYWlJQ0lBZ3RBQnhCQVdvN0FRQWdBaUFJTFFBZFFRRnFPd0VDSUFJZ0NDMEFIa0VCYWpzQkJDQUNJQWd0QUI5QkFXbzdBUVlnQ0VFZ2FpRUlJQUJCQVdvaUFFRUVSdzBBQ3lBWEpBWUxOQUVCZnlBQUtBSUVJQUVvQWdnUXBRTWlBZ1JBSUFJZ0FDQUJFSndEUVFCSUJFQWdBaEJKUVFBaEFnc0ZRUUFoQWdzZ0FndlNBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDZ0M1QU1nQUVFQlFmd1BJQUZCUDNGQnlnRnFFUVFBSWdCQi9BZHFJZ0kyQWlnZ0FrRUFOZ0lBSUFCQmdBaHFRUUUyQWdBZ0FFRi9OZ0w0QnlBQVFZUUlha0VDTmdJQUlBQkJmallDOUFjZ0FFR0lDR3BCQXpZQ0FDQUFRWDAyQXZBSElBQkJqQWhxUVFRMkFnQWdBRUY4TmdMc0J5QUFRWkFJYWtFRk5nSUFJQUJCZXpZQzZBY2dBRUdVQ0dwQkJqWUNBQ0FBUVhvMkF1UUhJQUJCbUFocVFRYzJBZ0FnQUVGNU5nTGdCeUFBUVp3SWFrRUlOZ0lBSUFCQmVEWUMzQWNnQUVHZ0NHcEJDVFlDQUNBQVFYYzJBdGdISUFCQnBBaHFRUW8yQWdBZ0FFRjJOZ0xVQnlBQVFhZ0lha0VMTmdJQUlBQkJkVFlDMEFjZ0FFR3NDR3BCRERZQ0FDQUFRWFEyQXN3SElBQkJzQWhxUVEwMkFnQWdBRUZ6TmdMSUJ5QUFRYlFJYWtFT05nSUFJQUJCY2pZQ3hBY2dBRUc0Q0dwQkR6WUNBQ0FBUVhFMkFzQUhRUkFoQUVFUUlRRURRQ0FBUVFKMElBSnFJQUUyQWdCQkFDQUFhMEVDZENBQ2FrRUFJQUZyTmdJQUlBRWdBRUVCYWlJQVFRRnhRUUZ6YWlFQklBQkJNRWNOQUF0QkFDQUJheUVEUVRBaEFBTkFJQUJCQW5RZ0Ftb2dBVFlDQUVFQUlBQnJRUUowSUFKcUlBTTJBZ0FnQUVFQmFpSUFRWUFDUncwQUN3dEJBUUovUVF3UVJDSUNCRUFnQWlBQklBQkJBblJzRUVRaUF6WUNBQ0FEQkVBZ0FpQUFOZ0lFSUFJZ0FUWUNDQVVnQWhBNFFRQWhBZ3NGUVFBaEFnc2dBZ3ZjQVFFQ2Z3SkFJQUFvQXJRQ0RRQUNRQ0FBS0FJb1FRTnJEZ1VBQVFFQkFBRUxJQUFvQWlSQkEwY05BQ0FBS0FJc1FRSkhEUUFnQUNnQ2VFRURSdzBBSUFBb0FyQUNEUUFnQUNnQzJBRWlBU2dDQ0VFQ1J3MEFJQUVvQW1CQkFVY05BQ0FCS0FLNEFVRUJSdzBBSUFFb0FneEJBa29OQUNBQktBSmtRUUZIRFFBZ0FTZ0N2QUZCQVVjTkFDQUJLQUlrSWdJZ0FDZ0N4QUpIRFFBZ0FTZ0NmQ0FDUncwQUlBRW9BdFFCSUFKSERRQWdBU2dDS0NJQ0lBQW9Bc2dDUncwQUlBSWdBU2dDZ0FGR0JIOGdBaUFCS0FMWUFVWUZRUUFMRHd0QkFBdmpCZ0VHZndKQUlBQW9BdFFDSWdGQkFVWUVRQ0FBSUFBb0F0Z0NJZ0VvQWh3MkF1Z0NJQUFnQVNnQ0lDSUROZ0xzQWlBQlFRRTJBamdnQVVFQk5nSThJQUZCUUd0QkFUWUNBQ0FCSUFFb0FpUTJBa1FnQVVFQk5nSklJQU1nQVNnQ0RDSUNFRTRoQXlBQklBTWdBaUFER3pZQ1RDQUFRUUUyQXZBQ0lBQkJBRFlDOUFKQkFTRUJCU0FCUVg5cVFRTkxCRUFnQUNnQ0FDSURRUnMyQWhRZ0F5QUJOZ0lZSUFBb0FnQkJCRFlDSENBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBZ0FDZ0NIQ0FBS0FLOEFpQUFLQUtzQTJ3UWFEWUM2QUlnQUNBQUtBSWdJQUFvQXNBQ0lBQW9BcXdEYkJCb05nTHNBaUFBUVFBMkF2QUNJQUFvQXRRQ1FRQk1EUUZCQUNFREEwQWdBRUhZQW1vZ0EwRUNkR29vQWdBaUFpZ0NDQ0VFSUFJZ0JEWUNPQ0FDSUFJb0Fnd2lCVFlDUENBQ1FVQnJJQVFnQld3aUFUWUNBQ0FDSUFRZ0FpZ0NKR3cyQWtRZ0FpQUVJQUlvQWh3Z0JCQk9JZ1FnQkVVYk5nSklJQUlnQWlnQ0lDQUZFRTRpQWlBRklBSWJOZ0pNSUFFZ0JtcEJDa29FUUNBQUtBSUFJZ0pCRGpZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFGQkFFb0VRQU5BSUFGQmYyb2hBaUFBSUFBb0F2QUNJZ1JCQVdvMkF2QUNJQUJCOUFKcUlBUkJBblJxSUFNMkFnQWdBVUVCU2dSQUlBSWhBUXdCQ3dzTElBTkJBV29pQXlBQUtBTFVBaUlCU0FSQUlBQW9BdkFDSVFZTUFRc0xJQUZCQUV3TkFRdEJBQ0VEQTBBZ0FFSFlBbW9nQTBFQ2RHb29BZ0FpQWlnQ1VFVUVRQ0FBUWFRQmFpQUNLQUlRSWdGQkFuUnFJUVFDUUFKQUlBRkJBMHNOQUNBRUtBSUFSUTBBREFFTElBQW9BZ0FpQlVFMk5nSVVJQVVnQVRZQ0dDQUFLQUlBS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQUFRUUZCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBU0FFS0FJQVFZUUJFRXdhSUFJZ0FUWUNVQ0FBS0FMVUFpRUJDeUFEUVFGcUlnTWdBVWdOQUFzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBRHdzZ0FDZ0MxQU1vQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTEVBeWdDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0Fzd0RJQUFvQXNRREtBSUVOZ0lBQzhvQkFRSi9Jd1loQkNNR1FUQnFKQVlnQkVFWWFpSUZRUWcyQWdRZ0JVRUJOZ0lJSUFVZ0FEWUNBQ0FFUVF4cUlnQWdBellDQkNBQVFRRTJBZ2dnQUNBQk5nSUFJQVFnQXpZQ0JDQUVRUWcyQWdnZ0JDQUNOZ0lBSUFRUXV3VWlBZ1JBSUFJZ0JCQ2pBeUlCQkVBZ0FpQUFFS01ESWdNRVFDQUJLQUlBSUFFb0FnUWlBQ0FBRVBZRVJVRWZkRUVmZFVFQVNBUi9RWDhGSUFVZ0FTQURFSndER2tFQUN5RUFJQU1RU1FWQmZ5RUFDeUFCRUVrRlFYOGhBQXNnQWhCSkJVRi9JUUFMSUFRa0JpQUFDMWtCQVg4Z0FDZ0MyQUVpQVFSQUlBRVF2d2NnQUNnQzJBRVFod2tnQUVFQU5nTFlBUXNnQUVIa0FXb2lBU2dDQUFSQUlBRVFwd2tnQVVFQU5nSUFDeUFBUWNBQmFpSUFLQUlBQkVBZ0FCQ3pDeUFBUVFBMkFnQUxDM01CQTM4akJpRUNJd1pCRUdva0JpQUNRUWhxSVFNZ0FSRFBDU0lFQkVBZ0FDQUVFT0VHSVFBZ0JCQTRCU0FDSUFFMkFnQkJBRUVEUVpHcUFTQUNFRDFCcE1VREtBSUFFTDBCSVFBZ0EwR24xUU0yQWdBZ0F5QUFOZ0lFUVFCQkEwR2x0Z0VnQXhBOVFYOGhBQXNnQWlRR0lBQUwzQU1CQ0g4Z0FBUkFBa0FnQUVILy8vLy9BMHNFUUVFSUVBVWlBUkNJQVNBQlFiU0xBVFlDQUNBQlFmajNBRUVXRUFRTElBQkJBblFRVVNFQlFiREVBeWdDQUNFQ1FiREVBeUFCTmdJQUlBSUVRRUcweEFNb0FnQWFJQUlRT0F0QnRNUURJQUEyQWdCQkFDRUJBMEFnQUNBQlJ3UkFRYkRFQXlnQ0FDQUJRUUowYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3RCdU1RREtBSUFJZ0VFUUNBQktBSUVJUUlnQUNBQVFYOXFJZ2R4UlNJSUJIOGdBaUFIY1FVZ0FpQUFUd1IvSUFJZ0FCQk9CU0FDQ3dzaEJVR3d4QU1vQWdBZ0JVRUNkR3BCdU1RRE5nSUFBMEFnQVNFREEwQUNRQU5BQWtBZ0F5Z0NBQ0lCUlEwR0lBRW9BZ1FoQWlBRklBZ0VmeUFDSUFkeEJTQUNJQUJQQkg4Z0FpQUFFRTRGSUFJTEN5SUVSZzBBUWJERUF5Z0NBQ0FFUVFKMGFpSUNLQUlBUlEwQ0lBRWhBZ05BSUFJb0FnQWlCZ1JBSUFFb0FnZ2dCaWdDQ0VZRVFDQUdJUUlNQWdzTEN5QURJQVkyQWdBZ0FrR3d4QU1vQWdBZ0JFRUNkR29vQWdBb0FnQTJBZ0JCc01RREtBSUFJQVJCQW5ScUtBSUFJQUUyQWdBTUFRc0xJQUVoQXd3QkN3c2dBaUFETmdJQUlBUWhCUXdBQUFzQUN3c0ZRYkRFQXlnQ0FDRUFRYkRFQTBFQU5nSUFJQUFFUUVHMHhBTW9BZ0FhSUFBUU9BdEJ0TVFEUVFBMkFnQUxDNm9FQWdsL0FuMGpCaUVGSXdaQklHb2tCaUFGUVFScUlRUWdCU0FBTmdJQUlBQW9BZ0FoQXdKQUFrQkJ0TVFES0FJQUlnRkZJZ2tFUUVFQUlRQU1BUVVnQVNBQlFYOXFJZ2h4UlNJSEJIOGdBeUFJY1FVZ0F5QUJTUVIvSUFNRklBTWdBUkJPQ3dzaUFFRUNkRUd3eEFNb0FnQnFLQUlBSWdJRVFBTkFJQUlvQWdBaUFrVU5BeUFESUFJb0FnUWlCa2NFUUNBSEJIOGdCaUFJY1FVZ0JpQUJUd1IvSUFZZ0FSQk9CU0FHQ3dzZ0FFY05CQXNnQXlBQ0tBSUlSdzBBQ3dVTUFnc0xEQUVMSUFRZ0F5QUZFTjhHUWNERUF5b0NBQ0lLSUFHemxFRzh4QU1vQWdCQkFXcXpJZ3RkSUFseUJFQUNmeUFMSUFxVmpSQ1NBU0lDSUFGQmYyb2dBWEZCQUVjZ0FVRURTWElnQVVFQmRISWlBQ0FBSUFKSkd4RGVCa0cweEFNb0FnQWlBa0YvYWlJQUlBTnhJQUFnQW5GRkRRQWFJQU1nQWtrRWZ5QURCU0FESUFJUVRnc0xJUUFGSUFFaEFndEJzTVFES0FJQUlBQkJBblJxS0FJQUlnRUVmeUFFS0FJQUlBRW9BZ0EyQWdBZ0FTQUVLQUlBTmdJQUlBUUZJQVFvQWdCQnVNUURLQUlBTmdJQVFiakVBeUFFS0FJQU5nSUFRYkRFQXlnQ0FDQUFRUUowYWtHNHhBTTJBZ0FnQkNnQ0FDSUhLQUlBSWdBRVFDQUFLQUlFSVFBZ0FpQUNRWDlxSWdGeEJIOGdBQ0FDVHdSL0lBQWdBaEJPQlNBQUN3VWdBQ0FCY1FzaEFFR3d4QU1vQWdBZ0FFRUNkR29nQnpZQ0FBc2dCQXNpQUNnQ0FDRUNRYnpFQTBHOHhBTW9BZ0JCQVdvMkFnQWdBRUVBTmdJQUN5QUZKQVlnQWtFUWFnc2tBUUYvSUFFb0FnQWhBaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBVUVFYWlBQ0VINExFUUFnQVNBQVFmOEJjVUdzQTJvUkFRQUxFZ0FnQVNBQ0lBQkJBM0ZCckFWcUVSb0FDeElBSUFFZ0FpQUFRVDl4UWJJRmFoRURBQXNTQUNBQklBSWdBRUVCY1VHd0JXb1JKZ0FMM0FNQkNIOGdBQVJBQWtBZ0FFSC8vLy8vQTBzRVFFRUlFQVVpQVJDSUFTQUJRYlNMQVRZQ0FDQUJRZmozQUVFV0VBUUxJQUJCQW5RUVVTRUJRWnpFQXlnQ0FDRUNRWnpFQXlBQk5nSUFJQUlFUUVHZ3hBTW9BZ0FhSUFJUU9BdEJvTVFESUFBMkFnQkJBQ0VCQTBBZ0FDQUJSd1JBUVp6RUF5Z0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3d0QnBNUURLQUlBSWdFRVFDQUJLQUlFSVFJZ0FDQUFRWDlxSWdkeFJTSUlCSDhnQWlBSGNRVWdBaUFBVHdSL0lBSWdBQkJPQlNBQ0N3c2hCVUdjeEFNb0FnQWdCVUVDZEdwQnBNUUROZ0lBQTBBZ0FTRURBMEFDUUFOQUFrQWdBeWdDQUNJQlJRMEdJQUVvQWdRaEFpQUZJQWdFZnlBQ0lBZHhCU0FDSUFCUEJIOGdBaUFBRUU0RklBSUxDeUlFUmcwQVFaekVBeWdDQUNBRVFRSjBhaUlDS0FJQVJRMENJQUVoQWdOQUlBSW9BZ0FpQmdSQUlBRW9BZ2dnQmlnQ0NFWUVRQ0FHSVFJTUFnc0xDeUFESUFZMkFnQWdBa0djeEFNb0FnQWdCRUVDZEdvb0FnQW9BZ0EyQWdCQm5NUURLQUlBSUFSQkFuUnFLQUlBSUFFMkFnQU1BUXNMSUFFaEF3d0JDd3NnQWlBRE5nSUFJQVFoQlF3QUFBc0FDd3NGUVp6RUF5Z0NBQ0VBUVp6RUEwRUFOZ0lBSUFBRVFFR2d4QU1vQWdBYUlBQVFPQXRCb01RRFFRQTJBZ0FMQ3hNQUlBQkJ5QUpxRUZVZ0FFR2dBbW9RNVFZTEtBRUNmd0ovSXdZaEF5TUdRUkJxSkFZZ0FFRURRWlNIQVVIUnR3SkJBU0FCRUFrZ0F3c2tCZ3ZnSFFJYWZ3RitJd1loQkNNR1FkQVNhaVFHSUFSQmtCSnFJUkVnQkVId0Jtb2hDQ0FFUWFBR2FpRVBJQVJCMEFWcUlSQWdCRUdBQldvaEVpQUVRYkFFYWlFVElBUkJNR29oRnlBRUlSWUNmd0ovQW44Q1FBSkFBa0FDUUFKQUFrQUNRQ0FBUVlRR2F3NkxFQUVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVQ0F3VUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVFGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJRQUZDeUFDSVJGQm9CRWhDVUdnRFNFTFFmZ0FJUTFCL3dBaERFRUpJUlJCd0FBTUJ3dEI0QXdoQ1VHZ0N5RUxRUTBoRFVFSklRQkJBU0VDUVE4TUJRdEI0QXdoQ1VHZ0N5RUxRUTBoRFVFRklRQkJBaUVDUVE4TUJBdEJEQ0VBUVFJaEFnd0NDMEVISVFCQkF5RUNEQUVMUVg4TUF3dEI0QXNoQ1VHZ0NpRUxRUlloRFVFZkN5RU1RUUFoQkFOL0lBUWdEVVlFZnlBQ0lSUWdBQVVnQkNBUmFpQUJwMEVCY1RvQUFDQUVRUUZxSVFRZ0FVSUJpQ0VCREFFTEN3c2hHQ0FVUVFGMElSVkJBU0VDQTBBZ0FpQVZUQVJBSUFKQkFuUWdFMm9pQmtFQU5nSUFRUUFoQkVFQUlRQURRQ0FFSUExSUJFQWdCQ0FSYWl3QUFBUkFJQVlnQWlBRWJDQU1FRTlCQW5RZ0Myb29BZ0FnQUhNaUFEWUNBQXNnQkVFQmFpRUVEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQTJBZ0JCQVNBRklBQWJJUVVnQWtFQmFpRUNEQUVMQ3lBRlFRQkhJaGtFUUNBUFFRQTJBZ0FnRHlBVEtBSUVJZ1UyQWdRZ0NFRUFOZ0lBSUFoQkFUWUNTRUVCSVFBRFFDQUFJQlZJQkVBZ0FFRUNkQ0FJYWtGL05nSUFJQWhCeUFCcUlBQkJBblJxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFRUVFBMkFnQWdFRUVBTmdJRUlCSkJmellDQUNBU1FRQTJBZ1JCQUNFRVFRQWhBZ05BQWtBZ0JFRUJhaUVLSUFWQmYwWUVRQ0FFUVFKcUlnUkJBblFnRUdvZ0FqWUNBRUVBSVFBRFFDQUFJQUpNQkVBZ0JFSElBR3dnQ0dvZ0FFRUNkR29nQ2tISUFHd2dDR29nQUVFQ2RHb2lCU2dDQUNJR05nSUFJQVVnQmtFQ2RDQUphaWdDQURZQ0FDQUFRUUZxSVFBTUFRc0xCU0FFSVFBRFFDQUFRWDlxSVFZZ0FFRUFTaUlISUFCQkFuUWdEMm9vQWdCQmYwWnhCRUFnQmlFQURBRUxDeUFIQkVBZ0FDRUdBMEFnQmtGL2FpSUhRUUowSUE5cUtBSUFRWDlIQkVBZ0J5QUFJQUJCQW5RZ0Vtb29BZ0FnQjBFQ2RDQVNhaWdDQUVnYklRQUxJQVpCQVVvRVFDQUhJUVlNQVFzTEN5QUVRUUpxSWdSQkFuUWdFR29nQWlBS0lBQnJJaG9nQUVFQ2RDQVFhaUlPS0FJQWFpSUdJQUlnQmtvYklnWTJBZ0JCQUNFSEEwQWdCeUFWU0FSQUlBUkJ5QUJzSUFocUlBZEJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDeUFGSUF4cUlRY2dBRUVDZENBUGFpRWJJQTRvQWdBaERrRUFJUVVEUUNBRklBNU1CRUFnQUVISUFHd2dDR29nQlVFQ2RHb29BZ0FpSEVGL1J3UkFJQVJCeUFCc0lBaHFJQVVnR21wQkFuUnFJQWNnSEdvZ0d5Z0NBR3NnREJCUFFRSjBJQXRxS0FJQU5nSUFDeUFGUVFGcUlRVU1BUXNMUVFBaEFBTi9JQUFnQWtvRWZ5QUdCU0FFUWNnQWJDQUlhaUFBUVFKMGFpSUZJQXBCeUFCc0lBaHFJQUJCQW5ScUlnY29BZ0FpRGlBRktBSUFjellDQUNBSElBNUJBblFnQ1dvb0FnQTJBZ0FnQUVFQmFpRUFEQUVMQ3lFQ0N5QUVRUUowSUJKcUlBb2dBbXMyQWdBZ0NpQVZUZzBBSUFSQkFuUWdEMm9pQmlBRVFRSjBJQk5xS0FJQUlnQkJmMFlFZjBFQUJTQUFRUUowSUF0cUtBSUFDeUlBTmdJQVFRRWhCUU5BSUFVZ0Frd0VRQ0FFSUFWclFRSjBJQk5xS0FJQUlnZEJmMGNFUUNBRVFjZ0FiQ0FJYWlBRlFRSjBhaWdDQUNJT0JFQWdCaUFISUE1QkFuUWdDV29vQWdCcUlBd1FUMEVDZENBTGFpZ0NBQ0FBY3lJQU5nSUFDd3NnQlVFQmFpRUZEQUVMQ3lBR0lBQkJBblFnQ1dvb0FnQWlCVFlDQUNBQ0lCUk1CRUFnQ2lFRURBSUxDd3RCZnlBQ0lCUktEUUVhUVFBaEFBTkFJQUFnQWt3RVFDQUVRY2dBYkNBSWFpQUFRUUowYWlJRklBVW9BZ0JCQW5RZ0NXb29BZ0EyQWdBZ0FFRUJhaUVBREFFTEMwRUJJUUFEUUNBQUlBSk1CRUFnQUVFQ2RDQVdhaUFFUWNnQWJDQUlhaUFBUVFKMGFpZ0NBRFlDQUNBQVFRRnFJUUFNQVFzTFFRQWhBRUVCSVFvRFFDQU1JQXBPQkVCQkFTRUdRUUVoQlFOQUlBWWdBa3dFUUNBR1FRSjBJQlpxSWdjb0FnQWlDVUYvUndSQUlBY2dCaUFKYWlBTUVFOGlCellDQUNBRklBZEJBblFnQzJvb0FnQnpJUVVMSUFaQkFXb2hCZ3dCQ3dzZ0JVVUVRQ0FBUVFKMElCZHFJQXdnQ21zMkFnQWdBRUVCYWlFQUN5QUtRUUZxSVFvTUFRc0xRWDhnQUNBQ1J3MEJHa0VBSVFBRFFDQUFJQUpJQkVBZ0VTQUFRUUowSUJkcUtBSUFhaUlGSUFVc0FBQkJBWE02QUFBZ0FFRUJhaUVBREFFTEN3VkJBQ0VFQ3lBRFFnQTNBd0JDQVNFZUlBMGdHR3NoQUVJQUlRRURRQ0FBSUExSUJFQWdBeUFlSUFBZ0VXb3RBQUN0ZmlBQmZDSUJOd01BSUI1Q0FZWWhIaUFBUVFGcUlRQU1BUXNMSUJrRWZ5QUVRUUowSUJCcUtBSUFCVUVBQ3dzaEhTQVdKQVlnSFF2SkNBSUxmd044SXdZaERpTUdRUkJxSkFZZ0RrRUlhaUVISUFCRklBTkJBVWh5Qkg4Z0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQVFYOEZBbjhDUUFKQUFrQWdBUTRDQUFFQ0N5QURJQU5zSWdGQkRHd1FSQ0lLUlFSQVFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzZ0FVRURiQ0VMUVFBaEIwRUFJUUVEUUNBSElBdEhCRUFnQVNBQ0lBZHFMQUFBUVg5elFmOEJjV29oQVNBSFFRRnFJUWNNQVFzTElBRWdDeEJJSVFsQkFDRUhRUUFoQVFOQUlBRWdDMGNFUUNBQlFRSjBJQXBxSUFFZ0Ftb3NBQUJCZjNOQi93RnhJQWxySWdnMkFnQWdCeUFJSUFoc2FpRUhJQUZCQVdvaEFRd0JDd3NnQjdlZkloTWdBN2RFa1N0UTVucTIreitpbzBRQUFBQUFBQUF1UUdNRVFDQUVRUUEyQWdBZ0JVRUFOZ0lBSUFaRUFBQUFBQUFBOEw4NUF3QWdDaEE0UVg0TUF3c2dBQ2dDQUNFUFFRQWhDVUYvSVFOQmZ5RUJRWDhoQWdOQUlBa2dEMGdFUUNBQUtBSUlJUWNDUUFKQUEwQUNRQ0FEUVFGcUlnTkJBblFnQjJvb0FnQU9Bd0VDQUFJTEN3d0JDeUFEUVFKMElSQkJBQ0VIQTBBZ0IwRUVSd1JBSUFjZ0VHb2hEVUVBSVF4QkFDRUlBMEFnQ0NBTFJ3UkFJQXdnQ0VFQ2RDQUthaWdDQUNBQUtBSU1JQTFCQW5ScUtBSUFJQWhCQW5ScUtBSUFiR29oRENBSVFRRnFJUWdNQVFzTElBY2dBaUFNdHlBQUtBSVFJQTFCQTNScUt3TUFveUFUb3lJVUlCSmtJZ2diSVFJZ0IwRUJhaUVISUJRZ0VpQUlHeUVTSUFNZ0FTQUlHeUVCREFFTEN3c2dDVUVCYWlFSkRBRUxDeUFGSUFJMkFnQWdCQ0FCTmdJQUlBWWdFamtEQUNBS0VEaEJBQXdDQ3lBRElBTnNJZ3BCQW5RUVJDSUxSUVJBUVFCQkEwRzUyQUlnQnhBOVFRRVFBUXRCQUNFSFFRQWhBUU5BSUFFZ0NrY0VRQ0FISUFFZ0Ftb3NBQUJCZjNOQi93RnhhaUVISUFGQkFXb2hBUXdCQ3dzZ0J5QUtFRWdoQ1VFQUlRZEJBQ0VCQTBBZ0FTQUtSd1JBSUFGQkFuUWdDMm9nQVNBQ2Fpd0FBRUYvYzBIL0FYRWdDV3NpQ0RZQ0FDQUhJQWdnQ0d4cUlRY2dBVUVCYWlFQkRBRUxDeUFIdDU4aUV5QUR0Nk5FQUFBQUFBQUFMa0JqQkVBZ0JFRUFOZ0lBSUFWQkFEWUNBQ0FHUkFBQUFBQUFBUEMvT1FNQUlBc1FPRUYrREFJTElBQW9BZ0FoRDBFQUlRbEJmeUVEUVg4aEFVRi9JUUlEUUNBSklBOUlCRUFnQUNnQ0NDRUhBa0FDUUFOQUFrQWdBMEVCYWlJRFFRSjBJQWRxS0FJQURnTUJBZ0FDQ3dzTUFRc2dBMEVDZENFUVFRQWhCd05BSUFkQkJFY0VRQ0FISUJCcUlRMUJBQ0VNUVFBaENBTkFJQWdnQ2tjRVFDQU1JQWhCQW5RZ0Myb29BZ0FnQUNnQ0ZDQU5RUUowYWlnQ0FDQUlRUUowYWlnQ0FHeHFJUXdnQ0VFQmFpRUlEQUVMQ3lBSElBSWdETGNnQUNnQ0dDQU5RUU4wYWlzREFLTWdFNk1pRkNBU1pDSUlHeUVDSUFkQkFXb2hCeUFVSUJJZ0NCc2hFaUFESUFFZ0NCc2hBUXdCQ3dzTElBbEJBV29oQ1F3QkN3c2dCU0FDTmdJQUlBUWdBVFlDQUNBR0lCSTVBd0FnQ3hBNFFRQU1BUXRCZndzTElSRWdEaVFHSUJFTFZBRUJmeU1HSVFNakJrRXdhaVFHSUFNZ0FqWUNBQ0FEUVJCcUlnSkNBRGNDQUNBQ1FRQTJBZ2dnQWlBQklBRVFZQkIrSUFOQkhHb2lBU0FDSUFNUW9RY2dBQ0FCRUtJSElBRVFSeUFDRUVjZ0F5UUdDM3dCQVg4akJpRUdJd1pCRUdva0JpQUFJQUkyQWdBZ0FDQUROZ0lFSUFBZ0JEWUNDQ0FBUVFFMkFoQWdBQ0FFSUFWc05nSVVJQVpCQURZQ0FDQUdRUVJxSUFZc0FBdzZBQUFnQmtFSWFpQUdLQUlBTmdJQUlBQkJHR29nQVJDbEJ5QUFJQVZCQUVnRWZ5QUNFTGtESUFOc0JTQUZDellDRENBR0pBWUxhZ0VDZnlNR0lRRWpCa0VRYWlRR0FrQUNRQUpBQWtBZ0FFRUJhdzRDQUFFQ0N5QUFJUUlNQWd0QkJDRUNEQUVMUVJBUUJTRUFJQUZDQURjQ0FDQUJRUUEyQWdnZ0FVSGtvQUpCNUtBQ0VHQVFmaUFBSUFFUWhnSWdBRUdJOGdCQkJSQUVDeUFCSkFZZ0Fnc2VBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdMUndFQ2Z5TUdJUUVqQmtHUUFtb2tCaUFCUVlBQ2FpSUNFQk1hSUFGQmdBSkJ2SndDSUFJUUloQWdHaUFBUWdBM0FnQWdBRUVBTmdJSUlBQWdBU0FCRUdBUWZpQUJKQVlMT2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUVnQUNnQ0FHd2hBeUFDUVFBNkFBQWdBRUVFYWlBRElBSVFyZ2NnQUVFUWFpQUJFTkVESUFJa0JndE5BUUovSUFBb0Fnd0VRQ0FBS0FJSUVMNERJQUJCQURZQ0NDQUFLQUlFSVFJRFFDQUJJQUpIQkVBZ0FDZ0NBQ0FCUVFKMGFrRUFOZ0lBSUFGQkFXb2hBUXdCQ3dzZ0FFRUFOZ0lNQ3dzZEFRSi9BMEFnQUFSQUlBQW9BZ0FoQWlBQUVEZ2dBaUVBREFFTEN3dUhBZ0VIZnlNR0lRY2pCa0VRYWlRR0lBSW9BZ0FpQmlBQUtBSUFJZ2hySVFBZ0FVRUNUZ1JBSUFGQmZtcEJBaEE1SWdrZ0FFRURkVTRFUUNBQVFRSjFRUUZ5SWdOQkEzUWdDR29pQkNFQUlBTkJBV29pQlNBQlNBUkFJQVVnQXlBRUlBUkJDR29pQkJEQkFTSUZHeUVESUFRZ0FDQUZHeUVBQ3lBQUlBWVF3UUZGQkVBZ0J5QUdLUUlBTndNQUEwQUNRQ0FHSUFBaUJpa0NBRGNDQUNBQ0lBQTJBZ0FnQ1NBRFNBMEFJQU5CQVhSQkFYSWlBMEVEZENBSWFpSUVJUUFnQTBFQmFpSUZJQUZJQkVBZ0JTQURJQVFnQkVFSWFpSUVFTUVCSWdVYklRTWdCQ0FBSUFVYklRQUxJQUFnQnhEQkFVVU5BUXNMSUFZZ0J5a0RBRGNDQUFzTEN5QUhKQVlMQ0FBZ0FFSDhBR29MWFFFQmYwSC8vLy8vQVNBQlNRUkFFQUFMSUFGQi8vLy8vd0ZMQkVCQkNCQUZJZ0FRaUFFZ0FFRzBpd0UyQWdBZ0FFSDQ5d0JCRmhBRUJTQUFJQUZCQTNRUVVTSUNOZ0lFSUFBZ0FqWUNBQ0FBSUFGQkEzUWdBbW8yQWdnTEN4QUFJQUJDQURjQ0FDQUFRUUEyQWdnTGJRQWdBQ29DQUNBQktnSUFsQ0FBS2dJRUlBRXFBZ1NVa2lBQUtnSUlJQUVxQWdpVWtpQUFLZ0lNSUFFcUFneVVraUFBS2dJUUlBRXFBaENVa2lBQUtnSVVJQUVxQWhTVWtpQUFLZ0lZSUFFcUFoaVVraUFBS2dJY0lBRXFBaHlVa2lBQUtnSWdJQUVxQWlDVWtndlZBZ0VKZlNBRklBWXFBZ0FnQnlvQ0FKSWdDQ29DQUpJZ0NTb0NBSkpEQUFDQVBwUWlDamdDQUNBRklBWXFBZ1FnQnlvQ0JKSWdDQ29DQkpJZ0NTb0NCSkpEQUFDQVBwUWlDemdDQkNBR0tnSUFJQXFUSWcwZ0RaUWdCaW9DQkNBTGt5SU9JQTZVa3BFZ0J5b0NBQ0FLa3lJUElBK1VJQWNxQWdRZ0M1TWlFQ0FRbEpLUmtpQUlLZ0lBSUFxVEloRWdFWlFnQ0NvQ0JDQUxreUlTSUJLVWtwR1NJQWtxQWdBZ0NwTWlDaUFLbENBSktnSUVJQXVUSWdzZ0M1U1NrWkpEQUFDQVBwUWlERU1BQUFBQVd3Ui9RUUFGSUFSREFBQ0FQeUFNbGJ0RXpUdC9acDZnOWoraXRpSU1PQUlBSUFBZ0RTQU1sRGdDQUNBQUlBNGdCQ29DQUpRNEFnUWdBU0FQSUFRcUFnQ1VPQUlBSUFFZ0VDQUVLZ0lBbERnQ0JDQUNJQkVnQkNvQ0FKUTRBZ0FnQWlBU0lBUXFBZ0NVT0FJRUlBTWdDaUFFS2dJQWxEZ0NBQ0FESUFzZ0JDb0NBSlE0QWdSQkFRc0xEQUFnQUNBQktRSUFOd0lBQ3lvQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUVFUUNBQUlBRVF3UU1nQUNBQkVOb0hDd3RwQVFSOUlBQXFBaEFnQUNvQ0ZDQUFLZ0ljSUFBcUFpQVFnQUVoQkNBQUtnSU1JQUFxQWhRZ0FDb0NHQ0FBS2dJZ0VJQUJJUUlnQUNvQ0RDQUFLZ0lRSUFBcUFoZ2dBQ29DSEJDQUFTRURJQVFnQUNvQ0FKUWdBaUFBS2dJRWxKTWdBeUFBS2dJSWxKSUx0Z0lCQVgwZ0FSREhBeUlEaXlBQ1h3Ui9RUUFGSUFCREFBQ0FQeUFEbFNJQ0lBRXFBaEFnQVNvQ0ZDQUJLZ0ljSUFFcUFpQVFnQUdVT0FJQUlBQWdBaUFCS2dJSUlBRXFBZ1FnQVNvQ0lDQUJLZ0ljRUlBQmxEZ0NCQ0FBSUFJZ0FTb0NCQ0FCS2dJSUlBRXFBaEFnQVNvQ0ZCQ0FBWlE0QWdnZ0FDQUNJQUVxQWhRZ0FTb0NEQ0FCS2dJZ0lBRXFBaGdRZ0FHVU9BSU1JQUFnQWlBQktnSUFJQUVxQWdnZ0FTb0NHQ0FCS2dJZ0VJQUJsRGdDRUNBQUlBSWdBU29DQ0NBQktnSUFJQUVxQWhRZ0FTb0NEQkNBQVpRNEFoUWdBQ0FDSUFFcUFnd2dBU29DRUNBQktnSVlJQUVxQWh3UWdBR1VPQUlZSUFBZ0FpQUJLZ0lFSUFFcUFnQWdBU29DSENBQktnSVlFSUFCbERnQ0hDQUFJQUlnQVNvQ0FDQUJLZ0lFSUFFcUFnd2dBU29DRUJDQUFaUTRBaUJCQVFzTGl3SUJCWDhqQmlFSUl3WkJFR29rQmlBRkVHa2hCU0FBSUFRb0FnUWdCQ2dDQUd0QkEzVVFnQUlnQ0VFRWFpRUtBMEFnQmlBRUtBSUVJQVFvQWdBaUIydEJBM1ZKQkVBZ0NDQUtJQUVnQXlnQ0FDSUpJQVpCQTNRZ0Iyb29BZ1FpQjBFVWJHb3FBZ0FnQjBFVWJDQUphaW9DQkJDOUFpQUlLZ0lBSUFJb0FnQWdCQ2dDQUNBR1FRTjBhaWdDQUVFVWJHb3FBZ0NURUdrZ0Npb0NBQ0FDS0FJQUlBUW9BZ0FnQmtFRGRHb29BZ0JCRkd4cUtnSUVreEJwa2lBRlh3UkFJQVFvQWdBZ0JrRURkR29oQnlBQUtBSUVJZ2tnQUNnQ0NFWUVRQ0FBSUFjUWxnRUZJQWtnQnlrQ0FEY0NBQ0FBSUFBb0FnUkJDR28yQWdRTEN5QUdRUUZxSVFZTUFRc0xJQWdrQmd2cEFnSUpmd0Y5SXdZaEJ5TUdRVUJySkFZZ0IwRXNhaUlMSUFNb0FnUWdBeWdDQUd0QkEzVVF4Z01nQjBFZ2FpSU1JQU1vQWdRZ0F5Z0NBR3RCQTNVUXhnTWdBeWdDQkNBREtBSUFJZ05yUVFOMUlRMGdBU2dDQUNFT0lBd29BZ0FoQ1NBQ0tBSUFJUUlnQ3lnQ0FDRUtBMEFnQ0NBTlJ3UkFJQWhCQTNRZ0NXb2dDRUVEZENBRGFpZ0NBQ0lCUVJSc0lBNXFLQUlBTmdJQUlBaEJBM1FnQ1dvZ0FVRVViQ0FPYWlnQ0JEWUNCQ0FJUVFOMElBcHFJQWhCQTNRZ0Eyb29BZ1FpQVVFVWJDQUNhaWdDQURZQ0FDQUlRUU4wSUFwcUlBRkJGR3dnQW1vb0FnUTJBZ1FnQ0VFQmFpRUlEQUVMQ3lBSFF3QUFBQUE0QWdBZ0IwTUFBQUFBT0FJRUlBY2dCYklpRURnQ0NDQUhRd0FBQUFBNEFnd2dCeUFRT0FJUUlBY2dCcklpRURnQ0ZDQUhRd0FBQUFBNEFoZ2dCeUFRT0FJY0lBUWdBQ0FLSUFrZ0RTQUhFUHdIQkg4Z0FDQUZJQVlRK3djRlFRQUxJUThnREJCVklBc1FWU0FISkFZZ0R3djhBd0VLZnlNR0lRUWpCa0V3YWlRR0lBUkJJR29oQlNBQklBUkJER29nQkVFSWFpQUVRUVJxSUFRZ0F4RFhCeUFBSUFBb0FnQTJBZ1FnQVVId0FHb2hEU0FCRU1BRElnTW9BZ1FnQXlnQ0FHdEJBblVpQ3lBQ0tBSUVJQUlvQWdCclFRTjFTd1JBSUFWQndNZ0RRWmFJQWhBM1FaRDVBUkEzUWUraUFoQTNRZFlDRUQ1QjlxSUNFRGRCeElnQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBVVFQQ0FESUFZUVFDQURFRDhRQUFzZ0JFRWNhaUVHSUFSQkdHb2hDQ0FFUVJScUlRa2dCRUVRYWlFS0lBMG9BZ0FoQTBFQUlRVURRQ0FGSUF0SUJFQWdBU0FHSUFnZ0NTQUtJQU1xQWdBZ0F5b0NCQ0FES2dJSUlBTXFBZ3dnQkNnQ0RMZEVBQUFBQUFBQTREK2d0aUFFS0FJSXQwUUFBQUFBQUFEZ1A2QzJJQVFvQWdTM1JBQUFBQUFBQU9BL29MWWdCQ2dDQUxkRUFBQUFBQUFBNEQrZ3RoRFdCeUFHS2dJQVF3QUFnRDlkSUFncUFnQkRBQUNBUDExeElBa3FBZ0JEQUFDQVAxMXhJQW9xQWdCREFBQ0FQMTF4QkVBZ0FSREFBeWdDQUNBRlFRSjBhaWdDQUVFRGRDQUNLQUlBYWlFSElBQW9BZ1FpRENBQUtBSUlSZ1JBSUFBZ0J4Q1dBUVVnRENBSEtRSUFOd0lBSUFBZ0FDZ0NCRUVJYWpZQ0JBc0xJQU5CRUdvaEF5QUZRUUZxSVFVTUFRc0xJQVFrQmd2UEF3SU9md0Y5SXdZaENTTUdRU0JxSkFZZ0NVRUVhaUVQSUFsQkZHb2lEQ0FES0FJRUlBTW9BZ0JyUVFGMUVJUUNJQWxCQ0dvaURTQURLQUlFSUFNb0FnQnJRUUYxRUlRQ0lBTW9BZ1FnQXlnQ0FDSVFhMEVEZFNFUklBRW9BZ0FoQVNBQ0tBSUFJUUlnRENnQ0FDRVNJQTBvQWdBaEV3TkFJQW9nRVVjRVFDQUtRUU4wSUJCcUtBSUVJUXNnQ2tFQ2RDSVVRUUowSUJKcUlnZ2dDa0VEZENBUWFpZ0NBQ0lPUVJSc0lBRnFLQUlBTmdJQUlBZ2dEa0VVYkNBQmFpZ0NCRFlDQkNBSUlBNUJGR3dnQVdvb0FnZzJBZ2dnQ0NBT1FSUnNJQUZxS0FJTU5nSU1JQlJCQW5RZ0Uyb2lDQ0FMUVJSc0lBSnFLQUlBTmdJQUlBZ2dDMEVVYkNBQ2FpZ0NCRFlDQkNBSUlBdEJGR3dnQW1vb0FnZzJBZ2dnQ0NBTFFSUnNJQUpxS0FJTU5nSU1JQXBCQVdvaENnd0JDd3NnQUNBRXNpSVdRODNNVEQ2VUlCYVNJaGFNSUJZZ0JiSWlGa1BOekV3K2xDQVdraUlXakNBV0VNTUhJQUFnQmtFQmRiSTRBZ2dnQUNBSFFRRjFzamdDRENBQUlBWTJBZ0FnQUNBSE5nSUVJQUFnRENnQ0FDQU5LQUlBSUFNb0FnUWdBeWdDQUd0QkEzVVF3Z2NnQUNBUElBa1F1UWRCZnlBSktBSUFJQThxQWdCREFBQkFRRjBiSVJVZ0RSQlZJQXdRVlNBSkpBWWdGUXRHQUFOQUlBRWdBa2NFUUNBQUtBSUVJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFBZ0FDZ0NCRUVVYWpZQ0JDQUJRUlJxSVFFTUFRc0xDeWdBSUFJZ0FXc2lBa0VBU2dSQUlBQW9BZ1FnQVNBQ0VFd2FJQUFnQUNnQ0JDQUNhallDQkFzTE9BRUNmeUFBS0FJQUlnRWhBaUFCQkVBZ0FDQUNOZ0lFSUFBb0FnZ2FJQUVRT0NBQVFRQTJBZ2dnQUVFQU5nSUVJQUJCQURZQ0FBc0xNd0FnQWlBQmF5SUNRUUJLQkVBZ0FrRU1FRWdoQXlBQUtBSUVJQUVnQWhCTUdpQUFJQUFvQWdRZ0EwRU1iR28yQWdRTEMxc0JBMzhnQUNnQ0JDSURJQUFvQWdBaUJHdEJGQkE1SWdJZ0FVa0VRQ0FBSUFFZ0Ftc1FoZ2dGSUFJZ0FVc0VRQ0FCUVJSc0lBUnFJUUlnQXlFQkEwQWdBU0FDUndSQUlBRkJiR29oQVF3QkN3c2dBQ0FDTmdJRUN3c0xDZ0FnQUVIZ0FEWUNBQXM5QVFKL0lBQW9BZ0FpQWdSQUlBQW9BZ1FoQVFOQUlBRWdBa2NFUUNBQlFYaHFJUUVNQVFzTElBQWdBallDQkNBQUtBSUlHaUFBS0FJQUVEZ0xDeGNBSUFCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUVCT2dBUUN5c0JBWDhnQUNnQ0JDRUNBMEFnQWhEVUF5QUFJQUFvQWdSQkZHb2lBallDQkNBQlFYOXFJZ0VOQUFzTFhRRUJmMEhNbWJQbUFDQUJTUVJBRUFBTElBRkJ6Sm16NWdCTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkZHd1FVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJGR3dnQW1vMkFnZ0xDd2tBSUFBZ0FUWUNDQXNUQUNBQVFRZzJBZ1FnQUVFTWFrRUlFSWNCQ3dzQUlBQkJBQ0FCRUVVYUMvd0RBZ1YvQW53akJpRUdJd1pCb0FKcUpBWWdCa0dBQW1vaENDQUdRY0FCYWlJRUlBRkJxQUZxUVFRZ0FTZ0NERUVBU0FSL0lBRkJGR29GSUFFb0FnaEJBRWdFZnlBQlFSaHFCU0FCUVJCcUN3c29BZ0FpQld0QkJCQlBJZ2RCQkhScUt3TUFPUU1BSUFRZ0FTQUhRUVIwYWlzRHNBRTVBd2dnQkNBQlFhZ0Jha0VGSUFWclFRUVFUeUlIUVFSMGFpc0RBRGtERUNBRUlBRWdCMEVFZEdvckE3QUJPUU1ZSUFRZ0FVR29BV3BCQmlBRmEwRUVFRThpQjBFRWRHb3JBd0E1QXlBZ0JDQUJJQWRCQkhScUt3T3dBVGtES0NBRUlBRkJxQUZxUVFjZ0JXdEJCQkJQSWdWQkJIUnFLd01BT1FNd0lBUWdBU0FGUVFSMGFpc0RzQUU1QXpnZ0JrSGdBR29pQVNBQ1JBQUFBQUFBQU9DL29pSUpPUU1BSUFFZ0FrUUFBQUFBQUFEZ1A2SWlBamtEQ0NBQlJBQUFBQUFBQUFBQU9RTVFJQUVnQWprREdDQUJJQUk1QXlBZ0FVUUFBQUFBQUFBQUFEa0RLQ0FCSUFJNUF6QWdBU0FKT1FNNElBRkJRR3RFQUFBQUFBQUFBQUE1QXdBZ0FTQUpPUU5JSUFFZ0NUa0RVQ0FCUkFBQUFBQUFBQUFBT1FOWUlBWkJpQUpxSWdVZ0JEWUNBQ0FGSUFFMkFnUWdCVUVFTmdJSUlBQW9BZ0FnQkNBQlFRUWdCaENZQkVFQVNBUjhSQUFBQUFDRTE1ZEJCU0FBS0FJQUlBVWdCaUFESUFnUTZnRkJBRWdoQUVRQUFBQUFoTmVYUVNBSUt3TUFJQUFiQ3lFS0lBWWtCaUFLQzc4Q0FDQUFLQUlBSUFFb0FnQVFiQ0FBS0FJRUlBRW9BZ1FRYkdvZ0FDZ0NDQ0FCS0FJSUVHeHFJQUFvQWd3Z0FTZ0NEQkJzYWlBQUtBSVFJQUVvQWhBUWJHb2dBQ2dDRkNBQktBSVVFR3hxSUFBb0FoZ2dBU2dDR0JCc2FpQUFLQUljSUFFb0Fod1FiR29nQUNnQ0lDQUJLQUlnRUd4cUlBQW9BaVFnQVNnQ0pCQnNhaUFBS0FJb0lBRW9BaWdRYkdvZ0FDZ0NMQ0FCS0FJc0VHeHFJQUFvQWpBZ0FTZ0NNQkJzYWlBQUtBSTBJQUVvQWpRUWJHb2dBQ2dDT0NBQktBSTRFR3hxSUFBb0Fqd2dBU2dDUEJCc2FpQUFRVUJyS0FJQUlBRkJRR3NvQWdBUWJHb2dBQ2dDUkNBQktBSkVFR3hxSUFBb0FrZ2dBU2dDU0JCc2FpQUFLQUpNSUFFb0Frd1FiR29nQUNnQ1VDQUJLQUpRRUd4cUlBQW9BbFFnQVNnQ1ZCQnNhaUFBS0FKWUlBRW9BbGdRYkdvZ0FDZ0NYQ0FCS0FKY0VHeHFDMEVCQW44Z0FVRUJUZ1JBQWtBZ0FFRUFOZ0lBUVFFaEFnTkFJQUVnQWtZTkFTQUNRUUowSUFCcUlBTkJBV29pQXpZQ0FDQUNRUUZxSVFJTUFBQUxBQXNMQ3o0QkFuOGdBQ2dDQkNBQUtBSUFJZ1JyUVFKMUlnTWdBVWtFUUNBQUlBRWdBMnNnQWhDZkNBVWdBeUFCU3dSQUlBQWdBVUVDZENBRWFqWUNCQXNMQzhvRUFRMS9Jd1loRVNNR1FSQnFKQVlnRVVFRWFpRVNJQWhCQWtraEZDQUlRUUpHSVJVRFFDQVFJQVZJQkVBZ0RrRUlkQ0FMYWlBUVFiRHhCR3dnQkdvb0FnQTJBZ0FnQ1NBUVFiRHhCR3dnQkdvckF3aTJJQkJCc1BFRWJDQUVhaXNERUxZZ0VpQVJFS1lCUVFCT0JFQWdEa0VJZENBTGFpQVNLZ0lBdXprRE9DQU9RUWgwSUF0cVFVQnJJQkVxQWdDN09RTUFJQkJCc1BFRWJDQUVha0VjYWlBUVFiRHhCR3dnQkdwQjNMZ0NhaUFRUWJEeEJHd2dCR29vQWhnZ0VFR3c4UVJzSUFScVFaenhCR29nQ1NBT1FRaDBJQXRxUWNnQWFpQU9RUWgwSUF0cVFhZ0JhaUlQRUtZSVFRQk9CRUFDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVlnQnlBSUlBQWdBU0FDSUFNZ0NTQVBJQW9nRGtFSWRDQUxha0VJYWlJV0lBNUJDSFFnQzJwQkZHb2lGeUFPUVFoMElBdHFRU2hxSWhnZ0RrRUlkQ0FMYWtFTWFpSVpJQTVCQ0hRZ0MycEJHR29pR2lBT1FRaDBJQXRxUVRCcUloTWdEU0FPUVFoMElBdHFRZkFCYWlBT1FRaDBJQXRxUWZnQmFoRCtCaUlQUVhwckRnY0ZCQU1DQVFBR0J3dEJBaUVQREFVTFFRTWhEd3dFQzBFRUlROE1Bd3RCQlNFUERBSUxRUWtoRHd3QkMwRUJJUThMSUE1QkNIUWdDMm9nRHpZQzdBRUxBa0FDUUNBVUJFQWdEa0VJZENBTGFpQVdLQUlBTmdJRUlCZ2hFeUFYSVE4TUFRVWdGUVJBSUE1QkNIUWdDMm9nR1NnQ0FEWUNCQ0FhSVE4TUFnc0xEQUVMSUE1QkNIUWdDMm9nRHlnQ0FEWUNFQ0FPUVFoMElBdHFJQk1yQXdBNUF5QUxJQTVCQVdvaERnc0xJQkJCQVdvaEVBd0JDd3NnRENBT05nSUFJQkVrQmtFQUN3Z0FJQUJCNkFCcUM2OElBUWgvSXdZaENTTUdRU0JxSkFZZ0FFRU1haUlIS0FJRUlBQW9BbXdReGdFZ0JVNEVRQ0FCUVFFUWd3SWdBUkRGQVNBRkVJY0JRUUFoQUFOQUlBQWdCVWdFUUNBQVFRSjBJQVJxS0FJQUlRSWdBUkRGQVNnQ0FDQUFRUUowYWlBQ05nSUFJQUJCQVdvaEFBd0JDd3NnQ1NRR0R3c2dDVUVVYWlFR0lBbENBRGNDQUNBSlFnQTNBZ2dnQ1VHQWdJRDhBellDRUNBSElBSWdBeUFFSUFVUXBRZ2dCMEVZYWlJTUtBSUVJZ3NnRENnQ0FDSUlhMEVDZFNBRlJ3UkFJQVpCd01nRFFabnhBUkEzUWRIeEFSQTNRZStpQWhBM1Flc0NFRDVCOXFJQ0VEZEIyUElCRURjaUJ5QUhLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VOSUFwQkNpQU5RVDl4UVlvQmFoRUNBQ0VLSUFZUVBDQUhJQW9RUUNBSEVEOFFBQXRCQUNFSEFrQUNRQUpBQWtBRFFDQUhJQXNnQ0d0QkFuVkpCRUFnQjBFQ2RDQUlhaWdDQUNJSVFYOUdEUUlnQ0NBRlRnMERJQWhCQW5RZ0JHb2lDQ2dDQUNBRFRnMEVJQWRCQW5RZ0JHb2hDeUFKSUFnUXd3SWlDQ2dDQkNJS0lBZ29BZ2hHQkVBZ0NDQUxFS1FJQlNBS0lBc29BZ0EyQWdBZ0NDQUtRUVJxTmdJRUN5QUhRUUZxSVFjZ0RDZ0NBQ0VJSUF3b0FnUWhDd3dCQ3dzQ1FDQUpLQUlNUVFGR0JFQWdBVUVCRUlNQ0lBRVF4UUVnQlJDSEFVRUFJUUFEUUNBQUlBVk9EUUlnQUVFQ2RDQUVhaWdDQUNFQ0lBRVF4UUVvQWdBZ0FFRUNkR29nQWpZQ0FDQUFRUUZxSVFBTUFBQUxBQVVnQVJEZkF5QUpLQUlNRUtNSUlBbEJDR29oQkFOQUFrQWdCQ2dDQUNJRVJRMERJQVFvQWhBZ0JDZ0NERVlOQUVHQUFSQlJJZ1VnQUJEaEF5QUNJQVFvQWdoQjRBQnNhaENpQ0NBR0lBVTJBZ0FnQlVFQUVJTUNJQUVRM3dNaUJTZ0NCQ0lISUFVb0FnaEdCRUFnQlNBR0VNSUNCU0FISUFZb0FnQTJBZ0FnQlNBRktBSUVRUVJxTmdJRUN5QUFJQVlvQWdBZ0FpQURJQVFvQWd3aUJTQUVLQUlRSUFWclFRSjFFT0FEREFFTEN5QUdRY0RJQTBHMzlBRVFOMEhSOFFFUU4wSHZvZ0lRTjBHREF4QStRZmFpQWhBM1FlWDBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFKRU9rRElBa2tCZzhMSUFaQndNZ0RRZTd5QVJBM1FkSHhBUkEzUWUraUFoQTNRZTBDRUQ1QjlxSUNFRGRCbWZNQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0RBSUxJQVpCd01nRFFhL3pBUkEzUWRIeEFSQTNRZStpQWhBM1FlNENFRDVCOXFJQ0VEZEI0dk1CRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3REFFTElBWkJ3TWdEUWZyekFSQTNRZEh4QVJBM1FlK2lBaEEzUWU4Q0VENUI5cUlDRURkQjR2TUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdDeUFHUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0FDQUJFRUFnQUJBL0VBQUxFd0FnQUNBQUtBSUVJZ0JCQVdvMkFnUWdBQXZGQXdFSWZ5QUJCRUFDUUNBQlFmLy8vLzhEU3dSQVFRZ1FCU0lDRUlnQklBSkJ0SXNCTmdJQUlBSkIrUGNBUVJZUUJBc2dBVUVDZEJCUklRSWdBQ2dDQUNFRElBQWdBallDQUNBREJFQWdBQ2dDQkJvZ0F4QTRDeUFBSUFFMkFnUkJBQ0VDQTBBZ0FTQUNSd1JBSUFBb0FnQWdBa0VDZEdwQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFCQkNHb2hBeUFBS0FJSUlnSUVRQ0FDS0FJRUlRUWdBU0FCUVg5cUlnaHhSU0lKQkg4Z0JDQUljUVVnQkNBQlR3Ui9JQVFnQVJCT0JTQUVDd3NoQmlBQUtBSUFJQVpCQW5ScUlBTTJBZ0FEUUNBQ0lRUURRQUpBQTBBQ1FDQUVLQUlBSWdKRkRRWWdBaWdDQkNFRElBWWdDUVIvSUFNZ0NIRUZJQU1nQVU4RWZ5QURJQUVRVGdVZ0F3c0xJZ1ZHRFFBZ0FDZ0NBQ0FGUVFKMGFpSURLQUlBUlEwQ0lBSWhBd05BSUFNb0FnQWlCd1JBSUFJb0FnZ2dCeWdDQ0VZRVFDQUhJUU1NQWdzTEN5QUVJQWMyQWdBZ0F5QUFLQUlBSUFWQkFuUnFLQUlBS0FJQU5nSUFJQUFvQWdBZ0JVRUNkR29vQWdBZ0FqWUNBQXdCQ3dzZ0FpRUVEQUVMQ3lBRElBUTJBZ0FnQlNFR0RBQUFDd0FMQ3dVZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN5QUFRUUEyQWdRTEN6c0FRZUM4QXl3QUFFVUVRRUhndkFNUWNBUkFRWWpFQTBFQU5nSUFRWXpFQTBFQU5nSUFRWkRFQTBFQU5nSUFRZUM4QXhCdkN3dEJpTVFEQ3drQUlBQWdBVFlDQkFzSkFDQUFJQUUyQWdBTFVRRUNmeU1HSVFNakJrRVFhaVFHSUFBZ0FUWUNBRUVRRUZFaUFrRUFOZ0lFSUFKQkFEWUNDQ0FDUVp5R0FUWUNBQ0FDSUFFMkFnd2dBQ0FDTmdJRUlBTWdBVFlDQUNBRElBRTJBZ1FnQXlRR0N6UUFJQUJCQURZQ0FDQUFRUUEyQWdRZ0FFSUFOd0lJSUFCQ0FEY0NFQ0FBUWdBM0FoZ2dBRUVBTmdJZ0lBQkJKR29RbEFnTHVRRUJCWDhnQVNnQ0FDRUJJQUFvQWdRaUFnUkFBa0FnQWlBQ1FYOXFJZ1J4UlNJRkJIOGdBU0FFY1FVZ0FTQUNTUVIvSUFFRklBRWdBaEJPQ3dzaUJrRUNkQ0FBS0FJQWFpZ0NBQ0lBQkg4RFFDQUFLQUlBSWdCRkJFQkJBQ0VBREFNTElBQW9BZ1FpQXlBQlJnUkFJQUVnQUNnQ0NFWU5Bd1VnQlFSQUlBTWdCSEVoQXdVZ0F5QUNUd1JBSUFNZ0FoQk9JUU1MQ3lBRElBWkhCRUJCQUNFQURBUUxDd3dBQUFzQUJVRUFDeUVBQ3dWQkFDRUFDeUFBQ3lrQkFYOGdBQ2dDQ0JDMkNDQUFLQUlBSVFFZ0FFRUFOZ0lBSUFFRVFDQUFLQUlFR2lBQkVEZ0xDMjBCQVg4Z0FFR1VCbW9pQVVFWWFoQlZJQUZCREdvUVZTQUJFRlVnQUVHTUJXb2lBVUg4QUdvUVZTQUJRZkFBYWhCVklBRkIzQUJxRU1RSElBQkIvQVJxRUZVZ0FFR2dBV29RL0FnZ0FFSGNBR29ReHdJZ0FFSElBR29RdVFnZ0FFRkFheENWQVNBQVFReHFFRlVMS0FFQmZ5QUFRUVJxRU9rRElBQW9BZ0FoQVNBQVFRQTJBZ0FnQVFSQUlBRVE2Z01nQVJBNEN3dXdCd0lIZndGOFFjWUFJUVpCd0lROUlRY2dBMEVCUmlJTEJFQkJ4Z0JCQkJBNUlRWkJ3SVE5UVFRUU9TRUhJQUJCQWhBNUlRQWdBVUVDRURraEFRc2dCVUVBTmdJQUlBQkJmbW9oQ0NBQlFYNXFJUWtnQWtHUWdNZ0FhaUVNUVFBaEFRSkFBa0FEUUFKQUlBRWdBaWdDQ0U0TkFpQUNRUXhxSUFGQkFuUnFJZ01vQWdBaUNpQUdTQ0FLSUFkS2NrVUVRQ0FDUVl5QUNHb2dBVUVFZEdvaUNpZ0NBRUVCUndSQUlBSWdBVUVFZEdwQmtJQUlhaWdDQUNBSVJ3UkFJQUlnQVVFRWRHcEJsSUFJYWlnQ0FFRUJSd1JBSUFJZ0FVRUVkR3BCbUlBSWFpZ0NBQ0FKUndSQUlBSW9BZ0FnQUNBTUlBRkJBV29nQ2lBRktBSUFRYkR4Qkd3Z0JHb1F2Z2hCQUU0RVFDQURLQUlBSUFVb0FnQkJzUEVFYkNBRWFoQzNDRUVBVGdSQUlBVW9BZ0JCc1BFRWJDQUVhaUFES0FJQU5nSUFJQVVvQWdBaUEwR3c4UVJzSUFScUlBSkJrSUFvYWlBQlFRUjBhaXNEQURrRENDQURRYkR4Qkd3Z0JHb2dBaUFCUVFSMGFrR1lnQ2hxS3dNQU9RTVFJQVVnQTBFQmFpSUROZ0lBSUFOQlBFWUVRRUU4SVFBTUNBc0xDd3NMQ3dzTElBRkJBV29oQVF3QkN3c01BUXNnQlNnQ0FDRUFDMEVBSVFFRFFDQUJJQUJJQkVBZ0FVR3c4UVJzSUFScUlRWWdBVUd3OFFSc0lBUnFJUWNnQVVHdzhRUnNJQVJxSVFNZ0FVRUJhaUlCSVFJRFFDQUNJQUJJQkVBZ0Jpc0RDQ0FDUWJEeEJHd2dCR29yQXdpaElnMGdEYUlnQnlzREVDQUNRYkR4Qkd3Z0JHb3JBeENoSWcwZ0RhS2dJUTBnQXlnQ0FDSUFJQUpCc1BFRWJDQUVhaUlJS0FJQUlnbEtCRUFnRFNBQVFRUVFPYmRqQkVBZ0NFRUFOZ0lBQ3dVZ0RTQUpRUVFRT2JkakJFQWdBMEVBTmdJQUN3c2dBa0VCYWlFQ0lBVW9BZ0FoQUF3QkN3c01BUXNMUVFBaEFnTkFJQUlnQUVnRVFDQUNRYkR4Qkd3Z0JHb29BZ0JGQkVBZ0FpRUJJQUFoQXdOQUlBRkJBV29pQUNBRFNBUkFJQUZCc1BFRWJDQUVhaUFBUWJEeEJHd2dCR3BCc1BFRUVFd2FJQUFoQVNBRktBSUFJUU1NQVFzTElBVWdBMEYvYWlJQU5nSUFDeUFDUVFGcUlRSU1BUXNMSUFzRVFBSkFRUUFoQVFOQUlBRWdBRTROQVNBRUlBUW9BZ0JCQW5RMkFnQWdCQ0FFS3dNSVJBQUFBQUFBQUFCQW9qa0RDQ0FFSUFRckF4QkVBQUFBQUFBQUFFQ2lPUU1RSUFRb0FoZ2hBa0VBSVFBRFFDQUFJQUpJQkVBZ0JFRWNhaUFBUVFKMGFpSURJQU1vQWdCQkFYUTJBZ0FnQkVIY3VBSnFJQUJCQW5ScUlnTWdBeWdDQUVFQmREWUNBQ0FBUVFGcUlRQU1BUXNMSUFSQnNQRUVhaUVFSUFGQkFXb2hBU0FGS0FJQUlRQU1BQUFMQUFzTFFRQUxFZ0FnQUVIOGhRRTJBZ0FnQUVFRWFoQkhDMGdCQVg4akJpRURJd1pCSUdva0JpQURJQUFvQWpnZ0FpZ0NBQ0FDS0FJRUlBSW9BZ2dnQWlnQ0RCQzRBeUFBSUFNZ0FoRGdBU0FBSUFFZ0F4RGdBU0FERU4wQklBTWtCZ3VMQXdFRWZ3SkFBa0FDUUFKQUlBQW9BaGdPQXdBQUFRSUxJQUFvQWl3aEFnTkFJQUVnQWs0TkF5QUFJQUZCQ0hScUlnTW9BalJCZjBvRVFDQUFJQUZCQ0hScUt3TlFSQUFBQUFBQUFPQS9Zd1JBSUFBZ0FVRUlkR3BCZnpZQ09DQURRWDgyQWpRZ0FDQUJRUWgwYWtFR05nS2NBZ3NMSUFGQkFXb2hBUXdBQUFzQUN5QUFLQUlzSVFJRFFDQUJJQUpPRFFJZ0FDQUJRUWgwYWlJREtBSTBRWDlLQkVBZ0FDQUJRUWgwYWlzRFVFUUFBQUFBQUFEZ1AyTUVRQ0FBSUFGQkNIUnFRWDgyQWp3Z0EwRi9OZ0kwSUFBZ0FVRUlkR3BCQmpZQ25BSUxDeUFCUVFGcUlRRU1BQUFMQUFzZ0FDZ0NMQ0VEQTBBZ0FTQURUZzBCSUFBZ0FVRUlkR29pQWlnQ09FRi9TZ1IvSUFBZ0FVRUlkR29yQTFoRUFBQUFBQUFBNEQ5akJIOGdBa0YvTmdJNFFRQUZRUUVMQlVFQkN5RUNJQUFnQVVFSWRHb2lCQ2dDUEVGL1NnUkFJQUFnQVVFSWRHb3JBMkJFQUFBQUFBQUE0RDlqQkVBZ0JFRi9OZ0k4SUFKRkJFQWdBQ0FCUVFoMGFrRUdOZ0tjQWdzTEN5QUJRUUZxSVFFTUFBQUxBQXNMQ3dBZ0FFTUFBQUEva280TERRQWdBQkRTQVVNWWNqRS9sUXUzQXdJRGZ3TjlJQUFvQWdBaUJDb0NBQ0lISUFFb0FnQWlBeW9DQUNJR1hRUi9RUUVGSUFZZ0IxMEVmMEVBQlNBRUtBSUVJQU1vQWdSSkN3c2hBU0FHSUFJb0FnQWlBaW9DQUNJSVhRUi9RUUVGSUFnZ0JsMEVmMEVBQlNBREtBSUVJQUlvQWdSSkN3c2hBQUovSUFFRWZ5QUFCRUFnQkNBSU9BSUFJQUlnQnpnQ0FDQUVLQUlFSVFBZ0JDQUNLQUlFTmdJRUlBSWdBRFlDQkVFQkRBSUxJQVFnQmpnQ0FDQURJQWM0QWdBZ0JDZ0NCQ0VGSUFRZ0F5Z0NCRFlDQkNBRElBVTJBZ1FnQnlBQ0tnSUFJZ1pkQkVBZ0FrRUVhaUVBSUFJb0FnUWhBUVZCQVNBR0lBZGREUUlhUVFFZ0JTQUNRUVJxSWdBb0FnQWlBVThOQWhvTElBTWdCamdDQUNBQ0lBYzRBZ0FnQXlBQk5nSUVJQUFnQlRZQ0FFRUNCU0FBQkg4Z0F5QUlPQUlBSUFJZ0JqZ0NBQ0FES0FJRUlRQWdBeUFDS0FJRU5nSUVJQUlnQURZQ0JDQUVLZ0lBSWdjZ0F5b0NBQ0lHWFFSQUlBUkJCR29oQUNBREtBSUVJUUVnQkNnQ0JDRUNCVUVCSUFZZ0IxME5BeHBCQVNBRVFRUnFJZ0FvQWdBaUFpQURLQUlFSWdGUERRTWFDeUFFSUFZNEFnQWdBeUFIT0FJQUlBQWdBVFlDQUNBRElBSTJBZ1JCQWdWQkFBc0xDd3Z0QVFFRmZ5QUFLQUlBSVFZZ0FDZ0NCQ0VEQTBBZ0F5QUdSd1JBSUFFb0FnUWlCRUYwYWlJQ1FRQTJBZ0FnQkVGNGFpSUZRUUEyQWdBZ0JFRjhhaUlFUVFBMkFnQWdBaUFEUVhScUlnSW9BZ0EyQWdBZ0JTQURRWGhxSWdVb0FnQTJBZ0FnQkNBRFFYeHFJZ01vQWdBMkFnQWdBMEVBTmdJQUlBVkJBRFlDQUNBQ1FRQTJBZ0FnQVNBQktBSUVRWFJxTmdJRUlBSWhBd3dCQ3dzZ0FDZ0NBQ0VDSUFBZ0FTZ0NCRFlDQUNBQklBSTJBZ1FnQUNnQ0JDRUNJQUFnQVNnQ0NEWUNCQ0FCSUFJMkFnZ2dBQ2dDQ0NFQ0lBQWdBU2dDRERZQ0NDQUJJQUkyQWd3Z0FTQUJLQUlFTmdJQUN5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFTWJCQkZHaUFBSUFGQkRHd2dBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVF4c0VFVWFJQUFnQVVFTWJDQUNhallDQkFzaUFRRi9JQUFvQWdRaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lFQ3hNQUlBQWdBVFlDVkNBQVFUeHFJQUVRMFFJTE93RUNmeUFBS0FJRUlRRURRQ0FBS0FJSUlnSWdBVWNFUUNBQUlBSkJiR28yQWdnTUFRc0xJQUFvQWdBaUFRUkFJQUFvQWd3YUlBRVFPQXNMcVFFQkEzOGdBQ2dDQUNFRUlBQW9BZ1FoQWdOQUlBSWdCRWNFUUNBQktBSUVRV3hxSWdNZ0FrRnNhaUlDS1FJQU53SUFJQU1nQWlrQ0NEY0NDQ0FESUFJb0FoQTJBaEFnQVNBQktBSUVRV3hxTmdJRURBRUxDeUFBS0FJQUlRSWdBQ0FCS0FJRU5nSUFJQUVnQWpZQ0JDQUFLQUlFSVFJZ0FDQUJLQUlJTmdJRUlBRWdBallDQ0NBQUtBSUlJUUlnQUNBQktBSU1OZ0lJSUFFZ0FqWUNEQ0FCSUFFb0FnUTJBZ0FMY3dFQmZ5QUFRUUEyQWd3Z0FDQUROZ0lRSUFFRVFDQUJRY3lacytZQVN3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFVWJCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FSUnNJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVVYkNBRWFqWUNEQXZrQVFFR2Z5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEF5QUFCSDhnQVNBQVFmU0dyd05xSWdVb0FnQkdCSDlCQUFVZ0FFR0loNjhEYWlJRUtBSUFJZ1lFUUNBR0VFa2dCRUVBTmdJQUN3SkFBa0FDUUFKQUlBRU9CUU1BQUFBQkFnc2dCQ0FBS0FJa0lBQW9BaWdRZ3dnMkFnQU1BZ3NnQUVHRWg2OERha0VCTmdJQUlBQkJnSWV2QTJwQkFUWUNBRUVFSVFFTUFRdEJBRUVEUWNpbEFTQUNFRDFCQUNFQkN5QUZJQUUyQWdBZ0FDZ0NBRUVCUmdSQUlBTWdBVUVDZEVHQUNHb29BZ0EyQWdCQkFFRURRWkttQVNBREVEMExRUUFMQlVGL0N5RUhJQUlrQmlBSEN5Z0FJQUFnQVRnQ0FDQUFJQUk0QWdRZ0FDQURPQUlJSUFBZ0JEZ0NEQ0FBSUFWQkFYRTZBQkFMZXdFQmZ5TUdJUUlqQmtFUWFpUUdJQUFFUUNBQUtBSUFJQUZIQkVBQ1FDQUFJQUUyQWdBZ0FVVUVRQ0FBUWVTR3B3SnFJZ0FvQWdBUU9DQUFRUUEyQWdBTUFRc2dBRUhraHFjQ2FpQUFLQUlvSUFBb0FpUnNFRVFpQURZQ0FDQUFSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNMQ3dzZ0FpUUdDNW9CQVFSL0l3WWhCU01HUVJCcUpBWWdBaUFCYXlJRVFXOUxCRUFRQUFzZ0JFRUxTUVJBSUFBZ0JEb0FDd1VnQUNBRVFSQnFRWEJ4SWdZUVVTSUROZ0lBSUFBZ0JrR0FnSUNBZUhJMkFnZ2dBQ0FFTmdJRUlBTWhBQXNnQWlBQmF5RUdJQUFoQXdOQUlBRWdBa2NFUUNBRElBRVFYeUFCUVFGcUlRRWdBMEVCYWlFRERBRUxDeUFGUVFBNkFBQWdBQ0FHYWlBRkVGOGdCU1FHQzRJQkFRTi9Jd1loQWlNR1FSQnFKQVlnQUFSQUlBQW9BZ0FpQVFSQUlBRW9BZ0FpQVFSQUlBRVFPQXRCQUNFQkEwQWdBU0FBS0FJQUlnTW9BZ3hJQkVBZ0F5Z0NDQ0FCUVF4c2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0F5Z0NDQkE0SUFBb0FnQVFPQ0FBUVFBMkFnQUxCVUVBUVFOQjNMZ0JJQUlRUFFzZ0FpUUdDeEVBSUFBZ0FDZ0NBQ0FBS0FJRUVLVUpDNjRCQVFWL0l3WWhCU01HUVJCcUpBWWdBQ0FDSUFNZ0JVRUVhaUFGRUtZSlFRQklCSDlCZndVZ0JTb0NCQ0FCS2dJTUlnS1VRek16eTBHVlF3QUFBRCtTRUVNaUFFRUFTQVIvUVg4RklBRW9BZ1FpQnlBQVNnUi9JQUVvQWdnaUNMSWdBaUFGS2dJQWxFTXpNOHRCbFpOREFBQUFQNUlRUXlJR1FYOUtJQWdnQmtweEJIOGdCQ0FCS0FJQUlBQWdCaUFIYkdwcUxBQUFPZ0FBUVFBRlFYOExCVUYvQ3dzTElRa2dCU1FHSUFrTHZRSUNCSDhDZlNNR0lRWWpCa0ZBYXlRR0lBWkJOR29oQnlBR1FUQnFJUWdnQUFSL0lBQkJDR29nQVNBR0VQb0JJQUJCdUFGcUlnQWdCaW9DRENBR0tnSUFJQUtVSUFZcUFnUWdBNVNTa2lBR0tnSXNJQVlxQWlBZ0FwUWdCaW9DSkNBRGxKS1NJZ3VWSWdvZ0Jpb0NIQ0FHS2dJUUlBS1VJQVlxQWhRZ0E1U1NraUFMbFNJRElBUWdCUkJ0UVFCSUJIOUJmd1VnQUNBRUtnSUFJQVVxQWdBZ0J5QUlFS1lCUVFCSUJIOUJmd1VnQ2lBSEtnSUFreUlDSUFLVUlBTWdDQ29DQUpNaUFpQUNsSkpEQUFDQVAxNUJIM1JCSDNVTEN3VWdBU29DSENBQktnSVFJQUtVSUFFcUFoUWdBNVNTa2lFS0lBUWdBU29DRENBQktnSUFJQUtVSUFFcUFnUWdBNVNTa2lBQktnSXNJQUVxQWlBZ0FwUWdBU29DSkNBRGxKS1NJZ0tWT0FJQUlBVWdDaUFDbFRnQ0FFRUFDeUVKSUFZa0JpQUpDNFlMQVFwL0lBTW9BaGdoQ0FKQUFrQUNRQ0FDUVFWckRnb0FBUUVCQVFFQkFBQUFBUXNnQXlnQ0RDRUxJQU1vQWhRaERTQUJRUUYwSVE0Z0FDQUVRUUFnQXlnQ0NHc2lCMEVCZEdvZ0FTQUZRUUFnQXlnQ0VHc2lCVUVCZEdwc2Ftb2hCRUVBSVFCQkFDRUJRUUFoQWdOQUlBVWdEVW9FUUF3REJTQUhJUXdnQkNFSkEwQWdEQ0FMVEFSQUlBZ3VBUUFpRDBHQUlFY0VRQ0FBSUFrdEFBQWlDbW9oQUNBQklBb2dDbXhxSVFFZ0FpQVBRZi8vQTNFZ0NteHFJUUlMSUF4QkFXb2hEQ0FJUVFKcUlRZ2dDVUVDYWlFSkRBRUxDeUFFSUE1cUlRUWdCVUVCYWlFRkRBRUxBQUFMQUFzZ0FrRUNTUVJBSUFNb0FoUWhEa0VBSUFNb0FoQnJJUW9nQ0NFSlFRQWhBa0VBSVFnRFFDQUtJQTVLQkVBZ0FpRUFJQWdoQVNBTUlRSU1Bd1VnQXlnQ0RDRVBRUUFnQXlnQ0NDSUhheUVMSUFBZ0JDQUJJQVVnQ2tFQmRHcHNhaUFIUVFGMGEwRURiR29oQndOQUlBc2dEMHdFUUNBSkxnRUFJaEJCZ0NCSEJFQWdBaUFITFFBQ0lBY3RBQUFnQnkwQUFXcHFRUU1RU0NJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDMEVCYWlFTElBZEJCbW9oQnlBSlFRSnFJUWtNQVFzTElBcEJBV29oQ2d3QkN3QUFDd0FMSUFKQkFYSkJBMFlFUUNBREtBSVVJUTVCQUNBREtBSVFheUVLSUFnaENVRUFJUUpCQUNFSUEwQWdDaUFPU2dSQUlBSWhBQ0FJSVFFZ0RDRUNEQU1GSUFNb0Fnd2hEMEVBSUFNb0FnZ2lCMnNoQ3lBQUlBUWdBU0FGSUFwQkFYUnFiR29nQjBFQmRHdEJBblJxSVFjRFFDQUxJQTlNQkVBZ0NTNEJBQ0lRUVlBZ1J3UkFJQUlnQnkwQUFpQUhMUUFBSUFjdEFBRnFha0VERUVnaURXb2hBaUFJSUEwZ0RXeHFJUWdnRENBUVFmLy9BM0VnRFd4cUlRd0xJQXRCQVdvaEN5QUhRUWhxSVFjZ0NVRUNhaUVKREFFTEN5QUtRUUZxSVFvTUFRc0FBQXNBQ3lBQ1FRSnlRUVpHQkVBZ0F5Z0NGQ0VPUVFBZ0F5Z0NFR3NoQ2lBSUlRbEJBQ0VDUVFBaENBTkFJQW9nRGtvRVFDQUNJUUFnQ0NFQklBd2hBZ3dEQlNBREtBSU1JUTlCQUNBREtBSUlJZ2RySVFzZ0FDQUVJQUVnQlNBS1FRRjBhbXhxSUFkQkFYUnJRUUowYWlFSEEwQWdDeUFQVEFSQUlBa3VBUUFpRUVHQUlFY0VRQ0FDSUFjdEFBTWdCeTBBQVNBSExRQUNhbXBCQXhCSUlnMXFJUUlnQ0NBTklBMXNhaUVJSUF3Z0VFSC8vd054SUExc2FpRU1DeUFMUVFGcUlRc2dCMEVJYWlFSElBbEJBbW9oQ1F3QkN3c2dDa0VCYWlFS0RBRUxBQUFMQUFzQ1FBSkFBa0FnQWtFSGF3NENBQUVDQ3lBREtBSVVJUTVCQUNFQ1FRQWdBeWdDRUdzaENpQUlJUWNEUUNBS0lBNUtCRUFnQWlFQUlBa2hBU0FNSVFJTUJBVWdBeWdDRENFUElBa2hDRUVBSUFNb0FnZ2lDMnNoQ1NBQUlBUWdBU0FGSUFwQkFYUnFiR29nQzBFQmRHdEJBWFJxSVFzRFFDQUpJQTlNQkVBZ0J5NEJBQ0lRUVlBZ1J3UkFJQUlnQ3kwQUFTSU5haUVDSUFnZ0RTQU5iR29oQ0NBTUlCQkIvLzhEY1NBTmJHb2hEQXNnQ1VFQmFpRUpJQXRCQkdvaEN5QUhRUUpxSVFjTUFRc0xJQWdoQ1NBS1FRRnFJUW9NQVFzQUFBc0FDeUFES0FJVUlRNGdDQ0VKUVFBaEFrRUFJUWhCQUNBREtBSVFheUVIQTBBZ0J5QU9TZ1JBSUFJaEFDQUlJUUVnRENFQ0RBTUZJQU1vQWd3aEQwRUFJQU1vQWdnaUMyc2hDaUFBSUFRZ0FTQUZJQWRCQVhScWJHb2dDMEVCZEd0QkFYUnFJUXNEUUNBS0lBOU1CRUFnQ1M0QkFDSVFRWUFnUndSQUlBSWdDeTBBQUNJTmFpRUNJQWdnRFNBTmJHb2hDQ0FNSUJCQi8vOERjU0FOYkdvaERBc2dDVUVDYWlFSklBcEJBV29oQ2lBTFFRUnFJUXNNQVFzTElBZEJBV29oQnd3QkN3QUFDd0FMUVFBaEFFRUFJUUZCQUNFQ0N5QUdJQUVnQUNBQWJDQURLQUlrSWdFUU9Xc2lCQVIvSUFJZ0FDQURLQUlnYkNBQkVEbHJRZVFBYkNBREtBSWNFRGxCNUFCc0lBU3lrUkJERURrRlFRQUxOZ0lBQzBVQkFuMGdBU29DQUNBQUtnSUFJZ09USUFJcUFnUWdBQ29DQkNJRWs1UWdBU29DQkNBRWt5QUNLZ0lBSUFPVGxKTkRBQUFBUDVRaUE0d2dBeUFEUXdBQUFBQmRHd3VJRGdNSWZ3RitEWDBqQmlFR0l3WkJJR29rQmlBR1FSUnFJUWNnQmtFUWFpRUlJQVpCREdvaENTQUdRUWhxSVFvZ0JrRUVhaUVMSUFKQkFFZ0VRRUYvSVFFRkFrQUNRQUpBQWtBQ1FBSkFJQUlPQkFBQkFnTUVDeUFFUVFnUU9iSWhFaUFFUVFkc1FRZ1FPYkloRXlBRlFRZ1FPYkloRkNBRlFRZHNRUWdRT2JJaEZTQUVRUUlRT2JJaEZpQUZRUUlRT2JJaEYwRUFJUUpCZnlFQkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRWwwZ0R5QVRYbkpGQkVBZ0FrRVliQ0FBYWlvQ0ZDSVFJQlJkSUJBZ0ZWNXlSUVJBSUE4Z0ZwTWlEeUFQbENBUUlCZVRJZzhnRDVTU0lnOGdFVjRFUUNBUElSRWdBaUVCQ3dzTEN5QUNRUUZxSVFJTUFRc0xJQUZCZjBZRVFFRi9JUUVNQlFzZ0FVRVliQ0FBYWtFQk5nSU1EQVFMSUFSQkNCQTVzaUVTSUFSQkIyeEJDQkE1c2lFVElBVkJDQkE1c2lFVUlBVkJCMnhCQ0JBNXNpRVZRWDhoQVVFQUlRSURRQUpBQWtBQ1FDQUNRUmhzSUFCcUtBSU1RWDlyRGdJQ0FBRUxJQUpCR0d3Z0FHb3FBaEFpRHlBU1hTQVBJQk5lY2tVRVFDQUNRUmhzSUFCcUtnSVVJaEFnRkYwZ0VDQVZYbkpGQkVBZ0R5QURLZ0lBa3lJUElBK1VJQkFnQXlvQ0JKTWlEeUFQbEpJaUR5QVJYZ1JBSUE4aEVTQUNJUUVMQ3dzTElBSkJBV29oQWd3QkN3c2dBVUYvUmdSQVFYOGhBUXdFQ3lBQlFSaHNJQUJxUVFFMkFnd01Bd3NnQkVFSUVEbXlJUklnQkVFSGJFRUlFRG15SVJNZ0JVRUlFRG15SVJRZ0JVRUhiRUVJRURteUlSVkJmeUVCUVFBaEFnTkFBa0FDUUFKQUlBSkJHR3dnQUdvb0FneEJmMnNPQWdJQUFRc2dBa0VZYkNBQWFpb0NFQ0lQSUJKZElBOGdFMTV5UlFSQUlBSkJHR3dnQUdvcUFoUWlFQ0FWWGlBUUlCUmRja1VFUUNBUElBTXFBZ0FpRDVNZ0F5b0NEQ0FES2dJRUloYVRsQ0FRSUJhVElBTXFBZ2dnRDVPVWt5SVBJQStVSWc4Z0VWNEVRQ0FQSVJFZ0FpRUJDd3NMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMFlFUUVGL0lRRU1Bd3NnQVVFWWJDQUFha0VCTmdJTURBSUxJQU1nQTBFSWFpQUhJQWdRMndJZ0F5QURRUkJxSUFrZ0NoRGJBaUFFUVFnUU9iSWhGaUFFUVFkc1FRZ1FPYkloRnlBRlFRZ1FPYkloR0NBRlFRZHNRUWdRT2JJaEdTQURRUmhxSVF3Z0NTb0NBQ0lVSUFncUFnQWlFcFFpRVNBS0tnSUFJaFVnQnlvQ0FDSVRsQ0lQazBNQUFBQUFZRVVoQ1NBUElCR1RRd0FBQUFCZ1JTRU5RUUpCQVNBSkd5RUhRUUZCQWlBSkd5RUlRWDhoQVVFQUlRSkRBQUFBQUNFUkEwQUNRQUpBQWtBZ0FrRVliQ0FBYWlnQ0RFRi9hdzRDQWdBQkN5QUNRUmhzSUFCcUtnSVFJZzhnRmwwZ0R5QVhYbkpGQkVBZ0FrRVliQ0FBYWlJRUtnSVVJaEFnR0YwZ0VDQVpYbkpGQkVBZ0RDQVBPQUlBSUFNZ0JDZ0NGRFlDSENBRElBd2dDeUFHRU5zQ0lBc3FBZ0FoRHdKL0FrQWdDUVIvSUFZcUFnQWhFQXdCQlNBU0lBK1VJQk1nQmlvQ0FDSVFsSk5EQUFBQUFHQUVmMEVDUVFNZ0ZTQVBsQ0FVSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVCSVFwQkEwRUNJQVViQlF3Q0N3c01BUXNnRFNBVklBK1VJaG9nRkNBUWxDSWJrME1BQUFBQVlFVnlCSDhnRXlBUWxDQVNJQStVazBNQUFBQUFZRVVnR3lBYWswTUFBQUFBWUVWeURRUkJBeUVLSUFnaEJDQUhCVUVCUVFNZ0VpQVBsQ0FUSUJDVWswTUFBQUFBWUVVaUJSc2hCRUVDSVFwQkEwRUJJQVViQ3dzaEJTQURJQW9nQlNBRUVMQUpJZzhnRVY0RWZ5QVBJUkVnQWdVZ0FRc2hBUXNMQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQlFSaHNJQUJxUVFFMkFnd0xEQUVMUVFBaEF3SkFBa0FEUUFKQUFrQUNRQ0FEUVJoc0lBRnFJZ0lvQWd4QmYyc09BZ0lBQVFzZ0FrRUJOZ0lNSUFOQkdHd2dBV29oQkNBRFFSaHNJQUZxSVFVZ0EwRVliQ0FCYWlFSFFRQWhBZ05BQWtBQ1FDQUNRUmhzSUFCcUlnZ29BZ3hCZjJzT0FnTUFBUXNnQkNnQ0FDQUNRUmhzSUFCcUtBSUFSZ1JBSUFVb0FnUWdBa0VZYkNBQWFpZ0NCRVlFUUNBSEtBSUlJQUpCR0d3Z0FHb29BZ2hHRFFjTEN3c2dBa0VCYWlFQ0RBQUFDd0FMSUFOQkFXb2hBd3dCQ3dzTUFRc2dDRUVCTmdJTUlBSWhBUXdCQ3lBQlFYODJBZ3hCaE1RRFFRQkJoTVFES0FJQUlnRUVmeUFCQlVIb3ZnTkJBQkFUUVg5cXJUY0RBRUdFeEFNb0FnQUxRUUZxSWdFZ0FVR0FBVVliTmdJQVFRQWhBVUVBSVFJRFFBSkFBa0FDUUNBQ1FSaHNJQUJxS0FJTVFYOXJEZ0lDQUFFTElBRkJBV29oQVFzZ0FrRUJhaUVDREFFTEN5QUJSUVJBUVg4aEFRd0JDMEhvdmdOQjZMNERLUU1BUXEzKzFlVFVoZjJvMkFCK1FnRjhJZzQzQXdBZ0FiSWdEa0loaUtleWxFTUFBQUF3bEJCRElRUkJBQ0VDUVFBaEFRTkFBa0FDUUFKQUFrQWdBa0VZYkNBQWFpSUZLQUlNSWdOQmYyc09BZ0FCQWdzZ0F5RUJEQVFMSUFFZ0JFWU5BU0FCUVFGcUlRRUxJQUpCQVdvaEFnd0JDd3NnQlVFQk5nSU1JQUloQVFzTElBWWtCaUFCQzVnRUFnRi9FWDBqQmlFRUl3WkJNR29rQmlBQUJFQWdBRUVJYWlBQklBUVErZ0VnQWlvQ0FDSUxJQVFxQWdBaUZKUWhEaUFDS2dJRUlnWWdCQ29DQkNJTWxDRVBJQVlnQkNvQ0ZDSU5sQ0VRSUFRcUFpd2lDaUFMSUFRcUFpQWlCNVFpQ1NBR0lBUXFBaVFpQ0pRaUJaS1NJUkVnQ2lBTFF3QUFJRUdTSWhJZ0I1UWdCWktTSVJNZ0NpQUpJQVpEQUFBZ1FaSWlCaUFJbEpLU0lRb2dCQ29DSENJSElBc2dCQ29DRUNJSWxDSUZJQVlnRFpTU2tpQUtsU0VMSUFRcUFnd2lDU0FPSUFZZ0RKU1NraUFLbFNFTUJTQUNLZ0lBSWdzZ0FTb0NBQ0lVbENFT0lBSXFBZ1FpQmlBQktnSUVJZ3lVSVE4Z0JpQUJLZ0lVSWcyVUlSQWdBU29DTENJS0lBc2dBU29DSUNJSGxDSUpJQVlnQVNvQ0pDSUlsQ0lGa3BJaEVTQUtJQXREQUFBZ1FaSWlFaUFIbENBRmtwSWhFeUFLSUFrZ0JrTUFBQ0JCa2lJR0lBaVVrcEloQ2lBQktnSWNJZ2NnQ3lBQktnSVFJZ2lVSWdVZ0JpQU5sSktTSUFxVklRc2dBU29DRENJSklBNGdCaUFNbEpLU0lBcVZJUXdMSUFjZ0VpQUlsQ0FRa3BJZ0U1VWhEU0FKSUJJZ0ZKUWdENUtTSUJPVklSVWdCeUFGSUJDU2tpQVJsU0VISUFrZ0RpQVBrcElnRVpVaENTQVZJQW1USWdVZ0JaUWdEU0FIa3lJRklBV1VraUlJSUF3Z0NaTWlCU0FGbENBTElBZVRJZ1VnQlpTU0lnVmRJUUFnQXlBRklBZ2dBQnVSUTF5UElrQ1VPQUlBSUFNZ0NDQUZJQUFia1VOY2p5SkFsRGdDQkNBRUpBWkJBQXNmQUNBQUJIOGdBQ0FCSUFJZ0F4Q0dCQVZCQUNBQklBSWdBeENHQkFzYUN3WUFRUndRQWdzR0FFRWJFQUlMQmdCQkZ4QUNDd1lBUVJJUUFnc0lBRUVQRUFKQ0FBc0lBRUVNRUFKQkFBc0lBRUVLRUFKQkFBdU1BUUVDZnlNRlFRRnFKQVVnQUNNRk5nSUFBMEFnQkNBRFNBUkFJQVJCQTNRZ0Ftb29BZ0JGQkVBZ0JFRURkQ0FDYWlNRk5nSUFJQVJCQTNSQkJHb2dBbW9nQVRZQ0FDQUVRUU4wUVFocUlBSnFRUUEyQWdBZ0F4QURJQUlQQ3lBRVFRRnFJUVFNQVFzTElBQWdBU0FDSUFOQkFYUWlBRUVCYWtFRGRCRG9BU0FBRUk4RUlRVWdBQkFESUFVTHJ3d0JCMzhnQUNBQmFpRUZJQUFvQWdRaUEwRUJjVVVFUUFKQUlBQW9BZ0FoQWlBRFFRTnhSUVJBRHdzZ0FTQUNhaUVCSUFBZ0Ftc2lBRUhBMFFNb0FnQkdCRUFnQlNnQ0JDSUNRUU54UVFOSERRRkJ0TkVESUFFMkFnQWdCU0FDUVg1eE5nSUVJQUFnQVVFQmNqWUNCQ0FGSUFFMkFnQVBDeUFDUVFOMklRUWdBa0dBQWtrRVFDQUFLQUlJSWdJZ0FDZ0NEQ0lEUmdSQVFhelJBMEdzMFFNb0FnQkJBU0FFZEVGL2MzRTJBZ0FGSUFJZ0F6WUNEQ0FESUFJMkFnZ0xEQUVMSUFBb0FoZ2hCeUFBSUFBb0Fnd2lBa1lFUUFKQUlBQkJFR29pQTBFRWFpSUVLQUlBSWdJRVFDQUVJUU1GSUFNb0FnQWlBa1VFUUVFQUlRSU1BZ3NMQTBBQ1FDQUNRUlJxSWdRb0FnQWlCa1VFUUNBQ1FSQnFJZ1FvQWdBaUJrVU5BUXNnQkNFRElBWWhBZ3dCQ3dzZ0EwRUFOZ0lBQ3dVZ0FDZ0NDQ0lESUFJMkFnd2dBaUFETmdJSUN5QUhCRUFnQUNBQUtBSWNJZ05CQW5SQjNOTURhaUlFS0FJQVJnUkFJQVFnQWpZQ0FDQUNSUVJBUWJEUkEwR3cwUU1vQWdCQkFTQURkRUYvYzNFMkFnQU1Bd3NGSUFkQkVHb2lBeUFIUVJScUlBQWdBeWdDQUVZYklBSTJBZ0FnQWtVTkFnc2dBaUFITmdJWUlBQW9BaEFpQXdSQUlBSWdBellDRUNBRElBSTJBaGdMSUFBb0FoUWlBd1JBSUFJZ0F6WUNGQ0FESUFJMkFoZ0xDd3NMSUFVb0FnUWlCMEVDY1FSQUlBVWdCMEYrY1RZQ0JDQUFJQUZCQVhJMkFnUWdBQ0FCYWlBQk5nSUFJQUVoQXdVZ0JVSEUwUU1vQWdCR0JFQkJ1TkVESUFGQnVORURLQUlBYWlJQk5nSUFRY1RSQXlBQU5nSUFJQUFnQVVFQmNqWUNCRUhBMFFNb0FnQWdBRWNFUUE4TFFjRFJBMEVBTmdJQVFiVFJBMEVBTmdJQUR3c2dCVUhBMFFNb0FnQkdCRUJCdE5FRElBRkJ0TkVES0FJQWFpSUJOZ0lBUWNEUkF5QUFOZ0lBSUFBZ0FVRUJjallDQkNBQUlBRnFJQUUyQWdBUEN5QUhRUU4ySVFRZ0IwR0FBa2tFUUNBRktBSUlJZ0lnQlNnQ0RDSURSZ1JBUWF6UkEwR3MwUU1vQWdCQkFTQUVkRUYvYzNFMkFnQUZJQUlnQXpZQ0RDQURJQUkyQWdnTEJRSkFJQVVvQWhnaENDQUZLQUlNSWdJZ0JVWUVRQUpBSUFWQkVHb2lBMEVFYWlJRUtBSUFJZ0lFUUNBRUlRTUZJQU1vQWdBaUFrVUVRRUVBSVFJTUFnc0xBMEFDUUNBQ1FSUnFJZ1FvQWdBaUJrVUVRQ0FDUVJCcUlnUW9BZ0FpQmtVTkFRc2dCQ0VESUFZaEFnd0JDd3NnQTBFQU5nSUFDd1VnQlNnQ0NDSURJQUkyQWd3Z0FpQUROZ0lJQ3lBSUJFQWdCU2dDSENJRFFRSjBRZHpUQTJvaUJDZ0NBQ0FGUmdSQUlBUWdBallDQUNBQ1JRUkFRYkRSQTBHdzBRTW9BZ0JCQVNBRGRFRi9jM0UyQWdBTUF3c0ZJQWhCRUdvaUF5QUlRUlJxSUFNb0FnQWdCVVliSUFJMkFnQWdBa1VOQWdzZ0FpQUlOZ0lZSUFVb0FoQWlBd1JBSUFJZ0F6WUNFQ0FESUFJMkFoZ0xJQVVvQWhRaUF3UkFJQUlnQXpZQ0ZDQURJQUkyQWhnTEN3c0xJQUFnQVNBSFFYaHhhaUlEUVFGeU5nSUVJQUFnQTJvZ0F6WUNBQ0FBUWNEUkF5Z0NBRVlFUUVHMDBRTWdBellDQUE4TEN5QURRUU4ySVFJZ0EwR0FBa2tFUUNBQ1FRTjBRZFRSQTJvaEFVR3MwUU1vQWdBaUEwRUJJQUowSWdKeEJIOGdBVUVJYWlJREtBSUFCVUdzMFFNZ0FpQURjallDQUNBQlFRaHFJUU1nQVFzaEFpQURJQUEyQWdBZ0FpQUFOZ0lNSUFBZ0FqWUNDQ0FBSUFFMkFnd1BDeUFEUVFoMklnRUVmeUFEUWYvLy93ZExCSDlCSHdVZ0FTQUJRWUQrUDJwQkVIWkJDSEVpQW5RaUJFR0E0QjlxUVJCMlFRUnhJUUZCRGlBQklBSnlJQVFnQVhRaUFVR0FnQTlxUVJCMlFRSnhJZ0p5YXlBQklBSjBRUTkyYWlJQlFRRjBJQU1nQVVFSGFuWkJBWEZ5Q3dWQkFBc2lBa0VDZEVIYzB3TnFJUUVnQUNBQ05nSWNJQUJCQURZQ0ZDQUFRUUEyQWhBQ1FFR3cwUU1vQWdBaUJFRUJJQUowSWdaeFJRUkFRYkRSQXlBRUlBWnlOZ0lBSUFFZ0FEWUNBQXdCQ3lBRElBRW9BZ0FpQVNnQ0JFRjRjVVlFUUNBQklRSUZBa0FnQTBFQVFSa2dBa0VCZG1zZ0FrRWZSaHQwSVFRRFFDQUJRUkJxSUFSQkgzWkJBblJxSWdZb0FnQWlBZ1JBSUFSQkFYUWhCQ0FESUFJb0FnUkJlSEZHRFFJZ0FpRUJEQUVMQ3lBR0lBQTJBZ0FNQWdzTElBSW9BZ2dpQVNBQU5nSU1JQUlnQURZQ0NDQUFJQUUyQWdnZ0FDQUNOZ0lNSUFCQkFEWUNHQThMSUFBZ0FUWUNHQ0FBSUFBMkFnd2dBQ0FBTmdJSUM4MEJBUU4vUWUvLy8vOERJQUZySUFKSkJFQVFBQXNnQUN3QUMwRUFTQVIvSUFBb0FnQUZJQUFMSVFVZ0FVSG4vLy8vQVVrRVFFRUNJQUZCQVhRaUJ5QUJJQUpxSWdJZ0FpQUhTUnNpQWtFRWFrRjhjU0FDUVFKSkd5SUNRZi8vLy84RFN3UkFFQUFGSUFJaEJnc0ZRZS8vLy84RElRWUxJQVpCQW5RUVVTRUNJQVFFUUNBQ0lBVWdCQkNuQVFzZ0F5QUVheUlEQkVBZ0FpQUVRUUowYWlBRklBUkJBblJxSUFNUXB3RUxJQUZCQVVjRVFDQUZFRGdMSUFBZ0FqWUNBQ0FBSUFaQmdJQ0FnSGh5TmdJSUM2QUNBUVIvSXdZaENDTUdRUkJxSkFaQjd2Ly8vd01nQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84QlNRUkFRUUlnQVVFQmRDSUxJQUVnQW1vaUFpQUNJQXRKR3lJQ1FRUnFRWHh4SUFKQkFra2JJZ0pCLy8vLy93TkxCRUFRQUFVZ0FpRUtDd1ZCNy8vLy93TWhDZ3NnQ2tFQ2RCQlJJUUlnQkFSQUlBSWdDU0FFRUtjQkN5QUdCRUFnQkVFQ2RDQUNhaUFISUFZUXB3RUxJQU1nQldzaUF5QUVheUlIQkVBZ0JFRUNkQ0FDYWlBR1FRSjBhaUFFUVFKMElBbHFJQVZCQW5ScUlBY1Fwd0VMSUFGQkFVY0VRQ0FKRURnTElBQWdBallDQUNBQUlBcEJnSUNBZ0hoeU5nSUlJQUFnQXlBR2FpSUFOZ0lFSUFoQkFEWUNBQ0FBUVFKMElBSnFJQWdRYmlBSUpBWUxrQUVCQTM4akJpRURJd1pCRUdva0JpQUJRZS8vLy84RFN3UkFFQUFMSUFGQkFra0VRQ0FBSUFFNkFBc2dBQ0VFQlNBQlFRUnFRWHh4SWdWQi8vLy8vd05MQkVBUUFBVWdBQ0FGUVFKMEVGRWlCRFlDQUNBQUlBVkJnSUNBZ0hoeU5nSUlJQUFnQVRZQ0JBc0xJQUVFUUNBRUlBSWdBUkRyQkFzZ0EwRUFOZ0lBSUFGQkFuUWdCR29nQXhCdUlBTWtCZ3Z1QVFFRGZ5TUdJUWdqQmtFUWFpUUdRVzRnQVdzZ0Fra0VRQkFBQ3lBQUxBQUxRUUJJQkg4Z0FDZ0NBQVVnQUFzaENTQUJRZWYvLy84SFNRUi9RUXNnQVVFQmRDSUtJQUVnQW1vaUFpQUNJQXBKR3lJQ1FSQnFRWEJ4SUFKQkMwa2JCVUZ2Q3lJS0VGRWhBaUFFQkVBZ0FpQUpJQVFRcUFFTElBWUVRQ0FDSUFScUlBY2dCaENvQVFzZ0F5QUZheUlESUFScklnY0VRQ0FHSUFJZ0JHcHFJQVVnQkNBSmFtb2dCeENvQVFzZ0FVRUtSd1JBSUFrUU9Bc2dBQ0FDTmdJQUlBQWdDa0dBZ0lDQWVISTJBZ2dnQUNBRElBWnFJZ0EyQWdRZ0NFRUFPZ0FBSUFBZ0Ftb2dDQkJmSUFna0Jnc1dBQ0FCQkVBZ0FDQUNFRUpCL3dGeElBRVFSUm9MQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFCUVc5TEJFQVFBQXNnQVVFTFNRUkFJQUFnQVRvQUN3VWdBQ0FCUVJCcVFYQnhJZ1FRVVNJRk5nSUFJQUFnQkVHQWdJQ0FlSEkyQWdnZ0FDQUJOZ0lFSUFVaEFBc2dBQ0FCSUFJUWxRUWdBMEVBT2dBQUlBQWdBV29nQXhCZklBTWtCZ3Y2RlFNTWZ3RitBbndqQmlFTEl3WkIwQUZxSkFZZ0MwSElBV29oRFNBTFFjQUJhaUVPSUF0QjRBQnFJUXdnQXlnQ0JDRUtBMEFnQnlBS1NBUkFJQU1vQWdBaUNDQUhRY0FDYkdvaENTQUhRY0FDYkNBSWFpZ0NCQVJBSUFkQndBSnNJQWhxSVJCQkFDRUZRWDhoQmdOQUlBVWdBa2dFUUFKQUFrQUNRQ0FGUVFoMElBRnFLQUlNSWc4TkFDQUZRUWgwSUFGcUtRUDRBU0lSVUEwQUlCRWdFQ2tEdUFKUkRRRU1BZ3NnRHlBSktBSUFSZzBBREFFTElBVkJDSFFnQVdvckF6QWlFaUFES3dONFkwVUVRQ0FHUVg5R0JIOGdCUVVnQmtFSWRDQUJhaXNETUNBU1l3Ui9JQVVGSUFZTEN5RUdDd3NnQlVFQmFpRUZEQUVMQ3lBSFFjQUNiQ0FJYWlBR05nS3dBaUFHUVg5S0JFQWdCa0VJZENBQmFpQUdRUWgwSUFGcUtBSVlOZ0lRQ3dWQmZ5RUdRUUFoQlFOQUlBVWdBa2dFUUNBRlFRaDBJQUZxS0FJSUlBa29BZ0JHQkVBZ0JVRUlkQ0FCYWlzREtDSVNJQU1yQTNCalJRUkFJQVpCZjBZRWZ5QUZCU0FHUVFoMElBRnFLd01vSUJKakJIOGdCUVVnQmdzTElRWUxDeUFGUVFGcUlRVU1BUXNMSUFkQndBSnNJQWhxSUFZMkFyQUNJQVpCZjBvRVFDQUdRUWgwSUFGcUlBWkJDSFFnQVdvb0FoUTJBaEFMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCVUVBSVFKQkFDRUdRUUFoQndOQUlBY2dDa2dFUUNBREtBSUFJZ29nQjBIQUFteHFLQUt3QWlJSVFRQk9CRUFDUUNBQUlBaEJDSFFnQVdvaUNTQUhRY0FDYkNBS2Fpc0RDQ0FMRU5vRFJBQUFBQUFBQUJCQVpBUkFJQU1vQWdBZ0IwSEFBbXhxUVg4MkFyQUNJQWhCQ0hRZ0FXb2lDQ2dDN0FFTkFTQUlRUWMyQXV3QkRBRUxJQVZGSUFJZ0NTZ0NBQ0lJU0hJRVFFRUFJUUlEZnlBQ1FRTkdCSDhnQnlFR0lBZ0ZRUUFoQmdOQUlBWkJCRWNFUUNBQ1FRVjBJQXhxSUFaQkEzUnFJQUpCQlhRZ0Myb2dCa0VEZEdvckF3QTVBd0FnQmtFQmFpRUdEQUVMQ3lBQ1FRRnFJUUlNQVFzTElRSUxJQVZCQVdvaEJRc0xJQWRCQVdvaEJ5QURLQUlFSVFvTUFRc0xBa0FDUUNBRlJRMEFJQVVnQXlnQ2dBRklEUUFnRENBREtBSUFJQVpCd0FKc2FrSHdBR29nQ3hDekFpQUZRUVowRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQTRRUFVFQkVBRUxJQVZCNEFCc0VFUWlCa1VFUUVFQVFRTkJ1ZGdDSUEwUVBVRUJFQUVMSUFWQkFuUWhDQ0FES0FJRUlSQkJBQ0VGUVFBaEFnTkFJQVVnRUVnRVFDQURLQUlBSWdvZ0JVSEFBbXhxS0FLd0FpSUpRUUJPQkVBZ0FrRURkQ0lOUVFOMElBZHFJQWxCQ0hRZ0FXcEJxQUZxUVFRZ0NVRUlkQ0FCYWlnQ0VDSU9hMEVFRUU4aUQwRUVkR29yQXdBNUF3QWdEVUVCY2tFRGRDQUhhaUFKUVFoMElBRnFJQTlCQkhScUt3T3dBVGtEQUNBTlFRSnlRUU4wSUFkcUlBbEJDSFFnQVdwQnFBRnFRUVVnRG10QkJCQlBJZzlCQkhScUt3TUFPUU1BSUExQkEzSkJBM1FnQjJvZ0NVRUlkQ0FCYWlBUFFRUjBhaXNEc0FFNUF3QWdEVUVFY2tFRGRDQUhhaUFKUVFoMElBRnFRYWdCYWtFR0lBNXJRUVFRVHlJUFFRUjBhaXNEQURrREFDQU5RUVZ5UVFOMElBZHFJQWxCQ0hRZ0FXb2dEMEVFZEdvckE3QUJPUU1BSUExQkJuSkJBM1FnQjJvZ0NVRUlkQ0FCYWtHb0FXcEJCeUFPYTBFRUVFOGlEa0VFZEdvckF3QTVBd0FnRFVFSGNrRURkQ0FIYWlBSlFRaDBJQUZxSUE1QkJIUnFLd093QVRrREFDQUNRUXhzSWdsQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlBQk9RTUFJQWxCQVhKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTlnQk9RTUFJQWxCQW5KQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStBQk9RTUFJQWxCQTNKQkEzUWdCbW9nQlVIQUFtd2dDbW9yQStnQk9RTUFJQWxCQkdwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9BQk9RTUFJQWxCQldwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQS9nQk9RTUFJQWxCQm1wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRBQ09RTUFJQWxCQjJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTRnQ09RTUFJQWxCQ0dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVBQ09RTUFJQWxCQ1dwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTVnQ09RTUFJQWxCQ21wQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZBQ09RTUFJQWxCQzJwQkEzUWdCbW9nQlVIQUFtd2dDbW9yQTZnQ09RTUFJQUpCQVdvaEFnc2dCVUVCYWlFRkRBRUxDeUFFUVFCSElRUWdBeWdDYUFSQUlBQWdDeUFISUFZZ0NDQU1FTDhDSWhJZ0FDQURRUWhxSWdJZ0J5QUdJQWdnQWhDL0FpSVRZeUVGSUFRRVFDQUZCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVTYW1abVptWm5wUHhDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VFQTBBZ0JFRURSd1JBUVFBaEJRTkFJQVZCQkVjRVFDQURRUWhxSUFSQkJYUnFJQVZCQTNScUlBUkJCWFFnREdvZ0JVRURkR29yQXdBNUF3QWdCVUVCYWlFRkRBRUxDeUFFUVFGcUlRUU1BUXNMQlNBVElSSUxJQkpFQUFBQUFBQUFORUJtQkVBZ0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0RCQ09BU0lTSUFBZ0FpQUhJQVlnQ0NBQ0VJNEJJaE5qQkVCQkFDRUVBMEFnQkVFRFJ3UkFRUUFoQlFOQUlBVkJCRWNFUUNBRFFRaHFJQVJCQlhScUlBVkJBM1JxSUFSQkJYUWdER29nQlVFRGRHb3JBd0E1QXdBZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xCU0FUSVJJTElCSkVBQUFBQUFBQU5FQm1CRUFnQUNnQ0FFU2FtWm1abVpuWlB4Q05BU0FBSUFzZ0J5QUdJQWdnREJDT0FTSVNJQUFnQWlBSElBWWdDQ0FDRUk0QkloTmpCRUJCQUNFRUEwQWdCRUVEUndSQVFRQWhCUU5BSUFWQkJFY0VRQ0FEUVFocUlBUkJCWFJxSUFWQkEzUnFJQVJCQlhRZ0RHb2dCVUVEZEdvckF3QTVBd0FnQlVFQmFpRUZEQUVMQ3lBRVFRRnFJUVFNQVFzTEJTQVRJUklMSUJKRUFBQUFBQUFBTkVCbUJFQWdBQ2dDQUVRQUFBQUFBQUFBQUJDTkFTQUFJQXNnQnlBR0lBZ2dEQkNPQVNJU0lBQWdBaUFISUFZZ0NDQUNFSTRCSWhOakJFQkJBQ0VBQTBBZ0FFRURSd1JBUVFBaEFnTkFJQUpCQkVjRVFDQURRUWhxSUFCQkJYUnFJQUpCQTNScUlBQkJCWFFnREdvZ0FrRURkR29yQXdBNUF3QWdBa0VCYWlFQ0RBRUxDeUFBUVFGcUlRQU1BUXNMQlNBVElSSUxDd3NMQ3dVZ0JRUkFRUUFoQUFOQUlBQkJBMGNFUUVFQUlRSURRQ0FDUVFSSEJFQWdBMEVJYWlBQVFRVjBhaUFDUVFOMGFpQUFRUVYwSUF4cUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQ3dVZ0V5RVNDd3NGSUFRZ0FDQUxJQWNnQmlBSUlBTkJDR29pQWhDL0FpSVNSQUFBQUFBQUFEUkFabkVFUUNBQUtBSUFSSnFabVptWm1lay9FSTBCSUFBZ0N5QUhJQVlnQ0NBQ0VJNEJJaEpFQUFBQUFBQUFORUJtQkh3Z0FDZ0NBRVF6TXpNek16UGpQeENOQVNBQUlBc2dCeUFHSUFnZ0FoQ09BU0lTUkFBQUFBQUFBRFJBWmdSOElBQW9BZ0JFbXBtWm1abVoyVDhRalFFZ0FDQUxJQWNnQmlBSUlBSVFqZ0VpRWtRQUFBQUFBQUEwUUdZRWZDQUFLQUlBUkFBQUFBQUFBQUFBRUkwQklBQWdDeUFISUFZZ0NDQUNFSTRCQlNBU0N3VWdFZ3NGSUJJTElSSUxDeUFHRURnZ0J4QTRBa0FnRWtRQUFBQUFBQUEwUUdNRVFDQURRUUUyQW1nTUFRc2dBMEVBTmdKb0lBTW9BZ1FoQWtFQUlRQURRQ0FBSUFKT0RRRWdBeWdDQUNBQVFjQUNiR29vQXJBQ0lnUkJBRTRFUUNBRVFRaDBJQUZxSWdRb0F1d0JSUVJBSUFSQkNEWUM3QUVMQ3lBQVFRRnFJUUFNQUFBTEFBc01BUXNnQTBFQU5nSm9DeUFMSkFZTHlRd0NFSDhSZkNNR0lRWWpCa0dBQVdva0JpQUdRZmdBYWlFT0lBWkI4QUJxSVE4Z0JrSG9BR29oRUNBR1FlQUFhaUVSSUFaQjJBQnFJUklnQmtIUUFHb2hDQ0FHUWNnQWFpRUpJQU5CQkVnRWYwRi9CUUovQTBBZ0JTQURTQVJBSUFWQkFXb2hFMEYvSUFWQkdHd2dBbW9yQXhCRUFBQUFBQUFBQUFCaURRSWFJQk1oQlF3QkN3c2dBQ3NEQUVRQUFBQUFBQUFBQUdFRWYwRi9CU0FBS3dNZ1JBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckF5aEVBQUFBQUFBQUFBQmhCSDlCZndVZ0FFRkFheXNEQUVRQUFBQUFBQUFBQUdJRWYwRi9CU0FBS3dOSVJBQUFBQUFBQUFBQVlnUi9RWDhGSUFBckExQkVBQUFBQUFBQThEOWlCSDlCZndVZ0FDc0RHRVFBQUFBQUFBQUFBR0lFZjBGL0JTQUFLd000UkFBQUFBQUFBQUFBWWdSL1FYOEZJQUFyQTFoRUFBQUFBQUFBQUFCaUJIOUJmd1VnQTBFQmRDSUZRUWdRaXdFaUNrVUVRRUVBUVFOQjlhd0JJQWtRUFVGL0RBb0xJQVZCQVJDTEFTSUpSUVJBSUFvUVNVRUFRUU5CajYwQklBZ1FQVUYvREFvTFFRQWhDQU5BSUFNZ0NFY0VRQ0FLS0FJQUlnY2dDRUVFZENJRlFRTjBhaUFJUVJoc0lBSnFJZ3NyQXdBNUF3QWdCVUVCY2tFRGRDQUhhaUFJUVJoc0lBSnFJZ3dyQXdnNUF3QWdCVUVDY2tFRGRDQUhha1FBQUFBQUFBRHdQemtEQUNBRlFRTnlRUU4wSUFkcVJBQUFBQUFBQUFBQU9RTUFJQVZCQkhKQkEzUWdCMnBFQUFBQUFBQUFBQUE1QXdBZ0JVRUZja0VEZENBSGFrUUFBQUFBQUFBQUFEa0RBQ0FGUVFaeVFRTjBJQWRxSUFzckF3QWdDRUVFZENBQmFpSU5Ld01Bb3BvNUF3QWdCVUVIY2tFRGRDQUhhaUFNS3dNSUlBMHJBd0NpbWprREFDQUZRUWh5UVFOMElBZHFSQUFBQUFBQUFBQUFPUU1BSUFWQkNYSkJBM1FnQjJwRUFBQUFBQUFBQUFBNUF3QWdCVUVLY2tFRGRDQUhha1FBQUFBQUFBQUFBRGtEQUNBRlFRdHlRUU4wSUFkcUlBc3JBd0E1QXdBZ0JVRU1ja0VEZENBSGFpQU1Ld01JT1FNQUlBVkJEWEpCQTNRZ0IycEVBQUFBQUFBQThEODVBd0FnQlVFT2NrRURkQ0FIYWlBTEt3TUFJQWhCQkhRZ0FXb2lDeXNEQ0tLYU9RTUFJQVZCRDNKQkEzUWdCMm9nRENzRENDQUxLd01Jb3BvNUF3QWdDU2dDQUNJSElBaEJBWFFpQlVFRGRHb2dEU3NEQURrREFDQUZRUUZ5UVFOMElBZHFJQXNyQXdnNUF3QWdDRUVCYWlFSURBRUxDeUFLRUtBRElnRkZCRUFnQ2hCSklBa1FTVUVBUVFOQnFhMEJJQklRUFVGL0RBb0xJQUVnQ2hEWkFTSURSUVJBSUFvUVNTQUpFRWtnQVJCSlFRQkJBMEhEclFFZ0VSQTlRWDhNQ2dzZ0FTQUpFTmtCSWdWRkJFQWdDaEJKSUFrUVNTQUJFRWtnQXhCSlFRQkJBMEhkclFFZ0VCQTlRWDhNQ2dzZ0F4RFdBVUVBU0FSQUlBb1FTU0FKRUVrZ0FSQkpJQU1RU1NBRkVFbEJBRUVEUWZldEFTQVBFRDFCZnd3S0N5QURJQVVRMlFFaUJ3Ui9JQWNvQWdBaUFpc0RNQ0VXSUFJckF3QWdGaUFBS3dNUUloMmlvU0FDS3dNWUlCWWdBQ3NETUNJYm9xRWdBQ3NES0NJY295SVpJQUFyQXdnaUhxS2hJQUFyQXdBaUg2TWhHQ0FDS3dNZ0lCc2dBaXNET0NJVm9xRWdIS01oRnlBQ0t3TUlJQjBnRmFLaElCNGdGNktoSUIraklSb2dBaXNES0NBYm9TQWNveUViSUFJckF4QWhKQ0FLRUVrZ0NSQkpJQUVRU1NBREVFa2dCUkJKSUFjUVNTQUdJQmdnRmlBV29pQVpJQm1pSUJnZ0dLS2dvSjhpR0tNNUF3QWdCaUFaSUJpak9RTUlJQVlnRmlBWW96a0RFQ0FHSUJvZ0ZTQVZvaUFYSUJlaUlCb2dHcUtnb0o4aUZxTTVBeGdnQmlBWElCYWpPUU1nSUFZZ0ZTQVdvemtES0NBR0VQSUpJQVlyQXdnaUdTQUdLd01vSWhxaUlBWXJBeEFpSENBR0t3TWdJaUNpb1NFVklCd2dCaXNER0NJaG9pQWFJQVlyQXdBaUlxS2hJUmNnQmlBVklDQWdJcUlnR1NBaG9xRWlJeUFqb2lBVklCV2lJQmNnRjZLZ29KOGlGYU1pSlRrRE1DQUdJQmNnRmFNaUZ6a0RPQ0FHUVVCcklDTWdGYU1pRlRrREFDQUVJQ0k1QXdBZ0JDQVpPUU1nSUFSQlFHc2dIRGtEQUNBRUlDRTVBd2dnQkNBZ09RTW9JQVFnR2prRFNDQUVJQ1U1QXhBZ0JDQVhPUU13SUFRZ0ZUa0RVQ0FFSUNRZ0hhRWdIaUFib3FFZ0g2TWdHQ0FXb0VRQUFBQUFBQURnUDZJaUZxTTVBeGdnQkNBYklCYWpPUU00SUFSRUFBQUFBQUFBOEQ4Z0ZxTTVBMWhCQUFVZ0NoQkpJQWtRU1NBQkVFa2dBeEJKSUFVUVNVRUFRUU5Ca2E0QklBNFFQVUYvQ3dzTEN3c0xDd3NMQ3dzTElSUWdCaVFHSUJRTEVnQWdBRUdzb2dFMkFnQWdBRUVRYWhCSEN4SUFJQUJCaEtJQk5nSUFJQUJCREdvUVJ3c2pBUUYvSUFCQjBLRUJOZ0lBSUFBb0FnZ2lBUVJBSUFBc0FBd0VRQ0FCRURnTEN3dDlBUVIvSUFCQnZLRUJOZ0lBSUFCQkNHb2hBd05BSUFJZ0FDZ0NEQ0FES0FJQUlnRnJRUUoxU1FSQUlBSkJBblFnQVdvb0FnQWlBUVJBSUFFZ0FTZ0NCQ0lFUVg5cU5nSUVJQVJGQkVBZ0FTQUJLQUlBS0FJSVFmOEJjVUdzQTJvUkFRQUxDeUFDUVFGcUlRSU1BUXNMSUFCQmtBRnFFRWNnQXhDUENndlVDZ0lQZndSOEl3WWhDeU1HUWNBQmFpUUdJQXRCdUFGcUlRZ2dDMEd3QVdvaERpQUxRYWdCYWlFS0lBdEJvQUZxSVFVZ0MwR1FBV29oRHlBTFFUQnFJUkFnQVNnQ0NDSUpRUVJJQkg5QmZ3VUNmd0ovSUFBckE0QUJJQW0zb2hCeklSRWdDVUhnQUd3UVJDSUdSUVJBUVFCQkEwSEsyQUlnQlJBOVFYOE1BZ3NnQ1VFRWRCQkVJZ2RGQkVCQkFFRURRY3JZQWlBS0VEMGdCaEE0UVg4TUFnc2dDVUVEZENJRkVFUWlDVVVFUUVFQVFRTkJ5dGdDSUE0UVBTQUdFRGdnQnhBNFFYOE1BZ3NnQlJCRUlnMUZCRUJCQUVFRFFjcllBaUFJRUQwZ0JoQTRJQWNRT0NBSkVEaEJmd3dDQ3lBUlFYOXFJZ1VMUVFNZ0JVRURTaHNoRWtFQUlRb0RRQ0FLUVFOSEJFQkJBQ0VNQTBBZ0RFRUVSd1JBSUFwQkJYUWdBMm9nREVFRGRHb2dDa0VGZENBQ2FpQU1RUU4wYWlzREFEa0RBQ0FNUVFGcUlRd01BUXNMSUFwQkFXb2hDZ3dCQ3dzZ0VrRURkQ0FOYWlFTVFRQWhDZ0pBQWtBQ1FBSkFBMEFDUUNBQUlBTWdFQkN6QWtFQUlRVURRQ0FGSUFFb0FnZ2lBa2dFUUNBUElCQWdBU2dDQkNBRlFSaHNhaEM3QkVFQVNBMENJQUVvQWdBaUFpQUZRUVIwYWlzREFDQVBLd01Bb1NFV0lBVkJCSFFnQW1vckF3Z2dEeXNEQ0tFaEZDQUZRUUYwSWdKQkEzUWdCMm9nRmprREFDQUNRUUZ5UVFOMElBZHFJQlE1QXdBZ0JVRURkQ0FOYWlBV0lCYWlJQlFnRktLZ0loUTVBd0FnQlVFRGRDQUphaUFVT1FNQUlBVkJBV29oQlF3QkN3c2dEU0FDUVFoQkVoQ0NBeUFCS0FJSUlRSkVBQUFBQUFBQU1FQWdEQ3NEQUVRQUFBQUFBQUFRUUtJaUZDQVVSQUFBQUFBQUFEQkFZeHNpRjBRQUFBQUFBQUFZUUtNaEZrUUFBQUFBQUFBQUFDRVVRUUFoQlFOQUlBVWdBa2dFUUNBVUlBVkJBM1FnRFdvckF3QWlGQ0FYWkFSOElCWUZJQlpFQUFBQUFBQUE4RDlFQUFBQUFBQUE4RDhnRkNBWG82RWlGQ0FVSUJTaW9xR2lDNkFoRkNBRlFRRnFJUVVNQVFzTElCUWdBcmVqSWhRZ0FDc0RhR01OQlNBS0JFQWdGQ0FBS3dONFl3UkFJQlFnRmFNZ0FDc0RjR1FOQndzTElBb2dBQ2dDWUVZTkJVRUFJUVZCQUNFT0EwQWdEaUFDU0FSQUlBNUJBM1FnQ1dvckF3QWlGU0FYWlFSQUlBVkJCbXdpQ0VFRGRDQUdhaUlDSUFBZ0F5QUJLQUlFSUE1QkdHeHFFTGtFUVFCSURRVWdBa1FBQUFBQUFBRHdQeUFWSUJlam9TSVZJQldpSWhVZ0Fpc0RBS0k1QXdBZ0NFRUJja0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFQ2FrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVEYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUVha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFRmFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVHYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUhha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFSWFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdDRUVKYWtFRGRDQUdhaUlDSUJVZ0Fpc0RBS0k1QXdBZ0NFRUtha0VEZENBR2FpSUNJQlVnQWlzREFLSTVBd0FnQ0VFTGFrRURkQ0FHYWlJQ0lCVWdBaXNEQUtJNUF3QWdCVUVEZENBSGFpQVZJQTVCQVhRaUFrRURkQ0FIYWlzREFLSTVBd0FnQlVFQmFrRURkQ0FIYWlBVklBSkJBWEpCQTNRZ0Iyb3JBd0NpT1FNQUlBVkJBbW9oQlNBQktBSUlJUUlMSUE1QkFXb2hEZ3dCQ3dzZ0JVRUdTQTBESUFzZ0J5QUdJQVVRc3dSQkFFZ05CQ0FESUFzUXNnUWdGQ0VWSUFwQkFXb2hDZ3dCQ3dzZ0JpQUhJQWtnRFJDUEFrRi9EQVFMSUFZZ0J5QUpJQTBRandKQmZ3d0RDeUFHSUFjZ0NTQU5FSThDUVg4TUFnc2dCaUFISUFrZ0RSQ1BBa0YvREFFTElBUWdGRGtEQUNBR0VEZ2dCeEE0SUFrUU9DQU5FRGhCQUFzTElSTWdDeVFHSUJNTEhnQWdBRUdNb1FFMkFnQWdBQ2dDQ0JCY1J3UkFJQUFvQWdnUWh3TUxDeElBSUFRZ0FqWUNBQ0FISUFVMkFnQkJBd3NFQUVFRUN4VUFJQUVvQWdBZ0FTQUJMQUFMUVFCSUd4cEJmd3YrQ0FFTWZ5QUNJQUEyQWdBZ0RVRUVhaUVZSUFOQmdBUnhSU0VaSUE1QkFFb2hHZ05BSUJkQkJFY0VRQUpBQWtBQ1FBSkFBa0FDUUNBSUlCZHFMQUFBRGdVQUFRTUNCQVVMSUFFZ0FpZ0NBRFlDQUF3RUN5QUJJQUlvQWdBMkFnQWdCaWdDQUNnQ0xDRVBJQVpCSUNBUFFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxTmdJQUlBOGdFRFlDQUF3REN5QU5MQUFMSWc5QkFFZ2hFQ0FZS0FJQUlBOUIvd0Z4SUJBYkJFQWdEU2dDQUNBTklCQWJLQUlBSVJBZ0FpQUNLQUlBSWc5QkJHbzJBZ0FnRHlBUU5nSUFDd3dDQ3lBTUxBQUxJZzlCQUVnaEVDQVpJQXdvQWdRZ0QwSC9BWEVnRUJzaUUwVnlSUVJBSUF3b0FnQWdEQ0FRR3lJUElCTkJBblJxSVJFZ0FpZ0NBQ0lRSVJJRFFDQVBJQkZIQkVBZ0VpQVBLQUlBTmdJQUlCSkJCR29oRWlBUFFRUnFJUThNQVFzTElBSWdFMEVDZENBUWFqWUNBQXNNQVFzZ0FpZ0NBQ0VVSUFSQkJHb2dCQ0FIR3lJV0lRUURRQUpBSUFRZ0JVOE5BQ0FHS0FJQUtBSU1JUThnQmtHQUVDQUVLQUlBSUE5QlAzRkJ5Z0ZxRVFRQVJRMEFJQVJCQkdvaEJBd0JDd3NnR2dSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJaTGNRUkFJQVJCZkdvaUJDZ0NBQ0VSSUFJZ0FpZ0NBQ0lRUVFScU5nSUFJQkFnRVRZQ0FDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUlzSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVRJQThoRVNBQ0tBSUFJUkFEUUNBUVFRUnFJUThnRVVFQVNnUkFJQkFnRXpZQ0FDQVJRWDlxSVJFZ0R5RVFEQUVMQ3lBQ0lBODJBZ0FnRUNBSk5nSUFDeUFFSUJaR0JFQWdCaWdDQUNnQ0xDRUVJQVpCTUNBRVFUOXhRWW9CYWhFQ0FDRVFJQUlnQWlnQ0FDSVBRUVJxSWdRMkFnQWdEeUFRTmdJQUJTQUxMQUFMSWc5QkFFZ2hFQ0FMS0FJRUlBOUIvd0Z4SUJBYkJIOGdDeWdDQUNBTElCQWJMQUFBQlVGL0N5RVBRUUFoRUVFQUlSSWdCQ0VSQTBBZ0VTQVdSd1JBSUFJb0FnQWhGU0FQSUJKR0JIOGdBaUFWUVFScUloTTJBZ0FnRlNBS05nSUFJQXNzQUFzaUQwRUFTQ0VWSUJCQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJVYlNRUkFRWDhnQkNBTEtBSUFJQXNnRlJ0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJJaER3dEJBQ0VTSUJNRklCQWhCQ0FWQ3lFUUlCRkJmR29pRVNnQ0FDRVRJQUlnRUVFRWFqWUNBQ0FRSUJNMkFnQWdCQ0VRSUJKQkFXb2hFZ3dCQ3dzZ0FpZ0NBQ0VFQ3lBRUlCUkdCSDhnRmdVRFFDQVVJQVJCZkdvaUJFa0VRQ0FVS0FJQUlROGdGQ0FFS0FJQU5nSUFJQVFnRHpZQ0FDQVVRUVJxSVJRTUFRVWdGaUVFREFNTEFBQUxBQXNoQkFzZ0YwRUJhaUVYREFFTEN5QU5MQUFMSWdSQkFFZ2hCeUFZS0FJQUlBUkIvd0Z4SUFjYklnWkJBVXNFUUNBTktBSUFJZ1ZCQkdvZ0dDQUhHeUVFSUFaQkFuUWdCU0FOSUFjYmFpSUhJQVJySVFZZ0FpZ0NBQ0lGSVFnRFFDQUVJQWRIQkVBZ0NDQUVLQUlBTmdJQUlBaEJCR29oQ0NBRVFRUnFJUVFNQVFzTElBSWdCa0VDZGtFQ2RDQUZhallDQUFzQ1FDQURRYkFCY1VFWWRFRVlkVUVRYXlJRFJRMEFJQU5CRUVZRVFDQUJJQUlvQWdBMkFnQU1BUXNnQVNBQU5nSUFDd3ZaQlFFRmZ5TUdJUW9qQmtFUWFpUUdJQXBCREdvaEN5QUtJQUFFZnlBQ1FmalBBeEE2QlNBQ1FmRFBBeEE2Q3lJQUlBRUVmeUFMSUFBZ0FDZ0NBQ2dDTEVFL2NVR3lCV29SQXdBZ0F5QUxLQUlBTmdBQUlBQW9BZ0FvQWlBRklBc2dBQ0FBS0FJQUtBSW9RVDl4UWJJRmFoRURBQ0FESUFzb0FnQTJBQUFnQUNnQ0FDZ0NIQXRCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdDbXBCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQW9RUnlBRUlBQWdBQ2dDQUNnQ0RFSC9BSEZCQ0dvUkFBQTJBZ0FnQlNBQUlBQW9BZ0FvQWhCQi93QnhRUWhxRVFBQU5nSUFJQW9nQUNBQUtBSUFLQUlVUVQ5eFFiSUZhaEVEQUNBR0xBQUxRUUJJQkVBQ2Z5QUdLQUlBSVEwZ0MwRUFPZ0FBSUEwTElBc1FYeUFHUVFBMkFnUWdCaXdBQzBFQVNBUkFJQVlvQWdnYUlBWW9BZ0FRT0NBR1FRQTJBZ2dMQlNBTFFRQTZBQUFnQmlBTEVGOGdCa0VBT2dBTEN5QUdJQW9wQWdBM0FnQWdCaUFLS0FJSU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQXBxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFLRUVjZ0NpQUFJQUFvQWdBb0FoaEJQM0ZCc2dWcUVRTUFJQWNzQUF0QkFFZ0VRQUovSUFjb0FnQWhEaUFMUVFBMkFnQWdEZ3NnQ3hCdUlBZEJBRFlDQkNBSExBQUxRUUJJQkVBZ0J5Z0NDQm9nQnlnQ0FCQTRJQWRCQURZQ0NBc0ZJQXRCQURZQ0FDQUhJQXNRYmlBSFFRQTZBQXNMSUFjZ0Npa0NBRGNDQUNBSElBb29BZ2cyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0NtcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBb1FSeUFKSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBMkFnQWdDaVFHQzdZSUFRcC9JQUlnQURZQ0FDQURRWUFFY1VVaEZ5QU9RUUJLSVJnRFFDQVZRUVJIQkVBQ1FBSkFBa0FDUUFKQUFrQWdDQ0FWYWl3QUFBNEZBQUVEQWdRRkN5QUJJQUlvQWdBMkFnQU1CQXNnQVNBQ0tBSUFOZ0lBSUFZb0FnQW9BaHdoRHlBR1FTQWdEMEUvY1VHS0FXb1JBZ0FoRUNBQ0lBSW9BZ0FpRDBFQmFqWUNBQ0FQSUJBNkFBQU1Bd3NnRFN3QUN5SVBRUUJJSVJBZ0RTZ0NCQ0FQUWY4QmNTQVFHd1JBSUEwb0FnQWdEU0FRR3l3QUFDRVFJQUlnQWlnQ0FDSVBRUUZxTmdJQUlBOGdFRG9BQUFzTUFnc2dEQ3dBQ3lJUFFRQklJUkFnRnlBTUtBSUVJQTlCL3dGeElCQWJJZzlGY2tVRVFDQVBJQXdvQWdBZ0RDQVFHeUlQYWlFUUlBSW9BZ0FoRVFOQUlBOGdFRWNFUUNBUklBOHNBQUE2QUFBZ0VVRUJhaUVSSUE5QkFXb2hEd3dCQ3dzZ0FpQVJOZ0lBQ3d3QkN5QUNLQUlBSVJJZ0JFRUJhaUFFSUFjYkloTWhCQU5BQWtBZ0JDQUZUdzBBSUFRc0FBQWlEMEYvVEEwQUlBWW9BZ2dnRDBFQmRHb3VBUUJCZ0JCeFJRMEFJQVJCQVdvaEJBd0JDd3NnR0FSQUlBNGhEd05BSUE5QkFFb2lFQ0FFSUJOTGNRUkFJQVJCZjJvaUJDd0FBQ0VSSUFJZ0FpZ0NBQ0lRUVFGcU5nSUFJQkFnRVRvQUFDQVBRWDlxSVE4TUFRc0xJQkFFZnlBR0tBSUFLQUljSVJBZ0JrRXdJQkJCUDNGQmlnRnFFUUlBQlVFQUN5RVJBMEFnQWlBQ0tBSUFJaEJCQVdvMkFnQWdEMEVBU2dSQUlCQWdFVG9BQUNBUFFYOXFJUThNQVFzTElCQWdDVG9BQUFzZ0JDQVRSZ1JBSUFZb0FnQW9BaHdoQkNBR1FUQWdCRUUvY1VHS0FXb1JBZ0FoRHlBQ0lBSW9BZ0FpQkVFQmFqWUNBQ0FFSUE4NkFBQUZBa0FnQ3l3QUN5SVBRUUJJSVJBZ0N5Z0NCQ0FQUWY4QmNTQVFHd1IvSUFzb0FnQWdDeUFRR3l3QUFBVkJmd3NoRDBFQUlSRkJBQ0VVSUFRaEVBTkFJQkFnRTBZTkFTQVBJQlJHQkVBZ0FpQUNLQUlBSWdSQkFXbzJBZ0FnQkNBS09nQUFJQXNzQUFzaUQwRUFTQ0VXSUJGQkFXb2lCQ0FMS0FJRUlBOUIvd0Z4SUJZYlNRUkFRWDhnQkNBTEtBSUFJQXNnRmh0cUxBQUFJZzhnRDBIL0FFWWJJUThGSUJRaER3dEJBQ0VVQlNBUklRUUxJQkJCZjJvaUVDd0FBQ0VXSUFJZ0FpZ0NBQ0lSUVFGcU5nSUFJQkVnRmpvQUFDQUVJUkVnRkVFQmFpRVVEQUFBQ3dBTEN5QUNLQUlBSWdRZ0VrWUVmeUFUQlFOQUlCSWdCRUYvYWlJRVNRUkFJQklzQUFBaER5QVNJQVFzQUFBNkFBQWdCQ0FQT2dBQUlCSkJBV29oRWd3QkJTQVRJUVFNQXdzQUFBc0FDeUVFQ3lBVlFRRnFJUlVNQVFzTElBMHNBQXNpQkVFQVNDRUdJQTBvQWdRZ0JFSC9BWEVnQmhzaUJVRUJTd1JBSUEwb0FnQWdEU0FHR3lJRUlBVnFJUVVnQWlnQ0FDRUdBMEFnQlNBRVFRRnFJZ1JIQkVBZ0JpQUVMQUFBT2dBQUlBWkJBV29oQmd3QkN3c2dBaUFHTmdJQUN3SkFJQU5Cc0FGeFFSaDBRUmgxUVJCcklnTkZEUUFnQTBFUVJnUkFJQUVnQWlnQ0FEWUNBQXdCQ3lBQklBQTJBZ0FMQzlrRkFRVi9Jd1loQ2lNR1FSQnFKQVlnQ2tFTWFpRUxJQW9nQUFSL0lBSkI2TThERURvRklBSkI0TThERURvTElnQWdBUVIvSUFzZ0FDQUFLQUlBS0FJc1FUOXhRYklGYWhFREFDQURJQXNvQWdBMkFBQWdBQ2dDQUNnQ0lBVWdDeUFBSUFBb0FnQW9BaWhCUDNGQnNnVnFFUU1BSUFNZ0N5Z0NBRFlBQUNBQUtBSUFLQUljQzBFL2NVR3lCV29SQXdBZ0NDd0FDMEVBU0FSQUFuOGdDQ2dDQUNFTUlBdEJBRG9BQUNBTUN5QUxFRjhnQ0VFQU5nSUVJQWdzQUF0QkFFZ0VRQ0FJS0FJSUdpQUlLQUlBRURnZ0NFRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFnZ0N4QmZJQWhCQURvQUN3c2dDQ0FLS1FJQU53SUFJQWdnQ2lnQ0NEWUNDRUVBSVFFRFFDQUJRUU5IQkVBZ0FVRUNkQ0FLYWtFQU5nSUFJQUZCQVdvaEFRd0JDd3NnQ2hCSElBUWdBQ0FBS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRklBQWdBQ2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQUlBQW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUxRUUE2QUFBZ0RRc2dDeEJmSUFaQkFEWUNCQ0FHTEFBTFFRQklCRUFnQmlnQ0NCb2dCaWdDQUJBNElBWkJBRFlDQ0FzRklBdEJBRG9BQUNBR0lBc1FYeUFHUVFBNkFBc0xJQVlnQ2lrQ0FEY0NBQ0FHSUFvb0FnZzJBZ2hCQUNFQ0EwQWdBa0VEUndSQUlBSkJBblFnQ21wQkFEWUNBQ0FDUVFGcUlRSU1BUXNMSUFvUVJ5QUtJQUFnQUNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQnl3QUMwRUFTQVJBQW44Z0J5Z0NBQ0VPSUF0QkFEb0FBQ0FPQ3lBTEVGOGdCMEVBTmdJRUlBY3NBQXRCQUVnRVFDQUhLQUlJR2lBSEtBSUFFRGdnQjBFQU5nSUlDd1VnQzBFQU9nQUFJQWNnQ3hCZklBZEJBRG9BQ3dzZ0J5QUtLUUlBTndJQUlBY2dDaWdDQ0RZQ0NFRUFJUUVEUUNBQlFRTkhCRUFnQVVFQ2RDQUtha0VBTmdJQUlBRkJBV29oQVF3QkN3c2dDaEJISUFrZ0FDQUFLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTHRTTUJHMzhqQmlFUEl3WkJnQVJxSkFZZ0QwSDBBMm9oR1NBUFFkZ0RhaUVmSUE5QjFBTnFJU0FnRDBHOEEyb2hEQ0FQUWJBRGFpRU5JQTlCcEFOcUlRNGdEMEdZQTJvaEVTQVBRWlFEYWlFWElBOUJrQU5xSVJ3Z0QwSHdBMm9pR2lBS05nSUFJQTlCNkFOcUloUWdEellDQUNBVVFaRUJOZ0lFSUE5QjRBTnFJaElnRHpZQ0FDQVBRZHdEYWlJYklBOUJrQU5xTmdJQUlBOUJ5QU5xSWhaQ0FEY0NBQ0FXUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdGbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQXhDQURjQ0FDQU1RUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0RHcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBMUNBRGNDQUNBTlFRQTJBZ2hCQUNFS0EwQWdDa0VEUndSQUlBcEJBblFnRFdwQkFEWUNBQ0FLUVFGcUlRb01BUXNMSUE1Q0FEY0NBQ0FPUVFBMkFnaEJBQ0VLQTBBZ0NrRURSd1JBSUFwQkFuUWdEbXBCQURZQ0FDQUtRUUZxSVFvTUFRc0xJQkZDQURjQ0FDQVJRUUEyQWdoQkFDRUtBMEFnQ2tFRFJ3UkFJQXBCQW5RZ0VXcEJBRFlDQUNBS1FRRnFJUW9NQVFzTElBSWdBeUFaSUI4Z0lDQVdJQXdnRFNBT0lCY1Fxd29nQ1NBSUtBSUFOZ0lBSUFSQmdBUnhRUUJISVNGQkFDRUNBbjhDUUFKQUFrQUNRQUpBQWtBRFFBSkFJQk5CQkU4TkJ5QUFLQUlBSWdNRWZ5QURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFREFrQUNRQ0FCS0FJQUlndEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUW9MREFFTElBTU5DRUVBSVFzTEFrQUNRQUpBQWtBQ1FBSkFBa0FnRXlBWmFpd0FBQTRGQVFBREFnUUdDeUFUUVFOSEJFQWdCMEdBd0FBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5CeUFSSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJb1FmOEFjVUVJYWhFQUFBVWdBeUFFUVFScU5nSU1JQVFvQWdBTEVJNENEQVVMREFVTElCTkJBMGNOQXd3RUN5QU5LQUlFSUEwc0FBc2lBMEgvQVhFZ0EwRUFTQnNpQzBFQUlBNG9BZ1FnRGl3QUN5SURRZjhCY1NBRFFRQklHeUlRYTBjRVFDQUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJpRUtJQXRGSWdzZ0VFVnlCRUFnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElRTWdDd1JBSUE0b0FnQWdEaUFPTEFBTFFRQklHeWdDQUNBRFJ3MEdJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0JrRUJPZ0FBSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CZ3NnRFNnQ0FDQU5JQTBzQUF0QkFFZ2JLQUlBSUFOSEJFQWdCa0VCT2dBQURBWUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdCRUFnQXlBREtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBTWdCRUVFYWpZQ0RDQUVLQUlBR2dzZ0RTQUNJQTBvQWdRZ0RTd0FDeUlDUWY4QmNTQUNRUUJJRzBFQlN4c2hBZ3dGQ3dKL0lBb0VmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDeUVrSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0pDQU5LQUlBSUEwZ0RTd0FDMEVBU0Jzb0FnQkdDd1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRUnFOZ0lNSUFRb0FnQWFDeUFOSUFJZ0RTZ0NCQ0FOTEFBTElnSkIvd0Z4SUFKQkFFZ2JRUUZMR3lFQ0RBVUxJQW9FZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQ3lBT0tBSUFJQTRnRGl3QUMwRUFTQnNvQWdCSERRY2dBQ2dDQUNJREtBSU1JZ1FnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUVRUVJxTmdJTUlBUW9BZ0FhQ3lBR1FRRTZBQUFnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnc01Bd3NDUUFKQUlCTkJBa2tnQW5JRVFDQU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1nRXcwQkJTQVRRUUpHSUJrc0FBTkJBRWR4SUNGeVJRUkFRUUFoQWd3R0N5QU1LQUlBSWdRZ0RDQU1MQUFMSWdwQkFFZ2JJUU1NQVFzTUFRc2dHU0FUUVg5cWFpMEFBRUVDU0FSQUFrQUNRQU5BSUFNZ0RDZ0NCQ0FLUWY4QmNTQUtRUmgwUVJoMVFRQklJaEFiUVFKMElBUWdEQ0FRRzJwSEJFQWdCMEdBd0FBZ0F5Z0NBQ0FIS0FJQUtBSU1RVDl4UWNvQmFoRUVBRVVOQWlBRFFRUnFJUU1nREN3QUN5RUtJQXdvQWdBaEJBd0JDd3NNQVFzZ0RDd0FDeUVLSUF3b0FnQWhCQXNnRVN3QUN5SVlRUUJJSVJVZ0F5QUVJQXdnQ2tFWWRFRVlkVUVBU0JzaUhTSVFhMEVDZFNJaUlCRW9BZ1FpSGlBWVFmOEJjU0lZSUJVYlN3Ui9JQkFGSUJFb0FnQWdIa0VDZEdvaUhpQVlRUUowSUJGcUloZ2dGUnNoSTBFQUlDSnJRUUowSUI0Z0dDQVZHMm9oRlFOL0lCVWdJMFlOQXlBVktBSUFJQjBvQWdCR0JIOGdIVUVFYWlFZElCVkJCR29oRlF3QkJTQVFDd3NMSVFNTEN3TkFBa0FnQXlBTUtBSUVJQXBCL3dGeElBcEJHSFJCR0hWQkFFZ2lDaHRCQW5RZ0JDQU1JQW9iYWtZTkFDQUFLQUlBSWdRRWZ5QUVLQUlNSWdvZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUtLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRUFrQUNRQ0FMUlEwQUlBc29BZ3dpQ2lBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FFUlEwREN3d0JDeUFFRFFGQkFDRUxDeUFBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMSUFNb0FnQkhEUUFnQUNnQ0FDSUVLQUlNSWdvZ0JDZ0NFRVlFUUNBRUlBUW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdCQ0FLUVFScU5nSU1JQW9vQWdBYUN5QURRUVJxSVFNZ0RDd0FDeUVLSUF3b0FnQWhCQXdCQ3dzZ0lRUkFJQXdzQUFzaUNrRUFTQ0VFSUF3b0FnUWdDa0gvQVhFZ0JCdEJBblFnRENnQ0FDQU1JQVFiYWlBRFJ3MEhDd3dDQzBFQUlRUWdDeUVEQTBBQ1FDQUFLQUlBSWdvRWZ5QUtLQUlNSWhBZ0NpZ0NFRVlFZnlBS0lBb29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFS0FrQUNRQ0FMUlEwQUlBc29BZ3dpRUNBTEtBSVFSZ1IvSUFzZ0N5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FFRUFJUU1NQVFVZ0NrVU5Bd3NNQVFzZ0NnMEJRUUFoQ3dzZ0IwR0FFQ0FBS0FJQUlnb29BZ3dpRUNBS0tBSVFSZ1IvSUFvZ0NpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCQW9BZ0FMSWhBZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFBRWZ5QUpLQUlBSWdvZ0dpZ0NBRVlFUUNBSUlBa2dHaEROQVNBSktBSUFJUW9MSUFrZ0NrRUVhallDQUNBS0lCQTJBZ0FnQkVFQmFnVWdGaWdDQkNBV0xBQUxJZ3BCL3dGeElBcEJBRWdiUVFCSElBUkJBRWR4SUJBZ0lDZ0NBRVp4UlEwQklCSW9BZ0FpQ2lBYktBSUFSZ1JBSUJRZ0VpQWJFTTBCSUJJb0FnQWhDZ3NnRWlBS1FRUnFOZ0lBSUFvZ0JEWUNBRUVBQ3lFRUlBQW9BZ0FpQ2lnQ0RDSVFJQW9vQWhCR0JFQWdDaUFLS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFvZ0VFRUVhallDRENBUUtBSUFHZ3NNQVFzTElCSW9BZ0FpQ2lBVUtBSUFSeUFFUVFCSGNRUkFJQW9nR3lnQ0FFWUVRQ0FVSUJJZ0d4RE5BU0FTS0FJQUlRb0xJQklnQ2tFRWFqWUNBQ0FLSUFRMkFnQUxJQmNvQWdCQkFFb0VRQUpBSUFBb0FnQWlCQVIvSUFRb0Fnd2lDaUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUVFDUUFKQUlBTkZEUUFnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUXNMREFFTElBUU5DVUVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2dIeWdDQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJCR28yQWd3Z0NpZ0NBQm9MQTBBZ0Z5Z0NBRUVBVEEwQklBQW9BZ0FpQkFSL0lBUW9BZ3dpQ2lBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBb29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFRQ1FBSkFJQU5GRFFBZ0F5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFEwTERBRUxJQVFOQzBFQUlRTUxJQWRCZ0JBZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLS0FJQUN5QUhLQUlBS0FJTVFUOXhRY29CYWhFRUFFVU5DaUFKS0FJQUlCb29BZ0JHQkVBZ0NDQUpJQm9RelFFTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2lnQ0FBc2hCQ0FKSUFrb0FnQWlDa0VFYWpZQ0FDQUtJQVEyQWdBZ0Z5QVhLQUlBUVg5cU5nSUFJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCRUFnQkNBRUtBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBUWdDa0VFYWpZQ0RDQUtLQUlBR2dzTUFBQUxBQXNMSUFrb0FnQWdDQ2dDQUVZTkNBd0JDd05BSUFBb0FnQWlBd1IvSUFNb0Fnd2lCQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJTQUFLQUlBUlFzRlFRRUxJUU1DUUFKQUlBdEZEUUFnQ3lnQ0RDSUVJQXNvQWhCR0JIOGdDeUFMS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBTkZEUVFMREFFTElBTU5Ba0VBSVFzTElBZEJnTUFBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUFzZ0J5Z0NBQ2dDREVFL2NVSEtBV29SQkFCRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVFYWpZQ0RDQUVLQUlBQ3hDT0Fnd0FBQXNBQ3lBVFFRRnFJUk1NQVFzTElBVWdCU2dDQUVFRWNqWUNBRUVBREFZTElBVWdCU2dDQUVFRWNqWUNBRUVBREFVTElBVWdCU2dDQUVFRWNqWUNBRUVBREFRTElBVWdCU2dDQUVFRWNqWUNBRUVBREFNTElBVWdCU2dDQUVFRWNqWUNBRUVBREFJTElBVWdCU2dDQUVFRWNqWUNBRUVBREFFTElBSUVRQUpBSUFJaEJrRUJJUWNEUUFKQUlBY2dBaXdBQ3lJRFFRQklCSDhnQmlnQ0JBVWdBMEgvQVhFTFR3MENJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRUUNRQUpBSUFFb0FnQWlBMFVOQUNBREtBSU1JZ2dnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCRVVOQXdzTUFRc2dCQTBCQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTElBSXNBQXRCQUVnRWZ5QUNLQUlBQlNBQ0N5QUhRUUowYWlnQ0FFY05BQ0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1JBSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQURJQVJCQkdvMkFnd2dCQ2dDQUJvTElBZEJBV29oQnd3QkN3c2dCU0FGS0FJQVFRUnlOZ0lBUVFBTUFnc0xJQlFvQWdBaUFDQVNLQUlBSWdGR0JIOUJBUVVnSEVFQU5nSUFJQllnQUNBQklCd1FlQ0FjS0FJQUJIOGdCU0FGS0FJQVFRUnlOZ0lBUVFBRlFRRUxDd3NoSlNBUkVFY2dEaEJISUEwUVJ5QU1FRWNnRmhCSElCUW9BZ0FoQUNBVVFRQTJBZ0FnQUFSQUlBQWdGQ2dDQkVIL0FYRkJyQU5xRVFFQUN5QVBKQVlnSlF1c0FRRUZmeUFDS0FJQUlBQW9BZ0FpQXlJR2F5SUZRUUYwSWdSQkFTQUVHMEYvSUFWQi8vLy8vd2RKR3lFRklBRW9BZ0FoQnlBRFFRQWdBQ2dDQkVHUkFVY2lCQnNnQlJEb0FTSURSUVJBRUFBTElBUUVRQ0FBSUFNMkFnQUZJQUFvQWdBaEJDQUFJQU0yQWdBZ0JBUkFJQVFnQUNnQ0JFSC9BWEZCckFOcUVRRUFJQUFvQWdBaEF3c0xJQUJCa2dFMkFnUWdBU0FISUFacklBTnFOZ0lBSUFJZ0JTQUFLQUlBYWpZQ0FBdWNKQUVhZnlNR0lSQWpCa0dBQkdva0JpQVFRZkFEYWlFYUlCQkI3UU5xSVNBZ0VFSHNBMm9oSVNBUVFid0RhaUVOSUJCQnNBTnFJUTRnRUVHa0Eyb2hEeUFRUVpnRGFpRVJJQkJCbEFOcUlSY2dFRUdRQTJvaEhpQVFRZWdEYWlJYklBbzJBZ0FnRUVIZ0Eyb2lGU0FRTmdJQUlCVkJrUUUyQWdRZ0VFSFlBMm9pRXlBUU5nSUFJQkJCMUFOcUlod2dFRUdRQTJvMkFnQWdFRUhJQTJvaUZrSUFOd0lBSUJaQkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FXYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRFVJQU53SUFJQTFCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQU5ha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dEa0lBTndJQUlBNUJBRFlDQ0VFQUlRb0RRQ0FLUVFOSEJFQWdDa0VDZENBT2FrRUFOZ0lBSUFwQkFXb2hDZ3dCQ3dzZ0QwSUFOd0lBSUE5QkFEWUNDRUVBSVFvRFFDQUtRUU5IQkVBZ0NrRUNkQ0FQYWtFQU5nSUFJQXBCQVdvaENnd0JDd3NnRVVJQU53SUFJQkZCQURZQ0NFRUFJUW9EUUNBS1FRTkhCRUFnQ2tFQ2RDQVJha0VBTmdJQUlBcEJBV29oQ2d3QkN3c2dBaUFESUJvZ0lDQWhJQllnRFNBT0lBOGdGeEN2Q2lBSklBZ29BZ0EyQWdBZ0JFR0FCSEZCQUVjaElrRUFJUUlDZndKQUFrQUNRQUpBQWtBQ1FBTkFBa0FnRkVFRVR3MEhJQUFvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hBd0pBQWtBZ0FTZ0NBQ0lNUlEwQUlBd29BZ3dpQkNBTUtBSVFSZ1IvSUF3Z0RDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFORkRRb0xEQUVMSUFNTkNFRUFJUXdMQWtBQ1FBSkFBa0FDUUFKQUFrQWdGQ0FhYWl3QUFBNEZBUUFEQWdRR0N5QVVRUU5IQkVBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxJZ05CL3dGeFFSaDBRUmgxUVg5TURRY2dCeWdDQ0NBRFFSaDBRUmgxUVFGMGFpNEJBRUdBd0FCeFJRMEhJQkVnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUJTQURJQVJCQVdvMkFnd2dCQ3dBQUJCQ0MwSC9BWEVRekFFTUJRc01CUXNnRkVFRFJ3MEREQVFMSUE0b0FnUWdEaXdBQ3lJRFFmOEJjU0FEUVFCSUd5SUxRUUFnRHlnQ0JDQVBMQUFMSWdOQi93RnhJQU5CQUVnYklneHJSd1JBSUFBb0FnQWlBeWdDRENJRUlBTW9BaEJHSVFvZ0MwVWlDeUFNUlhJRVFDQUtCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDd0FBQkJDQzBIL0FYRWhBeUFMQkVBZ0R5Z0NBQ0FQSUE4c0FBdEJBRWdiTFFBQUlBTkhEUVlnQUNnQ0FDSURLQUlNSWdRZ0F5Z0NFRVlFUUNBRElBTW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBeUFFUVFGcU5nSU1JQVFzQUFBUVFob0xJQVpCQVRvQUFDQVBJQUlnRHlnQ0JDQVBMQUFMSWdKQi93RnhJQUpCQUVnYlFRRkxHeUVDREFZTElBNG9BZ0FnRGlBT0xBQUxRUUJJR3kwQUFDQURSd1JBSUFaQkFUb0FBQXdHQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSQUlBTWdBeWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FESUFSQkFXbzJBZ3dnQkN3QUFCQkNHZ3NnRGlBQ0lBNG9BZ1FnRGl3QUN5SUNRZjhCY1NBQ1FRQklHMEVCU3hzaEFnd0ZDeUFLQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0N5RUxJQUFvQWdBaUF5Z0NEQ0lFSUFNb0FoQkdJUW9nRGlnQ0FDQU9JQTRzQUF0QkFFZ2JMUUFBSUF0Qi93RnhSZ1JBSUFvRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUE0Z0FpQU9LQUlFSUE0c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSU1CUXNnQ2dSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEIvd0Z4SUE4b0FnQWdEeUFQTEFBTFFRQklHeTBBQUVjTkJ5QUFLQUlBSWdNb0Fnd2lCQ0FES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBUkJBV28yQWd3Z0JDd0FBQkJDR2dzZ0JrRUJPZ0FBSUE4Z0FpQVBLQUlFSUE4c0FBc2lBa0gvQVhFZ0FrRUFTQnRCQVVzYklRSUxEQU1MQWtBQ1FDQVVRUUpKSUFKeUJFQWdEU2dDQUNJS0lBMGdEU3dBQ3lJRFFRQklJZ3NiSWhnaEJDQVVEUUVGSUJSQkFrWWdHaXdBQTBFQVIzRWdJbkpGQkVCQkFDRUNEQVlMSUEwb0FnQWlDaUFOSUEwc0FBc2lBMEVBU0NJTEd5SVlJUVFNQVFzTUFRc2dHaUFVUVg5cWFpMEFBRUVDU0FSQUlBMG9BZ1FnQTBIL0FYRWdDeHNnR0dvaEVpQUVJUXNEUUFKQUlBc2dFa1lOQUNBTExBQUFJaDFCZjB3TkFDQUhLQUlJSUIxQkFYUnFMZ0VBUVlEQUFIRkZEUUFnQzBFQmFpRUxEQUVMQ3lBUkxBQUxJaGxCQUVnaEVpQUxJQVJySWgwZ0VTZ0NCQ0lmSUJsQi93RnhJaGtnRWh0TkJFQWdIeUFSS0FJQWFpSWZJQkVnR1dvaUdTQVNHeUVqSUI4Z0hXc2dHU0FkYXlBU0d5RVNBMEFnRWlBalJnUkFJQXNoQkF3RUN5QVNMQUFBSUJnc0FBQkdCRUFnR0VFQmFpRVlJQkpCQVdvaEVnd0JDd3NMQ3dzRFFBSkFJQVFnQ2lBTklBTkJHSFJCR0hWQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEdEUUFnQUNnQ0FDSURCSDhnQXlnQ0RDSUtJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVEQWtBQ1FDQU1SUTBBSUF3b0Fnd2lDaUFNS0FJUVJnUi9JQXdnRENnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQU5GRFFNTERBRUxJQU1OQVVFQUlRd0xJQUFvQWdBaUF5Z0NEQ0lLSUFNb0FoQkdCSDhnQXlBREtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdCQzBBQUVjTkFDQUFLQUlBSWdNb0Fnd2lDaUFES0FJUVJnUkFJQU1nQXlnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRElBcEJBV28yQWd3Z0Npd0FBQkJDR2dzZ0JFRUJhaUVFSUEwc0FBc2hBeUFOS0FJQUlRb01BUXNMSUNJRVFDQUVJQTBvQWdBZ0RTQU5MQUFMSWdOQkFFZ2lDaHNnRFNnQ0JDQURRZjhCY1NBS0cycEhEUWNMREFJTFFRQWhCQ0FNSVFNRFFBSkFJQUFvQWdBaUNnUi9JQW9vQWd3aUN5QUtLQUlRUmdSL0lBb2dDaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQXNzQUFBUVFndEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRklBQW9BZ0JGQ3dWQkFRc2hDZ0pBQWtBZ0RFVU5BQ0FNS0FJTUlnc2dEQ2dDRUVZRWZ5QU1JQXdvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FMTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUVFQUlRTU1BUVVnQ2tVTkF3c01BUXNnQ2cwQlFRQWhEQXNDZndKQUlBQW9BZ0FpQ2lnQ0RDSUxJQW9vQWhCR0JIOGdDaUFLS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ3l3QUFCQkNDeUlLUWY4QmNTSUxRUmgwUVJoMVFYOU1EUUFnQnlnQ0NDQUtRUmgwUVJoMVFRRjBhaTRCQUVHQUVIRkZEUUFnQ1NnQ0FDSUtJQnNvQWdCR0JFQWdDQ0FKSUJzUXB3UWdDU2dDQUNFS0N5QUpJQXBCQVdvMkFnQWdDaUFMT2dBQUlBUkJBV29NQVFzZ0ZpZ0NCQ0FXTEFBTElncEIvd0Z4SUFwQkFFZ2JRUUJISUFSQkFFZHhJQ0V0QUFBZ0MwWnhSUTBCSUJNb0FnQWlDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FFRUFDeUVFSUFBb0FnQWlDaWdDRENJTElBb29BaEJHQkVBZ0NpQUtLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQW9nQzBFQmFqWUNEQ0FMTEFBQUVFSWFDd3dCQ3dzZ0V5Z0NBQ0lLSUJVb0FnQkhJQVJCQUVkeEJFQWdDaUFjS0FJQVJnUkFJQlVnRXlBY0VNMEJJQk1vQWdBaENnc2dFeUFLUVFScU5nSUFJQW9nQkRZQ0FBc2dGeWdDQUVFQVNnUkFBa0FnQUNnQ0FDSUVCSDhnQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVFQWtBQ1FDQURSUTBBSUFNb0Fnd2lDaUFES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFvc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFzTERBRUxJQVFOQ1VFQUlRTUxJQUFvQWdBaUJDZ0NEQ0lLSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Npd0FBQkJDQzBIL0FYRWdJQzBBQUVjTkNDQUFLQUlBSWdRb0Fnd2lDaUFFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBcEJBV28yQWd3Z0Npd0FBQkJDR2dzRFFDQVhLQUlBUVFCTURRRWdBQ2dDQUNJRUJIOGdCQ2dDRENJS0lBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDaXdBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFVZ0FDZ0NBRVVMQlVFQkN5RUVBa0FDUUNBRFJRMEFJQU1vQWd3aUNpQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQW9zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBUkZEUTBMREFFTElBUU5DMEVBSVFNTElBQW9BZ0FpQkNnQ0RDSUtJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQ2l3QUFCQkNDeUlFUWY4QmNVRVlkRUVZZFVGL1RBMEtJQWNvQWdnZ0JFRVlkRUVZZFVFQmRHb3VBUUJCZ0JCeFJRMEtJQWtvQWdBZ0d5Z0NBRVlFUUNBSUlBa2dHeENuQkFzZ0FDZ0NBQ0lFS0FJTUlnb2dCQ2dDRUVZRWZ5QUVJQVFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FLTEFBQUVFSUxJUVFnQ1NBSktBSUFJZ3BCQVdvMkFnQWdDaUFFT2dBQUlCY2dGeWdDQUVGL2FqWUNBQ0FBS0FJQUlnUW9BZ3dpQ2lBRUtBSVFSZ1JBSUFRZ0JDZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUVJQXBCQVdvMkFnd2dDaXdBQUJCQ0dnc01BQUFMQUFzTElBa29BZ0FnQ0NnQ0FFWU5DQXdCQ3dOQUlBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEF3SkFBa0FnREVVTkFDQU1LQUlNSWdRZ0RDZ0NFRVlFZnlBTUlBd29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBRFJRMEVDd3dCQ3lBRERRSkJBQ0VNQ3lBQUtBSUFJZ01vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFnc2lBMEgvQVhGQkdIUkJHSFZCZjB3TkFTQUhLQUlJSUFOQkdIUkJHSFZCQVhScUxnRUFRWURBQUhGRkRRRWdFU0FBS0FJQUlnTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDS0VIL0FIRkJDR29SQUFBRklBTWdCRUVCYWpZQ0RDQUVMQUFBRUVJTFFmOEJjUkRNQVF3QUFBc0FDeUFVUVFGcUlSUU1BUXNMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVVMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQVFMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQU1MSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUlMSUFVZ0JTZ0NBRUVFY2pZQ0FFRUFEQUVMSUFJRVFBSkFJQUloQmtFQklRY0RRQUpBSUFjZ0Fpd0FDeUlEUVFCSUJIOGdCaWdDQkFVZ0EwSC9BWEVMVHcwQ0lBQW9BZ0FpQXdSL0lBTW9BZ3dpQkNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJBSkFBa0FnQVNnQ0FDSURSUTBBSUFNb0Fnd2lDQ0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQVJGRFFNTERBRUxJQVFOQVFzZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRWZ5QURJQU1vQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRZjhCY1NBQ0xBQUxRUUJJQkg4Z0FpZ0NBQVVnQWdzZ0Iyb3RBQUJIRFFBZ0FDZ0NBQ0lES0FJTUlnUWdBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBRVFRRnFOZ0lNSUFRc0FBQVFRaG9MSUFkQkFXb2hCd3dCQ3dzZ0JTQUZLQUlBUVFSeU5nSUFRUUFNQWdzTElCVW9BZ0FpQUNBVEtBSUFJZ0ZHQkg5QkFRVWdIa0VBTmdJQUlCWWdBQ0FCSUI0UWVDQWVLQUlBQkg4Z0JTQUZLQUlBUVFSeU5nSUFRUUFGUVFFTEN3c2hKQ0FSRUVjZ0R4QkhJQTRRUnlBTkVFY2dGaEJISUJVb0FnQWhBQ0FWUVFBMkFnQWdBQVJBSUFBZ0ZTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBUUpBWWdKQXNaQUNBQVFnQTNBZ0FnQUVFQU5nSUlJQUJCQVVFdEVKTUVDeGtBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUVCUVMwUWxnUUxGUUFnQUNnQ0FCQmNSd1JBSUFBb0FnQVFod01MQzJNQkFYOGpCaUVHSXdaQkVHb2tCaUFHUVNVNkFBQWdCaUFFT2dBQklBWWdCVG9BQWlBR1FRQTZBQU1nQlVIL0FYRUVRQ0FHSUFVNkFBRWdCaUFFT2dBQ0N5QUNJQUVnQWlnQ0FDQUJheUFHSUFNZ0FDZ0NBQkFmSUFGcU5nSUFJQVlrQmdzT0FDQUFRUWhxRUtzRUlBQVFPQXNLQUNBQVFRaHFFS3NFQzJ3QkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSmtCSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCMEE5cUlBRkI3QTVxSUFFZ0FVSGtBRWdiSUFGQnhRQklHMEdVY1dvMkFnQUxJQVVrQmd0N0FRSi9Jd1loQmlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJRUlRY2dBQ0FIUWY4QWNVRUlhaEVBQUNFQUlBWWdBeWdDQURZQ0FDQUdRUVJxSWdNZ0JpZ0NBRFlDQUNBQ0lBTWdBQ0FBUWFBQ2FpQUZJQVJCQUJDVkFpQUFheUlBUWFBQ1NBUkFJQUVnQUVFTUVEbEJEQkJQTmdJQUN5QUdKQVlMZXdFQ2Z5TUdJUVlqQmtFUWFpUUdJQUJCQ0dvaUFDZ0NBQ2dDQUNFSElBQWdCMEgvQUhGQkNHb1JBQUFoQUNBR0lBTW9BZ0EyQWdBZ0JrRUVhaUlESUFZb0FnQTJBZ0FnQWlBRElBQWdBRUdvQVdvZ0JTQUVRUUFRbFFJZ0FHc2lBRUdvQVVnRVFDQUJJQUJCREJBNVFRY1FUellDQUFzZ0JpUUdDN2dDQVFaL0l3WWhBeU1HUVlBQ2FpUUdJQU5Cd0FGcUlnSWdBUkRFQ2lBRFFlQUFhaUlFSUFJUXV3cEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkJYUWdBR29oQlNBQlFRVjBJQUJxSVFZZ0FVRUZkQ0FBYWlFSFFRQWhBZ05BSUFKQkJFY0VRQ0FCUVFWMElBTnFJQUpCQTNScUlBVXJBd0FnQWtFRGRDQUVhaXNEQUtJZ0Jpc0RDQ0FFUVNCcUlBSkJBM1JxS3dNQW9xQWdCeXNERUNBRVFVQnJJQUpCQTNScUt3TUFvcUE1QXdBZ0FrRUJhaUVDREFFTEN5QUJRUVYwSUFOcUlnSWdBVUVGZENBQWFpc0RHQ0FDS3dNWW9Ea0RHQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUZCQTBjRVFFRUFJUUlEUUNBQ1FRUkhCRUFnQVVFRmRDQUFhaUFDUVFOMGFpQUJRUVYwSUFOcUlBSkJBM1JxS3dNQU9RTUFJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3lBREpBWUwwQUVCQkg4akJpRUVJd1pCTUdva0JpQUVRUmhxSWdWQkJqWUNCQ0FGUVFFMkFnZ2dCU0FBTmdJQUlBUkJER29pQmlBRE5nSUVJQVpCQVRZQ0NDQUdJQUUyQWdBZ0JDQUROZ0lFSUFSQkJqWUNDQ0FFSUFJMkFnQWdCQkNnQXlJQUJIOENmeUFBSUFRUTJRRWlBVVVFUUNBQUVFbEJmd3dCQ3lBQUlBWVEyUUVpQWtVRVFDQUFFRWtnQVJCSlFYOE1BUXNnQVJEV0FVRUFTQVIvSUFBUVNTQUJFRWtnQWhCSlFYOEZJQVVnQVNBQ0VLMENHaUFBRUVrZ0FSQkpJQUlRU1VFQUN3c0ZRWDhMSVFjZ0JDUUdJQWNMYkFFQmZ5TUdJUVVqQmtFUWFpUUdJQVVnQWlnQ0FEWUNBQ0FGUVFScUlnSWdCU2dDQURZQ0FDQUJJQUlnQXlBRVFRUVFtZ0VoQVNBREtBSUFRUVJ4UlFSQUlBQWdBVUhRRDJvZ0FVSHNEbW9nQVNBQlFlUUFTQnNnQVVIRkFFZ2JRWlJ4YWpZQ0FBc2dCU1FHQzNzQkFuOGpCaUVHSXdaQkVHb2tCaUFBUVFocUlnQW9BZ0FvQWdRaEJ5QUFJQWRCL3dCeFFRaHFFUUFBSVFBZ0JpQURLQUlBTmdJQUlBWkJCR29pQXlBR0tBSUFOZ0lBSUFJZ0F5QUFJQUJCb0FKcUlBVWdCRUVBRUpZQ0lBQnJJZ0JCb0FKSUJFQWdBU0FBUVF3UU9VRU1FRTgyQWdBTElBWWtCZ3Q3QVFKL0l3WWhCaU1HUVJCcUpBWWdBRUVJYWlJQUtBSUFLQUlBSVFjZ0FDQUhRZjhBY1VFSWFoRUFBQ0VBSUFZZ0F5Z0NBRFlDQUNBR1FRUnFJZ01nQmlnQ0FEWUNBQ0FDSUFNZ0FDQUFRYWdCYWlBRklBUkJBQkNXQWlBQWF5SUFRYWdCU0FSQUlBRWdBRUVNRURsQkJ4QlBOZ0lBQ3lBR0pBWUxCQUJCQWd1WENBRUxmeU1HSVFzakJrRVFhaVFHSUFaQm9NNERFRG9oQ2lBR1Fhak9BeEE2SWcwb0FnQW9BaFFoQmlBTElBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnd0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBS0lBSWdDaWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VFYWpZQ0FDQUdJQUkyQWdBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FLUVRBZ0NpZ0NBQ2dDTEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUVhallDQUNBSElBSTJBZ0FnQ2lBR0xBQUJJQW9vQWdBb0FpeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQkdvMkFnQWdCeUFDTmdJQUlBWkJBbW9pQmlFQ0EwQWdBaUFNU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0RFOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBc29BZ1FnQ3l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVFrZ0NDQUhMQUFBT2dBQUlBY2dDVG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lRbEJBQ0VIUVFBaENBTkFJQWtnQWtrRVFDQUhJQXNvQWdBZ0N5QUxMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRUnFOZ0lBSUFnZ0R6WUNBQ0FISUFjZ0N5Z0NCQ0FMTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFvZ0NTd0FBQ0FLS0FJQUtBSXNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFScU5nSUFJQkFnRGpZQ0FDQUpRUUZxSVFrZ0NFRUJhaUVJREFFTEN5QUdJQUJyUVFKMElBTnFJZ2tnQlNnQ0FDSUlSZ1IvSUFvaEJ5QUpCU0FJSVFZRGZ5QUpJQVpCZkdvaUJra0VmeUFKS0FJQUlRY2dDU0FHS0FJQU5nSUFJQVlnQnpZQ0FDQUpRUVJxSVFrTUFRVWdDaUVISUFnTEN3c2hCZ1VnQ2lBR0lBSWdCU2dDQUNBS0tBSUFLQUl3UVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFJZ0JtdEJBblJxSWdZMkFnQWdDaUVIQ3dKQUFrQURRQ0FDSUF4SkJFQWdBaXdBQUNJR1FTNUdEUUlnQ2lBR0lBY29BZ0FvQWl4QlAzRkJpZ0ZxRVFJQUlRa2dCU0FGS0FJQUlnaEJCR29pQmpZQ0FDQUlJQWsyQWdBZ0FrRUJhaUVDREFFTEN3d0JDeUFOSUEwb0FnQW9BZ3hCL3dCeFFRaHFFUUFBSVFjZ0JTQUZLQUlBSWdsQkJHb2lCallDQUNBSklBYzJBZ0FnQWtFQmFpRUNDeUFLSUFJZ0RDQUdJQW9vQWdBb0FqQkJEM0ZCaWdKcUVRa0FHaUFGSUFVb0FnQWdEQ0FDYTBFQ2RHb2lBallDQUNBRUlBSWdBU0FBYTBFQ2RDQURhaUFCSUF4R0d6WUNBQ0FMRUVjZ0N5UUdDL1VCQWdWL0FYd2pCaUVFSXdaQjRBRnFKQVlnQkVIWUFXb2hCU0FFUVRCcUlnWWdCRUhBQVdvaUJ5QUNJQU1ROHdvZ0JDQUJJQWNRNkFwQkFFZ0VmMEVBUVFOQjRhd0JJQVVRUFVGL0JVRUFJUUVEZnlBQlFRSkdCSDlCQUFWQkFDRUNBMEFnQWtFR1J3UkFJQUZCTUd3Z0FHb2dBa0VEZEdvaUJVUUFBQUFBQUFBQUFEa0RBRUVBSVFORUFBQUFBQUFBQUFBaENRTkFJQU5CQTBjRVFDQUZJQWtnQVVFWWJDQUVhaUFEUVFOMGFpc0RBQ0FEUVRCc0lBWnFJQUpCQTNScUt3TUFvcUFpQ1RrREFDQURRUUZxSVFNTUFRc0xJQUpCQVdvaEFnd0JDd3NnQVVFQmFpRUJEQUVMQ3dzaENDQUVKQVlnQ0F2NkJ3RUxmeU1HSVFvakJrRVFhaVFHSUFaQmdNNERFRG9oQ1NBR1FaRE9BeEE2SWcwb0FnQW9BaFFoQmlBS0lBMGdCa0UvY1VHeUJXb1JBd0FnQlNBRE5nSUFBa0FDUUNBQ0lnc0Nmd0pBQWtBZ0FDd0FBQ0lDUVN0ckRnTUFBUUFCQ3lBSklBSWdDU2dDQUNnQ0hFRS9jVUdLQVdvUkFnQWhBaUFGSUFVb0FnQWlCa0VCYWpZQ0FDQUdJQUk2QUFBZ0FFRUJhZ3dCQ3lBQUN5SUdhMEVCVEEwQUlBWXNBQUJCTUVjTkFDQUdMQUFCUWRnQWF5SUNRUUFnQWtFZ1J4c05BQ0FKUVRBZ0NTZ0NBQ2dDSEVFL2NVR0tBV29SQWdBaEFpQUZJQVVvQWdBaUIwRUJhallDQUNBSElBSTZBQUFnQ1NBR0xBQUJJQWtvQWdBb0FoeEJQM0ZCaWdGcUVRSUFJUUlnQlNBRktBSUFJZ2RCQVdvMkFnQWdCeUFDT2dBQUlBWkJBbW9pQmlFQ0EwQWdBaUFMU1FSQUlBSXNBQUFRWEJDREF3UkFJQUpCQVdvaEFnd0NDd3NMREFFTElBWWhBZ05BSUFJZ0MwOE5BUUovSUFJc0FBQWhFUkJjR2lBUkN4Q0tBUVJBSUFKQkFXb2hBZ3dCQ3dzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1IvSUFJZ0JrY0VRQUpBSUFJaEJ5QUdJUWdEUUNBSUlBZEJmMm9pQjA4TkFTQUlMQUFBSVF3Z0NDQUhMQUFBT2dBQUlBY2dERG9BQUNBSVFRRnFJUWdNQUFBTEFBc0xJQTBnRFNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUFoRHlBR0lReEJBQ0VJUVFBaEJ3TkFJQXdnQWtrRVFDQUhJQW9vQWdBZ0NpQUtMQUFMUVFCSUcyb3NBQUFpRGtFQVNpQUlJQTVHY1FSQUlBVWdCU2dDQUNJSVFRRnFOZ0lBSUFnZ0R6b0FBQ0FISUFjZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JRWDlxU1dvaEIwRUFJUWdMSUFrZ0RDd0FBQ0FKS0FJQUtBSWNRVDl4UVlvQmFoRUNBQ0VPSUFVZ0JTZ0NBQ0lRUVFGcU5nSUFJQkFnRGpvQUFDQU1RUUZxSVF3Z0NFRUJhaUVJREFFTEN5QURJQVlnQUd0cUlnY2dCU2dDQUNJR1JnUi9JQWtGQTM4Z0J5QUdRWDlxSWdaSkJIOGdCeXdBQUNFSUlBY2dCaXdBQURvQUFDQUdJQWc2QUFBZ0IwRUJhaUVIREFFRklBa0xDd3NGSUFrZ0JpQUNJQVVvQWdBZ0NTZ0NBQ2dDSUVFUGNVR0tBbW9SQ1FBYUlBVWdCU2dDQUNBQ0lBWnJhallDQUNBSkN5RUdBa0FDUUFOQUlBSWdDMGtFUUNBQ0xBQUFJZ2RCTGtZTkFpQUpJQWNnQmlnQ0FDZ0NIRUUvY1VHS0FXb1JBZ0FoQnlBRklBVW9BZ0FpQ0VFQmFqWUNBQ0FJSUFjNkFBQWdBa0VCYWlFQ0RBRUxDd3dCQ3lBTklBMG9BZ0FvQWd4Qi93QnhRUWhxRVFBQUlRWWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdPZ0FBSUFKQkFXb2hBZ3NnQ1NBQ0lBc2dCU2dDQUNBSktBSUFLQUlnUVE5eFFZb0NhaEVKQUJvZ0JTQUZLQUlBSUFzZ0FtdHFJZ0kyQWdBZ0JDQUNJQU1nQVNBQWEyb2dBU0FMUmhzMkFnQWdDaEJISUFva0JndWVBUUVGZkNBQkt3TllJQUlyQXdBaUF5QUJRVUJyS3dNQW9pQUNLd01JSWdRZ0FTc0RTS0tnSUFJckF4QWlCU0FCS3dOUW9xQ2dJZ1pFQUFBQUFBQUFBQUJoQkg5QmZ3VWdBU3NET0NBRElBRXJBeUNpSUFRZ0FTc0RLS0tnSUFVZ0FTc0RNS0tnb0NFSElBQWdBU3NER0NBRElBRXJBd0NpSUFRZ0FTc0RDS0tnSUFVZ0FTc0RFS0tnb0NBR296a0RBQ0FBSUFjZ0JxTTVBd2hCQUFzTFZnRUNmeU1HSVFZakJrRVFhaVFHSUFZZ0FTZ0NBRFlDQkNBR0lBSW9BZ0EyQWdBZ0JrRUlhaUlCSUFZb0FnUTJBZ0FnQmtFTWFpSUNJQVlvQWdBMkFnQWdBU0FDSUFNZ0JDQUZFSWtMSVFjZ0JpUUdJQWNMMHdFQ0EzOEJmaU1HSVFRakJrRVFhaVFHSUFBZ0FVWUVmeUFDUVFRMkFnQkJBQVZCcE1VREtBSUFJUVZCcE1VRFFRQTJBZ0FnQUNBRUlBTVFYQkQ5QWlFSFFhVEZBeWdDQUNJQVJRUkFRYVRGQXlBRk5nSUFDeUFCSUFRb0FnQkdCSDhDZnlBQVFjUUFSZ1JBSUFKQkJEWUNBRUgvLy8vL0J5QUhRZ0JWRFFFYUJRSkFJQWRDZ0lDQWdIaFRCRUFnQWtFRU5nSUFEQUVMSUFlbklBZEMvLy8vL3dkWERRSWFJQUpCQkRZQ0FFSC8vLy8vQnd3Q0N3dEJnSUNBZ0hnTEJTQUNRUVEyQWdCQkFBc0xJUVlnQkNRR0lBWUxvZ0VDQW44QmZpTUdJUVFqQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRlFhVEZBMEVBTmdJQUlBQWdCQ0FERUZ3US9RSWhCa0dreFFNb0FnQWlBRVVFUUVHa3hRTWdCVFlDQUFzZ0FTQUVLQUlBUmdSK0lBQkJ4QUJHQkg0Z0FrRUVOZ0lBUXYvLy8vLy8vLy8vL3dCQ2dJQ0FnSUNBZ0lDQWZ5QUdRZ0JWR3dVZ0Jnc0ZJQUpCQkRZQ0FFSUFDeUVHQ3lBRUpBWWdCZ3ZXQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZndKL0lBQkJ4QUJHSUFoQy8vOERWbklFUUNBQ1FRUTJBZ0JCZnd3QkN5QUlwMEgvL3dOeElRQkJBQ0FJcDJ0Qi8vOERjU0FBSUFVYkN3VWdBa0VFTmdJQVFRQUxDd3NoQnlBRUpBWWdCd3ZIQVFJRWZ3RitJd1loQkNNR1FSQnFKQVlnQUNBQlJnUi9JQUpCQkRZQ0FFRUFCUUovSUFBc0FBQkJMVVlpQlFSQUlBRWdBRUVCYWlJQVJnUkFJQUpCQkRZQ0FFRUFEQUlMQzBHa3hRTW9BZ0FoQmtHa3hRTkJBRFlDQUNBQUlBUWdBeEJjRUtFQ0lRaEJwTVVES0FJQUlnQkZCRUJCcE1VRElBWTJBZ0FMSUFFZ0JDZ0NBRVlFZnlBQVFjUUFSaUFJUXYvLy8vOFBWbklFZnlBQ1FRUTJBZ0JCZndWQkFDQUlweUlBYXlBQUlBVWJDd1VnQWtFRU5nSUFRUUFMQ3dzaEJ5QUVKQVlnQnd1NkFRSURmd0orSXdZaEJDTUdRUkJxSkFZZ0FDQUJSZ1IrSUFKQkJEWUNBRUlBQlFKK0lBQXNBQUJCTFVZaUJRUkFJQUVnQUVFQmFpSUFSZ1JBSUFKQkJEWUNBRUlBREFJTEMwR2t4UU1vQWdBaEJrR2t4UU5CQURZQ0FDQUFJQVFnQXhCY0VLRUNJUWRCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVkyQWdBTElBRWdCQ2dDQUVZRWZpQUFRY1FBUmdSK0lBSkJCRFlDQUVKL0JVSUFJQWQ5SUFjZ0JSc0xCU0FDUVFRMkFnQkNBQXNMQ3lFSUlBUWtCaUFJQzRvQkFnSi9BWDBqQmlFREl3WkJFR29rQmlBQUlBRkdCRUFnQWtFRU5nSUFCVUdreFFNb0FnQWhCRUdreFFOQkFEWUNBQkJjR2lBQUlBTkJBQkNnQXJZaEJVR2t4UU1vQWdBaUFFVUVRRUdreFFNZ0JEWUNBQXNDUUFKQUlBRWdBeWdDQUVZRVFDQUFRY1FBUmcwQkJVTUFBQUFBSVFVTUFRc01BUXNnQWtFRU5nSUFDd3NnQXlRR0lBVUxqUUVDQW44QmZDTUdJUU1qQmtFUWFpUUdJQUFnQVVZRVFDQUNRUVEyQWdBRlFhVEZBeWdDQUNFRVFhVEZBMEVBTmdJQUVGd2FJQUFnQTBFQkVLQUNJUVZCcE1VREtBSUFJZ0JGQkVCQnBNVURJQVEyQWdBTEFrQUNRQ0FCSUFNb0FnQkdCRUFnQUVIRUFFWU5BUVZFQUFBQUFBQUFBQUFoQlF3QkN3d0JDeUFDUVFRMkFnQUxDeUFESkFZZ0JRdU5BUUlDZndGOEl3WWhBeU1HUVJCcUpBWWdBQ0FCUmdSQUlBSkJCRFlDQUFWQnBNVURLQUlBSVFSQnBNVURRUUEyQWdBUVhCb2dBQ0FEUVFJUW9BSWhCVUdreFFNb0FnQWlBRVVFUUVHa3hRTWdCRFlDQUFzQ1FBSkFJQUVnQXlnQ0FFWUVRQ0FBUWNRQVJnMEJCVVFBQUFBQUFBQUFBQ0VGREFFTERBRUxJQUpCQkRZQ0FBc0xJQU1rQmlBRkN6a0JBbjhqQmlFREl3WkJFR29rQmlBRElBSTJBZ0FnQVJCaUlRRWdBRUdEa3dNZ0F4Q1ZBeUVFSUFFRVFDQUJFR0lhQ3lBREpBWWdCQXRXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW5Bc2hCeUFHSkFZZ0J3dWxBUUVFZnlNR0lRVWpCa0VRYWlRR0lBSWdBV3RCQW5VaUJFSHYvLy8vQTBzRVFCQUFDeUFFUVFKSkJFQWdBQ0FFT2dBTElBQWhBd1VnQkVFRWFrRjhjU0lHUWYvLy8vOERTd1JBRUFBRklBQWdCa0VDZEJCUklnTTJBZ0FnQUNBR1FZQ0FnSUI0Y2pZQ0NDQUFJQVEyQWdRTEN3TkFJQUVnQWtjRVFDQURJQUVRYmlBQlFRUnFJUUVnQTBFRWFpRUREQUVMQ3lBRlFRQTJBZ0FnQXlBRkVHNGdCU1FHQzZzREFncC9BWDRqQmlFRkl3WkJJR29rQmlBRlFSQnFJUU1nQlVFSWFpRUVJQVZCQkdvaENTQUFMQUEwQkVBZ0FDZ0NNQ0VMSUFFRVFDQUFRWDgyQWpBZ0FFRUFPZ0EwQ3lBTElRQUZJQUFvQWl3aUFrRUJJQUpCQVVvYklRSUNRQUpBQTBBZ0JpQUNUdzBCSUFBb0FpQVE4d0VpQjBGL1J3UkFJQU1nQm1vZ0J6b0FBQ0FHUVFGcUlRWU1BUXNMUVg4aEFBd0JDd0pBQWtBZ0FDd0FOUVJBSUFRZ0F5d0FBRG9BQUF3QkJRSkFJQVJCQVdvaEJnSkFBa0FDUUFOQUFrQWdBQ2dDS0NJSEtRSUFJUXdnQUNnQ0pDSUlLQUlBS0FJUUlRb0NRQ0FJSUFjZ0F5QUNJQU5xSWdjZ0NTQUVJQVlnQlNBS1FROXhRWTREYWhFT0FFRUJhdzREQUFRREFRc2dBQ2dDS0NBTU53SUFJQUpCQ0VZTkF5QUFLQUlnRVBNQklnaEJmMFlOQXlBSElBZzZBQUFnQWtFQmFpRUNEQUVMQ3d3Q0N5QUVJQU1zQUFBNkFBQU1BUXRCZnlFQURBRUxEQUlMQ3d3QkN5QUJCRUFnQUNBRUxBQUFFRUkyQWpBRkFrQURRQ0FDUVFCTURRRWdBeUFDUVg5cUlnSnFMQUFBRUVJZ0FDZ0NJQkR2QVVGL1J3MEFDMEYvSVFBTUFnc0xJQVFzQUFBUVFpRUFDd3NMSUFVa0JpQUFDNlVEQWdwL0FYNGpCaUVGSXdaQklHb2tCaUFGUVJCcUlRTWdCVUVJYWlFRUlBVkJCR29oQ1NBQUxBQTBCRUFnQUNnQ01DRUxJQUVFUUNBQVFYODJBakFnQUVFQU9nQTBDeUFMSVFBRklBQW9BaXdpQWtFQklBSkJBVW9iSVFJQ1FBSkFBMEFnQmlBQ1R3MEJJQUFvQWlBUTh3RWlCMEYvUndSQUlBTWdCbW9nQnpvQUFDQUdRUUZxSVFZTUFRc0xRWDhoQUF3QkN3SkFBa0FnQUN3QU5RUkFJQVFnQXl3QUFEWUNBQXdCQlFKQUlBUkJCR29oQmdKQUFrQUNRQU5BQWtBZ0FDZ0NLQ0lIS1FJQUlRd2dBQ2dDSkNJSUtBSUFLQUlRSVFvQ1FDQUlJQWNnQXlBQ0lBTnFJZ2NnQ1NBRUlBWWdCU0FLUVE5eFFZNERhaEVPQUVFQmF3NERBQVFEQVFzZ0FDZ0NLQ0FNTndJQUlBSkJDRVlOQXlBQUtBSWdFUE1CSWdoQmYwWU5BeUFISUFnNkFBQWdBa0VCYWlFQ0RBRUxDd3dDQ3lBRUlBTXNBQUEyQWdBTUFRdEJmeUVBREFFTERBSUxDd3dCQ3lBQkJFQWdBQ0FFS0FJQU5nSXdCUUpBQTBBZ0FrRUFUQTBCSUFNZ0FrRi9haUlDYWl3QUFDQUFLQUlnRU84QlFYOUhEUUFMUVg4aEFBd0NDd3NnQkNnQ0FDRUFDd3NMSUFVa0JpQUFDNW9CQVFWL0l3WWhBU01HUVJCcUpBWWdBVUVJYWlJQ1FRaHFJUVVDUUFKQUEwQWdBQ2dDSkNJREtBSUFLQUlVSVFRZ0F5QUFLQUlvSUFJZ0JTQUJJQVJCSDNGQm9nSnFFUWdBSVFNQ1FDQUJLQUlBSUFKcklnUWdBa0VCSUFRZ0FDZ0NJQkNUQVVjTkFBSkFJQU5CQVdzT0FnQUJBd3NNQVFzTFFYOGhBQXdCQ3lBQUtBSWdFS2tDUVFCSFFSOTBRUjkxSVFBTElBRWtCaUFBQ3hNQUlBQWdBQ2dDQUVGMGFpZ0NBR29RNmdJTEV3QWdBQ0FBS0FJQVFYUnFLQUlBYWhDWkFnc1RBQ0FBSUFBb0FnQkJkR29vQWdCcUVPc0NDeE1BSUFBZ0FDZ0NBRUYwYWlnQ0FHb1FtZ0lMS3dFQmZ3TkFJQUpCQ0VjRVFDQUJJQUpxSUFCQkJ5QUNhMm9zQUFBNkFBQWdBa0VCYWlFQ0RBRUxDd3NTQUNBQVFkeU1BVFlDQUNBQVFRUnFFRHdMQkFCQmZ3c1FBQ0FBUWdBM0F3QWdBRUovTndNSUN4QUFJQUJDQURjREFDQUFRbjgzQXdnTEJBQWdBQXNyQVFGL0EwQWdBa0VFUndSQUlBRWdBbW9nQUVFRElBSnJhaXdBQURvQUFDQUNRUUZxSVFJTUFRc0xDeElBSUFCQm5Jd0JOZ0lBSUFCQkJHb1FQQXRUQVFOL0lBSW9BZ0FoQkNBQklBQnJRUUoxSVFFRFFDQUJCRUFnQVVFQmRpSUNRUUowSUFCcUlnVW9BZ0FnQkVraEF5QUZRUVJxSUFBZ0F4c2hBQ0FCUVg5cUlBSnJJQUlnQXhzaEFRd0JDd3NnQUF2T0FRRURmeU1HSVFJakJrSEFBV29rQmlBQUlBSVExUVFnQUVFRWFpQUNRUVJxRU5VRUEwQWdBVUVEUndSQVFRQWhBd05BSUFOQkJFY0VRQ0FBUVFocUlBRkJCWFJxSUFOQkEzUnFJQUpCQ0dvZ0FVRUZkR29nQTBFRGRHb1F6d1FnQTBFQmFpRUREQUVMQ3lBQlFRRnFJUUVNQVFzTFFRQWhBUU5BSUFFZ0FDZ0NzQUVpQTBFRGRFR1lGV29vQWdCSUJFQWdBRUhvQUdvZ0FVRURkR29nQWtIb0FHb2dBVUVEZEdvUXp3UWdBVUVCYWlFQkRBRUxDeUFDSUFNMkFyQUJJQUFnQWtHNEFSQk1HaUFDSkFZTEp3RUJmeU1HSVFFakJrRVFhaVFHSUFFZ0FEWUNBRUhZK1FCQkJTQUJLQUlBRUFnZ0FTUUdDeWNCQVg4akJpRUJJd1pCRUdva0JpQUJJQUEyQWdCQjRQa0FRUVFnQVNnQ0FCQUlJQUVrQmdzbkFRRi9Jd1loQVNNR1FSQnFKQVlnQVNBQU5nSUFRZWo1QUVFRElBRW9BZ0FRQ0NBQkpBWUxKd0VCZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUVIdytRQkJBaUFCS0FJQUVBZ2dBU1FHQ3ljQkFYOGpCaUVCSXdaQkVHb2tCaUFCSUFBMkFnQkIrUGtBUVFFZ0FTZ0NBQkFJSUFFa0Jnc25BUUYvSXdZaEFTTUdRUkJxSkFZZ0FTQUFOZ0lBUVlENkFFRUFJQUVvQWdBUUNDQUJKQVlMbUFzQkZYd0Nmd0pBQWtBQ1FBSkFBa0FDUUNBRlFRRnJEZ1FEQWdFQUJBc2dBQ3NEQUNFSklBQXJBd2doQ2lBQVFVQnJLd01BSVEwZ0FDc0RFQ0lPUkFBQUFBQUFBQUJBb2lFUElBQXJBeGdpRUVRQUFBQUFBQUFZUUtJaEV5QVFSQUFBQUFBQUFBQkFvaUVVSUE1RUFBQUFBQUFBR0VDaUlSVWdBU0FBS3dNd0loYWhJQUFyQXlBaUY2TWlDeUVCSUFJZ0FDc0RPQ0lZb1NBQUt3TW9JaG1qSWd3aEFpQUxJQXVpSVFZZ0RDQU1vaUVIUVFFaEFBTkFBa0FnQmtRQUFBQUFBQUFBQUdJZ0IwUUFBQUFBQUFBQUFHSnlSUVJBUkFBQUFBQUFBQUFBSVFGRUFBQUFBQUFBQUFBaEFnd0JDeUFKSUFjZ0JxQWlDS0pFQUFBQUFBQUE4RCtnSUFnZ0NpQUlvcUtnSVJFZ0J5QUdSQUFBQUFBQUFBaEFvaUlhb2lFU0lBSWdEaUFIUkFBQUFBQUFBQUJBb2lBSW9LSWdBaUFSb3FBZ0FpQVVJQUVnRUNBSUlBWkVBQUFBQUFBQUFFQ2lvS0lnQWlBUElBR2lvaUFCSUJHaW9LQWdDNkVnRXlBQm9pQVBJQUtpSUFrZ0J5QWFvS0pFQUFBQUFBQUE4RCtnSUFvZ0J5QUhvaUFHSUFaRUFBQUFBQUFBRkVDaW9pQVNvS0Npb0tDZ282RWlBYUlpQ0tLZ0lBeWhJQlVnQXFJZ0NTQUdJQWRFQUFBQUFBQUFDRUNpb0tKRUFBQUFBQUFBOEQrZ0lBb2dCeUFIUkFBQUFBQUFBQlJBb3FJZ0JpQUdvaUFTb0tDaW9LQWdDS0Nqb1NFQ0lBQkJCRWNFUUNBQklBR2lJUVlnQWlBQ29pRUhJQUJCQVdvaEFBd0NDd3NMSUFNZ0ZpQVhJQUdpSUEyam9Ea0RBQ0FZSUJrZ0FxSWdEYU9nSVFFTUJBc2dBQ3NESUVRQUFBQUFoTmVYUWFNaUNFUUFBQUFBQUFBSVFLSWhDU0FBS3dNb1JBQUFBQUNFMTVkQm8wUUFBQUFBQUdyNFFLTWlDa1FBQUFBQUFBQVVRS0loQzBFQklRVWdBU0FBS3dNQUlneWhJQUFyQXhpaklnRWdBYUlnQWlBQUt3TUlvU0lDSUFLaW9DSUhueUlOSVFZRFFBSkFJQVpFQUFBQUFBQUFBQUJoQkVCRUFBQUFBQUFBQUFBaEFrUUFBQUFBQUFBQUFDRUJEQUVMSUFFZ0JpQUdSQUFBQUFBQUFQQS9JQWdnQjZLaElBY2dDaUFIb3FLaG9pQU5vVVFBQUFBQUFBRHdQeUFKSUFlaW9TQUhJQXNnQjZLaW9hT2hJZ2VpSUFhaklRRWdBaUFIb2lBR295RUNJQVZCQTBjRVFDQUJJQUdpSUFJZ0FxS2dJZ1loQnlBRlFRRnFJUVVnQnA4aEJnd0NDd3NMSUFNZ0RDQUJJQUFyQXhDam9Ea0RBQ0FDSUFBckF4Q2pJQUFyQXdpZ0lRRU1Bd3NnQUNzREdFUUFBQUFBaE5lWFFhTWlDRVFBQUFBQUFBQUlRS0loQ1NBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS01pQ2tRQUFBQUFBQUFVUUtJaEMwRUJJUVVnQVNBQUt3TUFJZ3loSWdjZ0I2SWdBaUFBS3dNSW9TSUNJQUtpb0NJQm55SU5JUVlEUUFKQUlBWkVBQUFBQUFBQUFBQmhCRUJFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUNFQkRBRUxJQWNnQmlBR1JBQUFBQUFBQVBBL0lBZ2dBYUtoSUFFZ0NpQUJvcUtob2lBTm9VUUFBQUFBQUFEd1B5QUpJQUdpb1NBQklBc2dBYUtpb2FPaElnZWlJQWFqSVFFZ0FpQUhvaUFHb3lFQ0lBVkJBMGNFUUNBRlFRRnFJUVVnQVNJSElBR2lJQUlnQXFLZ0lnR2ZJUVlNQWdzTEN5QURJQXdnQVNBQUt3TVFvNkE1QXdBZ0FpQUFLd01Rb3lBQUt3TUlvQ0VCREFJTElBQXJBeGhFQUFBQUFJVFhsMEdqSWdoRUFBQUFBQUFBQ0VDaUlRbEJBU0VGSUFFZ0FDc0RBQ0lLb1NJSElBZWlJQUlnQUNzRENLRWlBaUFDb3FBaUFaOGlDeUVHQTBBQ1FDQUdSQUFBQUFBQUFBQUFZUVJBUkFBQUFBQUFBQUFBSVFKRUFBQUFBQUFBQUFBaEFRd0JDeUFISUFZZ0JrUUFBQUFBQUFEd1B5QUlJQUdpb2FJZ0M2RkVBQUFBQUFBQThEOGdDU0FCb3FHam9TSUhvaUFHb3lFQklBSWdCNklnQnFNaEFpQUZRUU5IQkVBZ0JVRUJhaUVGSUFFaUJ5QUJvaUFDSUFLaW9DSUJueUVHREFJTEN3c2dBeUFLSUFFZ0FDc0RFS09nT1FNQUlBSWdBQ3NERUtNZ0FDc0RDS0FoQVF3QkMwRi9EQUVMSUFRZ0FUa0RBRUVBQ3hvTDVRRUFRYmo0QUVIMWdnTVFMVUhBK0FCQitvSURRUUZCQVVFQUVDOFE1QXNRNHdzUTRnc1E0UXNRNEFzUTN3c1EzZ3NRM1FzUTNBc1Eyd3NRMmd0QnlQSUFRZVNEQXhBVlFlRDZBRUh3Z3dNUUZVSEkrZ0JCQkVHUmhBTVFFa0d3K2dCQkFrR2VoQU1RRWtHWStnQkJCRUd0aEFNUUVrR1ErZ0JCdklRREVDNFEyUXRCNm9RREVONEVRWStGQXhEZEJFRzJoUU1RM0FSQjFZVURFTnNFUWYyRkF4RGFCRUdhaGdNUTJRUVExd3NRMWd0QmhZY0RFTjRFUWFXSEF4RGRCRUhHaHdNUTNBUkI1NGNERU5zRVFZbUlBeERhQkVHcWlBTVEyUVFRMVFzUTFBc1Ewd3NMV2dFRGZ5QUFLQUlFSVFVZ0FnUkFJQVZCQ0hVaEJDQUZRUUZ4QkVBZ0JDQUNLQUlBYWlnQ0FDRUVDd3NnQUNnQ0FDSUFLQUlBS0FJY0lRWWdBQ0FCSUFJZ0JHb2dBMEVDSUFWQkFuRWJJQVpCSDNGQitnVnFFUWNBQ3dzQUlBQVE0d1FnQUJBNEN4TUFJQUJCb0lzQk5nSUFJQUJCQkdvUTdnc0x4d0lCQkg4akJpRURJd1pCUUdza0JpQUFJQUFvQWdBaUJFRjRhaWdDQUdvaEJTQUVRWHhxS0FJQUlRUWdBeUFDTmdJQUlBTWdBRFlDQkNBRElBRTJBZ2dnQTBFQU5nSU1JQU5DQURjQ0VDQURRZ0EzQWhnZ0EwSUFOd0lnSUFOQ0FEY0NLQ0FEUVFBMkFqQWdBMEVBT3dFMElBTkJBRG9BTmlBRUlBSkJBQkNCQVFSL0lBTkJBVFlDTUNBRUlBTWdCU0FGUVFGQkFDQUVLQUlBS0FJVVFRZHhRZG9HYWhFTUFDQUZRUUFnQXlnQ0dFRUJSaHNGQW44Z0JDQURJQVZCQVVFQUlBUW9BZ0FvQWhoQlAzRkJtZ1pxRVFVQUFrQUNRQUpBSUFNb0FpUU9BZ0FDQVFzZ0F5Z0NGRUVBSUFNb0FpaEJBVVlnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkViREFJTFFRQU1BUXNnQXlnQ0dFRUJSd1JBUVFBZ0F5Z0NLRVVnQXlnQ0hFRUJSbkVnQXlnQ0lFRUJSbkZGRFFFYUN5QURLQUlRQ3dzaEJpQURKQVlnQmd1bkRBSUhmd2g5SUFHOElnVkIvLy8vL3dkeElnSkZJQUM4SWdaQmdJQ0EvQU5HY2dSQVF3QUFnRDhQQ3lBR1FmLy8vLzhIY1NJRFFZQ0FnUHdIU3lBQ1FZQ0FnUHdIUzNJRVFDQUFJQUdTRHdzZ0JrRUFTQ0lJQkg4Z0FrSC8vLy9iQkVzRWYwRUNCU0FDUWYvLy8vc0RTd1IvUVFJZ0FrR1dBU0FDUVJkMmF5SUVkaUlIUVFGeGEwRUFJQWNnQkhRZ0FrWWJCVUVBQ3dzRlFRQUxJUVFDUUNBRlFmLy8vLzhIY1NJSFFZQ0FnUHdIU0FSQUlBZEJnSUNBL0FOckRRRWdBRU1BQUlBL0lBQ1ZJQVZCZjBvYkR3VWdCMEdBZ0lEOEIyc05BU0FEUVlDQWdQd0RSZ1JBUXdBQWdEOFBDeUFGUVg5S0lRSWdBMEdBZ0lEOEEwc0VRQ0FCUXdBQUFBQWdBaHNQQlVNQUFBQUFJQUdNSUFJYkR3c0FDd0FMSUFWQmdJQ0FnQVJHQkVBZ0FDQUFsQThMSUFWQmdJQ0ErQU5HSUFaQmYwcHhCRUFnQUpFUEN5QUFpeUVKQWtBQ1FBSkFJQU5GSUFOQmdJQ0FnQVJ5UVlDQWdQd0hSbklFUUVNQUFJQS9JQW1WSUFrZ0JVRUFTQnNoQUNBSVJRUkFJQUFQQ3lBRUlBTkJnSUNBaEh4cWNnUkFJQUNNSUFBZ0JFRUJSaHNQQ3d3QkN5QUlCRUFDUUFKQUFrQWdCQTRDQkFBQkMwTUFBSUMvSVFzTUFRdERBQUNBUHlFTEN3VkRBQUNBUHlFTEN5QUNRWUNBZ09nRVN3UkFBa0FnQTBINC8vLzdBMGtFUUNBTFE4cnlTWEdVUThyeVNYR1VJQXREWUVLaURaUkRZRUtpRFpRZ0JVRUFTQnNQQ3lBRFFZZUFnUHdEVFFSQUlBbERBQUNBdjVJaUFFTUFxcmcvbENJS0lBQkRjS1hzTnBRZ0FDQUFsRU1BQUFBL0lBQkRxNnFxUGlBQVF3QUFnRDZVazVTVGxFTTdxcmcvbEpNaUFKSzhRWUJnY2I0aURDRUpJQXdnQ3BNaENnd0JDeUFMUThyeVNYR1VROHJ5U1hHVUlBdERZRUtpRFpSRFlFS2lEWlFnQlVFQVNoc1BDd1VnQ1VNQUFJQkxsTHdnQXlBRFFZQ0FnQVJKSWdNYklnUkJGM1ZCNlg1QmdYOGdBeHRxSVFJZ0JFSC8vLzhEY1NJRVFZQ0FnUHdEY2lFRElBUkI4b2p6QUVrRVFFRUFJUVFGSUFSQjErZjJBa2tpQmlFRUlBSWdCa0VCYzBFQmNXb2hBaUFESUFOQmdJQ0FmR29nQmhzaEF3c2dCRUVDZEVIQWlnRnFLZ0lBSWc0Z0E3NGlDaUFFUVFKMFFiQ0tBV29xQWdBaURKTWlEVU1BQUlBL0lBd2dDcEtWSWcrVUlnbThRWUJnY2I0aUFDQUFJQUNVSWhCREFBQkFRSklnQ1NBQWtpQVBJQTBnQTBFQmRVR0E0UC8vZlhGQmdJQ0FnQUp5UVlDQWdBSnFJQVJCRlhScXZpSU5JQUNVa3lBS0lBMGdESk9USUFDVWs1UWlDcFFnQ1NBSmxDSUFJQUNVSUFBZ0FDQUFJQUFnQUVOQzhWTStsRU5WTW13K2twUkRCYU9MUHBLVVE2dXFxajZTbEVPM2JkcytrcFJEbXBrWlA1S1VraUlNa3J4QmdHQnh2aUlBbENJTklBb2dBSlFnQ1NBTUlBQkRBQUJBd0pJZ0VKT1RsSklpQ1pLOFFZQmdjYjRpQUVNQVFIWS9sQ0lLSUFSQkFuUkJ1SW9CYWlvQ0FDQUpJQUFnRFpPVFEwODRkaitVSUFCRHhpUDJPSlNUa2lJQWtwSWdBcklpREpLOFFZQmdjYjRpRFNFSklBMGdESk1nRHBNZ0NwTWhDZ3NnQUNBS2t5QUJsQ0FCSUFWQmdHQnh2aUlBa3lBSmxKSWhBU0FKSUFDVUlnQWdBWklpQ2J3aUEwR0FnSUNZQkVvTkFRSkFBa0FnQTBHQWdJQ1lCRVlFUUNBQlF6eXFPRE9TSUFrZ0FKTmVCRUFNQlFWQmdJQ0FtQVFoQWd3Q0N3QUZBa0FnQTBILy8vLy9CM0VpQWtHQWdOaVlCRXNOQmlBQklBa2dBSk5mUlNBRFFZQ0EySmg4UjNJRVFDQUNRWUNBZ1BnRFN3UkFEQVFGUVFBaEFnd0NDd0FMREFZTEN3d0JDeUFEUVlDQWdBUWdBa0VYZGtHQ2YycDJhaUlDUVJkMlFmOEJjU0VGSUFBZ0FrR0FnSUI4SUFWQmdYOXFkWEcra3lJSklRQkJBQ0FDUWYvLy93TnhRWUNBZ0FSeVFaWUJJQVZyZGlJQ2F5QUNJQU5CQUVnYklRSWdBU0FKa3J3aEF3c2dDME1BQUlBL0lBTkJnSUIrY2I0aUNVTUFjakUvbENJS0lBbERqTDYvTlpRZ0FTQUpJQUNUazBNWWNqRS9sSklpQ1pJaUFDQUFJQUFnQUpRaUFTQUJJQUVnQVNBQlEweTdNVE9VUXc3cTNiV1NsRU5WczRvNGtwUkRZUXMydTVLVVE2dXFLajZTbEpNaUFaUWdBVU1BQUFEQWtwVWdDU0FBSUFxVGt5SUJJQUFnQVpTU2t5QUFrNU1pQUx3Z0FrRVhkR29pQTBHQWdJQUVTQVI5SUFBZ0FoRDFCQVVnQTc0TGxBOExJQUFnQUpNaUFDQUFsUThMSUF0RHl2SkpjWlJEeXZKSmNaUVBDeUFMUTJCQ29nMlVRMkJDb2cyVUM4QUJBUUovSXdZaEFTTUdRUkJxSkFZZ0FMMUNJSWluUWYvLy8vOEhjU0lDUWZ6RHBQOERTUVJBSUFKQmdJREE4Z05QQkVBZ0FFUUFBQUFBQUFBQUFFRUFFTlFCSVFBTEJRSjhJQUFnQUtFZ0FrSC8vNy8vQjBzTkFCb0NRQUpBQWtBQ1FDQUFJQUVRL0FKQkEzRU9Bd0FCQWdNTElBRXJBd0FnQVNzRENFRUJFTlFCREFNTElBRXJBd0FnQVNzRENCRFRBUXdDQ3lBQkt3TUFJQUVyQXdoQkFSRFVBWm9NQVFzZ0FTc0RBQ0FCS3dNSUVOTUJtZ3NoQUFzZ0FTUUdJQUFMeUFFQ0FuOEJmQ01HSVFFakJrRVFhaVFHSUFDOVFpQ0lwMEgvLy8vL0IzRWlBa0g4dzZUL0Ewa0VmQ0FDUVo3Qm12SURTUVI4UkFBQUFBQUFBUEEvQlNBQVJBQUFBQUFBQUFBQUVOTUJDd1VDZkNBQUlBQ2hJQUpCLy8rLy93ZExEUUFhQWtBQ1FBSkFBa0FnQUNBQkVQd0NRUU54RGdNQUFRSURDeUFCS3dNQUlBRXJBd2dRMHdFTUF3c2dBU3NEQUNBQkt3TUlRUUVRMUFHYURBSUxJQUVyQXdBZ0FTc0RDQkRUQVpvTUFRc2dBU3NEQUNBQkt3TUlRUUVRMUFFTEN5RURJQUVrQmlBREM5a0NBUVovSXdZaENDTUdRWkFDYWlRR0lBaEJnQUpxSWdjZ0FTZ0NBQ0lFTmdJQUlBTkJnQUlnQUVFQVJ5SUpHeUVGSUFBZ0NDQUpHeUVBSUFWQkFFY2dCRUVBUjNFRVFBSkFRUUFoQXdOQUFrQWdBaUFGVHlJR0lBSkJJRXR5UlEwQ0lBSWdCU0FDSUFZYklnUnJJUUlnQUNBSElBUVE4d1FpQkVGL1JnMEFJQVZCQUNBRUlBQWdDRVlpQmh0cklRVWdBQ0FBSUFScUlBWWJJUUFnQXlBRWFpRURJQWNvQWdBaUJFRUFSeUFGUVFCSGNRMEJEQUlMQzBGL0lRTkJBQ0VGSUFjb0FnQWhCQXNGUVFBaEF3c2dCQVJBSUFWQkFFY2dBa0VBUjNFRVFBSkFBMEFnQUNBRUtBSUFFSjRCSWdaQkFXcEJBazhFUUNBSElBY29BZ0JCQkdvaUJEWUNBQ0FBSUFacUlRQWdBeUFHYWlFRElBVWdCbXNpQlVFQVJ5QUNRWDlxSWdKQkFFZHhEUUVNQWdzTElBWUVRRUYvSVFNRklBZEJBRFlDQUFzTEN3c2dDUVJBSUFFZ0J5Z0NBRFlDQUFzZ0NDUUdJQU1MYVFFQ2Z5QUFJQUZyUVFKMUlBSkpCRUFEUUNBQ1FYOXFJZ0pCQW5RZ0FHb2dBa0VDZENBQmFpZ0NBRFlDQUNBQ0RRQUxCU0FDQkVBRFFDQUJRUVJxSVFNZ0FFRUVhaUVFSUFBZ0FTZ0NBRFlDQUNBQ1FYOXFJZ0lFUUNBRElRRWdCQ0VBREFFTEN3c0xDNGdCQVFWL0lBQW9BZ1FpQlNBQktBSUlSZ1IvSUFBb0FnZ2lCaUFCS0FJRVJnUi9JQUFvQWdBaEFBTi9JQUlnQlVnRWZ5QUJLQUlBSUFKQkFuUnFJUU5CQUNFRUEwQWdCQ0FHU0FSQUlBQWdBeWdDQURZQ0FDQUZRUUowSUFOcUlRTWdCRUVCYWlFRUlBQkJCR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0ZRWDhMQ3lvQkFYOGdBZ1JBQTBBZ0FFRUVhaUVESUFBZ0FUWUNBQ0FDUVg5cUlnSUVRQ0FESVFBTUFRc0xDd3RrQVFKL0lBQVFZQ0FBYWlFQUlBSUVRQUpBSUFJaEF5QUJJUUlnQUNFQkEzOGdBaXdBQUNJRVJRMEJJQUpCQVdvaEFpQUJRUUZxSVFBZ0FTQUVPZ0FBSUFOQmYyb2lBd1IvSUFBaEFRd0JCU0FBQ3dzaEFRc0ZJQUFoQVFzZ0FVRUFPZ0FBQzlVQkFRUi9RZkdwQVNFQ0l3WWhBeU1HUVNCcUpBWUNRQUpBUWZHcEFTd0FBQ0lCUlEwQVFmS3BBU3dBQUVVTkFDQURRUUJCSUJCRkdrSHhxUUVzQUFBaUFRUkFBMEFnQVVIL0FYRWlBVUVGZGtFQ2RDQURhaUlFSUFRb0FnQkJBU0FCUVI5eGRISTJBZ0FnQWtFQmFpSUNMQUFBSWdFTkFBc0xJQUFzQUFBaUFRUkFBa0FnQUNFQ0EwQWdBVUgvQVhFaUFVRUZka0VDZENBRGFpZ0NBRUVCSUFGQkgzRjBjUTBCSUFKQkFXb2lBaXdBQUNJQkRRQUxDd1VnQUNFQ0N3d0JDeUFBSUFFUXFnSWhBZ3NnQXlRR0lBSWdBR3NMbEFFQkEzOERRQ0FBUVFGcUlRRWdBQ3dBQUJDeUFRUkFJQUVoQUF3QkN3c0Nmd0pBQWtBQ1FBSkFJQUFzQUFBaUEwRXJhdzREQVFJQUFndEJBU0VBREFJTFFRQWhBQXdCQ3lBRERBRUxJQUFoQWlBQklnQXNBQUFMRUlvQkJFQkJBQ0VCQTBBZ0FVRUtiRUV3YWlBQUxBQUFheUVCSUFCQkFXb2lBQ3dBQUJDS0FRMEFDd1ZCQUNFQkN5QUJRUUFnQVdzZ0Foc0xaQUlCZndGK0lBQW9BaWdoQVNBQVFnQWdBQ2dDQUVHQUFYRUVmMEVDUVFFZ0FDZ0NGQ0FBS0FJY1N4c0ZRUUVMSUFGQkEzRkJwZ05xRVJRQUlnSkNBRmtFUUNBQUtBSVVJQUFvQWh4cnJDQUNJQUFvQWdnZ0FDZ0NCR3VzZlh3aEFnc2dBZ3VCQXdFSGZ5TUdJUVVqQmtHUUNHb2tCaUFGUVlBSWFpSUlJQUVvQWdBaUJqWUNBQ0FEUVlBQ0lBQkJBRWNpQ1JzaEJ5QUFJQVVpQ2lBSkd5RURJQWRCQUVjZ0JpSUZRUUJIY1FSQUFrQkJBQ0VBQTBBQ1FDQUNRUUoySWdZZ0IwOGlDeUFDUVlNQlMzSkZEUUlnQWlBSElBWWdDeHNpQldzaEFpQURJQWdnQlNBRUVQNENJZ1ZCZjBZTkFDQUhRUUFnQlNBRElBcEdJZ1liYXlFSElBTWdCVUVDZENBRGFpQUdHeUVESUFBZ0JXb2hBQ0FJS0FJQUlnVkJBRWNnQjBFQVIzRU5BUXdDQ3d0QmZ5RUFRUUFoQnlBSUtBSUFJUVVMQlVFQUlRQUxJQVVFUUNBSFFRQkhJQUpCQUVkeEJFQUNRQU5BSUFNZ0JTQUNJQVFRMXdFaUJrRUNha0VEVHdSQUlBZ2dCaUFJS0FJQWFpSUZOZ0lBSUFOQkJHb2hBeUFBUVFGcUlRQWdCMEYvYWlJSFFRQkhJQUlnQm1zaUFrRUFSM0VOQVF3Q0N3c0NRQUpBQWtBZ0JrRi9hdzRDQUFFQ0N5QUdJUUFNQWdzZ0NFRUFOZ0lBREFFTElBUkJBRFlDQUFzTEN5QUpCRUFnQVNBSUtBSUFOZ0lBQ3lBS0pBWWdBQXVJQVFFRmZ5QUFLQUlFSWdVZ0FTZ0NDRVlFZnlBQUtBSUlJZ1lnQVNnQ0JFWUVmeUFBS0FJQUlRQURmeUFDSUFWSUJIOGdBU2dDQUNBQ1FRTjBhaUVEUVFBaEJBTkFJQVFnQmtnRVFDQUFJQU1yQXdBNUF3QWdCVUVEZENBRGFpRURJQVJCQVdvaEJDQUFRUWhxSVFBTUFRc0xJQUpCQVdvaEFnd0JCVUVBQ3dzRlFYOExCVUYvQ3d0N0FRRi9Ba0FnQUNnQ1RFRUFUZ1JBQWtBZ0FDd0FTMEVLUmcwQUlBQW9BaFFpQVNBQUtBSVFUdzBBSUFBZ0FVRUJhallDRkNBQlFRbzZBQUFNQWdzZ0FCQ1pBd3dCQ3lBQUxBQkxRUXBIQkVBZ0FDZ0NGQ0lCSUFBb0FoQkpCRUFnQUNBQlFRRnFOZ0lVSUFGQkNqb0FBQXdDQ3dzZ0FCQ1pBd3NMeFFNQkJIOGpCaUVHSXdaQkVHb2tCZ0pBSUFBRVFDQUNRUU5MQkVBQ1FDQUNJUU1nQVNnQ0FDRUVBMEFDUUNBRUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUFJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFESUFWcklRTWdBQ0FGYWdVZ0FDQUZPZ0FBSUFOQmYyb2hBeUFCS0FJQUlRUWdBRUVCYWdzaEFDQUJJQVJCQkdvaUJEWUNBQ0FEUVFOTERRRWdBeUVFREFJTEN5QUFRUUE2QUFBZ0FVRUFOZ0lBSUFJZ0Eyc2hBZ3dEQ3dVZ0FpRUVDeUFFQkVBZ0FDRURJQUVvQWdBaEFBSkFBMEFDUUNBQUtBSUFJZ1ZCZjJwQi9nQkxCSDhnQlVVTkFTQUdJQVVRbmdFaUJVRi9SZ1JBUVg4aEFnd0hDeUFFSUFWSkRRTWdBeUFBS0FJQUVKNEJHaUFESUFWcUlRTWdCQ0FGYXdVZ0F5QUZPZ0FBSUFOQkFXb2hBeUFCS0FJQUlRQWdCRUYvYWdzaEJDQUJJQUJCQkdvaUFEWUNBQ0FFRFFFTUJRc0xJQU5CQURvQUFDQUJRUUEyQWdBZ0FpQUVheUVDREFNTElBSWdCR3NoQWdzRklBRW9BZ0FpQUNnQ0FDSUJCRUJCQUNFQ0EwQWdBVUgvQUVzRVFDQUdJQUVRbmdFaUFVRi9SZ1JBUVg4aEFnd0ZDd1ZCQVNFQkN5QUJJQUpxSVFJZ0FFRUVhaUlBS0FJQUlnRU5BQXNGUVFBaEFnc0xDeUFHSkFZZ0FndGFBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUNLQUlBTmdJQVFRQkJBQ0FCSUFNUXFRRWlCRUVBU0FSL1FYOEZJQUFnQkVFQmFpSUVFRVFpQURZQ0FDQUFCSDhnQUNBRUlBRWdBaENwQVFWQmZ3c0xJUVVnQXlRR0lBVUxtd0VCQW44Z0FVSC9BRW9FUUNBQVF3QUFBSCtVSWdCREFBQUFmNVFnQUNBQlFmNEJTaUlDR3lFQUlBRkJnbjVxSWdOQi93QWdBMEgvQUVnYklBRkJnWDlxSUFJYklRRUZJQUZCZ245SUJFQWdBRU1BQUlBQWxDSUFRd0FBZ0FDVUlBQWdBVUdFZmtnaUFoc2hBQ0FCUWZ3QmFpSURRWUovSUFOQmduOUtHeUFCUWY0QWFpQUNHeUVCQ3dzZ0FDQUJRUmQwUVlDQWdQd0RhcjZVQzRNR0FncC9BbjBqQmlFSkl3WkIwQTlxSkFZZ0FVSDBBMG9FUUVFQUlRQUZBa0FDUUFKQUFrQWdBUTRDQUFFQ0MwRUFJUUFNQWdzZ0FFTUFBSUEvSUFBcUFnQ1ZPQUlBREFFTEEwQWdCU0FCU0FSQUlBVkJBblFnQ1dvZ0JUWUNBQ0FGUVFGcUlRVU1BUXNMSUFGQmYycEJBblFnQUdvaURDRUtBMEFnQmlBQlNBUkFRd0FBQUFBaERTQUNJQVpzUVFKMElBQnFJZ1VoQjBGL0lRUWdCaUVEQTBBZ0FTQURSd1JBSUEwZ0J5b0NBSXNpRGwwaENDQU9JQTBnQ0JzaERTQUNRUUowSUFkcUlRY2dBeUFFSUFnYklRUWdBMEVCYWlFRERBRUxDeUFFUVg5R0lBMUQvK2JiTGw5eUJFQkJBQ0VBREFNRklBUkJBblFnQ1dvaUF5Z0NBQ0VISUFNZ0JrRUNkQ0FKYWlJREtBSUFOZ0lBSUFNZ0J6WUNBRUVBSVFjZ0JTRURJQUlnQkd4QkFuUWdBR29oQkFOQUlBRWdCMGNFUUNBRUtBSUFJUWdnQkNBREtBSUFOZ0lBSUFNZ0NEWUNBQ0FIUVFGcUlRY2dBMEVFYWlFRElBUkJCR29oQkF3QkN3c2dCU29DQUNFTlFRRWhCQ0FGSVFNRFFDQUJJQVJIQkVBZ0F5QURRUVJxSWdNcUFnQWdEWlU0QWdBZ0JFRUJhaUVFREFFTEN5QUtRd0FBZ0Q4Z0RaVTRBZ0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFQ2RDQUFhaUlES2dJQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQkdvaUF5b0NBQ0FOSUFjcUFnQ1VremdDQUNBSFFRUnFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaW9DQUpTTU9BSUFDeUFJUVFGcUlRZ2dBa0VDZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFQ2RDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUUowSUFCcUlRWWdBMEVDZENBQWFpRURBMEFnQkNBQlNBUkFJQU1vQWdBaEJ5QURJQVlvQWdBMkFnQWdCaUFITmdJQUlBUkJBV29oQkNBQ1FRSjBJQVpxSVFZZ0FrRUNkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFML1FFQkJYOUI4YWtCSVFFakJpRURJd1pCSUdva0JpQURRZ0EzQXdBZ0EwSUFOd01JSUFOQ0FEY0RFQ0FEUWdBM0F4aEI4YWtCTEFBQUlnSUVmd0ovUWZLcEFTd0FBRVVFUUNBQUlRRURRQ0FCUVFGcUlRUWdBaUFCTEFBQVJnUkFJQVFoQVF3QkN3c2dBU0FBYXd3QkN3TkFJQUpCL3dGeElnSkJCWFpCQW5RZ0Eyb2lCQ0FFS0FJQVFRRWdBa0VmY1hSeU5nSUFJQUZCQVdvaUFTd0FBQ0lDRFFBTElBQXNBQUFpQWdSQUFrQWdBQ0VCQTBBZ0FrSC9BWEVpQkVFRmRrRUNkQ0FEYWlnQ0FFRUJJQVJCSDNGMGNVVU5BU0FCUVFGcUlnRXNBQUFpQWcwQUN3c0ZJQUFoQVFzZ0FTQUFhd3NGUVFBTElRVWdBeVFHSUFVTGt3WUNDbjhDZkNNR0lRa2pCa0hRRDJva0JpQUJRZlFEU2dSQVFRQWhBQVVDUUFKQUFrQUNRQ0FCRGdJQUFRSUxRUUFoQUF3Q0N5QUFSQUFBQUFBQUFQQS9JQUFyQXdDak9RTUFEQUVMQTBBZ0JTQUJTQVJBSUFWQkFuUWdDV29nQlRZQ0FDQUZRUUZxSVFVTUFRc0xJQUZCZjJwQkEzUWdBR29pRENFS0EwQWdCaUFCU0FSQVJBQUFBQUFBQUFBQUlRMGdBaUFHYkVFRGRDQUFhaUlGSVFkQmZ5RUVJQVloQXdOQUlBRWdBMGNFUUNBTklBY3JBd0NaSWc1aklRZ2dEaUFOSUFnYklRMGdBa0VEZENBSGFpRUhJQU1nQkNBSUd5RUVJQU5CQVdvaEF3d0JDd3NnQkVGL1JpQU5STHU5MTluZmZOczlaWElFUUVFQUlRQU1Bd1VnQkVFQ2RDQUphaUlES0FJQUlRY2dBeUFHUVFKMElBbHFJZ01vQWdBMkFnQWdBeUFITmdJQVFRQWhCeUFGSVFNZ0FpQUViRUVEZENBQWFpRUVBMEFnQVNBSFJ3UkFJQVFyQXdBaERTQUVJQU1yQXdBNUF3QWdBeUFOT1FNQUlBZEJBV29oQnlBRFFRaHFJUU1nQkVFSWFpRUVEQUVMQ3lBRkt3TUFJUTFCQVNFRUlBVWhBd05BSUFFZ0JFY0VRQ0FESUFOQkNHb2lBeXNEQUNBTm96a0RBQ0FFUVFGcUlRUU1BUXNMSUFwRUFBQUFBQUFBOEQ4Z0RhTTVBd0JCQUNFSUlBd2hCQU5BSUFFZ0NFY0VRQ0FHSUFoSEJFQWdBaUFJYkVFRGRDQUFhaUlES3dNQUlRMGdCU0VIUVFFaEN3TkFJQUVnQzBjRVFDQURJQU5CQ0dvaUF5c0RBQ0FOSUFjckF3Q2lvVGtEQUNBSFFRaHFJUWNnQzBFQmFpRUxEQUVMQ3lBRUlBMGdDaXNEQUtLYU9RTUFDeUFJUVFGcUlRZ2dBa0VEZENBRWFpRUVEQUVMQ3lBR1FRRnFJUVlnQWtFRGRDQUthaUVLREFJTEFBc0xRUUFoQlFOQUlBVWdBVWdFUUNBRklRTURRQUpBSUFOQkFuUWdDV29oQmlBRElBRk9EUUFnQlNBR0tBSUFSZzBBSUFOQkFXb2hBd3dCQ3dzZ0JpQUZRUUowSUFscUtBSUFOZ0lBUVFBaEJDQUZRUU4wSUFCcUlRWWdBMEVEZENBQWFpRURBMEFnQkNBQlNBUkFJQU1yQXdBaERTQURJQVlyQXdBNUF3QWdCaUFOT1FNQUlBUkJBV29oQkNBQ1FRTjBJQVpxSVFZZ0FrRURkQ0FEYWlFRERBRUxDeUFGUVFGcUlRVU1BUXNMQ3dzZ0NTUUdJQUFMbEFJQkFYOENRQUpBSUFBZ0FYTkJBM0VOQUFKQUlBSkJBRWNpQXlBQlFRTnhRUUJIY1FSQUEwQWdBQ0FCTEFBQUlnTTZBQUFnQTBVTkFpQUFRUUZxSVFBZ0FrRi9haUlDUVFCSElnTWdBVUVCYWlJQlFRTnhRUUJIY1EwQUN3c2dBd1JBSUFFc0FBQUVRQ0FDUVFOTEJFQURRQ0FCS0FJQUlnTkIvLzM3ZDJvZ0EwR0FnWUtFZUhGQmdJR0NoSGh6Y1VVRVFDQUFJQU0yQWdBZ0FVRUVhaUVCSUFCQkJHb2hBQ0FDUVh4cUlnSkJBMHNOQVFzTEN3d0RDd1ZCQUNFQ0N3c01BUXNnQWdSL0lBRWhBeUFDSVFFRGZ5QUFJQU1zQUFBaUFqb0FBQ0FDUlFSQUlBRWhBZ3dEQ3lBRFFRRnFJUU1nQUVFQmFpRUFJQUZCZjJvaUFRMEFRUUFMQlVFQUN5RUNDeUFBUVFBZ0FoQkZHZ3RBQVFKL0lBSUVRQ0FCSVFNZ0FDRUJBMEFnQTBFRWFpRUFJQUZCQkdvaEJDQUJJQU1vQWdBMkFnQWdBa0YvYWlJQ0JFQWdBQ0VESUFRaEFRd0JDd3NMQ3dNQUFRc3NBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJZ0FUWUNCRUhiQUNBQ0VESVFtZ01hSUFJa0JndldBUUVGZnlNR0lRSWpCa0VnYWlRR1FRQVFoZ01FUUFOQVFRRWdBSFJCLy8vLy93ZHhCRUFnQUVFQ2RDQUFRWWFUQXhDRkF6WUNBQXNnQUVFQmFpSUFRUVpIRFFBTEJRSkFBMEFnQkVFQklBQjBRZi8vLy84SGNTSURSVUVBY1FSL0lBQkJBblFvQWdBRklBQkJocE1EUWFmVkF5QURHeENGQXdzaUEwRUFSMm9oQkNBQVFRSjBJQUpxSUFNMkFnQWdBRUVCYWlJQVFRWkhEUUFMQWtBQ1FBSkFJQVJCLy8vLy93ZHhEZ0lBQVFJTFFjekVBeUVCREFJTElBSW9BZ0JCOEljQlJnUkFRWXlJQVNFQkN3c0xDeUFDSkFZZ0FRdXJBd0lKZndKOElBQW9BZ1FpQlVFQlNDQUFLQUlJSWdaQkFVaHlCSDlCZndVZ0FTZ0NCQ0FGUmdSL0lBRW9BZ2dnQlVZRWZ5QUNLQUlFSUFWR0JIOGdBaWdDQ0NBR1JnUi9JQU1vQWdRZ0JVWUVmeUFDS0FJQUlRSURRQUpBSUFRZ0JVNE5BQ0FES0FJQUlBUkJBM1JxS3dNQUlnMUV2SW5ZbDdMU25EeGpEUUJFQUFBQUFBQUE4RDhnRFptZm95RU9JQVFnQld3aERFRUFJUWNnQWlFSUEwQWdCaUFIUndSQVFRQWhDU0FCS0FJQUlBeEJBM1JxSVFwRUFBQUFBQUFBQUFBaERTQUFLQUlBSUFkQkEzUnFJUXNEUUNBRklBbEhCRUFnRFNBS0t3TUFJQXNyQXdDaW9DRU5JQWxCQVdvaENTQUtRUWhxSVFvZ0JrRURkQ0FMYWlFTERBRUxDeUFJSUE0Z0RhSTVBd0FnQjBFQmFpRUhJQWhCQ0dvaENBd0JDd3NnQkVFQmFpRUVJQVpCQTNRZ0Ftb2hBZ3dCQ3dzZ0FpRUFBMzhnQkNBRlNBUi9JQU1vQWdBZ0JFRURkR3BFQUFBQUFBQUFBQUE1QXdCQkFDRUJBMEFnQVNBR1NBUkFJQUJFQUFBQUFBQUFBQUE1QXdBZ0FVRUJhaUVCSUFCQkNHb2hBQXdCQ3dzZ0JFRUJhaUVFREFFRlFRQUxDd1ZCZndzRlFYOExCVUYvQ3dWQmZ3c0ZRWDhMQ3d1T0FRRUNmd0pBQWtBRFFDQUNRYkRhQUdvdEFBQWdBRWNFUUNBQ1FRRnFJZ0pCMXdCSERRRkIxd0FoQWd3Q0N3c2dBZzBBUVpEYkFDRUFEQUVMUVpEYkFDRUFBMEFnQUNFREEwQWdBMEVCYWlFQUlBTXNBQUFFUUNBQUlRTU1BUXNMSUFKQmYyb2lBZzBBQ3dzZ0FTZ0NGQ0lCQkg4Z0FTZ0NBQ0FCS0FJRUlBQVFtd1VGUVFBTElnRWdBQ0FCR3dzMUFDQUJCSDhDZndOQUlBQWdBVUYvYWlJQmFpMEFBRUV2UndSQUlBRUVRQXdDQlVFQURBTUxBQXNMSUFBZ0FXb0xCVUVBQ3d1c0FRRURmMEdjdUFFaEFpQUFRWnk0QVhOQkEzRkZCRUJCbkxnQktBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNVVUVRQU4vSUFCQkJHb2hBU0FBSUFNMkFnQWdBa0VFYWlJQ0tBSUFJZ05CLy8zN2Qyb2dBMEdBZ1lLRWVIRkJnSUdDaEhoemNRUi9JQUVGSUFFaEFBd0JDd3NoQUFzTElBQWdBaXdBQUNJQk9nQUFJQUVFUUFOQUlBQkJBV29pQUNBQ1FRRnFJZ0lzQUFBaUFUb0FBQ0FCRFFBTEN3czFBUUovSUFJZ0FDZ0NFQ0FBS0FJVUlnUnJJZ01nQXlBQ1N4c2hBeUFFSUFFZ0F4Qk1HaUFBSUFBb0FoUWdBMm8yQWhRZ0FndVVDUUlZZndkOEl3WWhHQ01HUVJCcUpBWWdHQ0VNSUFBb0FnUWlCaUFBS0FJSVJ5QUdRUUpJY2dSL1FYOEZJQUVvQWdRZ0JrWUVmeUFHRU9jQ0lnMEVmd0ovSUF3Z0JrRi9haUlSTmdJRUlBd2dEU2dDQUVFSWFqWUNBQ0FBSUFFZ0RCQ0hDMEVBU0FSQUlBMFF6d0ZCZnd3QkN5QU5LQUlBSWdoRUFBQUFBQUFBQUFBNUF3QWdFU0VEQTBBZ0EwRUFTZ1JBSUFNaEJ3TkFJQWRCQUVvRVFDQUhRUU4wSUFocUt3TUFtU0FCS0FJQUlnVWdCMEYvYWlJQ1FRTjBhaXNEQUprZ0IwRURkQ0FGYWlzREFKbWdSSTN0dGFEM3hyQStvbVFFUUNBQ0lRY01BZ3NMQ3lBRFFYOXFJUWtnQXlBSFJ3UkFBa0FnQTBFRGRDQUlhaUVTSUFkQkFXcEJBM1FnQ0dvaEUwRUFJUVVEUUNBRlFlTUFTdzBCSUFWQkFXb2hCU0FTS3dNQUloc2dHNklpR2lBQktBSUFJZzRnQ1VFRGRHb2lGQ3NEQUNBRFFRTjBJQTVxSWhVckF3QWlHNkZFQUFBQUFBQUE0RCtpSWg4Z0g2S2dueUVjSUJNckF3QWhIU0FISWdKQkEzUWdEbW9yQXdBZ0c2RWdHaUFmSUJ5YUlCd2dIMFFBQUFBQUFBQUFBR01ib0tPZ0lSc0RRQ0FDSUFOSUJFQWdHNWtpR2lBZG1XWUVRQ0FhUkx5SjJKZXkwcHc4WkFSOFJBQUFBQUFBQVBBL0lCMmFJQnVqSWh3Z0hLSkVBQUFBQUFBQThEK2duNk1pR2lFZUlCd2dHcUlGUkFBQUFBQUFBUEEvSVI1RUFBQUFBQUFBQUFBTElSb0ZSQUFBQUFBQUFQQS9JQnVhSUIyaklod2dIS0pFQUFBQUFBQUE4RCtnbjZNaEdpQWNJQnFpSVI0TElBSkJBM1FnRG1vaUR5c0RBQ0ljSUFKQkFXb2lDa0VEZENBT2FpSUVLd01BSWgraElTQWdEeUFjSUJvZ0dpQWdvaUFlUkFBQUFBQUFBQUJBb2lBS1FRTjBJQWhxSWhBckF3Q2lvS0lpSEtFNUF3QWdCQ0FmSUJ5Z09RTUFJQUpCQTNRZ0NHb2hCQ0FDSUFkS0JFQWdCQ0FlSUFRckF3Q2lJQjBnR3FLaE9RTUFDeUFRSUJBckF3QWlIQ0FhSUI0Z0lLSWdHa1FBQUFBQUFBQUFRS0lnSEtLaG9xQTVBd0FnQWlBR2JDRVdJQVlnQ213aEYwRUFJUXNEUUNBR0lBdEhCRUFnQUNnQ0FDSVBJQXNnRm1wQkEzUnFJZ1FyQXdBaEd5QUVJQjRnRzZJZ0dpQUxJQmRxUVFOMElBOXFJZ1FyQXdBaUhhS2hPUU1BSUFRZ0dpQWJvaUFlSUIyaW9Ea0RBQ0FMUVFGcUlRc01BUXNMSUFJZ0NVZ0VRQ0FRS3dNQUlSc2dBa0VDYWtFRGRDQUlhaUlDS3dNQUlSMGdBaUFlSUIyaU9RTUFJQm9nSGFLYUlSMExJQW9oQWd3QkN3c2dFaXNEQUprZ0ZDc0RBSmtnRlNzREFKbWdSSTN0dGFEM3hyQStvbVFOQUFzTEN5QUpJUU1NQVFzTFFRQWhBd05BSUFNZ0VVY0VRQ0FCS0FJQUlna2dBMEVEZEdvaUJTc0RBQ0lkSVJvZ0F5SUNRUUZxSWdjaEJBTkFJQVFnQmtnRVFDQUVRUU4wSUFscUt3TUFJaHNnR21RaENpQWJJQm9nQ2hzaEdpQUVJQUlnQ2hzaEFpQUVRUUZxSVFRTUFRc0xJQUpCQTNRZ0NXb2dIVGtEQUNBRklCbzVBd0FnQXlBR2JFRURkQ0FBS0FJQUlnTnFJUVVnQWlBR2JFRURkQ0FEYWlFQ1FRQWhBd05BSUFNZ0JrY0VRQ0FDS3dNQUlSc2dBaUFGS3dNQU9RTUFJQVVnR3prREFDQUZRUWhxSVFVZ0FrRUlhaUVDSUFOQkFXb2hBd3dCQ3dzZ0J5RUREQUVMQ3lBTkVNOEJRUUFMQlVGL0N3VkJmd3NMSVJrZ0RDUUdJQmtMTEFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQUtkQkIzRkJNSEk2QUFBZ0FFSURpQ0lBVUVVTkFBc0xJQUVMTkFBZ0FGQkZCRUFEUUNBQlFYOXFJZ0VnQWlBQXAwRVBjVUdnMmdCcUxRQUFjam9BQUNBQVFnU0lJZ0JRUlEwQUN3c2dBUXVoQWdJSmZ3RjhJQUFvQWdRaENTQUFLQUlJSWdJZ0FTZ0NCRVlFUUNBQktBSUlJQUpHQkVBQ1FDQUJLQUlBSWdvaEJnTkFJQU1nQWs0RVFFRUFJUUFNQWd0QkFDRUVJQVloQVFOQUlBSWdCRWNFUUNBRUlBTkpCRUFnQVNBRElBSWdCR3hxUVFOMElBcHFLd01BT1FNQUJRSkFJQUFvQWdBaEJTQUJSQUFBQUFBQUFBQUFPUU1BUVFBaEJ5QURRUU4wSUFWcUlRZ2dCRUVEZENBRmFpRUZSQUFBQUFBQUFBQUFJUXNEUUNBSElBbE9EUUVnQVNBTElBZ3JBd0FnQlNzREFLS2dJZ3M1QXdBZ0IwRUJhaUVISUFKQkEzUWdDR29oQ0NBQ1FRTjBJQVZxSVFVTUFBQUxBQXNMSUFSQkFXb2hCQ0FCUVFocUlRRU1BUXNMSUFOQkFXb2hBeUFDUVFOMElBWnFJUVlNQUFBTEFBc0ZRWDhoQUFzRlFYOGhBQXNnQUF2V0FnRUdmeU1HSVFNakJrSGdBV29rQmlBRFFhQUJhaUlFUWdBM0F3QWdCRUlBTndNSUlBUkNBRGNERUNBRVFnQTNBeGdnQkVJQU53TWdJQU5CMEFGcUlnVWdBaWdDQURZQ0FFRUFJQUVnQlNBRFFkQUFhaUlDSUFRUXBBSkJBRWdFZjBGL0JTQUFLQUpNUVg5S0JIOUJBUVZCQUFzYUlBQW9BZ0FoQmlBQUxBQktRUUZJQkVBZ0FDQUdRVjl4TmdJQUN5QUFLQUl3QkVBZ0FDQUJJQVVnQWlBRUVLUUNJUUVGSUFBb0Fpd2hCeUFBSUFNMkFpd2dBQ0FETmdJY0lBQWdBellDRkNBQVFkQUFOZ0l3SUFBZ0EwSFFBR28yQWhBZ0FDQUJJQVVnQWlBRUVLUUNJUUVnQndSQUlBQkJBRUVBSUFBb0FpUkJQM0ZCeWdGcUVRUUFHaUFCUVg4Z0FDZ0NGQnNoQVNBQUlBYzJBaXdnQUVFQU5nSXdJQUJCQURZQ0VDQUFRUUEyQWh3Z0FFRUFOZ0lVQ3dzZ0FDQUFLQUlBSWdBZ0JrRWdjWEkyQWdCQmZ5QUJJQUJCSUhFYkN5RUlJQU1rQmlBSUN5a0NBWDhCZkNBQktBSUFRUWRxUVhoeElnSXJBd0FoQXlBQklBSkJDR28yQWdBZ0FDQURPUU1BQzh3WEF4Ui9BMzRCZkNNR0lSUWpCa0d3Qkdva0JpQVVRWmdFYWlJTVFRQTJBZ0FnQWIwaUdrSUFVd1IvSUFHYUloMGhBVUdoL2dJaEVpQWR2U0VhUVFFRlFhVCtBa0duL2dKQm92NENJQVJCQVhFYklBUkJnQkJ4R3lFU0lBUkJnUkJ4UVFCSEN5RVRJQlJCSUdvaEJpQVVJZzRoRVNBT1Fad0VhaUlLUVF4cUlROGdHa0tBZ0lDQWdJQ0ErUDhBZzBLQWdJQ0FnSUNBK1A4QVVRUi9JQUJCSUNBQ0lCTkJBMm9pQXlBRVFmLy9lM0VRZFNBQUlCSWdFeEJ5SUFCQnZQNENRY0QrQWlBRlFTQnhRUUJISWdVYlFiVCtBa0c0L2dJZ0JSc2dBU0FCWWh0QkF4QnlJQUJCSUNBQ0lBTWdCRUdBd0FCekVIVWdBd1VDZnlBQklBd1FpZ05FQUFBQUFBQUFBRUNpSWdGRUFBQUFBQUFBQUFCaUlnY0VRQ0FNSUF3b0FnQkJmMm8yQWdBTElBVkJJSElpQzBIaEFFWUVRQ0FTUVFscUlCSWdCVUVnY1NJSkd5RUlRUXdnQTJzaUIwVWdBMEVMUzNKRkJFQkVBQUFBQUFBQUlFQWhIUU5BSUIxRUFBQUFBQUFBTUVDaUlSMGdCMEYvYWlJSERRQUxJQWdzQUFCQkxVWUVmQ0FkSUFHYUlCMmhvSm9GSUFFZ0hhQWdIYUVMSVFFTElBOUJBQ0FNS0FJQUlnWnJJQVlnQmtFQVNCdXNJQThRdmdFaUIwWUVRQ0FLUVF0cUlnZEJNRG9BQUFzZ0UwRUNjaUVLSUFkQmYyb2dCa0VmZFVFQ2NVRXJham9BQUNBSFFYNXFJZ2NnQlVFUGFqb0FBQ0FEUVFGSUlRd2dCRUVJY1VVaERTQU9JUVVEUUNBRklBa2dBUkJ6SWdaQm9Ob0FhaTBBQUhJNkFBQWdBU0FHdDZGRUFBQUFBQUFBTUVDaUlRRWdCVUVCYWlJR0lCRnJRUUZHQkg4Z0RTQU1JQUZFQUFBQUFBQUFBQUJoY1hFRWZ5QUdCU0FHUVM0NkFBQWdCVUVDYWdzRklBWUxJUVVnQVVRQUFBQUFBQUFBQUdJTkFBc0NmeUFEUlNBRlFYNGdFV3RxSUFOT2NrVUVRQ0FQSUFOQkFtcHFJQWRySVFzZ0J3d0JDeUFGSUE4Z0VXc2dCMnRxSVFzZ0J3c2hCaUFBUVNBZ0FpQUtJQXRxSWdNZ0JCQjFJQUFnQ0NBS0VISWdBRUV3SUFJZ0F5QUVRWUNBQkhNUWRTQUFJQTRnQlNBUmF5SUZFSElnQUVFd0lBc2dCU0FQSUFacklnWnFhMEVBUVFBUWRTQUFJQWNnQmhCeUlBQkJJQ0FDSUFNZ0JFR0F3QUJ6RUhVZ0F3d0JDeUFIQkVBZ0RDQU1LQUlBUVdScUlnZzJBZ0FnQVVRQUFBQUFBQUN3UWFJaEFRVWdEQ2dDQUNFSUN5QUdJQVpCb0FKcUlBaEJBRWdiSWdvaEJnTkFJQVlnQVJDS0JTSUhOZ0lBSUFaQkJHb2hCaUFCSUFlNG9VUUFBQUFBWmMzTlFhSWlBVVFBQUFBQUFBQUFBR0lOQUFzZ0NFRUFTZ1JBSUFvaEJ3TkFJQWhCSFNBSVFSMUlHeUVOSUFaQmZHb2lDQ0FIVHdSQUlBMnRJUnRCQUNFSkEwQWdDYTBnQ0NnQ0FLMGdHNFo4SWh4Q2dKVHIzQU1ROWdFaEdpQUlJQndnR2tLQWxPdmNBMzU5UGdJQUlCcW5JUWtnQ0VGOGFpSUlJQWRQRFFBTElBa0VRQ0FIUVh4cUlnY2dDVFlDQUFzTElBWWdCMHNFUUFKQUEzOGdCa0Y4YWlJSUtBSUFEUUVnQ0NBSFN3Ui9JQWdoQmd3QkJTQUlDd3NoQmdzTElBd2dEQ2dDQUNBTmF5SUlOZ0lBSUFoQkFFb05BQXNGSUFvaEJ3dEJCaUFESUFOQkFFZ2JJUTBnQ0VFQVNBUkFJQTFCR1dwQkNSQTVRUUZxSVJBZ0MwSG1BRVloRlNBR0lRTURRRUVBSUFocklnWkJDU0FHUVFsSUd5RUpJQW9nQnlBRFNRUi9RUUVnQ1hSQmYyb2hGa0dBbE92Y0F5QUpkaUVYUVFBaENDQUhJUVlEUUNBR0lBZ2dCaWdDQUNJWUlBbDJhallDQUNBWElCWWdHSEZzSVFnZ0JrRUVhaUlHSUFOSkRRQUxJQWNnQjBFRWFpQUhLQUlBR3lFWklBZ0VmeUFESUFnMkFnQWdBMEVFYWdVZ0F3c2hCaUFaQlNBRElRWWdCeUFIUVFScUlBY29BZ0FiQ3lJRElCVWJJZ2NnRUVFQ2RHb2dCaUFHSUFkclFRSjFJQkJLR3lFSUlBd2dDU0FNS0FJQWFpSUdOZ0lBSUFaQkFFZ0VRQ0FESVFjZ0NDRURJQVloQ0F3QkN3c0ZJQWNoQXlBR0lRZ0xJQW9oRENBRElBaEpCRUFnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQmdOQUlBZEJBV29oQnlBS0lBWkJDbXdpQms4TkFBc0xCVUVBSVFjTElBMUJBQ0FISUF0QjVnQkdHMnNnQzBIbkFFWWlGU0FOUVFCSEloWnhRUjkwUVI5MWFpSUdJQWdnREd0QkFuVkJDV3hCZDJwSUJIOGdCa0dBeUFCcUlnWkJDUkE1SVFrZ0JpQUpRUWxzYXlJR1FRaElCRUJCQ2lFTEEwQWdCa0VCYWlFS0lBdEJDbXdoQ3lBR1FRZElCRUFnQ2lFR0RBRUxDd1ZCQ2lFTEN5QUpRUUowSUF4cVFZUmdhaUlHS0FJQUlna2dDeEJJSVJBZ0NDQUdRUVJxUmlJWElBa2dDeUFRYkdzaUNrVnhSUVJBUkFFQUFBQUFBRUJEUkFBQUFBQUFBRUJESUJCQkFYRWJJUUZFQUFBQUFBQUE0RDlFQUFBQUFBQUE4RDlFQUFBQUFBQUErRDhnRnlBS0lBdEJBWFlpRUVaeEd5QUtJQkJKR3lFZElCTUVRQ0FkbWlBZElCSXNBQUJCTFVZaUVCc2hIU0FCbWlBQklCQWJJUUVMSUFZZ0NTQUtheUlLTmdJQUlBRWdIYUFnQVdJRVFDQUdJQW9nQzJvaUJ6WUNBQ0FIUWYrVDY5d0RTd1JBQTBBZ0JrRUFOZ0lBSUFaQmZHb2lCaUFEU1FSQUlBTkJmR29pQTBFQU5nSUFDeUFHSUFZb0FnQkJBV29pQnpZQ0FDQUhRZitUNjl3RFN3MEFDd3NnRENBRGEwRUNkVUVKYkNFSElBTW9BZ0FpQ2tFS1R3UkFRUW9oQ3dOQUlBZEJBV29oQnlBS0lBdEJDbXdpQzA4TkFBc0xDd3NnQnlFSklBWkJCR29pQmlBSUlBZ2dCa3NiSVFZZ0F3VWdCeUVKSUFnaEJpQURDeUVLSUFZZ0Nrc0Vmd0ovSUFZaEF3Ti9JQU5CZkdvaUJpZ0NBQVJBSUFNaEJrRUJEQUlMSUFZZ0Nrc0VmeUFHSVFNTUFRVkJBQXNMQ3dWQkFBc2hCeUFWQkg4Z0ZrRUJjeUFOYWlJRElBbEtJQWxCZTBweEJIOGdBMEYvYWlBSmF5RUlJQVZCZjJvRklBTkJmMm9oQ0NBRlFYNXFDeUVGSUFSQkNIRUVmeUFJQlNBSEJFQWdCa0Y4YWlnQ0FDSU5CRUFnRFVFS0VFNEVRRUVBSVFNRlFRQWhBMEVLSVFzRFFDQURRUUZxSVFNZ0RTQUxRUXBzSWdzUVRrVU5BQXNMQlVFSklRTUxCVUVKSVFNTElBWWdER3RCQW5WQkNXeEJkMm9oRFNBRlFTQnlRZVlBUmdSL0lBZ2dEU0FEYXlJRFFRQWdBMEVBU2hzaUF5QUlJQU5JR3dVZ0NDQUpJQTFxSUFOcklnTkJBQ0FEUVFCS0d5SURJQWdnQTBnYkN3c0ZJQTBMSVFOQkFDQUpheUVJSUFCQklDQUNJQVZCSUhKQjVnQkdJaEFFZjBFQUlRZ2dDVUVBSUFsQkFFb2JCU0FQSUFnZ0NTQUpRUUJJRzZ3Z0R4QytBU0lMYTBFQ1NBUkFBMEFnQzBGL2FpSUxRVEE2QUFBZ0R5QUxhMEVDU0EwQUN3c2dDMEYvYWlBSlFSOTFRUUp4UVN0cU9nQUFJQXRCZm1vaUNDQUZPZ0FBSUE4Z0NHc0xJQU1nRTBFQmFtcEJBU0FFUVFOMlFRRnhJQU5CQUVjaUN4dHFhaUlOSUFRUWRTQUFJQklnRXhCeUlBQkJNQ0FDSUEwZ0JFR0FnQVJ6RUhVZ0VBUkFJQTVCQ1dvaUNTRVBJQTVCQ0dvaENDQU1JQW9nQ2lBTVN4c2lDaUVIQTBBZ0J5Z0NBSzBnQ1JDK0FTRUZJQWNnQ2tZRVFDQUZJQWxHQkVBZ0NFRXdPZ0FBSUFnaEJRc0ZJQVVnRGtzRVFDQU9RVEFnQlNBUmF4QkZHZ05BSUFWQmYyb2lCU0FPU3cwQUN3c0xJQUFnQlNBUElBVnJFSElnQjBFRWFpSUZJQXhOQkVBZ0JTRUhEQUVMQ3lBRVFRaHhSU0FMUVFGemNVVUVRQ0FBUWNUK0FrRUJFSElMSUFCQk1DQUZJQVpKSUFOQkFFcHhCSDhEZnlBRktBSUFyU0FKRUw0QklnY2dEa3NFUUNBT1FUQWdCeUFSYXhCRkdnTkFJQWRCZjJvaUJ5QU9TdzBBQ3dzZ0FDQUhJQU5CQ1NBRFFRbElHeEJ5SUFOQmQyb2hCeUFGUVFScUlnVWdCa2tnQTBFSlNuRUVmeUFISVFNTUFRVWdCd3NMQlNBREMwRUpha0VKUVFBUWRRVWdBRUV3SUFvZ0JpQUtRUVJxSUFjYklndEpJQU5CZjBweEJIOGdCRUVJY1VVaEVpQU9RUWxxSWd3aEUwRUFJQkZySVJFZ0RrRUlhaUVKSUFNaEJTQUtJUVlEZnlBTUlBWW9BZ0N0SUF3UXZnRWlBMFlFUUNBSlFUQTZBQUFnQ1NFREN3SkFJQVlnQ2tZRVFDQURRUUZxSVFjZ0FDQURRUUVRY2lBU0lBVkJBVWh4QkVBZ0J5RUREQUlMSUFCQnhQNENRUUVRY2lBSElRTUZJQU1nRGswTkFTQU9RVEFnQXlBUmFoQkZHZ05BSUFOQmYyb2lBeUFPU3cwQUN3c0xJQUFnQXlBVElBTnJJZ01nQlNBRklBTktHeEJ5SUFaQkJHb2lCaUFMU1NBRklBTnJJZ1ZCZjBweERRQWdCUXNGSUFNTFFSSnFRUkpCQUJCMUlBQWdDQ0FQSUFockVISUxJQUJCSUNBQ0lBMGdCRUdBd0FCekVIVWdEUXNMSVFBZ0ZDUUdJQUlnQUNBQUlBSklHd3MwQUNBQUlBQmlCSDlCQUFVZ0FFUUFBQUFBQUFEd1FXWUVmMEVBQlNBQVJBQUFBQUFBQVBDL1pRUi9RUUFGSUFDckN3c0xDeVlCQVg4akJpRUNJd1pCRUdva0JpQUNJQUUyQWdBZ0FFSDIvUUlnQWhDbEFob2dBaVFHQzFZQkEzOGdBQ2dDVkNJRFFRQWdBa0dBQW1vaUJSQ21BaUVFSUFFZ0F5QUVJQU5ySUFVZ0JCc2lBU0FDSUFFZ0Fra2JJZ0lRVEJvZ0FDQUNJQU5xTmdJRUlBQWdBU0FEYWlJQk5nSUlJQUFnQVRZQ1ZDQUNDNlVDQWdwL0FYd2dBQ2dDQ0NFR0lBQW9BZ1FpQlNBQktBSUVSZ1JBSUFFb0FnZ2dCVVlFUUFKQUlBRW9BZ0FpQ2lFSEEwQWdBaUFGVGdSQVFRQWhBQXdDQ3lBQ0lBWnNJUXRCQUNFRElBY2hBUU5BSUFNZ0JVY0VRQ0FESUFKSkJFQWdBU0FDSUFNZ0JXeHFRUU4wSUFwcUt3TUFPUU1BQlFKQUlBQW9BZ0FoQkNBQlJBQUFBQUFBQUFBQU9RTUFRUUFoQ0NBTFFRTjBJQVJxSVFrZ0F5QUdiRUVEZENBRWFpRUVSQUFBQUFBQUFBQUFJUXdEUUNBSUlBWk9EUUVnQVNBTUlBa3JBd0FnQkNzREFLS2dJZ3c1QXdBZ0NFRUJhaUVJSUFsQkNHb2hDU0FFUVFocUlRUU1BQUFMQUFzTElBTkJBV29oQXlBQlFRaHFJUUVNQVFzTElBSkJBV29oQWlBRlFRTjBJQWRxSVFjTUFBQUxBQXNGUVg4aEFBc0ZRWDhoQUFzZ0FBdjdBd0lEZndWK0lBQzlJZ2RDTklpblFmOFBjU0VDSUFHOUlnWkNOSWluUWY4UGNTRUVJQWRDZ0lDQWdJQ0FnSUNBZjRNaENRSjhBa0FnQmtJQmhpSUZVQTBBQW53Z0FrSC9EMFlnQWIxQy8vLy8vLy8vLy8vL0FJTkNnSUNBZ0lDQWdQai9BRlp5RFFFZ0IwSUJoaUlJSUFWWUJFQWdBRVFBQUFBQUFBQUFBS0lnQUNBRklBaFJHdzhMSUFJRWZpQUhRdi8vLy8vLy8vOEhnMEtBZ0lDQWdJQ0FDSVFGSUFkQ0RJWWlCVUovVlFSQVFRQWhBZ05BSUFKQmYyb2hBaUFGUWdHR0lnVkNmMVVOQUFzRlFRQWhBZ3NnQjBFQklBSnJyWVlMSWdnZ0JBUitJQVpDLy8vLy8vLy8vd2VEUW9DQWdJQ0FnSUFJaEFVZ0JrSU1oaUlGUW45VkJFQURRQ0FEUVg5cUlRTWdCVUlCaGlJRlFuOVZEUUFMQ3lBR1FRRWdBeUlFYTYyR0N5SUdmU0lGUW45VklRTWdBaUFFU2dSQUFrQURRQUpBSUFNRVFDQUZVQTBCQlNBSUlRVUxJQVZDQVlZaUNDQUdmU0lGUW45VklRTWdBa0YvYWlJQ0lBUktEUUVNQWdzTElBQkVBQUFBQUFBQUFBQ2lEQUlMQ3lBREJFQWdBRVFBQUFBQUFBQUFBS0lnQlZBTkFSb0ZJQWdoQlFzZ0JVS0FnSUNBZ0lDQUNGUUVRQU5BSUFKQmYyb2hBaUFGUWdHR0lnVkNnSUNBZ0lDQWdBaFVEUUFMQ3lBRlFvQ0FnSUNBZ0lCNGZDQUNyVUkwaG9RZ0JVRUJJQUpycllnZ0FrRUFTaHNnQ1lTL0N3d0JDeUFBSUFHaUlnQWdBS01MQy9rVEF3NS9BbjRIZkNNR0lRb2pCa0dBQkdva0JrRUFJQUlnQTJvaUVHc2hFUUpBQWtBRFFBSkFBa0FDUUNBQlFTNXJEZ01FQUFFQUN5QUJJUVlnQnlFQkRBRUxJQUFvQWdRaUFTQUFLQUpvU1FSL0lBQWdBVUVCYWpZQ0JDQUJMUUFBQlNBQUVGUUxJUUZCQVNFSERBRUxDd3dCQ3lBQUtBSUVJZ0VnQUNnQ2FFa0VmeUFBSUFGQkFXbzJBZ1FnQVMwQUFBVWdBQkJVQ3lJR1FUQkdCSDhEZnlBVVFuOThJUlFnQUNnQ0JDSUJJQUFvQW1oSkJIOGdBQ0FCUVFGcU5nSUVJQUV0QUFBRklBQVFWQXNpQmtFd1JnMEFRUUVoQzBFQkN3VkJBU0VMSUFjTElRRUxJQXBCQURZQ0FBSjhBa0FDUUFKQUFrQWdCa0V1UmlJT0lBWkJVR29pRFVFS1NYSUVRQUpBUVFBaEJ5QUdJUWtnRFNFR0EwQUNRQ0FPQkVBZ0N3MEJRUUVoQ3lBVklSUUZBa0FnRlVJQmZDRVZJQWxCTUVjaERTQUlRZjBBVGdSQUlBMUZEUUVnQ2lBS0tBTHdBMEVCY2pZQzhBTU1BUXNnQ0VFQ2RDQUthaUlCSUF3RWZ5QUpRVkJxSUFFb0FnQkJDbXhxQlNBR0N6WUNBQ0FNUVFGcUlnWkJDVVloQVVFQUlBWWdBUnNoRENBQklBaHFJUWdnRmFjZ0J5QU5HeUVIUVFFaEFRc0xJQUFvQWdRaUJpQUFLQUpvU1FSL0lBQWdCa0VCYWpZQ0JDQUdMUUFBQlNBQUVGUUxJZ2xCVUdvaUJrRUtTU0FKUVM1R0lnNXlEUUVnQ1NFR0RBSUxDeUFCUVFCSElRRU1BZ3NGUVFBaEJ3c2dGQ0FWSUFzYklSUWdBVUVBUnlJQklBWkJJSEpCNVFCR2NVVUVRQ0FHUVg5S0JFQU1BZ1VNQXdzQUN5QVVJQUFnQlJDUkF5SVVRb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JVVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CZ3NnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdGQXQ4SVJRTUF3c2dBQ2dDYUFSQUlBQWdBQ2dDQkVGL2FqWUNCQ0FCUlEwQ0RBTUxDeUFCUlEwQURBRUxRYVRGQTBFY05nSUFJQUJDQUJDQ0FVUUFBQUFBQUFBQUFBd0JDeUFFdDBRQUFBQUFBQUFBQUtJZ0NpZ0NBQ0lBUlEwQUdpQVVJQlZSSUJWQ0NsTnhCRUFnQkxjZ0FMaWlJQUFnQW5aRklBSkJIa3B5RFFFYUN5QVVJQU5CZmhBNXJGVUVRRUdreFFOQnhBQTJBZ0FnQkxkRS8vLy8vLy8vNzMraVJQLy8vLy8vLys5L29nd0JDeUFVSUFOQmxuOXFyRk1FUUVHa3hRTkJ4QUEyQWdBZ0JMZEVBQUFBQUFBQUVBQ2lSQUFBQUFBQUFCQUFvZ3dCQ3lBTUJFQWdERUVKU0FSQUlBaEJBblFnQ21vaUJTZ0NBQ0VCQTBBZ0FVRUtiQ0VCSUF4QkFXb2hBQ0FNUVFoSUJFQWdBQ0VNREFFTEN5QUZJQUUyQWdBTElBaEJBV29oQ0FzZ0ZLY2hBU0FIUVFsSUJFQWdBVUVTU0NBSElBRk1jUVJBSUFGQkNVWUVRQ0FFdHlBS0tBSUF1S0lNQXdzZ0FVRUpTQVJBSUFTM0lBb29BZ0M0b2tFQUlBRnJRUUowUWNEVUFHb29BZ0Mzb3d3REN5QUNRUnRxSUFGQmZXeHFJZ0JCSGtvZ0NpZ0NBQ0lGSUFCMlJYSUVRQ0FFdHlBRnVLSWdBVUVDZEVINDB3QnFLQUlBdDZJTUF3c0xDeUFCUVFrUVR5SUFCSDlCQUNBQUlBQkJDV29nQVVGL1Noc2lER3RCQW5SQndOUUFhaWdDQUNFR0lBZ0VmMEdBbE92Y0F5QUdFRGtoQzBFQUlRZEJBQ0VBUVFBaEJRTkFJQWNnQlVFQ2RDQUthaUlOS0FJQUlnNGdCaEJJSWc5cUlRa2dEU0FKTmdJQUlBc2dEaUFHSUE5c2Eyd2hCeUFCUVhkcUlBRWdDVVVnQUNBRlJuRWlDUnNoQVNBQVFRRnFRZjhBY1NBQUlBa2JJUUFnQlVFQmFpSUZJQWhIRFFBTElBY0VmeUFJUVFKMElBcHFJQWMyQWdBZ0FDRUZJQWhCQVdvRklBQWhCU0FJQ3dWQkFDRUZRUUFMSVFBZ0FVRUpJQXhyYWlFQklBVUZJQWdoQUVFQUN5RUhRUUFoQlFOQUFrQWdBVUVTU0NFTUlBRkJFa1loRFNBSFFRSjBJQXBxSVE0RFFDQU1SUVJBSUExRkRRSWdEaWdDQUVIZjRLVUVUd1JBUVJJaEFRd0RDd3RCQUNFSUlBQkIvd0JxSVFzRFFDQUlyU0FMUWY4QWNTSUpRUUowSUFwcUlnWW9BZ0N0UWgyR2ZDSVVweUVMSUJSQ2dKVHIzQU5XQkVBZ0ZFS0FsT3ZjQXhEMkFTSVZweUVJSUJRZ0ZVS0FsT3ZjQTM1OXB5RUxCVUVBSVFnTElBWWdDellDQUNBQUlBQWdDU0FMR3lBSElBbEdJZzhnQ1NBQVFmOEFha0gvQUhGSGNoc2hCaUFKUVg5cUlRc2dEMFVFUUNBR0lRQU1BUXNMSUFWQlkyb2hCU0FJUlEwQUN5QUdRZjhBYWtIL0FIRWhDU0FHUWY0QWFrSC9BSEZCQW5RZ0Ntb2hEQ0FIUWY4QWFrSC9BSEVpQnlBR1JnUkFJQXdnQ1VFQ2RDQUthaWdDQUNBTUtBSUFjallDQUNBSklRQUxJQWRCQW5RZ0Ntb2dDRFlDQUNBQlFRbHFJUUVNQVFzTEEwQUNRQ0FBUVFGcVFmOEFjU0VHSUFCQi93QnFRZjhBY1VFQ2RDQUthaUVNQTBBQ1FDQUJRUkpHSVFoQkNVRUJJQUZCRzBvYklRa0RRRUVBSVE0Q1FBSkFBMEFDUUNBQUlBY2dEbXBCL3dCeElndEdEUUlnQzBFQ2RDQUthaWdDQUNJTElBNUJBblJCcUlvQmFpZ0NBQ0lOU1EwQ0lBc2dEVXNOQUNBT1FRRnFRUUpQRFFKQkFTRU9EQUVMQ3d3QkN5QUlEUVFMSUFVZ0NXb2hCU0FBSUFkR0JFQWdBQ0VIREFFTEMwRUJJQWwwUVg5cUlRNUJnSlRyM0FNZ0NYWWhEMEVBSVFnZ0J5RUxBMEFnQ0NBTFFRSjBJQXBxSWhJb0FnQWlFeUFKZG1vaERTQVNJQTAyQWdBZ0R5QU9JQk54YkNFSUlBRkJkMm9nQVNBTlJTQUhJQXRHY1NJTkd5RUJJQWRCQVdwQi93QnhJQWNnRFJzaEJ5QUxRUUZxUWY4QWNTSUxJQUJIRFFBTElBZ0VRQ0FHSUFkSERRRWdEQ0FNS0FJQVFRRnlOZ0lBQ3d3QkN3c2dBRUVDZENBS2FpQUlOZ0lBSUFZaEFBd0JDd3RCQUNFQkEwQWdBRUVCYWtIL0FIRWhCaUFBSUFFZ0IycEIvd0J4SWdsR0JFQWdCa0YvYWtFQ2RDQUtha0VBTmdJQUlBWWhBQXNnRmtRQUFBQUFaYzNOUWFJZ0NVRUNkQ0FLYWlnQ0FMaWdJUllnQVVFQmFpSUJRUUpIRFFBTElCWWdCTGNpR0tJaEZ5QUZRVFZxSWdZZ0Eyc2lBeUFDU0NFRUlBTkJBQ0FEUVFCS0d5QUNJQVFiSWdGQk5VZ0VRRVFBQUFBQUFBRHdQMEhwQUNBQmF4Q2ZBU0FYRUpBREloa2hHaUFYUkFBQUFBQUFBUEEvUVRVZ0FXc1Fud0VRandNaUd5RVdJQmtnRnlBYm9hQWhGd1ZFQUFBQUFBQUFBQUFoRmdzZ0IwRUNha0gvQUhFaUFpQUFSd1JBQWtBZ0FrRUNkQ0FLYWlnQ0FDSUNRWURLdGU0QlNRUjhJQUpGUVFBZ0FDQUhRUU5xUWY4QWNVWWJEUUVnR0VRQUFBQUFBQURRUDZJZ0ZxQUZJQUpCZ01xMTdnRkhCRUFnR0VRQUFBQUFBQURvUDZJZ0ZxQWhGZ3dDQ3lBWVJBQUFBQUFBQU9BL29pQVdvQ0FZUkFBQUFBQUFBT2cvb2lBV29DQUFJQWRCQTJwQi93QnhSaHNMSVJZTFFUVWdBV3RCQVVvRWZDQVdSQUFBQUFBQUFQQS9FSThEUkFBQUFBQUFBQUFBWVFSOElCWkVBQUFBQUFBQThEK2dCU0FXQ3dVZ0Znc2hGZ3NnRnlBV29DQWFvU0VYSUFaQi8vLy8vd2R4UVg0Z0VHdEtCSHdDZkNBRklCZVpSQUFBQUFBQUFFQkRaa1VpQUVFQmMyb2hCU0FYSUJkRUFBQUFBQUFBNEQraUlBQWJJUmNnQlVFeWFpQVJUQVJBSUJjZ0JDQUFJQUVnQTBkeWNTQVdSQUFBQUFBQUFBQUFZbkZGRFFFYUMwR2t4UU5CeEFBMkFnQWdGd3NGSUJjTElBVVFqZ01MSVJ3Z0NpUUdJQndMOGdnRENIOEZmZ044SUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMSVFVQ1FBSkFBMEFDUUFKQUlBVkJMbXNPQXdNQkFBRUxJQUFvQWdRaUJTQUFLQUpvU1FSL0lBQWdCVUVCYWpZQ0JDQUZMUUFBQlNBQUVGUUxJUVZCQVNFSURBRUxDd3dCQ3lBQUtBSUVJZ1VnQUNnQ2FFa0VmeUFBSUFWQkFXbzJBZ1FnQlMwQUFBVWdBQkJVQ3lJRlFUQkdCSDhEZnlBTlFuOThJUTBnQUNnQ0JDSUZJQUFvQW1oSkJIOGdBQ0FGUVFGcU5nSUVJQVV0QUFBRklBQVFWQXNpQlVFd1JnMEFRUUVoQ0VFQkN3VkJBUXNoQ1F0RUFBQUFBQUFBOEQ4aEV5QUZJUWNnQ0NFRkEwQUNRQ0FIUVNCeUlRZ0NRQUpBSUFkQlVHb2lDMEVLU1EwQUlBZEJMa1lpRENBSVFaOS9ha0VHU1hKRkRRSWdERVVOQUNBSkJINUJMaUVIREFNRlFRRWhDU0FQQ3lFTkRBRUxJQWhCcVg5cUlBc2dCMEU1U2hzaEJTQVBRZ2hUQkVBZ0JTQUdRUVIwYWlFR0JTQVBRZzVUQkh3Z0UwUUFBQUFBQUFDd1A2SWlGQ0VUSUJJZ0ZDQUZ0NktnQlNBS1FRRWdCVVVnQ2tFQVIzSWlCUnNoQ2lBU0lCSWdFMFFBQUFBQUFBRGdQNktnSUFVYkN5RVNDeUFQUWdGOElROUJBU0VGQ3lBQUtBSUVJZ2NnQUNnQ2FFa0VmeUFBSUFkQkFXbzJBZ1FnQnkwQUFBVWdBQkJVQ3lFSERBRUxDeUFGQkh3Q2ZDQVBRZ2hUQkVBZ0R5RU9BMEFnQmtFRWRDRUdJQTVDQVh3aEVDQU9RZ2RUQkVBZ0VDRU9EQUVMQ3dzQ2Z5QUhRU0J5UWZBQVJnUitJQUFnQkJDUkF5SU9Rb0NBZ0lDQWdJQ0FnSDlSQkg0Z0JFVUVRQ0FBUWdBUWdnRkVBQUFBQUFBQUFBQU1CQXNnQUNnQ2FBUkFJQUFnQUNnQ0JFRi9hallDQkF0Q0FBVWdEZ3NGSUFBb0FtZ0VRQ0FBSUFBb0FnUkJmMm8yQWdRTFFnQUxJUkVnQTdkRUFBQUFBQUFBQUFDaUlBWkZEUUVhSUJFZ0RTQVBJQWtiUWdLR1FtQjhmQ0lOUVFBZ0FtdXNWUXNFUUVHa3hRTkJ4QUEyQWdBZ0E3ZEUvLy8vLy8vLzczK2lSUC8vLy8vLy8rOS9vZ3dCQ3lBTklBSkJsbjlxckZNRVFFR2t4UU5CeEFBMkFnQWdBN2RFQUFBQUFBQUFFQUNpUkFBQUFBQUFBQkFBb2d3QkN5QUdRWDlLQkVBRFFDQVNSQUFBQUFBQUFPQS9aa1VpQUVFQmN5QUdRUUYwY2lFR0lCSWdFaUFTUkFBQUFBQUFBUEMvb0NBQUc2QWhFaUFOUW45OElRMGdCa0YvU2cwQUN3c0NmQUpBSUExQ0lDQUNySDE4SWc0Z0FheFRCRUFnRHFjaUFVRUFUQVJBUVFBaEFVSFVBQ0VBREFJTEMwSFVBQ0FCYXlFQUlBRkJOVWdOQUNBRHR5RVRSQUFBQUFBQUFBQUFEQUVMUkFBQUFBQUFBUEEvSUFBUW53RWdBN2NpRXhDUUF3c2hGRVFBQUFBQUFBQUFBQ0FTSUFaQkFYRkZJQUZCSUVnZ0VrUUFBQUFBQUFBQUFHSnhjU0lBR3lBVG9pQVVJQk1nQUNBR2FyaWlvS0FnRktFaUVrUUFBQUFBQUFBQUFHRUVRRUdreFFOQnhBQTJBZ0FMSUJJZ0RhY1FqZ01MQlNBQUtBSm9SU0lCUlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNnQkFSQUlBRkZCRUFnQUNBQUtBSUVRWDlxTmdJRUlBRWdDVVZ5UlFSQUlBQWdBQ2dDQkVGL2FqWUNCQXNMQlNBQVFnQVFnZ0VMSUFPM1JBQUFBQUFBQUFBQW9nc0x2Z01CQkg4Z0FDZ0NDQ0lGSUFBb0FnUWlBeUFGSUFOSUd5RUdJQVZCQWtnZ0EwRUNTSElFZjBGL0JTQUJLQUlJSUFWR0JIOGdBU2dDQkNBR1JnUi9JQUlvQWdRZ0JrWUVmd0ovSUFZZ0JoQ0xBU0lFS0FJRUlBWkdCRUFnQkNnQ0NDQUdSZ1JBSUFNZ0JVZ2lBd1JBSUFBZ0JCQ05CVUVBU0FSQUlBUVFTVUYvREFRTEJTQUFJQVFRaGdWQkFFZ0VRQ0FFRUVsQmZ3d0VDd3NnQkNBQ0VJTUZRUUJJQkVBZ0JCQkpRWDhNQXdzZ0F3UkFJQUFnQkNBQklBSVEvZ1JCQUVnRVFDQUVFRWxCZnd3RUN3VUNRRUVBSVFVZ0JDZ0NBQ0VESUFFb0FnQWhBQU5BQWtBZ0JTQUdUZzBBSUFJb0FnQWdCVUVEZEdvckF3QkV2SW5ZbDdMU25EeGpEUUJCQUNFQkEwQWdBU0FHU0FSQUlBQWdBeXNEQURrREFDQUJRUUZxSVFFZ0EwRUlhaUVESUFCQkNHb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUZJUUVEUUNBQklBWk9EUUVnQWlnQ0FDQUJRUU4wYWtRQUFBQUFBQUFBQURrREFFRUFJUU1EUUNBRElBWklCRUFnQUVRQUFBQUFBQUFBQURrREFDQURRUUZxSVFNZ0FFRUlhaUVBREFFTEN5QUJRUUZxSVFFTUFBQUxBQXNMSUFRUVNVRUFEQUlMQ3lBRUVFbEJmd3NGUVg4TEJVRi9Dd1ZCZndzTEM5SVRBZzkvQVh3akJpRU9Jd1pCRUdva0JpQUVLQUlBSWdjaERDQUJJQUpCZjJvaUVHeEJBWFFnQjJvaEJnTkFJQVVnQVVnRVFDQUdRUUE3QVFBZ0RFRUFPd0VBSUF4QkFtb2hEQ0FGUVFGcUlRVWdCa0VDYWlFR0RBRUxDMEVBSVF3Z0J5SUdJQUZCZjJvaUVVRUJkR29oQlFOQUlBd2dBa2dFUUNBRlFRQTdBUUFnQmtFQU93RUFJQUZCQVhRZ0Jtb2hCaUFNUVFGcUlRd2dBVUVCZENBRmFpRUZEQUVMQ3lBRVFaQ0F5QUJxSVFaQkFDQUJheUVTSUFBZ0FVRUJhaUlBYWlFTklBQWdBMm9oREVFQklRcEJBQ0VGSUFCQkFYUWdCMm9oQXdKL0FrQURRQUpBSUFvZ0VFNE5BaUFGSVFCQkFTRUlJQU1oQ3dOQUlBZ2dFVWdFUUNBTkxRQUFJQXd0QUFCS0JFQUNRQ0FTUVFGMElBdHFJZzh1QVFBaUEwRUFTZ1JBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmpJRFFBR29nQ2pZQ0FBd0JDeUFQUVg1cUxnRUFJZ2toQnlBSlFRQktJUVVnRHk0QkFpSURRUUJNQkVBZ0JRUkFJQXNnQ1RzQkFDQUhRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVNBUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUlMSUF0QmZtb3VBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaElEUUFHb2lBeWdDQUNBSVRnMENJQU1nQ0RZQ0FBVWdBRUgvL3dGS0RRWWdDeUFBUVFGcUlnTTdBUUFnQkVHUWdNZ0FhaUFBUVFKMGFpQURRUkIwUVJCMU5nSUFJQVJCa0lEUUFHb2dBRUVIYkNJQVFRSjBha0VCTmdJQUlBQkJBblFnQkdwQmxJRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFaaUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2NnTkFBYWlBSU5nSUFJQUJCQW5RZ0JHcEJvSURRQUdvZ0NEWUNBQ0FBUVFKMElBUnFRYVNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dvZ05BQWFpQUtOZ0lBSUFNaEFBc01BUXNnQlFSQUFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQWRCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTElBdEJmbW91QVFBaUJVRUFUQVJBSUFzZ0F6c0JBQ0FEUVFkc0lnVkJBblFnQkdwQjlQL1BBR29pQXlBREtBSUFRUUZxTmdJQUlBVkJBblFnQkdwQitQL1BBR29pQXlBSUlBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQi9QL1BBR29pQXlBS0lBTW9BZ0JxTmdJQUlBVkJBblFnQkdwQmdJRFFBR29pQXlnQ0FDQUlTZ1JBSUFNZ0NEWUNBQXNnQlVFQ2RDQUVha0dNZ05BQWFpQUtOZ0lBREFFTEFrQWdBMEVDZENBRWFrR01nTWdBYWlnQ0FDSURJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCMG9FUUNBTElBYzdBUUFnQmlFRlFRQWhDUU5BSUFrZ0FFNEVRQ0FISVFNTUF3c2dBeUFGS0FJQVJnUkFJQVVnQnpZQ0FBc2dCVUVFYWlFRklBbEJBV29oQ1F3QUFBc0FCU0FMSUFNN0FRQWdBeUFIU0FSQUlBWWhCVUVBSVFrRFFDQUpJQUJPRFFNZ0J5QUZLQUlBUmdSQUlBVWdBellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUN3c0xJQU5CRUhSQkVIVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSURJQU1vQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSURJQWdnQXlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSURJQW9nQXlnQ0FHbzJBZ0FMQlNBTFFRQTdBUUFMSUExQkFXb2hEU0FNUVFGcUlRd2dDRUVCYWlFSUlBdEJBbW9oQ3d3QkN3c2dEVUVDYWlFTklBeEJBbW9oRENBS1FRRnFJUW9nQUNFRklBdEJCR29oQXd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQndOQUlBY2dCVXdFUUNBSElBWW9BZ0FpREVZRVFDQUFRUUZxSVFNRklBQWhBeUFNUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFZZ0FEWUNBQ0FESVFBZ0IwRUJhaUVISUFaQkJHb2hCZ3dCQ3dzZ0JDQUFRWDlxSWdZMkFnZ2dCZ1IvSUExQkFDQUdRUUowRUVVYUlBUkJrSUFvYWtFQUlBWkJCSFFRUlJwQkFDRURBMEFnQXlBR1NBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdaQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FHUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUdRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBR1FRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FHUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MVXdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQUNnQ0FEWUNBQU5BSUFJb0FnQkJBMnBCZkhFaUFDZ0NBQ0VESUFJZ0FFRUVhallDQUNBQlFYOXFJUUFnQVVFQlN3UkFJQUFoQVF3QkN3c2dBaVFHSUFNTHhoUURFWDhEZmdGOEl3WWhDU01HUWFBQ2FpUUdJQUFvQWt4QmYwb0VmMEVCQlVFQUN4b2dDVUdJQW1vaERTQUpRWVFDYWlFU0lBbEJrQUpxSVJNZ0FTd0FBQ0lMQkVBQ1FBSkFBa0FDUUFKQUEwQUNRQ0FMUWY4QmNSQ3lBUVJBQTBBZ0FVRUJhaUlETFFBQUVMSUJCRUFnQXlFQkRBRUxDeUFBUWdBUWdnRURRQ0FBS0FJRUlnTWdBQ2dDYUVrRWZ5QUFJQU5CQVdvMkFnUWdBeTBBQUFVZ0FCQlVDeEN5QVEwQUN5QUFLQUpvQkVBZ0FDQUFLQUlFUVg5cUlnczJBZ1FGSUFBb0FnUWhDd3NnQ3lBQUtBSUlhNndnRkNBQUtRTjRmSHdoRkFVQ1FDQUJMQUFBUVNWR0lnY0VRQUpBQW44Q1FBSkFJQUZCQVdvaUJDd0FBQ0lEUVNWckRnWURBUUVCQVFBQkMwRUFJUW9nQVVFQ2Fnd0JDeUFEUWY4QmNSQ0tBUVJBSUFFc0FBSkJKRVlFUUNBQ0lBUXRBQUJCVUdvUWt3VWhDaUFCUVFOcURBSUxDeUFDS0FJQVFRTnFRWHh4SWdFb0FnQWhDaUFDSUFGQkJHbzJBZ0FnQkFzaUFTMEFBQkNLQVFSQVFRQWhCQU5BSUFFdEFBQWdCRUVLYkVGUWFtb2hCQ0FCUVFGcUlnRXRBQUFRaWdFTkFBc0ZRUUFoQkFzZ0FVRUJhaUVISUFFc0FBQWlDRUh0QUVZRWYwRUFJUVlnQVVFQ2FpRUJJQWNpQXl3QUFDRUlRUUFoQlNBS1FRQkhCU0FCSVFNZ0J5RUJRUUFMSVFzQ1FBSkFBa0FDUUFKQUFrQUNRQ0FJUVJoMFFSaDFRY0VBYXc0NkJRNEZEZ1VGQlE0T0RnNEVEZzRPRGc0T0JRNE9EZzRGRGc0RkRnNE9EZzRGRGdVRkJRVUZBQVVDRGdFT0JRVUZEZzRGQXdVT0RnVU9BdzRMUVg1QmZ5QUJMQUFBUWVnQVJpSUhHeUVJSUFOQkFtb2dBU0FIR3lFQkRBVUxRUU5CQVNBQkxBQUFRZXdBUmlJSEd5RUlJQU5CQW1vZ0FTQUhHeUVCREFRTFFRTWhDQXdEQzBFQklRZ01BZ3RCQWlFSURBRUxRUUFoQ0NBRElRRUxRUUVnQ0NBQkxRQUFJZ2RCTDNGQkEwWWlBeHNoRGlBQUFuOENRQUpBQWtBQ1FDQUhRU0J5SUFjZ0F4c2lERUgvQVhFaUIwRVlkRUVZZFVIYkFHc09GQUVEQXdNREF3TURBQU1EQXdNREF3TURBd01DQXdzZ0JFRUJJQVJCQVVvYkRBTUxJQVFNQWdzZ0NpQU9JQlFRbEFNTUJBc2dBRUlBRUlJQkEwQWdBQ2dDQkNJRElBQW9BbWhKQkg4Z0FDQURRUUZxTmdJRUlBTXRBQUFGSUFBUVZBc1FzZ0VOQUFzZ0FDZ0NhQVJBSUFBZ0FDZ0NCRUYvYWlJSU5nSUVCU0FBS0FJRUlRZ0xJQWdnQUNnQ0NHdXNJQlFnQUNrRGVIeDhJUlFnQkFzaUVhd2lGaENDQVNBQUtBSUVJZ01nQUNnQ2FDSUVTUVJBSUFBZ0EwRUJhallDQkFVZ0FCQlVRUUJJRFFnZ0FDZ0NhQ0VFQ3lBRUJFQWdBQ0FBS0FJRVFYOXFOZ0lFQ3dKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQjBFWWRFRVlkVUhCQUdzT09BVUhCd2NGQlFVSEJ3Y0hCd2NIQndjSEJ3Y0hCd2NIQVFjSEFBY0hCd2NIQlFjQUF3VUZCUWNFQndjSEJ3Y0NBUWNIQUFjREJ3Y0JCd3NnREVFUWNrSHpBRVlFUUNBSlFYOUJnUUlRUlJvZ0NVRUFPZ0FBSUF4Qjh3QkdCRUFnQ1VFQU9nQWhJQWxCQURZQkNpQUpRUUE2QUE0TEJRSkFJQWtnQVVFQmFpSUhMQUFBUWQ0QVJpSURJZ1JCZ1FJUVJSb2dDVUVBT2dBQUFrQUNRQUpBSUFGQkFtb2dCeUFER3lJQkxBQUFRUzFySWdNRVFDQURRVEJHQkVBTUFnVU1Bd3NBQ3lBSklBUkJBWE1pQ0RvQUxpQUJRUUZxSVFFTUFnc2dDU0FFUVFGeklnZzZBRjRnQVVFQmFpRUJEQUVMSUFSQkFYTWhDQXNEUUFKQUFrQWdBU3dBQUNJRURsNFRBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUFBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVEQVFzZ0FVRUJhaUlETEFBQUlnUWlCMEVBSUFkQjNRQkhHMFVFUUVFdElRUU1BUXNnQVVGL2FpMEFBQ0lCSUFSQi93RnhTQVIvQTM4Z0FVRUJhaUlCSUFscUlBZzZBQUFnQVNBRExBQUFJZ2RCL3dGeFNRMEFJQU1oQVNBSEN3VWdBeUVCSUFRTElRUUxJQVJCL3dGeFFRRnFJQWxxSUFnNkFBQWdBVUVCYWlFQkRBQUFDd0FMQ3lBUlFRRnFRUjhnREVIakFFWWlEQnNoQkNBTFFRQkhJUkFnRGtFQlJpSVJCRUFnRUFSQUlBUkJBblFRUkNJRlJRUkFRUUFoQmtFQUlRVU1FUXNGSUFvaEJRc2dEVUVBTmdJQUlBMUJBRFlDQkVFQUlRWURRQUpBSUFWRklRY0RRQU5BQWtBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVU5BeUFUSUFNNkFBQUNRQUpBSUJJZ0UwRUJJQTBRMXdGQmZtc09BZ0VBQWd0QkFDRUdEQlVMREFFTEN5QUhSUVJBSUFaQkFuUWdCV29nRWlnQ0FEWUNBQ0FHUVFGcUlRWUxJQkFnQkNBR1JuRkZEUUFMSUFVZ0JFRUJkRUVCY2lJRVFRSjBFT2dCSWdNRVFDQURJUVVNQWdWQkFDRUdEQklMQUFzTElBMEVmeUFOS0FJQVJRVkJBUXNFZnlBR0lRUWdCU0VEUVFBRlFRQWhCZ3dRQ3lFR0JRSkFJQkFFUUNBRUVFUWlCa1VFUUVFQUlRWkJBQ0VGREJJTFFRQWhCUU5BQTBBZ0FDZ0NCQ0lESUFBb0FtaEpCSDhnQUNBRFFRRnFOZ0lFSUFNdEFBQUZJQUFRVkFzaUEwRUJhaUFKYWl3QUFFVUVRQ0FGSVFSQkFDRURRUUFoQlF3RUN5QUZJQVpxSUFNNkFBQWdCVUVCYWlJRklBUkhEUUFMSUFZZ0JFRUJkRUVCY2lJRUVPZ0JJZ01FUUNBRElRWU1BUVZCQUNFRkRCTUxBQUFMQUFzZ0NrVUVRQU5BSUFBb0FnUWlCU0FBS0FKb1NRUi9JQUFnQlVFQmFqWUNCQ0FGTFFBQUJTQUFFRlFMUVFGcUlBbHFMQUFBRFFCQkFDRUVRUUFoQmtFQUlRTkJBQ0VGREFJQUN3QUxRUUFoQkFOL0lBQW9BZ1FpQlNBQUtBSm9TUVIvSUFBZ0JVRUJhallDQkNBRkxRQUFCU0FBRUZRTElnVkJBV29nQ1dvc0FBQUVmeUFFSUFwcUlBVTZBQUFnQkVFQmFpRUVEQUVGUVFBaEEwRUFJUVVnQ2dzTElRWUxDeUFBS0FKb0JFQWdBQ0FBS0FJRVFYOXFJZ2cyQWdRRklBQW9BZ1FoQ0FzZ0FDa0RlQ0FJSUFBb0FnaHJySHdpRlZBZ0RFRUJjeUFWSUJaUmNrVnlEUXNnRUFSQUlCRUVRQ0FLSUFNMkFnQUZJQW9nQmpZQ0FBc0xJQXhGQkVBZ0F3UkFJQVJCQW5RZ0EycEJBRFlDQUFzZ0JrVUVRRUVBSVFZTUNBc2dCQ0FHYWtFQU9nQUFDd3dHQzBFUUlRUU1CQXRCQ0NFRURBTUxRUW9oQkF3Q0MwRUFJUVFNQVFzZ0FDQU9RUUFRa2dNaEZ5QUFLUU40UWdBZ0FDZ0NCQ0FBS0FJSWE2eDlVUTBHSUFvRVFBSkFBa0FDUUNBT0RnTUFBUUlGQ3lBS0lCZTJPQUlBREFRTElBb2dGemtEQUF3REN5QUtJQmM1QXdBTUFnc01BUXNnQUNBRVFRQkNmeENUQXlFVklBQXBBM2hDQUNBQUtBSUVJQUFvQWdocnJIMVJEUVVnREVId0FFWWdDa0VBUjNFRVFDQUtJQlUrQWdBRklBb2dEaUFWRUpRREN3c2dEeUFLUVFCSGFpRVBJQUFvQWdRZ0FDZ0NDR3VzSUJRZ0FDa0RlSHg4SVJRTUFnc0xJQUJDQUJDQ0FTQUFLQUlFSWdNZ0FDZ0NhRWtFZnlBQUlBTkJBV28yQWdRZ0F5MEFBQVVnQUJCVUN5RURJQU1nQVNBSGFpSUJMUUFBUncwRUlCUkNBWHdoRkFzTElBRkJBV29pQVN3QUFDSUxEUUVNQmdzTERBTUxJQUFvQW1nRVFDQUFJQUFvQWdSQmYybzJBZ1FMSUFOQmYwb2dEM0lOQTBFQUlRc01BUXNnRDBVTkFBd0JDMEYvSVE4TElBc0VRQ0FHRURnZ0JSQTRDd3NMSUFra0JpQVBDd3NBSUFBZ0FTQUNFSXdGQzNrQkJYOGdBQ2dDQkNFRklBQW9BZ2dpQmlBQktBSUVSZ1IvSUFBb0FnQWhBQU4vSUFJZ0JVZ0VmMEVBSVFNZ0FTZ0NBQ0VFQTBBZ0F5QUdTQVJBSUFBZ0FDc0RBQ0FFS3dNQW9Ua0RBQ0FEUVFGcUlRTWdCRUVJYWlFRUlBQkJDR29oQUF3QkN3c2dBa0VCYWlFQ0RBRUZRUUFMQ3dWQmZ3c0xMd0VDZnlBQUVLc0NJZ0VvQWdBMkFqZ2dBU2dDQUNJQ0JFQWdBaUFBTmdJMEN5QUJJQUEyQWdCQnFNVURFQTRMNndJQkIzOGpCaUVESXdaQk1Hb2tCaUFEUVJocUlRUWdBMEVJYWlFRklBTkJLR29oQmtINi9RSWdBU3dBQUJDL0FRUkFRWmdKRUVRaUFnUkFJQUpCQUVHUUFSQkZHZ0ovSUFGQkt4Qy9BVVVoQ0NBQkxBQUFJUUVnQ0FzRVFDQUNRUWhCQkNBQlFmSUFSaHMyQWdBTElBRkI0UUJHQkVBZ0F5QUFOZ0lBSUFOQkF6WUNCRUhkQVNBREVCa2lBVUdBQ0hGRkJFQWdCU0FBTmdJQUlBVkJCRFlDQkNBRklBRkJnQWh5TmdJSVFkMEJJQVVRR1JvTElBSWdBaWdDQUVHQUFYSWlBVFlDQUFVZ0FpZ0NBQ0VCQ3lBQ0lBQTJBandnQWlBQ1FaZ0JhallDTENBQ1FZQUlOZ0l3SUFKQmZ6b0FTeUFCUVFoeFJRUkFJQVFnQURZQ0FDQUVRWk9vQVRZQ0JDQUVJQVkyQWdoQk5pQUVFRE5GQkVBZ0FrRUtPZ0JMQ3dzZ0FrRUNOZ0lnSUFKQkFUWUNKQ0FDUVFFMkFpZ2dBa0VDTmdJTVFlakVBeWdDQUVVRVFDQUNRWDgyQWt3TElBSVFsd1VGUVFBaEFnc0ZRYVRGQTBFY05nSUFDeUFESkFZZ0FndHdBUUovSUFCQkt4Qy9BVVVoQVNBQUxBQUFJZ0pCOGdCSFFRSWdBUnNpQVNBQlFZQUJjaUFBUWZnQUVMOEJSUnNpQVNBQlFZQ0FJSElnQUVIbEFCQy9BVVViSWdBZ0FFSEFBSElnQWtIeUFFWWJJZ0JCZ0FSeUlBQWdBa0gzQUVZYklnQkJnQWh5SUFBZ0FrSGhBRVliQy9nQkFnWi9BWHdnQUNnQ0JDSUhRUUZJSUFBb0FnZ2lBMEVCU0hJRWYwRi9CU0FESUFFb0FnUkdCSDhEUUNBQ0lBTkhCRUFnQVNnQ0FDQUNRUU4wYWtRQUFBQUFBQUFBQURrREFDQUNRUUZxSVFJTUFRc0xJQUFvQWdBaEFBTkFJQVVnQjBjRVFFRUFJUVlnQVNnQ0FDRUVJQUFoQWdOQUlBTWdCa2NFUUNBRUlBSXJBd0FnQkNzREFLQTVBd0FnQmtFQmFpRUdJQVJCQ0dvaEJDQUNRUWhxSVFJTUFRc0xJQU5CQTNRZ0FHb2hBQ0FGUVFGcUlRVU1BUXNMSUFlM0lRaEJBQ0VBQTM4Z0FDQURSZ1IvUVFBRklBRW9BZ0FnQUVFRGRHb2lBaUFDS3dNQUlBaWpPUU1BSUFCQkFXb2hBQXdCQ3dzRlFYOExDd3ZzQWdFTGZ5QUFLQUlJSUFBb0FnQkJvdHJ2MXdacUlnWVFzUUVoQkNBQUtBSU1JQVlRc1FFaEJTQUFLQUlRSUFZUXNRRWhBeUFFSUFGQkFuWkpCSDhnQlNBQklBUkJBblJySWdkSklBTWdCMGx4Qkg4Z0F5QUZja0VEY1FSL1FRQUZBbjhnQlVFQ2RpRUpBbjhnQTBFQ2RpRU5RUUFoQlFOQUFrQWdDU0FGSUFSQkFYWWlCMm9pQzBFQmRDSU1haUlEUVFKMElBQnFLQUlBSUFZUXNRRWhDRUVBSUFOQkFXcEJBblFnQUdvb0FnQWdCaEN4QVNJRElBRkpJQWdnQVNBRGEwbHhSUTBER2tFQUlBQWdBeUFJYW1vc0FBQU5BeG9nQWlBQUlBTnFFTE1CSWdORkRRQWdBMEVBU0NFRFFRQWdCRUVCUmcwREdpQUZJQXNnQXhzaEJTQUhJQVFnQjJzZ0F4c2hCQXdCQ3dzZ0RTQU1haUlDUVFKMElBQnFLQUlBQ3lBR0VMRUJJUVFnQWtFQmFrRUNkQ0FBYWlnQ0FDQUdFTEVCSWdJZ0FVa2dCQ0FCSUFKclNYRUVmMEVBSUFBZ0Ftb2dBQ0FDSUFScWFpd0FBQnNGUVFBTEN3c0ZRUUFMQlVFQUN3cytBUUYvSUFBb0FrUUVRQ0FBS0FLRUFTSUJCRUFnQVNBQUtBS0FBVFlDZ0FFTElBQW9Bb0FCSWdBRWZ5QUFRWVFCYWdWQmxJb0JDeUFCTmdJQUN3dnFBZ0lEZndGOElBQW9BZ1FpQmlBQUtBSUlJZ1VnQmlBRlNCc2hCQ0FHUVFKSUlBVkJBa2h5QkVCQmZ5RUFCU0FCS0FJSUlBVkdCRUFnQVNnQ0JDQUVSZ1JBSUFJb0FnUWdCRVlFUUNBREtBSUVJQVZHQkVBZ0FCRGZCU0lFQkVBQ1FDQUVJQU1RbWdWQkFFZ0VRQ0FFRUVsQmZ5RUFEQUVMSUFRZ0F4Q1dCVUVBU0FSQUlBUVFTVUYvSVFBTUFRc2dCcmVmSVFjZ0JTQUdiQ0VEUVFBaEFBTkFJQUFnQTBnRVFDQUVLQUlBSUFCQkEzUnFJZ1VnQlNzREFDQUhvemtEQUNBQVFRRnFJUUFNQVFzTElBUWdBU0FDRUpFRklRQWdCQkJKSUFJb0FnUWhBMFFBQUFBQUFBQUFBQ0VIUVFBaEFRTkFJQUVnQTBnRVFDQUhJQUlvQWdBZ0FVRURkR29yQXdDZ0lRY2dBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0FpZ0NBQ0FCUVFOMGFpSUVJQVFyQXdBZ0I2TTVBd0FnQVVFQmFpRUJEQUVMQ3dzRlFYOGhBQXNGUVg4aEFBc0ZRWDhoQUFzRlFYOGhBQXNGUVg4aEFBc0xJQUFMQkFCQ0FBdmhBUUVFZnlNR0lRUWpCa0VnYWlRR0lBUWdBVFlDQUNBRUlBSWdBQ2dDTUNJRFFRQkhhellDQkNBRUlBQW9BaXcyQWdnZ0JDQUROZ0lNQWtBQ1FDQUFLQUk4SUFSQkFpQUVRUkJxSWdNUU1SQ3NBZ1JBSUFOQmZ6WUNBRUYvSVFJTUFRVWdBeWdDQUNJRFFRRklCRUFnQXlFQ0RBSUZJQU1nQkNnQ0JDSUdTd1JBSUFBZ0FDZ0NMQ0lGTmdJRUlBQWdCU0FESUFacmFqWUNDQ0FBS0FJd0JFQWdBQ0FGUVFGcU5nSUVJQUVnQWtGL2Ftb2dCU3dBQURvQUFBc0ZJQU1oQWdzTEN3d0JDeUFBSUFBb0FnQWdBa0V3Y1VFUWMzSTJBZ0FMSUFRa0JpQUNDd1lBUWFURkF3dEdBZ0YvQVg0akJpRURJd1pCRUdva0JpQUFLQUk4SUFHbklBRkNJSWluSUFKQi93RnhJQU1RSFJDc0FnUitJQU5DZnpjREFFSi9CU0FES1FNQUN5RUVJQU1rQmlBRUM3Y0NBUWQvSXdZaEJpTUdRU0JxSkFZZ0JrRVFhaUVISUFZaUF5QUFLQUljSWdRMkFnQWdBeUFBS0FJVUlBUnJJZ1UyQWdRZ0F5QUJOZ0lJSUFNZ0FqWUNERUVDSVFRZ0FpQUZhaUVGSUFNaEFRSkFBa0FEUUNBQUtBSThJQUVnQkNBSEVEQVFyQUlFZnlBSFFYODJBZ0JCZndVZ0J5Z0NBQXNpQXlBRlJ3UkFJQU5CQUVnTkFpQUJRUWhxSUFFZ0F5QUJLQUlFSWdoTElna2JJZ0VnQXlBSVFRQWdDUnRySWdnZ0FTZ0NBR28yQWdBZ0FTQUJLQUlFSUFock5nSUVJQVFnQ1VFZmRFRWZkV29oQkNBRklBTnJJUVVNQVFzTElBQWdBQ2dDTENJQklBQW9BakJxTmdJUUlBQWdBVFlDSENBQUlBRTJBaFFNQVFzZ0FFRUFOZ0lRSUFCQkFEWUNIQ0FBUVFBMkFoUWdBQ0FBS0FJQVFTQnlOZ0lBSUFSQkFrWUVmMEVBQlNBQ0lBRW9BZ1JyQ3lFQ0N5QUdKQVlnQWdzT0FDQUFLQUk4RUJoQi8vOERjUXVtQWdFQ2Z3SkFBa0FnQUNnQ0ZDSUJRYk4rYWtFQ1R3MEFJQUJCUUdzb0FnQU5BQ0FBS0FLTUFTQUFLQUowU1FSQUlBQW9BZ0FpQVVIRkFEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BcndES0FJRUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FFSFNBVFlDRkF3QkN3SkFBa0FnQVVIUEFXc09CQUFCQVFJQkN5QUFRZElCTmdJVURBRUxJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3RElnRW9BaFJGQkVBQ1FBTkFBa0FnQVNnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDekFNaUFTZ0NGRVVOQVF3Q0N3dEJBQThMQ3lBQUtBSVlLQUlZSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUJDZEEwRUJDLzBHQVFSL0FrQUNRQUpBQWtBQ1FBSkFJQUFvQWhRaUFVSElBV3NPQ3dBQkF3SUNBZ0lDQWdRQ0JBc2dBRUhNQTJvaUFTZ0NBQ2dDQkNFQ0lBQWdBa0gvQVhGQnJBTnFFUUVBSUFBb0FoZ29BZ2doQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQ0FBUWNrQk5nSVVEQVFMSUFCQnpBTnFJUUVNQXdzZ0FDZ0N6QU1vQWdBaEFTQUFJQUZCL3dCeFFRaHFFUUFBRHd0QkFROExJQUFvQWdBaUFrRVZOZ0lVSUFJZ0FUWUNHQ0FBS0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQkJBQThMSUFFb0FnQW9BZ0FoQVNBQUlBRkIvd0J4UVFocUVRQUFJZ0ZCQVVjRVFDQUJEd3NDUUFKQUFrQUNRQUpBSUFBb0FpUWlBVUVCYXc0RUFBTUJBZ01MSUFFaEFnd0RDeUFBS0FMWUFTSURLQUlBSVFFZ0F5Z0NzQUVpQWtFRFJpQUJRUUZHSWdRZ0F5Z0NXQ0lEUVFKR2NYRUVmMEVESVFKQkFnVWdCQ0FEUVNKR2NTQUNRU05HY1FSL1FRY2hBa0VDQlNBQlFkSUFSaUFEUWNjQVJuRWdBa0hDQUVaeEJIOUJBaUVDUVFJRklBRkI4Z0JHSUFOQjV3QkdjU0FDUWVJQVJuRUVmMEVHSVFKQkFnVWdBQ2dDbkFJRWYwRURJUUpCQWdVZ0FDZ0NxQUpGQkVBZ0FDZ0NBQ0lFSUFFMkFoZ2dCQ0FETmdJY0lBUWdBallDSUNBRVFmRUFOZ0lVSUFRb0FnUWhBU0FBUVFFZ0FVRS9jVUd5QldvUkF3QkJBaUVCUVFNaEFnd0lDd0pBQWtBQ1FDQUFMQUNzQWlJQkRnSUFBUUlMUVFJaEFVRUNJUUlNQ1F0QkFpRUJRUU1oQWd3SUN5QUFLQUlBSWdKQjlBQTJBaFFnQWlBQlFmOEJjVFlDR0NBQUtBSUFLQUlFSVFFZ0FFRi9JQUZCUDNGQnNnVnFFUU1BUVFJaEFVRURJUUlNQndzTEN3c0xJUUVNQWdzZ0FDZ0NxQUlFZndKQUFrQUNRQ0FBTEFDc0FpSUJEZ01BQWdFQ0MwRUVJUUZCQkNFQ0RBUUxRUVFoQVVFRklRSU1Bd3NnQUNnQ0FDSUNRZlFBTmdJVUlBSWdBVUgvQVhFMkFoZ2dBQ2dDQUNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFFRUVJUUZCQlNFQ0RBSUZRUVFoQWtFRUN5RUJEQUVMUVFBaEFVRUFJUUlMSUFBZ0FqWUNLQ0FBSUFFMkFpd2dBQ0FBS0FLc0F5SUJOZ0l3SUFBZ0FUWUNOQ0FBUkFBQUFBQUFBUEEvT1FNNElBQkJRR3RCQURZQ0FDQUFRUUEyQWtRZ0FFRUFOZ0pJSUFCQkFUWUNUQ0FBUVFFMkFsQWdBRUVBTmdKVUlBQkJBallDV0NBQVFRRTJBbHdnQUVHQUFqWUNZQ0FBUVFBMkFvZ0JJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzSUFCQnlnRTJBaFJCQVF1TkFRRUNmeUFBS0FJVUlnSkJmbkZCeUFGSEJFQWdBQ2dDQUNJRFFSVTJBaFFnQXlBQ05nSVlJQUFvQWdBb0FnQWhBaUFBSUFKQi93RnhRYXdEYWhFQkFBc0NRQUpBQWtBZ0FCQ2xCU0lDUVFGckRnSUFBUUlMUVFFUEN5QUJCRUFnQUNnQ0FDSUJRVFUyQWhRZ0FTZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBRUowRFFRSVBDeUFDQ3djQUlBQVFuZ01MbndJQkFuOGdBRUVBTmdJRUlBRkIyZ0JIQkVBZ0FDZ0NBQ0lEUVEwMkFoUWdBMEhhQURZQ0dDQUFLQUlBSUFFMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUN5QUNRZWdEUndSQUlBQW9BZ0FpQVVFV05nSVVJQUZCNkFNMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0NmeUFBSVFRZ0FDZ0NBQ0VDSUFBb0Fnd2hBeUFBUVFScVFRQkI1QU1RUlJvZ0FDQUNOZ0lBSUFBZ0F6WUNEQ0FBUVFFMkFoQWdCQXNRd2dVZ0FFRUFOZ0lJSUFCQkFEWUNHQ0FBUVFBMkFyZ0NJQUJDQURjQ3BBRWdBRUlBTndLc0FTQUFRZ0EzQXJRQklBQkNBRGNDdkFFZ0FFSUFOd0xFQVNBQVFnQTNBc3dCSUFBUXVBVWdBQkNRQmlBQVFjZ0JOZ0lVQ3hVQUlBQW9BZ0FpQUVFQU5nSnNJQUJCQURZQ0ZBdnBBZ0VLZnlNR0lRWWpCa0V3YWlRR0lBWkJDR29oQkFKQUFrQUNmeUFBS0FJQUlnSW9BaFFpQTBFQVNnUkFJQU1nQWlnQ2RFd0VRQ0FDS0FKd0lBTkJBblJxREFJTEN5QUNLQUo0SWdWRkRRRWdBeUFDS0FKOElnQklEUUVnQXlBQ0tBS0FBVW9OQVNBRElBQnJRUUowSUFWcUN5Z0NBQ0lGUlEwQURBRUxJQUlnQXpZQ0dDQUNLQUp3S0FJQUlRVUxJQVVoQUFKQUFrQURRQUpBSUFCQkFXb2hBd0pBSUFBc0FBQWlBQVJBSUFCQkpVWUVRQXdGQlF3Q0N3QUxEQUVMSUFNaEFBd0JDd3NNQVFzZ0F5d0FBRUh6QUVZRVFDQUdJQUpCR0dvMkFnQWdBU0FGSUFZUXZBRWdCaVFHRHdzTElBSW9BaHdoQnlBQ0tBSWdJUWdnQWlnQ0pDRUpJQUlvQWlnaENpQUNLQUlzSVFzZ0FpZ0NNQ0VESUFJb0FqUWhBQ0FFSUFJb0FoZzJBZ0FnQkNBSE5nSUVJQVFnQ0RZQ0NDQUVJQWsyQWd3Z0JDQUtOZ0lRSUFRZ0N6WUNGQ0FFSUFNMkFoZ2dCQ0FBTmdJY0lBRWdCU0FFRUx3QklBWWtCZ3RPQVFOL0l3WWhBU01HUWRBQmFpUUdJQUFvQWdBb0Fnd2hBaUFBSUFFZ0FrRS9jVUd5QldvUkF3QUNmMEdraUFFb0FnQWhBeUFCUWNnQmFpSUNJQUUyQWdBZ0F3c2dBaENMQlNBQkpBWUxlUUVCZnlBQUtBSUFJUUlnQVVFQVRnUkFJQUlvQW1nZ0FVZ0VRQThMSUFJb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFBOExBa0FDUUNBQ0tBSnNJZ0ZGRFFBZ0FpZ0NhRUVDU2cwQURBRUxJQUlvQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQ0tBSnNJUUVMSUFJZ0FVRUJhallDYkFzbUFRRi9JQUFvQWdBb0FnZ2hBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFFSjREUVFFUUFRdGxBQ0FBUVl3Qk5nSUFJQUJCTlRZQ0JDQUFRWTBCTmdJSUlBQkJOallDRENBQVFZNEJOZ0lRSUFCQkFEWUNhQ0FBUVFBMkFtd2dBRUVBTmdJVUlBQkJnQmcyQW5BZ0FFSCtBRFlDZENBQVFRQTJBbmdnQUVFQU5nSjhJQUJCQURZQ2dBRWdBQXNyQVFGL0lBQW9BZ1FvQWdBaEFTQUFRUUJCaEFFZ0FVRS9jVUhLQVdvUkJBQWlBRUVBTmdLQUFTQUFDeXNCQVg4Z0FDZ0NCQ2dDQUNFQklBQkJBRUdZQWlBQlFUOXhRY29CYWhFRUFDSUFRUUEyQXBRQ0lBQUx0d1lCQm44Z0FpQURhaUVFQWtBQ1FBSkFBa0FnQWtFTlN3UkFJQUVzQUFCQnlnQkdCRUFnQVN3QUFVSEdBRWNOQWlBQkxBQUNRY2tBUncwQ0lBRXNBQU5CeGdCSERRSWdBU3dBQkEwQ0lBQkJBVFlDbkFJZ0FDQUJMQUFGSWdjNkFLQUNJQUFnQVN3QUJpSUlPZ0NoQWlBQUlBRXNBQWNpQ1RvQW9nSWdBQ0FCTFFBSklBRXRBQWhCQ0hSeUlnWTdBYVFDSUFBZ0FTMEFDeUFCTFFBS1FRaDBjaUlET3dHbUFpQUhRWDlxUVJoMFFSaDFRZjhCY1VFQ1RnUkFJQUFvQWdBaUFrSDZBRFlDRkNBQ0lBZEIvd0Z4TmdJWUlBQW9BZ0FnQUMwQW9RSTJBaHdnQUNnQ0FDZ0NCQ0VDSUFCQmZ5QUNRVDl4UWJJRmFoRURBQ0FBTEFDZ0FpRUhJQUFzQUtFQ0lRZ2dBQzRCcEFJaEJpQUFMZ0dtQWlFRElBQXNBS0lDSVFrTElBQWhBaUFBS0FJQUlnVWdCMEgvQVhFMkFoZ2dCU0FJUWY4QmNUWUNIQ0FGSUFaQi8vOERjVFlDSUNBRklBTkIvLzhEY1RZQ0pDQUZJQWxCL3dGeE5nSW9JQVZCMlFBMkFoUWdCU2dDQkNFRElBSkJBU0FEUVQ5eFFiSUZhaEVEQUNBQkxBQU1JZ1lnQVN3QURTSURja0gvQVhFRVFDQUFLQUlBSWdOQjNBQTJBaFFnQXlBQkxRQU1OZ0lZSUFBb0FnQWdBUzBBRFRZQ0hDQUFLQUlBS0FJRUlRTWdBa0VCSUFOQlAzRkJzZ1ZxRVFNQUlBRXNBQXdoQmlBQkxBQU5JUU1MSUFaQi93RnhRUU5zSUFOQi93RnhiQ0FFUVhKcUlnTkdCRUFQQ3lBQUtBSUFJZ0ZCMmdBMkFoUWdBU0FETmdJWUlBQW9BZ0FvQWdRaEFDQUNRUUVnQUVFL2NVR3lCV29SQXdBUEN3VWdBa0VGU3dSQUlBRXNBQUJCeWdCR0RRSUxDd3dCQ3lBQkxBQUJRY1lBUmdSQUlBRXNBQUpCMkFCR0JFQWdBU3dBQTBIWUFFWUVRQ0FCTEFBRVJRUkFBa0FDUUFKQUFrQWdBU3dBQlVFUWF3NEVBQUVEQWdNTElBQW9BZ0FpQVVIdUFEWUNGQXdJQ3lBQUtBSUFJZ0ZCN3dBMkFoUU1Cd3NnQUNnQ0FDSUJRZkFBTmdJVURBWUxJQUFvQWdBaUFrSGJBRFlDRkNBQ0lBRXRBQVUyQWhnZ0FDZ0NBQ0FFTmdJY0RBWUxDd3NMQ3lBQUtBSUFJZ0ZCendBMkFoUWdBU0FFTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBUEN5QUJJQVEyQWhnTElBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTHlnVUJDWDhqQmlFQ0l3WkJFR29rQmdKQUlBQW9BaGdpQkNnQ0JDSURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF3c2dCQ2dDQUNJR1FRRnFJUUVnQmkwQUFDRUZJQU5CZjJvaUEwVUVRQ0FFS0FJTUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVTkFTQUVLQUlBSVFFZ0JDZ0NCQ0VEQ3lBRFFYOXFJUU1nQVVFQmFpRUdRUTRnQVMwQUFDQUZRZjhCY1VFSWRISWlBVUYrYWlJSFFRQWdBVUVDU3hzZ0FVRVBTeHNpQlFSQUFrQkJBQ0VCQTBBQ1FDQURSUVJBSUFRb0Fnd2hBeUFBSUFOQi93QnhRUWhxRVFBQVJRMEJJQVFvQWdRaEF5QUVLQUlBSVFZTElBRWdBbW9nQml3QUFEb0FBQ0FEUVg5cUlRTWdCa0VCYWlFR0lBRkJBV29pQVNBRlNRMEJEQUlMQ3d3Q0N3c2dCeUFGYXlFSUFrQUNRQUpBSUFBb0FyZ0RJZ0ZCNEFGcklna0VRQ0FKUVE1R0JFQU1BZ1VNQXdzQUN5QUFJQUlnQlNBSUVMRUZEQUlMSUFJc0FBQkJ3UUJHSUFWQkMwdHhCRUFnQWl3QUFVSGtBRVlFUUNBQ0xBQUNRZThBUmdSQUlBSXNBQU5CNGdCR0JFQWdBaXdBQkVIbEFFWUVRQ0FDTFFBSUlBSXRBQWRCQ0hSeUlRY2dBaTBBQ2lBQ0xRQUpRUWgwY2lFSklBSXNBQXNoQlNBQUtBSUFJZ0VnQWkwQUJpQUNMUUFGUVFoMGNqWUNHQ0FCSUFjMkFod2dBU0FKTmdJZ0lBRWdCVUgvQVhFMkFpUWdBVUhPQURZQ0ZDQUJLQUlFSVFFZ0FFRUJJQUZCUDNGQnNnVnFFUU1BSUFCQkFUWUNxQUlnQUNBRk9nQ3NBZ3dHQ3dzTEN3c2dBQ2dDQUNJQlFkQUFOZ0lVSUFFZ0J6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFEQUVMSUFBb0FnQWlCVUhHQURZQ0ZDQUZJQUUyQWhnZ0FDZ0NBQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBRUlBWTJBZ0FnQkNBRE5nSUVJQWhCQUV3RVFDQUNKQVpCQVE4TElBQW9BaGdvQWhBaEF5QUFJQWdnQTBFL2NVR3lCV29SQXdBZ0FpUUdRUUVQQ3lBQ0pBWkJBQXVNQWdFR2Z5QUFLQUlZSWdJb0FnUWlBVVVFUUNBQ0tBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFBUi9JQUlvQWdRRlFRQVBDeUVCQ3lBQ0tBSUFJZ05CQVdvaEJDQURMUUFBSVFNZ0FVRi9haUlCUlFSQUlBSW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFCSDhnQWlnQ0FDRUVJQUlvQWdRRlFRQVBDeUVCQ3lBRUxRQUFJQU5CL3dGeFFRaDBjaUlHUVg1cUlRVWdBQ2dDQUNJRFFkMEFOZ0lVSUFNZ0FDZ0N1QU0yQWhnZ0FDZ0NBQ0FGTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FpQUVRUUZxTmdJQUlBSWdBVUYvYWpZQ0JDQUdRUUpOQkVCQkFROExJQUFvQWhnb0FoQWhBU0FBSUFVZ0FVRS9jVUd5QldvUkF3QkJBUXVCQVFFR2Z5QUFLQUlFSWdVZ0FTZ0NCRVlFZnlBQUtBSUlJZ1FnQVNnQ0NFWUVmd04vSUFJZ0JVZ0VmeUFDSUFSc0lRWkJBQ0VEQTBBZ0F5QUVTQVJBSUFBb0FnQWdBeUFHYWlJSFFRTjBhaUFCS0FJQUlBZEJBM1JxS3dNQU9RTUFJQU5CQVdvaEF3d0JDd3NnQWtFQmFpRUNEQUVGUVFBTEN3VkJmd3NGUVg4TEM2a0JBUUovSUFBb0FyZ0RJZ0ZGQkVBZ0FCQ3hBZ1IvSUFBb0FyZ0RCVUVBRHdzaEFRc2dBQ2dDMEFNb0FoUWlBa0hRQVdvZ0FVWUVRQ0FBS0FJQUlnRkI1QUEyQWhRZ0FTQUNOZ0lZSUFBb0FnQW9BZ1FoQVNBQVFRTWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBd1VnQUNnQ0dDZ0NGQ0VCSUFBZ0FpQUJRVDl4UVlvQmFoRUNBRVVFUUVFQUR3c0xJQUFvQXRBRElnQWdBQ2dDRkVFQmFrRUhjVFlDRkVFQkM2UlVBU2wvSXdZaEtTTUdRWUFDYWlRR0lDa2hDaUFBS0FLNEF5RUJBMEFDUUNBQlJRUkFBbjhnQUNnQzBBTW9BZ3dFUUNBQUVMRUNSUVJBUWQ0Q0lRRU1CQXNnQUNnQ3VBTU1BUXNnQUNnQ0dDSUdLQUlFSWdGRkJFQWdCaWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdFQ3lBR0tBSUVJUUVMSUFZb0FnQWlCRUVCYWlFQ0lBUXNBQUFoQXlBQlFYOXFJZ1FFZnlBQ0JTQUdLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQVFMSUFZb0FnUWhCQ0FHS0FJQUN5RUJJQU5CL3dGeElRVWdBU3dBQUNJSFFmOEJjU0VDSUFOQmYwY2dCMEZZUjNJRVFDQUFLQUlBSWdOQk56WUNGQ0FESUFVMkFoZ2dBQ2dDQUNBQ05nSWNJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ0FDTmdLNEF5QUdJQUZCQVdvMkFnQWdCaUFFUVg5cU5nSUVJQUlMSVFFTEFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQ0FCUVFGckR2NEJFQklTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoSVNFaElEQkFVSUNnZ0lDQWdHQndnSkNBZ0lFQkFRRUJBUUVCQUNBUUFMRVF3U0VnNE9EZzRPRGc0T0RnNE9EZzRPRGc0U0VoSVNFaElTRWcwU0VoSVNFZzhTQzBFWklRRU1Fd3RCeXdBaEFRd1NDeUFBS0FJQUlnRkI2QUEyQWhRZ0FTZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FBS0FMUUEwRU1haUlCS0FJQUJFQWdBQ2dDQUNJQlFjQUFOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQTBFTWFpRUJDeUFBUWdBM0FPZ0JJQUJDQURjQThBRWdBRUtCZ29TSWtLREFnQUUzQVBnQklBQkNnWUtFaUpDZ3dJQUJOd0NBQWlBQVFvV0tsS2pRb01HQ0JUY0FpQUlnQUVLRmlwU28wS0RCZ2dVM0FKQUNJQUJCQURZQ21BSWdBRUVBTmdJb0lBQkJBRFlDc0FJZ0FFRUFOZ0swQWlBQVFRQTJBcHdDSUFCQkFUb0FvQUlnQUVFQk9nQ2hBaUFBUVFBNkFLSUNJQUJCQVRzQnBBSWdBRUVCT3dHbUFpQUFRUUEyQXFnQ0lBQkJBRG9BckFJZ0FVRUJOZ0lBREJBTElBQkJBVUVBUVFBUTJBRkZCRUJCM2dJaEFRd1JDd3dQQ3lBQVFRQkJBRUVBRU5nQlJRUkFRZDRDSVFFTUVBc01EZ3NnQUVFQVFRRkJBQkRZQVVVRVFFSGVBaUVCREE4TERBMExJQUJCQUVFQVFRRVEyQUZGQkVCQjNnSWhBUXdPQ3d3TUN5QUFRUUJCQVVFQkVOZ0JSUVJBUWQ0Q0lRRU1EUXNNQ3dzZ0FDZ0NBQ0lDUVQ4MkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3S0N5QUFLQUlZSWdNb0FnUWlBVVVFUUNBREtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQU1vQWdRaEFRc2dBeWdDQUNJRVFRRnFJUUlnQkMwQUFDRUVJQUZCZjJvaUFVVUVRQ0FES0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFSGVBaUVCREF3TElBTW9BZ1FoQVNBREtBSUFJUUlMSUFJdEFBQWdCRUgvQVhGQkNIUnlJZ1pCZm1vaEJDQUJRWDlxSVFFZ0FrRUJhaUVDSUFaQkFrc0VRQU4vSUFGRkJFQWdBeWdDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdPQ3lBREtBSUVJUUVnQXlnQ0FDRUNDeUFDUVFGcUlRWWdBaTBBQUNFRklBRkJmMm9pQWtVRVFDQURLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQTRMSUFNb0FnUWhBaUFES0FJQUlRWUxJQVlzQUFBaUNVSC9BWEVoQnlBQUtBSUFJZ0ZCMFFBMkFoUWdBU0FGUWY4QmNTSUJOZ0lZSUFBb0FnQWdCellDSENBQUtBSUFLQUlFSVFnZ0FFRUJJQWhCUDNGQnNnVnFFUU1BQWtBQ1FDQUZRZjhCY1VFZlNnUkFJQUFvQWdBaUJVRWROZ0lVSUFVZ0FUWUNHQ0FBS0FJQUtBSUFJUVVnQUNBRlFmOEJjVUdzQTJvUkFRQU1BUVVnQlVIL0FYRkJEMG9OQVNBQklBQkI2QUZxYWlBSFFROXhJZ1U2QUFBZ0FTQUFRZmdCYW1vZ0NVSC9BWEZCQkhZaUFUb0FBQ0FGSUFGTEJFQWdBQ2dDQUNJQlFSNDJBaFFnQVNBSE5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xEQUVMSUFBZ0FXcEIrQUZxSUFrNkFBQUxJQVJCZm1vaEFTQUNRWDlxSVFJZ0JrRUJhaUVHSUFSQkFrb0VmeUFCSVFRZ0FpRUJJQVloQWd3QkJTQUJJUVFnQWlFQklBWUxDeUVDQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURJQUkyQWdBZ0F5QUJOZ0lFREFrTElBQW9BaGdpQlNnQ0JDSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTUN3c2dCU2dDQkNFQkN5QUZLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFU1N3UkFBMEFnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUl0QUFBaEJ5QUFLQUlBSWdaQjBnQTJBaFFnQmlBSE5nSVlJQUFvQWdBb0FnUWhCaUFBUVFFZ0JrRS9jVUd5QldvUkF3QWdBa0VCYWlFR0lBRkJmMm9pQWdSL0lBWUZJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQUxJZ0VzQUFBaENTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFSUlBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoRFNBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VRSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUkVnQVVFQmFpRUJJQUpCZjJvaUFrVUVRQ0FGS0FJTUlRRWdBQ0FCUWY4QWNVRUlhaEVBQUVVRVFFR3VBU0VCREEwTElBVW9BZ1FoQWlBRktBSUFJUUVMSUFFc0FBQWhFaUFCUVFGcUlRRWdBa0YvYWlJQ1JRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFhNEJJUUVNRFFzZ0JTZ0NCQ0VDSUFVb0FnQWhBUXNnQVN3QUFDRVRJQUZCQVdvaEFTQUNRWDlxSWdKRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQnJnRWhBUXdOQ3lBRktBSUVJUUlnQlNnQ0FDRUJDeUFCTEFBQUlSUWdBVUVCYWlFQklBSkJmMm9pQWtVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVHdUFTRUJEQTBMSUFVb0FnUWhBaUFGS0FJQUlRRUxJQUVzQUFBaEZTQUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWE0QklRRU1EUXNnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUNFV0lBRkJBV29oQVNBQ1FYOXFJZ0pGQkVBZ0JTZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCcmdFaEFRd05DeUFGS0FJRUlRSWdCU2dDQUNFQkN5QUJMQUFBSVJjZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUd1QVNFQkRBMExJQVVvQWdRaEFpQUZLQUlBSVFFTElBRXNBQUFoR0NBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQ0lBVW9BZ0FoQVFzZ0FTd0FBQ0VaSUFGQkFXb2hBU0FDUVg5cUlnSkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3TkN5QUZLQUlFSVFJZ0JTZ0NBQ0VCQ3lBQkxBQUFJUm9nQVVFQmFpRUdJQUpCZjJvaUFRUi9JQVlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRYTRCSVFFTURRc2dCU2dDQkNFQklBVW9BZ0FMSVFJZ0Fpd0FBQ0luUWY4QmNTSW9JQnBCL3dGeElpWWdHVUgvQVhFaUpTQVlRZjhCY1NJa0lCZEIvd0Z4SWlNZ0ZrSC9BWEVpSWlBVlFmOEJjU0loSUJSQi93RnhJaUFnRTBIL0FYRWlIeUFTUWY4QmNTSWVJQkZCL3dGeEloMGdFRUgvQVhFaUhDQU5RZjhCY1NJYklBdEIvd0Z4SWc4Z0NVSC9BWEVpRGlBSVFmOEJjU0lNYW1wcWFtcHFhbXBxYW1wcWFtcHFJUVlnQUNnQ0FDSURJQTQyQWhnZ0F5QU1OZ0ljSUFNZ0R6WUNJQ0FESUJzMkFpUWdBeUFjTmdJb0lBTWdIVFlDTENBRElCNDJBakFnQXlBZk5nSTBJQU5CMkFBMkFoUWdBeWdDQkNFRElBQkJBaUFEUVQ5eFFiSUZhaEVEQUNBQUtBSUFJZ01nSURZQ0dDQURJQ0UyQWh3Z0F5QWlOZ0lnSUFNZ0l6WUNKQ0FESUNRMkFpZ2dBeUFsTmdJc0lBTWdKallDTUNBRElDZzJBalFnQTBIWUFEWUNGQ0FES0FJRUlRTWdBRUVDSUFOQlAzRkJzZ1ZxRVFNQUlBUkJiMm9pRGlBR1NDQUdRWUFDUzNJRVFDQUFLQUlBSWdSQkNUWUNGQ0FFS0FJQUlRUWdBQ0FFUWY4QmNVR3NBMm9SQVFBTElBRkJmMm9oQVNBQ1FRRnFJUUlnQ2tFQVFZQUNFRVVhSUFZRVFFRUFJUVFEUUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkJyZ0VoQVF3UEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQXlBQlFYOXFJUUVnQTBFQmFpRUNJQVFnQ21vZ0F5d0FBRG9BQUNBRVFRRnFJZ1FnQmtrTkFBc0ZRUUFoQmdzZ0J5QUhRWEJxSWdRZ0IwRVFjVVVpQXhzaURFRURTd1JBSUFBb0FnQWlEMEVmTmdJVUlBOGdERFlDR0NBQUtBSUFLQUlBSVF3Z0FDQU1RZjhCY1VHc0Eyb1JBUUFMSUFCQnRBRnFJQWRCQW5ScUlBQkJ4QUZxSUFSQkFuUnFJQU1iSWdNb0FnQWlCRVVFUUNBRElBQVFzQVVpQkRZQ0FBc2dCRUVBT2dBQUlBUWdDVG9BQVNBRUlBZzZBQUlnQkNBTE9nQURJQVFnRFRvQUJDQUVJQkE2QUFVZ0JDQVJPZ0FHSUFRZ0Vqb0FCeUFFSUJNNkFBZ2dCQ0FVT2dBSklBUWdGVG9BQ2lBRUlCWTZBQXNnQkNBWE9nQU1JQVFnR0RvQURTQUVJQms2QUE0Z0JDQWFPZ0FQSUFRZ0p6b0FFQ0FES0FJQVFSRnFJQXBCZ0FJUVRCb2dEaUFHYXlJRVFSQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUZJQUkyQWdBZ0JTQUJOZ0lFREFnTElBQW9BaGdpQ0NnQ0JDSUJSUVJBSUFnb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dDQ2dDQkNFQkN5QUlLQUlBSWdKQkFXb2hCQ0FDTFFBQUlRWWdBVUYvYWlJQlJRUkFJQWdvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ2dzZ0NDZ0NCQ0VCSUFnb0FnQWhCQXNnQVVGL2FpRUJJQVJCQVdvaEFpQUVMUUFBSUFaQi93RnhRUWgwY2lJR1FYNXFJUVFnQmtFQ1N3UkFBMEFnQVFSL0lBRWhCU0FDQlNBSUtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBd0xJQWdvQWdRaEJTQUlLQUlBQ3lJR0xRQUFJZ0ZCQkhZaEFpQUFLQUlBSWdOQjB3QTJBaFFnQXlBQlFROXhJZ0UyQWhnZ0FDZ0NBQ0FDTmdJY0lBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FVRURTd1JBSUFBb0FnQWlBMEVnTmdJVUlBTWdBVFlDR0NBQUtBSUFLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMSUFCQnBBRnFJQUZCQW5ScUlnRW9BZ0FpQTBVRVFDQUJJQUFRcndVaUF6WUNBQXNnQkVGL2FpRUpBbjhDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUNBQ1FRQkhJZ3NFZnlBRVFZRUJUZzBKSUFOQkFUc0JBQ0FEUVFFN0FRSWdBMEVCT3dFRUlBTkJBVHNCQmlBRFFRRTdBUWdnQTBFQk93RUtJQU5CQVRzQkRDQURRUUU3QVE0Z0EwRUJPd0VRSUFOQkFUc0JFaUFEUVFFN0FSUWdBMEVCT3dFV0lBTkJBVHNCR0NBRFFRRTdBUm9nQTBFQk93RWNJQU5CQVRzQkhpQURRUUU3QVNBZ0EwRUJPd0VpSUFOQkFUc0JKQ0FEUVFFN0FTWWdBMEVCT3dFb0lBTkJBVHNCS2lBRFFRRTdBU3dnQTBFQk93RXVJQU5CQVRzQk1DQURRUUU3QVRJZ0EwRUJPd0UwSUFOQkFUc0JOaUFEUVFFN0FUZ2dBMEVCT3dFNklBTkJBVHNCUENBRFFRRTdBVDRnQTBGQWEwRUJPd0VBSUFOQkFUc0JRaUFEUVFFN0FVUWdBMEVCT3dGR0lBTkJBVHNCU0NBRFFRRTdBVW9nQTBFQk93Rk1JQU5CQVRzQlRpQURRUUU3QVZBZ0EwRUJPd0ZTSUFOQkFUc0JWQ0FEUVFFN0FWWWdBMEVCT3dGWUlBTkJBVHNCV2lBRFFRRTdBVndnQTBFQk93RmVJQU5CQVRzQllDQURRUUU3QVdJZ0EwRUJPd0ZrSUFOQkFUc0JaaUFEUVFFN0FXZ2dBMEVCT3dGcUlBTkJBVHNCYkNBRFFRRTdBVzRnQTBFQk93RndJQU5CQVRzQmNpQURRUUU3QVhRZ0EwRUJPd0YySUFOQkFUc0JlQ0FEUVFFN0FYb2dBMEVCT3dGOElBTkJBVHNCZmlBSlFRRjFCU0FFUWNFQVRnMEpJQU5CQVRzQkFDQURRUUU3QVFJZ0EwRUJPd0VFSUFOQkFUc0JCaUFEUVFFN0FRZ2dBMEVCT3dFS0lBTkJBVHNCRENBRFFRRTdBUTRnQTBFQk93RVFJQU5CQVRzQkVpQURRUUU3QVJRZ0EwRUJPd0VXSUFOQkFUc0JHQ0FEUVFFN0FSb2dBMEVCT3dFY0lBTkJBVHNCSGlBRFFRRTdBU0FnQTBFQk93RWlJQU5CQVRzQkpDQURRUUU3QVNZZ0EwRUJPd0VvSUFOQkFUc0JLaUFEUVFFN0FTd2dBMEVCT3dFdUlBTkJBVHNCTUNBRFFRRTdBVElnQTBFQk93RTBJQU5CQVRzQk5pQURRUUU3QVRnZ0EwRUJPd0U2SUFOQkFUc0JQQ0FEUVFFN0FUNGdBMEZBYTBFQk93RUFJQU5CQVRzQlFpQURRUUU3QVVRZ0EwRUJPd0ZHSUFOQkFUc0JTQ0FEUVFFN0FVb2dBMEVCT3dGTUlBTkJBVHNCVGlBRFFRRTdBVkFnQTBFQk93RlNJQU5CQVRzQlZDQURRUUU3QVZZZ0EwRUJPd0ZZSUFOQkFUc0JXaUFEUVFFN0FWd2dBMEVCT3dGZUlBTkJBVHNCWUNBRFFRRTdBV0lnQTBFQk93RmtJQU5CQVRzQlppQURRUUU3QVdnZ0EwRUJPd0ZxSUFOQkFUc0JiQ0FEUVFFN0FXNGdBMEVCT3dGd0lBTkJBVHNCY2lBRFFRRTdBWFFnQTBFQk93RjJJQU5CQVRzQmVDQURRUUU3QVhvZ0EwRUJPd0Y4SUFOQkFUc0JmaUFKQ3lJQlFRUnJEaTRBQmdZR0JnRUdCZ1lHQmdZQ0JnWUdCZ1lHQmdZREJnWUdCZ1lHQmdZR0JnUUdCZ1lHQmdZR0JnWUdCZ1lGQmd0QndDVWhBZ3dHQzBIUUpDRUNEQVVMUWRBaklRSU1CQXRCb0NJaEFnd0RDMEhRSUNFQ0RBSUxRY0FlSVFJTUFRc2dCVUYvYWlFQ0lBWkJBV29oQmlBQlFRQktCRUJCZ0J3aEJ5QUdEQU1GSUFFaEJDQUNJUUVnQmd3RUN3QUxJQUloQnlBRlFYOXFJUUlnQmtFQmFnd0JDMEdBSENFSFFjQUFJUUVnQlVGL2FpRUNJQVpCQVdvTElRUWdDMFVFUUVFQUlRVURRQ0FDUlFSQUlBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Ed3NnQ0NnQ0JDRUNJQWdvQWdBaEJBc2dCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBT3dFQUlBSkJmMm9oQWlBRVFRRnFJUVlnQlVFQmFpSUZJQUZJQkVBZ0JpRUVEQUVGSUFFaEJDQUNJUUVnQmd3REN3QUFDd0FMUVFBaEJRTi9JQUpGQkVBZ0NDZ0NEQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd09DeUFJS0FJRUlRSWdDQ2dDQUNFRUN5QUVRUUZxSVFZZ0JDMEFBQ0VOSUFKQmYyb2lBZ1IvSUFZRklBZ29BZ3doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1EZ3NnQ0NnQ0JDRUNJQWdvQWdBTElRUWdCVUVDZENBSGFpZ0NBRUVCZENBRGFpQUVMUUFBSUExQi93RnhRUWgwY2pzQkFDQUNRWDlxSVFJZ0JFRUJhaUVHSUFWQkFXb2lCU0FCU0FSL0lBWWhCQXdCQlNBQklRUWdBaUVCSUFZTEN3c2hBaUFBS0FJQUlnVW9BbWhCQVVvRVFBSkFRUUFoQmdOQUlBVWdCa0VCZENBRGFpOEJBRFlDR0NBRklBWkJBWEpCQVhRZ0Eyb3ZBUUEyQWh3Z0JTQUdRUUp5UVFGMElBTnFMd0VBTmdJZ0lBVWdCa0VEY2tFQmRDQURhaThCQURZQ0pDQUZJQVpCQkhKQkFYUWdBMm92QVFBMkFpZ2dCU0FHUVFWeVFRRjBJQU5xTHdFQU5nSXNJQVVnQmtFR2NrRUJkQ0FEYWk4QkFEWUNNQ0FGSUFaQkIzSkJBWFFnQTJvdkFRQTJBalFnQlVIZkFEWUNGQ0FGS0FJRUlRVWdBRUVDSUFWQlAzRkJzZ1ZxRVFNQUlBWkJDR29pQmtIQUFFOE5BU0FBS0FJQUlRVU1BQUFMQUFzTElBa2dCR3RCQUNBRWEwRUFJQXNiYWlJRVFRQktEUUFMQ3lBRUJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUlJQUkyQWdBZ0NDQUJOZ0lFREFjTElBQW9BaGdpQmlnQ0JDSUJSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQkN5QUdLQUlBSWdKQkFXb2hCQ0FDTFFBQVFRaDBJQUZCZjJvaUFnUi9JQVFGSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FMSWdFdEFBQnlRUVJIQkVBZ0FDZ0NBQ0lFUVF3MkFoUWdCQ2dDQUNFRUlBQWdCRUgvQVhGQnJBTnFFUUVBQ3lBQlFRRnFJUUVnQWtGL2FpSUNSUVJBSUFZb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNRc2dCaWdDQkNFQ0lBWW9BZ0FoQVFzZ0FVRUJhaUVFSUFFdEFBQkJDSFFnQWtGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0pDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSEloQkNBQUtBSUFJZ05CMUFBMkFoUWdBeUFFTmdJWUlBQW9BZ0FvQWdRaEF5QUFRUUVnQTBFL2NVR3lCV29SQXdBZ0FDQUVOZ0tZQWlBR0lBRkJBV28yQWdBZ0JpQUNRWDlxTmdJRURBWUxJQUFvQWhnaUJTZ0NBQ0VDSUFVb0FnUWhBU0FBS0FMUUF5Z0NFRVVFUUNBQUtBSUFJZ1JCUERZQ0ZDQUVRUmhxUWZMOUFrSFFBQkRWQVNBQUtBSUFLQUlBSVFRZ0FDQUVRZjhCY1VHc0Eyb1JBUUFMQWtBQ1FDQUFLQUlrUVFOSURRQWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFRUWgwSUFGQmYyb2lBZ1IvSUFRRklBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBTElnRXRBQUJ5UVJoSEJFQWdBQ2dDQUNJRVFRdzJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QUJRUUZxSVFFZ0FrRi9haUlDUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1DZ3NnQlNnQ0JDRUNJQVVvQWdBaEFRc2dBU3dBQUVFTlJ3UkFJQUFvQWdBaUJFSEdBRFlDRkNBRUlBQW9BcmdETmdJWUlBQW9BZ0FvQWdBaEJDQUFJQVJCL3dGeFFhd0RhaEVCQUFzZ0FVRUJhaUVCSUFKQmYyb2lBa1VFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEFpQUZLQUlBSVFFTElBRkJBV29oQkNBQkxRQUFJUVlnQWtGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUNnc2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrSC9BVWNOQUNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3S0N5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFCQkEwY05BQ0FCQkg4Z0FnVWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdLQ3lBRktBSUVJUUVnQlNnQ0FBc2hCQ0FCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQUNnQzJBRWlBeWdDV0VjTkFDQUJCSDhnQVNFRUlBSWhCaUFEQlNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBb0xJQVVvQWdRaEJDQUZLQUlBSVFZZ0FDZ0MyQUVMSVFFZ0JFRi9haUVDSUFaQkFXb2hCQ0FHTFFBQUlBRW9BZ0JHQkVBZ0FnUi9JQUVGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQ0lBVW9BZ0FoQkNBQUtBTFlBUXNoQmlBQ1FYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JpZ0NzQUZIRFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQVFZQi9SdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQlJRUkFJQVVvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlFSQVFkNENJUUVNQ3dzZ0JTZ0NCQ0VCSUFVb0FnQWhBZ3NnQWtFQmFpRUVJQUl0QUFBaEJpQUJRWDlxSWdGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUVDeUFCUVg5cUlRRWdCRUVCYWlFQ0lBUXRBQUFnQmtIL0FYRkJDSFJ5RFFFZ0FRUi9JQUlGSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FMSVFRZ0FVRi9haUVCSUFSQkFXb2hBaUFFTEFBQURRRWdBVVVFUUNBRktBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVUVRRUhlQWlFQkRBc0xJQVVvQWdRaEFTQUZLQUlBSVFJTElBSkJBV29oQkNBQ0xRQUFJUVlnQVVGL2FpSUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQkFzZ0FVRi9haUVCSUFSQkFXb2hBaUFFTFFBQUlBWkIvd0Z4UVFoMGNrRUJSdzBCSUFGRkJFQWdCU2dDRENFQklBQWdBVUgvQUhGQkNHb1JBQUJGQkVCQjNnSWhBUXdMQ3lBRktBSUVJUUVnQlNnQ0FDRUNDeUFDUVFGcUlRUWdBaTBBQUNFR0lBRkJmMm9pQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRUUxJQUZCZjJvaEFTQUVRUUZxSVFJZ0JDMEFBQ0FHUWY4QmNVRUlkSElOQVNBQkJIOGdBZ1VnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQXNoQkNBQlFYOXFJUUVnQkVFQmFpRUNJQVFzQUFBTkFTQUJSUVJBSUFVb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRUkFRZDRDSVFFTUN3c2dCU2dDQkNFQklBVW9BZ0FoQWdzZ0FrRUJhaUVFSUFJdEFBQWhCaUFCUVg5cUlnRkZCRUFnQlNnQ0RDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3TEN5QUZLQUlFSVFFZ0JTZ0NBQ0VFQ3lBQlFYOXFJUUVnQkVFQmFpRUNJQVF0QUFBZ0JrSC9BWEZCQ0hSeVFRRkhEUUVnQVVVRVFDQUZLQUlNSVFFZ0FDQUJRZjhBY1VFSWFoRUFBRVVFUUVIZUFpRUJEQXNMSUFVb0FnUWhBU0FGS0FJQUlRSUxJQUpCQVdvaEJDQUNMUUFBSVFZZ0FVRi9haUlCUlFSQUlBVW9BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUVJBUWQ0Q0lRRU1Dd3NnQlNnQ0JDRUJJQVVvQWdBaEJBc2dBVUYvYWlFQklBUkJBV29oQWlBRUxRQUFJQVpCL3dGeFFRaDBjZzBCQlNBQ0lRRWdCQ0VDREFFTERBRUxJQUFvQWdBaUJFRWNOZ0lVSUFRb0FnQWhCQ0FBSUFSQi93RnhRYXdEYWhFQkFBc2dBRUVCTmdLd0FpQUZJQUkyQWdBZ0JTQUJOZ0lFREFVTElBQW9BdEFESUFGQkFuUnFRYUI1YWlnQ0FDRUJJQUFnQVVIL0FIRkJDR29SQUFCRkJFQkIzZ0loQVF3R0N3d0VDeUFBS0FMUUF5Z0NIQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0ZDd3dEQ3lBQUtBSUFJZ0pCM2dBMkFoUWdBaUFCTmdJWUlBQW9BZ0FvQWdRaEFTQUFRUUVnQVVFL2NVR3lCV29SQXdBTUFnc2dBQ2dDR0NJR0tBSUVJZ0ZGQkVBZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRRUxJQVlvQWdBaUFrRUJhaUVFSUFJdEFBQkJDSFFnQVVGL2FpSUNCSDhnQkFVZ0JpZ0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZCRUJCM2dJaEFRd0VDeUFHS0FJRUlRSWdCaWdDQUFzaUFTMEFBSElpQTBGK2FpRUVJQUFvQWdBaUJVSGRBRFlDRkNBRklBQW9BcmdETmdJWUlBQW9BZ0FnQkRZQ0hDQUFLQUlBS0FJRUlRVWdBRUVCSUFWQlAzRkJzZ1ZxRVFNQUlBWWdBVUVCYWpZQ0FDQUdJQUpCZjJvMkFnUWdBMEVDU3dSQUlBQW9BaGdvQWhBaEFTQUFJQVFnQVVFL2NVR3lCV29SQXdBTERBRUxJQUFvQWdBaUFrSEdBRFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFDeUFBUVFBMkFyZ0RRUUFoQVF3QkN3c0NRQ0FCUVJsR0JFQWdBQ2dDR0NJSEtBSUFJUVFnQnlnQ0JDRUJJQUFvQXRBREtBSVFSUVJBSUFBb0FnQWlBa0U4TmdJVUlBSkJHR3BCN3YwQ1FkQUFFTlVCSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQVFSL0lBRWhBaUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVFSUFFdEFBQWhCU0FDUVg5cUlnSUVmeUFFQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRSWdCeWdDQUFzaUFVRUJhaUVHSUFFdEFBQWhDQ0FDUVg5cUlnUUVmeUFHQlNBSEtBSU1JUUVnQUNBQlFmOEFjVUVJYWhFQUFFVU5BaUFIS0FJRUlRUWdCeWdDQUFzaUFTd0FBQ0lEUWY4QmNTRUpJQUFvQWdBaUFrSHBBRFlDRkNBQ0lBazJBaGdnQUNnQ0FDZ0NCQ0VDSUFCQkFTQUNRVDl4UWJJRmFoRURBQUpBQWtBQ1FBSi9Ba0FnQ1VFQmRFRUdhaUFJUWY4QmNTQUZRZjhCY1VFSWRISkhJQU5CL3dGeFFRUktjZzBBSUFNRVFDQUFJQWsyQXRRQ0lBRkJBV29oQVNBRVFYOXFJZ1FoQWlBRVJRd0NDeUFBS0FMZ0FVVU5BQ0FBSUFrMkF0UUNJQUZCQVdvaEFpQUVRWDlxSWdFRWYwRUJCVUVCSVFRTUJBc2hCQXdFQ3lBQUtBSUFJZ0pCRERZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFnQUNBSk5nTFVBaUFCUVFGcUlRSWdCRUYvYWlJRVJTRUdJQU1FZnlBQ0lRRWdCQ0VDSUFZRklBUWhBVUVCSVFRTUFnc0xJUVJCQUNFREEwQUNRQ0FFQkg4Z0J5Z0NEQ0VCSUFBZ0FVSC9BSEZCQ0dvUkFBQkZEUUVnQnlnQ0JDRUdJQWNvQWdBRklBSWhCaUFCQ3lJRUxRQUFJUUlnQXdSQUFrQkJBQ0VCQTBBZ0FFSFlBbW9nQVVFQ2RHb29BZ0FvQWdBZ0FrY0VRQ0FCUVFGcUlnRWdBMGtFUUF3Q0JRd0RDd0FMQ3lBQUtBTFlBaWdDQUNFQklBTkJBVXNFUUVFQklRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDZ0NBQ0lGSUFFZ0JTQUJTaHNoQVNBQ1FRRnFJZ0lnQTBjTkFBc0xJQUZCQVdvaEFnc0xJQVpCZjJvaEJpQUVRUUZxSVFVZ0FDZ0MyQUVoQVFKQUFrQWdBQ2dDSkNJSVFRQk1EUUJCQUNFRUFrQURRQ0FDSUFFb0FnQkdEUUVnQVVIWUFHb2hBU0FFUVFGcUlnUWdDRWdOQUFzTUFRc01BUXNnQUNnQ0FDSUVRUVEyQWhRZ0JDQUNOZ0lZSUFBb0FnQW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUVIWUFtb2dBMEVDZEdvZ0FUWUNBQ0FCSUFZRWZ5QUZCU0FIS0FJTUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVTkFTQUhLQUlFSVFZZ0J5Z0NBQXNpQWkwQUFDSUVRUVIyTmdJVUlBRWdCRUVQY1RZQ0dDQUFLQUlBSWdRZ0FTZ0NBRFlDR0NBRUlBRW9BaFEyQWh3Z0JDQUJLQUlZTmdJZ0lBUkI2Z0EyQWhRZ0JDZ0NCQ0VCSUFCQkFTQUJRVDl4UWJJRmFoRURBQ0FDUVFGcUlRSWdCa0YvYWlJRVJTRUdJQU5CQVdvaUF5QUpTUVJBSUFJaEFTQUVJUUlnQmlFRURBSUZJQVFoQVVFQUlRUU1Bd3NBQ3dzTUJBc2dCZzBBREFFTElBY29BZ3doQVNBQUlBRkIvd0J4UVFocUVRQUFSUTBDSUFjb0FnQWhBaUFIS0FJRUlRRUxJQUpCQVdvaEJpQUFJQUl0QUFBMkFwd0RJQUZCZjJvaUFnUi9JQVlGSUFjb0Fnd2hBU0FBSUFGQi93QnhRUWhxRVFBQVJRMENJQWNvQWdRaEFpQUhLQUlBQ3lJQlFRRnFJUVlnQUNBQkxRQUFOZ0tnQXlBQUlBSkJmMm9pQWdSL0lBWUZJQWNvQWd3aEFTQUFJQUZCL3dCeFFRaHFFUUFBUlEwQ0lBY29BZ1FoQWlBSEtBSUFDeUlCTFFBQUlnWkJCSFkyQXFRRElBQWdCa0VQY1RZQ3FBTWdBQ2dDQUNJR0lBQW9BcHdETmdJWUlBWWdBQ2dDb0FNMkFod2dCaUFBS0FLa0F6WUNJQ0FHSUFBb0FxZ0ROZ0lrSUFaQjZ3QTJBaFFnQmlnQ0JDRUdJQUJCQVNBR1FUOXhRYklGYWhFREFDQUFLQUxRQTBFQU5nSVVJQVJGQkVBZ0FDQUFLQUtRQVVFQmFqWUNrQUVMSUFjZ0FVRUJhallDQUNBSElBSkJmMm8yQWdRZ0FFRUFOZ0s0QXlBS0pBWkJBUThGSUFGQnl3QkdCRUFnQUNnQ0FDSUJRZGNBTmdJVUlBRW9BZ1FoQVNBQVFRRWdBVUUvY1VHeUJXb1JBd0FnQUVFQU5nSzRBeUFLSkFaQkFnOEZJQUZCcmdGR0JFQU1Bd1VnQVVIZUFrWU5Bd3NMQzBFQUR3c2dDaVFHUVFBTFFRRUJmeUFBS0FMUUF5RUJJQUJCQURZQzJBRWdBRUVBTmdLUUFTQUFRUUEyQXJnRElBRkJBRFlDRENBQlFRQTJBaEFnQVVFQU5nSVlJQUZCQURZQ3BBRUxpUU1CQVg4Z0FDZ0NCQ2dDQUNFQklBQWdBRUVBUWF3QklBRkJQM0ZCeWdGcUVRUUFJZ0UyQXRBRElBRkJpd0UyQWdBZ0FVSFhBRFlDQkNBQlFkZ0FOZ0lJSUFGQjJRQTJBaHdnQVVFQU5nSmdJQUZCQURZQ1pDQUJRZGtBTmdJa0lBRkJBRFlDYUNBQlFka0FOZ0lvSUFGQkFEWUNiQ0FCUWRrQU5nSXNJQUZCQURZQ2NDQUJRZGtBTmdJd0lBRkJBRFlDZENBQlFka0FOZ0kwSUFGQkFEWUNlQ0FCUWRrQU5nSTRJQUZCQURZQ2ZDQUJRZGtBTmdJOElBRkJBRFlDZ0FFZ0FVRkFhMEhaQURZQ0FDQUJRUUEyQW9RQklBRkIyUUEyQWtRZ0FVRUFOZ0tJQVNBQlFka0FOZ0pJSUFGQkFEWUNqQUVnQVVIWkFEWUNUQ0FCUVFBMkFwQUJJQUZCMlFBMkFsQWdBVUVBTmdLVUFTQUJRZGtBTmdKVUlBRkJBRFlDbUFFZ0FVRUFOZ0tjQVNBQlFka0FOZ0pjSUFGQkFEWUNvQUVnQVVIYUFEWUNJQ0FCUWRvQU5nSllJQUFvQXRBRElRRWdBRUVBTmdMWUFTQUFRUUEyQXBBQklBQkJBRFlDdUFNZ0FVRUFOZ0lNSUFGQkFEWUNFQ0FCUVFBMkFoZ2dBVUVBTmdLa0FRc2VBQ0FBUVFFUXJnSWdBRUVBRUs0Q0lBQW9BZ1FRT0NBQVFRQTJBZ1FMMlFjQkIzOENRQUpBSUFJZ0Eyb2lDU0FCS0FJRVN3MEFJQUVvQWd3Z0Ewa05BQ0FCS0FJQVJRMEFEQUVMSUFBb0FnQWlBMEVYTmdJVUlBTW9BZ0FoQXlBQUlBTkIvd0Z4UWF3RGFoRUJBQXNDUUFKQUlBRW9BaGdpQXlBQ1N3MEFJQWtnQXlBQktBSVFha3NOQUF3QkN5QUJLQUlvUlFSQUlBQW9BZ0FpQTBISEFEWUNGQ0FES0FJQUlRTWdBQ0FEUWY4QmNVR3NBMm9SQVFBTElBRW9BaVFFUUNBQktBSUlRUWQwSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnaEJCM1FoQ2lBR1FRQktCRUFnQVVFd2FpRUxJQUVvQWhRaUF5QUdJQU1nQmtnYklnWWdBU2dDSENBRmF5SURJQVlnQTBnYklnWWdBU2dDQkNBRmF5SURJQVlnQTBnYklnTkJBVTRFUUNBRklBcHNJUVZCQUNFR0EwQWdDeWdDQUNFSElBQWdDeUFCS0FJQUlBWkJBblJxS0FJQUlBVWdBeUFLYkNJSUlBZEJQM0ZCbWdacUVRVUFJQUVvQWhBaUF5QUdJQUVvQWhRaUIyb2lCa3dOQXlBRklBaHFJUVVnQnlBRElBWnJJZ01nQnlBRFNCc2lDQ0FCS0FJY0lBRW9BaGdnQm1vaUIyc2lBeUFJSUFOSUd5SUlJQUVvQWdRZ0Iyc2lBeUFJSUFOSUd5SURRUUZPRFFBTEN3c0xJQUVvQWh3aUF5QUpTUVJBQWtBZ0JFVWhCUUpBQWtBZ0F5QUNTUVJBSUFVRWYwRUFJUVVnQWdVZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBSUFJaEF3d0NDeUVEQlNBRlJRMEJRUUFoQlFzTUFRc2dBU0FKTmdJY1FRRWhCUXNnQVNnQ0lFVUVRQ0FGRFFFZ0FDZ0NBQ0lEUVJjMkFoUWdBeWdDQUNFRElBQWdBMEgvQVhGQnJBTnFFUUVBREFFTElBRW9BZ2hCQjNRaEJTQURJQUVvQWhnaUEyc2lBQ0FKSUFOcklnTkpCRUFEUUNBQktBSUFJQUJCQW5ScUtBSUFRUUFnQlJCRkdpQUFRUUZxSWdBZ0EwY05BQXNMQ3dzZ0JFVUVRQ0FCS0FJQUlBSWdBU2dDR0d0QkFuUnFEd3NnQVVFQk5nSWtJQUVvQWdBZ0FpQUJLQUlZYTBFQ2RHb0xNZ0VCZnlBQUtBSUlJQUFvQWdRUXBRTWlBUVJBSUFFZ0FCRHFCRUVBU0FSQUlBRVFTVUVBSVFFTEJVRUFJUUVMSUFFTDBBY0JCMzhDUUFKQUlBSWdBMm9pQ1NBQktBSUVTdzBBSUFFb0Fnd2dBMGtOQUNBQktBSUFSUTBBREFFTElBQW9BZ0FpQTBFWE5nSVVJQU1vQWdBaEF5QUFJQU5CL3dGeFFhd0RhaEVCQUFzQ1FBSkFJQUVvQWhnaUF5QUNTdzBBSUFrZ0F5QUJLQUlRYWtzTkFBd0JDeUFCS0FJb1JRUkFJQUFvQWdBaUEwSEhBRFlDRkNBREtBSUFJUU1nQUNBRFFmOEJjVUdzQTJvUkFRQUxJQUVvQWlRRVFDQUJLQUlJSVFvZ0FTZ0NHQ0VHSUFFb0FoQWlCVUVBU2dSQUFrQWdBVUV3YWlFTElBRW9BaFFpQXlBRklBTWdCVWdiSWdVZ0FTZ0NIQ0FHYXlJRElBVWdBMGdiSWdVZ0FTZ0NCQ0FHYXlJRElBVWdBMGdiSWdOQkFVNEVRQ0FHSUFwc0lRVkJBQ0VHQTBBZ0FTZ0NOQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BaUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRkJBRFlDSkFzZ0FTZ0NFQ0VHSUFFZ0FTZ0NHQ0FDU1FSL0lBSUZJQWtnQm1zaUEwRUFJQU5CQUVvYkN5SUZOZ0lZSUFFb0FnZ2hDaUFHUVFCS0JFQWdBVUV3YWlFTElBRW9BaFFpQXlBR0lBTWdCa2diSWdZZ0FTZ0NIQ0FGYXlJRElBWWdBMGdiSWdZZ0FTZ0NCQ0FGYXlJRElBWWdBMGdiSWdOQkFVNEVRQ0FGSUFwc0lRVkJBQ0VHQTBBZ0N5Z0NBQ0VISUFBZ0N5QUJLQUlBSUFaQkFuUnFLQUlBSUFVZ0F5QUtiQ0lJSUFkQlAzRkJtZ1pxRVFVQUlBRW9BaEFpQXlBR0lBRW9BaFFpQjJvaUJrd05BeUFGSUFocUlRVWdCeUFESUFacklnTWdCeUFEU0JzaUNDQUJLQUljSUFFb0FoZ2dCbW9pQjJzaUF5QUlJQU5JR3lJSUlBRW9BZ1FnQjJzaUF5QUlJQU5JR3lJRFFRRk9EUUFMQ3dzTElBRW9BaHdpQXlBSlNRUkFBa0FnQkVVaEJRSkFBa0FnQXlBQ1NRUkFJQVVFZjBFQUlRVWdBZ1VnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFJQUloQXd3Q0N5RURCU0FGUlEwQlFRQWhCUXNNQVFzZ0FTQUpOZ0ljUVFFaEJRc2dBU2dDSUVVRVFDQUZEUUVnQUNnQ0FDSURRUmMyQWhRZ0F5Z0NBQ0VESUFBZ0EwSC9BWEZCckFOcUVRRUFEQUVMSUFFb0FnZ2hCU0FESUFFb0FoZ2lBMnNpQUNBSklBTnJJZ05KQkVBRFFDQUJLQUlBSUFCQkFuUnFLQUlBUVFBZ0JSQkZHaUFBUVFGcUlnQWdBMGNOQUFzTEN3c2dCRVVFUUNBQktBSUFJQUlnQVNnQ0dHdEJBblJxRHdzZ0FVRUJOZ0lrSUFFb0FnQWdBaUFCS0FJWWEwRUNkR29MNEFvQkUzOGdBQ2dDQkNJS0tBSkVJZ0VFZndOL0lBRW9BZ0JGQkVBZ0F5QUJLQUlJSWdRZ0FTZ0NER3hxSVFNZ0FpQUVJQUVvQWdSc2FpRUNDeUFCS0FJc0lnRU5BQ0FESVFFZ0Fnc0ZRUUFoQVVFQUN5RURJQW9vQWtnaUJBUkFJQUVoQWdOQUlBUW9BZ0JGQkVBZ0FpQUVLQUlJSWdFZ0JDZ0NERUVIZEd4cUlRSWdBeUFFS0FJRUlBRkJCM1JzYWlFREN5QUVLQUlzSWdRTkFBc0ZJQUVoQWdzZ0FrRUJTQVJBRHdzZ0NpZ0NUQm9nQXlJQklBTklCSDhnQVNBQ0VEa2lBVUVCSUFGQkFVb2JCVUdBbE92Y0F3c2hEeUFLS0FKRUlnSUVRQU5BSUFJb0FnQkZCRUFnQWlnQ0JDSUZRWDlxSUFJb0Fnd2lBUkJJUVFGcUlBOUtCRUFnQWlBQklBOXNOZ0lRSUFBZ0JTQUNRUWhxSWdNb0FnQnNFSjhESUFKQkFUWUNLQ0FDS0FJUUlRVUZJQUlnQlRZQ0VDQUNRUWhxSVFNTElBQW9BZ1FoRWtId2srdmNBeUFES0FJQUlnc1FTQ0VCSUF0QjhKUHIzQU5MQkVBZ0FDZ0NBQ0lEUWNnQU5nSVVJQUFnQXlnQ0FFSC9BWEZCckFOcUVRRUFDeUFTSUFFZ0JTQUJJQVZJR3lJQk5nSlFJQUJCQVNBRlFRSjBFTFVCSVF3Z0JRUkFJQVZCZjNNaEVFRUFJUU1EUUNBQUtBSUVJUWNnQVNBRklBTnJJZ1FnQVNBRVNSc2lCQ0FMYkNJR1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQ0VFNE5nSVVJQWhCQXpZQ0dDQUFJQUFvQWdBb0FnQkIvd0Z4UWF3RGFoRUJBQXNnQmtFSUlBWkJCM0VpQ0d0QkFDQUlHMm9pQ0VFUWFpSU5FRVFpQmtVRVFDQUFLQUlBSWdsQk9EWUNGQ0FKUVFRMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFjZ0J5Z0NUQ0FOYWpZQ1RDQUdJQWRCUUdzaUJ5Z0NBRFlDQUNBR0lBZzJBZ1FnQmtFQU5nSUlJQWNnQmpZQ0FDQUVCRUFnQXlBUWFpSU5JQUZCZjNNaUNVc2hEaUFFSVFjZ0JrRVFhaUVJSUFNaEFRTkFJQUZCQVdvaEJpQUJRUUowSUF4cUlBZzJBZ0FnQ0NBTGFpRUlJQWRCZjJvaUJ3UkFJQVloQVF3QkN3c2dBMEYvYWlBTklBa2dEaHRySVFNTElBTWdCVWtFUUNBRUlRRU1BUXNMQ3lBQ0lBdzJBZ0FnQWlBS0tBSlFOZ0lVSUFKQkFEWUNHQ0FDUVFBMkFod2dBa0VBTmdJa0N5QUNLQUlzSWdJTkFBc0xJQW9vQWtnaUFrVUVRQThMQTBBZ0FpZ0NBRVVFUUNBQ0tBSUVJZ1ZCZjJvZ0FpZ0NEQ0lCRUVoQkFXb2dEMG9FUUNBQ0lBRWdEMncyQWhBZ0FDQUNRUWhxSWdNb0FnQWdCVUVIZEd3UW53TWdBa0VCTmdJb0lBSW9BaEFoQlFVZ0FpQUZOZ0lRSUFKQkNHb2hBd3NnQUNnQ0JDRVRRZkNUNjl3RElBTW9BZ0FpRUVFSGRDSUxFRWdoQVNBTFFmQ1Q2OXdEU3dSQUlBQW9BZ0FpQTBISUFEWUNGQ0FBSUFNb0FnQkIvd0Z4UWF3RGFoRUJBQXNnRXlBQklBVWdBU0FGU0JzaUFUWUNVQ0FBUVFFZ0JVRUNkQkMxQVNFTUlBVUVRQ0FGUVg5eklRMUJBQ0VEQTBBZ0FDZ0NCQ0VISUFFZ0JTQURheUlFSUFFZ0JFa2JJZ1FnQzJ3aUNFSHdrK3ZjQTBzRVFDQUFLQUlBSWdaQk9EWUNGQ0FHUVFNMkFoZ2dBQ0FBS0FJQUtBSUFRZjhCY1VHc0Eyb1JBUUFMSUFoQkVISWlDUkJFSWdaRkJFQWdBQ2dDQUNJT1FUZzJBaFFnRGtFRU5nSVlJQUFnQUNnQ0FDZ0NBRUgvQVhGQnJBTnFFUUVBQ3lBSElBa2dCeWdDVEdvMkFrd2dCaUFIUVVCcklnY29BZ0EyQWdBZ0JpQUlOZ0lFSUFaQkFEWUNDQ0FISUFZMkFnQWdCQVJBSUFNZ0RXb2lDU0FCUVg5eklnNUxJUkVnQkNFSElBWkJFR29oQ0NBRElRRURRQ0FCUVFGcUlRWWdBVUVDZENBTWFpQUlOZ0lBSUJCQkIzUWdDR29oQ0NBSFFYOXFJZ2NFUUNBR0lRRU1BUXNMSUFOQmYyb2dDU0FPSUJFYmF5RURDeUFESUFWSkJFQWdCQ0VCREFFTEN3c2dBaUFNTmdJQUlBSWdDaWdDVURZQ0ZDQUNRUUEyQWhnZ0FrRUFOZ0ljSUFKQkFEWUNKQXNnQWlnQ0xDSUNEUUFMQzRzQkFRSi9JQUFvQWdRaEJ5QUJRUUZHQkVCQkFTRUJCU0FBS0FJQUlnWkJEellDRkNBR0lBRTJBaGdnQUNnQ0FDZ0NBQ0VHSUFBZ0JrSC9BWEZCckFOcUVRRUFDeUFBSUFGQmdBRVF0UUVpQUVFQU5nSUFJQUFnQkRZQ0JDQUFJQU0yQWdnZ0FDQUZOZ0lNSUFBZ0FqWUNJQ0FBUVFBMkFpZ2dBQ0FIS0FKSU5nSXNJQWNnQURZQ1NDQUFDNHNCQVFKL0lBQW9BZ1FoQnlBQlFRRkdCRUJCQVNFQkJTQUFLQUlBSWdaQkR6WUNGQ0FHSUFFMkFoZ2dBQ2dDQUNnQ0FDRUdJQUFnQmtIL0FYRkJyQU5xRVFFQUN5QUFJQUZCZ0FFUXRRRWlBRUVBTmdJQUlBQWdCRFlDQkNBQUlBTTJBZ2dnQUNBRk5nSU1JQUFnQWpZQ0lDQUFRUUEyQWlnZ0FDQUhLQUpFTmdJc0lBY2dBRFlDUkNBQUM0d0NBUXQvSUFBb0FnUWhEa0h3ayt2Y0F5QUNRUWQwSWdvUVNDRUZJQXBCOEpQcjNBTkxCRUFnQUNnQ0FDSUdRY2dBTmdJVUlBWW9BZ0FoQmlBQUlBWkIvd0Z4UWF3RGFoRUJBQXNnRGlBRklBTWdCU0FEU0JzaUJEWUNVQ0FBSUFFZ0EwRUNkQkMxQVNFSElBTkZCRUFnQnc4TElBTkJmM01oQzBFQUlRWURRQ0FBSUFFZ0JDQURJQVpySWdVZ0JDQUZTUnNpQ0NBS2JCQ3ZBaUVKSUFnRVFDQUdJQXRxSWdVZ0JFRi9jeUlFSUFVZ0JFc2JJUXdnQ0NFRUlBWWhCUU5BSUFWQkFXb2hEU0FGUVFKMElBZHFJQWsyQWdBZ0FrRUhkQ0FKYWlFSklBUkJmMm9pQkFSQUlBMGhCUXdCQ3dzZ0JrRi9haUFNYXlFR0N5QUdJQU5KQkVBZ0NDRUVEQUVMQ3lBSEM0UUNBUXAvSUFBb0FnUWhEVUh3ayt2Y0F5QUNFRWdoQlNBQ1FmQ1Q2OXdEU3dSQUlBQW9BZ0FpQmtISUFEWUNGQ0FHS0FJQUlRWWdBQ0FHUWY4QmNVR3NBMm9SQVFBTElBMGdCU0FESUFVZ0EwZ2JJZ1EyQWxBZ0FDQUJJQU5CQW5RUXRRRWhCeUFEUlFSQUlBY1BDeUFEUVg5eklRcEJBQ0VHQTBBZ0FDQUJJQUlnQkNBRElBWnJJZ1VnQkNBRlNSc2lDR3dRcndJaENTQUlCRUFnQmlBS2FpSUZJQVJCZjNNaUJDQUZJQVJMR3lFTElBZ2hCQ0FHSVFVRFFDQUZRUUZxSVF3Z0JVRUNkQ0FIYWlBSk5nSUFJQUlnQ1dvaENTQUVRWDlxSWdRRVFDQU1JUVVNQVFzTElBWkJmMm9nQzJzaEJnc2dCaUFEU1FSQUlBZ2hCQXdCQ3dzZ0J3dnRBZ0VEZnlNR0lRSWpCa0VRYWlRR0lBQkJBRFlDQkNBQ1FRQTJBZ2hCMUFBUVJDSUJSUVJBSUFBb0FnQWlBMEU0TmdJVUlBTkJBRFlDR0NBQUlBQW9BZ0FvQWdCQi93RnhRYXdEYWhFQkFBc2dBVUVoTmdJQUlBRkJJallDQkNBQlFRYzJBZ2dnQVVFSU5nSU1JQUZCSXpZQ0VDQUJRU1EyQWhRZ0FVR0pBVFlDR0NBQlFSVTJBaHdnQVVFV05nSWdJQUZCTkRZQ0pDQUJRWW9CTmdJb0lBRkJnSlRyM0FNMkFqQWdBVUVBTmdJc0lBRkJBRFlDT0NBQlFVQnJRUUEyQWdBZ0FVRUFOZ0kwSUFGQkFEWUNQQ0FCUVFBMkFrUWdBVUVBTmdKSUlBRkIxQUEyQWt3Z0FDQUJOZ0lFUWVEOUFoQU5JZ0JGQkVBZ0FpUUdEd3NnQWtINEFEb0FEQ0FDSUFKQkNHbzJBZ0FnQWlBQ1FReHFOZ0lFSUFCQjZQMENJQUlRZ3dGQkFFb0VRQUpBSUFJc0FBeEJ6UUJySWdCQkFDQUFRU0JIRzBVRVFDQUNJQUlvQWdoQjZBZHNJZ0EyQWdnTUFRc2dBaWdDQ0NFQUN5QUJJQUJCNkFkc05nSXNDeUFDSkFZTDlRRUJCSDhqQmlFRUl3WkJFR29rQmlBQUtBSVVJZ05CelFGSEJFQWdBQ2dDQUNJRlFSVTJBaFFnQlNBRE5nSVlJQUFvQWdBb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dBQ2dDakFFaUJTQUFLQUowSWdaUEJFQWdBQ2dDQUNJQlFmNEFOZ0lVSUFFb0FnUWhBU0FBUVg4Z0FVRS9jVUd5QldvUkF3QWdCQ1FHUVFBUEN5QUFLQUlJSWdNRVFDQURJQVUyQWdRZ0F5QUdOZ0lJSUFNb0FnQWhBeUFBSUFOQi93RnhRYXdEYWhFQkFBc2dCRUVBTmdJQUlBQW9Bc0FES0FJRUlRTWdBQ0FCSUFRZ0FpQURRUjl4UWZvRmFoRUhBQ0FBSUFRb0FnQWlBU0FBS0FLTUFXbzJBb3dCSUFRa0JpQUJDNUlFQVIxL0lBQW9BdVFESVFRZ0FDZ0NlQ0VJSUFBb0FuQWhDU0FBS0FMUUFpRVNJQU5CQUV3RVFBOExJQWhCQUVvaEV5QUpSU0VVSUFsQmYyb2lGU0FJYkNFV1FRQWdDR3NoRnlBSlFRRnFJUThEUUNBS1FRSjBJQUpxSWhnb0FnQkJBQ0FKRUVVYUlCTUVRQUpBSUJRRVFDQUVLQUpVUlNFR1FRQWhBQU5BSUFSQnhBQnFJQUJCQW5ScUtBSUFJZ1VnRDBFQmRDQUZhaUFHRzBFQU93RUFJQWdnQUVFQmFpSUFSdzBBQ3d3QkN5QUtRUUowSUFGcUlSbEJBQ0VIQTBBZ0J5QVpLQUlBYWlFR0lCZ29BZ0FoQUNBRUtBSlVCSDlCZnlFTElBUkJ4QUJxSUFkQkFuUnFLQUlBSUE5QkFYUnFJUTBnQmlBV2FpRUdJQUFnRldvaEFDQVhCVUVCSVFzZ0JFSEVBR29nQjBFQ2RHb29BZ0FoRFNBSUN5RWFJQVFvQWhnZ0IwRUNkR29vQWdBaEd5QUVLQUlRSUFkQkFuUnFLQUlBSVJ3Z0NTQUxiQ0VnUVFBaEVDQUpJUkZCQUNFT1FRQWhEQ0FOSVFVRFFDQUFJQnNnRWlBR0xRQUFJQXRCQVhRZ0JXb2lIaTRCQUNBTVFRaHFha0VFZFdwcUxRQUFJZ3hxTFFBQUloOGdBQzBBQUdvNkFBQWdCU0FPSUF3Z0hDQWZhaTBBQUdzaUJVRURiR283QVFBZ0VDQUZRUVZzYWlFT0lBVkJCMndoRENBR0lCcHFJUVlnQUNBTGFpRUFJQkZCZjJvaUVRUkFJQVVoRUNBZUlRVU1BUXNMSUNCQkFYUWdEV29nRGpzQkFDQUhRUUZxSWdjZ0NFY05BQXNMQ3lBRUlBUW9BbFJGTmdKVUlBcEJBV29pQ2lBRFJ3MEFDd3ZGQWdFT2Z5QUFLQUxrQXlFRUlBQW9BbmdoQ1NBQUtBSndJUVlnQTBFQVRBUkFEd3NnQ1VFQVRBUkFRUUFoQUFOQUlBQkJBblFnQW1vb0FnQkJBQ0FHRUVVYUlBUWdCQ2dDTUVFQmFrRVBjVFlDTUNBQVFRRnFJZ0FnQTBjTkFBc1BDeUFHUlNFTkEwQWdCMEVDZENBQ2FpSU9LQUlBUVFBZ0JoQkZHaUFFS0FJd0lRd2dCMEVDZENBQmFpRVBJQTFGQkVCQkFDRUZBMEFnQkNnQ0dDQUZRUUowYWlnQ0FDRVFJQVJCTkdvZ0JVRUNkR29vQWdBaEVTQUdJUUFnRGlnQ0FDRUlRUUFoQ2lBRklBOG9BZ0JxSVFzRFFDQUlJQkFnQ3kwQUFDQU1RUVowSUJGcUlBcEJBblJxS0FJQWFtb3RBQUFnQ0MwQUFHbzZBQUFnQ1NBTGFpRUxJQWhCQVdvaENDQUtRUUZxUVE5eElRb2dBRUYvYWlJQURRQUxJQWtnQlVFQmFpSUZSdzBBQ3dzZ0JDQU1RUUZxUVE5eE5nSXdJQWRCQVdvaUJ5QURSdzBBQ3d2SUFnRVBmeUFBS0FMa0F5SUVLQUlZSWdVb0FnQWhDeUFGS0FJRUlRd2dCU2dDQ0NFTklBQW9BbkFoQ2lBRFFRQk1CRUFQQ3lBRUtBSXdJUUFnQ2tVRVFFRUFJUUVEUUNBQVFRRnFRUTl4SVFBZ0FVRUJhaUlCSUFOSERRQUxJQVFnQURZQ01BOExBMEFnQkNnQ05DRU9JQVFvQWpnaER5QUVLQUk4SVJBZ0NpRUZRUUFoQmlBSVFRSjBJQUpxS0FJQUlRa2dDRUVDZENBQmFpZ0NBQ0VIQTBBZ0IwRURhaUVSSUFsQkFXb2hFaUFKSUEwZ0J5MEFBaUFBUVFaMElCQnFJQVpCQW5ScUtBSUFhbW90QUFBZ0J5MEFBQ0FBUVFaMElBNXFJQVpCQW5ScUtBSUFhaUFMYWkwQUFDQU1JQWN0QUFFZ0FFRUdkQ0FQYWlBR1FRSjBhaWdDQUdwcUxRQUFhbW82QUFBZ0JrRUJha0VQY1NFR0lBVkJmMm9pQlFSQUlCSWhDU0FSSVFjTUFRc0xJQVFnQUVFQmFrRVBjU0lBTmdJd0lBaEJBV29pQ0NBRFJ3MEFDd3Z0QVFFS2Z5QUFLQUxrQXlnQ0dDRU1JQUFvQW5naEJpQUFLQUp3SWdwRklBTkJBVWh5QkVBUEN5QUdRUUJNQkVCQkFDRUFBMEFnQUVFQ2RDQUNhaWdDQUVFQUlBb1FSUm9nQUVFQmFpSUFJQU5IRFFBTER3c0RRQ0FLSVFzZ0JVRUNkQ0FDYWlnQ0FDRUhJQVZCQW5RZ0FXb29BZ0FoQUFOQVFRQWhDRUVBSVFrZ0FDRUVBMEFnQkVFQmFpRU5JQWtnQ0VFQ2RDQU1haWdDQUNBRUxRQUFhaTBBQUdvaENTQUlRUUZxSWdnZ0JrY0VRQ0FOSVFRTUFRc0xJQUFnQm1vaEFDQUhRUUZxSVFRZ0J5QUpPZ0FBSUF0QmYyb2lDd1JBSUFRaEJ3d0JDd3NnQlVFQmFpSUZJQU5IRFFBTEM2NEJBUWwvSUFBb0F1UURLQUlZSWdRb0FnQWhCeUFFS0FJRUlRZ2dCQ2dDQ0NFSklBQW9BbkFpQ2tVZ0EwRUJTSElFUUE4TEEwQWdDaUVBSUFWQkFuUWdBbW9vQWdBaEJpQUZRUUowSUFGcUtBSUFJUVFEUUNBRVFRTnFJUXNnQmtFQmFpRU1JQVlnQ1NBRUxRQUNhaTBBQUNBRUxRQUFJQWRxTFFBQUlBZ2dCQzBBQVdvdEFBQnFham9BQUNBQVFYOXFJZ0FFUUNBTUlRWWdDeUVFREFFTEN5QUZRUUZxSWdVZ0EwY05BQXNMSmdFQmZ5QUFLQUlBSWdGQkx6WUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTHZRVUJDWDhnQUNBQUtBTGtBeUlDS0FJUU5nS0lBU0FBSUFJb0FoUTJBb1FCQWtBQ1FBSkFBa0FnQUNnQ1dBNERBQUVDQXdzZ0FDZ0NlRUVEUmdSQUlBSkJGallDQkFVZ0FrRVhOZ0lFQ3c4TElBSkJHRUVaSUFBb0FuaEJBMFliTmdJRUlBSkJBRFlDTUNBQ0tBSWNSUVJBSUFBUW9RTUxJQUlvQWpRRVFBOExJQUFvQXVRRElRSWdBQ2dDZUNJQlFRQk1CRUFQQ3dOQUlBSkJJR29nQkVFQ2RHb29BZ0FoQlFKQUFrQWdCRVVOQUVFQUlRTURRQ0FDUVNCcUlBTkJBblJxS0FJQUlBVkhCRUFnQTBFQmFpSURJQVJQRFFJTUFRc0xJQUpCTkdvZ0EwRUNkR29vQWdBaUEwVU5BQXdCQ3lBQUtBSUVLQUlBSVFFZ0FFRUJRWUFJSUFGQlAzRkJ5Z0ZxRVFRQUlRWWdCVUVKZEVHQWZHb2hCVUVBSVFFRFFFRUFJUU1EUUVIL0FTQURJQUZCQkhSQnNESnFhaTBBQUVFQmRHc2lDRUgvQVd3aEJ5QUJRUVowSUFacUlBTkJBblJxSUFoQkFFZ0VmMEVBUVFBZ0Iyc2dCUkE1YXdVZ0J5QUZFRGtMTmdJQUlBTkJBV29pQTBFUVJ3MEFDeUFCUVFGcUlnRkJFRWNOQUFzZ0JpRURJQUFvQW5naEFRc2dBa0UwYWlBRVFRSjBhaUFETmdJQUlBUkJBV29pQkNBQlNBMEFDdzhMSUFKQkdqWUNCQ0FDUVFBMkFsUWdBaWdDUkFSL0lBQkIrQUJxSWdFaEF5QUJLQUlBSVFFZ0FFSHdBR29GSUFCQjhBQnFJZ1FvQWdBaENTQUFRZmdBYWlJREtBSUFRUUJNQkVBUEN5QUpRUUYwUVFScUlRVkJBQ0VCQTM4Z0FDZ0NCQ2dDQkNFR0lBSkJ4QUJxSUFGQkFuUnFJQUJCQVNBRklBWkJQM0ZCeWdGcUVRUUFOZ0lBSUFGQkFXb2lBU0FES0FJQUlnWklEUUFnQmlFQklBUUxDeWdDQUNFS0lBRkJBRXdFUUE4TElBcEJBWFJCQkdvaEFVRUFJUUFEUUNBQ1FjUUFhaUFBUVFKMGFpZ0NBRUVBSUFFUVJSb2dBRUVCYWlJQUlBTW9BZ0JJRFFBTER3c2dBQ2dDQUNJQlFURTJBaFFnQVNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUM4c0JBUXQvSUFBb0F1UURLQUlZSVFvZ0FDZ0NjQ0lMUlNBRFFRRkljZ1JBRHdzRFFDQUxJUWdnQlVFQ2RDQUNhaWdDQUNFR0lBVkJBblFnQVdvb0FnQWhCQU5BSUFRdEFBQkJBM1lpREVFQ2RDQUthaWdDQUNBRUxRQUJRUUoySWdkQkJuUnFJQVF0QUFKQkEzWWlEVUVCZEdvaURpNEJBQ0lKUlFSQUlBQWdEQ0FISUEwUW9nTWdEaTRCQUNFSkN5QUVRUU5xSVFRZ0JrRUJhaUVISUFZZ0NVSC8vd054UWY4QmFqb0FBQ0FJUVg5cUlnZ0VRQ0FISVFZTUFRc0xJQVZCQVdvaUJTQURSdzBBQ3d2S0JRRW5meUFBS0FMa0F5SUxLQUlZSVJ3Z0FDZ0NjQ0VNSUFBb0F0QUNJUk1nQ3lnQ0tDRVVJQUFvQW9nQklnUW9BZ0FoSFNBRUtBSUVJUjRnQkNnQ0NDRWZJQU5CQUV3RVFBOExJQXhGSVNBZ0RFRi9haUloUVFOc0lTSWdERUVEYkVFRGFpRWpBMEFnRGtFQ2RDQUJhaWdDQUNFSElBNUJBblFnQW1vb0FnQWhEU0FMSUFzb0FpUUVmMEY5SVFsQmZ5RVdJQXNvQWlBZ0kwRUJkR29oQ0NBTklDRnFJUTBnQnlBaWFpRUhRUUFGUVFNaENVRUJJUllnQ3lnQ0lDRUlRUUVMTmdJa0lDQUVRRUVBSVE5QkFDRVFRUUFoQkFVZ0NVRUJhaUVrSUFsQkFtb2hKU0FKSUF4c0lTcEJBQ0VSUVFBaEVrRUFJUmRCQUNFWVFRQWhHVUVBSVE5QkFDRVFRUUFoR2lBTUlSdEJBQ0VGSUFnaEJBTkFJQk1nSkVFQmRDQUVhaTRCQUNBUlFRaHFha0VFZFVFQ2RDQVVhaWdDQUNBSExRQUJhbW90QUFBaUNrRUNkaUlHUVFaMElCTWdDVUVCZENBRWFpSW5MZ0VBSUFWQkNHcHFRUVIxUVFKMElCUnFLQUlBSUFjdEFBQnFhaTBBQUNJUlFRTjJJaFZCQW5RZ0hHb29BZ0JxSUJNZ0pVRUJkQ0FFYWk0QkFDQVNRUWhxYWtFRWRVRUNkQ0FVYWlnQ0FDQUhMUUFDYW1vdEFBQWlFa0VEZGlJb1FRRjBhaUlwTGdFQUlnVkZCRUFnQUNBVklBWWdLQkNpQXlBcExnRUFJUVVMSUEwZ0JVSC8vd054UVg5cUlnWTZBQUFnQ2lBR0lCNXFMUUFBYXlFRklCSWdCaUFmYWkwQUFHc2hDaUFFSUE4Z0VTQUdJQjFxTFFBQWF5SUdRUU5zYWpzQkFDQVhJQVpCQld4cUlROGdCa0VIYkNFVklBUWdFQ0FGUVFOc2Fqc0JBaUFZSUFWQkJXeHFJUkFnQlVFSGJDRVJJQVFnR2lBS1FRTnNhanNCQkNBWklBcEJCV3hxSVFRZ0NrRUhiQ0VTSUFjZ0NXb2hCeUFOSUJacUlRMGdHMEYvYWlJYkJFQWdCaUVYSUFVaEdDQUtJUmtnQkNFYUlCVWhCU0FuSVFRTUFRc0xJQ3BCQVhRZ0NHb2hDQXNnQ0NBUE93RUFJQWdnRURzQkFpQUlJQVE3QVFRZ0RrRUJhaUlPSUFOSERRQUxDOWdJQVJkL0lBQWdBQ2dDNUFNaUV5Z0NFRFlDaUFFZ0FDZ0NCQ2dDQUNFQklBQkJBU0FUS0FJVUlndEJCWFFnQVVFL2NVSEtBV29SQkFBaUJVRUFOZ0lBSUFWQkh6WUNCQ0FGUVFBMkFnZ2dCVUUvTmdJTUlBVkJBRFlDRUNBRlFSODJBaFFnQUNBRkVMQUNJQXRCQVVvRWZ3Si9RUUVoQkFOL0lBUkJBWFFnQzBvRVFFRUFJUVpCQUNFQ0lBVWhBVUVBSVFNRGZ5QUJLQUlZSWdrZ0Jrb2hCeUFKSUFZZ0J4c2hCaUFCSUFNZ0J4c2hBeUFCUVNCcUlRRWdBa0VCYWlJQ0lBUkhEUUFnQXdzaEFRVkJBQ0VHUVFBaEFpQUZJUU5CQUNFQkEwQWdBeWdDSENJSElBWktCRUFnQXlBQklBTW9BaGhCQUVvaUNSc2hBU0FISUFZZ0NSc2hCZ3NnQTBFZ2FpRURJQUpCQVdvaUFpQUVSdzBBQ3dzZ0JDQUJSUTBCR2lBRVFRVjBJQVZxSUFFb0FnUTJBZ1FnQkVFRmRDQUZhaUFCSWdNb0FndzJBZ3dnQkVFRmRDQUZhaUFCSWdJb0FoUTJBaFFnQkVFRmRDQUZhaUlHSUFJb0FnQTJBZ0FnQkVFRmRDQUZha0VJYWlJSElBSW9BZ2cyQWdBZ0JFRUZkQ0FGYWtFUWFpSUpJQUlvQWhBMkFnQUNRQUovQWtBQ1FBSkFRUUlnQWlnQ0JDSUlJQUlvQWdBaURHdEJCSFFpQ2lBQ0tBSU1JZzBnQWlnQ0NDSU9hMEVNYkNJUFNpSVFRUUZ6SUFJb0FoUWlFU0FDS0FJUUloSnJRUU4wSUFvZ0R5QVFHMG9iUVFOeERnTUFBUUlFQ3lBQklBZ2dER3BCQWhBNUlnTTJBZ1FnQmd3Q0N5QURJQTBnRG1wQkFoQTVJZ00yQWd3Z0J3d0JDeUFDSUJFZ0VtcEJBaEE1SWdNMkFoUWdDUXNnQTBFQmFqWUNBQXNnQUNBQ0VMQUNJQUFnQmhDd0FpQUVRUUZxSWdRZ0MwZ05BQ0FFQ3dzRlFRRUxJUXRCQUNFSUEwQWdBQ2dDNUFNb0FoZ2hEeUFJUVFWMElBVnFLQUlBSWdJZ0NFRUZkQ0FGYWlnQ0JDSVJTaUFJUVFWMElBVnFLQUlJSWc0Z0NFRUZkQ0FGYWlnQ0RDSVNTbklnQ0VFRmRDQUZhaWdDRUNJTklBaEJCWFFnQldvb0FoUWlFRXB5QkVCQkFDRUJRUUFoQTBFQUlRUkJBQ0VHQlVFQUlRRkJBQ0VEUVFBaEJFRUFJUVlEUUNBQ1FRSjBJQTlxS0FJQUlSUWdBa0VEZEVFRWNpRVZJQTRoQndOQUlBZEJBblJCQW5JaEZpQUhRUVowSUJScUlBMUJBWFJxSVF3Z0RTRUpBMEFnREM0QkFDSVhRZi8vQTNFaENpQVhCRUFnQVNBS0lBbEJBM1JCQkhKc2FpRUJJQU1nQ2lBV2JHb2hBeUFFSUFvZ0ZXeHFJUVFnQmlBS2FpRUdDeUFNUVFKcUlRd2dDVUVCYWlFS0lBa2dFRWdFUUNBS0lRa01BUXNMSUFkQkFXb2hDU0FISUJKSUJFQWdDU0VIREFFTEN5QUNRUUZxSVFjZ0FpQVJTQVJBSUFjaEFnd0JDd3NMSUFRZ0JrRUJkU0lFYWlBR0VEbEIvd0Z4SVFJZ0NDQUFLQUtJQVNnQ0FHb2dBam9BQUNBRElBUnFJQVlRT1VIL0FYRWhBeUFJSUFBb0FvZ0JLQUlFYWlBRE9nQUFJQUVnQkdvZ0JoQTVRZjhCY1NFQklBZ2dBQ2dDaUFFb0FnaHFJQUU2QUFBZ0NFRUJhaUlJSUF0SURRQUxJQUFnQ3pZQ2hBRWdBQ2dDQUNJQlFlSUFOZ0lVSUFFZ0N6WUNHQ0FBS0FJQUtBSUVJUUVnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQk5CQVRZQ0hBdWJBUUVHZnlBQUtBTGtBeWdDR0NFR0lBQW9BbkFpQjBVZ0EwRUJTSElFUUE4TEEwQWdCeUVBSUFSQkFuUWdBV29vQWdBaEFnTkFJQUl0QUFCQkEzWkJBblFnQm1vb0FnQWdBaTBBQVVFQ2RrRUdkR29nQWkwQUFrRURka0VCZEdvaUNDNEJBQ0lKUVFGcVFSQjBRUkIxSVFVZ0NDQUZJQWtnQlJzN0FRQWdBa0VEYWlFQ0lBQkJmMm9pQUEwQUN5QUVRUUZxSWdRZ0EwY05BQXNMRFFBZ0FDZ0M1QU5CQVRZQ0hBdmpCUUVEZnlBQUtBTGtBeUlES0FJWUlRSWdBQ2dDV0FSL0lBQkJBallDV0VFQ0JVRUFDeUVFSUFFRVFDQURRUk0yQWdRZ0EwR0hBVFlDQ0NBRFFRRTJBaHdGSUFOQkZFRVZJQVJCQWtZYk5nSUVJQU5CaUFFMkFnZ2dBQ2dDaEFFaUFVRUJTQVJBSUFBb0FnQWlBVUU2TmdJVUlBRkJBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFGQmdBSktCRUFnQUNnQ0FDSUJRVHMyQWhRZ0FVR0FBallDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSllRUUpHQkVBZ0FDZ0NjRUVHYkVFTWFpRUVJQU1vQWlBaUFVVUVRQ0FBS0FJRUtBSUVJUUVnQXlBQVFRRWdCQ0FCUVQ5eFFjb0JhaEVFQUNJQk5nSWdDeUFCUVFBZ0JCQkZHaUFES0FJb1JRUkFJQUFRcEFNTElBTkJBRFlDSkFzTElBTW9BaHhGQkVBUEN5QUNLQUlBUVFCQmdDQVFSUm9nQWlnQ0JFRUFRWUFnRUVVYUlBSW9BZ2hCQUVHQUlCQkZHaUFDS0FJTVFRQkJnQ0FRUlJvZ0FpZ0NFRUVBUVlBZ0VFVWFJQUlvQWhSQkFFR0FJQkJGR2lBQ0tBSVlRUUJCZ0NBUVJSb2dBaWdDSEVFQVFZQWdFRVVhSUFJb0FpQkJBRUdBSUJCRkdpQUNLQUlrUVFCQmdDQVFSUm9nQWlnQ0tFRUFRWUFnRUVVYUlBSW9BaXhCQUVHQUlCQkZHaUFDS0FJd1FRQkJnQ0FRUlJvZ0FpZ0NORUVBUVlBZ0VFVWFJQUlvQWpoQkFFR0FJQkJGR2lBQ0tBSThRUUJCZ0NBUVJSb2dBa0ZBYXlnQ0FFRUFRWUFnRUVVYUlBSW9Ba1JCQUVHQUlCQkZHaUFDS0FKSVFRQkJnQ0FRUlJvZ0FpZ0NURUVBUVlBZ0VFVWFJQUlvQWxCQkFFR0FJQkJGR2lBQ0tBSlVRUUJCZ0NBUVJSb2dBaWdDV0VFQVFZQWdFRVVhSUFJb0FseEJBRUdBSUJCRkdpQUNLQUpnUVFCQmdDQVFSUm9nQWlnQ1pFRUFRWUFnRUVVYUlBSW9BbWhCQUVHQUlCQkZHaUFDS0FKc1FRQkJnQ0FRUlJvZ0FpZ0NjRUVBUVlBZ0VFVWFJQUlvQW5SQkFFR0FJQkJGR2lBQ0tBSjRRUUJCZ0NBUVJSb2dBaWdDZkVFQVFZQWdFRVVhSUFOQkFEWUNIQXVWQkFFVGZ5QUFLQUxRQWlFRklBQW9BdHdESWdRb0FoQWhEQ0FFS0FJVUlRMGdCQ2dDR0NFT0lBUW9BaHdoRHlBQktBSUFJQUpCQW5ScUtBSUFJUWdnQVNnQ0JDQUNRUUowYWlnQ0FDRUVJQUVvQWdnZ0FrRUNkR29vQWdBaENTQURLQUlBSVFZZ0FDZ0NjQ0lCUVFGMklnb0VRQ0FFSUFwcUlSWWdBVUYrY1NFU0lBcEJCbXdoRXlBSklRTWdDQ0VDSUFZaEFTQUtJUkFEUUNBRVFRRnFJUlFnQTBFQmFpRVZJQU10QUFBaUIwRUNkQ0FNYWlnQ0FDRURJQVF0QUFBaUMwRUNkQ0FQYWlnQ0FDQUhRUUowSUE1cUtBSUFha0VRZFNFRUlBdEJBblFnRFdvb0FnQWhDeUFCSUFNZ0FpMEFBQ0lIYWlBRmFpd0FBRG9BQUNBQklBUWdCMm9nQldvc0FBQTZBQUVnQVNBSElBdHFJQVZxTEFBQU9nQUNJQUpCQW1vaEJ5QUJJQU1nQWkwQUFTSUNhaUFGYWl3QUFEb0FBeUFCSUFVZ0FpQUVhbW9zQUFBNkFBUWdBU0FGSUFJZ0MycHFMQUFBT2dBRklBRkJCbW9oQVNBUVFYOXFJaEFFUUNBVklRTWdGQ0VFSUFjaEFnd0JDd3NnQ1NBS2FpRUpJQlloQkNBSUlCSnFJUWdnQmlBVGFpRUdJQUFvQW5BaEFRc2dBVUVCY1VVRVFBOExJQVF0QUFBaUFFRUNkQ0FQYWlnQ0FDQUpMUUFBSWdGQkFuUWdEbW9vQWdCcVFSQjFJUUlnQUVFQ2RDQU5haWdDQUNFRElBWWdDQzBBQUNJQUlBRkJBblFnREdvb0FnQnFJQVZxTEFBQU9nQUFJQVlnQUNBQ2FpQUZhaXdBQURvQUFTQUdJQUFnQTJvZ0JXb3NBQUE2QUFJTFJ3QWdBQ2dDM0FNb0Fnd2hBeUFBSUFFZ0FpZ0NBQ0FGS0FJQVFRSjBJQVJxSUFOQkgzRkIrZ1ZxRVFjQUlBVWdCU2dDQUVFQmFqWUNBQ0FDSUFJb0FnQkJBV28yQWdBTGdBWUJGMzhnQUNnQzBBSWhCU0FBS0FMY0F5SUVLQUlRSVE4Z0JDZ0NGQ0VRSUFRb0FoZ2hFU0FFS0FJY0lSSWdBU2dDQUNJSElBSkJBWFFpQkVFQ2RHb29BZ0FoRENBRVFRRnlRUUowSUFkcUtBSUFJUVFnQVNnQ0JDQUNRUUowYWlnQ0FDRUdJQUVvQWdnZ0FrRUNkR29vQWdBaERTQURLQUlBSVFnZ0F5Z0NCQ0VKSUFBb0FuQWlBVUVCZGlJT0JFQWdCaUFPYWlFYUlBNUJCbXdoRXlBRUlBRkJmbkVpRm1vaEZ5QU5JUWNnQkNFRElBd2hCQ0FKSVFFZ0NDRUNJQTRoRkFOQUlBWkJBV29oR0NBSFFRRnFJUmtnQnkwQUFDSUtRUUowSUE5cUtBSUFJUWNnQmkwQUFDSUxRUUowSUJKcUtBSUFJQXBCQW5RZ0VXb29BZ0JxUVJCMUlRWWdDMEVDZENBUWFpZ0NBQ0VMSUFJZ0J5QUVMUUFBSWdwcUlBVnFMQUFBT2dBQUlBSWdCaUFLYWlBRmFpd0FBRG9BQVNBQ0lBb2dDMm9nQldvc0FBQTZBQUlnQkVFQ2FpRUtJQUlnQlNBSElBUXRBQUVpQkdwcUxBQUFPZ0FESUFJZ0JTQUVJQVpxYWl3QUFEb0FCQ0FDSUFVZ0JDQUxhbW9zQUFBNkFBVWdBa0VHYWlFQ0lBRWdCU0FISUFNdEFBQWlCR3BxTEFBQU9nQUFJQUVnQlNBRUlBWnFhaXdBQURvQUFTQUJJQVVnQkNBTGFtb3NBQUE2QUFJZ0EwRUNhaUVFSUFFZ0F5MEFBU0lESUFkcUlBVnFMQUFBT2dBRElBRWdBeUFHYWlBRmFpd0FBRG9BQkNBQklBTWdDMm9nQldvc0FBQTZBQVVnQVVFR2FpRUJJQlJCZjJvaUZBUkFJQmtoQnlBWUlRWWdCQ0VESUFvaEJBd0JDd3NnRFNBT2FpRU5JQm9oQmlBWElRUWdEQ0FXYWlFTUlBa2dFMm9oQ1NBSUlCTnFJUWdnQUNnQ2NDRUJDeUFCUVFGeFJRUkFEd3NnRFMwQUFDSUJRUUowSUE5cUtBSUFJUUFnQmkwQUFDSUNRUUowSUJKcUtBSUFJQUZCQW5RZ0VXb29BZ0JxUVJCMUlRRWdBa0VDZENBUWFpZ0NBQ0VDSUFnZ0FDQU1MUUFBSWdOcUlBVnFMQUFBT2dBQUlBZ2dBU0FEYWlBRmFpd0FBRG9BQVNBSUlBSWdBMm9nQldvc0FBQTZBQUlnQ1NBQUlBUXRBQUFpQUdvZ0JXb3NBQUE2QUFBZ0NTQUFJQUZxSUFWcUxBQUFPZ0FCSUFrZ0FDQUNhaUFGYWl3QUFEb0FBZ3U4RXdJUGZ3RjhJd1loRGlNR1FSQnFKQVlnQkNnQ0FDSUdJUTBnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSElBRklCRUFnQlVFQU93RUFJQTFCQURzQkFDQU5RUUpxSVEwZ0JVRUNhaUVGSUFkQkFXb2hCd3dCQ3dzZ0JpRUhJQUZCZjJvaUVVRUJkQ0FHYWlFTlFRQWhCUU5BSUFVZ0FrZ0VRQ0FOUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUJRUUYwSUExcUlRMGdCVUVCYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOUVFFaEMwRUFJUVVnQUVFQmRDQUdhaUVHQW44Q1FBTkFBa0FnQ3lBUVRnMENJQVVoQUVFQklRa2dCaUVNQTBBZ0NTQVJTQVJBSUEwdEFBQWdBMG9FUUFKQUlCSkJBWFFnREdvaUR5NEJBQ0lGUVFCS0JFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dNZ05BQWFpQUxOZ0lBREFFTElBOUJmbW91QVFBaUNpRUlJQXBCQUVvaEJpQVBMZ0VDSWdWQkFFd0VRQ0FHQkVBZ0RDQUtPd0VBSUFoQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxJQkVBZ0JTQUpOZ0lBQ3lBR1FRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFnc2dERUYrYWk0QkFDSUZRUUJLQkVBZ0RDQUZPd0VBSUFWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR0VnTkFBYWlJRktBSUFJQWxPRFFJZ0JTQUpOZ0lBQlNBQVFmLy9BVW9OQmlBTUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dDellDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nQ3pZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUFzMkFnQWdCU0VBQ3d3QkN5QUdCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NFRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBRklBWW9BZ0JHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FDQUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNnREVGK2FpNEJBQ0lHUVFCTUJFQWdEQ0FGT3dFQUlBVkJCMndpQmtFQ2RDQUVha0gwLzg4QWFpSUZJQVVvQWdCQkFXbzJBZ0FnQmtFQ2RDQUVha0g0Lzg4QWFpSUZJQWtnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0g4Lzg4QWFpSUZJQXNnQlNnQ0FHbzJBZ0FnQmtFQ2RDQUVha0dBZ05BQWFpSUZLQUlBSUFsS0JFQWdCU0FKTmdJQUN5QUdRUUowSUFScVFZeUEwQUJxSUFzMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJSVNnUkFJQXdnQ0RzQkFDQUhJUVpCQUNFS0EwQWdDaUFBVGdSQUlBZ2hCUXdEQ3lBR0tBSUFJQVZHQkVBZ0JpQUlOZ0lBQ3lBR1FRUnFJUVlnQ2tFQmFpRUtEQUFBQ3dBRklBd2dCVHNCQUNBRklBaElCRUFnQnlFR1FRQWhDZ05BSUFvZ0FFNE5BeUFJSUFZb0FnQkdCRUFnQmlBRk5nSUFDeUFHUVFScUlRWWdDa0VCYWlFS0RBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUdRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQUdRUUowSUFScVFmai96d0JxSWdVZ0NTQUZLQUlBYWpZQ0FDQUdRUUowSUFScVFmei96d0JxSWdVZ0N5QUZLQUlBYWpZQ0FBc0ZJQXhCQURzQkFBc2dEVUVCYWlFTklBbEJBV29oQ1NBTVFRSnFJUXdNQVFzTElBMUJBbW9oRFNBTFFRRnFJUXNnQUNFRklBeEJCR29oQmd3QkN3dEJBRUVEUWFpbEFTQU9FRDFCZnd3QkN5QUVRUXhxSVExQkFTRUFRUUVoQ0FOQUlBZ2dCVXdFUUNBSUlBY29BZ0FpQmtZRVFDQUFRUUZxSVFNRklBQWhBeUFHUVFKMElBUnFRWXlBeUFCcUtBSUFJUUFMSUFjZ0FEWUNBQ0FESVFBZ0NFRUJhaUVJSUFkQkJHb2hCd3dCQ3dzZ0JDQUFRWDlxSWdjMkFnZ2dCd1IvSUExQkFDQUhRUUowRUVVYUlBUkJrSUFvYWtFQUlBZEJCSFFRUlJwQkFDRURBMEFnQXlBSFNBUkFJQVJCaklBSWFpQURRUUowSWdCQkFuUnFJQUUyQWdBZ0JFR01nQWhxSUFCQkFYSkJBblJxUVFBMkFnQWdCRUdNZ0FocUlBQkJBbkpCQW5ScUlBSTJBZ0FnQkVHTWdBaHFJQUJCQTNKQkFuUnFRUUEyQWdBZ0EwRUJhaUVEREFFTEMwRUFJUU1EUUNBRElBVklCRUFnQkVFTWFpQUVRWkNBeUFCcUlBTkJBblJxS0FJQVFYOXFJZ0pCQW5ScUlnQWdCRUdRZ05BQWFpQURRUWRzSWdkQkFuUnFLQUlBSUFBb0FnQnFOZ0lBSUFSQmtJQW9haUFDUVFGMElnRkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWlNBMEFCcUtBSUF0NkE1QXdBZ0JFR1FnQ2hxSUFGQkFYSkJBM1JxSWdBZ0FDc0RBQ0FIUVFKMElBUnFRWmlBMEFCcUtBSUF0NkE1QXdBZ0JFR01nQWhxSUFKQkFuUWlBa0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRWnlBMEFCcUtBSUFJZ0JLQkVBZ0FTQUFOZ0lBQ3lBRVFZeUFDR29nQWtFQmNrRUNkR29pQVNnQ0FDQUhRUUowSUFScVFhQ0EwQUJxS0FJQUlnQklCRUFnQVNBQU5nSUFDeUFFUVl5QUNHb2dBa0VDY2tFQ2RHb2lBU2dDQUNBSFFRSjBJQVJxUWFTQTBBQnFLQUlBSWdCS0JFQWdBU0FBTmdJQUN5QUVRWXlBQ0dvZ0FrRURja0VDZEdvaUFTZ0NBQ0FIUVFKMElBUnFRYWlBMEFCcUtBSUFJZ0JJQkVBZ0FTQUFOZ0lBQ3lBRFFRRnFJUU1NQVFzTElBUW9BZ2doQWtFQUlRTURmeUFESUFKSUJIOGdCRUdRZ0NocUlBTkJBWFFpQVVFRGRHb2lBQ0FBS3dNQUlBUkJER29nQTBFQ2RHb29BZ0MzSWhTak9RTUFJQVJCa0lBb2FpQUJRUUZ5UVFOMGFpSUFJQUFyQXdBZ0ZLTTVBd0FnQTBFQmFpRUREQUVGUVFBTEN3VkJBQXNMSVJNZ0RpUUdJQk1MbmdJQkJIOGpCaUVESXdaQkVHb2tCaUFBS0FMY0F5SUhLQUlrQkVBZ0IwRWdha0VBSUFVb0FnQkJBblFnQkdwQkFFRUJJQWNvQWlnUTl3RWdCMEVBTmdJa0lBVWdCU2dDQUVFQmFqWUNBQ0FISUFjb0FpeEJmMm8yQWl3RklBWWdCU2dDQUNJSmF5SUdJQWNvQWl3aUNFRUNJQWhCQWtrYklnZ2dDQ0FHU3hzaEJpQURJQWxCQW5RZ0JHb29BZ0EyQWdBZ0JrRUJTd1JBSUFNZ0NVRUJha0VDZENBRWFpZ0NBRFlDQkFVZ0F5QUhLQUlnTmdJRUlBZEJBVFlDSkFzZ0J5Z0NEQ0VFSUFBZ0FTQUNLQUlBSUFNZ0JFRWZjVUg2QldvUkJ3QUNmeUFIS0FJa1JTRUtJQVVnQmlBRktBSUFhallDQUNBSElBY29BaXdnQm1zMkFpd2dDa1VMQkVBZ0F5UUdEd3NMSUFJZ0FpZ0NBRUVCYWpZQ0FDQURKQVlMR3dFQmZ5QUFLQUxjQXlJQlFRQTJBaVFnQVNBQUtBSjBOZ0lzQzdvQkFRZC9JQUFvQWlRaEJTQUFLQUp3SVFnZ0JFRUFUQVJBRHdzZ0JVRUFUQVJBRHdzZ0NFVWhDZ05BSUFwRkJFQkJBQ0VBQTBCQkFDRUpJQUJCQW5RZ0FXb29BZ0FnQWtFQ2RHb29BZ0FoQmlBQUlBTW9BZ0JxSVFjRFFDQUdRUUZxSVFzZ0J5QUdMQUFBT2dBQUlBVWdCMm9oQnlBSUlBbEJBV29pQ1VjRVFDQUxJUVlNQVFzTElBVWdBRUVCYWlJQVJ3MEFDd3NnQkVGL2FpRUFJQUpCQVdvaEFpQURRUVJxSVFNZ0JFRUJTZ1JBSUFBaEJBd0JDd3NMMkFJQkQzOGdBQ2dDY0NFR0lBQW9BdEFDSVFVZ0FDZ0M0QU1pQUNnQ0NDRUpJQUFvQWd3aENpQUFLQUlRSVFzZ0FDZ0NGQ0VNSUFSQkFFd0VRQThMSUFaRkJFQVBDd05BSUFSQmYyb2hEU0FCS0FJQUlBSkJBblJxS0FJQUlRNGdBU2dDQkNBQ1FRSjBhaWdDQUNFUElBRW9BZ2dnQWtFQ2RHb29BZ0FoRUNBQktBSU1JQUpCQW5ScUtBSUFJUkVnQWtFQmFpRVNJQU1vQWdBaEFrRUFJUUFEUUNBQUlBOXFMUUFBSVFjZ0FpQUZJQUFnRG1vc0FBQkJmM05CL3dGeElnZ2dBQ0FRYWkwQUFDSVRRUUowSUFscUtBSUFhMm9zQUFBNkFBQWdBaUFGSUFnZ0IwRUNkQ0FNYWlnQ0FDQVRRUUowSUF0cUtBSUFha0VRZFd0cUxBQUFPZ0FCSUFJZ0JTQUlJQWRCQW5RZ0Ntb29BZ0JyYWl3QUFEb0FBaUFDSUFBZ0VXb3NBQUE2QUFNZ0FrRUVhaUVDSUFZZ0FFRUJhaUlBUncwQUN5QURRUVJxSVFNZ0JFRUJTZ1JBSUJJaEFpQU5JUVFNQVFzTEM5TUJBUWwvSUFBb0FuQWhCU0FFUVFCTUJFQVBDeUFGUlFSQUR3c0RRQ0FFUVg5cUlRWWdBU2dDQUNBQ1FRSjBhaWdDQUNFSElBRW9BZ1FnQWtFQ2RHb29BZ0FoQ0NBQktBSUlJQUpCQW5ScUtBSUFJUWtnQWtFQmFpRUtRUUFoQUNBREtBSUFJUUlEUUNBQUlBbHFMUUFBSVFzZ0FpQUFJQWhxTEFBQUlneEIvd0Z4UVlBQmFpSU5JQUFnQjJvdEFBQnFPZ0FBSUFJZ0REb0FBU0FDSUFzZ0RXbzZBQUlnQWtFRGFpRUNJQVVnQUVFQmFpSUFSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQW9oQWlBR0lRUU1BUXNMQzcwQkFRWi9JQUFvQW5BaEJTQUVRUUJNQkVBUEN5QUZSUVJBRHdzRFFDQUVRWDlxSVFZZ0FTZ0NBQ0FDUVFKMGFpZ0NBQ0VISUFFb0FnUWdBa0VDZEdvb0FnQWhDQ0FCS0FJSUlBSkJBblJxS0FJQUlRa2dBa0VCYWlFS1FRQWhBQ0FES0FJQUlRSURRQ0FDSUFBZ0Iyb3NBQUE2QUFBZ0FpQUFJQWhxTEFBQU9nQUJJQUlnQUNBSmFpd0FBRG9BQWlBQ1FRTnFJUUlnQlNBQVFRRnFJZ0JIRFFBTElBTkJCR29oQXlBRVFRRktCRUFnQ2lFQ0lBWWhCQXdCQ3dzTHRBSUJEbjhnQUNnQ2NDRUdJQUFvQXRBQ0lRVWdBQ2dDNEFNaUFDZ0NDQ0VKSUFBb0Fnd2hDaUFBS0FJUUlRc2dBQ2dDRkNFTUlBUkJBRXdFUUE4TElBWkZCRUFQQ3dOQUlBUkJmMm9oRFNBQktBSUFJQUpCQW5ScUtBSUFJUTRnQVNnQ0JDQUNRUUowYWlnQ0FDRVBJQUVvQWdnZ0FrRUNkR29vQWdBaEVDQUNRUUZxSVJFZ0F5Z0NBQ0VDUVFBaEFBTkFJQUFnRDJvdEFBQWhCeUFDSUFVZ0FDQU9haTBBQUNJSUlBQWdFR290QUFBaUVrRUNkQ0FKYWlnQ0FHcHFMQUFBT2dBQUlBSWdCU0FJSUFkQkFuUWdER29vQWdBZ0VrRUNkQ0FMYWlnQ0FHcEJFSFZxYWl3QUFEb0FBU0FDSUFVZ0NDQUhRUUowSUFwcUtBSUFhbW9zQUFBNkFBSWdBa0VEYWlFQ0lBWWdBRUVCYWlJQVJ3MEFDeUFEUVFScUlRTWdCRUVCU2dSQUlCRWhBaUFOSVFRTUFRc0xDNG9CQVFWL0lBQW9BbkFpQjBVZ0JFRUJTSElFUUE4TEEwQWdCRUYvYWlFSUlBRW9BZ0FnQWtFQ2RHb29BZ0FoQ1VFQUlRQWdBeWdDQUNFRkEwQWdCU0FBSUFscUxBQUFJZ1k2QUFJZ0JTQUdPZ0FCSUFVZ0Jqb0FBQ0FGUVFOcUlRVWdCeUFBUVFGcUlnQkhEUUFMSUFKQkFXb2hBaUFEUVFScUlRTWdCRUVCU2dSQUlBZ2hCQXdCQ3dzTDlBRUJDWDhnQUNnQzRBTW9BaGdoQlNBQUtBSndJUVlnQkVFQVRBUkFEd3NnQmtVRVFBOExBMEFnQkVGL2FpRUhJQUVvQWdBZ0FrRUNkR29vQWdBaENDQUJLQUlFSUFKQkFuUnFLQUlBSVFrZ0FTZ0NDQ0FDUVFKMGFpZ0NBQ0VLSUFKQkFXb2hBaUFES0FJQUlRdEJBQ0VBQTBBZ0FDQUxhaUFBSUFscUxRQUFJZ3hCZ0FGcUlnMGdBQ0FJYWkwQUFHcEIvd0Z4UVFKMElBVnFLQUlBSUF4QmdBSnlRUUowSUFWcUtBSUFhaUFBSUFwcUxRQUFJQTFxUWY4QmNVR0FCSEpCQW5RZ0JXb29BZ0JxUVJCMk9nQUFJQUJCQVdvaUFDQUdSdzBBQ3lBRFFRUnFJUU1nQkVFQlNnUkFJQWNoQkF3QkN3c0wzZ0VCQjM4Z0FDZ0M0QU1vQWhnaEJTQUFLQUp3SVFZZ0JFRUFUQVJBRHdzZ0JrVUVRQThMQTBBZ0JFRi9haUVISUFFb0FnQWdBa0VDZEdvb0FnQWhDQ0FCS0FJRUlBSkJBblJxS0FJQUlRa2dBU2dDQ0NBQ1FRSjBhaWdDQUNFS0lBSkJBV29oQWlBREtBSUFJUXRCQUNFQUEwQWdBQ0FMYWlBQUlBcHFMUUFBUVlBRWNrRUNkQ0FGYWlnQ0FDQUFJQWhxTFFBQVFRSjBJQVZxS0FJQUlBQWdDV290QUFCQmdBSnlRUUowSUFWcUtBSUFhbXBCRUhZNkFBQWdBRUVCYWlJQUlBWkhEUUFMSUFOQkJHb2hBeUFFUVFGS0JFQWdCeUVFREFFTEN3c3lBUUYvSUFBb0FnUWdBQ2dDQ0JDTEFTSUJCRUFnQVNBQUVMUUZRUUJJQkVBZ0FSQkpRUUFoQVFzRlFRQWhBUXNnQVFzWEFDQUJLQUlBSUFJZ0EwRUFJQVFnQUNnQ2NCRDNBUXVIQkFFTWZ5QURLQUlBSVFnZ0FTZ0NCQ0lESUFBb0F0d0RJZ1ZCakFGcWFpd0FBQ0VCSUFNZ0JVR1dBV3BxTFFBQUlRTWdBQ2dDd0FJaUJFRUFUQVJBRHdzZ0FVSC9BWEVoQlNBQlFRQkhJUXdnQTBIL0FYRWlDa0YvYWlFTklBTkIvd0Z4UVFGS0JFQWdCVUYrSUFWQmYzTWdBUnRxUVFKcUlRNUJBQ0VFQTBBQ1FDQUVRUUowSUFocUtBSUFJZ01nQUNnQ2NDSUJhaUVQSUFGQkFFb0VRQ0FNUlEwQklBWkJBblFnQW1vb0FnQWhCeUFESVFFRFFDQUJJQWNzQUFBZ0RoQkZHaUFGSVFNRFFDQUJRUUZxSVFFZ0EwRi9haUVMSUFOQkFVb0VRQ0FMSVFNTUFRc0xJQWRCQVdvaEJ5QUJJQTlKRFFBTElBQW9BbkFoQVFzZ0NDQUVJQWdnQkVFQmFpQU5JQUVROXdFZ0JrRUJhaUVHSUFRZ0Ntb2lCQ0FBS0FMQUFrZ05BVUViSVFrTEN5QUpRUnRHQkVBUEN3TkFEQUFBQ3dBTElBeEZCRUFnQUNnQ2NFRUFTaUVCUVFBaEFBTi9JQUVFZjBFQUJTQUFJQXBxSWdBZ0JFZ0Vmd3dDQlVFYkN3c0xRUnRHQkVBUEN3TkFEQUFBQ3dBTFFRQWhCQU5BSUFaQkFuUWdDR29vQWdBaUFTQUFLQUp3SWdOcUlRa2dBMEVBU2dSQUlBUkJBblFnQW1vb0FnQWhCd05BSUFFZ0J5d0FBQ0FGRUVVYUlBVWhBd05BSUFGQkFXb2hBU0FEUVg5cUlRc2dBMEVCU2dSQUlBc2hBd3dCQ3dzZ0IwRUJhaUVISUFFZ0NVa05BQXNMSUFSQkFXb2hCQ0FHSUFwcUlnWWdBQ2dDd0FKSURRQUxDNjhCQVFWL0lBTW9BZ0FoQlNBQUtBTEFBa0VBVEFSQUR3dEJBQ0VEQTBBZ0EwRUNkQ0FGYWlnQ0FDSUhJQUFvQW5BaUFXb2hDQ0FCUVFCS0JFQWdCa0VDZENBQ2FpZ0NBQ0VFSUFjaEFRTkFJQVJCQVdvaEJ5QUJJQVFzQUFBaUJEb0FBQ0FCSUFRNkFBRWdBVUVDYWlJQklBaEpCRUFnQnlFRURBRUxDeUFBS0FKd0lRRUxJQVVnQXlBRklBTkJBWEpCQVNBQkVQY0JJQVpCQVdvaEJpQURRUUpxSWdNZ0FDZ0N3QUpJRFFBTEM1VUJBUVIvSUFNb0FnQWhCaUFBS0FMQUFpSUJRUUJNQkVBUEMwRUFJUU1EUUNBRFFRSjBJQVpxS0FJQUlnVWdBQ2dDY0NJRWFpRUhJQVJCQUVvRVFDQURRUUowSUFKcUtBSUFJUVFnQlNFQkEwQWdCRUVCYWlFRklBRWdCQ3dBQUNJRU9nQUFJQUVnQkRvQUFTQUJRUUpxSWdFZ0Iwa0VRQ0FGSVFRTUFRc0xJQUFvQXNBQ0lRRUxJQU5CQVdvaUF5QUJTQTBBQ3dzSkFDQURJQUkyQWdBTENRQWdBMEVBTmdJQUM4b0NBUU4vSUFBb0F0d0RJZ2NvQWx3aUNDQUFLQUxBQWlJRFNBUi9JQWdGSUFBb0FpUkJBRW9FUUNBQUtBTFlBU0VJUVFBaEF3TkFJQWRCTkdvZ0EwRUNkR29vQWdBaENTQUFJQWdnQTBFQ2RDQUJhaWdDQUNBQ0tBSUFJQWRCNUFCcUlBTkJBblJxS0FJQWJFRUNkR29nQjBFTWFpQURRUUowYWlBSlFSOXhRZm9GYWhFSEFDQUlRZGdBYWlFSUlBTkJBV29pQXlBQUtBSWtTQTBBQ3lBQUtBTEFBaUVEQ3lBSFFRQTJBbHhCQUFzaEFTQUdJQVVvQWdBaUJtc2lDQ0FIS0FKZ0lna2dBeUFCYXlJRElBTWdDVXNiSWdNZ0F5QUlTeHNoQXlBQUtBTGdBeWdDQkNFSUlBQWdCMEVNYWlBQklBWkJBblFnQkdvZ0F5QUlRVDl4UVpvR2FoRUZBQ0FGSUFNZ0JTZ0NBR28yQWdBZ0J5QUhLQUpnSUFOck5nSmdJQWNnQXlBSEtBSmNhaUlCTmdKY0lBRWdBQ2dDd0FKSUJFQVBDeUFDSUFJb0FnQkJBV28yQWdBTEh3RUJmeUFBS0FMY0F5SUJJQUFvQXNBQ05nSmNJQUVnQUNnQ2REWUNZQXVIQWdFRmZ5QUFLQUxJQXlJSEtBSVlJZ01FUUNBSFFSUnFJUUVnQjBFUWFpRUNJQWNvQWd3aENRVWdBQ2dDQkNnQ0hDRURJQWNnQUNBSEtBSUlJQWRCRkdvaUFTZ0NBQ0FIUVJCcUlnSW9BZ0JCQUNBRFFSOXhRYUlDYWhFSUFDSUpOZ0lNSUFjb0FoZ2hBd3NnQUNnQ2RDQUJLQUlBYXlJSUlBWWdCU2dDQUNJS2F5SUdJQUlvQWdBZ0Eyc2lDeUFMSUFaTEd5SUdJQVlnQ0VzYklRWWdBQ2dDNUFNb0FnUWhDQ0FBSUFOQkFuUWdDV29nQ2tFQ2RDQUVhaUFHSUFoQkgzRkIrZ1ZxRVFjQUlBVWdCaUFGS0FJQWFqWUNBQ0FISUFZZ0J5Z0NHR29pQURZQ0dDQUFJQUlvQWdBaUFFa0VRQThMSUFFZ0FDQUJLQUlBYWpZQ0FDQUhRUUEyQWhnTGlnSUJCWDhnQUNnQ3lBTWlCMEVZYWlJSUtBSUFJZ1FFUUNBSFFSQnFJUVlnQjBFTWFpSUpJUW9nQ1NnQ0FDRUpCU0FBS0FJRUtBSWNJUVFnQjBFTWFpSUtJQUFnQnlnQ0NDQUhLQUlVSUFkQkVHb2lCaWdDQUVFQklBUkJIM0ZCb2dKcUVRZ0FJZ2syQWdBZ0NDZ0NBQ0VFQ3lBQUtBTGNBeWdDQkNFTElBQWdBU0FDSUFNZ0NTQUlJQVlvQWdBZ0MwRUhjVUhpQm1vUkRRQWdDQ2dDQUNJQklBUkxCRUFnQUNnQzVBTW9BZ1FoQWlBQUlBb29BZ0FnQkVFQ2RHcEJBQ0FCSUFScklnQWdBa0VmY1VINkJXb1JCd0FnQlNBQUlBVW9BZ0JxTmdJQUlBZ29BZ0FoQVFzZ0FTQUdLQUlBSWdCSkJFQVBDeUFISUFBZ0J5Z0NGR28yQWhRZ0NFRUFOZ0lBQzU4QkFRUi9Jd1loQnlNR1FSQnFKQVlnQmlBRktBSUFheUVJSUFBb0FzZ0RJZ2tvQWhBaENpQUhRUUEyQWdBZ0FDZ0MzQU1vQWdRaEJpQUFJQUVnQWlBRElBa29BZ3dnQnlBS0lBZ2dDQ0FLU3hzZ0JrRUhjVUhpQm1vUkRRQWdBQ2dDNUFNb0FnUWhBU0FBSUFrb0Fnd2dCU2dDQUVFQ2RDQUVhaUFIS0FJQUlBRkJIM0ZCK2dWcUVRY0FJQVVnQnlnQ0FDQUZLQUlBYWpZQ0FDQUhKQVlMa2dJQkFYOGdBQ2dDeUFNaEFnSkFBa0FDUUFKQUFrQWdBUTRFQUFNQ0FRTUxJQUFvQWxSRkJFQWdBaUFBS0FMY0F5Z0NCRFlDQkF3RUN5QUNRUVEyQWdRZ0FpZ0NERVVFUUNBQUtBSUVLQUljSVFFZ0FpQUFJQUlvQWdoQkFDQUNLQUlRUVFFZ0FVRWZjVUdpQW1vUkNBQTJBZ3dMREFNTElBSW9BZ2hGQkVBZ0FDZ0NBQ0lCUVFNMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQ1FRVTJBZ1FNQWdzZ0FpZ0NDRVVFUUNBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkJqWUNCQXdCQ3lBQUtBSUFJZ0ZCQXpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFKQkFEWUNHQ0FDUVFBMkFoUUxLUUVCZnlBQUtBTElBeWdDQkNFRUlBQkJBRUVBUVFBZ0FTQUNJQU1nQkVFSGNVSGlCbW9SRFFBTGZ3RUVmeUFBS0FMQUF5SUVRVEJxSWdZb0FnQWdCQ2dDTkNJRlNRUkFJQVJCQ0dvaEJ3VWdBQ2dDeEFNb0Fnd2hCU0FBSUFSQkNHb2lCeUFGUVQ5eFFZb0JhaEVDQUFSL0lBWkJBRFlDQUNBRUtBSTBCUThMSVFVTElBQW9Bc2dES0FJRUlRUWdBQ0FISUFZZ0JTQUJJQUlnQXlBRVFRZHhRZUlHYWhFTkFBdVZCd0VQZnlBQUtBTEFBeUlFS0FJNFJRUkFJQUFvQXNRREtBSU1JUWdnQUNBRVFUeHFJQVFvQWtSQkFuUnFLQUlBSUFoQlAzRkJpZ0ZxRVFJQUJFQWdCRUVCTmdJNElBUWdCQ2dDVEVFQmFqWUNUQVVQQ3dzQ1FBSkFBa0FDUUFKQUFrQWdCQ2dDU0E0REFRSUFBd3NnQUNnQ3lBTW9BZ1FoQlNBQUlBUkJQR29nQkNnQ1JFRUNkR29vQWdBZ0JFRXdhaUlJSUFSQk5Hb2lDaWdDQUNBQklBSWdBeUFGUVFkeFFlSUdhaEVOQUNBSUtBSUFJQW9vQWdCSkJFQVBDeUFFUVFBMkFrZ2dBaWdDQUNBRFNRMEREd3NnQkVFd2FpRUlJQVJCTkdvaENnd0NDeUFFUVRCcUlRZ2dCRUUwYWlFS0RBSUxEd3NnQ0VFQU5nSUFJQW9nQUNnQ3lBSWlEa0YvYWpZQ0FDQUVLQUpNSUFBb0Fzd0NSZ1JBSUFBb0FzQURJUXNnQUNnQ0pDSVBRUUJLQkVBZ0MwRThhaUFMS0FKRVFRSjBhaUVRSUFBb0F0Z0JJUVVEUUNBRktBSU1JQVVvQWloc0lnY2dEaEE1SVFZZ0J5QUZLQUl3SUFjUVRpSUhJQWRGR3lFSElBbEZCRUFnQ3lBSFFYOXFJQVlRT1VFQmFqWUNOQXNnRUNnQ0FDQUpRUUowYWlnQ0FDRU5JQVpCQVhRaEVTQUdRUUJLQkVBZ0IwRi9ha0VDZENBTmFpRU1RUUFoQmdOQUlBWWdCMnBCQW5RZ0RXb2dEQ2dDQURZQ0FDQUdRUUZxSWdZZ0VVZ05BQXNMSUFWQjJBQnFJUVVnQ1VFQmFpSUpJQTlIRFFBTEN3c2dCRUVCTmdKSUN5QUFLQUxJQXlnQ0JDRUZJQUFnQkVFOGFpQUVLQUpFUVFKMGFpZ0NBQ0FJSUFvb0FnQWdBU0FDSUFNZ0JVRUhjVUhpQm1vUkRRQWdDQ2dDQUNBS0tBSUFTUVJBRHdzZ0JDZ0NURUVCUmdSQUlBQW9Bc0FESVFzZ0FDZ0N5QUloQVNBQUtBSWtJZ2RCQUVvRVFDQUxRVUJySVEwZ0FVRUJhaUVPSUFGQkFtb2hEeUFBS0FMWUFTRUNRUUFoQXdOQUlBSW9BZ3dnQWlnQ0tHd2dBUkE1SVFVZ0N5Z0NQQ0FEUVFKMGFpZ0NBQ0VKSUEwb0FnQWdBMEVDZEdvb0FnQWhCaUFGUVFCS0JFQWdCU0FPYkNFUUlBVWdEMndoRVVFQUlRQURRQ0FBSUFWcklneEJBblFnQ1dvZ0FDQVFhaUlTUVFKMElBbHFLQUlBTmdJQUlBeEJBblFnQm1vZ0VrRUNkQ0FHYWlnQ0FEWUNBQ0FBSUJGcUlneEJBblFnQ1dvZ0FFRUNkQ0FKYWlnQ0FEWUNBQ0FNUVFKMElBWnFJQUJCQW5RZ0Jtb29BZ0EyQWdBZ0FFRUJhaUlBSUFWSERRQUxDeUFDUWRnQWFpRUNJQU5CQVdvaUF5QUhSdzBBQ3dzRklBQW9Bc2dDSVFFTElBUWdCQ2dDUkVFQmN6WUNSQ0FFUVFBMkFqZ2dDQ0FCUVFGcU5nSUFJQW9nQVVFQ2FqWUNBQ0FFUVFJMkFrZ0w2UU1CRUg4Z0FDZ0N3QU1oQWdKQUFrQUNRQ0FCRGdNQUFnRUNDeUFBS0FMY0F5Z0NDRVVFUUNBQ1FSRTJBZ1FnQWlBQ0tBSTBOZ0l3RHdzZ0FrRVFOZ0lFSUFBb0FzZ0NJUVFnQUNnQ0pDSUxRUUJLQkVBZ0FrRkFheUVNSUFSQkFtb2hEU0FFUVg1cUlRNGdBQ2dDMkFFaEJVRUFJUUFEUUNBRktBSU1JQVVvQWloc0lBUVFPU0VESUFJb0Fqd2dBRUVDZEdvb0FnQWhCaUFNS0FJQUlBQkJBblJxS0FJQUlRY2dBa0VJYWlBQVFRSjBhaWdDQUNFSUlBTWdEV3dpQ1VFQVNnUkFRUUFoQVFOQUlBRkJBblFnQjJvZ0FVRUNkQ0FJYWlnQ0FDSUtOZ0lBSUFGQkFuUWdCbW9nQ2pZQ0FDQUJRUUZxSWdFZ0NVY05BQXNMSUFOQkFYUWhDU0FEUVFCS0JFQWdBeUFFYkNFS0lBTWdEbXdoRDBFQUlRRURRQ0FCSUE5cUloQkJBblFnQjJvZ0FTQUthaUlSUVFKMElBaHFLQUlBTmdJQUlCRkJBblFnQjJvZ0VFRUNkQ0FJYWlnQ0FEWUNBQ0FCUVFGcUlnRWdDVWdOQUF0QkFDRUJBMEFnQVNBRGEwRUNkQ0FHYWlBR0tBSUFOZ0lBSUFGQkFXb2lBU0FEUncwQUN3c2dCVUhZQUdvaEJTQUFRUUZxSWdBZ0MwY05BQXNMSUFKQkFEWUNSQ0FDUVFBMkFrZ2dBa0VBTmdKTUlBSkJBRFlDT0E4TElBSkJFallDQkE4TElBQW9BZ0FpQVVFRE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF1QkJBRUpmeUFBSUFCQkFVSFFBQ0FBS0FJRUtBSUFRVDl4UWNvQmFoRUVBQ0lFTmdMQUF5QUVRVE0yQWdBZ0FDZ0N5QUloQWlBQUtBTGNBeWdDQ0FSL0lBSkJBa2dFUUNBQUtBSUFJZ05CTURZQ0ZDQUFJQU1vQWdCQi93RnhRYXdEYWhFQkFDQUFLQUxJQWlFQ0N5QUFLQUxBQXlJRElBQkJBU0FBUVNScUlnWW9BZ0JCQTNRZ0FDZ0NCQ2dDQUVFL2NVSEtBV29SQkFBaUFUWUNQQ0FEUVVCcklnY2dBU0FBS0FJa0lnRkJBblJxTmdJQUlBRkJBRW9FUUNBQ1FRUnFJUWdnQUNnQzJBRWhBa0VBSVFFRGZ5QUFRUUVnQWlnQ0RDQUNLQUlvYkNBQUtBTElBaEE1SWdVZ0NHd2lDVUVEZENBQUtBSUVLQUlBUVQ5eFFjb0JhaEVFQUNBRlFRSjBhaUVGSUFNb0Fqd2dBVUVDZEdvZ0JUWUNBQ0FIS0FJQUlBRkJBblJxSUFsQkFuUWdCV28yQWdBZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pDSUZTQTBBSUFVTElRRUxJQUFvQXNnQ0lnVkJBbW9oQWlBQklRTWdCUVVnQkNBQ05nSTBJQUJCSkdvaEJpQUFLQUlrSVFNZ0Fnc2hBU0FEUVFCTUJFQVBDeUFFUVFocUlRVkJBQ0VESUFBb0F0Z0JJUVFEUUNBRUtBSU1JQVFvQWloc0lBRVFPU0VCSUFOQkFuUWdCV29nQUVFQklBUW9BaHdnQkNnQ0pHd2dBU0FDYkNBQUtBSUVLQUlJUVE5eFFZb0NhaEVKQURZQ0FDQURRUUZxSWdNZ0JpZ0NBRWdFUUNBRVFkZ0FhaUVFSUFBb0FzZ0NJUUVNQVFzTEM4SUJBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUVjSUFKQlAzRkJ5Z0ZxRVFRQUlnSTJBc2dESUFKQk1qWUNBQ0FDUVFBMkFnZ2dBa0VBTmdJTUlBQW9BbFJGQkVBUEN5QUNJQUFvQXNBQ0lnTTJBaEFnQUNnQ0JDRUVJQUVFUUNBRUtBSVFJUUVnQWlBQVFRRkJBQ0FBS0FKd0lBQW9BbmhzSUFBb0FuUWdBeEQ0QVNBQ0tBSVFJQUZCUDNGQnhnSnFFUW9BTmdJSUJTQUVLQUlJSVFFZ0FpQUFRUUVnQUNnQ2NDQUFLQUo0YkNBRElBRkJEM0ZCaWdKcUVRa0FOZ0lNQ3d1aEJBRU1meUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJvQUVnQVVFL2NVSEtBV29SQkFBaUFqWUMzQU1nQWtHR0FUWUNBQ0FDUVFNMkFnUWdBa0VBTmdJSUlBQW9BclFDQkVBZ0FDZ0NBQ0lCUVJvMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3lBQUtBSWtRUUJNQkVBUEN5QUNRZVFBYWlFSklBSkJOR29oQlNBQ1FReHFJUW9nQWtHTUFXb2hDeUFDUVpZQmFpRU1JQUFvQXRnQklRSkJBQ0VCQTBBZ0FpZ0NDQ0FDS0FJa2JDQUFLQUxFQWhBNUlRY2dBaWdDRENBQ0tBSW9iQ0FBS0FMSUFoQTVJUVlnQUNnQ3ZBSWhCQ0FBS0FMQUFpRUlJQUZCQW5RZ0NXb2dCallDQUNBQ0tBSTBCRUFDUUNBR0lBaEdJZ01nQkNBSFJuRUVRQ0FCUVFKMElBVnFRUXcyQWdBTUFRc2dBeUFFSUFkQkFYUkdJZ054QkVBZ0FVRUNkQ0FGYWtFTk5nSUFCUUpBSUFNZ0NDQUdRUUYwUm5FRVFDQUJRUUowSUFWcVFRNDJBZ0FNQVFzZ0JDQUhJQVFnQnhBNUlnUnNhMFVFUUNBSUlBWWdDQ0FHRURraUEyeHJSUVJBSUFGQkFuUWdCV3BCRHpZQ0FDQUJJQXRxSUFRNkFBQWdBU0FNYWlBRE9nQUFEQUlMQ3lBQUtBSUFJZ05CSnpZQ0ZDQURLQUlBSVFNZ0FDQURRZjhCY1VHc0Eyb1JBUUFMQ3lBQUtBSUVLQUlJSVFNZ0FVRUNkQ0FLYWlBQVFRRWdBQ2dDY0NBQUtBSzhBaEQ0QVNBQUtBTEFBaUFEUVE5eFFZb0NhaEVKQURZQ0FBc0ZJQUZCQW5RZ0JXcEJDellDQUFzZ0FrSFlBR29oQWlBQlFRRnFJZ0VnQUNnQ0pFZ05BQXNMa2hBQkJuOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQVRZQzRBTWdBVUdGQVRZQ0FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQUVCQWdJQkFRTUxJQUFvQWlSQkFVY0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxEQU1MSUFBb0FpUkJBMGNFUUNBQUtBSUFJZ0pCQ3pZQ0ZDQUNLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMREFJTElBQW9BaVJCQkVjRVFDQUFLQUlBSWdKQkN6WUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTERBRUxJQUFvQWlSQkFVZ0VRQ0FBS0FJQUlnSkJDellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxDeUFBS0FLd0FnUkFBa0FDUUNBQUtBSW9RUUpyRGdVQkFBQUFBUUFMSUFBb0FnQWlBa0VjTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNMQWtBQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQWtFQmF3NEdBQUVFQXdRQ0JBc2dBRUVCTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVCYXc0SEFBRUFBZ0lDQUFJTElBRkJKallDQkNBQUtBSWtJZ0pCQVV3TkJ5QUFLQUxZQVNFRFFRRWhBUU5BSUFGQjJBQnNJQU5xUVFBMkFqUWdBVUVCYWlJQklBSklEUUFMREFJTEFrQUNRQUpBQWtBZ0FDZ0NzQUlPQWdBQkFnc2dBVUVuTmdJRURBSUxJQUZCS0RZQ0JBd0JDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQWdRb0FnQWhBU0FBS0FMZ0F5QUFRUUZCZ0JnZ0FVRS9jVUhLQVdvUkJBQWlBallDR0VFQUlRRURRQ0FCUVFKMElBSnFJQUZCaTVrQmJEWUNBQ0FCUVlBQ2FrRUNkQ0FDYWlBQlFjYXNBbXcyQWdBZ0FVR0FCR3BCQW5RZ0Ftb2dBVUd2T214QmdJQUNhallDQUNBQlFRRnFJZ0ZCZ0FKSERRQUxEQUVMSUFBb0FnQWlBVUVjTmdJVUlBRW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXdGQ3d3RUN5QUFRUU0yQW5nQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDS0VFQmF3NEhBQU1CQkFRRUFnUUxJQUZCS1RZQ0JBd0lDeUFCUVNvMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dEQ3lBQlFTbzJBZ1FnQUNnQ0JDZ0NBQ0VDSUFBb0F1QURJZ0VnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBTmdJSUlBQW9BZ1FvQWdBaEFpQUJJQUJCQVVHQUNDQUNRVDl4UWNvQmFoRUVBRFlDRENBQUtBSUVLQUlBSVFJZ0FTQUFRUUZCZ0FnZ0FrRS9jVUhLQVdvUkJBQTJBaEFnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJRWUFJSUFKQlAzRkJ5Z0ZxRVFRQUlnTTJBaFFnQVNnQ0NDRUVJQUVvQWd3aEJTQUJLQUlRSVFaQkFDRUJRWUIvSVFJRFFDQUJRUUowSUFScUlBSkIwNXNMYkVHQWdBSnFRUkIxTmdJQUlBRkJBblFnQldvZ0FrSEVsZzVzUVlDQUFtcEJFSFUyQWdBZ0FVRUNkQ0FHYWlBQ1FkMmtlbXcyQWdBZ0FVRUNkQ0FEYWlBQ1FjMmZmV3hCZ0lBQ2FqWUNBQ0FDUVFGcUlRSWdBVUVCYWlJQlFZQUNSdzBBQ3d3Q0N3SkFBa0FDUUNBQUtBS3dBZzRDQUFFQ0N5QUJRU3MyQWdRTUJ3c2dBVUVzTmdJRURBWUxJQUFvQWdBaUFVRWNOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBd0ZDeUFBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQU1CQXNNQXdzZ0FFRUROZ0o0SUFBb0FpaEJCa2NFUUNBQUtBSUFJZ0ZCSERZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFNQXdzQ1FBSkFBa0FnQUNnQ3NBSU9BZ0FCQWdzZ0FVRXJOZ0lFREFRTElBRkJMRFlDQkF3REN5QUFLQUlBSWdGQkhEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTUFnc2dBRUVFTmdKNEFrQUNRQUpBQWtBZ0FDZ0NLRUVFYXc0Q0FRQUNDeUFCUVMwMkFnUWdBQ2dDQkNnQ0FDRUNJQUFvQXVBRElnRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lJSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNEQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoQWdBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdNMkFoUWdBU2dDQ0NFRUlBRW9BZ3doQlNBQktBSVFJUVpCQUNFQlFZQi9JUUlEUUNBQlFRSjBJQVJxSUFKQjZjMEZiRUdBZ0FKcVFSQjFOZ0lBSUFGQkFuUWdCV29nQWtHaWl3ZHNRWUNBQW1wQkVIVTJBZ0FnQVVFQ2RDQUdhaUFDUWE2U2ZXdzJBZ0FnQVVFQ2RDQURhaUFDUWVmUGZteEJnSUFDYWpZQ0FDQUNRUUZxSVFJZ0FVRUJhaUlCUVlBQ1J3MEFDd3dDQ3lBQlFTNDJBZ1FNQXdzZ0FDZ0NBQ0lCUVJ3MkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBREFJTERBRUxJQUFvQWlnZ0FrWUVRQ0FBSUFBb0FpUTJBbmdnQVVFdU5nSUVCU0FBS0FJQUlnRkJIRFlDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxDeUFBS0FKVUJFQWdBRUVCTmdKOER3c2dBQ0FBS0FKNE5nSjhDODRFQVFkL0lBQW9BZ1FvQWdBaEFTQUFJQUJCQVVFd0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQXR3RElBRkJoQUUyQWdBZ0FVRUFOZ0lJSUFFZ0FDZ0NlQ0FBS0FKd2JDSUNOZ0lvSUFBb0FzQUNRUUpHQkVBZ0FVRUJOZ0lFSUFGQkNUWUNEQ0FBS0FJRUtBSUVJUU1nQVNBQVFRRWdBaUFEUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUxjQXlFQkJTQUJRUUkyQWdRZ0FVRUtOZ0lNSUFGQkFEWUNJQXNDZnlBQUtBSW9RUWRHSVFjZ0FDZ0NCQ2dDQUNFQ0lBRWdBRUVCUVlBSUlBSkJQM0ZCeWdGcUVRUUFOZ0lRSUFBb0FnUW9BZ0FoQWlBQklBQkJBVUdBQ0NBQ1FUOXhRY29CYWhFRUFEWUNGQ0FBS0FJRUtBSUFJUUlnQVNBQVFRRkJnQWdnQWtFL2NVSEtBV29SQkFBMkFoZ2dBQ2dDQkNnQ0FDRUNJQUVnQUVFQlFZQUlJQUpCUDNGQnlnRnFFUVFBSWdJMkFod2dBU2dDRUNFRElBRW9BaFFoQkNBQktBSVlJUVVnQndzRVFFRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhUbXd0c1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRY1NXRG14QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkIzYVI2YkRZQ0FDQUFRUUowSUFKcUlBRkJ6Wjk5YkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEJVRUFJUUJCZ0g4aEFRTkFJQUJCQW5RZ0Eyb2dBVUhwelFWc1FZQ0FBbXBCRUhVMkFnQWdBRUVDZENBRWFpQUJRYUtMQjJ4QmdJQUNha0VRZFRZQ0FDQUFRUUowSUFWcUlBRkJycEo5YkRZQ0FDQUFRUUowSUFKcUlBRkI1ODkrYkVHQWdBSnFOZ0lBSUFGQkFXb2hBU0FBUVFGcUlnQkJnQUpIRFFBTEN3dkhBd0VEZnlBQUtBSUVLQUlBSVFFZ0FDQUFRUUZCTENBQlFUOXhRY29CYWhFRUFDSUROZ0xrQXlBRFFURTJBZ0FnQTBHREFUWUNEQ0FEUVFBMkFpQWdBMEVBTmdJb0lBQW9BbmhCQTBjRVFDQUFLQUlBSWdGQk1EWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BZ1FvQWdBaEFTQURJQUJCQVVHQUFTQUJRVDl4UWNvQmFoRUVBRFlDR0VFQUlRRURRQ0FBS0FJRUtBSUVJUUlnQUVFQlFZQWdJQUpCUDNGQnlnRnFFUVFBSVFJZ0F5Z0NHQ0FCUVFKMGFpQUNOZ0lBSUFGQkFXb2lBVUVnUncwQUN5QURRUUUyQWh3Z0FDZ0NiQVJBSUFBb0FtQWlBVUVJU0FSQUlBQW9BZ0FpQWtFNk5nSVVJQUpCQ0RZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBRklBRkJnQUpLQkVBZ0FDZ0NBQ0lDUVRzMkFoUWdBa0dBQWpZQ0dDQUFLQUlBS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTEN5QUFLQUlFS0FJSUlRSWdBeUFBUVFFZ0FVRURJQUpCRDNGQmlnSnFFUWtBTmdJUUlBTWdBVFlDRkFVZ0EwRUFOZ0lRQ3lBQUtBSllSUVJBRHdzZ0FFRUNOZ0pZSUFBb0FnUW9BZ1FoQVNBRElBQkJBU0FBS0FKd1FRWnNRUXhxSUFGQlAzRkJ5Z0ZxRVFRQU5nSWdJQUFRcEFNTGpRa0JEMzhnQUNnQ0JDZ0NBQ0VCSUFBZ0FFRUJRZGdBSUFGQlAzRkJ5Z0ZxRVFRQUlnRTJBdVFESUFGQk1EWUNBQ0FCUVlFQk5nSUlJQUZCZ2dFMkFnd2dBVUVBTmdKRUlBRkJBRFlDTkNBQUtBSjRRUVJLQkVBZ0FDZ0NBQ0lCUVRrMkFoUWdBVUVFTmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0NZQ0lGUVlBQ1NnUkFJQUFvQWdBaUFVRTdOZ0lVSUFGQmdBSTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQW1BaEJRc2dBQ2dDNUFNaEJ5QUFLQUo0SWdaQkFVb0VRRUVCSVFFRGYwRUJJUU1nQVVFQmFpSUVJUUlEUUNBQ0lBUnNJUUlnQTBFQmFpSURJQVpIRFFBTElBSWdCVW9FZnlBQ0lRTWdBUVVnQkNFQkRBRUxDeUVDQlNBRlFRRWdCVUVCU2hzaUFrRUJhaUVEQ3lBQ1FRSkpCRUFnQUNnQ0FDSUJRVG8yQWhRZ0FTQUROZ0lZSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQmtFQVNnUkFRUUVoQVVFQUlRTURRQ0FIUVNCcUlBTkJBblJxSUFJMkFnQWdBU0FDYkNFQklBTkJBV29pQXlBR1J3MEFDd0pBSUFBb0FpeEJBa1lFUUVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMFFkU0hBV29vQWdCQkFuUnFJZ2tvQWdBaUJFRUJhaUVJQWtBQ1FDQUJJQVFRT1NBSWJDSUVJQVZLRFFBZ0NTQUlOZ0lBSUFOQkFXb2lBeUFHU0FSL1FRRWhBaUFFQlVFQklRSWdCQ0VCREFFTElRRU1BUXNnQWtVTkEwRUFJUU5CQUNFQ0N3d0FBQXNBQlVFQUlRSkJBQ0VEQTBBZ0IwRWdhaUFEUVFKMGFpSUpLQUlBSWdSQkFXb2hDQUpBQWtBZ0FTQUVFRGtnQ0d3aUJDQUZTZzBBSUFrZ0NEWUNBQ0FEUVFGcUlnTWdCa2dFZjBFQklRSWdCQVZCQVNFQ0lBUWhBUXdCQ3lFQkRBRUxJQUpGRFFOQkFDRURRUUFoQWdzTUFBQUxBQXNBQ3lBQklRSUZRUUVoQWdzZ0FDZ0NBQ0VCSUFBb0FuaEJBMFlFUUNBQklBSTJBaGdnQVNBSEtBSWdOZ0ljSUFFZ0J5Z0NKRFlDSUNBQklBY29BaWcyQWlRZ0FVSGdBRFlDRkNBQktBSUVJUUVGSUFGQjRRQTJBaFFnQVNBQ05nSVlJQUFvQWdBb0FnUWhBUXNnQUVFQklBRkJQM0ZCc2dWcUVRTUFJQUFvQWdRb0FnZ2hBU0FBUVFFZ0FpQUFLQUo0SUFGQkQzRkJpZ0pxRVFrQUlRb2dBQ2dDZUNJQlFRQktCRUJCQUNFRUlBSWhBd05BSUFNZ0IwRWdhaUFFUVFKMGFpZ0NBQ0lKRURraEJTQUpRUUJLQkVBZ0NVRi9haUlMUVFJUU9TRU1JQVJCQW5RZ0Ntb2hEU0FGUVFCS0JFQkJBQ0VHQTBBZ0JTQUdiQ0lCSUFKSUJFQWdEQ0FHUWY4QmJHb2dDeEE1UWY4QmNTRU9BMEJCQUNFSUEwQWdEU2dDQUNBQklBaHFhaUFPT2dBQUlBVWdDRUVCYWlJSVJ3MEFDeUFCSUFOcUlnRWdBa2dOQUFzTElBa2dCa0VCYWlJR1J3MEFDeUFBS0FKNElRRUxDeUFFUVFGcUlnUWdBVWdFUUNBRklRTU1BUXNMQ3lBSElBbzJBaEFnQnlBQ05nSVVJQUFRb1FNZ0FDZ0NXRUVDUndSQUR3c2dBQ2dDNUFNaEFpQUFLQUp3SVE4Z0FDZ0NlRUVBVEFSQUR3c2dEMEVCZEVFRWFpRURRUUFoQVFOQUlBQW9BZ1FvQWdRaEJDQUNRY1FBYWlBQlFRSjBhaUFBUVFFZ0F5QUVRVDl4UWNvQmFoRUVBRFlDQUNBQlFRRnFJZ0VnQUNnQ2VFZ05BQXNMMndVQkQzOGdBQ2dDRkNJQ1Fjb0JSd1JBSUFBb0FnQWlBVUVWTmdJVUlBRWdBallDR0NBQUtBSUFLQUlBSVFJZ0FDQUNRZjhCY1VHc0Eyb1JBUUFMSUFBUWtRWWdBQ2dDMkFFaEJDQUFLQUlrSWd4QkFFb2lEZ1IvSUFBb0FzZ0NJUUlnQUNnQ3hBSWlDRUVJUVFRZ0FDZ0NUQnNpQ1VvRVFDQUNJQWxLSVEwZ0NFRUJkQ0VESUFRaEFRTkFJQUVpQnlBSU5nSWtJQTBFUUNBQ0lRRUZBa0FnQUNnQ3dBSWhDaUFIS0FJTUlRdEJBU0VHSUFJaEFRTkFJQW9nQmtFQmRDSUdJQXRzRUU4TkFTQUNJQVpzSWdFZ0NVd05BQXNMQ3lBSElnWWdBVFlDS0NBSUlBRkJBWFFpQ2tvRVFDQUhJQW8yQWlRRklBRWdBMG9FUUNBR0lBTTJBaWdMQ3lBR1FkZ0FhaUVCSUFWQkFXb2lCU0FNU0EwQUN3VWdBQ2dDdkFJaERTQUNJQWxLSVFvZ0JDRUJBMEFnQVNnQ0NDRURRUUVoQlNBSUlRY0RRQ0FOSUFNZ0JVRUJkQ0lGYkJCUFJRUkFJQVVnQ0d3aUJ5QUpUQTBCQ3dzZ0FTSUZJQWMyQWlRZ0NnUkFJQUloQVFVQ1FDQUFLQUxBQWlFTElBVW9BZ3doRDBFQklRTWdBaUVCQTBBZ0N5QVBJQU5CQVhRaUEyd1FUdzBCSUFJZ0Eyd2lBU0FKVEEwQUN3c0xJQVVpQXlBQk5nSW9JQWNnQVVFQmRDSUxTZ1JBSUFVZ0N6WUNKQVVnQVNBSFFRRjBJZ0ZLQkVBZ0F5QUJOZ0lvQ3dzZ0EwSFlBR29oQVNBR1FRRnFJZ1lnREVnTkFBc0xJQTRFZjBFQUlRSURmeUFFSUFRb0FpUWdBQ2dDSENBRUtBSUliR3dnQUNnQ3ZBSWdBQ2dDckFOc0VHZzJBaXdnQkNBRUtBSW9JQUFvQWlBZ0JDZ0NER3hzSUFBb0FzQUNJQUFvQXF3RGJCQm9OZ0l3SUFSQjJBQnFJUVFnQWtFQmFpSUNJQUFvQWlRaUFVZ05BQ0FCQ3dVZ0RBc0ZJQXdMSVFJQ1FBSkFBa0FDUUFKQUlBQW9BaXdpQVVFQmF3NEhBQUVDQXdNQkFnUUxJQUVoQWd3REMwRURJUUlNQWd0QkF5RUNEQUVMUVFRaEFnc2dBQ0FDTmdKNElBQkJBU0FDSUFBb0FsUWJOZ0o4SUFBUXBnTkZCRUFnQUVFQk5nS0FBUThMSUFBZ0FDZ0N3QUkyQW9BQkN6c0JBbjhnQUNnQ3ZBTWhBU0FBS0FKVUJFQWdBQ2dDNUFNb0FnZ2hBaUFBSUFKQi93RnhRYXdEYWhFQkFBc2dBU0FCS0FJTVFRRnFOZ0lNQzVBRUFRTi9JQUFvQXJ3RElnSW9BZ2dFUUNBQ1FRQTJBZ2dnQUNnQzVBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3lBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRSWdBVUUvY1VHeUJXb1JBd0FGSUFBb0FsUUVRQ0FBS0FLSUFVVUVRQUpBSUFBb0Fsd0VRQ0FBS0FKc0JFQWdBQ0FDS0FJWU5nTGtBeUFDUVFFMkFnZ01BZ3NMSUFBb0FtUUVRQ0FBSUFJb0FoUTJBdVFEQlNBQUtBSUFJZ0ZCTHpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3dzTElBQW9BdGdES0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBZ0FDZ0N4QU1vQWdnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBSkVSUVJBSUFJb0FoQkZCRUFnQUNnQzRBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzNBTW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FBS0FKVUJFQWdBQ2dDNUFNb0FnQWhBU0FBSUFJb0FnZ2dBVUUvY1VHeUJXb1JBd0FMSUFBb0FzZ0RLQUlBSVFFZ0FFRURRUUFnQWlnQ0NCc2dBVUUvY1VHeUJXb1JBd0FnQUNnQ3dBTW9BZ0FoQVNBQVFRQWdBVUUvY1VHeUJXb1JBd0FMQ3lBQUtBSUlJZ0ZGQkVBUEN5QUJJQUlvQWd3aUF6WUNEQ0FCSUFOQkFrRUJJQUlvQWdnYmFpSUNOZ0lRSUFCQlFHc29BZ0JGQkVBUEN5QUFLQUxNQXlnQ0ZBUkFEd3NnQVNBQ1FRSkJBU0FBS0FKc0cybzJBaEFMOHdZQkJIOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQlFSd2dBVUUvY1VIS0FXb1JCQUFpQWpZQ3ZBTWdBa0gvQURZQ0FDQUNRWUFCTmdJRUlBSkJBRFlDQ0NBQUtBTFVBU0lCUVFoSEJFQWdBQ2dDQUNJRFFSQTJBaFFnQXlBQk5nSVlJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQkQzQlNBQUtBSUVLQUlBSVFFZ0FFRUJRWUFLSUFGQlAzRkJ5Z0ZxRVFRQUlnTkJBRUdBQkJCRkdpQUFJQU5CZ0FScUlnUTJBdEFDUVFBaEFRTkFJQUVnQkdvZ0FUb0FBQ0FCUVFGcUlnRkJnQUpIRFFBTElBTkJnQVpxUVg5QmdBUVFSUm9DUUFKQUlBQW9BblJGRFFBZ0FDZ0NjRVVOQUNBQVFmZ0FhaUlES0FJQVFRRklEUUFNQVFzZ0FDZ0NBQ0lCUVNFMkFoUWdBU2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFCQitBQnFJUU1MSUFKQkFEWUNEQ0FDSUFBUXBnTTJBaEFnQWtFQU5nSVVJQUpCQURZQ0dDQUFLQUpVQkVBQ1FDQUFRVUJyS0FJQVJRUkFJQUJCQURZQ1pDQUFRUUEyQW1nZ0FFRUFOZ0pzQ3lBQVFjUUFhaUlCS0FJQUJFQWdBQ2dDQUNJRVFUQTJBaFFnQkNnQ0FDRUVJQUFnQkVIL0FYRkJyQU5xRVFFQUN5QURLQUlBUVFOR0JFQUNRQ0FBS0FLSUFRUkFJQUJCQVRZQ2FBd0JDeUFBS0FKY0JFQWdBRUVCTmdKc0JTQUFRUUUyQW1RTEN3VWdBRUVCTmdKa0lBQkJBRFlDYUNBQVFRQTJBbXdnQUVFQU5nS0lBUXNnQUNnQ1pBUkFJQUFROWdVZ0FpQUFLQUxrQXpZQ0ZBc2dBQ2dDYkVVRVFDQUFLQUpvUlEwQkN5QUFFUFVGSUFJZ0FDZ0M1QU0yQWhnTEJTQUFRUUEyQW1RZ0FFRUFOZ0pvSUFCQkFEWUNiQ0FBUWNRQWFpRUJDeUFCS0FJQVJRUkFJQUlvQWhBRVFDQUFFUFFGQlNBQUVQTUZJQUFROGdVTElBQWdBQ2dDYkJEeEJRc2dBQkRIQmlBQUtBTGtBUVJBSUFBUWl3WUZJQUFRbXdZTElBQWdBQ2dDekFNb0FoQUVmMEVCQlNBQVFVQnJLQUlBUVFCSEN4Q0tCaUFCS0FJQVJRUkFJQUFROEFVTElBQW9BZ1FvQWhnaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQUtBTE1BeWdDQ0NFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFBb0FnZ2lBVVVFUUE4TElBQkJRR3NvQWdBRVFBOExJQUFvQXN3REtBSVFSUVJBRHdzZ0FDZ0NKQ0lESUFOQkEyeEJBbW9nQUNnQzRBRkZHeUVESUFGQkFEWUNCQ0FCSUFNZ0FDZ0N6QUpzTmdJSUlBRkJBRFlDRENBQlFRTkJBaUFBS0FKc0d6WUNFQ0FDSUFJb0FneEJBV28yQWd3TC9nUUJCWDhDUUFKQUFrQUNRQUpBQWtBZ0FDZ0NGQ0lCUWNvQmF3NERBQU1CQWdzZ0FCRDZCU0FBUVVCcktBSUFSUVJBSUFCQnl3RTJBaFFNQXdzZ0FFSFBBVFlDRkVFQkR3c2dBRUc4QTJvaEF3d0RDeUFBS0FJQUlnSkJGVFlDRkNBQ0lBRTJBaGdnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFEQUVMSUFBb0Fzd0RLQUlRQkVBQ1FDQUFLQUlJSVFFRFFBSkFJQUVFUUNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQUxJQUFvQXN3REtBSUFJUUVDUUNBQUlBRkIvd0J4UVFocUVRQUFJZ0lPQXdFQUF3QUxJQUpCQW5KQkEwWWdBQ2dDQ0NJQlFRQkhjUVJBSUFFZ0FTZ0NCRUVCYWlJQ05nSUVJQUlnQVNnQ0NDSUNUZ1JBSUFFZ0FpQUFLQUxNQW1vMkFnZ0xDd3dCQ3dzZ0FnOExDeUFBSUFBb0FwQUJOZ0tZQVFzZ0FFRzhBMm9oQXlBQUtBSVVRY3dCUndSQUlBTW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUNBQVFRQTJBb3dCSUFCQnpBRTJBaFFMQ3lBREtBSUFJZ0VvQWdnRVFBSkFJQUJCakFGcUlnVW9BZ0FoQWdOQUFrQWdBaUFBS0FKMElnUkpCRUFnQWlFQklBUWhBZ05BSUFBb0FnZ2lCQVIvSUFRZ0FUWUNCQ0FFSUFJMkFnZ2dCQ2dDQUNFQklBQWdBVUgvQVhGQnJBTnFFUUVBSUFVb0FnQUZJQUVMSVFJZ0FDZ0N3QU1vQWdRaEFTQUFRUUFnQlVFQUlBRkJIM0ZCK2dWcUVRY0FJQVVvQWdBaUFTQUNSZzBDSUFFZ0FDZ0NkQ0lDU1EwQUN5QURLQUlBSVFFTElBRW9BZ1FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQ0FES0FJQUtBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdCVUVBTmdJQUlBTW9BZ0FpQVNnQ0NFVU5Ba0VBSVFJTUFRc0xRUUFQQ3dzZ0FFSE9BVUhOQVNBQUtBSkVHellDRkVFQkMxQUJBMzlCZnlFQkEwQUNRQUpBQWtBZ0FDQUNhaXdBQUNJREJFQWdBMEV1UmdSQURBSUZEQU1MQUFzTUFnc2dBaUVCQ3lBQ1FRRnFJUUlNQVFzTElBRkJmMGNFUUNBQUlBRnFRUUE2QUFBTEM4b0pBUTEvSUFBb0F0UURJUVVnQUNnQ21BSUVRQ0FGS0FJNElnSkZCRUFnQUNnQzBBTW9BZ2doQWlBQUlBSkIvd0J4UVFocUVRQUFSUVJBSUFBb0FnQWlBa0VaTmdJVUlBSW9BZ0FoQWlBQUlBSkIvd0Z4UWF3RGFoRUJBQXNnQUNnQzFBSkJBRW9FUUVFQUlRSURRQ0FBUWRnQ2FpQUNRUUowYWlnQ0FDRUVBa0FDUUFKQUlBQW9BdUFCUlEwQUlBQW9BcHdERFFFZ0FDZ0NwQU5GRFFBTUFnc2dCVUU4YWlBRUtBSVVRUUowYWlnQ0FDSURRZ0EzQUFBZ0EwSUFOd0FJSUFOQ0FEY0FFQ0FEUWdBM0FCZ2dBMElBTndBZ0lBTkNBRGNBS0NBRFFnQTNBREFnQTBJQU53QTRJQVZCR0dvZ0FrRUNkR3BCQURZQ0FDQUZRU2hxSUFKQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUZRZndBYWlBRUtBSVlRUUowYWlnQ0FFRUFRWUFDRUVVYUN5QUNRUUZxSWdJZ0FDZ0MxQUpJRFFBTEN5QUZRUUEyQWd3Z0JVRUFOZ0lRSUFWQmNEWUNGQ0FGSUFBb0FwZ0NJZ0kyQWpnTElBVWdBa0YvYWpZQ09Bc2dCU2dDRkVGL1JnUkFRUUVQQ3lBQUtBS3dBeUVOSUFBb0F2QUNRUUJNQkVCQkFROExJQVZCdkFGcUlRNENRQUpBQTBBQ1FDQUlRUUowSUFGcUtBSUFJUXdnQUNBRlFUeHFJQUJCMkFKcUlBQkI5QUpxSUFoQkFuUnFLQUlBSWd0QkFuUnFLQUlBSWdZb0FoUWlCMEVDZEdvaUF5Z0NBQ0FGUVNocUlBdEJBblJxSWdrb0FnQnFJZ0lRWFFSQUlBQWdBQ0FDUVFGcUVGMGlDaUFDUVFKcWFpSUVFRjBpQWdSQUlBQWdBeWdDQUVFVWFpSUVFRjBFUUFOQUlBSkJBWFFpQWtHQWdBSkdEUVFnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZRUUFoQWdzZ0NTQUNRUUVnQnlBQVFlZ0JhbW90QUFCMFFRRjFTQVIvUVFBRklBcEJBblFoQXlBQ1FRRWdCeUFBUWZnQmFtb3RBQUIwUVFGMVNnUi9JQU5CREdvRklBTkJCR29MQ3pZQ0FDQUVRUTVxSVFNZ0FrRUJkU0lFQkVBRFFDQUNJQVJCQUNBQUlBTVFYUnR5SVFJZ0JFRUJkU0lFRFFBTEN5QUZRUmhxSUF0QkFuUnFJZ1FvQWdBZ0FrRi9jeUFDUVFGcUlBb2JhaUVDSUFRZ0FqWUNBQVVnQ1VFQU5nSUFJQVZCR0dvZ0MwRUNkR29vQWdBaEFnc2dEQ0FDT3dFQUlBQW9BclFEQkVBQ1FDQUZRZndBYWlBR0tBSVlJZ0pCQW5ScUlRY2dBaUFBUVlnQ2Ftb2hDVUVBSVFRRFFDQUFJQWNvQWdBZ0JFRURiR29pQXhCZERRRWdCRUVCYWlFQ0lBQWdBMEVCYWhCZEJFQWdCQ0VHSUFJaEJBVWdBeUVHQTM4Z0FpQUFLQUswQTA0TkNDQUdRUU5xSVFNZ0FrRUJhaUVFSUFBZ0JrRUVhaEJkQkg4Z0FnVWdBeUVHSUFRaEFnd0JDd3NoQmdzZ0FDQU9FRjBoQ2lBQUlBTkJBbW9pQXhCZElnSUVRQ0FBSUFNUVhRUkFJQUpCQVhRaEFpQUFJQWNvQWdCQnZRRkIyUUVnQmlBSkxRQUFTQnRxSWdNUVhRUkFBMEFnQWtFQmRDSUNRWUNBQWtZTkNpQUFJQU5CQVdvaUF4QmREUUFMQ3dzZ0EwRU9haUVHSUFKQkFYVWlBd1JBQTBBZ0FpQURRUUFnQUNBR0VGMGJjaUVDSUFOQkFYVWlBdzBBQ3dzRlFRQWhBZ3NnQkVFQ2RDQU5haWdDQUVFQmRDQU1haUFDUWYvL0EzTWdBa0VCYWlBS0d6c0JBQ0FFSUFBb0FyUURTQTBBQ3dzTElBaEJBV29pQWlBQUtBTHdBazROQWlBQ0lRZ01BUXNMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXU2QmdFTmZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDc0FNaEJpQUJLQUlBSVFjZ0FDZ0MyQUlvQWhnaEFrRUJJQUFvQXFnRElnRjBJUWhCZnlBQmRDRUpJQUFvQXFBRElRRURmd0ovSUFFZ0FVRUNkQ0FHYWlnQ0FFRUJkQ0FIYWk0QkFBMEFHaUFCUVg5cUlnRU5BVUVBQ3dzaEJTQURRZndBYWlBQ1FRSjBhaUVLSUFOQnZBRnFJUXNnQ0VILy93TnhJUXdnQ1VILy93TnhJUTBnQUNnQ25BTkJmMm9oQVFKQUEwQUNRQ0FLS0FJQUlBRkJBMnhxSVFJZ0FTQUZUZ1JBSUFBZ0FoQmREUU1MQWtBQ1FDQUJRUUZxSWdGQkFuUWdCbW9vQWdCQkFYUWdCMm9pQkM0QkFBMEFBMEFnQUNBQ1FRRnFFRjFGQkVBZ0FTQUFLQUtnQTA0TkJDQUNRUU5xSVFJZ0FVRUJhaUlCUVFKMElBWnFLQUlBUVFGMElBZHFJZ1F1QVFCRkRRRU1BZ3NMSUFBZ0N4QmRCRUFnQkNBTk93RUFCU0FFSUF3N0FRQUxEQUVMSUFBZ0FrRUNhaEJkQkVBZ0JDNEJBQ0lPSVFJZ0RrRUFTQVJBSUFRZ0FpQUphanNCQUFVZ0JDQUNJQWhxT3dFQUN3c0xJQUVnQUNnQ29BTklEUUVNQWdzTElBQW9BZ0FpQVVIMUFEWUNGQ0FCS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBTkJmellDRkVFQkR3dEJBUXZqQXdFRWZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQlFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCU2dDRkVFQ2RHb29BZ0FpQkVJQU53QUFJQVJDQURjQUNDQUVRZ0EzQUJBZ0JFSUFOd0FZSUFSQ0FEY0FJQ0FFUWdBM0FDZ2dCRUlBTndBd0lBUkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCU2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFBb0FxZ0RJUUlnQUNnQzhBSkJBRXdFUUVFQkR3c2dBMEc4QVdvaEEwRUJJQUowSVFSQkFDRUNBMEFnQUNBREVGMEVRQ0FDUVFKMElBRnFLQUlBSWdVZ0JDQUZMd0VBY2pzQkFBc2dBa0VCYWlJQ0lBQW9BdkFDU0EwQUMwRUJDODBHQVFwL0lBQW9BdFFESVFVZ0FDZ0NtQUlFUUNBRktBSTRJZ0pGQkVBZ0FDZ0MwQU1vQWdnaEFpQUFJQUpCL3dCeFFRaHFFUUFBUlFSQUlBQW9BZ0FpQWtFWk5nSVVJQUlvQWdBaEFpQUFJQUpCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUpCQUVvRVFFRUFJUUlEUUNBQVFkZ0NhaUFDUVFKMGFpZ0NBQ0VFQWtBQ1FBSkFJQUFvQXVBQlJRMEFJQUFvQXB3RERRRWdBQ2dDcEFORkRRQU1BZ3NnQlVFOGFpQUVLQUlVUVFKMGFpZ0NBQ0lEUWdBM0FBQWdBMElBTndBSUlBTkNBRGNBRUNBRFFnQTNBQmdnQTBJQU53QWdJQU5DQURjQUtDQURRZ0EzQURBZ0EwSUFOd0E0SUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FGUVNocUlBSkJBblJxUVFBMkFnQWdBQ2dDNEFFRVFDQUFLQUtjQXcwQkJTQUFLQUswQXcwQkN3d0JDeUFGUWZ3QWFpQUVLQUlZUVFKMGFpZ0NBRUVBUVlBQ0VFVWFDeUFDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFnd2dCVUVBTmdJUUlBVkJjRFlDRkNBRklBQW9BcGdDSWdJMkFqZ0xJQVVnQWtGL2FqWUNPQXNnQlNnQ0ZFRi9SZ1JBUVFFUEN5QUFLQUt3QXlFSElBRW9BZ0FoQ0NBRlFmd0FhaUFBS0FMWUFpZ0NHQ0lCUVFKMGFpRUdJQVZCdkFGcUlRa2dBU0FBUVlnQ2Ftb2hDaUFBS0FLY0EwRi9haUVDQWtBQ1FBTkFBa0FnQUNBR0tBSUFJQUpCQTJ4cUlnTVFYUTBDSUFKQkFXb2hBU0FBSUFOQkFXb1FYUVJBSUFJaEJDQUJJUUlGQTM4Z0FTQUFLQUtnQTA0TkFpQURRUU5xSVFRZ0FVRUJhaUVDSUFBZ0EwRUVhaEJkQkg4Z0JDRURJQUVGSUFRaEF5QUNJUUVNQVFzTElRUUxJQUFnQ1JCZElRc2dBQ0FEUVFKcUlnTVFYU0lCQkVBZ0FDQURFRjBFUUNBQlFRRjBJUUVnQUNBR0tBSUFRYjBCUWRrQklBUWdDaTBBQUVnYmFpSUVFRjBFUUFOQUlBRkJBWFFpQVVHQWdBSkdEUWNnQUNBRVFRRnFJZ1FRWFEwQUN3c0ZJQU1oQkFzZ0JFRU9haUVESUFGQkFYVWlCQVJBQTBBZ0FTQUVRUUFnQUNBREVGMGJjaUVCSUFSQkFYVWlCQTBBQ3dzRlFRQWhBUXNnQWtFQ2RDQUhhaWdDQUVFQmRDQUlhaUFCUVg5eklBRkJBV29nQ3hzZ0FDZ0NxQU4wT3dFQUlBSWdBQ2dDb0FOSURRRU1BZ3NMREFFTFFRRVBDeUFBS0FJQUlnRkI5UUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FGUVg4MkFoUkJBUXZrQmdFTGZ5QUFLQUxVQXlFRElBQW9BcGdDQkVBZ0F5Z0NPQ0lDUlFSQUlBQW9BdEFES0FJSUlRSWdBQ0FDUWY4QWNVRUlhaEVBQUVVRVFDQUFLQUlBSWdKQkdUWUNGQ0FDS0FJQUlRSWdBQ0FDUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDUVFCS0JFQkJBQ0VDQTBBZ0FFSFlBbW9nQWtFQ2RHb29BZ0FoQkFKQUFrQUNRQ0FBS0FMZ0FVVU5BQ0FBS0FLY0F3MEJJQUFvQXFRRFJRMEFEQUlMSUFOQlBHb2dCQ2dDRkVFQ2RHb29BZ0FpQlVJQU53QUFJQVZDQURjQUNDQUZRZ0EzQUJBZ0JVSUFOd0FZSUFWQ0FEY0FJQ0FGUWdBM0FDZ2dCVUlBTndBd0lBVkNBRGNBT0NBRFFSaHFJQUpCQW5ScVFRQTJBZ0FnQTBFb2FpQUNRUUowYWtFQU5nSUFJQUFvQXVBQkJFQWdBQ2dDbkFNTkFRVWdBQ2dDdEFNTkFRc01BUXNnQTBIOEFHb2dCQ2dDR0VFQ2RHb29BZ0JCQUVHQUFoQkZHZ3NnQWtFQmFpSUNJQUFvQXRRQ1NBMEFDd3NnQTBFQU5nSU1JQU5CQURZQ0VDQURRWEEyQWhRZ0F5QUFLQUtZQWlJQ05nSTRDeUFESUFKQmYybzJBamdMSUFNb0FoUkJmMFlFUUVFQkR3c2dBQ2dDOEFKQkFFd0VRRUVCRHd0QkFDRUZBa0FDUUFOQUFrQWdCVUVDZENBQmFpZ0NBQ0VNSUFBZ0EwRThhaUFBUWRnQ2FpQUFRZlFDYWlBRlFRSjBhaWdDQUNJSFFRSjBhaWdDQUNnQ0ZDSUlRUUowYWlJR0tBSUFJQU5CS0dvZ0IwRUNkR29pQ1NnQ0FHb2lBaEJkQkVBZ0FDQUFJQUpCQVdvUVhTSUtJQUpCQW1wcUlnUVFYU0lDQkVBZ0FDQUdLQUlBUVJScUlnUVFYUVJBQTBBZ0FrRUJkQ0lDUVlDQUFrWU5CQ0FBSUFSQkFXb2lCQkJkRFFBTEN3VkJBQ0VDQ3lBSklBSkJBU0FJSUFCQjZBRnFhaTBBQUhSQkFYVklCSDlCQUFVZ0NrRUNkQ0VHSUFKQkFTQUlJQUJCK0FGcWFpMEFBSFJCQVhWS0JIOGdCa0VNYWdVZ0JrRUVhZ3NMTmdJQUlBUkJEbW9oQmlBQ1FRRjFJZ1FFUUFOQUlBSWdCRUVBSUFBZ0JoQmRHM0loQWlBRVFRRjFJZ1FOQUFzTElBTkJHR29nQjBFQ2RHb2lCQ2dDQUNBQ1FYOXpJQUpCQVdvZ0NodHFJUUlnQkNBQ05nSUFCU0FKUVFBMkFnQWdBMEVZYWlBSFFRSjBhaWdDQUNFQ0N5QU1JQUlnQUNnQ3FBTjBPd0VBSUFWQkFXb2lBaUFBS0FMd0FrNE5BaUFDSVFVTUFRc0xEQUVMUVFFUEN5QUFLQUlBSWdGQjlRQTJBaFFnQVNnQ0JDRUJJQUJCZnlBQlFUOXhRYklGYWhFREFDQURRWDgyQWhSQkFRdktDUUVKZnlBQUtBTFVBeUVDSUFBb0Fwd0RJZ1pGSVFNZ0FDZ0M0QUVFUUNBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQVpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUdOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBRUhVQW1vaUJpZ0NBQ0lCUVFCS0JFQWdBRUdrQTJvaEJVRUFJUU1EUUNBQVFkZ0NhaUFEUVFKMGFpZ0NBQ2dDQkNFSUlBQW9BcUFCSVFrZ0FDZ0NuQU1pQVFSQUlBaEJDSFFnQ1dvb0FnQkJBRWdFUUNBQUtBSUFJZ0ZCOWdBMkFoUWdBU0FJTmdJWUlBQW9BZ0JCQURZQ0hDQUFLQUlBS0FJRUlRRWdBRUYvSUFGQlAzRkJzZ1ZxRVFNQUlBQW9BcHdESVFFTEJVRUFJUUVMSUFFZ0FDZ0NvQU5NQkVBRFFDQUZLQUlBSUFoQkNIUWdDV29nQVVFQ2RHb2lCQ2dDQUNJSFFRQWdCMEVBU2h0SEJFQWdBQ2dDQUNJSFFmWUFOZ0lVSUFjZ0NEWUNHQ0FBS0FJQUlBRTJBaHdnQUNnQ0FDZ0NCQ0VISUFCQmZ5QUhRVDl4UWJJRmFoRURBQXNnQkNBQUtBS29BellDQUNBQlFRRnFJUVFnQVNBQUtBS2dBMGdFUUNBRUlRRU1BUXNMQ3lBRFFRRnFJZ01nQmlnQ0FDSUJTQTBBQ3dVZ0FFR2tBMm9oQlFzZ0FDZ0NuQU5GSVFNZ0JTZ0NBQVJBSUFNRVFDQUNRUzAyQWdRRklBSkJMallDQkFzRklBTUVRQ0FDUVNzMkFnUUZJQUpCTERZQ0JBc0xCUUpBQWtBZ0EwVU5BQ0FBS0FLa0F3MEFJQUFvQXFnRERRQWdBQ2dDb0FNaUFVSEFBRWdFUUNBQUtBSzBBeUFCUncwQkN3d0JDeUFBS0FJQUlnRkIvUUEyQWhRZ0FTZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQXNnQWtFdk5nSUVJQUJCMUFKcUlnRWhCaUFCS0FJQUlRRUxJQUZCQUV3RVFDQUNRUUEyQWd3Z0FrRUFOZ0lRSUFKQmNEWUNGQ0FDSUFBb0FwZ0NOZ0k0RHd0QkFDRURBMEFnQUVIWUFtb2dBMEVDZEdvb0FnQWhCQUpBQWtBQ1FDQUFLQUxnQVVVTkFDQUFLQUtjQXcwQklBQW9BcVFEUlEwQURBSUxJQVFvQWhRaUFVRVBTd1JBSUFBb0FnQWlCVUV5TmdJVUlBVWdBVFlDR0NBQUtBSUFLQUlBSVFVZ0FDQUZRZjhCY1VHc0Eyb1JBUUFMSUFKQlBHb2dBVUVDZEdvaUJTZ0NBQ0lCUlFSQUlBQW9BZ1FvQWdBaEFTQUZJQUJCQVVIQUFDQUJRVDl4UWNvQmFoRUVBQ0lCTmdJQUN5QUJRZ0EzQUFBZ0FVSUFOd0FJSUFGQ0FEY0FFQ0FCUWdBM0FCZ2dBVUlBTndBZ0lBRkNBRGNBS0NBQlFnQTNBREFnQVVJQU53QTRJQUpCR0dvZ0EwRUNkR3BCQURZQ0FDQUNRU2hxSUFOQkFuUnFRUUEyQWdBZ0FDZ0M0QUVFUUNBQUtBS2NBdzBCQlNBQUtBSzBBdzBCQ3d3QkN5QUVLQUlZSWdGQkQwc0VRQ0FBS0FJQUlnUkJNallDRkNBRUlBRTJBaGdnQUNnQ0FDZ0NBQ0VFSUFBZ0JFSC9BWEZCckFOcUVRRUFDeUFDUWZ3QWFpQUJRUUowYWlJRUtBSUFJZ0ZGQkVBZ0FDZ0NCQ2dDQUNFQklBUWdBRUVCUVlBQ0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWdBTElBRkJBRUdBQWhCRkdnc2dBMEVCYWlJRElBWW9BZ0JJRFFBTElBSkJBRFlDRENBQ1FRQTJBaEFnQWtGd05nSVVJQUlnQUNnQ21BSTJBamdMbWd3Qk1uOGpCaUVISXdaQmdBRnFKQVlnQUNnQ3hBTWhGeUFBS0FMTUFpRXhJQUFvQXBBQklnUWdBQ2dDbUFFaUJVd0VRQUpBQTBBQ1FDQUFLQUxNQXlJQ0tBSVVEUUlnQkNBRlJnUkFJQUFvQXBRQklBQW9BcHdCSUFBb0Fwd0RSV3BMRFFNTElBQWdBaWdDQUVIL0FIRkJDR29SQUFCRkRRQWdBQ2dDa0FFaUJDQUFLQUtZQVNJRlRBMEJEQUlMQ3lBSEpBWkJBQThMQ3lBeFFYOXFJU29nQUNnQ0pFRUFTZ1IvSUFCQm5BRnFJUndnQUNnQzJBRWhDZ04vSUFvb0FqUUVRQ0FjS0FJQUlnZ2dLa2tFZnlBS0tBSU1JaEZCQVhRaEJTQVJJUVJCQUFVZ0NpZ0NJQ0FLS0FJTUlnUVFUaUlGSUFRZ0JSc2lFU0VGUVFFTElRa2dDQVIvSUFBZ0YwSElBR29nRFVFQ2RHb29BZ0FnQkNBSVFYOXFiQ0FFSUFWcVFRQWdBQ2dDQkNnQ0lFRWZjVUdpQW1vUkNBQWdDaWdDREVFQ2RHb2hGRUVBQlNBQUlCZEJ5QUJxSUExQkFuUnFLQUlBUVFBZ0JVRUFJQUFvQWdRb0FpQkJIM0ZCb2dKcUVRZ0FJUlJCQVFzaEVpQVhLQUp3SUExQkJteEJBblJxSVJNZ0NpZ0NVQ0lFTHdFQUlRZ2dCQzhCQWlFRklBUXZBUkFoQWlBRUx3RWdJUTRnQkM4QkVpRVBJQVF2QVFRaEJDQUFLQUxZQTBFRWFpQU5RUUowYWlnQ0FDRXJJQkZCQUVvRVFDQVNRUUJISVN3Z0NVRUFSeUV0SUJGQmYyb2hMaUFJUVNSc0lSMGdCVUVIZENFZUlBSkJCM1FoSHlBRlFRaDBJU0FnQ0VFSmJDRWhJQTVCQjNRaElpQUNRUWgwSVNNZ0NpRXZJQWhCQld3aE1DQVBRUWQwSVNRZ0RrRUlkQ0VsSUFSQkIzUWhKaUFQUVFoMElTY2dCRUVJZENFb1FRQWhEQ0FOUVFKMElBRnFLQUlBSVJnRFFDQU1RUUowSUJScUtBSUFJUUlnTENBTVJYRUVmeUFDQlNBTVFYOXFRUUowSUJScUtBSUFDeUVWSUFvb0FoeEJmMm9oS1NBdElBd2dMa1p4Qkg4Z0FnVWdERUVCYWtFQ2RDQVVhaWdDQUFzaUdTNEJBQ0lHSVFRZ0FpNEJBQ0lKSVFVZ0ZTNEJBQ0lRSVFoQkFDRWFJQUloRmtFQUlSc0RRQ0FISUJaQmdBRVFUQm9nR2lBcFNRUi9JQmt1QVlBQklRNGdGUzRCZ0FFaER5QVdMZ0dBQVFVZ0JDRU9JQWdoRHlBRkN5RVNJQWN1QVFKRklCTW9BZ1FpQWtFQVIzRUVRQ0FISUIwZ0NTQVNhMndpQTBGL1NnUi9JQU1nSG1vZ0lCQTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNoc0ZRUUFnSGlBRGF5QWdFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHMnNMT3dFQ0N5QUhMZ0VRUlNBVEtBSUlJZ0pCQUVkeEJFQWdCeUFkSUFnZ0JHdHNJZ05CZjBvRWZ5QURJQjlxSUNNUU9TSURRUUVnQW5RaUMwRi9haUFESUF0SUd5QURJQUpCQUVvYkJVRUFJQjhnQTJzZ0l4QTVJZ05CQVNBQ2RDSUxRWDlxSUFNZ0MwZ2JJQU1nQWtFQVNodHJDenNCRUFzZ0J5NEJJRVVnRXlnQ0RDSUNRUUJIY1FSQUlBY2dJU0FFSUFnZ0JVRUJkR3RxYkNJRFFYOUtCSDhnQXlBaWFpQWxFRGtpQTBFQklBSjBJZ3RCZjJvZ0F5QUxTQnNnQXlBQ1FRQktHd1ZCQUNBaUlBTnJJQ1VRT1NJRFFRRWdBblFpQzBGL2FpQURJQXRJR3lBRElBSkJBRW9iYXdzN0FTQUxJQWN1QVJKRklCTW9BaEFpQWtFQVIzRUVRQ0FISURBZ0RpQVFJQVpySUE5cmFtd2lCa0YvU2dSL0lBWWdKR29nSnhBNUlnWkJBU0FDZENJUVFYOXFJQVlnRUVnYklBWWdBa0VBU2hzRlFRQWdKQ0FHYXlBbkVEa2lCa0VCSUFKMEloQkJmMm9nQmlBUVNCc2dCaUFDUVFCS0cyc0xPd0VTQ3lBSExnRUVSU0FUS0FJVUlnSkJBRWR4QkVBZ0J5QWhJQklnQ1NBRlFRRjBhMnBzSWdsQmYwb0VmeUFKSUNacUlDZ1FPU0lKUVFFZ0FuUWlCa0YvYWlBSklBWklHeUFKSUFKQkFFb2JCVUVBSUNZZ0NXc2dLQkE1SWdsQkFTQUNkQ0lHUVg5cUlBa2dCa2diSUFrZ0FrRUFTaHRyQ3pzQkJBc2dBQ0FLSUFjZ0dDQWJJQ3RCUDNGQm1nWnFFUVVBSUJaQmdBRnFJUllnRlVHQUFXb2hGU0FaUVlBQmFpRVpJQnNnTHlnQ0pHb2hHeUFhUVFGcUlob2dLVTBFUUNBSUlUSWdCU0VKSUFRaEJpQU9JUVFnRWlFRklBOGhDQ0F5SVJBTUFRc0xJQW9vQWloQkFuUWdHR29oR0NBTVFRRnFJZ3dnRVVjTkFBc0xDeUFLUWRnQWFpRUtJQTFCQVdvaURTQUFLQUlrU0EwQUlCd0xCU0FBUVp3QmFnc2lBU0FCS0FJQVFRRnFJZ0UyQWdCQkEwRUVJQUVnQUNnQ3pBSkpHeUV6SUFja0JpQXpDNVVHQVJWL0lBQW9BdWdDUVg5cUlRb2dBQ2dDekFJaUFrRi9haUVUSUFBb0FzUURJZ1lvQWhnaUNDQUdLQUljSWdOSUJFQUNRQ0FHUVNCcUlRMGdBRUdVQVdvaERpQURJUUlnQmlnQ0ZDRUhBa0FDUUFOQUFrQWdCeUFLVFFSQUEwQWdBQ2dDdEFNRVFDQU5LQUlBUVFBZ0FDZ0M4QUpCQjNRUVJSb0xJQUFvQXRRREtBSUVJUUlnQUNBTklBSkJQM0ZCaWdGcUVRSUFSUTBDSUFBb0F0UUNJZ0pCQUVvRVFDQUhJQXBKSVJSQkFDRURRUUFoQ3dOQUlBQkIyQUpxSUF0QkFuUnFLQUlBSWdRb0FqUUVRQUpBSUFBb0F0Z0RRUVJxSUFRb0FnUWlCVUVDZEdvb0FnQWhGU0FFUVRocUlnOGdCRUhJQUdvZ0ZCc29BZ0FoRUNBRUtBSW9JUkVnQnlBRUtBSkViQ0VXSUFRb0Fqd2lFa0VBU2dSQUlCQkJBRXdFUUNBUEtBSUFJUWxCQUNFRkEwQWdBeUFKYWlFRElBVkJBV29pQlNBU1NBMEFDd3dDQ3lBRlFRSjBJQUZxS0FJQUlBZ2dFV3hCQW5ScUlRbEJBQ0VNSUFNaEJTQVNJUUlnRVNFREEwQUNRQUpBSUE0b0FnQWdFMGtOQUNBSUlBeHFJQVFvQWt4SURRQU1BUXNnRmlFQ1FRQWhBd05BSUFBZ0JDQUdRU0JxSUFNZ0JXcEJBblJxS0FJQUlBa2dBaUFWUVQ5eFFab0dhaEVGQUNBQ0lBUW9BaVJxSVFJZ0EwRUJhaUlESUJCSERRQUxJQVFvQWlnaEF5QUVLQUk4SVFJTElBVWdEeWdDQUdvaEJTQURRUUowSUFscUlRa2dERUVCYWlJTUlBSklEUUFMSUFVaEF5QUFLQUxVQWlFQ0N3c0ZJQU1nQkVGQWF5Z0NBR29oQXdzZ0MwRUJhaUlMSUFKSURRQUxDeUFIUVFGcUlnY2dDazBOQUFzZ0JpZ0NIQ0VDQ3lBR1FRQTJBaFFnQ0VFQmFpSUlJQUpPRFFKQkFDRUhEQUVMQ3d3QkN5QU9JUUVnQUNnQ3pBSWhBZ3dCQ3lBR0lBZzJBaGdnQmlBSE5nSVVRUUFQQ3dVZ0FFR1VBV29oQVFzZ0FDQUFLQUtjQVVFQmFqWUNuQUVnQVNBQktBSUFRUUZxSWdNMkFnQWdBeUFDVHdSQUlBQW9Bc3dES0FJTUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFCQkJBOExJQUFvQXNRRElnRWdBQ2dDMUFKQkFVb0VmMEVCQlNBQUtBTFlBaUlBUVF4cUlBQkJ6QUJxSUFNZ0FrRi9ha2tiS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWVFRTUxvUUVCQkg4RFFBSkFBa0FDUUNBQUlBRnFMQUFBSWdNRVFDQURRUzVHQkVBTUFnVU1Bd3NBQ3d3Q0N5QUJJUUlMSUFGQkFXb2hBUXdCQ3dzZ0FDQUJhaUVEUVp5NEFSQmdRUUpxSVFRQ2Z3SkFJQUlFZnlBQ0lBUnFRWUFDU2dSL1FYOEZEQUlMQlNBQklBUnFRWUFDU2dSL1FYOEZJQU5CTGpvQUFDQUJJUUlNQWdzTERBRUxJQUFnQWtFQmFtcEJBRG9BQUNBQUVHQWdBR29RZ1FWQkFBc2FDOW9EQVE5L0lBQW9Bc1FESVFzZ0FDZ0N6QUpCZjJvaERBSkFBa0FEUUFKQUlBQW9BcEFCSWdJZ0FDZ0NtQUVpQTA0RVFDQUNJQU5IRFFFZ0FDZ0NsQUVnQUNnQ25BRkxEUUVMSUFBb0Fzd0RLQUlBSVFJZ0FDQUNRZjhBY1VFSWFoRUFBQTBCREFJTEN3d0JDMEVBRHdzZ0FDZ0NKRUVBU2dSQUlBQW9BdGdCSVFJRFFDQUNLQUkwQkVBZ0FDZ0NCQ2dDSUNFRElBQWdDMEhJQUdvZ0JFRUNkR29vQWdBZ0FpZ0NEQ0lGSUFBb0Fwd0JiQ0FGUVFBZ0EwRWZjVUdpQW1vUkNBQWhEU0FBS0FLY0FTQU1TUVIvSUFJb0Fnd0ZJQUlvQWlBZ0FpZ0NEQ0lGRUU0aEF5QURJQVVnQXhzTElRa2dBQ2dDMkFOQkJHb2dCRUVDZEdvb0FnQWhEaUFKUVFCS0JFQWdCRUVDZENBQmFpZ0NBQ0VHUVFBaEJ5QUNJZ1VpRHlnQ0hDRURBMEFnQXdSL1FRQWhBeUFIUVFKMElBMXFLQUlBSVFoQkFDRUtBMzhnQUNBQ0lBZ2dCaUFESUE1QlAzRkJtZ1pxRVFVQUlBaEJnQUZxSVFnZ0F5QVBLQUlrYWlFRElBcEJBV29pQ2lBQ0tBSWNJaEJKRFFBZ0VBc0ZRUUFMSVFNZ0JTZ0NLRUVDZENBR2FpRUdJQWRCQVdvaUJ5QUpSdzBBQ3dzTElBSkIyQUJxSVFJZ0JFRUJhaUlFSUFBb0FpUklEUUFMQ3lBQUlBQW9BcHdCUVFGcUlnRTJBcHdCUVFOQkJDQUJJQUFvQXN3Q1NSc0xuUVVCRTM4akJpRVRJd1pCRUdva0JpQVRJUVlnQUNnQ3hBTWhCQ0FBS0FMVUFrRUFTZ1JBUVFBaEFRTkFJQUFvQWdRb0FpQWhCU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSURLQUlNSVFJZ0FVRUNkQ0FHYWlBQUlBUkJ5QUJxSUFNb0FnUkJBblJxS0FJQUlBQW9BcFFCSUFKc0lBSkJBU0FGUVI5eFFhSUNhaEVJQURZQ0FDQUJRUUZxSWdFZ0FDZ0MxQUpJRFFBTEN5QUVLQUlZSWdVZ0JDZ0NIQ0lCU0FSQUFrQWdCRUVnYWlFTUlBUW9BaFFoQXlBQUtBTG9BaUVDQTBBQ1FDQURJQUpKQkVBZ0F5RUNBMEFnQUNnQzFBSWlEVUVBU2dSQVFRQWhBVUVBSVFjRFFDQUNJQUJCMkFKcUlBZEJBblJxS0FJQUlnTW9BamdpQ0d3aERpQURLQUk4SWc5QkFFb0VRQ0FIUVFKMElBWnFLQUlBSVJBZ0NFRUFTZ1JBUVFBaENRTkFRUUFoQ3lBRklBbHFRUUowSUJCcUtBSUFJQTVCQjNScUlRb2dBU0VEQTBBZ0NrR0FBV29oRVNBRFFRRnFJUklnQkVFZ2FpQURRUUowYWlBS05nSUFJQXRCQVdvaUN5QUlSd1JBSUJFaENpQVNJUU1NQVFzTElBRWdDR29oQVNBSlFRRnFJZ2tnRDBnTkFBc0xDeUFIUVFGcUlnY2dEVWdOQUFzTElBQW9BdFFES0FJRUlRRWdBQ0FNSUFGQlAzRkJpZ0ZxRVFJQVJRMENJQUpCQVdvaUFpQUFLQUxvQWlJQlNRMEFDeUFCSVFJZ0JDZ0NIQ0VCQ3lBRVFRQTJBaFFnQlVFQmFpSUZJQUZPRFFKQkFDRUREQUVMQ3lBRUlBVTJBaGdnQkNBQ05nSVVJQVlrQmtFQUR3c0xJQUFnQUNnQ2xBRkJBV29pQWpZQ2xBRWdBaUFBS0FMTUFpSUZUd1JBSUFBb0Fzd0RLQUlNSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQmlRR1FRUVBDeUFBS0FMRUF5SUJJQUFvQXRRQ1FRRktCSDlCQVFVZ0FDZ0MyQUlpQUVFTWFpQUFRY3dBYWlBQ0lBVkJmMnBKR3lnQ0FBczJBaHdnQVVFQU5nSVVJQUZCQURZQ0dDQUdKQVpCQXd1bEF3RUxmeUFBS0FMRUF5SUJLQUlRUlFSQUlBQkJBRFlDbkFFUEN5QUJBbjhDUUNBQUtBSlFSUTBBSUFBb0F1QUJSUTBBSUFBb0FxQUJSUTBBSUFFb0FuQWlBZ1JBSUFCQkpHb2hCZ1VnQUNnQ0JDZ0NBQ0VDSUFFZ0FFRUJJQUJCSkdvaUJpZ0NBRUVZYkNBQ1FUOXhRY29CYWhFRUFDSUNOZ0p3Q3lBR0tBSUFRUUJNRFFBZ0FDZ0MyQUVoQ0FOQUlBZ29BbEFpQVVVTkFTQUJMZ0VBUlEwQklBRXVBUUpGRFFFZ0FTNEJFRVVOQVNBQkxnRWdSUTBCSUFFdUFSSkZEUUVnQVM0QkJFVU5BU0FBS0FLZ0FTSUJJQVJCQ0hScUtBSUFRUUJJRFFFZ0FpQUVRUWgwSUFGcUlnTW9BZ1EyQWdRZ0F5Z0NCQ0VKSUFJZ0JFRUlkQ0FCYWlJRktBSUlOZ0lJSUFrZ0JTZ0NDSEloQ2lBQ0lBUkJDSFFnQVdvaUJTZ0NERFlDRENBS0lBVW9BZ3h5SVFzZ0FpQUVRUWgwSUFGcUlnVW9BaEEyQWhBZ0N5QUZLQUlRY2lFRElBSWdCRUVJZENBQmFpSUJLQUlVTmdJVVFRRWdCeUFESUFFb0FoUnlHeUVISUFKQkdHb2hBaUFJUWRnQWFpRUlJQVJCQVdvaUJDQUdLQUlBU0EwQUN5QUhSUTBBUVNvTUFRdEJLQXMyQWd3Z0FFRUFOZ0tjQVF0U0FRSi9JQUJCQURZQ2xBRWdBQ2dDeEFNaUFTQUFLQUxVQWtFQlNnUi9RUUVGSUFBb0F0Z0NJZ0pCekFCcUlBSkJER29nQUNnQ3pBSkJBVVliS0FJQUN6WUNIQ0FCUVFBMkFoUWdBVUVBTmdJWUM2d0RBUVYvSUFBb0FnUW9BZ0FoQXlBQUlBQkJBVUgwQUNBRFFUOXhRY29CYWhFRUFDSUNOZ0xFQXlBQ1FmMEFOZ0lBSUFKQi9nQTJBZ2dnQWtFQU5nSndJQUZGQkVBZ0FDZ0NCQ2dDQkNFQklBSWdBRUVCUVlBS0lBRkJQM0ZCeWdGcUVRUUFJZ0UyQWlBZ0FpQUJRWUFCYWpZQ0pDQUNJQUZCZ0FKcU5nSW9JQUlnQVVHQUEybzJBaXdnQWlBQlFZQUVhallDTUNBQ0lBRkJnQVZxTmdJMElBSWdBVUdBQm1vMkFqZ2dBaUFCUVlBSGFqWUNQQ0FDUVVCcklBRkJnQWhxTmdJQUlBSWdBVUdBQ1dvMkFrUWdBQ2dDdEFORkJFQWdBVUVBUVlBS0VFVWFDeUFDUWRZQU5nSUVJQUpCS1RZQ0RDQUNRUUEyQWhBUEN5QUFLQUlrUVFCS0JFQWdBa0hJQUdvaEJFRUFJUU1nQUNnQzJBRWhBUU5BSUFFb0Fnd2lCU0FGUVFOc0lBQW9BdUFCUlJzaEJTQUFLQUlFS0FJVUlRWWdBMEVDZENBRWFpQUFRUUZCQVNBQktBSWNJQUVvQWdnUStBRWdBU2dDSUNBQktBSU1FUGdCSUFVZ0JrRS9jVUhHQW1vUkNnQTJBZ0FnQVVIWUFHb2hBU0FEUVFGcUlnTWdBQ2dDSkVnTkFBc0ZJQUpCeUFCcUlRUUxJQUpCMVFBMkFnUWdBa0VvTmdJTUlBSWdCRFlDRUF1aEFnRUNmeUFBS0FJRUtBSUFJUUVnQUNBQVFRRkJ3QUVnQVVFL2NVSEtBV29SQkFBaUFqWUMxQU1nQWtIN0FEWUNBQ0FDUWZ3QU5nSUlJQUpCUEdvaUFVSUFOd0lBSUFGQ0FEY0NDQ0FCUWdBM0FoQWdBVUlBTndJWUlBRkNBRGNDSUNBQlFnQTNBaWdnQVVJQU53SXdJQUZDQURjQ09DQUJRVUJyUWdBM0FnQWdBVUlBTndKSUlBRkNBRGNDVUNBQlFnQTNBbGdnQVVJQU53SmdJQUZDQURjQ2FDQUJRZ0EzQW5BZ0FVSUFOd0o0SUFKQjhRQTZBTHdCSUFBb0F1QUJSUVJBRHdzZ0FDZ0NCQ2dDQUNFQklBQWdBRUVCSUFBb0FpUkJDSFFnQVVFL2NVSEtBV29SQkFBaUFqWUNvQUVnQUNnQ0pFRUFUQVJBRHd0QkFDRUJBMEFnQWlBQlFRaDBha0YvUVlBQ0VFVWFJQUZCQVdvaUFTQUFLQUlrU0EwQUN3c3FBUUYvSUFBb0F0UURLQUlJSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFnQUNnQ3pBTkIxQUEyQWdBTFlnRUJmeUFBS0FMTUF5SUJRZFFBTmdJQUlBRkJBRFlDRUNBQlFRQTJBaFFnQVVFQk5nSVlJQUFvQWdBb0FoQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFDQUFLQUxRQXlnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQkJBRFlDb0FFTFl3RUJmeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUJJQUVRWUVFQmFoQ0FCU0lDUlFSQUlBQkJBRG9BQUF3QkN5QUNRUUZxSUFGcklnSkJBV3BCZ0JCTEJFQkJBQ0VBQlNBQUlBRWdBaERWQVNBQUlBSnFRUUE2QUFBTEN3VkJBQ0VBQ3lBQUM2VVBBUWwvSUFBb0Fzd0RJZ1FvQWhRRVFFRUNEd3NDUUFKQUFrQURRQUpBSUFBb0F0QURLQUlFSVFFQ1FDQUFJQUZCL3dCeFFRaHFFUUFBSWdGQkFXc09BZ0FFQlFzQ1FBSkFBa0FDUUFKQUlBUW9BaGdPQWdBQkFnc2dCQ2dDRUVVRVFDQUFLQUlBSWdGQkpEWUNGQ0FCS0FJQUlRRWdBQ0FCUWY4QmNVR3NBMm9SQVFBTElBQW9BdFFDRFFZTUF3c0NRQUpBSUFBb0FpQkIzUDhEU2cwQUlBQW9BaHhCM1A4RFNnMEFEQUVMSUFBb0FnQWlBVUVxTmdJVUlBRkIzUDhETmdJWUlBQW9BZ0FvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUFzZ0FDZ0MxQUVpQVVGNGFrRUVTd1JBSUFBb0FnQWlBa0VRTmdJVUlBSWdBVFlDR0NBQUtBSUFLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMSUFBb0FpUWlBVUVLU2dSQUlBQW9BZ0FpQWtFYk5nSVVJQUlnQVRZQ0dDQUFLQUlBUVFvMkFod2dBQ2dDQUNnQ0FDRUJJQUFnQVVIL0FYRkJyQU5xRVFFQUlBQW9BaVFoQVFzZ0FFRUJOZ0s4QWlBQVFRRTJBc0FDSUFGQkFFb0VRRUVBSVFjZ0FDZ0MyQUVoQWtFQklRTkJBU0VGQTBBQ2Z3SkFJQUlpQ0NnQ0NDSUdRWDlxUVFOTERRQWdBaWdDRENJSlFYOXFRUU5MRFFBZ0NRd0JDeUFBS0FJQUlnRkJFellDRkNBQktBSUFJUUVnQUNBQlFmOEJjVUdzQTJvUkFRQWdBQ2dDdkFJaEJTQUlLQUlJSVFZZ0FDZ0N3QUloQXlBQUtBSWtJUUVnQWlnQ0RBc2hBaUFBSUFVZ0JpQUZJQVpLR3lJRk5nSzhBaUFBSUFNZ0FpQURJQUpLR3lJRE5nTEFBaUFJUWRnQWFpRUNJQWRCQVdvaUJ5QUJTQTBBQ3dzZ0FBSi9Ba0FnQUNnQzNBRU5BQUovSUFBb0F1QUJCRUFnQUNnQzFBSU5BZ3NDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUFvQXFBRERvQUNBQkFRQVJBUUVCQUNFQkFRRUJBUUF4QVFFQkFRRUJBUUJCQVFFQkFRRUJBUUVCQUZFQkFRRUJBUUVCQVFFQkFRQmhBUUVCQVFFQkFRRUJBUUVCQVFCeEFRRUJBUUVCQVFFQkFRRUJBUUVCQUlFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFDUkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRQ2hBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQUxFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUURSQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQU9FQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRHhBTElBQkJBVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRUFOZ0swQTBFQkRCQUxJQUJCQWpZQ3JBTWdBRUhBSlRZQ3NBTWdBRUVETmdLMEEwRUNEQThMSUFCQkF6WUNyQU1nQUVIUUpEWUNzQU1nQUVFSU5nSzBBMEVEREE0TElBQkJCRFlDckFNZ0FFSFFJellDc0FNZ0FFRVBOZ0swQTBFRURBMExJQUJCQlRZQ3JBTWdBRUdnSWpZQ3NBTWdBRUVZTmdLMEEwRUZEQXdMSUFCQkJqWUNyQU1nQUVIUUlEWUNzQU1nQUVFak5nSzBBMEVHREFzTElBQkJCellDckFNZ0FFSEFIallDc0FNZ0FFRXdOZ0swQTBFSERBb0xJQUJCQ0RZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUlEQWtMSUFCQkNUWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVKREFnTElBQkJDallDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFS0RBY0xJQUJCQ3pZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRUxEQVlMSUFCQkREWUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVNREFVTElBQkJEVFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFTkRBUUxJQUJCRGpZQ3JBTWdBRUdBSERZQ3NBTWdBRUUvTmdLMEEwRU9EQU1MSUFCQkR6WUNyQU1nQUVHQUhEWUNzQU1nQUVFL05nSzBBMEVQREFJTElBQkJFRFlDckFNZ0FFR0FIRFlDc0FNZ0FFRS9OZ0swQTBFUURBRUxJQUFvQWdBaUFVRVJOZ0lVSUFFZ0FDZ0NuQU0yQWhnZ0FDZ0NBQ0FBS0FLZ0F6WUNIQ0FBS0FJQUlBQW9BcVFETmdJZ0lBQW9BZ0FnQUNnQ3FBTTJBaVFnQUNnQ0FDZ0NBQ0VCSUFBZ0FVSC9BWEZCckFOcUVRRUFJQUFvQWlRaEFTQUFLQUtzQXdzTUFRc2dBRUVJTmdLc0F5QUFRWUFjTmdLd0F5QUFRVDgyQXJRRFFRZ0xJZ0kyQXNRQ0lBQWdBallDeUFJZ0FVRUFTZ1JBUVFBaEFTQUFLQUxZQVNFREEwQWdBeUFDTmdJa0lBTWdBallDS0NBRElBQW9BaHdnQXlnQ0NHd2dBaUFBS0FLOEFtd1FhRFlDSENBRElBQW9BaUFnQXlnQ0RHd2dBQ2dDd0FJZ0FDZ0NyQU5zRUdnMkFpQWdBeUFBS0FJY0lBTW9BZ2hzSUFBb0Fyd0NFR2cyQWl3Z0F5QUFLQUlnSUFNb0FneHNJQUFvQXNBQ0VHZzJBakFnQTBFQk5nSTBJQU5CQURZQ1VDQUJRUUZxSWdFZ0FDZ0NKRWdFUUNBRFFkZ0FhaUVESUFBb0Fxd0RJUUlNQVFzTElBQW9BcXdESVFJTElBQWdBQ2dDSUNBQUtBTEFBaUFDYkJCb05nTE1BaUFBS0FMVUFpSUJJQUFvQWlST0JFQWdBQ2dDNEFGRkJFQWdBQ2dDekFOQkFEWUNFQXdEQ3dzZ0FDZ0N6QU5CQVRZQ0VBd0JDeUFBS0FMVUFpRUJDeUFCRFFFZ0JFRUNOZ0lZQ3d3QkN3c2dCRUVBTmdJWVFRRVBDeUFBRUtjRFFRRVBDeUFFUVFFMkFoUWdCQ2dDR0FSQUlBQW9BdEFES0FJUVJRUkFRUUlQQ3lBQUtBSUFJZ0ZCUGpZQ0ZDQUJLQUlBSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFGSUFBb0FwZ0JJQUFvQXBBQklnRk1CRUJCQWc4TElBQWdBVFlDbUFFTFFRSVBDeUFCQzEwQkFYOGdBQ2dDQkNnQ0FDRUJJQUFnQUVFQVFSd2dBVUUvY1VIS0FXb1JCQUFpQURZQ3pBTWdBRUhVQURZQ0FDQUFRZmdBTmdJRUlBQkIrUUEyQWdnZ0FFSDZBRFlDRENBQVFRQTJBaEFnQUVFQU5nSVVJQUJCQVRZQ0dBdi9CUUVFZnlBQUlBQW9BcXdESWdJZ0FDZ0NNR3dpQVNBQUtBSTBJZ05MQkg4Q2Z5QUJJQU5CQVhSTkJFQWdBQ0FBS0FJY1FRRjBJQUlRYURZQ2NFRUNJUUVnQUNnQ0lFRUJkQXdCQ3lBQklBTkJBMnhOQkVBZ0FDQUFLQUljUVFOc0lBSVFhRFlDY0VFRElRRWdBQ2dDSUVFRGJBd0JDeUFCSUFOQkFuUk5CRUFnQUNBQUtBSWNRUUowSUFJUWFEWUNjRUVFSVFFZ0FDZ0NJRUVDZEF3QkN5QUJJQU5CQld4TkJFQWdBQ0FBS0FJY1FRVnNJQUlRYURZQ2NFRUZJUUVnQUNnQ0lFRUZiQXdCQ3lBQklBTkJCbXhOQkVBZ0FDQUFLQUljUVFac0lBSVFhRFlDY0VFR0lRRWdBQ2dDSUVFR2JBd0JDeUFCSUFOQkIyeE5CRUFnQUNBQUtBSWNRUWRzSUFJUWFEWUNjRUVISVFFZ0FDZ0NJRUVIYkF3QkN5QUJJQU5CQTNSTkJFQWdBQ0FBS0FJY1FRTjBJQUlRYURZQ2NFRUlJUUVnQUNnQ0lFRURkQXdCQ3lBQklBTkJDV3hOQkVBZ0FDQUFLQUljUVFsc0lBSVFhRFlDY0VFSklRRWdBQ2dDSUVFSmJBd0JDeUFCSUFOQkNteE5CRUFnQUNBQUtBSWNRUXBzSUFJUWFEWUNjRUVLSVFFZ0FDZ0NJRUVLYkF3QkN5QUJJQU5CQzJ4TkJFQWdBQ0FBS0FJY1FRdHNJQUlRYURZQ2NFRUxJUUVnQUNnQ0lFRUxiQXdCQ3lBQklBTkJER3hOQkVBZ0FDQUFLQUljUVF4c0lBSVFhRFlDY0VFTUlRRWdBQ2dDSUVFTWJBd0JDeUFCSUFOQkRXeE5CRUFnQUNBQUtBSWNRUTFzSUFJUWFEWUNjRUVOSVFFZ0FDZ0NJRUVOYkF3QkN5QUJJQU5CRG14TkJFQWdBQ0FBS0FJY1FRNXNJQUlRYURZQ2NFRU9JUUVnQUNnQ0lFRU9iQXdCQ3lBQUtBSWNJUVFnQVNBRFFROXNTd1IvSUFBZ0JFRUVkQ0FDRUdnMkFuQkJFQ0VCSUFBb0FpQkJCSFFGSUFBZ0JFRVBiQ0FDRUdnMkFuQkJEeUVCSUFBb0FpQkJEMndMQ3dVZ0FDQUFLQUljSUFJUWFEWUNjRUVCSVFFZ0FDZ0NJQXNnQUNnQ3JBTVFhRFlDZENBQUlBRTJBc1FDSUFBZ0FUWUN5QUlnQUNnQ0pDSURRUUJNQkVBUEMwRUFJUUlnQUNnQzJBRWhBQU5BSUFBZ0FUWUNKQ0FBSUFFMkFpZ2dBRUhZQUdvaEFDQUNRUUZxSWdJZ0EwZ05BQXNMdEFzQkQzOGpCaUVJSXdaQk1Hb2tCaUFBS0FMVUF5RUhJQUFvQXBnQ0JFQWdCeWdDTEVVRVFDQUhLQUlRUVFnUU9TRUNJQUFvQXRBRElnVWdBaUFGS0FJWWFqWUNHQ0FIUVFBMkFoQWdCU2dDQ0NFRklBQWdCVUgvQUhGQkNHb1JBQUJGQkVBZ0NDUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhCUU5BSUFkQkdHb2dCVUVDZEdwQkFEWUNBQ0FGUVFGcUlnVWdBQ2dDMUFKSURRQUxDeUFIUVFBMkFoUWdCeUFBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FIUVFBMkFpZ0xDd3NnQ0VFVWFpRUdJQWNvQWloRkJFQWdBQ2dDc0FNaER5QUFLQUswQXlFTklBWWdBRFlDRUNBR0lBQW9BaGdpQkNnQ0FDSUpOZ0lBSUFZZ0JDZ0NCQ0lETmdJRUlBY29BZ3doQlNBSEtBSVFJUUlnQ0NBSEtRSVVOd0lBSUFnZ0J5a0NIRGNDQ0NBSUlBY29BaVEyQWhBZ0FDZ0M4QUpCQUVvRVFBSkFRUUFoQ1FKQUEwQWdDVUVDZENBQmFpZ0NBQ0VLSUFkQjVBQnFJQWxCQW5ScUtBSUFJUVFDZndKQUlBSkJDRWdFUUNBR0lBVWdBa0VBRUdkRkRRUWdCaWdDQ0NFRklBWW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dCRUdRQVdvZ0JTQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDd1IvSUFNZ0JFR1FDV3BxTFFBQUlRUWdBaUFMYXdWQkNTRUREQUVMREFFTElBWWdCU0FDSUFRZ0F4Q2dBU0lFUVFCSURRSWdCaWdDQ0NFRklBWW9BZ3dMSVFJZ0IwR01BV29nQ1VFQ2RHb29BZ0FoQ3lBRVFRQkhJUU1DUUFKQUlBZEJ0QUZxSUFsQkFuUnFLQUlBSWc0RVFBSkFJQU1FZnlBQ0lBUklCRUFnQmlBRklBSWdCQkJuUlEwSElBWW9BZ2doQlNBR0tBSU1JUUlMSUFSQkFuUkI4REZxS0FJQUlnTWdCU0FDSUFScklnSjFjU0lNUVFBZ0F5QU1JQVJCQW5SQjdERnFLQUlBU2h0ckJVRUFDeUFJUVFScUlBQkI5QUpxSUFsQkFuUnFLQUlBUVFKMGFpSURLQUlBYWlFRUlBTWdCRFlDQUNBS0lBUTdBUUFnRGtFQlNnUkFRUUVoQkFOQUFuOENRQ0FDUVFoSUJFQWdCaUFGSUFKQkFCQm5SUTBLSUFZb0FnZ2hCU0FHS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUF0QmtBRnFJQVVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWd3RWZ5QURJQXRCa0FscWFpMEFBQ0VESUFJZ0RHc0ZRUWtoQXd3QkN3d0JDeUFHSUFVZ0FpQUxJQU1Rb0FFaUEwRUFTQTBJSUFZb0FnZ2hCU0FHS0FJTUN5RUNJQU5CQkhZaERDQURRUTl4SWdNRVFDQUNJQU5JQkVBZ0JpQUZJQUlnQXhCblJRMEpJQVlvQWdnaEJTQUdLQUlNSVFJTElBUWdER29pQkVFQ2RDQVBhaWdDQUVFQmRDQUthaUFEUVFKMFFmQXhhaWdDQUNJTUlBVWdBaUFEYXlJQ2RYRWlFRUVBSUF3Z0VDQURRUUowUWV3eGFpZ0NBRW9iYXpzQkFBVWdERUVQUncwRElBUkJEMm9oQkFzZ0JFRUJhaUlFSUE1SURRQUxEQU1GUVFFaEJBd0RDd0FMQlNBREJFQWdBaUFFU0FSQUlBWWdCU0FDSUFRUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQVJySVFJTFFRRWhCQXdCQ3d3QkN5QUVJQTFNQkVBRFFBSi9Ba0FnQWtFSVNBUkFJQVlnQlNBQ1FRQVFaMFVOQnlBR0tBSUlJUVVnQmlnQ0RDSUNRUWhJQkVCQkFTRUREQUlMQ3lBTFFaQUJhaUFGSUFKQmVHcDFRZjhCY1NJRFFRSjBhaWdDQUNJS0JIOGdBeUFMUVpBSmFtb3RBQUFoQXlBQ0lBcHJCVUVKSVFNTUFRc01BUXNnQmlBRklBSWdDeUFERUtBQklnTkJBRWdOQlNBR0tBSUlJUVVnQmlnQ0RBc2hBaUFEUVFSMklRb2dBMEVQY1NJREJFQWdBaUFEU0FSQUlBWWdCU0FDSUFNUVowVU5CaUFHS0FJSUlRVWdCaWdDRENFQ0N5QUNJQU5ySVFJRklBcEJEMGNOQTBFUElRb0xJQVJCQVdvZ0Ntb2lCQ0FOVEEwQUN3c0xJQWxCQVdvaUNTQUFLQUx3QWtnTkFBc2dBQ2dDR0NFQUlBWW9BZ0FoQVNBR0tBSUVJUVFNQVFzZ0NDUUdRUUFQQ3dVZ0JDRUFJQWtoQVNBRElRUUxJQUFnQVRZQ0FDQUFJQVEyQWdRZ0J5QUZOZ0lNSUFjZ0FqWUNFQ0FISUFncEFnQTNBaFFnQnlBSUtRSUlOd0ljSUFjZ0NDZ0NFRFlDSkFzZ0J5QUhLQUlzUVg5cU5nSXNJQWdrQmtFQkM2SUxBUTEvSXdZaENTTUdRVEJxSkFZZ0FDZ0MxQU1oQnlBQUtBS1lBZ1JBSUFjb0FpeEZCRUFnQnlnQ0VFRUlFRGtoQWlBQUtBTFFBeUlFSUFJZ0JDZ0NHR28yQWhnZ0IwRUFOZ0lRSUFRb0FnZ2hCQ0FBSUFSQi93QnhRUWhxRVFBQVJRUkFJQWtrQmtFQUR3c2dBQ2dDMUFKQkFFb0VRRUVBSVFRRFFDQUhRUmhxSUFSQkFuUnFRUUEyQWdBZ0JFRUJhaUlFSUFBb0F0UUNTQTBBQ3dzZ0IwRUFOZ0lVSUFjZ0FDZ0NtQUkyQWl3Z0FDZ0N1QU5GQkVBZ0IwRUFOZ0lvQ3dzTElBbEJGR29oQlNBSEtBSW9SUVJBSUFVZ0FEWUNFQ0FGSUFBb0FoZ2lCaWdDQUNJS05nSUFJQVVnQmlnQ0JDSUROZ0lFSUFjb0Fnd2hCQ0FIS0FJUUlRSWdDU0FIS1FJVU53SUFJQWtnQnlrQ0hEY0NDQ0FKSUFjb0FpUTJBaEFnQUNnQzhBSkJBRW9FUUFKQVFRQWhDZ0pBQTBBZ0NrRUNkQ0FCYWlnQ0FDRU5JQWRCNUFCcUlBcEJBblJxS0FJQUlRWUNmd0pBSUFKQkNFZ0VRQ0FGSUFRZ0FrRUFFR2RGRFFRZ0JTZ0NDQ0VFSUFVb0Fnd2lBa0VJU0FSQVFRRWhBd3dDQ3dzZ0JrR1FBV29nQkNBQ1FYaHFkVUgvQVhFaUEwRUNkR29vQWdBaUNBUi9JQU1nQmtHUUNXcHFMUUFBSVFZZ0FpQUlhd1ZCQ1NFRERBRUxEQUVMSUFVZ0JDQUNJQVlnQXhDZ0FTSUdRUUJJRFFJZ0JTZ0NDQ0VFSUFVb0Fnd0xJUUlnQjBHTUFXb2dDa0VDZEdvb0FnQWhDeUFHUVFCSElRTUNRQUpBSUFkQnRBRnFJQXBCQW5ScUtBSUFJZzRFUUFKQUlBTUVmeUFDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBISUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQVpCQW5SQjhERnFLQUlBSWdNZ0JDQUNJQVpySWdKMWNTSUlRUUFnQXlBSUlBWkJBblJCN0RGcUtBSUFTaHRyQlVFQUN5QUpRUVJxSUFCQjlBSnFJQXBCQW5ScUtBSUFRUUowYWlJREtBSUFhaUVHSUFNZ0JqWUNBQ0FOSUFZN0FRQWdEa0VCU2dSQVFRRWhCZ05BQW44Q1FDQUNRUWhJQkVBZ0JTQUVJQUpCQUJCblJRMEtJQVVvQWdnaEJDQUZLQUlNSWdKQkNFZ0VRRUVCSVFNTUFnc0xJQXRCa0FGcUlBUWdBa0Y0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2dFZnlBRElBdEJrQWxxYWkwQUFDRURJQUlnQ0dzRlFRa2hBd3dCQ3d3QkN5QUZJQVFnQWlBTElBTVFvQUVpQTBFQVNBMElJQVVvQWdnaEJDQUZLQUlNQ3lFQ0lBTkJCSFloRENBRFFROXhJZ2dFUUNBQ0lBaElCRUFnQlNBRUlBSWdDQkJuUlEwSklBVW9BZ2doQkNBRktBSU1JUUlMSUFZZ0RHb2lBMEVDZEVHQUhHb29BZ0JCQVhRZ0RXb2dDRUVDZEVId01Xb29BZ0FpQmlBRUlBSWdDR3NpQW5WeElneEJBQ0FHSUF3Z0NFRUNkRUhzTVdvb0FnQktHMnM3QVFBRklBeEJEMGNOQXlBR1FROXFJUU1MSUFOQkFXb2lCaUFPU0EwQUN5QURRVDlJRFFNRlFRRWhCZ3dEQ3dzRklBTUVRQ0FDSUFaSUJFQWdCU0FFSUFJZ0JoQm5SUTBHSUFVb0FnZ2hCQ0FGS0FJTUlRSUxJQUlnQm1zaEFndEJBU0VHREFFTERBRUxBMEFDZndKQUlBSkJDRWdFUUNBRklBUWdBa0VBRUdkRkRRWWdCU2dDQ0NFRUlBVW9BZ3dpQWtFSVNBUkFRUUVoQXd3Q0N3c2dDMEdRQVdvZ0JDQUNRWGhxZFVIL0FYRWlBMEVDZEdvb0FnQWlDQVIvSUFNZ0MwR1FDV3BxTFFBQUlRTWdBaUFJYXdWQkNTRUREQUVMREFFTElBVWdCQ0FDSUFzZ0F4Q2dBU0lEUVFCSURRUWdCU2dDQ0NFRUlBVW9BZ3dMSVFJZ0EwRUVkaUVJSUFOQkQzRWlBd1JBSUFJZ0EwZ0VRQ0FGSUFRZ0FpQURFR2RGRFFVZ0JTZ0NDQ0VFSUFVb0Fnd2hBZ3NnQWlBRGF5RUNCU0FJUVE5SERRSkJEeUVJQ3lBR1FRRnFJQWhxSWdaQndBQklEUUFMQ3lBS1FRRnFJZ29nQUNnQzhBSklEUUFMSUFBb0FoZ2hBQ0FGS0FJQUlRRWdCU2dDQkNFR0RBRUxJQWtrQmtFQUR3c0ZJQVloQUNBS0lRRWdBeUVHQ3lBQUlBRTJBZ0FnQUNBR05nSUVJQWNnQkRZQ0RDQUhJQUkyQWhBZ0J5QUpLUUlBTndJVUlBY2dDU2tDQ0RjQ0hDQUhJQWtvQWhBMkFpUUxJQWNnQnlnQ0xFRi9hallDTENBSkpBWkJBUXVlQ2dFUmZ5TUdJUVVqQmtHZ0Ftb2tCaUFBS0FMVUF5RUlJQUFvQXBnQ0JFQWdDQ2dDTEVVRVFDQUlLQUlRUVFnUU9TRUVJQUFvQXRBRElnSWdCQ0FDS0FJWWFqWUNHQ0FJUVFBMkFoQWdBaWdDQ0NFQ0lBQWdBa0gvQUhGQkNHb1JBQUJGQkVBZ0JTUUdRUUFQQ3lBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFoQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFJUVFBMkFoUWdDQ0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FJUVFBMkFpZ0xDd3NnQlVHQUFtb2hCeUFGSVFvZ0NDZ0NLRVVFUUFKQUlBQW9BcUFESVE1QkFTQUFLQUtvQXlJQ2RDRUxRWDhnQW5RaER5QUFLQUt3QXlFUUlBY2dBRFlDRUNBSElBQW9BaGdpQWlnQ0FEWUNBQ0FISUFJb0FnUTJBZ1FnQ0NnQ0RDRUZJQWdvQWhBaEJDQUJLQUlBSVEwZ0NFRkFheWdDQUNFTUlBQW9BcHdESVFJQ1FBSi9Ba0FnQ0NnQ0ZDSUpEUUJCQUNFQkFrQURRQUpBQW44Q1FDQUVRUWhJQkVBZ0J5QUZJQVJCQUJCblJRMEZJQWNvQWdnaEJTQUhLQUlNSWdSQkNFZ0VRRUVCSVFNTUFnc0xJQXhCa0FGcUlBVWdCRUY0YW5WQi93RnhJZ05CQW5ScUtBSUFJZ2tFZnlBRElBeEJrQWxxYWkwQUFDRUdJQVFnQ1dzRlFRa2hBd3dCQ3d3QkN5QUhJQVVnQkNBTUlBTVFvQUVpQmtFQVNBMERJQWNvQWdnaEJTQUhLQUlNQ3lFRUlBWkJCSFloQXdKL0FrQUNRQUpBSUFaQkQzRU9BZ0FDQVFzZ0EwRVBSdzBESUFRaEJrRUFEQUlMSUFBb0FnQWlCa0g1QURZQ0ZDQUdLQUlFSVFZZ0FFRi9JQVpCUDNGQnNnVnFFUU1BQ3lBRVFRRklCRUFnQnlBRklBUkJBUkJuUlEwRUlBY29BZ3doQkNBSEtBSUlJUVVMSUFzZ0R5QUZRUUVnQkVGL2FpSUdkSEViQ3lFSklBTWhCQ0FDSVFNZ0JpRUNBMzhDZnlBRFFRSjBJQkJxS0FJQVFRRjBJQTFxSWdZdUFRQUVRQ0FDUVFGSUJFQWdCeUFGSUFKQkFSQm5SUTBHSUFjb0Fnd2hBaUFIS0FJSUlRVUxJQVZCQVNBQ1FYOXFJZ0owY1FSQUlBWXVBUUFpRWlJUklBdHhSUVJBSUJKQmYwb0VRQ0FHSUFzZ0VXbzdBUUFGSUFZZ0R5QVJhanNCQUFzTEN3VWdCRUYvYWlFR0lBUkJBVWdFZnlBQ0RBSUZJQVlMSVFRTElBTkJBV29oQmlBRElBNUlCSDhnQmlFRERBSUZJQVloQXlBQ0N3c0xJUVFnQ1FSQUlBTkJBblFnRUdvb0FnQWlBa0VCZENBTmFpQUpPd0VBSUFGQkFuUWdDbW9nQWpZQ0FDQUJRUUZxSVFFTElBTkJBV29oQWlBRElBNUlEUUVnQkNFQlFRQU1CQXNMUVFFZ0EzUWhCaUFEQkVBZ0JDQURTQVJBSUFjZ0JTQUVJQU1RWjBVTkFpQUhLQUlNSVFRZ0J5Z0NDQ0VGQ3lBR0lBTkJBblJCOERGcUtBSUFJQVVnQkNBRGF5SUVkWEZxSWdrRVFDQUJJUVlNQXdVZ0JDRUJRUUFNQkFzQUJVRUJJUWtnQVNFR0RBSUxBQXNNQWdzZ0FpRURJQVFoQVNBRklRSURRQ0FEUVFKMElCQnFLQUlBUVFGMElBMXFJZ1V1QVFBRVFDQUJRUUZJQkVBZ0J5QUNJQUZCQVJCblJRUkFJQVloQVF3RkN5QUhLQUlNSVFFZ0J5Z0NDQ0VDQ3lBQ1FRRWdBVUYvYWlJQmRIRUVRQ0FGTGdFQUlnd2lCQ0FMY1VVRVFDQU1RWDlLQkVBZ0JTQUVJQXRxT3dFQUJTQUZJQVFnRDJvN0FRQUxDd3NMSUFOQkFXb2hCU0FESUE1SUJFQWdCU0VEREFFTEN5QUNJUVVnQ1VGL2Fnc2hBeUFBS0FJWUlnQWdCeWdDQURZQ0FDQUFJQWNvQWdRMkFnUWdDQ0FGTmdJTUlBZ2dBVFlDRUNBSUlBTTJBaFFNQVFzZ0FVVUVRQ0FLSkFaQkFBOExBMEFnQVVGL2FpSUJRUUowSUFwcUtBSUFRUUYwSUExcVFRQTdBUUFnQVEwQUN5QUtKQVpCQUE4TEN5QUlJQWdvQWl4QmYybzJBaXdnQ2lRR1FRRUxPZ0FDZndKQUFrQUNRQUpBQWtBZ0FBNFBBQUFCQVFFQ0FRTURBd01EQWdJQ0JBdEJBd3dFQzBFRURBTUxRUUVNQWd0QkFnd0JDMEVBQ3d2RUF3RUlmeU1HSVFRakJrRWdhaVFHSUFBb0F0UURJUUlnQUNnQ21BSUVRQ0FDS0FJc1JRUkFJQUlvQWhCQkNCQTVJUU1nQUNnQzBBTWlCU0FESUFVb0FoaHFOZ0lZSUFKQkFEWUNFQ0FGS0FJSUlRTWdBQ0FEUWY4QWNVRUlhaEVBQUVVRVFDQUVKQVpCQUE4TElBQW9BdFFDUVFCS0JFQkJBQ0VEQTBBZ0FrRVlhaUFEUVFKMGFrRUFOZ0lBSUFOQkFXb2lBeUFBS0FMVUFrZ05BQXNMSUFKQkFEWUNGQ0FDSUFBb0FwZ0NOZ0lzSUFBb0FyZ0RSUVJBSUFKQkFEWUNLQXNMQ3lBRUlnWWdBRFlDRUNBR0lBQW9BaGdpQnlnQ0FDSUlOZ0lBSUFZZ0J5Z0NCQ0lGTmdJRUlBSW9BZ3doQXlBQ0tBSVFJUVJCQVNBQUtBS29BM1FoQ1NBQUtBTHdBa0VBU2dSQUFrQkJBQ0VGQWtBRFFDQUVRUUZJQkVBZ0JpQURJQVJCQVJCblJRMENJQVlvQWd3aEJDQUdLQUlJSVFNTElBTkJBU0FFUVg5cUlnUjBjUVJBSUFWQkFuUWdBV29vQWdBaUNDQUpJQWd2QVFCeU93RUFDeUFGUVFGcUlnVWdBQ2dDOEFKSURRQUxJQUFvQWhnaEJ5QUdLQUlBSVFnZ0JpZ0NCQ0VGREFFTElBWWtCa0VBRHdzTElBY2dDRFlDQUNBSElBVTJBZ1FnQWlBRE5nSU1JQUlnQkRZQ0VDQUNJQUlvQWl4QmYybzJBaXdnQmlRR1FRRUx0Z1lCREg4akJpRUVJd1pCSUdva0JpQUFLQUxVQXlFRkFrQWdBQ2dDbUFJRVFDQUZLQUlzUlFSQUlBVW9BaEJCQ0JBNUlRWWdBQ2dDMEFNaUFpQUdJQUlvQWhocU5nSVlJQVZCQURZQ0VDQUNLQUlJSVFJZ0FDQUNRZjhBY1VFSWFoRUFBRVVOQWlBQUtBTFVBa0VBU2dSQVFRQWhBZ05BSUFWQkdHb2dBa0VDZEdwQkFEWUNBQ0FDUVFGcUlnSWdBQ2dDMUFKSURRQUxDeUFGUVFBMkFoUWdCU0FBS0FLWUFqWUNMQ0FBS0FLNEEwVUVRQ0FGUVFBMkFpZ0xDd3NnQlNnQ0tFVUVRQ0FGS0FJVUlnSUVRQ0FDUVg5cUlRTUZJQVFnQURZQ0VDQUVJQUFvQWhnaUFpZ0NBRFlDQUNBRUlBSW9BZ1EyQWdRZ0JTZ0NEQ0VHSUFVb0FoQWhBaUFBS0FLb0F5RUtJQUFvQXJBRElRc2dBU2dDQUNFTUlBVkJRR3NvQWdBaENDQUFLQUtjQXlJRElBQW9BcUFESWcxS0JFQkJBQ0VESUFZaEFRVUNRQ0FHSVFFZ0F5RUdBa0FEUUFKQUFuOENRQ0FDUVFoSUJFQWdCQ0FCSUFKQkFCQm5SUTBGSUFRb0FnZ2hBU0FFS0FJTUlnSkJDRWdFUUVFQklRTU1BZ3NMSUFoQmtBRnFJQUVnQWtGNGFuVkIvd0Z4SWdOQkFuUnFLQUlBSWdrRWZ5QURJQWhCa0FscWFpMEFBQ0VISUFJZ0NXc0ZRUWtoQXd3QkN3d0JDeUFFSUFFZ0FpQUlJQU1Rb0FFaUIwRUFTQTBESUFRb0FnZ2hBU0FFS0FJTUN5RUNJQWRCQkhZaEF5QUhRUTl4SWdjRVFDQUNJQWRJQkVBZ0JDQUJJQUlnQnhCblJRMEVJQVFvQWd3aEFpQUVLQUlJSVFFTElBTWdCbW9pQTBFQ2RDQUxhaWdDQUVFQmRDQU1haUFIUVFKMFFmQXhhaWdDQUNJR0lBRWdBaUFIYXlJQ2RYRWlDVUVBSUFZZ0NTQUhRUUowUWV3eGFpZ0NBRW9iYXlBS2REc0JBQVVDUUNBREJFQWdBMEVQUmdSQURBSUZEQVFMQUF0QkFDRUREQVVMSUFaQkQyb2hBd3NnQTBFQmFpRUdJQU1nRFVnTkFVRUFJUU1NQXdzTElBSWdBMGdFUUNBRUlBRWdBaUFERUdkRkRRWWdCQ2dDRENFQ0lBUW9BZ2doQVF0QkFTQURkRUYvYWlBRFFRSjBRZkF4YWlnQ0FDQUJJQUlnQTJzaUFuVnhhaUVEREFFTERBUUxDeUFBS0FJWUlnQWdCQ2dDQURZQ0FDQUFJQVFvQWdRMkFnUWdCU0FCTmdJTUlBVWdBallDRUFzZ0JTQUROZ0lVQ3lBRklBVW9BaXhCZjJvMkFpd2dCQ1FHUVFFUEN5QUVKQVpCQUF1V0JnRU5meU1HSVFRakJrRXdhaVFHSUFBb0F0UURJUUlnQUNnQ3FBTWhDeUFBS0FLWUFnUkFJQUlvQWl4RkJFQWdBaWdDRUVFSUVEa2hBeUFBS0FMUUF5SUlJQU1nQ0NnQ0dHbzJBaGdnQWtFQU5nSVFJQWdvQWdnaEF5QUFJQU5CL3dCeFFRaHFFUUFBUlFSQUlBUWtCa0VBRHdzZ0FDZ0MxQUpCQUVvRVFFRUFJUU1EUUNBQ1FSaHFJQU5CQW5ScVFRQTJBZ0FnQTBFQmFpSURJQUFvQXRRQ1NBMEFDd3NnQWtFQU5nSVVJQUlnQUNnQ21BSTJBaXdnQUNnQ3VBTkZCRUFnQWtFQU5nSW9Dd3NMSUFSQkZHb2hCaUFFSVFrZ0FpZ0NLRVVFUUNBR0lBQTJBaEFnQmlBQUtBSVlJZ2NvQWdBaUJUWUNBQ0FHSUFjb0FnUWlDRFlDQkNBQ0tBSU1JUU1nQWlnQ0VDRUVJQWtnQWlrQ0ZEY0NBQ0FKSUFJcEFodzNBZ2dnQ1NBQ0tBSWtOZ0lRSUFBb0F2QUNRUUJLQkVBQ1FFRUFJUWdDUUFOQUlBaEJBblFnQVdvb0FnQWhEaUFDUVRCcUlBQkIyQUpxSUFCQjlBSnFJQWhCQW5ScUtBSUFJZzFCQW5ScUtBSUFLQUlVUVFKMGFpZ0NBQ0VLQW44Q1FDQUVRUWhJQkVBZ0JpQURJQVJCQUJCblJRMEVJQVlvQWdnaEF5QUdLQUlNSWdSQkNFZ0VRRUVCSVFVTUFnc0xJQXBCa0FGcUlBTWdCRUY0YW5WQi93RnhJZ1ZCQW5ScUtBSUFJZ2NFZnlBRklBcEJrQWxxYWkwQUFDRUZJQVFnQjJzRlFRa2hCUXdCQ3d3QkN5QUdJQU1nQkNBS0lBVVFvQUVpQTBFQVNBMENJQU1oQlNBR0tBSUlJUU1nQmlnQ0RBc2hCQ0FGQkg4Z0JDQUZTQVJBSUFZZ0F5QUVJQVVRWjBVTkF5QUdLQUlNSVFRZ0JpZ0NDQ0VEQ3lBRlFRSjBRZkF4YWlnQ0FDSUtJQU1nQkNBRmF5SUVkWEVpQjBFQUlBb2dCeUFGUVFKMFFld3hhaWdDQUVvYmF3VkJBQXNnQ1VFRWFpQU5RUUowYWlJRktBSUFhaUVISUFVZ0J6WUNBQ0FPSUFjZ0MzUTdBUUFnQ0VFQmFpSUlJQUFvQXZBQ1NBMEFDeUFBS0FJWUlRY2dCaWdDQUNFRklBWW9BZ1FoQ0F3QkN5QUpKQVpCQUE4TEN5QUhJQVUyQWdBZ0J5QUlOZ0lFSUFJZ0F6WUNEQ0FDSUFRMkFoQWdBaUFKS1FJQU53SVVJQUlnQ1NrQ0NEY0NIQ0FDSUFrb0FoQTJBaVFMSUFJZ0FpZ0NMRUYvYWpZQ0xDQUpKQVpCQVFzdkFRSi9JQUFvQXRRRElnRW9BaEJCQ0JBNUlRSWdBQ2dDMEFNaUFDQUNJQUFvQWhocU5nSVlJQUZCQURZQ0VBdnNEQUVJZnlBQUtBTFVBeUVFSUFBb0Fwd0RJZ0pGSVFNQ1FDQUFLQUxnQVVVRVFBSkFBa0FnQTBVTkFDQUFLQUtrQXcwQUlBQW9BcWdERFFBZ0FDZ0MzQUVnQUNnQ29BTWlBVUhBQUVoeUJFQWdBQ2dDdEFNZ0FVY05BUXNNQVFzZ0FDZ0NBQ0lCUWYwQU5nSVVJQUVvQWdRaEFTQUFRWDhnQVVFL2NVR3lCV29SQXdBTElBUkJKa0VuSUFBb0FyUURRVDlHR3pZQ0JDQUFLQUxVQWtFQVNnUkFRUUFoQVFOQUlBQkJBU0FBUWRnQ2FpQUJRUUowYWlnQ0FDSUNLQUlVSWdNZ0JFSEVBR29nQTBFQ2RHb1ErUUVnQUNnQ3RBTUVRQ0FBUVFBZ0FpZ0NHQ0lDSUFSQjFBQnFJQUpCQW5ScUVQa0JDeUFFUVJocUlBRkJBblJxUVFBMkFnQWdBVUVCYWlJQklBQW9BdFFDU0EwQUN3c2dBQ2dDOEFKQkFFd05BVUVBSVFFRFFDQUVRZVFBYWlBQlFRSjBhaUFFUWNRQWFpQUFRZGdDYWlBQVFmUUNhaUFCUVFKMGFpZ0NBRUVDZEdvb0FnQWlBeWdDRkVFQ2RHb29BZ0EyQWdBZ0JFR01BV29nQVVFQ2RHb2dCRUhVQUdvZ0F5Z0NHRUVDZEdvb0FnQTJBZ0FnQkVHMEFXb2dBVUVDZEdvZ0F5Z0NOQVIvQW44Z0F5Z0NLQ0VDSUFNb0FpUWhBd0pBQWtBQ1FBSkFBa0FDUUFKQUFrQWdBQ2dDdEFNT01RQUhCd0VIQndjSEFnY0hCd2NIQndNSEJ3Y0hCd2NIQndRSEJ3Y0hCd2NIQndjSEJRY0hCd2NIQndjSEJ3Y0hCd1lIQzBFQkRBY0xJQUpCQVVkQkEzUkJvQ3RxSUFOQkFVZEJBblJxS0FJQVFRRnFEQVlMSUFKQmYyb2lBa0VDSUFKQkFra2JRUXhzUWJBcmFpQURRWDlxSWdKQkFpQUNRUUpKRzBFQ2RHb29BZ0JCQVdvTUJRc2dBa0YvYWlJQ1FRTWdBa0VEU1J0QkJIUkI0Q3RxSUFOQmYyb2lBa0VESUFKQkEwa2JRUUowYWlnQ0FFRUJhZ3dFQ3lBQ1FYOXFJZ0pCQkNBQ1FRUkpHMEVVYkVHZ0xHb2dBMEYvYWlJQ1FRUWdBa0VFU1J0QkFuUnFLQUlBUVFGcURBTUxJQUpCZjJvaUFrRUZJQUpCQlVrYlFSaHNRWkF0YWlBRFFYOXFJZ0pCQlNBQ1FRVkpHMEVDZEdvb0FnQkJBV29NQWdzZ0FrRi9haUlDUVFZZ0FrRUdTUnRCSEd4Qm9DNXFJQU5CZjJvaUFrRUdJQUpCQmtrYlFRSjBhaWdDQUVFQmFnd0JDeUFDUVg5cUlnSkJCeUFDUVFkSkcwRUZkRUh3TDJvZ0EwRi9haUlDUVFjZ0FrRUhTUnRCQW5ScUtBSUFRUUZxQ3dWQkFBczJBZ0FnQVVFQmFpSUJJQUFvQXZBQ1NBMEFDd3dCQ3lBQUtBS2dBeUVCQWtBQ1FDQURCRUFnQVEwQkJTQUJJQUpJRFFFZ0FTQUFLQUswQTBvTkFTQUFLQUxVQWtFQlJ3MEJDeUFBS0FLa0F5SUJCRUFnQVVGL2FpSUJJQUFvQXFnRFJ3MEJCU0FBS0FLb0F5RUJDeUFCUVExS0RRQU1BUXNnQUNnQ0FDSUJRUkUyQWhRZ0FTQUNOZ0lZSUFBb0FnQWdBQ2dDb0FNMkFod2dBQ2dDQUNBQUtBS2tBellDSUNBQUtBSUFJQUFvQXFnRE5nSWtJQUFvQWdBb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc2dBQ2dDMUFJaUFVRUFTZ1IvSUFCQnBBTnFJUVZCQUNFQ0EzOGdBRUhZQW1vZ0FrRUNkR29vQWdBb0FnUWhCaUFBS0FLZ0FTRUlJQUFvQXB3RElnRUVRQ0FHUVFoMElBaHFLQUlBUVFCSUJFQWdBQ2dDQUNJQlFmWUFOZ0lVSUFFZ0JqWUNHQ0FBS0FJQVFRQTJBaHdnQUNnQ0FDZ0NCQ0VCSUFCQmZ5QUJRVDl4UWJJRmFoRURBQ0FBS0FLY0F5RUJDd1ZCQUNFQkN5QUJJQUFvQXFBRFRBUkFBMEFnQlNnQ0FDQUdRUWgwSUFocUlBRkJBblJxSWdNb0FnQWlCMEVBSUFkQkFFb2JSd1JBSUFBb0FnQWlCMEgyQURZQ0ZDQUhJQVkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEJ5QUFRWDhnQjBFL2NVR3lCV29SQXdBTElBTWdBQ2dDcUFNMkFnQWdBVUVCYWlFRElBRWdBQ2dDb0FOSUJFQWdBeUVCREFFTEN3c2dBa0VCYWlJQ0lBQW9BdFFDSWdGSURRQWdCUXNGSUFCQnBBTnFDeUVDSUFSQklrRWpJQUFvQXB3RElnTkZJZ1ViUVNSQkpTQUZHeUFDS0FJQVJSczJBZ1FnQVVFQVNnUkFBa0FnQkVGQWF5RUdRUUFoQVFOQUlBQkIyQUpxSUFGQkFuUnFLQUlBSVFVZ0F3UkFJQVJCTUdvZ0JTZ0NHQ0lGUVFKMGFpRURJQUJCQUNBRklBTVErUUVnQmlBREtBSUFOZ0lBQlNBQ0tBSUFSUVJBSUFCQkFTQUZLQUlVSWdNZ0JFRXdhaUFEUVFKMGFoRDVBUXNMSUFSQkdHb2dBVUVDZEdwQkFEWUNBQ0FCUVFGcUlnRWdBQ2dDMUFKT0RRRWdBQ2dDbkFNaEF3d0FBQXNBQ3dzZ0JFRUFOZ0lVSUFSQkFEWUNFQ0FFUVFBMkFnd2dCRUVBTmdJb0lBUWdBQ2dDbUFJMkFpd1BDeUFFUVFBMkFoQWdCRUVBTmdJTUlBUkJBRFlDS0NBRUlBQW9BcGdDTmdJc0M5Y0JBUU4vSUFBb0FnUW9BZ0FoQWlBQUlBQkJBVUhjQVNBQ1FUOXhRY29CYWhFRUFDSUJOZ0xVQXlBQlFmWUFOZ0lBSUFGQjl3QTJBZ2dnQUNnQzRBRkZCRUFnQVVJQU53SkVJQUZDQURjQ1RDQUJRUUEyQWxRZ0FVRUFOZ0pZSUFGQkFEWUNYQ0FCUVFBMkFtQVBDeUFBS0FJRUtBSUFJUUlnQUNBQVFRRWdBQ2dDSkVFSWRDQUNRVDl4UWNvQmFoRUVBQ0lETmdLZ0FTQUFLQUlrUVFCS0JFQkJBQ0VDQTBBZ0F5QUNRUWgwYWtGL1FZQUNFRVVhSUFKQkFXb2lBaUFBS0FJa1NBMEFDd3NnQVVJQU53SXdJQUZDQURjQ09BdkRBZ0VKZnlBQUtBSzRBeUVDSUFBb0FnQWlBMEg4QURZQ0ZDQURJQUkyQWhnZ0FDZ0NBQ0FCTmdJY0lBQW9BZ0FvQWdRaEF5QUFRWDhnQTBFL2NVR3lCV29SQXdBZ0FVRUJha0VIY1VIUUFYSWhCQ0FCUVFKcVFRZHhRZEFCY2lFRklBRkJCMnBCQjNGQjBBRnlJUVlnQVVFR2FrRUhjVUhRQVhJaEJ3SkFBMEFDUUNBQ1FjQUJTQ0VJSUFJZ0JFWWdBa0Y0Y1VIUUFVZHlJQUlnQlVaeUlRbEJBa0VCSUFJZ0JrWWdBaUFIUm5JYklRb0RRQUpBSUFBb0FnQWlBVUhqQURZQ0ZDQUJJQUkyQWhnZ0FDZ0NBRUVDUVFNZ0NpQUpHeUFJR3lJRE5nSWNJQUFvQWdBb0FnUWhBU0FBUVFRZ0FVRS9jVUd5QldvUkF3QUNRQUpBSUFOQkEzRkJBV3NPQXdRQ0FBRUxRUUVoQUF3RkN3d0JDd3NnQUJDeEFnUkFJQUFvQXJnRElRSU1BZ1ZCQUNFQURBTUxBQXNMSUFCQkFEWUN1QU5CQVE4TElBQUxZZ0VEZnlBQUtBSVlJUUlnQVVFQVRBUkFEd3NnQWlnQ0JDSURJQUZJQkVBRFFDQUNLQUlNSVFRZ0FDQUVRZjhBY1VFSWFoRUFBQm9nQVNBRGF5SUJJQUlvQWdRaUEwb05BQXNMSUFJZ0FTQUNLQUlBYWpZQ0FDQUNJQU1nQVdzMkFnUUw3d0VCQkg5QkJFRUVFSXNCSVFRRFFDQUNRUU5IQkVBZ0FrRUNkQ0VGUVFBaEF3TkFJQU5CQkVjRVFDQUVLQUlBSUFNZ0JXcEJBM1JxSUFKQkJIUWdBR29nQTBFQ2RHb3FBZ0M3T1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVFZENBQmFpQUNRUUowYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BdGpnQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3NnQkJCSkM3MEJBUU4vSUFBb0FoZ2lBU2dDSUVFQlFZQWdJQUVvQWh3UVlTSUNCRUFnQVNBQktBSWdOZ0lBSUFFZ0FqWUNCQ0FCUVFBMkFpUkJBUThMSUFFb0FpUUVRQ0FBS0FJQUlnSkJLellDRkNBQ0tBSUFJUUlnQUNBQ1FmOEJjVUdzQTJvUkFRQUxBbjhnQUNFRElBQW9BZ0FpQUVIN0FEWUNGQ0FBS0FJRUlRQWdBd3RCZnlBQVFUOXhRYklGYWhFREFDQUJLQUlnUVg4NkFBQWdBU2dDSUVGWk9nQUJJQUVnQVNnQ0lEWUNBQ0FCUVFJMkFnUWdBVUVBTmdJa1FRRUxEQUFnQUNnQ0dFRUJOZ0lrQzVZQkFRSi9JQUFvQWhnaUFrVUVRQ0FBS0FJRUtBSUFJUUlnQUNBQVFRQkJLQ0FDUVQ5eFFjb0JhaEVFQUNJRE5nSVlJQUFvQWdRb0FnQWhBaUFESUFCQkFFR0FJQ0FDUVQ5eFFjb0JhaEVFQURZQ0lDQUFLQUlZSVFJTElBSkI5QUEyQWdnZ0FrSFRBRFlDRENBQ1FTODJBaEFnQWtFaE5nSVVJQUpCOVFBMkFoZ2dBaUFCTmdJY0lBSkJBRFlDQkNBQ1FRQTJBZ0FMNmdrQkVuOGpCaUVUSXdaQmdBSnFKQVlnQUNnQzBBSWhGaUFUSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUJLQUlBSUFJdUFRQkJBblJzSWdVMkFnQWdCaUFGTmdJZ0lBWkJRR3NnQlRZQ0FDQUdJQVUyQW1BZ0JpQUZOZ0tBQVNBR0lBVTJBcUFCSUFZZ0JUWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUlJQUl1QVRBZ0FTZ0NZR3dpQzJvaURDQUNMZ0ZRSUFFb0FxQUJiQ0lOSUFjZ0FTZ0NJR3dpQjJvaUNtcEJvY3NBYkNJT0lBeEJ1NEovYkdvaURDQUhJQWhxUWJOR2JDSVFJQWhCamhOc2Ftb2hDQ0FPSUFwQmhHZHNhaUlLSUJBZ0IwR0w0QUJzYW1vaEJ5QUtJQXNnRFdwQi9kdCtiQ0lLSUExQnM0TUJiR3BxSVEwZ0JpQUhJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzRnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRUdvaUVTQUJRVUJyS0FJQUlBVkJFSFJCRUhWc0lnVWdBaTRCWUNBQktBTEFBV3dpRW1wQjBTSnNJaFFnQlVIK01HeHFJZ1ZxSWhWcVFRdDFOZ0lBSUFZZ0ZTQUhhMEVMZFRZQzRBRWdCaUFNSUFvZ0MwSFV4QUZzYW1vaUN5QVFJQTVySWdjZ0ZDQVNRZCtKZjJ4cUlneHFJZ3BxUVF0MU5nSWdJQVlnQ2lBTGEwRUxkVFlDd0FFZ0JrRkFheUFOSUFjZ0RHc2lDMnBCQzNVMkFnQWdCaUFMSUExclFRdDFOZ0tnQVNBR0lBZ2dFU0FGYXlJRmFrRUxkVFlDWUNBRklBaHJRUXQxSVFWQklBdEJBblFnQm1vZ0JUWUNBQ0FHUVFScUlRWWdBVUVFYWlFQklBSkJBbW9oQWlBSlFYOXFJUVVnQ1VFQlN3UkFJQVVoQ1F3QkN3c2dGa0dBZldvaENVRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJUVlnQUNnQ0FFR1FnQUZxSVFVQ1FBSkFJQUFvQWdRaUNDQUFLQUlJSWdKeURRQWdBQ2dDREFSQVFRQWhBZ3dCQlNBQUtBSVFCRUJCQUNFQ0RBSUZJQUFvQWhRRVFFRUFJUUlNQXdVZ0FDZ0NHQVJBUVFBaEFnd0VCU0FBS0FJY0JFQkJBQ0VDREFVRklBWWdDU0FGUVFWMlFmOEhjV29zQUFBaUFqb0FBQ0FHUVFGcUlBSkJCeEJGR2dzTEN3c0xEQUVMSUFBb0Fod2lDeUFBS0FJTUlnMXFJZzhnQ0NBQUtBSVVJZ2RxSWd4cVFhSExBR3dpQ2lBUFFidUNmMnhxSWc4Z0NDQUxha0d6Um13aURpQUxRWTRUYkdwcUlRc2dDaUFNUVlSbmJHb2lEQ0FPSUFoQmkrQUFiR3BxSVFnZ0RDQUhJQTFxUWYzYmZtd2lEQ0FIUWJPREFXeHFhaUVISUFZZ0NTQUZJQUFvQWhBaUNtcEJEWFFpRGlBQUtBSVlJaEFnQW1wQjBTSnNJaEVnQWtIK01HeHFJZ0pxSWhJZ0NHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBa2dFaUFJYTBFU2RrSC9CM0ZxTEFBQU9nQUhJQVlnQ1NBRklBcHJRUTEwSWdVZ0VTQVFRZCtKZjJ4cUlnaHFJZ29nRHlBTUlBMUIxTVFCYkdwcUlnMXFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JpQUpJQW9nRFd0QkVuWkIvd2R4YWl3QUFEb0FCaUFHSUFrZ0JTQUlheUlGSUFkcVFSSjJRZjhIY1dvc0FBQTZBQUlnQmlBSklBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUJTQUdJQWtnRGlBQ2F5SUNJQXRxUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFKSUFJZ0MydEJFblpCL3dkeGFpd0FBRG9BQkFzZ0FFRWdhaUVBSUFGQkFXb2lBVUVJUncwQUN5QVRKQVlMTkFBZ0JDQURLQUlBYWlBQUtBTFFBa0dBZldvZ0FpNEJBQ0FCS0FKVUtBSUFiRUdFSUdwQkEzWkIvd2R4YWl3QUFEb0FBQXZEQVFFRmZ5QUVJQU1vQWdCcUlnVWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkVDQUJLQUpVSWdFb0FpQnNJZ1lnQWk0QkFDQUJLQUlBYkVHRUlHb2lCMm9pQ0NBQ0xnRUNJQUVvQWdSc0lna2dBaTRCRWlBQktBSWtiQ0lCYWlJQ2FrRURka0gvQjNGcUxBQUFPZ0FBSUFVZ0NDQUNhMEVEZGtIL0IzRWdBR29zQUFBNkFBRWdCQ0FES0FJRWFpSUNJQWNnQm1zaUF5QUpJQUZySWdGcVFRTjJRZjhIY1NBQWFpd0FBRG9BQUNBQ0lBTWdBV3RCQTNaQi93ZHhJQUJxTEFBQU9nQUJDNmdGQVFsL0l3WWhCU01HUVRCcUpBWWdBQ2dDMEFJaENDQUZJQUVvQWxRaUJpZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUdRVUJyS0FJQUlBSXVBU0JCb1Mxc2JDSUhhaUlCSUFZb0FpQWdBaTRCRUVHeHpnQnNiQ0lBYWtFTGRTSUxOZ0lBSUFVZ0FTQUFhMEVMZFRZQ0dDQUZJQWtnQjBGK2JHcEJDM1UyQWd3Z0JTQUdLQUlFSUFJdUFRSkJEWFJzUVlBSWNpSUpJQVlvQWtRZ0FpNEJJa0doTFd4c0lnZHFJZ0VnQmlnQ0pDQUNMZ0VTUWJIT0FHeHNJZ0JxUVF0MUlndzJBZ1FnQlNBQklBQnJRUXQxTmdJY0lBVWdDU0FIUVg1c2FrRUxkU0lOTmdJUUlBVWdCaWdDQ0NBQ0xnRUVRUTEwYkVHQUNISWlDU0FHS0FKSUlBSXVBU1JCb1Mxc2JDSUhhaUlCSUFZb0FpZ2dBaTRCRkVHeHpnQnNiQ0lBYWtFTGRTSUtOZ0lJSUFVZ0FTQUFhMEVMZFNJR05nSWdJQVVnQ1NBSFFYNXNha0VMZFNJSk5nSVVJQVFnQXlnQ0FHb2lCeUFJUVlCOWFpSUlJQXRCRFhSQmdJQ0l3QUJxSWdJZ0NrR2hMV3hxSWdFZ0RFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBSUlBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQWdnQWlBS1FiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJRWFpSUhJQWdnQlNnQ0RFRU5kRUdBZ0lqQUFHb2lBaUFKUWFFdGJHb2lBU0FOUWJIT0FHd2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQUhJQWdnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FDSUFjZ0NDQUNJQWxCdnFWL2JHcEJFblpCL3dkeGFpd0FBRG9BQVNBRUlBTW9BZ2hxSWdNZ0NDQUZLQUlZUVExMFFZQ0FpTUFBYWlJQ0lBWkJvUzFzYWlJQklBVW9BaHhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBTWdDQ0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQXlBSUlBSWdCa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVa0JndnNDUUVJZnlNR0lRVWpCa0ZBYXlRR0lBQW9BdEFDSVFjZ0JTQUNMZ0VBSUFFb0FsUWlDU2dDQUd3aUNDQUNMZ0VnSUFsQlFHc29BZ0JzSWd0cVFRSjBJZ0VnQWk0QkVDQUpLQUlnYkNJQUlBSXVBVEFnQ1NnQ1lHd2lCbXBCMFNKc1FZQUlhaUlLSUFCQi9qQnNha0VMZFNJQWFqWUNBQ0FGSUFFZ0FHczJBakFnQlNBSUlBdHJRUUowSWdFZ0NpQUdRZCtKZjJ4cVFRdDFJZ0JxTmdJUUlBVWdBU0FBYXpZQ0lDQUZJQUl1QVFJZ0NTZ0NCR3dpQ0NBQ0xnRWlJQWtvQWtSc0lndHFRUUowSWdFZ0FpNEJFaUFKS0FJa2JDSUFJQUl1QVRJZ0NTZ0NaR3dpQm1wQjBTSnNRWUFJYWlJS0lBQkIvakJzYWtFTGRTSUFhallDQkNBRklBRWdBR3MyQWpRZ0JTQUlJQXRyUVFKMElnRWdDaUFHUWQrSmYyeHFRUXQxSWdCcU5nSVVJQVVnQVNBQWF6WUNKQ0FGSUFJdUFRUWdDU2dDQ0d3aUNDQUNMZ0VrSUFrb0FraHNJZ3RxUVFKMElnRWdBaTRCRkNBSktBSW9iQ0lBSUFJdUFUUWdDU2dDYUd3aUJtcEIwU0pzUVlBSWFpSUtJQUJCL2pCc2FrRUxkU0lBYWlJTU5nSUlJQVVnQVNBQWF6WUNPQ0FGSUFnZ0MydEJBblFpQVNBS0lBWkIzNGwvYkdwQkMzVWlBR28yQWhnZ0JTQUJJQUJyTmdJb0lBVWdBaTRCQmlBSktBSU1iQ0lMSUFJdUFTWWdDU2dDVEd3aUJtcEJBblFpQVNBQ0xnRVdJQWtvQWl4c0lnQWdBaTRCTmlBSktBSnNiQ0lLYWtIUklteEJnQWhxSWdJZ0FFSCtNR3hxUVF0MUlnQnFJZ2cyQWd3Z0JTQUJJQUJyTmdJOElBVWdDeUFHYTBFQ2RDSUJJQUlnQ2tIZmlYOXNha0VMZFNJQWFpSUxOZ0ljSUFVZ0FTQUFhellDTENBRUlBTW9BZ0JxSWdZZ0IwR0FmV29pQnlBTUlBVW9BZ0JCa0lBQmFpSUtha0VOZENJQklBZ2dCU2dDQkNJQWFrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFLSUF4clFRMTBJZ0VnQWlBSVFkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWdScUlnZ2dCeUFGS0FJUVFaQ0FBV29pQmlBRktBSVlJZ3BxUVExMElnRWdDeUFGS0FJVUlnQnFRZEVpYkNJQ0lBQkIvakJzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFnZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdDQ0FISUFZZ0NtdEJEWFFpQVNBQ0lBdEIzNGwvYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQVNBSUlBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0NHb2lDQ0FISUFVb0FpQkJrSUFCYWlJTElBVW9BaWdpQm1wQkRYUWlBU0FGS0FJa0lnQWdCU2dDTENJS2FrSFJJbXdpQWlBQVFmNHdiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FJSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBZ2dCeUFMSUFaclFRMTBJZ0VnQWlBS1FkK0pmMnhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ0NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FJd1FaQ0FBV29pQ2lBRktBSTRJZ1JxUVExMElnRWdCU2dDTkNJQUlBVW9BandpQTJwQjBTSnNJZ0lnQUVIK01HeHFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCaUFISUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBR0lBY2dDaUFFYTBFTmRDSUJJQUlnQTBIZmlYOXNhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVlnQnlBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JTUUdDOThRQVFwL0l3WWhCU01HUWZBQWFpUUdJQUFvQXRBQ0lRNGdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lFR0lBVWdBaTRCSUNBSVFVQnJLQUlBYkNJQklBSkJRR3N1QVFBZ0NDZ0NnQUZzSWdCcVFjd3liQ0lOSUFZZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVFJQWdvQWlCc0lnQWdBaTRCTUNBSUtBSmdiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnQWdCU0FCSUFCclFRdDFOZ0pRSUFVZ0NpQU5heUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDRkNBRklBRWdBR3RCQzNVMkFqd2dCU0FHSUFsQndLVi9iR3BCQzNVMkFpZ2dCU0FDTGdFU0lBZ29BaVJzSWdBZ0FpNEJNaUFJS0FKa2JDSUhha0dhTld3aUJpQUFRZkVnYkdvaURTQUNMZ0VpSUFnb0FrUnNJZ0VnQWk0QlFpQUlLQUtFQVd3aUFHcEJ6REpzSWdrZ0NDZ0NCQ0FDTGdFQ1FRMTBiRUdBQ0hJaUNpQUJJQUJySWd0QjBCWnNhaUlNYWlJQWFrRUxkVFlDQkNBRklBQWdEV3RCQzNVMkFsUWdCU0FHSUFkQjNQUitiR29pQVNBTUlBbHJJZ0JxUVF0MU5nSVlJQVZCUUdzZ0FDQUJhMEVMZFRZQ0FDQUZJQW9nQzBIQXBYOXNha0VMZFRZQ0xDQUZJQUl1QVNRZ0NDZ0NTR3dpQVNBQ0xnRkVJQWdvQW9nQmJDSUFha0hNTW13aUJpQUlLQUlJSUFJdUFRUkJEWFJzUVlBSWNpSU5JQUVnQUdzaUNVSFFGbXhxSWdwcUlnRWdBaTRCRkNBSUtBSW9iQ0lBSUFJdUFUUWdDQ2dDYUd3aUMycEJtalZzSWd3Z0FFSHhJR3hxSWdCcVFRdDFOZ0lJSUFVZ0FTQUFhMEVMZFRZQ1dDQUZJQW9nQm1zaUFTQU1JQXRCM1BSK2JHb2lBR3BCQzNVMkFod2dCU0FCSUFCclFRdDFOZ0pFSUFVZ0RTQUpRY0NsZjJ4cVFRdDFOZ0l3SUFVZ0FpNEJKaUFJS0FKTWJDSUJJQUl1QVVZZ0NDZ0NqQUZzSWdCcVFjd3liQ0lHSUFnb0Fnd2dBaTRCQmtFTmRHeEJnQWh5SWcwZ0FTQUFheUlKUWRBV2JHb2lDbW9pQVNBQ0xnRVdJQWdvQWl4c0lnQWdBaTRCTmlBSUtBSnNiQ0lMYWtHYU5Xd2lEQ0FBUWZFZ2JHb2lBR3BCQzNVMkFnd2dCU0FCSUFCclFRdDFOZ0pjSUFVZ0NpQUdheUlCSUF3Z0MwSGM5SDVzYWlJQWFrRUxkVFlDSUNBRklBRWdBR3RCQzNVMkFrZ2dCU0FOSUFsQndLVi9iR3BCQzNVMkFqUWdCU0FDTGdFb0lBZ29BbEJzSWdFZ0FpNEJTQ0FJS0FLUUFXd2lBR3BCekRKc0lnMGdDQ2dDRUNBQ0xnRUlRUTEwYkVHQUNISWlDU0FCSUFCcklncEIwQlpzYWlJTGFpSUJJQUl1QVJnZ0NDZ0NNR3dpQUNBQ0xnRTRJQWdvQW5Cc0lneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRUxkVFlDRUNBRklBRWdBR3RCQzNVMkFtQWdCU0FMSUExcklnRWdBaUFNUWR6MGZteHFJZ0JxUVF0MU5nSWtJQVVnQVNBQWEwRUxkVFlDVENBRklBa2dDa0hBcFg5c2FrRUxkVFlDT0NBRUlBTW9BZ0JxSWdZZ0RrR0FmV29pQnlBRktBSUlJZ0VnQlNnQ0VDSUFha0hNTW13aURTQUZLQUlBUVExMFFZQ0FpTUFBYWlJSklBRWdBR3NpQ2tIUUZteHFJZ3RxSWdFZ0JTZ0NCQ0lBSUFVb0Fnd2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCaUFISUFVb0Fod2lBU0FGS0FJa0lnQnFRY3d5YkNJTklBVW9BaFJCRFhSQmdJQ0l3QUJxSWdrZ0FTQUFheUlLUWRBV2JHb2lDMm9pQVNBRktBSVlJZ0FnQlNnQ0lDSU1ha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBR0lBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQVlnQnlBTElBMXJJZ0VnQWlBTVFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQmlBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUdJQWNnQ1NBS1FjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJSWFpSUdJQWNnQlNnQ01DSUJJQVVvQWpnaUFHcEJ6REpzSWcwZ0JTZ0NLRUVOZEVHQWdJakFBR29pQ1NBQklBQnJJZ3BCMEJac2FpSUxhaUlCSUFVb0Fpd2lBQ0FGS0FJMElneHFRWm8xYkNJQ0lBQkI4U0JzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBUWdCaUFISUFzZ0RXc2lBU0FDSUF4QjNQUitiR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBU0FHSUFjZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBWWdCeUFKSUFwQndLVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWd4cUlnWWdCeUFGS0FKRUlnRWdCU2dDVENJQWFrSE1NbXdpRFNBRktBSThRUTEwUVlDQWlNQUFhaUlKSUFFZ0FHc2lDa0hRRm14cUlndHFJZ0VnQlVGQWF5Z0NBQ0lBSUFVb0FrZ2lER3BCbWpWc0lnSWdBRUh4SUd4cUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JpQUhJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FCQ0FHSUFjZ0N5QU5heUlCSUFJZ0RFSGM5SDVzYWlJQWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFZZ0J5QUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBTWdCaUFISUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0VHb2lDU0FISUFVb0FsZ2lBU0FGS0FKZ0lnQnFRY3d5YkNJS0lBVW9BbEJCRFhSQmdJQ0l3QUJxSWdzZ0FTQUFheUlNUWRBV2JHb2lCR29pQVNBRktBSlVJZ0FnQlNnQ1hDSURha0dhTld3aUFpQUFRZkVnYkdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSklBY2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUVJQWtnQnlBRUlBcHJJZ0VnQWlBRFFkejBmbXhxSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ1NBSElBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUF5QUpJQWNnQ3lBTVFjQ2xmMnhxUVJKMlFmOEhjV29zQUFBNkFBSWdCU1FHQzk4RUFROS9Jd1loRUNNR1FaQUJhaVFHSUFBb0F0QUNJUk1nRUNJQUlRVWdBU2dDVkNFQkEwQWdCU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlLSUFFb0FvQUJJQUpCUUdzdUFRQkJvUzFzYkNJTWFpSU5JQUZCUUdzb0FnQWdBaTRCSUVHeHpnQnNiQ0lPYWlJUElBSXVBUkFnQVNnQ0lHd2lCaUFDTGdGUUlBRW9BcUFCYkNJSWFrRzJGMndpRVNBR0lBSXVBVEFnQVNnQ1lHd2lDV3BCRFhScUloSnFRUXQxTmdJQUlBVWdEeUFTYTBFTGRUWUNlQ0FGSUFvZ0RFRitiR3BCQzNVaUNpQUdJQWxySUFoclFRSjBJZ1pxTmdJWUlBVWdDaUFHYXpZQ1lDQUZJQTBnRG1zaUJpQVJJQWdnQ1d0QkRYUnFJZ2hxUVF0MU5nSXdJQVVnQmlBSWEwRUxkVFlDU0NBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUhRUUZxSWdkQkJrY05BQXNnRTBHQWZXb2hBa0VBSVFFRFFDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FDZ0NCQ0lISUFBb0FoUWlCbXBCdGhkc0lnc2dCeUFBS0FJTUlnaHFRUTEwYWlJS0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWd3Z0FDZ0NFRUdoTFd3aUNXb2lEU0FBS0FJSVFiSE9BR3dpRG1vaUQycEJFblpCL3dkeElBSnFMQUFBT2dBQUlBVWdEeUFLYTBFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBSElBaHJJQVpyUVExMElnY2dEQ0FKYXlBSmF5SUpha0VTZGtIL0IzRWdBbW9zQUFBNkFBRWdCU0FKSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQkNBRklBMGdEbXNpQnlBTElBWWdDR3RCRFhScUlnWnFRUkoyUWY4SGNTQUNhaXdBQURvQUFpQUZJQWNnQm10QkVuWkIvd2R4SUFKcUxBQUFPZ0FESUFCQkdHb2hBQ0FCUVFGcUlnRkJCa2NOQUFzZ0VDUUdDKzBCQVFSL1FRUkJCQkNMQVNFRUEwQWdBa0VEUndSQUlBSkJBblFoQlVFQUlRTURRQ0FEUVFSSEJFQWdCQ2dDQUNBRElBVnFRUU4wYWlBQ1FRVjBJQUJxSUFOQkEzUnFLd01BT1FNQUlBTkJBV29oQXd3QkN3c2dBa0VCYWlFQ0RBRUxDeUFFS0FJQUlnQkNBRGNEWUNBQVFnQTNBMmdnQUVJQU53TndJQUJFQUFBQUFBQUE4RDg1QTNnZ0JCRFdBUnBCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFoQTBFQUlRSURRQ0FDUVFSSEJFQWdBRUVGZENBQmFpQUNRUU4wYWlBRUtBSUFJQUlnQTJwQkEzUnFLd01BT1FNQUlBSkJBV29oQWd3QkN3c2dBRUVCYWlFQURBRUxDeUFFRUVrTHRRWUJGSDhqQmlFVkl3WkIwQUZxSkFZZ0FDZ0MwQUloR0NBVklnQWhCU0FCS0FKVUlRRURRQ0FDUVVCckxnRUFJQUVvQW9BQmJDSUhJQUl1QVdBZ0FTZ0N3QUZzSWdaclFiYzRiQ0lPSUFJdUFTQWdBVUZBYXlnQ0FHd2lDU0FIYTBHU0ZHd2lFU0FCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQSUFkQmxZcC9iR3BxYWlFS0lBSXVBUkFnQVNnQ0lHd2lDeUFDTGdFd0lBRW9BbUJzSWdocVFlODdiQ0lTSUFzZ0NHdEI4d3BzSWhOcUlBZ2dBaTRCVUNBQktBS2dBV3dpQ0dwQjRhZC9iQ0lVYWlFTklBVWdEeUFHSUFscUloWkJ4dEVBYkdvaUZ5QU9JQVpCZzN0c2Ftb2lCaUFJSUF0cVFhTW5iQ0lMSUJJZ0UydHFJZzVxUVF0MU5nSUFJQVVnQmlBT2EwRUxkVFlDcUFFZ0JTQUtJQTFxUVF0MU5nSWNJQVVnQ2lBTmEwRUxkVFlDakFFZ0JTQVhJQkVnQ1VIeDRYNXNhbW9pQmlBVUlBc2dDRUhlOXdCc2Ftb2lDV3BCQzNVMkFqZ2dCU0FHSUFsclFRdDFOZ0p3SUFVZ0R5QUhJQlpyUWNIYUFHeHFRUXQxTmdKVUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUhSdzBBQ3lBWVFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlZSWdkclFiYzRiQ0lOSUFBb0FnZ2lCaUFNYTBHU0ZHd2lFQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUpJQXhCbFlwL2JHcHFhaUVQSUFBb0FnUWlDaUFBS0FJTUlnVnFRZTg3YkNJT0lBb2dCV3RCOHdwc0loRnFJQVVnQUNnQ0ZDSUxha0hocDM5c0loSnFJUWdnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQ1NBR0lBZHFJaE5CeHRFQWJHb2lGQ0FOSUFkQmczdHNhbW9pQnlBS0lBdHFRYU1uYkNJS0lBNGdFV3RxSWcxcVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBY2dEV3RCRW5aQi93ZHhhaXdBQURvQUJpQUZJQUlnQ0NBUGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQVBJQWhyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJRZ0VDQUdRZkhoZm14cWFpSUhJQklnQ2lBTFFkNzNBR3hxYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFrZ0RDQVRhMEhCMmdCc2FrRVNka0gvQjNGcUxBQUFPZ0FESUFCQkhHb2hBQ0FCUVFGcUlnRkJCMGNOQUFzZ0ZTUUdDNklIQVJSL0l3WWhGU01HUWFBQ2FpUUdJQUFvQXRBQ0lSZ2dGU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUJ5QUJLQUxBQVNBQ0xnRmdRYUV0Ykd3aUJtb2hDQ0FISUFacklBWnJJaEFnQWk0QklDQUJRVUJyS0FJQWJDSUdJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnZHJJaEZCb1Mxc2FpRUpJQUl1QVJBZ0FTZ0NJR3dpQ2lBQ0xnRlFJQUVvQXFBQmJDSU1ha0dYT213aERTQUZJQWdnQmlBSGFrR0gxUUJzSWhJZ0IwSGNEMndpRTJ0cUloUWdDaUFDTGdGd0lBRW9BdUFCYkNJSGFrSDZIbXdpRmlBTklBRW9BbUFnQWk0Qk1FSFBzWDlzYkNJT2Eyb2lGMnBCQzNVMkFnQWdCU0FVSUJkclFRdDFOZ0tBQWlBRklBa2dDaUFNYXlBSGEwR3h6Z0JzSWdwcVFRdDFOZ0lnSUFVZ0NTQUthMEVMZFRZQzRBRWdCVUZBYXlBR1FhdkZBR3dpQmlBSUlCSnJhaUlKSUEwZ0RpQU1JQWRyUVpIWkFHd2lCMnRxSWdwcVFRdDFOZ0lBSUFVZ0NTQUthMEVMZFRZQ3dBRWdCU0FUSUFnZ0JtdHFJZ2dnRmlBSElBNXFhaUlHYWtFTGRUWUNZQ0FGSUFnZ0JtdEJDM1UyQXFBQklBVWdFQ0FSUWI2bGYyeHFRUXQxTmdLQUFTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FMUVFGcUlndEJDRWNOQUFzZ0dFR0FmV29oQWtFQUlRRURRQ0FBS0FJQVFRMTBRWUNBaU1BQWFpSUlJQUFvQWhoQm9TMXNJZ1ZxSVFzZ0NDQUZheUFGYXlJT0lBQW9BZ2dpQ0NBQUtBSVFJZ1pySWc5Qm9TMXNhaUVISUFBb0FnUWlDU0FBS0FJVUlncHFRWmM2YkNFTUlBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBc2dCaUFJYWtHSDFRQnNJaEFnQmtIY0Qyd2lFV3RxSWhJZ0NTQUFLQUljSWdacVFmb2ViQ0lUSUF3Z0FDZ0NERUhQc1g5c0lnMXJhaUlVYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBU0lCUnJRUkoyUWY4SGNXb3NBQUE2QUFnZ0JTQUNJQWNnQ1NBS2F5QUdhMEd4emdCc0lnbHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTQUNJQWNnQ1d0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0NFR3J4UUJzSWdnZ0N5QVFhMm9pQnlBTUlBMGdDaUFHYTBHUjJRQnNJZ1pyYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUhJQWxyUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUJFZ0N5QUlhMm9pQ3lBVElBWWdEV3BxSWdocVFSSjJRZjhIY1dvc0FBQTZBQU1nQlNBQ0lBc2dDR3RCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnRGlBUFFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBUWdBRUVnYWlFQUlBRkJBV29pQVVFSlJ3MEFDeUFWSkFZTC9nY0JGWDhqQmlFVkl3WkJ3QUpxSkFZZ0FDZ0MwQUloR1NBVklnQWhCU0FCS0FKVUlRRURRQ0FDTGdFd0lBRW9BbUJzSWdZZ0FpNEJjQ0FCS0FMZ0FXd2lDbW9oQnlBRklBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlna2dBa0ZBYXk0QkFDQUJLQUtBQVd3aUMwR2R5UUJzYWlJUUlBSXVBU0FnQVVGQWF5Z0NBR3dpRENBQ0xnRmdJQUVvQXNBQmJDSVJha0dhTld3aURTQU1RZkVnYkdvaURHb2lEaUFHSUFwcklncEI0eE5zSWhJZ0FpNEJVQ0FCS0FLZ0FXd2lGRUVOZENJUGFpSVdJQWRCN3p4c0loY2dBaTRCRUNBQktBSWdiQ0lHUWJQWkFHeHFhaUlZYWtFTGRUWUNBQ0FGSUE0Z0dHdEJDM1UyQXFBQ0lBVWdDU0FMUVlSa2JHb2lEaUFOSUJGQjNQUitiR29pRVdvaURTQUdRZFBRQUd3Z0IwSFBKV3dpQjJzZ0R5QVNheUFLUVF4MGF5SVNheUlQYWtFTGRUWUNJQ0FGSUEwZ0QydEJDM1UyQW9BQ0lBVkJRR3NnQ1NBTFFiNmxmMnhxUVF0MUlna2dCaUFVYXlBS2EwRUNkQ0lMYWpZQ0FDQUZJQWtnQzJzMkF1QUJJQVVnRGlBUmF5SUpJQklnQmtHTUtXd2dCMnRxSWdkcVFRdDFOZ0pnSUFVZ0NTQUhhMEVMZFRZQ3dBRWdCU0FRSUF4cklnY2dGaUFHUVpRT2JDQVhhMm9pQm1wQkMzVTJBb0FCSUFVZ0J5QUdhMEVMZFRZQ29BRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ0VFQmFpSUlRUWhIRFFBTElCbEJnSDFxSVFKQkFDRUJBMEFnQUNnQ0RDSUlJQUFvQWh3aUNtb2hCaUFFSUFGQkFuUWdBMm9vQWdCcUlnVWdBaUFBS0FJQVFRMTBRWUNBaU1BQWFpSUhJQUFvQWhBaUNVR2R5UUJzYWlJVElBQW9BZ2dpQ3lBQUtBSVlJaEJxUVpvMWJDSU1JQXRCOFNCc2FpSVJhaUlOSUFBb0FoUkJEWFFpQ3lBSUlBcHJJZ3BCNHhOc0lnNXFJaElnQmtIdlBHd2lGQ0FBS0FJRUlnaEJzOWtBYkdwcUlnOXFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQTBnRDJ0QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0J5QUpRWVJrYkdvaURTQU1JQkJCM1BSK2JHb2lFR29pRENBSVFkUFFBR3dnQmtIUEpXd2lCbXNnQ3lBT2F5QUtRUXgwYXlJT2F5SVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFNSUE5clFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dDVUcrcFg5c2FpSUhJQWdnQ210QkRYUWdDMnNpQ1dwQkVuWkIvd2R4YWl3QUFEb0FBaUFGSUFJZ0J5QUphMEVTZGtIL0IzRnFMQUFBT2dBSElBVWdBaUFOSUJCcklnY2dEaUFJUVl3cGJDQUdhMm9pQm1wQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QUdhMEVTZGtIL0IzRnFMQUFBT2dBR0lBVWdBaUFUSUJGcklnWWdFaUFJUVpRT2JDQVVhMm9pQ0dwQkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUlhMEVTZGtIL0IzRnFMQUFBT2dBRklBQkJJR29oQUNBQlFRRnFJZ0ZCQ2tjTkFBc2dGU1FHQzk0SkFSbC9Jd1loR1NNR1FlQUNhaVFHSUFBb0F0QUNJUjBnR1NJQUlRVWdBU2dDVkNFQkEwQWdBa0ZBYXk0QkFDQUJLQUtBQVd3aUJpQUNMZ0VnSUFGQlFHc29BZ0JzSWdsclFja2JiQ0VVSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhZZ0NTQUNMZ0ZnSUFFb0FzQUJiQ0lIYWlJUUlBWnJJaGRCN05ZQWJHb2hEaUFVSUFZZ0IydEIvcUlCYkNBT2FpSVJJQVpCdEl0L2JHcHFJUW9nQWk0QmNDQUJLQUxnQVd3aUN5QUNMZ0ZRSUFFb0FxQUJiQ0lOSUFJdUFSQWdBU2dDSUd3aUNDQUNMZ0V3SUFFb0FtQnNJZzlxSWhOcWFrSEFHV3dpRWlBSUlBdHFRYmdYYkdvaUdDQUlJQTFxUWZRcWJDSWFJQk5CNmpoc0loc2dDRUgyUkd4cWFtb2hDQ0FOSUE5cVFjbTFmMndnRW1vaUhDQU5RZHF6ZjJ3Z0dtcHFJUk1nQlNBUklBZEJ0WWNCYkdvaUVTQUlha0VMZFRZQ0FDQUZJQkVnQ0d0QkMzVTJBc0FDSUFVZ0hDQUxJQTlxUWZXTWYyd2lDQ0FQUWRpRUFXd2dHMnBxYWlJUklBcHFRUXQxTmdJZ0lBVWdDaUFSYTBFTGRUWUNvQUlnQlVGQWF5QVRJQkJCaGJaL2JDQU9haUlLSUFkQncwMXNhaUlIYWtFTGRUWUNBQ0FGSUFjZ0UydEJDM1UyQW9BQ0lBVWdDQ0FMUWNlR0FXeHFJQmhxSWdjZ0RpQVVhaUFKUVpHZmYyeHFJZzVxUVF0MU5nSmdJQVVnRGlBSGEwRUxkVFlDNEFFZ0JTQVBRWTJpZjJ3Z0RVR0x3QUJzYWlBTFFaYVVmMnhxSUJKcUlnc2dDaUFHUWJuOEFHd2dDVUg5cG45c2Ftb2lCbXBCQzNVMkFvQUJJQVVnQmlBTGEwRUxkVFlDd0FFZ0JTQVdJQmRCdjZWL2JHcEJDM1UyQXFBQklBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQXhCQVdvaURFRUlSdzBBQ3lBZFFZQjlhaUVDUVFBaEFRTkFJQUFvQWhBaURDQUFLQUlJSWc5clFja2JiQ0VPSUFBb0FnQkJEWFJCZ0lDSXdBQnFJaE1nRHlBQUtBSVlJZ2xxSWhVZ0RHc2lGa0hzMWdCc2FpRUhJQTRnRENBSmEwSCtvZ0ZzSUFkcUloQWdERUcwaTM5c2Ftb2hDQ0FBS0FJY0lnWWdBQ2dDRkNJTElBQW9BZ1FpQlNBQUtBSU1JZzFxSWdwcWFrSEFHV3dpRkNBRklBWnFRYmdYYkdvaUZ5QUZJQXRxUWZRcWJDSVNJQXBCNmpoc0loRWdCVUgyUkd4cWFtb2hDaUFVSUFzZ0RXcEJ5YlYvYkdvaUdDQVNJQXRCMnJOL2JHcHFJUklnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnRUNBSlFiV0hBV3hxSWhBZ0NtcEJFblpCL3dkeGFpd0FBRG9BQUNBRklBSWdFQ0FLYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBSUlCZ2dCaUFOYWtIMWpIOXNJZ29nRVNBTlFkaUVBV3hxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQVNBRklBSWdDQ0FRYTBFU2RrSC9CM0ZxTEFBQU9nQUpJQVVnQWlBVlFZVzJmMndnQjJvaUNDQUpRY05OYkdvaUNTQVNha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFKSUJKclFSSjJRZjhIY1dvc0FBQTZBQWdnQlNBQ0lBY2dEbW9nRDBHUm4zOXNhaUlKSUJjZ0NpQUdRY2VHQVd4cWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBRElBVWdBaUFKSUFkclFSSjJRZjhIY1dvc0FBQTZBQWNnQlNBQ0lBZ2dERUc1L0FCc0lBOUIvYVovYkdwcUlnd2dGQ0FOUVkyaWYyd2dDMEdMd0FCc2FpQUdRWmFVZjJ4cWFpSUdha0VTZGtIL0IzRnFMQUFBT2dBRUlBVWdBaUFNSUFaclFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lCTWdGa0cvcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FGSUFCQklHb2hBQ0FCUVFGcUlnRkJDMGNOQUFzZ0dTUUdDNWtKQVJkL0l3WWhHU01HUVlBRGFpUUdJQUFvQXRBQ0lSc2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUJLQUtBQVNBQ1FVQnJMZ0VBUWJIT0FHeHNJaEpxSVEwZ0NTQUNMZ0VnSUFGQlFHc29BZ0JzSWdwQkRYUWdBU2dDd0FFZ0FpNEJZRUVOZEd3aURtc2lFR29oRVNBRklBMGdDa0cyMXdCc0lBNXFJaGRxSWhNZ0FpNEJjQ0FCS0FMZ0FXd2lCaUFDTGdFUUlBRW9BaUJzSWdjZ0FpNEJVQ0FCS0FLZ0FXd2lDR29pQzJwQmpUZHNJZzhnQzBIYkVHeHFJaFFnQWk0Qk1DQUJLQUpnYkNJTFFjL1RBR3dpR0NBSFFmY1JiR3BxSWhWcVFRdDFOZ0lBSUFVZ0V5QVZhMEVMZFRZQzRBSWdCU0FMSUFockloTWdCeUFHYXlJVmFrSFJJbXdpR2lBVlFmNHdiR29pRlNBUmFrRUxkVFlDSUNBRklCRWdGV3RCQzNVMkFzQUNJQVZCUUdzZ0NTQVNheUlSSUFwQnRoZHNJQTVySWdwcUlnNGdGQ0FHSUFocVFZdTlmMndpRWlBTFFhOWRiQ0lMSUFoQnNLRi9iR3BxYWlJSWFrRUxkVFlDQUNBRklBNGdDR3RCQzNVMkFxQUNJQVVnRVNBS2F5SUlJQklnRHlBR1FjYmxBR3dnR0d0cWFpSUtha0VMZFRZQ1lDQUZJQWdnQ210QkMzVTJBb0FDSUFVZ0dpQVRRZCtKZjJ4cUlnZ2dDU0FRYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWhyUVF0MU5nTGdBU0FGSUEwZ0Yyc2lDU0FQSUFzZ0IwSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0tnQVNBRklBa2dCbXRCQzNVMkFzQUJJQUpCQW1vaEFpQUJRUVJxSVFFZ0JVRUVhaUVGSUF4QkFXb2lERUVJUncwQUN5QWJRWUI5YWlFQ1FRQWhBUU5BSUFBb0FnQkJEWFJCZ0lDSXdBQnFJZ1lnQUNnQ0VFR3h6Z0JzSWd0cUlRZ2dCaUFBS0FJSUlnMUJEWFFnQUNnQ0dFRU5kQ0lLYXlJV2FpRU9JQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQWdnRFVHMjF3QnNJQXBxSWhKcUloQWdBQ2dDSENJTUlBQW9BZ1FpQ1NBQUtBSVVJZ2RxSWc5cVFZMDNiQ0lSSUE5QjJ4QnNhaUlYSUFBb0Fnd2lEMEhQMHdCc0loTWdDVUgzRVd4cWFpSVVha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFRSUJSclFSSjJRZjhIY1dvc0FBQTZBQXNnQlNBQ0lBNGdDU0FNYXlJUUlBOGdCMnNpRkdwQjBTSnNJaGdnRUVIK01HeHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBRWdCU0FDSUE0Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ2lBRklBSWdCaUFMYXlJT0lBMUJ0aGRzSUFwcklnMXFJZ29nRnlBSElBeHFRWXU5ZjJ3aUN5QVBRYTlkYkNJUElBZEJzS0YvYkdwcWFpSUhha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFLSUFkclFSSjJRZjhIY1dvc0FBQTZBQWtnQlNBQ0lBNGdEV3NpQnlBTElCRWdERUhHNVFCc0lCTnJhbW9pRFdwQkVuWkIvd2R4YWl3QUFEb0FBeUFGSUFJZ0J5QU5hMEVTZGtIL0IzRnFMQUFBT2dBSUlBVWdBaUFHSUJacklnWWdHQ0FVUWQrSmYyeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFZZ0IydEJFblpCL3dkeGFpd0FBRG9BQnlBRklBSWdDQ0FTYXlJR0lCRWdEeUFKUWR4VWJHb2dERUdNZ1g5c2Ftb2lER3BCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQmlBTWEwRVNka0gvQjNGcUxBQUFPZ0FHSUFCQklHb2hBQ0FCUVFGcUlnRkJERWNOQUFzZ0dTUUdDK3dLQVJoL0l3WWhHU01HUWFBRGFpUUdJQUFvQXRBQ0lSd2dHU0lBSVFVZ0FTZ0NWQ0VCQTBBZ0FrRkFheTRCQUNBQktBS0FBV3dpQmlBQ0xnRmdJQUVvQXNBQmJDSUhhaUVOSUFJdUFSQWdBU2dDSUd3aURpQUNMZ0V3SUFFb0FtQnNJZ2hxUWREVUFHd2hDU0FGSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWhFZ0JpQUhheUlLUVprR2JHb2lEeUFOUWZuSkFHd2lFaUFDTGdFZ0lBRkJRR3NvQWdCc0lnWkI4ZGNBYkdwcUloTWdEaUFDTGdGd0lBRW9BdUFCYkNJTGFpSVhRWUk4YkNJVUlBNGdBaTRCVUNBQktBS2dBV3dpQjJwQnZzb0FiQ0lWSUFrZ0RrSGIvbjVzYW1wcUloWnFRUXQxTmdJQUlBVWdFeUFXYTBFTGRUWUNnQU1nQlNBSUlBdHFRY0sxZjJ3aUV5QUhJQWhxUWF0cWJDSVdJQWhCeXpWc0lBbHFhbW9pQ1NBUklBcEJsUjlzYWlJWUlBWkI0TU1BYkNBTlFhQVViQ0lhYTJvaUcycEJDM1UyQWlBZ0JTQWJJQWxyUVF0MU5nTGdBaUFGUVVCcklBY2dDMnBCK0ZWc0lna2dGaUFIUWJHYmYyeHFJQlZxYWlJVklBOGdCa0dNSUd3Z0VtdHFJZzlxUVF0MU5nSUFJQVVnRHlBVmEwRUxkVFlDd0FJZ0JTQVRJQXRCbEkwQmJHb2dGR29nQ1dvaUNTQVJJQXBCZ2tSc2FpSVBJQVpCakhWc0lBMUI4aHRzSWcxcmFpSVNha0VMZFRZQ1lDQUZJQklnQ1d0QkMzVTJBcUFDSUFVZ0NFR1dZbXdnRjBIVkZXd2dCeUFJYTBHQ1BHeHFJZ2dnRGtHekZHeHFhaUlPSUE4Z0RTQUdRY3RNYkdwcUlnMXFRUXQxTmdLQUFTQUZJQTBnRG10QkMzVTJBb0FDSUFVZ0NDQUhRYzRZYkdvZ0MwRy9rSDlzYWlJSUlCZ2dHaUFHUWU2dmYyeHFhaUlIYWtFTGRUWUNvQUVnQlNBSElBaHJRUXQxTmdMZ0FTQUZJQkVnQ2lBR2EwSEIyZ0JzYWtFTGRUWUN3QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0RFRUJhaUlNUVFoSERRQUxJQnhCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NFQ0lNSUFBb0FoZ2lDR29oQ3lBQUtBSUVJZ2NnQUNnQ0RDSUdha0hRMUFCc0lRb2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdBQ2dDQUVFTmRFR0FnSWpBQUdvaURTQU1JQWhySWhGQm1RWnNhaUlKSUF0Qitja0FiQ0lRSUFBb0FnZ2lERUh4MXdCc2Ftb2lEeUFISUFBb0Fod2lEbW9pRWtHQ1BHd2lFeUFISUFBb0FoUWlDR3BCdnNvQWJDSVhJQW9nQjBIYi9uNXNhbXBxSWhScVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lBOGdGR3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnRFNBUlFaVWZiR29pRHlBTVFlRERBR3dnQzBHZ0ZHd2lGR3RxSWhVZ0JpQU9ha0hDdFg5c0loWWdCaUFJYWtHcmFtd2lHQ0FLSUFaQnl6VnNhbXBxSWdwcVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCVWdDbXRCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ1NBTVFZd2diQ0FRYTJvaUNpQUlJQTVxUWZoVmJDSUpJQmNnR0NBSVFiR2JmMnhxYW1vaUVHcEJFblpCL3dkeGFpd0FBRG9BQWlBRklBSWdDaUFRYTBFU2RrSC9CM0ZxTEFBQU9nQUtJQVVnQWlBTklCRkJna1JzYWlJS0lBeEJqSFZzSUF0QjhodHNJZ3RyYWlJUUlCTWdGaUFPUVpTTkFXeHFhaUFKYWlJSmFrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQVFJQWxyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUFvZ0N5QU1RY3RNYkdwcUlnc2dCa0dXWW13Z0VrSFZGV3dnQ0NBR2EwR0NQR3hxSWdZZ0IwR3pGR3hxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUxJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUE4Z0ZDQU1RZTZ2ZjJ4cWFpSUhJQVlnQ0VIT0dHeHFJQTVCdjVCL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUJTQUZJQUlnQnlBR2EwRVNka0gvQjNGcUxBQUFPZ0FISUFVZ0FpQU5JQkVnREd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVExSERRQUxJQmtrQmd2Q0NnRVpmeU1HSVJvakJrSEFBMm9rQmlBQUtBTFFBaUVkSUJvaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVhBZ0FTZ0M0QUZzSWhaQkRYUWlDU0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9pREVIU3pBQnNJaEVnQmlBQ0xnRXdJQUVvQW1Cc0lncHFRYmZWQUd3aUVpQUdRZkMzZjJ4cWFtb2hDeUFHSUFwckloTkI4aDFzSUFsckloZ2dERUdVTUd3aUZ5QUdRWXU4ZjJ4cWFpRVFJQVVnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpQmlBQ1FVQnJMZ0VBSUFFb0FvQUJiQ0lNUWNiUkFHeHFJaFFnQWk0QklDQUJRVUJyS0FJQWJDSU5JQUl1QVdBZ0FTZ0N3QUZzSWc1cVFlTEdBR3dpRlNBTlFiMFJiR29pRzJvaUdTQUxha0VMZFRZQ0FDQUZJQmtnQzJ0QkMzVTJBcUFESUFVZ0J5QUtha0h2ZFd3Z0NXc2lDeUFLUWU1a2JDQVNhbW9pRWlBR0lBeEJraFJzYWlJWklCVWdEa0g4a1g5c2FpSVZhaUljYWtFTGRUWUNJQ0FGSUJ3Z0VtdEJDM1UyQW9BRElBVkJRR3NnQ3lBSFFZbm9mbXdnRVdwcUlnc2dCaUFNUWNsSGJHb2lFU0FOUWFNbmJDQU9RZUduZjJ4cUlnMXFJZzVxUVF0MU5nSUFJQVVnRGlBTGEwRUxkVFlDNEFJZ0JTQVRJQWRySUJacVFRSjBJZ3NnQmlBTVFiNmxmMnhxUVF0MUlnWnFOZ0pnSUFVZ0JpQUxhellDd0FJZ0JTQUhJQXByUWZqWkFHd2lCaUFIUWVhVGYyeHFJQmRxSUFscUlnY2dFU0FOYXlJSmFrRUxkVFlDZ0FFZ0JTQUpJQWRyUVF0MU5nS2dBaUFGSUFZZ0NrR1pLMnhxSUJocUlnY2dHU0FWYXlJS2FrRUxkVFlDb0FFZ0JTQUtJQWRyUVF0MU5nS0FBaUFGSUJRZ0cyc2lCeUFRYWtFTGRUWUN3QUVnQlNBSElCQnJRUXQxTmdMZ0FTQUNRUUpxSVFJZ0FVRUVhaUVCSUFWQkJHb2hCU0FJUVFGcUlnaEJDRWNOQUFzZ0hVR0FmV29oQWtFQUlRRURRQ0FBS0FJY1FRMTBJZ29nQUNnQ0JDSUZJQUFvQWhRaUNHb2lCa0hTekFCc0lnNGdCU0FBS0FJTUlnZHFRYmZWQUd3aUR5QUZRZkMzZjJ4cWFtb2hEQ0FGSUFkckloRkI4aDFzSUFwckloSWdCa0dVTUd3aUZpQUZRWXU4ZjJ4cWFpRUxJQVFnQVVFQ2RDQURhaWdDQUdvaUJTQUNJQUFvQWdCQkRYUkJnSUNJd0FCcUlnWWdBQ2dDRUNJSlFjYlJBR3hxSWhjZ0FDZ0NDQ0lRSUFBb0FoZ2lEV3BCNHNZQWJDSVRJQkJCdlJGc2FpSVlhaUlVSUF4cVFSSjJRZjhIY1dvc0FBQTZBQUFnQlNBQ0lCUWdER3RCRW5aQi93ZHhhaXdBQURvQURTQUZJQUlnQmlBSlFaSVViR29pRENBVElBMUIvSkYvYkdvaUUyb2lGQ0FISUFocVFlOTFiQ0FLYXlJVklBOGdCMEh1Wkd4cWFpSVBha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFVSUE5clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBWWdDVUhKUjJ4cUlnOGdFRUdqSjJ3Z0RVSGhwMzlzYWlJUWFpSU5JQlVnRGlBSVFZbm9mbXhxYWlJT2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQTVyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUFZZ0NVRytwWDlzYWlJR0lBb2dFU0FJYTBFTmRHb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQmlBSmEwRVNka0gvQjNGcUxBQUFPZ0FLSUFVZ0FpQVBJQkJySWdZZ0ZpQUlJQWRyUWZqWkFHd2lDU0FLSUFoQjVwTi9iR3BxYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUdJQWhyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUF3Z0Uyc2lDQ0FTSUFrZ0IwR1pLMnhxYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQUlJQWRyUVJKMlFmOEhjV29zQUFBNkFBZ2dCU0FDSUJjZ0dHc2lDQ0FMYWtFU2RrSC9CM0ZxTEFBQU9nQUdJQVVnQWlBSUlBdHJRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVPUncwQUN5QWFKQVlMbmdzQkczOGpCaUVkSXdaQjRBTnFKQVlnQUNnQzBBSWhIeUFkSWdBaEJTQUJLQUpVSVFFRFFDQUJLQUlBSUFJdUFRQkJEWFJzUVlBSWNpSUxJQUl1QVdBZ0FTZ0N3QUZzSWdoQmhHUnNhaUVSSUFJdUFTQWdBVUZBYXlnQ0FHd2lEQ0FDUVVCckxnRUFJQUVvQW9BQmJDSVRheUVISUFJdUFSQWdBU2dDSUd3aUJpQUNMZ0V3SUFFb0FtQnNJZ29nQWk0QmNDQUJLQUxnQVd3aURXc2lGbXBCbWpWc0loY2dCa0h4SUd4cUlRa2dBU2dDb0FFZ0FpNEJVRUd4emdCc2JDSU9JQVlnRFdzaUdFR0MyZ0JzYWlJUElBMUJvNTBCYkNBS1FmYXBmMndpR1d0cUlSSWdEeUFLUWVaS2JDSWFJQVpCNTdoL2JHcHFJUW9nQlNBU0lBc2dDRUdkeVFCc2FpSVBJQXdnRTJvaUUwSE8xUUJzSWhRZ0IwSDJBbXdpRzJwcUloeHFRUXQxTmdJQUlBVWdIQ0FTYTBFTGRUWUN3QU1nQlNBUklCTkJ6REpzSWhJZ0IwSFFGbXdpSEdwcUloNGdDV3BCQzNVMkFpQWdCU0FlSUFsclFRdDFOZ0tnQXlBRlFVQnJJQmhCc2M0QWJDQU9heUlKSUFzZ0NFRytwWDlzYWlJTElBZEJvQzFzYWlJSWFrRUxkVFlDQUNBRklBZ2dDV3RCQzNVMkFvQURJQVVnQmlBTmFrSG9KR3dpQ0NBR1Fia2ViQ0FhYWlBT2Eyb2lCaUFSSUJzZ0RFR1QzQUJzSWd3Z0ZHdHFhaUlKYWtFTGRUWUNZQ0FGSUFrZ0JtdEJDM1UyQXVBQ0lBVWdIQ0FQSUJKcmFpSUdJQmNnRmtIYzlINXNhaUlKYWtFTGRUWUNnQUVnQlNBR0lBbHJRUXQxTmdMQUFpQUZJQWdnRGlBWmFpQU5RYTlJYkdwcUlnWWdCMEc1Wm13aURTQVBJQk5CZ2lOc0lnNXJhaUlJYWtFTGRUWUNvQUVnQlNBSUlBWnJRUXQxTmdLZ0FpQUZJQW9nRVNBTklBNGdER3RxYWlJR2FrRUxkVFlDd0FFZ0JTQUdJQXByUVF0MU5nS0FBaUFGSUFzZ0IwSEFwWDlzYWtFTGRUWUM0QUVnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0VFRUJhaUlRUVFoSERRQUxJQjlCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NBRUVOZEVHQWdJakFBR29pRGlBQUtBSVlJZ3RCaEdSc2FpRU5JQUFvQWdnaUNDQUFLQUlRSWc5cklSQWdBQ2dDQkNJSElBQW9BZ3dpQlNBQUtBSWNJZ1pySWhOcVFabzFiQ0lWSUFkQjhTQnNhaUVNSUFBb0FoUkJzYzRBYkNJUklBY2dCbXNpRmtHQzJnQnNhaUlKSUFaQm81MEJiQ0FGUWZhcGYyd2lGMnRxSVFvZ0NTQUZRZVpLYkNJWUlBZEI1N2gvYkdwcUlRa2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBSWdEaUFMUVozSkFHeHFJaElnQ0NBUGFpSVBRYzdWQUd3aUdTQVFRZllDYkNJYWFtb2lGQ0FLYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQVVnQWlBVUlBcHJRUkoyUWY4SGNXb3NBQUE2QUE0Z0JTQUNJQTBnRDBITU1td2lDaUFRUWRBV2JDSVVhbW9pR3lBTWFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQWJJQXhyUVJKMlFmOEhjV29zQUFBNkFBMGdCU0FDSUE0Z0MwRytwWDlzYWlJT0lCQkJvQzFzYWlJTElCWkJzYzRBYkNBUmF5SU1ha0VTZGtIL0IzRnFMQUFBT2dBQ0lBVWdBaUFMSUF4clFSSjJRZjhIY1dvc0FBQTZBQXdnQlNBQ0lBMGdHaUFJUVpQY0FHd2lDeUFaYTJwcUlnZ2dCaUFIYWtIb0pHd2lEQ0FZSUFkQnVSNXNhaUFSYTJvaUIycEJFblpCL3dkeGFpd0FBRG9BQXlBRklBSWdDQ0FIYTBFU2RrSC9CM0ZxTEFBQU9nQUxJQVVnQWlBVUlCSWdDbXRxSWdjZ0ZTQVRRZHowZm14cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFRZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0VFRzVabXdpQnlBU0lBOUJnaU5zSWdocmFpSUtJQXdnRVNBWGFpQUdRYTlJYkdwcUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQW9nQm10QkVuWkIvd2R4YWl3QUFEb0FDU0FGSUFJZ0RTQUhJQWdnQzJ0cWFpSUhJQWxxUVJKMlFmOEhjV29zQUFBNkFBWWdCU0FDSUFjZ0NXdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdEaUFRUWNDbGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFjZ0FFRWdhaUVBSUFGQkFXb2lBVUVQUncwQUN5QWRKQVlMMnd3QkhuOGpCaUVnSXdaQmdBUnFKQVlnQUNnQzBBSWhJaUFnSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0VnSUFGQlFHc29BZ0JzSWhBZ0FpNEJZQ0FCS0FMQUFXd2lEMnNpRVVIVUVXd2hEQ0FDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lCMm9oQ2lBR0lBSXVBWEFnQVNnQzRBRnNJZzFxUWZ6RkFHd2lGeUFLUWVuUEFHd2lFeUFHSUFJdUFUQWdBU2dDWUd3aUNHcEJ6dFlBYkNJTElBWkIxdTErYkdwcWFpRU9JQVlnRFd0QnRqbHNJaGtnQ2tIVkttd2lHQ0FHSUFoclFhTWFiQ0lTSUFaQndvcC9iR3BxYWlFS0lBZ2dEV29pQmtHclZXd2lHaUFISUFocVFmQUliQ0lVSUFoQnpRUnNJQXRxYW1vaEN5QUdRWmV3ZjJ3aUd5QUhJQWhyUVluYUFHd2lIQ0FJUVpyK0FHd2dFbXBxYWlFSUlBVWdBU2dDQUNBQ0xnRUFRUTEwYkVHQUNISWlCaUFDUVVCckxnRUFJQUVvQW9BQmJDSVNRYy9UQUd3aUhXb2lGU0FSUWVQWUFHd2lFU0FQUVlPa0FXeHFJaDVxSWg4Z0RtcEJDM1UyQWdBZ0JTQWZJQTVyUVF0MU5nTGdBeUFGSUFzZ0JpQVNRZEVpYkNJT2FpSVNJQXdnRUVITk9XeHFJaDlxSWlGcVFRdDFOZ0lnSUFVZ0lTQUxhMEVMZFRZQ3dBTWdCVUZBYXlBSElBMXFRYktwZjJ3aUN5QVVJQWRCK3JkL2JHb2dFMnBxSWhNZ0JpQU9heUlPSUJFZ0VFSENXV3hxSWhCcUloRnFRUXQxTmdJQUlBVWdFU0FUYTBFTGRUWUNvQU1nQlNBYUlBMUJtTVFBYkdvZ0Yyb2dDMm9pQ3lBR0lCMXJJZ1lnRENBUFFiQmZiR29pRDJvaURHcEJDM1UyQW1BZ0JTQU1JQXRyUVF0MU5nS0FBeUFGSUJzZ0RVR0Z5UUZzYWlBWmFpQU5JQWRyUWFNYWJDSU5haUlNSUFZZ0Qyc2lCbXBCQzNVMkFvQUJJQVVnQmlBTWEwRUxkVFlDNEFJZ0JTQWNJQWRCK2s1c2FpQVlhaUFOYWlJR0lBNGdFR3NpQjJwQkMzVTJBcUFCSUFVZ0J5QUdhMEVMZFRZQ3dBSWdCU0FJSUJJZ0gyc2lCbXBCQzNVMkFzQUJJQVVnQmlBSWEwRUxkVFlDb0FJZ0JTQUtJQlVnSG1zaUJtcEJDM1UyQXVBQklBVWdCaUFLYTBFTGRUWUNnQUlnQWtFQ2FpRUNJQUZCQkdvaEFTQUZRUVJxSVFVZ0NVRUJhaUlKUVFoSERRQUxJQ0pCZ0gxcUlRSkJBQ0VCQTBBZ0FDZ0NDQ0lOSUFBb0FoZ2lDR3NpQzBIVUVXd2hFQ0FBS0FJRUlnVWdBQ2dDRkNJSmFpRVBJQVVnQUNnQ0hDSUdha0g4eFFCc0loWWdEMEhwendCc0loRWdCU0FBS0FJTUlnZHFRYzdXQUd3aUNpQUZRZGJ0Zm14cWFtb2hEQ0FGSUFaclFiWTViQ0lYSUE5QjFTcHNJaE1nQlNBSGEwR2pHbXdpRGlBRlFjS0tmMnhxYW1vaER5QUdJQWRxSWdWQnExVnNJaGdnQnlBSmFrSHdDR3dpRWlBS0lBZEJ6UVJzYW1wcUlRb2dCVUdYc0g5c0loa2dDU0FIYTBHSjJnQnNJaG9nRGlBSFFacitBR3hxYW1vaERpQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLQUlBUVExMFFZQ0FpTUFBYWlJSElBQW9BaEFpRkVIUDB3QnNJaHRxSWh3Z0MwSGoyQUJzSWdzZ0NFR0RwQUZzYWlJZGFpSVZJQXhxUVJKMlFmOEhjV29zQUFBNkFBQWdCU0FDSUJVZ0RHdEJFblpCL3dkeGFpd0FBRG9BRHlBRklBSWdCeUFVUWRFaWJDSU1haUlVSUJBZ0RVSE5PV3hxSWhWcUloNGdDbXBCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnSGlBS2EwRVNka0gvQjNGcUxBQUFPZ0FPSUFVZ0FpQUhJQXhySWd3Z0N5QU5RY0paYkdvaURXb2lDaUFHSUFscVFiS3BmMndpQ3lBUklCSWdDVUg2dDM5c2FtcHFJaEZxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUFvZ0VXdEJFblpCL3dkeGFpd0FBRG9BRFNBRklBSWdCeUFiYXlJSElCQWdDRUd3WDJ4cUlnaHFJaEFnRmlBWUlBWkJtTVFBYkdwcUlBdHFJZ3BxUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUJBZ0NtdEJFblpCL3dkeGFpd0FBRG9BRENBRklBSWdCeUFJYXlJSElCY2dHU0FHUVlYSkFXeHFhaUFHSUFsclFhTWFiQ0lHYWlJSWFrRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQWhyUVJKMlFmOEhjV29zQUFBNkFBc2dCU0FDSUF3Z0RXc2lCeUFUSUJvZ0NVSDZUbXhxYWlBR2FpSUpha0VTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFsclFSSjJRZjhIY1dvc0FBQTZBQW9nQlNBQ0lCUWdGV3NpQ1NBT2FrRVNka0gvQjNGcUxBQUFPZ0FHSUFVZ0FpQUpJQTVyUVJKMlFmOEhjV29zQUFBNkFBa2dCU0FDSUJ3Z0hXc2lDU0FQYWtFU2RrSC9CM0ZxTEFBQU9nQUhJQVVnQWlBSklBOXJRUkoyUWY4SGNXb3NBQUE2QUFnZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QWdKQVlMN2dzQkhIOGpCaUVYSXdaQmdBSnFKQVlnQUNnQzBBSWhJQ0FYSWdBaEJTQUJLQUpVSVFGQkNDRUlBMEFDZndKQUlBSXVBUkFpQ2lBQ0xnRWdJZ1p5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFR0RBSUZJQUpCUUdzdUFRQUVmMEVBSVFZTUF3VWdBaTRCVUFSL1FRQWhCZ3dFQlNBQ0xnRmdCSDlCQUNFR0RBVUZJQUl1QVhBRWYwRUFJUVlNQmdVZ0JTQUJLQUlBSUFJdUFRQkJBblJzSWdZMkFnQWdCU0FHTmdJZ0lBVkJRR3NnQmpZQ0FDQUZJQVkyQW1BZ0JTQUdOZ0tBQVNBRklBWTJBcUFCSUFVZ0JqWUN3QUZCT0FzTEN3c0xDd3dCQ3lBQ0xnRndJQUVvQXVBQmJDSUhJQUl1QVRBZ0FTZ0NZR3dpRFdvaUN5QUNMZ0ZRSUFFb0FxQUJiQ0lNSUFvZ0FTZ0NJR3dpQ21vaUNXcEJvY3NBYkNJUElBdEJ1NEovYkdvaUN5QUhJQXBxUWJOR2JDSU9JQWRCamhOc2Ftb2hCeUFQSUFsQmhHZHNhaUlKSUE0Z0NrR0w0QUJzYW1vaENpQUpJQXdnRFdwQi9kdCtiQ0lKSUF4QnM0TUJiR3BxSVF3Z0JTQUtJQUVvQW9BQklBSkJRR3N1QVFCQkRYUnNJZzhnQVNnQ0FDQUNMZ0VBUVExMGJFR0FDSElpRG1vaUVpQUJRVUJyS0FJQUlBWkJFSFJCRUhWc0lnWWdBaTRCWUNBQktBTEFBV3dpRVdwQjBTSnNJaE1nQmtIK01HeHFJZ1pxSWhScVFRdDFOZ0lBSUFVZ0ZDQUthMEVMZFRZQzRBRWdCU0FMSUFrZ0RVSFV4QUZzYW1vaURTQU9JQTlySWdvZ0V5QVJRZCtKZjJ4cUlndHFJZ2xxUVF0MU5nSWdJQVVnQ1NBTmEwRUxkVFlDd0FFZ0JVRkFheUFNSUFvZ0Myc2lEV3BCQzNVMkFnQWdCU0FOSUF4clFRdDFOZ0tnQVNBRklBY2dFaUFHYXlJR2FrRUxkVFlDWUNBR0lBZHJRUXQxSVFaQklBdEJBblFnQldvZ0JqWUNBQ0FGUVFScUlRVWdBVUVFYWlFQklBSkJBbW9oQWlBSVFYOXFJUVlnQ0VFQlN3UkFJQVloQ0F3QkN3c2dJRUdBZldvaEFrRUFJUUVEUUNBQUtBSUlJZzBnQUNnQ0dDSU1heUlPUWRRUmJDRUtJQUFvQWdRaUJTQUFLQUlVSWdocUlSQWdCU0FBS0FJY0lnWnFRZnpGQUd3aUVpQVFRZW5QQUd3aUVTQUZJQUFvQWd3aUIycEJ6dFlBYkNJSklBVkIxdTErYkdwcWFpRUxJQVVnQm10QnRqbHNJaE1nRUVIVkttd2lGQ0FGSUFkclFhTWFiQ0lQSUFWQndvcC9iR3BxYWlFUUlBWWdCMm9pQlVHclZXd2lHQ0FISUFocVFmQUliQ0laSUFrZ0IwSE5CR3hxYW1vaENTQUZRWmV3ZjJ3aUdpQUlJQWRyUVluYUFHd2lHeUFQSUFkQm12NEFiR3BxYWlFUElBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBQW9BZ0JCRFhSQmdJQ0l3QUJxSWdjZ0FDZ0NFQ0lWUWMvVEFHd2lIR29pSFNBT1FlUFlBR3dpRGlBTVFZT2tBV3hxSWg1cUloWWdDMnBCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRmlBTGEwRVNka0gvQjNGcUxBQUFPZ0FQSUFVZ0FpQUhJQlZCMFNKc0lndHFJaFVnQ2lBTlFjMDViR29pRm1vaUh5QUpha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFmSUFsclFSSjJRZjhIY1dvc0FBQTZBQTRnQlNBQ0lBY2dDMnNpQ3lBT0lBMUJ3bGxzYWlJTmFpSUpJQVlnQ0dwQnNxbC9iQ0lPSUJFZ0dTQUlRZnEzZjJ4cWFtb2lFV3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQ1NBUmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQnhySWdjZ0NpQU1RYkJmYkdvaURHb2lDaUFTSUJnZ0JrR1l4QUJzYW1vZ0Rtb2lDV3BCRW5aQi93ZHhhaXdBQURvQUF5QUZJQUlnQ2lBSmEwRVNka0gvQjNGcUxBQUFPZ0FNSUFVZ0FpQUhJQXhySWdjZ0V5QWFJQVpCaGNrQmJHcHFJQVlnQ0d0Qm94cHNJZ1pxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQVFnQlNBQ0lBY2dER3RCRW5aQi93ZHhhaXdBQURvQUN5QUZJQUlnQ3lBTmF5SUhJQlFnR3lBSVFmcE9iR3BxSUFacUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFVZ0JTQUNJQWNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FDaUFGSUFJZ0ZTQVdheUlJSUE5cVFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBZ2dEMnRCRW5aQi93ZHhhaXdBQURvQUNTQUZJQUlnSFNBZWF5SUlJQkJxUVJKMlFmOEhjV29zQUFBNkFBY2dCU0FDSUFnZ0VHdEJFblpCL3dkeGFpd0FBRG9BQ0NBQVFTQnFJUUFnQVVFQmFpSUJRUWhIRFFBTElCY2tCZ3ZURXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBRkJBaEE1SVF3Z0FrRUNFRGtoRGlBRUtBSUFJZ2NoQWlBTUlBNUJmMm9pRUd4QkFYUWdCMm9oQlFOQUlBWWdERWdFUUNBRlFRQTdBUUFnQWtFQU93RUFJQUpCQW1vaEFpQUZRUUpxSVFVZ0JrRUJhaUVHREFFTEN5QUhJUUlnREVGL2FpSVJRUUYwSUFkcUlRVkJBQ0VHQTBBZ0JpQU9TQVJBSUFWQkFEc0JBQ0FDUVFBN0FRQWdERUVCZENBQ2FpRUNJQXhCQVhRZ0JXb2hCU0FHUVFGcUlRWU1BUXNMSUFSQmtJRElBR29oQWtFQUlBeHJJUklnQUNBQlFRRjBRUUpxYWlFTlFRRWhDMEVBSVFVZ0RFRUJha0VCZENBSGFpRUhBbjhDUUFOQUFrQWdDeUFRVGcwQ0lBVWhBRUVCSVFrRFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUFrQWdFa0VCZENBSGFpSUZMZ0VBSWdaQkFFb0VRQ0FISUFZN0FRQWdCa0VIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCVUYrYWk0QkFDSUdJUWdnQmtFQVNpRUtJQVV1QVFJaUJVRUFUQVJBSUFvRVFDQUhJQVk3QVFBZ0NFRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnWW9BZ0FnQ1VnRVFDQUdJQWsyQWdBTElBVkJBblFnQkdwQmpJRFFBR29nQ3pZQ0FBd0NDeUFIUVg1cUxnRUFJZ1ZCQUVvRVFDQUhJQVU3QVFBZ0JVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdDeUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWVNBMEFCcUlnVW9BZ0FnQ1U0TkFpQUZJQWsyQWdBRklBQkIvLzhCU2cwR0lBY2dBRUVCYWlJRk93RUFJQVJCa0lESUFHb2dBRUVDZEdvZ0JVRVFkRUVRZFRZQ0FDQUVRWkNBMEFCcUlBQkJCMndpQUVFQ2RHcEJBVFlDQUNBQVFRSjBJQVJxUVpTQTBBQnFJQWsyQWdBZ0FFRUNkQ0FFYWtHWWdOQUFhaUFMTmdJQUlBQkJBblFnQkdwQm5JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhQ0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2tnTkFBYWlBTE5nSUFJQUJCQW5RZ0JHcEJxSURRQUdvZ0N6WUNBQ0FGSVFBTERBRUxJQW9FUUFKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUlRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJpQUxJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3lBSFFYNXFMZ0VBSWdaQkFFd0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlDQTBBQnFJZ1lvQWdBZ0NVb0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0N6WUNBQXdCQ3dKQUlBVkJBblFnQkdwQmpJRElBR29vQWdBaUJTQUdRUUowSUFScVFZeUF5QUJxS0FJQUlnWktCRUFnQnlBR093RUFJQUloQ0VFQUlRb0RRQ0FLSUFCT0JFQWdCaUVGREFNTElBVWdDQ2dDQUVZRVFDQUlJQVkyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBVWdCeUFGT3dFQUlBVWdCa2dFUUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZzBESUFZZ0NDZ0NBRVlFUUNBSUlBVTJBZ0FMSUFoQkJHb2hDQ0FLUVFGcUlRb01BQUFMQUFzTEN5QUZRUkIwUVJCMVFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUJpQUdLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUJpQUpJQVlvQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFDd1VnQjBFQU93RUFDeUFOUVFKcUlRMGdDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FOYWtFRWFpRU5JQXRCQVdvaEN5QUFJUVVnQjBFRWFpRUhEQUVMQzBFQVFRTkJxS1VCSUE4UVBVRi9EQUVMSUFSQkRHb2hCMEVCSVFCQkFTRURBMEFnQXlBRlRBUkFJQU1nQWlnQ0FDSUdSZ1JBSUFCQkFXb2hBUVVnQUNFQklBWkJBblFnQkdwQmpJRElBR29vQWdBaEFBc2dBaUFBTmdJQUlBRWhBQ0FEUVFGcUlRTWdBa0VFYWlFQ0RBRUxDeUFFSUFCQmYyb2lBRFlDQ0NBQUJIOGdCMEVBSUFCQkFuUVFSUm9nQkVHUWdDaHFRUUFnQUVFRWRCQkZHa0VBSVFFRFFDQUJJQUJJQkVBZ0JFR01nQWhxSUFGQkFuUWlBa0VDZEdvZ0REWUNBQ0FFUVl5QUNHb2dBa0VCY2tFQ2RHcEJBRFlDQUNBRVFZeUFDR29nQWtFQ2NrRUNkR29nRGpZQ0FDQUVRWXlBQ0dvZ0FrRURja0VDZEdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQlVnRVFDQUVRUXhxSUFSQmtJRElBR29nQVVFQ2RHb29BZ0JCZjJvaUFrRUNkR29pQXlBRVFaQ0EwQUJxSUFGQkIyd2lBRUVDZEdvb0FnQWdBeWdDQUdvMkFnQWdCRUdRZ0NocUlBSkJBWFFpQTBFRGRHb2lCeUFIS3dNQUlBQkJBblFnQkdwQmxJRFFBR29vQWdDM29Ea0RBQ0FFUVpDQUtHb2dBMEVCY2tFRGRHb2lBeUFES3dNQUlBQkJBblFnQkdwQm1JRFFBR29vQWdDM29Ea0RBQ0FFUVl5QUNHb2dBa0VDZENJQ1FRSjBhaUlES0FJQUlBQkJBblFnQkdwQm5JRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUUZ5UVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCb0lEUUFHb29BZ0FpQjBnRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRSnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJwSURRQUdvb0FnQWlCMG9FUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFOeVFRSjBhaUlDS0FJQUlBQkJBblFnQkdwQnFJRFFBR29vQWdBaUFFZ0VRQ0FDSUFBMkFnQUxJQUZCQVdvaEFRd0JDd3NnQkNnQ0NDRUJRUUFoQUFOL0lBQWdBVWdFZnlBRVFaQ0FLR29nQUVFQmRDSUNRUU4wYWlJRElBTXJBd0FnQkVFTWFpQUFRUUowYWlnQ0FMY2lGYU01QXdBZ0JFR1FnQ2hxSUFKQkFYSkJBM1JxSWdJZ0Fpc0RBQ0FWb3prREFDQUFRUUZxSVFBTUFRVkJBQXNMQlVFQUN3c2hGQ0FQSkFZZ0ZBdmFDQUVXZnlNR0lSZ2pCa0hnQVdva0JpQUFLQUxRQWlFYUlCZ2lBQ0VGSUFFb0FsUWhBUU5BSUFKQlFHc3VBUUFnQVNnQ2dBRnNJZ2dnQWk0QllDQUJLQUxBQVd3aUNXdEJ0emhzSWd3Z0FpNEJJQ0FCUVVCcktBSUFiQ0lISUFoclFaSVViQ0lTSUFFb0FnQWdBaTRCQUVFTmRHeEJnQWh5SWdvZ0NFR1ZpbjlzYW1wcUlRMGdBaTRCRUNBQktBSWdiQ0lPSUFJdUFUQWdBU2dDWUd3aUMycEI3enRzSWhNZ0RpQUxhMEh6Q213aUZHb2dDeUFDTGdGUUlBRW9BcUFCYkNJTGFrSGhwMzlzSWhWcUlROGdCU0FLSUFjZ0NXb2lFVUhHMFFCc2FpSVdJQXdnQ1VHRGUyeHFhaUlKSUFzZ0RtcEJveWRzSWc0Z0V5QVVhMm9pREdwQkMzVTJBZ0FnQlNBSklBeHJRUXQxTmdMQUFTQUZJQTBnRDJwQkMzVTJBaUFnQlNBTklBOXJRUXQxTmdLZ0FTQUZRVUJySUJZZ0VpQUhRZkhoZm14cWFpSUpJQlVnRGlBTFFkNzNBR3hxYWlJSGFrRUxkVFlDQUNBRklBa2dCMnRCQzNVMkFvQUJJQVVnQ2lBSUlCRnJRY0hhQUd4cVFRdDFOZ0pnSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBWkJBV29pQmtFSVJ3MEFDeUFhUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHhCRFhRaUNTQUFLQUlFSWdVZ0FDZ0NGQ0lHYWlJSFFkTE1BR3dpRUNBRklBQW9BZ3dpQ0dwQnQ5VUFiQ0lNSUFWQjhMZC9iR3BxYWlFTklBVWdDR3NpRTBIeUhXd2dDV3NpRkNBSFFaUXdiQ0lTSUFWQmk3eC9iR3BxSVE0Z0JDQUJRUUowSUFOcUtBSUFhaUlGSUFJZ0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBQUtBSVFJZ3BCeHRFQWJHb2lGU0FBS0FJSUlnc2dBQ2dDR0NJUGFrSGl4Z0JzSWhFZ0MwRzlFV3hxSWhacUloY2dEV3BCRW5aQi93ZHhhaXdBQURvQUFDQUZJQUlnRnlBTmEwRVNka0gvQjNGcUxBQUFPZ0FOSUFVZ0FpQUhJQXBCa2hSc2FpSU5JQkVnRDBIOGtYOXNhaUlSYWlJWElBWWdDR3BCNzNWc0lBbHJJaGtnRENBSVFlNWtiR3BxSWd4cVFSSjJRZjhIY1dvc0FBQTZBQUVnQlNBQ0lCY2dER3RCRW5aQi93ZHhhaXdBQURvQURDQUZJQUlnQnlBS1FjbEhiR29pRENBTFFhTW5iQ0FQUWVHbmYyeHFJZ3RxSWc4Z0dTQVFJQVpCaWVoK2JHcHFJaEJxUVJKMlFmOEhjV29zQUFBNkFBSWdCU0FDSUE4Z0VHdEJFblpCL3dkeGFpd0FBRG9BQ3lBRklBSWdCeUFLUWI2bGYyeHFJZ2NnQ1NBVElBWnJRUTEwYWlJS2FrRVNka0gvQjNGcUxBQUFPZ0FESUFVZ0FpQUhJQXByUVJKMlFmOEhjV29zQUFBNkFBb2dCU0FDSUF3Z0Myc2lCeUFTSUFZZ0NHdEIrTmtBYkNJS0lBa2dCa0htazM5c2FtcHFJZ1pxUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUFjZ0JtdEJFblpCL3dkeGFpd0FBRG9BQ1NBRklBSWdEU0FSYXlJR0lCUWdDaUFJUVprcmJHcHFJZ2hxUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUFZZ0NHdEJFblpCL3dkeGFpd0FBRG9BQ0NBRklBSWdGU0FXYXlJR0lBNXFRUkoyUWY4SGNXb3NBQUE2QUFZZ0JTQUNJQVlnRG10QkVuWkIvd2R4YWl3QUFEb0FCeUFBUVNCcUlRQWdBVUVCYWlJQlFRZEhEUUFMSUJna0JndVJCd0VWZnlNR0lSUWpCa0hBQVdva0JpQUFLQUxRQWlFWklCUWlBQ0VGSUFFb0FsUWhBUU5BSUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNDQUJLQUtBQVNBQ1FVQnJMZ0VBUWFFdGJHd2lER29pRFNBQlFVQnJLQUlBSUFJdUFTQkJzYzRBYkd3aUVXb2lDaUFDTGdFUUlBRW9BaUJzSWdZZ0FpNEJVQ0FCS0FLZ0FXd2lDMnBCdGhkc0lnNGdCaUFDTGdFd0lBRW9BbUJzSWdkcVFRMTBhaUlTYWtFTGRUWUNBQ0FGSUFvZ0VtdEJDM1UyQXFBQklBVWdDQ0FNUVg1c2FrRUxkU0lJSUFZZ0Iyc2dDMnRCQW5RaUJtbzJBaUFnQlNBSUlBWnJOZ0tBQVNBRlFVQnJJQTBnRVdzaUJpQU9JQXNnQjJ0QkRYUnFJZ3RxUVF0MU5nSUFJQVVnQmlBTGEwRUxkVFlDWUNBQ1FRSnFJUUlnQVVFRWFpRUJJQVZCQkdvaEJTQUpRUUZxSWdsQkNFY05BQXNnR1VHQWZXb2hBa0VBSVFFRFFDQUFLQUlBUVExMFFZQ0FpTUFBYWlJR0lBQW9BaEJCc2M0QWJDSU9haUVRSUFBb0FnZ2lDRUVOZENBQUtBSVlRUTEwSWd4ckloSWdCbW9oRFNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnRENBSVFiYlhBR3hxSWhVZ0VHb2lEeUFBS0FJY0lna2dBQ2dDQkNJTElBQW9BaFFpQjJvaUNtcEJqVGRzSWhFZ0NrSGJFR3hxSWhZZ0FDZ0NEQ0lLUWMvVEFHd2lGeUFMUWZjUmJHcHFJaE5xUVJKMlFmOEhjU0FDYWl3QUFEb0FBQ0FGSUE4Z0UydEJFblpCL3dkeElBSnFMQUFBT2dBTElBVWdEU0FMSUFscklnOGdDaUFIYXlJVGFrSFJJbXdpR0NBUFFmNHdiR29pRDJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FCSUFVZ0RTQVBhMEVTZGtIL0IzRWdBbW9zQUFBNkFBb2dCU0FJUWJZWGJDQU1heUlJSUFZZ0Rtc2lER29pRFNBV0lBY2dDV3BCaTcxL2JDSU9JQXBCcjExc0lnb2dCMEd3b1g5c2FtcHFJZ2RxUVJKMlFmOEhjU0FDYWl3QUFEb0FBaUFGSUEwZ0IydEJFblpCL3dkeElBSnFMQUFBT2dBSklBVWdEQ0FJYXlJSElBNGdFU0FKUWNibEFHd2dGMnRxYWlJSWFrRVNka0gvQjNFZ0Ftb3NBQUE2QUFNZ0JTQUhJQWhyUVJKMlFmOEhjU0FDYWl3QUFEb0FDQ0FGSUFZZ0Vtc2lCaUFZSUJOQjM0bC9iR29pQjJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FFSUFVZ0JpQUhhMEVTZGtIL0IzRWdBbW9zQUFBNkFBY2dCU0FRSUJWcklnWWdFU0FLSUF0QjNGUnNhaUFKUVl5QmYyeHFhaUlKYWtFU2RrSC9CM0VnQW1vc0FBQTZBQVVnQlNBR0lBbHJRUkoyUWY4SGNTQUNhaXdBQURvQUJpQUFRU0JxSVFBZ0FVRUJhaUlCUVFaSERRQUxJQlFrQmd1Y0JnRVNmeU1HSVJRakJrR2dBV29rQmlBQUtBTFFBaUVXSUJRaUFDRUZJQUVvQWxRaEFRTkFJQVVnQWk0QklDQUJRVUJyS0FJQWJDSUpJQUpCUUdzdUFRQWdBU2dDZ0FGc0lnWnFRY3d5YkNJS0lBRW9BZ0FnQWk0QkFFRU5kR3hCZ0FoeUlnNGdDU0FHYXlJSlFkQVdiR29pQm1vaUN5QUNMZ0VRSUFFb0FpQnNJZ3dnQWk0Qk1DQUJLQUpnYkNJUGFrR2FOV3dpRFNBTVFmRWdiR29pREdwQkMzVTJBZ0FnQlNBTElBeHJRUXQxTmdLQUFTQUZJQVlnQ21zaUJpQU5JQTlCM1BSK2JHb2lDbXBCQzNVMkFpQWdCU0FHSUFwclFRdDFOZ0pnSUFWQlFHc2dEaUFKUWNDbGYyeHFRUXQxTmdJQUlBSkJBbW9oQWlBQlFRUnFJUUVnQlVFRWFpRUZJQWRCQVdvaUIwRUlSdzBBQ3lBV1FZQjlhaUVDUVFBaEFRTkFJQUFvQWd3aUJ5QUFLQUljSWdacUlRZ2dCQ0FCUVFKMElBTnFLQUlBYWlJRklBQW9BaFJCRFhRaUNTQUhJQVpySWdaQjR4TnNJZ3RxSWd3Z0NFSHZQR3dpRHlBQUtBSUVJZ2RCczlrQWJHcHFJZzBnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lDaUFBS0FJUUlnNUJuY2tBYkdvaUZTQUFLQUlJSWhBZ0FDZ0NHQ0lSYWtHYU5Xd2lFaUFRUWZFZ2JHb2lFR29pRTJwQkVuWkIvd2R4SUFKcUxBQUFPZ0FBSUFVZ0V5QU5hMEVTZGtIL0IzRWdBbW9zQUFBNkFBa2dCU0FIUWRQUUFHd2dDRUhQSld3aUNHc2dDU0FMYXlBR1FReDBheUlMYXlJTklBb2dEa0dFWkd4cUloTWdFaUFSUWR6MGZteHFJaEZxSWhKcVFSSjJRZjhIY1NBQ2Fpd0FBRG9BQVNBRklCSWdEV3RCRW5aQi93ZHhJQUpxTEFBQU9nQUlJQVVnQnlBR2EwRU5kQ0FKYXlJSklBb2dEa0crcFg5c2FpSUdha0VTZGtIL0IzRWdBbW9zQUFBNkFBSWdCU0FHSUFsclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQnlBRklCTWdFV3NpQ1NBTElBZEJqQ2xzSUFocmFpSUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBTWdCU0FKSUFoclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQmlBRklBd2dCMEdVRG13Z0QydHFJZ2NnRlNBUWF5SUlha0VTZGtIL0IzRWdBbW9zQUFBNkFBUWdCU0FJSUFkclFSSjJRZjhIY1NBQ2Fpd0FBRG9BQlNBQVFTQnFJUUFnQVVFQmFpSUJRUVZIRFFBTElCUWtCZ3ZCREFFUWZ5TUdJUTRqQmtHQUFXb2tCaUFBS0FMUUFpRVVJQTRpQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3dpQlNBQ0xnRWdJQUZCUUdzb0FnQnNJZ2RxUVFKMElnZ2dBaTRCRUNBQktBSWdiQ0lHSUFJdUFUQWdBU2dDWUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0FDQUFJQWdnQm1zMkFtQWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lnSUFCQlFHc2dCU0FIYXpZQ0FDQUFJQUl1QVFJZ0FTZ0NCR3dpQlNBQ0xnRWlJQUVvQWtSc0lnZHFRUUowSWdnZ0FpNEJFaUFCS0FJa2JDSUdJQUl1QVRJZ0FTZ0NaR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDQkNBQUlBZ2dCbXMyQW1RZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSWtJQUFnQlNBSGF6WUNSQ0FBSUFJdUFRUWdBU2dDQ0d3aUJTQUNMZ0VrSUFFb0FraHNJZ2RxUVFKMElnZ2dBaTRCRkNBQktBSW9iQ0lHSUFJdUFUUWdBU2dDYUd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0NDQUFJQWdnQm1zMkFtZ2dBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0lvSUFBZ0JTQUhhellDU0NBQUlBSXVBUVlnQVNnQ0RHd2lCU0FDTGdFbUlBRW9Ba3hzSWdkcVFRSjBJZ2dnQWk0QkZpQUJLQUlzYkNJR0lBSXVBVFlnQVNnQ2JHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNEQ0FBSUFnZ0JtczJBbXdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJc0lBQWdCU0FIYXpZQ1RDQUFJQUl1QVFnZ0FTZ0NFR3dpQlNBQ0xnRW9JQUVvQWxCc0lnZHFRUUowSWdnZ0FpNEJHQ0FCS0FJd2JDSUdJQUl1QVRnZ0FTZ0NjR3dpQ21wQjBTSnNRWUFJYWlJSklBWkIvakJzYWtFTGRTSUdhallDRUNBQUlBZ2dCbXMyQW5BZ0FDQUZJQWRyUVFKMElnVWdDU0FLUWQrSmYyeHFRUXQxSWdkcU5nSXdJQUFnQlNBSGF6WUNVQ0FBSUFJdUFRb2dBU2dDRkd3aUJTQUNMZ0VxSUFFb0FsUnNJZ2RxUVFKMElnZ2dBaTRCR2lBQktBSTBiQ0lHSUFJdUFUb2dBU2dDZEd3aUNtcEIwU0pzUVlBSWFpSUpJQVpCL2pCc2FrRUxkU0lHYWpZQ0ZDQUFJQWdnQm1zMkFuUWdBQ0FGSUFkclFRSjBJZ1VnQ1NBS1FkK0pmMnhxUVF0MUlnZHFOZ0kwSUFBZ0JTQUhhellDVkNBQUlBSXVBUXdnQVNnQ0dHd2lCU0FDTGdFc0lBRW9BbGhzSWdkcVFRSjBJZ2dnQWk0QkhDQUJLQUk0YkNJR0lBSXVBVHdnQVNnQ2VHd2lDbXBCMFNKc1FZQUlhaUlKSUFaQi9qQnNha0VMZFNJR2FqWUNHQ0FBSUFnZ0JtczJBbmdnQUNBRklBZHJRUUowSWdVZ0NTQUtRZCtKZjJ4cVFRdDFJZ2RxTmdJNElBQWdCU0FIYXpZQ1dDQUFJQUl1QVE0Z0FTZ0NIR3dpQlNBQ0xnRXVJQUVvQWx4c0lnZHFRUUowSWdnZ0FpNEJIaUFCS0FJOGJDSUdJQUl1QVQ0Z0FTZ0NmR3dpQVdwQjBTSnNRWUFJYWlJQ0lBWkIvakJzYWtFTGRTSUdhallDSENBQUlBZ2dCbXMyQW53Z0FDQUZJQWRyUVFKMElnVWdBaUFCUWQrSmYyeHFRUXQxSWdGcU5nSThJQUFnQlNBQmF6WUNYQ0FVUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQ3lBQUtBSU1JZ1ZxSWdZZ0FDZ0NGQ0lISUFBb0FnUWlDR29pQ21wQm9jc0FiQ0lKSUFaQnU0Si9iR29pRHlBSUlBdHFRYk5HYkNJTUlBdEJqaE5zYW1vaEJpQUpJQXBCaEdkc2FpSUxJQXdnQ0VHTDRBQnNhbW9oQ0NBTElBVWdCMnBCL2R0K2JDSUtJQWRCczRNQmJHcHFJUWNnQkNBQlFRSjBJQU5xS0FJQWFpSUxJQUlnQUNnQ0FFR1FnQUZxSWdrZ0FDZ0NFQ0lNYWtFTmRDSVFJQUFvQWdnaURTQUFLQUlZSWhGcVFkRWliQ0lTSUExQi9qQnNhaUlOYWlJVElBaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0N5QUNJQk1nQ0d0QkVuWkIvd2R4YWl3QUFEb0FCeUFMSUFJZ0NTQU1hMEVOZENJSUlCSWdFVUhmaVg5c2FpSUphaUlNSUE4Z0NpQUZRZFRFQVd4cWFpSUZha0VTZGtIL0IzRnFMQUFBT2dBQklBc2dBaUFNSUFWclFSSjJRZjhIY1dvc0FBQTZBQVlnQ3lBQ0lBZ2dDV3NpQlNBSGFrRVNka0gvQjNGcUxBQUFPZ0FDSUFzZ0FpQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBVWdDeUFDSUJBZ0RXc2lCU0FHYWtFU2RrSC9CM0ZxTEFBQU9nQURJQXNnQWlBRklBWnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVFUncwQUN5QU9KQVlMK1FvQkMzOGpCaUVGSXdaQjBBQnFKQVlnQUNnQzBBSWhDeUFGSUFFb0FsUWlCaWdDQUNBQ0xnRUFRUTEwYkVHQUNISWlCeUFHUVVCcktBSUFJQUl1QVNCQm9TMXNiQ0lJYWlJQklBWW9BaUFnQWk0QkVFR3h6Z0JzYkNJQWFrRUxkVFlDQUNBRklBRWdBR3RCQzNVMkFqQWdCU0FISUFoQmZteHFRUXQxTmdJWUlBVWdCaWdDQkNBQ0xnRUNRUTEwYkVHQUNISWlCeUFHS0FKRUlBSXVBU0pCb1Mxc2JDSUlhaUlCSUFZb0FpUWdBaTRCRWtHeHpnQnNiQ0lBYWtFTGRUWUNCQ0FGSUFFZ0FHdEJDM1UyQWpRZ0JTQUhJQWhCZm14cVFRdDFOZ0ljSUFVZ0JpZ0NDQ0FDTGdFRVFRMTBiRUdBQ0hJaUJ5QUdLQUpJSUFJdUFTUkJvUzFzYkNJSWFpSUJJQVlvQWlnZ0FpNEJGRUd4emdCc2JDSUFha0VMZFRZQ0NDQUZJQUVnQUd0QkMzVTJBamdnQlNBSElBaEJmbXhxUVF0MU5nSWdJQVVnQmlnQ0RDQUNMZ0VHUVExMGJFR0FDSElpQnlBR0tBSk1JQUl1QVNaQm9TMXNiQ0lJYWlJQklBWW9BaXdnQWk0QkZrR3h6Z0JzYkNJQWFrRUxkVFlDRENBRklBRWdBR3RCQzNVMkFqd2dCU0FISUFoQmZteHFRUXQxTmdJa0lBVWdCaWdDRUNBQ0xnRUlRUTEwYkVHQUNISWlCeUFHS0FKUUlBSXVBU2hCb1Mxc2JDSUlhaUlCSUFZb0FqQWdBaTRCR0VHeHpnQnNiQ0lBYWtFTGRUWUNFQ0FGUVVCcklBRWdBR3RCQzNVMkFnQWdCU0FISUFoQmZteHFRUXQxTmdJb0lBVWdCaWdDRkNBQ0xnRUtRUTEwYkVHQUNISWlCeUFHS0FKVUlBSXVBU3BCb1Mxc2JDSUlhaUlCSUFZb0FqUWdBaTRCR2tHeHpnQnNiQ0lBYWtFTGRUWUNGQ0FGSUFFZ0FHdEJDM1UyQWtRZ0JTQUhJQWhCZm14cVFRdDFJZzgyQWl3Z0JDQURLQUlBYWlJT0lBdEJnSDFxSWdrZ0JTZ0NBRUVOZEVHQWdJakFBR29pQ3lBRktBSVFRYUV0YkNJTWFpSUhJQVVvQWdoQnNjNEFiQ0lJYWlJQklBVW9BZ1FpQ2lBRktBSVVJZzFxUWJZWGJDSUNJQW9nQlNnQ0RDSUdha0VOZEdvaUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBT0lBa2dBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUZJQTRnQ1NBTElBeHJJQXhySWdFZ0NpQUdheUFOYTBFTmRDSUFha0VTZGtIL0IzRnFMQUFBT2dBQklBNGdDU0FCSUFCclFSSjJRZjhIY1dvc0FBQTZBQVFnRGlBSklBY2dDR3NpQVNBQ0lBMGdCbXRCRFhScUlnQnFRUkoyUWY4SGNXb3NBQUE2QUFJZ0RpQUpJQUVnQUd0QkVuWkIvd2R4YWl3QUFEb0FBeUFFSUFNb0FnUnFJZ3dnQ1NBRktBSVlRUTEwUVlDQWlNQUFhaUlMSUFVb0FpaEJvUzFzSWdwcUlnY2dCU2dDSUVHeHpnQnNJZ2hxSWdFZ0R5QUZLQUljSWcxcVFiWVhiQ0lDSUEwZ0JTZ0NKQ0lHYWtFTmRHb2lBR3BCRW5aQi93ZHhhaXdBQURvQUFDQU1JQWtnQVNBQWEwRVNka0gvQjNGcUxBQUFPZ0FGSUF3Z0NTQUxJQXBySUFwcklnRWdEU0FHYXlBUGEwRU5kQ0lBYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQXdnQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFRZ0RDQUpJQWNnQ0dzaUFTQUNJQThnQm10QkRYUnFJZ0JxUVJKMlFmOEhjV29zQUFBNkFBSWdEQ0FKSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQXlBRUlBTW9BZ2hxSWdvZ0NTQUZLQUl3UVExMFFZQ0FpTUFBYWlJSUlBVkJRR3NvQWdCQm9TMXNJZzFxSWdRZ0JTZ0NPRUd4emdCc0lnTnFJZ0VnQlNnQ05DSUdJQVVvQWtRaUMycEJ0aGRzSWdJZ0JpQUZLQUk4SWdkcVFRMTBhaUlBYWtFU2RrSC9CM0ZxTEFBQU9nQUFJQW9nQ1NBQklBQnJRUkoyUWY4SGNXb3NBQUE2QUFVZ0NpQUpJQWdnRFdzZ0RXc2lBU0FHSUFkcklBdHJRUTEwSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUVnQ2lBSklBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUJDQUtJQWtnQkNBRGF5SUJJQUlnQ3lBSGEwRU5kR29pQUdwQkVuWkIvd2R4YWl3QUFEb0FBaUFLSUFrZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBRElBVWtCZ3VMQkFFS2Z5TUdJUVVqQmtFZ2FpUUdJQUFvQXRBQ0lRY2dCU0FDTGdFQUlBRW9BbFFpQmlnQ0FHd2lBU0FDTGdFUUlBWW9BaUJzSWdCcUlnZzJBZ0FnQlNBQklBQnJOZ0lRSUFVZ0FpNEJBaUFHS0FJRWJDSUJJQUl1QVJJZ0JpZ0NKR3dpQUdvaUNqWUNCQ0FGSUFFZ0FHc2lDellDRkNBRklBSXVBUVFnQmlnQ0NHd2lBU0FDTGdFVUlBWW9BaWhzSWdCcUlndzJBZ2dnQlNBQklBQnJJZzAyQWhnZ0JTQUNMZ0VHSUFZb0FneHNJZ0VnQWk0QkZpQUdLQUlzYkNJQWFpSU9OZ0lNSUFVZ0FTQUFheUlHTmdJY0lBUWdBeWdDQUdvaUNTQUhRWUI5YWlJSElBd2dDRUdFSUdvaUNHcEJEWFFpQVNBS0lBNXFRZEVpYkNJQ0lBcEIvakJzYWlJQWFrRVFka0gvQjNGcUxBQUFPZ0FBSUFrZ0J5QUJJQUJyUVJCMlFmOEhjV29zQUFBNkFBTWdDU0FISUFnZ0RHdEJEWFFpQVNBQ0lBNUIzNGwvYkdvaUFHcEJFSFpCL3dkeGFpd0FBRG9BQVNBSklBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVFnQXlnQ0JHb2lCQ0FGS0FJUVFZUWdhaUlESUExcVFRMTBJZ0VnQmlBTGFrSFJJbXdpQWlBTFFmNHdiR29pQUdwQkVIWkIvd2R4SUFkcUxBQUFPZ0FBSUFRZ0FTQUFhMEVRZGtIL0IzRWdCMm9zQUFBNkFBTWdCQ0FESUExclFRMTBJZ0VnQWlBR1FkK0pmMnhxSWdCcVFSQjJRZjhIY1NBSGFpd0FBRG9BQVNBRUlBRWdBR3RCRUhaQi93ZHhJQWRxTEFBQU9nQUNJQVVrQmd0aEFDQUVJQU1vQWdCcUlnTWdBQ2dDMEFKQmdIMXFJZ0FnQWk0QkFDQUJLQUpVSWdFb0FnQnNRWVFnYWlJRUlBSXVBUUlnQVNnQ0JHd2lBV3BCQTNaQi93ZHhhaXdBQURvQUFDQURJQVFnQVd0QkEzWkIvd2R4SUFCcUxBQUFPZ0FCQzljSkFSNS9Jd1loRmlNR1FZQUVhaVFHSUFBb0F0QUNJU0lnRmlJQUlRVWdBU2dDVkNFQkEwQWdBaTRCSUNBQlFVQnJLQUlBYkNJTUlBSXVBV0FnQVNnQ3dBRnNJaEZySWc5QjFCRnNJUW9nQWk0QkVDQUJLQUlnYkNJR0lBSXVBVkFnQVNnQ29BRnNJZ2RxSVJBZ0JpQUNMZ0Z3SUFFb0F1QUJiQ0lJYWtIOHhRQnNJaGNnRUVIcHp3QnNJaFFnQmlBQ0xnRXdJQUVvQW1Cc0lnbHFRYzdXQUd3aURTQUdRZGJ0Zm14cWFtb2hEaUFHSUFoclFiWTViQ0laSUJCQjFTcHNJaGdnQmlBSmEwR2pHbXdpRWlBR1FjS0tmMnhxYW1vaEVDQUlJQWxxSWdaQnExVnNJaG9nQnlBSmFrSHdDR3dpR3lBSlFjMEViQ0FOYW1wcUlRMGdCa0dYc0g5c0lod2dCeUFKYTBHSjJnQnNJaDBnQ1VHYS9nQnNJQkpxYW1vaENTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ1lnQWtGQWF5NEJBQ0FCS0FLQUFXd2lFa0hQMHdCc0loNXFJaDhnRDBIajJBQnNJZzhnRVVHRHBBRnNhaUlnYWlJVklBNXFRUXQxTmdJQUlBVWdGU0FPYTBFTGRUWUM0QU1nQlNBTklBWWdFa0hSSW13aURtb2lFaUFLSUF4QnpUbHNhaUlWYWlJaGFrRUxkVFlDSUNBRklDRWdEV3RCQzNVMkFzQURJQVZCUUdzZ0J5QUlha0d5cVg5c0lnMGdHeUFIUWZxM2YyeHFJQlJxYWlJVUlBWWdEbXNpRGlBUElBeEJ3bGxzYWlJTWFpSVBha0VMZFRZQ0FDQUZJQThnRkd0QkMzVTJBcUFESUFVZ0dpQUlRWmpFQUd4cUlCZHFJQTFxSWcwZ0JpQWVheUlHSUFvZ0VVR3dYMnhxSWhGcUlncHFRUXQxTmdKZ0lBVWdDaUFOYTBFTGRUWUNnQU1nQlNBY0lBaEJoY2tCYkdvZ0dXb2dDQ0FIYTBHakdtd2lDR29pQ2lBR0lCRnJJZ1pxUVF0MU5nS0FBU0FGSUFZZ0NtdEJDM1UyQXVBQ0lBVWdIU0FIUWZwT2JHb2dHR29nQ0dvaUJpQU9JQXhySWdkcVFRdDFOZ0tnQVNBRklBY2dCbXRCQzNVMkFzQUNJQVVnQ1NBU0lCVnJJZ1pxUVF0MU5nTEFBU0FGSUFZZ0NXdEJDM1UyQXFBQ0lBVWdFQ0FmSUNCcklnWnFRUXQxTmdMZ0FTQUZJQVlnRUd0QkMzVTJBb0FDSUFKQkFtb2hBaUFCUVFScUlRRWdCVUVFYWlFRklBdEJBV29pQzBFSVJ3MEFDeUFpUVlCOWFpRUNRUUFoQVFOQUlBQW9BaHdpQlNBQUtBSU1JZ3RxSWdnZ0FDZ0NGQ0lHSUFBb0FnUWlCMm9pQ1dwQm9jc0FiQ0lNSUFoQnU0Si9iR29pRVNBRklBZHFRYk5HYkNJS0lBVkJqaE5zYW1vaENDQU1JQWxCaEdkc2FpSUZJQW9nQjBHTDRBQnNhbW9oQnlBRklBWWdDMnBCL2R0K2JDSUpJQVpCczRNQmJHcHFJUVlnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFR1FnQUZxSWd3Z0FDZ0NFQ0lLYWtFTmRDSVFJQUFvQWdnaURpQUFLQUlZSWcxcVFkRWliQ0lUSUE1Qi9qQnNhaUlPYWlJUElBZHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQThnQjJ0QkVuWkIvd2R4YWl3QUFEb0FCeUFGSUFJZ0RDQUthMEVOZENJSElCTWdEVUhmaVg5c2FpSU1haUlLSUJFZ0NTQUxRZFRFQVd4cWFpSUxha0VTZGtIL0IzRnFMQUFBT2dBQklBVWdBaUFLSUF0clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBY2dER3NpQ3lBR2FrRVNka0gvQjNGcUxBQUFPZ0FDSUFVZ0FpQUxJQVpyUVJKMlFmOEhjV29zQUFBNkFBVWdCU0FDSUJBZ0Rtc2lDeUFJYWtFU2RrSC9CM0ZxTEFBQU9nQURJQVVnQWlBTElBaHJRUkoyUWY4SGNXb3NBQUE2QUFRZ0FFRWdhaUVBSUFGQkFXb2lBVUVRUncwQUN5QVdKQVlMblFnQkdYOGpCaUVYSXdaQmtBTnFKQVlnQUNnQzBBSWhIU0FYSWdBaEJTQUJLQUpVSVFFRFFDQUNMZ0Z3SUFFb0F1QUJiQ0lUUVExMElnc2dBaTRCRUNBQktBSWdiQ0lISUFJdUFWQWdBU2dDb0FGc0lnWnFJZ3BCMHN3QWJDSVBJQWNnQWk0Qk1DQUJLQUpnYkNJSWFrRzMxUUJzSWhBZ0IwSHd0MzlzYW1wcUlRa2dCeUFJYXlJWVFmSWRiQ0FMYXlJWklBcEJsREJzSWhRZ0IwR0x2SDlzYW1vaEVTQUZJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2NnQWtGQWF5NEJBQ0FCS0FLQUFXd2lDa0hHMFFCc2FpSWFJQUl1QVNBZ0FVRkFheWdDQUd3aURDQUNMZ0ZnSUFFb0FzQUJiQ0lPYWtIaXhnQnNJaFVnREVHOUVXeHFJaHRxSWhZZ0NXcEJDM1UyQWdBZ0JTQVdJQWxyUVF0MU5nTHNBaUFGSUFZZ0NHcEI3M1ZzSUF0cklna2dDRUh1Wkd3Z0VHcHFJaEFnQnlBS1FaSVViR29pRmlBVklBNUIvSkYvYkdvaUZXb2lIR3BCQzNVMkFod2dCU0FjSUJCclFRdDFOZ0xRQWlBRklBa2dCa0dKNkg1c0lBOXFhaUlKSUFjZ0NrSEpSMnhxSWc4Z0RFR2pKMndnRGtIaHAzOXNhaUlNYWlJT2FrRUxkVFlDT0NBRklBNGdDV3RCQzNVMkFyUUNJQVVnR0NBR2F5QVRha0VDZENJSklBY2dDa0crcFg5c2FrRUxkU0lIYWpZQ1ZDQUZJQWNnQ1dzMkFwZ0NJQVVnQmlBSWEwSDQyUUJzSWdjZ0JrSG1rMzlzYWlBVWFpQUxhaUlHSUE4Z0RHc2lDMnBCQzNVMkFuQWdCU0FMSUFaclFRdDFOZ0w4QVNBRklBY2dDRUdaSzJ4cUlCbHFJZ1lnRmlBVmF5SUlha0VMZFRZQ2pBRWdCU0FJSUFaclFRdDFOZ0xnQVNBRklCb2dHMnNpQmlBUmFrRUxkVFlDcUFFZ0JTQUdJQkZyUVF0MU5nTEVBU0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBTlFRRnFJZzFCQjBjTkFBc2dIVUdBZldvaEFrRUFJUUVEUUNBQUtBSVFJZzBnQUNnQ0dDSUdhMEczT0d3aURDQUFLQUlJSWdnZ0RXdEJraFJzSWc0Z0FDZ0NBRUVOZEVHQWdJakFBR29pQnlBTlFaV0tmMnhxYW1vaEN5QUFLQUlFSWdvZ0FDZ0NEQ0lGYWtIdk8yd2lFaUFLSUFWclFmTUtiQ0lUYWlBRklBQW9BaFFpQ1dwQjRhZC9iQ0lQYWlFUklBUWdBVUVDZENBRGFpZ0NBR29pQlNBQ0lBY2dCaUFJYWlJUVFjYlJBR3hxSWhRZ0RDQUdRWU43YkdwcUlnWWdDU0FLYWtHakoyd2lDaUFTSUJOcmFpSU1ha0VTZGtIL0IzRnFMQUFBT2dBQUlBVWdBaUFHSUF4clFSSjJRZjhIY1dvc0FBQTZBQVlnQlNBQ0lBc2dFV3BCRW5aQi93ZHhhaXdBQURvQUFTQUZJQUlnQ3lBUmEwRVNka0gvQjNGcUxBQUFPZ0FGSUFVZ0FpQVVJQTRnQ0VIeDRYNXNhbW9pQmlBUElBb2dDVUhlOXdCc2Ftb2lDR3BCRW5aQi93ZHhhaXdBQURvQUFpQUZJQUlnQmlBSWEwRVNka0gvQjNGcUxBQUFPZ0FFSUFVZ0FpQUhJQTBnRUd0Qndkb0FiR3BCRW5aQi93ZHhhaXdBQURvQUF5QUFRUnhxSVFBZ0FVRUJhaUlCUVE1SERRQUxJQmNrQmd2bkJnRVhmeU1HSVJRakJrR2dBbW9rQmlBQUtBTFFBaUViSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUVvQWdBZ0FpNEJBRUVOZEd4QmdBaHlJZ2dnQVNnQ2dBRWdBa0ZBYXk0QkFFR3h6Z0JzYkNJU2FpRVFJQWdnQWk0QklDQUJRVUJyS0FJQWJDSUtRUTEwSUFFb0FzQUJJQUl1QVdCQkRYUnNJZ3RySWhacUlRd2dCU0FRSUFwQnR0Y0FiQ0FMYWlJWGFpSVRJQUl1QVhBZ0FTZ0M0QUZzSWdZZ0FpNEJFQ0FCS0FJZ2JDSU5JQUl1QVZBZ0FTZ0NvQUZzSWdkcUlnNXFRWTAzYkNJUklBNUIyeEJzYWlJWUlBSXVBVEFnQVNnQ1lHd2lEa0hQMHdCc0loa2dEVUgzRVd4cWFpSVBha0VMZFRZQ0FDQUZJQk1nRDJ0QkMzVTJBb2dDSUFVZ0RpQUhheUlUSUEwZ0Jtc2lEMnBCMFNKc0lob2dEMEgrTUd4cUlnOGdER3BCQzNVMkFoZ2dCU0FNSUE5clFRdDFOZ0x3QVNBRklBZ2dFbXNpRENBS1FiWVhiQ0FMYXlJS2FpSUxJQmdnQmlBSGFrR0x2WDlzSWhJZ0RrR3ZYV3dpRGlBSFFiQ2hmMnhxYW1vaUIycEJDM1UyQWpBZ0JTQUxJQWRyUVF0MU5nTFlBU0FGSUF3Z0Ntc2lCeUFTSUJFZ0JrSEc1UUJzSUJscmFtb2lDbXBCQzNVMkFrZ2dCU0FISUFwclFRdDFOZ0xBQVNBRklCb2dFMEhmaVg5c2FpSUhJQWdnRm1zaUNHcEJDM1UyQW1BZ0JTQUlJQWRyUVF0MU5nS29BU0FGSUJBZ0Yyc2lDQ0FSSUE0Z0RVSGNWR3hxSUFaQmpJRi9iR3BxSWdacVFRdDFOZ0o0SUFVZ0NDQUdhMEVMZFRZQ2tBRWdBa0VDYWlFQ0lBRkJCR29oQVNBRlFRUnFJUVVnQ1VFQmFpSUpRUVpIRFFBTElCdEJnSDFxSVFKQkFDRUJBMEFnQkNBQlFRSjBJQU5xS0FJQWFpSUZJQUlnQUNnQ0FFRU5kRUdBZ0lqQUFHb2lCeUFBS0FJUVFhRXRiQ0lKYWlJUUlBQW9BZ2hCc2M0QWJDSUthaUlMSUFBb0FnUWlCaUFBS0FJVUlnaHFRYllYYkNJTUlBWWdBQ2dDRENJTmFrRU5kR29pRVdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FGSUFJZ0N5QVJhMEVTZGtIL0IzRnFMQUFBT2dBRklBVWdBaUFISUFscklBbHJJZ2tnQmlBTmF5QUlhMEVOZENJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUpJQVpyUVJKMlFmOEhjV29zQUFBNkFBUWdCU0FDSUJBZ0Ntc2lDU0FNSUFnZ0RXdEJEWFJxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUlnQlNBQ0lBa2dCbXRCRW5aQi93ZHhhaXdBQURvQUF5QUFRUmhxSVFBZ0FVRUJhaUlCUVF4SERRQUxJQlFrQmd2OUJRRVZmeU1HSVJRakJrSFFBV29rQmlBQUtBTFFBaUVaSUJRaUFDRUZJQUVvQWxRaEFRTkFJQUl1QVRBZ0FTZ0NZR3dpQmlBQ0xnRndJQUVvQXVBQmJDSUlhaUVISUFVZ0FTZ0NBQ0FDTGdFQVFRMTBiRUdBQ0hJaUNTQUNRVUJyTGdFQUlBRW9Bb0FCYkNJTFFaM0pBR3hxSWcwZ0FpNEJJQ0FCUVVCcktBSUFiQ0lPSUFJdUFXQWdBU2dDd0FGc0lnOXFRWm8xYkNJUUlBNUI4U0JzYWlJT2FpSVJJQVlnQ0dzaUNFSGpFMndpRWlBQ0xnRlFJQUVvQXFBQmJDSVZRUTEwSWhOcUloWWdCMEh2UEd3aUZ5QUNMZ0VRSUFFb0FpQnNJZ1pCczlrQWJHcHFJaGhxUVF0MU5nSUFJQVVnRVNBWWEwRUxkVFlDdEFFZ0JTQUpJQXRCaEdSc2FpSVJJQkFnRDBIYzlINXNhaUlQYWlJUUlBWkIwOUFBYkNBSFFjOGxiQ0lIYXlBVElCSnJJQWhCREhSckloSnJJaE5xUVF0MU5nSVVJQVVnRUNBVGEwRUxkVFlDb0FFZ0JTQUpJQXRCdnFWL2JHcEJDM1VpQ1NBR0lCVnJJQWhyUVFKMElndHFOZ0lvSUFVZ0NTQUxhellDakFFZ0JTQVJJQTlySWdrZ0VpQUdRWXdwYkNBSGEyb2lCMnBCQzNVMkFqd2dCU0FKSUFkclFRdDFOZ0o0SUFVZ0RTQU9heUlISUJZZ0JrR1VEbXdnRjJ0cUlnWnFRUXQxTmdKUUlBVWdCeUFHYTBFTGRUWUNaQ0FDUVFKcUlRSWdBVUVFYWlFQklBVkJCR29oQlNBS1FRRnFJZ3BCQlVjTkFBc2dHVUdBZldvaEFrRUFJUUVEUUNBRUlBRkJBblFnQTJvb0FnQnFJZ1VnQWlBQUtBSUlJZ29nQUNnQ0VDSUdha0hNTW13aUJ5QUFLQUlBUVExMFFZQ0FpTUFBYWlJSklBb2dCbXNpQ2tIUUZteHFJZ1pxSWdzZ0FDZ0NCQ0lJSUFBb0Fnd2lER3BCbWpWc0lnMGdDRUh4SUd4cUlnaHFRUkoyUWY4SGNXb3NBQUE2QUFBZ0JTQUNJQXNnQ0d0QkVuWkIvd2R4YWl3QUFEb0FCQ0FGSUFJZ0JpQUhheUlHSUEwZ0RFSGM5SDVzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FCSUFVZ0FpQUdJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdCU0FDSUFrZ0NrSEFwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUNJQUJCRkdvaEFDQUJRUUZxSWdGQkNrY05BQXNnRkNRR0MrZ1BBUkIvSXdZaENDTUdRWUFCYWlRR0lBQW9BdEFDSVJBZ0NDRUFJQUVvQWxRaEFVRUVJUVlEUUFKL0FrQWdBaTRCRUNJTElBSXVBU0FpQlhKQi8vOERjUVIvREFFRklBSXVBVEFFZjBFQUlRVU1BZ1VnQWtGQWF5NEJBQVIvUVFBaEJRd0RCU0FDTGdGUUJIOUJBQ0VGREFRRklBSXVBV0FFZjBFQUlRVU1CUVVnQWk0QmNBUi9RUUFoQlF3R0JTQUFJQUVvQWdBZ0FpNEJBRUVDZEd3aUJUWUNBQ0FBSUFVMkFoQWdBQ0FGTmdJZ0lBQWdCVFlDTUNBQVFVQnJJQVUyQWdBZ0FDQUZOZ0pRSUFBZ0JUWUNZRUVjQ3dzTEN3c0xEQUVMSUFJdUFYQWdBU2dDNEFGc0lnY2dBaTRCTUNBQktBSmdiQ0lKYWlJTklBSXVBVkFnQVNnQ29BRnNJZ29nQ3lBQktBSWdiQ0lMYWlJTWFrR2h5d0JzSWc0Z0RVRzdnbjlzYWlJTklBY2dDMnBCczBac0lnOGdCMEdPRTJ4cWFpRUhJQTRnREVHRVoyeHFJZ3dnRHlBTFFZdmdBR3hxYWlFTElBd2dDU0FLYWtIOTIzNXNJZ3dnQ2tHemd3RnNhbW9oQ2lBQUlBc2dBU2dDZ0FFZ0FrRkFheTRCQUVFTmRHd2lEaUFCS0FJQUlBSXVBUUJCRFhSc1FZQUljaUlQYWlJUklBRkJRR3NvQWdBZ0JVRVFkRUVRZFd3aUJTQUNMZ0ZnSUFFb0FzQUJiQ0lTYWtIUkltd2lFeUFGUWY0d2JHb2lCV29pRkdwQkMzVTJBZ0FnQUNBVUlBdHJRUXQxTmdKd0lBQWdEU0FNSUFsQjFNUUJiR3BxSWdrZ0R5QU9heUlMSUJNZ0VrSGZpWDlzYWlJTmFpSU1ha0VMZFRZQ0VDQUFJQXdnQ1d0QkMzVTJBbUFnQUNBS0lBc2dEV3NpQ1dwQkMzVTJBaUFnQUNBSklBcHJRUXQxTmdKUUlBQWdCeUFSSUFWcklnVnFRUXQxTmdJd0lBVWdCMnRCQzNVaEJVRVFDMEVDZENBQWFpQUZOZ0lBSUFCQkJHb2hBQ0FCUVFScUlRRWdBa0VDYWlFQ0lBWkJmMm9oQlNBR1FRRkxCRUFnQlNFR0RBRUxDeUFFSUFNb0FnQnFJZ0VnRUVHQWZXb2lBQ0FJS0FJQVFaQ0FBV29pQWlBSUtBSUlJZ1pxUVExMElnVWdDQ2dDQkNJSElBZ29BZ3dpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUlFYWlJQklBQWdDQ2dDRUVHUWdBRnFJZ0lnQ0NnQ0dDSUdha0VOZENJRklBZ29BaFFpQnlBSUtBSWNJZ2xxUWRFaWJDSUtJQWRCL2pCc2FpSUhha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FGSUFkclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdCbXRCRFhRaUFpQUtJQWxCMzRsL2JHb2lCbXBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBR2EwRVNka0gvQjNGcUxBQUFPZ0FDSUFRZ0F5Z0NDR29pQVNBQUlBZ29BaUJCa0lBQmFpSUNJQWdvQWlnaUJtcEJEWFFpQlNBSUtBSWtJZ2NnQ0NnQ0xDSUpha0hSSW13aUNpQUhRZjR3YkdvaUIycEJFblpCL3dkeGFpd0FBRG9BQUNBQklBQWdCU0FIYTBFU2RrSC9CM0ZxTEFBQU9nQURJQUVnQUNBQ0lBWnJRUTEwSWdJZ0NpQUpRZCtKZjJ4cUlnWnFRUkoyUWY4SGNXb3NBQUE2QUFFZ0FTQUFJQUlnQm10QkVuWkIvd2R4YWl3QUFEb0FBaUFFSUFNb0FneHFJZ0VnQUNBSUtBSXdRWkNBQVdvaUFpQUlLQUk0SWdacVFRMTBJZ1VnQ0NnQ05DSUhJQWdvQWp3aUNXcEIwU0pzSWdvZ0IwSCtNR3hxSWdkcVFSSjJRZjhIY1dvc0FBQTZBQUFnQVNBQUlBVWdCMnRCRW5aQi93ZHhhaXdBQURvQUF5QUJJQUFnQWlBR2EwRU5kQ0lDSUFvZ0NVSGZpWDlzYWlJR2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFFZ0FDQUNJQVpyUVJKMlFmOEhjV29zQUFBNkFBSWdCQ0FES0FJUWFpSUJJQUFnQ0VGQWF5Z0NBRUdRZ0FGcUlnSWdDQ2dDU0NJR2FrRU5kQ0lGSUFnb0FrUWlCeUFJS0FKTUlnbHFRZEVpYkNJS0lBZEIvakJzYWlJSGFrRVNka0gvQjNGcUxBQUFPZ0FBSUFFZ0FDQUZJQWRyUVJKMlFmOEhjV29zQUFBNkFBTWdBU0FBSUFJZ0JtdEJEWFFpQWlBS0lBbEIzNGwvYkdvaUJtcEJFblpCL3dkeGFpd0FBRG9BQVNBQklBQWdBaUFHYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQVFnQXlnQ0ZHb2lBU0FBSUFnb0FsQkJrSUFCYWlJQ0lBZ29BbGdpQm1wQkRYUWlCU0FJS0FKVUlnY2dDQ2dDWENJSmFrSFJJbXdpQ2lBSFFmNHdiR29pQjJwQkVuWkIvd2R4YWl3QUFEb0FBQ0FCSUFBZ0JTQUhhMEVTZGtIL0IzRnFMQUFBT2dBRElBRWdBQ0FDSUFaclFRMTBJZ0lnQ2lBSlFkK0pmMnhxSWdacVFSSjJRZjhIY1dvc0FBQTZBQUVnQVNBQUlBSWdCbXRCRW5aQi93ZHhhaXdBQURvQUFpQUVJQU1vQWhocUlnRWdBQ0FJS0FKZ1FaQ0FBV29pQWlBSUtBSm9JZ1pxUVExMElnVWdDQ2dDWkNJSElBZ29BbXdpQ1dwQjBTSnNJZ29nQjBIK01HeHFJZ2RxUVJKMlFmOEhjV29zQUFBNkFBQWdBU0FBSUFVZ0IydEJFblpCL3dkeGFpd0FBRG9BQXlBQklBQWdBaUFHYTBFTmRDSUNJQW9nQ1VIZmlYOXNhaUlHYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQUVnQUNBQ0lBWnJRUkoyUWY4SGNXb3NBQUE2QUFJZ0JDQURLQUljYWlJQklBQWdDQ2dDY0VHUWdBRnFJZ0lnQ0NnQ2VDSURha0VOZENJRUlBZ29BblFpQmlBSUtBSjhJZ1ZxUWRFaWJDSUhJQVpCL2pCc2FpSUdha0VTZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FFSUFaclFSSjJRZjhIY1dvc0FBQTZBQU1nQVNBQUlBSWdBMnRCRFhRaUFpQUhJQVZCMzRsL2JHb2lBMnBCRW5aQi93ZHhhaXdBQURvQUFTQUJJQUFnQWlBRGEwRVNka0gvQjNGcUxBQUFPZ0FDSUFna0JndWdDd0VMZnlNR0lRVWpCa0hRQUdva0JpQUFLQUxRQWlFUElBVWdBU2dDVkNJSUtBSUFJQUl1QVFCQkRYUnNRWUFJY2lJT0lBZ29Bb0FCSUFKQlFHc3VBUUJCb1Mxc2JDSUthaUlHSUFoQlFHc29BZ0FnQWk0QklFR3h6Z0JzYkNJSmFpSUJJQUl1QVJBZ0NDZ0NJR3dpQ3lBQ0xnRlFJQWdvQXFBQmJDSU1ha0cyRjJ3aUJ5QUxJQUl1QVRBZ0NDZ0NZR3dpRFdwQkRYUnFJZ0JxUVF0MU5nSUFJQVVnQVNBQWEwRUxkVFlDUENBRklBNGdDa0YrYkdwQkMzVWlBU0FMSUExcklBeHJRUUowSWdCcU5nSU1JQVVnQVNBQWF6WUNNQ0FGSUFZZ0NXc2lBU0FISUF3Z0RXdEJEWFJxSWdCcVFRdDFOZ0lZSUFVZ0FTQUFhMEVMZFRZQ0pDQUZJQWdvQWtRZ0FpNEJJa0d4emdCc2JDSU9JQWdvQWdRZ0FpNEJBa0VOZEd4QmdBaHlJZ29nQ0NnQ2hBRWdBaTRCUWtHaExXeHNJZ1pxSWdscUlnRWdBaTRCRWlBSUtBSWtiQ0lMSUFJdUFWSWdDQ2dDcEFGc0lneHFRYllYYkNJSElBc2dBaTRCTWlBSUtBSmtiQ0lOYWtFTmRHb2lBR3BCQzNVMkFnUWdCVUZBYXlBQklBQnJRUXQxTmdJQUlBVWdDeUFOYXlBTWEwRUNkQ0lCSUFvZ0JrRitiR3BCQzNVaUFHbzJBaEFnQlNBQUlBRnJOZ0kwSUFVZ0NTQU9heUlCSUFjZ0RDQU5hMEVOZEdvaUFHcEJDM1UyQWh3Z0JTQUJJQUJyUVF0MU5nSW9JQVVnQ0NnQ0NDQUNMZ0VFUVExMGJFR0FDSElpRGlBSUtBS0lBU0FDTGdGRVFhRXRiR3dpQ21vaUJpQUlLQUpJSUFJdUFTUkJzYzRBYkd3aUNXb2lBU0FDTGdFVUlBZ29BaWhzSWdzZ0FpNEJWQ0FJS0FLb0FXd2lER3BCdGhkc0lnY2dDeUFDTGdFMElBZ29BbWhzSWdKcVFRMTBhaUlBYWtFTGRTSU5OZ0lJSUFVZ0FTQUFhMEVMZFRZQ1JDQUZJQTRnQ2tGK2JHcEJDM1VpQVNBTElBSnJJQXhyUVFKMElnQnFJZ28yQWhRZ0JTQUJJQUJyTmdJNElBVWdCaUFKYXlJQklBY2dEQ0FDYTBFTmRHb2lBR3BCQzNVaUNUWUNJQ0FGSUFFZ0FHdEJDM1UyQWl3Z0JDQURLQUlBYWlJSElBOUJnSDFxSWdZZ0JTZ0NBRUVOZEVHQWdJakFBR29pQWlBTlFhRXRiR29pQVNBRktBSUVRYkhPQUd3aUFHcEJFblpCL3dkeGFpd0FBRG9BQUNBSElBWWdBU0FBYTBFU2RrSC9CM0ZxTEFBQU9nQUNJQWNnQmlBQ0lBMUJ2cVYvYkdwQkVuWkIvd2R4YWl3QUFEb0FBU0FFSUFNb0FnUnFJZ2NnQmlBRktBSU1RUTEwUVlDQWlNQUFhaUlDSUFwQm9TMXNhaUlCSUFVb0FoQkJzYzRBYkNJQWFrRVNka0gvQjNGcUxBQUFPZ0FBSUFjZ0JpQUJJQUJyUVJKMlFmOEhjV29zQUFBNkFBSWdCeUFHSUFJZ0NrRytwWDlzYWtFU2RrSC9CM0ZxTEFBQU9nQUJJQVFnQXlnQ0NHb2lCeUFHSUFVb0FoaEJEWFJCZ0lDSXdBQnFJZ0lnQ1VHaExXeHFJZ0VnQlNnQ0hFR3h6Z0JzSWdCcVFSSjJRZjhIY1dvc0FBQTZBQUFnQnlBR0lBRWdBR3RCRW5aQi93ZHhhaXdBQURvQUFpQUhJQVlnQWlBSlFiNmxmMnhxUVJKMlFmOEhjV29zQUFBNkFBRWdCQ0FES0FJTWFpSUpJQVlnQlNnQ0pFRU5kRUdBZ0lqQUFHb2lCeUFGS0FJc0lnSkJvUzFzYWlJQklBVW9BaWhCc2M0QWJDSUFha0VTZGtIL0IzRnFMQUFBT2dBQUlBa2dCaUFCSUFCclFSSjJRZjhIY1dvc0FBQTZBQUlnQ1NBR0lBY2dBa0crcFg5c2FrRVNka0gvQjNGcUxBQUFPZ0FCSUFRZ0F5Z0NFR29pQ1NBR0lBVW9BakJCRFhSQmdJQ0l3QUJxSWdjZ0JTZ0NPQ0lDUWFFdGJHb2lBU0FGS0FJMFFiSE9BR3dpQUdwQkVuWkIvd2R4YWl3QUFEb0FBQ0FKSUFZZ0FTQUFhMEVTZGtIL0IzRnFMQUFBT2dBQ0lBa2dCaUFISUFKQnZxVi9iR3BCRW5aQi93ZHhhaXdBQURvQUFTQUVJQU1vQWhScUlnUWdCaUFGS0FJOFFRMTBRWUNBaU1BQWFpSURJQVVvQWtRaUFrR2hMV3hxSWdFZ0JVRkFheWdDQUVHeHpnQnNJZ0JxUVJKMlFmOEhjV29zQUFBNkFBQWdCQ0FHSUFFZ0FHdEJFblpCL3dkeGFpd0FBRG9BQWlBRUlBWWdBeUFDUWI2bGYyeHFRUkoyUWY4SGNXb3NBQUE2QUFFZ0JTUUdDN0lFQVFwL0l3WWhCaU1HUVNCcUpBWWdBQ2dDMEFJaERDQUdJQUl1QVFBZ0FTZ0NWQ0lIS0FJQWJDSUpJQUl1QVNBZ0IwRkFheWdDQUd3aUNtcEJEWFFpQVNBQ0xnRVFJQWNvQWlCc0lnQWdBaTRCTUNBSEtBSmdiQ0lGYWtIUkltd2lDQ0FBUWY0d2JHb2lBR29pRFRZQ0FDQUdJQUVnQUdzMkFoZ2dCaUFKSUFwclFRMTBJZ0VnQ0NBRlFkK0pmMnhxSWdCcUlnNDJBZ2dnQmlBQklBQnJJZ2syQWhBZ0JpQUNMZ0VDSUFjb0FnUnNJZ29nQWk0QklpQUhLQUpFYkNJRmFrRU5kQ0lCSUFJdUFSSWdCeWdDSkd3aUFDQUNMZ0V5SUFjb0FtUnNJZ2hxUWRFaWJDSUNJQUJCL2pCc2FpSUFhaUlMTmdJRUlBWWdBU0FBYXlJSE5nSWNJQVlnQ2lBRmEwRU5kQ0lCSUFJZ0NFSGZpWDlzYWlJQWFpSUlOZ0lNSUFZZ0FTQUFheUlDTmdJVUlBUWdBeWdDQUdvaUFTQU1RWUI5YWlJRklBc2dEVUdBZ0lJUWFpSUFha0VRZGtIL0IzRnFMQUFBT2dBQUlBRWdBQ0FMYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQkNBREtBSUVhaUlCSUE1QmdJQ0NFR29pQUNBSWFrRVFka0gvQjNFZ0JXb3NBQUE2QUFBZ0FTQUFJQWhyUVJCMlFmOEhjU0FGYWl3QUFEb0FBU0FFSUFNb0FnaHFJZ0VnQ1VHQWdJSVFhaUlBSUFKcVFSQjJRZjhIY1NBRmFpd0FBRG9BQUNBQklBQWdBbXRCRUhaQi93ZHhJQVZxTEFBQU9nQUJJQVFnQXlnQ0RHb2lBU0FHS0FJWVFZQ0FnaEJxSWdBZ0IycEJFSFpCL3dkeElBVnFMQUFBT2dBQUlBRWdBQ0FIYTBFUWRrSC9CM0VnQldvc0FBQTZBQUVnQmlRR0MyY0JBWDhnQkNBREtBSUFhaUFBS0FMUUFrR0FmV29pQUNBQ0xnRUFJQUVvQWxRaUFTZ0NBR3hCaENCcUlnVWdBaTRCRUNBQktBSWdiQ0lCYWtFRGRrSC9CM0ZxTEFBQU9nQUFJQVFnQXlnQ0JHb2dCU0FCYTBFRGRrSC9CM0VnQUdvc0FBQTZBQUFMOFFnQkVYOGpCaUVTSXdaQmdBSnFKQVlnQUNnQzBBSWhGU0FTSWdBaEJpQUJLQUpVSVFGQkNDRUpBMEFDZndKQUlBSXVBUkFpQnlBQ0xnRWdJZ1Z5UWYvL0EzRUVmd3dCQlNBQ0xnRXdCSDlCQUNFRkRBSUZJQUpCUUdzdUFRQUVmMEVBSVFVTUF3VWdBaTRCVUFSL1FRQWhCUXdFQlNBQ0xnRmdCSDlCQUNFRkRBVUZJQUl1QVhBRWYwRUFJUVVNQmdVZ0JpQUNMZ0VBSUFFb0FnQnNJZ1UyQWdBZ0JpQUZOZ0lnSUFaQlFHc2dCVFlDQUNBR0lBVTJBbUFnQmlBRk5nS0FBU0FHSUFVMkFxQUJJQVlnQlRZQ3dBRkJPQXNMQ3dzTEN3d0JDeUFISUFFb0FpQnNJZ2NnQWk0QmNDQUJLQUxnQVd3aUNHb2lDeUFDTGdFd0lBRW9BbUJzSWdvZ0FpNEJVQ0FCS0FLZ0FXd2lEV29pRG10QjZnSnNRUWgxSUEwZ0Ntc2lDaUFISUFocklnMXFRZGtEYkVFSWRTSVBJQXBCblFWc1FRaDFheUFMSUE1cUlnaHJJZ3RySVFjZ0JpQUNMZ0VBSUFFb0FnQnNJZ29nQWtGQWF5NEJBQ0FCS0FLQUFXd2lEbW9pRUNBQlFVQnJLQUlBSUFWQkVIUkJFSFZzSWhFZ0FpNEJZQ0FCS0FMQUFXd2lFMm9pQldvaUZDQUlhallDQUNBR0lCUWdDR3MyQXVBQklBWWdDeUFLSUE1cklnZ2dFU0FUYTBIcUFteEJDSFVnQldzaUNtb2lEbW8yQWlBZ0JpQU9JQXRyTmdMQUFTQUdRVUJySUFjZ0NDQUtheUlJYWpZQ0FDQUdJQWdnQjJzMkFxQUJJQVlnRHlBTlFaVUNiRUVJZFdzZ0Iyc2lCeUFRSUFWcklnVnFOZ0pnSUFVZ0Iyc2hCVUVnQzBFQ2RDQUdhaUFGTmdJQUlBWkJCR29oQmlBQlFRUnFJUUVnQWtFQ2FpRUNJQWxCZjJvaEJTQUpRUUZMQkVBZ0JTRUpEQUVMQ3lBVlFZQjlhaUVKUVFBaEFRTkFJQVFnQVVFQ2RDQURhaWdDQUdvaEJpQUFLQUlBUVpDQUFXb2hCUUpBQWtBZ0FDZ0NCQ0lISUFBb0FnZ2lBbklOQUNBQUtBSU1CRUJCQUNFQ0RBRUZJQUFvQWhBRVFFRUFJUUlNQWdVZ0FDZ0NGQVJBUVFBaEFnd0RCU0FBS0FJWUJFQkJBQ0VDREFRRklBQW9BaHdFUUVFQUlRSU1CUVVnQmlBSklBVkJCWFpCL3dkeGFpd0FBQ0lDT2dBQUlBWkJBV29nQWtFSEVFVWFDd3NMQ3dzTUFRc2dCeUFBS0FJY0lnaHFJZ3NnQUNnQ0ZDSU1JQUFvQWd3aUNtb2lEV3RCNmdKc1FRaDFJQXdnQ21zaURDQUhJQWhySWdwcVFka0RiRUVJZFNJT0lBeEJuUVZzUVFoMWF5QUxJQTFxSWdocklndHJJUWNnQmlBSklBVWdBQ2dDRUNJTmFpSVBJQUFvQWhnaUVDQUNhaUlNYWlJUklBaHFRUVYyUWY4SGNXb3NBQUE2QUFBZ0JpQUpJQkVnQ0d0QkJYWkIvd2R4YWl3QUFEb0FCeUFHSUFrZ0JTQU5heUlGSUFJZ0VHdEI2Z0pzUVFoMUlBeHJJZ0pxSWdnZ0MycEJCWFpCL3dkeGFpd0FBRG9BQVNBR0lBa2dDQ0FMYTBFRmRrSC9CM0ZxTEFBQU9nQUdJQVlnQ1NBRklBSnJJZ0lnQjJwQkJYWkIvd2R4YWl3QUFEb0FBaUFHSUFrZ0FpQUhhMEVGZGtIL0IzRnFMQUFBT2dBRklBWWdDU0FQSUF4cklnSWdEaUFLUVpVQ2JFRUlkV3NnQjJzaUJXcEJCWFpCL3dkeGFpd0FBRG9BQXlBR0lBa2dBaUFGYTBFRmRrSC9CM0ZxTEFBQU9nQUVDeUFBUVNCcUlRQWdBVUVCYWlJQlFRaEhEUUFMSUJJa0JndnJCd0lIZnd4OUl3WWhDQ01HUVlBQ2FpUUdJQUFvQXRBQ0lRc2dDQ0lBSVFVZ0FTZ0NWQ0VCUVFnaEJ3TkFBbjhDUUNBQ0xnRVFJZ29nQWk0QklDSUdja0gvL3dOeEJIOE1BUVVnQWk0Qk1BUi9RUUFoQmd3Q0JTQUNRVUJyTGdFQUJIOUJBQ0VHREFNRklBSXVBVkFFZjBFQUlRWU1CQVVnQWk0QllBUi9RUUFoQmd3RkJTQUNMZ0Z3Qkg5QkFDRUdEQVlGSUFVZ0FTb0NBQ0FDTGdFQXNwUWlERGdDQUNBRklBdzRBaUFnQlVGQWF5QU1PQUlBSUFVZ0REZ0NZQ0FGSUF3NEFvQUJJQVVnRERnQ29BRWdCU0FNT0FMQUFVRTRDd3NMQ3dzTERBRUxJQUVxQWlBZ0NyS1VJZ3dnQVNvQzRBRWdBaTRCY0xLVUlnMlNJaEFnQVNvQ1lDQUNMZ0V3c3BRaURpQUJLZ0tnQVNBQ0xnRlFzcFFpRVpJaUQ1TkQ4d1MxUDVRZ0VTQU9reUlPSUF3Z0RaTWlFWkpEWG9Qc1A1UWlFeUFPUTNVOUowQ1VreUFQSUJDU0lnMlRJaENUSVF3Z0JTQUJLZ0lBSUFJdUFRQ3lsQ0lQSUFFcUFvQUJJQUpCUUdzdUFRQ3lsQ0lTa2lJVUlBRkJRR3NxQWdBZ0JrRVFkRUVRZGJLVUloVWdBU29Dd0FFZ0FpNEJZTEtVSWhhU0lnNlNJaGNnRFpJNEFnQWdCU0FYSUEyVE9BTGdBU0FGSUE4Z0VwTWlEU0FWSUJhVFEvTUV0VCtVSUE2VElnK1NJaElnRUpJNEFpQWdCU0FTSUJDVE9BTEFBU0FGUVVCcklBMGdENU1pRFNBTWtqZ0NBQ0FGSUEwZ0RKTTRBcUFCSUFVZ0ZDQU9reUlOSUJNZ0VVUFVpNG8vbEpNZ0RKTWlESkk0QW1BZ0RTQU1reUVNUVNBTFFRSjBJQVZxSUF3NEFnQWdCVUVFYWlFRklBRkJCR29oQVNBQ1FRSnFJUUlnQjBGL2FpRUdJQWRCQVVzRVFDQUdJUWNNQVFzTElBdEJnSDFxSVFKQkFDRUJBMEFnQUNvQ0JDSU1JQUFxQWh3aURaSWlFQ0FBS2dJVUlnNGdBQ29DRENJUmtpSVBrMFB6QkxVL2xDQU9JQkdUSWc0Z0RDQU5reUlSa2tOZWcrdy9sQ0lUSUE1RGRUMG5RSlNUSUE4Z0VKSWlEWk1pRUpNaERDQUVJQUZCQW5RZ0Eyb29BZ0JxSWdVZ0FpQUFLZ0lBUXdBZ0FFU1NJZzhnQUNvQ0VDSVNraUlVSUFBcUFnZ2lGU0FBS2dJWUloYVNJZzZTSWhjZ0RaSVFRMEgvQjNGcUxBQUFPZ0FBSUFVZ0FpQVhJQTJURUVOQi93ZHhhaXdBQURvQUJ5QUZJQUlnRHlBU2t5SU5JQlVnRnBORDh3UzFQNVFnRHBNaUQ1SWlFaUFRa2hCRFFmOEhjV29zQUFBNkFBRWdCU0FDSUJJZ0VKTVFRMEgvQjNGcUxBQUFPZ0FHSUFVZ0FpQU5JQStUSWcwZ0RKSVFRMEgvQjNGcUxBQUFPZ0FDSUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJTQUZJQUlnRkNBT2t5SU5JQk1nRVVQVWk0by9sSk1nREpNaURKSVFRMEgvQjNGcUxBQUFPZ0FESUFVZ0FpQU5JQXlURUVOQi93ZHhhaXdBQURvQUJDQUFRU0JxSVFBZ0FVRUJhaUlCUVFoSERRQUxJQWdrQmd2TktBSUxmd0Y4SUFBb0F0Z0RJUXNnQUNnQ0pFRUFUQVJBRHdzZ0FDZ0MyQUVoQVFOQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FnQVNJSUtBSW9JQUVvQWlRaUJFRUlkR3BCZ1FKckRwQWVBQjRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJZQklCMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQUlnSUJ3Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJVZ0F5QWdJQnNnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FFSUNBZ0lCb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJRZ0lBVWdJQ0FnSUJrZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQmlBZ0lDQWdJQmdnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJNZ0lDQWZJQ0FnSUNBZ0lCY2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFjZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJJZ0lDQWdDQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBSklDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJFZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0N5QWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUJBZ0lDQWdJQ0FNSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBMGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUE4Z0lDQWdJQ0FnRGlBTFFRQWhBa0VFSVFNTUlBdEJBQ0VDUVFVaEF3d2ZDMEVBSVFKQkJpRUREQjRMUVFBaEFrRUhJUU1NSFF0QkFDRUNRUWdoQXd3Y0MwRUFJUUpCQ1NFRERCc0xRUUFoQWtFS0lRTU1HZ3RCQUNFQ1FRc2hBd3daQzBFQUlRSkJEQ0VEREJnTFFRQWhBa0VOSVFNTUZ3dEJBQ0VDUVE0aEF3d1dDMEVBSVFKQkR5RUREQlVMUVFBaEFrRVFJUU1NRkF0QkFDRUNRUkVoQXd3VEMwRUFJUUpCRWlFRERCSUxRUUFoQWtFVElRTU1FUXRCQUNFQ1FSUWhBd3dRQzBFQUlRSkJGU0VEREE4TFFRQWhBa0VXSVFNTURndEJBQ0VDUVJjaEF3d05DMEVBSVFKQkdDRUREQXdMUVFBaEFrRVpJUU1NQ3d0QkFDRUNRUm9oQXd3S0MwRUFJUUpCR3lFRERBa0xRUUFoQWtFY0lRTU1DQXRCQUNFQ1FSMGhBd3dIQzBFQUlRSkJIaUVEREFZTFFRQWhBa0VmSVFNTUJRdEJBQ0VDUVNBaEF3d0VDMEVBSVFKQklTRUREQU1MUVFBaEFrRWlJUU1NQWdzQ1FBSkFBa0FDUUNBQUtBSklJZ0VPQXdBQkFnTUxJQUVoQWtFaklRTU1CQXNnQVNFQ1FTUWhBd3dEQ3lBQklRSkJKU0VEREFJTElBQW9BZ0FpQVVFeE5nSVVJQUVvQWdBaEFTQUFJQUZCL3dGeFFhd0RhaEVCQUF3QkN5QUFLQUlBSWdGQkJ6WUNGQ0FCSUFRMkFoZ2dBQ2dDQUNBSUtBSW9OZ0ljSUFBb0FnQW9BZ0FoQVNBQUlBRkIvd0Z4UWF3RGFoRUJBQXNnQzBFRWFpQUpRUUowYWlBRE5nSUFJQWdvQWpRRVFDQUxRU3hxSUFsQkFuUnFJZ0VvQWdBZ0FrY0VRQ0FJS0FKUUlnWUVRQ0FCSUFJMkFnQUNRQUpBQWtBQ1FBSkFJQUlPQXdBQkFnTUxJQWdvQWxRaEJFRUFJUUVEUUNBQlFRSjBJQVJxSUFGQkFYUWdCbW92QVFBMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3REN5QUlLQUpVSVFSQkFDRUJBMEFnQVVFQ2RDQUVhaUFCUVFGMElBWnFMd0VBSUFGQkFYUkI0Q2xxTGdFQWJFR0FFR3BCREhVMkFnQWdBVUVCYWlJQlFjQUFSdzBBQ3d3Q0N5QUlLQUpVSVFkQkFDRUJRUUFoQkFOQUlBUkJBblFnQjJvZ0FVRURkRUhnS21vckF3QWlEQ0FFUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FFUVFGeUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFNzJGSXNWQXg5aitpUkFBQUFBQUFBTUEvb3JZNEFnQWdCVUVCYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTXB2VFpHdTUvUS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJBM0lpQ2tFQ2RDQUhhaUFNSUFwQkFYUWdCbW92QVFDM29rU3FFV3p2WXREeVA2SkVBQUFBQUFBQXdEK2l0amdDQUNBS1FRRnFJZ1ZCQW5RZ0Iyb2dEQ0FGUVFGMElBWnFMd0VBdDZKRUFBQUFBQUFBd0QraXRqZ0NBQ0FLUVFKcUlnVkJBblFnQjJvZ0RDQUZRUUYwSUFacUx3RUF0NkpFTzcrbndHa2s2VCtpUkFBQUFBQUFBTUEvb3JZNEFnQWdDa0VEYWlJRlFRSjBJQWRxSUF3Z0JVRUJkQ0FHYWk4QkFMZWlSTHNneDN0NlVlRS9va1FBQUFBQUFBREFQNksyT0FJQUlBUkJCM0lpQlVFQ2RDQUhhaUFNSUFWQkFYUWdCbW92QVFDM29rUmRxM0xlVmFqUlA2SkVBQUFBQUFBQXdEK2l0amdDQUNBRVFRaHFJUVFnQVVFQmFpSUJRUWhIRFFBTERBRUxJQUFvQWdBaUFVRXhOZ0lVSUFFb0FnQWhBU0FBSUFGQi93RnhRYXdEYWhFQkFBc0xDd3NnQ0VIWUFHb2hCQ0FKUVFGcUlnRWdBQ2dDSkVnRVFDQUJJUWtnQkNFQkRBRUxDd3VsQVFFRWZ5QUFLQUlFS0FJQUlRRWdBQ0FBUVFGQjFBQWdBVUUvY1VIS0FXb1JCQUFpQVRZQzJBTWdBVUh6QURZQ0FDQUFLQUlrUVFCTUJFQVBDeUFCUVN4cUlRUkJBQ0VCSUFBb0F0Z0JJUUlEUUNBQUtBSUVLQUlBSVFNZ0FpQUFRUUZCZ0FJZ0EwRS9jVUhLQVdvUkJBQWlBellDVkNBRFFRQkJnQUlRUlJvZ0FVRUNkQ0FFYWtGL05nSUFJQUpCMkFCcUlRSWdBVUVCYWlJQklBQW9BaVJJRFFBTEM4c0ZBUXQvSXdZaERTTUdRU0JxSkFZZ0FpZ0NBQ0VISUFJb0FnUWhDeUFDS0FJSUlRb2dCU2dDQUNJSVJRUkFJQVVnQUNnQ0hDQUFLQUlnRUtrSklnZzJBZ0FMSUEwaUFrRWNhaUVPSUFKQkdHb2hEeUFBS0FJTUlBQkJNR29nQjBFd2JHb2lEQ0FCS0FJQUlna2dCMEh3QUd4cUtBSUFJQWRCOEFCc0lBbHFLQUlFS0FJQUlBdEJGR3hxSUFvZ0NCQ29DVUVBU0FSL1FYOEZJQVVvQWdBaUNDZ0NIQ0VKSUFnb0Fnd2dDQ2dDQ0VFQmFtb2dDQ2dDRkNBSUtBSVFRUUZxYW15eVF3QUFvRUNVUXdBQW9FQ1VJQWtnQ1d5eVhnUi9RWDhGSUFFb0FwZ0JJaEJCQVVZRVFDQUFLQUlNSUF4QkFFRUFJQUVvQWdBZ0IwSHdBR3hxS0FJRUtBSUFJQXRCRkd4cUtBSUFJQXBCRkd4cUlBSVEyZ0lGSUFBb0Fnd2hDQ0FBUVpBRWFpQUhRVEJzYWlFSklCQkJBa1lFUUNBSUlBd2dDVUVBSUFFb0FnQWdCMEh3QUd4cUtBSUVLQUlBSUF0QkZHeHFLQUlBSUFwQkZHeHFJQUlRMmdJRklBZ2dEQ0FKSUFCQjhBZHFJQWRCTUd4cUlBRW9BZ0FnQjBId0FHeHFLQUlFS0FJQUlBdEJGR3hxS0FJQUlBcEJGR3hxSUFJUTJnSUxDeUFESUFRZ0FDZ0NCQ0FBS0FJSUlBQW9BaFFnQlNnQ0FDQUFLQUlZSWdBZ0FDQUNJQTRnRHlBR0VLd0pRUUJJQkg5QmZ3VWdCaUFPS0FJQXNqZ0NCQ0FHSUE4b0FnQ3lPQUlJSUFFb0FnQWlBQ0FIUWZBQWJHb29BZ1FvQWdBZ0MwRVViR29vQWdBaUFpQUtRUlJzYWlFQklBWWdCMEh3QUd3Z0FHb3FBaGdnQjBId0FHd2dBR29xQWd3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWhBZ0NrRVViQ0FDYWlJQ0tnSU1sSktTT0FJTUlBWWdCMEh3QUd3Z0FHb3FBaWdnQjBId0FHd2dBR29xQWh3Z0FTb0NDSlFnQjBId0FHd2dBR29xQWlBZ0Fpb0NESlNTa2pnQ0VDQUdJQWRCOEFCc0lBQnFLZ0k0SUFkQjhBQnNJQUJxS2dJc0lBRXFBZ2lVSUFkQjhBQnNJQUJxS2dJd0lBSXFBZ3lVa3BJNEFoUkJBQXNMQ3lFUklBMGtCaUFSQ3lJQkFYMUJmeUFBS2dJQUlBRXFBZ0NUSWdKREFBQUFBRjRnQWtNQUFBQUFYUnNMaWhBQ0RIOEtmU01HSVFvakJrRkFheVFHSUFwQk9Hb2hCeUFLUVRCcUlRZ2dDa0VvYWlFTElBcEJJR29oQ1NBRFFRUklCRUJESUx5K1RDRUZCU0FBS2dJc1F3QUFBQUJiQkVCRElMeStUQ0VGQlFKQUFuOGdBN0lpR2lBRmxCQkRJUkFnQTBFR2RCQkVJZ1pGQkVCQkFFRURRY3JZQWlBSkVEMURBQUNBdnlFRkRBSUxJQU5CQTNRUVJDSUpSUVJBUVFCQkEwSEsyQUlnQ3hBOUlBWVFPRU1BQUlDL0lRVU1BZ3NnQTBFQ2RDSUxFRVFpRFVVRVFFRUFRUU5CeXRnQ0lBZ1FQU0FHRURnZ0NSQTRRd0FBZ0w4aEJRd0NDeUFMRUVRaUMwVUVRRUVBUVFOQnl0Z0NJQWNRUFNBR0VEZ2dDUkE0SUEwUU9FTUFBSUMvSVFVTUFnc2dFRUYvYWlJSEMwRUVJQWRCQkVvYklSRkJBQ0VIQTBBZ0IwRURSd1JBUVFBaENBTkFJQWhCQkVjRVFDQUhRUVIwSUFScUlBaEJBblJxSUFkQkJIUWdBR29nQ0VFQ2RHb3FBZ0FnQUNvQ0xKVTRBZ0FnQ0VFQmFpRUlEQUVMQ3lBSFFRRnFJUWNNQVFzTElCRkJBblFnQzJvaER3SkFBa0FDUUFOQUFrQkJBQ0VIQTBBZ0J5QURTQVJBSUFRcUFnQWhGeUFFS2dJRUlSWWdCQ29DRENFWklBUXFBaEFoRXlBRUtnSVVJUmdnQkNvQ0hDRWJJQWRCREd3Z0Ftb3FBZ0FpRkNBRUtnSWdsQ0FIUVF4c0lBSnFLZ0lFSWhVZ0JDb0NKSlNTUXdBQWdEK1NJZ1ZEQUFBQUFGc05BaUFIUVFOMElBRnFLZ0lFSUJzZ0ZDQVRsQ0FWSUJpVWtwSWlHQ0FGbFpNaEV5QUhRUUYwSWdCQkFuUWdDV29nQjBFRGRDQUJhaW9DQUNBWklCY2dGSlFnRmlBVmxKS1NJaGNnQlpXVEloWTRBZ0FnQUVFQmNrRUNkQ0FKYWlBVE9BSUFJQWRCQW5RZ0Myb2dGaUFXbENBVElCT1VraUlUT0FJQUlBZEJBblFnRFdvZ0V6Z0NBQ0FIUVFSMElnQkJBblFnQm1vZ0ZDQUZsU0lUT0FJQUlBQkJBWEpCQW5RZ0Jtb2dGU0FGbFNJV09BSUFJQUJCQW5KQkFuUWdCbXBEQUFDQVB5QUZsU0laT0FJQUlBQkJBM0pCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUVJ5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVGY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQm5KQkFuUWdCbW9nRkNBWGxJd2dCU0FGbENJRmxUZ0NBQ0FBUVFkeVFRSjBJQVpxSUJVZ0Y1U01JQVdWT0FJQUlBQkJDSEpCQW5RZ0JtcERBQUFBQURnQ0FDQUFRUWx5UVFKMElBWnFRd0FBQUFBNEFnQWdBRUVLY2tFQ2RDQUdha01BQUFBQU9BSUFJQUJCQzNKQkFuUWdCbW9nRXpnQ0FDQUFRUXh5UVFKMElBWnFJQlk0QWdBZ0FFRU5ja0VDZENBR2FpQVpPQUlBSUFCQkRuSkJBblFnQm1vZ0ZDQVlsSXdnQlpVNEFnQWdBRUVQY2tFQ2RDQUdhaUFWSUJpVWpDQUZsVGdDQUNBSFFRRnFJUWNNQVFzTElBc2dBMEVFUVNBUWdnTkRBQUNBUVNBUEtnSUFRd0FBZ0VDVUlnVWdCVU1BQUlCQlhSc2lGVU1BQU1CQWxTRUZRd0FBQUFBaEUwRUFJUUFEUUNBQUlBTkhCRUFnRXlBQVFRSjBJQXRxS2dJQUloUWdGVjRFZlNBRkJTQUZRd0FBZ0Q5REFBQ0FQeUFVSUJXVmt5SVVJQlFnRkpTVWs1UUxraUVUSUFCQkFXb2hBQXdCQ3dzZ0V5QWFsU0lGUTgzTXpEMWREUVFnRGtFQVJ5QUZRd0FBZ0VCZGNRUkFJQTVCQ2tZZ0JTQVNsVU9rY0gwL1huSU5CUVVnRGtFS1JnMEZDMEVBSVFCQkFDRU1BMEFnQXlBTVJ3UkFJQXhCQW5RZ0RXb3FBZ0FpRWlBVlh3UkFJQUJCQTNRaUIwRUNkQ0FHYWtNQUFJQS9JQklnRlpXVEloSWdFcFFpRWlBTVFRUjBJZ2hCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJBWEpCQW5RZ0Jtb2dFaUFJUVFGeVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVFKeVFRSjBJQVpxSUJJZ0NFRUNja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRURja0VDZENBR2FpQVNJQWhCQTNKQkFuUWdCbW9xQWdDVU9BSUFJQWRCQkhKQkFuUWdCbW9nRWlBSVFRUnlRUUowSUFacUtnSUFsRGdDQUNBSFFRVnlRUUowSUFacUlCSWdDRUVGY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVHY2tFQ2RDQUdhaUFTSUFoQkJuSkJBblFnQm1vcUFnQ1VPQUlBSUFkQkIzSkJBblFnQm1vZ0VpQUlRUWR5UVFKMElBWnFLZ0lBbERnQ0FDQUhRUWhxUVFKMElBWnFJQklnQ0VFSWNrRUNkQ0FHYWlvQ0FKUTRBZ0FnQjBFSmFrRUNkQ0FHYWlBU0lBaEJDWEpCQW5RZ0Jtb3FBZ0NVT0FJQUlBZEJDbXBCQW5RZ0Jtb2dFaUFJUVFweVFRSjBJQVpxS2dJQWxEZ0NBQ0FIUVF0cVFRSjBJQVpxSUJJZ0NFRUxja0VDZENBR2Fpb0NBSlE0QWdBZ0IwRU1ha0VDZENBR2FpQVNJQWhCREhKQkFuUWdCbW9xQWdDVU9BSUFJQWRCRFdwQkFuUWdCbW9nRWlBSVFRMXlRUUowSUFacUtnSUFsRGdDQUNBSFFRNXFRUUowSUFacUlCSWdDRUVPY2tFQ2RDQUdhaW9DQUpRNEFnQWdCMEVQYWtFQ2RDQUdhaUFTSUFoQkQzSkJBblFnQm1vcUFnQ1VPQUlBSUFCQkFuUWdDV29nRWlBTVFRRjBJZ2RCQW5RZ0NXb3FBZ0NVT0FJQUlBQkJBV3BCQW5RZ0NXb2dFaUFIUVFGeVFRSjBJQWxxS2dJQWxEZ0NBQ0FBUVFKcUlRQUxJQXhCQVdvaERBd0JDd3NnQUVFR1NBMENJQW9nQ1NBR0lBQVFxQU5CQUVnTkF5QUVJQW9xQWdBZ0JDb0NBSkk0QWdBZ0JDQUtLZ0lFSUFRcUFnU1NPQUlFSUFRZ0Npb0NDQ0FFS2dJTWtqZ0NEQ0FFSUFvcUFnd2dCQ29DRUpJNEFoQWdCQ0FLS2dJUUlBUXFBaFNTT0FJVUlBUWdDaW9DRkNBRUtnSWNramdDSENBRUlBb3FBaGdnQkNvQ0lKSTRBaUFnQkNBS0tnSWNJQVFxQWlTU09BSWtJQVVoRWlBT1FRRnFJUTRNQVFzTElBWVFPQ0FKRURnZ0RSQTRJQXNRT0VNZ3ZMNU1JUVVNQXdzZ0JoQTRJQWtRT0NBTkVEZ2dDeEE0UXdBQWdMOGhCUXdDQ3lBR0VEZ2dDUkE0SUEwUU9DQUxFRGhESUx5K1RDRUZEQUVMSUFZUU9DQUpFRGdnRFJBNElBc1FPQXNMQ3lBS0pBWWdCUXZGQ0FJR2Z3NTlJd1loQnlNR1FUQnFKQVlnQjBFb2FpRUdJQWRCSUdvaENDQURRUVJJQkVCRElMeStUQ0VMQlNBQUtnSXNRd0FBQUFCYkJFQkRJTHkrVENFTEJRSkFJQU5CQm5RUVJDSUZSUVJBUVFCQkEwSEsyQUlnQ0JBOVF3QUFnTDhoQ3d3QkN5QURRUU4wRUVRaUNrVUVRRUVBUVFOQnl0Z0NJQVlRUFNBRkVEaERBQUNBdnlFTERBRUxRUUFoQmdOQUlBWkJBMGNFUUVFQUlRZ0RRQ0FJUVFSSEJFQWdCa0VFZENBRWFpQUlRUUowYWlBR1FRUjBJQUJxSUFoQkFuUnFLZ0lBSUFBcUFpeVZPQUlBSUFoQkFXb2hDQXdCQ3dzZ0JrRUJhaUVHREFFTEN5QURzaUVZSUFOQkFYUWhDRUVBSVFZQ1FBSkFBMEFDUUVNQUFBQUFJUkpCQUNFSkEwQWdDU0FEU0FSQUlBUXFBZ0FoRFNBRUtnSUVJUkFnQkNvQ0RDRVJJQVFxQWhBaEV5QUVLZ0lVSVJRZ0JDb0NIQ0VMSUFsQkRHd2dBbW9xQWdBaURpQUVLZ0lnbENBSlFReHNJQUpxS2dJRUlnOGdCQ29DSkpTU1F3QUFnRCtTSWd4REFBQUFBRnNOQWlBSlFRTjBJQUZxS2dJRUlBc2dEaUFUbENBUElCU1VrcElpRnlBTWxaTWhGU0FKUVFGMElnQkJBblFnQ21vZ0NVRURkQ0FCYWlvQ0FDQVJJQTBnRHBRZ0VDQVBsSktTSWhBZ0RKV1RJaEU0QWdBZ0FFRUJja0VDZENBS2FpQVZPQUlBSUFsQkJIUWlBRUVDZENBRmFpQU9JQXlWSWhNNEFnQWdBRUVCY2tFQ2RDQUZhaUFQSUF5VkloUTRBZ0FnQUVFQ2NrRUNkQ0FGYWtNQUFJQS9JQXlWSWdzNEFnQWdBRUVEY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQkhKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFWeVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFR2NrRUNkQ0FGYWlBT0lCQ1VqQ0FNSUF5VUlnMlZPQUlBSUFCQkIzSkJBblFnQldvZ0R5QVFsSXdnRFpVNEFnQWdBRUVJY2tFQ2RDQUZha01BQUFBQU9BSUFJQUJCQ1hKQkFuUWdCV3BEQUFBQUFEZ0NBQ0FBUVFweVFRSjBJQVZxUXdBQUFBQTRBZ0FnQUVFTGNrRUNkQ0FGYWlBVE9BSUFJQUJCREhKQkFuUWdCV29nRkRnQ0FDQUFRUTF5UVFKMElBVnFJQXM0QWdBZ0FFRU9ja0VDZENBRmFpQU9JQmVVakNBTmxUZ0NBQ0FBUVE5eVFRSjBJQVZxSUE4Z0Y1U01JQTJWT0FJQUlCSWdFU0FSbENBVklCV1VrcEloRWlBSlFRRnFJUWtNQVFzTElCSWdHSlVpQzBQTnpNdzlYUTBESUFaQkFFY2dDME1BQUlCQVhYRUVRQ0FHUVFwR0lBc2dGcFZEcEhCOVAxNXlEUVFGSUFaQkNrWU5CQXNnQnlBS0lBVWdDQkNvQTBFQVNBMENJQVFnQnlvQ0FDQUVLZ0lBa2pnQ0FDQUVJQWNxQWdRZ0JDb0NCSkk0QWdRZ0JDQUhLZ0lJSUFRcUFneVNPQUlNSUFRZ0J5b0NEQ0FFS2dJUWtqZ0NFQ0FFSUFjcUFoQWdCQ29DRkpJNEFoUWdCQ0FIS2dJVUlBUXFBaHlTT0FJY0lBUWdCeW9DR0NBRUtnSWdramdDSUNBRUlBY3FBaHdnQkNvQ0pKSTRBaVFnQ3lFV0lBWkJBV29oQmd3QkN3c2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFnc2dCUkE0SUFvUU9FTWd2TDVNSVFzTUFRc2dCUkE0SUFvUU9Bc0xDeUFISkFZZ0N3dTdCZ0lNZndSOUl3WWhDU01HUWRBQWFpUUdJQWxCTUdvaEVDQUpRY3dBYWlFTUlBbEJ5QUJxSVEwZ0NVRkFheUVPSUFsQk9Hb2hEeUFBc2lFVUlBR3lJUlVnQlVITUpXb2hFVUVBSVFGQkFDRUFBbjhDUUFOQUFrQWdDQ0FES0FJRVRnMENRUUFoQ3dOQUlBdEJBMGNFUUVFQUlRWURRQ0FHUVFSSEJFQWdDMEVFZENBSmFpQUdRUUowYWlBSVFUQnNJQUpxSUF0QkJIUnFJQVpCQW5ScUtBSUFOZ0lBSUFaQkFXb2hCZ3dCQ3dzZ0MwRUJhaUVMREFFTEMwRUFJUWNnQXlnQ0FDQUlRZkFBYkdvb0FnUWhCZ05BSUFjZ0JpZ0NCRWdFUUVFQUlRb0RRQ0FLSUFZb0FnQWlDeUFIUVJSc2FpZ0NCRWdFUUVFQUlBa2dCMEVVYkNBTGFpZ0NBQ0lHSUFwQkZHeHFLZ0lJSUFwQkZHd2dCbW9xQWd3Z0RDQU5FSUlFUVFCSUlBd3FBZ0FpRWtNQUFBQUFYWEpGQkVBZ0RTb0NBQ0lUSUJWZ0lCTkRBQUFBQUYwZ0VpQVVZSEp5UlFSQUFrQWdEaUFES0FJQUlBaEI4QUJzYWlnQ0JDZ0NBQ0FIUVJSc2FpZ0NBQ0lHSUFwQkZHeHFLQUlJTmdJQUlBNGdDa0VVYkNBR2FpZ0NERFlDQkVFQUlBa2dEaUFQRUljRUlBOHFBZ1FpRWlBREtBSUFJQWhCOEFCc2FpZ0NCQ2dDQUNJR0lBZEJGR3hxS2dJTUloTmZCRUFnRWlBSFFSUnNJQVpxS2dJUVlBUkFJQUJCeUFGR0RRa2dBRUVZYkNBRWFpQUlOZ0lBSUFCQkdHd2dCR29nQnpZQ0JDQUFRUmhzSUFScUlBbzJBZ2dnQUVFWWJDQUVhaUFNS0FJQU5nSVFJQUJCR0d3Z0JHb2dEU2dDQURZQ0ZDQUFRUmhzSUFScVFRQTJBZ3dnQUVFQmFpRUFEQUlMQ3lBU0lCTkRBQUFBUUpSZkJFQWdFaUFIUVJSc0lBWnFLZ0lRUXdBQUFEK1VZQVJBSUFGQnlBRkdCSDhnRVVGL05nSUFRY2dCQlNBQlFSaHNJQVZxSUFnMkFnQWdBVUVZYkNBRmFpQUhOZ0lFSUFGQkdHd2dCV29nQ2pZQ0NDQUJRUmhzSUFWcUlBd29BZ0EyQWhBZ0FVRVliQ0FGYWlBTktBSUFOZ0lVSUFGQkdHd2dCV3BCQURZQ0RDQUJRUUZxQ3lFQkN3c0xDd3NnQ2tFQmFpRUtJQU1vQWdBZ0NFSHdBR3hxS0FJRUlRWU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0NFRUJhaUVJREFFTEMwRUFRUU5CMmRnQ0lCQVFQU0FFUWN3bGFnd0JDeUFBUVJoc0lBUnFRWDgyQWd3Z0FVRVliQ0FGYWtFTWFndEJmellDQUNBSkpBWUx3d2NDRG44SWZTTUdJUVVqQmtIUUFHb2tCaUFGUVRCcUlSQWdCVUhNQUdvaERDQUZRY2dBYWlFTklBVkJRR3NoRGlBRlFUaHFJUThnQUNnQ0FMSWhHU0FBS0FJRXNpRWFJQVJCekNWcUlSRUNmd0pBQTBBQ1FDQUtJQUlvQWdST0RRSkJBQ0VIQTBBZ0IwRURSd1JBUVFBaEJnTkFJQVpCQkVjRVFDQUhRUVIwSUFWcUlBWkJBblJxSUFwQk1Hd2dBV29nQjBFRWRHb2dCa0VDZEdvb0FnQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBSFFRRnFJUWNNQVFzTFFRQWhCaUFDS0FJQUlBcEI4QUJzYWlnQ0JDRUhBMEFnQmlBSEtBSUVTQVJBUVFBaEN3TkFJQXNnQnlnQ0FDSVNJQVpCRkd4cUtBSUVTQVJBSUFBZ0JTQUdRUlJzSUJKcUtBSUFJZ2NnQzBFVWJHb3FBZ2dnQzBFVWJDQUhhaW9DRENBTUlBMFFnZ1JCQUVnZ0RDb0NBQ0lUUXdBQUFBQmRja1VFUUNBTktnSUFJaFFnR21BZ0ZFTUFBQUFBWFNBVElCbGdjbkpGQkVBQ1FDQUZLZ0lNSUFVcUFnQWdBaWdDQUNBS1FmQUFiR29vQWdRb0FnQWdCa0VVYkdvb0FnQWlCeUFMUVJSc2Fpb0NDQ0lUbENBRktnSUVJQXRCRkd3Z0Iyb3FBZ3dpRkpTU2tpSVdJQmFVSUFVcUFod2dFeUFGS2dJUWxDQVVJQVVxQWhTVWtwSWlGeUFYbEpJZ0JTb0NMQ0FUSUFVcUFpQ1VJQlFnQlNvQ0pKU1NraUlZSUJpVWtwRWhGU0FGS2dJb0lCZ2dGWldVSUFVcUFnZ2dGaUFWbFpRZ0JTb0NHQ0FYSUJXVmxKS1NRODNNekwxZVJRUkFJQTRnRXpnQ0FDQU9JQlE0QWdRZ0FDQUZJQTRnRHhDSEJDQVBLZ0lFSWhNZ0FpZ0NBQ0FLUWZBQWJHb29BZ1FvQWdBaUJ5QUdRUlJzYWlvQ0RDSVVYd1JBSUJNZ0JrRVViQ0FIYWlvQ0VHQUVRQ0FKUWNnQlJnMEtJQWxCR0d3Z0Eyb2dDallDQUNBSlFSaHNJQU5xSUFZMkFnUWdDVUVZYkNBRGFpQUxOZ0lJSUFsQkdHd2dBMm9nRENnQ0FEWUNFQ0FKUVJoc0lBTnFJQTBvQWdBMkFoUWdDVUVZYkNBRGFrRUFOZ0lNSUFsQkFXb2hDUXdEQ3dzZ0V5QVVRd0FBQUVDVVh3UkFJQk1nQmtFVWJDQUhhaW9DRUVNQUFBQS9sR0FFUUNBSVFjZ0JSZ1IvSUJGQmZ6WUNBRUhJQVFVZ0NFRVliQ0FFYWlBS05nSUFJQWhCR0d3Z0JHb2dCallDQkNBSVFSaHNJQVJxSUFzMkFnZ2dDRUVZYkNBRWFpQU1LQUlBTmdJUUlBaEJHR3dnQkdvZ0RTZ0NBRFlDRkNBSVFSaHNJQVJxUVFBMkFnd2dDRUVCYWdzaENBc0xDd3NMQ3lBTFFRRnFJUXNnQWlnQ0FDQUtRZkFBYkdvb0FnUWhCd3dCQ3dzZ0JrRUJhaUVHREFFTEN5QUtRUUZxSVFvTUFRc0xRUUJCQTBIWjJBSWdFQkE5SUFOQnpDVnFEQUVMSUFsQkdHd2dBMnBCZnpZQ0RDQUlRUmhzSUFScVFReHFDMEYvTmdJQUlBVWtCZ3ZWRVFJVWZ3RjlJd1loQlNNR1FUQnFKQVlnQlNJTVFTaHFJUklnQlVFZ2FpRVRJQUJCQUVjZ0FVRUFSM0VnQWtFQVIzRWdBMEVBUjNFZ0JFRUFSM0VFZnlBQktBS1lBVUVCU0FSL1FYNEZBbjhnQkVNQUFBQUFPQUlBSUFGQkNHb2hEU0FCUVRocUlRZ2dBVUhvQUdvaENrRUFJUVVEUUNBRklBRW9BZ1JJQkVBZ0RTQUJLQUlBSUFWQjhBQnNha0VNYWlBQVFUQnFJQVZCTUd4cUVMSUNJQUVvQXBnQlFRRktCRUFnQ0NBQktBSUFJQVZCOEFCc2FrRU1haUFBUVpBRWFpQUZRVEJzYWhDeUFpQUJLQUtZQVVFQ1NnUkFJQW9nQVNnQ0FDQUZRZkFBYkdwQkRHb2dBRUh3QjJvZ0JVRXdiR29Rc2dJTEN5QUZRUUZxSVFVTUFRc0xJQUFvQWdCQkFVWUVRQ0FBUVF4cUloUW9BZ0FnQUVFd2FpQUJJQUJCOEJScUlnNGdBRUhJT21vaUNoRE5CaUFBUVFScUlROGdBRUVJYWlFUUJTQUFRUVJxSWc4b0FnQWdBRUVJYWlJUUtBSUFJQUJCTUdvZ0FTQUFRZkFVYWlJT0lBQkJ5RHBxSWdvUXpBWWdBRUVNYWlFVUN5QUFRZURuQUdvaEZ5QUJRWndCYWlFVklBQkIwQXRxSVJZZ0RpRUlBMEFDUUNBTElBQW9BaVJPRFFCQkFDRUpJQVloQnlBSUlRVURRQUpBSUFrZ0Z5Z0NBRTRFUUNBRklRZ01BUXNnQ3lBQUtBSWtSZ1JBSUFVaENBd0JDeUFGSUJVZ0J5QVdJQThvQWdBZ0VDZ0NBQkNGQkNJSVFRQklCRUFnQlNBT1J3UkFJQVVoQ0F3Q0N5QUtJQlVnQnlBV0lBOG9BZ0FnRUNnQ0FCQ0ZCQ0lJUVFCSUJIOGdDaUVJREFJRklBb0xJUVVMSUFsQkFuUWdER29nQ0VFWWJDQUZhaUlSTmdJQUlBQkIwQXRxSUFkQkEzUnFJQWhCR0d3Z0JXb29BaEEyQWdBZ0FDQUhRUU4wYWtIVUMyb2dDRUVZYkNBRmFpZ0NGRFlDQUNBQVFlVG5BR29nQ1VFMGJHb2dBRFlDQUNBQUlBbEJOR3hxUWVqbkFHb2dBVFlDQUNBQUlBbEJOR3hxUWV6bkFHb2dFVFlDQUNBQUlBbEJOR3hxUWZEbkFHb2dBallDQUNBSlFRRnFJUWtnQmlBSFFRRnFJZ2dnQ0VFRlJoc2hCeUFMUVFGcUlRc01BUXNMSUFsRkRRQkJBQ0VISUFZaEJRTkFJQWNnQ1VjRVFDQUFJQWRCTkd4cVFaVG9BR29nQUVIazV3QnFJQWRCTkd4cUtBSUFJQUFnQjBFMGJHcEI2T2NBYWlnQ0FDQUFJQWRCTkd4cVFlem5BR29vQWdBZ0FDQUhRVFJzYWtIdzV3QnFLQUlBSUFBZ0IwRTBiR3BCOU9jQWFpZ0NBQ0FBSUFkQk5HeHFRZmpuQUdvZ0FDQUhRVFJzYWtIODV3QnFJZ1lReUFZaUVUWUNBQ0FSUlFSQUlBWXFBZ0FnQUNvQ0tGNEVRQ0FBS0FJQVFRRkdCRUFnRkNnQ0FDSUdRZWdBYWlBQUlBZEJOR3hxUVlEb0FHb3FBZ0M3SUFBZ0IwRTBiR3BCaE9nQWFpb0NBTHNnRWlBVElBWW9BckFCRU44RUlBQkIwQTVxSUFWQkEzUnFJQklyQXdDMk9BSUFJQUFnQlVFRGRHcEIxQTVxSUJNckF3QzJPQUlBQlNBQVFkQU9haUFGUVFOMGFpQUFJQWRCTkd4cVFZRG9BR29vQWdBMkFnQWdBQ0FGUVFOMGFrSFVEbW9nQUNBSFFUUnNha0dFNkFCcUtBSUFOZ0lBQ3lBQVFaQVJhaUFGUVF4c2FpQUFJQWRCTkd4cVFZam9BR29vQWdBMkFnQWdBQ0FGUVF4c2FrR1VFV29nQUNBSFFUUnNha0dNNkFCcUtBSUFOZ0lBSUFBZ0JVRU1iR3BCbUJGcUlBQWdCMEUwYkdwQmtPZ0FhaWdDQURZQ0FDQUFRZEFMYWlBRlFRTjBhaUFIUVFKMElBeHFLQUlBSWdZb0FoQTJBZ0FnQUNBRlFRTjBha0hVQzJvZ0JpZ0NGRFlDQUNBQVFhRGdBR29nQlVFWWJHb2dCaWdDQURZQ0FDQUFJQVZCR0d4cVFhVGdBR29nQmlnQ0JEWUNBQ0FBSUFWQkdHeHFRYWpnQUdvZ0JpZ0NDRFlDQUNBQUlBVkJHR3hxUWF6Z0FHcEJBRFlDQUNBRlFRRnFJUVVMQ3lBSFFRRnFJUWNNQVFzTElBVWhCZ3dCQ3d0QkFDRUNBMEFnQWlBR1NBUkFJQUZCbkFGcUlBSkJHR3hxSWdVZ0FFR2c0QUJxSUFKQkdHeHFJZ2dwQWdBM0FnQWdCU0FJS1FJSU53SUlJQVVnQ0NrQ0VEY0NFQ0FDUVFGcUlRSU1BUXNMSUFFZ0JrRVliR3BCZnpZQ3FBRWdCa0VEU0NFQ0lBQW9BZ0JCQVVZRVFDQUNCRUFnQVVFQU5nS1lBVUY5REFJTElBUWdBQ2dDRUNBTklBQkIwQTVxSWdJZ0FFR1FFV29pQlNBR0lBTkJBQkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWVrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBRUF6TStNL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBS0NabWRrL0VJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FBS0FJUVJBQUFBQUFBQUFBQUVJMEJJQVFnQUNnQ0VDQURJQUlnQlNBR0lBTkJBUkRiQVNJWk9BSUFJQmtnQUNvQ0xGNEVRQ0FCUVFBMkFwZ0JRWHdNQmdzTEN3c0xCU0FDQkVBZ0FVRUFOZ0tZQVVGOURBSUxJQVFnRFNBQVFkQU9haUlDSUFCQmtCRnFJZ1VnQmlBRFFRQkRBQUNBUHhEYUFTSVpPQUlBSUJrZ0FDb0NMRjRFUUNBRUlBTWdBaUFGSUFZZ0EwRUJRODNNVEQ4UTJnRWlHVGdDQUNBWklBQXFBaXhlQkVBZ0JDQURJQUlnQlNBR0lBTkJBVU9hbVJrL0VOb0JJaGs0QWdBZ0dTQUFLZ0lzWGdSQUlBUWdBeUFDSUFVZ0JpQURRUUZEemN6TVBoRGFBU0laT0FJQUlCa2dBQ29DTEY0RVFDQUVJQU1nQWlBRklBWWdBMEVCUXdBQUFBQVEyZ0VpR1RnQ0FDQVpJQUFxQWl4ZUJFQWdBVUVBTmdLWUFVRjhEQVlMQ3dzTEN3c2dBU0FCS0FLWUFVRUJhallDbUFGQkFDRUFBMEFnQUVFRFJ3UkFRUUFoQWdOQUlBSkJCRWNFUUNBQlFlZ0FhaUFBUVFSMGFpQUNRUUowYWlBQlFUaHFJQUJCQkhScUlBSkJBblJxS0FJQU5nSUFJQUpCQVdvaEFnd0JDd3NnQUVFQmFpRUFEQUVMQzBFQUlRQURRQ0FBUVFOSEJFQkJBQ0VDQTBBZ0FrRUVSd1JBSUFGQk9Hb2dBRUVFZEdvZ0FrRUNkR29nQVVFSWFpQUFRUVIwYWlBQ1FRSjBhaWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xJQUJCQVdvaEFBd0JDd3RCQUNFQUEzOGdBRUVEUmdSL1FRQUZRUUFoQWdOQUlBSkJCRWNFUUNBQlFRaHFJQUJCQkhScUlBSkJBblJxSUFCQkJIUWdBMm9nQWtFQ2RHb29BZ0EyQWdBZ0FrRUJhaUVDREFFTEN5QUFRUUZxSVFBTUFRc0xDd3NGUVg4TElSZ2dEQ1FHSUJnTHdRRUJBMzhqQmlFRUl3WkJFR29rQmtHazZ3QVFSQ0lEUlFSQVFRQkJBMEc1MkFJZ0JCQTlRUUVRQVFzZ0JFRUlhaUVGSUFNZ0FEWUNGQ0FESUFFMkFnUWdBeUFDTmdJSUlBTkJHVFlDR0NBRFFRczJBaHdnQTBFTE5nSWdJQU5CQ2pZQ0pDQURRNXFaR1Q4NEFpZ2dBME1BQUFCQU9BSXNJQU5CNE9jQWFrRUJOZ0lBSUFOQjlPY0FhaUFCSUFKc0VFUWlBRFlDQUNBQUJFQWdBMEg0NXdCcVFRQTJBZ0FnQkNRR0lBTVBCVUVBUVFOQnVkZ0NJQVVRUFVFQkVBRUxRUUFMTHdBZ0FDZ0NDQ0FCUVFKMGFpSUJLQUlBQkg4Z0FVRUFOZ0lBSUFBZ0FDZ0NBRUYvYWpZQ0FFRUFCVUYvQ3hvTFBnQWdBU0FBS0FJQUlBQW9BZ1FRendZaUFVRUJOZ0lBSUFFZ0FEWUNEQ0FCSUFCQkNHb1E0d0lpQURZQ0VDQUFSQUFBQUFBQUFBQUFFSTBCSUFFTHVnRUJCbjhnQUNnQ0FDRUJRYlRFQXlnQ0FDSUNCRUFDUUNBQ0lBSkJmMm9pQkhGRklnVUVmeUFCSUFSeEJTQUJJQUpKQkg4Z0FRVWdBU0FDRUU0TEN5SUdRUUowUWJERUF5Z0NBR29vQWdBaUFBUi9BMEFnQUNnQ0FDSUFSUVJBUVFBaEFBd0RDeUFBS0FJRUlnTWdBVVlFUUNBQklBQW9BZ2hHRFFNRklBVUVmeUFESUFSeEJTQURJQUpQQkg4Z0F5QUNFRTRGSUFNTEN5QUdSd1JBUVFBaEFBd0VDd3NNQUFBTEFBVkJBQXNoQUFzRlFRQWhBQXNnQUF2N0FnRUdmeU1HSVFNakJrRXdhaVFHSUFOQkdHb2hCU0FEUVJCcUlRWWdBMEVJYWlFSElBTkJJR29pQWlBQU5nSUFJQU5CSEdvaUJDQUJOZ0lBSUFJUVV3Ui9BbjhnQWhCU0lRQWdCQkRTQmdSL0lBQkJDR29pQVNBRUVLd0RRYmdCRUV3YUlBQW9BZ3doQWdKQUFrQWdBU2dDQUNJRUlBQW9BdEFCUncwQUlBQW9BdFFCSUFKSERRQU1BUXNnQXlBRU5nSUFJQU1nQWpZQ0JFRUFRUUpCbWRjQ0lBTVFQU0FCSUFBb0F0QUJJQUFvQXRRQklBRVErUXNMSUFBUXFRTWdBQ0FCRUx3TElnSTJBc0FCSUFKRkJFQkJBRUVEUWNqWEFpQUhFRDFCZnd3Q0N5QUFJQUlRb2draUFqWUMyQUVnQWtVRVFFRUFRUU5CN3RjQ0lBWVFQVUYvREFJTElBSWdBQ2dDMkFNUTR3Z2dBQ0FCUVFocUVLOEpJZ0UyQXVRQklBRUVRQ0FBS0FMWUFTQUFLQUxjQVJESEJ5QUFLQUxBQVNBQUt3TzRBaUFBS3dQQUFpQUFRZGdDYWhER0N5QUFJQUFvQXNBQkVJQUVOZ0xvQVFWQkFFRURRWlBZQWlBRkVEMExRUUFGUVg4TEN3VkJmd3NhSUFNa0Jnc3pBUUovSXdZaEJDTUdRUkJxSkFZZ0JDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFEWUNBQ0FFS0FJQUlRVWdCQ1FHSUFVTDd3SUJDSDhnQVNnQ0FDSUZLQUlFSVFOQm9NUURLQUlBSWdSQmYyb2hCaUFFSUFaeFJTSUlCSDhnQXlBR2NRVWdBeUFFVHdSL0lBTWdCQkJPQlNBREN3c2hBMEdjeEFNb0FnQWdBMEVDZEdvaUJ5Z0NBQ0VCQTBBZ0JTQUJLQUlBSWdKSEJFQWdBaUVCREFFTEN3Si9Ba0FnQVVHa3hBTkdEUUFnQVNnQ0JDRUNJQWdFZnlBQ0lBWnhCU0FDSUFSUEJIOGdBaUFFRUU0RklBSUxDeUFEUncwQUlBVU1BUXNnQlNnQ0FDSUNCRUFnQWlnQ0JDRUNJQVVnQ0FSL0lBSWdCbkVGSUFJZ0JFOEVmeUFDSUFRUVRnVWdBZ3NMSUFOR0RRRWFDeUFIUVFBMkFnQWdCUXNpQ1NnQ0FDSUNJUWNnQVNBQ0JIOGdBaWdDQkNFQ0lBTWdDQVIvSUFJZ0JuRUZJQUlnQkU4RWZ5QUNJQVFRVGdVZ0Fnc0xJZ0pIQkg5Qm5NUURLQUlBSUFKQkFuUnFJQUUyQWdBZ0JTZ0NBQVVnQndzRklBY0xOZ0lBSUFsQkFEWUNBRUdveEFOQnFNUURLQUlBUVg5cU5nSUFJQUFnQlRZQ0FDQUFRYVRFQXpZQ0JDQUFRUUU2QUFnTFpRRUJmeU1HSVFFakJrRWdhaVFHSUFBb0FnQWlBQ2dDQUJvZ0FTQUFOZ0lBSUFGQkVHb2lBQ0FCS0FJQU5nSUFJQUZCQkdvZ0FCRFZCaUFCS0FJRUlRQWdBVUVBTmdJRUlBQUVRQ0FCTEFBTUJFQWdBRUVRYWhDekF3c2dBQkE0Q3lBQkpBWUxPUUVDZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQUVGTWlBQVJBSUFFZ0FEWUNBQ0FDSUFFb0FnQTJBZ0FnQWhEV0Jnc2dBU1FHQ3k4QkFuOGpCaUVDSXdaQkVHb2tCaUFDSUFFZ0FFSC9BSEZCQ0dvUkFBQTJBZ0FnQWlnQ0FDRURJQUlrQmlBREMxQUJBbjhqQmlFREl3WkJFR29rQmlBQklBSW9BZ0FnQUJDcUF5SUJOZ0lBSUFGQkFFZ0VmeUFESUFBMkFnQkJBRUVEUWZUVEFpQURFRDBnQWlnQ0FCQzRBa0VBQlVFQkN5RUVJQU1rQmlBRUMwRUJBbjhqQmlFREl3WkJFR29rQmlBRElBSVFyUU1nQTBFTWFpSUNJQUVnQXlBQVFUOXhRWW9CYWhFQ0FEWUNBQ0FDS0FJQUlRUWdBeEJISUFNa0JpQUVDM3dCQW44akJpRUVJd1pCRUdva0JpQURJQUFnQWlnQ0FCRGxDU0lBTmdJQUlBQUVmd0ovQWtBQ1FBSkFJQUFvQW13T0FnQUJBZ3NnQVVFQUVJb0NHa0VCREFJTElBRkJBaENLQWhwQkFRd0JDeUFCUVFNUWlnSWFRUUVMQlVFQVFRTkJyZE1DSUFRUVBTQUNLQUlBRUxnQ1FRQUxJUVVnQkNRR0lBVUxuQU1CRDM4akJpRURJd1pCNEFCcUpBWWdBMEhRQUdvaENpQURRY2dBYWlFTElBTkJRR3NoRENBRFFUaHFJUVVnQTBFd2FpRUdJQU5CS0dvaERTQURRU0JxSVE0Z0EwRVlhaUVQSUFOQkVHb2hCeUFEUVFocUlRZ2dBQ2dDNkFFaEVDQURRZGdBYWlJRVFRQTJBZ0FnQXlBQ05nSUFRUUJCQVVIdTBBSWdBeEE5SUFJZ0EwSFVBR29pQ1JDaENVRUFTQVIvSUFnZ0FqWUNBRUVBUVFOQmh0RUNJQWdRUFVFQUJRSi9JQWNnQVRZQ0FFRUFRUUZCck5FQ0lBY1FQU0FKS0FJQUlBRVFvQWxCQUVnRVFFRUFRUU5CeGRFQ0lBOFFQVUVBREFFTElBUWdDUkNqQ1VFQVNBUkFRUUJCQTBIcDBRSWdEaEE5UVFBTUFRdEJBRUVCUVlUU0FpQU5FRDBnQmlBQ05nSUFRUUJCQVVHTjBnSWdCaEE5SUFCQitBRnFJQUZCQW5ScUlBSVFyZ2tpQURZQ0FDQUFSUVJBSUFVZ0FqWUNBRUVBUVFOQm85SUNJQVVRUFF0QkFFRUJRWVRTQWlBTUVEMGdBVUVLUmdSQVFYOFFBUXNnRUNBRUtBSUFFSjRKUVFCSUJIOUJBRUVEUWNUU0FpQUxFRDFCQUFVZ0JCRC9BMEVBUVFGQjNkSUNJQW9RUFVFQkN3c0xJUkVnQXlRR0lCRUxNUUVDZnlNR0lRTWpCa0VRYWlRR0lBTWdBU0FDSUFCQlAzRkJpZ0ZxRVFJQU5nSUFJQU1vQWdBaEJDQURKQVlnQkF1WUFRRUNmeUFBUVFGR0JIOUJBZ1VnQUNBQVFYOXFjUVIvSUFBUTBRRUZJQUFMQ3lJQVFiVEVBeWdDQUNJQ1N3UkFJQUFRcXdNRklBQWdBa2tFUUVHOHhBTW9BZ0N6UWNERUF5b0NBSldORUpJQklRRWdBa0YvYWlBQ2NVVWdBa0VDUzNFRWZ5QUJRUUZCSUNBQlFYOXFaMnQwSUFGQkFra2JCU0FCRU5FQkN5SUJJQUFnQUNBQlNSc2lBQ0FDU1FSQUlBQVFxd01MQ3dzTFNBRUJmeUFBUWNnQkVGRWlBellDQUNBQVFiakVBellDQkNBRElBSW9BZ0FvQWdBMkFnZ2dBMEVRYWtFQVFiZ0JFRVVhSUFCQkFUb0FDQ0FESUFFMkFnUWdBMEVBTmdJQUN6OEJBbjhqQmlFQ0l3WkJFR29rQmlBQ0lBRVFyUU1nQWtFTWFpSUJJQUlnQUVIL0FIRkJDR29SQUFBMkFnQWdBU2dDQUNFRElBSVFSeUFDSkFZZ0F3dkRCZ0lRZndGOEl3WWhBaU1HUVNCcUpBWWdBa0VZYWlFTklBSkJFR29oQXlBQ1FRaHFJUVFnQWlFTUlBQUVRQUpBSUFGRkJFQkJBRUVEUWEycEFTQUVFRDFCZnlFRURBRUxJQUFvQWdRaEFrRUFJUVFEUUFKQUlBUWdBazROQUNBQUtBSUlJQVJCQW5ScUtBSUFSUTBBSUFSQkFXb2hCQXdCQ3dzZ0FpQUVSZ1JBUVg4aEJBVWdBUkNJQXlJTFJRUkFRUUJCQTBIYXFRRWdBeEE5UVg4aEJBd0NDeUFFUVFKMElRNGdDeEQzQWlFQkFrQURRQUpBSUFwQkJFOE5BaUFLSUE1cUlRaEJBQ0VDUVFBaEJRTkFJQVZCQTBrRVFDQUZSU0VQSUFWQkFrWWhFRUVBSVFjZ0FDZ0NIQ0VEQTBBZ0J5QURTQVJBUVFBaEJnTkFJQVlnQTBnRVFDQUJSUTBHSUFFUTdnUWhBMEVBRVBjQ0lRRWdBQ2dDRENBSVFRSjBhaWdDQUNBRklBWWdCeUFBS0FJY2JHcEJBMnhxUVFKMGFrSC9BU0FEYXlJRE5nSUFJQUFvQWhRZ0NFRUNkR29vQWdBaUVTQUdJQWNnQUNnQ0hHeHFRUUowYWlFSklBOEVRQ0FKSUFNMkFnQUZJQWtnQXlBSktBSUFhallDQUNBUUJFQWdCaUFISUFBb0FoeHNha0VDZENBUmFpSUpJQWtvQWdCQkF4QTVOZ0lBQ3dzZ0JrRUJhaUVHSUFJZ0Eyb2hBaUFBS0FJY0lRTU1BUXNMSUFkQkFXb2hCd3dCQ3dzZ0JVRUJhaUVGREFFTEN5QUNJQUFvQWh3aUFpQUNRUU5zYkJBNUlRZEJBQ0VGUVFBaEF3TkFJQU1nQWtFRGJDQUNiRWtFUUNBQUtBSU1JQWhCQW5ScUtBSUFJQU5CQW5ScUlnWW9BZ0FnQjJzaEFpQUdJQUkyQWdBZ0JTQUNJQUpzYWlFRklBTkJBV29oQXlBQUtBSWNJUUlNQVFzTElBQW9BaEFnQ0VFRGRHcEVTSys4bXZMWGVqNGdCYmVmSWhJZ0VrUUFBQUFBQUFBQUFHRWJPUU1BUVFBaEJVRUFJUU1EUUNBRElBSWdBbXhKQkVBZ0FDZ0NGQ0FJUVFKMGFpZ0NBQ0FEUVFKMGFpSUdLQUlBSUFkcklRSWdCaUFDTmdJQUlBVWdBaUFDYkdvaEJTQURRUUZxSVFNZ0FDZ0NIQ0VDREFFTEN5QUFLQUlZSUFoQkEzUnFSRWl2dkpyeTEzbytJQVczbnlJU0lCSkVBQUFBQUFBQUFBQmhHemtEQUNBS1FRRnFJUW9NQVFzTFFRQkJBMEgycVFFZ0RSQTlJQXNRT0VGL0lRUU1BZ3NnQ3hBNElBQW9BZ2dnQkVFQ2RHcEJBVFlDQUNBQUlBQW9BZ0JCQVdvMkFnQUxDd1ZCQUVFRFFaU3BBU0FNRUQxQmZ5RUVDeUFNSkFZZ0JBc3NBUUovSXdZaEFTTUdRUkJxSkFZZ0FTQUFRUUZ4UVFacUVSQUFOZ0lBSUFFb0FnQWhBaUFCSkFZZ0Fnc3RBZ0YvQW53akJpRUNJd1pCRUdva0JpQUNJQUVnQUVFRGNSRVNBRGtEQUNBQ0t3TUFJUVFnQWlRR0lBUUxqQUVBSUFCQkFEWUN3QUVnQUVFQU5nTEVBU0FBUWdBM0Fzd0JJQUJDQURjQzFBRWdBRUlBTndMY0FTQUFRWDQyQXZBQklBQkJBRFlDOUFFZ0FFSUFOd0tnQWlBQVFnQTNBcWdDSUFCQmdJQ0EvQU0yQXJBQ0lBQkVMVU1jNitJMkdqODVBN2dDSUFCRUFBQUFBQUJBajBBNUE4QUNJQUJDQURjQ3lBSWdBRUlBTndMUUFpQUFRUUkyQXRnREMwRUJBMzhnQUNnQ0NDRUJBMEFnQVFSQUlBRW9BZ0FoQXlBQkVEZ2dBeUVCREFFTEN5QUFLQUlBSVFJZ0FFRUFOZ0lBSUFJRVFDQUFLQUlFR2lBQ0VEZ0xDNndLQVExL0l3WWhDeU1HUWFBQmFpUUdJQXRCbUFGcUlRVWdDMEdRQVdvaER5QUxRWUFCYWlJSVFRQTJBZ0FnQ0VHMkFUWUNCQ0FJUWNNQk5nSUlJQWhCRFRZQ0RFRi9JUVlEUUNBSFFRUkhCRUFnQUNBSFFRSjBJQWhxS0FJQWFpd0FBQ0VLSUFkQkFXb2hCeUFLSUFrZ0NrSC9BWEVnQ1VIL0FYRktHeUVKSUFvZ0JpQUtRZjhCY1NBR1FmOEJjVWdiSVFZTUFRc0xJQWxCL3dGeElnY2dCa0gvQVhFaUNXdEJIa2dFZnlBQ1FRQTJBZ0FnQTBRQUFBQUFBQUR3dnprREFFRitCUUovSUFjZ0NXcEJBWFloQ2tFQUlRY0RRQ0FIUVFSSEJFQWdCU0FIYWlBS0lBQWdCMEVDZENBSWFpZ0NBR290QUFCTE9nQUFJQWRCQVdvaEJ3d0JDd3RCQUNFSkEwQUNRQ0FKUVFSUERRQWdDVUVCYWlFSUlBVWdDV29zQUFCQkFVWUVRQ0FJUVFOeElBVnFMQUFBUVFGR0JFQWdDVUVDYWtFRGNTQUZhaXdBQUVVTkFnc0xJQWdoQ1F3QkN3c2dBd0o4QWtBQ1FBSkFBa0FDUUFKQUFrQWdDVUgvLy8vL0IzRU9CUUVDQXdRQUJRc2dBa0VBTmdJQUlBTkVBQUFBQUFBQThMODVBd0JCZlF3SEMwSDNBQ0VJUVFBaEJVSC9BU0VIQTBBZ0JVRU9SZ1JBREFZRklBVkJmV29oRENBRlFmNy8vLzhIY1VFTVJpRU5JQVZCRG13aERrRUFJUVlEUUNBR1FRNUhCRUFnRENBR1FYMXFja0VJVHdSQUlBWkIvdi8vL3dkeElRTWdCU0FHY2tIKy8vLy9CM0VFUUNBTklBTkZJQU5CREVaeWNVVUVRQ0FJSUF0cUlBQWdCaUFPYW1vdEFBQWdDbXNpQTBFZmRqb0FBQ0FJUVg5cUlRZ2dBMEVBSUFOcklBTkJmMG9iSWdNZ0J5QURJQWRJR3lFSEN3c0xJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQUFBTEFBdEI5d0FoQ0VIL0FTRUhRUUFoQmdOQUlBWkJEa1lFUUF3RkJTQUdRWDFxSVF3Z0JrSCsvLy8vQjNFaUJVVWhEU0FGUVF4R0lRNUJEU0VGQTBBZ0JVRi9TZ1JBSUFWQmZXb2dESEpCQ0U4RVFDQU5JQVZCZm5GQkRFWWlBM0ZGQkVBZ0RpQURJQVZCQWtseWNVVUVRQ0FJSUF0cUlBQWdCaUFGUVE1c2Ftb3RBQUFnQ21zaUEwRWZkam9BQUNBSVFYOXFJUWdnQTBFQUlBTnJJQU5CZjBvYklnTWdCeUFESUFkSUd5RUhDd3NMSUFWQmYyb2hCUXdCQ3dzZ0JrRUJhaUVHREFFTEFBQUxBQXRCRFNFRlFmY0FJUWhCL3dFaEJ3TkFJQVZCZjBvRVFDQUZRWDFxSVF3Z0JVRitjVUVNUmlBRlFRSkpjaUVOSUFWQkRtd2hEa0VOSVFZRFFDQUdRWDlLQkVBZ0RDQUdRWDFxY2tFSVR3UkFJQVpCZm5GQkRFWWdEWEVnQlNBR2NrRUNTWEpGQkVBZ0NDQUxhaUFBSUFZZ0RtcHFMUUFBSUFwcklnTkJIM1k2QUFBZ0NFRi9haUVJSUFOQkFDQURheUFEUVg5S0d5SURJQWNnQXlBSFNCc2hCd3NMSUFaQmYyb2hCZ3dCQ3dzZ0JVRi9haUVGREFFRkRBUUxBQUFMQUF0QkRTRUZRZmNBSVFoQi93RWhCd05BSUFWQmYwb0VRQ0FGUVgxcUlRMGdCVUYrY1NJTVFReEdJUTRnREVVaEVFRUFJUVlEUUNBR1FRNUhCRUFnQmtGOWFpQU5ja0VJVHdSQUlBNGdCa0grLy8vL0IzRWlBMFZ4UlFSQUlBTWdESEpGSUJBZ0EwRU1SbkZ5UlFSQUlBZ2dDMm9nQUNBRklBWkJEbXhxYWkwQUFDQUtheUlEUVI5Mk9nQUFJQWhCZjJvaENDQURRUUFnQTJzZ0EwRi9TaHNpQXlBSElBTWdCMGdiSVFjTEN3c2dCa0VCYWlFR0RBRUxDeUFGUVg5cUlRVU1BUVVNQXdzQUFBc0FDeUFDSUFrMkFnQkVBQUFBQUFBQThEOE1BUXNnQnlFQUlBSWdDVFlDQUVRQUFBQUFBQUR3UHlBQXQwUUFBQUFBQUFBK1FLTWdBRUVlU2hzTE9RTUFRWTRXUWdBZ0N5QVBFTFVESWdCQkFFZ0VmMEY4QlNBRUJFQWdCQ0FBTmdJQUN5QUJJQThwQXdBM0F3QkJBQXNMQ3lFUklBc2tCaUFSQzVnQkFRSi9JQUJCQVVZRWYwRUNCU0FBSUFCQmYycHhCSDhnQUJEUkFRVWdBQXNMSWdCQm9NUURLQUlBSWdKTEJFQWdBQkN5QXdVZ0FDQUNTUVJBUWFqRUF5Z0NBTE5Cck1RREtnSUFsWTBRa2dFaEFTQUNRWDlxSUFKeFJTQUNRUUpMY1FSL0lBRkJBVUVnSUFGQmYycG5hM1FnQVVFQ1NSc0ZJQUVRMFFFTElnRWdBQ0FBSUFGSkd5SUFJQUpKQkVBZ0FCQ3lBd3NMQ3d0UEFRRi9JQUJCOEFNUVVTSUROZ0lBSUFCQnBNUUROZ0lFSUFNZ0FpZ0NBQ2dDQURZQ0NDQURRUkJxSWdKQkFFSGdBeEJGR2lBQ0VPUUdJQUJCQVRvQUNDQURJQUUyQWdRZ0EwRUFOZ0lBQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDRkRZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MWHdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWlBRUVBUnlBQlFRSkpjUVIvSUFBZ0FUWUNGRUVBQlVGL0MwVUVRQ0FDSUFFMkFnQkJBRUVCUVp5MkFpQUNFRDBMQ3lBQ0pBWUxZUUVEZnlNR0lRRWpCa0VRYWlRR0lBRkJCR29oQWlBQklBQTJBZ0FnQVJCVEJIOGdBUkJTS0FMWUFTSUFRUUJISUFKQkFFZHhCSDhnQWlBQUtBSU1OZ0lBUVFBRlFYOExSU0VBSUFJb0FnQkJmeUFBR3dWQmZ3c2hBeUFCSkFZZ0F3dGZBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNJQVFRQkhJQUZCQWtseEJIOGdBQ0FCTmdJTVFRQUZRWDhMUlFSQUlBSWdBVFlDQUVFQVFRRkJ1YllDSUFJUVBRc0xJQUlrQmd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUTdnZ2dBaWdDQUFWQmZ3c2hBeUFCSkFZZ0F3dEJBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlnQzJBRWlBQVIvSUFCQm1JZXZBMm9nQVRZQ0FFRUFCVUYvQ3hvTElBSWtCZ3Q3QWdKL0Fud2pCaUVCSXdaQkVHb2tCaUFCUVFocUlnSWdBRFlDQUNBQ0VGTUVmQ0FDRUZJb0F0Z0JJZ0FFZkNBQUJIOGdBU0FBUVpDSHJ3TnFLd01BT1FNQVFRQUZRWDhMUlNFQUlBRXJBd0JFQUFBQUFBQUE4TDhnQUJzRlJBQUFBQUFBQVBDL0N3VkVBQUFBQUFBQThMOExJUVFnQVNRR0lBUUxLZ0VDZndKL0l3WWhBU01HUVJCcUpBWkI3NmdDUVFOQjlJWUJRZEsyQWtFQlFRRVFDU0FCQ3lRR0MzRUNBbjhCZkNNR0lRSWpCa0VRYWlRR0lBSkJDR29pQXlBQU5nSUFJQU1RVXdSQUlBTVFVaUVBSUFGREFBQUFBRjhnQVVNQUFJQS9ZSEpGQkVBZ0Fic2hCQ0FBS0FMWUFTSUFCRUFnQUNBRUVPb0lSUVJBSUFJZ0JEa0RBRUVBUVFGQjE3WUNJQUlRUFFzTEN3c2dBaVFHQzFnQkEzOGpCaUVCSXdaQkVHb2tCaUFCUVFScUlRSWdBU0FBTmdJQUlBRVFVd1IvSUFFUVVpZ0MyQUVpQUFSL0lBSWdBQ2dDR0RZQ0FFRUFCVUYvQzBVaEFDQUNLQUlBUVg4Z0FCc0ZRWDhMSVFNZ0FTUUdJQU1MU2dFQ2Z5TUdJUUlqQmtFUWFpUUdJQUpCQkdvaUF5QUFOZ0lBSUFNUVV3UkFJQU1RVWlnQzJBRWdBUkNLQWtVRVFDQUNJQUUyQWdCQkFFRUJRZmEyQWlBQ0VEMExDeUFDSkFZTFlRRURmeU1HSVFFakJrRVFhaVFHSUFGQkJHb2hBaUFCSUFBMkFnQWdBUkJUQkg4Z0FSQlNLQUxZQVNJQVFRQkhJQUpCQUVkeEJIOGdBaUFBS0FJUU5nSUFRUUFGUVg4TFJTRUFJQUlvQWdCQmZ5QUFHd1ZCZndzaEF5QUJKQVlnQXd0ckFRSi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSURJQUEyQWdBZ0F4QlRCRUFnQXhCU0lRQWdBVUgvQVUwRVFDQUFLQUxZQVNJQVJTQUJRZjhCUzNJRWYwRi9CU0FBSUFFMkFoQkJBQXRGQkVBZ0FpQUJOZ0lBUVFCQkFVR1p0d0lnQWhBOUN3c0xJQUlrQmd0SkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUS9RaEZJUUFnQWlnQ0FFRi9JQUFiQlVGL0N5RURJQUVrQmlBREMwb0JBbjhqQmlFQ0l3WkJFR29rQmlBQ1FRUnFJZ01nQURZQ0FDQURFRk1FUUNBREVGSW9BdGdCSUFFUSt3TkZCRUFnQWlBQk5nSUFRUUJCQVVHenR3SWdBaEE5Q3dzZ0FpUUdDemtDQVg4Q2ZDTUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZkNBQkVGSXJBOEFDQlVRQUFBQUFBQUR3dndzaEF5QUJKQVlnQXdzckFRRi9Jd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSQUlBSVFVaUFCT1FQQUFnc2dBaVFHQ3prQ0FYOENmQ01HSVFFakJrRVFhaVFHSUFFZ0FEWUNBQ0FCRUZNRWZDQUJFRklyQTdnQ0JVUUFBQUFBQUFEd3Z3c2hBeUFCSkFZZ0F3c3JBUUYvSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3UkFJQUlRVWlBQk9RTzRBZ3NnQWlRR0N5c0JBbjhDZnlNR0lRRWpCa0VRYWlRR1FaMm5Ba0VCUWFDSEFVSFd0d0pCMGdCQkFSQUpJQUVMSkFZTENRQkIwSVVCS0FJQUM1c0VBZ0ovQVg0akJpRVRJd1pCa09BQWFpUUdJQk5CZ09BQWFpRVVJQUpCZm1wQkEwa0VRQUpBSUJCQmpoWkhCRUFnQVVFQ0lCQkIvd0Z4SWhRZ0ZFRURiQ0FESUFRZ0JTQUdJQWNnQ0NBSklCTVErd0ZCQUVnRVFDQU5RWDgyQWdCQmVpRU5EQUlMSUJNZ0ZDQU5JQTRnRHlBUUlCRVFxUWNoRFNBU1JRMEJJQkpDQURjREFBd0JDeUFCUVFKQkRrRXFJQU1nQkNBRklBWWdCeUFJUkFBQUFBQUFBT3cvSUJNUSt3RkJBRWdFUUNBTlFYODJBZ0JCZWlFTkRBRUxJQk1nRkNBT0lBOGdFUkRtQmlJT1FRQklCRUFnRFVGL05nSUFJQTRoRFF3QkN5QVVLUU1BSWhWQ2YxRUVRQ0FOUVg4MkFnQkJleUVOREFFTElBMGdGYWRCLy84QmNVRUFJQlZDZ0lEKy93K0RVQnMyQWdBZ0VnUkFJQklnRlRjREFBc2dEaUVOQ3dWQkFTRU5Dd0ovQWtBQ1FDQUNEZ1VBQUFFQUFBRUxJQUJGQkVBZ0NrRi9OZ0lBUVg4TUFnc2dBQ2dDSENJT1FRSjBJUThDUUFKQUlBSU9CQUFCQVFBQkN5QUJRUUFnRGlBUElBTWdCQ0FGSUFZZ0J5QUlJQWtnRXhEN0FVRUFTQVJBSUFwQmZ6WUNBRUY2REFNRklBQkJBQ0FUSUFBb0Fod2dDaUFMSUF3UXRnTU1Bd3NBQ3lBQlFRRWdEaUFQSUFNZ0JDQUZJQVlnQnlBSUlBa2dFeEQ3QVVFQVNBUkFJQXBCZnpZQ0FFRjZEQUlGSUFCQkFTQVRJQUFvQWh3Z0NpQUxJQXdRdGdNTUFnc0FDMEVCQ3lFQUlBMUJBVWNFUUNBTklBQkJBQ0FBSUExeFFRQklHeUFBUVFGR0d5RUFDeUFUSkFZZ0FBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR1Jwd0pCQWtHa2h3RkIyYmNDUVM1QjhnQVFDU0FCQ3lRR0N3c0FRZENGQVNBQU5nSUFDemtCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0tBTFlBVUhraHFjQ2FpZ0NBQVZCQUFzaEFpQUJKQVlnQWd0QkFRTi9Jd1loQVNNR1FSQnFKQVlnQVVFRWFpRUNJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCSUFJUWdBa2dBaWdDQUFWQkFBc2hBeUFCSkFZZ0F3dGJBUUovSXdZaEFpTUdRUkJxSkFZZ0FrRUVhaUlESUFBMkFnQWdBeEJUQkVBZ0F4QlNLQUxZQVNBQlFRQkhJZ0FRL1FNZ0FrSGR0d0pCNGJjQ0lBQWJOZ0lBUVFCQkFVSG10d0lnQWhBOUJVRUFJUUVMSUFJa0JpQUJDK0VGQWdwL0FYMGpCaUVDSXdaQjBBQnFKQVlnQWtFNGFpRUlJQUpCTUdvaENTQUNRY3dBYWlFRUlBSkJ4QUJxSVFVZ0FrRkFheUVISUFKQnlBQnFJZ01nQURZQ0FDQURFRk1FZndKL0lBTVFVaUlES0FMMEFTQUJUQVJBUWZDR0FTZ0NBQXdCQ3lBRVFRQTJBZ0FnQlVGL05nSUFJQWREQUFDQXZ6Z0NBQUpBQWtBZ0F5Z0M4QUVpQUVGK1JnUkFJQU1vQXVnQklBTW9Bc3dCRUpjSklBTW9BdWdCSWdBRWZ5QUVJQUFvQWpRMkFnQWdCU0FBS0FJNE5nSUFRUUFGUVg4TEdpQUZLQUlBSVFZZ0JDZ0NBQ0VGUVg4aEFFRUFJUVFEUUNBRUlBWklCRUFnQVNBRVFjUUFiQ0FGYWlnQ01FWUVRQ0FFUWNRQWJDQUZhaWdDUEVVRVFBSkFJQWNnQUVGL1JnUi9JQVJCeEFCc0lBVnFLQUkwQlNBSEtnSUFJQVJCeEFCc0lBVnFLZ0kwSWd4ZVJRMEJJQXk4Q3pZQ0FDQUVJUUFMQ3dzZ0JFRUJhaUVFREFFTEN5QUFRWDlNQkVBZ0EwRitOZ0x3QVF3Q0N5QURJQVVvQWpBaUNqWUM4QUZCQUNFRUEwQWdCRUVEUndSQVFRQWhCZ05BSUFaQkJFY0VRQ0FFUVFSMElBSnFJQVpCQW5ScUlBQkJ4QUJzSUFWcUlBUkJCSFJxSUFaQkFuUnFLQUlBTmdJQUlBWkJBV29oQmd3QkN3c2dCRUVCYWlFRURBRUxDeUFEUWZnQmFpQUtRUUowYWlnQ0FDQUNFSzBKSUFNb0F2QUJJUUFMSUFCQmYwd05BQ0FES0FMc0FTQURRZmdCYWlBQVFRSjBhaWdDQUNBREtBTEVBU0FDSUFjUXpnWWlBRUVBU0FSQUlBa2dBRFlDQUVFQVFRRkIvTGNDSUFrUVBTQURRWDQyQXZBQkRBRUxJQU1vQXZRQlFYOXFJUUFnQ0NBRFFmZ0JhaUFES0FMd0FVRUNkR29vQWdBMkFnQWdDQ0FBTmdJRVFRQkJBVUdQdUFJZ0NCQTlJQU1vQXZBQlFYOU1EUUJCQXlBQklBY3FBZ0M3SUFJcUFnQzdJQUlxQWdTN0lBSXFBZ2k3SUFJcUFneTdJQUlxQWhDN0lBSXFBaFM3SUFJcUFoaTdJQUlxQWh5N0lBSXFBaUM3SUFJcUFpUzdJQUlxQWlpN0lBSXFBaXk3RUNzYURBRUxRUVFnQVJBc0dndEJBQXNGUWVpR0FTZ0NBQXNoQ3lBQ0pBWWdDd3VhQWdFQ2Z5TUdJUUlqQmtFUWFpUUdJQUlnQURZQ0FDQUNFRk1FZnlBQ0VGSW9BdGdCSWdBb0Fpd2dBVW9FZjBFQ1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0FvQWdBZ0FDZ0NCQ0FBS0FJSUlBQW9BZ3dnQUNnQ0VDQUFLQUlVSUFBb0FoZ2dBQ3NESUNBQUt3TW9JQUFyQXpBZ0FDc0RPQ0FBUVVCckt3TUFJQUFyQTBnZ0FDc0RVQ0FBS3dOWUlBQXJBMkFnQUNzRGFDQUFLd053SUFBckEzZ2dBQ3NEZ0FFZ0FDc0RpQUVnQUNzRGtBRWdBQ3NEbUFFZ0FDc0RvQUVnQUNzRHFBRWdBQ3NEc0FFZ0FDc0R1QUVnQUNzRHdBRWdBQ3NEeUFFZ0FDc0QwQUVnQUNzRDJBRWdBQ3NENEFFZ0FDZ0M4QUVRS0JwQkFBVkI4SVlCS0FJQUN3VkI2SVlCS0FJQUN5RURJQUlrQmlBREM4MEJBUU4vSXdZaEF5TUdRUkJxSkFZZ0F5QUFOZ0lBSUFNUVV3Ui9BbjhnQXhCU0lnUW9Bc2dDSVFBZ0FVRUFTQ0FFS0FMTUFpQUFhMEVEZFNBQlRYSUVRRUhzaGdFb0FnQU1BUXNnQWtFQVNDQUJRUU4wSUFCcUtBSUVJZ0FvQWdRZ0FreHlCSDlCOElZQktBSUFCU0FBS0FJQUlnQWdBa0hBQW14cVFSQnFFTFFDUVFFZ0FrSEFBbXdnQUdvb0FyQUNJQUpCd0FKc0lBQnFLQUlBSUFKQndBSnNJQUJxS0FJRUlBSkJ3QUpzSUFCcUt3TUlFQ29hUVFBTEN3VkI2SVlCS0FJQUN5RUZJQU1rQmlBRkN5Z0JBWDhqQmlFQkl3WkJFR29rQmlBQklBQTJBZ0FnQVJCVEJFQWdBUkJTR2dzZ0FTUUdRWDhMT0FFQ2Z5TUdJUUVqQmtFUWFpUUdJQUVnQURZQ0FDQUJFRk1FZnlBQkVGSW9BdGdCUVN4cUJVSG9oZ0VMS0FJQUlRSWdBU1FHSUFJTG9BVUJDWDlCQ0VFSUVJc0JJUWRCQ0VFQkVJc0JJUWhCQ0VFQkVJc0JJUWtEUUNBRlFRUkhCRUFnQnlnQ0FDSUVJQVZCQkhRaUEwRURkR29nQlVFRWRDQUFhaUlHS3dNQU9RTUFJQU5CQVhKQkEzUWdCR29nQlVFRWRDQUFhaUlLS3dNSU9RTUFJQU5CQW5KQkEzUWdCR3BFQUFBQUFBQUE4RDg1QXdBZ0EwRURja0VEZENBRWFrUUFBQUFBQUFBQUFEa0RBQ0FEUVFSeVFRTjBJQVJxUkFBQUFBQUFBQUFBT1FNQUlBTkJCWEpCQTNRZ0JHcEVBQUFBQUFBQUFBQTVBd0FnQTBFR2NrRURkQ0FFYWlBR0t3TUFJQVZCQkhRZ0FXb2lDeXNEQUtLYU9RTUFJQU5CQjNKQkEzUWdCR29nQ2lzRENDQUxLd01Bb3BvNUF3QWdBMEVJY2tFRGRDQUVha1FBQUFBQUFBQUFBRGtEQUNBRFFRbHlRUU4wSUFScVJBQUFBQUFBQUFBQU9RTUFJQU5CQ25KQkEzUWdCR3BFQUFBQUFBQUFBQUE1QXdBZ0EwRUxja0VEZENBRWFpQUdLd01BT1FNQUlBTkJESEpCQTNRZ0JHb2dDaXNEQ0RrREFDQURRUTF5UVFOMElBUnFSQUFBQUFBQUFQQS9PUU1BSUFOQkRuSkJBM1FnQkdvZ0Jpc0RBQ0FGUVFSMElBRnFJZ1lyQXdpaW1qa0RBQ0FEUVE5eVFRTjBJQVJxSUFvckF3Z2dCaXNEQ0tLYU9RTUFJQWdvQWdBaUJDQUZRUUYwSWdOQkEzUnFJQXNyQXdBNUF3QWdBMEVCY2tFRGRDQUVhaUFHS3dNSU9RTUFJQVZCQVdvaEJRd0JDd3NnQnhEV0FSb2dDU0FISUFnUXJRSWFJQWtvQWdBaEFVRUFJUUFEUUNBQVFRSkhCRUFnQUVFWWJDQUNhaUFBUVFOc0lnTkJBM1FnQVdvckF3QTVBd0FnQUVFWWJDQUNhaUFEUVFGcVFRTjBJQUZxS3dNQU9RTUlJQUJCR0d3Z0Ftb2dBMEVDYWtFRGRDQUJhaXNEQURrREVDQUFRUUZxSVFBTUFRc0xJQUlnQVNzRE1Ea0RNQ0FDSUFFckF6ZzVBemdnQWtGQWEwUUFBQUFBQUFEd1B6a0RBQ0FIRUVrZ0NCQkpJQWtRU1F2U0V3SVBmd0Y4SXdZaERpTUdRUkJxSkFZZ0JDZ0NBQ0lISVF3Z0FTQUNRWDlxSWhCc1FRRjBJQWRxSVFZRFFDQUZJQUZJQkVBZ0JrRUFPd0VBSUF4QkFEc0JBQ0FNUVFKcUlRd2dCVUVCYWlFRklBWkJBbW9oQmd3QkN3dEJBQ0VNSUFjaUJpQUJRWDlxSWhGQkFYUnFJUVVEUUNBTUlBSklCRUFnQlVFQU93RUFJQVpCQURzQkFDQUJRUUYwSUFacUlRWWdERUVCYWlFTUlBRkJBWFFnQldvaEJRd0JDd3NnQkVHUWdNZ0FhaUVHUVFBZ0FXc2hFaUFBSUFGQkFXb2lBR29oRFNBQUlBTnFJUXhCQVNFS1FRQWhCU0FBUVFGMElBZHFJUU1DZndKQUEwQUNRQ0FLSUJCT0RRSWdCU0VBUVFFaENDQURJUXNEUUNBSUlCRklCRUFnRFMwQUFDQU1MUUFBU2dSQUlBdEJBRHNCQUFVQ1FDQVNRUUYwSUF0cUlnOHVBUUFpQTBFQVNnUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dDallDQUF3QkN5QVBRWDVxTGdFQUlna2hCeUFKUVFCS0lRVWdEeTRCQWlJRFFRQk1CRUFnQlFSQUlBc2dDVHNCQUNBSFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJU0FSQUlBTWdDRFlDQUFzZ0JVRUNkQ0FFYWtHTWdOQUFhaUFLTmdJQURBSUxJQXRCZm1vdUFRQWlBMEVBU2dSQUlBc2dBenNCQUNBRFFRZHNJZ1ZCQW5RZ0JHcEI5UC9QQUdvaUF5QURLQUlBUVFGcU5nSUFJQVZCQW5RZ0JHcEIrUC9QQUdvaUF5QUlJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEIvUC9QQUdvaUF5QUtJQU1vQWdCcU5nSUFJQVZCQW5RZ0JHcEJoSURRQUdvaUF5Z0NBQ0FJVGcwQ0lBTWdDRFlDQUFVZ0FFSC8vd0ZLRFFZZ0N5QUFRUUZxSWdNN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRFFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDRFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFJTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ0RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBS05nSUFJQU1oQUFzTUFRc2dCUVJBQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBZEJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMSUF0QmZtb3VBUUFpQlVFQVRBUkFJQXNnQXpzQkFDQURRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lBeUFES0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lBeUFJSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lBeUFLSUFNb0FnQnFOZ0lBSUFWQkFuUWdCR3BCZ0lEUUFHb2lBeWdDQUNBSVNnUkFJQU1nQ0RZQ0FBc2dCVUVDZENBRWFrR01nTkFBYWlBS05nSUFEQUVMQWtBZ0EwRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRElBVkJBblFnQkdwQmpJRElBR29vQWdBaUIwb0VRQ0FMSUFjN0FRQWdCaUVGUVFBaENRTkFJQWtnQUU0RVFDQUhJUU1NQXdzZ0F5QUZLQUlBUmdSQUlBVWdCellDQUFzZ0JVRUVhaUVGSUFsQkFXb2hDUXdBQUFzQUJTQUxJQU03QVFBZ0F5QUhTQVJBSUFZaEJVRUFJUWtEUUNBSklBQk9EUU1nQnlBRktBSUFSZ1JBSUFVZ0F6WUNBQXNnQlVFRWFpRUZJQWxCQVdvaENRd0FBQXNBQ3dzTElBTkJFSFJCRUhWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJRElBTW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJRElBZ2dBeWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJRElBb2dBeWdDQUdvMkFnQUxDeUFOUVFGcUlRMGdERUVCYWlFTUlBaEJBV29oQ0NBTFFRSnFJUXNNQVFzTElBMUJBbW9oRFNBTVFRSnFJUXdnQ2tFQmFpRUtJQUFoQlNBTFFRUnFJUU1NQVFzTFFRQkJBMEdvcFFFZ0RoQTlRWDhNQVFzZ0JFRU1haUVOUVFFaEFFRUJJUWNEUUNBSElBVk1CRUFnQnlBR0tBSUFJZ3hHQkVBZ0FFRUJhaUVEQlNBQUlRTWdERUVDZENBRWFrR01nTWdBYWlnQ0FDRUFDeUFHSUFBMkFnQWdBeUVBSUFkQkFXb2hCeUFHUVFScUlRWU1BUXNMSUFRZ0FFRi9haUlHTmdJSUlBWUVmeUFOUVFBZ0JrRUNkQkJGR2lBRVFaQ0FLR3BCQUNBR1FRUjBFRVVhUVFBaEF3TkFJQU1nQmtnRVFDQUVRWXlBQ0dvZ0EwRUNkQ0lBUVFKMGFpQUJOZ0lBSUFSQmpJQUlhaUFBUVFGeVFRSjBha0VBTmdJQUlBUkJqSUFJYWlBQVFRSnlRUUowYWlBQ05nSUFJQVJCaklBSWFpQUFRUU55UVFKMGFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3d0QkFDRURBMEFnQXlBRlNBUkFJQVJCREdvZ0JFR1FnTWdBYWlBRFFRSjBhaWdDQUVGL2FpSUNRUUowYWlJQUlBUkJrSURRQUdvZ0EwRUhiQ0lHUVFKMGFpZ0NBQ0FBS0FJQWFqWUNBQ0FFUVpDQUtHb2dBa0VCZENJQlFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1VnTkFBYWlnQ0FMZWdPUU1BSUFSQmtJQW9haUFCUVFGeVFRTjBhaUlBSUFBckF3QWdCa0VDZENBRWFrR1lnTkFBYWlnQ0FMZWdPUU1BSUFSQmpJQUlhaUFDUVFKMElnSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR2NnTkFBYWlnQ0FDSUFTZ1JBSUFFZ0FEWUNBQXNnQkVHTWdBaHFJQUpCQVhKQkFuUnFJZ0VvQWdBZ0JrRUNkQ0FFYWtHZ2dOQUFhaWdDQUNJQVNBUkFJQUVnQURZQ0FBc2dCRUdNZ0FocUlBSkJBbkpCQW5ScUlnRW9BZ0FnQmtFQ2RDQUVha0drZ05BQWFpZ0NBQ0lBU2dSQUlBRWdBRFlDQUFzZ0JFR01nQWhxSUFKQkEzSkJBblJxSWdFb0FnQWdCa0VDZENBRWFrR29nTkFBYWlnQ0FDSUFTQVJBSUFFZ0FEWUNBQXNnQTBFQmFpRUREQUVMQ3lBRUtBSUlJUUpCQUNFREEzOGdBeUFDU0FSL0lBUkJrSUFvYWlBRFFRRjBJZ0ZCQTNScUlnQWdBQ3NEQUNBRVFReHFJQU5CQW5ScUtBSUF0eUlVb3prREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUJTak9RTUFJQU5CQVdvaEF3d0JCVUVBQ3dzRlFRQUxDeUVUSUE0a0JpQVRDNE1CQVFOL0l3WWhBU01HUVRCcUpBWWdBVUVvYWlJQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSVFBZ0FVSUFOd01BSUFGQ0FEY0RDQ0FCUWdBM0F4QWdBVUlBTndNWUlBRkNBRGNESUNBQklBQW9Bc1FCTmdJQUlBRkJBVFlDRUNBQklBQW9Bc3dCTmdJTUlBQW9BdGdCSUFFUTF3Z0ZRZWlHQVNnQ0FBc2hBeUFCSkFZZ0F3dUxBUUVEZnlNR0lRSWpCa0VRYWlRR0lBSWdBRFlDQUNBQ0VGTUVmeUFDRUZJaUFDZ0N5QUloQXlBQlFRQklJQUFvQXN3Q0lBTnJRUU4xSUFGTmNnUi9RZXlHQVNnQ0FBVWdBQ2dDNUFFZ0FDZ0MyQUVpQUVFd2FpQUFLQUlzSUFGQkEzUWdBMm9vQWdRaUFFRUJFSmNFSUFCQkNHb1F0QUpCQUFzRlFlaUdBU2dDQUFzaEJDQUNKQVlnQkF1TEFRRURmeU1HSVFJakJrRVFhaVFHSUFJZ0FEWUNBQ0FDRUZNRWZ5QUNFRklpQUNnQ3lBSWhBeUFCUVFCSUlBQW9Bc3dDSUFOclFRTjFJQUZOY2dSL1FleUdBU2dDQUFVZ0FDZ0M1QUVnQUNnQzJBRWlBRUV3YWlBQUtBSXNJQUZCQTNRZ0Eyb29BZ1FpQUVFQUVKY0VJQUJCQ0dvUXRBSkJBQXNGUWVpR0FTZ0NBQXNoQkNBQ0pBWWdCQXR0QVFOL0l3WWhBeU1HUVJCcUpBWWdBeUFBTmdJQUlBTVFVd1IvSUFNUVVpSUVLQUxZQVNJQUtBSXNJQUZLQkg4Z0JDZ0M1QUZCNkx3RElBQkJNR29nQVVFSWRHb2dBVUVBU0JzZ0FyY1FtUWhCQUFWQjhJWUJLQUlBQ3dWQjZJWUJLQUlBQ3lFRklBTWtCaUFGQzNJQkEzOGpCaUVESXdaQkVHb2tCaUFESUFBMkFnQWdBeEJUQkg4Z0F4QlNJZ1FvQXRnQklnQW9BaXdnQVVvRWZ5QUVLQUxrQVVIb3ZBTWdBRUV3YWlBQlFRaDBhaUFCUVFCSUd5QUN0MEdBcEFNUTJnTWFRUUFGUWZDR0FTZ0NBQXNGUWVpR0FTZ0NBQXNoQlNBREpBWWdCUXVRQWdJQ2Z3aDhJd1loQWlNR1FSQnFKQVlnQWlBQU5nSUFJQUlRVXdSL0lBSVFVaWdDMkFFaUFDZ0NMQ0FCU2dSL1FlaThBeUFBUVRCcUlBRkJDSFJxSUFGQkFFZ2JJZ0JCZ0tRREt3TUFJZ1E1QTZnQklBQkJpS1FES3dNQUlnVTVBN0FCSUFCQmtLUURLd01BSWdZNUE3Z0JJQUJCbUtRREt3TUFJZ2M1QThBQklBQkJvS1FES3dNQUlnZzVBOGdCSUFCQnFLUURLd01BSWdrNUE5QUJJQUJCc0tRREt3TUFJZ281QTlnQklBQkJ1S1FES3dNQUlnczVBK0FCSUFBZ0JDQUdvQ0FJb0NBS29FUUFBQUFBQUFEUVA2STVBemdnQUVGQWF5QUZJQWVnSUFtZ0lBdWdSQUFBQUFBQUFOQS9vamtEQUVFQUJVSHdoZ0VvQWdBTEJVSG9oZ0VvQWdBTElRTWdBaVFHSUFNTFpBRUNmeU1HSVFNakJrRVFhaVFHSUFNZ0FEWUNBQ0FERUZNRWZ5QURFRklvQXRnQklnQW9BaXdnQVVvRWYwSG92QU1nQUVFd2FpQUJRUWgwYWlBQlFRQklHeUFDTmdJUVFRQUZRZkNHQVNnQ0FBc0ZRZWlHQVNnQ0FBc2hCQ0FESkFZZ0JBc3JBUUovQW44akJpRUJJd1pCRUdva0JrR0RwUUpCQWtHc2h3RkJtTThDUVI5QnhnQVFDU0FCQ3lRR0M1b0JBUVIvSXdZaEFTTUdRZEFCYWlRR0lBRkJ3QUZxSVFNZ0FDd0FDMEVBU0FSL0lBQW9BZ0FGSUFBTElBRWdBVUc0QVdvaUFoRElDMEVBU0FSL0lBQXNBQXRCQUVnRVFDQUFLQUlBSVFBTElBTWdBRFlDQUVFQVFRTkJnZEFDSUFNUVBVRi9CVUhFeEFOQnhNUURLQUlBSWdCQkFXbzJBZ0FnQWlBQU5nSUFJQUlRckFNZ0FVRzRBUkJNR2lBQ0tBSUFDeUVFSUFFa0JpQUVDendCQW44akJpRUJJd1pCRUdva0JpQUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnQW9Bc3dDSUFBb0FzZ0NhMEVEZFFWQmZ3c2hBaUFCSkFZZ0FndGlBUUovSXdZaEFpTUdRUkJxSkFZZ0FpQUFOZ0lBSUFJUVV3Ui9JQUlRVWlFQUlBRkJBRWdFZjBGL0JTQUFLQUxNQWlBQUtBTElBaUlBYTBFRGRTQUJTd1IvSUFGQkEzUWdBR29vQWdRb0FnUUZRWDhMQ3dWQmZ3c2hBeUFDSkFZZ0F3dDNBUUovSXdZaEF5TUdRUkJxSkFZZ0EwRUVhaUlDSUFBMkFnQWdBaEJUQkVBZ0FoQlNJZ0lvQXZRQklRQWdBU3dBQzBFQVNBUkFJQUVvQWdBaEFRc2dBaUFBSUFFUTNBWUVRQ0FDSUFJb0F2UUJRUUZxTmdMMEFRVkJBRUVEUWNIUUFpQURFRDFCZnlFQUN3VkJmeUVBQ3lBREpBWWdBQXZVQVFFRWZ5TUdJUUlqQmtFUWFpUUdJQUpCQ0dvaEJDQUNRUXhxSWdNZ0FEWUNBQ0FERUZNRWZ3Si9JQU1RVWlFQUlBRXNBQXRCQUVnRVFDQUJLQUlBSVFFTElBRWdBQ2dDMkFFZ0FFSGNBV29nQUVIZ0FXb2lBeERiQmtVRVFFRUFRUU5CL05JQ0lBUVFQVUYvREFFTElBSWdBQ2dDekFJaUFTQUFRY2dDYWlJRUtBSUFhMEVEZFRZQ0FDQUNJQU1vQWdBMkFnUWdBU0FBS0FMUUFrWUVRQ0FFSUFJUWxnRUZJQUVnQWlrREFEY0NBQ0FBSUFBb0Fzd0NRUWhxTmdMTUFnc2dBaWdDQUFzRlFYOExJUVVnQWlRR0lBVUxid0VEZnlNR0lRTWpCa0VRYWlRR0lBTkJCR29pQWlBQU5nSUFJQUlRVXdSL0lBSVFVaUVDSUFFc0FBdEJBRWdFUUNBQktBSUFJUUVMSUFFZ0FrSFVBbW9pQUNBQ1Fkd0JhaERaQmdSL0lBQW9BZ0FGUVFCQkEwSEkwd0lnQXhBOVFYOExCVUYvQ3lFRUlBTWtCaUFFQzVjQ0FRUi9Jd1loQWlNR1FSQnFKQVlnQWtFRWFpSUJJQUEyQWdBZ0FSQlRCSDhnQVJCU0lnRW9Bc0FCSUFFb0F0Z0RFTkVHSVFBZ0FTQUFOZ0xzQVNBQUJFQWdBVUhvQVdvaEF3VkJBRUVEUWFMVUFpQUNFRDBnQVVIb0FXb2lBeENrQ1NBQktBTHNBU0VBQ3lBQUJIOGdBRU1BQUtCQU9BSXNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRU1BQUFBL09BSW9RUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVRTmdJa1FRQUZRWDhMR2lBQktBTHNBU0lBQkg4Z0FFRUdOZ0lZUVFBRlFYOExHaUFCS0FMc0FTSUFCSDhnQUVFR05nSWNRUUFGUVg4TEdpQUJLQUxzQVNJQUJIOGdBRUVHTmdJZ1FRQUZRWDhMR2lBRElBRW9Bc0FCRUlBRU5nSUFRUUFGUVg4TElRUWdBaVFHSUFRTHRnRUJCWDhqQmlFQ0l3WkJFR29rQmlBQ0lBQTJBZ0FnQWhCVEJIOGdBaEJTSWdBb0FzUUJJZ0VFUUNBQkVEZ2dBRUVBTmdMRUFTQUFRUUEyQXNnQkN5QUFFS2tESUFBb0F0d0JFTGdDSUFJUTF3WWdBRUhJQW1vaEEwRUFJUUVEUUNBQklBQW9Bc3dDSUFNb0FnQWlCR3RCQTNWSkJFQWdBVUVEZENBRWFpZ0NCQ0lFS0FJQUVEZ2dCQkE0SUFGQkFXb2hBUXdCQ3dzZ0F4QlZJQU1RT0NBQUVMTURJQUFRT0VFQUJVRi9DeUVGSUFJa0JpQUZDKzRCQVFSL0l3WWhCQ01HUVJCcUpBWkJ5TVFEUWNqRUF5Z0NBQ0lEUVFGcU5nSUFJQVJCREdvaUJTQUROZ0lBSUFVUVVpSURJQVVvQWdBMkFnQWdBeUFBTmdMUUFTQURJQUUyQXRRQklBTWdBU0FBUVFKMGJDSUFOZ0xJQVNBRElBQVFSRFlDeEFFZ0F5QURLQUxJQVVFRUVEa1FSRFlDekFFZ0F4QzNCeUlBTmdMY0FTQUFSUVJBUVFCQkEwSEIxQUlnQkJBOUN5QUZLQUlBSUFJUTB3WWdCRUVJYWlJQUlBTW9Bc2dCTmdJQVFRQkJBVUhtMUFJZ0FCQTlRUUFnQXlnQ0FDQURLQUxFQVNBREtBTElBU0FEUWRnQ2FrR0FwQU1nQXlnQ3pBRVFLUm9nQXlnQ0FDRUdJQVFrQmlBR0M0Y0pBUUYvSXdZaEFDTUdRUkJxSkFaQm5LUUNRUm9RM0FGQm9xUUNRY01BRUlRQlFhdWtBa0hFQUJDRUFVRzBwQUpCRkJDMkFrRy9wQUpCRlJDMkFrSFBwQUpCRmhDMkFrSGRwQUpCRnhDMkFVSHZwQUpCeFFBUWhBRVFrZ2RCajZVQ1FSc1EzQUZCb0tVQ1FSZ1F0Z0ZCdEtVQ1FSd1EzQUZCeHFVQ1FSMFEzQUZCM0tVQ1FSa1F0Z0ZCODZVQ1FSb1F0Z0ZCa0tZQ1FjY0FFSVFCUVoybUFrSElBQkNFQVVHcXBnSkJ5UUFRaEFGQnVxWUNRUjRRM0FGQnphWUNRUnNRdGdGQjE2WUNRUndRdGdGQjVLWUNRUjBRdGdGQjhhWUNRY29BRUlRQlFmNm1Ba0hMQUJDRUFSRC9CaEQ4QmtHcHB3SkJBUkMwQTBIQXB3SkJBUkMxQWtIWHB3SkJBaEMwQTBIdHB3SkJBaEMxQWtHRHFBSkJLQkRBQVVHVXFBSkJ6QUFRaEFGQnBhZ0NRU2tRd0FGQnNxZ0NRYzBBRUlRQlFiK29Ba0VxRU1BQlFkZW9Ba0hPQUJDRUFSRHdCa0g4cUFKQkF4QzFBa0dKcVFKQkt4REFBVUdicVFKQnp3QVFoQUZCcmFrQ1FTd1F3QUZCdmFrQ1FkQUFFSVFCUWMycEFrRXRFTUFCUWQ2cEFrSFJBQkNFQVVIdnFRSkI2SVlCRUV0QmpLb0NRZXlHQVJCTFFhaXFBa0h3aGdFUVN5QUFRUUEyQWdCQnlhb0NJQUFRU3lBQVFRRTJBZ0JCMnFvQ0lBQVFTeUFBUVFBMkFnQkI2cW9DSUFBUVN5QUFRUUEyQWdCQmdLc0NJQUFRU3lBQVFRRTJBZ0JCbWFzQ0lBQVFTeUFBUVFFMkFnQkJzcXNDSUFBUVN5QUFRZVFBTmdJQVFjdXJBaUFBRUVzZ0FFRUFOZ0lBUWVhckFpQUFFRXNnQUVFQk5nSUFRWUNzQWlBQUVFc2dBRUVBTmdJQVFacXNBaUFBRUVzZ0FFRUFOZ0lBUWJXc0FpQUFFRXNnQUVFQk5nSUFRZENzQWlBQUVFc2dBRUVDTmdJQVFlcXNBaUFBRUVzZ0FFRUROZ0lBUVlPdEFpQUFFRXNnQUVFRU5nSUFRYW10QWlBQUVFc2dBRUVBTmdJQVFjNnRBaUFBRUVzZ0FFRUFOZ0lBUWZDdEFpQUFFRXNnQUVFQk5nSUFRWWl1QWlBQUVFc2dBRUVDTmdJQVFhS3VBaUFBRUVzZ0FFRUNOZ0lBUWIydUFpQUFFRXNnQUVFRk5nSUFRZCt1QWlBQUVFc2dBRVFBQUFBQUFBRGdQemtEQUVIeHJnSkJtUGtBSUFBckF3QVFGeUFBUVFBMkFnQkJocThDSUFBUVN5QUFRUUUyQWdCQm1hOENJQUFRU3lBQVFRSTJBZ0JCcTY4Q0lBQVFTeUFBUVFNMkFnQkJ2YThDSUFBUVN5QUFRUVEyQWdCQjBLOENJQUFRU3lBQVFRTTJBZ0JCNXE4Q0lBQVFTeUFBUVlNRU5nSUFRZm12QWlBQUVFc2dBRUdEQWpZQ0FFR1dzQUlnQUJCTElBQkJCRFlDQUVHeXNBSWdBQkJMSUFCQmhBWTJBZ0JCeGJBQ0lBQVFTeUFBUVlRSU5nSUFRZU93QWlBQUVFc2dBRUVBTmdJQVFZR3hBaUFBRUVzZ0FFRUJOZ0lBUWFDeEFpQUFFRXNnQUVFQ05nSUFRY1N4QWlBQUVFc2dBRUVETmdJQVFlYXhBaUFBRUVzZ0FFRUFOZ0lBUVl5eUFpQUFFRXNnQUVFQk5nSUFRYTJ5QWlBQUVFc2dBRUVDTmdJQVFkeXlBaUFBRUVzZ0FFRUROZ0lBUVlhekFpQUFFRXNnQUVFRU5nSUFRYkd6QWlBQUVFc2dBRUVGTmdJQVFlV3pBaUFBRUVzZ0FFRUdOZ0lBUVppMEFpQUFFRXNnQUVFSE5nSUFRY1cwQWlBQUVFc2dBRUVJTmdJQVFleTBBaUFBRUVzZ0FFRUpOZ0lBUVptMUFpQUFFRXNnQUNRR0MwTUFRWnpFQTBJQU53SUFRYVRFQTBJQU53SUFRYXpFQTBHQWdJRDhBellDQUVHd3hBTkNBRGNDQUVHNHhBTkNBRGNDQUVIQXhBTkJnSUNBL0FNMkFnQVFuQWNMcUFJQ0JIOENmQ01HSVFFakJrRVFhaVFHSUFBckF3QWlCVVFBQUFBQUFBQUFBR1pGQkVBZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCMEFBUVBrSDJvZ0lRTjBINW9nSVFOeUlFS0FJQVFYUnFLQUlBSUFScUVEc2dBVUdBemdNUU9pSUNLQUlBS0FJY0lRTWdBa0VLSUFOQlAzRkJpZ0ZxRVFJQUlRTWdBUkE4SUFRZ0F4QkFJQVFRUHhBQUN5QUFLd01JSWdaRUFBQUFBQUFBQUFCbUJFQWdBU1FHSUFZZ0JhRVBCU0FCUWNESUEwR1Vvd0lRTjBIOW9RSVFOMEh2b2dJUU4wSFJBQkErUWZhaUFoQTNRYnFqQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdNb0FnQW9BaHdoQUNBRFFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBQkVEd2dBaUFBRUVBZ0FoQS9FQUFMUkFBQUFBQUFBQUFBQzdZQkFRTi9Jd1loQVNNR1FSQnFKQVlnQUNzREFFUUFBQUFBQUFBQUFHWUVRQ0FCUVFBUUZCb2dBQ0FCS0FJRXQwU043YldnOThhd1BxSWdBU2dDQUxlZ09RTUlJQUVrQmdVZ0FVSEF5QU5CMXFFQ0VEZEIvYUVDRURkQjc2SUNFRGRCd3dBUVBrSDJvZ0lRTjBINW9nSVFOeUlDS0FJQVFYUnFLQUlBSUFKcUVEc2dBVUdBemdNUU9pSURLQUlBS0FJY0lRQWdBMEVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdBUkE4SUFJZ0FCQkFJQUlRUHhBQUN3czJBUUYvSXdZaEFTTUdRUkJxSkFZZ0FVRUFFQlFhSUFBZ0FTZ0NCTGRFamUyMW9QZkdzRDZpSUFFb0FnQzNvRGtEQUNBQkpBWUxSd0VCZnlNR0lRTWpCa0dBRUdva0JpQURRWUFRSUFFb0FnQWdBU0FCTEFBTFFRQklHeUFDRUtrQkdpQUFRZ0EzQWdBZ0FFRUFOZ0lJSUFBZ0F5QURFR0FRZmlBREpBWUxUUUVEZndOQUlBSWdBQ2dDQkNBQUtBSUFJZ05yUVFOMVNRUkFJQUpCQTNRZ0Eyb29BZ0FpQXlnQ0FDZ0NDQ0VFSUFOQkNDQUJJQVJCQTNGQjlnVnFFUVlBSUFKQkFXb2hBZ3dCQ3dzTEZBQWdBRUVNYWtFQUlBRW9BZ1JCOTZBQ1Joc0xDQUFnQUNnQ0RCb0xVUUVDZnlNR0lRTWpCa0VRYWlRR0lBQWdBVFlDQUVFUUVGRWlBa0VBTmdJRUlBSkJBRFlDQ0NBQ1FkU0dBVFlDQUNBQ0lBRTJBZ3dnQUNBQ05nSUVJQU1nQVRZQ0FDQURJQUUyQWdRZ0F5UUdDeFFBSUFCQkRHcEJBQ0FCS0FJRVFmMmZBa1liQ3drQUlBQW9BZ3dRT0F0UkFRSi9Jd1loQXlNR1FSQnFKQVlnQUNBQk5nSUFRUkFRVVNJQ1FRQTJBZ1FnQWtFQU5nSUlJQUpCdUlZQk5nSUFJQUlnQVRZQ0RDQUFJQUkyQWdRZ0F5QUJOZ0lBSUFNZ0FUWUNCQ0FESkFZTGxSSUNDMzhCZmlNR0lRd2pCa0VnYWlRR0lBeEJHR29oQ0NBTVFSQnFJUTRnQVVGOWFrRUZTd1IvSUFKQmZ6WUNBQ0FEUVFBMkFnQWdCRVFBQUFBQUFBRHd2emtEQUVGL0JRSi9JQXhCQURZQ0FDQU1JQUVnQVVGL2FpSUxiRFlDQkNBTUlBRWdBV3dpRDBGL2FqWUNDQ0FNSUFzMkFneEJmeUVKQTBBZ0IwRUVSd1JBSUFBZ0IwRUNkQ0FNYWlnQ0FHb3NBQUFoRFNBSFFRRnFJUWNnRFNBS0lBMUIvd0Z4SUFwQi93RnhTaHNoQ2lBTklBa2dEVUgvQVhFZ0NVSC9BWEZJR3lFSkRBRUxDeUFLUWY4QmNTSUhJQWxCL3dGeElncHJRUjVJQkVBZ0FrRi9OZ0lBSUFOQkFEWUNBQ0FFUkFBQUFBQUFBUEMvT1FNQVFYNE1BUXNnQnlBS2FrRUJkaUVKUVFBaEJ3TkFJQWRCQkVjRVFDQUhJQWhxSUFrZ0FDQUhRUUowSUF4cUtBSUFhaTBBQUVzNkFBQWdCMEVCYWlFSERBRUxDMEVBSVFjQ1FBSkFBMEFDUUNBSFFRUlBEUUlnQjBFQmFpRUtJQWNnQ0dvc0FBQkJBVVlFUUNBS1FRTnhJQWhxTEFBQVFRRkdCRUFnQjBFQ2FrRURjU0FJYWl3QUFFVU5BZ3NMSUFvaEJ3d0JDd3NnQXlBSE5nSUFEQUVMSUFkQkJFWUVRQ0FDUVg4MkFnQWdBMEVBTmdJQUlBUkVBQUFBQUFBQThMODVBd0JCZlF3Q0N3dEIvd0VoQ2tFQUlRY0RRQ0FISUE5SEJFQkJBQ0FBSUFkcUlnMHRBQUFpRUNBSmF5SUlheUFJSUFoQkFFZ2JJUWdnRFNBSklCQkxPZ0FBSUFnZ0NpQUlJQXBJR3lFS0lBZEJBV29oQnd3QkN3c0NRQUpBQWtBQ1FBSkFJQU1vQWdBaUF3NEVBQUVDQXdRTEEwQWdBeUFCU0FSQUlBTWdDMFloQ0NBQklBTnNJUWxCQUNFSEEwQWdBU0FIUndSQUlBTWdCM0lFUUNBSUlBZEZJQWNnQzBaeWNVVUVRQ0FBSUFjZ0NXcHFMQUFBUVFCSHJTQVNRZ0dHaENFU0N3c2dCMEVCYWlFSERBRUxDeUFEUVFGcUlRTU1BUVVNQlFzQUFBc0FDMEVBSVFjRFFDQUhJQUZJQkVBZ0IwVWhDQ0FISUF0R0lRa2dDeUVEQTBBZ0EwRi9TZ1JBSUFnZ0F5QUxSaUlOY1VVRVFDQUpJQTBnQTBWeWNVVUVRQ0FBSUFjZ0FTQURiR3BxTEFBQVFRQkhyU0FTUWdHR2hDRVNDd3NnQTBGL2FpRUREQUVMQ3lBSFFRRnFJUWNNQVFVTUJBc0FBQXNBQ3lBTElRTURRQ0FEUVg5S0JFQWdBMFVnQXlBTFJuSWhDQ0FCSUFOc0lRa2dDeUVIQTBBZ0IwRi9TZ1JBSUFNZ0IzSkZJQWNnQzBZZ0NIRnlSUVJBSUFBZ0J5QUphbW9zQUFCQkFFZXRJQkpDQVlhRUlSSUxJQWRCZjJvaEJ3d0JDd3NnQTBGL2FpRUREQUVGREFNTEFBQUxBQXNnQ3lFREEwQWdBMEYvU2dSQUlBTWdDMFloQ0NBRFJTRUpRUUFoQndOQUlBY2dBVWdFUUNBSklBY2dDMFp4SUFNZ0IzSkZJQWdnQjBWeGNuSkZCRUFnQUNBRElBRWdCMnhxYWl3QUFFRUFSNjBnRWtJQmhvUWhFZ3NnQjBFQmFpRUhEQUVMQ3lBRFFYOXFJUU1NQVFzTEN5QUVSQUFBQUFBQUFQQS9JQXEzUkFBQUFBQUFBRDVBb3lBS1FSNUtHemtEQUFKQUFrQUNRQUpBQWtBZ0JVR0RBbXNPZ3dnQUF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBUU1EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBZ0lEQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNREF3TURBd01EQXdNQ0F3c2dEaUFTcDBIZ0NXb3NBQUFpQUt3M0F3QWdBRUVBU0FSQUlBSkJmellDQUNBRVJBQUFBQUFBQVBDL09RTUFRWHdNQlFzTUF3c2dEaUFTcHlJQVFlQUlhaXdBQUNJQnJEY0RBQ0FHQkVBZ0JpQUFRYUFKYWkwQUFEWUNBQXNnQVVFQVNBUkFJQUpCZnpZQ0FDQUVSQUFBQUFBQUFQQy9PUU1BUVh3TUJBc01BZ3NnQlNBU1FRQWdEaEMxQXlJQVFRQklCRUFnQWtGL05nSUFJQVJFQUFBQUFBQUE4TDg1QXdCQmZBd0RDeUFBUVFCSElBWkJBRWR4QkVBZ0JpQUFOZ0lBQ3d3QkN5QU9JQkkzQXdBTElBSWdEaWtEQUQ0Q0FFRUFDd3NoRVNBTUpBWWdFUXNsQUNBQVFnQTNBZ0FnQUVJQU53SUlJQUJDQURjQ0VDQUFRZ0EzQWhnZ0FDQUJFS3NIQzY4QkFRTi9Jd1loQWlNR1FSQnFKQVlnQUNBQktBSUFOZ0lBSUFBZ0FTZ0NCRFlDQkNBQUlBRW9BZ2cyQWdnZ0FDQUJLQUlNTmdJTUlBQWdBU2dDRURZQ0VDQUFJQUVvQWhRMkFoUWdBaUFCS0FJWUlnUTJBZ0FnQWtFRWFpSURJQUVvQWh3aUFUWUNBQ0FCQkg4Z0FTQUJLQUlFUVFGcU5nSUVJQU1vQWdBRlFRQUxJUUVnQWlBQUtBSVlOZ0lBSUFBZ0JEWUNHQ0FESUFBb0FodzJBZ0FnQUNBQk5nSWNJQUlRbFFFZ0FpUUdDekFCQVg4Z0FDZ0NDQ0VEQTBBZ0F5QUNMQUFBT2dBQUlBQWdBQ2dDQ0VFQmFpSUROZ0lJSUFGQmYyb2lBUTBBQ3d1NUFRRUZmeU1HSVFRakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGF5QUJTUVJBUWYvLy8vOEhJQUVnQXlBQUtBSUFhMm9pQTBrRVFCQUFCU0FFSUFNZ0FDZ0NDQ0FBS0FJQUlnVnJJZ1pCQVhRaUJ5QUhJQU5KRzBILy8vLy9CeUFHUWYvLy8vOERTUnNnQUNnQ0JDQUZheUFBUVFocUVOZ0NJQVFnQVNBQ0VLd0hJQUFnQkJEWEFpQUVFTllDQ3dVRFFDQURJQUlzQUFBNkFBQWdBQ0FBS0FJRVFRRnFJZ00yQWdRZ0FVRi9haUlCRFFBTEN5QUVKQVlMT0FFQ2Z5QUFLQUlFSUFBb0FnQWlCR3NpQXlBQlNRUkFJQUFnQVNBRGF5QUNFSzBIQlNBRElBRkxCRUFnQUNBQklBUnFOZ0lFQ3dzTElnQWdBQ0FCSUFBb0FnUkJmbXF6RU9NQklBSWdBQ2dDQ0VGK2FyTVE0d0VRVFF0aEFRRjlJQU1ROWdJZ0JKUWhCU0FERVBVQ0lBU1VJUU1nQUNBRk9BSUFJQUFnQTR3NEFnUWdBQ0FCT0FJSUlBQWdBemdDRENBQUlBVTRBaEFnQUNBQ09BSVVJQUJEQUFBQUFEZ0NHQ0FBUXdBQUFBQTRBaHdnQUVNQUFJQS9PQUlnQ3lJQUlBRkJDQkE1SUFCcUlnQWdBQzBBQUNBQ1FmOEJjU0FCUVFkeGRISTZBQUFMaXdFQkNIOGdBRUhVQUJEWkEwRWtJUVZCSXlFR1FTUWhCd05BSUFKQkpVY0VRQ0FDUVFKMElBRnFJUWtnQWtFQmFpSUNJUWdnQkNFREEwQWdBeUFIUndSQUlBQWdBeUFKS2dJQUlBaEJBblFnQVdvcUFnQmRFTEVISUFoQkFXb2hDQ0FEUVFGcUlRTU1BUXNMSUFZZ0Iyb2hCeUFFSUFWcUlRUWdCVUYvYWlFRklBWkJmMm9oQmd3QkN3c0xxQTRDSUg4Q2ZTTUdJUklqQmtIUUFtb2tCaUFTUWFBQ2FpSVJJQUlxQWdBZ0Fpb0NCQ0FDS2dJSVF3QUFnRDhnQWlvQ0RDQVFsQ0lRSUJCREFBQ0FQMTBiSWpFUXNBY2dFU29DQ0NFeUlCRXFBaFFoRUNBU1FmQUJhaUlUSUJFZ0F4QmJJQk5CQ0dvaUdDQVJJQU5CQ0dvUVd5QVRRUkJxSWhrZ0VTQURRUkJxRUZzZ0UwRVlhaUlhSUJFZ0EwRVlhaEJiSUJOQklHb2lHeUFSSUFOQklHb1FXeUFUUVNocUlod2dFU0FEUVNocUVGc2dFa0hBQVdvaUZDQVJJQVFRV3lBVVFRaHFJaDBnRVNBRVFRaHFFRnNnRkVFUWFpSWVJQkVnQkVFUWFoQmJJQlJCR0dvaUh5QVJJQVJCR0dvUVd5QVVRU0JxSWlBZ0VTQUVRU0JxRUZzZ0ZFRW9haUloSUJFZ0JFRW9haEJiSUJKQmtBRnFJaFVnRVNBRkVGc2dGVUVJYWlJaUlCRWdCVUVJYWhCYklCVkJFR29pSXlBUklBVkJFR29RV3lBVlFSaHFJaVFnRVNBRlFSaHFFRnNnRlVFZ2FpSWxJQkVnQlVFZ2FoQmJJQlZCS0dvaUppQVJJQVZCS0dvUVd5QVNRZUFBYWlJV0lCRWdCaEJiSUJaQkNHb2lKeUFSSUFaQkNHb1FXeUFXUVJCcUlpZ2dFU0FHUVJCcUVGc2dGa0VZYWlJcElCRWdCa0VZYWhCYklCWkJJR29pS2lBUklBWkJJR29RV3lBV1FTaHFJaXNnRVNBR1FTaHFFRnNnRWtFd2FpSVhJQkVnQnhCYklCZEJDR29pTENBUklBZEJDR29RV3lBWFFSQnFJaTBnRVNBSFFSQnFFRnNnRjBFWWFpSXVJQkVnQjBFWWFoQmJJQmRCSUdvaUx5QVJJQWRCSUdvUVd5QVhRU2hxSWpBZ0VTQUhRU2hxRUZzZ0VpQVJJQWdRV3lBU1FRaHFJZ1lnRVNBSVFRaHFFRnNnRWtFUWFpSUZJQkVnQ0VFUWFoQmJJQkpCR0dvaUJDQVJJQWhCR0dvUVd5QVNRU0JxSWdNZ0VTQUlRU0JxRUZzZ0VrRW9haUlDSUJFZ0NFRW9haEJiSUFFZ0VrSElBbW9pQ0NBU1FjUUNhaUlISURFZ0Q1UVF0d0VnQUNBQklCSXFBZ0FnRWlvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdCaW9DQUNBU0tnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FJRUlBQWdBU0FGS2dJQUlCSXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFnZ2dBQ0FCSUFRcUFnQWdFaW9DSENBSUtBSUFJQWNvQWdBUVdUZ0NEQ0FBSUFFZ0F5b0NBQ0FTS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUlRSUFBZ0FTQUNLZ0lBSUJJcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWhRZ0FTQUlJQWNnTVNBT2xCQzNBU0FBSUFFZ0Z5b0NBQ0FYS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUlZSUFBZ0FTQXNLZ0lBSUJjcUFnd2dDQ2dDQUNBSEtBSUFFRms0QWh3Z0FDQUJJQzBxQWdBZ0Z5b0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ0lDQUFJQUVnTGlvQ0FDQVhLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSWtJQUFnQVNBdktnSUFJQmNxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBaWdnQUNBQklEQXFBZ0FnRnlvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDTENBQklBZ2dCeUF4SUEyVUVMY0JJQUFnQVNBV0tnSUFJQllxQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBakFnQUNBQklDY3FBZ0FnRmlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDTkNBQUlBRWdLQ29DQUNBV0tnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FJNElBQWdBU0FwS2dJQUlCWXFBaHdnQ0NnQ0FDQUhLQUlBRUZrNEFqd2dBRUZBYXlBQklDb3FBZ0FnRmlvQ0pDQUlLQUlBSUFjb0FnQVFXVGdDQUNBQUlBRWdLeW9DQUNBV0tnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FKRUlBRWdDQ0FISURFZ0RKUVF0d0VnQUNBQklCVXFBZ0FnRlNvQ0JDQUlLQUlBSUFjb0FnQVFXVGdDU0NBQUlBRWdJaW9DQUNBVktnSU1JQWdvQWdBZ0J5Z0NBQkJaT0FKTUlBQWdBU0FqS2dJQUlCVXFBaFFnQ0NnQ0FDQUhLQUlBRUZrNEFsQWdBQ0FCSUNRcUFnQWdGU29DSENBSUtBSUFJQWNvQWdBUVdUZ0NWQ0FBSUFFZ0pTb0NBQ0FWS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUpZSUFBZ0FTQW1LZ0lBSUJVcUFpd2dDQ2dDQUNBSEtBSUFFRms0QWx3Z0FTQUlJQWNnTVNBTGxCQzNBU0FBSUFFZ0ZDb0NBQ0FVS2dJRUlBZ29BZ0FnQnlnQ0FCQlpPQUpnSUFBZ0FTQWRLZ0lBSUJRcUFnd2dDQ2dDQUNBSEtBSUFFRms0QW1RZ0FDQUJJQjRxQWdBZ0ZDb0NGQ0FJS0FJQUlBY29BZ0FRV1RnQ2FDQUFJQUVnSHlvQ0FDQVVLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BSnNJQUFnQVNBZ0tnSUFJQlFxQWlRZ0NDZ0NBQ0FIS0FJQUVGazRBbkFnQUNBQklDRXFBZ0FnRkNvQ0xDQUlLQUlBSUFjb0FnQVFXVGdDZENBQklBZ2dCeUF4SUFxVUVMY0JJQUFnQVNBVEtnSUFJQk1xQWdRZ0NDZ0NBQ0FIS0FJQUVGazRBbmdnQUNBQklCZ3FBZ0FnRXlvQ0RDQUlLQUlBSUFjb0FnQVFXVGdDZkNBQUlBRWdHU29DQUNBVEtnSVVJQWdvQWdBZ0J5Z0NBQkJaT0FLQUFTQUFJQUVnR2lvQ0FDQVRLZ0ljSUFnb0FnQWdCeWdDQUJCWk9BS0VBU0FBSUFFZ0d5b0NBQ0FUS2dJa0lBZ29BZ0FnQnlnQ0FCQlpPQUtJQVNBQUlBRWdIQ29DQUNBVEtnSXNJQWdvQWdBZ0J5Z0NBQkJaT0FLTUFTQUJJQWdnQnlBeElBbVVFTGNCSUFBZ0FTQXlJQkFnQ0NnQ0FDQUhLQUlBRUZrNEFwQUJJQklrQmtFQkMwd0JBbjhqQmlFUkl3WkJvQUZxSkFZZ0VTQUJJQUlnQXlBRUlBVWdCaUFISUFnZ0NTQUtJQXNnRENBTklBNGdEeUFRRUxNSEJIOGdBQ0FSRUxJSFFRRUZRUUFMSVJJZ0VTUUdJQklMdGdRQkJuOGpCaUVUSXdaQkVHb2tCaUFCUlFSQUlCTkJ3TWdEUWNlV0FoQTNRZWFXQWhBM1FlK2lBaEEzUVprRUVENUI5cUlDRURkQjFKY0NFRGNpRVNBUktBSUFRWFJxS0FJQWFoQTdJQk5CZ000REVEb2lFaWdDQUNnQ0hDRVVJQkpCQ2lBVVFUOXhRWW9CYWhFQ0FDRVNJQk1RUENBUklCSVFRQ0FSRUQ4UUFBc2dBQkJ4SUFJb0FnUWlGQ0FDS0FJQUloVnJRUlFRT1VjRVFDQVRRY0RJQTBIa2x3SVFOMEhtbGdJUU4wSHZvZ0lRTjBHYUJCQStRZmFpQWhBM1FabVlBaEEzSWhFZ0VTZ0NBRUYwYWlnQ0FHb1FPeUFUUVlET0F4QTZJaElvQWdBb0Fod2hGaUFTUVFvZ0ZrRS9jVUdLQVdvUkFnQWhFaUFURUR3Z0VTQVNFRUFnRVJBL0VBQUxRUUFoRWtFQUlSRURRQ0FTSUJRZ0ZXdEJGQkE1SWhSSkJFQWdBQ2dDQkNBUklBQW9BZ0JzYWlBQklBSW9BZ0FnRWtFVWJHb2dBeUFFSUFVZ0JpQUhJQWdnQ1NBS0lBc2dEQ0FOSUE0Z0R5QVFFTFFIQkVBZ0FDZ0NFQ0FSUVJSc2FpSVVJQUlvQWdBZ0VrRVViR29pRlNrQ0FEY0NBQ0FVSUJVcEFnZzNBZ2dnRkNBVkxBQVFPZ0FRSUJGQkFXb2hFUXNnRWtFQmFpRVNJQUlvQWdRaEZDQUNLQUlBSVJVTUFRc0xJQkVnRkVZRVFDQUFJQkVRdkFNZ0V5UUdCU0FUUWNESUEwRyttQUlRTjBIbWxnSVFOMEh2b2dJUU4wSHBCQkErUWZhaUFoQTNRZkdZQWhBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBVFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBVEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQzNNQUlBRVEwZ01nQVNBREtBSUVJQU1vQWdCclFSUVFPUkM4QXlBQklBSWdBeUFBSUFCQk1Hb2dBRUhnQUdvZ0FFR1FBV29nQUVIQUFXb2dBRUh3QVdvZ0FDb0NvQUlnQUNvQ3BBSWdBQ29DcUFJZ0FDb0NyQUlnQUNvQ3NBSWdBQ29DdEFJZ0FDb0N1QUlnQUNvQ3ZBSVF0UWNMeHdNQkRYOGpCaUVDSXdaQlFHc2tCaUFDUVRocUlRa2dBa0V3YWlFS0lBSkJLR29oQ3lBQ1FTQnFJUU1nQWtFWWFpRUZJQUpCRUdvaEJpQUNRUWhxSVFCQklCQkVJZ0ZGQkVCQkFFRURRYm5ZQWlBQ0VEMUJBUkFCQ3lBQlFRQTJBZ0FnQVVFeU5nSUVJQUZCRURZQ0hDQUJRY2dCRUVRaUJ6WUNDQ0FIUlFSQVFRQkJBMEc1MkFJZ0FCQTlRUUVRQVFzZ0FVR2dCaEJFSWdnMkFnd2dDRVVFUUVFQVFRTkJ1ZGdDSUFZUVBVRUJFQUVMSUFGQm9BWVFSQ0lBTmdJVUlBQkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFCUWNBTUVFUWlBRFlDRUNBQVJRUkFRUUJCQTBHNTJBSWdBeEE5UVFFUUFRc2dBVUhBREJCRUlnQTJBaGdnQUVVRVFFRUFRUU5CdWRnQ0lBc1FQVUVCRUFFTEFrQUNRQUpBQTBBQ1FDQUVRVEpPQkVBZ0FTRU1EQVVMSUFSQkFuUWdCMnBCQURZQ0FDQUVRUUowSVFWQkFDRURBMEFnQTBFRVNRUkFJQU1nQldvaUJrRUNkQ0FJYWtHQUdCQkVJZ0EyQWdBZ0FFVU5Ba0dBQ0JCRUlRQWdBU2dDRkNBR1FRSjBhaUFBTmdJQUlBQkZEUVFnQTBFQmFpRUREQUVMQ3lBRVFRRnFJUVFNQVFzTFFRQkJBMEc1MkFJZ0NoQTlEQUVMUVFCQkEwRzUyQUlnQ1JBOUMwRUJFQUVMSUFJa0JpQU1DNmtCQUNBQVFkQVZRUXdRdUFFZ0FFRXdha0dBRmtFTUVMZ0JJQUJCNEFCcVFiQVdRUXdRdUFFZ0FFR1FBV3BCNEJaQkRCQzRBU0FBUWNBQmFrR1FGMEVNRUxnQklBQkI4QUZxUWNBWFFRd1F1QUVnQUVQTnpNdzlPQUtnQWlBQVF6TXpNejQ0QXFRQ0lBQkRBQUNBUGpnQ3FBSWdBRU5tWnFZK09BS3NBaUFBUTgzTXpENDRBckFDSUFCRE16UHpQamdDdEFJZ0FFUE56QXcvT0FLNEFpQUFRd0FBNEVBNEFyd0NDMDhCQVgwZ0FVTUFBQUFBT0FJQUlBSkJmellDQUNBQVFlUUFhaUVBQTBBZ0FDZ0NBQ0lBQkVBZ0F5QUFLQUlNczEwRVFDQUNJQUFvQWdnMkFnQWdBU0FBS0FJTXN5SURPQUlBQ3d3QkN3c0x1d01DQ244RGZTTUdJUVVqQmtFUWFpUUdJQUZCQUV3RVFDQUZRY0RJQTBIMWxBSVFOMEdTbFFJUU4wSHZvZ0lRTjBFMUVENUI5cUlDRURkQmhKWUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBa0VBVEFSQUlBVkJ3TWdEUVplV0FoQTNRWktWQWhBM1FlK2lBaEEzUVRZUVBrSDJvZ0lRTjBHMGxnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCVUdBemdNUU9pSUVLQUlBS0FJY0lRWWdCRUVLSUFaQlAzRkJpZ0ZxRVFJQUlRUWdCUkE4SUFNZ0JCQkFJQU1RUHhBQUN5QUNRWDlxSWdsQkFuUWdBR29oQ2lBQlFYOXFJUWNEUUNBS0tnSUFJUTBnQ0NBSFNBUkFJQWdoQVNBSElRTURRQU5BSUFGQkFXb2hCQ0FCUVFKMElBQnFJZ3NxQWdBaURpQU5YUVJBSUFRaEFRd0JDd3NEUUNBRFFYOXFJUVlnRFNBRFFRSjBJQUJxSWd3cUFnQWlEMTBFUUNBR0lRTU1BUXNMSUFFZ0Ewd0VRQ0FMSUE4NEFnQWdEQ0FPT0FJQUlBUWhBU0FHSVFNTElBRWdBMHdOQUFzZ0J5QURJQUVnQWtnYklRY2dBU0FJSUFNZ0NVZ2JJUWdNQVFzTElBVWtCaUFOQ3pVQkFYMGdBUkQyQWlBQ2xDRURJQUVROVFJZ0FwUWhBU0FBSUFNNEFnQWdBQ0FCakRnQ0JDQUFJQUU0QWdnZ0FDQURPQUlNQzBJQkFYOGdBRUVRRUZFaUJEWUNBQ0FBSUFGQkNHbzJBZ1FnQkNBREtBSUFOZ0lJSUFRZ0F5Z0NCRFlDRENBQVFRRTZBQWdnQkNBQ05nSUVJQVJCQURZQ0FBdWFBUUVCZlNBQUtBSTBzaUVKSUFFZ0JTQUFLZ0lVSWdXVElBQXFBaGdnQlpNUTNnRWdDWlE0QWdBZ0FDZ0NPTEloQlNBQ0lBWWdBQ29DSENJR2t5QUFLZ0lnSUFhVEVONEJJQVdVT0FJQUlBTWdCN3RFR0MxRVZQc2hDVUNnUklQSXlXMHdYOFEvb2lBQUtBSTh0NksyT0FJQUlBQkJRR3NvQWdDeUlRVWdCQ0FJSUFBcUFpUWlCcE1nQUNvQ0tDQUdreERlQVNBRmxEZ0NBQXU3REFNTGZ3WjlBWHdqQmlFSUl3WkJFR29rQmlBQUtnSVVJaEFnQVY0RWYwRUFCU0FBS2dJWUloRWdBVjhFZjBFQUJTQUFLZ0ljSWhJZ0FsNEVmMEVBQlNBQUtnSWdJaE1nQWw4RWYwRUFCU0FEdXlJV1JCZ3RSRlQ3SVFuQVpTQVdSQmd0UkZUN0lRbEFaSElFZjBFQUJTQUFLZ0lrSWhRZ0JGNEVmMEVBQlNBQUtnSW9JaFVnQkY4RWYwRUFCU0FRSUFGZlJRUkFJQWhCd01nRFFaR0tBaEEzUWJPS0FoQTNRZStpQWhBM1FlZ0NFRDVCOXFJQ0VEZEJzNHNDRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFoQmdNNERFRG9pQnlnQ0FDZ0NIQ0VGSUFkQkNpQUZRVDl4UVlvQmFoRUNBQ0VGSUFnUVBDQUdJQVVRUUNBR0VEOFFBQXNnRVNBQlhrVUVRQ0FJUWNESUEwSENpd0lRTjBHemlnSVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRYk9MQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJJZ0FsOUZCRUFnQ0VIQXlBTkI0NHNDRURkQnM0b0NFRGRCNzZJQ0VEZEI2Z0lRUGtIMm9nSVFOMEdGakFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVElBSmVSUVJBSUFoQndNZ0RRWlNNQWhBM1FiT0tBaEEzUWUraUFoQTNRZXNDRUQ1QjlxSUNFRGRCaFl3Q0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0ZrUVlMVVJVK3lFSndHUkZCRUFnQ0VIQXlBTkJ0WXdDRURkQnM0b0NFRGRCNzZJQ0VEZEI3QUlRUGtIMm9nSVFOMEhZakFJUU55SUdLQUlBUVhScUtBSUFJQVpxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBV1JCZ3RSRlQ3SVFsQVpVVUVRQ0FJUWNESUEwSHJqQUlRTjBHemlnSVFOMEh2b2dJUU4wSHRBaEErUWZhaUFoQTNRZGlNQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBSVFZRE9BeEE2SWdjb0FnQW9BaHdoQlNBSFFRb2dCVUUvY1VHS0FXb1JBZ0FoQlNBSUVEd2dCaUFGRUVBZ0JoQS9FQUFMSUJRZ0JGOUZCRUFnQ0VIQXlBTkJqbzBDRURkQnM0b0NFRGRCNzZJQ0VEZEI3Z0lRUGtIMm9nSVFOMEc0alFJUU55SUdJQVlvQWdCQmRHb29BZ0JxRURzZ0NFR0F6Z01RT2lJSEtBSUFLQUljSVFVZ0IwRUtJQVZCUDNGQmlnRnFFUUlBSVFVZ0NCQThJQVlnQlJCQUlBWVFQeEFBQ3lBVklBUmVSUVJBSUFoQndNZ0RRY3VOQWhBM1FiT0tBaEEzUWUraUFoQTNRZThDRUQ1QjlxSUNFRGRCdUkwQ0VEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBaEJnTTRERURvaUJ5Z0NBQ2dDSENFRklBZEJDaUFGUVQ5eFFZb0JhaEVDQUNFRklBZ1FQQ0FHSUFVUVFDQUdFRDhRQUFzZ0FDQUFRY1FBYWlJSklBQkJ5QUJxSWdZZ0FFSE1BR29pQlNBQVFkQUFhaUlISUFFZ0FpQURJQVFRdlFjZ0NTb0NBRU1BQUFDL2tvNFFReUVLSUFZcUFnQkRBQUFBdjVLT0VFTWhDd0ovSUFVcUFnQkRBQUFBdjVLT0VFTWhEaUFIS2dJQVF3QUFBTCtTamhCRElRd2dEaUFBS0FJOElnVnFDeUFGRUU4aERTQUtRUUJJQkg5QkFBVWdDMEVBU0NBS1FRRnFJZ2tnQUNnQ05FNXlCSDlCQUFVZ0RFRUFTQ0FMUVFGcUlnWWdBQ2dDT0U1eUJIOUJBQVVnREVFQmFpSUhJQUJCUUdzb0FnQklCSDhnRFVFQmFpQUZFRThoQlNBQUlBQWdDaUFMSUEwZ0RCQjhFSHNnQUNBQUlBa2dDeUFOSUF3UWZCQjdJQUFnQUNBSklBWWdEU0FNRUh3UWV5QUFJQUFnQ1NBR0lBVWdEQkI4RUhzZ0FDQUFJQWtnQmlBRklBY1FmQkI3SUFBZ0FDQUpJQVlnRFNBSEVId1FleUFBSUFBZ0NTQUxJQVVnREJCOEVIc2dBQ0FBSUFrZ0N5QUZJQWNRZkJCN0lBQWdBQ0FKSUFzZ0RTQUhFSHdRZXlBQUlBQWdDaUFHSUEwZ0RCQjhFSHNnQUNBQUlBb2dCaUFGSUF3UWZCQjdJQUFnQUNBS0lBWWdCU0FIRUh3UWV5QUFJQUFnQ2lBR0lBMGdCeEI4RUhzZ0FDQUFJQW9nQ3lBRklBd1FmQkI3SUFBZ0FDQUtJQXNnQlNBSEVId1FleUFBSUFBZ0NpQUxJQTBnQnhCOEVIdEJBUVZCQUFzTEN3c0xDd3NMQ3dzTElROGdDQ1FHSUE4TEp3QWdBQVIvSUFCQjhJYXZBMm9pQUNnQ0FBUi9JQUJCQURZQ0FFRUFCVUYvQ3dWQmZ3c2FDNGNFQWdWL0FYd2pCaUVOSXdaQklHb2tCaUFOUVJCcUlRNGdBeUFISUF1VElnYzRBZ0FDUUFKQUlBZTdJaEpFR0MxRVZQc2hDY0JsQkVBZ0VrUVlMVVJVK3lFWlFLQzJJUWNNQVFVZ0VrUVlMVVJVK3lFSlFHUUVRQ0FTUkJndFJGVDdJUm5Bb0xZaEJ3d0NDd3NNQVFzZ0F5QUhPQUlBQ3lBSHV5SVNSQmd0UkZUN0lRbkFaRVVFUUNBT1FjRElBMEcxakFJUU4wR3ppZ0lRTjBIdm9nSVFOMEhVQXhBK1FmYWlBaEEzUWRpTUFoQTNJZzhnRHlnQ0FFRjBhaWdDQUdvUU95QU9RWURPQXhBNkloQW9BZ0FvQWh3aEVTQVFRUW9nRVVFL2NVR0tBV29SQWdBaEVDQU9FRHdnRHlBUUVFQWdEeEEvRUFBTElCSkVHQzFFVlBzaENVQmxCRUFnQkNBSUlBd1EzZ0VpQnpnQ0FDQU5JQU1xQWdBZ0J4QzdCeUFFSUFRcUFnQVEwZ0VnQUNvQ01KUTRBZ0FnRFNvQ0NDRUhJQTBxQWd3aENDQUJJQVVnRFNvQ0FDSUZJQW1VSUEwcUFnUWlDeUFLbEpLVElBVWdBQ29DQ0pRZ0N5QUFLZ0lNbEpLU09BSUFJQUlnQmlBSElBbVVJQWdnQ3BTU2t5QUhJQUFxQWdpVUlBZ2dBQ29DREpTU2tqZ0NBQ0FOSkFZRklBNUJ3TWdEUWV1TUFoQTNRYk9LQWhBM1FlK2lBaEEzUWRVREVENUI5cUlDRURkQjJJd0NFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQTVCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQTRRUENBQUlBRVFRQ0FBRUQ4UUFBc0w3UVFDQjM4Q2ZTTUdJUWNqQmtFUWFpUUdJQWRCREdvaEJDQUFLQUlBSUFBb0FnUVF4Z0VoQ2lBSElBTVFoQUlnQTBFQVRBUkFJQVJCd01nRFFibVNBaEEzUWRtU0FoQTNRZStpQWhBM1FkQUJFRDVCOXFJQ0VEZEIyNU1DRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUFSQmdNNERFRG9pQmlnQ0FDZ0NIQ0VJSUFaQkNpQUlRVDl4UVlvQmFoRUNBQ0VHSUFRUVBDQUZJQVlRUUNBRkVEOFFBQXNnQUNnQ0FFRUFUQVJBSUFSQndNZ0RRZkdUQWhBM1FkbVNBaEEzUWUraUFoQTNRZEVCRUQ1QjlxSUNFRGRCbTVRQ0VEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUJpZ0NBQ2dDSENFSUlBWkJDaUFJUVQ5eFFZb0JhaEVDQUNFR0lBUVFQQ0FGSUFZUVFDQUZFRDhRQUFzZ0FDZ0NCRUVBVEFSQUlBUkJ3TWdEUWJLVUFoQTNRZG1TQWhBM1FlK2lBaEEzUWRJQkVENUI5cUlDRURkQjNaUUNFRGNpQlNBRktBSUFRWFJxS0FJQWFoQTdJQVJCZ000REVEb2lCaWdDQUNnQ0hDRUlJQVpCQ2lBSVFUOXhRWW9CYWhFQ0FDRUdJQVFRUENBRklBWVFRQ0FGRUQ4UUFBc2dDckloQzBFQUlRUURRQ0FESUFSSEJFQWdCRUVDZENJRlFRSjBJQUZxS2dJTUlBVkJBblFnQW1vcUFnd1EzZ0VnQzVRaERDQUhLQUlBSUFSQkFuUnFJQXc0QWdBZ0JFRUJhaUVFREFFTEN5QUhLQUlBSWdFZ0J5Z0NCQ0FCYTBFQ2RTSUJJQUZCQWhBNUlBRkJBWEZCZjJwcUVMb0hRd0FBZ0Q2VUlRc2dBRUVGSUFBcUFoZ2dBQ29DRkpNZ0M1V05FRU1ReGdFMkFqUWdBRUVGSUFBcUFpQWdBQ29DSEpNZ0M1V05FRU1ReGdFaUFUWUNPQ0FBSUFFZ0FDZ0NOR3dpQVRZQ1ZDQUFJQUVnQUNnQ1BHdzJBbGdnQnhCVklBY2tCZ3U3QWdFS2Z5TUdJUVVqQmtFUWFpUUdJQVZCREdvaENTQUZRUWhxSVFvZ0JVRUVhaUVMSUFCQjNBQnFFTDBESUFNRVFDQUFRZkFBYWlJTUlBTkJBblFRaHdFZ0FFSDhBR29pRFNBREVJY0JJQUFzQUJBRVFDQUFJQUVnQWlBREVNRUhDd05BSUFjZ0EwZ0VRQ0FBSUFrZ0NpQUxJQVVnQjBFQ2RDSUVRUUowSUFGcUlnZ3FBZ0FnQ0NvQ0JDQUlLZ0lJSUFncUFnd2dCRUVDZENBQ2FpSUVLZ0lBSUFRcUFnUWdCQ29DQ0NBRUtnSU1FTUFISUFBZ0NTb0NBQ0FLS2dJQUlBc3FBZ0FnQlNvQ0FCQytCd1JBSUF3b0FnQWdCa0VFZEdvaUJDQUFLQUpFTmdJQUlBUWdBQ2dDU0RZQ0JDQUVJQUFvQWt3MkFnZ2dCQ0FBS0FKUU5nSU1JQTBvQWdBZ0JrRUNkR29nQnpZQ0FDQUdRUUZxSVFZTElBZEJBV29oQnd3QkN3c2dEQ0FHUVFKMEVJY0JJQTBnQmhDSEFRc2dCU1FHQzRNQkFDQUFJQUU0QWhRZ0FDQUNPQUlZSUFBZ0F6Z0NIQ0FBSUFRNEFpQWdBRU1BQUlDL09BSWtJQUJEQUFDQVB6Z0NLQ0FBUVFBMkFqUWdBRUVBTmdJNElBQkJERFlDUENBQVFVQnJRUW8yQWdBZ0FFRUFOZ0pVSUFCQkFEWUNXQ0FBUXdBQUlFRTRBaXdnQUVQWVc5NCtPQUl3SUFCQkFUb0FFQ0FBUWR3QWFoQzlBd3NwQVFGL0lBQW9BZ2dRdmdNZ0FDZ0NBQ0VCSUFCQkFEWUNBQ0FCQkVBZ0FDZ0NCQm9nQVJBNEN3dVBBUUVCZnlBQVFnQTNBZ0FnQUVJQU53SUlJQUJCQVRvQUVDQUFRUlJxSWdGQ0FEY0NBQ0FCUWdBM0FnZ2dBVUlBTndJUUlBRkNBRGNDR0NBQlFnQTNBaUFnQVVJQU53SW9JQUZDQURjQ01DQUJRZ0EzQWpnZ0FVRkFhMElBTndJQUlBRkNBRGNDU0NBQlFnQTNBbEFnQUVHQWdJRDhBellDYkNBQVFnQTNBbkFnQUVJQU53SjRJQUJDQURjQ2dBRUxMUUFnQUNBQlFVQnJLQUlBTmdJQUlBQWdBU2dDUkNJQU5nSUVJQUFFUUNBQUlBQW9BZ1JCQVdvMkFnUUxDeWNBSUFBRWZ5QUFRZkNHcndOcUlnQW9BZ0FFZjBGL0JTQUFJQUUyQWdCQkFBc0ZRWDhMR2dzckFRSi9Jd1loQWlNR1FSQnFKQVlnQWlBQk5nSUFJQUFvQWdCQkJHb2dBaEREQWlFRElBSWtCaUFEQzdnQkFRTi9JQUVnQVNnQ0JFRUFJQUlnQUNnQ0FDSUVheUlEUVFKMWEwRUNkR29pQlRZQ0JDQURRUUJLQkVBZ0JTQUVJQU1RVEJvTElBQW9BZ1FnQW1zaUEwRUFTZ1JBSUFFb0FnZ2dBaUFERUV3YUlBRWdBU2dDQ0NBRFFRSjJRUUowYWpZQ0NBc2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDMFFCQW44Z0FpZ0NBQ0VESUFFb0FnQWhBZ05BSUFJZ0EwY0VRQ0FBS0FJSUlnUWdBaWdDQURZQ0FDQUFJQVJCQkdvMkFnZ2dBU0FDUVFScUlnSTJBZ0FNQVFzTEMyTUJCSDhnQUNnQ0JDSUZJQU5ySWdaQkFuVWlCMEVDZENBQmFpRUVJQVVoQXdOQUlBUWdBa2tFUUNBRElBUW9BZ0EyQWdBZ0FDQURRUVJxSWdNMkFnUWdCRUVFYWlFRURBRUxDeUFHQkVCQkFDQUhhMEVDZENBRmFpQUJJQVlRNXdFYUN3cy9BUUYvSUFJb0FnQWhBaUFCS0FJQUlRRURRQ0FCSUFKSEJFQWdBQ2dDQkNJRElBRW9BZ0EyQWdBZ0FDQURRUVJxTmdJRUlBRkJCR29oQVF3QkN3c0xOQUVCZnlBQUtBSUVJUUlEUUNBQ1FRQTJBZ0FnQWtFQU5nSUVJQUFnQUNnQ0JFRUlhaUlDTmdJRUlBRkJmMm9pQVEwQUN3czdBUUovSUFBb0FnUWhBUU5BSUFBb0FnZ2lBaUFCUndSQUlBQWdBa0Y0YWpZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1VEFRRUNmeUFBS0FJQUlRTWdBQ2dDQkNFQ0EwQWdBaUFEUndSQUlBRW9BZ1JCZUdvZ0FrRjRhaUlDS1FJQU53SUFJQUVnQVNnQ0JFRjRhallDQkF3QkN3c2dBQ2dDQUNFQ0lBQWdBU2dDQkRZQ0FDQUJJQUkyQWdRZ0FDZ0NCQ0VDSUFBZ0FTZ0NDRFlDQkNBQklBSTJBZ2dnQUNnQ0NDRUNJQUFnQVNnQ0REWUNDQ0FCSUFJMkFnd2dBU0FCS0FJRU5nSUFDNkVCQVFSL0l3WWhBeU1HUVJCcUpBWWdBa0VCU2dSQUlBSkJmbXBCQWhBNUlnSkJBM1FnQUNnQ0FDSUZhaUVBSUFFZ0FTZ0NBRUY0YWlJRU5nSUFJQUFnQkJEQkFRUkFJQU1nQkNrQ0FEY0RBQU5BQWtBZ0JDQUFLUUlBTndJQUlBRWdBRFlDQUNBQ1JRMEFJQUpCZjJwQkFoQTVJZ0pCQTNRZ0JXb2lCaUFERU1FQkJFQWdBQ0VFSUFZaEFBd0NDd3NMSUFBZ0F5a0RBRGNDQUFzTElBTWtCZ3VkQVFFRmZ5TUdJUUlqQmtFZ2FpUUdRZi8vLy84QklBQW9BZ1FnQUNnQ0FHdEJBM1ZCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JySWdWQkFuVWlCaUFHSUFOSkcwSC8vLy8vQVNBRlFRTjFRZi8vLy84QVNSc2dBQ2dDQkNBRWEwRURkU0FBUVFocUVJZ0NJQUlvQWdnZ0FTa0NBRGNDQUNBQ0lBSW9BZ2hCQ0dvMkFnZ2dBQ0FDRU04SElBSVF6Z2NnQWlRR0N3c3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU1FRElBQWdBUkROQndzTGhBVUJDSDhqQmlFSUl3WkJNR29rQmlBSVFRaHFJUVVnQ0VFUWFpSUpJQUFvQW13Z0FDZ0NhR3RCQW5VUTBnZEJmeUVFUVg4aENnTkFJQVlnQ1NnQ0JDQUpLQUlBYTBFRGRVa0VRQ0FBS0FKb0lBWkJBblJxS0FJQVFRUnFJQU1RZ2dJaEJ5QUZJQUFvQW1nZ0JrRUNkR29vQWdBMkFnQWdCU0FITmdJRUlBa29BZ0FnQmtFRGRHb2dCU2tEQURjQ0FDQUdJQW9nQnlBRVNTSUxHeUVLSUFjZ0JDQUxHeUVFSUFaQkFXb2hCZ3dCQ3dzZ0NrRi9SZ1JBSUFWQndNZ0RRZG1KQWhBM1FkSHhBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCKzRrQ0VEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0JTQUFLQUpvSUFwQkFuUnFLQUlBSWdNMkFnQWdBU2dDQkNJRUlBRW9BZ2hKQkVBZ0JDQUROZ0lBSUFFZ0FTZ0NCRUVFYWpZQ0JBVWdBU0FGRU1JQ0N5QUlRU1JxSVFaQkFDRUVBMEFnQ1NnQ0FDSURJUWNnQkNBSktBSUVJQU5yUVFOMVNRUkFJQVFnQ2tjRVFDQUVRUU4wSUFkcUtBSUVJQWtvQWdBZ0NrRURkR29vQWdSR0JFQWdCU0FBS0FKb0lBUkJBblJxS0FJQUlnTTJBZ0FnQVNnQ0JDSUhJQUVvQWdoSkJFQWdCeUFETmdJQUlBRWdBU2dDQkVFRWFqWUNCQVVnQVNBRkVNSUNDd1VnQ1NnQ0FDQUVRUU4wYWlFRElBSW9BZ1FpQnlBQ0tBSUlSZ1JBSUFJZ0F4RFJCeUFDS0FJRUlRTUZJQWNnQXlrQ0FEY0NBQ0FDSUFJb0FnUkJDR29pQXpZQ0JBc2dDQ0FDS0FJQUlnYzJBaUFnQ0NBRE5nSWNJQVlnQ0NnQ0lEWUNBQ0FGSUFnb0FodzJBZ0FnQmlBRklBTWdCMnRCQTNVUTBBY0xDeUFFUVFGcUlRUU1BUXNMSUFrUTB3TWdDQ1FHQzU0REFRaC9Jd1loQkNNR1FUQnFKQVlnQkVFb2FpRUlJQVJCSkdvaENTQUVRUWhxSVFVZ0FTZ0NBQ0FBS0FJQUlnRWlCbXRCQW5WQkFuUWdBV29oQVNBREtBSUFJZ29nQWlnQ0FDSURheUlDUVFKMUlRY2dBa0VBU2dSQUFrQWdCeUFBS0FJSUlBQW9BZ1FpQ3lJQ2EwRUNkVW9FUUVILy8vLy9BeUFISUFJZ0JtdEJBblZxSWdaSkJFQVFBQVVnQlNBR0lBQW9BZ2dnQUNnQ0FDSUNheUlIUVFGMUlnc2dDeUFHU1J0Qi8vLy8vd01nQjBFQ2RVSC8vLy8vQVVrYklBRWdBbXRCQW5VZ0FFRUlhaERJQVNBRUlBTTJBZ1FnQkNBS05nSUFJQWtnQkNnQ0JEWUNBQ0FJSUFRb0FnQTJBZ0FnQlNBSklBZ1F5Z2NnQUNBRklBRVF5UWNnQlJESEFRd0NDd3NnQWlBQmF5SUZRUUoxSWdaQkFuUWdBMm9oQWlBSElBWktCRUFnQkNBQ05nSWdJQVFnQ2pZQ0hDQUpJQVFvQWlBMkFnQWdDQ0FFS0FJY05nSUFJQUFnQ1NBSUVNd0hJQVZCQUV3TkFRVWdDaUVDQ3lBQUlBRWdDeUFIUVFKMElBRnFFTXNISUFFaEFBTkFJQUlnQTBjRVFDQUFJQU1vQWdBMkFnQWdBRUVFYWlFQUlBTkJCR29oQXd3QkN3c0xDeUFFSkFZTGhBTUNCMzhCZmlNR0lRUWpCa0V3YWlRR0lBUkJDR29oQlNBQUtBSUlSUVJBSUFWQndNZ0RRYUtKQWhBM1FkSHhBUkEzUWUraUFoQTNRWlVERUQ1QjlxSUNFRGRCeFlrQ0VEY2lBaUFDS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFR0lBTkJDaUFHUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FDSUFNUVFDQUNFRDhRQUFzZ0JFRWNhaUVHSUFCQkFEWUNaQ0FBSUFBb0FrZzJBa3dnQUVIVUFHb2hCeUFBS0FKWUlRSURRQ0FDSUFjb0FnQWlBMGNFUUNBQ0lBTnJJZ2hCQ0VvRWZ5QUZJQU1wQWdBaUNUY0RBQ0FESUFKQmVHb2lBaWtDQURjQ0FDQUNJQWszQWdBZ0JDQUROZ0lZSUFRZ0FqWUNGQ0FFSUFNMkFoQWdCaUFFS0FJWU5nSUFJQVFnQkNnQ0ZEWUNJQ0FGSUFRb0FoQTJBZ0FnQmlBSVFRTjJRWDlxSUFVUXZ3TWdBQ2dDV0FVZ0Fnc2hBMEVBSVFJRFFDQUNRWDlIQkVBZ0FrRi9haUVDREFFTEN5QUFJQU5CZUdvaUFqWUNXQXdCQ3dzZ0FDQUhJQUFvQWdnZ0FSQzdBaUFBS0FKTUlBQW9Ba2hyR2lBRUpBWUx5QUVCQVg4akJpRU5Jd1pCRUdva0JpQUJJQVVnQ1pPTE9BSUFJQUlnQmlBS2s0czRBZ0FnQkNBSUlBeVRpemdDQUNBRElBY2dDNU9MSWdVZ0FDZ0NQTElnQlpNUS9nRWlCVGdDQUNBRlF3QUFBQUJnQkVBZ0RTUUdCU0FOUWNESUEwSFhpQUlRTjBHemlnSVFOMEh2b2dJUU4wSE5BaEErUWZhaUFoQTNRWUNKQWhBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBTlFZRE9BeEE2SWdFb0FnQW9BaHdoQUNBQlFRb2dBRUUvY1VHS0FXb1JBZ0FoQUNBTkVEd2dBaUFBRUVBZ0FoQS9FQUFMQytvSUFRTi9Jd1loQmlNR1FSQnFKQVlnQVNBRklBQW9BbGdRVHlBQUtBSlVFRThnQUNnQ05CQlBJZ2MyQWdBZ0FpQUZJQWRySUFBb0FsZ1FUeUFBS0FKVUVFOGdBQ2dDTkJBNUlnYzJBZ0FnQXlBRklBRW9BZ0JySUFjZ0FDZ0NOR3hySUFBb0FsZ1FUeUFBS0FKVUVEa2lCellDQUNBRUlBVWdBU2dDQUdzZ0FpZ0NBQ0FBS0FJMGJDQUhJQUFvQWxSc2Ftc2dBQ2dDV0JBNUlnYzJBZ0FnQVNnQ0FDSUZRWDlNQkVBZ0JrSEF5QU5CcVk0Q0VEZEJzNG9DRURkQjc2SUNFRGRCdmdFUVBrSDJvZ0lRTjBIS2pnSVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUVLQUlBS0FJY0lRRWdCRUVLSUFGQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFnZ0FSQkFJQWdRUHhBQUN5QUZJQUFvQWpST0JFQWdCa0hBeUFOQjNJNENFRGRCczRvQ0VEZEI3NklDRURkQnZ3RVFQa0gyb2dJUU4wSEtqZ0lRTnlJRklBVW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlFS0FJQUtBSWNJUUVnQkVFS0lBRkJQM0ZCaWdGcUVRSUFJUUVnQmhBOElBVWdBUkJBSUFVUVB4QUFDeUFDS0FJQUlnUkJmMHdFUUNBR1FjRElBMEdFandJUU4wR3ppZ0lRTjBIdm9nSVFOMEhBQVJBK1FmYWlBaEEzUWFXUEFoQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QUdRWURPQXhBNklnSW9BZ0FvQWh3aEFTQUNRUW9nQVVFL2NVR0tBV29SQWdBaEFTQUdFRHdnQlNBQkVFQWdCUkEvRUFBTElBUWdBQ2dDT0U0RVFDQUdRY0RJQTBHM2p3SVFOMEd6aWdJUU4wSHZvZ0lRTjBIQkFSQStRZmFpQWhBM1FhV1BBaEEzSWdRb0FnQkJkR29vQWdBZ0JHb1FPeUFHUVlET0F4QTZJZ0lvQWdBb0Fod2hBU0FDUVFvZ0FVRS9jVUdLQVdvUkFnQWhBU0FHRUR3Z0JDQUJFRUFnQkJBL0VBQUxJQU1vQWdBaUEwRi9UQVJBSUFaQndNZ0RRZCtQQWhBM1FiT0tBaEEzUWUraUFoQTNRY0lCRUQ1QjlxSUNFRGRCaEpBQ0VEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBWVFQQ0FFSUFFUVFDQUVFRDhRQUFzZ0F5QUFLQUk4VGdSQUlBWkJ3TWdEUVpxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNNQkVENUI5cUlDRURkQmhKQUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCMEYvVEFSQUlBWkJ3TWdEUWNxUUFoQTNRYk9LQWhBM1FlK2lBaEEzUWNRQkVENUI5cUlDRURkQjc1QUNFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVpCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQVlRUENBRElBRVFRQ0FERUQ4UUFBc2dCeUFBUVVCcktBSUFTQVJBSUFZa0JnVWdCa0hBeUFOQmhaRUNFRGRCczRvQ0VEZEI3NklDRURkQnhRRVFQa0gyb2dJUU4wSHZrQUlRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQmtHQXpnTVFPaUlCS0FJQUtBSWNJUUFnQVVFS0lBQkJQM0ZCaWdGcUVRSUFJUUFnQmhBOElBSWdBQkJBSUFJUVB4QUFDd3Z4QWdFTGZ5QUFJQUVRdkFJaUFrRUFTQVIvSUFJRkFuOGdBQ2dDQUFSQUlBQkJCR29oQ0NBQVFRaHFJUVVGSUFBZ0FFRUlhaUlGS0FJQUlBQkJCR29pQ0NnQ0FHd1FSQ0lDTmdJQVFYOGdBa1VOQVJvTEEwQWdCaUFGS0FJQUlnSklCRUJCQUNFQ0EwQWdBaUFJS0FJQUlnbElCRUJCZkNFSFFRQWhDa0VBSVFNRFFDQUhRUVJNQkVBZ0JpQUhhaUlFUVFCT0JFQWdCQ0FGS0FJQVNBUkFBa0FnQkNBSmJDRU1RWHdoQkFOQUlBUkJCRW9OQVNBQ0lBUnFJZ3RCZjBvZ0N5QUpTSEVFUUNBS1FRRnFJUW9nQXlBQklBc2dER3BxTFFBQWFpRURDeUFFUVFGcUlRUU1BQUFMQUFzTEN5QUhRUUZxSVFjTUFRc0xJQU1nQ2hBNVFmOEJjU0VESUFBb0FnQWdBaUFHSUFsc2Ftb2dBem9BQUNBQ1FRRnFJUUlNQVFzTElBWkJBV29oQmd3QkN3dEJBQ0VESUFJaEFRTi9JQU1nQ0NnQ0FDQUJiRWdFZnlBRElBQW9BZ0JxSWdFZ0FTMEFBRUY1YWpvQUFDQURRUUZxSVFNZ0JTZ0NBQ0VCREFFRlFRQUxDd3NMQzd3VEFnOS9BWHdqQmlFT0l3WkJFR29rQmlBRUtBSUFJZ1loRFNBQklBSkJmMm9pRUd4QkFYUWdCbW9oQlFOQUlBY2dBVWdFUUNBRlFRQTdBUUFnRFVFQU93RUFJQTFCQW1vaERTQUZRUUpxSVFVZ0IwRUJhaUVIREFFTEN5QUdJUWNnQVVGL2FpSVJRUUYwSUFacUlRMUJBQ0VGQTBBZ0JTQUNTQVJBSUExQkFEc0JBQ0FIUVFBN0FRQWdBVUVCZENBSGFpRUhJQUZCQVhRZ0RXb2hEU0FGUVFGcUlRVU1BUXNMSUFSQmtJRElBR29oQjBFQUlBRnJJUklnQUNBQlFRRnFJZ0JxSVExQkFTRUxRUUFoQlNBQVFRRjBJQVpxSVFZQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDU0FHSVF3RFFDQUpJQkZJQkVBZ0RTMEFBQ0FEU2dSQUlBeEJBRHNCQUFVQ1FDQVNRUUYwSUF4cUlnOHVBUUFpQlVFQVNnUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCaklEUUFHb2dDellDQUF3QkN5QVBRWDVxTGdFQUlnb2hDQ0FLUVFCS0lRWWdEeTRCQWlJRlFRQk1CRUFnQmdSQUlBd2dDanNCQUNBSVFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKU0FSQUlBVWdDVFlDQUFzZ0JrRUNkQ0FFYWtHTWdOQUFhaUFMTmdJQURBSUxJQXhCZm1vdUFRQWlCVUVBU2dSQUlBd2dCVHNCQUNBRlFRZHNJZ1pCQW5RZ0JHcEI5UC9QQUdvaUJTQUZLQUlBUVFGcU5nSUFJQVpCQW5RZ0JHcEIrUC9QQUdvaUJTQUpJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEIvUC9QQUdvaUJTQUxJQVVvQWdCcU5nSUFJQVpCQW5RZ0JHcEJoSURRQUdvaUJTZ0NBQ0FKVGcwQ0lBVWdDVFlDQUFVZ0FFSC8vd0ZLRFFZZ0RDQUFRUUZxSWdVN0FRQWdCRUdRZ01nQWFpQUFRUUowYWlBRlFSQjBRUkIxTmdJQUlBUkJrSURRQUdvZ0FFRUhiQ0lBUVFKMGFrRUJOZ0lBSUFCQkFuUWdCR3BCbElEUUFHb2dDVFlDQUNBQVFRSjBJQVJxUVppQTBBQnFJQXMyQWdBZ0FFRUNkQ0FFYWtHY2dOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm9JRFFBR29nQ1RZQ0FDQUFRUUowSUFScVFhU0EwQUJxSUFzMkFnQWdBRUVDZENBRWFrR29nTkFBYWlBTE5nSUFJQVVoQUFzTUFRc2dCZ1JBQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBaEJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JTQUdLQUlBUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUF4QmZtb3VBUUFpQmtFQVRBUkFJQXdnQlRzQkFDQUZRUWRzSWdaQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFaQkFuUWdCR3BCK1AvUEFHb2lCU0FKSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCL1AvUEFHb2lCU0FMSUFVb0FnQnFOZ0lBSUFaQkFuUWdCR3BCZ0lEUUFHb2lCU2dDQUNBSlNnUkFJQVVnQ1RZQ0FBc2dCa0VDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMQWtBZ0JVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJRklBWkJBblFnQkdwQmpJRElBR29vQWdBaUNFb0VRQ0FNSUFnN0FRQWdCeUVHUVFBaENnTkFJQW9nQUU0RVFDQUlJUVVNQXdzZ0JpZ0NBQ0FGUmdSQUlBWWdDRFlDQUFzZ0JrRUVhaUVHSUFwQkFXb2hDZ3dBQUFzQUJTQU1JQVU3QVFBZ0JTQUlTQVJBSUFjaEJrRUFJUW9EUUNBS0lBQk9EUU1nQ0NBR0tBSUFSZ1JBSUFZZ0JUWUNBQXNnQmtFRWFpRUdJQXBCQVdvaENnd0FBQXNBQ3dzTElBVkJFSFJCRUhWQkIyd2lCa0VDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdCa0VDZENBRWFrSDQvODhBYWlJRklBa2dCU2dDQUdvMkFnQWdCa0VDZENBRWFrSDgvODhBYWlJRklBc2dCU2dDQUdvMkFnQUxDeUFOUVFGcUlRMGdDVUVCYWlFSklBeEJBbW9oREF3QkN3c2dEVUVDYWlFTklBdEJBV29oQ3lBQUlRVWdERUVFYWlFR0RBRUxDMEVBUVFOQnFLVUJJQTRRUFVGL0RBRUxJQVJCREdvaERVRUJJUUJCQVNFSUEwQWdDQ0FGVEFSQUlBZ2dCeWdDQUNJR1JnUkFJQUJCQVdvaEF3VWdBQ0VESUFaQkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0J5QUFOZ0lBSUFNaEFDQUlRUUZxSVFnZ0IwRUVhaUVIREFFTEN5QUVJQUJCZjJvaUJ6WUNDQ0FIQkg4Z0RVRUFJQWRCQW5RUVJSb2dCRUdRZ0NocVFRQWdCMEVFZEJCRkdrRUFJUU1EUUNBRElBZElCRUFnQkVHTWdBaHFJQU5CQW5RaUFFRUNkR29nQVRZQ0FDQUVRWXlBQ0dvZ0FFRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBRUVDY2tFQ2RHb2dBallDQUNBRVFZeUFDR29nQUVFRGNrRUNkR3BCQURZQ0FDQURRUUZxSVFNTUFRc0xRUUFoQXdOQUlBTWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBMEVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBQ0FFUVpDQTBBQnFJQU5CQjJ3aUIwRUNkR29vQWdBZ0FDZ0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBVUVEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0FVRUJja0VEZEdvaUFDQUFLd01BSUFkQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCbklEUUFHb29BZ0FpQUVvRVFDQUJJQUEyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJQktBSUFJQWRCQW5RZ0JHcEJvSURRQUdvb0FnQWlBRWdFUUNBQklBQTJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlCS0FJQUlBZEJBblFnQkdwQnBJRFFBR29vQWdBaUFFb0VRQ0FCSUFBMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUJLQUlBSUFkQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUJJQUEyQWdBTElBTkJBV29oQXd3QkN3c2dCQ2dDQ0NFQ1FRQWhBd04vSUFNZ0FrZ0VmeUFFUVpDQUtHb2dBMEVCZENJQlFRTjBhaUlBSUFBckF3QWdCRUVNYWlBRFFRSjBhaWdDQUxjaUZLTTVBd0FnQkVHUWdDaHFJQUZCQVhKQkEzUnFJZ0FnQUNzREFDQVVvemtEQUNBRFFRRnFJUU1NQVFWQkFBc0xCVUVBQ3dzaEV5QU9KQVlnRXdzNkFRRi9JQUFvQWdRaEFnTkFJQUpEQUFBQUFEZ0NBQ0FDUXdBQUFBQTRBZ1FnQUNBQUtBSUVRUWhxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNU1CQVFGL1FRZEJCa0VGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoZ2dBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NIQ0FCUVFKMElBQnFLZ0lBWGhzTGZRRUJmMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzTFp3RUJmMEVGUVFSQkEwRUNJQUFxQWdRZ0FDb0NBRjRpQVNBQUtnSUlJQUZCQW5RZ0FHb3FBZ0JlR3lJQklBQXFBZ3dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRUNBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJVUlBRkJBblFnQUdvcUFnQmVHd3RSQVFGL1FRUkJBMEVDSUFBcUFnUWdBQ29DQUY0aUFTQUFLZ0lJSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWd3Z0FVRUNkQ0FBYWlvQ0FGNGJJZ0VnQUNvQ0VDQUJRUUowSUFCcUtnSUFYaHNMT3dFQmYwRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc0w4QUVDQTM4SGZTQUFJQUVRdkFJaUFVRUFUZ1JBUVFFaEFRTkFJQWNnQUVFTWFpQUJRUUowYWlnQ0FDQUJiTE9TSVFjZ0FVRUJhaUlCUVlBQ1J3MEFDeUFBS0FJRUlBQW9BZ2hzc2lFTVFRQWhBUU5BQWtBZ0JpQUFRUXhxSUFOQkFuUnFLQUlBSWdTemtpSUdRd0FBQUFCY0JFQWdEQ0FHa3lJTFF3QUFBQUJiRFFFZ0NTQURJQVJzczVJaUNTQUdsU0FISUFtVElBdVZreUlLSUFZZ0M1UWdDcFNVSWdvZ0NGNGhCU0FEUWY4QmNTSUVJQUVnQlJzaEFTQUtJQWdnQlJzaENBVWdBMEgvQVhFaEJBc2dBMEVCYWlFRElBUkIvd0Z4UWY4QlJ3MEJDd3NnQWlBQk9nQUFRUUFoQVFzZ0FRc2xBUUYvUVFJZ0FDb0NCQ0FBS2dJQVhpSUJJQUFxQWdnZ0FVRUNkQ0FBYWlvQ0FGNGJDNmtCQVFGL1FRaEJCMEVHUVFWQkJFRURRUUlnQUNvQ0JDQUFLZ0lBWGlJQklBQXFBZ2dnQVVFQ2RDQUFhaW9DQUY0YklnRWdBQ29DRENBQlFRSjBJQUJxS2dJQVhoc2lBU0FBS2dJUUlBRkJBblFnQUdvcUFnQmVHeUlCSUFBcUFoUWdBVUVDZENBQWFpb0NBRjRiSWdFZ0FDb0NHQ0FCUVFKMElBQnFLZ0lBWGhzaUFTQUFLZ0ljSUFGQkFuUWdBR29xQWdCZUd5SUJJQUFxQWlBZ0FVRUNkQ0FBYWlvQ0FGNGJDK2tCQVFOL0l3WWhBaU1HUVlBRGFpUUdJQUpCMEFKcUlnTWdBaUFCUVFBUW9RRTRBZ0FnQXlBQ1FTUnFJQUZCQVJDaEFUZ0NCQ0FESUFKQnlBQnFJQUZCQWhDaEFUZ0NDQ0FESUFKQjdBQnFJQUZCQXhDaEFUZ0NEQ0FESUFKQmtBRnFJQUZCQkJDaEFUZ0NFQ0FESUFKQnRBRnFJQUZCQlJDaEFUZ0NGQ0FESUFKQjJBRnFJQUZCQmhDaEFUZ0NHQ0FESUFKQi9BRnFJQUZCQnhDaEFUZ0NIQ0FESUFKQm9BSnFJQUZCQ0JDaEFUZ0NJQ0FERU9JSElnRkJBblFnQTJvcUFnQkRBQUFBQUZzRWYwRUFCU0FBSUFGQkNXeEJBblFnQW1vUXZnSkJBUXNoQkNBQ0pBWWdCQXVvQVFFRWZ5QUFJQUVROWdjaUFVRUFTQVIvSUFFRklBQW9BZ2dnQUNnQ0JHeXlRd0FBQUQrVUVKSUJJUVJCQUNFQkEwQWdBVUVCYWtFWWRFRVlkU0VESUFCQmpBaHFJQUZCL3dGeElnWkJBblJxS0FJQUlnVWdCRWtFUUNBRElRRU1BUXNMQTBBZ0FVRUJha0VZZEVFWWRTRURJQVFnQlVZRVFDQUFRWXdJYWlBRElnRkIvd0Z4UVFKMGFpZ0NBQ0VGREFFTEN5QUNJQVlnQVVIL0FYRnFRUUYyT2dBQVFRQUxDMEFDQVg4QmZTQUFRZndCYWlJQ0lBQkIyQUZxSUFGQi9BRnFFR1VnQWhCYUlnTkRBQUFBQUZzRWYwRUFCU0FDSUFKREFBQ0FQeUFEa1pVUWxBRkJBUXNMclFFQkJYOGpCaUVDSXdaQkVHb2tCaUFBUWRnQmFpSURJQUJCdEFGcUlnVWdBVUhZQVdvaUJCQmxJQUJCL0FGcUlnQWdCU0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQUJCYU9BSUVJQUlxQWdRZ0Fpb0NBRjRpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCQ0FBUVFKMElBUnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUdJQUlrQmlBR0M4SUJBUVovSXdZaEFpTUdRUkJxSkFZZ0FFRzBBV29pQXlBQVFaQUJhaUlFSUFGQnRBRnFJZ1VRWlNBQVFkZ0JhaUlHSUFRZ0FVSFlBV29RWlNBQVFmd0JhaUlBSUFRZ0FVSDhBV29RWlNBQ0lBTVFXamdDQUNBQ0lBWVFXamdDQkNBQ0lBQVFXamdDQ0NBQ0VPRUhJZ0JCQW5RZ0Ftb2lBU29DQUVNQUFBQUFXd1IvUVFBRklBTWdBRUVKYkNJQVFRSjBJQU5xRUl3QklBVWdBRUVDZENBRmFoQ01BU0FESUFOREFBQ0FQeUFCS2dJQWtaVVFsQUZCQVFzaEJ5QUNKQVlnQnd2ZEFRRUhmeU1HSVFJakJrRVFhaVFHSUFCQmtBRnFJZ01nQUVIc0FHb2lCQ0FCUVpBQmFpSUZFR1VnQUVHMEFXb2lCaUFFSUFGQnRBRnFFR1VnQUVIWUFXb2lCeUFFSUFGQjJBRnFFR1VnQUVIOEFXb2lBQ0FFSUFGQi9BRnFFR1VnQWlBREVGbzRBZ0FnQWlBR0VGbzRBZ1FnQWlBSEVGbzRBZ2dnQWlBQUVGbzRBZ3dnQWhEZkJ5SUFRUUowSUFKcUlnRXFBZ0JEQUFBQUFGc0VmMEVBQlNBRElBQkJDV3dpQUVFQ2RDQURhaENNQVNBRklBQkJBblFnQldvUWpBRWdBeUFEUXdBQWdEOGdBU29DQUpHVkVKUUJRUUVMSVFnZ0FpUUdJQWdMK0FFQkNIOGpCaUVDSXdaQklHb2tCaUFBUWV3QWFpSURJQUJCeUFCcUlnUWdBVUhzQUdvaUJSQmxJQUJCa0FGcUlnWWdCQ0FCUVpBQmFoQmxJQUJCdEFGcUlnY2dCQ0FCUWJRQmFoQmxJQUJCMkFGcUlnZ2dCQ0FCUWRnQmFoQmxJQUJCL0FGcUlnQWdCQ0FCUWZ3QmFoQmxJQUlnQXhCYU9BSUFJQUlnQmhCYU9BSUVJQUlnQnhCYU9BSUlJQUlnQ0JCYU9BSU1JQUlnQUJCYU9BSVFJQUlRM2djaUFFRUNkQ0FDYWlJQktnSUFRd0FBQUFCYkJIOUJBQVVnQXlBQVFRbHNJZ0JCQW5RZ0Eyb1FqQUVnQlNBQVFRSjBJQVZxRUl3QklBTWdBME1BQUlBL0lBRXFBZ0NSbFJDVUFVRUJDeUVKSUFJa0JpQUpDNUlDQVFsL0l3WWhBaU1HUVNCcUpBWWdBRUhJQUdvaUF5QUFRU1JxSWdRZ0FVSElBR29pQlJCbElBQkI3QUJxSWdZZ0JDQUJRZXdBYWhCbElBQkJrQUZxSWdjZ0JDQUJRWkFCYWhCbElBQkJ0QUZxSWdnZ0JDQUJRYlFCYWhCbElBQkIyQUZxSWdrZ0JDQUJRZGdCYWhCbElBQkIvQUZxSWdBZ0JDQUJRZndCYWhCbElBSWdBeEJhT0FJQUlBSWdCaEJhT0FJRUlBSWdCeEJhT0FJSUlBSWdDQkJhT0FJTUlBSWdDUkJhT0FJUUlBSWdBQkJhT0FJVUlBSVEzUWNpQUVFQ2RDQUNhaUlCS2dJQVF3QUFBQUJiQkg5QkFBVWdBeUFBUVFsc0lnQkJBblFnQTJvUWpBRWdCU0FBUVFKMElBVnFFSXdCSUFNZ0EwTUFBSUEvSUFFcUFnQ1JsUkNVQVVFQkN5RUtJQUlrQmlBS0M2WUNBUXAvSXdZaEFpTUdRU0JxSkFZZ0FFRWthaUlESUFBZ0FVRWthaUlFRUdVZ0FFSElBR29pQlNBQUlBRkJ5QUJxRUdVZ0FFSHNBR29pQmlBQUlBRkI3QUJxRUdVZ0FFR1FBV29pQnlBQUlBRkJrQUZxRUdVZ0FFRzBBV29pQ0NBQUlBRkJ0QUZxRUdVZ0FFSFlBV29pQ1NBQUlBRkIyQUZxRUdVZ0FFSDhBV29pQ2lBQUlBRkIvQUZxRUdVZ0FpQURFRm80QWdBZ0FpQUZFRm80QWdRZ0FpQUdFRm80QWdnZ0FpQUhFRm80QWd3Z0FpQUlFRm80QWhBZ0FpQUpFRm80QWhRZ0FpQUtFRm80QWhnZ0FoRGNCeUlBUVFKMElBSnFJZ0VxQWdCREFBQUFBRnNFZjBFQUJTQURJQUJCQ1d3aUFFRUNkQ0FEYWhDTUFTQUVJQUJCQW5RZ0JHb1FqQUVnQXlBRFF3QUFnRDhnQVNvQ0FKR1ZFSlFCUVFFTElRc2dBaVFHSUFzTHl3RUJCWDhqQmlFQ0l3WkJJR29rQmlBQ0lBRVFXamdDQUNBQ0lBRkJKR29pQXhCYU9BSUVJQUlnQVVISUFHb1FXamdDQ0NBQ0lBRkI3QUJxRUZvNEFnd2dBaUFCUVpBQmFoQmFPQUlRSUFJZ0FVRzBBV29RV2pnQ0ZDQUNJQUZCMkFGcUVGbzRBaGdnQWlBQlFmd0JhaEJhT0FJY0lBSVEyd2NpQkVFQ2RDQUNhaUlGS2dJQVF3QUFBQUJiQkg5QkFBVWdBU0FFUVFsc1FRSjBJQUZxRUl3QklBQWdBVU1BQUlBL0lBVXFBZ0NSbFJDVUFTQUFRU1JxSUFOQlB4QzRBVUVCQ3lFR0lBSWtCaUFHQzRjQkFRSi9Jd1loQWlNR1FhQUNhaVFHSUFJZ0FSRHNCd1IvSUFJZ0FSRHJCd1IvSUFJZ0FSRHFCd1IvSUFJZ0FSRHBCd1IvSUFJZ0FSRG9Cd1IvSUFJZ0FSRG5Cd1IvSUFJZ0FSRG1Cd1IvSUFJZ0FSRGxCd1IvSUFBZ0FoRGpCd1ZCQUFzRlFRQUxCVUVBQ3dWQkFBc0ZRUUFMQlVFQUN3VkJBQXNGUVFBTElRTWdBaVFHSUFNTE1nQWdBQ0FCSUFVUS9BRWdBRUhJQUdvZ0FpQUdFUHdCSUFCQmtBRnFJQU1nQnhEOEFTQUFRZGdCYWlBRUlBZ1EvQUVMbUFJQkJuMGdBU29DR0NJR0lBVXFBZ0FpQjVRZ0FTb0NBQ0FFbFpJaENpQUhJQUVxQWh3aUNKUWdBU29DQkNBRWxaSWhCeUFHSUFVcUFnUWlDWlFnQVNvQ0RDQUVsWkloQmlBSUlBbVVJQUVxQWhBZ0JKV1NJUWdnQXlvQ0FDQUNsQ0VKSUFNcUFnUWdBcFFoQ3lBQUlBb2dBcFE0QWdBZ0FDQUhJQUtVT0FJRUlBQWdBU29DSUNBRktnSUFsQ0FCS2dJSUlBU1ZraUFLSUFtVWt5QUhJQXVVa3pnQ0NDQUFJQVlnQXBRNEFnd2dBQ0FJSUFLVU9BSVFJQUFnQVNvQ0lDQUZLZ0lFbENBQktnSVVJQVNWa2lBR0lBbVVreUFJSUF1VWt6Z0NGQ0FBSUFFcUFoZ2dBcFFpQkRnQ0dDQUFJQUVxQWh3Z0FwUWlBamdDSENBQUlBRXFBaUFnQkNBREtnSUFsSk1nQWlBREtnSUVsSk00QWlBTFRBRUNmeU1HSVFrakJrR2dBbW9rQmlBSklBRWdBaUFESUFRZ0JTQUdJQWNnQ0JEdUJ5QUFJQWtRN1FjRWZ5QUFFTWNEaTd0RThXamppTFg0NUQ1alJRVkJBQXNoQ2lBSkpBWWdDZ3UyQkFJS2Z3TjlJd1loQnlNR1FSQnFKQVlnQWtFQVRBUkFJQWRCd01nRFFmV1VBaEEzUVpLVkFoQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEJoSllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBFQVRBUkFJQWRCd01nRFFaZVdBaEEzUVpLVkFoQTNRZStpQWhBM1FkTUFFRDVCOXFJQ0VEZEJ0SllDRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQlNnQ0FDZ0NIQ0VHSUFWQkNpQUdRVDl4UVlvQmFoRUNBQ0VGSUFjUVBDQUVJQVVRUUNBRUVEOFFBQXNnQTBGL2FpSUtRUU4wSUFGcUlRc2dDa0VEZENBQmFpRU5JQUpCZjJvaEJVRUFJUVlEUUNBR0lBVklCRUFnQ3lvQ0FDRU9JQTBvQWdRaERDQUdJUUlnQlNFRUEwQURRQUpBSUFKQkEzUWdBV29pQ0NvQ0FDSVBJQTVkUlFSQUlBNGdEMTBOQVNBQ1FRTjBJQUZxS0FJRUlBeE9EUUVMSUFKQkFXb2hBZ3dCQ3dzRFFBSkFJQTRnQkVFRGRDQUJhaUlKS2dJQUloQmRSUVJBSUJBZ0RsME5BU0FNSUFSQkEzUWdBV29vQWdST0RRRUxJQVJCZjJvaEJBd0JDd3NnQWlBRVRBUkFJQWdnRURnQ0FDQUpJQTg0QWdBZ0FrRURkQ0FCYWlJSUtBSUVJUWtnQ0NBRVFRTjBJQUZxSWdnb0FnUTJBZ1FnQ0NBSk5nSUVJQUpCQVdvaEFpQUVRWDlxSVFRTElBSWdCRXdOQUFzZ0JTQUVJQUlnQTBnYklRVWdBaUFHSUFRZ0NrZ2JJUVlNQVFzTElBQWdDeWtDQURjQ0FDQUhKQVlMZ1FFQkFYMGdBQ0FBS2dJQVF3QUFnRDhnQUNvQ0lKVWlBWlE0QWdBZ0FDQUJJQUFxQWdTVU9BSUVJQUFnQVNBQUtnSUlsRGdDQ0NBQUlBRWdBQ29DREpRNEFnd2dBQ0FCSUFBcUFoQ1VPQUlRSUFBZ0FTQUFLZ0lVbERnQ0ZDQUFJQUVnQUNvQ0dKUTRBaGdnQUNBQklBQXFBaHlVT0FJY0lBQkRBQUNBUHpnQ0lBdDVBZ04vQW4wakJpRUVJd1pCRUdva0JpQUVRUWhxSWdWQkJHb2hCaUFGSUFZZ0FDQUJLZ0lBSUFFcUFnUVF2UUlnQkNBRktnSUFJQUlxQWdDVE9BSUFJQVFnQmlvQ0FDQUNLZ0lFa3pnQ0JDQUVLZ0lBSWdjZ0I1UWdCQ29DQkNJSElBZVVraUFEbEVNQUFJQS9raERTQVNFSUlBUWtCaUFJQy9jQkFRMS9Jd1loQWlNR1FUQnFKQVlDZnlBQ1FTQnFJZ01nQUNBQkVLb0JJQUpCR0dvaUJDQUFJQUZCQ0dvaUJ4Q3FBU0FDUVJCcUlnVWdBQ0FCUVJCcUlnWVFxZ0VnQWtFSWFpSUtJQU1ReFFNZ0FpQUVFTVVESUFFZ0J5QUdJQU1nQkNBRkVQMEJCSDlCQXlFSUlBY2hDU0FCSVFzRFFDQUlRUVJJQkVBZ0F5QUFJQVpCQ0dvaUJoQ3FBVUVBSUF0QkNHb2lDeUFKUVFocUlna2dCaUFFSUFVZ0F4RDlBVVVOQXhvZ0F5RU5JQWhCQVdvaENDQUVJUU1nQlNFRUlBMGhCUXdCQ3dzZ0NTQUdJQUVnQkNBRklBb1EvUUVFZnlBR0lBRWdCeUFGSUFvZ0FoRDlBUVZCQUFzRlFRQUxDeUVPSUFJa0JpQU9DOVFCQVE1L0l3WWhDU01HUVlBQmFpUUdJQWxCK0FCcUlRb2dDVUhvQUdvaEN5QUpRVUJySVF3Z0NVRTRhaUVOSUFsQk1Hb2hEaUFKUVNocUlROGdDVUhnQUdvaUVDQUpRZGdBYWlJUklBbEIwQUJxSWhJZ0NVSElBR29pRXlBSlFmd0FhaUlVSUFsQjhBQnFJaFVnQVNBQ0lBTWdCQkRFQXdSL0lBd2dEU0FPSUE4Z0NpQUxJQVVnQmlBSElBZ1F4QU1FZnlBSklCQWdFU0FTSUJNZ0RDQU5JQTRnRHhEd0J3Ui9JQUFnQ1NBVUtnSUFJQlVnQ2lvQ0FDQUxFTzhIUVFFRlFRQUxCVUVBQ3dWQkFBc2hGaUFKSkFZZ0ZndFBBUUYvSUFBZ0FSQzhBaUlCUVFCT0JFQkJBQ0VCQTM4Z0FFR01DR29nQVVFQ2RHb2dBaUFBUVF4cUlBRkJBblJxS0FJQWFpSUNOZ0lBSUFGQkFXb2lBVUdBQWtjTkFFRUFDeUVCQ3lBQkM1a0JBUUYvSUFBZ0FTQUNFSVVCUXdBQUFBQmVJUWdnQkNBRklBWVFoUUZEQUFBQUFGNGdDSE1FZjBFQUJTQUJJQUlnQXhDRkFVTUFBQUFBWGlBRklBWWdCeENGQVVNQUFBQUFYbk1FZjBFQUJTQUNJQU1nQUJDRkFVTUFBQUFBWGlBR0lBY2dCQkNGQVVNQUFBQUFYbk1FZjBFQUJTQURJQUFnQVJDRkFVTUFBQUFBWGlBSElBUWdCUkNGQVVNQUFBQUFYbk5CQVhNTEN3c0xrQWtDQ244QmZTTUdJUkVqQmtFUWFpUUdJQkZCQ0dvaER5QUZLQUlFSUFVb0FnQnJRUUoxSUFsQkNXeEpCRUFnRDBIQXlBTkIwNFFDRURkQmpZVUNFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdVaGdJUU55SU1JQXdvQWdCQmRHb29BZ0JxRURzZ0QwR0F6Z01RT2lJTktBSUFLQUljSVE0Z0RVRUtJQTVCUDNGQmlnRnFFUUlBSVEwZ0R4QThJQXdnRFJCQUlBd1FQeEFBQ3lBR0tBSUVJQVlvQWdBaURHdEJBblVnQTBrRVFDQVBRY0RJQTBIR2hnSVFOMEdOaFFJUU4wSHZvZ0lRTjBINEFCQStRZmFpQWhBM1FmaUdBaEEzSWdZZ0JpZ0NBRUYwYWlnQ0FHb1FPeUFQUVlET0F4QTZJZzBvQWdBb0Fod2hEaUFOUVFvZ0RrRS9jVUdLQVdvUkFnQWhEU0FQRUR3Z0JpQU5FRUFnQmhBL0VBQUxJQWNvQWdRZ0J5Z0NBR3RCQTNVZ0NVa0VRQ0FQUWNESUEwR2lod0lRTjBHTmhRSVFOMEh2b2dJUU4wSDVBQkErUWZhaUFoQTNRZUNIQWhBM0lnWWdCaWdDQUVGMGFpZ0NBR29RT3lBUFFZRE9BeEE2SWcwb0FnQW9BaHdoRGlBTlFRb2dEa0UvY1VHS0FXb1JBZ0FoRFNBUEVEd2dCaUFORUVBZ0JoQS9FQUFMSUFOQkJFZ0VmMEVBQlNBUlFkSUpOZ0lBSUFnUWFTRUlJQXNnQXhDRkFpRU5JQXdnQXhEY0F5QU1JQU1nQXlBUkVNRUNRUUFoQmdOQUlCQWdDa2dnQmlBSlNIRUVRQ0FNSUFOQkJDQVJFTUVDSUF3b0FnQkJBWFFpQzBFQ2RDQUJhaUFNS0FJRVFRRjBJZzVCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVNRUUowSUFGcUlBd29BZ3hCQVhRaUUwRUNkQ0FCYWlBTFFRSjBJQUpxSUE1QkFuUWdBbW9nRWtFQ2RDQUNhaUFUUVFKMElBSnFFUGNIQkVBZ0JTZ0NBQ0FHUVFsc0lndEJBblJxSUF3b0FnQkJBWFFpRGtFQ2RDQUJhaUFNS0FJRVFRRjBJaEpCQW5RZ0FXb2dEQ2dDQ0VFQmRDSVRRUUowSUFGcUlBd29BZ3hCQVhRaUZFRUNkQ0FCYWlBT1FRSjBJQUpxSUJKQkFuUWdBbW9nRTBFQ2RDQUNhaUFVUVFKMElBSnFFUFVIQkVBZ0JTZ0NBQ0FMUVFKMGFpQUVFUFFIQkVBZ0JrRUJhaUVHQ3dzTElCQkJBV29oRUF3QkN3dERBQUNBUHlBSWxTRUlJQVlFZnlBSEtBSUFJUVJCQUNFTEEwQWdDeUFHU0FSQUlBdEJBM1FnQkdwREFBQUFBRGdDQUNBTFFRTjBJQVJxSUFzMkFnUWdDMEVCYWlFTERBRUxDMEVBSVFzZ0JpRUtBMEFnQ3lBRFNDQUtRUUpLY1FSQUlBMGdBeUFMYXhDRkFpQUxhaUVHUVFBaEVDQUhLQUlBSVFRRFFDQUtJQkJIQkVBZ0JTZ0NBQ0FRUVFOMElBUnFLQUlFUVFsc1FRSjBhaUVPSUFzaENRTkFJQWtnQmtnRVFDQU9JQWxCQW5RZ0RHb29BZ0JCQVhRaUJFRUNkQ0FCYWlBRVFRSjBJQUpxSUFnUTh3Y2hGaUFIS0FJQUlnUWdFRUVEZEdvaUVpQVdJQklxQWdDU09BSUFJQWxCQVdvaENRd0JDd3NnRUVFQmFpRVFEQUVMQ3lBUElBUWdDaUFLUVFJUU9TQUtRUUZ4UVg5cWFoRHhCeUFHSVFzZ0NrRUJkU0VLREFFTEMwRUJJUU1nQnlnQ0FDSUNLZ0lBSVFnZ0FpZ0NCQ0VCQTBBZ0F5QUtTQVJBSUFOQkEzUWdBbW9xQWdBaUZpQUlYUVJBSUJZaENDQURRUU4wSUFKcUtBSUVJUUVMSUFOQkFXb2hBd3dCQ3dzZ0FDQUZLQUlBSUFGQkNXeEJBblJxRUw0Q0lBQVE4Z2RCQVFWQkFBc0xJUlVnRVNRR0lCVUxaUUJCQVVGL0lBQWdBU0FDRUlVQlF3QUFBQUJlRzBFQlFYOGdBU0FDSUFNUWhRRkRBQUFBQUY0YmFrRUJRWDhnQWlBRElBQVFoUUZEQUFBQUFGNGJha0VCUVg4Z0F5QUFJQUVRaFFGREFBQUFBRjRiYWlJQVFRQWdBR3NnQUVGL1NodEJCRVlMamdFQ0JIOEdmU01HSVFRakJrRXdhaVFHSUFSQklHb2lCU0FCSUFBUTN3RWdCRUVZYWlJR0lBSWdBQkRmQVNBRVFSQnFJZ2NnQXlBQUVOOEJJQVJCQ0dvaUFDQUJJQUlRM3dFZ0JDQURJQUlRM3dFZ0JTQUdFUDhCQW4wZ0JpQUhFUDhCSVF3Z0JTQUhFUDhCSVFvZ0FDQUVFUDhCSVFzZ0RBc1EvZ0VnQ2hEK0FTQUxFUDRCSVEwZ0JDUUdJQTBMNmdFQ0NYOEJmU01HSVFNakJrSGdBR29rQmlBRFFkZ0FhaUVFSUFOQjBBQnFJUVVnQTBISUFHb2hCaUFEUVVCcklRY2dBMEU0YWlFSUlBTkJNR29oQ1NBRFFTaHFJUW9nQXlBQVE2ekZKemNReUFNRWZ5QUlJQUd5SWd3NEFnQWdDRU1BQUFBQU9BSUVJQWtnRERnQ0FDQUpJQUt5SWd3NEFnUWdDa01BQUFBQU9BSUFJQW9nRERnQ0JDQUVJQU5CbE1RREVLb0JJQVVnQXlBSUVLb0JJQVlnQXlBSkVLb0JJQWNnQXlBS0VLb0JJQVFnQlNBR0lBY1ErZ2NnQVNBQ2JMZEVMVU1jNitJMkdqK2l0bDBFZjBFQUJTQUVJQVVnQmlBSEVQa0hDd1ZCQUFzaEN5QURKQVlnQ3dzNkFRRi9JQUJCREdvaUJpQUVFSWNCSUFFZ0FpQURJQVFnQlNBQUlBWWdBRUVZYWlBQUtnSWtJQUFvQWlnZ0FDZ0NMQ0FBS0FJd0VQZ0hDOG9HQWcxL0FYMGpCaUVJSXdaQlFHc2tCaUFJUVNocUlRUWdDRUUwYWlFTUlBaEJNR29oRFNBQUlBQW9BZ0EyQWdRZ0FSQnhCRUFnQWhCeEJFQkRBQUFnUVJCcElSRWdDQ0FEUXdBQUFBQVF5QU5GQkVBZ0JFSEF5QU5CNG9FQ0VEZEIrNEVDRURkQjc2SUNFRGRCeEFFUVBrSDJvZ0lRTjBINmdnSVFOeUlESUFNb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSUZLQUlBS0FJY0lRWWdCVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRVWdCQkE4SUFNZ0JSQkFJQU1RUHhBQUN5QUFJQUVRY1JDQUFnSkFBa0FEUUNBSklBRVFjVWtFUUNBQklBa1F4QUVoRHlBTUlBMGdDQ0FCSUFrUXd3RWlEaW9DQUNBT0tnSUVFTDBDUVFBaEJrRi9JUVZCZnlFS1FmLy8vLzhISVFNRFFDQUdJQUlRY1VrRVFDQUNJQVlRd3dFaEJ5QU9MQUFRSUFjc0FCQkdCRUFnRENvQ0FDQUhLZ0lBa3hCcElBMHFBZ0FnQnlvQ0JKTVFhWklnRVY1RkJFQWdEeUFDSUFZUXhBRVEyd01pQnlBRlNTRUxJQVVnQnlBS0lBY2dDa2tiSUFzYklRb2dCaUFESUFzYklRTWdCeUFGSUFzYklRVUxDeUFHUVFGcUlRWU1BUXNMSUFWQmYwY0VRQUpBSUFOQmYwWU5CQ0FLUVg5R0JFQWdCQ0FKSUFNUXdnRWdBQ2dDQkNJRElBQW9BZ2hKQkVBZ0F5QUVLUU1BTndJQUlBQWdBQ2dDQkVFSWFqWUNCQVVnQUNBRUVKWUJDd3dCQ3lBRnN5QUtzNVVnQUNvQ0RGMEVRQ0FFSUFrZ0F4RENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMQ3dzTElBbEJBV29oQ1F3QkN3c01BUXNnQkVIQXlBTkJtNE1DRURkQis0RUNFRGRCNzZJQ0VEZEI4UUVRUGtIMm9nSVFOMEhqZ3dJUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJREtBSUFLQUljSVFVZ0EwRUtJQVZCUDNGQmlnRnFFUUlBSVFNZ0JCQThJQUlnQXhCQUlBSVFQeEFBQ3lBQUtBSUVJQUFvQWdCclFRTjFJQUVRY1VzRVFDQUVRY0RJQTBIMWd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHQUFoQStRZmFpQWhBM1FiR0VBaEEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FFRUR3Z0FDQUJFRUFnQUJBL0VBQUZJQUFvQWdRZ0FDZ0NBR3RCQTNVaEVBc0xDeUFJSkFZZ0VBdjhBd0VNZnlNR0lRNGpCa0VRYWlRR0lBNGhCQ0FBSUFBb0FnQTJBZ1FnQVJCeEJFQWdBaEJ4QkVBZ0FDQUJFSEVRZ0FJRFFDQUZJQUVRY1VrRVFDQUJJQVVReEFFaERDQUJJQVVRd3dFaERVRUFJUWRCZnlFR1FmLy8vLzhISVFoQmZ5RURBMEFnQnlBQ0VIRkpCRUFnRFN3QUVDQUNJQWNRd3dFc0FCQkdCRUFnQnlBSUlBd2dBaUFIRU1RQkVJSUNJZ29nQmtraUN4c2hDQ0FHSUFvZ0F5QUtJQU5KR3lBTEd5RURJQW9nQmlBTEd5RUdDeUFIUVFGcUlRY01BUXNMSUFaQmYwY0VRQUpBSUFOQmYwWUVRQ0FFSUFVZ0NCRENBU0FBS0FJRUlnTWdBQ2dDQ0VrRVFDQURJQVFwQXdBM0FnQWdBQ0FBS0FJRVFRaHFOZ0lFQlNBQUlBUVFsZ0VMREFFTElBYXpJQU96bFNBQUtnSU1YUVJBSUFRZ0JTQUlFTUlCSUFBb0FnUWlBeUFBS0FJSVNRUkFJQU1nQkNrREFEY0NBQ0FBSUFBb0FnUkJDR28yQWdRRklBQWdCQkNXQVFzTEN3c2dCVUVCYWlFRkRBRUxDeUFBS0FJRUlBQW9BZ0JyUVFOMUlBRVFjVXNFUUNBRVFjRElBMEgxZ3dJUU4wSDdnUUlRTjBIdm9nSVFOMEh3QUJBK1FmYWlBaEEzUWJHRUFoQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnRW9BZ0FvQWh3aEFDQUJRUW9nQUVFL2NVR0tBV29SQWdBaEFDQUVFRHdnQWlBQUVFQWdBaEEvRUFBRklBQW9BZ1FnQUNnQ0FHdEJBM1VoQ1FzTEN5QUVKQVlnQ1F1cEJRRUxmeU1HSVFRakJrRVFhaVFHSUFBZ0FDZ0NBRFlDQkNBQkVIRUVRQ0FDRUhFRVFDQUFJQUVRY1JDQUFnSkFBa0FEUUNBR0lBRVFjVWtFUUNBRElBRWdCaERFQVNJTUVOVUhJQUVnQmhEREFTRU5JQU5CeUFCcUlRcEJBQ0VIUVg4aEJVRi9JUWhCLy8vLy93Y2hDd05BSUFjZ0NpZ0NCQ0FLS0FJQUlnbHJRUUoxU1FSQUlBMHNBQkFnQWlBSFFRSjBJQWxxS0FJQUVNTUJMQUFRUmdSQUlBd2dBaUFLS0FJQUlBZEJBblJxS0FJQUVNUUJFSUlDSWdrZ0JVa0VmeUFGSVFnZ0NpZ0NBQ0FIUVFKMGFpZ0NBQ0VMSUFrRklBa2dDQ0FKSUFoSkd5RUlJQVVMSVFVTElBZEJBV29oQnd3QkN3c2dCVUYvUndSQUFrQWdDMEYvUmcwRUlBaEJmMFlFUUNBRUlBWWdDeERDQVNBQUtBSUVJZ1VnQUNnQ0NFa0VRQ0FGSUFRcEF3QTNBZ0FnQUNBQUtBSUVRUWhxTmdJRUJTQUFJQVFRbGdFTERBRUxJQVd6SUFpemxTQUFLZ0lNWFFSQUlBUWdCaUFMRU1JQklBQW9BZ1FpQlNBQUtBSUlTUVJBSUFVZ0JDa0RBRGNDQUNBQUlBQW9BZ1JCQ0dvMkFnUUZJQUFnQkJDV0FRc0xDd3NnQmtFQmFpRUdEQUVMQ3d3QkN5QUVRY0RJQTBHYmd3SVFOMEg3Z1FJUU4wSHZvZ0lRTjBHZ0FSQStRZmFpQWhBM1FlT0RBaEEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUFvQWdRZ0FDZ0NBR3RCQTNVZ0FSQnhTd1JBSUFSQndNZ0RRZldEQWhBM1FmdUJBaEEzUWUraUFoQTNRYThCRUQ1QjlxSUNFRGRCc1lRQ0VEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUFVZ0FDZ0NCQ0FBS0FJQWEwRURkU0VPQ3dzTElBUWtCaUFPQzVzR0FROS9Jd1loQlNNR1FaQUJhaVFHSUFWQjZBQnFJUUlnQlVISUFHb2hBeUFGUVNocUlRUWdBQ0FBUVF4cUlnMG9BZ0EyQWhBZ0FFRi9OZ0lZSUFFUWhnRkJFR29oQ1NBQVFmd0VhaUVJSUFCQmpBVnFJUXdnQUVHVUJtb2hEaUFBUVJ4cUlROGdBRUhRQUdvaEN3TkFJQXNvQWdBaUN3UkFJQUpCbm9BQ0VIa2dBQ3dBQ0VVaEVDQUJFSVlCSVFjZ0MwRU1haUlHS0FJQUVJWUJJUW9DUUFKQUlCQUVRQ0FJSUFjZ0NoRCtCeUFBS0FJQVR3MEJCU0FJSUFjZ0NpQUxLQUlNUVNScUVQOEhJQUFvQWdCUERRRUxJQUlRYXd3QkN5QUNFR3NnQmlnQ0FCQ0dBUkNCQWlFSElBSkJyNEFDRUhrZ0RDQUpJQWNnQ0NBQktBSUFJQUVvQWdRZ0JpZ0NBQ2dDQUNBR0tBSUFLQUlFRU13RElncEJBRWdFUUNBQ0VHc01BUXNnQWhCcklBSkJBRFlDQUNBQ1FRQTJBZ1FnQWtFQU5nSUlJQVZCd0lBQ0VIa2dBaUFNSUFnZ0NoRExBeUFGRUdzZ0EwSFhnQUlRZVFKQUlBVWdDU0FISUFJZ0RpQUdLQUlBS0FJQUlBWW9BZ0FvQWdRUXlnTkZCRUFnQXhCckRBRUxJQU1RYXlBRFFRQTJBZ0FnQTBFQU5nSUVJQU5CQURZQ0NDQUVRZStBQWhCNUlBTWdCU0FKSUFjZ0FpQUFLZ0lFRU1rREFrQWdBeWdDQkNBREtBSUFhMEVEZFNBQUtBSUFTUVJBSUFRUWF3d0JDeUFFRUdzZ0JFR0FnUUlRZVNBSUlBRVFoZ0VnQmlnQ0FCQ0dBU0FGRVAwSElBQW9BZ0JKQkVBZ0JCQnJEQUVMSUFRUWF5QUVRWkdCQWhCNUlBd2dDU0FISUFnZ0FTZ0NBQ0FCS0FJRUlBWW9BZ0FvQWdBZ0JpZ0NBQ2dDQkJETUF5SUtRUUJJQkVBZ0JCQnJEQUVMSUFRUWF5QUVRYUtCQWhCNUlBSWdEQ0FJSUFvUXl3TWdCQkJySUFSQnVZRUNFSGtnQlNBSklBY2dBaUFPSUFZb0FnQW9BZ0FnQmlnQ0FDZ0NCQkRLQTBVRVFDQUVFR3NNQVFzZ0JCQnJJQU1nQXlnQ0FEWUNCQ0FFUWRHQkFoQjVJQU1nQlNBSklBY2dBaUFBS2dJRUVNa0RJQVFRYXlBREtBSUVJQU1vQWdCclFRTjFJZ1lnQUNnQ0FFOEVRQ0FHSUFBb0FoQWdEU2dDQUd0QkEzVkxCRUFnRHlBRkVMNENJQTBnQXhDSkFpQUFJQXNvQWdnMkFoZ0xDd3NnQXhCVkN5QUNFRlVMREFFTEN5QUFLQUlZR2lBRkpBWUwzQUlCQjM4akJpRUNJd1pCUUdza0JpQUNRUkJxSVFNZ0FrRTRhaUVFQWtBQ1FDQUFRYUFCYWlJR0tBSUFJQUVRZENnQ0FDZ0NCRWNOQUNBR0tBSUVJQUVRZENnQ0FDZ0NDRWNOQUF3QkN5QUdJQUVRK3dnTFFaUUJFRkVpQlJEbkF5QUNRUUEyQWpBZ0F5QUNLQUl3TmdJQUlBUWdCUkRtQXlBRUtBSUFJUWNnQkNBQVFVQnJJZ1VvQWdBMkFnQWdCU0FITmdJQUlBUW9BZ1FoQnlBRUlBQW9Ba1EyQWdRZ0FDQUhOZ0pFSUFRUWxRRWdCU2dDQUNBQkVIUW9BZ0FvQWdRUTVRTWdCU2dDQUNBQkVIUW9BZ0FvQWdnUTVBTWdBMEdJOFFFUWVTQUZLQUlBSUFFZ0JpQUFRYndDYWhDdENDQURFR3NDZnhEakF5RUlJQU1RdXdNZ0F5Z0NBQ0FESUFNc0FBdEJBRWdiSVFRZ0JTZ0NBQkNHQVJCeElRWWdBa0h3b3dJMkFnQWdBaUFFTmdJRUlBSkIvUDBCTmdJSUlBSWdCallDRENBSUMwSFEvUUVnQWhDM0F5QURFRWNnQUNBRktBSUFFSUFJSUFJa0JndVFBUUVEZnlNR0lRTWpCa0VnYWlRR0FrQUNRQ0FBUWR3QWFpSUNFSFFpQkNnQ0JDQUVLQUlBUmcwQUlBSVFkQ2dDQUNnQ0JDQUJLQUlFUncwQUlBSVFkQ2dDQUNnQ0NDQUJLQUlJUncwQURBRUxJQUVvQWdRZ0FTZ0NDQkN1Q0NFRUlBSWdBU2dDQkNBQktBSUlJQVFRMEFnTElBTkIrdkFCRUhrZ0FpQUJFTWdJSUFNUWF5QUFJQUlRZ1FnZ0F5UUdDeVVCQVg5QmtCQVFSQ0lDQkVBZ0FrRUFOZ0lBSUFJZ0FEWUNCQ0FDSUFFMkFnZ0xJQUlMTkFFQmZ5TUdJUVFqQmtFZ2FpUUdJQVFnQVVFQklBSWdBeUFDRUxnRElBQW9BZ0FvQWdBZ0JCQ0NDQ0FFRU4wQklBUWtCZ3NyQVFGL0lBQW9BZ2doQWdOQUlBSVExQU1nQUNBQUtBSUlRUlJxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDNmdCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVJRUU9TQUJTUVJBUWN5WnMrWUFJQU1nQUNnQ0FHdEJGQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFVUVEa2lCVUVCZENJR0lBWWdBMGtiUWN5WnMrWUFJQVZCNXN5Wk0wa2JJQUFvQWdRZ0JHdEJGQkE1SUFCQkNHb1ErZ01nQWlBQkVJVUlJQUFnQWhENUF5QUNFUGdEQ3dVZ0FDQUJFTlVEQ3lBQ0pBWUxVZ0VDZnlBQUtBSUFJZ0lFUUNBQUtBSUVJUUVEUUNBQklBSkhCRUFnQVVGc2FpRUJEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNElBQkJBRFlDQ0NBQVFRQTJBZ1FnQUVFQU5nSUFDd3N0QVFGL0lBQW9BZ2doQWdOQUlBSkJBRG9BQUNBQUlBQW9BZ2hCQVdvaUFqWUNDQ0FCUVg5cUlnRU5BQXNMTFFFQmZ5QUFLQUlFSVFJRFFDQUNRUUE2QUFBZ0FDQUFLQUlFUVFGcUlnSTJBZ1FnQVVGL2FpSUJEUUFMQzVrQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOcklBRkpCRUJCLy8vLy93Y2dBU0FESUFBb0FnQnJhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJHc2lCVUVCZENJR0lBWWdBMGtiUWYvLy8vOEhJQVZCLy8vLy93TkpHeUFBS0FJRUlBUnJJQUJCQ0dvUTJBSWdBaUFCRUlnSUlBQWdBaERYQWlBQ0VOWUNDd1VnQUNBQkVJa0lDeUFDSkFZTEx3RUJmMEgvLy8vL0J5QUJTUVJBRUFBRklBQWdBUkJSSWdJMkFnUWdBQ0FDTmdJQUlBQWdBU0FDYWpZQ0NBc0xYUUVCZjBIVnF0V3FBU0FCU1FSQUVBQUxJQUZCMWFyVnFnRkxCRUJCQ0JBRklnQVFpQUVnQUVHMGl3RTJBZ0FnQUVINDl3QkJGaEFFQlNBQUlBRkJER3dRVVNJQ05nSUVJQUFnQWpZQ0FDQUFJQUZCREd3Z0FtbzJBZ2dMQytjQkFRZC9JQUlnQVd0QkRCQTVJUU1nQUNnQ0FDSUVJUWNnQXlBQUtBSUlJQVJyUVF3UU9Vc0VRQ0FBRU04RFFkV3ExYW9CSUFOSkJFQVFBQVVnQUNBRElBQW9BZ2dnQUNnQ0FHdEJEQkE1SWdSQkFYUWlCU0FGSUFOSkcwSFZxdFdxQVNBRVFhclZxdFVBU1JzUWpBZ2dBQ0FCSUFJZ0F4RFFBd3NGSUFNZ0FDZ0NCQ0FFYTBFTUVEa2lCa3NoQlNBR1FReHNJQUZxSUFJZ0JSc2lDQ0FCYXlJR1FRd1FPU0VKSUFZRVFDQUVJQUVnQmhEbkFSb0xJQVVFUUNBQUlBZ2dBaUFESUFBb0FnUWdBQ2dDQUd0QkRCQTVheERRQXdVZ0FDQUpRUXhzSUFkcU5nSUVDd3NMeUFFQkFuOGpCaUVFSXdaQkVHb2tCaUFFUVFScUlRTWdCQ0FDTmdJQUlBQkJ5QUJxSWdJZ0JCRG9Bd1JBUVJBUUJTRUFJQU5DQURjQ0FDQURRUUEyQWdnZ0EwSG84QUZCNlBBQkVHQVFmaUFBSUFNUWhnSWdBRUdJOGdCQkJSQUVDeUFDSUFRUXF3Z2hBQ0FESUFFb0FnQWlBallDQUNBRElBRW9BZ1FpQVRZQ0JDQUJCSDhnQVNBQktBSUVRUUZxTmdJRUlBTW9BZ1FGUVFBTElRRWdBeUFBS0FJQU5nSUFJQUFnQWpZQ0FDQURJQUFvQWdRMkFnUWdBQ0FCTmdJRUlBTVFsUUVnQkNRR0M4TUJBUVYvSUFBb0FnQWlBeUVGSUFJZ0FXc2lCQ0FBS0FJSUlBTnJTd1JBSUFBUXp3TkIvLy8vL3djZ0JFa0VRQkFBQlNBQUlBUWdBQ2dDQ0NBQUtBSUFheUlEUVFGMElnVWdCU0FFU1J0Qi8vLy8vd2NnQTBILy8vLy9BMGtiRUlzSUlBQWdBU0FDSUFRUXpnTUxCU0FFSUFBb0FnUWdBMnNpQmtzaEF5QUJJQVpxSUFJZ0F4c2lCeUFCYXlJR0JFQWdCU0FCSUFZUTV3RWFDeUFEQkVBZ0FDQUhJQUlnQUNnQ0FDQUVJQUFvQWdScmFoRE9Bd1VnQUNBRklBWnFOZ0lFQ3dzTE5nRUNmeUFBS0FJRUlBQW9BZ0FpQTJzaUFpQUJTUVJBSUFBZ0FTQUNheENLQ0FVZ0FpQUJTd1JBSUFBZ0FTQURhallDQkFzTEM0a0NBUWgvSUFJZ0FXdEJGQkE1SVFNZ0FDZ0NBQ0lFSVFjZ0F5QUFLQUlJSUFSclFSUVFPVXNFUUNBQUVJY0lRY3lacytZQUlBTkpCRUFRQUFVZ0FDQURJQUFvQWdnZ0FDZ0NBR3RCRkJBNUlnUkJBWFFpQlNBRklBTkpHMEhNbWJQbUFDQUVRZWJNbVROSkd4RFdBeUFBSUFFZ0FpQURFTTBEQ3dVQ1FDQURJQUFvQWdRZ0JHdEJGQkE1SWdaTElRVWdCa0VVYkNBQmFpQUNJQVViSWdnZ0FXc2lCa0VVRURraENpQUdCRUFnQkNBQklBWVE1d0VhQ3lBRkJFQWdBQ0FJSUFJZ0F5QUFLQUlFSUFBb0FnQnJRUlFRT1dzUXpRTU1BUXNnQ2tFVWJDQUhhaUVDSUFBb0FnUWhBUU5BSUFFZ0FrY0VRQ0FCUVd4cUlRRU1BUXNMSUFBZ0FqWUNCQXNMQzlrQ0FRVi9Jd1loQnlNR1FTQnFKQVlnQjBFTWFpSUlJQVkyQWdCQmxBRVFVU0lKRU9jRElBZEJBRFlDQ0NBSFFSaHFJZ29nQnlnQ0NEWUNBQ0FIUVJCcUlnWWdDUkRtQXlBR0tBSUFJQVFRNVFNZ0JpZ0NBQ0FGRU9RRElBWW9BZ0FRaGdFUTBnTWdCaWdDQUJDR0FSQ0JBaUFCS0FJRUlBRW9BZ0JyUVJRUU9SRFJBeUFHS0FJQUVJWUJFSUVDSWdRZ0FVY0VRQ0FFSUFFb0FnQWdBU2dDQkJDUkNBc2dCaWdDQUJDR0FSQjBJQUlvQWdRZ0FpZ0NBR3NRa0FnZ0JpZ0NBQkNHQVJCMElnRWdBa2NFUUNBQklBSW9BZ0FnQWlnQ0JCQ1BDQXNnQmlnQ0FCQ3NDQUovSUFBb0FnQW9BZ0FoQ3lBSElBWW9BZ0EyQWdBZ0J5QUdLQUlFSWdFMkFnUWdBUVJBSUFFZ0FTZ0NCRUVCYWpZQ0JBc2dDd3NnQnlBSUtBSUFFSTRJSUFjUWxRRWdBQ2dDQUVFRWFpQUlFTU1DSWdBZ0EwY0VRQ0FBSUFNb0FnQWdBeWdDQkJDTkNBc2dCaENWQVNBSEpBWUxQd0FnQUNBQk5nSUFJQUJCQkdvaUFFSUFOd0lBSUFCQ0FEY0NDQ0FBUWdBM0FoQWdBRUlBTndJWUlBQkNBRGNDSUNBQVFnQTNBaWdnQUVJQU53SXdDMXdCQVg4Z0FFSFNDVFlDQUNBQVFRQTJBZ1FnQUVFQU5nSUlJQUJCREdvaUFTQUFFSk1JSUFCQkFEWUNaQ0FBUVFBMkFtZ2dBRUlBTndKSUlBQkNBRGNDVUNBQVFnQTNBbGdnQUVFUU5nSnNJQUVRMkFNZ0FVRUJFTmNEQ3hRQUlBQkJER3BCQUNBQktBSUVRYlg4QVVZYkN4VUFJQUFvQWd3aUFBUkFJQUFRbXdnZ0FCQTRDd3NlQUNBQVFUQnFFRlVnQUVFa2FoQlZJQUJCR0dvUVZTQUFRUXhxRUZVTE9RRUJmeUFBUWRRQWFoRFRBeUFBUWNnQWFoQlZJQUJCREdvUWx3Z2dBQ2dDQ0NFQklBQkJBRFlDQ0NBQkJFQWdBUkRFQWlBQkVEZ0xDOFlEQWdOL0FYd2pCaUVESXdaQndBRnFKQVlnQXlBQlFhZ0Jha0VFSUFFb0FneEJBRWdFZnlBQlFSUnFCU0FCS0FJSVFRQklCSDhnQVVFWWFnVWdBVUVRYWdzTEtBSUFJZ1JyUVFRUVR5SUZRUVIwYWlzREFEa0RZQ0FESUFFZ0JVRUVkR29yQTdBQk9RTm9JQU1nQVVHb0FXcEJCU0FFYTBFRUVFOGlCVUVFZEdvckF3QTVBM0FnQXlBQklBVkJCSFJxS3dPd0FUa0RlQ0FESUFGQnFBRnFRUVlnQkd0QkJCQlBJZ1ZCQkhScUt3TUFPUU9BQVNBRElBRWdCVUVFZEdvckE3QUJPUU9JQVNBRElBRkJxQUZxUVFjZ0JHdEJCQkJQSWdSQkJIUnFLd01BT1FPUUFTQURJQUVnQkVFRWRHb3JBN0FCT1FPWUFTQURJQUpFQUFBQUFBQUE0TCtpSWdZNUF3QWdBeUFDUkFBQUFBQUFBT0Evb2lJQ09RTUlJQU5FQUFBQUFBQUFBQUE1QXhBZ0F5QUNPUU1ZSUFNZ0Fqa0RJQ0FEUkFBQUFBQUFBQUFBT1FNb0lBTWdBamtETUNBRElBWTVBemdnQTBGQWEwUUFBQUFBQUFBQUFEa0RBQ0FESUFZNUEwZ2dBeUFHT1FOUUlBTkVBQUFBQUFBQUFBQTVBMWdnQTBHb0FXb2lBU0FEUWVBQWFqWUNBQ0FCSUFNMkFnUWdBVUVFTmdJSUlBQW9BZ0FnQVVHQXBBTkJnS1FESUFOQm9BRnFFT29CR2lBREt3T2dBUm9nQXlRR0M5TVRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQVVFQ0VEa2hEQ0FDUVFJUU9TRU9JQVFvQWdBaUJ5RUNJQXdnRGtGL2FpSVFiRUVCZENBSGFpRUZBMEFnQmlBTVNBUkFJQVZCQURzQkFDQUNRUUE3QVFBZ0FrRUNhaUVDSUFWQkFtb2hCU0FHUVFGcUlRWU1BUXNMSUFjaEFpQU1RWDlxSWhGQkFYUWdCMm9oQlVFQUlRWURRQ0FHSUE1SUJFQWdCVUVBT3dFQUlBSkJBRHNCQUNBTVFRRjBJQUpxSVFJZ0RFRUJkQ0FGYWlFRklBWkJBV29oQmd3QkN3c2dCRUdRZ01nQWFpRUNRUUFnREdzaEVpQUFJQUZCQVhSQkFtcHFJUTFCQVNFTFFRQWhCU0FNUVFGcVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTElCQk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VVZ0VRQ0FOTFFBQUlBTktCRUFnQjBFQU93RUFCUUpBSUJKQkFYUWdCMm9pQlM0QkFDSUdRUUJLQkVBZ0J5QUdPd0VBSUFaQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR01nTkFBYWlBTE5nSUFEQUVMSUFWQmZtb3VBUUFpQmlFSUlBWkJBRW9oQ2lBRkxnRUNJZ1ZCQUV3RVFDQUtCRUFnQnlBR093RUFJQWhCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlHS0FJQUlBbElCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBczJBZ0FNQWdzZ0IwRithaTRCQUNJRlFRQktCRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUFzZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBbE9EUUlnQlNBSk5nSUFCU0FBUWYvL0FVb05CaUFISUFCQkFXb2lCVHNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQVZCRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0N6WUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUpOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dDellDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXMyQWdBZ0JTRUFDd3dCQ3lBS0JFQUNRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnQ3lBR0tBSUFhallDQUNBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc2dCMEYrYWk0QkFDSUdRUUJNQkVBZ0J5QUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBa2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBc2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0FnTkFBYWlJR0tBSUFJQWxLQkVBZ0JpQUpOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQXMyQWdBTUFRc0NRQ0FGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1VnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lHU2dSQUlBY2dCanNCQUNBQ0lRaEJBQ0VLQTBBZ0NpQUFUZ1JBSUFZaEJRd0RDeUFGSUFnb0FnQkdCRUFnQ0NBR05nSUFDeUFJUVFScUlRZ2dDa0VCYWlFS0RBQUFDd0FGSUFjZ0JUc0JBQ0FGSUFaSUJFQWdBaUVJUVFBaENnTkFJQW9nQUU0TkF5QUdJQWdvQWdCR0JFQWdDQ0FGTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUxDd3NnQlVFUWRFRVFkVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1VnQ3lBRktBSUFhallDQUFzTElBMUJBbW9oRFNBSlFRRnFJUWtnQjBFQ2FpRUhEQUVMQ3lBQklBMXFRUVJxSVEwZ0MwRUJhaUVMSUFBaEJTQUhRUVJxSVFjTUFRc0xRUUJCQTBHb3BRRWdEeEE5UVg4TUFRc2dCRUVNYWlFSFFRRWhBRUVCSVFNRFFDQURJQVZNQkVBZ0F5QUNLQUlBSWdaR0JFQWdBRUVCYWlFQkJTQUFJUUVnQmtFQ2RDQUVha0dNZ01nQWFpZ0NBQ0VBQ3lBQ0lBQTJBZ0FnQVNFQUlBTkJBV29oQXlBQ1FRUnFJUUlNQVFzTElBUWdBRUYvYWlJQU5nSUlJQUFFZnlBSFFRQWdBRUVDZEJCRkdpQUVRWkNBS0dwQkFDQUFRUVIwRUVVYVFRQWhBUU5BSUFFZ0FFZ0VRQ0FFUVl5QUNHb2dBVUVDZENJQ1FRSjBhaUFNTmdJQUlBUkJqSUFJYWlBQ1FRRnlRUUowYWtFQU5nSUFJQVJCaklBSWFpQUNRUUp5UVFKMGFpQU9OZ0lBSUFSQmpJQUlhaUFDUVFOeVFRSjBha0VBTmdJQUlBRkJBV29oQVF3QkN3dEJBQ0VCQTBBZ0FTQUZTQVJBSUFSQkRHb2dCRUdRZ01nQWFpQUJRUUowYWlnQ0FFRi9haUlDUVFKMGFpSURJQVJCa0lEUUFHb2dBVUVIYkNJQVFRSjBhaWdDQUNBREtBSUFhallDQUNBRVFaQ0FLR29nQWtFQmRDSURRUU4wYWlJSElBY3JBd0FnQUVFQ2RDQUVha0dVZ05BQWFpZ0NBTGVnT1FNQUlBUkJrSUFvYWlBRFFRRnlRUU4wYWlJRElBTXJBd0FnQUVFQ2RDQUVha0dZZ05BQWFpZ0NBTGVnT1FNQUlBUkJqSUFJYWlBQ1FRSjBJZ0pCQW5ScUlnTW9BZ0FnQUVFQ2RDQUVha0djZ05BQWFpZ0NBQ0lIU2dSQUlBTWdCellDQUFzZ0JFR01nQWhxSUFKQkFYSkJBblJxSWdNb0FnQWdBRUVDZENBRWFrR2dnTkFBYWlnQ0FDSUhTQVJBSUFNZ0J6WUNBQXNnQkVHTWdBaHFJQUpCQW5KQkFuUnFJZ01vQWdBZ0FFRUNkQ0FFYWtHa2dOQUFhaWdDQUNJSFNnUkFJQU1nQnpZQ0FBc2dCRUdNZ0FocUlBSkJBM0pCQW5ScUlnSW9BZ0FnQUVFQ2RDQUVha0dvZ05BQWFpZ0NBQ0lBU0FSQUlBSWdBRFlDQUFzZ0FVRUJhaUVCREFFTEN5QUVLQUlJSVFGQkFDRUFBMzhnQUNBQlNBUi9JQVJCa0lBb2FpQUFRUUYwSWdKQkEzUnFJZ01nQXlzREFDQUVRUXhxSUFCQkFuUnFLQUlBdHlJVm96a0RBQ0FFUVpDQUtHb2dBa0VCY2tFRGRHb2lBaUFDS3dNQUlCV2pPUU1BSUFCQkFXb2hBQXdCQlVFQUN3c0ZRUUFMQ3lFVUlBOGtCaUFVQ3g0QUlBQkJKR29RbUFnZ0FFRUlhaUlBUVJCcUVOa0NJQUJCQkdvUVZRc3FBQ0FBUVFBMkFnQWdBRUVBTmdJRUlBQkJBRFlDQ0NBQkJFQWdBQ0FCRU5ZRElBQWdBUkRWQXdzTFhRRUJmMEgvLy8vL0F5QUJTUVJBRUFBTElBRkIvLy8vL3dOTEJFQkJDQkFGSWdBUWlBRWdBRUcwaXdFMkFnQWdBRUg0OXdCQkZoQUVCU0FBSUFGQkFuUVFVU0lDTmdJRUlBQWdBallDQUNBQUlBRkJBblFnQW1vMkFnZ0xDenNCQTM4Z0FTRUVJQUFvQWdnaUJTRURBMEFnQXlBQ0tBSUFOZ0lBSUFOQkJHb2hBeUFFUVg5cUlnUU5BQXNnQUNBQlFRSjBJQVZxTmdJSUM5b0JBUVovSXdZaENDTUdRU0JxSkFZZ0NDRUVJQUFvQWdRaUF5RUdJQUFvQWdnZ0EydEJBblVnQVVrRVFFSC8vLy8vQXlBQklBTWdBQ2dDQUd0QkFuVnFJZ2RKQkVBUUFBVWdCQ0FISUFBb0FnZ2dBQ2dDQUNJRmF5SUdRUUYxSWdNZ0F5QUhTUnRCLy8vLy93TWdCa0VDZFVILy8vLy9BVWtiSUFBb0FnUWdCV3RCQW5VZ0FFRUlhaERJQVNBRUlBRWdBaENlQ0NBQUlBUVE1QUVnQkJESEFRc0ZJQUVoQXlBR0lRVURRQ0FGSUFJb0FnQTJBZ0FnQlVFRWFpRUZJQU5CZjJvaUF3MEFDeUFBSUFGQkFuUWdCbW8yQWdRTElBUWtCZ3VGQlFFSGZ5TUdJUWtqQmtFUWFpUUdJQUFvQWdRZ0FDZ0NBR3RCQW5VZ0JFY0VRQ0FKUWNESUEwR1o4UUVRTjBHMzlRRVFOMEh2b2dJUU4wSEdBUkErUWZhaUFoQTNRYXo0QVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFKQkFFd0VRQ0FKUWNESUEwSFY5Z0VRTjBHMzlRRVFOMEh2b2dJUU4wSEhBUkErUWZhaUFoQTNRZjMyQVJBM0lnY2dCeWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdnb0FnQW9BaHdoQ2lBSVFRb2dDa0UvY1VHS0FXb1JBZ0FoQ0NBSkVEd2dCeUFJRUVBZ0J4QS9FQUFMSUFRZ0Frb0VRQ0FKUWNESUEwR2g5d0VRTjBHMzlRRVFOMEh2b2dJUU4wSElBUkErUWZhaUFoQTNRZFQzQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMSUFaQkFFd0VRQ0FKUWNESUEwSEorQUVRTjBHMzlRRVFOMEh2b2dJUU4wSEpBUkErUWZhaUFoQTNRZkQ0QVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBSlFZRE9BeEE2SWdjb0FnQW9BaHdoQ0NBSFFRb2dDRUUvY1VHS0FXb1JBZ0FoQnlBSkVEd2dBaUFIRUVBZ0FoQS9FQUFMUVFBaENBTkFJQWdnQkVnRVFDQUlRUUowSUFOcUlReEJBQ0VLUVg4aEFnTkFJQVlnQ2tjRVFDQUJJQXdvQWdCQjRBQnNhaUFCSUFwQkFuUWdCV29pRFNnQ0FFRUNkQ0FEYWlnQ0FFSGdBR3hxRUlJQ0lnY2dBa2tFUUNBQUtBSUFJQWhCQW5ScUlBMG9BZ0EyQWdBZ0J5RUNDeUFLUVFGcUlRb01BUXNMSUFJZ0Myb2hDeUFJUVFGcUlRZ01BUXNMSUFra0JpQUxDMUFCQVg4Z0FFRVlFRkVpQkRZQ0FDQUFJQUZCQ0dvMkFnUWdCQ0FES0FJQUtBSUFOZ0lJSUFSQkFEWUNEQ0FFUVFBMkFoQWdCRUVBTmdJVUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDeklBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFpQUNRZUFBRUV3YUMwd0JBbjhqQmlFQ0l3WkJJR29rQmlBQUtBSUlJQUFvQWdBaUEydEJBblVnQVVrRVFDQUNJQUVnQUNnQ0JDQURhMEVDZFNBQVFRaHFFTWdCSUFBZ0FoRGtBU0FDRU1jQkN5QUNKQVlMbkFFQkJYOGpCaUVDSXdaQklHb2tCa0gvLy8vL0F5QUFLQUlFSUFBb0FnQnJRUUoxUVFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYXlJRlFRRjFJZ1lnQmlBRFNSdEIvLy8vL3dNZ0JVRUNkVUgvLy8vL0FVa2JJQUFvQWdRZ0JHdEJBblVnQUVFSWFoRElBU0FDS0FJSUlnTWdBU2dDQURZQ0FDQUNJQU5CQkdvMkFnZ2dBQ0FDRU9RQklBSVF4d0VnQWlRR0N3dkRCZ0VHZnlNR0lRWWpCa0VRYWlRR0lBQW9BZ1FpQ0NBQUtBSVFJQUFvQWd4clFRSjFSd1JBSUFaQndNZ0RRWXIxQVJBM1FiZjFBUkEzUWUraUFoQTNRWm9CRUQ1QjlxSUNFRGRCcVBZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0FrRUFUQVJBSUFaQndNZ0RRZFgyQVJBM1FiZjFBUkEzUWUraUFoQTNRWnNCRUQ1QjlxSUNFRGRCL2ZZQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0JDQUNTZ1JBSUFaQndNZ0RRYUgzQVJBM1FiZjFBUkEzUWUraUFoQTNRWndCRUQ1QjlxSUNFRGRCMVBjQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJ5Z0NBQ2dDSENFSklBZEJDaUFKUVQ5eFFZb0JhaEVDQUNFSElBWVFQQ0FGSUFjUVFDQUZFRDhRQUFzZ0NDQUVTZ1JBSUFaQndNZ0RRZS8zQVJBM1FiZjFBUkEzUWUraUFoQTNRWjBCRUQ1QjlxSUNFRGRCbVBnQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUNDZ0NBQ2dDSENFSElBaEJDaUFIUVQ5eFFZb0JhaEVDQUNFSUlBWVFQQ0FGSUFnUVFDQUZFRDhRQUFzZ0JrRi9OZ0lBSUFCQkdHb2lDaUFFSUFZUTNRTWdCa0YvTmdJQUlBQkJKR29pQ1NBRUlBWVEzUU1nQUVFd2FpQUVFSWNCSUFBb0FqQWlCU0FBS0FJMElBVnJRUUoxRU53RFFYOGhCVUVBSVFjRFFDQUhJQUFvQWdoSUJFQWdBQ2dDTUNJSUlBQW9BalFnQ0d0QkFuVWdBQ2dDQkNBQUtBSUFFTUVDSUFrZ0FTQUNJQU1nQkNBQUtBSXdJQUFvQWdRUW9BZ2lDQ0FGU1FSQUlBb2dDUkNKQWlBQUtBSU1JQUFvQWpBZ0FDZ0NCRUVDZEJCTUdpQUlJUVVMSUFkQkFXb2hCd3dCQ3dzZ0FDZ0NCQ0FBS0FJUUlBQW9BZ3hyUVFKMVJnUkFJQVlrQmdVZ0JrSEF5QU5CaXZVQkVEZEJ0L1VCRURkQjc2SUNFRGRCdXdFUVBrSDJvZ0lRTjBHbzlnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCaEE4SUFBZ0FSQkFJQUFRUHhBQUN3dmtCQUlOZndOOEl3WWhDaU1HUVJCcUpBWWdDa0VFYWlFUVFRSVE1d0loRGtFQ0VPY0NJUXRCQWtFQ0VJc0JJUXdDZndKQUFrQURRQUpBSUFkQkJFOE5BaUFIUVFGcUlnSkJBblFnQTJvb0FnQWlEMEVCYWlBSFFRSjBJQU5xS0FJQUlnaHJ0MFNhbVptWm1abXBQNkpFQUFBQUFBQUE0RCtnSWhRZ0NMZWdFSE1oRVNBUHR5QVVvUkJ6SUJGckloSkJBV3BCQWhDTEFTRU5RUUFoQ1FOQUlBa2dFa3dFUUNBRUlBa2dFV29pQ0VFQ2RDQUFhaWdDQUxJZ0NFRUNkQ0FCYWlnQ0FMSWdFQ0FLRUtZQlFRQklEUUlnRFNnQ0FDSUlJQWxCQVhRaUQwRURkR29nRUNvQ0FMczVBd0FnRDBFQmNrRURkQ0FJYWlBS0tnSUF1emtEQUNBSlFRRnFJUWtNQVFzTElBMGdEQ0FPSUFzUW5RVkJBRWdOQXlBSFFSaHNJQVZxSUF3b0FnQWlDQ3NEQ0NJVk9RTUFJQWRCR0d3Z0JXb2dDQ3NEQUpvaUZEa0RDQ0FIUVJoc0lBVnFJQlVnQ3lnQ0FDSUhLd01Bb2lBSEt3TUlJQlNpb0pvNUF4QWdEUkJKSUFJaEJ3d0JDd3NNQVFzZ0RCQkpJQXNRendFZ0RoRFBBVUVBSVFRRGYwRUFJQVJCQkU4TkFob2dCRUVEYWtFRGNTSUFRUmhzSUFWcUlnTXJBd0FnQkVFWWJDQUZhaXNEQ0NJVm9pQUVRUmhzSUFWcUlnSXJBd0FnQUVFWWJDQUZhaXNEQ0NJVW9xRWlGcGxFTFVNYzYrSTJHajlqQkg5QmZ3VWdCRUVFZENBR2FpQVVJQVJCR0d3Z0JXb2lBU3NERUtJZ0ZTQUFRUmhzSUFWcUlnQXJBeENpb1NBV296a0RBQ0FFUVFSMElBWnFJQUlyQXdBZ0FDc0RFS0lnQXlzREFDQUJLd01Rb3FFZ0ZxTTVBd2dnQkVFQmFpRUVEQUVMQ3d3QkN5QU5FRWtnREJCSklBc1F6d0VnRGhEUEFVRi9DeUVUSUFva0JpQVRDekFBSUFBZ0FUWUNBQ0FBUVFFNkFHUWdBRUlBTndKb0lBQkNBRGNDY0NBQVFnQTNBbmdnQUVFRWFrSGdBQkRaQXd0T0FRSi9RWUFCRUZFaUJpQUFFT0VERUtjSUlBQW9BZ2doQlNBQUlBWTJBZ2dnQlFSL0lBVVF4QUlnQlJBNElBQW9BZ2dGSUFZTFFRQVFnd0lnQUNBQUtBSUlJQUVnQWlBRElBUVE0QU1MWGdFRWZ5TUdJUU1qQmtFUWFpUUdJQU1nQWhDRUFpQURLQUlFSUFNb0FnQWlCV3RCQW5VaEJnTkFJQVFnQmtjRVFDQUVRUUowSUFWcUlBUTJBZ0FnQkVFQmFpRUVEQUVMQ3lBQUlBRWdBaUFGSUFZUXFBZ2dBeEJWSUFNa0JndEpBUUYvSUFCQkZCQlJJZ1EyQWdBZ0FDQUJRUWhxTmdJRUlBUWdBeWdDQUNnQ0FEWUNDQ0FFUVFBMkFnd2dCRUVBTmdJUUlBQkJBVG9BQ0NBRUlBSTJBZ1FnQkVFQU5nSUFDNklFQWdwL0FuMGpCaUVISXdaQklHb2tCaUFIUVFScUlRVWdCMEVRYWlFSklBY2dBVFlDQUNBQktBSUFJUU1DUUFKQUlBQW9BZ1FpQkVVaUNnUkFRUUFoQVF3QkJTQUVJQVJCZjJvaUNIRkZJZ3NFZnlBRElBaHhCU0FESUFSSkJIOGdBd1VnQXlBRUVFNExDeUlCUVFKMElBQW9BZ0JxS0FJQUlnSUVRQU5BSUFJb0FnQWlBa1VOQXlBRElBSW9BZ1FpQmtjRVFDQUxCRUFnQmlBSWNTRUdCU0FHSUFSUEJFQWdCaUFFRUU0aEJnc0xJQUVnQmtjTkJBc2dBeUFDS0FJSVJ3MEFDd1VNQWdzTERBRUxJQVVnQUNBRElBY1FxZ2dnQUNvQ0VDSU1JQVN6bENBQUtBSU1RUUZxc3lJTlhTQUtjZ1JBQW44Z0FDQU5JQXlWalJDU0FTSUNJQVJCZjJvZ0JIRkJBRWNnQkVFRFNYSWdCRUVCZEhJaUFTQUJJQUpKR3hERkFpQUFLQUlFSWdKQmYyb2hBU0FCSUFOeElBRWdBbkZGRFFBYUlBTWdBa2tFZnlBREJTQURJQUlRVGdzTElRRUZJQVFoQWdzZ0FDZ0NBQ0FCUVFKMGFpZ0NBQ0lEQkg4Z0JTZ0NBQ0FES0FJQU5nSUFJQU1nQlNnQ0FEWUNBQ0FGQlNBRktBSUFJQUFvQWdnMkFnQWdBQ0FGS0FJQU5nSUlJQUFvQWdBZ0FVRUNkR29nQUVFSWFqWUNBQ0FGS0FJQUlnWW9BZ0FpQVFSQUlBRW9BZ1FoQVNBQ0lBSkJmMm9pQTNFRVFDQUJJQUpQQkVBZ0FTQUNFRTRoQVFzRklBRWdBM0VoQVFzZ0FDZ0NBQ0FCUVFKMGFpQUdOZ0lBQ3lBRkN5SUJLQUlBSVFJZ0FDQUFLQUlNUVFGcU5nSU1JQUZCQURZQ0FBc2dCeVFHSUFKQkRHb0xQd0VCZnlBQVFTUnFJZ0ZCREdwQmdBRVExd01nQVVFTWFoRFlBeUFCUVFnMkFtZ2dBVUVRTmdKc0lBRWdBRUVJYWlJQUVIUW9BZ0FnQUJCeEVLa0lDODhHQVFWL0l3WWhDQ01HUVNCcUpBWWdDRUVVYWlFR0lBRkZCRUFnQmtIQXlBTkJ4NVlDRURkQmtQa0JFRGRCNzZJQ0VEZEIxQUVRUGtIMm9nSVFOMEhVbHdJUU55SUVJQVFvQWdCQmRHb29BZ0JxRURzZ0JrR0F6Z01RT2lJRktBSUFLQUljSVFjZ0JVRUtJQWRCUDNGQmlnRnFFUUlBSVFVZ0JoQThJQVFnQlJCQUlBUVFQeEFBQ3lBQ1JRUkFJQVpCd01nRFFZajZBUkEzUVpENUFSQTNRZStpQWhBM1FkVUJFRDVCOXFJQ0VEZEJxUG9CRURjaUJDQUVLQUlBUVhScUtBSUFhaEE3SUFaQmdNNERFRG9pQlNnQ0FDZ0NIQ0VISUFWQkNpQUhRVDl4UVlvQmFoRUNBQ0VGSUFZUVBDQUVJQVVRUUNBRUVEOFFBQXNnQVJCMElnUW9BZ1FnQkNnQ0FFWUVRQ0FHUWNESUEwRzUrZ0VRTjBHUStRRVFOMEh2b2dJUU4wSFdBUkErUWZhaUFoQTNRZTM2QVJBM0lnUWdCQ2dDQUVGMGFpZ0NBR29RT3lBR1FZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBR0VEd2dCQ0FGRUVBZ0JCQS9FQUFMSUFFUWRDZ0NBQ2dDQkNBQ0tBSUFSd1JBSUFaQndNZ0RRZjc2QVJBM1FaRDVBUkEzUWUraUFoQTNRZGNCRUQ1QjlxSUNFRGRCeC9zQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBWkJnTTRERURvaUJTZ0NBQ2dDSENFSElBVkJDaUFIUVQ5eFFZb0JhaEVDQUNFRklBWVFQQ0FFSUFVUVFDQUVFRDhRQUFzZ0FSQjBLQUlBS0FJSUlBSW9BZ1JIQkVBZ0JrSEF5QU5CNnZzQkVEZEJrUGtCRURkQjc2SUNFRGRCMkFFUVBrSDJvZ0lRTjBISCt3RVFOeUlFSUFRb0FnQkJkR29vQWdCcUVEc2dCa0dBemdNUU9pSUZLQUlBS0FJY0lRY2dCVUVLSUFkQlAzRkJpZ0ZxRVFJQUlRVWdCaEE4SUFRZ0JSQkFJQVFRUHhBQUN5QUNJQUVROUFnZ0JpQUNFTUFDSWdRb0FnUWdCQ2dDQUd0QkpCQTVFSndJUVFBaEJBTkFJQVFnQWhEQUFpSUZLQUlFSUFVb0FnQnJRU1FRT1VrRVFDQUlJQUlRd0FJb0FnQWlCU0FFUVNSc2Fpb0NBQ0FFUVNSc0lBVnFLZ0lFSUFSQkpHd2dCV29xQWdnZ0JFRWtiQ0FGYWlvQ0hDQUVRU1JzSUFWcUtnSVlRd0FBQUFCZUVQd0RJQVlvQWdBZ0JFRVViR29pQlNBSUtRSUFOd0lBSUFVZ0NDa0NDRGNDQ0NBRklBZ3NBQkE2QUJBZ0JFRUJhaUVFREFFTEN5QURJQUFRaGdFZ0FTQUdFTFlISUFZUTJRSWdDQ1FHQ3k4QkFYOERRQ0FBUVFoSUlBRkJDRWh5UlFSQUlBSkJBV29oQWlBQlFRRjFJUUVnQUVFQmRTRUFEQUVMQ3lBQ0N5SUJBWDhnQUNnQ0NDSUNRUUFnQVVFRGRCQkZHaUFBSUFGQkEzUWdBbW8yQWdnTElnRUJmeUFBS0FJRUlnSkJBQ0FCUVFOMEVFVWFJQUFnQVVFRGRDQUNhallDQkF1bEFRRUZmeU1HSVFJakJrRWdhaVFHSUFBb0FnZ2dBQ2dDQkNJRGEwRURkU0FCU1FSQVFmLy8vLzhCSUFFZ0F5QUFLQUlBYTBFRGRXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdScklnVkJBblVpQmlBR0lBTkpHMEgvLy8vL0FTQUZRUU4xUWYvLy8vOEFTUnNnQUNnQ0JDQUVhMEVEZFNBQVFRaHFFSWdDSUFJZ0FSQ3ZDQ0FBSUFJUXpRSWdBaERNQWdzRklBQWdBUkN3Q0FzZ0FpUUdDejBCQW44Z0FDZ0NCQ0FBS0FJQUlnSnJRUU4xSWdGQmdBaEpCRUFnQUVHQUNDQUJheEN4Q0FVZ0FVR0FDRXNFUUNBQUlBSkJnRUJyTmdJRUN3c0xOQUFnQUVHQXlBQVFod0VnQUVFWWFoQ3lDQ0FBUXdyWEl6dzRBaVFnQUVHQUNEWUNLQ0FBUWFnSU5nSXNJQUJCTWpZQ01Bc3FBQ0FBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFnQTNBaGdnQUVFQU5nSWdJQUFRc3dnTHhBRUJBWDhnQUVFQU5nSU1JQUJCQURZQ0VDQUFRUUEyQWhRZ0FFRkFheUlCUWdBM0FnQWdBVUlBTndJSUlBRkNBRGNDRUNBQVFZQ0FnUHdETmdKWUlBQkIzQUJxRU5FSUlBQkJvQUZxSWdFUWdna2dBRUc4QW1vUXVBY2dBRUVBTmdMOEJDQUFRUUEyQW9BRklBQkJBRFlDaEFVZ0FFTXpNek0vT0FLSUJTQUFRWXdGYWhERkJ5QUFRWlFHYWhDMENDQUJRd0FBUUVBNEFqUWdBVU1BQUlCQU9BSTRJQUZCOUFNUTl3TWdBRU1BQUVCQU9BSUVJQUJCQ0RZQ0FDQUFRUUU2QUFnTEpBRUNmd05BSUFBRVFDQUFLQUlBSVFJZ0FFRU1haEJWSUFBUU9DQUNJUUFNQVFzTEM0OEZBZzkvQVh3akJpRUVJd1pCNEFCcUpBWWdCRUV3YWlFSElBUkIzQUJxSVFNZ0JFSFlBR29oQlNBQlFSeHFJZ2dvQWdBaEN5QUJRZHk0QW1vaUNTZ0NBQ0VNSUFFb0FoaEJmMm9oRFVFQklRWURRQ0FHSUExSUJFQWdCaUFDSUFGQkhHb2dCa0VDZEdvb0FnQWdDMnNpQWlBQ2JDQUJRZHk0QW1vZ0JrRUNkR29vQWdBZ0RHc2lBaUFDYkdvaURpQUtTaUlQR3lFQ0lBWkJBV29oQmlBT0lBb2dEeHNoQ2d3QkN3c2dBMEVBTmdJQUlBVkJBRFlDQUNBSUlBbEJBQ0FDSUFDM1JBQUFBQUFBQU9nL28wUjdGSzVINFhxRVA2SWlFU0FISUFNUXF3RkJBRWdFZjBGL0JTQUlJQWtnQWlBQktBSVlRWDlxSUJFZ0JDQUZFS3NCUVFCSUJIOUJmd1VDZnlBREtBSUFJZ0JCQVVZZ0JTZ0NBQ0lHUVFGR2NRUkFJQVFvQWdBaEFDQUhLQUlBSVFNRkFuOGdCa1VnQUVFQlNuRUVRQ0FDUVFJUU9TRUFJQVZCQURZQ0FDQURRUUEyQWdCQmZ5QUlJQWxCQUNBQUlCRWdCeUFERUtzQlFRQklEUU1hUVg4Z0NDQUpJQUFnQWlBUklBUWdCUkNyQVVFQVNBMERHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFNYUlBSWhBQ0FIS0FJQUlRTWdCQ2dDQUF3QkMwRi9JQUJGSUFaQkFVcHhSUTBDR2lBQktBSVlJQUpCZjJwcVFRSVFPU0VBSUFWQkFEWUNBQ0FEUVFBMkFnQkJmeUFJSUFrZ0FpQUFJQkVnQnlBREVLc0JRUUJJRFFJYVFYOGdDQ0FKSUFBZ0FTZ0NHRUYvYWlBUklBUWdCUkNyQVVFQVNBMENHa0YvSUFNb0FnQkJBVVlnQlNnQ0FFRUJSbkZGRFFJYUlBUW9BZ0FoQUNBQ0lRTWdCeWdDQUFzaEFnc2dBVUdjOFFScVFRQTJBZ0FnQVVHZzhRUnFJQU0yQWdBZ0FVR2s4UVJxSUFJMkFnQWdBVUdvOFFScUlBQTJBZ0FnQVVHczhRUnFJQUVvQWhoQmYybzJBZ0JCQUFzTEN5RVFJQVFrQmlBUUN5VUJBbjhEUUNBQUJFQWdBQ2dDQUNFQ0lBQkJER29RbFFFZ0FCQTRJQUloQUF3QkN3c0xLUUVCZnlBQUtBSUlFTGdJSUFBb0FnQWhBU0FBUVFBMkFnQWdBUVJBSUFBb0FnUWFJQUVRT0FzTFNnRUNmeUFBUWdBM0FnQWdBRUlBTndJSUlBQkJBRFlDRUNBQVFZQ0FnUHdETmdJVVFjZ0dFRkVpQWhDMUNDQUFLQUlBSVFFZ0FDQUNOZ0lBSUFFRVFDQUJFT29ESUFFUU9Bc0xNQUVDZnlBQVFRQTJBZ0JCR0JCUklnSVF1Z2dnQUNnQ0FDRUJJQUFnQWpZQ0FDQUJCRUFnQVJEckF5QUJFRGdMQzl3QkFnRi9CbjBnQlNvQ0FDSUlJQU1xQWdBaUI1TWhDU0FJSUFRcUFnQWlDSk1nQ1pRaENpQUhJQWlUSWdzZ0NaUWhDU0FLUXdBQUFBQmJJQWxEQUFBQUFGdHlJQXREQUFBQUFGdHlCSDhnQUVNQUFBQUFPQUlBSUFGREFBQUFBRGdDQUVNQUFBQUFJUWRCQUFVZ0FDQUZLZ0lFSUFRcUFnUWlESk1nQ3BVZ0F5b0NCQ0FNa3lBSmxaTWlDVGdDQUNBQklBTXFBZ1FnQkNvQ0JKTWdDQ0FJbENBSElBZVVJZ2VUSUFtVWtpQUxsU0lJT0FJQUlBTXFBZ1FnQnlBQUtnSUFsSk1nQ0NBREtnSUFsSk1oQjBFQkN5RUdJQUlnQnpnQ0FDQUdDNlFCQWdKL0FuMGdBU29DQUNFR0lBSkJmMm9pQTBFQ2RDQUJhaUlFS2dJQUlRVkJBQ0VDQTBBZ0FpQURSd1JBSUFKQkFuUWdBR29nQlVHSWhnRXFBZ0NVSUFKQkFuUWdBV29xQWdBaUJVR01oZ0VxQWdDVWtrR1FoZ0VxQWdBZ0FrRUJhaUlDUVFKMElBRnFLZ0lBbEpJNEFnQU1BUXNMSUFOQkFuUWdBR29nQlVHSWhnRXFBZ0NVUVl5R0FTb0NBQ0FFS2dJQWxKSWdCa0dRaGdFcUFnQ1VramdDQUF2MkJ3RU1meU1HSVFjakJrR2c4UVJxSkFZZ0IwR1E4UVJxSVEwZ0IwR0k4UVJxSVE0Z0IwR0E4UVJxSVFnZ0IwSEF1QUpxSVF3Z0J5RUxJQVFvQWdRaENpQUVLQUlBSWdraEJ5QUpJQUVnQkNnQ0NDSUpiR3BCQVhRZ0FHb2hCZ0ovQWtBRFFBSkFJQWNnQ2tvTkFpQUdMZ0VBSWdSQkFFb0VRQ0FESUFSQmYycEJBblFnQW1vb0FnQkdEUUVMSUFkQkFXb2hCeUFHUVFKcUlRWU1BUXNMSUFkQmYwWU5BQ0FGUVFFMkFoZ2dCU0FITmdJY0lBVkIzTGdDYWlJUElBazJBZ0JCQlNFR0lBa2hCQ0FISVFOQkFTRUNBa0FDUUFOQUFrQWdBU0FFYkNBRGFrRUJkQ0FBYWlFUVFRQWhDQ0FHUVFWcUlRWUNRQUpBQTBBZ0JrRUlFRThoQmlBSVFRaFBEUUVnQmtFQ2RFSEFDR29vQWdBaUJDQUJJQVpCQW5SQm9BaHFLQUlBSWdwc2FrRUJkQ0FRYWk0QkFFRUFUQVJBSUFoQkFXb2hDQ0FHUVFGcUlRWU1BUXNMREFFTElBaEJDRVlOQVNBR1FRSjBRY0FJYWlnQ0FDRUVJQVpCQW5SQm9BaHFLQUlBSVFvTElBVkJIR29nQWtFQ2RHb2dBeUFFYWpZQ0FDQUZRZHk0QW1vZ0JTZ0NHQ0lDUVFKMGFpQUNRUUowSUFWcVFkaTRBbW9vQWdBZ0NtbzJBZ0FnQnlBRlFSeHFJQVVvQWhnaUEwRUNkR29pQ0NnQ0FFWUVRQ0FKSUFWQjNMZ0NhaUFEUVFKMGFpZ0NBRVlOQXdzZ0JTQURRUUZxSWdJMkFoZ2dBa0dQemdCR0RRTWdCVUhjdUFKcUlBTkJBblJxS0FJQUlRUWdDQ2dDQUNFRERBRUxDMEVBUVFOQjVLZ0JJQTRRUFVGL0RBTUxRUUFoQUVFQUlRWkJBU0VCQTBBZ0FTQURTQVJBSUFFZ0FDQUZRUnhxSUFGQkFuUnFLQUlBSUFkcklnQWdBR3dnQlVIY3VBSnFJQUZCQW5ScUtBSUFJQWxySWdBZ0FHeHFJZ0lnQmtvaUJCc2hBQ0FDSUFZZ0JCc2hCaUFCUVFGcUlRRU1BUXNMUVFBaEFRTkFJQUVnQUVnRVFDQUJRUUowSUF4cUlBVkJIR29nQVVFQ2RHb29BZ0EyQWdBZ0FVRUNkQ0FMYWlBRlFkeTRBbW9nQVVFQ2RHb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUFJUUVEUUNBQklBTklCRUFnQlVFY2FpQUJJQUJySWdKQkFuUnFJQVZCSEdvZ0FVRUNkR29vQWdBMkFnQWdCVUhjdUFKcUlBSkJBblJxSUFWQjNMZ0NhaUFCUVFKMGFpZ0NBRFlDQUNBQlFRRnFJUUVnQlNnQ0dDRUREQUVMQzBFQUlRRURRQ0FCSUFCSUJFQWdCVUVjYWlBQklBQnJJZ0lnQlNnQ0dHcEJBblJxSUFGQkFuUWdER29vQWdBMkFnQWdCVUhjdUFKcUlBSWdCU2dDR0dwQkFuUnFJQUZCQW5RZ0Myb29BZ0EyQWdBZ0FVRUJhaUVCREFFTEN5QUZRUnhxSUFVb0FoaEJBblJxSUFVb0FodzJBZ0FnQlVIY3VBSnFJQVVvQWhoQkFuUnFJQThvQWdBMkFnQWdCU0FGS0FJWVFRRnFOZ0lZUVFBTUFndEJBRUVEUWV1b0FTQU5FRDFCZnd3QkMwRUFRUU5CM2FnQklBZ1FQVUYvQ3lFUklBc2tCaUFSQzhRSUFnVi9BWDBqQmlFRkl3WkJFR29rQmlBQVJRUkFJQVZCd01nRFFjTHJBUkEzUWVickFSQTNRZStpQWhBM1FZc0JFRDVCOXFJQ0VEZEI1dXdCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQVVNQUFBQS9ra01BQUFBQVhnUkFJQUZEQUFBQXY1SWlDU0FEc2wwRVFDQUNRd0FBQUFCZ1JRUkFJQVZCd01nRFFlbnRBUkEzUWVickFSQTNRZStpQWhBM1FZMEJFRDVCOXFJQ0VEZEJqKzRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXNnQTBGL1RBUkFJQVZCd01nRFFhenVBUkEzUWVickFSQTNRZStpQWhBM1FZNEJFRDVCOXFJQ0VEZEIwZTRCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQ0NnQ0FDZ0NIQ0VFSUFoQkNpQUVRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQUdJQVFRUUNBR0VEOFFBQXREQUFDQVB5QUJJQW1PRUVNaUJMS1RRd0FBQUwrU0lnbVRJUUVnQXlBRWFpQURFRThoQmlBRVFRRnFJQU1RVHlFSUlBRkRBQUFBQUdCRkJFQWdCVUhBeUFOQjd1NEJFRGRCNXVzQkVEZEI3NklDRURkQmxnRVFQa0gyb2dJUU4wR043d0VRTnlJSElBY29BZ0JCZEdvb0FnQnFFRHNnQlVHQXpnTVFPaUlFS0FJQUtBSWNJUU1nQkVFS0lBTkJQM0ZCaWdGcUVRSUFJUU1nQlJBOElBY2dBeEJBSUFjUVB4QUFDeUFKUXdBQUFBQmdSUVJBSUFWQndNZ0RRYUh2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmNCRUQ1QjlxSUNFRGRCd084QkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0JrRi9UQVJBSUFWQndNZ0RRZFR2QVJBM1FlYnJBUkEzUWUraUFoQTNRWmdCRUQ1QjlxSUNFRGRCaFBBQkVEY2lCeUFIS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFRElBUkJDaUFEUVQ5eFFZb0JhaEVDQUNFRElBVVFQQ0FISUFNUVFDQUhFRDhRQUFzZ0NFRi9TZ1JBSUFaQkFuUWdBR29pQXlBQklBS1VJQU1xQWdDU09BSUFJQWhCQW5RZ0FHb2lBQ0FKSUFLVUlBQXFBZ0NTT0FJQUlBVWtCZzhGSUFWQndNZ0RRWjd3QVJBM1FlYnJBUkEzUWUraUFoQTNRWmtCRUQ1QjlxSUNFRGRCenZBQkVEY2lCQ0FFS0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUF5Z0NBQ2dDSENFQUlBTkJDaUFBUVQ5eFFZb0JhaEVDQUNFQUlBVVFQQ0FFSUFBUVFDQUVFRDhRQUFzTEN5QUZRY0RJQTBHQTdRRVFOMEhtNndFUU4wSHZvZ0lRTjBHTUFSQStRZmFpQWhBM1FjSHRBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFGUVlET0F4QTZJZ01vQWdBb0Fod2hBQ0FEUVFvZ0FFRS9jVUdLQVdvUkFnQWhBQ0FGRUR3Z0JDQUFFRUFnQkJBL0VBQUxRd0FnQUVNQUFNQkFraUFBbEVNQUFQQkJraUFBbEVNQUFQQkNraUFBbEVNQUFMUkRraUFBbEVNQUFEUkVraUFBbEVNQUFEUkVrcnRFT1d4Uy9tdkJWaitpdGd2NERBSU9md045SXdZaERDTUdRVEJxSkFZZ0RFRWdhaUVLSUFWREFBQUFBR0JGQkVBZ0NrSEF5QU5CNmVjQkVEZEJ2dVlCRURkQjc2SUNFRGRCOXdBUVBrSDJvZ0lRTjBHSDZBRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlFc3lBRlhrVUVRQ0FLUWNESUEwR2E2QUVRTjBHKzVnRVFOMEh2b2dJUU4wSDRBQkErUWZhaUFoQTNRZXJvQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFaREFBQUFBR0JGQkVBZ0NrSEF5QU5CanVrQkVEZEJ2dVlCRURkQjc2SUNFRGRCK1FBUVBrSDJvZ0lRTjBHczZRRVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dDa0dBemdNUU9pSUpLQUlBS0FJY0lRc2dDVUVLSUF0QlAzRkJpZ0ZxRVFJQUlRa2dDaEE4SUFnZ0NSQkFJQWdRUHhBQUN5QUFLQUlvSUFRZ0F5QUFLQUlFYkdwQkJYUnFLQUlJc3lBR1hrVUVRQ0FLUWNESUEwRy82UUVRTjBHKzVnRVFOMEh2b2dJUU4wSDZBQkErUWZhaUFoQTNRWkRxQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBS1FZRE9BeEE2SWdrb0FnQW9BaHdoQ3lBSlFRb2dDMEUvY1VHS0FXb1JBZ0FoQ1NBS0VEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFBb0FpZ2dCQ0FESUFBb0FnUnNha0VGZEdvaUNTZ0NFRUVDUndSQUlBcEJ3TWdEUWJYcUFSQTNRYjdtQVJBM1FlK2lBaEEzUWY0QUVENUI5cUlDRURkQjN1b0JFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQXBCZ000REVEb2lCQ2dDQUNnQ0hDRUlJQVJCQ2lBSVFUOXhRWW9CYWhFQ0FDRUVJQW9RUENBRElBUVFRQ0FERUQ4UUFBc2dERUVZYWlFTElBeEJFR29oRHlBTVFReHFJUkFnREVFSWFpRVJJQXhCQkdvaEVpQUNRUUEyQWdBZ0JVTUFBQUEva2hCRElRTWdCa01BQUFBL2toQkRJUVFnQTBFQVRnUkFJQVJCQUVnZ0NTZ0NCQ0FEVFhKRkJFQWdDU2dDQ0NBRVN3UkFBa0JEQUFDQXYwTUFBSUEvSUFBcUFnd2dCNVFpQjBNQUFJQS9JQWRlR3lJSEVHbERBQUFBUUpTVklSY2dCeUFBS2dJUWxDSUhFR21OSVJoQkFDQURJQWREQUFBQVA1SVFReUlOYXhER0FTRUlJQU1nRFdvZ0NTZ0NCRUYvYWhDRkFpRU9RUUFnQkNBTmF4REdBU0VESUFRZ0RXb2dDU2dDQ0VGL2FoQ0ZBaUVOSUFBb0Fod2lCRUVBSUFBb0FpQWdCR3RCQW5WQkFuUVFSUm9EUUNBRElBMU1CRUFnQTdJZ0JwTVFhU0VISUFrZ0F4QlFJUk1nQ0NFRUEwQWdCQ0FPVEFSQUlBY2dCTElnQlpNUWFaSWlGaUFZWGtVRVFDQVhJQmFVRU1BSUlSWWdBQ2dDSENBRVFRTjBJQk5xSWhRcUFnQWdBQ2dDQ0NJVnNwUzdSSGZJeVcwd1g4US9vcllnRmlBVUtnSUVsQ0FWRUw4SUN5QUVRUUZxSVFRTUFRc0xJQU5CQVdvaEF3d0JDd3RCQUNFREEwQWdBeUFBS0FJVVNBUkFJQUFvQWh3aUJDQUVJQUFvQWdnUXZRZ2dBMEVCYWlFRERBRUxDeUFBS0FJSUlRTkJBQ0VFUXdBQUFBQWhCUU5BSUFRZ0EwZ0VRQ0FBS0FJY0lBUkJBblJxS2dJQUlRWWdCRUVCYWlFRUlBWWdCU0FHSUFWZUd5RUZEQUVMQ3lBRlF3QUFBQUJjQkVBZ0JVTUFBQUFBWGtVRVFDQUtRY0RJQTBIOTZnRVFOMEcrNWdFUU4wSHZvZ0lRTjBIYUFSQStRZmFpQWhBM1FhUHJBUkEzSWdRZ0JDZ0NBRUYwYWlnQ0FHb1FPeUFLUVlET0F4QTZJZ2dvQWdBb0Fod2hDU0FJUVFvZ0NVRS9jVUdLQVdvUkFnQWhDQ0FLRUR3Z0JDQUlFRUFnQkJBL0VBQUxRUUFoQkFOQUlBUWdBMDROQWlBS0lBU3lJZ2M0QWdBZ0NpQUFLQUljSWdnZ0JFRUNkR29pQ1NnQ0FDSU5OZ0lFSUFzZ0JFRi9haUlPc2pnQ0FDQUxJQU1nRG1vZ0F4QlBRUUowSUFocUtBSUFJZzQyQWdRZ0R5QUVRUUZxSWdTeU9BSUFJQThnQXlBRWFpQURFRTlCQW5RZ0NHb29BZ0FpQ0RZQ0JDQU52aUVHSUFrcUFnQWdCU0FBS2dJWWxGNEVRQ0FHSUE2K1hpQUdJQWkrWG5FRVFDQU1JQWM0QWdBZ0VDQVJJQklnQ3lBS0lBOFF2QWdFUUNBUktnSUFJUVlnRWlvQ0FCb2dFQ29DQUNJSFF3QUFBQUJjQkVBZ0RDQUdqQ0FIUXdBQUFFQ1VsVGdDQUFzTElBd3FBZ0JEQUFBQVA1SWdBQ2dDQ0xJaUJwSWdCcFc3UkJndFJGVDdJUmxBb2tRWUxVUlUreUVaUUJBZXRpRUdJQUlvQWdBaUEwRUNkQ0FCYWlBR09BSUFJQUlnQTBFQmFqWUNBQ0FBS0FJSUlRTUxDd3dBQUFzQUN3c0xDd3NnRENRR0MrVUJBUU4vSXdZaEJDTUdRUkJxSkFZQ1FBTkFJQUlnQVJCMElnTW9BZ1FnQXlnQ0FHdEJCWFZKQkVBZ0FSQjBLQUlBSUFKQkJYUnFJZ01vQWdRZ0F5Z0NERUVDZGtjTkFpQUFLQUlvSUFKQkJYUnFLQUlZSUFNb0FoZ2dBeWdDQkNBREtBSUlFTVVJSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NnQkVIQXlBTkJnZVlCRURkQnZ1WUJFRGRCNzZJQ0VEZEI0QUFRUGtIMm9nSVFOMEhBNXdFUU55SUFJQUFvQWdCQmRHb29BZ0JxRURzZ0JFR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JCQThJQUFnQVJCQUlBQVFQeEFBQzdzQkFRVi9JQUFnQXpZQ0FDQUFJQVEyQWdRZ0FFRWtOZ0lJSUFCREFBQkFRRGdDRENBQVF3QUF3RDg0QWhBZ0FFRUZOZ0lVSUFCRHpjeE1QemdDR0NBQVFSeHFRU1FRaHdFZ0FDSUdRU2hxSUFBb0FnQWdBQ2dDQkd3UTFBSkJBQ0VBQTBBZ0FDQURSd1JBSUFBZ0JHd2hCeUFCSUFCMklRZ2dBaUFBZGlFSlFRQWhCUU5BSUFRZ0JVY0VRQ0FHS0FJb0lBVWdCMnBCQlhScVFRSWdDQ0FKUVFJUXR3SWdCVUVCYWlFRkRBRUxDeUFBUVFGcUlRQU1BUXNMQ3pNQUlBQkJBRFlDQUNBQVFRQTJBZ1FnQUVJQU53SU1JQUJDQURjQ0ZDQUFRZ0EzQWh3Z0FFSUFOd0lrSUFCQ0FEY0NMQXVOQndJSmZ3SjlJQUpCZjJvaENTQUJRUVJxSWdRcUFnQWdBU29DQUNJTmt5RU9JQUFnQWtFQ2RDQUJhaUlHS2dJQUlBMlRJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQUlBNGdEcFFnRFNBTmxKS1JPQUlFUVFFaENDQUdJUWNEUUNBQVFRaHFJUVVnQjBFRWFpRUhJQWdnQ1VrRVFDQUZJQWNxQWdBZ0JDb0NBSk1pRGlBRVFRUnFJZ29xQWdBZ0JFRjhhaW9DQUpNaURSQ2RBYnRFR0MxRVZQc2hDVUNndGpnQ0FDQUFJQTBnRFpRZ0RpQU9sSktST0FJTUlBaEJBV29oQ0NBS0lRUWdCU0VBREFFTEN5QURRWDlxSVF3Z0JDb0NBQ0lOSUFSQmZHb3FBZ0NUSVE0Z0JTQUhLZ0lBSUEyVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FBSUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQ0NBRklRTWdBa0VDZENBR2FpRUVJQUVoQlFOQUlBTkJDR29oQUNBSUlBeEpCRUFnQUNBRUtnSUFJQVVxQWdDVElnNGdCa0VFYWlJQUtnSUFJQVlxQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBeUFOSUEyVUlBNGdEcFNTa1RnQ0RFRUJJUXNnQTBFUWFpRURBMEFnQkVFRWFpRUhJQVZCQkdvaEJpQUxJQWxKQkVBZ0F5QUhLZ0lBSUFZcUFnQ1RJZzRnQUVFRWFpSUtLZ0lBSUFCQmZHb3FBZ0NUSWcwUW5RRzdSQmd0UkZUN0lRbEFvTFk0QWdBZ0F5QU5JQTJVSUE0Z0RwU1NrVGdDQkNBTFFRRnFJUXNnQnlFRUlBWWhCU0FLSVFBZ0EwRUlhaUVEREFFTEN5QURJQWNxQWdBZ0Jpb0NBSk1pRGlBQUtnSUFJQUJCZkdvcUFnQ1RJZzBRblFHN1JCZ3RSRlQ3SVFsQW9MWTRBZ0FnQXlBTklBMlVJQTRnRHBTU2tUZ0NCQ0FJUVFGcUlRZ2dCRUVJYWlFRUlBVkJDR29oQlNBQVFRUnFJUVlNQVFzTElBSWdER3hCQW5RZ0FXb2lBVUVBSUFKclFRSjBhaUVDSUFGQkJHb2lCQ29DQUNBQktnSUFJZzJUSVE0Z0FDQU5JQUlxQWdDVElnMGdEaENkQWJ0RUdDMUVWUHNoQ1VDZ3RqZ0NBQ0FESUE0Z0RwUWdEU0FObEpLUk9BSU1RUUVoQlNBQUlRRWdCQ0VBQTBBZ0FVRUlhaUVESUFKQkJHb2hBaUFGSUFsSkJFQWdBeUFBS2dJQUlBSXFBZ0NUSWc0Z0FFRUVhaUlFS2dJQUlBQkJmR29xQWdDVElnMFFuUUc3UkJndFJGVDdJUWxBb0xZNEFnQWdBU0FOSUEyVUlBNGdEcFNTa1RnQ0RDQUZRUUZxSVFVZ0F5RUJJQVFoQUF3QkN3c2dBQ29DQUNJTklBQkJmR29xQWdDVElRNGdBeUFOSUFJcUFnQ1RJZzBnRGhDZEFidEVHQzFFVlBzaENVQ2d0amdDQUNBQklBNGdEcFFnRFNBTmxKS1JPQUlNQ3hzQUlBQkJCR29pQUN3QUMwRUFTQVJBSUFBb0FnQWhBQXNnQUFzTEFDQUFFTzBESUFBUU9BditCZ0VFZnlNR0lRUWpCa0VRYWlRR0lBRW9BZ0JCQVVjRVFDQUVRY0RJQTBIWDRRRVFOMEdaNEFFUU4wSHZvZ0lRTjBIS0FoQStRZmFpQWhBM1FZcmlBUkEzSWdJZ0FpZ0NBRUYwYWlnQ0FHb1FPeUFFUVlET0F4QTZJZ01vQWdBb0Fod2hCU0FEUVFvZ0JVRS9jVUdLQVdvUkFnQWhBeUFFRUR3Z0FpQURFRUFnQWhBL0VBQUxJQUVvQWhCQkFVY0VRQ0FFUWNESUEwR2k0Z0VRTjBHWjRBRVFOMEh2b2dJUU4wSExBaEErUWZhaUFoQTNRYy9pQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBRVFZRE9BeEE2SWdNb0FnQW9BaHdoQlNBRFFRb2dCVUUvY1VHS0FXb1JBZ0FoQXlBRUVEd2dBaUFERUVBZ0FoQS9FQUFMSUFBb0FoQWdBQ2dDRkd3Z0FDZ0NDQ0FBS0FJRWEwRUZkVWNFUUNBRVFjRElBMEhwNGdFUU4wR1o0QUVRTjBIdm9nSVFOMEhOQWhBK1FmYWlBaEEzUWJQakFSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ1FnQUNnQ0JDZ0NCRWNFUUNBRVFjRElBMEhXNHdFUU4wR1o0QUVRTjBIdm9nSVFOMEhPQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBRW9BZ2dnQUNnQ0JDZ0NDRWNFUUNBRVFjRElBMEd5NUFFUU4wR1o0QUVRTjBIdm9nSVFOMEhQQWhBK1FmYWlBaEEzUVpMa0FSQTNJZ0lnQWlnQ0FFRjBhaWdDQUdvUU95QUVRWURPQXhBNklnTW9BZ0FvQWh3aEJTQURRUW9nQlVFL2NVR0tBV29SQWdBaEF5QUVFRHdnQWlBREVFQWdBaEEvRUFBTElBQWdBQ2dDQkNBQkVPQUJJQUFnQUNnQ0JDSUJRU0JxSUFFUTRBRWdBQ0FBS0FJRUlnRkJRR3NnQVVFZ2FoRHVBMEVCSVFFRFFDQUJJQUFvQWhCSkJFQWdBQ2dDQkNBQklBQW9BaFJzUVFWMGFpZ0NHQ0FBS0FJRUlBRWdBQ2dDRkd4QmYycEJCWFJxS0FJWUlBQW9BZ1FnQVNBQUtBSVViRUYvYWtFRmRHb29BZ1FnQUNnQ0JDQUJJQUFvQWhSc1FYOXFRUVYwYWlnQ0NCRFVDQ0FBSUFBb0FnUWlBaUFCSUFBb0FoUnNJZ05CQVdwQkJYUnFJQU5CQlhRZ0Ftb1E0QUVnQUNBQUtBSUVJZ0lnQVNBQUtBSVViQ0lEUVFKcVFRVjBhaUFEUVFGcVFRVjBJQUpxRU80RElBRkJBV29oQVF3QkN3c2dCQ1FHQ3o4QkFuOGdBQ2dDQkNFQ0lBQW9BZ2doQVFOQUlBRWdBa2NFUUNBQUlBRkJmbW9pQVRZQ0NBd0JDd3NnQUNnQ0FDSUJCRUFnQUNnQ0RCb2dBUkE0Q3d1WEFRRUVmeUFCUVFScUlnTW9BZ0JCQUNBQUtBSUVJQUFvQWdBaUJHc2lCVUVCZFd0QkFYUnFJUUlnQXlBQ05nSUFJQVZCQUVvRVFDQUNJQVFnQlJCTUdpQURLQUlBSVFJTElBQW9BZ0FoQkNBQUlBSTJBZ0FnQXlBRU5nSUFJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0F5Z0NBRFlDQUFzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQVhRUVJSb2dBQ0FCUVFGMElBSnFOZ0lJQzI4QkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUVBU0FSQVFRZ1FCU0lERUlnQklBTkJ0SXNCTmdJQUlBTkIrUGNBUVJZUUJBVWdBVUVCZEJCUklRUUxDeUFBSUFRMkFnQWdBQ0FDUVFGMElBUnFJZ0kyQWdnZ0FDQUNOZ0lFSUFBZ0FVRUJkQ0FFYWpZQ0RBc2lBUUYvSUFBb0FnUWlBa0VBSUFGQkFYUVFSUm9nQUNBQlFRRjBJQUpxTmdJRUM2QUJBUVIvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUUYxSUFGSkJFQkIvLy8vL3djZ0FTQURJQUFvQWdCclFRRjFhaUlEU1FSQUVBQUZJQUlnQXlBQUtBSUlJQUFvQWdBaUJXc2lCQ0FFSUFOSkcwSC8vLy8vQnlBRVFRRjFRZi8vLy84RFNSc2dBQ2dDQkNBRmEwRUJkU0FBUVFocUVNd0lJQUlnQVJETENDQUFJQUlReWdnZ0FoREpDQXNGSUFBZ0FSRE5DQXNnQWlRR0N6d0JBbjhnQUNnQ0JDQUFLQUlBSWdOclFRRjFJZ0lnQVVrRVFDQUFJQUVnQW1zUXpnZ0ZJQUlnQVVzRVFDQUFJQUZCQVhRZ0EybzJBZ1FMQ3d1YkFRRUdmeUFBSUFNUTBnZ2dBRUVFYWlJR0lBTWdBQ2dDRkd3UTFBSURRQ0FFSUFOSUJFQWdBU0FFZGlFSElBSWdCSFloQ0VFQUlRVURRQ0FGSUFBb0FoUWlDVWtFUUNBR0tBSUFJQVVnQkNBSmJHcEJCWFJxUVFJZ0J5QUlRUUVRdHdJZ0JVRUJhaUVGREFFTEN5QUVRUUZxSVFRTUFRc0xJQUJCSUdvZ0FTQUNiQ0lCRU04SUlBQkJMR29nQVJDSEFTQUFRVGhxSUFFUWh3RUxPQUFnQUJEVENDQUFRZHlGQVRZQ0FDQUFRU0JxSWdCQ0FEY0NBQ0FBUWdBM0FnZ2dBRUlBTndJUUlBQkNBRGNDR0NBQVFRQTJBaUFMTlFFQmZTQUFJQUUyQWhBZ0FFRUROZ0lVSUFCRUFBQUFBQUFBNEQ4UUk3WWlBamdDR0NBQVF3QUFnRDhnQWhEU0FaVTRBaHdMTEFBZ0FFSHNoUUUyQWdBZ0FFRUVhaUlBUWdBM0FnQWdBRUlBTndJSUlBQkNBRGNDRUNBQVFRQTJBaGdMbndFQkIzOGdBa0VCZGlFSUlBTkJBWFloQ1NBQ1FRRjBJUW9EUUNBRUlBbEhCRUJCQUNFR0lBUWdDbXhCQW5RZ0FXb2lBeUFDUVFKMGFpRUZJQUFoQndOQUlBWWdDRWNFUUNBSElBTXFBZ0FnQXlvQ0JKSWdCU29DQUpJZ0JTb0NCSkpEQUFDQVBwUTRBZ0FnQmtFQmFpRUdJQVZCQ0dvaEJTQURRUWhxSVFNZ0IwRUVhaUVIREFFTEN5QUVRUUZxSVFRZ0NFRUNkQ0FBYWlFQURBRUxDd3V1Q3dJTGZ3RjlJd1loQ3lNR1FSQnFKQVlnQTBFRVRRUkFJQXRCd01nRFFmZmZBUkEzUVpuZ0FSQTNRZStpQWhBM1FhZ0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQkVFRVRRUkFJQXRCd01nRFFiVGhBUkEzUVpuZ0FSQTNRZStpQWhBM1Fha0JFRDVCOXFJQ0VEZEJvZUVCRURjaUJTQUZLQUlBUVhScUtBSUFhaEE3SUF0QmdNNERFRG9pQnlnQ0FDZ0NIQ0VHSUFkQkNpQUdRVDl4UVlvQmFoRUNBQ0VISUFzUVBDQUZJQWNRUUNBRkVEOFFBQXNnQTBGL2FpRU1JQU5CZm1vaENTQURRWDFxSVEwZ0EwRjhhaUVPSUFFaEJ3TkFJQVFnQ0VjRVFDQURJQWhzUVFKMElBSnFJZ1lxQWdBaEVDQUhJQVlxQWdnZ0VDQVFRd0FBd0VDVUlCQWdCaW9DQkpKREFBQ0FRSlNTa3BJNEFnQWdCeUFHS2dJTUlBWXFBZ0FpRUNBR0tnSUVRd0FBd0VDVUlCQWdCaW9DQ0pKREFBQ0FRSlNTa3BJNEFnUkJBaUVGSUFkQkNHb2hDZ05BSUFVZ0NVY0VRQ0FLSUFWQkFtcEJBblFnQm1vcUFnQWdCVUYrYWtFQ2RDQUdhaW9DQUNBRlFRSjBJQVpxS2dJQVF3QUF3RUNVSUFWQmYycEJBblFnQm1vcUFnQWdCVUVCYWlJRlFRSjBJQVpxS2dJQWtrTUFBSUJBbEpLU2tqZ0NBQ0FLUVFScUlRb01BUXNMSUFsQkFuUWdCMm9pQlNBTVFRSjBJQVpxSWdvcUFnQWlFQ0FPUVFKMElBWnFLZ0lBSUFsQkFuUWdCbW9pRHlvQ0FFTUFBTUJBbENBTlFRSjBJQVpxSWdZcUFnQWdFSkpEQUFDQVFKU1NrcEk0QWdBZ0JTQUtLZ0lBSWhBZ0Jpb0NBQ0FRUXdBQXdFQ1VJQkFnRHlvQ0FKSkRBQUNBUUpTU2twSTRBZ1FnQTBFQ2RDQUhhaUVISUFoQkFXb2hDQXdCQ3dzZ0JFRithaUVOUVFBaENTQURRUUowSUFGcUlnSWdBMEVDZEdvaUNDRUtJQUloQlNBQklRY2dBQ0VHQTBBZ0F5QUpSd1JBSUFZZ0Npb0NBQ0FIS2dJQUloQWdFRU1BQU1CQWxDQVFJQVVxQWdDU1F3QUFnRUNVa3BLU1F3QUFnRHVVT0FJQUlBbEJBV29oQ1NBS1FRUnFJUW9nQlVFRWFpRUZJQWRCQkdvaEJ5QUdRUVJxSVFZTUFRc0xRUUFoQmlBRFFRSjBJQWhxSVFrZ0NDRUZJQUVoQnlBRFFRSjBJQUJxSVFnRFFDQURJQVpIQkVBZ0NDQUpLZ0lBSUFjcUFnQWlFQ0FDS2dJQVF3QUF3RUNVSUJBZ0JTb0NBSkpEQUFDQVFKU1NrcEpEQUFDQU81UTRBZ0FnQmtFQmFpRUdJQWxCQkdvaENTQUZRUVJxSVFVZ0FrRUVhaUVDSUFkQkJHb2hCeUFJUVFScUlRZ01BUXNMUVFJaENBTkFJQWdnRFVjRVFFRUFJUWtnQXlBSVFYNXFiRUVDZENBQmFpSUdJQU5CQW5ScUlnY2dBMEVDZEdvaUJTQURRUUowYWlJQ0lBTkJBblJxSVFvZ0F5QUliRUVDZENBQWFpRU1BMEFnQXlBSlJ3UkFJQXdnQ2lvQ0FDQUdLZ0lBSUFVcUFnQkRBQURBUUpRZ0J5b0NBQ0FDS2dJQWtrTUFBSUJBbEpLU2trTUFBSUE3bERnQ0FDQUpRUUZxSVFrZ0NrRUVhaUVLSUFKQkJHb2hBaUFGUVFScUlRVWdCMEVFYWlFSElBWkJCR29oQmlBTVFRUnFJUXdNQVFzTElBaEJBV29oQ0F3QkN3dEJBQ0VHSUFNZ0JFRjhhbXhCQW5RZ0FXb2lCeUFEUVFKMGFpSUZJQU5CQW5ScUlnSWdBMEVDZEdvaENDQURJQTFzUVFKMElBQnFJUWtEUUNBRElBWkhCRUFnQ1NBSUtnSUFJaEFnQnlvQ0FDQUNLZ0lBUXdBQXdFQ1VJQVVxQWdBZ0VKSkRBQUNBUUpTU2twSkRBQUNBTzVRNEFnQWdCa0VCYWlFR0lBaEJCR29oQ0NBQ1FRUnFJUUlnQlVFRWFpRUZJQWRCQkdvaEJ5QUpRUVJxSVFrTUFRc0xRUUFoQlNBRElBUkJmV3BzUVFKMElBRnFJZ0lnQTBFQ2RHb2lBU0FEUVFKMGFpRUhJQU1nQkVGL2FteEJBblFnQUdvaEFBTkFJQU1nQlVjRVFDQUFJQWNxQWdBaUVDQUNLZ0lBSUJCREFBREFRSlFnQVNvQ0FDQVFra01BQUlCQWxKS1Nra01BQUlBN2xEZ0NBQ0FGUVFGcUlRVWdCMEVFYWlFSElBRkJCR29oQVNBQ1FRUnFJUUlnQUVFRWFpRUFEQUVMQ3lBTEpBWUx6Z29CREg4akJpRU1Jd1pCRUdva0JpQURRUVJOQkVBZ0RFSEF5QU5COTk4QkVEZEJtZUFCRURkQjc2SUNFRGRCTnhBK1FmYWlBaEEzUWFIaEFSQTNJZ1VnQlNnQ0FFRjBhaWdDQUdvUU95QU1RWURPQXhBNklnY29BZ0FvQWh3aENDQUhRUW9nQ0VFL2NVR0tBV29SQWdBaEJ5QU1FRHdnQlNBSEVFQWdCUkEvRUFBTElBUkJCRTBFUUNBTVFjRElBMEcwNFFFUU4wR1o0QUVRTjBIdm9nSVFOMEU0RUQ1QjlxSUNFRGRCb2VFQkVEY2lCU0FGS0FJQVFYUnFLQUlBYWhBN0lBeEJnTTRERURvaUJ5Z0NBQ2dDSENFSUlBZEJDaUFJUVQ5eFFZb0JhaEVDQUNFSElBd1FQQ0FGSUFjUVFDQUZFRDhRQUFzZ0EwRi9haUVOSUFOQmZtb2hDaUFEUVgxcUlRNGdBMEY4YWlFUElBRWhDQU5BSUFRZ0NVY0VRQ0FJSUFJZ0F5QUpiR29pQmkwQUFDSUZJQVl0QUFGcVFRSjBJQVl0QUFJZ0JVRUhiR3BxT3dFQUlBZ2dCaTBBQUNJRklBWXRBQUpxUVFKMElBWXRBQU1nQmkwQUFVRUdiQ0FGYW1wcU93RUNRUUloQlNBSVFRUnFJUXNEUUNBRklBcEhCRUFnQ3lBRlFRSnFJQVpxTFFBQUlBVkJmbW9nQm1vdEFBQWdCU0FHYWkwQUFFRUdiR29nQlVGL2FpQUdhaTBBQUNBRlFRRnFJZ2NnQm1vdEFBQnFRUUowYW1vN0FRQWdCeUVGSUF0QkFtb2hDd3dCQ3dzZ0NrRUJkQ0FJYWlJRklBWWdEV29pQ3kwQUFDSVFJQVlnRG1vaUJ5MEFBR3BCQW5RZ0JpQVBhaTBBQUNBR0lBcHFJZ1l0QUFCQkJtd2dFR3BxYWpzQkFDQUZJQXN0QUFBaUJTQUdMUUFBYWtFQ2RDQUhMUUFBSUFWQkIyeHFhanNCQWlBRFFRRjBJQWhxSVFnZ0NVRUJhaUVKREFFTEN5QUVRWDVxSVExQkFDRUpJQU5CQVhRZ0FXb2lBaUFEUVFGMGFpSUdJUW9nQWlFRklBRWhCeUFBSVFnRFFDQURJQWxIQkVBZ0NDQUtMd0VBSUFjdkFRQWlDeUFGTHdFQWFrRUNkQ0FMUVFkc2FtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0JVRUNhaUVGSUFkQkFtb2hCeUFJUVFScUlRZ01BUXNMUVFBaENDQURRUUYwSUFacUlRa2dCaUVGSUFFaEJ5QURRUUowSUFCcUlRWURRQ0FESUFoSEJFQWdCaUFKTHdFQUlBY3ZBUUFpQ2lBRkx3RUFha0VDZENBQ0x3RUFRUVpzSUFwcWFtcXlRd0FBZ0R1VU9BSUFJQWhCQVdvaENDQUpRUUpxSVFrZ0JVRUNhaUVGSUFKQkFtb2hBaUFIUVFKcUlRY2dCa0VFYWlFR0RBRUxDMEVDSVFZRFFDQUdJQTFIQkVCQkFDRUpJQU1nQmtGK2FteEJBWFFnQVdvaUNDQURRUUYwYWlJSElBTkJBWFJxSWdVZ0EwRUJkR29pQWlBRFFRRjBhaUVLSUFNZ0JteEJBblFnQUdvaEN3TkFJQU1nQ1VjRVFDQUxJQW92QVFBZ0NDOEJBQ0FGTHdFQVFRWnNhaUFITHdFQUlBSXZBUUJxUVFKMGFtcXlRd0FBZ0R1VU9BSUFJQWxCQVdvaENTQUtRUUpxSVFvZ0FrRUNhaUVDSUFWQkFtb2hCU0FIUVFKcUlRY2dDRUVDYWlFSUlBdEJCR29oQ3d3QkN3c2dCa0VCYWlFR0RBRUxDMEVBSVFnZ0F5QUVRWHhxYkVFQmRDQUJhaUlISUFOQkFYUnFJZ1VnQTBFQmRHb2lBaUFEUVFGMGFpRUdJQU1nRFd4QkFuUWdBR29oQ1FOQUlBTWdDRWNFUUNBSklBWXZBUUFpQ2lBSEx3RUFJQUl2QVFCQkJteHFJQVV2QVFBZ0NtcEJBblJxYXJKREFBQ0FPNVE0QWdBZ0NFRUJhaUVJSUFaQkFtb2hCaUFDUVFKcUlRSWdCVUVDYWlFRklBZEJBbW9oQnlBSlFRUnFJUWtNQVFzTFFRQWhCU0FESUFSQmZXcHNRUUYwSUFGcUlnSWdBMEVCZEdvaUFTQURRUUYwYWlFSElBTWdCRUYvYW14QkFuUWdBR29oQUFOQUlBTWdCVWNFUUNBQUlBY3ZBUUFpQkNBQ0x3RUFJQVJCQm14cUlBUWdBUzhCQUdwQkFuUnFhckpEQUFDQU81UTRBZ0FnQlVFQmFpRUZJQWRCQW1vaEJ5QUJRUUpxSVFFZ0FrRUNhaUVDSUFCQkJHb2hBQXdCQ3dzZ0RDUUdDNVFaQWhaL0JYd2pCaUVJSXdaQlFHc2tCaUFJUVNCcUlRb2dDRUVZYWlFTklBaEJOR29oQkNBSVFTaHFJUVVnQUVFQVJ5QUJRUUJIY1FSL0FuOGdBRUVzYWlJTFFRQTJBZ0FDUUFKQUlBQkI5SWF2QTJvaUR5Z0NBQ0lDUVFSSERRQUNRQ0FBUWZ5R3J3TnFJZ3dvQWdBaUFrRUFTZ1JBSUF3Z0FrRi9hallDQUFVQ1FDQUVJQUFvQWhBaUJ5QUFRWUNIcndOcUlnWW9BZ0JxSWdKQi93RWdBa0gvQVVnYkloQTJBZ0FnQkNBSElBQkJoSWV2QTJvaUNTZ0NBR3NpQWtFQUlBSkJBRW9iSWhFMkFnUWdCQ0FITmdJSUlBQkI0SWFuQW1vaEF5QUFRYmo0QUdvaERpQUFRYkQ0QUdvaEVpQUFRZkNHcndOcUlSTWdBRUdRaDY4RGFpRVVJQUJCTUdvaEZTQUFRWmlIcndOcUlSWkJBQ0VDQWtBQ1FBTkFJQUpCQTBrRVFDQUJLQUlNSUFBb0FpUWdBQ2dDS0NBQUtBSUFJQUFvQWd3Z0FrRUNkQ0FFYWlnQ0FDQUFLQUlVSUFOQkFCQzZBa0VBU0EwQ0lBQW9BaVFnQUNnQ0tDQURJQUFvQWhRZ0RpQVNFT3dEUVFCSURRSWdBU2dDQUNBQUtBSWtJQUFvQWlnZ0FDZ0NCQ0FPSUJJb0FnQWdFeWdDQUNBQUtBSVVJQUFvQWhnZ0FDZ0NJRUc0QVdvZ0ZDc0RBQ0FWSUFzZ0ZpZ0NBQkRlQTBFQVNBMENJQUpCQW5RZ0JXb2dDeWdDQURZQ0FDQUNRUUZxSVFJTUFRc0xEQUVMUVg4TUJnc2dBQ2dDQUVFQlJnUkFJQVVvQWdRaERpQUZLQUlJSVFNZ0JTZ0NBQ0VDSUFnZ0VUWUNBQ0FJSUE0MkFnUWdDQ0FITmdJSUlBZ2dBellDRENBSUlCQTJBaEFnQ0NBQ05nSVVRUUJCQTBHaXB3RWdDQkE5QlNBRktBSUFJUUlnQlNnQ0NDRURDeUFDSUFOS0lBVW9BZ1FpQlNBRFNuSUVRQ0FBSUJFZ0VDQUNJQVZJR3lJQ05nSVFJQWtnQWlBSGF5SURRUUJLQkg4Z0JpQUROZ0lBUVFFRklBWkJBVFlDQUVFQUlBTnJDellDQUNBQUtBSUFRUUZHQkVBZ0RTQUNOZ0lBUVFCQkEwSHVwd0VnRFJBOUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFRc2dCaWdDQUNJQklBa29BZ0FpQWtnRVFDQUdJQUZCQVdvaUFUWUNBQVVnQVNBQ1RBUkFJQVlnQVVFQmFpSUJOZ0lBQ3lBSklBSkJBV28yQWdBTElBY2dBU0FIYWtIK0FVb0VmeUFHUVFFMkFnQkJBUVVnQVF0TUJFQWdDVUVCTmdJQUN5QU1JQUJCK0lhdkEyb29BZ0EyQWdBTUFnc0xJQThvQWdBaEFnd0JDd3dCQ3dKQUFrQUNRQUpBSUFKQkFXc09Bd0VCQUFJTElBQkJpSWV2QTJvaUFpZ0NBQ0FCS0FJTUVOZ0hJZ05CQUVnRVFDQUREQVVMSUFFb0Fnd2dBaWdDQUNJREtBSUVJQU1vQWdnZ0FDZ0NBQ0FBS0FJTVFRQkJBQ0FBUWVDR3B3SnFJZ0lnQXlnQ0FCQzZBaUlEUVFCSUJFQWdBd3dGQ3lBQVFTUnFJUU1nQUVFb2FpRUVJQUJCRkdvaEJRd0NDeUFBUWZ5R3J3TnFJZ01vQWdBaUJVRUFTZ1JBSUFNZ0JVRi9hallDQUF3QkN5QUFRWWlIcndOcUtBSUFJUVVnQVNnQ0RDRUhJQUpCQVVZRWZ5QUZJQWNnQkJEa0J3VWdCU0FISUFRUTRBY0xJZ0pCQUVnRVFDQUNEQVFMSUFBb0FnQkJBVVlFUUNBRUxRQUFJZ0lnQUNnQ0VFY0VRQ0FLUWFLb0FVR3BxQUVnRHlnQ0FFRUJSaHMyQWdBZ0NpQUNOZ0lFUVFCQkEwR3VxQUVnQ2hBOUN3c2dBQ0FFTFFBQU5nSVFJQU1nQUVINGhxOERhaWdDQURZQ0FBdEJmeUFCS0FJTUlBQkJKR29pQXlnQ0FDQUFRU2hxSWdRb0FnQWdBQ2dDQUNBQUtBSU1JQUFvQWhBZ0FFRVVhaUlGS0FJQUlBQkI0SWFuQW1vaUFrRUFFTG9DUVFCSURRSWFDMEYvSUFNb0FnQWdCQ2dDQUNBQ0lBVW9BZ0FnQUVHNCtBQnFJZ0lnQUVHdytBQnFJZ2NRN0FOQkFFZ05BUnBCZnlBQktBSUFJQU1vQWdBZ0JDZ0NBQ0FBS0FJRUlBSWdCeWdDQUNBQVFmQ0dyd05xS0FJQUlBVW9BZ0FnQUNnQ0dDQUFLQUlnUWJnQmFpQUFRWkNIcndOcUt3TUFJQUJCTUdvZ0N5QUFRWmlIcndOcUtBSUFFTjREUVFCSURRRWFDeUFBS0FJY1FRRkdCRUFnQUJEdkEwRUFEQUVMSUFCQitJcW1BbW9pQnlnQ0FDRUpRUUFoQXdOQUlBTWdDVWdFUUNBTEtBSUFJUVFnQUVHQWk2WUNhaUFEUVlnQ2JHb2hCU0FBSUFOQmlBSnNha0c0aTZZQ2FpRUdJQUFnQTBHSUFteHFRY0NMcGdKcUlRcEJBQ0VDUVg4aEFVUUFBQUFBQUFEZ1B5RVpBMEFnQWlBRVNBUkFJQVVvQWdDM0lBQkJNR29nQWtFSWRHb29BZ0MzSWhpaklocEVabVptWm1abTVqOWpJQnBFNFhvVXJrZmg5ajlrY2tVRVFDQUFJQUpCQ0hScUt3Tm9JQVlyQXdDaElob2dHcUlnQUNBQ1FRaDBhaXNEY0NBS0t3TUFvU0lhSUJxaW9DQVlveUlZSUJsakJFQWdHQ0VaSUFJaEFRc0xJQUpCQVdvaEFnd0JDd3NnQVVGL1NnUkFBa0FDUUFKQUFrQWdBQ2dDR0NJS0RnVUNBZ0lBQUFFTElBQWdBVUVJZEdvaUJDc0RXQ0FBSUFOQmlBSnNha0dvaTZZQ2Fpc0RBQ0lZWXdSQUlBQWdBVUVJZEdwQjRBQnFJUUlnQUNBRFFZZ0NiR3BCc0l1bUFtb3JBd0FoR1FVZ0FDQUJRUWgwYWtIZ0FHb2lBaXNEQUNBQUlBTkJpQUpzYWtHd2k2WUNhaXNEQUNJWlkwVU5Bd3NnQkNBWU9RTllJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJpSXVtQW1vb0FnQTJBamdnQWlBWk9RTUFJQUFnQVVFSWRHb2dBQ0FEUVlnQ2JHcEJqSXVtQW1vb0FnQTJBanhCQUNFRlFYOGhBa1FBQUFBQWhOZVhRU0VZQTBBZ0JVRUVSd1JBUVFBaEJFUUFBQUFBQUFBQUFDRVpBMEFnQkVFRVJ3UkFJQUFnQTBHSUFteHFRYWlNcGdKcUlBUkJCSFJxS3dNQUlBQWdBVUVJZEdwQjJBRnFJQVFnQldwQkEzRWlCa0VFZEdvckF3Q2hJUm9nQUNBRFFZZ0NiR29nQkVFRWRHcEJzSXltQW1vckF3QWdBQ0FCUVFoMGFpQUdRUVIwYWlzRDRBR2hJUnNnQkVFQmFpRUVJQmtnR2lBYW9pQWJJQnVpb0tBaEdRd0JDd3NnQlNBQ0lCa2dHR01pQkJzaEFpQUZRUUZxSVFVZ0dTQVlJQVFiSVJnTUFRc0xJQUFnQVVFSWRHcEJCQ0FDYXlJQ0lBQWdBMEdJQW14cVFaU0xwZ0pxS0FJQWFrRUVFRTgyQWtRZ0FDQUJRUWgwYWlBQ0lBQWdBMEdJQW14cVFaaUxwZ0pxS0FJQWFrRUVFRTgyQWtnTUFndEJmd3dGQ3lBQUlBRkJDSFJxSWdJckExQWdBQ0FEUVlnQ2JHcEJvSXVtQW1vckF3QWlHbU1FUUNBQ0lCbzVBMUFnQUNBQlFRaDBhaUFBSUFOQmlBSnNha0dFaTZZQ2FpZ0NBQ0lHTmdJMElBQWdBMEdJQW14cVFaQ0xwZ0pxSVF4QmZ5RUNSQUFBQUFDRTE1ZEJJUmxCQUNFRkEwQWdCVUVFUndSQVFRQWhCRVFBQUFBQUFBQUFBQ0VZQTBBZ0JFRUVSd1JBSUFBZ0EwR0lBbXhxUWFpTXBnSnFJQVJCQkhScUt3TUFJQUFnQVVFSWRHcEIyQUZxSUFRZ0JXcEJBM0VpRFVFRWRHb3JBd0NoSVJzZ0FDQURRWWdDYkdvZ0JFRUVkR3BCc0l5bUFtb3JBd0FnQUNBQlFRaDBhaUFOUVFSMGFpc0Q0QUdoSVJ3Z0JFRUJhaUVFSUJnZ0d5QWJvaUFjSUJ5aW9LQWhHQXdCQ3dzZ0dDQVpZd1JBSUJnaEdTQU1LQUlBUVFRZ0JXdHFRUVFRVHlFQ0N5QUZRUUZxSVFVTUFRc0xJQUFnQVVFSWRHcEJRR3NnQWpZQ0FDQUtRUUpKQkVBZ0FDQUJRUWgwYWlBR05nSTRJQUFnQVVFSWRHb2dHamtEV0NBQUlBRkJDSFJxSUFJMkFrUUZJQUFnQVVFSWRHb2dCallDUENBQUlBRkJDSFJxSUJvNUEyQWdBQ0FCUVFoMGFpQUNOZ0pJQ3dzTEN5QURRUUZxSVFNTUFRc0xJQUFRN3dOQkFDRUNRUUFoQVFOQUlBSWdCeWdDQUVnRVFDQUFJQUpCaUFKc2FrR0FqYVlDYWlJRUtBSUFJUU1nQkNBRFFRRnFOZ0lBSUFOQkEwZ0VRQ0FCSUFKSEJFQWdBRUdBaTZZQ2FpQUJRWWdDYkdvZ0FFR0FpNllDYWlBQ1FZZ0NiR3BCaUFJUVRCb0xJQUZCQVdvaEFRc2dBa0VCYWlFQ0RBRUxDeUFISUFFMkFnQWdDeWdDQUNFRFFRQWhCQU5BQWtBZ0JDQURUZzBBSUFCQk1Hb2dCRUVJZEdvaEJTQUFJQVJCQ0hScUtBSTBJZ1pCQUU0RVFFRUFJUUlEUUFKQUlBSWdBVTROQUNBR0lBQWdBa0dJQW14cVFZU0xwZ0pxS0FJQVJnMEFJQUpCQVdvaEFnd0JDd3NnQVNBQ1JnUkFJQUZCUEVZTkFpQUhJQUZCQVdvaUFUWUNBQXNnQUVHQWk2WUNhaUFDUVlnQ2JHb2dCVUdBQWhCTUdpQUFJQUpCaUFKc2FrR0FqYVlDYWtFQk5nSUFDeUFFUVFGcUlRUU1BUXNMSUFBb0FoeEJBa1lFZjBFQUJVRUFJUVFnQVNFQ0lBTWhBUU5BUVFBZ0JDQUNUZzBDR2lBQVFZQ0xwZ0pxSUFSQmlBSnNhaUVGSUFBZ0JFR0lBbXhxUWJpTHBnSnFJUVlnQUNBRVFZZ0NiR3BCd0l1bUFtb2hDVUVBSVFNRFFBSkFJQU1nQVU0TkFDQUZLQUlBdHlBQVFUQnFJQU5CQ0hScUtBSUF0eUlab3lJWVJHWm1abVptWnVZL1l5QVlST0Y2Rks1SDRmWS9aSEpGQkVBZ0FDQURRUWgwYWlzRGFDQUdLd01Bb1NJWUlCaWlJQUFnQTBFSWRHb3JBM0FnQ1NzREFLRWlHQ0FZb3FBZ0dhTkVBQUFBQUFBQTREOWpEUUVMSUFOQkFXb2hBd3dCQ3dzZ0FTQURSZ1JBSUFCQk1Hb2dBVUVJZEdvZ0FFR0FpNllDYWlBRVFZZ0NiR3BCZ0FJUVRCb2dDeUFCUVFGcUlnRTJBZ0FnQnlnQ0FDRUNDeUFFUVFGcUlRUU1BQUFMQUFzTEJVRi9DeUVYSUFna0JpQVhDd3NBSUFBUXhnSWdBQkE0Q3dzQUlBQVF4d0lnQUJBNEM3d0JBUU4vSXdZaEFpTUdRUkJxSkFZZ0FDZ0NCQ0FBS0FJQUlnTnJRUVYxSUFGTEJFQWdBeWdDQkNBQUtBSUFJQUZCQlhScUtBSUVFRWl6RVBFREVQQURFRU1oQkNBQ0pBWWdCQThGSUFKQndNZ0RRWlhmQVJBM1FjN0xBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCdzk4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUFTZ0NBQ2dDSENFRElBRkJDaUFEUVQ5eFFZb0JhaEVDQUNFQklBSVFQQ0FBSUFFUVFDQUFFRDhRQUF0QkFBdEpBUUYvSUFBb0FnZ2hBZ05BSUFKQ0FEY0NBQ0FDUWdBM0FnZ2dBa0lBTndJUUlBSkNBRGNDR0NBQ1FRQTJBaUFnQUNBQUtBSUlRU1JxSWdJMkFnZ2dBVUYvYWlJQkRRQUxDMGtCQVg4Z0FDZ0NCQ0VDQTBBZ0FrSUFOd0lBSUFKQ0FEY0NDQ0FDUWdBM0FoQWdBa0lBTndJWUlBSkJBRFlDSUNBQUlBQW9BZ1JCSkdvaUFqWUNCQ0FCUVg5cUlnRU5BQXNMcGdFQkJYOGpCaUVDSXdaQklHb2tCaUFBS0FJSUlBQW9BZ1FpQTJ0QkpCQTVJQUZKQkVCQngrUHhPQ0FESUFBb0FnQnJRU1FRT1NBQmFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkd0QkpCQTVJZ1ZCQVhRaUJpQUdJQU5KRzBISDQvRTRJQVZCNC9HNEhFa2JJQUFvQWdRZ0JHdEJKQkE1SUFCQkNHb1EwQUlnQWlBQkVOc0lJQUFnQWhEUEFpQUNFTTRDQ3dVZ0FDQUJFTndJQ3lBQ0pBWUxvQXdDQm44RmZTTUdJUWNqQmtFUWFpUUdJQVNPRUVNaUNpQUVFRU5IQkVBZ0IwSEF5QU5CNnRFQkVEZEJudElCRURkQjc2SUNFRGRCeFFBUVBrSDJvZ0lRTjBHVDB3RVFOeUlJSUFnb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lRWWdDVUVLSUFaQlAzRkJpZ0ZxRVFJQUlRWWdCeEE4SUFnZ0JoQkFJQWdRUHhBQUN5QUZqaEJESWdzZ0JSQkRSd1JBSUFkQndNZ0RRYkhUQVJBM1FaN1NBUkEzUWUraUFoQTNRY1lBRUQ1QjlxSUNFRGRCazlNQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFR0lBbEJDaUFHUVQ5eFFZb0JhaEVDQUNFR0lBY1FQQ0FJSUFZUVFDQUlFRDhRQUFzZ0N5QUNTU0FMUVg5S2NVVUVRQ0FIUWNESUEwSGwwd0VRTjBHZTBnRVFOMEh2b2dJUU4wSFBBQkErUWZhaUFoQTNRWlBVQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoQmlBSlFRb2dCa0UvY1VHS0FXb1JBZ0FoQmlBSEVEd2dDQ0FHRUVBZ0NCQS9FQUFMSUF0QkFXb2lDU0FDVHdSQUlBZEJ3TWdEUWFUVUFSQTNRWjdTQVJBM1FlK2lBaEEzUWRBQUVENUI5cUlDRURkQjROUUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lCaWdDQUNnQ0hDRUNJQVpCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUNJQWNRUENBSUlBSVFRQ0FJRUQ4UUFBc2dDaUFCU1NBS1FYOUtjVVVFUUNBSFFjRElBMEg0MUFFUU4wR2UwZ0VRTjBIdm9nSVFOMEhSQUJBK1FmYWlBaEEzUWFYVkFSQTNJZ2dnQ0NnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnWW9BZ0FvQWh3aEFpQUdRUW9nQWtFL2NVR0tBV29SQWdBaEFpQUhFRHdnQ0NBQ0VFQWdDQkEvRUFBTElBcEJBV29pQ0NBQlR3UkFJQWRCd01nRFFiYlZBUkEzUVo3U0FSQTNRZStpQWhBM1FkSUFFRDVCOXFJQ0VEZEI4ZFVCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQ0xJZ0JKTWlEaUFKc2lBRmt5SU1sQ0lOUXdBQUFBQmdSU0FOdTBSeHJJdmJhQUR3UDJWRmNnUkFJQWRCd01nRFFZbldBUkEzUVo3U0FSQTNRZStpQWhBM1FkNEFFRDVCOXFJQ0VEZEJ1TllCRURjaUJpQUdLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQWlnQ0FDZ0NIQ0VCSUFKQkNpQUJRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUdJQUVRUUNBR0VEOFFBQXNnQkNBS3NwTWlEeUFNbENJTVF3QUFBQUJnUlNBTXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRY1hXQVJBM1FaN1NBUkEzUWUraUFoQTNRZDhBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0RpQUZJQXV5a3lJRWxDSUZRd0FBQUFCZ1JTQUZ1MFJ4ckl2YmFBRHdQMlZGY2dSQUlBZEJ3TWdEUWZUV0FSQTNRWjdTQVJBM1FlK2lBaEEzUWVBQUVENUI5cUlDRURkQnVOWUJFRGNpQmlBR0tBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBaWdDQUNnQ0hDRUJJQUpCQ2lBQlFUOXhRWW9CYWhFQ0FDRUJJQWNRUENBR0lBRVFRQ0FHRUQ4UUFBc2dEeUFFbENJRVF3QUFBQUJnUlNBRXUwUnhySXZiYUFEd1AyVkZjZ1JBSUFkQndNZ0RRYVBYQVJBM1FaN1NBUkEzUWUraUFoQTNRZUVBRUQ1QjlxSUNFRGRCdU5ZQkVEY2lCaUFHS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFpZ0NBQ2dDSENFQklBSkJDaUFCUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FHSUFFUVFDQUdFRDhRQUFzZ0F5QUFJQU1nQzJ4cUlnRnFJUUFnQkNBRklBMGdESktTa3J0RWNheUwyMmdBOEQ5bEJFQWdEU0FLUVFKMElBRnFLZ0lBbENBTUlBaEJBblFnQVdvcUFnQ1VraUFGSUFwQkFuUWdBR29xQWdDVWtpQUVJQWhCQW5RZ0FHb3FBZ0NVa2lFUUlBY2tCaUFRRHdVZ0IwSEF5QU5CMHRjQkVEZEJudElCRURkQjc2SUNFRGRCNGdBUVBrSDJvZ0lRTjBHNDFnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRQWdBVUVLSUFCQlAzRkJpZ0ZxRVFJQUlRQWdCeEE4SUFJZ0FCQkFJQUlRUHhBQUMwTUFBQUFBQzc4SkFnMS9CWDBqQmlFS0l3WkJJR29rQmlBS1FSeHFJUWNnQ2tFWWFpRUxJQXBCRkdvaERDQUtRUkJxSVE4Z0NrRU1haUVRSUFwQkNHb2hFU0FLUVFScUlSSWdCVUVBU2dSQUlBVkJBV29nQXlnQ0JFa0VRQ0FHUVg5cUlRNGdCa0VBU2dSQUlBWkJBV29pRXlBREtBSUlTUVJBSUFNb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwSGt6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSHBBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnUWdBaWdDQkVFQmRrY0VRQ0FIUWNESUEwRzcwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHFBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFNb0FnZ2dBaWdDQ0VFQmRrY0VRQ0FIUWNESUEwSDAwQUVRTjBIT3l3RVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWjNRQVJBM0lnZ2dDQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdrb0FnQW9BaHdoRFNBSlFRb2dEVUUvY1VHS0FXb1JBZ0FoQ1NBSEVEd2dDQ0FKRUVBZ0NCQS9FQUFMSUFRb0FnZ2dBaWdDQ0VFQmRrWUVRQ0FESUFZUVVDQUZRUUowYWlFSUlBUWdEaEJRSUFWQkFuUnFJUTRnQkNBR0VGQWdCVUVDZEdvaEJ5QUVJQk1RVUNBRlFRSjBhaUVFSUFzZ0RDQUZzaUFHc2tFQkVPRUJJQThnRUNBUklCSWdDaUFESUFVZ0JoREpBaUFDSUFzcUFnQWdEQ29DQUJCTklSUWdCeW9DQUNJWElCUWdDQ29DQUVNQUFBQkFsSk9TSVJnZ0FpQUxLZ0lBUXdBQUFNQ1NJQXdxQWdBUVRTQUhLZ0lFa2lBQ0lBc3FBZ0JEQUFBQVFKSWdEQ29DQUJCTklBZEJmR29xQWdDU2swTUFBSUErbENFVklBSWdDeW9DQUNBTUtnSUFRd0FBQU1DU0VFMGdCQ29DQUpJZ0FpQUxLZ0lBSUF3cUFnQkRBQUFBUUpJUVRTQU9LZ0lBa3BOREFBQ0FQcFFoRmlBQUlCRW9BZ0EyQWdBZ0FDQUtLQUlBSWdJMkFnUWdBQ0FWT0FJSUlBQWdBallDRENBQUlCSW9BZ0EyQWhBZ0FDQVdPQUlVSUFBZ0ZUZ0NHQ0FBSUJZNEFod2dBQ0FZT0FJZ0lBRWdEeW9DQUl3NEFnQWdBU0FRS2dJQWpEZ0NCQ0FCSUJjZ0ZKTkRBQUFBUDVTTU9BSUlJQW9rQmc4RklBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWV3Q0VENUI5cUlDRURkQm5kQUJFRGNpQUNBQUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWNRUENBQUlBRVFRQ0FBRUQ4UUFBc0xDeUFIUWNESUEwR1p6d0VRTjBIT3l3RVFOMEh2b2dJUU4wSG9BaEErUWZhaUFoQTNRZFRQQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMQ3lBSFFjRElBMEhQemdFUU4wSE95d0VRTjBIdm9nSVFOMEhuQWhBK1FmYWlBaEEzUVluUEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTHp3MENEbjhGZlNNR0lRc2pCa0VnYWlRR0lBdEJIR29oQnlBTFFSaHFJUTBnQzBFVWFpRU1JQXRCRUdvaEVTQUxRUXhxSVJJZ0MwRUlhaUVUSUF0QkJHb2hGQ0FGUVFCS0JFQWdCVUVCYWlBREtBSUVTUVJBSUFaQmYyb2hEaUFHUVFCS0JFQWdCa0VCYWlJUElBTW9BZ2hKQkVBZ0FpZ0NCQ0FES0FJRVJ3UkFJQWRCd01nRFFmTFlBUkEzUWM3TEFSQTNRZStpQWhBM1FaOERFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQkNnQ0JDQUNLQUlFUVFGMlJ3UkFJQWRCd01nRFFidlFBUkEzUWM3TEFSQTNRZStpQWhBM1FhQURFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ2lnQ0FDZ0NIQ0VKSUFwQkNpQUpRVDl4UVlvQmFoRUNBQ0VLSUFjUVBDQUlJQW9RUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFFREVENUI5cUlDRURkQm5kQUJFRGNpQ0NnQ0FFRjBhaWdDQUNBSWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dCQ2dDQ0NBQ0tBSUlRUUYyUndSQUlBZEJ3TWdEUWEvUkFSQTNRYzdMQVJBM1FlK2lBaEEzUWFJREVENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDaWdDQUNnQ0hDRUpJQXBCQ2lBSlFUOXhRWW9CYWhFQ0FDRUtJQWNRUENBSUlBb1FRQ0FJRUQ4UUFBc2dBaUFPRUZBaENDQUNJQVlRVUNFT0lBSWdEeEJRSVE4Z0F5QUdFRkFoQ2lBTklBd2dCYklnQnJKQkFSRExBaUFOS2dJQUloVkRBQUFBdjVKREFBQUFBR0JGQkVBZ0IwSEF5QU5CM05rQkVEZEJ6c3NCRURkQjc2SUNFRGRCckFNUVBrSDJvZ0lRTjBHRjJnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUpLQUlBS0FJY0lSQWdDVUVLSUJCQlAzRkJpZ0ZxRVFJQUlRa2dCeEE4SUFJZ0NSQkFJQUlRUHhBQUN5QU1LZ0lBUXdBQUFMK1NRd0FBQUFCZ1JRUkFJQWRCd01nRFFidmFBUkEzUWM3TEFSQTNRZStpQWhBM1FhMERFRDVCOXFJQ0VEZEI1Tm9CRURjaUFpQUNLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VRSUFsQkNpQVFRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUNJQWtRUUNBQ0VEOFFBQXNnRlVNQUFBQS9raUFFS0FJRXMxMUZCRUFnQjBIQXlBTkJtdHNCRURkQnpzc0JFRGRCNzZJQ0VEZEJyZ01RUGtIMm9nSVFOMEdGMmdFUU55SUNJQUlvQWdCQmRHb29BZ0JxRURzZ0IwR0F6Z01RT2lJSktBSUFLQUljSVJBZ0NVRUtJQkJCUDNGQmlnRnFFUUlBSVFrZ0J4QThJQUlnQ1JCQUlBSVFQeEFBQ3lBRlFRSjBJQWhxSVFnZ0JVRUNkQ0FPYWlFQ0lBVkJBblFnRDJvaERpQUZRUUowSUFwcUlROGdEQ29DQUVNQUFBQS9raUFFS0FJSXMxMEVRQ0FSSUJJZ0V5QVVJQXNnQXlBRklBWVF5UUlnQkNBTktnSUFJQXdxQWdBUVRTSVhJQUlxQWdBaUdDQVBLZ0lBUXdBQUFFQ1VrNUloR1NBQ1FYeHFLZ0lBSUFRZ0RTb0NBRU1BQUFBL2tpQU1LZ0lBRUUyU0lBSXFBZ1FnQkNBTktnSUFRd0FBQUwrU0lBd3FBZ0FRVFpLVFF3QUFnRDZVSVJVZ0NDb0NBQ0FFSUEwcUFnQWdEQ29DQUVNQUFBQS9raEJOa2lBT0tnSUFJQVFnRFNvQ0FDQU1LZ0lBUXdBQUFMK1NFRTJTazBNQUFJQStsQ0VXSUFBZ0V5Z0NBRFlDQUNBQUlBc29BZ0FpQWpZQ0JDQUFJQlU0QWdnZ0FDQUNOZ0lNSUFBZ0ZDZ0NBRFlDRUNBQUlCWTRBaFFnQUNBVk9BSVlJQUFnRmpnQ0hDQUFJQms0QWlBZ0FTQVJLZ0lBakRnQ0FDQUJJQklxQWdDTU9BSUVJQUVnRnlBWWswTUFBQUEvbEl3NEFnZ2dDeVFHRHdVZ0IwSEF5QU5CemRzQkVEZEJ6c3NCRURkQjc2SUNFRGRCcndNUVBrSDJvZ0lRTjBIazJnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc2dCMEdBemdNUU9pSUJLQUlBS0FJY0lRSWdBVUVLSUFKQlAzRkJpZ0ZxRVFJQUlRRWdCeEE4SUFBZ0FSQkFJQUFRUHhBQUN3c0xJQWRCd01nRFFablBBUkEzUWM3TEFSQTNRZStpQWhBM1FaNERFRDVCOXFJQ0VEZEIxTThCRURjaUFDQUFLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQVNnQ0FDZ0NIQ0VDSUFGQkNpQUNRVDl4UVlvQmFoRUNBQ0VCSUFjUVBDQUFJQUVRUUNBQUVEOFFBQXNMSUFkQndNZ0RRYy9PQVJBM1FjN0xBUkEzUWUraUFoQTNRWjBERUQ1QjlxSUNFRGRCaWM4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUF2OENBSU1md1Y5SXdZaENpTUdRU0JxSkFZZ0NrRVVhaUVISUFwQkVHb2hEU0FLUVF4cUlRNGdDa0VJYWlFUElBcEJCR29oRUNBRlFRQktCRUFnQlVFQmFpQURLQUlFU1FSQUlBWkJmMm9oRENBR1FRQktCRUFnQmtFQmFpSVJJQU1vQWdoSkJFQWdBaWdDQkNBREtBSUVSd1JBSUFkQndNZ0RRZkxZQVJBM1FjN0xBUkEzUWUraUFoQTNRYmNDRUQ1QjlxSUNFRGRCbmRBQkVEY2lDQ0FJS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUNTZ0NBQ2dDSENFTElBbEJDaUFMUVQ5eFFZb0JhaEVDQUNFSklBY1FQQ0FJSUFrUVFDQUlFRDhRQUFzZ0FpZ0NCQ0FFS0FJRVJ3UkFJQWRCd01nRFFZSGNBUkEzUWM3TEFSQTNRZStpQWhBM1FiZ0NFRDVCOXFJQ0VEZEJuZEFCRURjaUNDQUlLQUlBUVhScUtBSUFhaEE3SUFkQmdNNERFRG9pQ1NnQ0FDZ0NIQ0VMSUFsQkNpQUxRVDl4UVlvQmFoRUNBQ0VKSUFjUVBDQUlJQWtRUUNBSUVEOFFBQXNnQWlnQ0NDQURLQUlJUndSQUlBZEJ3TWdEUWFiWkFSQTNRYzdMQVJBM1FlK2lBaEEzUWJrQ0VENUI5cUlDRURkQm5kQUJFRGNpQ0NBSUtBSUFRWFJxS0FJQWFoQTdJQWRCZ000REVEb2lDU2dDQUNnQ0hDRUxJQWxCQ2lBTFFUOXhRWW9CYWhFQ0FDRUpJQWNRUENBSUlBa1FRQ0FJRUQ4UUFBc2dBaWdDQ0NBRUtBSUlSZ1JBSUFJZ0RCQlFJQVZCQW5ScUlSSWdBaUFHRUZBZ0JVRUNkR29oQnlBQ0lCRVFVQ0FGUVFKMGFpRUpJQU1nQmhCUUlBVkJBblJxSVFzZ0JDQU1FRkFnQlVFQ2RHb2hEQ0FFSUFZUVVDQUZRUUowYWlFQ0lBUWdFUkJRSUFWQkFuUnFJUVFnRFNBT0lBOGdFQ0FLSUFNZ0JTQUdFTWtDSUFJcUFnQWlGU0FIS2dJQUloWWdDeW9DQUVNQUFBQkFsSk9TSVJjZ0IwRjhhaW9DQUNBSEtnSUVreUFDS2dJRUlBSkJmR29xQWdDVGtrTUFBSUErbENFVElCSXFBZ0FnQ1NvQ0FKTWdCQ29DQUNBTUtnSUFrNUpEQUFDQVBwUWhGQ0FBSUE4b0FnQTJBZ0FnQUNBS0tBSUFJZ0kyQWdRZ0FDQVRPQUlJSUFBZ0FqWUNEQ0FBSUJBb0FnQTJBaEFnQUNBVU9BSVVJQUFnRXpnQ0dDQUFJQlE0QWh3Z0FDQVhPQUlnSUFFZ0RTb0NBSXc0QWdBZ0FTQU9LZ0lBakRnQ0JDQUJJQlVnRnBOREFBQUFQNVNNT0FJSUlBb2tCZzhGSUFkQndNZ0RRYlhjQVJBM1FjN0xBUkEzUWUraUFoQTNRYm9DRUQ1QjlxSUNFRGRCbmRBQkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBZEJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBY1FQQ0FBSUFFUVFDQUFFRDhRQUFzTEN5QUhRY0RJQTBHWnp3RVFOMEhPeXdFUU4wSHZvZ0lRTjBHMkFoQStRZmFpQWhBM1FkVFBBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ0VvQWdBb0Fod2hBaUFCUVFvZ0FrRS9jVUdLQVdvUkFnQWhBU0FIRUR3Z0FDQUJFRUFnQUJBL0VBQUxDeUFIUWNESUEwSFB6Z0VRTjBIT3l3RVFOMEh2b2dJUU4wRzFBaEErUWZhaUFoQTNRWW5QQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3lBSFFZRE9BeEE2SWdFb0FnQW9BaHdoQWlBQlFRb2dBa0UvY1VHS0FXb1JBZ0FoQVNBSEVEd2dBQ0FCRUVBZ0FCQS9FQUFMV2dFQ2ZTQUFLZ0lnSUFBcUFnUVFhWlFoQVNBQUtnSUVRd0FBQUVDVUlBQXFBZ2dpQXBRZ0FDb0NGSlFnQVpNZ0FDb0NFQ0FDRUdtVWt5QUFLZ0lBSUFBcUFoUVFhWlNUSUFBcUFnQWdBQ29DRUpRZ0FDb0NJSlNTQzh3QkFRSi9Jd1loQWlNR1FSQnFKQVlnQUFSL0lBRWdBQ2dDQkVZRWYwRUFCUUovSUFGQkQwOEVRQ0FDSUFFMkFnQkJBRUVEUWZHbUFTQUNFRDFCZnd3QkN5QUFJQUUyQWdRZ0FDQUJFSlVHTmdJSUlBQW9BaGdoQTBHZzRBRWdBVUgvL3dGeGRrRUJjUVJBQWtBQ1FBSkFJQU1PQkFBQ0FnRUNDeUFBUVFFMkFoaEJBQXdEQ3lBQVFRUTJBaGhCQUF3Q0N3VUNRQUpBQWtBZ0EwRUJhdzRFQUFJQ0FRSUxJQUJCQkRZQ0dFRUFEQU1MSUFCQkF6WUNHRUVBREFJTEMwRUFDd3NGUVg4TEdpQUNKQVlMZWdBZ0FDQUJLZ0lBSUFJcUFnQ1VJQUVxQWdRZ0Fpb0NCSlNTSUFFcUFnZ2dBaW9DQ0pTU09BSUFJQUFnQVNvQ0RDQUNLZ0lBbENBQktnSVFJQUlxQWdTVWtpQUJLZ0lVSUFJcUFnaVVramdDQkNBQUlBRXFBaGdnQWlvQ0FKUWdBU29DSENBQ0tnSUVsSklnQVNvQ0lDQUNLZ0lJbEpJNEFnZ0w2d0VCQVgwZ0FSRGlDQ0lDaTBNQUFBQTBYd1IvUVFBRklBQkRBQUNBUHlBQ2xTSUNJQUVxQWhBZ0FTb0NGQ0FCS2dJZ0VNb0NsRGdDQUNBQUlBSWdBU29DQ0NBQktnSUVJQUVxQWlBZ0FTb0NIQkNBQVpRNEFnUWdBQ0FDSUFFcUFnUWdBU29DQ0NBQktnSVFJQUVxQWhRUWdBR1VPQUlJSUFBZ0FpQUJLZ0lBSUFFcUFnZ2dBU29DSUJES0FwUTRBaEFnQUNBQ0lBRXFBZ2dnQVNvQ0FDQUJLZ0lVSUFFcUFnd1FnQUdVT0FJVUlBQWdBaUFCS2dJQUlBRXFBZ1FnQVNvQ0VCREtBcFE0QWlBZ0FDQUFLQUlFTmdJTUlBQWdBQ2dDQ0RZQ0dDQUFJQUFvQWhRMkFoeEJBUXNMUEFFQmZTQUJLZ0lBSUFFcUFoQ1VJQUVxQWdRUWFaTWlBa01BQUFBQVd3Ui9RUUFGSUFBZ0FTb0NBQ0FCS2dJUWtoQnBJQUtWT0FJQVFRRUxDeThCQW44akJpRURJd1pCTUdva0JpQURJQUVRNVFnRWZ5QUFJQU1nQWhEa0NFRUJCVUVBQ3lFRUlBTWtCaUFFQzZrRkFRUi9Jd1loQnlNR1FSQnFKQVlnQkNnQ0JDQUNLQUlFSUFNb0FnUkdSZ1JBSUFRb0FnZ2dBaWdDQ0NBREtBSUlSa1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0VJQlNBSFFjRElBMEdIeXdFUU4wSE95d0VRTjBIdm9nSVFOMEhTQXhBK1FmYWlBaEEzUWRUTUFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUhRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUhFRHdnQUNBQkVFQWdBQkEvRUFBTEJRSkFJQUlvQWdRZ0F5Z0NCRVlFUUNBRUtBSUVJQU1vQWdSQkFYWkdCRUFnQWlnQ0NDQURLQUlJUmdSQUlBUW9BZ2dnQXlnQ0NFRUJka1lFUUNBQUlBRWdBaUFESUFRZ0JTQUdFT0FJREFRTEN5QUhRY0RJQTBIMHpBRVFOMEhPeXdFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkVE1BUkEzSWdnZ0NDZ0NBRUYwYWlnQ0FHb1FPeUFIUVlET0F4QTZJZ2tvQWdBb0Fod2hDaUFKUVFvZ0NrRS9jVUdLQVdvUkFnQWhDU0FIRUR3Z0NDQUpFRUFnQ0JBL0VBQUxDeUFES0FJRUlBSW9BZ1JCQVhaR0JFQWdBeWdDQkNBRUtBSUVSZ1JBSUFNb0FnUWdBaWdDQkVFQmRrWUVRQ0FES0FJRUlBUW9BZ1JHQkVBZ0FDQUJJQUlnQXlBRUlBVWdCaERmQ0F3RUN3c2dCMEhBeUFOQjFjMEJFRGRCenNzQkVEZEI3NklDRURkQjJBTVFQa0gyb2dJUU4wSFV6QUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNnQjBHQXpnTVFPaUlCS0FJQUtBSWNJUUlnQVVFS0lBSkJQM0ZCaWdGcUVRSUFJUUVnQnhBOElBQWdBUkJBSUFBUVB4QUFDd3NnQjBIQXlBTkI0b0VDRURkQnpzc0JFRGRCNzZJQ0VEZEIyd01RUGtIMm9nSVFOMEd5emdFUU55SUFLQUlBUVhScUtBSUFJQUJxRURzZ0IwR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0J4QThJQUFnQVJCQUlBQVFQeEFBQ3dzZ0J5UUdRUUVMUFFFQ2Z5QUFLQUlFSUFBb0FnQWlBMnRCSkJBNUlnSWdBVWtFUUNBQUlBRWdBbXNRM1FnRklBSWdBVXNFUUNBQUlBRkJKR3dnQTJvMkFnUUxDd3M0QUNBQUJIOGdBVVFBQUFBQUFBQUFBR1VnQVVRQUFBQUFBQUR3UDJaeUJIOUJmd1VnQUVHUWg2OERhaUFCT1FNQVFRQUxCVUYvQ3d2TUFRSUZmd0o5SUFFb0FnQWlCRUY0YWlFR0lBQW9BZ0FoQWdOQUlBSWdCa2NFUUNBQ0lBUkdCRUFnQkNFQkJRSkFJQUloQVFOQUlBRWhCUU5BQWtBZ0JDQUZRUWhxSWdOR0RRTWdBU29DQUNJSElBTXFBZ0FpQ0YwTkFDQUlJQWRkUlFSQUlBRW9BZ1FnQlNnQ0RFa05BUXNnQXlFRkRBRUxDeUFESVFFTUFBQUxBQXNMSUFFZ0FrY0VRQ0FDS0FJQUlRTWdBaUFCS0FJQU5nSUFJQUVnQXpZQ0FDQUNLQUlFSVFNZ0FpQUJLQUlFTmdJRUlBRWdBellDQkFzZ0FDQUNRUWhxSWdJMkFnQU1BUXNMQzkwTUFoRi9BMzBqQmlFSUl3WkJNR29rQmlBSVFTaHFJUXNnQ0VFa2FpRU1JQWhCSUdvaEVTQUJLQUlBSVEwQ1FBSkFBa0FDUUFOQUFrQWdBaWdDQUNJT1FYaHFJUVlnRGtGOGFpRUtJQTBnRGtZTkFDQUdJUWNnQUNnQ0FDSUJJUVFDZndKQUFrQUNRQU5BQWtBQ1FDQU9JQVJySWdOQkEzVWlDUTRFQndjSkNnQUxJQU5Cd0FCSURRb2dDQ0FFTmdJSUlBZ2dDVUVCZGlJRFFRTjBJQUZxSWdrMkFnUWdDQ0FITmdJQUlCRWdDQ2dDQ0RZQ0FDQU1JQWdvQWdRMkFnQWdDeUFJS0FJQU5nSUFJQkVnRENBTEVQSURJUThnQ1NvQ0FDSVVJQVFxQWdBaUZWME5BeUFEUVFOMElBRnFJUklnRlNBVVhVVUVRQ0FTS0FJRUlBUW9BZ1JKRFFRTElBWWhBd05BSUFOQmVHb2lCU0FFUndSQUlCUWdCU29DQUNJVlhRMENJQlVnRkYxRkJFQWdFaWdDQkNBRFFYeHFLQUlBSWhCSkRRVUxJQVVoQXd3QkN3c2dCRUVJYWlJRklRUWdCaW9DQUNJVklBRXFBZ0FpRkYxRkJFQUNRQ0FVSUJWZEJFQWdBVUVFYWlFREJTQUtLQUlBSUFGQkJHb2lBeWdDQUVrTkFRc0Nmd0pBQTBBQ1FDQUZJQVpHRFF3Z0JTb0NBQ0lXSUJSZERRQWdGQ0FXWFVVRVFDQUZLQUlFSWdRZ0F5Z0NBRWtOQXdzZ0JVRUlhaUVGREFFTEN5QUZLQUlFSVFRZ0JVRUVhZ3dCQ3lBRlFRUnFDeUVUSUFVZ0ZUZ0NBQ0FHSUJZNEFnQWdFeUFLS0FJQU5nSUFJQW9nQkRZQ0FDQUZRUWhxSVFRTEN5QUVJQVpHRFFZZ0FTRUpJQWNoQVFOQUlBa3FBZ0FoRkFOQUFrQWdCQ29DQUNJVklCUmREUUFnRkNBVlhVVUVRQ0FFS0FJRUlBa29BZ1JKRFFFTElBUkJDR29oQkF3QkN3c2dCQ0VESUFFaEJBTkFBa0FnQkVGNGFpSUJLZ0lBSWhVZ0ZGMUZCRUFnRkNBVlhRMEJJQVJCZkdvb0FnQWdDU2dDQkU4TkFRc2dBU0VFREFFTEN5QUJJQU5MQkVBZ0F5Z0NBQ0VGSUFNZ0ZUZ0NBQ0FCSUFVMkFnQWdBeWdDQkNFRklBTWdCRUY4YWlJRUtBSUFOZ0lFSUFRZ0JUWUNBQ0FEUVFocUlRUU1BUXNMSUEwZ0F5SUJTUTBHSUFBZ0FUWUNBQ0FCSVFRTUFRc0xJQU5CZkdvaUFTRURJQUVvQWdBaEVBd0NDeUFEUVh4cUlRTU1BUXNnRHlFRElBWU1BUXNnQkNnQ0FDRUJJQVFnRlRnQ0FDQUZJQUUyQWdBZ0JDZ0NCQ0VCSUFRZ0VEWUNCQ0FESUFFMkFnQWdEMEVCYWlFRElBVUxJUUVnQkVFSWFpSUhJUVlnQnlBQlNRUi9JQU1oQlNBR0lRTURRQ0FKS2dJQUlSUURRQUpBSUJRZ0F5b0NBQ0lWWFVVRVFDQVZJQlJkRFFFZ0NTZ0NCQ0FES0FJRVR3MEJDeUFEUVFocUlRTU1BUXNMSUFNaEJ5QUJJUU1EUUFKQUlCUWdBMEY0YWlJQktnSUFJaFZkRFFBZ0ZTQVVYVVVFUUNBSktBSUVJQU5CZkdvb0FnQkpEUUVMSUFFaEF3d0JDd3NnQVNBSFN3UkFJQWNvQWdBaEJpQUhJQlU0QWdBZ0FTQUdOZ0lBSUFjb0FnUWhCaUFISUFOQmZHb2lBeWdDQURZQ0JDQURJQVkyQWdBZ0JVRUJhaUVGSUFFZ0NTQUhJQWxHR3lFSklBZEJDR29oQXd3QkN3c2dCeUVHSUFVRklBTUxJUUVnQnlBSlJ3UkFBa0FnQnlvQ0FDSVZJQWtxQWdBaUZGMEVRQ0FKUVFScUlRVWdCMEVFYWlFUElBa29BZ1FoQXlBSEtBSUVJUkFGSUJRZ0ZWME5BU0FIUVFScUlnOG9BZ0FpRUNBSlFRUnFJZ1VvQWdBaUEwOE5BUXNnQmlnQ0FDRUtJQVlnRkRnQ0FDQUpJQW8yQWdBZ0R5QUROZ0lBSUFVZ0VEWUNBQ0FCUVFGcUlRRUxDeUFISUExR0RRQWdCaUVESUFGRkJFQUNRQ0FOSUFkSkJFQURRQ0FISUFSQkNHb2lBVVlOQkNBRUtnSUFJaFFnQVNvQ0FDSVZYUTBDSUJVZ0ZGMUZCRUFnQkNnQ0JDQUVLQUlNU1EwREN5QUJJUVFNQUFBTEFBVWdBeUVCQTBBZ0RpQUJRUWhxSWdOR0RRUWdBU29DQUNJVUlBTXFBZ0FpRlYwTkFpQVZJQlJkUlFSQUlBRW9BZ1FnQVNnQ0RFa05Bd3NnQXlFQkRBQUFDd0FMQUFzTElBMGdCMGtFUUNBQ0lBWTJBZ0FGSUFBZ0IwRUlhallDQUFzTUFRc0xEQU1MSUFJZ0JqWUNBQ0FCS2dJQUloUWdCaW9DQUNJVlhRUkFJQUZCQkdvaEF5QUtLQUlBSVFBZ0FTZ0NCQ0VDQlNBVklCUmREUU1nQVVFRWFpSURLQUlBSWdJZ0NpZ0NBQ0lBVHcwREN5QUJJQlU0QWdBZ0JpQVVPQUlBSUFNZ0FEWUNBQ0FLSUFJMkFnQU1BZ3NnQ0NBRU5nSWNJQWdnQkVFSWFqWUNHQ0FDSUFZMkFnQWdDQ0FHTmdJVUlCRWdDQ2dDSERZQ0FDQU1JQWdvQWhnMkFnQWdDeUFJS0FJVU5nSUFJQkVnRENBTEVQSURHZ3dCQ3lBSUlBUTJBaEFnQ0NBT05nSU1JQXdnQ0NnQ0VEWUNBQ0FMSUFnb0FndzJBZ0FnRENBTEVPc0lDeUFJSkFZTHBnY0NDSDhEZlNNR0lRZ2pCa0V3YWlRR0lBaEJDR29oQ1NBSVFTQnFJUTBnQ0VFY2FpRU9JQU1nQkd3aENnSjlJQVd5SUFPeWxZMGhFaUFHc2lBRXNwV05JUkVnQVNBQktBSUFOZ0lFSUFFZ0J4RFJBaUFBS0FJRUlBQW9BZ0FpQTJ0QkRCQTVJUXRCQUNFRkEwQWdCU0FMUndSQUlBVkJER3dnQTJvb0FnUWdCVUVNYkNBRGFpZ0NBQ0lFYTBFTUVEa2hERUVBSVFZRFFDQUdJQXhIQkVBZ0JrRU1iQ0FFYWlBR1FReHNJQVJxS0FJQU5nSUVJQVpCQVdvaEJnd0JDd3NnQlVFQmFpRUZEQUVMQ3lBSElBb1FPU0VMSUJJTEVFT3lJUkFnRVJCRHNpRVJRUUFoQkFOQUlBUWdBaWdDQkNBQ0tBSUFJZ05yUVNRUU9Va0VRQ0FFUVNSc0lBTnFLZ0lBSUJDVkVFTWhCaUFFUVNSc0lBTnFLZ0lFSUJHVkVFTWhCU0FBS0FJQUlBWkJER3hxS0FJQUlRWWdDU0FFUVNSc0lBTnFLZ0lZaXpnQ0FDQUpJQVEyQWdRZ0JVRU1iQ0FHYWlJREtBSUVJZ2NnQlVFTWJDQUdhaWdDQ0VrRVFDQUhJQWtwQXdBM0FnQWdBeUFES0FJRVFRaHFOZ0lFQlNBRlFReHNJQVpxSUFrUWxnRUxJQVJCQVdvaEJBd0JDd3RCQUNFR0lBQW9BZ0FpQlNJRUlRTUNRQU5BSUFZZ0FDZ0NCQ0FGYTBFTUVEbEpCRUJCQUNFRkEwQWdCU0FHUVF4c0lBUnFLQUlFSUFaQkRHd2dCR29vQWdBaUIydEJEQkE1U1FSQUlBc2dCVUVNYkNBSGFpSUtLQUlFSWc4Z0JVRU1iQ0FIYWlJTUtBSUFJZ1JyUVFOMUlnY2dDeUFIU1JzaUJ3UkFJQWdnQkRZQ0dDQUlJQWRCQTNRZ0JHbzJBaFFnQ0NBUE5nSVFJQTRnQ0NnQ0dEWUNBQ0FOSUFnb0FoUTJBZ0FnQ1NBSUtBSVFOZ0lBSUE0Z0RTQUpFT3dJSUF3b0FnQWlCQ0VESUFjZ0NpZ0NCQ0FFYTBFRGRVc0VRQ0FES2dJQUlBZEJBM1FnQTJvcUFnQmdSUTBHQzBFQUlRb0RRQ0FLSUFkSkJFQWdBaWdDQUNBTUtBSUFJQXBCQTNScUtBSUVRU1JzYWlFRElBRW9BZ1FpQkNBQktBSUlSZ1JBSUFFZ0F4RGlBUVVnQkNBREtRSUFOd0lBSUFRZ0F5a0NDRGNDQ0NBRUlBTXBBaEEzQWhBZ0JDQURLUUlZTndJWUlBUWdBeWdDSURZQ0lDQUJJQUVvQWdSQkpHbzJBZ1FMSUFwQkFXb2hDZ3dCQ3dzZ0FDZ0NBQ0VEQ3lBRlFRRnFJUVVnQXlFRURBRUxDeUFHUVFGcUlRWWdCQ0VGREFFTEN5QUlKQVlQQ3lBSlFjRElBMEhweUFFUU4wSEF2QUVRTjBIdm9nSVFOMEdWQlJBK1FmYWlBaEEzUWFQSkFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU95QUpRWURPQXhBNklnRW9BZ0FvQWh3aEFpQUJRUW9nQWtFL2NVR0tBV29SQWdBaEFTQUpFRHdnQUNBQkVFQWdBQkEvRUFBTEpnQWdBRUVBUnlBQlFRQkhjUVIvSUFFZ0FFR1loNjhEYWlnQ0FEWUNBRUVBQlVGL0N4b0xSQUVDZlVNQUFJQS9RUUVnQm5TeWxTSUhRd0FBQUQrVVF3QUFBTCtTSVFnZ0FDQUhJQU9VSUFpU09BSUFJQUVnQnlBRWxDQUlramdDQUNBQ0lBY2dCWlE0QWdBTDNRUUNESDhCZlNNR0lRSWpCa0ZBYXlRR0lBSkJNR29oQ2lBQ1FTeHFJUWNnQWtFb2FpRUlJQUpCSkdvaEN5QUFMQUFjQkVBZ0FDQUFRY2dBYWlJSktBSUFOZ0pNSUFrZ0FFRkFheUlNS0FJQUlBQkJQR29pQlNnQ0FHc1EwUUlnQUVIY0FHb2lEU0FCRU1JSUEwQWdCU2dDQUNJR0lRTWdCQ0FNS0FJQUlBWnJRU1FRT1VrRVFDQUhJQWdnQ3lBRVFTUnNJQU5xS2dJQUlBUkJKR3dnQTJvcUFnUWdCRUVrYkNBRGFpb0NIQ0FFUVNSc0lBTnFLQUlNRU84SUlBY2dCeW9DQUNBQklBVW9BZ0FnQkVFa2JHb29BZ3hCQUJDc0FTZ0NCRUYvYXJNUTR3RTRBZ0FnQ0NBSUtnSUFJQUVnQlNnQ0FDQUVRU1JzYWlnQ0RFRUFFS3dCS0FJSVFYOXFzeERqQVNJT09BSUFJQTBnQUNnQ2tBRWdDaUFGS0FJQUlnTWdCRUVrYkdvb0Fnd2dCRUVrYkNBRGFpZ0NFQ0FIS2dJQUlBNGdDeW9DQUJEQkNFRUFJUVlEUUNBR0lBb29BZ0JJQkVBZ0FpQUZLQUlBSUFSQkpHeHFJZ01wQWdBM0FnQWdBaUFES1FJSU53SUlJQUlnQXlrQ0VEY0NFQ0FDSUFNcEFoZzNBaGdnQWlBREtBSWdOZ0lnSUFJZ0FDZ0NrQUVnQmtFQ2RHb29BZ0EyQWdnZ0FDZ0NUQ0lESUFBb0FsQkdCRUFnQ1NBQ0VPSUJCU0FESUFJcEFnQTNBZ0FnQXlBQ0tRSUlOd0lJSUFNZ0Fpa0NFRGNDRUNBRElBSXBBaGczQWhnZ0F5QUNLQUlnTmdJZ0lBQWdBQ2dDVEVFa2FqWUNUQXNnQmtFQmFpRUdEQUVMQ3lBRVFRRnFJUVFNQVFzTElBVWdDUkNKQWdVQ1FDQUFRVUJyS0FJQUlBQW9BandpQUd0QkpCQTVJUUVEUUNBQklBVkdEUUVnQlVFa2JDQUFha01BQUFBQU9BSUlJQVZCQVdvaEJRd0FBQXNBQ3dzZ0FpUUdDNUlFQVF0L0l3WWhBeU1HUVJCcUpBWWdBMEVNYWlFQklBQkJRR3NpQ0NnQ0FDQUFRVHhxSWdRb0FnQnJRU1FRT1NBQUtBSlVJZ2xMQkVBZ0FDZ0NGQ0FBUVJCcUlnb29BZ0FpQm10QkRCQTVJZ3NnQUNnQ0NFY0VRQ0FCUWNESUEwR0J4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEdBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFZb0FnUWdCaWdDQUd0QkRCQTVJZ1lnQUNnQ0RFY0VRQ0FCUWNESUEwSFN4d0VRTjBIQXZBRVFOMEh2b2dJUU4wSEhBeEErUWZhaUFoQTNRYmpIQVJBM0lnSWdBaWdDQUVGMGFpZ0NBR29RT3lBQlFZRE9BeEE2SWdVb0FnQW9BaHdoQnlBRlFRb2dCMEUvY1VHS0FXb1JBZ0FoQlNBQkVEd2dBaUFGRUVBZ0FoQS9FQUFMSUFOQkFEWUNBQ0FEUVFBMkFnUWdBMEVBTmdJSUlBb2dBeUFFSUFzZ0JpQUFLQUlBSUFBb0FnUWdDUkR0Q0NBRUlBTVFpUUlnQ0NnQ0FDQUVLQUlBYTBFa0VEa2dBQ2dDVkVzRVFDQUJRY0RJQTBHTXlBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIVkF4QStRZmFpQWhBM1FkSElBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPeUFCUVlET0F4QTZJZ1FvQWdBb0Fod2hBaUFFUVFvZ0FrRS9jVUdLQVdvUkFnQWhCQ0FCRUR3Z0FDQUVFRUFnQUJBL0VBQUZJQU1RVlFzTElBTWtCZ3VhQndJVmZ3UjlJd1loQlNNR1FkQUFhaVFHSUFWQnhBQnFJUWtnQlVFNGFpRU1JQVZCTEdvaEJ5QUZRU2hxSVEwZ0JVRWthaUVPSUFBcUFqUVFhU0VZSUFBcUFqaERBQUNBUDVJUWFTQUFLZ0k0bFNFWklBQkJQR29oRHlBQVFVQnJJUlVnQUVFZ2FpRUdBa0FDUUFKQUEwQWdBaUFWS0FJQUlBOG9BZ0FpQTJ0QkpCQTVTUVJBSUFKQkpHd2dBMm9pRWlnQ0VDQUdLQUlRVGcwQ0lCSW9BaEFnQmlnQ0VDQUNRU1JzSUFOcUloQW9BZ3hzYWlFS0lBMGdEaUFDUVNSc0lBTnFJZ2dxQWdBZ0FrRWtiQ0FEYWtFRWFpSVRLZ0lBSUJBb0Fnd1F5d0lnRFNvQ0FFTUFBQUEva2hCRElRc2dEaW9DQUVNQUFBQS9raEJESVJFZ0JTQU1JQVlvQWdBZ0NrRi9ha0VGZEdvZ0JpZ0NBQ0FLUVFWMGFpSVVJQVlvQWdBZ0NrRUJha0VGZEdvZ0N5QVJFT2dJQkVBZ0J5QUZJQXdRNXdnRVFDQUhLZ0lBRUdrZ0J5b0NCQkJwa2lBQUtnSllYa1VFUUNBQ1FTUnNJQU5xSWhaQklHb2dCUkRtQ0FSQUlBSkJKR3dnQTJvaUNpb0NHQ0FVSUJFUVVDQUxRUUowYWlvQ0FGd05CeUFLSUJRZ0VSQlFJQXRCQW5ScUtnSUFJQXdxQWdBZ0J5b0NBQ0lYbENBTUtnSUVJQWNxQWdRaUdwU1NJQXdxQWdnZ0J5b0NDSlNTa3pnQ0dDQUlJQk1nRnlBTktnSUFraUFhSUE0cUFnQ1NJQkFvQWd3UTRRRWdBa0VrYkNBRGFpSUxJQWNxQWdnZ0VpZ0NFTEtTSWhjNEFoUWdDeUFYSUFZb0FoQ3lFT01CT0FJVUlCWXFBaUNMSUJsZEJIOGdDaW9DR0JCcElCaGdCSDhnQ0NvQ0FDSVhRd0FBQUFCZ0JIOGdGeUFHS0FJQUtBSUVzMTBFZnlBVEtnSUFJaGREQUFBQUFHQUVmeUFYSUFZb0FnQW9BZ2l6WFFSL0lBSkJKR3dnQTJvZ0FTQVFLQUlNSUFzcUFoUVFod0k0QWh3Z0R5Z0NBQ0FFUVNSc2FpSURJQWdwQWdBM0FnQWdBeUFJS1FJSU53SUlJQU1nQ0NrQ0VEY0NFQ0FESUFncEFoZzNBaGdnQXlBSUtBSWdOZ0lnSUFSQkFXb0ZJQVFMQlNBRUN3VWdCQXNGSUFRTEJTQUVDd1VnQkFzaEJBc0xDd3NnQWtFQmFpRUNEQUVMQ3lBUElBUVE2UWdnQlNRR0R3c2dDVUhBeUFOQnRza0JFRGRCd0x3QkVEZEI3NklDRURkQjZRTVFQa0gyb2dJUU4wSCt5UUVRTnlJQUlBQW9BZ0JCZEdvb0FnQnFFRHNNQVFzZ0NVSEF5QU5CbzhvQkVEZEJ3THdCRURkQjc2SUNFRGRCamdRUVBrSDJvZ0lRTjBIY3lnRVFOeUlBSUFBb0FnQkJkR29vQWdCcUVEc0xJQWxCZ000REVEb2lBU2dDQUNnQ0hDRUNJQUZCQ2lBQ1FUOXhRWW9CYWhFQ0FDRUJJQWtRUENBQUlBRVFRQ0FBRUQ4UUFBdU1KQUljZndwOUl3WWhCU01HUVRCcUpBWWdBRUZBYXlJUklBQkJQR29pR0NnQ0FEWUNBQ0FBS2dJMEVHa2hKU0FBUVNCcUlSa2dCVUVFYWlFYUlBVkJCR29oR3lBRlFRUnFJUnhCQVNFREFrQUNRQUpBQWtBQ1FBSkFBa0FEUUNBRElCa29BZ1FnR1NnQ0FHdEJCWFZCZjJwSkJFQWdBaUFEUVg5cUVNZ0NJUWNnQWlBREVNZ0NJUW9nQWlBRFFRRnFJaDBReUFJaENDQUNJQU1RMmdnaEVpQURJQUlvQWhBUVR5RVdBa0FDUUNBSEtBSUVJQW9vQWdSSERRQWdCeWdDQkNBSUtBSUVSdzBBSUFjb0FnZ2dDaWdDQ0VjTkJDQUhLQUlJSUFnb0FnaEhEUVVnQ2lnQ0JFRi9haUVYSUFvb0FnaEJmMm9oSGlBV3NpRWdRUUVoQXdOQUlBTWdIa2tFUUNBSElBTkJmMm9pQkJCUUlSTWdCeUFERUZBaEN5QUhJQU5CQVdvaUZCQlFJUXdnQ2lBRUVGQWhEU0FLSUFNUVVDRVZJQW9nRkJCUUlRNGdDQ0FFRUZBaER5QUlJQU1RVUNFUUlBZ2dGQkJRSVFrZ0E3TWhJVUVCSVFNRFFDQURJQmRKQkVBZ0EwRUNkQ0FWYWlJRUtnSUFFR2tnSlYxRkJFQUNRQUpBQWtBZ0JDb0NBQ0lmSUFOQmYyb2lCRUVDZENBVGFpb0NBQ0lpWGtVTkFDQWZJQU5CQW5RZ0Uyb3FBZ0JlUlEwQUlCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhrVU5BQ0FmSUFSQkFuUWdDMm9xQWdCZVJRMEFJQjhnQTBFQ2RDQUxhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0RHb3FBZ0JlUlEwQUlCOGdBMEVDZENBTWFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnRFdvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FOYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdGV29xQWdCZVJRMEFJQjhnQmtFQ2RDQVZhaW9DQUY1RkRRQWdIeUFFUVFKMElBNXFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0Rtb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBTkJBblFnRDJvcUFnQmVSUTBBSUI4Z0JrRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRVFRSjBJQkJxS2dJQVhrVU5BQ0FmSUFOQkFuUWdFR29xQWdCZVJRMEFJQjhnQmtFQ2RDQVFhaW9DQUY1RkRRQWdIeUFFUVFKMElBbHFLZ0lBWGtVTkFDQWZJQU5CQW5RZ0NXb3FBZ0JlUlEwQUlCOGdCa0VDZENBSmFpb0NBRjVGRFFBTUFRc2dIeUFpWFVVTkFTQWZJQU5CQW5RZ0Uyb3FBZ0JkUlEwQklCOGdBMEVCYWlJR1FRSjBJQk5xS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQTBFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBdHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdBMEVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUF4cUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQTFxS2dJQVhVVU5BU0FmSUFSQkFuUWdGV29xQWdCZFJRMEJJQjhnQmtFQ2RDQVZhaW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0Rtb3FBZ0JkUlEwQklCOGdCa0VDZENBT2Fpb0NBRjFGRFFFZ0h5QUVRUUowSUE5cUtnSUFYVVVOQVNBZklBTkJBblFnRDJvcUFnQmRSUTBCSUI4Z0JrRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBRVFRSjBJQkJxS2dJQVhVVU5BU0FmSUFOQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFFUVFKMElBbHFLZ0lBWFVVTkFTQWZJQU5CQW5RZ0NXb3FBZ0JkUlEwQklCOGdCa0VDZENBSmFpb0NBRjFGRFFFTElBVWdFallDRENBRklCWTJBaEFnQlNBZk9BSVlJQVVnQVNBU0lDQVFod0k0QWh3Z0JTQWFJQU96SUNFZ0VoRGhBU0FSS0FJQUlnUWdBQ2dDUkVZRVFDQVlJQVVRNGdFRklBUWdCU2tDQURjQ0FDQUVJQVVwQWdnM0FnZ2dCQ0FGS1FJUU53SVFJQVFnQlNrQ0dEY0NHQ0FFSUFVb0FpQTJBaUFnRVNBUktBSUFRU1JxTmdJQUN3c0xJQU5CQVdvaEF3d0JDd3NnRkNFRERBRUxDd3dCQ3lBSEtBSUVJQW9vQWdSR0JFQWdDQ2dDQkNBS0tBSUVRUUYyUmdSQUlBY29BZ2dnQ2lnQ0NFY05CeUFJS0FJSUlBb29BZ2hCQVhaSERRZ2dDQ2dDQkVGL2FyTkRBQUFBdjVKREFBQUFRSlJEQUFBQVA1S09FSklCSVJNZ0NDZ0NDRUYvYXJOREFBQUF2NUpEQUFBQVFKUkRBQUFBUDVLT0VKSUJJUlVnRnJJaEprRUNJUU1EUUNBRElCVlBEUU1nQnlBRFFYOXFJZ1FRVUNFUElBY2dBeEJRSVFzZ0J5QURRUUZxSWhRUVVDRU1JQW9nQkJCUUlRMGdDaUFERUZBaEVDQUtJQlFRVUNFT0lBT3pJaWREQUFBQVA1UkRBQUNBdnBJaUlVTUFBQUMva2lFaUlDRkRBQUFBUDVJaEkwRUNJUVFEUUNBRUlCTkpCRUFnQkVFQ2RDQVFhaUlES2dJQUVHa2dKVjFGQkVBQ1FDQUVzeUlvUXdBQUFEK1VRd0FBZ0w2U0lTQUNRQUpBSUFNcUFnQWlIeUFFUVg5cUlnWkJBblFnRDJvaUZ5b0NBRjVGRFFBZ0h5QUVRUUowSUE5cUtnSUFYa1VOQUNBZklBUkJBV29pQ1VFQ2RDQVBhaW9DQUY1RkRRQWdIeUFHUVFKMElBdHFLZ0lBWGtVTkFDQWZJQVJCQW5RZ0Myb3FBZ0JlUlEwQUlCOGdDVUVDZENBTGFpb0NBRjVGRFFBZ0h5QUdRUUowSUF4cUtnSUFYa1VOQUNBZklBUkJBblFnREdvcUFnQmVSUTBBSUI4Z0NVRUNkQ0FNYWlvQ0FGNUZEUUFnSHlBR1FRSjBJQTFxS2dJQVhrVU5BQ0FmSUFSQkFuUWdEV29xQWdCZVJRMEFJQjhnQ1VFQ2RDQU5haW9DQUY1RkRRQWdIeUFHUVFKMElCQnFLZ0lBWGtVTkFDQWZJQWxCQW5RZ0VHb3FBZ0JlUlEwQUlCOGdCa0VDZENBT2Fpb0NBRjVGRFFBZ0h5QUVRUUowSUE1cUtnSUFYa1VOQUNBZklBbEJBblFnRG1vcUFnQmVSUTBBSUI4Z0NDQWdRd0FBQUwrU0loOGdJaEJOWGtVTkFDQURLZ0lBSUFnZ0lDQWlFRTFlUlEwQUlBTXFBZ0FnQ0NBZ1F3QUFBRCtTSWlRZ0loQk5Ya1VOQUNBREtnSUFJQWdnSHlBaEVFMWVSUTBBSUFNcUFnQWdDQ0FnSUNFUVRWNUZEUUFnQXlvQ0FDQUlJQ1FnSVJCTlhrVU5BQ0FES2dJQUlBZ2dIeUFqRUUxZVJRMEFJQU1xQWdBZ0NDQWdJQ01RVFY1RkRRQWdBeW9DQUNBSUlDUWdJeEJOWGtVTkFBd0JDeUFES2dJQUloOGdGeW9DQUYxRkRRRWdIeUFFUVFKMElBOXFLZ0lBWFVVTkFTQWZJQVJCQVdvaUNVRUNkQ0FQYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQXRxS2dJQVhVVU5BU0FmSUFSQkFuUWdDMm9xQWdCZFJRMEJJQjhnQ1VFQ2RDQUxhaW9DQUYxRkRRRWdIeUFHUVFKMElBeHFLZ0lBWFVVTkFTQWZJQVJCQW5RZ0RHb3FBZ0JkUlEwQklCOGdDVUVDZENBTWFpb0NBRjFGRFFFZ0h5QUdRUUowSUExcUtnSUFYVVVOQVNBZklBUkJBblFnRFdvcUFnQmRSUTBCSUI4Z0NVRUNkQ0FOYWlvQ0FGMUZEUUVnSHlBR1FRSjBJQkJxS2dJQVhVVU5BU0FmSUFsQkFuUWdFR29xQWdCZFJRMEJJQjhnQmtFQ2RDQU9haW9DQUYxRkRRRWdIeUFFUVFKMElBNXFLZ0lBWFVVTkFTQWZJQWxCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdDQ0FnUXdBQUFMK1NJaDhnSWhCTlhVVU5BU0FES2dJQUlBZ2dJQ0FpRUUxZFJRMEJJQU1xQWdBZ0NDQWdRd0FBQUQrU0lpUWdJaEJOWFVVTkFTQURLZ0lBSUFnZ0h5QWhFRTFkUlEwQklBTXFBZ0FnQ0NBZ0lDRVFUVjFGRFFFZ0F5b0NBQ0FJSUNRZ0lSQk5YVVVOQVNBREtnSUFJQWdnSHlBakVFMWRSUTBCSUFNcUFnQWdDQ0FnSUNNUVRWMUZEUUVnQXlvQ0FDQUlJQ1FnSXhCTlhVVU5BUXNnQlNBU05nSU1JQVVnRmpZQ0VDQUZJQU1vQWdBMkFoZ2dCU0FCSUJJZ0poQ0hBamdDSENBRklCc2dLQ0FuSUJJUTRRRWdFU2dDQUNJRElBQW9Ba1JHQkVBZ0dDQUZFT0lCQlNBRElBVXBBZ0EzQWdBZ0F5QUZLUUlJTndJSUlBTWdCU2tDRURjQ0VDQURJQVVwQWhnM0FoZ2dBeUFGS0FJZ05nSWdJQkVnRVNnQ0FFRWthallDQUFzTEN5QUVRUUZxSVFRTUFRc0xJQlFoQXd3QUFBc0FDd3NnQ2lnQ0JDQUhLQUlFUVFGMlJnUkFJQWdvQWdRZ0J5Z0NCRUVCZGtZRVFDQUtLQUlJSUFjb0FnaEJBWFpIRFFrZ0NDZ0NDQ0FIS0FJSVFRRjJSdzBLSUFvb0FnUkJmMm9oRXlBS0tBSUlRWDlxSVJVZ0ZySWhKa0VCSVFNRFFDQURJQlZQRFFNZ0NpQURRWDlxSWdRUVVDRVBJQW9nQXhCUUlSQWdDaUFEUVFGcUloUVFVQ0VMSUFnZ0JCQlFJUXdnQ0NBREVGQWhEU0FJSUJRUVVDRU9JQU96SVNjZ0EwRUJkTE5EQUFBQVA1SWlJVU1BQUFEQWtpRWlJQ0ZEQUFBQVFKSWhJMEVCSVFNRFFDQURJQk5KQkVBZ0EwRUNkQ0FRYWlJRUtnSUFFR2tnSlYxRkJFQUNRQ0FEUVFGMHMwTUFBQUEva2lFZ0FrQUNRQ0FFS2dJQUloOGdBMEYvYWlJR1FRSjBJQTlxSWhjcUFnQmVSUTBBSUI4Z0EwRUNkQ0FQYWlvQ0FGNUZEUUFnSHlBRFFRRnFJZ2xCQW5RZ0Qyb3FBZ0JlUlEwQUlCOGdCa0VDZENBUWFpb0NBRjVGRFFBZ0h5QUpRUUowSUJCcUtnSUFYa1VOQUNBZklBWkJBblFnQzJvcUFnQmVSUTBBSUI4Z0EwRUNkQ0FMYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQXRxS2dJQVhrVU5BQ0FmSUFaQkFuUWdER29xQWdCZVJRMEFJQjhnQTBFQ2RDQU1haW9DQUY1RkRRQWdIeUFKUVFKMElBeHFLZ0lBWGtVTkFDQWZJQVpCQW5RZ0RXb3FBZ0JlUlEwQUlCOGdBMEVDZENBTmFpb0NBRjVGRFFBZ0h5QUpRUUowSUExcUtnSUFYa1VOQUNBZklBWkJBblFnRG1vcUFnQmVSUTBBSUI4Z0EwRUNkQ0FPYWlvQ0FGNUZEUUFnSHlBSlFRSjBJQTVxS2dJQVhrVU5BQ0FmSUFjZ0lFTUFBQURBa2lJZklDSVFUVjVGRFFBZ0JDb0NBQ0FISUNBZ0loQk5Ya1VOQUNBRUtnSUFJQWNnSUVNQUFBQkFraUlrSUNJUVRWNUZEUUFnQkNvQ0FDQUhJQjhnSVJCTlhrVU5BQ0FFS2dJQUlBY2dJQ0FoRUUxZVJRMEFJQVFxQWdBZ0J5QWtJQ0VRVFY1RkRRQWdCQ29DQUNBSElCOGdJeEJOWGtVTkFDQUVLZ0lBSUFjZ0lDQWpFRTFlUlEwQUlBUXFBZ0FnQnlBa0lDTVFUVjVGRFFBTUFRc2dCQ29DQUNJZklCY3FBZ0JkUlEwQklCOGdBMEVDZENBUGFpb0NBRjFGRFFFZ0h5QURRUUZxSWdsQkFuUWdEMm9xQWdCZFJRMEJJQjhnQmtFQ2RDQVFhaW9DQUYxRkRRRWdIeUFKUVFKMElCQnFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Myb3FBZ0JkUlEwQklCOGdBMEVDZENBTGFpb0NBRjFGRFFFZ0h5QUpRUUowSUF0cUtnSUFYVVVOQVNBZklBWkJBblFnREdvcUFnQmRSUTBCSUI4Z0EwRUNkQ0FNYWlvQ0FGMUZEUUVnSHlBSlFRSjBJQXhxS2dJQVhVVU5BU0FmSUFaQkFuUWdEV29xQWdCZFJRMEJJQjhnQTBFQ2RDQU5haW9DQUYxRkRRRWdIeUFKUVFKMElBMXFLZ0lBWFVVTkFTQWZJQVpCQW5RZ0Rtb3FBZ0JkUlEwQklCOGdBMEVDZENBT2Fpb0NBRjFGRFFFZ0h5QUpRUUowSUE1cUtnSUFYVVVOQVNBZklBY2dJRU1BQUFEQWtpSWZJQ0lRVFYxRkRRRWdCQ29DQUNBSElDQWdJaEJOWFVVTkFTQUVLZ0lBSUFjZ0lFTUFBQUJBa2lJa0lDSVFUVjFGRFFFZ0JDb0NBQ0FISUI4Z0lSQk5YVVVOQVNBRUtnSUFJQWNnSUNBaEVFMWRSUTBCSUFRcUFnQWdCeUFrSUNFUVRWMUZEUUVnQkNvQ0FDQUhJQjhnSXhCTlhVVU5BU0FFS2dJQUlBY2dJQ0FqRUUxZFJRMEJJQVFxQWdBZ0J5QWtJQ01RVFYxRkRRRUxJQVVnRWpZQ0RDQUZJQlkyQWhBZ0JTQUVLQUlBTmdJWUlBVWdBU0FTSUNZUWh3STRBaHdnQlNBY0lBT3pJQ2NnRWhEaEFTQVJLQUlBSWdRZ0FDZ0NSRVlFUUNBWUlBVVE0Z0VGSUFRZ0JTa0NBRGNDQUNBRUlBVXBBZ2czQWdnZ0JDQUZLUUlRTndJUUlBUWdCU2tDR0RjQ0dDQUVJQVVvQWlBMkFpQWdFU0FSS0FJQVFTUnFOZ0lBQ3dzTElBTkJBV29oQXd3QkN3c2dGQ0VEREFBQUN3QUxDd3NnSFNFRERBRUxDeUFGSkFZUEN5QUZRY0RJQTBIcjNBRVFOMEhBdkFFUU4wSHZvZ0lRTjBIQUFSQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dGQ3lBRlFjRElBMEcyM1FFUU4wSEF2QUVRTjBIdm9nSVFOMEhCQVJBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0VDeUFGUWNESUEwSHIzQUVRTjBIQXZBRVFOMEh2b2dJUU4wR1ZBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3d3REN5QUZRY0RJQTBIcTNRRVFOMEhBdkFFUU4wSHZvZ0lRTjBHV0FoQStRZmFpQWhBM1FaL2RBUkEzSWdBZ0FDZ0NBRUYwYWlnQ0FHb1FPd3dDQ3lBRlFjRElBMEdqM2dFUU4wSEF2QUVRTjBIdm9nSVFOMEhxQWhBK1FmYWlBaEEzUVovZEFSQTNJZ0FnQUNnQ0FFRjBhaWdDQUdvUU93d0JDeUFGUWNESUEwSGMzZ0VRTjBIQXZBRVFOMEh2b2dJUU4wSHJBaEErUWZhaUFoQTNRWi9kQVJBM0lnQWdBQ2dDQUVGMGFpZ0NBR29RT3dzZ0JVR0F6Z01RT2lJQktBSUFLQUljSVFJZ0FVRUtJQUpCUDNGQmlnRnFFUUlBSVFFZ0JSQThJQUFnQVJCQUlBQVFQeEFBQy9BQkFRUi9Jd1loQWlNR1FTQnFKQVlnQVNnQ0VFRUFUQVJBSUFKQndNZ0RRZHUrQVJBM1FjQzhBUkEzUWUraUFoQTNRWk1CRUQ1QjlxSUNFRGRCakw4QkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBSkJnTTRERURvaUJDZ0NBQ2dDSENFRklBUkJDaUFGUVQ5eFFZb0JhaEVDQUNFRUlBSVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FrRzR4Z0VRZVNBQVFTQnFJQUVRaFFrZ0FoQnJJQUpCeE1ZQkVIa2dBQ0FCSUFCQklHb1E4d2dnQWhCcklBSkIyTVlCRUhrZ0FDQUJFUElJSUFJUWF5QUNRZUhHQVJCNUlBQVE4UWdnQWhCcklBSkI3OFlCRUhrZ0FDQUJFUEFJSUFJUWF5QUNKQVlMUWdFQ2Z5QUFLQUlFSVFFRFFDQUFLQUlJSWdJZ0FVY0VRQ0FBSUFKQmRHb2lBallDQ0NBQ0VOTUNEQUVMQ3lBQUtBSUFJZ0VFUUNBQUtBSU1HaUFCRURnTEM2a0JBUVYvSXdZaEFpTUdRU0JxSkFZZ0FDZ0NDQ0FBS0FJRUlnTnJRUXdRT1NBQlNRUkFRZFdxMWFvQklBTWdBQ2dDQUd0QkRCQTVJQUZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVhMEVNRURraUJVRUJkQ0lHSUFZZ0Ewa2JRZFdxMWFvQklBVkJxdFdxMVFCSkd5QUFLQUlFSUFSclFRd1FPU0FBUVFocUVOVUNJQUlnQVJEMEF5QUFJQUlROHdNZ0FoRDFDQXNGSUFBZ0FSRDFBd3NnQWlRR0MwRUJBbjhnQUNnQ0JDRUJBMEFnQUNnQ0NDSUNJQUZIQkVBZ0FDQUNRWFJxSWdJMkFnZ2dBaEJWREFFTEN5QUFLQUlBSWdFRVFDQUFLQUlNR2lBQkVEZ0xDNmtCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVF3UU9TQUJTUVJBUWRXcTFhb0JJQU1nQUNnQ0FHdEJEQkE1SUFGcUlnTkpCRUFRQUFVZ0FpQURJQUFvQWdnZ0FDZ0NBQ0lFYTBFTUVEa2lCVUVCZENJR0lBWWdBMGtiUWRXcTFhb0JJQVZCcXRXcTFRQkpHeUFBS0FJRUlBUnJRUXdRT1NBQVFRaHFFTlVDSUFJZ0FSRDBBeUFBSUFJUTh3TWdBaEQzQ0FzRklBQWdBUkQxQXdzZ0FpUUdDMTBCQTM4Z0FDZ0NCQ0lFSUFBb0FnQWlBbXRCREJBNUlnTWdBVWtFUUNBQUlBRWdBMnNRK0FnRklBTWdBVXNFUUNBQlFReHNJQUpxSVFJZ0JDRUJBMEFnQVNBQ1J3UkFJQUZCZEdvaUFSQlZEQUVMQ3lBQUlBSTJBZ1FMQ3d0ZUFRTi9JQUFvQWdRaUJDQUFLQUlBSWdKclFRd1FPU0lESUFGSkJFQWdBQ0FCSUFOckVQWUlCU0FESUFGTEJFQWdBVUVNYkNBQ2FpRUNJQVFoQVFOQUlBRWdBa2NFUUNBQlFYUnFJZ0VRMHdJTUFRc0xJQUFnQWpZQ0JBc0xDNWNCQVFGL0lBQkJJR29nQVJDTkNTQUFRZHdBYWlBQkVIUW9BZ0FvQWdRZ0FSQjBLQUlBS0FJSUlBRW9BaEFnQVNnQ0ZCRERDQ0FBSUFFUWRDZ0NBQ2dDQkRZQ0FDQUFJQUVRZENnQ0FDZ0NDRFlDQkNBQVFSQnFJQUFvQWdnUStnaEJBQ0VCQTBBZ0FTQUFLQUlVSUFBb0FoQWlBbXRCREJBNVNRUkFJQUZCREd3Z0Ftb2dBQ2dDREJENUNDQUJRUUZxSVFFTUFRc0xDMEFCQVg4Z0FFR1FBV29RVlNBQVFkd0FhaUlCUVNocUVOSUNJQUZCSEdvUVZTQUFRY2dBYWhCVklBQkJQR29RVlNBQVFTQnFFTklDSUFCQkVHb1FnUWtMSlFBZ0FFRUFSeUFCUVFCSGNRUi9JQUVnQUVIMGhxOERhaWdDQURZQ0FFRUFCVUYvQ3dzaUFRRi9JQUFvQWdnaUFrRUFJQUZCQW5RUVJSb2dBQ0FCUVFKMElBSnFOZ0lJQzZVQkFRVi9Jd1loQWlNR1FTQnFKQVlnQUNnQ0NDQUFLQUlFSWdOclFRSjFJQUZKQkVCQi8vLy8vd01nQVNBRElBQW9BZ0JyUVFKMWFpSURTUVJBRUFBRklBSWdBeUFBS0FJSUlBQW9BZ0FpQkdzaUJVRUJkU0lHSUFZZ0Ewa2JRZi8vLy84RElBVkJBblZCLy8vLy93RkpHeUFBS0FJRUlBUnJRUUoxSUFCQkNHb1F5QUVnQWlBQkVQNElJQUFnQWhEa0FTQUNFTWNCQ3dVZ0FDQUJFUFlEQ3lBQ0pBWUxJQUFnQUVFQVJ5QUJRUUJIY1FSL0lBRWdBQ2dDQURZQ0FFRUFCVUYvQ3hvTFFBRUNmeUFBS0FJQUlnSUVRQ0FBS0FJRUlRRURRQ0FCSUFKSEJFQWdBVUYwYWlJQkVOTUNEQUVMQ3lBQUlBSTJBZ1FnQUNnQ0NCb2dBQ2dDQUJBNEN3dTVBUUVCZnlBQVFRQTJBZ0FnQUVFQU5nSUVJQUJCQ2pZQ0NDQUFRUW8yQWd3Z0FFRUFOZ0lRSUFCQkFEWUNGQ0FBUVFBMkFoZ2dBRUVCT2dBY0lBQkNBRGNDSUNBQVFnQTNBaWdnQUVFQU5nSXdJQUJEQUFBQUFEZ0NOQ0FBUXdBQUlFRTRBamdnQUVJQU53SThJQUJDQURjQ1JDQUFRZ0EzQWt3Z0FFTUFBQkJCT0FKWUlBQkIzQUJxRU1RSUlBQkJrQUZxSWdGQkFEWUNBQ0FBUVFBMkFwUUJJQUJCQURZQ21BRWdBRUdJSnhEM0F5QUJRU1FRaHdFTG9RRUJBMzhqQmlFQ0l3WkJFR29rQmlBQUtBSUlJQUZMQkVBZ0FDZ0NHQ0FCSUFBb0FneHNhaUVFSUFJa0JpQUVEd1VnQWtIQXlBTkI3Y1FCRURkQmtzVUJFRGRCNzZJQ0VEZEI5d0FRUGtIMm9nSVFOMEdCeGdFUU55SURJQU1vQWdCQmRHb29BZ0JxRURzZ0FrR0F6Z01RT2lJQktBSUFLQUljSVFBZ0FVRUtJQUJCUDNGQmlnRnFFUUlBSVFBZ0FoQThJQU1nQUJCQUlBTVFQeEFBQzBFQUM4QUtBUVovSXdZaEJTTUdRUkJxSkFZZ0FDZ0NBRUVDUndSQUlBVkJ3TWdEUVp2QUFSQTNRY0M4QVJBM1FlK2lBaEEzUWRZQUVENUI5cUlDRURkQnlNQUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQUVFQ1J3UkFJQVZCd01nRFFlTEFBUkEzUWNDOEFSQTNRZStpQWhBM1FkY0FFRDVCOXFJQ0VEZEJ5TUFCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0FFRUNSd1JBSUFWQndNZ0RRWkhCQVJBM1FjQzhBUkEzUWUraUFoQTNRZGdBRUQ1QjlxSUNFRGRCeU1BQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NFRUVCUndSQUlBVkJ3TWdEUWNEQkFSQTNRY0M4QVJBM1FlK2lBaEEzUWRrQUVENUI5cUlDRURkQjZjRUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDRUVFQlJ3UkFJQVZCd01nRFFZN0NBUkEzUWNDOEFSQTNRZStpQWhBM1Fkb0FFRDVCOXFJQ0VEZEI2Y0VCRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQWlnQ0VFRUJSd1JBSUFWQndNZ0RRYm5DQVJBM1FjQzhBUkEzUWUraUFoQTNRZHNBRUQ1QjlxSUNFRGRCNmNFQkVEY2lBeWdDQUVGMGFpZ0NBQ0FEYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FDZ0NCQ0FDS0FJRVJ3UkFJQVZCd01nRFFlVENBUkEzUWNDOEFSQTNRZStpQWhBM1Fkd0FFRDVCOXFJQ0VEZEJsTU1CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXNnQUNnQ0NDQUNLQUlJUndSQUlBVkJ3TWdEUWJUREFSQTNRY0M4QVJBM1FlK2lBaEEzUWQwQUVENUI5cUlDRURkQjVzTUJFRGNpQXlBREtBSUFRWFJxS0FJQWFoQTdJQVZCZ000REVEb2lCQ2dDQUNnQ0hDRUdJQVJCQ2lBR1FUOXhRWW9CYWhFQ0FDRUVJQVVRUENBRElBUVFRQ0FERUQ4UUFBc2dBU2dDQkNBQ0tBSUVSd1JBSUFWQndNZ0RRWWZFQVJBM1FjQzhBUkEzUWUraUFoQTNRZDRBRUQ1QjlxSUNFRGRCbE1NQkVEY2lBeUFES0FJQVFYUnFLQUlBYWhBN0lBVkJnTTRERURvaUJDZ0NBQ2dDSENFR0lBUkJDaUFHUVQ5eFFZb0JhaEVDQUNFRUlBVVFQQ0FESUFRUVFDQURFRDhRQUFzZ0FTZ0NDQ0FDS0FJSVJ3UkFJQVZCd01nRFFibkVBUkEzUWNDOEFSQTNRZStpQWhBM1FkOEFFRDVCOXFJQ0VEZEI1c01CRURjaUF5QURLQUlBUVhScUtBSUFhaEE3SUFWQmdNNERFRG9pQkNnQ0FDZ0NIQ0VHSUFSQkNpQUdRVDl4UVlvQmFoRUNBQ0VFSUFVUVBDQURJQVFRUUNBREVEOFFBQXRCQUNFREEwQWdBeUFCS0FJSVNRUkFJQUFnQXhDRENTRUdJQUVnQXhCUUlRY2dBaUFERUZBaENFRUFJUVFEUUNBRUlBRW9BZ1JKQkVBZ0JFRUNkQ0FHYWlBRVFRSjBJQWRxS2dJQUlBUkJBblFnQ0dvcUFnQ1RPQUlBSUFSQkFXb2hCQXdCQ3dzZ0EwRUJhaUVEREFFTEN5QUZKQVlMNWdNQkJIOGpCaUVFSXdaQkVHb2tCaUFBS0FJRUlBQW9BZ0JHQkVBZ0JFSEF5QU5CaUw0QkVEZEJ3THdCRURkQjc2SUNFRGRCeUFBUVBrSDJvZ0lRTjBHeXZnRVFOeUlDSUFJb0FnQkJkR29vQWdCcUVEc2dCRUdBemdNUU9pSURLQUlBS0FJY0lRVWdBMEVLSUFWQlAzRkJpZ0ZxRVFJQUlRTWdCQkE4SUFJZ0F4QkFJQUlRUHhBQUN5QUJLQUlRUVFCTUJFQWdCRUhBeUFOQjI3NEJFRGRCd0x3QkVEZEI3NklDRURkQnlRQVFQa0gyb2dJUU4wR012d0VRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCQkVBZ0FVSHc4UUJCK1BFQUVPUUVCRUJCQUNFQ0EwQWdBaUFBS0FJTVNRUkFRUUFoQXdOQUlBTWdBQ2dDRUVrRVFDQUFLQUlBSUFNZ0FpQUFLQUlRYkdwQkJYUnFJQUVnQWlBREVLd0JJQUVnQWlBRFFRRnFJZ01RckFFUWhBa01BUXNMSUFKQkFXb2hBZ3dCQ3dzZ0JDUUdEd3NMSUFSQndNZ0RRYkMvQVJBM1FjQzhBUkEzUWUraUFoQTNRY29BRUQ1QjlxSUNFRGRCK0w4QkVEY2lBQ0FBS0FJQVFYUnFLQUlBYWhBN0lBUkJnTTRERURvaUFTZ0NBQ2dDSENFQ0lBRkJDaUFDUVQ5eFFZb0JhaEVDQUNFQklBUVFQQ0FBSUFFUVFDQUFFRDhRQUF0Q0FRSi9JQUFvQWdRaEFRTkFJQUFvQWdnaUFpQUJSd1JBSUFBZ0FrRmdhaUlDTmdJSUlBSVEzUUVNQVFzTElBQW9BZ0FpQVFSQUlBQW9BZ3dhSUFFUU9Bc0xTZ0VDZnlBQUJIOGdBRUdJaDY4RGFpSUJLQUlBSWdJRVFDQUNFRWtnQVVFQU5nSUFDeUFBUWVDR3B3SnFLQUlBRURnZ0FFSGtocWNDYWlnQ0FCQTRJQUFRT0VFQUJVRi9DeG9Ma0FFQkFuOGdBQ2dDQUNFRElBQW9BZ1FoQWdOQUlBSWdBMGNFUUNBQktBSUVRV0JxSUFKQllHb2lBaENxQnlBQklBRW9BZ1JCWUdvMkFnUU1BUXNMSUFBb0FnQWhBaUFBSUFFb0FnUTJBZ0FnQVNBQ05nSUVJQUFvQWdRaEFpQUFJQUVvQWdnMkFnUWdBU0FDTmdJSUlBQW9BZ2doQWlBQUlBRW9BZ3cyQWdnZ0FTQUNOZ0lNSUFFZ0FTZ0NCRFlDQUFzckFRRi9JQUFvQWdnaEFnTkFJQUlRdWdNZ0FDQUFLQUlJUVNCcUlnSTJBZ2dnQVVGL2FpSUJEUUFMQzNJQkFYOGdBRUVBTmdJTUlBQWdBellDRUNBQkJFQWdBVUgvLy84L1N3UkFRUWdRQlNJREVJZ0JJQU5CdElzQk5nSUFJQU5CK1BjQVFSWVFCQVVnQVVFRmRCQlJJUVFMQ3lBQUlBUTJBZ0FnQUNBQ1FRVjBJQVJxSWdJMkFnZ2dBQ0FDTmdJRUlBQWdBVUVGZENBRWFqWUNEQXNyQVFGL0lBQW9BZ1FoQWdOQUlBSVF1Z01nQUNBQUtBSUVRU0JxSWdJMkFnUWdBVUYvYWlJQkRRQUxDNklCQVFWL0l3WWhBaU1HUVNCcUpBWWdBQ2dDQ0NBQUtBSUVJZ05yUVFWMUlBRkpCRUJCLy8vL1B5QUJJQU1nQUNnQ0FHdEJCWFZxSWdOSkJFQVFBQVVnQWlBRElBQW9BZ2dnQUNnQ0FDSUVheUlGUVFSMUlnWWdCaUFEU1J0Qi8vLy9QeUFGUVFWMVFmLy8veDlKR3lBQUtBSUVJQVJyUVFWMUlBQkJDR29RaWdrZ0FpQUJFSWtKSUFBZ0FoQ0lDU0FDRUlZSkN3VWdBQ0FCRUlzSkN5QUNKQVlMd3dJQkNIOGpCaUVFSXdaQkVHb2tCaUFCS0FJSUlBRW9BZ1JyUVFWMVJRUkFJQVJCd01nRFFaVzhBUkEzUWNDOEFSQTNRZStpQWhBM1FUVVFQa0gyb2dJUU4wSEl2UUVRTnlJQ0lBSW9BZ0JCZEdvb0FnQnFFRHNnQkVHQXpnTVFPaUlES0FJQUtBSWNJUVVnQTBFS0lBVkJQM0ZCaWdGcUVRSUFJUU1nQkJBOElBSWdBeEJBSUFJUVB4QUFDeUFCUVFCQkFCQ3NBU2dDQUNFRElBRkJBRUVBRUt3QktBSUVJUVVnQVVFQVFRQVFyQUVvQWdnaEJpQUFJQUVvQWhBMkFnd2dBQ0FCS0FJVVFYOXFJZ0UyQWhBZ0FDQUJJQUFvQWd4c0VOUUNRUUFoQVFOQUlBRWdBQ2dDREVrRVFDQUZJQUYySVFjZ0JpQUJkaUVJUVFBaEFnTkFJQUlnQUNnQ0VDSUpTUVJBSUFBb0FnQWdBaUFCSUFsc2FrRUZkR29nQXlBSElBaEJBUkMzQWlBQ1FRRnFJUUlNQVFzTElBRkJBV29oQVF3QkN3c2dCQ1FHQzNNQkJIOGpCaUVESXdaQkVHb2tCaUFEUVFocUlRUWdBQVJBSUFBUVlDRUNRWURSQWhCZ0lBSkJBbXBxRUVRaUFnUkFJQVFnQURZQ0FDQUVRWURSQWpZQ0JDQUNRWSs4QVNBRUVMd0JJQUlnQVJDd0FTRUZJQUlRT0FWQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dzZ0F5UUdJQVVMdlFJQkNIOGpCaUVLSXdaQkVHb2tCaUFESUFGQkJCQTVJZ3MyQWdBZ0JDQUNRUVFRT1NJTU5nSUFJQXNnREd3UVJDSURSUVJBUVFCQkEwRzUyQUlnQ2hBOVFRRVFBUXNnQXlFQ0EwQWdDQ0FNU0FSQVFRQWhDU0FBSUFFZ0NFRUNkQ0lGYkdvaEJDQUFJQUVnQlVFRGNteHFJUVlnQUNBQklBVkJBbkpzYWlFSElBQWdBU0FGUVFGeWJHb2hCUU5BSUFrZ0MwZ0VRQ0FDSUFZdEFBTWdCaTBBQWlBR0xRQUJJQVl0QUFBZ0J5MEFBeUFITFFBQ0lBY3RBQUVnQnkwQUFDQUZMUUFESUFVdEFBSWdCUzBBQVNBRkxRQUFJQVF0QUFNZ0JDMEFBaUFFTFFBQUlBUXRBQUZxYW1wcWFtcHFhbXBxYW1wcWFtcEJFQkE1T2dBQUlBbEJBV29oQ1NBRVFRUnFJUVFnQmtFRWFpRUdJQWRCQkdvaEJ5QUZRUVJxSVFVZ0FrRUJhaUVDREFFTEN5QUlRUUZxSVFnTUFRc0xJQW9rQmlBREN5Y0FJQUFFZnlBQVFmaUdyd05xUVFjMkFnQWdBRUg4aHE4RGFrRUFOZ0lBUVFBRlFYOExHZ3YvQVFFSGZ5TUdJUWtqQmtFUWFpUUdJQU1nQVVFREVEa2lDallDQUNBRUlBSkJBeEE1SWdzMkFnQWdDaUFMYkJCRUlnTkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFESVFJRFFDQUhJQXRJQkVCQkFDRUlJQUFnQVNBSFFRTnNJZ1ZzYWlFRUlBQWdBU0FGUVFKcWJHb2hCaUFBSUFFZ0JVRUJhbXhxSVFVRFFDQUlJQXBJQkVBZ0FpQUdMUUFDSUFZdEFBRWdCaTBBQUNBRkxRQUNJQVV0QUFFZ0JTMEFBQ0FFTFFBQ0lBUXRBQUFnQkMwQUFXcHFhbXBxYW1wcVFRa1FPVG9BQUNBSVFRRnFJUWdnQkVFRGFpRUVJQVpCQTJvaEJpQUZRUU5xSVFVZ0FrRUJhaUVDREFFTEN5QUhRUUZxSVFjTUFRc0xJQWtrQmlBREM5QUJBUVovSXdZaENDTUdRUkJxSkFZZ0F5QUJRUUlRT1NJSk5nSUFJQVFnQWtFQ0VEa2lDallDQUNBSklBcHNFRVFpQTBVRVFFRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTFFRQWhCQ0FESVFJRFFDQUVJQXBJQkVCQkFDRUhJQUFnQVNBRVFRRjBJZ1ZzYWlFR0lBQWdBU0FGUVFGeWJHb2hCUU5BSUFjZ0NVZ0VRQ0FDSUFVdEFBRWdCUzBBQUNBR0xRQUFJQVl0QUFGcWFtcEJBblk2QUFBZ0IwRUJhaUVISUFaQkFtb2hCaUFGUVFKcUlRVWdBa0VCYWlFQ0RBRUxDeUFFUVFGcUlRUU1BUXNMSUFna0JpQURDNllEQVFsL0l3WWhDeU1HUVJCcUpBWWdBeUFCUVFNUU9TSU1RUUYwSWdrMkFnQWdCQ0FDUVFNUU9TSU5RUUYwSWdJMkFnQWdBaUFKYkJCRUlnUkZCRUJCQUVFRFFibllBaUFMRUQxQkFSQUJDeUFFSWdJaEF3TkFJQWdnRFVnRVFFRUFJUW9nQUNBQklBaEJBMndpQmtFQ2FteHFJUWNnQUNBQklBWkJBV3BzYWlFRklBQWdBU0FHYkdvaEJpQURJQWxxSVFNRFFDQUtJQXhJQkVBZ0FpQUdMUUFBSUFZdEFBRkJBWFpxSUFVdEFBQkJBWFpxSUFVdEFBRkJBblpxUVFKMFFRa1FTRG9BQUNBRElBY3RBQUFnQlMwQUFFRUJkaUFGTFFBQlFRSjJha0VZZEVFWWRVSC9BWEZxSUFjdEFBRkJBWFpxUVFKMFFRa1FTRG9BQUNBQ0lBWXRBQUlnQmkwQUFVRUJkbW9nQlMwQUFVRUNkbW9nQlMwQUFrRUJkbXBCQW5SQkNSQklPZ0FCSUFNZ0J5MEFBaUFGTFFBQlFRSjJJQVV0QUFKQkFYWnFRUmgwUVJoMVFmOEJjU0FITFFBQlFRRjJhbXBCQW5SQkNSQklPZ0FCSUFwQkFXb2hDaUFIUVFOcUlRY2dCVUVEYWlFRklBWkJBMm9oQmlBQ1FRSnFJUUlnQTBFQ2FpRUREQUVMQ3lBSVFRRnFJUWdnQWlBSmFpRUNEQUVMQ3lBTEpBWWdCQXRPQVFGL0l3WWhCU01HUVJCcUpBWWdBeUFCTmdJQUlBUWdBallDQUNBQklBSnNJZ0VRUkNJQ0JFQWdBaUFBSUFFUVRCb2dCU1FHSUFJUEJVRUFRUU5CdWRnQ0lBVVFQVUVCRUFFTFFRQUxhZ0FDZndKQUFrQUNRQUpBQWtBZ0EwRUJhdzRGQUFJRUF3RUVDeUFBSUFFZ0FpQUVJQVVRbEFrTUJBc2dBQ0FCSUFJZ0JDQUZFSk1KREFNTElBQWdBU0FDSUFRZ0JSQ1NDUXdDQ3lBQUlBRWdBaUFFSUFVUWtRa01BUXNnQUNBQklBSWdCQ0FGRUk4SkN3dkZCQUlMZndGOUl3WWhDQ01HUWZBQmFpUUdJQWhCMEFGcUlRa2dDRUhJQVdvaEJpQUlRZUFCYWlFTUlBaEIxQUZxSVFvZ0NFSGdBR29oRGlBSVFjQUJhaUVQSUFFb0FnUWdBU2dDQUNJQmF5SUhRUU4xSWd0QkJFa0VmMEYvQlFKL0lBZEJBWFFRUkNJSFJRUkFRUUJCQTBHNTJBSWdCaEE5UVFFUUFRc2dDMEVZYkJCRUlnWkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDeUFES0FJQUlRTWdBaWdDQUNFSlFRQWhBZ05BSUFJZ0MwY0VRQ0FDUVFSMElBZHFJQUpCQTNRZ0FXb29BZ0FpRFVFVWJDQURhaW9DQUxzNUF3QWdBa0VFZENBSGFpQU5RUlJzSUFOcUtnSUV1emtEQ0NBQ1FSaHNJQVpxSUFKQkEzUWdBV29vQWdRaURVRU1iQ0FKYWlvQ0FMczVBd0FnQWtFWWJDQUdhaUFOUVF4c0lBbHFLZ0lFdXprRENDQUNRUmhzSUFacVJBQUFBQUFBQUFBQU9RTVFJQUpCQVdvaEFnd0JDd3NnQ2lBTE5nSUlJQW9nQnpZQ0FDQUtJQVkyQWdRZ0FFRUlhaUlBSUFjZ0JpQUxJQTRRbUFSQkFFZ0VRQ0FIRURnZ0JoQTRRWDhNQVFzZ0RDQUFFT01DSWdBMkFnQWdBRVVFUUNBSEVEZ2dCaEE0UVg4TUFRc2dBQ0FLSUE0Z0NDQVBFT29CUVFCSUJIOGdCeEE0SUFZUU9DQU1FT0lDUVg4RlFRQWhBQU5BSUFCQkEwY0VRRUVBSVFFRFFDQUJRUVJIQkVBZ0FFRUVkQ0FFYWlBQlFRSjBhaUFBUVFWMElBaHFJQUZCQTNScUt3TUF0amdDQUNBQlFRRnFJUUVNQVFzTElBQkJBV29oQUF3QkN3c2dEQkRpQWlBSEVEZ2dCaEE0SUFVZ0R5c0RBTFlpRVRnQ0FDQVJRd0FBSUVGZVFSOTBRUjkxQ3dzTElSQWdDQ1FHSUJBTHJRd0RDMzhDZlFGOEl3WWhCaU1HUVRCcUpBWWdCa0VRYWlFSElBWkJDR29oQlNBR1FTeHFJUWdnQmtFb2FpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBQW9BZ3doQkNBQUtBSVFJUUlDZnlBQUtBSVVJZ05CQVVZaUNnUi9JQUVoQ0VFQUJTQUJJQVFnQWlBRElBZ2dDUkNWQ1NJSUJIOUJBUVZCZnd3REN3c2hEQ0FBS0FJQUlBZ2dCQ0FDRUlRSUlBQWdBQ2dDQUJDNUFpSUJLQUlFSUFFb0FnQnJJZ0ZCRkJBNUlnUTJBakFnQVFSQUFrQWdBQ0FBS0FJc0lnRUVmeUFCRURnZ0FDZ0NNQVVnQkF0QkEzUVFSQ0lCTmdJc0lBRkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDeUFBS0FJQUVMa0NJUVFDUUNBS0JFQWdBRUVFYWlFQlFRQWhBZ05BSUFJZ0FDZ0NNRTROQWlBRUtBSUFJZ01nQWtFVWJHb3FBZ0FoRFNBQ1FSUnNJQU5xS2dJRUlRNGdBQ2dDQkNJREJFQWdBMEc0QVdvZ0RTQU9JQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMDRBZ0FnQWtFRGRDQURhaUFPT0FJRUN5QUNRUUZxSVFJTUFBQUxBQVVDUUFKQUFrQUNRQ0FEUVFKckRnUUJBd0lBQXdzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CU0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFNQS9sQ0FPUXdBQXdEK1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQURBUDVRNEFnQWdBa0VEZENBRGFpQU9Rd0FBd0QrVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5CQ0FFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFBQkFsQ0FPUXdBQUFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUFBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBQUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BeUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFFQkFsQ0FPUXdBQVFFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUJBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBUUVDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzZ0FFRUVhaUVCUVFBaEFnTkFJQUlnQUNnQ01FNE5BaUFFS0FJQUlnTWdBa0VVYkdvcUFnQWhEU0FDUVJSc0lBTnFLZ0lFSVE0Z0FDZ0NCQ0lEQkVBZ0EwRzRBV29nRFVNQUFJQkFsQ0FPUXdBQWdFQ1VJQUFvQWl3aUF5QUNRUU4wYWlBQ1FRTjBJQU5xUVFScUVLWUJHZ1VnQUNnQ0xDSURJQUpCQTNScUlBMURBQUNBUUpRNEFnQWdBa0VEZENBRGFpQU9Rd0FBZ0VDVU9BSUVDeUFDUVFGcUlRSU1BQUFMQUFzQUN5QUFRVFJxSVFSQkFDRURBMEFnQXlBQUtBSTRJZ0pPQkVBZ0JDRUFJQUloQVF3Q0N5QUVLQUlBSWdJZ0EwSEVBR3hxSUFBb0FpUWdBMEVNYkdvb0FnZzJBakFnQTBIRUFHd2dBbXBCZnpZQ1BDQURRY1FBYkNBQ2FrRkFheWdDQUVVRVFDQUFLQUlBS0FJQUtBSUFRUXhxSVFJZ0FDZ0NBQ2dDQUNnQ0FDZ0NHQ0lKUVFCT0JFQWdBU2dDQUNBQ0lBQW9BZ0FnQ1JESUJ5QUFLQUlBRUxrQ0lBUW9BZ0FpQlNBRFFjUUFiR29nQTBIRUFHd2dCV3BCTkdvUWxnbEZCRUFnQkNnQ0FDSUZJQU5CeEFCc2FrRUFOZ0k4SUFOQnhBQnNJQVZxSUFJb0FnUWdBaWdDQUd0QkEzVWlBallDT0NBRFFjUUFiQ0FGYWlBQVFUeHFJQWxCQW5ScUtBSUFOZ0l3SUFOQnhBQnNJQVZxS2dJMHV5RVBJQWNnQXpZQ0FDQUhJQUkyQWdRZ0J5QUNOZ0lJSUFjZ0R6a0RFRUVBUVFGQjU3c0JJQWNRUFFzTEN5QURRUUZxSVFNTUFBQUxBQXNGSUFBb0FqZ2hBU0FBSWdSQk5Hb2hBRUVBSVFJRFFDQUNJQUZJQkVBZ0JDZ0NOQ0FDUWNRQWJHcEJmellDUENBQ1FRRnFJUUlNQVFzTEMwRUFJUUlEUUNBQ0lBRklCRUFnQUNnQ0FDQUNRY1FBYkdwQlFHdEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBd0xCRUFnQ0JBNEMwRUFDd1ZCQUVFRFFidTdBU0FHRUQxQkFBc2FJQVlrQmdzR0FDQUFKQVlMUHdFQ2Z5QUFLQUlFSVFJZ0FDZ0NDQ0VCQTBBZ0FTQUNSd1JBSUFBZ0FVRjBhaUlCTmdJSURBRUxDeUFBS0FJQUlnRUVRQ0FBS0FJTUdpQUJFRGdMQzVjQkFRUi9JQUZCQkdvaUF5Z0NBQ0VDSUFNZ0FDZ0NCQ0FBS0FJQUlnUnJJZ1ZCZEJBNVFReHNJQUpxSWdJMkFnQWdCVUVBU2dSQUlBSWdCQ0FGRUV3YUlBTW9BZ0FoQWdzZ0FDZ0NBQ0VFSUFBZ0FqWUNBQ0FESUFRMkFnQWdBQ2dDQkNFQ0lBQWdBU2dDQ0RZQ0JDQUJJQUkyQWdnZ0FDZ0NDQ0VDSUFBZ0FTZ0NERFlDQ0NBQklBSTJBZ3dnQVNBREtBSUFOZ0lBQzVRQkFRVi9Jd1loQWlNR1FTQnFKQVpCLy8vLy93Y2dBQ2dDQkNBQUtBSUFhMEVCYWlJRFNRUkFFQUFGSUFJZ0F5QUFLQUlJSUFBb0FnQWlCR3NpQlVFQmRDSUdJQVlnQTBrYlFmLy8vLzhISUFWQi8vLy8vd05KR3lBQUtBSUVJQVJySUFCQkNHb1EyQUlnQWlnQ0NDQUJMQUFBT2dBQUlBSWdBaWdDQ0VFQmFqWUNDQ0FBSUFJUTF3SWdBaERXQWlBQ0pBWUxDNndCQVFWL0l3WWhBaU1HUVNCcUpBWkIxYXJWcWdFZ0FDZ0NCQ0FBS0FJQWEwRU1FRGxCQVdvaUEwa0VRQkFBQlNBQ0lBTWdBQ2dDQ0NBQUtBSUFJZ1JyUVF3UU9TSUZRUUYwSWdZZ0JpQURTUnRCMWFyVnFnRWdCVUdxMWFyVkFFa2JJQUFvQWdRZ0JHdEJEQkE1SUFCQkNHb1ExUUlnQWlnQ0NDSURJQUVwQWdBM0FnQWdBeUFCS0FJSU5nSUlJQUlnQWlnQ0NFRU1hallDQ0NBQUlBSVFtZ2tnQWhDWkNTQUNKQVlMQzdVQkFRVi9Jd1loQWlNR1FTQnFKQVpCekptejVnQWdBQ2dDQkNBQUtBSUFhMEVVRURsQkFXb2lBMGtFUUJBQUJTQUNJQU1nQUNnQ0NDQUFLQUlBSWdSclFSUVFPU0lGUVFGMElnWWdCaUFEU1J0QnpKbXo1Z0FnQlVIbXpKa3pTUnNnQUNnQ0JDQUVhMEVVRURrZ0FFRUlhaEQ2QXlBQ0tBSUlJZ01nQVNrQ0FEY0NBQ0FESUFFcEFnZzNBZ2dnQXlBQktBSVFOZ0lRSUFJZ0FpZ0NDRUVVYWpZQ0NDQUFJQUlRK1FNZ0FoRDRBeUFDSkFZTEM0Y01BZzkvQW4wakJpRUhJd1pCOEFCcUpBWWdCMEV3YWlFUElBZEJLR29oRFNBSFFTQnFJUTRnQjBFWWFpRU1JQWRCRUdvaEJDQUhRUWhxSVFNZ0IwSGdBR29oQ0NBSFFkUUFhaUVLSUFkQnlBQnFJUXNnQjBFMGFpRUpJQUJCQUVjZ0FVRUFSM0VFZndKL0lBRW9BZ1FpQWtVRVFFRUFRUU5CajdzQklBTVFQVUYvREFFTEFrQUNRQ0FBS0FJY0lnTkZEUUFnQXhBNElBRW9BZ1FpQWcwQUlBQkJBRFlDSEVFQUlRSU1BUXNnQUNBQ1FZUUJiQkJFSWdNMkFod2dBMFVFUUVFQVFRTkJ1ZGdDSUFRUVBVRUJFQUVMUVFBaEJBTkFJQVFnQWtnRVFDQUFLQUljSUFSQmhBRnNhaUFCS0FJQUlBUkJoQUZzYWtHRUFSQk1HaUFFUVFGcUlRUWdBU2dDQkNFQ0RBRUxDd3NnQUNBQ05nSWdJQUFvQWlRaUFnUkFRUUFoQXdOQUlBTWdBQ2dDS0VnRVFDQURRUXhzSUFKcUtBSUFJZ1FFUUNBRUVEZ2dBQ2dDSkNFQ0N5QURRUUZxSVFNTUFRc0xJQUlRT0FzZ0FTZ0NEQ0lDQkVBQ1FDQUFJQUpCREd3UVJDSUVOZ0lrSUFSRkJFQkJBRUVEUWJuWUFpQU1FRDFCQVJBQkN3TkFBa0FnQlNBQ1RnUkFJQUloQmd3REN5QUFLQUlrSWdNZ0JVRU1iR29nQVNnQ0NDSUVJQVZCREd4cUtBSUlOZ0lJSUFWQkRHd2dBMm9nQlVFTWJDQUVhaUlNS0FJRU5nSUVJQXdvQWdRaURBUkFJQVZCREd3Z0Eyb2dERUVNYkJCRUlnSTJBZ0FnQWtVTkFVRUFJUU1nQkNFQ0EwQWdBeUFGUVF4c0lBSnFLQUlFU0FSQUlBQW9BaVFnQlVFTWJHb29BZ0FnQTBFTWJHb2lCQ0FGUVF4c0lBSnFLQUlBSUFOQkRHeHFJZ0lwQWdBM0FnQWdCQ0FDS0FJSU5nSUlJQU5CQVdvaEF5QUJLQUlJSVFJTUFRc0xJQUVvQWd3aEFnVWdCVUVNYkNBRWFrRUFOZ0lBQ3lBRlFRRnFJUVVNQVFzTFFRQkJBMEc1MkFJZ0RoQTlRUUVRQVFzRklBQkJBRFlDSkFzZ0FDQUdOZ0lvSUFBb0FqUWlBZ1JBSUFJUU9DQUFRUUEyQWpRZ0FFRUFOZ0k0Q3lBQktBSU1JZ0ZCQUVvRVFBSkFJQUFnQVRZQ09DQUFJQUZCeEFCc0VFUWlBallDTkNBQ1JRUkFRUUJCQTBHNTJBSWdEUkE5UVFFUUFRdEJBQ0VHQTBBZ0FTQUdSZzBCSUFaQnhBQnNJQUpxUVVCclFRQTJBZ0FnQmtFQmFpRUdEQUFBQ3dBTEN5QUFLQUlnSWcwRWYwRUFJUVpCQUNFQkEwQkJBQ0FHSUFBb0FpaE9EUUlhUVFBaEJBTkFJQVFnQUNnQ0pDQUdRUXhzYWlnQ0JFZ0VRQ0FJUVFBMkFnQWdDRUVBTmdJRUlBaEJBRFlDQ0NBS1FRQTJBZ0FnQ2tFQU5nSUVJQXBCQURZQ0NDQUxRUUEyQWdBZ0MwRUFOZ0lFSUF0QkFEWUNDRUVBSVFJRFFDQUNJQTFJQkVBZ0FDZ0NIQ0lESUFKQmhBRnNhaWdDZ0FFZ0FDZ0NKQ0lGSUFaQkRHeHFLQUlBSUFSQkRHeHFLQUlJUmdSQUlBSkJoQUZzSUFOcUtBSjhJQVpCREd3Z0JXb29BZ2hHQkVBQ1FDQUpJQUpCaEFGc0lBTnFLZ0lBSUFKQmhBRnNJQU5xS2dJRUlBSkJoQUZzSUFOcUtnSndJQUpCaEFGc0lBTnFLZ0owSUFKQmhBRnNJQU5xS0FKNFFRQkhFUHdESUFnb0FnUWlBeUFJS0FJSVNRUkFJQU1nQ1NrQ0FEY0NBQ0FESUFrcEFnZzNBZ2dnQXlBSktBSVFOZ0lRSUFnZ0EwRVVhallDQkFVZ0NDQUpFSjBKQ3lBQUtBSWNJZ01nQWtHRUFXeHFLZ0lJSVJFZ0FrR0VBV3dnQTJvcUFnd2hFaUFKSUJFNEFnQWdDU0FTT0FJRUlBbERBQUFBQURnQ0NDQUtLQUlFSWdNZ0NpZ0NDRWtFUUNBRElBa3BBZ0EzQWdBZ0F5QUpLQUlJTmdJSUlBb2dDaWdDQkVFTWFqWUNCQVVnQ2lBSkVKd0pDMEVBSVFNRFFDQURRZUFBVHcwQklBTWdBQ2dDSENBQ1FZUUJiR3BCRUdwcUlRVWdDeWdDQkNJT0lBc29BZ2hHQkVBZ0N5QUZFSnNKQlNBT0lBVXNBQUE2QUFBZ0N5QUxLQUlFUVFGcU5nSUVDeUFEUVFGcUlRTU1BQUFMQUFzTEN5QUNRUUZxSVFJTUFRc0xJQThnQ0NnQ0JDQUlLQUlBYTBFVUVEazJBZ0JCQUVFQlFiQzdBU0FQRUQwZ0FFRThhaUFCUVFKMGFpQUFLQUlrSWdJZ0JrRU1iR29vQWdnMkFnQWdBQ2dDQUNBSUlBc2dDaUFHUVF4c0lBSnFLQUlBSWdJZ0JFRU1iR29vQWdBZ0JFRU1iQ0FDYWlnQ0JDQUJFSklJSUFzUVZTQUtFRlVnQ0JEWkFpQUVRUUZxSVFRZ0FVRUJhaUVCREFFTEN5QUdRUUZxSVFZTUFBQUxBQVZCQUFzTEJVRUFRUU5CMzdvQklBY1FQVUYvQ3lFUUlBY2tCaUFRQy9VQkFRWi9Jd1loQXlNR1FSQnFKQVlnQTBFTWFpRUdJQU1nQUJDWUFpQURMQUFBQkVBZ0F5QUFJQUFvQWdCQmRHb2lCQ2dDQUdvb0FoZzJBZ2dnQUNBRUtBSUFhaUlFS0FJRUlRZEJmeUFFS0FKTUVFRUVRQ0FHSUFRUU95QUdRWURPQXhBNklnVW9BZ0FvQWh3aENDQUZRU0FnQ0VFL2NVR0tBV29SQWdBaEJTQUdFRHdnQkNBRlFSaDBRUmgxSWdVMkFrd0ZJQVFvQWt3aEJRc2dCaUFES0FJSU5nSUFJQVlnQVNBQklBSnFJZ0lnQVNBSFFiQUJjVUVnUmhzZ0FpQUVJQVZCL3dGeEVKY0JSUVJBSUFBZ0FDZ0NBRUYwYWlnQ0FHb2lBU0FCS0FJUVFRVnlFTzRCQ3dzZ0F4Q1hBaUFESkFZZ0FBdTdBUUVGZnlNR0lRWWpCa0VRYWlRR0lBQUVRQUpBSUFBb0FnUWhBd05BSUFJZ0EwZ0VRQ0FBS0FJQUlBSkJoQUZzYWlJRUtBSjhJZ1ZCZjBZZ0JVRi9TbklFUUNBRUlBRTJBbndMSUFKQkFXb2hBZ3dCQ3dzZ0FDZ0NEQ0VEUVFBaEFnTkFJQUlnQTA0RVFFRUFJUUFNQWdzZ0FDZ0NDQ0FDUVF4c2FpSUVLQUlJSWdWQmYwWWdCVUYvU25JRVFDQUVJQUUyQWdnTElBSkJBV29oQWd3QUFBc0FDd1ZCQUVFRFFhNjZBU0FHRUQxQmZ5RUFDeUFHSkFZZ0FBdjdCUUVLZnlNR0lRVWpCa0ZBYXlRR0lBVkJPR29oQ0NBRlFUQnFJUWtnQlVFb2FpRUdJQVZCSUdvaEJ5QUZRUmhxSVFvZ0JVRUlhaUVDSUFWQlBHb2lBMEdJdVFFdUFBQTdBQUFnQTBHS3VRRXNBQUE2QUFJZ0FFRUFSeUFCUVFCSGNRUi9BbjhnQUNBREVJNEpJZ1JGQkVBZ0FpQUFOZ0lBSUFKQnhQNENOZ0lFSUFKQmdORUNOZ0lJUVFCQkEwRyt1UUVnQWhBOVFYOE1BUXRCQVVFUUVJMENJZ0pGQkVCQkFFRURRYm5ZQWlBS0VEMUJBUkFCQ3lBQ1FRUnFRUVJCQVNBRUVHRkJBVVlFUUNBQ0tBSUVJZ0JCQVU0RVFBSkFJQUlnQUVHRUFXd1FSQ0lETmdJQUlBTkZCRUJCQUVFRFFibllBaUFIRUQxQkFSQUJDMEVBSVFNRFFDQURJQUJJQkVBZ0FpZ0NBQ0FEUVlRQmJHcEJDRUVCSUFRUVlVRUJSdzBDSUFJb0FnQWdBMEdFQVd4cVFRaHFRUWhCQVNBRUVHRkJBVWNOQWlBQ0tBSUFJQU5CaEFGc2FrRVFha0hzQUVFQklBUVFZVUVCUncwQ0lBSW9BZ0FnQTBHRUFXeHFRZndBYWtFRVFRRWdCQkJoUVFGSERRSWdBaWdDQUNBRFFZUUJiR3BCZ0FGcVFRUkJBU0FFRUdGQkFVY05BaUFEUVFGcUlRTWdBaWdDQkNFQURBRUxDeUFDUVF4cVFRUkJBU0FFRUdGQkFVWUVRQ0FDS0FJTUlnQkJBVWdFUUNBQ1FRQTJBZ2dNQWdzZ0FpQUFRUXhzRUVRaUF6WUNDQ0FEUlFSQVFRQkJBMEc1MkFJZ0JoQTlRUUVRQVF0QkFDRURBa0FDUUFOQUFrQWdBeUFBVGcwQ0lBSW9BZ2dnQTBFTWJHcEJDR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dnQTBFTWJHcEJCR3BCQkVFQklBUVFZVUVCUncwRklBSW9BZ2dpQnlBRFFReHNhaWdDQkNJR1FReHNFRVFoQUNBRFFReHNJQWRxSUFBMkFnQWdBRVVOQUNBQVFRd2dCaUFFRUdFZ0JrY05CU0FEUVFGcUlRTWdBaWdDRENFQURBRUxDMEVBUVFOQnVkZ0NJQWtRUFVFQkVBRU1BUXNnQVNBQ05nSUFJQVFRYWtFQURBVUxDd3NMQzBFQVFRTkJnYm9CSUFnUVBTQUNLQUlJSWdBRVFDQUFFRGdMSUFJb0FnQWlBQVJBSUFBUU9Bc2dBaEE0SUFRUWFrRi9Dd1ZCQUVFRFFZdTVBU0FGRUQxQmZ3c2hDeUFGSkFZZ0N3dlhBZ0VFZnlNR0lRSWpCa0VRYWlRR1FhQ0hyd01RUkNJQlJRUkFRUUJCQTBHNTJBSWdBaEE5UVFFUUFRc2dBa0VJYWlFRElBRkJBRFlDQUNBQlFlU0dwd0pxUVFBMkFnQWdBVUdJaDY4RGFrRUFOZ0lBSUFGQmZ6WUNCQ0FCUVFBMkFnZ2dBVUVCTmdJTUlBRkI1QUEyQWhBZ0FVRUFOZ0lVSUFGQkFEWUNHQ0FCUVFJMkFod2dBVUdRaDY4RGFrUUFBQUFBQUFEZ1B6a0RBQ0FCUVppSHJ3TnFRUU0yQWdBZ0FTQUFOZ0lnSUFFZ0FDZ0NBQ0lFTmdJa0lBRWdBQ2dDQkNJQU5nSW9JQUZCQURZQ0xDQUJRYkQ0QUdwQkFEWUNBQ0FCUWVpR3B3SnFRUUEyQWdBZ0FVSDRpcVlDYWtFQU5nSUFJQUZCNElhbkFtb2dBQ0FFUVFGMGJCQkVJZ0EyQWdBZ0FBUkFJQUZCOElhdkEycEJBRFlDQUNBQlFRQVEvUU1nQVVIMGhxOERha0YvTmdJQUlBRkJBQkQ3QXhvZ0FSQ1FDU0FDSkFZZ0FROEZRUUJCQTBHNTJBSWdBeEE5UVFFUUFRdEJBQXZzQ2dFUWZ5TUdJUTBqQmtFd2FpUUdJQTFCS0dvaEVDQU5RU0JxSVE4Z0RVRVlhaUVKSUExQkVHb2hCaUFOUVFocUlRY2dBRUVBUnlBQlFRQkhjUVIvSUFBb0FnQWlBZ1JBSUFJaUJDRURCU0FBUVJBUVJDSUNOZ0lBSUFJRVFDQUNRUUEyQWdRZ0FrRUFOZ0lBSUFKQkFEWUNEQ0FDUVFBMkFnZ2dBaUlFSVFNRlFRQkJBMEc1MkFJZ0J4QTlRUUVRQVFzTElBRW9BZ0FpREFSQUlBUW9BZ1FpQlNBTUtBSUVJZ2RxSWdKQmhBRnNFRVFpQzBVRVFFRUFRUU5CdWRnQ0lBWVFQVUVCRUFFTFFRQWhCZ05BSUFZZ0JVZ0VRQ0FHUVlRQmJDQUxhaUFFS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMUVFBaEJnTkFJQVlnQjBnRVFDQUZJQVpxUVlRQmJDQUxhaUFNS0FJQUlBWkJoQUZzYWtHRUFSQk1HaUFHUVFGcUlRWU1BUXNMSUFRb0FnQWlCQVJBSUFRUU9DQUFLQUlBSVFNTElBTWdDellDQUNBQUtBSUFJZ2NnQWpZQ0JDQUhLQUlNSVFzZ0FTZ0NBQ0lES0FJTUlReEJBQ0VFUVFBaEJnTkFJQVlnREVnRVFFRUFJUUlDUUFKQUEwQWdBaUFMU0FSQUlBTW9BZ2dnQmtFTWJHb29BZ2dnQnlnQ0NDQUNRUXhzYWlnQ0NFWU5BaUFDUVFGcUlRSU1BUXNMREFFTElBUkJBV29oQkFzZ0JrRUJhaUVHREFFTEN5QUxJQXhxSUFScklnWkJER3dRUkNJT1JRUkFRUUJCQTBHNTJBSWdDUkE5UVFFUUFRc0NRQUpBQTBBZ0NpQUxTQVJBSUFwQkRHd2dEbW9nQUNnQ0FDSUhLQUlJSWdRZ0NrRU1iR29pQWlnQ0NEWUNDQ0FLUVF4c0lBUnFLQUlFSVFSQkFDRUpBMEFnQ1NBTVNBUkFJQUVvQWdBb0FnZ2lBeUFKUVF4c2FpZ0NDQ0FDS0FJSVJnUkFJQVFnQ1VFTWJDQURhaWdDQkdvaEJBc2dDVUVCYWlFSkRBRUxDeUFLUVF4c0lBNXFJZ2tnQkVFTWJCQkVJZ00yQWdBZ0EwVU5BaUFIS0FJSUlBcEJER3hxS0FJRUlRZEJBQ0VGQTBBZ0JTQUhTQVJBSUFrb0FnQWdCVUVNYkdvaUFpQUFLQUlBS0FJSUlBcEJER3hxS0FJQUlBVkJER3hxSWdNcEFnQTNBZ0FnQWlBREtBSUlOZ0lJSUFWQkFXb2hCUXdCQ3d0QkFDRUlBa0FDUUFOQUlBZ2dERWdFUUNBQktBSUFLQUlJSWdNZ0NFRU1iR29vQWdnZ0FDZ0NBQ2dDQ0NBS1FReHNhaWdDQ0VZTkFpQUlRUUZxSVFnTUFRc0xEQUVMUVFBaEJRTkFJQVVnQ0VFTWJDQURhaWdDQkU0TkFTQUpLQUlBSUFVZ0IycEJER3hxSWdJZ0NFRU1iQ0FEYWlnQ0FDQUZRUXhzYWlJREtRSUFOd0lBSUFJZ0F5Z0NDRFlDQ0NBRlFRRnFJUVVnQVNnQ0FDZ0NDQ0VEREFBQUN3QUxJQXBCREd3Z0Rtb2dCRFlDQkNBS1FRRnFJUW9NQVFzTERBRUxRUUJCQTBHNTJBSWdEeEE5UVFFUUFRdEJBQ0VFUVFBaENBSkFBa0FEUUNBSUlBeElCRUFnQVNnQ0FDZ0NDQ0lISUFoQkRHeHFLQUlJSVFWQkFDRUNBa0FDUUFOQUlBSWdDMDROQVNBQ1FRRnFJUU1nQUNnQ0FDZ0NDQ0FDUVF4c2FpZ0NDQ0FGUndSQUlBTWhBZ3dCQ3dzZ0JFRUJhaUVFREFFTElBZ2dDMm9nQkdzaUQwRU1iQ0FPYWlFSklBOUJER3dnRG1vZ0JUWUNDQ0FKSUFoQkRHd2dCMm9vQWdRaUIwRU1iQkJFSWdNMkFnQWdBMFVOQTBFQUlRVURRQ0FGSUFkSUJFQWdDU2dDQUNBRlFReHNhaUlDSUFFb0FnQW9BZ2dnQ0VFTWJHb29BZ0FnQlVFTWJHb2lBeWtDQURjQ0FDQUNJQU1vQWdnMkFnZ2dCVUVCYWlFRkRBRUxDeUFQUVF4c0lBNXFJQWMyQWdRTElBaEJBV29oQ0F3QkN3c01BUXRCQUVFRFFibllBaUFRRUQxQkFSQUJDeUFBS0FJQUlnSkJDR29pQXlnQ0FDSUVCRUJCQUNFREEwQWdBeUFDS0FJTVNBUkFJQU5CREd3Z0JHb29BZ0FRT0NBRFFRRnFJUU1nQUNnQ0FDSUVJUUlnQkNnQ0NDRUVEQUVMQ3lBRUVEZ2dBQ2dDQUVFSWFpRURDeUFESUE0MkFnQWdBQ2dDQUNBR05nSU1JQUVRL3dNTFFRQUZRUUJCQTBHZ3VBRWdEUkE5UVg4TElSRWdEU1FHSUJFTG93RUJBbjhnQUNnQ0FDSUJCSDhnQVNnQ0FDSUNCRUFnQWlnQ0FDRUJJQUpCQURZQ0FDQUJCRUFnQVJEckF5QUJFRGdMSUFJUU9DQUFLQUlBSVFFTElBRW9BaHdpQWdSQUlBSVFPQ0FBS0FJQUlRRUxJQUVvQWlRaUFnUkFJQUlRT0NBQUtBSUFJUUVMSUFFb0FqUWlBZ1JBSUFJUU9DQUFLQUlBSVFFTElBRW9BaXdpQWdSL0lBSVFPQ0FBS0FJQUJTQUJDeEE0SUFCQkFEWUNBRUVBQlVGL0N4b0xqQUVCQTM4akJpRUVJd1pCRUdva0JrRUJRYndnRUkwQ0lnTUVRRUVFRUZFaUJSQzdDQ0FESUFVMkFnQWdBeUFBTmdJRUlBTkJBVFlDQ0NBRElBRTJBZ3dnQXlBQ05nSVFJQU5CQVRZQ0ZDQURRWDgyQWhnZ0EwSUFOd0ljSUFOQ0FEY0NKQ0FEUWdBM0Fpd2dBMElBTndJMElBUWtCaUFERHdWQkFFRURRYm5ZQWlBRUVEMUJBUkFCQzBFQUM4Y0JBZ0ovQjMwQ2Z5TUdJUVlqQmtGQWF5UUdJQUFxQWd3Z0FDb0NMQ0lNSUFHVWt5RUpJQUFxQWlRaUJ5QUNsQ0FBS2dJVWt5RUtJQUFxQWlBaUNDQUNsQ0FBS2dJUWt5RUxJQWNnQVpRZ0FDb0NCSk1oQnlBSUlBR1VJQUFxQWdDVElRZ2dBQ29DSENFTklBd2dBcFFoQVFKQURBQUxJQTBnQVpNaEFTQUlJQXFVSUFjZ0M1U1RJZ0pEQUFBQUFGc0VmMEYvQlNBRElBb2dDWlFnQnlBQmxKTWdBcFU0QWdBZ0JDQUlJQUdVSUFzZ0NaU1RJQUtWT0FJQVFRQUxJUUFnQmdza0JpQUFDeWNCQVg4Z0FDZ0NBQ0lCQkg4Z0FSRGlBaUFBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMR2d2VkJnSVBmd0Y5SXdZaENTTUdRZEFBYWlRR0lBbEJQR29oQ0NBSlFUaHFJUVlnQ1VFMGFpRU9JQWxCTUdvaER5QUpRVUJySVJBQ2Z3SkFJQUFFZnlBQVFRaHFJQUVnQ1JENkFTQUlJQU1vQWdBaUJ5QUVRUlJzYWlnQ0NDSUJOZ0lBSUFZZ0JFRVViQ0FIYWlvQ0RDSVZPQUlBUVFBZ0NTQUJ2aUFWSUFnZ0JoRGxBVUVBU0FSL1FYOEZJQUJCdUFGcUloRWdDQ29DQUNBR0tnSUFJQTRnRHhCdFFRQklCSDlCZndVZ0Rpb0NBRU1BQUFBL2toQkRJUWdnRHlvQ0FFTUFBQUEva2hCRElSSkJBQ0VFUVFBZ0JTZ0NFQ0lBYXlFS0lCSWdBRUVCZEdzaEMwRUFJUUZCQUNFQUlBVW9BaGdoQndOQUlBb2dCU2dDRkVvRVFDQUVJUWNNQlFVZ0M3SWhGVUVBSUFVb0FnZ2lCbXNoRENBSUlBWkJBWFJySVEwRFFDQU1JQVVvQWd4TUJFQWdFU0FOc2lBVklBNGdEeENtQVVFQVNBUkFJQWRCZ0NBN0FRQUZJQWtnQWlnQ0FDQURLQUlJUVFKMGFpZ0NBQ0FPS2dJQUlBOHFBZ0FnRUJDQkJFRUFTQVJBSUFkQmdDQTdBUUFGSUFjZ0VDMEFBQ0lHT3dFQUlBUkJBV29oQkNBQklBWkIvd0Z4SWdZZ0JteHFJUUVnQUNBR2FpRUFDd3NnREVFQmFpRU1JQTFCQW1vaERTQUhRUUpxSVFjTUFRc0xJQXBCQVdvaENpQUxRUUpxSVFzTUFRc0FBQXNBQ3dzRklBZ2dBeWdDQUNJSElBUkJGR3hxS0FJSUlnQTJBZ0FnQmlBRVFSUnNJQWRxS2dJTUloVTRBZ0JCQUNBQklBQytJQlVnRGlBUEVPVUJRUUJJQkg5QmZ3VWdEaW9DQUVNQUFBQS9raEJESVJFZ0R5b0NBRU1BQUFBL2toQkRJUk5CQUNBRktBSVFJZ0JySVFvZ0V5QUFRUUYwYXlFTFFRQWhCMEVBSVFSQkFDRUFJQVVvQWhnaEJnTkFJQW9nQlNnQ0ZFb0VRQ0FFSVFFTUJBVWdDN0loRlVFQUlBVW9BZ2dpQ0dzaERDQVJJQWhCQVhScklRMERRQ0FNSUFVb0FneE1CRUFnQVNBQ0tBSUFJQU1vQWdoQkFuUnFLQUlBSUEyeUlCVWdFQkNCQkVFQVNBUkFJQVpCZ0NBN0FRQUZJQVlnRUMwQUFDSUlPd0VBSUFkQkFXb2hCeUFFSUFoQi93RnhJZ2dnQ0d4cUlRUWdBQ0FJYWlFQUN5QU1RUUZxSVF3Z0RVRUNhaUVOSUFaQkFtb2hCZ3dCQ3dzZ0NrRUJhaUVLSUF0QkFtb2hDd3dCQ3dBQUN3QUxDd3dCQ3lBSEJIOGdCU0FCSUFBZ0FHd2dCeEE1YTdLUkVFTTJBaHdnQlNBQU5nSWdJQVVnQnpZQ0pFRUFCVUYvQ3dzaEZDQUpKQVlnRkF1U0FRRURmeU1HSVFNakJrRVFhaVFHUVNnUVJDSUNSUVJBUVFCQkEwRzUyQUlnQXhBOVFRRVFBUXNnQTBFSWFpRUVJQUlnQURZQ0VDQUNJQUEyQWdnZ0FpQUJOZ0lVSUFJZ0FUWUNEQ0FDSUFFZ0FFRUJhbW9pQURZQ0FDQUNJQUEyQWdRZ0FpQUFRUUYwSUFCc0VFUWlBRFlDR0NBQUJFQWdBeVFHSUFJUEJVRUFRUU5CdWRnQ0lBUVFQVUVCRUFFTFFRQUw1d0lCQlg4Z0JDZ0NCQ0VOSUFGQkFYUWhDeUFFS0FJQUlRNGdCQ2dDR0NFS0lBQWdBaUFCSUFOc2Ftb2hBa0VBSVFBRFFDQU1JQTFJQkVCQkFDRURJQUloQVFOQUlBTWdEa2dFUUNBQUlBRXRBQUFnQ2k4QkFHeHFJUUFnQTBFQmFpRURJQXBCQW1vaENpQUJRUUpxSVFFTUFRc0xJQXhCQVdvaERDQUNJQXRxSVFJTUFRc0xJQTVCQVhRaUEwRUlhaUlDSUFoQmZtb2lBU0FOUVFGMGFtd2hDeUFESUFkQmZtb2lDbW9pQ0NBTGFpSUhRUUowSUFWcUtBSUFJQW9nQVNBQ2JDSUJhaUlEUVFKMElBVnFLQUlBYWlBS0lBdHFJZ0pCQW5RZ0JXb29BZ0JySUFFZ0NHb2lBVUVDZENBRmFpZ0NBR3NoQlNBSklBZEJBblFnQm1vb0FnQWdBMEVDZENBR2FpZ0NBR29nQWtFQ2RDQUdhaWdDQUdzZ0FVRUNkQ0FHYWlnQ0FHc2dCU0FGYkNBRUtBSWtJZ0lRT1dzaUFRUi9JQUFnQlNBRUtBSWdiQ0FDRURsclFlUUFiQ0FFS0FJY0VEbEI1QUJzSUFHeWtSQkRFRGtGUVFBTE5nSUFDN0VDQVFKL0lBTW9BZ0FpQndSQUFrQURRQUpBSUFnZ0IwNE5BQ0FJUVFKMElBWnFLQUlBSUFKSURRQWdDRUVCYWlFSURBRUxDeUFISUFoR0JFQWdCMEVEVHcwQklBZEJBblFnQkdvZ0FEWUNBQ0FIUVFKMElBVnFJQUUyQWdBZ0IwRUNkQ0FHYWlBQ05nSUFJQU1nQXlnQ0FFRUJhallDQUF3QkN5QUhRUU5HQkg5QkFnVWdBeUFIUVFGcU5nSUFJQWNMSVFNRFFDQURJQWhLQkVBZ0EwRUNkQ0FFYWlBRFFYOXFJZ2RCQW5RZ0JHb29BZ0EyQWdBZ0EwRUNkQ0FGYWlBSFFRSjBJQVZxS0FJQU5nSUFJQU5CQW5RZ0Jtb2dCMEVDZENBR2FpZ0NBRFlDQUNBSElRTU1BUXNMSUFOQkFuUWdCR29nQURZQ0FDQURRUUowSUFWcUlBRTJBZ0FnQTBFQ2RDQUdhaUFDTmdJQUN3VWdCQ0FBTmdJQUlBVWdBVFlDQUNBR0lBSTJBZ0FnQTBFQk5nSUFDd3VvRFFFY2Z5TUdJUXdqQmtIUUFHb2tCaUFNUVFocUlSTWdEQ0llUWNnQWFpRWJJQXhCUEdvaEhDQU1RVEJxSVIwZ0RFRWthaUVVSUF4QklHb2hGeUFNUVJocUlSOGdERUVRYWlFZ0lBVW9BaEFoSmlBRktBSVVJU1VnQWtGL2FpRVdJQU5CZjJvaEdBTkFBa0FnRVVFRFR3MEFJQkZCQTNRZ0NHb29BZ0FpREVFQVNBMEFJQXhCZkhGQkFuSWlEQ0FHYXlJTlFRQWdEVUVBU2hzaERTQUdJQXhxSWd3Z0ZpQU1JQUpJR3lFWklCRkJBM1FnQ0dvb0FnUkJCQkE1UVFKMFFRSnlJZzRnQjJzaERDQUhJQTVxSWc0Z0dDQU9JQU5JR3lFVklBeEJBQ0FNUVFCS0d5RU9BMEFnRGlBVlRBUkFJQUVnRFNJTUlBSWdEbXhxYWlFUEEwQWdEQ0FaVEFSQUlBOUJBRG9BQUNBTVFRRnFJUXdnRDBFQmFpRVBEQUVMQ3lBT1FRRnFJUTRNQVFzTElCRkJBV29oRVF3QkN3c2dHMEVBTmdJQUlDVkJBWFFoRUNBbVFRRjBJUkpCQVNFTVFRQWhEd0pBQWtBRFFBSkFJQTlCQTA4TkFpQVBRUU4wSUFocUtBSUFJZzFCQUVnTkFDQUhJQTlCQTNRZ0NHb29BZ1JCQkJBNVFRSjBRUUp5SWc1cUlSWWdEVUY4Y1VFQ2NpSU5JQVpySVJFZ0JpQU5haUVZSUE0Z0Iyc2hEZ05BQWtBZ0RpQVdTZzBBSUE0Z0VrNEVRQUpBSUE0Z0VHb2dBMDROQWlBQ0lBNXNJUmtnRVNFTkEwQWdEU0FZU2cwQklBMGdCU2dDQ0VFQmRFNEVRQ0FOSUFVb0FneEJBWFJxSUFKT0RRSWdBU0FOSUJscWFpSVZMQUFBUlFSQUlCVkJBVG9BQUNBQUlBSWdCQ0FGSUEwZ0RpQVhFSU1FSUEwZ0RpQVhLQUlBSUJzZ0hDQWRJQlFRcXdsQkFDRU1Dd3NnRFVFRWFpRU5EQUFBQ3dBTEN5QU9RUVJxSVE0TUFRc0xJQTlCQVdvaER3d0JDd3NnREVVTkFFRi9JUVlNQVFzZ0JTZ0NBRUVEZEVFZ2FpQUZLQUlFUVFGMFFRaHFiQ0lCRUVRaUVVVUVRRUVBUVFOQnVkZ0NJQjRRUFVFQkVBRUxJQUVRUkNJT1JRUkFRUUJCQTBHNTJBSWdFeEE5UVFFUUFRdEJBQ0VCUVFBaEVrRi9JUVlEUUNBU0lCc29BZ0JJQkVBQ1FBSkFJQVVvQWlRZ0JTZ0NBQ0lOSUFVb0FnUWlCMnhIRFFBQ1FDQUVRUVZyRGdvQUFRRUJBUUVCQUFBQUFRc2dFa0VDZENBZGFpSWhLQUlBSWdoQmZXb2dCU2dDRUVFQmRHc2lHRUVBU0EwQUlBaEJBMm9nQlNnQ0ZFRUJkR29nQTA0TkFDQVNRUUowSUJ4cUlpSW9BZ0FpQ0VGOWFpQUZLQUlJUVFGMGF5SVpRUUJJRFFBZ0NFRURhaUFGS0FJTVFRRjBhaUFDVGcwQUlBZEJBWFJCQm1vaEl5QU5RUUowUVJCcUlROGdEaUVISUJFaENFRUFJUXdEUUNBTUlBOUlCRUFnQ0VFQU5nSUFJQWRCQURZQ0FDQUhRUVJxSVFjZ0NFRUVhaUVJSUF4QkFXb2hEQXdCQ3dzZ0RVRUJkRUVHYWlFa0lBQWdHU0FDSUJoc2Ftb2hFeUFPSVF3Z0VTRU5RUUFoRmdOQUlCWWdJMGdFUUNBSVFRaHFJU2NnQnlFUFFRQWhFQU5BSUJCQkFrY0VRQ0FJUVFBMkFnQWdEMEVBTmdJQUlCQkJBblFnSDJwQkFEWUNBQ0FRUVFKMElDQnFRUUEyQWdBZ0QwRUVhaUVQSUFoQkJHb2hDQ0FRUVFGcUlSQU1BUXNMSUJNaER5QU1RUWhxSVF3Z0RVRUlhaUVOSUFkQkNHb2hCeUFuSVFoQkFDRVVBMEFnRkNBa1NBUkFJQTh0QUFBZ0ZFRUJjU0lWUVFKMElCOXFJaG9vQWdCcUlSQWdHaUFRTmdJQUlBOHRBQUFpR2lBYWJDQVZRUUowSUNCcUlob29BZ0JxSVJVZ0dpQVZOZ0lBSUFnZ0VDQU5LQUlBYWpZQ0FDQUhJQlVnRENnQ0FHbzJBZ0FnRDBFQmFpRVBJQXhCQkdvaERDQU5RUVJxSVEwZ0IwRUVhaUVISUFoQkJHb2hDQ0FVUVFGcUlSUU1BUXNMSUFJZ0Uyb2hFeUFXUVFGcUlSWU1BUXNMUVFBaENBTkFJQWhCQjBjRVFDQUlJQmhxSVEwZ0NFRUNhaUVQSUFoQmZXb2hFMEVBSVF3RFFDQU1RUWRIQkVBZ0FDQUNJQXdnR1dvZ0RTQUZJQkVnRGlBTVFRSnFJQThnRnhDcUNTQVhLQUlBSWdjZ0FVb0VRQ0FKSUNJb0FnQWdERUY5YW1vMkFnQWdDaUFUSUNFb0FnQnFOZ0lBSUFzZ0I3SkRBRUFjUnBVNEFnQkJBQ0VHSUFjaEFRc2dERUVCYWlFTURBRUxDeUFJUVFGcUlRZ01BUXNMREFFTElCSkJBblFnSFdvb0FnQWlCMEVEYWlFTklCSkJBblFnSEdvaER5QUhRWDFxSVFnRFFDQUlJQTFLRFFFZ0NDQUZLQUlRUVFGMFRnUkFBa0FnQ0NBRktBSVVRUUYwYWlBRFRnMERJQThvQWdBaUIwRURhaUVUSUFkQmZXb2hEQU5BSUF3Z0Uwb05BU0FNSUFVb0FnaEJBWFJPQkVBZ0RDQUZLQUlNUVFGMGFpQUNUZzBDSUFBZ0FpQUVJQVVnRENBSUlCY1Fnd1FnRnlnQ0FDSUhJQUZLQkVBZ0NTQU1OZ0lBSUFvZ0NEWUNBQ0FMSUFleVF3QkFIRWFWT0FJQUlBY2hBVUVBSVFZTEN5QU1RUUZxSVF3TUFBQUxBQXNMSUFoQkFXb2hDQXdBQUFzQUN5QVNRUUZxSVJJTUFRc0xJQkVRT0NBT0VEZ0xJQjRrQmlBR0MzQUJBbjhnQUFSL0lBQkJBVFlDbUFFRFFDQURRUU5IQkVCQkFDRUNBMEFnQWtFRVJ3UkFJQUJCQ0dvZ0EwRUVkR29nQWtFQ2RHb2dBMEVFZENBQmFpQUNRUUowYWlnQ0FEWUNBQ0FDUVFGcUlRSU1BUXNMSUFOQkFXb2hBd3dCQ3dzZ0FFRi9OZ0tvQVVFQUJVRi9DeG9MeWdzQkczOGpCaUVCSXdaQjRBbHFKQVlnQVVIUUNXb2hGQ0FCUWNnSmFpRVZJQUZCdUFscUlRc2dBVUd3Q1dvaEZpQUJRYUFKYWlFTUlBRkJtQWxxSVJjZ0FVR0lDV29oRFNBQlFlZ0lhaUVZSUFGQjRBaHFJUThnQVVIWUNHb2hHU0FCUWRBSWFpRWFJQUZCeUFocUlSQWdBVUhBQ0dvaEd5QUJRYmdJYWlFUklBRkJzQWhxSVJJZ0FVR29DR29oQ1NBQlFhQUlhaUVLSUFGQm1BaHFJUTRnQVVHUUNHb2hBaUFCUVlnSWFpRUZJQUZCZ0FocUlRZ2dBVUdBQm1vaEJpQUJRWUFFYWlFSElBRkIxQWxxSVFRQ1FBSi9Ba0JCbnRJQ0xBQUFSUTBBUVo3U0FrR2UwZ0lRc3dGRkRRQWdDQ0FBTmdJQUlBaEJudElDTmdJRUlBRkJqN3dCSUFnUXZBRWdBVUdKdGdFUXNBRWlBd1IvUVFFTUFnVWdCU0FBTmdJQVFRQkJBMEdMdGdFZ0JSQTlRYVRGQXlnQ0FCQzlBU0VBSUFKQnA5VUROZ0lBSUFJZ0FEWUNCRUVBUVFOQnBiWUJJQUlRUFVFQUN5RVREQUlMSUFjZ0FFSC9BUkRWQVNBSFFRQTZBUDhCUVFBTElRQkI5QWdRUkNJRlJRUkFRUUJCQTBHNTJBSWdEaEE5UVFFUUFRc2dCU0FBUVFCSElnNEVmeUFHSUFNUTVnRkZCRUFnQXhCcUlBVVFPQXdDQ3lBS0lBUTJBZ0FnQmtHcnRnRWdDaENEQVVFQlJ3UkFJQU1RYWlBRkVEZ01BZ3NnQkNnQ0FDSUFRUUZJQkg4Z0F4QnFJQVVRT0F3Q0JTQUFDd1ZCQVFzaUNqWUNCQ0FGUVFBMkFwZ0JJQVVnQ2tId0FHd1FSQ0lDTmdJQUlBSkZCRUJCQUVFRFFibllBaUFKRUQxQkFSQUJDMEVBSVFBQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0JDQUFOZ0lBSUFBZ0NrNE5CeUFTSUFCQkFXbzJBZ0JCQUVFQlFhNjJBU0FTRUQwZ0RnUkFJQVlnQXhEbUFVVU5DQ0FSSUFjMkFnQWdCa0hHdGdFZ0VSQ0RBVUVCUncwSUlBY1EvQVVMUVFCQkFVSEp0Z0VnR3hBOUlBY1F2d2toQUNBRUtBSUFRZkFBYkNBQ2FpQUFOZ0lBSUFCRkRRQkJBRUVCUWZxMkFTQWFFRDFCQUVFQlFZUzNBU0FaRUQwZ0J4Q3hDU0VBSUFRb0FnQkI4QUJzSUFKcUlBQTJBZ1FnQUVVTkFrRUFRUUZCK3JZQklCZ1FQU0FFS0FJQVFmQUFiQ0FDYWtFQU5nSUlJQTRFUUNBR0lBTVE1Z0ZGRFFnZ0RTQUVLQUlBSWdCQjhBQnNJQUpxUVF4cU5nSUFJQTBnQUVId0FHd2dBbXBCRUdvMkFnUWdEU0FBUWZBQWJDQUNha0VVYWpZQ0NDQU5JQUJCOEFCc0lBSnFRUmhxTmdJTUlBWkI3TGNCSUEwUWd3RkJCRWNOQkNBR0lBTVE1Z0ZGRFFnZ0RDQUVLQUlBSWdCQjhBQnNJQUpxUVJ4cU5nSUFJQXdnQUVId0FHd2dBbXBCSUdvMkFnUWdEQ0FBUWZBQWJDQUNha0VrYWpZQ0NDQU1JQUJCOEFCc0lBSnFRU2hxTmdJTUlBWkI3TGNCSUF3UWd3RkJCRWNOQlNBR0lBTVE1Z0ZGRFFnZ0N5QUVLQUlBSWdCQjhBQnNJQUpxUVN4cU5nSUFJQXNnQUVId0FHd2dBbXBCTUdvMkFnUWdDeUFBUWZBQWJDQUNha0UwYWpZQ0NDQUxJQUJCOEFCc0lBSnFRVGhxTmdJTUlBWkI3TGNCSUFzUWd3RkJCRWNOQmlBRUtBSUFJUUFGSUFRb0FnQWhBRUVBSVFnRFFDQUlRUU5IQkVCQkFDRUpBMEFnQ1VFRVJ3UkFJQUJCOEFCc0lBSnFRUXhxSUFoQkJIUnFJQWxCQW5ScVF3QUFnRDlEQUFBQUFDQUlJQWxHR3pnQ0FDQUpRUUZxSVFrTUFRc0xJQWhCQVdvaENBd0JDd3NMSUFCQjhBQnNJQUpxUVF4cUlBQkI4QUJzSUFKcVFUeHFFSjRHSUFjUWhRWkJnQUlRUkNFQUlBUW9BZ0JCOEFCc0lBSnFJQUEyQW13Z0FFVU5CaUFBSUFkQmdBSVExUUVnQkNnQ0FFRUJhaUVBREFFTEN5QVFJQWMyQWdCQkFFRURRZHUyQVNBUUVEMGdBaEE0SUFVUU9DQURSUTBISUFNUWFnd0hDeUFQSUFjMkFnQkJBRUVEUVppM0FTQVBFRDBnQkNnQ0FFSHdBR3dnQW1vUXVBa2dBaEE0SUFVUU9DQURSUTBHSUFNUWFnd0dDMEVBUVFOQitMY0JJQmNRUFNBREVHcEJBQkFCREFRTFFRQkJBMEg0dHdFZ0ZoQTlJQU1RYWtFQUVBRU1Bd3RCQUVFRFFmaTNBU0FWRUQwZ0F4QnFRUUFRQVF3Q0MwRUFRUU5CdWRnQ0lCUVFQVUVCRUFFTUFRc2dBd1JBSUFNUWFnc2dCQ2dDQUNBS1RnUkFJQVVoRXd3Q0MwRUFFQUVMQ3lBQkpBWWdFd3ROQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVFRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUVPTUNJZ0EyQWdBZ0FFVUVRQ0FCRURoQkFDRUJDeUFDSkFZZ0FRc3BBQ0FBSUFGQkEzUWdBR29nQWtFRGRDQUFhaUlCRUlRRUlBQWdBU0FEUVFOMElBQnFFSVFFa2d2SkJ3RVRmeU1HSVFJakJrR0FCV29rQmlBQ1FmQUVhaUVKSUFKQjZBUnFJUW9nQWtIZ0JHb2hDeUFDUWRnRWFpRU1JQUpCMEFScUlRMGdBa0hJQkdvaERpQUNRY0FFYWlFUElBSkJ1QVJxSVJBZ0FrR3dCR29oRVNBQ1FhZ0VhaUVTSUFKQm9BUnFJUVVnQWtHWUJHb2hCaUFDUVpBRWFpRUVJQUpCaUFScUlRRWdBa0dBQkdvaUF5QUFOZ0lBSUFOQm50SUNOZ0lFSUFKQmo3d0JJQU1RdkFFZ0FrR0l1UUVRc0FFaUF3UkFRUWdRUkNJQVJRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc0NRQUpBSUFCQkJHcEJCRUVCSUFNUVlVRUJSZ1JBQWtBZ0FDQUFLQUlFSWhOQkZHd1FSQ0lHTmdJQUlBWkZCRUJCQUVFRFFibllBaUFGRUQxQkFSQUJDMEVBSVFVRFFBSkFJQVVnRTA0TkFpQUZRUlJzSUFacVFRaHFRUVJCQVNBREVHRkJBVWNFUUVFTUlRRU1BUXNnQlVFVWJDQUdha0VNYWtFRVFRRWdBeEJoUVFGSEJFQkJEeUVCREFFTElBVkJGR3dnQm1wQkVHcEJCRUVCSUFNUVlVRUJSd1JBUVJFaEFRd0JDeUFGUVJSc0lBWnFJZ2hCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUk1oQVF3QkN5QUZRUlJzSUFacUlnY2dDQ2dDQkNJQlFSUnNFRVFpQkRZQ0FDQUVSUVJBUVJZaEFRd0JDMEVBSVFRRFFDQUVJQUZJQkVBZ0J5Z0NBQ0FFUVJSc2FrRUVRUUVnQXhCaFFRRkhCRUJCR1NFQkRBTUxJQWNvQWdBZ0JFRVViR3BCQkdwQkJFRUJJQU1RWVVFQlJ3UkFRUnNoQVF3REN5QUhLQUlBSUFSQkZHeHFRUWhxUVFSQkFTQURFR0ZCQVVjRVFFRWRJUUVNQXdzZ0J5Z0NBQ0FFUVJSc2FrRU1ha0VFUVFFZ0F4QmhRUUZIQkVCQkh5RUJEQU1MSUFjb0FnQWdCRUVVYkdwQkVHcEJCRUVCSUFNUVlVRUJSZ1JBSUFSQkFXb2hCQ0FJS0FJRUlRRU1BZ1ZCSWlFQkRBTUxBQXNMSUFWQkFXb2hCUXdCQ3dzQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQUZCREdzT0Z3QUtDZ0VLQWdvRENnb0VDZ29GQ2dZS0J3b0lDZ29KQ2d0QkFFRURRZnUxQVNBU0VEME1DUXRCQUVFRFFmdTFBU0FSRUQwTUNBdEJBRUVEUWZ1MUFTQVFFRDBNQnd0QkFFRURRZnUxQVNBUEVEME1CZ3RCQUVFRFFibllBaUFPRUQxQkFSQUJEQVVMUVFCQkEwSDd0UUVnRFJBOURBUUxRUUJCQTBIN3RRRWdEQkE5REFNTFFRQkJBMEg3dFFFZ0N4QTlEQUlMUVFCQkEwSDd0UUVnQ2hBOURBRUxRUUJCQTBIN3RRRWdDUkE5QzBFQUlRRURRQ0FCSUFWSEJFQWdBVUVVYkNBR2FpZ0NBQkE0SUFGQkFXb2hBUXdCQ3dzZ0JoQTREQUlMQlVFQVFRTkIrN1VCSUFZUVBRd0JDd3dCQ3lBQUVEaEJBQ0VBQ3lBREVHb0ZJQUVnQURZQ0FFRUFRUU5CNXJVQklBRVFQVUVBSVFBTElBSWtCaUFBQ3c4QUlBQW9BZ0JCaEFGcVFRRVFCZ3Y1RFFFUWZ5TUdJUXNqQmtIQUJtb2tCa0VFSVFsQktCQkVJZ2hCQURZQ0FDQUxRUmhxSWdkQkFFSG9BeEJGR2tFQUpBTkJQeUFMUVpnRWFpSU1FQkFoQmlNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFoQkJCQjlJZ3BGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVLQ3lBTFFaQUVhaUVQSUF0QmlBUnFJUkFnQzBHQUJHb2hFUUovRUFjZ0NrRUJhMFVOQUJvZ0J5QUdOZ0lBSUF4QjhBQTJBZ0FnREVHRUFXcEJBU0FJUVFRUWp3UWhDQkFISVFsQkFDUURRUUFrQTBFQUlnVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJQVpCQVd0RkRRQWFRUUFMSVFVQ1FBSkFBa0FDUUFOQUFrQWdCUVJBUVFBa0EwSHhBQ0FIRUE4akF5RUZRUUFrQXlBRlFRQkhJd1JCQUVkeEJFQWdCU2dDQUNBSUlBa1FmU0lHUlFSQUlBVWpCQkFHQ3lNRUVBTUZRWDhoQmdzUUJ5RUZJQVpCQVd0RkRRSkJBQ1FEUVFoQkFFRURRYWkxQVNBUkVCRWpBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXc05BUXdDQzBFQUpBTkJBU0FIUWRvQVFlZ0RFQnNqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFGQkFDUURRU2NnQnlBQUVCd2pBeUVGUVFBa0F5QUZRUUJISXdSQkFFZHhCRUFnQlNnQ0FDQUlJQWtRZlNJR1JRUkFJQVVqQkJBR0N5TUVFQU1GUVg4aEJnc1FCeUVGSUFaQkFXdEZEUUZCQUNRREFuOUJFeUFIUVFFUUppRVNJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUNrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRb0xFQWNoQlNBS1FRRnJSUTBDSUJKQkFVY0xCRUJCQUNRRFFRaEJBRUVEUWNLMUFTQVFFQkVqQXlFRlFRQWtBeUFGUVFCSEl3UkJBRWR4QkVBZ0JTZ0NBQ0FJSUFrUWZTSUdSUVJBSUFVakJCQUdDeU1FRUFNRlFYOGhCZ3NRQnlFRklBWkJBV3RGRFFKQkFDUURRZkVBSUFjUUR5TURJUVZCQUNRRElBVkJBRWNqQkVFQVIzRUVRQ0FGS0FJQUlBZ2dDUkI5SWdaRkJFQWdCU01FRUFZTEl3UVFBd1ZCZnlFR0N4QUhJUVVnQmtFQmF3MEREQUlMUVFBa0EwSEFBQ0FIRUJBYUl3TWhCVUVBSkFNZ0JVRUFSeU1FUVFCSGNRUkFJQVVvQWdBZ0NDQUpFSDBpQmtVRVFDQUZJd1FRQmdzakJCQURCVUYvSVFZTEVBY2hCU0FHUVFGclJRMEJJQWNvQWlRZ0J5Z0NIR3dpRENBSEtBSWdiQ0VGUVFBa0EwSEJBQ0FGRUJBaEJTTURJUVpCQUNRRElBWkJBRWNqQkVFQVIzRUVRQ0FHS0FJQUlBZ2dDUkI5SWdwRkJFQWdCaU1FRUFZTEl3UVFBd1ZCZnlFS0N4QUhJUVlnQ2tFQmEwVUVRQ0FHSVFVTUFnc2dCVVVFUUVFQUpBTkJDRUVBUVFOQnVkZ0NJQThRRVNNRElRVkJBQ1FESUFWQkFFY2pCRUVBUjNFRVFDQUZLQUlBSUFnZ0NSQjlJZ1pGQkVBZ0JTTUVFQVlMSXdRUUF3VkJmeUVHQ3hBSElRVWdCa0VCYTBVTkFrRUFKQU5COFFBZ0J4QVBJd01oQlVFQUpBTWdCVUVBUnlNRVFRQkhjUVJBSUFVb0FnQWdDQ0FKRUgwaUJrVUVRQ0FGSXdRUUJnc2pCQkFEQlVGL0lRWUxFQWNoQlNBR1FRRnJEUVFNQWd0QkFDRU5BMEFnQnlnQ2pBRWdCeWdDZEVrRVFFRUFJUVlEUUNBR1FRVkhCRUFnQmtFQ2RDQUxhaUFGSUF3Z0JpQU5hbXhxTmdJQUlBWkJBV29oQmd3QkN3dEJBQ1FEUVJrZ0J5QUxRUVVRSVNFVEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpRGtVRVFDQUdJd1FRQmdzakJCQURCVUYvSVE0TEVBY2hCaUFPUVFGclJRUkFJQVloQlF3RUN5QVRJQTFxSVEwTUFRc0xRUUFrQTBIQ0FDQUhFQkFhSXdNaEJrRUFKQU1nQmtFQVJ5TUVRUUJIY1FSQUlBWW9BZ0FnQ0NBSkVIMGlDa1VFUUNBR0l3UVFCZ3NqQkJBREJVRi9JUW9MRUFjaEJpQUtRUUZyUlFSQUlBWWhCUXdDQzBFQUpBTkI4UUFnQnhBUEl3TWhCa0VBSkFNZ0JrRUFSeU1FUVFCSGNRUkFJQVlvQWdBZ0NDQUpFSDBpQ2tVRVFDQUdJd1FRQmdzakJCQURCVUYvSVFvTEVBY2hGQ0FLUVFGckRRUWdGQ0VGREFFTEMwRUFJUVVNQXd0QkFDRUZEQUlMUVFBaEJRd0JDeUFCQkVBZ0FTQUhLQUljTmdJQUN5QUNCRUFnQWlBSEtBSWdOZ0lBQ3lBREJFQWdBeUFIS0FJa05nSUFDeUFFQkVBQ1FBSkFBa0FDUUNBSExBQ2lBaUlBUVFGckRnSUFBUUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5T0FJQURBVUxEQUlMSUFjdUFhUUNJZ0FnQnk0QnBnSkdCRUFnQkNBQVFmLy9BM0d5UTF5UElrQ1VPQUlBREFRTERBRUxJQUJCL3dGeFFRSktCRUFnQnk0QnBBSkZCRUFnQnk0QnBnSkZCRUFnQkNBQVFmOEJjYkk0QWdBTUJRc0xDd3NnQkVNQUFBQUFPQUlBQ3dzZ0NCQTRJQXNrQmlBRkMvNFRBaEIvQVh3akJpRVRJd1pCRUdva0JpQVRJUThnQkNnQ0FDSUdJUWNnQVNBQ1FYOXFJaEJzUVFGMElBWnFJUVVEUUNBSklBRklCRUFnQlVFQU93RUFJQWRCQURzQkFDQUhRUUpxSVFjZ0NVRUJhaUVKSUFWQkFtb2hCUXdCQ3dzZ0JpRUhRUUFoQ1NBQlFYOXFJaEZCQVhRZ0Jtb2hCUU5BSUFrZ0FrZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBRkJBWFFnQjJvaEJ5QUpRUUZxSVFrZ0FVRUJkQ0FGYWlFRkRBRUxDeUFFUVpDQXlBQnFJUWRCQUNBQmF5RVNJQUFnQVVFQmFpSUFhaUVOSUFBZ0Eyb2hEa0VCSVF4QkFDRURJQUFnQkNnQ0JHb2hDU0FBUVFGMElBWnFJUVlDZndKQUEwQUNRQ0FNSUJCT0RRSWdBeUVBUVFFaENnTkFJQW9nRVVnRVFDQU5MUUFBSUE0dEFBQktCRUFDUUNBSlFYODZBQUFnRWtFQmRDQUdhaUlETGdFQUlnVkJBRW9FUUNBR0lBVTdBUUFnQlVFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQTBGK2FpNEJBQ0lGSVFnZ0JVRUFTaUVMSUFNdUFRSWlBMEVBVEFSQUlBc0VRQ0FHSUFVN0FRQWdDRUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NrZ0VRQ0FGSUFvMkFnQUxJQU5CQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBR1FYNXFMZ0VBSWdOQkFFb0VRQ0FHSUFNN0FRQWdBMEVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVlTQTBBQnFJZ01vQWdBZ0NrNE5BaUFESUFvMkFnQUZJQUJCLy84QlNnMEdJQVlnQUVFQmFpSURPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dBMEVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFvMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NqWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRElRQUxEQUVMSUFzRVFBSkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUdRWDVxTGdFQUlnVkJBRXdFUUNBR0lBTTdBUUFnQTBFSGJDSURRUUowSUFScVFmVC96d0JxSWdVZ0JTZ0NBRUVCYWpZQ0FDQURRUUowSUFScVFmai96d0JxSWdVZ0NpQUZLQUlBYWpZQ0FDQURRUUowSUFScVFmei96d0JxSWdVZ0RDQUZLQUlBYWpZQ0FDQURRUUowSUFScVFZQ0EwQUJxSWdVb0FnQWdDa29FUUNBRklBbzJBZ0FMSUFOQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQU5CQW5RZ0JHcEJqSURJQUdvb0FnQWlBeUFGUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1ZLQkVBZ0JpQUZPd0VBSUFjaENFRUFJUXNEUUNBTElBQk9CRUFnQlNFRERBTUxJQU1nQ0NnQ0FFWUVRQ0FJSUFVMkFnQUxJQWhCQkdvaENDQUxRUUZxSVFzTUFBQUxBQVVnQmlBRE93RUFJQU1nQlVnRVFDQUhJUWhCQUNFTEEwQWdDeUFBVGcwRElBVWdDQ2dDQUVZRVFDQUlJQU0yQWdBTElBaEJCR29oQ0NBTFFRRnFJUXNNQUFBTEFBc0xDeUFEUVJCMFFSQjFRUWRzSWdOQkFuUWdCR3BCOVAvUEFHb2lCU0FGS0FJQVFRRnFOZ0lBSUFOQkFuUWdCR3BCK1AvUEFHb2lCU0FLSUFVb0FnQnFOZ0lBSUFOQkFuUWdCR3BCL1AvUEFHb2lBeUFNSUFNb0FnQnFOZ0lBQ3dVZ0JrRUFPd0VBSUFsQkFEb0FBQXNnRFVFQmFpRU5JQTVCQVdvaERpQUpRUUZxSVFrZ0NrRUJhaUVLSUFaQkFtb2hCZ3dCQ3dzZ0RVRUNhaUVOSUE1QkFtb2hEaUFNUVFGcUlRd2dBQ0VESUFsQkFtb2hDU0FHUVFScUlRWU1BUXNMUVFCQkEwR29wUUVnRHhBOVFYOE1BUXNnQkVFTWFpRUZRUUVoQUVFQklRa2dCeUVHQTBBZ0NTQURUQVJBSUFrZ0JpZ0NBQ0lOUmdSQUlBQkJBV29oQndVZ0FDRUhJQTFCQW5RZ0JHcEJqSURJQUdvb0FnQWhBQXNnQmlBQU5nSUFJQWNoQUNBSlFRRnFJUWtnQmtFRWFpRUdEQUVMQ3lBRUlBQkJmMm9pQURZQ0NDQUFCSDhnQlVFQUlBQkJBblFRUlJvZ0JFR1FnQ2hxUVFBZ0FFRUVkQkJGR2tFQUlRY0RRQ0FISUFCSUJFQWdCRUdNZ0FocUlBZEJBblFpQmtFQ2RHb2dBVFlDQUNBRVFZeUFDR29nQmtFQmNrRUNkR3BCQURZQ0FDQUVRWXlBQ0dvZ0JrRUNja0VDZEdvZ0FqWUNBQ0FFUVl5QUNHb2dCa0VEY2tFQ2RHcEJBRFlDQUNBSFFRRnFJUWNNQVFzTFFRQWhBUU5BSUFFZ0EwZ0VRQ0FFUVF4cUlBUkJrSURJQUdvZ0FVRUNkR29vQWdCQmYyb2lBa0VDZEdvaUJ5QUVRWkNBMEFCcUlBRkJCMndpQUVFQ2RHb29BZ0FnQnlnQ0FHbzJBZ0FnQkVHUWdDaHFJQUpCQVhRaUIwRURkR29pQmlBR0t3TUFJQUJCQW5RZ0JHcEJsSURRQUdvb0FnQzNvRGtEQUNBRVFaQ0FLR29nQjBFQmNrRURkR29pQnlBSEt3TUFJQUJCQW5RZ0JHcEJtSURRQUdvb0FnQzNvRGtEQUNBRVFZeUFDR29nQWtFQ2RDSUNRUUowYWlJSEtBSUFJQUJCQW5RZ0JHcEJuSURRQUdvb0FnQWlCa29FUUNBSElBWTJBZ0FMSUFSQmpJQUlhaUFDUVFGeVFRSjBhaUlIS0FJQUlBQkJBblFnQkdwQm9JRFFBR29vQWdBaUJrZ0VRQ0FISUFZMkFnQUxJQVJCaklBSWFpQUNRUUp5UVFKMGFpSUhLQUlBSUFCQkFuUWdCR3BCcElEUUFHb29BZ0FpQmtvRVFDQUhJQVkyQWdBTElBUkJqSUFJYWlBQ1FRTnlRUUowYWlJQ0tBSUFJQUJCQW5RZ0JHcEJxSURRQUdvb0FnQWlBRWdFUUNBQ0lBQTJBZ0FMSUFGQkFXb2hBUXdCQ3dzZ0JDZ0NDQ0VCUVFBaEFBTi9JQUFnQVVnRWZ5QUVRWkNBS0dvZ0FFRUJkQ0lDUVFOMGFpSURJQU1yQXdBZ0JFRU1haUFBUVFKMGFpZ0NBTGNpRmFNNUF3QWdCRUdRZ0NocUlBSkJBWEpCQTNScUlnSWdBaXNEQUNBVm96a0RBQ0FBUVFGcUlRQU1BUVZCQUFzTEJVRUFDd3NoRkNBUEpBWWdGQXRoQVFOL0l3WWhBeU1HUVJCcUpBWWdBeUVDUVJRUVJDSUJSUVJBUVFCQkEwRzUyQUlnQWhBOVFRRVFBUXNnQVNBQUlBRkJDR29nQVVFTWFpQUJRUVJxSUFGQkVHb1Fzd2tpQURZQ0FDQUFSUVJBSUFFUU9FRUFJUUVMSUFJa0JpQUJDeUFBSUFFZ0FpQURyU0FFclVJZ2hvUWdCU0FHSUFCQkEzRkI2Z1pxRVNVQUN5a0JBWDRnQVNBQ3JTQURyVUlnaG9RZ0JDQUFRUU54UWFZRGFoRVVBQ0lGUWlDSXB4QURJQVduQzNZQkEzOGdBQVIvSUFBb0FnQWlBZ1IvQTBBZ0FpZ0NBQ0VESUFFZ0FpZ0NCRWdFUUNBQlFRSjBJQU5xS0FJQUtBSUFFRGdnQUNnQ0FDZ0NBQ0FCUVFKMGFpZ0NBQkE0SUFGQkFXb2hBU0FBS0FJQUlRSU1BUXNMSUFNUU9DQUFLQUlBRURnZ0FFRUFOZ0lBUVFBRlFYOExCVUYvQ3hvTElBQWdBU0FDSUFNZ0JDQUZyU0FHclVJZ2hvUWdBRUVIY1VHZUEyb1JGUUFMQmdCQkZoQUNDd1lBUVJVUUFndVpCZ0VKZnlNR0lRa2pCa0V3YWlRR0lBa2hCa0VJRUVRaUIwVUVRRUVBUVFOQnVkZ0NJQVlRUFVFQkVBRUxJQVpCSUdvaENDQUdRUmhxSVFJZ0JrRVFhaUVCSUFaQkNHb2hBd0pBQWtBQ1FDQUhRUVJxSWdSQkJFRUJJQUFRWVVFQlJ3MEFJQVFvQWdBaUJFRUJTQTBBSUFjZ0JFRUNkQkJFSWdNMkFnQWdBMFVFUUVFQVFRTkJ1ZGdDSUFFUVBVRUJFQUVMUVFBaEFRSkFBa0FEUUNBQklBUklCRUFnQVVFQ2RDQURha0VRRUVRaUJUWUNBQ0FGUlEwQ0lBRkJBV29oQVF3QkN3c01BUXRCQUVFRFFibllBaUFDRUQxQkFSQUJDMEVBSVFFQ1FBSkFBa0FDUUFKQUFrQUNRQU5BQWtBZ0FTQUVUZzBHSUFGQkFuUWdBMm9pQWlnQ0FFRUVha0VFUVFFZ0FCQmhRUUZIRFFBZ0FpZ0NBRUVJYWtFRVFRRWdBQkJoUVFGSERRSWdBaWdDQUVFTWFrRUVRUUVnQUJCaFFRRkhEUU1nQWlnQ0FDSUZLQUlFSUFVb0FnaHNFRVFoQlNBQ0tBSUFJQVUyQWdBZ0JVVU5CQ0FCUVFGcUlRRWdBaWdDQUNJRktBSUFRUUVnQlNnQ0JDQUZLQUlJYkNBQUVHRWdBaWdDQUNJQ0tBSUVJQUlvQWdoc1JnMEJEQVVMQzBFQUlRSURRQ0FCSUFKSEJFQWdBa0VDZENBRGFpZ0NBQ2dDQUJBNElBSkJBV29oQWd3QkN3dEJBQ0VCQTBBZ0FTQUVSZzBHSUFGQkFuUWdBMm9vQWdBUU9DQUJRUUZxSVFFTUFBQUxBQXRCQUNFQ0EwQWdBU0FDUndSQUlBSkJBblFnQTJvb0FnQW9BZ0FRT0NBQ1FRRnFJUUlNQVFzTFFRQWhBUU5BSUFFZ0JFWU5CU0FCUVFKMElBTnFLQUlBRURnZ0FVRUJhaUVCREFBQUN3QUxRUUFoQWdOQUlBRWdBa2NFUUNBQ1FRSjBJQU5xS0FJQUtBSUFFRGdnQWtFQmFpRUNEQUVMQzBFQUlRRURRQ0FCSUFSR0RRUWdBVUVDZENBRGFpZ0NBQkE0SUFGQkFXb2hBUXdBQUFzQUMwRUFRUU5CdWRnQ0lBZ1FQVUVCRUFFTUFndEJBQ0VDQTBBZ0FTQUNSd1JBSUFKQkFuUWdBMm9vQWdBb0FnQVFPQ0FDUVFGcUlRSU1BUXNMUVFBaEFRTkFJQUVnQkVZTkFpQUJRUUowSUFOcUtBSUFFRGdnQVVFQmFpRUJEQUFBQ3dBTElBQVFhZ3dCQ3lBREVEZ01BZ3NNQWd0QkFFRURRYmUwQVNBREVEMExJQWNRT0NBQUVHcEJBQ0VIQ3lBR0pBWWdCd3NHQUVFVEVBSUxCZ0JCRUJBQ0M0SUdBUTUvSXdZaEF5TUdRZUFBYWlRR0lBQVFZRUVHYWhCRUlnaEZCRUJCQUVFRFFibllBaUFERUQxQkFSQUJDeUFEUWNnQWFpRUpJQU5CUUdzaENpQURRVGhxSVF3Z0EwRXdhaUVOSUFOQktHb2hBaUFEUVNCcUlRUWdBMEVZYWlFQklBTkJFR29oQnlBRFFkQUFhaUVMSUFOQkNHb2lCaUFBTmdJQUlBWkJnYlFCTmdJRUlBaEIvTE1CSUFZUXZBRWdDRUdJdVFFUXNBRWhCU0FJRURnZ0JRUi9BbjlCQ0JCRUlnWkZCRUJCQUVFRFFibllBaUFCRUQxQkFSQUJDd0pBQWtBZ0JrRUVhaUlCUVFSQkFTQUZFR0ZCQVVjTkFDQUJLQUlBSWdkQkFVZ05BQ0FDSUFjMkFnQkJBRUVCUWRDMEFTQUNFRDBnQmlBSFFRSjBJZ1FRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBTkVEMUJBUkFCQ3lBQ1FSQVFSQ0lCTmdJQUlBRkZCRUJCQUVFRFFibllBaUFNRUQxQkFSQUJDeUFGRUxVSklnRkZCRUFnQ2lBQU5nSUFJQXBCZ2JRQk5nSUVRUUJCQWtIdXRBRWdDaEE5SUFJb0FnQVFPQ0FDRURnZ0JoQTRJQVVRK1FJZ0JSQzhDUXdEQ3lBQktBSUVRUUZIQkVBZ0NTQUFOZ0lBSUFsQmdiUUJOZ0lFUVFCQkFrSHV0QUVnQ1JBOUlBSW9BZ0FRT0NBQ0VEZ2dCaEE0SUFFUU9DQUZFR3BCQUF3REN5QUNLQUlBSWdBZ0FTZ0NDRFlDQkNBQUlBRW9BZ3cyQWdnZ0FDQUJLQUlRTmdJTUlBQWdBU2dDQURZQ0FDQUJFRGdnQlVFRUlBUnJRUUlROUFGQkFTRUVBa0FDUUFKQUEwQUNRQ0FFSUFkT0RRTWdDMEVFUVFFZ0JSQmhRUUZIRFFBZ0JFRUNkQ0FDYWlBQ0tBSUFJQXNxQWdBUXhBa2lBRFlDQUNBQVJRMENJQVJCQVdvaEJBd0JDd3RCQUNFQkEwQWdBU0FFUmcwRElBRkJBblFnQW1vaUFDZ0NBQ2dDQUJBNElBQW9BZ0FRT0NBQlFRRnFJUUVNQUFBTEFBdEJBQ0VCQTBBZ0FTQUVSZzBDSUFGQkFuUWdBbW9pQUNnQ0FDZ0NBQkE0SUFBb0FnQVFPQ0FCUVFGcUlRRU1BQUFMQUFzZ0JSQnFJQVlNQXdzZ0FoQTREQUVMUVFCQkEwRzN0QUVnQkJBOUN5QUdFRGdnQlJCcVFRQUxCU0FISUFBMkFnQWdCMEdCdEFFMkFnUkJBRUVEUVllMEFTQUhFRDFCQUFzaERpQURKQVlnRGdzSUFFRUVFQUpCQUFzSUFFRUNFQUpCQUFzUEFFRUJFQUpFQUFBQUFBQUFBQUFMRHdCQkFCQUNSQUFBQUFBQUFBQUFDNXdEQWhGL0FYMGpCaUVKSXdaQkVHb2tCaUFBS0FJRXNpQUJsQ0FBS2dJTUloT1ZFTHNCSVFvZ0FDZ0NDTElnQVpRZ0U1VVF1d0VoQzBFUUVFUWlCVVVFUUVFQVFRTkJ1ZGdDSUFrUVBVRUJFQUVMSUFsQkNHb2hBeUFGSUFvMkFnUWdCU0FMTmdJSUlBVWdBVGdDRENBRklBb2dDMndRUkNJQ05nSUFJQUpGQkVCQkFFRURRYm5ZQWlBREVEMUJBUkFCQ3dOQUlBWWdDMGdFUUNBQUtnSU1JaE1nQnJLVUlBR1ZFTHNCSVE4Z0V5QUdRUUZxSWdheWxDQUJsUkM3QVNFRUlBQW9BZ2dpQXlBRUlBUWdBMG9iSVJCQkFDRUhJQUloQkFOQUlBY2dDa2dFUUNBQUtnSU1JaE1nQjdLVUlBR1ZFTHNCSVJFZ0V5QUhRUUZxSWdleWxDQUJsUkM3QVNFQ0lBQW9BZ1FpRGlBQ0lBSWdEa29iSVJKQkFDRUNRUUFoQXlBUElRZ0RRQ0FJSUJCSUJFQWdBQ2dDQUNBUklnd2dDQ0FPYkdwcUlRMERRQ0FNSUJKSUJFQWdBaUFOTFFBQWFpRUNJQXhCQVdvaERDQU5RUUZxSVEwZ0EwRUJhaUVEREFFTEN5QUlRUUZxSVFnTUFRc0xJQVFnQWlBREVEazZBQUFnQkVFQmFpRUVEQUVMQ3lBRUlRSU1BUXNMSUFra0JpQUZDeHdBSUFFZ0FpQURJQVFnQlNBR0lBY2dBRUVIY1VIaUJtb1JEUUFMR2dBZ0FTQUNJQU1nQkNBRklBWWdBRUVIY1VIYUJtb1JEQUFMR0FBZ0FTQUNJQU1nQkNBRklBQkJQM0ZCbWdacUVRVUFDeFlBSUFFZ0FpQURJQVFnQUVFZmNVSDZCV29SQndBTEZBQWdBU0FDSUFNZ0FFRURjVUgyQldvUkJnQUxGQUFnQVNBQ0lBTWdBRUVCY1VIMEJXb1JHQUFMRkFBZ0FTQUNJQU1nQUVFQmNVSHlCV29SR1FBTERnQWdBRUVCY1VHcUEyb1JDd0FMSGdBZ0FTQUNJQU1nQkNBRklBWWdCeUFJSUFCQkQzRkJqZ05xRVE0QUN4d0FJQUVnQWlBRElBUWdCU0FHSUFjZ0FFRUhjVUdHQTJvUkR3QUxrZ0VCQW44Z0FBUkFJQUJCaUxrQkVMQUJJZ0VFUUFKQUlBRkJBRUVDRVBRQklBRVErQUloQWlBQlFRQkJBQkQwQVNBQ1FRRnFFRVFpQUVVRVFDQUJFR3BCcE1VRFFUQTJBZ0JCQUNFQURBRUxJQUFnQWtFQklBRVFZVVVFUUNBQUVEZ2dBUkJxUVFBaEFBd0JDeUFBSUFKcVFRQTZBQUFnQVJCcUN3VkJBQ0VBQ3dWQnBNVURRUncyQWdCQkFDRUFDeUFBQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCUDNGQnhnSnFFUW9BQ3hvQUlBRWdBaUFESUFRZ0JTQUdJQUJCQTNGQndnSnFFUnNBQ3hnQUlBRWdBaUFESUFRZ0JTQUFRUjl4UWFJQ2FoRUlBQXNZQUNBQklBSWdBeUFFSUFVZ0FFRUhjVUdhQW1vUkV3QUxGZ0FnQVNBQ0lBTWdCQ0FBUVE5eFFZb0NhaEVKQUFzVUFDQUJJQUlnQXlBQVFUOXhRY29CYWhFRUFBc1NBQ0FCSUFJZ0FFRS9jVUdLQVdvUkFnQUxHZ0FnQVNBQ0lBTWdCQ0FGSUFZZ0FFRUJjVUdJQVdvUklnQUxFQUFnQVNBQVFmOEFjVUVJYWhFQUFBc05BQ0FBUVFGeFFRWnFFUkFBQzg4QkFRVi9Jd1loQkNNR1FTQnFKQVlnQkVFUWFpRUdJQUZGUWRDRkFTZ0NBQ0FBU25KRkJFQWdBU3dBQUFSQUlBUWdBaWdDQURZQ0FFRUFRUUFnQVNBRUVLa0JJZ2NFUUNBQVFRUkpCSDhnQUVFQ2RFSEFGV29vQWdBUVlFRURhZ1ZCQUFzaUJTQUhha0VCYWhCRUlRTWdCUVJBSUFZZ0FFRUNkRUhBRldvb0FnQTJBZ0FnQXlBRlFRRnFRZDJ6QVNBR0VLTUNHZ3NnQXlBRmFpQUhRUUZxSUFFZ0FoQ3BBUnBCcElnQktBSUFJUUFnQXhCZ0lnRWdBMEVCSUFFZ0FCQ1RBVWNhSUFNUU9Bc0xDeUFFSkFZTEVRQWdBU0FDSUFCQkFYRkJCR29SSGdBTERBQWdBU0FBUVFOeEVSSUFDeWtBSUFCRUFBQUFBQUFBNEQrZ25DQUFSQUFBQUFBQUFPQS9vWnNnQUVRQUFBQUFBQUFBQUdZYkN4QUFJd05GQkVBZ0FDUURJQUVrQkFzTEt3QWdBRUgvQVhGQkdIUWdBRUVJZFVIL0FYRkJFSFJ5SUFCQkVIVkIvd0Z4UVFoMGNpQUFRUmgyY2d1UkJ3RUlmeUFBS0FJRUlnWkJlSEVoQWdKQUlBWkJBM0ZGQkVBZ0FVR0FBa2tOQVNBQ0lBRkJCR3BQQkVBZ0FpQUJhMEdNMVFNb0FnQkJBWFJOQkVBZ0FBOExDd3dCQ3lBQUlBSnFJUVFnQWlBQlR3UkFJQUlnQVdzaUFrRVBUUVJBSUFBUEN5QUFJQUVnQmtFQmNYSkJBbkkyQWdRZ0FDQUJhaUlCSUFKQkEzSTJBZ1FnQkNBRUtBSUVRUUZ5TmdJRUlBRWdBaENRQkNBQUR3dEJ4TkVES0FJQUlBUkdCRUJCdU5FREtBSUFJQUpxSWdJZ0FVME5BU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJRElBSWdBV3NpQVVFQmNqWUNCRUhFMFFNZ0F6WUNBRUc0MFFNZ0FUWUNBQ0FBRHd0QndORURLQUlBSUFSR0JFQWdBa0cwMFFNb0FnQnFJZ01nQVVrTkFTQURJQUZySWdKQkQwc0VRQ0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBWEkyQWdRZ0FDQURhaUlESUFJMkFnQWdBeUFES0FJRVFYNXhOZ0lFQlNBQUlBTWdCa0VCY1hKQkFuSTJBZ1FnQUNBRGFpSUJJQUVvQWdSQkFYSTJBZ1JCQUNFQlFRQWhBZ3RCdE5FRElBSTJBZ0JCd05FRElBRTJBZ0FnQUE4TElBUW9BZ1FpQTBFQ2NRMEFJQUlnQTBGNGNXb2lCeUFCU1EwQUlBTkJBM1loQlNBRFFZQUNTUVJBSUFRb0FnZ2lBaUFFS0FJTUlnTkdCRUJCck5FRFFhelJBeWdDQUVFQklBVjBRWDl6Y1RZQ0FBVWdBaUFETmdJTUlBTWdBallDQ0FzRkFrQWdCQ2dDR0NFSUlBUWdCQ2dDRENJQ1JnUkFBa0FnQkVFUWFpSURRUVJxSWdVb0FnQWlBZ1JBSUFVaEF3VWdBeWdDQUNJQ1JRUkFRUUFoQWd3Q0N3c0RRQUpBSUFKQkZHb2lCU2dDQUNJSlJRUkFJQUpCRUdvaUJTZ0NBQ0lKUlEwQkN5QUZJUU1nQ1NFQ0RBRUxDeUFEUVFBMkFnQUxCU0FFS0FJSUlnTWdBallDRENBQ0lBTTJBZ2dMSUFnRVFDQUVLQUljSWdOQkFuUkIzTk1EYWlJRktBSUFJQVJHQkVBZ0JTQUNOZ0lBSUFKRkJFQkJzTkVEUWJEUkF5Z0NBRUVCSUFOMFFYOXpjVFlDQUF3REN3VWdDRUVRYWlJRElBaEJGR29nQXlnQ0FDQUVSaHNnQWpZQ0FDQUNSUTBDQ3lBQ0lBZzJBaGdnQkNnQ0VDSURCRUFnQWlBRE5nSVFJQU1nQWpZQ0dBc2dCQ2dDRkNJREJFQWdBaUFETmdJVUlBTWdBallDR0FzTEN3c2dCeUFCYXlJQ1FSQkpCRUFnQUNBR1FRRnhJQWR5UVFKeU5nSUVJQUFnQjJvaUFTQUJLQUlFUVFGeU5nSUVCU0FBSUFFZ0JrRUJjWEpCQW5JMkFnUWdBQ0FCYWlJQklBSkJBM0kyQWdRZ0FDQUhhaUlESUFNb0FnUkJBWEkyQWdRZ0FTQUNFSkFFQ3lBQUR3dEJBQXUvQVFFRWZ5TUdJUVVqQmtFUWFpUUdJQUFzQUFzaUEwRUFTQ0lHQkg4Z0FDZ0NDRUgvLy8vL0IzRkJmMm9oQkNBQUtBSUVCVUVCSVFRZ0EwSC9BWEVMSVFNZ0JDQURheUFDU1FSQUlBQWdCQ0FDSUFOcUlBUnJJQU1nQTBFQUlBSWdBUkNTQkFVZ0FnUkFJQVlFZnlBQUtBSUFCU0FBQ3lJRUlBTkJBblJxSUFFZ0FoQ25BU0FDSUFOcUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN5QUZRUUEyQWdBZ0FVRUNkQ0FFYWlBRkVHNExDeUFGSkFZTHNBRUJCSDhqQmlFRkl3WkJFR29rQmlBQUxBQUxJZ1pCQUVnaUF3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUJVRUJDeUlFSUFKSkJFQWdBQ0FFSUFJZ0JHc2dBd1IvSUFBb0FnUUZJQVpCL3dGeEN5SUFRUUFnQUNBQ0lBRVFrZ1FGSUFNRWZ5QUFLQUlBQlNBQUN5SURJUVFnQWdSQUlBUWdBU0FDRU9rRUN5QUZRUUEyQWdBZ0FrRUNkQ0FEYWlBRkVHNGdBQ3dBQzBFQVNBUkFJQUFnQWpZQ0JBVWdBQ0FDT2dBTEN3c2dCU1FHQzdrQkFRUi9Jd1loQlNNR1FSQnFKQVlnQUN3QUN5SURRUUJJSWdZRWZ5QUFLQUlJUWYvLy8vOEhjVUYvYWlFRUlBQW9BZ1FGUVFvaEJDQURRZjhCY1FzaEF5QUVJQU5ySUFKSkJFQWdBQ0FFSUFJZ0Eyb2dCR3NnQXlBRFFRQWdBaUFCRUpRRUJTQUNCRUFnQXlBR0JIOGdBQ2dDQUFVZ0FBc2lCR29nQVNBQ0VLZ0JJQUlnQTJvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTElBVkJBRG9BQUNBQklBUnFJQVVRWHdzTElBVWtCZ3UzQVFFRWZ5TUdJUVFqQmtFUWFpUUdJQUVFUUNBQUxBQUxJZ05CQUVnRWZ5QUFLQUlFSVFJZ0FDZ0NDRUgvLy8vL0IzRkJmMm9GSUFOQi93RnhJUUpCQ2dzaUJTQUNheUFCU1FSL0lBQWdCU0FCSUFKcUlBVnJJQUlnQWhEZEFpQUFMQUFMQlNBREMwRUFTQVIvSUFBb0FnQUZJQUFMSWdNZ0Ftb2dBVUVBRUpVRUlBRWdBbW9oQVNBQUxBQUxRUUJJQkVBZ0FDQUJOZ0lFQlNBQUlBRTZBQXNMSUFSQkFEb0FBQ0FCSUFOcUlBUVFYd3NnQkNRR0M2ME1BeUovQVg0Q2ZDTUdJUUlqQmtIZ0Uyb2tCaUFDUWRBVGFpRWFJQUpCeUJOcUlRNGdBa0c0RTJvaEN5QUNRYkFUYWlFUElBSkJxQk5xSVJBZ0FrR1lFMm9oRENBQ1FaQVRhaUVSSUFKQmlCTnFJUmNnQWtHQUUyb2hFaUFDUWZnU2FpRVlJQUpCOEJKcUlSTWdBa0hvRW1vaEZDQUNRZUFTYWlFSUlBSkIyQkpxSVFVZ0FrSFFFbW9oRlNBQ1FjZ1NhaUVESUFKQndCSnFJUW9nQWtHQUVtb2hCeUFDUVlBUWFpRUdJQUpCM0JOcUlSc2dBa0hZRTJvaERTQUNRZFFUYWlFY0lBQkJpYllCRUxBQklna0VRQUpBSUFZZ0NSRHBBU0FWSUEwMkFnQWdCa0dydGdFZ0ZSQ0RBVUVCUndSQUlBVWdBRFlDQUVFQVFRTkI0SzRCSUFVUVBTQUpFR3BCQUNFQURBRUxJQTBvQWdBaUJVSEFBbXdRUkNJRFJRUkFRUUJCQTBHNTJBSWdDQkE5UVFFUUFRc2dBVVVoSFVFQUlRb0NRQUpBQWtBQ1FBSkFBa0FDUUFOQUFrQWdCQ0FGVGcwSElBWWdDUkRwQVNBRVFjQUNiQ0FEYWlFRklCUWdCRUhBQW13Z0Eyb2lDRUc0QW1vMkFnQWdGQ0FiTmdJRUlBUkJ3QUpzSUFOcUlBWkJ4YThCSUJRUWd3RkJBVVlFZnlBRklBZ3BBN2dDSWlTblFmLy9BWEZCQUNBa1FvQ0EvdjhQZzFBYk5nSUFRUUloQ0VFQkJTQWREUUVnQWlBQUVJNEdSUTBESUFJZ0JrSC9EeUFDRUdCckVPd0VJQVVnQVNBQ0VLb0RJZ1UyQWdBZ0JVRUFTQTBFUVFFaENFRUFDellDQkNBR0lBa1E2UUVnRnlBRVFjQUNiQ0FEYWlJV1FRaHFOZ0lBSUFaQjdiRUJJQmNRZ3dGQkFVY05CQ0FHSUFrUTZRRWdEQ0FFUWNBQ2JDQURha0VRYWlJWk5nSUFJQXdnQkVIQUFtd2dBMm9pSGtFWWFqWUNCQ0FNSUFSQndBSnNJQU5xUVNCcU5nSUlJQXdnQkVIQUFtd2dBMm9pSDBFb2FqWUNEQ0FHUWRxeUFTQU1FSU1CUVFSR0JIOUJBUVVnRUNBVk5nSUFJQkFnSERZQ0JDQUdRZXF5QVNBUUVJTUJRUUpIRFFaQkFBc2hCU0FJSUFweUlRb0RRQ0FHSUFrUTZRRWdDeUFFUWNBQ2JDQURha0VRYWlBRlFRVjBhallDQUNBTElBUkJ3QUpzSUFOcUlBVkJCWFJxUVJocU5nSUVJQXNnQkVIQUFtd2dBMm9nQlVFRmRHcEJJR28yQWdnZ0N5QUVRY0FDYkNBRGFpQUZRUVYwYWtFb2FqWUNEQ0FHUWRxeUFTQUxFSU1CUVFSSERRY2dCVUVCYWlJRlFRTkpEUUFMSUJrZ0JFSEFBbXdnQTJwQjhBQnFFS2tHSUFjZ0Zpc0RDQ0lsUkFBQUFBQUFBT0Mvb2lJbU9RTUFJQWNnSlVRQUFBQUFBQURnUDZJaUpUa0RDQ0FISUNVNUF4QWdCeUFsT1FNWUlBY2dKVGtESUNBSElDWTVBeWdnQnlBbU9RTXdJQWNnSmprRE9DQUVRY0FDYkNBRGFpRUlJQVJCd0FKc0lBTnFJUllnQkVIQUFtd2dBMm9oSUNBRVFjQUNiQ0FEYWlFaElBUkJ3QUpzSUFOcUlTSWdCRUhBQW13Z0Eyb2hJMEVBSVFVRFFDQUZRUVJIQkVBZ0JFSEFBbXdnQTJwQjBBRnFJQVZCR0d4cUlCOHJBeWdnR1NzREFDQUZRUVIwSUFkcUt3TUFJaWFpSUI0ckF4Z2dCVUVFZENBSGFpc0RDQ0lsb3FDZ09RTUFJQVJCd0FKc0lBTnFJQVZCR0d4cUlDQXJBMGdnSmlBSUt3TXdvaUFsSUJZckF6aWlvS0E1QTlnQklBUkJ3QUpzSUFOcUlBVkJHR3hxSUNNckEyZ2dKaUFoS3dOUW9pQWxJQ0lyQTFpaW9LQTVBK0FCSUFWQkFXb2hCUXdCQ3dzZ0JFRUJhaUVFSUEwb0FnQWhCUXdCQ3dzZ0V5QUFOZ0lBSUJNZ0JqWUNCRUVBUVFOQnpLOEJJQk1RUFF3R0N5QVlJQUEyQWdCQkFFRURRY3l3QVNBWUVEME1CUXNnRWlBQU5nSUFJQklnQWpZQ0JFRUFRUU5Cb0xFQklCSVFQUXdFQ3lBUklBQTJBZ0FnRVNBRVFRRnFOZ0lFUVFCQkEwSHhzUUVnRVJBOURBTUxJQThnQURZQ0FDQVBJQVJCQVdvMkFnUkJBRUVEUWZDeUFTQVBFRDBNQWdzZ0RpQUFOZ0lBSUE0Z0JFRUJhallDQkVFQVFRTkI4TElCSUE0UVBRd0JDeUFKRUdwQmlBRVFSQ0lBUlFSQVFRQkJBMEc1MkFJZ0doQTlRUUVRQVFzZ0FDQUROZ0lBSUFBZ0RTZ0NBRFlDQkNBQVFRQTJBb0FCSUFCQkFEWUNhQ0FLUVFOeFFRTkdCRUFnQUVFQ05nSnNCU0FLUVFGeEJFQWdBRUVBTmdKc0JTQUFRUUUyQW13TEN5QUFSQUFBQUFBQUFPQS9PUU53SUFCRUFBQUFBQUFBNEQ4NUEzZ01BUXNnQ1JCcUlBTVFPRUVBSVFBTEJTQUtJQUEyQWdCQkFFRURRYXV1QVNBS0VEMUJwTVVES0FJQUVMMEJJUUFnQTBHbjFRTTJBZ0FnQXlBQU5nSUVRUUJCQTBHbHRnRWdBeEE5UVFBaEFBc2dBaVFHSUFBTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFBa0FnREVGL09nQUFJQkpCQVhRZ0NHb2lCUzRCQUNJR1FRQktCRUFnQ0NBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFOTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVKSUFaQkFFb2hDeUFGTGdFQ0lnVkJBRXdFUUNBTEJFQWdDQ0FHT3dFQUlBbEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFwSUJFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BZ3NnQ0VGK2FpNEJBQ0lGUVFCS0JFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFwT0RRSWdCU0FLTmdJQUJTQUFRZi8vQVVvTkJpQUlJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFLTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRFRZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFvMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0RUWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBMDJBZ0FnQlNFQUN3d0JDeUFMQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDVUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzZ0NFRithaTRCQUNJR1FRQk1CRUFnQ0NBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFvZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUEwZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBcEtCRUFnQmlBS05nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBMDJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFnZ0Jqc0JBQ0FISVFsQkFDRUxBMEFnQ3lBQVRnUkFJQVloQlF3REN5QUZJQWtvQWdCR0JFQWdDU0FHTmdJQUN5QUpRUVJxSVFrZ0MwRUJhaUVMREFBQUN3QUZJQWdnQlRzQkFDQUZJQVpJQkVBZ0J5RUpRUUFoQ3dOQUlBc2dBRTROQXlBR0lBa29BZ0JHQkVBZ0NTQUZOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDaUFHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEU0FGS0FJQWFqWUNBQXNGSUFoQkFEc0JBQ0FNUVFBNkFBQUxJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUxyZ0VCQkg4akJpRUZJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lBd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3lJRUlBSkpCRUFnQUNBRUlBSWdCR3NnQXdSL0lBQW9BZ1FGSUFaQi93RnhDeUlBUVFBZ0FDQUNJQUVRbEFRRklBTUVmeUFBS0FJQUJTQUFDeUlESVFRZ0FnUkFJQVFnQVNBQ0VPY0JHZ3NnQlVFQU9nQUFJQUlnQTJvZ0JSQmZJQUFzQUF0QkFFZ0VRQ0FBSUFJMkFnUUZJQUFnQWpvQUN3c0xJQVVrQmd0QUFRSi9RZGkxQWhCZ0lnSkJEV29RVVNJQklBSTJBZ0FnQVNBQ05nSUVJQUZCQURZQ0NDQUJRUXhxSWdGQjJMVUNJQUpCQVdvUVRCb2dBQ0FCTmdJQUN5NEFBMEFnQUNnQ0FFRUJSZzBBQ3lBQUtBSUFSUVJBSUFCQkFUWUNBQ0FCUWJ3RUVRRUFJQUJCZnpZQ0FBc0xWQUVCZnlBQUtBSUlCRUFnQUNBQUtBSUlJZ0ZCZjJvMkFnZ2dBVVVFUUNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQlNBQUtBSUFLQUlRSVFFZ0FDQUJRZjhCY1VHc0Eyb1JBUUFMQ3hzQUlBQWdBU2dDQUNJQU5nSUFJQUFnQUNnQ0JFRUJhallDQkF0T0FRTi9JQUlnQVd0QkFuWWhCeUFCSVFBRFFDQUFJQUpIQkVBZ0JDQUFLQUlBSWdaQi93RnhJQU1nQmtHQUFVa2JPZ0FBSUFSQkFXb2hCQ0FBUVFScUlRQU1BUXNMSUFkQkFuUWdBV29MRVFBZ0FVSC9BWEVnQWlBQlFZQUJTUnNMS1FBRFFDQUJJQUpIQkVBZ0F5QUJMQUFBTmdJQUlBTkJCR29oQXlBQlFRRnFJUUVNQVFzTElBSUxDZ0FnQVVFWWRFRVlkUXRCQUFOQUlBRWdBa2NFUUNBQklBRW9BZ0FpQUVHQUFVa0VmMEcwaUFFb0FnQWdBU2dDQUVFQ2RHb29BZ0FGSUFBTE5nSUFJQUZCQkdvaEFRd0JDd3NnQWdzZUFDQUJRWUFCU1FSL1FiU0lBU2dDQUNBQlFRSjBhaWdDQUFVZ0FRc0xuUXdDQW44VWZDQUFLd01JSWdvZ0FDc0RLQ0lMb2lBQUt3TVFJZ2tnQUNzRElDSVFvcUVoQkNBSklBQXJBeGdpRGFJZ0FDc0RBQ0lJSUF1aW9TRUhJQWdnRUtJZ0NpQU5vcUVpQXlBRG9pQUVJQVNpSUFjZ0I2S2dvSjhpQlVRQUFBQUFBQUFBQUdJRVFDQURJQVdqSVFZZ0NDQUhJQVdqSWhHaUlnTWdDaUFFSUFXaklnK2lJaE9oSWhKRUFBQUFBQUFBQUFCaUJId2dEeUVFSUFnaEJTQUtJUTRnRVNFSElBa0ZJQWtnQ2lBSUlBYWlJQWtnRDZLaFJBQUFBQUFBQUFBQVlpSUJHeUVPUVFGQkFpQUJHeUVDSUE0Z0R5QUdJQUViSWdTaUloSWhFeUFJSUFrZ0FSc2lCU0FHSUJFZ0FSc2lCNklpQXlBU29TRVNJQkVnRHlBQkd5RUdJQW9nQ0NBQkd3c2hEQ0FJSUEyaUlBb2dFS0tnSUFrZ0M2S2dJZ2lhSUFnZ0NFUUFBQUFBQUFBQUFHTWJJZ2hFQUFBQUFBQUE4RCtnbjBRQUFBQUFBQUR3UHlBSW9aK2dSQUFBQUFBQUFPQS9vaUVVSUJKRUFBQUFBQUFBQUFCaUJFQWdEaUFHb2lBTUlBZWlvU0FTb3lJT0lBNmlJQVVnQnFJZ0RDQUVvcUVnRXlBRG9TSURveUlJSUFpaW9FUUFBQUFBQUFEd1A2QWhDaUFPSUJRZ0I2SWdFcU1pQmFJZ0NDQVVJQVNpSUFPaklnbWlvQ0lQSUEraUlBb2dCU0FGb2lBSklBbWlvRVFBQUFBQUFBRHd2NkNpb1NJRFJBQUFBQUFBQUFBQVkwVUVRQ0FGSUE0Z0E1OGlEQ0FQb1NBS295SVJvcUFoQXlBSklBZ2dFYUtnSVJJZ0JTQU9JQSthSUF5aElBcWpJZ3Fpb0NFRklBa2dDQ0FLb3FBaENDQU5BbndDUUFKQUFrQWdBa0VEY1VFQmF3NENBQUVDQ3lBSUlRNGdDaUVJSUFVaENpQVNJUThnRVNFU0lBTWhFU0FFSVFNZ0J5RUVJQVlNQWdzZ0JTRU9JQU1oRHlBR0lRTWdCd3dCQ3lBS0lRNGdCU0VLSUJFaER5QURJUkVnQkNFRElBWWhCQ0FIQ3lJRm9pSVZJQkFnQTZJaUZxRWlFMFFBQUFBQUFBQUFBR0lFZnlBRElRY2dEU0VKSUJBaERDQUZJUVpCQUFVZ0N5QVFJQTBnQktJZ0N5QURvcUZFQUFBQUFBQUFBQUJpSWdFYklRd2dEU0FMSUFFYklna2dCQ0FGSUFFYklnYWlJZ3NoRlNBTUlBTWdCQ0FCR3lJSG9pSUVJUllnQ3lBRW9TRVRJQkFnRFNBQkd5RUxJQVVnQXlBQkd5RUVRUUZCQWlBQkd3c2hBaUFUUkFBQUFBQUFBQUFBWWdSQUlBd2dCS0lnQ3lBR29xRWdFNk1pQXlBRG9pQUpJQVNpSUFzZ0I2S2hJQllnRmFFaUJhTWlCQ0FFb3FCRUFBQUFBQUFBOEQrZ0lRMGdBeUFVSUFhaUlCT2pJZ2FpSUFRZ0ZDQUhvaUFGb3lJSG9xQWlDeUFMb2lBTklBWWdCcUlnQnlBSG9xQkVBQUFBQUFBQThMK2dvcUVpQlVRQUFBQUFBQUFBQUdORkJFQWdCaUFESUFXZkloQWdDNkVnRGFNaUNhS2dJUXdnQnlBRUlBbWlvQ0VGSUFZZ0F5QUxtaUFRb1NBTm95SURvcUFoQmlBSElBUWdBNktnSVFjQ1FBSkFBa0FDUUNBQ1FRTnhRUUZyRGdJQUFRSUxJQWNoQkNBRElRY2dCaUVESUFVaEJpQUpJUVVnRENFSkRBSUxJQVloQkNBTUlRWU1BUXNnQXlFRUlBWWhBeUFKSVFZZ0RDRUpDeUFLSUFtaUlBZ2dCYUtnSUE0Z0JxS2dJZ3lhSUF3Z0RFUUFBQUFBQUFBQUFHTWJJUXdnQ2lBRG9pQUlJQWVpb0NBT0lBU2lvQ0lObWlBTklBMUVBQUFBQUFBQUFBQmpHeUVOSUJFZ0NhSWdFaUFGb3FBZ0R5QUdvcUFpQzVvZ0N5QUxSQUFBQUFBQUFBQUFZeHNpQ3lBUklBT2lJQklnQjZLZ0lBOGdCS0tnSWhDYUlCQWdFRVFBQUFBQUFBQUFBR01iSWhCakJFQWdDeUFNWXdSQUlBc2dEV01FUUNBQUlCRTVBd0FnQUNBU09RTUlJQUFnRHprREVDQUFJQWs1QXhnZ0FDQUZPUU1nSUFBZ0Jqa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0FDQURPUU1ZSUFBZ0J6a0RJQ0FBSUFRNUF5Z0xCU0FBSUFvNUF3QWdBQ0FJT1FNSUlBQWdEamtERUNBTUlBMWpCRUFnQUNBSk9RTVlJQUFnQlRrRElDQUFJQVk1QXlnRklBQWdBemtER0NBQUlBYzVBeUFnQUNBRU9RTW9Dd3NGSUJBZ0RHTUVRQ0FRSUExakJFQWdBQ0FST1FNQUlBQWdFamtEQ0NBQUlBODVBeEFGSUFBZ0Nqa0RBQ0FBSUFnNUF3Z2dBQ0FPT1FNUUN5QUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQVVnQUNBS09RTUFJQUFnQ0RrRENDQUFJQTQ1QXhBZ0RDQU5Zd1JBSUFBZ0NUa0RHQ0FBSUFVNUF5QWdBQ0FHT1FNb0JTQUFJQU01QXhnZ0FDQUhPUU1nSUFBZ0JEa0RLQXNMQ3dzTEN3c0xDMEVBQTBBZ0FTQUNSd1JBSUFFZ0FTZ0NBQ0lBUVlBQlNRUi9RYVNLQVNnQ0FDQUJLQUlBUVFKMGFpZ0NBQVVnQUFzMkFnQWdBVUVFYWlFQkRBRUxDeUFDQ3g0QUlBRkJnQUZKQkg5QnBJb0JLQUlBSUFGQkFuUnFLQUlBQlNBQkN3dEtBQU5BQWtBZ0FpQURSZ1JBSUFNaEFnd0JDeUFDS0FJQVFZQUJUdzBBSUFGQm9Jb0JLQUlBSUFJb0FnQkJBWFJxTGdFQWNVSC8vd054QkVBZ0FrRUVhaUVDREFJTEN3c2dBZ3RLQUFOQUFrQWdBaUFEUmdSQUlBTWhBZ3dCQ3lBQ0tBSUFRWUFCU1FSQUlBRkJvSW9CS0FJQUlBSW9BZ0JCQVhScUxnRUFjVUgvL3dOeERRRUxJQUpCQkdvaEFnd0JDd3NnQWd0R0FBTkFJQUVnQWtjRVFDQURJQUVvQWdCQmdBRkpCSDlCb0lvQktBSUFJQUVvQWdCQkFYUnFMd0VBQlVFQUN6c0JBQ0FEUVFKcUlRTWdBVUVFYWlFQkRBRUxDeUFDQ3lrQUlBSkJnQUZKQkg4Z0FVR2dpZ0VvQWdBZ0FrRUJkR291QVFCeFFmLy9BM0ZCQUVjRlFRQUxDeUFBSUFCQ0FEY0NBQ0FBUVFBMkFnZ2dBRUhNb2dGQnpLSUJFTFFCRU1zQkN5QUFJQUJDQURjQ0FDQUFRUUEyQWdnZ0FFSGtvZ0ZCNUtJQkVMUUJFTXNCQ3d3QUlBQWdBVUVRYWhEZUFnc0hBQ0FBS0FJTUN3Y0FJQUFvQWdnTEN3QWdBQkNaQkNBQUVEZ0xIZ0FnQUVJQU53SUFJQUJCQURZQ0NDQUFRWTJqQTBHTm93TVFZQkIrQ3g0QUlBQkNBRGNDQUNBQVFRQTJBZ2dnQUVHVG93TkJrNk1ERUdBUWZnc01BQ0FBSUFGQkRHb1EzZ0lMQndBZ0FDd0FDUXNIQUNBQUxBQUlDd3NBSUFBUW1nUWdBQkE0Q3lvQkFYeEJmeUFBS3dNQUlBRXJBd0NoSWdKRUFBQUFBQUFBQUFCa0lBSkVBQUFBQUFBQUFBQmpHd3N6QUFOQUlBRWdBa2NFUUNBRUlBRXNBQUFpQUNBRElBQkJmMG9iT2dBQUlBUkJBV29oQkNBQlFRRnFJUUVNQVFzTElBSUxFZ0FnQVNBQ0lBRkJHSFJCR0hWQmYwb2JDeWtBQTBBZ0FTQUNSd1JBSUFNZ0FTd0FBRG9BQUNBRFFRRnFJUU1nQVVFQmFpRUJEQUVMQ3lBQ0N3UUFJQUVMUkFBRFFDQUJJQUpIQkVBZ0FTQUJMQUFBSWdCQmYwb0VmMEcwaUFFb0FnQWdBU3dBQUVFQ2RHb29BZ0JCL3dGeEJTQUFDem9BQUNBQlFRRnFJUUVNQVFzTElBSUxMUUFnQVVFWWRFRVlkVUYvU2dSL1FiU0lBU2dDQUNBQlFSaDBRUmgxUVFKMGFpZ0NBRUgvQVhFRklBRUxDMFFBQTBBZ0FTQUNSd1JBSUFFZ0FTd0FBQ0lBUVg5S0JIOUJwSW9CS0FJQUlBRXNBQUJCQW5ScUtBSUFRZjhCY1FVZ0FBczZBQUFnQVVFQmFpRUJEQUVMQ3lBQ0N5c0FJQUZCR0hSQkdIVkJmMG9FZjBHa2lnRW9BZ0FnQVVIL0FYRkJBblJxS0FJQVFmOEJjUVVnQVFzTEN3QWdBQkNiQkNBQUVEZ0xOd0VDZnlBQUtBSUFJZ0VoQWlBQkJFQWdBQ0FDTmdJRUlBRWdBRUVRYWtZRVFDQUFRUUE2QUlBQkJTQUFLQUlJR2lBQkVEZ0xDd3NMQUNBQUVKd0VJQUFRT0F1UUJnRUNmeUFDSUFBMkFnQWdCU0FETmdJQUlBSW9BZ0FoQUFOQUFrQWdBQ0FCVHdSQVFRQWhBQXdCQ3lBQUxnRUFJZ1pCLy84RGNTSURRZi8vd3dCTEJFQkJBaUVBREFFTElBWkIvLzhEY1VHQUFVZ0VRQ0FFSUFVb0FnQWlBR3RCQVVnRVFFRUJJUUFNQWdzZ0JTQUFRUUZxTmdJQUlBQWdCam9BQUFVQ1FDQUdRZi8vQTNGQmdCQklCRUFnQkNBRktBSUFJZ0JyUVFKSUJFQkJBU0VBREFRTElBVWdBRUVCYWpZQ0FDQUFJQU5CQm5aQndBRnlPZ0FBSUFVZ0JTZ0NBQ0lBUVFGcU5nSUFJQUFnQTBFL2NVR0FBWEk2QUFBTUFRc2dCa0gvL3dOeFFZQ3dBMGdFUUNBRUlBVW9BZ0FpQUd0QkEwZ0VRRUVCSVFBTUJBc2dCU0FBUVFGcU5nSUFJQUFnQTBFTWRrSGdBWEk2QUFBZ0JTQUZLQUlBSWdCQkFXbzJBZ0FnQUNBRFFRWjJRVDl4UVlBQmNqb0FBQ0FGSUFVb0FnQWlBRUVCYWpZQ0FDQUFJQU5CUDNGQmdBRnlPZ0FBREFFTElBWkIvLzhEY1VHQXVBTk9CRUFnQmtILy93TnhRWURBQTBnRVFFRUNJUUFNQkFzZ0JDQUZLQUlBSWdCclFRTklCRUJCQVNFQURBUUxJQVVnQUVFQmFqWUNBQ0FBSUFOQkRIWkI0QUZ5T2dBQUlBVWdCU2dDQUNJQVFRRnFOZ0lBSUFBZ0EwRUdka0UvY1VHQUFYSTZBQUFnQlNBRktBSUFJZ0JCQVdvMkFnQWdBQ0FEUVQ5eFFZQUJjam9BQUF3QkN5QUJJQUJyUVFSSUJFQkJBU0VBREFNTElBQkJBbW9oQmlBQUx3RUNJZ0JCZ1BnRGNVR0F1QU5IQkVCQkFpRUFEQU1MSUFRZ0JTZ0NBR3RCQkVnRVFFRUJJUUFNQXdzZ0FFSC9CM0VnQTBIQUIzRWlCMEVLZEVHQWdBUnFJQU5CQ25SQmdQZ0RjWEp5UWYvL3d3QkxCRUJCQWlFQURBTUxJQUlnQmpZQ0FDQUZJQVVvQWdBaUJrRUJhallDQUNBR0lBZEJCblpCQVdvaUJrRUNka0h3QVhJNkFBQWdCU0FGS0FJQUlnZEJBV28yQWdBZ0J5QUdRUVIwUVRCeElBTkJBblpCRDNGeVFZQUJjam9BQUNBRklBVW9BZ0FpQmtFQmFqWUNBQ0FHSUFOQkJIUkJNSEVnQUVFR2RrRVBjWEpCZ0FGeU9nQUFJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMQ3lBQ0lBSW9BZ0JCQW1vaUFEWUNBQXdCQ3dzZ0FBdThCZ0VGZnlBQ0lBQTJBZ0FnQlNBRE5nSUFBMEFDUUNBQ0tBSUFJZ01nQVU4RVFFRUFJUUFNQVFzZ0JTZ0NBQ0lJSUFSUEJFQkJBU0VBREFFTElBTXNBQUFpQmtIL0FYRWlDVUgvLzhNQVN3UkFRUUloQUF3QkN5QUNJQVpCZjBvRWZ5QUlJQVpCL3dGeE93RUFJQU5CQVdvRkFuOGdCa0gvQVhGQndnRklCRUJCQWlFQURBTUxJQVpCL3dGeFFlQUJTQVJBSUFFZ0EydEJBa2dFUUVFQklRQU1CQXNnQXkwQUFTSUFRY0FCY1VHQUFVY0VRRUVDSVFBTUJBc2dDVUVHZEVIQUQzRWdBRUUvY1hJaUFFSC8vOE1BU3dSQVFRSWhBQXdFQ3lBSUlBQTdBUUFnQTBFQ2Fnd0JDeUFHUWY4QmNVSHdBVWdFUUNBQklBTnJRUU5JQkVCQkFTRUFEQVFMSUFNc0FBRWhCeUFETFFBQ0lRQUNRQUpBQWtBZ0JrRmdheUlHQkVBZ0JrRU5SZ1JBREFJRkRBTUxBQXNnQjBIZ0FYRkJvQUZIQkVCQkFpRUFEQWNMREFJTElBZEI0QUZ4UVlBQlJ3UkFRUUloQUF3R0N3d0JDeUFIUWNBQmNVR0FBVWNFUUVFQ0lRQU1CUXNMSUFCQndBRnhRWUFCUndSQVFRSWhBQXdFQ3lBQVFUOXhJQWxCREhRZ0IwRS9jVUVHZEhKeUlnQkIvLzhEY1VILy84TUFTd1JBUVFJaEFBd0VDeUFJSUFBN0FRQWdBMEVEYWd3QkN5QUdRZjhCY1VIMUFVNEVRRUVDSVFBTUF3c2dBU0FEYTBFRVNBUkFRUUVoQUF3REN5QURMQUFCSVFjZ0F5MEFBaUVBSUFNdEFBTWhBd0pBQWtBQ1FBSkFJQVpCY0dzT0JRQUNBZ0lCQWdzZ0IwSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0JFQkJBaUVBREFZTERBSUxJQWRCOEFGeFFZQUJSd1JBUVFJaEFBd0ZDd3dCQ3lBSFFjQUJjVUdBQVVjRVFFRUNJUUFNQkFzTElBQkJ3QUZ4UVlBQlJ3UkFRUUloQUF3REN5QURRY0FCY1VHQUFVY0VRRUVDSVFBTUF3c2dCQ0FJYTBFRVNBUkFRUUVoQUF3REN5QURRVDl4SWdZZ0FFRUdkQ0lLUWNBZmNTQUhRZjhCY1NJRFFReDBRWURnRDNFZ0NVRUhjU0lIUVJKMGNuSnlRZi8vd3dCTEJFQkJBaUVBREFNTElBZ2dBMEVFZGtFRGNTQUhRUUowY2tFR2RFSEEvd0JxSUFOQkFuUkJQSEVnQUVFRWRrRURjWEp5UVlDd0EzSTdBUUFnQlNBSVFRSnFOZ0lBSUFnZ0JpQUtRY0FIY1hKQmdMZ0RjanNCQWlBQ0tBSUFRUVJxQ3dzMkFnQWdCU0FGS0FJQVFRSnFOZ0lBREFFTEN5QUFDNU1FQVFkL0lBRWhCeUFBSVFFRFFBSkFJQUVnQjBrZ0JpQUNTWEZGRFFBZ0FTd0FBQ0lEUWY4QmNTSUlRZi8vd3dCTERRQWdBMEYvU2dSL0lBRkJBV29GQW44Z0EwSC9BWEZCd2dGSURRSWdBMEgvQVhGQjRBRklCRUFnQnlBQmEwRUNTQTBESUFFdEFBRWlCRUhBQVhGQmdBRkhJQWhCQm5SQndBOXhJQVJCUDNGeVFmLy93d0JMY2cwRElBRkJBbW9NQVFzZ0EwSC9BWEZCOEFGSUJFQWdCeUFCYTBFRFNBMERJQUVzQUFFaEJDQUJMUUFDSVFVQ1FBSkFBa0FnQTBGZ2F5SURCRUFnQTBFTlJnUkFEQUlGREFNTEFBc2dCRUhnQVhGQm9BRkhEUVlNQWdzZ0JFSGdBWEZCZ0FGSERRVU1BUXNnQkVIQUFYRkJnQUZIRFFRTElBVkJ3QUZ4UVlBQlJ5QUZRVDl4SUFoQkRIUkJnT0FEY1NBRVFUOXhRUVowY25KQi8vL0RBRXR5RFFNZ0FVRURhZ3dCQ3lBSElBRnJRUVJJSUFJZ0JtdEJBa2x5SUFOQi93RnhRZlVCVG5JTkFpQUJMQUFCSVFVZ0FTMEFBaUVFSUFFdEFBTWhDUUpBQWtBQ1FBSkFJQU5CY0dzT0JRQUNBZ0lCQWdzZ0JVSHdBR3BCR0hSQkdIVkIvd0Z4UVRCT0RRVU1BZ3NnQlVId0FYRkJnQUZIRFFRTUFRc2dCVUhBQVhGQmdBRkhEUU1MSUFsQndBRnhRWUFCUnlBSlFUOXhJQVJCQm5SQndCOXhJQWhCRW5SQmdJRHdBSEVnQlVFL2NVRU1kSEp5Y2tILy84TUFTM0lnQkVIQUFYRkJnQUZIY2cwQ0lBWkJBV29oQmlBQlFRUnFDd3NoQVNBR1FRRnFJUVlNQVFzTElBRWdBR3NMQ3dBZ0FpQURJQVFRa3dvTFRRRUJmeU1HSVFBakJrRVFhaVFHSUFCQkJHb2lBU0FDTmdJQUlBQWdCVFlDQUNBQ0lBTWdBU0FGSUFZZ0FCQ1NDaUVJSUFRZ0FTZ0NBRFlDQUNBSElBQW9BZ0EyQWdBZ0FDUUdJQWdMVFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCQkdvaUFTQUNOZ0lBSUFBZ0JUWUNBQ0FDSUFNZ0FTQUZJQVlnQUJDUkNpRUlJQVFnQVNnQ0FEWUNBQ0FISUFBb0FnQTJBZ0FnQUNRR0lBZ0xDd0FnQUJDZUJDQUFFRGdMS2dFQmZ5QUFLQUlJSWdBRVFDQUFFR0loQVJDYkF5RUFJQUVFUUNBQkVHSWFDd1ZCQVNFQUN5QUFDM01CQkg4Z0F5RUZBMEFDUUNBQ0lBVkdJQVlnQkU5eURRQWdBQ2dDQ0JCaUlRZEJBQ0FDSUFVZ0Ftc2dBVUhJeFFNZ0FSc1Exd0VoQXlBSEJFQWdCeEJpR2dzQ1FBSkFJQU5CZm1zT0F3SUNBQUVMUVFFaEF3c2dCa0VCYWlFR0lBTWdDR29oQ0NBQ0lBTnFJUUlNQVFzTElBZ0xVQUVFZnlBQUtBSUlFR0loQVFKL0l3WWhBeU1HUVJCcUpBWWdBd3NrQmlBQkJFQWdBUkJpR2dzZ0FDZ0NDQ0lBQkg4Z0FCQmlJUUFRbXdNaEJDQUFCRUFnQUJCaUdnc2dCRUVCUmdWQkFRc0xtQUVCQW44akJpRUZJd1pCRUdva0JpQUVJQUkyQWdBZ0FDZ0NDQkJpSVFJZ0JTSUFRUUFRbmdFaEFTQUNCRUFnQWhCaUdnc2dBVUVCYWtFQ1NRUi9RUUlGSUFGQmYyb2lBU0FESUFRb0FnQnJTd1IvUVFFRkEzOGdBUVIvSUFBc0FBQWhBaUFFSUFRb0FnQWlBMEVCYWpZQ0FDQURJQUk2QUFBZ0FFRUJhaUVBSUFGQmYyb2hBUXdCQlVFQUN3c0xDeUVHSUFVa0JpQUdDL2tEQVFaL0l3WWhEQ01HUVJCcUpBWWdEQ0VKSUFJaENBTkFBa0FnQXlBSVJnUkFJQU1oQ0F3QkN5QUlMQUFBQkVBZ0NFRUJhaUVJREFJTEN3c2dCeUFGTmdJQUlBUWdBallDQUNBR0lRb2dDQ0VHQWtBQ1FBSkFBMEFDUUNBQ0lBTkdJQVVnQ2taeURRTWdDU0FCS1FJQU53TUFJQUFvQWdnUVlpRUlJQVVnQkNBR0lBSnJJQW9nQld0QkFuVWdBUkR3QkNFTElBZ0VRQ0FJRUdJYUN5QUxRWDlHRFFBZ0J5QUhLQUlBSUF0QkFuUnFJZ1UyQWdBZ0JTQUtSZzBDSUFRb0FnQWhBaUFESUFaR0JFQWdBeUVHQlNBQUtBSUlFR0loQmdKL0lBVWdBa0VCSUFFUTF3RWhEU0FHQkVBZ0JoQmlHZ3NnRFFzRVFFRUNJUUFNQmdzZ0J5QUhLQUlBUVFScU5nSUFJQVFnQkNnQ0FFRUJhaUlDTmdJQUlBSWhCZ05BQWtBZ0F5QUdSZ1JBSUFNaEJnd0JDeUFHTEFBQUJFQWdCa0VCYWlFR0RBSUxDd3NnQnlnQ0FDRUZDd3dCQ3dzQ1FBSkFBMEFDUUNBSElBVTJBZ0FnQWlBRUtBSUFSZzBESUFBb0FnZ1FZaUVJSUFVZ0FpQUdJQUpySUFrUTF3RWhBU0FJQkVBZ0NCQmlHZ3NDUUFKQUlBRkJmbXNPQXdRQ0FBRUxRUUVoQVFzZ0FTQUNhaUVDSUFjb0FnQkJCR29oQlF3QkN3c2dCQ0FDTmdJQVFRSWhBQXdFQ3lBRUlBSTJBZ0JCQVNFQURBTUxJQVFnQWpZQ0FDQUNJQU5ISVFBTUFnc2dCQ2dDQUNFQ0N5QUNJQU5ISVFBTElBa2tCaUFBQzVnRUFRWi9Jd1loRFNNR1FSQnFKQVlnRFNJS1FRaHFJUXNnQWlFSUEwQUNRQ0FESUFoR0JFQWdBeUVJREFFTElBZ29BZ0FFUUNBSVFRUnFJUWdNQWdzTEN5QUhJQVUyQWdBZ0JDQUNOZ0lBSUFZaENTQUlJUVlDUUFKQUFrQURRQUpBSUFJZ0EwWWdCU0FKUm5JTkF5QUtJQUVwQWdBM0F3QWdBQ2dDQ0JCaUlRZ2dCU0FFSUFZZ0FtdEJBblVnQ1NBRmF4RG9CQ0VNSUFnRVFDQUlFR0lhQ3dKQUFrQWdERUYvYXc0Q0FnQUJDMEVCSVFBTUJRc2dCeUFNSUFjb0FnQnFJZ1UyQWdBZ0JTQUpSZzBDSUFNZ0JrWUVRQ0FESVFZZ0JDZ0NBQ0VDQlNBQUtBSUlFR0loQlNBTFFRQVFuZ0VoQWlBRkJFQWdCUkJpR2dzZ0FrRi9SZ1JBUVFJaEFBd0dDeUFDSUFrZ0J5Z0NBR3RMQkVCQkFTRUFEQVlMSUFzaEJRTkFJQUlFUUNBRkxBQUFJUVlnQnlBSEtBSUFJZ2hCQVdvMkFnQWdDQ0FHT2dBQUlBVkJBV29oQlNBQ1FYOXFJUUlNQVFzTElBUWdCQ2dDQUVFRWFpSUNOZ0lBSUFJaEJnTkFBa0FnQXlBR1JnUkFJQU1oQmd3QkN5QUdLQUlBQkVBZ0JrRUVhaUVHREFJTEN3c2dCeWdDQUNFRkN3d0JDd3NnQnlBRk5nSUFBMEFDUUNBQ0lBUW9BZ0JHRFFBZ0FpZ0NBQ0VESUFBb0FnZ1FZaUVCSUFVZ0F4Q2VBU0VESUFFRVFDQUJFR0lhQ3lBRFFYOUdEUUFnQnlBRElBY29BZ0JxSWdVMkFnQWdBa0VFYWlFQ0RBRUxDeUFFSUFJMkFnQkJBaUVBREFJTElBUW9BZ0FoQWdzZ0FpQURSeUVBQ3lBS0pBWWdBQXNSQUNBRElBSnJJZ0FnQkNBQUlBUkpHd3VQQXdFQmZ5QUNJQUEyQWdBZ0JTQUROZ0lBSUFJb0FnQWhBQU5BQWtBZ0FDQUJUd1JBUVFBaEFBd0JDeUFBS0FJQUlnQkJnSEJ4UVlDd0EwWWdBRUgvLzhNQVMzSUVRRUVDSVFBTUFRc2dBRUdBQVVrRVFDQUVJQVVvQWdBaUEydEJBVWdFUUVFQklRQU1BZ3NnQlNBRFFRRnFOZ0lBSUFNZ0FEb0FBQVVDUUNBQVFZQVFTUVJBSUFRZ0JTZ0NBQ0lEYTBFQ1NBUkFRUUVoQUF3RUN5QUZJQU5CQVdvMkFnQWdBeUFBUVFaMlFjQUJjam9BQUF3QkN5QUVJQVVvQWdBaUEyc2hCaUFBUVlDQUJFa0VRQ0FHUVFOSUJFQkJBU0VBREFRTElBVWdBMEVCYWpZQ0FDQURJQUJCREhaQjRBRnlPZ0FBQlNBR1FRUklCRUJCQVNFQURBUUxJQVVnQTBFQmFqWUNBQ0FESUFCQkVuWkI4QUZ5T2dBQUlBVWdCU2dDQUNJRFFRRnFOZ0lBSUFNZ0FFRU1ka0UvY1VHQUFYSTZBQUFMSUFVZ0JTZ0NBQ0lEUVFGcU5nSUFJQU1nQUVFR2RrRS9jVUdBQVhJNkFBQUxJQVVnQlNnQ0FDSURRUUZxTmdJQUlBTWdBRUUvY1VHQUFYSTZBQUFMSUFJZ0FpZ0NBRUVFYWlJQU5nSUFEQUVMQ3lBQUM3a0ZBUVYvSUFJZ0FEWUNBQ0FGSUFNMkFnQURRQUpBSUFJb0FnQWlCaUFCVHdSQVFRQWhBQXdCQ3lBRktBSUFJZ29nQkU4RVFFRUJJUUFNQVFzZ0Jpd0FBQ0lIUWY4QmNTRURJQWRCZjBvRWZ5QURRZi8vd3dCTEJIOUJBaUVBREFJRlFRRUxCUUovSUFkQi93RnhRY0lCU0FSQVFRSWhBQXdEQ3lBSFFmOEJjVUhnQVVnRVFDQUJJQVpyUVFKSUJFQkJBU0VBREFRTElBWXRBQUVpQUVIQUFYRkJnQUZIQkVCQkFpRUFEQVFMUVFJZ0EwRUdkRUhBRDNFZ0FFRS9jWElpQTBILy84TUFUUTBCR2tFQ0lRQU1Bd3NnQjBIL0FYRkI4QUZJQkVBZ0FTQUdhMEVEU0FSQVFRRWhBQXdFQ3lBR0xBQUJJUWdnQmkwQUFpRUFBa0FDUUFKQUlBZEJZR3NpQndSQUlBZEJEVVlFUUF3Q0JRd0RDd0FMSUFoQjRBRnhRYUFCUndSQVFRSWhBQXdIQ3d3Q0N5QUlRZUFCY1VHQUFVY0VRRUVDSVFBTUJnc01BUXNnQ0VIQUFYRkJnQUZIQkVCQkFpRUFEQVVMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQkF0QkF5QUFRVDl4SUFOQkRIUkJnT0FEY1NBSVFUOXhRUVowY25JaUEwSC8vOE1BVFEwQkdrRUNJUUFNQXdzZ0IwSC9BWEZCOVFGT0JFQkJBaUVBREFNTElBRWdCbXRCQkVnRVFFRUJJUUFNQXdzZ0Jpd0FBU0VKSUFZdEFBSWhBQ0FHTFFBRElRZ0NRQUpBQWtBQ1FDQUhRWEJyRGdVQUFnSUNBUUlMSUFsQjhBQnFRUmgwUVJoMVFmOEJjVUV3VGdSQVFRSWhBQXdHQ3d3Q0N5QUpRZkFCY1VHQUFVY0VRRUVDSVFBTUJRc01BUXNnQ1VIQUFYRkJnQUZIQkVCQkFpRUFEQVFMQ3lBQVFjQUJjVUdBQVVjRVFFRUNJUUFNQXdzZ0NFSEFBWEZCZ0FGSEJFQkJBaUVBREFNTElBaEJQM0VnQUVFR2RFSEFIM0VnQTBFU2RFR0FnUEFBY1NBSlFUOXhRUXgwY25KeUlnTkIvLy9EQUVzRWYwRUNJUUFNQXdWQkJBc0xDeUVBSUFvZ0F6WUNBQ0FDSUFBZ0JtbzJBZ0FnQlNBRktBSUFRUVJxTmdJQURBRUxDeUFBQzRVRUFRZC9JQUVoQmlBQUlRRURRQUpBSUFFZ0Jra2dDQ0FDU1hGRkRRQWdBU3dBQUNJRFFmOEJjU0VISUFOQmYwb0VmeUFIUWYvL3d3QkxEUUVnQVVFQmFnVUNmeUFEUWY4QmNVSENBVWdOQWlBRFFmOEJjVUhnQVVnRVFDQUdJQUZyUVFKSURRTWdBUzBBQVNJRVFjQUJjVUdBQVVjZ0IwRUdkRUhBRDNFZ0JFRS9jWEpCLy8vREFFdHlEUU1nQVVFQ2Fnd0JDeUFEUWY4QmNVSHdBVWdFUUNBR0lBRnJRUU5JRFFNZ0FTd0FBU0VFSUFFdEFBSWhCUUpBQWtBQ1FDQURRV0JySWdNRVFDQURRUTFHQkVBTUFnVU1Bd3NBQ3lBRVFlQUJjVUdnQVVjTkJnd0NDeUFFUWVBQmNVR0FBVWNOQlF3QkN5QUVRY0FCY1VHQUFVY05CQXNnQlVIQUFYRkJnQUZISUFWQlAzRWdCMEVNZEVHQTRBTnhJQVJCUDNGQkJuUnlja0gvLzhNQVMzSU5BeUFCUVFOcURBRUxJQVlnQVd0QkJFZ2dBMEgvQVhGQjlRRk9jZzBDSUFFc0FBRWhCU0FCTFFBQ0lRUWdBUzBBQXlFSkFrQUNRQUpBQWtBZ0EwRndhdzRGQUFJQ0FnRUNDeUFGUWZBQWFrRVlkRUVZZFVIL0FYRkJNRTROQlF3Q0N5QUZRZkFCY1VHQUFVY05CQXdCQ3lBRlFjQUJjVUdBQVVjTkF3c2dDVUhBQVhGQmdBRkhJQWxCUDNFZ0JFRUdkRUhBSDNFZ0IwRVNkRUdBZ1BBQWNTQUZRVDl4UVF4MGNuSnlRZi8vd3dCTGNpQUVRY0FCY1VHQUFVZHlEUUlnQVVFRWFnc0xJUUVnQ0VFQmFpRUlEQUVMQ3lBQklBQnJDd3NBSUFJZ0F5QUVFS0VLQzAwQkFYOGpCaUVBSXdaQkVHb2tCaUFBUVFScUlnRWdBallDQUNBQUlBVTJBZ0FnQWlBRElBRWdCU0FHSUFBUW9Bb2hDQ0FFSUFFb0FnQTJBZ0FnQnlBQUtBSUFOZ0lBSUFBa0JpQUlDMDBCQVg4akJpRUFJd1pCRUdva0JpQUFRUVJxSWdFZ0FqWUNBQ0FBSUFVMkFnQWdBaUFESUFFZ0JTQUdJQUFRbndvaENDQUVJQUVvQWdBMkFnQWdCeUFBS0FJQU5nSUFJQUFrQmlBSUM4TUVBUWgvSXdZaEJDTUdRYkFCYWlRR0lBUkJxQUZxSVF3Z0JDRUJJQVJCcEFGcUlRb2dCRUdnQVdvaEJ5QUVRWmdCYWlFQ0lBUkJrQUZxSVFzZ0JFR0FBV29pQ0VJQU53SUFJQWhCQURZQ0NBTkFJQVpCQTBjRVFDQUdRUUowSUFocVFRQTJBZ0FnQmtFQmFpRUdEQUVMQ3lBQ1FRQTJBZ1FnQWtHc29BRTJBZ0FnQlNnQ0FDQUZJQVVzQUFzaUEwRUFTQ0lKR3lJR0lBVW9BZ1FnQTBIL0FYRWdDUnRCQW5ScUlRTWdBVUVnYWlFSlFRQWhCUUpBQWtBRFFDQUZRUUpISUFZZ0EwbHhCRUFnQnlBR05nSUFJQUlnRENBR0lBTWdCeUFCSUFrZ0NpQUNLQUlBS0FJTVFROXhRWTREYWhFT0FDSUZRUUpHSUFZZ0J5Z0NBRVp5RFFJZ0FTRUdBMEFnQmlBS0tBSUFTUVJBSUFnZ0Jpd0FBQkRNQVNBR1FRRnFJUVlNQVFzTElBY29BZ0FoQmd3QkN3c01BUXNRQUFzQ2Z5QUlLQUlBSUFnZ0NDd0FDMEVBU0JzaUF5RU5JQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUNBMEFnQWtFRFJ3UkFJQUpCQW5RZ0FHcEJBRFlDQUNBQ1FRRnFJUUlNQVFzTElBdEJBRFlDQkNBTFFkeWdBVFlDQUNBTkN4QmdJQU5xSWdVaEJpQUJRWUFCYWlFSlFRQWhBZ0pBQWtBRFFDQUNRUUpISUFNZ0JVbHhSUTBCSUFjZ0F6WUNBQ0FMSUF3Z0F5QURRU0JxSUFVZ0JpQURhMEVnU2hzZ0J5QUJJQWtnQ2lBTEtBSUFLQUlRUVE5eFFZNERhaEVPQUNJQ1FRSkdJQU1nQnlnQ0FFWnlSUVJBSUFFaEF3TkFJQU1nQ2lnQ0FFa0VRQ0FBSUFNb0FnQVFqZ0lnQTBFRWFpRUREQUVMQ3lBSEtBSUFJUU1NQVFzTEVBQU1BUXNnQ0JCSElBUWtCZ3NMZ0FJQkFuOGpCaUVCSXdaQkVHb2tCaUFCUWdBM0FnQWdBVUVBTmdJSUEwQWdCa0VEUndSQUlBWkJBblFnQVdwQkFEWUNBQ0FHUVFGcUlRWU1BUXNMSUFVb0FnQWdCU0FGTEFBTElnTkJBRWdpQkJzaUFpQUZLQUlFSUFOQi93RnhJQVFiYWlFRElBSWhCUU5BSUFVZ0Ewa0VRQ0FCSUFVc0FBQVF6QUVnQlVFQmFpRUZEQUVMQ3dKL0lBRW9BZ0FnQVNBQkxBQUxRUUJJR3lJQ0lRY2dBRUlBTndJQUlBQkJBRFlDQ0VFQUlRTURRQ0FEUVFOSEJFQWdBMEVDZENBQWFrRUFOZ0lBSUFOQkFXb2hBd3dCQ3dzZ0J3c1FZQ0FDYWlFREEwQWdBaUFEU1FSQUlBQWdBaXdBQUJETUFTQUNRUUZxSVFJTUFRc0xJQUVRUnlBQkpBWUx3Z1VCRW44akJpRUdJd1pCNEFOcUpBWWdCa0hNQTJvaUN5QURFRHNnQzBHZ3pnTVFPaUVNSUFVc0FBc2lCMEVBU0NFQUlBVW9BZ1FnQjBIL0FYRWdBQnNFZnlBRktBSUFJQVVnQUJzb0FnQWdERUV0SUF3b0FnQW9BaXhCUDNGQmlnRnFFUUlBUmdWQkFBc2hEaUFHUWRRRGFpRVBJQVpCeUFOcUlSQWdCa0hFQTJvaEVTQUdRYXdEYWlFSElBWkJvQU5xSVFnZ0JrR2NBMm9oQ1NBR1FiZ0RhaUlLUWdBM0FnQWdDa0VBTmdJSVFRQWhBQU5BSUFCQkEwY0VRQ0FBUVFKMElBcHFRUUEyQWdBZ0FFRUJhaUVBREFFTEN5QUhRZ0EzQWdBZ0IwRUFOZ0lJUVFBaEFBTkFJQUJCQTBjRVFDQUFRUUowSUFkcVFRQTJBZ0FnQUVFQmFpRUFEQUVMQ3lBSVFnQTNBZ0FnQ0VFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQWhxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFDSUE0Z0N5QVBJQkFnRVNBS0lBY2dDQ0FKRUtNRUlBVXNBQXNpQUVFQVNDRVNJQVVvQWdRZ0FFSC9BWEVnRWhzaUV5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQmFpQVRJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUlFnQ1VFQ2Fnc2hGaUFHSVFBZ0FpQVVJQlpxYWlJQ1FlUUFTd1JBSUFKQkFuUVFSQ0lBSVFJZ0FBUkFJQUFoRFNBQ0lSVUZFQUFMQlNBQUlRMExJQTBnQmtHWUEyb2dCa0dVQTJvZ0F5Z0NCQ0FGS0FJQUlBVWdFaHNpQUNBVFFRSjBJQUJxSUF3Z0RpQVBJQkFvQWdBZ0VTZ0NBQ0FLSUFjZ0NDQUpFS0lFSUFZZ0FTZ0NBRFlDa0FNZ0JpZ0NtQU1oQUNBR0tBS1VBeUVCSUFaQjBBTnFJZ0lnQmlnQ2tBTTJBZ0FnQWlBTklBQWdBU0FESUFRUXBRRWhGeUFWQkVBZ0ZSQTRDeUFJRUVjZ0J4QkhJQW9RUnlBTEVEd2dCaVFHSUJjTHVBWUJGWDhqQmlFR0l3WkI0QWRxSkFZZ0JrR0lCMm9oQ0NBR1FaQURhaUVBSUFaQjJBZHFJZ2tnQmtHZ0Jtb2lCellDQUNBR1FaQUhhaUlOSUFVNUF3QWdCMEhrQUVIU25nTWdEUkNqQWlJSFFlTUFTd1JBRUZ3aEFDQUlJQVU1QXdBZ0NTQUFRZEtlQXlBSUVKc0JJUUFnQ1NnQ0FDSUlSUVJBRUFBTElBQkJBblFRUkNJSElRb2dCd1JBSUFjaERDQUFJUXNnQ2lFUUlBZ2hFUVVRQUFzRklBQWhEQ0FISVFzTElBWkIxQWRxSWc0Z0F4QTdJQTVCb000REVEb2lFaWdDQUNnQ01DRUFJQklnQ1NnQ0FDSUhJQWNnQzJvZ0RDQUFRUTl4UVlvQ2FoRUpBQm9nQ3dSL0lBa29BZ0FzQUFCQkxVWUZRUUFMSVJNZ0JrSGNCMm9oRkNBR1FkQUhhaUVWSUFaQnpBZHFJUllnQmtHMEIyb2hCeUFHUWFnSGFpRUlJQVpCcEFkcUlRa2dCa0hBQjJvaUNrSUFOd0lBSUFwQkFEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQjBJQU53SUFJQWRCQURZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUhha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDRUlBTndJQUlBaEJBRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBSWFrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0FpQVRJQTRnRkNBVklCWWdDaUFISUFnZ0NSQ2pCQ0FMSUFrb0FnQWlDVW9FZnlBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUZxSUFzZ0NXdEJBWFJxQlNBSEtBSUVJQWNzQUFzaUFFSC9BWEVnQUVFQVNCc2hBaUFJS0FJRUlBZ3NBQXNpQUVIL0FYRWdBRUVBU0JzaEZ5QUpRUUpxQ3lFWklBWWhBQ0FDSUJjZ0dXcHFJZ0pCNUFCTEJFQWdBa0VDZEJCRUlnQWhBaUFBQkVBZ0FDRVBJQUloR0FVUUFBc0ZJQUFoRHdzZ0R5QUdRYUFIYWlBR1Fad0hhaUFES0FJRUlBd2dDMEVDZENBTWFpQVNJQk1nRkNBVktBSUFJQllvQWdBZ0NpQUhJQWdnQ1JDaUJDQUdJQUVvQWdBMkFwZ0hJQVlvQXFBSElRQWdCaWdDbkFjaEFTQU5JQVlvQXBnSE5nSUFJQTBnRHlBQUlBRWdBeUFFRUtVQklSb2dHQVJBSUJnUU9Bc2dDQkJISUFjUVJ5QUtFRWNnRGhBOElCQUVRQ0FRRURnTElCRUVRQ0FSRURnTElBWWtCaUFhQzd3RkFSSi9Jd1loQmlNR1FiQUJhaVFHSUFaQm1BRnFJZ3NnQXhBN0lBdEJnTTRERURvaERDQUZMQUFMSWdkQkFFZ2hBQ0FGS0FJRUlBZEIvd0Z4SUFBYkJIOGdCU2dDQUNBRklBQWJMUUFBSUF4QkxTQU1LQUlBS0FJY1FUOXhRWW9CYWhFQ0FFSC9BWEZHQlVFQUN5RU9JQVpCcEFGcUlROGdCa0doQVdvaEVDQUdRYUFCYWlFUklBWkJnQUZxSVFjZ0JrSDBBR29oQ0NBR1FmQUFhaUVKSUFaQmpBRnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRGlBTElBOGdFQ0FSSUFvZ0J5QUlJQWtRcFFRZ0JTd0FDeUlBUVFCSUlSSWdCU2dDQkNBQVFmOEJjU0FTR3lJVElBa29BZ0FpQ1VvRWZ5QUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFGcUlCTWdDV3RCQVhScUJTQUhLQUlFSUFjc0FBc2lBRUgvQVhFZ0FFRUFTQnNoQWlBSUtBSUVJQWdzQUFzaUFFSC9BWEVnQUVFQVNCc2hGQ0FKUVFKcUN5RVdJQVloQUNBQ0lCUWdGbXBxSWdKQjVBQkxCRUFnQWhCRUlnQWhBaUFBQkVBZ0FDRU5JQUloRlFVUUFBc0ZJQUFoRFFzZ0RTQUdRZXdBYWlBR1FlZ0FhaUFES0FJRUlBVW9BZ0FnQlNBU0d5SUFJQUFnRTJvZ0RDQU9JQThnRUN3QUFDQVJMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdKa0lBWW9BbXdoQUNBR0tBSm9JUUVnQmtHY0FXb2lBaUFHS0FKa05nSUFJQUlnRFNBQUlBRWdBeUFFRUpjQklSY2dGUVJBSUJVUU9Bc2dDQkJISUFjUVJ5QUtFRWNnQ3hBOElBWWtCaUFYQzY4R0FSVi9Jd1loQmlNR1FhQURhaVFHSUFaQnlBSnFJUWdnQmtId0FHb2hBQ0FHUVpBRGFpSUpJQVpCNEFGcUlnYzJBZ0FnQmtIUUFtb2lEU0FGT1FNQUlBZEI1QUJCMHA0RElBMFFvd0lpQjBIakFFc0VRQkJjSVFBZ0NDQUZPUU1BSUFrZ0FFSFNuZ01nQ0JDYkFTRUFJQWtvQWdBaUNFVUVRQkFBQ3lBQUVFUWlCeUVLSUFjRVFDQUhJUXdnQUNFTElBb2hFQ0FJSVJFRkVBQUxCU0FBSVF3Z0J5RUxDeUFHUVl3RGFpSU9JQU1RT3lBT1FZRE9BeEE2SWhJb0FnQW9BaUFoQUNBU0lBa29BZ0FpQnlBSElBdHFJQXdnQUVFUGNVR0tBbW9SQ1FBYUlBc0VmeUFKS0FJQUxBQUFRUzFHQlVFQUN5RVRJQVpCbUFOcUlSUWdCa0dWQTJvaEZTQUdRWlFEYWlFV0lBWkI5QUpxSVFjZ0JrSG9BbW9oQ0NBR1FlUUNhaUVKSUFaQmdBTnFJZ3BDQURjQ0FDQUtRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBZENBRGNDQUNBSFFRQTJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQjJwQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFoQ0FEY0NBQ0FJUVFBMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDR3BCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQUlnRXlBT0lCUWdGU0FXSUFvZ0J5QUlJQWtRcFFRZ0N5QUpLQUlBSWdsS0JIOGdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQmFpQUxJQWxyUVFGMGFnVWdCeWdDQkNBSExBQUxJZ0JCL3dGeElBQkJBRWdiSVFJZ0NDZ0NCQ0FJTEFBTElnQkIvd0Z4SUFCQkFFZ2JJUmNnQ1VFQ2Fnc2hHU0FHSVFBZ0FpQVhJQmxxYWlJQ1FlUUFTd1JBSUFJUVJDSUFJUUlnQUFSQUlBQWhEeUFDSVJnRkVBQUxCU0FBSVE4TElBOGdCa0hnQW1vZ0JrSGNBbW9nQXlnQ0JDQU1JQXNnREdvZ0VpQVRJQlFnRlN3QUFDQVdMQUFBSUFvZ0J5QUlJQWtRcEFRZ0JpQUJLQUlBTmdMWUFpQUdLQUxnQWlFQUlBWW9BdHdDSVFFZ0RTQUdLQUxZQWpZQ0FDQU5JQThnQUNBQklBTWdCQkNYQVNFYUlCZ0VRQ0FZRURnTElBZ1FSeUFIRUVjZ0NoQkhJQTRRUENBUUJFQWdFQkE0Q3lBUkJFQWdFUkE0Q3lBR0pBWWdHZ3ZsQmdFR2Z5TUdJUW9qQmtFUWFpUUdJQUFFZnlBQlFmalBBeEE2SWdFb0FnQW9BaXdGSUFGQjhNOERFRG9pQVNnQ0FDZ0NMQXNoQUNBS1FReHFJZ3NnQVNBQVFUOXhRYklGYWhFREFDQUNJQXNvQWdBMkFBQWdDaUFCSUFFb0FnQW9BaUJCUDNGQnNnVnFFUU1BSUFnc0FBdEJBRWdFUUFKL0lBZ29BZ0FoRENBTFFRQTJBZ0FnREFzZ0N4QnVJQWhCQURZQ0JDQUlMQUFMUVFCSUJFQWdDQ2dDQ0JvZ0NDZ0NBQkE0SUFoQkFEWUNDQXNGSUF0QkFEWUNBQ0FJSUFzUWJpQUlRUUE2QUFzTElBZ2dDaWtDQURjQ0FDQUlJQW9vQWdnMkFnaEJBQ0VBQTBBZ0FFRURSd1JBSUFCQkFuUWdDbXBCQURZQ0FDQUFRUUZxSVFBTUFRc0xJQW9RUnlBS0lBRWdBU2dDQUNnQ0hFRS9jVUd5QldvUkF3QWdCeXdBQzBFQVNBUkFBbjhnQnlnQ0FDRU5JQXRCQURZQ0FDQU5DeUFMRUc0Z0IwRUFOZ0lFSUFjc0FBdEJBRWdFUUNBSEtBSUlHaUFIS0FJQUVEZ2dCMEVBTmdJSUN3VWdDMEVBTmdJQUlBY2dDeEJ1SUFkQkFEb0FDd3NnQnlBS0tRSUFOd0lBSUFjZ0NpZ0NDRFlDQ0VFQUlRQURRQ0FBUVFOSEJFQWdBRUVDZENBS2FrRUFOZ0lBSUFCQkFXb2hBQXdCQ3dzZ0NoQkhJQU1nQVNBQktBSUFLQUlNUWY4QWNVRUlhaEVBQURZQ0FDQUVJQUVnQVNnQ0FDZ0NFRUgvQUhGQkNHb1JBQUEyQWdBZ0NpQUJJQUVvQWdBb0FoUkJQM0ZCc2dWcUVRTUFJQVVzQUF0QkFFZ0VRQUovSUFVb0FnQWhEaUFMUVFBNkFBQWdEZ3NnQ3hCZklBVkJBRFlDQkNBRkxBQUxRUUJJQkVBZ0JTZ0NDQm9nQlNnQ0FCQTRJQVZCQURZQ0NBc0ZJQXRCQURvQUFDQUZJQXNRWHlBRlFRQTZBQXNMSUFVZ0Npa0NBRGNDQUNBRklBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDR0VFL2NVR3lCV29SQXdBZ0Jpd0FDMEVBU0FSQUFuOGdCaWdDQUNFUElBdEJBRFlDQUNBUEN5QUxFRzRnQmtFQU5nSUVJQVlzQUF0QkFFZ0VRQ0FHS0FJSUdpQUdLQUlBRURnZ0JrRUFOZ0lJQ3dVZ0MwRUFOZ0lBSUFZZ0N4QnVJQVpCQURvQUN3c2dCaUFLS1FJQU53SUFJQVlnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBa2dBU0FCS0FJQUtBSWtRZjhBY1VFSWFoRUFBRFlDQUNBS0pBWUwyUUlCQjM4akJpRURJd1pCRUdva0JpQUFMQUFMSWdaQkFFZ2lCd1IvSUFBb0FnaEIvLy8vL3dkeFFYOXFJUVFnQUNnQ0JBVkJBU0VFSUFaQi93RnhDeUVGSUFJZ0FXc2lDRUVDZFNFSklBZ0VRQUpBSUFjRWZ5QUFLQUlFSVFZZ0FDZ0NBQVVnQmtIL0FYRWhCaUFBQ3lJSElRZ2dBU0FHUVFKMElBZHFTU0FJSUFGTmNRUkFJQU5DQURjQ0FDQURRUUEyQWdnZ0F5QUJJQUlReHdRZ0FDQURLQUlBSUFNZ0F5d0FDeUlBUVFCSUlnRWJJQU1vQWdRZ0FFSC9BWEVnQVJzUTRRa2dBeEJIREFFTElBUWdCV3NnQ1VrRVFDQUFJQVFnQlNBSmFpQUVheUFGSUFVUWtRUUxJQUFzQUF0QkFFZ0VmeUFBS0FJQUJTQUFDeUFGUVFKMGFpRUVBMEFnQVNBQ1J3UkFJQVFnQVJCdUlBUkJCR29oQkNBQlFRUnFJUUVNQVFzTElBTkJBRFlDQUNBRUlBTVFiaUFGSUFscUlRRWdBQ3dBQzBFQVNBUkFJQUFnQVRZQ0JBVWdBQ0FCT2dBTEN3c0xJQU1rQmd1d0JBRUlmeU1HSVFBakJrR3dBMm9rQmlBQVFhQURhaUlJSUFBMkFnQWdDRUdSQVRZQ0JDQUFRWkFEYWlJTElBUVFPeUFMUWFET0F4QTZJUWNnQUVHc0Eyb2lDa0VBT2dBQUlBQWdBaWdDQUNJSk5nS1VBeUFFS0FJRUlRd2dBRUdvQTJvaUJDQUFLQUtVQXpZQ0FDQUJJQVFnQXlBTElBd2dCU0FLSUFjZ0NDQUFRWmdEYWlBQVFaQURhaENtQkFSQUlBWXNBQXRCQUVnRVFBSi9JQVlvQWdBaERTQUVRUUEyQWdBZ0RRc2dCQkJ1SUFaQkFEWUNCQVVnQkVFQU5nSUFJQVlnQkJCdUlBWkJBRG9BQ3dzZ0Npd0FBQVJBSUFZZ0IwRXRJQWNvQWdBb0FpeEJQM0ZCaWdGcUVRSUFFSTRDQ3lBSFFUQWdCeWdDQUNnQ0xFRS9jVUdLQVdvUkFnQWhCQ0FBS0FLWUF5SUhRWHhxSVFvZ0NDZ0NBQ0VEQTBBQ1FDQURJQXBQRFFBZ0F5Z0NBQ0FFUncwQUlBTkJCR29oQXd3QkN3c2dCaUFESUFjUXJBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFGQkFEWUNBRUVCQlNBQktBSUFSUXNGUVFFTElRTUNRQUpBQWtBZ0NVVU5BQ0FKS0FJTUlnUWdDU2dDRUVZRWZ5QUpJQWtvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQ1FRQTJBZ0FNQVFVZ0EwVU5BZ3NNQWdzZ0F3MEFEQUVMSUFVZ0JTZ0NBRUVDY2pZQ0FBc2dBU2dDQUNFT0lBc1FQQ0FJS0FJQUlRRWdDRUVBTmdJQUlBRUVRQ0FCSUFnb0FnUkIvd0Z4UWF3RGFoRUJBQXNnQUNRR0lBNExvQVVCQzM4akJpRUhJd1pCMEFScUpBWWdCMEdvQkdvaERpQUhJUThnQjBHNEJHb2lDU0FIUWZBQWFpSUtOZ0lBSUFsQmtRRTJBZ1FnQjBHd0JHb2lEU0FFRURzZ0RVR2d6Z01RT2lFQUlBZEJ3QVJxSWd4QkFEb0FBQ0FISUFJb0FnQTJBcXdFSUFRb0FnUWhDeUFIUVlBRWFpSUVJQWNvQXF3RU5nSUFJQUVnQkNBRElBMGdDeUFGSUF3Z0FDQUpJQWRCdEFScUlBcEJrQU5xRUtZRUJFQWdBRUhvblFOQjhwMERJQVFnQUNnQ0FDZ0NNRUVQY1VHS0Ftb1JDUUFhSUFjb0FyUUVJZ3NnQ1NnQ0FDSUtheUlBUVlnRFNnUkFJQUJCQW5aQkFtb1FSQ0lBSVFNZ0FBUkFJQUFoQ0NBRElSQUZFQUFMQlNBUElRZ0xJQXdzQUFBRVFDQUlRUzA2QUFBZ0NFRUJhaUVJQ3lBRVFTaHFJUU1nQkNFTUEwQWdDaUFMU1FSQUlBb29BZ0FoQ3lBRUlRQURRQUpBSUFBZ0EwWUVRQ0FESVFBTUFRc2dBQ2dDQUNBTFJ3UkFJQUJCQkdvaEFBd0NDd3NMSUFnZ0FDQU1hMEVDZFVIb25RTnFMQUFBT2dBQUlBcEJCR29oQ2lBSVFRRnFJUWdnQnlnQ3RBUWhDd3dCQ3dzZ0NFRUFPZ0FBSUE0Z0JqWUNBQ0FQUVlXZEF5QU9FSU1CUVFGSEJFQVFBQXNnRUFSQUlCQVFPQXNMSUFFb0FnQWlBQVIvSUFBb0Fnd2lBeUFBS0FJUVJnUi9JQUFnQUNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSL0lBRkJBRFlDQUVFQkJTQUJLQUlBUlFzRlFRRUxJUU1DUUFKQUFrQWdBaWdDQUNJQVJRMEFJQUFvQWd3aUJDQUFLQUlRUmdSL0lBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBRFJRMENDd3dDQ3lBRERRQU1BUXNnQlNBRktBSUFRUUp5TmdJQUN5QUJLQUlBSVJFZ0RSQThJQWtvQWdBaEFDQUpRUUEyQWdBZ0FBUkFJQUFnQ1NnQ0JFSC9BWEZCckFOcUVRRUFDeUFISkFZZ0VRdmxCZ0VHZnlNR0lRb2pCa0VRYWlRR0lBQUVmeUFCUWVqUEF4QTZJZ0VvQWdBb0Fpd0ZJQUZCNE04REVEb2lBU2dDQUNnQ0xBc2hBQ0FLUVF4cUlnc2dBU0FBUVQ5eFFiSUZhaEVEQUNBQ0lBc29BZ0EyQUFBZ0NpQUJJQUVvQWdBb0FpQkJQM0ZCc2dWcUVRTUFJQWdzQUF0QkFFZ0VRQUovSUFnb0FnQWhEQ0FMUVFBNkFBQWdEQXNnQ3hCZklBaEJBRFlDQkNBSUxBQUxRUUJJQkVBZ0NDZ0NDQm9nQ0NnQ0FCQTRJQWhCQURZQ0NBc0ZJQXRCQURvQUFDQUlJQXNRWHlBSVFRQTZBQXNMSUFnZ0Npa0NBRGNDQUNBSUlBb29BZ2cyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0NtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBb1FSeUFLSUFFZ0FTZ0NBQ2dDSEVFL2NVR3lCV29SQXdBZ0J5d0FDMEVBU0FSQUFuOGdCeWdDQUNFTklBdEJBRG9BQUNBTkN5QUxFRjhnQjBFQU5nSUVJQWNzQUF0QkFFZ0VRQ0FIS0FJSUdpQUhLQUlBRURnZ0IwRUFOZ0lJQ3dVZ0MwRUFPZ0FBSUFjZ0N4QmZJQWRCQURvQUN3c2dCeUFLS1FJQU53SUFJQWNnQ2lnQ0NEWUNDRUVBSVFBRFFDQUFRUU5IQkVBZ0FFRUNkQ0FLYWtFQU5nSUFJQUJCQVdvaEFBd0JDd3NnQ2hCSElBTWdBU0FCS0FJQUtBSU1RZjhBY1VFSWFoRUFBRG9BQUNBRUlBRWdBU2dDQUNnQ0VFSC9BSEZCQ0dvUkFBQTZBQUFnQ2lBQklBRW9BZ0FvQWhSQlAzRkJzZ1ZxRVFNQUlBVXNBQXRCQUVnRVFBSi9JQVVvQWdBaERpQUxRUUE2QUFBZ0Rnc2dDeEJmSUFWQkFEWUNCQ0FGTEFBTFFRQklCRUFnQlNnQ0NCb2dCU2dDQUJBNElBVkJBRFlDQ0FzRklBdEJBRG9BQUNBRklBc1FYeUFGUVFBNkFBc0xJQVVnQ2lrQ0FEY0NBQ0FGSUFvb0FnZzJBZ2hCQUNFQUEwQWdBRUVEUndSQUlBQkJBblFnQ21wQkFEWUNBQ0FBUVFGcUlRQU1BUXNMSUFvUVJ5QUtJQUVnQVNnQ0FDZ0NHRUUvY1VHeUJXb1JBd0FnQml3QUMwRUFTQVJBQW44Z0JpZ0NBQ0VQSUF0QkFEb0FBQ0FQQ3lBTEVGOGdCa0VBTmdJRUlBWXNBQXRCQUVnRVFDQUdLQUlJR2lBR0tBSUFFRGdnQmtFQU5nSUlDd1VnQzBFQU9nQUFJQVlnQ3hCZklBWkJBRG9BQ3dzZ0JpQUtLUUlBTndJQUlBWWdDaWdDQ0RZQ0NFRUFJUUFEUUNBQVFRTkhCRUFnQUVFQ2RDQUtha0VBTmdJQUlBQkJBV29oQUF3QkN3c2dDaEJISUFrZ0FTQUJLQUlBS0FJa1FmOEFjVUVJYWhFQUFEWUNBQ0FLSkFZTDJ3SUJCMzhqQmlFREl3WkJFR29rQmlBQUxBQUxJZ1ZCQUVnaUJ3Ui9JQUFvQWdoQi8vLy8vd2R4UVg5cUlRUWdBQ2dDQkFWQkNpRUVJQVZCL3dGeEN5RUdJQUlnQVdzaUNBUkFBa0FnQndSL0lBQW9BZ1FoQlNBQUtBSUFCU0FGUWY4QmNTRUZJQUFMSWdjaENTQUJJQVVnQjJwSklBa2dBVTF4QkVBZ0EwSUFOd0lBSUFOQkFEWUNDQ0FESUFFZ0FoRCtBeUFBSUFNb0FnQWdBeUFETEFBTElnQkJBRWdpQVJzZ0F5Z0NCQ0FBUWY4QmNTQUJHeERqQ1NBREVFY01BUXNnQkNBR2F5QUlTUVJBSUFBZ0JDQUdJQWhxSUFScklBWWdCaERkQWdzZ0FpQUdJQUZyYWlFSElBWWdBQ3dBQzBFQVNBUi9JQUFvQWdBRklBQUxJZ1ZxSVFRRFFDQUJJQUpIQkVBZ0JDQUJFRjhnQkVFQmFpRUVJQUZCQVdvaEFRd0JDd3NnQTBFQU9nQUFJQVVnQjJvZ0F4QmZJQVlnQ0dvaEFTQUFMQUFMUVFCSUJFQWdBQ0FCTmdJRUJTQUFJQUU2QUFzTEN3c2dBeVFHQzdVRUFRaC9Jd1loQUNNR1FZQUJhaVFHSUFCQjhBQnFJZ2dnQURZQ0FDQUlRWkVCTmdJRUlBQkI1QUJxSWdzZ0JCQTdJQXRCZ000REVEb2hCeUFBUWZ3QWFpSUtRUUE2QUFBZ0FDQUNLQUlBSWdrMkFtZ2dCQ2dDQkNFTUlBQkIrQUJxSWdRZ0FDZ0NhRFlDQUNBQklBUWdBeUFMSUF3Z0JTQUtJQWNnQ0NBQVFld0FhaUFBUWVRQWFoQ29CQVJBSUFZc0FBdEJBRWdFUUFKL0lBWW9BZ0FoRFNBRVFRQTZBQUFnRFFzZ0JCQmZJQVpCQURZQ0JBVWdCRUVBT2dBQUlBWWdCQkJmSUFaQkFEb0FDd3NnQ2l3QUFBUkFJQVlnQjBFdElBY29BZ0FvQWh4QlAzRkJpZ0ZxRVFJQUVNd0JDeUFIUVRBZ0J5Z0NBQ2dDSEVFL2NVR0tBV29SQWdBaEJDQUFLQUpzSWdkQmYyb2hDaUFJS0FJQUlRTURRQUpBSUFNZ0NrOE5BQ0FETFFBQUlBUkIvd0Z4UncwQUlBTkJBV29oQXd3QkN3c2dCaUFESUFjUXNBb0xJQUVvQWdBaUF3Ui9JQU1vQWd3aUJDQURLQUlRUmdSL0lBTWdBeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkg4Z0FVRUFOZ0lBUVFFRklBRW9BZ0JGQ3dWQkFRc2hBd0pBQWtBQ1FDQUpSUTBBSUFrb0Fnd2lCQ0FKS0FJUVJnUi9JQWtnQ1NnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBa0VBTmdJQURBRUZJQU5GRFFJTERBSUxJQU1OQUF3QkN5QUZJQVVvQWdCQkFuSTJBZ0FMSUFFb0FnQWhEaUFMRUR3Z0NDZ0NBQ0VCSUFoQkFEWUNBQ0FCQkVBZ0FTQUlLQUlFUWY4QmNVR3NBMm9SQVFBTElBQWtCaUFPQy9zVEFoRi9BWHdqQmlFVUl3WkJFR29rQmlBVUlSQWdBVUVDRURraERTQUNRUUlRT1NFUElBUW9BZ0FpQnlFQ0lBMGdEMEYvYWlJUmJFRUJkQ0FIYWlFRkEwQWdDeUFOU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnQWtFQ2FpRUNJQVZCQW1vaEJTQUxRUUZxSVFzTUFRc0xJQWNoQWlBTlFYOXFJaEpCQVhRZ0Iyb2hCVUVBSVFzRFFDQUxJQTlJQkVBZ0JVRUFPd0VBSUFKQkFEc0JBQ0FOUVFGMElBSnFJUUlnRFVFQmRDQUZhaUVGSUF0QkFXb2hDd3dCQ3dzZ0JFR1FnTWdBYWlFQ1FRQWdEV3NoRXlBQUlBRkJBWFJCQW1wcUlRNUJBU0VNUVFBaEJTQU5RUUZxSWdBZ0JDZ0NCR29oQ3lBQVFRRjBJQWRxSVFjQ2Z3SkFBMEFDUUNBTUlCRk9EUUlnQlNFQVFRRWhDUU5BSUFrZ0VrZ0VRQ0FPTFFBQUlBTktCRUFDUUNBTFFYODZBQUFnRTBFQmRDQUhhaUlGTGdFQUlnWkJBRW9FUUNBSElBWTdBUUFnQmtFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BUXNnQlVGK2FpNEJBQ0lHSVFnZ0JrRUFTaUVLSUFVdUFRSWlCVUVBVEFSQUlBb0VRQ0FISUFZN0FRQWdDRUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1lvQWdBZ0NVZ0VRQ0FHSUFrMkFnQUxJQVZCQW5RZ0JHcEJqSURRQUdvZ0REWUNBQXdDQ3lBSFFYNXFMZ0VBSWdWQkFFb0VRQ0FISUFVN0FRQWdCVUVIYkNJRlFRSjBJQVJxUWZUL3p3QnFJZ1lnQmlnQ0FFRUJhallDQUNBRlFRSjBJQVJxUWZqL3p3QnFJZ1lnQ1NBR0tBSUFhallDQUNBRlFRSjBJQVJxUWZ6L3p3QnFJZ1lnRENBR0tBSUFhallDQUNBRlFRSjBJQVJxUVlTQTBBQnFJZ1VvQWdBZ0NVNE5BaUFGSUFrMkFnQUZJQUJCLy84QlNnMEdJQWNnQUVFQmFpSUZPd0VBSUFSQmtJRElBR29nQUVFQ2RHb2dCVUVRZEVFUWRUWUNBQ0FFUVpDQTBBQnFJQUJCQjJ3aUFFRUNkR3BCQVRZQ0FDQUFRUUowSUFScVFaU0EwQUJxSUFrMkFnQWdBRUVDZENBRWFrR1lnTkFBYWlBTU5nSUFJQUJCQW5RZ0JHcEJuSURRQUdvZ0NUWUNBQ0FBUVFKMElBUnFRYUNBMEFCcUlBazJBZ0FnQUVFQ2RDQUVha0drZ05BQWFpQU1OZ0lBSUFCQkFuUWdCR3BCcUlEUUFHb2dERFlDQUNBRklRQUxEQUVMSUFvRVFBSkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FJUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCaUFNSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN5QUhRWDVxTGdFQUlnWkJBRXdFUUNBSElBVTdBUUFnQlVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RDQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZQ0EwQUJxSWdZb0FnQWdDVW9FUUNBR0lBazJBZ0FMSUFWQkFuUWdCR3BCaklEUUFHb2dERFlDQUF3QkN3SkFJQVZCQW5RZ0JHcEJqSURJQUdvb0FnQWlCU0FHUVFKMElBUnFRWXlBeUFCcUtBSUFJZ1pLQkVBZ0J5QUdPd0VBSUFJaENFRUFJUW9EUUNBS0lBQk9CRUFnQmlFRkRBTUxJQVVnQ0NnQ0FFWUVRQ0FJSUFZMkFnQUxJQWhCQkdvaENDQUtRUUZxSVFvTUFBQUxBQVVnQnlBRk93RUFJQVVnQmtnRVFDQUNJUWhCQUNFS0EwQWdDaUFBVGcwRElBWWdDQ2dDQUVZRVFDQUlJQVUyQWdBTElBaEJCR29oQ0NBS1FRRnFJUW9NQUFBTEFBc0xDeUFGUVJCMFFSQjFRUWRzSWdWQkFuUWdCR3BCOVAvUEFHb2lCaUFHS0FJQVFRRnFOZ0lBSUFWQkFuUWdCR3BCK1AvUEFHb2lCaUFKSUFZb0FnQnFOZ0lBSUFWQkFuUWdCR3BCL1AvUEFHb2lCU0FNSUFVb0FnQnFOZ0lBQ3dVZ0IwRUFPd0VBSUF0QkFEb0FBQXNnRGtFQ2FpRU9JQXRCQVdvaEN5QUpRUUZxSVFrZ0IwRUNhaUVIREFFTEN5QUJJQTVxUVFScUlRNGdERUVCYWlFTUlBQWhCU0FMUVFKcUlRc2dCMEVFYWlFSERBRUxDMEVBUVFOQnFLVUJJQkFRUFVGL0RBRUxJQVJCREdvaEIwRUJJUUJCQVNFREEwQWdBeUFGVEFSQUlBTWdBaWdDQUNJTFJnUkFJQUJCQVdvaEFRVWdBQ0VCSUF0QkFuUWdCR3BCaklESUFHb29BZ0FoQUFzZ0FpQUFOZ0lBSUFFaEFDQURRUUZxSVFNZ0FrRUVhaUVDREFFTEN5QUVJQUJCZjJvaUFEWUNDQ0FBQkg4Z0IwRUFJQUJCQW5RUVJSb2dCRUdRZ0NocVFRQWdBRUVFZEJCRkdrRUFJUUVEUUNBQklBQklCRUFnQkVHTWdBaHFJQUZCQW5RaUFrRUNkR29nRFRZQ0FDQUVRWXlBQ0dvZ0FrRUJja0VDZEdwQkFEWUNBQ0FFUVl5QUNHb2dBa0VDY2tFQ2RHb2dEellDQUNBRVFZeUFDR29nQWtFRGNrRUNkR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xRUUFoQVFOQUlBRWdCVWdFUUNBRVFReHFJQVJCa0lESUFHb2dBVUVDZEdvb0FnQkJmMm9pQWtFQ2RHb2lBeUFFUVpDQTBBQnFJQUZCQjJ3aUFFRUNkR29vQWdBZ0F5Z0NBR28yQWdBZ0JFR1FnQ2hxSUFKQkFYUWlBMEVEZEdvaUJ5QUhLd01BSUFCQkFuUWdCR3BCbElEUUFHb29BZ0Mzb0RrREFDQUVRWkNBS0dvZ0EwRUJja0VEZEdvaUF5QURLd01BSUFCQkFuUWdCR3BCbUlEUUFHb29BZ0Mzb0RrREFDQUVRWXlBQ0dvZ0FrRUNkQ0lDUVFKMGFpSURLQUlBSUFCQkFuUWdCR3BCbklEUUFHb29BZ0FpQjBvRVFDQURJQWMyQWdBTElBUkJqSUFJYWlBQ1FRRnlRUUowYWlJREtBSUFJQUJCQW5RZ0JHcEJvSURRQUdvb0FnQWlCMGdFUUNBRElBYzJBZ0FMSUFSQmpJQUlhaUFDUVFKeVFRSjBhaUlES0FJQUlBQkJBblFnQkdwQnBJRFFBR29vQWdBaUIwb0VRQ0FESUFjMkFnQUxJQVJCaklBSWFpQUNRUU55UVFKMGFpSUNLQUlBSUFCQkFuUWdCR3BCcUlEUUFHb29BZ0FpQUVnRVFDQUNJQUEyQWdBTElBRkJBV29oQVF3QkN3c2dCQ2dDQ0NFQlFRQWhBQU4vSUFBZ0FVZ0VmeUFFUVpDQUtHb2dBRUVCZENJQ1FRTjBhaUlESUFNckF3QWdCRUVNYWlBQVFRSjBhaWdDQUxjaUZxTTVBd0FnQkVHUWdDaHFJQUpCQVhKQkEzUnFJZ0lnQWlzREFDQVdvemtEQUNBQVFRRnFJUUFNQVFWQkFBc0xCVUVBQ3dzaEZTQVFKQVlnRlF1ZUJRRUxmeU1HSVFjakJrR0FBbW9rQmlBSFFkZ0JhaUVPSUFjaER5QUhRZWdCYWlJSklBZEI4QUJxSWdvMkFnQWdDVUdSQVRZQ0JDQUhRZUFCYWlJTklBUVFPeUFOUVlET0F4QTZJUUFnQjBINkFXb2lERUVBT2dBQUlBY2dBaWdDQURZQzNBRWdCQ2dDQkNFTElBZEI4QUZxSWdRZ0J5Z0MzQUUyQWdBZ0FTQUVJQU1nRFNBTElBVWdEQ0FBSUFrZ0IwSGtBV29nQ2tIa0FHb1FxQVFFUUNBQVFmcWNBMEdFblFNZ0JDQUFLQUlBS0FJZ1FROXhRWW9DYWhFSkFCb2dCeWdDNUFFaUN5QUpLQUlBSWdwcklnQkI0Z0JLQkVBZ0FFRUNhaEJFSWdBaEF5QUFCRUFnQUNFSUlBTWhFQVVRQUFzRklBOGhDQXNnREN3QUFBUkFJQWhCTFRvQUFDQUlRUUZxSVFnTElBUkJDbW9oQXlBRUlRd0RRQ0FLSUF0SkJFQWdDaXdBQUNFTElBUWhBQU5BQWtBZ0FDQURSZ1JBSUFNaEFBd0JDeUFBTEFBQUlBdEhCRUFnQUVFQmFpRUFEQUlMQ3dzZ0NDQUFJQXhyUWZxY0Eyb3NBQUE2QUFBZ0NrRUJhaUVLSUFoQkFXb2hDQ0FIS0FMa0FTRUxEQUVMQ3lBSVFRQTZBQUFnRGlBR05nSUFJQTlCaFowRElBNFFnd0ZCQVVjRVFCQUFDeUFRQkVBZ0VCQTRDd3NnQVNnQ0FDSUFCSDhnQUNnQ0RDSURJQUFvQWhCR0JIOGdBQ0FBS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQXl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVWdBU2dDQUVVTEJVRUJDeUVEQWtBQ1FBSkFJQUlvQWdBaUFFVU5BQ0FBS0FJTUlnUWdBQ2dDRUVZRWZ5QUFJQUFvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQURSUTBDQ3d3Q0N5QUREUUFNQVFzZ0JTQUZLQUlBUVFKeU5nSUFDeUFCS0FJQUlSRWdEUkE4SUFrb0FnQWhBQ0FKUVFBMkFnQWdBQVJBSUFBZ0NTZ0NCRUgvQVhGQnJBTnFFUUVBQ3lBSEpBWWdFUXVUQVFFQ2Z5TUdJUVlqQmtHQUFXb2tCaUFHUWZRQWFpSUhJQVpCNUFCcU5nSUFJQUFnQmlBSElBTWdCQ0FGRUt3RUlBWkI2QUJxSWdOQ0FEY0RBQ0FHUWZBQWFpSUVJQVkyQWdBZ0FpZ0NBQ0FCYTBFQ2RTRUZJQUFvQWdBUVlpRUFJQUVnQkNBRklBTVEvZ0loQXlBQUJFQWdBQkJpR2dzZ0EwRi9SZ1JBRUFBRklBSWdBMEVDZENBQmFqWUNBQ0FHSkFZTEM3RUJBQ01HSVFJakJrR2dBMm9rQmlBQ1FaQURhaUlESUFKQmtBTnFOZ0lBSUFCQkNHb2dBaUFESUFRZ0JTQUdFTFFLSUFNb0FnQWhCU0FDSVFNZ0FTZ0NBQ0VBQTBBZ0F5QUZSd1JBSUFNb0FnQWhBU0FBQkg5QkFDQUFJQUFvQWhnaUJDQUFLQUljUmdSL0lBQWdBU0FBS0FJQUtBSTBRVDl4UVlvQmFoRUNBQVVnQUNBRVFRUnFOZ0lZSUFRZ0FUWUNBQ0FCQzBGL0VFRWJCVUVBQ3lFQUlBTkJCR29oQXd3QkN3c2dBaVFHSUFBTHVRRUFJd1loQWlNR1FmQUFhaVFHSUFKQjVBQnFJZ01nQWtIa0FHbzJBZ0FnQUVFSWFpQUNJQU1nQkNBRklBWVFyQVFnQXlnQ0FDRUZJQUloQXlBQktBSUFJUUFEUUNBRElBVkhCRUFnQXl3QUFDRUJJQUFFZjBFQUlBQWdBQ2dDR0NJRUlBQW9BaHhHQkg4Z0FDZ0NBQ2dDTkNFRUlBQWdBUkJDSUFSQlAzRkJpZ0ZxRVFJQUJTQUFJQVJCQVdvMkFoZ2dCQ0FCT2dBQUlBRVFRZ3RCZnhCQkd3VkJBQXNoQUNBRFFRRnFJUU1NQVFzTElBSWtCaUFBQzQwRUFRTi9JQUFvQWdBaUJBUi9JQVFvQWd3aUJTQUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVVvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBQWtBZ0FTZ0NBQ0lFQkVBZ0JDZ0NEQ0lHSUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JpZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQUJTQUZCRUFNQkFVTUF3c0FDd3NnQlVVRVFFRUFJUVFNQWdzTElBSWdBaWdDQUVFR2NqWUNBQXdCQ3lBRElBQW9BZ0FpQlNnQ0RDSUdJQVVvQWhCR0JIOGdCU0FGS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJBQ0FES0FJQUtBSTBRVDl4UWNvQmFoRUVBRUgvQVhGQkpVY0VRQ0FDSUFJb0FnQkJCSEkyQWdBTUFRc2dBQ2dDQUNJREtBSU1JZ1VnQXlnQ0VFWUVRQ0FESUFNb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0F5QUZRUVJxTmdJTUlBVW9BZ0FhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRktBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVWdBQ2dDQUVVTEJVRUJDeUVBQWtBQ1FDQUVSUTBBSUFRb0Fnd2lBeUFFS0FJUVJnUi9JQVFnQkNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFNb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUFEUU1MREFFTElBQkZEUUVMSUFJZ0FpZ0NBRUVDY2pZQ0FBc0xVZ0VCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFRUW1RRWhBU0FES0FJQVFRUnhSUVJBSUFBZ0FVR1VjV28yQWdBTElBVWtCZ3RoQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFSQ1pBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRUhTSEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUMUljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxxd0lCQkh4RUFBQUFBQUFBOEQ4Z0FTc0RHQ0lERU9jRUlnU2hJUUlnQXhEbUJDRURJQUFnQkNBQkt3TUFJZ1VnQmFJZ0FxS2dPUU1BSUFBZ0FpQUJLd01BSUFFckF3aWlvaUFESUFFckF4Q2lvVGtEQ0NBQUlBSWdBU3NEQUNBQkt3TVFvcUlnQXlBQkt3TUlvcUE1QXhBZ0FDQUJLd01nT1FNWUlBQWdBaUFCS3dNSUlBRXJBd0Npb2lBRElBRXJBeENpb0RrRElDQUFJQVFnQWlBQkt3TUlJZ1VnQmFLaW9Ea0RLQ0FBSUFJZ0FTc0RDQ0FCS3dNUW9xSWdBeUFCS3dNQW9xRTVBekFnQUNBQkt3TW9PUU00SUFCQlFHc2dBaUFCS3dNUUlBRXJBd0Npb2lBRElBRXJBd2lpb1RrREFDQUFJQUlnQVNzREVDQUJLd01Jb3FJZ0F5QUJLd01Bb3FBNUEwZ2dBQ0FFSUFJZ0FTc0RFQ0lDSUFLaW9xQTVBMUFnQUNBQkt3TXdPUU5ZQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1ZBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0MvWURBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFRkFrQUNRQ0FCS0FJQUlnUkZEUUFnQkNnQ0RDSUdJQVFvQWhCR0JIOGdCQ0FFS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBVkZEUU1MREFFTElBVUVmMEVBSVFRTUFnVkJBQXNoQkFzZ0EwR0F3QUFnQUNnQ0FDSUZLQUlNSWdZZ0JTZ0NFRVlFZnlBRklBVW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQ3lBREtBSUFLQUlNUVQ5eFFjb0JhaEVFQUVVTkFDQUFLQUlBSWdRb0Fnd2lCU0FFS0FJUVJnUkFJQVFnQkNnQ0FDZ0NLRUgvQUhGQkNHb1JBQUFhQlNBRUlBVkJCR28yQWd3Z0JTZ0NBQm9MREFFTEN5QUFLQUlBSWdNRWZ5QURLQUlNSWdVZ0F5Z0NFRVlFZnlBRElBTW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVVnQUNnQ0FFVUxCVUVCQ3lFQUFrQUNRQUpBSUFSRkRRQWdCQ2dDRENJRElBUW9BaEJHQkg4Z0JDQUVLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBeWdDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFCRkRRSUxEQUlMSUFBTkFBd0JDeUFDSUFJb0FnQkJBbkkyQWdBTEMyRUJBWDhqQmlFRkl3WkJFR29rQmlBRklBSW9BZ0EyQWdBZ0JVRUVhaUlDSUFVb0FnQTJBZ0FnQVNBQ0lBTWdCRUVDRUprQklRRWdBeWdDQUNJQ1FRUnhSU0FCUVR4SWNRUkFJQUFnQVRZQ0FBVWdBeUFDUVFSeU5nSUFDeUFGSkFZTFpBRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUlRbVFFaEFTQURLQUlBSWdKQkJIRkZJQUZCRFVoeEJFQWdBQ0FCUVg5cU5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGlBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQXhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVIdUFraHhCRUFnQUNBQk5nSUFCU0FESUFKQkJISTJBZ0FMSUFVa0JndGtBUUYvSXdZaEJTTUdRUkJxSkFZZ0JTQUNLQUlBTmdJQUlBVkJCR29pQWlBRktBSUFOZ0lBSUFFZ0FpQURJQVJCQWhDWkFTRUJJQU1vQWdBaUFrRUVjVVVnQVVGL2FrRU1TWEVFUUNBQUlBRTJBZ0FGSUFNZ0FrRUVjallDQUFzZ0JTUUdDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKa0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFSaEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1RRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3V3QVFFQ2ZDQUFJQUVyQXdBaUF5QURvaUFCS3dNSUlnSWdBcUtnSUFFckF4QWlBaUFDb3FBaUFrUUFBQUFBQUFBQUFHRUVmQ0FBUkFBQUFBQUFBUEEvT1FNQUlBQkVBQUFBQUFBQUFBQTVBd2hFQUFBQUFBQUFBQUFoQWtRQUFBQUFBQUFBQUFVZ0FDQURJQUtmSWdLak9RTUFJQUFnQVNzRENDQUNvemtEQ0NBQkt3TVFJQUtqQ3prREVDQUFJQUk1QXhnZ0FDQUJLd01ZT1FNZ0lBQWdBU3NESURrREtDQUFJQUVyQXlnNUF6QUw5QUVCQW45QmtNQURMQUFBUlFSQVFaREFBeEJ3QkVCQnNMc0RJUUFEUUNBQVFnQTNBZ0FnQUVFQU5nSUlRUUFoQVFOQUlBRkJBMGNFUUNBQlFRSjBJQUJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDeUFBUVF4cUlnQkIyTHdEUncwQUMwR1F3QU1RYndzTFFiQzdBMEdRbWdFUVZrRzh1d05CckpvQkVGWkJ5THNEUWNpYUFSQldRZFM3QTBIb21nRVFWa0hndXdOQmtKc0JFRlpCN0xzRFFiU2JBUkJXUWZpN0EwSFFtd0VRVmtHRXZBTkI5SnNCRUZaQmtMd0RRWVNjQVJCV1FaeThBMEdVbkFFUVZrR292QU5CcEp3QkVGWkJ0THdEUWJTY0FSQldRY0M4QTBIRW5BRVFWa0hNdkFOQjFKd0JFRllMMkFJQkFuOUJnTUFETEFBQVJRUkFRWURBQXhCd0JFQkJrTGtESVFBRFFDQUFRZ0EzQWdBZ0FFRUFOZ0lJUVFBaEFRTkFJQUZCQTBjRVFDQUJRUUowSUFCcVFRQTJBZ0FnQVVFQmFpRUJEQUVMQ3lBQVFReHFJZ0JCc0xzRFJ3MEFDMEdBd0FNUWJ3c0xRWkM1QTBHSWxnRVFWa0djdVFOQnFKWUJFRlpCcUxrRFFjeVdBUkJXUWJTNUEwSGtsZ0VRVmtIQXVRTkIvSllCRUZaQnpMa0RRWXlYQVJCV1FkaTVBMEdnbHdFUVZrSGt1UU5CdEpjQkVGWkI4TGtEUWRDWEFSQldRZnk1QTBINGx3RVFWa0dJdWdOQm1KZ0JFRlpCbExvRFFieVlBUkJXUWFDNkEwSGdtQUVRVmtHc3VnTkI4SmdCRUZaQnVMb0RRWUNaQVJCV1FjUzZBMEdRbVFFUVZrSFF1Z05CL0pZQkVGWkIzTG9EUWFDWkFSQldRZWk2QTBHd21RRVFWa0gwdWdOQndKa0JFRlpCZ0xzRFFkQ1pBUkJXUVl5N0EwSGdtUUVRVmtHWXV3TkI4SmtCRUZaQnBMc0RRWUNhQVJCV0Mzd0JBbjlCOEw4RExBQUFSUVJBUWZDL0F4QndCRUJCOExnRElRQURRQ0FBUWdBM0FnQWdBRUVBTmdJSVFRQWhBUU5BSUFGQkEwY0VRQ0FCUVFKMElBQnFRUUEyQWdBZ0FVRUJhaUVCREFFTEN5QUFRUXhxSWdCQmlMa0RSdzBBQzBId3Z3TVFid3NMUWZDNEEwSHdsUUVRVmtIOHVBTkIvSlVCRUZZTFJBQkJ5TDhETEFBQVJRUkFRY2kvQXhCd0JFQkJqTThEUWdBM0FnQkJsTThEUVFBMkFnQkJqTThEUWFTVUFVR2tsQUVRdEFFUXl3RkJ5TDhERUc4TEMwR016d01MUkFCQjBMOERMQUFBUlFSQVFkQy9BeEJ3QkVCQm1NOERRZ0EzQWdCQm9NOERRUUEyQWdCQm1NOERRY2lVQVVISWxBRVF0QUVReXdGQjBMOERFRzhMQzBHWXp3TUxSQUJCMkw4RExBQUFSUVJBUWRpL0F4QndCRUJCcE04RFFnQTNBZ0JCck04RFFRQTJBZ0JCcE04RFFleVVBVUhzbEFFUXRBRVF5d0ZCMkw4REVHOExDMEdrendNTFJBQkI0TDhETEFBQVJRUkFRZUMvQXhCd0JFQkJzTThEUWdBM0FnQkJ1TThEUVFBMkFnQkJzTThEUVp5VkFVR2NsUUVRdEFFUXl3RkI0TDhERUc4TEMwR3d6d01MTVFCQjZMOERMQUFBUlFSQVFlaS9BeEJ3QkVBUXh3cEJ2TThEUWZDNEF6WUNBRUhvdndNUWJ3c0xRYnpQQXlnQ0FBc3hBRUg0dndNc0FBQkZCRUJCK0w4REVIQUVRQkRHQ2tIQXp3TkJrTGtETmdJQVFmaS9BeEJ2Q3d0QndNOERLQUlBQ3pFQVFZakFBeXdBQUVVRVFFR0l3QU1RY0FSQUVNVUtRY1RQQTBHd3V3TTJBZ0JCaU1BREVHOExDMEhFendNb0FnQUxnZ3dCQlg4akJpRUhJd1pCa0FGcUpBWWdCMEh3QUdvaENpQUhRVUJySVFzZ0JFRUFOZ0lBSUFkQmdBRnFJZ2dnQXhBN0lBaEJvTTRERURvaENTQUlFRHdDZndKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFJQVpCR0hSQkdIVkJKV3NPVlJZWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjQUFSY0VGd1VYQmdjWEZ4Y0tGeGNYRnc0UEVCY1hGeE1WRnhjWEZ4Y1hGd0FCQWdNREZ4Y0JGd2dYRndrTEZ3d1hEUmNMRnhjUkVoUVhDeUFISUFJb0FnQTJBbndnQ0NBSEtBSjhOZ0lBSUFBZ0JVRVlhaUFCSUFnZ0JDQUpFTEVFREJjTElBY2dBaWdDQURZQ2VDQUlJQWNvQW5nMkFnQWdBQ0FGUVJCcUlBRWdDQ0FFSUFrUXNBUU1GZ3NnQUVFSWFpSUdLQUlBS0FJTUlRa2dCaUFKUWY4QWNVRUlhaEVBQUNFR0lBY2dBU2dDQURZQ2RDQUhJQUlvQWdBMkFtd2dCaWdDQUNBR0lBWXNBQXNpQ1VFQVNDSUxHeUVDSUFZb0FnUWdDVUgvQVhFZ0N4dEJBblFnQW1vaEJpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0FpQUdFS01CTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVNTUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWFEd0FFSEE4QUFRb3dFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCd1BBQVFlRHdBQkNqQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRENDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRCQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEQUNnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSQy9DZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkMrQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1F2UW9NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JDOENnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhnOEFCQmpQRUFFS01CTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRWkR4QUVHazhRQVFvd0UyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRdWdvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkJzUEVBUWREeEFCQ2pBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JDNUNnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnbEJBRWdpQ3hzaEFpQUdLQUlFSUFsQi93RnhJQXNiUVFKMElBSnFJUVlnQ2lBSEtBSVFOZ0lBSUFnZ0J5Z0NERFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZJQUlnQmhDakFUWUNBQXdFQ3lBSElBSW9BZ0EyQWdnZ0NDQUhLQUlJTmdJQUlBVkJGR29nQVNBSUlBUWdDUkN2QkF3REN5QUhJQUlvQWdBMkFnUWdDQ0FIS0FJRU5nSUFJQVZCRkdvZ0FTQUlJQVFnQ1JDNENnd0NDeUFISUFJb0FnQTJBZ0FnQ0NBSEtBSUFOZ0lBSUFFZ0NDQUVJQWtRdHdvTUFRc2dCQ0FFS0FJQVFRUnlOZ0lBQ3lBQktBSUFDeUVNSUFja0JpQU1DMWtCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUZRUlJxSUFFZ0J5QUVJQU1RcndRZ0FTZ0NBQ0VJSUFZa0JpQUlDMXNCQTM4akJpRUdJd1pCRUdva0JpQUdRUVJxSWdjZ0F4QTdJQWRCb000REVEb2hBeUFIRUR3Z0JpQUNLQUlBTmdJQUlBY2dCaWdDQURZQ0FDQUFJQVZCRUdvZ0FTQUhJQVFnQXhDd0JDQUJLQUlBSVFnZ0JpUUdJQWdMV3dFRGZ5TUdJUVlqQmtFUWFpUUdJQVpCQkdvaUJ5QURFRHNnQjBHZ3pnTVFPaUVESUFjUVBDQUdJQUlvQWdBMkFnQWdCeUFHS0FJQU5nSUFJQUFnQlVFWWFpQUJJQWNnQkNBREVMRUVJQUVvQWdBaENDQUdKQVlnQ0F1bkFRRUVmeU1HSVFjakJrRVFhaVFHSUFCQkNHb2lCaWdDQUNnQ0ZDRUlJQVlnQ0VIL0FIRkJDR29SQUFBaEJpQUhJQUVvQWdBMkFnUWdCeUFDS0FJQU5nSUFJQVlvQWdBZ0JpQUdMQUFMSWdKQkFFZ2lDQnNoQVNBR0tBSUVJQUpCL3dGeElBZ2JRUUowSUFGcUlRSWdCMEVJYWlJR0lBY29BZ1EyQWdBZ0IwRU1haUlJSUFjb0FnQTJBZ0FnQUNBR0lBZ2dBeUFFSUFVZ0FTQUNFS01CSVFrZ0J5UUdJQWtMWUFFQ2Z5TUdJUVlqQmtFUWFpUUdJQVlnQVNnQ0FEWUNCQ0FHSUFJb0FnQTJBZ0FnQmtFSWFpSUJJQVlvQWdRMkFnQWdCa0VNYWlJQ0lBWW9BZ0EyQWdBZ0FDQUJJQUlnQXlBRUlBVkIwUEVBUWZEeEFCQ2pBU0VISUFZa0JpQUhDNTBFQVFOL0lBQW9BZ0FpQkFSL0lBUW9BZ3dpQlNBRUtBSVFSZ1IvSUFRZ0JDZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEJRSkFBa0FDUUNBQktBSUFJZ1FFUUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBVWdCUVJBREFRRkRBTUxBQXNMSUFWRkJFQkJBQ0VFREFJTEN5QUNJQUlvQWdCQkJuSTJBZ0FNQVFzZ0F5QUFLQUlBSWdVb0Fnd2lCaUFGS0FJUVJnUi9JQVVnQlNnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFZc0FBQVFRZ3RCL3dGeFFRQWdBeWdDQUNnQ0pFRS9jVUhLQVdvUkJBQkIvd0Z4UVNWSEJFQWdBaUFDS0FJQVFRUnlOZ0lBREFFTElBQW9BZ0FpQXlnQ0RDSUZJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0JVRUJhallDRENBRkxBQUFFRUlhQ3lBQUtBSUFJZ01FZnlBREtBSU1JZ1VnQXlnQ0VFWUVmeUFESUFNb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRkxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCU0FBS0FJQVJRc0ZRUUVMSVFBQ1FBSkFJQVJGRFFBZ0JDZ0NEQ0lESUFRb0FoQkdCSDhnQkNBRUtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5d0FBQkJDQzBGL0VFRUVRQ0FCUVFBMkFnQU1BUVVnQUEwREN3d0JDeUFBUlEwQkN5QUNJQUlvQWdCQkFuSTJBZ0FMQzFJQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUVFSm9CSVFFZ0F5Z0NBRUVFY1VVRVFDQUFJQUZCbEhGcU5nSUFDeUFGSkFZTFlRRUJmeU1HSVFVakJrRVFhaVFHSUFVZ0FpZ0NBRFlDQUNBRlFRUnFJZ0lnQlNnQ0FEWUNBQ0FCSUFJZ0F5QUVRUUVRbWdFaEFTQURLQUlBSWdKQkJIRkZJQUZCQjBoeEJFQWdBQ0FCTmdJQUJTQURJQUpCQkhJMkFnQUxJQVVrQmd0aEFRRi9Jd1loQlNNR1FSQnFKQVlnQlNBQ0tBSUFOZ0lBSUFWQkJHb2lBaUFGS0FJQU5nSUFJQUVnQWlBRElBUkJBaENhQVNFQklBTW9BZ0FpQWtFRWNVVWdBVUU5U0hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQytJQkFRUi9Jd1loQnlNR1FSQnFKQVlnQUVFSWFpSUFLQUlBS0FJSUlRWWdBQ0FHUWY4QWNVRUlhaEVBQUNJQUxBQUxJZ1pCQUVnRWZ5QUFLQUlFQlNBR1FmOEJjUXNoQmlBSFFRUnFJUWhCQUNBQUxBQVhJZ2xCQUVnRWZ5QUFLQUlRQlNBSlFmOEJjUXRySUFaR0JFQWdCQ0FFS0FJQVFRUnlOZ0lBQlFKQUlBY2dBeWdDQURZQ0FDQUlJQWNvQWdBMkFnQWdBaUFJSUFBZ0FFRVlhaUFGSUFSQkFCQ1dBaUFBYXlJQ1JTQUJLQUlBSWdCQkRFWnhCRUFnQVVFQU5nSUFEQUVMSUFKQkRFWWdBRUVNU0hFRVFDQUJJQUJCREdvMkFnQUxDd3NnQnlRR0M1UUVBUU4vQTBBQ1FDQUFLQUlBSWdRRWZ5QUVLQUlNSWdVZ0JDZ0NFRVlFZnlBRUlBUW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUZMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlNBQUtBSUFSUXNGUVFFTElRVUNRQUpBSUFFb0FnQWlCRVVOQUNBRUtBSU1JZ1lnQkNnQ0VFWUVmeUFFSUFRb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FGUlEwREN3d0JDeUFGQkg5QkFDRUVEQUlGUVFBTElRUUxJQUFvQWdBaUJTZ0NEQ0lHSUFVb0FoQkdCSDhnQlNBRktBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0Jpd0FBQkJDQ3lJRlFmOEJjVUVZZEVFWWRVRi9UQTBBSUFNb0FnZ2dCVUVZZEVFWWRVRUJkR291QVFCQmdNQUFjVVVOQUNBQUtBSUFJZ1FvQWd3aUJTQUVLQUlRUmdSQUlBUWdCQ2dDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FFSUFWQkFXbzJBZ3dnQlN3QUFCQkNHZ3NNQVFzTElBQW9BZ0FpQXdSL0lBTW9BZ3dpQlNBREtBSVFSZ1IvSUFNZ0F5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBVXNBQUFRUWd0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGSUFBb0FnQkZDd1ZCQVFzaEFBSkFBa0FDUUNBRVJRMEFJQVFvQWd3aUF5QUVLQUlRUmdSL0lBUWdCQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQU1zQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBQkZEUUlMREFJTElBQU5BQXdCQ3lBQ0lBSW9BZ0JCQW5JMkFnQUxDMkVCQVg4akJpRUZJd1pCRUdva0JpQUZJQUlvQWdBMkFnQWdCVUVFYWlJQ0lBVW9BZ0EyQWdBZ0FTQUNJQU1nQkVFQ0VKb0JJUUVnQXlnQ0FDSUNRUVJ4UlNBQlFUeEljUVJBSUFBZ0FUWUNBQVVnQXlBQ1FRUnlOZ0lBQ3lBRkpBWUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQkRVaHhCRUFnQUNBQlFYOXFOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RpQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkF4Q2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVSHVBa2h4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3RrQVFGL0l3WWhCU01HUVJCcUpBWWdCU0FDS0FJQU5nSUFJQVZCQkdvaUFpQUZLQUlBTmdJQUlBRWdBaUFESUFSQkFoQ2FBU0VCSUFNb0FnQWlBa0VFY1VVZ0FVRi9ha0VNU1hFRVFDQUFJQUUyQWdBRklBTWdBa0VFY2pZQ0FBc2dCU1FHQzJFQkFYOGpCaUVGSXdaQkVHb2tCaUFGSUFJb0FnQTJBZ0FnQlVFRWFpSUNJQVVvQWdBMkFnQWdBU0FDSUFNZ0JFRUNFSm9CSVFFZ0F5Z0NBQ0lDUVFSeFJTQUJRUmhJY1FSQUlBQWdBVFlDQUFVZ0F5QUNRUVJ5TmdJQUN5QUZKQVlMOFFRQkFYOGdBRUlBTndNQUlBQkNBRGNEQ0NBQVFnQTNBeEFnQUVJQU53TVlJQUJDQURjRElDQUFRZ0EzQXlnZ0FFSUFOd013SUFCQ0FEY0RPQ0FBUVVCclJBQUFBQUFBQVBDL09RTUFJQUJDQURjRFNDQUFRZ0EzQTFBZ0FFSUFOd05ZSUFCQ0FEY0RZQ0FBUkFBQUFBQUFBUEEvT1FOb0lBQkNBRGNEY0NBQVFnQTNBM2dnQUVJQU53T0FBU0FBUWdBM0E0Z0JJQUJDQURjRGtBRWdBRUlBTndPWUFTQUFSQUFBQUFBQUFQQS9PUU9nQVNBQVFhZ0JhaUlCUWdBM0F3QWdBVUlBTndNSUlBRkNBRGNERUNBQlFnQTNBeGdnQVVJQU53TWdJQUZDQURjREtDQUJRZ0EzQXpBZ0FVSUFOd000SUFGQlFHdENBRGNEQUNBQVJBQUFBQUFBQVBDL09RUHdBU0FBUWdBM0EvZ0JJQUJDQURjRGdBSWdBRUlBTndPSUFpQUFRZ0EzQTVBQ0lBQkNBRGNEbUFJZ0FFSUFOd09nQWlBQVJBQUFBQUFBQVBDL09RT29BaUFBUWdBM0E3QUNJQUJDQURjRHVBSWdBRUlBTndQQUFpQUFRZ0EzQThnQ0lBQkVBQUFBQUFBQThEODVBOUFDSUFCQjJBSnFJZ0ZDQURjREFDQUJRZ0EzQXdnZ0FVSUFOd01RSUFGQ0FEY0RHQ0FCUWdBM0F5QWdBVUlBTndNb0lBRkNBRGNETUNBQlFnQTNBemdnQVVGQWEwSUFOd01BSUFGQ0FEY0RTQ0FCUWdBM0ExQWdBVUlBTndOWUlBRkNBRGNEWUNBQlFnQTNBMmdnQUVRQUFBQUFBQUR3UHprRHlBTWdBRUlBTndQUUF5QUFRZ0EzQTlnRElBQkNBRGNENEFNZ0FFSUFOd1BvQXlBQVFnQTNBL0FESUFCQ0FEY0QrQU1nQUVRQUFBQUFBQUR3UHprRGdBUWdBRUlBTndPSUJDQUFRZ0EzQTVBRUlBQkNBRGNEbUFRZ0FFSUFOd09nQkNBQVFnQTNBNmdFSUFCQ0FEY0RzQVFnQUVRQUFBQUFBQUR3UHprRHVBUUxaQUVCZnlNR0lRVWpCa0VRYWlRR0lBVWdBaWdDQURZQ0FDQUZRUVJxSWdJZ0JTZ0NBRFlDQUNBQklBSWdBeUFFUVFJUW1nRWhBU0FES0FJQUlnSkJCSEZGSUFGQmYycEJIMGx4QkVBZ0FDQUJOZ0lBQlNBRElBSkJCSEkyQWdBTElBVWtCZ3YwQVFFQ2YwSEF2d01zQUFCRkJFQkJ3TDhERUhBRVFFSEF0d01oQUFOQUlBQkNBRGNDQUNBQVFRQTJBZ2hCQUNFQkEwQWdBVUVEUndSQUlBRkJBblFnQUdwQkFEWUNBQ0FCUVFGcUlRRU1BUXNMSUFCQkRHb2lBRUhvdUFOSERRQUxRY0MvQXhCdkN3dEJ3TGNEUWZDWEF4QlhRY3kzQTBIM2x3TVFWMEhZdHdOQi9wY0RFRmRCNUxjRFFZYVlBeEJYUWZDM0EwR1FtQU1RVjBIOHR3TkJtWmdERUZkQmlMZ0RRYUNZQXhCWFFaUzRBMEdwbUFNUVYwR2d1QU5CclpnREVGZEJyTGdEUWJHWUF4QlhRYmk0QTBHMW1BTVFWMEhFdUFOQnVaZ0RFRmRCMExnRFFiMllBeEJYUWR5NEEwSEJtQU1RVnd2WUFnRUNmMEd3dndNc0FBQkZCRUJCc0w4REVIQUVRRUdndFFNaEFBTkFJQUJDQURjQ0FDQUFRUUEyQWdoQkFDRUJBMEFnQVVFRFJ3UkFJQUZCQW5RZ0FHcEJBRFlDQUNBQlFRRnFJUUVNQVFzTElBQkJER29pQUVIQXR3TkhEUUFMUWJDL0F4QnZDd3RCb0xVRFFlNldBeEJYUWF5MUEwSDJsZ01RVjBHNHRRTkIvNVlERUZkQnhMVURRWVdYQXhCWFFkQzFBMEdMbHdNUVYwSGN0UU5CajVjREVGZEI2TFVEUVpTWEF4QlhRZlMxQTBHWmx3TVFWMEdBdGdOQm9KY0RFRmRCakxZRFFhcVhBeEJYUVppMkEwR3lsd01RVjBHa3RnTkJ1NWNERUZkQnNMWURRY1NYQXhCWFFieTJBMEhJbHdNUVYwSEl0Z05CekpjREVGZEIxTFlEUWRDWEF4QlhRZUMyQTBHTGx3TVFWMEhzdGdOQjFKY0RFRmRCK0xZRFFkaVhBeEJYUVlTM0EwSGNsd01RVjBHUXR3TkI0SmNERUZkQm5MY0RRZVNYQXhCWFFhaTNBMEhvbHdNUVYwRzB0d05CN0pjREVGY0xmQUVDZjBHZ3Z3TXNBQUJGQkVCQm9MOERFSEFFUUVHQXRRTWhBQU5BSUFCQ0FEY0NBQ0FBUVFBMkFnaEJBQ0VCQTBBZ0FVRURSd1JBSUFGQkFuUWdBR3BCQURZQ0FDQUJRUUZxSVFFTUFRc0xJQUJCREdvaUFFR1l0UU5IRFFBTFFhQy9BeEJ2Q3d0QmdMVURRZWlXQXhCWFFZeTFBMEhybGdNUVZ3dENBRUg0dmdNc0FBQkZCRUJCK0w0REVIQUVRRUhJemdOQ0FEY0NBRUhRemdOQkFEWUNBRUhJemdOQnRaWURRYldXQXhCZ0VINUIrTDRERUc4TEMwSEl6Z01MUWdCQmdMOERMQUFBUlFSQVFZQy9BeEJ3QkVCQjFNNERRZ0EzQWdCQjNNNERRUUEyQWdCQjFNNERRYjZXQTBHK2xnTVFZQkIrUVlDL0F4QnZDd3RCMU00REMwSUFRWWkvQXl3QUFFVUVRRUdJdndNUWNBUkFRZURPQTBJQU53SUFRZWpPQTBFQU5nSUFRZURPQTBISGxnTkJ4NVlERUdBUWZrR0l2d01RYndzTFFlRE9Bd3VwQWdFR2ZDQUJLd01ZSUFFckF3QWlDQ0FDS3dNQUlnU2lJQUVyQXdnZ0Fpc0RDQ0lIb3FBZ0FTc0RFQ0FDS3dNUUlnT2lvS0FoQlNBQkt3TTRJQVFnQVNzRElLSWdCeUFCS3dNb29xQWdBeUFCS3dNd29xQ2dJUVlnQVNzRFdDQUVJQUZCUUdzaUFpc0RBQ0lFb2lBSElBRXJBMGlpb0NBRElBRXJBMUNpb0tBaUEwUUFBQUFBQUFBQUFHRUVmMEYvQlNBQUlBZ2dBNklnQlNBRW9xRWdBeUFEb2lJRW96a0RBQ0FBSUFNZ0FTc0RDS0lnQlNBQkt3TklvcUVnQktNNUF3Z2dBQ0FESUFFckF4Q2lJQVVnQVNzRFVLS2hJQVNqT1FNUUlBQWdBeUFCS3dNZ29pQUdJQUlyQXdDaW9TQUVvemtER0NBQUlBTWdBU3NES0tJZ0JpQUJLd05Jb3FFZ0JLTTVBeUFnQUNBRElBRXJBekNpSUFZZ0FTc0RVS0toSUFTak9RTW9RUUFMQzBJQVFaQy9BeXdBQUVVRVFFR1F2d01RY0FSQVFlek9BMElBTndJQVFmVE9BMEVBTmdJQVFlek9BMEhUbGdOQjA1WURFR0FRZmtHUXZ3TVFid3NMUWV6T0F3c3hBRUdZdndNc0FBQkZCRUJCbUw4REVIQUVRQkRrQ2tINHpnTkJnTFVETmdJQVFaaS9BeEJ2Q3d0QitNNERLQUlBQ3pFQVFhaS9BeXdBQUVVRVFFR292d01RY0FSQUVPTUtRZnpPQTBHZ3RRTTJBZ0JCcUw4REVHOExDMEg4emdNb0FnQUxNUUJCdUw4RExBQUFSUVJBUWJpL0F4QndCRUFRNGdwQmdNOERRY0MzQXpZQ0FFRzR2d01RYndzTFFZRFBBeWdDQUF2NEN3RUZmeU1HSVFjakJrR1FBV29rQmlBSFFmQUFhaUVLSUFkQlFHc2hDeUFFUVFBMkFnQWdCMEdBQVdvaUNDQURFRHNnQ0VHQXpnTVFPaUVKSUFnUVBBSi9Ba0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBQ1FBSkFBa0FDUUFKQUFrQUNRQUpBQWtBZ0JrRVlkRUVZZFVFbGF3NVZGaGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGeGNYRnhjWEZ4Y1hGd0FCRndRWEJSY0dCeGNYRndvWEZ4Y1hEZzhRRnhjWEV4VVhGeGNYRnhjWEFBRUNBd01YRndFWENCY1hDUXNYREJjTkZ3c1hGeEVTRkJjTElBY2dBaWdDQURZQ2ZDQUlJQWNvQW53MkFnQWdBQ0FGUVJocUlBRWdDQ0FFSUFrUXRnUU1Gd3NnQnlBQ0tBSUFOZ0o0SUFnZ0J5Z0NlRFlDQUNBQUlBVkJFR29nQVNBSUlBUWdDUkMxQkF3V0N5QUFRUWhxSWdZb0FnQW9BZ3doQ1NBR0lBbEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0owSUFjZ0FpZ0NBRFlDYkNBR0tBSUFJQVlnQml3QUN5SUNRUUJJSWdrYklnc2dCaWdDQkNBQ1FmOEJjU0FKRzJvaEFpQUtJQWNvQW5RMkFnQWdDQ0FIS0FKc05nSUFJQUVnQUNBS0lBZ2dBeUFFSUFVZ0N5QUNFS1FCTmdJQURCVUxJQWNnQWlnQ0FEWUNhQ0FJSUFjb0FtZzJBZ0FnQlVFTWFpQUJJQWdnQkNBSkVPRUtEQlFMSUFjZ0FTZ0NBRFlDWkNBSElBSW9BZ0EyQW1BZ0NpQUhLQUprTmdJQUlBZ2dCeWdDWURZQ0FDQUJJQUFnQ2lBSUlBTWdCQ0FGUWNXWUEwSE5tQU1RcEFFMkFnQU1Fd3NnQnlBQktBSUFOZ0pjSUFjZ0FpZ0NBRFlDV0NBS0lBY29BbHcyQWdBZ0NDQUhLQUpZTmdJQUlBRWdBQ0FLSUFnZ0F5QUVJQVZCelpnRFFkV1lBeENrQVRZQ0FBd1NDeUFISUFJb0FnQTJBbFFnQ0NBSEtBSlVOZ0lBSUFWQkNHb2dBU0FJSUFRZ0NSRGZDZ3dSQ3lBSElBSW9BZ0EyQWxBZ0NDQUhLQUpRTmdJQUlBVkJDR29nQVNBSUlBUWdDUkRlQ2d3UUN5QUhJQUlvQWdBMkFrd2dDQ0FIS0FKTU5nSUFJQVZCSEdvZ0FTQUlJQVFnQ1JEZENnd1BDeUFISUFJb0FnQTJBa2dnQ0NBSEtBSklOZ0lBSUFWQkVHb2dBU0FJSUFRZ0NSRGNDZ3dPQ3lBSElBSW9BZ0EyQWtRZ0NDQUhLQUpFTmdJQUlBVkJCR29nQVNBSUlBUWdDUkRiQ2d3TkN5QUxJQUlvQWdBMkFnQWdDQ0FMS0FJQU5nSUFJQUVnQ0NBRUlBa1EyZ29NREFzZ0J5QUNLQUlBTmdJOElBZ2dCeWdDUERZQ0FDQUFJQVZCQ0dvZ0FTQUlJQVFnQ1JEWkNnd0xDeUFISUFFb0FnQTJBamdnQnlBQ0tBSUFOZ0kwSUFvZ0J5Z0NPRFlDQUNBSUlBY29BalEyQWdBZ0FTQUFJQW9nQ0NBRElBUWdCVUhWbUFOQjRKZ0RFS1FCTmdJQURBb0xJQWNnQVNnQ0FEWUNNQ0FISUFJb0FnQTJBaXdnQ2lBSEtBSXdOZ0lBSUFnZ0J5Z0NMRFlDQUNBQklBQWdDaUFJSUFNZ0JDQUZRZUNZQTBIbG1BTVFwQUUyQWdBTUNRc2dCeUFDS0FJQU5nSW9JQWdnQnlnQ0tEWUNBQ0FGSUFFZ0NDQUVJQWtRMkFvTUNBc2dCeUFCS0FJQU5nSWtJQWNnQWlnQ0FEWUNJQ0FLSUFjb0FpUTJBZ0FnQ0NBSEtBSWdOZ0lBSUFFZ0FDQUtJQWdnQXlBRUlBVkI1WmdEUWUyWUF4Q2tBVFlDQUF3SEN5QUhJQUlvQWdBMkFod2dDQ0FIS0FJY05nSUFJQVZCR0dvZ0FTQUlJQVFnQ1JEWENnd0dDeUFBS0FJQUtBSVVJUVlnQnlBQktBSUFOZ0lZSUFjZ0FpZ0NBRFlDRkNBS0lBY29BaGcyQWdBZ0NDQUhLQUlVTmdJQUlBQWdDaUFJSUFNZ0JDQUZJQVpCUDNGQnhnSnFFUW9BREFZTElBQkJDR29pQmlnQ0FDZ0NHQ0VKSUFZZ0NVSC9BSEZCQ0dvUkFBQWhCaUFISUFFb0FnQTJBaEFnQnlBQ0tBSUFOZ0lNSUFZb0FnQWdCaUFHTEFBTElnSkJBRWdpQ1JzaUN5QUdLQUlFSUFKQi93RnhJQWtiYWlFQ0lBb2dCeWdDRURZQ0FDQUlJQWNvQWd3MkFnQWdBU0FBSUFvZ0NDQURJQVFnQlNBTElBSVFwQUUyQWdBTUJBc2dCeUFDS0FJQU5nSUlJQWdnQnlnQ0NEWUNBQ0FGUVJScUlBRWdDQ0FFSUFrUXRBUU1Bd3NnQnlBQ0tBSUFOZ0lFSUFnZ0J5Z0NCRFlDQUNBRlFSUnFJQUVnQ0NBRUlBa1ExZ29NQWdzZ0J5QUNLQUlBTmdJQUlBZ2dCeWdDQURZQ0FDQUJJQWdnQkNBSkVOVUtEQUVMSUFRZ0JDZ0NBRUVFY2pZQ0FBc2dBU2dDQUFzaERDQUhKQVlnREF0WkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQlVFVWFpQUJJQWNnQkNBREVMUUVJQUVvQWdBaENDQUdKQVlnQ0F0YkFRTi9Jd1loQmlNR1FSQnFKQVlnQmtFRWFpSUhJQU1RT3lBSFFZRE9BeEE2SVFNZ0J4QThJQVlnQWlnQ0FEWUNBQ0FISUFZb0FnQTJBZ0FnQUNBRlFSQnFJQUVnQnlBRUlBTVF0UVFnQVNnQ0FDRUlJQVlrQmlBSUMxc0JBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJZ2NnQXhBN0lBZEJnTTRERURvaEF5QUhFRHdnQmlBQ0tBSUFOZ0lBSUFjZ0JpZ0NBRFlDQUNBQUlBVkJHR29nQVNBSElBUWdBeEMyQkNBQktBSUFJUWdnQmlRR0lBZ0xvZ0VCQkg4akJpRUhJd1pCRUdva0JpQUFRUWhxSWdZb0FnQW9BaFFoQ0NBR0lBaEIvd0J4UVFocUVRQUFJUVlnQnlBQktBSUFOZ0lFSUFjZ0FpZ0NBRFlDQUNBR0tBSUFJQVlnQml3QUN5SUJRUUJJSWdJYklnZ2dCaWdDQkNBQlFmOEJjU0FDRzJvaEFTQUhRUWhxSWdJZ0J5Z0NCRFlDQUNBSFFReHFJZ1lnQnlnQ0FEWUNBQ0FBSUFJZ0JpQURJQVFnQlNBSUlBRVFwQUVoQ1NBSEpBWWdDUXRnQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQUlBRWdBaUFESUFRZ0JVSHRtQU5COVpnREVLUUJJUWNnQmlRR0lBY0wzd1VDQTM4R2ZDTUdJUVVqQmtIZ0Jtb2tCaUFCSUFJckF4Z2dBaXNEQUNBREt3TUFvaUFDS3dNSUlBTXJBd2dpQ0tLZ0lBSXJBeEFnQXlzREVDSUpvcUNnT1FNQUlBRWdBaXNET0NBQ0t3TWdJQU1yQXdBaUI2SWdDQ0FDS3dNb29xQWdDU0FDS3dNd29xQ2dPUU1JSUFFZ0Fpc0RXQ0FISUFKQlFHc2lCQ3NEQUtJZ0Fpc0RTQ0FES3dNSUlnaWlvQ0FKSUFJckExQ2lvS0E1QXhBZ0JVSEFCR29pQVNBSElBSXJBd0FpQ3FJNUF3QWdBU0FJSUFxaU9RTUlJQUVnQ2lBREt3TVFJZ21pT1FNUUlBRWdCeUFDS3dNSUlndWlPUU1ZSUFFZ0NDQUxvamtESUNBQklBa2dDNkk1QXlnZ0FTQUhJQUlyQXhBaURLSTVBekFnQVNBSUlBeWlPUU00SUFGQlFHc2dDU0FNb2prREFDQUJJQW81QTBnZ0FTQUxPUU5RSUFFZ0REa0RXQ0FCSUFjZ0Fpc0RJQ0lLb2prRFlDQUJJQWdnQ3FJNUEyZ2dBU0FKSUFxaU9RTndJQUVnQnlBQ0t3TW9JZ3VpT1FONElBRWdDQ0FMb2prRGdBRWdBU0FKSUF1aU9RT0lBU0FCSUFjZ0Fpc0RNQ0lNb2prRGtBRWdBU0FJSUF5aU9RT1lBU0FCSUFrZ0RLSTVBNkFCSUFFZ0Nqa0RxQUVnQVNBTE9RT3dBU0FCSUF3NUE3Z0JJQUVnQnlBRUt3TUFJZ3FpT1FQQUFTQUJJQWdnQ3FJNUE4Z0JJQUVnQ1NBS29qa0QwQUVnQVNBSElBSXJBMGdpQzZJNUE5Z0JJQUVnQ0NBTG9qa0Q0QUVnQVNBSklBdWlPUVBvQVNBQklBY2dBaXNEVUNJSG9qa0Q4QUVnQVNBSUlBZWlPUVA0QVNBQklBa2dCNkk1QTRBQ0lBRWdDamtEaUFJZ0FTQUxPUU9RQWlBQklBYzVBNWdDSUFVUTRBcEJBQ0VDQTBBZ0FrRURSd1JBUVFBaEF3TkFJQU5CQmtjRVFDQUNRVEJzSUFCcUlBTkJBM1JxSWdaRUFBQUFBQUFBQUFBNUF3QkJBQ0VFUkFBQUFBQUFBQUFBSVFjRFFDQUVRUXhIQkVBZ0JpQUhJQUpCNEFCc0lBRnFJQVJCQTNScUt3TUFJQVJCTUd3Z0JXb2dBMEVEZEdvckF3Q2lvQ0lIT1FNQUlBUkJBV29oQkF3QkN3c2dBMEVCYWlFRERBRUxDeUFDUVFGcUlRSU1BUXNMSUFVa0JndmNBUUVIZnlNR0lRQWpCa0hRQVdva0JpQUFRY0FCYWlJRlFkV1VBeWdBQURZQUFDQUZRZG1VQXk0QUFEc0FCQkJjSVFjZ0FFRzRBV29pQmlBRU5nSUFJQUJCb0FGcUlnUkJGQ0FISUFVZ0JoQjNJZ2tnQkdvaEJTQUVJQVVnQWhDSkFTRUhJQVlnQWhBN0lBWkJvTTRERURvaENDQUdFRHdnQ0NnQ0FDZ0NNQ0VLSUFnZ0JDQUZJQUFnQ2tFUGNVR0tBbW9SQ1FBYUlBQWdBU2dDQURZQ3ZBRWdCaUFBS0FLOEFUWUNBQ0FHSUFBZ0NVRUNkQ0FBYWlJQklBY2dCR3RCQW5RZ0FHb2dCU0FIUmhzZ0FTQUNJQU1RcFFFaEN5QUFKQVlnQ3d1MUF3RVBmeU1HSVFVakJrSGdBbW9rQmlBRlFhZ0NhaUVOSUFWQm1BSnFJUUFnQlVHUUFtb2lCa0lsTndNQUlBWkJBV3BCMjVRRElBSW9BZ1FRbEFJaERpQUZRZFFDYWlJSElBVkI4QUZxSWdvMkFnQVFYQ0VQSUFWQndBSnFJUkFnQlVHd0Ftb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERFRUJJUklGSUFoQkEzUVFSQ0lBQkVBZ0FDSU1JUk1GRUFBTEN5QUZRZGdDYWlJQUlBSVFPeUFKSUFjZ0JpQU1JQVZCMEFKcUlBVkJ6QUpxSUFBUXVBUWdBQkE4SUFVZ0FTZ0NBRFlDeUFJZ0JTZ0MwQUloQ0NBRktBTE1BaUVHSUFBZ0JTZ0N5QUkyQWdBZ0FTQUFJQXdnQ0NBR0lBSWdBeENsQVNJQU5nSUFJQkpGQkVBZ0V4QTRDeUFSRURnZ0JTUUdJQUFMdFFNQkQzOGpCaUVGSXdaQjRBSnFKQVlnQlVHb0Ftb2hEU0FGUVpnQ2FpRUFJQVZCa0FKcUlnWkNKVGNEQUNBR1FRRnFRYWZWQXlBQ0tBSUVFSlFDSVE0Z0JVSFVBbW9pQnlBRlFmQUJhaUlLTmdJQUVGd2hEeUFGUWNBQ2FpRVFJQVZCc0FKcUlRc2dEZ1IvSUFBZ0FpZ0NDRFlDQUNBQUlBUTVBd2dnQ2tFZUlBOGdCaUFBRUhjRklBMGdCRGtEQUNBS1FSNGdEeUFHSUEwUWR3c2lBRUVkU2dSQUVGd2hBQ0FPQkg4Z0N5QUNLQUlJTmdJQUlBc2dCRGtEQ0NBSElBQWdCaUFMRUpzQkJTQVFJQVE1QXdBZ0J5QUFJQVlnRUJDYkFRc2hBQ0FIS0FJQUlnWUVRQ0FBSVFnZ0JpSVJJUWtGRUFBTEJTQUFJUWdnQnlnQ0FDRUpDeUFGSVFBZ0NTQUlJQWxxSWdZZ0FoQ0pBU0VISUFrZ0NrWUVRQ0FBSVF4QkFTRVNCU0FJUVFOMEVFUWlBQVJBSUFBaURDRVRCUkFBQ3dzZ0JVSFlBbW9pQUNBQ0VEc2dDU0FISUFZZ0RDQUZRZEFDYWlBRlFjd0NhaUFBRUxnRUlBQVFQQ0FGSUFFb0FnQTJBc2dDSUFVb0F0QUNJUWdnQlNnQ3pBSWhCaUFBSUFVb0FzZ0NOZ0lBSUFFZ0FDQU1JQWdnQmlBQ0lBTVFwUUVpQURZQ0FDQVNSUVJBSUJNUU9Bc2dFUkE0SUFVa0JpQUFDL1lCQVFoL0l3WWhBQ01HUVNCcUpBWWdBRUlsTndNQUlBQkJBV3BCM1pRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhRUlp5SWdoQkFXb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQTNSQkMycEJjSEZxSkFZZ0JpQUNFRHNnQlNBTElBa2dCeUFBUVJocUlnVWdBRUVRYWlJSUlBWVFrZ0lnQmhBOElBQWdBU2dDQURZQ0ZDQUZLQUlBSVFFZ0NDZ0NBQ0VGSUFZZ0FDZ0NGRFlDQUNBR0lBY2dBU0FGSUFJZ0F4Q2xBU0VCSUF3TEVBd2dBQ1FHSUFFTGlnSUJCMzhqQmlFQUl3WkJJR29rQmlBQVFSQnFJZ1pCNEpRREtBQUFOZ0FBSUFaQjVKUURMZ0FBT3dBRUlBWkJBV3BCNXBRRFFRQWdBaWdDQkJDdkFTQUNLQUlFUVFsMlFRRnhJZ2hCREhJaEJ3Si9FQXNoQ3lNR0lRVWpCaUFIUVE5cVFYQnhhaVFHRUZ3aENpQUFJQVEyQWdBZ0JTQUZJQWNnQ2lBR0lBQVFkeUFGYWlJR0lBSVFpUUVoQnlNR0lRUWpCaUFJUVFGMFFSVnlRUUowUVE5cVFYQnhhaVFHSUFBZ0FoQTdJQVVnQnlBR0lBUWdBRUVNYWlJRklBQkJCR29pQmlBQUVKSUNJQUFRUENBQUlBRW9BZ0EyQWdnZ0JTZ0NBQ0VCSUFZb0FnQWhCU0FBSUFBb0FnZzJBZ0FnQUNBRUlBRWdCU0FDSUFNUXBRRWhBU0FMQ3hBTUlBQWtCaUFCQy9rQkFRaC9Jd1loQUNNR1FTQnFKQVlnQUVJbE53TUFJQUJCQVdwQjNaUURRUUVnQWlnQ0JCQ3ZBU0FDS0FJRVFRbDJRUUZ4SWdoQkYyb2hCd0ovRUFzaERDTUdJUVVqQmlBSFFROXFRWEJ4YWlRR0VGd2hDU0FBUVFocUlnWWdCRGNEQUNBRklBVWdCeUFKSUFBZ0JoQjNJQVZxSWdrZ0FoQ0pBU0VMSXdZaEJ5TUdJQWhCQVhSQkxISkJBblJCQzJwQmNIRnFKQVlnQmlBQ0VEc2dCU0FMSUFrZ0J5QUFRUmhxSWdVZ0FFRVFhaUlJSUFZUWtnSWdCaEE4SUFBZ0FTZ0NBRFlDRkNBRktBSUFJUUVnQ0NnQ0FDRUZJQVlnQUNnQ0ZEWUNBQ0FHSUFjZ0FTQUZJQUlnQXhDbEFTRUJJQXdMRUF3Z0FDUUdJQUVMaWdJQkIzOGpCaUVBSXdaQklHb2tCaUFBUVJCcUlnWkI0SlFES0FBQU5nQUFJQVpCNUpRRExnQUFPd0FFSUFaQkFXcEI1cFFEUVFFZ0FpZ0NCQkN2QVNBQ0tBSUVRUWwyUVFGeElnaEJEV29oQndKL0VBc2hDeU1HSVFVakJpQUhRUTlxUVhCeGFpUUdFRndoQ2lBQUlBUTJBZ0FnQlNBRklBY2dDaUFHSUFBUWR5QUZhaUlHSUFJUWlRRWhCeU1HSVFRakJpQUlRUUYwUVJoeVFRSjBRUXRxUVhCeGFpUUdJQUFnQWhBN0lBVWdCeUFHSUFRZ0FFRU1haUlGSUFCQkJHb2lCaUFBRUpJQ0lBQVFQQ0FBSUFFb0FnQTJBZ2dnQlNnQ0FDRUJJQVlvQWdBaEJTQUFJQUFvQWdnMkFnQWdBQ0FFSUFFZ0JTQUNJQU1RcFFFaEFTQUxDeEFNSUFBa0JpQUJDOWdDQVFOL0l3WWhCaU1HUVJCcUpBWWdCa0VFYWlFRklBSW9BZ1JCQVhFRVFDQUZJQUlRT3lBRlFhak9BeEE2SVFBZ0JSQThJQUFvQWdBaEFpQUZJQUFnQkFSL0lBSW9BaGdGSUFJb0Fod0xRVDl4UWJJRmFoRURBQ0FGS0FJQUlnSWdCU0FGTEFBTElnQkJBRWdiSVFNRFFDQUZLQUlFSUFCQi93RnhJQUJCR0hSQkdIVkJBRWdpQUJ0QkFuUWdBaUFGSUFBYmFpQURSd1JBSUFNb0FnQWhBaUFCS0FJQUlnQUVRQ0FBS0FJWUlnUWdBQ2dDSEVZRWZ5QUFJQUlnQUNnQ0FDZ0NORUUvY1VHS0FXb1JBZ0FGSUFBZ0JFRUVhallDR0NBRUlBSTJBZ0FnQWd0QmZ4QkJCRUFnQVVFQU5nSUFDd3NnQTBFRWFpRURJQVVzQUFzaEFDQUZLQUlBSVFJTUFRc0xJQUVvQWdBaEFDQUZFRWNGSUFBb0FnQW9BaGdoQnlBR0lBRW9BZ0EyQWdBZ0JTQUdLQUlBTmdJQUlBQWdCU0FDSUFNZ0JFRUJjU0FIUVI5eFFhSUNhaEVJQUNFQUN5QUdKQVlnQUF2VEFRRUhmeU1HSVFBakJrSGdBR29rQmlBQVFkQUFhaUlGUWRXVUF5Z0FBRFlBQUNBRlFkbVVBeTRBQURzQUJCQmNJUWNnQUVISUFHb2lCaUFFTmdJQUlBQkJNR29pQkVFVUlBY2dCU0FHRUhjaUNTQUVhaUVGSUFRZ0JTQUNFSWtCSVFjZ0JpQUNFRHNnQmtHQXpnTVFPaUVJSUFZUVBDQUlLQUlBS0FJZ0lRb2dDQ0FFSUFVZ0FDQUtRUTl4UVlvQ2FoRUpBQm9nQUNBQktBSUFOZ0pNSUFZZ0FDZ0NURFlDQUNBR0lBQWdBQ0FKYWlJQklBY2dCR3NnQUdvZ0JTQUhSaHNnQVNBQ0lBTVFsd0VoQ3lBQUpBWWdDd3YrRXdJUWZ3RjhJd1loRXlNR1FSQnFKQVlnRXlFUElBUW9BZ0FpQmlFSElBRWdBa0YvYWlJUWJFRUJkQ0FHYWlFRkEwQWdDU0FCU0FSQUlBVkJBRHNCQUNBSFFRQTdBUUFnQjBFQ2FpRUhJQWxCQVdvaENTQUZRUUpxSVFVTUFRc0xJQVloQjBFQUlRa2dBVUYvYWlJUlFRRjBJQVpxSVFVRFFDQUpJQUpJQkVBZ0JVRUFPd0VBSUFkQkFEc0JBQ0FCUVFGMElBZHFJUWNnQ1VFQmFpRUpJQUZCQVhRZ0JXb2hCUXdCQ3dzZ0JFR1FnTWdBYWlFSFFRQWdBV3NoRWlBQUlBRkJBV29pQUdvaERTQUFJQU5xSVE1QkFTRU1RUUFoQXlBQUlBUW9BZ1JxSVFrZ0FFRUJkQ0FHYWlFR0FuOENRQU5BQWtBZ0RDQVFUZzBDSUFNaEFFRUJJUW9EUUNBS0lCRklCRUFnRFMwQUFDQU9MUUFBU2dSQUlBWkJBRHNCQUNBSlFRQTZBQUFGQWtBZ0NVRi9PZ0FBSUJKQkFYUWdCbW9pQXk0QkFDSUZRUUJLQkVBZ0JpQUZPd0VBSUFWQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR01nTkFBYWlBTU5nSUFEQUVMSUFOQmZtb3VBUUFpQlNFSUlBVkJBRW9oQ3lBRExnRUNJZ05CQUV3RVFDQUxCRUFnQmlBRk93RUFJQWhCQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlGS0FJQUlBcElCRUFnQlNBS05nSUFDeUFEUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQWdzZ0JrRithaTRCQUNJRFFRQktCRUFnQmlBRE93RUFJQU5CQjJ3aUEwRUNkQ0FFYWtIMC84OEFhaUlGSUFVb0FnQkJBV28yQWdBZ0EwRUNkQ0FFYWtINC84OEFhaUlGSUFvZ0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtIOC84OEFhaUlGSUF3Z0JTZ0NBR28yQWdBZ0EwRUNkQ0FFYWtHRWdOQUFhaUlES0FJQUlBcE9EUUlnQXlBS05nSUFCU0FBUWYvL0FVb05CaUFHSUFCQkFXb2lBenNCQUNBRVFaQ0F5QUJxSUFCQkFuUnFJQU5CRUhSQkVIVTJBZ0FnQkVHUWdOQUFhaUFBUVFkc0lnQkJBblJxUVFFMkFnQWdBRUVDZENBRWFrR1VnTkFBYWlBS05nSUFJQUJCQW5RZ0JHcEJtSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRWnlBMEFCcUlBbzJBZ0FnQUVFQ2RDQUVha0dnZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCcElEUUFHb2dERFlDQUNBQVFRSjBJQVJxUWFpQTBBQnFJQXcyQWdBZ0F5RUFDd3dCQ3lBTEJFQUNRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQ0VFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ1VnRENBRktBSUFhallDQUNBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc2dCa0YrYWk0QkFDSUZRUUJNQkVBZ0JpQURPd0VBSUFOQkIyd2lBMEVDZENBRWFrSDAvODhBYWlJRklBVW9BZ0JCQVdvMkFnQWdBMEVDZENBRWFrSDQvODhBYWlJRklBb2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrSDgvODhBYWlJRklBd2dCU2dDQUdvMkFnQWdBMEVDZENBRWFrR0FnTkFBYWlJRktBSUFJQXBLQkVBZ0JTQUtOZ0lBQ3lBRFFRSjBJQVJxUVl5QTBBQnFJQXcyQWdBTUFRc0NRQ0FEUVFKMElBUnFRWXlBeUFCcUtBSUFJZ01nQlVFQ2RDQUVha0dNZ01nQWFpZ0NBQ0lGU2dSQUlBWWdCVHNCQUNBSElRaEJBQ0VMQTBBZ0N5QUFUZ1JBSUFVaEF3d0RDeUFESUFnb0FnQkdCRUFnQ0NBRk5nSUFDeUFJUVFScUlRZ2dDMEVCYWlFTERBQUFDd0FGSUFZZ0F6c0JBQ0FESUFWSUJFQWdCeUVJUVFBaEN3TkFJQXNnQUU0TkF5QUZJQWdvQWdCR0JFQWdDQ0FETmdJQUN5QUlRUVJxSVFnZ0MwRUJhaUVMREFBQUN3QUxDd3NnQTBFUWRFRVFkVUVIYkNJRFFRSjBJQVJxUWZUL3p3QnFJZ1VnQlNnQ0FFRUJhallDQUNBRFFRSjBJQVJxUWZqL3p3QnFJZ1VnQ2lBRktBSUFhallDQUNBRFFRSjBJQVJxUWZ6L3p3QnFJZ01nRENBREtBSUFhallDQUFzTElBMUJBV29oRFNBT1FRRnFJUTRnQ1VFQmFpRUpJQXBCQVdvaENpQUdRUUpxSVFZTUFRc0xJQTFCQW1vaERTQU9RUUpxSVE0Z0RFRUJhaUVNSUFBaEF5QUpRUUpxSVFrZ0JrRUVhaUVHREFFTEMwRUFRUU5CcUtVQklBOFFQVUYvREFFTElBUkJER29oQlVFQklRQkJBU0VKSUFjaEJnTkFJQWtnQTB3RVFDQUpJQVlvQWdBaURVWUVRQ0FBUVFGcUlRY0ZJQUFoQnlBTlFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBWWdBRFlDQUNBSElRQWdDVUVCYWlFSklBWkJCR29oQmd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBVkJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VIQTBBZ0J5QUFTQVJBSUFSQmpJQUlhaUFIUVFKMElnWkJBblJxSUFFMkFnQWdCRUdNZ0FocUlBWkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQVpCQW5KQkFuUnFJQUkyQWdBZ0JFR01nQWhxSUFaQkEzSkJBblJxUVFBMkFnQWdCMEVCYWlFSERBRUxDMEVBSVFFRFFDQUJJQU5JQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ2NnQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBY29BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ2RCQTNScUlnWWdCaXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBZEJBWEpCQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lCeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdaS0JFQWdCeUFHTmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUJ5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ1pJQkVBZ0J5QUdOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQnlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnWktCRUFnQnlBR05nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loV2pPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGYU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSUWdEeVFHSUJRTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWR1VUF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTHBRTUJEMzhqQmlFRkl3WkJzQUZxSkFZZ0JVSDRBR29oRFNBRlFlZ0FhaUVBSUFWQjRBQnFJZ1pDSlRjREFDQUdRUUZxUWFmVkF5QUNLQUlFRUpRQ0lRNGdCVUdrQVdvaUJ5QUZRVUJySWdvMkFnQVFYQ0VQSUFWQmtBRnFJUkFnQlVHQUFXb2hDeUFPQkg4Z0FDQUNLQUlJTmdJQUlBQWdCRGtEQ0NBS1FSNGdEeUFHSUFBUWR3VWdEU0FFT1FNQUlBcEJIaUFQSUFZZ0RSQjNDeUlBUVIxS0JFQVFYQ0VBSUE0RWZ5QUxJQUlvQWdnMkFnQWdDeUFFT1FNSUlBY2dBQ0FHSUFzUW13RUZJQkFnQkRrREFDQUhJQUFnQmlBUUVKc0JDeUVBSUFjb0FnQWlCZ1JBSUFBaENDQUdJaEVoQ1FVUUFBc0ZJQUFoQ0NBSEtBSUFJUWtMSUFVaEFDQUpJQWdnQ1dvaUJpQUNFSWtCSVFjZ0NTQUtSZ1JBSUFBaERBVWdDRUVCZEJCRUlnQUVRQ0FBSWd3aEVnVVFBQXNMSUFWQnFBRnFJZ0FnQWhBN0lBa2dCeUFHSUF3Z0JVR2dBV29nQlVHY0FXb2dBQkM2QkNBQUVEd2dCU0FCS0FJQU5nS1lBU0FGS0FLZ0FTRUJJQVVvQXB3QklRZ2dBQ0FGS0FLWUFUWUNBQ0FBSUF3Z0FTQUlJQUlnQXhDWEFTRVRJQklRT0NBUkVEZ2dCU1FHSUJNTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhGQkZuSWlDRUVCYWlFSEFuOFFDeUVNSXdZaEJTTUdJQWRCRDJwQmNIRnFKQVlRWENFSklBQkJDR29pQmlBRU53TUFJQVVnQlNBSElBa2dBQ0FHRUhjZ0JXb2lDU0FDRUlrQklRc2pCaUVISXdZZ0NFRUJkRUVPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQUNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU1jaUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCRlhKQkQycEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDlnRUJDSDhqQmlFQUl3WkJJR29rQmlBQVFpVTNBd0FnQUVFQmFrSGRsQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRVhhaUVIQW44UUN5RU1Jd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VKSUFCQkNHb2lCaUFFTndNQUlBVWdCU0FISUFrZ0FDQUdFSGNnQldvaUNTQUNFSWtCSVFzakJpRUhJd1lnQ0VFQmRFRXNja0VPYWtGd2NXb2tCaUFHSUFJUU95QUZJQXNnQ1NBSElBQkJHR29pQlNBQVFSQnFJZ2dnQmhDVEFpQUdFRHdnQUNBQktBSUFOZ0lVSUFVb0FnQWhBU0FJS0FJQUlRVWdCaUFBS0FJVU5nSUFJQVlnQnlBQklBVWdBaUFERUpjQklRRWdEQXNRRENBQUpBWWdBUXVIQWdFSGZ5TUdJUUFqQmtFZ2FpUUdJQUJCRUdvaUJrSGdsQU1vQUFBMkFBQWdCa0hrbEFNdUFBQTdBQVFnQmtFQmFrSG1sQU5CQVNBQ0tBSUVFSzhCSUFJb0FnUkJDWFpCQVhFaUNFRU5haUVIQW44UUN5RUxJd1loQlNNR0lBZEJEMnBCY0hGcUpBWVFYQ0VLSUFBZ0JEWUNBQ0FGSUFVZ0J5QUtJQVlnQUJCM0lBVnFJZ1lnQWhDSkFTRUhJd1loQkNNR0lBaEJBWFJCR0hKQkRtcEJjSEZxSkFZZ0FDQUNFRHNnQlNBSElBWWdCQ0FBUVF4cUlnVWdBRUVFYWlJR0lBQVFrd0lnQUJBOElBQWdBU2dDQURZQ0NDQUZLQUlBSVFFZ0JpZ0NBQ0VGSUFBZ0FDZ0NDRFlDQUNBQUlBUWdBU0FGSUFJZ0F4Q1hBU0VCSUFzTEVBd2dBQ1FHSUFFTDNRSUJBMzhqQmlFR0l3WkJFR29rQmlBR1FRUnFJUVVnQWlnQ0JFRUJjUVJBSUFVZ0FoQTdJQVZCa000REVEb2hBQ0FGRUR3Z0FDZ0NBQ0VDSUFVZ0FDQUVCSDhnQWlnQ0dBVWdBaWdDSEF0QlAzRkJzZ1ZxRVFNQUlBVW9BZ0FpQWlBRklBVXNBQXNpQUVFQVNCc2hBd05BSUFJZ0JTQUFRUmgwUVJoMVFRQklJZ0liSUFVb0FnUWdBRUgvQVhFZ0FodHFJQU5IQkVBZ0F5d0FBQ0VDSUFFb0FnQWlBQVJBSUFBb0FoZ2lCQ0FBS0FJY1JnUi9JQUFvQWdBb0FqUWhCQ0FBSUFJUVFpQUVRVDl4UVlvQmFoRUNBQVVnQUNBRVFRRnFOZ0lZSUFRZ0Fqb0FBQ0FDRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXNMSUFOQkFXb2hBeUFGTEFBTElRQWdCU2dDQUNFQ0RBRUxDeUFCS0FJQUlRQWdCUkJIQlNBQUtBSUFLQUlZSVFjZ0JpQUJLQUlBTmdJQUlBVWdCaWdDQURZQ0FDQUFJQVVnQWlBRElBUkJBWEVnQjBFZmNVR2lBbW9SQ0FBaEFBc2dCaVFHSUFBTGtnY0JEbjhqQmlFSUl3WkJzQUpxSkFZZ0FoQ2NBU0VQSUFJZ0NFR2dBV29RN0FFaEVDQUlRYUFDYWlJS0lBSWdDRUdzQW1vUTZ3RWdDRUdVQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFaQUNhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJqQUpxSWd3Z0NEWUNBQ0FJUVlnQ2FpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0tBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRU9RUUFoQWtFQkJVRUFDd1ZCQUNFT1FRQWhBa0VCQ3lFSEFrQUNRQ0FCS0FJQUlnWkZEUUFnQmlnQ0RDSVJJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBZEZEUU1MREFFTElBY0VmMEVBSVFZTUFnVkJBQXNoQmdzZ0N5Z0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSFFmOEJjU0FIUVFCSUd5SUhha1lFUUNBRklBZEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFMSUFjZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnY2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FIS0FJQUN5QVBJQWtnQ3lBTklBZ29BcXdDSUFvZ0NDQU1JQkFRemdFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFScU5nSU1JQVlvQWdBYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdkQi93RnhJQWRCQUVnYkJFQWdEQ2dDQUNJSElBaHJRYUFCU0FSQUlBMG9BZ0FoRFNBTUlBZEJCR28yQWdBZ0J5QU5OZ0lBQ3dzZ0JDQUpJQXNvQWdBZ0F5QVBFTDBFTmdJQUlBb2dDQ0FNS0FJQUlBTVFlQ0FDQkg4Z0FpZ0NEQ0lFSUFJb0FoQkdCSDhnQWlBT0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBWkZEUUFnQmlnQ0RDSUVJQVlvQWhCR0JIOGdCaUFHS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVpQUZFRWNnQ2hCSElBZ2tCaUFTQzVJSEFRNS9Jd1loQ0NNR1FiQUNhaVFHSUFJUW5BRWhEeUFDSUFoQm9BRnFFT3dCSVJBZ0NFR2dBbW9pQ2lBQ0lBaEJyQUpxRU9zQklBaEJsQUpxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHUUFtb2lDeUFGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBSVFZd0NhaUlNSUFnMkFnQWdDRUdJQW1vaURVRUFOZ0lBSUFBb0FnQWlBaUVPQTBBQ1FDQUNCSDhnQWlnQ0RDSUdJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQmlnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFBaERrRUFJUUpCQVFWQkFBc0ZRUUFoRGtFQUlRSkJBUXNoQndKQUFrQWdBU2dDQUNJR1JRMEFJQVlvQWd3aUVTQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUFzZ0R5QUpJQXNnRFNBSUtBS3NBaUFLSUFnZ0RDQVFFTTRCRFFBZ0FpZ0NEQ0lHSUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCa0VFYWpZQ0RDQUdLQUlBR2dzTUFRc0xJQW9vQWdRZ0Npd0FDeUlIUWY4QmNTQUhRUUJJR3dSQUlBd29BZ0FpQnlBSWEwR2dBVWdFUUNBTktBSUFJUTBnRENBSFFRUnFOZ0lBSUFjZ0RUWUNBQXNMSUFRZ0NTQUxLQUlBSUFNZ0R4QytCRGNEQUNBS0lBZ2dEQ2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRGlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJJZ0JSQkhJQW9RUnlBSUpBWWdFZ3UrQ0FJUWZ3UjhJd1loQ1NNR1FSQnFKQVlnQ1VFSWFpRUlJQUFvQWdnaUF5QUFLQUlFUmdSQUlBRW9BZ1FnQTBZRVFDQUNLQUlFUVFGcUlBTkdCRUFDUUNBRFFYNXFJUXdEUUNBSElBeElCRUFnQVNnQ0FDQUhRUU4wYWlBQUtBSUFJQU1nQjJ4QkEzUnFJZ3NnQjBFRGRHb3JBd0E1QXdBZ0NDQURJQWRyUVg5cUlnNDJBZ1FnQ0NBSFFRRnFJZ1pCQTNRZ0Myb2lEellDQUNBSUVKWUxJUk1nQWlnQ0FDQUhRUU4wYWlBVE9RTUFJQk5FQUFBQUFBQUFBQUJpQkVBQ1FDQUdJUVVEUUNBRklBTklCRUFnQmlFRVJBQUFBQUFBQUFBQUlSTURRQ0FFSUFWSkJFQWdFeUFBS0FJQUlBVWdBeUFFYkdwQkEzUnFLd01BSUFSQkEzUWdDMm9yQXdDaW9DRVRJQVJCQVdvaEJBd0JDd3NnQXlBRmJDRVFJQVVoQkFOQUlBUWdBMGdFUUNBVElBQW9BZ0FnQkNBUWFrRURkR29yQXdBZ0JFRURkQ0FMYWlzREFLS2dJUk1nQkVFQmFpRUVEQUVMQ3lBQktBSUFJQVZCQTNScUlCTTVBd0FnQlVFQmFpRUZEQUVMQ3lBSklBNDJBZ1FnQ0NBT05nSUVJQWdnRHpZQ0FDQUpJQUVvQWdBZ0JrRURkR28yQWdBZ0NDQUpFT1lDUkFBQUFBQUFBT0Evb2lFVklBTWhCUU5BSUFWQmYyb2lCU0FIVEEwQklBRW9BZ0FpRGlBRlFRTjBhaUlFS3dNQUlCVWdCVUVEZENBTGFpc0RBQ0lXb3FFaEV5QUVJQk01QXdBZ0F5QUZiQ0VQSUFVaEJBTkFJQVFnQTBnRVFDQUFLQUlBSUFRZ0QycEJBM1JxSWhBZ0VDc0RBQ0FXSUFSQkEzUWdEbW9yQXdDaUlCTWdCRUVEZENBTGFpc0RBS0tnb1RrREFDQUVRUUZxSVFRTUFRc0xEQUFBQ3dBTEN5QUdJUWNNQVFzTEFrQUNRQ0FEUVFGS0JIOGdBU2dDQUNJTklBeEJBM1JxSUFBb0FnQWlBU0FNSUFNZ0RHd2lCbXBCQTNScUt3TUFPUU1BSUFJb0FnQWdERUVEZEdvZ0JpQURRWDlxSWdKcVFRTjBJQUZxS3dNQU9RTUFJQUVoQmlBTklRRU1BUVVnQTBFQlJnUi9RUUFoQWlBQUtBSUFJUVlnQVNnQ0FDRUJEQUlGSUFNTEN5RUtEQUVMSUFNaERTQUNJQUlnQTJ4cVFRTjBJQVpxS3dNQUlSUWdBa0VEZENBQmFpRVJRUndoRWdzRFFDQVNRUnhHQkVBZ0VTQVVPUU1BSUEwaENnc2dDa0VBVEFSQVFRQWhBQXdDQ3lBQUtBSUFJQXBCZjJvaURTQURiRUVEZEdvaEJpQUtJQXhNQkVBQ1FDQURJQTFyUVg5cUlRVWdDa0VEZENBR2FpRUhJQW9oQWdOQUlBSWdBMDROQVNBSklBVTJBZ1FnQ0NBRk5nSUVJQWdnQnpZQ0FDQUpJQUFvQWdBZ0NpQUNJQU5zSWdScVFRTjBhallDQUNBSUlBa1E1Z0loRXlBS0lRRURRQ0FCSUFOSUJFQWdBQ2dDQUNBQklBUnFRUU4wYWlJTElBc3JBd0FnRXlBQlFRTjBJQVpxS3dNQW9xRTVBd0FnQVVFQmFpRUJEQUVMQ3lBQ1FRRnFJUUlNQUFBTEFBc0xRUUFoQVFOQUlBRWdBMGdFUUNBQlFRTjBJQVpxUkFBQUFBQUFBQUFBT1FNQUlBRkJBV29oQVF3QkN3dEVBQUFBQUFBQThEOGhGQ0FOUVFOMElBWnFJUkZCSENFU0RBQUFDd0FMQlVGL0lRQUxCVUYvSVFBTEJVRi9JUUFMSUFra0JpQUFDNUlIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQUlRbkFFaER5QUNJQWhCb0FGcUVPd0JJUkFnQ0VHZ0Ftb2lDaUFDSUFoQnJBSnFFT3NCSUFoQmxBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDRUdRQW1vaUN5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FJUVl3Q2FpSU1JQWcyQWdBZ0NFR0lBbW9pRFVFQU5nSUFJQUFvQWdBaUFpRU9BMEFDUUNBQ0JIOGdBaWdDRENJR0lBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCaWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRGtFQUlRSkJBUVZCQUFzRlFRQWhEa0VBSVFKQkFRc2hCd0pBQWtBZ0FTZ0NBQ0lHUlEwQUlBWW9BZ3dpRVNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCRW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5Z0NBQXNnRHlBSklBc2dEU0FJS0FLc0FpQUtJQWdnRENBUUVNNEJEUUFnQWlnQ0RDSUdJQUlvQWhCR0JFQWdBaUFDS0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFJZ0JrRUVhallDRENBR0tBSUFHZ3NNQVFzTElBb29BZ1FnQ2l3QUN5SUhRZjhCY1NBSFFRQklHd1JBSUF3b0FnQWlCeUFJYTBHZ0FVZ0VRQ0FOS0FJQUlRMGdEQ0FIUVFScU5nSUFJQWNnRFRZQ0FBc0xJQVFnQ1NBTEtBSUFJQU1nRHhDL0JEc0JBQ0FLSUFnZ0RDZ0NBQ0FERUhnZ0FnUi9JQUlvQWd3aUJDQUNLQUlRUmdSL0lBSWdEaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFvQWdBTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FDUlEwQ0N3d0NDeUFDRFFBTUFRc2dBeUFES0FJQVFRSnlOZ0lBQ3lBQUtBSUFJUklnQlJCSElBb1FSeUFJSkFZZ0VndVNCd0VPZnlNR0lRZ2pCa0d3QW1va0JpQUNFSndCSVE4Z0FpQUlRYUFCYWhEc0FTRVFJQWhCb0FKcUlnb2dBaUFJUWF3Q2FoRHJBU0FJUVpRQ2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBaEJrQUpxSWdzZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdDRUdNQW1vaURDQUlOZ0lBSUFoQmlBSnFJZzFCQURZQ0FDQUFLQUlBSWdJaERnTkFBa0FnQWdSL0lBSW9BZ3dpQmlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBWW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEVnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUktBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdCMFVOQXdzTUFRc2dCd1IvUVFBaEJnd0NCVUVBQ3lFR0N5QUxLQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnZEIvd0Z4SUFkQkFFZ2JJZ2RxUmdSQUlBVWdCMEVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFzZ0J5QUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjb0FnQUxJQThnQ1NBTElBMGdDQ2dDckFJZ0NpQUlJQXdnRUJET0FRMEFJQUlvQWd3aUJpQUNLQUlRUmdSQUlBSWdBaWdDQUNnQ0tFSC9BSEZCQ0dvUkFBQWFCU0FDSUFaQkJHbzJBZ3dnQmlnQ0FCb0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd0FRMkFnQWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBUVZCQUFzRlFRRUxJUUlDUUFKQUFrQWdCa1VOQUNBR0tBSU1JZ1FnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVNJQVVRUnlBS0VFY2dDQ1FHSUJJTFNnRUNmeU1HSVFJakJrRVFhaVFHSUFJZ0FCQTdJQUpCb000REVEb2lBQ2dDQUNnQ01DRURJQUJCOE84QVFZcndBQ0FCSUFOQkQzRkJpZ0pxRVFrQUdpQUNFRHdnQWlRR0lBRUxrZ2NCRG44akJpRUlJd1pCc0FKcUpBWWdBaENjQVNFUElBSWdDRUdnQVdvUTdBRWhFQ0FJUWFBQ2FpSUtJQUlnQ0VHc0Ftb1E2d0VnQ0VHVUFtb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRWkFDYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCakFKcUlnd2dDRFlDQUNBSVFZZ0NhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdLQUlBQzBGL0VFRUVmeUFBUVFBMkFnQkJBQ0VPUVFBaEFrRUJCVUVBQ3dWQkFDRU9RUUFoQWtFQkN5RUhBa0FDUUNBQktBSUFJZ1pGRFFBZ0JpZ0NEQ0lSSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0VTZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWRGRFFNTERBRUxJQWNFZjBFQUlRWU1BZ1ZCQUFzaEJnc2dDeWdDQUNBSklBVW9BZ1FnQlN3QUN5SUhRZjhCY1NBSFFRQklHeUlIYWtZRVFDQUZJQWRCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTElBY2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDeUFQSUFrZ0N5QU5JQWdvQXF3Q0lBb2dDQ0FNSUJBUXpnRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRUnFOZ0lNSUFZb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnZEIvd0Z4SUFkQkFFZ2JCRUFnRENnQ0FDSUhJQWhyUWFBQlNBUkFJQTBvQWdBaERTQU1JQWRCQkdvMkFnQWdCeUFOTmdJQUN3c2dCQ0FKSUFzb0FnQWdBeUFQRU1FRU53TUFJQW9nQ0NBTUtBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQU9LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUVGUVFBTEJVRUJDeUVDQWtBQ1FBSkFJQVpGRFFBZ0JpZ0NEQ0lFSUFZb0FoQkdCSDhnQmlBR0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0JDZ0NBQXRCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFaUFGRUVjZ0NoQkhJQWdrQmlBU0M3WUhBUTkvSXdZaEJpTUdRZEFDYWlRR0lBWkJ1QUpxSWdvZ0FpQUdRYUFCYWlJUUlBWkJ5QUpxSUFaQnhBSnFFT1VDSUFaQnJBSnFJZ1ZDQURjQ0FDQUZRUUEyQWdnRFFDQUpRUU5IQkVBZ0NVRUNkQ0FGYWtFQU5nSUFJQWxCQVdvaENRd0JDd3NnQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dCa0dvQW1vaURDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNUWUNBQ0FHUWFRQ2FpSU5JQVkyQWdBZ0JrR2dBbW9pRGtFQU5nSUFJQVpCelFKcUlndEJBVG9BQUNBR1Fjd0NhaUlSUWNVQU9nQUFJQUFvQWdBaUFpRVBBMEFDUUNBQ0JIOGdBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeWdDQUF0QmZ4QkJCSDhnQUVFQU5nSUFRUUFoRDBFQUlRSkJBUVZCQUFzRlFRQWhEMEVBSVFKQkFRc2hDQUpBQWtBZ0FTZ0NBQ0lIUlEwQUlBY29BZ3dpRWlBSEtBSVFSZ1IvSUFjZ0J5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklCSW9BZ0FMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FJUlEwREN3d0JDeUFJQkg5QkFDRUhEQUlGUVFBTElRY0xJQXdvQWdBZ0NTQUZLQUlFSUFVc0FBc2lDRUgvQVhFZ0NFRUFTQnNpQ0dwR0JFQWdCU0FJUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0RDQUlJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lJSUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0NDZ0NBQXNnQ3lBUklBa2dEQ0FHS0FMSUFpQUdLQUxFQWlBS0lBWWdEU0FPSUJBUTVBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0NpZ0NCQ0FLTEFBTElnaEIvd0Z4SUFoQkFFZ2JSU0FMTEFBQVJYSkZCRUFnRFNnQ0FDSUxJQVpyUWFBQlNBUkFJQTRvQWdBaERpQU5JQXRCQkdvMkFnQWdDeUFPTmdJQUN3c2dCQ0FKSUF3b0FnQWdBeERDQkRnQ0FDQUtJQVlnRFNnQ0FDQURFSGdnQWdSL0lBSW9BZ3dpQkNBQ0tBSVFSZ1IvSUFJZ0R5Z0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUW9BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRb0FnQUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUNSUTBDQ3d3Q0N5QUNEUUFNQVFzZ0F5QURLQUlBUVFKeU5nSUFDeUFBS0FJQUlSTWdCUkJISUFvUVJ5QUdKQVlnRXd1MkJ3RVBmeU1HSVFZakJrSFFBbW9rQmlBR1FiZ0NhaUlLSUFJZ0JrR2dBV29pRUNBR1FjZ0NhaUFHUWNRQ2FoRGxBaUFHUWF3Q2FpSUZRZ0EzQWdBZ0JVRUFOZ0lJQTBBZ0NVRURSd1JBSUFsQkFuUWdCV3BCQURZQ0FDQUpRUUZxSVFrTUFRc0xJQVVnQlN3QUMwRUFTQVIvSUFVb0FnaEIvLy8vL3dkeFFYOXFCVUVLQ3hCS0lBWkJxQUpxSWd3Z0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdrMkFnQWdCa0drQW1vaURTQUdOZ0lBSUFaQm9BSnFJZzVCQURZQ0FDQUdRYzBDYWlJTFFRRTZBQUFnQmtITUFtb2lFVUhGQURvQUFDQUFLQUlBSWdJaER3TkFBa0FnQWdSL0lBSW9BZ3dpQnlBQ0tBSVFSZ1IvSUFJZ0FpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBY29BZ0FMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTlCQUNFQ1FRRUZRUUFMQlVFQUlROUJBQ0VDUVFFTElRZ0NRQUpBSUFFb0FnQWlCMFVOQUNBSEtBSU1JaElnQnlnQ0VFWUVmeUFISUFjb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBU0tBSUFDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnb0FnQUxJQXNnRVNBSklBd2dCaWdDeUFJZ0JpZ0N4QUlnQ2lBR0lBMGdEaUFRRU9RQ0RRQWdBaWdDRENJSElBSW9BaEJHQkVBZ0FpQUNLQUlBS0FJb1FmOEFjVUVJYWhFQUFCb0ZJQUlnQjBFRWFqWUNEQ0FIS0FJQUdnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF3d1E1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFRVkJBQXNGUVFFTElRSUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnUWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFS0FJQUMwRi9FRUVFUUNBQlFRQTJBZ0FNQVFVZ0FrVU5BZ3NNQWdzZ0FnMEFEQUVMSUFNZ0F5Z0NBRUVDY2pZQ0FBc2dBQ2dDQUNFVElBVVFSeUFLRUVjZ0JpUUdJQk1MdGdjQkQzOGpCaUVHSXdaQjBBSnFKQVlnQmtHNEFtb2lDaUFDSUFaQm9BRnFJaEFnQmtISUFtb2dCa0hFQW1vUTVRSWdCa0dzQW1vaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBR1FhZ0NhaUlNSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBWkJwQUpxSWcwZ0JqWUNBQ0FHUWFBQ2FpSU9RUUEyQWdBZ0JrSE5BbW9pQzBFQk9nQUFJQVpCekFKcUloRkJ4UUE2QUFBZ0FDZ0NBQ0lDSVE4RFFBSkFJQUlFZnlBQ0tBSU1JZ2NnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSEtBSUFDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWlnQ0FBdEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBaEZEUU1MREFFTElBZ0VmMEVBSVFjTUFnVkJBQXNoQndzZ0RDZ0NBQ0FKSUFVb0FnUWdCU3dBQ3lJSVFmOEJjU0FJUVFCSUd5SUlha1lFUUNBRklBaEJBWFFRU2lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFNSUFnZ0JTZ0NBQ0FGSUFVc0FBdEJBRWdiSWdscU5nSUFDeUFDS0FJTUlnZ2dBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FJS0FJQUN5QUxJQkVnQ1NBTUlBWW9Bc2dDSUFZb0FzUUNJQW9nQmlBTklBNGdFQkRrQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQkdvMkFnd2dCeWdDQUJvTERBRUxDeUFLS0FJRUlBb3NBQXNpQ0VIL0FYRWdDRUVBU0J0RklBc3NBQUJGY2tVRVFDQU5LQUlBSWdzZ0JtdEJvQUZJQkVBZ0RpZ0NBQ0VPSUEwZ0MwRUVhallDQUNBTElBNDJBZ0FMQ3lBRUlBa2dEQ2dDQUNBREVNUUVPUU1BSUFvZ0JpQU5LQUlBSUFNUWVDQUNCSDhnQWlnQ0RDSUVJQUlvQWhCR0JIOGdBaUFQS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkNnQ0FBdEJmeEJCQkg4Z0FFRUFOZ0lBUVFFRlFRQUxCVUVCQ3lFQ0FrQUNRQUpBSUFkRkRRQWdCeWdDRENJRUlBY29BaEJHQkg4Z0J5QUhLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ2dDQUF0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRXlBRkVFY2dDaEJISUFZa0JpQVRDOGNIQVE1L0l3WWhDQ01HUWJBQ2FpUUdJQWhCb0FGcUlRMGdDRUdZQW1vaEJpQUlRYVFDYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRYURPQXhBNklnQW9BZ0FvQWpBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJpQUpxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VHVUFtb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFaQUNhaUlQSUFnMkFnQWdDRUdNQW1vaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnlnQ0FBdEJmeEJCQkg4Z0FVRUFOZ0lBUVFBaERFRUFJUU5CQVFWQkFBc0ZRUUFoREVFQUlRTkJBUXNoQ1FKQUFrQWdBaWdDQUNJSFJRMEFJQWNvQWd3aUVTQUhLQUlRUmdSL0lBY2dCeWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQkVvQWdBTFFYOFFRUVJBSUFKQkFEWUNBQXdCQlNBSlJRMERDd3dCQ3lBSkJIOUJBQ0VIREFJRlFRQUxJUWNMSUFvb0FnQWdBQ0FHS0FJRUlBWXNBQXNpQ1VIL0FYRWdDVUVBU0JzaUNXcEdCRUFnQmlBSlFRRjBFRW9nQmlBR0xBQUxRUUJJQkg4Z0JpZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDaUFKSUFZb0FnQWdCaUFHTEFBTFFRQklHeUlBYWpZQ0FBc2dBeWdDRENJSklBTW9BaEJHQkg4Z0F5QURLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDU2dDQUF0QkVDQUFJQW9nRUVFQUlBc2dDQ0FQSUEwUXpnRU5BQ0FES0FJTUlnY2dBeWdDRUVZRVFDQURJQU1vQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQXlBSFFRUnFOZ0lNSUFjb0FnQWFDd3dCQ3dzZ0JpQUtLQUlBSUFCckVFb2dCaWdDQUNBR0lBWXNBQXRCQUVnYkFuOFFYQ0VTSUE0Z0JUWUNBQ0FTQ3lBT0VNVUVRUUZIQkVBZ0JFRUVOZ0lBQ3lBREJIOGdBeWdDRENJQUlBTW9BaEJHQkg4Z0F5QU1LQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdBQ2dDQUF0QmZ4QkJCSDhnQVVFQU5nSUFRUUVGUVFBTEJVRUJDeUVBQWtBQ1FBSkFJQWRGRFFBZ0J5Z0NEQ0lESUFjb0FoQkdCSDhnQnlBSEtBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0F5Z0NBQXRCZnhCQkJFQWdBa0VBTmdJQURBRUZJQUJGRFFJTERBSUxJQUFOQUF3QkN5QUVJQVFvQWdCQkFuSTJBZ0FMSUFFb0FnQWhFeUFHRUVjZ0N4QkhJQWdrQmlBVEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNPQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ05DeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDTUN5RUhJQVlrQmlBSEMxWUJBbjhqQmlFR0l3WkJFR29rQmlBR0lBRW9BZ0EyQWdRZ0JpQUNLQUlBTmdJQUlBWkJDR29pQVNBR0tBSUVOZ0lBSUFaQkRHb2lBaUFHS0FJQU5nSUFJQUVnQWlBRElBUWdCUkNMQ3lFSElBWWtCaUFIQzFZQkFuOGpCaUVHSXdaQkVHb2tCaUFHSUFFb0FnQTJBZ1FnQmlBQ0tBSUFOZ0lBSUFaQkNHb2lBU0FHS0FJRU5nSUFJQVpCREdvaUFpQUdLQUlBTmdJQUlBRWdBaUFESUFRZ0JSQ0lDeUVISUFZa0JpQUhDMVlCQW44akJpRUdJd1pCRUdva0JpQUdJQUVvQWdBMkFnUWdCaUFDS0FJQU5nSUFJQVpCQ0dvaUFTQUdLQUlFTmdJQUlBWkJER29pQWlBR0tBSUFOZ0lBSUFFZ0FpQURJQVFnQlJDR0N5RUhJQVlrQmlBSEM1QUJBZ04vQW53Z0FDQUFFT1lDbnlJRVJBQUFBQUFBQUFBQVlnUkFJQVNhSUFRZ0FDZ0NBQ0lCS3dNQUlnVkVBQUFBQUFBQUFBQmpHeUVFSUFFZ0JTQUVvQ0lGT1FNQVJBQUFBQUFBQVBBL0lBUWdCYUtmb3lFRklBQW9BZ1FoQWtFQUlRQURRQ0FBSUFKSUJFQWdBRUVEZENBQmFpSURJQVVnQXlzREFLSTVBd0FnQUVFQmFpRUFEQUVMQ3dzZ0JKb0xWZ0VDZnlNR0lRWWpCa0VRYWlRR0lBWWdBU2dDQURZQ0JDQUdJQUlvQWdBMkFnQWdCa0VJYWlJQklBWW9BZ1EyQWdBZ0JrRU1haUlDSUFZb0FnQTJBZ0FnQVNBQ0lBTWdCQ0FGRUlVTElRY2dCaVFHSUFjTDdRSUJCSDhqQmlFR0l3WkJNR29rQmlBR1FTaHFJUWNnQmtFZ2FpRUlJQU1vQWdSQkFYRUVRQ0FISUFNUU95QUhRYURPQXhBNklRa2dCeEE4SUFjZ0F4QTdJQWRCcU00REVEb2hBeUFIRUR3Z0F5Z0NBQ2dDR0NFQUlBWWdBeUFBUVQ5eFFiSUZhaEVEQUNBREtBSUFLQUljSVFBZ0JrRU1haUFESUFCQlAzRkJzZ1ZxRVFNQUlBWWdBaWdDQURZQ0dDQUhJQVlvQWhnMkFnQWdCU0FCSUFjZ0JpQUdRUmhxSWdBZ0NTQUVRUUVRbFFJZ0JrWTZBQUFnQVNnQ0FDRUJBMEFnQUVGMGFpSUFFRWNnQUNBR1J3MEFDd1VnQ0VGL05nSUFJQUFvQWdBb0FoQWhDU0FHSUFFb0FnQTJBaVFnQmlBQ0tBSUFOZ0ljSUFZZ0JpZ0NKRFlDQUNBSElBWW9BaHcyQWdBZ0FTQUFJQVlnQnlBRElBUWdDQ0FKUVQ5eFFjWUNhaEVLQURZQ0FBSkFBa0FDUUFKQUlBZ29BZ0FPQWdBQkFnc2dCVUVBT2dBQURBSUxJQVZCQVRvQUFBd0JDeUFGUVFFNkFBQWdCRUVFTmdJQUN5QUJLQUlBSVFFTElBWWtCaUFCQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF2UVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRdmdRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDNWNIQVExL0l3WWhDQ01HUWZBQmFpUUdJQUlRbkFFaER5QUlRZFFCYWlJS0lBSWdDRUhnQVdvUTdRRWdDRUhJQVdvaUJVSUFOd0lBSUFWQkFEWUNDQU5BSUFsQkEwY0VRQ0FKUVFKMElBVnFRUUEyQWdBZ0NVRUJhaUVKREFFTEN5QUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBSVFjUUJhaUlMSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKTmdJQUlBaEJ3QUZxSWd3Z0NEWUNBQ0FJUWJ3QmFpSU5RUUEyQWdBZ0FDZ0NBQ0lDSVE0RFFBSkFJQUlFZnlBQ0tBSU1JZ1lnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBR0xBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUFJUTVCQUNFQ1FRRUZRUUFMQlVFQUlRNUJBQ0VDUVFFTElRY0NRQUpBSUFFb0FnQWlCa1VOQUNBR0tBSU1JaEFnQmlnQ0VFWUVmeUFHSUFZb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBUUxBQUFFRUlMUVg4UVFRUkFJQUZCQURZQ0FBd0JCU0FIUlEwREN3d0JDeUFIQkg5QkFDRUdEQUlGUVFBTElRWUxJQXNvQWdBZ0NTQUZLQUlFSUFVc0FBc2lCMEgvQVhFZ0IwRUFTQnNpQjJwR0JFQWdCU0FIUVFGMEVFb2dCU0FGTEFBTFFRQklCSDhnQlNnQ0NFSC8vLy8vQjNGQmYyb0ZRUW9MRUVvZ0N5QUhJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUphallDQUFzZ0FpZ0NEQ0lISUFJb0FoQkdCSDhnQWlBQ0tBSUFLQUlrUWY4QWNVRUlhaEVBQUFVZ0J5d0FBQkJDQzBIL0FYRWdEeUFKSUFzZ0RTQUlMQURnQVNBS0lBZ2dERUh3N3dBUTBBRU5BQ0FDS0FJTUlnWWdBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBR1FRRnFOZ0lNSUFZc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lCMEgvQVhFZ0IwRUFTQnNFUUNBTUtBSUFJZ2NnQ0d0Qm9BRklCRUFnRFNnQ0FDRU5JQXdnQjBFRWFqWUNBQ0FISUEwMkFnQUxDeUFFSUFrZ0N5Z0NBQ0FESUE4UXZ3UTdBUUFnQ2lBSUlBd29BZ0FnQXhCNElBSUVmeUFDS0FJTUlnUWdBaWdDRUVZRWZ5QUNJQTRvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FFTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQkJVRUFDd1ZCQVFzaEFnSkFBa0FDUUNBR1JRMEFJQVlvQWd3aUJDQUdLQUlRUmdSL0lBWWdCaWdDQUNnQ0pFSC9BSEZCQ0dvUkFBQUZJQVFzQUFBUVFndEJmeEJCQkVBZ0FVRUFOZ0lBREFFRklBSkZEUUlMREFJTElBSU5BQXdCQ3lBRElBTW9BZ0JCQW5JMkFnQUxJQUFvQWdBaEVTQUZFRWNnQ2hCSElBZ2tCaUFSQzVjSEFRMS9Jd1loQ0NNR1FmQUJhaVFHSUFJUW5BRWhEeUFJUWRRQmFpSUtJQUlnQ0VIZ0FXb1E3UUVnQ0VISUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUlRY1FCYWlJTElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQWhCd0FGcUlnd2dDRFlDQUNBSVFid0JhaUlOUVFBMkFnQWdBQ2dDQUNJQ0lRNERRQUpBSUFJRWZ5QUNLQUlNSWdZZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUdMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE1QkFDRUNRUUVGUVFBTEJVRUFJUTVCQUNFQ1FRRUxJUWNDUUFKQUlBRW9BZ0FpQmtVTkFDQUdLQUlNSWhBZ0JpZ0NFRVlFZnlBR0lBWW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVFMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSFJRMERDd3dCQ3lBSEJIOUJBQ0VHREFJRlFRQUxJUVlMSUFzb0FnQWdDU0FGS0FJRUlBVXNBQXNpQjBIL0FYRWdCMEVBU0JzaUIycEdCRUFnQlNBSFFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dDeUFISUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSElBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCeXdBQUJCQ0MwSC9BWEVnRHlBSklBc2dEU0FJTEFEZ0FTQUtJQWdnREVIdzd3QVEwQUVOQUNBQ0tBSU1JZ1lnQWlnQ0VFWUVRQ0FDSUFJb0FnQW9BaWhCL3dCeFFRaHFFUUFBR2dVZ0FpQUdRUUZxTmdJTUlBWXNBQUFRUWhvTERBRUxDeUFLS0FJRUlBb3NBQXNpQjBIL0FYRWdCMEVBU0JzRVFDQU1LQUlBSWdjZ0NHdEJvQUZJQkVBZ0RTZ0NBQ0VOSUF3Z0IwRUVhallDQUNBSElBMDJBZ0FMQ3lBRUlBa2dDeWdDQUNBRElBOFF3QVEyQWdBZ0NpQUlJQXdvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE0b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUdSUTBBSUFZb0Fnd2lCQ0FHS0FJUVJnUi9JQVlnQmlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFU0FGRUVjZ0NoQkhJQWdrQmlBUkM1Y0hBUTEvSXdZaENDTUdRZkFCYWlRR0lBSVFuQUVoRHlBSVFkUUJhaUlLSUFJZ0NFSGdBV29RN1FFZ0NFSElBV29pQlVJQU53SUFJQVZCQURZQ0NBTkFJQWxCQTBjRVFDQUpRUUowSUFWcVFRQTJBZ0FnQ1VFQmFpRUpEQUVMQ3lBRklBVXNBQXRCQUVnRWZ5QUZLQUlJUWYvLy8vOEhjVUYvYWdWQkNnc1FTaUFJUWNRQmFpSUxJQVVvQWdBZ0JTQUZMQUFMUVFCSUd5SUpOZ0lBSUFoQndBRnFJZ3dnQ0RZQ0FDQUlRYndCYWlJTlFRQTJBZ0FnQUNnQ0FDSUNJUTREUUFKQUlBSUVmeUFDS0FJTUlnWWdBaWdDRUVZRWZ5QUNJQUlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FHTEFBQUVFSUxRWDhRUVFSL0lBQkJBRFlDQUVFQUlRNUJBQ0VDUVFFRlFRQUxCVUVBSVE1QkFDRUNRUUVMSVFjQ1FBSkFJQUVvQWdBaUJrVU5BQ0FHS0FJTUloQWdCaWdDRUVZRWZ5QUdJQVlvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FRTEFBQUVFSUxRWDhRUVFSQUlBRkJBRFlDQUF3QkJTQUhSUTBEQ3d3QkN5QUhCSDlCQUNFR0RBSUZRUUFMSVFZTElBc29BZ0FnQ1NBRktBSUVJQVVzQUFzaUIwSC9BWEVnQjBFQVNCc2lCMnBHQkVBZ0JTQUhRUUYwRUVvZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ3lBSElBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSmFqWUNBQXNnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEgvQVhFZ0R5QUpJQXNnRFNBSUxBRGdBU0FLSUFnZ0RFSHc3d0FRMEFFTkFDQUNLQUlNSWdZZ0FpZ0NFRVlFUUNBQ0lBSW9BZ0FvQWloQi93QnhRUWhxRVFBQUdnVWdBaUFHUVFGcU5nSU1JQVlzQUFBUVFob0xEQUVMQ3lBS0tBSUVJQW9zQUFzaUIwSC9BWEVnQjBFQVNCc0VRQ0FNS0FJQUlnY2dDR3RCb0FGSUJFQWdEU2dDQUNFTklBd2dCMEVFYWpZQ0FDQUhJQTAyQWdBTEN5QUVJQWtnQ3lnQ0FDQURJQThRd1FRM0F3QWdDaUFJSUF3b0FnQWdBeEI0SUFJRWZ5QUNLQUlNSWdRZ0FpZ0NFRVlFZnlBQ0lBNG9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVCQlVFQUN3VkJBUXNoQWdKQUFrQUNRQ0FHUlEwQUlBWW9BZ3dpQkNBR0tBSVFSZ1IvSUFZZ0JpZ0NBQ2dDSkVIL0FIRkJDR29SQUFBRklBUXNBQUFRUWd0QmZ4QkJCRUFnQVVFQU5nSUFEQUVGSUFKRkRRSUxEQUlMSUFJTkFBd0JDeUFESUFNb0FnQkJBbkkyQWdBTElBQW9BZ0FoRVNBRkVFY2dDaEJISUFna0JpQVJDOFlIQVE5L0l3WWhCaU1HUWZBQmFpUUdJQVpCMkFGcUlnb2dBaUFHUWFBQmFpSVFJQVpCNXdGcUlBWkI1Z0ZxRU9rQ0lBWkJ6QUZxSWdWQ0FEY0NBQ0FGUVFBMkFnZ0RRQ0FKUVFOSEJFQWdDVUVDZENBRmFrRUFOZ0lBSUFsQkFXb2hDUXdCQ3dzZ0JTQUZMQUFMUVFCSUJIOGdCU2dDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQmtISUFXb2lEQ0FGS0FJQUlBVWdCU3dBQzBFQVNCc2lDVFlDQUNBR1FjUUJhaUlOSUFZMkFnQWdCa0hBQVdvaURrRUFOZ0lBSUFaQjVRRnFJZ3RCQVRvQUFDQUdRZVFCYWlJUlFjVUFPZ0FBSUFBb0FnQWlBaUVQQTBBQ1FDQUNCSDhnQWlnQ0RDSUhJQUlvQWhCR0JIOGdBaUFDS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUFRUUEyQWdCQkFDRVBRUUFoQWtFQkJVRUFDd1ZCQUNFUFFRQWhBa0VCQ3lFSUFrQUNRQ0FCS0FJQUlnZEZEUUFnQnlnQ0RDSVNJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRWl3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdDRVVOQXdzTUFRc2dDQVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QU1LQUlBSUFrZ0JTZ0NCQ0FGTEFBTElnaEIvd0Z4SUFoQkFFZ2JJZ2hxUmdSQUlBVWdDRUVCZEJCS0lBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUF3Z0NDQUZLQUlBSUFVZ0JTd0FDMEVBU0JzaUNXbzJBZ0FMSUFJb0Fnd2lDQ0FDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFnc0FBQVFRZ3RCL3dGeElBc2dFU0FKSUF3Z0Jpd0E1d0VnQml3QTVnRWdDaUFHSUEwZ0RpQVFFT2dDRFFBZ0FpZ0NEQ0lISUFJb0FoQkdCRUFnQWlBQ0tBSUFLQUlvUWY4QWNVRUlhaEVBQUJvRklBSWdCMEVCYWpZQ0RDQUhMQUFBRUVJYUN3d0JDd3NnQ2lnQ0JDQUtMQUFMSWdoQi93RnhJQWhCQUVnYlJTQUxMQUFBUlhKRkJFQWdEU2dDQUNJTElBWnJRYUFCU0FSQUlBNG9BZ0FoRGlBTklBdEJCR28yQWdBZ0N5QU9OZ0lBQ3dzZ0JDQUpJQXdvQWdBZ0F4RENCRGdDQUNBS0lBWWdEU2dDQUNBREVIZ2dBZ1IvSUFJb0Fnd2lCQ0FDS0FJUVJnUi9JQUlnRHlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRRUZRUUFMQlVFQkN5RUNBa0FDUUFKQUlBZEZEUUFnQnlnQ0RDSUVJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQkN3QUFCQkNDMEYvRUVFRVFDQUJRUUEyQWdBTUFRVWdBa1VOQWdzTUFnc2dBZzBBREFFTElBTWdBeWdDQUVFQ2NqWUNBQXNnQUNnQ0FDRVRJQVVRUnlBS0VFY2dCaVFHSUJNTHhnY0JEMzhqQmlFR0l3WkI4QUZxSkFZZ0JrSFlBV29pQ2lBQ0lBWkJvQUZxSWhBZ0JrSG5BV29nQmtIbUFXb1E2UUlnQmtITUFXb2lCVUlBTndJQUlBVkJBRFlDQ0FOQUlBbEJBMGNFUUNBSlFRSjBJQVZxUVFBMkFnQWdDVUVCYWlFSkRBRUxDeUFGSUFVc0FBdEJBRWdFZnlBRktBSUlRZi8vLy84SGNVRi9hZ1ZCQ2dzUVNpQUdRY2dCYWlJTUlBVW9BZ0FnQlNBRkxBQUxRUUJJR3lJSk5nSUFJQVpCeEFGcUlnMGdCallDQUNBR1FjQUJhaUlPUVFBMkFnQWdCa0hsQVdvaUMwRUJPZ0FBSUFaQjVBRnFJaEZCeFFBNkFBQWdBQ2dDQUNJQ0lROERRQUpBSUFJRWZ5QUNLQUlNSWdjZ0FpZ0NFRVlFZnlBQ0lBSW9BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUhMQUFBRUVJTFFYOFFRUVIvSUFCQkFEWUNBRUVBSVE5QkFDRUNRUUVGUVFBTEJVRUFJUTlCQUNFQ1FRRUxJUWdDUUFKQUlBRW9BZ0FpQjBVTkFDQUhLQUlNSWhJZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQVNMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBSVJRMERDd3dCQ3lBSUJIOUJBQ0VIREFJRlFRQUxJUWNMSUF3b0FnQWdDU0FGS0FJRUlBVXNBQXNpQ0VIL0FYRWdDRUVBU0JzaUNHcEdCRUFnQlNBSVFRRjBFRW9nQlNBRkxBQUxRUUJJQkg4Z0JTZ0NDRUgvLy8vL0IzRkJmMm9GUVFvTEVFb2dEQ0FJSUFVb0FnQWdCU0FGTEFBTFFRQklHeUlKYWpZQ0FBc2dBaWdDRENJSUlBSW9BaEJHQkg4Z0FpQUNLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdDQ3dBQUJCQ0MwSC9BWEVnQ3lBUklBa2dEQ0FHTEFEbkFTQUdMQURtQVNBS0lBWWdEU0FPSUJBUTZBSU5BQ0FDS0FJTUlnY2dBaWdDRUVZRVFDQUNJQUlvQWdBb0FpaEIvd0J4UVFocUVRQUFHZ1VnQWlBSFFRRnFOZ0lNSUFjc0FBQVFRaG9MREFFTEN5QUtLQUlFSUFvc0FBc2lDRUgvQVhFZ0NFRUFTQnRGSUFzc0FBQkZja1VFUUNBTktBSUFJZ3NnQm10Qm9BRklCRUFnRGlnQ0FDRU9JQTBnQzBFRWFqWUNBQ0FMSUE0MkFnQUxDeUFFSUFrZ0RDZ0NBQ0FERU1NRU9RTUFJQW9nQmlBTktBSUFJQU1RZUNBQ0JIOGdBaWdDRENJRUlBSW9BaEJHQkg4Z0FpQVBLQUlBS0FJa1FmOEFjVUVJYWhFQUFBVWdCQ3dBQUJCQ0MwRi9FRUVFZnlBQVFRQTJBZ0JCQVFWQkFBc0ZRUUVMSVFJQ1FBSkFBa0FnQjBVTkFDQUhLQUlNSWdRZ0J5Z0NFRVlFZnlBSElBY29BZ0FvQWlSQi93QnhRUWhxRVFBQUJTQUVMQUFBRUVJTFFYOFFRUVJBSUFGQkFEWUNBQXdCQlNBQ1JRMENDd3dDQ3lBQ0RRQU1BUXNnQXlBREtBSUFRUUp5TmdJQUN5QUFLQUlBSVJNZ0JSQkhJQW9RUnlBR0pBWWdFd3ZHQndFUGZ5TUdJUVlqQmtId0FXb2tCaUFHUWRnQmFpSUtJQUlnQmtHZ0FXb2lFQ0FHUWVjQmFpQUdRZVlCYWhEcEFpQUdRY3dCYWlJRlFnQTNBZ0FnQlVFQU5nSUlBMEFnQ1VFRFJ3UkFJQWxCQW5RZ0JXcEJBRFlDQUNBSlFRRnFJUWtNQVFzTElBVWdCU3dBQzBFQVNBUi9JQVVvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFaQnlBRnFJZ3dnQlNnQ0FDQUZJQVVzQUF0QkFFZ2JJZ2syQWdBZ0JrSEVBV29pRFNBR05nSUFJQVpCd0FGcUlnNUJBRFlDQUNBR1FlVUJhaUlMUVFFNkFBQWdCa0hrQVdvaUVVSEZBRG9BQUNBQUtBSUFJZ0loRHdOQUFrQWdBZ1IvSUFJb0Fnd2lCeUFDS0FJUVJnUi9JQUlnQWlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFjc0FBQVFRZ3RCZnhCQkJIOGdBRUVBTmdJQVFRQWhEMEVBSVFKQkFRVkJBQXNGUVFBaEQwRUFJUUpCQVFzaENBSkFBa0FnQVNnQ0FDSUhSUTBBSUFjb0Fnd2lFaUFIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUJJc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQWhGRFFNTERBRUxJQWdFZjBFQUlRY01BZ1ZCQUFzaEJ3c2dEQ2dDQUNBSklBVW9BZ1FnQlN3QUN5SUlRZjhCY1NBSVFRQklHeUlJYWtZRVFDQUZJQWhCQVhRUVNpQUZJQVVzQUF0QkFFZ0VmeUFGS0FJSVFmLy8vLzhIY1VGL2FnVkJDZ3NRU2lBTUlBZ2dCU2dDQUNBRklBVXNBQXRCQUVnYklnbHFOZ0lBQ3lBQ0tBSU1JZ2dnQWlnQ0VFWUVmeUFDSUFJb0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBSUxBQUFFRUlMUWY4QmNTQUxJQkVnQ1NBTUlBWXNBT2NCSUFZc0FPWUJJQW9nQmlBTklBNGdFQkRvQWcwQUlBSW9BZ3dpQnlBQ0tBSVFSZ1JBSUFJZ0FpZ0NBQ2dDS0VIL0FIRkJDR29SQUFBYUJTQUNJQWRCQVdvMkFnd2dCeXdBQUJCQ0dnc01BUXNMSUFvb0FnUWdDaXdBQ3lJSVFmOEJjU0FJUVFCSUcwVWdDeXdBQUVWeVJRUkFJQTBvQWdBaUN5QUdhMEdnQVVnRVFDQU9LQUlBSVE0Z0RTQUxRUVJxTmdJQUlBc2dEallDQUFzTElBUWdDU0FNS0FJQUlBTVF4QVE1QXdBZ0NpQUdJQTBvQWdBZ0F4QjRJQUlFZnlBQ0tBSU1JZ1FnQWlnQ0VFWUVmeUFDSUE4b0FnQW9BaVJCL3dCeFFRaHFFUUFBQlNBRUxBQUFFRUlMUVg4UVFRUi9JQUJCQURZQ0FFRUJCVUVBQ3dWQkFRc2hBZ0pBQWtBQ1FDQUhSUTBBSUFjb0Fnd2lCQ0FIS0FJUVJnUi9JQWNnQnlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFRc0FBQVFRZ3RCZnhCQkJFQWdBVUVBTmdJQURBRUZJQUpGRFFJTERBSUxJQUlOQUF3QkN5QURJQU1vQWdCQkFuSTJBZ0FMSUFBb0FnQWhFeUFGRUVjZ0NoQkhJQVlrQmlBVEMwRUJBbjhnQUNnQ0JDRUJJQUFvQWdBZ0FDZ0NDQ0lDUVFGMWFpRUFJQUpCQVhFRVFDQUJJQUFvQWdCcUtBSUFJUUVMSUFBZ0FVSC9BWEZCckFOcUVRRUFDdzBBSUFBb0FnQW9BZ0FRb1FzTEp3RUJmeUFCS0FJQUlRTWdBU2dDQkNFQklBQWdBallDQUNBQUlBTTJBZ1FnQUNBQk5nSUlDeUVCQVg5QmpNNERRWXpPQXlnQ0FDSUJRUUZxTmdJQUlBQWdBVUVCYWpZQ0JBdHRBUVIvSXdZaEFTTUdRVEJxSkFZZ0FVRVlhaUVESUFGQmp3RTJBaEFnQVVFQU5nSVVJQUZCSUdvaUFpQUJLUUlRTndJQUlBRWdBaUFBRUtNTElBQW9BZ0JCZjBjRVFDQUNJQUUyQWdBZ0F5QUNOZ0lBSUFBZ0F4RHBDUXNnQUNnQ0JFRi9haUVFSUFFa0JpQUVDOWNIQVE1L0l3WWhDQ01HUWZBQmFpUUdJQWhCb0FGcUlRMGdDRUhRQVdvaEJpQUlRZHdCYWlJTFFnQTNBZ0FnQzBFQU5nSUlRUUFoQUFOQUlBQkJBMGNFUUNBQVFRSjBJQXRxUVFBMkFnQWdBRUVCYWlFQURBRUxDeUFHSUFNUU95QUdRWURPQXhBNklnQW9BZ0FvQWlBaEF5QUFRZkR2QUVHSzhBQWdEU0FEUVE5eFFZb0NhaEVKQUJvZ0JoQThJQVpDQURjQ0FDQUdRUUEyQWdoQkFDRUFBMEFnQUVFRFJ3UkFJQUJCQW5RZ0JtcEJBRFlDQUNBQVFRRnFJUUFNQVFzTElBaEJ3QUZxSVE0Z0JpQUdMQUFMUVFCSUJIOGdCaWdDQ0VILy8vLy9CM0ZCZjJvRlFRb0xFRW9nQ0VITUFXb2lDaUFHS0FJQUlBWWdCaXdBQzBFQVNCc2lBRFlDQUNBSVFjZ0JhaUlQSUFnMkFnQWdDRUhFQVdvaUVFRUFOZ0lBSUFFb0FnQWlBeUVNQTBBQ1FDQURCSDhnQXlnQ0RDSUhJQU1vQWhCR0JIOGdBeUFES0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQnl3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFDRU1RUUFoQTBFQkJVRUFDd1ZCQUNFTVFRQWhBMEVCQ3lFSkFrQUNRQ0FDS0FJQUlnZEZEUUFnQnlnQ0RDSVJJQWNvQWhCR0JIOGdCeUFIS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnRVN3QUFCQkNDMEYvRUVFRVFDQUNRUUEyQWdBTUFRVWdDVVVOQXdzTUFRc2dDUVIvUVFBaEJ3d0NCVUVBQ3lFSEN5QUtLQUlBSUFBZ0JpZ0NCQ0FHTEFBTElnbEIvd0Z4SUFsQkFFZ2JJZ2xxUmdSQUlBWWdDVUVCZEJCS0lBWWdCaXdBQzBFQVNBUi9JQVlvQWdoQi8vLy8vd2R4UVg5cUJVRUtDeEJLSUFvZ0NTQUdLQUlBSUFZZ0Jpd0FDMEVBU0JzaUFHbzJBZ0FMSUFNb0Fnd2lDU0FES0FJUVJnUi9JQU1nQXlnQ0FDZ0NKRUgvQUhGQkNHb1JBQUFGSUFrc0FBQVFRZ3RCL3dGeFFSQWdBQ0FLSUJCQkFDQUxJQWdnRHlBTkVOQUJEUUFnQXlnQ0RDSUhJQU1vQWhCR0JFQWdBeUFES0FJQUtBSW9RZjhBY1VFSWFoRUFBQm9GSUFNZ0IwRUJhallDRENBSExBQUFFRUlhQ3d3QkN3c2dCaUFLS0FJQUlBQnJFRW9nQmlnQ0FDQUdJQVlzQUF0QkFFZ2JBbjhRWENFU0lBNGdCVFlDQUNBU0N5QU9FTVVFUVFGSEJFQWdCRUVFTmdJQUN5QURCSDhnQXlnQ0RDSUFJQU1vQWhCR0JIOGdBeUFNS0FJQUtBSWtRZjhBY1VFSWFoRUFBQVVnQUN3QUFCQkNDMEYvRUVFRWZ5QUJRUUEyQWdCQkFRVkJBQXNGUVFFTElRQUNRQUpBQWtBZ0IwVU5BQ0FIS0FJTUlnTWdCeWdDRUVZRWZ5QUhJQWNvQWdBb0FpUkIvd0J4UVFocUVRQUFCU0FETEFBQUVFSUxRWDhRUVFSQUlBSkJBRFlDQUF3QkJTQUFSUTBDQ3d3Q0N5QUFEUUFNQVFzZ0JDQUVLQUlBUVFKeU5nSUFDeUFCS0FJQUlSTWdCaEJISUFzUVJ5QUlKQVlnRXd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFvQXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW53c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbmdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFuUXNoQnlBR0pBWWdCd3RXQVFKL0l3WWhCaU1HUVJCcUpBWWdCaUFCS0FJQU5nSUVJQVlnQWlnQ0FEWUNBQ0FHUVFocUlnRWdCaWdDQkRZQ0FDQUdRUXhxSWdJZ0JpZ0NBRFlDQUNBQklBSWdBeUFFSUFVUW13c2hCeUFHSkFZZ0J3dFdBUUovSXdZaEJpTUdRUkJxSkFZZ0JpQUJLQUlBTmdJRUlBWWdBaWdDQURZQ0FDQUdRUWhxSWdFZ0JpZ0NCRFlDQUNBR1FReHFJZ0lnQmlnQ0FEWUNBQ0FCSUFJZ0F5QUVJQVVRbWdzaEJ5QUdKQVlnQnd0V0FRSi9Jd1loQmlNR1FSQnFKQVlnQmlBQktBSUFOZ0lFSUFZZ0FpZ0NBRFlDQUNBR1FRaHFJZ0VnQmlnQ0JEWUNBQ0FHUVF4cUlnSWdCaWdDQURZQ0FDQUJJQUlnQXlBRUlBVVFtUXNoQnlBR0pBWWdCd3Z0QWdFRWZ5TUdJUVlqQmtFd2FpUUdJQVpCS0dvaEJ5QUdRU0JxSVFnZ0F5Z0NCRUVCY1FSQUlBY2dBeEE3SUFkQmdNNERFRG9oQ1NBSEVEd2dCeUFERURzZ0IwR1F6Z01RT2lFRElBY1FQQ0FES0FJQUtBSVlJUUFnQmlBRElBQkJQM0ZCc2dWcUVRTUFJQU1vQWdBb0Fod2hBQ0FHUVF4cUlBTWdBRUUvY1VHeUJXb1JBd0FnQmlBQ0tBSUFOZ0lZSUFjZ0JpZ0NHRFlDQUNBRklBRWdCeUFHSUFaQkdHb2lBQ0FKSUFSQkFSQ1dBaUFHUmpvQUFDQUJLQUlBSVFFRFFDQUFRWFJxSWdBUVJ5QUFJQVpIRFFBTEJTQUlRWDgyQWdBZ0FDZ0NBQ2dDRUNFSklBWWdBU2dDQURZQ0pDQUdJQUlvQWdBMkFod2dCaUFHS0FJa05nSUFJQWNnQmlnQ0hEWUNBQ0FCSUFBZ0JpQUhJQU1nQkNBSUlBbEJQM0ZCeGdKcUVRb0FOZ0lBQWtBQ1FBSkFBa0FnQ0NnQ0FBNENBQUVDQ3lBRlFRQTZBQUFNQWdzZ0JVRUJPZ0FBREFFTElBVkJBVG9BQUNBRVFRUTJBZ0FMSUFFb0FnQWhBUXNnQmlRR0lBRUxRUUVCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU2dDQUNBQVFRUjBhaUlEUVlDQWdJQi9jU0VBSUFNZ0FDQUFRUmgyY25NaEFDQUJRUVJxSVFFTUFRc0xJQUFMR1FBZ0FFSUFOd0lBSUFCQkFEWUNDQ0FBSUFJZ0F4REhCQXRYQVFGL0FuOENRQU4vQW44Z0F5QUVSZzBDUVg4Z0FTQUNSZzBBR2tGL0lBRW9BZ0FpQUNBREtBSUFJZ1ZJRFFBYUlBVWdBRWdFZjBFQkJTQURRUVJxSVFNZ0FVRUVhaUVCREFJTEN3c01BUXNnQVNBQ1J3c0xQd0VCZjBFQUlRQURRQ0FCSUFKSEJFQWdBU3dBQUNBQVFRUjBhaUlBUVlDQWdJQi9jU0lESUFOQkdIWnlJQUJ6SVFBZ0FVRUJhaUVCREFFTEN5QUFDejBCQVg4Z0FBUi9JQUFvQWdBaUFRUi9JQUVvQXJnQkVEZ2dBQ2dDQUNnQ3ZBRVFPQ0FBS0FJQUVEZ2dBRUVBTmdJQVFRQUZRWDhMQlVGL0N4b0xHUUFnQUVJQU53SUFJQUJCQURZQ0NDQUFJQUlnQXhEK0F3dFhBUUYvQW44Q1FBTi9BbjhnQXlBRVJnMENRWDhnQVNBQ1JnMEFHa0YvSUFFc0FBQWlBQ0FETEFBQUlnVklEUUFhSUFVZ0FFZ0VmMEVCQlNBRFFRRnFJUU1nQVVFQmFpRUJEQUlMQ3dzTUFRc2dBU0FDUndzTElnRUJmeUFBQkVBZ0FDZ0NBQ2dDQkNFQklBQWdBVUgvQVhGQnJBTnFFUUVBQ3d1MUFnRUlmeU1HSVFVakJrRWdhaVFHSUFWQkVHb2hBaUFGUVFScUlRTWdCVUVJYWlFRUFuOGdBVUYvRUVFaENTQUFMQUEwUVFCSElRWWdDUXNFUUNBR1JRUkFJQUFnQUNnQ01DSUJRWDhRUVVFQmMwRUJjVG9BTkFzRkFrQWdCZ1IvSUFRZ0FFRXdhaUlHS0FJQUVFSTZBQUFnQUNnQ0pDSUhLQUlBS0FJTUlRZ0Nmd0pBQWtBQ1FDQUhJQUFvQWlnZ0JDQUVRUUZxSUFVZ0FpQUNRUWhxSUFNZ0NFRVBjVUdPQTJvUkRnQkJBV3NPQXdJQ0FBRUxJQUlnQmlnQ0FEb0FBQ0FESUFKQkFXbzJBZ0FMQTBBZ0F5Z0NBQ0lFSUFKTkJFQkJBU0VEUVFBTUF3c2dBeUFFUVg5cUlnUTJBZ0FnQkN3QUFDQUFLQUlnRU84QlFYOUhEUUFMQzBFQUlRTkJmd3NoQWlBREJIOGdCZ1VnQWlFQkRBSUxCU0FBUVRCcUN5QUJOZ0lBSUFCQkFUb0FOQXNMSUFVa0JpQUJDd2tBSUFCQkFSRElCQXNKQUNBQVFRQVF5QVFMWGdFQmZ5QUFJQUZCc05BREVEb2lBVFlDSkNBQUlBRWdBU2dDQUNnQ0dFSC9BSEZCQ0dvUkFBQTJBaXdnQUNnQ0pDSUJLQUlBS0FJY0lRSWdBQ0FCSUFKQi93QnhRUWhxRVFBQVFRRnhPZ0ExSUFBb0FpeEJDRW9FUUJBQUN3dXpBZ0VJZnlNR0lRVWpCa0VnYWlRR0lBVkJFR29oQWlBRlFRaHFJUU1nQlVFRWFpRUVBbjhnQVVGL0VFRWhDU0FBTEFBMFFRQkhJUVlnQ1FzRVFDQUdSUVJBSUFBZ0FDZ0NNQ0lCUVg4UVFVRUJjMEVCY1RvQU5Bc0ZBa0FnQmdSL0lBUWdBRUV3YWlJR0tBSUFOZ0lBSUFBb0FpUWlCeWdDQUNnQ0RDRUlBbjhDUUFKQUFrQWdCeUFBS0FJb0lBUWdCRUVFYWlBRklBSWdBa0VJYWlBRElBaEJEM0ZCamdOcUVRNEFRUUZyRGdNQ0FnQUJDeUFDSUFZb0FnQTZBQUFnQXlBQ1FRRnFOZ0lBQ3dOQUlBTW9BZ0FpQkNBQ1RRUkFRUUVoQTBFQURBTUxJQU1nQkVGL2FpSUVOZ0lBSUFRc0FBQWdBQ2dDSUJEdkFVRi9SdzBBQ3d0QkFDRURRWDhMSVFJZ0F3Ui9JQVlGSUFJaEFRd0NDd1VnQUVFd2Fnc2dBVFlDQUNBQVFRRTZBRFFMQ3lBRkpBWWdBUXVLQXdJTWZ3SjhJd1loQVNNR1FVQnJKQVlnQVVFZ2FpRUNRZEFCRUVRaUEwVUVRRUVBUVFOQnVkZ0NJQUlRUFVFQkVBRUxJQUZCS0dvaEJDQURJQUJCdUFFUVRCb2dBeUFBS0FJQVFSNXFJZ2cyQXNBQklBTWdBQ2dDQkVFZWFpSUpOZ0xFQVNBRFFRODJBc2dCSUFOQkR6WUN6QUVnQXlBSklBaEJBM1JzSWdVUVJDSUNOZ0s0QVNBQ1JRUkFRUUJCQTBHNTJBSWdCQkE5UVFFUUFRc2dBVUV3YWlFR0lBTWdCUkJFSWdRMkFyd0JJQVJGQkVCQkFFRURRYm5ZQWlBR0VEMUJBUkFCQ3lBQlFSaHFJUVVnQVVFUWFpRUdJQUZCQ0dvaENpQUFRZWdBYWlFTElBQW9BckFCSVF3Z0FpRUFBMEFnQnlBSlNBUkFJQWRCRDJ1eXV5RU5RUUFoQWdOQUlBSWdDRWdFUUNBTElBSkJEMnV5dXlJT0lBMGdDaUFCSUF3UTJBc2dBQ0FLS3dNQXRqZ0NBQ0FBSUFFckF3QzJPQUlFSUFzZ0RpQU5JQVVnQmlBTUVOOEVJQVFnQlNzREFMWTRBZ0FnQkNBR0t3TUF0amdDQkNBQ1FRRnFJUUlnQkVFSWFpRUVJQUJCQ0dvaEFBd0JDd3NnQjBFQmFpRUhEQUVMQ3lBQkpBWWdBd3NKQUNBQVFRRVF5UVFMQ1FBZ0FFRUFFTWtFQzE0QkFYOGdBQ0FCUWJqUUF4QTZJZ0UyQWlRZ0FDQUJJQUVvQWdBb0FoaEIvd0J4UVFocUVRQUFOZ0lzSUFBb0FpUWlBU2dDQUNnQ0hDRUNJQUFnQVNBQ1FmOEFjVUVJYWhFQUFFRUJjVG9BTlNBQUtBSXNRUWhLQkVBUUFBc0xuUUlCQ1g4akJpRURJd1pCSUdva0JpQURRUkJxSVFRZ0EwRUlhaUVDSUFOQkJHb2hCZ0ovQWtBZ0FVRi9FRUVOQUFKL0lBSWdBUkJDT2dBQUlBQXNBQ3dFUUNBQ1FRRkJBU0FBS0FJZ0VKTUJRUUZHRFFKQmZ3d0JDeUFHSUFRMkFnQWdBa0VCYWlFSElBUkJDR29oQ0FKQUEwQUNRQ0FBS0FJa0lnVW9BZ0FvQWd3aENTQUZJQUFvQWlnZ0FpQUhJQU1nQkNBSUlBWWdDVUVQY1VHT0Eyb1JEZ0FoQlNBQ0lBTW9BZ0JHRFFJZ0JVRURSZzBBSUFWQkFrOE5BaUFHS0FJQUlBUnJJZ0lnQkVFQklBSWdBQ2dDSUJDVEFVY05BaUFES0FJQUlRSWdCVUVCUmcwQkRBUUxDeUFDUVFGQkFTQUFLQUlnRUpNQlFRRkhEUUFNQWd0QmZ3c01BUXNnQVVGL0VFRUVmMEVBQlNBQkN3c2hDaUFESkFZZ0NndGZBUUovSUFBc0FDd0VRQ0FCUVFFZ0FpQUFLQUlnRUpNQklRTUZBMEFnQXlBQ1NBUkFJQUFvQWdBb0FqUWhCQ0FBSUFFc0FBQVFRaUFFUVQ5eFFZb0JhaEVDQUVGL1J3UkFJQU5CQVdvaEF5QUJRUUZxSVFFTUFnc0xDd3NnQXd0TUFRRi9JQUFvQWdBb0FoZ2hBaUFBSUFKQi93QnhRUWhxRVFBQUdpQUFJQUZCc05BREVEb2lBVFlDSkNBQktBSUFLQUljSVFJZ0FDQUJJQUpCL3dCeFFRaHFFUUFBUVFGeE9nQXNDNXNDQVFsL0l3WWhBeU1HUVNCcUpBWWdBMEVRYWlFRUlBTkJDR29oQWlBRFFRUnFJUVlDZndKQUlBRkJmeEJCRFFBQ2Z5QUNJQUUyQWdBZ0FDd0FMQVJBSUFKQkJFRUJJQUFvQWlBUWt3RkJBVVlOQWtGL0RBRUxJQVlnQkRZQ0FDQUNRUVJxSVFjZ0JFRUlhaUVJQWtBRFFBSkFJQUFvQWlRaUJTZ0NBQ2dDRENFSklBVWdBQ2dDS0NBQ0lBY2dBeUFFSUFnZ0JpQUpRUTl4UVk0RGFoRU9BQ0VGSUFJZ0F5Z0NBRVlOQWlBRlFRTkdEUUFnQlVFQ1R3MENJQVlvQWdBZ0JHc2lBaUFFUVFFZ0FpQUFLQUlnRUpNQlJ3MENJQU1vQWdBaEFpQUZRUUZHRFFFTUJBc0xJQUpCQVVFQklBQW9BaUFRa3dGQkFVY05BQXdDQzBGL0N3d0JDeUFCUVg4UVFRUi9RUUFGSUFFTEN5RUtJQU1rQmlBS0Mxa0JBWDhnQUN3QUxBUkFJQUZCQkNBQ0lBQW9BaUFRa3dFaEF3VURRQ0FESUFKSUJFQWdBQ0FCS0FJQUlBQW9BZ0FvQWpSQlAzRkJpZ0ZxRVFJQVFYOUhCRUFnQTBFQmFpRURJQUZCQkdvaEFRd0NDd3NMQ3lBREMwd0JBWDhnQUNnQ0FDZ0NHQ0VDSUFBZ0FrSC9BSEZCQ0dvUkFBQWFJQUFnQVVHNDBBTVFPaUlCTmdJa0lBRW9BZ0FvQWh3aEFpQUFJQUVnQWtIL0FIRkJDR29SQUFCQkFYRTZBQ3dMN0FVQ0IzOENmQ01HSVFRakJrR2dBMm9rQmlBRVFaQURhaUVHSUFSQmdBRnFJUWdnQUNnQ0FDRUhJQUFvQWdRaEJTQUFRUWhxSUFSQnNBSnFJZ29nQkVIUUFXb2lDUkR6QzBFQVNBUkFRUUJCQTBHYnJBRWdCaEE5QlFKQUlBVkJmMnEzSVF4QkFDRUZBMEFnQlVFRVJ3UkFJQXBCSUdvZ0JVRURkR29pQUNBS1FVQnJJQVZCQTNScUt3TUFJQXlpSUFBckF3Q2hPUU1BSUFWQkFXb2hCUXdCQ3dzZ0Npc0RVQ0VMUVFBaEJRTkFJQVZCQTBjRVFFRUFJUUFEUUNBQVFRTkhCRUFnQlVFWWJDQUlhaUFBUVFOMGFpQUZRUVYwSUFwcUlBQkJBM1JxS3dNQUlBdWpPUU1BSUFCQkFXb2hBQXdCQ3dzZ0JVRUJhaUVGREFFTEN5QUVJQWdyQXdCRUFBQUFBQUFBQUVDaUlBZEJmMnEzSWd1ak9RTUFJQVFnQ0NzRENFUUFBQUFBQUFBQVFLSWdDNk01QXdnZ0JDQUlLd01RUkFBQUFBQUFBQUJBb2lBTG8wUUFBQUFBQUFEd3Y2Q2FPUU1RSUFSQ0FEY0RHQ0FFUWdBM0F5QWdCQ0FJS3dNZ1JBQUFBQUFBQUFCQW9pQU1vNW81QXlnZ0JDQUlLd01vUkFBQUFBQUFBQUJBb2lBTW8wUUFBQUFBQUFEd3Y2Q2FPUU13SUFSQ0FEY0RPQ0FFUWdBM0EwQWdCRUlBTndOSUlBUWdBU0FDb0NBQklBS2hJZ3VqT1FOUUlBUWdBa1FBQUFBQUFBQUFRS0lnQWFJZ0M2TTVBMWdnQkVJQU53TmdJQVJDQURjRGFDQUVSQUFBQUFBQUFQQy9PUU53SUFSRUFBQUFBQUFBQUFBNUEzZ2dDU3NER0NFTElBa3JBemdoQWlBSkt3TllJUUZCQUNFR0EwQWdCa0VFUmcwQklBWkJCWFFnQkdvckF3QWhEQ0FHUVFWMElBUnFJUVVnQmtFRmRDQUVhaUVBUVFBaEJ3TkFJQWRCQTBjRVFDQUdJQWRCQW5ScVFRTjBJQU5xSUF3Z0IwRURkQ0FKYWlzREFLSWdCU3NEQ0NBSlFTQnFJQWRCQTNScUt3TUFvcUFnQUNzREVDQUpRVUJySUFkQkEzUnFLd01Bb3FBNUF3QWdCMEVCYWlFSERBRUxDeUFHUVF4cVFRTjBJQU5xSUFaQkJYUWdCR29yQXhnZ0RDQUxvaUFGS3dNSUlBS2lvQ0FBS3dNUUlBR2lvS0E1QXdBZ0JrRUJhaUVHREFBQUN3QUxDeUFFSkFZTDRoTUNFSDhCZkNNR0lSTWpCa0VRYWlRR0lCTWhEeUFFS0FJQUlnZ2hCeUFCSUFKQmYyb2lFR3hCQVhRZ0NHb2hCUU5BSUF3Z0FVZ0VRQ0FGUVFBN0FRQWdCMEVBT3dFQUlBZEJBbW9oQnlBRlFRSnFJUVVnREVFQmFpRU1EQUVMQ3lBSUlRY2dBVUYvYWlJUlFRRjBJQWhxSVFWQkFDRU1BMEFnRENBQ1NBUkFJQVZCQURzQkFDQUhRUUE3QVFBZ0FVRUJkQ0FIYWlFSElBRkJBWFFnQldvaEJTQU1RUUZxSVF3TUFRc0xJQVJCa0lESUFHb2hCMEVBSUFGcklSSWdBQ0FCUVFGcUlnQnFJUTVCQVNFTlFRQWhCU0FBSUFRb0FnUnFJUXdnQUVFQmRDQUlhaUVJQW44Q1FBTkFBa0FnRFNBUVRnMENJQVVoQUVFQklRb0RRQ0FLSUJGSUJFQWdEaTBBQUNBRFNnUkFJQWhCQURzQkFDQU1RUUE2QUFBRkFrQWdERUYvT2dBQUlCSkJBWFFnQ0dvaUJTNEJBQ0lHUVFCS0JFQWdDQ0FHT3dFQUlBWkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dNZ05BQWFpQU5OZ0lBREFFTElBVkJmbW91QVFBaUJpRUpJQVpCQUVvaEN5QUZMZ0VDSWdWQkFFd0VRQ0FMQkVBZ0NDQUdPd0VBSUFsQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJR0tBSUFJQXBJQkVBZ0JpQUtOZ0lBQ3lBRlFRSjBJQVJxUVl5QTBBQnFJQTAyQWdBTUFnc2dDRUYrYWk0QkFDSUZRUUJLQkVBZ0NDQUZPd0VBSUFWQkIyd2lCVUVDZENBRWFrSDAvODhBYWlJR0lBWW9BZ0JCQVdvMkFnQWdCVUVDZENBRWFrSDQvODhBYWlJR0lBb2dCaWdDQUdvMkFnQWdCVUVDZENBRWFrSDgvODhBYWlJR0lBMGdCaWdDQUdvMkFnQWdCVUVDZENBRWFrR0VnTkFBYWlJRktBSUFJQXBPRFFJZ0JTQUtOZ0lBQlNBQVFmLy9BVW9OQmlBSUlBQkJBV29pQlRzQkFDQUVRWkNBeUFCcUlBQkJBblJxSUFWQkVIUkJFSFUyQWdBZ0JFR1FnTkFBYWlBQVFRZHNJZ0JCQW5ScVFRRTJBZ0FnQUVFQ2RDQUVha0dVZ05BQWFpQUtOZ0lBSUFCQkFuUWdCR3BCbUlEUUFHb2dEVFlDQUNBQVFRSjBJQVJxUVp5QTBBQnFJQW8yQWdBZ0FFRUNkQ0FFYWtHZ2dOQUFhaUFLTmdJQUlBQkJBblFnQkdwQnBJRFFBR29nRFRZQ0FDQUFRUUowSUFScVFhaUEwQUJxSUEwMkFnQWdCU0VBQ3d3QkN5QUxCRUFDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0NVRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdZZ0RTQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNnQ0VGK2FpNEJBQ0lHUVFCTUJFQWdDQ0FGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQW9nQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQTBnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dBZ05BQWFpSUdLQUlBSUFwS0JFQWdCaUFLTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUEwMkFnQU1BUXNDUUNBRlFRSjBJQVJxUVl5QXlBQnFLQUlBSWdVZ0JrRUNkQ0FFYWtHTWdNZ0FhaWdDQUNJR1NnUkFJQWdnQmpzQkFDQUhJUWxCQUNFTEEwQWdDeUFBVGdSQUlBWWhCUXdEQ3lBRklBa29BZ0JHQkVBZ0NTQUdOZ0lBQ3lBSlFRUnFJUWtnQzBFQmFpRUxEQUFBQ3dBRklBZ2dCVHNCQUNBRklBWklCRUFnQnlFSlFRQWhDd05BSUFzZ0FFNE5BeUFHSUFrb0FnQkdCRUFnQ1NBRk5nSUFDeUFKUVFScUlRa2dDMEVCYWlFTERBQUFDd0FMQ3dzZ0JVRVFkRUVRZFVFSGJDSUZRUUowSUFScVFmVC96d0JxSWdZZ0JpZ0NBRUVCYWpZQ0FDQUZRUUowSUFScVFmai96d0JxSWdZZ0NpQUdLQUlBYWpZQ0FDQUZRUUowSUFScVFmei96d0JxSWdVZ0RTQUZLQUlBYWpZQ0FBc0xJQTVCQVdvaERpQU1RUUZxSVF3Z0NrRUJhaUVLSUFoQkFtb2hDQXdCQ3dzZ0RrRUNhaUVPSUExQkFXb2hEU0FBSVFVZ0RFRUNhaUVNSUFoQkJHb2hDQXdCQ3d0QkFFRURRYWlsQVNBUEVEMUJmd3dCQ3lBRVFReHFJUXhCQVNFQVFRRWhDQU5BSUFnZ0JVd0VRQ0FJSUFjb0FnQWlCa1lFUUNBQVFRRnFJUU1GSUFBaEF5QUdRUUowSUFScVFZeUF5QUJxS0FJQUlRQUxJQWNnQURZQ0FDQURJUUFnQ0VFQmFpRUlJQWRCQkdvaEJ3d0JDd3NnQkNBQVFYOXFJZ0EyQWdnZ0FBUi9JQXhCQUNBQVFRSjBFRVVhSUFSQmtJQW9ha0VBSUFCQkJIUVFSUnBCQUNFREEwQWdBeUFBU0FSQUlBUkJqSUFJYWlBRFFRSjBJZ2RCQW5ScUlBRTJBZ0FnQkVHTWdBaHFJQWRCQVhKQkFuUnFRUUEyQWdBZ0JFR01nQWhxSUFkQkFuSkJBblJxSUFJMkFnQWdCRUdNZ0FocUlBZEJBM0pCQW5ScVFRQTJBZ0FnQTBFQmFpRUREQUVMQzBFQUlRRURRQ0FCSUFWSUJFQWdCRUVNYWlBRVFaQ0F5QUJxSUFGQkFuUnFLQUlBUVg5cUlnSkJBblJxSWdNZ0JFR1FnTkFBYWlBQlFRZHNJZ0JCQW5ScUtBSUFJQU1vQWdCcU5nSUFJQVJCa0lBb2FpQUNRUUYwSWdOQkEzUnFJZ2NnQnlzREFDQUFRUUowSUFScVFaU0EwQUJxS0FJQXQ2QTVBd0FnQkVHUWdDaHFJQU5CQVhKQkEzUnFJZ01nQXlzREFDQUFRUUowSUFScVFaaUEwQUJxS0FJQXQ2QTVBd0FnQkVHTWdBaHFJQUpCQW5RaUFrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFaeUEwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VCY2tFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUWFDQTBBQnFLQUlBSWdkSUJFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUNja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYVNBMEFCcUtBSUFJZ2RLQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFRGNrRUNkR29pQWlnQ0FDQUFRUUowSUFScVFhaUEwQUJxS0FJQUlnQklCRUFnQWlBQU5nSUFDeUFCUVFGcUlRRU1BUXNMSUFRb0FnZ2hBVUVBSVFBRGZ5QUFJQUZJQkg4Z0JFR1FnQ2hxSUFCQkFYUWlBa0VEZEdvaUF5QURLd01BSUFSQkRHb2dBRUVDZEdvb0FnQzNJaFdqT1FNQUlBUkJrSUFvYWlBQ1FRRnlRUU4wYWlJQ0lBSXJBd0FnRmFNNUF3QWdBRUVCYWlFQURBRUZRUUFMQ3dWQkFBc0xJUlFnRHlRR0lCUUw2QVVDQ244QmZDTUdJUVFqQmtHQUFtb2tCaUFFUWZnQmFpRUlJQVJCOEFGcUlRb2dCRUhvQVdvaERDQUVRZUFCYWlFRklBUkIyQUZxSVFzZ0JFSFFBV29oQnlBRVFjZ0JhaUVKSUFSQkVHb2hBeUFBUVFCSElBRkJBRWR4QkVBQ1FDQUFRWWk1QVJDd0FTSUdSUVJBSUFsQnBNVURLQUlBTmdJQUlBa2dBRFlDQkVFQVFRTkJzNm9CSUFrUVBVR2t4UU1vQWdBUXZRRWhBQ0FIUWFmVkF6WUNBQ0FISUFBMkFnUkJBRUVEUWFXMkFTQUhFRDFCZnlFQURBRUxJQVpCQUVFQ0VQUUJJQVlvQWt3YUlBWW9BZ0JCQlhaQkFYRUVRQ0FMUWFURkF5Z0NBRFlDQUVFQVFRTkIrS29CSUFzUVBVR2t4UU1vQWdBUXZRRWhBQ0FGUWFmVkF6WUNBQ0FGSUFBMkFnUkJBRUVEUWFXMkFTQUZFRDFCZnlFQUJRSkFJQVlRK0FJaEJ5QUdFUGtDUVFBaEFBSkFBa0FEZnlBQVFRUlBEUUVnQUVFQmFpRUZJQWNnQUVFRGRFR2tGV29vQWdBaUFCQlBCSDhnQlNFQURBRUZJQVVMQ3lFRkRBRUxJQUJCQkVZRWYwRUFRUU5CcGFzQklBd1FQVUYvSVFBTUFnVkJBQ0VGUWFRVktBSUFDeUVBQ3lBRElBQkJBU0FHRUdGQkFVY0VRQ0FLUWFURkF5Z0NBRFlDQUVFQVFRTkI5YXNCSUFvUVBVR2t4UU1vQWdBUXZRRWhBQ0FJUWFmVkF6WUNBQ0FJSUFBMkFnUkJBRUVEUWFXMkFTQUlFRDFCZnlFQURBRUxJQU1nQlRZQ3NBRWdBeERZQkNBRlFRRkdJZ2NFUUNBREt3TjRJUTBnQXlBRFFZQUJhaUlBS3dNQU9RTjRJQU1nRFRrRGdBRUZJQU5CZ0FGcUlRQUxJQUVnQTBHNEFSQk1HaUFFSUFJMkFnQkJBU0VDQTBBZ0FrRUJUZ1JBUVFBaEFBd0NDeUFFS0FJQVFRTnFRWHh4SWdrb0FnQWhDQ0FFSUFsQkJHbzJBZ0FnQ0NBQktBS3dBVFlDc0FFZ0F5QUJLQUt3QVVFRGRFR2NGV29vQWdCQkFTQUdFR0ZCQVVjRVFFRi9JUUFNQWdzZ0F5QUZOZ0t3QVNBREVOZ0VJQWNFUUNBREt3TjRJUTBnQXlBQUt3TUFPUU40SUFBZ0RUa0RBQXNnQ0NBRFFiZ0JFRXdhSUFKQkFXb2hBZ3dBQUFzQUN3c2dCaEJxQ3dWQmZ5RUFDeUFFSkFZZ0FBdVRBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5yUVFKMUlnTWdCaUFEU0JzaUF4Q25BU0FBSUFBb0FoZ2dBMEVDZEdvMkFoZ2dBeUFFYWlFRUlBTkJBblFnQVdvRklBQWdBU2dDQUNBQUtBSUFLQUkwUVQ5eFFZb0JhaEVDQUVGL1JnMEJJQVJCQVdvaEJDQUJRUVJxQ3lFQkRBRUxDeUFFQ3pNQUlBQWdBQ2dDQUNnQ0pFSC9BSEZCQ0dvUkFBQkJmMFlFZjBGL0JTQUFJQUFvQWd3aUFFRUVhallDRENBQUtBSUFDd3VVQVFFRWZ3TkFBa0FnQkNBQ1RnMEFJQUFvQWd3aUF5QUFLQUlRSWdWSkJIOGdBU0FESUFJZ0JHc2lCaUFGSUFOclFRSjFJZ01nQmlBRFNCc2lBeENuQVNBQUlBQW9BZ3dnQTBFQ2RHbzJBZ3dnQTBFQ2RDQUJhZ1VnQUNBQUtBSUFLQUlvUWY4QWNVRUlhaEVBQUNJRFFYOUdEUUVnQVNBRE5nSUFRUUVoQXlBQlFRUnFDeUVCSUFNZ0JHb2hCQXdCQ3dzZ0JBdVFBUUVFZndOQUFrQWdCQ0FDVGcwQUlBQW9BaGdpQXlBQUtBSWNJZ1ZKQkg4Z0F5QUJJQUlnQkdzaUJpQUZJQU5ySWdNZ0JpQURTQnNpQXhDb0FTQUFJQU1nQUNnQ0dHbzJBaGdnQXlBRWFpRUVJQUVnQTJvRklBQW9BZ0FvQWpRaEF5QUFJQUVzQUFBUVFpQURRVDl4UVlvQmFoRUNBRUYvUmcwQklBUkJBV29oQkNBQlFRRnFDeUVCREFFTEN5QUVDelVBSUFBZ0FDZ0NBQ2dDSkVIL0FIRkJDR29SQUFCQmYwWUVmMEYvQlNBQUlBQW9BZ3dpQUVFQmFqWUNEQ0FBTEFBQUVFSUxDNDBCQVFSL0EwQUNRQ0FFSUFKT0RRQWdBQ2dDRENJRElBQW9BaEFpQlVrRWZ5QUJJQU1nQWlBRWF5SUdJQVVnQTJzaUF5QUdJQU5JR3lJREVLZ0JJQUFnQXlBQUtBSU1hallDRENBQklBTnFCU0FBSUFBb0FnQW9BaWhCL3dCeFFRaHFFUUFBSWdOQmYwWU5BU0FCSUFNUVFqb0FBRUVCSVFNZ0FVRUJhZ3NoQVNBRElBUnFJUVFNQVFzTElBUUxDd0FnQUJDZEFpQUFFRGdMU0FFQ2Z5QUFLQUlvSVFFRFFDQUJCRUFnQUNnQ0lDQUJRWDlxSWdGQkFuUnFLQUlBSVFKQkFDQUFJQUFvQWlRZ0FVRUNkR29vQWdBZ0FrRURjVUgyQldvUkJnQU1BUXNMQ3dRQVFRQUxNd0VDZnlNR0lRRWpCa0VRYWlRR0lBRWdBRFlDQUNBQklBRW9BZ0EyQWdRZ0FTZ0NCQ2dDQkJDSUF5RUNJQUVrQmlBQ0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFZdUpBellDQUVHdytRQkJCeUFBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWV1SUF6WUNBRUc0K1FCQkJ5QUFLQUlBRUFnZ0FDUUdDeWtCQVg4akJpRUFJd1pCRUdva0JpQUFRY3lJQXpZQ0FFSEErUUJCQmlBQUtBSUFFQWdnQUNRR0N5a0JBWDhqQmlFQUl3WkJFR29rQmlBQVFkNkdBellDQUVISStRQkJCU0FBS0FJQUVBZ2dBQ1FHQ3lrQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWNDR0F6WUNBRUhRK1FCQkJDQUFLQUlBRUFnZ0FDUUdDK29GQVFaOEFuOENRQUpBQWtBQ1FBSkFBa0FnQlVFQmF3NEVBd0lCQUFRTElBQXJBd0FnQVNBQUt3TXdJZ2loSUFCQlFHc3JBd0FpQnFJZ0FDc0RJQ0lKb3lJQklBR2lJQUlnQUNzRE9DSUtvU0FHb2lBQUt3TW9JZ3VqSWdJZ0FxS2dJZ2FpUkFBQUFBQUFBUEEvb0NBR0lBQXJBd2dnQnFLaW9DRUhJQU1nQ0NBSklBQXJBeGdpQ0NBR0lBRWdBVVFBQUFBQUFBQUFRS0tpb0tJZ0FpQUFLd01RSWdsRUFBQUFBQUFBQUVDaUlBR2lvaUFCSUFlaW9LQ2lvRGtEQUNBS0lBc2dBaUFJUkFBQUFBQUFBQUJBb2lBQm9xSWdDU0FHSUFJZ0FrUUFBQUFBQUFBQVFLS2lvS0lnQWlBSG9xQ2dvcUFoQVF3RUN5QUJJQUFyQXdBaUJxRWdBQ3NERUNJSG9pSUJSQUFBQUFBQUFBQUFZU0FISUFJZ0FDc0RDS0dpSWdKRUFBQUFBQUFBQUFCaGNRUjhJQU1nQmprREFDQUFLd01JQlNBRElBWWdBQ3NER0NBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNZ1JBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TW9SQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQU1MSUFFZ0FDc0RBQ0lHb1NBQUt3TVFJZ2VpSWdGRUFBQUFBQUFBQUFCaElBY2dBaUFBS3dNSW9hSWlBa1FBQUFBQUFBQUFBR0Z4Qkh3Z0F5QUdPUU1BSUFBckF3Z0ZJQU1nQmlBQlJBQUFBQUFBQVBBL0lBRWdBYUlnQWlBQ29xQWlBU0FBS3dNWVJBQUFBQUNFMTVkQm82S2hJQUVnQVNBQUt3TWdSQUFBQUFDRTE1ZEJvMFFBQUFBQUFHcjRRS09pb3FFaUFhS2dPUU1BSUFBckF3Z2dBaUFCb3FBTElRRU1BZ3NnQVNBQUt3TUFJZ2FoSUFBckF4QWlCNklpQVVRQUFBQUFBQUFBQUdFZ0J5QUNJQUFyQXdpaG9pSUNSQUFBQUFBQUFBQUFZWEVFZkNBRElBWTVBd0FnQUNzRENBVWdBeUFHSUFGRUFBQUFBQUFBOEQ4Z0FTQUJvaUFDSUFLaW9DQUFLd01ZUkFBQUFBQ0UxNWRCbzZLaElnR2lvRGtEQUNBQUt3TUlJQUlnQWFLZ0N5RUJEQUVMUVg4TUFRc2dCQ0FCT1FNQVFRQUxHZ3NwQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhNaEFNMkFnQkJpUG9BUVFBZ0FDZ0NBQkFJSUFBa0Jnc3BBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSGRnd00yQWdCQm1Qa0FJQUFvQWdCQkNCQVdJQUFrQmdzcEFRRi9Jd1loQUNNR1FSQnFKQVlnQUVIWGd3TTJBZ0JCa1BrQUlBQW9BZ0JCQkJBV0lBQWtCZ3N0QVFGL0l3WWhBQ01HUVJCcUpBWWdBRUhKZ3dNMkFnQkJpUGtBSUFBb0FnQkJCRUVBUVg4UUNpQUFKQVlMTlFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCeElNRE5nSUFRWUQ1QUNBQUtBSUFRUVJCZ0lDQWdIaEIvLy8vL3djUUNpQUFKQVlMTFFFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCdDRNRE5nSUFRZmo0QUNBQUtBSUFRUVJCQUVGL0VBb2dBQ1FHQ3pVQkFYOGpCaUVBSXdaQkVHb2tCaUFBUWJPREF6WUNBRUh3K0FBZ0FDZ0NBRUVFUVlDQWdJQjRRZi8vLy84SEVBb2dBQ1FHQ3k4QkFYOGpCaUVBSXdaQkVHb2tCaUFBUWFTREF6WUNBRUhvK0FBZ0FDZ0NBRUVDUVFCQi8vOERFQW9nQUNRR0N6RUJBWDhqQmlFQUl3WkJFR29rQmlBQVFaNkRBellDQUVIZytBQWdBQ2dDQUVFQ1FZQ0Fma0gvL3dFUUNpQUFKQVlMTGdFQmZ5TUdJUUFqQmtFUWFpUUdJQUJCa0lNRE5nSUFRZEQ0QUNBQUtBSUFRUUZCQUVIL0FSQUtJQUFrQmdzdkFRRi9Jd1loQUNNR1FSQnFKQVlnQUVHRWd3TTJBZ0JCMlBnQUlBQW9BZ0JCQVVHQWYwSC9BQkFLSUFBa0Jnc3ZBUUYvSXdZaEFDTUdRUkJxSkFZZ0FFSC9nZ00yQWdCQnlQZ0FJQUFvQWdCQkFVR0FmMEgvQUJBS0lBQWtCZ3NmQVFGL0l3WWhBQ01HUVJCcUpBWWdBRUdtMVFNMkFnQVE0QVFnQUNRR0N3WUFRZURGQXdzR0FFSGN4UU1MQmdCQjFNVURDd2dBUWVURkF4QTJDM0FCQW44Z0FDQUJLQUlJUVFBUWdRRUVRQ0FCSUFJZ0F4RHpBZ1VDUUNBQVFSQnFJQUFvQWd3aUJFRURkR29oQlNBQVFSQnFJQUVnQWlBREVPRUVJQVJCQVVvRVFDQUFRUmhxSVFBRFFDQUFJQUVnQWlBREVPRUVJQUVzQURZTkFpQUFRUWhxSWdBZ0JVa05BQXNMQ3dzTHhRUUJBMzhnQUNBQktBSUlJQVFRZ1FFRVFDQUJJQUlnQXhEeUFnVUNRQ0FBSUFFb0FnQWdCQkNCQVVVRVFDQUFLQUlNSVFVZ0FFRVFhaUFCSUFJZ0F5QUVFSjRDSUFWQkFVd05BU0FBUVJCcUlBVkJBM1JxSVFZZ0FFRVlhaUVGSUFBb0FnZ2lBRUVDY1VVRVFDQUJLQUlrUVFGSEJFQWdBRUVCY1VVRVFBTkFJQUVzQURZTkJTQUJLQUlrUVFGR0RRVWdCU0FCSUFJZ0F5QUVFSjRDSUFWQkNHb2lCU0FHU1EwQURBVUFDd0FMQTBBZ0FTd0FOZzBFSUFFb0FpUkJBVVlFUUNBQktBSVlRUUZHRFFVTElBVWdBU0FDSUFNZ0JCQ2VBaUFGUVFocUlnVWdCa2tOQUFzTUF3c0xBMEFnQVN3QU5nMENJQVVnQVNBQ0lBTWdCQkNlQWlBRlFRaHFJZ1VnQmtrTkFBc01BUXNnQVNnQ0VDQUNSd1JBSUFFb0FoUWdBa2NFUUNBQklBTTJBaUFnQVNnQ0xFRUVSd1JBSUFCQkVHb2dBQ2dDREVFRGRHb2hCMEVBSVFNZ0FFRVFhaUVHSUFFQ2Z3SkFBMEFDUUNBR0lBZFBEUUFnQVVFQU9nQTBJQUZCQURvQU5TQUdJQUVnQWlBQ1FRRWdCQkR2QWlBQkxBQTJEUUFnQVN3QU5RUkFBa0FnQVN3QU5FVUVRQ0FBS0FJSVFRRnhCRUJCQVNFRkRBSUZEQVlMQUFzZ0FTZ0NHRUVCUmdSQVFRRWhBd3dGQ3lBQUtBSUlRUUp4Qkg5QkFTRUZRUUVGUVFFaEF3d0ZDeUVEQ3dzZ0JrRUlhaUVHREFFTEN5QUZCSDhNQVFWQkJBc01BUXRCQXdzMkFpd2dBMEVCY1EwREN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQy9RQ0FRbC9JQUFnQVNnQ0NDQUZFSUVCQkVBZ0FTQUNJQU1nQkJEeEFnVWdBU3dBTkNFT0lBRXNBRFVoQmlBQVFSQnFJQUFvQWd3aUIwRURkR29oRENBQlFRQTZBRFFnQVVFQU9nQTFJQUJCRUdvZ0FTQUNJQU1nQkNBRkVPOENJQTRnQVN3QU5DSUxjaUVKSUFZZ0FTd0FOU0lJY2lFR0lBZEJBVW9FZndKL0lBQkJHR29oQ2dOL0lBWkJBWEVoQnlBSlFRRnhJUVlnQVN3QU5nUkFJQVloQWlBSERBSUxJQXRCL3dGeEJFQWdBU2dDR0VFQlJnUkFJQVloQWlBSERBTUxJQUFvQWdoQkFuRkZCRUFnQmlFQ0lBY01Bd3NGSUFoQi93RnhCRUFnQUNnQ0NFRUJjVVVFUUNBR0lRSWdCd3dFQ3dzTElBRkJBRG9BTkNBQlFRQTZBRFVnQ2lBQklBSWdBeUFFSUFVUTd3SWdCaUFCTEFBMElndHlJUWdnQnlBQkxBQTFJZzF5SVFZZ0NrRUlhaUlISUF4SkJIOGdCeUVLSUFnaENTQU5JUWdNQVFVZ0NDRUNJQVlMQ3dzRklBa2hBaUFHQ3lFQUlBRWdBa0gvQVhGQkFFYzZBRFFnQVNBQVFmOEJjVUVBUnpvQU5Rc0xDd0FnQUNBQlFRQVFnUUVMS1FFQmZ5QUFLQUlBUVhScUlnQW9BZ2doQVNBQUlBRkJmMm8yQWdnZ0FVRUJTQVJBSUFBUU9Bc0xCd0FnQUNnQ0JBdEFBUUYvSUFBZ0FTZ0NDRUVBRUlFQkJFQWdBU0FDSUFNUTh3SUZJQUFvQWdnaUFDZ0NBQ2dDSENFRUlBQWdBU0FDSUFNZ0JFRWZjVUg2QldvUkJ3QUxDNWdDQVFKL0lBQWdBU2dDQ0NBRUVJRUJCRUFnQVNBQ0lBTVE4Z0lGQWtBZ0FDQUJLQUlBSUFRUWdRRkZCRUFnQUNnQ0NDSUFLQUlBS0FJWUlRVWdBQ0FCSUFJZ0F5QUVJQVZCUDNGQm1nWnFFUVVBREFFTElBRW9BaEFnQWtjRVFDQUJLQUlVSUFKSEJFQWdBU0FETmdJZ0lBRW9BaXhCQkVjRVFDQUJRUUE2QURRZ0FVRUFPZ0ExSUFBb0FnZ2lBQ2dDQUNnQ0ZDRURJQUFnQVNBQ0lBSkJBU0FFSUFOQkIzRkIyZ1pxRVF3QUlBRXNBRFVFUUNBQkxBQTBSU0VHSUFGQkF6WUNMQ0FHUlEwRUJTQUJRUVEyQWl3TEN5QUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVY05BaUFCS0FJWVFRSkhEUUlnQVVFQk9nQTJEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQzBZQkFYOGdBQ0FCS0FJSUlBVVFnUUVFUUNBQklBSWdBeUFFRVBFQ0JTQUFLQUlJSWdBb0FnQW9BaFFoQmlBQUlBRWdBaUFESUFRZ0JTQUdRUWR4UWRvR2FoRU1BQXNMd0FZQ0EzOEdmQ01HSVFRakJrSGdBR29rQmdKQUlBQXJBMWhFQUFBQUFBQUFBQUJtQkVBRFFDQUZRUU5HRFFKQkFDRURBMEFnQTBFRVJ3UkFJQVZCQlhRZ0JHb2dBMEVEZEdvZ0JVRUZkQ0FBYWlBRFFRTjBhaXNEQURrREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQlFOQUlBVkJBMFlOQWtFQUlRTURRQ0FEUVFSSEJFQWdCVUVGZENBRWFpQURRUU4wYWlBRlFRVjBJQUJxSUFOQkEzUnFLd01BbWprREFDQURRUUZxSVFNTUFRc0xJQVZCQVdvaEJRd0FBQXNBQ3dBTFFRQWhBd05BSUFOQkEwY0VRRUVBSVFBRFFDQUFRUVJIQkVBZ0EwRUZkQ0FCYWlBQVFRTjBha1FBQUFBQUFBQUFBRGtEQUNBQVFRRnFJUUFNQVFzTElBTkJBV29oQXd3QkN3c2dBU0FFUVVCckt3TUFJZ2dnQkNzRFNDSUdJQVFyQTFBaUNoRHdBaUlIT1FOUUlBSkJRR3NpQUNBSUlBZWpJZ2c1QXdBZ0FpQUdJQUVyQTFDaklnWTVBMGdnQWlBS0lBRXJBMUNqSWdjNUExQWdBaUFFS3dOWUlBRXJBMUNqT1FOWUlBRWdDQ0FHSUFjZ0JDc0RJQ0lJSUFRckF5Z2lCaUFFS3dNd0lnY1E3Z0lpQ1RrRE1DQUJJQWdnQ1NBQUt3TUFvcUVpQ2lBR0lBa2dBaXNEU0tLaElnZ2dCeUFKSUFJckExQ2lvU0lHRVBBQ0lnYzVBeWdnQWlBS0lBZWpPUU1nSUFJZ0NDQUJLd01vb3prREtDQUNJQVlnQVNzREtLTTVBekFnQVNBQUt3TUFJQUlyQTBnZ0Fpc0RVQ0FFS3dNQUlnZ2dCQ3NEQ0NJR0lBUXJBeEFpQnhEdUFpSUxPUU1RSUFFZ0Fpc0RJQ0FDS3dNb0lBSXJBekFnQ0NBR0lBY1E3Z0lpQ1RrRENDQUJJQWdnQ1NBQ0t3TWdvcUVnQ3lBQUt3TUFvcUVpQ2lBR0lBa2dBaXNES0tLaElBc2dBaXNEU0tLaElnZ2dCeUFKSUFJckF6Q2lvU0FMSUFJckExQ2lvU0lHRVBBQ0lnYzVBd0FnQWlBS0lBZWpPUU1BSUFJZ0NDQUJLd01Bb3prRENDQUNJQVlnQVNzREFLTTVBeEFnQWlBRUt3TTRJQUVyQXpBZ0Fpc0RXQ0lHb3FFZ0FTc0RLS01pQnprRE9DQUNJQVFyQXhnZ0J5QUJLd01Jb3FFZ0JpQUJLd01Rb3FFZ0FTc0RBS001QXhoQkFDRURBMEFnQTBFRFJ3UkFRUUFoQWdOQUlBSkJBMGNFUUNBRFFRVjBJQUZxSUFKQkEzUnFJZ0FnQUNzREFDQUJLd05Rb3prREFDQUNRUUZxSVFJTUFRc0xJQU5CQVdvaEF3d0JDd3NnQkNRR1FRQUxHZ0FnQUNBQktBSUlRUUFRZ1FFRVFDQUJJQUlnQXhEekFnc0xrd0VBSUFBZ0FTZ0NDQ0FFRUlFQkJFQWdBU0FDSUFNUThnSUZJQUFnQVNnQ0FDQUVFSUVCQkVBQ1FDQUJLQUlRSUFKSEJFQWdBU2dDRkNBQ1J3UkFJQUVnQXpZQ0lDQUJJQUkyQWhRZ0FTQUJLQUlvUVFGcU5nSW9JQUVvQWlSQkFVWUVRQ0FCS0FJWVFRSkdCRUFnQVVFQk9nQTJDd3NnQVVFRU5nSXNEQUlMQ3lBRFFRRkdCRUFnQVVFQk5nSWdDd3NMQ3dzY0FDQUFJQUVvQWdnZ0JSQ0JBUVJBSUFFZ0FpQURJQVFROFFJTEM5SUJBUUovSXdZaEF5TUdRVUJySkFZZ0FDQUJRUUFRZ1FFRWYwRUJCU0FCQkg4Z0FVSEE5d0JCc1BjQUVPUUVJZ0VFZnlBRElBRTJBZ0FnQTBFQU5nSUVJQU1nQURZQ0NDQURRWDgyQWd3Z0EwSUFOd0lRSUFOQ0FEY0NHQ0FEUWdBM0FpQWdBMElBTndJb0lBTkJBRFlDTUNBRFFRQTdBVFFnQTBFQU9nQTJJQU5CQVRZQ01DQUJLQUlBS0FJY0lRQWdBU0FESUFJb0FnQkJBU0FBUVI5eFFmb0ZhaEVIQUNBREtBSVlRUUZHQkg4Z0FpQURLQUlRTmdJQVFRRUZRUUFMQlVFQUN3VkJBQXNMSVFRZ0F5UUdJQVFMM1FFQkJYOGpCaUVBSXdaQk1Hb2tCaUFBUVJocUlRSWdBRUVRYWlFQklBQkJKR29oQTBITXhRTW9BZ0FpQkFSQUlBSkI5ZjhDTmdJQVFjUC9BaUFDRUo4Q0lBTWdCRUhRQUdvMkFnQWdCQ2dDQUNJRUtBSUVJUUpCcVBjQUlBUWdBMEdvOXdBb0FnQW9BaEJCUDNGQnlnRnFFUVFBQkVBZ0F5Z0NBQ0lCS0FJQUtBSUlJUU1nQVNBRFFmOEFjVUVJYWhFQUFDRUJJQUJCOWY4Q05nSUFJQUFnQWpZQ0JDQUFJQUUyQWdoQjdmNENJQUFRbndJRklBRkI5ZjhDTmdJQUlBRWdBallDQkVHYS93SWdBUkNmQWdzTFFlbi9BaUFBUVNCcUVKOENDNmNFQVFKOElBRzNJQUFvQWdDM295RUVJQUszSUFBb0FnUzNveUVGSUFNZ0FUWUNBQ0FESUFJMkFnUkJBQ0VCQTBBZ0FVRUVSd1JBSUFOQkNHb2dBVUVEZEdvZ0JDQUFRUWhxSUFGQkEzUnFLd01Bb2prREFDQURRU2hxSUFGQkEzUnFJQVVnQUVFb2FpQUJRUU4wYWlzREFLSTVBd0FnQTBISUFHb2dBVUVEZEdvZ0FFSElBR29nQVVFRGRHb3JBd0E1QXdBZ0FVRUJhaUVCREFFTEN3SkFBa0FDUUFKQUFrQUNRQUpBSUFBb0FyQUJJZ0ZCQVdzT0JBTUNBUUFFQ3lBRElBQXJBMmc1QTJnZ0F5QUFLd053T1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQk9RT0FBU0FESUFRZ0FDc0RpQUdpT1FPSUFTQURJQVVnQUNzRGtBR2lPUU9RQVNBRElBUWdBQ3NEbUFHaU9RT1lBU0FESUFVZ0FDc0RvQUdpT1FPZ0FTQURJQUFyQTZnQk9RT29BUXdFQ3lBRElBUWdBQ3NEYUtJNUEyZ2dBeUFGSUFBckEzQ2lPUU53SUFNZ0FDc0RlRGtEZUNBRElBQXJBNEFCT1FPQUFTQURJQUFyQTRnQklBUWdCYUtqT1FPSUFTQURJQUFyQTVBQklBVWdCQ0FFb2lBRm9xS2pPUU9RQVF3REN5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFTQURJQUFyQTRnQklBVWdCQ0FFb2lBRm9xS2pPUU9JQVF3Q0N5QURJQVFnQUNzRGFLSTVBMmdnQXlBRklBQXJBM0NpT1FOd0lBTWdBQ3NEZURrRGVDQURJQUFyQTRBQklBUWdCYUtqT1FPQUFRd0JDd3dCQ3lBRElBRTJBckFCQ3d2N0V3SVJmd0Y4SXdZaEZDTUdRUkJxSkFZZ0ZDRVFJQUZCQWhBNUlRMGdBa0VDRURraER5QUVLQUlBSWdjaEFpQU5JQTlCZjJvaUVXeEJBWFFnQjJvaEJRTkFJQXNnRFVnRVFDQUZRUUE3QVFBZ0FrRUFPd0VBSUFKQkFtb2hBaUFGUVFKcUlRVWdDMEVCYWlFTERBRUxDeUFISVFJZ0RVRi9haUlTUVFGMElBZHFJUVZCQUNFTEEwQWdDeUFQU0FSQUlBVkJBRHNCQUNBQ1FRQTdBUUFnRFVFQmRDQUNhaUVDSUExQkFYUWdCV29oQlNBTFFRRnFJUXNNQVFzTElBUkJrSURJQUdvaEFrRUFJQTFySVJNZ0FDQUJRUUYwUVFKcWFpRU9RUUVoREVFQUlRVWdEVUVCYWlJQUlBUW9BZ1JxSVFzZ0FFRUJkQ0FIYWlFSEFuOENRQU5BQWtBZ0RDQVJUZzBDSUFVaEFFRUJJUWtEUUNBSklCSklCRUFnRGkwQUFDQURTZ1JBSUFkQkFEc0JBQ0FMUVFBNkFBQUZBa0FnQzBGL09nQUFJQk5CQVhRZ0Iyb2lCUzRCQUNJR1FRQktCRUFnQnlBR093RUFJQVpCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHTWdOQUFhaUFNTmdJQURBRUxJQVZCZm1vdUFRQWlCaUVJSUFaQkFFb2hDaUFGTGdFQ0lnVkJBRXdFUUNBS0JFQWdCeUFHT3dFQUlBaEJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUdLQUlBSUFsSUJFQWdCaUFKTmdJQUN5QUZRUUowSUFScVFZeUEwQUJxSUF3MkFnQU1BZ3NnQjBGK2FpNEJBQ0lGUVFCS0JFQWdCeUFGT3dFQUlBVkJCMndpQlVFQ2RDQUVha0gwLzg4QWFpSUdJQVlvQWdCQkFXbzJBZ0FnQlVFQ2RDQUVha0g0Lzg4QWFpSUdJQWtnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0g4Lzg4QWFpSUdJQXdnQmlnQ0FHbzJBZ0FnQlVFQ2RDQUVha0dFZ05BQWFpSUZLQUlBSUFsT0RRSWdCU0FKTmdJQUJTQUFRZi8vQVVvTkJpQUhJQUJCQVdvaUJUc0JBQ0FFUVpDQXlBQnFJQUJCQW5ScUlBVkJFSFJCRUhVMkFnQWdCRUdRZ05BQWFpQUFRUWRzSWdCQkFuUnFRUUUyQWdBZ0FFRUNkQ0FFYWtHVWdOQUFhaUFKTmdJQUlBQkJBblFnQkdwQm1JRFFBR29nRERZQ0FDQUFRUUowSUFScVFaeUEwQUJxSUFrMkFnQWdBRUVDZENBRWFrR2dnTkFBYWlBSk5nSUFJQUJCQW5RZ0JHcEJwSURRQUdvZ0REWUNBQ0FBUVFKMElBUnFRYWlBMEFCcUlBdzJBZ0FnQlNFQUN3d0JDeUFLQkVBQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdDRUVDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnWWdEQ0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzZ0IwRithaTRCQUNJR1FRQk1CRUFnQnlBRk93RUFJQVZCQjJ3aUJVRUNkQ0FFYWtIMC84OEFhaUlHSUFZb0FnQkJBV28yQWdBZ0JVRUNkQ0FFYWtINC84OEFhaUlHSUFrZ0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtIOC84OEFhaUlHSUF3Z0JpZ0NBR28yQWdBZ0JVRUNkQ0FFYWtHQWdOQUFhaUlHS0FJQUlBbEtCRUFnQmlBSk5nSUFDeUFGUVFKMElBUnFRWXlBMEFCcUlBdzJBZ0FNQVFzQ1FDQUZRUUowSUFScVFZeUF5QUJxS0FJQUlnVWdCa0VDZENBRWFrR01nTWdBYWlnQ0FDSUdTZ1JBSUFjZ0Jqc0JBQ0FDSVFoQkFDRUtBMEFnQ2lBQVRnUkFJQVloQlF3REN5QUZJQWdvQWdCR0JFQWdDQ0FHTmdJQUN5QUlRUVJxSVFnZ0NrRUJhaUVLREFBQUN3QUZJQWNnQlRzQkFDQUZJQVpJQkVBZ0FpRUlRUUFoQ2dOQUlBb2dBRTROQXlBR0lBZ29BZ0JHQkVBZ0NDQUZOZ0lBQ3lBSVFRUnFJUWdnQ2tFQmFpRUtEQUFBQ3dBTEN3c2dCVUVRZEVFUWRVRUhiQ0lGUVFKMElBUnFRZlQvendCcUlnWWdCaWdDQUVFQmFqWUNBQ0FGUVFKMElBUnFRZmovendCcUlnWWdDU0FHS0FJQWFqWUNBQ0FGUVFKMElBUnFRZnovendCcUlnVWdEQ0FGS0FJQWFqWUNBQXNMSUE1QkFtb2hEaUFMUVFGcUlRc2dDVUVCYWlFSklBZEJBbW9oQnd3QkN3c2dBU0FPYWtFRWFpRU9JQXhCQVdvaERDQUFJUVVnQzBFQ2FpRUxJQWRCQkdvaEJ3d0JDd3RCQUVFRFFhaWxBU0FRRUQxQmZ3d0JDeUFFUVF4cUlRZEJBU0VBUVFFaEF3TkFJQU1nQlV3RVFDQURJQUlvQWdBaUMwWUVRQ0FBUVFGcUlRRUZJQUFoQVNBTFFRSjBJQVJxUVl5QXlBQnFLQUlBSVFBTElBSWdBRFlDQUNBQklRQWdBMEVCYWlFRElBSkJCR29oQWd3QkN3c2dCQ0FBUVg5cUlnQTJBZ2dnQUFSL0lBZEJBQ0FBUVFKMEVFVWFJQVJCa0lBb2FrRUFJQUJCQkhRUVJScEJBQ0VCQTBBZ0FTQUFTQVJBSUFSQmpJQUlhaUFCUVFKMElnSkJBblJxSUEwMkFnQWdCRUdNZ0FocUlBSkJBWEpCQW5ScVFRQTJBZ0FnQkVHTWdBaHFJQUpCQW5KQkFuUnFJQTgyQWdBZ0JFR01nQWhxSUFKQkEzSkJBblJxUVFBMkFnQWdBVUVCYWlFQkRBRUxDMEVBSVFFRFFDQUJJQVZJQkVBZ0JFRU1haUFFUVpDQXlBQnFJQUZCQW5ScUtBSUFRWDlxSWdKQkFuUnFJZ01nQkVHUWdOQUFhaUFCUVFkc0lnQkJBblJxS0FJQUlBTW9BZ0JxTmdJQUlBUkJrSUFvYWlBQ1FRRjBJZ05CQTNScUlnY2dCeXNEQUNBQVFRSjBJQVJxUVpTQTBBQnFLQUlBdDZBNUF3QWdCRUdRZ0NocUlBTkJBWEpCQTNScUlnTWdBeXNEQUNBQVFRSjBJQVJxUVppQTBBQnFLQUlBdDZBNUF3QWdCRUdNZ0FocUlBSkJBblFpQWtFQ2RHb2lBeWdDQUNBQVFRSjBJQVJxUVp5QTBBQnFLQUlBSWdkS0JFQWdBeUFITmdJQUN5QUVRWXlBQ0dvZ0FrRUJja0VDZEdvaUF5Z0NBQ0FBUVFKMElBUnFRYUNBMEFCcUtBSUFJZ2RJQkVBZ0F5QUhOZ0lBQ3lBRVFZeUFDR29nQWtFQ2NrRUNkR29pQXlnQ0FDQUFRUUowSUFScVFhU0EwQUJxS0FJQUlnZEtCRUFnQXlBSE5nSUFDeUFFUVl5QUNHb2dBa0VEY2tFQ2RHb2lBaWdDQUNBQVFRSjBJQVJxUWFpQTBBQnFLQUlBSWdCSUJFQWdBaUFBTmdJQUN5QUJRUUZxSVFFTUFRc0xJQVFvQWdnaEFVRUFJUUFEZnlBQUlBRklCSDhnQkVHUWdDaHFJQUJCQVhRaUFrRURkR29pQXlBREt3TUFJQVJCREdvZ0FFRUNkR29vQWdDM0loYWpPUU1BSUFSQmtJQW9haUFDUVFGeVFRTjBhaUlDSUFJckF3QWdGcU01QXdBZ0FFRUJhaUVBREFFRlFRQUxDd1ZCQUFzTElSVWdFQ1FHSUJVTEJBQWpCZ3NiQVFKL0l3WWhBaUFBSXdacUpBWWpCa0VQYWtGd2NTUUdJQUlMQzZHTEEyRUFRWUFJQ3hJMlV3QUFQVk1BQUVsVEFBQlRVd0FBWVZNQVFhQUlDOW9ULy8vLy8vLy8vLzhBQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQVAvLy8vOEFBQUFBQVFBQUFBRUFBQUFCQUFBQUFBQUFBUC8vLy8vLy8vLy8vLy8vL3dBQUFBRUFBUUVCQUFJRS8vOEZBd0VBQXY4R0IvOERBUUlDQXdJREFnTURBUDhFQmdjRi93RUVCUVFFQlFVRUJRY0dCZ1lIQndjRy93SUVCZ2NGQS84QUFRRUJBUUVCQUFFQkFRQUFBUUVCQVFFQUFRRUFBUUVCQUFFQkFRRUFBUUVBQVFFQkFRQUJBUUVBQVFFQUFRRUJBUUVBQUFFQkFRQUJBUUVCQVFFQUFQLy9BLzhGQnYvL0NRci9EUC8vRC84UkV2OFUvLzhYR1AvL0cvOGRIdi8vQVFML0JQLy9Cd2ovL3d2L0RRNy9FUC8vRS84VkZ2Ly9HUnIvSFAvL0h3RUFBQUFDQUFBQUJBQUFBQWdBQUFBUUFBQUFCUUFBQUFvQUFBQVVBQUFBRFFBQUFCb0FBQUFSQUFBQUJ3QUFBQTRBQUFBY0FBQUFIUUFBQUI4QUFBQWJBQUFBRXdBQUFBTUFBQUFHQUFBQURBQUFBQmdBQUFBVkFBQUFEd0FBQUI0QUFBQVpBQUFBRndBQUFBc0FBQUFXQUFBQUNRQUFBQklBQUFBQUFBQUFBUUFBQUFJQUFBQUVBQUFBQ0FBQUFBTUFBQUFHQUFBQURBQUFBQXNBQUFBRkFBQUFDZ0FBQUFjQUFBQU9BQUFBRHdBQUFBMEFBQUFKQUFBQUFBQUFBUC8vLy84QUFBQUFBUUFBQUJJQUFBQUNBQUFBQlFBQUFCTUFBQUFMQUFBQUF3QUFBQjBBQUFBR0FBQUFHd0FBQUJRQUFBQUlBQUFBREFBQUFCY0FBQUFFQUFBQUNnQUFBQjRBQUFBUkFBQUFCd0FBQUJZQUFBQWNBQUFBR2dBQUFCVUFBQUFaQUFBQUNRQUFBQkFBQUFBTkFBQUFEZ0FBQUJnQUFBQVBBQUFBLy8vLy93QUFBQUFCQUFBQUJBQUFBQUlBQUFBSUFBQUFCUUFBQUFvQUFBQURBQUFBRGdBQUFBa0FBQUFIQUFBQUJnQUFBQTBBQUFBTEFBQUFEQUFBQUFFQUFBQUNBQUFBQkFBQUFBZ0FBQUFRQUFBQUlBQUFBRUFBQUFBREFBQUFCZ0FBQUF3QUFBQVlBQUFBTUFBQUFHQUFBQUJEQUFBQUJRQUFBQW9BQUFBVUFBQUFLQUFBQUZBQUFBQWpBQUFBUmdBQUFBOEFBQUFlQUFBQVBBQUFBSGdBQUFCekFBQUFaUUFBQUVrQUFBQVJBQUFBSWdBQUFFUUFBQUFMQUFBQUZnQUFBQ3dBQUFCWUFBQUFNd0FBQUdZQUFBQlBBQUFBSFFBQUFEb0FBQUIwQUFBQWF3QUFBRlVBQUFBcEFBQUFVZ0FBQUNjQUFBQk9BQUFBSHdBQUFENEFBQUI4QUFBQWV3QUFBSFVBQUFCcEFBQUFVUUFBQUNFQUFBQkNBQUFBQndBQUFBNEFBQUFjQUFBQU9BQUFBSEFBQUFCakFBQUFSUUFBQUFrQUFBQVNBQUFBSkFBQUFFZ0FBQUFUQUFBQUpnQUFBRXdBQUFBYkFBQUFOZ0FBQUd3QUFBQmJBQUFBTlFBQUFHb0FBQUJYQUFBQUxRQUFBRm9BQUFBM0FBQUFiZ0FBQUY4QUFBQTlBQUFBZWdBQUFIY0FBQUJ0QUFBQVdRQUFBREVBQUFCaUFBQUFSd0FBQUEwQUFBQWFBQUFBTkFBQUFHZ0FBQUJUQUFBQUpRQUFBRW9BQUFBWEFBQUFMZ0FBQUZ3QUFBQTdBQUFBZGdBQUFHOEFBQUJkQUFBQU9RQUFBSElBQUFCbkFBQUFUUUFBQUJrQUFBQXlBQUFBWkFBQUFFc0FBQUFWQUFBQUtnQUFBRlFBQUFBckFBQUFWZ0FBQUM4QUFBQmVBQUFBUHdBQUFINEFBQUIvQUFBQWZRQUFBSGtBQUFCeEFBQUFZUUFBQUVFQUFBQUFBQUFBLy8vLy93QUFBQUFCQUFBQUJ3QUFBQUlBQUFBT0FBQUFDQUFBQURnQUFBQURBQUFBUHdBQUFBOEFBQUFmQUFBQUNRQUFBRm9BQUFBNUFBQUFGUUFBQUFRQUFBQWNBQUFBUUFBQUFFTUFBQUFRQUFBQWNBQUFBQ0FBQUFCaEFBQUFDZ0FBQUd3QUFBQmJBQUFBUmdBQUFEb0FBQUFtQUFBQUZnQUFBQzhBQUFBRkFBQUFOZ0FBQUIwQUFBQVRBQUFBUVFBQUFGOEFBQUJFQUFBQUxRQUFBQkVBQUFBckFBQUFjUUFBQUhNQUFBQWhBQUFBVFFBQUFHSUFBQUIxQUFBQUN3QUFBRmNBQUFCdEFBQUFJd0FBQUZ3QUFBQktBQUFBUndBQUFFOEFBQUE3QUFBQWFBQUFBQ2NBQUFCa0FBQUFGd0FBQUZJQUFBQXdBQUFBZHdBQUFBWUFBQUIrQUFBQU53QUFBQTBBQUFBZUFBQUFQZ0FBQUJRQUFBQlpBQUFBUWdBQUFCc0FBQUJnQUFBQWJ3QUFBRVVBQUFCckFBQUFMZ0FBQUNVQUFBQVNBQUFBTlFBQUFDd0FBQUJlQUFBQWNnQUFBQ29BQUFCMEFBQUFUQUFBQUNJQUFBQldBQUFBVGdBQUFFa0FBQUJqQUFBQVp3QUFBSFlBQUFCUkFBQUFEQUFBQUgwQUFBQllBQUFBUFFBQUFHNEFBQUFhQUFBQUpBQUFBR29BQUFCZEFBQUFOQUFBQUVzQUFBQXBBQUFBU0FBQUFGVUFBQUJRQUFBQVpnQUFBRHdBQUFCOEFBQUFhUUFBQUJrQUFBQW9BQUFBTXdBQUFHVUFBQUJVQUFBQUdBQUFBSHNBQUFCVEFBQUFNZ0FBQURFQUFBQjZBQUFBZUFBQUFIa0FBQUFFQUFBQWlBQUFBQVVBQUFDUUFBQUFCZ0FBQUpnQUFBQUpBQUFBc0FBQUFPTlpBQURwV1FBQTdsa0FBUFpaQUFBQUFBQUFzcjY1UGhMY29MNlF2amsrRXR5Z3ZwQytPYjRBQUFDQXNyNjV2aExjb0Q2UXZqbStFdHlnUHBDK09UN1NjaGkvQUFBQUFOSnltTDQ2QmdTLzBuS1lQam9HQkwvU2NoZy9BQUFBZ05KeW1ENDZCZ1EvMG5LWXZqb0dCRDhBQUFDQVZyZzl2MlpOSkQ5V3VMMitaazBrUDFhNHZUNEFBQUFBVnJnOVAyWk5KTDlXdUwwK1prMGt2MWE0dmI0TTZWZy9BQUFBZ0F6cDJENloyVHMvRE9uWXZwblpPejhNNlZpL0FBQUFBQXpwMkw2WjJUdS9ET25ZUHBuWk83OEFBQUFBL0ZOdVAvRmxUcjhOVk80KzhXVk92dzFVN3I0QUFBQ0EvRk51di9GbFRqOE5WTzYrOFdWT1B3MVU3ajRBQUlDL0FBQUFBQUFBQUwvUXMxMi9BQUFBUDlDelhiOEFBSUEvQUFBQWdBQUFBRC9RczEwL0FBQUF2OUN6WFQ5d1BBQUFjRHdBQUhBOEFBQndQQUFBakt3QUFLS3NBQURDckFBQTU2d0FBQUd0QUFBZ3JRQUFOYTBBQUZLdEFBQjhyUUFBdkswQUFOdXRBQUR5clFBQUNLNEFBQnl1QUFCWnJnQUFpYTRBQUtXdUFBRElyZ0FBLzY0QUFEYXZBQUJOcndBQWJhOEFBSmV2QUFEa3J3QUEvNjhBQUNxd0FBQkdzQUFBYTdBQUFKR3dBQUMyc0FBQXliQUFBTjZ3QUFEeHNBQUFCTEVBQUNteEFBQStzUUFBVXJFQUFIT3hBQUNKc1FBQXVMRUFBT0N4QUFBQnNnQUFJcklBQUZHeUFBQmlzZ0FBZnJJQUFMeXlBQURqc2dBQUNyTUFBQjZ6QUFCTXN3QUFkTE1BQUpDekFBQzFzd0FBMTdNQUFBRzBBQUFzdEFBQVNyUUFBSGkwQUFDZ3RBQUF4N1FBQVBLMEFBQWZ0UUFBVDdVQUFIbTFBQUNtdFFBQXliVUFBT2UxQUFBRnRnQUFPN1lBQUdXMkFBQ0V0Z0FBcDdZQUFNNjJBQURqdGdBQTk3WUFBQ3kzQUFBOHR3QUFlcmNBQUx5M0FBRG10d0FBRXJnQUFEbTRBQUJWdUFBQWdMZ0FBSnU0QUFDdnVBQUF4cmdBQU5PNEFBRDd1QUFBTUxrQUFHeTVBQUNhdVFBQXU3a0FBT0s1QUFEN3VRQUFJN29BQUVhNkFBQmV1Z0FBZ3JvQUFLZTZBQUN0dWdBQTVyb0FBQ0M3QUFBL3V3QUFUcnNBQUd1N0FBQ0p1d0FBcHJzQUFMKzdBQURZdXdBQUdyd0FBRlM4QUFDS3ZBQUF2cndBQU5LOEFBRHB2QUFBRDcwQUFEYTlBQUI0dlFBQXRMMEFBT1c5QUFBSnZnQUFONzRBQUZLK0FBQ0t2Z0FBdGI0QVFZUWNDNzBFQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBREFBQUFDZ0FBQUJFQUFBQVlBQUFBSUFBQUFCa0FBQUFTQUFBQUN3QUFBQVFBQUFBRkFBQUFEQUFBQUJNQUFBQWFBQUFBSVFBQUFDZ0FBQUF3QUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQUdBQUFBQndBQUFBNEFBQUFWQUFBQUhBQUFBQ01BQUFBcUFBQUFNUUFBQURnQUFBQTVBQUFBTWdBQUFDc0FBQUFrQUFBQUhRQUFBQllBQUFBUEFBQUFGd0FBQUI0QUFBQWxBQUFBTEFBQUFETUFBQUE2QUFBQU93QUFBRFFBQUFBdEFBQUFKZ0FBQUI4QUFBQW5BQUFBTGdBQUFEVUFBQUE4QUFBQVBRQUFBRFlBQUFBdkFBQUFOd0FBQUQ0QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQVVBQUFBTUFBQUFFd0FBQUJvQUFBQWhBQUFBS0FBQUFEQUFBQUFwQUFBQUlnQUFBQnNBQUFBVUFBQUFEUUFBQUFZQUFBQU9BQUFBRlFBQUFCd0FBQUFqQUFBQUtnQUFBREVBQUFBeUFBQUFLd0FBQUNRQUFBQWRBQUFBRmdBQUFCNEFBQUFsQUFBQUxBQUFBRE1BQUFBMEFBQUFMUUFBQUNZQUFBQXVBQUFBTlFBQUFEWUFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BRUhVSUF2dEFnRUFBQUFJQUFBQUVBQUFBQWtBQUFBQ0FBQUFBd0FBQUFvQUFBQVJBQUFBR0FBQUFDQUFBQUFaQUFBQUVnQUFBQXNBQUFBRUFBQUFCUUFBQUF3QUFBQVRBQUFBR2dBQUFDRUFBQUFvQUFBQUtRQUFBQ0lBQUFBYkFBQUFGQUFBQUEwQUFBQVZBQUFBSEFBQUFDTUFBQUFxQUFBQUt3QUFBQ1FBQUFBZEFBQUFKUUFBQUN3QUFBQXRBQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUFBQUFBQUJBQUFBQ0FBQUFCQUFBQUFKQUFBQUFnQUFBQU1BQUFBS0FBQUFFUUFBQUJnQUFBQWdBQUFBR1FBQUFCSUFBQUFMQUFBQUJBQUFBQXdBQUFBVEFBQUFHZ0FBQUNFQUFBQWlBQUFBR3dBQUFCUUFBQUFjQUFBQUl3QUFBQ1FBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUVIVUl3dmRBUUVBQUFBSUFBQUFFQUFBQUFrQUFBQUNBQUFBQXdBQUFBb0FBQUFSQUFBQUdBQUFBQmtBQUFBU0FBQUFDd0FBQUJNQUFBQWFBQUFBR3dBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQUFBQUFBQVFBQUFBZ0FBQUFRQUFBQUNRQUFBQUlBQUFBS0FBQUFFUUFBQUJJQUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FFSEVKUXVVQkFFQUFBQUlBQUFBQ1FBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQS9BQUFBUHdBQUFEOEFBQUEvQUFBQVB3QUFBRDhBQUFBL0FBQUFQd0FBQUQ4QUFBQ0JBUjFhRGdLR0pSQURGQkVTQkFzSUZBWFlBeGNHMmdFWkIrVUFIQWh2QUI0Sk5nQWhDaG9BSXdzTkFBa01CZ0FLRFFNQURBMEJBSThQZjFva0VDVS9KaEh5TENjU2ZDQW9FN2tYS2hTQ0VTc1Y3d3d0RnFFSkxoY3ZCekFZWEFVeEdRWUVNeG9EQXpRYlFBSTJITEVCT0IxRUFUa2U5UUE3SDdjQVBDQ0tBRDRoYUFBL0lrNEFJQ003QUNFSkxBQ2xKZUZhUUNaTVNFRW5EVHBES1BFdVJDa2ZKa1VxTXg5R0s2Z1pTQ3dZRlVrdGR4RktMblFPU3kvN0MwMHcrQWxPTVdFSVR6SUdCekF6elFVeU5ONEVNalVQQkRNMll3TTBOOVFDTlRoY0FqWTUrQUUzT3FRQk9EdGdBVGs4SlFFNlBmWUFPejdMQUQwL3F3QTlJSThBd1VFU1cxQkNCRTFSUXl4QlVrVFlOMU5GNkM5VVJqd3BWa2Q1STFkSTN4NVhTYWthU0VwT0YwaExKQlJLVEp3UlNrMXJEMHRPVVExTlQ3WUxUVEJBQ3RCUk1saFlVaHhOV1ZPT1ExcFUzVHRiVmU0MFhGYXVMbDFYbWlsV1J4WWwyRmx3VlY5YXFVeGdXOWxFWVZ3aVBtTmRKRGhqWHJReVhWWVhMdDlncUZabFlVWlBabUxsUjJkanowRm9aRDA4WTExZU4ybG1NVkpxWnc5TWEyZzVSbWRqWGtIcGFpZFdiR3ZuVUcxbmhVdHViWmRWYjJ0UFVPNXZFRnB3YlNKVjhHL3JXWEZ4SFZvQVFlRXBDL0FCUU1WWW4xTkNTd0JBU1RLaklxZ1J4VmdoZS94elltakZXTDlGQ3pCK0dKOVQvSE5CYlZSaW4xT3pRVUV0RWhkQ1MySm9WR0orV0VKTElUdTZLTU1VQUVERldKOVRRa3NBUUVreW95S29FVWt5djBXelFTRTdTVEtDSnpjYjRBMmpJZ3N3UVMyNktLTWlOeHUvRW80SnFCRitHQklYd3hTb0VlQU5qZ25mQkFBQUFBQUFBUEEvNzJGSXNWQXg5ai9LYjAyUnJ1ZjBQNm9SYk85aTBQSS9BQUFBQUFBQThEODd2NmZBYVNUcFA3c2d4M3Q2VWVFL1hhdHkzbFdvMFQ4QUFBQUFBUUFBQUFJQUFBQURBQUFBQUFBQUFBRUFBQUFGQUFBQUFnQUFBQVFBQUFBR0FBQUFBd0FBQUFjQUFBQUlBRUhrS3d1ZEFRRUFBQUFGQUFBQUJnQUFBQUlBQUFBRUFBQUFCd0FBQUF3QUFBQURBQUFBQ0FBQUFBc0FBQUFOQUFBQUNRQUFBQW9BQUFBT0FBQUFEd0FBQUFBQUFBQUJBQUFBQlFBQUFBWUFBQUFPQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUE4QUFBQURBQUFBQ0FBQUFBd0FBQUFRQUFBQUZRQUFBQWtBQUFBTEFBQUFFUUFBQUJRQUFBQVdBQUFBQ2dBQUFCSUFBQUFUQUFBQUZ3QUFBQmdBUVpRdEM4MENBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFDQUFBQUJBQUFBQWNBQUFBTkFBQUFFQUFBQUJrQUFBQURBQUFBQ0FBQUFBd0FBQUFSQUFBQUdBQUFBQm9BQUFBSkFBQUFDd0FBQUJJQUFBQVhBQUFBR3dBQUFDQUFBQUFLQUFBQUV3QUFBQllBQUFBY0FBQUFId0FBQUNFQUFBQVVBQUFBRlFBQUFCMEFBQUFlQUFBQUlnQUFBQ01BQUFBQUFBQUFBUUFBQUFVQUFBQUdBQUFBRGdBQUFBOEFBQUFiQUFBQUFnQUFBQVFBQUFBSEFBQUFEUUFBQUJBQUFBQWFBQUFBSEFBQUFBTUFBQUFJQUFBQURBQUFBQkVBQUFBWkFBQUFIUUFBQUNZQUFBQUpBQUFBQ3dBQUFCSUFBQUFZQUFBQUhnQUFBQ1VBQUFBbkFBQUFDZ0FBQUJNQUFBQVhBQUFBSHdBQUFDUUFBQUFvQUFBQUxRQUFBQlFBQUFBV0FBQUFJQUFBQUNNQUFBQXBBQUFBTEFBQUFDNEFBQUFWQUFBQUlRQUFBQ0lBQUFBcUFBQUFLd0FBQUM4QUFBQXdBRUgwTHd2UUJBRUFBQUFGQUFBQUJnQUFBQTRBQUFBUEFBQUFHd0FBQUJ3QUFBQUNBQUFBQkFBQUFBY0FBQUFOQUFBQUVBQUFBQm9BQUFBZEFBQUFLZ0FBQUFNQUFBQUlBQUFBREFBQUFCRUFBQUFaQUFBQUhnQUFBQ2tBQUFBckFBQUFDUUFBQUFzQUFBQVNBQUFBR0FBQUFCOEFBQUFvQUFBQUxBQUFBRFVBQUFBS0FBQUFFd0FBQUJjQUFBQWdBQUFBSndBQUFDMEFBQUEwQUFBQU5nQUFBQlFBQUFBV0FBQUFJUUFBQUNZQUFBQXVBQUFBTXdBQUFEY0FBQUE4QUFBQUZRQUFBQ0lBQUFBbEFBQUFMd0FBQURJQUFBQTRBQUFBT3dBQUFEMEFBQUFqQUFBQUpBQUFBREFBQUFBeEFBQUFPUUFBQURvQUFBQStBQUFBUHdBQUFBQUFBQUFCQUFBQUF3QUFBQWNBQUFBUEFBQUFId0FBQUQ4QUFBQi9BQUFBL3dBQUFQOEJBQUQvQXdBQS93Y0FBUDhQQUFEL0h3QUEvejhBQVA5L0FBQUF3RER3RE13OC9BUERNL01QenovL2dFQ3djSXhNdkh5RFE3TnpqMCsvZnlEZ0VOQXM3QnpjSStNVDB5L3ZIOStnWUpCUXJHeWNYS05qazFPdmI1OWZDTWc0K0FURU5QUUx5enY3QjhjMzk0aEl1SGlFUkxSMGkwdTdlNGRIdDNjbzZCallKT1FVMUN2ckc5c241eGZYcUdpWVdLUmtsRlNyYTV0YnAyZVhWd0xDTXZJT3pqNytBY0V4OFEzTlBmMkNRckp5ams2K2ZvRkJzWEdOVGIxOUl1SVMwaTd1SHQ0aDRSSFJMZTBkM2FKaWtsS3VicDVlb1dHUlVhMXRuVjBLeWpyNkJzWTI5Z25KT2ZrRnhUWDFpa3E2ZW9aR3RuYUpTYmw1aFVXMWRTcnFHdG9tNWhiV0tla1oyU1hsRmRXcWFwcGFwbWFXVnFscG1WbWxaWlZWM2hJRWxRQUFBQUQvLy8vLy8vLy8vLy8vLy84QVFkQTBDOHdCQWdBQXdBTUFBTUFFQUFEQUJRQUF3QVlBQU1BSEFBREFDQUFBd0FrQUFNQUtBQURBQ3dBQXdBd0FBTUFOQUFEQURnQUF3QThBQU1BUUFBREFFUUFBd0JJQUFNQVRBQURBRkFBQXdCVUFBTUFXQUFEQUZ3QUF3QmdBQU1BWkFBREFHZ0FBd0JzQUFNQWNBQURBSFFBQXdCNEFBTUFmQUFEQUFBQUFzd0VBQU1NQ0FBRERBd0FBd3dRQUFNTUZBQUREQmdBQXd3Y0FBTU1JQUFERENRQUF3d29BQU1NTEFBREREQUFBd3cwQUFOTU9BQURERHdBQXd3QUFETHNCQUF6REFnQU13d01BRE1NRUFBelRBRUdrT2d2NUF3RUFBQUFDQUFBQUF3QUFBQVFBQUFBRkFBQUFCZ0FBQUFjQUFBQUlBQUFBQ1FBQUFBb0FBQUFMQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBR3dBQUFCd0FBQUFkQUFBQUhnQUFBQjhBQUFBZ0FBQUFJUUFBQUNJQUFBQWpBQUFBSkFBQUFDVUFBQUFtQUFBQUp3QUFBQ2dBQUFBcEFBQUFLZ0FBQUNzQUFBQXNBQUFBTFFBQUFDNEFBQUF2QUFBQU1BQUFBREVBQUFBeUFBQUFNd0FBQURRQUFBQTFBQUFBTmdBQUFEY0FBQUE0QUFBQU9RQUFBRG9BQUFBN0FBQUFQQUFBQUQwQUFBQStBQUFBUHdBQUFFQUFBQUJoQUFBQVlnQUFBR01BQUFCa0FBQUFaUUFBQUdZQUFBQm5BQUFBYUFBQUFHa0FBQUJxQUFBQWF3QUFBR3dBQUFCdEFBQUFiZ0FBQUc4QUFBQndBQUFBY1FBQUFISUFBQUJ6QUFBQWRBQUFBSFVBQUFCMkFBQUFkd0FBQUhnQUFBQjVBQUFBZWdBQUFGc0FBQUJjQUFBQVhRQUFBRjRBQUFCZkFBQUFZQUFBQUdFQUFBQmlBQUFBWXdBQUFHUUFBQUJsQUFBQVpnQUFBR2NBQUFCb0FBQUFhUUFBQUdvQUFBQnJBQUFBYkFBQUFHMEFBQUJ1QUFBQWJ3QUFBSEFBQUFCeEFBQUFjZ0FBQUhNQUFBQjBBQUFBZFFBQUFIWUFBQUIzQUFBQWVBQUFBSGtBQUFCNkFBQUFld0FBQUh3QUFBQjlBQUFBZmdBQUFIOEFRYURFQUF2L0FRSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBTWdBaUFDSUFJZ0FpQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUNBQUlBQWdBQ0FBSUFBZ0FDQUFJQUFnQUJZQVRBQk1BRXdBVEFCTUFFd0FUQUJNQUV3QVRBQk1BRXdBVEFCTUFFd0FqWUNOZ0kyQWpZQ05nSTJBallDTmdJMkFqWUJNQUV3QVRBQk1BRXdBVEFCTUFJMVFqVkNOVUkxUWpWQ05VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZDTVVJeFFqRkNNVUl4UWpGQ01VSXhRakZCTUFFd0FUQUJNQUV3QVRBQ05ZSTFnaldDTllJMWdqV0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z2pHQ01ZSXhnakdDTVlJeGdqR0NNWUl4Z1RBQk1BRXdBVEFBZ0JCcE13QUMva0RBUUFBQUFJQUFBQURBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUFzQUFBQU1BQUFBRFFBQUFBNEFBQUFQQUFBQUVBQUFBQkVBQUFBU0FBQUFFd0FBQUJRQUFBQVZBQUFBRmdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFIQUFBQUIwQUFBQWVBQUFBSHdBQUFDQUFBQUFoQUFBQUlnQUFBQ01BQUFBa0FBQUFKUUFBQUNZQUFBQW5BQUFBS0FBQUFDa0FBQUFxQUFBQUt3QUFBQ3dBQUFBdEFBQUFMZ0FBQUM4QUFBQXdBQUFBTVFBQUFESUFBQUF6QUFBQU5BQUFBRFVBQUFBMkFBQUFOd0FBQURnQUFBQTVBQUFBT2dBQUFEc0FBQUE4QUFBQVBRQUFBRDRBQUFBL0FBQUFRQUFBQUVFQUFBQkNBQUFBUXdBQUFFUUFBQUJGQUFBQVJnQUFBRWNBQUFCSUFBQUFTUUFBQUVvQUFBQkxBQUFBVEFBQUFFMEFBQUJPQUFBQVR3QUFBRkFBQUFCUkFBQUFVZ0FBQUZNQUFBQlVBQUFBVlFBQUFGWUFBQUJYQUFBQVdBQUFBRmtBQUFCYUFBQUFXd0FBQUZ3QUFBQmRBQUFBWGdBQUFGOEFBQUJnQUFBQVFRQUFBRUlBQUFCREFBQUFSQUFBQUVVQUFBQkdBQUFBUndBQUFFZ0FBQUJKQUFBQVNnQUFBRXNBQUFCTUFBQUFUUUFBQUU0QUFBQlBBQUFBVUFBQUFGRUFBQUJTQUFBQVV3QUFBRlFBQUFCVkFBQUFWZ0FBQUZjQUFBQllBQUFBV1FBQUFGb0FBQUI3QUFBQWZBQUFBSDBBQUFCK0FBQUFmd0JCb05RQUM2RUNDZ0FBQUdRQUFBRG9Bd0FBRUNjQUFLQ0dBUUJBUWc4QWdKYVlBQURoOVFYLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9BQUVDQXdRRkJnY0lDZi8vLy8vLy8vOEtDd3dORGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUkvLy8vLy8vL3dvTERBME9EeEFSRWhNVUZSWVhHQmthR3h3ZEhoOGdJU0lqLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vd0JCME5ZQUN4Z1JBQW9BRVJFUkFBQUFBQVVBQUFBQUFBQUpBQUFBQUFzQVFmRFdBQXNoRVFBUENoRVJFUU1LQndBQkV3a0xDd0FBQ1FZTEFBQUxBQVlSQUFBQUVSRVJBRUdoMXdBTEFRc0FRYXJYQUFzWUVRQUtDaEVSRVFBS0FBQUNBQWtMQUFBQUNRQUxBQUFMQUVIYjF3QUxBUXdBUWVmWEFBc1ZEQUFBQUFBTUFBQUFBQWtNQUFBQUFBQU1BQUFNQUVHVjJBQUxBUTRBUWFIWUFBc1ZEUUFBQUFRTkFBQUFBQWtPQUFBQUFBQU9BQUFPQUVIUDJBQUxBUkFBUWR2WUFBc2VEd0FBQUFBUEFBQUFBQWtRQUFBQUFBQVFBQUFRQUFBU0FBQUFFaElTQUVHUzJRQUxEaElBQUFBU0VoSUFBQUFBQUFBSkFFSEQyUUFMQVFzQVFjL1pBQXNWQ2dBQUFBQUtBQUFBQUFrTEFBQUFBQUFMQUFBTEFFSDkyUUFMQVF3QVFZbmFBQXQrREFBQUFBQU1BQUFBQUFrTUFBQUFBQUFNQUFBTUFBQXdNVEl6TkRVMk56ZzVRVUpEUkVWR0dSSkVPd0kvTEVjVVBUTXdDaHNHUmt0Rk53OUpEbzRYQTBBZFBHa3JOaDlLTFJ3QklDVXBJUWdNRlJZaUxoQTRQZ3MwTVJoa2RIVjJMMEVKZnprUkkwTXlRb21LaXdVRUppZ25EU29lTll3SEdraVRFNVNWQUVHUTJ3QUwxdzVKYkd4bFoyRnNJR0o1ZEdVZ2MyVnhkV1Z1WTJVQVJHOXRZV2x1SUdWeWNtOXlBRkpsYzNWc2RDQnViM1FnY21Wd2NtVnpaVzUwWVdKc1pRQk9iM1FnWVNCMGRIa0FVR1Z5YldsemMybHZiaUJrWlc1cFpXUUFUM0JsY21GMGFXOXVJRzV2ZENCd1pYSnRhWFIwWldRQVRtOGdjM1ZqYUNCbWFXeGxJRzl5SUdScGNtVmpkRzl5ZVFCT2J5QnpkV05vSUhCeWIyTmxjM01BUm1sc1pTQmxlR2x6ZEhNQVZtRnNkV1VnZEc5dklHeGhjbWRsSUdadmNpQmtZWFJoSUhSNWNHVUFUbThnYzNCaFkyVWdiR1ZtZENCdmJpQmtaWFpwWTJVQVQzVjBJRzltSUcxbGJXOXllUUJTWlhOdmRYSmpaU0JpZFhONUFFbHVkR1Z5Y25Wd2RHVmtJSE41YzNSbGJTQmpZV3hzQUZKbGMyOTFjbU5sSUhSbGJYQnZjbUZ5YVd4NUlIVnVZWFpoYVd4aFlteGxBRWx1ZG1Gc2FXUWdjMlZsYXdCRGNtOXpjeTFrWlhacFkyVWdiR2x1YXdCU1pXRmtMVzl1YkhrZ1ptbHNaU0J6ZVhOMFpXMEFSR2x5WldOMGIzSjVJRzV2ZENCbGJYQjBlUUJEYjI1dVpXTjBhVzl1SUhKbGMyVjBJR0o1SUhCbFpYSUFUM0JsY21GMGFXOXVJSFJwYldWa0lHOTFkQUJEYjI1dVpXTjBhVzl1SUhKbFpuVnpaV1FBU0c5emRDQnBjeUJrYjNkdUFFaHZjM1FnYVhNZ2RXNXlaV0ZqYUdGaWJHVUFRV1JrY21WemN5QnBiaUIxYzJVQVFuSnZhMlZ1SUhCcGNHVUFTUzlQSUdWeWNtOXlBRTV2SUhOMVkyZ2daR1YyYVdObElHOXlJR0ZrWkhKbGMzTUFRbXh2WTJzZ1pHVjJhV05sSUhKbGNYVnBjbVZrQUU1dklITjFZMmdnWkdWMmFXTmxBRTV2ZENCaElHUnBjbVZqZEc5eWVRQkpjeUJoSUdScGNtVmpkRzl5ZVFCVVpYaDBJR1pwYkdVZ1luVnplUUJGZUdWaklHWnZjbTFoZENCbGNuSnZjZ0JKYm5aaGJHbGtJR0Z5WjNWdFpXNTBBRUZ5WjNWdFpXNTBJR3hwYzNRZ2RHOXZJR3h2Ym1jQVUzbHRZbTlzYVdNZ2JHbHVheUJzYjI5d0FFWnBiR1Z1WVcxbElIUnZieUJzYjI1bkFGUnZieUJ0WVc1NUlHOXdaVzRnWm1sc1pYTWdhVzRnYzNsemRHVnRBRTV2SUdacGJHVWdaR1Z6WTNKcGNIUnZjbk1nWVhaaGFXeGhZbXhsQUVKaFpDQm1hV3hsSUdSbGMyTnlhWEIwYjNJQVRtOGdZMmhwYkdRZ2NISnZZMlZ6Y3dCQ1lXUWdZV1JrY21WemN3QkdhV3hsSUhSdmJ5QnNZWEpuWlFCVWIyOGdiV0Z1ZVNCc2FXNXJjd0JPYnlCc2IyTnJjeUJoZG1GcGJHRmliR1VBVW1WemIzVnlZMlVnWkdWaFpHeHZZMnNnZDI5MWJHUWdiMk5qZFhJQVUzUmhkR1VnYm05MElISmxZMjkyWlhKaFlteGxBRkJ5WlhacGIzVnpJRzkzYm1WeUlHUnBaV1FBVDNCbGNtRjBhVzl1SUdOaGJtTmxiR1ZrQUVaMWJtTjBhVzl1SUc1dmRDQnBiWEJzWlcxbGJuUmxaQUJPYnlCdFpYTnpZV2RsSUc5bUlHUmxjMmx5WldRZ2RIbHdaUUJKWkdWdWRHbG1hV1Z5SUhKbGJXOTJaV1FBUkdWMmFXTmxJRzV2ZENCaElITjBjbVZoYlFCT2J5QmtZWFJoSUdGMllXbHNZV0pzWlFCRVpYWnBZMlVnZEdsdFpXOTFkQUJQZFhRZ2IyWWdjM1J5WldGdGN5QnlaWE52ZFhKalpYTUFUR2x1YXlCb1lYTWdZbVZsYmlCelpYWmxjbVZrQUZCeWIzUnZZMjlzSUdWeWNtOXlBRUpoWkNCdFpYTnpZV2RsQUVacGJHVWdaR1Z6WTNKcGNIUnZjaUJwYmlCaVlXUWdjM1JoZEdVQVRtOTBJR0VnYzI5amEyVjBBRVJsYzNScGJtRjBhVzl1SUdGa1pISmxjM01nY21WeGRXbHlaV1FBVFdWemMyRm5aU0IwYjI4Z2JHRnlaMlVBVUhKdmRHOWpiMndnZDNKdmJtY2dkSGx3WlNCbWIzSWdjMjlqYTJWMEFGQnliM1J2WTI5c0lHNXZkQ0JoZG1GcGJHRmliR1VBVUhKdmRHOWpiMndnYm05MElITjFjSEJ2Y25SbFpBQlRiMk5yWlhRZ2RIbHdaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFNXZkQ0J6ZFhCd2IzSjBaV1FBVUhKdmRHOWpiMndnWm1GdGFXeDVJRzV2ZENCemRYQndiM0owWldRQVFXUmtjbVZ6Y3lCbVlXMXBiSGtnYm05MElITjFjSEJ2Y25SbFpDQmllU0J3Y205MGIyTnZiQUJCWkdSeVpYTnpJRzV2ZENCaGRtRnBiR0ZpYkdVQVRtVjBkMjl5YXlCcGN5QmtiM2R1QUU1bGRIZHZjbXNnZFc1eVpXRmphR0ZpYkdVQVEyOXVibVZqZEdsdmJpQnlaWE5sZENCaWVTQnVaWFIzYjNKckFFTnZibTVsWTNScGIyNGdZV0p2Y25SbFpBQk9ieUJpZFdabVpYSWdjM0JoWTJVZ1lYWmhhV3hoWW14bEFGTnZZMnRsZENCcGN5QmpiMjV1WldOMFpXUUFVMjlqYTJWMElHNXZkQ0JqYjI1dVpXTjBaV1FBUTJGdWJtOTBJSE5sYm1RZ1lXWjBaWElnYzI5amEyVjBJSE5vZFhSa2IzZHVBRTl3WlhKaGRHbHZiaUJoYkhKbFlXUjVJR2x1SUhCeWIyZHlaWE56QUU5d1pYSmhkR2x2YmlCcGJpQndjbTluY21WemN3QlRkR0ZzWlNCbWFXeGxJR2hoYm1Sc1pRQlNaVzF2ZEdVZ1NTOVBJR1Z5Y205eUFGRjFiM1JoSUdWNFkyVmxaR1ZrQUU1dklHMWxaR2wxYlNCbWIzVnVaQUJYY205dVp5QnRaV1JwZFcwZ2RIbHdaUUJPYnlCbGNuSnZjaUJwYm1admNtMWhkR2x2YmdBQUFBQUFBRXhEWDBOVVdWQkZBQUFBQUV4RFgwNVZUVVZTU1VNQUFFeERYMVJKVFVVQUFBQUFBRXhEWDBOUFRFeEJWRVVBQUV4RFgwMVBUa1ZVUVZKWkFFeERYMDFGVTFOQlIwVlRBRUh3NlFBTGx3SURBQUFBQkFBQUFBUUFBQUFHQUFBQWcvbWlBRVJPYmdEOEtSVUEwVmNuQU4wMDlRQmkyOEFBUEptVkFFR1FRd0JqVWY0QXU5NnJBTGRoeFFBNmJpUUEwazFDQUVrRzRBQUo2aTRBSEpMUkFPc2QvZ0Fwc1J3QTZENm5BUFUxZ2dCRXV5NEFuT21FQUxRbWNBQkJmbDhBMXBFNUFGT0RPUUNjOURrQWkxK0VBQ2o1dlFENEh6c0EzditYQUErWUJRQVJMKzhBQ2xxTEFHMGZiUURQZmpZQUNjc25BRVpQdHdDZVpqOEFMZXBmQUxvbmRRRGw2OGNBUFh2eEFQYzVCd0NTVW9vQSsydnFBQit4WHdBSVhZMEFNQU5XQUh2OFJnRHdxMnNBSUx6UEFEYjBtZ0RqcVIwQVhtR1JBQWdiNWdDRm1XVUFvQlJmQUkxQWFBQ0EyUDhBSjNOTkFBWUdNUURLVmhVQXlhaHpBSHZpWUFCcmpNQUFRWlBzQUF2OUEwRDdJZmsvQUFBQUFDMUVkRDRBQUFDQW1FYjRQQUFBQUdCUnpIZzdBQUFBZ0lNYjhEa0FBQUJBSUNWNk9BQUFBSUFpZ3VNMkFBQUFBQjN6YVRVNFkrMCsyZzlKUDE2WWV6L2FEOGsvYVRlc01XZ2hJak8wRHhRemFDR2lNd0FBQUFBQ0FBQUFBd0FBQUFVQUFBQUhBQUFBQ3dBQUFBMEFBQUFSQUFBQUV3QUFBQmNBQUFBZEFBQUFId0FBQUNVQUFBQXBBQUFBS3dBQUFDOEFBQUExQUFBQU93QUFBRDBBQUFCREFBQUFSd0FBQUVrQUFBQlBBQUFBVXdBQUFGa0FBQUJoQUFBQVpRQUFBR2NBQUFCckFBQUFiUUFBQUhFQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWxRQUFBSmNBQUFDZEFBQUFvd0FBQUtjQUFBQ3RBQUFBc3dBQUFMVUFBQUMvQUFBQXdRQUFBTVVBQUFESEFBQUEwd0FBQUFFQUFBQUxBQUFBRFFBQUFCRUFBQUFUQUFBQUZ3QUFBQjBBQUFBZkFBQUFKUUFBQUNrQUFBQXJBQUFBTHdBQUFEVUFBQUE3QUFBQVBRQUFBRU1BQUFCSEFBQUFTUUFBQUU4QUFBQlRBQUFBV1FBQUFHRUFBQUJsQUFBQVp3QUFBR3NBQUFCdEFBQUFjUUFBQUhrQUFBQi9BQUFBZ3dBQUFJa0FBQUNMQUFBQWp3QUFBSlVBQUFDWEFBQUFuUUFBQUtNQUFBQ25BQUFBcVFBQUFLMEFBQUN6QUFBQXRRQUFBTHNBQUFDL0FBQUF3UUFBQU1VQUFBREhBQUFBMFFBQUFEQXhNak0wTlRZM09EbGhZbU5rWldaQlFrTkVSVVo0V0NzdGNGQnBTVzVPQUVHZzhBQUxnUUVsQUFBQWJRQUFBQzhBQUFBbEFBQUFaQUFBQUM4QUFBQWxBQUFBZVFBQUFDVUFBQUJaQUFBQUxRQUFBQ1VBQUFCdEFBQUFMUUFBQUNVQUFBQmtBQUFBSlFBQUFFa0FBQUE2QUFBQUpRQUFBRTBBQUFBNkFBQUFKUUFBQUZNQUFBQWdBQUFBSlFBQUFIQUFBQUFBQUFBQUpRQUFBRWdBQUFBNkFBQUFKUUFBQUUwQVFiRHhBQXU1QVNVQUFBQklBQUFBT2dBQUFDVUFBQUJOQUFBQU9nQUFBQ1VBQUFCVEFBQUFKUUFBQUVnQUFBQTZBQUFBSlFBQUFFMEFBQUE2QUFBQUpRQUFBRk1BQUFCUVJRQUFFMk1BQUhoRkFBRFpid0FBOERnQUFBQUFBQUI0UlFBQTdYSUFBS2c3QUFBQUFBQUFlRVVBQUdsK0FBQzRRZ0FBQUFBQUFIaEZBQUFaa0FBQXVFSUFBQUFBQUFCNFJRQUFqWkFBQUxoQ0FBQUFBQUFBNUVVQUFKeW5BQUFBQUFBQUFRQUFBR0E1QUFBQUFBQUFVRVVBQU51bkFBQUZBRUgwOGdBTEFRSUFRWXp6QUFzS0FRQUFBQUVBQUFDbTZnQkJwUE1BQ3dFQ0FFR3o4d0FMQmYvLy8vLy9BRUg0OHdBTEFRa0FRWVQwQUFzQkFnQkJtUFFBQ3hJQ0FBQUFBQUFBQUFFQUFBQm8wZ0FBQUFRQVFjVDBBQXNFLy8vLy93QkJpUFVBQ3dFRkFFR1U5UUFMQVFNQVFhejFBQXNPQVFBQUFBSUFBQUI0MWdBQUFBUUFRY1QxQUFzQkFRQkIwL1VBQ3dVSy8vLy8vd0JCdlBZQUN3RURBRUhqOWdBTEJmLy8vLy8vQUVHbzl3QUwxeEJRUlFBQS9yOEFBSGhGQUFCZXdBQUF3RHNBQUFBQUFBQjRSUUFBQzhBQUFOQTdBQUFBQUFBQVVFVUFBQ3pBQUFCNFJRQUFPY0FBQUxBN0FBQUFBQUFBZUVVQUFLakFBQUNvT3dBQUFBQUFBSGhGQUFDNHdBQUE2RHNBQUFBQUFBQjRSUUFBeWNBQUFNQTdBQUFBQUFBQWVFVUFBT3ZBQUFBSVBBQUFBQUFBQUhoRkFBQVB3UUFBd0RzQUFBQUFBQURJUlFBQU44RUFBTWhGQUFBNXdRQUF5RVVBQUR2QkFBRElSUUFBUGNFQUFNaEZBQUEvd1FBQXlFVUFBRUhCQUFESVJRQUFROEVBQU1oRkFBQkZ3UUFBeUVVQUFFZkJBQURJUlFBQVpzb0FBTWhGQUFCSndRQUF5RVVBQUV2QkFBRElSUUFBVGNFQUFIaEZBQUJQd1FBQXNEc0FBQUFBQUFCUVJRQUFzTVFBQUZCRkFBRFB4QUFBVUVVQUFPN0VBQUJRUlFBQURjVUFBRkJGQUFBc3hRQUFVRVVBQUV2RkFBQlFSUUFBYXNVQUFGQkZBQUNKeFFBQVVFVUFBS2pGQUFCUVJRQUF4OFVBQUZCRkFBRG14UUFBVUVVQUFBWEdBQUJRUlFBQUpNWUFBT1JGQUFBM3hnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFPUkZBQUI1eGdBQUFBQUFBQUVBQUFCZ09RQUFBQUFBQU9SRkFBQzd4Z0FBQUFBQUFBRUFBQUJnT1FBQUFBQUFBT1JGQUFENnhnQUFBQUFBQUFFQUFBQmdPUUFBQUFBQUFIaEZBQUJMeHdBQWlEMEFBQUFBQUFCUVJRQUFPY2NBQUhoRkFBQjF4d0FBaUQwQUFBQUFBQUJRUlFBQW44Y0FBRkJGQUFEUXh3QUE1RVVBQUFISUFBQUFBQUFBQVFBQUFIZzlBQUFEOVAvLzVFVUFBRERJQUFBQUFBQUFBUUFBQUpBOUFBQUQ5UC8vNUVVQUFGL0lBQUFBQUFBQUFRQUFBSGc5QUFBRDlQLy81RVVBQUk3SUFBQUFBQUFBQVFBQUFKQTlBQUFEOVAvL2VFVUFBTDNJQUFDb1BRQUFBQUFBQUhoRkFBRFd5QUFBb0QwQUFBQUFBQUI0UlFBQUZja0FBS2c5QUFBQUFBQUFlRVVBQUMzSkFBQ2dQUUFBQUFBQUFIaEZBQUJGeVFBQVlENEFBQUFBQUFCNFJRQUFXY2tBQUxCQ0FBQUFBQUFBZUVVQUFHL0pBQUJnUGdBQUFBQUFBT1JGQUFDSXlRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFLQStBQUFBQUFBQTVFVUFBTXpKQUFBQUFBQUFBUUFBQUxnK0FBQUFBQUFBVUVVQUFPTEpBQURrUlFBQSs4a0FBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBRGdQZ0FBQUFBQUFPUkZBQUEveWdBQUFBQUFBQUVBQUFDNFBnQUFBQUFBQU9SRkFBQm95Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBQmcvQUFBQUFBQUE1RVVBQUt6S0FBQUFBQUFBQVFBQUFEQS9BQUFBQUFBQVVFVUFBTUxLQUFEa1JRQUEyOG9BQUFBQUFBQUNBQUFBWUQ0QUFBSUFBQUJZUHdBQUFBQUFBT1JGQUFBZnl3QUFBQUFBQUFFQUFBQXdQd0FBQUFBQUFPUkZBQUIxekFBQUFBQUFBQU1BQUFCZ1BnQUFBZ0FBQUpnL0FBQUNBQUFBb0Q4QUFBQUlBQUJRUlFBQTNNd0FBRkJGQUFDNnpBQUE1RVVBQU8vTUFBQUFBQUFBQXdBQUFHQStBQUFDQUFBQW1EOEFBQUlBQUFEUVB3QUFBQWdBQUZCRkFBQTB6UUFBNUVVQUFGYk5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUErRDhBQUFBSUFBQlFSUUFBbTgwQUFPUkZBQUN3elFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQVBnL0FBQUFDQUFBNUVVQUFQWE5BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBQlFSUUFBRWM0QUFPUkZBQUFtemdBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQUFBQUNBQUFBNUVVQUFFTE9BQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFRRUFBQUFJQUFBRGtSUUFBWHM0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFCQVFBQUFBZ0FBQU9SRkFBQ0p6Z0FBQUFBQUFBSUFBQUJnUGdBQUFnQUFBTWhBQUFBQUFBQUFVRVVBQU0vT0FBRGtSUUFBODg0QUFBQUFBQUFDQUFBQVlENEFBQUlBQUFEd1FBQUFBQUFBQUZCRkFBQTV6d0FBNUVVQUFGalBBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUFHRUVBQUFBQUFBQlFSUUFBbnM4QUFPUkZBQUMzendBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQUVCQkFBQUFBQUFBVUVVQUFQM1BBQURrUlFBQUZ0QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBQm9RUUFBQWdBQUFGQkZBQUFyMEFBQTVFVUFBTUxRQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVFQUFBSUFBQUI0UlFBQVE5QUFBS0JCQUFBQUFBQUE1RVVBQUdiUUFBQUFBQUFBQWdBQUFHQStBQUFDQUFBQXdFRUFBQUlBQUFCUVJRQUFpZEFBQUhoRkFBQ2cwQUFBb0VFQUFBQUFBQURrUlFBQTE5QUFBQUFBQUFBQ0FBQUFZRDRBQUFJQUFBREFRUUFBQWdBQUFPUkZBQUQ1MEFBQUFBQUFBQUlBQUFCZ1BnQUFBZ0FBQU1CQkFBQUNBQUFBNUVVQUFCdlJBQUFBQUFBQUFnQUFBR0ErQUFBQ0FBQUF3RUVBQUFJQUFBQjRSUUFBUHRFQUFHQStBQUFBQUFBQTVFVUFBRlRSQUFBQUFBQUFBZ0FBQUdBK0FBQUNBQUFBYUVJQUFBSUFBQUJRUlFBQVp0RUFBT1JGQUFCNzBRQUFBQUFBQUFJQUFBQmdQZ0FBQWdBQUFHaENBQUFDQUFBQWVFVUFBSmpSQUFCZ1BnQUFBQUFBQUhoRkFBQ3QwUUFBWUQ0QUFBQUFBQUJRUlFBQXd0RUFBT1JGQUFEYjBRQUFBQUFBQUFFQUFBQ3dRZ0FBQUFBQUFBRUFBQUFBQUFBQStEZ0FBQUVBQUFBQ0FBQUFBQUFBQVBBNEFBQURBQUFBQkFBQUFBQUFBQUFJT1FBQUJRQUFBQVlBQUFBQkFBQUF1VktNUG81YTV6NjVVb3crQUFBQUFCZzVBQUFIQUFBQUNBQUFBQWtBQUFBQkFBQUFDZ0FBQUFBQUFBQW9PUUFBQndBQUFBc0FBQUFNQUFBQUFnQUFBQTBBQUFBQUFBQUFPRGtBQUFjQUFBQU9BQUFBRHdBQUFBTUFBQUFRQUFBQS8vLy8vLzcvLy8vOS8vLy9PRHdBQUhBOEFBQ1FQQUFBT0R3QUFIQThBQUJ3UEFBQW1Ed0FBSEE4QUFBNFBBQUFjRHdBQUpnOEFBQndQQUFBT0R3QUFIQThBQUJ3UEFBQVNEa0FBSEE4QUFCd1BBQUFjRHdBQUhBOEFBQndQQUFBU0RrQUFIQThBQUJ3UEFBQUFRQUFBQUFBQUFBQ0FBQUFRQVlBQUlBK0FBQUFBQUFBaUJNQUFEQWFBQUFVQUFBQVF5NVZWRVl0T0FCQmpJZ0JDd0x3UXdCQnBJZ0JDeEpvT1FBQStEa0FBSWc2QUFDSU9nQUFJQjBBUWVpSkFRc0NqT0lBUWFDS0FRdTlFaUFpQUFBZ0pnQUFYM0NKQVA4Skx3OEFBSUEvQUFEQVB3QUFBQURjejlFMUFBQUFBQURBRlQ4QUFBQUFzRHNBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFFQUFBQUFRQUFBQUVBQUFBQkFBQUFBQUFBQU5nN0FBQVJBQUFBRlFBQUFCTUFBQUFVQUFBQUJBQUFBQUlBQUFBQ0FBQUFBZ0FBQUFBQUFBRG9Pd0FBRmdBQUFCY0FBQUFFQUFBQUFBQUFBUGc3QUFBV0FBQUFHQUFBQUFRQUFBQUFBQUFBS0R3QUFCRUFBQUFaQUFBQUV3QUFBQlFBQUFBRkFBQUFBQUFBQUtBOEFBQVJBQUFBR2dBQUFCTUFBQUFVQUFBQUJBQUFBQU1BQUFBREFBQUFBd0FBQUFBQUFBQ0lQUUFBR3dBQUFCd0FBQUFBQUFBQW9EMEFBQjBBQUFBZUFBQUFBUUFBQUFZQUFBQUJBQUFBQkFBQUFBVUFBQUFHQUFBQUJ3QUFBQWNBQUFBSUFBQUFCQUFBQUFnQUFBQUZBQUFBQUFBQUFLZzlBQUFmQUFBQUlBQUFBQUlBQUFBSkFBQUFBZ0FBQUFVQUFBQUpBQUFBQ2dBQUFBb0FBQUFMQUFBQURBQUFBQVlBQUFBTEFBQUFCd0FBQUFnQUFBQUFBQUFBc0QwQUFDRUFBQUFpQUFBQStQLy8vL2ovLy8rd1BRQUFJd0FBQUNRQUFBQ2dSZ0FBdEVZQUFBZ0FBQUFBQUFBQXlEMEFBQ1VBQUFBbUFBQUErUC8vLy9qLy8vL0lQUUFBSndBQUFDZ0FBQURRUmdBQTVFWUFBQVFBQUFBQUFBQUE0RDBBQUNrQUFBQXFBQUFBL1AvLy8vei8vLy9nUFFBQUt3QUFBQ3dBQUFBQVJ3QUFGRWNBQUFRQUFBQUFBQUFBK0QwQUFDMEFBQUF1QUFBQS9QLy8vL3ovLy8vNFBRQUFMd0FBQURBQUFBQXdSd0FBUkVjQUFBQUFBQUFRUGdBQUh3QUFBREVBQUFBREFBQUFDUUFBQUFJQUFBQUZBQUFBRFFBQUFBb0FBQUFLQUFBQUN3QUFBQXdBQUFBR0FBQUFEQUFBQUFnQUFBQUFBQUFBSUQ0QUFCMEFBQUF5QUFBQUJBQUFBQVlBQUFBQkFBQUFCQUFBQUE0QUFBQUdBQUFBQndBQUFBY0FBQUFJQUFBQUJBQUFBQTBBQUFBSkFBQUFBQUFBQURBK0FBQWZBQUFBTXdBQUFBVUFBQUFKQUFBQUFnQUFBQVVBQUFBSkFBQUFDZ0FBQUFvQUFBQVBBQUFBRUFBQUFBb0FBQUFMQUFBQUJ3QUFBQUFBQUFCQVBnQUFIUUFBQURRQUFBQUdBQUFBQmdBQUFBRUFBQUFFQUFBQUJRQUFBQVlBQUFBSEFBQUFFUUFBQUJJQUFBQUxBQUFBQ0FBQUFBVUFBQUFBQUFBQVVENEFBRFVBQUFBMkFBQUFOd0FBQUFFQUFBQUdBQUFBRGdBQUFBQUFBQUJ3UGdBQU9BQUFBRGtBQUFBM0FBQUFBZ0FBQUFjQUFBQVBBQUFBQUFBQUFJQStBQUE2QUFBQU93QUFBRGNBQUFBQkFBQUFBZ0FBQUFNQUFBQUVBQUFBQlFBQUFBWUFBQUFIQUFBQUNBQUFBQWtBQUFBS0FBQUFDd0FBQUFBQUFBREFQZ0FBUEFBQUFEMEFBQUEzQUFBQURBQUFBQTBBQUFBT0FBQUFEd0FBQUJBQUFBQVJBQUFBRWdBQUFCTUFBQUFVQUFBQUZRQUFBQllBQUFBQUFBQUErRDRBQUQ0QUFBQS9BQUFBTndBQUFBTUFBQUFFQUFBQUFRQUFBQVVBQUFBQ0FBQUFBUUFBQUFJQUFBQUdBQUFBQUFBQUFEZy9BQUJBQUFBQVFRQUFBRGNBQUFBSEFBQUFDQUFBQUFNQUFBQUpBQUFBQkFBQUFBTUFBQUFFQUFBQUNnQUFBQUFBQUFCd1B3QUFRZ0FBQUVNQUFBQTNBQUFBRXdBQUFCY0FBQUFZQUFBQUdRQUFBQm9BQUFBYkFBQUFBUUFBQVBqLy8vOXdQd0FBRkFBQUFCVUFBQUFXQUFBQUZ3QUFBQmdBQUFBWkFBQUFHZ0FBQUFBQUFBQ29Qd0FBUkFBQUFFVUFBQUEzQUFBQUd3QUFBQndBQUFBZEFBQUFIZ0FBQUI4QUFBQWdBQUFBQWdBQUFQai8vLytvUHdBQUhBQUFBQjBBQUFBZUFBQUFId0FBQUNBQUFBQWhBQUFBSWdBQUFDVUFBQUJJQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBQUFBQUFDVUFBQUJ0QUFBQUx3QUFBQ1VBQUFCa0FBQUFMd0FBQUNVQUFBQjVBQUFBQUFBQUFDVUFBQUJKQUFBQU9nQUFBQ1VBQUFCTkFBQUFPZ0FBQUNVQUFBQlRBQUFBSUFBQUFDVUFBQUJ3QUFBQUFBQUFBQ1VBQUFCaEFBQUFJQUFBQUNVQUFBQmlBQUFBSUFBQUFDVUFBQUJrQUFBQUlBQUFBQ1VBQUFCSUFBQUFPZ0FBQUNVQUFBQk5BQUFBT2dBQUFDVUFBQUJUQUFBQUlBQUFBQ1VBQUFCWkFBQUFBQUFBQUVFQUFBQk5BQUFBQUFBQUFGQUFBQUJOQUFBQUFBQUFBRW9BQUFCaEFBQUFiZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVJnQUFBR1VBQUFCaUFBQUFjZ0FBQUhVQUFBQmhBQUFBY2dBQUFIa0FBQUFBQUFBQVRRQUFBR0VBQUFCeUFBQUFZd0FBQUdnQUFBQUFBQUFBUVFBQUFIQUFBQUJ5QUFBQWFRQUFBR3dBQUFBQUFBQUFUUUFBQUdFQUFBQjVBQUFBQUFBQUFFb0FBQUIxQUFBQWJnQUFBR1VBQUFBQUFBQUFTZ0FBQUhVQUFBQnNBQUFBZVFBQUFBQUFBQUJCQUFBQWRRQUFBR2NBQUFCMUFBQUFjd0FBQUhRQUFBQUFBQUFBVXdBQUFHVUFBQUJ3QUFBQWRBQUFBR1VBQUFCdEFBQUFZZ0FBQUdVQUFBQnlBQUFBQUFBQUFFOEFBQUJqQUFBQWRBQUFBRzhBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBUkFBQUFHVUFBQUJqQUFBQVpRQUFBRzBBQUFCaUFBQUFaUUFBQUhJQUFBQUFBQUFBU2dBQUFHRUFBQUJ1QUFBQUFBQUFBRVlBQUFCbEFBQUFZZ0FBQUFBQUFBQk5BQUFBWVFBQUFISUFBQUFBQUFBQVFRQUFBSEFBQUFCeUFBQUFBQUFBQUVvQUFBQjFBQUFBYmdBQUFBQUFBQUJLQUFBQWRRQUFBR3dBQUFBQUFBQUFRUUFBQUhVQUFBQm5BQUFBQUFBQUFGTUFBQUJsQUFBQWNBQUFBQUFBQUFCUEFBQUFZd0FBQUhRQUFBQUFBQUFBVGdBQUFHOEFBQUIyQUFBQUFBQUFBRVFBQUFCbEFBQUFZd0FBQUFBQUFBQlRBQUFBZFFBQUFHNEFBQUJrQUFBQVlRQUFBSGtBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCMUFBQUFaUUFBQUhNQUFBQmtBQUFBWVFBQUFIa0FBQUFBQUFBQVZ3QUFBR1VBQUFCa0FBQUFiZ0FBQUdVQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRlFBQUFCb0FBQUFkUUFBQUhJQUFBQnpBQUFBWkFBQUFHRUFBQUI1QUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQVlRQUFBSFFBQUFCMUFBQUFjZ0FBQUdRQUFBQmhBQUFBZVFBQUFBQUFBQUJUQUFBQWRRQUFBRzRBQUFBQUFBQUFUUUFBQUc4QUFBQnVBQUFBQUFBQUFGUUFBQUIxQUFBQVpRQUFBQUFBQUFCWEFBQUFaUUFBQUdRQUFBQUFBQUFBVkFBQUFHZ0FBQUIxQUFBQUFBQUFBRVlBQUFCeUFBQUFhUUFBQUFBQUFBQlRBQUFBWVFBQUFIUUFRZWljQVFzUjJEOEFBRVlBQUFCSEFBQUFOd0FBQUFFQVFZR2RBUXZ3QlVBQUFFZ0FBQUJKQUFBQU53QUFBQUlBQUFBQUFBQUFJRUFBQUVvQUFBQkxBQUFBTndBQUFDTUFBQUFrQUFBQUJ3QUFBQWdBQUFBSkFBQUFDZ0FBQUNVQUFBQUxBQUFBREFBQUFBQUFBQUJJUUFBQVRBQUFBRTBBQUFBM0FBQUFKZ0FBQUNjQUFBQU5BQUFBRGdBQUFBOEFBQUFRQUFBQUtBQUFBQkVBQUFBU0FBQUFBQUFBQUdoQUFBQk9BQUFBVHdBQUFEY0FBQUFwQUFBQUtnQUFBQk1BQUFBVUFBQUFGUUFBQUJZQUFBQXJBQUFBRndBQUFCZ0FBQUFBQUFBQWlFQUFBRkFBQUFCUkFBQUFOd0FBQUN3QUFBQXRBQUFBR1FBQUFCb0FBQUFiQUFBQUhBQUFBQzRBQUFBZEFBQUFIZ0FBQUFBQUFBQ29RQUFBVWdBQUFGTUFBQUEzQUFBQUF3QUFBQVFBQUFBQUFBQUEwRUFBQUZRQUFBQlZBQUFBTndBQUFBVUFBQUFHQUFBQUFBQUFBUGhBQUFCV0FBQUFWd0FBQURjQUFBQUJBQUFBSVFBQUFBQUFBQUFnUVFBQVdBQUFBRmtBQUFBM0FBQUFBZ0FBQUNJQUFBQUFBQUFBU0VFQUFGb0FBQUJiQUFBQU53QUFBQkFBQUFBRUFBQUFId0FBQUFBQUFBQndRUUFBWEFBQUFGMEFBQUEzQUFBQUVRQUFBQVVBQUFBZ0FBQUFBQUFBQU1oQkFBQmVBQUFBWHdBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFKQkJBQUJlQUFBQVlBQUFBRGNBQUFBREFBQUFCQUFBQUFzQUFBQXZBQUFBTUFBQUFBd0FBQUF4QUFBQUFBQUFBUGhCQUFCaEFBQUFZZ0FBQURjQUFBQUZBQUFBQmdBQUFBMEFBQUF5QUFBQU13QUFBQTRBQUFBMEFBQUFBQUFBQURoQ0FBQmpBQUFBWkFBQUFEY0FBQUFBQUFBQVNFSUFBR1VBQUFCbUFBQUFOd0FBQUF3QUFBQVNBQUFBRFFBQUFCTUFBQUFPQUFBQUFRQUFBQlFBQUFBUEFBQUFBQUFBQUpCQ0FBQm5BQUFBYUFBQUFEY0FBQUExQUFBQU5nQUFBQ0VBQUFBaUFBQUFJd0FBQUFBQUFBQ2dRZ0FBYVFBQUFHb0FBQUEzQUFBQU53QUFBRGdBQUFBa0FBQUFKUUFBQUNZQUFBQm1BQUFBWVFBQUFHd0FBQUJ6QUFBQVpRQUFBQUFBQUFCMEFBQUFjZ0FBQUhVQUFBQmxBRUg4b2dFTC9JQUNZRDRBQUY0QUFBQnJBQUFBTndBQUFBQUFBQUJ3UWdBQVhnQUFBR3dBQUFBM0FBQUFGUUFBQUFJQUFBQURBQUFBQkFBQUFBOEFBQUFXQUFBQUVBQUFBQmNBQUFBUkFBQUFCUUFBQUJnQUFBQVFBQUFBQUFBQUFOaEJBQUJlQUFBQWJRQUFBRGNBQUFBSEFBQUFDQUFBQUJFQUFBQTVBQUFBT2dBQUFCSUFBQUE3QUFBQUFBQUFBQmhDQUFCZUFBQUFiZ0FBQURjQUFBQUpBQUFBQ2dBQUFCTUFBQUE4QUFBQVBRQUFBQlFBQUFBK0FBQUFBQUFBQUtCQkFBQmVBQUFBYndBQUFEY0FBQUFEQUFBQUJBQUFBQXNBQUFBdkFBQUFNQUFBQUF3QUFBQXhBQUFBQUFBQUFLQS9BQUFVQUFBQUZRQUFBQllBQUFBWEFBQUFHQUFBQUJrQUFBQWFBQUFBQUFBQUFOQS9BQUFjQUFBQUhRQUFBQjRBQUFBZkFBQUFJQUFBQUNFQUFBQWlBQUFBUlhKeWIzSTZJR3hoWW1Wc2FXNW5JSGR2Y21zZ2IzWmxjbVpzYjNjdUNnQlZibXR1YjNkdUlHOXlJSFZ1YzNWd2NHOXlkR1ZrSUd4aFltVnNhVzVuSUhSb2NtVnphRzlzWkNCdGIyUmxJSEpsY1hWbGMzUmxaQzRnVTJWMElIUnZJRzFoYm5WaGJDNEtBRXhoWW1Wc2FXNW5JSFJvY21WemFHOXNaQ0J0YjJSbElITmxkQ0IwYnlBbGN5NEtBRTFCVGxWQlRBQkJWVlJQWDAxRlJFbEJUZ0JCVlZSUFgwOVVVMVVBUVZWVVQxOUJSRUZRVkVsV1JRQkJWVlJQWDBKU1FVTkxSVlJKVGtjQVJYSnliM0k2SUZWdWMzVndjRzl5ZEdWa0lIQnBlR1ZzSUdadmNtMWhkQ0FvSldRcElISmxjWFZsYzNSbFpDNEtBRUYxZEc4Z2RHaHlaWE5vYjJ4a0lDaGljbUZqYTJWMEtTQnRZWEpyWlhJZ1kyOTFiblJ6SUMxYkpUTmtPaUFsTTJSZElGc2xNMlE2SUNVelpGMGdXeVV6WkRvZ0pUTmtYU3N1Q2dCQmRYUnZJSFJvY21WemFHOXNaQ0FvWW5KaFkydGxkQ2tnWVdScWRYTjBaV1FnZEdoeVpYTm9iMnhrSUhSdklDVmtMZ29BYldWa2FXRnVBRTkwYzNVQVFYVjBieUIwYUhKbGMyaHZiR1FnS0NWektTQmhaR3AxYzNSbFpDQjBhSEpsYzJodmJHUWdkRzhnSldRdUNnQS9QejhnTVFvQVB6OC9JRElLQUQ4L1B5QXpDZ0JGY25KdmNqb2dkVzV6ZFhCd2IzSjBaV1FnY0dsNFpXd2dabTl5YldGMExnb0FSWEp5YjNJNklFNVZURXdnY0dGMGRFaGhibVJzWlM0S0FFVnljbTl5T2lCallXNG5kQ0JzYjJGa0lIQmhkSFJsY200Z1puSnZiU0JPVlV4TUlHSjFabVpsY2k0S0FFVnljbTl5T2lCdmRYUWdiMllnYldWdGIzSjVMZ29BSUFrS0RRQlFZWFIwWlhKdUlFUmhkR0VnY21WaFpDQmxjbkp2Y2lFaENnQkZjbkp2Y2lCeVpXRmthVzVuSUhCaGRIUmxjbTRnWm1sc1pTQW5KWE1uTGdvQVJYSnliM0lnS0NWa0tUb2dkVzVoWW14bElIUnZJRzl3Wlc0Z1kyRnRaWEpoSUhCaGNtRnRaWFJsY25NZ1ptbHNaU0FpSlhNaUlHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdLQ1ZrS1RvZ2RXNWhZbXhsSUhSdklHUmxkR1Z5YldsdVpTQm1hV3hsSUd4bGJtZDBhQzRBUlhKeWIzSTZJSE4xY0hCc2FXVmtJR1pwYkdVZ1pHOWxjeUJ1YjNRZ1lYQndaV0Z5SUhSdklHSmxJR0Z1SUVGU1ZHOXZiRXRwZENCallXMWxjbUVnY0dGeVlXMWxkR1Z5SUdacGJHVXVDZ0JGY25KdmNpQW9KV1FwT2lCMWJtRmliR1VnZEc4Z2NtVmhaQ0JtY205dElHWnBiR1V1QUdGeVoyeERZVzFsY21GR2NuVnpkSFZ0VWtnb0tUb2dZWEpRWVhKaGJVUmxZMjl0Y0UxaGRDZ3BJR2x1WkdsallYUmxaQ0J3WVhKaGJXVjBaWElnWlhKeWIzSXVDZ0JGY25KdmNqb2dhV053UjJWMFNsOVZYMWhqQUVWeWNtOXlJREU2SUdsamNFZGxkRWx1YVhSWWR6SllZd29BUlhKeWIzSWdNam9nYVdOd1IyVjBTVzVwZEZoM01saGpDZ0JGY25KdmNpQXpPaUJwWTNCSFpYUkpibWwwV0hjeVdHTUtBRVZ5Y205eUlEUTZJR2xqY0VkbGRFbHVhWFJZZHpKWVl3b0FSWEp5YjNJZ05Ub2dhV053UjJWMFNXNXBkRmgzTWxoakNnQkZjbkp2Y2lBMk9pQnBZM0JIWlhSSmJtbDBXSGN5V0dNS0FFVnljbTl5SURjNklHbGpjRWRsZEVsdWFYUllkekpZWXdvQVJYSnliM0k2SUhWdVlXSnNaU0IwYnlCdmNHVnVJRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWN1Q2dCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklFWnBjbk4wSUd4cGJtVWdiWFZ6ZENCaVpTQnVkVzFpWlhJZ2IyWWdiV0Z5YTJWeUlHTnZibVpwWjNNZ2RHOGdjbVZoWkM0S0FDVnNiSFVsWXdCRmNuSnZjaUJ3Y205alpYTnphVzVuSUcxMWJIUnBiV0Z5YTJWeUlHTnZibVpwWnlCbWFXeGxJQ2NsY3ljNklIQmhkSFJsY200Z0p5VnpKeUJ6Y0dWamFXWnBaV1FnYVc0Z2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbmRYSmhkR2x2YmlCM2FHbHNaU0JwYmlCaVlYSmpiMlJsTFc5dWJIa2diVzlrWlM0S0FFVnljbTl5SUhCeWIyTmxjM05wYm1jZ2JYVnNkR2x0WVhKclpYSWdZMjl1Wm1sbklHWnBiR1VnSnlWekp6b2dWVzVoWW14bElIUnZJR1JsZEdWeWJXbHVaU0JrYVhKbFkzUnZjbmtnYm1GdFpTNEtBRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKem9nVlc1aFlteGxJSFJ2SUd4dllXUWdjR0YwZEdWeWJpQW5KWE1uTGdvQUpXeG1BRVZ5Y205eUlIQnliMk5sYzNOcGJtY2diWFZzZEdsdFlYSnJaWElnWTI5dVptbG5JR1pwYkdVZ0p5VnpKeXdnYldGeWEyVnlJR1JsWm1sdWFYUnBiMjRnSlROa09pQkdhWEp6ZENCc2FXNWxJRzExYzNRZ1ltVWdjR0YwZEdWeWJpQjNhV1IwYUM0S0FDVnNaaUFsYkdZZ0pXeG1JQ1ZzWmdBbFppQWxaZ0JGY25KdmNpQndjbTlqWlhOemFXNW5JRzExYkhScGJXRnlhMlZ5SUdOdmJtWnBaeUJtYVd4bElDY2xjeWNzSUcxaGNtdGxjaUJrWldacGJtbDBhVzl1SUNVelpEb2dUR2x1WlhNZ01pQXRJRFFnYlhWemRDQmlaU0J0WVhKclpYSWdkSEpoYm5ObWIzSnRMZ29BV3lWelhTQUFaR1ZpZFdjQWFXNW1id0IzWVhKdWFXNW5BR1Z5Y205eUFDVnpKWE1BTG1selpYUUFSWEp5YjNJNklIVnVZV0pzWlNCMGJ5QnZjR1Z1SUdacGJHVWdKeVZ6SlhNbklHWnZjaUJ5WldGa2FXNW5MZ29BUlhKeWIzSWdjbVZoWkdsdVp5QnBiV0ZuWlZObGRDNEtBRWx0WVdkbGMyVjBJR052Ym5SaGFXNXpJQ1ZrSUdsdFlXZGxjeTRLQUVaaGJHeHBibWNnWW1GamF5QjBieUJ5WldGa2FXNW5JQ2NsY3lWekp5QnBiaUJCVWxSdmIyeExhWFFnZGpRdWVDQm1iM0p0WVhRdUNnQkZjbkp2Y2lCeVpXRmthVzVuSUVwUVJVY2dabWxzWlM0S0FFVnljbTl5SUhKbFlXUnBibWNnU2xCRlJ5Qm1hV3hsSUdobFlXUmxjaTRLQUNWbUFFWnBiR1VnYjNCbGJpQmxjbkp2Y2k0Z0pYTUtBRkpsWVdRZ1pYSnliM0loSVFvQWNnQkZjbkp2Y2lCdmNHVnVhVzVuSUdacGJHVWdKeVZ6SnpvZ0FDVnpKWE1LQUNWa0FBb2pJeU1nVTNWeVptRmpaU0JPYnk0bFpDQWpJeU1LQUNWekFDQWdVbVZoWkNCSmJXRm5aVk5sZEM0S0FFVnljbTl5SUc5d1pXNXBibWNnWm1sc1pTQW5KWE11YVhObGRDY3VDZ0FnSUNBZ1pXNWtMZ29BSUNCU1pXRmtJRVpsWVhSMWNtVlRaWFF1Q2dCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbVp6WlhRbkxnb0FJQ0JTWldGa0lFMWhjbXRsY2xObGRDNEtBRzF5YXdCRmNuSnZjaUJ2Y0dWdWFXNW5JR1pwYkdVZ0p5VnpMbTF5YXljdUNnQWxaaUFsWmlBbFppQWxaZ0JVY21GdWMyWnZjbTFoZEdsdmJpQnRZWFJ5YVhnZ2NtVmhaQ0JsY25KdmNpRWhDZ0JxY0djQWEzQnRSR1ZzWlhSbFVtVm1SR0YwWVZObGRDZ3BPaUJPVlV4TUlISmxaa1JoZEdGVFpYUlFkSEl4TDNKbFprUmhkR0ZUWlhSUWRISXlMZ29BYTNCdFJHVnNaWFJsVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUhKbFprUmhkR0ZUWlhSUWRISXVDZ0J5WWdCcmNHMU1iMkZrVW1WbVJHRjBZVk5sZENncE9pQk9WVXhNSUdacGJHVnVZVzFsTDNKbFprUmhkR0ZUWlhSUWRISXVDZ0JGY25KdmNpQnNiMkZrYVc1bklFdFFUU0JrWVhSaE9pQjFibUZpYkdVZ2RHOGdiM0JsYmlCbWFXeGxJQ2NsY3lWekpYTW5JR1p2Y2lCeVpXRmthVzVuTGdvQVJYSnliM0lnYkc5aFpHbHVaeUJMVUUwZ1pHRjBZVG9nWlhKeWIzSWdjbVZoWkdsdVp5QmtZWFJoTGdvQWEzQnRRMmhoYm1kbFVHRm5aVTV2VDJaU1pXWkVZWFJoVTJWMEtDazZJRTVWVEV3Z2NtVm1SR0YwWVZObGRDNEtBR3R3YlZObGRGSmxaa1JoZEdGVFpYUW9LVG9nVGxWTVRDQnJjRzFJWVc1a2JHVXZjbVZtUkdGMFlWTmxkQzRLQUd0d2JWTmxkRkpsWmtSaGRHRlRaWFFvS1RvZ2NtVm1SR0YwWVZObGRDNEtBSEJ2YVc1MGN5MGxaQW9BYTNCdFRXRjBZMmhwYm1jb0tUb2dUbFZNVENCcmNHMUlZVzVrYkdVdmFXNUpiV0ZuWlV4MWJXRXVDZ0JRWVdkbFd5VmtYU0FnY0hKbE9pVXpaQ3dnWVdaME9pVXpaQ3dnWlhKeWIzSWdQU0FsWmdvQUpYTXVKWE1BUVhOelpYSjBhVzl1SUdCd2VYSmhiV2xrTFQ1emFYcGxLQ2tnUGlBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5RWIwZGZjMk5oYkdWZmFXNTJZWEpwWVc1MFgyUmxkR1ZqZEc5eUxtTndjQUJRZVhKaGJXbGtJR2x6SUc1dmRDQmhiR3h2WTJGMFpXUUFUMk4wWVhabElHOTFkQ0J2WmlCeVlXNW5aUUJUWTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCdFNXMWhaMlZ6TG5OcGVtVW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFUR0Z3YkdGamFXRnVJSEI1Y21GdGFXUWdhR0Z6SUc1dmRDQmlaV1Z1SUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lIQjVjbUZ0YVdRdFBtNTFiVTlqZEdGMlpYTW9LU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFVSGx5WVcxcFpDQmtiMlZ6SUc1dmRDQmpiMjUwWVdsdUlHRnVlU0JzWlhabGJITUFRWE56WlhKMGFXOXVJR0JrZVc1aGJXbGpYMk5oYzNROFkyOXVjM1FnUW1sdWIyMXBZV3hRZVhKaGJXbGtNekptS2o0b2NIbHlZVzFwWkNsZ0lHWmhhV3hsWkNCcGJpQUFUMjVzZVNCaWFXNXZiV2xoYkNCd2VYSmhiV2xrSUdseklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR1F1ZEhsd1pTZ3BJRDA5SUVsTlFVZEZYMFl6TW1BZ1ptRnBiR1ZrSUdsdUlBQlBibXg1SUVZek1pQnBiV0ZuWlhNZ2MzVndjRzl5ZEdWa0FFRnpjMlZ5ZEdsdmJpQmdhVzB4TG5SNWNHVW9LU0E5UFNCSlRVRkhSVjlHTXpKZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRJdWRIbHdaU2dwSUQwOUlFbE5RVWRGWDBZek1tQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUdRdVkyaGhibTVsYkhNb0tTQTlQU0F4WUNCbVlXbHNaV1FnYVc0Z0FFOXViSGtnYzJsdVoyeGxJR05vWVc1dVpXd2dhVzFoWjJWeklITjFjSEJ2Y25SbFpBQkJjM05sY25ScGIyNGdZR2x0TVM1amFHRnVibVZzY3lncElEMDlJREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnBiVEl1WTJoaGJtNWxiSE1vS1NBOVBTQXhZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ1pDNTNhV1IwYUNncElEMDlJR2x0TWk1M2FXUjBhQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFbHRZV2RsY3lCdGRYTjBJR2hoZG1VZ2RHaGxJSE5oYldVZ2QybGtkR2dBUVhOelpYSjBhVzl1SUdCa0xtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlhNZ2JYVnpkQ0JvWVhabElIUm9aU0J6WVcxbElHaGxhV2RvZEFCQmMzTmxjblJwYjI0Z1lHbHRNUzUzYVdSMGFDZ3BJRDA5SUdsdE1pNTNhV1IwYUNncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVcweExtaGxhV2RvZENncElEMDlJR2x0TWk1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSEp2ZHlBOElHMUlaV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2Wm5KaGJXVjNiM0pyTDJsdFlXZGxMbWdBY205M0lHOTFkQ0J2WmlCaWIzVnVaSE1BVGpaMmFYTnBiMjR5TlVkaGRYTnphV0Z1VTJOaGJHVlRjR0ZqWlZCNWNtRnRhV1JGQUVSdlJ5QlFlWEpoYldsa0FFNXZiaTF0WVhnZ2MzVndjSEpsYzNOcGIyNEFVM1ZpY0dsNFpXd0FjSEoxYm1WR1pXRjBkWEpsY3dCR2FXNWtJRTl5YVdWdWRHRjBhVzl1Y3dCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSekxuTnBlbVVvS1NBOVBTQnRUblZ0UW5WamEyVjBjMWhnSUdaaGFXeGxaQ0JwYmlBQVFuVmphMlYwY3lCaGNtVWdibTkwSUdGc2JHOWpZWFJsWkFCQmMzTmxjblJwYjI0Z1lHMUNkV05yWlhSeld6QmRMbk5wZW1Vb0tTQTlQU0J0VG5WdFFuVmphMlYwYzFsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0J0Um1WaGRIVnlaVkJ2YVc1MGN5NXphWHBsS0NrZ1BEMGdiVTFoZUU1MWJVWmxZWFIxY21WUWIybHVkSE5nSUdaaGFXeGxaQ0JwYmlBQVZHOXZJRzFoYm5rZ1ptVmhkSFZ5WlNCd2IybHVkSE1BUVhOelpYSjBhVzl1SUdCaWRXTnJaWFJiTUYwdVptbHljM1FnUGowZ1luVmphMlYwVzI1ZExtWnBjbk4wWUNCbVlXbHNaV1FnYVc0Z0FHNTBhRjlsYkdWdFpXNTBJR1poYVd4bFpBQkJjM05sY25ScGIyNGdZR3R3TG5OallXeGxJRHdnYlV4aGNHeGhZMmxoYmxCNWNtRnRhV1F1Ym5WdFUyTmhiR1ZRWlhKUFkzUmhkbVVvS1dBZ1ptRnBiR1ZrSUdsdUlBQkdaV0YwZFhKbElIQnZhVzUwSUhOallXeGxJR2x6SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0JyY0M1elkyOXlaU0E5UFNCc1lYQXhMbWRsZER4bWJHOWhkRDRvZVNsYmVGMWdJR1poYVd4bFpDQnBiaUFBVTJOdmNtVWdhWE1nYm05MElHTnZibk5wYzNSbGJuUWdkMmwwYUNCMGFHVWdSRzlISUdsdFlXZGxBRUZ6YzJWeWRHbHZiaUJnYkdGd01DNW9aV2xuYUhRb0tTQTlQU0JzWVhBeExtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2WkdWMFpXTjBiM0p6TDBSdlIxOXpZMkZzWlY5cGJuWmhjbWxoYm5SZlpHVjBaV04wYjNJdWFBQlhhV1IwYUM5b1pXbG5hSFFnWVhKbElHNXZkQ0JqYjI1emFYTjBaVzUwQUVGemMyVnlkR2x2YmlCZ0tHeGhjREF1YUdWcFoyaDBLQ2tnUFQwZ2JHRndNUzVvWldsbmFIUW9LU2tnSmlZZ0tDaHNZWEF4TG1obGFXZG9kQ2dwUGo0eEtTQTlQU0JzWVhBeUxtaGxhV2RvZENncEtXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUNnb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2twSUNZbUlDaHNZWEF4TG5kcFpIUm9LQ2tnUFQwZ2JHRndNaTUzYVdSMGFDZ3BLV0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J6YVhwbGN5QmhjbVVnYVc1amIyNXphWE4wWlc1MEFFRnpjMlZ5ZEdsdmJpQmdLSGd0TVNrZ1BqMGdNQ0FtSmlBb2VDc3hLU0E4SUd4aGNERXVkMmxrZEdnb0tXQWdabUZwYkdWa0lHbHVJQUI0SUc5MWRDQnZaaUJpYjNWdVpITUFRWE56WlhKMGFXOXVJR0FvZVMweEtTQStQU0F3SUNZbUlDaDVLekVwSUR3Z2JHRndNUzVvWldsbmFIUW9LV0FnWm1GcGJHVmtJR2x1SUFCNUlHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdBb2JHRndNQzUzYVdSMGFDZ3BQajR4S1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVNXMWhaMlVnWkdsdFpXNXphVzl1Y3lCcGJtTnZibk5wYzNSbGJuUUFRWE56WlhKMGFXOXVJR0FvYkdGd01DNTNhV1IwYUNncFBqNHhLU0E5UFNCc1lYQXlMbmRwWkhSb0tDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2JHRndNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdiR0Z3TVM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZQ2hzWVhBd0xtaGxhV2RvZENncFBqNHhLU0E5UFNCc1lYQXlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHVkQ2x6ZEdRNk9tWnNiMjl5S0hncElEMDlJQ2hwYm5RcGVHQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmFXNTBaWEp3YjJ4aGRHVXVhQUJtYkc5dmNpZ3BJR0Z1WkNCallYTjBJRzV2ZENCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lDaHBiblFwYzNSa09qcG1iRzl2Y2loNUtTQTlQU0FvYVc1MEtYbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCNWNDQStQU0F3SUNZbUlIbHdJRHdnYUdWcFoyaDBZQ0JtWVdsc1pXUWdhVzRnQUhsd0lHOTFkQ0J2WmlCaWIzVnVaSE1BUVhOelpYSjBhVzl1SUdCNWNGOXdiSFZ6WHpFZ1BqMGdNQ0FtSmlCNWNGOXdiSFZ6WHpFZ1BDQm9aV2xuYUhSZ0lHWmhhV3hsWkNCcGJpQUFlWEJmY0d4MWMxOHhJRzkxZENCdlppQmliM1Z1WkhNQVFYTnpaWEowYVc5dUlHQjRjQ0ErUFNBd0lDWW1JSGh3SUR3Z2QybGtkR2hnSUdaaGFXeGxaQ0JwYmlBQWVIQWdiM1YwSUc5bUlHSnZkVzVrY3dCQmMzTmxjblJwYjI0Z1lIaHdYM0JzZFhOZk1TQStQU0F3SUNZbUlIaHdYM0JzZFhOZk1TQThJSGRwWkhSb1lDQm1ZV2xzWldRZ2FXNGdBSGh3WDNCc2RYTmZNU0J2ZFhRZ2IyWWdZbTkxYm1SekFFRnpjMlZ5ZEdsdmJpQmdkekFnUGowZ01DQW1KaUIzTUNBOFBTQXhMakF3TURGZ0lHWmhhV3hsWkNCcGJpQUFUM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ2R6RWdQajBnTUNBbUppQjNNU0E4UFNBeExqQXdNREZnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjNNaUErUFNBd0lDWW1JSGN5SUR3OUlERXVNREF3TVdBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZSGN6SUQ0OUlEQWdKaVlnZHpNZ1BEMGdNUzR3TURBeFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0hjd0szY3hLM2N5SzNjektTQThQU0F4TGpBd01ERmdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdBb2VDMHhLU0ErUFNBd0lDWW1JQ2g0S3pFcElEd2dhVzB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lDaDVMVEVwSUQ0OUlEQWdKaVlnS0hrck1Ta2dQQ0JwYlM1b1pXbG5hSFFvS1dBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR3hoY0RBdWQybGtkR2dvS1NBOVBTQnNZWEF4TG5kcFpIUm9LQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQnNZWEF3TG1obGFXZG9kQ2dwSUQwOUlHeGhjREV1YUdWcFoyaDBLQ2xnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQjRYMlJwZGw4eUxUQXVOV1lnUGowZ01HQWdabUZwYkdWa0lHbHVJQUI0WDJScGRsOHlJRzkxZENCdlppQmliM1Z1WkhNZ2IzVjBJRzltSUdKdmRXNWtjeUJtYjNJZ2FXNTBaWEp3YjJ4aGRHbHZiZ0JCYzNObGNuUnBiMjRnWUhsZlpHbDJYekl0TUM0MVppQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIbGZaR2wyWHpJZ2IzVjBJRzltSUdKdmRXNWtjeUJ2ZFhRZ2IyWWdZbTkxYm1SeklHWnZjaUJwYm5SbGNuQnZiR0YwYVc5dUFFRnpjMlZ5ZEdsdmJpQmdlRjlrYVhaZk1pc3dMalZtSUR3Z2JHRndNaTUzYVdSMGFDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2VWOWthWFpmTWlzd0xqVm1JRHdnYkdGd01pNW9aV2xuYUhRb0tXQWdabUZwYkdWa0lHbHVJQUJCYzNObGNuUnBiMjRnWUd4aGNEQXVkMmxrZEdnb0tTQTlQU0JzWVhBeUxuZHBaSFJvS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JzWVhBd0xtaGxhV2RvZENncElEMDlJR3hoY0RJdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JwYlRBdWFHVnBaMmgwS0NrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFaGxhV2RvZENCcGN5QnBibU52Ym5OcGMzUmxiblFBUVhOelpYSjBhVzl1SUdCcGJUQXVhR1ZwWjJoMEtDa2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnS0dsdE1TNW9aV2xuYUhRb0tUNCtNU2tnUFQwZ2FXMHlMbWhsYVdkb2RDZ3BZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ0tHbHRNQzVvWldsbmFIUW9LVDQrTVNrZ1BUMGdhVzB4TG1obGFXZG9kQ2dwWUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdLR2x0TUM1b1pXbG5hSFFvS1Q0K01Ta2dQVDBnYVcweUxtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJWeWRHbHZiaUJnYVc1a1pYZ2dQQ0J0U1cxaFoyVnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJKYm1SbGVDQnBjeUJ2ZFhRZ2IyWWdjbUZ1WjJVQVRqWjJhWE5wYjI0eE9FSnBibTl0YVdGc1VIbHlZVzFwWkRNeVprVUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStQU0ExWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTluWVhWemMybGhibDl6WTJGc1pWOXpjR0ZqWlY5d2VYSmhiV2xrTG1Od2NBQkpiV0ZuWlNCcGN5QjBiMjhnYzIxaGJHd0FRWE56WlhKMGFXOXVJR0JvWldsbmFIUWdQajBnTldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x0WVdkbExuUjVjR1VvS1NBOVBTQkpUVUZIUlY5VlNVNVVPR0FnWm1GcGJHVmtJR2x1SUFCSmJXRm5aU0J0ZFhOMElHSmxJR2R5WVhselkyRnNaUUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbU5vWVc1dVpXeHpLQ2tnUFQwZ01XQWdabUZwYkdWa0lHbHVJQUJKYldGblpTQnRkWE4wSUdoaGRtVWdNU0JqYUdGdWJtVnNBRUZ6YzJWeWRHbHZiaUJnYlZCNWNtRnRhV1F1YzJsNlpTZ3BJRDA5SUcxT2RXMVBZM1JoZG1WekttMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVUhseVlXMXBaQ0JvWVhNZ2JtOTBJR0psWlc0Z1lXeHNiMk5oZEdWa0lIbGxkQUJCYzNObGNuUnBiMjRnWUdsdFlXZGxMbmRwWkhSb0tDa2dQVDBnYlZCNWNtRnRhV1JiTUYwdWQybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQkpiV0ZuWlNCdlppQjNjbTl1WnlCemFYcGxJR1p2Y2lCd2VYSmhiV2xrQUVGemMyVnlkR2x2YmlCZ2FXMWhaMlV1YUdWcFoyaDBLQ2tnUFQwZ2JWQjVjbUZ0YVdSYk1GMHVhR1ZwWjJoMEtDbGdJR1poYVd4bFpDQnBiaUFBUVhOelpYSjBhVzl1SUdCa2MzUXVkSGx3WlNncElEMDlJRWxOUVVkRlgwWXpNbUFnWm1GcGJHVmtJR2x1SUFCRVpYTjBhVzVoZEdsdmJpQnBiV0ZuWlNCemFHOTFiR1FnWW1VZ1lTQm1iRzloZEFCVmJtdHViM2R1SUdsdFlXZGxJSFI1Y0dVQVZXNXpkWEJ3YjNKMFpXUWdhVzFoWjJVZ2RIbHdaUUJPTm5acGMybHZiamxGZUdObGNIUnBiMjVGQUVGemMyVnlkR2x2YmlCZ2FXMHVkMmxrZEdnb0tTQTlQU0JwYlM1emRHVndLQ2t2YzJsNlpXOW1LR1pzYjJGMEtXQWdabUZwYkdWa0lHbHVJQUF2VlhObGNuTXZZWE12Ukc5amRXMWxiblJ6TDBSbGRtVnNiM0J0Wlc1MEwyZHBkR2gxWWk5aGNuUnZiMnhyYVhRMUxXcHpMMnhwWWk5aGNuUnZiMnhyYVhRMUwyeHBZaTlUVWtNdlMxQk5MMFp5WldGclRXRjBZMmhsY2k5a1pYUmxZM1J2Y25NdmIzSnBaVzUwWVhScGIyNWZZWE56YVdkdWJXVnVkQzVqY0hBQVUzUmxjQ0J6YVhwbElHMTFjM1FnWW1VZ1pYRjFZV3dnZEc4Z2QybGtkR2dnWm05eUlHNXZkd0JCYzNObGNuUnBiMjRnWUhnZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQjRJRHdnYlVkeVlXUnBaVzUwYzF0dlkzUmhkbVVxYlU1MWJWTmpZV3hsYzFCbGNrOWpkR0YyWlN0elkyRnNaVjB1ZDJsa2RHZ29LV0FnWm1GcGJHVmtJR2x1SUFCNElHMTFjM1FnWW1VZ2JHVnpjeUIwYUdGdUlIUm9aU0JwYldGblpTQjNhV1IwYUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnTUdBZ1ptRnBiR1ZrSUdsdUlBQjVJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVZHlZV1JwWlc1MGMxdHZZM1JoZG1VcWJVNTFiVk5qWVd4bGMxQmxjazlqZEdGMlpTdHpZMkZzWlYwdWFHVnBaMmgwS0NsZ0lHWmhhV3hsWkNCcGJpQUFlU0J0ZFhOMElHSmxJR3hsYzNNZ2RHaGhiaUIwYUdVZ2FXMWhaMlVnYUdWcFoyaDBBRUZ6YzJWeWRHbHZiaUJnWnk1amFHRnVibVZzY3lncElEMDlJREpnSUdaaGFXeGxaQ0JwYmlBQVRuVnRZbVZ5SUc5bUlHTm9ZVzV1Wld4eklITm9iM1ZzWkNCaVpTQXlBRUZ6YzJWeWRHbHZiaUJnYldGNFgyaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBVFdGNGFXMTFiU0JpYVc0Z2MyaHZkV3hrSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdhR2x6ZENBaFBTQk9WVXhNWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMlJsZEdWamRHOXljeTl2Y21sbGJuUmhkR2x2Ymw5aGMzTnBaMjV0Wlc1MExtZ0FTR2x6ZEc5bmNtRnRJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQkJjM05sY25ScGIyNGdZQ2htWW1sdUt6QXVOV1lwSUQ0Z01DQW1KaUFvWm1KcGJpMHdMalZtS1NBOElHNTFiVjlpYVc1ellDQm1ZV2xzWldRZ2FXNGdBRVJsWTJsdFlXd2dZbWx1SUhCdmMybDBhVzl1SUdsdVpHVjRJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHMWhaMjVwZEhWa1pTQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FFMWhaMjVwZEhWa1pTQmpZVzV1YjNRZ1ltVWdibVZuWVhScGRtVUFRWE56WlhKMGFXOXVJR0J1ZFcxZlltbHVjeUErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRTUxYldKbGNpQmlhVzV6SUcxMWMzUWdZbVVnY0c5emFYUnBkbVVBUVhOelpYSjBhVzl1SUdCM01TQStQU0F3WUNCbVlXbHNaV1FnYVc0Z0FIY3hJRzExYzNRZ1ltVWdjRzl6YVhScGRtVUFRWE56WlhKMGFXOXVJR0IzTWlBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUhjeUlHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQmlNU0ErUFNBd0lDWW1JR0l4SUR3Z2JuVnRYMkpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFZakVnWW1sdUlHbHVaR1Y0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZR0l5SUQ0OUlEQWdKaVlnWWpJZ1BDQnVkVzFmWW1sdWMyQWdabUZwYkdWa0lHbHVJQUJpTWlCaWFXNGdhVzVrWlhnZ2IzVjBJRzltSUhKaGJtZGxBRWxFSUdGc2NtVmhaSGtnWlhocGMzUnpBRUoxYVd4a0lGQjVjbUZ0YVdRQVJYaDBjbUZqZENCR1pXRjBkWEpsY3dCQmMzTmxjblJwYjI0Z1lHRnpjMmxuYm0xbGJuUXVjMmw2WlNncElEMDlJRzUxYlY5cGJtUnBZMlZ6WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMkpwYm1GeWVWOW9hV1Z5WVhKamFHbGpZV3hmWTJ4MWMzUmxjbWx1Wnk1b0FFRnpjMmxuYm0xbGJuUWdjMmw2WlNCM2NtOXVad0JCYzNObGNuUnBiMjRnWUdGemMybG5ibTFsYm5SYmFWMGdJVDBnTFRGZ0lHWmhhV3hsWkNCcGJpQUFRWE56YVdkdWJXVnVkQ0JwY3lCcGJuWmhiR2xrQUVGemMyVnlkR2x2YmlCZ1lYTnphV2R1YldWdWRGdHBYU0E4SUc1MWJWOXBibVJwWTJWellDQm1ZV2xzWldRZ2FXNGdBRUZ6YzJsbmJtMWxiblFnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdhVzVrYVdObGMxdGhjM05wWjI1dFpXNTBXMmxkWFNBOElHNTFiVjltWldGMGRYSmxjMkFnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lHbDBMVDV6WldOdmJtUXVjMmw2WlNncElDRTlJREJnSUdaaGFXeGxaQ0JwYmlBQVEyeDFjM1JsY2lCdGRYTjBJR2hoZG1VZ1lYUnNaV0Z6WlhRZ01TQm1aV0YwZFhKbEFFRnpjMlZ5ZEdsdmJpQmdiVXNnUFQwZ2JVTmxiblJsY25NdWMybDZaU2dwWUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMMjFoZEdOb1pYSnpMMnR0WldSdmFXUnpMbWdBYXlCemFHOTFiR1FnYldGMFkyZ2dkR2hsSUc1MWJXSmxjaUJ2WmlCamJIVnpkR1Z5SUdObGJuUmxjbk1BUVhOelpYSjBhVzl1SUdCdWRXMWZabVZoZEhWeVpYTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FFNTFiV0psY2lCdlppQm1aV0YwZFhKbGN5QnRkWE4wSUdKbElIQnZjMmwwYVhabEFFRnpjMlZ5ZEdsdmJpQmdiblZ0WDJsdVpHbGpaWE1nUEQwZ2JuVnRYMlpsWVhSMWNtVnpZQ0JtWVdsc1pXUWdhVzRnQUUxdmNtVWdhVzVrYVdObGN5QjBhR0Z1SUdabFlYUjFjbVZ6QUVGemMyVnlkR2x2YmlCZ2JuVnRYMmx1WkdsalpYTWdQajBnYlV0Z0lHWmhhV3hsWkNCcGJpQUFUbTkwSUdWdWIzVm5hQ0JtWldGMGRYSmxjd0JCYzNOcFoyNXRaVzUwSUhOcGVtVWdhWE1nYVc1amIzSnlaV04wQUVGemMyVnlkR2x2YmlCZ2JuVnRYMk5sYm5SbGNuTWdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FGUm9aWEpsSUcxMWMzUWdZbVVnWVhRZ2JHVmhjM1FnTVNCalpXNTBaWElBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdmRtbHpkV0ZzWDJSaGRHRmlZWE5sTG1nQVFYTnpaWEowYVc5dUlHQmtaWFJsWTNSdmNtQWdabUZwYkdWa0lHbHVJQUJFWlhSbFkzUnZjaUJwY3lCT1ZVeE1BRUZ6YzJWeWRHbHZiaUJnY0hseVlXMXBaQzArYVcxaFoyVnpLQ2t1YzJsNlpTZ3BJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHbHpJR1Z0Y0hSNUFFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1ZDJsa2RHZ29LU0E5UFNCa1pYUmxZM1J2Y2kwK2QybGtkR2dvS1dBZ1ptRnBiR1ZrSUdsdUlBQlFlWEpoYldsa0lHRnVaQ0JrWlhSbFkzUnZjaUJ6YVhwbElHMXBjMjFoZEdOb0FFRnpjMlZ5ZEdsdmJpQmdjSGx5WVcxcFpDMCthVzFoWjJWektDbGJNRjB1YUdWcFoyaDBLQ2tnUFQwZ1pHVjBaV04wYjNJdFBtaGxhV2RvZENncFlDQm1ZV2xzWldRZ2FXNGdBRTVUZEROZlh6SXhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNVNDJkbWx6YVc5dU9FdGxlV1p5WVcxbFNVeHBPVFpGUlVWRlJRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRVGpaMmFYTnBiMjQ0UzJWNVpuSmhiV1ZKVEdrNU5rVkZSVTVUWHpFMFpHVm1ZWFZzZEY5a1pXeGxkR1ZKVXpOZlJVVk9VMTg1WVd4c2IyTmhkRzl5U1ZNelgwVkZSVVVBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUJHYjNWdVpDQWxaQ0JtWldGMGRYSmxjeUJwYmlCeGRXVnllUUJpYjI5c0lIWnBjMmx2YmpvNlZtbHpkV0ZzUkdGMFlXSmhjMlU4ZG1semFXOXVPanBHVWtWQlMwVjRkSEpoWTNSdmNpd2dkbWx6YVc5dU9qcENhVzVoY25sR1pXRjBkWEpsVTNSdmNtVXNJSFpwYzJsdmJqbzZRbWx1WVhKNVJtVmhkSFZ5WlUxaGRHTm9aWEk4T1RZK0lENDZPbkYxWlhKNUtHTnZibk4wSUhacGMybHZiam82UjJGMWMzTnBZVzVUWTJGc1pWTndZV05sVUhseVlXMXBaQ0FxS1NCYlJrVkJWRlZTUlY5RldGUlNRVU5VVDFJZ1BTQjJhWE5wYjI0Nk9rWlNSVUZMUlhoMGNtRmpkRzl5TENCVFZFOVNSU0E5SUhacGMybHZiam82UW1sdVlYSjVSbVZoZEhWeVpWTjBiM0psTENCTlFWUkRTRVZTSUQwZ2RtbHphVzl1T2pwQ2FXNWhjbmxHWldGMGRYSmxUV0YwWTJobGNqdzVOajVkQUVacGJtUWdUV0YwWTJobGN5QW9NU2tBU0c5MVoyZ2dWbTkwYVc1bklDZ3hLUUJHYVc1a0lFaHZkV2RvSUUxaGRHTm9aWE1nS0RFcEFFVnpkR2x0WVhSbElFaHZiVzluY21Gd2FIa2dLREVwQUVacGJtUWdTVzVzYVdWeWN5QW9NU2tBUm1sdVpDQk5ZWFJqYUdWeklDZ3lLUUJJYjNWbmFDQldiM1JwYm1jZ0tESXBBRVpwYm1RZ1NHOTFaMmdnVFdGMFkyaGxjeUFvTWlrQVJYTjBhVzFoZEdVZ1NHOXRiMmR5WVhCb2VTQW9NaWtBUm1sdVpDQkpibXhwWlhKeklDZ3lLUUJCYzNObGNuUnBiMjRnWURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12Wm1WaGRIVnlaVjl0WVhSamFHVnlMV2x1YkdsdVpTNW9BRVpoYVd4bFpDQjBieUJqYjIxd2RYUmxJRzFoZEhKcGVDQnBiblpsY25ObEFFRnpjMlZ5ZEdsdmJpQmdZbVZ6ZEY5cGJtUmxlQ0FoUFNCemRHUTZPbTUxYldWeWFXTmZiR2x0YVhSelBITnBlbVZmZEQ0Nk9tMWhlQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGTnZiV1YwYUdsdVp5QnpkSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdiVTFoZEdOb1pYTXVjMmw2WlNncElEdzlJR1psWVhSMWNtVnpNUzArYzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUU1MWJXSmxjaUJ2WmlCdFlYUmphR1Z6SUhOb2IzVnNaQ0JpWlNCc2IzZGxjZ0JCYzNObGNuUnBiMjRnWUdoNWNDNXphWHBsS0NrZ1BqMGdPU3B0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE5nSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZhRzl0YjJkeVlYQm9lVjlsYzNScGJXRjBhVzl1TDNKdlluVnpkRjlvYjIxdlozSmhjR2g1TG1nQWFIbHdJSFpsWTNSdmNpQnphRzkxYkdRZ1ltVWdiMllnYzJsNlpTQTVLbTFoZUY5dWRXMWZhSGx3YjNSb1pYTmxjd0JCYzNObGNuUnBiMjRnWUhSdGNGOXBMbk5wZW1Vb0tTQStQU0J1ZFcxZmNHOXBiblJ6WUNCbVlXbHNaV1FnYVc0Z0FIUnRjRjlwSUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J1ZFcxZmNHOXBiblJ6QUVGemMyVnlkR2x2YmlCZ2FIbHdYMk52YzNSekxuTnBlbVVvS1NBK1BTQnRZWGhmYm5WdFgyaDVjRzkwYUdWelpYTmdJR1poYVd4bFpDQnBiaUFBYUhsd1gyTnZjM1J6SUhabFkzUnZjaUJ6YUc5MWJHUWdZbVVnYjJZZ2MybDZaU0J0WVhoZmJuVnRYMmg1Y0c5MGFHVnpaWE1BUVhOelpYSjBhVzl1SUdCdUlEdzlJR2x1WDIxaGRHTm9aWE11YzJsNlpTZ3BZQ0JtWVdsc1pXUWdhVzRnQUZOb2IzVnNaQ0JpWlNCMGFHVWdjMkZ0WlFCQmMzTmxjblJwYjI0Z1lHUnBjM1JDYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR1JwYzNSQ2FXNUJibWRzWlNCdGRYTjBJRzV2ZENCaVpTQnVaV2RoZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTYjI5MExtZGxkQ2dwWUNCbVlXbHNaV1FnYVc0Z0FGSnZiM1FnWTJGdWJtOTBJR0psSUU1VlRFd0FRWE56WlhKMGFXOXVJR0J0YVc1cElDRTlJQzB4WUNCbVlXbHNaV1FnYVc0Z0FFMXBibWx0ZFcwZ2FXNWtaWGdnYm05MElITmxkQUJCYzNObGNuUnBiMjRnWUhnZ1BqMGdiVTFwYmxoZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VhQUI0SUc5MWRDQnZaaUJ5WVc1blpRQkJjM05sY25ScGIyNGdZSGdnUENCdFRXRjRXR0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lIa2dQajBnYlUxcGJsbGdJR1poYVd4bFpDQnBiaUFBZVNCdmRYUWdiMllnY21GdVoyVUFRWE56WlhKMGFXOXVJR0I1SUR3Z2JVMWhlRmxnSUdaaGFXeGxaQ0JwYmlBQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBK0lDMVFTV0FnWm1GcGJHVmtJR2x1SUFCaGJtZHNaU0J2ZFhRZ2IyWWdjbUZ1WjJVQVFYTnpaWEowYVc5dUlHQmhibWRzWlNBOFBTQlFTV0FnWm1GcGJHVmtJR2x1SUFCQmMzTmxjblJwYjI0Z1lITmpZV3hsSUQ0OUlHMU5hVzVUWTJGc1pXQWdabUZwYkdWa0lHbHVJQUJ6WTJGc1pTQnZkWFFnYjJZZ2NtRnVaMlVBUVhOelpYSjBhVzl1SUdCelkyRnNaU0E4SUcxTllYaFRZMkZzWldBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR2x1WkdWNElENDlJREJnSUdaaGFXeGxaQ0JwYmlBQWFXNWtaWGdnYjNWMElHOW1JSEpoYm1kbEFFRnpjMlZ5ZEdsdmJpQmdZbWx1V0NBK1BTQXdZQ0JtWVdsc1pXUWdhVzRnQUdKcGJsZ2diM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVXQ0E4SUcxT2RXMVlRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxrZ1BqMGdNR0FnWm1GcGJHVmtJR2x1SUFCaWFXNVpJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBibGtnUENCdFRuVnRXVUpwYm5OZ0lHWmhhV3hsWkNCcGJpQUFRWE56WlhKMGFXOXVJR0JpYVc1QmJtZHNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBR0pwYmtGdVoyeGxJRzkxZENCdlppQnlZVzVuWlFCQmMzTmxjblJwYjI0Z1lHSnBia0Z1WjJ4bElEd2diVTUxYlVGdVoyeGxRbWx1YzJBZ1ptRnBiR1ZrSUdsdUlBQkJjM05sY25ScGIyNGdZR0pwYmxOallXeGxJRDQ5SURCZ0lHWmhhV3hsWkNCcGJpQUFZbWx1VTJOaGJHVWdiM1YwSUc5bUlISmhibWRsQUVGemMyVnlkR2x2YmlCZ1ltbHVVMk5oYkdVZ1BDQnRUblZ0VTJOaGJHVkNhVzV6WUNCbVlXbHNaV1FnYVc0Z0FFRnpjMlZ5ZEdsdmJpQmdhVzVrWlhnZ1BEMGdLR0pwYmxnZ0t5QmlhVzVaS20xT2RXMVlRbWx1Y3lBcklHSnBia0Z1WjJ4bEttMU9kVzFZUW1sdWN5cHRUblZ0V1VKcGJuTWdLeUJpYVc1VFkyRnNaU3B0VG5WdFdFSnBibk1xYlU1MWJWbENhVzV6S20xT2RXMUJibWRzWlVKcGJuTXBZQ0JtWVdsc1pXUWdhVzRnQUVGemMyVnlkR2x2YmlCZ2MybDZaU0ErSURCZ0lHWmhhV3hsWkNCcGJpQUFMMVZ6WlhKekwyRnpMMFJ2WTNWdFpXNTBjeTlFWlhabGJHOXdiV1Z1ZEM5bmFYUm9kV0l2WVhKMGIyOXNhMmwwTlMxcWN5OXNhV0l2WVhKMGIyOXNhMmwwTlM5c2FXSXZVMUpETDB0UVRTOUdjbVZoYTAxaGRHTm9aWEl2YldGMFkyaGxjbk12YUc5MVoyaGZjMmx0YVd4aGNtbDBlVjkyYjNScGJtY3VZM0J3QUhOcGVtVWdiWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZRzFTWldaSmJXRm5aVmRwWkhSb0lENGdNR0FnWm1GcGJHVmtJR2x1SUFCM2FXUjBhQ0J0ZFhOMElHSmxJSEJ2YzJsMGFYWmxBRUZ6YzJWeWRHbHZiaUJnYlZKbFprbHRZV2RsU0dWcFoyaDBJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQm9aV2xuYUhRZ2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHNGdQaUF3WUNCbVlXbHNaV1FnYVc0Z0FDOVZjMlZ5Y3k5aGN5OUViMk4xYldWdWRITXZSR1YyWld4dmNHMWxiblF2WjJsMGFIVmlMMkZ5ZEc5dmJHdHBkRFV0YW5NdmJHbGlMMkZ5ZEc5dmJHdHBkRFV2YkdsaUwxTlNReTlMVUUwdlJuSmxZV3ROWVhSamFHVnlMM1YwYVd4ekwzQmhjblJwWVd4ZmMyOXlkQzVvQUc0Z2JYVnpkQ0JpWlNCd2IzTnBkR2wyWlFCQmMzTmxjblJwYjI0Z1lHc2dQaUF3WUNCbVlXbHNaV1FnYVc0Z0FHc2diWFZ6ZENCaVpTQndiM05wZEdsMlpRQkJjM05sY25ScGIyNGdZSEI1Y21GdGFXUmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdmJXRjBZMmhsY25NdlpuSmxZV3N1YUFCUWVYSmhiV2xrSUdseklFNVZURXdBUVhOelpYSjBhVzl1SUdCemRHOXlaUzV6YVhwbEtDa2dQVDBnY0c5cGJuUnpMbk5wZW1Vb0tXQWdabUZwYkdWa0lHbHVJQUJHWldGMGRYSmxJSE4wYjNKbElHaGhjeUJ1YjNRZ1ltVmxiaUJoYkd4dlkyRjBaV1FBUVhOelpYSjBhVzl1SUdCdWRXMWZjRzlwYm5SeklEMDlJSEJ2YVc1MGN5NXphWHBsS0NsZ0lHWmhhV3hsWkNCcGJpQUFVMmh2ZFd4a0lHSmxJSE5oYldVZ2MybDZaUUJCYzNObGNuUnBiMjRnWUc5amRHRjJaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBQzlWYzJWeWN5OWhjeTlFYjJOMWJXVnVkSE12UkdWMlpXeHZjRzFsYm5RdloybDBhSFZpTDJGeWRHOXZiR3RwZERVdGFuTXZiR2xpTDJGeWRHOXZiR3RwZERVdmJHbGlMMU5TUXk5TFVFMHZSbkpsWVd0TllYUmphR1Z5TDJSbGRHVmpkRzl5Y3k5bllYVnpjMmxoYmw5elkyRnNaVjl6Y0dGalpWOXdlWEpoYldsa0xtZ0FUMk4wWVhabElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnZZM1JoZG1VZ1BDQnRUblZ0VDJOMFlYWmxjMkFnWm1GcGJHVmtJR2x1SUFCUFkzUmhkbVVnYlhWemRDQmlaU0JzWlhOeklIUm9ZVzRnYm5WdFltVnlJRzltSUc5amRHRjJaWE1BUVhOelpYSjBhVzl1SUdCelkyRnNaU0ErUFNBd1lDQm1ZV2xzWldRZ2FXNGdBRk5qWVd4bElHMTFjM1FnWW1VZ2NHOXphWFJwZG1VQVFYTnpaWEowYVc5dUlHQnpZMkZzWlNBOElHMU9kVzFUWTJGc1pYTlFaWEpQWTNSaGRtVmdJR1poYVd4bFpDQnBiaUFBVTJOaGJHVWdiWFZ6ZENCaVpTQnNaWE56SUhSb1lXNGdiblZ0WW1WeUlHOW1JSE5qWVd4bElIQmxjaUJ2WTNSaGRtVUFKVzB0SldRdEpWa3RKVWd0SlUwdEpWTUFRWE56WlhKMGFXOXVJR0IzYVdSMGFDQStJREJnSUdaaGFXeGxaQ0JwYmlBQUwxVnpaWEp6TDJGekwwUnZZM1Z0Wlc1MGN5OUVaWFpsYkc5d2JXVnVkQzluYVhSb2RXSXZZWEowYjI5c2EybDBOUzFxY3k5c2FXSXZZWEowYjI5c2EybDBOUzlzYVdJdlUxSkRMMHRRVFM5R2NtVmhhMDFoZEdOb1pYSXZabkpoYldWM2IzSnJMMmx0WVdkbExtTndjQUJYYVdSMGFDQmpZVzV1YjNRZ1ltVWdlbVZ5YndCQmMzTmxjblJwYjI0Z1lHaGxhV2RvZENBK0lEQmdJR1poYVd4bFpDQnBiaUFBU0dWcFoyaDBJR05oYm01dmRDQmlaU0I2WlhKdkFFRnpjMlZ5ZEdsdmJpQmdjM1JsY0NBK1BTQjNhV1IwYUdBZ1ptRnBiR1ZrSUdsdUlBQlRkR1Z3SUcxMWMzUWdZbVVnWjNKbFlYUmxjaUIwYUdGdUlHOXlJR1Z4ZFdGc0lIUm9aU0IzYVdSMGFBQkJjM05sY25ScGIyNGdZR05vWVc1dVpXeHpJRDRnTUdBZ1ptRnBiR1ZrSUdsdUlBQk9kVzFpWlhJZ2IyWWdZMmhoYm01bGJITWdZMkZ1Ym05MElHSmxJSHBsY204QVFYTnpaWEowYVc5dUlHQnRSR0YwWVM1blpYUW9LV0FnWm1GcGJHVmtJR2x1SUFCRVlYUmhJSEJ2YVc1MFpYSWdhWE1nVGxWTVRBQk9VM1F6WDE4eU1UUmtaV1poZFd4MFgyUmxiR1YwWlVsb1JVVUFUbE4wTTE5Zk1qSXdYMTl6YUdGeVpXUmZjSFJ5WDNCdmFXNTBaWEpKVUdoT1UxOHhOR1JsWm1GMWJIUmZaR1ZzWlhSbFNXaEZSVTVUWHpsaGJHeHZZMkYwYjNKSmFFVkZSVVVBU1c1MllXeHBaQ0JwYldGblpTQjBlWEJsQURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JRQk9VM1F6WDE4eU1qQmZYM05vWVhKbFpGOXdkSEpmY0c5cGJuUmxja2xRYURFMlRuVnNiRUZ5Y21GNVJHVnNaWFJsY2tsb1JVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFRWE56WlhKMGFXOXVJR0J0VTNSaGNuUlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBTDFWelpYSnpMMkZ6TDBSdlkzVnRaVzUwY3k5RVpYWmxiRzl3YldWdWRDOW5hWFJvZFdJdllYSjBiMjlzYTJsME5TMXFjeTlzYVdJdllYSjBiMjlzYTJsME5TOXNhV0l2VTFKREwwdFFUUzlHY21WaGEwMWhkR05vWlhJdlpuSmhiV1YzYjNKckwzUnBiV1Z5Y3k1amNIQUFJR3hwYm1VZ0FEb2dBRU5zYjJOcklHaGhjeUJ1YjNRZ1ltVmxiaUJ6ZEdGeWRHVmtBRUZ6YzJWeWRHbHZiaUJnYlZOMGIzQlVhVzFsSUQ0OUlEQmdJR1poYVd4bFpDQnBiaUFBUTJ4dlkyc2dhR0Z6SUc1dmRDQmlaV1Z1SUhOMGIzQndaV1FBV3lWelhTQmJKWE5kSUZzbGMxMGdPaUFsY3pvZ0pXWWdiWE1BSUVsT1JrOGdJQUIyYVhOcGIyNDZPbE5qYjNCbFpGUnBiV1Z5T2pwK1UyTnZjR1ZrVkdsdFpYSW9LUUJ6WlhSMWNBQjBaV0Z5Wkc5M2JnQnpaWFIxY0VGU01nQmZZV1JrVFdGeWEyVnlBRjloWkdSTmRXeDBhVTFoY210bGNnQmZZV1JrVGtaVVRXRnlhMlZ5QUdkbGRFMTFiSFJwVFdGeWEyVnlUblZ0QUdkbGRFMTFiSFJwVFdGeWEyVnlRMjkxYm5RQVgyeHZZV1JEWVcxbGNtRUFjMlYwVFdGeWEyVnlTVzVtYjBScGNnQnpaWFJOWVhKclpYSkpibVp2Vm1WeWRHVjRBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVTNGMVlYSmxRMjl1ZEFCblpYUlVjbUZ1YzAxaGRFMTFiSFJwVTNGMVlYSmxBR2RsZEZSeVlXNXpUV0YwVFhWc2RHbFRjWFZoY21WU2IySjFjM1FBWkdWMFpXTjBUV0Z5YTJWeUFHZGxkRTFoY210bGNrNTFiUUJrWlhSbFkzUk9SbFJOWVhKclpYSUFaMlYwVFhWc2RHbEZZV05vVFdGeWEyVnlBR2RsZEUxaGNtdGxjZ0JuWlhST1JsUk5ZWEpyWlhJQWMyVjBSR1ZpZFdkTmIyUmxBR2RsZEVSbFluVm5UVzlrWlFCblpYUlFjbTlqWlhOemFXNW5TVzFoWjJVQWMyVjBURzluVEdWMlpXd0FaMlYwVEc5blRHVjJaV3dBYzJWMFVISnZhbVZqZEdsdmJrNWxZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1VG1WaGNsQnNZVzVsQUhObGRGQnliMnBsWTNScGIyNUdZWEpRYkdGdVpRQm5aWFJRY205cVpXTjBhVzl1Um1GeVVHeGhibVVBYzJWMFZHaHlaWE5vYjJ4a1RXOWtaUUJuWlhSVWFISmxjMmh2YkdSTmIyUmxBSE5sZEZSb2NtVnphRzlzWkFCblpYUlVhSEpsYzJodmJHUUFjMlYwVUdGMGRHVnlia1JsZEdWamRHbHZiazF2WkdVQVoyVjBVR0YwZEdWeWJrUmxkR1ZqZEdsdmJrMXZaR1VBYzJWMFVHRjBkRkpoZEdsdkFHZGxkRkJoZEhSU1lYUnBid0J6WlhSTllYUnlhWGhEYjJSbFZIbHdaUUJuWlhSTllYUnlhWGhEYjJSbFZIbHdaUUJ6WlhSTVlXSmxiR2x1WjAxdlpHVUFaMlYwVEdGaVpXeHBibWROYjJSbEFITmxkRWx0WVdkbFVISnZZMDF2WkdVQVoyVjBTVzFoWjJWUWNtOWpUVzlrWlFCRlVsSlBVbDlCVWtOUFRsUlNUMHhNUlZKZlRrOVVYMFpQVlU1RUFFVlNVazlTWDAxVlRGUkpUVUZTUzBWU1gwNVBWRjlHVDFWT1JBQkZVbEpQVWw5TlFWSkxSVkpmU1U1RVJWaGZUMVZVWDA5R1gwSlBWVTVFVXdCQlVsOUVSVUpWUjE5RVNWTkJRa3hGQUVGU1gwUkZRbFZIWDBWT1FVSk1SUUJCVWw5RVJVWkJWVXhVWDBSRlFsVkhYMDFQUkVVQVFWSmZURUZDUlV4SlRrZGZWMGhKVkVWZlVrVkhTVTlPQUVGU1gweEJRa1ZNU1U1SFgwSk1RVU5MWDFKRlIwbFBUZ0JCVWw5RVJVWkJWVXhVWDB4QlFrVk1TVTVIWDAxUFJFVUFRVkpmUkVWR1FWVk1WRjlNUVVKRlRFbE9SMTlVU0ZKRlUwZ0FRVkpmU1UxQlIwVmZVRkpQUTE5R1VrRk5SVjlKVFVGSFJRQkJVbDlKVFVGSFJWOVFVazlEWDBaSlJVeEVYMGxOUVVkRkFFRlNYMFJGUmtGVlRGUmZTVTFCUjBWZlVGSlBRMTlOVDBSRkFFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYME5QVEU5U0FFRlNYMVJGVFZCTVFWUkZYMDFCVkVOSVNVNUhYMDFQVGs4QVFWSmZUVUZVVWtsWVgwTlBSRVZmUkVWVVJVTlVTVTlPQUVGU1gxUkZUVkJNUVZSRlgwMUJWRU5JU1U1SFgwTlBURTlTWDBGT1JGOU5RVlJTU1ZnQVFWSmZWRVZOVUV4QlZFVmZUVUZVUTBoSlRrZGZUVTlPVDE5QlRrUmZUVUZVVWtsWUFFRlNYMFJGUmtGVlRGUmZVRUZVVkVWU1RsOUVSVlJGUTFSSlQwNWZUVTlFUlFCQlVsOVZVMFZmVkZKQlEwdEpUa2RmU0VsVFZFOVNXUUJCVWw5T1QxVlRSVjlVVWtGRFMwbE9SMTlJU1ZOVVQxSlpBRUZTWDFWVFJWOVVVa0ZEUzBsT1IxOUlTVk5VVDFKWlgxWXlBRUZTWDBSRlJrRlZURlJmVFVGU1MwVlNYMFZZVkZKQlExUkpUMDVmVFU5RVJRQkJVbDlOUVZoZlRFOVBVRjlEVDFWT1ZBQkJVbDlNVDA5UVgwSlNSVUZMWDFSSVVrVlRTQUJCVWw5TVQwZGZURVZXUlV4ZlJFVkNWVWNBUVZKZlRFOUhYMHhGVmtWTVgwbE9SazhBUVZKZlRFOUhYMHhGVmtWTVgxZEJVazRBUVZKZlRFOUhYMHhGVmtWTVgwVlNVazlTQUVGU1gweFBSMTlNUlZaRlRGOVNSVXhmU1U1R1R3QkJVbDlOUVZSU1NWaGZRMDlFUlY4emVETUFRVkpmVFVGVVVrbFlYME5QUkVWZk0zZ3pYMGhCVFUxSlRrYzJNd0JCVWw5TlFWUlNTVmhmUTA5RVJWOHplRE5mVUVGU1NWUlpOalVBUVZKZlRVRlVVa2xZWDBOUFJFVmZOSGcwQUVGU1gwMUJWRkpKV0Y5RFQwUkZYelI0TkY5Q1EwaGZNVE5mT1Y4ekFFRlNYMDFCVkZKSldGOURUMFJGWHpSNE5GOUNRMGhmTVROZk5WODFBRUZTWDB4QlFrVk1TVTVIWDFSSVVrVlRTRjlOVDBSRlgwMUJUbFZCVEFCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwMUZSRWxCVGdCQlVsOU1RVUpGVEVsT1IxOVVTRkpGVTBoZlRVOUVSVjlCVlZSUFgwOVVVMVVBUVZKZlRFRkNSVXhKVGtkZlZFaFNSVk5JWDAxUFJFVmZRVlZVVDE5QlJFRlFWRWxXUlFCQlVsOU5RVkpMUlZKZlNVNUdUMTlEVlZSUFJrWmZVRWhCVTBWZlRrOU9SUUJCVWw5TlFWSkxSVkpmU1U1R1QxOURWVlJQUmtaZlVFaEJVMFZmVUVGVVZFVlNUbDlGV0ZSU1FVTlVTVTlPQUVGU1gwMUJVa3RGVWw5SlRrWlBYME5WVkU5R1JsOVFTRUZUUlY5TlFWUkRTRjlIUlU1RlVrbERBRUZTWDAxQlVrdEZVbDlKVGtaUFgwTlZWRTlHUmw5UVNFRlRSVjlOUVZSRFNGOURUMDVVVWtGVFZBQkJVbDlOUVZKTFJWSmZTVTVHVDE5RFZWUlBSa1pmVUVoQlUwVmZUVUZVUTBoZlFrRlNRMDlFUlY5T1QxUmZSazlWVGtRQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwMUJWRU5JWDBKQlVrTlBSRVZmUlVSRFgwWkJTVXdBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDAxQlZFTklYME5QVGtaSlJFVk9RMFVBUVZKZlRVRlNTMFZTWDBsT1JrOWZRMVZVVDBaR1gxQklRVk5GWDFCUFUwVmZSVkpTVDFJQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgxQlBVMFZmUlZKU1QxSmZUVlZNVkVrQVFWSmZUVUZTUzBWU1gwbE9SazlmUTFWVVQwWkdYMUJJUVZORlgwaEZWVkpKVTFSSlExOVVVazlWUWt4RlUwOU5SVjlOUVZSU1NWaGZRMDlFUlZNQVlXeHNiMk5oZEc5eVBGUStPanBoYkd4dlkyRjBaU2h6YVhwbFgzUWdiaWtnSjI0bklHVjRZMlZsWkhNZ2JXRjRhVzExYlNCemRYQndiM0owWldRZ2MybDZaUUJKYldGblpTQndjbTlqTGlCdGIyUmxJSE5sZENCMGJ5QWxaQzRLQUV4aFltVnNhVzVuSUcxdlpHVWdjMlYwSUhSdklDVmtDZ0IyYVdsbUFGQmhkSFJsY200Z2NtRjBhVzhnYzJsNlpTQnpaWFFnZEc4Z0pXWXVDZ0JRWVhSMFpYSnVJR1JsZEdWamRHbHZiaUJ0YjJSbElITmxkQ0IwYnlBbFpDNEtBRlJvY21WemFHOXNaQ0J6WlhRZ2RHOGdKV1FLQUhacGFXa0FWR2h5WlhOb2IyeGtJRzF2WkdVZ2MyVjBJSFJ2SUNWa0NnQmthV2tBZG1scFpBQnBhUUIyYVdrQWIyNHVBRzltWmk0QVJHVmlkV2NnYlc5a1pTQnpaWFFnZEc4Z0pYTUtBRlJ5WVdOcmFXNW5JR3h2YzNRdUlDVmtDZ0JVY21GamEyVmtJSEJoWjJVZ0pXUWdLRzFoZUNBbFpDa3VDZ0I3SUhaaGNpQWtZU0E5SUdGeVozVnRaVzUwY3pzZ2RtRnlJR2tnUFNBd095QnBaaUFvSVdGeWRHOXZiR3RwZEZzaVRrWlVUV0Z5YTJWeVNXNW1ieUpkS1NCN0lHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZElEMGdLSHNnYVdRNklEQXNJR1Z5Y205eU9pQXRNU3dnWm05MWJtUTZJREFzSUhCdmMyVTZJRnN3TERBc01Dd3dMQ0F3TERBc01Dd3dMQ0F3TERBc01Dd3dYU0I5S1RzZ2ZTQjJZWElnYldGeWEyVnlTVzVtYnlBOUlHRnlkRzl2Ykd0cGRGc2lUa1pVVFdGeWEyVnlTVzVtYnlKZE95QnRZWEpyWlhKSmJtWnZXeUpwWkNKZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpWlhKeWIzSWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltWnZkVzVrSWwwZ1BTQXhPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTUYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk1sMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTTEwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJORjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk5WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTmwwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJOMTBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SndiM05sSWwxYk9GMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiT1YwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUp3YjNObElsMWJNVEJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2ljRzl6WlNKZFd6RXhYU0E5SUNSaFcya3JLMTA3SUgwQWV5QjJZWElnSkdFZ1BTQmhjbWQxYldWdWRITTdJSFpoY2lCcElEMGdNRHNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJazVHVkUxaGNtdGxja2x1Wm04aVhTa2dleUJoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYU0E5SUNoN0lHbGtPaUF3TENCbGNuSnZjam9nTFRFc0lHWnZkVzVrT2lBd0xDQndiM05sT2lCYk1Dd3dMREFzTUN3Z01Dd3dMREFzTUN3Z01Dd3dMREFzTUYwZ2ZTazdJSDBnZG1GeUlHMWhjbXRsY2tsdVptOGdQU0JoY25SdmIyeHJhWFJiSWs1R1ZFMWhjbXRsY2tsdVptOGlYVHNnYldGeWEyVnlTVzVtYjFzaWFXUWlYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkltVnljbTl5SWwwZ1BTQXRNVHNnYldGeWEyVnlTVzVtYjFzaVptOTFibVFpWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN3WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN5WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN6WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMwWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMxWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMyWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnMzWFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM0WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnM1WFNBOUlEQTdJRzFoY210bGNrbHVabTliSW5CdmMyVWlYVnN4TUYwZ1BTQXdPeUJ0WVhKclpYSkpibVp2V3lKd2IzTmxJbDFiTVRGZElEMGdNRHNnZlFCN0lIWmhjaUFrWVNBOUlHRnlaM1Z0Wlc1MGN6c2dkbUZ5SUdrZ1BTQXhNanNnYVdZZ0tDRmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNrZ2V5QmhjblJ2YjJ4cmFYUmJJbTFoY210bGNrbHVabThpWFNBOUlDaDdJSEJ2Y3pvZ1d6QXNNRjBzSUd4cGJtVTZJRnRiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRMQ0JiTUN3d0xEQmRYU3dnZG1WeWRHVjRPaUJiV3pBc01GMHNJRnN3TERCZExDQmJNQ3d3WFN3Z1d6QXNNRjFkSUgwcE95QjlJSFpoY2lCdFlYSnJaWEpKYm1adklEMGdZWEowYjI5c2EybDBXeUp0WVhKclpYSkpibVp2SWwwN0lHMWhjbXRsY2tsdVptOWJJbUZ5WldFaVhTQTlJQ1F3T3lCdFlYSnJaWEpKYm1adld5SnBaQ0pkSUQwZ0pERTdJRzFoY210bGNrbHVabTliSW1sa1VHRjBkQ0pkSUQwZ0pESTdJRzFoY210bGNrbHVabTliSW1sa1RXRjBjbWw0SWwwZ1BTQWtNenNnYldGeWEyVnlTVzVtYjFzaVpHbHlJbDBnUFNBa05Ec2diV0Z5YTJWeVNXNW1iMXNpWkdseVVHRjBkQ0pkSUQwZ0pEVTdJRzFoY210bGNrbHVabTliSW1ScGNrMWhkSEpwZUNKZElEMGdKRFk3SUcxaGNtdGxja2x1Wm05YkltTm1JbDBnUFNBa056c2diV0Z5YTJWeVNXNW1iMXNpWTJaUVlYUjBJbDBnUFNBa09Ec2diV0Z5YTJWeVNXNW1iMXNpWTJaTllYUnlhWGdpWFNBOUlDUTVPeUJ0WVhKclpYSkpibVp2V3lKd2IzTWlYVnN3WFNBOUlDUXhNRHNnYldGeWEyVnlTVzVtYjFzaWNHOXpJbDFiTVYwZ1BTQWtNVEU3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzd1hWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeFhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzeVhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3dYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3hYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YklteHBibVVpWFZzelhWc3lYU0E5SUNSaFcya3JLMTA3SUcxaGNtdGxja2x1Wm05YkluWmxjblJsZUNKZFd6QmRXekJkSUQwZ0pHRmJhU3NyWFRzZ2JXRnlhMlZ5U1c1bWIxc2lkbVZ5ZEdWNElsMWJNRjFiTVYwZ1BTQWtZVnRwS3l0ZE95QnRZWEpyWlhKSmJtWnZXeUoyWlhKMFpYZ2lYVnN4WFZzd1hTQTlJQ1JoVzJrcksxMDdJRzFoY210bGNrbHVabTliSW5abGNuUmxlQ0pkV3pGZFd6RmRJRDBnSkdGYmFTc3JYVHNnYldGeWEyVnlTVzVtYjFzaWRtVnlkR1Y0SWwxYk1sMWJNRjBnUFNBa1lWdHBLeXRkT3lCdFlYSnJaWEpKYm1adld5SjJaWEowWlhnaVhWc3lYVnN4WFNBOUlDUmhXMmtySzEwN0lHMWhjbXRsY2tsdVptOWJJblpsY25SbGVDSmRXek5kV3pCZElEMGdKR0ZiYVNzclhUc2diV0Z5YTJWeVNXNW1iMXNpZG1WeWRHVjRJbDFiTTExYk1WMGdQU0FrWVZ0cEt5dGRPeUJ0WVhKclpYSkpibVp2V3lKbGNuSnZja052Y25KbFkzUmxaQ0pkSUQwZ0pHRmJhU3NyWFRzZ2ZRQjdJR2xtSUNnaFlYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBwSUhzZ1lYSjBiMjlzYTJsMFd5SnRkV3gwYVVWaFkyaE5ZWEpyWlhKSmJtWnZJbDBnUFNBb2UzMHBPeUI5SUhaaGNpQnRkV3gwYVVWaFkyaE5ZWEpyWlhJZ1BTQmhjblJ2YjJ4cmFYUmJJbTExYkhScFJXRmphRTFoY210bGNrbHVabThpWFRzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkMmFYTnBZbXhsSjEwZ1BTQWtNRHNnYlhWc2RHbEZZV05vVFdGeWEyVnlXeWR3WVhSMFNXUW5YU0E5SUNReE95QnRkV3gwYVVWaFkyaE5ZWEpyWlhKYkozQmhkSFJVZVhCbEoxMGdQU0FrTWpzZ2JYVnNkR2xGWVdOb1RXRnlhMlZ5V3lkM2FXUjBhQ2RkSUQwZ0pETTdJSDBBYVdscEFFNVRkRE5mWHpJeE1tSmhjMmxqWDNOMGNtbHVaMGxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWT1UxODVZV3hzYjJOaGRHOXlTV05GUlVWRkFFNVRkRE5mWHpJeU1WOWZZbUZ6YVdOZmMzUnlhVzVuWDJOdmJXMXZia2xNWWpGRlJVVUFiRzloWkVOaGJXVnlZU2dwT2lCRmNuSnZjaUJzYjJGa2FXNW5JSEJoY21GdFpYUmxjaUJtYVd4bElDVnpJR1p2Y2lCallXMWxjbUV1Q2dCcGFXbHBBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1RrWlVJRzFoY210bGNpNEtBRkpsWVdScGJtY2dKWE11Wm5ObGRETUtBR1p6WlhRekFFVnljbTl5SUhKbFlXUnBibWNnUzFCTklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWME13b0FJQ0JCYzNOcFoyNWxaQ0J3WVdkbElHNXZMaUFsWkM0S0FFVnljbTl5T2lCcmNHMURhR0Z1WjJWUVlXZGxUbTlQWmxKbFprUmhkR0ZUWlhRS0FFVnljbTl5T2lCcmNHMU5aWEpuWlZKbFprUmhkR0ZUWlhRS0FDQWdSRzl1WlM0S0FGSmxZV1JwYm1jZ0pYTXVabk5sZEFvQVpuTmxkQUJGY25KdmNpQnlaV0ZrYVc1bklHUmhkR0VnWm5KdmJTQWxjeTVtYzJWMENnQkZjbkp2Y2pvZ2EzQnRVMlYwVW1WbVJHRjBZVk5sZEFvQVRHOWhaR2x1WnlCdlppQk9SbFFnWkdGMFlTQmpiMjF3YkdWMFpTNEtBRUZTVkc5dmJFdHBkRXBUS0NrNklGVnVZV0pzWlNCMGJ5QnpaWFFnZFhBZ1FWSWdiWFZzZEdsdFlYSnJaWEl1Q2dCamIyNW1hV2NnWkdGMFlTQnNiMkZrSUdWeWNtOXlJQ0VoQ2dCQlVsUnZiMnhMYVhSS1V5Z3BPaUJWYm1GaWJHVWdkRzhnYzJWMElIVndJRUZTSUcxaGNtdGxjaTRLQUd4dllXUk5ZWEpyWlhJb0tUb2dSWEp5YjNJZ2JHOWhaR2x1WnlCd1lYUjBaWEp1SUdacGJHVWdKWE11Q2dCRmNuSnZjam9nWVhJeVEzSmxZWFJsU0dGdVpHeGxMZ29BYVdscGFXa0FjMlYwZFhBb0tUb2dSWEp5YjNJNklHRnlVR0YwZEVOeVpXRjBaVWhoYm1Sc1pTNEtBRUZzYkc5allYUmxaQ0IyYVdSbGIwWnlZVzFsVTJsNlpTQWxaQW9BZXlCcFppQW9JV0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhTa2dleUJoY25SdmIyeHJhWFJiSW1aeVlXMWxUV0ZzYkc5aklsMGdQU0FvZTMwcE95QjlJSFpoY2lCbWNtRnRaVTFoYkd4dll5QTlJR0Z5ZEc5dmJHdHBkRnNpWm5KaGJXVk5ZV3hzYjJNaVhUc2dabkpoYldWTllXeHNiMk5iSW1aeVlXMWxjRzlwYm5SbGNpSmRJRDBnSkRFN0lHWnlZVzFsVFdGc2JHOWpXeUptY21GdFpYTnBlbVVpWFNBOUlDUXlPeUJtY21GdFpVMWhiR3h2WTFzaVkyRnRaWEpoSWwwZ1BTQWtNenNnWm5KaGJXVk5ZV3hzYjJOYkluUnlZVzV6Wm05eWJTSmRJRDBnSkRRN0lHWnlZVzFsVFdGc2JHOWpXeUoyYVdSbGIweDFiV0ZRYjJsdWRHVnlJbDBnUFNBa05Uc2dmUUFxS2lvZ1EyRnRaWEpoSUZCaGNtRnRaWFJsY2lCeVpYTnBlbVZrSUdaeWIyMGdKV1FzSUNWa0xpQXFLaW9LQUhObGRFTmhiV1Z5WVNncE9pQkZjbkp2Y2pvZ1lYSlFZWEpoYlV4VVEzSmxZWFJsTGdvQWMyVjBRMkZ0WlhKaEtDazZJRVZ5Y205eU9pQmhja055WldGMFpVaGhibVJzWlM0S0FITmxkRU5oYldWeVlTZ3BPaUJGY25KdmNpQmpjbVZoZEdsdVp5QXpSQ0JvWVc1a2JHVUFUM1YwSUc5bUlHMWxiVzl5ZVNFaENnQkZjbkp2Y2pvZ2JXRnNiRzlqQ2dBakl5TWdSbVZoZEhWeVpTQmpZVzVrYVdSaGRHVnpJR1p2Y2lCMGNtRmphMmx1WnlCaGNtVWdiM1psY21ac2IzY3VDZ0JDYjJkMWN5QnRaWE56WVdkbElHTnZaR1VnSldRQVFVeEpSMDVmVkZsUVJTQnBjeUIzY205dVp5d2djR3hsWVhObElHWnBlQUJOUVZoZlFVeE1UME5mUTBoVlRrc2dhWE1nZDNKdmJtY3NJSEJzWldGelpTQm1hWGdBUW05bmRYTWdZblZtWm1WeUlHTnZiblJ5YjJ3Z2JXOWtaUUJKYm5aaGJHbGtJR052YlhCdmJtVnVkQ0JKUkNBbFpDQnBiaUJUVDFNQVNXNTJZV3hwWkNCamNtOXdJSEpsY1hWbGMzUUFSRU5VSUdOdlpXWm1hV05wWlc1MElHOTFkQ0J2WmlCeVlXNW5aUUJFUTFRZ2MyTmhiR1ZrSUdKc2IyTnJJSE5wZW1VZ0pXUjRKV1FnYm05MElITjFjSEJ2Y25SbFpBQkRiMjF3YjI1bGJuUWdhVzVrWlhnZ0pXUTZJRzFwYzIxaGRHTm9hVzVuSUhOaGJYQnNhVzVuSUhKaGRHbHZJQ1ZrT2lWa0xDQWxaRG9sWkN3Z0pXTUFRbTluZFhNZ1NIVm1abTFoYmlCMFlXSnNaU0JrWldacGJtbDBhVzl1QUVKdlozVnpJR2x1Y0hWMElHTnZiRzl5YzNCaFkyVUFRbTluZFhNZ1NsQkZSeUJqYjJ4dmNuTndZV05sQUVKdlozVnpJRzFoY210bGNpQnNaVzVuZEdnQVYzSnZibWNnU2xCRlJ5QnNhV0p5WVhKNUlIWmxjbk5wYjI0NklHeHBZbkpoY25rZ2FYTWdKV1FzSUdOaGJHeGxjaUJsZUhCbFkzUnpJQ1ZrQUZOaGJYQnNhVzVuSUdaaFkzUnZjbk1nZEc5dklHeGhjbWRsSUdadmNpQnBiblJsY214bFlYWmxaQ0J6WTJGdUFFbHVkbUZzYVdRZ2JXVnRiM0o1SUhCdmIyd2dZMjlrWlNBbFpBQlZibk4xY0hCdmNuUmxaQ0JLVUVWSElHUmhkR0VnY0hKbFkybHphVzl1SUNWa0FFbHVkbUZzYVdRZ2NISnZaM0psYzNOcGRtVWdjR0Z5WVcxbGRHVnljeUJUY3owbFpDQlRaVDBsWkNCQmFEMGxaQ0JCYkQwbFpBQkpiblpoYkdsa0lIQnliMmR5WlhOemFYWmxJSEJoY21GdFpYUmxjbk1nWVhRZ2MyTmhiaUJ6WTNKcGNIUWdaVzUwY25rZ0pXUUFRbTluZFhNZ2MyRnRjR3hwYm1jZ1ptRmpkRzl5Y3dCSmJuWmhiR2xrSUhOallXNGdjMk55YVhCMElHRjBJR1Z1ZEhKNUlDVmtBRWx0Y0hKdmNHVnlJR05oYkd3Z2RHOGdTbEJGUnlCc2FXSnlZWEo1SUdsdUlITjBZWFJsSUNWa0FFcFFSVWNnY0dGeVlXMWxkR1Z5SUhOMGNuVmpkQ0J0YVhOdFlYUmphRG9nYkdsaWNtRnllU0IwYUdsdWEzTWdjMmw2WlNCcGN5QWxkU3dnWTJGc2JHVnlJR1Y0Y0dWamRITWdKWFVBUW05bmRYTWdkbWx5ZEhWaGJDQmhjbkpoZVNCaFkyTmxjM01BUW5WbVptVnlJSEJoYzNObFpDQjBieUJLVUVWSElHeHBZbkpoY25rZ2FYTWdkRzl2SUhOdFlXeHNBRk4xYzNCbGJuTnBiMjRnYm05MElHRnNiRzkzWldRZ2FHVnlaUUJEUTBsU05qQXhJSE5oYlhCc2FXNW5JRzV2ZENCcGJYQnNaVzFsYm5SbFpDQjVaWFFBVkc5dklHMWhibmtnWTI5c2IzSWdZMjl0Y0c5dVpXNTBjem9nSldRc0lHMWhlQ0FsWkFCVmJuTjFjSEJ2Y25SbFpDQmpiMnh2Y2lCamIyNTJaWEp6YVc5dUlISmxjWFZsYzNRQVFtOW5kWE1nUkVGRElHbHVaR1Y0SUNWa0FFSnZaM1Z6SUVSQlF5QjJZV3gxWlNBd2VDVjRBRUp2WjNWeklFUklWQ0JwYm1SbGVDQWxaQUJDYjJkMWN5QkVVVlFnYVc1a1pYZ2dKV1FBUlcxd2RIa2dTbEJGUnlCcGJXRm5aU0FvUkU1TUlHNXZkQ0J6ZFhCd2IzSjBaV1FwQUZKbFlXUWdabkp2YlNCRlRWTWdabUZwYkdWa0FGZHlhWFJsSUhSdklFVk5VeUJtWVdsc1pXUUFSR2xrYmlkMElHVjRjR1ZqZENCdGIzSmxJSFJvWVc0Z2IyNWxJSE5qWVc0QVNXNXdkWFFnWm1sc1pTQnlaV0ZrSUdWeWNtOXlBRTkxZEhCMWRDQm1hV3hsSUhkeWFYUmxJR1Z5Y205eUlDMHRMU0J2ZFhRZ2IyWWdaR2x6YXlCemNHRmpaVDhBUm5KaFkzUnBiMjVoYkNCellXMXdiR2x1WnlCdWIzUWdhVzF3YkdWdFpXNTBaV1FnZVdWMEFFaDFabVp0WVc0Z1kyOWtaU0J6YVhwbElIUmhZbXhsSUc5MlpYSm1iRzkzQUUxcGMzTnBibWNnU0hWbVptMWhiaUJqYjJSbElIUmhZbXhsSUdWdWRISjVBRTFoZUdsdGRXMGdjM1Z3Y0c5eWRHVmtJR2x0WVdkbElHUnBiV1Z1YzJsdmJpQnBjeUFsZFNCd2FYaGxiSE1BUlcxd2RIa2dhVzV3ZFhRZ1ptbHNaUUJRY21WdFlYUjFjbVVnWlc1a0lHOW1JR2x1Y0hWMElHWnBiR1VBUTJGdWJtOTBJSFJ5WVc1elkyOWtaU0JrZFdVZ2RHOGdiWFZzZEdsd2JHVWdkWE5sSUc5bUlIRjFZVzUwYVhwaGRHbHZiaUIwWVdKc1pTQWxaQUJUWTJGdUlITmpjbWx3ZENCa2IyVnpJRzV2ZENCMGNtRnVjMjFwZENCaGJHd2daR0YwWVFCSmJuWmhiR2xrSUdOdmJHOXlJSEYxWVc1MGFYcGhkR2x2YmlCdGIyUmxJR05vWVc1blpRQk9iM1FnYVcxd2JHVnRaVzUwWldRZ2VXVjBBRkpsY1hWbGMzUmxaQ0JtWldGMGRYSmxJSGRoY3lCdmJXbDBkR1ZrSUdGMElHTnZiWEJwYkdVZ2RHbHRaUUJCY21sMGFHMWxkR2xqSUhSaFlteGxJREI0SlRBeWVDQjNZWE1nYm05MElHUmxabWx1WldRQVFtRmphMmx1WnlCemRHOXlaU0J1YjNRZ2MzVndjRzl5ZEdWa0FFaDFabVp0WVc0Z2RHRmliR1VnTUhnbE1ESjRJSGRoY3lCdWIzUWdaR1ZtYVc1bFpBQktVRVZISUdSaGRHRnpkSEpsWVcwZ1kyOXVkR0ZwYm5NZ2JtOGdhVzFoWjJVQVVYVmhiblJwZW1GMGFXOXVJSFJoWW14bElEQjRKVEF5ZUNCM1lYTWdibTkwSUdSbFptbHVaV1FBVG05MElHRWdTbEJGUnlCbWFXeGxPaUJ6ZEdGeWRITWdkMmwwYUNBd2VDVXdNbmdnTUhnbE1ESjRBRWx1YzNWbVptbGphV1Z1ZENCdFpXMXZjbmtnS0dOaGMyVWdKV1FwQUVOaGJtNXZkQ0J4ZFdGdWRHbDZaU0J0YjNKbElIUm9ZVzRnSldRZ1kyOXNiM0lnWTI5dGNHOXVaVzUwY3dCRFlXNXViM1FnY1hWaGJuUnBlbVVnZEc4Z1ptVjNaWElnZEdoaGJpQWxaQ0JqYjJ4dmNuTUFRMkZ1Ym05MElIRjFZVzUwYVhwbElIUnZJRzF2Y21VZ2RHaGhiaUFsWkNCamIyeHZjbk1BU1c1MllXeHBaQ0JLVUVWSElHWnBiR1VnYzNSeWRXTjBkWEpsT2lBbGN5QmlaV1p2Y21VZ1UwOUdBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBSaUJ0WVhKclpYSnpBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nYldsemMybHVaeUJUVDFNZ2JXRnlhMlZ5QUZWdWMzVndjRzl5ZEdWa0lFcFFSVWNnY0hKdlkyVnpjem9nVTA5R0lIUjVjR1VnTUhnbE1ESjRBRWx1ZG1Gc2FXUWdTbEJGUnlCbWFXeGxJSE4wY25WamRIVnlaVG9nZEhkdklGTlBTU0J0WVhKclpYSnpBRVpoYVd4bFpDQjBieUJqY21WaGRHVWdkR1Z0Y0c5eVlYSjVJR1pwYkdVZ0pYTUFVbVZoWkNCbVlXbHNaV1FnYjI0Z2RHVnRjRzl5WVhKNUlHWnBiR1VBVTJWbGF5Qm1ZV2xzWldRZ2IyNGdkR1Z0Y0c5eVlYSjVJR1pwYkdVQVYzSnBkR1VnWm1GcGJHVmtJRzl1SUhSbGJYQnZjbUZ5ZVNCbWFXeGxJQzB0TFNCdmRYUWdiMllnWkdsemF5QnpjR0ZqWlQ4QVFYQndiR2xqWVhScGIyNGdkSEpoYm5ObVpYSnlaV1FnZEc5dklHWmxkeUJ6WTJGdWJHbHVaWE1BVlc1emRYQndiM0owWldRZ2JXRnlhMlZ5SUhSNWNHVWdNSGdsTURKNEFGWnBjblIxWVd3Z1lYSnlZWGtnWTI5dWRISnZiR3hsY2lCdFpYTnpaV1FnZFhBQVNXMWhaMlVnZEc5dklIZHBaR1VnWm05eUlIUm9hWE1nYVcxd2JHVnRaVzUwWVhScGIyNEFVbVZoWkNCbWNtOXRJRmhOVXlCbVlXbHNaV1FBVjNKcGRHVWdkRzhnV0UxVElHWmhhV3hsWkFCRGIzQjVjbWxuYUhRZ0tFTXBJREl3TVRnc0lGUm9iMjFoY3lCSExpQk1ZVzVsTENCSGRXbGtieUJXYjJ4c1ltVmthVzVuQURsaklDQXhOQzFLWVc0dE1qQXhPQUJEWVhWMGFXOXVPaUJ4ZFdGdWRHbDZZWFJwYjI0Z2RHRmliR1Z6SUdGeVpTQjBiMjhnWTI5aGNuTmxJR1p2Y2lCaVlYTmxiR2x1WlNCS1VFVkhBRUZrYjJKbElFRlFVREUwSUcxaGNtdGxjam9nZG1WeWMybHZiaUFsWkN3Z1pteGhaM01nTUhnbE1EUjRJREI0SlRBMGVDd2dkSEpoYm5ObWIzSnRJQ1ZrQUZWdWEyNXZkMjRnUVZCUU1DQnRZWEpyWlhJZ0tHNXZkQ0JLUmtsR0tTd2diR1Z1WjNSb0lDVjFBRlZ1YTI1dmQyNGdRVkJRTVRRZ2JXRnlhMlZ5SUNodWIzUWdRV1J2WW1VcExDQnNaVzVuZEdnZ0pYVUFSR1ZtYVc1bElFRnlhWFJvYldWMGFXTWdWR0ZpYkdVZ01IZ2xNREo0T2lBd2VDVXdNbmdBUkdWbWFXNWxJRWgxWm1adFlXNGdWR0ZpYkdVZ01IZ2xNREo0QUVSbFptbHVaU0JSZFdGdWRHbDZZWFJwYjI0Z1ZHRmliR1VnSldRZ0lIQnlaV05wYzJsdmJpQWxaQUJFWldacGJtVWdVbVZ6ZEdGeWRDQkpiblJsY25aaGJDQWxkUUJHY21WbFpDQkZUVk1nYUdGdVpHeGxJQ1YxQUU5aWRHRnBibVZrSUVWTlV5Qm9ZVzVrYkdVZ0pYVUFSVzVrSUU5bUlFbHRZV2RsQUNBZ0lDQWdJQ0FnSlROa0lDVXpaQ0FsTTJRZ0pUTmtJQ1V6WkNBbE0yUWdKVE5rSUNVelpBQktSa2xHSUVGUVVEQWdiV0Z5YTJWeU9pQjJaWEp6YVc5dUlDVmtMaVV3TW1Rc0lHUmxibk5wZEhrZ0pXUjRKV1FnSUNWa0FGZGhjbTVwYm1jNklIUm9kVzFpYm1GcGJDQnBiV0ZuWlNCemFYcGxJR1J2WlhNZ2JtOTBJRzFoZEdOb0lHUmhkR0VnYkdWdVozUm9JQ1YxQUVwR1NVWWdaWGgwWlc1emFXOXVJRzFoY210bGNqb2dkSGx3WlNBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFBZ0lDQWdkMmwwYUNBbFpDQjRJQ1ZrSUhSb2RXMWlibUZwYkNCcGJXRm5aUUJOYVhOalpXeHNZVzVsYjNWeklHMWhjbXRsY2lBd2VDVXdNbmdzSUd4bGJtZDBhQ0FsZFFCVmJtVjRjR1ZqZEdWa0lHMWhjbXRsY2lBd2VDVXdNbmdBSUNBZ0lDQWdJQ0FsTkhVZ0pUUjFJQ1UwZFNBbE5IVWdKVFIxSUNVMGRTQWxOSFVnSlRSMUFGRjFZVzUwYVhwcGJtY2dkRzhnSldRZ1BTQWxaQ29sWkNvbFpDQmpiMnh2Y25NQVVYVmhiblJwZW1sdVp5QjBieUFsWkNCamIyeHZjbk1BVTJWc1pXTjBaV1FnSldRZ1kyOXNiM0p6SUdadmNpQnhkV0Z1ZEdsNllYUnBiMjRBUVhRZ2JXRnlhMlZ5SURCNEpUQXllQ3dnY21WamIzWmxjbmtnWVdOMGFXOXVJQ1ZrQUZKVFZDVmtBRk50YjI5MGFHbHVaeUJ1YjNRZ2MzVndjRzl5ZEdWa0lIZHBkR2dnYm05dWMzUmhibVJoY21RZ2MyRnRjR3hwYm1jZ2NtRjBhVzl6QUZOMFlYSjBJRTltSUVaeVlXMWxJREI0SlRBeWVEb2dkMmxrZEdnOUpYVXNJR2hsYVdkb2REMGxkU3dnWTI5dGNHOXVaVzUwY3owbFpBQWdJQ0FnUTI5dGNHOXVaVzUwSUNWa09pQWxaR2g0SldSMklIRTlKV1FBVTNSaGNuUWdiMllnU1cxaFoyVUFVM1JoY25RZ1QyWWdVMk5oYmpvZ0pXUWdZMjl0Y0c5dVpXNTBjd0FnSUNBZ1EyOXRjRzl1Wlc1MElDVmtPaUJrWXowbFpDQmhZejBsWkFBZ0lGTnpQU1ZrTENCVFpUMGxaQ3dnUVdnOUpXUXNJRUZzUFNWa0FFTnNiM05sWkNCMFpXMXdiM0poY25rZ1ptbHNaU0FsY3dCUGNHVnVaV1FnZEdWdGNHOXlZWEo1SUdacGJHVWdKWE1BU2taSlJpQmxlSFJsYm5OcGIyNGdiV0Z5YTJWeU9pQktVRVZITFdOdmJYQnlaWE56WldRZ2RHaDFiV0p1WVdsc0lHbHRZV2RsTENCc1pXNW5kR2dnSlhVQVNrWkpSaUJsZUhSbGJuTnBiMjRnYldGeWEyVnlPaUJ3WVd4bGRIUmxJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRXBHU1VZZ1pYaDBaVzV6YVc5dUlHMWhjbXRsY2pvZ1VrZENJSFJvZFcxaWJtRnBiQ0JwYldGblpTd2diR1Z1WjNSb0lDVjFBRlZ1Y21WamIyZHVhWHBsWkNCamIyMXdiMjVsYm5RZ1NVUnpJQ1ZrSUNWa0lDVmtMQ0JoYzNOMWJXbHVaeUJaUTJKRGNnQkdjbVZsWkNCWVRWTWdhR0Z1Wkd4bElDVjFBRTlpZEdGcGJtVmtJRmhOVXlCb1lXNWtiR1VnSlhVQVZXNXJibTkzYmlCQlpHOWlaU0JqYjJ4dmNpQjBjbUZ1YzJadmNtMGdZMjlrWlNBbFpBQkRiM0p5ZFhCMElFcFFSVWNnWkdGMFlUb2dZbUZrSUdGeWFYUm9iV1YwYVdNZ1kyOWtaUUJKYm1OdmJuTnBjM1JsYm5RZ2NISnZaM0psYzNOcGIyNGdjMlZ4ZFdWdVkyVWdabTl5SUdOdmJYQnZibVZ1ZENBbFpDQmpiMlZtWm1samFXVnVkQ0FsWkFCRGIzSnlkWEIwSUVwUVJVY2daR0YwWVRvZ0pYVWdaWGgwY21GdVpXOTFjeUJpZVhSbGN5QmlaV1p2Y21VZ2JXRnlhMlZ5SURCNEpUQXllQUJEYjNKeWRYQjBJRXBRUlVjZ1pHRjBZVG9nY0hKbGJXRjBkWEpsSUdWdVpDQnZaaUJrWVhSaElITmxaMjFsYm5RQVEyOXljblZ3ZENCS1VFVkhJR1JoZEdFNklHSmhaQ0JJZFdabWJXRnVJR052WkdVQVYyRnlibWx1WnpvZ2RXNXJibTkzYmlCS1JrbEdJSEpsZG1semFXOXVJRzUxYldKbGNpQWxaQzRsTURKa0FGQnlaVzFoZEhWeVpTQmxibVFnYjJZZ1NsQkZSeUJtYVd4bEFFTnZjbkoxY0hRZ1NsQkZSeUJrWVhSaE9pQm1iM1Z1WkNCdFlYSnJaWElnTUhnbE1ESjRJR2x1YzNSbFlXUWdiMllnVWxOVUpXUUFTVzUyWVd4cFpDQlRUMU1nY0dGeVlXMWxkR1Z5Y3lCbWIzSWdjMlZ4ZFdWdWRHbGhiQ0JLVUVWSEFFRndjR3hwWTJGMGFXOXVJSFJ5WVc1elptVnljbVZrSUhSdmJ5QnRZVzU1SUhOallXNXNhVzVsY3dCS1VFVkhUVVZOQUNWc1pDVmpBRk5QVXdCTVUwVUFKWE1LQUhKM1lRQnBibVpwYm1sMGVRQUFBUUlFQndNR0JRQXRLeUFnSURCWU1IZ0FLRzUxYkd3cEFDMHdXQ3N3V0NBd1dDMHdlQ3N3ZUNBd2VBQnBibVlBU1U1R0FHNWhiZ0JPUVU0QUxnQk1RMTlCVEV3QVRFRk9Sd0JETGxWVVJpMDRBRkJQVTBsWUFFMVZVMHhmVEU5RFVFRlVTQUIwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWek9pQWxjd0IwWlhKdGFXNWhkR2x1WnlCM2FYUm9JQ1Z6SUdWNFkyVndkR2x2YmlCdlppQjBlWEJsSUNWekFIUmxjbTFwYm1GMGFXNW5JSGRwZEdnZ0pYTWdabTl5WldsbmJpQmxlR05sY0hScGIyNEFkR1Z5YldsdVlYUnBibWNBZFc1allYVm5hSFFBVTNRNVpYaGpaWEIwYVc5dUFFNHhNRjlmWTNoNFlXSnBkakV4Tmw5ZmMyaHBiVjkwZVhCbFgybHVabTlGQUZOME9YUjVjR1ZmYVc1bWJ3Qk9NVEJmWDJONGVHRmlhWFl4TWpCZlgzTnBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFUakV3WDE5amVIaGhZbWwyTVRFM1gxOWpiR0Z6YzE5MGVYQmxYMmx1Wm05RkFIUmxjbTFwYm1GMFpWOW9ZVzVrYkdWeUlIVnVaWGh3WldOMFpXUnNlU0J5WlhSMWNtNWxaQUJUZERFeGJHOW5hV05mWlhKeWIzSUFVM1F4TW14bGJtZDBhRjlsY25KdmNnQk9NVEJmWDJONGVHRmlhWFl4TVRkZlgzQmlZWE5sWDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEU1WDE5d2IybHVkR1Z5WDNSNWNHVmZhVzVtYjBVQVRqRXdYMTlqZUhoaFltbDJNVEl6WDE5bWRXNWtZVzFsYm5SaGJGOTBlWEJsWDJsdVptOUZBSFlBWWdCakFHZ0FZUUJ6QUhRQWFRQnFBRzBBWmdCa0FFNHhNRjlmWTNoNFlXSnBkakV5TVY5ZmRtMXBYMk5zWVhOelgzUjVjR1ZmYVc1bWIwVUFkbTlwWkFCaWIyOXNBR05vWVhJQWMybG5ibVZrSUdOb1lYSUFkVzV6YVdkdVpXUWdZMmhoY2dCemFHOXlkQUIxYm5OcFoyNWxaQ0J6YUc5eWRBQnBiblFBZFc1emFXZHVaV1FnYVc1MEFHeHZibWNBZFc1emFXZHVaV1FnYkc5dVp3Qm1iRzloZEFCa2IzVmliR1VBYzNSa09qcHpkSEpwYm1jQWMzUmtPanBpWVhOcFkxOXpkSEpwYm1jOGRXNXphV2R1WldRZ1kyaGhjajRBYzNSa09qcDNjM1J5YVc1bkFITjBaRG82ZFRFMmMzUnlhVzVuQUhOMFpEbzZkVE15YzNSeWFXNW5BR1Z0YzJOeWFYQjBaVzQ2T25aaGJBQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4amFHRnlQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eHphV2R1WldRZ1kyaGhjajRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdZMmhoY2o0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YzJodmNuUStBR1Z0YzJOeWFYQjBaVzQ2T20xbGJXOXllVjkyYVdWM1BIVnVjMmxuYm1Wa0lITm9iM0owUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkenhwYm5RK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEhWdWMybG5ibVZrSUdsdWRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGJHOXVaejRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhkVzV6YVdkdVpXUWdiRzl1Wno0QVpXMXpZM0pwY0hSbGJqbzZiV1Z0YjNKNVgzWnBaWGM4YVc1ME9GOTBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eDFhVzUwT0Y5MFBnQmxiWE5qY21sd2RHVnVPanB0WlcxdmNubGZkbWxsZHp4cGJuUXhObDkwUGdCbGJYTmpjbWx3ZEdWdU9qcHRaVzF2Y25sZmRtbGxkengxYVc1ME1UWmZkRDRBWlcxelkzSnBjSFJsYmpvNmJXVnRiM0o1WDNacFpYYzhhVzUwTXpKZmRENEFaVzF6WTNKcGNIUmxiam82YldWdGIzSjVYM1pwWlhjOGRXbHVkRE15WDNRK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEdac2IyRjBQZ0JsYlhOamNtbHdkR1Z1T2pwdFpXMXZjbmxmZG1sbGR6eGtiM1ZpYkdVK0FHVnRjMk55YVhCMFpXNDZPbTFsYlc5eWVWOTJhV1YzUEd4dmJtY2daRzkxWW14bFBnQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbGxSVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWkVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXWkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU1URnRaVzF2Y25sZmRtbGxkMGx0UlVVQVRqRXdaVzF6WTNKcGNIUmxiakV4YldWdGIzSjVYM1pwWlhkSmJFVkZBRTR4TUdWdGMyTnlhWEIwWlc0eE1XMWxiVzl5ZVY5MmFXVjNTV3BGUlFCT01UQmxiWE5qY21sd2RHVnVNVEZ0WlcxdmNubGZkbWxsZDBscFJVVUFUakV3WlcxelkzSnBjSFJsYmpFeGJXVnRiM0o1WDNacFpYZEpkRVZGQUU0eE1HVnRjMk55YVhCMFpXNHhNVzFsYlc5eWVWOTJhV1YzU1hORlJRQk9NVEJsYlhOamNtbHdkR1Z1TVRGdFpXMXZjbmxmZG1sbGQwbG9SVVVBVGpFd1pXMXpZM0pwY0hSbGJqRXhiV1Z0YjNKNVgzWnBaWGRKWVVWRkFFNHhNR1Z0YzJOeWFYQjBaVzR4TVcxbGJXOXllVjkyYVdWM1NXTkZSUUJPTVRCbGJYTmpjbWx3ZEdWdU0zWmhiRVVBVGxOME0xOWZNakV5WW1GemFXTmZjM1J5YVc1blNVUnBUbE5mTVRGamFHRnlYM1J5WVdsMGMwbEVhVVZGVGxOZk9XRnNiRzlqWVhSdmNrbEVhVVZGUlVVQVRsTjBNMTlmTWpFeVltRnphV05mYzNSeWFXNW5TVVJ6VGxOZk1URmphR0Z5WDNSeVlXbDBjMGxFYzBWRlRsTmZPV0ZzYkc5allYUnZja2xFYzBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVNVRYemxoYkd4dlkyRjBiM0pKZDBWRlJVVUFUbE4wTTE5Zk1qRXlZbUZ6YVdOZmMzUnlhVzVuU1doT1UxOHhNV05vWVhKZmRISmhhWFJ6U1doRlJVNVRYemxoYkd4dlkyRjBiM0pKYUVWRlJVVUFUbE4wTTE5Zk1qaHBiM05mWW1GelpVVUFUbE4wTTE5Zk1qbGlZWE5wWTE5cGIzTkpZMDVUWHpFeFkyaGhjbDkwY21GcGRITkpZMFZGUlVVQVRsTjBNMTlmTWpsaVlYTnBZMTlwYjNOSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVVBVGxOME0xOWZNakUxWW1GemFXTmZjM1J5WldGdFluVm1TV05PVTE4eE1XTm9ZWEpmZEhKaGFYUnpTV05GUlVWRkFFNVRkRE5mWHpJeE5XSmhjMmxqWDNOMGNtVmhiV0oxWmtsM1RsTmZNVEZqYUdGeVgzUnlZV2wwYzBsM1JVVkZSUUJPVTNRelgxOHlNVE5pWVhOcFkxOXBjM1J5WldGdFNXTk9VMTh4TVdOb1lYSmZkSEpoYVhSelNXTkZSVVZGQUU1VGRETmZYekl4TTJKaGMybGpYMmx6ZEhKbFlXMUpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVVQVRsTjBNMTlmTWpFelltRnphV05mYjNOMGNtVmhiVWxqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJRQk9VM1F6WDE4eU1UTmlZWE5wWTE5dmMzUnlaV0Z0U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZBRTVUZEROZlh6SXhNVjlmYzNSa2IzVjBZblZtU1hkRlJRQk9VM1F6WDE4eU1URmZYM04wWkc5MWRHSjFaa2xqUlVVQWRXNXpkWEJ3YjNKMFpXUWdiRzlqWVd4bElHWnZjaUJ6ZEdGdVpHRnlaQ0JwYm5CMWRBQk9VM1F6WDE4eU1UQmZYM04wWkdsdVluVm1TWGRGUlFCT1UzUXpYMTh5TVRCZlgzTjBaR2x1WW5WbVNXTkZSUUJPVTNRelgxOHlOMk52Ykd4aGRHVkpZMFZGQUU1VGRETmZYekkyYkc5allXeGxOV1poWTJWMFJRQk9VM1F6WDE4eU4yTnZiR3hoZEdWSmQwVkZBQ1Z3QUVNQVRsTjBNMTlmTWpkdWRXMWZaMlYwU1dOT1UxOHhPV2x6ZEhKbFlXMWlkV1pmYVhSbGNtRjBiM0pKWTA1VFh6RXhZMmhoY2w5MGNtRnBkSE5KWTBWRlJVVkZSUUJPVTNRelgxOHlPVjlmYm5WdFgyZGxkRWxqUlVVQVRsTjBNMTlmTWpFMFgxOXVkVzFmWjJWMFgySmhjMlZGQUU1VGRETmZYekkzYm5WdFgyZGxkRWwzVGxOZk1UbHBjM1J5WldGdFluVm1YMmwwWlhKaGRHOXlTWGRPVTE4eE1XTm9ZWEpmZEhKaGFYUnpTWGRGUlVWRlJVVUFUbE4wTTE5Zk1qbGZYMjUxYlY5blpYUkpkMFZGQUNWd0FBQUFBRXdBYkd3QUpRQUFBQUFBYkFCT1UzUXpYMTh5TjI1MWJWOXdkWFJKWTA1VFh6RTViM04wY21WaGJXSjFabDlwZEdWeVlYUnZja2xqVGxOZk1URmphR0Z5WDNSeVlXbDBjMGxqUlVWRlJVVkZBRTVUZEROZlh6STVYMTl1ZFcxZmNIVjBTV05GUlFCT1UzUXpYMTh5TVRSZlgyNTFiVjl3ZFhSZlltRnpaVVVBVGxOME0xOWZNamR1ZFcxZmNIVjBTWGRPVTE4eE9XOXpkSEpsWVcxaWRXWmZhWFJsY21GMGIzSkpkMDVUWHpFeFkyaGhjbDkwY21GcGRITkpkMFZGUlVWRlJRQk9VM1F6WDE4eU9WOWZiblZ0WDNCMWRFbDNSVVVBSlVnNkpVMDZKVk1BSlcwdkpXUXZKWGtBSlVrNkpVMDZKVk1nSlhBQUpXRWdKV0lnSldRZ0pVZzZKVTA2SlZNZ0pWa0FRVTBBVUUwQVNtRnVkV0Z5ZVFCR1pXSnlkV0Z5ZVFCTllYSmphQUJCY0hKcGJBQk5ZWGtBU25WdVpRQktkV3g1QUVGMVozVnpkQUJUWlhCMFpXMWlaWElBVDJOMGIySmxjZ0JPYjNabGJXSmxjZ0JFWldObGJXSmxjZ0JLWVc0QVJtVmlBRTFoY2dCQmNISUFTblZ1QUVwMWJBQkJkV2NBVTJWd0FFOWpkQUJPYjNZQVJHVmpBRk4xYm1SaGVRQk5iMjVrWVhrQVZIVmxjMlJoZVFCWFpXUnVaWE5rWVhrQVZHaDFjbk5rWVhrQVJuSnBaR0Y1QUZOaGRIVnlaR0Y1QUZOMWJnQk5iMjRBVkhWbEFGZGxaQUJVYUhVQVJuSnBBRk5oZEFBbGJTOGxaQzhsZVNWWkxTVnRMU1ZrSlVrNkpVMDZKVk1nSlhBbFNEb2xUU1ZJT2lWTk9pVlRKVWc2SlUwNkpWTk9VM1F6WDE4eU9IUnBiV1ZmWjJWMFNXTk9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TWpCZlgzUnBiV1ZmWjJWMFgyTmZjM1J2Y21GblpVbGpSVVVBVGxOME0xOWZNamwwYVcxbFgySmhjMlZGQUU1VGRETmZYekk0ZEdsdFpWOW5aWFJKZDA1VFh6RTVhWE4wY21WaGJXSjFabDlwZEdWeVlYUnZja2wzVGxOZk1URmphR0Z5WDNSeVlXbDBjMGwzUlVWRlJVVkZBRTVUZEROZlh6SXlNRjlmZEdsdFpWOW5aWFJmWTE5emRHOXlZV2RsU1hkRlJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNXTk9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSlkwNVRYekV4WTJoaGNsOTBjbUZwZEhOSlkwVkZSVVZGUlFCT1UzUXpYMTh5TVRCZlgzUnBiV1ZmY0hWMFJRQk9VM1F6WDE4eU9IUnBiV1ZmY0hWMFNYZE9VMTh4T1c5emRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRCdGIyNWxlWEIxYm1OMFNXTk1ZakJGUlVVQVRsTjBNMTlmTWpFd2JXOXVaWGxmWW1GelpVVUFUbE4wTTE5Zk1qRXdiVzl1Wlhsd2RXNWpkRWxqVEdJeFJVVkZBRTVUZEROZlh6SXhNRzF2Ym1WNWNIVnVZM1JKZDB4aU1FVkZSUUJPVTNRelgxOHlNVEJ0YjI1bGVYQjFibU4wU1hkTVlqRkZSVVVBTURFeU16UTFOamM0T1FBbFRHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5blpYUkpZMDVUWHpFNWFYTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZloyVjBTV05GUlFBd01USXpORFUyTnpnNUFFNVRkRE5mWHpJNWJXOXVaWGxmWjJWMFNYZE9VMTh4T1dsemRISmxZVzFpZFdaZmFYUmxjbUYwYjNKSmQwNVRYekV4WTJoaGNsOTBjbUZwZEhOSmQwVkZSVVZGUlFCT1UzUXpYMTh5TVRGZlgyMXZibVY1WDJkbGRFbDNSVVVBSlM0d1RHWUFUbE4wTTE5Zk1qbHRiMjVsZVY5d2RYUkpZMDVUWHpFNWIzTjBjbVZoYldKMVpsOXBkR1Z5WVhSdmNrbGpUbE5mTVRGamFHRnlYM1J5WVdsMGMwbGpSVVZGUlVWRkFFNVRkRE5mWHpJeE1WOWZiVzl1WlhsZmNIVjBTV05GUlFCT1UzUXpYMTh5T1cxdmJtVjVYM0IxZEVsM1RsTmZNVGx2YzNSeVpXRnRZblZtWDJsMFpYSmhkRzl5U1hkT1UxOHhNV05vWVhKZmRISmhhWFJ6U1hkRlJVVkZSVVVBVGxOME0xOWZNakV4WDE5dGIyNWxlVjl3ZFhSSmQwVkZBRTVUZEROZlh6STRiV1Z6YzJGblpYTkpZMFZGQUU1VGRETmZYekl4TTIxbGMzTmhaMlZ6WDJKaGMyVkZBRTVUZEROZlh6SXhOMTlmZDJsa1pXNWZabkp2YlY5MWRHWTRTVXh0TXpKRlJVVUFUbE4wTTE5Zk1qZGpiMlJsWTNaMFNVUnBZekV4WDE5dFluTjBZWFJsWDNSRlJRQk9VM1F6WDE4eU1USmpiMlJsWTNaMFgySmhjMlZGQUU1VGRETmZYekl4Tmw5ZmJtRnljbTkzWDNSdlgzVjBaamhKVEcwek1rVkZSUUJPVTNRelgxOHlPRzFsYzNOaFoyVnpTWGRGUlFCT1UzUXpYMTh5TjJOdlpHVmpkblJKWTJNeE1WOWZiV0p6ZEdGMFpWOTBSVVVBVGxOME0xOWZNamRqYjJSbFkzWjBTWGRqTVRGZlgyMWljM1JoZEdWZmRFVkZBRTVUZEROZlh6STNZMjlrWldOMmRFbEVjMk14TVY5ZmJXSnpkR0YwWlY5MFJVVUFUbE4wTTE5Zk1qWnNiMk5oYkdVMVgxOXBiWEJGQUU1VGRETmZYekkxWTNSNWNHVkpZMFZGQUU1VGRETmZYekl4TUdOMGVYQmxYMkpoYzJWRkFFNVRkRE5mWHpJMVkzUjVjR1ZKZDBWRkFHWmhiSE5sQUhSeWRXVUFUbE4wTTE5Zk1qaHVkVzF3ZFc1amRFbGpSVVVBVGxOME0xOWZNamh1ZFcxd2RXNWpkRWwzUlVVQVRsTjBNMTlmTWpFMFgxOXphR0Z5WldSZlkyOTFiblJGQUU1VGRETmZYekl4T1Y5ZmMyaGhjbVZrWDNkbFlXdGZZMjkxYm5SRkFFSHd2Z01MQVFFQVFaakFBd3RhWEVnQUFBRUFBQUI4U0FBQUFRQUFBTkJRQUFBQkFBQUFJQ0lBQUFBQUFBQ1VVUUFBQVFBQUFOaFJBQUFCQUFBQWpGQUFBQUVBQUFCTTRnQUFBQUFBQUFoU0FBQUJBQUFBT0ZJQUFBRUFBQUFFVVFBQUFRQUFBQzRzQUVHQXdRTUxEU3hSQUFBQkFBQUFMZ0FBQUN3QVFhREJBd3ZKQXB4SUFBQUJBQUFBM0VnQUFBRUFBQUFjU1FBQUFRQUFBRkJKQUFBQkFBQUFuRTRBQUFFQUFBRFVUZ0FBQVFBQUFBeFBBQUFCQUFBQVJFOEFBQUVBQUFCOFR3QUFBUUFBQUpoUEFBQUJBQUFBdEU4QUFBRUFBQURRVHdBQUFRQUFBSVJKQUFBQkFBQUF0RWtBQUFBQUFBRFlTUUFBQVFBQUFBaEtBQUFBQUFBQWJFNEFBQUVBQUFCTTRnQUFBQUFBQUlST0FBQUJBQUFBVE9JQUFBQUFBQURzVHdBQUFRQUFBQXhRQUFBQkFBQUFBUUFBQUFBQUFBQzhVQUFBRHdBQUFIRGhBQURnNFFBQTRPRUFBQUFBQUFBWTRBQUFJT0FBQUNqZ0FBQTQ0QUFBUU9BQUFFamdBQUJZNEFBQVlPQUFBR2pnQUFDQTRBQUFvT0FBQUtqZ0FBQ3c0QUFBdU9BQUFNRGdBQURJNEFBQTBPQUFBTmpnQUFEZzRBQUE2T0FBQVBEZ0FBRDQ0QUFBQU9FQUFCRGhBQUFnNFFBQU1PRUFBRURoQUFCSTRRQUFBUUFBQUFBQUFBQkRBRUh6d3dNTEJnRUFBQUFBQVFCQjZNVURDeEdnUmdBQUFBQUFBTFJHQUFBQ0VBQUFCZ0JCaU1ZREN3YVE1UUFBV09FQVFiakdBd3NabU9NQUFQLy8vLy9RUmdBQUFBQUFBT1JHQUFBQ0VBQUFCZ0JCNE1ZREN3YlE1UUFBV09FQVFaREhBd3NWN09NQUFQLy8vLzhBUndBQUZFY0FBQUlRQUFBR0FFRzB4d01MQmhEbUFBQlk0UUJCNk1jREN4SC8vLy8vTUVjQUFFUkhBQUFDRUFBQUJnQkJpTWdEQ3daSTVnQUFXT0VBUWJ6SUF3c1IvLy8vL3dCSEFBQVVSd0FBQWpBQUFBWUFRZHpJQXdzR2dPWUFBRmpoQUVHTXlRTUxGWmpqQUFELy8vLy9NRWNBQUVSSEFBQUNNQUFBQmdCQnNNa0RDd2E0NWdBQVdPRUFRZURKQXdzVjdPTUFBUC8vLy84QVJ3QUFGRWNBQUFJUUFBQUdBRUdFeWdNTEJvRG1BQUJZNFFCQnVNb0RDeEgvLy8vL01FY0FBRVJIQUFBQ0VBQUFCZ0JCMk1vREN3YTQ1Z0FBV09FQVFZekxBd3NLLy8vLy94eElBQUJZNFFCQnNNc0RDeGI0T1FBQVFPQUFBTWpsQUFBQkFBQUEvLy8vL3dBQkFFSFF5d01MQnR4SEFBQlk0UUJCOE1zREN4VDRPUUFBU09BQUFBam1BQUFCQUFBQS8vLy8vd0JCa013REN3YWNSd0FBV09FQVFiRE1Bd3NOaURvQUFFRGdBQUJBNWdBQUFRQkJ5TXdEQ3daY1J3QUFXT0VBUWVqTUF3c0tpRG9BQUVqZ0FBQjQ1Z0JCZ00wREN3YWNSd0FBV09FQVFhRE5Bd3NOYURrQUFFRGdBQUN3NWdBQUFRQkJ1TTBEQ3daY1J3QUFXT0VBUWRqTkF3c0thRGtBQUVqZ0FBRG81Z0JCOE0wREMxWC8vLy8vQVFBQUFQLy8vLzhDQUFBQS8vLy8vd01BQUFCTTRnQUFIQUFBQVAvLy8vOEpBQUFBLy8vLy93c0FBQUQvLy8vL0JBQUFBUC8vLy84S0FBQUEvLy8vL3d3QUFBRC8vLy8vRFFBQUFQLy8vLzhPQUVHRXp3TUxCZi8vLy84WEFFSEl6d01MbGdILy8vLy9HQUFBQVAvLy8vOFpBQUFBLy8vLy94b0FBQUQvLy8vL0R3QUFBUC8vLy84UUFBQUEvLy8vL3hFQUFBRC8vLy8vRWdBQUFQLy8vLzhUQUFBQS8vLy8veFFBQUFELy8vLy9GUUFBQVAvLy8vOFdBQUFBLy8vLy94c0FBQUQvLy8vL0hBQUFBUC8vLy84RkFBQUEvLy8vL3dZQUFBRC8vLy8vQndBQUFQLy8vLzhJQUFBQVdPRUFBRkRvQUFCWTRRQUFXT2dBUWZEZUF3c0NXT0VBUVlEZkF3c0ZPT2dBQUk4QVFaRGZBd3NSandBQUFBQUFBQUNnN3dBQUFBQUFBSTg9XCI7ZnVuY3Rpb24gbEEoKXt0cnl7aWYobilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobik7dmFyIEE9amcoZkEpO2lmKEEpcmV0dXJuIEE7aWYoaClyZXR1cm4gaChmQSk7dGhyb3dcImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkXCJ9Y2F0Y2goQSl7SkEoQSl9fWZ1bmN0aW9uIHVBKCl7cmV0dXJuIG58fCFpJiYhb3x8XCJmdW5jdGlvblwiIT10eXBlb2YgZmV0Y2g/bmV3IFByb21pc2UoKGZ1bmN0aW9uKEEsSSl7QShsQSgpKX0pKTpmZXRjaChmQSx7Y3JlZGVudGlhbHM6XCJzYW1lLW9yaWdpblwifSkudGhlbigoZnVuY3Rpb24oQSl7aWYoIUEub2spdGhyb3dcImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJ1wiK2ZBK1wiJ1wiO3JldHVybiBBLmFycmF5QnVmZmVyKCl9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIGxBKCl9KSl9ZnVuY3Rpb24gV0EoKXt2YXIgST17ZW52OkJCLHdhc2lfc25hcHNob3RfcHJldmlldzE6QkIsZ2xvYmFsOntOYU46TmFOLEluZmluaXR5OjEvMH0sXCJnbG9iYWwuTWF0aFwiOk1hdGgsYXNtMndhc206a307ZnVuY3Rpb24gZyhJLGcpe3ZhciBCPUkuZXhwb3J0cztBLmFzbT1CLGVBKCl9ZnVuY3Rpb24gQihBKXtnKEEuaW5zdGFuY2UpfWZ1bmN0aW9uIEMoQSl7cmV0dXJuIHVBKCkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKEEsSSl9KSkudGhlbihBLChmdW5jdGlvbihBKXtTKFwiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogXCIrQSksSkEoQSl9KSl9aWYoWUEoKSxBLmluc3RhbnRpYXRlV2FzbSl0cnl7cmV0dXJuIEEuaW5zdGFudGlhdGVXYXNtKEksZyl9Y2F0Y2goQSl7cmV0dXJuIFMoXCJNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiBcIitBKSwhMX1yZXR1cm4gZnVuY3Rpb24oKXtpZihufHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZ3x8TEEoZkEpfHxcImZ1bmN0aW9uXCIhPXR5cGVvZiBmZXRjaClyZXR1cm4gQyhCKTtmZXRjaChmQSx7Y3JlZGVudGlhbHM6XCJzYW1lLW9yaWdpblwifSkudGhlbigoZnVuY3Rpb24oQSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKEEsSSkudGhlbihCLChmdW5jdGlvbihBKXtTKFwid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6IFwiK0EpLFMoXCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvblwiKSxDKEIpfSkpfSkpfSgpLHt9fUxBKGZBKXx8KGZBPXkoZkEpKSxBLmFzbT1XQTt2YXIgcEE9W2Z1bmN0aW9uKEEsSSxnLEIsQyxRKXthcnRvb2xraXQuZnJhbWVNYWxsb2N8fChhcnRvb2xraXQuZnJhbWVNYWxsb2M9e30pO3ZhciBFPWFydG9vbGtpdC5mcmFtZU1hbGxvYztFLmZyYW1lcG9pbnRlcj1JLEUuZnJhbWVzaXplPWcsRS5jYW1lcmE9QixFLnRyYW5zZm9ybT1DLEUudmlkZW9MdW1hUG9pbnRlcj1RfSxmdW5jdGlvbihBLEksZyxCKXthcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mb3x8KGFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvPXt9KTt2YXIgQz1hcnRvb2xraXQubXVsdGlFYWNoTWFya2VySW5mbztDLnZpc2libGU9QSxDLnBhdHRJZD1JLEMucGF0dFR5cGU9ZyxDLndpZHRoPUJ9LGZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMKXt2YXIgcT1hcmd1bWVudHMsZD0xMjthcnRvb2xraXQubWFya2VySW5mb3x8KGFydG9vbGtpdC5tYXJrZXJJbmZvPXtwb3M6WzAsMF0sbGluZTpbWzAsMCwwXSxbMCwwLDBdLFswLDAsMF0sWzAsMCwwXV0sdmVydGV4OltbMCwwXSxbMCwwXSxbMCwwXSxbMCwwXV19KTt2YXIgZj1hcnRvb2xraXQubWFya2VySW5mbztmLmFyZWE9QSxmLmlkPUksZi5pZFBhdHQ9ZyxmLmlkTWF0cml4PUIsZi5kaXI9QyxmLmRpclBhdHQ9USxmLmRpck1hdHJpeD1FLGYuY2Y9aSxmLmNmUGF0dD1vLGYuY2ZNYXRyaXg9RCxmLnBvc1swXT1hLGYucG9zWzFdPXcsZi5saW5lWzBdWzBdPXFbZCsrXSxmLmxpbmVbMF1bMV09cVtkKytdLGYubGluZVswXVsyXT1xW2QrK10sZi5saW5lWzFdWzBdPXFbZCsrXSxmLmxpbmVbMV1bMV09cVtkKytdLGYubGluZVsxXVsyXT1xW2QrK10sZi5saW5lWzJdWzBdPXFbZCsrXSxmLmxpbmVbMl1bMV09cVtkKytdLGYubGluZVsyXVsyXT1xW2QrK10sZi5saW5lWzNdWzBdPXFbZCsrXSxmLmxpbmVbM11bMV09cVtkKytdLGYubGluZVszXVsyXT1xW2QrK10sZi52ZXJ0ZXhbMF1bMF09cVtkKytdLGYudmVydGV4WzBdWzFdPXFbZCsrXSxmLnZlcnRleFsxXVswXT1xW2QrK10sZi52ZXJ0ZXhbMV1bMV09cVtkKytdLGYudmVydGV4WzJdWzBdPXFbZCsrXSxmLnZlcnRleFsyXVsxXT1xW2QrK10sZi52ZXJ0ZXhbM11bMF09cVtkKytdLGYudmVydGV4WzNdWzFdPXFbZCsrXSxmLmVycm9yQ29ycmVjdGVkPXFbZCsrXX0sZnVuY3Rpb24oQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHKXt2YXIgaD1hcmd1bWVudHMscz0wO2FydG9vbGtpdC5ORlRNYXJrZXJJbmZvfHwoYXJ0b29sa2l0Lk5GVE1hcmtlckluZm89e2lkOjAsZXJyb3I6LTEsZm91bmQ6MCxwb3NlOlswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF19KTt2YXIgUj1hcnRvb2xraXQuTkZUTWFya2VySW5mbztSLmlkPWhbcysrXSxSLmVycm9yPWhbcysrXSxSLmZvdW5kPTEsUi5wb3NlWzBdPWhbcysrXSxSLnBvc2VbMV09aFtzKytdLFIucG9zZVsyXT1oW3MrK10sUi5wb3NlWzNdPWhbcysrXSxSLnBvc2VbNF09aFtzKytdLFIucG9zZVs1XT1oW3MrK10sUi5wb3NlWzZdPWhbcysrXSxSLnBvc2VbN109aFtzKytdLFIucG9zZVs4XT1oW3MrK10sUi5wb3NlWzldPWhbcysrXSxSLnBvc2VbMTBdPWhbcysrXSxSLnBvc2VbMTFdPWhbcysrXX0sZnVuY3Rpb24oQSl7dmFyIEk9YXJndW1lbnRzLGc9MDthcnRvb2xraXQuTkZUTWFya2VySW5mb3x8KGFydG9vbGtpdC5ORlRNYXJrZXJJbmZvPXtpZDowLGVycm9yOi0xLGZvdW5kOjAscG9zZTpbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdfSk7dmFyIEI9YXJ0b29sa2l0Lk5GVE1hcmtlckluZm87Qi5pZD1JW2crK10sQi5lcnJvcj0tMSxCLmZvdW5kPTAsQi5wb3NlWzBdPTAsQi5wb3NlWzFdPTAsQi5wb3NlWzJdPTAsQi5wb3NlWzNdPTAsQi5wb3NlWzRdPTAsQi5wb3NlWzVdPTAsQi5wb3NlWzZdPTAsQi5wb3NlWzddPTAsQi5wb3NlWzhdPTAsQi5wb3NlWzldPTAsQi5wb3NlWzEwXT0wLEIucG9zZVsxMV09MH1dO2Z1bmN0aW9uIFpBKEEsSSxnLEIsQyxRLEUpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSl9ZnVuY3Rpb24gYkEoQSxJLGcsQixDKXtyZXR1cm4gcEFbQV0oSSxnLEIsQyl9ZnVuY3Rpb24geEEoQSxJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgpfWZ1bmN0aW9uIG1BKEEsSSl7cmV0dXJuIHBBW0FdKEkpfWZ1bmN0aW9uIFhBKEEsSSxnLEIsQyxRLEUsaSxvLEQsYSx3LEYsRyxoLHMsUixVLHksdCxTLE0sbixjLHIsayxLLE4sWSxlLEosSCxMLHEpe3JldHVybiBwQVtBXShJLGcsQixDLFEsRSxpLG8sRCxhLHcsRixHLGgscyxSLFUseSx0LFMsTSxuLGMscixrLEssTixZLGUsSixILEwscSl9ZnVuY3Rpb24gVkEoQSl7cmV0dXJuIEEucmVwbGFjZSgvXFxiX19aW1xcd1xcZF9dKy9nLChmdW5jdGlvbihBKXtyZXR1cm4gQT09QT9BOkErXCIgW1wiK0ErXCJdXCJ9KSl9ZnVuY3Rpb24gT0EoKXt2YXIgQT1uZXcgRXJyb3I7aWYoIUEuc3RhY2spe3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2goSSl7QT1JfWlmKCFBLnN0YWNrKXJldHVyblwiKG5vIHN0YWNrIHRyYWNlIGF2YWlsYWJsZSlcIn1yZXR1cm4gQS5zdGFjay50b1N0cmluZygpfWZ1bmN0aW9uIFRBKCl7dmFyIEk9T0EoKTtyZXR1cm4gQS5leHRyYVN0YWNrVHJhY2UmJihJKz1cIlxcblwiK0EuZXh0cmFTdGFja1RyYWNlKCkpLFZBKEkpfXdBLnB1c2goe2Z1bmM6ZnVuY3Rpb24oKXtFQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXthQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtpQigpfX0se2Z1bmM6ZnVuY3Rpb24oKXtvQigpfX0pO3ZhciBqQT17fTtmdW5jdGlvbiBQQSgpe3JldHVybiBRfHxcIi4vdGhpcy5wcm9ncmFtXCJ9ZnVuY3Rpb24gdkEoQSl7dmFyIEksZzt2QS5jYWxsZWQ/KGc9QUFbQT4+Ml0sST1BQVtnPj4yXSk6KHZBLmNhbGxlZD0hMCxqQS5VU0VSPVwid2ViX3VzZXJcIixqQS5MT0dOQU1FPVwid2ViX3VzZXJcIixqQS5QQVRIPVwiL1wiLGpBLlBXRD1cIi9cIixqQS5IT01FPVwiL2hvbWUvd2ViX3VzZXJcIixqQS5MQU5HPShcIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBuYXZpZ2F0b3I/XCJ1bmRlZmluZWRcIjpEKG5hdmlnYXRvcikpJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzJiZuYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdfHxcIkNcIikucmVwbGFjZShcIi1cIixcIl9cIikrXCIuVVRGLThcIixqQS5fPVBBKCksST1MKDEwMjQpLGc9TCgyNTYpLEFBW2c+PjJdPUksQUFbQT4+Ml09Zyk7dmFyIEI9W10sQz0wO2Zvcih2YXIgUSBpbiBqQSlpZihcInN0cmluZ1wiPT10eXBlb2YgakFbUV0pe3ZhciBFPVErXCI9XCIrakFbUV07Qi5wdXNoKEUpLEMrPUUubGVuZ3RofWlmKEM+MTAyNCl0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBzaXplIGV4Y2VlZGVkIFRPVEFMX0VOVl9TSVpFIVwiKTtmb3IodmFyIGk9MDtpPEIubGVuZ3RoO2krKylqKEU9QltpXSxJKSxBQVtnKzQqaT4+Ml09SSxJKz1FLmxlbmd0aCsxO0FBW2crNCpCLmxlbmd0aD4+Ml09MH1mdW5jdGlvbiB6QShBKXtyZXR1cm4gUkIoQSl9dmFyIF9BPXt9O2Z1bmN0aW9uICRBKEEsSSxnKXt0aHJvdyBfQVtBXT17cHRyOkEsYWRqdXN0ZWQ6W0FdLHR5cGU6SSxkZXN0cnVjdG9yOmcscmVmY291bnQ6MCxjYXVnaHQ6ITEscmV0aHJvd246ITF9LFwidW5jYXVnaHRfZXhjZXB0aW9uXCJpbiBEQj9EQi51bmNhdWdodF9leGNlcHRpb25zKys6REIudW5jYXVnaHRfZXhjZXB0aW9ucz0xLEF9ZnVuY3Rpb24gQUkoKXt9ZnVuY3Rpb24gSUkoSSl7cmV0dXJuIEEuX19fZXJybm9fbG9jYXRpb24mJihBQVtBLl9fX2Vycm5vX2xvY2F0aW9uKCk+PjJdPUkpLEl9ZnVuY3Rpb24gZ0koQSxJKXtyZXR1cm4gSUkoNjMpLC0xfXZhciBCST17c3BsaXRQYXRoOmZ1bmN0aW9uKEEpe3JldHVybi9eKFxcLz98KShbXFxzXFxTXSo/KSgoPzpcXC57MSwyfXxbXlxcL10rP3wpKFxcLlteLlxcL10qfCkpKD86W1xcL10qKSQvLmV4ZWMoQSkuc2xpY2UoMSl9LG5vcm1hbGl6ZUFycmF5OmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj1BLmxlbmd0aC0xO0I+PTA7Qi0tKXt2YXIgQz1BW0JdO1wiLlwiPT09Qz9BLnNwbGljZShCLDEpOlwiLi5cIj09PUM/KEEuc3BsaWNlKEIsMSksZysrKTpnJiYoQS5zcGxpY2UoQiwxKSxnLS0pfWlmKEkpZm9yKDtnO2ctLSlBLnVuc2hpZnQoXCIuLlwiKTtyZXR1cm4gQX0sbm9ybWFsaXplOmZ1bmN0aW9uKEEpe3ZhciBJPVwiL1wiPT09QS5jaGFyQXQoMCksZz1cIi9cIj09PUEuc3Vic3RyKC0xKTtyZXR1cm4oQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcIi9cIikpfHxJfHwoQT1cIi5cIiksQSYmZyYmKEErPVwiL1wiKSwoST9cIi9cIjpcIlwiKStBfSxkaXJuYW1lOmZ1bmN0aW9uKEEpe3ZhciBJPUJJLnNwbGl0UGF0aChBKSxnPUlbMF0sQj1JWzFdO3JldHVybiBnfHxCPyhCJiYoQj1CLnN1YnN0cigwLEIubGVuZ3RoLTEpKSxnK0IpOlwiLlwifSxiYXNlbmFtZTpmdW5jdGlvbihBKXtpZihcIi9cIj09PUEpcmV0dXJuXCIvXCI7dmFyIEk9QS5sYXN0SW5kZXhPZihcIi9cIik7cmV0dXJuLTE9PT1JP0E6QS5zdWJzdHIoSSsxKX0sZXh0bmFtZTpmdW5jdGlvbihBKXtyZXR1cm4gQkkuc3BsaXRQYXRoKEEpWzNdfSxqb2luOmZ1bmN0aW9uKCl7dmFyIEE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiBCSS5ub3JtYWxpemUoQS5qb2luKFwiL1wiKSl9LGpvaW4yOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEJJLm5vcm1hbGl6ZShBK1wiL1wiK0kpfX0sQ0k9e3Jlc29sdmU6ZnVuY3Rpb24oKXtmb3IodmFyIEE9XCJcIixJPSExLGc9YXJndW1lbnRzLmxlbmd0aC0xO2c+PS0xJiYhSTtnLS0pe3ZhciBCPWc+PTA/YXJndW1lbnRzW2ddOmlJLmN3ZCgpO2lmKFwic3RyaW5nXCIhPXR5cGVvZiBCKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudHMgdG8gcGF0aC5yZXNvbHZlIG11c3QgYmUgc3RyaW5nc1wiKTtpZighQilyZXR1cm5cIlwiO0E9QitcIi9cIitBLEk9XCIvXCI9PT1CLmNoYXJBdCgwKX1yZXR1cm4oST9cIi9cIjpcIlwiKSsoQT1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhSSkuam9pbihcIi9cIikpfHxcIi5cIn0scmVsYXRpdmU6ZnVuY3Rpb24oQSxJKXtmdW5jdGlvbiBnKEEpe2Zvcih2YXIgST0wO0k8QS5sZW5ndGgmJlwiXCI9PT1BW0ldO0krKyk7Zm9yKHZhciBnPUEubGVuZ3RoLTE7Zz49MCYmXCJcIj09PUFbZ107Zy0tKTtyZXR1cm4gST5nP1tdOkEuc2xpY2UoSSxnLUkrMSl9QT1DSS5yZXNvbHZlKEEpLnN1YnN0cigxKSxJPUNJLnJlc29sdmUoSSkuc3Vic3RyKDEpO2Zvcih2YXIgQj1nKEEuc3BsaXQoXCIvXCIpKSxDPWcoSS5zcGxpdChcIi9cIikpLFE9TWF0aC5taW4oQi5sZW5ndGgsQy5sZW5ndGgpLEU9USxpPTA7aTxRO2krKylpZihCW2ldIT09Q1tpXSl7RT1pO2JyZWFrfXZhciBvPVtdO2ZvcihpPUU7aTxCLmxlbmd0aDtpKyspby5wdXNoKFwiLi5cIik7cmV0dXJuKG89by5jb25jYXQoQy5zbGljZShFKSkpLmpvaW4oXCIvXCIpfX0sUUk9e3R0eXM6W10saW5pdDpmdW5jdGlvbigpe30sc2h1dGRvd246ZnVuY3Rpb24oKXt9LHJlZ2lzdGVyOmZ1bmN0aW9uKEEsSSl7UUkudHR5c1tBXT17aW5wdXQ6W10sb3V0cHV0OltdLG9wczpJfSxpSS5yZWdpc3RlckRldmljZShBLFFJLnN0cmVhbV9vcHMpfSxzdHJlYW1fb3BzOntvcGVuOmZ1bmN0aW9uKEEpe3ZhciBJPVFJLnR0eXNbQS5ub2RlLnJkZXZdO2lmKCFJKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtBLnR0eT1JLEEuc2Vla2FibGU9ITF9LGNsb3NlOmZ1bmN0aW9uKEEpe0EudHR5Lm9wcy5mbHVzaChBLnR0eSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0EudHR5Lm9wcy5mbHVzaChBLnR0eSl9LHJlYWQ6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighQS50dHl8fCFBLnR0eS5vcHMuZ2V0X2NoYXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjApO2Zvcih2YXIgUT0wLEU9MDtFPEI7RSsrKXt2YXIgaTt0cnl7aT1BLnR0eS5vcHMuZ2V0X2NoYXIoQS50dHkpfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1pZih2b2lkIDA9PT1pJiYwPT09USl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2KTtpZihudWxsPT1pKWJyZWFrO1ErKyxJW2crRV09aX1yZXR1cm4gUSYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksUX0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtpZighQS50dHl8fCFBLnR0eS5vcHMucHV0X2NoYXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjApO3RyeXtmb3IodmFyIFE9MDtRPEI7USsrKUEudHR5Lm9wcy5wdXRfY2hhcihBLnR0eSxJW2crUV0pfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDI5KX1yZXR1cm4gQiYmKEEubm9kZS50aW1lc3RhbXA9RGF0ZS5ub3coKSksUX19LGRlZmF1bHRfdHR5X29wczp7Z2V0X2NoYXI6ZnVuY3Rpb24oQSl7aWYoIUEuaW5wdXQubGVuZ3RoKXt2YXIgST1udWxsO2lmKHcpe3ZhciBnPUJ1ZmZlci5hbGxvYz9CdWZmZXIuYWxsb2MoMjU2KTpuZXcgQnVmZmVyKDI1NiksQj0wO3RyeXtCPXMucmVhZFN5bmMocHJvY2Vzcy5zdGRpbi5mZCxnLDAsMjU2LG51bGwpfWNhdGNoKEEpe2lmKC0xPT1BLnRvU3RyaW5nKCkuaW5kZXhPZihcIkVPRlwiKSl0aHJvdyBBO0I9MH1JPUI+MD9nLnNsaWNlKDAsQikudG9TdHJpbmcoXCJ1dGYtOFwiKTpudWxsfWVsc2VcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93JiZcImZ1bmN0aW9uXCI9PXR5cGVvZiB3aW5kb3cucHJvbXB0P251bGwhPT0oST13aW5kb3cucHJvbXB0KFwiSW5wdXQ6IFwiKSkmJihJKz1cIlxcblwiKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiByZWFkbGluZSYmbnVsbCE9PShJPXJlYWRsaW5lKCkpJiYoSSs9XCJcXG5cIik7aWYoIUkpcmV0dXJuIG51bGw7QS5pbnB1dD1YZyhJLCEwKX1yZXR1cm4gQS5pbnB1dC5zaGlmdCgpfSxwdXRfY2hhcjpmdW5jdGlvbihBLEkpe251bGw9PT1JfHwxMD09PUk/KHQoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pOjAhPUkmJkEub3V0cHV0LnB1c2goSSl9LGZsdXNoOmZ1bmN0aW9uKEEpe0Eub3V0cHV0JiZBLm91dHB1dC5sZW5ndGg+MCYmKHQoZChBLm91dHB1dCwwKSksQS5vdXRwdXQ9W10pfX0sZGVmYXVsdF90dHkxX29wczp7cHV0X2NoYXI6ZnVuY3Rpb24oQSxJKXtudWxsPT09SXx8MTA9PT1JPyhTKGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKTowIT1JJiZBLm91dHB1dC5wdXNoKEkpfSxmbHVzaDpmdW5jdGlvbihBKXtBLm91dHB1dCYmQS5vdXRwdXQubGVuZ3RoPjAmJihTKGQoQS5vdXRwdXQsMCkpLEEub3V0cHV0PVtdKX19fSxFST17b3BzX3RhYmxlOm51bGwsbW91bnQ6ZnVuY3Rpb24oQSl7cmV0dXJuIEVJLmNyZWF0ZU5vZGUobnVsbCxcIi9cIiwxNjg5NSwwKX0sY3JlYXRlTm9kZTpmdW5jdGlvbihBLEksZyxCKXtpZihpSS5pc0Jsa2RldihnKXx8aUkuaXNGSUZPKGcpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtFSS5vcHNfdGFibGV8fChFSS5vcHNfdGFibGU9e2Rpcjp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixsb29rdXA6RUkubm9kZV9vcHMubG9va3VwLG1rbm9kOkVJLm5vZGVfb3BzLm1rbm9kLHJlbmFtZTpFSS5ub2RlX29wcy5yZW5hbWUsdW5saW5rOkVJLm5vZGVfb3BzLnVubGluayxybWRpcjpFSS5ub2RlX29wcy5ybWRpcixyZWFkZGlyOkVJLm5vZGVfb3BzLnJlYWRkaXIsc3ltbGluazpFSS5ub2RlX29wcy5zeW1saW5rfSxzdHJlYW06e2xsc2VlazpFSS5zdHJlYW1fb3BzLmxsc2Vla319LGZpbGU6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTp7bGxzZWVrOkVJLnN0cmVhbV9vcHMubGxzZWVrLHJlYWQ6RUkuc3RyZWFtX29wcy5yZWFkLHdyaXRlOkVJLnN0cmVhbV9vcHMud3JpdGUsYWxsb2NhdGU6RUkuc3RyZWFtX29wcy5hbGxvY2F0ZSxtbWFwOkVJLnN0cmVhbV9vcHMubW1hcCxtc3luYzpFSS5zdHJlYW1fb3BzLm1zeW5jfX0sbGluazp7bm9kZTp7Z2V0YXR0cjpFSS5ub2RlX29wcy5nZXRhdHRyLHNldGF0dHI6RUkubm9kZV9vcHMuc2V0YXR0cixyZWFkbGluazpFSS5ub2RlX29wcy5yZWFkbGlua30sc3RyZWFtOnt9fSxjaHJkZXY6e25vZGU6e2dldGF0dHI6RUkubm9kZV9vcHMuZ2V0YXR0cixzZXRhdHRyOkVJLm5vZGVfb3BzLnNldGF0dHJ9LHN0cmVhbTppSS5jaHJkZXZfc3RyZWFtX29wc319KTt2YXIgQz1pSS5jcmVhdGVOb2RlKEEsSSxnLEIpO3JldHVybiBpSS5pc0RpcihDLm1vZGUpPyhDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5kaXIubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmRpci5zdHJlYW0sQy5jb250ZW50cz17fSk6aUkuaXNGaWxlKEMubW9kZSk/KEMubm9kZV9vcHM9RUkub3BzX3RhYmxlLmZpbGUubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmZpbGUuc3RyZWFtLEMudXNlZEJ5dGVzPTAsQy5jb250ZW50cz1udWxsKTppSS5pc0xpbmsoQy5tb2RlKT8oQy5ub2RlX29wcz1FSS5vcHNfdGFibGUubGluay5ub2RlLEMuc3RyZWFtX29wcz1FSS5vcHNfdGFibGUubGluay5zdHJlYW0pOmlJLmlzQ2hyZGV2KEMubW9kZSkmJihDLm5vZGVfb3BzPUVJLm9wc190YWJsZS5jaHJkZXYubm9kZSxDLnN0cmVhbV9vcHM9RUkub3BzX3RhYmxlLmNocmRldi5zdHJlYW0pLEMudGltZXN0YW1wPURhdGUubm93KCksQSYmKEEuY29udGVudHNbSV09QyksQ30sZ2V0RmlsZURhdGFBc1JlZ3VsYXJBcnJheTpmdW5jdGlvbihBKXtpZihBLmNvbnRlbnRzJiZBLmNvbnRlbnRzLnN1YmFycmF5KXtmb3IodmFyIEk9W10sZz0wO2c8QS51c2VkQnl0ZXM7KytnKUkucHVzaChBLmNvbnRlbnRzW2ddKTtyZXR1cm4gSX1yZXR1cm4gQS5jb250ZW50c30sZ2V0RmlsZURhdGFBc1R5cGVkQXJyYXk6ZnVuY3Rpb24oQSl7cmV0dXJuIEEuY29udGVudHM/QS5jb250ZW50cy5zdWJhcnJheT9BLmNvbnRlbnRzLnN1YmFycmF5KDAsQS51c2VkQnl0ZXMpOm5ldyBVaW50OEFycmF5KEEuY29udGVudHMpOm5ldyBVaW50OEFycmF5fSxleHBhbmRGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe3ZhciBnPUEuY29udGVudHM/QS5jb250ZW50cy5sZW5ndGg6MDtpZighKGc+PUkpKXtJPU1hdGgubWF4KEksZyooZzwxMDQ4NTc2PzI6MS4xMjUpfDApLDAhPWcmJihJPU1hdGgubWF4KEksMjU2KSk7dmFyIEI9QS5jb250ZW50cztBLmNvbnRlbnRzPW5ldyBVaW50OEFycmF5KEkpLEEudXNlZEJ5dGVzPjAmJkEuY29udGVudHMuc2V0KEIuc3ViYXJyYXkoMCxBLnVzZWRCeXRlcyksMCl9fSxyZXNpemVGaWxlU3RvcmFnZTpmdW5jdGlvbihBLEkpe2lmKEEudXNlZEJ5dGVzIT1JKXtpZigwPT1JKXJldHVybiBBLmNvbnRlbnRzPW51bGwsdm9pZChBLnVzZWRCeXRlcz0wKTtpZighQS5jb250ZW50c3x8QS5jb250ZW50cy5zdWJhcnJheSl7dmFyIGc9QS5jb250ZW50cztyZXR1cm4gQS5jb250ZW50cz1uZXcgVWludDhBcnJheShJKSxnJiZBLmNvbnRlbnRzLnNldChnLnN1YmFycmF5KDAsTWF0aC5taW4oSSxBLnVzZWRCeXRlcykpKSx2b2lkKEEudXNlZEJ5dGVzPUkpfWlmKEEuY29udGVudHN8fChBLmNvbnRlbnRzPVtdKSxBLmNvbnRlbnRzLmxlbmd0aD5JKUEuY29udGVudHMubGVuZ3RoPUk7ZWxzZSBmb3IoO0EuY29udGVudHMubGVuZ3RoPEk7KUEuY29udGVudHMucHVzaCgwKTtBLnVzZWRCeXRlcz1JfX0sbm9kZV9vcHM6e2dldGF0dHI6ZnVuY3Rpb24oQSl7dmFyIEk9e307cmV0dXJuIEkuZGV2PWlJLmlzQ2hyZGV2KEEubW9kZSk/QS5pZDoxLEkuaW5vPUEuaWQsSS5tb2RlPUEubW9kZSxJLm5saW5rPTEsSS51aWQ9MCxJLmdpZD0wLEkucmRldj1BLnJkZXYsaUkuaXNEaXIoQS5tb2RlKT9JLnNpemU9NDA5NjppSS5pc0ZpbGUoQS5tb2RlKT9JLnNpemU9QS51c2VkQnl0ZXM6aUkuaXNMaW5rKEEubW9kZSk/SS5zaXplPUEubGluay5sZW5ndGg6SS5zaXplPTAsSS5hdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5tdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5jdGltZT1uZXcgRGF0ZShBLnRpbWVzdGFtcCksSS5ibGtzaXplPTQwOTYsSS5ibG9ja3M9TWF0aC5jZWlsKEkuc2l6ZS9JLmJsa3NpemUpLEl9LHNldGF0dHI6ZnVuY3Rpb24oQSxJKXt2b2lkIDAhPT1JLm1vZGUmJihBLm1vZGU9SS5tb2RlKSx2b2lkIDAhPT1JLnRpbWVzdGFtcCYmKEEudGltZXN0YW1wPUkudGltZXN0YW1wKSx2b2lkIDAhPT1JLnNpemUmJkVJLnJlc2l6ZUZpbGVTdG9yYWdlKEEsSS5zaXplKX0sbG9va3VwOmZ1bmN0aW9uKEEsSSl7dGhyb3cgaUkuZ2VuZXJpY0Vycm9yc1s0NF19LG1rbm9kOmZ1bmN0aW9uKEEsSSxnLEIpe3JldHVybiBFSS5jcmVhdGVOb2RlKEEsSSxnLEIpfSxyZW5hbWU6ZnVuY3Rpb24oQSxJLGcpe2lmKGlJLmlzRGlyKEEubW9kZSkpe3ZhciBCO3RyeXtCPWlJLmxvb2t1cE5vZGUoSSxnKX1jYXRjaChBKXt9aWYoQilmb3IodmFyIEMgaW4gQi5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSl9ZGVsZXRlIEEucGFyZW50LmNvbnRlbnRzW0EubmFtZV0sQS5uYW1lPWcsSS5jb250ZW50c1tnXT1BLEEucGFyZW50PUl9LHVubGluazpmdW5jdGlvbihBLEkpe2RlbGV0ZSBBLmNvbnRlbnRzW0ldfSxybWRpcjpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmxvb2t1cE5vZGUoQSxJKTtmb3IodmFyIEIgaW4gZy5jb250ZW50cyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NSk7ZGVsZXRlIEEuY29udGVudHNbSV19LHJlYWRkaXI6ZnVuY3Rpb24oQSl7dmFyIEk9W1wiLlwiLFwiLi5cIl07Zm9yKHZhciBnIGluIEEuY29udGVudHMpQS5jb250ZW50cy5oYXNPd25Qcm9wZXJ0eShnKSYmSS5wdXNoKGcpO3JldHVybiBJfSxzeW1saW5rOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1FSS5jcmVhdGVOb2RlKEEsSSw0MTQ3MSwwKTtyZXR1cm4gQi5saW5rPWcsQn0scmVhZGxpbms6ZnVuY3Rpb24oQSl7aWYoIWlJLmlzTGluayhBLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQS5saW5rfX0sc3RyZWFtX29wczp7cmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1BLm5vZGUudXNlZEJ5dGVzKXJldHVybiAwO3ZhciBFPU1hdGgubWluKEEubm9kZS51c2VkQnl0ZXMtQyxCKTtpZihFPjgmJlEuc3ViYXJyYXkpSS5zZXQoUS5zdWJhcnJheShDLEMrRSksZyk7ZWxzZSBmb3IodmFyIGk9MDtpPEU7aSsrKUlbZytpXT1RW0MraV07cmV0dXJuIEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXtpZighQilyZXR1cm4gMDt2YXIgRT1BLm5vZGU7aWYoRS50aW1lc3RhbXA9RGF0ZS5ub3coKSxJLnN1YmFycmF5JiYoIUUuY29udGVudHN8fEUuY29udGVudHMuc3ViYXJyYXkpKXtpZihRKXJldHVybiBFLmNvbnRlbnRzPUkuc3ViYXJyYXkoZyxnK0IpLEUudXNlZEJ5dGVzPUIsQjtpZigwPT09RS51c2VkQnl0ZXMmJjA9PT1DKXJldHVybiBFLmNvbnRlbnRzPUkuc2xpY2UoZyxnK0IpLEUudXNlZEJ5dGVzPUIsQjtpZihDK0I8PUUudXNlZEJ5dGVzKXJldHVybiBFLmNvbnRlbnRzLnNldChJLnN1YmFycmF5KGcsZytCKSxDKSxCfWlmKEVJLmV4cGFuZEZpbGVTdG9yYWdlKEUsQytCKSxFLmNvbnRlbnRzLnN1YmFycmF5JiZJLnN1YmFycmF5KUUuY29udGVudHMuc2V0KEkuc3ViYXJyYXkoZyxnK0IpLEMpO2Vsc2UgZm9yKHZhciBpPTA7aTxCO2krKylFLmNvbnRlbnRzW0MraV09SVtnK2ldO3JldHVybiBFLnVzZWRCeXRlcz1NYXRoLm1heChFLnVzZWRCeXRlcyxDK0IpLEJ9LGxsc2VlazpmdW5jdGlvbihBLEksZyl7dmFyIEI9STtpZigxPT09Zz9CKz1BLnBvc2l0aW9uOjI9PT1nJiZpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpJiYoQis9QS5ub2RlLnVzZWRCeXRlcyksQjwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtyZXR1cm4gQn0sYWxsb2NhdGU6ZnVuY3Rpb24oQSxJLGcpe0VJLmV4cGFuZEZpbGVTdG9yYWdlKEEubm9kZSxJK2cpLEEubm9kZS51c2VkQnl0ZXM9TWF0aC5tYXgoQS5ub2RlLnVzZWRCeXRlcyxJK2cpfSxtbWFwOmZ1bmN0aW9uKEEsSSxnLEIsQyxRLEUpe2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTt2YXIgaSxvLEQ9QS5ub2RlLmNvbnRlbnRzO2lmKDImRXx8RC5idWZmZXIhPT1JLmJ1ZmZlcil7KEM+MHx8QytCPEEubm9kZS51c2VkQnl0ZXMpJiYoRD1ELnN1YmFycmF5P0Quc3ViYXJyYXkoQyxDK0IpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKEQsQyxDK0IpKSxvPSEwO3ZhciBhPUkuYnVmZmVyPT12LmJ1ZmZlcjtpZighKGk9UkIoQikpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ4KTsoYT92OkkpLnNldChELGkpfWVsc2Ugbz0hMSxpPUQuYnl0ZU9mZnNldDtyZXR1cm57cHRyOmksYWxsb2NhdGVkOm99fSxtc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtyZXR1cm4gMiZDfHxFSS5zdHJlYW1fb3BzLndyaXRlKEEsSSwwLEIsZywhMSksMH19fSxpST17cm9vdDpudWxsLG1vdW50czpbXSxkZXZpY2VzOnt9LHN0cmVhbXM6W10sbmV4dElub2RlOjEsbmFtZVRhYmxlOm51bGwsY3VycmVudFBhdGg6XCIvXCIsaW5pdGlhbGl6ZWQ6ITEsaWdub3JlUGVybWlzc2lvbnM6ITAsdHJhY2tpbmdEZWxlZ2F0ZTp7fSx0cmFja2luZzp7b3BlbkZsYWdzOntSRUFEOjEsV1JJVEU6Mn19LEVycm5vRXJyb3I6bnVsbCxnZW5lcmljRXJyb3JzOnt9LGZpbGVzeXN0ZW1zOm51bGwsc3luY0ZTUmVxdWVzdHM6MCxoYW5kbGVGU0Vycm9yOmZ1bmN0aW9uKEEpe2lmKCEoQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3IpKXRocm93IEErXCIgOiBcIitUQSgpO3JldHVybiBJSShBLmVycm5vKX0sbG9va3VwUGF0aDpmdW5jdGlvbihBLEkpe2lmKEk9SXx8e30sIShBPUNJLnJlc29sdmUoaUkuY3dkKCksQSkpKXJldHVybntwYXRoOlwiXCIsbm9kZTpudWxsfTt2YXIgZz17Zm9sbG93X21vdW50OiEwLHJlY3Vyc2VfY291bnQ6MH07Zm9yKHZhciBCIGluIGcpdm9pZCAwPT09SVtCXSYmKElbQl09Z1tCXSk7aWYoSS5yZWN1cnNlX2NvdW50PjgpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzIpO2Zvcih2YXIgQz1CSS5ub3JtYWxpemVBcnJheShBLnNwbGl0KFwiL1wiKS5maWx0ZXIoKGZ1bmN0aW9uKEEpe3JldHVybiEhQX0pKSwhMSksUT1pSS5yb290LEU9XCIvXCIsaT0wO2k8Qy5sZW5ndGg7aSsrKXt2YXIgbz1pPT09Qy5sZW5ndGgtMTtpZihvJiZJLnBhcmVudClicmVhaztpZihRPWlJLmxvb2t1cE5vZGUoUSxDW2ldKSxFPUJJLmpvaW4yKEUsQ1tpXSksaUkuaXNNb3VudHBvaW50KFEpJiYoIW98fG8mJkkuZm9sbG93X21vdW50KSYmKFE9US5tb3VudGVkLnJvb3QpLCFvfHxJLmZvbGxvdylmb3IodmFyIEQ9MDtpSS5pc0xpbmsoUS5tb2RlKTspe3ZhciBhPWlJLnJlYWRsaW5rKEUpO2lmKEU9Q0kucmVzb2x2ZShCSS5kaXJuYW1lKEUpLGEpLFE9aUkubG9va3VwUGF0aChFLHtyZWN1cnNlX2NvdW50OkkucmVjdXJzZV9jb3VudH0pLm5vZGUsRCsrPjQwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMyKX19cmV0dXJue3BhdGg6RSxub2RlOlF9fSxnZXRQYXRoOmZ1bmN0aW9uKEEpe2Zvcih2YXIgSTs7KXtpZihpSS5pc1Jvb3QoQSkpe3ZhciBnPUEubW91bnQubW91bnRwb2ludDtyZXR1cm4gST9cIi9cIiE9PWdbZy5sZW5ndGgtMV0/ZytcIi9cIitJOmcrSTpnfUk9ST9BLm5hbWUrXCIvXCIrSTpBLm5hbWUsQT1BLnBhcmVudH19LGhhc2hOYW1lOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPTAsQj0wO0I8SS5sZW5ndGg7QisrKWc9KGc8PDUpLWcrSS5jaGFyQ29kZUF0KEIpfDA7cmV0dXJuKEErZz4+PjApJWlJLm5hbWVUYWJsZS5sZW5ndGh9LGhhc2hBZGROb2RlOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmhhc2hOYW1lKEEucGFyZW50LmlkLEEubmFtZSk7QS5uYW1lX25leHQ9aUkubmFtZVRhYmxlW0ldLGlJLm5hbWVUYWJsZVtJXT1BfSxoYXNoUmVtb3ZlTm9kZTpmdW5jdGlvbihBKXt2YXIgST1pSS5oYXNoTmFtZShBLnBhcmVudC5pZCxBLm5hbWUpO2lmKGlJLm5hbWVUYWJsZVtJXT09PUEpaUkubmFtZVRhYmxlW0ldPUEubmFtZV9uZXh0O2Vsc2UgZm9yKHZhciBnPWlJLm5hbWVUYWJsZVtJXTtnOyl7aWYoZy5uYW1lX25leHQ9PT1BKXtnLm5hbWVfbmV4dD1BLm5hbWVfbmV4dDticmVha31nPWcubmFtZV9uZXh0fX0sbG9va3VwTm9kZTpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLm1heUxvb2t1cChBKTtpZihnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKGcsQSk7Zm9yKHZhciBCPWlJLmhhc2hOYW1lKEEuaWQsSSksQz1pSS5uYW1lVGFibGVbQl07QztDPUMubmFtZV9uZXh0KXt2YXIgUT1DLm5hbWU7aWYoQy5wYXJlbnQuaWQ9PT1BLmlkJiZRPT09SSlyZXR1cm4gQ31yZXR1cm4gaUkubG9va3VwKEEsSSl9LGNyZWF0ZU5vZGU6ZnVuY3Rpb24oQSxJLGcsQil7aWYoIWlJLkZTTm9kZSl7aUkuRlNOb2RlPWZ1bmN0aW9uKEEsSSxnLEIpe0F8fChBPXRoaXMpLHRoaXMucGFyZW50PUEsdGhpcy5tb3VudD1BLm1vdW50LHRoaXMubW91bnRlZD1udWxsLHRoaXMuaWQ9aUkubmV4dElub2RlKyssdGhpcy5uYW1lPUksdGhpcy5tb2RlPWcsdGhpcy5ub2RlX29wcz17fSx0aGlzLnN0cmVhbV9vcHM9e30sdGhpcy5yZGV2PUJ9LGlJLkZTTm9kZS5wcm90b3R5cGU9e307T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaUkuRlNOb2RlLnByb3RvdHlwZSx7cmVhZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDM2NT09KDM2NSZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTM2NTp0aGlzLm1vZGUmPS0zNjZ9fSx3cml0ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDE0Nj09KDE0NiZ0aGlzLm1vZGUpfSxzZXQ6ZnVuY3Rpb24oQSl7QT90aGlzLm1vZGV8PTE0Njp0aGlzLm1vZGUmPS0xNDd9fSxpc0ZvbGRlcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzRGlyKHRoaXMubW9kZSl9fSxpc0RldmljZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmlzQ2hyZGV2KHRoaXMubW9kZSl9fX0pfXZhciBDPW5ldyBpSS5GU05vZGUoQSxJLGcsQik7cmV0dXJuIGlJLmhhc2hBZGROb2RlKEMpLEN9LGRlc3Ryb3lOb2RlOmZ1bmN0aW9uKEEpe2lJLmhhc2hSZW1vdmVOb2RlKEEpfSxpc1Jvb3Q6ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT1BLnBhcmVudH0saXNNb3VudHBvaW50OmZ1bmN0aW9uKEEpe3JldHVybiEhQS5tb3VudGVkfSxpc0ZpbGU6ZnVuY3Rpb24oQSl7cmV0dXJuIDMyNzY4PT0oNjE0NDAmQSl9LGlzRGlyOmZ1bmN0aW9uKEEpe3JldHVybiAxNjM4ND09KDYxNDQwJkEpfSxpc0xpbms6ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTYwPT0oNjE0NDAmQSl9LGlzQ2hyZGV2OmZ1bmN0aW9uKEEpe3JldHVybiA4MTkyPT0oNjE0NDAmQSl9LGlzQmxrZGV2OmZ1bmN0aW9uKEEpe3JldHVybiAyNDU3Nj09KDYxNDQwJkEpfSxpc0ZJRk86ZnVuY3Rpb24oQSl7cmV0dXJuIDQwOTY9PSg2MTQ0MCZBKX0saXNTb2NrZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIDQ5MTUyPT0oNDkxNTImQSl9LGZsYWdNb2Rlczp7cjowLHJzOjEwNTI2NzIsXCJyK1wiOjIsdzo1Nzcsd3g6NzA1LHh3OjcwNSxcIncrXCI6NTc4LFwid3grXCI6NzA2LFwieHcrXCI6NzA2LGE6MTA4OSxheDoxMjE3LHhhOjEyMTcsXCJhK1wiOjEwOTAsXCJheCtcIjoxMjE4LFwieGErXCI6MTIxOH0sbW9kZVN0cmluZ1RvRmxhZ3M6ZnVuY3Rpb24oQSl7dmFyIEk9aUkuZmxhZ01vZGVzW0FdO2lmKHZvaWQgMD09PUkpdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBmaWxlIG9wZW4gbW9kZTogXCIrQSk7cmV0dXJuIEl9LGZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nOmZ1bmN0aW9uKEEpe3ZhciBJPVtcInJcIixcIndcIixcInJ3XCJdWzMmQV07cmV0dXJuIDUxMiZBJiYoSSs9XCJ3XCIpLEl9LG5vZGVQZXJtaXNzaW9uczpmdW5jdGlvbihBLEkpe3JldHVybiBpSS5pZ25vcmVQZXJtaXNzaW9uc3x8KC0xPT09SS5pbmRleE9mKFwiclwiKXx8MjkyJkEubW9kZSkmJigtMT09PUkuaW5kZXhPZihcIndcIil8fDE0NiZBLm1vZGUpJiYoLTE9PT1JLmluZGV4T2YoXCJ4XCIpfHw3MyZBLm1vZGUpPzA6Mn0sbWF5TG9va3VwOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5ub2RlUGVybWlzc2lvbnMoQSxcInhcIil8fChBLm5vZGVfb3BzLmxvb2t1cD8wOjIpfSxtYXlDcmVhdGU6ZnVuY3Rpb24oQSxJKXt0cnl7cmV0dXJuIGlJLmxvb2t1cE5vZGUoQSxJKSwyMH1jYXRjaChBKXt9cmV0dXJuIGlJLm5vZGVQZXJtaXNzaW9ucyhBLFwid3hcIil9LG1heURlbGV0ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7dHJ5e0I9aUkubG9va3VwTm9kZShBLEkpfWNhdGNoKEEpe3JldHVybiBBLmVycm5vfXZhciBDPWlJLm5vZGVQZXJtaXNzaW9ucyhBLFwid3hcIik7aWYoQylyZXR1cm4gQztpZihnKXtpZighaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gNTQ7aWYoaUkuaXNSb290KEIpfHxpSS5nZXRQYXRoKEIpPT09aUkuY3dkKCkpcmV0dXJuIDEwfWVsc2UgaWYoaUkuaXNEaXIoQi5tb2RlKSlyZXR1cm4gMzE7cmV0dXJuIDB9LG1heU9wZW46ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQT9pSS5pc0xpbmsoQS5tb2RlKT8zMjppSS5pc0RpcihBLm1vZGUpJiYoXCJyXCIhPT1pSS5mbGFnc1RvUGVybWlzc2lvblN0cmluZyhJKXx8NTEyJkkpPzMxOmlJLm5vZGVQZXJtaXNzaW9ucyhBLGlJLmZsYWdzVG9QZXJtaXNzaW9uU3RyaW5nKEkpKTo0NH0sTUFYX09QRU5fRkRTOjQwOTYsbmV4dGZkOmZ1bmN0aW9uKEEsSSl7QT1BfHwwLEk9SXx8aUkuTUFYX09QRU5fRkRTO2Zvcih2YXIgZz1BO2c8PUk7ZysrKWlmKCFpSS5zdHJlYW1zW2ddKXJldHVybiBnO3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDMzKX0sZ2V0U3RyZWFtOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5zdHJlYW1zW0FdfSxjcmVhdGVTdHJlYW06ZnVuY3Rpb24oQSxJLGcpe2lJLkZTU3RyZWFtfHwoaUkuRlNTdHJlYW09ZnVuY3Rpb24oKXt9LGlJLkZTU3RyZWFtLnByb3RvdHlwZT17fSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhpSS5GU1N0cmVhbS5wcm90b3R5cGUse29iamVjdDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZX0sc2V0OmZ1bmN0aW9uKEEpe3RoaXMubm9kZT1BfX0saXNSZWFkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMSE9KDIwOTcxNTUmdGhpcy5mbGFncyl9fSxpc1dyaXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9KDIwOTcxNTUmdGhpcy5mbGFncyl9fSxpc0FwcGVuZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDEwMjQmdGhpcy5mbGFnc319fSkpO3ZhciBCPW5ldyBpSS5GU1N0cmVhbTtmb3IodmFyIEMgaW4gQSlCW0NdPUFbQ107QT1CO3ZhciBRPWlJLm5leHRmZChJLGcpO3JldHVybiBBLmZkPVEsaUkuc3RyZWFtc1tRXT1BLEF9LGNsb3NlU3RyZWFtOmZ1bmN0aW9uKEEpe2lJLnN0cmVhbXNbQV09bnVsbH0sY2hyZGV2X3N0cmVhbV9vcHM6e29wZW46ZnVuY3Rpb24oQSl7dmFyIEk9aUkuZ2V0RGV2aWNlKEEubm9kZS5yZGV2KTtBLnN0cmVhbV9vcHM9SS5zdHJlYW1fb3BzLEEuc3RyZWFtX29wcy5vcGVuJiZBLnN0cmVhbV9vcHMub3BlbihBKX0sbGxzZWVrOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApfX0sbWFqb3I6ZnVuY3Rpb24oQSl7cmV0dXJuIEE+Pjh9LG1pbm9yOmZ1bmN0aW9uKEEpe3JldHVybiAyNTUmQX0sbWFrZWRldjpmdW5jdGlvbihBLEkpe3JldHVybiBBPDw4fEl9LHJlZ2lzdGVyRGV2aWNlOmZ1bmN0aW9uKEEsSSl7aUkuZGV2aWNlc1tBXT17c3RyZWFtX29wczpJfX0sZ2V0RGV2aWNlOmZ1bmN0aW9uKEEpe3JldHVybiBpSS5kZXZpY2VzW0FdfSxnZXRNb3VudHM6ZnVuY3Rpb24oQSl7Zm9yKHZhciBJPVtdLGc9W0FdO2cubGVuZ3RoOyl7dmFyIEI9Zy5wb3AoKTtJLnB1c2goQiksZy5wdXNoLmFwcGx5KGcsQi5tb3VudHMpfXJldHVybiBJfSxzeW5jZnM6ZnVuY3Rpb24oQSxJKXtcImZ1bmN0aW9uXCI9PXR5cGVvZiBBJiYoST1BLEE9ITEpLGlJLnN5bmNGU1JlcXVlc3RzKyssaUkuc3luY0ZTUmVxdWVzdHM+MSYmUyhcIndhcm5pbmc6IFwiK2lJLnN5bmNGU1JlcXVlc3RzK1wiIEZTLnN5bmNmcyBvcGVyYXRpb25zIGluIGZsaWdodCBhdCBvbmNlLCBwcm9iYWJseSBqdXN0IGRvaW5nIGV4dHJhIHdvcmtcIik7dmFyIGc9aUkuZ2V0TW91bnRzKGlJLnJvb3QubW91bnQpLEI9MDtmdW5jdGlvbiBDKEEpe3JldHVybiBpSS5zeW5jRlNSZXF1ZXN0cy0tLEkoQSl9ZnVuY3Rpb24gUShBKXtpZihBKXJldHVybiBRLmVycm9yZWQ/dm9pZCAwOihRLmVycm9yZWQ9ITAsQyhBKSk7KytCPj1nLmxlbmd0aCYmQyhudWxsKX1nLmZvckVhY2goKGZ1bmN0aW9uKEkpe2lmKCFJLnR5cGUuc3luY2ZzKXJldHVybiBRKG51bGwpO0kudHlwZS5zeW5jZnMoSSxBLFEpfSkpfSxtb3VudDpmdW5jdGlvbihBLEksZyl7dmFyIEIsQz1cIi9cIj09PWcsUT0hZztpZihDJiZpSS5yb290KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighQyYmIVEpe3ZhciBFPWlJLmxvb2t1cFBhdGgoZyx7Zm9sbG93X21vdW50OiExfSk7aWYoZz1FLnBhdGgsQj1FLm5vZGUsaUkuaXNNb3VudHBvaW50KEIpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKTtpZighaUkuaXNEaXIoQi5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCl9dmFyIGk9e3R5cGU6QSxvcHRzOkksbW91bnRwb2ludDpnLG1vdW50czpbXX0sbz1BLm1vdW50KGkpO3JldHVybiBvLm1vdW50PWksaS5yb290PW8sQz9pSS5yb290PW86QiYmKEIubW91bnRlZD1pLEIubW91bnQmJkIubW91bnQubW91bnRzLnB1c2goaSkpLG99LHVubW91bnQ6ZnVuY3Rpb24oQSl7dmFyIEk9aUkubG9va3VwUGF0aChBLHtmb2xsb3dfbW91bnQ6ITF9KTtpZighaUkuaXNNb3VudHBvaW50KEkubm9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3ZhciBnPUkubm9kZSxCPWcubW91bnRlZCxDPWlJLmdldE1vdW50cyhCKTtPYmplY3Qua2V5cyhpSS5uYW1lVGFibGUpLmZvckVhY2goKGZ1bmN0aW9uKEEpe2Zvcih2YXIgST1pSS5uYW1lVGFibGVbQV07STspe3ZhciBnPUkubmFtZV9uZXh0Oy0xIT09Qy5pbmRleE9mKEkubW91bnQpJiZpSS5kZXN0cm95Tm9kZShJKSxJPWd9fSkpLGcubW91bnRlZD1udWxsO3ZhciBRPWcubW91bnQubW91bnRzLmluZGV4T2YoQik7Zy5tb3VudC5tb3VudHMuc3BsaWNlKFEsMSl9LGxvb2t1cDpmdW5jdGlvbihBLEkpe3JldHVybiBBLm5vZGVfb3BzLmxvb2t1cChBLEkpfSxta25vZDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEM9QkkuYmFzZW5hbWUoQSk7aWYoIUN8fFwiLlwiPT09Q3x8XCIuLlwiPT09Qyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIFE9aUkubWF5Q3JlYXRlKEIsQyk7aWYoUSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihRKTtpZighQi5ub2RlX29wcy5ta25vZCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIEIubm9kZV9vcHMubWtub2QoQixDLEksZyl9LGNyZWF0ZTpmdW5jdGlvbihBLEkpe3JldHVybiBJPXZvaWQgMCE9PUk/STo0MzgsSSY9NDA5NSxJfD0zMjc2OCxpSS5ta25vZChBLEksMCl9LG1rZGlyOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIEk9dm9pZCAwIT09ST9JOjUxMSxJJj0xMDIzLEl8PTE2Mzg0LGlJLm1rbm9kKEEsSSwwKX0sbWtkaXJUcmVlOmZ1bmN0aW9uKEEsSSl7Zm9yKHZhciBnPUEuc3BsaXQoXCIvXCIpLEI9XCJcIixDPTA7QzxnLmxlbmd0aDsrK0MpaWYoZ1tDXSl7Qis9XCIvXCIrZ1tDXTt0cnl7aUkubWtkaXIoQixJKX1jYXRjaChBKXtpZigyMCE9QS5lcnJubyl0aHJvdyBBfX19LG1rZGV2OmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdm9pZCAwPT09ZyYmKGc9SSxJPTQzOCksSXw9ODE5MixpSS5ta25vZChBLEksZyl9LHN5bWxpbms6ZnVuY3Rpb24oQSxJKXtpZighQ0kucmVzb2x2ZShBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7dmFyIGc9aUkubG9va3VwUGF0aChJLHtwYXJlbnQ6ITB9KS5ub2RlO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgQj1CSS5iYXNlbmFtZShJKSxDPWlJLm1heUNyZWF0ZShnLEIpO2lmKEMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQyk7aWYoIWcubm9kZV9vcHMuc3ltbGluayl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7cmV0dXJuIGcubm9kZV9vcHMuc3ltbGluayhnLEIsQSl9LHJlbmFtZTpmdW5jdGlvbihBLEkpe3ZhciBnLEIsQz1CSS5kaXJuYW1lKEEpLFE9QkkuZGlybmFtZShJKSxFPUJJLmJhc2VuYW1lKEEpLGk9QkkuYmFzZW5hbWUoSSk7dHJ5e2c9aUkubG9va3VwUGF0aChBLHtwYXJlbnQ6ITB9KS5ub2RlLEI9aUkubG9va3VwUGF0aChJLHtwYXJlbnQ6ITB9KS5ub2RlfWNhdGNoKEEpe3Rocm93IG5ldyBpSS5FcnJub0Vycm9yKDEwKX1pZighZ3x8IUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKGcubW91bnQhPT1CLm1vdW50KXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDc1KTt2YXIgbyxEPWlJLmxvb2t1cE5vZGUoZyxFKSxhPUNJLnJlbGF0aXZlKEEsUSk7aWYoXCIuXCIhPT1hLmNoYXJBdCgwKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoXCIuXCIhPT0oYT1DSS5yZWxhdGl2ZShJLEMpKS5jaGFyQXQoMCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTUpO3RyeXtvPWlJLmxvb2t1cE5vZGUoQixpKX1jYXRjaChBKXt9aWYoRCE9PW8pe3ZhciB3PWlJLmlzRGlyKEQubW9kZSksRj1pSS5tYXlEZWxldGUoZyxFLHcpO2lmKEYpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoRj1vP2lJLm1heURlbGV0ZShCLGksdyk6aUkubWF5Q3JlYXRlKEIsaSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7aWYoIWcubm9kZV9vcHMucmVuYW1lKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtpZihpSS5pc01vdW50cG9pbnQoRCl8fG8mJmlJLmlzTW91bnRwb2ludChvKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7aWYoQiE9PWcmJihGPWlJLm5vZGVQZXJtaXNzaW9ucyhnLFwid1wiKSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoRik7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbE1vdmVQYXRoJiZpSS50cmFja2luZ0RlbGVnYXRlLndpbGxNb3ZlUGF0aChBLEkpfWNhdGNoKGcpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWyd3aWxsTW92ZVBhdGgnXSgnXCIrQStcIicsICdcIitJK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitnLm1lc3NhZ2UpfWlJLmhhc2hSZW1vdmVOb2RlKEQpO3RyeXtnLm5vZGVfb3BzLnJlbmFtZShELEIsaSl9Y2F0Y2goQSl7dGhyb3cgQX1maW5hbGx5e2lJLmhhc2hBZGROb2RlKEQpfXRyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uTW92ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25Nb3ZlUGF0aChBLEkpfWNhdGNoKGcpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbk1vdmVQYXRoJ10oJ1wiK0ErXCInLCAnXCIrSStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrZy5tZXNzYWdlKX19fSxybWRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse3BhcmVudDohMH0pLm5vZGUsZz1CSS5iYXNlbmFtZShBKSxCPWlJLmxvb2t1cE5vZGUoSSxnKSxDPWlJLm1heURlbGV0ZShJLGcsITApO2lmKEMpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQyk7aWYoIUkubm9kZV9vcHMucm1kaXIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9SS5ub2RlX29wcy5ybWRpcihJLGcpLGlJLmRlc3Ryb3lOb2RlKEIpO3RyeXtpSS50cmFja2luZ0RlbGVnYXRlLm9uRGVsZXRlUGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ29uRGVsZXRlUGF0aCddKCdcIitBK1wiJykgdGhyZXcgYW4gZXhjZXB0aW9uOiBcIitJLm1lc3NhZ2UpfX0scmVhZGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGU7aWYoIUkubm9kZV9vcHMucmVhZGRpcil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7cmV0dXJuIEkubm9kZV9vcHMucmVhZGRpcihJKX0sdW5saW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSkubm9kZSxnPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwTm9kZShJLGcpLEM9aUkubWF5RGVsZXRlKEksZywhMSk7aWYoQyl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcihDKTtpZighSS5ub2RlX29wcy51bmxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzTW91bnRwb2ludChCKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigxMCk7dHJ5e2lJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUud2lsbERlbGV0ZVBhdGgoQSl9Y2F0Y2goSSl7UyhcIkZTLnRyYWNraW5nRGVsZWdhdGVbJ3dpbGxEZWxldGVQYXRoJ10oJ1wiK0ErXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9SS5ub2RlX29wcy51bmxpbmsoSSxnKSxpSS5kZXN0cm95Tm9kZShCKTt0cnl7aUkudHJhY2tpbmdEZWxlZ2F0ZS5vbkRlbGV0ZVBhdGgmJmlJLnRyYWNraW5nRGVsZWdhdGUub25EZWxldGVQYXRoKEEpfWNhdGNoKEkpe1MoXCJGUy50cmFja2luZ0RlbGVnYXRlWydvbkRlbGV0ZVBhdGgnXSgnXCIrQStcIicpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrSS5tZXNzYWdlKX19LHJlYWRsaW5rOmZ1bmN0aW9uKEEpe3ZhciBJPWlJLmxvb2t1cFBhdGgoQSkubm9kZTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0NCk7aWYoIUkubm9kZV9vcHMucmVhZGxpbmspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBDSS5yZXNvbHZlKGlJLmdldFBhdGgoSS5wYXJlbnQpLEkubm9kZV9vcHMucmVhZGxpbmsoSSkpfSxzdGF0OmZ1bmN0aW9uKEEsSSl7dmFyIGc9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KS5ub2RlO2lmKCFnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTtpZighZy5ub2RlX29wcy5nZXRhdHRyKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYzKTtyZXR1cm4gZy5ub2RlX29wcy5nZXRhdHRyKGcpfSxsc3RhdDpmdW5jdGlvbihBKXtyZXR1cm4gaUkuc3RhdChBLCEwKX0sY2htb2Q6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCO2lmKCEoQj1cInN0cmluZ1wiPT10eXBlb2YgQT9pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohZ30pLm5vZGU6QSkubm9kZV9vcHMuc2V0YXR0cil0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig2Myk7Qi5ub2RlX29wcy5zZXRhdHRyKEIse21vZGU6NDA5NSZJfC00MDk2JkIubW9kZSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2htb2Q6ZnVuY3Rpb24oQSxJKXtpSS5jaG1vZChBLEksITApfSxmY2htb2Q6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5nZXRTdHJlYW0oQSk7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2htb2QoZy5ub2RlLEkpfSxjaG93bjpmdW5jdGlvbihBLEksZyxCKXt2YXIgQztpZighKEM9XCJzdHJpbmdcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUJ9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO0Mubm9kZV9vcHMuc2V0YXR0cihDLHt0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxsY2hvd246ZnVuY3Rpb24oQSxJLGcpe2lJLmNob3duKEEsSSxnLCEwKX0sZmNob3duOmZ1bmN0aW9uKEEsSSxnKXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aUkuY2hvd24oQi5ub2RlLEksZyl9LHRydW5jYXRlOmZ1bmN0aW9uKEEsSSl7aWYoSTwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTt2YXIgZztpZighKGc9XCJzdHJpbmdcIj09dHlwZW9mIEE/aUkubG9va3VwUGF0aChBLHtmb2xsb3c6ITB9KS5ub2RlOkEpLm5vZGVfb3BzLnNldGF0dHIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNjMpO2lmKGlJLmlzRGlyKGcubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFpSS5pc0ZpbGUoZy5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIEI9aUkubm9kZVBlcm1pc3Npb25zKGcsXCJ3XCIpO2lmKEIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoQik7Zy5ub2RlX29wcy5zZXRhdHRyKGcse3NpemU6SSx0aW1lc3RhbXA6RGF0ZS5ub3coKX0pfSxmdHJ1bmNhdGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz1pSS5nZXRTdHJlYW0oQSk7aWYoIWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMD09KDIwOTcxNTUmZy5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lJLnRydW5jYXRlKGcubm9kZSxJKX0sdXRpbWU6ZnVuY3Rpb24oQSxJLGcpe3ZhciBCPWlJLmxvb2t1cFBhdGgoQSx7Zm9sbG93OiEwfSkubm9kZTtCLm5vZGVfb3BzLnNldGF0dHIoQix7dGltZXN0YW1wOk1hdGgubWF4KEksZyl9KX0sb3BlbjpmdW5jdGlvbihJLGcsQixDLFEpe2lmKFwiXCI9PT1JKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQ0KTt2YXIgRTtpZihCPXZvaWQgMD09PUI/NDM4OkIsQj02NCYoZz1cInN0cmluZ1wiPT10eXBlb2YgZz9pSS5tb2RlU3RyaW5nVG9GbGFncyhnKTpnKT80MDk1JkJ8MzI3Njg6MCxcIm9iamVjdFwiPT09RChJKSlFPUk7ZWxzZXtJPUJJLm5vcm1hbGl6ZShJKTt0cnl7RT1pSS5sb29rdXBQYXRoKEkse2ZvbGxvdzohKDEzMTA3MiZnKX0pLm5vZGV9Y2F0Y2goQSl7fX12YXIgaT0hMTtpZig2NCZnKWlmKEUpe2lmKDEyOCZnKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIwKX1lbHNlIEU9aUkubWtub2QoSSxCLDApLGk9ITA7aWYoIUUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKGlJLmlzQ2hyZGV2KEUubW9kZSkmJihnJj0tNTEzKSw2NTUzNiZnJiYhaUkuaXNEaXIoRS5tb2RlKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1NCk7aWYoIWkpe3ZhciBvPWlJLm1heU9wZW4oRSxnKTtpZihvKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKG8pfTUxMiZnJiZpSS50cnVuY2F0ZShFLDApLGcmPS02NDE7dmFyIGE9aUkuY3JlYXRlU3RyZWFtKHtub2RlOkUscGF0aDppSS5nZXRQYXRoKEUpLGZsYWdzOmcsc2Vla2FibGU6ITAscG9zaXRpb246MCxzdHJlYW1fb3BzOkUuc3RyZWFtX29wcyx1bmdvdHRlbjpbXSxlcnJvcjohMX0sQyxRKTthLnN0cmVhbV9vcHMub3BlbiYmYS5zdHJlYW1fb3BzLm9wZW4oYSksIUEubG9nUmVhZEZpbGVzfHwxJmd8fChpSS5yZWFkRmlsZXN8fChpSS5yZWFkRmlsZXM9e30pLEkgaW4gaUkucmVhZEZpbGVzfHwoaUkucmVhZEZpbGVzW0ldPTEsUyhcIkZTLnRyYWNraW5nRGVsZWdhdGUgZXJyb3Igb24gcmVhZCBmaWxlOiBcIitJKSkpO3RyeXtpZihpSS50cmFja2luZ0RlbGVnYXRlLm9uT3BlbkZpbGUpe3ZhciB3PTA7MSE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuUkVBRCksMCE9KDIwOTcxNTUmZykmJih3fD1pSS50cmFja2luZy5vcGVuRmxhZ3MuV1JJVEUpLGlJLnRyYWNraW5nRGVsZWdhdGUub25PcGVuRmlsZShJLHcpfX1jYXRjaChBKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25PcGVuRmlsZSddKCdcIitJK1wiJywgZmxhZ3MpIHRocmV3IGFuIGV4Y2VwdGlvbjogXCIrQS5tZXNzYWdlKX1yZXR1cm4gYX0sY2xvc2U6ZnVuY3Rpb24oQSl7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7QS5nZXRkZW50cyYmKEEuZ2V0ZGVudHM9bnVsbCk7dHJ5e0Euc3RyZWFtX29wcy5jbG9zZSYmQS5zdHJlYW1fb3BzLmNsb3NlKEEpfWNhdGNoKEEpe3Rocm93IEF9ZmluYWxseXtpSS5jbG9zZVN0cmVhbShBLmZkKX1BLmZkPW51bGx9LGlzQ2xvc2VkOmZ1bmN0aW9uKEEpe3JldHVybiBudWxsPT09QS5mZH0sbGxzZWVrOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZighQS5zZWVrYWJsZXx8IUEuc3RyZWFtX29wcy5sbHNlZWspdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNzApO2lmKDAhPWcmJjEhPWcmJjIhPWcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO3JldHVybiBBLnBvc2l0aW9uPUEuc3RyZWFtX29wcy5sbHNlZWsoQSxJLGcpLEEudW5nb3R0ZW49W10sQS5wb3NpdGlvbn0scmVhZDpmdW5jdGlvbihBLEksZyxCLEMpe2lmKEI8MHx8QzwwKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZigxPT0oMjA5NzE1NSZBLmZsYWdzKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihpSS5pc0RpcihBLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMzEpO2lmKCFBLnN0cmVhbV9vcHMucmVhZCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7dmFyIFE9dm9pZCAwIT09QztpZihRKXtpZighQS5zZWVrYWJsZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9ZWxzZSBDPUEucG9zaXRpb247dmFyIEU9QS5zdHJlYW1fb3BzLnJlYWQoQSxJLGcsQixDKTtyZXR1cm4gUXx8KEEucG9zaXRpb24rPUUpLEV9LHdyaXRlOmZ1bmN0aW9uKEEsSSxnLEIsQyxRKXtpZihCPDB8fEM8MCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOCk7aWYoaUkuaXNDbG9zZWQoQSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoMD09KDIwOTcxNTUmQS5mbGFncykpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7aWYoaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDMxKTtpZighQS5zdHJlYW1fb3BzLndyaXRlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDI4KTsxMDI0JkEuZmxhZ3MmJmlJLmxsc2VlayhBLDAsMik7dmFyIEU9dm9pZCAwIT09QztpZihFKXtpZighQS5zZWVrYWJsZSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig3MCl9ZWxzZSBDPUEucG9zaXRpb247dmFyIGk9QS5zdHJlYW1fb3BzLndyaXRlKEEsSSxnLEIsQyxRKTtFfHwoQS5wb3NpdGlvbis9aSk7dHJ5e0EucGF0aCYmaUkudHJhY2tpbmdEZWxlZ2F0ZS5vbldyaXRlVG9GaWxlJiZpSS50cmFja2luZ0RlbGVnYXRlLm9uV3JpdGVUb0ZpbGUoQS5wYXRoKX1jYXRjaChJKXtTKFwiRlMudHJhY2tpbmdEZWxlZ2F0ZVsnb25Xcml0ZVRvRmlsZSddKCdcIitBLnBhdGgrXCInKSB0aHJldyBhbiBleGNlcHRpb246IFwiK0kubWVzc2FnZSl9cmV0dXJuIGl9LGFsbG9jYXRlOmZ1bmN0aW9uKEEsSSxnKXtpZihpSS5pc0Nsb3NlZChBKSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtpZihJPDB8fGc8PTApdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjgpO2lmKDA9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDgpO2lmKCFpSS5pc0ZpbGUoQS5ub2RlLm1vZGUpJiYhaUkuaXNEaXIoQS5ub2RlLm1vZGUpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDQzKTtpZighQS5zdHJlYW1fb3BzLmFsbG9jYXRlKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDEzOCk7QS5zdHJlYW1fb3BzLmFsbG9jYXRlKEEsSSxnKX0sbW1hcDpmdW5jdGlvbihBLEksZyxCLEMsUSxFKXtpZigwIT0oMiZRKSYmMD09KDImRSkmJjIhPSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKDE9PSgyMDk3MTU1JkEuZmxhZ3MpKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDIpO2lmKCFBLnN0cmVhbV9vcHMubW1hcCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig0Myk7cmV0dXJuIEEuc3RyZWFtX29wcy5tbWFwKEEsSSxnLEIsQyxRLEUpfSxtc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3JldHVybiBBJiZBLnN0cmVhbV9vcHMubXN5bmM/QS5zdHJlYW1fb3BzLm1zeW5jKEEsSSxnLEIsQyk6MH0sbXVubWFwOmZ1bmN0aW9uKEEpe3JldHVybiAwfSxpb2N0bDpmdW5jdGlvbihBLEksZyl7aWYoIUEuc3RyZWFtX29wcy5pb2N0bCl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig1OSk7cmV0dXJuIEEuc3RyZWFtX29wcy5pb2N0bChBLEksZyl9LHJlYWRGaWxlOmZ1bmN0aW9uKEEsSSl7aWYoKEk9SXx8e30pLmZsYWdzPUkuZmxhZ3N8fFwiclwiLEkuZW5jb2Rpbmc9SS5lbmNvZGluZ3x8XCJiaW5hcnlcIixcInV0ZjhcIiE9PUkuZW5jb2RpbmcmJlwiYmluYXJ5XCIhPT1JLmVuY29kaW5nKXRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbmNvZGluZyB0eXBlIFwiJytJLmVuY29kaW5nKydcIicpO3ZhciBnLEI9aUkub3BlbihBLEkuZmxhZ3MpLEM9aUkuc3RhdChBKS5zaXplLFE9bmV3IFVpbnQ4QXJyYXkoQyk7cmV0dXJuIGlJLnJlYWQoQixRLDAsQywwKSxcInV0ZjhcIj09PUkuZW5jb2Rpbmc/Zz1kKFEsMCk6XCJiaW5hcnlcIj09PUkuZW5jb2RpbmcmJihnPVEpLGlJLmNsb3NlKEIpLGd9LHdyaXRlRmlsZTpmdW5jdGlvbihBLEksZyl7KGc9Z3x8e30pLmZsYWdzPWcuZmxhZ3N8fFwid1wiO3ZhciBCPWlJLm9wZW4oQSxnLmZsYWdzLGcubW9kZSk7aWYoXCJzdHJpbmdcIj09dHlwZW9mIEkpe3ZhciBDPW5ldyBVaW50OEFycmF5KFcoSSkrMSksUT1sKEksQywwLEMubGVuZ3RoKTtpSS53cml0ZShCLEMsMCxRLHZvaWQgMCxnLmNhbk93bil9ZWxzZXtpZighQXJyYXlCdWZmZXIuaXNWaWV3KEkpKXRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIGRhdGEgdHlwZVwiKTtpSS53cml0ZShCLEksMCxJLmJ5dGVMZW5ndGgsdm9pZCAwLGcuY2FuT3duKX1pSS5jbG9zZShCKX0sY3dkOmZ1bmN0aW9uKCl7cmV0dXJuIGlJLmN1cnJlbnRQYXRofSxjaGRpcjpmdW5jdGlvbihBKXt2YXIgST1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pO2lmKG51bGw9PT1JLm5vZGUpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNDQpO2lmKCFpSS5pc0RpcihJLm5vZGUubW9kZSkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoNTQpO3ZhciBnPWlJLm5vZGVQZXJtaXNzaW9ucyhJLm5vZGUsXCJ4XCIpO2lmKGcpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoZyk7aUkuY3VycmVudFBhdGg9SS5wYXRofSxjcmVhdGVEZWZhdWx0RGlyZWN0b3JpZXM6ZnVuY3Rpb24oKXtpSS5ta2RpcihcIi90bXBcIiksaUkubWtkaXIoXCIvaG9tZVwiKSxpSS5ta2RpcihcIi9ob21lL3dlYl91c2VyXCIpfSxjcmVhdGVEZWZhdWx0RGV2aWNlczpmdW5jdGlvbigpe3ZhciBBO2lmKGlJLm1rZGlyKFwiL2RldlwiKSxpSS5yZWdpc3RlckRldmljZShpSS5tYWtlZGV2KDEsMykse3JlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sd3JpdGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtyZXR1cm4gQn19KSxpSS5ta2RldihcIi9kZXYvbnVsbFwiLGlJLm1ha2VkZXYoMSwzKSksUUkucmVnaXN0ZXIoaUkubWFrZWRldig1LDApLFFJLmRlZmF1bHRfdHR5X29wcyksUUkucmVnaXN0ZXIoaUkubWFrZWRldig2LDApLFFJLmRlZmF1bHRfdHR5MV9vcHMpLGlJLm1rZGV2KFwiL2Rldi90dHlcIixpSS5tYWtlZGV2KDUsMCkpLGlJLm1rZGV2KFwiL2Rldi90dHkxXCIsaUkubWFrZWRldig2LDApKSxcIm9iamVjdFwiPT09KFwidW5kZWZpbmVkXCI9PXR5cGVvZiBjcnlwdG8/XCJ1bmRlZmluZWRcIjpEKGNyeXB0bykpJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXt2YXIgST1uZXcgVWludDhBcnJheSgxKTtBPWZ1bmN0aW9uKCl7cmV0dXJuIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMoSSksSVswXX19ZWxzZSBpZih3KXRyeXt2YXIgQj1nKDY1NCk7QT1mdW5jdGlvbigpe3JldHVybiBCLnJhbmRvbUJ5dGVzKDEpWzBdfX1jYXRjaChBKXt9QXx8KEE9ZnVuY3Rpb24oKXtKQShcInJhbmRvbV9kZXZpY2VcIil9KSxpSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJyYW5kb21cIixBKSxpSS5jcmVhdGVEZXZpY2UoXCIvZGV2XCIsXCJ1cmFuZG9tXCIsQSksaUkubWtkaXIoXCIvZGV2L3NobVwiKSxpSS5ta2RpcihcIi9kZXYvc2htL3RtcFwiKX0sY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzOmZ1bmN0aW9uKCl7aUkubWtkaXIoXCIvcHJvY1wiKSxpSS5ta2RpcihcIi9wcm9jL3NlbGZcIiksaUkubWtkaXIoXCIvcHJvYy9zZWxmL2ZkXCIpLGlJLm1vdW50KHttb3VudDpmdW5jdGlvbigpe3ZhciBBPWlJLmNyZWF0ZU5vZGUoXCIvcHJvYy9zZWxmXCIsXCJmZFwiLDE2ODk1LDczKTtyZXR1cm4gQS5ub2RlX29wcz17bG9va3VwOmZ1bmN0aW9uKEEsSSl7dmFyIGc9K0ksQj1pSS5nZXRTdHJlYW0oZyk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7dmFyIEM9e3BhcmVudDpudWxsLG1vdW50Onttb3VudHBvaW50OlwiZmFrZVwifSxub2RlX29wczp7cmVhZGxpbms6ZnVuY3Rpb24oKXtyZXR1cm4gQi5wYXRofX19O3JldHVybiBDLnBhcmVudD1DLEN9fSxBfX0se30sXCIvcHJvYy9zZWxmL2ZkXCIpfSxjcmVhdGVTdGFuZGFyZFN0cmVhbXM6ZnVuY3Rpb24oKXtBLnN0ZGluP2lJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInN0ZGluXCIsQS5zdGRpbik6aUkuc3ltbGluayhcIi9kZXYvdHR5XCIsXCIvZGV2L3N0ZGluXCIpLEEuc3Rkb3V0P2lJLmNyZWF0ZURldmljZShcIi9kZXZcIixcInN0ZG91dFwiLG51bGwsQS5zdGRvdXQpOmlJLnN5bWxpbmsoXCIvZGV2L3R0eVwiLFwiL2Rldi9zdGRvdXRcIiksQS5zdGRlcnI/aUkuY3JlYXRlRGV2aWNlKFwiL2RldlwiLFwic3RkZXJyXCIsbnVsbCxBLnN0ZGVycik6aUkuc3ltbGluayhcIi9kZXYvdHR5MVwiLFwiL2Rldi9zdGRlcnJcIiksaUkub3BlbihcIi9kZXYvc3RkaW5cIixcInJcIiksaUkub3BlbihcIi9kZXYvc3Rkb3V0XCIsXCJ3XCIpLGlJLm9wZW4oXCIvZGV2L3N0ZGVyclwiLFwid1wiKX0sZW5zdXJlRXJybm9FcnJvcjpmdW5jdGlvbigpe2lJLkVycm5vRXJyb3J8fChpSS5FcnJub0Vycm9yPWZ1bmN0aW9uKEEsSSl7dGhpcy5ub2RlPUksdGhpcy5zZXRFcnJubz1mdW5jdGlvbihBKXt0aGlzLmVycm5vPUF9LHRoaXMuc2V0RXJybm8oQSksdGhpcy5tZXNzYWdlPVwiRlMgZXJyb3JcIn0saUkuRXJybm9FcnJvci5wcm90b3R5cGU9bmV3IEVycm9yLGlJLkVycm5vRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yPWlJLkVycm5vRXJyb3IsWzQ0XS5mb3JFYWNoKChmdW5jdGlvbihBKXtpSS5nZW5lcmljRXJyb3JzW0FdPW5ldyBpSS5FcnJub0Vycm9yKEEpLGlJLmdlbmVyaWNFcnJvcnNbQV0uc3RhY2s9XCI8Z2VuZXJpYyBlcnJvciwgbm8gc3RhY2s+XCJ9KSkpfSxzdGF0aWNJbml0OmZ1bmN0aW9uKCl7aUkuZW5zdXJlRXJybm9FcnJvcigpLGlJLm5hbWVUYWJsZT1uZXcgQXJyYXkoNDA5NiksaUkubW91bnQoRUkse30sXCIvXCIpLGlJLmNyZWF0ZURlZmF1bHREaXJlY3RvcmllcygpLGlJLmNyZWF0ZURlZmF1bHREZXZpY2VzKCksaUkuY3JlYXRlU3BlY2lhbERpcmVjdG9yaWVzKCksaUkuZmlsZXN5c3RlbXM9e01FTUZTOkVJfX0saW5pdDpmdW5jdGlvbihJLGcsQil7aUkuaW5pdC5pbml0aWFsaXplZD0hMCxpSS5lbnN1cmVFcnJub0Vycm9yKCksQS5zdGRpbj1JfHxBLnN0ZGluLEEuc3Rkb3V0PWd8fEEuc3Rkb3V0LEEuc3RkZXJyPUJ8fEEuc3RkZXJyLGlJLmNyZWF0ZVN0YW5kYXJkU3RyZWFtcygpfSxxdWl0OmZ1bmN0aW9uKCl7aUkuaW5pdC5pbml0aWFsaXplZD0hMTt2YXIgST1BLl9mZmx1c2g7SSYmSSgwKTtmb3IodmFyIGc9MDtnPGlJLnN0cmVhbXMubGVuZ3RoO2crKyl7dmFyIEI9aUkuc3RyZWFtc1tnXTtCJiZpSS5jbG9zZShCKX19LGdldE1vZGU6ZnVuY3Rpb24oQSxJKXt2YXIgZz0wO3JldHVybiBBJiYoZ3w9MzY1KSxJJiYoZ3w9MTQ2KSxnfSxqb2luUGF0aDpmdW5jdGlvbihBLEkpe3ZhciBnPUJJLmpvaW4uYXBwbHkobnVsbCxBKTtyZXR1cm4gSSYmXCIvXCI9PWdbMF0mJihnPWcuc3Vic3RyKDEpKSxnfSxhYnNvbHV0ZVBhdGg6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gQ0kucmVzb2x2ZShJLEEpfSxzdGFuZGFyZGl6ZVBhdGg6ZnVuY3Rpb24oQSl7cmV0dXJuIEJJLm5vcm1hbGl6ZShBKX0sZmluZE9iamVjdDpmdW5jdGlvbihBLEkpe3ZhciBnPWlJLmFuYWx5emVQYXRoKEEsSSk7cmV0dXJuIGcuZXhpc3RzP2cub2JqZWN0OihJSShnLmVycm9yKSxudWxsKX0sYW5hbHl6ZVBhdGg6ZnVuY3Rpb24oQSxJKXt0cnl7QT0oQj1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohSX0pKS5wYXRofWNhdGNoKEEpe312YXIgZz17aXNSb290OiExLGV4aXN0czohMSxlcnJvcjowLG5hbWU6bnVsbCxwYXRoOm51bGwsb2JqZWN0Om51bGwscGFyZW50RXhpc3RzOiExLHBhcmVudFBhdGg6bnVsbCxwYXJlbnRPYmplY3Q6bnVsbH07dHJ5e3ZhciBCPWlJLmxvb2t1cFBhdGgoQSx7cGFyZW50OiEwfSk7Zy5wYXJlbnRFeGlzdHM9ITAsZy5wYXJlbnRQYXRoPUIucGF0aCxnLnBhcmVudE9iamVjdD1CLm5vZGUsZy5uYW1lPUJJLmJhc2VuYW1lKEEpLEI9aUkubG9va3VwUGF0aChBLHtmb2xsb3c6IUl9KSxnLmV4aXN0cz0hMCxnLnBhdGg9Qi5wYXRoLGcub2JqZWN0PUIubm9kZSxnLm5hbWU9Qi5ub2RlLm5hbWUsZy5pc1Jvb3Q9XCIvXCI9PT1CLnBhdGh9Y2F0Y2goQSl7Zy5lcnJvcj1BLmVycm5vfXJldHVybiBnfSxjcmVhdGVGb2xkZXI6ZnVuY3Rpb24oQSxJLGcsQil7dmFyIEM9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLFE9aUkuZ2V0TW9kZShnLEIpO3JldHVybiBpSS5ta2RpcihDLFEpfSxjcmVhdGVQYXRoOmZ1bmN0aW9uKEEsSSxnLEIpe0E9XCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpO2Zvcih2YXIgQz1JLnNwbGl0KFwiL1wiKS5yZXZlcnNlKCk7Qy5sZW5ndGg7KXt2YXIgUT1DLnBvcCgpO2lmKFEpe3ZhciBFPUJJLmpvaW4yKEEsUSk7dHJ5e2lJLm1rZGlyKEUpfWNhdGNoKEEpe31BPUV9fXJldHVybiBFfSxjcmVhdGVGaWxlOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpLEU9aUkuZ2V0TW9kZShCLEMpO3JldHVybiBpSS5jcmVhdGUoUSxFKX0sY3JlYXRlRGF0YUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDLFEpe3ZhciBFPUk/Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpOkEsaT1pSS5nZXRNb2RlKEIsQyksbz1pSS5jcmVhdGUoRSxpKTtpZihnKXtpZihcInN0cmluZ1wiPT10eXBlb2YgZyl7Zm9yKHZhciBEPW5ldyBBcnJheShnLmxlbmd0aCksYT0wLHc9Zy5sZW5ndGg7YTx3OysrYSlEW2FdPWcuY2hhckNvZGVBdChhKTtnPUR9aUkuY2htb2QobywxNDZ8aSk7dmFyIEY9aUkub3BlbihvLFwid1wiKTtpSS53cml0ZShGLGcsMCxnLmxlbmd0aCwwLFEpLGlJLmNsb3NlKEYpLGlJLmNobW9kKG8saSl9cmV0dXJuIG99LGNyZWF0ZURldmljZTpmdW5jdGlvbihBLEksZyxCKXt2YXIgQz1CSS5qb2luMihcInN0cmluZ1wiPT10eXBlb2YgQT9BOmlJLmdldFBhdGgoQSksSSksUT1pSS5nZXRNb2RlKCEhZywhIUIpO2lJLmNyZWF0ZURldmljZS5tYWpvcnx8KGlJLmNyZWF0ZURldmljZS5tYWpvcj02NCk7dmFyIEU9aUkubWFrZWRldihpSS5jcmVhdGVEZXZpY2UubWFqb3IrKywwKTtyZXR1cm4gaUkucmVnaXN0ZXJEZXZpY2UoRSx7b3BlbjpmdW5jdGlvbihBKXtBLnNlZWthYmxlPSExfSxjbG9zZTpmdW5jdGlvbihBKXtCJiZCLmJ1ZmZlciYmQi5idWZmZXIubGVuZ3RoJiZCKDEwKX0scmVhZDpmdW5jdGlvbihBLEksQixDLFEpe2Zvcih2YXIgRT0wLGk9MDtpPEM7aSsrKXt2YXIgbzt0cnl7bz1nKCl9Y2F0Y2goQSl7dGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpfWlmKHZvaWQgMD09PW8mJjA9PT1FKXRocm93IG5ldyBpSS5FcnJub0Vycm9yKDYpO2lmKG51bGw9PW8pYnJlYWs7RSsrLElbQitpXT1vfXJldHVybiBFJiYoQS5ub2RlLnRpbWVzdGFtcD1EYXRlLm5vdygpKSxFfSx3cml0ZTpmdW5jdGlvbihBLEksZyxDLFEpe2Zvcih2YXIgRT0wO0U8QztFKyspdHJ5e0IoSVtnK0VdKX1jYXRjaChBKXt0aHJvdyBuZXcgaUkuRXJybm9FcnJvcigyOSl9cmV0dXJuIEMmJihBLm5vZGUudGltZXN0YW1wPURhdGUubm93KCkpLEV9fSksaUkubWtkZXYoQyxRLEUpfSxjcmVhdGVMaW5rOmZ1bmN0aW9uKEEsSSxnLEIsQyl7dmFyIFE9Qkkuam9pbjIoXCJzdHJpbmdcIj09dHlwZW9mIEE/QTppSS5nZXRQYXRoKEEpLEkpO3JldHVybiBpSS5zeW1saW5rKGcsUSl9LGZvcmNlTG9hZEZpbGU6ZnVuY3Rpb24oQSl7aWYoQS5pc0RldmljZXx8QS5pc0ZvbGRlcnx8QS5saW5rfHxBLmNvbnRlbnRzKXJldHVybiEwO3ZhciBJPSEwO2lmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCl0aHJvdyBuZXcgRXJyb3IoXCJMYXp5IGxvYWRpbmcgc2hvdWxkIGhhdmUgYmVlbiBwZXJmb3JtZWQgKGNvbnRlbnRzIHNldCkgaW4gY3JlYXRlTGF6eUZpbGUsIGJ1dCBpdCB3YXMgbm90LiBMYXp5IGxvYWRpbmcgb25seSB3b3JrcyBpbiB3ZWIgd29ya2Vycy4gVXNlIC0tZW1iZWQtZmlsZSBvciAtLXByZWxvYWQtZmlsZSBpbiBlbWNjIG9uIHRoZSBtYWluIHRocmVhZC5cIik7aWYoIUcpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGxvYWQgd2l0aG91dCByZWFkKCkgb3IgWE1MSHR0cFJlcXVlc3QuXCIpO3RyeXtBLmNvbnRlbnRzPVhnKEcoQS51cmwpLCEwKSxBLnVzZWRCeXRlcz1BLmNvbnRlbnRzLmxlbmd0aH1jYXRjaChBKXtJPSExfXJldHVybiBJfHxJSSgyOSksSX0sY3JlYXRlTGF6eUZpbGU6ZnVuY3Rpb24oQSxJLGcsQixDKXtmdW5jdGlvbiBRKCl7dGhpcy5sZW5ndGhLbm93bj0hMSx0aGlzLmNodW5rcz1bXX1pZihRLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oQSl7aWYoIShBPnRoaXMubGVuZ3RoLTF8fEE8MCkpe3ZhciBJPUEldGhpcy5jaHVua1NpemUsZz1BL3RoaXMuY2h1bmtTaXplfDA7cmV0dXJuIHRoaXMuZ2V0dGVyKGcpW0ldfX0sUS5wcm90b3R5cGUuc2V0RGF0YUdldHRlcj1mdW5jdGlvbihBKXt0aGlzLmdldHRlcj1BfSxRLnByb3RvdHlwZS5jYWNoZUxlbmd0aD1mdW5jdGlvbigpe3ZhciBBPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihBLm9wZW4oXCJIRUFEXCIsZywhMSksQS5zZW5kKG51bGwpLCEoQS5zdGF0dXM+PTIwMCYmQS5zdGF0dXM8MzAwfHwzMDQ9PT1BLnN0YXR1cykpdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgbG9hZCBcIitnK1wiLiBTdGF0dXM6IFwiK0Euc3RhdHVzKTt2YXIgSSxCPU51bWJlcihBLmdldFJlc3BvbnNlSGVhZGVyKFwiQ29udGVudC1sZW5ndGhcIikpLEM9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcIkFjY2VwdC1SYW5nZXNcIikpJiZcImJ5dGVzXCI9PT1JLFE9KEk9QS5nZXRSZXNwb25zZUhlYWRlcihcIkNvbnRlbnQtRW5jb2RpbmdcIikpJiZcImd6aXBcIj09PUksRT0xMDQ4NTc2O0N8fChFPUIpO3ZhciBpPXRoaXM7aS5zZXREYXRhR2V0dGVyKChmdW5jdGlvbihBKXt2YXIgST1BKkUsQz0oQSsxKSpFLTE7aWYoQz1NYXRoLm1pbihDLEItMSksdm9pZCAwPT09aS5jaHVua3NbQV0mJihpLmNodW5rc1tBXT1mdW5jdGlvbihBLEkpe2lmKEE+SSl0aHJvdyBuZXcgRXJyb3IoXCJpbnZhbGlkIHJhbmdlIChcIitBK1wiLCBcIitJK1wiKSBvciBubyBieXRlcyByZXF1ZXN0ZWQhXCIpO2lmKEk+Qi0xKXRocm93IG5ldyBFcnJvcihcIm9ubHkgXCIrQitcIiBieXRlcyBhdmFpbGFibGUhIHByb2dyYW1tZXIgZXJyb3IhXCIpO3ZhciBDPW5ldyBYTUxIdHRwUmVxdWVzdDtpZihDLm9wZW4oXCJHRVRcIixnLCExKSxCIT09RSYmQy5zZXRSZXF1ZXN0SGVhZGVyKFwiUmFuZ2VcIixcImJ5dGVzPVwiK0ErXCItXCIrSSksXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFVpbnQ4QXJyYXkmJihDLnJlc3BvbnNlVHlwZT1cImFycmF5YnVmZmVyXCIpLEMub3ZlcnJpZGVNaW1lVHlwZSYmQy5vdmVycmlkZU1pbWVUeXBlKFwidGV4dC9wbGFpbjsgY2hhcnNldD14LXVzZXItZGVmaW5lZFwiKSxDLnNlbmQobnVsbCksIShDLnN0YXR1cz49MjAwJiZDLnN0YXR1czwzMDB8fDMwND09PUMuc3RhdHVzKSl0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBsb2FkIFwiK2crXCIuIFN0YXR1czogXCIrQy5zdGF0dXMpO3JldHVybiB2b2lkIDAhPT1DLnJlc3BvbnNlP25ldyBVaW50OEFycmF5KEMucmVzcG9uc2V8fFtdKTpYZyhDLnJlc3BvbnNlVGV4dHx8XCJcIiwhMCl9KEksQykpLHZvaWQgMD09PWkuY2h1bmtzW0FdKXRocm93IG5ldyBFcnJvcihcImRvWEhSIGZhaWxlZCFcIik7cmV0dXJuIGkuY2h1bmtzW0FdfSkpLCFRJiZCfHwoRT1CPTEsQj10aGlzLmdldHRlcigwKS5sZW5ndGgsRT1CLHQoXCJMYXp5RmlsZXMgb24gZ3ppcCBmb3JjZXMgZG93bmxvYWQgb2YgdGhlIHdob2xlIGZpbGUgd2hlbiBsZW5ndGggaXMgYWNjZXNzZWRcIikpLHRoaXMuX2xlbmd0aD1CLHRoaXMuX2NodW5rU2l6ZT1FLHRoaXMubGVuZ3RoS25vd249ITB9LFwidW5kZWZpbmVkXCIhPXR5cGVvZiBYTUxIdHRwUmVxdWVzdCl7aWYoIW8pdGhyb3dcIkNhbm5vdCBkbyBzeW5jaHJvbm91cyBiaW5hcnkgWEhScyBvdXRzaWRlIHdlYndvcmtlcnMgaW4gbW9kZXJuIGJyb3dzZXJzLiBVc2UgLS1lbWJlZC1maWxlIG9yIC0tcHJlbG9hZC1maWxlIGluIGVtY2NcIjt2YXIgRT1uZXcgUTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhFLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlbmd0aEtub3dufHx0aGlzLmNhY2hlTGVuZ3RoKCksdGhpcy5fbGVuZ3RofX0sY2h1bmtTaXplOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGhLbm93bnx8dGhpcy5jYWNoZUxlbmd0aCgpLHRoaXMuX2NodW5rU2l6ZX19fSk7dmFyIGk9e2lzRGV2aWNlOiExLGNvbnRlbnRzOkV9fWVsc2UgaT17aXNEZXZpY2U6ITEsdXJsOmd9O3ZhciBEPWlJLmNyZWF0ZUZpbGUoQSxJLGksQixDKTtpLmNvbnRlbnRzP0QuY29udGVudHM9aS5jb250ZW50czppLnVybCYmKEQuY29udGVudHM9bnVsbCxELnVybD1pLnVybCksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRCx7dXNlZEJ5dGVzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50cy5sZW5ndGh9fX0pO3ZhciBhPXt9O3JldHVybiBPYmplY3Qua2V5cyhELnN0cmVhbV9vcHMpLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPUQuc3RyZWFtX29wc1tBXTthW0FdPWZ1bmN0aW9uKCl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3JldHVybiBJLmFwcGx5KG51bGwsYXJndW1lbnRzKX19KSksYS5yZWFkPWZ1bmN0aW9uKEEsSSxnLEIsQyl7aWYoIWlJLmZvcmNlTG9hZEZpbGUoRCkpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoMjkpO3ZhciBRPUEubm9kZS5jb250ZW50cztpZihDPj1RLmxlbmd0aClyZXR1cm4gMDt2YXIgRT1NYXRoLm1pbihRLmxlbmd0aC1DLEIpO2lmKFEuc2xpY2UpZm9yKHZhciBpPTA7aTxFO2krKylJW2craV09UVtDK2ldO2Vsc2UgZm9yKGk9MDtpPEU7aSsrKUlbZytpXT1RLmdldChDK2kpO3JldHVybiBFfSxELnN0cmVhbV9vcHM9YSxEfSxjcmVhdGVQcmVsb2FkZWRGaWxlOmZ1bmN0aW9uKEksZyxCLEMsUSxFLGksbyxELGEpe0Jyb3dzZXIuaW5pdCgpO3ZhciB3PWc/Q0kucmVzb2x2ZShCSS5qb2luMihJLGcpKTpJO2Z1bmN0aW9uIEYoQil7ZnVuY3Rpb24gRihBKXthJiZhKCksb3x8aUkuY3JlYXRlRGF0YUZpbGUoSSxnLEEsQyxRLEQpLEUmJkUoKSxlQSgpfXZhciBHPSExO0EucHJlbG9hZFBsdWdpbnMuZm9yRWFjaCgoZnVuY3Rpb24oQSl7R3x8QS5jYW5IYW5kbGUodykmJihBLmhhbmRsZShCLHcsRiwoZnVuY3Rpb24oKXtpJiZpKCksZUEoKX0pKSxHPSEwKX0pKSxHfHxGKEIpfVlBKCksXCJzdHJpbmdcIj09dHlwZW9mIEI/QnJvd3Nlci5hc3luY0xvYWQoQiwoZnVuY3Rpb24oQSl7RihBKX0pLGkpOkYoQil9LGluZGV4ZWREQjpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cuaW5kZXhlZERCfHx3aW5kb3cubW96SW5kZXhlZERCfHx3aW5kb3cud2Via2l0SW5kZXhlZERCfHx3aW5kb3cubXNJbmRleGVkREJ9LERCX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm5cIkVNX0ZTX1wiK3dpbmRvdy5sb2NhdGlvbi5wYXRobmFtZX0sREJfVkVSU0lPTjoyMCxEQl9TVE9SRV9OQU1FOlwiRklMRV9EQVRBXCIsc2F2ZUZpbGVzVG9EQjpmdW5jdGlvbihBLEksZyl7ST1JfHxmdW5jdGlvbigpe30sZz1nfHxmdW5jdGlvbigpe307dmFyIEI9aUkuaW5kZXhlZERCKCk7dHJ5e3ZhciBDPUIub3BlbihpSS5EQl9OQU1FKCksaUkuREJfVkVSU0lPTil9Y2F0Y2goQSl7cmV0dXJuIGcoQSl9Qy5vbnVwZ3JhZGVuZWVkZWQ9ZnVuY3Rpb24oKXt0KFwiY3JlYXRpbmcgZGJcIiksQy5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSl9LEMub25zdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIEI9Qy5yZXN1bHQudHJhbnNhY3Rpb24oW2lJLkRCX1NUT1JFX05BTUVdLFwicmVhZHdyaXRlXCIpLFE9Qi5vYmplY3RTdG9yZShpSS5EQl9TVE9SRV9OQU1FKSxFPTAsaT0wLG89QS5sZW5ndGg7ZnVuY3Rpb24gRCgpezA9PWk/SSgpOmcoKX1BLmZvckVhY2goKGZ1bmN0aW9uKEEpe3ZhciBJPVEucHV0KGlJLmFuYWx5emVQYXRoKEEpLm9iamVjdC5jb250ZW50cyxBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpeysrRStpPT1vJiZEKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe2krKyxFK2k9PW8mJkQoKX19KSksQi5vbmVycm9yPWd9LEMub25lcnJvcj1nfSxsb2FkRmlsZXNGcm9tREI6ZnVuY3Rpb24oQSxJLGcpe0k9SXx8ZnVuY3Rpb24oKXt9LGc9Z3x8ZnVuY3Rpb24oKXt9O3ZhciBCPWlJLmluZGV4ZWREQigpO3RyeXt2YXIgQz1CLm9wZW4oaUkuREJfTkFNRSgpLGlJLkRCX1ZFUlNJT04pfWNhdGNoKEEpe3JldHVybiBnKEEpfUMub251cGdyYWRlbmVlZGVkPWcsQy5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgQj1DLnJlc3VsdDt0cnl7dmFyIFE9Qi50cmFuc2FjdGlvbihbaUkuREJfU1RPUkVfTkFNRV0sXCJyZWFkb25seVwiKX1jYXRjaChBKXtyZXR1cm4gdm9pZCBnKEEpfXZhciBFPVEub2JqZWN0U3RvcmUoaUkuREJfU1RPUkVfTkFNRSksaT0wLG89MCxEPUEubGVuZ3RoO2Z1bmN0aW9uIGEoKXswPT1vP0koKTpnKCl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXt2YXIgST1FLmdldChBKTtJLm9uc3VjY2Vzcz1mdW5jdGlvbigpe2lJLmFuYWx5emVQYXRoKEEpLmV4aXN0cyYmaUkudW5saW5rKEEpLGlJLmNyZWF0ZURhdGFGaWxlKEJJLmRpcm5hbWUoQSksQkkuYmFzZW5hbWUoQSksSS5yZXN1bHQsITAsITAsITApLCsraStvPT1EJiZhKCl9LEkub25lcnJvcj1mdW5jdGlvbigpe28rKyxpK289PUQmJmEoKX19KSksUS5vbmVycm9yPWd9LEMub25lcnJvcj1nfX0sb0k9e0RFRkFVTFRfUE9MTE1BU0s6NSxtYXBwaW5nczp7fSx1bWFzazo1MTEsY2FsY3VsYXRlQXQ6ZnVuY3Rpb24oQSxJKXtpZihcIi9cIiE9PUlbMF0pe3ZhciBnO2lmKC0xMDA9PT1BKWc9aUkuY3dkKCk7ZWxzZXt2YXIgQj1pSS5nZXRTdHJlYW0oQSk7aWYoIUIpdGhyb3cgbmV3IGlJLkVycm5vRXJyb3IoOCk7Zz1CLnBhdGh9ST1CSS5qb2luMihnLEkpfXJldHVybiBJfSxkb1N0YXQ6ZnVuY3Rpb24oQSxJLGcpe3RyeXt2YXIgQj1BKEkpfWNhdGNoKEEpe2lmKEEmJkEubm9kZSYmQkkubm9ybWFsaXplKEkpIT09Qkkubm9ybWFsaXplKGlJLmdldFBhdGgoQS5ub2RlKSkpcmV0dXJuLTU0O3Rocm93IEF9cmV0dXJuIEFBW2c+PjJdPUIuZGV2LEFBW2crND4+Ml09MCxBQVtnKzg+PjJdPUIuaW5vLEFBW2crMTI+PjJdPUIubW9kZSxBQVtnKzE2Pj4yXT1CLm5saW5rLEFBW2crMjA+PjJdPUIudWlkLEFBW2crMjQ+PjJdPUIuZ2lkLEFBW2crMjg+PjJdPUIucmRldixBQVtnKzMyPj4yXT0wLGRBPVtCLnNpemU+Pj4wLChxQT1CLnNpemUsK01BKHFBKT49MT9xQT4wPygwfHJBKCtjQShxQS80Mjk0OTY3Mjk2KSw0Mjk0OTY3Mjk1KSk+Pj4wOn5+K25BKChxQS0rKH5+cUE+Pj4wKSkvNDI5NDk2NzI5Nik+Pj4wOjApXSxBQVtnKzQwPj4yXT1kQVswXSxBQVtnKzQ0Pj4yXT1kQVsxXSxBQVtnKzQ4Pj4yXT00MDk2LEFBW2crNTI+PjJdPUIuYmxvY2tzLEFBW2crNTY+PjJdPUIuYXRpbWUuZ2V0VGltZSgpLzFlM3wwLEFBW2crNjA+PjJdPTAsQUFbZys2ND4+Ml09Qi5tdGltZS5nZXRUaW1lKCkvMWUzfDAsQUFbZys2OD4+Ml09MCxBQVtnKzcyPj4yXT1CLmN0aW1lLmdldFRpbWUoKS8xZTN8MCxBQVtnKzc2Pj4yXT0wLGRBPVtCLmlubz4+PjAsKHFBPUIuaW5vLCtNQShxQSk+PTE/cUE+MD8oMHxyQSgrY0EocUEvNDI5NDk2NzI5NiksNDI5NDk2NzI5NSkpPj4+MDp+fituQSgocUEtKyh+fnFBPj4+MCkpLzQyOTQ5NjcyOTYpPj4+MDowKV0sQUFbZys4MD4+Ml09ZEFbMF0sQUFbZys4ND4+Ml09ZEFbMV0sMH0sZG9Nc3luYzpmdW5jdGlvbihBLEksZyxCLEMpe3ZhciBRPXouc2xpY2UoQSxBK2cpO2lJLm1zeW5jKEksUSxDLGcsQil9LGRvTWtkaXI6ZnVuY3Rpb24oQSxJKXtyZXR1cm5cIi9cIj09PShBPUJJLm5vcm1hbGl6ZShBKSlbQS5sZW5ndGgtMV0mJihBPUEuc3Vic3RyKDAsQS5sZW5ndGgtMSkpLGlJLm1rZGlyKEEsSSwwKSwwfSxkb01rbm9kOmZ1bmN0aW9uKEEsSSxnKXtzd2l0Y2goNjE0NDAmSSl7Y2FzZSAzMjc2ODpjYXNlIDgxOTI6Y2FzZSAyNDU3NjpjYXNlIDQwOTY6Y2FzZSA0OTE1MjpicmVhaztkZWZhdWx0OnJldHVybi0yOH1yZXR1cm4gaUkubWtub2QoQSxJLGcpLDB9LGRvUmVhZGxpbms6ZnVuY3Rpb24oQSxJLGcpe2lmKGc8PTApcmV0dXJuLTI4O3ZhciBCPWlJLnJlYWRsaW5rKEEpLEM9TWF0aC5taW4oZyxXKEIpKSxRPXZbSStDXTtyZXR1cm4gdShCLEksZysxKSx2W0krQ109USxDfSxkb0FjY2VzczpmdW5jdGlvbihBLEkpe2lmKC04JkkpcmV0dXJuLTI4O3ZhciBnO2lmKCEoZz1pSS5sb29rdXBQYXRoKEEse2ZvbGxvdzohMH0pLm5vZGUpKXJldHVybi00NDt2YXIgQj1cIlwiO3JldHVybiA0JkkmJihCKz1cInJcIiksMiZJJiYoQis9XCJ3XCIpLDEmSSYmKEIrPVwieFwiKSxCJiZpSS5ub2RlUGVybWlzc2lvbnMoZyxCKT8tMjowfSxkb0R1cDpmdW5jdGlvbihBLEksZyl7dmFyIEI9aUkuZ2V0U3RyZWFtKGcpO3JldHVybiBCJiZpSS5jbG9zZShCKSxpSS5vcGVuKEEsSSwwLGcsZykuZmR9LGRvUmVhZHY6ZnVuY3Rpb24oQSxJLGcsQil7Zm9yKHZhciBDPTAsUT0wO1E8ZztRKyspe3ZhciBFPUFBW0krOCpRPj4yXSxpPUFBW0krKDgqUSs0KT4+Ml0sbz1pSS5yZWFkKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO2lmKEMrPW8sbzxpKWJyZWFrfXJldHVybiBDfSxkb1dyaXRldjpmdW5jdGlvbihBLEksZyxCKXtmb3IodmFyIEM9MCxRPTA7UTxnO1ErKyl7dmFyIEU9QUFbSSs4KlE+PjJdLGk9QUFbSSsoOCpRKzQpPj4yXSxvPWlJLndyaXRlKEEsdixFLGksQik7aWYobzwwKXJldHVybi0xO0MrPW99cmV0dXJuIEN9LHZhcmFyZ3M6MCxnZXQ6ZnVuY3Rpb24oQSl7cmV0dXJuIG9JLnZhcmFyZ3MrPTQsQUFbb0kudmFyYXJncy00Pj4yXX0sZ2V0U3RyOmZ1bmN0aW9uKCl7cmV0dXJuIGYob0kuZ2V0KCkpfSxnZXRTdHJlYW1Gcm9tRkQ6ZnVuY3Rpb24oQSl7dm9pZCAwPT09QSYmKEE9b0kuZ2V0KCkpO3ZhciBJPWlJLmdldFN0cmVhbShBKTtpZighSSl0aHJvdyBuZXcgaUkuRXJybm9FcnJvcig4KTtyZXR1cm4gSX0sZ2V0NjQ6ZnVuY3Rpb24oKXt2YXIgQT1vSS5nZXQoKTtyZXR1cm4gb0kuZ2V0KCksQX0sZ2V0WmVybzpmdW5jdGlvbigpe29JLmdldCgpfX07ZnVuY3Rpb24gREkoQSxJKXtvSS52YXJhcmdzPUk7dHJ5e3ZhciBnPW9JLmdldFN0cmVhbUZyb21GRCgpO3N3aXRjaChvSS5nZXQoKSl7Y2FzZSAwOnJldHVybihCPW9JLmdldCgpKTwwPy0yODppSS5vcGVuKGcucGF0aCxnLmZsYWdzLDAsQikuZmQ7Y2FzZSAxOmNhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6cmV0dXJuIDA7Y2FzZSAzOnJldHVybiBnLmZsYWdzO2Nhc2UgNDp2YXIgQj1vSS5nZXQoKTtyZXR1cm4gZy5mbGFnc3w9QiwwO2Nhc2UgMTI6cmV0dXJuIEI9b0kuZ2V0KCksX1tCKzA+PjFdPTIsMDtkZWZhdWx0OnJldHVybi0yODtjYXNlIDk6cmV0dXJuIElJKDI4KSwtMX19Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksLUEuZXJybm99fWZ1bmN0aW9uIGFJKEEsSSl7b0kudmFyYXJncz1JO3RyeXt2YXIgZz1vSS5nZXRTdHIoKSxCPW9JLmdldCgpLEM9b0kuZ2V0KCk7cmV0dXJuIGlJLm9wZW4oZyxCLEMpLmZkfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiB3SShBLEkpe29JLnZhcmFyZ3M9STt0cnl7dmFyIGc9b0kuZ2V0U3RyZWFtRnJvbUZEKCksQj1vSS5nZXQoKTtzd2l0Y2goQil7Y2FzZSAyMTUwOTpjYXNlIDIxNTA1OmNhc2UgMjE1MTA6Y2FzZSAyMTUxMTpjYXNlIDIxNTEyOmNhc2UgMjE1MDY6Y2FzZSAyMTUwNzpjYXNlIDIxNTA4OmNhc2UgMjE1MjM6Y2FzZSAyMTUyNDpyZXR1cm4gZy50dHk/MDotNTk7Y2FzZSAyMTUxOTppZighZy50dHkpcmV0dXJuLTU5O3ZhciBDPW9JLmdldCgpO3JldHVybiBBQVtDPj4yXT0wLDA7Y2FzZSAyMTUyMDpyZXR1cm4gZy50dHk/LTI4Oi01OTtjYXNlIDIxNTMxOnJldHVybiBDPW9JLmdldCgpLGlJLmlvY3RsKGcsQixDKTtkZWZhdWx0OkpBKFwiYmFkIGlvY3RsIHN5c2NhbGwgXCIrQil9fWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLC1BLmVycm5vfX1mdW5jdGlvbiBGSShBLEkpe2lmKC0xPT09QXx8MD09PUkpcmV0dXJuLTI4O3ZhciBnPW9JLm1hcHBpbmdzW0FdO2lmKCFnKXJldHVybiAwO2lmKEk9PT1nLmxlbil7dmFyIEI9aUkuZ2V0U3RyZWFtKGcuZmQpO29JLmRvTXN5bmMoQSxCLEksZy5mbGFncyxnLm9mZnNldCksaUkubXVubWFwKEIpLG9JLm1hcHBpbmdzW0FdPW51bGwsZy5hbGxvY2F0ZWQmJnNCKGcubWFsbG9jKX1yZXR1cm4gMH1mdW5jdGlvbiBHSShBLEkpe29JLnZhcmFyZ3M9STt0cnl7cmV0dXJuIEZJKG9JLmdldCgpLG9JLmdldCgpKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSwtQS5lcnJub319ZnVuY3Rpb24gaEkoKXt9ZnVuY3Rpb24gc0koQSl7dHJ5e3ZhciBJPW9JLmdldFN0cmVhbUZyb21GRChBKTtyZXR1cm4gaUkuY2xvc2UoSSksMH1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBSSSgpe3JldHVybiBzSS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvUmVhZHYoQyxJLGcpO3JldHVybiBBQVtCPj4yXT1RLDB9Y2F0Y2goQSl7cmV0dXJuIHZvaWQgMCE9PWlJJiZBIGluc3RhbmNlb2YgaUkuRXJybm9FcnJvcnx8SkEoQSksQS5lcnJub319ZnVuY3Rpb24geUkoKXtyZXR1cm4gVUkuYXBwbHkobnVsbCxhcmd1bWVudHMpfWZ1bmN0aW9uIHRJKEEsSSxnLEIsQyl7dHJ5e3ZhciBRPW9JLmdldFN0cmVhbUZyb21GRChBKSxFPTQyOTQ5NjcyOTYqZysoST4+PjApLGk9OTAwNzE5OTI1NDc0MDk5MjtyZXR1cm4gRTw9LWl8fEU+PWk/LTYxOihpSS5sbHNlZWsoUSxFLEIpLGRBPVtRLnBvc2l0aW9uPj4+MCwocUE9US5wb3NpdGlvbiwrTUEocUEpPj0xP3FBPjA/KDB8ckEoK2NBKHFBLzQyOTQ5NjcyOTYpLDQyOTQ5NjcyOTUpKT4+PjA6fn4rbkEoKHFBLSsofn5xQT4+PjApKS80Mjk0OTY3Mjk2KT4+PjA6MCldLEFBW0M+PjJdPWRBWzBdLEFBW0MrND4+Ml09ZEFbMV0sUS5nZXRkZW50cyYmMD09PUUmJjA9PT1CJiYoUS5nZXRkZW50cz1udWxsKSwwKX1jYXRjaChBKXtyZXR1cm4gdm9pZCAwIT09aUkmJkEgaW5zdGFuY2VvZiBpSS5FcnJub0Vycm9yfHxKQShBKSxBLmVycm5vfX1mdW5jdGlvbiBTSSgpe3JldHVybiB0SS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gTUkoQSxJLGcsQil7dHJ5e3ZhciBDPW9JLmdldFN0cmVhbUZyb21GRChBKSxRPW9JLmRvV3JpdGV2KEMsSSxnKTtyZXR1cm4gQUFbQj4+Ml09USwwfWNhdGNoKEEpe3JldHVybiB2b2lkIDAhPT1pSSYmQSBpbnN0YW5jZW9mIGlJLkVycm5vRXJyb3J8fEpBKEEpLEEuZXJybm99fWZ1bmN0aW9uIG5JKCl7cmV0dXJuIE1JLmFwcGx5KG51bGwsYXJndW1lbnRzKX1mdW5jdGlvbiBjSShBKXtzd2l0Y2goQSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gMTtjYXNlIDQ6cmV0dXJuIDI7Y2FzZSA4OnJldHVybiAzO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gdHlwZSBzaXplOiBcIitBKX19ZnVuY3Rpb24gckkoKXtmb3IodmFyIEE9bmV3IEFycmF5KDI1NiksST0wO0k8MjU2OysrSSlBW0ldPVN0cmluZy5mcm9tQ2hhckNvZGUoSSk7a0k9QX12YXIga0k9dm9pZCAwO2Z1bmN0aW9uIEtJKEEpe2Zvcih2YXIgST1cIlwiLGc9QTt6W2ddOylJKz1rSVt6W2crK11dO3JldHVybiBJfXZhciBOST17fSxZST17fSxlST17fSxKST00OCxIST01NztmdW5jdGlvbiBMSShBKXtpZih2b2lkIDA9PT1BKXJldHVyblwiX3Vua25vd25cIjt2YXIgST0oQT1BLnJlcGxhY2UoL1teYS16QS1aMC05X10vZyxcIiRcIikpLmNoYXJDb2RlQXQoMCk7cmV0dXJuIEk+PUpJJiZJPD1IST9cIl9cIitBOkF9ZnVuY3Rpb24gcUkoQSxJKXtyZXR1cm4gQT1MSShBKSxuZXcgRnVuY3Rpb24oXCJib2R5XCIsXCJyZXR1cm4gZnVuY3Rpb24gXCIrQSsnKCkge1xcbiAgICBcInVzZSBzdHJpY3RcIjsgICAgcmV0dXJuIGJvZHkuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcXG59O1xcbicpKEkpfWZ1bmN0aW9uIGRJKEEsSSl7dmFyIGc9cUkoSSwoZnVuY3Rpb24oQSl7dGhpcy5uYW1lPUksdGhpcy5tZXNzYWdlPUE7dmFyIGc9bmV3IEVycm9yKEEpLnN0YWNrO3ZvaWQgMCE9PWcmJih0aGlzLnN0YWNrPXRoaXMudG9TdHJpbmcoKStcIlxcblwiK2cucmVwbGFjZSgvXkVycm9yKDpbXlxcbl0qKT9cXG4vLFwiXCIpKX0pKTtyZXR1cm4gZy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShBLnByb3RvdHlwZSksZy5wcm90b3R5cGUuY29uc3RydWN0b3I9ZyxnLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT10aGlzLm1lc3NhZ2U/dGhpcy5uYW1lOnRoaXMubmFtZStcIjogXCIrdGhpcy5tZXNzYWdlfSxnfXZhciBmST12b2lkIDA7ZnVuY3Rpb24gbEkoQSl7dGhyb3cgbmV3IGZJKEEpfXZhciB1ST12b2lkIDA7ZnVuY3Rpb24gV0koQSl7dGhyb3cgbmV3IHVJKEEpfWZ1bmN0aW9uIHBJKEEsSSxnKXtmdW5jdGlvbiBCKEkpe3ZhciBCPWcoSSk7Qi5sZW5ndGghPT1BLmxlbmd0aCYmV0koXCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50XCIpO2Zvcih2YXIgQz0wO0M8QS5sZW5ndGg7KytDKVpJKEFbQ10sQltDXSl9QS5mb3JFYWNoKChmdW5jdGlvbihBKXtlSVtBXT1JfSkpO3ZhciBDPW5ldyBBcnJheShJLmxlbmd0aCksUT1bXSxFPTA7SS5mb3JFYWNoKChmdW5jdGlvbihBLEkpe1lJLmhhc093blByb3BlcnR5KEEpP0NbSV09WUlbQV06KFEucHVzaChBKSxOSS5oYXNPd25Qcm9wZXJ0eShBKXx8KE5JW0FdPVtdKSxOSVtBXS5wdXNoKChmdW5jdGlvbigpe0NbSV09WUlbQV0sKytFPT09US5sZW5ndGgmJkIoQyl9KSkpfSkpLDA9PT1RLmxlbmd0aCYmQihDKX1mdW5jdGlvbiBaSShBLEksZyl7aWYoZz1nfHx7fSwhKFwiYXJnUGFja0FkdmFuY2VcImluIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJyZWdpc3RlclR5cGUgcmVnaXN0ZXJlZEluc3RhbmNlIHJlcXVpcmVzIGFyZ1BhY2tBZHZhbmNlXCIpO3ZhciBCPUkubmFtZTtpZihBfHxsSSgndHlwZSBcIicrQisnXCIgbXVzdCBoYXZlIGEgcG9zaXRpdmUgaW50ZWdlciB0eXBlaWQgcG9pbnRlcicpLFlJLmhhc093blByb3BlcnR5KEEpKXtpZihnLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpcmV0dXJuO2xJKFwiQ2Fubm90IHJlZ2lzdGVyIHR5cGUgJ1wiK0IrXCInIHR3aWNlXCIpfWlmKFlJW0FdPUksZGVsZXRlIGVJW0FdLE5JLmhhc093blByb3BlcnR5KEEpKXt2YXIgQz1OSVtBXTtkZWxldGUgTklbQV0sQy5mb3JFYWNoKChmdW5jdGlvbihBKXtBKCl9KSl9fWZ1bmN0aW9uIGJJKEEsSSxnLEIsQyl7dmFyIFE9Y0koZyk7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXtyZXR1cm4hIUF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gST9COkN9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6ZnVuY3Rpb24oQSl7dmFyIEI7aWYoMT09PWcpQj12O2Vsc2UgaWYoMj09PWcpQj1fO2Vsc2V7aWYoNCE9PWcpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gYm9vbGVhbiB0eXBlIHNpemU6IFwiK0kpO0I9QUF9cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJbQT4+UV0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHhJKEksZyxCKXtJPUtJKEkpLHBJKFtdLFtnXSwoZnVuY3Rpb24oZyl7cmV0dXJuIGc9Z1swXSxBW0ldPWcuZnJvbVdpcmVUeXBlKEIpLFtdfSkpfXZhciBtST1bXSxYST1be30se3ZhbHVlOnZvaWQgMH0se3ZhbHVlOm51bGx9LHt2YWx1ZTohMH0se3ZhbHVlOiExfV07ZnVuY3Rpb24gVkkoQSl7QT40JiYwPT0tLVhJW0FdLnJlZmNvdW50JiYoWElbQV09dm9pZCAwLG1JLnB1c2goQSkpfWZ1bmN0aW9uIE9JKCl7Zm9yKHZhciBBPTAsST01O0k8WEkubGVuZ3RoOysrSSl2b2lkIDAhPT1YSVtJXSYmKytBO3JldHVybiBBfWZ1bmN0aW9uIFRJKCl7Zm9yKHZhciBBPTU7QTxYSS5sZW5ndGg7KytBKWlmKHZvaWQgMCE9PVhJW0FdKXJldHVybiBYSVtBXTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBqSSgpe0EuY291bnRfZW12YWxfaGFuZGxlcz1PSSxBLmdldF9maXJzdF9lbXZhbD1USX1mdW5jdGlvbiBQSShBKXtzd2l0Y2goQSl7Y2FzZSB2b2lkIDA6cmV0dXJuIDE7Y2FzZSBudWxsOnJldHVybiAyO2Nhc2UhMDpyZXR1cm4gMztjYXNlITE6cmV0dXJuIDQ7ZGVmYXVsdDp2YXIgST1tSS5sZW5ndGg/bUkucG9wKCk6WEkubGVuZ3RoO3JldHVybiBYSVtJXT17cmVmY291bnQ6MSx2YWx1ZTpBfSxJfX1mdW5jdGlvbiB2SShBKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoSUFbQT4+Ml0pfWZ1bmN0aW9uIHpJKEEsSSl7WkkoQSx7bmFtZTpJPUtJKEkpLGZyb21XaXJlVHlwZTpmdW5jdGlvbihBKXt2YXIgST1YSVtBXS52YWx1ZTtyZXR1cm4gVkkoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe3JldHVybiBQSShJKX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIF9JKEEpe2lmKG51bGw9PT1BKXJldHVyblwibnVsbFwiO3ZhciBJPUQoQSk7cmV0dXJuXCJvYmplY3RcIj09PUl8fFwiYXJyYXlcIj09PUl8fFwiZnVuY3Rpb25cIj09PUk/QS50b1N0cmluZygpOlwiXCIrQX1mdW5jdGlvbiAkSShBLEkpe3N3aXRjaChJKXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShnQVtBPj4yXSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKEJBW0E+PjNdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBmbG9hdCB0eXBlOiBcIitBKX19ZnVuY3Rpb24gQWcoQSxJLGcpe3ZhciBCPWNJKGcpO1pJKEEse25hbWU6ST1LSShJKSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7cmV0dXJuIEF9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oQSxJKXtpZihcIm51bWJlclwiIT10eXBlb2YgSSYmXCJib29sZWFuXCIhPXR5cGVvZiBJKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0IFwiJytfSShJKSsnXCIgdG8gJyt0aGlzLm5hbWUpO3JldHVybiBJfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOiRJKEksQiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBJZyhBLEkpe2lmKCEoQSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlIFwiK0QoQSkrXCIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb25cIik7dmFyIGc9cUkoQS5uYW1lfHxcInVua25vd25GdW5jdGlvbk5hbWVcIiwoZnVuY3Rpb24oKXt9KSk7Zy5wcm90b3R5cGU9QS5wcm90b3R5cGU7dmFyIEI9bmV3IGcsQz1BLmFwcGx5KEIsSSk7cmV0dXJuIEMgaW5zdGFuY2VvZiBPYmplY3Q/QzpCfWZ1bmN0aW9uIGdnKEEpe2Zvcig7QS5sZW5ndGg7KXt2YXIgST1BLnBvcCgpO0EucG9wKCkoSSl9fWZ1bmN0aW9uIEJnKEEsSSxnLEIsQyl7dmFyIFE9SS5sZW5ndGg7UTwyJiZsSShcImFyZ1R5cGVzIGFycmF5IHNpemUgbWlzbWF0Y2ghIE11c3QgYXQgbGVhc3QgZ2V0IHJldHVybiB2YWx1ZSBhbmQgJ3RoaXMnIHR5cGVzIVwiKTtmb3IodmFyIEU9bnVsbCE9PUlbMV0mJm51bGwhPT1nLGk9ITEsbz0xO288SS5sZW5ndGg7KytvKWlmKG51bGwhPT1JW29dJiZ2b2lkIDA9PT1JW29dLmRlc3RydWN0b3JGdW5jdGlvbil7aT0hMDticmVha312YXIgRD1cInZvaWRcIiE9PUlbMF0ubmFtZSxhPVwiXCIsdz1cIlwiO2ZvcihvPTA7bzxRLTI7KytvKWErPSgwIT09bz9cIiwgXCI6XCJcIikrXCJhcmdcIitvLHcrPSgwIT09bz9cIiwgXCI6XCJcIikrXCJhcmdcIitvK1wiV2lyZWRcIjt2YXIgRj1cInJldHVybiBmdW5jdGlvbiBcIitMSShBKStcIihcIithK1wiKSB7XFxuaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IFwiKyhRLTIpK1wiKSB7XFxudGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uIFwiK0ErXCIgY2FsbGVkIHdpdGggJyArIGFyZ3VtZW50cy5sZW5ndGggKyAnIGFyZ3VtZW50cywgZXhwZWN0ZWQgXCIrKFEtMikrXCIgYXJncyEnKTtcXG59XFxuXCI7aSYmKEYrPVwidmFyIGRlc3RydWN0b3JzID0gW107XFxuXCIpO3ZhciBHPWk/XCJkZXN0cnVjdG9yc1wiOlwibnVsbFwiLGg9W1widGhyb3dCaW5kaW5nRXJyb3JcIixcImludm9rZXJcIixcImZuXCIsXCJydW5EZXN0cnVjdG9yc1wiLFwicmV0VHlwZVwiLFwiY2xhc3NQYXJhbVwiXSxzPVtsSSxCLEMsZ2csSVswXSxJWzFdXTtmb3IoRSYmKEYrPVwidmFyIHRoaXNXaXJlZCA9IGNsYXNzUGFyYW0udG9XaXJlVHlwZShcIitHK1wiLCB0aGlzKTtcXG5cIiksbz0wO288US0yOysrbylGKz1cInZhciBhcmdcIitvK1wiV2lyZWQgPSBhcmdUeXBlXCIrbytcIi50b1dpcmVUeXBlKFwiK0crXCIsIGFyZ1wiK28rXCIpOyAvLyBcIitJW28rMl0ubmFtZStcIlxcblwiLGgucHVzaChcImFyZ1R5cGVcIitvKSxzLnB1c2goSVtvKzJdKTtpZihFJiYodz1cInRoaXNXaXJlZFwiKyh3Lmxlbmd0aD4wP1wiLCBcIjpcIlwiKSt3KSxGKz0oRD9cInZhciBydiA9IFwiOlwiXCIpK1wiaW52b2tlcihmblwiKyh3Lmxlbmd0aD4wP1wiLCBcIjpcIlwiKSt3K1wiKTtcXG5cIixpKUYrPVwicnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpO1xcblwiO2Vsc2UgZm9yKG89RT8xOjI7bzxJLmxlbmd0aDsrK28pe3ZhciBSPTE9PT1vP1widGhpc1dpcmVkXCI6XCJhcmdcIisoby0yKStcIldpcmVkXCI7bnVsbCE9PUlbb10uZGVzdHJ1Y3RvckZ1bmN0aW9uJiYoRis9UitcIl9kdG9yKFwiK1IrXCIpOyAvLyBcIitJW29dLm5hbWUrXCJcXG5cIixoLnB1c2goUitcIl9kdG9yXCIpLHMucHVzaChJW29dLmRlc3RydWN0b3JGdW5jdGlvbikpfXJldHVybiBEJiYoRis9XCJ2YXIgcmV0ID0gcmV0VHlwZS5mcm9tV2lyZVR5cGUocnYpO1xcbnJldHVybiByZXQ7XFxuXCIpLEYrPVwifVxcblwiLGgucHVzaChGKSxJZyhGdW5jdGlvbixoKS5hcHBseShudWxsLHMpfWZ1bmN0aW9uIENnKEEsSSxnKXtpZih2b2lkIDA9PT1BW0ldLm92ZXJsb2FkVGFibGUpe3ZhciBCPUFbSV07QVtJXT1mdW5jdGlvbigpe3JldHVybiBBW0ldLm92ZXJsb2FkVGFibGUuaGFzT3duUHJvcGVydHkoYXJndW1lbnRzLmxlbmd0aCl8fGxJKFwiRnVuY3Rpb24gJ1wiK2crXCInIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAoXCIrYXJndW1lbnRzLmxlbmd0aCtcIikgLSBleHBlY3RzIG9uZSBvZiAoXCIrQVtJXS5vdmVybG9hZFRhYmxlK1wiKSFcIiksQVtJXS5vdmVybG9hZFRhYmxlW2FyZ3VtZW50cy5sZW5ndGhdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sQVtJXS5vdmVybG9hZFRhYmxlPVtdLEFbSV0ub3ZlcmxvYWRUYWJsZVtCLmFyZ0NvdW50XT1CfX1mdW5jdGlvbiBRZyhJLGcsQil7QS5oYXNPd25Qcm9wZXJ0eShJKT8oKHZvaWQgMD09PUJ8fHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09QVtJXS5vdmVybG9hZFRhYmxlW0JdKSYmbEkoXCJDYW5ub3QgcmVnaXN0ZXIgcHVibGljIG5hbWUgJ1wiK0krXCInIHR3aWNlXCIpLENnKEEsSSxJKSxBLmhhc093blByb3BlcnR5KEIpJiZsSShcIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBvdmVybG9hZHMgb2YgYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG51bWJlciBvZiBhcmd1bWVudHMgKFwiK0IrXCIpIVwiKSxBW0ldLm92ZXJsb2FkVGFibGVbQl09Zyk6KEFbSV09Zyx2b2lkIDAhPT1CJiYoQVtJXS5udW1Bcmd1bWVudHM9QikpfWZ1bmN0aW9uIEVnKEEsSSl7Zm9yKHZhciBnPVtdLEI9MDtCPEE7QisrKWcucHVzaChBQVsoST4+MikrQl0pO3JldHVybiBnfWZ1bmN0aW9uIGlnKEksZyxCKXtBLmhhc093blByb3BlcnR5KEkpfHxXSShcIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sXCIpLHZvaWQgMCE9PUFbSV0ub3ZlcmxvYWRUYWJsZSYmdm9pZCAwIT09Qj9BW0ldLm92ZXJsb2FkVGFibGVbQl09ZzooQVtJXT1nLEFbSV0uYXJnQ291bnQ9Qil9ZnVuY3Rpb24gb2coSSxnKXt2YXIgQjtpZihJPUtJKEkpLHZvaWQgMCE9PUFbXCJGVU5DVElPTl9UQUJMRV9cIitJXSlCPUFbXCJGVU5DVElPTl9UQUJMRV9cIitJXVtnXTtlbHNlIGlmKFwidW5kZWZpbmVkXCIhPXR5cGVvZiBGVU5DVElPTl9UQUJMRSlCPUZVTkNUSU9OX1RBQkxFW2ddO2Vsc2V7dmFyIEM9QVtcImR5bkNhbGxfXCIrSV07dm9pZCAwPT09QyYmdm9pZCAwPT09KEM9QVtcImR5bkNhbGxfXCIrSS5yZXBsYWNlKC9mL2csXCJkXCIpXSkmJmxJKFwiTm8gZHluQ2FsbCBpbnZva2VyIGZvciBzaWduYXR1cmU6IFwiK0kpLEI9ZnVuY3Rpb24oQSl7Zm9yKHZhciBCPVtdLEM9MTtDPEkubGVuZ3RoOysrQylCLnB1c2goXCJhXCIrQyk7dmFyIFE9XCJyZXR1cm4gZnVuY3Rpb24gZHluQ2FsbF9cIitJK1wiX1wiK2crXCIoXCIrQi5qb2luKFwiLCBcIikrXCIpIHtcXG5cIjtyZXR1cm4gUSs9XCIgICAgcmV0dXJuIGR5bkNhbGwocmF3RnVuY3Rpb25cIisoQi5sZW5ndGg/XCIsIFwiOlwiXCIpK0Iuam9pbihcIiwgXCIpK1wiKTtcXG5cIixRKz1cIn07XFxuXCIsbmV3IEZ1bmN0aW9uKFwiZHluQ2FsbFwiLFwicmF3RnVuY3Rpb25cIixRKShBLGcpfShDKX1yZXR1cm5cImZ1bmN0aW9uXCIhPXR5cGVvZiBCJiZsSShcInVua25vd24gZnVuY3Rpb24gcG9pbnRlciB3aXRoIHNpZ25hdHVyZSBcIitJK1wiOiBcIitnKSxCfXZhciBEZz12b2lkIDA7ZnVuY3Rpb24gYWcoQSl7dmFyIEk9d0IoQSksZz1LSShJKTtyZXR1cm4gc0IoSSksZ31mdW5jdGlvbiB3ZyhBLEkpe3ZhciBnPVtdLEI9e307dGhyb3cgSS5mb3JFYWNoKChmdW5jdGlvbiBBKEkpe0JbSV18fFlJW0ldfHwoZUlbSV0/ZUlbSV0uZm9yRWFjaChBKTooZy5wdXNoKEkpLEJbSV09ITApKX0pKSxuZXcgRGcoQStcIjogXCIrZy5tYXAoYWcpLmpvaW4oW1wiLCBcIl0pKX1mdW5jdGlvbiBGZyhBLEksZyxCLEMsUSl7dmFyIEU9RWcoSSxnKTtBPUtJKEEpLEM9b2coQixDKSxRZyhBLChmdW5jdGlvbigpe3dnKFwiQ2Fubm90IGNhbGwgXCIrQStcIiBkdWUgdG8gdW5ib3VuZCB0eXBlc1wiLEUpfSksSS0xKSxwSShbXSxFLChmdW5jdGlvbihnKXt2YXIgQj1bZ1swXSxudWxsXS5jb25jYXQoZy5zbGljZSgxKSk7cmV0dXJuIGlnKEEsQmcoQSxCLG51bGwsQyxRKSxJLTEpLFtdfSkpfWZ1bmN0aW9uIEdnKEEsSSxnKXtzd2l0Y2goSSl7Y2FzZSAwOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiB2W0FdfTpmdW5jdGlvbihBKXtyZXR1cm4geltBXX07Y2FzZSAxOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBfW0E+PjFdfTpmdW5jdGlvbihBKXtyZXR1cm4gJFtBPj4xXX07Y2FzZSAyOnJldHVybiBnP2Z1bmN0aW9uKEEpe3JldHVybiBBQVtBPj4yXX06ZnVuY3Rpb24oQSl7cmV0dXJuIElBW0E+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGludGVnZXIgdHlwZTogXCIrQSl9fWZ1bmN0aW9uIGhnKEEsSSxnLEIsQyl7ST1LSShJKSwtMT09PUMmJihDPTQyOTQ5NjcyOTUpO3ZhciBRPWNJKGcpLEU9ZnVuY3Rpb24oQSl7cmV0dXJuIEF9O2lmKDA9PT1CKXt2YXIgaT0zMi04Kmc7RT1mdW5jdGlvbihBKXtyZXR1cm4gQTw8aT4+Pml9fXZhciBvPS0xIT1JLmluZGV4T2YoXCJ1bnNpZ25lZFwiKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOkUsdG9XaXJlVHlwZTpmdW5jdGlvbihBLGcpe2lmKFwibnVtYmVyXCIhPXR5cGVvZiBnJiZcImJvb2xlYW5cIiE9dHlwZW9mIGcpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgXCInK19JKGcpKydcIiB0byAnK3RoaXMubmFtZSk7aWYoZzxCfHxnPkMpdGhyb3cgbmV3IFR5cGVFcnJvcignUGFzc2luZyBhIG51bWJlciBcIicrX0koZykrJ1wiIGZyb20gSlMgc2lkZSB0byBDL0MrKyBzaWRlIHRvIGFuIGFyZ3VtZW50IG9mIHR5cGUgXCInK0krJ1wiLCB3aGljaCBpcyBvdXRzaWRlIHRoZSB2YWxpZCByYW5nZSBbJytCK1wiLCBcIitDK1wiXSFcIik7cmV0dXJuIG8/Zz4+PjA6MHxnfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOkdnKEksUSwwIT09QiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBzZyhBLEksZyl7dmFyIEI9W0ludDhBcnJheSxVaW50OEFycmF5LEludDE2QXJyYXksVWludDE2QXJyYXksSW50MzJBcnJheSxVaW50MzJBcnJheSxGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5XVtJXTtmdW5jdGlvbiBDKEEpe3ZhciBJPUlBLGc9SVtBPj49Ml0sQz1JW0ErMV07cmV0dXJuIG5ldyBCKEkuYnVmZmVyLEMsZyl9WkkoQSx7bmFtZTpnPUtJKGcpLGZyb21XaXJlVHlwZTpDLGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6Q30se2lnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnM6ITB9KX1mdW5jdGlvbiBSZyhBLEkpe3ZhciBnPVwic3RkOjpzdHJpbmdcIj09PShJPUtJKEkpKTtaSShBLHtuYW1lOkksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEEpe3ZhciBJLEI9SUFbQT4+Ml07aWYoZyl7dmFyIEM9eltBKzQrQl0sUT0wOzAhPUMmJihRPUMseltBKzQrQl09MCk7Zm9yKHZhciBFPUErNCxpPTA7aTw9QjsrK2kpe3ZhciBvPUErNCtpO2lmKDA9PXpbb10pe3ZhciBEPWYoRSk7dm9pZCAwPT09ST9JPUQ6KEkrPVN0cmluZy5mcm9tQ2hhckNvZGUoMCksSSs9RCksRT1vKzF9fTAhPVEmJih6W0ErNCtCXT1RKX1lbHNle3ZhciBhPW5ldyBBcnJheShCKTtmb3IoaT0wO2k8QjsrK2kpYVtpXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHpbQSs0K2ldKTtJPWEuam9pbihcIlwiKX1yZXR1cm4gc0IoQSksSX0sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEkpe0kgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKEk9bmV3IFVpbnQ4QXJyYXkoSSkpO3ZhciBCPVwic3RyaW5nXCI9PXR5cGVvZiBJO0J8fEkgaW5zdGFuY2VvZiBVaW50OEFycmF5fHxJIGluc3RhbmNlb2YgVWludDhDbGFtcGVkQXJyYXl8fEkgaW5zdGFuY2VvZiBJbnQ4QXJyYXl8fGxJKFwiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBzdGQ6OnN0cmluZ1wiKTt2YXIgQz0oZyYmQj9mdW5jdGlvbigpe3JldHVybiBXKEkpfTpmdW5jdGlvbigpe3JldHVybiBJLmxlbmd0aH0pKCksUT1SQig0K0MrMSk7aWYoSUFbUT4+Ml09QyxnJiZCKXUoSSxRKzQsQysxKTtlbHNlIGlmKEIpZm9yKHZhciBFPTA7RTxDOysrRSl7dmFyIGk9SS5jaGFyQ29kZUF0KEUpO2k+MjU1JiYoc0IoUSksbEkoXCJTdHJpbmcgaGFzIFVURi0xNiBjb2RlIHVuaXRzIHRoYXQgZG8gbm90IGZpdCBpbiA4IGJpdHNcIikpLHpbUSs0K0VdPWl9ZWxzZSBmb3IoRT0wO0U8QzsrK0UpeltRKzQrRV09SVtFXTtyZXR1cm4gbnVsbCE9PUEmJkEucHVzaChzQixRKSxRfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOnZJLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihBKXtzQihBKX19KX1mdW5jdGlvbiBVZyhBLEksZyl7dmFyIEIsQyxRLEUsaTtnPUtJKGcpLDI9PT1JPyhCPVosQz1iLEU9eCxRPWZ1bmN0aW9uKCl7cmV0dXJuICR9LGk9MSk6ND09PUkmJihCPW0sQz1YLEU9VixRPWZ1bmN0aW9uKCl7cmV0dXJuIElBfSxpPTIpLFpJKEEse25hbWU6Zyxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oQSl7dmFyIGcsQz1JQVtBPj4yXSxFPVEoKSxvPUVbQSs0K0MqST4+aV0sRD0wOzAhPW8mJihEPW8sRVtBKzQrQypJPj5pXT0wKTtmb3IodmFyIGE9QSs0LHc9MDt3PD1DOysrdyl7dmFyIEY9QSs0K3cqSTtpZigwPT1FW0Y+PmldKXt2YXIgRz1CKGEpO3ZvaWQgMD09PWc/Zz1HOihnKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDApLGcrPUcpLGE9RitJfX1yZXR1cm4gMCE9RCYmKEVbQSs0K0MqST4+aV09RCksc0IoQSksZ30sdG9XaXJlVHlwZTpmdW5jdGlvbihBLEIpe1wic3RyaW5nXCIhPXR5cGVvZiBCJiZsSShcIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gQysrIHN0cmluZyB0eXBlIFwiK2cpO3ZhciBRPUUoQiksbz1SQig0K1ErSSk7cmV0dXJuIElBW28+PjJdPVE+PmksQyhCLG8rNCxRK0kpLG51bGwhPT1BJiZBLnB1c2goc0Isbyksb30sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjp2SSxkZXN0cnVjdG9yRnVuY3Rpb246ZnVuY3Rpb24oQSl7c0IoQSl9fSl9ZnVuY3Rpb24geWcoQSxJKXtaSShBLHtpc1ZvaWQ6ITAsbmFtZTpJPUtJKEkpLGFyZ1BhY2tBZHZhbmNlOjAsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKCl7fSx0b1dpcmVUeXBlOmZ1bmN0aW9uKEEsSSl7fX0pfWZ1bmN0aW9uIHRnKCl7SkEoKX1mdW5jdGlvbiBTZygpe3JldHVybiB6Lmxlbmd0aH1mdW5jdGlvbiBNZyhBKXtKQShcIk9PTVwiKX1mdW5jdGlvbiBuZyhBKXtNZygpfWZ1bmN0aW9uIGNnKEEpe2VCKEEpfWZ1bmN0aW9uIHJnKEEpe3JldHVybiAwPT09QT8wOihBPWYoQSksakEuaGFzT3duUHJvcGVydHkoQSk/KHJnLnJldCYmc0IocmcucmV0KSxyZy5yZXQ9TyhqQVtBXSkscmcucmV0KTowKX1mdW5jdGlvbiBrZyhBKXt2YXIgST1EYXRlLm5vdygpO3JldHVybiBBQVtBPj4yXT1JLzFlM3wwLEFBW0ErND4+Ml09SSUxZTMqMWUzfDAsMH1mdW5jdGlvbiBLZyhBKXtyZXR1cm4gTWF0aC5wb3coMixBKX1mdW5jdGlvbiBOZyhBKXt2YXIgST1ZZyxnPUkuTExWTV9TQVZFRFNUQUNLU1tBXTtJLkxMVk1fU0FWRURTVEFDS1Muc3BsaWNlKEEsMSkseUIoZyl9ZnVuY3Rpb24gWWcoKXt2YXIgQT1ZZztyZXR1cm4gQS5MTFZNX1NBVkVEU1RBQ0tTfHwoQS5MTFZNX1NBVkVEU1RBQ0tTPVtdKSxBLkxMVk1fU0FWRURTVEFDS1MucHVzaCh0QigpKSxBLkxMVk1fU0FWRURTVEFDS1MubGVuZ3RoLTF9dmFyIGVnPTYxMTM2O2Z1bmN0aW9uIEpnKCl7aWYoIUpnLmNhbGxlZCl7SmcuY2FsbGVkPSEwLEFBW0dCKCk+PjJdPTYwKihuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt2YXIgQT0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCksST1uZXcgRGF0ZShBLDAsMSksZz1uZXcgRGF0ZShBLDYsMSk7QUFbRkIoKT4+Ml09TnVtYmVyKEkuZ2V0VGltZXpvbmVPZmZzZXQoKSE9Zy5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgQj1pKEkpLEM9aShnKSxRPU8oQiksRT1PKEMpO2cuZ2V0VGltZXpvbmVPZmZzZXQoKTxJLmdldFRpbWV6b25lT2Zmc2V0KCk/KEFBW2hCKCk+PjJdPVEsQUFbaEIoKSs0Pj4yXT1FKTooQUFbaEIoKT4+Ml09RSxBQVtoQigpKzQ+PjJdPVEpfWZ1bmN0aW9uIGkoQSl7dmFyIEk9QS50b1RpbWVTdHJpbmcoKS5tYXRjaCgvXFwoKFtBLVphLXogXSspXFwpJC8pO3JldHVybiBJP0lbMV06XCJHTVRcIn19ZnVuY3Rpb24gSGcoQSxJKXtKZygpO3ZhciBnPW5ldyBEYXRlKDFlMypBQVtBPj4yXSk7QUFbST4+Ml09Zy5nZXRTZWNvbmRzKCksQUFbSSs0Pj4yXT1nLmdldE1pbnV0ZXMoKSxBQVtJKzg+PjJdPWcuZ2V0SG91cnMoKSxBQVtJKzEyPj4yXT1nLmdldERhdGUoKSxBQVtJKzE2Pj4yXT1nLmdldE1vbnRoKCksQUFbSSsyMD4+Ml09Zy5nZXRGdWxsWWVhcigpLTE5MDAsQUFbSSsyND4+Ml09Zy5nZXREYXkoKTt2YXIgQj1uZXcgRGF0ZShnLmdldEZ1bGxZZWFyKCksMCwxKSxDPShnLmdldFRpbWUoKS1CLmdldFRpbWUoKSkvODY0ZTV8MDtBQVtJKzI4Pj4yXT1DLEFBW0krMzY+PjJdPS02MCpnLmdldFRpbWV6b25lT2Zmc2V0KCk7dmFyIFE9bmV3IERhdGUoZy5nZXRGdWxsWWVhcigpLDYsMSkuZ2V0VGltZXpvbmVPZmZzZXQoKSxFPUIuZ2V0VGltZXpvbmVPZmZzZXQoKSxpPTB8KFEhPUUmJmcuZ2V0VGltZXpvbmVPZmZzZXQoKT09TWF0aC5taW4oRSxRKSk7QUFbSSszMj4+Ml09aTt2YXIgbz1BQVtoQigpKyhpPzQ6MCk+PjJdO3JldHVybiBBQVtJKzQwPj4yXT1vLEl9ZnVuY3Rpb24gTGcoQSl7cmV0dXJuIEhnKEEsZWcpfWZ1bmN0aW9uIHFnKEEsSSl7dGhyb3cgVUIoQSxJfHwxKSxcImxvbmdqbXBcIn1mdW5jdGlvbiBkZyhBLEksZyl7ei5zZXQoei5zdWJhcnJheShJLEkrZyksQSl9ZnVuY3Rpb24gZmcoQSl7cmV0dXJuIEElND09MCYmKEElMTAwIT0wfHxBJTQwMD09MCl9ZnVuY3Rpb24gbGcoQSxJKXtmb3IodmFyIGc9MCxCPTA7Qjw9STtnKz1BW0IrK10pO3JldHVybiBnfXUoXCJHTVRcIiw2MTE4NCw0KTt2YXIgdWc9WzMxLDI5LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxXZz1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO2Z1bmN0aW9uIHBnKEEsSSl7Zm9yKHZhciBnPW5ldyBEYXRlKEEuZ2V0VGltZSgpKTtJPjA7KXt2YXIgQj1mZyhnLmdldEZ1bGxZZWFyKCkpLEM9Zy5nZXRNb250aCgpLFE9KEI/dWc6V2cpW0NdO2lmKCEoST5RLWcuZ2V0RGF0ZSgpKSlyZXR1cm4gZy5zZXREYXRlKGcuZ2V0RGF0ZSgpK0kpLGc7SS09US1nLmdldERhdGUoKSsxLGcuc2V0RGF0ZSgxKSxDPDExP2cuc2V0TW9udGgoQysxKTooZy5zZXRNb250aCgwKSxnLnNldEZ1bGxZZWFyKGcuZ2V0RnVsbFllYXIoKSsxKSl9cmV0dXJuIGd9ZnVuY3Rpb24gWmcoQSxJLGcsQil7dmFyIEM9QUFbQis0MD4+Ml0sUT17dG1fc2VjOkFBW0I+PjJdLHRtX21pbjpBQVtCKzQ+PjJdLHRtX2hvdXI6QUFbQis4Pj4yXSx0bV9tZGF5OkFBW0IrMTI+PjJdLHRtX21vbjpBQVtCKzE2Pj4yXSx0bV95ZWFyOkFBW0IrMjA+PjJdLHRtX3dkYXk6QUFbQisyND4+Ml0sdG1feWRheTpBQVtCKzI4Pj4yXSx0bV9pc2RzdDpBQVtCKzMyPj4yXSx0bV9nbXRvZmY6QUFbQiszNj4+Ml0sdG1fem9uZTpDP2YoQyk6XCJcIn0sRT1mKGcpLGk9e1wiJWNcIjpcIiVhICViICVkICVIOiVNOiVTICVZXCIsXCIlRFwiOlwiJW0vJWQvJXlcIixcIiVGXCI6XCIlWS0lbS0lZFwiLFwiJWhcIjpcIiViXCIsXCIlclwiOlwiJUk6JU06JVMgJXBcIixcIiVSXCI6XCIlSDolTVwiLFwiJVRcIjpcIiVIOiVNOiVTXCIsXCIleFwiOlwiJW0vJWQvJXlcIixcIiVYXCI6XCIlSDolTTolU1wiLFwiJUVjXCI6XCIlY1wiLFwiJUVDXCI6XCIlQ1wiLFwiJUV4XCI6XCIlbS8lZC8leVwiLFwiJUVYXCI6XCIlSDolTTolU1wiLFwiJUV5XCI6XCIleVwiLFwiJUVZXCI6XCIlWVwiLFwiJU9kXCI6XCIlZFwiLFwiJU9lXCI6XCIlZVwiLFwiJU9IXCI6XCIlSFwiLFwiJU9JXCI6XCIlSVwiLFwiJU9tXCI6XCIlbVwiLFwiJU9NXCI6XCIlTVwiLFwiJU9TXCI6XCIlU1wiLFwiJU91XCI6XCIldVwiLFwiJU9VXCI6XCIlVVwiLFwiJU9WXCI6XCIlVlwiLFwiJU93XCI6XCIld1wiLFwiJU9XXCI6XCIlV1wiLFwiJU95XCI6XCIleVwifTtmb3IodmFyIG8gaW4gaSlFPUUucmVwbGFjZShuZXcgUmVnRXhwKG8sXCJnXCIpLGlbb10pO3ZhciBEPVtcIlN1bmRheVwiLFwiTW9uZGF5XCIsXCJUdWVzZGF5XCIsXCJXZWRuZXNkYXlcIixcIlRodXJzZGF5XCIsXCJGcmlkYXlcIixcIlNhdHVyZGF5XCJdLGE9W1wiSmFudWFyeVwiLFwiRmVicnVhcnlcIixcIk1hcmNoXCIsXCJBcHJpbFwiLFwiTWF5XCIsXCJKdW5lXCIsXCJKdWx5XCIsXCJBdWd1c3RcIixcIlNlcHRlbWJlclwiLFwiT2N0b2JlclwiLFwiTm92ZW1iZXJcIixcIkRlY2VtYmVyXCJdO2Z1bmN0aW9uIHcoQSxJLGcpe2Zvcih2YXIgQj1cIm51bWJlclwiPT10eXBlb2YgQT9BLnRvU3RyaW5nKCk6QXx8XCJcIjtCLmxlbmd0aDxJOylCPWdbMF0rQjtyZXR1cm4gQn1mdW5jdGlvbiBGKEEsSSl7cmV0dXJuIHcoQSxJLFwiMFwiKX1mdW5jdGlvbiBHKEEsSSl7ZnVuY3Rpb24gZyhBKXtyZXR1cm4gQTwwPy0xOkE+MD8xOjB9dmFyIEI7cmV0dXJuIDA9PT0oQj1nKEEuZ2V0RnVsbFllYXIoKS1JLmdldEZ1bGxZZWFyKCkpKSYmMD09PShCPWcoQS5nZXRNb250aCgpLUkuZ2V0TW9udGgoKSkpJiYoQj1nKEEuZ2V0RGF0ZSgpLUkuZ2V0RGF0ZSgpKSksQn1mdW5jdGlvbiBoKEEpe3N3aXRjaChBLmdldERheSgpKXtjYXNlIDA6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKS0xLDExLDI5KTtjYXNlIDE6cmV0dXJuIEE7Y2FzZSAyOnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCksMCwzKTtjYXNlIDM6cmV0dXJuIG5ldyBEYXRlKEEuZ2V0RnVsbFllYXIoKSwwLDIpO2Nhc2UgNDpyZXR1cm4gbmV3IERhdGUoQS5nZXRGdWxsWWVhcigpLDAsMSk7Y2FzZSA1OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMSk7Y2FzZSA2OnJldHVybiBuZXcgRGF0ZShBLmdldEZ1bGxZZWFyKCktMSwxMSwzMCl9fWZ1bmN0aW9uIHMoQSl7dmFyIEk9cGcobmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxBLnRtX3lkYXkpLGc9bmV3IERhdGUoSS5nZXRGdWxsWWVhcigpLDAsNCksQj1uZXcgRGF0ZShJLmdldEZ1bGxZZWFyKCkrMSwwLDQpLEM9aChnKSxRPWgoQik7cmV0dXJuIEcoQyxJKTw9MD9HKFEsSSk8PTA/SS5nZXRGdWxsWWVhcigpKzE6SS5nZXRGdWxsWWVhcigpOkkuZ2V0RnVsbFllYXIoKS0xfXZhciBSPXtcIiVhXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIERbQS50bV93ZGF5XS5zdWJzdHJpbmcoMCwzKX0sXCIlQVwiOmZ1bmN0aW9uKEEpe3JldHVybiBEW0EudG1fd2RheV19LFwiJWJcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl0uc3Vic3RyaW5nKDAsMyl9LFwiJUJcIjpmdW5jdGlvbihBKXtyZXR1cm4gYVtBLnRtX21vbl19LFwiJUNcIjpmdW5jdGlvbihBKXtyZXR1cm4gRigoQS50bV95ZWFyKzE5MDApLzEwMHwwLDIpfSxcIiVkXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5LDIpfSxcIiVlXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHcoQS50bV9tZGF5LDIsXCIgXCIpfSxcIiVnXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIHMoQSkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFwiJUdcIjpmdW5jdGlvbihBKXtyZXR1cm4gcyhBKX0sXCIlSFwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1faG91ciwyKX0sXCIlSVwiOmZ1bmN0aW9uKEEpe3ZhciBJPUEudG1faG91cjtyZXR1cm4gMD09ST9JPTEyOkk+MTImJihJLT0xMiksRihJLDIpfSxcIiVqXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9tZGF5K2xnKGZnKEEudG1feWVhcisxOTAwKT91ZzpXZyxBLnRtX21vbi0xKSwzKX0sXCIlbVwiOmZ1bmN0aW9uKEEpe3JldHVybiBGKEEudG1fbW9uKzEsMil9LFwiJU1cIjpmdW5jdGlvbihBKXtyZXR1cm4gRihBLnRtX21pbiwyKX0sXCIlblwiOmZ1bmN0aW9uKCl7cmV0dXJuXCJcXG5cIn0sXCIlcFwiOmZ1bmN0aW9uKEEpe3JldHVybiBBLnRtX2hvdXI+PTAmJkEudG1faG91cjwxMj9cIkFNXCI6XCJQTVwifSxcIiVTXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEYoQS50bV9zZWMsMil9LFwiJXRcIjpmdW5jdGlvbigpe3JldHVyblwiXFx0XCJ9LFwiJXVcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fHw3fSxcIiVVXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsMCwxKSxnPTA9PT1JLmdldERheSgpP0k6cGcoSSw3LUkuZ2V0RGF5KCkpLEI9bmV3IERhdGUoQS50bV95ZWFyKzE5MDAsQS50bV9tb24sQS50bV9tZGF5KTtpZihHKGcsQik8MCl7dmFyIEM9bGcoZmcoQi5nZXRGdWxsWWVhcigpKT91ZzpXZyxCLmdldE1vbnRoKCktMSktMzEsUT0zMS1nLmdldERhdGUoKStDK0IuZ2V0RGF0ZSgpO3JldHVybiBGKE1hdGguY2VpbChRLzcpLDIpfXJldHVybiAwPT09RyhnLEkpP1wiMDFcIjpcIjAwXCJ9LFwiJVZcIjpmdW5jdGlvbihBKXt2YXIgSSxnPW5ldyBEYXRlKEEudG1feWVhcisxOTAwLDAsNCksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMSwwLDQpLEM9aChnKSxRPWgoQiksRT1wZyhuZXcgRGF0ZShBLnRtX3llYXIrMTkwMCwwLDEpLEEudG1feWRheSk7cmV0dXJuIEcoRSxDKTwwP1wiNTNcIjpHKFEsRSk8PTA/XCIwMVwiOihJPUMuZ2V0RnVsbFllYXIoKTxBLnRtX3llYXIrMTkwMD9BLnRtX3lkYXkrMzItQy5nZXREYXRlKCk6QS50bV95ZGF5KzEtQy5nZXREYXRlKCksRihNYXRoLmNlaWwoSS83KSwyKSl9LFwiJXdcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV93ZGF5fSxcIiVXXCI6ZnVuY3Rpb24oQSl7dmFyIEk9bmV3IERhdGUoQS50bV95ZWFyLDAsMSksZz0xPT09SS5nZXREYXkoKT9JOnBnKEksMD09PUkuZ2V0RGF5KCk/MTo3LUkuZ2V0RGF5KCkrMSksQj1uZXcgRGF0ZShBLnRtX3llYXIrMTkwMCxBLnRtX21vbixBLnRtX21kYXkpO2lmKEcoZyxCKTwwKXt2YXIgQz1sZyhmZyhCLmdldEZ1bGxZZWFyKCkpP3VnOldnLEIuZ2V0TW9udGgoKS0xKS0zMSxRPTMxLWcuZ2V0RGF0ZSgpK0MrQi5nZXREYXRlKCk7cmV0dXJuIEYoTWF0aC5jZWlsKFEvNyksMil9cmV0dXJuIDA9PT1HKGcsSSk/XCIwMVwiOlwiMDBcIn0sXCIleVwiOmZ1bmN0aW9uKEEpe3JldHVybihBLnRtX3llYXIrMTkwMCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMil9LFwiJVlcIjpmdW5jdGlvbihBKXtyZXR1cm4gQS50bV95ZWFyKzE5MDB9LFwiJXpcIjpmdW5jdGlvbihBKXt2YXIgST1BLnRtX2dtdG9mZixnPUk+PTA7cmV0dXJuIEk9KEk9TWF0aC5hYnMoSSkvNjApLzYwKjEwMCtJJTYwLChnP1wiK1wiOlwiLVwiKStTdHJpbmcoXCIwMDAwXCIrSSkuc2xpY2UoLTQpfSxcIiVaXCI6ZnVuY3Rpb24oQSl7cmV0dXJuIEEudG1fem9uZX0sXCIlJVwiOmZ1bmN0aW9uKCl7cmV0dXJuXCIlXCJ9fTtmb3IodmFyIG8gaW4gUilFLmluZGV4T2Yobyk+PTAmJihFPUUucmVwbGFjZShuZXcgUmVnRXhwKG8sXCJnXCIpLFJbb10oUSkpKTt2YXIgVT1YZyhFLCExKTtyZXR1cm4gVS5sZW5ndGg+ST8wOihUKFUsQSksVS5sZW5ndGgtMSl9ZnVuY3Rpb24gYmcoQSxJLGcsQil7cmV0dXJuIFpnKEEsSSxnLEIpfWZ1bmN0aW9uIHhnKEEpe3ZhciBJPURhdGUubm93KCkvMWUzfDA7cmV0dXJuIEEmJihBQVtBPj4yXT1JKSxJfWlJLnN0YXRpY0luaXQoKSxySSgpLGZJPUEuQmluZGluZ0Vycm9yPWRJKEVycm9yLFwiQmluZGluZ0Vycm9yXCIpLHVJPUEuSW50ZXJuYWxFcnJvcj1kSShFcnJvcixcIkludGVybmFsRXJyb3JcIiksakkoKSxEZz1BLlVuYm91bmRUeXBlRXJyb3I9ZEkoRXJyb3IsXCJVbmJvdW5kVHlwZUVycm9yXCIpO3ZhciBtZz0hMTtmdW5jdGlvbiBYZyhBLEksZyl7dmFyIEI9Zz4wP2c6VyhBKSsxLEM9bmV3IEFycmF5KEIpLFE9bChBLEMsMCxDLmxlbmd0aCk7cmV0dXJuIEkmJihDLmxlbmd0aD1RKSxDfWZ1bmN0aW9uIFZnKEEpe2Zvcih2YXIgST1bXSxnPTA7ZzxBLmxlbmd0aDtnKyspe3ZhciBCPUFbZ107Qj4yNTUmJihtZyYmSCghMSxcIkNoYXJhY3RlciBjb2RlIFwiK0IrXCIgKFwiK1N0cmluZy5mcm9tQ2hhckNvZGUoQikrXCIpICBhdCBvZmZzZXQgXCIrZytcIiBub3QgaW4gMHgwMC0weEZGLlwiKSxCJj0yNTUpLEkucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX1yZXR1cm4gSS5qb2luKFwiXCIpfXZhciBPZz1cImZ1bmN0aW9uXCI9PXR5cGVvZiBhdG9iP2F0b2I6ZnVuY3Rpb24oQSl7dmFyIEksZyxCLEMsUSxFLGk9XCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwiLG89XCJcIixEPTA7QT1BLnJlcGxhY2UoL1teQS1aYS16MC05XFwrXFwvXFw9XS9nLFwiXCIpO2Rve0k9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpPDwyfChDPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSk+PjQsZz0oMTUmQyk8PDR8KFE9aS5pbmRleE9mKEEuY2hhckF0KEQrKykpKT4+MixCPSgzJlEpPDw2fChFPWkuaW5kZXhPZihBLmNoYXJBdChEKyspKSksbys9U3RyaW5nLmZyb21DaGFyQ29kZShJKSw2NCE9PVEmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGcpKSw2NCE9PUUmJihvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpKX13aGlsZShEPEEubGVuZ3RoKTtyZXR1cm4gb307ZnVuY3Rpb24gVGcoQSl7aWYoXCJib29sZWFuXCI9PXR5cGVvZiB3JiZ3KXt2YXIgSTt0cnl7ST1CdWZmZXIuZnJvbShBLFwiYmFzZTY0XCIpfWNhdGNoKGcpe0k9bmV3IEJ1ZmZlcihBLFwiYmFzZTY0XCIpfXJldHVybiBuZXcgVWludDhBcnJheShJLmJ1ZmZlcixJLmJ5dGVPZmZzZXQsSS5ieXRlTGVuZ3RoKX10cnl7Zm9yKHZhciBnPU9nKEEpLEI9bmV3IFVpbnQ4QXJyYXkoZy5sZW5ndGgpLEM9MDtDPGcubGVuZ3RoOysrQylCW0NdPWcuY2hhckNvZGVBdChDKTtyZXR1cm4gQn1jYXRjaChBKXt0aHJvdyBuZXcgRXJyb3IoXCJDb252ZXJ0aW5nIGJhc2U2NCBzdHJpbmcgdG8gYnl0ZXMgZmFpbGVkLlwiKX19ZnVuY3Rpb24gamcoQSl7aWYoTEEoQSkpcmV0dXJuIFRnKEEuc2xpY2UoSEEubGVuZ3RoKSl9ZnVuY3Rpb24gUGcoQSxJKXt2YXIgZz10QigpO3RyeXtyZXR1cm4gU0IoQSxJKX1jYXRjaChBKXtpZih5QihnKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB2ZyhBLEksZyl7dmFyIEI9dEIoKTt0cnl7cmV0dXJuIE1CKEEsSSxnKX1jYXRjaChBKXtpZih5QihCKSxBIT09QSswJiZcImxvbmdqbXBcIiE9PUEpdGhyb3cgQTtVQigxLDApfX1mdW5jdGlvbiB6ZyhBLEksZyxCKXt2YXIgQz10QigpO3RyeXtyZXR1cm4gbkIoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gX2coQSxJKXt2YXIgZz10QigpO3RyeXtjQihBLEkpfWNhdGNoKEEpe2lmKHlCKGcpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fWZ1bmN0aW9uICRnKEEsSSxnKXt2YXIgQj10QigpO3RyeXtyQihBLEksZyl9Y2F0Y2goQSl7aWYoeUIoQiksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gQUIoQSxJLGcsQil7dmFyIEM9dEIoKTt0cnl7a0IoQSxJLGcsQil9Y2F0Y2goQSl7aWYoeUIoQyksQSE9PUErMCYmXCJsb25nam1wXCIhPT1BKXRocm93IEE7VUIoMSwwKX19ZnVuY3Rpb24gSUIoQSxJLGcsQixDKXt2YXIgUT10QigpO3RyeXtLQihBLEksZyxCLEMpfWNhdGNoKEEpe2lmKHlCKFEpLEEhPT1BKzAmJlwibG9uZ2ptcFwiIT09QSl0aHJvdyBBO1VCKDEsMCl9fXZhciBnQj17fSxCQj17JDp2QSxmOnpBLGU6JEEsQTpBSSxfOmdJLHo6REksWjphSSxZOndJLFg6R0ksbzpoSSx5OlJJLFc6eUksRDpTSSxWOm5JLFU6YkkseDp4SSxUOnpJLHc6QWcsajpGZyxrOmhnLGk6c2csdjpSZyxzOlVnLFM6eWcsX19tZW1vcnlfYmFzZToxMDI0LF9fdGFibGVfYmFzZTowLGE6dGcsUjptQSxROnhBLFA6YkEsTzpaQSxOOlhBLE06U2csSzpkZyxKOm5nLGI6Y2csbjpyZyx1OmtnLEk6S2csbTpOZyxsOllnLEg6TGcsZzpxZyxGOlpnLEU6YmcsdDp4ZyxjOkpBLGg6WSxxOlBnLEw6dmcsRzp6ZyxwOl9nLEM6JGcsQjpBQixyOklCLG1lbW9yeTpyLGQ6Tix0YWJsZTplfSxDQj1BLmFzbShnQixCQixQKTtBLmFzbT1DQjt2YXIgUUIsRUI9QS5fX0dMT0JBTF9fc3ViX0lfQVJUb29sS2l0SlNfY3BwPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saUI9QS5fX0dMT0JBTF9fc3ViX0lfYmluZF9jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uYmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvQj1BLl9fR0xPQkFMX19zdWJfSV9pb3N0cmVhbV9jcHA9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uY2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEQj1BLl9fWlN0MTh1bmNhdWdodF9leGNlcHRpb252PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYUI9KEEuX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5lYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuX19fZW1zY3JpcHRlbl9lbnZpcm9uX2NvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmZhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHdCPShBLl9fX2Vycm5vX2xvY2F0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmdhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5fX19nZXRUeXBlTmFtZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5oYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxGQj1BLl9fZ2V0X2RheWxpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmlhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR0I9QS5fX2dldF90aW1lem9uZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5qYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhCPUEuX19nZXRfdHpuYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLmthLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sc0I9QS5fZnJlZT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5sYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJCPUEuX21hbGxvYz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5tYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFVCPUEuX3NldFRocmV3PWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLm5hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seUI9KEEuc3RhY2tBbGxvYz1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5SYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuc3RhY2tSZXN0b3JlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLHRCPUEuc3RhY2tTYXZlPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sU0I9KEEuZHluQ2FsbF9kaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5vYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9kaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ucGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5xYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5yYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxNQj0oQS5keW5DYWxsX2lpZGlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uc2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnRhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLG5CPUEuZHluQ2FsbF9paWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnVhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sY0I9KEEuZHluQ2FsbF9paWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS52YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ud2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLnhhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2lpaWlpaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20ueWEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS56YS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpaT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5BYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF9paWlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uQmEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfaWlpaWlqPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkNhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX2ppamk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uRGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdj1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5FYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aT1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5GYS5hcHBseShudWxsLGFyZ3VtZW50cyl9KSxyQj0oQS5keW5DYWxsX3ZpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5HYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWY9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uSGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLklhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0pLGtCPShBLmR5bkNhbGxfdmlpZD1mdW5jdGlvbigpe3JldHVybiBBLmFzbS5KYS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEEuZHluQ2FsbF92aWlmPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLkthLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uTGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSksS0I9QS5keW5DYWxsX3ZpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk1hLmFwcGx5KG51bGwsYXJndW1lbnRzKX07ZnVuY3Rpb24gTkIoQSl7dGhpcy5uYW1lPVwiRXhpdFN0YXR1c1wiLHRoaXMubWVzc2FnZT1cIlByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoXCIrQStcIilcIix0aGlzLnN0YXR1cz1BfWZ1bmN0aW9uIFlCKEkpe2Z1bmN0aW9uIGcoKXtRQnx8KFFCPSEwLEp8fChSQSgpLFVBKCksQS5vblJ1bnRpbWVJbml0aWFsaXplZCYmQS5vblJ1bnRpbWVJbml0aWFsaXplZCgpLHlBKCkpKX1JPUl8fEMsa0E+MHx8KHNBKCksa0E+MHx8KEEuc2V0U3RhdHVzPyhBLnNldFN0YXR1cyhcIlJ1bm5pbmcuLi5cIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe0Euc2V0U3RhdHVzKFwiXCIpfSksMSksZygpfSksMSkpOmcoKSkpfWZ1bmN0aW9uIGVCKEksZyl7ZyYmYyYmMD09PUl8fChjfHwoSj0hMCxBLm9uRXhpdCYmQS5vbkV4aXQoSSkpLEUoSSxuZXcgTkIoSSkpKX1pZihBLmR5bkNhbGxfdmlpaWlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLk5hLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5keW5DYWxsX3ZpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uT2EuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpaWlpaWk9ZnVuY3Rpb24oKXtyZXR1cm4gQS5hc20uUGEuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBLmR5bkNhbGxfdmlpamlpPWZ1bmN0aW9uKCl7cmV0dXJuIEEuYXNtLlFhLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQS5hc209Q0IsQS5GUz1pSSxBLnRoZW49ZnVuY3Rpb24oSSl7aWYoUUIpSShBKTtlbHNle3ZhciBnPUEub25SdW50aW1lSW5pdGlhbGl6ZWQ7QS5vblJ1bnRpbWVJbml0aWFsaXplZD1mdW5jdGlvbigpe2cmJmcoKSxJKEEpfX1yZXR1cm4gQX0sTkE9ZnVuY3Rpb24gQSgpe1FCfHxZQigpLFFCfHwoTkE9QSl9LEEucnVuPVlCLEEucHJlSW5pdClmb3IoXCJmdW5jdGlvblwiPT10eXBlb2YgQS5wcmVJbml0JiYoQS5wcmVJbml0PVtBLnByZUluaXRdKTtBLnByZUluaXQubGVuZ3RoPjA7KUEucHJlSW5pdC5wb3AoKSgpO3JldHVybiBjPSEwLFlCKCksQX0pO2NvbnN0IEY9dyxHPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihBKXtGKHtvblJ1bnRpbWVJbml0aWFsaXplZDpmdW5jdGlvbigpe0Eoe2luc3RhbmNlOnRoaXN9KX19KX0pKX07dmFyIGg9Zyg2NjkpLHM9Zy5uKGgpLFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBBKCl7Qyh0aGlzLEEpfXZhciBnO3JldHVybiBFKEEsbnVsbCxbe2tleTpcImZldGNoUmVtb3RlRGF0YVwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5wcmV2PTAsQS5uZXh0PTMscygpLmdldChJLHtyZXNwb25zZVR5cGU6XCJhcnJheWJ1ZmZlclwifSk7Y2FzZSAzOnJldHVybiBnPUEuc2VudCxBLmFicnVwdChcInJldHVyblwiLG5ldyBVaW50OEFycmF5KGcuZGF0YSkpO2Nhc2UgNzp0aHJvdyBBLnByZXY9NyxBLnQwPUEuY2F0Y2goMCksQS50MDtjYXNlIDEwOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLG51bGwsW1swLDddXSl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBnLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5Olwic3RyaW5nMlVpbnQ4RGF0YVwiLHZhbHVlOmZ1bmN0aW9uKEEpe2Zvcih2YXIgST1uZXcgVWludDhBcnJheShBLmxlbmd0aCksZz0wO2c8SS5sZW5ndGg7ZysrKUlbZ109MjU1JkEuY2hhckNvZGVBdChnKTtyZXR1cm4gSX19LHtrZXk6XCJ1aW50OERhdGEyU3RyaW5nXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLEEpfX0se2tleTpcInBhcnNlTXVsdGlGaWxlXCIsdmFsdWU6ZnVuY3Rpb24oSSl7dmFyIGc9QS51aW50OERhdGEyU3RyaW5nKEkpLnNwbGl0KFwiXFxuXCIpLEI9W10sQz0wO3JldHVybiBnLmZvckVhY2goKGZ1bmN0aW9uKEEpe2lmKChBPUEudHJpbSgpKSYmIUEuc3RhcnRzV2l0aChcIiNcIikpc3dpdGNoKEMpe2Nhc2UgMDpyZXR1cm4gdm9pZChDPTEpO2Nhc2UgMTpBLm1hdGNoKC9eXFxkKyQvKXx8Qi5wdXNoKEEpO2Nhc2UgMjpjYXNlIDM6Y2FzZSA0OnJldHVybiB2b2lkIEMrKztjYXNlIDU6cmV0dXJuIHZvaWQoQz0xKX19KSksQn19XSksQX0oKSxVPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gQSgpe0ModGhpcyxBKSx0aGlzLmluc3RhbmNlLHRoaXMubWFya2VyQ291bnQ9MCx0aGlzLm11bHRpTWFya2VyQ291bnQ9MCx0aGlzLmNhbWVyYUNvdW50PTAsdGhpcy52ZXJzaW9uPVwiMC4xLjBcIixjb25zb2xlLmluZm8oXCJBUlRvb2xraXQgXCIsdGhpcy52ZXJzaW9uKX12YXIgQixRLGksRCxhO3JldHVybiBFKEEsW3trZXk6XCJpbml0XCIsdmFsdWU6KGE9SShvKCkubWFyaygoZnVuY3Rpb24gQSgpe3ZhciBJO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLEcoKTtjYXNlIDI6cmV0dXJuIEk9QS5zZW50LHRoaXMuaW5zdGFuY2U9SS5pbnN0YW5jZSx0aGlzLl9kZWNvcmF0ZSgpLChcInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93P3dpbmRvdzpnLmcpLmFydG9vbGtpdD10aGlzLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcyk7Y2FzZSA4OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiX2RlY29yYXRlXCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgQT10aGlzO2Zvcih2YXIgSSBpbltcInNldHVwXCIsXCJ0ZWFyZG93blwiLFwic2V0dXBBUjJcIixcInNldExvZ0xldmVsXCIsXCJnZXRMb2dMZXZlbFwiLFwic2V0RGVidWdNb2RlXCIsXCJnZXREZWJ1Z01vZGVcIixcImdldFByb2Nlc3NpbmdJbWFnZVwiLFwic2V0TWFya2VySW5mb0RpclwiLFwic2V0TWFya2VySW5mb1ZlcnRleFwiLFwiZ2V0VHJhbnNNYXRTcXVhcmVcIixcImdldFRyYW5zTWF0U3F1YXJlQ29udFwiLFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVwiLFwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdFwiLFwiZ2V0TXVsdGlNYXJrZXJOdW1cIixcImdldE11bHRpTWFya2VyQ291bnRcIixcImRldGVjdE1hcmtlclwiLFwiZ2V0TWFya2VyTnVtXCIsXCJkZXRlY3RORlRNYXJrZXJcIixcImdldE5GVE1hcmtlclwiLFwiZ2V0TWFya2VyXCIsXCJnZXRNdWx0aUVhY2hNYXJrZXJcIixcInNldFByb2plY3Rpb25OZWFyUGxhbmVcIixcImdldFByb2plY3Rpb25OZWFyUGxhbmVcIixcInNldFByb2plY3Rpb25GYXJQbGFuZVwiLFwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXCIsXCJzZXRUaHJlc2hvbGRNb2RlXCIsXCJnZXRUaHJlc2hvbGRNb2RlXCIsXCJzZXRUaHJlc2hvbGRcIixcImdldFRocmVzaG9sZFwiLFwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIixcImdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlXCIsXCJzZXRNYXRyaXhDb2RlVHlwZVwiLFwiZ2V0TWF0cml4Q29kZVR5cGVcIixcInNldExhYmVsaW5nTW9kZVwiLFwiZ2V0TGFiZWxpbmdNb2RlXCIsXCJzZXRQYXR0UmF0aW9cIixcImdldFBhdHRSYXRpb1wiLFwic2V0SW1hZ2VQcm9jTW9kZVwiLFwiZ2V0SW1hZ2VQcm9jTW9kZVwiXS5mb3JFYWNoKChmdW5jdGlvbihJKXtBW0ldPUEuaW5zdGFuY2VbSV19KSksdGhpcy5pbnN0YW5jZSlJLm1hdGNoKC9eQVIvKSYmKHRoaXNbSV09dGhpcy5pbnN0YW5jZVtJXSl9fSx7a2V5OlwibG9hZENhbWVyYVwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsQjtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKGc9XCIvY2FtZXJhX3BhcmFtX1wiK3RoaXMuY2FtZXJhQ291bnQrKywhKEkgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl7QS5uZXh0PTU7YnJlYWt9Qj1JLEEubmV4dD0xNDticmVhaztjYXNlIDU6cmV0dXJuIEEucHJldj01LEEubmV4dD04LFIuZmV0Y2hSZW1vdGVEYXRhKEkpO2Nhc2UgODpCPUEuc2VudCxBLm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0aHJvdyBBLnByZXY9MTEsQS50MD1BLmNhdGNoKDUpLEEudDA7Y2FzZSAxNDpyZXR1cm4gdGhpcy5fc3RvcmVEYXRhRmlsZShCLGcpLEEuYWJydXB0KFwicmV0dXJuXCIsdGhpcy5pbnN0YW5jZS5fbG9hZENhbWVyYShnKSk7Y2FzZSAxNjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIEQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJhZGRNYXJrZXJcIix2YWx1ZTooaT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEksZyl7dmFyIEIsQztyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEEpe2Zvcig7Oylzd2l0Y2goQS5wcmV2PUEubmV4dCl7Y2FzZSAwOmlmKEI9XCIvbWFya2VyX1wiK3RoaXMubWFya2VyQ291bnQrKywtMT09PWcuaW5kZXhPZihcIlxcblwiKSl7QS5uZXh0PTU7YnJlYWt9Qz1SLnN0cmluZzJVaW50OERhdGEoZyksQS5uZXh0PTE0O2JyZWFrO2Nhc2UgNTpyZXR1cm4gQS5wcmV2PTUsQS5uZXh0PTgsUi5mZXRjaFJlbW90ZURhdGEoZyk7Y2FzZSA4OkM9QS5zZW50LEEubmV4dD0xNDticmVhaztjYXNlIDExOnRocm93IEEucHJldj0xMSxBLnQwPUEuY2F0Y2goNSksQS50MDtjYXNlIDE0OnJldHVybiB0aGlzLl9zdG9yZURhdGFGaWxlKEMsQiksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzLmluc3RhbmNlLl9hZGRNYXJrZXIoSSxCKSk7Y2FzZSAxNjpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzLFtbNSwxMV1dKX0pKSksZnVuY3Rpb24oQSxJKXtyZXR1cm4gaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImFkZE11bHRpTWFya2VyXCIsdmFsdWU6KFE9SShvKCkubWFyaygoZnVuY3Rpb24gQShnLEIpe3ZhciBDLFEsRSxpLEQsYSx3O3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEM9XCIvbXVsdGlfbWFya2VyX1wiK3RoaXMubXVsdGlNYXJrZXJDb3VudCsrLEEubmV4dD0zLFIuZmV0Y2hSZW1vdGVEYXRhKEIpO2Nhc2UgMzpyZXR1cm4gUT1BLnNlbnQsRT1SLnBhcnNlTXVsdGlGaWxlKFEpLGk9ZnVuY3Rpb24oKXt2YXIgQT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKEkpe3ZhciBnLEM7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gZz1uZXcgVVJMKEksQikudG9TdHJpbmcoKSxBLm5leHQ9MyxSLmZldGNoUmVtb3RlRGF0YShnKTtjYXNlIDM6Qz1BLnNlbnQsdGhpcy5fc3RvcmVEYXRhRmlsZShDLEkpO2Nhc2UgNTpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKEkpe3JldHVybiBBLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCksRD1FLm1hcChpLHRoaXMpLEEubmV4dD05LFByb21pc2UuYWxsKEQpO2Nhc2UgOTpyZXR1cm4gYT10aGlzLmluc3RhbmNlLl9hZGRNdWx0aU1hcmtlcihnLEMpLHc9dGhpcy5pbnN0YW5jZS5nZXRNdWx0aU1hcmtlck51bShnLGEpLEEuYWJydXB0KFwicmV0dXJuXCIsW2Esd10pO2Nhc2UgMTI6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIFEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJhZGRORlRNYXJrZXJcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKGcsQil7dmFyIEMsUSxFLGk7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQz1cIi9tYXJrZXJORlRfXCIrdGhpcy5tYXJrZXJDb3VudCsrLFE9W1wiZnNldFwiLFwiaXNldFwiLFwiZnNldDNcIl0sRT1mdW5jdGlvbigpe3ZhciBBPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGcsUSxFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIGc9QitcIi5cIitJLFE9QytcIi5cIitJLEEubmV4dD00LFIuZmV0Y2hSZW1vdGVEYXRhKGcpO2Nhc2UgNDpFPUEuc2VudCx0aGlzLl9zdG9yZURhdGFGaWxlKEUsUSk7Y2FzZSA2OmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oSSl7cmV0dXJuIEEuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxpPVEubWFwKEUsdGhpcyksQS5uZXh0PTYsUHJvbWlzZS5hbGwoaSk7Y2FzZSA2OnJldHVybiBBLmFicnVwdChcInJldHVyblwiLHRoaXMuaW5zdGFuY2UuX2FkZE5GVE1hcmtlcihnLEMpKTtjYXNlIDc6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEsSSl7cmV0dXJuIEIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJfc3RvcmVEYXRhRmlsZVwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dGhpcy5pbnN0YW5jZS5GUy53cml0ZUZpbGUoSSxBLHtlbmNvZGluZzpcImJpbmFyeVwifSl9fV0sW3trZXk6XCJVTktOT1dOX01BUktFUlwiLGdldDpmdW5jdGlvbigpe3JldHVybi0xfX0se2tleTpcIlBBVFRFUk5fTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7a2V5OlwiQkFSQ09ERV9NQVJLRVJcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMX19LHtrZXk6XCJORlRfTUFSS0VSXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDJ9fV0pLEF9KCk7ZnVuY3Rpb24geShBLEksZyl7cmV0dXJuIEkgaW4gQT9PYmplY3QuZGVmaW5lUHJvcGVydHkoQSxJLHt2YWx1ZTpnLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6QVtJXT1nLEF9ZnVuY3Rpb24gdChBLEkpe3ZhciBnPU9iamVjdC5rZXlzKEEpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciBCPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoQSk7SSYmKEI9Qi5maWx0ZXIoKGZ1bmN0aW9uKEkpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEEsSSkuZW51bWVyYWJsZX0pKSksZy5wdXNoLmFwcGx5KGcsQil9cmV0dXJuIGd9ZnVuY3Rpb24gUyhBKXtmb3IodmFyIEk9MTtJPGFyZ3VtZW50cy5sZW5ndGg7SSsrKXt2YXIgZz1udWxsIT1hcmd1bWVudHNbSV0/YXJndW1lbnRzW0ldOnt9O0klMj90KE9iamVjdChnKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oSSl7eShBLEksZ1tJXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhnKSk6dChPYmplY3QoZykpLmZvckVhY2goKGZ1bmN0aW9uKEkpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShBLEksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnLEkpKX0pKX1yZXR1cm4gQX12YXIgTT1mdW5jdGlvbigpe2Z1bmN0aW9uIEEoSSxnLEIsUSl7Qyh0aGlzLEEpLHRoaXMub3B0aW9ucz1TKFMoe30se2NhbnZhczpudWxsLG9yaWVudGF0aW9uOlwibGFuZHNjYXBlXCJ9KSxRKSx0aGlzLmlkPS0xLHRoaXMud2lkdGg9SSx0aGlzLmhlaWdodD1nLHRoaXMuaW1hZ2UsdGhpcy5vcmllbnRhdGlvbj10aGlzLm9wdGlvbnMub3JpZW50YXRpb24sdGhpcy5jYW1lcmFQYXJhbT1CLHRoaXMuY2FtZXJhSWQ9LTEsdGhpcy5jYW1lcmFMb2FkZWQ9ITEsdGhpcy5hcnRvb2xraXQsdGhpcy5saXN0ZW5lcnM9e30sdGhpcy5kZWZhdWx0TWFya2VyV2lkdGg9MSx0aGlzLnBhdHRlcm5NYXJrZXJzPXt9LHRoaXMuYmFyY29kZU1hcmtlcnM9e30sdGhpcy5uZnRNYXJrZXJzPXt9LHRoaXMudHJhbnNmb3JtX21hdD1uZXcgRmxvYXQzMkFycmF5KDE2KSx0aGlzLnRyYW5zZm9ybUdMX1JIPW5ldyBGbG9hdDY0QXJyYXkoMTYpLHRoaXMudmlkZW9XaWR0aD1JLHRoaXMudmlkZW9IZWlnaHQ9Zyx0aGlzLnZpZGVvU2l6ZT10aGlzLnZpZGVvV2lkdGgqdGhpcy52aWRlb0hlaWdodCx0aGlzLmZyYW1lcG9pbnRlcj1udWxsLHRoaXMuZnJhbWVzaXplPW51bGwsdGhpcy5kYXRhSGVhcD1udWxsLHRoaXMudmlkZW9MdW1hPW51bGwsdGhpcy5jYW1lcmFfbWF0PW51bGwsdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdD1udWxsLHRoaXMudmlkZW9MdW1hUG9pbnRlcj1udWxsLHRoaXMub3B0aW9ucy5jYW52YXM/dGhpcy5jYW52YXM9dGhpcy5vcHRpb25zLmNhbnZhczpcInVuZGVmaW5lZFwiIT10eXBlb2YgZG9jdW1lbnQmJih0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpKSx0aGlzLmNhbnZhcz8odGhpcy5jYW52YXMud2lkdGg9SSx0aGlzLmNhbnZhcy5oZWlnaHQ9Zyx0aGlzLmN0eD10aGlzLmNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIikpOmNvbnNvbGUud2FybihcIk5vIGNhbnZhcyBhdmFpbGFibGVcIiksdGhpcy5uZnRNYXJrZXJGb3VuZD0hMSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT0hMSx0aGlzLm5mdE1hcmtlckNvdW50PTAsdGhpcy5fYndwb2ludGVyPSExfXZhciBnLEIsUSxpLEQsYTtyZXR1cm4gRShBLFt7a2V5OlwiZGlzcG9zZVwiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBIGluIHRoaXMuY2FtZXJhSWQ9LTEsdGhpcy5jYW1lcmFQYXJhbT1cIlwiLHRoaXMuY2FtZXJhTG9hZGVkPSExLHRoaXMuaWQ+LTEmJnRoaXMuYXJ0b29sa2l0LnRlYXJkb3duKHRoaXMuaWQpLHRoaXMuaW1hZ2UmJnRoaXMuaW1hZ2Uuc3JjT2JqZWN0LHRoaXMpdGhpc1tBXT1udWxsfX0se2tleTpcInByb2Nlc3NcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmRldGVjdE1hcmtlcihBKTswIT1JJiZjb25zb2xlLmVycm9yKFwiW0FSQ29udHJvbGxlcl1cIixcImRldGVjdE1hcmtlciBlcnJvcjpcIixJKTt2YXIgZyxCLEM9dGhpcy5nZXRNYXJrZXJOdW0oKTtmb3IoZyBpbiB0aGlzLnBhdHRlcm5NYXJrZXJzKShCPXRoaXMucGF0dGVybk1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKGcgaW4gdGhpcy5iYXJjb2RlTWFya2VycykoQj10aGlzLmJhcmNvZGVNYXJrZXJzW2ddKS5pblByZXZpb3VzPUIuaW5DdXJyZW50LEIuaW5DdXJyZW50PSExO2ZvcihnIGluIHRoaXMubmZ0TWFya2VycykoQj10aGlzLm5mdE1hcmtlcnNbZ10pLmluUHJldmlvdXM9Qi5pbkN1cnJlbnQsQi5pbkN1cnJlbnQ9ITE7Zm9yKHZhciBRPTA7UTxDO1ErKyl7dmFyIEU9dGhpcy5nZXRNYXJrZXIoUSksaT1VLlVOS05PV05fTUFSS0VSLG89dGhpcy50cmFja1BhdHRlcm5NYXJrZXJJZCgtMSk7RS5pZFBhdHQ+LTEmJihFLmlkPT09RS5pZFBhdHR8fC0xPT09RS5pZE1hdHJpeCk/KG89dGhpcy50cmFja1BhdHRlcm5NYXJrZXJJZChFLmlkUGF0dCksaT1VLlBBVFRFUk5fTUFSS0VSLEUuZGlyIT09RS5kaXJQYXR0JiZ0aGlzLnNldE1hcmtlckluZm9EaXIoUSxFLmRpclBhdHQpKTpFLmlkTWF0cml4Pi0xJiYobz10aGlzLnRyYWNrQmFyY29kZU1hcmtlcklkKEUuaWRNYXRyaXgpLGk9VS5CQVJDT0RFX01BUktFUixFLmRpciE9PUUuZGlyTWF0cml4JiZ0aGlzLnNldE1hcmtlckluZm9EaXIoUSxFLmRpck1hdHJpeCkpLGkhPT1VLlVOS05PV05fTUFSS0VSJiZvLmluUHJldmlvdXM/dGhpcy5nZXRUcmFuc01hdFNxdWFyZUNvbnQoUSxvLm1hcmtlcldpZHRoLG8ubWF0cml4LG8ubWF0cml4KTp0aGlzLmdldFRyYW5zTWF0U3F1YXJlKFEsby5tYXJrZXJXaWR0aCxvLm1hdHJpeCksby5pbkN1cnJlbnQ9ITAsdGhpcy50cmFuc01hdFRvR0xNYXQoby5tYXRyaXgsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLmRpc3BhdGNoRXZlbnQoe25hbWU6XCJnZXRNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOntpbmRleDpRLHR5cGU6aSxtYXJrZXI6RSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9dmFyIEQ9dGhpcy5uZnRNYXJrZXJDb3VudDt0aGlzLmRldGVjdE5GVE1hcmtlcigpO2Zvcih2YXIgYT0wO2E8RDthKyspe3ZhciB3PXRoaXMuZ2V0TkZUTWFya2VyKGEpLEY9VS5ORlRfTUFSS0VSO2lmKHcuZm91bmQpe3RoaXMubmZ0TWFya2VyRm91bmQ9YSx0aGlzLm5mdE1hcmtlckZvdW5kVGltZT1EYXRlLm5vdygpO3ZhciBHPXRoaXMudHJhY2tORlRNYXJrZXJJZChhKTtHLm1hdHJpeC5zZXQody5wb3NlKSxHLmluQ3VycmVudD0hMCx0aGlzLnRyYW5zTWF0VG9HTE1hdChHLm1hdHJpeCx0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMudHJhbnNmb3JtR0xfUkg9dGhpcy5hcmdsQ2FtZXJhVmlld1JIZih0aGlzLnRyYW5zZm9ybV9tYXQpLHRoaXMuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImdldE5GVE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OmEsdHlwZTpGLG1hcmtlcjp3LG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KX1lbHNlIHNlbGYubmZ0TWFya2VyRm91bmQ9PT1hJiZEYXRlLm5vdygpLXRoaXMubmZ0TWFya2VyRm91bmRUaW1lPjIwMCYmKHRoaXMubmZ0TWFya2VyRm91bmQ9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwibG9zdE5GVE1hcmtlclwiLHRhcmdldDp0aGlzLGRhdGE6e2luZGV4OmEsdHlwZTpGLG1hcmtlcjp3LG1hdHJpeDp0aGlzLnRyYW5zZm9ybV9tYXQsbWF0cml4R0xfUkg6dGhpcy50cmFuc2Zvcm1HTF9SSH19KSl9Zm9yKHZhciBoPXRoaXMuZ2V0TXVsdGlNYXJrZXJDb3VudCgpLHM9MDtzPGg7cysrKXt2YXIgUj10aGlzLmdldE11bHRpTWFya2VyUGF0dGVybkNvdW50KHMpLHk9ITE7dGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdCh0aGlzLmlkLHMpLHRoaXMudHJhbnNNYXRUb0dMTWF0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQsdGhpcy50cmFuc2Zvcm1fbWF0KSx0aGlzLnRyYW5zZm9ybUdMX1JIPXRoaXMuYXJnbENhbWVyYVZpZXdSSGYodGhpcy50cmFuc2Zvcm1fbWF0KTtmb3IodmFyIHQ9MDt0PFI7dCsrKWlmKChNPXRoaXMuZ2V0TXVsdGlFYWNoTWFya2VyKHMsdCkpLnZpc2libGU+PTApe3k9ITAsdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TXVsdGlNYXJrZXJcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWF0cml4OnRoaXMudHJhbnNmb3JtX21hdCxtYXRyaXhHTF9SSDp0aGlzLnRyYW5zZm9ybUdMX1JIfX0pO2JyZWFrfWlmKHkpZm9yKHZhciBTPTA7UzxSO1MrKyl7dmFyIE09dGhpcy5nZXRNdWx0aUVhY2hNYXJrZXIocyxTKTt0aGlzLnRyYW5zTWF0VG9HTE1hdCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0LHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy50cmFuc2Zvcm1HTF9SSD10aGlzLmFyZ2xDYW1lcmFWaWV3UkhmKHRoaXMudHJhbnNmb3JtX21hdCksdGhpcy5kaXNwYXRjaEV2ZW50KHtuYW1lOlwiZ2V0TXVsdGlNYXJrZXJTdWJcIix0YXJnZXQ6dGhpcyxkYXRhOnttdWx0aU1hcmtlcklkOnMsbWFya2VySW5kZXg6UyxtYXJrZXI6TSxtYXRyaXg6dGhpcy50cmFuc2Zvcm1fbWF0LG1hdHJpeEdMX1JIOnRoaXMudHJhbnNmb3JtR0xfUkh9fSl9fXRoaXMuX2J3cG9pbnRlciYmdGhpcy5kZWJ1Z0RyYXcoKX19LHtrZXk6XCJkZXRlY3RORlRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LmRldGVjdE5GVE1hcmtlcih0aGlzLmlkKX19LHtrZXk6XCJ0cmFja1BhdHRlcm5NYXJrZXJJZFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5wYXR0ZXJuTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMucGF0dGVybk1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJ0cmFja0JhcmNvZGVNYXJrZXJJZFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7dmFyIGc9dGhpcy5iYXJjb2RlTWFya2Vyc1tBXTtyZXR1cm4gZ3x8KHRoaXMuYmFyY29kZU1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJ0cmFja05GVE1hcmtlcklkXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXt2YXIgZz10aGlzLm5mdE1hcmtlcnNbQV07cmV0dXJuIGd8fCh0aGlzLm5mdE1hcmtlcnNbQV09Zz17aW5QcmV2aW91czohMSxpbkN1cnJlbnQ6ITEsbWF0cml4Om5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hdHJpeEdMX1JIOm5ldyBGbG9hdDY0QXJyYXkoMTIpLG1hcmtlcldpZHRoOkl8fHRoaXMuZGVmYXVsdE1hcmtlcldpZHRofSksSSYmKGcubWFya2VyV2lkdGg9SSksZ319LHtrZXk6XCJnZXRNdWx0aU1hcmtlckNvdW50XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TXVsdGlNYXJrZXJDb3VudCh0aGlzLmlkKX19LHtrZXk6XCJnZXRNdWx0aU1hcmtlclBhdHRlcm5Db3VudFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNdWx0aU1hcmtlck51bSh0aGlzLmlkLEEpfX0se2tleTpcImFkZEV2ZW50TGlzdGVuZXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3RoaXMubGlzdGVuZXJzW0FdfHwodGhpcy5saXN0ZW5lcnNbQV09W10pLHRoaXMubGlzdGVuZXJzW0FdLnB1c2goSSl9fSx7a2V5OlwicmVtb3ZlRXZlbnRMaXN0ZW5lclwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7aWYodGhpcy5saXN0ZW5lcnNbQV0pe3ZhciBnPXRoaXMubGlzdGVuZXJzW0FdLmluZGV4T2YoSSk7Zz4tMSYmdGhpcy5saXN0ZW5lcnNbQV0uc3BsaWNlKGcsMSl9fX0se2tleTpcImRpc3BhdGNoRXZlbnRcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgST10aGlzLmxpc3RlbmVyc1tBLm5hbWVdO2lmKEkpZm9yKHZhciBnPTA7ZzxJLmxlbmd0aDtnKyspSVtnXS5jYWxsKHRoaXMsQSl9fSx7a2V5OlwiZGVidWdTZXR1cFwiLHZhbHVlOmZ1bmN0aW9uKCl7XCJ1bmRlZmluZWRcIiE9dHlwZW9mIGRvY3VtZW50Pyhkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSx0aGlzLnNldERlYnVnTW9kZSghMCksdGhpcy5fYndwb2ludGVyPXRoaXMuZ2V0UHJvY2Vzc2luZ0ltYWdlKCkpOmNvbnNvbGUubG9nKFwiZGVidWdTZXR1cCgpIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIEJyb3dzZXIgZW52aXJvbm1lbnRzXCIpfX0se2tleTpcImRlYnVnRHJhd1wiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciBBPW5ldyBVaW50OENsYW1wZWRBcnJheSh0aGlzLmFydG9vbGtpdC5pbnN0YW5jZS5IRUFQVTguYnVmZmVyLHRoaXMuX2J3cG9pbnRlcix0aGlzLmZyYW1lc2l6ZSksST1uZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheSh0aGlzLmNhbnZhcy53aWR0aCp0aGlzLmNhbnZhcy5oZWlnaHQqNCksdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSxnPTAsQj0wO2c8QS5sZW5ndGg7ZysrLEIrPTQpe3ZhciBDPUFbZ107SS5kYXRhW0IrMF09QyxJLmRhdGFbQisxXT1DLEkuZGF0YVtCKzJdPUMsSS5kYXRhW0IrM109MjU1fXRoaXMuY3R4LnB1dEltYWdlRGF0YShJLDAsMCk7Zm9yKHZhciBRPXRoaXMuZ2V0TWFya2VyTnVtKCksRT0wO0U8UTtFKyspdGhpcy5kcmF3RGVidWdNYXJrZXIodGhpcy5nZXRNYXJrZXIoRSkpfX0se2tleTpcImRyYXdEZWJ1Z01hcmtlclwiLHZhbHVlOmZ1bmN0aW9uKEEpe3ZhciBJPUEudmVydGV4LGc9QS5wb3MsQj10aGlzLmN0eDtCLmxpbmVXaWR0aD01LEIuc3Ryb2tlU3R5bGU9XCJyZWRcIixCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbMF1bMF0sSVswXVsxXSksQi5saW5lVG8oSVsxXVswXSxJWzFdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5tb3ZlVG8oSVsyXVswXSxJWzJdWzFdKSxCLmxpbmVUbyhJWzNdWzBdLElbM11bMV0pLEIuc3Ryb2tlKCksQi5zdHJva2VTdHlsZT1cImdyZWVuXCIsQi5iZWdpblBhdGgoKSxCLmxpbmVUbyhJWzFdWzBdLElbMV1bMV0pLEIubGluZVRvKElbMl1bMF0sSVsyXVsxXSksQi5zdHJva2UoKSxCLmJlZ2luUGF0aCgpLEIubW92ZVRvKElbM11bMF0sSVszXVsxXSksQi5saW5lVG8oSVswXVswXSxJWzBdWzFdKSxCLnN0cm9rZSgpLEIuYmVnaW5QYXRoKCksQi5hcmMoZ1swXSxnWzFdLDgsMCwyKk1hdGguUEkpLEIuZmlsbFN0eWxlPVwicmVkXCIsQi5maWxsKCl9fSx7a2V5OlwibG9hZE1hcmtlclwiLHZhbHVlOihhPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBBLmFicnVwdChcInJldHVyblwiLEEuc2VudCk7Y2FzZSAzOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbihBKXtyZXR1cm4gYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9KX0se2tleTpcImxvYWRNdWx0aU1hcmtlclwiLHZhbHVlOihEPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTXVsdGlNYXJrZXIodGhpcy5pZCxJKTtjYXNlIDI6cmV0dXJuIEEuYWJydXB0KFwicmV0dXJuXCIsQS5zZW50KTtjYXNlIDM6Y2FzZVwiZW5kXCI6cmV0dXJuIEEuc3RvcCgpfX0pLEEsdGhpcyl9KSkpLGZ1bmN0aW9uKEEpe3JldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwibG9hZE5GVE1hcmtlclwiLHZhbHVlOihpPUkobygpLm1hcmsoKGZ1bmN0aW9uIEEoSSl7dmFyIGc7cmV0dXJuIG8oKS53cmFwKChmdW5jdGlvbihBKXtmb3IoOzspc3dpdGNoKEEucHJldj1BLm5leHQpe2Nhc2UgMDpyZXR1cm4gQS5uZXh0PTIsdGhpcy5hcnRvb2xraXQuYWRkTkZUTWFya2VyKHRoaXMuaWQsSSk7Y2FzZSAyOnJldHVybiBnPUEuc2VudCx0aGlzLm5mdE1hcmtlckNvdW50PWcrMSxBLmFicnVwdChcInJldHVyblwiLGcpO2Nhc2UgNTpjYXNlXCJlbmRcIjpyZXR1cm4gQS5zdG9wKCl9fSksQSx0aGlzKX0pKSksZnVuY3Rpb24oQSl7cmV0dXJuIGkuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9LHtrZXk6XCJnZXRUcmFuc01hdFNxdWFyZVwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRTcXVhcmUodGhpcy5pZCxBLEkpLGcuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLGd9fSx7a2V5OlwiZ2V0VHJhbnNNYXRTcXVhcmVDb250XCIsdmFsdWU6ZnVuY3Rpb24oQSxJLGcsQil7cmV0dXJuIHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQuc2V0KGcpLHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0U3F1YXJlQ29udCh0aGlzLmlkLEEsSSksQi5zZXQodGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdCksQn19LHtrZXk6XCJnZXRUcmFuc01hdE11bHRpU3F1YXJlXCIsdmFsdWU6ZnVuY3Rpb24oQSxJKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZSh0aGlzLmlkLEEpLEkuc2V0KHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXQpLEl9fSx7a2V5OlwiZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZVJvYnVzdFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFRyYW5zTWF0TXVsdGlTcXVhcmUodGhpcy5pZCxBKSxJLnNldCh0aGlzLm1hcmtlcl90cmFuc2Zvcm1fbWF0KSxJfX0se2tleTpcInRyYW5zTWF0VG9HTE1hdFwiLHZhbHVlOmZ1bmN0aW9uKEEsSSxnKXtyZXR1cm4gbnVsbD09SSYmKEk9bmV3IEZsb2F0NjRBcnJheSgxNikpLElbMF09QVswXSxJWzRdPUFbMV0sSVs4XT1BWzJdLElbMTJdPUFbM10sSVsxXT1BWzRdLElbNV09QVs1XSxJWzldPUFbNl0sSVsxM109QVs3XSxJWzJdPUFbOF0sSVs2XT1BWzldLElbMTBdPUFbMTBdLElbMTRdPUFbMTFdLElbM109MCxJWzddPTAsSVsxMV09MCxJWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoSVsxMl0qPWcsSVsxM10qPWcsSVsxNF0qPWcpLEl9fSx7a2V5OlwiYXJnbENhbWVyYVZpZXdSSGZcIix2YWx1ZTpmdW5jdGlvbihBLEksZyl7dmFyIEI7cmV0dXJuKEI9bnVsbD09ST9uZXcgRmxvYXQ2NEFycmF5KDE2KTpJKVswXT1BWzBdLEJbNF09QVs0XSxCWzhdPUFbOF0sQlsxMl09QVsxMl0sQlsxXT0tQVsxXSxCWzVdPS1BWzVdLEJbOV09LUFbOV0sQlsxM109LUFbMTNdLEJbMl09LUFbMl0sQls2XT0tQVs2XSxCWzEwXT0tQVsxMF0sQlsxNF09LUFbMTRdLEJbM109MCxCWzddPTAsQlsxMV09MCxCWzE1XT0xLG51bGwhPWcmJjAhPT1nJiYoQlsxMl0qPWcsQlsxM10qPWcsQlsxNF0qPWcpLEJ9fSx7a2V5OlwiZGV0ZWN0TWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX2NvcHlJbWFnZVRvSGVhcChBKT90aGlzLmFydG9vbGtpdC5kZXRlY3RNYXJrZXIodGhpcy5pZCk6LTk5fX0se2tleTpcImdldE1hcmtlck51bVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldE1hcmtlck51bSh0aGlzLmlkKX19LHtrZXk6XCJnZXRNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBKXtpZigwPT09dGhpcy5hcnRvb2xraXQuZ2V0TWFya2VyKHRoaXMuaWQsQSkpcmV0dXJuIHRoaXMuYXJ0b29sa2l0Lm1hcmtlckluZm99fSx7a2V5OlwiZ2V0TkZUTWFya2VyXCIsdmFsdWU6ZnVuY3Rpb24oQSl7aWYoMD09PXRoaXMuYXJ0b29sa2l0LmdldE5GVE1hcmtlcih0aGlzLmlkLEEpKXJldHVybiB0aGlzLmFydG9vbGtpdC5ORlRNYXJrZXJJbmZvfX0se2tleTpcInNldE1hcmtlckluZm9WZXJ0ZXhcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2Zvcih2YXIgZz0wO2c8SS5sZW5ndGg7ZysrKXRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXRbMipnKzBdPUlbZ11bMF0sdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdFsyKmcrMV09SVtnXVsxXTtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TWFya2VySW5mb1ZlcnRleCh0aGlzLmlkLEEpfX0se2tleTpcImNsb25lTWFya2VySW5mb1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KEEpKX19LHtrZXk6XCJnZXRNdWx0aUVhY2hNYXJrZXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe2lmKDA9PT10aGlzLmFydG9vbGtpdC5nZXRNdWx0aUVhY2hNYXJrZXIodGhpcy5pZCxBLEkpKXJldHVybiB0aGlzLmFydG9vbGtpdC5tdWx0aUVhY2hNYXJrZXJJbmZvfX0se2tleTpcImdldFRyYW5zZm9ybWF0aW9uTWF0cml4XCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmFuc2Zvcm1fbWF0fX0se2tleTpcImdldENhbWVyYU1hdHJpeFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FtZXJhX21hdH19LHtrZXk6XCJnZXRNYXJrZXJUcmFuc2Zvcm1hdGlvbk1hdHJpeFwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFya2VyX3RyYW5zZm9ybV9tYXR9fSx7a2V5Olwic2V0RGVidWdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldERlYnVnTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldERlYnVnTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldERlYnVnTW9kZSh0aGlzLmlkKX19LHtrZXk6XCJnZXRQcm9jZXNzaW5nSW1hZ2VcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQcm9jZXNzaW5nSW1hZ2UodGhpcy5pZCl9fSx7a2V5Olwic2V0TG9nTGV2ZWxcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TG9nTGV2ZWwoQSl9fSx7a2V5OlwiZ2V0TG9nTGV2ZWxcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRMb2dMZXZlbCgpfX0se2tleTpcInNldE1hcmtlckluZm9EaXJcIix2YWx1ZTpmdW5jdGlvbihBLEkpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRNYXJrZXJJbmZvRGlyKHRoaXMuaWQsQSxJKX19LHtrZXk6XCJzZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldFByb2plY3Rpb25OZWFyUGxhbmUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQcm9qZWN0aW9uTmVhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbk5lYXJQbGFuZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRQcm9qZWN0aW9uRmFyUGxhbmVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UHJvamVjdGlvbkZhclBsYW5lKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0UHJvamVjdGlvbkZhclBsYW5lXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0UHJvamVjdGlvbkZhclBsYW5lKHRoaXMuaWQpfX0se2tleTpcInNldFRocmVzaG9sZE1vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0VGhyZXNob2xkTW9kZSh0aGlzLmlkLEEpfX0se2tleTpcImdldFRocmVzaG9sZE1vZGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGRNb2RlKHRoaXMuaWQpfX0se2tleTpcInNldFRocmVzaG9sZFwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRUaHJlc2hvbGQodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRUaHJlc2hvbGRcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRUaHJlc2hvbGQodGhpcy5pZCl9fSx7a2V5Olwic2V0UGF0dGVybkRldGVjdGlvbk1vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0UGF0dGVybkRldGVjdGlvbk1vZGUodGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlKHRoaXMuaWQpfX0se2tleTpcInNldE1hdHJpeENvZGVUeXBlXCIsdmFsdWU6ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LnNldE1hdHJpeENvZGVUeXBlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0TWF0cml4Q29kZVR5cGVcIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRNYXRyaXhDb2RlVHlwZSh0aGlzLmlkKX19LHtrZXk6XCJzZXRMYWJlbGluZ01vZGVcIix2YWx1ZTpmdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuc2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0TGFiZWxpbmdNb2RlXCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hcnRvb2xraXQuZ2V0TGFiZWxpbmdNb2RlKHRoaXMuaWQpfX0se2tleTpcInNldFBhdHRSYXRpb1wiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRQYXR0UmF0aW8odGhpcy5pZCxBKX19LHtrZXk6XCJnZXRQYXR0UmF0aW9cIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFydG9vbGtpdC5nZXRQYXR0UmF0aW8odGhpcy5pZCl9fSx7a2V5Olwic2V0SW1hZ2VQcm9jTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLmFydG9vbGtpdC5zZXRJbWFnZVByb2NNb2RlKHRoaXMuaWQsQSl9fSx7a2V5OlwiZ2V0SW1hZ2VQcm9jTW9kZVwiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXJ0b29sa2l0LmdldEltYWdlUHJvY01vZGUodGhpcy5pZCl9fSx7a2V5OlwiX2luaXRpYWxpemVcIix2YWx1ZTooUT1JKG8oKS5tYXJrKChmdW5jdGlvbiBBKCl7dmFyIEksZz10aGlzO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oQSl7Zm9yKDs7KXN3aXRjaChBLnByZXY9QS5uZXh0KXtjYXNlIDA6cmV0dXJuIEEubmV4dD0yLChuZXcgVSkuaW5pdCgpO2Nhc2UgMjpyZXR1cm4gdGhpcy5hcnRvb2xraXQ9QS5zZW50LGNvbnNvbGUubG9nKFwiW0FSQ29udHJvbGxlcl1cIixcIkFSVG9vbGtpdCBpbml0aWFsaXplZFwiKSxBLm5leHQ9Nix0aGlzLmFydG9vbGtpdC5sb2FkQ2FtZXJhKHRoaXMuY2FtZXJhUGFyYW0pO2Nhc2UgNjpyZXR1cm4gdGhpcy5jYW1lcmFJZD1BLnNlbnQsY29uc29sZS5sb2coXCJbQVJDb250cm9sbGVyXVwiLFwiQ2FtZXJhIHBhcmFtcyBsb2FkZWQgd2l0aCBJRFwiLHRoaXMuY2FtZXJhSWQpLHRoaXMuaWQ9dGhpcy5hcnRvb2xraXQuc2V0dXAodGhpcy53aWR0aCx0aGlzLmhlaWdodCx0aGlzLmNhbWVyYUlkKSxjb25zb2xlLmxvZyhcIltBUkNvbnRyb2xsZXJdXCIsXCJHb3QgSUQgZnJvbSBzZXR1cFwiLHRoaXMuaWQpLHRoaXMuX2luaXRORlQoKSxJPWFydG9vbGtpdC5mcmFtZU1hbGxvYyx0aGlzLmZyYW1lcG9pbnRlcj1JLmZyYW1lcG9pbnRlcix0aGlzLmZyYW1lc2l6ZT1JLmZyYW1lc2l6ZSx0aGlzLnZpZGVvTHVtYVBvaW50ZXI9SS52aWRlb0x1bWFQb2ludGVyLHRoaXMuZGF0YUhlYXA9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLmZyYW1lcG9pbnRlcix0aGlzLmZyYW1lc2l6ZSksdGhpcy52aWRlb0x1bWE9bmV3IFVpbnQ4QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcix0aGlzLnZpZGVvTHVtYVBvaW50ZXIsdGhpcy5mcmFtZXNpemUvNCksdGhpcy5jYW1lcmFfbWF0PW5ldyBGbG9hdDY0QXJyYXkodGhpcy5hcnRvb2xraXQuaW5zdGFuY2UuSEVBUFU4LmJ1ZmZlcixJLmNhbWVyYSwxNiksdGhpcy5tYXJrZXJfdHJhbnNmb3JtX21hdD1uZXcgRmxvYXQ2NEFycmF5KHRoaXMuYXJ0b29sa2l0Lmluc3RhbmNlLkhFQVBVOC5idWZmZXIsSS50cmFuc2Zvcm0sMTIpLHRoaXMuc2V0UHJvamVjdGlvbk5lYXJQbGFuZSguMSksdGhpcy5zZXRQcm9qZWN0aW9uRmFyUGxhbmUoMWUzKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2cuZGlzcGF0Y2hFdmVudCh7bmFtZTpcImxvYWRcIix0YXJnZXQ6Z30pfSksMSksQS5hYnJ1cHQoXCJyZXR1cm5cIix0aGlzKTtjYXNlIDIzOmNhc2VcImVuZFwiOnJldHVybiBBLnN0b3AoKX19KSxBLHRoaXMpfSkpKSxmdW5jdGlvbigpe3JldHVybiBRLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiX2luaXRORlRcIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYXJ0b29sa2l0LnNldHVwQVIyKHRoaXMuaWQpfX0se2tleTpcIl9jb3B5SW1hZ2VUb0hlYXBcIix2YWx1ZTpmdW5jdGlvbihBKXt2YXIgSTtpZihBfHwoQT10aGlzLmltYWdlKSxBLmRhdGE/ST1BLmRhdGE6KHRoaXMuY3R4LnNhdmUoKSxcInBvcnRyYWl0XCI9PT10aGlzLm9yaWVudGF0aW9uP3RoaXMuY3R4LmRyYXdJbWFnZShBLDAsMCx0aGlzLmNhbnZhcy5oZWlnaHQsdGhpcy5jYW52YXMud2lkdGgpOnRoaXMuY3R4LmRyYXdJbWFnZShBLDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMuY3R4LnJlc3RvcmUoKSxJPXRoaXMuY3R4LmdldEltYWdlRGF0YSgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KS5kYXRhKSx0aGlzLnZpZGVvTHVtYSlmb3IodmFyIGc9MCxCPTA7Qjx0aGlzLnZpZGVvU2l6ZTtCKyspe3ZhciBDPUlbZyswXSxRPUlbZysxXSxFPUlbZysyXTt0aGlzLnZpZGVvTHVtYVtCXT1DK0MrQytFK1ErUStRK1E+PjMsZys9NH1yZXR1cm4hIXRoaXMuZGF0YUhlYXAmJih0aGlzLmRhdGFIZWFwLnNldChJKSwhMCl9fV0sW3trZXk6XCJpbml0V2l0aERpbWVuc2lvbnNcIix2YWx1ZTooQj1JKG8oKS5tYXJrKChmdW5jdGlvbiBJKGcsQixDLFEpe3ZhciBFO3JldHVybiBvKCkud3JhcCgoZnVuY3Rpb24oSSl7Zm9yKDs7KXN3aXRjaChJLnByZXY9SS5uZXh0KXtjYXNlIDA6cmV0dXJuIEU9bmV3IEEoZyxCLEMsUSksSS5uZXh0PTMsRS5faW5pdGlhbGl6ZSgpO2Nhc2UgMzpyZXR1cm4gSS5hYnJ1cHQoXCJyZXR1cm5cIixJLnNlbnQpO2Nhc2UgNDpjYXNlXCJlbmRcIjpyZXR1cm4gSS5zdG9wKCl9fSksSSl9KSkpLGZ1bmN0aW9uKEEsSSxnLEMpe3JldHVybiBCLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSx7a2V5OlwiaW5pdFdpdGhJbWFnZVwiLHZhbHVlOihnPUkobygpLm1hcmsoKGZ1bmN0aW9uIEkoZyxCLEMpe3ZhciBRLEUsaTtyZXR1cm4gbygpLndyYXAoKGZ1bmN0aW9uKEkpe2Zvcig7Oylzd2l0Y2goSS5wcmV2PUkubmV4dCl7Y2FzZSAwOnJldHVybiBRPWcudmlkZW9XaWR0aHx8Zy53aWR0aCxFPWcudmlkZW9IZWlnaHR8fGcuaGVpZ2h0LEkubmV4dD00LEEuaW5pdFdpdGhEaW1lbnNpb25zKFEsRSxCLEMpO2Nhc2UgNDpyZXR1cm4oaT1JLnNlbnQpLmltYWdlPWcsSS5hYnJ1cHQoXCJyZXR1cm5cIixpKTtjYXNlIDc6Y2FzZVwiZW5kXCI6cmV0dXJuIEkuc3RvcCgpfX0pLEkpfSkpKSxmdW5jdGlvbihBLEksQil7cmV0dXJuIGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSl9XSksQX0oKTtjb25zdCBuPXtBUlRvb2xraXQ6VSxBUkNvbnRyb2xsZXI6TX19KSgpLEIuZGVmYXVsdH0pKCl9KSk7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJiYXNlY29udHJvbHMnO1xuaW1wb3J0IEFyTWFya2VyQ29udHJvbHMgZnJvbSAnLi4vdGhyZWV4L2FyanMtbWFya2VyY29udHJvbHMnO1xuaW1wb3J0IEFyTXVsdGlNYXJrZXJDb250cm9scyBmcm9tICcuL2FyanMtbWFya2Vyc2FyZWFjb250cm9scyc7XG5cbmNvbnN0IE1hcmtlcnNBcmVhQ29udHJvbHMgPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBvYmplY3QzZCwgcGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0QXJCYXNlQ29udHJvbHMuY2FsbCh0aGlzLCBvYmplY3QzZClcblxuXHRpZiggYXJndW1lbnRzLmxlbmd0aCA+IDMgKVx0Y29uc29sZS5hc3NlcnQoJ3dyb25nIGFwaSBmb3InLCBNYXJrZXJzQXJlYUNvbnRyb2xzKVxuXG5cdC8vIGhhdmUgYSBwYXJhbWV0ZXJzIGluIGFyZ3VtZW50XG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBsaXN0IG9mIGNvbnRyb2xzIGZvciBlYWNoIHN1Yk1hcmtlclxuXHRcdHN1Yk1hcmtlcnNDb250cm9sczogcGFyYW1ldGVycy5zdWJNYXJrZXJzQ29udHJvbHMsXG5cdFx0Ly8gbGlzdCBvZiBwb3NlIGZvciBlYWNoIHN1Yk1hcmtlciByZWxhdGl2ZSB0byB0aGUgb3JpZ2luXG5cdFx0c3ViTWFya2VyUG9zZXM6IHBhcmFtZXRlcnMuc3ViTWFya2VyUG9zZXMsXG5cdFx0Ly8gY2hhbmdlIG1hdHJpeCBtb2RlIC0gW21vZGVsVmlld01hdHJpeCwgY2FtZXJhVHJhbnNmb3JtTWF0cml4XVxuXHRcdGNoYW5nZU1hdHJpeE1vZGUgOiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgIT09IHVuZGVmaW5lZCA/IHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHR9XG5cdFxuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHQvLyBob25vciBvYnNvbGV0ZSBzdHVmZiAtIGFkZCBhIHdhcm5pbmcgdG8gdXNlXG5cdHRoaXMuc3ViTWFya2Vyc0NvbnRyb2xzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9sc1xuXHR0aGlzLnN1Yk1hcmtlclBvc2VzID0gdGhpcy5wYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzXG5cblx0Ly8gbGlzdGVuIHRvIGFyVG9vbGtpdENvbnRleHQgZXZlbnQgJ3NvdXJjZVByb2Nlc3NlZCdcblx0Ly8gLSBhZnRlciB3ZSBmdWxseSBwcm9jZXNzZWQgb25lIGltYWdlLCBha2Egd2hlbiB3ZSBrbm93IGFsbCBkZXRlY3RlZCBwb3NlcyBpbiBpdFxuXHRhclRvb2xraXRDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ3NvdXJjZVByb2Nlc3NlZCcsIGZ1bmN0aW9uKCl7XG5cdFx0X3RoaXMuX29uU291cmNlUHJvY2Vzc2VkKClcblx0fSlcbn1cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTWFya2Vyc0FyZWFDb250cm9scztcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDb2RlIFNlcGFyYXRvclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBpbWFnZSBzb3VyY2UgaXMgZnVsbHkgcHJvY2Vzc2VkXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMucHJvdG90eXBlLl9vblNvdXJjZVByb2Nlc3NlZCA9IGZ1bmN0aW9uKCl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0dmFyIHN0YXRzID0ge1xuXHRcdGNvdW50OiAwLFxuXHRcdHBvc2l0aW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0XHRhdmVyYWdlOiBuZXcgVEhSRUUuVmVjdG9yMygwLDAsMCksXG5cdFx0fSxcblx0XHRxdWF0ZXJuaW9uIDoge1xuXHRcdFx0c3VtOiBuZXcgVEhSRUUuUXVhdGVybmlvbigwLDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdH0sXG5cdFx0c2NhbGUgOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHR9LFxuXHR9XG5cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IF90aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLm9iamVjdDNkLnF1YXRlcm5pb25cblxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHRcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdC8vIGlmIHRoaXMgbWFya2VyIGlzIG5vdCB2aXNpYmxlLCBpZ25vcmUgaXRcblx0XHRpZiggbWFya2VyT2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0cmV0dXJuXG5cblx0XHQvLyB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggb2YgdGhpcy5vYmplY3QzZCBhY2NvcmRpbmcgdG8gdGhpcyBzdWItbWFya2Vyc1xuXHRcdHZhciBtYXRyaXggPSBtYXJrZXJPYmplY3QzZC5tYXRyaXguY2xvbmUoKVxuXHRcdHZhciBtYXJrZXJQb3NlID0gX3RoaXMucGFyYW1ldGVycy5zdWJNYXJrZXJQb3Nlc1ttYXJrZXJJbmRleF1cblx0XHRtYXRyaXgubXVsdGlwbHkobmV3IFRIUkVFLk1hdHJpeDQoKS5nZXRJbnZlcnNlKG1hcmtlclBvc2UpKVxuXG5cdFx0Ly8gZGVjb21wb3NlIHRoZSBtYXRyaXggaW50byAucG9zaXRpb24sIC5xdWF0ZXJuaW9uLCAuc2NhbGVcblx0XHR2YXIgcG9zaXRpb24gPSBuZXcgVEhSRUUuVmVjdG9yM1xuXHRcdHZhciBxdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHRcdHZhciBzY2FsZSA9IG5ldyBUSFJFRS5WZWN0b3IzXG5cdFx0bWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHQvLyBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG5cdFx0c3RhdHMuY291bnQrK1xuXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5wb3NpdGlvbi5zdW0sIHBvc2l0aW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucG9zaXRpb24uYXZlcmFnZSlcblx0XHRNYXJrZXJzQXJlYUNvbnRyb2xzLmF2ZXJhZ2VRdWF0ZXJuaW9uKHN0YXRzLnF1YXRlcm5pb24uc3VtLCBxdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIHN0YXRzLmNvdW50LCBzdGF0cy5xdWF0ZXJuaW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyhzdGF0cy5zY2FsZS5zdW0sIHNjYWxlLCBzdGF0cy5jb3VudCwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblx0fSlcblxuXHQvLyBob25vciBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gdHJ1ZVxuXHR9ZWxzZXtcblx0XHRfdGhpcy5vYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0fVxuXG5cdC8vIGlmIGF0IGxlYXN0IG9uZSBzdWItbWFya2VyIGhhcyBiZWVuIGRldGVjdGVkLCBtYWtlIHRoZSBhdmVyYWdlIG9mIGFsbCBkZXRlY3RlZCBtYXJrZXJzXG5cdGlmKCBzdGF0cy5jb3VudCA+IDAgKXtcblx0XHQvLyBjb21wdXRlIG1vZGVsVmlld01hdHJpeFxuXHRcdHZhciBtb2RlbFZpZXdNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpXG5cdFx0bW9kZWxWaWV3TWF0cml4LmNvbXBvc2Uoc3RhdHMucG9zaXRpb24uYXZlcmFnZSwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlLCBzdGF0cy5zY2FsZS5hdmVyYWdlKVxuXG5cdFx0Ly8gY2hhbmdlIF90aGlzLm9iamVjdDNkLm1hdHJpeCBiYXNlZCBvbiBwYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblx0XHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0XHRfdGhpcy5vYmplY3QzZC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fWVsc2UgaWYoIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdFx0X3RoaXMub2JqZWN0M2QubWF0cml4LmdldEludmVyc2UoIG1vZGVsVmlld01hdHJpeCApXG5cdFx0fWVsc2Uge1xuXHRcdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdFx0fVxuXG5cdFx0Ly8gZGVjb21wb3NlIC0gdGhlIG1hdHJpeCBpbnRvIC5wb3NpdGlvbiwgLnF1YXRlcm5pb24sIC5zY2FsZVxuXHRcdF90aGlzLm9iamVjdDNkLm1hdHJpeC5kZWNvbXBvc2UoX3RoaXMub2JqZWN0M2QucG9zaXRpb24sIF90aGlzLm9iamVjdDNkLnF1YXRlcm5pb24sIF90aGlzLm9iamVjdDNkLnNjYWxlKVxuXHR9XG5cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qKlxuICogZnJvbSBodHRwOi8vd2lraS51bml0eTNkLmNvbS9pbmRleC5waHAvQXZlcmFnaW5nX1F1YXRlcm5pb25zX2FuZF9WZWN0b3JzXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVF1YXRlcm5pb24gPSBmdW5jdGlvbihxdWF0ZXJuaW9uU3VtLCBuZXdRdWF0ZXJuaW9uLCBmaXJzdFF1YXRlcm5pb24sIGNvdW50LCBxdWF0ZXJuaW9uQXZlcmFnZSl7XG5cdHF1YXRlcm5pb25BdmVyYWdlID0gcXVhdGVybmlvbkF2ZXJhZ2UgfHwgbmV3IFRIUkVFLlF1YXRlcm5pb24oKVxuXHQvLyBzYW5pdHkgY2hlY2tcblx0Y29uc29sZS5hc3NlcnQoZmlyc3RRdWF0ZXJuaW9uIGluc3RhbmNlb2YgVEhSRUUuUXVhdGVybmlvbiA9PT0gdHJ1ZSlcblx0XG5cdC8vIGZyb20gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRpZiggbmV3UXVhdGVybmlvbi5kb3QoZmlyc3RRdWF0ZXJuaW9uKSA+IDAgKXtcblx0XHRuZXdRdWF0ZXJuaW9uID0gbmV3IFRIUkVFLlF1YXRlcm5pb24oLW5ld1F1YXRlcm5pb24ueCwgLW5ld1F1YXRlcm5pb24ueSwgLW5ld1F1YXRlcm5pb24ueiwgLW5ld1F1YXRlcm5pb24udylcblx0fVxuXG5cdHF1YXRlcm5pb25TdW0ueCArPSBuZXdRdWF0ZXJuaW9uLnhcblx0cXVhdGVybmlvblN1bS55ICs9IG5ld1F1YXRlcm5pb24ueVxuXHRxdWF0ZXJuaW9uU3VtLnogKz0gbmV3UXVhdGVybmlvbi56XG5cdHF1YXRlcm5pb25TdW0udyArPSBuZXdRdWF0ZXJuaW9uLndcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLnggPSBxdWF0ZXJuaW9uU3VtLngvY291bnRcblx0cXVhdGVybmlvbkF2ZXJhZ2UueSA9IHF1YXRlcm5pb25TdW0ueS9jb3VudFxuXHRxdWF0ZXJuaW9uQXZlcmFnZS56ID0gcXVhdGVybmlvblN1bS56L2NvdW50XG5cdHF1YXRlcm5pb25BdmVyYWdlLncgPSBxdWF0ZXJuaW9uU3VtLncvY291bnRcblx0XG5cdHF1YXRlcm5pb25BdmVyYWdlLm5vcm1hbGl6ZSgpXG5cblx0cmV0dXJuIHF1YXRlcm5pb25BdmVyYWdlXG59XG5cblxuTWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlVmVjdG9yMyA9IGZ1bmN0aW9uKHZlY3RvcjNTdW0sIHZlY3RvcjMsIGNvdW50LCB2ZWN0b3IzQXZlcmFnZSl7XG5cdHZlY3RvcjNBdmVyYWdlID0gdmVjdG9yM0F2ZXJhZ2UgfHwgbmV3IFRIUkVFLlZlY3RvcjMoKVxuXHRcblx0dmVjdG9yM1N1bS54ICs9IHZlY3RvcjMueFxuXHR2ZWN0b3IzU3VtLnkgKz0gdmVjdG9yMy55XG5cdHZlY3RvcjNTdW0ueiArPSB2ZWN0b3IzLnpcblx0XG5cdHZlY3RvcjNBdmVyYWdlLnggPSB2ZWN0b3IzU3VtLnggLyBjb3VudFxuXHR2ZWN0b3IzQXZlcmFnZS55ID0gdmVjdG9yM1N1bS55IC8gY291bnRcblx0dmVjdG9yM0F2ZXJhZ2UueiA9IHZlY3RvcjNTdW0ueiAvIGNvdW50XG5cdFxuXHRyZXR1cm4gdmVjdG9yM0F2ZXJhZ2Vcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRVdGlsaXR5IGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBjb21wdXRlIHRoZSBjZW50ZXIgb2YgdGhpcyBtdWx0aW1hcmtlciBmaWxlXG4gKi9cbk1hcmtlcnNBcmVhQ29udHJvbHMuY29tcHV0ZUNlbnRlciA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBzdGF0cyA9IHtcblx0XHRjb3VudCA6IDAsXG5cdFx0cG9zaXRpb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcblx0XHRcdGF2ZXJhZ2U6IG5ldyBUSFJFRS5WZWN0b3IzKDAsMCwwKSxcdFx0XHRcdFx0XHRcblx0XHR9LFxuXHRcdHF1YXRlcm5pb24gOiB7XG5cdFx0XHRzdW06IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKDAsMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlF1YXRlcm5pb24oMCwwLDAsMCksXHRcdFx0XHRcdFx0XG5cdFx0fSxcblx0XHRzY2FsZSA6IHtcblx0XHRcdHN1bTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFxuXHRcdFx0YXZlcmFnZTogbmV3IFRIUkVFLlZlY3RvcjMoMCwwLDApLFx0XHRcdFx0XHRcdFxuXHRcdH0sXG5cdH1cblx0dmFyIGZpcnN0UXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uKCkgLy8gRklYTUUgPz8/XG5cdFxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cdFx0XG5cdFx0Ly8gaHR0cDovL3dpa2kudW5pdHkzZC5jb20vaW5kZXgucGhwL0F2ZXJhZ2luZ19RdWF0ZXJuaW9uc19hbmRfVmVjdG9yc1xuXHRcdHN0YXRzLmNvdW50KytcblxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMucG9zaXRpb24uc3VtLCBwb3NpdGlvbiwgc3RhdHMuY291bnQsIHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UpXG5cdFx0TWFya2Vyc0FyZWFDb250cm9scy5hdmVyYWdlUXVhdGVybmlvbihzdGF0cy5xdWF0ZXJuaW9uLnN1bSwgcXVhdGVybmlvbiwgZmlyc3RRdWF0ZXJuaW9uLCBzdGF0cy5jb3VudCwgc3RhdHMucXVhdGVybmlvbi5hdmVyYWdlKVxuXHRcdE1hcmtlcnNBcmVhQ29udHJvbHMuYXZlcmFnZVZlY3RvcjMoc3RhdHMuc2NhbGUuc3VtLCBzY2FsZSwgc3RhdHMuY291bnQsIHN0YXRzLnNjYWxlLmF2ZXJhZ2UpXG5cdH0pXG5cdFxuXHR2YXIgYXZlcmFnZU1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KClcblx0YXZlcmFnZU1hdHJpeC5jb21wb3NlKHN0YXRzLnBvc2l0aW9uLmF2ZXJhZ2UsIHN0YXRzLnF1YXRlcm5pb24uYXZlcmFnZSwgc3RhdHMuc2NhbGUuYXZlcmFnZSlcblxuXHRyZXR1cm4gYXZlcmFnZU1hdHJpeFxufVxuXG5NYXJrZXJzQXJlYUNvbnRyb2xzLmNvbXB1dGVCb3VuZGluZ0JveCA9IGZ1bmN0aW9uKGpzb25EYXRhKXtcblx0dmFyIG11bHRpTWFya2VyRmlsZSA9IEpTT04ucGFyc2UoanNvbkRhdGEpXG5cdHZhciBib3VuZGluZ0JveCA9IG5ldyBUSFJFRS5Cb3gzKClcblxuXHRtdWx0aU1hcmtlckZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24oaXRlbSl7XG5cdFx0dmFyIHBvc2VNYXRyaXggPSBuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpXG5cdFx0XG5cdFx0dmFyIHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHR2YXIgcXVhdGVybmlvbiA9IG5ldyBUSFJFRS5RdWF0ZXJuaW9uXG5cdFx0dmFyIHNjYWxlID0gbmV3IFRIUkVFLlZlY3RvcjNcblx0XHRwb3NlTWF0cml4LmRlY29tcG9zZShwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpXG5cblx0XHRib3VuZGluZ0JveC5leHBhbmRCeVBvaW50KHBvc2l0aW9uKVxuXHR9KVxuXG5cdHJldHVybiBib3VuZGluZ0JveFxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGVTbW9vdGhlZENvbnRyb2xzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuTWFya2Vyc0FyZWFDb250cm9scy5wcm90b3R5cGUudXBkYXRlU21vb3RoZWRDb250cm9scyA9IGZ1bmN0aW9uKHNtb290aGVkQ29udHJvbHMsIGxlcnBzVmFsdWVzKXtcblx0Ly8gaGFuZGxlIGRlZmF1bHQgdmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlcyA9PT0gdW5kZWZpbmVkICl7XG5cdFx0Ly8gRklYTUUgdGhpcyBwYXJhbWV0ZXIgZm9ybWF0IGlzIHVzZWxlc3NseSBjcnlwdGljXG5cdFx0Ly8gbGVycFZhbHVlcyA9IFtcblx0XHQvLyB7bGVycFBvc2l0aW9uOiAwLjUsIGxlcnBRdWF0ZXJuaW9uOiAwLjIsIGxlcnBRdWF0ZXJuaW9uOiAwLjd9XG5cdFx0Ly8gXVxuXHRcdGxlcnBzVmFsdWVzID0gW1xuXHRcdFx0WzAuMysuMSwgMC4xLCAwLjNdLFxuXHRcdFx0WzAuNCsuMSwgMC4xLCAwLjRdLFxuXHRcdFx0WzAuNCsuMSwgMC4yLCAwLjVdLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdFx0WzAuNSsuMSwgMC4yLCAwLjddLFxuXHRcdF1cblx0fVxuXHQvLyBjb3VudCBob3cgbWFueSBzdWJNYXJrZXJzQ29udHJvbHMgYXJlIHZpc2libGVcblx0dmFyIG5WaXNpYmxlID0gMFxuXHR0aGlzLnBhcmFtZXRlcnMuc3ViTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24obWFya2VyQ29udHJvbHMsIG1hcmtlckluZGV4KXtcblx0XHR2YXIgbWFya2VyT2JqZWN0M2QgPSBtYXJrZXJDb250cm9scy5vYmplY3QzZFxuXHRcdGlmKCBtYXJrZXJPYmplY3QzZC52aXNpYmxlID09PSB0cnVlIClcdG5WaXNpYmxlICsrXG5cdH0pXG5cblx0Ly8gZmluZCB0aGUgZ29vZCBsZXJwVmFsdWVzXG5cdGlmKCBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXSAhPT0gdW5kZWZpbmVkICl7XG5cdFx0dmFyIGxlcnBWYWx1ZXMgPSBsZXJwc1ZhbHVlc1tuVmlzaWJsZS0xXVxuXHR9ZWxzZXtcblx0XHR2YXIgbGVycFZhbHVlcyA9IGxlcnBzVmFsdWVzW2xlcnBzVmFsdWVzLmxlbmd0aC0xXVxuXHR9XG5cblx0Ly8gbW9kaWZ5IGxlcnBWYWx1ZXMgaW4gc21vb3RoZWRDb250cm9sc1xuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFBvc2l0aW9uID0gbGVycFZhbHVlc1swXVxuXHRzbW9vdGhlZENvbnRyb2xzLnBhcmFtZXRlcnMubGVycFF1YXRlcm5pb24gPSBsZXJwVmFsdWVzWzFdXG5cdHNtb290aGVkQ29udHJvbHMucGFyYW1ldGVycy5sZXJwU2NhbGUgPSBsZXJwVmFsdWVzWzJdXG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRDcmVhdGUgQXJNdWx0aU1hcmtlckNvbnRyb2xzIGZyb20gSlNPTlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbk1hcmtlcnNBcmVhQ29udHJvbHMuZnJvbUpTT04gPSBmdW5jdGlvbihhclRvb2xraXRDb250ZXh0LCBwYXJlbnQzRCwgbWFya2VyUm9vdCwganNvbkRhdGEsIHBhcmFtZXRlcnMpe1xuXHR2YXIgbXVsdGlNYXJrZXJGaWxlID0gSlNPTi5wYXJzZShqc29uRGF0YSlcblx0Ly8gZGVjbGFyZSB2YXJpYWJsZXNcblx0dmFyIHN1Yk1hcmtlcnNDb250cm9scyA9IFtdXG5cdHZhciBzdWJNYXJrZXJQb3NlcyA9IFtdXG5cdC8vIGhhbmRsZSBkZWZhdWx0IGFyZ3VtZW50c1xuXHRwYXJhbWV0ZXJzID0gcGFyYW1ldGVycyB8fCB7fVxuXG5cdC8vIHByZXBhcmUgdGhlIHBhcmFtZXRlcnNcblx0bXVsdGlNYXJrZXJGaWxlLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pe1xuXHRcdC8vIGNyZWF0ZSBhIG1hcmtlclJvb3Rcblx0XHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5PYmplY3QzRCgpXG5cdFx0cGFyZW50M0QuYWRkKG1hcmtlclJvb3QpXG5cblx0XHQvLyBjcmVhdGUgbWFya2VyQ29udHJvbHMgZm9yIG91ciBtYXJrZXJSb290XG5cdFx0dmFyIHN1Yk1hcmtlckNvbnRyb2xzID0gbmV3IEFyTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgaXRlbS5wYXJhbWV0ZXJzKVxuXG4vLyBpZiggdHJ1ZSApe1xuXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG5cdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cdFx0c3ViTWFya2VyUG9zZXMucHVzaChuZXcgVEhSRUUuTWF0cml4NCgpLmZyb21BcnJheShpdGVtLnBvc2VNYXRyaXgpKVx0XG4vLyB9ZWxzZXtcbi8vIFx0XHQvLyBidWlsZCBhIHNtb290aGVkQ29udHJvbHNcbi8vIFx0XHR2YXIgc21vb3RoZWRSb290ID0gbmV3IFRIUkVFLkdyb3VwKClcbi8vIFx0XHRwYXJlbnQzRC5hZGQoc21vb3RoZWRSb290KVxuLy8gXHRcdHZhciBzbW9vdGhlZENvbnRyb2xzID0gbmV3IFRIUkVFeC5BclNtb290aGVkQ29udHJvbHMoc21vb3RoZWRSb290LCB7XG4vLyBcdFx0XHRsZXJwUG9zaXRpb24gOiAwLjEsXG4vLyBcdFx0XHRsZXJwUXVhdGVybmlvbiA6IDAuMSwgXG4vLyBcdFx0XHRsZXJwU2NhbGUgOiAwLjEsXG4vLyBcdFx0XHRtaW5WaXNpYmxlRGVsYXk6IDAsXG4vLyBcdFx0XHRtaW5VbnZpc2libGVEZWxheTogMCxcbi8vIFx0XHR9KVxuLy8gXHRcdG9uUmVuZGVyRmN0cy5wdXNoKGZ1bmN0aW9uKGRlbHRhKXtcbi8vIFx0XHRcdHNtb290aGVkQ29udHJvbHMudXBkYXRlKG1hcmtlclJvb3QpXHQvLyBUT0RPIHRoaXMgaXMgYSBnbG9iYWxcbi8vIFx0XHR9KVxuLy8gXHRcbi8vIFxuLy8gXHRcdC8vIHN0b3JlIGl0IGluIHRoZSBwYXJhbWV0ZXJzXG4vLyBcdFx0c3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc21vb3RoZWRDb250cm9scylcbi8vIFx0XHRzdWJNYXJrZXJQb3Nlcy5wdXNoKG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGl0ZW0ucG9zZU1hdHJpeCkpXG4vLyB9XG5cdH0pXG5cdFxuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlcnNDb250cm9scyA9IHN1Yk1hcmtlcnNDb250cm9sc1xuXHRwYXJhbWV0ZXJzLnN1Yk1hcmtlclBvc2VzID0gc3ViTWFya2VyUG9zZXNcblx0Ly8gY3JlYXRlIGEgbmV3IEFyTXVsdGlNYXJrZXJDb250cm9sc1xuXHR2YXIgbXVsdGlNYXJrZXJDb250cm9scyA9IG5ldyBBck11bHRpTWFya2VyQ29udHJvbHMoYXJUb29sa2l0Q29udGV4dCwgbWFya2VyUm9vdCwgcGFyYW1ldGVycylcblxuXHQvLyByZXR1cm4gaXRcblx0cmV0dXJuIG11bHRpTWFya2VyQ29udHJvbHNcdFxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJzQXJlYUNvbnRyb2xzOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4uL3RocmVleC9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbmNvbnN0IE1hcmtlcnNBcmVhVXRpbHMgPSB7fTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRuYXZpZ2F0ZVRvTGVhcm5lclBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIE5hdmlnYXRlIHRvIHRoZSBtdWx0aS1tYXJrZXIgbGVhcm5lciBwYWdlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGxlYXJuZXJCYXNlVVJMICAtIHRoZSBiYXNlIHVybCBmb3IgdGhlIGxlYXJuZXJcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5uYXZpZ2F0ZVRvTGVhcm5lclBhZ2UgPSBmdW5jdGlvbihsZWFybmVyQmFzZVVSTCwgdHJhY2tpbmdCYWNrZW5kKXtcblx0dmFyIGxlYXJuZXJQYXJhbWV0ZXJzID0ge1xuXHRcdGJhY2tVUkwgOiBsb2NhdGlvbi5ocmVmLFxuXHRcdHRyYWNraW5nQmFja2VuZDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnM6IE1hcmtlcnNBcmVhVXRpbHMuY3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnModHJhY2tpbmdCYWNrZW5kKSxcblx0fVxuXHRsb2NhdGlvbi5ocmVmID0gbGVhcm5lckJhc2VVUkwgKyAnPycgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkobGVhcm5lclBhcmFtZXRlcnMpKVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdERlZmF1bHRNdWx0aU1hcmtlckZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhbmQgc3RvcmUgYSBkZWZhdWx0IG11bHRpLW1hcmtlciBmaWxlXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICovXG5NYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdHZhciBmaWxlID0gTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlKHRyYWNraW5nQmFja2VuZClcblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoZmlsZSkpXG59XG5cblxuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgbXVsdGktbWFya2VyIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgYmFja2VuZCB0byB1c2VcbiAqIEByZXR1cm4ge09iamVjdH0gLSBqc29uIG9iamVjdCBvZiB0aGUgbXVsdGktbWFya2VyIGZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TXVsdGlNYXJrZXJGaWxlID0gZnVuY3Rpb24odHJhY2tpbmdCYWNrZW5kKXtcblx0Y29uc29sZS5hc3NlcnQodHJhY2tpbmdCYWNrZW5kKVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSB1bmRlZmluZWQgKVx0ZGVidWdnZXJcblxuXHQvLyBjcmVhdGUgYWJzb2x1dGVCYXNlVVJMXG5cdHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHR2YXIgYWJzb2x1dGVCYXNlVVJMID0gbGluay5ocmVmXG5cblx0Ly8gY3JlYXRlIHRoZSBiYXNlIGZpbGVcblx0dmFyIGZpbGUgPSB7XG5cdFx0bWV0YSA6IHtcblx0XHRcdGNyZWF0ZWRCeSA6ICdBUi5qcyAnICsgQ29udGV4dC5SRVZJU0lPTiArICcgLSBEZWZhdWx0IE1hcmtlcicsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi4gYmVpbmcgZmlsbGVkXG5cdFx0XVxuXHR9XG5cdC8vIGFkZCBhIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9sc1swXSA9IHtcblx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRwb3NlTWF0cml4OiBuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VUcmFuc2xhdGlvbigwLDAsIDApLnRvQXJyYXkoKSxcblx0fVxuXHRpZiggdHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMudHlwZSA9ICdwYXR0ZXJuJ1xuXHRcdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzWzBdLnBhcmFtZXRlcnMucGF0dGVyblVybCA9IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCdcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8ganNvbi5zdHJpbmZ5IHRoZSB2YWx1ZSBhbmQgc3RvcmUgaXQgaW4gbG9jYWxTdG9yYWdlXG5cdHJldHVybiBmaWxlXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Y3JlYXRlRGVmYXVsdE1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIENyZWF0ZSBhIGRlZmF1bHQgY29udHJvbHMgcGFyYW1ldGVycyBmb3IgdGhlIG11bHRpLW1hcmtlciBsZWFybmVyXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyBiYWNrZW5kIHRvIHVzZVxuICogQHJldHVybiB7T2JqZWN0fSAtIGpzb24gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnRyb2xzIHBhcmFtZXRlcnNcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5jcmVhdGVEZWZhdWx0TWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IGZ1bmN0aW9uKHRyYWNraW5nQmFja2VuZCl7XG5cdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0dmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcblx0bGluay5ocmVmID0gQ29udGV4dC5iYXNlVVJMXG5cdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXG5cdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0Ly8gcGF0dGVybiBoaXJvL2thbmppL2EvYi9jL2Zcblx0XHR2YXIgbWFya2Vyc0NvbnRyb2xzUGFyYW1ldGVycyA9IFtcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWhpcm8ucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4ta2FuamkucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XHR7XG5cdFx0XHRcdHR5cGUgOiAncGF0dGVybicsXG5cdFx0XHRcdHBhdHRlcm5VcmwgOiBhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnLFxuXHRcdFx0fSxcblx0XHRcdHtcblx0XHRcdFx0dHlwZSA6ICdwYXR0ZXJuJyxcblx0XHRcdFx0cGF0dGVyblVybCA6IGFic29sdXRlQmFzZVVSTCArICdleGFtcGxlcy9tYXJrZXItdHJhaW5pbmcvZXhhbXBsZXMvcGF0dGVybi1maWxlcy9wYXR0ZXJuLWxldHRlckMucGF0dCcsXG5cdFx0XHR9LFxuXHRcdFx0e1xuXHRcdFx0XHR0eXBlIDogJ3BhdHRlcm4nLFxuXHRcdFx0XHRwYXR0ZXJuVXJsIDogYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyRi5wYXR0Jyxcblx0XHRcdH0sXG5cdFx0XVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblx0cmV0dXJuIG1hcmtlcnNDb250cm9sc1BhcmFtZXRlcnNcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogZ2VuZXJhdGUgYXJlYUZpbGVcbiAqL1xuTWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKSB7XG5cdC8vIGdlbmVyYXRlIGFyZWFGaWxlXG5cdHZhciBhcmVhRmlsZSA9IHRoaXMuYnVpbGRNYXJrZXJzQXJlYUZpbGVGcm9tUmVzb2x1dGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSClcblx0Ly8gc3RvcmUgYXJlYUZpbGUgaW4gbG9jYWxTdG9yYWdlXG5cdGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJywgSlNPTi5zdHJpbmdpZnkoYXJlYUZpbGUpKVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5NYXJrZXJzQXJlYVV0aWxzLmJ1aWxkTWFya2Vyc0FyZWFGaWxlRnJvbVJlc29sdXRpb24gPSBmdW5jdGlvbih0cmFja2luZ0JhY2tlbmQsIHJlc29sdXRpb25XLCByZXNvbHV0aW9uSCl7XG5cdC8vIGNyZWF0ZSB0aGUgYmFzZSBmaWxlXG5cdHZhciBmaWxlID0ge1xuXHRcdG1ldGEgOiB7XG5cdFx0XHRjcmVhdGVkQnkgOiAnQVIuanMgLSBBdWdtZW50ZWQgV2Vic2l0ZScsXG5cdFx0XHRjcmVhdGVkQXQgOiBuZXcgRGF0ZSgpLnRvSlNPTigpLFxuXHRcdH0sXG5cdFx0dHJhY2tpbmdCYWNrZW5kIDogdHJhY2tpbmdCYWNrZW5kLFxuXHRcdHN1Yk1hcmtlcnNDb250cm9scyA6IFtcblx0XHRcdC8vIGVtcHR5IGZvciBub3cuLi5cblx0XHRdXG5cdH1cblxuXHR2YXIgd2hpdGVNYXJnaW4gPSAwLjFcblx0aWYoIHJlc29sdXRpb25XID4gcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbkhcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XIDwgcmVzb2x1dGlvbkggKXtcblx0XHR2YXIgbWFya2VySW1hZ2VTaXplID0gMC40ICogcmVzb2x1dGlvbldcblx0fWVsc2UgaWYoIHJlc29sdXRpb25XID09PSByZXNvbHV0aW9uSCApe1xuXHRcdC8vIHNwZWNpZmljIGZvciB0d2l0dGVyIHBsYXllciAtIGh0dHBzOi8vZGV2LnR3aXR0ZXIuY29tL2NhcmRzL3R5cGVzL3BsYXllclxuXHRcdHZhciBtYXJrZXJJbWFnZVNpemUgPSAwLjMzICogcmVzb2x1dGlvbldcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0Ly8gY29uc29sZS53YXJuKCd1c2luZyBuZXcgbWFya2VySW1hZ2VTaXplIGNvbXB1dGF0aW9uJylcblx0dmFyIGFjdHVhbE1hcmtlclNpemUgPSBtYXJrZXJJbWFnZVNpemUgKiAoMSAtIDIqd2hpdGVNYXJnaW4pXG5cblx0dmFyIGRlbHRhWCA9IChyZXNvbHV0aW9uVyAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblx0dmFyIGRlbHRhWiA9IChyZXNvbHV0aW9uSCAtIG1hcmtlckltYWdlU2l6ZSkvMiAvIGFjdHVhbE1hcmtlclNpemVcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdjZW50ZXInLCAwLCAwKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcGxlZnQnLCAtZGVsdGFYLCAtZGVsdGFaKVxuXHRmaWxlLnN1Yk1hcmtlcnNDb250cm9scy5wdXNoKHN1Yk1hcmtlckNvbnRyb2xzKVxuXG5cdHZhciBzdWJNYXJrZXJDb250cm9scyA9IGJ1aWxkU3ViTWFya2VyQ29udHJvbHMoJ3RvcHJpZ2h0JywgK2RlbHRhWCwgLWRlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21sZWZ0JywgLWRlbHRhWCwgK2RlbHRhWilcblx0ZmlsZS5zdWJNYXJrZXJzQ29udHJvbHMucHVzaChzdWJNYXJrZXJDb250cm9scylcblxuXHR2YXIgc3ViTWFya2VyQ29udHJvbHMgPSBidWlsZFN1Yk1hcmtlckNvbnRyb2xzKCdib3R0b21yaWdodCcsICtkZWx0YVgsICtkZWx0YVopXG5cdGZpbGUuc3ViTWFya2Vyc0NvbnRyb2xzLnB1c2goc3ViTWFya2VyQ29udHJvbHMpXG5cblx0cmV0dXJuIGZpbGVcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0Q29kZSBTZXBhcmF0b3Jcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0ZnVuY3Rpb24gYnVpbGRTdWJNYXJrZXJDb250cm9scyhsYXlvdXQsIHBvc2l0aW9uWCwgcG9zaXRpb25aKXtcblx0XHRjb25zb2xlLmxvZygnYnVpbGRTdWJNYXJrZXJDb250cm9scycsIGxheW91dCwgcG9zaXRpb25YLCBwb3NpdGlvblopXG5cdFx0Ly8gY3JlYXRlIHN1Yk1hcmtlcnNDb250cm9sc1xuXHRcdHZhciBzdWJNYXJrZXJzQ29udHJvbHMgPSB7XG5cdFx0XHRwYXJhbWV0ZXJzOiB7fSxcblx0XHRcdHBvc2VNYXRyaXg6IG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVRyYW5zbGF0aW9uKHBvc2l0aW9uWCwwLCBwb3NpdGlvblopLnRvQXJyYXkoKSxcblx0XHR9XG5cdFx0Ly8gZmlsbCB0aGUgcGFyYW1ldGVyc1xuXHRcdGlmKCB0cmFja2luZ0JhY2tlbmQgPT09ICdhcnRvb2xraXQnICl7XG5cdFx0XHRsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChzdWJNYXJrZXJzQ29udHJvbHMucGFyYW1ldGVycywgbGF5b3V0KVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXHRcdC8vIHJldHVybiBzdWJNYXJrZXJzQ29udHJvbHNcblx0XHRyZXR1cm4gc3ViTWFya2Vyc0NvbnRyb2xzXG5cdH1cblxuXHRmdW5jdGlvbiBsYXlvdXQyTWFya2VyUGFyYW1ldGVyc0FydG9vbGtpdChwYXJhbWV0ZXJzLCBsYXlvdXQpe1xuXHRcdC8vIGNyZWF0ZSBhYnNvbHV0ZUJhc2VVUkxcblx0XHR2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuXHRcdGxpbmsuaHJlZiA9IENvbnRleHQuYmFzZVVSTFxuXHRcdHZhciBhYnNvbHV0ZUJhc2VVUkwgPSBsaW5rLmhyZWZcblxuXHRcdHZhciBsYXlvdXQyUGF0dGVyblVybCA9IHtcblx0XHRcdCdjZW50ZXInIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1oaXJvLnBhdHQnKSxcblx0XHRcdCd0b3BsZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQS5wYXR0JyksXG5cdFx0XHQndG9wcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJCLnBhdHQnKSxcblx0XHRcdCdib3R0b21sZWZ0JyA6IGNvbnZlcnRSZWxhdGl2ZVVybFRvQWJzb2x1dGUoYWJzb2x1dGVCYXNlVVJMICsgJ2V4YW1wbGVzL21hcmtlci10cmFpbmluZy9leGFtcGxlcy9wYXR0ZXJuLWZpbGVzL3BhdHRlcm4tbGV0dGVyQy5wYXR0JyksXG5cdFx0XHQnYm90dG9tcmlnaHQnIDogY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShhYnNvbHV0ZUJhc2VVUkwgKyAnZXhhbXBsZXMvbWFya2VyLXRyYWluaW5nL2V4YW1wbGVzL3BhdHRlcm4tZmlsZXMvcGF0dGVybi1sZXR0ZXJGLnBhdHQnKSxcblx0XHR9XG5cdFx0Y29uc29sZS5hc3NlcnQobGF5b3V0MlBhdHRlcm5VcmxbbGF5b3V0XSAhPT0gdW5kZWZpbmVkIClcblx0XHRwYXJhbWV0ZXJzLnR5cGUgPSAncGF0dGVybidcblx0XHRwYXJhbWV0ZXJzLnBhdHRlcm5VcmwgPSBsYXlvdXQyUGF0dGVyblVybFtsYXlvdXRdXG5cdFx0cmV0dXJuXG5cdFx0ZnVuY3Rpb24gY29udmVydFJlbGF0aXZlVXJsVG9BYnNvbHV0ZShyZWxhdGl2ZVVybCl7XG5cdFx0XHR2YXIgdG1wTGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblx0XHRcdHRtcExpbmsuaHJlZiA9IHJlbGF0aXZlVXJsXG5cdFx0XHRyZXR1cm4gdG1wTGluay5ocmVmXG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcmtlcnNBcmVhVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICd0aHJlZXhBcm1hcmtlcmNvbnRyb2xzJzsgLy8gQWxpYXMgZm9yIGR5bmFtaWMgaW1wb3J0aW5nXG5pbXBvcnQgQXJNYXJrZXJIZWxwZXIgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1hcm1hcmtlcmhlbHBlcic7XG5pbXBvcnQgQXJTbW9vdGhlZENvbnRyb2xzIGZyb20gJy4uL3RocmVleC90aHJlZXgtYXJzbW9vdGhlZGNvbnRyb2xzJztcbmltcG9ydCBNYXJrZXJzQXJlYUNvbnRyb2xzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhY29udHJvbHMnO1xuaW1wb3J0IE1hcmtlcnNBcmVhVXRpbHMgZnJvbSAnLi4vbWFya2Vycy1hcmVhL2FyanMtbWFya2Vyc2FyZWF1dGlscyc7XG5cbi8vIFRPRE8gdGhpcyBpcyBhIGNvbnRyb2xzLi4uIHNob3VsZCBpIGdpdmUgdGhlIG9iamVjdDNkIGhlcmUgP1xuLy8gbm90IGFjY29yZGluZyB0byAnbm8gdGhyZWUuanMgZGVwZW5kYW5jeSdcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBBbmNob3IgPSBmdW5jdGlvbihhclNlc3Npb24sIG1hcmtlclBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdHZhciBhckNvbnRleHQgPSBhclNlc3Npb24uYXJDb250ZXh0XG5cdHZhciBzY2VuZSA9IGFyU2Vzc2lvbi5wYXJhbWV0ZXJzLnNjZW5lXG5cdHZhciBjYW1lcmEgPSBhclNlc3Npb24ucGFyYW1ldGVycy5jYW1lcmFcblxuXHR0aGlzLmFyU2Vzc2lvbiA9IGFyU2Vzc2lvblxuXHR0aGlzLnBhcmFtZXRlcnMgPSBtYXJrZXJQYXJhbWV0ZXJzXG5cblx0Ly8gbG9nIHRvIGRlYnVnXG5cdGNvbnNvbGUubG9nKCdBUmpzLkFuY2hvciAtJywgJ2NoYW5nZU1hdHJpeE1vZGU6JywgdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUsICcvIG1hcmtlcnNBcmVhRW5hYmxlZDonLCBtYXJrZXJQYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZClcblxuXHR2YXIgbWFya2VyUm9vdCA9IG5ldyBUSFJFRS5Hcm91cCgpXG5cdHNjZW5lLmFkZChtYXJrZXJSb290KVxuXG5cdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBtYXJrZXJSb290XG5cdH1lbHNlIGlmKCBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0dmFyIGNvbnRyb2xsZWRPYmplY3QgPSBjYW1lcmFcblx0fWVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cblx0aWYoIG1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID09PSBmYWxzZSApe1xuXHRcdHZhciBtYXJrZXJDb250cm9scyA9IG5ldyBBck1hcmtlckNvbnRyb2xzKGFyQ29udGV4dCwgY29udHJvbGxlZE9iamVjdCwgbWFya2VyUGFyYW1ldGVycylcblx0XHR0aGlzLmNvbnRyb2xzID0gbWFya2VyQ29udHJvbHNcblx0fWVsc2V7XG5cdFx0Ly8gc2FuaXR5IGNoZWNrIC0gTVVTVCBiZSBhIHRyYWNraW5nQmFja2VuZCB3aXRoIG1hcmtlcnNcblx0XHRjb25zb2xlLmFzc2VydCggYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApXG5cblx0XHQvLyBob25vciBtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbiBmb3IgaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZVxuXHRcdGlmKCBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKS5zdGFydHNXaXRoKCdtYXJrZXJzLXBhZ2UtcmVzb2x1dGlvbj0nKSA9PT0gdHJ1ZSApe1xuXHRcdFx0Ly8gZ2V0IHJlc29sdXRpb25XL3Jlc29sdXRpb25IIGZyb20gdXJsXG5cdFx0XHR2YXIgbWFya2VyUGFnZVJlc29sdXRpb24gPSBsb2NhdGlvbi5oYXNoLnN1YnN0cmluZygxKVxuXHRcdFx0dmFyIG1hdGNoZXMgPSBtYXJrZXJQYWdlUmVzb2x1dGlvbi5tYXRjaCgvbWFya2Vycy1wYWdlLXJlc29sdXRpb249KFxcZCspeChcXGQrKS8pXG5cdFx0XHRjb25zb2xlLmFzc2VydChtYXRjaGVzLmxlbmd0aCA9PT0gMylcblx0XHRcdHZhciByZXNvbHV0aW9uVyA9IHBhcnNlSW50KG1hdGNoZXNbMV0pXG5cdFx0XHR2YXIgcmVzb2x1dGlvbkggPSBwYXJzZUludChtYXRjaGVzWzJdKVxuXHRcdFx0dmFyIGFyQ29udGV4dCA9IGFyU2Vzc2lvbi5hckNvbnRleHRcblx0XHRcdC8vIGdlbmVyYXRlIGFuZCBzdG9yZSB0aGUgQVJqc011bHRpTWFya2VyRmlsZVxuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZU1hcmtlcnNBcmVhRmlsZUZyb21SZXNvbHV0aW9uKGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCwgcmVzb2x1dGlvblcsIHJlc29sdXRpb25IKVxuXHRcdH1cblxuXHRcdC8vIGlmIHRoZXJlIGlzIG5vIEFSanNNdWx0aU1hcmtlckZpbGUsIGJ1aWxkIGEgZGVmYXVsdCBvbmVcblx0XHRpZiggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSA9PT0gbnVsbCApe1xuXHRcdFx0TWFya2Vyc0FyZWFVdGlscy5zdG9yZURlZmF1bHRNdWx0aU1hcmtlckZpbGUoYXJDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kKVxuXHRcdH1cblxuXHRcdC8vIGdldCBtdWx0aU1hcmtlckZpbGUgZnJvbSBsb2NhbFN0b3JhZ2Vcblx0XHRjb25zb2xlLmFzc2VydCggbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0FSanNNdWx0aU1hcmtlckZpbGUnKSAhPT0gbnVsbCApXG5cdFx0dmFyIG11bHRpTWFya2VyRmlsZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdBUmpzTXVsdGlNYXJrZXJGaWxlJylcblxuXHRcdC8vIHNldCBjb250cm9sbGVkT2JqZWN0IGRlcGVuZGluZyBvbiBjaGFuZ2VNYXRyaXhNb2RlXG5cdFx0aWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IHNjZW5lXG5cdFx0fWVsc2UgaWYoIG1hcmtlclBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSA9PT0gJ2NhbWVyYVRyYW5zZm9ybU1hdHJpeCcgKXtcblx0XHRcdHZhciBwYXJlbnQzRCA9IGNhbWVyYVxuXHRcdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdFx0Ly8gYnVpbGQgYSBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0dmFyIG11bHRpTWFya2VyQ29udHJvbHMgPSBNYXJrZXJzQXJlYUNvbnRyb2xzLmZyb21KU09OKGFyQ29udGV4dCwgcGFyZW50M0QsIGNvbnRyb2xsZWRPYmplY3QsIG11bHRpTWFya2VyRmlsZSlcblx0XHR0aGlzLmNvbnRyb2xzID0gbXVsdGlNYXJrZXJDb250cm9sc1xuXG5cdFx0Ly8gaG9ub3IgbWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlXG5cdFx0bXVsdGlNYXJrZXJDb250cm9scy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPSBtYXJrZXJQYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGVcblxuLy8gVE9ETyBwdXQgc3ViTWFya2VyQ29udHJvbHMgdmlzaWJpbGl0eSBpbnRvIGFuIGV4dGVybmFsIGZpbGUuIHdpdGggMiBoYW5kbGluZyBmb3IgdGhyZWUuanMgYW5kIGJhYnlsb24uanNcblx0XHQvLyBjcmVhdGUgQXJNYXJrZXJIZWxwZXIgLSB1c2VmdWwgdG8gZGVidWcgLSBzdXBlciB0aHJlZS5qcyBzcGVjaWZpY1xuXHRcdHZhciBtYXJrZXJIZWxwZXJzID0gW11cblx0XHRtdWx0aU1hcmtlckNvbnRyb2xzLnN1Yk1hcmtlcnNDb250cm9scy5mb3JFYWNoKGZ1bmN0aW9uKHN1Yk1hcmtlckNvbnRyb2xzKXtcblx0XHRcdC8vIGFkZCBhbiBoZWxwZXIgdG8gdmlzdWFibGUgZWFjaCBzdWItbWFya2VyXG5cdFx0XHR2YXIgbWFya2VySGVscGVyID0gbmV3IEFyTWFya2VySGVscGVyKHN1Yk1hcmtlckNvbnRyb2xzKVxuXHRcdFx0bWFya2VySGVscGVyLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXHRcdFx0Ly8gc3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0c3ViTWFya2VyQ29udHJvbHMub2JqZWN0M2QuYWRkKCBtYXJrZXJIZWxwZXIub2JqZWN0M2QgKVxuXHRcdFx0Ly8gYWRkIGl0IHRvIG1hcmtlckhlbHBlcnNcblx0XHRcdG1hcmtlckhlbHBlcnMucHVzaChtYXJrZXJIZWxwZXIpXG5cdFx0fSlcblx0XHQvLyBkZWZpbmUgQVBJIHNwZWNpZmljIHRvIG1hcmtlcnNBcmVhXG5cdFx0dGhpcy5tYXJrZXJzQXJlYSA9IHt9XG5cdFx0dGhpcy5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eSA9IGZ1bmN0aW9uKHZpc2libGUpe1xuXHRcdFx0bWFya2VySGVscGVycy5mb3JFYWNoKGZ1bmN0aW9uKG1hcmtlckhlbHBlcil7XG5cdFx0XHRcdG1hcmtlckhlbHBlci5vYmplY3QzZC52aXNpYmxlID0gdmlzaWJsZVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cblxuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwKClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0VEhSRUV4LkFyU21vb3RoZWRDb250cm9sc1xuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHR2YXIgc2hvdWxkQmVTbW9vdGhlZCA9IHRydWVcblxuXHRpZiggc2hvdWxkQmVTbW9vdGhlZCA9PT0gdHJ1ZSApe1xuXHRcdC8vIGJ1aWxkIGEgc21vb3RoZWRDb250cm9sc1xuXHRcdHZhciBzbW9vdGhlZFJvb3QgPSBuZXcgVEhSRUUuR3JvdXAoKVxuXHRcdHNjZW5lLmFkZChzbW9vdGhlZFJvb3QpXG5cdFx0dmFyIHNtb290aGVkQ29udHJvbHMgPSBuZXcgQXJTbW9vdGhlZENvbnRyb2xzKHNtb290aGVkUm9vdClcblx0XHRzbW9vdGhlZFJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1lbHNle1xuXHRcdG1hcmtlclJvb3QuYWRkKHRoaXMub2JqZWN0M2QpXG5cdH1cblxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dGhpcy51cGRhdGUgPSBmdW5jdGlvbigpe1xuXHRcdC8vIHVwZGF0ZSBfdGhpcy5vYmplY3QzZC52aXNpYmxlXG5cdFx0X3RoaXMub2JqZWN0M2QudmlzaWJsZSA9IF90aGlzLm9iamVjdDNkLnBhcmVudC52aXNpYmxlXG5cblx0XHQvLyBjb25zb2xlLmxvZygnY29udHJvbGxlZE9iamVjdC52aXNpYmxlJywgX3RoaXMub2JqZWN0M2QucGFyZW50LnZpc2libGUpXG5cdFx0aWYoIHNtb290aGVkQ29udHJvbHMgIT09IHVuZGVmaW5lZCApe1xuXHRcdFx0Ly8gdXBkYXRlIHNtb290aGVkQ29udHJvbHMgcGFyYW1ldGVycyBkZXBlbmRpbmcgb24gaG93IG1hbnkgbWFya2VycyBhcmUgdmlzaWJsZSBpbiBtdWx0aU1hcmtlckNvbnRyb2xzXG5cdFx0XHRpZiggbXVsdGlNYXJrZXJDb250cm9scyAhPT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdG11bHRpTWFya2VyQ29udHJvbHMudXBkYXRlU21vb3RoZWRDb250cm9scyhzbW9vdGhlZENvbnRyb2xzKVxuXHRcdFx0fVxuXG5cdFx0XHQvLyB1cGRhdGUgc21vb3RoZWRDb250cm9sc1xuXHRcdFx0c21vb3RoZWRDb250cm9scy51cGRhdGUobWFya2VyUm9vdClcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5jaG9yOyIsImltcG9ydCBNYXJrZXJzQXJlYVV0aWxzIGZyb20gJy4uL21hcmtlcnMtYXJlYS9hcmpzLW1hcmtlcnNhcmVhdXRpbHMnO1xuaW1wb3J0IENvbnRleHQgZnJvbSAnLi4vdGhyZWV4L2FyanMtY29udGV4dCc7IC8vIFRPRE8gY29udGV4dCBidWlsZC1kZXBlbmRlbnRcblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgU2Vzc2lvbkRlYnVnVUkgPSBmdW5jdGlvbiAoYXJTZXNzaW9uKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmNvbG9yID0gJ3JnYmEoMCwwLDAsMC45KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmxlZnQgPSAnNXB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnMTBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUudGV4dEFsaWduID0gJ3JpZ2h0J1xuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0Y3VycmVudC10cmFja2luZy1iYWNrZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKVxuICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICBkb21FbGVtZW50LmlubmVySFRNTCA9ICc8Yj50cmFja2luZ0JhY2tlbmQ8L2I+IDogJyArIHRyYWNraW5nQmFja2VuZFxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxufVxuXG4vKipcbiAqIFVybCBvZiBhdWdtZW50ZWQtd2Vic2l0ZSBzZXJ2aWNlIC0gaWYgPT09ICcnIHRoZW4gZG9udCBpbmNsdWRlIGF1Z21lbnRlZC13ZWJzaXRlIGxpbmtcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cblNlc3Npb25EZWJ1Z1VJLkF1Z21lbnRlZFdlYnNpdGVVUkwgPSAnaHR0cHM6Ly93ZWJ4ci5pby9hdWdtZW50ZWQtd2Vic2l0ZSdcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRBbmNob3JEZWJ1Z1VJXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBDcmVhdGUgYW4gZGVidWcgVUkgZm9yIGFuIEFSanMuQW5jaG9yXG4gKlxuICogQHBhcmFtIHtBUmpzLkFuY2hvcn0gYXJBbmNob3IgLSB0aGUgYW5jaG9yIHRvIHVzZXJcbiAqL1xuY29uc3QgQW5jaG9yRGVidWdVSSA9IGZ1bmN0aW9uIChhckFuY2hvcikge1xuICAgIHZhciBhclNlc3Npb24gPSBhckFuY2hvci5hclNlc3Npb25cbiAgICB2YXIgdHJhY2tpbmdCYWNrZW5kID0gYXJTZXNzaW9uLmFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JylcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAncmdiYSgxMjcsMTI3LDEyNywwLjUpJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jaydcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUucGFkZGluZyA9ICcwLjVlbSdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luID0gJzAuNWVtJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50ZXh0QWxpZ24gPSAnbGVmdCdcblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdGN1cnJlbnQtdHJhY2tpbmctYmFja2VuZFxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJylcbiAgICBkb21FbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgZG9tRWxlbWVudC5zdHlsZS5wYWRkaW5nID0gJzAuNWVtJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuY29sb3IgPSAncmdiYSgwLDAsMCwwLjkpJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ3JnYmEoMTI3LDEyNywxMjcsMC41KSdcbiAgICBkb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgIGRvbUVsZW1lbnQuc3R5bGUubGVmdCA9ICc1cHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5ib3R0b20gPSAnNDBweCdcblxuICAgIHRoaXMuZG9tRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KVxuICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJzxiPm1hcmtlcnNBcmVhRW5hYmxlZDwvYj4gOicgKyBhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZFxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cdFx0dG9nZ2xlLW1hcmtlci1oZWxwZXJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBhZGRpbmcgPSAnMC41ZW0nXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnRleHRBbGlnbiA9ICdsZWZ0J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvblRvZ2dsZU1hcmtlckhlbHBlcnMnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ3RvZ2dsZS1tYXJrZXItaGVscGVyJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIHZhciBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSA9IHN1Yk1hcmtlckhlbHBlcnNWaXNpYmxlID8gZmFsc2UgOiB0cnVlXG4gICAgICAgICAgICBhckFuY2hvci5tYXJrZXJzQXJlYS5zZXRTdWJNYXJrZXJzVmlzaWJpbGl0eShzdWJNYXJrZXJIZWxwZXJzVmlzaWJsZSlcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRMZWFybi1uZXctbWFya2VyLWFyZWFcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChhckFuY2hvci5wYXJhbWV0ZXJzLm1hcmtlcnNBcmVhRW5hYmxlZCkge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpXG4gICAgICAgIGRvbUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW1lbnQpXG5cbiAgICAgICAgZG9tRWxlbWVudC5pZCA9ICdidXR0b25NYXJrZXJzQXJlYUxlYXJuZXInXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ0xlYXJuLW5ldy1tYXJrZXItYXJlYSdcbiAgICAgICAgZG9tRWxlbWVudC5ocmVmID0gJ2phdmFzY3JpcHQ6dm9pZCgwKSdcblxuICAgICAgICBkb21FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKEFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxlYXJuZXJVUkwgPSBBbmNob3JEZWJ1Z1VJLk1hcmtlcnNBcmVhTGVhcm5lclVSTFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgbGVhcm5lclVSTCA9IENvbnRleHQuYmFzZVVSTCArICdleGFtcGxlcy9tdWx0aS1tYXJrZXJzL2V4YW1wbGVzL2xlYXJuZXIuaHRtbCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIE1hcmtlcnNBcmVhVXRpbHMubmF2aWdhdGVUb0xlYXJuZXJQYWdlKGxlYXJuZXJVUkwsIHRyYWNraW5nQmFja2VuZClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRSZXNldC1tYXJrZXItYXJlYVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gICAgaWYgKGFyQW5jaG9yLnBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJylcbiAgICAgICAgZG9tRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJ1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudClcblxuICAgICAgICBkb21FbGVtZW50LmlkID0gJ2J1dHRvbk1hcmtlcnNBcmVhUmVzZXQnXG4gICAgICAgIGRvbUVsZW1lbnQuaW5uZXJIVE1MID0gJ1Jlc2V0LW1hcmtlci1hcmVhJ1xuICAgICAgICBkb21FbGVtZW50LmhyZWYgPSAnamF2YXNjcmlwdDp2b2lkKDApJ1xuXG4gICAgICAgIGRvbUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBNYXJrZXJzQXJlYVV0aWxzLnN0b3JlRGVmYXVsdE11bHRpTWFya2VyRmlsZSh0cmFja2luZ0JhY2tlbmQpXG4gICAgICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuLyoqXG4gKiB1cmwgZm9yIHRoZSBtYXJrZXJzLWFyZWEgbGVhcm5lci4gaWYgbm90IHNldCwgdGFrZSB0aGUgZGVmYXVsdCBvbmVcbiAqIEB0eXBlIHtTdHJpbmd9XG4gKi9cbkFuY2hvckRlYnVnVUkuTWFya2Vyc0FyZWFMZWFybmVyVVJMID0gbnVsbFxuXG5leHBvcnQge1xuICBTZXNzaW9uRGVidWdVSSxcbiAgQW5jaG9yRGVidWdVSVxufTtcbiIsImltcG9ydCBIaXRUZXN0aW5nUGxhbmUgZnJvbSAnLi4vdGhyZWV4L3RocmVleC1oaXR0ZXN0aW5nLXBsYW5lJztcblxuLyoqXG4gKiBDcmVhdGUgYW4gYW5jaG9yIGluIHRoZSByZWFsIHdvcmxkXG4gKlxuICogQHBhcmFtIHtBUmpzLlNlc3Npb259IGFyU2Vzc2lvbiAtIHRoZSBzZXNzaW9uIG9uIHdoaWNoIHdlIGNyZWF0ZSB0aGUgYW5jaG9yXG4gKiBAcGFyYW0ge09iamVjdH0gbWFya2VyUGFyYW1ldGVycyAtIHBhcmFtZXRlciBvZiB0aGlzIGFuY2hvclxuICovXG5jb25zdCBIaXRUZXN0aW5nID0gZnVuY3Rpb24gKGFyU2Vzc2lvbikge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICB2YXIgYXJDb250ZXh0ID0gYXJTZXNzaW9uLmFyQ29udGV4dFxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcblxuICAgIHRoaXMuZW5hYmxlZCA9IHRydWVcbiAgICB0aGlzLl9hclNlc3Npb24gPSBhclNlc3Npb25cbiAgICB0aGlzLl9oaXRUZXN0aW5nUGxhbmUgPSBudWxsXG4gICAgX3RoaXMuX2hpdFRlc3RpbmdQbGFuZSA9IG5ldyBIaXRUZXN0aW5nUGxhbmUoYXJTZXNzaW9uLmFyU291cmNlLmRvbUVsZW1lbnQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogdXBkYXRlXG4gKlxuICogQHBhcmFtIHtUSFJFRS5DYW1lcmF9IGNhbWVyYSAgIC0gdGhlIGNhbWVyYSB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuT2JqZWN0M0R9IG9iamVjdDNkIC1cbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24gKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpIHtcbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuXG5cblxuICAgIGlmICh0aGlzLl9oaXRUZXN0aW5nUGxhbmUgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5faGl0VGVzdGluZ1BsYW5lLnVwZGF0ZShjYW1lcmEsIHBpY2tpbmdSb290LCBjaGFuZ2VNYXRyaXhNb2RlKVxuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhY3R1YWwgaGl0IHRlc3Rpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFRlc3QgdGhlIHJlYWwgd29ybGQgZm9yIGludGVyc2VjdGlvbnMgZGlyZWN0bHkgZnJvbSBhIERvbUV2ZW50XG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWCAtIHBvc2l0aW9uIFggb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHBhcmFtIHtOdW1iZXJ9IG1vdXNlWSAtIHBvc2l0aW9uIFkgb2YgdGhlIGhpdCBbLTEsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdERvbUV2ZW50ID0gZnVuY3Rpb24gKGRvbUV2ZW50KSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMuX2FyU2Vzc2lvbi5hckNvbnRleHQucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmRcbiAgICB2YXIgYXJTb3VyY2UgPSB0aGlzLl9hclNlc3Npb24uYXJTb3VyY2VcblxuICAgIC8vIGlmIGl0IGlzbnQgZW5hYmxlZCwgZG8gbm90aGluZ1xuICAgIGlmICh0aGlzLmVuYWJsZWQgPT09IGZhbHNlKSByZXR1cm4gW11cbiAgICB2YXIgbW91c2VYID0gZG9tRXZlbnQuY2xpZW50WCAvIGFyU291cmNlLmRvbUVsZW1lbnRXaWR0aCgpXG4gICAgdmFyIG1vdXNlWSA9IGRvbUV2ZW50LmNsaWVudFkgLyBhclNvdXJjZS5kb21FbGVtZW50SGVpZ2h0KClcblxuICAgIHJldHVybiB0aGlzLnRlc3QobW91c2VYLCBtb3VzZVkpXG59XG5cbi8qKlxuICogVGVzdCB0aGUgcmVhbCB3b3JsZCBmb3IgaW50ZXJzZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gbW91c2VYIC0gcG9zaXRpb24gWCBvZiB0aGUgaGl0IFswLCArMV1cbiAqIEBwYXJhbSB7TnVtYmVyfSBtb3VzZVkgLSBwb3NpdGlvbiBZIG9mIHRoZSBoaXQgWzAsICsxXVxuICogQHJldHVybiB7W0hpdFRlc3RpbmcuUmVzdWx0XX0gLSBhcnJheSBvZiByZXN1bHRcbiAqL1xuSGl0VGVzdGluZy5wcm90b3R5cGUudGVzdCA9IGZ1bmN0aW9uIChtb3VzZVgsIG1vdXNlWSkge1xuICAgIHZhciBhckNvbnRleHQgPSB0aGlzLl9hclNlc3Npb24uYXJDb250ZXh0XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IGFyQ29udGV4dC5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZFxuICAgIHZhciBoaXRUZXN0UmVzdWx0cyA9IFtdXG5cbiAgICAvLyBpZiBpdCBpc250IGVuYWJsZWQsIGRvIG5vdGhpbmdcbiAgICBpZiAodGhpcy5lbmFibGVkID09PSBmYWxzZSkgcmV0dXJuIFtdXG5cbiAgICB2YXIgcmVzdWx0ID0gdGhpcy5faGl0VGVzdGluZ1BsYW5lLnRlc3QobW91c2VYLCBtb3VzZVkpXG5cbiAgICAvLyBpZiBubyByZXN1bHQgaXMgZm91bmQsIHJldHVybiBub3dcbiAgICBpZiAocmVzdWx0ID09PSBudWxsKSByZXR1cm4gaGl0VGVzdFJlc3VsdHNcblxuICAgIC8vIGJ1aWxkIGEgSGl0VGVzdGluZy5SZXN1bHRcbiAgICB2YXIgaGl0VGVzdFJlc3VsdCA9IG5ldyBIaXRUZXN0aW5nLlJlc3VsdChyZXN1bHQucG9zaXRpb24sIHJlc3VsdC5xdWF0ZXJuaW9uLCByZXN1bHQuc2NhbGUpXG4gICAgaGl0VGVzdFJlc3VsdHMucHVzaChoaXRUZXN0UmVzdWx0KVxuXG4gICAgcmV0dXJuIGhpdFRlc3RSZXN1bHRzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0SGl0VGVzdGluZy5SZXN1bHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiBDb250YWlucyB0aGUgcmVzdWx0IG9mIEhpdFRlc3RpbmcudGVzdCgpXG4gKlxuICogQHBhcmFtIHtUSFJFRS5WZWN0b3IzfSBwb3NpdGlvbiAtIHBvc2l0aW9uIHRvIHVzZVxuICogQHBhcmFtIHtUSFJFRS5RdWF0ZXJuaW9ufSBxdWF0ZXJuaW9uIC0gcXVhdGVybmlvbiB0byB1c2VcbiAqIEBwYXJhbSB7VEhSRUUuVmVjdG9yM30gc2NhbGUgLSBzY2FsZVxuICovXG5IaXRUZXN0aW5nLlJlc3VsdCA9IGZ1bmN0aW9uIChwb3NpdGlvbiwgcXVhdGVybmlvbiwgc2NhbGUpIHtcbiAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb25cbiAgICB0aGlzLnF1YXRlcm5pb24gPSBxdWF0ZXJuaW9uXG4gICAgdGhpcy5zY2FsZSA9IHNjYWxlXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseSA9IGZ1bmN0aW9uIChvYmplY3QzZCkge1xuICAgIG9iamVjdDNkLnBvc2l0aW9uLmNvcHkodGhpcy5wb3NpdGlvbilcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuICAgIG9iamVjdDNkLnNjYWxlLmNvcHkodGhpcy5zY2FsZSlcblxuICAgIG9iamVjdDNkLnVwZGF0ZU1hdHJpeCgpXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVBvc2l0aW9uID0gZnVuY3Rpb24gKG9iamVjdDNkKSB7XG4gICAgb2JqZWN0M2QucG9zaXRpb24uY29weSh0aGlzLnBvc2l0aW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbi8qKlxuICogQXBwbHkgdG8gYSBjb250cm9sbGVkIG9iamVjdDNkXG4gKlxuICogQHBhcmFtIHtUSFJFRS5PYmplY3QzRH0gb2JqZWN0M2QgLSB0aGUgcmVzdWx0IHRvIGFwcGx5XG4gKi9cbkhpdFRlc3RpbmcuUmVzdWx0LnByb3RvdHlwZS5hcHBseVF1YXRlcm5pb24gPSBmdW5jdGlvbiAob2JqZWN0M2QpIHtcbiAgICBvYmplY3QzZC5xdWF0ZXJuaW9uLmNvcHkodGhpcy5xdWF0ZXJuaW9uKVxuXG4gICAgb2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuICAgIHJldHVybiB0aGlzXG59XG5cbmV4cG9ydCBkZWZhdWx0IEhpdFRlc3Rpbmc7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgU291cmNlIGZyb20gJy4uL3RocmVleC9hcmpzLXNvdXJjZSc7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi90aHJlZXgvYXJqcy1jb250ZXh0JzsgLy8gVE9ETyBjb250ZXh0IGJ1aWxkLWRlcGVuZGVudFxuXG4vKipcbiAqICAqIGRlZmluZSBhIFNlc3Npb25cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gcGFyYW1ldGVycyAtIHBhcmFtZXRlcnMgZm9yIHRoaXMgc2Vzc2lvblxuICovXG5jb25zdCBTZXNzaW9uID0gZnVuY3Rpb24ocGFyYW1ldGVycyl7XG5cdHZhciBfdGhpcyA9IHRoaXNcblx0Ly8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuXHR0aGlzLnBhcmFtZXRlcnMgPSB7XG5cdFx0cmVuZGVyZXI6IG51bGwsXG5cdFx0Y2FtZXJhOiBudWxsLFxuXHRcdHNjZW5lOiBudWxsLFxuXHRcdHNvdXJjZVBhcmFtZXRlcnM6IHt9LFxuXHRcdGNvbnRleHRQYXJhbWV0ZXJzOiB7fSxcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggY3VycmVudFZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIlRIUkVFeC5TZXNzaW9uOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblx0Ly8gc2FuaXR5IGNoZWNrXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5yZW5kZXJlciBpbnN0YW5jZW9mIFRIUkVFLldlYkdMUmVuZGVyZXIpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5jYW1lcmEgaW5zdGFuY2VvZiBUSFJFRS5DYW1lcmEpXG5cdGNvbnNvbGUuYXNzZXJ0KHRoaXMucGFyYW1ldGVycy5zY2VuZSBpbnN0YW5jZW9mIFRIUkVFLlNjZW5lKVxuXG5cblx0Ly8gYmFja3dhcmQgZW11bGF0aW9uXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAncmVuZGVyZXInLCB7Z2V0OiBmdW5jdGlvbigpe1xuXHRcdGNvbnNvbGUud2FybigndXNlIC5wYXJhbWV0ZXJzLnJlbmRlcmVyIHJlbmRlcmVyJylcblx0XHRyZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyO1xuXHR9fSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnY2FtZXJhJywge2dldDogZnVuY3Rpb24oKXtcblx0XHRjb25zb2xlLndhcm4oJ3VzZSAucGFyYW1ldGVycy5jYW1lcmEgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5jYW1lcmE7XG5cdH19KTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY2VuZScsIHtnZXQ6IGZ1bmN0aW9uKCl7XG5cdFx0Y29uc29sZS53YXJuKCd1c2UgLnBhcmFtZXRlcnMuc2NlbmUgaW5zdGVhZCcpXG5cdFx0cmV0dXJuIHRoaXMucGFyYW1ldGVycy5zY2VuZTtcblx0fX0pO1xuXG5cblx0Ly8gbG9nIHRoZSB2ZXJzaW9uXG5cdGNvbnNvbGUubG9nKCdBUi5qcycsIENvbnRleHQuUkVWSVNJT04sICctIHRyYWNraW5nQmFja2VuZDonLCBwYXJhbWV0ZXJzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhclNvdXJjZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0dmFyIGFyU291cmNlID0gX3RoaXMuYXJTb3VyY2UgPSBuZXcgU291cmNlKHBhcmFtZXRlcnMuc291cmNlUGFyYW1ldGVycylcblxuXHRhclNvdXJjZS5pbml0KGZ1bmN0aW9uIG9uUmVhZHkoKXtcblx0XHRhclNvdXJjZS5vblJlc2l6ZShhckNvbnRleHQsIF90aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhKVxuXHR9KVxuXG5cdC8vIGhhbmRsZSByZXNpemVcblx0d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7XG5cdFx0YXJTb3VyY2Uub25SZXNpemUoYXJDb250ZXh0LCBfdGhpcy5wYXJhbWV0ZXJzLnJlbmRlcmVyLCBfdGhpcy5wYXJhbWV0ZXJzLmNhbWVyYSlcblx0fSlcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aW5pdCBhckNvbnRleHRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblx0Ly8gY3JlYXRlIGF0VG9vbGtpdENvbnRleHRcblx0dmFyIGFyQ29udGV4dCA9IF90aGlzLmFyQ29udGV4dCA9IG5ldyBDb250ZXh0KHBhcmFtZXRlcnMuY29udGV4dFBhcmFtZXRlcnMpXG5cblx0Ly8gaW5pdGlhbGl6ZSBpdFxuXHRfdGhpcy5hckNvbnRleHQuaW5pdCgpXG5cblx0YXJDb250ZXh0LmFkZEV2ZW50TGlzdGVuZXIoJ2luaXRpYWxpemVkJywgZnVuY3Rpb24oZXZlbnQpe1xuXHRcdGFyU291cmNlLm9uUmVzaXplKGFyQ29udGV4dCwgX3RoaXMucGFyYW1ldGVycy5yZW5kZXJlciwgX3RoaXMucGFyYW1ldGVycy5jYW1lcmEpXG5cdH0pXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHVwZGF0ZSBmdW5jdGlvblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gdXBkYXRlIGFydG9vbGtpdCBvbiBldmVyeSBmcmFtZVxuXHR0aGlzLnVwZGF0ZSA9IGZ1bmN0aW9uKCl7XG5cdFx0aWYoIGFyU291cmNlLnJlYWR5ID09PSBmYWxzZSApXHRyZXR1cm5cblxuXHRcdGFyQ29udGV4dC51cGRhdGUoIGFyU291cmNlLmRvbUVsZW1lbnQgKVxuXHR9XG59XG5cblNlc3Npb24ucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKCkge1xuXHR0aGlzLmFyU291cmNlLm9uUmVzaXplKHRoaXMuYXJDb250ZXh0LCB0aGlzLnBhcmFtZXRlcnMucmVuZGVyZXIsIHRoaXMucGFyYW1ldGVycy5jYW1lcmEpXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXNzaW9uOyIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuY29uc3QgVXRpbHMgPSB7fTtcblxuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IHJlbmRlcmluZyBjYW1lcmEgZm9yIHRoaXMgdHJhY2tpbmdCYWNrZW5kLiBUaGV5IG1heSBiZSBtb2RpZmllZCBsYXRlci4gdG8gZml0IHBoeXNpY2FsIGNhbWVyYSBwYXJhbWV0ZXJzXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRyYWNraW5nQmFja2VuZCAtIHRoZSB0cmFja2luZyB0byB1c2VyXG4gKiBAcmV0dXJuIHtUSFJFRS5DYW1lcmF9IHRoZSBjcmVhdGVkIGNhbWVyYVxuICovXG5VdGlscy5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIHRyYWNraW5nQmFja2VuZCA9IHRoaXMucGFyc2VUcmFja2luZ01ldGhvZCh0cmFja2luZ01ldGhvZCkudHJhY2tpbmdCYWNrZW5kXG4gICAgLy8gQ3JlYXRlIGEgY2FtZXJhXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdmFyIGNhbWVyYSA9IG5ldyBUSFJFRS5DYW1lcmEoKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmtub3duIHRyYWNraW5nQmFja2VuZDogJyArIHRyYWNraW5nQmFja2VuZClcblxuICAgIHJldHVybiBjYW1lcmFcbn1cblxuLyoqXG4gKiBwYXJzZSB0cmFja2luZyBtZXRob2RcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHJhY2tpbmdNZXRob2QgLSB0aGUgdHJhY2tpbmcgbWV0aG9kIHRvIHBhcnNlXG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdmFyaW91cyBmaWVsZCBvZiB0aGUgdHJhY2tpbmcgbWV0aG9kXG4gKi9cblV0aWxzLnBhcnNlVHJhY2tpbmdNZXRob2QgPSBmdW5jdGlvbiAodHJhY2tpbmdNZXRob2QpIHtcblxuICAgIGlmICh0cmFja2luZ01ldGhvZCA9PT0gJ2Jlc3QnKSB7XG4gICAgICAgIHRyYWNraW5nTWV0aG9kID0gJ2FyZWEtYXJ0b29sa2l0JztcbiAgICB9XG5cbiAgICBpZiAodHJhY2tpbmdNZXRob2Quc3RhcnRzV2l0aCgnYXJlYS0nKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiB0cmFja2luZ01ldGhvZC5yZXBsYWNlKCdhcmVhLScsICcnKSxcbiAgICAgICAgICAgIG1hcmtlcnNBcmVhRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFja2luZ0JhY2tlbmQ6IHRyYWNraW5nTWV0aG9kLFxuICAgICAgICAgICAgbWFya2Vyc0FyZWFFbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgVXRpbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgQXJNYXJrZXJDb250cm9scyBmcm9tICd0aHJlZXhBcm1hcmtlcmNvbnRyb2xzJzsgLy8gQWxpYXMgZm9yIGR5bmFtaWMgaW1wb3J0aW5nXG5pbXBvcnQganNhcnRvb2xraXQgZnJvbSAnanNhcnRvb2xraXQnOyAvLyBUT0RPIGNvbW1lbnQgZXhwbGFuYXRpb25cbmNvbnN0IHsgQVJUb29sa2l0LCBBUkNvbnRyb2xsZXIgfSA9IGpzYXJ0b29sa2l0O1xuY29uc3QgYXJ0b29sa2l0ID0gbmV3IEFSVG9vbGtpdCgpO1xuXG5jb25zdCBDb250ZXh0ID0gZnVuY3Rpb24gKHBhcmFtZXRlcnMpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICBfdGhpcy5fdXBkYXRlZEF0ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gQVIgYmFja2VuZCAtIFsnYXJ0b29sa2l0J11cbiAgICAgICAgdHJhY2tpbmdCYWNrZW5kOiAnYXJ0b29sa2l0JyxcbiAgICAgICAgLy8gZGVidWcgLSB0cnVlIGlmIG9uZSBzaG91bGQgZGlzcGxheSBhcnRvb2xraXQgZGVidWcgY2FudmFzLCBmYWxzZSBvdGhlcndpc2VcbiAgICAgICAgZGVidWc6IGZhbHNlLFxuICAgICAgICAvLyB0aGUgbW9kZSBvZiBkZXRlY3Rpb24gLSBbJ2NvbG9yJywgJ2NvbG9yX2FuZF9tYXRyaXgnLCAnbW9ubycsICdtb25vX2FuZF9tYXRyaXgnXVxuICAgICAgICBkZXRlY3Rpb25Nb2RlOiAnbW9ubycsXG4gICAgICAgIC8vIHR5cGUgb2YgbWF0cml4IGNvZGUgLSB2YWxpZCBpaWYgZGV0ZWN0aW9uTW9kZSBlbmQgd2l0aCAnbWF0cml4JyAtIFszeDMsIDN4M19IQU1NSU5HNjMsIDN4M19QQVJJVFk2NSwgNHg0LCA0eDRfQkNIXzEzXzlfMywgNHg0X0JDSF8xM181XzVdXG4gICAgICAgIG1hdHJpeENvZGVUeXBlOiAnM3gzJyxcblxuICAgICAgICAvLyB1cmwgb2YgdGhlIGNhbWVyYSBwYXJhbWV0ZXJzXG4gICAgICAgIGNhbWVyYVBhcmFtZXRlcnNVcmw6IENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvY2FtZXJhX3BhcmEuZGF0JyxcblxuICAgICAgICAvLyB0dW5lIHRoZSBtYXhpbXVtIHJhdGUgb2YgcG9zZSBkZXRlY3Rpb24gaW4gdGhlIHNvdXJjZSBpbWFnZVxuICAgICAgICBtYXhEZXRlY3Rpb25SYXRlOiA2MCxcbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBkZXRlY3QgcG9zZSBpbiB0aGUgc291cmNlIGltYWdlXG4gICAgICAgIGNhbnZhc1dpZHRoOiA2NDAsXG4gICAgICAgIGNhbnZhc0hlaWdodDogNDgwLFxuXG4gICAgICAgIC8vIHRoZSBwYXR0ZXJuUmF0aW8gaW5zaWRlIHRoZSBhcnRvb2xraXQgbWFya2VyIC0gYXJ0b29sa2l0IG9ubHlcbiAgICAgICAgcGF0dGVyblJhdGlvOiAwLjUsXG5cbiAgICAgICAgLy8gZW5hYmxlIGltYWdlIHNtb290aGluZyBvciBub3QgZm9yIGNhbnZhcyBjb3B5IC0gZGVmYXVsdCB0byB0cnVlXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQvaW1hZ2VTbW9vdGhpbmdFbmFibGVkXG4gICAgICAgIGltYWdlU21vb3RoaW5nRW5hYmxlZDogZmFsc2UsXG4gICAgfVxuICAgIC8vIHBhcmFtZXRlcnMgc2FuaXR5IGNoZWNrXG4gICAgY29uc29sZS5hc3NlcnQoWydhcnRvb2xraXQnXS5pbmRleE9mKHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQpICE9PSAtMSwgJ2ludmFsaWQgcGFyYW1ldGVyIHRyYWNraW5nQmFja2VuZCcsIHRoaXMucGFyYW1ldGVycy50cmFja2luZ0JhY2tlbmQpXG4gICAgY29uc29sZS5hc3NlcnQoWydjb2xvcicsICdjb2xvcl9hbmRfbWF0cml4JywgJ21vbm8nLCAnbW9ub19hbmRfbWF0cml4J10uaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZSkgIT09IC0xLCAnaW52YWxpZCBwYXJhbWV0ZXIgZGV0ZWN0aW9uTW9kZScsIHRoaXMucGFyYW1ldGVycy5kZXRlY3Rpb25Nb2RlKVxuXG4gICAgdGhpcy5hckNvbnRyb2xsZXIgPSBudWxsO1xuXG4gICAgX3RoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZVxuXG5cbiAgICB0aGlzLl9hck1hcmtlcnNDb250cm9scyA9IFtdXG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1x0XHRzZXRQYXJhbWV0ZXJzXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKVxuICAgIGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICAgICAgICBpZiAocGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkKSByZXR1cm5cbiAgICAgICAgZm9yICh2YXIga2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IHBhcmFtZXRlcnNba2V5XVxuXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkNvbnRleHQ6ICdcIiArIGtleSArIFwiJyBwYXJhbWV0ZXIgaXMgdW5kZWZpbmVkLlwiKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBjdXJyZW50VmFsdWUgPSBfdGhpcy5wYXJhbWV0ZXJzW2tleV1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQ29udGV4dDogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQ29udGV4dC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudCA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudDtcbkNvbnRleHQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBUSFJFRS5FdmVudERpc3BhdGNoZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI7XG5Db250ZXh0LnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyID0gVEhSRUUuRXZlbnREaXNwYXRjaGVyLnByb3RvdHlwZS5oYXNFdmVudExpc3RlbmVyO1xuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lciA9IFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcjtcblxuLy8gZGVmYXVsdCB0byBnaXRodWIgcGFnZVxuQ29udGV4dC5iYXNlVVJMID0gJ2h0dHBzOi8vYXItanMtb3JnLmdpdGh1Yi5pby9BUi5qcy90aHJlZS5qcy8nXG5Db250ZXh0LlJFVklTSU9OID0gJzMuMy4zLWVzNi1iZXRhLTAxJ1xuLyoqXG4gKiBDcmVhdGUgYSBkZWZhdWx0IGNhbWVyYSBmb3IgdGhpcyB0cmFja2luZ0JhY2tlbmRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0cmFja2luZ0JhY2tlbmQgLSB0aGUgdHJhY2tpbmcgdG8gdXNlclxuICogQHJldHVybiB7VEhSRUUuQ2FtZXJhfSB0aGUgY3JlYXRlZCBjYW1lcmFcbiAqL1xuQ29udGV4dC5jcmVhdGVEZWZhdWx0Q2FtZXJhID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndXNlIEFSanMuVXRpbHMuY3JlYXRlRGVmYXVsdENhbWVyYSBpbnN0ZWFkJylcbiAgICAvLyBDcmVhdGUgYSBjYW1lcmFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB2YXIgY2FtZXJhID0gbmV3IFRIUkVFLkNhbWVyYSgpO1xuICAgIH0gZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgcmV0dXJuIGNhbWVyYVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0aW5pdCBmdW5jdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvbkNvbXBsZXRlZCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXNcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5faW5pdEFydG9vbGtpdChkb25lKTtcbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpO1xuICAgIHJldHVyblxuXG4gICAgZnVuY3Rpb24gZG9uZSgpIHtcbiAgICAgICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICAgICAgX3RoaXMuZGlzcGF0Y2hFdmVudCh7XG4gICAgICAgICAgICB0eXBlOiAnaW5pdGlhbGl6ZWQnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIF90aGlzLmluaXRpYWxpemVkID0gdHJ1ZVxuXG4gICAgICAgIG9uQ29tcGxldGVkICYmIG9uQ29tcGxldGVkKClcbiAgICB9XG5cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICB1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuXG4gICAgLy8gYmUgc3VyZSBhckNvbnRyb2xsZXIgaXMgZnVsbHkgaW5pdGlhbGl6ZWRcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcgJiYgdGhpcy5hckNvbnRyb2xsZXIgPT09IG51bGwpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIGhvbm9yIHRoaXMucGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlXG4gICAgdmFyIHByZXNlbnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgIGlmICh0aGlzLl91cGRhdGVkQXQgIT09IG51bGwgJiYgcHJlc2VudCAtIHRoaXMuX3VwZGF0ZWRBdCA8IDEwMDAgLyB0aGlzLnBhcmFtZXRlcnMubWF4RGV0ZWN0aW9uUmF0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgdGhpcy5fdXBkYXRlZEF0ID0gcHJlc2VudFxuXG4gICAgdmFyIHByZXZWaXNpYmxlTWFya2VycyA9IFtdXG5cbiAgICAvLyBtYXJrIGFsbCBtYXJrZXJzIHRvIGludmlzaWJsZSBiZWZvcmUgcHJvY2Vzc2luZyB0aGlzIGZyYW1lXG4gICAgdGhpcy5fYXJNYXJrZXJzQ29udHJvbHMuZm9yRWFjaChmdW5jdGlvbiAobWFya2VyQ29udHJvbHMpIHtcbiAgICAgICAgaWYgKG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUpIHtcbiAgICAgICAgICAgIHByZXZWaXNpYmxlTWFya2Vycy5wdXNoKG1hcmtlckNvbnRyb2xzKVxuICAgICAgICB9XG4gICAgICAgIG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuICAgIH0pXG5cbiAgICAvLyBwcm9jZXNzIHRoaXMgZnJhbWVcbiAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlQXJ0b29sa2l0KHNyY0VsZW1lbnQpO1xuICAgIH0gIGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gZGlzcGF0Y2ggZXZlbnRcbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQoe1xuICAgICAgICB0eXBlOiAnc291cmNlUHJvY2Vzc2VkJ1xuICAgIH0pO1xuXG4gICAgLy8gQWZ0ZXIgZnJhbWUgaXMgcHJvY2Vzc2VkLCBjaGVjayB2aXNpYmlsaXR5IG9mIGVhY2ggbWFya2VyIHRvIGRldGVybWluZSBpZiBpdCB3YXMgZm91bmQgb3IgbG9zdFxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24gKG1hcmtlckNvbnRyb2xzKSB7XG4gICAgICAgIHZhciB3YXNWaXNpYmxlID0gcHJldlZpc2libGVNYXJrZXJzLmluY2x1ZGVzKG1hcmtlckNvbnRyb2xzKTtcbiAgICAgICAgdmFyIGlzVmlzaWJsZSA9IG1hcmtlckNvbnRyb2xzLm9iamVjdDNkLnZpc2libGU7XG4gICAgXG4gICAgICAgIGlmIChpc1Zpc2libGUgPT09IHRydWUgJiYgd2FzVmlzaWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnbWFya2VyRm91bmQnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBtYXJrZXJDb250cm9scyxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9IGVsc2UgaWYgKGlzVmlzaWJsZSA9PT0gZmFsc2UgJiYgd2FzVmlzaWJsZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdtYXJrZXJMb3N0Jywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogbWFya2VyQ29udHJvbHMsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgfVxuICAgIH0pXG5cblxuICAgIC8vIHJldHVybiB0cnVlIGFzIHdlIHByb2Nlc3NlZCB0aGUgZnJhbWVcbiAgICByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIEFkZC9SZW1vdmUgbWFya2VyQ29udHJvbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5Db250ZXh0LnByb3RvdHlwZS5hZGRNYXJrZXIgPSBmdW5jdGlvbiAoYXJNYXJrZXJDb250cm9scykge1xuICAgIGNvbnNvbGUuYXNzZXJ0KGFyTWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKVxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLnB1c2goYXJNYXJrZXJDb250cm9scylcbn1cblxuQ29udGV4dC5wcm90b3R5cGUucmVtb3ZlTWFya2VyID0gZnVuY3Rpb24gKGFyTWFya2VyQ29udHJvbHMpIHtcbiAgICBjb25zb2xlLmFzc2VydChhck1hcmtlckNvbnRyb2xzIGluc3RhbmNlb2YgQXJNYXJrZXJDb250cm9scylcbiAgICB2YXIgaW5kZXggPSB0aGlzLl9hck1hcmtlcnNDb250cm9scy5pbmRleE9mKGFyTWFya2VyQ29udHJvbHMpO1xuICAgIGlmKCBpbmRleCA8IDAgKSB7XG4gICAgXHRyZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLnNwbGljZShpbmRleCwgMSlcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRhcnRvb2xraXQgc3BlY2lmaWNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQ29udGV4dC5wcm90b3R5cGUuX2luaXRBcnRvb2xraXQgPSBmdW5jdGlvbiAob25Db21wbGV0ZWQpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAvLyBzZXQgdGhpcy5fYXJ0b29sa2l0UHJvamVjdGlvbkF4aXNUcmFuc2Zvcm1NYXRyaXggdG8gY2hhbmdlIGFydG9vbGtpdCBwcm9qZWN0aW9uIG1hdHJpeCBheGlzIHRvIG1hdGNoIHVzdWFsIHdlYmdsIG9uZVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKVxuICAgIHRoaXMuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4Lm11bHRpcGx5KG5ldyBUSFJFRS5NYXRyaXg0KCkubWFrZVJvdGF0aW9uWShNYXRoLlBJKSlcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeC5tdWx0aXBseShuZXcgVEhSRUUuTWF0cml4NCgpLm1ha2VSb3RhdGlvblooTWF0aC5QSSkpXG5cbiAgICAvLyBpbml0IEFSVG9vbGtpdFxuICAgIGFydG9vbGtpdC5pbml0KCkudGhlbihfID0+IHtcbiAgICAgICAgLy8gaW5pdCBjb250cm9sbGVyXG4gICAgICAgIEFSQ29udHJvbGxlci5pbml0V2l0aERpbWVuc2lvbnMoX3RoaXMucGFyYW1ldGVycy5jYW52YXNXaWR0aCwgX3RoaXMucGFyYW1ldGVycy5jYW52YXNIZWlnaHQsIF90aGlzLnBhcmFtZXRlcnMuY2FtZXJhUGFyYW1ldGVyc1VybCkudGhlbigoYXJDb250cm9sbGVyKSA9PiB7XG4gICAgICAgICAgICBfdGhpcy5hckNvbnRyb2xsZXIgPSBhckNvbnRyb2xsZXJcblxuICAgICAgICAgICAgLy8gaG9ub3IgdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLmN0eC5tb3pJbWFnZVNtb290aGluZ0VuYWJsZWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmltYWdlU21vb3RoaW5nRW5hYmxlZDtcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5jdHgud2Via2l0SW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4Lm1zSW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gX3RoaXMucGFyYW1ldGVycy5pbWFnZVNtb290aGluZ0VuYWJsZWQ7XG4gICAgICAgICAgICBhckNvbnRyb2xsZXIuY3R4LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IF90aGlzLnBhcmFtZXRlcnMuaW1hZ2VTbW9vdGhpbmdFbmFibGVkO1xuXG4gICAgICAgICAgICAvLyBob25vciB0aGlzLnBhcmFtZXRlcnMuZGVidWdcbiAgICAgICAgICAgIGlmIChfdGhpcy5wYXJhbWV0ZXJzLmRlYnVnID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgYXJDb250cm9sbGVyLmRlYnVnU2V0dXAoKTtcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUudG9wID0gJzBweCdcbiAgICAgICAgICAgICAgICBhckNvbnRyb2xsZXIuY2FudmFzLnN0eWxlLm9wYWNpdHkgPSAnMC42J1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJ1xuICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5jYW52YXMuc3R5bGUuekluZGV4ID0gJy0xJ1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBzZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZVxuICAgICAgICAgICAgdmFyIGRldGVjdGlvbk1vZGVzID0ge1xuICAgICAgICAgICAgICAgICdjb2xvcic6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUixcbiAgICAgICAgICAgICAgICAnY29sb3JfYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYLFxuICAgICAgICAgICAgICAgICdtb25vJzogYXJ0b29sa2l0LkFSX1RFTVBMQVRFX01BVENISU5HX01PTk8sXG4gICAgICAgICAgICAgICAgJ21vbm9fYW5kX21hdHJpeCc6IGFydG9vbGtpdC5BUl9URU1QTEFURV9NQVRDSElOR19NT05PX0FORF9NQVRSSVgsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGV0ZWN0aW9uTW9kZSA9IGRldGVjdGlvbk1vZGVzW190aGlzLnBhcmFtZXRlcnMuZGV0ZWN0aW9uTW9kZV1cbiAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRldGVjdGlvbk1vZGUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgIGFyQ29udHJvbGxlci5zZXRQYXR0ZXJuRGV0ZWN0aW9uTW9kZShkZXRlY3Rpb25Nb2RlKTtcblxuICAgICAgICAgICAgLy8gc2V0TWF0cml4Q29kZVR5cGVcbiAgICAgICAgICAgIHZhciBtYXRyaXhDb2RlVHlwZXMgPSB7XG4gICAgICAgICAgICAgICAgJzN4Myc6IGFydG9vbGtpdC5BUl9NQVRSSVhfQ09ERV8zeDMsXG4gICAgICAgICAgICAgICAgJzN4M19IQU1NSU5HNjMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MyxcbiAgICAgICAgICAgICAgICAnM3gzX1BBUklUWTY1JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzN4M19QQVJJVFk2NSxcbiAgICAgICAgICAgICAgICAnNHg0JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NCxcbiAgICAgICAgICAgICAgICAnNHg0X0JDSF8xM185XzMnOiBhcnRvb2xraXQuQVJfTUFUUklYX0NPREVfNHg0X0JDSF8xM185XzMsXG4gICAgICAgICAgICAgICAgJzR4NF9CQ0hfMTNfNV81JzogYXJ0b29sa2l0LkFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81LFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIG1hdHJpeENvZGVUeXBlID0gbWF0cml4Q29kZVR5cGVzW190aGlzLnBhcmFtZXRlcnMubWF0cml4Q29kZVR5cGVdXG4gICAgICAgICAgICBjb25zb2xlLmFzc2VydChtYXRyaXhDb2RlVHlwZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldE1hdHJpeENvZGVUeXBlKG1hdHJpeENvZGVUeXBlKTtcblxuICAgICAgICAgICAgLy8gc2V0IHRoZSBwYXR0ZXJuUmF0aW8gZm9yIGFydG9vbGtpdFxuICAgICAgICAgICAgYXJDb250cm9sbGVyLnNldFBhdHRSYXRpbyhfdGhpcy5wYXJhbWV0ZXJzLnBhdHRlcm5SYXRpbyk7XG5cbiAgICAgICAgICAgIC8vIHNldCB0aHJlc2hvbGRpbmcgaW4gYXJ0b29sa2l0XG4gICAgICAgICAgICAvLyB0aGlzIHNlZW1zIHRvIGJlIHRoZSBkZWZhdWx0XG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfTUFOVUFMKVxuICAgICAgICAgICAgLy8gYWRhdGF0aXZlIGNvbnN1bWUgYSBMT1Qgb2YgY3B1Li4uXG4gICAgICAgICAgICAvLyBhckNvbnRyb2xsZXIuc2V0VGhyZXNob2xkTW9kZShhcnRvb2xraXQuQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRSlcbiAgICAgICAgICAgIC8vIGFyQ29udHJvbGxlci5zZXRUaHJlc2hvbGRNb2RlKGFydG9vbGtpdC5BUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UpXG5cbiAgICAgICAgICAgIC8vIG5vdGlmeVxuICAgICAgICAgICAgb25Db21wbGV0ZWQoKVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpc1xufVxuXG4vKipcbiAqIHJldHVybiB0aGUgcHJvamVjdGlvbiBtYXRyaXhcbiAqL1xuQ29udGV4dC5wcm90b3R5cGUuZ2V0UHJvamVjdGlvbk1hdHJpeCA9IGZ1bmN0aW9uIChzcmNFbGVtZW50KSB7XG5cblxuICAgIC8vIEZJWE1FIHJlbmFtZSB0aGlzIGZ1bmN0aW9uIHRvIHNheSBpdCBpcyBhcnRvb2xraXQgc3BlY2lmaWMgLSBnZXRBcnRvb2xraXRQcm9qZWN0TWF0cml4XG4gICAgLy8ga2VlcCBhIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBhIGNvbnNvbGUud2FyblxuXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5wYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpXG4gICAgY29uc29sZS5hc3NlcnQodGhpcy5hckNvbnRyb2xsZXIsICdhckNvbnRyb2xsZXIgTVVTVCBiZSBpbml0aWFsaXplZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24nKVxuICAgIC8vIGdldCBwcm9qZWN0aW9uTWF0cml4QXJyIGZyb20gYXJ0b29sa2l0XG4gICAgdmFyIHByb2plY3Rpb25NYXRyaXhBcnIgPSB0aGlzLmFyQ29udHJvbGxlci5nZXRDYW1lcmFNYXRyaXgoKTtcbiAgICB2YXIgcHJvamVjdGlvbk1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KHByb2plY3Rpb25NYXRyaXhBcnIpXG5cbiAgICAvLyByZXR1cm4gdGhlIHJlc3VsdFxuICAgIHJldHVybiBwcm9qZWN0aW9uTWF0cml4XG59XG5cbkNvbnRleHQucHJvdG90eXBlLl91cGRhdGVBcnRvb2xraXQgPSBmdW5jdGlvbiAoc3JjRWxlbWVudCkge1xuICAgIHRoaXMuYXJDb250cm9sbGVyLnByb2Nlc3Moc3JjRWxlbWVudClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRkaXNwb3NlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkNvbnRleHQucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbiAoKSB7XG5cdHRoaXMuaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuXHQvLyBtYXJrZXJzXG5cdHRoaXMuX2FyTWFya2Vyc0NvbnRyb2xzLmZvckVhY2goZnVuY3Rpb24gKG1hcmtlckNvbnRyb2xzKSB7XG5cdFx0Y29uc29sZS5hc3NlcnQobWFya2VyQ29udHJvbHMgaW5zdGFuY2VvZiBBck1hcmtlckNvbnRyb2xzKTtcblx0XHRtYXJrZXJDb250cm9scy5kaXNwb3NlKCk7XG5cdH0gKTtcblx0dGhpcy5fYXJNYXJrZXJzQ29udHJvbHMgPSBbXTtcblxuXHQvLyBjYW1lcmFQYXJhbVxuXHRpZiAodGhpcy5hckNvbnRyb2xsZXIgJiYgdGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0gJiYgdGhpcy5hckNvbnRyb2xsZXIuY2FtZXJhUGFyYW0uZGlzcG9zZSkge1xuXHRcdHRoaXMuYXJDb250cm9sbGVyLmNhbWVyYVBhcmFtLmRpc3Bvc2UoKTtcblx0fVxuXG5cdFxuXHQvLyBBUkNvbnRyb2xsZXJcblx0aWYoIHRoaXMuYXJDb250cm9sbGVyICYmIHRoaXMuYXJDb250cm9sbGVyLmRpc3Bvc2UgKSB7XG5cdFx0dGhpcy5hckNvbnRyb2xsZXIuZGlzcG9zZSgpO1xuXHR9XG5cdHRoaXMuYXJDb250cm9sbGVyID0gbnVsbDtcblxuICAgIC8vIGNsYXNzIHByb3BlcnRpZXNcbiAgICB0aGlzLl9hcnRvb2xraXRQcm9qZWN0aW9uQXhpc1RyYW5zZm9ybU1hdHJpeCA9IG51bGw7XG5cblx0Ly8gYXJ0b29sa2l0XG5cdC8vIE5PVEU6IHNpbmNlIHRoZSBpbnN0YW5jZSBvZiBBUlRvb2xraXQgaXMgY3JlYXRlZCBnbG9iYWxseSBcblx0Ly8gd2Ugc2hvdWxkIHByb2JhYmx5IGRvIG5vdCBjYWxsIC50ZWFyZG93bigpIC4uLiA/XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbnRleHQ7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IEFyQmFzZUNvbnRyb2xzIGZyb20gJy4vdGhyZWV4LWFyYmFzZWNvbnRyb2xzJztcbmltcG9ydCBqc2FydG9vbGtpdCBmcm9tICdqc2FydG9vbGtpdCc7IC8vIFRPRE8gY29tbWVudCBleHBsYW5hdGlvblxuY29uc3QgeyBBUlRvb2xraXQgfSA9IGpzYXJ0b29sa2l0O1xuXG5jb25zdCBNYXJrZXJDb250cm9scyA9IGZ1bmN0aW9uKGNvbnRleHQsIG9iamVjdDNkLCBwYXJhbWV0ZXJzKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdEFyQmFzZUNvbnRyb2xzLmNhbGwodGhpcywgb2JqZWN0M2QpXG5cblx0dGhpcy5jb250ZXh0ID0gY29udGV4dFxuXHQvLyBoYW5kbGUgZGVmYXVsdCBwYXJhbWV0ZXJzXG5cdHRoaXMucGFyYW1ldGVycyA9IHtcblx0XHQvLyBzaXplIG9mIHRoZSBtYXJrZXIgaW4gbWV0ZXJcblx0XHRzaXplIDogMSxcblx0XHQvLyB0eXBlIG9mIG1hcmtlciAtIFsncGF0dGVybicsICdiYXJjb2RlJywgJ3Vua25vd24nIF1cblx0XHR0eXBlIDogJ3Vua25vd24nLFxuXHRcdC8vIHVybCBvZiB0aGUgcGF0dGVybiAtIElJRiB0eXBlPSdwYXR0ZXJuJ1xuXHRcdHBhdHRlcm5VcmwgOiBudWxsLFxuXHRcdC8vIHZhbHVlIG9mIHRoZSBiYXJjb2RlIC0gSUlGIHR5cGU9J2JhcmNvZGUnXG5cdFx0YmFyY29kZVZhbHVlIDogbnVsbCxcblx0XHQvLyBjaGFuZ2UgbWF0cml4IG1vZGUgLSBbbW9kZWxWaWV3TWF0cml4LCBjYW1lcmFUcmFuc2Zvcm1NYXRyaXhdXG5cdFx0Y2hhbmdlTWF0cml4TW9kZSA6ICdtb2RlbFZpZXdNYXRyaXgnLFxuXHRcdC8vIG1pbmltYWwgY29uZmlkZW5jZSBpbiB0aGUgbWFya2UgcmVjb2duaXRpb24gLSBiZXR3ZWVuIFswLCAxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdG1pbkNvbmZpZGVuY2U6IDAuNixcblx0XHQvLyB0dXJuIG9uL29mZiBjYW1lcmEgc21vb3RoaW5nXG5cdFx0c21vb3RoOiBmYWxzZSxcblx0XHQvLyBudW1iZXIgb2YgbWF0cmljZXMgdG8gc21vb3RoIHRyYWNraW5nIG92ZXIsIG1vcmUgPSBzbW9vdGhlciBidXQgc2xvd2VyIGZvbGxvd1xuXHRcdHNtb290aENvdW50OiA1LFxuXHRcdC8vIGRpc3RhbmNlIHRvbGVyYW5jZSBmb3Igc21vb3RoaW5nLCBpZiBzbW9vdGhUaHJlc2hvbGQgIyBvZiBtYXRyaWNlcyBhcmUgdW5kZXIgdG9sZXJhbmNlLCB0cmFja2luZyB3aWxsIHN0YXkgc3RpbGxcblx0XHRzbW9vdGhUb2xlcmFuY2U6IDAuMDEsXG5cdFx0Ly8gdGhyZXNob2xkIGZvciBzbW9vdGhpbmcsIHdpbGwga2VlcCBzdGlsbCB1bmxlc3MgZW5vdWdoIG1hdHJpY2VzIGFyZSBvdmVyIHRvbGVyYW5jZVxuXHRcdHNtb290aFRocmVzaG9sZDogMixcblx0fVxuXG5cdC8vIHNhbml0eSBjaGVja1xuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ3BhdHRlcm4nLCAnYmFyY29kZScsICd1bmtub3duJ11cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMudHlwZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy50eXBlKVxuXHR2YXIgcG9zc2libGVWYWx1ZXMgPSBbJ21vZGVsVmlld01hdHJpeCcsICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnIF1cblx0Y29uc29sZS5hc3NlcnQocG9zc2libGVWYWx1ZXMuaW5kZXhPZih0aGlzLnBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZSkgIT09IC0xLCAnaWxsZWdhbCB2YWx1ZScsIHRoaXMucGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlKVxuXG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSBtYXJrZXIgUm9vdFxuXHR0aGlzLm9iamVjdDNkID0gb2JqZWN0M2Rcblx0dGhpcy5vYmplY3QzZC5tYXRyaXhBdXRvVXBkYXRlID0gZmFsc2U7XG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdHNldFBhcmFtZXRlcnNcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdHNldFBhcmFtZXRlcnMocGFyYW1ldGVycylcblx0ZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKXtcblx0XHRpZiggcGFyYW1ldGVycyA9PT0gdW5kZWZpbmVkIClcdHJldHVyblxuXHRcdGZvciggdmFyIGtleSBpbiBwYXJhbWV0ZXJzICl7XG5cdFx0XHR2YXIgbmV3VmFsdWUgPSBwYXJhbWV0ZXJzWyBrZXkgXVxuXG5cdFx0XHRpZiggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApe1xuXHRcdFx0XHRjb25zb2xlLndhcm4oIFwiQXJNYXJrZXJDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBck1hcmtlckNvbnRyb2xzOiAnXCIgKyBrZXkgKyBcIicgaXMgbm90IGEgcHJvcGVydHkgb2YgdGhpcyBtYXRlcmlhbC5cIiApXG5cdFx0XHRcdGNvbnRpbnVlXG5cdFx0XHR9XG5cblx0XHRcdF90aGlzLnBhcmFtZXRlcnNbIGtleSBdID0gbmV3VmFsdWVcblx0XHR9XG5cdH1cblxuXHRpZiAodGhpcy5wYXJhbWV0ZXJzLnNtb290aCkge1xuXHRcdHRoaXMuc21vb3RoTWF0cmljZXMgPSBbXTsgLy8gbGFzdCBERUJPVU5DRV9DT1VOVCBtb2RlbFZpZXdNYXRyaXhcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRDb2RlIFNlcGFyYXRvclxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly8gYWRkIHRoaXMgbWFya2VyIHRvIGFydG9vbGtpdHN5c3RlbVxuXHQvLyBUT0RPIHJlbmFtZSB0aGF0IC5hZGRNYXJrZXJDb250cm9sc1xuXHRjb250ZXh0LmFkZE1hcmtlcih0aGlzKVxuXG5cdGlmKCBfdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdHRoaXMuX2luaXRBcnRvb2xraXQoKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcbn1cblxuTWFya2VyQ29udHJvbHMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSggQXJCYXNlQ29udHJvbHMucHJvdG90eXBlICk7XG5NYXJrZXJDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBNYXJrZXJDb250cm9scztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdGRpc3Bvc2UgaW5zdGFuY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLmRpc3Bvc2UgPSBmdW5jdGlvbigpe1xuXHRpZiggdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5hckNvbnRyb2xsZXIgKSB7XG5cdFx0dGhpcy5jb250ZXh0LmFyQ29udHJvbGxlci5yZW1vdmVFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCB0aGlzLm9uR2V0TWFya2VyKTtcblx0fVxuXG5cdHRoaXMuY29udGV4dC5yZW1vdmVNYXJrZXIodGhpcyk7XG5cdFxuXHR0aGlzLm9iamVjdDNkID0gbnVsbDtcblx0dGhpcy5zbW9vdGhNYXRyaWNlcyA9IFtdO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHVwZGF0ZSBjb250cm9scyB3aXRoIG5ldyBtb2RlbFZpZXdNYXRyaXhcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIFdoZW4geW91IGFjdHVhbGx5IGdvdCBhIG5ldyBtb2RlbFZpZXdNYXRyaXgsIHlvdSBuZWVkIHRvIHBlcmZvbSBhIHdob2xlIGJ1bmNoXG4gKiBvZiB0aGluZ3MuIGl0IGlzIGRvbmUgaGVyZS5cbiAqL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXggPSBmdW5jdGlvbihtb2RlbFZpZXdNYXRyaXgpe1xuXHR2YXIgbWFya2VyT2JqZWN0M0QgPSB0aGlzLm9iamVjdDNkO1xuXG5cdC8vIG1hcmsgb2JqZWN0IGFzIHZpc2libGVcblx0bWFya2VyT2JqZWN0M0QudmlzaWJsZSA9IHRydWVcblxuXHRpZiggdGhpcy5jb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0JyApe1xuXHRcdC8vIGFwcGx5IGNvbnRleHQuX2F4aXNUcmFuc2Zvcm1NYXRyaXggLSBjaGFuZ2UgYXJ0b29sa2l0IGF4aXMgdG8gbWF0Y2ggdXN1YWwgd2ViZ2wgb25lXG5cdFx0dmFyIHRtcE1hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuY29weSh0aGlzLmNvbnRleHQuX2FydG9vbGtpdFByb2plY3Rpb25BeGlzVHJhbnNmb3JtTWF0cml4KVxuXHRcdHRtcE1hdHJpeC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgpXG5cblx0XHRtb2RlbFZpZXdNYXRyaXguY29weSh0bXBNYXRyaXgpXG5cdH1lbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuXG5cdC8vIGNoYW5nZSBheGlzIG9yaWVudGF0aW9uIG9uIG1hcmtlciAtIGFydG9vbGtpdCBzYXkgWiBpcyBub3JtYWwgdG8gdGhlIG1hcmtlciAtIGFyLmpzIHNheSBZIGlzIG5vcm1hbCB0byB0aGUgbWFya2VyXG5cdHZhciBtYXJrZXJBeGlzVHJhbnNmb3JtTWF0cml4ID0gbmV3IFRIUkVFLk1hdHJpeDQoKS5tYWtlUm90YXRpb25YKE1hdGguUEkvMilcblx0bW9kZWxWaWV3TWF0cml4Lm11bHRpcGx5KG1hcmtlckF4aXNUcmFuc2Zvcm1NYXRyaXgpXG5cblx0dmFyIHJlbmRlclJlcWQgPSBmYWxzZTtcblxuXHQvLyBjaGFuZ2UgbWFya2VyT2JqZWN0M0QubWF0cml4IGJhc2VkIG9uIHBhcmFtZXRlcnMuY2hhbmdlTWF0cml4TW9kZVxuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdtb2RlbFZpZXdNYXRyaXgnICl7XG5cdFx0aWYgKHRoaXMucGFyYW1ldGVycy5zbW9vdGgpIHtcblx0XHRcdHZhciBzdW0sXG5cdFx0XHRcdFx0aSwgaixcblx0XHRcdFx0XHRhdmVyYWdlcywgLy8gYXZlcmFnZSB2YWx1ZXMgZm9yIG1hdHJpeCBvdmVyIGxhc3Qgc21vb3RoQ291bnRcblx0XHRcdFx0XHRleGNlZWRzQXZlcmFnZVRvbGVyYW5jZSA9IDA7XG5cblx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMucHVzaChtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMuc2xpY2UoKSk7IC8vIGFkZCBsYXRlc3RcblxuXHRcdFx0aWYgKHRoaXMuc21vb3RoTWF0cmljZXMubGVuZ3RoIDwgKHRoaXMucGFyYW1ldGVycy5zbW9vdGhDb3VudCArIDEpKSB7XG5cdFx0XHRcdG1hcmtlck9iamVjdDNELm1hdHJpeC5jb3B5KG1vZGVsVmlld01hdHJpeCk7IC8vIG5vdCBlbm91Z2ggZm9yIGF2ZXJhZ2Vcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc21vb3RoTWF0cmljZXMuc2hpZnQoKTsgLy8gcmVtb3ZlIG9sZGVzdCBlbnRyeVxuXHRcdFx0XHRhdmVyYWdlcyA9IFtdO1xuXG5cdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHsgLy8gbG9vcCBvdmVyIGVudHJpZXMgaW4gbWF0cml4XG5cdFx0XHRcdFx0c3VtID0gMDtcblx0XHRcdFx0XHRmb3IgKGogaW4gdGhpcy5zbW9vdGhNYXRyaWNlcykgeyAvLyBjYWxjdWxhdGUgYXZlcmFnZSBmb3IgdGhpcyBlbnRyeVxuXHRcdFx0XHRcdFx0c3VtICs9IHRoaXMuc21vb3RoTWF0cmljZXNbal1baV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGF2ZXJhZ2VzW2ldID0gc3VtIC8gdGhpcy5wYXJhbWV0ZXJzLnNtb290aENvdW50O1xuXHRcdFx0XHRcdC8vIGNoZWNrIGhvdyBtYW55IGVsZW1lbnRzIHZhcnkgZnJvbSB0aGUgYXZlcmFnZSBieSBhdCBsZWFzdCBBVkVSQUdFX01BVFJJWF9UT0xFUkFOQ0Vcblx0XHRcdFx0XHRpZiAoTWF0aC5hYnMoYXZlcmFnZXNbaV0gLSBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHNbaV0pID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUb2xlcmFuY2UpIHtcblx0XHRcdFx0XHRcdGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlKys7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaWYgbW92aW5nIChpLmUuIGF0IGxlYXN0IEFWRVJBR0VfTUFUUklYX1RIUkVTSE9MRCBlbnRyaWVzIGFyZSBvdmVyIEFWRVJBR0VfTUFUUklYX1RPTEVSQU5DRSlcblx0XHRcdFx0aWYgKGV4Y2VlZHNBdmVyYWdlVG9sZXJhbmNlID49IHRoaXMucGFyYW1ldGVycy5zbW9vdGhUaHJlc2hvbGQpIHtcblx0XHRcdFx0XHQvLyB0aGVuIHVwZGF0ZSBtYXRyaXggdmFsdWVzIHRvIGF2ZXJhZ2UsIG90aGVyd2lzZSwgZG9uJ3QgcmVuZGVyIHRvIG1pbmltaXplIGppdHRlclxuXHRcdFx0XHRcdGZvciAoaSBpbiBtb2RlbFZpZXdNYXRyaXguZWxlbWVudHMpIHtcblx0XHRcdFx0XHRcdG1vZGVsVmlld01hdHJpeC5lbGVtZW50c1tpXSA9IGF2ZXJhZ2VzW2ldO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpO1xuXHRcdFx0XHRcdHJlbmRlclJlcWQgPSB0cnVlOyAvLyByZW5kZXIgcmVxdWlyZWQgaW4gYW5pbWF0aW9uIGxvb3Bcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRtYXJrZXJPYmplY3QzRC5tYXRyaXguY29weShtb2RlbFZpZXdNYXRyaXgpXG5cdFx0fVxuXHR9ZWxzZSBpZiggdGhpcy5wYXJhbWV0ZXJzLmNoYW5nZU1hdHJpeE1vZGUgPT09ICdjYW1lcmFUcmFuc2Zvcm1NYXRyaXgnICl7XG5cdFx0bWFya2VyT2JqZWN0M0QubWF0cml4LmNvcHkobW9kZWxWaWV3TWF0cml4KS5pbnZlcnQoKVxuXHR9ZWxzZSB7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UpXG5cdH1cblxuXHQvLyBkZWNvbXBvc2UgLSB0aGUgbWF0cml4IGludG8gLnBvc2l0aW9uLCAucXVhdGVybmlvbiwgLnNjYWxlXG5cdG1hcmtlck9iamVjdDNELm1hdHJpeC5kZWNvbXBvc2UobWFya2VyT2JqZWN0M0QucG9zaXRpb24sIG1hcmtlck9iamVjdDNELnF1YXRlcm5pb24sIG1hcmtlck9iamVjdDNELnNjYWxlKVxuXG5cdC8vIGRpc3BhdGNoRXZlbnRcblx0dGhpcy5kaXNwYXRjaEV2ZW50KCB7IHR5cGU6ICdtYXJrZXJGb3VuZCcgfSApO1xuXG5cdHJldHVybiByZW5kZXJSZXFkO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyoqXG4gKiBwcm92aWRlIGEgbmFtZSBmb3IgYSBtYXJrZXJcbiAqIC0gc2lsbHkgaGV1cmlzdGljIGZvciBub3dcbiAqIC0gc2hvdWxkIGJlIGltcHJvdmVkXG4gKi9cbk1hcmtlckNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0dmFyIG5hbWUgPSAnJ1xuXHRuYW1lICs9IHRoaXMucGFyYW1ldGVycy50eXBlO1xuXHRpZiggdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdHZhciB1cmwgPSB0aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybFxuXHRcdHZhciBiYXNlbmFtZSA9IHVybC5yZXBsYWNlKC9eLipcXC8vZywgJycpXG5cdFx0bmFtZSArPSAnIC0gJyArIGJhc2VuYW1lXG5cdH1lbHNlIGlmKCB0aGlzLnBhcmFtZXRlcnMudHlwZSA9PT0gJ2JhcmNvZGUnICl7XG5cdFx0bmFtZSArPSAnIC0gJyArIHRoaXMucGFyYW1ldGVycy5iYXJjb2RlVmFsdWVcblx0fWVsc2V7XG5cdFx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICdubyAubmFtZSgpIGltcGxlbWVudGVkIGZvciB0aGlzIG1hcmtlciBjb250cm9scycpXG5cdH1cblx0cmV0dXJuIG5hbWVcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRpbml0IGZvciBBcnRvb2xraXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuTWFya2VyQ29udHJvbHMucHJvdG90eXBlLl9pbml0QXJ0b29sa2l0ID0gZnVuY3Rpb24oKXtcblx0dmFyIF90aGlzID0gdGhpc1xuXG5cdHZhciBhcnRvb2xraXRNYXJrZXJJZCA9IG51bGxcblxuXHR2YXIgZGVsYXllZEluaXRUaW1lcklkID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGlmKCBhckNvbnRyb2xsZXIgPT09IG51bGwgKVx0cmV0dXJuXG5cdFx0Ly8gc3RvcCBsb29waW5nIGlmIGl0IGlzIGluaXRcblx0XHRjbGVhckludGVydmFsKGRlbGF5ZWRJbml0VGltZXJJZClcblx0XHRkZWxheWVkSW5pdFRpbWVySWQgPSBudWxsXG5cdFx0Ly8gbGF1bmNoIHRoZSBfcG9zdEluaXRBcnRvb2xraXRcblx0XHRwb3N0SW5pdCgpXG5cdH0sIDEwMDAvNTApXG5cblx0cmV0dXJuXG5cblx0ZnVuY3Rpb24gcG9zdEluaXQoKXtcblx0XHQvLyBjaGVjayBpZiBhckNvbnRyb2xsZXIgaXMgaW5pdFxuXHRcdHZhciBhckNvbnRyb2xsZXIgPSBfdGhpcy5jb250ZXh0LmFyQ29udHJvbGxlclxuXHRcdGNvbnNvbGUuYXNzZXJ0KGFyQ29udHJvbGxlciAhPT0gbnVsbCApXG5cblx0XHQvLyBzdGFydCB0cmFja2luZyB0aGlzIHBhdHRlcm5cblx0XHRpZiggX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAncGF0dGVybicgKXtcblx0ICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci5sb2FkTWFya2VyKF90aGlzLnBhcmFtZXRlcnMucGF0dGVyblVybCkudGhlbihmdW5jdGlvbihtYXJrZXJJZCkge1xuXHRcdFx0XHRhcnRvb2xraXRNYXJrZXJJZCA9IG1hcmtlcklkXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGFyQ29udHJvbGxlci50cmFja1BhdHRlcm5NYXJrZXJJZChhcnRvb2xraXRNYXJrZXJJZCwgX3RoaXMucGFyYW1ldGVycy5zaXplKTtcblx0ICAgICAgICAgICAgICAgIH0pO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBfdGhpcy5wYXJhbWV0ZXJzLmJhcmNvZGVWYWx1ZVxuXHRcdFx0YXJDb250cm9sbGVyLnRyYWNrQmFyY29kZU1hcmtlcklkKGFydG9vbGtpdE1hcmtlcklkLCBfdGhpcy5wYXJhbWV0ZXJzLnNpemUpO1xuXHRcdH1lbHNlIGlmKCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICd1bmtub3duJyApe1xuXHRcdFx0YXJ0b29sa2l0TWFya2VySWQgPSBudWxsXG5cdFx0fWVsc2V7XG5cdFx0XHRjb25zb2xlLmxvZyhmYWxzZSwgJ2ludmFsaWQgbWFya2VyIHR5cGUnLCBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUpXG5cdFx0fVxuXG5cdFx0Ly8gbGlzdGVuIHRvIHRoZSBldmVudFxuXHRcdGFyQ29udHJvbGxlci5hZGRFdmVudExpc3RlbmVyKCdnZXRNYXJrZXInLCBvbkdldE1hcmtlcilcblxuXHR9XG5cblx0ZnVuY3Rpb24gb25NYXJrZXJGb3VuZChldmVudCl7XG5cdFx0Ly8gaG9ub3IgaGlzLnBhcmFtZXRlcnMubWluQ29uZmlkZW5jZVxuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBldmVudC5kYXRhLm1hcmtlci5jZlBhdHQgPCBfdGhpcy5wYXJhbWV0ZXJzLm1pbkNvbmZpZGVuY2UgKVx0cmV0dXJuXG5cdFx0aWYoIGV2ZW50LmRhdGEudHlwZSA9PT0gQVJUb29sa2l0LkJBUkNPREVfTUFSS0VSICYmIGV2ZW50LmRhdGEubWFya2VyLmNmTWF0cml4IDwgX3RoaXMucGFyYW1ldGVycy5taW5Db25maWRlbmNlIClcdHJldHVyblxuXG5cdFx0dmFyIG1vZGVsVmlld01hdHJpeCA9IG5ldyBUSFJFRS5NYXRyaXg0KCkuZnJvbUFycmF5KGV2ZW50LmRhdGEubWF0cml4KVxuXHRcdF90aGlzLnVwZGF0ZVdpdGhNb2RlbFZpZXdNYXRyaXgobW9kZWxWaWV3TWF0cml4KVxuXHR9XG5cblx0ZnVuY3Rpb24gb25HZXRNYXJrZXIoZXZlbnQpe1xuXHRcdGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5QQVRURVJOX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdwYXR0ZXJuJyApe1xuXHRcdFx0aWYoIGFydG9vbGtpdE1hcmtlcklkID09PSBudWxsIClcdHJldHVyblxuXHRcdFx0aWYoIGV2ZW50LmRhdGEubWFya2VyLmlkUGF0dCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSBvbk1hcmtlckZvdW5kKGV2ZW50KVxuXHRcdH1lbHNlIGlmKCBldmVudC5kYXRhLnR5cGUgPT09IEFSVG9vbGtpdC5CQVJDT0RFX01BUktFUiAmJiBfdGhpcy5wYXJhbWV0ZXJzLnR5cGUgPT09ICdiYXJjb2RlJyApe1xuXHRcdFx0Ly8gY29uc29sZS5sb2coJ0JBUkNPREVfTUFSS0VSIGlkTWF0cml4JywgZXZlbnQuZGF0YS5tYXJrZXIuaWRNYXRyaXgsIGFydG9vbGtpdE1hcmtlcklkIClcblx0XHRcdGlmKCBhcnRvb2xraXRNYXJrZXJJZCA9PT0gbnVsbCApXHRyZXR1cm5cblx0XHRcdGlmKCBldmVudC5kYXRhLm1hcmtlci5pZE1hdHJpeCA9PT0gYXJ0b29sa2l0TWFya2VySWQgKSAgb25NYXJrZXJGb3VuZChldmVudClcblx0XHR9ZWxzZSBpZiggZXZlbnQuZGF0YS50eXBlID09PSBBUlRvb2xraXQuVU5LTk9XTl9NQVJLRVIgJiYgX3RoaXMucGFyYW1ldGVycy50eXBlID09PSAndW5rbm93bicpe1xuXHRcdFx0b25NYXJrZXJGb3VuZChldmVudClcblx0XHR9XG5cdH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBNYXJrZXJDb250cm9scztcbiIsImltcG9ydCBVdGlscyBmcm9tICcuLi9uZXctYXBpL2FyanMtdXRpbHMnO1xuaW1wb3J0IEFyVG9vbGtpdENvbnRleHQgZnJvbSAnLi9hcmpzLWNvbnRleHQnOyAvLyBUT0RPIGNvbnRleHQgYnVpbGQtZGVwZW5kZW50XG5cbi8qKlxuICogQXJUb29sa2l0UHJvZmlsZSBoZWxwcyB5b3UgYnVpbGQgcGFyYW1ldGVycyBmb3IgYXJ0b29sa2l0XG4gKiAtIGl0IGlzIGZ1bGx5IGluZGVwZW5kZW50IG9mIHRoZSByZXN0IG9mIHRoZSBjb2RlXG4gKiAtIGFsbCB0aGUgb3RoZXIgY2xhc3NlcyBhcmUgc3RpbGwgZXhwZWN0aW5nIG5vcm1hbCBwYXJhbWV0ZXJzXG4gKiAtIHlvdSBjYW4gdXNlIHRoaXMgY2xhc3MgdG8gdW5kZXJzdGFuZCBob3cgdG8gdHVuZSB5b3VyIHNwZWNpZmljIHVzZWNhc2VcbiAqIC0gaXQgaXMgbWFkZSB0byBoZWxwIHBlb3BsZSB0byBidWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdW5kZXJzdGFuZGluZyBhbGwgdGhlIHVuZGVybHlpbmcgZGV0YWlscy5cbiAqL1xuY29uc3QgUHJvZmlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlc2V0KClcblxuICAgIHRoaXMucGVyZm9ybWFuY2UoJ2RlZmF1bHQnKVxufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5fZ3Vlc3NQZXJmb3JtYW5jZUxhYmVsID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBpc01vYmlsZSA9IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL0FuZHJvaWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvd2ViT1MvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBob25lL2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQYWQvaSlcbiAgICAgICAgfHwgbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKVxuICAgICAgICB8fCBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9CbGFja0JlcnJ5L2kpXG4gICAgICAgIHx8IG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1dpbmRvd3MgUGhvbmUvaSlcbiAgICAgICAgPyB0cnVlIDogZmFsc2VcbiAgICBpZiAoaXNNb2JpbGUgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuICdwaG9uZS1ub3JtYWwnXG4gICAgfVxuICAgIHJldHVybiAnZGVza3RvcC1ub3JtYWwnXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vKipcbiAqIHJlc2V0IGFsbCBwYXJhbWV0ZXJzXG4gKi9cblByb2ZpbGUucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdG8gcmVhZCBmcm9tIHRoZSB3ZWJjYW1cbiAgICAgICAgc291cmNlVHlwZTogJ3dlYmNhbScsXG4gICAgfVxuXG4gICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycyA9IHtcbiAgICAgICAgY2FtZXJhUGFyYW1ldGVyc1VybDogQXJUb29sa2l0Q29udGV4dC5iYXNlVVJMICsgJy4uL2RhdGEvZGF0YS9jYW1lcmFfcGFyYS5kYXQnLCAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICAgICAgZGV0ZWN0aW9uTW9kZTogJ21vbm8nLFxuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNYXJrZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgIHBhdHRlcm5Vcmw6IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJywgLy8gVE9ETyBkZXBlbmRlbnQgb2YgYnVpbGQ/XG4gICAgICAgIGNoYW5nZU1hdHJpeE1vZGU6ICdtb2RlbFZpZXdNYXRyaXgnLFxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xufTtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtYW5jZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG5Qcm9maWxlLnByb3RvdHlwZS5wZXJmb3JtYW5jZSA9IGZ1bmN0aW9uIChsYWJlbCkge1xuXG4gICAgaWYgKGxhYmVsID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgbGFiZWwgPSB0aGlzLl9ndWVzc1BlcmZvcm1hbmNlTGFiZWwoKVxuICAgIH1cblxuICAgIGlmIChsYWJlbCA9PT0gJ2Rlc2t0b3AtZmFzdCcpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNXaWR0aCA9IDY0MCAqIDNcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2UgaWYgKGxhYmVsID09PSAnZGVza3RvcC1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA2NDBcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA0ODBcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSA2MFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1ub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzV2lkdGggPSA4MCAqIDRcbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5jYW52YXNIZWlnaHQgPSA2MCAqIDRcblxuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLm1heERldGVjdGlvblJhdGUgPSAzMFxuICAgIH0gZWxzZSBpZiAobGFiZWwgPT09ICdwaG9uZS1zbG93Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmNhbnZhc1dpZHRoID0gODAgKiAzXG4gICAgICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMuY2FudmFzSGVpZ2h0ID0gNjAgKiAzXG5cbiAgICAgICAgdGhpcy5jb250ZXh0UGFyYW1ldGVycy5tYXhEZXRlY3Rpb25SYXRlID0gMzBcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgJ3Vua25vbnduIGxhYmVsICcgKyBsYWJlbClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRNYXJrZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblByb2ZpbGUucHJvdG90eXBlLmRlZmF1bHRNYXJrZXIgPSBmdW5jdGlvbiAodHJhY2tpbmdCYWNrZW5kKSB7XG4gICAgdHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kIHx8IHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLmRldGVjdGlvbk1vZGUgPSAnbW9ubydcbiAgICAgICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy50eXBlID0gJ3BhdHRlcm4nXG4gICAgICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMucGF0dGVyblVybCA9IEFyVG9vbGtpdENvbnRleHQuYmFzZVVSTCArICcuLi9kYXRhL2RhdGEvcGF0dC5oaXJvJyAvLyBUT0RPIGRlcGVuZGVudCBvZiBidWlsZD9cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG5cbiAgICByZXR1cm4gdGhpc1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRTb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuc291cmNlV2ViY2FtID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3dlYmNhbSdcbiAgICBkZWxldGUgdGhpcy5zb3VyY2VQYXJhbWV0ZXJzLnNvdXJjZVVybFxuICAgIHJldHVybiB0aGlzXG59XG5cblByb2ZpbGUucHJvdG90eXBlLnNvdXJjZVZpZGVvID0gZnVuY3Rpb24gKHVybCkge1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VUeXBlID0gJ3ZpZGVvJ1xuICAgIHRoaXMuc291cmNlUGFyYW1ldGVycy5zb3VyY2VVcmwgPSB1cmxcbiAgICByZXR1cm4gdGhpc1xufVxuXG5Qcm9maWxlLnByb3RvdHlwZS5zb3VyY2VJbWFnZSA9IGZ1bmN0aW9uICh1cmwpIHtcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVHlwZSA9ICdpbWFnZSdcbiAgICB0aGlzLnNvdXJjZVBhcmFtZXRlcnMuc291cmNlVXJsID0gdXJsXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUudHJhY2tpbmdCYWNrZW5kID0gZnVuY3Rpb24gKHRyYWNraW5nQmFja2VuZCkge1xuICAgIGNvbnNvbGUud2Fybignc3RvcCBwcm9maWxlLnRyYWNraW5nQmFja2VuZCgpIG9ic29sZXRlIGZ1bmN0aW9uLiB1c2UgLnRyYWNraW5nTWV0aG9kIGluc3RlYWQnKVxuICAgIHRoaXMuY29udGV4dFBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kID0gdHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR0cmFja2luZ0JhY2tlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuUHJvZmlsZS5wcm90b3R5cGUuY2hhbmdlTWF0cml4TW9kZSA9IGZ1bmN0aW9uIChjaGFuZ2VNYXRyaXhNb2RlKSB7XG4gICAgdGhpcy5kZWZhdWx0TWFya2VyUGFyYW1ldGVycy5jaGFuZ2VNYXRyaXhNb2RlID0gY2hhbmdlTWF0cml4TW9kZVxuICAgIHJldHVybiB0aGlzXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dHJhY2tpbmdCYWNrZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblByb2ZpbGUucHJvdG90eXBlLnRyYWNraW5nTWV0aG9kID0gZnVuY3Rpb24gKHRyYWNraW5nTWV0aG9kKSB7XG4gICAgdmFyIGRhdGEgPSBVdGlscy5wYXJzZVRyYWNraW5nTWV0aG9kKHRyYWNraW5nTWV0aG9kKVxuICAgIHRoaXMuZGVmYXVsdE1hcmtlclBhcmFtZXRlcnMubWFya2Vyc0FyZWFFbmFibGVkID0gZGF0YS5tYXJrZXJzQXJlYUVuYWJsZWRcbiAgICB0aGlzLmNvbnRleHRQYXJhbWV0ZXJzLnRyYWNraW5nQmFja2VuZCA9IGRhdGEudHJhY2tpbmdCYWNrZW5kXG4gICAgcmV0dXJuIHRoaXNcbn1cblxuLyoqXG4gKiBjaGVjayBpZiB0aGUgcHJvZmlsZSBpcyB2YWxpZC4gVGhyb3cgYW4gZXhjZXB0aW9uIGlzIG5vdCB2YWxpZFxuICovXG5Qcm9maWxlLnByb3RvdHlwZS5jaGVja0lmVmFsaWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHRoaXNcbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvZmlsZTtcbiIsImNvbnN0IFNvdXJjZSA9IGZ1bmN0aW9uIChwYXJhbWV0ZXJzKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgdGhpcy5yZWFkeSA9IGZhbHNlXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbFxuXG4gICAgLy8gaGFuZGxlIGRlZmF1bHQgcGFyYW1ldGVyc1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLy8gdHlwZSBvZiBzb3VyY2UgLSBbJ3dlYmNhbScsICdpbWFnZScsICd2aWRlbyddXG4gICAgICAgIHNvdXJjZVR5cGU6ICd3ZWJjYW0nLFxuICAgICAgICAvLyB1cmwgb2YgdGhlIHNvdXJjZSAtIHZhbGlkIGlmIHNvdXJjZVR5cGUgPSBpbWFnZXx2aWRlb1xuICAgICAgICBzb3VyY2VVcmw6IG51bGwsXG5cbiAgICAgICAgLy8gRGV2aWNlIGlkIG9mIHRoZSBjYW1lcmEgdG8gdXNlIChvcHRpb25hbClcbiAgICAgICAgZGV2aWNlSWQ6IG51bGwsXG5cbiAgICAgICAgLy8gcmVzb2x1dGlvbiBvZiBhdCB3aGljaCB3ZSBpbml0aWFsaXplIGluIHRoZSBzb3VyY2UgaW1hZ2VcbiAgICAgICAgc291cmNlV2lkdGg6IDY0MCxcbiAgICAgICAgc291cmNlSGVpZ2h0OiA0ODAsXG4gICAgICAgIC8vIHJlc29sdXRpb24gZGlzcGxheWVkIGZvciB0aGUgc291cmNlXG4gICAgICAgIGRpc3BsYXlXaWR0aDogNjQwLFxuICAgICAgICBkaXNwbGF5SGVpZ2h0OiA0ODAsXG4gICAgfVxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXHRcdHNldFBhcmFtZXRlcnNcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG4gICAgZnVuY3Rpb24gc2V0UGFyYW1ldGVycyhwYXJhbWV0ZXJzKSB7XG4gICAgICAgIGlmIChwYXJhbWV0ZXJzID09PSB1bmRlZmluZWQpIHJldHVyblxuICAgICAgICBmb3IgKHZhciBrZXkgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgICAgdmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiQXJUb29sa2l0U291cmNlOiAnXCIgKyBrZXkgKyBcIicgcGFyYW1ldGVyIGlzIHVuZGVmaW5lZC5cIilcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1trZXldXG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkFyVG9vbGtpdFNvdXJjZTogJ1wiICsga2V5ICsgXCInIGlzIG5vdCBhIHByb3BlcnR5IG9mIHRoaXMgbWF0ZXJpYWwuXCIpXG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgX3RoaXMucGFyYW1ldGVyc1trZXldID0gbmV3VmFsdWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub25Jbml0aWFsQ2xpY2sgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYoIHRoaXMuZG9tRWxlbWVudCAmJiB0aGlzLmRvbUVsZW1lbnQucGxheSApIHtcbiAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5wbGF5KCkudGhlbiggKCkgPT4ge30pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdENvZGUgU2VwYXJhdG9yXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaW5pdCA9IGZ1bmN0aW9uIChvblJlYWR5LCBvbkVycm9yKSB7XG4gICAgdmFyIF90aGlzID0gdGhpc1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZUltYWdlKG9uU291cmNlUmVhZHksIG9uRXJyb3IpXG4gICAgfSBlbHNlIGlmICh0aGlzLnBhcmFtZXRlcnMuc291cmNlVHlwZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VWaWRlbyhvblNvdXJjZVJlYWR5LCBvbkVycm9yKVxuICAgIH0gZWxzZSBpZiAodGhpcy5wYXJhbWV0ZXJzLnNvdXJjZVR5cGUgPT09ICd3ZWJjYW0nKSB7XG4gICAgICAgIC8vIHZhciBkb21FbGVtZW50ID0gdGhpcy5faW5pdFNvdXJjZVdlYmNhbU9sZChvblNvdXJjZVJlYWR5KVxuICAgICAgICB2YXIgZG9tRWxlbWVudCA9IHRoaXMuX2luaXRTb3VyY2VXZWJjYW0ob25Tb3VyY2VSZWFkeSwgb25FcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmFzc2VydChmYWxzZSlcbiAgICB9XG5cbiAgICAvLyBhdHRhY2hcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb21FbGVtZW50XG4gICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS50b3AgPSAnMHB4J1xuICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5sZWZ0ID0gJzBweCdcbiAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuekluZGV4ID0gJy0yJ1xuICAgIHRoaXMuZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2FyanMtdmlkZW8nKTtcblxuICAgIHJldHVybiB0aGlzXG4gICAgZnVuY3Rpb24gb25Tb3VyY2VSZWFkeSgpIHtcbiAgICAgICAgaWYoICFfdGhpcy5kb21FbGVtZW50ICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChfdGhpcy5kb21FbGVtZW50KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdhcmpzLXZpZGVvLWxvYWRlZCcsIHtcbiAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2FyanMtdmlkZW8nKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pKTtcblxuICAgICAgICBfdGhpcy5yZWFkeSA9IHRydWVcblxuICAgICAgICBvblJlYWR5ICYmIG9uUmVhZHkoKVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGluaXQgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblNvdXJjZS5wcm90b3R5cGUuX2luaXRTb3VyY2VJbWFnZSA9IGZ1bmN0aW9uIChvblJlYWR5KSB7XG4gICAgLy8gVE9ETyBtYWtlIGl0IHN0YXRpY1xuICAgIHZhciBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VXaWR0aDtcbiAgICBkb21FbGVtZW50LmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5zb3VyY2VIZWlnaHQ7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnO1xuICAgIGRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5wYXJhbWV0ZXJzLmRpc3BsYXlIZWlnaHQgKyAncHgnO1xuXG4gICAgZG9tRWxlbWVudC5vbmxvYWQgPSBvblJlYWR5O1xuICAgIHJldHVybiBkb21FbGVtZW50XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBpbml0IHZpZGVvIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlVmlkZW8gPSBmdW5jdGlvbiAob25SZWFkeSkge1xuICAgIC8vIFRPRE8gbWFrZSBpdCBzdGF0aWNcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zcmMgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlVXJsO1xuXG4gICAgZG9tRWxlbWVudC5zdHlsZS5vYmplY3RGaXQgPSAnaW5pdGlhbCc7XG5cbiAgICBkb21FbGVtZW50LmF1dG9wbGF5ID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LndlYmtpdFBsYXlzaW5saW5lID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50LmNvbnRyb2xzID0gZmFsc2U7XG4gICAgZG9tRWxlbWVudC5sb29wID0gdHJ1ZTtcbiAgICBkb21FbGVtZW50Lm11dGVkID0gdHJ1ZTtcblxuICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTtcblxuICAgIGRvbUVsZW1lbnQud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGg7XG4gICAgZG9tRWxlbWVudC5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0O1xuICAgIGRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheVdpZHRoICsgJ3B4JztcbiAgICBkb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5SGVpZ2h0ICsgJ3B4JztcblxuICAgIGRvbUVsZW1lbnQub25sb2FkZWRkYXRhID0gb25SZWFkeTtcbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgaW5pdCB3ZWJjYW0gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9pbml0U291cmNlV2ViY2FtID0gZnVuY3Rpb24gKG9uUmVhZHksIG9uRXJyb3IpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG5cbiAgICAvLyBpbml0IGRlZmF1bHQgdmFsdWVcbiAgICBvbkVycm9yID0gb25FcnJvciB8fCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtZXJyb3InLCB7IGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXJyb3ItcG9wdXAnKSkge1xuICAgICAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICAgICAgZXJyb3JQb3B1cC5pbm5lckhUTUwgPSAnV2ViY2FtIEVycm9yXFxuTmFtZTogJyArIGVycm9yLm5hbWUgKyAnXFxuTWVzc2FnZTogJyArIGVycm9yLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICBlcnJvclBvcHVwLnNldEF0dHJpYnV0ZSgnaWQnLCAnZXJyb3ItcG9wdXAnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAxMDAwKTtcbiAgICB9XG5cbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3ZpZGVvJyk7XG4gICAgZG9tRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2F1dG9wbGF5JywgJycpO1xuICAgIGRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKCdtdXRlZCcsICcnKTtcbiAgICBkb21FbGVtZW50LnNldEF0dHJpYnV0ZSgncGxheXNpbmxpbmUnLCAnJyk7XG4gICAgZG9tRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMucGFyYW1ldGVycy5kaXNwbGF5V2lkdGggKyAncHgnXG4gICAgZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLnBhcmFtZXRlcnMuZGlzcGxheUhlaWdodCArICdweCdcblxuICAgIC8vIGNoZWNrIEFQSSBpcyBhdmFpbGFibGVcbiAgICBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcyA9PT0gdW5kZWZpbmVkXG4gICAgICAgIHx8IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKG5hdmlnYXRvci5tZWRpYURldmljZXMgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzID09PSB1bmRlZmluZWQpIHZhciBmY3ROYW1lID0gJ25hdmlnYXRvci5tZWRpYURldmljZXMuZW51bWVyYXRlRGV2aWNlcydcbiAgICAgICAgZWxzZSBpZiAobmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgPT09IHVuZGVmaW5lZCkgdmFyIGZjdE5hbWUgPSAnbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEnXG4gICAgICAgIGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UpXG4gICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICBtZXNzYWdlOiAnV2ViUlRDIGlzc3VlLSEgJyArIGZjdE5hbWUgKyAnIG5vdCBwcmVzZW50IGluIHlvdXIgYnJvd3NlcidcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgLy8gZ2V0IGF2YWlsYWJsZSBkZXZpY2VzXG4gICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCkudGhlbihmdW5jdGlvbiAoZGV2aWNlcykge1xuICAgICAgICB2YXIgdXNlck1lZGlhQ29uc3RyYWludHMgPSB7XG4gICAgICAgICAgICBhdWRpbzogZmFsc2UsXG4gICAgICAgICAgICB2aWRlbzoge1xuICAgICAgICAgICAgICAgIGZhY2luZ01vZGU6ICdlbnZpcm9ubWVudCcsXG4gICAgICAgICAgICAgICAgd2lkdGg6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbjogMTAyNCxcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxOTIwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRlYWw6IF90aGlzLnBhcmFtZXRlcnMuc291cmNlSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAvLyBtaW46IDc3NixcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF4OiAxMDgwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChudWxsICE9PSBfdGhpcy5wYXJhbWV0ZXJzLmRldmljZUlkKSB7XG4gICAgICAgICAgICB1c2VyTWVkaWFDb25zdHJhaW50cy52aWRlby5kZXZpY2VJZCA9IHtcbiAgICAgICAgICAgICAgICBleGFjdDogX3RoaXMucGFyYW1ldGVycy5kZXZpY2VJZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGdldCBhIGRldmljZSB3aGljaCBzYXRpc2Z5IHRoZSBjb25zdHJhaW50c1xuICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh1c2VyTWVkaWFDb25zdHJhaW50cykudGhlbihmdW5jdGlvbiBzdWNjZXNzKHN0cmVhbSkge1xuICAgICAgICAgICAgLy8gc2V0IHRoZSAuc3JjIG9mIHRoZSBkb21FbGVtZW50XG4gICAgICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdCA9IHN0cmVhbTtcblxuICAgICAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KCdjYW1lcmEtaW5pdCcsIHsgc3RyZWFtOiBzdHJlYW0gfSk7XG4gICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cbiAgICAgICAgICAgIC8vIHN0YXJ0IHRoZSB2aWRlbyBvbiBmaXJzdCBjbGljayBpZiBub3Qgc3RhcnRlZCBhdXRvbWF0aWNhbGx5XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgX3RoaXMub25Jbml0aWFsQ2xpY2ssIHtvbmNlOnRydWV9KTsgICAgICAgICAgICBcblxuICAgICAgICAgICAgb25SZWFkeSgpO1xuICAgICAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIG9uRXJyb3Ioe1xuICAgICAgICAgICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pLmNhdGNoKGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICBvbkVycm9yKHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZG9tRWxlbWVudFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gICAgICAgICAgZGlzcG9zZSBzb3VyY2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblNvdXJjZS5wcm90b3R5cGUuZGlzcG9zZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlYWR5ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKHRoaXMucGFyYW1ldGVycy5zb3VyY2VUeXBlKSB7XG4gICAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgICAgIHRoaXMuX2Rpc3Bvc2VTb3VyY2VJbWFnZSgpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAndmlkZW8nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVZpZGVvKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICd3ZWJjYW0nOlxuICAgICAgICAgICAgdGhpcy5fZGlzcG9zZVNvdXJjZVdlYmNhbSgpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5kb21FbGVtZW50ID0gbnVsbDtcblxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uSW5pdGlhbENsaWNrLCB7b25jZTp0cnVlfSk7ICAgICAgICAgICAgXG59XHRcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgaW1hZ2Ugc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlSW1hZ2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuXG4gICAgaWYoICFkb21FbGVtZW50ICkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZG9tRWxlbWVudC5yZW1vdmUoKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2UgdmlkZW8gc291cmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLl9kaXNwb3NlU291cmNlVmlkZW8gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYXJqcy12aWRlbycpO1xuICAgIFxuICAgIGlmKCAhZG9tRWxlbWVudCApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL21lZGlhLmh0bWwjYmVzdC1wcmFjdGljZXMtZm9yLWF1dGhvcnMtdXNpbmctbWVkaWEtZWxlbWVudHNcbiAgICBkb21FbGVtZW50LnBhdXNlKCk7XG4gICAgZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3NyYycpOyBcbiAgICBkb21FbGVtZW50LmxvYWQoKTsgXG5cbiAgICBkb21FbGVtZW50LnJlbW92ZSgpOyAgICBcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vICAgICAgICAgIGRpc3Bvc2Ugd2ViY2FtIHNvdXJjZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuU291cmNlLnByb3RvdHlwZS5fZGlzcG9zZVNvdXJjZVdlYmNhbSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhcmpzLXZpZGVvJyk7XG5cbiAgICBpZiggIWRvbUVsZW1lbnQgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTI0MzY3NzJcbiAgICBpZiggZG9tRWxlbWVudC5zcmNPYmplY3QgJiYgZG9tRWxlbWVudC5zcmNPYmplY3QuZ2V0VHJhY2tzICkge1xuICAgICAgICBkb21FbGVtZW50LnNyY09iamVjdC5nZXRUcmFja3MoKS5tYXAoKHRyYWNrKSA9PiB0cmFjay5zdG9wKCkpOyAgICBcbiAgICB9XHRcblxuICAgIGRvbUVsZW1lbnQucmVtb3ZlKCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRIYW5kbGUgTW9iaWxlIFRvcmNoXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblNvdXJjZS5wcm90b3R5cGUuaGFzTW9iaWxlVG9yY2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHN0cmVhbSA9IGFyVG9vbGtpdFNvdXJjZS5kb21FbGVtZW50LnNyY09iamVjdFxuICAgIGlmIChzdHJlYW0gaW5zdGFuY2VvZiBNZWRpYVN0cmVhbSA9PT0gZmFsc2UpIHJldHVybiBmYWxzZVxuXG4gICAgaWYgKHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IGZhbHNlXG4gICAgfVxuXG4gICAgdmFyIHZpZGVvVHJhY2sgPSBzdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXTtcblxuICAgIC8vIGlmIHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKCkgZG9lc250IGV4aXN0LCByZXR1cm4gZmFsc2Ugbm93XG4gICAgaWYgKHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzID09PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZVxuXG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIHJldHVybiBjYXBhYmlsaXRpZXMudG9yY2ggPyB0cnVlIDogZmFsc2Vcbn1cblxuLyoqXG4gKiB0b2dnbGUgdGhlIGZsYXNoL3RvcmNoIG9mIHRoZSBtb2JpbGUgZnVuIGlmIGFwcGxpY2FibGUuXG4gKiBHcmVhdCBwb3N0IGFib3V0IGl0IGh0dHBzOi8vd3d3Lm9iZXJob2Zlci5jby9tZWRpYXN0cmVhbXRyYWNrLWFuZC1pdHMtY2FwYWJpbGl0aWVzL1xuICovXG5Tb3VyY2UucHJvdG90eXBlLnRvZ2dsZU1vYmlsZVRvcmNoID0gZnVuY3Rpb24gKCkge1xuICAgIC8vIHNhbml0eSBjaGVja1xuICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuaGFzTW9iaWxlVG9yY2goKSA9PT0gdHJ1ZSlcblxuICAgIHZhciBzdHJlYW0gPSBhclRvb2xraXRTb3VyY2UuZG9tRWxlbWVudC5zcmNPYmplY3RcbiAgICBpZiAoc3RyZWFtIGluc3RhbmNlb2YgTWVkaWFTdHJlYW0gPT09IGZhbHNlKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdlbmFibGluZyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9ubHkgb24gd2ViY2FtJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICh0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXMgPSBmYWxzZVxuICAgIH1cblxuICAgIHZhciB2aWRlb1RyYWNrID0gc3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF07XG4gICAgdmFyIGNhcGFiaWxpdGllcyA9IHZpZGVvVHJhY2suZ2V0Q2FwYWJpbGl0aWVzKClcblxuICAgIGlmICghY2FwYWJpbGl0aWVzLnRvcmNoKSB7XG4gICAgICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Vycm9yLXBvcHVwJykpIHtcbiAgICAgICAgICAgIHZhciBlcnJvclBvcHVwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgICAgICBlcnJvclBvcHVwLmlubmVySFRNTCA9ICdubyBtb2JpbGUgdG9yY2ggaXMgYXZhaWxhYmxlIG9uIHlvdXIgY2FtZXJhJ1xuICAgICAgICAgICAgZXJyb3JQb3B1cC5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2Vycm9yLXBvcHVwJyk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVycm9yUG9wdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9IHRoaXMuX2N1cnJlbnRUb3JjaFN0YXR1cyA9PT0gZmFsc2UgPyB0cnVlIDogZmFsc2VcbiAgICB2aWRlb1RyYWNrLmFwcGx5Q29uc3RyYWludHMoe1xuICAgICAgICBhZHZhbmNlZDogW3tcbiAgICAgICAgICAgIHRvcmNoOiB0aGlzLl9jdXJyZW50VG9yY2hTdGF0dXNcbiAgICAgICAgfV1cbiAgICB9KS5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpXG4gICAgfSk7XG59XG5cblNvdXJjZS5wcm90b3R5cGUuZG9tRWxlbWVudFdpZHRoID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBwYXJzZUludCh0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGgpXG59XG5Tb3VyY2UucHJvdG90eXBlLmRvbUVsZW1lbnRIZWlnaHQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHRoaXMuZG9tRWxlbWVudC5zdHlsZS5oZWlnaHQpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgICAgICBoYW5kbGUgcmVzaXplXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzXG4gICAgdmFyIHNjcmVlbldpZHRoID0gd2luZG93LmlubmVyV2lkdGhcbiAgICB2YXIgc2NyZWVuSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0XG5cbiAgICAvLyBzYW5pdHkgY2hlY2tcbiAgICBjb25zb2xlLmFzc2VydChhcmd1bWVudHMubGVuZ3RoID09PSAwKVxuXG4gICAgLy8gY29tcHV0ZSBzb3VyY2VXaWR0aCwgc291cmNlSGVpZ2h0XG4gICAgaWYgKHRoaXMuZG9tRWxlbWVudC5ub2RlTmFtZSA9PT0gXCJJTUdcIikge1xuICAgICAgICB2YXIgc291cmNlV2lkdGggPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbFdpZHRoXG4gICAgICAgIHZhciBzb3VyY2VIZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQubmF0dXJhbEhlaWdodFxuICAgIH0gZWxzZSBpZiAodGhpcy5kb21FbGVtZW50Lm5vZGVOYW1lID09PSBcIlZJREVPXCIpIHtcbiAgICAgICAgdmFyIHNvdXJjZVdpZHRoID0gdGhpcy5kb21FbGVtZW50LnZpZGVvV2lkdGhcbiAgICAgICAgdmFyIHNvdXJjZUhlaWdodCA9IHRoaXMuZG9tRWxlbWVudC52aWRlb0hlaWdodFxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUuYXNzZXJ0KGZhbHNlKVxuICAgIH1cblxuICAgIC8vIGNvbXB1dGUgc291cmNlQXNwZWN0XG4gICAgdmFyIHNvdXJjZUFzcGVjdCA9IHNvdXJjZVdpZHRoIC8gc291cmNlSGVpZ2h0XG4gICAgLy8gY29tcHV0ZSBzY3JlZW5Bc3BlY3RcbiAgICB2YXIgc2NyZWVuQXNwZWN0ID0gc2NyZWVuV2lkdGggLyBzY3JlZW5IZWlnaHRcblxuICAgIC8vIGlmIHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCwgdGhlbiBjaGFuZ2UgdGhlIHdpZHRoLCBlbHNlIGNoYW5nZSB0aGUgaGVpZ2h0XG4gICAgaWYgKHNjcmVlbkFzcGVjdCA8IHNvdXJjZUFzcGVjdCkge1xuICAgICAgICAvLyBjb21wdXRlIG5ld1dpZHRoIGFuZCBzZXQgLndpZHRoLy5tYXJnaW5MZWZ0XG4gICAgICAgIHZhciBuZXdXaWR0aCA9IHNvdXJjZUFzcGVjdCAqIHNjcmVlbkhlaWdodFxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAtKG5ld1dpZHRoIC0gc2NyZWVuV2lkdGgpIC8gMiArICdweCdcblxuICAgICAgICAvLyBpbml0IHN0eWxlLmhlaWdodC8ubWFyZ2luVG9wIHRvIG5vcm1hbCB2YWx1ZVxuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc2NyZWVuSGVpZ2h0ICsgJ3B4J1xuICAgICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wID0gJzBweCdcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBjb21wdXRlIG5ld0hlaWdodCBhbmQgc2V0IC5oZWlnaHQvLm1hcmdpblRvcFxuICAgICAgICB2YXIgbmV3SGVpZ2h0ID0gMSAvIChzb3VyY2VBc3BlY3QgLyBzY3JlZW5XaWR0aClcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodCA9IG5ld0hlaWdodCArICdweCdcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IC0obmV3SGVpZ2h0IC0gc2NyZWVuSGVpZ2h0KSAvIDIgKyAncHgnXG5cbiAgICAgICAgLy8gaW5pdCBzdHlsZS53aWR0aC8ubWFyZ2luTGVmdCB0byBub3JtYWwgdmFsdWVcbiAgICAgICAgdGhpcy5kb21FbGVtZW50LnN0eWxlLndpZHRoID0gc2NyZWVuV2lkdGggKyAncHgnXG4gICAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0ID0gJzBweCdcbiAgICB9XG59XG4vKlxuU291cmNlLnByb3RvdHlwZS5jb3B5RWxlbWVudFNpemVUbyA9IGZ1bmN0aW9uKG90aGVyRWxlbWVudCl7XG5cdG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuXHRvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuXHRvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG5cdG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG59XG4qL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlFbGVtZW50U2l6ZVRvID0gZnVuY3Rpb24gKG90aGVyRWxlbWVudCkge1xuXG4gICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoID4gd2luZG93LmlubmVySGVpZ2h0KSB7XG4gICAgICAgIC8vbGFuZHNjYXBlXG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS53aWR0aFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5kb21FbGVtZW50LnN0eWxlLmhlaWdodFxuICAgICAgICBvdGhlckVsZW1lbnQuc3R5bGUubWFyZ2luTGVmdCA9IHRoaXMuZG9tRWxlbWVudC5zdHlsZS5tYXJnaW5MZWZ0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5tYXJnaW5Ub3AgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUubWFyZ2luVG9wXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvL3BvcnRyYWl0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGUuaGVpZ2h0XG4gICAgICAgIG90aGVyRWxlbWVudC5zdHlsZS53aWR0aCA9IChwYXJzZUludChvdGhlckVsZW1lbnQuc3R5bGUuaGVpZ2h0KSAqIDQgLyAzKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpbkxlZnQgPSAoKHdpbmRvdy5pbm5lcldpZHRoIC0gcGFyc2VJbnQob3RoZXJFbGVtZW50LnN0eWxlLndpZHRoKSkgLyAyKSArIFwicHhcIjtcbiAgICAgICAgb3RoZXJFbGVtZW50LnN0eWxlLm1hcmdpblRvcCA9IDA7XG4gICAgfVxuXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLmNvcHlTaXplVG8gPSBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS53YXJuKCdvYnNvbGV0ZSBmdW5jdGlvbiBhclRvb2xraXRTb3VyY2UuY29weVNpemVUby4gVXNlIGFyVG9vbGtpdFNvdXJjZS5jb3B5RWxlbWVudFNpemVUbycpXG4gICAgdGhpcy5jb3B5RWxlbWVudFNpemVUby5hcHBseSh0aGlzLCBhcmd1bWVudHMpXG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0Q29kZSBTZXBhcmF0b3Jcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5Tb3VyY2UucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24gKGFyVG9vbGtpdENvbnRleHQsIHJlbmRlcmVyLCBjYW1lcmEpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPT0gMykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ29ic29sZXRlIGZ1bmN0aW9uIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZS4gVXNlIGFyVG9vbGtpdFNvdXJjZS5vblJlc2l6ZUVsZW1lbnQnKVxuICAgICAgICByZXR1cm4gdGhpcy5vblJlc2l6ZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIH1cblxuICAgIHZhciB0cmFja2luZ0JhY2tlbmQgPSBhclRvb2xraXRDb250ZXh0LnBhcmFtZXRlcnMudHJhY2tpbmdCYWNrZW5kXG5cblxuICAgIC8vIFJFU0laRSBET01FTEVNRU5UXG4gICAgaWYgKHRyYWNraW5nQmFja2VuZCA9PT0gJ2FydG9vbGtpdCcpIHtcblxuICAgICAgICB0aGlzLm9uUmVzaXplRWxlbWVudCgpXG5cbiAgICAgICAgdmFyIGlzQWZyYW1lID0gcmVuZGVyZXIuZG9tRWxlbWVudC5kYXRhc2V0LmFmcmFtZUNhbnZhcyA/IHRydWUgOiBmYWxzZVxuICAgICAgICBpZiAoaXNBZnJhbWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmNvcHlFbGVtZW50U2l6ZVRvKHJlbmRlcmVyLmRvbUVsZW1lbnQpXG4gICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jb3B5RWxlbWVudFNpemVUbyhhclRvb2xraXRDb250ZXh0LmFyQ29udHJvbGxlci5jYW52YXMpXG4gICAgICAgIH1cbiAgICB9IGVsc2UgY29uc29sZS5hc3NlcnQoZmFsc2UsICd1bmhhbmRsZWQgdHJhY2tpbmdCYWNrZW5kICcgKyB0cmFja2luZ0JhY2tlbmQpXG5cblxuICAgIC8vIFVQREFURSBDQU1FUkFcbiAgICBpZiAodHJhY2tpbmdCYWNrZW5kID09PSAnYXJ0b29sa2l0Jykge1xuICAgICAgICBpZiAoYXJUb29sa2l0Q29udGV4dC5hckNvbnRyb2xsZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbWVyYS5wcm9qZWN0aW9uTWF0cml4LmNvcHkoYXJUb29sa2l0Q29udGV4dC5nZXRQcm9qZWN0aW9uTWF0cml4KCkpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGNvbnNvbGUuYXNzZXJ0KGZhbHNlLCAndW5oYW5kbGVkIHRyYWNraW5nQmFja2VuZCAnICsgdHJhY2tpbmdCYWNrZW5kKVxufVxuXG5leHBvcnQgZGVmYXVsdCBTb3VyY2U7IiwiaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuXG5jb25zdCBBckJhc2VDb250cm9scyA9IGZ1bmN0aW9uKG9iamVjdDNkKSB7XG5cdHRoaXMuaWQgPSBBckJhc2VDb250cm9scy5pZCsrXG5cblx0dGhpcy5vYmplY3QzZCA9IG9iamVjdDNkXG5cdHRoaXMub2JqZWN0M2QubWF0cml4QXV0b1VwZGF0ZSA9IGZhbHNlO1xuXHR0aGlzLm9iamVjdDNkLnZpc2libGUgPSBmYWxzZVxuXG5cdC8vIEV2ZW50cyB0byBob25vclxuXHQvLyB0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0Ly8gdGhpcy5kaXNwYXRjaEV2ZW50KHsgdHlwZTogJ21hcmtlclZpc2libGUnIH0pXHQvLyByZXBsYWNlIG1hcmtlckZvdW5kXG5cdC8vIHRoaXMuZGlzcGF0Y2hFdmVudCh7IHR5cGU6ICdiZWNhbWVVblZpc2libGUnIH0pXG59XG5cbkFyQmFzZUNvbnRyb2xzLmlkID0gMFxuXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFRIUkVFLkV2ZW50RGlzcGF0Y2hlci5wcm90b3R5cGUpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdEZ1bmN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIGVycm9yIGNhdGNoaW5nIGZ1bmN0aW9uIGZvciB1cGRhdGUoKVxuICovXG5BckJhc2VDb250cm9scy5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gdXBkYXRlJylcbn1cblxuLyoqXG4gKiBlcnJvciBjYXRjaGluZyBmdW5jdGlvbiBmb3IgbmFtZSgpXG4gKi9cbkFyQmFzZUNvbnRyb2xzLnByb3RvdHlwZS5uYW1lID0gZnVuY3Rpb24oKXtcblx0Y29uc29sZS5hc3NlcnQoZmFsc2UsICd5b3UgbmVlZCB0byBpbXBsZW1lbnQgeW91ciBvd24gLm5hbWUoKScpXG5cdHJldHVybiAnTm90IHlldCBpbXBsZW1lbnRlZCAtIG5hbWUoKSdcbn1cblxuZXhwb3J0IGRlZmF1bHQgQXJCYXNlQ29udHJvbHM7XG4iLCJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IEFyTWFya2VySGVscGVyID0gZnVuY3Rpb24obWFya2VyQ29udHJvbHMpe1xuXHR0aGlzLm9iamVjdDNkID0gbmV3IFRIUkVFLkdyb3VwXG5cblx0dmFyIG1lc2ggPSBuZXcgVEhSRUUuQXhlc0hlbHBlcigpXG5cdHRoaXMub2JqZWN0M2QuYWRkKG1lc2gpXG5cblx0dmFyIHRleHQgPSBtYXJrZXJDb250cm9scy5pZFxuXHQvLyBkZWJ1Z2dlclxuXHQvLyB2YXIgdGV4dCA9IG1hcmtlckNvbnRyb2xzLnBhcmFtZXRlcnMucGF0dGVyblVybC5zbGljZSgtMSkudG9VcHBlckNhc2UoKTtcblxuXHR2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggJ2NhbnZhcycgKTtcblx0Y2FudmFzLndpZHRoID0gIDY0O1xuXHRjYW52YXMuaGVpZ2h0ID0gNjQ7XG5cblx0dmFyIGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCggJzJkJyApO1xuXHR2YXIgdGV4dHVyZSA9IG5ldyBUSFJFRS5DYW52YXNUZXh0dXJlKCBjYW52YXMgKTtcblxuXHQvLyBwdXQgdGhlIHRleHQgaW4gdGhlIHNwcml0ZVxuXHRjb250ZXh0LmZvbnQgPSAnNDhweCBtb25vc3BhY2UnO1xuXHRjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDE5MiwxOTIsMjU1LCAwLjUpJztcblx0Y29udGV4dC5maWxsUmVjdCggMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0ICk7XG5cdGNvbnRleHQuZmlsbFN0eWxlID0gJ2RhcmtibHVlJztcblx0Y29udGV4dC5maWxsVGV4dCh0ZXh0LCBjYW52YXMud2lkdGgvNCwgMypjYW52YXMuaGVpZ2h0LzQgKVxuXHR0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZVxuXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5DdWJlR2VvbWV0cnkoMSwgMSwgMSlcblx0dmFyIGdlb21ldHJ5ID0gbmV3IFRIUkVFLlBsYW5lR2VvbWV0cnkoMSwgMSlcblx0dmFyIG1hdGVyaWFsID0gbmV3IFRIUkVFLk1lc2hCYXNpY01hdGVyaWFsKHtcblx0XHRtYXA6IHRleHR1cmUsXG5cdFx0dHJhbnNwYXJlbnQ6IHRydWVcblx0fSk7XG5cdHZhciBtZXNoID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHRtZXNoLnJvdGF0aW9uLnggPSAtTWF0aC5QSS8yXG5cblx0dGhpcy5vYmplY3QzZC5hZGQobWVzaClcblxufVxuXG5leHBvcnQgZGVmYXVsdCBBck1hcmtlckhlbHBlcjtcbiIsImltcG9ydCBBckJhc2VDb250cm9scyBmcm9tICcuL3RocmVleC1hcmJhc2Vjb250cm9scyc7XG5cbi8qKlxuICogLSBsZXJwIHBvc2l0aW9uL3F1YXRlcm5pbm8vc2NhbGVcbiAqIC0gbWluRGVsYXlEZXRlY3RlZFxuICogLSBtaW5EZWxheVVuZGV0ZWN0ZWRcbiAqIEBwYXJhbSB7W3R5cGVdfSBvYmplY3QzZCAgIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSB7W3R5cGVdfSBwYXJhbWV0ZXJzIFtkZXNjcmlwdGlvbl1cbiAqL1xuY29uc3QgQXJTbW9vdGhlZENvbnRyb2xzID0gZnVuY3Rpb24ob2JqZWN0M2QsIHBhcmFtZXRlcnMpe1xuXHR2YXIgX3RoaXMgPSB0aGlzXG5cdFxuXHRBckJhc2VDb250cm9scy5jYWxsKHRoaXMsIG9iamVjdDNkKVxuXHRcblx0Ly8gY29weSBwYXJhbWV0ZXJzXG5cdHRoaXMub2JqZWN0M2QudmlzaWJsZSA9IGZhbHNlXG5cdFxuXHR0aGlzLl9sYXN0TGVycFN0ZXBBdCA9IG51bGxcblx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdC8vIGhhbmRsZSBkZWZhdWx0IHBhcmFtZXRlcnNcblx0cGFyYW1ldGVycyA9IHBhcmFtZXRlcnMgfHwge31cblx0dGhpcy5wYXJhbWV0ZXJzID0ge1xuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHBvc2l0aW9uIC0gYmV0d2VlbiBbMCwxXSAtIGRlZmF1bHQgdG8gMVxuXHRcdGxlcnBQb3NpdGlvbjogMC44LFxuXHRcdC8vIGxlcnAgY29lZmljaWVudCBmb3IgdGhlIHF1YXRlcm5pb24gLSBiZXR3ZWVuIFswLDFdIC0gZGVmYXVsdCB0byAxXG5cdFx0bGVycFF1YXRlcm5pb246IDAuMixcblx0XHQvLyBsZXJwIGNvZWZpY2llbnQgZm9yIHRoZSBzY2FsZSAtIGJldHdlZW4gWzAsMV0gLSBkZWZhdWx0IHRvIDFcblx0XHRsZXJwU2NhbGU6IDAuNyxcblx0XHQvLyBkZWxheSBmb3IgbGVycCBmaXhlZCBzdGVwcyAtIGluIHNlY29uZHMgLSBkZWZhdWx0IHRvIDEvMTIwXG5cdFx0bGVycFN0ZXBEZWxheTogMS82MCxcblx0XHQvLyBtaW5pbXVtIGRlbGF5IHRoZSBzdWItY29udHJvbCBtdXN0IGJlIHZpc2libGUgYmVmb3JlIHRoaXMgY29udHJvbHMgYmVjb21lIHZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblZpc2libGVEZWxheTogMC4wLFxuXHRcdC8vIG1pbmltdW0gZGVsYXkgdGhlIHN1Yi1jb250cm9sIG11c3QgYmUgdW52aXNpYmxlIGJlZm9yZSB0aGlzIGNvbnRyb2xzIGJlY29tZSB1bnZpc2libGUgLSBkZWZhdWx0IHRvIDAgc2Vjb25kc1xuXHRcdG1pblVudmlzaWJsZURlbGF5OiAwLjIsXG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRzZXRQYXJhbWV0ZXJzXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRzZXRQYXJhbWV0ZXJzKHBhcmFtZXRlcnMpXG5cdGZ1bmN0aW9uIHNldFBhcmFtZXRlcnMocGFyYW1ldGVycyl7XG5cdFx0aWYoIHBhcmFtZXRlcnMgPT09IHVuZGVmaW5lZCApXHRyZXR1cm5cblx0XHRmb3IoIHZhciBrZXkgaW4gcGFyYW1ldGVycyApe1xuXHRcdFx0dmFyIG5ld1ZhbHVlID0gcGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKXtcblx0XHRcdFx0Y29uc29sZS53YXJuKCBcIkFyU21vb3RoZWRDb250cm9sczogJ1wiICsga2V5ICsgXCInIHBhcmFtZXRlciBpcyB1bmRlZmluZWQuXCIgKVxuXHRcdFx0XHRjb250aW51ZVxuXHRcdFx0fVxuXG5cdFx0XHR2YXIgY3VycmVudFZhbHVlID0gX3RoaXMucGFyYW1ldGVyc1sga2V5IF1cblxuXHRcdFx0aWYoIGN1cnJlbnRWYWx1ZSA9PT0gdW5kZWZpbmVkICl7XG5cdFx0XHRcdGNvbnNvbGUud2FybiggXCJBclNtb290aGVkQ29udHJvbHM6ICdcIiArIGtleSArIFwiJyBpcyBub3QgYSBwcm9wZXJ0eSBvZiB0aGlzIG1hdGVyaWFsLlwiIClcblx0XHRcdFx0Y29udGludWVcblx0XHRcdH1cblxuXHRcdFx0X3RoaXMucGFyYW1ldGVyc1sga2V5IF0gPSBuZXdWYWx1ZVxuXHRcdH1cblx0fVxufVxuXHRcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKCBBckJhc2VDb250cm9scy5wcm90b3R5cGUgKTtcbkFyU21vb3RoZWRDb250cm9scy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBBclNtb290aGVkQ29udHJvbHM7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cdFx0dXBkYXRlIGZ1bmN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQXJTbW9vdGhlZENvbnRyb2xzLnByb3RvdHlwZS51cGRhdGUgPSBmdW5jdGlvbih0YXJnZXRPYmplY3QzZCl7XG5cdHZhciBvYmplY3QzZCA9IHRoaXMub2JqZWN0M2Rcblx0dmFyIHBhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnNcblx0dmFyIHdhc1Zpc2libGUgPSBvYmplY3QzZC52aXNpYmxlXG5cdHZhciBwcmVzZW50ID0gcGVyZm9ybWFuY2Uubm93KCkvMTAwMFxuXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vXHRcdGhhbmRsZSBvYmplY3QzZC52aXNpYmxlIHdpdGggbWluVmlzaWJsZURlbGF5L21pblVudmlzaWJsZURlbGF5XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHRpZiggdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IG51bGxcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKVx0dGhpcy5fdW52aXNpYmxlU3RhcnRlZEF0ID0gbnVsbFxuXG5cdGlmKCB0YXJnZXRPYmplY3QzZC52aXNpYmxlID09PSB0cnVlICYmIHRoaXMuX3Zpc2libGVTdGFydGVkQXQgPT09IG51bGwgKVx0dGhpcy5fdmlzaWJsZVN0YXJ0ZWRBdCA9IHByZXNlbnRcblx0aWYoIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IGZhbHNlICYmIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdCA9PT0gbnVsbCApXHR0aGlzLl91bnZpc2libGVTdGFydGVkQXQgPSBwcmVzZW50XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIHRhcmdldE9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR2YXIgdmlzaWJsZUZvciA9IHByZXNlbnQgLSB0aGlzLl92aXNpYmxlU3RhcnRlZEF0XG5cdFx0aWYoIHZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblZpc2libGVEZWxheSApe1xuXHRcdFx0b2JqZWN0M2QudmlzaWJsZSA9IHRydWVcblx0XHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0XHR9XG5cdFx0Ly8gY29uc29sZS5sb2coJ3Zpc2libGVGb3InLCB2aXNpYmxlRm9yKVxuXHR9XG5cblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgdGFyZ2V0T2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR2YXIgdW52aXNpYmxlRm9yID0gcHJlc2VudCAtIHRoaXMuX3VudmlzaWJsZVN0YXJ0ZWRBdFxuXHRcdGlmKCB1bnZpc2libGVGb3IgPj0gdGhpcy5wYXJhbWV0ZXJzLm1pblVudmlzaWJsZURlbGF5ICl7XG5cdFx0XHRvYmplY3QzZC52aXNpYmxlID0gZmFsc2VcdFx0XHRcblx0XHR9XG5cdH1cblx0XG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXHQvL1x0XHRhcHBseSBsZXJwIG9uIHBvc2l0b24vcXVhdGVybmlvbi9zY2FsZVxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXHQvLyBhcHBseSBsZXJwIHN0ZXBzIC0gcmVxdWlyZSBmaXggdGltZSBzdGVwcyB0byBiZWhhdmUgdGhlIHNhbWUgbm8gbWF0dGVyIHRoZSBmcHNcblx0aWYoIHRoaXMuX2xhc3RMZXJwU3RlcEF0ID09PSBudWxsICl7XG5cdFx0YXBwbHlPbmVTbGVycFN0ZXAoKVxuXHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ID0gcHJlc2VudFxuXHR9ZWxzZXtcblx0XHR2YXIgblN0ZXBzVG9EbyA9IE1hdGguZmxvb3IoIChwcmVzZW50IC0gdGhpcy5fbGFzdExlcnBTdGVwQXQpL3RoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5IClcblx0XHRmb3IodmFyIGkgPSAwOyBpIDwgblN0ZXBzVG9EbzsgaSsrKXtcblx0XHRcdGFwcGx5T25lU2xlcnBTdGVwKClcblx0XHRcdHRoaXMuX2xhc3RMZXJwU3RlcEF0ICs9IHRoaXMucGFyYW1ldGVycy5sZXJwU3RlcERlbGF5XG5cdFx0fVxuXHR9XG5cblx0Ly8gZGlzYWJsZSB0aGUgbGVycCBieSBkaXJlY3RseSBjb3B5aW5nIHRhcmdldE9iamVjdDNkIHBvc2l0aW9uL3F1YXRlcm5pb24vc2NhbGVcblx0aWYoIGZhbHNlICl7XHRcdFxuXHRcdHNuYXBEaXJlY3RseVRvVGFyZ2V0KClcblx0fVxuXG5cdC8vIHVwZGF0ZSB0aGUgbWF0cml4XG5cdHRoaXMub2JqZWN0M2QudXBkYXRlTWF0cml4KClcblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblx0Ly9cdFx0aG9ub3IgYmVjYW1lVmlzaWJsZS9iZWNhbWVVblZpc2libGUgZXZlbnRcblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cdC8vIGhvbm9yIGJlY2FtZVZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IGZhbHNlICYmIG9iamVjdDNkLnZpc2libGUgPT09IHRydWUgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVmlzaWJsZScgfSlcblx0fVxuXHQvLyBob25vciBiZWNhbWVVblZpc2libGUgZXZlbnRcblx0aWYoIHdhc1Zpc2libGUgPT09IHRydWUgJiYgb2JqZWN0M2QudmlzaWJsZSA9PT0gZmFsc2UgKXtcblx0XHR0aGlzLmRpc3BhdGNoRXZlbnQoeyB0eXBlOiAnYmVjYW1lVW5WaXNpYmxlJyB9KVxuXHR9XG5cdHJldHVyblxuXG5cdGZ1bmN0aW9uIHNuYXBEaXJlY3RseVRvVGFyZ2V0KCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24uY29weSggdGFyZ2V0T2JqZWN0M2QucG9zaXRpb24gKVxuXHRcdG9iamVjdDNkLnF1YXRlcm5pb24uY29weSggdGFyZ2V0T2JqZWN0M2QucXVhdGVybmlvbiApXG5cdFx0b2JqZWN0M2Quc2NhbGUuY29weSggdGFyZ2V0T2JqZWN0M2Quc2NhbGUgKVxuXHR9XHRcblx0XG5cdGZ1bmN0aW9uIGFwcGx5T25lU2xlcnBTdGVwKCl7XG5cdFx0b2JqZWN0M2QucG9zaXRpb24ubGVycCh0YXJnZXRPYmplY3QzZC5wb3NpdGlvbiwgcGFyYW1ldGVycy5sZXJwUG9zaXRpb24pXG5cdFx0b2JqZWN0M2QucXVhdGVybmlvbi5zbGVycCh0YXJnZXRPYmplY3QzZC5xdWF0ZXJuaW9uLCBwYXJhbWV0ZXJzLmxlcnBRdWF0ZXJuaW9uKVxuXHRcdG9iamVjdDNkLnNjYWxlLmxlcnAodGFyZ2V0T2JqZWN0M2Quc2NhbGUsIHBhcmFtZXRlcnMubGVycFNjYWxlKVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFyU21vb3RoZWRDb250cm9scztcbiIsImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcblxuLy8gVE9ETyB0aGlzIGlzIHVzZWxlc3MgLSBwcmVmZXJlIGFyanMtSGl0VGVzdGluZy5qc1xuXG4vKipcbiAqIC0gbWF5YmUgc3VwcG9ydCAub25DbGlja0ZjdHMgaW4gZWFjaCBvYmplY3QzZFxuICogLSBzZWVtcyBhbiBlYXN5IGxpZ2h0IGxheWVyIGZvciBjbGlja2FibGUgb2JqZWN0XG4gKiAtIHVwIHRvIFxuICovXG5jb25zdCBIaXRUZXN0aW5nUGxhbmUgPSBmdW5jdGlvbihzb3VyY2VFbGVtZW50KXtcblx0dGhpcy5fc291cmNlRWxlbWVudCA9IHNvdXJjZUVsZW1lbnRcblxuXHQvLyBjcmVhdGUgX3BpY2tpbmdTY2VuZVxuXHR0aGlzLl9waWNraW5nU2NlbmUgPSBuZXcgVEhSRUUuU2NlbmVcblx0XG5cdC8vIGNyZWF0ZSBfcGlja2luZ1BsYW5lXG5cdHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwLDE5LDE5KS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdC8vIHZhciBnZW9tZXRyeSA9IG5ldyBUSFJFRS5QbGFuZUdlb21ldHJ5KDIwLDIwKS5yb3RhdGVYKC1NYXRoLlBJLzIpXG5cdHZhciBtYXRlcmlhbCA9IG5ldyBUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbCh7XG5cdFx0Ly8gb3BhY2l0eTogMC41LFxuXHRcdC8vIHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdHdpcmVmcmFtZTogdHJ1ZVxuXHR9KVxuXHQvLyBtYXRlcmlhbC52aXNpYmxlID0gZmFsc2Vcblx0dGhpcy5fcGlja2luZ1BsYW5lID0gbmV3IFRIUkVFLk1lc2goZ2VvbWV0cnksIG1hdGVyaWFsKVxuXHR0aGlzLl9waWNraW5nU2NlbmUuYWRkKHRoaXMuX3BpY2tpbmdQbGFuZSlcblxuXHQvLyBDcmVhdGUgcGlja2luZ0NhbWVyYVxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0Ly8gVE9ETyBoYXJkY29kZWQgZm92IC0gY291Y2hcblx0dGhpcy5fcGlja2luZ0NhbWVyYSA9IG5ldyBUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSg0MiwgZnVsbFdpZHRoIC8gZnVsbEhlaWdodCwgMC4xLCAzMCk7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHR1cGRhdGUgZnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKGNhbWVyYSwgcGlja2luZ1Jvb3QsIGNoYW5nZU1hdHJpeE1vZGUpe1xuXG5cdHRoaXMub25SZXNpemUoKVxuXHRcblxuXHRpZiggY2hhbmdlTWF0cml4TW9kZSA9PT0gJ21vZGVsVmlld01hdHJpeCcgKXtcblx0XHQvLyBzZXQgcGlja2luZ1BsYW5lIHBvc2l0aW9uXG5cdFx0dmFyIHBpY2tpbmdQbGFuZSA9IHRoaXMuX3BpY2tpbmdQbGFuZVxuXHRcdHBpY2tpbmdSb290LnBhcmVudC51cGRhdGVNYXRyaXhXb3JsZCgpXG5cdFx0cGlja2luZ1BsYW5lLm1hdHJpeC5jb3B5KHBpY2tpbmdSb290LnBhcmVudC5tYXRyaXhXb3JsZClcblx0XHQvLyBzZXQgcG9zaXRpb24vcXVhdGVybmlvbi9zY2FsZSBmcm9tIHBpY2tpbmdQbGFuZS5tYXRyaXhcblx0XHRwaWNraW5nUGxhbmUubWF0cml4LmRlY29tcG9zZShwaWNraW5nUGxhbmUucG9zaXRpb24sIHBpY2tpbmdQbGFuZS5xdWF0ZXJuaW9uLCBwaWNraW5nUGxhbmUuc2NhbGUpXG5cdH1lbHNlIGlmKCBjaGFuZ2VNYXRyaXhNb2RlID09PSAnY2FtZXJhVHJhbnNmb3JtTWF0cml4JyApe1xuXHRcdC8vIHNldCBwaWNraW5nUGxhbmUgcG9zaXRpb25cblx0XHR2YXIgcGlja2luZ0NhbWVyYSA9IHRoaXMuX3BpY2tpbmdDYW1lcmFcblx0XHRjYW1lcmEudXBkYXRlTWF0cml4V29ybGQoKVxuXHRcdHBpY2tpbmdDYW1lcmEubWF0cml4LmNvcHkoY2FtZXJhLm1hdHJpeFdvcmxkKVxuXHRcdC8vIHNldCBwb3NpdGlvbi9xdWF0ZXJuaW9uL3NjYWxlIGZyb20gcGlja2luZ0NhbWVyYS5tYXRyaXhcblx0XHRwaWNraW5nQ2FtZXJhLm1hdHJpeC5kZWNvbXBvc2UocGlja2luZ0NhbWVyYS5wb3NpdGlvbiwgcGlja2luZ0NhbWVyYS5xdWF0ZXJuaW9uLCBwaWNraW5nQ2FtZXJhLnNjYWxlKVxuXHR9ZWxzZSBjb25zb2xlLmFzc2VydChmYWxzZSlcblxuXG4vLyB2YXIgcG9zaXRpb24gPSB0aGlzLl9waWNraW5nUGxhbmUucG9zaXRpb25cbi8vIGNvbnNvbGUubG9nKCdwaWNraW5nUGxhbmUgcG9zaXRpb24nLCBwb3NpdGlvbi54LnRvRml4ZWQoMiksIHBvc2l0aW9uLnkudG9GaXhlZCgyKSwgcG9zaXRpb24uei50b0ZpeGVkKDIpKVxuLy8gdmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ0NhbWVyYS5wb3NpdGlvblxuLy8gY29uc29sZS5sb2coJ2hpcy5fcGlja2luZ0NhbWVyYSBwb3NpdGlvbicsIHBvc2l0aW9uLngudG9GaXhlZCgyKSwgcG9zaXRpb24ueS50b0ZpeGVkKDIpLCBwb3NpdGlvbi56LnRvRml4ZWQoMikpXG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlc2l6ZSBjYW1lcmFcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5IaXRUZXN0aW5nUGxhbmUucHJvdG90eXBlLm9uUmVzaXplID0gZnVuY3Rpb24oKXtcblx0dmFyIHNvdXJjZUVsZW1lbnQgPSB0aGlzLl9zb3VyY2VFbGVtZW50XG5cdHZhciBwaWNraW5nQ2FtZXJhID0gdGhpcy5fcGlja2luZ0NhbWVyYVxuXHRcbi8vIEZJWE1FIHdoeSB1c2luZyBjc3MgaGVyZSA/Pz8gbm90IGV2ZW4gY29tcHV0ZWQgc3R5bGVcbi8vIHNob3VsZCBnZXQgdGhlIHNpemUgb2YgdGhlIGVsbWVudCBkaXJlY3RseSBpbmRlcGVuZGFudGx5IFxuXHR2YXIgZnVsbFdpZHRoID0gcGFyc2VJbnQoc291cmNlRWxlbWVudC5zdHlsZS53aWR0aClcblx0dmFyIGZ1bGxIZWlnaHQgPSBwYXJzZUludChzb3VyY2VFbGVtZW50LnN0eWxlLmhlaWdodClcblx0cGlja2luZ0NhbWVyYS5hc3BlY3QgPSBmdWxsV2lkdGggLyBmdWxsSGVpZ2h0XG5cblx0cGlja2luZ0NhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KClcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1x0XHRQZXJmb3JtIHRlc3Rcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuSGl0VGVzdGluZ1BsYW5lLnByb3RvdHlwZS50ZXN0ID0gZnVuY3Rpb24obW91c2VYLCBtb3VzZVkpe1xuXHQvLyBjb252ZXJ0IG1vdXNlWCwgbW91c2VZIHRvIFstMSwgKzFdXG5cdG1vdXNlWCA9IChtb3VzZVgtMC41KSoyXG5cdG1vdXNlWSA9LShtb3VzZVktMC41KSoyXG5cdFxuXHR0aGlzLl9waWNraW5nU2NlbmUudXBkYXRlTWF0cml4V29ybGQodHJ1ZSlcblxuXHQvLyBjb21wdXRlIGludGVyc2VjdGlvbnMgYmV0d2VlbiBtb3VzZVZlY3RvcjMgYW5kIHBpY2tpbmdQbGFuZVxuXHR2YXIgcmF5Y2FzdGVyID0gbmV3IFRIUkVFLlJheWNhc3RlcigpO1xuXHR2YXIgbW91c2VWZWN0b3IzID0gbmV3IFRIUkVFLlZlY3RvcjMobW91c2VYLCBtb3VzZVksIDEpO1xuXHRyYXljYXN0ZXIuc2V0RnJvbUNhbWVyYSggbW91c2VWZWN0b3IzLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcblx0dmFyIGludGVyc2VjdHMgPSByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyggW3RoaXMuX3BpY2tpbmdQbGFuZV0gKVxuXG5cdGlmKCBpbnRlcnNlY3RzLmxlbmd0aCA9PT0gMCApXHRyZXR1cm4gbnVsbFxuXG5cdC8vIHNldCBuZXcgZGVtb1Jvb3QgcG9zaXRpb25cblx0dmFyIHBvc2l0aW9uID0gdGhpcy5fcGlja2luZ1BsYW5lLndvcmxkVG9Mb2NhbCggaW50ZXJzZWN0c1swXS5wb2ludC5jbG9uZSgpIClcblx0Ly8gVE9ETyBoZXJlIGRvIGEgbG9vayBhdCB0aGUgY2FtZXJhID9cblx0dmFyIHF1YXRlcm5pb24gPSBuZXcgVEhSRUUuUXVhdGVybmlvblxuXHR2YXIgc2NhbGUgPSBuZXcgVEhSRUUuVmVjdG9yMygxLDEsMSkvLy5tdWx0aXBseVNjYWxhcigxKVxuXHRcblx0cmV0dXJuIHtcblx0XHRwb3NpdGlvbiA6IHBvc2l0aW9uLFxuXHRcdHF1YXRlcm5pb24gOiBxdWF0ZXJuaW9uLFxuXHRcdHNjYWxlIDogc2NhbGVcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXHRcdHJlbmRlciB0aGUgcGlja2luZ1BsYW5lIGZvciBkZWJ1Z1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkhpdFRlc3RpbmdQbGFuZS5wcm90b3R5cGUucmVuZGVyRGVidWcgPSBmdW5jdGlvbihyZW5kZXJlcil7XG5cdC8vIHJlbmRlciBzY2VuZU9ydGhvXG5cdHJlbmRlcmVyLnJlbmRlciggdGhpcy5fcGlja2luZ1NjZW5lLCB0aGlzLl9waWNraW5nQ2FtZXJhIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgSGl0VGVzdGluZ1BsYW5lO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX3RocmVlX187IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHQvLyBubyBtb2R1bGUuaWQgbmVlZGVkXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5vID0gKG9iaiwgcHJvcCkgPT4gKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApKSIsIi8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uciA9IChleHBvcnRzKSA9PiB7XG5cdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuXHR9XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG59OyIsImltcG9ydCBBbmNob3IgZnJvbSAnLi9uZXctYXBpL2FyanMtYW5jaG9yJztcbmltcG9ydCBIaXRUZXN0aW5nIGZyb20gJy4vbmV3LWFwaS9hcmpzLWhpdHRlc3RpbmcnO1xuaW1wb3J0IHsgQW5jaG9yRGVidWdVSSwgU2Vzc2lvbkRlYnVnVUkgfSBmcm9tICcuL25ldy1hcGkvYXJqcy1kZWJ1Z3VpJztcbmltcG9ydCBTZXNzaW9uIGZyb20gJy4vbmV3LWFwaS9hcmpzLXNlc3Npb24nO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4vbmV3LWFwaS9hcmpzLXV0aWxzJztcbmltcG9ydCBDb250ZXh0IGZyb20gJy4vdGhyZWV4L2FyanMtY29udGV4dCc7XG5pbXBvcnQgUHJvZmlsZSBmcm9tICcuL3RocmVleC9hcmpzLXByb2ZpbGUnO1xuaW1wb3J0IFNvdXJjZSBmcm9tICcuL3RocmVleC9hcmpzLXNvdXJjZSc7XG5cbmV4cG9ydCB7XG4gIEFuY2hvcixcbiAgSGl0VGVzdGluZyxcbiAgQW5jaG9yRGVidWdVSSxcbiAgU2Vzc2lvbkRlYnVnVUksXG4gIFNlc3Npb24sXG4gIFV0aWxzLFxuICBDb250ZXh0LFxuICBQcm9maWxlLFxuICBTb3VyY2Vcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/three.js/examples/arjs-session.html b/three.js/examples/arjs-session.html index fb9d12f7..33c506fc 100644 --- a/three.js/examples/arjs-session.html +++ b/three.js/examples/arjs-session.html @@ -2,26 +2,8 @@ - - - - - - - - - - - - - - - - - - - + @@ -130,7 +112,7 @@ arWorldRoot.add(mesh) // add a torus knot - var geometry = new THREE.CubeGeometry(1, 1, 1); + var geometry = new THREE.BoxGeometry(1, 1, 1); var material = new THREE.MeshNormalMaterial({ transparent: true, opacity: 0.5, diff --git a/three.js/examples/basic.html b/three.js/examples/basic.html index 8fcab341..f99adc9d 100644 --- a/three.js/examples/basic.html +++ b/three.js/examples/basic.html @@ -3,7 +3,7 @@ - +

@@ -122,7 +122,7 @@ ////////////////////////////////////////////////////////////////////////////////// // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/boilerplate-threejs.html b/three.js/examples/boilerplate-threejs.html index 7d64537b..21d24a7e 100644 --- a/three.js/examples/boilerplate-threejs.html +++ b/three.js/examples/boilerplate-threejs.html @@ -48,7 +48,7 @@ ////////////////////////////////////////////////////////////////////////////////// // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/default-thinner-border.html b/three.js/examples/default-thinner-border.html index a6632488..750eedc8 100644 --- a/three.js/examples/default-thinner-border.html +++ b/three.js/examples/default-thinner-border.html @@ -4,7 +4,7 @@ - + @@ -132,7 +132,7 @@ markerScene.add(mesh) // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/default.html b/three.js/examples/default.html index 4e02f1bc..6e434637 100644 --- a/three.js/examples/default.html +++ b/three.js/examples/default.html @@ -4,7 +4,7 @@ - + @@ -129,7 +129,7 @@ markerScene.add(mesh) // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/dev.html b/three.js/examples/dev.html index 8aa50c5c..b070b06e 100644 --- a/three.js/examples/dev.html +++ b/three.js/examples/dev.html @@ -3,16 +3,8 @@ - - - - - - - - - +
@@ -172,7 +164,7 @@ arWorldRoot.add(mesh) // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/measure-it.html b/three.js/examples/measure-it.html index a26bc895..b3ca89f9 100644 --- a/three.js/examples/measure-it.html +++ b/three.js/examples/measure-it.html @@ -2,14 +2,8 @@ - - - - - - - +
@@ -175,17 +169,24 @@ dashSize: 1, gapSize: 1, } ); - var geometry = new THREE.Geometry(); - geometry.vertices.push(new THREE.Vector3(1, 0, -3)); - geometry.vertices.push(new THREE.Vector3(-1, 0, -3)); + var geometry = new THREE.BufferGeometry(); + var vertices = new Float32Array( [ + 1.0, 0.0, -3.0, + -1.0, 0.0, -3.0 + ] ); + const positionNumComponents = 3; + geometry.setAttribute('position', + new THREE.BufferAttribute(new Float32Array(vertices), positionNumComponents)); var lineMesh = new THREE.Line(geometry, material); - container.add(lineMesh) // update lineMesh onRenderFcts.push(function(){ var geometry = lineMesh.geometry - geometry.vertices[0].copy(markerRoot1.position) - geometry.vertices[1].copy(markerRoot2.position) + vertices = [ + markerRoot1.position.x, markerRoot1.position.y, markerRoot1.position.z, + markerRoot2.position.x, markerRoot2.position.y, markerRoot2.position.z, + ]; + geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) ); geometry.verticesNeedUpdate = true geometry.computeBoundingSphere(); diff --git a/three.js/examples/minimal_ES6.html b/three.js/examples/minimal_ES6.html new file mode 100644 index 00000000..5847cd59 --- /dev/null +++ b/three.js/examples/minimal_ES6.html @@ -0,0 +1,247 @@ + + + + + + + + + +
+ AR.js - three.js camera transform +
+ Contact me any time at @nicolocarp +
+ + diff --git a/three.js/examples/mobile-performance.html b/three.js/examples/mobile-performance.html index 7adc7922..dcbfa3bd 100644 --- a/three.js/examples/mobile-performance.html +++ b/three.js/examples/mobile-performance.html @@ -4,7 +4,7 @@ - +
diff --git a/three.js/examples/nft.html b/three.js/examples/nft.html index 0f6b0a81..828aa7c0 100644 --- a/three.js/examples/nft.html +++ b/three.js/examples/nft.html @@ -6,7 +6,7 @@ - + diff --git a/three.js/examples/profile.html b/three.js/examples/profile.html index 4e48a69e..8036be91 100644 --- a/three.js/examples/profile.html +++ b/three.js/examples/profile.html @@ -3,15 +3,8 @@ - - - - - - - - +
@@ -157,7 +150,7 @@ ////////////////////////////////////////////////////////////////////////////////// // add a torus knot - var geometry = new THREE.CubeGeometry(1,1,1); + var geometry = new THREE.BoxGeometry(1,1,1); var material = new THREE.MeshNormalMaterial({ transparent : true, opacity: 0.5, diff --git a/three.js/examples/resources/index.css b/three.js/examples/resources/index.css new file mode 100644 index 00000000..17812596 --- /dev/null +++ b/three.js/examples/resources/index.css @@ -0,0 +1,19 @@ +html, +body { + height: 100%; + margin: 0; + overflow: hidden; +} + +body { + position: relative; +} + +canvas, +video { + display: block; + width: 100% !important; + height: 100% !important; + margin: 0 !important; + object-fit: contain !important; +} diff --git a/three.js/examples/test-runner.html b/three.js/examples/test-runner.html index 59c46855..8f72df1f 100644 --- a/three.js/examples/test-runner.html +++ b/three.js/examples/test-runner.html @@ -3,28 +3,11 @@ AR.js Test Runner - - - - - - - - - - - - - - - - - - - - - - + + + + +
@@ -140,7 +123,7 @@ arWorldRoot.add(mesh) // add a torus knot - var geometry = new THREE.CubeGeometry(1, 1, 1); + var geometry = new THREE.BoxGeometry(1, 1, 1); var material = new THREE.MeshNormalMaterial({ transparent: true, opacity: 0.5, diff --git a/three.js/examples/vendor/three.js/build/three.js b/three.js/examples/vendor/three.js/build/three.js index 56f738b3..9a8d8e17 100755 --- a/three.js/examples/vendor/three.js/build/three.js +++ b/three.js/examples/vendor/three.js/build/three.js @@ -1,48422 +1,36331 @@ +/** + * @license + * Copyright 2010-2021 Three.js Authors + * SPDX-License-Identifier: MIT + */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.THREE = {})); -}(this, function (exports) { 'use strict'; - - // Polyfills - - if ( Number.EPSILON === undefined ) { + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.THREE = {})); +}(this, (function (exports) { 'use strict'; + + const REVISION = '132'; + const MOUSE = { + LEFT: 0, + MIDDLE: 1, + RIGHT: 2, + ROTATE: 0, + DOLLY: 1, + PAN: 2 + }; + const TOUCH = { + ROTATE: 0, + PAN: 1, + DOLLY_PAN: 2, + DOLLY_ROTATE: 3 + }; + const CullFaceNone = 0; + const CullFaceBack = 1; + const CullFaceFront = 2; + const CullFaceFrontBack = 3; + const BasicShadowMap = 0; + const PCFShadowMap = 1; + const PCFSoftShadowMap = 2; + const VSMShadowMap = 3; + const FrontSide = 0; + const BackSide = 1; + const DoubleSide = 2; + const FlatShading = 1; + const SmoothShading = 2; + const NoBlending = 0; + const NormalBlending = 1; + const AdditiveBlending = 2; + const SubtractiveBlending = 3; + const MultiplyBlending = 4; + const CustomBlending = 5; + const AddEquation = 100; + const SubtractEquation = 101; + const ReverseSubtractEquation = 102; + const MinEquation = 103; + const MaxEquation = 104; + const ZeroFactor = 200; + const OneFactor = 201; + const SrcColorFactor = 202; + const OneMinusSrcColorFactor = 203; + const SrcAlphaFactor = 204; + const OneMinusSrcAlphaFactor = 205; + const DstAlphaFactor = 206; + const OneMinusDstAlphaFactor = 207; + const DstColorFactor = 208; + const OneMinusDstColorFactor = 209; + const SrcAlphaSaturateFactor = 210; + const NeverDepth = 0; + const AlwaysDepth = 1; + const LessDepth = 2; + const LessEqualDepth = 3; + const EqualDepth = 4; + const GreaterEqualDepth = 5; + const GreaterDepth = 6; + const NotEqualDepth = 7; + const MultiplyOperation = 0; + const MixOperation = 1; + const AddOperation = 2; + const NoToneMapping = 0; + const LinearToneMapping = 1; + const ReinhardToneMapping = 2; + const CineonToneMapping = 3; + const ACESFilmicToneMapping = 4; + const CustomToneMapping = 5; + const UVMapping = 300; + const CubeReflectionMapping = 301; + const CubeRefractionMapping = 302; + const EquirectangularReflectionMapping = 303; + const EquirectangularRefractionMapping = 304; + const CubeUVReflectionMapping = 306; + const CubeUVRefractionMapping = 307; + const RepeatWrapping = 1000; + const ClampToEdgeWrapping = 1001; + const MirroredRepeatWrapping = 1002; + const NearestFilter = 1003; + const NearestMipmapNearestFilter = 1004; + const NearestMipMapNearestFilter = 1004; + const NearestMipmapLinearFilter = 1005; + const NearestMipMapLinearFilter = 1005; + const LinearFilter = 1006; + const LinearMipmapNearestFilter = 1007; + const LinearMipMapNearestFilter = 1007; + const LinearMipmapLinearFilter = 1008; + const LinearMipMapLinearFilter = 1008; + const UnsignedByteType = 1009; + const ByteType = 1010; + const ShortType = 1011; + const UnsignedShortType = 1012; + const IntType = 1013; + const UnsignedIntType = 1014; + const FloatType = 1015; + const HalfFloatType = 1016; + const UnsignedShort4444Type = 1017; + const UnsignedShort5551Type = 1018; + const UnsignedShort565Type = 1019; + const UnsignedInt248Type = 1020; + const AlphaFormat = 1021; + const RGBFormat = 1022; + const RGBAFormat = 1023; + const LuminanceFormat = 1024; + const LuminanceAlphaFormat = 1025; + const RGBEFormat = RGBAFormat; + const DepthFormat = 1026; + const DepthStencilFormat = 1027; + const RedFormat = 1028; + const RedIntegerFormat = 1029; + const RGFormat = 1030; + const RGIntegerFormat = 1031; + const RGBIntegerFormat = 1032; + const RGBAIntegerFormat = 1033; + const RGB_S3TC_DXT1_Format = 33776; + const RGBA_S3TC_DXT1_Format = 33777; + const RGBA_S3TC_DXT3_Format = 33778; + const RGBA_S3TC_DXT5_Format = 33779; + const RGB_PVRTC_4BPPV1_Format = 35840; + const RGB_PVRTC_2BPPV1_Format = 35841; + const RGBA_PVRTC_4BPPV1_Format = 35842; + const RGBA_PVRTC_2BPPV1_Format = 35843; + const RGB_ETC1_Format = 36196; + const RGB_ETC2_Format = 37492; + const RGBA_ETC2_EAC_Format = 37496; + const RGBA_ASTC_4x4_Format = 37808; + const RGBA_ASTC_5x4_Format = 37809; + const RGBA_ASTC_5x5_Format = 37810; + const RGBA_ASTC_6x5_Format = 37811; + const RGBA_ASTC_6x6_Format = 37812; + const RGBA_ASTC_8x5_Format = 37813; + const RGBA_ASTC_8x6_Format = 37814; + const RGBA_ASTC_8x8_Format = 37815; + const RGBA_ASTC_10x5_Format = 37816; + const RGBA_ASTC_10x6_Format = 37817; + const RGBA_ASTC_10x8_Format = 37818; + const RGBA_ASTC_10x10_Format = 37819; + const RGBA_ASTC_12x10_Format = 37820; + const RGBA_ASTC_12x12_Format = 37821; + const RGBA_BPTC_Format = 36492; + const SRGB8_ALPHA8_ASTC_4x4_Format = 37840; + const SRGB8_ALPHA8_ASTC_5x4_Format = 37841; + const SRGB8_ALPHA8_ASTC_5x5_Format = 37842; + const SRGB8_ALPHA8_ASTC_6x5_Format = 37843; + const SRGB8_ALPHA8_ASTC_6x6_Format = 37844; + const SRGB8_ALPHA8_ASTC_8x5_Format = 37845; + const SRGB8_ALPHA8_ASTC_8x6_Format = 37846; + const SRGB8_ALPHA8_ASTC_8x8_Format = 37847; + const SRGB8_ALPHA8_ASTC_10x5_Format = 37848; + const SRGB8_ALPHA8_ASTC_10x6_Format = 37849; + const SRGB8_ALPHA8_ASTC_10x8_Format = 37850; + const SRGB8_ALPHA8_ASTC_10x10_Format = 37851; + const SRGB8_ALPHA8_ASTC_12x10_Format = 37852; + const SRGB8_ALPHA8_ASTC_12x12_Format = 37853; + const LoopOnce = 2200; + const LoopRepeat = 2201; + const LoopPingPong = 2202; + const InterpolateDiscrete = 2300; + const InterpolateLinear = 2301; + const InterpolateSmooth = 2302; + const ZeroCurvatureEnding = 2400; + const ZeroSlopeEnding = 2401; + const WrapAroundEnding = 2402; + const NormalAnimationBlendMode = 2500; + const AdditiveAnimationBlendMode = 2501; + const TrianglesDrawMode = 0; + const TriangleStripDrawMode = 1; + const TriangleFanDrawMode = 2; + const LinearEncoding = 3000; + const sRGBEncoding = 3001; + const GammaEncoding = 3007; + const RGBEEncoding = 3002; + const LogLuvEncoding = 3003; + const RGBM7Encoding = 3004; + const RGBM16Encoding = 3005; + const RGBDEncoding = 3006; + const BasicDepthPacking = 3200; + const RGBADepthPacking = 3201; + const TangentSpaceNormalMap = 0; + const ObjectSpaceNormalMap = 1; + const ZeroStencilOp = 0; + const KeepStencilOp = 7680; + const ReplaceStencilOp = 7681; + const IncrementStencilOp = 7682; + const DecrementStencilOp = 7683; + const IncrementWrapStencilOp = 34055; + const DecrementWrapStencilOp = 34056; + const InvertStencilOp = 5386; + const NeverStencilFunc = 512; + const LessStencilFunc = 513; + const EqualStencilFunc = 514; + const LessEqualStencilFunc = 515; + const GreaterStencilFunc = 516; + const NotEqualStencilFunc = 517; + const GreaterEqualStencilFunc = 518; + const AlwaysStencilFunc = 519; + const StaticDrawUsage = 35044; + const DynamicDrawUsage = 35048; + const StreamDrawUsage = 35040; + const StaticReadUsage = 35045; + const DynamicReadUsage = 35049; + const StreamReadUsage = 35041; + const StaticCopyUsage = 35046; + const DynamicCopyUsage = 35050; + const StreamCopyUsage = 35042; + const GLSL1 = '100'; + const GLSL3 = '300 es'; - Number.EPSILON = Math.pow( 2, - 52 ); + /** + * https://github.com/mrdoob/eventdispatcher.js/ + */ + class EventDispatcher { + addEventListener(type, listener) { + if (this._listeners === undefined) this._listeners = {}; + const listeners = this._listeners; - } + if (listeners[type] === undefined) { + listeners[type] = []; + } - if ( Number.isInteger === undefined ) { + if (listeners[type].indexOf(listener) === -1) { + listeners[type].push(listener); + } + } - // Missing in IE - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger + hasEventListener(type, listener) { + if (this._listeners === undefined) return false; + const listeners = this._listeners; + return listeners[type] !== undefined && listeners[type].indexOf(listener) !== -1; + } - Number.isInteger = function ( value ) { + removeEventListener(type, listener) { + if (this._listeners === undefined) return; + const listeners = this._listeners; + const listenerArray = listeners[type]; - return typeof value === 'number' && isFinite( value ) && Math.floor( value ) === value; + if (listenerArray !== undefined) { + const index = listenerArray.indexOf(listener); - }; + if (index !== -1) { + listenerArray.splice(index, 1); + } + } + } - } + dispatchEvent(event) { + if (this._listeners === undefined) return; + const listeners = this._listeners; + const listenerArray = listeners[event.type]; - // + if (listenerArray !== undefined) { + event.target = this; // Make a copy, in case listeners are removed while iterating. - if ( Math.sign === undefined ) { + const array = listenerArray.slice(0); - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign + for (let i = 0, l = array.length; i < l; i++) { + array[i].call(this, event); + } - Math.sign = function ( x ) { + event.target = null; + } + } - return ( x < 0 ) ? - 1 : ( x > 0 ) ? 1 : + x; + } - }; + const _lut = []; + for (let i = 0; i < 256; i++) { + _lut[i] = (i < 16 ? '0' : '') + i.toString(16); } - if ( 'name' in Function.prototype === false ) { + let _seed = 1234567; + const DEG2RAD = Math.PI / 180; + const RAD2DEG = 180 / Math.PI; // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 - // Missing in IE - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name + function generateUUID() { + const d0 = Math.random() * 0xffffffff | 0; + const d1 = Math.random() * 0xffffffff | 0; + const d2 = Math.random() * 0xffffffff | 0; + const d3 = Math.random() * 0xffffffff | 0; + const uuid = _lut[d0 & 0xff] + _lut[d0 >> 8 & 0xff] + _lut[d0 >> 16 & 0xff] + _lut[d0 >> 24 & 0xff] + '-' + _lut[d1 & 0xff] + _lut[d1 >> 8 & 0xff] + '-' + _lut[d1 >> 16 & 0x0f | 0x40] + _lut[d1 >> 24 & 0xff] + '-' + _lut[d2 & 0x3f | 0x80] + _lut[d2 >> 8 & 0xff] + '-' + _lut[d2 >> 16 & 0xff] + _lut[d2 >> 24 & 0xff] + _lut[d3 & 0xff] + _lut[d3 >> 8 & 0xff] + _lut[d3 >> 16 & 0xff] + _lut[d3 >> 24 & 0xff]; // .toUpperCase() here flattens concatenated strings to save heap memory space. - Object.defineProperty( Function.prototype, 'name', { + return uuid.toUpperCase(); + } - get: function () { + function clamp(value, min, max) { + return Math.max(min, Math.min(max, value)); + } // compute euclidian modulo of m % n + // https://en.wikipedia.org/wiki/Modulo_operation - return this.toString().match( /^\s*function\s*([^\(\s]*)/ )[ 1 ]; - } + function euclideanModulo(n, m) { + return (n % m + m) % m; + } // Linear mapping from range to range - } ); - } + function mapLinear(x, a1, a2, b1, b2) { + return b1 + (x - a1) * (b2 - b1) / (a2 - a1); + } // https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/inverse-lerp-a-super-useful-yet-often-overlooked-function-r5230/ - if ( Object.assign === undefined ) { - // Missing in IE - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + function inverseLerp(x, y, value) { + if (x !== y) { + return (value - x) / (y - x); + } else { + return 0; + } + } // https://en.wikipedia.org/wiki/Linear_interpolation - ( function () { - Object.assign = function ( target ) { + function lerp(x, y, t) { + return (1 - t) * x + t * y; + } // http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/ - if ( target === undefined || target === null ) { - throw new TypeError( 'Cannot convert undefined or null to object' ); + function damp(x, y, lambda, dt) { + return lerp(x, y, 1 - Math.exp(-lambda * dt)); + } // https://www.desmos.com/calculator/vcsjnyz7x4 - } - var output = Object( target ); + function pingpong(x, length = 1) { + return length - Math.abs(euclideanModulo(x, length * 2) - length); + } // http://en.wikipedia.org/wiki/Smoothstep - for ( var index = 1; index < arguments.length; index ++ ) { - var source = arguments[ index ]; + function smoothstep(x, min, max) { + if (x <= min) return 0; + if (x >= max) return 1; + x = (x - min) / (max - min); + return x * x * (3 - 2 * x); + } - if ( source !== undefined && source !== null ) { + function smootherstep(x, min, max) { + if (x <= min) return 0; + if (x >= max) return 1; + x = (x - min) / (max - min); + return x * x * x * (x * (x * 6 - 15) + 10); + } // Random integer from interval - for ( var nextKey in source ) { - if ( Object.prototype.hasOwnProperty.call( source, nextKey ) ) { + function randInt(low, high) { + return low + Math.floor(Math.random() * (high - low + 1)); + } // Random float from interval - output[ nextKey ] = source[ nextKey ]; - } + function randFloat(low, high) { + return low + Math.random() * (high - low); + } // Random float from <-range/2, range/2> interval - } - } + function randFloatSpread(range) { + return range * (0.5 - Math.random()); + } // Deterministic pseudo-random float in the interval [ 0, 1 ] - } - return output; + function seededRandom(s) { + if (s !== undefined) _seed = s % 2147483647; // Park-Miller algorithm - }; + _seed = _seed * 16807 % 2147483647; + return (_seed - 1) / 2147483646; + } - } )(); + function degToRad(degrees) { + return degrees * DEG2RAD; + } + function radToDeg(radians) { + return radians * RAD2DEG; } - /** - * https://github.com/mrdoob/eventdispatcher.js/ - */ + function isPowerOfTwo(value) { + return (value & value - 1) === 0 && value !== 0; + } - function EventDispatcher() {} + function ceilPowerOfTwo(value) { + return Math.pow(2, Math.ceil(Math.log(value) / Math.LN2)); + } - Object.assign( EventDispatcher.prototype, { + function floorPowerOfTwo(value) { + return Math.pow(2, Math.floor(Math.log(value) / Math.LN2)); + } - addEventListener: function ( type, listener ) { + function setQuaternionFromProperEuler(q, a, b, c, order) { + // Intrinsic Proper Euler Angles - see https://en.wikipedia.org/wiki/Euler_angles + // rotations are applied to the axes in the order specified by 'order' + // rotation by angle 'a' is applied first, then by angle 'b', then by angle 'c' + // angles are in radians + const cos = Math.cos; + const sin = Math.sin; + const c2 = cos(b / 2); + const s2 = sin(b / 2); + const c13 = cos((a + c) / 2); + const s13 = sin((a + c) / 2); + const c1_3 = cos((a - c) / 2); + const s1_3 = sin((a - c) / 2); + const c3_1 = cos((c - a) / 2); + const s3_1 = sin((c - a) / 2); - if ( this._listeners === undefined ) this._listeners = {}; + switch (order) { + case 'XYX': + q.set(c2 * s13, s2 * c1_3, s2 * s1_3, c2 * c13); + break; - var listeners = this._listeners; + case 'YZY': + q.set(s2 * s1_3, c2 * s13, s2 * c1_3, c2 * c13); + break; - if ( listeners[ type ] === undefined ) { + case 'ZXZ': + q.set(s2 * c1_3, s2 * s1_3, c2 * s13, c2 * c13); + break; - listeners[ type ] = []; + case 'XZX': + q.set(c2 * s13, s2 * s3_1, s2 * c3_1, c2 * c13); + break; - } + case 'YXY': + q.set(s2 * c3_1, c2 * s13, s2 * s3_1, c2 * c13); + break; - if ( listeners[ type ].indexOf( listener ) === - 1 ) { + case 'ZYZ': + q.set(s2 * s3_1, s2 * c3_1, c2 * s13, c2 * c13); + break; - listeners[ type ].push( listener ); + default: + console.warn('THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' + order); + } + } + + var MathUtils = /*#__PURE__*/Object.freeze({ + __proto__: null, + DEG2RAD: DEG2RAD, + RAD2DEG: RAD2DEG, + generateUUID: generateUUID, + clamp: clamp, + euclideanModulo: euclideanModulo, + mapLinear: mapLinear, + inverseLerp: inverseLerp, + lerp: lerp, + damp: damp, + pingpong: pingpong, + smoothstep: smoothstep, + smootherstep: smootherstep, + randInt: randInt, + randFloat: randFloat, + randFloatSpread: randFloatSpread, + seededRandom: seededRandom, + degToRad: degToRad, + radToDeg: radToDeg, + isPowerOfTwo: isPowerOfTwo, + ceilPowerOfTwo: ceilPowerOfTwo, + floorPowerOfTwo: floorPowerOfTwo, + setQuaternionFromProperEuler: setQuaternionFromProperEuler + }); - } + class Vector2 { + constructor(x = 0, y = 0) { + this.x = x; + this.y = y; + } - }, + get width() { + return this.x; + } - hasEventListener: function ( type, listener ) { + set width(value) { + this.x = value; + } - if ( this._listeners === undefined ) return false; + get height() { + return this.y; + } - var listeners = this._listeners; + set height(value) { + this.y = value; + } - return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1; + set(x, y) { + this.x = x; + this.y = y; + return this; + } - }, + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + return this; + } - removeEventListener: function ( type, listener ) { + setX(x) { + this.x = x; + return this; + } - if ( this._listeners === undefined ) return; + setY(y) { + this.y = y; + return this; + } - var listeners = this._listeners; - var listenerArray = listeners[ type ]; + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; - if ( listenerArray !== undefined ) { + case 1: + this.y = value; + break; - var index = listenerArray.indexOf( listener ); + default: + throw new Error('index is out of range: ' + index); + } - if ( index !== - 1 ) { + return this; + } - listenerArray.splice( index, 1 ); + getComponent(index) { + switch (index) { + case 0: + return this.x; - } + case 1: + return this.y; + default: + throw new Error('index is out of range: ' + index); } + } - }, - - dispatchEvent: function ( event ) { - - if ( this._listeners === undefined ) return; - - var listeners = this._listeners; - var listenerArray = listeners[ event.type ]; - - if ( listenerArray !== undefined ) { - - event.target = this; - - var array = listenerArray.slice( 0 ); - - for ( var i = 0, l = array.length; i < l; i ++ ) { - - array[ i ].call( this, event ); - - } - - } - - } - - } ); - - var REVISION = '103'; - var MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 }; - var CullFaceNone = 0; - var CullFaceBack = 1; - var CullFaceFront = 2; - var CullFaceFrontBack = 3; - var FrontFaceDirectionCW = 0; - var FrontFaceDirectionCCW = 1; - var BasicShadowMap = 0; - var PCFShadowMap = 1; - var PCFSoftShadowMap = 2; - var FrontSide = 0; - var BackSide = 1; - var DoubleSide = 2; - var FlatShading = 1; - var SmoothShading = 2; - var NoColors = 0; - var FaceColors = 1; - var VertexColors = 2; - var NoBlending = 0; - var NormalBlending = 1; - var AdditiveBlending = 2; - var SubtractiveBlending = 3; - var MultiplyBlending = 4; - var CustomBlending = 5; - var AddEquation = 100; - var SubtractEquation = 101; - var ReverseSubtractEquation = 102; - var MinEquation = 103; - var MaxEquation = 104; - var ZeroFactor = 200; - var OneFactor = 201; - var SrcColorFactor = 202; - var OneMinusSrcColorFactor = 203; - var SrcAlphaFactor = 204; - var OneMinusSrcAlphaFactor = 205; - var DstAlphaFactor = 206; - var OneMinusDstAlphaFactor = 207; - var DstColorFactor = 208; - var OneMinusDstColorFactor = 209; - var SrcAlphaSaturateFactor = 210; - var NeverDepth = 0; - var AlwaysDepth = 1; - var LessDepth = 2; - var LessEqualDepth = 3; - var EqualDepth = 4; - var GreaterEqualDepth = 5; - var GreaterDepth = 6; - var NotEqualDepth = 7; - var MultiplyOperation = 0; - var MixOperation = 1; - var AddOperation = 2; - var NoToneMapping = 0; - var LinearToneMapping = 1; - var ReinhardToneMapping = 2; - var Uncharted2ToneMapping = 3; - var CineonToneMapping = 4; - var ACESFilmicToneMapping = 5; - - var UVMapping = 300; - var CubeReflectionMapping = 301; - var CubeRefractionMapping = 302; - var EquirectangularReflectionMapping = 303; - var EquirectangularRefractionMapping = 304; - var SphericalReflectionMapping = 305; - var CubeUVReflectionMapping = 306; - var CubeUVRefractionMapping = 307; - var RepeatWrapping = 1000; - var ClampToEdgeWrapping = 1001; - var MirroredRepeatWrapping = 1002; - var NearestFilter = 1003; - var NearestMipMapNearestFilter = 1004; - var NearestMipMapLinearFilter = 1005; - var LinearFilter = 1006; - var LinearMipMapNearestFilter = 1007; - var LinearMipMapLinearFilter = 1008; - var UnsignedByteType = 1009; - var ByteType = 1010; - var ShortType = 1011; - var UnsignedShortType = 1012; - var IntType = 1013; - var UnsignedIntType = 1014; - var FloatType = 1015; - var HalfFloatType = 1016; - var UnsignedShort4444Type = 1017; - var UnsignedShort5551Type = 1018; - var UnsignedShort565Type = 1019; - var UnsignedInt248Type = 1020; - var AlphaFormat = 1021; - var RGBFormat = 1022; - var RGBAFormat = 1023; - var LuminanceFormat = 1024; - var LuminanceAlphaFormat = 1025; - var RGBEFormat = RGBAFormat; - var DepthFormat = 1026; - var DepthStencilFormat = 1027; - var RedFormat = 1028; - var RGB_S3TC_DXT1_Format = 33776; - var RGBA_S3TC_DXT1_Format = 33777; - var RGBA_S3TC_DXT3_Format = 33778; - var RGBA_S3TC_DXT5_Format = 33779; - var RGB_PVRTC_4BPPV1_Format = 35840; - var RGB_PVRTC_2BPPV1_Format = 35841; - var RGBA_PVRTC_4BPPV1_Format = 35842; - var RGBA_PVRTC_2BPPV1_Format = 35843; - var RGB_ETC1_Format = 36196; - var RGBA_ASTC_4x4_Format = 37808; - var RGBA_ASTC_5x4_Format = 37809; - var RGBA_ASTC_5x5_Format = 37810; - var RGBA_ASTC_6x5_Format = 37811; - var RGBA_ASTC_6x6_Format = 37812; - var RGBA_ASTC_8x5_Format = 37813; - var RGBA_ASTC_8x6_Format = 37814; - var RGBA_ASTC_8x8_Format = 37815; - var RGBA_ASTC_10x5_Format = 37816; - var RGBA_ASTC_10x6_Format = 37817; - var RGBA_ASTC_10x8_Format = 37818; - var RGBA_ASTC_10x10_Format = 37819; - var RGBA_ASTC_12x10_Format = 37820; - var RGBA_ASTC_12x12_Format = 37821; - var LoopOnce = 2200; - var LoopRepeat = 2201; - var LoopPingPong = 2202; - var InterpolateDiscrete = 2300; - var InterpolateLinear = 2301; - var InterpolateSmooth = 2302; - var ZeroCurvatureEnding = 2400; - var ZeroSlopeEnding = 2401; - var WrapAroundEnding = 2402; - var TrianglesDrawMode = 0; - var TriangleStripDrawMode = 1; - var TriangleFanDrawMode = 2; - var LinearEncoding = 3000; - var sRGBEncoding = 3001; - var GammaEncoding = 3007; - var RGBEEncoding = 3002; - var LogLuvEncoding = 3003; - var RGBM7Encoding = 3004; - var RGBM16Encoding = 3005; - var RGBDEncoding = 3006; - var BasicDepthPacking = 3200; - var RGBADepthPacking = 3201; - var TangentSpaceNormalMap = 0; - var ObjectSpaceNormalMap = 1; - - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - */ - - var _Math = { + clone() { + return new this.constructor(this.x, this.y); + } - DEG2RAD: Math.PI / 180, - RAD2DEG: 180 / Math.PI, + copy(v) { + this.x = v.x; + this.y = v.y; + return this; + } - generateUUID: ( function () { + add(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'); + return this.addVectors(v, w); + } - // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 + this.x += v.x; + this.y += v.y; + return this; + } - var lut = []; + addScalar(s) { + this.x += s; + this.y += s; + return this; + } - for ( var i = 0; i < 256; i ++ ) { + addVectors(a, b) { + this.x = a.x + b.x; + this.y = a.y + b.y; + return this; + } - lut[ i ] = ( i < 16 ? '0' : '' ) + ( i ).toString( 16 ); + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + return this; + } + sub(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'); + return this.subVectors(v, w); } - return function generateUUID() { + this.x -= v.x; + this.y -= v.y; + return this; + } - var d0 = Math.random() * 0xffffffff | 0; - var d1 = Math.random() * 0xffffffff | 0; - var d2 = Math.random() * 0xffffffff | 0; - var d3 = Math.random() * 0xffffffff | 0; - var uuid = lut[ d0 & 0xff ] + lut[ d0 >> 8 & 0xff ] + lut[ d0 >> 16 & 0xff ] + lut[ d0 >> 24 & 0xff ] + '-' + - lut[ d1 & 0xff ] + lut[ d1 >> 8 & 0xff ] + '-' + lut[ d1 >> 16 & 0x0f | 0x40 ] + lut[ d1 >> 24 & 0xff ] + '-' + - lut[ d2 & 0x3f | 0x80 ] + lut[ d2 >> 8 & 0xff ] + '-' + lut[ d2 >> 16 & 0xff ] + lut[ d2 >> 24 & 0xff ] + - lut[ d3 & 0xff ] + lut[ d3 >> 8 & 0xff ] + lut[ d3 >> 16 & 0xff ] + lut[ d3 >> 24 & 0xff ]; + subScalar(s) { + this.x -= s; + this.y -= s; + return this; + } - // .toUpperCase() here flattens concatenated strings to save heap memory space. - return uuid.toUpperCase(); + subVectors(a, b) { + this.x = a.x - b.x; + this.y = a.y - b.y; + return this; + } - }; + multiply(v) { + this.x *= v.x; + this.y *= v.y; + return this; + } - } )(), + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + return this; + } - clamp: function ( value, min, max ) { + divide(v) { + this.x /= v.x; + this.y /= v.y; + return this; + } - return Math.max( min, Math.min( max, value ) ); + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } - }, + applyMatrix3(m) { + const x = this.x, + y = this.y; + const e = m.elements; + this.x = e[0] * x + e[3] * y + e[6]; + this.y = e[1] * x + e[4] * y + e[7]; + return this; + } - // compute euclidian modulo of m % n - // https://en.wikipedia.org/wiki/Modulo_operation + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + return this; + } - euclideanModulo: function ( n, m ) { + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + return this; + } - return ( ( n % m ) + m ) % m; + clamp(min, max) { + // assumes min < max, componentwise + this.x = Math.max(min.x, Math.min(max.x, this.x)); + this.y = Math.max(min.y, Math.min(max.y, this.y)); + return this; + } - }, + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + return this; + } - // Linear mapping from range to range + clampLength(min, max) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length))); + } - mapLinear: function ( x, a1, a2, b1, b2 ) { + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + return this; + } - return b1 + ( x - a1 ) * ( b2 - b1 ) / ( a2 - a1 ); + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + return this; + } - }, + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + return this; + } - // https://en.wikipedia.org/wiki/Linear_interpolation + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + return this; + } - lerp: function ( x, y, t ) { + negate() { + this.x = -this.x; + this.y = -this.y; + return this; + } - return ( 1 - t ) * x + t * y; + dot(v) { + return this.x * v.x + this.y * v.y; + } - }, + cross(v) { + return this.x * v.y - this.y * v.x; + } - // http://en.wikipedia.org/wiki/Smoothstep + lengthSq() { + return this.x * this.x + this.y * this.y; + } - smoothstep: function ( x, min, max ) { + length() { + return Math.sqrt(this.x * this.x + this.y * this.y); + } - if ( x <= min ) return 0; - if ( x >= max ) return 1; + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y); + } - x = ( x - min ) / ( max - min ); + normalize() { + return this.divideScalar(this.length() || 1); + } - return x * x * ( 3 - 2 * x ); + angle() { + // computes the angle in radians with respect to the positive x-axis + const angle = Math.atan2(-this.y, -this.x) + Math.PI; + return angle; + } - }, + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } - smootherstep: function ( x, min, max ) { + distanceToSquared(v) { + const dx = this.x - v.x, + dy = this.y - v.y; + return dx * dx + dy * dy; + } - if ( x <= min ) return 0; - if ( x >= max ) return 1; + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y); + } - x = ( x - min ) / ( max - min ); + setLength(length) { + return this.normalize().multiplyScalar(length); + } - return x * x * x * ( x * ( x * 6 - 15 ) + 10 ); + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + return this; + } - }, + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + return this; + } - // Random integer from interval + equals(v) { + return v.x === this.x && v.y === this.y; + } - randInt: function ( low, high ) { + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + return this; + } - return low + Math.floor( Math.random() * ( high - low + 1 ) ); + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + return array; + } - }, + fromBufferAttribute(attribute, index, offset) { + if (offset !== undefined) { + console.warn('THREE.Vector2: offset has been removed from .fromBufferAttribute().'); + } - // Random float from interval + this.x = attribute.getX(index); + this.y = attribute.getY(index); + return this; + } - randFloat: function ( low, high ) { + rotateAround(center, angle) { + const c = Math.cos(angle), + s = Math.sin(angle); + const x = this.x - center.x; + const y = this.y - center.y; + this.x = x * c - y * s + center.x; + this.y = x * s + y * c + center.y; + return this; + } - return low + Math.random() * ( high - low ); + random() { + this.x = Math.random(); + this.y = Math.random(); + return this; + } - }, + } - // Random float from <-range/2, range/2> interval + Vector2.prototype.isVector2 = true; - randFloatSpread: function ( range ) { + class Matrix3 { + constructor() { + this.elements = [1, 0, 0, 0, 1, 0, 0, 0, 1]; - return range * ( 0.5 - Math.random() ); + if (arguments.length > 0) { + console.error('THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.'); + } + } - }, + set(n11, n12, n13, n21, n22, n23, n31, n32, n33) { + const te = this.elements; + te[0] = n11; + te[1] = n21; + te[2] = n31; + te[3] = n12; + te[4] = n22; + te[5] = n32; + te[6] = n13; + te[7] = n23; + te[8] = n33; + return this; + } - degToRad: function ( degrees ) { + identity() { + this.set(1, 0, 0, 0, 1, 0, 0, 0, 1); + return this; + } - return degrees * _Math.DEG2RAD; + copy(m) { + const te = this.elements; + const me = m.elements; + te[0] = me[0]; + te[1] = me[1]; + te[2] = me[2]; + te[3] = me[3]; + te[4] = me[4]; + te[5] = me[5]; + te[6] = me[6]; + te[7] = me[7]; + te[8] = me[8]; + return this; + } - }, + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrix3Column(this, 0); + yAxis.setFromMatrix3Column(this, 1); + zAxis.setFromMatrix3Column(this, 2); + return this; + } - radToDeg: function ( radians ) { + setFromMatrix4(m) { + const me = m.elements; + this.set(me[0], me[4], me[8], me[1], me[5], me[9], me[2], me[6], me[10]); + return this; + } - return radians * _Math.RAD2DEG; + multiply(m) { + return this.multiplyMatrices(this, m); + } - }, + premultiply(m) { + return this.multiplyMatrices(m, this); + } - isPowerOfTwo: function ( value ) { + multiplyMatrices(a, b) { + const ae = a.elements; + const be = b.elements; + const te = this.elements; + const a11 = ae[0], + a12 = ae[3], + a13 = ae[6]; + const a21 = ae[1], + a22 = ae[4], + a23 = ae[7]; + const a31 = ae[2], + a32 = ae[5], + a33 = ae[8]; + const b11 = be[0], + b12 = be[3], + b13 = be[6]; + const b21 = be[1], + b22 = be[4], + b23 = be[7]; + const b31 = be[2], + b32 = be[5], + b33 = be[8]; + te[0] = a11 * b11 + a12 * b21 + a13 * b31; + te[3] = a11 * b12 + a12 * b22 + a13 * b32; + te[6] = a11 * b13 + a12 * b23 + a13 * b33; + te[1] = a21 * b11 + a22 * b21 + a23 * b31; + te[4] = a21 * b12 + a22 * b22 + a23 * b32; + te[7] = a21 * b13 + a22 * b23 + a23 * b33; + te[2] = a31 * b11 + a32 * b21 + a33 * b31; + te[5] = a31 * b12 + a32 * b22 + a33 * b32; + te[8] = a31 * b13 + a32 * b23 + a33 * b33; + return this; + } - return ( value & ( value - 1 ) ) === 0 && value !== 0; + multiplyScalar(s) { + const te = this.elements; + te[0] *= s; + te[3] *= s; + te[6] *= s; + te[1] *= s; + te[4] *= s; + te[7] *= s; + te[2] *= s; + te[5] *= s; + te[8] *= s; + return this; + } + + determinant() { + const te = this.elements; + const a = te[0], + b = te[1], + c = te[2], + d = te[3], + e = te[4], + f = te[5], + g = te[6], + h = te[7], + i = te[8]; + return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; + } - }, + invert() { + const te = this.elements, + n11 = te[0], + n21 = te[1], + n31 = te[2], + n12 = te[3], + n22 = te[4], + n32 = te[5], + n13 = te[6], + n23 = te[7], + n33 = te[8], + t11 = n33 * n22 - n32 * n23, + t12 = n32 * n13 - n33 * n12, + t13 = n23 * n12 - n22 * n13, + det = n11 * t11 + n21 * t12 + n31 * t13; + if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te[0] = t11 * detInv; + te[1] = (n31 * n23 - n33 * n21) * detInv; + te[2] = (n32 * n21 - n31 * n22) * detInv; + te[3] = t12 * detInv; + te[4] = (n33 * n11 - n31 * n13) * detInv; + te[5] = (n31 * n12 - n32 * n11) * detInv; + te[6] = t13 * detInv; + te[7] = (n21 * n13 - n23 * n11) * detInv; + te[8] = (n22 * n11 - n21 * n12) * detInv; + return this; + } + + transpose() { + let tmp; + const m = this.elements; + tmp = m[1]; + m[1] = m[3]; + m[3] = tmp; + tmp = m[2]; + m[2] = m[6]; + m[6] = tmp; + tmp = m[5]; + m[5] = m[7]; + m[7] = tmp; + return this; + } + + getNormalMatrix(matrix4) { + return this.setFromMatrix4(matrix4).invert().transpose(); + } + + transposeIntoArray(r) { + const m = this.elements; + r[0] = m[0]; + r[1] = m[3]; + r[2] = m[6]; + r[3] = m[1]; + r[4] = m[4]; + r[5] = m[7]; + r[6] = m[2]; + r[7] = m[5]; + r[8] = m[8]; + return this; + } + + setUvTransform(tx, ty, sx, sy, rotation, cx, cy) { + const c = Math.cos(rotation); + const s = Math.sin(rotation); + this.set(sx * c, sx * s, -sx * (c * cx + s * cy) + cx + tx, -sy * s, sy * c, -sy * (-s * cx + c * cy) + cy + ty, 0, 0, 1); + return this; + } + + scale(sx, sy) { + const te = this.elements; + te[0] *= sx; + te[3] *= sx; + te[6] *= sx; + te[1] *= sy; + te[4] *= sy; + te[7] *= sy; + return this; + } + + rotate(theta) { + const c = Math.cos(theta); + const s = Math.sin(theta); + const te = this.elements; + const a11 = te[0], + a12 = te[3], + a13 = te[6]; + const a21 = te[1], + a22 = te[4], + a23 = te[7]; + te[0] = c * a11 + s * a21; + te[3] = c * a12 + s * a22; + te[6] = c * a13 + s * a23; + te[1] = -s * a11 + c * a21; + te[4] = -s * a12 + c * a22; + te[7] = -s * a13 + c * a23; + return this; + } + + translate(tx, ty) { + const te = this.elements; + te[0] += tx * te[2]; + te[3] += tx * te[5]; + te[6] += tx * te[8]; + te[1] += ty * te[2]; + te[4] += ty * te[5]; + te[7] += ty * te[8]; + return this; + } + + equals(matrix) { + const te = this.elements; + const me = matrix.elements; - ceilPowerOfTwo: function ( value ) { + for (let i = 0; i < 9; i++) { + if (te[i] !== me[i]) return false; + } - return Math.pow( 2, Math.ceil( Math.log( value ) / Math.LN2 ) ); + return true; + } - }, + fromArray(array, offset = 0) { + for (let i = 0; i < 9; i++) { + this.elements[i] = array[i + offset]; + } - floorPowerOfTwo: function ( value ) { + return this; + } - return Math.pow( 2, Math.floor( Math.log( value ) / Math.LN2 ) ); + toArray(array = [], offset = 0) { + const te = this.elements; + array[offset] = te[0]; + array[offset + 1] = te[1]; + array[offset + 2] = te[2]; + array[offset + 3] = te[3]; + array[offset + 4] = te[4]; + array[offset + 5] = te[5]; + array[offset + 6] = te[6]; + array[offset + 7] = te[7]; + array[offset + 8] = te[8]; + return array; + } + clone() { + return new this.constructor().fromArray(this.elements); } - }; + } - /** - * @author mrdoob / http://mrdoob.com/ - * @author philogb / http://blog.thejit.org/ - * @author egraether / http://egraether.com/ - * @author zz85 / http://www.lab4games.net/zz85/blog - */ + Matrix3.prototype.isMatrix3 = true; - function Vector2( x, y ) { + let _canvas; - this.x = x || 0; - this.y = y || 0; + class ImageUtils { + static getDataURL(image) { + if (/^data:/i.test(image.src)) { + return image.src; + } - } + if (typeof HTMLCanvasElement == 'undefined') { + return image.src; + } - Object.defineProperties( Vector2.prototype, { + let canvas; - "width": { + if (image instanceof HTMLCanvasElement) { + canvas = image; + } else { + if (_canvas === undefined) _canvas = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas'); + _canvas.width = image.width; + _canvas.height = image.height; - get: function () { + const context = _canvas.getContext('2d'); - return this.x; + if (image instanceof ImageData) { + context.putImageData(image, 0, 0); + } else { + context.drawImage(image, 0, 0, image.width, image.height); + } - }, + canvas = _canvas; + } + + if (canvas.width > 2048 || canvas.height > 2048) { + console.warn('THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons', image); + return canvas.toDataURL('image/jpeg', 0.6); + } else { + return canvas.toDataURL('image/png'); + } + } + + } + + let textureId = 0; + + class Texture extends EventDispatcher { + constructor(image = Texture.DEFAULT_IMAGE, mapping = Texture.DEFAULT_MAPPING, wrapS = ClampToEdgeWrapping, wrapT = ClampToEdgeWrapping, magFilter = LinearFilter, minFilter = LinearMipmapLinearFilter, format = RGBAFormat, type = UnsignedByteType, anisotropy = 1, encoding = LinearEncoding) { + super(); + Object.defineProperty(this, 'id', { + value: textureId++ + }); + this.uuid = generateUUID(); + this.name = ''; + this.image = image; + this.mipmaps = []; + this.mapping = mapping; + this.wrapS = wrapS; + this.wrapT = wrapT; + this.magFilter = magFilter; + this.minFilter = minFilter; + this.anisotropy = anisotropy; + this.format = format; + this.internalFormat = null; + this.type = type; + this.offset = new Vector2(0, 0); + this.repeat = new Vector2(1, 1); + this.center = new Vector2(0, 0); + this.rotation = 0; + this.matrixAutoUpdate = true; + this.matrix = new Matrix3(); + this.generateMipmaps = true; + this.premultiplyAlpha = false; + this.flipY = true; + this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml) + // Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap. + // + // Also changing the encoding after already used by a Material will not automatically make the Material + // update. You need to explicitly call Material.needsUpdate to trigger it to recompile. - set: function ( value ) { + this.encoding = encoding; + this.version = 0; + this.onUpdate = null; + this.isRenderTargetTexture = false; + } + + updateMatrix() { + this.matrix.setUvTransform(this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y); + } + + clone() { + return new this.constructor().copy(this); + } + + copy(source) { + this.name = source.name; + this.image = source.image; + this.mipmaps = source.mipmaps.slice(0); + this.mapping = source.mapping; + this.wrapS = source.wrapS; + this.wrapT = source.wrapT; + this.magFilter = source.magFilter; + this.minFilter = source.minFilter; + this.anisotropy = source.anisotropy; + this.format = source.format; + this.internalFormat = source.internalFormat; + this.type = source.type; + this.offset.copy(source.offset); + this.repeat.copy(source.repeat); + this.center.copy(source.center); + this.rotation = source.rotation; + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrix.copy(source.matrix); + this.generateMipmaps = source.generateMipmaps; + this.premultiplyAlpha = source.premultiplyAlpha; + this.flipY = source.flipY; + this.unpackAlignment = source.unpackAlignment; + this.encoding = source.encoding; + return this; + } - this.x = value; + toJSON(meta) { + const isRootObject = meta === undefined || typeof meta === 'string'; + if (!isRootObject && meta.textures[this.uuid] !== undefined) { + return meta.textures[this.uuid]; } - }, + const output = { + metadata: { + version: 4.5, + type: 'Texture', + generator: 'Texture.toJSON' + }, + uuid: this.uuid, + name: this.name, + mapping: this.mapping, + repeat: [this.repeat.x, this.repeat.y], + offset: [this.offset.x, this.offset.y], + center: [this.center.x, this.center.y], + rotation: this.rotation, + wrap: [this.wrapS, this.wrapT], + format: this.format, + type: this.type, + encoding: this.encoding, + minFilter: this.minFilter, + magFilter: this.magFilter, + anisotropy: this.anisotropy, + flipY: this.flipY, + premultiplyAlpha: this.premultiplyAlpha, + unpackAlignment: this.unpackAlignment + }; - "height": { + if (this.image !== undefined) { + // TODO: Move to THREE.Image + const image = this.image; - get: function () { + if (image.uuid === undefined) { + image.uuid = generateUUID(); // UGH + } - return this.y; + if (!isRootObject && meta.images[image.uuid] === undefined) { + let url; - }, + if (Array.isArray(image)) { + // process array of images e.g. CubeTexture + url = []; + + for (let i = 0, l = image.length; i < l; i++) { + // check cube texture with data textures + if (image[i].isDataTexture) { + url.push(serializeImage(image[i].image)); + } else { + url.push(serializeImage(image[i])); + } + } + } else { + // process single image + url = serializeImage(image); + } - set: function ( value ) { + meta.images[image.uuid] = { + uuid: image.uuid, + url: url + }; + } - this.y = value; + output.image = image.uuid; + } + if (!isRootObject) { + meta.textures[this.uuid] = output; } + return output; } - } ); + dispose() { + this.dispatchEvent({ + type: 'dispose' + }); + } - Object.assign( Vector2.prototype, { + transformUv(uv) { + if (this.mapping !== UVMapping) return uv; + uv.applyMatrix3(this.matrix); - isVector2: true, + if (uv.x < 0 || uv.x > 1) { + switch (this.wrapS) { + case RepeatWrapping: + uv.x = uv.x - Math.floor(uv.x); + break; - set: function ( x, y ) { + case ClampToEdgeWrapping: + uv.x = uv.x < 0 ? 0 : 1; + break; - this.x = x; - this.y = y; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.x) % 2) === 1) { + uv.x = Math.ceil(uv.x) - uv.x; + } else { + uv.x = uv.x - Math.floor(uv.x); + } - return this; + break; + } + } - }, + if (uv.y < 0 || uv.y > 1) { + switch (this.wrapT) { + case RepeatWrapping: + uv.y = uv.y - Math.floor(uv.y); + break; - setScalar: function ( scalar ) { + case ClampToEdgeWrapping: + uv.y = uv.y < 0 ? 0 : 1; + break; - this.x = scalar; - this.y = scalar; + case MirroredRepeatWrapping: + if (Math.abs(Math.floor(uv.y) % 2) === 1) { + uv.y = Math.ceil(uv.y) - uv.y; + } else { + uv.y = uv.y - Math.floor(uv.y); + } - return this; + break; + } + } - }, + if (this.flipY) { + uv.y = 1 - uv.y; + } - setX: function ( x ) { + return uv; + } - this.x = x; + set needsUpdate(value) { + if (value === true) this.version++; + } - return this; + } - }, + Texture.DEFAULT_IMAGE = undefined; + Texture.DEFAULT_MAPPING = UVMapping; + Texture.prototype.isTexture = true; - setY: function ( y ) { + function serializeImage(image) { + if (typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement || typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap) { + // default images + return ImageUtils.getDataURL(image); + } else { + if (image.data) { + // images of DataTexture + return { + data: Array.prototype.slice.call(image.data), + width: image.width, + height: image.height, + type: image.data.constructor.name + }; + } else { + console.warn('THREE.Texture: Unable to serialize Texture.'); + return {}; + } + } + } + class Vector4 { + constructor(x = 0, y = 0, z = 0, w = 1) { + this.x = x; this.y = y; + this.z = z; + this.w = w; + } - return this; + get width() { + return this.z; + } - }, + set width(value) { + this.z = value; + } - setComponent: function ( index, value ) { + get height() { + return this.w; + } - switch ( index ) { + set height(value) { + this.w = value; + } - case 0: this.x = value; break; - case 1: this.y = value; break; - default: throw new Error( 'index is out of range: ' + index ); + set(x, y, z, w) { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + return this; + } - } + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + this.w = scalar; + return this; + } + setX(x) { + this.x = x; return this; + } - }, + setY(y) { + this.y = y; + return this; + } - getComponent: function ( index ) { + setZ(z) { + this.z = z; + return this; + } - switch ( index ) { + setW(w) { + this.w = w; + return this; + } - case 0: return this.x; - case 1: return this.y; - default: throw new Error( 'index is out of range: ' + index ); + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; - } + case 1: + this.y = value; + break; - }, + case 2: + this.z = value; + break; - clone: function () { + case 3: + this.w = value; + break; - return new this.constructor( this.x, this.y ); + default: + throw new Error('index is out of range: ' + index); + } - }, + return this; + } - copy: function ( v ) { + getComponent(index) { + switch (index) { + case 0: + return this.x; - this.x = v.x; - this.y = v.y; + case 1: + return this.y; - return this; + case 2: + return this.z; - }, + case 3: + return this.w; - add: function ( v, w ) { + default: + throw new Error('index is out of range: ' + index); + } + } - if ( w !== undefined ) { + clone() { + return new this.constructor(this.x, this.y, this.z, this.w); + } - console.warn( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); - return this.addVectors( v, w ); + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + this.w = v.w !== undefined ? v.w : 1; + return this; + } + add(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'); + return this.addVectors(v, w); } this.x += v.x; this.y += v.y; - + this.z += v.z; + this.w += v.w; return this; + } - }, - - addScalar: function ( s ) { - + addScalar(s) { this.x += s; this.y += s; - + this.z += s; + this.w += s; return this; + } - }, - - addVectors: function ( a, b ) { - + addVectors(a, b) { this.x = a.x + b.x; this.y = a.y + b.y; - + this.z = a.z + b.z; + this.w = a.w + b.w; return this; + } - }, - - addScaledVector: function ( v, s ) { - + addScaledVector(v, s) { this.x += v.x * s; this.y += v.y * s; - + this.z += v.z * s; + this.w += v.w * s; return this; + } - }, - - sub: function ( v, w ) { - - if ( w !== undefined ) { - - console.warn( 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); - return this.subVectors( v, w ); - + sub(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'); + return this.subVectors(v, w); } this.x -= v.x; this.y -= v.y; - + this.z -= v.z; + this.w -= v.w; return this; + } - }, - - subScalar: function ( s ) { - + subScalar(s) { this.x -= s; this.y -= s; - + this.z -= s; + this.w -= s; return this; + } - }, - - subVectors: function ( a, b ) { - + subVectors(a, b) { this.x = a.x - b.x; this.y = a.y - b.y; - + this.z = a.z - b.z; + this.w = a.w - b.w; return this; + } - }, - - multiply: function ( v ) { - + multiply(v) { this.x *= v.x; this.y *= v.y; - + this.z *= v.z; + this.w *= v.w; return this; + } - }, - - multiplyScalar: function ( scalar ) { - + multiplyScalar(scalar) { this.x *= scalar; this.y *= scalar; + this.z *= scalar; + this.w *= scalar; + return this; + } + applyMatrix4(m) { + const x = this.x, + y = this.y, + z = this.z, + w = this.w; + const e = m.elements; + this.x = e[0] * x + e[4] * y + e[8] * z + e[12] * w; + this.y = e[1] * x + e[5] * y + e[9] * z + e[13] * w; + this.z = e[2] * x + e[6] * y + e[10] * z + e[14] * w; + this.w = e[3] * x + e[7] * y + e[11] * z + e[15] * w; return this; + } - }, + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } - divide: function ( v ) { + setAxisAngleFromQuaternion(q) { + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm + // q is assumed to be normalized + this.w = 2 * Math.acos(q.w); + const s = Math.sqrt(1 - q.w * q.w); - this.x /= v.x; - this.y /= v.y; + if (s < 0.0001) { + this.x = 1; + this.y = 0; + this.z = 0; + } else { + this.x = q.x / s; + this.y = q.y / s; + this.z = q.z / s; + } return this; + } - }, + setAxisAngleFromRotationMatrix(m) { + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + let angle, x, y, z; // variables for result + + const epsilon = 0.01, + // margin to allow for rounding errors + epsilon2 = 0.1, + // margin to distinguish between 0 and 180 degrees + te = m.elements, + m11 = te[0], + m12 = te[4], + m13 = te[8], + m21 = te[1], + m22 = te[5], + m23 = te[9], + m31 = te[2], + m32 = te[6], + m33 = te[10]; + + if (Math.abs(m12 - m21) < epsilon && Math.abs(m13 - m31) < epsilon && Math.abs(m23 - m32) < epsilon) { + // singularity found + // first check for identity matrix which must have +1 for all terms + // in leading diagonal and zero in other terms + if (Math.abs(m12 + m21) < epsilon2 && Math.abs(m13 + m31) < epsilon2 && Math.abs(m23 + m32) < epsilon2 && Math.abs(m11 + m22 + m33 - 3) < epsilon2) { + // this singularity is identity matrix so angle = 0 + this.set(1, 0, 0, 0); + return this; // zero angle, arbitrary axis + } // otherwise this singularity is angle = 180 - divideScalar: function ( scalar ) { - return this.multiplyScalar( 1 / scalar ); + angle = Math.PI; + const xx = (m11 + 1) / 2; + const yy = (m22 + 1) / 2; + const zz = (m33 + 1) / 2; + const xy = (m12 + m21) / 4; + const xz = (m13 + m31) / 4; + const yz = (m23 + m32) / 4; + + if (xx > yy && xx > zz) { + // m11 is the largest diagonal term + if (xx < epsilon) { + x = 0; + y = 0.707106781; + z = 0.707106781; + } else { + x = Math.sqrt(xx); + y = xy / x; + z = xz / x; + } + } else if (yy > zz) { + // m22 is the largest diagonal term + if (yy < epsilon) { + x = 0.707106781; + y = 0; + z = 0.707106781; + } else { + y = Math.sqrt(yy); + x = xy / y; + z = yz / y; + } + } else { + // m33 is the largest diagonal term so base result on this + if (zz < epsilon) { + x = 0.707106781; + y = 0.707106781; + z = 0; + } else { + z = Math.sqrt(zz); + x = xz / z; + y = yz / z; + } + } - }, + this.set(x, y, z, angle); + return this; // return 180 deg rotation + } // as we have reached here there are no singularities so we can handle normally - applyMatrix3: function ( m ) { - var x = this.x, y = this.y; - var e = m.elements; + let s = Math.sqrt((m32 - m23) * (m32 - m23) + (m13 - m31) * (m13 - m31) + (m21 - m12) * (m21 - m12)); // used to normalize - this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ]; - this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ]; + if (Math.abs(s) < 0.001) s = 1; // prevent divide by zero, should not happen if matrix is orthogonal and should be + // caught by singularity test above, but I've left it in just in case + this.x = (m32 - m23) / s; + this.y = (m13 - m31) / s; + this.z = (m21 - m12) / s; + this.w = Math.acos((m11 + m22 + m33 - 1) / 2); return this; + } - }, - - min: function ( v ) { - - this.x = Math.min( this.x, v.x ); - this.y = Math.min( this.y, v.y ); - + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + this.w = Math.min(this.w, v.w); return this; + } - }, - - max: function ( v ) { - - this.x = Math.max( this.x, v.x ); - this.y = Math.max( this.y, v.y ); - + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + this.w = Math.max(this.w, v.w); return this; + } - }, - - clamp: function ( min, max ) { - + clamp(min, max) { // assumes min < max, componentwise - - this.x = Math.max( min.x, Math.min( max.x, this.x ) ); - this.y = Math.max( min.y, Math.min( max.y, this.y ) ); - + this.x = Math.max(min.x, Math.min(max.x, this.x)); + this.y = Math.max(min.y, Math.min(max.y, this.y)); + this.z = Math.max(min.z, Math.min(max.z, this.z)); + this.w = Math.max(min.w, Math.min(max.w, this.w)); return this; + } - }, - - clampScalar: function () { + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + this.w = Math.max(minVal, Math.min(maxVal, this.w)); + return this; + } - var min = new Vector2(); - var max = new Vector2(); + clampLength(min, max) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length))); + } - return function clampScalar( minVal, maxVal ) { + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + this.w = Math.floor(this.w); + return this; + } - min.set( minVal, minVal ); - max.set( maxVal, maxVal ); + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + this.w = Math.ceil(this.w); + return this; + } - return this.clamp( min, max ); + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + this.w = Math.round(this.w); + return this; + } - }; + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z); + this.w = this.w < 0 ? Math.ceil(this.w) : Math.floor(this.w); + return this; + } - }(), + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; + this.w = -this.w; + return this; + } - clampLength: function ( min, max ) { + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; + } - var length = this.length(); + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; + } - return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); + } - }, + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z) + Math.abs(this.w); + } - floor: function () { + normalize() { + return this.divideScalar(this.length() || 1); + } - this.x = Math.floor( this.x ); - this.y = Math.floor( this.y ); + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; + this.w += (v.w - this.w) * alpha; return this; + } - }, - - ceil: function () { + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + this.w = v1.w + (v2.w - v1.w) * alpha; + return this; + } - this.x = Math.ceil( this.x ); - this.y = Math.ceil( this.y ); + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z && v.w === this.w; + } + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + this.w = array[offset + 3]; return this; + } - }, + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + array[offset + 3] = this.w; + return array; + } - round: function () { + fromBufferAttribute(attribute, index, offset) { + if (offset !== undefined) { + console.warn('THREE.Vector4: offset has been removed from .fromBufferAttribute().'); + } - this.x = Math.round( this.x ); - this.y = Math.round( this.y ); + this.x = attribute.getX(index); + this.y = attribute.getY(index); + this.z = attribute.getZ(index); + this.w = attribute.getW(index); + return this; + } + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + this.w = Math.random(); return this; + } - }, + } - roundToZero: function () { + Vector4.prototype.isVector4 = true; - this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); - this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); + /* + In options, we can specify: + * Texture parameters for an auto-generated target texture + * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers + */ - return this; + class WebGLRenderTarget extends EventDispatcher { + constructor(width, height, options = {}) { + super(); + this.width = width; + this.height = height; + this.depth = 1; + this.scissor = new Vector4(0, 0, width, height); + this.scissorTest = false; + this.viewport = new Vector4(0, 0, width, height); + this.texture = new Texture(undefined, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding); + this.texture.isRenderTargetTexture = true; + this.texture.image = { + width: width, + height: height, + depth: 1 + }; + this.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false; + this.texture.internalFormat = options.internalFormat !== undefined ? options.internalFormat : null; + this.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter; + this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true; + this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : false; + this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null; + } + + setTexture(texture) { + texture.image = { + width: this.width, + height: this.height, + depth: this.depth + }; + this.texture = texture; + } - }, + setSize(width, height, depth = 1) { + if (this.width !== width || this.height !== height || this.depth !== depth) { + this.width = width; + this.height = height; + this.depth = depth; + this.texture.image.width = width; + this.texture.image.height = height; + this.texture.image.depth = depth; + this.dispose(); + } - negate: function () { + this.viewport.set(0, 0, width, height); + this.scissor.set(0, 0, width, height); + } + + clone() { + return new this.constructor().copy(this); + } - this.x = - this.x; - this.y = - this.y; + copy(source) { + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + this.viewport.copy(source.viewport); + this.texture = source.texture.clone(); + this.texture.image = { ...this.texture.image + }; // See #20328. + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.depthTexture = source.depthTexture; return this; + } - }, + dispose() { + this.dispatchEvent({ + type: 'dispose' + }); + } - dot: function ( v ) { + } - return this.x * v.x + this.y * v.y; + WebGLRenderTarget.prototype.isWebGLRenderTarget = true; - }, + class WebGLMultipleRenderTargets extends WebGLRenderTarget { + constructor(width, height, count) { + super(width, height); + const texture = this.texture; + this.texture = []; - cross: function ( v ) { + for (let i = 0; i < count; i++) { + this.texture[i] = texture.clone(); + } + } - return this.x * v.y - this.y * v.x; + setSize(width, height, depth = 1) { + if (this.width !== width || this.height !== height || this.depth !== depth) { + this.width = width; + this.height = height; + this.depth = depth; - }, + for (let i = 0, il = this.texture.length; i < il; i++) { + this.texture[i].image.width = width; + this.texture[i].image.height = height; + this.texture[i].image.depth = depth; + } - lengthSq: function () { + this.dispose(); + } - return this.x * this.x + this.y * this.y; + this.viewport.set(0, 0, width, height); + this.scissor.set(0, 0, width, height); + return this; + } - }, + copy(source) { + this.dispose(); + this.width = source.width; + this.height = source.height; + this.depth = source.depth; + this.viewport.set(0, 0, this.width, this.height); + this.scissor.set(0, 0, this.width, this.height); + this.depthBuffer = source.depthBuffer; + this.stencilBuffer = source.stencilBuffer; + this.depthTexture = source.depthTexture; + this.texture.length = 0; - length: function () { + for (let i = 0, il = source.texture.length; i < il; i++) { + this.texture[i] = source.texture[i].clone(); + } - return Math.sqrt( this.x * this.x + this.y * this.y ); + return this; + } - }, + } - manhattanLength: function () { + WebGLMultipleRenderTargets.prototype.isWebGLMultipleRenderTargets = true; - return Math.abs( this.x ) + Math.abs( this.y ); + class WebGLMultisampleRenderTarget extends WebGLRenderTarget { + constructor(width, height, options) { + super(width, height, options); + this.samples = 4; + } - }, + copy(source) { + super.copy.call(this, source); + this.samples = source.samples; + return this; + } - normalize: function () { + } - return this.divideScalar( this.length() || 1 ); + WebGLMultisampleRenderTarget.prototype.isWebGLMultisampleRenderTarget = true; - }, + class Quaternion { + constructor(x = 0, y = 0, z = 0, w = 1) { + this._x = x; + this._y = y; + this._z = z; + this._w = w; + } - angle: function () { + static slerp(qa, qb, qm, t) { + console.warn('THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.'); + return qm.slerpQuaternions(qa, qb, t); + } - // computes the angle in radians with respect to the positive x-axis + static slerpFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t) { + // fuzz-free, array-based Quaternion SLERP operation + let x0 = src0[srcOffset0 + 0], + y0 = src0[srcOffset0 + 1], + z0 = src0[srcOffset0 + 2], + w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1 + 0], + y1 = src1[srcOffset1 + 1], + z1 = src1[srcOffset1 + 2], + w1 = src1[srcOffset1 + 3]; + + if (t === 0) { + dst[dstOffset + 0] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + return; + } - var angle = Math.atan2( this.y, this.x ); + if (t === 1) { + dst[dstOffset + 0] = x1; + dst[dstOffset + 1] = y1; + dst[dstOffset + 2] = z1; + dst[dstOffset + 3] = w1; + return; + } - if ( angle < 0 ) angle += 2 * Math.PI; + if (w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1) { + let s = 1 - t; + const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, + dir = cos >= 0 ? 1 : -1, + sqrSin = 1 - cos * cos; // Skip the Slerp for tiny steps to avoid numeric problems: - return angle; + if (sqrSin > Number.EPSILON) { + const sin = Math.sqrt(sqrSin), + len = Math.atan2(sin, cos * dir); + s = Math.sin(s * len) / sin; + t = Math.sin(t * len) / sin; + } - }, + const tDir = t * dir; + x0 = x0 * s + x1 * tDir; + y0 = y0 * s + y1 * tDir; + z0 = z0 * s + z1 * tDir; + w0 = w0 * s + w1 * tDir; // Normalize in case we just did a lerp: - distanceTo: function ( v ) { + if (s === 1 - t) { + const f = 1 / Math.sqrt(x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0); + x0 *= f; + y0 *= f; + z0 *= f; + w0 *= f; + } + } - return Math.sqrt( this.distanceToSquared( v ) ); + dst[dstOffset] = x0; + dst[dstOffset + 1] = y0; + dst[dstOffset + 2] = z0; + dst[dstOffset + 3] = w0; + } - }, + static multiplyQuaternionsFlat(dst, dstOffset, src0, srcOffset0, src1, srcOffset1) { + const x0 = src0[srcOffset0]; + const y0 = src0[srcOffset0 + 1]; + const z0 = src0[srcOffset0 + 2]; + const w0 = src0[srcOffset0 + 3]; + const x1 = src1[srcOffset1]; + const y1 = src1[srcOffset1 + 1]; + const z1 = src1[srcOffset1 + 2]; + const w1 = src1[srcOffset1 + 3]; + dst[dstOffset] = x0 * w1 + w0 * x1 + y0 * z1 - z0 * y1; + dst[dstOffset + 1] = y0 * w1 + w0 * y1 + z0 * x1 - x0 * z1; + dst[dstOffset + 2] = z0 * w1 + w0 * z1 + x0 * y1 - y0 * x1; + dst[dstOffset + 3] = w0 * w1 - x0 * x1 - y0 * y1 - z0 * z1; + return dst; + } - distanceToSquared: function ( v ) { + get x() { + return this._x; + } - var dx = this.x - v.x, dy = this.y - v.y; - return dx * dx + dy * dy; + set x(value) { + this._x = value; - }, + this._onChangeCallback(); + } - manhattanDistanceTo: function ( v ) { + get y() { + return this._y; + } - return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ); + set y(value) { + this._y = value; - }, + this._onChangeCallback(); + } - setLength: function ( length ) { + get z() { + return this._z; + } - return this.normalize().multiplyScalar( length ); + set z(value) { + this._z = value; - }, + this._onChangeCallback(); + } - lerp: function ( v, alpha ) { + get w() { + return this._w; + } - this.x += ( v.x - this.x ) * alpha; - this.y += ( v.y - this.y ) * alpha; + set w(value) { + this._w = value; - return this; + this._onChangeCallback(); + } - }, + set(x, y, z, w) { + this._x = x; + this._y = y; + this._z = z; + this._w = w; - lerpVectors: function ( v1, v2, alpha ) { + this._onChangeCallback(); - return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + return this; + } - }, + clone() { + return new this.constructor(this._x, this._y, this._z, this._w); + } - equals: function ( v ) { + copy(quaternion) { + this._x = quaternion.x; + this._y = quaternion.y; + this._z = quaternion.z; + this._w = quaternion.w; - return ( ( v.x === this.x ) && ( v.y === this.y ) ); + this._onChangeCallback(); - }, + return this; + } - fromArray: function ( array, offset ) { + setFromEuler(euler, update) { + if (!(euler && euler.isEuler)) { + throw new Error('THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.'); + } - if ( offset === undefined ) offset = 0; + const x = euler._x, + y = euler._y, + z = euler._z, + order = euler._order; // http://www.mathworks.com/matlabcentral/fileexchange/ + // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ + // content/SpinCalc.m - this.x = array[ offset ]; - this.y = array[ offset + 1 ]; + const cos = Math.cos; + const sin = Math.sin; + const c1 = cos(x / 2); + const c2 = cos(y / 2); + const c3 = cos(z / 2); + const s1 = sin(x / 2); + const s2 = sin(y / 2); + const s3 = sin(z / 2); + + switch (order) { + case 'XYZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; - return this; + case 'YXZ': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; - }, + case 'ZXY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; - toArray: function ( array, offset ) { + case 'ZYX': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; + case 'YZX': + this._x = s1 * c2 * c3 + c1 * s2 * s3; + this._y = c1 * s2 * c3 + s1 * c2 * s3; + this._z = c1 * c2 * s3 - s1 * s2 * c3; + this._w = c1 * c2 * c3 - s1 * s2 * s3; + break; - array[ offset ] = this.x; - array[ offset + 1 ] = this.y; + case 'XZY': + this._x = s1 * c2 * c3 - c1 * s2 * s3; + this._y = c1 * s2 * c3 - s1 * c2 * s3; + this._z = c1 * c2 * s3 + s1 * s2 * c3; + this._w = c1 * c2 * c3 + s1 * s2 * s3; + break; - return array; + default: + console.warn('THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + order); + } - }, + if (update !== false) this._onChangeCallback(); + return this; + } - fromBufferAttribute: function ( attribute, index, offset ) { + setFromAxisAngle(axis, angle) { + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm + // assumes axis is normalized + const halfAngle = angle / 2, + s = Math.sin(halfAngle); + this._x = axis.x * s; + this._y = axis.y * s; + this._z = axis.z * s; + this._w = Math.cos(halfAngle); - if ( offset !== undefined ) { + this._onChangeCallback(); - console.warn( 'THREE.Vector2: offset has been removed from .fromBufferAttribute().' ); + return this; + } + setFromRotationMatrix(m) { + // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + const te = m.elements, + m11 = te[0], + m12 = te[4], + m13 = te[8], + m21 = te[1], + m22 = te[5], + m23 = te[9], + m31 = te[2], + m32 = te[6], + m33 = te[10], + trace = m11 + m22 + m33; + + if (trace > 0) { + const s = 0.5 / Math.sqrt(trace + 1.0); + this._w = 0.25 / s; + this._x = (m32 - m23) * s; + this._y = (m13 - m31) * s; + this._z = (m21 - m12) * s; + } else if (m11 > m22 && m11 > m33) { + const s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33); + this._w = (m32 - m23) / s; + this._x = 0.25 * s; + this._y = (m12 + m21) / s; + this._z = (m13 + m31) / s; + } else if (m22 > m33) { + const s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33); + this._w = (m13 - m31) / s; + this._x = (m12 + m21) / s; + this._y = 0.25 * s; + this._z = (m23 + m32) / s; + } else { + const s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22); + this._w = (m21 - m12) / s; + this._x = (m13 + m31) / s; + this._y = (m23 + m32) / s; + this._z = 0.25 * s; } - this.x = attribute.getX( index ); - this.y = attribute.getY( index ); + this._onChangeCallback(); return this; + } - }, + setFromUnitVectors(vFrom, vTo) { + // assumes direction vectors vFrom and vTo are normalized + let r = vFrom.dot(vTo) + 1; - rotateAround: function ( center, angle ) { + if (r < Number.EPSILON) { + // vFrom and vTo point in opposite directions + r = 0; - var c = Math.cos( angle ), s = Math.sin( angle ); + if (Math.abs(vFrom.x) > Math.abs(vFrom.z)) { + this._x = -vFrom.y; + this._y = vFrom.x; + this._z = 0; + this._w = r; + } else { + this._x = 0; + this._y = -vFrom.z; + this._z = vFrom.y; + this._w = r; + } + } else { + // crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3 + this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; + this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; + this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; + this._w = r; + } - var x = this.x - center.x; - var y = this.y - center.y; + return this.normalize(); + } - this.x = x * c - y * s + center.x; - this.y = x * s + y * c + center.y; + angleTo(q) { + return 2 * Math.acos(Math.abs(clamp(this.dot(q), -1, 1))); + } + rotateTowards(q, step) { + const angle = this.angleTo(q); + if (angle === 0) return this; + const t = Math.min(1, step / angle); + this.slerp(q, t); return this; + } + identity() { + return this.set(0, 0, 0, 1); } - } ); + invert() { + // quaternion is assumed to have unit length + return this.conjugate(); + } - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author WestLangley / http://github.com/WestLangley - * @author bhouston / http://clara.io - */ + conjugate() { + this._x *= -1; + this._y *= -1; + this._z *= -1; - function Quaternion( x, y, z, w ) { + this._onChangeCallback(); - this._x = x || 0; - this._y = y || 0; - this._z = z || 0; - this._w = ( w !== undefined ) ? w : 1; + return this; + } - } + dot(v) { + return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; + } - Object.assign( Quaternion, { + lengthSq() { + return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; + } - slerp: function ( qa, qb, qm, t ) { + length() { + return Math.sqrt(this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w); + } - return qm.copy( qa ).slerp( qb, t ); + normalize() { + let l = this.length(); - }, + if (l === 0) { + this._x = 0; + this._y = 0; + this._z = 0; + this._w = 1; + } else { + l = 1 / l; + this._x = this._x * l; + this._y = this._y * l; + this._z = this._z * l; + this._w = this._w * l; + } - slerpFlat: function ( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) { + this._onChangeCallback(); - // fuzz-free, array-based Quaternion SLERP operation + return this; + } - var x0 = src0[ srcOffset0 + 0 ], - y0 = src0[ srcOffset0 + 1 ], - z0 = src0[ srcOffset0 + 2 ], - w0 = src0[ srcOffset0 + 3 ], + multiply(q, p) { + if (p !== undefined) { + console.warn('THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.'); + return this.multiplyQuaternions(q, p); + } - x1 = src1[ srcOffset1 + 0 ], - y1 = src1[ srcOffset1 + 1 ], - z1 = src1[ srcOffset1 + 2 ], - w1 = src1[ srcOffset1 + 3 ]; + return this.multiplyQuaternions(this, q); + } - if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) { + premultiply(q) { + return this.multiplyQuaternions(q, this); + } - var s = 1 - t, + multiplyQuaternions(a, b) { + // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm + const qax = a._x, + qay = a._y, + qaz = a._z, + qaw = a._w; + const qbx = b._x, + qby = b._y, + qbz = b._z, + qbw = b._w; + this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; + this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; + this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; + this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; - cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1, + this._onChangeCallback(); - dir = ( cos >= 0 ? 1 : - 1 ), - sqrSin = 1 - cos * cos; + return this; + } - // Skip the Slerp for tiny steps to avoid numeric problems: - if ( sqrSin > Number.EPSILON ) { + slerp(qb, t) { + if (t === 0) return this; + if (t === 1) return this.copy(qb); + const x = this._x, + y = this._y, + z = this._z, + w = this._w; // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ - var sin = Math.sqrt( sqrSin ), - len = Math.atan2( sin, cos * dir ); + let cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; - s = Math.sin( s * len ) / sin; - t = Math.sin( t * len ) / sin; + if (cosHalfTheta < 0) { + this._w = -qb._w; + this._x = -qb._x; + this._y = -qb._y; + this._z = -qb._z; + cosHalfTheta = -cosHalfTheta; + } else { + this.copy(qb); + } - } + if (cosHalfTheta >= 1.0) { + this._w = w; + this._x = x; + this._y = y; + this._z = z; + return this; + } - var tDir = t * dir; + const sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta; - x0 = x0 * s + x1 * tDir; - y0 = y0 * s + y1 * tDir; - z0 = z0 * s + z1 * tDir; - w0 = w0 * s + w1 * tDir; + if (sqrSinHalfTheta <= Number.EPSILON) { + const s = 1 - t; + this._w = s * w + t * this._w; + this._x = s * x + t * this._x; + this._y = s * y + t * this._y; + this._z = s * z + t * this._z; + this.normalize(); - // Normalize in case we just did a lerp: - if ( s === 1 - t ) { + this._onChangeCallback(); - var f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 ); + return this; + } - x0 *= f; - y0 *= f; - z0 *= f; - w0 *= f; + const sinHalfTheta = Math.sqrt(sqrSinHalfTheta); + const halfTheta = Math.atan2(sinHalfTheta, cosHalfTheta); + const ratioA = Math.sin((1 - t) * halfTheta) / sinHalfTheta, + ratioB = Math.sin(t * halfTheta) / sinHalfTheta; + this._w = w * ratioA + this._w * ratioB; + this._x = x * ratioA + this._x * ratioB; + this._y = y * ratioA + this._y * ratioB; + this._z = z * ratioA + this._z * ratioB; - } + this._onChangeCallback(); - } + return this; + } - dst[ dstOffset ] = x0; - dst[ dstOffset + 1 ] = y0; - dst[ dstOffset + 2 ] = z0; - dst[ dstOffset + 3 ] = w0; + slerpQuaternions(qa, qb, t) { + this.copy(qa).slerp(qb, t); + } + equals(quaternion) { + return quaternion._x === this._x && quaternion._y === this._y && quaternion._z === this._z && quaternion._w === this._w; } - } ); + fromArray(array, offset = 0) { + this._x = array[offset]; + this._y = array[offset + 1]; + this._z = array[offset + 2]; + this._w = array[offset + 3]; - Object.defineProperties( Quaternion.prototype, { + this._onChangeCallback(); - x: { + return this; + } - get: function () { + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._w; + return array; + } - return this._x; + fromBufferAttribute(attribute, index) { + this._x = attribute.getX(index); + this._y = attribute.getY(index); + this._z = attribute.getZ(index); + this._w = attribute.getW(index); + return this; + } - }, + _onChange(callback) { + this._onChangeCallback = callback; + return this; + } - set: function ( value ) { + _onChangeCallback() {} - this._x = value; - this.onChangeCallback(); + } - } + Quaternion.prototype.isQuaternion = true; - }, + class Vector3 { + constructor(x = 0, y = 0, z = 0) { + this.x = x; + this.y = y; + this.z = z; + } - y: { + set(x, y, z) { + if (z === undefined) z = this.z; // sprite.scale.set(x,y) - get: function () { + this.x = x; + this.y = y; + this.z = z; + return this; + } - return this._y; + setScalar(scalar) { + this.x = scalar; + this.y = scalar; + this.z = scalar; + return this; + } - }, + setX(x) { + this.x = x; + return this; + } - set: function ( value ) { + setY(y) { + this.y = y; + return this; + } - this._y = value; - this.onChangeCallback(); + setZ(z) { + this.z = z; + return this; + } - } + setComponent(index, value) { + switch (index) { + case 0: + this.x = value; + break; - }, + case 1: + this.y = value; + break; - z: { + case 2: + this.z = value; + break; - get: function () { + default: + throw new Error('index is out of range: ' + index); + } - return this._z; + return this; + } - }, + getComponent(index) { + switch (index) { + case 0: + return this.x; - set: function ( value ) { + case 1: + return this.y; - this._z = value; - this.onChangeCallback(); + case 2: + return this.z; + default: + throw new Error('index is out of range: ' + index); } + } - }, + clone() { + return new this.constructor(this.x, this.y, this.z); + } - w: { + copy(v) { + this.x = v.x; + this.y = v.y; + this.z = v.z; + return this; + } - get: function () { + add(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.'); + return this.addVectors(v, w); + } - return this._w; + this.x += v.x; + this.y += v.y; + this.z += v.z; + return this; + } - }, + addScalar(s) { + this.x += s; + this.y += s; + this.z += s; + return this; + } - set: function ( value ) { + addVectors(a, b) { + this.x = a.x + b.x; + this.y = a.y + b.y; + this.z = a.z + b.z; + return this; + } - this._w = value; - this.onChangeCallback(); + addScaledVector(v, s) { + this.x += v.x * s; + this.y += v.y * s; + this.z += v.z * s; + return this; + } + sub(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.'); + return this.subVectors(v, w); } + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + return this; } - } ); - - Object.assign( Quaternion.prototype, { - - isQuaternion: true, - - set: function ( x, y, z, w ) { + subScalar(s) { + this.x -= s; + this.y -= s; + this.z -= s; + return this; + } - this._x = x; - this._y = y; - this._z = z; - this._w = w; + subVectors(a, b) { + this.x = a.x - b.x; + this.y = a.y - b.y; + this.z = a.z - b.z; + return this; + } - this.onChangeCallback(); + multiply(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.'); + return this.multiplyVectors(v, w); + } + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; return this; + } - }, + multiplyScalar(scalar) { + this.x *= scalar; + this.y *= scalar; + this.z *= scalar; + return this; + } - clone: function () { + multiplyVectors(a, b) { + this.x = a.x * b.x; + this.y = a.y * b.y; + this.z = a.z * b.z; + return this; + } - return new this.constructor( this._x, this._y, this._z, this._w ); + applyEuler(euler) { + if (!(euler && euler.isEuler)) { + console.error('THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.'); + } - }, + return this.applyQuaternion(_quaternion$4.setFromEuler(euler)); + } - copy: function ( quaternion ) { + applyAxisAngle(axis, angle) { + return this.applyQuaternion(_quaternion$4.setFromAxisAngle(axis, angle)); + } - this._x = quaternion.x; - this._y = quaternion.y; - this._z = quaternion.z; - this._w = quaternion.w; + applyMatrix3(m) { + const x = this.x, + y = this.y, + z = this.z; + const e = m.elements; + this.x = e[0] * x + e[3] * y + e[6] * z; + this.y = e[1] * x + e[4] * y + e[7] * z; + this.z = e[2] * x + e[5] * y + e[8] * z; + return this; + } - this.onChangeCallback(); + applyNormalMatrix(m) { + return this.applyMatrix3(m).normalize(); + } + applyMatrix4(m) { + const x = this.x, + y = this.y, + z = this.z; + const e = m.elements; + const w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]); + this.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w; + this.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w; + this.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w; return this; + } - }, + applyQuaternion(q) { + const x = this.x, + y = this.y, + z = this.z; + const qx = q.x, + qy = q.y, + qz = q.z, + qw = q.w; // calculate quat * vector - setFromEuler: function ( euler, update ) { + const ix = qw * x + qy * z - qz * y; + const iy = qw * y + qz * x - qx * z; + const iz = qw * z + qx * y - qy * x; + const iw = -qx * x - qy * y - qz * z; // calculate result * inverse quat - if ( ! ( euler && euler.isEuler ) ) { + this.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; + this.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; + this.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; + return this; + } - throw new Error( 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + project(camera) { + return this.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix); + } - } + unproject(camera) { + return this.applyMatrix4(camera.projectionMatrixInverse).applyMatrix4(camera.matrixWorld); + } - var x = euler._x, y = euler._y, z = euler._z, order = euler.order; + transformDirection(m) { + // input: THREE.Matrix4 affine matrix + // vector interpreted as a direction + const x = this.x, + y = this.y, + z = this.z; + const e = m.elements; + this.x = e[0] * x + e[4] * y + e[8] * z; + this.y = e[1] * x + e[5] * y + e[9] * z; + this.z = e[2] * x + e[6] * y + e[10] * z; + return this.normalize(); + } - // http://www.mathworks.com/matlabcentral/fileexchange/ - // 20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/ - // content/SpinCalc.m + divide(v) { + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + return this; + } - var cos = Math.cos; - var sin = Math.sin; + divideScalar(scalar) { + return this.multiplyScalar(1 / scalar); + } - var c1 = cos( x / 2 ); - var c2 = cos( y / 2 ); - var c3 = cos( z / 2 ); + min(v) { + this.x = Math.min(this.x, v.x); + this.y = Math.min(this.y, v.y); + this.z = Math.min(this.z, v.z); + return this; + } - var s1 = sin( x / 2 ); - var s2 = sin( y / 2 ); - var s3 = sin( z / 2 ); + max(v) { + this.x = Math.max(this.x, v.x); + this.y = Math.max(this.y, v.y); + this.z = Math.max(this.z, v.z); + return this; + } - if ( order === 'XYZ' ) { + clamp(min, max) { + // assumes min < max, componentwise + this.x = Math.max(min.x, Math.min(max.x, this.x)); + this.y = Math.max(min.y, Math.min(max.y, this.y)); + this.z = Math.max(min.z, Math.min(max.z, this.z)); + return this; + } - this._x = s1 * c2 * c3 + c1 * s2 * s3; - this._y = c1 * s2 * c3 - s1 * c2 * s3; - this._z = c1 * c2 * s3 + s1 * s2 * c3; - this._w = c1 * c2 * c3 - s1 * s2 * s3; + clampScalar(minVal, maxVal) { + this.x = Math.max(minVal, Math.min(maxVal, this.x)); + this.y = Math.max(minVal, Math.min(maxVal, this.y)); + this.z = Math.max(minVal, Math.min(maxVal, this.z)); + return this; + } - } else if ( order === 'YXZ' ) { + clampLength(min, max) { + const length = this.length(); + return this.divideScalar(length || 1).multiplyScalar(Math.max(min, Math.min(max, length))); + } - this._x = s1 * c2 * c3 + c1 * s2 * s3; - this._y = c1 * s2 * c3 - s1 * c2 * s3; - this._z = c1 * c2 * s3 - s1 * s2 * c3; - this._w = c1 * c2 * c3 + s1 * s2 * s3; + floor() { + this.x = Math.floor(this.x); + this.y = Math.floor(this.y); + this.z = Math.floor(this.z); + return this; + } - } else if ( order === 'ZXY' ) { + ceil() { + this.x = Math.ceil(this.x); + this.y = Math.ceil(this.y); + this.z = Math.ceil(this.z); + return this; + } - this._x = s1 * c2 * c3 - c1 * s2 * s3; - this._y = c1 * s2 * c3 + s1 * c2 * s3; - this._z = c1 * c2 * s3 + s1 * s2 * c3; - this._w = c1 * c2 * c3 - s1 * s2 * s3; + round() { + this.x = Math.round(this.x); + this.y = Math.round(this.y); + this.z = Math.round(this.z); + return this; + } - } else if ( order === 'ZYX' ) { - - this._x = s1 * c2 * c3 - c1 * s2 * s3; - this._y = c1 * s2 * c3 + s1 * c2 * s3; - this._z = c1 * c2 * s3 - s1 * s2 * c3; - this._w = c1 * c2 * c3 + s1 * s2 * s3; - - } else if ( order === 'YZX' ) { - - this._x = s1 * c2 * c3 + c1 * s2 * s3; - this._y = c1 * s2 * c3 + s1 * c2 * s3; - this._z = c1 * c2 * s3 - s1 * s2 * c3; - this._w = c1 * c2 * c3 - s1 * s2 * s3; - - } else if ( order === 'XZY' ) { - - this._x = s1 * c2 * c3 - c1 * s2 * s3; - this._y = c1 * s2 * c3 - s1 * c2 * s3; - this._z = c1 * c2 * s3 + s1 * s2 * c3; - this._w = c1 * c2 * c3 + s1 * s2 * s3; - - } - - if ( update !== false ) this.onChangeCallback(); + roundToZero() { + this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x); + this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y); + this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z); + return this; + } + negate() { + this.x = -this.x; + this.y = -this.y; + this.z = -this.z; return this; + } - }, + dot(v) { + return this.x * v.x + this.y * v.y + this.z * v.z; + } // TODO lengthSquared? - setFromAxisAngle: function ( axis, angle ) { - // http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/index.htm + lengthSq() { + return this.x * this.x + this.y * this.y + this.z * this.z; + } - // assumes axis is normalized + length() { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + } - var halfAngle = angle / 2, s = Math.sin( halfAngle ); + manhattanLength() { + return Math.abs(this.x) + Math.abs(this.y) + Math.abs(this.z); + } - this._x = axis.x * s; - this._y = axis.y * s; - this._z = axis.z * s; - this._w = Math.cos( halfAngle ); + normalize() { + return this.divideScalar(this.length() || 1); + } - this.onChangeCallback(); + setLength(length) { + return this.normalize().multiplyScalar(length); + } + lerp(v, alpha) { + this.x += (v.x - this.x) * alpha; + this.y += (v.y - this.y) * alpha; + this.z += (v.z - this.z) * alpha; return this; + } - }, + lerpVectors(v1, v2, alpha) { + this.x = v1.x + (v2.x - v1.x) * alpha; + this.y = v1.y + (v2.y - v1.y) * alpha; + this.z = v1.z + (v2.z - v1.z) * alpha; + return this; + } - setFromRotationMatrix: function ( m ) { + cross(v, w) { + if (w !== undefined) { + console.warn('THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.'); + return this.crossVectors(v, w); + } - // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm + return this.crossVectors(this, v); + } - // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + crossVectors(a, b) { + const ax = a.x, + ay = a.y, + az = a.z; + const bx = b.x, + by = b.y, + bz = b.z; + this.x = ay * bz - az * by; + this.y = az * bx - ax * bz; + this.z = ax * by - ay * bx; + return this; + } - var te = m.elements, + projectOnVector(v) { + const denominator = v.lengthSq(); + if (denominator === 0) return this.set(0, 0, 0); + const scalar = v.dot(this) / denominator; + return this.copy(v).multiplyScalar(scalar); + } - m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], - m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], - m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ], + projectOnPlane(planeNormal) { + _vector$c.copy(this).projectOnVector(planeNormal); - trace = m11 + m22 + m33, - s; + return this.sub(_vector$c); + } - if ( trace > 0 ) { + reflect(normal) { + // reflect incident vector off plane orthogonal to normal + // normal is assumed to have unit length + return this.sub(_vector$c.copy(normal).multiplyScalar(2 * this.dot(normal))); + } - s = 0.5 / Math.sqrt( trace + 1.0 ); + angleTo(v) { + const denominator = Math.sqrt(this.lengthSq() * v.lengthSq()); + if (denominator === 0) return Math.PI / 2; + const theta = this.dot(v) / denominator; // clamp, to handle numerical problems - this._w = 0.25 / s; - this._x = ( m32 - m23 ) * s; - this._y = ( m13 - m31 ) * s; - this._z = ( m21 - m12 ) * s; + return Math.acos(clamp(theta, -1, 1)); + } - } else if ( m11 > m22 && m11 > m33 ) { + distanceTo(v) { + return Math.sqrt(this.distanceToSquared(v)); + } - s = 2.0 * Math.sqrt( 1.0 + m11 - m22 - m33 ); + distanceToSquared(v) { + const dx = this.x - v.x, + dy = this.y - v.y, + dz = this.z - v.z; + return dx * dx + dy * dy + dz * dz; + } - this._w = ( m32 - m23 ) / s; - this._x = 0.25 * s; - this._y = ( m12 + m21 ) / s; - this._z = ( m13 + m31 ) / s; + manhattanDistanceTo(v) { + return Math.abs(this.x - v.x) + Math.abs(this.y - v.y) + Math.abs(this.z - v.z); + } - } else if ( m22 > m33 ) { + setFromSpherical(s) { + return this.setFromSphericalCoords(s.radius, s.phi, s.theta); + } - s = 2.0 * Math.sqrt( 1.0 + m22 - m11 - m33 ); + setFromSphericalCoords(radius, phi, theta) { + const sinPhiRadius = Math.sin(phi) * radius; + this.x = sinPhiRadius * Math.sin(theta); + this.y = Math.cos(phi) * radius; + this.z = sinPhiRadius * Math.cos(theta); + return this; + } - this._w = ( m13 - m31 ) / s; - this._x = ( m12 + m21 ) / s; - this._y = 0.25 * s; - this._z = ( m23 + m32 ) / s; + setFromCylindrical(c) { + return this.setFromCylindricalCoords(c.radius, c.theta, c.y); + } - } else { + setFromCylindricalCoords(radius, theta, y) { + this.x = radius * Math.sin(theta); + this.y = y; + this.z = radius * Math.cos(theta); + return this; + } - s = 2.0 * Math.sqrt( 1.0 + m33 - m11 - m22 ); + setFromMatrixPosition(m) { + const e = m.elements; + this.x = e[12]; + this.y = e[13]; + this.z = e[14]; + return this; + } - this._w = ( m21 - m12 ) / s; - this._x = ( m13 + m31 ) / s; - this._y = ( m23 + m32 ) / s; - this._z = 0.25 * s; + setFromMatrixScale(m) { + const sx = this.setFromMatrixColumn(m, 0).length(); + const sy = this.setFromMatrixColumn(m, 1).length(); + const sz = this.setFromMatrixColumn(m, 2).length(); + this.x = sx; + this.y = sy; + this.z = sz; + return this; + } - } + setFromMatrixColumn(m, index) { + return this.fromArray(m.elements, index * 4); + } - this.onChangeCallback(); + setFromMatrix3Column(m, index) { + return this.fromArray(m.elements, index * 3); + } - return this; + equals(v) { + return v.x === this.x && v.y === this.y && v.z === this.z; + } - }, + fromArray(array, offset = 0) { + this.x = array[offset]; + this.y = array[offset + 1]; + this.z = array[offset + 2]; + return this; + } - setFromUnitVectors: function ( vFrom, vTo ) { + toArray(array = [], offset = 0) { + array[offset] = this.x; + array[offset + 1] = this.y; + array[offset + 2] = this.z; + return array; + } - // assumes direction vectors vFrom and vTo are normalized + fromBufferAttribute(attribute, index, offset) { + if (offset !== undefined) { + console.warn('THREE.Vector3: offset has been removed from .fromBufferAttribute().'); + } - var EPS = 0.000001; + this.x = attribute.getX(index); + this.y = attribute.getY(index); + this.z = attribute.getZ(index); + return this; + } - var r = vFrom.dot( vTo ) + 1; + random() { + this.x = Math.random(); + this.y = Math.random(); + this.z = Math.random(); + return this; + } - if ( r < EPS ) { + } - r = 0; + Vector3.prototype.isVector3 = true; - if ( Math.abs( vFrom.x ) > Math.abs( vFrom.z ) ) { + const _vector$c = /*@__PURE__*/new Vector3(); - this._x = - vFrom.y; - this._y = vFrom.x; - this._z = 0; - this._w = r; + const _quaternion$4 = /*@__PURE__*/new Quaternion(); - } else { + class Box3 { + constructor(min = new Vector3(+Infinity, +Infinity, +Infinity), max = new Vector3(-Infinity, -Infinity, -Infinity)) { + this.min = min; + this.max = max; + } - this._x = 0; - this._y = - vFrom.z; - this._z = vFrom.y; - this._w = r; + set(min, max) { + this.min.copy(min); + this.max.copy(max); + return this; + } - } + setFromArray(array) { + let minX = +Infinity; + let minY = +Infinity; + let minZ = +Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + let maxZ = -Infinity; - } else { + for (let i = 0, l = array.length; i < l; i += 3) { + const x = array[i]; + const y = array[i + 1]; + const z = array[i + 2]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (z < minZ) minZ = z; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + if (z > maxZ) maxZ = z; + } - // crossVectors( vFrom, vTo ); // inlined to avoid cyclic dependency on Vector3 + this.min.set(minX, minY, minZ); + this.max.set(maxX, maxY, maxZ); + return this; + } - this._x = vFrom.y * vTo.z - vFrom.z * vTo.y; - this._y = vFrom.z * vTo.x - vFrom.x * vTo.z; - this._z = vFrom.x * vTo.y - vFrom.y * vTo.x; - this._w = r; + setFromBufferAttribute(attribute) { + let minX = +Infinity; + let minY = +Infinity; + let minZ = +Infinity; + let maxX = -Infinity; + let maxY = -Infinity; + let maxZ = -Infinity; + for (let i = 0, l = attribute.count; i < l; i++) { + const x = attribute.getX(i); + const y = attribute.getY(i); + const z = attribute.getZ(i); + if (x < minX) minX = x; + if (y < minY) minY = y; + if (z < minZ) minZ = z; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + if (z > maxZ) maxZ = z; } - return this.normalize(); - - }, + this.min.set(minX, minY, minZ); + this.max.set(maxX, maxY, maxZ); + return this; + } - angleTo: function ( q ) { + setFromPoints(points) { + this.makeEmpty(); - return 2 * Math.acos( Math.abs( _Math.clamp( this.dot( q ), - 1, 1 ) ) ); + for (let i = 0, il = points.length; i < il; i++) { + this.expandByPoint(points[i]); + } - }, + return this; + } - rotateTowards: function ( q, step ) { + setFromCenterAndSize(center, size) { + const halfSize = _vector$b.copy(size).multiplyScalar(0.5); - var angle = this.angleTo( q ); + this.min.copy(center).sub(halfSize); + this.max.copy(center).add(halfSize); + return this; + } - if ( angle === 0 ) return this; + setFromObject(object) { + this.makeEmpty(); + return this.expandByObject(object); + } - var t = Math.min( 1, step / angle ); + clone() { + return new this.constructor().copy(this); + } - this.slerp( q, t ); + copy(box) { + this.min.copy(box.min); + this.max.copy(box.max); + return this; + } + makeEmpty() { + this.min.x = this.min.y = this.min.z = +Infinity; + this.max.x = this.max.y = this.max.z = -Infinity; return this; + } - }, + isEmpty() { + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z; + } - inverse: function () { + getCenter(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5); + } - // quaternion is assumed to have unit length + getSize(target) { + return this.isEmpty() ? target.set(0, 0, 0) : target.subVectors(this.max, this.min); + } - return this.conjugate(); + expandByPoint(point) { + this.min.min(point); + this.max.max(point); + return this; + } - }, + expandByVector(vector) { + this.min.sub(vector); + this.max.add(vector); + return this; + } - conjugate: function () { + expandByScalar(scalar) { + this.min.addScalar(-scalar); + this.max.addScalar(scalar); + return this; + } - this._x *= - 1; - this._y *= - 1; - this._z *= - 1; + expandByObject(object) { + // Computes the world-axis-aligned bounding box of an object (including its children), + // accounting for both the object's, and children's, world transforms + object.updateWorldMatrix(false, false); + const geometry = object.geometry; - this.onChangeCallback(); + if (geometry !== undefined) { + if (geometry.boundingBox === null) { + geometry.computeBoundingBox(); + } - return this; + _box$3.copy(geometry.boundingBox); - }, + _box$3.applyMatrix4(object.matrixWorld); - dot: function ( v ) { + this.union(_box$3); + } - return this._x * v._x + this._y * v._y + this._z * v._z + this._w * v._w; + const children = object.children; - }, + for (let i = 0, l = children.length; i < l; i++) { + this.expandByObject(children[i]); + } - lengthSq: function () { + return this; + } - return this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w; + containsPoint(point) { + return point.x < this.min.x || point.x > this.max.x || point.y < this.min.y || point.y > this.max.y || point.z < this.min.z || point.z > this.max.z ? false : true; + } - }, + containsBox(box) { + return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y && this.min.z <= box.min.z && box.max.z <= this.max.z; + } - length: function () { + getParameter(point, target) { + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + return target.set((point.x - this.min.x) / (this.max.x - this.min.x), (point.y - this.min.y) / (this.max.y - this.min.y), (point.z - this.min.z) / (this.max.z - this.min.z)); + } - return Math.sqrt( this._x * this._x + this._y * this._y + this._z * this._z + this._w * this._w ); + intersectsBox(box) { + // using 6 splitting planes to rule out intersections. + return box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y || box.max.z < this.min.z || box.min.z > this.max.z ? false : true; + } - }, + intersectsSphere(sphere) { + // Find the point on the AABB closest to the sphere center. + this.clampPoint(sphere.center, _vector$b); // If that point is inside the sphere, the AABB and sphere intersect. - normalize: function () { + return _vector$b.distanceToSquared(sphere.center) <= sphere.radius * sphere.radius; + } - var l = this.length(); + intersectsPlane(plane) { + // We compute the minimum and maximum dot product values. If those values + // are on the same side (back or front) of the plane, then there is no intersection. + let min, max; - if ( l === 0 ) { + if (plane.normal.x > 0) { + min = plane.normal.x * this.min.x; + max = plane.normal.x * this.max.x; + } else { + min = plane.normal.x * this.max.x; + max = plane.normal.x * this.min.x; + } - this._x = 0; - this._y = 0; - this._z = 0; - this._w = 1; + if (plane.normal.y > 0) { + min += plane.normal.y * this.min.y; + max += plane.normal.y * this.max.y; + } else { + min += plane.normal.y * this.max.y; + max += plane.normal.y * this.min.y; + } + if (plane.normal.z > 0) { + min += plane.normal.z * this.min.z; + max += plane.normal.z * this.max.z; } else { + min += plane.normal.z * this.max.z; + max += plane.normal.z * this.min.z; + } - l = 1 / l; + return min <= -plane.constant && max >= -plane.constant; + } - this._x = this._x * l; - this._y = this._y * l; - this._z = this._z * l; - this._w = this._w * l; + intersectsTriangle(triangle) { + if (this.isEmpty()) { + return false; + } // compute box center and extents - } - this.onChangeCallback(); + this.getCenter(_center); - return this; + _extents.subVectors(this.max, _center); // translate triangle to aabb origin - }, - multiply: function ( q, p ) { + _v0$2.subVectors(triangle.a, _center); - if ( p !== undefined ) { + _v1$7.subVectors(triangle.b, _center); - console.warn( 'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.' ); - return this.multiplyQuaternions( q, p ); + _v2$3.subVectors(triangle.c, _center); // compute edge vectors for triangle - } - return this.multiplyQuaternions( this, q ); + _f0.subVectors(_v1$7, _v0$2); - }, + _f1.subVectors(_v2$3, _v1$7); - premultiply: function ( q ) { + _f2.subVectors(_v0$2, _v2$3); // test against axes that are given by cross product combinations of the edges of the triangle and the edges of the aabb + // make an axis testing of each of the 3 sides of the aabb against each of the 3 sides of the triangle = 9 axis of separation + // axis_ij = u_i x f_j (u0, u1, u2 = face normals of aabb = x,y,z axes vectors since aabb is axis aligned) - return this.multiplyQuaternions( q, this ); - }, + let axes = [0, -_f0.z, _f0.y, 0, -_f1.z, _f1.y, 0, -_f2.z, _f2.y, _f0.z, 0, -_f0.x, _f1.z, 0, -_f1.x, _f2.z, 0, -_f2.x, -_f0.y, _f0.x, 0, -_f1.y, _f1.x, 0, -_f2.y, _f2.x, 0]; - multiplyQuaternions: function ( a, b ) { + if (!satForAxes(axes, _v0$2, _v1$7, _v2$3, _extents)) { + return false; + } // test 3 face normals from the aabb - // from http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/code/index.htm - var qax = a._x, qay = a._y, qaz = a._z, qaw = a._w; - var qbx = b._x, qby = b._y, qbz = b._z, qbw = b._w; + axes = [1, 0, 0, 0, 1, 0, 0, 0, 1]; - this._x = qax * qbw + qaw * qbx + qay * qbz - qaz * qby; - this._y = qay * qbw + qaw * qby + qaz * qbx - qax * qbz; - this._z = qaz * qbw + qaw * qbz + qax * qby - qay * qbx; - this._w = qaw * qbw - qax * qbx - qay * qby - qaz * qbz; + if (!satForAxes(axes, _v0$2, _v1$7, _v2$3, _extents)) { + return false; + } // finally testing the face normal of the triangle + // use already existing triangle edge vectors here - this.onChangeCallback(); - return this; + _triangleNormal.crossVectors(_f0, _f1); - }, + axes = [_triangleNormal.x, _triangleNormal.y, _triangleNormal.z]; + return satForAxes(axes, _v0$2, _v1$7, _v2$3, _extents); + } - slerp: function ( qb, t ) { + clampPoint(point, target) { + return target.copy(point).clamp(this.min, this.max); + } - if ( t === 0 ) return this; - if ( t === 1 ) return this.copy( qb ); + distanceToPoint(point) { + const clampedPoint = _vector$b.copy(point).clamp(this.min, this.max); - var x = this._x, y = this._y, z = this._z, w = this._w; + return clampedPoint.sub(point).length(); + } - // http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/slerp/ + getBoundingSphere(target) { + this.getCenter(target.center); + target.radius = this.getSize(_vector$b).length() * 0.5; + return target; + } - var cosHalfTheta = w * qb._w + x * qb._x + y * qb._y + z * qb._z; + intersect(box) { + this.min.max(box.min); + this.max.min(box.max); // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values. - if ( cosHalfTheta < 0 ) { + if (this.isEmpty()) this.makeEmpty(); + return this; + } - this._w = - qb._w; - this._x = - qb._x; - this._y = - qb._y; - this._z = - qb._z; + union(box) { + this.min.min(box.min); + this.max.max(box.max); + return this; + } - cosHalfTheta = - cosHalfTheta; + applyMatrix4(matrix) { + // transform of empty box is an empty box. + if (this.isEmpty()) return this; // NOTE: I am using a binary pattern to specify all 2^3 combinations below - } else { + _points[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(matrix); // 000 - this.copy( qb ); - } + _points[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(matrix); // 001 - if ( cosHalfTheta >= 1.0 ) { - this._w = w; - this._x = x; - this._y = y; - this._z = z; + _points[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(matrix); // 010 - return this; - } + _points[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(matrix); // 011 - var sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta; - if ( sqrSinHalfTheta <= Number.EPSILON ) { + _points[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(matrix); // 100 - var s = 1 - t; - this._w = s * w + t * this._w; - this._x = s * x + t * this._x; - this._y = s * y + t * this._y; - this._z = s * z + t * this._z; - return this.normalize(); + _points[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(matrix); // 101 - } - var sinHalfTheta = Math.sqrt( sqrSinHalfTheta ); - var halfTheta = Math.atan2( sinHalfTheta, cosHalfTheta ); - var ratioA = Math.sin( ( 1 - t ) * halfTheta ) / sinHalfTheta, - ratioB = Math.sin( t * halfTheta ) / sinHalfTheta; + _points[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(matrix); // 110 - this._w = ( w * ratioA + this._w * ratioB ); - this._x = ( x * ratioA + this._x * ratioB ); - this._y = ( y * ratioA + this._y * ratioB ); - this._z = ( z * ratioA + this._z * ratioB ); - this.onChangeCallback(); + _points[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(matrix); // 111 - return this; - }, + this.setFromPoints(_points); + return this; + } - equals: function ( quaternion ) { + translate(offset) { + this.min.add(offset); + this.max.add(offset); + return this; + } - return ( quaternion._x === this._x ) && ( quaternion._y === this._y ) && ( quaternion._z === this._z ) && ( quaternion._w === this._w ); + equals(box) { + return box.min.equals(this.min) && box.max.equals(this.max); + } - }, + } - fromArray: function ( array, offset ) { + Box3.prototype.isBox3 = true; + const _points = [/*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3(), /*@__PURE__*/new Vector3()]; - if ( offset === undefined ) offset = 0; + const _vector$b = /*@__PURE__*/new Vector3(); - this._x = array[ offset ]; - this._y = array[ offset + 1 ]; - this._z = array[ offset + 2 ]; - this._w = array[ offset + 3 ]; + const _box$3 = /*@__PURE__*/new Box3(); // triangle centered vertices - this.onChangeCallback(); - return this; + const _v0$2 = /*@__PURE__*/new Vector3(); - }, + const _v1$7 = /*@__PURE__*/new Vector3(); - toArray: function ( array, offset ) { + const _v2$3 = /*@__PURE__*/new Vector3(); // triangle edge vectors - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; - array[ offset ] = this._x; - array[ offset + 1 ] = this._y; - array[ offset + 2 ] = this._z; - array[ offset + 3 ] = this._w; + const _f0 = /*@__PURE__*/new Vector3(); - return array; + const _f1 = /*@__PURE__*/new Vector3(); - }, + const _f2 = /*@__PURE__*/new Vector3(); - onChange: function ( callback ) { + const _center = /*@__PURE__*/new Vector3(); - this.onChangeCallback = callback; + const _extents = /*@__PURE__*/new Vector3(); - return this; + const _triangleNormal = /*@__PURE__*/new Vector3(); - }, + const _testAxis = /*@__PURE__*/new Vector3(); - onChangeCallback: function () {} + function satForAxes(axes, v0, v1, v2, extents) { + for (let i = 0, j = axes.length - 3; i <= j; i += 3) { + _testAxis.fromArray(axes, i); // project the aabb onto the seperating axis - } ); - /** - * @author mrdoob / http://mrdoob.com/ - * @author kile / http://kile.stravaganza.org/ - * @author philogb / http://blog.thejit.org/ - * @author mikael emtinger / http://gomo.se/ - * @author egraether / http://egraether.com/ - * @author WestLangley / http://github.com/WestLangley - */ + const r = extents.x * Math.abs(_testAxis.x) + extents.y * Math.abs(_testAxis.y) + extents.z * Math.abs(_testAxis.z); // project all 3 vertices of the triangle onto the seperating axis - function Vector3( x, y, z ) { + const p0 = v0.dot(_testAxis); + const p1 = v1.dot(_testAxis); + const p2 = v2.dot(_testAxis); // actual test, basically see if either of the most extreme of the triangle points intersects r - this.x = x || 0; - this.y = y || 0; - this.z = z || 0; + if (Math.max(-Math.max(p0, p1, p2), Math.min(p0, p1, p2)) > r) { + // points of the projected triangle are outside the projected half-length of the aabb + // the axis is seperating and we can exit + return false; + } + } + return true; } - Object.assign( Vector3.prototype, { + const _box$2 = /*@__PURE__*/new Box3(); - isVector3: true, + const _v1$6 = /*@__PURE__*/new Vector3(); - set: function ( x, y, z ) { + const _toFarthestPoint = /*@__PURE__*/new Vector3(); - this.x = x; - this.y = y; - this.z = z; + const _toPoint = /*@__PURE__*/new Vector3(); - return this; + class Sphere { + constructor(center = new Vector3(), radius = -1) { + this.center = center; + this.radius = radius; + } - }, + set(center, radius) { + this.center.copy(center); + this.radius = radius; + return this; + } - setScalar: function ( scalar ) { + setFromPoints(points, optionalCenter) { + const center = this.center; - this.x = scalar; - this.y = scalar; - this.z = scalar; - - return this; - - }, + if (optionalCenter !== undefined) { + center.copy(optionalCenter); + } else { + _box$2.setFromPoints(points).getCenter(center); + } - setX: function ( x ) { + let maxRadiusSq = 0; - this.x = x; + for (let i = 0, il = points.length; i < il; i++) { + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(points[i])); + } + this.radius = Math.sqrt(maxRadiusSq); return this; + } - }, - - setY: function ( y ) { + copy(sphere) { + this.center.copy(sphere.center); + this.radius = sphere.radius; + return this; + } - this.y = y; + isEmpty() { + return this.radius < 0; + } + makeEmpty() { + this.center.set(0, 0, 0); + this.radius = -1; return this; + } - }, + containsPoint(point) { + return point.distanceToSquared(this.center) <= this.radius * this.radius; + } - setZ: function ( z ) { + distanceToPoint(point) { + return point.distanceTo(this.center) - this.radius; + } - this.z = z; + intersectsSphere(sphere) { + const radiusSum = this.radius + sphere.radius; + return sphere.center.distanceToSquared(this.center) <= radiusSum * radiusSum; + } - return this; + intersectsBox(box) { + return box.intersectsSphere(this); + } - }, + intersectsPlane(plane) { + return Math.abs(plane.distanceToPoint(this.center)) <= this.radius; + } - setComponent: function ( index, value ) { + clampPoint(point, target) { + const deltaLengthSq = this.center.distanceToSquared(point); + target.copy(point); - switch ( index ) { + if (deltaLengthSq > this.radius * this.radius) { + target.sub(this.center).normalize(); + target.multiplyScalar(this.radius).add(this.center); + } - case 0: this.x = value; break; - case 1: this.y = value; break; - case 2: this.z = value; break; - default: throw new Error( 'index is out of range: ' + index ); + return target; + } + getBoundingBox(target) { + if (this.isEmpty()) { + // Empty sphere produces empty bounding box + target.makeEmpty(); + return target; } + target.set(this.center, this.center); + target.expandByScalar(this.radius); + return target; + } + + applyMatrix4(matrix) { + this.center.applyMatrix4(matrix); + this.radius = this.radius * matrix.getMaxScaleOnAxis(); return this; + } - }, + translate(offset) { + this.center.add(offset); + return this; + } - getComponent: function ( index ) { + expandByPoint(point) { + // from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L649-L671 + _toPoint.subVectors(point, this.center); - switch ( index ) { + const lengthSq = _toPoint.lengthSq(); - case 0: return this.x; - case 1: return this.y; - case 2: return this.z; - default: throw new Error( 'index is out of range: ' + index ); + if (lengthSq > this.radius * this.radius) { + const length = Math.sqrt(lengthSq); + const missingRadiusHalf = (length - this.radius) * 0.5; // Nudge this sphere towards the target point. Add half the missing distance to radius, + // and the other half to position. This gives a tighter enclosure, instead of if + // the whole missing distance were just added to radius. + this.center.add(_toPoint.multiplyScalar(missingRadiusHalf / length)); + this.radius += missingRadiusHalf; } - }, - - clone: function () { - - return new this.constructor( this.x, this.y, this.z ); - - }, - - copy: function ( v ) { + return this; + } - this.x = v.x; - this.y = v.y; - this.z = v.z; + union(sphere) { + // from https://github.com/juj/MathGeoLib/blob/2940b99b99cfe575dd45103ef20f4019dee15b54/src/Geometry/Sphere.cpp#L759-L769 + // To enclose another sphere into this sphere, we only need to enclose two points: + // 1) Enclose the farthest point on the other sphere into this sphere. + // 2) Enclose the opposite point of the farthest point into this sphere. + _toFarthestPoint.subVectors(sphere.center, this.center).normalize().multiplyScalar(sphere.radius); + this.expandByPoint(_v1$6.copy(sphere.center).add(_toFarthestPoint)); + this.expandByPoint(_v1$6.copy(sphere.center).sub(_toFarthestPoint)); return this; + } - }, + equals(sphere) { + return sphere.center.equals(this.center) && sphere.radius === this.radius; + } - add: function ( v, w ) { + clone() { + return new this.constructor().copy(this); + } - if ( w !== undefined ) { + } - console.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); - return this.addVectors( v, w ); + const _vector$a = /*@__PURE__*/new Vector3(); - } + const _segCenter = /*@__PURE__*/new Vector3(); - this.x += v.x; - this.y += v.y; - this.z += v.z; + const _segDir = /*@__PURE__*/new Vector3(); - return this; + const _diff = /*@__PURE__*/new Vector3(); - }, + const _edge1 = /*@__PURE__*/new Vector3(); - addScalar: function ( s ) { + const _edge2 = /*@__PURE__*/new Vector3(); - this.x += s; - this.y += s; - this.z += s; + const _normal$1 = /*@__PURE__*/new Vector3(); - return this; + class Ray { + constructor(origin = new Vector3(), direction = new Vector3(0, 0, -1)) { + this.origin = origin; + this.direction = direction; + } - }, + set(origin, direction) { + this.origin.copy(origin); + this.direction.copy(direction); + return this; + } - addVectors: function ( a, b ) { + copy(ray) { + this.origin.copy(ray.origin); + this.direction.copy(ray.direction); + return this; + } - this.x = a.x + b.x; - this.y = a.y + b.y; - this.z = a.z + b.z; + at(t, target) { + return target.copy(this.direction).multiplyScalar(t).add(this.origin); + } + lookAt(v) { + this.direction.copy(v).sub(this.origin).normalize(); return this; + } - }, - - addScaledVector: function ( v, s ) { + recast(t) { + this.origin.copy(this.at(t, _vector$a)); + return this; + } - this.x += v.x * s; - this.y += v.y * s; - this.z += v.z * s; + closestPointToPoint(point, target) { + target.subVectors(point, this.origin); + const directionDistance = target.dot(this.direction); - return this; + if (directionDistance < 0) { + return target.copy(this.origin); + } - }, + return target.copy(this.direction).multiplyScalar(directionDistance).add(this.origin); + } - sub: function ( v, w ) { + distanceToPoint(point) { + return Math.sqrt(this.distanceSqToPoint(point)); + } - if ( w !== undefined ) { + distanceSqToPoint(point) { + const directionDistance = _vector$a.subVectors(point, this.origin).dot(this.direction); // point behind the ray - console.warn( 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); - return this.subVectors( v, w ); + if (directionDistance < 0) { + return this.origin.distanceToSquared(point); } - this.x -= v.x; - this.y -= v.y; - this.z -= v.z; - - return this; + _vector$a.copy(this.direction).multiplyScalar(directionDistance).add(this.origin); - }, + return _vector$a.distanceToSquared(point); + } - subScalar: function ( s ) { + distanceSqToSegment(v0, v1, optionalPointOnRay, optionalPointOnSegment) { + // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h + // It returns the min distance between the ray and the segment + // defined by v0 and v1 + // It can also set two optional targets : + // - The closest point on the ray + // - The closest point on the segment + _segCenter.copy(v0).add(v1).multiplyScalar(0.5); - this.x -= s; - this.y -= s; - this.z -= s; + _segDir.copy(v1).sub(v0).normalize(); - return this; + _diff.copy(this.origin).sub(_segCenter); - }, + const segExtent = v0.distanceTo(v1) * 0.5; + const a01 = -this.direction.dot(_segDir); - subVectors: function ( a, b ) { + const b0 = _diff.dot(this.direction); - this.x = a.x - b.x; - this.y = a.y - b.y; - this.z = a.z - b.z; + const b1 = -_diff.dot(_segDir); - return this; + const c = _diff.lengthSq(); - }, + const det = Math.abs(1 - a01 * a01); + let s0, s1, sqrDist, extDet; - multiply: function ( v, w ) { + if (det > 0) { + // The ray and segment are not parallel. + s0 = a01 * b1 - b0; + s1 = a01 * b0 - b1; + extDet = segExtent * det; - if ( w !== undefined ) { + if (s0 >= 0) { + if (s1 >= -extDet) { + if (s1 <= extDet) { + // region 0 + // Minimum at interior points of ray and segment. + const invDet = 1 / det; + s0 *= invDet; + s1 *= invDet; + sqrDist = s0 * (s0 + a01 * s1 + 2 * b0) + s1 * (a01 * s0 + s1 + 2 * b1) + c; + } else { + // region 1 + s1 = segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } else { + // region 5 + s1 = -segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } else { + if (s1 <= -extDet) { + // region 4 + s0 = Math.max(0, -(-a01 * segExtent + b0)); + s1 = s0 > 0 ? -segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } else if (s1 <= extDet) { + // region 3 + s0 = 0; + s1 = Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = s1 * (s1 + 2 * b1) + c; + } else { + // region 2 + s0 = Math.max(0, -(a01 * segExtent + b0)); + s1 = s0 > 0 ? segExtent : Math.min(Math.max(-segExtent, -b1), segExtent); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } + } + } else { + // Ray and segment are parallel. + s1 = a01 > 0 ? -segExtent : segExtent; + s0 = Math.max(0, -(a01 * s1 + b0)); + sqrDist = -s0 * s0 + s1 * (s1 + 2 * b1) + c; + } - console.warn( 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.' ); - return this.multiplyVectors( v, w ); + if (optionalPointOnRay) { + optionalPointOnRay.copy(this.direction).multiplyScalar(s0).add(this.origin); + } + if (optionalPointOnSegment) { + optionalPointOnSegment.copy(_segDir).multiplyScalar(s1).add(_segCenter); } - this.x *= v.x; - this.y *= v.y; - this.z *= v.z; + return sqrDist; + } - return this; + intersectSphere(sphere, target) { + _vector$a.subVectors(sphere.center, this.origin); - }, + const tca = _vector$a.dot(this.direction); - multiplyScalar: function ( scalar ) { + const d2 = _vector$a.dot(_vector$a) - tca * tca; + const radius2 = sphere.radius * sphere.radius; + if (d2 > radius2) return null; + const thc = Math.sqrt(radius2 - d2); // t0 = first intersect point - entrance on front of sphere - this.x *= scalar; - this.y *= scalar; - this.z *= scalar; + const t0 = tca - thc; // t1 = second intersect point - exit point on back of sphere - return this; + const t1 = tca + thc; // test to see if both t0 and t1 are behind the ray - if so, return null - }, + if (t0 < 0 && t1 < 0) return null; // test to see if t0 is behind the ray: + // if it is, the ray is inside the sphere, so return the second exit point scaled by t1, + // in order to always return an intersect point that is in front of the ray. - multiplyVectors: function ( a, b ) { + if (t0 < 0) return this.at(t1, target); // else t0 is in front of the ray, so return the first collision point scaled by t0 - this.x = a.x * b.x; - this.y = a.y * b.y; - this.z = a.z * b.z; + return this.at(t0, target); + } - return this; + intersectsSphere(sphere) { + return this.distanceSqToPoint(sphere.center) <= sphere.radius * sphere.radius; + } - }, + distanceToPlane(plane) { + const denominator = plane.normal.dot(this.direction); - applyEuler: function () { + if (denominator === 0) { + // line is coplanar, return origin + if (plane.distanceToPoint(this.origin) === 0) { + return 0; + } // Null is preferable to undefined since undefined means.... it is undefined - var quaternion = new Quaternion(); - return function applyEuler( euler ) { + return null; + } - if ( ! ( euler && euler.isEuler ) ) { + const t = -(this.origin.dot(plane.normal) + plane.constant) / denominator; // Return if the ray never intersects the plane - console.error( 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.' ); + return t >= 0 ? t : null; + } - } + intersectPlane(plane, target) { + const t = this.distanceToPlane(plane); - return this.applyQuaternion( quaternion.setFromEuler( euler ) ); + if (t === null) { + return null; + } - }; + return this.at(t, target); + } - }(), + intersectsPlane(plane) { + // check if the ray lies on the plane first + const distToPoint = plane.distanceToPoint(this.origin); - applyAxisAngle: function () { + if (distToPoint === 0) { + return true; + } - var quaternion = new Quaternion(); + const denominator = plane.normal.dot(this.direction); - return function applyAxisAngle( axis, angle ) { + if (denominator * distToPoint < 0) { + return true; + } // ray origin is behind the plane (and is pointing behind it) - return this.applyQuaternion( quaternion.setFromAxisAngle( axis, angle ) ); - }; + return false; + } - }(), + intersectBox(box, target) { + let tmin, tmax, tymin, tymax, tzmin, tzmax; + const invdirx = 1 / this.direction.x, + invdiry = 1 / this.direction.y, + invdirz = 1 / this.direction.z; + const origin = this.origin; - applyMatrix3: function ( m ) { + if (invdirx >= 0) { + tmin = (box.min.x - origin.x) * invdirx; + tmax = (box.max.x - origin.x) * invdirx; + } else { + tmin = (box.max.x - origin.x) * invdirx; + tmax = (box.min.x - origin.x) * invdirx; + } - var x = this.x, y = this.y, z = this.z; - var e = m.elements; + if (invdiry >= 0) { + tymin = (box.min.y - origin.y) * invdiry; + tymax = (box.max.y - origin.y) * invdiry; + } else { + tymin = (box.max.y - origin.y) * invdiry; + tymax = (box.min.y - origin.y) * invdiry; + } - this.x = e[ 0 ] * x + e[ 3 ] * y + e[ 6 ] * z; - this.y = e[ 1 ] * x + e[ 4 ] * y + e[ 7 ] * z; - this.z = e[ 2 ] * x + e[ 5 ] * y + e[ 8 ] * z; + if (tmin > tymax || tymin > tmax) return null; // These lines also handle the case where tmin or tmax is NaN + // (result of 0 * Infinity). x !== x returns true if x is NaN - return this; + if (tymin > tmin || tmin !== tmin) tmin = tymin; + if (tymax < tmax || tmax !== tmax) tmax = tymax; - }, + if (invdirz >= 0) { + tzmin = (box.min.z - origin.z) * invdirz; + tzmax = (box.max.z - origin.z) * invdirz; + } else { + tzmin = (box.max.z - origin.z) * invdirz; + tzmax = (box.min.z - origin.z) * invdirz; + } - applyMatrix4: function ( m ) { + if (tmin > tzmax || tzmin > tmax) return null; + if (tzmin > tmin || tmin !== tmin) tmin = tzmin; + if (tzmax < tmax || tmax !== tmax) tmax = tzmax; //return point closest to the ray (positive side) - var x = this.x, y = this.y, z = this.z; - var e = m.elements; + if (tmax < 0) return null; + return this.at(tmin >= 0 ? tmin : tmax, target); + } - var w = 1 / ( e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] ); + intersectsBox(box) { + return this.intersectBox(box, _vector$a) !== null; + } - this.x = ( e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] ) * w; - this.y = ( e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] ) * w; - this.z = ( e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] ) * w; + intersectTriangle(a, b, c, backfaceCulling, target) { + // Compute the offset origin, edges, and normal. + // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h + _edge1.subVectors(b, a); - return this; + _edge2.subVectors(c, a); - }, + _normal$1.crossVectors(_edge1, _edge2); // Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction, + // E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by + // |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2)) + // |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q)) + // |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N) - applyQuaternion: function ( q ) { - var x = this.x, y = this.y, z = this.z; - var qx = q.x, qy = q.y, qz = q.z, qw = q.w; + let DdN = this.direction.dot(_normal$1); + let sign; - // calculate quat * vector + if (DdN > 0) { + if (backfaceCulling) return null; + sign = 1; + } else if (DdN < 0) { + sign = -1; + DdN = -DdN; + } else { + return null; + } - var ix = qw * x + qy * z - qz * y; - var iy = qw * y + qz * x - qx * z; - var iz = qw * z + qx * y - qy * x; - var iw = - qx * x - qy * y - qz * z; + _diff.subVectors(this.origin, a); - // calculate result * inverse quat + const DdQxE2 = sign * this.direction.dot(_edge2.crossVectors(_diff, _edge2)); // b1 < 0, no intersection - this.x = ix * qw + iw * - qx + iy * - qz - iz * - qy; - this.y = iy * qw + iw * - qy + iz * - qx - ix * - qz; - this.z = iz * qw + iw * - qz + ix * - qy - iy * - qx; + if (DdQxE2 < 0) { + return null; + } - return this; + const DdE1xQ = sign * this.direction.dot(_edge1.cross(_diff)); // b2 < 0, no intersection - }, + if (DdE1xQ < 0) { + return null; + } // b1+b2 > 1, no intersection - project: function ( camera ) { - return this.applyMatrix4( camera.matrixWorldInverse ).applyMatrix4( camera.projectionMatrix ); + if (DdQxE2 + DdE1xQ > DdN) { + return null; + } // Line intersects triangle, check if ray does. - }, - unproject: function ( camera ) { + const QdN = -sign * _diff.dot(_normal$1); // t < 0, no intersection - return this.applyMatrix4( camera.projectionMatrixInverse ).applyMatrix4( camera.matrixWorld ); - }, + if (QdN < 0) { + return null; + } // Ray intersects triangle. - transformDirection: function ( m ) { - // input: THREE.Matrix4 affine matrix - // vector interpreted as a direction + return this.at(QdN / DdN, target); + } - var x = this.x, y = this.y, z = this.z; - var e = m.elements; + applyMatrix4(matrix4) { + this.origin.applyMatrix4(matrix4); + this.direction.transformDirection(matrix4); + return this; + } - this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z; - this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z; - this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z; + equals(ray) { + return ray.origin.equals(this.origin) && ray.direction.equals(this.direction); + } - return this.normalize(); + clone() { + return new this.constructor().copy(this); + } - }, + } - divide: function ( v ) { + class Matrix4 { + constructor() { + this.elements = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; - this.x /= v.x; - this.y /= v.y; - this.z /= v.z; + if (arguments.length > 0) { + console.error('THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.'); + } + } + set(n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44) { + const te = this.elements; + te[0] = n11; + te[4] = n12; + te[8] = n13; + te[12] = n14; + te[1] = n21; + te[5] = n22; + te[9] = n23; + te[13] = n24; + te[2] = n31; + te[6] = n32; + te[10] = n33; + te[14] = n34; + te[3] = n41; + te[7] = n42; + te[11] = n43; + te[15] = n44; return this; + } - }, - - divideScalar: function ( scalar ) { - - return this.multiplyScalar( 1 / scalar ); - - }, + identity() { + this.set(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + return this; + } - min: function ( v ) { + clone() { + return new Matrix4().fromArray(this.elements); + } - this.x = Math.min( this.x, v.x ); - this.y = Math.min( this.y, v.y ); - this.z = Math.min( this.z, v.z ); + copy(m) { + const te = this.elements; + const me = m.elements; + te[0] = me[0]; + te[1] = me[1]; + te[2] = me[2]; + te[3] = me[3]; + te[4] = me[4]; + te[5] = me[5]; + te[6] = me[6]; + te[7] = me[7]; + te[8] = me[8]; + te[9] = me[9]; + te[10] = me[10]; + te[11] = me[11]; + te[12] = me[12]; + te[13] = me[13]; + te[14] = me[14]; + te[15] = me[15]; + return this; + } + copyPosition(m) { + const te = this.elements, + me = m.elements; + te[12] = me[12]; + te[13] = me[13]; + te[14] = me[14]; return this; + } - }, + setFromMatrix3(m) { + const me = m.elements; + this.set(me[0], me[3], me[6], 0, me[1], me[4], me[7], 0, me[2], me[5], me[8], 0, 0, 0, 0, 1); + return this; + } - max: function ( v ) { + extractBasis(xAxis, yAxis, zAxis) { + xAxis.setFromMatrixColumn(this, 0); + yAxis.setFromMatrixColumn(this, 1); + zAxis.setFromMatrixColumn(this, 2); + return this; + } + + makeBasis(xAxis, yAxis, zAxis) { + this.set(xAxis.x, yAxis.x, zAxis.x, 0, xAxis.y, yAxis.y, zAxis.y, 0, xAxis.z, yAxis.z, zAxis.z, 0, 0, 0, 0, 1); + return this; + } + + extractRotation(m) { + // this method does not support reflection matrices + const te = this.elements; + const me = m.elements; + + const scaleX = 1 / _v1$5.setFromMatrixColumn(m, 0).length(); + + const scaleY = 1 / _v1$5.setFromMatrixColumn(m, 1).length(); + + const scaleZ = 1 / _v1$5.setFromMatrixColumn(m, 2).length(); + + te[0] = me[0] * scaleX; + te[1] = me[1] * scaleX; + te[2] = me[2] * scaleX; + te[3] = 0; + te[4] = me[4] * scaleY; + te[5] = me[5] * scaleY; + te[6] = me[6] * scaleY; + te[7] = 0; + te[8] = me[8] * scaleZ; + te[9] = me[9] * scaleZ; + te[10] = me[10] * scaleZ; + te[11] = 0; + te[12] = 0; + te[13] = 0; + te[14] = 0; + te[15] = 1; + return this; + } + + makeRotationFromEuler(euler) { + if (!(euler && euler.isEuler)) { + console.error('THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.'); + } + + const te = this.elements; + const x = euler.x, + y = euler.y, + z = euler.z; + const a = Math.cos(x), + b = Math.sin(x); + const c = Math.cos(y), + d = Math.sin(y); + const e = Math.cos(z), + f = Math.sin(z); + + if (euler.order === 'XYZ') { + const ae = a * e, + af = a * f, + be = b * e, + bf = b * f; + te[0] = c * e; + te[4] = -c * f; + te[8] = d; + te[1] = af + be * d; + te[5] = ae - bf * d; + te[9] = -b * c; + te[2] = bf - ae * d; + te[6] = be + af * d; + te[10] = a * c; + } else if (euler.order === 'YXZ') { + const ce = c * e, + cf = c * f, + de = d * e, + df = d * f; + te[0] = ce + df * b; + te[4] = de * b - cf; + te[8] = a * d; + te[1] = a * f; + te[5] = a * e; + te[9] = -b; + te[2] = cf * b - de; + te[6] = df + ce * b; + te[10] = a * c; + } else if (euler.order === 'ZXY') { + const ce = c * e, + cf = c * f, + de = d * e, + df = d * f; + te[0] = ce - df * b; + te[4] = -a * f; + te[8] = de + cf * b; + te[1] = cf + de * b; + te[5] = a * e; + te[9] = df - ce * b; + te[2] = -a * d; + te[6] = b; + te[10] = a * c; + } else if (euler.order === 'ZYX') { + const ae = a * e, + af = a * f, + be = b * e, + bf = b * f; + te[0] = c * e; + te[4] = be * d - af; + te[8] = ae * d + bf; + te[1] = c * f; + te[5] = bf * d + ae; + te[9] = af * d - be; + te[2] = -d; + te[6] = b * c; + te[10] = a * c; + } else if (euler.order === 'YZX') { + const ac = a * c, + ad = a * d, + bc = b * c, + bd = b * d; + te[0] = c * e; + te[4] = bd - ac * f; + te[8] = bc * f + ad; + te[1] = f; + te[5] = a * e; + te[9] = -b * e; + te[2] = -d * e; + te[6] = ad * f + bc; + te[10] = ac - bd * f; + } else if (euler.order === 'XZY') { + const ac = a * c, + ad = a * d, + bc = b * c, + bd = b * d; + te[0] = c * e; + te[4] = -f; + te[8] = d * e; + te[1] = ac * f + bd; + te[5] = a * e; + te[9] = ad * f - bc; + te[2] = bc * f - ad; + te[6] = b * e; + te[10] = bd * f + ac; + } // bottom row + + + te[3] = 0; + te[7] = 0; + te[11] = 0; // last column + + te[12] = 0; + te[13] = 0; + te[14] = 0; + te[15] = 1; + return this; + } + + makeRotationFromQuaternion(q) { + return this.compose(_zero, q, _one); + } + + lookAt(eye, target, up) { + const te = this.elements; + + _z.subVectors(eye, target); + + if (_z.lengthSq() === 0) { + // eye and target are in the same position + _z.z = 1; + } + + _z.normalize(); + + _x.crossVectors(up, _z); + + if (_x.lengthSq() === 0) { + // up and z are parallel + if (Math.abs(up.z) === 1) { + _z.x += 0.0001; + } else { + _z.z += 0.0001; + } + + _z.normalize(); + + _x.crossVectors(up, _z); + } + + _x.normalize(); + + _y.crossVectors(_z, _x); + + te[0] = _x.x; + te[4] = _y.x; + te[8] = _z.x; + te[1] = _x.y; + te[5] = _y.y; + te[9] = _z.y; + te[2] = _x.z; + te[6] = _y.z; + te[10] = _z.z; + return this; + } + + multiply(m, n) { + if (n !== undefined) { + console.warn('THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.'); + return this.multiplyMatrices(m, n); + } + + return this.multiplyMatrices(this, m); + } + + premultiply(m) { + return this.multiplyMatrices(m, this); + } + + multiplyMatrices(a, b) { + const ae = a.elements; + const be = b.elements; + const te = this.elements; + const a11 = ae[0], + a12 = ae[4], + a13 = ae[8], + a14 = ae[12]; + const a21 = ae[1], + a22 = ae[5], + a23 = ae[9], + a24 = ae[13]; + const a31 = ae[2], + a32 = ae[6], + a33 = ae[10], + a34 = ae[14]; + const a41 = ae[3], + a42 = ae[7], + a43 = ae[11], + a44 = ae[15]; + const b11 = be[0], + b12 = be[4], + b13 = be[8], + b14 = be[12]; + const b21 = be[1], + b22 = be[5], + b23 = be[9], + b24 = be[13]; + const b31 = be[2], + b32 = be[6], + b33 = be[10], + b34 = be[14]; + const b41 = be[3], + b42 = be[7], + b43 = be[11], + b44 = be[15]; + te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + return this; + } + + multiplyScalar(s) { + const te = this.elements; + te[0] *= s; + te[4] *= s; + te[8] *= s; + te[12] *= s; + te[1] *= s; + te[5] *= s; + te[9] *= s; + te[13] *= s; + te[2] *= s; + te[6] *= s; + te[10] *= s; + te[14] *= s; + te[3] *= s; + te[7] *= s; + te[11] *= s; + te[15] *= s; + return this; + } + + determinant() { + const te = this.elements; + const n11 = te[0], + n12 = te[4], + n13 = te[8], + n14 = te[12]; + const n21 = te[1], + n22 = te[5], + n23 = te[9], + n24 = te[13]; + const n31 = te[2], + n32 = te[6], + n33 = te[10], + n34 = te[14]; + const n41 = te[3], + n42 = te[7], + n43 = te[11], + n44 = te[15]; //TODO: make this more efficient + //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm ) - this.x = Math.max( this.x, v.x ); - this.y = Math.max( this.y, v.y ); - this.z = Math.max( this.z, v.z ); + return n41 * (+n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34) + n42 * (+n11 * n23 * n34 - n11 * n24 * n33 + n14 * n21 * n33 - n13 * n21 * n34 + n13 * n24 * n31 - n14 * n23 * n31) + n43 * (+n11 * n24 * n32 - n11 * n22 * n34 - n14 * n21 * n32 + n12 * n21 * n34 + n14 * n22 * n31 - n12 * n24 * n31) + n44 * (-n13 * n22 * n31 - n11 * n23 * n32 + n11 * n22 * n33 + n13 * n21 * n32 - n12 * n21 * n33 + n12 * n23 * n31); + } + + transpose() { + const te = this.elements; + let tmp; + tmp = te[1]; + te[1] = te[4]; + te[4] = tmp; + tmp = te[2]; + te[2] = te[8]; + te[8] = tmp; + tmp = te[6]; + te[6] = te[9]; + te[9] = tmp; + tmp = te[3]; + te[3] = te[12]; + te[12] = tmp; + tmp = te[7]; + te[7] = te[13]; + te[13] = tmp; + tmp = te[11]; + te[11] = te[14]; + te[14] = tmp; + return this; + } + + setPosition(x, y, z) { + const te = this.elements; + + if (x.isVector3) { + te[12] = x.x; + te[13] = x.y; + te[14] = x.z; + } else { + te[12] = x; + te[13] = y; + te[14] = z; + } return this; + } - }, - - clamp: function ( min, max ) { + invert() { + // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm + const te = this.elements, + n11 = te[0], + n21 = te[1], + n31 = te[2], + n41 = te[3], + n12 = te[4], + n22 = te[5], + n32 = te[6], + n42 = te[7], + n13 = te[8], + n23 = te[9], + n33 = te[10], + n43 = te[11], + n14 = te[12], + n24 = te[13], + n34 = te[14], + n44 = te[15], + t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, + t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, + t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, + t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; + const det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; + if (det === 0) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + const detInv = 1 / det; + te[0] = t11 * detInv; + te[1] = (n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44) * detInv; + te[2] = (n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44) * detInv; + te[3] = (n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43) * detInv; + te[4] = t12 * detInv; + te[5] = (n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44) * detInv; + te[6] = (n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44) * detInv; + te[7] = (n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43) * detInv; + te[8] = t13 * detInv; + te[9] = (n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44) * detInv; + te[10] = (n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44) * detInv; + te[11] = (n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43) * detInv; + te[12] = t14 * detInv; + te[13] = (n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34) * detInv; + te[14] = (n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34) * detInv; + te[15] = (n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33) * detInv; + return this; + } + + scale(v) { + const te = this.elements; + const x = v.x, + y = v.y, + z = v.z; + te[0] *= x; + te[4] *= y; + te[8] *= z; + te[1] *= x; + te[5] *= y; + te[9] *= z; + te[2] *= x; + te[6] *= y; + te[10] *= z; + te[3] *= x; + te[7] *= y; + te[11] *= z; + return this; + } + + getMaxScaleOnAxis() { + const te = this.elements; + const scaleXSq = te[0] * te[0] + te[1] * te[1] + te[2] * te[2]; + const scaleYSq = te[4] * te[4] + te[5] * te[5] + te[6] * te[6]; + const scaleZSq = te[8] * te[8] + te[9] * te[9] + te[10] * te[10]; + return Math.sqrt(Math.max(scaleXSq, scaleYSq, scaleZSq)); + } + + makeTranslation(x, y, z) { + this.set(1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1); + return this; + } + + makeRotationX(theta) { + const c = Math.cos(theta), + s = Math.sin(theta); + this.set(1, 0, 0, 0, 0, c, -s, 0, 0, s, c, 0, 0, 0, 0, 1); + return this; + } + + makeRotationY(theta) { + const c = Math.cos(theta), + s = Math.sin(theta); + this.set(c, 0, s, 0, 0, 1, 0, 0, -s, 0, c, 0, 0, 0, 0, 1); + return this; + } + + makeRotationZ(theta) { + const c = Math.cos(theta), + s = Math.sin(theta); + this.set(c, -s, 0, 0, s, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + return this; + } + + makeRotationAxis(axis, angle) { + // Based on http://www.gamedev.net/reference/articles/article1199.asp + const c = Math.cos(angle); + const s = Math.sin(angle); + const t = 1 - c; + const x = axis.x, + y = axis.y, + z = axis.z; + const tx = t * x, + ty = t * y; + this.set(tx * x + c, tx * y - s * z, tx * z + s * y, 0, tx * y + s * z, ty * y + c, ty * z - s * x, 0, tx * z - s * y, ty * z + s * x, t * z * z + c, 0, 0, 0, 0, 1); + return this; + } + + makeScale(x, y, z) { + this.set(x, 0, 0, 0, 0, y, 0, 0, 0, 0, z, 0, 0, 0, 0, 1); + return this; + } + + makeShear(xy, xz, yx, yz, zx, zy) { + this.set(1, yx, zx, 0, xy, 1, zy, 0, xz, yz, 1, 0, 0, 0, 0, 1); + return this; + } + + compose(position, quaternion, scale) { + const te = this.elements; + const x = quaternion._x, + y = quaternion._y, + z = quaternion._z, + w = quaternion._w; + const x2 = x + x, + y2 = y + y, + z2 = z + z; + const xx = x * x2, + xy = x * y2, + xz = x * z2; + const yy = y * y2, + yz = y * z2, + zz = z * z2; + const wx = w * x2, + wy = w * y2, + wz = w * z2; + const sx = scale.x, + sy = scale.y, + sz = scale.z; + te[0] = (1 - (yy + zz)) * sx; + te[1] = (xy + wz) * sx; + te[2] = (xz - wy) * sx; + te[3] = 0; + te[4] = (xy - wz) * sy; + te[5] = (1 - (xx + zz)) * sy; + te[6] = (yz + wx) * sy; + te[7] = 0; + te[8] = (xz + wy) * sz; + te[9] = (yz - wx) * sz; + te[10] = (1 - (xx + yy)) * sz; + te[11] = 0; + te[12] = position.x; + te[13] = position.y; + te[14] = position.z; + te[15] = 1; + return this; + } + + decompose(position, quaternion, scale) { + const te = this.elements; + + let sx = _v1$5.set(te[0], te[1], te[2]).length(); + + const sy = _v1$5.set(te[4], te[5], te[6]).length(); + + const sz = _v1$5.set(te[8], te[9], te[10]).length(); // if determine is negative, we need to invert one scale + + + const det = this.determinant(); + if (det < 0) sx = -sx; + position.x = te[12]; + position.y = te[13]; + position.z = te[14]; // scale the rotation part + + _m1$2.copy(this); + + const invSX = 1 / sx; + const invSY = 1 / sy; + const invSZ = 1 / sz; + _m1$2.elements[0] *= invSX; + _m1$2.elements[1] *= invSX; + _m1$2.elements[2] *= invSX; + _m1$2.elements[4] *= invSY; + _m1$2.elements[5] *= invSY; + _m1$2.elements[6] *= invSY; + _m1$2.elements[8] *= invSZ; + _m1$2.elements[9] *= invSZ; + _m1$2.elements[10] *= invSZ; + quaternion.setFromRotationMatrix(_m1$2); + scale.x = sx; + scale.y = sy; + scale.z = sz; + return this; + } + + makePerspective(left, right, top, bottom, near, far) { + if (far === undefined) { + console.warn('THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.'); + } + + const te = this.elements; + const x = 2 * near / (right - left); + const y = 2 * near / (top - bottom); + const a = (right + left) / (right - left); + const b = (top + bottom) / (top - bottom); + const c = -(far + near) / (far - near); + const d = -2 * far * near / (far - near); + te[0] = x; + te[4] = 0; + te[8] = a; + te[12] = 0; + te[1] = 0; + te[5] = y; + te[9] = b; + te[13] = 0; + te[2] = 0; + te[6] = 0; + te[10] = c; + te[14] = d; + te[3] = 0; + te[7] = 0; + te[11] = -1; + te[15] = 0; + return this; + } + + makeOrthographic(left, right, top, bottom, near, far) { + const te = this.elements; + const w = 1.0 / (right - left); + const h = 1.0 / (top - bottom); + const p = 1.0 / (far - near); + const x = (right + left) * w; + const y = (top + bottom) * h; + const z = (far + near) * p; + te[0] = 2 * w; + te[4] = 0; + te[8] = 0; + te[12] = -x; + te[1] = 0; + te[5] = 2 * h; + te[9] = 0; + te[13] = -y; + te[2] = 0; + te[6] = 0; + te[10] = -2 * p; + te[14] = -z; + te[3] = 0; + te[7] = 0; + te[11] = 0; + te[15] = 1; + return this; + } + + equals(matrix) { + const te = this.elements; + const me = matrix.elements; + + for (let i = 0; i < 16; i++) { + if (te[i] !== me[i]) return false; + } - // assumes min < max, componentwise + return true; + } - this.x = Math.max( min.x, Math.min( max.x, this.x ) ); - this.y = Math.max( min.y, Math.min( max.y, this.y ) ); - this.z = Math.max( min.z, Math.min( max.z, this.z ) ); + fromArray(array, offset = 0) { + for (let i = 0; i < 16; i++) { + this.elements[i] = array[i + offset]; + } return this; + } - }, + toArray(array = [], offset = 0) { + const te = this.elements; + array[offset] = te[0]; + array[offset + 1] = te[1]; + array[offset + 2] = te[2]; + array[offset + 3] = te[3]; + array[offset + 4] = te[4]; + array[offset + 5] = te[5]; + array[offset + 6] = te[6]; + array[offset + 7] = te[7]; + array[offset + 8] = te[8]; + array[offset + 9] = te[9]; + array[offset + 10] = te[10]; + array[offset + 11] = te[11]; + array[offset + 12] = te[12]; + array[offset + 13] = te[13]; + array[offset + 14] = te[14]; + array[offset + 15] = te[15]; + return array; + } - clampScalar: function () { + } - var min = new Vector3(); - var max = new Vector3(); + Matrix4.prototype.isMatrix4 = true; - return function clampScalar( minVal, maxVal ) { + const _v1$5 = /*@__PURE__*/new Vector3(); - min.set( minVal, minVal, minVal ); - max.set( maxVal, maxVal, maxVal ); + const _m1$2 = /*@__PURE__*/new Matrix4(); - return this.clamp( min, max ); + const _zero = /*@__PURE__*/new Vector3(0, 0, 0); - }; + const _one = /*@__PURE__*/new Vector3(1, 1, 1); - }(), + const _x = /*@__PURE__*/new Vector3(); - clampLength: function ( min, max ) { + const _y = /*@__PURE__*/new Vector3(); - var length = this.length(); + const _z = /*@__PURE__*/new Vector3(); - return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + const _matrix$1 = /*@__PURE__*/new Matrix4(); - }, + const _quaternion$3 = /*@__PURE__*/new Quaternion(); - floor: function () { + class Euler { + constructor(x = 0, y = 0, z = 0, order = Euler.DefaultOrder) { + this._x = x; + this._y = y; + this._z = z; + this._order = order; + } - this.x = Math.floor( this.x ); - this.y = Math.floor( this.y ); - this.z = Math.floor( this.z ); + get x() { + return this._x; + } - return this; + set x(value) { + this._x = value; - }, + this._onChangeCallback(); + } - ceil: function () { + get y() { + return this._y; + } - this.x = Math.ceil( this.x ); - this.y = Math.ceil( this.y ); - this.z = Math.ceil( this.z ); + set y(value) { + this._y = value; - return this; + this._onChangeCallback(); + } - }, + get z() { + return this._z; + } - round: function () { + set z(value) { + this._z = value; - this.x = Math.round( this.x ); - this.y = Math.round( this.y ); - this.z = Math.round( this.z ); + this._onChangeCallback(); + } - return this; + get order() { + return this._order; + } - }, + set order(value) { + this._order = value; + + this._onChangeCallback(); + } - roundToZero: function () { + set(x, y, z, order = this._order) { + this._x = x; + this._y = y; + this._z = z; + this._order = order; - this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); - this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); - this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); + this._onChangeCallback(); return this; + } - }, + clone() { + return new this.constructor(this._x, this._y, this._z, this._order); + } - negate: function () { + copy(euler) { + this._x = euler._x; + this._y = euler._y; + this._z = euler._z; + this._order = euler._order; - this.x = - this.x; - this.y = - this.y; - this.z = - this.z; + this._onChangeCallback(); return this; + } - }, - - dot: function ( v ) { - - return this.x * v.x + this.y * v.y + this.z * v.z; - - }, - - // TODO lengthSquared? + setFromRotationMatrix(m, order = this._order, update = true) { + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + const te = m.elements; + const m11 = te[0], + m12 = te[4], + m13 = te[8]; + const m21 = te[1], + m22 = te[5], + m23 = te[9]; + const m31 = te[2], + m32 = te[6], + m33 = te[10]; + + switch (order) { + case 'XYZ': + this._y = Math.asin(clamp(m13, -1, 1)); + + if (Math.abs(m13) < 0.9999999) { + this._x = Math.atan2(-m23, m33); + this._z = Math.atan2(-m12, m11); + } else { + this._x = Math.atan2(m32, m22); + this._z = 0; + } - lengthSq: function () { + break; - return this.x * this.x + this.y * this.y + this.z * this.z; + case 'YXZ': + this._x = Math.asin(-clamp(m23, -1, 1)); - }, + if (Math.abs(m23) < 0.9999999) { + this._y = Math.atan2(m13, m33); + this._z = Math.atan2(m21, m22); + } else { + this._y = Math.atan2(-m31, m11); + this._z = 0; + } - length: function () { + break; - return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z ); + case 'ZXY': + this._x = Math.asin(clamp(m32, -1, 1)); - }, + if (Math.abs(m32) < 0.9999999) { + this._y = Math.atan2(-m31, m33); + this._z = Math.atan2(-m12, m22); + } else { + this._y = 0; + this._z = Math.atan2(m21, m11); + } - manhattanLength: function () { + break; - return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ); + case 'ZYX': + this._y = Math.asin(-clamp(m31, -1, 1)); - }, + if (Math.abs(m31) < 0.9999999) { + this._x = Math.atan2(m32, m33); + this._z = Math.atan2(m21, m11); + } else { + this._x = 0; + this._z = Math.atan2(-m12, m22); + } - normalize: function () { + break; - return this.divideScalar( this.length() || 1 ); + case 'YZX': + this._z = Math.asin(clamp(m21, -1, 1)); - }, + if (Math.abs(m21) < 0.9999999) { + this._x = Math.atan2(-m23, m22); + this._y = Math.atan2(-m31, m11); + } else { + this._x = 0; + this._y = Math.atan2(m13, m33); + } - setLength: function ( length ) { + break; - return this.normalize().multiplyScalar( length ); + case 'XZY': + this._z = Math.asin(-clamp(m12, -1, 1)); - }, + if (Math.abs(m12) < 0.9999999) { + this._x = Math.atan2(m32, m22); + this._y = Math.atan2(m13, m11); + } else { + this._x = Math.atan2(-m23, m33); + this._y = 0; + } - lerp: function ( v, alpha ) { + break; - this.x += ( v.x - this.x ) * alpha; - this.y += ( v.y - this.y ) * alpha; - this.z += ( v.z - this.z ) * alpha; + default: + console.warn('THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + order); + } + this._order = order; + if (update === true) this._onChangeCallback(); return this; + } - }, - - lerpVectors: function ( v1, v2, alpha ) { - - return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + setFromQuaternion(q, order, update) { + _matrix$1.makeRotationFromQuaternion(q); - }, + return this.setFromRotationMatrix(_matrix$1, order, update); + } - cross: function ( v, w ) { + setFromVector3(v, order = this._order) { + return this.set(v.x, v.y, v.z, order); + } - if ( w !== undefined ) { + reorder(newOrder) { + // WARNING: this discards revolution information -bhouston + _quaternion$3.setFromEuler(this); - console.warn( 'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.' ); - return this.crossVectors( v, w ); + return this.setFromQuaternion(_quaternion$3, newOrder); + } - } + equals(euler) { + return euler._x === this._x && euler._y === this._y && euler._z === this._z && euler._order === this._order; + } - return this.crossVectors( this, v ); + fromArray(array) { + this._x = array[0]; + this._y = array[1]; + this._z = array[2]; + if (array[3] !== undefined) this._order = array[3]; - }, + this._onChangeCallback(); - crossVectors: function ( a, b ) { + return this; + } - var ax = a.x, ay = a.y, az = a.z; - var bx = b.x, by = b.y, bz = b.z; + toArray(array = [], offset = 0) { + array[offset] = this._x; + array[offset + 1] = this._y; + array[offset + 2] = this._z; + array[offset + 3] = this._order; + return array; + } - this.x = ay * bz - az * by; - this.y = az * bx - ax * bz; - this.z = ax * by - ay * bx; + toVector3(optionalResult) { + if (optionalResult) { + return optionalResult.set(this._x, this._y, this._z); + } else { + return new Vector3(this._x, this._y, this._z); + } + } + _onChange(callback) { + this._onChangeCallback = callback; return this; + } - }, - - projectOnVector: function ( vector ) { + _onChangeCallback() {} - var scalar = vector.dot( this ) / vector.lengthSq(); + } - return this.copy( vector ).multiplyScalar( scalar ); + Euler.prototype.isEuler = true; + Euler.DefaultOrder = 'XYZ'; + Euler.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX']; - }, + class Layers { + constructor() { + this.mask = 1 | 0; + } - projectOnPlane: function () { + set(channel) { + this.mask = 1 << channel | 0; + } - var v1 = new Vector3(); + enable(channel) { + this.mask |= 1 << channel | 0; + } - return function projectOnPlane( planeNormal ) { + enableAll() { + this.mask = 0xffffffff | 0; + } - v1.copy( this ).projectOnVector( planeNormal ); + toggle(channel) { + this.mask ^= 1 << channel | 0; + } - return this.sub( v1 ); + disable(channel) { + this.mask &= ~(1 << channel | 0); + } - }; + disableAll() { + this.mask = 0; + } - }(), + test(layers) { + return (this.mask & layers.mask) !== 0; + } - reflect: function () { + } - // reflect incident vector off plane orthogonal to normal - // normal is assumed to have unit length + let _object3DId = 0; - var v1 = new Vector3(); + const _v1$4 = /*@__PURE__*/new Vector3(); - return function reflect( normal ) { + const _q1 = /*@__PURE__*/new Quaternion(); - return this.sub( v1.copy( normal ).multiplyScalar( 2 * this.dot( normal ) ) ); + const _m1$1 = /*@__PURE__*/new Matrix4(); - }; + const _target = /*@__PURE__*/new Vector3(); - }(), + const _position$3 = /*@__PURE__*/new Vector3(); - angleTo: function ( v ) { + const _scale$2 = /*@__PURE__*/new Vector3(); - var theta = this.dot( v ) / ( Math.sqrt( this.lengthSq() * v.lengthSq() ) ); + const _quaternion$2 = /*@__PURE__*/new Quaternion(); - // clamp, to handle numerical problems + const _xAxis = /*@__PURE__*/new Vector3(1, 0, 0); - return Math.acos( _Math.clamp( theta, - 1, 1 ) ); + const _yAxis = /*@__PURE__*/new Vector3(0, 1, 0); - }, + const _zAxis = /*@__PURE__*/new Vector3(0, 0, 1); - distanceTo: function ( v ) { + const _addedEvent = { + type: 'added' + }; + const _removedEvent = { + type: 'removed' + }; - return Math.sqrt( this.distanceToSquared( v ) ); + class Object3D extends EventDispatcher { + constructor() { + super(); + Object.defineProperty(this, 'id', { + value: _object3DId++ + }); + this.uuid = generateUUID(); + this.name = ''; + this.type = 'Object3D'; + this.parent = null; + this.children = []; + this.up = Object3D.DefaultUp.clone(); + const position = new Vector3(); + const rotation = new Euler(); + const quaternion = new Quaternion(); + const scale = new Vector3(1, 1, 1); - }, + function onRotationChange() { + quaternion.setFromEuler(rotation, false); + } - distanceToSquared: function ( v ) { + function onQuaternionChange() { + rotation.setFromQuaternion(quaternion, undefined, false); + } - var dx = this.x - v.x, dy = this.y - v.y, dz = this.z - v.z; + rotation._onChange(onRotationChange); - return dx * dx + dy * dy + dz * dz; + quaternion._onChange(onQuaternionChange); - }, + Object.defineProperties(this, { + position: { + configurable: true, + enumerable: true, + value: position + }, + rotation: { + configurable: true, + enumerable: true, + value: rotation + }, + quaternion: { + configurable: true, + enumerable: true, + value: quaternion + }, + scale: { + configurable: true, + enumerable: true, + value: scale + }, + modelViewMatrix: { + value: new Matrix4() + }, + normalMatrix: { + value: new Matrix3() + } + }); + this.matrix = new Matrix4(); + this.matrixWorld = new Matrix4(); + this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; + this.matrixWorldNeedsUpdate = false; + this.layers = new Layers(); + this.visible = true; + this.castShadow = false; + this.receiveShadow = false; + this.frustumCulled = true; + this.renderOrder = 0; + this.animations = []; + this.userData = {}; + } - manhattanDistanceTo: function ( v ) { + onBeforeRender() {} - return Math.abs( this.x - v.x ) + Math.abs( this.y - v.y ) + Math.abs( this.z - v.z ); + onAfterRender() {} - }, + applyMatrix4(matrix) { + if (this.matrixAutoUpdate) this.updateMatrix(); + this.matrix.premultiply(matrix); + this.matrix.decompose(this.position, this.quaternion, this.scale); + } - setFromSpherical: function ( s ) { + applyQuaternion(q) { + this.quaternion.premultiply(q); + return this; + } - return this.setFromSphericalCoords( s.radius, s.phi, s.theta ); + setRotationFromAxisAngle(axis, angle) { + // assumes axis is normalized + this.quaternion.setFromAxisAngle(axis, angle); + } - }, + setRotationFromEuler(euler) { + this.quaternion.setFromEuler(euler, true); + } - setFromSphericalCoords: function ( radius, phi, theta ) { + setRotationFromMatrix(m) { + // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + this.quaternion.setFromRotationMatrix(m); + } - var sinPhiRadius = Math.sin( phi ) * radius; + setRotationFromQuaternion(q) { + // assumes q is normalized + this.quaternion.copy(q); + } - this.x = sinPhiRadius * Math.sin( theta ); - this.y = Math.cos( phi ) * radius; - this.z = sinPhiRadius * Math.cos( theta ); + rotateOnAxis(axis, angle) { + // rotate object on axis in object space + // axis is assumed to be normalized + _q1.setFromAxisAngle(axis, angle); + this.quaternion.multiply(_q1); return this; + } - }, - - setFromCylindrical: function ( c ) { - - return this.setFromCylindricalCoords( c.radius, c.theta, c.y ); - - }, - - setFromCylindricalCoords: function ( radius, theta, y ) { - - this.x = radius * Math.sin( theta ); - this.y = y; - this.z = radius * Math.cos( theta ); + rotateOnWorldAxis(axis, angle) { + // rotate object on axis in world space + // axis is assumed to be normalized + // method assumes no rotated parent + _q1.setFromAxisAngle(axis, angle); + this.quaternion.premultiply(_q1); return this; + } - }, + rotateX(angle) { + return this.rotateOnAxis(_xAxis, angle); + } - setFromMatrixPosition: function ( m ) { + rotateY(angle) { + return this.rotateOnAxis(_yAxis, angle); + } - var e = m.elements; + rotateZ(angle) { + return this.rotateOnAxis(_zAxis, angle); + } - this.x = e[ 12 ]; - this.y = e[ 13 ]; - this.z = e[ 14 ]; + translateOnAxis(axis, distance) { + // translate object by distance along axis in object space + // axis is assumed to be normalized + _v1$4.copy(axis).applyQuaternion(this.quaternion); + this.position.add(_v1$4.multiplyScalar(distance)); return this; + } - }, + translateX(distance) { + return this.translateOnAxis(_xAxis, distance); + } - setFromMatrixScale: function ( m ) { + translateY(distance) { + return this.translateOnAxis(_yAxis, distance); + } - var sx = this.setFromMatrixColumn( m, 0 ).length(); - var sy = this.setFromMatrixColumn( m, 1 ).length(); - var sz = this.setFromMatrixColumn( m, 2 ).length(); + translateZ(distance) { + return this.translateOnAxis(_zAxis, distance); + } - this.x = sx; - this.y = sy; - this.z = sz; + localToWorld(vector) { + return vector.applyMatrix4(this.matrixWorld); + } - return this; + worldToLocal(vector) { + return vector.applyMatrix4(_m1$1.copy(this.matrixWorld).invert()); + } - }, + lookAt(x, y, z) { + // This method does not support objects having non-uniformly-scaled parent(s) + if (x.isVector3) { + _target.copy(x); + } else { + _target.set(x, y, z); + } - setFromMatrixColumn: function ( m, index ) { + const parent = this.parent; + this.updateWorldMatrix(true, false); - return this.fromArray( m.elements, index * 4 ); + _position$3.setFromMatrixPosition(this.matrixWorld); - }, + if (this.isCamera || this.isLight) { + _m1$1.lookAt(_position$3, _target, this.up); + } else { + _m1$1.lookAt(_target, _position$3, this.up); + } - equals: function ( v ) { + this.quaternion.setFromRotationMatrix(_m1$1); - return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) ); + if (parent) { + _m1$1.extractRotation(parent.matrixWorld); - }, + _q1.setFromRotationMatrix(_m1$1); - fromArray: function ( array, offset ) { + this.quaternion.premultiply(_q1.invert()); + } + } - if ( offset === undefined ) offset = 0; + add(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.add(arguments[i]); + } - this.x = array[ offset ]; - this.y = array[ offset + 1 ]; - this.z = array[ offset + 2 ]; + return this; + } - return this; + if (object === this) { + console.error('THREE.Object3D.add: object can\'t be added as a child of itself.', object); + return this; + } - }, + if (object && object.isObject3D) { + if (object.parent !== null) { + object.parent.remove(object); + } - toArray: function ( array, offset ) { + object.parent = this; + this.children.push(object); + object.dispatchEvent(_addedEvent); + } else { + console.error('THREE.Object3D.add: object not an instance of THREE.Object3D.', object); + } - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; + return this; + } - array[ offset ] = this.x; - array[ offset + 1 ] = this.y; - array[ offset + 2 ] = this.z; + remove(object) { + if (arguments.length > 1) { + for (let i = 0; i < arguments.length; i++) { + this.remove(arguments[i]); + } - return array; + return this; + } - }, + const index = this.children.indexOf(object); - fromBufferAttribute: function ( attribute, index, offset ) { + if (index !== -1) { + object.parent = null; + this.children.splice(index, 1); + object.dispatchEvent(_removedEvent); + } - if ( offset !== undefined ) { + return this; + } - console.warn( 'THREE.Vector3: offset has been removed from .fromBufferAttribute().' ); + removeFromParent() { + const parent = this.parent; + if (parent !== null) { + parent.remove(this); } - this.x = attribute.getX( index ); - this.y = attribute.getY( index ); - this.z = attribute.getZ( index ); - return this; - } - } ); - - /** - * @author alteredq / http://alteredqualia.com/ - * @author WestLangley / http://github.com/WestLangley - * @author bhouston / http://clara.io - * @author tschw - */ + clear() { + for (let i = 0; i < this.children.length; i++) { + const object = this.children[i]; + object.parent = null; + object.dispatchEvent(_removedEvent); + } - function Matrix3() { + this.children.length = 0; + return this; + } - this.elements = [ + attach(object) { + // adds object as a child of this, while maintaining the object's world transform + this.updateWorldMatrix(true, false); - 1, 0, 0, - 0, 1, 0, - 0, 0, 1 + _m1$1.copy(this.matrixWorld).invert(); - ]; + if (object.parent !== null) { + object.parent.updateWorldMatrix(true, false); - if ( arguments.length > 0 ) { + _m1$1.multiply(object.parent.matrixWorld); + } - console.error( 'THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.' ); + object.applyMatrix4(_m1$1); + this.add(object); + object.updateWorldMatrix(false, true); + return this; + } + getObjectById(id) { + return this.getObjectByProperty('id', id); } - } + getObjectByName(name) { + return this.getObjectByProperty('name', name); + } - Object.assign( Matrix3.prototype, { + getObjectByProperty(name, value) { + if (this[name] === value) return this; - isMatrix3: true, + for (let i = 0, l = this.children.length; i < l; i++) { + const child = this.children[i]; + const object = child.getObjectByProperty(name, value); - set: function ( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) { + if (object !== undefined) { + return object; + } + } - var te = this.elements; + return undefined; + } - te[ 0 ] = n11; te[ 1 ] = n21; te[ 2 ] = n31; - te[ 3 ] = n12; te[ 4 ] = n22; te[ 5 ] = n32; - te[ 6 ] = n13; te[ 7 ] = n23; te[ 8 ] = n33; + getWorldPosition(target) { + this.updateWorldMatrix(true, false); + return target.setFromMatrixPosition(this.matrixWorld); + } - return this; + getWorldQuaternion(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, target, _scale$2); + return target; + } - }, + getWorldScale(target) { + this.updateWorldMatrix(true, false); + this.matrixWorld.decompose(_position$3, _quaternion$2, target); + return target; + } - identity: function () { + getWorldDirection(target) { + this.updateWorldMatrix(true, false); + const e = this.matrixWorld.elements; + return target.set(e[8], e[9], e[10]).normalize(); + } - this.set( + raycast() {} - 1, 0, 0, - 0, 1, 0, - 0, 0, 1 + traverse(callback) { + callback(this); + const children = this.children; - ); + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverse(callback); + } + } - return this; + traverseVisible(callback) { + if (this.visible === false) return; + callback(this); + const children = this.children; - }, + for (let i = 0, l = children.length; i < l; i++) { + children[i].traverseVisible(callback); + } + } - clone: function () { + traverseAncestors(callback) { + const parent = this.parent; - return new this.constructor().fromArray( this.elements ); + if (parent !== null) { + callback(parent); + parent.traverseAncestors(callback); + } + } - }, + updateMatrix() { + this.matrix.compose(this.position, this.quaternion, this.scale); + this.matrixWorldNeedsUpdate = true; + } - copy: function ( m ) { + updateMatrixWorld(force) { + if (this.matrixAutoUpdate) this.updateMatrix(); - var te = this.elements; - var me = m.elements; + if (this.matrixWorldNeedsUpdate || force) { + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } - te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; - te[ 3 ] = me[ 3 ]; te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; - te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; te[ 8 ] = me[ 8 ]; + this.matrixWorldNeedsUpdate = false; + force = true; + } // update children - return this; - }, + const children = this.children; - setFromMatrix4: function ( m ) { + for (let i = 0, l = children.length; i < l; i++) { + children[i].updateMatrixWorld(force); + } + } - var me = m.elements; + updateWorldMatrix(updateParents, updateChildren) { + const parent = this.parent; - this.set( + if (updateParents === true && parent !== null) { + parent.updateWorldMatrix(true, false); + } - me[ 0 ], me[ 4 ], me[ 8 ], - me[ 1 ], me[ 5 ], me[ 9 ], - me[ 2 ], me[ 6 ], me[ 10 ] + if (this.matrixAutoUpdate) this.updateMatrix(); - ); + if (this.parent === null) { + this.matrixWorld.copy(this.matrix); + } else { + this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix); + } // update children - return this; - }, + if (updateChildren === true) { + const children = this.children; - applyToBufferAttribute: function () { + for (let i = 0, l = children.length; i < l; i++) { + children[i].updateWorldMatrix(false, true); + } + } + } - var v1 = new Vector3(); + toJSON(meta) { + // meta is a string when called from JSON.stringify + const isRootObject = meta === undefined || typeof meta === 'string'; + const output = {}; // meta is a hash used to collect geometries, materials. + // not providing it implies that this is the root object + // being serialized. - return function applyToBufferAttribute( attribute ) { + if (isRootObject) { + // initialize meta obj + meta = { + geometries: {}, + materials: {}, + textures: {}, + images: {}, + shapes: {}, + skeletons: {}, + animations: {} + }; + output.metadata = { + version: 4.5, + type: 'Object', + generator: 'Object3D.toJSON' + }; + } // standard Object3D serialization - for ( var i = 0, l = attribute.count; i < l; i ++ ) { - v1.x = attribute.getX( i ); - v1.y = attribute.getY( i ); - v1.z = attribute.getZ( i ); + const object = {}; + object.uuid = this.uuid; + object.type = this.type; + if (this.name !== '') object.name = this.name; + if (this.castShadow === true) object.castShadow = true; + if (this.receiveShadow === true) object.receiveShadow = true; + if (this.visible === false) object.visible = false; + if (this.frustumCulled === false) object.frustumCulled = false; + if (this.renderOrder !== 0) object.renderOrder = this.renderOrder; + if (JSON.stringify(this.userData) !== '{}') object.userData = this.userData; + object.layers = this.layers.mask; + object.matrix = this.matrix.toArray(); + if (this.matrixAutoUpdate === false) object.matrixAutoUpdate = false; // object specific properties - v1.applyMatrix3( this ); + if (this.isInstancedMesh) { + object.type = 'InstancedMesh'; + object.count = this.count; + object.instanceMatrix = this.instanceMatrix.toJSON(); + if (this.instanceColor !== null) object.instanceColor = this.instanceColor.toJSON(); + } // - attribute.setXYZ( i, v1.x, v1.y, v1.z ); + function serialize(library, element) { + if (library[element.uuid] === undefined) { + library[element.uuid] = element.toJSON(meta); } - return attribute; - - }; + return element.uuid; + } - }(), + if (this.isScene) { + if (this.background) { + if (this.background.isColor) { + object.background = this.background.toJSON(); + } else if (this.background.isTexture) { + object.background = this.background.toJSON(meta).uuid; + } + } - multiply: function ( m ) { + if (this.environment && this.environment.isTexture) { + object.environment = this.environment.toJSON(meta).uuid; + } + } else if (this.isMesh || this.isLine || this.isPoints) { + object.geometry = serialize(meta.geometries, this.geometry); + const parameters = this.geometry.parameters; - return this.multiplyMatrices( this, m ); + if (parameters !== undefined && parameters.shapes !== undefined) { + const shapes = parameters.shapes; - }, - - premultiply: function ( m ) { - - return this.multiplyMatrices( m, this ); + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + serialize(meta.shapes, shape); + } + } else { + serialize(meta.shapes, shapes); + } + } + } - }, + if (this.isSkinnedMesh) { + object.bindMode = this.bindMode; + object.bindMatrix = this.bindMatrix.toArray(); - multiplyMatrices: function ( a, b ) { + if (this.skeleton !== undefined) { + serialize(meta.skeletons, this.skeleton); + object.skeleton = this.skeleton.uuid; + } + } - var ae = a.elements; - var be = b.elements; - var te = this.elements; + if (this.material !== undefined) { + if (Array.isArray(this.material)) { + const uuids = []; - var a11 = ae[ 0 ], a12 = ae[ 3 ], a13 = ae[ 6 ]; - var a21 = ae[ 1 ], a22 = ae[ 4 ], a23 = ae[ 7 ]; - var a31 = ae[ 2 ], a32 = ae[ 5 ], a33 = ae[ 8 ]; + for (let i = 0, l = this.material.length; i < l; i++) { + uuids.push(serialize(meta.materials, this.material[i])); + } - var b11 = be[ 0 ], b12 = be[ 3 ], b13 = be[ 6 ]; - var b21 = be[ 1 ], b22 = be[ 4 ], b23 = be[ 7 ]; - var b31 = be[ 2 ], b32 = be[ 5 ], b33 = be[ 8 ]; + object.material = uuids; + } else { + object.material = serialize(meta.materials, this.material); + } + } // - te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31; - te[ 3 ] = a11 * b12 + a12 * b22 + a13 * b32; - te[ 6 ] = a11 * b13 + a12 * b23 + a13 * b33; - te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31; - te[ 4 ] = a21 * b12 + a22 * b22 + a23 * b32; - te[ 7 ] = a21 * b13 + a22 * b23 + a23 * b33; + if (this.children.length > 0) { + object.children = []; - te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31; - te[ 5 ] = a31 * b12 + a32 * b22 + a33 * b32; - te[ 8 ] = a31 * b13 + a32 * b23 + a33 * b33; + for (let i = 0; i < this.children.length; i++) { + object.children.push(this.children[i].toJSON(meta).object); + } + } // - return this; - }, + if (this.animations.length > 0) { + object.animations = []; - multiplyScalar: function ( s ) { + for (let i = 0; i < this.animations.length; i++) { + const animation = this.animations[i]; + object.animations.push(serialize(meta.animations, animation)); + } + } - var te = this.elements; + if (isRootObject) { + const geometries = extractFromCache(meta.geometries); + const materials = extractFromCache(meta.materials); + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + const shapes = extractFromCache(meta.shapes); + const skeletons = extractFromCache(meta.skeletons); + const animations = extractFromCache(meta.animations); + if (geometries.length > 0) output.geometries = geometries; + if (materials.length > 0) output.materials = materials; + if (textures.length > 0) output.textures = textures; + if (images.length > 0) output.images = images; + if (shapes.length > 0) output.shapes = shapes; + if (skeletons.length > 0) output.skeletons = skeletons; + if (animations.length > 0) output.animations = animations; + } - te[ 0 ] *= s; te[ 3 ] *= s; te[ 6 ] *= s; - te[ 1 ] *= s; te[ 4 ] *= s; te[ 7 ] *= s; - te[ 2 ] *= s; te[ 5 ] *= s; te[ 8 ] *= s; + output.object = object; + return output; // extract data from the cache hash + // remove metadata on each item + // and return as array - return this; + function extractFromCache(cache) { + const values = []; - }, + for (const key in cache) { + const data = cache[key]; + delete data.metadata; + values.push(data); + } - determinant: function () { + return values; + } + } - var te = this.elements; + clone(recursive) { + return new this.constructor().copy(this, recursive); + } - var a = te[ 0 ], b = te[ 1 ], c = te[ 2 ], - d = te[ 3 ], e = te[ 4 ], f = te[ 5 ], - g = te[ 6 ], h = te[ 7 ], i = te[ 8 ]; + copy(source, recursive = true) { + this.name = source.name; + this.up.copy(source.up); + this.position.copy(source.position); + this.rotation.order = source.rotation.order; + this.quaternion.copy(source.quaternion); + this.scale.copy(source.scale); + this.matrix.copy(source.matrix); + this.matrixWorld.copy(source.matrixWorld); + this.matrixAutoUpdate = source.matrixAutoUpdate; + this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; + this.layers.mask = source.layers.mask; + this.visible = source.visible; + this.castShadow = source.castShadow; + this.receiveShadow = source.receiveShadow; + this.frustumCulled = source.frustumCulled; + this.renderOrder = source.renderOrder; + this.userData = JSON.parse(JSON.stringify(source.userData)); - return a * e * i - a * f * h - b * d * i + b * f * g + c * d * h - c * e * g; + if (recursive === true) { + for (let i = 0; i < source.children.length; i++) { + const child = source.children[i]; + this.add(child.clone()); + } + } - }, + return this; + } - getInverse: function ( matrix, throwOnDegenerate ) { + } - if ( matrix && matrix.isMatrix4 ) { + Object3D.DefaultUp = new Vector3(0, 1, 0); + Object3D.DefaultMatrixAutoUpdate = true; + Object3D.prototype.isObject3D = true; - console.error( "THREE.Matrix3: .getInverse() no longer takes a Matrix4 argument." ); + const _v0$1 = /*@__PURE__*/new Vector3(); - } + const _v1$3 = /*@__PURE__*/new Vector3(); - var me = matrix.elements, - te = this.elements, + const _v2$2 = /*@__PURE__*/new Vector3(); - n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], - n12 = me[ 3 ], n22 = me[ 4 ], n32 = me[ 5 ], - n13 = me[ 6 ], n23 = me[ 7 ], n33 = me[ 8 ], + const _v3$1 = /*@__PURE__*/new Vector3(); - t11 = n33 * n22 - n32 * n23, - t12 = n32 * n13 - n33 * n12, - t13 = n23 * n12 - n22 * n13, + const _vab = /*@__PURE__*/new Vector3(); - det = n11 * t11 + n21 * t12 + n31 * t13; + const _vac = /*@__PURE__*/new Vector3(); - if ( det === 0 ) { + const _vbc = /*@__PURE__*/new Vector3(); - var msg = "THREE.Matrix3: .getInverse() can't invert matrix, determinant is 0"; + const _vap = /*@__PURE__*/new Vector3(); - if ( throwOnDegenerate === true ) { + const _vbp = /*@__PURE__*/new Vector3(); - throw new Error( msg ); + const _vcp = /*@__PURE__*/new Vector3(); - } else { + class Triangle { + constructor(a = new Vector3(), b = new Vector3(), c = new Vector3()) { + this.a = a; + this.b = b; + this.c = c; + } - console.warn( msg ); + static getNormal(a, b, c, target) { + target.subVectors(c, b); - } + _v0$1.subVectors(a, b); - return this.identity(); + target.cross(_v0$1); + const targetLengthSq = target.lengthSq(); + if (targetLengthSq > 0) { + return target.multiplyScalar(1 / Math.sqrt(targetLengthSq)); } - var detInv = 1 / det; + return target.set(0, 0, 0); + } // static/instance method to calculate barycentric coordinates + // based on: http://www.blackpawn.com/texts/pointinpoly/default.html - te[ 0 ] = t11 * detInv; - te[ 1 ] = ( n31 * n23 - n33 * n21 ) * detInv; - te[ 2 ] = ( n32 * n21 - n31 * n22 ) * detInv; - te[ 3 ] = t12 * detInv; - te[ 4 ] = ( n33 * n11 - n31 * n13 ) * detInv; - te[ 5 ] = ( n31 * n12 - n32 * n11 ) * detInv; + static getBarycoord(point, a, b, c, target) { + _v0$1.subVectors(c, a); - te[ 6 ] = t13 * detInv; - te[ 7 ] = ( n21 * n13 - n23 * n11 ) * detInv; - te[ 8 ] = ( n22 * n11 - n21 * n12 ) * detInv; + _v1$3.subVectors(b, a); - return this; + _v2$2.subVectors(point, a); - }, + const dot00 = _v0$1.dot(_v0$1); - transpose: function () { + const dot01 = _v0$1.dot(_v1$3); - var tmp, m = this.elements; + const dot02 = _v0$1.dot(_v2$2); - tmp = m[ 1 ]; m[ 1 ] = m[ 3 ]; m[ 3 ] = tmp; - tmp = m[ 2 ]; m[ 2 ] = m[ 6 ]; m[ 6 ] = tmp; - tmp = m[ 5 ]; m[ 5 ] = m[ 7 ]; m[ 7 ] = tmp; + const dot11 = _v1$3.dot(_v1$3); - return this; + const dot12 = _v1$3.dot(_v2$2); - }, + const denom = dot00 * dot11 - dot01 * dot01; // collinear or singular triangle - getNormalMatrix: function ( matrix4 ) { + if (denom === 0) { + // arbitrary location outside of triangle? + // not sure if this is the best idea, maybe should be returning undefined + return target.set(-2, -1, -1); + } - return this.setFromMatrix4( matrix4 ).getInverse( this ).transpose(); + const invDenom = 1 / denom; + const u = (dot11 * dot02 - dot01 * dot12) * invDenom; + const v = (dot00 * dot12 - dot01 * dot02) * invDenom; // barycentric coordinates must always sum to 1 - }, + return target.set(1 - u - v, v, u); + } - transposeIntoArray: function ( r ) { + static containsPoint(point, a, b, c) { + this.getBarycoord(point, a, b, c, _v3$1); + return _v3$1.x >= 0 && _v3$1.y >= 0 && _v3$1.x + _v3$1.y <= 1; + } - var m = this.elements; + static getUV(point, p1, p2, p3, uv1, uv2, uv3, target) { + this.getBarycoord(point, p1, p2, p3, _v3$1); + target.set(0, 0); + target.addScaledVector(uv1, _v3$1.x); + target.addScaledVector(uv2, _v3$1.y); + target.addScaledVector(uv3, _v3$1.z); + return target; + } - r[ 0 ] = m[ 0 ]; - r[ 1 ] = m[ 3 ]; - r[ 2 ] = m[ 6 ]; - r[ 3 ] = m[ 1 ]; - r[ 4 ] = m[ 4 ]; - r[ 5 ] = m[ 7 ]; - r[ 6 ] = m[ 2 ]; - r[ 7 ] = m[ 5 ]; - r[ 8 ] = m[ 8 ]; + static isFrontFacing(a, b, c, direction) { + _v0$1.subVectors(c, b); - return this; + _v1$3.subVectors(a, b); // strictly front facing - }, - setUvTransform: function ( tx, ty, sx, sy, rotation, cx, cy ) { + return _v0$1.cross(_v1$3).dot(direction) < 0 ? true : false; + } - var c = Math.cos( rotation ); - var s = Math.sin( rotation ); + set(a, b, c) { + this.a.copy(a); + this.b.copy(b); + this.c.copy(c); + return this; + } - this.set( - sx * c, sx * s, - sx * ( c * cx + s * cy ) + cx + tx, - - sy * s, sy * c, - sy * ( - s * cx + c * cy ) + cy + ty, - 0, 0, 1 - ); + setFromPointsAndIndices(points, i0, i1, i2) { + this.a.copy(points[i0]); + this.b.copy(points[i1]); + this.c.copy(points[i2]); + return this; + } - }, + clone() { + return new this.constructor().copy(this); + } - scale: function ( sx, sy ) { + copy(triangle) { + this.a.copy(triangle.a); + this.b.copy(triangle.b); + this.c.copy(triangle.c); + return this; + } - var te = this.elements; + getArea() { + _v0$1.subVectors(this.c, this.b); - te[ 0 ] *= sx; te[ 3 ] *= sx; te[ 6 ] *= sx; - te[ 1 ] *= sy; te[ 4 ] *= sy; te[ 7 ] *= sy; + _v1$3.subVectors(this.a, this.b); - return this; + return _v0$1.cross(_v1$3).length() * 0.5; + } - }, + getMidpoint(target) { + return target.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3); + } - rotate: function ( theta ) { + getNormal(target) { + return Triangle.getNormal(this.a, this.b, this.c, target); + } - var c = Math.cos( theta ); - var s = Math.sin( theta ); + getPlane(target) { + return target.setFromCoplanarPoints(this.a, this.b, this.c); + } - var te = this.elements; + getBarycoord(point, target) { + return Triangle.getBarycoord(point, this.a, this.b, this.c, target); + } - var a11 = te[ 0 ], a12 = te[ 3 ], a13 = te[ 6 ]; - var a21 = te[ 1 ], a22 = te[ 4 ], a23 = te[ 7 ]; + getUV(point, uv1, uv2, uv3, target) { + return Triangle.getUV(point, this.a, this.b, this.c, uv1, uv2, uv3, target); + } - te[ 0 ] = c * a11 + s * a21; - te[ 3 ] = c * a12 + s * a22; - te[ 6 ] = c * a13 + s * a23; + containsPoint(point) { + return Triangle.containsPoint(point, this.a, this.b, this.c); + } - te[ 1 ] = - s * a11 + c * a21; - te[ 4 ] = - s * a12 + c * a22; - te[ 7 ] = - s * a13 + c * a23; + isFrontFacing(direction) { + return Triangle.isFrontFacing(this.a, this.b, this.c, direction); + } - return this; + intersectsBox(box) { + return box.intersectsTriangle(this); + } - }, + closestPointToPoint(p, target) { + const a = this.a, + b = this.b, + c = this.c; + let v, w; // algorithm thanks to Real-Time Collision Detection by Christer Ericson, + // published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc., + // under the accompanying license; see chapter 5.1.5 for detailed explanation. + // basically, we're distinguishing which of the voronoi regions of the triangle + // the point lies in with the minimum amount of redundant computation. - translate: function ( tx, ty ) { + _vab.subVectors(b, a); - var te = this.elements; + _vac.subVectors(c, a); - te[ 0 ] += tx * te[ 2 ]; te[ 3 ] += tx * te[ 5 ]; te[ 6 ] += tx * te[ 8 ]; - te[ 1 ] += ty * te[ 2 ]; te[ 4 ] += ty * te[ 5 ]; te[ 7 ] += ty * te[ 8 ]; + _vap.subVectors(p, a); - return this; + const d1 = _vab.dot(_vap); - }, + const d2 = _vac.dot(_vap); - equals: function ( matrix ) { + if (d1 <= 0 && d2 <= 0) { + // vertex region of A; barycentric coords (1, 0, 0) + return target.copy(a); + } - var te = this.elements; - var me = matrix.elements; + _vbp.subVectors(p, b); - for ( var i = 0; i < 9; i ++ ) { + const d3 = _vab.dot(_vbp); - if ( te[ i ] !== me[ i ] ) return false; + const d4 = _vac.dot(_vbp); + if (d3 >= 0 && d4 <= d3) { + // vertex region of B; barycentric coords (0, 1, 0) + return target.copy(b); } - return true; + const vc = d1 * d4 - d3 * d2; - }, + if (vc <= 0 && d1 >= 0 && d3 <= 0) { + v = d1 / (d1 - d3); // edge region of AB; barycentric coords (1-v, v, 0) - fromArray: function ( array, offset ) { + return target.copy(a).addScaledVector(_vab, v); + } - if ( offset === undefined ) offset = 0; + _vcp.subVectors(p, c); - for ( var i = 0; i < 9; i ++ ) { + const d5 = _vab.dot(_vcp); - this.elements[ i ] = array[ i + offset ]; + const d6 = _vac.dot(_vcp); + if (d6 >= 0 && d5 <= d6) { + // vertex region of C; barycentric coords (0, 0, 1) + return target.copy(c); } - return this; + const vb = d5 * d2 - d1 * d6; - }, + if (vb <= 0 && d2 >= 0 && d6 <= 0) { + w = d2 / (d2 - d6); // edge region of AC; barycentric coords (1-w, 0, w) - toArray: function ( array, offset ) { + return target.copy(a).addScaledVector(_vac, w); + } - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; + const va = d3 * d6 - d5 * d4; - var te = this.elements; + if (va <= 0 && d4 - d3 >= 0 && d5 - d6 >= 0) { + _vbc.subVectors(c, b); - array[ offset ] = te[ 0 ]; - array[ offset + 1 ] = te[ 1 ]; - array[ offset + 2 ] = te[ 2 ]; + w = (d4 - d3) / (d4 - d3 + (d5 - d6)); // edge region of BC; barycentric coords (0, 1-w, w) - array[ offset + 3 ] = te[ 3 ]; - array[ offset + 4 ] = te[ 4 ]; - array[ offset + 5 ] = te[ 5 ]; + return target.copy(b).addScaledVector(_vbc, w); // edge region of BC + } // face region - array[ offset + 6 ] = te[ 6 ]; - array[ offset + 7 ] = te[ 7 ]; - array[ offset + 8 ] = te[ 8 ]; - return array; + const denom = 1 / (va + vb + vc); // u = va * denom + v = vb * denom; + w = vc * denom; + return target.copy(a).addScaledVector(_vab, v).addScaledVector(_vac, w); } - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author szimek / https://github.com/szimek/ - */ + equals(triangle) { + return triangle.a.equals(this.a) && triangle.b.equals(this.b) && triangle.c.equals(this.c); + } - var _canvas; + } - var ImageUtils = { + let materialId = 0; - getDataURL: function ( image ) { + class Material extends EventDispatcher { + constructor() { + super(); + Object.defineProperty(this, 'id', { + value: materialId++ + }); + this.uuid = generateUUID(); + this.name = ''; + this.type = 'Material'; + this.fog = true; + this.blending = NormalBlending; + this.side = FrontSide; + this.vertexColors = false; + this.opacity = 1; + this.format = RGBAFormat; + this.transparent = false; + this.blendSrc = SrcAlphaFactor; + this.blendDst = OneMinusSrcAlphaFactor; + this.blendEquation = AddEquation; + this.blendSrcAlpha = null; + this.blendDstAlpha = null; + this.blendEquationAlpha = null; + this.depthFunc = LessEqualDepth; + this.depthTest = true; + this.depthWrite = true; + this.stencilWriteMask = 0xff; + this.stencilFunc = AlwaysStencilFunc; + this.stencilRef = 0; + this.stencilFuncMask = 0xff; + this.stencilFail = KeepStencilOp; + this.stencilZFail = KeepStencilOp; + this.stencilZPass = KeepStencilOp; + this.stencilWrite = false; + this.clippingPlanes = null; + this.clipIntersection = false; + this.clipShadows = false; + this.shadowSide = null; + this.colorWrite = true; + this.precision = null; // override the renderer's default precision for this material - var canvas; + this.polygonOffset = false; + this.polygonOffsetFactor = 0; + this.polygonOffsetUnits = 0; + this.dithering = false; + this.alphaToCoverage = false; + this.premultipliedAlpha = false; + this.visible = true; + this.toneMapped = true; + this.userData = {}; + this.version = 0; + this._alphaTest = 0; + } - if ( typeof HTMLCanvasElement == 'undefined' ) { + get alphaTest() { + return this._alphaTest; + } - return image.src; + set alphaTest(value) { + if (this._alphaTest > 0 !== value > 0) { + this.version++; + } - } else if ( image instanceof HTMLCanvasElement ) { + this._alphaTest = value; + } - canvas = image; + onBuild() {} - } else { + onBeforeCompile() {} - if ( _canvas === undefined ) _canvas = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); + customProgramCacheKey() { + return this.onBeforeCompile.toString(); + } - _canvas.width = image.width; - _canvas.height = image.height; + setValues(values) { + if (values === undefined) return; - var context = _canvas.getContext( '2d' ); + for (const key in values) { + const newValue = values[key]; - if ( image instanceof ImageData ) { + if (newValue === undefined) { + console.warn('THREE.Material: \'' + key + '\' parameter is undefined.'); + continue; + } // for backward compatability if shading is set in the constructor - context.putImageData( image, 0, 0 ); - } else { + if (key === 'shading') { + console.warn('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'); + this.flatShading = newValue === FlatShading ? true : false; + continue; + } - context.drawImage( image, 0, 0, image.width, image.height ); + const currentValue = this[key]; + if (currentValue === undefined) { + console.warn('THREE.' + this.type + ': \'' + key + '\' is not a property of this material.'); + continue; } - canvas = _canvas; - + if (currentValue && currentValue.isColor) { + currentValue.set(newValue); + } else if (currentValue && currentValue.isVector3 && newValue && newValue.isVector3) { + currentValue.copy(newValue); + } else { + this[key] = newValue; + } } + } - if ( canvas.width > 2048 || canvas.height > 2048 ) { + toJSON(meta) { + const isRoot = meta === undefined || typeof meta === 'string'; - return canvas.toDataURL( 'image/jpeg', 0.6 ); + if (isRoot) { + meta = { + textures: {}, + images: {} + }; + } - } else { + const data = { + metadata: { + version: 4.5, + type: 'Material', + generator: 'Material.toJSON' + } + }; // standard Material serialization - return canvas.toDataURL( 'image/png' ); + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== '') data.name = this.name; + if (this.color && this.color.isColor) data.color = this.color.getHex(); + if (this.roughness !== undefined) data.roughness = this.roughness; + if (this.metalness !== undefined) data.metalness = this.metalness; + if (this.sheenTint && this.sheenTint.isColor) data.sheenTint = this.sheenTint.getHex(); + if (this.emissive && this.emissive.isColor) data.emissive = this.emissive.getHex(); + if (this.emissiveIntensity && this.emissiveIntensity !== 1) data.emissiveIntensity = this.emissiveIntensity; + if (this.specular && this.specular.isColor) data.specular = this.specular.getHex(); + if (this.specularIntensity !== undefined) data.specularIntensity = this.specularIntensity; + if (this.specularTint && this.specularTint.isColor) data.specularTint = this.specularTint.getHex(); + if (this.shininess !== undefined) data.shininess = this.shininess; + if (this.clearcoat !== undefined) data.clearcoat = this.clearcoat; + if (this.clearcoatRoughness !== undefined) data.clearcoatRoughness = this.clearcoatRoughness; + if (this.clearcoatMap && this.clearcoatMap.isTexture) { + data.clearcoatMap = this.clearcoatMap.toJSON(meta).uuid; } - } + if (this.clearcoatRoughnessMap && this.clearcoatRoughnessMap.isTexture) { + data.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(meta).uuid; + } - }; + if (this.clearcoatNormalMap && this.clearcoatNormalMap.isTexture) { + data.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(meta).uuid; + data.clearcoatNormalScale = this.clearcoatNormalScale.toArray(); + } - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author szimek / https://github.com/szimek/ - */ + if (this.map && this.map.isTexture) data.map = this.map.toJSON(meta).uuid; + if (this.matcap && this.matcap.isTexture) data.matcap = this.matcap.toJSON(meta).uuid; + if (this.alphaMap && this.alphaMap.isTexture) data.alphaMap = this.alphaMap.toJSON(meta).uuid; - var textureId = 0; + if (this.lightMap && this.lightMap.isTexture) { + data.lightMap = this.lightMap.toJSON(meta).uuid; + data.lightMapIntensity = this.lightMapIntensity; + } - function Texture( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { + if (this.aoMap && this.aoMap.isTexture) { + data.aoMap = this.aoMap.toJSON(meta).uuid; + data.aoMapIntensity = this.aoMapIntensity; + } - Object.defineProperty( this, 'id', { value: textureId ++ } ); + if (this.bumpMap && this.bumpMap.isTexture) { + data.bumpMap = this.bumpMap.toJSON(meta).uuid; + data.bumpScale = this.bumpScale; + } - this.uuid = _Math.generateUUID(); + if (this.normalMap && this.normalMap.isTexture) { + data.normalMap = this.normalMap.toJSON(meta).uuid; + data.normalMapType = this.normalMapType; + data.normalScale = this.normalScale.toArray(); + } - this.name = ''; + if (this.displacementMap && this.displacementMap.isTexture) { + data.displacementMap = this.displacementMap.toJSON(meta).uuid; + data.displacementScale = this.displacementScale; + data.displacementBias = this.displacementBias; + } - this.image = image !== undefined ? image : Texture.DEFAULT_IMAGE; - this.mipmaps = []; + if (this.roughnessMap && this.roughnessMap.isTexture) data.roughnessMap = this.roughnessMap.toJSON(meta).uuid; + if (this.metalnessMap && this.metalnessMap.isTexture) data.metalnessMap = this.metalnessMap.toJSON(meta).uuid; + if (this.emissiveMap && this.emissiveMap.isTexture) data.emissiveMap = this.emissiveMap.toJSON(meta).uuid; + if (this.specularMap && this.specularMap.isTexture) data.specularMap = this.specularMap.toJSON(meta).uuid; + if (this.specularIntensityMap && this.specularIntensityMap.isTexture) data.specularIntensityMap = this.specularIntensityMap.toJSON(meta).uuid; + if (this.specularTintMap && this.specularTintMap.isTexture) data.specularTintMap = this.specularTintMap.toJSON(meta).uuid; + + if (this.envMap && this.envMap.isTexture) { + data.envMap = this.envMap.toJSON(meta).uuid; + if (this.combine !== undefined) data.combine = this.combine; + } + + if (this.envMapIntensity !== undefined) data.envMapIntensity = this.envMapIntensity; + if (this.reflectivity !== undefined) data.reflectivity = this.reflectivity; + if (this.refractionRatio !== undefined) data.refractionRatio = this.refractionRatio; + + if (this.gradientMap && this.gradientMap.isTexture) { + data.gradientMap = this.gradientMap.toJSON(meta).uuid; + } + + if (this.transmission !== undefined) data.transmission = this.transmission; + if (this.transmissionMap && this.transmissionMap.isTexture) data.transmissionMap = this.transmissionMap.toJSON(meta).uuid; + if (this.thickness !== undefined) data.thickness = this.thickness; + if (this.thicknessMap && this.thicknessMap.isTexture) data.thicknessMap = this.thicknessMap.toJSON(meta).uuid; + if (this.attenuationDistance !== undefined) data.attenuationDistance = this.attenuationDistance; + if (this.attenuationTint !== undefined) data.attenuationTint = this.attenuationTint.getHex(); + if (this.size !== undefined) data.size = this.size; + if (this.shadowSide !== null) data.shadowSide = this.shadowSide; + if (this.sizeAttenuation !== undefined) data.sizeAttenuation = this.sizeAttenuation; + if (this.blending !== NormalBlending) data.blending = this.blending; + if (this.side !== FrontSide) data.side = this.side; + if (this.vertexColors) data.vertexColors = true; + if (this.opacity < 1) data.opacity = this.opacity; + if (this.format !== RGBAFormat) data.format = this.format; + if (this.transparent === true) data.transparent = this.transparent; + data.depthFunc = this.depthFunc; + data.depthTest = this.depthTest; + data.depthWrite = this.depthWrite; + data.colorWrite = this.colorWrite; + data.stencilWrite = this.stencilWrite; + data.stencilWriteMask = this.stencilWriteMask; + data.stencilFunc = this.stencilFunc; + data.stencilRef = this.stencilRef; + data.stencilFuncMask = this.stencilFuncMask; + data.stencilFail = this.stencilFail; + data.stencilZFail = this.stencilZFail; + data.stencilZPass = this.stencilZPass; // rotation (SpriteMaterial) + + if (this.rotation && this.rotation !== 0) data.rotation = this.rotation; + if (this.polygonOffset === true) data.polygonOffset = true; + if (this.polygonOffsetFactor !== 0) data.polygonOffsetFactor = this.polygonOffsetFactor; + if (this.polygonOffsetUnits !== 0) data.polygonOffsetUnits = this.polygonOffsetUnits; + if (this.linewidth && this.linewidth !== 1) data.linewidth = this.linewidth; + if (this.dashSize !== undefined) data.dashSize = this.dashSize; + if (this.gapSize !== undefined) data.gapSize = this.gapSize; + if (this.scale !== undefined) data.scale = this.scale; + if (this.dithering === true) data.dithering = true; + if (this.alphaTest > 0) data.alphaTest = this.alphaTest; + if (this.alphaToCoverage === true) data.alphaToCoverage = this.alphaToCoverage; + if (this.premultipliedAlpha === true) data.premultipliedAlpha = this.premultipliedAlpha; + if (this.wireframe === true) data.wireframe = this.wireframe; + if (this.wireframeLinewidth > 1) data.wireframeLinewidth = this.wireframeLinewidth; + if (this.wireframeLinecap !== 'round') data.wireframeLinecap = this.wireframeLinecap; + if (this.wireframeLinejoin !== 'round') data.wireframeLinejoin = this.wireframeLinejoin; + if (this.flatShading === true) data.flatShading = this.flatShading; + if (this.visible === false) data.visible = false; + if (this.toneMapped === false) data.toneMapped = false; + if (JSON.stringify(this.userData) !== '{}') data.userData = this.userData; // TODO: Copied from Object3D.toJSON + + function extractFromCache(cache) { + const values = []; + + for (const key in cache) { + const data = cache[key]; + delete data.metadata; + values.push(data); + } - this.mapping = mapping !== undefined ? mapping : Texture.DEFAULT_MAPPING; + return values; + } - this.wrapS = wrapS !== undefined ? wrapS : ClampToEdgeWrapping; - this.wrapT = wrapT !== undefined ? wrapT : ClampToEdgeWrapping; + if (isRoot) { + const textures = extractFromCache(meta.textures); + const images = extractFromCache(meta.images); + if (textures.length > 0) data.textures = textures; + if (images.length > 0) data.images = images; + } - this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; - this.minFilter = minFilter !== undefined ? minFilter : LinearMipMapLinearFilter; + return data; + } - this.anisotropy = anisotropy !== undefined ? anisotropy : 1; + clone() { + return new this.constructor().copy(this); + } - this.format = format !== undefined ? format : RGBAFormat; - this.type = type !== undefined ? type : UnsignedByteType; + copy(source) { + this.name = source.name; + this.fog = source.fog; + this.blending = source.blending; + this.side = source.side; + this.vertexColors = source.vertexColors; + this.opacity = source.opacity; + this.format = source.format; + this.transparent = source.transparent; + this.blendSrc = source.blendSrc; + this.blendDst = source.blendDst; + this.blendEquation = source.blendEquation; + this.blendSrcAlpha = source.blendSrcAlpha; + this.blendDstAlpha = source.blendDstAlpha; + this.blendEquationAlpha = source.blendEquationAlpha; + this.depthFunc = source.depthFunc; + this.depthTest = source.depthTest; + this.depthWrite = source.depthWrite; + this.stencilWriteMask = source.stencilWriteMask; + this.stencilFunc = source.stencilFunc; + this.stencilRef = source.stencilRef; + this.stencilFuncMask = source.stencilFuncMask; + this.stencilFail = source.stencilFail; + this.stencilZFail = source.stencilZFail; + this.stencilZPass = source.stencilZPass; + this.stencilWrite = source.stencilWrite; + const srcPlanes = source.clippingPlanes; + let dstPlanes = null; - this.offset = new Vector2( 0, 0 ); - this.repeat = new Vector2( 1, 1 ); - this.center = new Vector2( 0, 0 ); - this.rotation = 0; + if (srcPlanes !== null) { + const n = srcPlanes.length; + dstPlanes = new Array(n); - this.matrixAutoUpdate = true; - this.matrix = new Matrix3(); + for (let i = 0; i !== n; ++i) { + dstPlanes[i] = srcPlanes[i].clone(); + } + } - this.generateMipmaps = true; - this.premultiplyAlpha = false; - this.flipY = true; - this.unpackAlignment = 4; // valid values: 1, 2, 4, 8 (see http://www.khronos.org/opengles/sdk/docs/man/xhtml/glPixelStorei.xml) + this.clippingPlanes = dstPlanes; + this.clipIntersection = source.clipIntersection; + this.clipShadows = source.clipShadows; + this.shadowSide = source.shadowSide; + this.colorWrite = source.colorWrite; + this.precision = source.precision; + this.polygonOffset = source.polygonOffset; + this.polygonOffsetFactor = source.polygonOffsetFactor; + this.polygonOffsetUnits = source.polygonOffsetUnits; + this.dithering = source.dithering; + this.alphaTest = source.alphaTest; + this.alphaToCoverage = source.alphaToCoverage; + this.premultipliedAlpha = source.premultipliedAlpha; + this.visible = source.visible; + this.toneMapped = source.toneMapped; + this.userData = JSON.parse(JSON.stringify(source.userData)); + return this; + } + + dispose() { + this.dispatchEvent({ + type: 'dispose' + }); + } + + set needsUpdate(value) { + if (value === true) this.version++; + } + + } + + Material.prototype.isMaterial = true; + + const _colorKeywords = { + 'aliceblue': 0xF0F8FF, + 'antiquewhite': 0xFAEBD7, + 'aqua': 0x00FFFF, + 'aquamarine': 0x7FFFD4, + 'azure': 0xF0FFFF, + 'beige': 0xF5F5DC, + 'bisque': 0xFFE4C4, + 'black': 0x000000, + 'blanchedalmond': 0xFFEBCD, + 'blue': 0x0000FF, + 'blueviolet': 0x8A2BE2, + 'brown': 0xA52A2A, + 'burlywood': 0xDEB887, + 'cadetblue': 0x5F9EA0, + 'chartreuse': 0x7FFF00, + 'chocolate': 0xD2691E, + 'coral': 0xFF7F50, + 'cornflowerblue': 0x6495ED, + 'cornsilk': 0xFFF8DC, + 'crimson': 0xDC143C, + 'cyan': 0x00FFFF, + 'darkblue': 0x00008B, + 'darkcyan': 0x008B8B, + 'darkgoldenrod': 0xB8860B, + 'darkgray': 0xA9A9A9, + 'darkgreen': 0x006400, + 'darkgrey': 0xA9A9A9, + 'darkkhaki': 0xBDB76B, + 'darkmagenta': 0x8B008B, + 'darkolivegreen': 0x556B2F, + 'darkorange': 0xFF8C00, + 'darkorchid': 0x9932CC, + 'darkred': 0x8B0000, + 'darksalmon': 0xE9967A, + 'darkseagreen': 0x8FBC8F, + 'darkslateblue': 0x483D8B, + 'darkslategray': 0x2F4F4F, + 'darkslategrey': 0x2F4F4F, + 'darkturquoise': 0x00CED1, + 'darkviolet': 0x9400D3, + 'deeppink': 0xFF1493, + 'deepskyblue': 0x00BFFF, + 'dimgray': 0x696969, + 'dimgrey': 0x696969, + 'dodgerblue': 0x1E90FF, + 'firebrick': 0xB22222, + 'floralwhite': 0xFFFAF0, + 'forestgreen': 0x228B22, + 'fuchsia': 0xFF00FF, + 'gainsboro': 0xDCDCDC, + 'ghostwhite': 0xF8F8FF, + 'gold': 0xFFD700, + 'goldenrod': 0xDAA520, + 'gray': 0x808080, + 'green': 0x008000, + 'greenyellow': 0xADFF2F, + 'grey': 0x808080, + 'honeydew': 0xF0FFF0, + 'hotpink': 0xFF69B4, + 'indianred': 0xCD5C5C, + 'indigo': 0x4B0082, + 'ivory': 0xFFFFF0, + 'khaki': 0xF0E68C, + 'lavender': 0xE6E6FA, + 'lavenderblush': 0xFFF0F5, + 'lawngreen': 0x7CFC00, + 'lemonchiffon': 0xFFFACD, + 'lightblue': 0xADD8E6, + 'lightcoral': 0xF08080, + 'lightcyan': 0xE0FFFF, + 'lightgoldenrodyellow': 0xFAFAD2, + 'lightgray': 0xD3D3D3, + 'lightgreen': 0x90EE90, + 'lightgrey': 0xD3D3D3, + 'lightpink': 0xFFB6C1, + 'lightsalmon': 0xFFA07A, + 'lightseagreen': 0x20B2AA, + 'lightskyblue': 0x87CEFA, + 'lightslategray': 0x778899, + 'lightslategrey': 0x778899, + 'lightsteelblue': 0xB0C4DE, + 'lightyellow': 0xFFFFE0, + 'lime': 0x00FF00, + 'limegreen': 0x32CD32, + 'linen': 0xFAF0E6, + 'magenta': 0xFF00FF, + 'maroon': 0x800000, + 'mediumaquamarine': 0x66CDAA, + 'mediumblue': 0x0000CD, + 'mediumorchid': 0xBA55D3, + 'mediumpurple': 0x9370DB, + 'mediumseagreen': 0x3CB371, + 'mediumslateblue': 0x7B68EE, + 'mediumspringgreen': 0x00FA9A, + 'mediumturquoise': 0x48D1CC, + 'mediumvioletred': 0xC71585, + 'midnightblue': 0x191970, + 'mintcream': 0xF5FFFA, + 'mistyrose': 0xFFE4E1, + 'moccasin': 0xFFE4B5, + 'navajowhite': 0xFFDEAD, + 'navy': 0x000080, + 'oldlace': 0xFDF5E6, + 'olive': 0x808000, + 'olivedrab': 0x6B8E23, + 'orange': 0xFFA500, + 'orangered': 0xFF4500, + 'orchid': 0xDA70D6, + 'palegoldenrod': 0xEEE8AA, + 'palegreen': 0x98FB98, + 'paleturquoise': 0xAFEEEE, + 'palevioletred': 0xDB7093, + 'papayawhip': 0xFFEFD5, + 'peachpuff': 0xFFDAB9, + 'peru': 0xCD853F, + 'pink': 0xFFC0CB, + 'plum': 0xDDA0DD, + 'powderblue': 0xB0E0E6, + 'purple': 0x800080, + 'rebeccapurple': 0x663399, + 'red': 0xFF0000, + 'rosybrown': 0xBC8F8F, + 'royalblue': 0x4169E1, + 'saddlebrown': 0x8B4513, + 'salmon': 0xFA8072, + 'sandybrown': 0xF4A460, + 'seagreen': 0x2E8B57, + 'seashell': 0xFFF5EE, + 'sienna': 0xA0522D, + 'silver': 0xC0C0C0, + 'skyblue': 0x87CEEB, + 'slateblue': 0x6A5ACD, + 'slategray': 0x708090, + 'slategrey': 0x708090, + 'snow': 0xFFFAFA, + 'springgreen': 0x00FF7F, + 'steelblue': 0x4682B4, + 'tan': 0xD2B48C, + 'teal': 0x008080, + 'thistle': 0xD8BFD8, + 'tomato': 0xFF6347, + 'turquoise': 0x40E0D0, + 'violet': 0xEE82EE, + 'wheat': 0xF5DEB3, + 'white': 0xFFFFFF, + 'whitesmoke': 0xF5F5F5, + 'yellow': 0xFFFF00, + 'yellowgreen': 0x9ACD32 + }; + const _hslA = { + h: 0, + s: 0, + l: 0 + }; + const _hslB = { + h: 0, + s: 0, + l: 0 + }; - // Values of encoding !== THREE.LinearEncoding only supported on map, envMap and emissiveMap. - // - // Also changing the encoding after already used by a Material will not automatically make the Material - // update. You need to explicitly call Material.needsUpdate to trigger it to recompile. - this.encoding = encoding !== undefined ? encoding : LinearEncoding; + function hue2rgb(p, q, t) { + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1 / 6) return p + (q - p) * 6 * t; + if (t < 1 / 2) return q; + if (t < 2 / 3) return p + (q - p) * 6 * (2 / 3 - t); + return p; + } - this.version = 0; - this.onUpdate = null; + function SRGBToLinear(c) { + return c < 0.04045 ? c * 0.0773993808 : Math.pow(c * 0.9478672986 + 0.0521327014, 2.4); + } + function LinearToSRGB(c) { + return c < 0.0031308 ? c * 12.92 : 1.055 * Math.pow(c, 0.41666) - 0.055; } - Texture.DEFAULT_IMAGE = undefined; - Texture.DEFAULT_MAPPING = UVMapping; + class Color { + constructor(r, g, b) { + if (g === undefined && b === undefined) { + // r is THREE.Color, hex or string + return this.set(r); + } - Texture.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { + return this.setRGB(r, g, b); + } - constructor: Texture, + set(value) { + if (value && value.isColor) { + this.copy(value); + } else if (typeof value === 'number') { + this.setHex(value); + } else if (typeof value === 'string') { + this.setStyle(value); + } - isTexture: true, + return this; + } - updateMatrix: function () { + setScalar(scalar) { + this.r = scalar; + this.g = scalar; + this.b = scalar; + return this; + } - this.matrix.setUvTransform( this.offset.x, this.offset.y, this.repeat.x, this.repeat.y, this.rotation, this.center.x, this.center.y ); + setHex(hex) { + hex = Math.floor(hex); + this.r = (hex >> 16 & 255) / 255; + this.g = (hex >> 8 & 255) / 255; + this.b = (hex & 255) / 255; + return this; + } - }, + setRGB(r, g, b) { + this.r = r; + this.g = g; + this.b = b; + return this; + } - clone: function () { + setHSL(h, s, l) { + // h,s,l ranges are in 0.0 - 1.0 + h = euclideanModulo(h, 1); + s = clamp(s, 0, 1); + l = clamp(l, 0, 1); - return new this.constructor().copy( this ); + if (s === 0) { + this.r = this.g = this.b = l; + } else { + const p = l <= 0.5 ? l * (1 + s) : l + s - l * s; + const q = 2 * l - p; + this.r = hue2rgb(q, p, h + 1 / 3); + this.g = hue2rgb(q, p, h); + this.b = hue2rgb(q, p, h - 1 / 3); + } - }, + return this; + } - copy: function ( source ) { + setStyle(style) { + function handleAlpha(string) { + if (string === undefined) return; - this.name = source.name; + if (parseFloat(string) < 1) { + console.warn('THREE.Color: Alpha component of ' + style + ' will be ignored.'); + } + } - this.image = source.image; - this.mipmaps = source.mipmaps.slice( 0 ); + let m; - this.mapping = source.mapping; + if (m = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(style)) { + // rgb / hsl + let color; + const name = m[1]; + const components = m[2]; - this.wrapS = source.wrapS; - this.wrapT = source.wrapT; + switch (name) { + case 'rgb': + case 'rgba': + if (color = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + // rgb(255,0,0) rgba(255,0,0,0.5) + this.r = Math.min(255, parseInt(color[1], 10)) / 255; + this.g = Math.min(255, parseInt(color[2], 10)) / 255; + this.b = Math.min(255, parseInt(color[3], 10)) / 255; + handleAlpha(color[4]); + return this; + } - this.magFilter = source.magFilter; - this.minFilter = source.minFilter; + if (color = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + // rgb(100%,0%,0%) rgba(100%,0%,0%,0.5) + this.r = Math.min(100, parseInt(color[1], 10)) / 100; + this.g = Math.min(100, parseInt(color[2], 10)) / 100; + this.b = Math.min(100, parseInt(color[3], 10)) / 100; + handleAlpha(color[4]); + return this; + } - this.anisotropy = source.anisotropy; + break; - this.format = source.format; - this.type = source.type; + case 'hsl': + case 'hsla': + if (color = /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)) { + // hsl(120,50%,50%) hsla(120,50%,50%,0.5) + const h = parseFloat(color[1]) / 360; + const s = parseInt(color[2], 10) / 100; + const l = parseInt(color[3], 10) / 100; + handleAlpha(color[4]); + return this.setHSL(h, s, l); + } - this.offset.copy( source.offset ); - this.repeat.copy( source.repeat ); - this.center.copy( source.center ); - this.rotation = source.rotation; + break; + } + } else if (m = /^\#([A-Fa-f\d]+)$/.exec(style)) { + // hex color + const hex = m[1]; + const size = hex.length; - this.matrixAutoUpdate = source.matrixAutoUpdate; - this.matrix.copy( source.matrix ); + if (size === 3) { + // #ff0 + this.r = parseInt(hex.charAt(0) + hex.charAt(0), 16) / 255; + this.g = parseInt(hex.charAt(1) + hex.charAt(1), 16) / 255; + this.b = parseInt(hex.charAt(2) + hex.charAt(2), 16) / 255; + return this; + } else if (size === 6) { + // #ff0000 + this.r = parseInt(hex.charAt(0) + hex.charAt(1), 16) / 255; + this.g = parseInt(hex.charAt(2) + hex.charAt(3), 16) / 255; + this.b = parseInt(hex.charAt(4) + hex.charAt(5), 16) / 255; + return this; + } + } - this.generateMipmaps = source.generateMipmaps; - this.premultiplyAlpha = source.premultiplyAlpha; - this.flipY = source.flipY; - this.unpackAlignment = source.unpackAlignment; - this.encoding = source.encoding; + if (style && style.length > 0) { + return this.setColorName(style); + } return this; + } - }, - - toJSON: function ( meta ) { - - var isRootObject = ( meta === undefined || typeof meta === 'string' ); - - if ( ! isRootObject && meta.textures[ this.uuid ] !== undefined ) { - - return meta.textures[ this.uuid ]; + setColorName(style) { + // color keywords + const hex = _colorKeywords[style.toLowerCase()]; + if (hex !== undefined) { + // red + this.setHex(hex); + } else { + // unknown color + console.warn('THREE.Color: Unknown color ' + style); } - var output = { + return this; + } - metadata: { - version: 4.5, - type: 'Texture', - generator: 'Texture.toJSON' - }, + clone() { + return new this.constructor(this.r, this.g, this.b); + } - uuid: this.uuid, - name: this.name, + copy(color) { + this.r = color.r; + this.g = color.g; + this.b = color.b; + return this; + } - mapping: this.mapping, + copyGammaToLinear(color, gammaFactor = 2.0) { + this.r = Math.pow(color.r, gammaFactor); + this.g = Math.pow(color.g, gammaFactor); + this.b = Math.pow(color.b, gammaFactor); + return this; + } - repeat: [ this.repeat.x, this.repeat.y ], - offset: [ this.offset.x, this.offset.y ], - center: [ this.center.x, this.center.y ], - rotation: this.rotation, + copyLinearToGamma(color, gammaFactor = 2.0) { + const safeInverse = gammaFactor > 0 ? 1.0 / gammaFactor : 1.0; + this.r = Math.pow(color.r, safeInverse); + this.g = Math.pow(color.g, safeInverse); + this.b = Math.pow(color.b, safeInverse); + return this; + } - wrap: [ this.wrapS, this.wrapT ], + convertGammaToLinear(gammaFactor) { + this.copyGammaToLinear(this, gammaFactor); + return this; + } - format: this.format, - type: this.type, - encoding: this.encoding, + convertLinearToGamma(gammaFactor) { + this.copyLinearToGamma(this, gammaFactor); + return this; + } - minFilter: this.minFilter, - magFilter: this.magFilter, - anisotropy: this.anisotropy, + copySRGBToLinear(color) { + this.r = SRGBToLinear(color.r); + this.g = SRGBToLinear(color.g); + this.b = SRGBToLinear(color.b); + return this; + } - flipY: this.flipY, + copyLinearToSRGB(color) { + this.r = LinearToSRGB(color.r); + this.g = LinearToSRGB(color.g); + this.b = LinearToSRGB(color.b); + return this; + } - premultiplyAlpha: this.premultiplyAlpha, - unpackAlignment: this.unpackAlignment + convertSRGBToLinear() { + this.copySRGBToLinear(this); + return this; + } - }; + convertLinearToSRGB() { + this.copyLinearToSRGB(this); + return this; + } - if ( this.image !== undefined ) { + getHex() { + return this.r * 255 << 16 ^ this.g * 255 << 8 ^ this.b * 255 << 0; + } - // TODO: Move to THREE.Image + getHexString() { + return ('000000' + this.getHex().toString(16)).slice(-6); + } - var image = this.image; + getHSL(target) { + // h,s,l ranges are in 0.0 - 1.0 + const r = this.r, + g = this.g, + b = this.b; + const max = Math.max(r, g, b); + const min = Math.min(r, g, b); + let hue, saturation; + const lightness = (min + max) / 2.0; + + if (min === max) { + hue = 0; + saturation = 0; + } else { + const delta = max - min; + saturation = lightness <= 0.5 ? delta / (max + min) : delta / (2 - max - min); - if ( image.uuid === undefined ) { + switch (max) { + case r: + hue = (g - b) / delta + (g < b ? 6 : 0); + break; - image.uuid = _Math.generateUUID(); // UGH + case g: + hue = (b - r) / delta + 2; + break; + case b: + hue = (r - g) / delta + 4; + break; } - if ( ! isRootObject && meta.images[ image.uuid ] === undefined ) { - - var url; + hue /= 6; + } - if ( Array.isArray( image ) ) { + target.h = hue; + target.s = saturation; + target.l = lightness; + return target; + } - // process array of images e.g. CubeTexture + getStyle() { + return 'rgb(' + (this.r * 255 | 0) + ',' + (this.g * 255 | 0) + ',' + (this.b * 255 | 0) + ')'; + } - url = []; + offsetHSL(h, s, l) { + this.getHSL(_hslA); + _hslA.h += h; + _hslA.s += s; + _hslA.l += l; + this.setHSL(_hslA.h, _hslA.s, _hslA.l); + return this; + } - for ( var i = 0, l = image.length; i < l; i ++ ) { + add(color) { + this.r += color.r; + this.g += color.g; + this.b += color.b; + return this; + } - url.push( ImageUtils.getDataURL( image[ i ] ) ); + addColors(color1, color2) { + this.r = color1.r + color2.r; + this.g = color1.g + color2.g; + this.b = color1.b + color2.b; + return this; + } - } + addScalar(s) { + this.r += s; + this.g += s; + this.b += s; + return this; + } - } else { + sub(color) { + this.r = Math.max(0, this.r - color.r); + this.g = Math.max(0, this.g - color.g); + this.b = Math.max(0, this.b - color.b); + return this; + } - // process single image + multiply(color) { + this.r *= color.r; + this.g *= color.g; + this.b *= color.b; + return this; + } - url = ImageUtils.getDataURL( image ); + multiplyScalar(s) { + this.r *= s; + this.g *= s; + this.b *= s; + return this; + } - } + lerp(color, alpha) { + this.r += (color.r - this.r) * alpha; + this.g += (color.g - this.g) * alpha; + this.b += (color.b - this.b) * alpha; + return this; + } - meta.images[ image.uuid ] = { - uuid: image.uuid, - url: url - }; + lerpColors(color1, color2, alpha) { + this.r = color1.r + (color2.r - color1.r) * alpha; + this.g = color1.g + (color2.g - color1.g) * alpha; + this.b = color1.b + (color2.b - color1.b) * alpha; + return this; + } - } + lerpHSL(color, alpha) { + this.getHSL(_hslA); + color.getHSL(_hslB); + const h = lerp(_hslA.h, _hslB.h, alpha); + const s = lerp(_hslA.s, _hslB.s, alpha); + const l = lerp(_hslA.l, _hslB.l, alpha); + this.setHSL(h, s, l); + return this; + } - output.image = image.uuid; + equals(c) { + return c.r === this.r && c.g === this.g && c.b === this.b; + } - } + fromArray(array, offset = 0) { + this.r = array[offset]; + this.g = array[offset + 1]; + this.b = array[offset + 2]; + return this; + } - if ( ! isRootObject ) { + toArray(array = [], offset = 0) { + array[offset] = this.r; + array[offset + 1] = this.g; + array[offset + 2] = this.b; + return array; + } - meta.textures[ this.uuid ] = output; + fromBufferAttribute(attribute, index) { + this.r = attribute.getX(index); + this.g = attribute.getY(index); + this.b = attribute.getZ(index); + if (attribute.normalized === true) { + // assuming Uint8Array + this.r /= 255; + this.g /= 255; + this.b /= 255; } - return output; - - }, - - dispose: function () { - - this.dispatchEvent( { type: 'dispose' } ); - - }, + return this; + } - transformUv: function ( uv ) { + toJSON() { + return this.getHex(); + } - if ( this.mapping !== UVMapping ) return uv; + } - uv.applyMatrix3( this.matrix ); + Color.NAMES = _colorKeywords; + Color.prototype.isColor = true; + Color.prototype.r = 1; + Color.prototype.g = 1; + Color.prototype.b = 1; - if ( uv.x < 0 || uv.x > 1 ) { + /** + * parameters = { + * color: , + * opacity: , + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: , + * refractionRatio: , + * + * depthTest: , + * depthWrite: , + * + * wireframe: , + * wireframeLinewidth: , + * } + */ - switch ( this.wrapS ) { + class MeshBasicMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshBasicMaterial'; + this.color = new Color(0xffffff); // emissive + + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1.0; + this.aoMap = null; + this.aoMapIntensity = 1.0; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + return this; + } - case RepeatWrapping: + } - uv.x = uv.x - Math.floor( uv.x ); - break; + MeshBasicMaterial.prototype.isMeshBasicMaterial = true; - case ClampToEdgeWrapping: + const _vector$9 = /*@__PURE__*/new Vector3(); - uv.x = uv.x < 0 ? 0 : 1; - break; + const _vector2$1 = /*@__PURE__*/new Vector2(); - case MirroredRepeatWrapping: + class BufferAttribute { + constructor(array, itemSize, normalized) { + if (Array.isArray(array)) { + throw new TypeError('THREE.BufferAttribute: array should be a Typed Array.'); + } - if ( Math.abs( Math.floor( uv.x ) % 2 ) === 1 ) { + this.name = ''; + this.array = array; + this.itemSize = itemSize; + this.count = array !== undefined ? array.length / itemSize : 0; + this.normalized = normalized === true; + this.usage = StaticDrawUsage; + this.updateRange = { + offset: 0, + count: -1 + }; + this.version = 0; + } - uv.x = Math.ceil( uv.x ) - uv.x; + onUploadCallback() {} - } else { + set needsUpdate(value) { + if (value === true) this.version++; + } - uv.x = uv.x - Math.floor( uv.x ); + setUsage(value) { + this.usage = value; + return this; + } - } - break; + copy(source) { + this.name = source.name; + this.array = new source.array.constructor(source.array); + this.itemSize = source.itemSize; + this.count = source.count; + this.normalized = source.normalized; + this.usage = source.usage; + return this; + } - } + copyAt(index1, attribute, index2) { + index1 *= this.itemSize; + index2 *= attribute.itemSize; + for (let i = 0, l = this.itemSize; i < l; i++) { + this.array[index1 + i] = attribute.array[index2 + i]; } - if ( uv.y < 0 || uv.y > 1 ) { - - switch ( this.wrapT ) { - - case RepeatWrapping: - - uv.y = uv.y - Math.floor( uv.y ); - break; + return this; + } - case ClampToEdgeWrapping: + copyArray(array) { + this.array.set(array); + return this; + } - uv.y = uv.y < 0 ? 0 : 1; - break; + copyColorsArray(colors) { + const array = this.array; + let offset = 0; - case MirroredRepeatWrapping: + for (let i = 0, l = colors.length; i < l; i++) { + let color = colors[i]; - if ( Math.abs( Math.floor( uv.y ) % 2 ) === 1 ) { + if (color === undefined) { + console.warn('THREE.BufferAttribute.copyColorsArray(): color is undefined', i); + color = new Color(); + } - uv.y = Math.ceil( uv.y ) - uv.y; + array[offset++] = color.r; + array[offset++] = color.g; + array[offset++] = color.b; + } - } else { + return this; + } - uv.y = uv.y - Math.floor( uv.y ); + copyVector2sArray(vectors) { + const array = this.array; + let offset = 0; - } - break; + for (let i = 0, l = vectors.length; i < l; i++) { + let vector = vectors[i]; + if (vector === undefined) { + console.warn('THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i); + vector = new Vector2(); } + array[offset++] = vector.x; + array[offset++] = vector.y; } - if ( this.flipY ) { + return this; + } - uv.y = 1 - uv.y; + copyVector3sArray(vectors) { + const array = this.array; + let offset = 0; - } + for (let i = 0, l = vectors.length; i < l; i++) { + let vector = vectors[i]; - return uv; + if (vector === undefined) { + console.warn('THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i); + vector = new Vector3(); + } + + array[offset++] = vector.x; + array[offset++] = vector.y; + array[offset++] = vector.z; + } + return this; } - } ); + copyVector4sArray(vectors) { + const array = this.array; + let offset = 0; - Object.defineProperty( Texture.prototype, "needsUpdate", { + for (let i = 0, l = vectors.length; i < l; i++) { + let vector = vectors[i]; - set: function ( value ) { + if (vector === undefined) { + console.warn('THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i); + vector = new Vector4(); + } - if ( value === true ) this.version ++; + array[offset++] = vector.x; + array[offset++] = vector.y; + array[offset++] = vector.z; + array[offset++] = vector.w; + } + return this; } - } ); + applyMatrix3(m) { + if (this.itemSize === 2) { + for (let i = 0, l = this.count; i < l; i++) { + _vector2$1.fromBufferAttribute(this, i); - /** - * @author supereggbert / http://www.paulbrunt.co.uk/ - * @author philogb / http://blog.thejit.org/ - * @author mikael emtinger / http://gomo.se/ - * @author egraether / http://egraether.com/ - * @author WestLangley / http://github.com/WestLangley - */ + _vector2$1.applyMatrix3(m); - function Vector4( x, y, z, w ) { + this.setXY(i, _vector2$1.x, _vector2$1.y); + } + } else if (this.itemSize === 3) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.fromBufferAttribute(this, i); - this.x = x || 0; - this.y = y || 0; - this.z = z || 0; - this.w = ( w !== undefined ) ? w : 1; + _vector$9.applyMatrix3(m); - } + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } + } - Object.assign( Vector4.prototype, { + return this; + } - isVector4: true, + applyMatrix4(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.x = this.getX(i); + _vector$9.y = this.getY(i); + _vector$9.z = this.getZ(i); - set: function ( x, y, z, w ) { + _vector$9.applyMatrix4(m); - this.x = x; - this.y = y; - this.z = z; - this.w = w; + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } return this; + } - }, + applyNormalMatrix(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.x = this.getX(i); + _vector$9.y = this.getY(i); + _vector$9.z = this.getZ(i); - setScalar: function ( scalar ) { + _vector$9.applyNormalMatrix(m); - this.x = scalar; - this.y = scalar; - this.z = scalar; - this.w = scalar; + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } return this; + } - }, + transformDirection(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$9.x = this.getX(i); + _vector$9.y = this.getY(i); + _vector$9.z = this.getZ(i); - setX: function ( x ) { + _vector$9.transformDirection(m); - this.x = x; + this.setXYZ(i, _vector$9.x, _vector$9.y, _vector$9.z); + } return this; + } - }, + set(value, offset = 0) { + this.array.set(value, offset); + return this; + } - setY: function ( y ) { - - this.y = y; + getX(index) { + return this.array[index * this.itemSize]; + } + setX(index, x) { + this.array[index * this.itemSize] = x; return this; + } - }, + getY(index) { + return this.array[index * this.itemSize + 1]; + } - setZ: function ( z ) { + setY(index, y) { + this.array[index * this.itemSize + 1] = y; + return this; + } - this.z = z; + getZ(index) { + return this.array[index * this.itemSize + 2]; + } + setZ(index, z) { + this.array[index * this.itemSize + 2] = z; return this; + } - }, + getW(index) { + return this.array[index * this.itemSize + 3]; + } - setW: function ( w ) { + setW(index, w) { + this.array[index * this.itemSize + 3] = w; + return this; + } - this.w = w; + setXY(index, x, y) { + index *= this.itemSize; + this.array[index + 0] = x; + this.array[index + 1] = y; + return this; + } + setXYZ(index, x, y, z) { + index *= this.itemSize; + this.array[index + 0] = x; + this.array[index + 1] = y; + this.array[index + 2] = z; return this; + } - }, + setXYZW(index, x, y, z, w) { + index *= this.itemSize; + this.array[index + 0] = x; + this.array[index + 1] = y; + this.array[index + 2] = z; + this.array[index + 3] = w; + return this; + } - setComponent: function ( index, value ) { + onUpload(callback) { + this.onUploadCallback = callback; + return this; + } - switch ( index ) { + clone() { + return new this.constructor(this.array, this.itemSize).copy(this); + } - case 0: this.x = value; break; - case 1: this.y = value; break; - case 2: this.z = value; break; - case 3: this.w = value; break; - default: throw new Error( 'index is out of range: ' + index ); + toJSON() { + const data = { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: Array.prototype.slice.call(this.array), + normalized: this.normalized + }; + if (this.name !== '') data.name = this.name; + if (this.usage !== StaticDrawUsage) data.usage = this.usage; + if (this.updateRange.offset !== 0 || this.updateRange.count !== -1) data.updateRange = this.updateRange; + return data; + } - } + } - return this; + BufferAttribute.prototype.isBufferAttribute = true; // - }, + class Int8BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Int8Array(array), itemSize, normalized); + } - getComponent: function ( index ) { + } - switch ( index ) { + class Uint8BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint8Array(array), itemSize, normalized); + } - case 0: return this.x; - case 1: return this.y; - case 2: return this.z; - case 3: return this.w; - default: throw new Error( 'index is out of range: ' + index ); + } - } + class Uint8ClampedBufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint8ClampedArray(array), itemSize, normalized); + } - }, + } - clone: function () { + class Int16BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Int16Array(array), itemSize, normalized); + } - return new this.constructor( this.x, this.y, this.z, this.w ); + } - }, + class Uint16BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint16Array(array), itemSize, normalized); + } - copy: function ( v ) { + } - this.x = v.x; - this.y = v.y; - this.z = v.z; - this.w = ( v.w !== undefined ) ? v.w : 1; + class Int32BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Int32Array(array), itemSize, normalized); + } - return this; + } - }, + class Uint32BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint32Array(array), itemSize, normalized); + } - add: function ( v, w ) { + } - if ( w !== undefined ) { + class Float16BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Uint16Array(array), itemSize, normalized); + } - console.warn( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' ); - return this.addVectors( v, w ); + } - } + Float16BufferAttribute.prototype.isFloat16BufferAttribute = true; - this.x += v.x; - this.y += v.y; - this.z += v.z; - this.w += v.w; + class Float32BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Float32Array(array), itemSize, normalized); + } - return this; + } - }, + class Float64BufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized) { + super(new Float64Array(array), itemSize, normalized); + } - addScalar: function ( s ) { + } // - this.x += s; - this.y += s; - this.z += s; - this.w += s; + function arrayMax(array) { + if (array.length === 0) return -Infinity; + let max = array[0]; - return this; + for (let i = 1, l = array.length; i < l; ++i) { + if (array[i] > max) max = array[i]; + } - }, + return max; + } - addVectors: function ( a, b ) { + const TYPED_ARRAYS = { + Int8Array: Int8Array, + Uint8Array: Uint8Array, + Uint8ClampedArray: Uint8ClampedArray, + Int16Array: Int16Array, + Uint16Array: Uint16Array, + Int32Array: Int32Array, + Uint32Array: Uint32Array, + Float32Array: Float32Array, + Float64Array: Float64Array + }; - this.x = a.x + b.x; - this.y = a.y + b.y; - this.z = a.z + b.z; - this.w = a.w + b.w; + function getTypedArray(type, buffer) { + return new TYPED_ARRAYS[type](buffer); + } - return this; + let _id = 0; - }, + const _m1 = /*@__PURE__*/new Matrix4(); - addScaledVector: function ( v, s ) { + const _obj = /*@__PURE__*/new Object3D(); - this.x += v.x * s; - this.y += v.y * s; - this.z += v.z * s; - this.w += v.w * s; + const _offset = /*@__PURE__*/new Vector3(); - return this; + const _box$1 = /*@__PURE__*/new Box3(); - }, + const _boxMorphTargets = /*@__PURE__*/new Box3(); - sub: function ( v, w ) { + const _vector$8 = /*@__PURE__*/new Vector3(); - if ( w !== undefined ) { + class BufferGeometry extends EventDispatcher { + constructor() { + super(); + Object.defineProperty(this, 'id', { + value: _id++ + }); + this.uuid = generateUUID(); + this.name = ''; + this.type = 'BufferGeometry'; + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.morphTargetsRelative = false; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; + this.drawRange = { + start: 0, + count: Infinity + }; + this.userData = {}; + } - console.warn( 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.' ); - return this.subVectors( v, w ); + getIndex() { + return this.index; + } + setIndex(index) { + if (Array.isArray(index)) { + this.index = new (arrayMax(index) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute)(index, 1); + } else { + this.index = index; } - this.x -= v.x; - this.y -= v.y; - this.z -= v.z; - this.w -= v.w; - return this; + } - }, - - subScalar: function ( s ) { + getAttribute(name) { + return this.attributes[name]; + } - this.x -= s; - this.y -= s; - this.z -= s; - this.w -= s; + setAttribute(name, attribute) { + this.attributes[name] = attribute; + return this; + } + deleteAttribute(name) { + delete this.attributes[name]; return this; + } - }, + hasAttribute(name) { + return this.attributes[name] !== undefined; + } - subVectors: function ( a, b ) { + addGroup(start, count, materialIndex = 0) { + this.groups.push({ + start: start, + count: count, + materialIndex: materialIndex + }); + } - this.x = a.x - b.x; - this.y = a.y - b.y; - this.z = a.z - b.z; - this.w = a.w - b.w; + clearGroups() { + this.groups = []; + } - return this; + setDrawRange(start, count) { + this.drawRange.start = start; + this.drawRange.count = count; + } - }, + applyMatrix4(matrix) { + const position = this.attributes.position; - multiplyScalar: function ( scalar ) { + if (position !== undefined) { + position.applyMatrix4(matrix); + position.needsUpdate = true; + } - this.x *= scalar; - this.y *= scalar; - this.z *= scalar; - this.w *= scalar; + const normal = this.attributes.normal; - return this; + if (normal !== undefined) { + const normalMatrix = new Matrix3().getNormalMatrix(matrix); + normal.applyNormalMatrix(normalMatrix); + normal.needsUpdate = true; + } - }, + const tangent = this.attributes.tangent; - applyMatrix4: function ( m ) { + if (tangent !== undefined) { + tangent.transformDirection(matrix); + tangent.needsUpdate = true; + } - var x = this.x, y = this.y, z = this.z, w = this.w; - var e = m.elements; + if (this.boundingBox !== null) { + this.computeBoundingBox(); + } - this.x = e[ 0 ] * x + e[ 4 ] * y + e[ 8 ] * z + e[ 12 ] * w; - this.y = e[ 1 ] * x + e[ 5 ] * y + e[ 9 ] * z + e[ 13 ] * w; - this.z = e[ 2 ] * x + e[ 6 ] * y + e[ 10 ] * z + e[ 14 ] * w; - this.w = e[ 3 ] * x + e[ 7 ] * y + e[ 11 ] * z + e[ 15 ] * w; + if (this.boundingSphere !== null) { + this.computeBoundingSphere(); + } return this; + } - }, + applyQuaternion(q) { + _m1.makeRotationFromQuaternion(q); - divideScalar: function ( scalar ) { + this.applyMatrix4(_m1); + return this; + } - return this.multiplyScalar( 1 / scalar ); + rotateX(angle) { + // rotate geometry around world x-axis + _m1.makeRotationX(angle); - }, + this.applyMatrix4(_m1); + return this; + } - setAxisAngleFromQuaternion: function ( q ) { + rotateY(angle) { + // rotate geometry around world y-axis + _m1.makeRotationY(angle); - // http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/index.htm + this.applyMatrix4(_m1); + return this; + } - // q is assumed to be normalized + rotateZ(angle) { + // rotate geometry around world z-axis + _m1.makeRotationZ(angle); - this.w = 2 * Math.acos( q.w ); + this.applyMatrix4(_m1); + return this; + } - var s = Math.sqrt( 1 - q.w * q.w ); + translate(x, y, z) { + // translate geometry + _m1.makeTranslation(x, y, z); - if ( s < 0.0001 ) { + this.applyMatrix4(_m1); + return this; + } - this.x = 1; - this.y = 0; - this.z = 0; + scale(x, y, z) { + // scale geometry + _m1.makeScale(x, y, z); - } else { + this.applyMatrix4(_m1); + return this; + } - this.x = q.x / s; - this.y = q.y / s; - this.z = q.z / s; + lookAt(vector) { + _obj.lookAt(vector); - } + _obj.updateMatrix(); + this.applyMatrix4(_obj.matrix); return this; + } - }, + center() { + this.computeBoundingBox(); + this.boundingBox.getCenter(_offset).negate(); + this.translate(_offset.x, _offset.y, _offset.z); + return this; + } - setAxisAngleFromRotationMatrix: function ( m ) { + setFromPoints(points) { + const position = []; - // http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/index.htm + for (let i = 0, l = points.length; i < l; i++) { + const point = points[i]; + position.push(point.x, point.y, point.z || 0); + } - // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) + this.setAttribute('position', new Float32BufferAttribute(position, 3)); + return this; + } - var angle, x, y, z, // variables for result - epsilon = 0.01, // margin to allow for rounding errors - epsilon2 = 0.1, // margin to distinguish between 0 and 180 degrees + computeBoundingBox() { + if (this.boundingBox === null) { + this.boundingBox = new Box3(); + } - te = m.elements, + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; - m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ], - m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ], - m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; + if (position && position.isGLBufferAttribute) { + console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".', this); + this.boundingBox.set(new Vector3(-Infinity, -Infinity, -Infinity), new Vector3(+Infinity, +Infinity, +Infinity)); + return; + } - if ( ( Math.abs( m12 - m21 ) < epsilon ) && - ( Math.abs( m13 - m31 ) < epsilon ) && - ( Math.abs( m23 - m32 ) < epsilon ) ) { + if (position !== undefined) { + this.boundingBox.setFromBufferAttribute(position); // process morph attributes if present - // singularity found - // first check for identity matrix which must have +1 for all terms - // in leading diagonal and zero in other terms + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; - if ( ( Math.abs( m12 + m21 ) < epsilon2 ) && - ( Math.abs( m13 + m31 ) < epsilon2 ) && - ( Math.abs( m23 + m32 ) < epsilon2 ) && - ( Math.abs( m11 + m22 + m33 - 3 ) < epsilon2 ) ) { + _box$1.setFromBufferAttribute(morphAttribute); - // this singularity is identity matrix so angle = 0 + if (this.morphTargetsRelative) { + _vector$8.addVectors(this.boundingBox.min, _box$1.min); - this.set( 1, 0, 0, 0 ); + this.boundingBox.expandByPoint(_vector$8); - return this; // zero angle, arbitrary axis + _vector$8.addVectors(this.boundingBox.max, _box$1.max); + this.boundingBox.expandByPoint(_vector$8); + } else { + this.boundingBox.expandByPoint(_box$1.min); + this.boundingBox.expandByPoint(_box$1.max); + } + } } + } else { + this.boundingBox.makeEmpty(); + } - // otherwise this singularity is angle = 180 + if (isNaN(this.boundingBox.min.x) || isNaN(this.boundingBox.min.y) || isNaN(this.boundingBox.min.z)) { + console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this); + } + } - angle = Math.PI; + computeBoundingSphere() { + if (this.boundingSphere === null) { + this.boundingSphere = new Sphere(); + } - var xx = ( m11 + 1 ) / 2; - var yy = ( m22 + 1 ) / 2; - var zz = ( m33 + 1 ) / 2; - var xy = ( m12 + m21 ) / 4; - var xz = ( m13 + m31 ) / 4; - var yz = ( m23 + m32 ) / 4; + const position = this.attributes.position; + const morphAttributesPosition = this.morphAttributes.position; - if ( ( xx > yy ) && ( xx > zz ) ) { + if (position && position.isGLBufferAttribute) { + console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".', this); + this.boundingSphere.set(new Vector3(), Infinity); + return; + } - // m11 is the largest diagonal term + if (position) { + // first, find the center of the bounding sphere + const center = this.boundingSphere.center; - if ( xx < epsilon ) { + _box$1.setFromBufferAttribute(position); // process morph attributes if present - x = 0; - y = 0.707106781; - z = 0.707106781; - } else { + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; - x = Math.sqrt( xx ); - y = xy / x; - z = xz / x; + _boxMorphTargets.setFromBufferAttribute(morphAttribute); - } + if (this.morphTargetsRelative) { + _vector$8.addVectors(_box$1.min, _boxMorphTargets.min); - } else if ( yy > zz ) { + _box$1.expandByPoint(_vector$8); - // m22 is the largest diagonal term + _vector$8.addVectors(_box$1.max, _boxMorphTargets.max); - if ( yy < epsilon ) { + _box$1.expandByPoint(_vector$8); + } else { + _box$1.expandByPoint(_boxMorphTargets.min); - x = 0.707106781; - y = 0; - z = 0.707106781; + _box$1.expandByPoint(_boxMorphTargets.max); + } + } + } - } else { + _box$1.getCenter(center); // second, try to find a boundingSphere with a radius smaller than the + // boundingSphere of the boundingBox: sqrt(3) smaller in the best case - y = Math.sqrt( yy ); - x = xy / y; - z = yz / y; - } + let maxRadiusSq = 0; - } else { + for (let i = 0, il = position.count; i < il; i++) { + _vector$8.fromBufferAttribute(position, i); - // m33 is the largest diagonal term so base result on this + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } // process morph attributes if present - if ( zz < epsilon ) { - x = 0.707106781; - y = 0.707106781; - z = 0; + if (morphAttributesPosition) { + for (let i = 0, il = morphAttributesPosition.length; i < il; i++) { + const morphAttribute = morphAttributesPosition[i]; + const morphTargetsRelative = this.morphTargetsRelative; - } else { + for (let j = 0, jl = morphAttribute.count; j < jl; j++) { + _vector$8.fromBufferAttribute(morphAttribute, j); - z = Math.sqrt( zz ); - x = xz / z; - y = yz / z; + if (morphTargetsRelative) { + _offset.fromBufferAttribute(position, j); - } + _vector$8.add(_offset); + } + maxRadiusSq = Math.max(maxRadiusSq, center.distanceToSquared(_vector$8)); + } + } } - this.set( x, y, z, angle ); - - return this; // return 180 deg rotation + this.boundingSphere.radius = Math.sqrt(maxRadiusSq); + if (isNaN(this.boundingSphere.radius)) { + console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this); + } } + } - // as we have reached here there are no singularities so we can handle normally - - var s = Math.sqrt( ( m32 - m23 ) * ( m32 - m23 ) + - ( m13 - m31 ) * ( m13 - m31 ) + - ( m21 - m12 ) * ( m21 - m12 ) ); // used to normalize + computeTangents() { + const index = this.index; + const attributes = this.attributes; // based on http://www.terathon.com/code/tangent.html + // (per vertex tangents) - if ( Math.abs( s ) < 0.001 ) s = 1; - - // prevent divide by zero, should not happen if matrix is orthogonal and should be - // caught by singularity test above, but I've left it in just in case - - this.x = ( m32 - m23 ) / s; - this.y = ( m13 - m31 ) / s; - this.z = ( m21 - m12 ) / s; - this.w = Math.acos( ( m11 + m22 + m33 - 1 ) / 2 ); - - return this; - - }, - - min: function ( v ) { - - this.x = Math.min( this.x, v.x ); - this.y = Math.min( this.y, v.y ); - this.z = Math.min( this.z, v.z ); - this.w = Math.min( this.w, v.w ); + if (index === null || attributes.position === undefined || attributes.normal === undefined || attributes.uv === undefined) { + console.error('THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)'); + return; + } - return this; + const indices = index.array; + const positions = attributes.position.array; + const normals = attributes.normal.array; + const uvs = attributes.uv.array; + const nVertices = positions.length / 3; - }, + if (attributes.tangent === undefined) { + this.setAttribute('tangent', new BufferAttribute(new Float32Array(4 * nVertices), 4)); + } - max: function ( v ) { + const tangents = attributes.tangent.array; + const tan1 = [], + tan2 = []; - this.x = Math.max( this.x, v.x ); - this.y = Math.max( this.y, v.y ); - this.z = Math.max( this.z, v.z ); - this.w = Math.max( this.w, v.w ); + for (let i = 0; i < nVertices; i++) { + tan1[i] = new Vector3(); + tan2[i] = new Vector3(); + } - return this; + const vA = new Vector3(), + vB = new Vector3(), + vC = new Vector3(), + uvA = new Vector2(), + uvB = new Vector2(), + uvC = new Vector2(), + sdir = new Vector3(), + tdir = new Vector3(); - }, + function handleTriangle(a, b, c) { + vA.fromArray(positions, a * 3); + vB.fromArray(positions, b * 3); + vC.fromArray(positions, c * 3); + uvA.fromArray(uvs, a * 2); + uvB.fromArray(uvs, b * 2); + uvC.fromArray(uvs, c * 2); + vB.sub(vA); + vC.sub(vA); + uvB.sub(uvA); + uvC.sub(uvA); + const r = 1.0 / (uvB.x * uvC.y - uvC.x * uvB.y); // silently ignore degenerate uv triangles having coincident or colinear vertices - clamp: function ( min, max ) { + if (!isFinite(r)) return; + sdir.copy(vB).multiplyScalar(uvC.y).addScaledVector(vC, -uvB.y).multiplyScalar(r); + tdir.copy(vC).multiplyScalar(uvB.x).addScaledVector(vB, -uvC.x).multiplyScalar(r); + tan1[a].add(sdir); + tan1[b].add(sdir); + tan1[c].add(sdir); + tan2[a].add(tdir); + tan2[b].add(tdir); + tan2[c].add(tdir); + } - // assumes min < max, componentwise + let groups = this.groups; - this.x = Math.max( min.x, Math.min( max.x, this.x ) ); - this.y = Math.max( min.y, Math.min( max.y, this.y ) ); - this.z = Math.max( min.z, Math.min( max.z, this.z ) ); - this.w = Math.max( min.w, Math.min( max.w, this.w ) ); + if (groups.length === 0) { + groups = [{ + start: 0, + count: indices.length + }]; + } - return this; + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; - }, + for (let j = start, jl = start + count; j < jl; j += 3) { + handleTriangle(indices[j + 0], indices[j + 1], indices[j + 2]); + } + } - clampScalar: function () { + const tmp = new Vector3(), + tmp2 = new Vector3(); + const n = new Vector3(), + n2 = new Vector3(); - var min, max; + function handleVertex(v) { + n.fromArray(normals, v * 3); + n2.copy(n); + const t = tan1[v]; // Gram-Schmidt orthogonalize - return function clampScalar( minVal, maxVal ) { + tmp.copy(t); + tmp.sub(n.multiplyScalar(n.dot(t))).normalize(); // Calculate handedness - if ( min === undefined ) { + tmp2.crossVectors(n2, t); + const test = tmp2.dot(tan2[v]); + const w = test < 0.0 ? -1.0 : 1.0; + tangents[v * 4] = tmp.x; + tangents[v * 4 + 1] = tmp.y; + tangents[v * 4 + 2] = tmp.z; + tangents[v * 4 + 3] = w; + } - min = new Vector4(); - max = new Vector4(); + for (let i = 0, il = groups.length; i < il; ++i) { + const group = groups[i]; + const start = group.start; + const count = group.count; + for (let j = start, jl = start + count; j < jl; j += 3) { + handleVertex(indices[j + 0]); + handleVertex(indices[j + 1]); + handleVertex(indices[j + 2]); } + } + } - min.set( minVal, minVal, minVal, minVal ); - max.set( maxVal, maxVal, maxVal, maxVal ); - - return this.clamp( min, max ); - - }; - - }(), - - clampLength: function ( min, max ) { + computeVertexNormals() { + const index = this.index; + const positionAttribute = this.getAttribute('position'); - var length = this.length(); + if (positionAttribute !== undefined) { + let normalAttribute = this.getAttribute('normal'); - return this.divideScalar( length || 1 ).multiplyScalar( Math.max( min, Math.min( max, length ) ) ); + if (normalAttribute === undefined) { + normalAttribute = new BufferAttribute(new Float32Array(positionAttribute.count * 3), 3); + this.setAttribute('normal', normalAttribute); + } else { + // reset existing normals to zero + for (let i = 0, il = normalAttribute.count; i < il; i++) { + normalAttribute.setXYZ(i, 0, 0, 0); + } + } - }, + const pA = new Vector3(), + pB = new Vector3(), + pC = new Vector3(); + const nA = new Vector3(), + nB = new Vector3(), + nC = new Vector3(); + const cb = new Vector3(), + ab = new Vector3(); // indexed elements + + if (index) { + for (let i = 0, il = index.count; i < il; i += 3) { + const vA = index.getX(i + 0); + const vB = index.getX(i + 1); + const vC = index.getX(i + 2); + pA.fromBufferAttribute(positionAttribute, vA); + pB.fromBufferAttribute(positionAttribute, vB); + pC.fromBufferAttribute(positionAttribute, vC); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + nA.fromBufferAttribute(normalAttribute, vA); + nB.fromBufferAttribute(normalAttribute, vB); + nC.fromBufferAttribute(normalAttribute, vC); + nA.add(cb); + nB.add(cb); + nC.add(cb); + normalAttribute.setXYZ(vA, nA.x, nA.y, nA.z); + normalAttribute.setXYZ(vB, nB.x, nB.y, nB.z); + normalAttribute.setXYZ(vC, nC.x, nC.y, nC.z); + } + } else { + // non-indexed elements (unconnected triangle soup) + for (let i = 0, il = positionAttribute.count; i < il; i += 3) { + pA.fromBufferAttribute(positionAttribute, i + 0); + pB.fromBufferAttribute(positionAttribute, i + 1); + pC.fromBufferAttribute(positionAttribute, i + 2); + cb.subVectors(pC, pB); + ab.subVectors(pA, pB); + cb.cross(ab); + normalAttribute.setXYZ(i + 0, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 1, cb.x, cb.y, cb.z); + normalAttribute.setXYZ(i + 2, cb.x, cb.y, cb.z); + } + } - floor: function () { + this.normalizeNormals(); + normalAttribute.needsUpdate = true; + } + } - this.x = Math.floor( this.x ); - this.y = Math.floor( this.y ); - this.z = Math.floor( this.z ); - this.w = Math.floor( this.w ); + merge(geometry, offset) { + if (!(geometry && geometry.isBufferGeometry)) { + console.error('THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry); + return; + } - return this; + if (offset === undefined) { + offset = 0; + console.warn('THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. ' + 'Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.'); + } - }, + const attributes = this.attributes; - ceil: function () { + for (const key in attributes) { + if (geometry.attributes[key] === undefined) continue; + const attribute1 = attributes[key]; + const attributeArray1 = attribute1.array; + const attribute2 = geometry.attributes[key]; + const attributeArray2 = attribute2.array; + const attributeOffset = attribute2.itemSize * offset; + const length = Math.min(attributeArray2.length, attributeArray1.length - attributeOffset); - this.x = Math.ceil( this.x ); - this.y = Math.ceil( this.y ); - this.z = Math.ceil( this.z ); - this.w = Math.ceil( this.w ); + for (let i = 0, j = attributeOffset; i < length; i++, j++) { + attributeArray1[j] = attributeArray2[i]; + } + } return this; + } - }, + normalizeNormals() { + const normals = this.attributes.normal; - round: function () { + for (let i = 0, il = normals.count; i < il; i++) { + _vector$8.fromBufferAttribute(normals, i); - this.x = Math.round( this.x ); - this.y = Math.round( this.y ); - this.z = Math.round( this.z ); - this.w = Math.round( this.w ); + _vector$8.normalize(); - return this; + normals.setXYZ(i, _vector$8.x, _vector$8.y, _vector$8.z); + } + } - }, + toNonIndexed() { + function convertBufferAttribute(attribute, indices) { + const array = attribute.array; + const itemSize = attribute.itemSize; + const normalized = attribute.normalized; + const array2 = new array.constructor(indices.length * itemSize); + let index = 0, + index2 = 0; - roundToZero: function () { + for (let i = 0, l = indices.length; i < l; i++) { + if (attribute.isInterleavedBufferAttribute) { + index = indices[i] * attribute.data.stride + attribute.offset; + } else { + index = indices[i] * itemSize; + } - this.x = ( this.x < 0 ) ? Math.ceil( this.x ) : Math.floor( this.x ); - this.y = ( this.y < 0 ) ? Math.ceil( this.y ) : Math.floor( this.y ); - this.z = ( this.z < 0 ) ? Math.ceil( this.z ) : Math.floor( this.z ); - this.w = ( this.w < 0 ) ? Math.ceil( this.w ) : Math.floor( this.w ); + for (let j = 0; j < itemSize; j++) { + array2[index2++] = array[index++]; + } + } - return this; + return new BufferAttribute(array2, itemSize, normalized); + } // - }, - negate: function () { + if (this.index === null) { + console.warn('THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.'); + return this; + } - this.x = - this.x; - this.y = - this.y; - this.z = - this.z; - this.w = - this.w; + const geometry2 = new BufferGeometry(); + const indices = this.index.array; + const attributes = this.attributes; // attributes - return this; + for (const name in attributes) { + const attribute = attributes[name]; + const newAttribute = convertBufferAttribute(attribute, indices); + geometry2.setAttribute(name, newAttribute); + } // morph attributes - }, - dot: function ( v ) { + const morphAttributes = this.morphAttributes; - return this.x * v.x + this.y * v.y + this.z * v.z + this.w * v.w; + for (const name in morphAttributes) { + const morphArray = []; + const morphAttribute = morphAttributes[name]; // morphAttribute: array of Float32BufferAttributes - }, + for (let i = 0, il = morphAttribute.length; i < il; i++) { + const attribute = morphAttribute[i]; + const newAttribute = convertBufferAttribute(attribute, indices); + morphArray.push(newAttribute); + } - lengthSq: function () { + geometry2.morphAttributes[name] = morphArray; + } - return this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w; + geometry2.morphTargetsRelative = this.morphTargetsRelative; // groups - }, + const groups = this.groups; - length: function () { + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + geometry2.addGroup(group.start, group.count, group.materialIndex); + } - return Math.sqrt( this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w ); + return geometry2; + } - }, + toJSON() { + const data = { + metadata: { + version: 4.5, + type: 'BufferGeometry', + generator: 'BufferGeometry.toJSON' + } + }; // standard BufferGeometry serialization - manhattanLength: function () { + data.uuid = this.uuid; + data.type = this.type; + if (this.name !== '') data.name = this.name; + if (Object.keys(this.userData).length > 0) data.userData = this.userData; - return Math.abs( this.x ) + Math.abs( this.y ) + Math.abs( this.z ) + Math.abs( this.w ); + if (this.parameters !== undefined) { + const parameters = this.parameters; - }, + for (const key in parameters) { + if (parameters[key] !== undefined) data[key] = parameters[key]; + } - normalize: function () { + return data; + } // for simplicity the code assumes attributes are not shared across geometries, see #15811 - return this.divideScalar( this.length() || 1 ); - }, + data.data = { + attributes: {} + }; + const index = this.index; - setLength: function ( length ) { + if (index !== null) { + data.data.index = { + type: index.array.constructor.name, + array: Array.prototype.slice.call(index.array) + }; + } - return this.normalize().multiplyScalar( length ); + const attributes = this.attributes; - }, + for (const key in attributes) { + const attribute = attributes[key]; + data.data.attributes[key] = attribute.toJSON(data.data); + } - lerp: function ( v, alpha ) { + const morphAttributes = {}; + let hasMorphAttributes = false; - this.x += ( v.x - this.x ) * alpha; - this.y += ( v.y - this.y ) * alpha; - this.z += ( v.z - this.z ) * alpha; - this.w += ( v.w - this.w ) * alpha; + for (const key in this.morphAttributes) { + const attributeArray = this.morphAttributes[key]; + const array = []; - return this; + for (let i = 0, il = attributeArray.length; i < il; i++) { + const attribute = attributeArray[i]; + array.push(attribute.toJSON(data.data)); + } - }, + if (array.length > 0) { + morphAttributes[key] = array; + hasMorphAttributes = true; + } + } - lerpVectors: function ( v1, v2, alpha ) { + if (hasMorphAttributes) { + data.data.morphAttributes = morphAttributes; + data.data.morphTargetsRelative = this.morphTargetsRelative; + } - return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 ); + const groups = this.groups; - }, + if (groups.length > 0) { + data.data.groups = JSON.parse(JSON.stringify(groups)); + } - equals: function ( v ) { + const boundingSphere = this.boundingSphere; - return ( ( v.x === this.x ) && ( v.y === this.y ) && ( v.z === this.z ) && ( v.w === this.w ) ); + if (boundingSphere !== null) { + data.data.boundingSphere = { + center: boundingSphere.center.toArray(), + radius: boundingSphere.radius + }; + } - }, + return data; + } - fromArray: function ( array, offset ) { + clone() { + /* + // Handle primitives + const parameters = this.parameters; + if ( parameters !== undefined ) { + const values = []; + for ( const key in parameters ) { + values.push( parameters[ key ] ); + } + const geometry = Object.create( this.constructor.prototype ); + this.constructor.apply( geometry, values ); + return geometry; + } + return new this.constructor().copy( this ); + */ + return new BufferGeometry().copy(this); + } - if ( offset === undefined ) offset = 0; + copy(source) { + // reset + this.index = null; + this.attributes = {}; + this.morphAttributes = {}; + this.groups = []; + this.boundingBox = null; + this.boundingSphere = null; // used for storing cloned, shared data - this.x = array[ offset ]; - this.y = array[ offset + 1 ]; - this.z = array[ offset + 2 ]; - this.w = array[ offset + 3 ]; + const data = {}; // name - return this; + this.name = source.name; // index - }, + const index = source.index; - toArray: function ( array, offset ) { + if (index !== null) { + this.setIndex(index.clone(data)); + } // attributes - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; - array[ offset ] = this.x; - array[ offset + 1 ] = this.y; - array[ offset + 2 ] = this.z; - array[ offset + 3 ] = this.w; + const attributes = source.attributes; - return array; + for (const name in attributes) { + const attribute = attributes[name]; + this.setAttribute(name, attribute.clone(data)); + } // morph attributes - }, - fromBufferAttribute: function ( attribute, index, offset ) { + const morphAttributes = source.morphAttributes; - if ( offset !== undefined ) { + for (const name in morphAttributes) { + const array = []; + const morphAttribute = morphAttributes[name]; // morphAttribute: array of Float32BufferAttributes - console.warn( 'THREE.Vector4: offset has been removed from .fromBufferAttribute().' ); + for (let i = 0, l = morphAttribute.length; i < l; i++) { + array.push(morphAttribute[i].clone(data)); + } + this.morphAttributes[name] = array; } - this.x = attribute.getX( index ); - this.y = attribute.getY( index ); - this.z = attribute.getZ( index ); - this.w = attribute.getW( index ); + this.morphTargetsRelative = source.morphTargetsRelative; // groups - return this; + const groups = source.groups; - } + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + this.addGroup(group.start, group.count, group.materialIndex); + } // bounding box - } ); - /** - * @author szimek / https://github.com/szimek/ - * @author alteredq / http://alteredqualia.com/ - * @author Marius Kintel / https://github.com/kintel - */ + const boundingBox = source.boundingBox; - /* - In options, we can specify: - * Texture parameters for an auto-generated target texture - * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers - */ - function WebGLRenderTarget( width, height, options ) { + if (boundingBox !== null) { + this.boundingBox = boundingBox.clone(); + } // bounding sphere - this.width = width; - this.height = height; - this.scissor = new Vector4( 0, 0, width, height ); - this.scissorTest = false; + const boundingSphere = source.boundingSphere; - this.viewport = new Vector4( 0, 0, width, height ); + if (boundingSphere !== null) { + this.boundingSphere = boundingSphere.clone(); + } // draw range - options = options || {}; - this.texture = new Texture( undefined, undefined, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding ); + this.drawRange.start = source.drawRange.start; + this.drawRange.count = source.drawRange.count; // user data - this.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false; - this.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter; + this.userData = source.userData; + return this; + } - this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true; - this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : true; - this.depthTexture = options.depthTexture !== undefined ? options.depthTexture : null; + dispose() { + this.dispatchEvent({ + type: 'dispose' + }); + } } - WebGLRenderTarget.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { + BufferGeometry.prototype.isBufferGeometry = true; - constructor: WebGLRenderTarget, + const _inverseMatrix$2 = /*@__PURE__*/new Matrix4(); - isWebGLRenderTarget: true, + const _ray$2 = /*@__PURE__*/new Ray(); - setSize: function ( width, height ) { + const _sphere$3 = /*@__PURE__*/new Sphere(); - if ( this.width !== width || this.height !== height ) { + const _vA$1 = /*@__PURE__*/new Vector3(); - this.width = width; - this.height = height; + const _vB$1 = /*@__PURE__*/new Vector3(); - this.dispose(); + const _vC$1 = /*@__PURE__*/new Vector3(); - } + const _tempA = /*@__PURE__*/new Vector3(); - this.viewport.set( 0, 0, width, height ); - this.scissor.set( 0, 0, width, height ); + const _tempB = /*@__PURE__*/new Vector3(); - }, + const _tempC = /*@__PURE__*/new Vector3(); - clone: function () { + const _morphA = /*@__PURE__*/new Vector3(); - return new this.constructor().copy( this ); + const _morphB = /*@__PURE__*/new Vector3(); - }, + const _morphC = /*@__PURE__*/new Vector3(); - copy: function ( source ) { + const _uvA$1 = /*@__PURE__*/new Vector2(); - this.width = source.width; - this.height = source.height; + const _uvB$1 = /*@__PURE__*/new Vector2(); - this.viewport.copy( source.viewport ); + const _uvC$1 = /*@__PURE__*/new Vector2(); - this.texture = source.texture.clone(); + const _intersectionPoint = /*@__PURE__*/new Vector3(); - this.depthBuffer = source.depthBuffer; - this.stencilBuffer = source.stencilBuffer; - this.depthTexture = source.depthTexture; + const _intersectionPointWorld = /*@__PURE__*/new Vector3(); - return this; + class Mesh extends Object3D { + constructor(geometry = new BufferGeometry(), material = new MeshBasicMaterial()) { + super(); + this.type = 'Mesh'; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } - }, + copy(source) { + super.copy(source); - dispose: function () { + if (source.morphTargetInfluences !== undefined) { + this.morphTargetInfluences = source.morphTargetInfluences.slice(); + } - this.dispatchEvent( { type: 'dispose' } ); + if (source.morphTargetDictionary !== undefined) { + this.morphTargetDictionary = Object.assign({}, source.morphTargetDictionary); + } + this.material = source.material; + this.geometry = source.geometry; + return this; } - } ); + updateMorphTargets() { + const geometry = this.geometry; - /** - * @author Mugen87 / https://github.com/Mugen87 - * @author Matt DesLauriers / @mattdesl - */ + if (geometry.isBufferGeometry) { + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); - function WebGLMultisampleRenderTarget( width, height, options ) { + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; - WebGLRenderTarget.call( this, width, height, options ); + if (morphAttribute !== undefined) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; - this.samples = 4; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } + } else { + const morphTargets = geometry.morphTargets; - } + if (morphTargets !== undefined && morphTargets.length > 0) { + console.error('THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } + } + } - WebGLMultisampleRenderTarget.prototype = Object.assign( Object.create( WebGLRenderTarget.prototype ), { + raycast(raycaster, intersects) { + const geometry = this.geometry; + const material = this.material; + const matrixWorld = this.matrixWorld; + if (material === undefined) return; // Checking boundingSphere distance to ray - constructor: WebGLMultisampleRenderTarget, + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); - isWebGLMultisampleRenderTarget: true, + _sphere$3.copy(geometry.boundingSphere); - copy: function ( source ) { + _sphere$3.applyMatrix4(matrixWorld); - WebGLRenderTarget.prototype.copy.call( this, source ); + if (raycaster.ray.intersectsSphere(_sphere$3) === false) return; // - this.samples = source.samples; + _inverseMatrix$2.copy(matrixWorld).invert(); - return this; + _ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2); // Check boundingBox before continuing - } - } ); + if (geometry.boundingBox !== null) { + if (_ray$2.intersectsBox(geometry.boundingBox) === false) return; + } - /** - * @author alteredq / http://alteredqualia.com - */ + let intersection; - function WebGLRenderTargetCube( width, height, options ) { + if (geometry.isBufferGeometry) { + const index = geometry.index; + const position = geometry.attributes.position; + const morphPosition = geometry.morphAttributes.position; + const morphTargetsRelative = geometry.morphTargetsRelative; + const uv = geometry.attributes.uv; + const uv2 = geometry.attributes.uv2; + const groups = geometry.groups; + const drawRange = geometry.drawRange; - WebGLRenderTarget.call( this, width, height, options ); + if (index !== null) { + // indexed buffer geometry + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(group.start + group.count, drawRange.start + drawRange.count); - } + for (let j = start, jl = end; j < jl; j += 3) { + const a = index.getX(j); + const b = index.getX(j + 1); + const c = index.getX(j + 2); + intersection = checkBufferGeometryIntersection(this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c); - WebGLRenderTargetCube.prototype = Object.create( WebGLRenderTarget.prototype ); - WebGLRenderTargetCube.prototype.constructor = WebGLRenderTargetCube; + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); // triangle number in indexed buffer semantics - WebGLRenderTargetCube.prototype.isWebGLRenderTargetCube = true; + intersection.face.materialIndex = group.materialIndex; + intersects.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); - /** - * @author alteredq / http://alteredqualia.com/ - */ + for (let i = start, il = end; i < il; i += 3) { + const a = index.getX(i); + const b = index.getX(i + 1); + const c = index.getX(i + 2); + intersection = checkBufferGeometryIntersection(this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c); - function DataTexture( data, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); // triangle number in indexed buffer semantics - Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); + intersects.push(intersection); + } + } + } + } else if (position !== undefined) { + // non-indexed buffer geometry + if (Array.isArray(material)) { + for (let i = 0, il = groups.length; i < il; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; + const start = Math.max(group.start, drawRange.start); + const end = Math.min(group.start + group.count, drawRange.start + drawRange.count); + + for (let j = start, jl = end; j < jl; j += 3) { + const a = j; + const b = j + 1; + const c = j + 2; + intersection = checkBufferGeometryIntersection(this, groupMaterial, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c); + + if (intersection) { + intersection.faceIndex = Math.floor(j / 3); // triangle number in non-indexed buffer semantics + + intersection.face.materialIndex = group.materialIndex; + intersects.push(intersection); + } + } + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(position.count, drawRange.start + drawRange.count); - this.image = { data: data, width: width, height: height }; + for (let i = start, il = end; i < il; i += 3) { + const a = i; + const b = i + 1; + const c = i + 2; + intersection = checkBufferGeometryIntersection(this, material, raycaster, _ray$2, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c); - this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; - this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; + if (intersection) { + intersection.faceIndex = Math.floor(i / 3); // triangle number in non-indexed buffer semantics - this.generateMipmaps = false; - this.flipY = false; - this.unpackAlignment = 1; + intersects.push(intersection); + } + } + } + } + } else if (geometry.isGeometry) { + console.error('THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } + } } - DataTexture.prototype = Object.create( Texture.prototype ); - DataTexture.prototype.constructor = DataTexture; + Mesh.prototype.isMesh = true; - DataTexture.prototype.isDataTexture = true; + function checkIntersection(object, material, raycaster, ray, pA, pB, pC, point) { + let intersect; - /** - * @author bhouston / http://clara.io - * @author WestLangley / http://github.com/WestLangley - */ + if (material.side === BackSide) { + intersect = ray.intersectTriangle(pC, pB, pA, true, point); + } else { + intersect = ray.intersectTriangle(pA, pB, pC, material.side !== DoubleSide, point); + } + + if (intersect === null) return null; - function Box3( min, max ) { + _intersectionPointWorld.copy(point); - this.min = ( min !== undefined ) ? min : new Vector3( + Infinity, + Infinity, + Infinity ); - this.max = ( max !== undefined ) ? max : new Vector3( - Infinity, - Infinity, - Infinity ); + _intersectionPointWorld.applyMatrix4(object.matrixWorld); + const distance = raycaster.ray.origin.distanceTo(_intersectionPointWorld); + if (distance < raycaster.near || distance > raycaster.far) return null; + return { + distance: distance, + point: _intersectionPointWorld.clone(), + object: object + }; } - Object.assign( Box3.prototype, { + function checkBufferGeometryIntersection(object, material, raycaster, ray, position, morphPosition, morphTargetsRelative, uv, uv2, a, b, c) { + _vA$1.fromBufferAttribute(position, a); - isBox3: true, + _vB$1.fromBufferAttribute(position, b); - set: function ( min, max ) { + _vC$1.fromBufferAttribute(position, c); - this.min.copy( min ); - this.max.copy( max ); + const morphInfluences = object.morphTargetInfluences; - return this; + if (morphPosition && morphInfluences) { + _morphA.set(0, 0, 0); - }, + _morphB.set(0, 0, 0); - setFromArray: function ( array ) { + _morphC.set(0, 0, 0); - var minX = + Infinity; - var minY = + Infinity; - var minZ = + Infinity; + for (let i = 0, il = morphPosition.length; i < il; i++) { + const influence = morphInfluences[i]; + const morphAttribute = morphPosition[i]; + if (influence === 0) continue; - var maxX = - Infinity; - var maxY = - Infinity; - var maxZ = - Infinity; + _tempA.fromBufferAttribute(morphAttribute, a); - for ( var i = 0, l = array.length; i < l; i += 3 ) { + _tempB.fromBufferAttribute(morphAttribute, b); - var x = array[ i ]; - var y = array[ i + 1 ]; - var z = array[ i + 2 ]; + _tempC.fromBufferAttribute(morphAttribute, c); - if ( x < minX ) minX = x; - if ( y < minY ) minY = y; - if ( z < minZ ) minZ = z; + if (morphTargetsRelative) { + _morphA.addScaledVector(_tempA, influence); - if ( x > maxX ) maxX = x; - if ( y > maxY ) maxY = y; - if ( z > maxZ ) maxZ = z; + _morphB.addScaledVector(_tempB, influence); - } + _morphC.addScaledVector(_tempC, influence); + } else { + _morphA.addScaledVector(_tempA.sub(_vA$1), influence); - this.min.set( minX, minY, minZ ); - this.max.set( maxX, maxY, maxZ ); + _morphB.addScaledVector(_tempB.sub(_vB$1), influence); - return this; + _morphC.addScaledVector(_tempC.sub(_vC$1), influence); + } + } - }, + _vA$1.add(_morphA); - setFromBufferAttribute: function ( attribute ) { + _vB$1.add(_morphB); - var minX = + Infinity; - var minY = + Infinity; - var minZ = + Infinity; + _vC$1.add(_morphC); + } - var maxX = - Infinity; - var maxY = - Infinity; - var maxZ = - Infinity; + if (object.isSkinnedMesh) { + object.boneTransform(a, _vA$1); + object.boneTransform(b, _vB$1); + object.boneTransform(c, _vC$1); + } - for ( var i = 0, l = attribute.count; i < l; i ++ ) { + const intersection = checkIntersection(object, material, raycaster, ray, _vA$1, _vB$1, _vC$1, _intersectionPoint); - var x = attribute.getX( i ); - var y = attribute.getY( i ); - var z = attribute.getZ( i ); + if (intersection) { + if (uv) { + _uvA$1.fromBufferAttribute(uv, a); - if ( x < minX ) minX = x; - if ( y < minY ) minY = y; - if ( z < minZ ) minZ = z; + _uvB$1.fromBufferAttribute(uv, b); - if ( x > maxX ) maxX = x; - if ( y > maxY ) maxY = y; - if ( z > maxZ ) maxZ = z; + _uvC$1.fromBufferAttribute(uv, c); + intersection.uv = Triangle.getUV(_intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2()); } - this.min.set( minX, minY, minZ ); - this.max.set( maxX, maxY, maxZ ); - - return this; + if (uv2) { + _uvA$1.fromBufferAttribute(uv2, a); - }, + _uvB$1.fromBufferAttribute(uv2, b); - setFromPoints: function ( points ) { + _uvC$1.fromBufferAttribute(uv2, c); - this.makeEmpty(); + intersection.uv2 = Triangle.getUV(_intersectionPoint, _vA$1, _vB$1, _vC$1, _uvA$1, _uvB$1, _uvC$1, new Vector2()); + } - for ( var i = 0, il = points.length; i < il; i ++ ) { + const face = { + a: a, + b: b, + c: c, + normal: new Vector3(), + materialIndex: 0 + }; + Triangle.getNormal(_vA$1, _vB$1, _vC$1, face.normal); + intersection.face = face; + } - this.expandByPoint( points[ i ] ); + return intersection; + } - } + class BoxGeometry extends BufferGeometry { + constructor(width = 1, height = 1, depth = 1, widthSegments = 1, heightSegments = 1, depthSegments = 1) { + super(); + this.type = 'BoxGeometry'; + this.parameters = { + width: width, + height: height, + depth: depth, + widthSegments: widthSegments, + heightSegments: heightSegments, + depthSegments: depthSegments + }; + const scope = this; // segments - return this; + widthSegments = Math.floor(widthSegments); + heightSegments = Math.floor(heightSegments); + depthSegments = Math.floor(depthSegments); // buffers - }, + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - setFromCenterAndSize: function () { + let numberOfVertices = 0; + let groupStart = 0; // build each side of the box geometry - var v1 = new Vector3(); + buildPlane('z', 'y', 'x', -1, -1, depth, height, width, depthSegments, heightSegments, 0); // px - return function setFromCenterAndSize( center, size ) { + buildPlane('z', 'y', 'x', 1, -1, depth, height, -width, depthSegments, heightSegments, 1); // nx - var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); + buildPlane('x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2); // py - this.min.copy( center ).sub( halfSize ); - this.max.copy( center ).add( halfSize ); + buildPlane('x', 'z', 'y', 1, -1, width, depth, -height, widthSegments, depthSegments, 3); // ny - return this; + buildPlane('x', 'y', 'z', 1, -1, width, height, depth, widthSegments, heightSegments, 4); // pz - }; + buildPlane('x', 'y', 'z', -1, -1, width, height, -depth, widthSegments, heightSegments, 5); // nz + // build geometry - }(), + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); - setFromObject: function ( object ) { + function buildPlane(u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex) { + const segmentWidth = width / gridX; + const segmentHeight = height / gridY; + const widthHalf = width / 2; + const heightHalf = height / 2; + const depthHalf = depth / 2; + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + let vertexCounter = 0; + let groupCount = 0; + const vector = new Vector3(); // generate vertices, normals and uvs - this.makeEmpty(); + for (let iy = 0; iy < gridY1; iy++) { + const y = iy * segmentHeight - heightHalf; - return this.expandByObject( object ); + for (let ix = 0; ix < gridX1; ix++) { + const x = ix * segmentWidth - widthHalf; // set values to correct vector component - }, + vector[u] = x * udir; + vector[v] = y * vdir; + vector[w] = depthHalf; // now apply vector to vertex buffer - clone: function () { + vertices.push(vector.x, vector.y, vector.z); // set values to correct vector component - return new this.constructor().copy( this ); + vector[u] = 0; + vector[v] = 0; + vector[w] = depth > 0 ? 1 : -1; // now apply vector to normal buffer - }, + normals.push(vector.x, vector.y, vector.z); // uvs - copy: function ( box ) { + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); // counters - this.min.copy( box.min ); - this.max.copy( box.max ); + vertexCounter += 1; + } + } // indices + // 1. you need three indices to draw a single face + // 2. a single segment consists of two faces + // 3. so we need to generate six (2*3) indices per segment - return this; - }, + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a = numberOfVertices + ix + gridX1 * iy; + const b = numberOfVertices + ix + gridX1 * (iy + 1); + const c = numberOfVertices + (ix + 1) + gridX1 * (iy + 1); + const d = numberOfVertices + (ix + 1) + gridX1 * iy; // faces - makeEmpty: function () { + indices.push(a, b, d); + indices.push(b, c, d); // increase counter - this.min.x = this.min.y = this.min.z = + Infinity; - this.max.x = this.max.y = this.max.z = - Infinity; + groupCount += 6; + } + } // add a group to the geometry. this will ensure multi material support - return this; - }, + scope.addGroup(groupStart, groupCount, materialIndex); // calculate new start value for groups - isEmpty: function () { + groupStart += groupCount; // update total number of vertices - // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + numberOfVertices += vertexCounter; + } + } - return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ) || ( this.max.z < this.min.z ); + static fromJSON(data) { + return new BoxGeometry(data.width, data.height, data.depth, data.widthSegments, data.heightSegments, data.depthSegments); + } - }, + } - getCenter: function ( target ) { + /** + * Uniform Utilities + */ + function cloneUniforms(src) { + const dst = {}; - if ( target === undefined ) { + for (const u in src) { + dst[u] = {}; - console.warn( 'THREE.Box3: .getCenter() target is now required' ); - target = new Vector3(); + for (const p in src[u]) { + const property = src[u][p]; + if (property && (property.isColor || property.isMatrix3 || property.isMatrix4 || property.isVector2 || property.isVector3 || property.isVector4 || property.isTexture || property.isQuaternion)) { + dst[u][p] = property.clone(); + } else if (Array.isArray(property)) { + dst[u][p] = property.slice(); + } else { + dst[u][p] = property; + } } + } - return this.isEmpty() ? target.set( 0, 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); - - }, - - getSize: function ( target ) { - - if ( target === undefined ) { + return dst; + } + function mergeUniforms(uniforms) { + const merged = {}; - console.warn( 'THREE.Box3: .getSize() target is now required' ); - target = new Vector3(); + for (let u = 0; u < uniforms.length; u++) { + const tmp = cloneUniforms(uniforms[u]); + for (const p in tmp) { + merged[p] = tmp[p]; } + } - return this.isEmpty() ? target.set( 0, 0, 0 ) : target.subVectors( this.max, this.min ); + return merged; + } // Legacy - }, + const UniformsUtils = { + clone: cloneUniforms, + merge: mergeUniforms + }; - expandByPoint: function ( point ) { + var default_vertex = "void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"; - this.min.min( point ); - this.max.max( point ); + var default_fragment = "void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}"; - return this; + /** + * parameters = { + * defines: { "label" : "value" }, + * uniforms: { "parameter1": { value: 1.0 }, "parameter2": { value2: 2 } }, + * + * fragmentShader: , + * vertexShader: , + * + * wireframe: , + * wireframeLinewidth: , + * + * lights: + * } + */ - }, + class ShaderMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'ShaderMaterial'; + this.defines = {}; + this.uniforms = {}; + this.vertexShader = default_vertex; + this.fragmentShader = default_fragment; + this.linewidth = 1; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.fog = false; // set to use scene fog + + this.lights = false; // set to use scene lights + + this.clipping = false; // set to use user-defined clipping planes + + this.extensions = { + derivatives: false, + // set to use derivatives + fragDepth: false, + // set to use fragment depth values + drawBuffers: false, + // set to use draw buffers + shaderTextureLOD: false // set to use shader texture LOD + + }; // When rendered geometry doesn't include these attributes but the material does, + // use these default values in WebGL. This avoids errors when buffer data is missing. + + this.defaultAttributeValues = { + 'color': [1, 1, 1], + 'uv': [0, 0], + 'uv2': [0, 0] + }; + this.index0AttributeName = undefined; + this.uniformsNeedUpdate = false; + this.glslVersion = null; - expandByVector: function ( vector ) { + if (parameters !== undefined) { + if (parameters.attributes !== undefined) { + console.error('THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.'); + } - this.min.sub( vector ); - this.max.add( vector ); + this.setValues(parameters); + } + } + copy(source) { + super.copy(source); + this.fragmentShader = source.fragmentShader; + this.vertexShader = source.vertexShader; + this.uniforms = cloneUniforms(source.uniforms); + this.defines = Object.assign({}, source.defines); + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.lights = source.lights; + this.clipping = source.clipping; + this.extensions = Object.assign({}, source.extensions); + this.glslVersion = source.glslVersion; return this; + } - }, + toJSON(meta) { + const data = super.toJSON(meta); + data.glslVersion = this.glslVersion; + data.uniforms = {}; + + for (const name in this.uniforms) { + const uniform = this.uniforms[name]; + const value = uniform.value; - expandByScalar: function ( scalar ) { + if (value && value.isTexture) { + data.uniforms[name] = { + type: 't', + value: value.toJSON(meta).uuid + }; + } else if (value && value.isColor) { + data.uniforms[name] = { + type: 'c', + value: value.getHex() + }; + } else if (value && value.isVector2) { + data.uniforms[name] = { + type: 'v2', + value: value.toArray() + }; + } else if (value && value.isVector3) { + data.uniforms[name] = { + type: 'v3', + value: value.toArray() + }; + } else if (value && value.isVector4) { + data.uniforms[name] = { + type: 'v4', + value: value.toArray() + }; + } else if (value && value.isMatrix3) { + data.uniforms[name] = { + type: 'm3', + value: value.toArray() + }; + } else if (value && value.isMatrix4) { + data.uniforms[name] = { + type: 'm4', + value: value.toArray() + }; + } else { + data.uniforms[name] = { + value: value + }; // note: the array variants v2v, v3v, v4v, m4v and tv are not supported so far + } + } - this.min.addScalar( - scalar ); - this.max.addScalar( scalar ); + if (Object.keys(this.defines).length > 0) data.defines = this.defines; + data.vertexShader = this.vertexShader; + data.fragmentShader = this.fragmentShader; + const extensions = {}; - return this; + for (const key in this.extensions) { + if (this.extensions[key] === true) extensions[key] = true; + } - }, + if (Object.keys(extensions).length > 0) data.extensions = extensions; + return data; + } - expandByObject: function () { + } - // Computes the world-axis-aligned bounding box of an object (including its children), - // accounting for both the object's, and children's, world transforms + ShaderMaterial.prototype.isShaderMaterial = true; - var scope, i, l; + class Camera extends Object3D { + constructor() { + super(); + this.type = 'Camera'; + this.matrixWorldInverse = new Matrix4(); + this.projectionMatrix = new Matrix4(); + this.projectionMatrixInverse = new Matrix4(); + } - var v1 = new Vector3(); + copy(source, recursive) { + super.copy(source, recursive); + this.matrixWorldInverse.copy(source.matrixWorldInverse); + this.projectionMatrix.copy(source.projectionMatrix); + this.projectionMatrixInverse.copy(source.projectionMatrixInverse); + return this; + } - function traverse( node ) { + getWorldDirection(target) { + this.updateWorldMatrix(true, false); + const e = this.matrixWorld.elements; + return target.set(-e[8], -e[9], -e[10]).normalize(); + } - var geometry = node.geometry; + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } - if ( geometry !== undefined ) { + updateWorldMatrix(updateParents, updateChildren) { + super.updateWorldMatrix(updateParents, updateChildren); + this.matrixWorldInverse.copy(this.matrixWorld).invert(); + } - if ( geometry.isGeometry ) { + clone() { + return new this.constructor().copy(this); + } - var vertices = geometry.vertices; + } - for ( i = 0, l = vertices.length; i < l; i ++ ) { + Camera.prototype.isCamera = true; - v1.copy( vertices[ i ] ); - v1.applyMatrix4( node.matrixWorld ); + class PerspectiveCamera extends Camera { + constructor(fov = 50, aspect = 1, near = 0.1, far = 2000) { + super(); + this.type = 'PerspectiveCamera'; + this.fov = fov; + this.zoom = 1; + this.near = near; + this.far = far; + this.focus = 10; + this.aspect = aspect; + this.view = null; + this.filmGauge = 35; // width of the film (default in millimeters) - scope.expandByPoint( v1 ); + this.filmOffset = 0; // horizontal film offset (same unit as gauge) - } + this.updateProjectionMatrix(); + } - } else if ( geometry.isBufferGeometry ) { + copy(source, recursive) { + super.copy(source, recursive); + this.fov = source.fov; + this.zoom = source.zoom; + this.near = source.near; + this.far = source.far; + this.focus = source.focus; + this.aspect = source.aspect; + this.view = source.view === null ? null : Object.assign({}, source.view); + this.filmGauge = source.filmGauge; + this.filmOffset = source.filmOffset; + return this; + } + /** + * Sets the FOV by focal length in respect to the current .filmGauge. + * + * The default film gauge is 35, so that the focal length can be specified for + * a 35mm (full frame) camera. + * + * Values for focal length and film gauge must have the same unit. + */ - var attribute = geometry.attributes.position; - if ( attribute !== undefined ) { + setFocalLength(focalLength) { + /** see {@link http://www.bobatkins.com/photography/technical/field_of_view.html} */ + const vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; + this.fov = RAD2DEG * 2 * Math.atan(vExtentSlope); + this.updateProjectionMatrix(); + } + /** + * Calculates the focal length from the current .fov and .filmGauge. + */ - for ( i = 0, l = attribute.count; i < l; i ++ ) { - v1.fromBufferAttribute( attribute, i ).applyMatrix4( node.matrixWorld ); + getFocalLength() { + const vExtentSlope = Math.tan(DEG2RAD * 0.5 * this.fov); + return 0.5 * this.getFilmHeight() / vExtentSlope; + } - scope.expandByPoint( v1 ); + getEffectiveFOV() { + return RAD2DEG * 2 * Math.atan(Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom); + } - } + getFilmWidth() { + // film not completely covered in portrait format (aspect < 1) + return this.filmGauge * Math.min(this.aspect, 1); + } - } + getFilmHeight() { + // film not completely covered in landscape format (aspect > 1) + return this.filmGauge / Math.max(this.aspect, 1); + } + /** + * Sets an offset in a larger frustum. This is useful for multi-window or + * multi-monitor/multi-machine setups. + * + * For example, if you have 3x2 monitors and each monitor is 1920x1080 and + * the monitors are in grid like this + * + * +---+---+---+ + * | A | B | C | + * +---+---+---+ + * | D | E | F | + * +---+---+---+ + * + * then for each monitor you would call it like this + * + * const w = 1920; + * const h = 1080; + * const fullWidth = w * 3; + * const fullHeight = h * 2; + * + * --A-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); + * --B-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); + * --C-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); + * --D-- + * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); + * --E-- + * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); + * --F-- + * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); + * + * Note there is no reason monitors have to be the same size or in a grid. + */ - } - } + setViewOffset(fullWidth, fullHeight, x, y, width, height) { + this.aspect = fullWidth / fullHeight; + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; } - return function expandByObject( object ) { - - scope = this; + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } - object.updateMatrixWorld( true ); + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } - object.traverse( traverse ); + this.updateProjectionMatrix(); + } - return this; + updateProjectionMatrix() { + const near = this.near; + let top = near * Math.tan(DEG2RAD * 0.5 * this.fov) / this.zoom; + let height = 2 * top; + let width = this.aspect * height; + let left = -0.5 * width; + const view = this.view; - }; + if (this.view !== null && this.view.enabled) { + const fullWidth = view.fullWidth, + fullHeight = view.fullHeight; + left += view.offsetX * width / fullWidth; + top -= view.offsetY * height / fullHeight; + width *= view.width / fullWidth; + height *= view.height / fullHeight; + } - }(), + const skew = this.filmOffset; + if (skew !== 0) left += near * skew / this.getFilmWidth(); + this.projectionMatrix.makePerspective(left, left + width, top, top - height, near, this.far); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } - containsPoint: function ( point ) { + toJSON(meta) { + const data = super.toJSON(meta); + data.object.fov = this.fov; + data.object.zoom = this.zoom; + data.object.near = this.near; + data.object.far = this.far; + data.object.focus = this.focus; + data.object.aspect = this.aspect; + if (this.view !== null) data.object.view = Object.assign({}, this.view); + data.object.filmGauge = this.filmGauge; + data.object.filmOffset = this.filmOffset; + return data; + } - return point.x < this.min.x || point.x > this.max.x || - point.y < this.min.y || point.y > this.max.y || - point.z < this.min.z || point.z > this.max.z ? false : true; + } - }, + PerspectiveCamera.prototype.isPerspectiveCamera = true; - containsBox: function ( box ) { + const fov = 90, + aspect = 1; - return this.min.x <= box.min.x && box.max.x <= this.max.x && - this.min.y <= box.min.y && box.max.y <= this.max.y && - this.min.z <= box.min.z && box.max.z <= this.max.z; + class CubeCamera extends Object3D { + constructor(near, far, renderTarget) { + super(); + this.type = 'CubeCamera'; - }, + if (renderTarget.isWebGLCubeRenderTarget !== true) { + console.error('THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.'); + return; + } - getParameter: function ( point, target ) { + this.renderTarget = renderTarget; + const cameraPX = new PerspectiveCamera(fov, aspect, near, far); + cameraPX.layers = this.layers; + cameraPX.up.set(0, -1, 0); + cameraPX.lookAt(new Vector3(1, 0, 0)); + this.add(cameraPX); + const cameraNX = new PerspectiveCamera(fov, aspect, near, far); + cameraNX.layers = this.layers; + cameraNX.up.set(0, -1, 0); + cameraNX.lookAt(new Vector3(-1, 0, 0)); + this.add(cameraNX); + const cameraPY = new PerspectiveCamera(fov, aspect, near, far); + cameraPY.layers = this.layers; + cameraPY.up.set(0, 0, 1); + cameraPY.lookAt(new Vector3(0, 1, 0)); + this.add(cameraPY); + const cameraNY = new PerspectiveCamera(fov, aspect, near, far); + cameraNY.layers = this.layers; + cameraNY.up.set(0, 0, -1); + cameraNY.lookAt(new Vector3(0, -1, 0)); + this.add(cameraNY); + const cameraPZ = new PerspectiveCamera(fov, aspect, near, far); + cameraPZ.layers = this.layers; + cameraPZ.up.set(0, -1, 0); + cameraPZ.lookAt(new Vector3(0, 0, 1)); + this.add(cameraPZ); + const cameraNZ = new PerspectiveCamera(fov, aspect, near, far); + cameraNZ.layers = this.layers; + cameraNZ.up.set(0, -1, 0); + cameraNZ.lookAt(new Vector3(0, 0, -1)); + this.add(cameraNZ); + } + + update(renderer, scene) { + if (this.parent === null) this.updateMatrixWorld(); + const renderTarget = this.renderTarget; + const [cameraPX, cameraNX, cameraPY, cameraNY, cameraPZ, cameraNZ] = this.children; + const currentXrEnabled = renderer.xr.enabled; + const currentRenderTarget = renderer.getRenderTarget(); + renderer.xr.enabled = false; + const generateMipmaps = renderTarget.texture.generateMipmaps; + renderTarget.texture.generateMipmaps = false; + renderer.setRenderTarget(renderTarget, 0); + renderer.render(scene, cameraPX); + renderer.setRenderTarget(renderTarget, 1); + renderer.render(scene, cameraNX); + renderer.setRenderTarget(renderTarget, 2); + renderer.render(scene, cameraPY); + renderer.setRenderTarget(renderTarget, 3); + renderer.render(scene, cameraNY); + renderer.setRenderTarget(renderTarget, 4); + renderer.render(scene, cameraPZ); + renderTarget.texture.generateMipmaps = generateMipmaps; + renderer.setRenderTarget(renderTarget, 5); + renderer.render(scene, cameraNZ); + renderer.setRenderTarget(currentRenderTarget); + renderer.xr.enabled = currentXrEnabled; + } - // This can potentially have a divide by zero if the box - // has a size dimension of 0. + } - if ( target === undefined ) { + class CubeTexture extends Texture { + constructor(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding) { + images = images !== undefined ? images : []; + mapping = mapping !== undefined ? mapping : CubeReflectionMapping; + format = format !== undefined ? format : RGBFormat; + super(images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding); + this.flipY = false; + } - console.warn( 'THREE.Box3: .getParameter() target is now required' ); - target = new Vector3(); + get images() { + return this.image; + } - } + set images(value) { + this.image = value; + } - return target.set( - ( point.x - this.min.x ) / ( this.max.x - this.min.x ), - ( point.y - this.min.y ) / ( this.max.y - this.min.y ), - ( point.z - this.min.z ) / ( this.max.z - this.min.z ) - ); + } - }, + CubeTexture.prototype.isCubeTexture = true; - intersectsBox: function ( box ) { + class WebGLCubeRenderTarget extends WebGLRenderTarget { + constructor(size, options, dummy) { + if (Number.isInteger(options)) { + console.warn('THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )'); + options = dummy; + } + + super(size, size, options); + options = options || {}; // By convention -- likely based on the RenderMan spec from the 1990's -- cube maps are specified by WebGL (and three.js) + // in a coordinate system in which positive-x is to the right when looking up the positive-z axis -- in other words, + // in a left-handed coordinate system. By continuing this convention, preexisting cube maps continued to render correctly. + // three.js uses a right-handed coordinate system. So environment maps used in three.js appear to have px and nx swapped + // and the flag isRenderTargetTexture controls this conversion. The flip is not required when using WebGLCubeRenderTarget.texture + // as a cube texture (this is detected when isRenderTargetTexture is set to true for cube textures). + + this.texture = new CubeTexture(undefined, options.mapping, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy, options.encoding); + this.texture.isRenderTargetTexture = true; + this.texture.generateMipmaps = options.generateMipmaps !== undefined ? options.generateMipmaps : false; + this.texture.minFilter = options.minFilter !== undefined ? options.minFilter : LinearFilter; + this.texture._needsFlipEnvMap = false; + } + + fromEquirectangularTexture(renderer, texture) { + this.texture.type = texture.type; + this.texture.format = RGBAFormat; // see #18859 + + this.texture.encoding = texture.encoding; + this.texture.generateMipmaps = texture.generateMipmaps; + this.texture.minFilter = texture.minFilter; + this.texture.magFilter = texture.magFilter; + const shader = { + uniforms: { + tEquirect: { + value: null + } + }, + vertexShader: + /* glsl */ + ` - // using 6 splitting planes to rule out intersections. - return box.max.x < this.min.x || box.min.x > this.max.x || - box.max.y < this.min.y || box.min.y > this.max.y || - box.max.z < this.min.z || box.min.z > this.max.z ? false : true; + varying vec3 vWorldDirection; - }, + vec3 transformDirection( in vec3 dir, in mat4 matrix ) { - intersectsSphere: ( function () { + return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); - var closestPoint = new Vector3(); + } - return function intersectsSphere( sphere ) { + void main() { - // Find the point on the AABB closest to the sphere center. - this.clampPoint( sphere.center, closestPoint ); + vWorldDirection = transformDirection( position, modelMatrix ); - // If that point is inside the sphere, the AABB and sphere intersect. - return closestPoint.distanceToSquared( sphere.center ) <= ( sphere.radius * sphere.radius ); + #include + #include - }; + } + `, + fragmentShader: + /* glsl */ + ` - } )(), + uniform sampler2D tEquirect; - intersectsPlane: function ( plane ) { + varying vec3 vWorldDirection; - // We compute the minimum and maximum dot product values. If those values - // are on the same side (back or front) of the plane, then there is no intersection. + #include - var min, max; + void main() { - if ( plane.normal.x > 0 ) { + vec3 direction = normalize( vWorldDirection ); - min = plane.normal.x * this.min.x; - max = plane.normal.x * this.max.x; + vec2 sampleUV = equirectUv( direction ); - } else { + gl_FragColor = texture2D( tEquirect, sampleUV ); - min = plane.normal.x * this.max.x; - max = plane.normal.x * this.min.x; + } + ` + }; + const geometry = new BoxGeometry(5, 5, 5); + const material = new ShaderMaterial({ + name: 'CubemapFromEquirect', + uniforms: cloneUniforms(shader.uniforms), + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader, + side: BackSide, + blending: NoBlending + }); + material.uniforms.tEquirect.value = texture; + const mesh = new Mesh(geometry, material); + const currentMinFilter = texture.minFilter; // Avoid blurred poles - } + if (texture.minFilter === LinearMipmapLinearFilter) texture.minFilter = LinearFilter; + const camera = new CubeCamera(1, 10, this); + camera.update(renderer, mesh); + texture.minFilter = currentMinFilter; + mesh.geometry.dispose(); + mesh.material.dispose(); + return this; + } - if ( plane.normal.y > 0 ) { + clear(renderer, color, depth, stencil) { + const currentRenderTarget = renderer.getRenderTarget(); - min += plane.normal.y * this.min.y; - max += plane.normal.y * this.max.y; + for (let i = 0; i < 6; i++) { + renderer.setRenderTarget(this, i); + renderer.clear(color, depth, stencil); + } - } else { + renderer.setRenderTarget(currentRenderTarget); + } - min += plane.normal.y * this.max.y; - max += plane.normal.y * this.min.y; + } - } + WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget = true; - if ( plane.normal.z > 0 ) { + const _vector1 = /*@__PURE__*/new Vector3(); - min += plane.normal.z * this.min.z; - max += plane.normal.z * this.max.z; + const _vector2 = /*@__PURE__*/new Vector3(); - } else { + const _normalMatrix = /*@__PURE__*/new Matrix3(); - min += plane.normal.z * this.max.z; - max += plane.normal.z * this.min.z; + class Plane { + constructor(normal = new Vector3(1, 0, 0), constant = 0) { + // normal is assumed to be normalized + this.normal = normal; + this.constant = constant; + } - } + set(normal, constant) { + this.normal.copy(normal); + this.constant = constant; + return this; + } - return ( min <= - plane.constant && max >= - plane.constant ); + setComponents(x, y, z, w) { + this.normal.set(x, y, z); + this.constant = w; + return this; + } - }, + setFromNormalAndCoplanarPoint(normal, point) { + this.normal.copy(normal); + this.constant = -point.dot(this.normal); + return this; + } - intersectsTriangle: ( function () { + setFromCoplanarPoints(a, b, c) { + const normal = _vector1.subVectors(c, b).cross(_vector2.subVectors(a, b)).normalize(); // Q: should an error be thrown if normal is zero (e.g. degenerate plane)? - // triangle centered vertices - var v0 = new Vector3(); - var v1 = new Vector3(); - var v2 = new Vector3(); - // triangle edge vectors - var f0 = new Vector3(); - var f1 = new Vector3(); - var f2 = new Vector3(); + this.setFromNormalAndCoplanarPoint(normal, a); + return this; + } - var testAxis = new Vector3(); + copy(plane) { + this.normal.copy(plane.normal); + this.constant = plane.constant; + return this; + } - var center = new Vector3(); - var extents = new Vector3(); + normalize() { + // Note: will lead to a divide by zero if the plane is invalid. + const inverseNormalLength = 1.0 / this.normal.length(); + this.normal.multiplyScalar(inverseNormalLength); + this.constant *= inverseNormalLength; + return this; + } - var triangleNormal = new Vector3(); + negate() { + this.constant *= -1; + this.normal.negate(); + return this; + } - function satForAxes( axes ) { + distanceToPoint(point) { + return this.normal.dot(point) + this.constant; + } - var i, j; + distanceToSphere(sphere) { + return this.distanceToPoint(sphere.center) - sphere.radius; + } - for ( i = 0, j = axes.length - 3; i <= j; i += 3 ) { + projectPoint(point, target) { + return target.copy(this.normal).multiplyScalar(-this.distanceToPoint(point)).add(point); + } - testAxis.fromArray( axes, i ); - // project the aabb onto the seperating axis - var r = extents.x * Math.abs( testAxis.x ) + extents.y * Math.abs( testAxis.y ) + extents.z * Math.abs( testAxis.z ); - // project all 3 vertices of the triangle onto the seperating axis - var p0 = v0.dot( testAxis ); - var p1 = v1.dot( testAxis ); - var p2 = v2.dot( testAxis ); - // actual test, basically see if either of the most extreme of the triangle points intersects r - if ( Math.max( - Math.max( p0, p1, p2 ), Math.min( p0, p1, p2 ) ) > r ) { + intersectLine(line, target) { + const direction = line.delta(_vector1); + const denominator = this.normal.dot(direction); - // points of the projected triangle are outside the projected half-length of the aabb - // the axis is seperating and we can exit - return false; + if (denominator === 0) { + // line is coplanar, return origin + if (this.distanceToPoint(line.start) === 0) { + return target.copy(line.start); + } // Unsure if this is the correct method to handle this case. - } - } + return null; + } - return true; + const t = -(line.start.dot(this.normal) + this.constant) / denominator; + if (t < 0 || t > 1) { + return null; } - return function intersectsTriangle( triangle ) { + return target.copy(direction).multiplyScalar(t).add(line.start); + } - if ( this.isEmpty() ) { + intersectsLine(line) { + // Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it. + const startSign = this.distanceToPoint(line.start); + const endSign = this.distanceToPoint(line.end); + return startSign < 0 && endSign > 0 || endSign < 0 && startSign > 0; + } - return false; + intersectsBox(box) { + return box.intersectsPlane(this); + } - } + intersectsSphere(sphere) { + return sphere.intersectsPlane(this); + } - // compute box center and extents - this.getCenter( center ); - extents.subVectors( this.max, center ); + coplanarPoint(target) { + return target.copy(this.normal).multiplyScalar(-this.constant); + } - // translate triangle to aabb origin - v0.subVectors( triangle.a, center ); - v1.subVectors( triangle.b, center ); - v2.subVectors( triangle.c, center ); + applyMatrix4(matrix, optionalNormalMatrix) { + const normalMatrix = optionalNormalMatrix || _normalMatrix.getNormalMatrix(matrix); - // compute edge vectors for triangle - f0.subVectors( v1, v0 ); - f1.subVectors( v2, v1 ); - f2.subVectors( v0, v2 ); + const referencePoint = this.coplanarPoint(_vector1).applyMatrix4(matrix); + const normal = this.normal.applyMatrix3(normalMatrix).normalize(); + this.constant = -referencePoint.dot(normal); + return this; + } - // test against axes that are given by cross product combinations of the edges of the triangle and the edges of the aabb - // make an axis testing of each of the 3 sides of the aabb against each of the 3 sides of the triangle = 9 axis of separation - // axis_ij = u_i x f_j (u0, u1, u2 = face normals of aabb = x,y,z axes vectors since aabb is axis aligned) - var axes = [ - 0, - f0.z, f0.y, 0, - f1.z, f1.y, 0, - f2.z, f2.y, - f0.z, 0, - f0.x, f1.z, 0, - f1.x, f2.z, 0, - f2.x, - - f0.y, f0.x, 0, - f1.y, f1.x, 0, - f2.y, f2.x, 0 - ]; - if ( ! satForAxes( axes ) ) { + translate(offset) { + this.constant -= offset.dot(this.normal); + return this; + } - return false; + equals(plane) { + return plane.normal.equals(this.normal) && plane.constant === this.constant; + } - } + clone() { + return new this.constructor().copy(this); + } - // test 3 face normals from the aabb - axes = [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]; - if ( ! satForAxes( axes ) ) { + } - return false; + Plane.prototype.isPlane = true; - } + const _sphere$2 = /*@__PURE__*/new Sphere(); - // finally testing the face normal of the triangle - // use already existing triangle edge vectors here - triangleNormal.crossVectors( f0, f1 ); - axes = [ triangleNormal.x, triangleNormal.y, triangleNormal.z ]; - return satForAxes( axes ); + const _vector$7 = /*@__PURE__*/new Vector3(); - }; - - } )(), - - clampPoint: function ( point, target ) { + class Frustum { + constructor(p0 = new Plane(), p1 = new Plane(), p2 = new Plane(), p3 = new Plane(), p4 = new Plane(), p5 = new Plane()) { + this.planes = [p0, p1, p2, p3, p4, p5]; + } - if ( target === undefined ) { + set(p0, p1, p2, p3, p4, p5) { + const planes = this.planes; + planes[0].copy(p0); + planes[1].copy(p1); + planes[2].copy(p2); + planes[3].copy(p3); + planes[4].copy(p4); + planes[5].copy(p5); + return this; + } - console.warn( 'THREE.Box3: .clampPoint() target is now required' ); - target = new Vector3(); + copy(frustum) { + const planes = this.planes; + for (let i = 0; i < 6; i++) { + planes[i].copy(frustum.planes[i]); } - return target.copy( point ).clamp( this.min, this.max ); - - }, - - distanceToPoint: function () { - - var v1 = new Vector3(); - - return function distanceToPoint( point ) { - - var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); - return clampedPoint.sub( point ).length(); - - }; - - }(), - - getBoundingSphere: function () { - - var v1 = new Vector3(); - - return function getBoundingSphere( target ) { - - if ( target === undefined ) { - - console.error( 'THREE.Box3: .getBoundingSphere() target is now required' ); - //target = new Sphere(); // removed to avoid cyclic dependency - - } - - this.getCenter( target.center ); - - target.radius = this.getSize( v1 ).length() * 0.5; - - return target; - - }; - - }(), - - intersect: function ( box ) { - - this.min.max( box.min ); - this.max.min( box.max ); - - // ensure that if there is no overlap, the result is fully empty, not slightly empty with non-inf/+inf values that will cause subsequence intersects to erroneously return valid values. - if ( this.isEmpty() ) this.makeEmpty(); - return this; + } - }, - - union: function ( box ) { - - this.min.min( box.min ); - this.max.max( box.max ); - + setFromProjectionMatrix(m) { + const planes = this.planes; + const me = m.elements; + const me0 = me[0], + me1 = me[1], + me2 = me[2], + me3 = me[3]; + const me4 = me[4], + me5 = me[5], + me6 = me[6], + me7 = me[7]; + const me8 = me[8], + me9 = me[9], + me10 = me[10], + me11 = me[11]; + const me12 = me[12], + me13 = me[13], + me14 = me[14], + me15 = me[15]; + planes[0].setComponents(me3 - me0, me7 - me4, me11 - me8, me15 - me12).normalize(); + planes[1].setComponents(me3 + me0, me7 + me4, me11 + me8, me15 + me12).normalize(); + planes[2].setComponents(me3 + me1, me7 + me5, me11 + me9, me15 + me13).normalize(); + planes[3].setComponents(me3 - me1, me7 - me5, me11 - me9, me15 - me13).normalize(); + planes[4].setComponents(me3 - me2, me7 - me6, me11 - me10, me15 - me14).normalize(); + planes[5].setComponents(me3 + me2, me7 + me6, me11 + me10, me15 + me14).normalize(); return this; + } - }, - - applyMatrix4: function () { + intersectsObject(object) { + const geometry = object.geometry; + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); - var points = [ - new Vector3(), - new Vector3(), - new Vector3(), - new Vector3(), - new Vector3(), - new Vector3(), - new Vector3(), - new Vector3() - ]; + _sphere$2.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld); - return function applyMatrix4( matrix ) { + return this.intersectsSphere(_sphere$2); + } - // transform of empty box is an empty box. - if ( this.isEmpty() ) return this; + intersectsSprite(sprite) { + _sphere$2.center.set(0, 0, 0); - // NOTE: I am using a binary pattern to specify all 2^3 combinations below - points[ 0 ].set( this.min.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 000 - points[ 1 ].set( this.min.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 001 - points[ 2 ].set( this.min.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 010 - points[ 3 ].set( this.min.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 011 - points[ 4 ].set( this.max.x, this.min.y, this.min.z ).applyMatrix4( matrix ); // 100 - points[ 5 ].set( this.max.x, this.min.y, this.max.z ).applyMatrix4( matrix ); // 101 - points[ 6 ].set( this.max.x, this.max.y, this.min.z ).applyMatrix4( matrix ); // 110 - points[ 7 ].set( this.max.x, this.max.y, this.max.z ).applyMatrix4( matrix ); // 111 + _sphere$2.radius = 0.7071067811865476; - this.setFromPoints( points ); + _sphere$2.applyMatrix4(sprite.matrixWorld); - return this; + return this.intersectsSphere(_sphere$2); + } - }; + intersectsSphere(sphere) { + const planes = this.planes; + const center = sphere.center; + const negRadius = -sphere.radius; - }(), + for (let i = 0; i < 6; i++) { + const distance = planes[i].distanceToPoint(center); - translate: function ( offset ) { + if (distance < negRadius) { + return false; + } + } - this.min.add( offset ); - this.max.add( offset ); + return true; + } - return this; + intersectsBox(box) { + const planes = this.planes; - }, + for (let i = 0; i < 6; i++) { + const plane = planes[i]; // corner at max distance - equals: function ( box ) { + _vector$7.x = plane.normal.x > 0 ? box.max.x : box.min.x; + _vector$7.y = plane.normal.y > 0 ? box.max.y : box.min.y; + _vector$7.z = plane.normal.z > 0 ? box.max.z : box.min.z; - return box.min.equals( this.min ) && box.max.equals( this.max ); + if (plane.distanceToPoint(_vector$7) < 0) { + return false; + } + } + return true; } - } ); + containsPoint(point) { + const planes = this.planes; - /** - * @author bhouston / http://clara.io - * @author mrdoob / http://mrdoob.com/ - */ + for (let i = 0; i < 6; i++) { + if (planes[i].distanceToPoint(point) < 0) { + return false; + } + } - function Sphere( center, radius ) { + return true; + } - this.center = ( center !== undefined ) ? center : new Vector3(); - this.radius = ( radius !== undefined ) ? radius : 0; + clone() { + return new this.constructor().copy(this); + } } - Object.assign( Sphere.prototype, { - - set: function ( center, radius ) { - - this.center.copy( center ); - this.radius = radius; - - return this; - - }, - - setFromPoints: function () { - - var box = new Box3(); - - return function setFromPoints( points, optionalCenter ) { + function WebGLAnimation() { + let context = null; + let isAnimating = false; + let animationLoop = null; + let requestId = null; - var center = this.center; + function onAnimationFrame(time, frame) { + animationLoop(time, frame); + requestId = context.requestAnimationFrame(onAnimationFrame); + } - if ( optionalCenter !== undefined ) { + return { + start: function () { + if (isAnimating === true) return; + if (animationLoop === null) return; + requestId = context.requestAnimationFrame(onAnimationFrame); + isAnimating = true; + }, + stop: function () { + context.cancelAnimationFrame(requestId); + isAnimating = false; + }, + setAnimationLoop: function (callback) { + animationLoop = callback; + }, + setContext: function (value) { + context = value; + } + }; + } - center.copy( optionalCenter ); + function WebGLAttributes(gl, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + const buffers = new WeakMap(); + function createBuffer(attribute, bufferType) { + const array = attribute.array; + const usage = attribute.usage; + const buffer = gl.createBuffer(); + gl.bindBuffer(bufferType, buffer); + gl.bufferData(bufferType, array, usage); + attribute.onUploadCallback(); + let type = gl.FLOAT; + + if (array instanceof Float32Array) { + type = gl.FLOAT; + } else if (array instanceof Float64Array) { + console.warn('THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.'); + } else if (array instanceof Uint16Array) { + if (attribute.isFloat16BufferAttribute) { + if (isWebGL2) { + type = gl.HALF_FLOAT; + } else { + console.warn('THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.'); + } } else { + type = gl.UNSIGNED_SHORT; + } + } else if (array instanceof Int16Array) { + type = gl.SHORT; + } else if (array instanceof Uint32Array) { + type = gl.UNSIGNED_INT; + } else if (array instanceof Int32Array) { + type = gl.INT; + } else if (array instanceof Int8Array) { + type = gl.BYTE; + } else if (array instanceof Uint8Array) { + type = gl.UNSIGNED_BYTE; + } else if (array instanceof Uint8ClampedArray) { + type = gl.UNSIGNED_BYTE; + } - box.setFromPoints( points ).getCenter( center ); - - } - - var maxRadiusSq = 0; - - for ( var i = 0, il = points.length; i < il; i ++ ) { - - maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( points[ i ] ) ); - - } - - this.radius = Math.sqrt( maxRadiusSq ); - - return this; - + return { + buffer: buffer, + type: type, + bytesPerElement: array.BYTES_PER_ELEMENT, + version: attribute.version }; + } - }(), - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( sphere ) { - - this.center.copy( sphere.center ); - this.radius = sphere.radius; - - return this; - - }, - - empty: function () { - - return ( this.radius <= 0 ); - - }, - - containsPoint: function ( point ) { - - return ( point.distanceToSquared( this.center ) <= ( this.radius * this.radius ) ); - - }, - - distanceToPoint: function ( point ) { - - return ( point.distanceTo( this.center ) - this.radius ); - - }, - - intersectsSphere: function ( sphere ) { - - var radiusSum = this.radius + sphere.radius; - - return sphere.center.distanceToSquared( this.center ) <= ( radiusSum * radiusSum ); - - }, - - intersectsBox: function ( box ) { - - return box.intersectsSphere( this ); + function updateBuffer(buffer, attribute, bufferType) { + const array = attribute.array; + const updateRange = attribute.updateRange; + gl.bindBuffer(bufferType, buffer); - }, + if (updateRange.count === -1) { + // Not using update ranges + gl.bufferSubData(bufferType, 0, array); + } else { + if (isWebGL2) { + gl.bufferSubData(bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, array, updateRange.offset, updateRange.count); + } else { + gl.bufferSubData(bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, array.subarray(updateRange.offset, updateRange.offset + updateRange.count)); + } - intersectsPlane: function ( plane ) { + updateRange.count = -1; // reset range + } + } // - return Math.abs( plane.distanceToPoint( this.center ) ) <= this.radius; - }, + function get(attribute) { + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + return buffers.get(attribute); + } - clampPoint: function ( point, target ) { + function remove(attribute) { + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + const data = buffers.get(attribute); - var deltaLengthSq = this.center.distanceToSquared( point ); + if (data) { + gl.deleteBuffer(data.buffer); + buffers.delete(attribute); + } + } - if ( target === undefined ) { + function update(attribute, bufferType) { + if (attribute.isGLBufferAttribute) { + const cached = buffers.get(attribute); - console.warn( 'THREE.Sphere: .clampPoint() target is now required' ); - target = new Vector3(); + if (!cached || cached.version < attribute.version) { + buffers.set(attribute, { + buffer: attribute.buffer, + type: attribute.type, + bytesPerElement: attribute.elementSize, + version: attribute.version + }); + } + return; } - target.copy( point ); - - if ( deltaLengthSq > ( this.radius * this.radius ) ) { - - target.sub( this.center ).normalize(); - target.multiplyScalar( this.radius ).add( this.center ); + if (attribute.isInterleavedBufferAttribute) attribute = attribute.data; + const data = buffers.get(attribute); + if (data === undefined) { + buffers.set(attribute, createBuffer(attribute, bufferType)); + } else if (data.version < attribute.version) { + updateBuffer(data.buffer, attribute, bufferType); + data.version = attribute.version; } + } - return target; + return { + get: get, + remove: remove, + update: update + }; + } - }, + class PlaneGeometry extends BufferGeometry { + constructor(width = 1, height = 1, widthSegments = 1, heightSegments = 1) { + super(); + this.type = 'PlaneGeometry'; + this.parameters = { + width: width, + height: height, + widthSegments: widthSegments, + heightSegments: heightSegments + }; + const width_half = width / 2; + const height_half = height / 2; + const gridX = Math.floor(widthSegments); + const gridY = Math.floor(heightSegments); + const gridX1 = gridX + 1; + const gridY1 = gridY + 1; + const segment_width = width / gridX; + const segment_height = height / gridY; // - getBoundingBox: function ( target ) { + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; - if ( target === undefined ) { + for (let iy = 0; iy < gridY1; iy++) { + const y = iy * segment_height - height_half; - console.warn( 'THREE.Sphere: .getBoundingBox() target is now required' ); - target = new Box3(); + for (let ix = 0; ix < gridX1; ix++) { + const x = ix * segment_width - width_half; + vertices.push(x, -y, 0); + normals.push(0, 0, 1); + uvs.push(ix / gridX); + uvs.push(1 - iy / gridY); + } + } + for (let iy = 0; iy < gridY; iy++) { + for (let ix = 0; ix < gridX; ix++) { + const a = ix + gridX1 * iy; + const b = ix + gridX1 * (iy + 1); + const c = ix + 1 + gridX1 * (iy + 1); + const d = ix + 1 + gridX1 * iy; + indices.push(a, b, d); + indices.push(b, c, d); + } } - target.set( this.center, this.center ); - target.expandByScalar( this.radius ); + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); + } - return target; + static fromJSON(data) { + return new PlaneGeometry(data.width, data.height, data.widthSegments, data.heightSegments); + } - }, + } - applyMatrix4: function ( matrix ) { + var alphamap_fragment = "#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif"; - this.center.applyMatrix4( matrix ); - this.radius = this.radius * matrix.getMaxScaleOnAxis(); + var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif"; - return this; + var alphatest_fragment = "#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif"; - }, + var alphatest_pars_fragment = "#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif"; - translate: function ( offset ) { + var aomap_fragment = "#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif"; - this.center.add( offset ); + var aomap_pars_fragment = "#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif"; - return this; + var begin_vertex = "vec3 transformed = vec3( position );"; - }, + var beginnormal_vertex = "vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif"; - equals: function ( sphere ) { + var bsdfs = "vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotVH = saturate( dot( geometry.viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float NoH ) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float NoV, float NoL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( NoL + NoV - NoL * NoV ) ) );\n}\nvec3 BRDF_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif"; - return sphere.center.equals( this.center ) && ( sphere.radius === this.radius ); + var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif"; - } + var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif"; - } ); + var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif"; - /** - * @author bhouston / http://clara.io - */ + var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif"; - function Plane( normal, constant ) { + var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif"; - // normal is assumed to be normalized + var color_fragment = "#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif"; - this.normal = ( normal !== undefined ) ? normal : new Vector3( 1, 0, 0 ); - this.constant = ( constant !== undefined ) ? constant : 0; + var color_pars_fragment = "#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif"; - } + var color_pars_vertex = "#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif"; - Object.assign( Plane.prototype, { + var color_vertex = "#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif"; - set: function ( normal, constant ) { + var common = "#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}"; - this.normal.copy( normal ); - this.constant = constant; + var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif"; - return this; + var defaultnormal_vertex = "vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif"; - }, + var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif"; - setComponents: function ( x, y, z, w ) { + var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif"; - this.normal.set( x, y, z ); - this.constant = w; + var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif"; - return this; + var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif"; - }, + var encodings_fragment = "gl_FragColor = linearToOutputTexel( gl_FragColor );"; - setFromNormalAndCoplanarPoint: function ( normal, point ) { + var encodings_pars_fragment = "\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}"; - this.normal.copy( normal ); - this.constant = - point.dot( this.normal ); + var envmap_fragment = "#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif"; - return this; + var envmap_common_pars_fragment = "#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif"; - }, + var envmap_pars_fragment = "#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif"; - setFromCoplanarPoints: function () { + var envmap_pars_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif"; - var v1 = new Vector3(); - var v2 = new Vector3(); + var envmap_vertex = "#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif"; - return function setFromCoplanarPoints( a, b, c ) { + var fog_vertex = "#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif"; - var normal = v1.subVectors( c, b ).cross( v2.subVectors( a, b ) ).normalize(); + var fog_pars_vertex = "#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif"; - // Q: should an error be thrown if normal is zero (e.g. degenerate plane)? + var fog_fragment = "#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif"; - this.setFromNormalAndCoplanarPoint( normal, a ); + var fog_pars_fragment = "#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif"; - return this; + var gradientmap_pars_fragment = "#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}"; - }; + var lightmap_fragment = "#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif"; - }(), + var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif"; - clone: function () { + var lights_lambert_vertex = "vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif"; - return new this.constructor().copy( this ); + var lights_pars_begin = "uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif"; - }, + var envmap_physical_pars_fragment = "#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in GeometricContext geometry ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif"; - copy: function ( plane ) { + var lights_toon_fragment = "ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;"; - this.normal.copy( plane.normal ); - this.constant = plane.constant; + var lights_toon_pars_fragment = "varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)"; - return this; + var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;"; - }, + var lights_phong_pars_fragment = "varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)"; - normalize: function () { + var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularTintFactor = specularTint;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARTINTMAP\n\t\t\tspecularTintFactor *= specularTintMapTexelToLinear( texture2D( specularTintMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularTintFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularTintFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenTint = sheenTint;\n#endif"; - // Note: will lead to a divide by zero if the plane is invalid. + var lights_physical_pars_fragment = "struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenTint;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += irradiance * BRDF_Sheen( material.roughness, directLight.direction, geometry, material.sheenTint );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}"; - var inverseNormalLength = 1.0 / this.normal.length(); - this.normal.multiplyScalar( inverseNormalLength ); - this.constant *= inverseNormalLength; + var lights_fragment_begin = "\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif"; - return this; + var lights_fragment_maps = "#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif"; - }, + var lights_fragment_end = "#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif"; - negate: function () { + var logdepthbuf_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif"; - this.constant *= - 1; - this.normal.negate(); + var logdepthbuf_pars_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif"; - return this; + var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif"; - }, + var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif"; - distanceToPoint: function ( point ) { + var map_fragment = "#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif"; - return this.normal.dot( point ) + this.constant; + var map_pars_fragment = "#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif"; - }, + var map_particle_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif"; - distanceToSphere: function ( sphere ) { + var map_particle_pars_fragment = "#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif"; - return this.distanceToPoint( sphere.center ) - sphere.radius; + var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif"; - }, + var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif"; - projectPoint: function ( point, target ) { + var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif"; - if ( target === undefined ) { + var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif"; - console.warn( 'THREE.Plane: .projectPoint() target is now required' ); - target = new Vector3(); + var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif"; - } + var normal_fragment_begin = "float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;"; - return target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point ); + var normal_fragment_maps = "#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif"; - }, + var normal_pars_fragment = "#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif"; - intersectLine: function () { + var normal_pars_vertex = "#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif"; - var v1 = new Vector3(); + var normal_vertex = "#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif"; - return function intersectLine( line, target ) { + var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif"; - if ( target === undefined ) { + var clearcoat_normal_fragment_begin = "#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif"; - console.warn( 'THREE.Plane: .intersectLine() target is now required' ); - target = new Vector3(); + var clearcoat_normal_fragment_maps = "#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif"; - } + var clearcoat_pars_fragment = "#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif"; - var direction = line.delta( v1 ); + var output_fragment = "#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );"; - var denominator = this.normal.dot( direction ); + var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}"; - if ( denominator === 0 ) { + var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif"; - // line is coplanar, return origin - if ( this.distanceToPoint( line.start ) === 0 ) { + var project_vertex = "vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;"; - return target.copy( line.start ); + var dithering_fragment = "#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif"; - } + var dithering_pars_fragment = "#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif"; - // Unsure if this is the correct method to handle this case. - return undefined; + var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif"; - } + var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif"; - var t = - ( line.start.dot( this.normal ) + this.constant ) / denominator; + var shadowmap_pars_fragment = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif"; - if ( t < 0 || t > 1 ) { + var shadowmap_pars_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif"; - return undefined; + var shadowmap_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif"; - } + var shadowmask_pars_fragment = "float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}"; - return target.copy( direction ).multiplyScalar( t ).add( line.start ); + var skinbase_vertex = "#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; - }; + var skinning_pars_vertex = "#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif"; - }(), + var skinning_vertex = "#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif"; - intersectsLine: function ( line ) { + var skinnormal_vertex = "#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif"; - // Note: this tests if a line intersects the plane, not whether it (or its end-points) are coplanar with it. + var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif"; - var startSign = this.distanceToPoint( line.start ); - var endSign = this.distanceToPoint( line.end ); + var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif"; - return ( startSign < 0 && endSign > 0 ) || ( endSign < 0 && startSign > 0 ); + var tonemapping_fragment = "#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif"; - }, + var tonemapping_pars_fragment = "#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }"; - intersectsBox: function ( box ) { + var transmission_fragment = "#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationTint, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = transmission.a;\n#endif"; - return box.intersectsPlane( this ); + var transmission_pars_fragment = "#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationTint;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif"; - }, + var uv_pars_fragment = "#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif"; - intersectsSphere: function ( sphere ) { + var uv_pars_vertex = "#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif"; - return sphere.intersectsPlane( this ); + var uv_vertex = "#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif"; - }, + var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif"; - coplanarPoint: function ( target ) { + var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif"; - if ( target === undefined ) { + var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif"; - console.warn( 'THREE.Plane: .coplanarPoint() target is now required' ); - target = new Vector3(); + var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif"; - } + var background_frag = "uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; - return target.copy( this.normal ).multiplyScalar( - this.constant ); + var background_vert = "varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}"; - }, + var cube_frag = "#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}"; - applyMatrix4: function () { + var cube_vert = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}"; - var v1 = new Vector3(); - var m1 = new Matrix3(); + var depth_frag = "#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}"; - return function applyMatrix4( matrix, optionalNormalMatrix ) { + var depth_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}"; - var normalMatrix = optionalNormalMatrix || m1.getNormalMatrix( matrix ); + var distanceRGBA_frag = "#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}"; - var referencePoint = this.coplanarPoint( v1 ).applyMatrix4( matrix ); + var distanceRGBA_vert = "#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}"; - var normal = this.normal.applyMatrix3( normalMatrix ).normalize(); + var equirect_frag = "uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; - this.constant = - referencePoint.dot( normal ); + var equirect_vert = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}"; - return this; + var linedashed_frag = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - }; + var linedashed_vert = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - }(), + var meshbasic_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - translate: function ( offset ) { + var meshbasic_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - this.constant -= offset.dot( this.normal ); + var meshlambert_frag = "uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - return this; + var meshlambert_vert = "#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - }, + var meshmatcap_frag = "#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - equals: function ( plane ) { + var meshmatcap_vert = "#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}"; - return plane.normal.equals( this.normal ) && ( plane.constant === this.constant ); + var meshnormal_frag = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}"; - } + var meshnormal_vert = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}"; - } ); + var meshphong_frag = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author bhouston / http://clara.io - */ + var meshphong_vert = "#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - function Frustum( p0, p1, p2, p3, p4, p5 ) { + var meshphysical_frag = "#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularTint;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARTINTMAP\n\t\tuniform sampler2D specularTintMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenTint;\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - clearcoat * Fcc ) + clearcoatSpecular * clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - this.planes = [ + var meshphysical_vert = "#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}"; - ( p0 !== undefined ) ? p0 : new Plane(), - ( p1 !== undefined ) ? p1 : new Plane(), - ( p2 !== undefined ) ? p2 : new Plane(), - ( p3 !== undefined ) ? p3 : new Plane(), - ( p4 !== undefined ) ? p4 : new Plane(), - ( p5 !== undefined ) ? p5 : new Plane() + var meshtoon_frag = "#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - ]; + var meshtoon_vert = "#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}"; - } + var points_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - Object.assign( Frustum.prototype, { + var points_vert = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - set: function ( p0, p1, p2, p3, p4, p5 ) { + var shadow_frag = "uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}"; - var planes = this.planes; + var shadow_vert = "#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - planes[ 0 ].copy( p0 ); - planes[ 1 ].copy( p1 ); - planes[ 2 ].copy( p2 ); - planes[ 3 ].copy( p3 ); - planes[ 4 ].copy( p4 ); - planes[ 5 ].copy( p5 ); + var sprite_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - return this; - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( frustum ) { - - var planes = this.planes; - - for ( var i = 0; i < 6; i ++ ) { - - planes[ i ].copy( frustum.planes[ i ] ); - - } - - return this; - - }, - - setFromMatrix: function ( m ) { - - var planes = this.planes; - var me = m.elements; - var me0 = me[ 0 ], me1 = me[ 1 ], me2 = me[ 2 ], me3 = me[ 3 ]; - var me4 = me[ 4 ], me5 = me[ 5 ], me6 = me[ 6 ], me7 = me[ 7 ]; - var me8 = me[ 8 ], me9 = me[ 9 ], me10 = me[ 10 ], me11 = me[ 11 ]; - var me12 = me[ 12 ], me13 = me[ 13 ], me14 = me[ 14 ], me15 = me[ 15 ]; - - planes[ 0 ].setComponents( me3 - me0, me7 - me4, me11 - me8, me15 - me12 ).normalize(); - planes[ 1 ].setComponents( me3 + me0, me7 + me4, me11 + me8, me15 + me12 ).normalize(); - planes[ 2 ].setComponents( me3 + me1, me7 + me5, me11 + me9, me15 + me13 ).normalize(); - planes[ 3 ].setComponents( me3 - me1, me7 - me5, me11 - me9, me15 - me13 ).normalize(); - planes[ 4 ].setComponents( me3 - me2, me7 - me6, me11 - me10, me15 - me14 ).normalize(); - planes[ 5 ].setComponents( me3 + me2, me7 + me6, me11 + me10, me15 + me14 ).normalize(); - - return this; - - }, - - intersectsObject: function () { - - var sphere = new Sphere(); - - return function intersectsObject( object ) { - - var geometry = object.geometry; - - if ( geometry.boundingSphere === null ) - geometry.computeBoundingSphere(); - - sphere.copy( geometry.boundingSphere ) - .applyMatrix4( object.matrixWorld ); - - return this.intersectsSphere( sphere ); - - }; - - }(), - - intersectsSprite: function () { - - var sphere = new Sphere(); - - return function intersectsSprite( sprite ) { - - sphere.center.set( 0, 0, 0 ); - sphere.radius = 0.7071067811865476; - sphere.applyMatrix4( sprite.matrixWorld ); - - return this.intersectsSphere( sphere ); - - }; - - }(), - - intersectsSphere: function ( sphere ) { - - var planes = this.planes; - var center = sphere.center; - var negRadius = - sphere.radius; - - for ( var i = 0; i < 6; i ++ ) { - - var distance = planes[ i ].distanceToPoint( center ); - - if ( distance < negRadius ) { - - return false; - - } - - } - - return true; - - }, - - intersectsBox: function () { - - var p = new Vector3(); - - return function intersectsBox( box ) { - - var planes = this.planes; - - for ( var i = 0; i < 6; i ++ ) { - - var plane = planes[ i ]; - - // corner at max distance - - p.x = plane.normal.x > 0 ? box.max.x : box.min.x; - p.y = plane.normal.y > 0 ? box.max.y : box.min.y; - p.z = plane.normal.z > 0 ? box.max.z : box.min.z; - - if ( plane.distanceToPoint( p ) < 0 ) { - - return false; - - } - - } - - return true; - - }; - - }(), - - containsPoint: function ( point ) { - - var planes = this.planes; - - for ( var i = 0; i < 6; i ++ ) { - - if ( planes[ i ].distanceToPoint( point ) < 0 ) { - - return false; - - } - - } - - return true; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author supereggbert / http://www.paulbrunt.co.uk/ - * @author philogb / http://blog.thejit.org/ - * @author jordi_ros / http://plattsoft.com - * @author D1plo1d / http://github.com/D1plo1d - * @author alteredq / http://alteredqualia.com/ - * @author mikael emtinger / http://gomo.se/ - * @author timknip / http://www.floorplanner.com/ - * @author bhouston / http://clara.io - * @author WestLangley / http://github.com/WestLangley - */ - - function Matrix4() { - - this.elements = [ - - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 - - ]; - - if ( arguments.length > 0 ) { - - console.error( 'THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.' ); - - } - - } - - Object.assign( Matrix4.prototype, { - - isMatrix4: true, - - set: function ( n11, n12, n13, n14, n21, n22, n23, n24, n31, n32, n33, n34, n41, n42, n43, n44 ) { - - var te = this.elements; - - te[ 0 ] = n11; te[ 4 ] = n12; te[ 8 ] = n13; te[ 12 ] = n14; - te[ 1 ] = n21; te[ 5 ] = n22; te[ 9 ] = n23; te[ 13 ] = n24; - te[ 2 ] = n31; te[ 6 ] = n32; te[ 10 ] = n33; te[ 14 ] = n34; - te[ 3 ] = n41; te[ 7 ] = n42; te[ 11 ] = n43; te[ 15 ] = n44; - - return this; - - }, - - identity: function () { - - this.set( - - 1, 0, 0, 0, - 0, 1, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - clone: function () { - - return new Matrix4().fromArray( this.elements ); - - }, - - copy: function ( m ) { - - var te = this.elements; - var me = m.elements; - - te[ 0 ] = me[ 0 ]; te[ 1 ] = me[ 1 ]; te[ 2 ] = me[ 2 ]; te[ 3 ] = me[ 3 ]; - te[ 4 ] = me[ 4 ]; te[ 5 ] = me[ 5 ]; te[ 6 ] = me[ 6 ]; te[ 7 ] = me[ 7 ]; - te[ 8 ] = me[ 8 ]; te[ 9 ] = me[ 9 ]; te[ 10 ] = me[ 10 ]; te[ 11 ] = me[ 11 ]; - te[ 12 ] = me[ 12 ]; te[ 13 ] = me[ 13 ]; te[ 14 ] = me[ 14 ]; te[ 15 ] = me[ 15 ]; - - return this; - - }, - - copyPosition: function ( m ) { - - var te = this.elements, me = m.elements; - - te[ 12 ] = me[ 12 ]; - te[ 13 ] = me[ 13 ]; - te[ 14 ] = me[ 14 ]; - - return this; - - }, - - extractBasis: function ( xAxis, yAxis, zAxis ) { - - xAxis.setFromMatrixColumn( this, 0 ); - yAxis.setFromMatrixColumn( this, 1 ); - zAxis.setFromMatrixColumn( this, 2 ); - - return this; - - }, - - makeBasis: function ( xAxis, yAxis, zAxis ) { - - this.set( - xAxis.x, yAxis.x, zAxis.x, 0, - xAxis.y, yAxis.y, zAxis.y, 0, - xAxis.z, yAxis.z, zAxis.z, 0, - 0, 0, 0, 1 - ); - - return this; - - }, - - extractRotation: function () { - - var v1 = new Vector3(); - - return function extractRotation( m ) { - - // this method does not support reflection matrices - - var te = this.elements; - var me = m.elements; - - var scaleX = 1 / v1.setFromMatrixColumn( m, 0 ).length(); - var scaleY = 1 / v1.setFromMatrixColumn( m, 1 ).length(); - var scaleZ = 1 / v1.setFromMatrixColumn( m, 2 ).length(); - - te[ 0 ] = me[ 0 ] * scaleX; - te[ 1 ] = me[ 1 ] * scaleX; - te[ 2 ] = me[ 2 ] * scaleX; - te[ 3 ] = 0; - - te[ 4 ] = me[ 4 ] * scaleY; - te[ 5 ] = me[ 5 ] * scaleY; - te[ 6 ] = me[ 6 ] * scaleY; - te[ 7 ] = 0; - - te[ 8 ] = me[ 8 ] * scaleZ; - te[ 9 ] = me[ 9 ] * scaleZ; - te[ 10 ] = me[ 10 ] * scaleZ; - te[ 11 ] = 0; - - te[ 12 ] = 0; - te[ 13 ] = 0; - te[ 14 ] = 0; - te[ 15 ] = 1; - - return this; - - }; - - }(), - - makeRotationFromEuler: function ( euler ) { - - if ( ! ( euler && euler.isEuler ) ) { - - console.error( 'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.' ); - - } - - var te = this.elements; - - var x = euler.x, y = euler.y, z = euler.z; - var a = Math.cos( x ), b = Math.sin( x ); - var c = Math.cos( y ), d = Math.sin( y ); - var e = Math.cos( z ), f = Math.sin( z ); - - if ( euler.order === 'XYZ' ) { - - var ae = a * e, af = a * f, be = b * e, bf = b * f; - - te[ 0 ] = c * e; - te[ 4 ] = - c * f; - te[ 8 ] = d; - - te[ 1 ] = af + be * d; - te[ 5 ] = ae - bf * d; - te[ 9 ] = - b * c; - - te[ 2 ] = bf - ae * d; - te[ 6 ] = be + af * d; - te[ 10 ] = a * c; - - } else if ( euler.order === 'YXZ' ) { - - var ce = c * e, cf = c * f, de = d * e, df = d * f; - - te[ 0 ] = ce + df * b; - te[ 4 ] = de * b - cf; - te[ 8 ] = a * d; - - te[ 1 ] = a * f; - te[ 5 ] = a * e; - te[ 9 ] = - b; - - te[ 2 ] = cf * b - de; - te[ 6 ] = df + ce * b; - te[ 10 ] = a * c; - - } else if ( euler.order === 'ZXY' ) { - - var ce = c * e, cf = c * f, de = d * e, df = d * f; - - te[ 0 ] = ce - df * b; - te[ 4 ] = - a * f; - te[ 8 ] = de + cf * b; - - te[ 1 ] = cf + de * b; - te[ 5 ] = a * e; - te[ 9 ] = df - ce * b; - - te[ 2 ] = - a * d; - te[ 6 ] = b; - te[ 10 ] = a * c; - - } else if ( euler.order === 'ZYX' ) { - - var ae = a * e, af = a * f, be = b * e, bf = b * f; - - te[ 0 ] = c * e; - te[ 4 ] = be * d - af; - te[ 8 ] = ae * d + bf; - - te[ 1 ] = c * f; - te[ 5 ] = bf * d + ae; - te[ 9 ] = af * d - be; - - te[ 2 ] = - d; - te[ 6 ] = b * c; - te[ 10 ] = a * c; - - } else if ( euler.order === 'YZX' ) { - - var ac = a * c, ad = a * d, bc = b * c, bd = b * d; - - te[ 0 ] = c * e; - te[ 4 ] = bd - ac * f; - te[ 8 ] = bc * f + ad; - - te[ 1 ] = f; - te[ 5 ] = a * e; - te[ 9 ] = - b * e; - - te[ 2 ] = - d * e; - te[ 6 ] = ad * f + bc; - te[ 10 ] = ac - bd * f; - - } else if ( euler.order === 'XZY' ) { - - var ac = a * c, ad = a * d, bc = b * c, bd = b * d; - - te[ 0 ] = c * e; - te[ 4 ] = - f; - te[ 8 ] = d * e; - - te[ 1 ] = ac * f + bd; - te[ 5 ] = a * e; - te[ 9 ] = ad * f - bc; - - te[ 2 ] = bc * f - ad; - te[ 6 ] = b * e; - te[ 10 ] = bd * f + ac; - - } - - // bottom row - te[ 3 ] = 0; - te[ 7 ] = 0; - te[ 11 ] = 0; - - // last column - te[ 12 ] = 0; - te[ 13 ] = 0; - te[ 14 ] = 0; - te[ 15 ] = 1; - - return this; - - }, - - makeRotationFromQuaternion: function () { - - var zero = new Vector3( 0, 0, 0 ); - var one = new Vector3( 1, 1, 1 ); - - return function makeRotationFromQuaternion( q ) { - - return this.compose( zero, q, one ); - - }; - - }(), - - lookAt: function () { - - var x = new Vector3(); - var y = new Vector3(); - var z = new Vector3(); - - return function lookAt( eye, target, up ) { - - var te = this.elements; - - z.subVectors( eye, target ); - - if ( z.lengthSq() === 0 ) { - - // eye and target are in the same position - - z.z = 1; - - } - - z.normalize(); - x.crossVectors( up, z ); - - if ( x.lengthSq() === 0 ) { - - // up and z are parallel - - if ( Math.abs( up.z ) === 1 ) { - - z.x += 0.0001; - - } else { - - z.z += 0.0001; - - } - - z.normalize(); - x.crossVectors( up, z ); - - } - - x.normalize(); - y.crossVectors( z, x ); - - te[ 0 ] = x.x; te[ 4 ] = y.x; te[ 8 ] = z.x; - te[ 1 ] = x.y; te[ 5 ] = y.y; te[ 9 ] = z.y; - te[ 2 ] = x.z; te[ 6 ] = y.z; te[ 10 ] = z.z; - - return this; - - }; - - }(), - - multiply: function ( m, n ) { - - if ( n !== undefined ) { - - console.warn( 'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.' ); - return this.multiplyMatrices( m, n ); - - } - - return this.multiplyMatrices( this, m ); - - }, - - premultiply: function ( m ) { - - return this.multiplyMatrices( m, this ); - - }, - - multiplyMatrices: function ( a, b ) { - - var ae = a.elements; - var be = b.elements; - var te = this.elements; - - var a11 = ae[ 0 ], a12 = ae[ 4 ], a13 = ae[ 8 ], a14 = ae[ 12 ]; - var a21 = ae[ 1 ], a22 = ae[ 5 ], a23 = ae[ 9 ], a24 = ae[ 13 ]; - var a31 = ae[ 2 ], a32 = ae[ 6 ], a33 = ae[ 10 ], a34 = ae[ 14 ]; - var a41 = ae[ 3 ], a42 = ae[ 7 ], a43 = ae[ 11 ], a44 = ae[ 15 ]; - - var b11 = be[ 0 ], b12 = be[ 4 ], b13 = be[ 8 ], b14 = be[ 12 ]; - var b21 = be[ 1 ], b22 = be[ 5 ], b23 = be[ 9 ], b24 = be[ 13 ]; - var b31 = be[ 2 ], b32 = be[ 6 ], b33 = be[ 10 ], b34 = be[ 14 ]; - var b41 = be[ 3 ], b42 = be[ 7 ], b43 = be[ 11 ], b44 = be[ 15 ]; - - te[ 0 ] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; - te[ 4 ] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; - te[ 8 ] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; - te[ 12 ] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; - - te[ 1 ] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; - te[ 5 ] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; - te[ 9 ] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; - te[ 13 ] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; - - te[ 2 ] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; - te[ 6 ] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; - te[ 10 ] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; - te[ 14 ] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; - - te[ 3 ] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; - te[ 7 ] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; - te[ 11 ] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; - te[ 15 ] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; - - return this; - - }, - - multiplyScalar: function ( s ) { - - var te = this.elements; - - te[ 0 ] *= s; te[ 4 ] *= s; te[ 8 ] *= s; te[ 12 ] *= s; - te[ 1 ] *= s; te[ 5 ] *= s; te[ 9 ] *= s; te[ 13 ] *= s; - te[ 2 ] *= s; te[ 6 ] *= s; te[ 10 ] *= s; te[ 14 ] *= s; - te[ 3 ] *= s; te[ 7 ] *= s; te[ 11 ] *= s; te[ 15 ] *= s; - - return this; - - }, - - applyToBufferAttribute: function () { - - var v1 = new Vector3(); - - return function applyToBufferAttribute( attribute ) { - - for ( var i = 0, l = attribute.count; i < l; i ++ ) { - - v1.x = attribute.getX( i ); - v1.y = attribute.getY( i ); - v1.z = attribute.getZ( i ); - - v1.applyMatrix4( this ); - - attribute.setXYZ( i, v1.x, v1.y, v1.z ); - - } - - return attribute; - - }; - - }(), - - determinant: function () { - - var te = this.elements; - - var n11 = te[ 0 ], n12 = te[ 4 ], n13 = te[ 8 ], n14 = te[ 12 ]; - var n21 = te[ 1 ], n22 = te[ 5 ], n23 = te[ 9 ], n24 = te[ 13 ]; - var n31 = te[ 2 ], n32 = te[ 6 ], n33 = te[ 10 ], n34 = te[ 14 ]; - var n41 = te[ 3 ], n42 = te[ 7 ], n43 = te[ 11 ], n44 = te[ 15 ]; - - //TODO: make this more efficient - //( based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm ) - - return ( - n41 * ( - + n14 * n23 * n32 - - n13 * n24 * n32 - - n14 * n22 * n33 - + n12 * n24 * n33 - + n13 * n22 * n34 - - n12 * n23 * n34 - ) + - n42 * ( - + n11 * n23 * n34 - - n11 * n24 * n33 - + n14 * n21 * n33 - - n13 * n21 * n34 - + n13 * n24 * n31 - - n14 * n23 * n31 - ) + - n43 * ( - + n11 * n24 * n32 - - n11 * n22 * n34 - - n14 * n21 * n32 - + n12 * n21 * n34 - + n14 * n22 * n31 - - n12 * n24 * n31 - ) + - n44 * ( - - n13 * n22 * n31 - - n11 * n23 * n32 - + n11 * n22 * n33 - + n13 * n21 * n32 - - n12 * n21 * n33 - + n12 * n23 * n31 - ) - - ); - - }, - - transpose: function () { - - var te = this.elements; - var tmp; - - tmp = te[ 1 ]; te[ 1 ] = te[ 4 ]; te[ 4 ] = tmp; - tmp = te[ 2 ]; te[ 2 ] = te[ 8 ]; te[ 8 ] = tmp; - tmp = te[ 6 ]; te[ 6 ] = te[ 9 ]; te[ 9 ] = tmp; - - tmp = te[ 3 ]; te[ 3 ] = te[ 12 ]; te[ 12 ] = tmp; - tmp = te[ 7 ]; te[ 7 ] = te[ 13 ]; te[ 13 ] = tmp; - tmp = te[ 11 ]; te[ 11 ] = te[ 14 ]; te[ 14 ] = tmp; - - return this; - - }, - - setPosition: function ( v ) { - - var te = this.elements; - - te[ 12 ] = v.x; - te[ 13 ] = v.y; - te[ 14 ] = v.z; - - return this; - - }, - - getInverse: function ( m, throwOnDegenerate ) { - - // based on http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.htm - var te = this.elements, - me = m.elements, - - n11 = me[ 0 ], n21 = me[ 1 ], n31 = me[ 2 ], n41 = me[ 3 ], - n12 = me[ 4 ], n22 = me[ 5 ], n32 = me[ 6 ], n42 = me[ 7 ], - n13 = me[ 8 ], n23 = me[ 9 ], n33 = me[ 10 ], n43 = me[ 11 ], - n14 = me[ 12 ], n24 = me[ 13 ], n34 = me[ 14 ], n44 = me[ 15 ], - - t11 = n23 * n34 * n42 - n24 * n33 * n42 + n24 * n32 * n43 - n22 * n34 * n43 - n23 * n32 * n44 + n22 * n33 * n44, - t12 = n14 * n33 * n42 - n13 * n34 * n42 - n14 * n32 * n43 + n12 * n34 * n43 + n13 * n32 * n44 - n12 * n33 * n44, - t13 = n13 * n24 * n42 - n14 * n23 * n42 + n14 * n22 * n43 - n12 * n24 * n43 - n13 * n22 * n44 + n12 * n23 * n44, - t14 = n14 * n23 * n32 - n13 * n24 * n32 - n14 * n22 * n33 + n12 * n24 * n33 + n13 * n22 * n34 - n12 * n23 * n34; - - var det = n11 * t11 + n21 * t12 + n31 * t13 + n41 * t14; - - if ( det === 0 ) { - - var msg = "THREE.Matrix4: .getInverse() can't invert matrix, determinant is 0"; - - if ( throwOnDegenerate === true ) { - - throw new Error( msg ); - - } else { - - console.warn( msg ); - - } - - return this.identity(); - - } - - var detInv = 1 / det; - - te[ 0 ] = t11 * detInv; - te[ 1 ] = ( n24 * n33 * n41 - n23 * n34 * n41 - n24 * n31 * n43 + n21 * n34 * n43 + n23 * n31 * n44 - n21 * n33 * n44 ) * detInv; - te[ 2 ] = ( n22 * n34 * n41 - n24 * n32 * n41 + n24 * n31 * n42 - n21 * n34 * n42 - n22 * n31 * n44 + n21 * n32 * n44 ) * detInv; - te[ 3 ] = ( n23 * n32 * n41 - n22 * n33 * n41 - n23 * n31 * n42 + n21 * n33 * n42 + n22 * n31 * n43 - n21 * n32 * n43 ) * detInv; - - te[ 4 ] = t12 * detInv; - te[ 5 ] = ( n13 * n34 * n41 - n14 * n33 * n41 + n14 * n31 * n43 - n11 * n34 * n43 - n13 * n31 * n44 + n11 * n33 * n44 ) * detInv; - te[ 6 ] = ( n14 * n32 * n41 - n12 * n34 * n41 - n14 * n31 * n42 + n11 * n34 * n42 + n12 * n31 * n44 - n11 * n32 * n44 ) * detInv; - te[ 7 ] = ( n12 * n33 * n41 - n13 * n32 * n41 + n13 * n31 * n42 - n11 * n33 * n42 - n12 * n31 * n43 + n11 * n32 * n43 ) * detInv; - - te[ 8 ] = t13 * detInv; - te[ 9 ] = ( n14 * n23 * n41 - n13 * n24 * n41 - n14 * n21 * n43 + n11 * n24 * n43 + n13 * n21 * n44 - n11 * n23 * n44 ) * detInv; - te[ 10 ] = ( n12 * n24 * n41 - n14 * n22 * n41 + n14 * n21 * n42 - n11 * n24 * n42 - n12 * n21 * n44 + n11 * n22 * n44 ) * detInv; - te[ 11 ] = ( n13 * n22 * n41 - n12 * n23 * n41 - n13 * n21 * n42 + n11 * n23 * n42 + n12 * n21 * n43 - n11 * n22 * n43 ) * detInv; - - te[ 12 ] = t14 * detInv; - te[ 13 ] = ( n13 * n24 * n31 - n14 * n23 * n31 + n14 * n21 * n33 - n11 * n24 * n33 - n13 * n21 * n34 + n11 * n23 * n34 ) * detInv; - te[ 14 ] = ( n14 * n22 * n31 - n12 * n24 * n31 - n14 * n21 * n32 + n11 * n24 * n32 + n12 * n21 * n34 - n11 * n22 * n34 ) * detInv; - te[ 15 ] = ( n12 * n23 * n31 - n13 * n22 * n31 + n13 * n21 * n32 - n11 * n23 * n32 - n12 * n21 * n33 + n11 * n22 * n33 ) * detInv; - - return this; - - }, - - scale: function ( v ) { - - var te = this.elements; - var x = v.x, y = v.y, z = v.z; - - te[ 0 ] *= x; te[ 4 ] *= y; te[ 8 ] *= z; - te[ 1 ] *= x; te[ 5 ] *= y; te[ 9 ] *= z; - te[ 2 ] *= x; te[ 6 ] *= y; te[ 10 ] *= z; - te[ 3 ] *= x; te[ 7 ] *= y; te[ 11 ] *= z; - - return this; - - }, - - getMaxScaleOnAxis: function () { - - var te = this.elements; - - var scaleXSq = te[ 0 ] * te[ 0 ] + te[ 1 ] * te[ 1 ] + te[ 2 ] * te[ 2 ]; - var scaleYSq = te[ 4 ] * te[ 4 ] + te[ 5 ] * te[ 5 ] + te[ 6 ] * te[ 6 ]; - var scaleZSq = te[ 8 ] * te[ 8 ] + te[ 9 ] * te[ 9 ] + te[ 10 ] * te[ 10 ]; - - return Math.sqrt( Math.max( scaleXSq, scaleYSq, scaleZSq ) ); - - }, - - makeTranslation: function ( x, y, z ) { - - this.set( - - 1, 0, 0, x, - 0, 1, 0, y, - 0, 0, 1, z, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeRotationX: function ( theta ) { - - var c = Math.cos( theta ), s = Math.sin( theta ); - - this.set( - - 1, 0, 0, 0, - 0, c, - s, 0, - 0, s, c, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeRotationY: function ( theta ) { - - var c = Math.cos( theta ), s = Math.sin( theta ); - - this.set( - - c, 0, s, 0, - 0, 1, 0, 0, - - s, 0, c, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeRotationZ: function ( theta ) { - - var c = Math.cos( theta ), s = Math.sin( theta ); - - this.set( - - c, - s, 0, 0, - s, c, 0, 0, - 0, 0, 1, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeRotationAxis: function ( axis, angle ) { - - // Based on http://www.gamedev.net/reference/articles/article1199.asp - - var c = Math.cos( angle ); - var s = Math.sin( angle ); - var t = 1 - c; - var x = axis.x, y = axis.y, z = axis.z; - var tx = t * x, ty = t * y; - - this.set( - - tx * x + c, tx * y - s * z, tx * z + s * y, 0, - tx * y + s * z, ty * y + c, ty * z - s * x, 0, - tx * z - s * y, ty * z + s * x, t * z * z + c, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeScale: function ( x, y, z ) { - - this.set( - - x, 0, 0, 0, - 0, y, 0, 0, - 0, 0, z, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - makeShear: function ( x, y, z ) { - - this.set( - - 1, y, z, 0, - x, 1, z, 0, - x, y, 1, 0, - 0, 0, 0, 1 - - ); - - return this; - - }, - - compose: function ( position, quaternion, scale ) { - - var te = this.elements; - - var x = quaternion._x, y = quaternion._y, z = quaternion._z, w = quaternion._w; - var x2 = x + x, y2 = y + y, z2 = z + z; - var xx = x * x2, xy = x * y2, xz = x * z2; - var yy = y * y2, yz = y * z2, zz = z * z2; - var wx = w * x2, wy = w * y2, wz = w * z2; - - var sx = scale.x, sy = scale.y, sz = scale.z; - - te[ 0 ] = ( 1 - ( yy + zz ) ) * sx; - te[ 1 ] = ( xy + wz ) * sx; - te[ 2 ] = ( xz - wy ) * sx; - te[ 3 ] = 0; - - te[ 4 ] = ( xy - wz ) * sy; - te[ 5 ] = ( 1 - ( xx + zz ) ) * sy; - te[ 6 ] = ( yz + wx ) * sy; - te[ 7 ] = 0; - - te[ 8 ] = ( xz + wy ) * sz; - te[ 9 ] = ( yz - wx ) * sz; - te[ 10 ] = ( 1 - ( xx + yy ) ) * sz; - te[ 11 ] = 0; - - te[ 12 ] = position.x; - te[ 13 ] = position.y; - te[ 14 ] = position.z; - te[ 15 ] = 1; - - return this; - - }, - - decompose: function () { - - var vector = new Vector3(); - var matrix = new Matrix4(); - - return function decompose( position, quaternion, scale ) { - - var te = this.elements; - - var sx = vector.set( te[ 0 ], te[ 1 ], te[ 2 ] ).length(); - var sy = vector.set( te[ 4 ], te[ 5 ], te[ 6 ] ).length(); - var sz = vector.set( te[ 8 ], te[ 9 ], te[ 10 ] ).length(); - - // if determine is negative, we need to invert one scale - var det = this.determinant(); - if ( det < 0 ) sx = - sx; - - position.x = te[ 12 ]; - position.y = te[ 13 ]; - position.z = te[ 14 ]; - - // scale the rotation part - matrix.copy( this ); - - var invSX = 1 / sx; - var invSY = 1 / sy; - var invSZ = 1 / sz; - - matrix.elements[ 0 ] *= invSX; - matrix.elements[ 1 ] *= invSX; - matrix.elements[ 2 ] *= invSX; - - matrix.elements[ 4 ] *= invSY; - matrix.elements[ 5 ] *= invSY; - matrix.elements[ 6 ] *= invSY; - - matrix.elements[ 8 ] *= invSZ; - matrix.elements[ 9 ] *= invSZ; - matrix.elements[ 10 ] *= invSZ; - - quaternion.setFromRotationMatrix( matrix ); - - scale.x = sx; - scale.y = sy; - scale.z = sz; - - return this; - - }; - - }(), - - makePerspective: function ( left, right, top, bottom, near, far ) { - - if ( far === undefined ) { - - console.warn( 'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.' ); - - } - - var te = this.elements; - var x = 2 * near / ( right - left ); - var y = 2 * near / ( top - bottom ); - - var a = ( right + left ) / ( right - left ); - var b = ( top + bottom ) / ( top - bottom ); - var c = - ( far + near ) / ( far - near ); - var d = - 2 * far * near / ( far - near ); - - te[ 0 ] = x; te[ 4 ] = 0; te[ 8 ] = a; te[ 12 ] = 0; - te[ 1 ] = 0; te[ 5 ] = y; te[ 9 ] = b; te[ 13 ] = 0; - te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = c; te[ 14 ] = d; - te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = - 1; te[ 15 ] = 0; - - return this; - - }, - - makeOrthographic: function ( left, right, top, bottom, near, far ) { - - var te = this.elements; - var w = 1.0 / ( right - left ); - var h = 1.0 / ( top - bottom ); - var p = 1.0 / ( far - near ); - - var x = ( right + left ) * w; - var y = ( top + bottom ) * h; - var z = ( far + near ) * p; - - te[ 0 ] = 2 * w; te[ 4 ] = 0; te[ 8 ] = 0; te[ 12 ] = - x; - te[ 1 ] = 0; te[ 5 ] = 2 * h; te[ 9 ] = 0; te[ 13 ] = - y; - te[ 2 ] = 0; te[ 6 ] = 0; te[ 10 ] = - 2 * p; te[ 14 ] = - z; - te[ 3 ] = 0; te[ 7 ] = 0; te[ 11 ] = 0; te[ 15 ] = 1; - - return this; - - }, - - equals: function ( matrix ) { - - var te = this.elements; - var me = matrix.elements; - - for ( var i = 0; i < 16; i ++ ) { - - if ( te[ i ] !== me[ i ] ) return false; - - } - - return true; - - }, - - fromArray: function ( array, offset ) { - - if ( offset === undefined ) offset = 0; - - for ( var i = 0; i < 16; i ++ ) { - - this.elements[ i ] = array[ i + offset ]; - - } - - return this; - - }, - - toArray: function ( array, offset ) { - - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; - - var te = this.elements; - - array[ offset ] = te[ 0 ]; - array[ offset + 1 ] = te[ 1 ]; - array[ offset + 2 ] = te[ 2 ]; - array[ offset + 3 ] = te[ 3 ]; - - array[ offset + 4 ] = te[ 4 ]; - array[ offset + 5 ] = te[ 5 ]; - array[ offset + 6 ] = te[ 6 ]; - array[ offset + 7 ] = te[ 7 ]; - - array[ offset + 8 ] = te[ 8 ]; - array[ offset + 9 ] = te[ 9 ]; - array[ offset + 10 ] = te[ 10 ]; - array[ offset + 11 ] = te[ 11 ]; - - array[ offset + 12 ] = te[ 12 ]; - array[ offset + 13 ] = te[ 13 ]; - array[ offset + 14 ] = te[ 14 ]; - array[ offset + 15 ] = te[ 15 ]; - - return array; - - } - - } ); - - var alphamap_fragment = "#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif"; - - var alphamap_pars_fragment = "#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif"; - - var alphatest_fragment = "#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif"; - - var aomap_fragment = "#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif"; - - var aomap_pars_fragment = "#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif"; - - var begin_vertex = "vec3 transformed = vec3( position );"; - - var beginnormal_vertex = "vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif"; - - var bsdfs = "vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick( specularColor, dotNV );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}"; - - var bumpmap_pars_fragment = "#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif"; - - var clipping_planes_fragment = "#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif"; - - var clipping_planes_pars_fragment = "#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif"; - - var clipping_planes_pars_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif"; - - var clipping_planes_vertex = "#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif"; - - var color_fragment = "#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif"; - - var color_pars_fragment = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif"; - - var color_pars_vertex = "#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif"; - - var color_vertex = "#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif"; - - var common = "#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}"; - - var cube_uv_reflection_fragment = "#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif"; - - var defaultnormal_vertex = "vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = normalMatrix * objectTangent;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif"; - - var displacementmap_pars_vertex = "#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif"; - - var displacementmap_vertex = "#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif"; - - var emissivemap_fragment = "#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif"; - - var emissivemap_pars_fragment = "#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif"; - - var encodings_fragment = "gl_FragColor = linearToOutputTexel( gl_FragColor );"; - - var encodings_pars_fragment = "\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}"; - - var envmap_fragment = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif"; - - var envmap_pars_fragment = "#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif"; - - var envmap_pars_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif"; - - var envmap_vertex = "#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif"; - - var fog_vertex = "#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif"; - - var fog_pars_vertex = "#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif"; - - var fog_fragment = "#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif"; - - var fog_pars_fragment = "#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif"; - - var gradientmap_pars_fragment = "#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif"; - - var lightmap_fragment = "#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif"; - - var lightmap_pars_fragment = "#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif"; - - var lights_lambert_vertex = "vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif"; - - var lights_pars_begin = "uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif"; - - var envmap_physical_pars_fragment = "#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif"; - - var lights_phong_fragment = "BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;"; - - var lights_phong_pars_fragment = "varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)"; - - var lights_physical_fragment = "PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif"; - - var lights_physical_pars_fragment = "struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#endif\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\tfloat clearCoatInv = 1.0 - clearCoatDHR;\n\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec3 singleScattering = vec3( 0.0 );\n\t\tvec3 multiScattering = vec3( 0.0 );\n\t\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\t\tvec3 diffuse = material.diffuseColor;\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * singleScattering;\n\t\treflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;\n\t\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n\t#else\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#endif\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}"; - - var lights_fragment_begin = "\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif"; - - var lights_fragment_maps = "#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif"; - - var lights_fragment_end = "#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, irradiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif"; - - var logdepthbuf_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif"; - - var logdepthbuf_pars_fragment = "#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n#endif"; - - var logdepthbuf_pars_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif"; - - var logdepthbuf_vertex = "#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif"; - - var map_fragment = "#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif"; - - var map_pars_fragment = "#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif"; - - var map_particle_fragment = "#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif"; - - var map_particle_pars_fragment = "#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif"; - - var metalnessmap_fragment = "float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif"; - - var metalnessmap_pars_fragment = "#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif"; - - var morphnormal_vertex = "#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif"; - - var morphtarget_pars_vertex = "#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif"; - - var morphtarget_vertex = "#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif"; - - var normal_fragment_begin = "#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t#endif\n#endif"; - - var normal_fragment_maps = "#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\t#ifdef USE_TANGENT\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy = normalScale * mapN.xy;\n\t\t\tnormal = normalize( vTBN * mapN );\n\t\t#else\n\t\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t\t#endif\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif"; - - var normalmap_pars_fragment = "#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif"; - - var packing = "vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}"; - - var premultiplied_alpha_fragment = "#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif"; - - var project_vertex = "vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;"; - - var dithering_fragment = "#if defined( DITHERING )\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif"; - - var dithering_pars_fragment = "#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif"; - - var roughnessmap_fragment = "float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif"; - - var roughnessmap_pars_fragment = "#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif"; - - var shadowmap_pars_fragment = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif"; - - var shadowmap_pars_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif"; - - var shadowmap_vertex = "#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif"; - - var shadowmask_pars_fragment = "float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}"; - - var skinbase_vertex = "#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif"; - - var skinning_pars_vertex = "#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif"; - - var skinning_vertex = "#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif"; - - var skinnormal_vertex = "#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif"; - - var specularmap_fragment = "float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif"; - - var specularmap_pars_fragment = "#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif"; - - var tonemapping_fragment = "#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif"; - - var tonemapping_pars_fragment = "#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}"; - - var uv_pars_fragment = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif"; - - var uv_pars_vertex = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif"; - - var uv_vertex = "#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif"; - - var uv2_pars_fragment = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif"; - - var uv2_pars_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif"; - - var uv2_vertex = "#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif"; - - var worldpos_vertex = "#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif"; - - var background_frag = "uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; - - var background_vert = "varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}"; - - var cube_frag = "uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}"; - - var cube_vert = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}"; - - var depth_frag = "#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}"; - - var depth_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var distanceRGBA_frag = "#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}"; - - var distanceRGBA_vert = "#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}"; - - var equirect_frag = "uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}"; - - var equirect_vert = "varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}"; - - var linedashed_frag = "uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var linedashed_vert = "uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"; - - var meshbasic_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshbasic_vert = "#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshlambert_frag = "uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshlambert_vert = "#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshmatcap_frag = "#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshmatcap_vert = "#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}"; - - var meshphong_frag = "#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshphong_vert = "#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshphysical_frag = "#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var meshphysical_vert = "#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}"; - - var normal_frag = "#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}"; - - var normal_vert = "#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}"; - - var points_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var points_vert = "uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var shadow_frag = "uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n}"; - - var shadow_vert = "#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}"; - - var sprite_frag = "uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}"; - - var sprite_vert = "uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"; - - var ShaderChunk = { - alphamap_fragment: alphamap_fragment, - alphamap_pars_fragment: alphamap_pars_fragment, - alphatest_fragment: alphatest_fragment, - aomap_fragment: aomap_fragment, - aomap_pars_fragment: aomap_pars_fragment, - begin_vertex: begin_vertex, - beginnormal_vertex: beginnormal_vertex, - bsdfs: bsdfs, - bumpmap_pars_fragment: bumpmap_pars_fragment, - clipping_planes_fragment: clipping_planes_fragment, - clipping_planes_pars_fragment: clipping_planes_pars_fragment, - clipping_planes_pars_vertex: clipping_planes_pars_vertex, - clipping_planes_vertex: clipping_planes_vertex, - color_fragment: color_fragment, - color_pars_fragment: color_pars_fragment, - color_pars_vertex: color_pars_vertex, - color_vertex: color_vertex, - common: common, - cube_uv_reflection_fragment: cube_uv_reflection_fragment, - defaultnormal_vertex: defaultnormal_vertex, - displacementmap_pars_vertex: displacementmap_pars_vertex, - displacementmap_vertex: displacementmap_vertex, - emissivemap_fragment: emissivemap_fragment, - emissivemap_pars_fragment: emissivemap_pars_fragment, - encodings_fragment: encodings_fragment, - encodings_pars_fragment: encodings_pars_fragment, - envmap_fragment: envmap_fragment, - envmap_pars_fragment: envmap_pars_fragment, - envmap_pars_vertex: envmap_pars_vertex, - envmap_physical_pars_fragment: envmap_physical_pars_fragment, - envmap_vertex: envmap_vertex, - fog_vertex: fog_vertex, - fog_pars_vertex: fog_pars_vertex, - fog_fragment: fog_fragment, - fog_pars_fragment: fog_pars_fragment, - gradientmap_pars_fragment: gradientmap_pars_fragment, - lightmap_fragment: lightmap_fragment, - lightmap_pars_fragment: lightmap_pars_fragment, - lights_lambert_vertex: lights_lambert_vertex, - lights_pars_begin: lights_pars_begin, - lights_phong_fragment: lights_phong_fragment, - lights_phong_pars_fragment: lights_phong_pars_fragment, - lights_physical_fragment: lights_physical_fragment, - lights_physical_pars_fragment: lights_physical_pars_fragment, - lights_fragment_begin: lights_fragment_begin, - lights_fragment_maps: lights_fragment_maps, - lights_fragment_end: lights_fragment_end, - logdepthbuf_fragment: logdepthbuf_fragment, - logdepthbuf_pars_fragment: logdepthbuf_pars_fragment, - logdepthbuf_pars_vertex: logdepthbuf_pars_vertex, - logdepthbuf_vertex: logdepthbuf_vertex, - map_fragment: map_fragment, - map_pars_fragment: map_pars_fragment, - map_particle_fragment: map_particle_fragment, - map_particle_pars_fragment: map_particle_pars_fragment, - metalnessmap_fragment: metalnessmap_fragment, - metalnessmap_pars_fragment: metalnessmap_pars_fragment, - morphnormal_vertex: morphnormal_vertex, - morphtarget_pars_vertex: morphtarget_pars_vertex, - morphtarget_vertex: morphtarget_vertex, - normal_fragment_begin: normal_fragment_begin, - normal_fragment_maps: normal_fragment_maps, - normalmap_pars_fragment: normalmap_pars_fragment, - packing: packing, - premultiplied_alpha_fragment: premultiplied_alpha_fragment, - project_vertex: project_vertex, - dithering_fragment: dithering_fragment, - dithering_pars_fragment: dithering_pars_fragment, - roughnessmap_fragment: roughnessmap_fragment, - roughnessmap_pars_fragment: roughnessmap_pars_fragment, - shadowmap_pars_fragment: shadowmap_pars_fragment, - shadowmap_pars_vertex: shadowmap_pars_vertex, - shadowmap_vertex: shadowmap_vertex, - shadowmask_pars_fragment: shadowmask_pars_fragment, - skinbase_vertex: skinbase_vertex, - skinning_pars_vertex: skinning_pars_vertex, - skinning_vertex: skinning_vertex, - skinnormal_vertex: skinnormal_vertex, - specularmap_fragment: specularmap_fragment, - specularmap_pars_fragment: specularmap_pars_fragment, - tonemapping_fragment: tonemapping_fragment, - tonemapping_pars_fragment: tonemapping_pars_fragment, - uv_pars_fragment: uv_pars_fragment, - uv_pars_vertex: uv_pars_vertex, - uv_vertex: uv_vertex, - uv2_pars_fragment: uv2_pars_fragment, - uv2_pars_vertex: uv2_pars_vertex, - uv2_vertex: uv2_vertex, - worldpos_vertex: worldpos_vertex, - - background_frag: background_frag, - background_vert: background_vert, - cube_frag: cube_frag, - cube_vert: cube_vert, - depth_frag: depth_frag, - depth_vert: depth_vert, - distanceRGBA_frag: distanceRGBA_frag, - distanceRGBA_vert: distanceRGBA_vert, - equirect_frag: equirect_frag, - equirect_vert: equirect_vert, - linedashed_frag: linedashed_frag, - linedashed_vert: linedashed_vert, - meshbasic_frag: meshbasic_frag, - meshbasic_vert: meshbasic_vert, - meshlambert_frag: meshlambert_frag, - meshlambert_vert: meshlambert_vert, - meshmatcap_frag: meshmatcap_frag, - meshmatcap_vert: meshmatcap_vert, - meshphong_frag: meshphong_frag, - meshphong_vert: meshphong_vert, - meshphysical_frag: meshphysical_frag, - meshphysical_vert: meshphysical_vert, - normal_frag: normal_frag, - normal_vert: normal_vert, - points_frag: points_frag, - points_vert: points_vert, - shadow_frag: shadow_frag, - shadow_vert: shadow_vert, - sprite_frag: sprite_frag, - sprite_vert: sprite_vert - }; - - /** - * Uniform Utilities - */ - - function cloneUniforms( src ) { - - var dst = {}; - - for ( var u in src ) { - - dst[ u ] = {}; - - for ( var p in src[ u ] ) { - - var property = src[ u ][ p ]; - - if ( property && ( property.isColor || - property.isMatrix3 || property.isMatrix4 || - property.isVector2 || property.isVector3 || property.isVector4 || - property.isTexture ) ) { - - dst[ u ][ p ] = property.clone(); - - } else if ( Array.isArray( property ) ) { - - dst[ u ][ p ] = property.slice(); - - } else { - - dst[ u ][ p ] = property; - - } - - } - - } - - return dst; - - } - - function mergeUniforms( uniforms ) { - - var merged = {}; - - for ( var u = 0; u < uniforms.length; u ++ ) { - - var tmp = cloneUniforms( uniforms[ u ] ); - - for ( var p in tmp ) { - - merged[ p ] = tmp[ p ]; - - } - - } - - return merged; - - } - - // Legacy - - var UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - var ColorKeywords = { 'aliceblue': 0xF0F8FF, 'antiquewhite': 0xFAEBD7, 'aqua': 0x00FFFF, 'aquamarine': 0x7FFFD4, 'azure': 0xF0FFFF, - 'beige': 0xF5F5DC, 'bisque': 0xFFE4C4, 'black': 0x000000, 'blanchedalmond': 0xFFEBCD, 'blue': 0x0000FF, 'blueviolet': 0x8A2BE2, - 'brown': 0xA52A2A, 'burlywood': 0xDEB887, 'cadetblue': 0x5F9EA0, 'chartreuse': 0x7FFF00, 'chocolate': 0xD2691E, 'coral': 0xFF7F50, - 'cornflowerblue': 0x6495ED, 'cornsilk': 0xFFF8DC, 'crimson': 0xDC143C, 'cyan': 0x00FFFF, 'darkblue': 0x00008B, 'darkcyan': 0x008B8B, - 'darkgoldenrod': 0xB8860B, 'darkgray': 0xA9A9A9, 'darkgreen': 0x006400, 'darkgrey': 0xA9A9A9, 'darkkhaki': 0xBDB76B, 'darkmagenta': 0x8B008B, - 'darkolivegreen': 0x556B2F, 'darkorange': 0xFF8C00, 'darkorchid': 0x9932CC, 'darkred': 0x8B0000, 'darksalmon': 0xE9967A, 'darkseagreen': 0x8FBC8F, - 'darkslateblue': 0x483D8B, 'darkslategray': 0x2F4F4F, 'darkslategrey': 0x2F4F4F, 'darkturquoise': 0x00CED1, 'darkviolet': 0x9400D3, - 'deeppink': 0xFF1493, 'deepskyblue': 0x00BFFF, 'dimgray': 0x696969, 'dimgrey': 0x696969, 'dodgerblue': 0x1E90FF, 'firebrick': 0xB22222, - 'floralwhite': 0xFFFAF0, 'forestgreen': 0x228B22, 'fuchsia': 0xFF00FF, 'gainsboro': 0xDCDCDC, 'ghostwhite': 0xF8F8FF, 'gold': 0xFFD700, - 'goldenrod': 0xDAA520, 'gray': 0x808080, 'green': 0x008000, 'greenyellow': 0xADFF2F, 'grey': 0x808080, 'honeydew': 0xF0FFF0, 'hotpink': 0xFF69B4, - 'indianred': 0xCD5C5C, 'indigo': 0x4B0082, 'ivory': 0xFFFFF0, 'khaki': 0xF0E68C, 'lavender': 0xE6E6FA, 'lavenderblush': 0xFFF0F5, 'lawngreen': 0x7CFC00, - 'lemonchiffon': 0xFFFACD, 'lightblue': 0xADD8E6, 'lightcoral': 0xF08080, 'lightcyan': 0xE0FFFF, 'lightgoldenrodyellow': 0xFAFAD2, 'lightgray': 0xD3D3D3, - 'lightgreen': 0x90EE90, 'lightgrey': 0xD3D3D3, 'lightpink': 0xFFB6C1, 'lightsalmon': 0xFFA07A, 'lightseagreen': 0x20B2AA, 'lightskyblue': 0x87CEFA, - 'lightslategray': 0x778899, 'lightslategrey': 0x778899, 'lightsteelblue': 0xB0C4DE, 'lightyellow': 0xFFFFE0, 'lime': 0x00FF00, 'limegreen': 0x32CD32, - 'linen': 0xFAF0E6, 'magenta': 0xFF00FF, 'maroon': 0x800000, 'mediumaquamarine': 0x66CDAA, 'mediumblue': 0x0000CD, 'mediumorchid': 0xBA55D3, - 'mediumpurple': 0x9370DB, 'mediumseagreen': 0x3CB371, 'mediumslateblue': 0x7B68EE, 'mediumspringgreen': 0x00FA9A, 'mediumturquoise': 0x48D1CC, - 'mediumvioletred': 0xC71585, 'midnightblue': 0x191970, 'mintcream': 0xF5FFFA, 'mistyrose': 0xFFE4E1, 'moccasin': 0xFFE4B5, 'navajowhite': 0xFFDEAD, - 'navy': 0x000080, 'oldlace': 0xFDF5E6, 'olive': 0x808000, 'olivedrab': 0x6B8E23, 'orange': 0xFFA500, 'orangered': 0xFF4500, 'orchid': 0xDA70D6, - 'palegoldenrod': 0xEEE8AA, 'palegreen': 0x98FB98, 'paleturquoise': 0xAFEEEE, 'palevioletred': 0xDB7093, 'papayawhip': 0xFFEFD5, 'peachpuff': 0xFFDAB9, - 'peru': 0xCD853F, 'pink': 0xFFC0CB, 'plum': 0xDDA0DD, 'powderblue': 0xB0E0E6, 'purple': 0x800080, 'rebeccapurple': 0x663399, 'red': 0xFF0000, 'rosybrown': 0xBC8F8F, - 'royalblue': 0x4169E1, 'saddlebrown': 0x8B4513, 'salmon': 0xFA8072, 'sandybrown': 0xF4A460, 'seagreen': 0x2E8B57, 'seashell': 0xFFF5EE, - 'sienna': 0xA0522D, 'silver': 0xC0C0C0, 'skyblue': 0x87CEEB, 'slateblue': 0x6A5ACD, 'slategray': 0x708090, 'slategrey': 0x708090, 'snow': 0xFFFAFA, - 'springgreen': 0x00FF7F, 'steelblue': 0x4682B4, 'tan': 0xD2B48C, 'teal': 0x008080, 'thistle': 0xD8BFD8, 'tomato': 0xFF6347, 'turquoise': 0x40E0D0, - 'violet': 0xEE82EE, 'wheat': 0xF5DEB3, 'white': 0xFFFFFF, 'whitesmoke': 0xF5F5F5, 'yellow': 0xFFFF00, 'yellowgreen': 0x9ACD32 }; - - function Color( r, g, b ) { - - if ( g === undefined && b === undefined ) { - - // r is THREE.Color, hex or string - return this.set( r ); - - } - - return this.setRGB( r, g, b ); - - } - - Object.assign( Color.prototype, { - - isColor: true, - - r: 1, g: 1, b: 1, - - set: function ( value ) { - - if ( value && value.isColor ) { - - this.copy( value ); - - } else if ( typeof value === 'number' ) { - - this.setHex( value ); - - } else if ( typeof value === 'string' ) { - - this.setStyle( value ); - - } - - return this; - - }, - - setScalar: function ( scalar ) { - - this.r = scalar; - this.g = scalar; - this.b = scalar; - - return this; - - }, - - setHex: function ( hex ) { - - hex = Math.floor( hex ); - - this.r = ( hex >> 16 & 255 ) / 255; - this.g = ( hex >> 8 & 255 ) / 255; - this.b = ( hex & 255 ) / 255; - - return this; - - }, - - setRGB: function ( r, g, b ) { - - this.r = r; - this.g = g; - this.b = b; - - return this; - - }, - - setHSL: function () { - - function hue2rgb( p, q, t ) { - - if ( t < 0 ) t += 1; - if ( t > 1 ) t -= 1; - if ( t < 1 / 6 ) return p + ( q - p ) * 6 * t; - if ( t < 1 / 2 ) return q; - if ( t < 2 / 3 ) return p + ( q - p ) * 6 * ( 2 / 3 - t ); - return p; - - } - - return function setHSL( h, s, l ) { - - // h,s,l ranges are in 0.0 - 1.0 - h = _Math.euclideanModulo( h, 1 ); - s = _Math.clamp( s, 0, 1 ); - l = _Math.clamp( l, 0, 1 ); - - if ( s === 0 ) { - - this.r = this.g = this.b = l; - - } else { - - var p = l <= 0.5 ? l * ( 1 + s ) : l + s - ( l * s ); - var q = ( 2 * l ) - p; - - this.r = hue2rgb( q, p, h + 1 / 3 ); - this.g = hue2rgb( q, p, h ); - this.b = hue2rgb( q, p, h - 1 / 3 ); - - } - - return this; - - }; - - }(), - - setStyle: function ( style ) { - - function handleAlpha( string ) { - - if ( string === undefined ) return; - - if ( parseFloat( string ) < 1 ) { - - console.warn( 'THREE.Color: Alpha component of ' + style + ' will be ignored.' ); - - } - - } - - - var m; - - if ( m = /^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec( style ) ) { - - // rgb / hsl - - var color; - var name = m[ 1 ]; - var components = m[ 2 ]; - - switch ( name ) { - - case 'rgb': - case 'rgba': - - if ( color = /^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { - - // rgb(255,0,0) rgba(255,0,0,0.5) - this.r = Math.min( 255, parseInt( color[ 1 ], 10 ) ) / 255; - this.g = Math.min( 255, parseInt( color[ 2 ], 10 ) ) / 255; - this.b = Math.min( 255, parseInt( color[ 3 ], 10 ) ) / 255; - - handleAlpha( color[ 5 ] ); - - return this; - - } - - if ( color = /^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { - - // rgb(100%,0%,0%) rgba(100%,0%,0%,0.5) - this.r = Math.min( 100, parseInt( color[ 1 ], 10 ) ) / 100; - this.g = Math.min( 100, parseInt( color[ 2 ], 10 ) ) / 100; - this.b = Math.min( 100, parseInt( color[ 3 ], 10 ) ) / 100; - - handleAlpha( color[ 5 ] ); - - return this; - - } - - break; - - case 'hsl': - case 'hsla': - - if ( color = /^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec( components ) ) { - - // hsl(120,50%,50%) hsla(120,50%,50%,0.5) - var h = parseFloat( color[ 1 ] ) / 360; - var s = parseInt( color[ 2 ], 10 ) / 100; - var l = parseInt( color[ 3 ], 10 ) / 100; - - handleAlpha( color[ 5 ] ); - - return this.setHSL( h, s, l ); - - } - - break; - - } - - } else if ( m = /^\#([A-Fa-f0-9]+)$/.exec( style ) ) { - - // hex color - - var hex = m[ 1 ]; - var size = hex.length; - - if ( size === 3 ) { - - // #ff0 - this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 0 ), 16 ) / 255; - this.g = parseInt( hex.charAt( 1 ) + hex.charAt( 1 ), 16 ) / 255; - this.b = parseInt( hex.charAt( 2 ) + hex.charAt( 2 ), 16 ) / 255; - - return this; - - } else if ( size === 6 ) { - - // #ff0000 - this.r = parseInt( hex.charAt( 0 ) + hex.charAt( 1 ), 16 ) / 255; - this.g = parseInt( hex.charAt( 2 ) + hex.charAt( 3 ), 16 ) / 255; - this.b = parseInt( hex.charAt( 4 ) + hex.charAt( 5 ), 16 ) / 255; - - return this; - - } - - } - - if ( style && style.length > 0 ) { - - // color keywords - var hex = ColorKeywords[ style ]; - - if ( hex !== undefined ) { - - // red - this.setHex( hex ); - - } else { - - // unknown color - console.warn( 'THREE.Color: Unknown color ' + style ); - - } - - } - - return this; - - }, - - clone: function () { - - return new this.constructor( this.r, this.g, this.b ); - - }, - - copy: function ( color ) { - - this.r = color.r; - this.g = color.g; - this.b = color.b; - - return this; - - }, - - copyGammaToLinear: function ( color, gammaFactor ) { - - if ( gammaFactor === undefined ) gammaFactor = 2.0; - - this.r = Math.pow( color.r, gammaFactor ); - this.g = Math.pow( color.g, gammaFactor ); - this.b = Math.pow( color.b, gammaFactor ); - - return this; - - }, - - copyLinearToGamma: function ( color, gammaFactor ) { - - if ( gammaFactor === undefined ) gammaFactor = 2.0; - - var safeInverse = ( gammaFactor > 0 ) ? ( 1.0 / gammaFactor ) : 1.0; - - this.r = Math.pow( color.r, safeInverse ); - this.g = Math.pow( color.g, safeInverse ); - this.b = Math.pow( color.b, safeInverse ); - - return this; - - }, - - convertGammaToLinear: function ( gammaFactor ) { - - this.copyGammaToLinear( this, gammaFactor ); - - return this; - - }, - - convertLinearToGamma: function ( gammaFactor ) { - - this.copyLinearToGamma( this, gammaFactor ); - - return this; - - }, - - copySRGBToLinear: function () { - - function SRGBToLinear( c ) { - - return ( c < 0.04045 ) ? c * 0.0773993808 : Math.pow( c * 0.9478672986 + 0.0521327014, 2.4 ); - - } - - return function copySRGBToLinear( color ) { - - this.r = SRGBToLinear( color.r ); - this.g = SRGBToLinear( color.g ); - this.b = SRGBToLinear( color.b ); - - return this; - - }; - - }(), - - copyLinearToSRGB: function () { - - function LinearToSRGB( c ) { - - return ( c < 0.0031308 ) ? c * 12.92 : 1.055 * ( Math.pow( c, 0.41666 ) ) - 0.055; - - } - - return function copyLinearToSRGB( color ) { - - this.r = LinearToSRGB( color.r ); - this.g = LinearToSRGB( color.g ); - this.b = LinearToSRGB( color.b ); - - return this; - - }; - - }(), - - convertSRGBToLinear: function () { - - this.copySRGBToLinear( this ); - - return this; - - }, - - convertLinearToSRGB: function () { - - this.copyLinearToSRGB( this ); - - return this; - - }, - - getHex: function () { - - return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0; - - }, - - getHexString: function () { - - return ( '000000' + this.getHex().toString( 16 ) ).slice( - 6 ); - - }, - - getHSL: function ( target ) { - - // h,s,l ranges are in 0.0 - 1.0 - - if ( target === undefined ) { - - console.warn( 'THREE.Color: .getHSL() target is now required' ); - target = { h: 0, s: 0, l: 0 }; - - } - - var r = this.r, g = this.g, b = this.b; - - var max = Math.max( r, g, b ); - var min = Math.min( r, g, b ); - - var hue, saturation; - var lightness = ( min + max ) / 2.0; - - if ( min === max ) { - - hue = 0; - saturation = 0; - - } else { - - var delta = max - min; - - saturation = lightness <= 0.5 ? delta / ( max + min ) : delta / ( 2 - max - min ); - - switch ( max ) { - - case r: hue = ( g - b ) / delta + ( g < b ? 6 : 0 ); break; - case g: hue = ( b - r ) / delta + 2; break; - case b: hue = ( r - g ) / delta + 4; break; - - } - - hue /= 6; - - } - - target.h = hue; - target.s = saturation; - target.l = lightness; - - return target; - - }, - - getStyle: function () { - - return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')'; - - }, - - offsetHSL: function () { - - var hsl = {}; - - return function ( h, s, l ) { - - this.getHSL( hsl ); - - hsl.h += h; hsl.s += s; hsl.l += l; - - this.setHSL( hsl.h, hsl.s, hsl.l ); - - return this; - - }; - - }(), - - add: function ( color ) { - - this.r += color.r; - this.g += color.g; - this.b += color.b; - - return this; - - }, - - addColors: function ( color1, color2 ) { - - this.r = color1.r + color2.r; - this.g = color1.g + color2.g; - this.b = color1.b + color2.b; - - return this; - - }, - - addScalar: function ( s ) { - - this.r += s; - this.g += s; - this.b += s; - - return this; - - }, - - sub: function ( color ) { - - this.r = Math.max( 0, this.r - color.r ); - this.g = Math.max( 0, this.g - color.g ); - this.b = Math.max( 0, this.b - color.b ); - - return this; - - }, - - multiply: function ( color ) { - - this.r *= color.r; - this.g *= color.g; - this.b *= color.b; - - return this; - - }, - - multiplyScalar: function ( s ) { - - this.r *= s; - this.g *= s; - this.b *= s; - - return this; - - }, - - lerp: function ( color, alpha ) { - - this.r += ( color.r - this.r ) * alpha; - this.g += ( color.g - this.g ) * alpha; - this.b += ( color.b - this.b ) * alpha; - - return this; - - }, - - lerpHSL: function () { - - var hslA = { h: 0, s: 0, l: 0 }; - var hslB = { h: 0, s: 0, l: 0 }; - - return function lerpHSL( color, alpha ) { - - this.getHSL( hslA ); - color.getHSL( hslB ); - - var h = _Math.lerp( hslA.h, hslB.h, alpha ); - var s = _Math.lerp( hslA.s, hslB.s, alpha ); - var l = _Math.lerp( hslA.l, hslB.l, alpha ); - - this.setHSL( h, s, l ); - - return this; - - }; - - }(), - - equals: function ( c ) { - - return ( c.r === this.r ) && ( c.g === this.g ) && ( c.b === this.b ); - - }, - - fromArray: function ( array, offset ) { - - if ( offset === undefined ) offset = 0; - - this.r = array[ offset ]; - this.g = array[ offset + 1 ]; - this.b = array[ offset + 2 ]; - - return this; - - }, - - toArray: function ( array, offset ) { - - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; - - array[ offset ] = this.r; - array[ offset + 1 ] = this.g; - array[ offset + 2 ] = this.b; - - return array; - - }, - - toJSON: function () { - - return this.getHex(); - - } - - } ); - - /** - * Uniforms library for shared webgl shaders - */ - - var UniformsLib = { - - common: { - - diffuse: { value: new Color( 0xeeeeee ) }, - opacity: { value: 1.0 }, - - map: { value: null }, - uvTransform: { value: new Matrix3() }, - - alphaMap: { value: null }, - - }, - - specularmap: { - - specularMap: { value: null }, - - }, - - envmap: { - - envMap: { value: null }, - flipEnvMap: { value: - 1 }, - reflectivity: { value: 1.0 }, - refractionRatio: { value: 0.98 }, - maxMipLevel: { value: 0 } - - }, - - aomap: { - - aoMap: { value: null }, - aoMapIntensity: { value: 1 } - - }, - - lightmap: { - - lightMap: { value: null }, - lightMapIntensity: { value: 1 } - - }, - - emissivemap: { - - emissiveMap: { value: null } - - }, - - bumpmap: { - - bumpMap: { value: null }, - bumpScale: { value: 1 } - - }, - - normalmap: { - - normalMap: { value: null }, - normalScale: { value: new Vector2( 1, 1 ) } - - }, - - displacementmap: { - - displacementMap: { value: null }, - displacementScale: { value: 1 }, - displacementBias: { value: 0 } - - }, - - roughnessmap: { - - roughnessMap: { value: null } - - }, - - metalnessmap: { - - metalnessMap: { value: null } - - }, - - gradientmap: { - - gradientMap: { value: null } - - }, - - fog: { - - fogDensity: { value: 0.00025 }, - fogNear: { value: 1 }, - fogFar: { value: 2000 }, - fogColor: { value: new Color( 0xffffff ) } - - }, - - lights: { - - ambientLightColor: { value: [] }, - - directionalLights: { value: [], properties: { - direction: {}, - color: {}, - - shadow: {}, - shadowBias: {}, - shadowRadius: {}, - shadowMapSize: {} - } }, - - directionalShadowMap: { value: [] }, - directionalShadowMatrix: { value: [] }, - - spotLights: { value: [], properties: { - color: {}, - position: {}, - direction: {}, - distance: {}, - coneCos: {}, - penumbraCos: {}, - decay: {}, - - shadow: {}, - shadowBias: {}, - shadowRadius: {}, - shadowMapSize: {} - } }, - - spotShadowMap: { value: [] }, - spotShadowMatrix: { value: [] }, - - pointLights: { value: [], properties: { - color: {}, - position: {}, - decay: {}, - distance: {}, - - shadow: {}, - shadowBias: {}, - shadowRadius: {}, - shadowMapSize: {}, - shadowCameraNear: {}, - shadowCameraFar: {} - } }, - - pointShadowMap: { value: [] }, - pointShadowMatrix: { value: [] }, - - hemisphereLights: { value: [], properties: { - direction: {}, - skyColor: {}, - groundColor: {} - } }, - - // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src - rectAreaLights: { value: [], properties: { - color: {}, - position: {}, - width: {}, - height: {} - } } - - }, - - points: { - - diffuse: { value: new Color( 0xeeeeee ) }, - opacity: { value: 1.0 }, - size: { value: 1.0 }, - scale: { value: 1.0 }, - map: { value: null }, - uvTransform: { value: new Matrix3() } - - }, - - sprite: { - - diffuse: { value: new Color( 0xeeeeee ) }, - opacity: { value: 1.0 }, - center: { value: new Vector2( 0.5, 0.5 ) }, - rotation: { value: 0.0 }, - map: { value: null }, - uvTransform: { value: new Matrix3() } - - } - - }; - - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - * @author mikael emtinger / http://gomo.se/ - */ - - var ShaderLib = { - - basic: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.specularmap, - UniformsLib.envmap, - UniformsLib.aomap, - UniformsLib.lightmap, - UniformsLib.fog - ] ), - - vertexShader: ShaderChunk.meshbasic_vert, - fragmentShader: ShaderChunk.meshbasic_frag - - }, - - lambert: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.specularmap, - UniformsLib.envmap, - UniformsLib.aomap, - UniformsLib.lightmap, - UniformsLib.emissivemap, - UniformsLib.fog, - UniformsLib.lights, - { - emissive: { value: new Color( 0x000000 ) } - } - ] ), - - vertexShader: ShaderChunk.meshlambert_vert, - fragmentShader: ShaderChunk.meshlambert_frag - - }, - - phong: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.specularmap, - UniformsLib.envmap, - UniformsLib.aomap, - UniformsLib.lightmap, - UniformsLib.emissivemap, - UniformsLib.bumpmap, - UniformsLib.normalmap, - UniformsLib.displacementmap, - UniformsLib.gradientmap, - UniformsLib.fog, - UniformsLib.lights, - { - emissive: { value: new Color( 0x000000 ) }, - specular: { value: new Color( 0x111111 ) }, - shininess: { value: 30 } - } - ] ), - - vertexShader: ShaderChunk.meshphong_vert, - fragmentShader: ShaderChunk.meshphong_frag - - }, - - standard: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.envmap, - UniformsLib.aomap, - UniformsLib.lightmap, - UniformsLib.emissivemap, - UniformsLib.bumpmap, - UniformsLib.normalmap, - UniformsLib.displacementmap, - UniformsLib.roughnessmap, - UniformsLib.metalnessmap, - UniformsLib.fog, - UniformsLib.lights, - { - emissive: { value: new Color( 0x000000 ) }, - roughness: { value: 0.5 }, - metalness: { value: 0.5 }, - envMapIntensity: { value: 1 } // temporary - } - ] ), - - vertexShader: ShaderChunk.meshphysical_vert, - fragmentShader: ShaderChunk.meshphysical_frag - - }, - - matcap: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.bumpmap, - UniformsLib.normalmap, - UniformsLib.displacementmap, - UniformsLib.fog, - { - matcap: { value: null } - } - ] ), - - vertexShader: ShaderChunk.meshmatcap_vert, - fragmentShader: ShaderChunk.meshmatcap_frag - - }, - - points: { - - uniforms: mergeUniforms( [ - UniformsLib.points, - UniformsLib.fog - ] ), - - vertexShader: ShaderChunk.points_vert, - fragmentShader: ShaderChunk.points_frag - - }, - - dashed: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.fog, - { - scale: { value: 1 }, - dashSize: { value: 1 }, - totalSize: { value: 2 } - } - ] ), - - vertexShader: ShaderChunk.linedashed_vert, - fragmentShader: ShaderChunk.linedashed_frag - - }, - - depth: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.displacementmap - ] ), - - vertexShader: ShaderChunk.depth_vert, - fragmentShader: ShaderChunk.depth_frag - - }, - - normal: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.bumpmap, - UniformsLib.normalmap, - UniformsLib.displacementmap, - { - opacity: { value: 1.0 } - } - ] ), - - vertexShader: ShaderChunk.normal_vert, - fragmentShader: ShaderChunk.normal_frag - - }, - - sprite: { - - uniforms: mergeUniforms( [ - UniformsLib.sprite, - UniformsLib.fog - ] ), - - vertexShader: ShaderChunk.sprite_vert, - fragmentShader: ShaderChunk.sprite_frag - - }, - - background: { - - uniforms: { - uvTransform: { value: new Matrix3() }, - t2D: { value: null }, - }, - - vertexShader: ShaderChunk.background_vert, - fragmentShader: ShaderChunk.background_frag - - }, - /* ------------------------------------------------------------------------- - // Cube map shader - ------------------------------------------------------------------------- */ - - cube: { - - uniforms: { - tCube: { value: null }, - tFlip: { value: - 1 }, - opacity: { value: 1.0 } - }, - - vertexShader: ShaderChunk.cube_vert, - fragmentShader: ShaderChunk.cube_frag - - }, - - equirect: { - - uniforms: { - tEquirect: { value: null }, - }, - - vertexShader: ShaderChunk.equirect_vert, - fragmentShader: ShaderChunk.equirect_frag - - }, - - distanceRGBA: { - - uniforms: mergeUniforms( [ - UniformsLib.common, - UniformsLib.displacementmap, - { - referencePosition: { value: new Vector3() }, - nearDistance: { value: 1 }, - farDistance: { value: 1000 } - } - ] ), - - vertexShader: ShaderChunk.distanceRGBA_vert, - fragmentShader: ShaderChunk.distanceRGBA_frag - - }, - - shadow: { - - uniforms: mergeUniforms( [ - UniformsLib.lights, - UniformsLib.fog, - { - color: { value: new Color( 0x00000 ) }, - opacity: { value: 1.0 } - }, - ] ), - - vertexShader: ShaderChunk.shadow_vert, - fragmentShader: ShaderChunk.shadow_frag - - } - - }; - - ShaderLib.physical = { - - uniforms: mergeUniforms( [ - ShaderLib.standard.uniforms, - { - clearCoat: { value: 0 }, - clearCoatRoughness: { value: 0 } - } - ] ), - - vertexShader: ShaderChunk.meshphysical_vert, - fragmentShader: ShaderChunk.meshphysical_frag - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLAnimation() { - - var context = null; - var isAnimating = false; - var animationLoop = null; - - function onAnimationFrame( time, frame ) { - - if ( isAnimating === false ) return; - - animationLoop( time, frame ); - - context.requestAnimationFrame( onAnimationFrame ); - - } - - return { - - start: function () { - - if ( isAnimating === true ) return; - if ( animationLoop === null ) return; - - context.requestAnimationFrame( onAnimationFrame ); - - isAnimating = true; - - }, - - stop: function () { - - isAnimating = false; - - }, - - setAnimationLoop: function ( callback ) { - - animationLoop = callback; - - }, - - setContext: function ( value ) { - - context = value; - - } - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLAttributes( gl ) { - - var buffers = new WeakMap(); - - function createBuffer( attribute, bufferType ) { - - var array = attribute.array; - var usage = attribute.dynamic ? 35048 : 35044; - - var buffer = gl.createBuffer(); - - gl.bindBuffer( bufferType, buffer ); - gl.bufferData( bufferType, array, usage ); - - attribute.onUploadCallback(); - - var type = 5126; - - if ( array instanceof Float32Array ) { - - type = 5126; - - } else if ( array instanceof Float64Array ) { - - console.warn( 'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.' ); - - } else if ( array instanceof Uint16Array ) { - - type = 5123; - - } else if ( array instanceof Int16Array ) { - - type = 5122; - - } else if ( array instanceof Uint32Array ) { - - type = 5125; - - } else if ( array instanceof Int32Array ) { - - type = 5124; - - } else if ( array instanceof Int8Array ) { - - type = 5120; - - } else if ( array instanceof Uint8Array ) { - - type = 5121; - - } - - return { - buffer: buffer, - type: type, - bytesPerElement: array.BYTES_PER_ELEMENT, - version: attribute.version - }; - - } - - function updateBuffer( buffer, attribute, bufferType ) { - - var array = attribute.array; - var updateRange = attribute.updateRange; - - gl.bindBuffer( bufferType, buffer ); - - if ( attribute.dynamic === false ) { - - gl.bufferData( bufferType, array, 35044 ); - - } else if ( updateRange.count === - 1 ) { - - // Not using update ranges - - gl.bufferSubData( bufferType, 0, array ); - - } else if ( updateRange.count === 0 ) { - - console.error( 'THREE.WebGLObjects.updateBuffer: dynamic THREE.BufferAttribute marked as needsUpdate but updateRange.count is 0, ensure you are using set methods or updating manually.' ); - - } else { - - gl.bufferSubData( bufferType, updateRange.offset * array.BYTES_PER_ELEMENT, - array.subarray( updateRange.offset, updateRange.offset + updateRange.count ) ); - - updateRange.count = - 1; // reset range - - } - - } - - // - - function get( attribute ) { - - if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; - - return buffers.get( attribute ); - - } - - function remove( attribute ) { - - if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; - - var data = buffers.get( attribute ); - - if ( data ) { - - gl.deleteBuffer( data.buffer ); - - buffers.delete( attribute ); - - } - - } - - function update( attribute, bufferType ) { - - if ( attribute.isInterleavedBufferAttribute ) attribute = attribute.data; - - var data = buffers.get( attribute ); - - if ( data === undefined ) { - - buffers.set( attribute, createBuffer( attribute, bufferType ) ); - - } else if ( data.version < attribute.version ) { - - updateBuffer( data.buffer, attribute, bufferType ); - - data.version = attribute.version; - - } - - } - - return { - - get: get, - remove: remove, - update: update - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ - - function Face3( a, b, c, normal, color, materialIndex ) { - - this.a = a; - this.b = b; - this.c = c; - - this.normal = ( normal && normal.isVector3 ) ? normal : new Vector3(); - this.vertexNormals = Array.isArray( normal ) ? normal : []; - - this.color = ( color && color.isColor ) ? color : new Color(); - this.vertexColors = Array.isArray( color ) ? color : []; - - this.materialIndex = materialIndex !== undefined ? materialIndex : 0; - - } - - Object.assign( Face3.prototype, { - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( source ) { - - this.a = source.a; - this.b = source.b; - this.c = source.c; - - this.normal.copy( source.normal ); - this.color.copy( source.color ); - - this.materialIndex = source.materialIndex; - - for ( var i = 0, il = source.vertexNormals.length; i < il; i ++ ) { - - this.vertexNormals[ i ] = source.vertexNormals[ i ].clone(); - - } - - for ( var i = 0, il = source.vertexColors.length; i < il; i ++ ) { - - this.vertexColors[ i ] = source.vertexColors[ i ].clone(); - - } - - return this; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - * @author bhouston / http://clara.io - */ - - function Euler( x, y, z, order ) { - - this._x = x || 0; - this._y = y || 0; - this._z = z || 0; - this._order = order || Euler.DefaultOrder; - - } - - Euler.RotationOrders = [ 'XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX' ]; - - Euler.DefaultOrder = 'XYZ'; - - Object.defineProperties( Euler.prototype, { - - x: { - - get: function () { - - return this._x; - - }, - - set: function ( value ) { - - this._x = value; - this.onChangeCallback(); - - } - - }, - - y: { - - get: function () { - - return this._y; - - }, - - set: function ( value ) { - - this._y = value; - this.onChangeCallback(); - - } - - }, - - z: { - - get: function () { - - return this._z; - - }, - - set: function ( value ) { - - this._z = value; - this.onChangeCallback(); - - } - - }, - - order: { - - get: function () { - - return this._order; - - }, - - set: function ( value ) { - - this._order = value; - this.onChangeCallback(); - - } - - } - - } ); - - Object.assign( Euler.prototype, { - - isEuler: true, - - set: function ( x, y, z, order ) { - - this._x = x; - this._y = y; - this._z = z; - this._order = order || this._order; - - this.onChangeCallback(); - - return this; - - }, - - clone: function () { - - return new this.constructor( this._x, this._y, this._z, this._order ); - - }, - - copy: function ( euler ) { - - this._x = euler._x; - this._y = euler._y; - this._z = euler._z; - this._order = euler._order; - - this.onChangeCallback(); - - return this; - - }, - - setFromRotationMatrix: function ( m, order, update ) { - - var clamp = _Math.clamp; - - // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) - - var te = m.elements; - var m11 = te[ 0 ], m12 = te[ 4 ], m13 = te[ 8 ]; - var m21 = te[ 1 ], m22 = te[ 5 ], m23 = te[ 9 ]; - var m31 = te[ 2 ], m32 = te[ 6 ], m33 = te[ 10 ]; - - order = order || this._order; - - if ( order === 'XYZ' ) { - - this._y = Math.asin( clamp( m13, - 1, 1 ) ); - - if ( Math.abs( m13 ) < 0.99999 ) { - - this._x = Math.atan2( - m23, m33 ); - this._z = Math.atan2( - m12, m11 ); - - } else { - - this._x = Math.atan2( m32, m22 ); - this._z = 0; - - } - - } else if ( order === 'YXZ' ) { - - this._x = Math.asin( - clamp( m23, - 1, 1 ) ); - - if ( Math.abs( m23 ) < 0.99999 ) { - - this._y = Math.atan2( m13, m33 ); - this._z = Math.atan2( m21, m22 ); - - } else { - - this._y = Math.atan2( - m31, m11 ); - this._z = 0; - - } - - } else if ( order === 'ZXY' ) { - - this._x = Math.asin( clamp( m32, - 1, 1 ) ); - - if ( Math.abs( m32 ) < 0.99999 ) { - - this._y = Math.atan2( - m31, m33 ); - this._z = Math.atan2( - m12, m22 ); - - } else { - - this._y = 0; - this._z = Math.atan2( m21, m11 ); - - } - - } else if ( order === 'ZYX' ) { - - this._y = Math.asin( - clamp( m31, - 1, 1 ) ); - - if ( Math.abs( m31 ) < 0.99999 ) { - - this._x = Math.atan2( m32, m33 ); - this._z = Math.atan2( m21, m11 ); - - } else { - - this._x = 0; - this._z = Math.atan2( - m12, m22 ); - - } - - } else if ( order === 'YZX' ) { - - this._z = Math.asin( clamp( m21, - 1, 1 ) ); - - if ( Math.abs( m21 ) < 0.99999 ) { - - this._x = Math.atan2( - m23, m22 ); - this._y = Math.atan2( - m31, m11 ); - - } else { - - this._x = 0; - this._y = Math.atan2( m13, m33 ); - - } - - } else if ( order === 'XZY' ) { - - this._z = Math.asin( - clamp( m12, - 1, 1 ) ); - - if ( Math.abs( m12 ) < 0.99999 ) { - - this._x = Math.atan2( m32, m22 ); - this._y = Math.atan2( m13, m11 ); - - } else { - - this._x = Math.atan2( - m23, m33 ); - this._y = 0; - - } - - } else { - - console.warn( 'THREE.Euler: .setFromRotationMatrix() given unsupported order: ' + order ); - - } - - this._order = order; - - if ( update !== false ) this.onChangeCallback(); - - return this; - - }, - - setFromQuaternion: function () { - - var matrix = new Matrix4(); - - return function setFromQuaternion( q, order, update ) { - - matrix.makeRotationFromQuaternion( q ); - - return this.setFromRotationMatrix( matrix, order, update ); - - }; - - }(), - - setFromVector3: function ( v, order ) { - - return this.set( v.x, v.y, v.z, order || this._order ); - - }, - - reorder: function () { - - // WARNING: this discards revolution information -bhouston - - var q = new Quaternion(); - - return function reorder( newOrder ) { - - q.setFromEuler( this ); - - return this.setFromQuaternion( q, newOrder ); - - }; - - }(), - - equals: function ( euler ) { - - return ( euler._x === this._x ) && ( euler._y === this._y ) && ( euler._z === this._z ) && ( euler._order === this._order ); - - }, - - fromArray: function ( array ) { - - this._x = array[ 0 ]; - this._y = array[ 1 ]; - this._z = array[ 2 ]; - if ( array[ 3 ] !== undefined ) this._order = array[ 3 ]; - - this.onChangeCallback(); - - return this; - - }, - - toArray: function ( array, offset ) { - - if ( array === undefined ) array = []; - if ( offset === undefined ) offset = 0; - - array[ offset ] = this._x; - array[ offset + 1 ] = this._y; - array[ offset + 2 ] = this._z; - array[ offset + 3 ] = this._order; - - return array; - - }, - - toVector3: function ( optionalResult ) { - - if ( optionalResult ) { - - return optionalResult.set( this._x, this._y, this._z ); - - } else { - - return new Vector3( this._x, this._y, this._z ); - - } - - }, - - onChange: function ( callback ) { - - this.onChangeCallback = callback; - - return this; - - }, - - onChangeCallback: function () {} - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function Layers() { - - this.mask = 1 | 0; - - } - - Object.assign( Layers.prototype, { - - set: function ( channel ) { - - this.mask = 1 << channel | 0; - - }, - - enable: function ( channel ) { - - this.mask |= 1 << channel | 0; - - }, - - toggle: function ( channel ) { - - this.mask ^= 1 << channel | 0; - - }, - - disable: function ( channel ) { - - this.mask &= ~ ( 1 << channel | 0 ); - - }, - - test: function ( layers ) { - - return ( this.mask & layers.mask ) !== 0; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author WestLangley / http://github.com/WestLangley - * @author elephantatwork / www.elephantatwork.ch - */ - - var object3DId = 0; - - function Object3D() { - - Object.defineProperty( this, 'id', { value: object3DId ++ } ); - - this.uuid = _Math.generateUUID(); - - this.name = ''; - this.type = 'Object3D'; - - this.parent = null; - this.children = []; - - this.up = Object3D.DefaultUp.clone(); - - var position = new Vector3(); - var rotation = new Euler(); - var quaternion = new Quaternion(); - var scale = new Vector3( 1, 1, 1 ); - - function onRotationChange() { - - quaternion.setFromEuler( rotation, false ); - - } - - function onQuaternionChange() { - - rotation.setFromQuaternion( quaternion, undefined, false ); - - } - - rotation.onChange( onRotationChange ); - quaternion.onChange( onQuaternionChange ); - - Object.defineProperties( this, { - position: { - configurable: true, - enumerable: true, - value: position - }, - rotation: { - configurable: true, - enumerable: true, - value: rotation - }, - quaternion: { - configurable: true, - enumerable: true, - value: quaternion - }, - scale: { - configurable: true, - enumerable: true, - value: scale - }, - modelViewMatrix: { - value: new Matrix4() - }, - normalMatrix: { - value: new Matrix3() - } - } ); - - this.matrix = new Matrix4(); - this.matrixWorld = new Matrix4(); - - this.matrixAutoUpdate = Object3D.DefaultMatrixAutoUpdate; - this.matrixWorldNeedsUpdate = false; - - this.layers = new Layers(); - this.visible = true; - - this.castShadow = false; - this.receiveShadow = false; - - this.frustumCulled = true; - this.renderOrder = 0; - - this.userData = {}; - - } - - Object3D.DefaultUp = new Vector3( 0, 1, 0 ); - Object3D.DefaultMatrixAutoUpdate = true; - - Object3D.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { - - constructor: Object3D, - - isObject3D: true, - - onBeforeRender: function () {}, - onAfterRender: function () {}, - - applyMatrix: function ( matrix ) { - - this.matrix.multiplyMatrices( matrix, this.matrix ); - - this.matrix.decompose( this.position, this.quaternion, this.scale ); - - }, - - applyQuaternion: function ( q ) { - - this.quaternion.premultiply( q ); - - return this; - - }, - - setRotationFromAxisAngle: function ( axis, angle ) { - - // assumes axis is normalized - - this.quaternion.setFromAxisAngle( axis, angle ); - - }, - - setRotationFromEuler: function ( euler ) { - - this.quaternion.setFromEuler( euler, true ); - - }, - - setRotationFromMatrix: function ( m ) { - - // assumes the upper 3x3 of m is a pure rotation matrix (i.e, unscaled) - - this.quaternion.setFromRotationMatrix( m ); - - }, - - setRotationFromQuaternion: function ( q ) { - - // assumes q is normalized - - this.quaternion.copy( q ); - - }, - - rotateOnAxis: function () { - - // rotate object on axis in object space - // axis is assumed to be normalized - - var q1 = new Quaternion(); - - return function rotateOnAxis( axis, angle ) { - - q1.setFromAxisAngle( axis, angle ); - - this.quaternion.multiply( q1 ); - - return this; - - }; - - }(), - - rotateOnWorldAxis: function () { - - // rotate object on axis in world space - // axis is assumed to be normalized - // method assumes no rotated parent - - var q1 = new Quaternion(); - - return function rotateOnWorldAxis( axis, angle ) { - - q1.setFromAxisAngle( axis, angle ); - - this.quaternion.premultiply( q1 ); - - return this; - - }; - - }(), - - rotateX: function () { - - var v1 = new Vector3( 1, 0, 0 ); - - return function rotateX( angle ) { - - return this.rotateOnAxis( v1, angle ); - - }; - - }(), - - rotateY: function () { - - var v1 = new Vector3( 0, 1, 0 ); - - return function rotateY( angle ) { - - return this.rotateOnAxis( v1, angle ); - - }; - - }(), - - rotateZ: function () { - - var v1 = new Vector3( 0, 0, 1 ); - - return function rotateZ( angle ) { - - return this.rotateOnAxis( v1, angle ); - - }; - - }(), - - translateOnAxis: function () { - - // translate object by distance along axis in object space - // axis is assumed to be normalized - - var v1 = new Vector3(); - - return function translateOnAxis( axis, distance ) { - - v1.copy( axis ).applyQuaternion( this.quaternion ); - - this.position.add( v1.multiplyScalar( distance ) ); - - return this; - - }; - - }(), - - translateX: function () { - - var v1 = new Vector3( 1, 0, 0 ); - - return function translateX( distance ) { - - return this.translateOnAxis( v1, distance ); - - }; - - }(), - - translateY: function () { - - var v1 = new Vector3( 0, 1, 0 ); - - return function translateY( distance ) { - - return this.translateOnAxis( v1, distance ); - - }; - - }(), - - translateZ: function () { - - var v1 = new Vector3( 0, 0, 1 ); - - return function translateZ( distance ) { - - return this.translateOnAxis( v1, distance ); - - }; - - }(), - - localToWorld: function ( vector ) { - - return vector.applyMatrix4( this.matrixWorld ); - - }, - - worldToLocal: function () { - - var m1 = new Matrix4(); - - return function worldToLocal( vector ) { - - return vector.applyMatrix4( m1.getInverse( this.matrixWorld ) ); - - }; - - }(), - - lookAt: function () { - - // This method does not support objects having non-uniformly-scaled parent(s) - - var q1 = new Quaternion(); - var m1 = new Matrix4(); - var target = new Vector3(); - var position = new Vector3(); - - return function lookAt( x, y, z ) { - - if ( x.isVector3 ) { - - target.copy( x ); - - } else { - - target.set( x, y, z ); - - } - - var parent = this.parent; - - this.updateWorldMatrix( true, false ); - - position.setFromMatrixPosition( this.matrixWorld ); - - if ( this.isCamera || this.isLight ) { - - m1.lookAt( position, target, this.up ); - - } else { - - m1.lookAt( target, position, this.up ); - - } - - this.quaternion.setFromRotationMatrix( m1 ); - - if ( parent ) { - - m1.extractRotation( parent.matrixWorld ); - q1.setFromRotationMatrix( m1 ); - this.quaternion.premultiply( q1.inverse() ); - - } - - }; - - }(), - - add: function ( object ) { - - if ( arguments.length > 1 ) { - - for ( var i = 0; i < arguments.length; i ++ ) { - - this.add( arguments[ i ] ); - - } - - return this; - - } - - if ( object === this ) { - - console.error( "THREE.Object3D.add: object can't be added as a child of itself.", object ); - return this; - - } - - if ( ( object && object.isObject3D ) ) { - - if ( object.parent !== null ) { - - object.parent.remove( object ); - - } - - object.parent = this; - object.dispatchEvent( { type: 'added' } ); - - this.children.push( object ); - - } else { - - console.error( "THREE.Object3D.add: object not an instance of THREE.Object3D.", object ); - - } - - return this; - - }, - - remove: function ( object ) { - - if ( arguments.length > 1 ) { - - for ( var i = 0; i < arguments.length; i ++ ) { - - this.remove( arguments[ i ] ); - - } - - return this; - - } - - var index = this.children.indexOf( object ); - - if ( index !== - 1 ) { - - object.parent = null; - - object.dispatchEvent( { type: 'removed' } ); - - this.children.splice( index, 1 ); - - } - - return this; - - }, - - getObjectById: function ( id ) { - - return this.getObjectByProperty( 'id', id ); - - }, - - getObjectByName: function ( name ) { - - return this.getObjectByProperty( 'name', name ); - - }, - - getObjectByProperty: function ( name, value ) { - - if ( this[ name ] === value ) return this; - - for ( var i = 0, l = this.children.length; i < l; i ++ ) { - - var child = this.children[ i ]; - var object = child.getObjectByProperty( name, value ); - - if ( object !== undefined ) { - - return object; - - } - - } - - return undefined; - - }, - - getWorldPosition: function ( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Object3D: .getWorldPosition() target is now required' ); - target = new Vector3(); - - } - - this.updateMatrixWorld( true ); - - return target.setFromMatrixPosition( this.matrixWorld ); - - }, - - getWorldQuaternion: function () { - - var position = new Vector3(); - var scale = new Vector3(); - - return function getWorldQuaternion( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Object3D: .getWorldQuaternion() target is now required' ); - target = new Quaternion(); - - } - - this.updateMatrixWorld( true ); - - this.matrixWorld.decompose( position, target, scale ); - - return target; - - }; - - }(), - - getWorldScale: function () { - - var position = new Vector3(); - var quaternion = new Quaternion(); - - return function getWorldScale( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Object3D: .getWorldScale() target is now required' ); - target = new Vector3(); - - } - - this.updateMatrixWorld( true ); - - this.matrixWorld.decompose( position, quaternion, target ); - - return target; - - }; - - }(), - - getWorldDirection: function ( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Object3D: .getWorldDirection() target is now required' ); - target = new Vector3(); - - } - - this.updateMatrixWorld( true ); - - var e = this.matrixWorld.elements; - - return target.set( e[ 8 ], e[ 9 ], e[ 10 ] ).normalize(); - - }, - - raycast: function () {}, - - traverse: function ( callback ) { - - callback( this ); - - var children = this.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - children[ i ].traverse( callback ); - - } - - }, - - traverseVisible: function ( callback ) { - - if ( this.visible === false ) return; - - callback( this ); - - var children = this.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - children[ i ].traverseVisible( callback ); - - } - - }, - - traverseAncestors: function ( callback ) { - - var parent = this.parent; - - if ( parent !== null ) { - - callback( parent ); - - parent.traverseAncestors( callback ); - - } - - }, - - updateMatrix: function () { - - this.matrix.compose( this.position, this.quaternion, this.scale ); - - this.matrixWorldNeedsUpdate = true; - - }, - - updateMatrixWorld: function ( force ) { - - if ( this.matrixAutoUpdate ) this.updateMatrix(); - - if ( this.matrixWorldNeedsUpdate || force ) { - - if ( this.parent === null ) { - - this.matrixWorld.copy( this.matrix ); - - } else { - - this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); - - } - - this.matrixWorldNeedsUpdate = false; - - force = true; - - } - - // update children - - var children = this.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - children[ i ].updateMatrixWorld( force ); - - } - - }, - - updateWorldMatrix: function ( updateParents, updateChildren ) { - - var parent = this.parent; - - if ( updateParents === true && parent !== null ) { - - parent.updateWorldMatrix( true, false ); - - } - - if ( this.matrixAutoUpdate ) this.updateMatrix(); - - if ( this.parent === null ) { - - this.matrixWorld.copy( this.matrix ); - - } else { - - this.matrixWorld.multiplyMatrices( this.parent.matrixWorld, this.matrix ); - - } - - // update children - - if ( updateChildren === true ) { - - var children = this.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - children[ i ].updateWorldMatrix( false, true ); - - } - - } - - }, - - toJSON: function ( meta ) { - - // meta is a string when called from JSON.stringify - var isRootObject = ( meta === undefined || typeof meta === 'string' ); - - var output = {}; - - // meta is a hash used to collect geometries, materials. - // not providing it implies that this is the root object - // being serialized. - if ( isRootObject ) { - - // initialize meta obj - meta = { - geometries: {}, - materials: {}, - textures: {}, - images: {}, - shapes: {} - }; - - output.metadata = { - version: 4.5, - type: 'Object', - generator: 'Object3D.toJSON' - }; - - } - - // standard Object3D serialization - - var object = {}; - - object.uuid = this.uuid; - object.type = this.type; - - if ( this.name !== '' ) object.name = this.name; - if ( this.castShadow === true ) object.castShadow = true; - if ( this.receiveShadow === true ) object.receiveShadow = true; - if ( this.visible === false ) object.visible = false; - if ( this.frustumCulled === false ) object.frustumCulled = false; - if ( this.renderOrder !== 0 ) object.renderOrder = this.renderOrder; - if ( JSON.stringify( this.userData ) !== '{}' ) object.userData = this.userData; - - object.layers = this.layers.mask; - object.matrix = this.matrix.toArray(); - - if ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false; - - // object specific properties - - if ( this.isMesh && this.drawMode !== TrianglesDrawMode ) object.drawMode = this.drawMode; - - // - - function serialize( library, element ) { - - if ( library[ element.uuid ] === undefined ) { - - library[ element.uuid ] = element.toJSON( meta ); - - } - - return element.uuid; - - } - - if ( this.isMesh || this.isLine || this.isPoints ) { - - object.geometry = serialize( meta.geometries, this.geometry ); - - var parameters = this.geometry.parameters; - - if ( parameters !== undefined && parameters.shapes !== undefined ) { - - var shapes = parameters.shapes; - - if ( Array.isArray( shapes ) ) { - - for ( var i = 0, l = shapes.length; i < l; i ++ ) { - - var shape = shapes[ i ]; - - serialize( meta.shapes, shape ); - - } - - } else { - - serialize( meta.shapes, shapes ); - - } - - } - - } - - if ( this.material !== undefined ) { - - if ( Array.isArray( this.material ) ) { - - var uuids = []; - - for ( var i = 0, l = this.material.length; i < l; i ++ ) { - - uuids.push( serialize( meta.materials, this.material[ i ] ) ); - - } - - object.material = uuids; - - } else { - - object.material = serialize( meta.materials, this.material ); - - } - - } - - // - - if ( this.children.length > 0 ) { - - object.children = []; - - for ( var i = 0; i < this.children.length; i ++ ) { - - object.children.push( this.children[ i ].toJSON( meta ).object ); - - } - - } - - if ( isRootObject ) { - - var geometries = extractFromCache( meta.geometries ); - var materials = extractFromCache( meta.materials ); - var textures = extractFromCache( meta.textures ); - var images = extractFromCache( meta.images ); - var shapes = extractFromCache( meta.shapes ); - - if ( geometries.length > 0 ) output.geometries = geometries; - if ( materials.length > 0 ) output.materials = materials; - if ( textures.length > 0 ) output.textures = textures; - if ( images.length > 0 ) output.images = images; - if ( shapes.length > 0 ) output.shapes = shapes; - - } - - output.object = object; - - return output; - - // extract data from the cache hash - // remove metadata on each item - // and return as array - function extractFromCache( cache ) { - - var values = []; - for ( var key in cache ) { - - var data = cache[ key ]; - delete data.metadata; - values.push( data ); - - } - return values; - - } - - }, - - clone: function ( recursive ) { - - return new this.constructor().copy( this, recursive ); - - }, - - copy: function ( source, recursive ) { - - if ( recursive === undefined ) recursive = true; - - this.name = source.name; - - this.up.copy( source.up ); - - this.position.copy( source.position ); - this.quaternion.copy( source.quaternion ); - this.scale.copy( source.scale ); - - this.matrix.copy( source.matrix ); - this.matrixWorld.copy( source.matrixWorld ); - - this.matrixAutoUpdate = source.matrixAutoUpdate; - this.matrixWorldNeedsUpdate = source.matrixWorldNeedsUpdate; - - this.layers.mask = source.layers.mask; - this.visible = source.visible; - - this.castShadow = source.castShadow; - this.receiveShadow = source.receiveShadow; - - this.frustumCulled = source.frustumCulled; - this.renderOrder = source.renderOrder; - - this.userData = JSON.parse( JSON.stringify( source.userData ) ); - - if ( recursive === true ) { - - for ( var i = 0; i < source.children.length; i ++ ) { - - var child = source.children[ i ]; - this.add( child.clone() ); - - } - - } - - return this; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author kile / http://kile.stravaganza.org/ - * @author alteredq / http://alteredqualia.com/ - * @author mikael emtinger / http://gomo.se/ - * @author zz85 / http://www.lab4games.net/zz85/blog - * @author bhouston / http://clara.io - */ - - var geometryId = 0; // Geometry uses even numbers as Id - - function Geometry() { - - Object.defineProperty( this, 'id', { value: geometryId += 2 } ); - - this.uuid = _Math.generateUUID(); - - this.name = ''; - this.type = 'Geometry'; - - this.vertices = []; - this.colors = []; - this.faces = []; - this.faceVertexUvs = [[]]; - - this.morphTargets = []; - this.morphNormals = []; - - this.skinWeights = []; - this.skinIndices = []; - - this.lineDistances = []; - - this.boundingBox = null; - this.boundingSphere = null; - - // update flags - - this.elementsNeedUpdate = false; - this.verticesNeedUpdate = false; - this.uvsNeedUpdate = false; - this.normalsNeedUpdate = false; - this.colorsNeedUpdate = false; - this.lineDistancesNeedUpdate = false; - this.groupsNeedUpdate = false; - - } - - Geometry.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { - - constructor: Geometry, - - isGeometry: true, - - applyMatrix: function ( matrix ) { - - var normalMatrix = new Matrix3().getNormalMatrix( matrix ); - - for ( var i = 0, il = this.vertices.length; i < il; i ++ ) { - - var vertex = this.vertices[ i ]; - vertex.applyMatrix4( matrix ); - - } - - for ( var i = 0, il = this.faces.length; i < il; i ++ ) { - - var face = this.faces[ i ]; - face.normal.applyMatrix3( normalMatrix ).normalize(); - - for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { - - face.vertexNormals[ j ].applyMatrix3( normalMatrix ).normalize(); - - } - - } - - if ( this.boundingBox !== null ) { - - this.computeBoundingBox(); - - } - - if ( this.boundingSphere !== null ) { - - this.computeBoundingSphere(); - - } - - this.verticesNeedUpdate = true; - this.normalsNeedUpdate = true; - - return this; - - }, - - rotateX: function () { - - // rotate geometry around world x-axis - - var m1 = new Matrix4(); - - return function rotateX( angle ) { - - m1.makeRotationX( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - rotateY: function () { - - // rotate geometry around world y-axis - - var m1 = new Matrix4(); - - return function rotateY( angle ) { - - m1.makeRotationY( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - rotateZ: function () { - - // rotate geometry around world z-axis - - var m1 = new Matrix4(); - - return function rotateZ( angle ) { - - m1.makeRotationZ( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - translate: function () { - - // translate geometry - - var m1 = new Matrix4(); - - return function translate( x, y, z ) { - - m1.makeTranslation( x, y, z ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - scale: function () { - - // scale geometry - - var m1 = new Matrix4(); - - return function scale( x, y, z ) { - - m1.makeScale( x, y, z ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - lookAt: function () { - - var obj = new Object3D(); - - return function lookAt( vector ) { - - obj.lookAt( vector ); - - obj.updateMatrix(); - - this.applyMatrix( obj.matrix ); - - }; - - }(), - - fromBufferGeometry: function ( geometry ) { - - var scope = this; - - var indices = geometry.index !== null ? geometry.index.array : undefined; - var attributes = geometry.attributes; - - var positions = attributes.position.array; - var normals = attributes.normal !== undefined ? attributes.normal.array : undefined; - var colors = attributes.color !== undefined ? attributes.color.array : undefined; - var uvs = attributes.uv !== undefined ? attributes.uv.array : undefined; - var uvs2 = attributes.uv2 !== undefined ? attributes.uv2.array : undefined; - - if ( uvs2 !== undefined ) this.faceVertexUvs[ 1 ] = []; - - for ( var i = 0, j = 0; i < positions.length; i += 3, j += 2 ) { - - scope.vertices.push( new Vector3().fromArray( positions, i ) ); - - if ( colors !== undefined ) { - - scope.colors.push( new Color().fromArray( colors, i ) ); - - } - - } - - function addFace( a, b, c, materialIndex ) { - - var vertexColors = ( colors === undefined ) ? [] : [ - scope.colors[ a ].clone(), - scope.colors[ b ].clone(), - scope.colors[ c ].clone() ]; - - var vertexNormals = ( normals === undefined ) ? [] : [ - new Vector3().fromArray( normals, a * 3 ), - new Vector3().fromArray( normals, b * 3 ), - new Vector3().fromArray( normals, c * 3 ) - ]; - - var face = new Face3( a, b, c, vertexNormals, vertexColors, materialIndex ); - - scope.faces.push( face ); - - if ( uvs !== undefined ) { - - scope.faceVertexUvs[ 0 ].push( [ - new Vector2().fromArray( uvs, a * 2 ), - new Vector2().fromArray( uvs, b * 2 ), - new Vector2().fromArray( uvs, c * 2 ) - ] ); - - } - - if ( uvs2 !== undefined ) { - - scope.faceVertexUvs[ 1 ].push( [ - new Vector2().fromArray( uvs2, a * 2 ), - new Vector2().fromArray( uvs2, b * 2 ), - new Vector2().fromArray( uvs2, c * 2 ) - ] ); - - } - - } - - var groups = geometry.groups; - - if ( groups.length > 0 ) { - - for ( var i = 0; i < groups.length; i ++ ) { - - var group = groups[ i ]; - - var start = group.start; - var count = group.count; - - for ( var j = start, jl = start + count; j < jl; j += 3 ) { - - if ( indices !== undefined ) { - - addFace( indices[ j ], indices[ j + 1 ], indices[ j + 2 ], group.materialIndex ); - - } else { - - addFace( j, j + 1, j + 2, group.materialIndex ); - - } - - } - - } - - } else { - - if ( indices !== undefined ) { - - for ( var i = 0; i < indices.length; i += 3 ) { - - addFace( indices[ i ], indices[ i + 1 ], indices[ i + 2 ] ); - - } - - } else { - - for ( var i = 0; i < positions.length / 3; i += 3 ) { - - addFace( i, i + 1, i + 2 ); - - } - - } - - } - - this.computeFaceNormals(); - - if ( geometry.boundingBox !== null ) { - - this.boundingBox = geometry.boundingBox.clone(); - - } - - if ( geometry.boundingSphere !== null ) { - - this.boundingSphere = geometry.boundingSphere.clone(); - - } - - return this; - - }, - - center: function () { - - var offset = new Vector3(); - - return function center() { - - this.computeBoundingBox(); - - this.boundingBox.getCenter( offset ).negate(); - - this.translate( offset.x, offset.y, offset.z ); - - return this; - - }; - - }(), - - normalize: function () { - - this.computeBoundingSphere(); - - var center = this.boundingSphere.center; - var radius = this.boundingSphere.radius; - - var s = radius === 0 ? 1 : 1.0 / radius; - - var matrix = new Matrix4(); - matrix.set( - s, 0, 0, - s * center.x, - 0, s, 0, - s * center.y, - 0, 0, s, - s * center.z, - 0, 0, 0, 1 - ); - - this.applyMatrix( matrix ); - - return this; - - }, - - computeFaceNormals: function () { - - var cb = new Vector3(), ab = new Vector3(); - - for ( var f = 0, fl = this.faces.length; f < fl; f ++ ) { - - var face = this.faces[ f ]; - - var vA = this.vertices[ face.a ]; - var vB = this.vertices[ face.b ]; - var vC = this.vertices[ face.c ]; - - cb.subVectors( vC, vB ); - ab.subVectors( vA, vB ); - cb.cross( ab ); - - cb.normalize(); - - face.normal.copy( cb ); - - } - - }, - - computeVertexNormals: function ( areaWeighted ) { - - if ( areaWeighted === undefined ) areaWeighted = true; - - var v, vl, f, fl, face, vertices; - - vertices = new Array( this.vertices.length ); - - for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { - - vertices[ v ] = new Vector3(); - - } - - if ( areaWeighted ) { - - // vertex normals weighted by triangle areas - // http://www.iquilezles.org/www/articles/normals/normals.htm - - var vA, vB, vC; - var cb = new Vector3(), ab = new Vector3(); - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - vA = this.vertices[ face.a ]; - vB = this.vertices[ face.b ]; - vC = this.vertices[ face.c ]; - - cb.subVectors( vC, vB ); - ab.subVectors( vA, vB ); - cb.cross( ab ); - - vertices[ face.a ].add( cb ); - vertices[ face.b ].add( cb ); - vertices[ face.c ].add( cb ); - - } - - } else { - - this.computeFaceNormals(); - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - vertices[ face.a ].add( face.normal ); - vertices[ face.b ].add( face.normal ); - vertices[ face.c ].add( face.normal ); - - } - - } - - for ( v = 0, vl = this.vertices.length; v < vl; v ++ ) { - - vertices[ v ].normalize(); - - } - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - var vertexNormals = face.vertexNormals; - - if ( vertexNormals.length === 3 ) { - - vertexNormals[ 0 ].copy( vertices[ face.a ] ); - vertexNormals[ 1 ].copy( vertices[ face.b ] ); - vertexNormals[ 2 ].copy( vertices[ face.c ] ); - - } else { - - vertexNormals[ 0 ] = vertices[ face.a ].clone(); - vertexNormals[ 1 ] = vertices[ face.b ].clone(); - vertexNormals[ 2 ] = vertices[ face.c ].clone(); - - } - - } - - if ( this.faces.length > 0 ) { - - this.normalsNeedUpdate = true; - - } - - }, - - computeFlatVertexNormals: function () { - - var f, fl, face; - - this.computeFaceNormals(); - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - var vertexNormals = face.vertexNormals; - - if ( vertexNormals.length === 3 ) { - - vertexNormals[ 0 ].copy( face.normal ); - vertexNormals[ 1 ].copy( face.normal ); - vertexNormals[ 2 ].copy( face.normal ); - - } else { - - vertexNormals[ 0 ] = face.normal.clone(); - vertexNormals[ 1 ] = face.normal.clone(); - vertexNormals[ 2 ] = face.normal.clone(); - - } - - } - - if ( this.faces.length > 0 ) { - - this.normalsNeedUpdate = true; - - } - - }, - - computeMorphNormals: function () { - - var i, il, f, fl, face; - - // save original normals - // - create temp variables on first access - // otherwise just copy (for faster repeated calls) - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - if ( ! face.__originalFaceNormal ) { - - face.__originalFaceNormal = face.normal.clone(); - - } else { - - face.__originalFaceNormal.copy( face.normal ); - - } - - if ( ! face.__originalVertexNormals ) face.__originalVertexNormals = []; - - for ( i = 0, il = face.vertexNormals.length; i < il; i ++ ) { - - if ( ! face.__originalVertexNormals[ i ] ) { - - face.__originalVertexNormals[ i ] = face.vertexNormals[ i ].clone(); - - } else { - - face.__originalVertexNormals[ i ].copy( face.vertexNormals[ i ] ); - - } - - } - - } - - // use temp geometry to compute face and vertex normals for each morph - - var tmpGeo = new Geometry(); - tmpGeo.faces = this.faces; - - for ( i = 0, il = this.morphTargets.length; i < il; i ++ ) { - - // create on first access - - if ( ! this.morphNormals[ i ] ) { - - this.morphNormals[ i ] = {}; - this.morphNormals[ i ].faceNormals = []; - this.morphNormals[ i ].vertexNormals = []; - - var dstNormalsFace = this.morphNormals[ i ].faceNormals; - var dstNormalsVertex = this.morphNormals[ i ].vertexNormals; - - var faceNormal, vertexNormals; - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - faceNormal = new Vector3(); - vertexNormals = { a: new Vector3(), b: new Vector3(), c: new Vector3() }; - - dstNormalsFace.push( faceNormal ); - dstNormalsVertex.push( vertexNormals ); - - } - - } - - var morphNormals = this.morphNormals[ i ]; - - // set vertices to morph target - - tmpGeo.vertices = this.morphTargets[ i ].vertices; - - // compute morph normals - - tmpGeo.computeFaceNormals(); - tmpGeo.computeVertexNormals(); - - // store morph normals - - var faceNormal, vertexNormals; - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - faceNormal = morphNormals.faceNormals[ f ]; - vertexNormals = morphNormals.vertexNormals[ f ]; - - faceNormal.copy( face.normal ); - - vertexNormals.a.copy( face.vertexNormals[ 0 ] ); - vertexNormals.b.copy( face.vertexNormals[ 1 ] ); - vertexNormals.c.copy( face.vertexNormals[ 2 ] ); - - } - - } - - // restore original normals - - for ( f = 0, fl = this.faces.length; f < fl; f ++ ) { - - face = this.faces[ f ]; - - face.normal = face.__originalFaceNormal; - face.vertexNormals = face.__originalVertexNormals; - - } - - }, - - computeBoundingBox: function () { - - if ( this.boundingBox === null ) { - - this.boundingBox = new Box3(); - - } - - this.boundingBox.setFromPoints( this.vertices ); - - }, - - computeBoundingSphere: function () { - - if ( this.boundingSphere === null ) { - - this.boundingSphere = new Sphere(); - - } - - this.boundingSphere.setFromPoints( this.vertices ); - - }, - - merge: function ( geometry, matrix, materialIndexOffset ) { - - if ( ! ( geometry && geometry.isGeometry ) ) { - - console.error( 'THREE.Geometry.merge(): geometry not an instance of THREE.Geometry.', geometry ); - return; - - } - - var normalMatrix, - vertexOffset = this.vertices.length, - vertices1 = this.vertices, - vertices2 = geometry.vertices, - faces1 = this.faces, - faces2 = geometry.faces, - uvs1 = this.faceVertexUvs[ 0 ], - uvs2 = geometry.faceVertexUvs[ 0 ], - colors1 = this.colors, - colors2 = geometry.colors; - - if ( materialIndexOffset === undefined ) materialIndexOffset = 0; - - if ( matrix !== undefined ) { - - normalMatrix = new Matrix3().getNormalMatrix( matrix ); - - } - - // vertices - - for ( var i = 0, il = vertices2.length; i < il; i ++ ) { - - var vertex = vertices2[ i ]; - - var vertexCopy = vertex.clone(); - - if ( matrix !== undefined ) vertexCopy.applyMatrix4( matrix ); - - vertices1.push( vertexCopy ); - - } - - // colors - - for ( var i = 0, il = colors2.length; i < il; i ++ ) { - - colors1.push( colors2[ i ].clone() ); - - } - - // faces - - for ( i = 0, il = faces2.length; i < il; i ++ ) { - - var face = faces2[ i ], faceCopy, normal, color, - faceVertexNormals = face.vertexNormals, - faceVertexColors = face.vertexColors; - - faceCopy = new Face3( face.a + vertexOffset, face.b + vertexOffset, face.c + vertexOffset ); - faceCopy.normal.copy( face.normal ); - - if ( normalMatrix !== undefined ) { - - faceCopy.normal.applyMatrix3( normalMatrix ).normalize(); - - } - - for ( var j = 0, jl = faceVertexNormals.length; j < jl; j ++ ) { - - normal = faceVertexNormals[ j ].clone(); - - if ( normalMatrix !== undefined ) { - - normal.applyMatrix3( normalMatrix ).normalize(); - - } - - faceCopy.vertexNormals.push( normal ); - - } - - faceCopy.color.copy( face.color ); - - for ( var j = 0, jl = faceVertexColors.length; j < jl; j ++ ) { - - color = faceVertexColors[ j ]; - faceCopy.vertexColors.push( color.clone() ); - - } - - faceCopy.materialIndex = face.materialIndex + materialIndexOffset; - - faces1.push( faceCopy ); - - } - - // uvs - - for ( i = 0, il = uvs2.length; i < il; i ++ ) { - - var uv = uvs2[ i ], uvCopy = []; - - if ( uv === undefined ) { - - continue; - - } - - for ( var j = 0, jl = uv.length; j < jl; j ++ ) { - - uvCopy.push( uv[ j ].clone() ); - - } - - uvs1.push( uvCopy ); - - } - - }, - - mergeMesh: function ( mesh ) { - - if ( ! ( mesh && mesh.isMesh ) ) { - - console.error( 'THREE.Geometry.mergeMesh(): mesh not an instance of THREE.Mesh.', mesh ); - return; - - } - - if ( mesh.matrixAutoUpdate ) mesh.updateMatrix(); - - this.merge( mesh.geometry, mesh.matrix ); - - }, - - /* - * Checks for duplicate vertices with hashmap. - * Duplicated vertices are removed - * and faces' vertices are updated. - */ - - mergeVertices: function () { - - var verticesMap = {}; // Hashmap for looking up vertices by position coordinates (and making sure they are unique) - var unique = [], changes = []; - - var v, key; - var precisionPoints = 4; // number of decimal points, e.g. 4 for epsilon of 0.0001 - var precision = Math.pow( 10, precisionPoints ); - var i, il, face; - var indices, j, jl; - - for ( i = 0, il = this.vertices.length; i < il; i ++ ) { - - v = this.vertices[ i ]; - key = Math.round( v.x * precision ) + '_' + Math.round( v.y * precision ) + '_' + Math.round( v.z * precision ); - - if ( verticesMap[ key ] === undefined ) { - - verticesMap[ key ] = i; - unique.push( this.vertices[ i ] ); - changes[ i ] = unique.length - 1; - - } else { - - //console.log('Duplicate vertex found. ', i, ' could be using ', verticesMap[key]); - changes[ i ] = changes[ verticesMap[ key ] ]; - - } - - } - - - // if faces are completely degenerate after merging vertices, we - // have to remove them from the geometry. - var faceIndicesToRemove = []; - - for ( i = 0, il = this.faces.length; i < il; i ++ ) { - - face = this.faces[ i ]; - - face.a = changes[ face.a ]; - face.b = changes[ face.b ]; - face.c = changes[ face.c ]; - - indices = [ face.a, face.b, face.c ]; - - // if any duplicate vertices are found in a Face3 - // we have to remove the face as nothing can be saved - for ( var n = 0; n < 3; n ++ ) { - - if ( indices[ n ] === indices[ ( n + 1 ) % 3 ] ) { - - faceIndicesToRemove.push( i ); - break; - - } - - } - - } - - for ( i = faceIndicesToRemove.length - 1; i >= 0; i -- ) { - - var idx = faceIndicesToRemove[ i ]; - - this.faces.splice( idx, 1 ); - - for ( j = 0, jl = this.faceVertexUvs.length; j < jl; j ++ ) { - - this.faceVertexUvs[ j ].splice( idx, 1 ); - - } - - } - - // Use unique set of vertices - - var diff = this.vertices.length - unique.length; - this.vertices = unique; - return diff; - - }, - - setFromPoints: function ( points ) { - - this.vertices = []; - - for ( var i = 0, l = points.length; i < l; i ++ ) { - - var point = points[ i ]; - this.vertices.push( new Vector3( point.x, point.y, point.z || 0 ) ); - - } - - return this; - - }, - - sortFacesByMaterialIndex: function () { - - var faces = this.faces; - var length = faces.length; - - // tag faces - - for ( var i = 0; i < length; i ++ ) { - - faces[ i ]._id = i; - - } - - // sort faces - - function materialIndexSort( a, b ) { - - return a.materialIndex - b.materialIndex; - - } - - faces.sort( materialIndexSort ); - - // sort uvs - - var uvs1 = this.faceVertexUvs[ 0 ]; - var uvs2 = this.faceVertexUvs[ 1 ]; - - var newUvs1, newUvs2; - - if ( uvs1 && uvs1.length === length ) newUvs1 = []; - if ( uvs2 && uvs2.length === length ) newUvs2 = []; - - for ( var i = 0; i < length; i ++ ) { - - var id = faces[ i ]._id; - - if ( newUvs1 ) newUvs1.push( uvs1[ id ] ); - if ( newUvs2 ) newUvs2.push( uvs2[ id ] ); - - } - - if ( newUvs1 ) this.faceVertexUvs[ 0 ] = newUvs1; - if ( newUvs2 ) this.faceVertexUvs[ 1 ] = newUvs2; - - }, - - toJSON: function () { - - var data = { - metadata: { - version: 4.5, - type: 'Geometry', - generator: 'Geometry.toJSON' - } - }; - - // standard Geometry serialization - - data.uuid = this.uuid; - data.type = this.type; - if ( this.name !== '' ) data.name = this.name; - - if ( this.parameters !== undefined ) { - - var parameters = this.parameters; - - for ( var key in parameters ) { - - if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; - - } - - return data; - - } - - var vertices = []; - - for ( var i = 0; i < this.vertices.length; i ++ ) { - - var vertex = this.vertices[ i ]; - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - var faces = []; - var normals = []; - var normalsHash = {}; - var colors = []; - var colorsHash = {}; - var uvs = []; - var uvsHash = {}; - - for ( var i = 0; i < this.faces.length; i ++ ) { - - var face = this.faces[ i ]; - - var hasMaterial = true; - var hasFaceUv = false; // deprecated - var hasFaceVertexUv = this.faceVertexUvs[ 0 ][ i ] !== undefined; - var hasFaceNormal = face.normal.length() > 0; - var hasFaceVertexNormal = face.vertexNormals.length > 0; - var hasFaceColor = face.color.r !== 1 || face.color.g !== 1 || face.color.b !== 1; - var hasFaceVertexColor = face.vertexColors.length > 0; - - var faceType = 0; - - faceType = setBit( faceType, 0, 0 ); // isQuad - faceType = setBit( faceType, 1, hasMaterial ); - faceType = setBit( faceType, 2, hasFaceUv ); - faceType = setBit( faceType, 3, hasFaceVertexUv ); - faceType = setBit( faceType, 4, hasFaceNormal ); - faceType = setBit( faceType, 5, hasFaceVertexNormal ); - faceType = setBit( faceType, 6, hasFaceColor ); - faceType = setBit( faceType, 7, hasFaceVertexColor ); - - faces.push( faceType ); - faces.push( face.a, face.b, face.c ); - faces.push( face.materialIndex ); - - if ( hasFaceVertexUv ) { - - var faceVertexUvs = this.faceVertexUvs[ 0 ][ i ]; - - faces.push( - getUvIndex( faceVertexUvs[ 0 ] ), - getUvIndex( faceVertexUvs[ 1 ] ), - getUvIndex( faceVertexUvs[ 2 ] ) - ); - - } - - if ( hasFaceNormal ) { - - faces.push( getNormalIndex( face.normal ) ); - - } - - if ( hasFaceVertexNormal ) { - - var vertexNormals = face.vertexNormals; - - faces.push( - getNormalIndex( vertexNormals[ 0 ] ), - getNormalIndex( vertexNormals[ 1 ] ), - getNormalIndex( vertexNormals[ 2 ] ) - ); - - } - - if ( hasFaceColor ) { - - faces.push( getColorIndex( face.color ) ); - - } - - if ( hasFaceVertexColor ) { - - var vertexColors = face.vertexColors; - - faces.push( - getColorIndex( vertexColors[ 0 ] ), - getColorIndex( vertexColors[ 1 ] ), - getColorIndex( vertexColors[ 2 ] ) - ); - - } - - } - - function setBit( value, position, enabled ) { - - return enabled ? value | ( 1 << position ) : value & ( ~ ( 1 << position ) ); - - } - - function getNormalIndex( normal ) { - - var hash = normal.x.toString() + normal.y.toString() + normal.z.toString(); - - if ( normalsHash[ hash ] !== undefined ) { - - return normalsHash[ hash ]; - - } - - normalsHash[ hash ] = normals.length / 3; - normals.push( normal.x, normal.y, normal.z ); - - return normalsHash[ hash ]; - - } - - function getColorIndex( color ) { - - var hash = color.r.toString() + color.g.toString() + color.b.toString(); - - if ( colorsHash[ hash ] !== undefined ) { - - return colorsHash[ hash ]; - - } - - colorsHash[ hash ] = colors.length; - colors.push( color.getHex() ); - - return colorsHash[ hash ]; - - } - - function getUvIndex( uv ) { - - var hash = uv.x.toString() + uv.y.toString(); - - if ( uvsHash[ hash ] !== undefined ) { - - return uvsHash[ hash ]; - - } - - uvsHash[ hash ] = uvs.length / 2; - uvs.push( uv.x, uv.y ); - - return uvsHash[ hash ]; - - } - - data.data = {}; - - data.data.vertices = vertices; - data.data.normals = normals; - if ( colors.length > 0 ) data.data.colors = colors; - if ( uvs.length > 0 ) data.data.uvs = [ uvs ]; // temporal backward compatibility - data.data.faces = faces; - - return data; - - }, - - clone: function () { - - /* - // Handle primitives - - var parameters = this.parameters; - - if ( parameters !== undefined ) { - - var values = []; - - for ( var key in parameters ) { - - values.push( parameters[ key ] ); - - } - - var geometry = Object.create( this.constructor.prototype ); - this.constructor.apply( geometry, values ); - return geometry; - - } - - return new this.constructor().copy( this ); - */ - - return new Geometry().copy( this ); - - }, - - copy: function ( source ) { - - var i, il, j, jl, k, kl; - - // reset - - this.vertices = []; - this.colors = []; - this.faces = []; - this.faceVertexUvs = [[]]; - this.morphTargets = []; - this.morphNormals = []; - this.skinWeights = []; - this.skinIndices = []; - this.lineDistances = []; - this.boundingBox = null; - this.boundingSphere = null; - - // name - - this.name = source.name; - - // vertices - - var vertices = source.vertices; - - for ( i = 0, il = vertices.length; i < il; i ++ ) { - - this.vertices.push( vertices[ i ].clone() ); - - } - - // colors - - var colors = source.colors; - - for ( i = 0, il = colors.length; i < il; i ++ ) { - - this.colors.push( colors[ i ].clone() ); - - } - - // faces - - var faces = source.faces; - - for ( i = 0, il = faces.length; i < il; i ++ ) { - - this.faces.push( faces[ i ].clone() ); - - } - - // face vertex uvs - - for ( i = 0, il = source.faceVertexUvs.length; i < il; i ++ ) { - - var faceVertexUvs = source.faceVertexUvs[ i ]; - - if ( this.faceVertexUvs[ i ] === undefined ) { - - this.faceVertexUvs[ i ] = []; - - } - - for ( j = 0, jl = faceVertexUvs.length; j < jl; j ++ ) { - - var uvs = faceVertexUvs[ j ], uvsCopy = []; - - for ( k = 0, kl = uvs.length; k < kl; k ++ ) { - - var uv = uvs[ k ]; - - uvsCopy.push( uv.clone() ); - - } - - this.faceVertexUvs[ i ].push( uvsCopy ); - - } - - } - - // morph targets - - var morphTargets = source.morphTargets; - - for ( i = 0, il = morphTargets.length; i < il; i ++ ) { - - var morphTarget = {}; - morphTarget.name = morphTargets[ i ].name; - - // vertices - - if ( morphTargets[ i ].vertices !== undefined ) { - - morphTarget.vertices = []; - - for ( j = 0, jl = morphTargets[ i ].vertices.length; j < jl; j ++ ) { - - morphTarget.vertices.push( morphTargets[ i ].vertices[ j ].clone() ); - - } - - } - - // normals - - if ( morphTargets[ i ].normals !== undefined ) { - - morphTarget.normals = []; - - for ( j = 0, jl = morphTargets[ i ].normals.length; j < jl; j ++ ) { - - morphTarget.normals.push( morphTargets[ i ].normals[ j ].clone() ); - - } - - } - - this.morphTargets.push( morphTarget ); - - } - - // morph normals - - var morphNormals = source.morphNormals; - - for ( i = 0, il = morphNormals.length; i < il; i ++ ) { - - var morphNormal = {}; - - // vertex normals - - if ( morphNormals[ i ].vertexNormals !== undefined ) { - - morphNormal.vertexNormals = []; - - for ( j = 0, jl = morphNormals[ i ].vertexNormals.length; j < jl; j ++ ) { - - var srcVertexNormal = morphNormals[ i ].vertexNormals[ j ]; - var destVertexNormal = {}; - - destVertexNormal.a = srcVertexNormal.a.clone(); - destVertexNormal.b = srcVertexNormal.b.clone(); - destVertexNormal.c = srcVertexNormal.c.clone(); - - morphNormal.vertexNormals.push( destVertexNormal ); - - } - - } - - // face normals - - if ( morphNormals[ i ].faceNormals !== undefined ) { - - morphNormal.faceNormals = []; - - for ( j = 0, jl = morphNormals[ i ].faceNormals.length; j < jl; j ++ ) { - - morphNormal.faceNormals.push( morphNormals[ i ].faceNormals[ j ].clone() ); - - } - - } - - this.morphNormals.push( morphNormal ); - - } - - // skin weights - - var skinWeights = source.skinWeights; - - for ( i = 0, il = skinWeights.length; i < il; i ++ ) { - - this.skinWeights.push( skinWeights[ i ].clone() ); - - } - - // skin indices - - var skinIndices = source.skinIndices; - - for ( i = 0, il = skinIndices.length; i < il; i ++ ) { - - this.skinIndices.push( skinIndices[ i ].clone() ); - - } - - // line distances - - var lineDistances = source.lineDistances; - - for ( i = 0, il = lineDistances.length; i < il; i ++ ) { - - this.lineDistances.push( lineDistances[ i ] ); - - } - - // bounding box - - var boundingBox = source.boundingBox; - - if ( boundingBox !== null ) { - - this.boundingBox = boundingBox.clone(); - - } - - // bounding sphere - - var boundingSphere = source.boundingSphere; - - if ( boundingSphere !== null ) { - - this.boundingSphere = boundingSphere.clone(); - - } - - // update flags - - this.elementsNeedUpdate = source.elementsNeedUpdate; - this.verticesNeedUpdate = source.verticesNeedUpdate; - this.uvsNeedUpdate = source.uvsNeedUpdate; - this.normalsNeedUpdate = source.normalsNeedUpdate; - this.colorsNeedUpdate = source.colorsNeedUpdate; - this.lineDistancesNeedUpdate = source.lineDistancesNeedUpdate; - this.groupsNeedUpdate = source.groupsNeedUpdate; - - return this; - - }, - - dispose: function () { - - this.dispatchEvent( { type: 'dispose' } ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function BufferAttribute( array, itemSize, normalized ) { - - if ( Array.isArray( array ) ) { - - throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); - - } - - this.name = ''; - - this.array = array; - this.itemSize = itemSize; - this.count = array !== undefined ? array.length / itemSize : 0; - this.normalized = normalized === true; - - this.dynamic = false; - this.updateRange = { offset: 0, count: - 1 }; - - this.version = 0; - - } - - Object.defineProperty( BufferAttribute.prototype, 'needsUpdate', { - - set: function ( value ) { - - if ( value === true ) this.version ++; - - } - - } ); - - Object.assign( BufferAttribute.prototype, { - - isBufferAttribute: true, - - onUploadCallback: function () {}, - - setArray: function ( array ) { - - if ( Array.isArray( array ) ) { - - throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); - - } - - this.count = array !== undefined ? array.length / this.itemSize : 0; - this.array = array; - - return this; - - }, - - setDynamic: function ( value ) { - - this.dynamic = value; - - return this; - - }, - - copy: function ( source ) { - - this.name = source.name; - this.array = new source.array.constructor( source.array ); - this.itemSize = source.itemSize; - this.count = source.count; - this.normalized = source.normalized; - - this.dynamic = source.dynamic; - - return this; - - }, - - copyAt: function ( index1, attribute, index2 ) { - - index1 *= this.itemSize; - index2 *= attribute.itemSize; - - for ( var i = 0, l = this.itemSize; i < l; i ++ ) { - - this.array[ index1 + i ] = attribute.array[ index2 + i ]; - - } - - return this; - - }, - - copyArray: function ( array ) { - - this.array.set( array ); - - return this; - - }, - - copyColorsArray: function ( colors ) { - - var array = this.array, offset = 0; - - for ( var i = 0, l = colors.length; i < l; i ++ ) { - - var color = colors[ i ]; - - if ( color === undefined ) { - - console.warn( 'THREE.BufferAttribute.copyColorsArray(): color is undefined', i ); - color = new Color(); - - } - - array[ offset ++ ] = color.r; - array[ offset ++ ] = color.g; - array[ offset ++ ] = color.b; - - } - - return this; - - }, - - copyVector2sArray: function ( vectors ) { - - var array = this.array, offset = 0; - - for ( var i = 0, l = vectors.length; i < l; i ++ ) { - - var vector = vectors[ i ]; - - if ( vector === undefined ) { - - console.warn( 'THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i ); - vector = new Vector2(); - - } - - array[ offset ++ ] = vector.x; - array[ offset ++ ] = vector.y; - - } - - return this; - - }, - - copyVector3sArray: function ( vectors ) { - - var array = this.array, offset = 0; - - for ( var i = 0, l = vectors.length; i < l; i ++ ) { - - var vector = vectors[ i ]; - - if ( vector === undefined ) { - - console.warn( 'THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i ); - vector = new Vector3(); - - } - - array[ offset ++ ] = vector.x; - array[ offset ++ ] = vector.y; - array[ offset ++ ] = vector.z; - - } - - return this; - - }, - - copyVector4sArray: function ( vectors ) { - - var array = this.array, offset = 0; - - for ( var i = 0, l = vectors.length; i < l; i ++ ) { - - var vector = vectors[ i ]; - - if ( vector === undefined ) { - - console.warn( 'THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i ); - vector = new Vector4(); - - } - - array[ offset ++ ] = vector.x; - array[ offset ++ ] = vector.y; - array[ offset ++ ] = vector.z; - array[ offset ++ ] = vector.w; - - } - - return this; - - }, - - set: function ( value, offset ) { - - if ( offset === undefined ) offset = 0; - - this.array.set( value, offset ); - - return this; - - }, - - getX: function ( index ) { - - return this.array[ index * this.itemSize ]; - - }, - - setX: function ( index, x ) { - - this.array[ index * this.itemSize ] = x; - - return this; - - }, - - getY: function ( index ) { - - return this.array[ index * this.itemSize + 1 ]; - - }, - - setY: function ( index, y ) { - - this.array[ index * this.itemSize + 1 ] = y; - - return this; - - }, - - getZ: function ( index ) { - - return this.array[ index * this.itemSize + 2 ]; - - }, - - setZ: function ( index, z ) { - - this.array[ index * this.itemSize + 2 ] = z; - - return this; - - }, - - getW: function ( index ) { - - return this.array[ index * this.itemSize + 3 ]; - - }, - - setW: function ( index, w ) { - - this.array[ index * this.itemSize + 3 ] = w; - - return this; - - }, - - setXY: function ( index, x, y ) { - - index *= this.itemSize; - - this.array[ index + 0 ] = x; - this.array[ index + 1 ] = y; - - return this; - - }, - - setXYZ: function ( index, x, y, z ) { - - index *= this.itemSize; - - this.array[ index + 0 ] = x; - this.array[ index + 1 ] = y; - this.array[ index + 2 ] = z; - - return this; - - }, - - setXYZW: function ( index, x, y, z, w ) { - - index *= this.itemSize; - - this.array[ index + 0 ] = x; - this.array[ index + 1 ] = y; - this.array[ index + 2 ] = z; - this.array[ index + 3 ] = w; - - return this; - - }, - - onUpload: function ( callback ) { - - this.onUploadCallback = callback; - - return this; - - }, - - clone: function () { - - return new this.constructor( this.array, this.itemSize ).copy( this ); - - } - - } ); - - // - - function Int8BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Int8Array( array ), itemSize, normalized ); - - } - - Int8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Int8BufferAttribute.prototype.constructor = Int8BufferAttribute; - - - function Uint8BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Uint8Array( array ), itemSize, normalized ); - - } - - Uint8BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Uint8BufferAttribute.prototype.constructor = Uint8BufferAttribute; - - - function Uint8ClampedBufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Uint8ClampedArray( array ), itemSize, normalized ); - - } - - Uint8ClampedBufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Uint8ClampedBufferAttribute.prototype.constructor = Uint8ClampedBufferAttribute; - - - function Int16BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Int16Array( array ), itemSize, normalized ); - - } - - Int16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Int16BufferAttribute.prototype.constructor = Int16BufferAttribute; - - - function Uint16BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Uint16Array( array ), itemSize, normalized ); - - } - - Uint16BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Uint16BufferAttribute.prototype.constructor = Uint16BufferAttribute; - - - function Int32BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Int32Array( array ), itemSize, normalized ); - - } - - Int32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Int32BufferAttribute.prototype.constructor = Int32BufferAttribute; - - - function Uint32BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Uint32Array( array ), itemSize, normalized ); - - } - - Uint32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Uint32BufferAttribute.prototype.constructor = Uint32BufferAttribute; - - - function Float32BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Float32Array( array ), itemSize, normalized ); - - } - - Float32BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Float32BufferAttribute.prototype.constructor = Float32BufferAttribute; - - - function Float64BufferAttribute( array, itemSize, normalized ) { - - BufferAttribute.call( this, new Float64Array( array ), itemSize, normalized ); - - } - - Float64BufferAttribute.prototype = Object.create( BufferAttribute.prototype ); - Float64BufferAttribute.prototype.constructor = Float64BufferAttribute; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function DirectGeometry() { - - this.vertices = []; - this.normals = []; - this.colors = []; - this.uvs = []; - this.uvs2 = []; - - this.groups = []; - - this.morphTargets = {}; - - this.skinWeights = []; - this.skinIndices = []; - - // this.lineDistances = []; - - this.boundingBox = null; - this.boundingSphere = null; - - // update flags - - this.verticesNeedUpdate = false; - this.normalsNeedUpdate = false; - this.colorsNeedUpdate = false; - this.uvsNeedUpdate = false; - this.groupsNeedUpdate = false; - - } - - Object.assign( DirectGeometry.prototype, { - - computeGroups: function ( geometry ) { - - var group; - var groups = []; - var materialIndex = undefined; - - var faces = geometry.faces; - - for ( var i = 0; i < faces.length; i ++ ) { - - var face = faces[ i ]; - - // materials - - if ( face.materialIndex !== materialIndex ) { - - materialIndex = face.materialIndex; - - if ( group !== undefined ) { - - group.count = ( i * 3 ) - group.start; - groups.push( group ); - - } - - group = { - start: i * 3, - materialIndex: materialIndex - }; - - } - - } - - if ( group !== undefined ) { - - group.count = ( i * 3 ) - group.start; - groups.push( group ); - - } - - this.groups = groups; - - }, - - fromGeometry: function ( geometry ) { - - var faces = geometry.faces; - var vertices = geometry.vertices; - var faceVertexUvs = geometry.faceVertexUvs; - - var hasFaceVertexUv = faceVertexUvs[ 0 ] && faceVertexUvs[ 0 ].length > 0; - var hasFaceVertexUv2 = faceVertexUvs[ 1 ] && faceVertexUvs[ 1 ].length > 0; - - // morphs - - var morphTargets = geometry.morphTargets; - var morphTargetsLength = morphTargets.length; - - var morphTargetsPosition; - - if ( morphTargetsLength > 0 ) { - - morphTargetsPosition = []; - - for ( var i = 0; i < morphTargetsLength; i ++ ) { - - morphTargetsPosition[ i ] = { - name: morphTargets[ i ].name, - data: [] - }; - - } - - this.morphTargets.position = morphTargetsPosition; - - } - - var morphNormals = geometry.morphNormals; - var morphNormalsLength = morphNormals.length; - - var morphTargetsNormal; - - if ( morphNormalsLength > 0 ) { - - morphTargetsNormal = []; - - for ( var i = 0; i < morphNormalsLength; i ++ ) { - - morphTargetsNormal[ i ] = { - name: morphNormals[ i ].name, - data: [] - }; - - } - - this.morphTargets.normal = morphTargetsNormal; - - } - - // skins - - var skinIndices = geometry.skinIndices; - var skinWeights = geometry.skinWeights; - - var hasSkinIndices = skinIndices.length === vertices.length; - var hasSkinWeights = skinWeights.length === vertices.length; - - // - - if ( vertices.length > 0 && faces.length === 0 ) { - - console.error( 'THREE.DirectGeometry: Faceless geometries are not supported.' ); - - } - - for ( var i = 0; i < faces.length; i ++ ) { - - var face = faces[ i ]; - - this.vertices.push( vertices[ face.a ], vertices[ face.b ], vertices[ face.c ] ); - - var vertexNormals = face.vertexNormals; - - if ( vertexNormals.length === 3 ) { - - this.normals.push( vertexNormals[ 0 ], vertexNormals[ 1 ], vertexNormals[ 2 ] ); - - } else { - - var normal = face.normal; - - this.normals.push( normal, normal, normal ); - - } - - var vertexColors = face.vertexColors; - - if ( vertexColors.length === 3 ) { - - this.colors.push( vertexColors[ 0 ], vertexColors[ 1 ], vertexColors[ 2 ] ); - - } else { - - var color = face.color; - - this.colors.push( color, color, color ); - - } - - if ( hasFaceVertexUv === true ) { - - var vertexUvs = faceVertexUvs[ 0 ][ i ]; - - if ( vertexUvs !== undefined ) { - - this.uvs.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); - - } else { - - console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ', i ); - - this.uvs.push( new Vector2(), new Vector2(), new Vector2() ); - - } - - } - - if ( hasFaceVertexUv2 === true ) { - - var vertexUvs = faceVertexUvs[ 1 ][ i ]; - - if ( vertexUvs !== undefined ) { - - this.uvs2.push( vertexUvs[ 0 ], vertexUvs[ 1 ], vertexUvs[ 2 ] ); - - } else { - - console.warn( 'THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ', i ); - - this.uvs2.push( new Vector2(), new Vector2(), new Vector2() ); - - } - - } - - // morphs - - for ( var j = 0; j < morphTargetsLength; j ++ ) { - - var morphTarget = morphTargets[ j ].vertices; - - morphTargetsPosition[ j ].data.push( morphTarget[ face.a ], morphTarget[ face.b ], morphTarget[ face.c ] ); - - } - - for ( var j = 0; j < morphNormalsLength; j ++ ) { - - var morphNormal = morphNormals[ j ].vertexNormals[ i ]; - - morphTargetsNormal[ j ].data.push( morphNormal.a, morphNormal.b, morphNormal.c ); - - } - - // skins - - if ( hasSkinIndices ) { - - this.skinIndices.push( skinIndices[ face.a ], skinIndices[ face.b ], skinIndices[ face.c ] ); - - } - - if ( hasSkinWeights ) { - - this.skinWeights.push( skinWeights[ face.a ], skinWeights[ face.b ], skinWeights[ face.c ] ); - - } - - } - - this.computeGroups( geometry ); - - this.verticesNeedUpdate = geometry.verticesNeedUpdate; - this.normalsNeedUpdate = geometry.normalsNeedUpdate; - this.colorsNeedUpdate = geometry.colorsNeedUpdate; - this.uvsNeedUpdate = geometry.uvsNeedUpdate; - this.groupsNeedUpdate = geometry.groupsNeedUpdate; - - return this; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function arrayMax( array ) { - - if ( array.length === 0 ) return - Infinity; - - var max = array[ 0 ]; - - for ( var i = 1, l = array.length; i < l; ++ i ) { - - if ( array[ i ] > max ) max = array[ i ]; - - } - - return max; - - } - - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - */ - - var bufferGeometryId = 1; // BufferGeometry uses odd numbers as Id - - function BufferGeometry() { - - Object.defineProperty( this, 'id', { value: bufferGeometryId += 2 } ); - - this.uuid = _Math.generateUUID(); - - this.name = ''; - this.type = 'BufferGeometry'; - - this.index = null; - this.attributes = {}; - - this.morphAttributes = {}; - - this.groups = []; - - this.boundingBox = null; - this.boundingSphere = null; - - this.drawRange = { start: 0, count: Infinity }; - - this.userData = {}; - - } - - BufferGeometry.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { - - constructor: BufferGeometry, - - isBufferGeometry: true, - - getIndex: function () { - - return this.index; - - }, - - setIndex: function ( index ) { - - if ( Array.isArray( index ) ) { - - this.index = new ( arrayMax( index ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( index, 1 ); - - } else { - - this.index = index; - - } - - }, - - addAttribute: function ( name, attribute ) { - - if ( ! ( attribute && attribute.isBufferAttribute ) && ! ( attribute && attribute.isInterleavedBufferAttribute ) ) { - - console.warn( 'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).' ); - - return this.addAttribute( name, new BufferAttribute( arguments[ 1 ], arguments[ 2 ] ) ); - - } - - if ( name === 'index' ) { - - console.warn( 'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.' ); - this.setIndex( attribute ); - - return this; - - } - - this.attributes[ name ] = attribute; - - return this; - - }, - - getAttribute: function ( name ) { - - return this.attributes[ name ]; - - }, - - removeAttribute: function ( name ) { - - delete this.attributes[ name ]; - - return this; - - }, - - addGroup: function ( start, count, materialIndex ) { - - this.groups.push( { - - start: start, - count: count, - materialIndex: materialIndex !== undefined ? materialIndex : 0 - - } ); - - }, - - clearGroups: function () { - - this.groups = []; - - }, - - setDrawRange: function ( start, count ) { - - this.drawRange.start = start; - this.drawRange.count = count; - - }, - - applyMatrix: function ( matrix ) { - - var position = this.attributes.position; - - if ( position !== undefined ) { - - matrix.applyToBufferAttribute( position ); - position.needsUpdate = true; - - } - - var normal = this.attributes.normal; - - if ( normal !== undefined ) { - - var normalMatrix = new Matrix3().getNormalMatrix( matrix ); - - normalMatrix.applyToBufferAttribute( normal ); - normal.needsUpdate = true; - - } - - var tangent = this.attributes.tangent; - - if ( tangent !== undefined ) { - - var normalMatrix = new Matrix3().getNormalMatrix( matrix ); - - // Tangent is vec4, but the '.w' component is a sign value (+1/-1). - normalMatrix.applyToBufferAttribute( tangent ); - tangent.needsUpdate = true; - - } - - if ( this.boundingBox !== null ) { - - this.computeBoundingBox(); - - } - - if ( this.boundingSphere !== null ) { - - this.computeBoundingSphere(); - - } - - return this; - - }, - - rotateX: function () { - - // rotate geometry around world x-axis - - var m1 = new Matrix4(); - - return function rotateX( angle ) { - - m1.makeRotationX( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - rotateY: function () { - - // rotate geometry around world y-axis - - var m1 = new Matrix4(); - - return function rotateY( angle ) { - - m1.makeRotationY( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - rotateZ: function () { - - // rotate geometry around world z-axis - - var m1 = new Matrix4(); - - return function rotateZ( angle ) { - - m1.makeRotationZ( angle ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - translate: function () { - - // translate geometry - - var m1 = new Matrix4(); - - return function translate( x, y, z ) { - - m1.makeTranslation( x, y, z ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - scale: function () { - - // scale geometry - - var m1 = new Matrix4(); - - return function scale( x, y, z ) { - - m1.makeScale( x, y, z ); - - this.applyMatrix( m1 ); - - return this; - - }; - - }(), - - lookAt: function () { - - var obj = new Object3D(); - - return function lookAt( vector ) { - - obj.lookAt( vector ); - - obj.updateMatrix(); - - this.applyMatrix( obj.matrix ); - - }; - - }(), - - center: function () { - - var offset = new Vector3(); - - return function center() { - - this.computeBoundingBox(); - - this.boundingBox.getCenter( offset ).negate(); - - this.translate( offset.x, offset.y, offset.z ); - - return this; - - }; - - }(), - - setFromObject: function ( object ) { - - // console.log( 'THREE.BufferGeometry.setFromObject(). Converting', object, this ); - - var geometry = object.geometry; - - if ( object.isPoints || object.isLine ) { - - var positions = new Float32BufferAttribute( geometry.vertices.length * 3, 3 ); - var colors = new Float32BufferAttribute( geometry.colors.length * 3, 3 ); - - this.addAttribute( 'position', positions.copyVector3sArray( geometry.vertices ) ); - this.addAttribute( 'color', colors.copyColorsArray( geometry.colors ) ); - - if ( geometry.lineDistances && geometry.lineDistances.length === geometry.vertices.length ) { - - var lineDistances = new Float32BufferAttribute( geometry.lineDistances.length, 1 ); - - this.addAttribute( 'lineDistance', lineDistances.copyArray( geometry.lineDistances ) ); - - } - - if ( geometry.boundingSphere !== null ) { - - this.boundingSphere = geometry.boundingSphere.clone(); - - } - - if ( geometry.boundingBox !== null ) { - - this.boundingBox = geometry.boundingBox.clone(); - - } - - } else if ( object.isMesh ) { - - if ( geometry && geometry.isGeometry ) { - - this.fromGeometry( geometry ); - - } - - } - - return this; - - }, - - setFromPoints: function ( points ) { - - var position = []; - - for ( var i = 0, l = points.length; i < l; i ++ ) { - - var point = points[ i ]; - position.push( point.x, point.y, point.z || 0 ); - - } - - this.addAttribute( 'position', new Float32BufferAttribute( position, 3 ) ); - - return this; - - }, - - updateFromObject: function ( object ) { - - var geometry = object.geometry; - - if ( object.isMesh ) { - - var direct = geometry.__directGeometry; - - if ( geometry.elementsNeedUpdate === true ) { - - direct = undefined; - geometry.elementsNeedUpdate = false; - - } - - if ( direct === undefined ) { - - return this.fromGeometry( geometry ); - - } - - direct.verticesNeedUpdate = geometry.verticesNeedUpdate; - direct.normalsNeedUpdate = geometry.normalsNeedUpdate; - direct.colorsNeedUpdate = geometry.colorsNeedUpdate; - direct.uvsNeedUpdate = geometry.uvsNeedUpdate; - direct.groupsNeedUpdate = geometry.groupsNeedUpdate; - - geometry.verticesNeedUpdate = false; - geometry.normalsNeedUpdate = false; - geometry.colorsNeedUpdate = false; - geometry.uvsNeedUpdate = false; - geometry.groupsNeedUpdate = false; - - geometry = direct; - - } - - var attribute; - - if ( geometry.verticesNeedUpdate === true ) { - - attribute = this.attributes.position; - - if ( attribute !== undefined ) { - - attribute.copyVector3sArray( geometry.vertices ); - attribute.needsUpdate = true; - - } - - geometry.verticesNeedUpdate = false; - - } - - if ( geometry.normalsNeedUpdate === true ) { - - attribute = this.attributes.normal; - - if ( attribute !== undefined ) { - - attribute.copyVector3sArray( geometry.normals ); - attribute.needsUpdate = true; - - } - - geometry.normalsNeedUpdate = false; - - } - - if ( geometry.colorsNeedUpdate === true ) { - - attribute = this.attributes.color; - - if ( attribute !== undefined ) { - - attribute.copyColorsArray( geometry.colors ); - attribute.needsUpdate = true; - - } - - geometry.colorsNeedUpdate = false; - - } - - if ( geometry.uvsNeedUpdate ) { - - attribute = this.attributes.uv; - - if ( attribute !== undefined ) { - - attribute.copyVector2sArray( geometry.uvs ); - attribute.needsUpdate = true; - - } - - geometry.uvsNeedUpdate = false; - - } - - if ( geometry.lineDistancesNeedUpdate ) { - - attribute = this.attributes.lineDistance; - - if ( attribute !== undefined ) { - - attribute.copyArray( geometry.lineDistances ); - attribute.needsUpdate = true; - - } - - geometry.lineDistancesNeedUpdate = false; - - } - - if ( geometry.groupsNeedUpdate ) { - - geometry.computeGroups( object.geometry ); - this.groups = geometry.groups; - - geometry.groupsNeedUpdate = false; - - } - - return this; - - }, - - fromGeometry: function ( geometry ) { - - geometry.__directGeometry = new DirectGeometry().fromGeometry( geometry ); - - return this.fromDirectGeometry( geometry.__directGeometry ); - - }, - - fromDirectGeometry: function ( geometry ) { - - var positions = new Float32Array( geometry.vertices.length * 3 ); - this.addAttribute( 'position', new BufferAttribute( positions, 3 ).copyVector3sArray( geometry.vertices ) ); - - if ( geometry.normals.length > 0 ) { - - var normals = new Float32Array( geometry.normals.length * 3 ); - this.addAttribute( 'normal', new BufferAttribute( normals, 3 ).copyVector3sArray( geometry.normals ) ); - - } - - if ( geometry.colors.length > 0 ) { - - var colors = new Float32Array( geometry.colors.length * 3 ); - this.addAttribute( 'color', new BufferAttribute( colors, 3 ).copyColorsArray( geometry.colors ) ); - - } - - if ( geometry.uvs.length > 0 ) { - - var uvs = new Float32Array( geometry.uvs.length * 2 ); - this.addAttribute( 'uv', new BufferAttribute( uvs, 2 ).copyVector2sArray( geometry.uvs ) ); - - } - - if ( geometry.uvs2.length > 0 ) { - - var uvs2 = new Float32Array( geometry.uvs2.length * 2 ); - this.addAttribute( 'uv2', new BufferAttribute( uvs2, 2 ).copyVector2sArray( geometry.uvs2 ) ); - - } - - // groups - - this.groups = geometry.groups; - - // morphs - - for ( var name in geometry.morphTargets ) { - - var array = []; - var morphTargets = geometry.morphTargets[ name ]; - - for ( var i = 0, l = morphTargets.length; i < l; i ++ ) { - - var morphTarget = morphTargets[ i ]; - - var attribute = new Float32BufferAttribute( morphTarget.data.length * 3, 3 ); - attribute.name = morphTarget.name; - - array.push( attribute.copyVector3sArray( morphTarget.data ) ); - - } - - this.morphAttributes[ name ] = array; - - } - - // skinning - - if ( geometry.skinIndices.length > 0 ) { - - var skinIndices = new Float32BufferAttribute( geometry.skinIndices.length * 4, 4 ); - this.addAttribute( 'skinIndex', skinIndices.copyVector4sArray( geometry.skinIndices ) ); - - } - - if ( geometry.skinWeights.length > 0 ) { - - var skinWeights = new Float32BufferAttribute( geometry.skinWeights.length * 4, 4 ); - this.addAttribute( 'skinWeight', skinWeights.copyVector4sArray( geometry.skinWeights ) ); - - } - - // - - if ( geometry.boundingSphere !== null ) { - - this.boundingSphere = geometry.boundingSphere.clone(); - - } - - if ( geometry.boundingBox !== null ) { - - this.boundingBox = geometry.boundingBox.clone(); - - } - - return this; - - }, - - computeBoundingBox: function () { - - var box = new Box3(); - - return function computeBoundingBox() { - - if ( this.boundingBox === null ) { - - this.boundingBox = new Box3(); - - } - - var position = this.attributes.position; - var morphAttributesPosition = this.morphAttributes.position; - - if ( position !== undefined ) { - - this.boundingBox.setFromBufferAttribute( position ); - - // process morph attributes if present - - if ( morphAttributesPosition ) { - - for ( var i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { - - var morphAttribute = morphAttributesPosition[ i ]; - box.setFromBufferAttribute( morphAttribute ); - - this.boundingBox.expandByPoint( box.min ); - this.boundingBox.expandByPoint( box.max ); - - } - - } - - } else { - - this.boundingBox.makeEmpty(); - - } - - if ( isNaN( this.boundingBox.min.x ) || isNaN( this.boundingBox.min.y ) || isNaN( this.boundingBox.min.z ) ) { - - console.error( 'THREE.BufferGeometry.computeBoundingBox: Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this ); - - } - - }; - - }(), - - computeBoundingSphere: function () { - - var box = new Box3(); - var boxMorphTargets = new Box3(); - var vector = new Vector3(); - - return function computeBoundingSphere() { - - if ( this.boundingSphere === null ) { - - this.boundingSphere = new Sphere(); - - } - - var position = this.attributes.position; - var morphAttributesPosition = this.morphAttributes.position; - - if ( position ) { - - // first, find the center of the bounding sphere - - var center = this.boundingSphere.center; - - box.setFromBufferAttribute( position ); - - // process morph attributes if present - - if ( morphAttributesPosition ) { - - for ( var i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { - - var morphAttribute = morphAttributesPosition[ i ]; - boxMorphTargets.setFromBufferAttribute( morphAttribute ); - - box.expandByPoint( boxMorphTargets.min ); - box.expandByPoint( boxMorphTargets.max ); - - } - - } - - box.getCenter( center ); - - // second, try to find a boundingSphere with a radius smaller than the - // boundingSphere of the boundingBox: sqrt(3) smaller in the best case - - var maxRadiusSq = 0; - - for ( var i = 0, il = position.count; i < il; i ++ ) { - - vector.fromBufferAttribute( position, i ); - - maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); - - } - - // process morph attributes if present - - if ( morphAttributesPosition ) { - - for ( var i = 0, il = morphAttributesPosition.length; i < il; i ++ ) { - - var morphAttribute = morphAttributesPosition[ i ]; - - for ( var j = 0, jl = morphAttribute.count; j < jl; j ++ ) { - - vector.fromBufferAttribute( morphAttribute, i ); - - maxRadiusSq = Math.max( maxRadiusSq, center.distanceToSquared( vector ) ); - - } - - } - - } - - this.boundingSphere.radius = Math.sqrt( maxRadiusSq ); - - if ( isNaN( this.boundingSphere.radius ) ) { - - console.error( 'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this ); - - } - - } - - }; - - }(), - - computeFaceNormals: function () { - - // backwards compatibility - - }, - - computeVertexNormals: function () { - - var index = this.index; - var attributes = this.attributes; - - if ( attributes.position ) { - - var positions = attributes.position.array; - - if ( attributes.normal === undefined ) { - - this.addAttribute( 'normal', new BufferAttribute( new Float32Array( positions.length ), 3 ) ); - - } else { - - // reset existing normals to zero - - var array = attributes.normal.array; - - for ( var i = 0, il = array.length; i < il; i ++ ) { - - array[ i ] = 0; - - } - - } - - var normals = attributes.normal.array; - - var vA, vB, vC; - var pA = new Vector3(), pB = new Vector3(), pC = new Vector3(); - var cb = new Vector3(), ab = new Vector3(); - - // indexed elements - - if ( index ) { - - var indices = index.array; - - for ( var i = 0, il = index.count; i < il; i += 3 ) { - - vA = indices[ i + 0 ] * 3; - vB = indices[ i + 1 ] * 3; - vC = indices[ i + 2 ] * 3; - - pA.fromArray( positions, vA ); - pB.fromArray( positions, vB ); - pC.fromArray( positions, vC ); - - cb.subVectors( pC, pB ); - ab.subVectors( pA, pB ); - cb.cross( ab ); - - normals[ vA ] += cb.x; - normals[ vA + 1 ] += cb.y; - normals[ vA + 2 ] += cb.z; - - normals[ vB ] += cb.x; - normals[ vB + 1 ] += cb.y; - normals[ vB + 2 ] += cb.z; - - normals[ vC ] += cb.x; - normals[ vC + 1 ] += cb.y; - normals[ vC + 2 ] += cb.z; - - } - - } else { - - // non-indexed elements (unconnected triangle soup) - - for ( var i = 0, il = positions.length; i < il; i += 9 ) { - - pA.fromArray( positions, i ); - pB.fromArray( positions, i + 3 ); - pC.fromArray( positions, i + 6 ); - - cb.subVectors( pC, pB ); - ab.subVectors( pA, pB ); - cb.cross( ab ); - - normals[ i ] = cb.x; - normals[ i + 1 ] = cb.y; - normals[ i + 2 ] = cb.z; - - normals[ i + 3 ] = cb.x; - normals[ i + 4 ] = cb.y; - normals[ i + 5 ] = cb.z; - - normals[ i + 6 ] = cb.x; - normals[ i + 7 ] = cb.y; - normals[ i + 8 ] = cb.z; - - } - - } - - this.normalizeNormals(); - - attributes.normal.needsUpdate = true; - - } - - }, - - merge: function ( geometry, offset ) { - - if ( ! ( geometry && geometry.isBufferGeometry ) ) { - - console.error( 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', geometry ); - return; - - } - - if ( offset === undefined ) { - - offset = 0; - - console.warn( - 'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. ' - + 'Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.' - ); - - } - - var attributes = this.attributes; - - for ( var key in attributes ) { - - if ( geometry.attributes[ key ] === undefined ) continue; - - var attribute1 = attributes[ key ]; - var attributeArray1 = attribute1.array; - - var attribute2 = geometry.attributes[ key ]; - var attributeArray2 = attribute2.array; - - var attributeSize = attribute2.itemSize; - - for ( var i = 0, j = attributeSize * offset; i < attributeArray2.length; i ++, j ++ ) { - - attributeArray1[ j ] = attributeArray2[ i ]; - - } - - } - - return this; - - }, - - normalizeNormals: function () { - - var vector = new Vector3(); - - return function normalizeNormals() { - - var normals = this.attributes.normal; - - for ( var i = 0, il = normals.count; i < il; i ++ ) { - - vector.x = normals.getX( i ); - vector.y = normals.getY( i ); - vector.z = normals.getZ( i ); - - vector.normalize(); - - normals.setXYZ( i, vector.x, vector.y, vector.z ); - - } - - }; - - }(), - - toNonIndexed: function () { - - function convertBufferAttribute( attribute, indices ) { - - var array = attribute.array; - var itemSize = attribute.itemSize; - - var array2 = new array.constructor( indices.length * itemSize ); - - var index = 0, index2 = 0; - - for ( var i = 0, l = indices.length; i < l; i ++ ) { - - index = indices[ i ] * itemSize; - - for ( var j = 0; j < itemSize; j ++ ) { - - array2[ index2 ++ ] = array[ index ++ ]; - - } - - } - - return new BufferAttribute( array2, itemSize ); - - } - - // - - if ( this.index === null ) { - - console.warn( 'THREE.BufferGeometry.toNonIndexed(): Geometry is already non-indexed.' ); - return this; - - } - - var geometry2 = new BufferGeometry(); - - var indices = this.index.array; - var attributes = this.attributes; - - // attributes - - for ( var name in attributes ) { - - var attribute = attributes[ name ]; - - var newAttribute = convertBufferAttribute( attribute, indices ); - - geometry2.addAttribute( name, newAttribute ); - - } - - // morph attributes - - var morphAttributes = this.morphAttributes; - - for ( name in morphAttributes ) { - - var morphArray = []; - var morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes - - for ( var i = 0, il = morphAttribute.length; i < il; i ++ ) { - - var attribute = morphAttribute[ i ]; - - var newAttribute = convertBufferAttribute( attribute, indices ); - - morphArray.push( newAttribute ); - - } - - geometry2.morphAttributes[ name ] = morphArray; - - } - - // groups - - var groups = this.groups; - - for ( var i = 0, l = groups.length; i < l; i ++ ) { - - var group = groups[ i ]; - geometry2.addGroup( group.start, group.count, group.materialIndex ); - - } - - return geometry2; - - }, - - toJSON: function () { - - var data = { - metadata: { - version: 4.5, - type: 'BufferGeometry', - generator: 'BufferGeometry.toJSON' - } - }; - - // standard BufferGeometry serialization - - data.uuid = this.uuid; - data.type = this.type; - if ( this.name !== '' ) data.name = this.name; - if ( Object.keys( this.userData ).length > 0 ) data.userData = this.userData; - - if ( this.parameters !== undefined ) { - - var parameters = this.parameters; - - for ( var key in parameters ) { - - if ( parameters[ key ] !== undefined ) data[ key ] = parameters[ key ]; - - } - - return data; - - } - - data.data = { attributes: {} }; - - var index = this.index; - - if ( index !== null ) { - - data.data.index = { - type: index.array.constructor.name, - array: Array.prototype.slice.call( index.array ) - }; - - } - - var attributes = this.attributes; - - for ( var key in attributes ) { - - var attribute = attributes[ key ]; - - var attributeData = { - itemSize: attribute.itemSize, - type: attribute.array.constructor.name, - array: Array.prototype.slice.call( attribute.array ), - normalized: attribute.normalized - }; - - if ( attribute.name !== '' ) attributeData.name = attribute.name; - - data.data.attributes[ key ] = attributeData; - - } - - var morphAttributes = {}; - var hasMorphAttributes = false; - - for ( var key in this.morphAttributes ) { - - var attributeArray = this.morphAttributes[ key ]; - - var array = []; - - for ( var i = 0, il = attributeArray.length; i < il; i ++ ) { - - var attribute = attributeArray[ i ]; - - var attributeData = { - itemSize: attribute.itemSize, - type: attribute.array.constructor.name, - array: Array.prototype.slice.call( attribute.array ), - normalized: attribute.normalized - }; - - if ( attribute.name !== '' ) attributeData.name = attribute.name; - - array.push( attributeData ); - - } - - if ( array.length > 0 ) { - - morphAttributes[ key ] = array; - - hasMorphAttributes = true; - - } - - } - - if ( hasMorphAttributes ) data.data.morphAttributes = morphAttributes; - - var groups = this.groups; - - if ( groups.length > 0 ) { - - data.data.groups = JSON.parse( JSON.stringify( groups ) ); - - } - - var boundingSphere = this.boundingSphere; - - if ( boundingSphere !== null ) { - - data.data.boundingSphere = { - center: boundingSphere.center.toArray(), - radius: boundingSphere.radius - }; - - } - - return data; - - }, - - clone: function () { - - /* - // Handle primitives - - var parameters = this.parameters; - - if ( parameters !== undefined ) { - - var values = []; - - for ( var key in parameters ) { - - values.push( parameters[ key ] ); - - } - - var geometry = Object.create( this.constructor.prototype ); - this.constructor.apply( geometry, values ); - return geometry; - - } - - return new this.constructor().copy( this ); - */ - - return new BufferGeometry().copy( this ); - - }, - - copy: function ( source ) { - - var name, i, l; - - // reset - - this.index = null; - this.attributes = {}; - this.morphAttributes = {}; - this.groups = []; - this.boundingBox = null; - this.boundingSphere = null; - - // name - - this.name = source.name; - - // index - - var index = source.index; - - if ( index !== null ) { - - this.setIndex( index.clone() ); - - } - - // attributes - - var attributes = source.attributes; - - for ( name in attributes ) { - - var attribute = attributes[ name ]; - this.addAttribute( name, attribute.clone() ); - - } - - // morph attributes - - var morphAttributes = source.morphAttributes; - - for ( name in morphAttributes ) { - - var array = []; - var morphAttribute = morphAttributes[ name ]; // morphAttribute: array of Float32BufferAttributes - - for ( i = 0, l = morphAttribute.length; i < l; i ++ ) { - - array.push( morphAttribute[ i ].clone() ); - - } - - this.morphAttributes[ name ] = array; - - } - - // groups - - var groups = source.groups; - - for ( i = 0, l = groups.length; i < l; i ++ ) { - - var group = groups[ i ]; - this.addGroup( group.start, group.count, group.materialIndex ); - - } - - // bounding box - - var boundingBox = source.boundingBox; - - if ( boundingBox !== null ) { - - this.boundingBox = boundingBox.clone(); - - } - - // bounding sphere - - var boundingSphere = source.boundingSphere; - - if ( boundingSphere !== null ) { - - this.boundingSphere = boundingSphere.clone(); - - } - - // draw range - - this.drawRange.start = source.drawRange.start; - this.drawRange.count = source.drawRange.count; - - // user data - - this.userData = source.userData; - - return this; - - }, - - dispose: function () { - - this.dispatchEvent( { type: 'dispose' } ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ - - // BoxGeometry - - function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { - - Geometry.call( this ); - - this.type = 'BoxGeometry'; - - this.parameters = { - width: width, - height: height, - depth: depth, - widthSegments: widthSegments, - heightSegments: heightSegments, - depthSegments: depthSegments - }; - - this.fromBufferGeometry( new BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) ); - this.mergeVertices(); - - } - - BoxGeometry.prototype = Object.create( Geometry.prototype ); - BoxGeometry.prototype.constructor = BoxGeometry; - - // BoxBufferGeometry - - function BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) { - - BufferGeometry.call( this ); - - this.type = 'BoxBufferGeometry'; - - this.parameters = { - width: width, - height: height, - depth: depth, - widthSegments: widthSegments, - heightSegments: heightSegments, - depthSegments: depthSegments - }; - - var scope = this; - - width = width || 1; - height = height || 1; - depth = depth || 1; - - // segments - - widthSegments = Math.floor( widthSegments ) || 1; - heightSegments = Math.floor( heightSegments ) || 1; - depthSegments = Math.floor( depthSegments ) || 1; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var numberOfVertices = 0; - var groupStart = 0; - - // build each side of the box geometry - - buildPlane( 'z', 'y', 'x', - 1, - 1, depth, height, width, depthSegments, heightSegments, 0 ); // px - buildPlane( 'z', 'y', 'x', 1, - 1, depth, height, - width, depthSegments, heightSegments, 1 ); // nx - buildPlane( 'x', 'z', 'y', 1, 1, width, depth, height, widthSegments, depthSegments, 2 ); // py - buildPlane( 'x', 'z', 'y', 1, - 1, width, depth, - height, widthSegments, depthSegments, 3 ); // ny - buildPlane( 'x', 'y', 'z', 1, - 1, width, height, depth, widthSegments, heightSegments, 4 ); // pz - buildPlane( 'x', 'y', 'z', - 1, - 1, width, height, - depth, widthSegments, heightSegments, 5 ); // nz - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - function buildPlane( u, v, w, udir, vdir, width, height, depth, gridX, gridY, materialIndex ) { - - var segmentWidth = width / gridX; - var segmentHeight = height / gridY; - - var widthHalf = width / 2; - var heightHalf = height / 2; - var depthHalf = depth / 2; - - var gridX1 = gridX + 1; - var gridY1 = gridY + 1; - - var vertexCounter = 0; - var groupCount = 0; - - var ix, iy; - - var vector = new Vector3(); - - // generate vertices, normals and uvs - - for ( iy = 0; iy < gridY1; iy ++ ) { - - var y = iy * segmentHeight - heightHalf; - - for ( ix = 0; ix < gridX1; ix ++ ) { - - var x = ix * segmentWidth - widthHalf; - - // set values to correct vector component - - vector[ u ] = x * udir; - vector[ v ] = y * vdir; - vector[ w ] = depthHalf; - - // now apply vector to vertex buffer - - vertices.push( vector.x, vector.y, vector.z ); - - // set values to correct vector component - - vector[ u ] = 0; - vector[ v ] = 0; - vector[ w ] = depth > 0 ? 1 : - 1; - - // now apply vector to normal buffer - - normals.push( vector.x, vector.y, vector.z ); - - // uvs - - uvs.push( ix / gridX ); - uvs.push( 1 - ( iy / gridY ) ); - - // counters - - vertexCounter += 1; - - } - - } - - // indices - - // 1. you need three indices to draw a single face - // 2. a single segment consists of two faces - // 3. so we need to generate six (2*3) indices per segment - - for ( iy = 0; iy < gridY; iy ++ ) { - - for ( ix = 0; ix < gridX; ix ++ ) { - - var a = numberOfVertices + ix + gridX1 * iy; - var b = numberOfVertices + ix + gridX1 * ( iy + 1 ); - var c = numberOfVertices + ( ix + 1 ) + gridX1 * ( iy + 1 ); - var d = numberOfVertices + ( ix + 1 ) + gridX1 * iy; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - // increase counter - - groupCount += 6; - - } - - } - - // add a group to the geometry. this will ensure multi material support - - scope.addGroup( groupStart, groupCount, materialIndex ); - - // calculate new start value for groups - - groupStart += groupCount; - - // update total number of vertices - - numberOfVertices += vertexCounter; - - } - - } - - BoxBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - BoxBufferGeometry.prototype.constructor = BoxBufferGeometry; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ - - // PlaneGeometry - - function PlaneGeometry( width, height, widthSegments, heightSegments ) { - - Geometry.call( this ); - - this.type = 'PlaneGeometry'; - - this.parameters = { - width: width, - height: height, - widthSegments: widthSegments, - heightSegments: heightSegments - }; - - this.fromBufferGeometry( new PlaneBufferGeometry( width, height, widthSegments, heightSegments ) ); - this.mergeVertices(); - - } - - PlaneGeometry.prototype = Object.create( Geometry.prototype ); - PlaneGeometry.prototype.constructor = PlaneGeometry; - - // PlaneBufferGeometry - - function PlaneBufferGeometry( width, height, widthSegments, heightSegments ) { - - BufferGeometry.call( this ); - - this.type = 'PlaneBufferGeometry'; - - this.parameters = { - width: width, - height: height, - widthSegments: widthSegments, - heightSegments: heightSegments - }; - - width = width || 1; - height = height || 1; - - var width_half = width / 2; - var height_half = height / 2; - - var gridX = Math.floor( widthSegments ) || 1; - var gridY = Math.floor( heightSegments ) || 1; - - var gridX1 = gridX + 1; - var gridY1 = gridY + 1; - - var segment_width = width / gridX; - var segment_height = height / gridY; - - var ix, iy; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // generate vertices, normals and uvs - - for ( iy = 0; iy < gridY1; iy ++ ) { - - var y = iy * segment_height - height_half; - - for ( ix = 0; ix < gridX1; ix ++ ) { - - var x = ix * segment_width - width_half; - - vertices.push( x, - y, 0 ); - - normals.push( 0, 0, 1 ); - - uvs.push( ix / gridX ); - uvs.push( 1 - ( iy / gridY ) ); - - } - - } - - // indices - - for ( iy = 0; iy < gridY; iy ++ ) { - - for ( ix = 0; ix < gridX; ix ++ ) { - - var a = ix + gridX1 * iy; - var b = ix + gridX1 * ( iy + 1 ); - var c = ( ix + 1 ) + gridX1 * ( iy + 1 ); - var d = ( ix + 1 ) + gridX1 * iy; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - PlaneBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - PlaneBufferGeometry.prototype.constructor = PlaneBufferGeometry; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ - - var materialId = 0; - - function Material() { - - Object.defineProperty( this, 'id', { value: materialId ++ } ); - - this.uuid = _Math.generateUUID(); - - this.name = ''; - this.type = 'Material'; - - this.fog = true; - this.lights = true; - - this.blending = NormalBlending; - this.side = FrontSide; - this.flatShading = false; - this.vertexTangents = false; - this.vertexColors = NoColors; // THREE.NoColors, THREE.VertexColors, THREE.FaceColors - - this.opacity = 1; - this.transparent = false; - - this.blendSrc = SrcAlphaFactor; - this.blendDst = OneMinusSrcAlphaFactor; - this.blendEquation = AddEquation; - this.blendSrcAlpha = null; - this.blendDstAlpha = null; - this.blendEquationAlpha = null; - - this.depthFunc = LessEqualDepth; - this.depthTest = true; - this.depthWrite = true; - - this.clippingPlanes = null; - this.clipIntersection = false; - this.clipShadows = false; - - this.shadowSide = null; - - this.colorWrite = true; - - this.precision = null; // override the renderer's default precision for this material - - this.polygonOffset = false; - this.polygonOffsetFactor = 0; - this.polygonOffsetUnits = 0; - - this.dithering = false; - - this.alphaTest = 0; - this.premultipliedAlpha = false; - - this.visible = true; - - this.userData = {}; - - this.needsUpdate = true; - - } - - Material.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { - - constructor: Material, - - isMaterial: true, - - onBeforeCompile: function () {}, - - setValues: function ( values ) { - - if ( values === undefined ) return; - - for ( var key in values ) { - - var newValue = values[ key ]; - - if ( newValue === undefined ) { - - console.warn( "THREE.Material: '" + key + "' parameter is undefined." ); - continue; - - } - - // for backward compatability if shading is set in the constructor - if ( key === 'shading' ) { - - console.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); - this.flatShading = ( newValue === FlatShading ) ? true : false; - continue; - - } - - var currentValue = this[ key ]; - - if ( currentValue === undefined ) { - - console.warn( "THREE." + this.type + ": '" + key + "' is not a property of this material." ); - continue; - - } - - if ( currentValue && currentValue.isColor ) { - - currentValue.set( newValue ); - - } else if ( ( currentValue && currentValue.isVector3 ) && ( newValue && newValue.isVector3 ) ) { - - currentValue.copy( newValue ); - - } else { - - this[ key ] = newValue; - - } - - } - - }, - - toJSON: function ( meta ) { - - var isRoot = ( meta === undefined || typeof meta === 'string' ); - - if ( isRoot ) { - - meta = { - textures: {}, - images: {} - }; - - } - - var data = { - metadata: { - version: 4.5, - type: 'Material', - generator: 'Material.toJSON' - } - }; - - // standard Material serialization - data.uuid = this.uuid; - data.type = this.type; - - if ( this.name !== '' ) data.name = this.name; - - if ( this.color && this.color.isColor ) data.color = this.color.getHex(); - - if ( this.roughness !== undefined ) data.roughness = this.roughness; - if ( this.metalness !== undefined ) data.metalness = this.metalness; - - if ( this.emissive && this.emissive.isColor ) data.emissive = this.emissive.getHex(); - if ( this.emissiveIntensity !== 1 ) data.emissiveIntensity = this.emissiveIntensity; - - if ( this.specular && this.specular.isColor ) data.specular = this.specular.getHex(); - if ( this.shininess !== undefined ) data.shininess = this.shininess; - if ( this.clearCoat !== undefined ) data.clearCoat = this.clearCoat; - if ( this.clearCoatRoughness !== undefined ) data.clearCoatRoughness = this.clearCoatRoughness; - - if ( this.map && this.map.isTexture ) data.map = this.map.toJSON( meta ).uuid; - if ( this.alphaMap && this.alphaMap.isTexture ) data.alphaMap = this.alphaMap.toJSON( meta ).uuid; - if ( this.lightMap && this.lightMap.isTexture ) data.lightMap = this.lightMap.toJSON( meta ).uuid; - - if ( this.aoMap && this.aoMap.isTexture ) { - - data.aoMap = this.aoMap.toJSON( meta ).uuid; - data.aoMapIntensity = this.aoMapIntensity; - - } - - if ( this.bumpMap && this.bumpMap.isTexture ) { - - data.bumpMap = this.bumpMap.toJSON( meta ).uuid; - data.bumpScale = this.bumpScale; - - } - - if ( this.normalMap && this.normalMap.isTexture ) { - - data.normalMap = this.normalMap.toJSON( meta ).uuid; - data.normalMapType = this.normalMapType; - data.normalScale = this.normalScale.toArray(); - - } - - if ( this.displacementMap && this.displacementMap.isTexture ) { - - data.displacementMap = this.displacementMap.toJSON( meta ).uuid; - data.displacementScale = this.displacementScale; - data.displacementBias = this.displacementBias; - - } - - if ( this.roughnessMap && this.roughnessMap.isTexture ) data.roughnessMap = this.roughnessMap.toJSON( meta ).uuid; - if ( this.metalnessMap && this.metalnessMap.isTexture ) data.metalnessMap = this.metalnessMap.toJSON( meta ).uuid; - - if ( this.emissiveMap && this.emissiveMap.isTexture ) data.emissiveMap = this.emissiveMap.toJSON( meta ).uuid; - if ( this.specularMap && this.specularMap.isTexture ) data.specularMap = this.specularMap.toJSON( meta ).uuid; - - if ( this.envMap && this.envMap.isTexture ) { - - data.envMap = this.envMap.toJSON( meta ).uuid; - data.reflectivity = this.reflectivity; // Scale behind envMap - - if ( this.combine !== undefined ) data.combine = this.combine; - if ( this.envMapIntensity !== undefined ) data.envMapIntensity = this.envMapIntensity; - - } - - if ( this.gradientMap && this.gradientMap.isTexture ) { - - data.gradientMap = this.gradientMap.toJSON( meta ).uuid; - - } - - if ( this.size !== undefined ) data.size = this.size; - if ( this.sizeAttenuation !== undefined ) data.sizeAttenuation = this.sizeAttenuation; - - if ( this.blending !== NormalBlending ) data.blending = this.blending; - if ( this.flatShading === true ) data.flatShading = this.flatShading; - if ( this.side !== FrontSide ) data.side = this.side; - if ( this.vertexColors !== NoColors ) data.vertexColors = this.vertexColors; - - if ( this.opacity < 1 ) data.opacity = this.opacity; - if ( this.transparent === true ) data.transparent = this.transparent; - - data.depthFunc = this.depthFunc; - data.depthTest = this.depthTest; - data.depthWrite = this.depthWrite; - - // rotation (SpriteMaterial) - if ( this.rotation !== 0 ) data.rotation = this.rotation; - - if ( this.polygonOffset === true ) data.polygonOffset = true; - if ( this.polygonOffsetFactor !== 0 ) data.polygonOffsetFactor = this.polygonOffsetFactor; - if ( this.polygonOffsetUnits !== 0 ) data.polygonOffsetUnits = this.polygonOffsetUnits; - - if ( this.linewidth !== 1 ) data.linewidth = this.linewidth; - if ( this.dashSize !== undefined ) data.dashSize = this.dashSize; - if ( this.gapSize !== undefined ) data.gapSize = this.gapSize; - if ( this.scale !== undefined ) data.scale = this.scale; - - if ( this.dithering === true ) data.dithering = true; - - if ( this.alphaTest > 0 ) data.alphaTest = this.alphaTest; - if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha; - - if ( this.wireframe === true ) data.wireframe = this.wireframe; - if ( this.wireframeLinewidth > 1 ) data.wireframeLinewidth = this.wireframeLinewidth; - if ( this.wireframeLinecap !== 'round' ) data.wireframeLinecap = this.wireframeLinecap; - if ( this.wireframeLinejoin !== 'round' ) data.wireframeLinejoin = this.wireframeLinejoin; - - if ( this.morphTargets === true ) data.morphTargets = true; - if ( this.skinning === true ) data.skinning = true; - - if ( this.visible === false ) data.visible = false; - if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData; - - // TODO: Copied from Object3D.toJSON - - function extractFromCache( cache ) { - - var values = []; - - for ( var key in cache ) { - - var data = cache[ key ]; - delete data.metadata; - values.push( data ); - - } - - return values; - - } - - if ( isRoot ) { - - var textures = extractFromCache( meta.textures ); - var images = extractFromCache( meta.images ); - - if ( textures.length > 0 ) data.textures = textures; - if ( images.length > 0 ) data.images = images; - - } - - return data; - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( source ) { - - this.name = source.name; - - this.fog = source.fog; - this.lights = source.lights; - - this.blending = source.blending; - this.side = source.side; - this.flatShading = source.flatShading; - this.vertexColors = source.vertexColors; - - this.opacity = source.opacity; - this.transparent = source.transparent; - - this.blendSrc = source.blendSrc; - this.blendDst = source.blendDst; - this.blendEquation = source.blendEquation; - this.blendSrcAlpha = source.blendSrcAlpha; - this.blendDstAlpha = source.blendDstAlpha; - this.blendEquationAlpha = source.blendEquationAlpha; - - this.depthFunc = source.depthFunc; - this.depthTest = source.depthTest; - this.depthWrite = source.depthWrite; - - this.colorWrite = source.colorWrite; - - this.precision = source.precision; - - this.polygonOffset = source.polygonOffset; - this.polygonOffsetFactor = source.polygonOffsetFactor; - this.polygonOffsetUnits = source.polygonOffsetUnits; - - this.dithering = source.dithering; - - this.alphaTest = source.alphaTest; - this.premultipliedAlpha = source.premultipliedAlpha; - - this.visible = source.visible; - this.userData = JSON.parse( JSON.stringify( source.userData ) ); - - this.clipShadows = source.clipShadows; - this.clipIntersection = source.clipIntersection; - - var srcPlanes = source.clippingPlanes, - dstPlanes = null; - - if ( srcPlanes !== null ) { - - var n = srcPlanes.length; - dstPlanes = new Array( n ); - - for ( var i = 0; i !== n; ++ i ) - dstPlanes[ i ] = srcPlanes[ i ].clone(); - - } - - this.clippingPlanes = dstPlanes; - - this.shadowSide = source.shadowSide; - - return this; - - }, - - dispose: function () { - - this.dispatchEvent( { type: 'dispose' } ); - - } - - } ); - - var default_vertex = "void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"; - - var default_fragment = "void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}"; - - /** - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * defines: { "label" : "value" }, - * uniforms: { "parameter1": { value: 1.0 }, "parameter2": { value2: 2 } }, - * - * fragmentShader: , - * vertexShader: , - * - * wireframe: , - * wireframeLinewidth: , - * - * lights: , - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function ShaderMaterial( parameters ) { - - Material.call( this ); - - this.type = 'ShaderMaterial'; - - this.defines = {}; - this.uniforms = {}; - - this.vertexShader = default_vertex; - this.fragmentShader = default_fragment; - - this.linewidth = 1; - - this.wireframe = false; - this.wireframeLinewidth = 1; - - this.fog = false; // set to use scene fog - this.lights = false; // set to use scene lights - this.clipping = false; // set to use user-defined clipping planes - - this.skinning = false; // set to use skinning attribute streams - this.morphTargets = false; // set to use morph targets - this.morphNormals = false; // set to use morph normals - - this.extensions = { - derivatives: false, // set to use derivatives - fragDepth: false, // set to use fragment depth values - drawBuffers: false, // set to use draw buffers - shaderTextureLOD: false // set to use shader texture LOD - }; - - // When rendered geometry doesn't include these attributes but the material does, - // use these default values in WebGL. This avoids errors when buffer data is missing. - this.defaultAttributeValues = { - 'color': [ 1, 1, 1 ], - 'uv': [ 0, 0 ], - 'uv2': [ 0, 0 ] - }; - - this.index0AttributeName = undefined; - this.uniformsNeedUpdate = false; - - if ( parameters !== undefined ) { - - if ( parameters.attributes !== undefined ) { - - console.error( 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.' ); - - } - - this.setValues( parameters ); - - } - - } - - ShaderMaterial.prototype = Object.create( Material.prototype ); - ShaderMaterial.prototype.constructor = ShaderMaterial; - - ShaderMaterial.prototype.isShaderMaterial = true; - - ShaderMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.fragmentShader = source.fragmentShader; - this.vertexShader = source.vertexShader; - - this.uniforms = cloneUniforms( source.uniforms ); - - this.defines = Object.assign( {}, source.defines ); - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - - this.lights = source.lights; - this.clipping = source.clipping; - - this.skinning = source.skinning; - - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - this.extensions = source.extensions; - - return this; - - }; - - ShaderMaterial.prototype.toJSON = function ( meta ) { - - var data = Material.prototype.toJSON.call( this, meta ); - - data.uniforms = {}; - - for ( var name in this.uniforms ) { - - var uniform = this.uniforms[ name ]; - var value = uniform.value; - - if ( value && value.isTexture ) { - - data.uniforms[ name ] = { - type: 't', - value: value.toJSON( meta ).uuid - }; - - } else if ( value && value.isColor ) { - - data.uniforms[ name ] = { - type: 'c', - value: value.getHex() - }; - - } else if ( value && value.isVector2 ) { - - data.uniforms[ name ] = { - type: 'v2', - value: value.toArray() - }; - - } else if ( value && value.isVector3 ) { - - data.uniforms[ name ] = { - type: 'v3', - value: value.toArray() - }; - - } else if ( value && value.isVector4 ) { - - data.uniforms[ name ] = { - type: 'v4', - value: value.toArray() - }; - - } else if ( value && value.isMatrix3 ) { - - data.uniforms[ name ] = { - type: 'm3', - value: value.toArray() - }; - - } else if ( value && value.isMatrix4 ) { - - data.uniforms[ name ] = { - type: 'm4', - value: value.toArray() - }; - - } else { - - data.uniforms[ name ] = { - value: value - }; - - // note: the array variants v2v, v3v, v4v, m4v and tv are not supported so far - - } - - } - - if ( Object.keys( this.defines ).length > 0 ) data.defines = this.defines; - - data.vertexShader = this.vertexShader; - data.fragmentShader = this.fragmentShader; - - var extensions = {}; - - for ( var key in this.extensions ) { - - if ( this.extensions[ key ] === true ) extensions[ key ] = true; - - } - - if ( Object.keys( extensions ).length > 0 ) data.extensions = extensions; - - return data; - - }; - - /** - * @author bhouston / http://clara.io - */ - - function Ray( origin, direction ) { - - this.origin = ( origin !== undefined ) ? origin : new Vector3(); - this.direction = ( direction !== undefined ) ? direction : new Vector3(); - - } - - Object.assign( Ray.prototype, { - - set: function ( origin, direction ) { - - this.origin.copy( origin ); - this.direction.copy( direction ); - - return this; - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( ray ) { - - this.origin.copy( ray.origin ); - this.direction.copy( ray.direction ); - - return this; - - }, - - at: function ( t, target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Ray: .at() target is now required' ); - target = new Vector3(); - - } - - return target.copy( this.direction ).multiplyScalar( t ).add( this.origin ); - - }, - - lookAt: function ( v ) { - - this.direction.copy( v ).sub( this.origin ).normalize(); - - return this; - - }, - - recast: function () { - - var v1 = new Vector3(); - - return function recast( t ) { - - this.origin.copy( this.at( t, v1 ) ); - - return this; - - }; - - }(), - - closestPointToPoint: function ( point, target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Ray: .closestPointToPoint() target is now required' ); - target = new Vector3(); - - } - - target.subVectors( point, this.origin ); - - var directionDistance = target.dot( this.direction ); - - if ( directionDistance < 0 ) { - - return target.copy( this.origin ); - - } - - return target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); - - }, - - distanceToPoint: function ( point ) { - - return Math.sqrt( this.distanceSqToPoint( point ) ); - - }, - - distanceSqToPoint: function () { - - var v1 = new Vector3(); - - return function distanceSqToPoint( point ) { - - var directionDistance = v1.subVectors( point, this.origin ).dot( this.direction ); - - // point behind the ray - - if ( directionDistance < 0 ) { - - return this.origin.distanceToSquared( point ); - - } - - v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin ); - - return v1.distanceToSquared( point ); - - }; - - }(), - - distanceSqToSegment: function () { - - var segCenter = new Vector3(); - var segDir = new Vector3(); - var diff = new Vector3(); - - return function distanceSqToSegment( v0, v1, optionalPointOnRay, optionalPointOnSegment ) { - - // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteDistRaySegment.h - // It returns the min distance between the ray and the segment - // defined by v0 and v1 - // It can also set two optional targets : - // - The closest point on the ray - // - The closest point on the segment - - segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 ); - segDir.copy( v1 ).sub( v0 ).normalize(); - diff.copy( this.origin ).sub( segCenter ); - - var segExtent = v0.distanceTo( v1 ) * 0.5; - var a01 = - this.direction.dot( segDir ); - var b0 = diff.dot( this.direction ); - var b1 = - diff.dot( segDir ); - var c = diff.lengthSq(); - var det = Math.abs( 1 - a01 * a01 ); - var s0, s1, sqrDist, extDet; - - if ( det > 0 ) { - - // The ray and segment are not parallel. - - s0 = a01 * b1 - b0; - s1 = a01 * b0 - b1; - extDet = segExtent * det; - - if ( s0 >= 0 ) { - - if ( s1 >= - extDet ) { - - if ( s1 <= extDet ) { - - // region 0 - // Minimum at interior points of ray and segment. - - var invDet = 1 / det; - s0 *= invDet; - s1 *= invDet; - sqrDist = s0 * ( s0 + a01 * s1 + 2 * b0 ) + s1 * ( a01 * s0 + s1 + 2 * b1 ) + c; - - } else { - - // region 1 - - s1 = segExtent; - s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); - sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; - - } - - } else { - - // region 5 - - s1 = - segExtent; - s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); - sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; - - } - - } else { - - if ( s1 <= - extDet ) { - - // region 4 - - s0 = Math.max( 0, - ( - a01 * segExtent + b0 ) ); - s1 = ( s0 > 0 ) ? - segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); - sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; - - } else if ( s1 <= extDet ) { - - // region 3 - - s0 = 0; - s1 = Math.min( Math.max( - segExtent, - b1 ), segExtent ); - sqrDist = s1 * ( s1 + 2 * b1 ) + c; - - } else { - - // region 2 - - s0 = Math.max( 0, - ( a01 * segExtent + b0 ) ); - s1 = ( s0 > 0 ) ? segExtent : Math.min( Math.max( - segExtent, - b1 ), segExtent ); - sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; - - } - - } - - } else { - - // Ray and segment are parallel. - - s1 = ( a01 > 0 ) ? - segExtent : segExtent; - s0 = Math.max( 0, - ( a01 * s1 + b0 ) ); - sqrDist = - s0 * s0 + s1 * ( s1 + 2 * b1 ) + c; - - } - - if ( optionalPointOnRay ) { - - optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin ); - - } - - if ( optionalPointOnSegment ) { - - optionalPointOnSegment.copy( segDir ).multiplyScalar( s1 ).add( segCenter ); - - } - - return sqrDist; - - }; - - }(), - - intersectSphere: function () { - - var v1 = new Vector3(); - - return function intersectSphere( sphere, target ) { - - v1.subVectors( sphere.center, this.origin ); - var tca = v1.dot( this.direction ); - var d2 = v1.dot( v1 ) - tca * tca; - var radius2 = sphere.radius * sphere.radius; - - if ( d2 > radius2 ) return null; - - var thc = Math.sqrt( radius2 - d2 ); - - // t0 = first intersect point - entrance on front of sphere - var t0 = tca - thc; - - // t1 = second intersect point - exit point on back of sphere - var t1 = tca + thc; - - // test to see if both t0 and t1 are behind the ray - if so, return null - if ( t0 < 0 && t1 < 0 ) return null; - - // test to see if t0 is behind the ray: - // if it is, the ray is inside the sphere, so return the second exit point scaled by t1, - // in order to always return an intersect point that is in front of the ray. - if ( t0 < 0 ) return this.at( t1, target ); - - // else t0 is in front of the ray, so return the first collision point scaled by t0 - return this.at( t0, target ); - - }; - - }(), - - intersectsSphere: function ( sphere ) { - - return this.distanceSqToPoint( sphere.center ) <= ( sphere.radius * sphere.radius ); - - }, - - distanceToPlane: function ( plane ) { - - var denominator = plane.normal.dot( this.direction ); - - if ( denominator === 0 ) { - - // line is coplanar, return origin - if ( plane.distanceToPoint( this.origin ) === 0 ) { - - return 0; - - } - - // Null is preferable to undefined since undefined means.... it is undefined - - return null; - - } - - var t = - ( this.origin.dot( plane.normal ) + plane.constant ) / denominator; - - // Return if the ray never intersects the plane - - return t >= 0 ? t : null; - - }, - - intersectPlane: function ( plane, target ) { - - var t = this.distanceToPlane( plane ); - - if ( t === null ) { - - return null; - - } - - return this.at( t, target ); - - }, - - intersectsPlane: function ( plane ) { - - // check if the ray lies on the plane first - - var distToPoint = plane.distanceToPoint( this.origin ); - - if ( distToPoint === 0 ) { - - return true; - - } - - var denominator = plane.normal.dot( this.direction ); - - if ( denominator * distToPoint < 0 ) { - - return true; - - } - - // ray origin is behind the plane (and is pointing behind it) - - return false; - - }, - - intersectBox: function ( box, target ) { - - var tmin, tmax, tymin, tymax, tzmin, tzmax; - - var invdirx = 1 / this.direction.x, - invdiry = 1 / this.direction.y, - invdirz = 1 / this.direction.z; - - var origin = this.origin; - - if ( invdirx >= 0 ) { - - tmin = ( box.min.x - origin.x ) * invdirx; - tmax = ( box.max.x - origin.x ) * invdirx; - - } else { - - tmin = ( box.max.x - origin.x ) * invdirx; - tmax = ( box.min.x - origin.x ) * invdirx; - - } - - if ( invdiry >= 0 ) { - - tymin = ( box.min.y - origin.y ) * invdiry; - tymax = ( box.max.y - origin.y ) * invdiry; - - } else { - - tymin = ( box.max.y - origin.y ) * invdiry; - tymax = ( box.min.y - origin.y ) * invdiry; - - } - - if ( ( tmin > tymax ) || ( tymin > tmax ) ) return null; - - // These lines also handle the case where tmin or tmax is NaN - // (result of 0 * Infinity). x !== x returns true if x is NaN - - if ( tymin > tmin || tmin !== tmin ) tmin = tymin; - - if ( tymax < tmax || tmax !== tmax ) tmax = tymax; - - if ( invdirz >= 0 ) { - - tzmin = ( box.min.z - origin.z ) * invdirz; - tzmax = ( box.max.z - origin.z ) * invdirz; - - } else { - - tzmin = ( box.max.z - origin.z ) * invdirz; - tzmax = ( box.min.z - origin.z ) * invdirz; - - } - - if ( ( tmin > tzmax ) || ( tzmin > tmax ) ) return null; - - if ( tzmin > tmin || tmin !== tmin ) tmin = tzmin; - - if ( tzmax < tmax || tmax !== tmax ) tmax = tzmax; - - //return point closest to the ray (positive side) - - if ( tmax < 0 ) return null; - - return this.at( tmin >= 0 ? tmin : tmax, target ); - - }, - - intersectsBox: ( function () { - - var v = new Vector3(); - - return function intersectsBox( box ) { - - return this.intersectBox( box, v ) !== null; - - }; - - } )(), - - intersectTriangle: function () { - - // Compute the offset origin, edges, and normal. - var diff = new Vector3(); - var edge1 = new Vector3(); - var edge2 = new Vector3(); - var normal = new Vector3(); - - return function intersectTriangle( a, b, c, backfaceCulling, target ) { - - // from http://www.geometrictools.com/GTEngine/Include/Mathematics/GteIntrRay3Triangle3.h - - edge1.subVectors( b, a ); - edge2.subVectors( c, a ); - normal.crossVectors( edge1, edge2 ); - - // Solve Q + t*D = b1*E1 + b2*E2 (Q = kDiff, D = ray direction, - // E1 = kEdge1, E2 = kEdge2, N = Cross(E1,E2)) by - // |Dot(D,N)|*b1 = sign(Dot(D,N))*Dot(D,Cross(Q,E2)) - // |Dot(D,N)|*b2 = sign(Dot(D,N))*Dot(D,Cross(E1,Q)) - // |Dot(D,N)|*t = -sign(Dot(D,N))*Dot(Q,N) - var DdN = this.direction.dot( normal ); - var sign; - - if ( DdN > 0 ) { - - if ( backfaceCulling ) return null; - sign = 1; - - } else if ( DdN < 0 ) { - - sign = - 1; - DdN = - DdN; - - } else { - - return null; - - } - - diff.subVectors( this.origin, a ); - var DdQxE2 = sign * this.direction.dot( edge2.crossVectors( diff, edge2 ) ); - - // b1 < 0, no intersection - if ( DdQxE2 < 0 ) { - - return null; - - } - - var DdE1xQ = sign * this.direction.dot( edge1.cross( diff ) ); - - // b2 < 0, no intersection - if ( DdE1xQ < 0 ) { - - return null; - - } - - // b1+b2 > 1, no intersection - if ( DdQxE2 + DdE1xQ > DdN ) { - - return null; - - } - - // Line intersects triangle, check if ray does. - var QdN = - sign * diff.dot( normal ); - - // t < 0, no intersection - if ( QdN < 0 ) { - - return null; - - } - - // Ray intersects triangle. - return this.at( QdN / DdN, target ); - - }; - - }(), - - applyMatrix4: function ( matrix4 ) { - - this.origin.applyMatrix4( matrix4 ); - this.direction.transformDirection( matrix4 ); - - return this; - - }, - - equals: function ( ray ) { - - return ray.origin.equals( this.origin ) && ray.direction.equals( this.direction ); - - } - - } ); - - /** - * @author bhouston / http://clara.io - * @author mrdoob / http://mrdoob.com/ - */ - - function Triangle( a, b, c ) { - - this.a = ( a !== undefined ) ? a : new Vector3(); - this.b = ( b !== undefined ) ? b : new Vector3(); - this.c = ( c !== undefined ) ? c : new Vector3(); - - } - - Object.assign( Triangle, { - - getNormal: function () { - - var v0 = new Vector3(); - - return function getNormal( a, b, c, target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Triangle: .getNormal() target is now required' ); - target = new Vector3(); - - } - - target.subVectors( c, b ); - v0.subVectors( a, b ); - target.cross( v0 ); - - var targetLengthSq = target.lengthSq(); - if ( targetLengthSq > 0 ) { - - return target.multiplyScalar( 1 / Math.sqrt( targetLengthSq ) ); - - } - - return target.set( 0, 0, 0 ); - - }; - - }(), - - // static/instance method to calculate barycentric coordinates - // based on: http://www.blackpawn.com/texts/pointinpoly/default.html - getBarycoord: function () { - - var v0 = new Vector3(); - var v1 = new Vector3(); - var v2 = new Vector3(); - - return function getBarycoord( point, a, b, c, target ) { - - v0.subVectors( c, a ); - v1.subVectors( b, a ); - v2.subVectors( point, a ); - - var dot00 = v0.dot( v0 ); - var dot01 = v0.dot( v1 ); - var dot02 = v0.dot( v2 ); - var dot11 = v1.dot( v1 ); - var dot12 = v1.dot( v2 ); - - var denom = ( dot00 * dot11 - dot01 * dot01 ); - - if ( target === undefined ) { - - console.warn( 'THREE.Triangle: .getBarycoord() target is now required' ); - target = new Vector3(); - - } - - // collinear or singular triangle - if ( denom === 0 ) { - - // arbitrary location outside of triangle? - // not sure if this is the best idea, maybe should be returning undefined - return target.set( - 2, - 1, - 1 ); - - } - - var invDenom = 1 / denom; - var u = ( dot11 * dot02 - dot01 * dot12 ) * invDenom; - var v = ( dot00 * dot12 - dot01 * dot02 ) * invDenom; - - // barycentric coordinates must always sum to 1 - return target.set( 1 - u - v, v, u ); - - }; - - }(), - - containsPoint: function () { - - var v1 = new Vector3(); - - return function containsPoint( point, a, b, c ) { - - Triangle.getBarycoord( point, a, b, c, v1 ); - - return ( v1.x >= 0 ) && ( v1.y >= 0 ) && ( ( v1.x + v1.y ) <= 1 ); - - }; - - }(), - - getUV: function () { - - var barycoord = new Vector3(); - - return function getUV( point, p1, p2, p3, uv1, uv2, uv3, target ) { - - this.getBarycoord( point, p1, p2, p3, barycoord ); - - target.set( 0, 0 ); - target.addScaledVector( uv1, barycoord.x ); - target.addScaledVector( uv2, barycoord.y ); - target.addScaledVector( uv3, barycoord.z ); - - return target; - - }; - - }() - - } ); - - Object.assign( Triangle.prototype, { - - set: function ( a, b, c ) { - - this.a.copy( a ); - this.b.copy( b ); - this.c.copy( c ); - - return this; - - }, - - setFromPointsAndIndices: function ( points, i0, i1, i2 ) { - - this.a.copy( points[ i0 ] ); - this.b.copy( points[ i1 ] ); - this.c.copy( points[ i2 ] ); - - return this; - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - copy: function ( triangle ) { - - this.a.copy( triangle.a ); - this.b.copy( triangle.b ); - this.c.copy( triangle.c ); - - return this; - - }, - - getArea: function () { - - var v0 = new Vector3(); - var v1 = new Vector3(); - - return function getArea() { - - v0.subVectors( this.c, this.b ); - v1.subVectors( this.a, this.b ); - - return v0.cross( v1 ).length() * 0.5; - - }; - - }(), - - getMidpoint: function ( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Triangle: .getMidpoint() target is now required' ); - target = new Vector3(); - - } - - return target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 ); - - }, - - getNormal: function ( target ) { - - return Triangle.getNormal( this.a, this.b, this.c, target ); - - }, - - getPlane: function ( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Triangle: .getPlane() target is now required' ); - target = new Vector3(); - - } - - return target.setFromCoplanarPoints( this.a, this.b, this.c ); - - }, - - getBarycoord: function ( point, target ) { - - return Triangle.getBarycoord( point, this.a, this.b, this.c, target ); - - }, - - containsPoint: function ( point ) { - - return Triangle.containsPoint( point, this.a, this.b, this.c ); - - }, - - getUV: function ( point, uv1, uv2, uv3, result ) { - - return Triangle.getUV( point, this.a, this.b, this.c, uv1, uv2, uv3, result ); - - }, - - intersectsBox: function ( box ) { - - return box.intersectsTriangle( this ); - - }, - - closestPointToPoint: function () { - - var vab = new Vector3(); - var vac = new Vector3(); - var vbc = new Vector3(); - var vap = new Vector3(); - var vbp = new Vector3(); - var vcp = new Vector3(); - - return function closestPointToPoint( p, target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Triangle: .closestPointToPoint() target is now required' ); - target = new Vector3(); - - } - - var a = this.a, b = this.b, c = this.c; - var v, w; - - // algorithm thanks to Real-Time Collision Detection by Christer Ericson, - // published by Morgan Kaufmann Publishers, (c) 2005 Elsevier Inc., - // under the accompanying license; see chapter 5.1.5 for detailed explanation. - // basically, we're distinguishing which of the voronoi regions of the triangle - // the point lies in with the minimum amount of redundant computation. - - vab.subVectors( b, a ); - vac.subVectors( c, a ); - vap.subVectors( p, a ); - var d1 = vab.dot( vap ); - var d2 = vac.dot( vap ); - if ( d1 <= 0 && d2 <= 0 ) { - - // vertex region of A; barycentric coords (1, 0, 0) - return target.copy( a ); - - } - - vbp.subVectors( p, b ); - var d3 = vab.dot( vbp ); - var d4 = vac.dot( vbp ); - if ( d3 >= 0 && d4 <= d3 ) { - - // vertex region of B; barycentric coords (0, 1, 0) - return target.copy( b ); - - } - - var vc = d1 * d4 - d3 * d2; - if ( vc <= 0 && d1 >= 0 && d3 <= 0 ) { - - v = d1 / ( d1 - d3 ); - // edge region of AB; barycentric coords (1-v, v, 0) - return target.copy( a ).addScaledVector( vab, v ); - - } - - vcp.subVectors( p, c ); - var d5 = vab.dot( vcp ); - var d6 = vac.dot( vcp ); - if ( d6 >= 0 && d5 <= d6 ) { - - // vertex region of C; barycentric coords (0, 0, 1) - return target.copy( c ); - - } - - var vb = d5 * d2 - d1 * d6; - if ( vb <= 0 && d2 >= 0 && d6 <= 0 ) { - - w = d2 / ( d2 - d6 ); - // edge region of AC; barycentric coords (1-w, 0, w) - return target.copy( a ).addScaledVector( vac, w ); - - } - - var va = d3 * d6 - d5 * d4; - if ( va <= 0 && ( d4 - d3 ) >= 0 && ( d5 - d6 ) >= 0 ) { - - vbc.subVectors( c, b ); - w = ( d4 - d3 ) / ( ( d4 - d3 ) + ( d5 - d6 ) ); - // edge region of BC; barycentric coords (0, 1-w, w) - return target.copy( b ).addScaledVector( vbc, w ); // edge region of BC - - } - - // face region - var denom = 1 / ( va + vb + vc ); - // u = va * denom - v = vb * denom; - w = vc * denom; - return target.copy( a ).addScaledVector( vab, v ).addScaledVector( vac, w ); - - }; - - }(), - - equals: function ( triangle ) { - - return triangle.a.equals( this.a ) && triangle.b.equals( this.b ) && triangle.c.equals( this.c ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * opacity: , - * map: new THREE.Texture( ), - * - * lightMap: new THREE.Texture( ), - * lightMapIntensity: - * - * aoMap: new THREE.Texture( ), - * aoMapIntensity: - * - * specularMap: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), - * combine: THREE.Multiply, - * reflectivity: , - * refractionRatio: , - * - * depthTest: , - * depthWrite: , - * - * wireframe: , - * wireframeLinewidth: , - * - * skinning: , - * morphTargets: - * } - */ - - function MeshBasicMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshBasicMaterial'; - - this.color = new Color( 0xffffff ); // emissive - - this.map = null; - - this.lightMap = null; - this.lightMapIntensity = 1.0; - - this.aoMap = null; - this.aoMapIntensity = 1.0; - - this.specularMap = null; - - this.alphaMap = null; - - this.envMap = null; - this.combine = MultiplyOperation; - this.reflectivity = 1; - this.refractionRatio = 0.98; - - this.wireframe = false; - this.wireframeLinewidth = 1; - this.wireframeLinecap = 'round'; - this.wireframeLinejoin = 'round'; - - this.skinning = false; - this.morphTargets = false; - - this.lights = false; - - this.setValues( parameters ); - - } - - MeshBasicMaterial.prototype = Object.create( Material.prototype ); - MeshBasicMaterial.prototype.constructor = MeshBasicMaterial; - - MeshBasicMaterial.prototype.isMeshBasicMaterial = true; - - MeshBasicMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - - this.map = source.map; - - this.lightMap = source.lightMap; - this.lightMapIntensity = source.lightMapIntensity; - - this.aoMap = source.aoMap; - this.aoMapIntensity = source.aoMapIntensity; - - this.specularMap = source.specularMap; - - this.alphaMap = source.alphaMap; - - this.envMap = source.envMap; - this.combine = source.combine; - this.reflectivity = source.reflectivity; - this.refractionRatio = source.refractionRatio; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - this.wireframeLinecap = source.wireframeLinecap; - this.wireframeLinejoin = source.wireframeLinejoin; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author mikael emtinger / http://gomo.se/ - * @author jonobr1 / http://jonobr1.com/ - */ - - function Mesh( geometry, material ) { - - Object3D.call( this ); - - this.type = 'Mesh'; - - this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); - this.material = material !== undefined ? material : new MeshBasicMaterial( { color: Math.random() * 0xffffff } ); - - this.drawMode = TrianglesDrawMode; - - this.updateMorphTargets(); - - } - - Mesh.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Mesh, - - isMesh: true, - - setDrawMode: function ( value ) { - - this.drawMode = value; - - }, - - copy: function ( source ) { - - Object3D.prototype.copy.call( this, source ); - - this.drawMode = source.drawMode; - - if ( source.morphTargetInfluences !== undefined ) { - - this.morphTargetInfluences = source.morphTargetInfluences.slice(); - - } - - if ( source.morphTargetDictionary !== undefined ) { - - this.morphTargetDictionary = Object.assign( {}, source.morphTargetDictionary ); - - } - - return this; - - }, - - updateMorphTargets: function () { - - var geometry = this.geometry; - var m, ml, name; - - if ( geometry.isBufferGeometry ) { - - var morphAttributes = geometry.morphAttributes; - var keys = Object.keys( morphAttributes ); - - if ( keys.length > 0 ) { - - var morphAttribute = morphAttributes[ keys[ 0 ] ]; - - if ( morphAttribute !== undefined ) { - - this.morphTargetInfluences = []; - this.morphTargetDictionary = {}; - - for ( m = 0, ml = morphAttribute.length; m < ml; m ++ ) { - - name = morphAttribute[ m ].name || String( m ); - - this.morphTargetInfluences.push( 0 ); - this.morphTargetDictionary[ name ] = m; - - } - - } - - } - - } else { - - var morphTargets = geometry.morphTargets; - - if ( morphTargets !== undefined && morphTargets.length > 0 ) { - - console.error( 'THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); - - } - - } - - }, - - raycast: ( function () { - - var inverseMatrix = new Matrix4(); - var ray = new Ray(); - var sphere = new Sphere(); - - var vA = new Vector3(); - var vB = new Vector3(); - var vC = new Vector3(); - - var tempA = new Vector3(); - var tempB = new Vector3(); - var tempC = new Vector3(); - - var morphA = new Vector3(); - var morphB = new Vector3(); - var morphC = new Vector3(); - - var uvA = new Vector2(); - var uvB = new Vector2(); - var uvC = new Vector2(); - - var intersectionPoint = new Vector3(); - var intersectionPointWorld = new Vector3(); - - function checkIntersection( object, material, raycaster, ray, pA, pB, pC, point ) { - - var intersect; - - if ( material.side === BackSide ) { - - intersect = ray.intersectTriangle( pC, pB, pA, true, point ); - - } else { - - intersect = ray.intersectTriangle( pA, pB, pC, material.side !== DoubleSide, point ); - - } - - if ( intersect === null ) return null; - - intersectionPointWorld.copy( point ); - intersectionPointWorld.applyMatrix4( object.matrixWorld ); - - var distance = raycaster.ray.origin.distanceTo( intersectionPointWorld ); - - if ( distance < raycaster.near || distance > raycaster.far ) return null; - - return { - distance: distance, - point: intersectionPointWorld.clone(), - object: object - }; - - } - - function checkBufferGeometryIntersection( object, material, raycaster, ray, position, morphPosition, uv, a, b, c ) { - - vA.fromBufferAttribute( position, a ); - vB.fromBufferAttribute( position, b ); - vC.fromBufferAttribute( position, c ); - - var morphInfluences = object.morphTargetInfluences; - - if ( material.morphTargets && morphPosition && morphInfluences ) { - - morphA.set( 0, 0, 0 ); - morphB.set( 0, 0, 0 ); - morphC.set( 0, 0, 0 ); - - for ( var i = 0, il = morphPosition.length; i < il; i ++ ) { - - var influence = morphInfluences[ i ]; - var morphAttribute = morphPosition[ i ]; - - if ( influence === 0 ) continue; - - tempA.fromBufferAttribute( morphAttribute, a ); - tempB.fromBufferAttribute( morphAttribute, b ); - tempC.fromBufferAttribute( morphAttribute, c ); - - morphA.addScaledVector( tempA.sub( vA ), influence ); - morphB.addScaledVector( tempB.sub( vB ), influence ); - morphC.addScaledVector( tempC.sub( vC ), influence ); - - } - - vA.add( morphA ); - vB.add( morphB ); - vC.add( morphC ); - - } - - var intersection = checkIntersection( object, material, raycaster, ray, vA, vB, vC, intersectionPoint ); - - if ( intersection ) { - - if ( uv ) { - - uvA.fromBufferAttribute( uv, a ); - uvB.fromBufferAttribute( uv, b ); - uvC.fromBufferAttribute( uv, c ); - - intersection.uv = Triangle.getUV( intersectionPoint, vA, vB, vC, uvA, uvB, uvC, new Vector2() ); - - } - - var face = new Face3( a, b, c ); - Triangle.getNormal( vA, vB, vC, face.normal ); - - intersection.face = face; - - } - - return intersection; - - } - - return function raycast( raycaster, intersects ) { - - var geometry = this.geometry; - var material = this.material; - var matrixWorld = this.matrixWorld; - - if ( material === undefined ) return; - - // Checking boundingSphere distance to ray - - if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); - - sphere.copy( geometry.boundingSphere ); - sphere.applyMatrix4( matrixWorld ); - - if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; - - // - - inverseMatrix.getInverse( matrixWorld ); - ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); - - // Check boundingBox before continuing - - if ( geometry.boundingBox !== null ) { - - if ( ray.intersectsBox( geometry.boundingBox ) === false ) return; - - } - - var intersection; - - if ( geometry.isBufferGeometry ) { - - var a, b, c; - var index = geometry.index; - var position = geometry.attributes.position; - var morphPosition = geometry.morphAttributes.position; - var uv = geometry.attributes.uv; - var groups = geometry.groups; - var drawRange = geometry.drawRange; - var i, j, il, jl; - var group, groupMaterial; - var start, end; - - if ( index !== null ) { - - // indexed buffer geometry - - if ( Array.isArray( material ) ) { - - for ( i = 0, il = groups.length; i < il; i ++ ) { - - group = groups[ i ]; - groupMaterial = material[ group.materialIndex ]; - - start = Math.max( group.start, drawRange.start ); - end = Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ); - - for ( j = start, jl = end; j < jl; j += 3 ) { - - a = index.getX( j ); - b = index.getX( j + 1 ); - c = index.getX( j + 2 ); - - intersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, ray, position, morphPosition, uv, a, b, c ); - - if ( intersection ) { - - intersection.faceIndex = Math.floor( j / 3 ); // triangle number in indexed buffer semantics - intersection.face.materialIndex = group.materialIndex; - intersects.push( intersection ); - - } - - } - - } - - } else { - - start = Math.max( 0, drawRange.start ); - end = Math.min( index.count, ( drawRange.start + drawRange.count ) ); - - for ( i = start, il = end; i < il; i += 3 ) { - - a = index.getX( i ); - b = index.getX( i + 1 ); - c = index.getX( i + 2 ); - - intersection = checkBufferGeometryIntersection( this, material, raycaster, ray, position, morphPosition, uv, a, b, c ); - - if ( intersection ) { - - intersection.faceIndex = Math.floor( i / 3 ); // triangle number in indexed buffer semantics - intersects.push( intersection ); - - } - - } - - } - - } else if ( position !== undefined ) { - - // non-indexed buffer geometry - - if ( Array.isArray( material ) ) { - - for ( i = 0, il = groups.length; i < il; i ++ ) { - - group = groups[ i ]; - groupMaterial = material[ group.materialIndex ]; - - start = Math.max( group.start, drawRange.start ); - end = Math.min( ( group.start + group.count ), ( drawRange.start + drawRange.count ) ); - - for ( j = start, jl = end; j < jl; j += 3 ) { - - a = j; - b = j + 1; - c = j + 2; - - intersection = checkBufferGeometryIntersection( this, groupMaterial, raycaster, ray, position, morphPosition, uv, a, b, c ); - - if ( intersection ) { - - intersection.faceIndex = Math.floor( j / 3 ); // triangle number in non-indexed buffer semantics - intersection.face.materialIndex = group.materialIndex; - intersects.push( intersection ); - - } - - } - - } - - } else { - - start = Math.max( 0, drawRange.start ); - end = Math.min( position.count, ( drawRange.start + drawRange.count ) ); - - for ( i = start, il = end; i < il; i += 3 ) { - - a = i; - b = i + 1; - c = i + 2; - - intersection = checkBufferGeometryIntersection( this, material, raycaster, ray, position, morphPosition, uv, a, b, c ); - - if ( intersection ) { - - intersection.faceIndex = Math.floor( i / 3 ); // triangle number in non-indexed buffer semantics - intersects.push( intersection ); - - } - - } - - } - - } - - } else if ( geometry.isGeometry ) { - - var fvA, fvB, fvC; - var isMultiMaterial = Array.isArray( material ); - - var vertices = geometry.vertices; - var faces = geometry.faces; - var uvs; - - var faceVertexUvs = geometry.faceVertexUvs[ 0 ]; - if ( faceVertexUvs.length > 0 ) uvs = faceVertexUvs; - - for ( var f = 0, fl = faces.length; f < fl; f ++ ) { - - var face = faces[ f ]; - var faceMaterial = isMultiMaterial ? material[ face.materialIndex ] : material; - - if ( faceMaterial === undefined ) continue; - - fvA = vertices[ face.a ]; - fvB = vertices[ face.b ]; - fvC = vertices[ face.c ]; - - intersection = checkIntersection( this, faceMaterial, raycaster, ray, fvA, fvB, fvC, intersectionPoint ); - - if ( intersection ) { - - if ( uvs && uvs[ f ] ) { - - var uvs_f = uvs[ f ]; - uvA.copy( uvs_f[ 0 ] ); - uvB.copy( uvs_f[ 1 ] ); - uvC.copy( uvs_f[ 2 ] ); - - intersection.uv = Triangle.getUV( intersectionPoint, fvA, fvB, fvC, uvA, uvB, uvC, new Vector2() ); - - } - - intersection.face = face; - intersection.faceIndex = f; - intersects.push( intersection ); - - } - - } - - } - - }; - - }() ), - - clone: function () { - - return new this.constructor( this.geometry, this.material ).copy( this ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLBackground( renderer, state, objects, premultipliedAlpha ) { - - var clearColor = new Color( 0x000000 ); - var clearAlpha = 0; - - var planeMesh; - var boxMesh; - // Store the current background texture and its `version` - // so we can recompile the material accordingly. - var currentBackground = null; - var currentBackgroundVersion = 0; - - function render( renderList, scene, camera, forceClear ) { - - var background = scene.background; - - // Ignore background in AR - // TODO: Reconsider this. - - var vr = renderer.vr; - var session = vr.getSession && vr.getSession(); - - if ( session && session.environmentBlendMode === 'additive' ) { - - background = null; - - } - - if ( background === null ) { - - setClear( clearColor, clearAlpha ); - currentBackground = null; - currentBackgroundVersion = 0; - - } else if ( background && background.isColor ) { - - setClear( background, 1 ); - forceClear = true; - currentBackground = null; - currentBackgroundVersion = 0; - - } - - if ( renderer.autoClear || forceClear ) { - - renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil ); - - } - - if ( background && ( background.isCubeTexture || background.isWebGLRenderTargetCube ) ) { - - if ( boxMesh === undefined ) { - - boxMesh = new Mesh( - new BoxBufferGeometry( 1, 1, 1 ), - new ShaderMaterial( { - type: 'BackgroundCubeMaterial', - uniforms: cloneUniforms( ShaderLib.cube.uniforms ), - vertexShader: ShaderLib.cube.vertexShader, - fragmentShader: ShaderLib.cube.fragmentShader, - side: BackSide, - depthTest: false, - depthWrite: false, - fog: false - } ) - ); - - boxMesh.geometry.removeAttribute( 'normal' ); - boxMesh.geometry.removeAttribute( 'uv' ); - - boxMesh.onBeforeRender = function ( renderer, scene, camera ) { - - this.matrixWorld.copyPosition( camera.matrixWorld ); - - }; - - // enable code injection for non-built-in material - Object.defineProperty( boxMesh.material, 'map', { - - get: function () { - - return this.uniforms.tCube.value; - - } - - } ); - - objects.update( boxMesh ); - - } - - var texture = background.isWebGLRenderTargetCube ? background.texture : background; - boxMesh.material.uniforms.tCube.value = texture; - boxMesh.material.uniforms.tFlip.value = ( background.isWebGLRenderTargetCube ) ? 1 : - 1; - - if ( currentBackground !== background || - currentBackgroundVersion !== texture.version ) { - - boxMesh.material.needsUpdate = true; - - currentBackground = background; - currentBackgroundVersion = texture.version; - - } - - // push to the pre-sorted opaque render list - renderList.unshift( boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null ); - - } else if ( background && background.isTexture ) { - - if ( planeMesh === undefined ) { - - planeMesh = new Mesh( - new PlaneBufferGeometry( 2, 2 ), - new ShaderMaterial( { - type: 'BackgroundMaterial', - uniforms: cloneUniforms( ShaderLib.background.uniforms ), - vertexShader: ShaderLib.background.vertexShader, - fragmentShader: ShaderLib.background.fragmentShader, - side: FrontSide, - depthTest: false, - depthWrite: false, - fog: false - } ) - ); - - planeMesh.geometry.removeAttribute( 'normal' ); - - // enable code injection for non-built-in material - Object.defineProperty( planeMesh.material, 'map', { - - get: function () { - - return this.uniforms.t2D.value; - - } - - } ); - - objects.update( planeMesh ); - - } - - planeMesh.material.uniforms.t2D.value = background; - - if ( background.matrixAutoUpdate === true ) { - - background.updateMatrix(); - - } - - planeMesh.material.uniforms.uvTransform.value.copy( background.matrix ); - - if ( currentBackground !== background || - currentBackgroundVersion !== background.version ) { - - planeMesh.material.needsUpdate = true; - - currentBackground = background; - currentBackgroundVersion = background.version; - - } - - - // push to the pre-sorted opaque render list - renderList.unshift( planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null ); - - } - - } - - function setClear( color, alpha ) { - - state.buffers.color.setClear( color.r, color.g, color.b, alpha, premultipliedAlpha ); - - } - - return { - - getClearColor: function () { - - return clearColor; - - }, - setClearColor: function ( color, alpha ) { - - clearColor.set( color ); - clearAlpha = alpha !== undefined ? alpha : 1; - setClear( clearColor, clearAlpha ); - - }, - getClearAlpha: function () { - - return clearAlpha; - - }, - setClearAlpha: function ( alpha ) { - - clearAlpha = alpha; - setClear( clearColor, clearAlpha ); - - }, - render: render - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLBufferRenderer( gl, extensions, info, capabilities ) { - - var mode; - - function setMode( value ) { - - mode = value; - - } - - function render( start, count ) { - - gl.drawArrays( mode, start, count ); - - info.update( count, mode ); - - } - - function renderInstances( geometry, start, count ) { - - var extension; - - if ( capabilities.isWebGL2 ) { - - extension = gl; - - } else { - - extension = extensions.get( 'ANGLE_instanced_arrays' ); - - if ( extension === null ) { - - console.error( 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); - return; - - } - - } - - extension[ capabilities.isWebGL2 ? 'drawArraysInstanced' : 'drawArraysInstancedANGLE' ]( mode, start, count, geometry.maxInstancedCount ); - - info.update( count, mode, geometry.maxInstancedCount ); - - } - - // - - this.setMode = setMode; - this.render = render; - this.renderInstances = renderInstances; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLCapabilities( gl, extensions, parameters ) { - - var maxAnisotropy; - - function getMaxAnisotropy() { - - if ( maxAnisotropy !== undefined ) return maxAnisotropy; - - var extension = extensions.get( 'EXT_texture_filter_anisotropic' ); - - if ( extension !== null ) { - - maxAnisotropy = gl.getParameter( extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT ); - - } else { - - maxAnisotropy = 0; - - } - - return maxAnisotropy; - - } - - function getMaxPrecision( precision ) { - - if ( precision === 'highp' ) { - - if ( gl.getShaderPrecisionFormat( 35633, 36338 ).precision > 0 && - gl.getShaderPrecisionFormat( 35632, 36338 ).precision > 0 ) { - - return 'highp'; - - } - - precision = 'mediump'; - - } - - if ( precision === 'mediump' ) { - - if ( gl.getShaderPrecisionFormat( 35633, 36337 ).precision > 0 && - gl.getShaderPrecisionFormat( 35632, 36337 ).precision > 0 ) { - - return 'mediump'; - - } - - } - - return 'lowp'; - - } - - var isWebGL2 = typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext; - - var precision = parameters.precision !== undefined ? parameters.precision : 'highp'; - var maxPrecision = getMaxPrecision( precision ); - - if ( maxPrecision !== precision ) { - - console.warn( 'THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.' ); - precision = maxPrecision; - - } - - var logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; - - var maxTextures = gl.getParameter( 34930 ); - var maxVertexTextures = gl.getParameter( 35660 ); - var maxTextureSize = gl.getParameter( 3379 ); - var maxCubemapSize = gl.getParameter( 34076 ); - - var maxAttributes = gl.getParameter( 34921 ); - var maxVertexUniforms = gl.getParameter( 36347 ); - var maxVaryings = gl.getParameter( 36348 ); - var maxFragmentUniforms = gl.getParameter( 36349 ); - - var vertexTextures = maxVertexTextures > 0; - var floatFragmentTextures = isWebGL2 || !! extensions.get( 'OES_texture_float' ); - var floatVertexTextures = vertexTextures && floatFragmentTextures; - - var maxSamples = isWebGL2 ? gl.getParameter( 36183 ) : 0; - - return { - - isWebGL2: isWebGL2, - - getMaxAnisotropy: getMaxAnisotropy, - getMaxPrecision: getMaxPrecision, - - precision: precision, - logarithmicDepthBuffer: logarithmicDepthBuffer, - - maxTextures: maxTextures, - maxVertexTextures: maxVertexTextures, - maxTextureSize: maxTextureSize, - maxCubemapSize: maxCubemapSize, - - maxAttributes: maxAttributes, - maxVertexUniforms: maxVertexUniforms, - maxVaryings: maxVaryings, - maxFragmentUniforms: maxFragmentUniforms, - - vertexTextures: vertexTextures, - floatFragmentTextures: floatFragmentTextures, - floatVertexTextures: floatVertexTextures, - - maxSamples: maxSamples - - }; - - } - - /** - * @author tschw - */ - - function WebGLClipping() { - - var scope = this, - - globalState = null, - numGlobalPlanes = 0, - localClippingEnabled = false, - renderingShadows = false, - - plane = new Plane(), - viewNormalMatrix = new Matrix3(), - - uniform = { value: null, needsUpdate: false }; - - this.uniform = uniform; - this.numPlanes = 0; - this.numIntersection = 0; - - this.init = function ( planes, enableLocalClipping, camera ) { - - var enabled = - planes.length !== 0 || - enableLocalClipping || - // enable state of previous frame - the clipping code has to - // run another frame in order to reset the state: - numGlobalPlanes !== 0 || - localClippingEnabled; - - localClippingEnabled = enableLocalClipping; - - globalState = projectPlanes( planes, camera, 0 ); - numGlobalPlanes = planes.length; - - return enabled; - - }; - - this.beginShadows = function () { - - renderingShadows = true; - projectPlanes( null ); - - }; - - this.endShadows = function () { - - renderingShadows = false; - resetGlobalState(); - - }; - - this.setState = function ( planes, clipIntersection, clipShadows, camera, cache, fromCache ) { - - if ( ! localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && ! clipShadows ) { - - // there's no local clipping - - if ( renderingShadows ) { - - // there's no global clipping - - projectPlanes( null ); - - } else { - - resetGlobalState(); - - } - - } else { - - var nGlobal = renderingShadows ? 0 : numGlobalPlanes, - lGlobal = nGlobal * 4, - - dstArray = cache.clippingState || null; - - uniform.value = dstArray; // ensure unique state - - dstArray = projectPlanes( planes, camera, lGlobal, fromCache ); - - for ( var i = 0; i !== lGlobal; ++ i ) { - - dstArray[ i ] = globalState[ i ]; - - } - - cache.clippingState = dstArray; - this.numIntersection = clipIntersection ? this.numPlanes : 0; - this.numPlanes += nGlobal; - - } - - - }; - - function resetGlobalState() { - - if ( uniform.value !== globalState ) { - - uniform.value = globalState; - uniform.needsUpdate = numGlobalPlanes > 0; - - } - - scope.numPlanes = numGlobalPlanes; - scope.numIntersection = 0; - - } - - function projectPlanes( planes, camera, dstOffset, skipTransform ) { - - var nPlanes = planes !== null ? planes.length : 0, - dstArray = null; - - if ( nPlanes !== 0 ) { - - dstArray = uniform.value; - - if ( skipTransform !== true || dstArray === null ) { - - var flatSize = dstOffset + nPlanes * 4, - viewMatrix = camera.matrixWorldInverse; - - viewNormalMatrix.getNormalMatrix( viewMatrix ); - - if ( dstArray === null || dstArray.length < flatSize ) { - - dstArray = new Float32Array( flatSize ); - - } - - for ( var i = 0, i4 = dstOffset; i !== nPlanes; ++ i, i4 += 4 ) { - - plane.copy( planes[ i ] ).applyMatrix4( viewMatrix, viewNormalMatrix ); - - plane.normal.toArray( dstArray, i4 ); - dstArray[ i4 + 3 ] = plane.constant; - - } - - } - - uniform.value = dstArray; - uniform.needsUpdate = true; - - } - - scope.numPlanes = nPlanes; - - return dstArray; - - } - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLExtensions( gl ) { - - var extensions = {}; - - return { - - get: function ( name ) { - - if ( extensions[ name ] !== undefined ) { - - return extensions[ name ]; - - } - - var extension; - - switch ( name ) { - - case 'WEBGL_depth_texture': - extension = gl.getExtension( 'WEBGL_depth_texture' ) || gl.getExtension( 'MOZ_WEBGL_depth_texture' ) || gl.getExtension( 'WEBKIT_WEBGL_depth_texture' ); - break; - - case 'EXT_texture_filter_anisotropic': - extension = gl.getExtension( 'EXT_texture_filter_anisotropic' ) || gl.getExtension( 'MOZ_EXT_texture_filter_anisotropic' ) || gl.getExtension( 'WEBKIT_EXT_texture_filter_anisotropic' ); - break; - - case 'WEBGL_compressed_texture_s3tc': - extension = gl.getExtension( 'WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'MOZ_WEBGL_compressed_texture_s3tc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_s3tc' ); - break; - - case 'WEBGL_compressed_texture_pvrtc': - extension = gl.getExtension( 'WEBGL_compressed_texture_pvrtc' ) || gl.getExtension( 'WEBKIT_WEBGL_compressed_texture_pvrtc' ); - break; - - default: - extension = gl.getExtension( name ); - - } - - if ( extension === null ) { - - console.warn( 'THREE.WebGLRenderer: ' + name + ' extension not supported.' ); - - } - - extensions[ name ] = extension; - - return extension; - - } - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLGeometries( gl, attributes, info ) { - - var geometries = {}; - var wireframeAttributes = {}; - - function onGeometryDispose( event ) { - - var geometry = event.target; - var buffergeometry = geometries[ geometry.id ]; - - if ( buffergeometry.index !== null ) { - - attributes.remove( buffergeometry.index ); - - } - - for ( var name in buffergeometry.attributes ) { - - attributes.remove( buffergeometry.attributes[ name ] ); - - } - - geometry.removeEventListener( 'dispose', onGeometryDispose ); - - delete geometries[ geometry.id ]; - - var attribute = wireframeAttributes[ buffergeometry.id ]; - - if ( attribute ) { - - attributes.remove( attribute ); - delete wireframeAttributes[ buffergeometry.id ]; - - } - - // - - info.memory.geometries --; - - } - - function get( object, geometry ) { - - var buffergeometry = geometries[ geometry.id ]; - - if ( buffergeometry ) return buffergeometry; - - geometry.addEventListener( 'dispose', onGeometryDispose ); - - if ( geometry.isBufferGeometry ) { - - buffergeometry = geometry; - - } else if ( geometry.isGeometry ) { - - if ( geometry._bufferGeometry === undefined ) { - - geometry._bufferGeometry = new BufferGeometry().setFromObject( object ); - - } - - buffergeometry = geometry._bufferGeometry; - - } - - geometries[ geometry.id ] = buffergeometry; - - info.memory.geometries ++; - - return buffergeometry; - - } - - function update( geometry ) { - - var index = geometry.index; - var geometryAttributes = geometry.attributes; - - if ( index !== null ) { - - attributes.update( index, 34963 ); - - } - - for ( var name in geometryAttributes ) { - - attributes.update( geometryAttributes[ name ], 34962 ); - - } - - // morph targets - - var morphAttributes = geometry.morphAttributes; - - for ( var name in morphAttributes ) { - - var array = morphAttributes[ name ]; - - for ( var i = 0, l = array.length; i < l; i ++ ) { - - attributes.update( array[ i ], 34962 ); - - } - - } - - } - - function getWireframeAttribute( geometry ) { - - var attribute = wireframeAttributes[ geometry.id ]; - - if ( attribute ) return attribute; - - var indices = []; - - var geometryIndex = geometry.index; - var geometryAttributes = geometry.attributes; - - // console.time( 'wireframe' ); - - if ( geometryIndex !== null ) { - - var array = geometryIndex.array; - - for ( var i = 0, l = array.length; i < l; i += 3 ) { - - var a = array[ i + 0 ]; - var b = array[ i + 1 ]; - var c = array[ i + 2 ]; - - indices.push( a, b, b, c, c, a ); - - } - - } else { - - var array = geometryAttributes.position.array; - - for ( var i = 0, l = ( array.length / 3 ) - 1; i < l; i += 3 ) { - - var a = i + 0; - var b = i + 1; - var c = i + 2; - - indices.push( a, b, b, c, c, a ); - - } - - } - - // console.timeEnd( 'wireframe' ); - - attribute = new ( arrayMax( indices ) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute )( indices, 1 ); - - attributes.update( attribute, 34963 ); - - wireframeAttributes[ geometry.id ] = attribute; - - return attribute; - - } - - return { - - get: get, - update: update, - - getWireframeAttribute: getWireframeAttribute - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLIndexedBufferRenderer( gl, extensions, info, capabilities ) { - - var mode; - - function setMode( value ) { - - mode = value; - - } - - var type, bytesPerElement; - - function setIndex( value ) { - - type = value.type; - bytesPerElement = value.bytesPerElement; - - } - - function render( start, count ) { - - gl.drawElements( mode, count, type, start * bytesPerElement ); - - info.update( count, mode ); - - } - - function renderInstances( geometry, start, count ) { - - var extension; - - if ( capabilities.isWebGL2 ) { - - extension = gl; - - } else { - - var extension = extensions.get( 'ANGLE_instanced_arrays' ); - - if ( extension === null ) { - - console.error( 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); - return; - - } - - } - - extension[ capabilities.isWebGL2 ? 'drawElementsInstanced' : 'drawElementsInstancedANGLE' ]( mode, count, type, start * bytesPerElement, geometry.maxInstancedCount ); - - info.update( count, mode, geometry.maxInstancedCount ); - - } - - // - - this.setMode = setMode; - this.setIndex = setIndex; - this.render = render; - this.renderInstances = renderInstances; - - } - - /** - * @author Mugen87 / https://github.com/Mugen87 - */ - - function WebGLInfo( gl ) { - - var memory = { - geometries: 0, - textures: 0 - }; - - var render = { - frame: 0, - calls: 0, - triangles: 0, - points: 0, - lines: 0 - }; - - function update( count, mode, instanceCount ) { - - instanceCount = instanceCount || 1; - - render.calls ++; - - switch ( mode ) { - - case 4: - render.triangles += instanceCount * ( count / 3 ); - break; - - case 5: - case 6: - render.triangles += instanceCount * ( count - 2 ); - break; - - case 1: - render.lines += instanceCount * ( count / 2 ); - break; - - case 3: - render.lines += instanceCount * ( count - 1 ); - break; - - case 2: - render.lines += instanceCount * count; - break; - - case 0: - render.points += instanceCount * count; - break; - - default: - console.error( 'THREE.WebGLInfo: Unknown draw mode:', mode ); - break; - - } - - } - - function reset() { - - render.frame ++; - render.calls = 0; - render.triangles = 0; - render.points = 0; - render.lines = 0; - - } - - return { - memory: memory, - render: render, - programs: null, - autoReset: true, - reset: reset, - update: update - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function absNumericalSort( a, b ) { - - return Math.abs( b[ 1 ] ) - Math.abs( a[ 1 ] ); - - } - - function WebGLMorphtargets( gl ) { - - var influencesList = {}; - var morphInfluences = new Float32Array( 8 ); - - function update( object, geometry, material, program ) { - - var objectInfluences = object.morphTargetInfluences; - - var length = objectInfluences.length; - - var influences = influencesList[ geometry.id ]; - - if ( influences === undefined ) { - - // initialise list - - influences = []; - - for ( var i = 0; i < length; i ++ ) { - - influences[ i ] = [ i, 0 ]; - - } - - influencesList[ geometry.id ] = influences; - - } - - var morphTargets = material.morphTargets && geometry.morphAttributes.position; - var morphNormals = material.morphNormals && geometry.morphAttributes.normal; - - // Remove current morphAttributes - - for ( var i = 0; i < length; i ++ ) { - - var influence = influences[ i ]; - - if ( influence[ 1 ] !== 0 ) { - - if ( morphTargets ) geometry.removeAttribute( 'morphTarget' + i ); - if ( morphNormals ) geometry.removeAttribute( 'morphNormal' + i ); - - } - - } - - // Collect influences - - for ( var i = 0; i < length; i ++ ) { - - var influence = influences[ i ]; - - influence[ 0 ] = i; - influence[ 1 ] = objectInfluences[ i ]; - - } - - influences.sort( absNumericalSort ); - - // Add morphAttributes - - for ( var i = 0; i < 8; i ++ ) { - - var influence = influences[ i ]; - - if ( influence ) { - - var index = influence[ 0 ]; - var value = influence[ 1 ]; - - if ( value ) { - - if ( morphTargets ) geometry.addAttribute( 'morphTarget' + i, morphTargets[ index ] ); - if ( morphNormals ) geometry.addAttribute( 'morphNormal' + i, morphNormals[ index ] ); - - morphInfluences[ i ] = value; - continue; - - } - - } - - morphInfluences[ i ] = 0; - - } - - program.getUniforms().setValue( gl, 'morphTargetInfluences', morphInfluences ); - - } - - return { - - update: update - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLObjects( geometries, info ) { - - var updateList = {}; - - function update( object ) { - - var frame = info.render.frame; - - var geometry = object.geometry; - var buffergeometry = geometries.get( object, geometry ); - - // Update once per frame - - if ( updateList[ buffergeometry.id ] !== frame ) { - - if ( geometry.isGeometry ) { - - buffergeometry.updateFromObject( object ); - - } - - geometries.update( buffergeometry ); - - updateList[ buffergeometry.id ] = frame; - - } - - return buffergeometry; - - } - - function dispose() { - - updateList = {}; - - } - - return { - - update: update, - dispose: dispose - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function CubeTexture( images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ) { - - images = images !== undefined ? images : []; - mapping = mapping !== undefined ? mapping : CubeReflectionMapping; - format = format !== undefined ? format : RGBFormat; - - Texture.call( this, images, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); - - this.flipY = false; - - } - - CubeTexture.prototype = Object.create( Texture.prototype ); - CubeTexture.prototype.constructor = CubeTexture; - - CubeTexture.prototype.isCubeTexture = true; - - Object.defineProperty( CubeTexture.prototype, 'images', { - - get: function () { - - return this.image; - - }, - - set: function ( value ) { - - this.image = value; - - } - - } ); - - /** - * @author Takahiro https://github.com/takahirox - */ - - function DataTexture2DArray( data, width, height, depth ) { - - Texture.call( this, null ); - - this.image = { data: data, width: width, height: height, depth: depth }; - - this.magFilter = NearestFilter; - this.minFilter = NearestFilter; - - this.wrapR = ClampToEdgeWrapping; - - this.generateMipmaps = false; - this.flipY = false; - - } - - DataTexture2DArray.prototype = Object.create( Texture.prototype ); - DataTexture2DArray.prototype.constructor = DataTexture2DArray; - DataTexture2DArray.prototype.isDataTexture2DArray = true; - - /** - * @author Artur Trzesiok - */ - - function DataTexture3D( data, width, height, depth ) { - - // We're going to add .setXXX() methods for setting properties later. - // Users can still set in DataTexture3D directly. - // - // var texture = new THREE.DataTexture3D( data, width, height, depth ); - // texture.anisotropy = 16; - // - // See #14839 - - Texture.call( this, null ); - - this.image = { data: data, width: width, height: height, depth: depth }; - - this.magFilter = NearestFilter; - this.minFilter = NearestFilter; - - this.wrapR = ClampToEdgeWrapping; - - this.generateMipmaps = false; - this.flipY = false; - - } - - DataTexture3D.prototype = Object.create( Texture.prototype ); - DataTexture3D.prototype.constructor = DataTexture3D; - DataTexture3D.prototype.isDataTexture3D = true; - - /** - * @author tschw - * @author Mugen87 / https://github.com/Mugen87 - * @author mrdoob / http://mrdoob.com/ - * - * Uniforms of a program. - * Those form a tree structure with a special top-level container for the root, - * which you get by calling 'new WebGLUniforms( gl, program )'. - * - * - * Properties of inner nodes including the top-level container: - * - * .seq - array of nested uniforms - * .map - nested uniforms by name - * - * - * Methods of all nodes except the top-level container: - * - * .setValue( gl, value, [textures] ) - * - * uploads a uniform value(s) - * the 'textures' parameter is needed for sampler uniforms - * - * - * Static methods of the top-level container (textures factorizations): - * - * .upload( gl, seq, values, textures ) - * - * sets uniforms in 'seq' to 'values[id].value' - * - * .seqWithValue( seq, values ) : filteredSeq - * - * filters 'seq' entries with corresponding entry in values - * - * - * Methods of the top-level container (textures factorizations): - * - * .setValue( gl, name, value, textures ) - * - * sets uniform with name 'name' to 'value' - * - * .setOptional( gl, obj, prop ) - * - * like .set for an optional property of the object - * - */ - - var emptyTexture = new Texture(); - var emptyTexture2dArray = new DataTexture2DArray(); - var emptyTexture3d = new DataTexture3D(); - var emptyCubeTexture = new CubeTexture(); - - // --- Utilities --- - - // Array Caches (provide typed arrays for temporary by size) - - var arrayCacheF32 = []; - var arrayCacheI32 = []; - - // Float32Array caches used for uploading Matrix uniforms - - var mat4array = new Float32Array( 16 ); - var mat3array = new Float32Array( 9 ); - var mat2array = new Float32Array( 4 ); - - // Flattening for arrays of vectors and matrices - - function flatten( array, nBlocks, blockSize ) { - - var firstElem = array[ 0 ]; - - if ( firstElem <= 0 || firstElem > 0 ) return array; - // unoptimized: ! isNaN( firstElem ) - // see http://jacksondunstan.com/articles/983 - - var n = nBlocks * blockSize, - r = arrayCacheF32[ n ]; - - if ( r === undefined ) { - - r = new Float32Array( n ); - arrayCacheF32[ n ] = r; - - } - - if ( nBlocks !== 0 ) { - - firstElem.toArray( r, 0 ); - - for ( var i = 1, offset = 0; i !== nBlocks; ++ i ) { - - offset += blockSize; - array[ i ].toArray( r, offset ); - - } - - } - - return r; - - } - - function arraysEqual( a, b ) { - - if ( a.length !== b.length ) return false; - - for ( var i = 0, l = a.length; i < l; i ++ ) { - - if ( a[ i ] !== b[ i ] ) return false; - - } - - return true; - - } - - function copyArray( a, b ) { - - for ( var i = 0, l = b.length; i < l; i ++ ) { - - a[ i ] = b[ i ]; - - } - - } - - // Texture unit allocation - - function allocTexUnits( textures, n ) { - - var r = arrayCacheI32[ n ]; - - if ( r === undefined ) { - - r = new Int32Array( n ); - arrayCacheI32[ n ] = r; - - } - - for ( var i = 0; i !== n; ++ i ) - r[ i ] = textures.allocateTextureUnit(); - - return r; - - } - - // --- Setters --- - - // Note: Defining these methods externally, because they come in a bunch - // and this way their names minify. - - // Single scalar - - function setValue1f( gl, v ) { - - var cache = this.cache; - - if ( cache[ 0 ] === v ) return; - - gl.uniform1f( this.addr, v ); - - cache[ 0 ] = v; - - } - - function setValue1i( gl, v ) { - - var cache = this.cache; - - if ( cache[ 0 ] === v ) return; - - gl.uniform1i( this.addr, v ); - - cache[ 0 ] = v; - - } - - // Single float vector (from flat array or THREE.VectorN) - - function setValue2fv( gl, v ) { - - var cache = this.cache; - - if ( v.x !== undefined ) { - - if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y ) { - - gl.uniform2f( this.addr, v.x, v.y ); - - cache[ 0 ] = v.x; - cache[ 1 ] = v.y; - - } - - } else { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform2fv( this.addr, v ); - - copyArray( cache, v ); - - } - - } - - function setValue3fv( gl, v ) { - - var cache = this.cache; - - if ( v.x !== undefined ) { - - if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z ) { - - gl.uniform3f( this.addr, v.x, v.y, v.z ); - - cache[ 0 ] = v.x; - cache[ 1 ] = v.y; - cache[ 2 ] = v.z; - - } - - } else if ( v.r !== undefined ) { - - if ( cache[ 0 ] !== v.r || cache[ 1 ] !== v.g || cache[ 2 ] !== v.b ) { - - gl.uniform3f( this.addr, v.r, v.g, v.b ); - - cache[ 0 ] = v.r; - cache[ 1 ] = v.g; - cache[ 2 ] = v.b; - - } - - } else { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform3fv( this.addr, v ); - - copyArray( cache, v ); - - } - - } - - function setValue4fv( gl, v ) { - - var cache = this.cache; - - if ( v.x !== undefined ) { - - if ( cache[ 0 ] !== v.x || cache[ 1 ] !== v.y || cache[ 2 ] !== v.z || cache[ 3 ] !== v.w ) { - - gl.uniform4f( this.addr, v.x, v.y, v.z, v.w ); - - cache[ 0 ] = v.x; - cache[ 1 ] = v.y; - cache[ 2 ] = v.z; - cache[ 3 ] = v.w; - - } - - } else { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform4fv( this.addr, v ); - - copyArray( cache, v ); - - } - - } - - // Single matrix (from flat array or MatrixN) - - function setValue2fm( gl, v ) { - - var cache = this.cache; - var elements = v.elements; - - if ( elements === undefined ) { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniformMatrix2fv( this.addr, false, v ); - - copyArray( cache, v ); - - } else { - - if ( arraysEqual( cache, elements ) ) return; - - mat2array.set( elements ); - - gl.uniformMatrix2fv( this.addr, false, mat2array ); - - copyArray( cache, elements ); - - } - - } - - function setValue3fm( gl, v ) { - - var cache = this.cache; - var elements = v.elements; - - if ( elements === undefined ) { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniformMatrix3fv( this.addr, false, v ); - - copyArray( cache, v ); - - } else { - - if ( arraysEqual( cache, elements ) ) return; - - mat3array.set( elements ); - - gl.uniformMatrix3fv( this.addr, false, mat3array ); - - copyArray( cache, elements ); - - } - - } - - function setValue4fm( gl, v ) { - - var cache = this.cache; - var elements = v.elements; - - if ( elements === undefined ) { - - if ( arraysEqual( cache, v ) ) return; - - gl.uniformMatrix4fv( this.addr, false, v ); - - copyArray( cache, v ); - - } else { - - if ( arraysEqual( cache, elements ) ) return; - - mat4array.set( elements ); - - gl.uniformMatrix4fv( this.addr, false, mat4array ); - - copyArray( cache, elements ); - - } - - } - - // Single texture (2D / Cube) - - function setValueT1( gl, v, textures ) { - - var cache = this.cache; - var unit = textures.allocateTextureUnit(); - - if ( cache[ 0 ] !== unit ) { - - gl.uniform1i( this.addr, unit ); - cache[ 0 ] = unit; - - } - - textures.safeSetTexture2D( v || emptyTexture, unit ); - - } - - function setValueT2DArray1( gl, v, textures ) { - - var cache = this.cache; - var unit = textures.allocateTextureUnit(); - - if ( cache[ 0 ] !== unit ) { - - gl.uniform1i( this.addr, unit ); - cache[ 0 ] = unit; - - } - - textures.setTexture2DArray( v || emptyTexture2dArray, unit ); - - } - - function setValueT3D1( gl, v, textures ) { - - var cache = this.cache; - var unit = textures.allocateTextureUnit(); - - if ( cache[ 0 ] !== unit ) { - - gl.uniform1i( this.addr, unit ); - cache[ 0 ] = unit; - - } - - textures.setTexture3D( v || emptyTexture3d, unit ); - - } - - function setValueT6( gl, v, textures ) { - - var cache = this.cache; - var unit = textures.allocateTextureUnit(); - - if ( cache[ 0 ] !== unit ) { - - gl.uniform1i( this.addr, unit ); - cache[ 0 ] = unit; - - } - - textures.safeSetTextureCube( v || emptyCubeTexture, unit ); - - } - - // Integer / Boolean vectors or arrays thereof (always flat arrays) - - function setValue2iv( gl, v ) { - - var cache = this.cache; - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform2iv( this.addr, v ); - - copyArray( cache, v ); - - } - - function setValue3iv( gl, v ) { - - var cache = this.cache; - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform3iv( this.addr, v ); - - copyArray( cache, v ); - - } - - function setValue4iv( gl, v ) { - - var cache = this.cache; - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform4iv( this.addr, v ); - - copyArray( cache, v ); - - } - - // Helper to pick the right setter for the singular case - - function getSingularSetter( type ) { - - switch ( type ) { - - case 0x1406: return setValue1f; // FLOAT - case 0x8b50: return setValue2fv; // _VEC2 - case 0x8b51: return setValue3fv; // _VEC3 - case 0x8b52: return setValue4fv; // _VEC4 - - case 0x8b5a: return setValue2fm; // _MAT2 - case 0x8b5b: return setValue3fm; // _MAT3 - case 0x8b5c: return setValue4fm; // _MAT4 - - case 0x8b5e: case 0x8d66: return setValueT1; // SAMPLER_2D, SAMPLER_EXTERNAL_OES - case 0x8b5f: return setValueT3D1; // SAMPLER_3D - case 0x8b60: return setValueT6; // SAMPLER_CUBE - case 0x8DC1: return setValueT2DArray1; // SAMPLER_2D_ARRAY - - case 0x1404: case 0x8b56: return setValue1i; // INT, BOOL - case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 - case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 - case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 - - } - - } - - // Array of scalars - - function setValue1fv( gl, v ) { - - var cache = this.cache; - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform1fv( this.addr, v ); - - copyArray( cache, v ); - - } - function setValue1iv( gl, v ) { - - var cache = this.cache; - - if ( arraysEqual( cache, v ) ) return; - - gl.uniform1iv( this.addr, v ); - - copyArray( cache, v ); - - } - - // Array of vectors (flat or from THREE classes) - - function setValueV2a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 2 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniform2fv( this.addr, data ); - - this.updateCache( data ); - - } - - function setValueV3a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 3 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniform3fv( this.addr, data ); - - this.updateCache( data ); - - } - - function setValueV4a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 4 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniform4fv( this.addr, data ); - - this.updateCache( data ); - - } - - // Array of matrices (flat or from THREE clases) - - function setValueM2a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 4 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniformMatrix2fv( this.addr, false, data ); - - this.updateCache( data ); - - } - - function setValueM3a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 9 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniformMatrix3fv( this.addr, false, data ); - - this.updateCache( data ); - - } - - function setValueM4a( gl, v ) { - - var cache = this.cache; - var data = flatten( v, this.size, 16 ); - - if ( arraysEqual( cache, data ) ) return; - - gl.uniformMatrix4fv( this.addr, false, data ); - - this.updateCache( data ); - - } - - // Array of textures (2D / Cube) - - function setValueT1a( gl, v, textures ) { - - var cache = this.cache; - var n = v.length; - - var units = allocTexUnits( textures, n ); - - if ( arraysEqual( cache, units ) === false ) { - - gl.uniform1iv( this.addr, units ); - copyArray( cache, units ); - - } - - for ( var i = 0; i !== n; ++ i ) { - - textures.safeSetTexture2D( v[ i ] || emptyTexture, units[ i ] ); - - } - - } - - function setValueT6a( gl, v, textures ) { - - var cache = this.cache; - var n = v.length; - - var units = allocTexUnits( textures, n ); - - if ( arraysEqual( cache, units ) === false ) { - - gl.uniform1iv( this.addr, units ); - copyArray( cache, units ); - - } - - for ( var i = 0; i !== n; ++ i ) { - - textures.safeSetTextureCube( v[ i ] || emptyCubeTexture, units[ i ] ); - - } - - } - - // Helper to pick the right setter for a pure (bottom-level) array - - function getPureArraySetter( type ) { - - switch ( type ) { - - case 0x1406: return setValue1fv; // FLOAT - case 0x8b50: return setValueV2a; // _VEC2 - case 0x8b51: return setValueV3a; // _VEC3 - case 0x8b52: return setValueV4a; // _VEC4 - - case 0x8b5a: return setValueM2a; // _MAT2 - case 0x8b5b: return setValueM3a; // _MAT3 - case 0x8b5c: return setValueM4a; // _MAT4 - - case 0x8b5e: return setValueT1a; // SAMPLER_2D - case 0x8b60: return setValueT6a; // SAMPLER_CUBE - - case 0x1404: case 0x8b56: return setValue1iv; // INT, BOOL - case 0x8b53: case 0x8b57: return setValue2iv; // _VEC2 - case 0x8b54: case 0x8b58: return setValue3iv; // _VEC3 - case 0x8b55: case 0x8b59: return setValue4iv; // _VEC4 - - } - - } - - // --- Uniform Classes --- - - function SingleUniform( id, activeInfo, addr ) { - - this.id = id; - this.addr = addr; - this.cache = []; - this.setValue = getSingularSetter( activeInfo.type ); - - // this.path = activeInfo.name; // DEBUG - - } - - function PureArrayUniform( id, activeInfo, addr ) { - - this.id = id; - this.addr = addr; - this.cache = []; - this.size = activeInfo.size; - this.setValue = getPureArraySetter( activeInfo.type ); - - // this.path = activeInfo.name; // DEBUG - - } - - PureArrayUniform.prototype.updateCache = function ( data ) { - - var cache = this.cache; - - if ( data instanceof Float32Array && cache.length !== data.length ) { - - this.cache = new Float32Array( data.length ); - - } - - copyArray( cache, data ); - - }; - - function StructuredUniform( id ) { - - this.id = id; - - this.seq = []; - this.map = {}; - - } - - StructuredUniform.prototype.setValue = function ( gl, value, textures ) { - - var seq = this.seq; - - for ( var i = 0, n = seq.length; i !== n; ++ i ) { - - var u = seq[ i ]; - u.setValue( gl, value[ u.id ], textures ); - - } - - }; - - // --- Top-level --- - - // Parser - builds up the property tree from the path strings - - var RePathPart = /([\w\d_]+)(\])?(\[|\.)?/g; - - // extracts - // - the identifier (member name or array index) - // - followed by an optional right bracket (found when array index) - // - followed by an optional left bracket or dot (type of subscript) - // - // Note: These portions can be read in a non-overlapping fashion and - // allow straightforward parsing of the hierarchy that WebGL encodes - // in the uniform names. - - function addUniform( container, uniformObject ) { - - container.seq.push( uniformObject ); - container.map[ uniformObject.id ] = uniformObject; - - } - - function parseUniform( activeInfo, addr, container ) { - - var path = activeInfo.name, - pathLength = path.length; - - // reset RegExp object, because of the early exit of a previous run - RePathPart.lastIndex = 0; - - while ( true ) { - - var match = RePathPart.exec( path ), - matchEnd = RePathPart.lastIndex, - - id = match[ 1 ], - idIsIndex = match[ 2 ] === ']', - subscript = match[ 3 ]; - - if ( idIsIndex ) id = id | 0; // convert to integer - - if ( subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength ) { - - // bare name or "pure" bottom-level array "[0]" suffix - - addUniform( container, subscript === undefined ? - new SingleUniform( id, activeInfo, addr ) : - new PureArrayUniform( id, activeInfo, addr ) ); - - break; - - } else { - - // step into inner node / create it in case it doesn't exist - - var map = container.map, next = map[ id ]; - - if ( next === undefined ) { - - next = new StructuredUniform( id ); - addUniform( container, next ); - - } - - container = next; - - } - - } - - } - - // Root Container - - function WebGLUniforms( gl, program ) { - - this.seq = []; - this.map = {}; - - var n = gl.getProgramParameter( program, 35718 ); - - for ( var i = 0; i < n; ++ i ) { - - var info = gl.getActiveUniform( program, i ), - addr = gl.getUniformLocation( program, info.name ); - - parseUniform( info, addr, this ); - - } - - } - - WebGLUniforms.prototype.setValue = function ( gl, name, value, textures ) { - - var u = this.map[ name ]; - - if ( u !== undefined ) u.setValue( gl, value, textures ); - - }; - - WebGLUniforms.prototype.setOptional = function ( gl, object, name ) { - - var v = object[ name ]; - - if ( v !== undefined ) this.setValue( gl, name, v ); - - }; - - - // Static interface - - WebGLUniforms.upload = function ( gl, seq, values, textures ) { - - for ( var i = 0, n = seq.length; i !== n; ++ i ) { - - var u = seq[ i ], - v = values[ u.id ]; - - if ( v.needsUpdate !== false ) { - - // note: always updating when .needsUpdate is undefined - u.setValue( gl, v.value, textures ); - - } - - } - - }; - - WebGLUniforms.seqWithValue = function ( seq, values ) { - - var r = []; - - for ( var i = 0, n = seq.length; i !== n; ++ i ) { - - var u = seq[ i ]; - if ( u.id in values ) r.push( u ); - - } - - return r; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function addLineNumbers( string ) { - - var lines = string.split( '\n' ); - - for ( var i = 0; i < lines.length; i ++ ) { - - lines[ i ] = ( i + 1 ) + ': ' + lines[ i ]; - - } - - return lines.join( '\n' ); - - } - - function WebGLShader( gl, type, string ) { - - var shader = gl.createShader( type ); - - gl.shaderSource( shader, string ); - gl.compileShader( shader ); - - if ( gl.getShaderParameter( shader, 35713 ) === false ) { - - console.error( 'THREE.WebGLShader: Shader couldn\'t compile.' ); - - } - - if ( gl.getShaderInfoLog( shader ) !== '' ) { - - console.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', type === 35633 ? 'vertex' : 'fragment', gl.getShaderInfoLog( shader ), addLineNumbers( string ) ); - - } - - // --enable-privileged-webgl-extension - // console.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); - - return shader; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - var programIdCount = 0; - - function getEncodingComponents( encoding ) { - - switch ( encoding ) { - - case LinearEncoding: - return [ 'Linear', '( value )' ]; - case sRGBEncoding: - return [ 'sRGB', '( value )' ]; - case RGBEEncoding: - return [ 'RGBE', '( value )' ]; - case RGBM7Encoding: - return [ 'RGBM', '( value, 7.0 )' ]; - case RGBM16Encoding: - return [ 'RGBM', '( value, 16.0 )' ]; - case RGBDEncoding: - return [ 'RGBD', '( value, 256.0 )' ]; - case GammaEncoding: - return [ 'Gamma', '( value, float( GAMMA_FACTOR ) )' ]; - default: - throw new Error( 'unsupported encoding: ' + encoding ); - - } - - } - - function getTexelDecodingFunction( functionName, encoding ) { - - var components = getEncodingComponents( encoding ); - return 'vec4 ' + functionName + '( vec4 value ) { return ' + components[ 0 ] + 'ToLinear' + components[ 1 ] + '; }'; - - } - - function getTexelEncodingFunction( functionName, encoding ) { - - var components = getEncodingComponents( encoding ); - return 'vec4 ' + functionName + '( vec4 value ) { return LinearTo' + components[ 0 ] + components[ 1 ] + '; }'; - - } - - function getToneMappingFunction( functionName, toneMapping ) { - - var toneMappingName; - - switch ( toneMapping ) { - - case LinearToneMapping: - toneMappingName = 'Linear'; - break; - - case ReinhardToneMapping: - toneMappingName = 'Reinhard'; - break; - - case Uncharted2ToneMapping: - toneMappingName = 'Uncharted2'; - break; - - case CineonToneMapping: - toneMappingName = 'OptimizedCineon'; - break; - - case ACESFilmicToneMapping: - toneMappingName = 'ACESFilmic'; - break; - - default: - throw new Error( 'unsupported toneMapping: ' + toneMapping ); - - } - - return 'vec3 ' + functionName + '( vec3 color ) { return ' + toneMappingName + 'ToneMapping( color ); }'; - - } - - function generateExtensions( extensions, parameters, rendererExtensions ) { - - extensions = extensions || {}; - - var chunks = [ - ( extensions.derivatives || parameters.envMapCubeUV || parameters.bumpMap || ( parameters.normalMap && ! parameters.objectSpaceNormalMap ) || parameters.flatShading ) ? '#extension GL_OES_standard_derivatives : enable' : '', - ( extensions.fragDepth || parameters.logarithmicDepthBuffer ) && rendererExtensions.get( 'EXT_frag_depth' ) ? '#extension GL_EXT_frag_depth : enable' : '', - ( extensions.drawBuffers ) && rendererExtensions.get( 'WEBGL_draw_buffers' ) ? '#extension GL_EXT_draw_buffers : require' : '', - ( extensions.shaderTextureLOD || parameters.envMap ) && rendererExtensions.get( 'EXT_shader_texture_lod' ) ? '#extension GL_EXT_shader_texture_lod : enable' : '' - ]; - - return chunks.filter( filterEmptyLine ).join( '\n' ); - - } - - function generateDefines( defines ) { - - var chunks = []; - - for ( var name in defines ) { - - var value = defines[ name ]; - - if ( value === false ) continue; - - chunks.push( '#define ' + name + ' ' + value ); - - } - - return chunks.join( '\n' ); - - } - - function fetchAttributeLocations( gl, program ) { - - var attributes = {}; - - var n = gl.getProgramParameter( program, 35721 ); - - for ( var i = 0; i < n; i ++ ) { - - var info = gl.getActiveAttrib( program, i ); - var name = info.name; - - // console.log( 'THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:', name, i ); - - attributes[ name ] = gl.getAttribLocation( program, name ); - - } - - return attributes; - - } - - function filterEmptyLine( string ) { - - return string !== ''; - - } - - function replaceLightNums( string, parameters ) { - - return string - .replace( /NUM_DIR_LIGHTS/g, parameters.numDirLights ) - .replace( /NUM_SPOT_LIGHTS/g, parameters.numSpotLights ) - .replace( /NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights ) - .replace( /NUM_POINT_LIGHTS/g, parameters.numPointLights ) - .replace( /NUM_HEMI_LIGHTS/g, parameters.numHemiLights ); - - } - - function replaceClippingPlaneNums( string, parameters ) { - - return string - .replace( /NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes ) - .replace( /UNION_CLIPPING_PLANES/g, ( parameters.numClippingPlanes - parameters.numClipIntersection ) ); - - } - - function parseIncludes( string ) { - - var pattern = /^[ \t]*#include +<([\w\d./]+)>/gm; - - function replace( match, include ) { - - var replace = ShaderChunk[ include ]; - - if ( replace === undefined ) { - - throw new Error( 'Can not resolve #include <' + include + '>' ); - - } - - return parseIncludes( replace ); - - } - - return string.replace( pattern, replace ); - - } - - function unrollLoops( string ) { - - var pattern = /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g; - - function replace( match, start, end, snippet ) { - - var unroll = ''; - - for ( var i = parseInt( start ); i < parseInt( end ); i ++ ) { - - unroll += snippet.replace( /\[ i \]/g, '[ ' + i + ' ]' ); - - } - - return unroll; - - } - - return string.replace( pattern, replace ); - - } - - function WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities, textures ) { - - var gl = renderer.context; - - var defines = material.defines; - - var vertexShader = shader.vertexShader; - var fragmentShader = shader.fragmentShader; - - var shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC'; - - if ( parameters.shadowMapType === PCFShadowMap ) { - - shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF'; - - } else if ( parameters.shadowMapType === PCFSoftShadowMap ) { - - shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT'; - - } - - var envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; - var envMapModeDefine = 'ENVMAP_MODE_REFLECTION'; - var envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; - - if ( parameters.envMap ) { - - switch ( material.envMap.mapping ) { - - case CubeReflectionMapping: - case CubeRefractionMapping: - envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; - break; - - case CubeUVReflectionMapping: - case CubeUVRefractionMapping: - envMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV'; - break; - - case EquirectangularReflectionMapping: - case EquirectangularRefractionMapping: - envMapTypeDefine = 'ENVMAP_TYPE_EQUIREC'; - break; - - case SphericalReflectionMapping: - envMapTypeDefine = 'ENVMAP_TYPE_SPHERE'; - break; - - } - - switch ( material.envMap.mapping ) { - - case CubeRefractionMapping: - case EquirectangularRefractionMapping: - envMapModeDefine = 'ENVMAP_MODE_REFRACTION'; - break; - - } - - switch ( material.combine ) { - - case MultiplyOperation: - envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; - break; - - case MixOperation: - envMapBlendingDefine = 'ENVMAP_BLENDING_MIX'; - break; - - case AddOperation: - envMapBlendingDefine = 'ENVMAP_BLENDING_ADD'; - break; - - } - - } - - var gammaFactorDefine = ( renderer.gammaFactor > 0 ) ? renderer.gammaFactor : 1.0; - - // console.log( 'building new program ' ); - - // - - var customExtensions = capabilities.isWebGL2 ? '' : generateExtensions( material.extensions, parameters, extensions ); - - var customDefines = generateDefines( defines ); - - // - - var program = gl.createProgram(); - - var prefixVertex, prefixFragment; - - if ( material.isRawShaderMaterial ) { - - prefixVertex = [ - - customDefines - - ].filter( filterEmptyLine ).join( '\n' ); - - if ( prefixVertex.length > 0 ) { - - prefixVertex += '\n'; - - } - - prefixFragment = [ - - customExtensions, - customDefines - - ].filter( filterEmptyLine ).join( '\n' ); - - if ( prefixFragment.length > 0 ) { - - prefixFragment += '\n'; - - } - - } else { - - prefixVertex = [ - - 'precision ' + parameters.precision + ' float;', - 'precision ' + parameters.precision + ' int;', - - '#define SHADER_NAME ' + shader.name, - - customDefines, - - parameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', - - '#define GAMMA_FACTOR ' + gammaFactorDefine, - - '#define MAX_BONES ' + parameters.maxBones, - ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', - ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', - - parameters.map ? '#define USE_MAP' : '', - parameters.envMap ? '#define USE_ENVMAP' : '', - parameters.envMap ? '#define ' + envMapModeDefine : '', - parameters.lightMap ? '#define USE_LIGHTMAP' : '', - parameters.aoMap ? '#define USE_AOMAP' : '', - parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', - parameters.bumpMap ? '#define USE_BUMPMAP' : '', - parameters.normalMap ? '#define USE_NORMALMAP' : '', - ( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '', - parameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', - parameters.specularMap ? '#define USE_SPECULARMAP' : '', - parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', - parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', - parameters.alphaMap ? '#define USE_ALPHAMAP' : '', - - parameters.vertexTangents ? '#define USE_TANGENT' : '', - parameters.vertexColors ? '#define USE_COLOR' : '', - - parameters.flatShading ? '#define FLAT_SHADED' : '', - - parameters.skinning ? '#define USE_SKINNING' : '', - parameters.useVertexTexture ? '#define BONE_TEXTURE' : '', - - parameters.morphTargets ? '#define USE_MORPHTARGETS' : '', - parameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '', - parameters.doubleSided ? '#define DOUBLE_SIDED' : '', - parameters.flipSided ? '#define FLIP_SIDED' : '', - - parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', - parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', - - parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', - - parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', - parameters.logarithmicDepthBuffer && ( capabilities.isWebGL2 || extensions.get( 'EXT_frag_depth' ) ) ? '#define USE_LOGDEPTHBUF_EXT' : '', - - 'uniform mat4 modelMatrix;', - 'uniform mat4 modelViewMatrix;', - 'uniform mat4 projectionMatrix;', - 'uniform mat4 viewMatrix;', - 'uniform mat3 normalMatrix;', - 'uniform vec3 cameraPosition;', - - 'attribute vec3 position;', - 'attribute vec3 normal;', - 'attribute vec2 uv;', - - '#ifdef USE_TANGENT', - - ' attribute vec4 tangent;', - - '#endif', - - '#ifdef USE_COLOR', - - ' attribute vec3 color;', - - '#endif', - - '#ifdef USE_MORPHTARGETS', - - ' attribute vec3 morphTarget0;', - ' attribute vec3 morphTarget1;', - ' attribute vec3 morphTarget2;', - ' attribute vec3 morphTarget3;', - - ' #ifdef USE_MORPHNORMALS', - - ' attribute vec3 morphNormal0;', - ' attribute vec3 morphNormal1;', - ' attribute vec3 morphNormal2;', - ' attribute vec3 morphNormal3;', - - ' #else', - - ' attribute vec3 morphTarget4;', - ' attribute vec3 morphTarget5;', - ' attribute vec3 morphTarget6;', - ' attribute vec3 morphTarget7;', - - ' #endif', - - '#endif', - - '#ifdef USE_SKINNING', - - ' attribute vec4 skinIndex;', - ' attribute vec4 skinWeight;', - - '#endif', - - '\n' - - ].filter( filterEmptyLine ).join( '\n' ); - - prefixFragment = [ - - customExtensions, - - 'precision ' + parameters.precision + ' float;', - 'precision ' + parameters.precision + ' int;', - - '#define SHADER_NAME ' + shader.name, - - customDefines, - - parameters.alphaTest ? '#define ALPHATEST ' + parameters.alphaTest + ( parameters.alphaTest % 1 ? '' : '.0' ) : '', // add '.0' if integer - - '#define GAMMA_FACTOR ' + gammaFactorDefine, - - ( parameters.useFog && parameters.fog ) ? '#define USE_FOG' : '', - ( parameters.useFog && parameters.fogExp ) ? '#define FOG_EXP2' : '', - - parameters.map ? '#define USE_MAP' : '', - parameters.matcap ? '#define USE_MATCAP' : '', - parameters.envMap ? '#define USE_ENVMAP' : '', - parameters.envMap ? '#define ' + envMapTypeDefine : '', - parameters.envMap ? '#define ' + envMapModeDefine : '', - parameters.envMap ? '#define ' + envMapBlendingDefine : '', - parameters.lightMap ? '#define USE_LIGHTMAP' : '', - parameters.aoMap ? '#define USE_AOMAP' : '', - parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', - parameters.bumpMap ? '#define USE_BUMPMAP' : '', - parameters.normalMap ? '#define USE_NORMALMAP' : '', - ( parameters.normalMap && parameters.objectSpaceNormalMap ) ? '#define OBJECTSPACE_NORMALMAP' : '', - parameters.specularMap ? '#define USE_SPECULARMAP' : '', - parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', - parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', - parameters.alphaMap ? '#define USE_ALPHAMAP' : '', - - parameters.vertexTangents ? '#define USE_TANGENT' : '', - parameters.vertexColors ? '#define USE_COLOR' : '', - - parameters.gradientMap ? '#define USE_GRADIENTMAP' : '', - - parameters.flatShading ? '#define FLAT_SHADED' : '', - - parameters.doubleSided ? '#define DOUBLE_SIDED' : '', - parameters.flipSided ? '#define FLIP_SIDED' : '', - - parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', - parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', - - parameters.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '', - - parameters.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '', - - parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', - parameters.logarithmicDepthBuffer && ( capabilities.isWebGL2 || extensions.get( 'EXT_frag_depth' ) ) ? '#define USE_LOGDEPTHBUF_EXT' : '', - - parameters.envMap && ( capabilities.isWebGL2 || extensions.get( 'EXT_shader_texture_lod' ) ) ? '#define TEXTURE_LOD_EXT' : '', - - 'uniform mat4 viewMatrix;', - 'uniform vec3 cameraPosition;', - - ( parameters.toneMapping !== NoToneMapping ) ? '#define TONE_MAPPING' : '', - ( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '', // this code is required here because it is used by the toneMapping() function defined below - ( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( 'toneMapping', parameters.toneMapping ) : '', - - parameters.dithering ? '#define DITHERING' : '', - - ( parameters.outputEncoding || parameters.mapEncoding || parameters.matcapEncoding || parameters.envMapEncoding || parameters.emissiveMapEncoding ) ? - ShaderChunk[ 'encodings_pars_fragment' ] : '', // this code is required here because it is used by the various encoding/decoding function defined below - parameters.mapEncoding ? getTexelDecodingFunction( 'mapTexelToLinear', parameters.mapEncoding ) : '', - parameters.matcapEncoding ? getTexelDecodingFunction( 'matcapTexelToLinear', parameters.matcapEncoding ) : '', - parameters.envMapEncoding ? getTexelDecodingFunction( 'envMapTexelToLinear', parameters.envMapEncoding ) : '', - parameters.emissiveMapEncoding ? getTexelDecodingFunction( 'emissiveMapTexelToLinear', parameters.emissiveMapEncoding ) : '', - parameters.outputEncoding ? getTexelEncodingFunction( 'linearToOutputTexel', parameters.outputEncoding ) : '', - - parameters.depthPacking ? '#define DEPTH_PACKING ' + material.depthPacking : '', - - '\n' - - ].filter( filterEmptyLine ).join( '\n' ); - - } - - vertexShader = parseIncludes( vertexShader ); - vertexShader = replaceLightNums( vertexShader, parameters ); - vertexShader = replaceClippingPlaneNums( vertexShader, parameters ); - - fragmentShader = parseIncludes( fragmentShader ); - fragmentShader = replaceLightNums( fragmentShader, parameters ); - fragmentShader = replaceClippingPlaneNums( fragmentShader, parameters ); - - vertexShader = unrollLoops( vertexShader ); - fragmentShader = unrollLoops( fragmentShader ); - - if ( capabilities.isWebGL2 && ! material.isRawShaderMaterial ) { - - var isGLSL3ShaderMaterial = false; - - var versionRegex = /^\s*#version\s+300\s+es\s*\n/; - - if ( material.isShaderMaterial && - vertexShader.match( versionRegex ) !== null && - fragmentShader.match( versionRegex ) !== null ) { - - isGLSL3ShaderMaterial = true; - - vertexShader = vertexShader.replace( versionRegex, '' ); - fragmentShader = fragmentShader.replace( versionRegex, '' ); - - } - - // GLSL 3.0 conversion - prefixVertex = [ - '#version 300 es\n', - '#define attribute in', - '#define varying out', - '#define texture2D texture' - ].join( '\n' ) + '\n' + prefixVertex; - - prefixFragment = [ - '#version 300 es\n', - '#define varying in', - isGLSL3ShaderMaterial ? '' : 'out highp vec4 pc_fragColor;', - isGLSL3ShaderMaterial ? '' : '#define gl_FragColor pc_fragColor', - '#define gl_FragDepthEXT gl_FragDepth', - '#define texture2D texture', - '#define textureCube texture', - '#define texture2DProj textureProj', - '#define texture2DLodEXT textureLod', - '#define texture2DProjLodEXT textureProjLod', - '#define textureCubeLodEXT textureLod', - '#define texture2DGradEXT textureGrad', - '#define texture2DProjGradEXT textureProjGrad', - '#define textureCubeGradEXT textureGrad' - ].join( '\n' ) + '\n' + prefixFragment; - - } - - var vertexGlsl = prefixVertex + vertexShader; - var fragmentGlsl = prefixFragment + fragmentShader; - - // console.log( '*VERTEX*', vertexGlsl ); - // console.log( '*FRAGMENT*', fragmentGlsl ); - - var glVertexShader = WebGLShader( gl, 35633, vertexGlsl ); - var glFragmentShader = WebGLShader( gl, 35632, fragmentGlsl ); - - gl.attachShader( program, glVertexShader ); - gl.attachShader( program, glFragmentShader ); - - // Force a particular attribute to index 0. - - if ( material.index0AttributeName !== undefined ) { - - gl.bindAttribLocation( program, 0, material.index0AttributeName ); - - } else if ( parameters.morphTargets === true ) { - - // programs with morphTargets displace position out of attribute 0 - gl.bindAttribLocation( program, 0, 'position' ); - - } - - gl.linkProgram( program ); - - var programLog = gl.getProgramInfoLog( program ).trim(); - var vertexLog = gl.getShaderInfoLog( glVertexShader ).trim(); - var fragmentLog = gl.getShaderInfoLog( glFragmentShader ).trim(); - - var runnable = true; - var haveDiagnostics = true; - - // console.log( '**VERTEX**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glVertexShader ) ); - // console.log( '**FRAGMENT**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( glFragmentShader ) ); - - if ( gl.getProgramParameter( program, 35714 ) === false ) { - - runnable = false; - - console.error( 'THREE.WebGLProgram: shader error: ', gl.getError(), '35715', gl.getProgramParameter( program, 35715 ), 'gl.getProgramInfoLog', programLog, vertexLog, fragmentLog ); - - } else if ( programLog !== '' ) { - - console.warn( 'THREE.WebGLProgram: gl.getProgramInfoLog()', programLog ); - - } else if ( vertexLog === '' || fragmentLog === '' ) { - - haveDiagnostics = false; - - } - - if ( haveDiagnostics ) { - - this.diagnostics = { - - runnable: runnable, - material: material, - - programLog: programLog, - - vertexShader: { - - log: vertexLog, - prefix: prefixVertex - - }, - - fragmentShader: { - - log: fragmentLog, - prefix: prefixFragment - - } - - }; - - } - - // clean up - - gl.deleteShader( glVertexShader ); - gl.deleteShader( glFragmentShader ); - - // set up caching for uniform locations - - var cachedUniforms; - - this.getUniforms = function () { - - if ( cachedUniforms === undefined ) { - - cachedUniforms = new WebGLUniforms( gl, program, textures ); - - } - - return cachedUniforms; - - }; - - // set up caching for attribute locations - - var cachedAttributes; - - this.getAttributes = function () { - - if ( cachedAttributes === undefined ) { - - cachedAttributes = fetchAttributeLocations( gl, program ); - - } - - return cachedAttributes; - - }; - - // free resource - - this.destroy = function () { - - gl.deleteProgram( program ); - this.program = undefined; - - }; - - // DEPRECATED - - Object.defineProperties( this, { - - uniforms: { - get: function () { - - console.warn( 'THREE.WebGLProgram: .uniforms is now .getUniforms().' ); - return this.getUniforms(); - - } - }, - - attributes: { - get: function () { - - console.warn( 'THREE.WebGLProgram: .attributes is now .getAttributes().' ); - return this.getAttributes(); - - } - } - - } ); - - - // - - this.name = shader.name; - this.id = programIdCount ++; - this.code = code; - this.usedTimes = 1; - this.program = program; - this.vertexShader = glVertexShader; - this.fragmentShader = glFragmentShader; - - return this; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLPrograms( renderer, extensions, capabilities, textures ) { - - var programs = []; - - var shaderIDs = { - MeshDepthMaterial: 'depth', - MeshDistanceMaterial: 'distanceRGBA', - MeshNormalMaterial: 'normal', - MeshBasicMaterial: 'basic', - MeshLambertMaterial: 'lambert', - MeshPhongMaterial: 'phong', - MeshToonMaterial: 'phong', - MeshStandardMaterial: 'physical', - MeshPhysicalMaterial: 'physical', - MeshMatcapMaterial: 'matcap', - LineBasicMaterial: 'basic', - LineDashedMaterial: 'dashed', - PointsMaterial: 'points', - ShadowMaterial: 'shadow', - SpriteMaterial: 'sprite' - }; - - var parameterNames = [ - "precision", "supportsVertexTextures", "map", "mapEncoding", "matcap", "matcapEncoding", "envMap", "envMapMode", "envMapEncoding", - "lightMap", "aoMap", "emissiveMap", "emissiveMapEncoding", "bumpMap", "normalMap", "objectSpaceNormalMap", "displacementMap", "specularMap", - "roughnessMap", "metalnessMap", "gradientMap", - "alphaMap", "combine", "vertexColors", "vertexTangents", "fog", "useFog", "fogExp", - "flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning", - "maxBones", "useVertexTexture", "morphTargets", "morphNormals", - "maxMorphTargets", "maxMorphNormals", "premultipliedAlpha", - "numDirLights", "numPointLights", "numSpotLights", "numHemiLights", "numRectAreaLights", - "shadowMapEnabled", "shadowMapType", "toneMapping", 'physicallyCorrectLights', - "alphaTest", "doubleSided", "flipSided", "numClippingPlanes", "numClipIntersection", "depthPacking", "dithering" - ]; - - - function allocateBones( object ) { - - var skeleton = object.skeleton; - var bones = skeleton.bones; - - if ( capabilities.floatVertexTextures ) { - - return 1024; - - } else { - - // default for when object is not specified - // ( for example when prebuilding shader to be used with multiple objects ) - // - // - leave some extra space for other uniforms - // - limit here is ANGLE's 254 max uniform vectors - // (up to 54 should be safe) - - var nVertexUniforms = capabilities.maxVertexUniforms; - var nVertexMatrices = Math.floor( ( nVertexUniforms - 20 ) / 4 ); - - var maxBones = Math.min( nVertexMatrices, bones.length ); - - if ( maxBones < bones.length ) { - - console.warn( 'THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones. This GPU supports ' + maxBones + '.' ); - return 0; - - } - - return maxBones; - - } - - } - - function getTextureEncodingFromMap( map, gammaOverrideLinear ) { - - var encoding; - - if ( ! map ) { - - encoding = LinearEncoding; - - } else if ( map.isTexture ) { - - encoding = map.encoding; - - } else if ( map.isWebGLRenderTarget ) { - - console.warn( "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead." ); - encoding = map.texture.encoding; - - } - - // add backwards compatibility for WebGLRenderer.gammaInput/gammaOutput parameter, should probably be removed at some point. - if ( encoding === LinearEncoding && gammaOverrideLinear ) { - - encoding = GammaEncoding; - - } - - return encoding; - - } - - this.getParameters = function ( material, lights, shadows, fog, nClipPlanes, nClipIntersection, object ) { - - var shaderID = shaderIDs[ material.type ]; - - // heuristics to create shader parameters according to lights in the scene - // (not to blow over maxLights budget) - - var maxBones = object.isSkinnedMesh ? allocateBones( object ) : 0; - var precision = capabilities.precision; - - if ( material.precision !== null ) { - - precision = capabilities.getMaxPrecision( material.precision ); - - if ( precision !== material.precision ) { - - console.warn( 'THREE.WebGLProgram.getParameters:', material.precision, 'not supported, using', precision, 'instead.' ); - - } - - } - - var currentRenderTarget = renderer.getRenderTarget(); - - var parameters = { - - shaderID: shaderID, - - precision: precision, - supportsVertexTextures: capabilities.vertexTextures, - outputEncoding: getTextureEncodingFromMap( ( ! currentRenderTarget ) ? null : currentRenderTarget.texture, renderer.gammaOutput ), - map: !! material.map, - mapEncoding: getTextureEncodingFromMap( material.map, renderer.gammaInput ), - matcap: !! material.matcap, - matcapEncoding: getTextureEncodingFromMap( material.matcap, renderer.gammaInput ), - envMap: !! material.envMap, - envMapMode: material.envMap && material.envMap.mapping, - envMapEncoding: getTextureEncodingFromMap( material.envMap, renderer.gammaInput ), - envMapCubeUV: ( !! material.envMap ) && ( ( material.envMap.mapping === CubeUVReflectionMapping ) || ( material.envMap.mapping === CubeUVRefractionMapping ) ), - lightMap: !! material.lightMap, - aoMap: !! material.aoMap, - emissiveMap: !! material.emissiveMap, - emissiveMapEncoding: getTextureEncodingFromMap( material.emissiveMap, renderer.gammaInput ), - bumpMap: !! material.bumpMap, - normalMap: !! material.normalMap, - objectSpaceNormalMap: material.normalMapType === ObjectSpaceNormalMap, - displacementMap: !! material.displacementMap, - roughnessMap: !! material.roughnessMap, - metalnessMap: !! material.metalnessMap, - specularMap: !! material.specularMap, - alphaMap: !! material.alphaMap, - - gradientMap: !! material.gradientMap, - - combine: material.combine, - - vertexTangents: ( material.normalMap && material.vertexTangents ), - vertexColors: material.vertexColors, - - fog: !! fog, - useFog: material.fog, - fogExp: ( fog && fog.isFogExp2 ), - - flatShading: material.flatShading, - - sizeAttenuation: material.sizeAttenuation, - logarithmicDepthBuffer: capabilities.logarithmicDepthBuffer, - - skinning: material.skinning && maxBones > 0, - maxBones: maxBones, - useVertexTexture: capabilities.floatVertexTextures, - - morphTargets: material.morphTargets, - morphNormals: material.morphNormals, - maxMorphTargets: renderer.maxMorphTargets, - maxMorphNormals: renderer.maxMorphNormals, - - numDirLights: lights.directional.length, - numPointLights: lights.point.length, - numSpotLights: lights.spot.length, - numRectAreaLights: lights.rectArea.length, - numHemiLights: lights.hemi.length, - - numClippingPlanes: nClipPlanes, - numClipIntersection: nClipIntersection, - - dithering: material.dithering, - - shadowMapEnabled: renderer.shadowMap.enabled && object.receiveShadow && shadows.length > 0, - shadowMapType: renderer.shadowMap.type, - - toneMapping: renderer.toneMapping, - physicallyCorrectLights: renderer.physicallyCorrectLights, - - premultipliedAlpha: material.premultipliedAlpha, - - alphaTest: material.alphaTest, - doubleSided: material.side === DoubleSide, - flipSided: material.side === BackSide, - - depthPacking: ( material.depthPacking !== undefined ) ? material.depthPacking : false - - }; - - return parameters; - - }; - - this.getProgramCode = function ( material, parameters ) { - - var array = []; - - if ( parameters.shaderID ) { - - array.push( parameters.shaderID ); - - } else { - - array.push( material.fragmentShader ); - array.push( material.vertexShader ); - - } - - if ( material.defines !== undefined ) { - - for ( var name in material.defines ) { - - array.push( name ); - array.push( material.defines[ name ] ); - - } - - } - - for ( var i = 0; i < parameterNames.length; i ++ ) { - - array.push( parameters[ parameterNames[ i ] ] ); - - } - - array.push( material.onBeforeCompile.toString() ); - - array.push( renderer.gammaOutput ); - - array.push( renderer.gammaFactor ); - - return array.join(); - - }; - - this.acquireProgram = function ( material, shader, parameters, code ) { - - var program; - - // Check if code has been already compiled - for ( var p = 0, pl = programs.length; p < pl; p ++ ) { - - var programInfo = programs[ p ]; - - if ( programInfo.code === code ) { - - program = programInfo; - ++ program.usedTimes; - - break; - - } - - } - - if ( program === undefined ) { - - program = new WebGLProgram( renderer, extensions, code, material, shader, parameters, capabilities, textures ); - programs.push( program ); - - } - - return program; - - }; - - this.releaseProgram = function ( program ) { - - if ( -- program.usedTimes === 0 ) { - - // Remove from unordered set - var i = programs.indexOf( program ); - programs[ i ] = programs[ programs.length - 1 ]; - programs.pop(); - - // Free WebGL resources - program.destroy(); - - } - - }; - - // Exposed for resource monitoring & error feedback via renderer.info: - this.programs = programs; - - } - - /** - * @author fordacious / fordacious.github.io - */ - - function WebGLProperties() { - - var properties = new WeakMap(); - - function get( object ) { - - var map = properties.get( object ); - - if ( map === undefined ) { - - map = {}; - properties.set( object, map ); - - } - - return map; - - } - - function remove( object ) { - - properties.delete( object ); - - } - - function update( object, key, value ) { - - properties.get( object )[ key ] = value; - - } - - function dispose() { - - properties = new WeakMap(); - - } - - return { - get: get, - remove: remove, - update: update, - dispose: dispose - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function painterSortStable( a, b ) { - - if ( a.groupOrder !== b.groupOrder ) { - - return a.groupOrder - b.groupOrder; - - } else if ( a.renderOrder !== b.renderOrder ) { - - return a.renderOrder - b.renderOrder; - - } else if ( a.program !== b.program ) { - - return a.program.id - b.program.id; - - } else if ( a.material.id !== b.material.id ) { - - return a.material.id - b.material.id; - - } else if ( a.z !== b.z ) { - - return a.z - b.z; - - } else { - - return a.id - b.id; - - } - - } - - function reversePainterSortStable( a, b ) { - - if ( a.groupOrder !== b.groupOrder ) { - - return a.groupOrder - b.groupOrder; - - } else if ( a.renderOrder !== b.renderOrder ) { - - return a.renderOrder - b.renderOrder; - - } else if ( a.z !== b.z ) { - - return b.z - a.z; - - } else { - - return a.id - b.id; - - } - - } - - - function WebGLRenderList() { - - var renderItems = []; - var renderItemsIndex = 0; - - var opaque = []; - var transparent = []; - - var defaultProgram = { id: - 1 }; - - function init() { - - renderItemsIndex = 0; - - opaque.length = 0; - transparent.length = 0; - - } - - function getNextRenderItem( object, geometry, material, groupOrder, z, group ) { - - var renderItem = renderItems[ renderItemsIndex ]; - - if ( renderItem === undefined ) { - - renderItem = { - id: object.id, - object: object, - geometry: geometry, - material: material, - program: material.program || defaultProgram, - groupOrder: groupOrder, - renderOrder: object.renderOrder, - z: z, - group: group - }; - - renderItems[ renderItemsIndex ] = renderItem; - - } else { - - renderItem.id = object.id; - renderItem.object = object; - renderItem.geometry = geometry; - renderItem.material = material; - renderItem.program = material.program || defaultProgram; - renderItem.groupOrder = groupOrder; - renderItem.renderOrder = object.renderOrder; - renderItem.z = z; - renderItem.group = group; - - } - - renderItemsIndex ++; - - return renderItem; - - } - - function push( object, geometry, material, groupOrder, z, group ) { - - var renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group ); - - ( material.transparent === true ? transparent : opaque ).push( renderItem ); - - } - - function unshift( object, geometry, material, groupOrder, z, group ) { - - var renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group ); - - ( material.transparent === true ? transparent : opaque ).unshift( renderItem ); - - } - - function sort() { - - if ( opaque.length > 1 ) opaque.sort( painterSortStable ); - if ( transparent.length > 1 ) transparent.sort( reversePainterSortStable ); - - } - - return { - opaque: opaque, - transparent: transparent, - - init: init, - push: push, - unshift: unshift, - - sort: sort - }; - - } - - function WebGLRenderLists() { - - var lists = {}; - - function onSceneDispose( event ) { - - var scene = event.target; - - scene.removeEventListener( 'dispose', onSceneDispose ); - - delete lists[ scene.id ]; - - } - - function get( scene, camera ) { - - var cameras = lists[ scene.id ]; - var list; - if ( cameras === undefined ) { - - list = new WebGLRenderList(); - lists[ scene.id ] = {}; - lists[ scene.id ][ camera.id ] = list; - - scene.addEventListener( 'dispose', onSceneDispose ); - - } else { - - list = cameras[ camera.id ]; - if ( list === undefined ) { - - list = new WebGLRenderList(); - cameras[ camera.id ] = list; - - } - - } - - return list; - - } - - function dispose() { - - lists = {}; - - } - - return { - get: get, - dispose: dispose - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function UniformsCache() { - - var lights = {}; - - return { - - get: function ( light ) { - - if ( lights[ light.id ] !== undefined ) { - - return lights[ light.id ]; - - } - - var uniforms; - - switch ( light.type ) { - - case 'DirectionalLight': - uniforms = { - direction: new Vector3(), - color: new Color(), - - shadow: false, - shadowBias: 0, - shadowRadius: 1, - shadowMapSize: new Vector2() - }; - break; - - case 'SpotLight': - uniforms = { - position: new Vector3(), - direction: new Vector3(), - color: new Color(), - distance: 0, - coneCos: 0, - penumbraCos: 0, - decay: 0, - - shadow: false, - shadowBias: 0, - shadowRadius: 1, - shadowMapSize: new Vector2() - }; - break; - - case 'PointLight': - uniforms = { - position: new Vector3(), - color: new Color(), - distance: 0, - decay: 0, - - shadow: false, - shadowBias: 0, - shadowRadius: 1, - shadowMapSize: new Vector2(), - shadowCameraNear: 1, - shadowCameraFar: 1000 - }; - break; - - case 'HemisphereLight': - uniforms = { - direction: new Vector3(), - skyColor: new Color(), - groundColor: new Color() - }; - break; - - case 'RectAreaLight': - uniforms = { - color: new Color(), - position: new Vector3(), - halfWidth: new Vector3(), - halfHeight: new Vector3() - // TODO (abelnation): set RectAreaLight shadow uniforms - }; - break; - - } - - lights[ light.id ] = uniforms; - - return uniforms; - - } - - }; - - } - - var count = 0; - - function WebGLLights() { - - var cache = new UniformsCache(); - - var state = { - - id: count ++, - - hash: { - stateID: - 1, - directionalLength: - 1, - pointLength: - 1, - spotLength: - 1, - rectAreaLength: - 1, - hemiLength: - 1, - shadowsLength: - 1 - }, - - ambient: [ 0, 0, 0 ], - directional: [], - directionalShadowMap: [], - directionalShadowMatrix: [], - spot: [], - spotShadowMap: [], - spotShadowMatrix: [], - rectArea: [], - point: [], - pointShadowMap: [], - pointShadowMatrix: [], - hemi: [] - - }; - - var vector3 = new Vector3(); - var matrix4 = new Matrix4(); - var matrix42 = new Matrix4(); - - function setup( lights, shadows, camera ) { - - var r = 0, g = 0, b = 0; - - var directionalLength = 0; - var pointLength = 0; - var spotLength = 0; - var rectAreaLength = 0; - var hemiLength = 0; - - var viewMatrix = camera.matrixWorldInverse; - - for ( var i = 0, l = lights.length; i < l; i ++ ) { - - var light = lights[ i ]; - - var color = light.color; - var intensity = light.intensity; - var distance = light.distance; - - var shadowMap = ( light.shadow && light.shadow.map ) ? light.shadow.map.texture : null; - - if ( light.isAmbientLight ) { - - r += color.r * intensity; - g += color.g * intensity; - b += color.b * intensity; - - } else if ( light.isDirectionalLight ) { - - var uniforms = cache.get( light ); - - uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); - uniforms.direction.setFromMatrixPosition( light.matrixWorld ); - vector3.setFromMatrixPosition( light.target.matrixWorld ); - uniforms.direction.sub( vector3 ); - uniforms.direction.transformDirection( viewMatrix ); - - uniforms.shadow = light.castShadow; - - if ( light.castShadow ) { - - var shadow = light.shadow; - - uniforms.shadowBias = shadow.bias; - uniforms.shadowRadius = shadow.radius; - uniforms.shadowMapSize = shadow.mapSize; - - } - - state.directionalShadowMap[ directionalLength ] = shadowMap; - state.directionalShadowMatrix[ directionalLength ] = light.shadow.matrix; - state.directional[ directionalLength ] = uniforms; - - directionalLength ++; - - } else if ( light.isSpotLight ) { - - var uniforms = cache.get( light ); - - uniforms.position.setFromMatrixPosition( light.matrixWorld ); - uniforms.position.applyMatrix4( viewMatrix ); - - uniforms.color.copy( color ).multiplyScalar( intensity ); - uniforms.distance = distance; - - uniforms.direction.setFromMatrixPosition( light.matrixWorld ); - vector3.setFromMatrixPosition( light.target.matrixWorld ); - uniforms.direction.sub( vector3 ); - uniforms.direction.transformDirection( viewMatrix ); - - uniforms.coneCos = Math.cos( light.angle ); - uniforms.penumbraCos = Math.cos( light.angle * ( 1 - light.penumbra ) ); - uniforms.decay = light.decay; - - uniforms.shadow = light.castShadow; - - if ( light.castShadow ) { - - var shadow = light.shadow; - - uniforms.shadowBias = shadow.bias; - uniforms.shadowRadius = shadow.radius; - uniforms.shadowMapSize = shadow.mapSize; - - } - - state.spotShadowMap[ spotLength ] = shadowMap; - state.spotShadowMatrix[ spotLength ] = light.shadow.matrix; - state.spot[ spotLength ] = uniforms; - - spotLength ++; - - } else if ( light.isRectAreaLight ) { - - var uniforms = cache.get( light ); - - // (a) intensity is the total visible light emitted - //uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) ); - - // (b) intensity is the brightness of the light - uniforms.color.copy( color ).multiplyScalar( intensity ); - - uniforms.position.setFromMatrixPosition( light.matrixWorld ); - uniforms.position.applyMatrix4( viewMatrix ); - - // extract local rotation of light to derive width/height half vectors - matrix42.identity(); - matrix4.copy( light.matrixWorld ); - matrix4.premultiply( viewMatrix ); - matrix42.extractRotation( matrix4 ); - - uniforms.halfWidth.set( light.width * 0.5, 0.0, 0.0 ); - uniforms.halfHeight.set( 0.0, light.height * 0.5, 0.0 ); - - uniforms.halfWidth.applyMatrix4( matrix42 ); - uniforms.halfHeight.applyMatrix4( matrix42 ); - - // TODO (abelnation): RectAreaLight distance? - // uniforms.distance = distance; - - state.rectArea[ rectAreaLength ] = uniforms; - - rectAreaLength ++; - - } else if ( light.isPointLight ) { - - var uniforms = cache.get( light ); - - uniforms.position.setFromMatrixPosition( light.matrixWorld ); - uniforms.position.applyMatrix4( viewMatrix ); - - uniforms.color.copy( light.color ).multiplyScalar( light.intensity ); - uniforms.distance = light.distance; - uniforms.decay = light.decay; - - uniforms.shadow = light.castShadow; - - if ( light.castShadow ) { - - var shadow = light.shadow; - - uniforms.shadowBias = shadow.bias; - uniforms.shadowRadius = shadow.radius; - uniforms.shadowMapSize = shadow.mapSize; - uniforms.shadowCameraNear = shadow.camera.near; - uniforms.shadowCameraFar = shadow.camera.far; - - } - - state.pointShadowMap[ pointLength ] = shadowMap; - state.pointShadowMatrix[ pointLength ] = light.shadow.matrix; - state.point[ pointLength ] = uniforms; - - pointLength ++; - - } else if ( light.isHemisphereLight ) { - - var uniforms = cache.get( light ); - - uniforms.direction.setFromMatrixPosition( light.matrixWorld ); - uniforms.direction.transformDirection( viewMatrix ); - uniforms.direction.normalize(); - - uniforms.skyColor.copy( light.color ).multiplyScalar( intensity ); - uniforms.groundColor.copy( light.groundColor ).multiplyScalar( intensity ); - - state.hemi[ hemiLength ] = uniforms; - - hemiLength ++; - - } - - } - - state.ambient[ 0 ] = r; - state.ambient[ 1 ] = g; - state.ambient[ 2 ] = b; - - state.directional.length = directionalLength; - state.spot.length = spotLength; - state.rectArea.length = rectAreaLength; - state.point.length = pointLength; - state.hemi.length = hemiLength; - - state.hash.stateID = state.id; - state.hash.directionalLength = directionalLength; - state.hash.pointLength = pointLength; - state.hash.spotLength = spotLength; - state.hash.rectAreaLength = rectAreaLength; - state.hash.hemiLength = hemiLength; - state.hash.shadowsLength = shadows.length; - - } - - return { - setup: setup, - state: state - }; - - } - - /** - * @author Mugen87 / https://github.com/Mugen87 - */ - - function WebGLRenderState() { - - var lights = new WebGLLights(); - - var lightsArray = []; - var shadowsArray = []; - - function init() { - - lightsArray.length = 0; - shadowsArray.length = 0; - - } - - function pushLight( light ) { - - lightsArray.push( light ); - - } - - function pushShadow( shadowLight ) { - - shadowsArray.push( shadowLight ); - - } - - function setupLights( camera ) { - - lights.setup( lightsArray, shadowsArray, camera ); - - } - - var state = { - lightsArray: lightsArray, - shadowsArray: shadowsArray, - - lights: lights - }; - - return { - init: init, - state: state, - setupLights: setupLights, - - pushLight: pushLight, - pushShadow: pushShadow - }; - - } - - function WebGLRenderStates() { - - var renderStates = {}; - - function onSceneDispose( event ) { - - var scene = event.target; - - scene.removeEventListener( 'dispose', onSceneDispose ); - - delete renderStates[ scene.id ]; - - } - - function get( scene, camera ) { - - var renderState; - - if ( renderStates[ scene.id ] === undefined ) { - - renderState = new WebGLRenderState(); - renderStates[ scene.id ] = {}; - renderStates[ scene.id ][ camera.id ] = renderState; - - scene.addEventListener( 'dispose', onSceneDispose ); - - } else { - - if ( renderStates[ scene.id ][ camera.id ] === undefined ) { - - renderState = new WebGLRenderState(); - renderStates[ scene.id ][ camera.id ] = renderState; - - } else { - - renderState = renderStates[ scene.id ][ camera.id ]; - - } - - } - - return renderState; - - } - - function dispose() { - - renderStates = {}; - - } - - return { - get: get, - dispose: dispose - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author bhouston / https://clara.io - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * - * opacity: , - * - * map: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: , - * - * wireframe: , - * wireframeLinewidth: - * } - */ - - function MeshDepthMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshDepthMaterial'; - - this.depthPacking = BasicDepthPacking; - - this.skinning = false; - this.morphTargets = false; - - this.map = null; - - this.alphaMap = null; - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.wireframe = false; - this.wireframeLinewidth = 1; - - this.fog = false; - this.lights = false; - - this.setValues( parameters ); - - } - - MeshDepthMaterial.prototype = Object.create( Material.prototype ); - MeshDepthMaterial.prototype.constructor = MeshDepthMaterial; - - MeshDepthMaterial.prototype.isMeshDepthMaterial = true; - - MeshDepthMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.depthPacking = source.depthPacking; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - - this.map = source.map; - - this.alphaMap = source.alphaMap; - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - - return this; - - }; - - /** - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * - * referencePosition: , - * nearDistance: , - * farDistance: , - * - * skinning: , - * morphTargets: , - * - * map: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: - * - * } - */ - - function MeshDistanceMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshDistanceMaterial'; - - this.referencePosition = new Vector3(); - this.nearDistance = 1; - this.farDistance = 1000; - - this.skinning = false; - this.morphTargets = false; - - this.map = null; - - this.alphaMap = null; - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.fog = false; - this.lights = false; - - this.setValues( parameters ); - - } - - MeshDistanceMaterial.prototype = Object.create( Material.prototype ); - MeshDistanceMaterial.prototype.constructor = MeshDistanceMaterial; - - MeshDistanceMaterial.prototype.isMeshDistanceMaterial = true; - - MeshDistanceMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.referencePosition.copy( source.referencePosition ); - this.nearDistance = source.nearDistance; - this.farDistance = source.farDistance; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - - this.map = source.map; - - this.alphaMap = source.alphaMap; - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - return this; - - }; - - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLShadowMap( _renderer, _objects, maxTextureSize ) { - - var _frustum = new Frustum(), - _projScreenMatrix = new Matrix4(), - - _shadowMapSize = new Vector2(), - _maxShadowMapSize = new Vector2( maxTextureSize, maxTextureSize ), - - _lookTarget = new Vector3(), - _lightPositionWorld = new Vector3(), - - _MorphingFlag = 1, - _SkinningFlag = 2, - - _NumberOfMaterialVariants = ( _MorphingFlag | _SkinningFlag ) + 1, - - _depthMaterials = new Array( _NumberOfMaterialVariants ), - _distanceMaterials = new Array( _NumberOfMaterialVariants ), - - _materialCache = {}; - - var shadowSide = { 0: BackSide, 1: FrontSide, 2: DoubleSide }; - - var cubeDirections = [ - new Vector3( 1, 0, 0 ), new Vector3( - 1, 0, 0 ), new Vector3( 0, 0, 1 ), - new Vector3( 0, 0, - 1 ), new Vector3( 0, 1, 0 ), new Vector3( 0, - 1, 0 ) - ]; - - var cubeUps = [ - new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), new Vector3( 0, 1, 0 ), - new Vector3( 0, 1, 0 ), new Vector3( 0, 0, 1 ), new Vector3( 0, 0, - 1 ) - ]; - - var cube2DViewPorts = [ - new Vector4(), new Vector4(), new Vector4(), - new Vector4(), new Vector4(), new Vector4() - ]; - - // init - - for ( var i = 0; i !== _NumberOfMaterialVariants; ++ i ) { - - var useMorphing = ( i & _MorphingFlag ) !== 0; - var useSkinning = ( i & _SkinningFlag ) !== 0; - - var depthMaterial = new MeshDepthMaterial( { - - depthPacking: RGBADepthPacking, - - morphTargets: useMorphing, - skinning: useSkinning - - } ); - - _depthMaterials[ i ] = depthMaterial; - - // - - var distanceMaterial = new MeshDistanceMaterial( { - - morphTargets: useMorphing, - skinning: useSkinning - - } ); - - _distanceMaterials[ i ] = distanceMaterial; - - } - - // - - var scope = this; - - this.enabled = false; - - this.autoUpdate = true; - this.needsUpdate = false; - - this.type = PCFShadowMap; - - this.render = function ( lights, scene, camera ) { - - if ( scope.enabled === false ) return; - if ( scope.autoUpdate === false && scope.needsUpdate === false ) return; - - if ( lights.length === 0 ) return; - - var currentRenderTarget = _renderer.getRenderTarget(); - - var _state = _renderer.state; - - // Set GL state for depth map. - _state.setBlending( NoBlending ); - _state.buffers.color.setClear( 1, 1, 1, 1 ); - _state.buffers.depth.setTest( true ); - _state.setScissorTest( false ); - - // render depth map - - var faceCount; - - for ( var i = 0, il = lights.length; i < il; i ++ ) { - - var light = lights[ i ]; - var shadow = light.shadow; - var isPointLight = light && light.isPointLight; - - if ( shadow === undefined ) { - - console.warn( 'THREE.WebGLShadowMap:', light, 'has no shadow.' ); - continue; - - } - - var shadowCamera = shadow.camera; - - _shadowMapSize.copy( shadow.mapSize ); - _shadowMapSize.min( _maxShadowMapSize ); - - if ( isPointLight ) { - - var vpWidth = _shadowMapSize.x; - var vpHeight = _shadowMapSize.y; - - // These viewports map a cube-map onto a 2D texture with the - // following orientation: - // - // xzXZ - // y Y - // - // X - Positive x direction - // x - Negative x direction - // Y - Positive y direction - // y - Negative y direction - // Z - Positive z direction - // z - Negative z direction - - // positive X - cube2DViewPorts[ 0 ].set( vpWidth * 2, vpHeight, vpWidth, vpHeight ); - // negative X - cube2DViewPorts[ 1 ].set( 0, vpHeight, vpWidth, vpHeight ); - // positive Z - cube2DViewPorts[ 2 ].set( vpWidth * 3, vpHeight, vpWidth, vpHeight ); - // negative Z - cube2DViewPorts[ 3 ].set( vpWidth, vpHeight, vpWidth, vpHeight ); - // positive Y - cube2DViewPorts[ 4 ].set( vpWidth * 3, 0, vpWidth, vpHeight ); - // negative Y - cube2DViewPorts[ 5 ].set( vpWidth, 0, vpWidth, vpHeight ); - - _shadowMapSize.x *= 4.0; - _shadowMapSize.y *= 2.0; - - } - - if ( shadow.map === null ) { - - var pars = { minFilter: NearestFilter, magFilter: NearestFilter, format: RGBAFormat }; - - shadow.map = new WebGLRenderTarget( _shadowMapSize.x, _shadowMapSize.y, pars ); - shadow.map.texture.name = light.name + ".shadowMap"; - - shadowCamera.updateProjectionMatrix(); - - } - - if ( shadow.isSpotLightShadow ) { - - shadow.update( light ); - - } - - var shadowMap = shadow.map; - var shadowMatrix = shadow.matrix; - - _lightPositionWorld.setFromMatrixPosition( light.matrixWorld ); - shadowCamera.position.copy( _lightPositionWorld ); - - if ( isPointLight ) { - - faceCount = 6; - - // for point lights we set the shadow matrix to be a translation-only matrix - // equal to inverse of the light's position - - shadowMatrix.makeTranslation( - _lightPositionWorld.x, - _lightPositionWorld.y, - _lightPositionWorld.z ); - - } else { - - faceCount = 1; - - _lookTarget.setFromMatrixPosition( light.target.matrixWorld ); - shadowCamera.lookAt( _lookTarget ); - shadowCamera.updateMatrixWorld(); - - // compute shadow matrix - - shadowMatrix.set( - 0.5, 0.0, 0.0, 0.5, - 0.0, 0.5, 0.0, 0.5, - 0.0, 0.0, 0.5, 0.5, - 0.0, 0.0, 0.0, 1.0 - ); - - shadowMatrix.multiply( shadowCamera.projectionMatrix ); - shadowMatrix.multiply( shadowCamera.matrixWorldInverse ); - - } - - _renderer.setRenderTarget( shadowMap ); - _renderer.clear(); - - // render shadow map for each cube face (if omni-directional) or - // run a single pass if not - - for ( var face = 0; face < faceCount; face ++ ) { - - if ( isPointLight ) { - - _lookTarget.copy( shadowCamera.position ); - _lookTarget.add( cubeDirections[ face ] ); - shadowCamera.up.copy( cubeUps[ face ] ); - shadowCamera.lookAt( _lookTarget ); - shadowCamera.updateMatrixWorld(); - - var vpDimensions = cube2DViewPorts[ face ]; - _state.viewport( vpDimensions ); - - } - - // update camera matrices and frustum - - _projScreenMatrix.multiplyMatrices( shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse ); - _frustum.setFromMatrix( _projScreenMatrix ); - - // set object matrices & frustum culling - - renderObject( scene, camera, shadowCamera, isPointLight ); - - } - - } - - scope.needsUpdate = false; - - _renderer.setRenderTarget( currentRenderTarget ); - - }; - - function getDepthMaterial( object, material, isPointLight, lightPositionWorld, shadowCameraNear, shadowCameraFar ) { - - var geometry = object.geometry; - - var result = null; - - var materialVariants = _depthMaterials; - var customMaterial = object.customDepthMaterial; - - if ( isPointLight ) { - - materialVariants = _distanceMaterials; - customMaterial = object.customDistanceMaterial; - - } - - if ( ! customMaterial ) { - - var useMorphing = false; - - if ( material.morphTargets ) { - - if ( geometry && geometry.isBufferGeometry ) { - - useMorphing = geometry.morphAttributes && geometry.morphAttributes.position && geometry.morphAttributes.position.length > 0; - - } else if ( geometry && geometry.isGeometry ) { - - useMorphing = geometry.morphTargets && geometry.morphTargets.length > 0; - - } - - } - - if ( object.isSkinnedMesh && material.skinning === false ) { - - console.warn( 'THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:', object ); - - } - - var useSkinning = object.isSkinnedMesh && material.skinning; - - var variantIndex = 0; - - if ( useMorphing ) variantIndex |= _MorphingFlag; - if ( useSkinning ) variantIndex |= _SkinningFlag; - - result = materialVariants[ variantIndex ]; - - } else { - - result = customMaterial; - - } - - if ( _renderer.localClippingEnabled && - material.clipShadows === true && - material.clippingPlanes.length !== 0 ) { - - // in this case we need a unique material instance reflecting the - // appropriate state - - var keyA = result.uuid, keyB = material.uuid; - - var materialsForVariant = _materialCache[ keyA ]; - - if ( materialsForVariant === undefined ) { - - materialsForVariant = {}; - _materialCache[ keyA ] = materialsForVariant; - - } - - var cachedMaterial = materialsForVariant[ keyB ]; - - if ( cachedMaterial === undefined ) { - - cachedMaterial = result.clone(); - materialsForVariant[ keyB ] = cachedMaterial; - - } - - result = cachedMaterial; - - } - - result.visible = material.visible; - result.wireframe = material.wireframe; - - result.side = ( material.shadowSide != null ) ? material.shadowSide : shadowSide[ material.side ]; - - result.clipShadows = material.clipShadows; - result.clippingPlanes = material.clippingPlanes; - result.clipIntersection = material.clipIntersection; - - result.wireframeLinewidth = material.wireframeLinewidth; - result.linewidth = material.linewidth; - - if ( isPointLight && result.isMeshDistanceMaterial ) { - - result.referencePosition.copy( lightPositionWorld ); - result.nearDistance = shadowCameraNear; - result.farDistance = shadowCameraFar; - - } - - return result; - - } - - function renderObject( object, camera, shadowCamera, isPointLight ) { - - if ( object.visible === false ) return; - - var visible = object.layers.test( camera.layers ); - - if ( visible && ( object.isMesh || object.isLine || object.isPoints ) ) { - - if ( object.castShadow && ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) ) { - - object.modelViewMatrix.multiplyMatrices( shadowCamera.matrixWorldInverse, object.matrixWorld ); - - var geometry = _objects.update( object ); - var material = object.material; - - if ( Array.isArray( material ) ) { - - var groups = geometry.groups; - - for ( var k = 0, kl = groups.length; k < kl; k ++ ) { - - var group = groups[ k ]; - var groupMaterial = material[ group.materialIndex ]; - - if ( groupMaterial && groupMaterial.visible ) { - - var depthMaterial = getDepthMaterial( object, groupMaterial, isPointLight, _lightPositionWorld, shadowCamera.near, shadowCamera.far ); - _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, group ); - - } - - } - - } else if ( material.visible ) { - - var depthMaterial = getDepthMaterial( object, material, isPointLight, _lightPositionWorld, shadowCamera.near, shadowCamera.far ); - _renderer.renderBufferDirect( shadowCamera, null, geometry, depthMaterial, object, null ); - - } - - } - - } - - var children = object.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - renderObject( children[ i ], camera, shadowCamera, isPointLight ); - - } - - } - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLState( gl, extensions, utils, capabilities ) { - - function ColorBuffer() { - - var locked = false; - - var color = new Vector4(); - var currentColorMask = null; - var currentColorClear = new Vector4( 0, 0, 0, 0 ); - - return { - - setMask: function ( colorMask ) { - - if ( currentColorMask !== colorMask && ! locked ) { - - gl.colorMask( colorMask, colorMask, colorMask, colorMask ); - currentColorMask = colorMask; - - } - - }, - - setLocked: function ( lock ) { - - locked = lock; - - }, - - setClear: function ( r, g, b, a, premultipliedAlpha ) { - - if ( premultipliedAlpha === true ) { - - r *= a; g *= a; b *= a; - - } - - color.set( r, g, b, a ); - - if ( currentColorClear.equals( color ) === false ) { - - gl.clearColor( r, g, b, a ); - currentColorClear.copy( color ); - - } - - }, - - reset: function () { - - locked = false; - - currentColorMask = null; - currentColorClear.set( - 1, 0, 0, 0 ); // set to invalid state - - } - - }; - - } - - function DepthBuffer() { - - var locked = false; - - var currentDepthMask = null; - var currentDepthFunc = null; - var currentDepthClear = null; - - return { - - setTest: function ( depthTest ) { - - if ( depthTest ) { - - enable( 2929 ); - - } else { - - disable( 2929 ); - - } - - }, - - setMask: function ( depthMask ) { - - if ( currentDepthMask !== depthMask && ! locked ) { - - gl.depthMask( depthMask ); - currentDepthMask = depthMask; - - } - - }, - - setFunc: function ( depthFunc ) { - - if ( currentDepthFunc !== depthFunc ) { - - if ( depthFunc ) { - - switch ( depthFunc ) { - - case NeverDepth: - - gl.depthFunc( 512 ); - break; - - case AlwaysDepth: - - gl.depthFunc( 519 ); - break; - - case LessDepth: - - gl.depthFunc( 513 ); - break; - - case LessEqualDepth: - - gl.depthFunc( 515 ); - break; - - case EqualDepth: - - gl.depthFunc( 514 ); - break; - - case GreaterEqualDepth: - - gl.depthFunc( 518 ); - break; - - case GreaterDepth: - - gl.depthFunc( 516 ); - break; - - case NotEqualDepth: - - gl.depthFunc( 517 ); - break; - - default: - - gl.depthFunc( 515 ); - - } - - } else { - - gl.depthFunc( 515 ); - - } - - currentDepthFunc = depthFunc; - - } - - }, - - setLocked: function ( lock ) { - - locked = lock; - - }, - - setClear: function ( depth ) { - - if ( currentDepthClear !== depth ) { - - gl.clearDepth( depth ); - currentDepthClear = depth; - - } - - }, - - reset: function () { - - locked = false; - - currentDepthMask = null; - currentDepthFunc = null; - currentDepthClear = null; - - } - - }; - - } - - function StencilBuffer() { - - var locked = false; - - var currentStencilMask = null; - var currentStencilFunc = null; - var currentStencilRef = null; - var currentStencilFuncMask = null; - var currentStencilFail = null; - var currentStencilZFail = null; - var currentStencilZPass = null; - var currentStencilClear = null; - - return { - - setTest: function ( stencilTest ) { - - if ( stencilTest ) { - - enable( 2960 ); - - } else { - - disable( 2960 ); - - } - - }, - - setMask: function ( stencilMask ) { - - if ( currentStencilMask !== stencilMask && ! locked ) { - - gl.stencilMask( stencilMask ); - currentStencilMask = stencilMask; - - } - - }, - - setFunc: function ( stencilFunc, stencilRef, stencilMask ) { - - if ( currentStencilFunc !== stencilFunc || - currentStencilRef !== stencilRef || - currentStencilFuncMask !== stencilMask ) { - - gl.stencilFunc( stencilFunc, stencilRef, stencilMask ); - - currentStencilFunc = stencilFunc; - currentStencilRef = stencilRef; - currentStencilFuncMask = stencilMask; - - } - - }, - - setOp: function ( stencilFail, stencilZFail, stencilZPass ) { - - if ( currentStencilFail !== stencilFail || - currentStencilZFail !== stencilZFail || - currentStencilZPass !== stencilZPass ) { - - gl.stencilOp( stencilFail, stencilZFail, stencilZPass ); - - currentStencilFail = stencilFail; - currentStencilZFail = stencilZFail; - currentStencilZPass = stencilZPass; - - } - - }, - - setLocked: function ( lock ) { - - locked = lock; - - }, - - setClear: function ( stencil ) { - - if ( currentStencilClear !== stencil ) { - - gl.clearStencil( stencil ); - currentStencilClear = stencil; - - } - - }, - - reset: function () { - - locked = false; - - currentStencilMask = null; - currentStencilFunc = null; - currentStencilRef = null; - currentStencilFuncMask = null; - currentStencilFail = null; - currentStencilZFail = null; - currentStencilZPass = null; - currentStencilClear = null; - - } - - }; - - } - - // - - var colorBuffer = new ColorBuffer(); - var depthBuffer = new DepthBuffer(); - var stencilBuffer = new StencilBuffer(); - - var maxVertexAttributes = gl.getParameter( 34921 ); - var newAttributes = new Uint8Array( maxVertexAttributes ); - var enabledAttributes = new Uint8Array( maxVertexAttributes ); - var attributeDivisors = new Uint8Array( maxVertexAttributes ); - - var enabledCapabilities = {}; - - var compressedTextureFormats = null; - - var currentProgram = null; - - var currentBlendingEnabled = null; - var currentBlending = null; - var currentBlendEquation = null; - var currentBlendSrc = null; - var currentBlendDst = null; - var currentBlendEquationAlpha = null; - var currentBlendSrcAlpha = null; - var currentBlendDstAlpha = null; - var currentPremultipledAlpha = false; - - var currentFlipSided = null; - var currentCullFace = null; - - var currentLineWidth = null; - - var currentPolygonOffsetFactor = null; - var currentPolygonOffsetUnits = null; - - var maxTextures = gl.getParameter( 35661 ); - - var lineWidthAvailable = false; - var version = 0; - var glVersion = gl.getParameter( 7938 ); - - if ( glVersion.indexOf( 'WebGL' ) !== - 1 ) { - - version = parseFloat( /^WebGL\ ([0-9])/.exec( glVersion )[ 1 ] ); - lineWidthAvailable = ( version >= 1.0 ); - - } else if ( glVersion.indexOf( 'OpenGL ES' ) !== - 1 ) { - - version = parseFloat( /^OpenGL\ ES\ ([0-9])/.exec( glVersion )[ 1 ] ); - lineWidthAvailable = ( version >= 2.0 ); - - } - - var currentTextureSlot = null; - var currentBoundTextures = {}; - - var currentScissor = new Vector4(); - var currentViewport = new Vector4(); - - function createTexture( type, target, count ) { - - var data = new Uint8Array( 4 ); // 4 is required to match default unpack alignment of 4. - var texture = gl.createTexture(); - - gl.bindTexture( type, texture ); - gl.texParameteri( type, 10241, 9728 ); - gl.texParameteri( type, 10240, 9728 ); - - for ( var i = 0; i < count; i ++ ) { - - gl.texImage2D( target + i, 0, 6408, 1, 1, 0, 6408, 5121, data ); - - } - - return texture; - - } - - var emptyTextures = {}; - emptyTextures[ 3553 ] = createTexture( 3553, 3553, 1 ); - emptyTextures[ 34067 ] = createTexture( 34067, 34069, 6 ); - - // init - - colorBuffer.setClear( 0, 0, 0, 1 ); - depthBuffer.setClear( 1 ); - stencilBuffer.setClear( 0 ); - - enable( 2929 ); - depthBuffer.setFunc( LessEqualDepth ); - - setFlipSided( false ); - setCullFace( CullFaceBack ); - enable( 2884 ); - - setBlending( NoBlending ); - - // - - function initAttributes() { - - for ( var i = 0, l = newAttributes.length; i < l; i ++ ) { - - newAttributes[ i ] = 0; - - } - - } - - function enableAttribute( attribute ) { - - enableAttributeAndDivisor( attribute, 0 ); - - } - - function enableAttributeAndDivisor( attribute, meshPerAttribute ) { - - newAttributes[ attribute ] = 1; - - if ( enabledAttributes[ attribute ] === 0 ) { - - gl.enableVertexAttribArray( attribute ); - enabledAttributes[ attribute ] = 1; - - } - - if ( attributeDivisors[ attribute ] !== meshPerAttribute ) { - - var extension = capabilities.isWebGL2 ? gl : extensions.get( 'ANGLE_instanced_arrays' ); - - extension[ capabilities.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE' ]( attribute, meshPerAttribute ); - attributeDivisors[ attribute ] = meshPerAttribute; - - } - - } - - function disableUnusedAttributes() { - - for ( var i = 0, l = enabledAttributes.length; i !== l; ++ i ) { - - if ( enabledAttributes[ i ] !== newAttributes[ i ] ) { - - gl.disableVertexAttribArray( i ); - enabledAttributes[ i ] = 0; - - } - - } - - } - - function enable( id ) { - - if ( enabledCapabilities[ id ] !== true ) { - - gl.enable( id ); - enabledCapabilities[ id ] = true; - - } - - } - - function disable( id ) { - - if ( enabledCapabilities[ id ] !== false ) { - - gl.disable( id ); - enabledCapabilities[ id ] = false; - - } - - } - - function getCompressedTextureFormats() { - - if ( compressedTextureFormats === null ) { - - compressedTextureFormats = []; - - if ( extensions.get( 'WEBGL_compressed_texture_pvrtc' ) || - extensions.get( 'WEBGL_compressed_texture_s3tc' ) || - extensions.get( 'WEBGL_compressed_texture_etc1' ) || - extensions.get( 'WEBGL_compressed_texture_astc' ) ) { - - var formats = gl.getParameter( 34467 ); - - for ( var i = 0; i < formats.length; i ++ ) { - - compressedTextureFormats.push( formats[ i ] ); - - } - - } - - } - - return compressedTextureFormats; - - } - - function useProgram( program ) { - - if ( currentProgram !== program ) { - - gl.useProgram( program ); - - currentProgram = program; - - return true; - - } - - return false; - - } - - function setBlending( blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha ) { - - if ( blending === NoBlending ) { - - if ( currentBlendingEnabled ) { - - disable( 3042 ); - currentBlendingEnabled = false; - - } - - return; - - } - - if ( ! currentBlendingEnabled ) { - - enable( 3042 ); - currentBlendingEnabled = true; - - } - - if ( blending !== CustomBlending ) { - - if ( blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha ) { - - if ( currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation ) { - - gl.blendEquation( 32774 ); - - currentBlendEquation = AddEquation; - currentBlendEquationAlpha = AddEquation; - - } - - if ( premultipliedAlpha ) { - - switch ( blending ) { - - case NormalBlending: - gl.blendFuncSeparate( 1, 771, 1, 771 ); - break; - - case AdditiveBlending: - gl.blendFunc( 1, 1 ); - break; - - case SubtractiveBlending: - gl.blendFuncSeparate( 0, 0, 769, 771 ); - break; - - case MultiplyBlending: - gl.blendFuncSeparate( 0, 768, 0, 770 ); - break; - - default: - console.error( 'THREE.WebGLState: Invalid blending: ', blending ); - break; - - } - - } else { - - switch ( blending ) { - - case NormalBlending: - gl.blendFuncSeparate( 770, 771, 1, 771 ); - break; - - case AdditiveBlending: - gl.blendFunc( 770, 1 ); - break; - - case SubtractiveBlending: - gl.blendFunc( 0, 769 ); - break; - - case MultiplyBlending: - gl.blendFunc( 0, 768 ); - break; - - default: - console.error( 'THREE.WebGLState: Invalid blending: ', blending ); - break; - - } - - } - - currentBlendSrc = null; - currentBlendDst = null; - currentBlendSrcAlpha = null; - currentBlendDstAlpha = null; - - currentBlending = blending; - currentPremultipledAlpha = premultipliedAlpha; - - } - - return; - - } - - // custom blending - - blendEquationAlpha = blendEquationAlpha || blendEquation; - blendSrcAlpha = blendSrcAlpha || blendSrc; - blendDstAlpha = blendDstAlpha || blendDst; - - if ( blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha ) { - - gl.blendEquationSeparate( utils.convert( blendEquation ), utils.convert( blendEquationAlpha ) ); - - currentBlendEquation = blendEquation; - currentBlendEquationAlpha = blendEquationAlpha; - - } - - if ( blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha ) { - - gl.blendFuncSeparate( utils.convert( blendSrc ), utils.convert( blendDst ), utils.convert( blendSrcAlpha ), utils.convert( blendDstAlpha ) ); - - currentBlendSrc = blendSrc; - currentBlendDst = blendDst; - currentBlendSrcAlpha = blendSrcAlpha; - currentBlendDstAlpha = blendDstAlpha; - - } - - currentBlending = blending; - currentPremultipledAlpha = null; - - } - - function setMaterial( material, frontFaceCW ) { - - material.side === DoubleSide - ? disable( 2884 ) - : enable( 2884 ); - - var flipSided = ( material.side === BackSide ); - if ( frontFaceCW ) flipSided = ! flipSided; - - setFlipSided( flipSided ); - - ( material.blending === NormalBlending && material.transparent === false ) - ? setBlending( NoBlending ) - : setBlending( material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha ); - - depthBuffer.setFunc( material.depthFunc ); - depthBuffer.setTest( material.depthTest ); - depthBuffer.setMask( material.depthWrite ); - colorBuffer.setMask( material.colorWrite ); - - setPolygonOffset( material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits ); - - } - - // - - function setFlipSided( flipSided ) { - - if ( currentFlipSided !== flipSided ) { - - if ( flipSided ) { - - gl.frontFace( 2304 ); - - } else { - - gl.frontFace( 2305 ); - - } - - currentFlipSided = flipSided; - - } - - } - - function setCullFace( cullFace ) { - - if ( cullFace !== CullFaceNone ) { - - enable( 2884 ); - - if ( cullFace !== currentCullFace ) { - - if ( cullFace === CullFaceBack ) { - - gl.cullFace( 1029 ); - - } else if ( cullFace === CullFaceFront ) { - - gl.cullFace( 1028 ); - - } else { - - gl.cullFace( 1032 ); - - } - - } - - } else { - - disable( 2884 ); - - } - - currentCullFace = cullFace; - - } - - function setLineWidth( width ) { - - if ( width !== currentLineWidth ) { - - if ( lineWidthAvailable ) gl.lineWidth( width ); - - currentLineWidth = width; - - } - - } - - function setPolygonOffset( polygonOffset, factor, units ) { - - if ( polygonOffset ) { - - enable( 32823 ); - - if ( currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units ) { - - gl.polygonOffset( factor, units ); - - currentPolygonOffsetFactor = factor; - currentPolygonOffsetUnits = units; - - } - - } else { - - disable( 32823 ); - - } - - } - - function setScissorTest( scissorTest ) { - - if ( scissorTest ) { - - enable( 3089 ); - - } else { - - disable( 3089 ); - - } - - } - - // texture - - function activeTexture( webglSlot ) { - - if ( webglSlot === undefined ) webglSlot = 33984 + maxTextures - 1; - - if ( currentTextureSlot !== webglSlot ) { - - gl.activeTexture( webglSlot ); - currentTextureSlot = webglSlot; - - } - - } - - function bindTexture( webglType, webglTexture ) { - - if ( currentTextureSlot === null ) { - - activeTexture(); - - } - - var boundTexture = currentBoundTextures[ currentTextureSlot ]; - - if ( boundTexture === undefined ) { - - boundTexture = { type: undefined, texture: undefined }; - currentBoundTextures[ currentTextureSlot ] = boundTexture; - - } - - if ( boundTexture.type !== webglType || boundTexture.texture !== webglTexture ) { - - gl.bindTexture( webglType, webglTexture || emptyTextures[ webglType ] ); - - boundTexture.type = webglType; - boundTexture.texture = webglTexture; - - } - - } - - function compressedTexImage2D() { - - try { - - gl.compressedTexImage2D.apply( gl, arguments ); - - } catch ( error ) { - - console.error( 'THREE.WebGLState:', error ); - - } - - } - - function texImage2D() { - - try { - - gl.texImage2D.apply( gl, arguments ); - - } catch ( error ) { - - console.error( 'THREE.WebGLState:', error ); - - } - - } - - function texImage3D() { - - try { - - gl.texImage3D.apply( gl, arguments ); - - } catch ( error ) { - - console.error( 'THREE.WebGLState:', error ); - - } - - } - - // - - function scissor( scissor ) { - - if ( currentScissor.equals( scissor ) === false ) { - - gl.scissor( scissor.x, scissor.y, scissor.z, scissor.w ); - currentScissor.copy( scissor ); - - } - - } - - function viewport( viewport ) { - - if ( currentViewport.equals( viewport ) === false ) { - - gl.viewport( viewport.x, viewport.y, viewport.z, viewport.w ); - currentViewport.copy( viewport ); - - } - - } - - // - - function reset() { - - for ( var i = 0; i < enabledAttributes.length; i ++ ) { - - if ( enabledAttributes[ i ] === 1 ) { - - gl.disableVertexAttribArray( i ); - enabledAttributes[ i ] = 0; - - } - - } - - enabledCapabilities = {}; - - compressedTextureFormats = null; - - currentTextureSlot = null; - currentBoundTextures = {}; - - currentProgram = null; - - currentBlending = null; - - currentFlipSided = null; - currentCullFace = null; - - colorBuffer.reset(); - depthBuffer.reset(); - stencilBuffer.reset(); - - } - - return { - - buffers: { - color: colorBuffer, - depth: depthBuffer, - stencil: stencilBuffer - }, - - initAttributes: initAttributes, - enableAttribute: enableAttribute, - enableAttributeAndDivisor: enableAttributeAndDivisor, - disableUnusedAttributes: disableUnusedAttributes, - enable: enable, - disable: disable, - getCompressedTextureFormats: getCompressedTextureFormats, - - useProgram: useProgram, - - setBlending: setBlending, - setMaterial: setMaterial, - - setFlipSided: setFlipSided, - setCullFace: setCullFace, - - setLineWidth: setLineWidth, - setPolygonOffset: setPolygonOffset, - - setScissorTest: setScissorTest, - - activeTexture: activeTexture, - bindTexture: bindTexture, - compressedTexImage2D: compressedTexImage2D, - texImage2D: texImage2D, - texImage3D: texImage3D, - - scissor: scissor, - viewport: viewport, - - reset: reset - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ) { - - var _videoTextures = {}; - var _canvas; - - // - - var useOffscreenCanvas = typeof OffscreenCanvas !== 'undefined'; - - function createCanvas( width, height ) { - - // Use OffscreenCanvas when available. Specially needed in web workers - - return useOffscreenCanvas ? - new OffscreenCanvas( width, height ) : - document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ); - - } - - function resizeImage( image, needsPowerOfTwo, needsNewCanvas, maxSize ) { - - var scale = 1; - - // handle case if texture exceeds max size - - if ( image.width > maxSize || image.height > maxSize ) { - - scale = maxSize / Math.max( image.width, image.height ); - - } - - // only perform resize if necessary - - if ( scale < 1 || needsPowerOfTwo === true ) { - - // only perform resize for certain image types - - if ( ( typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement ) || - ( typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement ) || - ( typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap ) ) { - - var floor = needsPowerOfTwo ? _Math.floorPowerOfTwo : Math.floor; - - var width = floor( scale * image.width ); - var height = floor( scale * image.height ); - - if ( _canvas === undefined ) _canvas = createCanvas( width, height ); - - // cube textures can't reuse the same canvas - - var canvas = needsNewCanvas ? createCanvas( width, height ) : _canvas; - - canvas.width = width; - canvas.height = height; - - var context = canvas.getContext( '2d' ); - context.drawImage( image, 0, 0, width, height ); - - console.warn( 'THREE.WebGLRenderer: Texture has been resized from (' + image.width + 'x' + image.height + ') to (' + width + 'x' + height + ').' ); - - return canvas; - - } else { - - if ( 'data' in image ) { - - console.warn( 'THREE.WebGLRenderer: Image in DataTexture is too big (' + image.width + 'x' + image.height + ').' ); - - } - - return image; - - } - - } - - return image; - - } - - function isPowerOfTwo( image ) { - - return _Math.isPowerOfTwo( image.width ) && _Math.isPowerOfTwo( image.height ); - - } - - function textureNeedsPowerOfTwo( texture ) { - - if ( capabilities.isWebGL2 ) return false; - - return ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) || - ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ); - - } - - function textureNeedsGenerateMipmaps( texture, supportsMips ) { - - return texture.generateMipmaps && supportsMips && - texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; - - } - - function generateMipmap( target, texture, width, height ) { - - _gl.generateMipmap( target ); - - var textureProperties = properties.get( texture ); - - // Note: Math.log( x ) * Math.LOG2E used instead of Math.log2( x ) which is not supported by IE11 - textureProperties.__maxMipLevel = Math.log( Math.max( width, height ) ) * Math.LOG2E; - - } - - function getInternalFormat( glFormat, glType ) { - - if ( ! capabilities.isWebGL2 ) return glFormat; - - var internalFormat = glFormat; - - if ( glFormat === 6403 ) { - - if ( glType === 5126 ) internalFormat = 33326; - if ( glType === 5131 ) internalFormat = 33325; - if ( glType === 5121 ) internalFormat = 33321; - - } - - if ( glFormat === 6407 ) { - - if ( glType === 5126 ) internalFormat = 34837; - if ( glType === 5131 ) internalFormat = 34843; - if ( glType === 5121 ) internalFormat = 32849; - - } - - if ( glFormat === 6408 ) { - - if ( glType === 5126 ) internalFormat = 34836; - if ( glType === 5131 ) internalFormat = 34842; - if ( glType === 5121 ) internalFormat = 32856; - - } - - if ( internalFormat === 33325 || internalFormat === 33326 || - internalFormat === 34842 || internalFormat === 34836 ) { - - extensions.get( 'EXT_color_buffer_float' ); - - } else if ( internalFormat === 34843 || internalFormat === 34837 ) { - - console.warn( 'THREE.WebGLRenderer: Floating point textures with RGB format not supported. Please use RGBA instead.' ); - - } - - return internalFormat; - - } - - // Fallback filters for non-power-of-2 textures - - function filterFallback( f ) { - - if ( f === NearestFilter || f === NearestMipMapNearestFilter || f === NearestMipMapLinearFilter ) { - - return 9728; - - } - - return 9729; - - } - - // - - function onTextureDispose( event ) { - - var texture = event.target; - - texture.removeEventListener( 'dispose', onTextureDispose ); - - deallocateTexture( texture ); - - if ( texture.isVideoTexture ) { - - delete _videoTextures[ texture.id ]; - - } - - info.memory.textures --; - - } - - function onRenderTargetDispose( event ) { - - var renderTarget = event.target; - - renderTarget.removeEventListener( 'dispose', onRenderTargetDispose ); - - deallocateRenderTarget( renderTarget ); - - info.memory.textures --; - - } - - // - - function deallocateTexture( texture ) { - - var textureProperties = properties.get( texture ); - - if ( textureProperties.__webglInit === undefined ) return; - - _gl.deleteTexture( textureProperties.__webglTexture ); - - properties.remove( texture ); - - } - - function deallocateRenderTarget( renderTarget ) { - - var renderTargetProperties = properties.get( renderTarget ); - var textureProperties = properties.get( renderTarget.texture ); - - if ( ! renderTarget ) return; - - if ( textureProperties.__webglTexture !== undefined ) { - - _gl.deleteTexture( textureProperties.__webglTexture ); - - } - - if ( renderTarget.depthTexture ) { - - renderTarget.depthTexture.dispose(); - - } - - if ( renderTarget.isWebGLRenderTargetCube ) { - - for ( var i = 0; i < 6; i ++ ) { - - _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer[ i ] ); - if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer[ i ] ); - - } - - } else { - - _gl.deleteFramebuffer( renderTargetProperties.__webglFramebuffer ); - if ( renderTargetProperties.__webglDepthbuffer ) _gl.deleteRenderbuffer( renderTargetProperties.__webglDepthbuffer ); - - } - - properties.remove( renderTarget.texture ); - properties.remove( renderTarget ); - - } - - // - - var textureUnits = 0; - - function resetTextureUnits() { - - textureUnits = 0; - - } - - function allocateTextureUnit() { - - var textureUnit = textureUnits; - - if ( textureUnit >= capabilities.maxTextures ) { - - console.warn( 'THREE.WebGLTextures: Trying to use ' + textureUnit + ' texture units while this GPU supports only ' + capabilities.maxTextures ); - - } - - textureUnits += 1; - - return textureUnit; - - } - - // - - function setTexture2D( texture, slot ) { - - var textureProperties = properties.get( texture ); - - if ( texture.isVideoTexture ) updateVideoTexture( texture ); - - if ( texture.version > 0 && textureProperties.__version !== texture.version ) { - - var image = texture.image; - - if ( image === undefined ) { - - console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is undefined' ); - - } else if ( image.complete === false ) { - - console.warn( 'THREE.WebGLRenderer: Texture marked for update but image is incomplete' ); - - } else { - - uploadTexture( textureProperties, texture, slot ); - return; - - } - - } - - state.activeTexture( 33984 + slot ); - state.bindTexture( 3553, textureProperties.__webglTexture ); - - } - - function setTexture2DArray( texture, slot ) { - - var textureProperties = properties.get( texture ); - - if ( texture.version > 0 && textureProperties.__version !== texture.version ) { - - uploadTexture( textureProperties, texture, slot ); - return; - - } - - state.activeTexture( 33984 + slot ); - state.bindTexture( 35866, textureProperties.__webglTexture ); - - } - - function setTexture3D( texture, slot ) { - - var textureProperties = properties.get( texture ); - - if ( texture.version > 0 && textureProperties.__version !== texture.version ) { - - uploadTexture( textureProperties, texture, slot ); - return; - - } - - state.activeTexture( 33984 + slot ); - state.bindTexture( 32879, textureProperties.__webglTexture ); - - } - - function setTextureCube( texture, slot ) { - - var textureProperties = properties.get( texture ); - - if ( texture.image.length === 6 ) { - - if ( texture.version > 0 && textureProperties.__version !== texture.version ) { - - initTexture( textureProperties, texture ); - - state.activeTexture( 33984 + slot ); - state.bindTexture( 34067, textureProperties.__webglTexture ); - - _gl.pixelStorei( 37440, texture.flipY ); - - var isCompressed = ( texture && texture.isCompressedTexture ); - var isDataTexture = ( texture.image[ 0 ] && texture.image[ 0 ].isDataTexture ); - - var cubeImage = []; - - for ( var i = 0; i < 6; i ++ ) { - - if ( ! isCompressed && ! isDataTexture ) { - - cubeImage[ i ] = resizeImage( texture.image[ i ], false, true, capabilities.maxCubemapSize ); - - } else { - - cubeImage[ i ] = isDataTexture ? texture.image[ i ].image : texture.image[ i ]; - - } - - } - - var image = cubeImage[ 0 ], - supportsMips = isPowerOfTwo( image ) || capabilities.isWebGL2, - glFormat = utils.convert( texture.format ), - glType = utils.convert( texture.type ), - glInternalFormat = getInternalFormat( glFormat, glType ); - - setTextureParameters( 34067, texture, supportsMips ); - - for ( var i = 0; i < 6; i ++ ) { - - if ( ! isCompressed ) { - - if ( isDataTexture ) { - - state.texImage2D( 34069 + i, 0, glInternalFormat, cubeImage[ i ].width, cubeImage[ i ].height, 0, glFormat, glType, cubeImage[ i ].data ); - - } else { - - state.texImage2D( 34069 + i, 0, glInternalFormat, glFormat, glType, cubeImage[ i ] ); - - } - - } else { - - var mipmap, mipmaps = cubeImage[ i ].mipmaps; - - for ( var j = 0, jl = mipmaps.length; j < jl; j ++ ) { - - mipmap = mipmaps[ j ]; - - if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { - - if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { - - state.compressedTexImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data ); - - } else { - - console.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()' ); - - } - - } else { - - state.texImage2D( 34069 + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); - - } - - } - - } - - } - - if ( ! isCompressed ) { - - textureProperties.__maxMipLevel = 0; - - } else { - - textureProperties.__maxMipLevel = mipmaps.length - 1; - - } - - if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { - - // We assume images for cube map have the same size. - generateMipmap( 34067, texture, image.width, image.height ); - - } - - textureProperties.__version = texture.version; - - if ( texture.onUpdate ) texture.onUpdate( texture ); - - } else { - - state.activeTexture( 33984 + slot ); - state.bindTexture( 34067, textureProperties.__webglTexture ); - - } - - } - - } - - function setTextureCubeDynamic( texture, slot ) { - - state.activeTexture( 33984 + slot ); - state.bindTexture( 34067, properties.get( texture ).__webglTexture ); - - } - - function setTextureParameters( textureType, texture, supportsMips ) { - - var extension; - - if ( supportsMips ) { - - _gl.texParameteri( textureType, 10242, utils.convert( texture.wrapS ) ); - _gl.texParameteri( textureType, 10243, utils.convert( texture.wrapT ) ); - - if ( textureType === 32879 || textureType === 35866 ) { - - _gl.texParameteri( textureType, 32882, utils.convert( texture.wrapR ) ); - - } - - _gl.texParameteri( textureType, 10240, utils.convert( texture.magFilter ) ); - _gl.texParameteri( textureType, 10241, utils.convert( texture.minFilter ) ); - - } else { - - _gl.texParameteri( textureType, 10242, 33071 ); - _gl.texParameteri( textureType, 10243, 33071 ); - - if ( textureType === 32879 || textureType === 35866 ) { - - _gl.texParameteri( textureType, 32882, 33071 ); - - } - - if ( texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping ) { - - console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.' ); - - } - - _gl.texParameteri( textureType, 10240, filterFallback( texture.magFilter ) ); - _gl.texParameteri( textureType, 10241, filterFallback( texture.minFilter ) ); - - if ( texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter ) { - - console.warn( 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.' ); - - } - - } - - extension = extensions.get( 'EXT_texture_filter_anisotropic' ); - - if ( extension ) { - - if ( texture.type === FloatType && extensions.get( 'OES_texture_float_linear' ) === null ) return; - if ( texture.type === HalfFloatType && ( capabilities.isWebGL2 || extensions.get( 'OES_texture_half_float_linear' ) ) === null ) return; - - if ( texture.anisotropy > 1 || properties.get( texture ).__currentAnisotropy ) { - - _gl.texParameterf( textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min( texture.anisotropy, capabilities.getMaxAnisotropy() ) ); - properties.get( texture ).__currentAnisotropy = texture.anisotropy; - - } - - } - - } - - function initTexture( textureProperties, texture ) { - - if ( textureProperties.__webglInit === undefined ) { - - textureProperties.__webglInit = true; - - texture.addEventListener( 'dispose', onTextureDispose ); - - textureProperties.__webglTexture = _gl.createTexture(); - - info.memory.textures ++; - - } - - } - - function uploadTexture( textureProperties, texture, slot ) { - - var textureType = 3553; - - if ( texture.isDataTexture2DArray ) textureType = 35866; - if ( texture.isDataTexture3D ) textureType = 32879; - - initTexture( textureProperties, texture ); - - state.activeTexture( 33984 + slot ); - state.bindTexture( textureType, textureProperties.__webglTexture ); - - _gl.pixelStorei( 37440, texture.flipY ); - _gl.pixelStorei( 37441, texture.premultiplyAlpha ); - _gl.pixelStorei( 3317, texture.unpackAlignment ); - - var needsPowerOfTwo = textureNeedsPowerOfTwo( texture ) && isPowerOfTwo( texture.image ) === false; - var image = resizeImage( texture.image, needsPowerOfTwo, false, capabilities.maxTextureSize ); - - var supportsMips = isPowerOfTwo( image ) || capabilities.isWebGL2, - glFormat = utils.convert( texture.format ), - glType = utils.convert( texture.type ), - glInternalFormat = getInternalFormat( glFormat, glType ); - - setTextureParameters( textureType, texture, supportsMips ); - - var mipmap, mipmaps = texture.mipmaps; - - if ( texture.isDepthTexture ) { - - // populate depth texture with dummy data - - glInternalFormat = 6402; - - if ( texture.type === FloatType ) { - - if ( ! capabilities.isWebGL2 ) throw new Error( 'Float Depth Texture only supported in WebGL2.0' ); - glInternalFormat = 36012; - - } else if ( capabilities.isWebGL2 ) { - - // WebGL 2.0 requires signed internalformat for glTexImage2D - glInternalFormat = 33189; - - } - - if ( texture.format === DepthFormat && glInternalFormat === 6402 ) { - - // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are - // DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT - // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) - if ( texture.type !== UnsignedShortType && texture.type !== UnsignedIntType ) { - - console.warn( 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.' ); - - texture.type = UnsignedShortType; - glType = utils.convert( texture.type ); - - } - - } - - // Depth stencil textures need the DEPTH_STENCIL internal format - // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) - if ( texture.format === DepthStencilFormat ) { - - glInternalFormat = 34041; - - // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are - // DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL. - // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) - if ( texture.type !== UnsignedInt248Type ) { - - console.warn( 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.' ); - - texture.type = UnsignedInt248Type; - glType = utils.convert( texture.type ); - - } - - } - - state.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null ); - - } else if ( texture.isDataTexture ) { - - // use manually created mipmaps if available - // if there are no manual mipmaps - // set 0 level mipmap and then use GL to generate other mipmap levels - - if ( mipmaps.length > 0 && supportsMips ) { - - for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { - - mipmap = mipmaps[ i ]; - state.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); - - } - - texture.generateMipmaps = false; - textureProperties.__maxMipLevel = mipmaps.length - 1; - - } else { - - state.texImage2D( 3553, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data ); - textureProperties.__maxMipLevel = 0; - - } - - } else if ( texture.isCompressedTexture ) { - - for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { - - mipmap = mipmaps[ i ]; - - if ( texture.format !== RGBAFormat && texture.format !== RGBFormat ) { - - if ( state.getCompressedTextureFormats().indexOf( glFormat ) > - 1 ) { - - state.compressedTexImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data ); - - } else { - - console.warn( 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()' ); - - } - - } else { - - state.texImage2D( 3553, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data ); - - } - - } - - textureProperties.__maxMipLevel = mipmaps.length - 1; - - } else if ( texture.isDataTexture2DArray ) { - - state.texImage3D( 35866, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data ); - textureProperties.__maxMipLevel = 0; - - } else if ( texture.isDataTexture3D ) { - - state.texImage3D( 32879, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data ); - textureProperties.__maxMipLevel = 0; - - } else { - - // regular Texture (image, video, canvas) - - // use manually created mipmaps if available - // if there are no manual mipmaps - // set 0 level mipmap and then use GL to generate other mipmap levels - - if ( mipmaps.length > 0 && supportsMips ) { - - for ( var i = 0, il = mipmaps.length; i < il; i ++ ) { - - mipmap = mipmaps[ i ]; - state.texImage2D( 3553, i, glInternalFormat, glFormat, glType, mipmap ); - - } - - texture.generateMipmaps = false; - textureProperties.__maxMipLevel = mipmaps.length - 1; - - } else { - - state.texImage2D( 3553, 0, glInternalFormat, glFormat, glType, image ); - textureProperties.__maxMipLevel = 0; - - } - - } - - if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { - - generateMipmap( 3553, texture, image.width, image.height ); - - } - - textureProperties.__version = texture.version; - - if ( texture.onUpdate ) texture.onUpdate( texture ); - - } - - // Render targets - - // Setup storage for target texture and bind it to correct framebuffer - function setupFrameBufferTexture( framebuffer, renderTarget, attachment, textureTarget ) { - - var glFormat = utils.convert( renderTarget.texture.format ); - var glType = utils.convert( renderTarget.texture.type ); - var glInternalFormat = getInternalFormat( glFormat, glType ); - state.texImage2D( textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null ); - _gl.bindFramebuffer( 36160, framebuffer ); - _gl.framebufferTexture2D( 36160, attachment, textureTarget, properties.get( renderTarget.texture ).__webglTexture, 0 ); - _gl.bindFramebuffer( 36160, null ); - - } - - // Setup storage for internal depth/stencil buffers and bind to correct framebuffer - function setupRenderBufferStorage( renderbuffer, renderTarget, isMultisample ) { - - _gl.bindRenderbuffer( 36161, renderbuffer ); - - if ( renderTarget.depthBuffer && ! renderTarget.stencilBuffer ) { - - if ( isMultisample ) { - - var samples = getRenderTargetSamples( renderTarget ); - - _gl.renderbufferStorageMultisample( 36161, samples, 33189, renderTarget.width, renderTarget.height ); - - } else { - - _gl.renderbufferStorage( 36161, 33189, renderTarget.width, renderTarget.height ); - - } - - _gl.framebufferRenderbuffer( 36160, 36096, 36161, renderbuffer ); - - } else if ( renderTarget.depthBuffer && renderTarget.stencilBuffer ) { - - if ( isMultisample ) { - - var samples = getRenderTargetSamples( renderTarget ); - - _gl.renderbufferStorageMultisample( 36161, samples, 34041, renderTarget.width, renderTarget.height ); - - } else { - - _gl.renderbufferStorage( 36161, 34041, renderTarget.width, renderTarget.height ); - - } - - - _gl.framebufferRenderbuffer( 36160, 33306, 36161, renderbuffer ); - - } else { - - var glFormat = utils.convert( renderTarget.texture.format ); - var glType = utils.convert( renderTarget.texture.type ); - var glInternalFormat = getInternalFormat( glFormat, glType ); - - if ( isMultisample ) { - - var samples = getRenderTargetSamples( renderTarget ); - - _gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); - - } else { - - _gl.renderbufferStorage( 36161, glInternalFormat, renderTarget.width, renderTarget.height ); - - } - - } - - _gl.bindRenderbuffer( 36161, null ); - - } - - // Setup resources for a Depth Texture for a FBO (needs an extension) - function setupDepthTexture( framebuffer, renderTarget ) { - - var isCube = ( renderTarget && renderTarget.isWebGLRenderTargetCube ); - if ( isCube ) throw new Error( 'Depth Texture with cube render targets is not supported' ); - - _gl.bindFramebuffer( 36160, framebuffer ); - - if ( ! ( renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture ) ) { - - throw new Error( 'renderTarget.depthTexture must be an instance of THREE.DepthTexture' ); - - } - - // upload an empty depth texture with framebuffer size - if ( ! properties.get( renderTarget.depthTexture ).__webglTexture || - renderTarget.depthTexture.image.width !== renderTarget.width || - renderTarget.depthTexture.image.height !== renderTarget.height ) { - - renderTarget.depthTexture.image.width = renderTarget.width; - renderTarget.depthTexture.image.height = renderTarget.height; - renderTarget.depthTexture.needsUpdate = true; - - } - - setTexture2D( renderTarget.depthTexture, 0 ); - - var webglDepthTexture = properties.get( renderTarget.depthTexture ).__webglTexture; - - if ( renderTarget.depthTexture.format === DepthFormat ) { - - _gl.framebufferTexture2D( 36160, 36096, 3553, webglDepthTexture, 0 ); - - } else if ( renderTarget.depthTexture.format === DepthStencilFormat ) { - - _gl.framebufferTexture2D( 36160, 33306, 3553, webglDepthTexture, 0 ); - - } else { - - throw new Error( 'Unknown depthTexture format' ); - - } - - } - - // Setup GL resources for a non-texture depth buffer - function setupDepthRenderbuffer( renderTarget ) { - - var renderTargetProperties = properties.get( renderTarget ); - - var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); - - if ( renderTarget.depthTexture ) { - - if ( isCube ) throw new Error( 'target.depthTexture not supported in Cube render targets' ); - - setupDepthTexture( renderTargetProperties.__webglFramebuffer, renderTarget ); - - } else { - - if ( isCube ) { - - renderTargetProperties.__webglDepthbuffer = []; - - for ( var i = 0; i < 6; i ++ ) { - - _gl.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer[ i ] ); - renderTargetProperties.__webglDepthbuffer[ i ] = _gl.createRenderbuffer(); - setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer[ i ], renderTarget ); - - } - - } else { - - _gl.bindFramebuffer( 36160, renderTargetProperties.__webglFramebuffer ); - renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); - setupRenderBufferStorage( renderTargetProperties.__webglDepthbuffer, renderTarget ); - - } - - } - - _gl.bindFramebuffer( 36160, null ); - - } - - // Set up GL resources for the render target - function setupRenderTarget( renderTarget ) { - - var renderTargetProperties = properties.get( renderTarget ); - var textureProperties = properties.get( renderTarget.texture ); - - renderTarget.addEventListener( 'dispose', onRenderTargetDispose ); - - textureProperties.__webglTexture = _gl.createTexture(); - - info.memory.textures ++; - - var isCube = ( renderTarget.isWebGLRenderTargetCube === true ); - var isMultisample = ( renderTarget.isWebGLMultisampleRenderTarget === true ); - var supportsMips = isPowerOfTwo( renderTarget ) || capabilities.isWebGL2; - - // Setup framebuffer - - if ( isCube ) { - - renderTargetProperties.__webglFramebuffer = []; - - for ( var i = 0; i < 6; i ++ ) { - - renderTargetProperties.__webglFramebuffer[ i ] = _gl.createFramebuffer(); - - } - - } else { - - renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); - - if ( isMultisample ) { - - if ( capabilities.isWebGL2 ) { - - renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer(); - renderTargetProperties.__webglColorRenderbuffer = _gl.createRenderbuffer(); - - _gl.bindRenderbuffer( 36161, renderTargetProperties.__webglColorRenderbuffer ); - var glFormat = utils.convert( renderTarget.texture.format ); - var glType = utils.convert( renderTarget.texture.type ); - var glInternalFormat = getInternalFormat( glFormat, glType ); - var samples = getRenderTargetSamples( renderTarget ); - _gl.renderbufferStorageMultisample( 36161, samples, glInternalFormat, renderTarget.width, renderTarget.height ); - - _gl.bindFramebuffer( 36160, renderTargetProperties.__webglMultisampledFramebuffer ); - _gl.framebufferRenderbuffer( 36160, 36064, 36161, renderTargetProperties.__webglColorRenderbuffer ); - _gl.bindRenderbuffer( 36161, null ); - - if ( renderTarget.depthBuffer ) { - - renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer(); - setupRenderBufferStorage( renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true ); - - } - - _gl.bindFramebuffer( 36160, null ); - - - } else { - - console.warn( 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.' ); - - } - - } - - } - - // Setup color buffer - - if ( isCube ) { - - state.bindTexture( 34067, textureProperties.__webglTexture ); - setTextureParameters( 34067, renderTarget.texture, supportsMips ); - - for ( var i = 0; i < 6; i ++ ) { - - setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer[ i ], renderTarget, 36064, 34069 + i ); - - } - - if ( textureNeedsGenerateMipmaps( renderTarget.texture, supportsMips ) ) { - - generateMipmap( 34067, renderTarget.texture, renderTarget.width, renderTarget.height ); - - } - - state.bindTexture( 34067, null ); - - } else { - - state.bindTexture( 3553, textureProperties.__webglTexture ); - setTextureParameters( 3553, renderTarget.texture, supportsMips ); - setupFrameBufferTexture( renderTargetProperties.__webglFramebuffer, renderTarget, 36064, 3553 ); - - if ( textureNeedsGenerateMipmaps( renderTarget.texture, supportsMips ) ) { - - generateMipmap( 3553, renderTarget.texture, renderTarget.width, renderTarget.height ); - - } - - state.bindTexture( 3553, null ); - - } - - // Setup depth and stencil buffers - - if ( renderTarget.depthBuffer ) { - - setupDepthRenderbuffer( renderTarget ); - - } - - } - - function updateRenderTargetMipmap( renderTarget ) { - - var texture = renderTarget.texture; - var supportsMips = isPowerOfTwo( renderTarget ) || capabilities.isWebGL2; - - if ( textureNeedsGenerateMipmaps( texture, supportsMips ) ) { - - var target = renderTarget.isWebGLRenderTargetCube ? 34067 : 3553; - var webglTexture = properties.get( texture ).__webglTexture; - - state.bindTexture( target, webglTexture ); - generateMipmap( target, texture, renderTarget.width, renderTarget.height ); - state.bindTexture( target, null ); - - } - - } - - function updateMultisampleRenderTarget( renderTarget ) { - - if ( renderTarget.isWebGLMultisampleRenderTarget ) { - - if ( capabilities.isWebGL2 ) { - - var renderTargetProperties = properties.get( renderTarget ); - - _gl.bindFramebuffer( 36008, renderTargetProperties.__webglMultisampledFramebuffer ); - _gl.bindFramebuffer( 36009, renderTargetProperties.__webglFramebuffer ); - - var width = renderTarget.width; - var height = renderTarget.height; - var mask = 16384; - - if ( renderTarget.depthBuffer ) mask |= 256; - if ( renderTarget.stencilBuffer ) mask |= 1024; - - _gl.blitFramebuffer( 0, 0, width, height, 0, 0, width, height, mask, 9728 ); - - } else { - - console.warn( 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.' ); - - } - - } - - } - - function getRenderTargetSamples( renderTarget ) { - - return ( capabilities.isWebGL2 && renderTarget.isWebGLMultisampleRenderTarget ) ? - Math.min( capabilities.maxSamples, renderTarget.samples ) : 0; - - } - - function updateVideoTexture( texture ) { - - var id = texture.id; - var frame = info.render.frame; - - // Check the last frame we updated the VideoTexture - - if ( _videoTextures[ id ] !== frame ) { - - _videoTextures[ id ] = frame; - texture.update(); - - } - - } - - // backwards compatibility - - var warnedTexture2D = false; - var warnedTextureCube = false; - - function safeSetTexture2D( texture, slot ) { - - if ( texture && texture.isWebGLRenderTarget ) { - - if ( warnedTexture2D === false ) { - - console.warn( "THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead." ); - warnedTexture2D = true; - - } - - texture = texture.texture; - - } - - setTexture2D( texture, slot ); - - } - - function safeSetTextureCube( texture, slot ) { - - if ( texture && texture.isWebGLRenderTargetCube ) { - - if ( warnedTextureCube === false ) { - - console.warn( "THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead." ); - warnedTextureCube = true; - - } - - texture = texture.texture; - - } - - // currently relying on the fact that WebGLRenderTargetCube.texture is a Texture and NOT a CubeTexture - // TODO: unify these code paths - if ( ( texture && texture.isCubeTexture ) || - ( Array.isArray( texture.image ) && texture.image.length === 6 ) ) { - - // CompressedTexture can have Array in image :/ - - // this function alone should take care of cube textures - setTextureCube( texture, slot ); - - } else { - - // assumed: texture property of THREE.WebGLRenderTargetCube - setTextureCubeDynamic( texture, slot ); - - } - - } - - // - - this.allocateTextureUnit = allocateTextureUnit; - this.resetTextureUnits = resetTextureUnits; - - this.setTexture2D = setTexture2D; - this.setTexture2DArray = setTexture2DArray; - this.setTexture3D = setTexture3D; - this.setTextureCube = setTextureCube; - this.setTextureCubeDynamic = setTextureCubeDynamic; - this.setupRenderTarget = setupRenderTarget; - this.updateRenderTargetMipmap = updateRenderTargetMipmap; - this.updateMultisampleRenderTarget = updateMultisampleRenderTarget; - - this.safeSetTexture2D = safeSetTexture2D; - this.safeSetTextureCube = safeSetTextureCube; - - } - - /** - * @author thespite / http://www.twitter.com/thespite - */ - - function WebGLUtils( gl, extensions, capabilities ) { - - function convert( p ) { - - var extension; - - if ( p === RepeatWrapping ) return 10497; - if ( p === ClampToEdgeWrapping ) return 33071; - if ( p === MirroredRepeatWrapping ) return 33648; - - if ( p === NearestFilter ) return 9728; - if ( p === NearestMipMapNearestFilter ) return 9984; - if ( p === NearestMipMapLinearFilter ) return 9986; - - if ( p === LinearFilter ) return 9729; - if ( p === LinearMipMapNearestFilter ) return 9985; - if ( p === LinearMipMapLinearFilter ) return 9987; - - if ( p === UnsignedByteType ) return 5121; - if ( p === UnsignedShort4444Type ) return 32819; - if ( p === UnsignedShort5551Type ) return 32820; - if ( p === UnsignedShort565Type ) return 33635; - - if ( p === ByteType ) return 5120; - if ( p === ShortType ) return 5122; - if ( p === UnsignedShortType ) return 5123; - if ( p === IntType ) return 5124; - if ( p === UnsignedIntType ) return 5125; - if ( p === FloatType ) return 5126; - - if ( p === HalfFloatType ) { - - if ( capabilities.isWebGL2 ) return 5131; - - extension = extensions.get( 'OES_texture_half_float' ); - - if ( extension !== null ) return extension.HALF_FLOAT_OES; - - } - - if ( p === AlphaFormat ) return 6406; - if ( p === RGBFormat ) return 6407; - if ( p === RGBAFormat ) return 6408; - if ( p === LuminanceFormat ) return 6409; - if ( p === LuminanceAlphaFormat ) return 6410; - if ( p === DepthFormat ) return 6402; - if ( p === DepthStencilFormat ) return 34041; - if ( p === RedFormat ) return 6403; - - if ( p === AddEquation ) return 32774; - if ( p === SubtractEquation ) return 32778; - if ( p === ReverseSubtractEquation ) return 32779; - - if ( p === ZeroFactor ) return 0; - if ( p === OneFactor ) return 1; - if ( p === SrcColorFactor ) return 768; - if ( p === OneMinusSrcColorFactor ) return 769; - if ( p === SrcAlphaFactor ) return 770; - if ( p === OneMinusSrcAlphaFactor ) return 771; - if ( p === DstAlphaFactor ) return 772; - if ( p === OneMinusDstAlphaFactor ) return 773; - - if ( p === DstColorFactor ) return 774; - if ( p === OneMinusDstColorFactor ) return 775; - if ( p === SrcAlphaSaturateFactor ) return 776; - - if ( p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || - p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format ) { - - extension = extensions.get( 'WEBGL_compressed_texture_s3tc' ); - - if ( extension !== null ) { - - if ( p === RGB_S3TC_DXT1_Format ) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; - if ( p === RGBA_S3TC_DXT1_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; - if ( p === RGBA_S3TC_DXT3_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; - if ( p === RGBA_S3TC_DXT5_Format ) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; - - } - - } - - if ( p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || - p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format ) { - - extension = extensions.get( 'WEBGL_compressed_texture_pvrtc' ); - - if ( extension !== null ) { - - if ( p === RGB_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; - if ( p === RGB_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; - if ( p === RGBA_PVRTC_4BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; - if ( p === RGBA_PVRTC_2BPPV1_Format ) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; - - } - - } - - if ( p === RGB_ETC1_Format ) { - - extension = extensions.get( 'WEBGL_compressed_texture_etc1' ); - - if ( extension !== null ) return extension.COMPRESSED_RGB_ETC1_WEBGL; - - } - - if ( p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || - p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || - p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || - p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || - p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format ) { - - extension = extensions.get( 'WEBGL_compressed_texture_astc' ); - - if ( extension !== null ) { - - return p; - - } - - } - - if ( p === MinEquation || p === MaxEquation ) { - - if ( capabilities.isWebGL2 ) { - - if ( p === MinEquation ) return 32775; - if ( p === MaxEquation ) return 32776; - - } - - extension = extensions.get( 'EXT_blend_minmax' ); - - if ( extension !== null ) { - - if ( p === MinEquation ) return extension.MIN_EXT; - if ( p === MaxEquation ) return extension.MAX_EXT; - - } - - } - - if ( p === UnsignedInt248Type ) { - - if ( capabilities.isWebGL2 ) return 34042; - - extension = extensions.get( 'WEBGL_depth_texture' ); - - if ( extension !== null ) return extension.UNSIGNED_INT_24_8_WEBGL; - - } - - return 0; - - } - - return { convert: convert }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function Group() { - - Object3D.call( this ); - - this.type = 'Group'; - - } - - Group.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Group, - - isGroup: true - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author mikael emtinger / http://gomo.se/ - * @author WestLangley / http://github.com/WestLangley - */ - - function Camera() { - - Object3D.call( this ); - - this.type = 'Camera'; - - this.matrixWorldInverse = new Matrix4(); - - this.projectionMatrix = new Matrix4(); - this.projectionMatrixInverse = new Matrix4(); - - } - - Camera.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Camera, - - isCamera: true, - - copy: function ( source, recursive ) { - - Object3D.prototype.copy.call( this, source, recursive ); - - this.matrixWorldInverse.copy( source.matrixWorldInverse ); - - this.projectionMatrix.copy( source.projectionMatrix ); - this.projectionMatrixInverse.copy( source.projectionMatrixInverse ); - - return this; - - }, - - getWorldDirection: function ( target ) { - - if ( target === undefined ) { - - console.warn( 'THREE.Camera: .getWorldDirection() target is now required' ); - target = new Vector3(); - - } - - this.updateMatrixWorld( true ); - - var e = this.matrixWorld.elements; - - return target.set( - e[ 8 ], - e[ 9 ], - e[ 10 ] ).normalize(); - - }, - - updateMatrixWorld: function ( force ) { - - Object3D.prototype.updateMatrixWorld.call( this, force ); - - this.matrixWorldInverse.getInverse( this.matrixWorld ); - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author greggman / http://games.greggman.com/ - * @author zz85 / http://www.lab4games.net/zz85/blog - * @author tschw - */ - - function PerspectiveCamera( fov, aspect, near, far ) { - - Camera.call( this ); - - this.type = 'PerspectiveCamera'; - - this.fov = fov !== undefined ? fov : 50; - this.zoom = 1; - - this.near = near !== undefined ? near : 0.1; - this.far = far !== undefined ? far : 2000; - this.focus = 10; - - this.aspect = aspect !== undefined ? aspect : 1; - this.view = null; - - this.filmGauge = 35; // width of the film (default in millimeters) - this.filmOffset = 0; // horizontal film offset (same unit as gauge) - - this.updateProjectionMatrix(); - - } - - PerspectiveCamera.prototype = Object.assign( Object.create( Camera.prototype ), { - - constructor: PerspectiveCamera, - - isPerspectiveCamera: true, - - copy: function ( source, recursive ) { - - Camera.prototype.copy.call( this, source, recursive ); - - this.fov = source.fov; - this.zoom = source.zoom; - - this.near = source.near; - this.far = source.far; - this.focus = source.focus; - - this.aspect = source.aspect; - this.view = source.view === null ? null : Object.assign( {}, source.view ); - - this.filmGauge = source.filmGauge; - this.filmOffset = source.filmOffset; - - return this; - - }, - - /** - * Sets the FOV by focal length in respect to the current .filmGauge. - * - * The default film gauge is 35, so that the focal length can be specified for - * a 35mm (full frame) camera. - * - * Values for focal length and film gauge must have the same unit. - */ - setFocalLength: function ( focalLength ) { - - // see http://www.bobatkins.com/photography/technical/field_of_view.html - var vExtentSlope = 0.5 * this.getFilmHeight() / focalLength; - - this.fov = _Math.RAD2DEG * 2 * Math.atan( vExtentSlope ); - this.updateProjectionMatrix(); - - }, - - /** - * Calculates the focal length from the current .fov and .filmGauge. - */ - getFocalLength: function () { - - var vExtentSlope = Math.tan( _Math.DEG2RAD * 0.5 * this.fov ); - - return 0.5 * this.getFilmHeight() / vExtentSlope; - - }, - - getEffectiveFOV: function () { - - return _Math.RAD2DEG * 2 * Math.atan( - Math.tan( _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom ); - - }, - - getFilmWidth: function () { - - // film not completely covered in portrait format (aspect < 1) - return this.filmGauge * Math.min( this.aspect, 1 ); - - }, - - getFilmHeight: function () { - - // film not completely covered in landscape format (aspect > 1) - return this.filmGauge / Math.max( this.aspect, 1 ); - - }, - - /** - * Sets an offset in a larger frustum. This is useful for multi-window or - * multi-monitor/multi-machine setups. - * - * For example, if you have 3x2 monitors and each monitor is 1920x1080 and - * the monitors are in grid like this - * - * +---+---+---+ - * | A | B | C | - * +---+---+---+ - * | D | E | F | - * +---+---+---+ - * - * then for each monitor you would call it like this - * - * var w = 1920; - * var h = 1080; - * var fullWidth = w * 3; - * var fullHeight = h * 2; - * - * --A-- - * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h ); - * --B-- - * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h ); - * --C-- - * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h ); - * --D-- - * camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h ); - * --E-- - * camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h ); - * --F-- - * camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h ); - * - * Note there is no reason monitors have to be the same size or in a grid. - */ - setViewOffset: function ( fullWidth, fullHeight, x, y, width, height ) { - - this.aspect = fullWidth / fullHeight; - - if ( this.view === null ) { - - this.view = { - enabled: true, - fullWidth: 1, - fullHeight: 1, - offsetX: 0, - offsetY: 0, - width: 1, - height: 1 - }; - - } - - this.view.enabled = true; - this.view.fullWidth = fullWidth; - this.view.fullHeight = fullHeight; - this.view.offsetX = x; - this.view.offsetY = y; - this.view.width = width; - this.view.height = height; - - this.updateProjectionMatrix(); - - }, - - clearViewOffset: function () { - - if ( this.view !== null ) { - - this.view.enabled = false; - - } - - this.updateProjectionMatrix(); - - }, - - updateProjectionMatrix: function () { - - var near = this.near, - top = near * Math.tan( _Math.DEG2RAD * 0.5 * this.fov ) / this.zoom, - height = 2 * top, - width = this.aspect * height, - left = - 0.5 * width, - view = this.view; - - if ( this.view !== null && this.view.enabled ) { - - var fullWidth = view.fullWidth, - fullHeight = view.fullHeight; - - left += view.offsetX * width / fullWidth; - top -= view.offsetY * height / fullHeight; - width *= view.width / fullWidth; - height *= view.height / fullHeight; - - } - - var skew = this.filmOffset; - if ( skew !== 0 ) left += near * skew / this.getFilmWidth(); - - this.projectionMatrix.makePerspective( left, left + width, top, top - height, near, this.far ); - - this.projectionMatrixInverse.getInverse( this.projectionMatrix ); - - }, - - toJSON: function ( meta ) { - - var data = Object3D.prototype.toJSON.call( this, meta ); - - data.object.fov = this.fov; - data.object.zoom = this.zoom; - - data.object.near = this.near; - data.object.far = this.far; - data.object.focus = this.focus; - - data.object.aspect = this.aspect; - - if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); - - data.object.filmGauge = this.filmGauge; - data.object.filmOffset = this.filmOffset; - - return data; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function ArrayCamera( array ) { - - PerspectiveCamera.call( this ); - - this.cameras = array || []; - - } - - ArrayCamera.prototype = Object.assign( Object.create( PerspectiveCamera.prototype ), { - - constructor: ArrayCamera, - - isArrayCamera: true - - } ); - - /** - * @author jsantell / https://www.jsantell.com/ - * @author mrdoob / http://mrdoob.com/ - */ - - var cameraLPos = new Vector3(); - var cameraRPos = new Vector3(); - - /** - * Assumes 2 cameras that are parallel and share an X-axis, and that - * the cameras' projection and world matrices have already been set. - * And that near and far planes are identical for both cameras. - * Visualization of this technique: https://computergraphics.stackexchange.com/a/4765 - */ - function setProjectionFromUnion( camera, cameraL, cameraR ) { - - cameraLPos.setFromMatrixPosition( cameraL.matrixWorld ); - cameraRPos.setFromMatrixPosition( cameraR.matrixWorld ); - - var ipd = cameraLPos.distanceTo( cameraRPos ); - - var projL = cameraL.projectionMatrix.elements; - var projR = cameraR.projectionMatrix.elements; - - // VR systems will have identical far and near planes, and - // most likely identical top and bottom frustum extents. - // Use the left camera for these values. - var near = projL[ 14 ] / ( projL[ 10 ] - 1 ); - var far = projL[ 14 ] / ( projL[ 10 ] + 1 ); - var topFov = ( projL[ 9 ] + 1 ) / projL[ 5 ]; - var bottomFov = ( projL[ 9 ] - 1 ) / projL[ 5 ]; - - var leftFov = ( projL[ 8 ] - 1 ) / projL[ 0 ]; - var rightFov = ( projR[ 8 ] + 1 ) / projR[ 0 ]; - var left = near * leftFov; - var right = near * rightFov; - - // Calculate the new camera's position offset from the - // left camera. xOffset should be roughly half `ipd`. - var zOffset = ipd / ( - leftFov + rightFov ); - var xOffset = zOffset * - leftFov; - - // TODO: Better way to apply this offset? - cameraL.matrixWorld.decompose( camera.position, camera.quaternion, camera.scale ); - camera.translateX( xOffset ); - camera.translateZ( zOffset ); - camera.matrixWorld.compose( camera.position, camera.quaternion, camera.scale ); - camera.matrixWorldInverse.getInverse( camera.matrixWorld ); - - // Find the union of the frustum values of the cameras and scale - // the values so that the near plane's position does not change in world space, - // although must now be relative to the new union camera. - var near2 = near + zOffset; - var far2 = far + zOffset; - var left2 = left - xOffset; - var right2 = right + ( ipd - xOffset ); - var top2 = topFov * far / far2 * near2; - var bottom2 = bottomFov * far / far2 * near2; - - camera.projectionMatrix.makePerspective( left2, right2, top2, bottom2, near2, far2 ); - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebVRManager( renderer ) { - - var scope = this; - - var device = null; - var frameData = null; - - var poseTarget = null; - - var controllers = []; - var standingMatrix = new Matrix4(); - var standingMatrixInverse = new Matrix4(); - - var framebufferScaleFactor = 1.0; - - var frameOfReferenceType = 'stage'; - - if ( typeof window !== 'undefined' && 'VRFrameData' in window ) { - - frameData = new window.VRFrameData(); - window.addEventListener( 'vrdisplaypresentchange', onVRDisplayPresentChange, false ); - - } - - var matrixWorldInverse = new Matrix4(); - var tempQuaternion = new Quaternion(); - var tempPosition = new Vector3(); - - var cameraL = new PerspectiveCamera(); - cameraL.bounds = new Vector4( 0.0, 0.0, 0.5, 1.0 ); - cameraL.layers.enable( 1 ); - - var cameraR = new PerspectiveCamera(); - cameraR.bounds = new Vector4( 0.5, 0.0, 0.5, 1.0 ); - cameraR.layers.enable( 2 ); - - var cameraVR = new ArrayCamera( [ cameraL, cameraR ] ); - cameraVR.layers.enable( 1 ); - cameraVR.layers.enable( 2 ); - - // - - function isPresenting() { - - return device !== null && device.isPresenting === true; - - } - - var currentSize = new Vector2(), currentPixelRatio; - - function onVRDisplayPresentChange() { - - if ( isPresenting() ) { - - var eyeParameters = device.getEyeParameters( 'left' ); - var renderWidth = eyeParameters.renderWidth * framebufferScaleFactor; - var renderHeight = eyeParameters.renderHeight * framebufferScaleFactor; - - currentPixelRatio = renderer.getPixelRatio(); - renderer.getSize( currentSize ); - - renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 ); - - animation.start(); - - } else { - - if ( scope.enabled ) { - - renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio ); - - } - - animation.stop(); - - } - - } - - // - - var triggers = []; - - function findGamepad( id ) { - - var gamepads = navigator.getGamepads && navigator.getGamepads(); - - for ( var i = 0, j = 0, l = gamepads.length; i < l; i ++ ) { - - var gamepad = gamepads[ i ]; - - if ( gamepad && ( gamepad.id === 'Daydream Controller' || - gamepad.id === 'Gear VR Controller' || gamepad.id === 'Oculus Go Controller' || - gamepad.id === 'OpenVR Gamepad' || gamepad.id.startsWith( 'Oculus Touch' ) || - gamepad.id.startsWith( 'Spatial Controller' ) ) ) { - - if ( j === id ) return gamepad; - - j ++; - - } - - } - - } - - function updateControllers() { - - for ( var i = 0; i < controllers.length; i ++ ) { - - var controller = controllers[ i ]; - - var gamepad = findGamepad( i ); - - if ( gamepad !== undefined && gamepad.pose !== undefined ) { - - if ( gamepad.pose === null ) return; - - // Pose - - var pose = gamepad.pose; - - if ( pose.hasPosition === false ) controller.position.set( 0.2, - 0.6, - 0.05 ); - - if ( pose.position !== null ) controller.position.fromArray( pose.position ); - if ( pose.orientation !== null ) controller.quaternion.fromArray( pose.orientation ); - controller.matrix.compose( controller.position, controller.quaternion, controller.scale ); - controller.matrix.premultiply( standingMatrix ); - controller.matrix.decompose( controller.position, controller.quaternion, controller.scale ); - controller.matrixWorldNeedsUpdate = true; - controller.visible = true; - - // Trigger - - var buttonId = gamepad.id === 'Daydream Controller' ? 0 : 1; - - if ( triggers[ i ] !== gamepad.buttons[ buttonId ].pressed ) { - - triggers[ i ] = gamepad.buttons[ buttonId ].pressed; - - if ( triggers[ i ] === true ) { - - controller.dispatchEvent( { type: 'selectstart' } ); - - } else { - - controller.dispatchEvent( { type: 'selectend' } ); - controller.dispatchEvent( { type: 'select' } ); - - } - - } - - } else { - - controller.visible = false; - - } - - } - - } - - // - - this.enabled = false; - - this.getController = function ( id ) { - - var controller = controllers[ id ]; - - if ( controller === undefined ) { - - controller = new Group(); - controller.matrixAutoUpdate = false; - controller.visible = false; - - controllers[ id ] = controller; - - } - - return controller; - - }; - - this.getDevice = function () { - - return device; - - }; - - this.setDevice = function ( value ) { - - if ( value !== undefined ) device = value; - - animation.setContext( value ); - - }; - - this.setFramebufferScaleFactor = function ( value ) { - - framebufferScaleFactor = value; - - }; - - this.setFrameOfReferenceType = function ( value ) { - - frameOfReferenceType = value; - - }; - - this.setPoseTarget = function ( object ) { - - if ( object !== undefined ) poseTarget = object; - - }; - - this.getCamera = function ( camera ) { - - var userHeight = frameOfReferenceType === 'stage' ? 1.6 : 0; - - if ( isPresenting() === false ) { - - camera.position.set( 0, userHeight, 0 ); - camera.rotation.set( 0, 0, 0 ); - - return camera; - - } - - device.depthNear = camera.near; - device.depthFar = camera.far; - - device.getFrameData( frameData ); - - // - - if ( frameOfReferenceType === 'stage' ) { - - var stageParameters = device.stageParameters; - - if ( stageParameters ) { - - standingMatrix.fromArray( stageParameters.sittingToStandingTransform ); - - } else { - - standingMatrix.makeTranslation( 0, userHeight, 0 ); - - } - - } - - - var pose = frameData.pose; - var poseObject = poseTarget !== null ? poseTarget : camera; - - // We want to manipulate poseObject by its position and quaternion components since users may rely on them. - poseObject.matrix.copy( standingMatrix ); - poseObject.matrix.decompose( poseObject.position, poseObject.quaternion, poseObject.scale ); - - if ( pose.orientation !== null ) { - - tempQuaternion.fromArray( pose.orientation ); - poseObject.quaternion.multiply( tempQuaternion ); - - } - - if ( pose.position !== null ) { - - tempQuaternion.setFromRotationMatrix( standingMatrix ); - tempPosition.fromArray( pose.position ); - tempPosition.applyQuaternion( tempQuaternion ); - poseObject.position.add( tempPosition ); - - } - - poseObject.updateMatrixWorld(); - - // - - cameraL.near = camera.near; - cameraR.near = camera.near; - - cameraL.far = camera.far; - cameraR.far = camera.far; - - cameraL.matrixWorldInverse.fromArray( frameData.leftViewMatrix ); - cameraR.matrixWorldInverse.fromArray( frameData.rightViewMatrix ); - - // TODO (mrdoob) Double check this code - - standingMatrixInverse.getInverse( standingMatrix ); - - if ( frameOfReferenceType === 'stage' ) { - - cameraL.matrixWorldInverse.multiply( standingMatrixInverse ); - cameraR.matrixWorldInverse.multiply( standingMatrixInverse ); - - } - - var parent = poseObject.parent; - - if ( parent !== null ) { - - matrixWorldInverse.getInverse( parent.matrixWorld ); - - cameraL.matrixWorldInverse.multiply( matrixWorldInverse ); - cameraR.matrixWorldInverse.multiply( matrixWorldInverse ); - - } - - // envMap and Mirror needs camera.matrixWorld - - cameraL.matrixWorld.getInverse( cameraL.matrixWorldInverse ); - cameraR.matrixWorld.getInverse( cameraR.matrixWorldInverse ); - - cameraL.projectionMatrix.fromArray( frameData.leftProjectionMatrix ); - cameraR.projectionMatrix.fromArray( frameData.rightProjectionMatrix ); - - setProjectionFromUnion( cameraVR, cameraL, cameraR ); - - // - - var layers = device.getLayers(); - - if ( layers.length ) { - - var layer = layers[ 0 ]; - - if ( layer.leftBounds !== null && layer.leftBounds.length === 4 ) { - - cameraL.bounds.fromArray( layer.leftBounds ); - - } - - if ( layer.rightBounds !== null && layer.rightBounds.length === 4 ) { - - cameraR.bounds.fromArray( layer.rightBounds ); - - } - - } - - updateControllers(); - - return cameraVR; - - }; - - this.getStandingMatrix = function () { - - return standingMatrix; - - }; - - this.isPresenting = isPresenting; - - // Animation Loop - - var animation = new WebGLAnimation(); - - this.setAnimationLoop = function ( callback ) { - - animation.setAnimationLoop( callback ); - - if ( isPresenting() ) animation.start(); - - }; - - this.submitFrame = function () { - - if ( isPresenting() ) device.submitFrame(); - - }; - - this.dispose = function () { - - if ( typeof window !== 'undefined' ) { - - window.removeEventListener( 'vrdisplaypresentchange', onVRDisplayPresentChange ); - - } - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function WebXRManager( renderer ) { - - var gl = renderer.context; - - var device = null; - var session = null; - - var framebufferScaleFactor = 1.0; - - var frameOfReference = null; - var frameOfReferenceType = 'stage'; - - var pose = null; - - var controllers = []; - var inputSources = []; - - function isPresenting() { - - return session !== null && frameOfReference !== null; - - } - - // - - var cameraL = new PerspectiveCamera(); - cameraL.layers.enable( 1 ); - cameraL.viewport = new Vector4(); - - var cameraR = new PerspectiveCamera(); - cameraR.layers.enable( 2 ); - cameraR.viewport = new Vector4(); - - var cameraVR = new ArrayCamera( [ cameraL, cameraR ] ); - cameraVR.layers.enable( 1 ); - cameraVR.layers.enable( 2 ); - - // - - this.enabled = false; - - this.getController = function ( id ) { - - var controller = controllers[ id ]; - - if ( controller === undefined ) { - - controller = new Group(); - controller.matrixAutoUpdate = false; - controller.visible = false; - - controllers[ id ] = controller; - - } - - return controller; - - }; - - this.getDevice = function () { - - return device; - - }; - - this.setDevice = function ( value ) { - - if ( value !== undefined ) device = value; - if ( value instanceof XRDevice ) gl.setCompatibleXRDevice( value ); - - }; - - // - - function onSessionEvent( event ) { - - var controller = controllers[ inputSources.indexOf( event.inputSource ) ]; - if ( controller ) controller.dispatchEvent( { type: event.type } ); - - } - - function onSessionEnd() { - - renderer.setFramebuffer( null ); - renderer.setRenderTarget( renderer.getRenderTarget() ); // Hack #15830 - animation.stop(); - - } - - this.setFramebufferScaleFactor = function ( value ) { - - framebufferScaleFactor = value; - - }; - - this.setFrameOfReferenceType = function ( value ) { - - frameOfReferenceType = value; - - }; - - this.setSession = function ( value ) { - - session = value; - - if ( session !== null ) { - - session.addEventListener( 'select', onSessionEvent ); - session.addEventListener( 'selectstart', onSessionEvent ); - session.addEventListener( 'selectend', onSessionEvent ); - session.addEventListener( 'end', onSessionEnd ); - - session.baseLayer = new XRWebGLLayer( session, gl, { framebufferScaleFactor: framebufferScaleFactor } ); - session.requestFrameOfReference( frameOfReferenceType ).then( function ( value ) { - - frameOfReference = value; - - renderer.setFramebuffer( session.baseLayer.framebuffer ); - - animation.setContext( session ); - animation.start(); - - } ); - - // - - inputSources = session.getInputSources(); - - session.addEventListener( 'inputsourceschange', function () { - - inputSources = session.getInputSources(); - console.log( inputSources ); - - for ( var i = 0; i < controllers.length; i ++ ) { - - var controller = controllers[ i ]; - controller.userData.inputSource = inputSources[ i ]; - - } - - } ); - - } - - }; - - function updateCamera( camera, parent ) { - - if ( parent === null ) { - - camera.matrixWorld.copy( camera.matrix ); - - } else { - - camera.matrixWorld.multiplyMatrices( parent.matrixWorld, camera.matrix ); - - } - - camera.matrixWorldInverse.getInverse( camera.matrixWorld ); - - } - - this.getCamera = function ( camera ) { - - if ( isPresenting() ) { - - var parent = camera.parent; - var cameras = cameraVR.cameras; - - updateCamera( cameraVR, parent ); - - for ( var i = 0; i < cameras.length; i ++ ) { - - updateCamera( cameras[ i ], parent ); - - } - - // update camera and its children - - camera.matrixWorld.copy( cameraVR.matrixWorld ); - - var children = camera.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - children[ i ].updateMatrixWorld( true ); - - } - - setProjectionFromUnion( cameraVR, cameraL, cameraR ); - - return cameraVR; - - } - - return camera; - - }; - - this.isPresenting = isPresenting; - - // Animation Loop - - var onAnimationFrameCallback = null; - - function onAnimationFrame( time, frame ) { - - pose = frame.getDevicePose( frameOfReference ); - - if ( pose !== null ) { - - var layer = session.baseLayer; - var views = frame.views; - - for ( var i = 0; i < views.length; i ++ ) { - - var view = views[ i ]; - var viewport = layer.getViewport( view ); - var viewMatrix = pose.getViewMatrix( view ); - - var camera = cameraVR.cameras[ i ]; - camera.matrix.fromArray( viewMatrix ).getInverse( camera.matrix ); - camera.projectionMatrix.fromArray( view.projectionMatrix ); - camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height ); - - if ( i === 0 ) { - - cameraVR.matrix.copy( camera.matrix ); - - } - - } - - } - - // - - for ( var i = 0; i < controllers.length; i ++ ) { - - var controller = controllers[ i ]; - - var inputSource = inputSources[ i ]; - - if ( inputSource ) { - - var inputPose = frame.getInputPose( inputSource, frameOfReference ); - - if ( inputPose !== null ) { - - if ( 'targetRay' in inputPose ) { - - controller.matrix.elements = inputPose.targetRay.transformMatrix; - - } else if ( 'pointerMatrix' in inputPose ) { - - // DEPRECATED - - controller.matrix.elements = inputPose.pointerMatrix; - - } - - controller.matrix.decompose( controller.position, controller.rotation, controller.scale ); - controller.visible = true; - - continue; - - } - - } - - controller.visible = false; - - } - - if ( onAnimationFrameCallback ) onAnimationFrameCallback( time ); - - } - - var animation = new WebGLAnimation(); - animation.setAnimationLoop( onAnimationFrame ); - - this.setAnimationLoop = function ( callback ) { - - onAnimationFrameCallback = callback; - - }; - - this.dispose = function () {}; - - // DEPRECATED - - this.getStandingMatrix = function () { - - console.warn( 'THREE.WebXRManager: getStandingMatrix() is no longer needed.' ); - return new Matrix4(); - - }; - - this.submitFrame = function () {}; - - } - - /** - * @author supereggbert / http://www.paulbrunt.co.uk/ - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * @author szimek / https://github.com/szimek/ - * @author tschw - */ - - function WebGLRenderer( parameters ) { - - console.log( 'THREE.WebGLRenderer', REVISION ); - - parameters = parameters || {}; - - var _canvas = parameters.canvas !== undefined ? parameters.canvas : document.createElementNS( 'http://www.w3.org/1999/xhtml', 'canvas' ), - _context = parameters.context !== undefined ? parameters.context : null, - - _alpha = parameters.alpha !== undefined ? parameters.alpha : false, - _depth = parameters.depth !== undefined ? parameters.depth : true, - _stencil = parameters.stencil !== undefined ? parameters.stencil : true, - _antialias = parameters.antialias !== undefined ? parameters.antialias : false, - _premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true, - _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false, - _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default'; - - var currentRenderList = null; - var currentRenderState = null; - - // public properties - - this.domElement = _canvas; - this.context = null; - - // clearing - - this.autoClear = true; - this.autoClearColor = true; - this.autoClearDepth = true; - this.autoClearStencil = true; - - // scene graph - - this.sortObjects = true; - - // user-defined clipping - - this.clippingPlanes = []; - this.localClippingEnabled = false; - - // physically based shading - - this.gammaFactor = 2.0; // for backwards compatibility - this.gammaInput = false; - this.gammaOutput = false; - - // physical lights - - this.physicallyCorrectLights = false; - - // tone mapping - - this.toneMapping = LinearToneMapping; - this.toneMappingExposure = 1.0; - this.toneMappingWhitePoint = 1.0; - - // morphs - - this.maxMorphTargets = 8; - this.maxMorphNormals = 4; - - // internal properties - - var _this = this, - - _isContextLost = false, - - // internal state cache - - _framebuffer = null, - - _currentRenderTarget = null, - _currentFramebuffer = null, - _currentMaterialId = - 1, - - // geometry and program caching - - _currentGeometryProgram = { - geometry: null, - program: null, - wireframe: false - }, - - _currentCamera = null, - _currentArrayCamera = null, - - _currentViewport = new Vector4(), - _currentScissor = new Vector4(), - _currentScissorTest = null, - - // - - _width = _canvas.width, - _height = _canvas.height, - - _pixelRatio = 1, - - _viewport = new Vector4( 0, 0, _width, _height ), - _scissor = new Vector4( 0, 0, _width, _height ), - _scissorTest = false, - - // frustum - - _frustum = new Frustum(), - - // clipping - - _clipping = new WebGLClipping(), - _clippingEnabled = false, - _localClippingEnabled = false, - - // camera matrices cache - - _projScreenMatrix = new Matrix4(), - - _vector3 = new Vector3(); - - function getTargetPixelRatio() { - - return _currentRenderTarget === null ? _pixelRatio : 1; - - } - - // initialize - - var _gl; - - try { - - var contextAttributes = { - alpha: _alpha, - depth: _depth, - stencil: _stencil, - antialias: _antialias, - premultipliedAlpha: _premultipliedAlpha, - preserveDrawingBuffer: _preserveDrawingBuffer, - powerPreference: _powerPreference - }; - - // event listeners must be registered before WebGL context is created, see #12753 - - _canvas.addEventListener( 'webglcontextlost', onContextLost, false ); - _canvas.addEventListener( 'webglcontextrestored', onContextRestore, false ); - - _gl = _context || _canvas.getContext( 'webgl', contextAttributes ) || _canvas.getContext( 'experimental-webgl', contextAttributes ); - - if ( _gl === null ) { - - if ( _canvas.getContext( 'webgl' ) !== null ) { - - throw new Error( 'Error creating WebGL context with your selected attributes.' ); - - } else { - - throw new Error( 'Error creating WebGL context.' ); - - } - - } - - // Some experimental-webgl implementations do not have getShaderPrecisionFormat - - if ( _gl.getShaderPrecisionFormat === undefined ) { - - _gl.getShaderPrecisionFormat = function () { - - return { 'rangeMin': 1, 'rangeMax': 1, 'precision': 1 }; - - }; - - } - - } catch ( error ) { - - console.error( 'THREE.WebGLRenderer: ' + error.message ); - throw error; - - } - - var extensions, capabilities, state, info; - var properties, textures, attributes, geometries, objects; - var programCache, renderLists, renderStates; - - var background, morphtargets, bufferRenderer, indexedBufferRenderer; - - var utils; - - function initGLContext() { - - extensions = new WebGLExtensions( _gl ); - - capabilities = new WebGLCapabilities( _gl, extensions, parameters ); - - if ( ! capabilities.isWebGL2 ) { - - extensions.get( 'WEBGL_depth_texture' ); - extensions.get( 'OES_texture_float' ); - extensions.get( 'OES_texture_half_float' ); - extensions.get( 'OES_texture_half_float_linear' ); - extensions.get( 'OES_standard_derivatives' ); - extensions.get( 'OES_element_index_uint' ); - extensions.get( 'ANGLE_instanced_arrays' ); - - } - - extensions.get( 'OES_texture_float_linear' ); - - utils = new WebGLUtils( _gl, extensions, capabilities ); - - state = new WebGLState( _gl, extensions, utils, capabilities ); - state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); - state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); - - info = new WebGLInfo( _gl ); - properties = new WebGLProperties(); - textures = new WebGLTextures( _gl, extensions, state, properties, capabilities, utils, info ); - attributes = new WebGLAttributes( _gl ); - geometries = new WebGLGeometries( _gl, attributes, info ); - objects = new WebGLObjects( geometries, info ); - morphtargets = new WebGLMorphtargets( _gl ); - programCache = new WebGLPrograms( _this, extensions, capabilities, textures ); - renderLists = new WebGLRenderLists(); - renderStates = new WebGLRenderStates(); - - background = new WebGLBackground( _this, state, objects, _premultipliedAlpha ); - - bufferRenderer = new WebGLBufferRenderer( _gl, extensions, info, capabilities ); - indexedBufferRenderer = new WebGLIndexedBufferRenderer( _gl, extensions, info, capabilities ); - - info.programs = programCache.programs; - - _this.context = _gl; - _this.capabilities = capabilities; - _this.extensions = extensions; - _this.properties = properties; - _this.renderLists = renderLists; - _this.state = state; - _this.info = info; - - } - - initGLContext(); - - // vr - - var vr = null; - - if ( typeof navigator !== 'undefined' ) { - - vr = ( 'xr' in navigator ) ? new WebXRManager( _this ) : new WebVRManager( _this ); - - } - - this.vr = vr; - - // shadow map - - var shadowMap = new WebGLShadowMap( _this, objects, capabilities.maxTextureSize ); - - this.shadowMap = shadowMap; - - // API - - this.getContext = function () { - - return _gl; - - }; - - this.getContextAttributes = function () { - - return _gl.getContextAttributes(); - - }; - - this.forceContextLoss = function () { - - var extension = extensions.get( 'WEBGL_lose_context' ); - if ( extension ) extension.loseContext(); - - }; - - this.forceContextRestore = function () { - - var extension = extensions.get( 'WEBGL_lose_context' ); - if ( extension ) extension.restoreContext(); - - }; - - this.getPixelRatio = function () { - - return _pixelRatio; - - }; - - this.setPixelRatio = function ( value ) { - - if ( value === undefined ) return; - - _pixelRatio = value; - - this.setSize( _width, _height, false ); - - }; - - this.getSize = function ( target ) { - - if ( target === undefined ) { - - console.warn( 'WebGLRenderer: .getsize() now requires a Vector2 as an argument' ); - - target = new Vector2(); - - } - - return target.set( _width, _height ); - - }; - - this.setSize = function ( width, height, updateStyle ) { - - if ( vr.isPresenting() ) { - - console.warn( 'THREE.WebGLRenderer: Can\'t change size while VR device is presenting.' ); - return; - - } - - _width = width; - _height = height; - - _canvas.width = width * _pixelRatio; - _canvas.height = height * _pixelRatio; - - if ( updateStyle !== false ) { - - _canvas.style.width = width + 'px'; - _canvas.style.height = height + 'px'; - - } - - this.setViewport( 0, 0, width, height ); - - }; - - this.getDrawingBufferSize = function ( target ) { - - if ( target === undefined ) { - - console.warn( 'WebGLRenderer: .getdrawingBufferSize() now requires a Vector2 as an argument' ); - - target = new Vector2(); - - } - - return target.set( _width * _pixelRatio, _height * _pixelRatio ); - - }; - - this.setDrawingBufferSize = function ( width, height, pixelRatio ) { - - _width = width; - _height = height; - - _pixelRatio = pixelRatio; - - _canvas.width = width * pixelRatio; - _canvas.height = height * pixelRatio; - - this.setViewport( 0, 0, width, height ); - - }; - - this.getCurrentViewport = function ( target ) { - - if ( target === undefined ) { - - console.warn( 'WebGLRenderer: .getCurrentViewport() now requires a Vector4 as an argument' ); - - target = new Vector4(); - - } - - return target.copy( _currentViewport ); - - }; - - this.getViewport = function ( target ) { - - return target.copy( _viewport ); - - }; - - this.setViewport = function ( x, y, width, height ) { - - if ( x.isVector4 ) { - - _viewport.set( x.x, x.y, x.z, x.w ); - - } else { - - _viewport.set( x, y, width, height ); - - } - - state.viewport( _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ) ); - - }; - - this.getScissor = function ( target ) { - - return target.copy( _scissor ); - - }; - - this.setScissor = function ( x, y, width, height ) { - - if ( x.isVector4 ) { - - _scissor.set( x.x, x.y, x.z, x.w ); - - } else { - - _scissor.set( x, y, width, height ); - - } - - state.scissor( _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ) ); - - }; - - this.getScissorTest = function () { - - return _scissorTest; - - }; - - this.setScissorTest = function ( boolean ) { - - state.setScissorTest( _scissorTest = boolean ); - - }; - - // Clearing - - this.getClearColor = function () { - - return background.getClearColor(); - - }; - - this.setClearColor = function () { - - background.setClearColor.apply( background, arguments ); - - }; - - this.getClearAlpha = function () { - - return background.getClearAlpha(); - - }; - - this.setClearAlpha = function () { - - background.setClearAlpha.apply( background, arguments ); - - }; - - this.clear = function ( color, depth, stencil ) { - - var bits = 0; - - if ( color === undefined || color ) bits |= 16384; - if ( depth === undefined || depth ) bits |= 256; - if ( stencil === undefined || stencil ) bits |= 1024; - - _gl.clear( bits ); - - }; - - this.clearColor = function () { - - this.clear( true, false, false ); - - }; - - this.clearDepth = function () { - - this.clear( false, true, false ); - - }; - - this.clearStencil = function () { - - this.clear( false, false, true ); - - }; - - // - - this.dispose = function () { - - _canvas.removeEventListener( 'webglcontextlost', onContextLost, false ); - _canvas.removeEventListener( 'webglcontextrestored', onContextRestore, false ); - - renderLists.dispose(); - renderStates.dispose(); - properties.dispose(); - objects.dispose(); - - vr.dispose(); - - animation.stop(); - - }; - - // Events - - function onContextLost( event ) { - - event.preventDefault(); - - console.log( 'THREE.WebGLRenderer: Context Lost.' ); - - _isContextLost = true; - - } - - function onContextRestore( /* event */ ) { - - console.log( 'THREE.WebGLRenderer: Context Restored.' ); - - _isContextLost = false; - - initGLContext(); - - } - - function onMaterialDispose( event ) { - - var material = event.target; - - material.removeEventListener( 'dispose', onMaterialDispose ); - - deallocateMaterial( material ); - - } - - // Buffer deallocation - - function deallocateMaterial( material ) { - - releaseMaterialProgramReference( material ); - - properties.remove( material ); - - } - - - function releaseMaterialProgramReference( material ) { - - var programInfo = properties.get( material ).program; - - material.program = undefined; - - if ( programInfo !== undefined ) { - - programCache.releaseProgram( programInfo ); - - } - - } - - // Buffer rendering - - function renderObjectImmediate( object, program ) { - - object.render( function ( object ) { - - _this.renderBufferImmediate( object, program ); - - } ); - - } - - this.renderBufferImmediate = function ( object, program ) { - - state.initAttributes(); - - var buffers = properties.get( object ); - - if ( object.hasPositions && ! buffers.position ) buffers.position = _gl.createBuffer(); - if ( object.hasNormals && ! buffers.normal ) buffers.normal = _gl.createBuffer(); - if ( object.hasUvs && ! buffers.uv ) buffers.uv = _gl.createBuffer(); - if ( object.hasColors && ! buffers.color ) buffers.color = _gl.createBuffer(); - - var programAttributes = program.getAttributes(); - - if ( object.hasPositions ) { - - _gl.bindBuffer( 34962, buffers.position ); - _gl.bufferData( 34962, object.positionArray, 35048 ); - - state.enableAttribute( programAttributes.position ); - _gl.vertexAttribPointer( programAttributes.position, 3, 5126, false, 0, 0 ); - - } - - if ( object.hasNormals ) { - - _gl.bindBuffer( 34962, buffers.normal ); - _gl.bufferData( 34962, object.normalArray, 35048 ); - - state.enableAttribute( programAttributes.normal ); - _gl.vertexAttribPointer( programAttributes.normal, 3, 5126, false, 0, 0 ); - - } - - if ( object.hasUvs ) { - - _gl.bindBuffer( 34962, buffers.uv ); - _gl.bufferData( 34962, object.uvArray, 35048 ); - - state.enableAttribute( programAttributes.uv ); - _gl.vertexAttribPointer( programAttributes.uv, 2, 5126, false, 0, 0 ); - - } - - if ( object.hasColors ) { - - _gl.bindBuffer( 34962, buffers.color ); - _gl.bufferData( 34962, object.colorArray, 35048 ); - - state.enableAttribute( programAttributes.color ); - _gl.vertexAttribPointer( programAttributes.color, 3, 5126, false, 0, 0 ); - - } - - state.disableUnusedAttributes(); - - _gl.drawArrays( 4, 0, object.count ); - - object.count = 0; - - }; - - this.renderBufferDirect = function ( camera, fog, geometry, material, object, group ) { - - var frontFaceCW = ( object.isMesh && object.matrixWorld.determinant() < 0 ); - - state.setMaterial( material, frontFaceCW ); - - var program = setProgram( camera, fog, material, object ); - - var updateBuffers = false; - - if ( _currentGeometryProgram.geometry !== geometry.id || - _currentGeometryProgram.program !== program.id || - _currentGeometryProgram.wireframe !== ( material.wireframe === true ) ) { - - _currentGeometryProgram.geometry = geometry.id; - _currentGeometryProgram.program = program.id; - _currentGeometryProgram.wireframe = material.wireframe === true; - updateBuffers = true; - - } - - if ( object.morphTargetInfluences ) { - - morphtargets.update( object, geometry, material, program ); - - updateBuffers = true; - - } - - // - - var index = geometry.index; - var position = geometry.attributes.position; - var rangeFactor = 1; - - if ( material.wireframe === true ) { - - index = geometries.getWireframeAttribute( geometry ); - rangeFactor = 2; - - } - - var attribute; - var renderer = bufferRenderer; - - if ( index !== null ) { - - attribute = attributes.get( index ); - - renderer = indexedBufferRenderer; - renderer.setIndex( attribute ); - - } - - if ( updateBuffers ) { - - setupVertexAttributes( material, program, geometry ); - - if ( index !== null ) { - - _gl.bindBuffer( 34963, attribute.buffer ); - - } - - } - - // - - var dataCount = Infinity; - - if ( index !== null ) { - - dataCount = index.count; - - } else if ( position !== undefined ) { - - dataCount = position.count; - - } - - var rangeStart = geometry.drawRange.start * rangeFactor; - var rangeCount = geometry.drawRange.count * rangeFactor; - - var groupStart = group !== null ? group.start * rangeFactor : 0; - var groupCount = group !== null ? group.count * rangeFactor : Infinity; - - var drawStart = Math.max( rangeStart, groupStart ); - var drawEnd = Math.min( dataCount, rangeStart + rangeCount, groupStart + groupCount ) - 1; - - var drawCount = Math.max( 0, drawEnd - drawStart + 1 ); - - if ( drawCount === 0 ) return; - - // - - if ( object.isMesh ) { - - if ( material.wireframe === true ) { - - state.setLineWidth( material.wireframeLinewidth * getTargetPixelRatio() ); - renderer.setMode( 1 ); - - } else { - - switch ( object.drawMode ) { - - case TrianglesDrawMode: - renderer.setMode( 4 ); - break; - - case TriangleStripDrawMode: - renderer.setMode( 5 ); - break; - - case TriangleFanDrawMode: - renderer.setMode( 6 ); - break; - - } - - } - - - } else if ( object.isLine ) { - - var lineWidth = material.linewidth; - - if ( lineWidth === undefined ) lineWidth = 1; // Not using Line*Material - - state.setLineWidth( lineWidth * getTargetPixelRatio() ); - - if ( object.isLineSegments ) { - - renderer.setMode( 1 ); - - } else if ( object.isLineLoop ) { - - renderer.setMode( 2 ); - - } else { - - renderer.setMode( 3 ); - - } - - } else if ( object.isPoints ) { - - renderer.setMode( 0 ); - - } else if ( object.isSprite ) { - - renderer.setMode( 4 ); - - } - - if ( geometry && geometry.isInstancedBufferGeometry ) { - - if ( geometry.maxInstancedCount > 0 ) { - - renderer.renderInstances( geometry, drawStart, drawCount ); - - } - - } else { - - renderer.render( drawStart, drawCount ); - - } - - }; - - function setupVertexAttributes( material, program, geometry ) { - - if ( geometry && geometry.isInstancedBufferGeometry && ! capabilities.isWebGL2 ) { - - if ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) { - - console.error( 'THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.' ); - return; - - } - - } - - state.initAttributes(); - - var geometryAttributes = geometry.attributes; - - var programAttributes = program.getAttributes(); - - var materialDefaultAttributeValues = material.defaultAttributeValues; - - for ( var name in programAttributes ) { - - var programAttribute = programAttributes[ name ]; - - if ( programAttribute >= 0 ) { - - var geometryAttribute = geometryAttributes[ name ]; - - if ( geometryAttribute !== undefined ) { - - var normalized = geometryAttribute.normalized; - var size = geometryAttribute.itemSize; - - var attribute = attributes.get( geometryAttribute ); - - // TODO Attribute may not be available on context restore - - if ( attribute === undefined ) continue; - - var buffer = attribute.buffer; - var type = attribute.type; - var bytesPerElement = attribute.bytesPerElement; - - if ( geometryAttribute.isInterleavedBufferAttribute ) { - - var data = geometryAttribute.data; - var stride = data.stride; - var offset = geometryAttribute.offset; - - if ( data && data.isInstancedInterleavedBuffer ) { - - state.enableAttributeAndDivisor( programAttribute, data.meshPerAttribute ); - - if ( geometry.maxInstancedCount === undefined ) { - - geometry.maxInstancedCount = data.meshPerAttribute * data.count; - - } - - } else { - - state.enableAttribute( programAttribute ); - - } - - _gl.bindBuffer( 34962, buffer ); - _gl.vertexAttribPointer( programAttribute, size, type, normalized, stride * bytesPerElement, offset * bytesPerElement ); - - } else { - - if ( geometryAttribute.isInstancedBufferAttribute ) { - - state.enableAttributeAndDivisor( programAttribute, geometryAttribute.meshPerAttribute ); - - if ( geometry.maxInstancedCount === undefined ) { - - geometry.maxInstancedCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; - - } - - } else { - - state.enableAttribute( programAttribute ); - - } - - _gl.bindBuffer( 34962, buffer ); - _gl.vertexAttribPointer( programAttribute, size, type, normalized, 0, 0 ); - - } - - } else if ( materialDefaultAttributeValues !== undefined ) { - - var value = materialDefaultAttributeValues[ name ]; - - if ( value !== undefined ) { - - switch ( value.length ) { - - case 2: - _gl.vertexAttrib2fv( programAttribute, value ); - break; - - case 3: - _gl.vertexAttrib3fv( programAttribute, value ); - break; - - case 4: - _gl.vertexAttrib4fv( programAttribute, value ); - break; - - default: - _gl.vertexAttrib1fv( programAttribute, value ); - - } - - } - - } - - } - - } - - state.disableUnusedAttributes(); - - } - - // Compile - - this.compile = function ( scene, camera ) { - - currentRenderState = renderStates.get( scene, camera ); - currentRenderState.init(); - - scene.traverse( function ( object ) { - - if ( object.isLight ) { - - currentRenderState.pushLight( object ); - - if ( object.castShadow ) { - - currentRenderState.pushShadow( object ); - - } - - } - - } ); - - currentRenderState.setupLights( camera ); - - scene.traverse( function ( object ) { - - if ( object.material ) { - - if ( Array.isArray( object.material ) ) { - - for ( var i = 0; i < object.material.length; i ++ ) { - - initMaterial( object.material[ i ], scene.fog, object ); - - } - - } else { - - initMaterial( object.material, scene.fog, object ); - - } - - } - - } ); - - }; - - // Animation Loop - - var onAnimationFrameCallback = null; - - function onAnimationFrame( time ) { - - if ( vr.isPresenting() ) return; - if ( onAnimationFrameCallback ) onAnimationFrameCallback( time ); - - } - - var animation = new WebGLAnimation(); - animation.setAnimationLoop( onAnimationFrame ); - - if ( typeof window !== 'undefined' ) animation.setContext( window ); - - this.setAnimationLoop = function ( callback ) { - - onAnimationFrameCallback = callback; - vr.setAnimationLoop( callback ); - - animation.start(); - - }; - - // Rendering - - this.render = function ( scene, camera ) { - - var renderTarget, forceClear; - - if ( arguments[ 2 ] !== undefined ) { - - console.warn( 'THREE.WebGLRenderer.render(): the renderTarget argument has been removed. Use .setRenderTarget() instead.' ); - renderTarget = arguments[ 2 ]; - - } - - if ( arguments[ 3 ] !== undefined ) { - - console.warn( 'THREE.WebGLRenderer.render(): the forceClear argument has been removed. Use .clear() instead.' ); - forceClear = arguments[ 3 ]; - - } - - if ( ! ( camera && camera.isCamera ) ) { - - console.error( 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.' ); - return; - - } - - if ( _isContextLost ) return; - - // reset caching for this frame - - _currentGeometryProgram.geometry = null; - _currentGeometryProgram.program = null; - _currentGeometryProgram.wireframe = false; - _currentMaterialId = - 1; - _currentCamera = null; - - // update scene graph - - if ( scene.autoUpdate === true ) scene.updateMatrixWorld(); - - // update camera matrices and frustum - - if ( camera.parent === null ) camera.updateMatrixWorld(); - - if ( vr.enabled ) { - - camera = vr.getCamera( camera ); - - } - - // - - currentRenderState = renderStates.get( scene, camera ); - currentRenderState.init(); - - scene.onBeforeRender( _this, scene, camera, renderTarget || _currentRenderTarget ); - - _projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse ); - _frustum.setFromMatrix( _projScreenMatrix ); - - _localClippingEnabled = this.localClippingEnabled; - _clippingEnabled = _clipping.init( this.clippingPlanes, _localClippingEnabled, camera ); - - currentRenderList = renderLists.get( scene, camera ); - currentRenderList.init(); - - projectObject( scene, camera, 0, _this.sortObjects ); - - if ( _this.sortObjects === true ) { - - currentRenderList.sort(); - - } - - // - - if ( _clippingEnabled ) _clipping.beginShadows(); - - var shadowsArray = currentRenderState.state.shadowsArray; - - shadowMap.render( shadowsArray, scene, camera ); - - currentRenderState.setupLights( camera ); - - if ( _clippingEnabled ) _clipping.endShadows(); - - // - - if ( this.info.autoReset ) this.info.reset(); - - if ( renderTarget !== undefined ) { - - this.setRenderTarget( renderTarget ); - - } - - // - - background.render( currentRenderList, scene, camera, forceClear ); - - // render scene - - var opaqueObjects = currentRenderList.opaque; - var transparentObjects = currentRenderList.transparent; - - if ( scene.overrideMaterial ) { - - var overrideMaterial = scene.overrideMaterial; - - if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera, overrideMaterial ); - if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera, overrideMaterial ); - - } else { - - // opaque pass (front-to-back order) - - if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera ); - - // transparent pass (back-to-front order) - - if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera ); - - } - - // - - scene.onAfterRender( _this, scene, camera ); - - // - - if ( _currentRenderTarget !== null ) { - - // Generate mipmap if we're using any kind of mipmap filtering - - textures.updateRenderTargetMipmap( _currentRenderTarget ); - - // resolve multisample renderbuffers to a single-sample texture if necessary - - textures.updateMultisampleRenderTarget( _currentRenderTarget ); - - } - - // Ensure depth buffer writing is enabled so it can be cleared on next render - - state.buffers.depth.setTest( true ); - state.buffers.depth.setMask( true ); - state.buffers.color.setMask( true ); - - state.setPolygonOffset( false ); - - if ( vr.enabled ) { - - vr.submitFrame(); - - } - - // _gl.finish(); - - currentRenderList = null; - currentRenderState = null; - - }; - - function projectObject( object, camera, groupOrder, sortObjects ) { - - if ( object.visible === false ) return; - - var visible = object.layers.test( camera.layers ); - - if ( visible ) { - - if ( object.isGroup ) { - - groupOrder = object.renderOrder; - - } else if ( object.isLight ) { - - currentRenderState.pushLight( object ); - - if ( object.castShadow ) { - - currentRenderState.pushShadow( object ); - - } - - } else if ( object.isSprite ) { - - if ( ! object.frustumCulled || _frustum.intersectsSprite( object ) ) { - - if ( sortObjects ) { - - _vector3.setFromMatrixPosition( object.matrixWorld ) - .applyMatrix4( _projScreenMatrix ); - - } - - var geometry = objects.update( object ); - var material = object.material; - - if ( material.visible ) { - - currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null ); - - } - - } - - } else if ( object.isImmediateRenderObject ) { - - if ( sortObjects ) { - - _vector3.setFromMatrixPosition( object.matrixWorld ) - .applyMatrix4( _projScreenMatrix ); - - } - - currentRenderList.push( object, null, object.material, groupOrder, _vector3.z, null ); - - } else if ( object.isMesh || object.isLine || object.isPoints ) { - - if ( object.isSkinnedMesh ) { - - object.skeleton.update(); - - } - - if ( ! object.frustumCulled || _frustum.intersectsObject( object ) ) { - - if ( sortObjects ) { - - _vector3.setFromMatrixPosition( object.matrixWorld ) - .applyMatrix4( _projScreenMatrix ); - - } - - var geometry = objects.update( object ); - var material = object.material; - - if ( Array.isArray( material ) ) { - - var groups = geometry.groups; - - for ( var i = 0, l = groups.length; i < l; i ++ ) { - - var group = groups[ i ]; - var groupMaterial = material[ group.materialIndex ]; - - if ( groupMaterial && groupMaterial.visible ) { - - currentRenderList.push( object, geometry, groupMaterial, groupOrder, _vector3.z, group ); - - } - - } - - } else if ( material.visible ) { - - currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null ); - - } - - } - - } - - } - - var children = object.children; - - for ( var i = 0, l = children.length; i < l; i ++ ) { - - projectObject( children[ i ], camera, groupOrder, sortObjects ); - - } - - } - - function renderObjects( renderList, scene, camera, overrideMaterial ) { - - for ( var i = 0, l = renderList.length; i < l; i ++ ) { - - var renderItem = renderList[ i ]; - - var object = renderItem.object; - var geometry = renderItem.geometry; - var material = overrideMaterial === undefined ? renderItem.material : overrideMaterial; - var group = renderItem.group; - - if ( camera.isArrayCamera ) { - - _currentArrayCamera = camera; - - var cameras = camera.cameras; - - for ( var j = 0, jl = cameras.length; j < jl; j ++ ) { - - var camera2 = cameras[ j ]; - - if ( object.layers.test( camera2.layers ) ) { - - if ( 'viewport' in camera2 ) { // XR - - state.viewport( _currentViewport.copy( camera2.viewport ) ); - - } else { - - var bounds = camera2.bounds; - - var x = bounds.x * _width; - var y = bounds.y * _height; - var width = bounds.z * _width; - var height = bounds.w * _height; - - state.viewport( _currentViewport.set( x, y, width, height ).multiplyScalar( _pixelRatio ) ); - - } - - currentRenderState.setupLights( camera2 ); - - renderObject( object, scene, camera2, geometry, material, group ); - - } - - } - - } else { - - _currentArrayCamera = null; - - renderObject( object, scene, camera, geometry, material, group ); - - } - - } - - } - - function renderObject( object, scene, camera, geometry, material, group ) { - - object.onBeforeRender( _this, scene, camera, geometry, material, group ); - currentRenderState = renderStates.get( scene, _currentArrayCamera || camera ); - - object.modelViewMatrix.multiplyMatrices( camera.matrixWorldInverse, object.matrixWorld ); - object.normalMatrix.getNormalMatrix( object.modelViewMatrix ); - - if ( object.isImmediateRenderObject ) { - - state.setMaterial( material ); - - var program = setProgram( camera, scene.fog, material, object ); - - _currentGeometryProgram.geometry = null; - _currentGeometryProgram.program = null; - _currentGeometryProgram.wireframe = false; - - renderObjectImmediate( object, program ); - - } else { - - _this.renderBufferDirect( camera, scene.fog, geometry, material, object, group ); - - } - - object.onAfterRender( _this, scene, camera, geometry, material, group ); - currentRenderState = renderStates.get( scene, _currentArrayCamera || camera ); - - } - - function initMaterial( material, fog, object ) { - - var materialProperties = properties.get( material ); - - var lights = currentRenderState.state.lights; - var shadowsArray = currentRenderState.state.shadowsArray; - - var lightsHash = materialProperties.lightsHash; - var lightsStateHash = lights.state.hash; - - var parameters = programCache.getParameters( - material, lights.state, shadowsArray, fog, _clipping.numPlanes, _clipping.numIntersection, object ); - - var code = programCache.getProgramCode( material, parameters ); - - var program = materialProperties.program; - var programChange = true; - - if ( program === undefined ) { - - // new material - material.addEventListener( 'dispose', onMaterialDispose ); - - } else if ( program.code !== code ) { - - // changed glsl or parameters - releaseMaterialProgramReference( material ); - - } else if ( lightsHash.stateID !== lightsStateHash.stateID || - lightsHash.directionalLength !== lightsStateHash.directionalLength || - lightsHash.pointLength !== lightsStateHash.pointLength || - lightsHash.spotLength !== lightsStateHash.spotLength || - lightsHash.rectAreaLength !== lightsStateHash.rectAreaLength || - lightsHash.hemiLength !== lightsStateHash.hemiLength || - lightsHash.shadowsLength !== lightsStateHash.shadowsLength ) { - - lightsHash.stateID = lightsStateHash.stateID; - lightsHash.directionalLength = lightsStateHash.directionalLength; - lightsHash.pointLength = lightsStateHash.pointLength; - lightsHash.spotLength = lightsStateHash.spotLength; - lightsHash.rectAreaLength = lightsStateHash.rectAreaLength; - lightsHash.hemiLength = lightsStateHash.hemiLength; - lightsHash.shadowsLength = lightsStateHash.shadowsLength; - - programChange = false; - - } else if ( parameters.shaderID !== undefined ) { - - // same glsl and uniform list - return; - - } else { - - // only rebuild uniform list - programChange = false; - - } - - if ( programChange ) { - - if ( parameters.shaderID ) { - - var shader = ShaderLib[ parameters.shaderID ]; - - materialProperties.shader = { - name: material.type, - uniforms: cloneUniforms( shader.uniforms ), - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - }; - - } else { - - materialProperties.shader = { - name: material.type, - uniforms: material.uniforms, - vertexShader: material.vertexShader, - fragmentShader: material.fragmentShader - }; - - } - - material.onBeforeCompile( materialProperties.shader, _this ); - - // Computing code again as onBeforeCompile may have changed the shaders - code = programCache.getProgramCode( material, parameters ); - - program = programCache.acquireProgram( material, materialProperties.shader, parameters, code ); - - materialProperties.program = program; - material.program = program; - - } - - var programAttributes = program.getAttributes(); - - if ( material.morphTargets ) { - - material.numSupportedMorphTargets = 0; - - for ( var i = 0; i < _this.maxMorphTargets; i ++ ) { - - if ( programAttributes[ 'morphTarget' + i ] >= 0 ) { - - material.numSupportedMorphTargets ++; - - } - - } - - } - - if ( material.morphNormals ) { - - material.numSupportedMorphNormals = 0; - - for ( var i = 0; i < _this.maxMorphNormals; i ++ ) { - - if ( programAttributes[ 'morphNormal' + i ] >= 0 ) { - - material.numSupportedMorphNormals ++; - - } - - } - - } - - var uniforms = materialProperties.shader.uniforms; - - if ( ! material.isShaderMaterial && - ! material.isRawShaderMaterial || - material.clipping === true ) { - - materialProperties.numClippingPlanes = _clipping.numPlanes; - materialProperties.numIntersection = _clipping.numIntersection; - uniforms.clippingPlanes = _clipping.uniform; - - } - - materialProperties.fog = fog; - - // store the light setup it was created for - if ( lightsHash === undefined ) { - - materialProperties.lightsHash = lightsHash = {}; - - } - - lightsHash.stateID = lightsStateHash.stateID; - lightsHash.directionalLength = lightsStateHash.directionalLength; - lightsHash.pointLength = lightsStateHash.pointLength; - lightsHash.spotLength = lightsStateHash.spotLength; - lightsHash.rectAreaLength = lightsStateHash.rectAreaLength; - lightsHash.hemiLength = lightsStateHash.hemiLength; - lightsHash.shadowsLength = lightsStateHash.shadowsLength; - - if ( material.lights ) { - - // wire up the material to this renderer's lighting state - - uniforms.ambientLightColor.value = lights.state.ambient; - uniforms.directionalLights.value = lights.state.directional; - uniforms.spotLights.value = lights.state.spot; - uniforms.rectAreaLights.value = lights.state.rectArea; - uniforms.pointLights.value = lights.state.point; - uniforms.hemisphereLights.value = lights.state.hemi; - - uniforms.directionalShadowMap.value = lights.state.directionalShadowMap; - uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix; - uniforms.spotShadowMap.value = lights.state.spotShadowMap; - uniforms.spotShadowMatrix.value = lights.state.spotShadowMatrix; - uniforms.pointShadowMap.value = lights.state.pointShadowMap; - uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix; - // TODO (abelnation): add area lights shadow info to uniforms - - } - - var progUniforms = materialProperties.program.getUniforms(), - uniformsList = - WebGLUniforms.seqWithValue( progUniforms.seq, uniforms ); - - materialProperties.uniformsList = uniformsList; - - } - - function setProgram( camera, fog, material, object ) { - - textures.resetTextureUnits(); - - var materialProperties = properties.get( material ); - var lights = currentRenderState.state.lights; - - var lightsHash = materialProperties.lightsHash; - var lightsStateHash = lights.state.hash; - - if ( _clippingEnabled ) { - - if ( _localClippingEnabled || camera !== _currentCamera ) { - - var useCache = - camera === _currentCamera && - material.id === _currentMaterialId; - - // we might want to call this function with some ClippingGroup - // object instead of the material, once it becomes feasible - // (#8465, #8379) - _clipping.setState( - material.clippingPlanes, material.clipIntersection, material.clipShadows, - camera, materialProperties, useCache ); - - } - - } - - if ( material.needsUpdate === false ) { - - if ( materialProperties.program === undefined ) { - - material.needsUpdate = true; - - } else if ( material.fog && materialProperties.fog !== fog ) { - - material.needsUpdate = true; - - } else if ( material.lights && ( lightsHash.stateID !== lightsStateHash.stateID || - lightsHash.directionalLength !== lightsStateHash.directionalLength || - lightsHash.pointLength !== lightsStateHash.pointLength || - lightsHash.spotLength !== lightsStateHash.spotLength || - lightsHash.rectAreaLength !== lightsStateHash.rectAreaLength || - lightsHash.hemiLength !== lightsStateHash.hemiLength || - lightsHash.shadowsLength !== lightsStateHash.shadowsLength ) ) { - - material.needsUpdate = true; - - } else if ( materialProperties.numClippingPlanes !== undefined && - ( materialProperties.numClippingPlanes !== _clipping.numPlanes || - materialProperties.numIntersection !== _clipping.numIntersection ) ) { - - material.needsUpdate = true; - - } - - } - - if ( material.needsUpdate ) { - - initMaterial( material, fog, object ); - material.needsUpdate = false; - - } - - var refreshProgram = false; - var refreshMaterial = false; - var refreshLights = false; - - var program = materialProperties.program, - p_uniforms = program.getUniforms(), - m_uniforms = materialProperties.shader.uniforms; - - if ( state.useProgram( program.program ) ) { - - refreshProgram = true; - refreshMaterial = true; - refreshLights = true; - - } - - if ( material.id !== _currentMaterialId ) { - - _currentMaterialId = material.id; - - refreshMaterial = true; - - } - - if ( refreshProgram || _currentCamera !== camera ) { - - p_uniforms.setValue( _gl, 'projectionMatrix', camera.projectionMatrix ); - - if ( capabilities.logarithmicDepthBuffer ) { - - p_uniforms.setValue( _gl, 'logDepthBufFC', - 2.0 / ( Math.log( camera.far + 1.0 ) / Math.LN2 ) ); - - } - - if ( _currentCamera !== camera ) { - - _currentCamera = camera; - - // lighting uniforms depend on the camera so enforce an update - // now, in case this material supports lights - or later, when - // the next material that does gets activated: - - refreshMaterial = true; // set to true on material change - refreshLights = true; // remains set until update done - - } - - // load material specific uniforms - // (shader material also gets them for the sake of genericity) - - if ( material.isShaderMaterial || - material.isMeshPhongMaterial || - material.isMeshStandardMaterial || - material.envMap ) { - - var uCamPos = p_uniforms.map.cameraPosition; - - if ( uCamPos !== undefined ) { - - uCamPos.setValue( _gl, - _vector3.setFromMatrixPosition( camera.matrixWorld ) ); - - } - - } - - if ( material.isMeshPhongMaterial || - material.isMeshLambertMaterial || - material.isMeshBasicMaterial || - material.isMeshStandardMaterial || - material.isShaderMaterial || - material.skinning ) { - - p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse ); - - } - - } - - // skinning uniforms must be set even if material didn't change - // auto-setting of texture unit for bone texture must go before other textures - // not sure why, but otherwise weird things happen - - if ( material.skinning ) { - - p_uniforms.setOptional( _gl, object, 'bindMatrix' ); - p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' ); - - var skeleton = object.skeleton; - - if ( skeleton ) { - - var bones = skeleton.bones; - - if ( capabilities.floatVertexTextures ) { - - if ( skeleton.boneTexture === undefined ) { - - // layout (1 matrix = 4 pixels) - // RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4) - // with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8) - // 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16) - // 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32) - // 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64) - - - var size = Math.sqrt( bones.length * 4 ); // 4 pixels needed for 1 matrix - size = _Math.ceilPowerOfTwo( size ); - size = Math.max( size, 4 ); - - var boneMatrices = new Float32Array( size * size * 4 ); // 4 floats per RGBA pixel - boneMatrices.set( skeleton.boneMatrices ); // copy current values - - var boneTexture = new DataTexture( boneMatrices, size, size, RGBAFormat, FloatType ); - boneTexture.needsUpdate = true; - - skeleton.boneMatrices = boneMatrices; - skeleton.boneTexture = boneTexture; - skeleton.boneTextureSize = size; - - } - - p_uniforms.setValue( _gl, 'boneTexture', skeleton.boneTexture, textures ); - p_uniforms.setValue( _gl, 'boneTextureSize', skeleton.boneTextureSize ); - - } else { - - p_uniforms.setOptional( _gl, skeleton, 'boneMatrices' ); - - } - - } - - } - - if ( refreshMaterial ) { - - p_uniforms.setValue( _gl, 'toneMappingExposure', _this.toneMappingExposure ); - p_uniforms.setValue( _gl, 'toneMappingWhitePoint', _this.toneMappingWhitePoint ); - - if ( material.lights ) { - - // the current material requires lighting info - - // note: all lighting uniforms are always set correctly - // they simply reference the renderer's state for their - // values - // - // use the current material's .needsUpdate flags to set - // the GL state when required - - markUniformsLightsNeedsUpdate( m_uniforms, refreshLights ); - - } - - // refresh uniforms common to several materials - - if ( fog && material.fog ) { - - refreshUniformsFog( m_uniforms, fog ); - - } - - if ( material.isMeshBasicMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - - } else if ( material.isMeshLambertMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - refreshUniformsLambert( m_uniforms, material ); - - } else if ( material.isMeshPhongMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - - if ( material.isMeshToonMaterial ) { - - refreshUniformsToon( m_uniforms, material ); - - } else { - - refreshUniformsPhong( m_uniforms, material ); - - } - - } else if ( material.isMeshStandardMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - - if ( material.isMeshPhysicalMaterial ) { - - refreshUniformsPhysical( m_uniforms, material ); - - } else { - - refreshUniformsStandard( m_uniforms, material ); - - } - - } else if ( material.isMeshMatcapMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - - refreshUniformsMatcap( m_uniforms, material ); - - } else if ( material.isMeshDepthMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - refreshUniformsDepth( m_uniforms, material ); - - } else if ( material.isMeshDistanceMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - refreshUniformsDistance( m_uniforms, material ); - - } else if ( material.isMeshNormalMaterial ) { - - refreshUniformsCommon( m_uniforms, material ); - refreshUniformsNormal( m_uniforms, material ); - - } else if ( material.isLineBasicMaterial ) { - - refreshUniformsLine( m_uniforms, material ); - - if ( material.isLineDashedMaterial ) { - - refreshUniformsDash( m_uniforms, material ); - - } - - } else if ( material.isPointsMaterial ) { - - refreshUniformsPoints( m_uniforms, material ); - - } else if ( material.isSpriteMaterial ) { - - refreshUniformsSprites( m_uniforms, material ); - - } else if ( material.isShadowMaterial ) { - - m_uniforms.color.value = material.color; - m_uniforms.opacity.value = material.opacity; - - } - - // RectAreaLight Texture - // TODO (mrdoob): Find a nicer implementation - - if ( m_uniforms.ltc_1 !== undefined ) m_uniforms.ltc_1.value = UniformsLib.LTC_1; - if ( m_uniforms.ltc_2 !== undefined ) m_uniforms.ltc_2.value = UniformsLib.LTC_2; - - WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures ); - - } - - if ( material.isShaderMaterial && material.uniformsNeedUpdate === true ) { - - WebGLUniforms.upload( _gl, materialProperties.uniformsList, m_uniforms, textures ); - material.uniformsNeedUpdate = false; - - } - - if ( material.isSpriteMaterial ) { - - p_uniforms.setValue( _gl, 'center', object.center ); - - } - - // common matrices - - p_uniforms.setValue( _gl, 'modelViewMatrix', object.modelViewMatrix ); - p_uniforms.setValue( _gl, 'normalMatrix', object.normalMatrix ); - p_uniforms.setValue( _gl, 'modelMatrix', object.matrixWorld ); - - return program; - - } - - // Uniforms (refresh uniforms objects) - - function refreshUniformsCommon( uniforms, material ) { - - uniforms.opacity.value = material.opacity; - - if ( material.color ) { - - uniforms.diffuse.value = material.color; - - } - - if ( material.emissive ) { - - uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); - - } - - if ( material.map ) { - - uniforms.map.value = material.map; - - } - - if ( material.alphaMap ) { - - uniforms.alphaMap.value = material.alphaMap; - - } - - if ( material.specularMap ) { - - uniforms.specularMap.value = material.specularMap; - - } - - if ( material.envMap ) { - - uniforms.envMap.value = material.envMap; - - // don't flip CubeTexture envMaps, flip everything else: - // WebGLRenderTargetCube will be flipped for backwards compatibility - // WebGLRenderTargetCube.texture will be flipped because it's a Texture and NOT a CubeTexture - // this check must be handled differently, or removed entirely, if WebGLRenderTargetCube uses a CubeTexture in the future - uniforms.flipEnvMap.value = material.envMap.isCubeTexture ? - 1 : 1; - - uniforms.reflectivity.value = material.reflectivity; - uniforms.refractionRatio.value = material.refractionRatio; - - uniforms.maxMipLevel.value = properties.get( material.envMap ).__maxMipLevel; - - } - - if ( material.lightMap ) { - - uniforms.lightMap.value = material.lightMap; - uniforms.lightMapIntensity.value = material.lightMapIntensity; - - } - - if ( material.aoMap ) { - - uniforms.aoMap.value = material.aoMap; - uniforms.aoMapIntensity.value = material.aoMapIntensity; - - } - - // uv repeat and offset setting priorities - // 1. color map - // 2. specular map - // 3. normal map - // 4. bump map - // 5. alpha map - // 6. emissive map - - var uvScaleMap; - - if ( material.map ) { - - uvScaleMap = material.map; - - } else if ( material.specularMap ) { - - uvScaleMap = material.specularMap; - - } else if ( material.displacementMap ) { - - uvScaleMap = material.displacementMap; - - } else if ( material.normalMap ) { - - uvScaleMap = material.normalMap; - - } else if ( material.bumpMap ) { - - uvScaleMap = material.bumpMap; - - } else if ( material.roughnessMap ) { - - uvScaleMap = material.roughnessMap; - - } else if ( material.metalnessMap ) { - - uvScaleMap = material.metalnessMap; - - } else if ( material.alphaMap ) { - - uvScaleMap = material.alphaMap; - - } else if ( material.emissiveMap ) { - - uvScaleMap = material.emissiveMap; - - } - - if ( uvScaleMap !== undefined ) { - - // backwards compatibility - if ( uvScaleMap.isWebGLRenderTarget ) { - - uvScaleMap = uvScaleMap.texture; - - } - - if ( uvScaleMap.matrixAutoUpdate === true ) { - - uvScaleMap.updateMatrix(); - - } - - uniforms.uvTransform.value.copy( uvScaleMap.matrix ); - - } - - } - - function refreshUniformsLine( uniforms, material ) { - - uniforms.diffuse.value = material.color; - uniforms.opacity.value = material.opacity; - - } - - function refreshUniformsDash( uniforms, material ) { - - uniforms.dashSize.value = material.dashSize; - uniforms.totalSize.value = material.dashSize + material.gapSize; - uniforms.scale.value = material.scale; - - } - - function refreshUniformsPoints( uniforms, material ) { - - uniforms.diffuse.value = material.color; - uniforms.opacity.value = material.opacity; - uniforms.size.value = material.size * _pixelRatio; - uniforms.scale.value = _height * 0.5; - - uniforms.map.value = material.map; - - if ( material.map !== null ) { - - if ( material.map.matrixAutoUpdate === true ) { - - material.map.updateMatrix(); - - } - - uniforms.uvTransform.value.copy( material.map.matrix ); - - } - - } - - function refreshUniformsSprites( uniforms, material ) { - - uniforms.diffuse.value = material.color; - uniforms.opacity.value = material.opacity; - uniforms.rotation.value = material.rotation; - uniforms.map.value = material.map; - - if ( material.map !== null ) { - - if ( material.map.matrixAutoUpdate === true ) { - - material.map.updateMatrix(); - - } - - uniforms.uvTransform.value.copy( material.map.matrix ); - - } - - } - - function refreshUniformsFog( uniforms, fog ) { - - uniforms.fogColor.value = fog.color; - - if ( fog.isFog ) { - - uniforms.fogNear.value = fog.near; - uniforms.fogFar.value = fog.far; - - } else if ( fog.isFogExp2 ) { - - uniforms.fogDensity.value = fog.density; - - } - - } - - function refreshUniformsLambert( uniforms, material ) { - - if ( material.emissiveMap ) { - - uniforms.emissiveMap.value = material.emissiveMap; - - } - - } - - function refreshUniformsPhong( uniforms, material ) { - - uniforms.specular.value = material.specular; - uniforms.shininess.value = Math.max( material.shininess, 1e-4 ); // to prevent pow( 0.0, 0.0 ) - - if ( material.emissiveMap ) { - - uniforms.emissiveMap.value = material.emissiveMap; - - } - - if ( material.bumpMap ) { - - uniforms.bumpMap.value = material.bumpMap; - uniforms.bumpScale.value = material.bumpScale; - if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; - - } - - if ( material.normalMap ) { - - uniforms.normalMap.value = material.normalMap; - uniforms.normalScale.value.copy( material.normalScale ); - if ( material.side === BackSide ) uniforms.normalScale.value.negate(); - - } - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - } - - function refreshUniformsToon( uniforms, material ) { - - refreshUniformsPhong( uniforms, material ); - - if ( material.gradientMap ) { - - uniforms.gradientMap.value = material.gradientMap; - - } - - } - - function refreshUniformsStandard( uniforms, material ) { - - uniforms.roughness.value = material.roughness; - uniforms.metalness.value = material.metalness; - - if ( material.roughnessMap ) { - - uniforms.roughnessMap.value = material.roughnessMap; - - } - - if ( material.metalnessMap ) { - - uniforms.metalnessMap.value = material.metalnessMap; - - } - - if ( material.emissiveMap ) { - - uniforms.emissiveMap.value = material.emissiveMap; - - } - - if ( material.bumpMap ) { - - uniforms.bumpMap.value = material.bumpMap; - uniforms.bumpScale.value = material.bumpScale; - if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; - - } - - if ( material.normalMap ) { - - uniforms.normalMap.value = material.normalMap; - uniforms.normalScale.value.copy( material.normalScale ); - if ( material.side === BackSide ) uniforms.normalScale.value.negate(); - - } - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - if ( material.envMap ) { - - //uniforms.envMap.value = material.envMap; // part of uniforms common - uniforms.envMapIntensity.value = material.envMapIntensity; - - } - - } - - function refreshUniformsPhysical( uniforms, material ) { - - refreshUniformsStandard( uniforms, material ); - - uniforms.reflectivity.value = material.reflectivity; // also part of uniforms common - - uniforms.clearCoat.value = material.clearCoat; - uniforms.clearCoatRoughness.value = material.clearCoatRoughness; - - } - - function refreshUniformsMatcap( uniforms, material ) { - - if ( material.matcap ) { - - uniforms.matcap.value = material.matcap; - - } - - if ( material.bumpMap ) { - - uniforms.bumpMap.value = material.bumpMap; - uniforms.bumpScale.value = material.bumpScale; - if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; - - } - - if ( material.normalMap ) { - - uniforms.normalMap.value = material.normalMap; - uniforms.normalScale.value.copy( material.normalScale ); - if ( material.side === BackSide ) uniforms.normalScale.value.negate(); - - } - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - } - - function refreshUniformsDepth( uniforms, material ) { - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - } - - function refreshUniformsDistance( uniforms, material ) { - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - uniforms.referencePosition.value.copy( material.referencePosition ); - uniforms.nearDistance.value = material.nearDistance; - uniforms.farDistance.value = material.farDistance; - - } - - function refreshUniformsNormal( uniforms, material ) { - - if ( material.bumpMap ) { - - uniforms.bumpMap.value = material.bumpMap; - uniforms.bumpScale.value = material.bumpScale; - if ( material.side === BackSide ) uniforms.bumpScale.value *= - 1; - - } - - if ( material.normalMap ) { - - uniforms.normalMap.value = material.normalMap; - uniforms.normalScale.value.copy( material.normalScale ); - if ( material.side === BackSide ) uniforms.normalScale.value.negate(); - - } - - if ( material.displacementMap ) { - - uniforms.displacementMap.value = material.displacementMap; - uniforms.displacementScale.value = material.displacementScale; - uniforms.displacementBias.value = material.displacementBias; - - } - - } - - // If uniforms are marked as clean, they don't need to be loaded to the GPU. - - function markUniformsLightsNeedsUpdate( uniforms, value ) { - - uniforms.ambientLightColor.needsUpdate = value; - - uniforms.directionalLights.needsUpdate = value; - uniforms.pointLights.needsUpdate = value; - uniforms.spotLights.needsUpdate = value; - uniforms.rectAreaLights.needsUpdate = value; - uniforms.hemisphereLights.needsUpdate = value; - - } - - // - - this.setFramebuffer = function ( value ) { - - _framebuffer = value; - - }; - - this.getRenderTarget = function () { - - return _currentRenderTarget; - - }; - - this.setRenderTarget = function ( renderTarget, activeCubeFace, activeMipMapLevel ) { - - _currentRenderTarget = renderTarget; - - if ( renderTarget && properties.get( renderTarget ).__webglFramebuffer === undefined ) { - - textures.setupRenderTarget( renderTarget ); - - } - - var framebuffer = _framebuffer; - var isCube = false; - - if ( renderTarget ) { - - var __webglFramebuffer = properties.get( renderTarget ).__webglFramebuffer; - - if ( renderTarget.isWebGLRenderTargetCube ) { - - framebuffer = __webglFramebuffer[ activeCubeFace || 0 ]; - isCube = true; - - } else if ( renderTarget.isWebGLMultisampleRenderTarget ) { - - framebuffer = properties.get( renderTarget ).__webglMultisampledFramebuffer; - - } else { - - framebuffer = __webglFramebuffer; - - } - - _currentViewport.copy( renderTarget.viewport ); - _currentScissor.copy( renderTarget.scissor ); - _currentScissorTest = renderTarget.scissorTest; - - } else { - - _currentViewport.copy( _viewport ).multiplyScalar( _pixelRatio ); - _currentScissor.copy( _scissor ).multiplyScalar( _pixelRatio ); - _currentScissorTest = _scissorTest; - - } - - if ( _currentFramebuffer !== framebuffer ) { - - _gl.bindFramebuffer( 36160, framebuffer ); - _currentFramebuffer = framebuffer; - - } - - state.viewport( _currentViewport ); - state.scissor( _currentScissor ); - state.setScissorTest( _currentScissorTest ); - - if ( isCube ) { - - var textureProperties = properties.get( renderTarget.texture ); - _gl.framebufferTexture2D( 36160, 36064, 34069 + ( activeCubeFace || 0 ), textureProperties.__webglTexture, activeMipMapLevel || 0 ); - - } - - }; - - this.readRenderTargetPixels = function ( renderTarget, x, y, width, height, buffer ) { - - if ( ! ( renderTarget && renderTarget.isWebGLRenderTarget ) ) { - - console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.' ); - return; - - } - - var framebuffer = properties.get( renderTarget ).__webglFramebuffer; - - if ( framebuffer ) { - - var restore = false; - - if ( framebuffer !== _currentFramebuffer ) { - - _gl.bindFramebuffer( 36160, framebuffer ); - - restore = true; - - } - - try { - - var texture = renderTarget.texture; - var textureFormat = texture.format; - var textureType = texture.type; - - if ( textureFormat !== RGBAFormat && utils.convert( textureFormat ) !== _gl.getParameter( 35739 ) ) { - - console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.' ); - return; - - } - - if ( textureType !== UnsignedByteType && utils.convert( textureType ) !== _gl.getParameter( 35738 ) && // IE11, Edge and Chrome Mac < 52 (#9513) - ! ( textureType === FloatType && ( capabilities.isWebGL2 || extensions.get( 'OES_texture_float' ) || extensions.get( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox - ! ( textureType === HalfFloatType && ( capabilities.isWebGL2 ? extensions.get( 'EXT_color_buffer_float' ) : extensions.get( 'EXT_color_buffer_half_float' ) ) ) ) { - - console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' ); - return; - - } - - if ( _gl.checkFramebufferStatus( 36160 ) === 36053 ) { - - // the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604) - - if ( ( x >= 0 && x <= ( renderTarget.width - width ) ) && ( y >= 0 && y <= ( renderTarget.height - height ) ) ) { - - _gl.readPixels( x, y, width, height, utils.convert( textureFormat ), utils.convert( textureType ), buffer ); - - } - - } else { - - console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.' ); - - } - - } finally { - - if ( restore ) { - - _gl.bindFramebuffer( 36160, _currentFramebuffer ); - - } - - } - - } - - }; - - this.copyFramebufferToTexture = function ( position, texture, level ) { - - var width = texture.image.width; - var height = texture.image.height; - var glFormat = utils.convert( texture.format ); - - textures.setTexture2D( texture, 0 ); - - _gl.copyTexImage2D( 3553, level || 0, glFormat, position.x, position.y, width, height, 0 ); - - }; - - this.copyTextureToTexture = function ( position, srcTexture, dstTexture, level ) { - - var width = srcTexture.image.width; - var height = srcTexture.image.height; - var glFormat = utils.convert( dstTexture.format ); - var glType = utils.convert( dstTexture.type ); - - textures.setTexture2D( dstTexture, 0 ); - - if ( srcTexture.isDataTexture ) { - - _gl.texSubImage2D( 3553, level || 0, position.x, position.y, width, height, glFormat, glType, srcTexture.image.data ); - - } else { - - _gl.texSubImage2D( 3553, level || 0, position.x, position.y, glFormat, glType, srcTexture.image ); - - } - - }; - - } - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ - - function FogExp2( color, density ) { - - this.name = ''; - - this.color = new Color( color ); - this.density = ( density !== undefined ) ? density : 0.00025; - - } - - Object.assign( FogExp2.prototype, { - - isFogExp2: true, - - clone: function () { - - return new FogExp2( this.color, this.density ); - - }, - - toJSON: function ( /* meta */ ) { - - return { - type: 'FogExp2', - color: this.color.getHex(), - density: this.density - }; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ - - function Fog( color, near, far ) { - - this.name = ''; - - this.color = new Color( color ); - - this.near = ( near !== undefined ) ? near : 1; - this.far = ( far !== undefined ) ? far : 1000; - - } - - Object.assign( Fog.prototype, { - - isFog: true, - - clone: function () { - - return new Fog( this.color, this.near, this.far ); - - }, - - toJSON: function ( /* meta */ ) { - - return { - type: 'Fog', - color: this.color.getHex(), - near: this.near, - far: this.far - }; - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function Scene() { - - Object3D.call( this ); - - this.type = 'Scene'; - - this.background = null; - this.fog = null; - this.overrideMaterial = null; - - this.autoUpdate = true; // checked by the renderer - - } - - Scene.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Scene, - - isScene: true, - - copy: function ( source, recursive ) { - - Object3D.prototype.copy.call( this, source, recursive ); - - if ( source.background !== null ) this.background = source.background.clone(); - if ( source.fog !== null ) this.fog = source.fog.clone(); - if ( source.overrideMaterial !== null ) this.overrideMaterial = source.overrideMaterial.clone(); - - this.autoUpdate = source.autoUpdate; - this.matrixAutoUpdate = source.matrixAutoUpdate; - - return this; - - }, - - toJSON: function ( meta ) { - - var data = Object3D.prototype.toJSON.call( this, meta ); - - if ( this.background !== null ) data.object.background = this.background.toJSON( meta ); - if ( this.fog !== null ) data.object.fog = this.fog.toJSON(); - - return data; - - }, - - dispose: function () { - - this.dispatchEvent( { type: 'dispose' } ); - - } - - } ); - - /** - * @author benaadams / https://twitter.com/ben_a_adams - */ - - function InterleavedBuffer( array, stride ) { - - this.array = array; - this.stride = stride; - this.count = array !== undefined ? array.length / stride : 0; - - this.dynamic = false; - this.updateRange = { offset: 0, count: - 1 }; - - this.version = 0; - - } - - Object.defineProperty( InterleavedBuffer.prototype, 'needsUpdate', { - - set: function ( value ) { - - if ( value === true ) this.version ++; - - } - - } ); - - Object.assign( InterleavedBuffer.prototype, { - - isInterleavedBuffer: true, - - onUploadCallback: function () {}, - - setArray: function ( array ) { - - if ( Array.isArray( array ) ) { - - throw new TypeError( 'THREE.BufferAttribute: array should be a Typed Array.' ); - - } - - this.count = array !== undefined ? array.length / this.stride : 0; - this.array = array; - - return this; - - }, - - setDynamic: function ( value ) { - - this.dynamic = value; - - return this; - - }, - - copy: function ( source ) { - - this.array = new source.array.constructor( source.array ); - this.count = source.count; - this.stride = source.stride; - this.dynamic = source.dynamic; - - return this; - - }, - - copyAt: function ( index1, attribute, index2 ) { - - index1 *= this.stride; - index2 *= attribute.stride; - - for ( var i = 0, l = this.stride; i < l; i ++ ) { - - this.array[ index1 + i ] = attribute.array[ index2 + i ]; - - } - - return this; - - }, - - set: function ( value, offset ) { - - if ( offset === undefined ) offset = 0; - - this.array.set( value, offset ); - - return this; - - }, - - clone: function () { - - return new this.constructor().copy( this ); - - }, - - onUpload: function ( callback ) { - - this.onUploadCallback = callback; - - return this; - - } - - } ); - - /** - * @author benaadams / https://twitter.com/ben_a_adams - */ - - function InterleavedBufferAttribute( interleavedBuffer, itemSize, offset, normalized ) { - - this.data = interleavedBuffer; - this.itemSize = itemSize; - this.offset = offset; - - this.normalized = normalized === true; - - } - - Object.defineProperties( InterleavedBufferAttribute.prototype, { - - count: { - - get: function () { - - return this.data.count; - - } - - }, - - array: { - - get: function () { - - return this.data.array; - - } - - } - - } ); - - Object.assign( InterleavedBufferAttribute.prototype, { - - isInterleavedBufferAttribute: true, - - setX: function ( index, x ) { - - this.data.array[ index * this.data.stride + this.offset ] = x; - - return this; - - }, - - setY: function ( index, y ) { - - this.data.array[ index * this.data.stride + this.offset + 1 ] = y; - - return this; - - }, - - setZ: function ( index, z ) { - - this.data.array[ index * this.data.stride + this.offset + 2 ] = z; - - return this; - - }, - - setW: function ( index, w ) { - - this.data.array[ index * this.data.stride + this.offset + 3 ] = w; - - return this; - - }, - - getX: function ( index ) { - - return this.data.array[ index * this.data.stride + this.offset ]; - - }, - - getY: function ( index ) { - - return this.data.array[ index * this.data.stride + this.offset + 1 ]; - - }, - - getZ: function ( index ) { - - return this.data.array[ index * this.data.stride + this.offset + 2 ]; - - }, - - getW: function ( index ) { - - return this.data.array[ index * this.data.stride + this.offset + 3 ]; - - }, - - setXY: function ( index, x, y ) { - - index = index * this.data.stride + this.offset; - - this.data.array[ index + 0 ] = x; - this.data.array[ index + 1 ] = y; - - return this; - - }, - - setXYZ: function ( index, x, y, z ) { - - index = index * this.data.stride + this.offset; - - this.data.array[ index + 0 ] = x; - this.data.array[ index + 1 ] = y; - this.data.array[ index + 2 ] = z; - - return this; - - }, - - setXYZW: function ( index, x, y, z, w ) { - - index = index * this.data.stride + this.offset; - - this.data.array[ index + 0 ] = x; - this.data.array[ index + 1 ] = y; - this.data.array[ index + 2 ] = z; - this.data.array[ index + 3 ] = w; - - return this; - - } - - } ); - - /** - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * map: new THREE.Texture( ), - * rotation: , - * sizeAttenuation: - * } - */ - - function SpriteMaterial( parameters ) { - - Material.call( this ); - - this.type = 'SpriteMaterial'; - - this.color = new Color( 0xffffff ); - this.map = null; - - this.rotation = 0; - - this.sizeAttenuation = true; - - this.lights = false; - this.transparent = true; - - this.setValues( parameters ); - - } - - SpriteMaterial.prototype = Object.create( Material.prototype ); - SpriteMaterial.prototype.constructor = SpriteMaterial; - SpriteMaterial.prototype.isSpriteMaterial = true; - - SpriteMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - this.map = source.map; - - this.rotation = source.rotation; - - this.sizeAttenuation = source.sizeAttenuation; - - return this; - - }; - - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - */ - - var geometry; - - function Sprite( material ) { - - Object3D.call( this ); - - this.type = 'Sprite'; - - if ( geometry === undefined ) { - - geometry = new BufferGeometry(); - - var float32Array = new Float32Array( [ - - 0.5, - 0.5, 0, 0, 0, - 0.5, - 0.5, 0, 1, 0, - 0.5, 0.5, 0, 1, 1, - - 0.5, 0.5, 0, 0, 1 - ] ); - - var interleavedBuffer = new InterleavedBuffer( float32Array, 5 ); - - geometry.setIndex( [ 0, 1, 2, 0, 2, 3 ] ); - geometry.addAttribute( 'position', new InterleavedBufferAttribute( interleavedBuffer, 3, 0, false ) ); - geometry.addAttribute( 'uv', new InterleavedBufferAttribute( interleavedBuffer, 2, 3, false ) ); - - } - - this.geometry = geometry; - this.material = ( material !== undefined ) ? material : new SpriteMaterial(); - - this.center = new Vector2( 0.5, 0.5 ); - - } - - Sprite.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Sprite, - - isSprite: true, - - raycast: ( function () { - - var intersectPoint = new Vector3(); - var worldScale = new Vector3(); - var mvPosition = new Vector3(); - - var alignedPosition = new Vector2(); - var rotatedPosition = new Vector2(); - var viewWorldMatrix = new Matrix4(); - - var vA = new Vector3(); - var vB = new Vector3(); - var vC = new Vector3(); - - var uvA = new Vector2(); - var uvB = new Vector2(); - var uvC = new Vector2(); - - function transformVertex( vertexPosition, mvPosition, center, scale, sin, cos ) { - - // compute position in camera space - alignedPosition.subVectors( vertexPosition, center ).addScalar( 0.5 ).multiply( scale ); - - // to check if rotation is not zero - if ( sin !== undefined ) { - - rotatedPosition.x = ( cos * alignedPosition.x ) - ( sin * alignedPosition.y ); - rotatedPosition.y = ( sin * alignedPosition.x ) + ( cos * alignedPosition.y ); - - } else { - - rotatedPosition.copy( alignedPosition ); - - } - - - vertexPosition.copy( mvPosition ); - vertexPosition.x += rotatedPosition.x; - vertexPosition.y += rotatedPosition.y; - - // transform to world space - vertexPosition.applyMatrix4( viewWorldMatrix ); - - } - - return function raycast( raycaster, intersects ) { - - worldScale.setFromMatrixScale( this.matrixWorld ); - viewWorldMatrix.getInverse( this.modelViewMatrix ).premultiply( this.matrixWorld ); - mvPosition.setFromMatrixPosition( this.modelViewMatrix ); - - var rotation = this.material.rotation; - var sin, cos; - if ( rotation !== 0 ) { - - cos = Math.cos( rotation ); - sin = Math.sin( rotation ); - - } - - var center = this.center; - - transformVertex( vA.set( - 0.5, - 0.5, 0 ), mvPosition, center, worldScale, sin, cos ); - transformVertex( vB.set( 0.5, - 0.5, 0 ), mvPosition, center, worldScale, sin, cos ); - transformVertex( vC.set( 0.5, 0.5, 0 ), mvPosition, center, worldScale, sin, cos ); - - uvA.set( 0, 0 ); - uvB.set( 1, 0 ); - uvC.set( 1, 1 ); - - // check first triangle - var intersect = raycaster.ray.intersectTriangle( vA, vB, vC, false, intersectPoint ); - - if ( intersect === null ) { - - // check second triangle - transformVertex( vB.set( - 0.5, 0.5, 0 ), mvPosition, center, worldScale, sin, cos ); - uvB.set( 0, 1 ); - - intersect = raycaster.ray.intersectTriangle( vA, vC, vB, false, intersectPoint ); - if ( intersect === null ) { - - return; - - } - - } - - var distance = raycaster.ray.origin.distanceTo( intersectPoint ); - - if ( distance < raycaster.near || distance > raycaster.far ) return; - - intersects.push( { - - distance: distance, - point: intersectPoint.clone(), - uv: Triangle.getUV( intersectPoint, vA, vB, vC, uvA, uvB, uvC, new Vector2() ), - face: null, - object: this - - } ); - - }; - - }() ), - - clone: function () { - - return new this.constructor( this.material ).copy( this ); - - }, - - copy: function ( source ) { - - Object3D.prototype.copy.call( this, source ); - - if ( source.center !== undefined ) this.center.copy( source.center ); - - return this; - - } - - - } ); - - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - */ - - function LOD() { - - Object3D.call( this ); - - this.type = 'LOD'; - - Object.defineProperties( this, { - levels: { - enumerable: true, - value: [] - } - } ); - - } - - LOD.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: LOD, - - copy: function ( source ) { - - Object3D.prototype.copy.call( this, source, false ); - - var levels = source.levels; - - for ( var i = 0, l = levels.length; i < l; i ++ ) { - - var level = levels[ i ]; - - this.addLevel( level.object.clone(), level.distance ); - - } - - return this; - - }, - - addLevel: function ( object, distance ) { - - if ( distance === undefined ) distance = 0; - - distance = Math.abs( distance ); - - var levels = this.levels; - - for ( var l = 0; l < levels.length; l ++ ) { - - if ( distance < levels[ l ].distance ) { - - break; - - } - - } - - levels.splice( l, 0, { distance: distance, object: object } ); - - this.add( object ); - - }, - - getObjectForDistance: function ( distance ) { - - var levels = this.levels; - - for ( var i = 1, l = levels.length; i < l; i ++ ) { - - if ( distance < levels[ i ].distance ) { - - break; - - } - - } - - return levels[ i - 1 ].object; - - }, - - raycast: ( function () { - - var matrixPosition = new Vector3(); - - return function raycast( raycaster, intersects ) { - - matrixPosition.setFromMatrixPosition( this.matrixWorld ); - - var distance = raycaster.ray.origin.distanceTo( matrixPosition ); - - this.getObjectForDistance( distance ).raycast( raycaster, intersects ); - - }; - - }() ), - - update: function () { - - var v1 = new Vector3(); - var v2 = new Vector3(); - - return function update( camera ) { - - var levels = this.levels; - - if ( levels.length > 1 ) { - - v1.setFromMatrixPosition( camera.matrixWorld ); - v2.setFromMatrixPosition( this.matrixWorld ); - - var distance = v1.distanceTo( v2 ); - - levels[ 0 ].object.visible = true; - - for ( var i = 1, l = levels.length; i < l; i ++ ) { - - if ( distance >= levels[ i ].distance ) { - - levels[ i - 1 ].object.visible = false; - levels[ i ].object.visible = true; - - } else { - - break; - - } - - } - - for ( ; i < l; i ++ ) { - - levels[ i ].object.visible = false; - - } - - } - - }; - - }(), - - toJSON: function ( meta ) { - - var data = Object3D.prototype.toJSON.call( this, meta ); - - data.object.levels = []; - - var levels = this.levels; - - for ( var i = 0, l = levels.length; i < l; i ++ ) { - - var level = levels[ i ]; - - data.object.levels.push( { - object: level.object.uuid, - distance: level.distance - } ); - - } - - return data; - - } - - } ); - - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author ikerr / http://verold.com - */ - - function SkinnedMesh( geometry, material ) { - - if ( geometry && geometry.isGeometry ) { - - console.error( 'THREE.SkinnedMesh no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.' ); - - } - - Mesh.call( this, geometry, material ); - - this.type = 'SkinnedMesh'; - - this.bindMode = 'attached'; - this.bindMatrix = new Matrix4(); - this.bindMatrixInverse = new Matrix4(); - - } - - SkinnedMesh.prototype = Object.assign( Object.create( Mesh.prototype ), { - - constructor: SkinnedMesh, - - isSkinnedMesh: true, - - bind: function ( skeleton, bindMatrix ) { - - this.skeleton = skeleton; - - if ( bindMatrix === undefined ) { - - this.updateMatrixWorld( true ); - - this.skeleton.calculateInverses(); - - bindMatrix = this.matrixWorld; - - } - - this.bindMatrix.copy( bindMatrix ); - this.bindMatrixInverse.getInverse( bindMatrix ); - - }, - - pose: function () { - - this.skeleton.pose(); - - }, - - normalizeSkinWeights: function () { - - var vector = new Vector4(); - - var skinWeight = this.geometry.attributes.skinWeight; - - for ( var i = 0, l = skinWeight.count; i < l; i ++ ) { - - vector.x = skinWeight.getX( i ); - vector.y = skinWeight.getY( i ); - vector.z = skinWeight.getZ( i ); - vector.w = skinWeight.getW( i ); - - var scale = 1.0 / vector.manhattanLength(); - - if ( scale !== Infinity ) { - - vector.multiplyScalar( scale ); - - } else { - - vector.set( 1, 0, 0, 0 ); // do something reasonable - - } - - skinWeight.setXYZW( i, vector.x, vector.y, vector.z, vector.w ); - - } - - }, - - updateMatrixWorld: function ( force ) { - - Mesh.prototype.updateMatrixWorld.call( this, force ); - - if ( this.bindMode === 'attached' ) { - - this.bindMatrixInverse.getInverse( this.matrixWorld ); - - } else if ( this.bindMode === 'detached' ) { - - this.bindMatrixInverse.getInverse( this.bindMatrix ); - - } else { - - console.warn( 'THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode ); - - } - - }, - - clone: function () { - - return new this.constructor( this.geometry, this.material ).copy( this ); - - } - - } ); - - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author michael guerrero / http://realitymeltdown.com - * @author ikerr / http://verold.com - */ - - function Skeleton( bones, boneInverses ) { - - // copy the bone array - - bones = bones || []; - - this.bones = bones.slice( 0 ); - this.boneMatrices = new Float32Array( this.bones.length * 16 ); - - // use the supplied bone inverses or calculate the inverses - - if ( boneInverses === undefined ) { - - this.calculateInverses(); - - } else { - - if ( this.bones.length === boneInverses.length ) { - - this.boneInverses = boneInverses.slice( 0 ); - - } else { - - console.warn( 'THREE.Skeleton boneInverses is the wrong length.' ); - - this.boneInverses = []; - - for ( var i = 0, il = this.bones.length; i < il; i ++ ) { - - this.boneInverses.push( new Matrix4() ); - - } - - } - - } - - } - - Object.assign( Skeleton.prototype, { - - calculateInverses: function () { - - this.boneInverses = []; - - for ( var i = 0, il = this.bones.length; i < il; i ++ ) { - - var inverse = new Matrix4(); - - if ( this.bones[ i ] ) { - - inverse.getInverse( this.bones[ i ].matrixWorld ); - - } - - this.boneInverses.push( inverse ); - - } - - }, - - pose: function () { - - var bone, i, il; - - // recover the bind-time world matrices - - for ( i = 0, il = this.bones.length; i < il; i ++ ) { - - bone = this.bones[ i ]; - - if ( bone ) { - - bone.matrixWorld.getInverse( this.boneInverses[ i ] ); - - } - - } - - // compute the local matrices, positions, rotations and scales - - for ( i = 0, il = this.bones.length; i < il; i ++ ) { - - bone = this.bones[ i ]; - - if ( bone ) { - - if ( bone.parent && bone.parent.isBone ) { - - bone.matrix.getInverse( bone.parent.matrixWorld ); - bone.matrix.multiply( bone.matrixWorld ); - - } else { - - bone.matrix.copy( bone.matrixWorld ); - - } - - bone.matrix.decompose( bone.position, bone.quaternion, bone.scale ); - - } - - } - - }, - - update: ( function () { - - var offsetMatrix = new Matrix4(); - var identityMatrix = new Matrix4(); - - return function update() { - - var bones = this.bones; - var boneInverses = this.boneInverses; - var boneMatrices = this.boneMatrices; - var boneTexture = this.boneTexture; - - // flatten bone matrices to array - - for ( var i = 0, il = bones.length; i < il; i ++ ) { - - // compute the offset between the current and the original transform - - var matrix = bones[ i ] ? bones[ i ].matrixWorld : identityMatrix; - - offsetMatrix.multiplyMatrices( matrix, boneInverses[ i ] ); - offsetMatrix.toArray( boneMatrices, i * 16 ); - - } - - if ( boneTexture !== undefined ) { - - boneTexture.needsUpdate = true; - - } - - }; - - } )(), - - clone: function () { - - return new Skeleton( this.bones, this.boneInverses ); - - }, - - getBoneByName: function ( name ) { - - for ( var i = 0, il = this.bones.length; i < il; i ++ ) { - - var bone = this.bones[ i ]; - - if ( bone.name === name ) { - - return bone; - - } - - } - - return undefined; - - } - - } ); - - /** - * @author mikael emtinger / http://gomo.se/ - * @author alteredq / http://alteredqualia.com/ - * @author ikerr / http://verold.com - */ - - function Bone() { - - Object3D.call( this ); - - this.type = 'Bone'; - - } - - Bone.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Bone, - - isBone: true - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * opacity: , - * - * linewidth: , - * linecap: "round", - * linejoin: "round" - * } - */ - - function LineBasicMaterial( parameters ) { - - Material.call( this ); - - this.type = 'LineBasicMaterial'; - - this.color = new Color( 0xffffff ); - - this.linewidth = 1; - this.linecap = 'round'; - this.linejoin = 'round'; - - this.lights = false; - - this.setValues( parameters ); - - } - - LineBasicMaterial.prototype = Object.create( Material.prototype ); - LineBasicMaterial.prototype.constructor = LineBasicMaterial; - - LineBasicMaterial.prototype.isLineBasicMaterial = true; - - LineBasicMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - - this.linewidth = source.linewidth; - this.linecap = source.linecap; - this.linejoin = source.linejoin; - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function Line( geometry, material, mode ) { - - if ( mode === 1 ) { - - console.error( 'THREE.Line: parameter THREE.LinePieces no longer supported. Use THREE.LineSegments instead.' ); - - } - - Object3D.call( this ); - - this.type = 'Line'; - - this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); - this.material = material !== undefined ? material : new LineBasicMaterial( { color: Math.random() * 0xffffff } ); - - } - - Line.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Line, - - isLine: true, - - computeLineDistances: ( function () { - - var start = new Vector3(); - var end = new Vector3(); - - return function computeLineDistances() { - - var geometry = this.geometry; - - if ( geometry.isBufferGeometry ) { - - // we assume non-indexed geometry - - if ( geometry.index === null ) { - - var positionAttribute = geometry.attributes.position; - var lineDistances = [ 0 ]; - - for ( var i = 1, l = positionAttribute.count; i < l; i ++ ) { - - start.fromBufferAttribute( positionAttribute, i - 1 ); - end.fromBufferAttribute( positionAttribute, i ); - - lineDistances[ i ] = lineDistances[ i - 1 ]; - lineDistances[ i ] += start.distanceTo( end ); - - } - - geometry.addAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) ); - - } else { - - console.warn( 'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' ); - - } - - } else if ( geometry.isGeometry ) { - - var vertices = geometry.vertices; - var lineDistances = geometry.lineDistances; - - lineDistances[ 0 ] = 0; - - for ( var i = 1, l = vertices.length; i < l; i ++ ) { - - lineDistances[ i ] = lineDistances[ i - 1 ]; - lineDistances[ i ] += vertices[ i - 1 ].distanceTo( vertices[ i ] ); - - } - - } - - return this; - - }; - - }() ), - - raycast: ( function () { - - var inverseMatrix = new Matrix4(); - var ray = new Ray(); - var sphere = new Sphere(); - - return function raycast( raycaster, intersects ) { - - var precision = raycaster.linePrecision; - - var geometry = this.geometry; - var matrixWorld = this.matrixWorld; - - // Checking boundingSphere distance to ray - - if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); - - sphere.copy( geometry.boundingSphere ); - sphere.applyMatrix4( matrixWorld ); - sphere.radius += precision; - - if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; - - // - - inverseMatrix.getInverse( matrixWorld ); - ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); - - var localPrecision = precision / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); - var localPrecisionSq = localPrecision * localPrecision; - - var vStart = new Vector3(); - var vEnd = new Vector3(); - var interSegment = new Vector3(); - var interRay = new Vector3(); - var step = ( this && this.isLineSegments ) ? 2 : 1; - - if ( geometry.isBufferGeometry ) { - - var index = geometry.index; - var attributes = geometry.attributes; - var positions = attributes.position.array; - - if ( index !== null ) { - - var indices = index.array; - - for ( var i = 0, l = indices.length - 1; i < l; i += step ) { - - var a = indices[ i ]; - var b = indices[ i + 1 ]; - - vStart.fromArray( positions, a * 3 ); - vEnd.fromArray( positions, b * 3 ); - - var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); - - if ( distSq > localPrecisionSq ) continue; - - interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation - - var distance = raycaster.ray.origin.distanceTo( interRay ); - - if ( distance < raycaster.near || distance > raycaster.far ) continue; - - intersects.push( { - - distance: distance, - // What do we want? intersection point on the ray or on the segment?? - // point: raycaster.ray.at( distance ), - point: interSegment.clone().applyMatrix4( this.matrixWorld ), - index: i, - face: null, - faceIndex: null, - object: this - - } ); - - } - - } else { - - for ( var i = 0, l = positions.length / 3 - 1; i < l; i += step ) { - - vStart.fromArray( positions, 3 * i ); - vEnd.fromArray( positions, 3 * i + 3 ); - - var distSq = ray.distanceSqToSegment( vStart, vEnd, interRay, interSegment ); - - if ( distSq > localPrecisionSq ) continue; - - interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation - - var distance = raycaster.ray.origin.distanceTo( interRay ); - - if ( distance < raycaster.near || distance > raycaster.far ) continue; - - intersects.push( { - - distance: distance, - // What do we want? intersection point on the ray or on the segment?? - // point: raycaster.ray.at( distance ), - point: interSegment.clone().applyMatrix4( this.matrixWorld ), - index: i, - face: null, - faceIndex: null, - object: this - - } ); - - } - - } - - } else if ( geometry.isGeometry ) { - - var vertices = geometry.vertices; - var nbVertices = vertices.length; - - for ( var i = 0; i < nbVertices - 1; i += step ) { - - var distSq = ray.distanceSqToSegment( vertices[ i ], vertices[ i + 1 ], interRay, interSegment ); - - if ( distSq > localPrecisionSq ) continue; - - interRay.applyMatrix4( this.matrixWorld ); //Move back to world space for distance calculation - - var distance = raycaster.ray.origin.distanceTo( interRay ); - - if ( distance < raycaster.near || distance > raycaster.far ) continue; - - intersects.push( { - - distance: distance, - // What do we want? intersection point on the ray or on the segment?? - // point: raycaster.ray.at( distance ), - point: interSegment.clone().applyMatrix4( this.matrixWorld ), - index: i, - face: null, - faceIndex: null, - object: this - - } ); - - } - - } - - }; - - }() ), - - clone: function () { - - return new this.constructor( this.geometry, this.material ).copy( this ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function LineSegments( geometry, material ) { - - Line.call( this, geometry, material ); - - this.type = 'LineSegments'; - - } - - LineSegments.prototype = Object.assign( Object.create( Line.prototype ), { - - constructor: LineSegments, - - isLineSegments: true, - - computeLineDistances: ( function () { - - var start = new Vector3(); - var end = new Vector3(); - - return function computeLineDistances() { - - var geometry = this.geometry; - - if ( geometry.isBufferGeometry ) { - - // we assume non-indexed geometry - - if ( geometry.index === null ) { - - var positionAttribute = geometry.attributes.position; - var lineDistances = []; - - for ( var i = 0, l = positionAttribute.count; i < l; i += 2 ) { - - start.fromBufferAttribute( positionAttribute, i ); - end.fromBufferAttribute( positionAttribute, i + 1 ); - - lineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ]; - lineDistances[ i + 1 ] = lineDistances[ i ] + start.distanceTo( end ); - - } - - geometry.addAttribute( 'lineDistance', new Float32BufferAttribute( lineDistances, 1 ) ); - - } else { - - console.warn( 'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' ); - - } - - } else if ( geometry.isGeometry ) { - - var vertices = geometry.vertices; - var lineDistances = geometry.lineDistances; - - for ( var i = 0, l = vertices.length; i < l; i += 2 ) { - - start.copy( vertices[ i ] ); - end.copy( vertices[ i + 1 ] ); - - lineDistances[ i ] = ( i === 0 ) ? 0 : lineDistances[ i - 1 ]; - lineDistances[ i + 1 ] = lineDistances[ i ] + start.distanceTo( end ); - - } - - } - - return this; - - }; - - }() ) - - } ); - - /** - * @author mgreter / http://github.com/mgreter - */ - - function LineLoop( geometry, material ) { - - Line.call( this, geometry, material ); - - this.type = 'LineLoop'; - - } - - LineLoop.prototype = Object.assign( Object.create( Line.prototype ), { - - constructor: LineLoop, - - isLineLoop: true, - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * opacity: , - * map: new THREE.Texture( ), - * - * size: , - * sizeAttenuation: - * - * morphTargets: - * } - */ - - function PointsMaterial( parameters ) { - - Material.call( this ); - - this.type = 'PointsMaterial'; - - this.color = new Color( 0xffffff ); - - this.map = null; - - this.size = 1; - this.sizeAttenuation = true; - - this.morphTargets = false; - - this.lights = false; - - this.setValues( parameters ); - - } - - PointsMaterial.prototype = Object.create( Material.prototype ); - PointsMaterial.prototype.constructor = PointsMaterial; - - PointsMaterial.prototype.isPointsMaterial = true; - - PointsMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - - this.map = source.map; - - this.size = source.size; - this.sizeAttenuation = source.sizeAttenuation; - - this.morphTargets = source.morphTargets; - - return this; - - }; - - /** - * @author alteredq / http://alteredqualia.com/ - */ - - function Points( geometry, material ) { - - Object3D.call( this ); - - this.type = 'Points'; - - this.geometry = geometry !== undefined ? geometry : new BufferGeometry(); - this.material = material !== undefined ? material : new PointsMaterial( { color: Math.random() * 0xffffff } ); - - } - - Points.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Points, - - isPoints: true, - - raycast: ( function () { - - var inverseMatrix = new Matrix4(); - var ray = new Ray(); - var sphere = new Sphere(); - - return function raycast( raycaster, intersects ) { - - var object = this; - var geometry = this.geometry; - var matrixWorld = this.matrixWorld; - var threshold = raycaster.params.Points.threshold; - - // Checking boundingSphere distance to ray - - if ( geometry.boundingSphere === null ) geometry.computeBoundingSphere(); - - sphere.copy( geometry.boundingSphere ); - sphere.applyMatrix4( matrixWorld ); - sphere.radius += threshold; - - if ( raycaster.ray.intersectsSphere( sphere ) === false ) return; - - // - - inverseMatrix.getInverse( matrixWorld ); - ray.copy( raycaster.ray ).applyMatrix4( inverseMatrix ); - - var localThreshold = threshold / ( ( this.scale.x + this.scale.y + this.scale.z ) / 3 ); - var localThresholdSq = localThreshold * localThreshold; - var position = new Vector3(); - var intersectPoint = new Vector3(); - - function testPoint( point, index ) { - - var rayPointDistanceSq = ray.distanceSqToPoint( point ); - - if ( rayPointDistanceSq < localThresholdSq ) { - - ray.closestPointToPoint( point, intersectPoint ); - intersectPoint.applyMatrix4( matrixWorld ); - - var distance = raycaster.ray.origin.distanceTo( intersectPoint ); - - if ( distance < raycaster.near || distance > raycaster.far ) return; - - intersects.push( { - - distance: distance, - distanceToRay: Math.sqrt( rayPointDistanceSq ), - point: intersectPoint.clone(), - index: index, - face: null, - object: object - - } ); - - } - - } - - if ( geometry.isBufferGeometry ) { - - var index = geometry.index; - var attributes = geometry.attributes; - var positions = attributes.position.array; - - if ( index !== null ) { - - var indices = index.array; - - for ( var i = 0, il = indices.length; i < il; i ++ ) { - - var a = indices[ i ]; - - position.fromArray( positions, a * 3 ); - - testPoint( position, a ); - - } - - } else { - - for ( var i = 0, l = positions.length / 3; i < l; i ++ ) { - - position.fromArray( positions, i * 3 ); - - testPoint( position, i ); - - } - - } - - } else { - - var vertices = geometry.vertices; - - for ( var i = 0, l = vertices.length; i < l; i ++ ) { - - testPoint( vertices[ i ], i ); - - } - - } - - }; - - }() ), - - clone: function () { - - return new this.constructor( this.geometry, this.material ).copy( this ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function VideoTexture( video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { - - Texture.call( this, video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); - - this.format = format !== undefined ? format : RGBFormat; - - this.minFilter = minFilter !== undefined ? minFilter : LinearFilter; - this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; - - this.generateMipmaps = false; - - } - - VideoTexture.prototype = Object.assign( Object.create( Texture.prototype ), { - - constructor: VideoTexture, - - isVideoTexture: true, - - update: function () { - - var video = this.image; - - if ( video.readyState >= video.HAVE_CURRENT_DATA ) { - - this.needsUpdate = true; - - } - - } - - } ); - - /** - * @author alteredq / http://alteredqualia.com/ - */ - - function CompressedTexture( mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding ) { - - Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding ); - - this.image = { width: width, height: height }; - this.mipmaps = mipmaps; - - // no flipping for cube textures - // (also flipping doesn't work for compressed textures ) - - this.flipY = false; - - // can't generate mipmaps for compressed textures - // mips must be embedded in DDS files - - this.generateMipmaps = false; - - } - - CompressedTexture.prototype = Object.create( Texture.prototype ); - CompressedTexture.prototype.constructor = CompressedTexture; - - CompressedTexture.prototype.isCompressedTexture = true; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function CanvasTexture( canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ) { - - Texture.call( this, canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); - - this.needsUpdate = true; - - } - - CanvasTexture.prototype = Object.create( Texture.prototype ); - CanvasTexture.prototype.constructor = CanvasTexture; - CanvasTexture.prototype.isCanvasTexture = true; - - /** - * @author Matt DesLauriers / @mattdesl - * @author atix / arthursilber.de - */ - - function DepthTexture( width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format ) { - - format = format !== undefined ? format : DepthFormat; - - if ( format !== DepthFormat && format !== DepthStencilFormat ) { - - throw new Error( 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat' ); - - } - - if ( type === undefined && format === DepthFormat ) type = UnsignedShortType; - if ( type === undefined && format === DepthStencilFormat ) type = UnsignedInt248Type; - - Texture.call( this, null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ); - - this.image = { width: width, height: height }; - - this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; - this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; - - this.flipY = false; - this.generateMipmaps = false; - - } - - DepthTexture.prototype = Object.create( Texture.prototype ); - DepthTexture.prototype.constructor = DepthTexture; - DepthTexture.prototype.isDepthTexture = true; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ - - function WireframeGeometry( geometry ) { - - BufferGeometry.call( this ); - - this.type = 'WireframeGeometry'; - - // buffer - - var vertices = []; - - // helper variables - - var i, j, l, o, ol; - var edge = [ 0, 0 ], edges = {}, e, edge1, edge2; - var key, keys = [ 'a', 'b', 'c' ]; - var vertex; - - // different logic for Geometry and BufferGeometry - - if ( geometry && geometry.isGeometry ) { - - // create a data structure that contains all edges without duplicates - - var faces = geometry.faces; - - for ( i = 0, l = faces.length; i < l; i ++ ) { - - var face = faces[ i ]; - - for ( j = 0; j < 3; j ++ ) { - - edge1 = face[ keys[ j ] ]; - edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; - edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates - edge[ 1 ] = Math.max( edge1, edge2 ); - - key = edge[ 0 ] + ',' + edge[ 1 ]; - - if ( edges[ key ] === undefined ) { - - edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; - - } - - } - - } - - // generate vertices - - for ( key in edges ) { - - e = edges[ key ]; - - vertex = geometry.vertices[ e.index1 ]; - vertices.push( vertex.x, vertex.y, vertex.z ); - - vertex = geometry.vertices[ e.index2 ]; - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - } else if ( geometry && geometry.isBufferGeometry ) { - - var position, indices, groups; - var group, start, count; - var index1, index2; - - vertex = new Vector3(); - - if ( geometry.index !== null ) { - - // indexed BufferGeometry - - position = geometry.attributes.position; - indices = geometry.index; - groups = geometry.groups; - - if ( groups.length === 0 ) { - - groups = [ { start: 0, count: indices.count, materialIndex: 0 } ]; - - } - - // create a data structure that contains all eges without duplicates - - for ( o = 0, ol = groups.length; o < ol; ++ o ) { - - group = groups[ o ]; - - start = group.start; - count = group.count; - - for ( i = start, l = ( start + count ); i < l; i += 3 ) { - - for ( j = 0; j < 3; j ++ ) { - - edge1 = indices.getX( i + j ); - edge2 = indices.getX( i + ( j + 1 ) % 3 ); - edge[ 0 ] = Math.min( edge1, edge2 ); // sorting prevents duplicates - edge[ 1 ] = Math.max( edge1, edge2 ); - - key = edge[ 0 ] + ',' + edge[ 1 ]; - - if ( edges[ key ] === undefined ) { - - edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ] }; - - } - - } - - } - - } - - // generate vertices - - for ( key in edges ) { - - e = edges[ key ]; - - vertex.fromBufferAttribute( position, e.index1 ); - vertices.push( vertex.x, vertex.y, vertex.z ); - - vertex.fromBufferAttribute( position, e.index2 ); - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - } else { - - // non-indexed BufferGeometry - - position = geometry.attributes.position; - - for ( i = 0, l = ( position.count / 3 ); i < l; i ++ ) { - - for ( j = 0; j < 3; j ++ ) { - - // three edges per triangle, an edge is represented as (index1, index2) - // e.g. the first triangle has the following edges: (0,1),(1,2),(2,0) - - index1 = 3 * i + j; - vertex.fromBufferAttribute( position, index1 ); - vertices.push( vertex.x, vertex.y, vertex.z ); - - index2 = 3 * i + ( ( j + 1 ) % 3 ); - vertex.fromBufferAttribute( position, index2 ); - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - } - - } - - } - - // build geometry - - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - - } - - WireframeGeometry.prototype = Object.create( BufferGeometry.prototype ); - WireframeGeometry.prototype.constructor = WireframeGeometry; - - /** - * @author zz85 / https://github.com/zz85 - * @author Mugen87 / https://github.com/Mugen87 - * - * Parametric Surfaces Geometry - * based on the brilliant article by @prideout http://prideout.net/blog/?p=44 - */ - - // ParametricGeometry - - function ParametricGeometry( func, slices, stacks ) { - - Geometry.call( this ); - - this.type = 'ParametricGeometry'; - - this.parameters = { - func: func, - slices: slices, - stacks: stacks - }; - - this.fromBufferGeometry( new ParametricBufferGeometry( func, slices, stacks ) ); - this.mergeVertices(); - - } - - ParametricGeometry.prototype = Object.create( Geometry.prototype ); - ParametricGeometry.prototype.constructor = ParametricGeometry; - - // ParametricBufferGeometry - - function ParametricBufferGeometry( func, slices, stacks ) { - - BufferGeometry.call( this ); - - this.type = 'ParametricBufferGeometry'; - - this.parameters = { - func: func, - slices: slices, - stacks: stacks - }; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - var EPS = 0.00001; - - var normal = new Vector3(); - - var p0 = new Vector3(), p1 = new Vector3(); - var pu = new Vector3(), pv = new Vector3(); - - var i, j; - - if ( func.length < 3 ) { - - console.error( 'THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.' ); - - } - - // generate vertices, normals and uvs - - var sliceCount = slices + 1; - - for ( i = 0; i <= stacks; i ++ ) { - - var v = i / stacks; - - for ( j = 0; j <= slices; j ++ ) { - - var u = j / slices; - - // vertex - - func( u, v, p0 ); - vertices.push( p0.x, p0.y, p0.z ); - - // normal - - // approximate tangent vectors via finite differences - - if ( u - EPS >= 0 ) { - - func( u - EPS, v, p1 ); - pu.subVectors( p0, p1 ); - - } else { - - func( u + EPS, v, p1 ); - pu.subVectors( p1, p0 ); - - } - - if ( v - EPS >= 0 ) { - - func( u, v - EPS, p1 ); - pv.subVectors( p0, p1 ); - - } else { - - func( u, v + EPS, p1 ); - pv.subVectors( p1, p0 ); - - } - - // cross product of tangent vectors returns surface normal - - normal.crossVectors( pu, pv ).normalize(); - normals.push( normal.x, normal.y, normal.z ); - - // uv - - uvs.push( u, v ); - - } - - } - - // generate indices - - for ( i = 0; i < stacks; i ++ ) { - - for ( j = 0; j < slices; j ++ ) { - - var a = i * sliceCount + j; - var b = i * sliceCount + j + 1; - var c = ( i + 1 ) * sliceCount + j + 1; - var d = ( i + 1 ) * sliceCount + j; - - // faces one and two - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - ParametricBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - ParametricBufferGeometry.prototype.constructor = ParametricBufferGeometry; - - /** - * @author clockworkgeek / https://github.com/clockworkgeek - * @author timothypratley / https://github.com/timothypratley - * @author WestLangley / http://github.com/WestLangley - * @author Mugen87 / https://github.com/Mugen87 - */ - - // PolyhedronGeometry - - function PolyhedronGeometry( vertices, indices, radius, detail ) { - - Geometry.call( this ); - - this.type = 'PolyhedronGeometry'; - - this.parameters = { - vertices: vertices, - indices: indices, - radius: radius, - detail: detail - }; - - this.fromBufferGeometry( new PolyhedronBufferGeometry( vertices, indices, radius, detail ) ); - this.mergeVertices(); - - } - - PolyhedronGeometry.prototype = Object.create( Geometry.prototype ); - PolyhedronGeometry.prototype.constructor = PolyhedronGeometry; - - // PolyhedronBufferGeometry - - function PolyhedronBufferGeometry( vertices, indices, radius, detail ) { - - BufferGeometry.call( this ); - - this.type = 'PolyhedronBufferGeometry'; - - this.parameters = { - vertices: vertices, - indices: indices, - radius: radius, - detail: detail - }; - - radius = radius || 1; - detail = detail || 0; - - // default buffer data - - var vertexBuffer = []; - var uvBuffer = []; - - // the subdivision creates the vertex buffer data - - subdivide( detail ); - - // all vertices should lie on a conceptual sphere with a given radius - - appplyRadius( radius ); - - // finally, create the uv data - - generateUVs(); - - // build non-indexed geometry - - this.addAttribute( 'position', new Float32BufferAttribute( vertexBuffer, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( vertexBuffer.slice(), 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvBuffer, 2 ) ); - - if ( detail === 0 ) { - - this.computeVertexNormals(); // flat normals - - } else { - - this.normalizeNormals(); // smooth normals - - } - - // helper functions - - function subdivide( detail ) { - - var a = new Vector3(); - var b = new Vector3(); - var c = new Vector3(); - - // iterate over all faces and apply a subdivison with the given detail value - - for ( var i = 0; i < indices.length; i += 3 ) { - - // get the vertices of the face - - getVertexByIndex( indices[ i + 0 ], a ); - getVertexByIndex( indices[ i + 1 ], b ); - getVertexByIndex( indices[ i + 2 ], c ); - - // perform subdivision - - subdivideFace( a, b, c, detail ); - - } - - } - - function subdivideFace( a, b, c, detail ) { - - var cols = Math.pow( 2, detail ); - - // we use this multidimensional array as a data structure for creating the subdivision - - var v = []; - - var i, j; - - // construct all of the vertices for this subdivision - - for ( i = 0; i <= cols; i ++ ) { - - v[ i ] = []; - - var aj = a.clone().lerp( c, i / cols ); - var bj = b.clone().lerp( c, i / cols ); - - var rows = cols - i; - - for ( j = 0; j <= rows; j ++ ) { - - if ( j === 0 && i === cols ) { - - v[ i ][ j ] = aj; - - } else { - - v[ i ][ j ] = aj.clone().lerp( bj, j / rows ); - - } - - } - - } - - // construct all of the faces - - for ( i = 0; i < cols; i ++ ) { - - for ( j = 0; j < 2 * ( cols - i ) - 1; j ++ ) { - - var k = Math.floor( j / 2 ); - - if ( j % 2 === 0 ) { - - pushVertex( v[ i ][ k + 1 ] ); - pushVertex( v[ i + 1 ][ k ] ); - pushVertex( v[ i ][ k ] ); - - } else { - - pushVertex( v[ i ][ k + 1 ] ); - pushVertex( v[ i + 1 ][ k + 1 ] ); - pushVertex( v[ i + 1 ][ k ] ); - - } - - } - - } - - } - - function appplyRadius( radius ) { - - var vertex = new Vector3(); - - // iterate over the entire buffer and apply the radius to each vertex - - for ( var i = 0; i < vertexBuffer.length; i += 3 ) { - - vertex.x = vertexBuffer[ i + 0 ]; - vertex.y = vertexBuffer[ i + 1 ]; - vertex.z = vertexBuffer[ i + 2 ]; - - vertex.normalize().multiplyScalar( radius ); - - vertexBuffer[ i + 0 ] = vertex.x; - vertexBuffer[ i + 1 ] = vertex.y; - vertexBuffer[ i + 2 ] = vertex.z; - - } - - } - - function generateUVs() { - - var vertex = new Vector3(); - - for ( var i = 0; i < vertexBuffer.length; i += 3 ) { - - vertex.x = vertexBuffer[ i + 0 ]; - vertex.y = vertexBuffer[ i + 1 ]; - vertex.z = vertexBuffer[ i + 2 ]; - - var u = azimuth( vertex ) / 2 / Math.PI + 0.5; - var v = inclination( vertex ) / Math.PI + 0.5; - uvBuffer.push( u, 1 - v ); - - } - - correctUVs(); - - correctSeam(); - - } - - function correctSeam() { - - // handle case when face straddles the seam, see #3269 - - for ( var i = 0; i < uvBuffer.length; i += 6 ) { - - // uv data of a single face - - var x0 = uvBuffer[ i + 0 ]; - var x1 = uvBuffer[ i + 2 ]; - var x2 = uvBuffer[ i + 4 ]; - - var max = Math.max( x0, x1, x2 ); - var min = Math.min( x0, x1, x2 ); - - // 0.9 is somewhat arbitrary - - if ( max > 0.9 && min < 0.1 ) { - - if ( x0 < 0.2 ) uvBuffer[ i + 0 ] += 1; - if ( x1 < 0.2 ) uvBuffer[ i + 2 ] += 1; - if ( x2 < 0.2 ) uvBuffer[ i + 4 ] += 1; - - } - - } - - } - - function pushVertex( vertex ) { - - vertexBuffer.push( vertex.x, vertex.y, vertex.z ); - - } - - function getVertexByIndex( index, vertex ) { - - var stride = index * 3; - - vertex.x = vertices[ stride + 0 ]; - vertex.y = vertices[ stride + 1 ]; - vertex.z = vertices[ stride + 2 ]; - - } - - function correctUVs() { - - var a = new Vector3(); - var b = new Vector3(); - var c = new Vector3(); - - var centroid = new Vector3(); - - var uvA = new Vector2(); - var uvB = new Vector2(); - var uvC = new Vector2(); - - for ( var i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6 ) { - - a.set( vertexBuffer[ i + 0 ], vertexBuffer[ i + 1 ], vertexBuffer[ i + 2 ] ); - b.set( vertexBuffer[ i + 3 ], vertexBuffer[ i + 4 ], vertexBuffer[ i + 5 ] ); - c.set( vertexBuffer[ i + 6 ], vertexBuffer[ i + 7 ], vertexBuffer[ i + 8 ] ); - - uvA.set( uvBuffer[ j + 0 ], uvBuffer[ j + 1 ] ); - uvB.set( uvBuffer[ j + 2 ], uvBuffer[ j + 3 ] ); - uvC.set( uvBuffer[ j + 4 ], uvBuffer[ j + 5 ] ); - - centroid.copy( a ).add( b ).add( c ).divideScalar( 3 ); - - var azi = azimuth( centroid ); - - correctUV( uvA, j + 0, a, azi ); - correctUV( uvB, j + 2, b, azi ); - correctUV( uvC, j + 4, c, azi ); - - } - - } - - function correctUV( uv, stride, vector, azimuth ) { - - if ( ( azimuth < 0 ) && ( uv.x === 1 ) ) { - - uvBuffer[ stride ] = uv.x - 1; - - } - - if ( ( vector.x === 0 ) && ( vector.z === 0 ) ) { - - uvBuffer[ stride ] = azimuth / 2 / Math.PI + 0.5; - - } - - } - - // Angle around the Y axis, counter-clockwise when looking from above. - - function azimuth( vector ) { - - return Math.atan2( vector.z, - vector.x ); - - } - - - // Angle above the XZ plane. - - function inclination( vector ) { - - return Math.atan2( - vector.y, Math.sqrt( ( vector.x * vector.x ) + ( vector.z * vector.z ) ) ); - - } - - } - - PolyhedronBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - PolyhedronBufferGeometry.prototype.constructor = PolyhedronBufferGeometry; - - /** - * @author timothypratley / https://github.com/timothypratley - * @author Mugen87 / https://github.com/Mugen87 - */ - - // TetrahedronGeometry - - function TetrahedronGeometry( radius, detail ) { - - Geometry.call( this ); - - this.type = 'TetrahedronGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - this.fromBufferGeometry( new TetrahedronBufferGeometry( radius, detail ) ); - this.mergeVertices(); - - } - - TetrahedronGeometry.prototype = Object.create( Geometry.prototype ); - TetrahedronGeometry.prototype.constructor = TetrahedronGeometry; - - // TetrahedronBufferGeometry - - function TetrahedronBufferGeometry( radius, detail ) { - - var vertices = [ - 1, 1, 1, - 1, - 1, 1, - 1, 1, - 1, 1, - 1, - 1 - ]; - - var indices = [ - 2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1 - ]; - - PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); - - this.type = 'TetrahedronBufferGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - } - - TetrahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); - TetrahedronBufferGeometry.prototype.constructor = TetrahedronBufferGeometry; - - /** - * @author timothypratley / https://github.com/timothypratley - * @author Mugen87 / https://github.com/Mugen87 - */ - - // OctahedronGeometry - - function OctahedronGeometry( radius, detail ) { - - Geometry.call( this ); - - this.type = 'OctahedronGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - this.fromBufferGeometry( new OctahedronBufferGeometry( radius, detail ) ); - this.mergeVertices(); - - } - - OctahedronGeometry.prototype = Object.create( Geometry.prototype ); - OctahedronGeometry.prototype.constructor = OctahedronGeometry; - - // OctahedronBufferGeometry - - function OctahedronBufferGeometry( radius, detail ) { - - var vertices = [ - 1, 0, 0, - 1, 0, 0, 0, 1, 0, - 0, - 1, 0, 0, 0, 1, 0, 0, - 1 - ]; - - var indices = [ - 0, 2, 4, 0, 4, 3, 0, 3, 5, - 0, 5, 2, 1, 2, 5, 1, 5, 3, - 1, 3, 4, 1, 4, 2 - ]; - - PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); - - this.type = 'OctahedronBufferGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - } - - OctahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); - OctahedronBufferGeometry.prototype.constructor = OctahedronBufferGeometry; - - /** - * @author timothypratley / https://github.com/timothypratley - * @author Mugen87 / https://github.com/Mugen87 - */ - - // IcosahedronGeometry - - function IcosahedronGeometry( radius, detail ) { - - Geometry.call( this ); - - this.type = 'IcosahedronGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - this.fromBufferGeometry( new IcosahedronBufferGeometry( radius, detail ) ); - this.mergeVertices(); - - } - - IcosahedronGeometry.prototype = Object.create( Geometry.prototype ); - IcosahedronGeometry.prototype.constructor = IcosahedronGeometry; - - // IcosahedronBufferGeometry - - function IcosahedronBufferGeometry( radius, detail ) { - - var t = ( 1 + Math.sqrt( 5 ) ) / 2; - - var vertices = [ - - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, 0, - 0, - 1, t, 0, 1, t, 0, - 1, - t, 0, 1, - t, - t, 0, - 1, t, 0, 1, - t, 0, - 1, - t, 0, 1 - ]; - - var indices = [ - 0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, - 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, - 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, - 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1 - ]; - - PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); - - this.type = 'IcosahedronBufferGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - } - - IcosahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); - IcosahedronBufferGeometry.prototype.constructor = IcosahedronBufferGeometry; - - /** - * @author Abe Pazos / https://hamoid.com - * @author Mugen87 / https://github.com/Mugen87 - */ - - // DodecahedronGeometry - - function DodecahedronGeometry( radius, detail ) { - - Geometry.call( this ); - - this.type = 'DodecahedronGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - this.fromBufferGeometry( new DodecahedronBufferGeometry( radius, detail ) ); - this.mergeVertices(); - - } - - DodecahedronGeometry.prototype = Object.create( Geometry.prototype ); - DodecahedronGeometry.prototype.constructor = DodecahedronGeometry; - - // DodecahedronBufferGeometry - - function DodecahedronBufferGeometry( radius, detail ) { - - var t = ( 1 + Math.sqrt( 5 ) ) / 2; - var r = 1 / t; - - var vertices = [ - - // (±1, ±1, ±1) - - 1, - 1, - 1, - 1, - 1, 1, - - 1, 1, - 1, - 1, 1, 1, - 1, - 1, - 1, 1, - 1, 1, - 1, 1, - 1, 1, 1, 1, - - // (0, ±1/φ, ±φ) - 0, - r, - t, 0, - r, t, - 0, r, - t, 0, r, t, - - // (±1/φ, ±φ, 0) - - r, - t, 0, - r, t, 0, - r, - t, 0, r, t, 0, - - // (±φ, 0, ±1/φ) - - t, 0, - r, t, 0, - r, - - t, 0, r, t, 0, r - ]; - - var indices = [ - 3, 11, 7, 3, 7, 15, 3, 15, 13, - 7, 19, 17, 7, 17, 6, 7, 6, 15, - 17, 4, 8, 17, 8, 10, 17, 10, 6, - 8, 0, 16, 8, 16, 2, 8, 2, 10, - 0, 12, 1, 0, 1, 18, 0, 18, 16, - 6, 10, 2, 6, 2, 13, 6, 13, 15, - 2, 16, 18, 2, 18, 3, 2, 3, 13, - 18, 1, 9, 18, 9, 11, 18, 11, 3, - 4, 14, 12, 4, 12, 0, 4, 0, 8, - 11, 9, 5, 11, 5, 19, 11, 19, 7, - 19, 5, 14, 19, 14, 4, 19, 4, 17, - 1, 12, 14, 1, 14, 5, 1, 5, 9 - ]; - - PolyhedronBufferGeometry.call( this, vertices, indices, radius, detail ); - - this.type = 'DodecahedronBufferGeometry'; - - this.parameters = { - radius: radius, - detail: detail - }; - - } - - DodecahedronBufferGeometry.prototype = Object.create( PolyhedronBufferGeometry.prototype ); - DodecahedronBufferGeometry.prototype.constructor = DodecahedronBufferGeometry; - - /** - * @author oosmoxiecode / https://github.com/oosmoxiecode - * @author WestLangley / https://github.com/WestLangley - * @author zz85 / https://github.com/zz85 - * @author miningold / https://github.com/miningold - * @author jonobr1 / https://github.com/jonobr1 - * @author Mugen87 / https://github.com/Mugen87 - * - */ - - // TubeGeometry - - function TubeGeometry( path, tubularSegments, radius, radialSegments, closed, taper ) { - - Geometry.call( this ); - - this.type = 'TubeGeometry'; - - this.parameters = { - path: path, - tubularSegments: tubularSegments, - radius: radius, - radialSegments: radialSegments, - closed: closed - }; - - if ( taper !== undefined ) console.warn( 'THREE.TubeGeometry: taper has been removed.' ); - - var bufferGeometry = new TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ); - - // expose internals - - this.tangents = bufferGeometry.tangents; - this.normals = bufferGeometry.normals; - this.binormals = bufferGeometry.binormals; - - // create geometry - - this.fromBufferGeometry( bufferGeometry ); - this.mergeVertices(); - - } - - TubeGeometry.prototype = Object.create( Geometry.prototype ); - TubeGeometry.prototype.constructor = TubeGeometry; - - // TubeBufferGeometry - - function TubeBufferGeometry( path, tubularSegments, radius, radialSegments, closed ) { - - BufferGeometry.call( this ); - - this.type = 'TubeBufferGeometry'; - - this.parameters = { - path: path, - tubularSegments: tubularSegments, - radius: radius, - radialSegments: radialSegments, - closed: closed - }; - - tubularSegments = tubularSegments || 64; - radius = radius || 1; - radialSegments = radialSegments || 8; - closed = closed || false; - - var frames = path.computeFrenetFrames( tubularSegments, closed ); - - // expose internals - - this.tangents = frames.tangents; - this.normals = frames.normals; - this.binormals = frames.binormals; - - // helper variables - - var vertex = new Vector3(); - var normal = new Vector3(); - var uv = new Vector2(); - var P = new Vector3(); - - var i, j; - - // buffer - - var vertices = []; - var normals = []; - var uvs = []; - var indices = []; - - // create buffer data - - generateBufferData(); - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - // functions - - function generateBufferData() { - - for ( i = 0; i < tubularSegments; i ++ ) { - - generateSegment( i ); - - } - - // if the geometry is not closed, generate the last row of vertices and normals - // at the regular position on the given path - // - // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ) - - generateSegment( ( closed === false ) ? tubularSegments : 0 ); - - // uvs are generated in a separate function. - // this makes it easy compute correct values for closed geometries - - generateUVs(); - - // finally create faces - - generateIndices(); - - } - - function generateSegment( i ) { - - // we use getPointAt to sample evenly distributed points from the given path - - P = path.getPointAt( i / tubularSegments, P ); - - // retrieve corresponding normal and binormal - - var N = frames.normals[ i ]; - var B = frames.binormals[ i ]; - - // generate normals and vertices for the current segment - - for ( j = 0; j <= radialSegments; j ++ ) { - - var v = j / radialSegments * Math.PI * 2; - - var sin = Math.sin( v ); - var cos = - Math.cos( v ); - - // normal - - normal.x = ( cos * N.x + sin * B.x ); - normal.y = ( cos * N.y + sin * B.y ); - normal.z = ( cos * N.z + sin * B.z ); - normal.normalize(); - - normals.push( normal.x, normal.y, normal.z ); - - // vertex - - vertex.x = P.x + radius * normal.x; - vertex.y = P.y + radius * normal.y; - vertex.z = P.z + radius * normal.z; - - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - } - - function generateIndices() { - - for ( j = 1; j <= tubularSegments; j ++ ) { - - for ( i = 1; i <= radialSegments; i ++ ) { - - var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); - var b = ( radialSegments + 1 ) * j + ( i - 1 ); - var c = ( radialSegments + 1 ) * j + i; - var d = ( radialSegments + 1 ) * ( j - 1 ) + i; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - } - - function generateUVs() { - - for ( i = 0; i <= tubularSegments; i ++ ) { - - for ( j = 0; j <= radialSegments; j ++ ) { - - uv.x = i / tubularSegments; - uv.y = j / radialSegments; - - uvs.push( uv.x, uv.y ); - - } - - } - - } - - } - - TubeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - TubeBufferGeometry.prototype.constructor = TubeBufferGeometry; - - TubeBufferGeometry.prototype.toJSON = function () { - - var data = BufferGeometry.prototype.toJSON.call( this ); - - data.path = this.parameters.path.toJSON(); - - return data; - - }; - - /** - * @author oosmoxiecode - * @author Mugen87 / https://github.com/Mugen87 - * - * based on http://www.blackpawn.com/texts/pqtorus/ - */ - - // TorusKnotGeometry - - function TorusKnotGeometry( radius, tube, tubularSegments, radialSegments, p, q, heightScale ) { - - Geometry.call( this ); - - this.type = 'TorusKnotGeometry'; - - this.parameters = { - radius: radius, - tube: tube, - tubularSegments: tubularSegments, - radialSegments: radialSegments, - p: p, - q: q - }; - - if ( heightScale !== undefined ) console.warn( 'THREE.TorusKnotGeometry: heightScale has been deprecated. Use .scale( x, y, z ) instead.' ); - - this.fromBufferGeometry( new TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) ); - this.mergeVertices(); - - } - - TorusKnotGeometry.prototype = Object.create( Geometry.prototype ); - TorusKnotGeometry.prototype.constructor = TorusKnotGeometry; - - // TorusKnotBufferGeometry - - function TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) { - - BufferGeometry.call( this ); - - this.type = 'TorusKnotBufferGeometry'; - - this.parameters = { - radius: radius, - tube: tube, - tubularSegments: tubularSegments, - radialSegments: radialSegments, - p: p, - q: q - }; - - radius = radius || 1; - tube = tube || 0.4; - tubularSegments = Math.floor( tubularSegments ) || 64; - radialSegments = Math.floor( radialSegments ) || 8; - p = p || 2; - q = q || 3; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var i, j; - - var vertex = new Vector3(); - var normal = new Vector3(); - - var P1 = new Vector3(); - var P2 = new Vector3(); - - var B = new Vector3(); - var T = new Vector3(); - var N = new Vector3(); - - // generate vertices, normals and uvs - - for ( i = 0; i <= tubularSegments; ++ i ) { - - // the radian "u" is used to calculate the position on the torus curve of the current tubular segement - - var u = i / tubularSegments * p * Math.PI * 2; - - // now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead. - // these points are used to create a special "coordinate space", which is necessary to calculate the correct vertex positions - - calculatePositionOnCurve( u, p, q, radius, P1 ); - calculatePositionOnCurve( u + 0.01, p, q, radius, P2 ); - - // calculate orthonormal basis - - T.subVectors( P2, P1 ); - N.addVectors( P2, P1 ); - B.crossVectors( T, N ); - N.crossVectors( B, T ); - - // normalize B, N. T can be ignored, we don't use it - - B.normalize(); - N.normalize(); - - for ( j = 0; j <= radialSegments; ++ j ) { - - // now calculate the vertices. they are nothing more than an extrusion of the torus curve. - // because we extrude a shape in the xy-plane, there is no need to calculate a z-value. - - var v = j / radialSegments * Math.PI * 2; - var cx = - tube * Math.cos( v ); - var cy = tube * Math.sin( v ); - - // now calculate the final vertex position. - // first we orient the extrusion with our basis vectos, then we add it to the current position on the curve - - vertex.x = P1.x + ( cx * N.x + cy * B.x ); - vertex.y = P1.y + ( cx * N.y + cy * B.y ); - vertex.z = P1.z + ( cx * N.z + cy * B.z ); - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal) - - normal.subVectors( vertex, P1 ).normalize(); - - normals.push( normal.x, normal.y, normal.z ); - - // uv - - uvs.push( i / tubularSegments ); - uvs.push( j / radialSegments ); - - } - - } - - // generate indices - - for ( j = 1; j <= tubularSegments; j ++ ) { - - for ( i = 1; i <= radialSegments; i ++ ) { - - // indices - - var a = ( radialSegments + 1 ) * ( j - 1 ) + ( i - 1 ); - var b = ( radialSegments + 1 ) * j + ( i - 1 ); - var c = ( radialSegments + 1 ) * j + i; - var d = ( radialSegments + 1 ) * ( j - 1 ) + i; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - // this function calculates the current position on the torus curve - - function calculatePositionOnCurve( u, p, q, radius, position ) { - - var cu = Math.cos( u ); - var su = Math.sin( u ); - var quOverP = q / p * u; - var cs = Math.cos( quOverP ); - - position.x = radius * ( 2 + cs ) * 0.5 * cu; - position.y = radius * ( 2 + cs ) * su * 0.5; - position.z = radius * Math.sin( quOverP ) * 0.5; - - } - - } - - TorusKnotBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - TorusKnotBufferGeometry.prototype.constructor = TorusKnotBufferGeometry; - - /** - * @author oosmoxiecode - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ - - // TorusGeometry - - function TorusGeometry( radius, tube, radialSegments, tubularSegments, arc ) { - - Geometry.call( this ); - - this.type = 'TorusGeometry'; - - this.parameters = { - radius: radius, - tube: tube, - radialSegments: radialSegments, - tubularSegments: tubularSegments, - arc: arc - }; - - this.fromBufferGeometry( new TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) ); - this.mergeVertices(); - - } - - TorusGeometry.prototype = Object.create( Geometry.prototype ); - TorusGeometry.prototype.constructor = TorusGeometry; - - // TorusBufferGeometry - - function TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) { - - BufferGeometry.call( this ); - - this.type = 'TorusBufferGeometry'; - - this.parameters = { - radius: radius, - tube: tube, - radialSegments: radialSegments, - tubularSegments: tubularSegments, - arc: arc - }; - - radius = radius || 1; - tube = tube || 0.4; - radialSegments = Math.floor( radialSegments ) || 8; - tubularSegments = Math.floor( tubularSegments ) || 6; - arc = arc || Math.PI * 2; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var center = new Vector3(); - var vertex = new Vector3(); - var normal = new Vector3(); - - var j, i; - - // generate vertices, normals and uvs - - for ( j = 0; j <= radialSegments; j ++ ) { - - for ( i = 0; i <= tubularSegments; i ++ ) { - - var u = i / tubularSegments * arc; - var v = j / radialSegments * Math.PI * 2; - - // vertex - - vertex.x = ( radius + tube * Math.cos( v ) ) * Math.cos( u ); - vertex.y = ( radius + tube * Math.cos( v ) ) * Math.sin( u ); - vertex.z = tube * Math.sin( v ); - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - center.x = radius * Math.cos( u ); - center.y = radius * Math.sin( u ); - normal.subVectors( vertex, center ).normalize(); - - normals.push( normal.x, normal.y, normal.z ); - - // uv - - uvs.push( i / tubularSegments ); - uvs.push( j / radialSegments ); - - } - - } - - // generate indices - - for ( j = 1; j <= radialSegments; j ++ ) { - - for ( i = 1; i <= tubularSegments; i ++ ) { - - // indices - - var a = ( tubularSegments + 1 ) * j + i - 1; - var b = ( tubularSegments + 1 ) * ( j - 1 ) + i - 1; - var c = ( tubularSegments + 1 ) * ( j - 1 ) + i; - var d = ( tubularSegments + 1 ) * j + i; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - TorusBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - TorusBufferGeometry.prototype.constructor = TorusBufferGeometry; - - /** - * @author Mugen87 / https://github.com/Mugen87 - * Port from https://github.com/mapbox/earcut (v2.1.2) - */ - - var Earcut = { - - triangulate: function ( data, holeIndices, dim ) { - - dim = dim || 2; - - var hasHoles = holeIndices && holeIndices.length, - outerLen = hasHoles ? holeIndices[ 0 ] * dim : data.length, - outerNode = linkedList( data, 0, outerLen, dim, true ), - triangles = []; - - if ( ! outerNode ) return triangles; - - var minX, minY, maxX, maxY, x, y, invSize; - - if ( hasHoles ) outerNode = eliminateHoles( data, holeIndices, outerNode, dim ); - - // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox - - if ( data.length > 80 * dim ) { - - minX = maxX = data[ 0 ]; - minY = maxY = data[ 1 ]; - - for ( var i = dim; i < outerLen; i += dim ) { - - x = data[ i ]; - y = data[ i + 1 ]; - if ( x < minX ) minX = x; - if ( y < minY ) minY = y; - if ( x > maxX ) maxX = x; - if ( y > maxY ) maxY = y; - - } - - // minX, minY and invSize are later used to transform coords into integers for z-order calculation - - invSize = Math.max( maxX - minX, maxY - minY ); - invSize = invSize !== 0 ? 1 / invSize : 0; - - } - - earcutLinked( outerNode, triangles, dim, minX, minY, invSize ); - - return triangles; - - } - - }; - - // create a circular doubly linked list from polygon points in the specified winding order - - function linkedList( data, start, end, dim, clockwise ) { - - var i, last; - - if ( clockwise === ( signedArea( data, start, end, dim ) > 0 ) ) { - - for ( i = start; i < end; i += dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last ); - - } else { - - for ( i = end - dim; i >= start; i -= dim ) last = insertNode( i, data[ i ], data[ i + 1 ], last ); - - } - - if ( last && equals( last, last.next ) ) { - - removeNode( last ); - last = last.next; - - } - - return last; - - } - - // eliminate colinear or duplicate points - - function filterPoints( start, end ) { - - if ( ! start ) return start; - if ( ! end ) end = start; - - var p = start, again; - - do { - - again = false; - - if ( ! p.steiner && ( equals( p, p.next ) || area( p.prev, p, p.next ) === 0 ) ) { - - removeNode( p ); - p = end = p.prev; - if ( p === p.next ) break; - again = true; - - } else { - - p = p.next; - - } - - } while ( again || p !== end ); - - return end; - - } - - // main ear slicing loop which triangulates a polygon (given as a linked list) - - function earcutLinked( ear, triangles, dim, minX, minY, invSize, pass ) { - - if ( ! ear ) return; - - // interlink polygon nodes in z-order - - if ( ! pass && invSize ) indexCurve( ear, minX, minY, invSize ); - - var stop = ear, prev, next; - - // iterate through ears, slicing them one by one - - while ( ear.prev !== ear.next ) { - - prev = ear.prev; - next = ear.next; - - if ( invSize ? isEarHashed( ear, minX, minY, invSize ) : isEar( ear ) ) { - - // cut off the triangle - triangles.push( prev.i / dim ); - triangles.push( ear.i / dim ); - triangles.push( next.i / dim ); - - removeNode( ear ); - - // skipping the next vertice leads to less sliver triangles - ear = next.next; - stop = next.next; - - continue; - - } - - ear = next; - - // if we looped through the whole remaining polygon and can't find any more ears - - if ( ear === stop ) { - - // try filtering points and slicing again - - if ( ! pass ) { - - earcutLinked( filterPoints( ear ), triangles, dim, minX, minY, invSize, 1 ); - - // if this didn't work, try curing all small self-intersections locally - - } else if ( pass === 1 ) { - - ear = cureLocalIntersections( ear, triangles, dim ); - earcutLinked( ear, triangles, dim, minX, minY, invSize, 2 ); - - // as a last resort, try splitting the remaining polygon into two - - } else if ( pass === 2 ) { - - splitEarcut( ear, triangles, dim, minX, minY, invSize ); - - } - - break; - - } - - } - - } - - // check whether a polygon node forms a valid ear with adjacent nodes - - function isEar( ear ) { - - var a = ear.prev, - b = ear, - c = ear.next; - - if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear - - // now make sure we don't have other points inside the potential ear - var p = ear.next.next; - - while ( p !== ear.prev ) { - - if ( pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && area( p.prev, p, p.next ) >= 0 ) { - - return false; - - } - - p = p.next; - - } - - return true; - - } - - function isEarHashed( ear, minX, minY, invSize ) { - - var a = ear.prev, - b = ear, - c = ear.next; - - if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear - - // triangle bbox; min & max are calculated like this for speed - - var minTX = a.x < b.x ? ( a.x < c.x ? a.x : c.x ) : ( b.x < c.x ? b.x : c.x ), - minTY = a.y < b.y ? ( a.y < c.y ? a.y : c.y ) : ( b.y < c.y ? b.y : c.y ), - maxTX = a.x > b.x ? ( a.x > c.x ? a.x : c.x ) : ( b.x > c.x ? b.x : c.x ), - maxTY = a.y > b.y ? ( a.y > c.y ? a.y : c.y ) : ( b.y > c.y ? b.y : c.y ); - - // z-order range for the current triangle bbox; - - var minZ = zOrder( minTX, minTY, minX, minY, invSize ), - maxZ = zOrder( maxTX, maxTY, minX, minY, invSize ); - - // first look for points inside the triangle in increasing z-order - - var p = ear.nextZ; - - while ( p && p.z <= maxZ ) { - - if ( p !== ear.prev && p !== ear.next && - pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && - area( p.prev, p, p.next ) >= 0 ) return false; - p = p.nextZ; - - } - - // then look for points in decreasing z-order - - p = ear.prevZ; - - while ( p && p.z >= minZ ) { - - if ( p !== ear.prev && p !== ear.next && - pointInTriangle( a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y ) && - area( p.prev, p, p.next ) >= 0 ) return false; - - p = p.prevZ; - - } - - return true; - - } - - // go through all polygon nodes and cure small local self-intersections - - function cureLocalIntersections( start, triangles, dim ) { - - var p = start; - - do { - - var a = p.prev, b = p.next.next; - - if ( ! equals( a, b ) && intersects( a, p, p.next, b ) && locallyInside( a, b ) && locallyInside( b, a ) ) { - - triangles.push( a.i / dim ); - triangles.push( p.i / dim ); - triangles.push( b.i / dim ); - - // remove two nodes involved - - removeNode( p ); - removeNode( p.next ); - - p = start = b; - - } - - p = p.next; - - } while ( p !== start ); - - return p; - - } - - // try splitting polygon into two and triangulate them independently - - function splitEarcut( start, triangles, dim, minX, minY, invSize ) { - - // look for a valid diagonal that divides the polygon into two - - var a = start; - - do { - - var b = a.next.next; - - while ( b !== a.prev ) { - - if ( a.i !== b.i && isValidDiagonal( a, b ) ) { - - // split the polygon in two by the diagonal - - var c = splitPolygon( a, b ); - - // filter colinear points around the cuts - - a = filterPoints( a, a.next ); - c = filterPoints( c, c.next ); - - // run earcut on each half - - earcutLinked( a, triangles, dim, minX, minY, invSize ); - earcutLinked( c, triangles, dim, minX, minY, invSize ); - return; - - } - - b = b.next; - - } - - a = a.next; - - } while ( a !== start ); - - } - - // link every hole into the outer loop, producing a single-ring polygon without holes - - function eliminateHoles( data, holeIndices, outerNode, dim ) { - - var queue = [], i, len, start, end, list; - - for ( i = 0, len = holeIndices.length; i < len; i ++ ) { - - start = holeIndices[ i ] * dim; - end = i < len - 1 ? holeIndices[ i + 1 ] * dim : data.length; - list = linkedList( data, start, end, dim, false ); - if ( list === list.next ) list.steiner = true; - queue.push( getLeftmost( list ) ); - - } - - queue.sort( compareX ); - - // process holes from left to right - - for ( i = 0; i < queue.length; i ++ ) { - - eliminateHole( queue[ i ], outerNode ); - outerNode = filterPoints( outerNode, outerNode.next ); - - } - - return outerNode; - - } - - function compareX( a, b ) { - - return a.x - b.x; - - } - - // find a bridge between vertices that connects hole with an outer ring and and link it - - function eliminateHole( hole, outerNode ) { - - outerNode = findHoleBridge( hole, outerNode ); - - if ( outerNode ) { - - var b = splitPolygon( outerNode, hole ); - - filterPoints( b, b.next ); - - } - - } - - // David Eberly's algorithm for finding a bridge between hole and outer polygon - - function findHoleBridge( hole, outerNode ) { - - var p = outerNode, - hx = hole.x, - hy = hole.y, - qx = - Infinity, - m; - - // find a segment intersected by a ray from the hole's leftmost point to the left; - // segment's endpoint with lesser x will be potential connection point - - do { - - if ( hy <= p.y && hy >= p.next.y && p.next.y !== p.y ) { - - var x = p.x + ( hy - p.y ) * ( p.next.x - p.x ) / ( p.next.y - p.y ); - - if ( x <= hx && x > qx ) { - - qx = x; - - if ( x === hx ) { - - if ( hy === p.y ) return p; - if ( hy === p.next.y ) return p.next; - - } - - m = p.x < p.next.x ? p : p.next; - - } - - } - - p = p.next; - - } while ( p !== outerNode ); - - if ( ! m ) return null; - - if ( hx === qx ) return m.prev; // hole touches outer segment; pick lower endpoint - - // look for points inside the triangle of hole point, segment intersection and endpoint; - // if there are no points found, we have a valid connection; - // otherwise choose the point of the minimum angle with the ray as connection point - - var stop = m, - mx = m.x, - my = m.y, - tanMin = Infinity, - tan; - - p = m.next; - - while ( p !== stop ) { - - if ( hx >= p.x && p.x >= mx && hx !== p.x && - pointInTriangle( hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y ) ) { - - tan = Math.abs( hy - p.y ) / ( hx - p.x ); // tangential - - if ( ( tan < tanMin || ( tan === tanMin && p.x > m.x ) ) && locallyInside( p, hole ) ) { - - m = p; - tanMin = tan; - - } - - } - - p = p.next; - - } - - return m; - - } - - // interlink polygon nodes in z-order - - function indexCurve( start, minX, minY, invSize ) { - - var p = start; - - do { - - if ( p.z === null ) p.z = zOrder( p.x, p.y, minX, minY, invSize ); - p.prevZ = p.prev; - p.nextZ = p.next; - p = p.next; - - } while ( p !== start ); - - p.prevZ.nextZ = null; - p.prevZ = null; - - sortLinked( p ); - - } - - // Simon Tatham's linked list merge sort algorithm - // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html - - function sortLinked( list ) { - - var i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1; - - do { - - p = list; - list = null; - tail = null; - numMerges = 0; - - while ( p ) { - - numMerges ++; - q = p; - pSize = 0; - - for ( i = 0; i < inSize; i ++ ) { - - pSize ++; - q = q.nextZ; - if ( ! q ) break; - - } - - qSize = inSize; - - while ( pSize > 0 || ( qSize > 0 && q ) ) { - - if ( pSize !== 0 && ( qSize === 0 || ! q || p.z <= q.z ) ) { - - e = p; - p = p.nextZ; - pSize --; - - } else { - - e = q; - q = q.nextZ; - qSize --; - - } - - if ( tail ) tail.nextZ = e; - else list = e; - - e.prevZ = tail; - tail = e; - - } - - p = q; - - } - - tail.nextZ = null; - inSize *= 2; - - } while ( numMerges > 1 ); - - return list; - - } - - // z-order of a point given coords and inverse of the longer side of data bbox - - function zOrder( x, y, minX, minY, invSize ) { - - // coords are transformed into non-negative 15-bit integer range - - x = 32767 * ( x - minX ) * invSize; - y = 32767 * ( y - minY ) * invSize; - - x = ( x | ( x << 8 ) ) & 0x00FF00FF; - x = ( x | ( x << 4 ) ) & 0x0F0F0F0F; - x = ( x | ( x << 2 ) ) & 0x33333333; - x = ( x | ( x << 1 ) ) & 0x55555555; - - y = ( y | ( y << 8 ) ) & 0x00FF00FF; - y = ( y | ( y << 4 ) ) & 0x0F0F0F0F; - y = ( y | ( y << 2 ) ) & 0x33333333; - y = ( y | ( y << 1 ) ) & 0x55555555; - - return x | ( y << 1 ); - - } - - // find the leftmost node of a polygon ring - - function getLeftmost( start ) { - - var p = start, leftmost = start; - - do { - - if ( p.x < leftmost.x ) leftmost = p; - p = p.next; - - } while ( p !== start ); - - return leftmost; - - } - - // check if a point lies within a convex triangle - - function pointInTriangle( ax, ay, bx, by, cx, cy, px, py ) { - - return ( cx - px ) * ( ay - py ) - ( ax - px ) * ( cy - py ) >= 0 && - ( ax - px ) * ( by - py ) - ( bx - px ) * ( ay - py ) >= 0 && - ( bx - px ) * ( cy - py ) - ( cx - px ) * ( by - py ) >= 0; - - } - - // check if a diagonal between two polygon nodes is valid (lies in polygon interior) - - function isValidDiagonal( a, b ) { - - return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && - locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ); - - } - - // signed area of a triangle - - function area( p, q, r ) { - - return ( q.y - p.y ) * ( r.x - q.x ) - ( q.x - p.x ) * ( r.y - q.y ); - - } - - // check if two points are equal - - function equals( p1, p2 ) { - - return p1.x === p2.x && p1.y === p2.y; - - } - - // check if two segments intersect - - function intersects( p1, q1, p2, q2 ) { - - if ( ( equals( p1, q1 ) && equals( p2, q2 ) ) || - ( equals( p1, q2 ) && equals( p2, q1 ) ) ) return true; - - return area( p1, q1, p2 ) > 0 !== area( p1, q1, q2 ) > 0 && - area( p2, q2, p1 ) > 0 !== area( p2, q2, q1 ) > 0; - - } - - // check if a polygon diagonal intersects any polygon segments - - function intersectsPolygon( a, b ) { - - var p = a; - - do { - - if ( p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && - intersects( p, p.next, a, b ) ) { - - return true; - - } - - p = p.next; - - } while ( p !== a ); - - return false; - - } - - // check if a polygon diagonal is locally inside the polygon - - function locallyInside( a, b ) { - - return area( a.prev, a, a.next ) < 0 ? - area( a, b, a.next ) >= 0 && area( a, a.prev, b ) >= 0 : - area( a, b, a.prev ) < 0 || area( a, a.next, b ) < 0; - - } - - // check if the middle point of a polygon diagonal is inside the polygon - - function middleInside( a, b ) { - - var p = a, - inside = false, - px = ( a.x + b.x ) / 2, - py = ( a.y + b.y ) / 2; - - do { - - if ( ( ( p.y > py ) !== ( p.next.y > py ) ) && p.next.y !== p.y && - ( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) ) { - - inside = ! inside; - - } - - p = p.next; - - } while ( p !== a ); - - return inside; - - } - - // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; - // if one belongs to the outer ring and another to a hole, it merges it into a single ring - - function splitPolygon( a, b ) { - - var a2 = new Node( a.i, a.x, a.y ), - b2 = new Node( b.i, b.x, b.y ), - an = a.next, - bp = b.prev; - - a.next = b; - b.prev = a; - - a2.next = an; - an.prev = a2; - - b2.next = a2; - a2.prev = b2; - - bp.next = b2; - b2.prev = bp; - - return b2; - - } - - // create a node and optionally link it with previous one (in a circular doubly linked list) - - function insertNode( i, x, y, last ) { - - var p = new Node( i, x, y ); - - if ( ! last ) { - - p.prev = p; - p.next = p; - - } else { - - p.next = last.next; - p.prev = last; - last.next.prev = p; - last.next = p; - - } - - return p; - - } - - function removeNode( p ) { - - p.next.prev = p.prev; - p.prev.next = p.next; - - if ( p.prevZ ) p.prevZ.nextZ = p.nextZ; - if ( p.nextZ ) p.nextZ.prevZ = p.prevZ; - - } - - function Node( i, x, y ) { - - // vertice index in coordinates array - this.i = i; - - // vertex coordinates - this.x = x; - this.y = y; - - // previous and next vertice nodes in a polygon ring - this.prev = null; - this.next = null; - - // z-order curve value - this.z = null; - - // previous and next nodes in z-order - this.prevZ = null; - this.nextZ = null; - - // indicates whether this is a steiner point - this.steiner = false; - - } - - function signedArea( data, start, end, dim ) { - - var sum = 0; - - for ( var i = start, j = end - dim; i < end; i += dim ) { - - sum += ( data[ j ] - data[ i ] ) * ( data[ i + 1 ] + data[ j + 1 ] ); - j = i; - - } - - return sum; - - } - - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - */ - - var ShapeUtils = { - - // calculate area of the contour polygon - - area: function ( contour ) { - - var n = contour.length; - var a = 0.0; - - for ( var p = n - 1, q = 0; q < n; p = q ++ ) { - - a += contour[ p ].x * contour[ q ].y - contour[ q ].x * contour[ p ].y; - - } - - return a * 0.5; - - }, - - isClockWise: function ( pts ) { - - return ShapeUtils.area( pts ) < 0; - - }, - - triangulateShape: function ( contour, holes ) { - - var vertices = []; // flat array of vertices like [ x0,y0, x1,y1, x2,y2, ... ] - var holeIndices = []; // array of hole indices - var faces = []; // final array of vertex indices like [ [ a,b,d ], [ b,c,d ] ] - - removeDupEndPts( contour ); - addContour( vertices, contour ); - - // - - var holeIndex = contour.length; - - holes.forEach( removeDupEndPts ); - - for ( var i = 0; i < holes.length; i ++ ) { - - holeIndices.push( holeIndex ); - holeIndex += holes[ i ].length; - addContour( vertices, holes[ i ] ); - - } - - // - - var triangles = Earcut.triangulate( vertices, holeIndices ); - - // - - for ( var i = 0; i < triangles.length; i += 3 ) { - - faces.push( triangles.slice( i, i + 3 ) ); - - } - - return faces; - - } - - }; - - function removeDupEndPts( points ) { - - var l = points.length; - - if ( l > 2 && points[ l - 1 ].equals( points[ 0 ] ) ) { - - points.pop(); - - } - - } - - function addContour( vertices, contour ) { - - for ( var i = 0; i < contour.length; i ++ ) { - - vertices.push( contour[ i ].x ); - vertices.push( contour[ i ].y ); - - } - - } - - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * - * Creates extruded geometry from a path shape. - * - * parameters = { - * - * curveSegments: , // number of points on the curves - * steps: , // number of points for z-side extrusions / used for subdividing segments of extrude spline too - * depth: , // Depth to extrude the shape - * - * bevelEnabled: , // turn on bevel - * bevelThickness: , // how deep into the original shape bevel goes - * bevelSize: , // how far from shape outline is bevel - * bevelSegments: , // number of bevel layers - * - * extrudePath: // curve to extrude shape along - * - * UVGenerator: // object that provides UV generator functions - * - * } - */ - - // ExtrudeGeometry - - function ExtrudeGeometry( shapes, options ) { - - Geometry.call( this ); - - this.type = 'ExtrudeGeometry'; - - this.parameters = { - shapes: shapes, - options: options - }; - - this.fromBufferGeometry( new ExtrudeBufferGeometry( shapes, options ) ); - this.mergeVertices(); - - } - - ExtrudeGeometry.prototype = Object.create( Geometry.prototype ); - ExtrudeGeometry.prototype.constructor = ExtrudeGeometry; - - ExtrudeGeometry.prototype.toJSON = function () { - - var data = Geometry.prototype.toJSON.call( this ); - - var shapes = this.parameters.shapes; - var options = this.parameters.options; - - return toJSON( shapes, options, data ); - - }; - - // ExtrudeBufferGeometry - - function ExtrudeBufferGeometry( shapes, options ) { - - BufferGeometry.call( this ); - - this.type = 'ExtrudeBufferGeometry'; - - this.parameters = { - shapes: shapes, - options: options - }; - - shapes = Array.isArray( shapes ) ? shapes : [ shapes ]; - - var scope = this; - - var verticesArray = []; - var uvArray = []; - - for ( var i = 0, l = shapes.length; i < l; i ++ ) { - - var shape = shapes[ i ]; - addShape( shape ); - - } - - // build geometry - - this.addAttribute( 'position', new Float32BufferAttribute( verticesArray, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvArray, 2 ) ); - - this.computeVertexNormals(); - - // functions - - function addShape( shape ) { - - var placeholder = []; - - // options - - var curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12; - var steps = options.steps !== undefined ? options.steps : 1; - var depth = options.depth !== undefined ? options.depth : 100; - - var bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; - var bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6; - var bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2; - var bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3; - - var extrudePath = options.extrudePath; - - var uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator; - - // deprecated options - - if ( options.amount !== undefined ) { - - console.warn( 'THREE.ExtrudeBufferGeometry: amount has been renamed to depth.' ); - depth = options.amount; - - } - - // - - var extrudePts, extrudeByPath = false; - var splineTube, binormal, normal, position2; - - if ( extrudePath ) { - - extrudePts = extrudePath.getSpacedPoints( steps ); - - extrudeByPath = true; - bevelEnabled = false; // bevels not supported for path extrusion - - // SETUP TNB variables - - // TODO1 - have a .isClosed in spline? - - splineTube = extrudePath.computeFrenetFrames( steps, false ); - - // console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length); - - binormal = new Vector3(); - normal = new Vector3(); - position2 = new Vector3(); - - } - - // Safeguards if bevels are not enabled - - if ( ! bevelEnabled ) { - - bevelSegments = 0; - bevelThickness = 0; - bevelSize = 0; - - } - - // Variables initialization - - var ahole, h, hl; // looping of holes - - var shapePoints = shape.extractPoints( curveSegments ); - - var vertices = shapePoints.shape; - var holes = shapePoints.holes; - - var reverse = ! ShapeUtils.isClockWise( vertices ); - - if ( reverse ) { - - vertices = vertices.reverse(); - - // Maybe we should also check if holes are in the opposite direction, just to be safe ... - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - - if ( ShapeUtils.isClockWise( ahole ) ) { - - holes[ h ] = ahole.reverse(); - - } - - } - - } - - - var faces = ShapeUtils.triangulateShape( vertices, holes ); - - /* Vertices */ - - var contour = vertices; // vertices has all points but contour has only points of circumference - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - - vertices = vertices.concat( ahole ); - - } - - - function scalePt2( pt, vec, size ) { - - if ( ! vec ) console.error( "THREE.ExtrudeGeometry: vec does not exist" ); - - return vec.clone().multiplyScalar( size ).add( pt ); - - } - - var b, bs, t, z, - vert, vlen = vertices.length, - face, flen = faces.length; - - - // Find directions for point movement - - - function getBevelVec( inPt, inPrev, inNext ) { - - // computes for inPt the corresponding point inPt' on a new contour - // shifted by 1 unit (length of normalized vector) to the left - // if we walk along contour clockwise, this new contour is outside the old one - // - // inPt' is the intersection of the two lines parallel to the two - // adjacent edges of inPt at a distance of 1 unit on the left side. - - var v_trans_x, v_trans_y, shrink_by; // resulting translation vector for inPt - - // good reading for geometry algorithms (here: line-line intersection) - // http://geomalgorithms.com/a05-_intersect-1.html - - var v_prev_x = inPt.x - inPrev.x, - v_prev_y = inPt.y - inPrev.y; - var v_next_x = inNext.x - inPt.x, - v_next_y = inNext.y - inPt.y; - - var v_prev_lensq = ( v_prev_x * v_prev_x + v_prev_y * v_prev_y ); - - // check for collinear edges - var collinear0 = ( v_prev_x * v_next_y - v_prev_y * v_next_x ); - - if ( Math.abs( collinear0 ) > Number.EPSILON ) { - - // not collinear - - // length of vectors for normalizing - - var v_prev_len = Math.sqrt( v_prev_lensq ); - var v_next_len = Math.sqrt( v_next_x * v_next_x + v_next_y * v_next_y ); - - // shift adjacent points by unit vectors to the left - - var ptPrevShift_x = ( inPrev.x - v_prev_y / v_prev_len ); - var ptPrevShift_y = ( inPrev.y + v_prev_x / v_prev_len ); - - var ptNextShift_x = ( inNext.x - v_next_y / v_next_len ); - var ptNextShift_y = ( inNext.y + v_next_x / v_next_len ); - - // scaling factor for v_prev to intersection point - - var sf = ( ( ptNextShift_x - ptPrevShift_x ) * v_next_y - - ( ptNextShift_y - ptPrevShift_y ) * v_next_x ) / - ( v_prev_x * v_next_y - v_prev_y * v_next_x ); - - // vector from inPt to intersection point - - v_trans_x = ( ptPrevShift_x + v_prev_x * sf - inPt.x ); - v_trans_y = ( ptPrevShift_y + v_prev_y * sf - inPt.y ); - - // Don't normalize!, otherwise sharp corners become ugly - // but prevent crazy spikes - var v_trans_lensq = ( v_trans_x * v_trans_x + v_trans_y * v_trans_y ); - if ( v_trans_lensq <= 2 ) { - - return new Vector2( v_trans_x, v_trans_y ); - - } else { - - shrink_by = Math.sqrt( v_trans_lensq / 2 ); - - } - - } else { - - // handle special case of collinear edges - - var direction_eq = false; // assumes: opposite - if ( v_prev_x > Number.EPSILON ) { - - if ( v_next_x > Number.EPSILON ) { - - direction_eq = true; - - } - - } else { - - if ( v_prev_x < - Number.EPSILON ) { - - if ( v_next_x < - Number.EPSILON ) { - - direction_eq = true; - - } - - } else { - - if ( Math.sign( v_prev_y ) === Math.sign( v_next_y ) ) { - - direction_eq = true; - - } - - } - - } - - if ( direction_eq ) { - - // console.log("Warning: lines are a straight sequence"); - v_trans_x = - v_prev_y; - v_trans_y = v_prev_x; - shrink_by = Math.sqrt( v_prev_lensq ); - - } else { - - // console.log("Warning: lines are a straight spike"); - v_trans_x = v_prev_x; - v_trans_y = v_prev_y; - shrink_by = Math.sqrt( v_prev_lensq / 2 ); - - } - - } - - return new Vector2( v_trans_x / shrink_by, v_trans_y / shrink_by ); - - } - - - var contourMovements = []; - - for ( var i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { - - if ( j === il ) j = 0; - if ( k === il ) k = 0; - - // (j)---(i)---(k) - // console.log('i,j,k', i, j , k) - - contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] ); - - } - - var holesMovements = [], - oneHoleMovements, verticesMovements = contourMovements.concat(); - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - - oneHoleMovements = []; - - for ( i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i ++, j ++, k ++ ) { - - if ( j === il ) j = 0; - if ( k === il ) k = 0; - - // (j)---(i)---(k) - oneHoleMovements[ i ] = getBevelVec( ahole[ i ], ahole[ j ], ahole[ k ] ); - - } - - holesMovements.push( oneHoleMovements ); - verticesMovements = verticesMovements.concat( oneHoleMovements ); - - } - - - // Loop bevelSegments, 1 for the front, 1 for the back - - for ( b = 0; b < bevelSegments; b ++ ) { - - //for ( b = bevelSegments; b > 0; b -- ) { - - t = b / bevelSegments; - z = bevelThickness * Math.cos( t * Math.PI / 2 ); - bs = bevelSize * Math.sin( t * Math.PI / 2 ); - - // contract shape - - for ( i = 0, il = contour.length; i < il; i ++ ) { - - vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); - - v( vert.x, vert.y, - z ); - - } - - // expand holes - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - oneHoleMovements = holesMovements[ h ]; - - for ( i = 0, il = ahole.length; i < il; i ++ ) { - - vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); - - v( vert.x, vert.y, - z ); - - } - - } - - } - - bs = bevelSize; - - // Back facing vertices - - for ( i = 0; i < vlen; i ++ ) { - - vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; - - if ( ! extrudeByPath ) { - - v( vert.x, vert.y, 0 ); - - } else { - - // v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x ); - - normal.copy( splineTube.normals[ 0 ] ).multiplyScalar( vert.x ); - binormal.copy( splineTube.binormals[ 0 ] ).multiplyScalar( vert.y ); - - position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal ); - - v( position2.x, position2.y, position2.z ); - - } - - } - - // Add stepped vertices... - // Including front facing vertices - - var s; - - for ( s = 1; s <= steps; s ++ ) { - - for ( i = 0; i < vlen; i ++ ) { - - vert = bevelEnabled ? scalePt2( vertices[ i ], verticesMovements[ i ], bs ) : vertices[ i ]; - - if ( ! extrudeByPath ) { - - v( vert.x, vert.y, depth / steps * s ); - - } else { - - // v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x ); - - normal.copy( splineTube.normals[ s ] ).multiplyScalar( vert.x ); - binormal.copy( splineTube.binormals[ s ] ).multiplyScalar( vert.y ); - - position2.copy( extrudePts[ s ] ).add( normal ).add( binormal ); - - v( position2.x, position2.y, position2.z ); - - } - - } - - } - - - // Add bevel segments planes - - //for ( b = 1; b <= bevelSegments; b ++ ) { - for ( b = bevelSegments - 1; b >= 0; b -- ) { - - t = b / bevelSegments; - z = bevelThickness * Math.cos( t * Math.PI / 2 ); - bs = bevelSize * Math.sin( t * Math.PI / 2 ); - - // contract shape - - for ( i = 0, il = contour.length; i < il; i ++ ) { - - vert = scalePt2( contour[ i ], contourMovements[ i ], bs ); - v( vert.x, vert.y, depth + z ); - - } - - // expand holes - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - oneHoleMovements = holesMovements[ h ]; - - for ( i = 0, il = ahole.length; i < il; i ++ ) { - - vert = scalePt2( ahole[ i ], oneHoleMovements[ i ], bs ); - - if ( ! extrudeByPath ) { - - v( vert.x, vert.y, depth + z ); - - } else { - - v( vert.x, vert.y + extrudePts[ steps - 1 ].y, extrudePts[ steps - 1 ].x + z ); - - } - - } - - } - - } - - /* Faces */ - - // Top and bottom faces - - buildLidFaces(); - - // Sides faces - - buildSideFaces(); - - - ///// Internal functions - - function buildLidFaces() { - - var start = verticesArray.length / 3; - - if ( bevelEnabled ) { - - var layer = 0; // steps + 1 - var offset = vlen * layer; - - // Bottom faces - - for ( i = 0; i < flen; i ++ ) { - - face = faces[ i ]; - f3( face[ 2 ] + offset, face[ 1 ] + offset, face[ 0 ] + offset ); - - } - - layer = steps + bevelSegments * 2; - offset = vlen * layer; - - // Top faces - - for ( i = 0; i < flen; i ++ ) { - - face = faces[ i ]; - f3( face[ 0 ] + offset, face[ 1 ] + offset, face[ 2 ] + offset ); - - } - - } else { - - // Bottom faces - - for ( i = 0; i < flen; i ++ ) { - - face = faces[ i ]; - f3( face[ 2 ], face[ 1 ], face[ 0 ] ); - - } - - // Top faces - - for ( i = 0; i < flen; i ++ ) { - - face = faces[ i ]; - f3( face[ 0 ] + vlen * steps, face[ 1 ] + vlen * steps, face[ 2 ] + vlen * steps ); - - } - - } - - scope.addGroup( start, verticesArray.length / 3 - start, 0 ); - - } - - // Create faces for the z-sides of the shape - - function buildSideFaces() { - - var start = verticesArray.length / 3; - var layeroffset = 0; - sidewalls( contour, layeroffset ); - layeroffset += contour.length; - - for ( h = 0, hl = holes.length; h < hl; h ++ ) { - - ahole = holes[ h ]; - sidewalls( ahole, layeroffset ); - - //, true - layeroffset += ahole.length; - - } - - - scope.addGroup( start, verticesArray.length / 3 - start, 1 ); - - - } - - function sidewalls( contour, layeroffset ) { - - var j, k; - i = contour.length; - - while ( -- i >= 0 ) { - - j = i; - k = i - 1; - if ( k < 0 ) k = contour.length - 1; - - //console.log('b', i,j, i-1, k,vertices.length); - - var s = 0, - sl = steps + bevelSegments * 2; - - for ( s = 0; s < sl; s ++ ) { - - var slen1 = vlen * s; - var slen2 = vlen * ( s + 1 ); - - var a = layeroffset + j + slen1, - b = layeroffset + k + slen1, - c = layeroffset + k + slen2, - d = layeroffset + j + slen2; - - f4( a, b, c, d ); - - } - - } - - } - - function v( x, y, z ) { - - placeholder.push( x ); - placeholder.push( y ); - placeholder.push( z ); - - } - - - function f3( a, b, c ) { - - addVertex( a ); - addVertex( b ); - addVertex( c ); - - var nextIndex = verticesArray.length / 3; - var uvs = uvgen.generateTopUV( scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); - - addUV( uvs[ 0 ] ); - addUV( uvs[ 1 ] ); - addUV( uvs[ 2 ] ); - - } - - function f4( a, b, c, d ) { - - addVertex( a ); - addVertex( b ); - addVertex( d ); - - addVertex( b ); - addVertex( c ); - addVertex( d ); - - - var nextIndex = verticesArray.length / 3; - var uvs = uvgen.generateSideWallUV( scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1 ); - - addUV( uvs[ 0 ] ); - addUV( uvs[ 1 ] ); - addUV( uvs[ 3 ] ); - - addUV( uvs[ 1 ] ); - addUV( uvs[ 2 ] ); - addUV( uvs[ 3 ] ); - - } - - function addVertex( index ) { - - verticesArray.push( placeholder[ index * 3 + 0 ] ); - verticesArray.push( placeholder[ index * 3 + 1 ] ); - verticesArray.push( placeholder[ index * 3 + 2 ] ); - - } - - - function addUV( vector2 ) { - - uvArray.push( vector2.x ); - uvArray.push( vector2.y ); - - } - - } - - } - - ExtrudeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - ExtrudeBufferGeometry.prototype.constructor = ExtrudeBufferGeometry; - - ExtrudeBufferGeometry.prototype.toJSON = function () { - - var data = BufferGeometry.prototype.toJSON.call( this ); - - var shapes = this.parameters.shapes; - var options = this.parameters.options; - - return toJSON( shapes, options, data ); - - }; - - // - - var WorldUVGenerator = { - - generateTopUV: function ( geometry, vertices, indexA, indexB, indexC ) { - - var a_x = vertices[ indexA * 3 ]; - var a_y = vertices[ indexA * 3 + 1 ]; - var b_x = vertices[ indexB * 3 ]; - var b_y = vertices[ indexB * 3 + 1 ]; - var c_x = vertices[ indexC * 3 ]; - var c_y = vertices[ indexC * 3 + 1 ]; - - return [ - new Vector2( a_x, a_y ), - new Vector2( b_x, b_y ), - new Vector2( c_x, c_y ) - ]; - - }, - - generateSideWallUV: function ( geometry, vertices, indexA, indexB, indexC, indexD ) { - - var a_x = vertices[ indexA * 3 ]; - var a_y = vertices[ indexA * 3 + 1 ]; - var a_z = vertices[ indexA * 3 + 2 ]; - var b_x = vertices[ indexB * 3 ]; - var b_y = vertices[ indexB * 3 + 1 ]; - var b_z = vertices[ indexB * 3 + 2 ]; - var c_x = vertices[ indexC * 3 ]; - var c_y = vertices[ indexC * 3 + 1 ]; - var c_z = vertices[ indexC * 3 + 2 ]; - var d_x = vertices[ indexD * 3 ]; - var d_y = vertices[ indexD * 3 + 1 ]; - var d_z = vertices[ indexD * 3 + 2 ]; - - if ( Math.abs( a_y - b_y ) < 0.01 ) { - - return [ - new Vector2( a_x, 1 - a_z ), - new Vector2( b_x, 1 - b_z ), - new Vector2( c_x, 1 - c_z ), - new Vector2( d_x, 1 - d_z ) - ]; - - } else { - - return [ - new Vector2( a_y, 1 - a_z ), - new Vector2( b_y, 1 - b_z ), - new Vector2( c_y, 1 - c_z ), - new Vector2( d_y, 1 - d_z ) - ]; - - } - - } - }; - - function toJSON( shapes, options, data ) { - - // - - data.shapes = []; - - if ( Array.isArray( shapes ) ) { - - for ( var i = 0, l = shapes.length; i < l; i ++ ) { - - var shape = shapes[ i ]; - - data.shapes.push( shape.uuid ); - - } - - } else { - - data.shapes.push( shapes.uuid ); - - } - - // - - if ( options.extrudePath !== undefined ) data.options.extrudePath = options.extrudePath.toJSON(); - - return data; - - } - - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * @author alteredq / http://alteredqualia.com/ - * - * Text = 3D Text - * - * parameters = { - * font: , // font - * - * size: , // size of the text - * height: , // thickness to extrude text - * curveSegments: , // number of points on the curves - * - * bevelEnabled: , // turn on bevel - * bevelThickness: , // how deep into text bevel goes - * bevelSize: // how far from text outline is bevel - * } - */ - - // TextGeometry - - function TextGeometry( text, parameters ) { - - Geometry.call( this ); - - this.type = 'TextGeometry'; - - this.parameters = { - text: text, - parameters: parameters - }; - - this.fromBufferGeometry( new TextBufferGeometry( text, parameters ) ); - this.mergeVertices(); - - } - - TextGeometry.prototype = Object.create( Geometry.prototype ); - TextGeometry.prototype.constructor = TextGeometry; - - // TextBufferGeometry - - function TextBufferGeometry( text, parameters ) { - - parameters = parameters || {}; - - var font = parameters.font; - - if ( ! ( font && font.isFont ) ) { - - console.error( 'THREE.TextGeometry: font parameter is not an instance of THREE.Font.' ); - return new Geometry(); - - } - - var shapes = font.generateShapes( text, parameters.size ); - - // translate parameters to ExtrudeGeometry API - - parameters.depth = parameters.height !== undefined ? parameters.height : 50; - - // defaults - - if ( parameters.bevelThickness === undefined ) parameters.bevelThickness = 10; - if ( parameters.bevelSize === undefined ) parameters.bevelSize = 8; - if ( parameters.bevelEnabled === undefined ) parameters.bevelEnabled = false; - - ExtrudeBufferGeometry.call( this, shapes, parameters ); - - this.type = 'TextBufferGeometry'; - - } - - TextBufferGeometry.prototype = Object.create( ExtrudeBufferGeometry.prototype ); - TextBufferGeometry.prototype.constructor = TextBufferGeometry; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author benaadams / https://twitter.com/ben_a_adams - * @author Mugen87 / https://github.com/Mugen87 - */ - - // SphereGeometry - - function SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { - - Geometry.call( this ); - - this.type = 'SphereGeometry'; - - this.parameters = { - radius: radius, - widthSegments: widthSegments, - heightSegments: heightSegments, - phiStart: phiStart, - phiLength: phiLength, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - this.fromBufferGeometry( new SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) ); - this.mergeVertices(); - - } - - SphereGeometry.prototype = Object.create( Geometry.prototype ); - SphereGeometry.prototype.constructor = SphereGeometry; - - // SphereBufferGeometry - - function SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) { - - BufferGeometry.call( this ); - - this.type = 'SphereBufferGeometry'; - - this.parameters = { - radius: radius, - widthSegments: widthSegments, - heightSegments: heightSegments, - phiStart: phiStart, - phiLength: phiLength, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - radius = radius || 1; - - widthSegments = Math.max( 3, Math.floor( widthSegments ) || 8 ); - heightSegments = Math.max( 2, Math.floor( heightSegments ) || 6 ); - - phiStart = phiStart !== undefined ? phiStart : 0; - phiLength = phiLength !== undefined ? phiLength : Math.PI * 2; - - thetaStart = thetaStart !== undefined ? thetaStart : 0; - thetaLength = thetaLength !== undefined ? thetaLength : Math.PI; - - var thetaEnd = thetaStart + thetaLength; - - var ix, iy; - - var index = 0; - var grid = []; - - var vertex = new Vector3(); - var normal = new Vector3(); - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // generate vertices, normals and uvs - - for ( iy = 0; iy <= heightSegments; iy ++ ) { - - var verticesRow = []; - - var v = iy / heightSegments; - - // special case for the poles - - var uOffset = ( iy == 0 ) ? 0.5 / widthSegments : ( ( iy == heightSegments ) ? - 0.5 / widthSegments : 0 ); - - for ( ix = 0; ix <= widthSegments; ix ++ ) { - - var u = ix / widthSegments; - - // vertex - - vertex.x = - radius * Math.cos( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); - vertex.y = radius * Math.cos( thetaStart + v * thetaLength ); - vertex.z = radius * Math.sin( phiStart + u * phiLength ) * Math.sin( thetaStart + v * thetaLength ); - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - normal.copy( vertex ).normalize(); - normals.push( normal.x, normal.y, normal.z ); - - // uv - - uvs.push( u + uOffset, 1 - v ); - - verticesRow.push( index ++ ); - - } - - grid.push( verticesRow ); - - } - - // indices - - for ( iy = 0; iy < heightSegments; iy ++ ) { - - for ( ix = 0; ix < widthSegments; ix ++ ) { - - var a = grid[ iy ][ ix + 1 ]; - var b = grid[ iy ][ ix ]; - var c = grid[ iy + 1 ][ ix ]; - var d = grid[ iy + 1 ][ ix + 1 ]; - - if ( iy !== 0 || thetaStart > 0 ) indices.push( a, b, d ); - if ( iy !== heightSegments - 1 || thetaEnd < Math.PI ) indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - SphereBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - SphereBufferGeometry.prototype.constructor = SphereBufferGeometry; - - /** - * @author Kaleb Murphy - * @author Mugen87 / https://github.com/Mugen87 - */ - - // RingGeometry - - function RingGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { - - Geometry.call( this ); - - this.type = 'RingGeometry'; - - this.parameters = { - innerRadius: innerRadius, - outerRadius: outerRadius, - thetaSegments: thetaSegments, - phiSegments: phiSegments, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - this.fromBufferGeometry( new RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) ); - this.mergeVertices(); - - } - - RingGeometry.prototype = Object.create( Geometry.prototype ); - RingGeometry.prototype.constructor = RingGeometry; - - // RingBufferGeometry - - function RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) { - - BufferGeometry.call( this ); - - this.type = 'RingBufferGeometry'; - - this.parameters = { - innerRadius: innerRadius, - outerRadius: outerRadius, - thetaSegments: thetaSegments, - phiSegments: phiSegments, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - innerRadius = innerRadius || 0.5; - outerRadius = outerRadius || 1; - - thetaStart = thetaStart !== undefined ? thetaStart : 0; - thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; - - thetaSegments = thetaSegments !== undefined ? Math.max( 3, thetaSegments ) : 8; - phiSegments = phiSegments !== undefined ? Math.max( 1, phiSegments ) : 1; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // some helper variables - - var segment; - var radius = innerRadius; - var radiusStep = ( ( outerRadius - innerRadius ) / phiSegments ); - var vertex = new Vector3(); - var uv = new Vector2(); - var j, i; - - // generate vertices, normals and uvs - - for ( j = 0; j <= phiSegments; j ++ ) { - - for ( i = 0; i <= thetaSegments; i ++ ) { - - // values are generate from the inside of the ring to the outside - - segment = thetaStart + i / thetaSegments * thetaLength; - - // vertex - - vertex.x = radius * Math.cos( segment ); - vertex.y = radius * Math.sin( segment ); - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - normals.push( 0, 0, 1 ); - - // uv - - uv.x = ( vertex.x / outerRadius + 1 ) / 2; - uv.y = ( vertex.y / outerRadius + 1 ) / 2; - - uvs.push( uv.x, uv.y ); - - } - - // increase the radius for next row of vertices - - radius += radiusStep; - - } - - // indices - - for ( j = 0; j < phiSegments; j ++ ) { - - var thetaSegmentLevel = j * ( thetaSegments + 1 ); - - for ( i = 0; i < thetaSegments; i ++ ) { - - segment = i + thetaSegmentLevel; - - var a = segment; - var b = segment + thetaSegments + 1; - var c = segment + thetaSegments + 2; - var d = segment + 1; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - RingBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - RingBufferGeometry.prototype.constructor = RingBufferGeometry; - - /** - * @author zz85 / https://github.com/zz85 - * @author bhouston / http://clara.io - * @author Mugen87 / https://github.com/Mugen87 - */ - - // LatheGeometry - - function LatheGeometry( points, segments, phiStart, phiLength ) { - - Geometry.call( this ); - - this.type = 'LatheGeometry'; - - this.parameters = { - points: points, - segments: segments, - phiStart: phiStart, - phiLength: phiLength - }; - - this.fromBufferGeometry( new LatheBufferGeometry( points, segments, phiStart, phiLength ) ); - this.mergeVertices(); - - } - - LatheGeometry.prototype = Object.create( Geometry.prototype ); - LatheGeometry.prototype.constructor = LatheGeometry; - - // LatheBufferGeometry - - function LatheBufferGeometry( points, segments, phiStart, phiLength ) { - - BufferGeometry.call( this ); - - this.type = 'LatheBufferGeometry'; - - this.parameters = { - points: points, - segments: segments, - phiStart: phiStart, - phiLength: phiLength - }; - - segments = Math.floor( segments ) || 12; - phiStart = phiStart || 0; - phiLength = phiLength || Math.PI * 2; - - // clamp phiLength so it's in range of [ 0, 2PI ] - - phiLength = _Math.clamp( phiLength, 0, Math.PI * 2 ); - - - // buffers - - var indices = []; - var vertices = []; - var uvs = []; - - // helper variables - - var base; - var inverseSegments = 1.0 / segments; - var vertex = new Vector3(); - var uv = new Vector2(); - var i, j; - - // generate vertices and uvs - - for ( i = 0; i <= segments; i ++ ) { - - var phi = phiStart + i * inverseSegments * phiLength; - - var sin = Math.sin( phi ); - var cos = Math.cos( phi ); - - for ( j = 0; j <= ( points.length - 1 ); j ++ ) { - - // vertex - - vertex.x = points[ j ].x * sin; - vertex.y = points[ j ].y; - vertex.z = points[ j ].x * cos; - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // uv - - uv.x = i / segments; - uv.y = j / ( points.length - 1 ); - - uvs.push( uv.x, uv.y ); - - - } - - } - - // indices - - for ( i = 0; i < segments; i ++ ) { - - for ( j = 0; j < ( points.length - 1 ); j ++ ) { - - base = j + i * points.length; - - var a = base; - var b = base + points.length; - var c = base + points.length + 1; - var d = base + 1; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - // generate normals - - this.computeVertexNormals(); - - // if the geometry is closed, we need to average the normals along the seam. - // because the corresponding vertices are identical (but still have different UVs). - - if ( phiLength === Math.PI * 2 ) { - - var normals = this.attributes.normal.array; - var n1 = new Vector3(); - var n2 = new Vector3(); - var n = new Vector3(); - - // this is the buffer offset for the last line of vertices - - base = segments * points.length * 3; - - for ( i = 0, j = 0; i < points.length; i ++, j += 3 ) { - - // select the normal of the vertex in the first line - - n1.x = normals[ j + 0 ]; - n1.y = normals[ j + 1 ]; - n1.z = normals[ j + 2 ]; - - // select the normal of the vertex in the last line - - n2.x = normals[ base + j + 0 ]; - n2.y = normals[ base + j + 1 ]; - n2.z = normals[ base + j + 2 ]; - - // average normals - - n.addVectors( n1, n2 ).normalize(); - - // assign the new values to both normals - - normals[ j + 0 ] = normals[ base + j + 0 ] = n.x; - normals[ j + 1 ] = normals[ base + j + 1 ] = n.y; - normals[ j + 2 ] = normals[ base + j + 2 ] = n.z; - - } - - } - - } - - LatheBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - LatheBufferGeometry.prototype.constructor = LatheBufferGeometry; - - /** - * @author jonobr1 / http://jonobr1.com - * @author Mugen87 / https://github.com/Mugen87 - */ - - // ShapeGeometry - - function ShapeGeometry( shapes, curveSegments ) { - - Geometry.call( this ); - - this.type = 'ShapeGeometry'; - - if ( typeof curveSegments === 'object' ) { - - console.warn( 'THREE.ShapeGeometry: Options parameter has been removed.' ); - - curveSegments = curveSegments.curveSegments; - - } - - this.parameters = { - shapes: shapes, - curveSegments: curveSegments - }; - - this.fromBufferGeometry( new ShapeBufferGeometry( shapes, curveSegments ) ); - this.mergeVertices(); - - } - - ShapeGeometry.prototype = Object.create( Geometry.prototype ); - ShapeGeometry.prototype.constructor = ShapeGeometry; - - ShapeGeometry.prototype.toJSON = function () { - - var data = Geometry.prototype.toJSON.call( this ); - - var shapes = this.parameters.shapes; - - return toJSON$1( shapes, data ); - - }; - - // ShapeBufferGeometry - - function ShapeBufferGeometry( shapes, curveSegments ) { - - BufferGeometry.call( this ); - - this.type = 'ShapeBufferGeometry'; - - this.parameters = { - shapes: shapes, - curveSegments: curveSegments - }; - - curveSegments = curveSegments || 12; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var groupStart = 0; - var groupCount = 0; - - // allow single and array values for "shapes" parameter - - if ( Array.isArray( shapes ) === false ) { - - addShape( shapes ); - - } else { - - for ( var i = 0; i < shapes.length; i ++ ) { - - addShape( shapes[ i ] ); - - this.addGroup( groupStart, groupCount, i ); // enables MultiMaterial support - - groupStart += groupCount; - groupCount = 0; - - } - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - - // helper functions - - function addShape( shape ) { - - var i, l, shapeHole; - - var indexOffset = vertices.length / 3; - var points = shape.extractPoints( curveSegments ); - - var shapeVertices = points.shape; - var shapeHoles = points.holes; - - // check direction of vertices - - if ( ShapeUtils.isClockWise( shapeVertices ) === false ) { - - shapeVertices = shapeVertices.reverse(); - - } - - for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { - - shapeHole = shapeHoles[ i ]; - - if ( ShapeUtils.isClockWise( shapeHole ) === true ) { - - shapeHoles[ i ] = shapeHole.reverse(); - - } - - } - - var faces = ShapeUtils.triangulateShape( shapeVertices, shapeHoles ); - - // join vertices of inner and outer paths to a single array - - for ( i = 0, l = shapeHoles.length; i < l; i ++ ) { - - shapeHole = shapeHoles[ i ]; - shapeVertices = shapeVertices.concat( shapeHole ); - - } - - // vertices, normals, uvs - - for ( i = 0, l = shapeVertices.length; i < l; i ++ ) { - - var vertex = shapeVertices[ i ]; - - vertices.push( vertex.x, vertex.y, 0 ); - normals.push( 0, 0, 1 ); - uvs.push( vertex.x, vertex.y ); // world uvs - - } - - // incides - - for ( i = 0, l = faces.length; i < l; i ++ ) { - - var face = faces[ i ]; - - var a = face[ 0 ] + indexOffset; - var b = face[ 1 ] + indexOffset; - var c = face[ 2 ] + indexOffset; - - indices.push( a, b, c ); - groupCount += 3; - - } - - } - - } - - ShapeBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - ShapeBufferGeometry.prototype.constructor = ShapeBufferGeometry; - - ShapeBufferGeometry.prototype.toJSON = function () { - - var data = BufferGeometry.prototype.toJSON.call( this ); - - var shapes = this.parameters.shapes; - - return toJSON$1( shapes, data ); - - }; - - // - - function toJSON$1( shapes, data ) { - - data.shapes = []; - - if ( Array.isArray( shapes ) ) { - - for ( var i = 0, l = shapes.length; i < l; i ++ ) { - - var shape = shapes[ i ]; - - data.shapes.push( shape.uuid ); - - } - - } else { - - data.shapes.push( shapes.uuid ); - - } - - return data; - - } - - /** - * @author WestLangley / http://github.com/WestLangley - * @author Mugen87 / https://github.com/Mugen87 - */ - - function EdgesGeometry( geometry, thresholdAngle ) { - - BufferGeometry.call( this ); - - this.type = 'EdgesGeometry'; - - this.parameters = { - thresholdAngle: thresholdAngle - }; - - thresholdAngle = ( thresholdAngle !== undefined ) ? thresholdAngle : 1; - - // buffer - - var vertices = []; - - // helper variables - - var thresholdDot = Math.cos( _Math.DEG2RAD * thresholdAngle ); - var edge = [ 0, 0 ], edges = {}, edge1, edge2; - var key, keys = [ 'a', 'b', 'c' ]; - - // prepare source geometry - - var geometry2; - - if ( geometry.isBufferGeometry ) { - - geometry2 = new Geometry(); - geometry2.fromBufferGeometry( geometry ); - - } else { - - geometry2 = geometry.clone(); - - } - - geometry2.mergeVertices(); - geometry2.computeFaceNormals(); - - var sourceVertices = geometry2.vertices; - var faces = geometry2.faces; - - // now create a data structure where each entry represents an edge with its adjoining faces - - for ( var i = 0, l = faces.length; i < l; i ++ ) { - - var face = faces[ i ]; - - for ( var j = 0; j < 3; j ++ ) { - - edge1 = face[ keys[ j ] ]; - edge2 = face[ keys[ ( j + 1 ) % 3 ] ]; - edge[ 0 ] = Math.min( edge1, edge2 ); - edge[ 1 ] = Math.max( edge1, edge2 ); - - key = edge[ 0 ] + ',' + edge[ 1 ]; - - if ( edges[ key ] === undefined ) { - - edges[ key ] = { index1: edge[ 0 ], index2: edge[ 1 ], face1: i, face2: undefined }; - - } else { - - edges[ key ].face2 = i; - - } - - } - - } - - // generate vertices - - for ( key in edges ) { - - var e = edges[ key ]; - - // an edge is only rendered if the angle (in degrees) between the face normals of the adjoining faces exceeds this value. default = 1 degree. - - if ( e.face2 === undefined || faces[ e.face1 ].normal.dot( faces[ e.face2 ].normal ) <= thresholdDot ) { - - var vertex = sourceVertices[ e.index1 ]; - vertices.push( vertex.x, vertex.y, vertex.z ); - - vertex = sourceVertices[ e.index2 ]; - vertices.push( vertex.x, vertex.y, vertex.z ); - - } - - } - - // build geometry - - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - - } - - EdgesGeometry.prototype = Object.create( BufferGeometry.prototype ); - EdgesGeometry.prototype.constructor = EdgesGeometry; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ - - // CylinderGeometry - - function CylinderGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { - - Geometry.call( this ); - - this.type = 'CylinderGeometry'; - - this.parameters = { - radiusTop: radiusTop, - radiusBottom: radiusBottom, - height: height, - radialSegments: radialSegments, - heightSegments: heightSegments, - openEnded: openEnded, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - this.fromBufferGeometry( new CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) ); - this.mergeVertices(); - - } - - CylinderGeometry.prototype = Object.create( Geometry.prototype ); - CylinderGeometry.prototype.constructor = CylinderGeometry; - - // CylinderBufferGeometry - - function CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { - - BufferGeometry.call( this ); - - this.type = 'CylinderBufferGeometry'; - - this.parameters = { - radiusTop: radiusTop, - radiusBottom: radiusBottom, - height: height, - radialSegments: radialSegments, - heightSegments: heightSegments, - openEnded: openEnded, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - var scope = this; - - radiusTop = radiusTop !== undefined ? radiusTop : 1; - radiusBottom = radiusBottom !== undefined ? radiusBottom : 1; - height = height || 1; - - radialSegments = Math.floor( radialSegments ) || 8; - heightSegments = Math.floor( heightSegments ) || 1; - - openEnded = openEnded !== undefined ? openEnded : false; - thetaStart = thetaStart !== undefined ? thetaStart : 0.0; - thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var index = 0; - var indexArray = []; - var halfHeight = height / 2; - var groupStart = 0; - - // generate geometry - - generateTorso(); - - if ( openEnded === false ) { - - if ( radiusTop > 0 ) generateCap( true ); - if ( radiusBottom > 0 ) generateCap( false ); - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - function generateTorso() { - - var x, y; - var normal = new Vector3(); - var vertex = new Vector3(); - - var groupCount = 0; - - // this will be used to calculate the normal - var slope = ( radiusBottom - radiusTop ) / height; - - // generate vertices, normals and uvs - - for ( y = 0; y <= heightSegments; y ++ ) { - - var indexRow = []; - - var v = y / heightSegments; - - // calculate the radius of the current row - - var radius = v * ( radiusBottom - radiusTop ) + radiusTop; - - for ( x = 0; x <= radialSegments; x ++ ) { - - var u = x / radialSegments; - - var theta = u * thetaLength + thetaStart; - - var sinTheta = Math.sin( theta ); - var cosTheta = Math.cos( theta ); - - // vertex - - vertex.x = radius * sinTheta; - vertex.y = - v * height + halfHeight; - vertex.z = radius * cosTheta; - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - normal.set( sinTheta, slope, cosTheta ).normalize(); - normals.push( normal.x, normal.y, normal.z ); - - // uv - - uvs.push( u, 1 - v ); - - // save index of vertex in respective row - - indexRow.push( index ++ ); - - } - - // now save vertices of the row in our index array - - indexArray.push( indexRow ); - - } - - // generate indices - - for ( x = 0; x < radialSegments; x ++ ) { - - for ( y = 0; y < heightSegments; y ++ ) { - - // we use the index array to access the correct indices - - var a = indexArray[ y ][ x ]; - var b = indexArray[ y + 1 ][ x ]; - var c = indexArray[ y + 1 ][ x + 1 ]; - var d = indexArray[ y ][ x + 1 ]; - - // faces - - indices.push( a, b, d ); - indices.push( b, c, d ); - - // update group counter - - groupCount += 6; - - } - - } - - // add a group to the geometry. this will ensure multi material support - - scope.addGroup( groupStart, groupCount, 0 ); - - // calculate new start value for groups - - groupStart += groupCount; - - } - - function generateCap( top ) { - - var x, centerIndexStart, centerIndexEnd; - - var uv = new Vector2(); - var vertex = new Vector3(); - - var groupCount = 0; - - var radius = ( top === true ) ? radiusTop : radiusBottom; - var sign = ( top === true ) ? 1 : - 1; - - // save the index of the first center vertex - centerIndexStart = index; - - // first we generate the center vertex data of the cap. - // because the geometry needs one set of uvs per face, - // we must generate a center vertex per face/segment - - for ( x = 1; x <= radialSegments; x ++ ) { - - // vertex - - vertices.push( 0, halfHeight * sign, 0 ); - - // normal - - normals.push( 0, sign, 0 ); - - // uv - - uvs.push( 0.5, 0.5 ); - - // increase index - - index ++; - - } - - // save the index of the last center vertex - - centerIndexEnd = index; - - // now we generate the surrounding vertices, normals and uvs - - for ( x = 0; x <= radialSegments; x ++ ) { - - var u = x / radialSegments; - var theta = u * thetaLength + thetaStart; - - var cosTheta = Math.cos( theta ); - var sinTheta = Math.sin( theta ); - - // vertex - - vertex.x = radius * sinTheta; - vertex.y = halfHeight * sign; - vertex.z = radius * cosTheta; - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - normals.push( 0, sign, 0 ); - - // uv - - uv.x = ( cosTheta * 0.5 ) + 0.5; - uv.y = ( sinTheta * 0.5 * sign ) + 0.5; - uvs.push( uv.x, uv.y ); - - // increase index - - index ++; - - } - - // generate indices - - for ( x = 0; x < radialSegments; x ++ ) { - - var c = centerIndexStart + x; - var i = centerIndexEnd + x; - - if ( top === true ) { - - // face top - - indices.push( i, i + 1, c ); - - } else { - - // face bottom - - indices.push( i + 1, i, c ); - - } - - groupCount += 3; - - } - - // add a group to the geometry. this will ensure multi material support - - scope.addGroup( groupStart, groupCount, top === true ? 1 : 2 ); - - // calculate new start value for groups - - groupStart += groupCount; - - } - - } - - CylinderBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - CylinderBufferGeometry.prototype.constructor = CylinderBufferGeometry; - - /** - * @author abelnation / http://github.com/abelnation - */ - - // ConeGeometry - - function ConeGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { - - CylinderGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); - - this.type = 'ConeGeometry'; - - this.parameters = { - radius: radius, - height: height, - radialSegments: radialSegments, - heightSegments: heightSegments, - openEnded: openEnded, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - } - - ConeGeometry.prototype = Object.create( CylinderGeometry.prototype ); - ConeGeometry.prototype.constructor = ConeGeometry; - - // ConeBufferGeometry - - function ConeBufferGeometry( radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) { - - CylinderBufferGeometry.call( this, 0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ); - - this.type = 'ConeBufferGeometry'; - - this.parameters = { - radius: radius, - height: height, - radialSegments: radialSegments, - heightSegments: heightSegments, - openEnded: openEnded, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - } - - ConeBufferGeometry.prototype = Object.create( CylinderBufferGeometry.prototype ); - ConeBufferGeometry.prototype.constructor = ConeBufferGeometry; - - /** - * @author benaadams / https://twitter.com/ben_a_adams - * @author Mugen87 / https://github.com/Mugen87 - * @author hughes - */ - - // CircleGeometry - - function CircleGeometry( radius, segments, thetaStart, thetaLength ) { - - Geometry.call( this ); - - this.type = 'CircleGeometry'; - - this.parameters = { - radius: radius, - segments: segments, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - this.fromBufferGeometry( new CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) ); - this.mergeVertices(); - - } - - CircleGeometry.prototype = Object.create( Geometry.prototype ); - CircleGeometry.prototype.constructor = CircleGeometry; - - // CircleBufferGeometry - - function CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) { - - BufferGeometry.call( this ); - - this.type = 'CircleBufferGeometry'; - - this.parameters = { - radius: radius, - segments: segments, - thetaStart: thetaStart, - thetaLength: thetaLength - }; - - radius = radius || 1; - segments = segments !== undefined ? Math.max( 3, segments ) : 8; - - thetaStart = thetaStart !== undefined ? thetaStart : 0; - thetaLength = thetaLength !== undefined ? thetaLength : Math.PI * 2; - - // buffers - - var indices = []; - var vertices = []; - var normals = []; - var uvs = []; - - // helper variables - - var i, s; - var vertex = new Vector3(); - var uv = new Vector2(); - - // center point - - vertices.push( 0, 0, 0 ); - normals.push( 0, 0, 1 ); - uvs.push( 0.5, 0.5 ); - - for ( s = 0, i = 3; s <= segments; s ++, i += 3 ) { - - var segment = thetaStart + s / segments * thetaLength; - - // vertex - - vertex.x = radius * Math.cos( segment ); - vertex.y = radius * Math.sin( segment ); - - vertices.push( vertex.x, vertex.y, vertex.z ); - - // normal - - normals.push( 0, 0, 1 ); - - // uvs - - uv.x = ( vertices[ i ] / radius + 1 ) / 2; - uv.y = ( vertices[ i + 1 ] / radius + 1 ) / 2; - - uvs.push( uv.x, uv.y ); - - } - - // indices - - for ( i = 1; i <= segments; i ++ ) { - - indices.push( i, i + 1, 0 ); - - } - - // build geometry - - this.setIndex( indices ); - this.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - this.addAttribute( 'normal', new Float32BufferAttribute( normals, 3 ) ); - this.addAttribute( 'uv', new Float32BufferAttribute( uvs, 2 ) ); - - } - - CircleBufferGeometry.prototype = Object.create( BufferGeometry.prototype ); - CircleBufferGeometry.prototype.constructor = CircleBufferGeometry; - - - - var Geometries = /*#__PURE__*/Object.freeze({ - WireframeGeometry: WireframeGeometry, - ParametricGeometry: ParametricGeometry, - ParametricBufferGeometry: ParametricBufferGeometry, - TetrahedronGeometry: TetrahedronGeometry, - TetrahedronBufferGeometry: TetrahedronBufferGeometry, - OctahedronGeometry: OctahedronGeometry, - OctahedronBufferGeometry: OctahedronBufferGeometry, - IcosahedronGeometry: IcosahedronGeometry, - IcosahedronBufferGeometry: IcosahedronBufferGeometry, - DodecahedronGeometry: DodecahedronGeometry, - DodecahedronBufferGeometry: DodecahedronBufferGeometry, - PolyhedronGeometry: PolyhedronGeometry, - PolyhedronBufferGeometry: PolyhedronBufferGeometry, - TubeGeometry: TubeGeometry, - TubeBufferGeometry: TubeBufferGeometry, - TorusKnotGeometry: TorusKnotGeometry, - TorusKnotBufferGeometry: TorusKnotBufferGeometry, - TorusGeometry: TorusGeometry, - TorusBufferGeometry: TorusBufferGeometry, - TextGeometry: TextGeometry, - TextBufferGeometry: TextBufferGeometry, - SphereGeometry: SphereGeometry, - SphereBufferGeometry: SphereBufferGeometry, - RingGeometry: RingGeometry, - RingBufferGeometry: RingBufferGeometry, - PlaneGeometry: PlaneGeometry, - PlaneBufferGeometry: PlaneBufferGeometry, - LatheGeometry: LatheGeometry, - LatheBufferGeometry: LatheBufferGeometry, - ShapeGeometry: ShapeGeometry, - ShapeBufferGeometry: ShapeBufferGeometry, - ExtrudeGeometry: ExtrudeGeometry, - ExtrudeBufferGeometry: ExtrudeBufferGeometry, - EdgesGeometry: EdgesGeometry, - ConeGeometry: ConeGeometry, - ConeBufferGeometry: ConeBufferGeometry, - CylinderGeometry: CylinderGeometry, - CylinderBufferGeometry: CylinderBufferGeometry, - CircleGeometry: CircleGeometry, - CircleBufferGeometry: CircleBufferGeometry, - BoxGeometry: BoxGeometry, - BoxBufferGeometry: BoxBufferGeometry - }); - - /** - * @author mrdoob / http://mrdoob.com/ - * - * parameters = { - * color: - * } - */ - - function ShadowMaterial( parameters ) { - - Material.call( this ); - - this.type = 'ShadowMaterial'; - - this.color = new Color( 0x000000 ); - this.transparent = true; - - this.setValues( parameters ); - - } - - ShadowMaterial.prototype = Object.create( Material.prototype ); - ShadowMaterial.prototype.constructor = ShadowMaterial; - - ShadowMaterial.prototype.isShadowMaterial = true; - - ShadowMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function RawShaderMaterial( parameters ) { - - ShaderMaterial.call( this, parameters ); - - this.type = 'RawShaderMaterial'; - - } - - RawShaderMaterial.prototype = Object.create( ShaderMaterial.prototype ); - RawShaderMaterial.prototype.constructor = RawShaderMaterial; - - RawShaderMaterial.prototype.isRawShaderMaterial = true; - - /** - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * color: , - * roughness: , - * metalness: , - * opacity: , - * - * map: new THREE.Texture( ), - * - * lightMap: new THREE.Texture( ), - * lightMapIntensity: - * - * aoMap: new THREE.Texture( ), - * aoMapIntensity: - * - * emissive: , - * emissiveIntensity: - * emissiveMap: new THREE.Texture( ), - * - * bumpMap: new THREE.Texture( ), - * bumpScale: , - * - * normalMap: new THREE.Texture( ), - * normalMapType: THREE.TangentSpaceNormalMap, - * normalScale: , - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: , - * - * roughnessMap: new THREE.Texture( ), - * - * metalnessMap: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), - * envMapIntensity: - * - * refractionRatio: , - * - * wireframe: , - * wireframeLinewidth: , - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function MeshStandardMaterial( parameters ) { - - Material.call( this ); - - this.defines = { 'STANDARD': '' }; - - this.type = 'MeshStandardMaterial'; - - this.color = new Color( 0xffffff ); // diffuse - this.roughness = 0.5; - this.metalness = 0.5; - - this.map = null; - - this.lightMap = null; - this.lightMapIntensity = 1.0; - - this.aoMap = null; - this.aoMapIntensity = 1.0; - - this.emissive = new Color( 0x000000 ); - this.emissiveIntensity = 1.0; - this.emissiveMap = null; - - this.bumpMap = null; - this.bumpScale = 1; - - this.normalMap = null; - this.normalMapType = TangentSpaceNormalMap; - this.normalScale = new Vector2( 1, 1 ); - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.roughnessMap = null; - - this.metalnessMap = null; - - this.alphaMap = null; - - this.envMap = null; - this.envMapIntensity = 1.0; - - this.refractionRatio = 0.98; - - this.wireframe = false; - this.wireframeLinewidth = 1; - this.wireframeLinecap = 'round'; - this.wireframeLinejoin = 'round'; - - this.skinning = false; - this.morphTargets = false; - this.morphNormals = false; - - this.setValues( parameters ); - - } - - MeshStandardMaterial.prototype = Object.create( Material.prototype ); - MeshStandardMaterial.prototype.constructor = MeshStandardMaterial; - - MeshStandardMaterial.prototype.isMeshStandardMaterial = true; - - MeshStandardMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.defines = { 'STANDARD': '' }; - - this.color.copy( source.color ); - this.roughness = source.roughness; - this.metalness = source.metalness; - - this.map = source.map; - - this.lightMap = source.lightMap; - this.lightMapIntensity = source.lightMapIntensity; - - this.aoMap = source.aoMap; - this.aoMapIntensity = source.aoMapIntensity; - - this.emissive.copy( source.emissive ); - this.emissiveMap = source.emissiveMap; - this.emissiveIntensity = source.emissiveIntensity; - - this.bumpMap = source.bumpMap; - this.bumpScale = source.bumpScale; - - this.normalMap = source.normalMap; - this.normalMapType = source.normalMapType; - this.normalScale.copy( source.normalScale ); - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - this.roughnessMap = source.roughnessMap; - - this.metalnessMap = source.metalnessMap; - - this.alphaMap = source.alphaMap; - - this.envMap = source.envMap; - this.envMapIntensity = source.envMapIntensity; - - this.refractionRatio = source.refractionRatio; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - this.wireframeLinecap = source.wireframeLinecap; - this.wireframeLinejoin = source.wireframeLinejoin; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - return this; - - }; - - /** - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * reflectivity: - * clearCoat: - * clearCoatRoughness: - * } - */ - - function MeshPhysicalMaterial( parameters ) { - - MeshStandardMaterial.call( this ); - - this.defines = { 'PHYSICAL': '' }; - - this.type = 'MeshPhysicalMaterial'; - - this.reflectivity = 0.5; // maps to F0 = 0.04 - - this.clearCoat = 0.0; - this.clearCoatRoughness = 0.0; - - this.setValues( parameters ); - - } - - MeshPhysicalMaterial.prototype = Object.create( MeshStandardMaterial.prototype ); - MeshPhysicalMaterial.prototype.constructor = MeshPhysicalMaterial; - - MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true; - - MeshPhysicalMaterial.prototype.copy = function ( source ) { - - MeshStandardMaterial.prototype.copy.call( this, source ); - - this.defines = { 'PHYSICAL': '' }; - - this.reflectivity = source.reflectivity; - - this.clearCoat = source.clearCoat; - this.clearCoatRoughness = source.clearCoatRoughness; - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * specular: , - * shininess: , - * opacity: , - * - * map: new THREE.Texture( ), - * - * lightMap: new THREE.Texture( ), - * lightMapIntensity: - * - * aoMap: new THREE.Texture( ), - * aoMapIntensity: - * - * emissive: , - * emissiveIntensity: - * emissiveMap: new THREE.Texture( ), - * - * bumpMap: new THREE.Texture( ), - * bumpScale: , - * - * normalMap: new THREE.Texture( ), - * normalMapType: THREE.TangentSpaceNormalMap, - * normalScale: , - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: , - * - * specularMap: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), - * combine: THREE.Multiply, - * reflectivity: , - * refractionRatio: , - * - * wireframe: , - * wireframeLinewidth: , - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function MeshPhongMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshPhongMaterial'; - - this.color = new Color( 0xffffff ); // diffuse - this.specular = new Color( 0x111111 ); - this.shininess = 30; - - this.map = null; - - this.lightMap = null; - this.lightMapIntensity = 1.0; - - this.aoMap = null; - this.aoMapIntensity = 1.0; - - this.emissive = new Color( 0x000000 ); - this.emissiveIntensity = 1.0; - this.emissiveMap = null; - - this.bumpMap = null; - this.bumpScale = 1; - - this.normalMap = null; - this.normalMapType = TangentSpaceNormalMap; - this.normalScale = new Vector2( 1, 1 ); - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.specularMap = null; - - this.alphaMap = null; - - this.envMap = null; - this.combine = MultiplyOperation; - this.reflectivity = 1; - this.refractionRatio = 0.98; - - this.wireframe = false; - this.wireframeLinewidth = 1; - this.wireframeLinecap = 'round'; - this.wireframeLinejoin = 'round'; - - this.skinning = false; - this.morphTargets = false; - this.morphNormals = false; - - this.setValues( parameters ); - - } - - MeshPhongMaterial.prototype = Object.create( Material.prototype ); - MeshPhongMaterial.prototype.constructor = MeshPhongMaterial; - - MeshPhongMaterial.prototype.isMeshPhongMaterial = true; - - MeshPhongMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - this.specular.copy( source.specular ); - this.shininess = source.shininess; - - this.map = source.map; - - this.lightMap = source.lightMap; - this.lightMapIntensity = source.lightMapIntensity; - - this.aoMap = source.aoMap; - this.aoMapIntensity = source.aoMapIntensity; - - this.emissive.copy( source.emissive ); - this.emissiveMap = source.emissiveMap; - this.emissiveIntensity = source.emissiveIntensity; - - this.bumpMap = source.bumpMap; - this.bumpScale = source.bumpScale; - - this.normalMap = source.normalMap; - this.normalMapType = source.normalMapType; - this.normalScale.copy( source.normalScale ); - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - this.specularMap = source.specularMap; - - this.alphaMap = source.alphaMap; - - this.envMap = source.envMap; - this.combine = source.combine; - this.reflectivity = source.reflectivity; - this.refractionRatio = source.refractionRatio; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - this.wireframeLinecap = source.wireframeLinecap; - this.wireframeLinejoin = source.wireframeLinejoin; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - return this; - - }; - - /** - * @author takahirox / http://github.com/takahirox - * - * parameters = { - * gradientMap: new THREE.Texture( ) - * } - */ - - function MeshToonMaterial( parameters ) { - - MeshPhongMaterial.call( this ); - - this.defines = { 'TOON': '' }; - - this.type = 'MeshToonMaterial'; - - this.gradientMap = null; - - this.setValues( parameters ); - - } - - MeshToonMaterial.prototype = Object.create( MeshPhongMaterial.prototype ); - MeshToonMaterial.prototype.constructor = MeshToonMaterial; - - MeshToonMaterial.prototype.isMeshToonMaterial = true; - - MeshToonMaterial.prototype.copy = function ( source ) { - - MeshPhongMaterial.prototype.copy.call( this, source ); - - this.gradientMap = source.gradientMap; - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * opacity: , - * - * bumpMap: new THREE.Texture( ), - * bumpScale: , - * - * normalMap: new THREE.Texture( ), - * normalMapType: THREE.TangentSpaceNormalMap, - * normalScale: , - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: , - * - * wireframe: , - * wireframeLinewidth: - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function MeshNormalMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshNormalMaterial'; - - this.bumpMap = null; - this.bumpScale = 1; - - this.normalMap = null; - this.normalMapType = TangentSpaceNormalMap; - this.normalScale = new Vector2( 1, 1 ); - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.wireframe = false; - this.wireframeLinewidth = 1; - - this.fog = false; - this.lights = false; - - this.skinning = false; - this.morphTargets = false; - this.morphNormals = false; - - this.setValues( parameters ); - - } - - MeshNormalMaterial.prototype = Object.create( Material.prototype ); - MeshNormalMaterial.prototype.constructor = MeshNormalMaterial; - - MeshNormalMaterial.prototype.isMeshNormalMaterial = true; - - MeshNormalMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.bumpMap = source.bumpMap; - this.bumpScale = source.bumpScale; - - this.normalMap = source.normalMap; - this.normalMapType = source.normalMapType; - this.normalScale.copy( source.normalScale ); - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - return this; - - }; - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * opacity: , - * - * map: new THREE.Texture( ), - * - * lightMap: new THREE.Texture( ), - * lightMapIntensity: - * - * aoMap: new THREE.Texture( ), - * aoMapIntensity: - * - * emissive: , - * emissiveIntensity: - * emissiveMap: new THREE.Texture( ), - * - * specularMap: new THREE.Texture( ), - * - * alphaMap: new THREE.Texture( ), - * - * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), - * combine: THREE.Multiply, - * reflectivity: , - * refractionRatio: , - * - * wireframe: , - * wireframeLinewidth: , - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function MeshLambertMaterial( parameters ) { - - Material.call( this ); - - this.type = 'MeshLambertMaterial'; - - this.color = new Color( 0xffffff ); // diffuse - - this.map = null; - - this.lightMap = null; - this.lightMapIntensity = 1.0; - - this.aoMap = null; - this.aoMapIntensity = 1.0; - - this.emissive = new Color( 0x000000 ); - this.emissiveIntensity = 1.0; - this.emissiveMap = null; - - this.specularMap = null; - - this.alphaMap = null; - - this.envMap = null; - this.combine = MultiplyOperation; - this.reflectivity = 1; - this.refractionRatio = 0.98; - - this.wireframe = false; - this.wireframeLinewidth = 1; - this.wireframeLinecap = 'round'; - this.wireframeLinejoin = 'round'; - - this.skinning = false; - this.morphTargets = false; - this.morphNormals = false; - - this.setValues( parameters ); - - } - - MeshLambertMaterial.prototype = Object.create( Material.prototype ); - MeshLambertMaterial.prototype.constructor = MeshLambertMaterial; - - MeshLambertMaterial.prototype.isMeshLambertMaterial = true; - - MeshLambertMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - - this.map = source.map; - - this.lightMap = source.lightMap; - this.lightMapIntensity = source.lightMapIntensity; - - this.aoMap = source.aoMap; - this.aoMapIntensity = source.aoMapIntensity; - - this.emissive.copy( source.emissive ); - this.emissiveMap = source.emissiveMap; - this.emissiveIntensity = source.emissiveIntensity; - - this.specularMap = source.specularMap; - - this.alphaMap = source.alphaMap; - - this.envMap = source.envMap; - this.combine = source.combine; - this.reflectivity = source.reflectivity; - this.refractionRatio = source.refractionRatio; - - this.wireframe = source.wireframe; - this.wireframeLinewidth = source.wireframeLinewidth; - this.wireframeLinecap = source.wireframeLinecap; - this.wireframeLinejoin = source.wireframeLinejoin; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - return this; - - }; - - /** - * @author WestLangley / http://github.com/WestLangley - * - * parameters = { - * color: , - * opacity: , - * - * matcap: new THREE.Texture( ), - * - * map: new THREE.Texture( ), - * - * bumpMap: new THREE.Texture( ), - * bumpScale: , - * - * normalMap: new THREE.Texture( ), - * normalMapType: THREE.TangentSpaceNormalMap, - * normalScale: , - * - * displacementMap: new THREE.Texture( ), - * displacementScale: , - * displacementBias: , - * - * alphaMap: new THREE.Texture( ), - * - * skinning: , - * morphTargets: , - * morphNormals: - * } - */ - - function MeshMatcapMaterial( parameters ) { - - Material.call( this ); - - this.defines = { 'MATCAP': '' }; - - this.type = 'MeshMatcapMaterial'; - - this.color = new Color( 0xffffff ); // diffuse - - this.matcap = null; - - this.map = null; - - this.bumpMap = null; - this.bumpScale = 1; - - this.normalMap = null; - this.normalMapType = TangentSpaceNormalMap; - this.normalScale = new Vector2( 1, 1 ); - - this.displacementMap = null; - this.displacementScale = 1; - this.displacementBias = 0; - - this.alphaMap = null; - - this.skinning = false; - this.morphTargets = false; - this.morphNormals = false; - - this.lights = false; - - this.setValues( parameters ); - - } - - MeshMatcapMaterial.prototype = Object.create( Material.prototype ); - MeshMatcapMaterial.prototype.constructor = MeshMatcapMaterial; - - MeshMatcapMaterial.prototype.isMeshMatcapMaterial = true; - - MeshMatcapMaterial.prototype.copy = function ( source ) { - - Material.prototype.copy.call( this, source ); - - this.defines = { 'MATCAP': '' }; - - this.color.copy( source.color ); - - this.matcap = source.matcap; - - this.map = source.map; - - this.bumpMap = source.bumpMap; - this.bumpScale = source.bumpScale; - - this.normalMap = source.normalMap; - this.normalMapType = source.normalMapType; - this.normalScale.copy( source.normalScale ); - - this.displacementMap = source.displacementMap; - this.displacementScale = source.displacementScale; - this.displacementBias = source.displacementBias; - - this.alphaMap = source.alphaMap; - - this.skinning = source.skinning; - this.morphTargets = source.morphTargets; - this.morphNormals = source.morphNormals; - - return this; - - }; - - /** - * @author alteredq / http://alteredqualia.com/ - * - * parameters = { - * color: , - * opacity: , - * - * linewidth: , - * - * scale: , - * dashSize: , - * gapSize: - * } - */ - - function LineDashedMaterial( parameters ) { - - LineBasicMaterial.call( this ); - - this.type = 'LineDashedMaterial'; - - this.scale = 1; - this.dashSize = 3; - this.gapSize = 1; - - this.setValues( parameters ); - - } - - LineDashedMaterial.prototype = Object.create( LineBasicMaterial.prototype ); - LineDashedMaterial.prototype.constructor = LineDashedMaterial; - - LineDashedMaterial.prototype.isLineDashedMaterial = true; - - LineDashedMaterial.prototype.copy = function ( source ) { - - LineBasicMaterial.prototype.copy.call( this, source ); - - this.scale = source.scale; - this.dashSize = source.dashSize; - this.gapSize = source.gapSize; - - return this; - - }; - - - - var Materials = /*#__PURE__*/Object.freeze({ - ShadowMaterial: ShadowMaterial, - SpriteMaterial: SpriteMaterial, - RawShaderMaterial: RawShaderMaterial, - ShaderMaterial: ShaderMaterial, - PointsMaterial: PointsMaterial, - MeshPhysicalMaterial: MeshPhysicalMaterial, - MeshStandardMaterial: MeshStandardMaterial, - MeshPhongMaterial: MeshPhongMaterial, - MeshToonMaterial: MeshToonMaterial, - MeshNormalMaterial: MeshNormalMaterial, - MeshLambertMaterial: MeshLambertMaterial, - MeshDepthMaterial: MeshDepthMaterial, - MeshDistanceMaterial: MeshDistanceMaterial, - MeshBasicMaterial: MeshBasicMaterial, - MeshMatcapMaterial: MeshMatcapMaterial, - LineDashedMaterial: LineDashedMaterial, - LineBasicMaterial: LineBasicMaterial, - Material: Material - }); - - /** - * @author tschw - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - */ - - var AnimationUtils = { - - // same as Array.prototype.slice, but also works on typed arrays - arraySlice: function ( array, from, to ) { - - if ( AnimationUtils.isTypedArray( array ) ) { - - // in ios9 array.subarray(from, undefined) will return empty array - // but array.subarray(from) or array.subarray(from, len) is correct - return new array.constructor( array.subarray( from, to !== undefined ? to : array.length ) ); - - } - - return array.slice( from, to ); - - }, - - // converts an array to a specific type - convertArray: function ( array, type, forceClone ) { - - if ( ! array || // let 'undefined' and 'null' pass - ! forceClone && array.constructor === type ) return array; - - if ( typeof type.BYTES_PER_ELEMENT === 'number' ) { - - return new type( array ); // create typed array - - } - - return Array.prototype.slice.call( array ); // create Array - - }, - - isTypedArray: function ( object ) { - - return ArrayBuffer.isView( object ) && - ! ( object instanceof DataView ); - - }, - - // returns an array by which times and values can be sorted - getKeyframeOrder: function ( times ) { - - function compareTime( i, j ) { - - return times[ i ] - times[ j ]; - - } - - var n = times.length; - var result = new Array( n ); - for ( var i = 0; i !== n; ++ i ) result[ i ] = i; - - result.sort( compareTime ); - - return result; - - }, - - // uses the array previously returned by 'getKeyframeOrder' to sort data - sortedArray: function ( values, stride, order ) { - - var nValues = values.length; - var result = new values.constructor( nValues ); - - for ( var i = 0, dstOffset = 0; dstOffset !== nValues; ++ i ) { - - var srcOffset = order[ i ] * stride; - - for ( var j = 0; j !== stride; ++ j ) { - - result[ dstOffset ++ ] = values[ srcOffset + j ]; - - } - - } - - return result; - - }, - - // function for parsing AOS keyframe formats - flattenJSON: function ( jsonKeys, times, values, valuePropertyName ) { - - var i = 1, key = jsonKeys[ 0 ]; - - while ( key !== undefined && key[ valuePropertyName ] === undefined ) { - - key = jsonKeys[ i ++ ]; - - } - - if ( key === undefined ) return; // no data - - var value = key[ valuePropertyName ]; - if ( value === undefined ) return; // no data - - if ( Array.isArray( value ) ) { - - do { - - value = key[ valuePropertyName ]; - - if ( value !== undefined ) { - - times.push( key.time ); - values.push.apply( values, value ); // push all elements - - } - - key = jsonKeys[ i ++ ]; - - } while ( key !== undefined ); - - } else if ( value.toArray !== undefined ) { - - // ...assume THREE.Math-ish - - do { - - value = key[ valuePropertyName ]; - - if ( value !== undefined ) { - - times.push( key.time ); - value.toArray( values, values.length ); - - } - - key = jsonKeys[ i ++ ]; - - } while ( key !== undefined ); - - } else { - - // otherwise push as-is - - do { - - value = key[ valuePropertyName ]; - - if ( value !== undefined ) { - - times.push( key.time ); - values.push( value ); - - } - - key = jsonKeys[ i ++ ]; - - } while ( key !== undefined ); - - } - - } - - }; - - /** - * Abstract base class of interpolants over parametric samples. - * - * The parameter domain is one dimensional, typically the time or a path - * along a curve defined by the data. - * - * The sample values can have any dimensionality and derived classes may - * apply special interpretations to the data. - * - * This class provides the interval seek in a Template Method, deferring - * the actual interpolation to derived classes. - * - * Time complexity is O(1) for linear access crossing at most two points - * and O(log N) for random access, where N is the number of positions. - * - * References: - * - * http://www.oodesign.com/template-method-pattern.html - * - * @author tschw - */ - - function Interpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { - - this.parameterPositions = parameterPositions; - this._cachedIndex = 0; - - this.resultBuffer = resultBuffer !== undefined ? - resultBuffer : new sampleValues.constructor( sampleSize ); - this.sampleValues = sampleValues; - this.valueSize = sampleSize; - - } - - Object.assign( Interpolant.prototype, { - - evaluate: function ( t ) { - - var pp = this.parameterPositions, - i1 = this._cachedIndex, - - t1 = pp[ i1 ], - t0 = pp[ i1 - 1 ]; - - validate_interval: { - - seek: { - - var right; - - linear_scan: { - - //- See http://jsperf.com/comparison-to-undefined/3 - //- slower code: - //- - //- if ( t >= t1 || t1 === undefined ) { - forward_scan: if ( ! ( t < t1 ) ) { - - for ( var giveUpAt = i1 + 2; ; ) { - - if ( t1 === undefined ) { - - if ( t < t0 ) break forward_scan; - - // after end - - i1 = pp.length; - this._cachedIndex = i1; - return this.afterEnd_( i1 - 1, t, t0 ); - - } - - if ( i1 === giveUpAt ) break; // this loop - - t0 = t1; - t1 = pp[ ++ i1 ]; - - if ( t < t1 ) { - - // we have arrived at the sought interval - break seek; - - } - - } - - // prepare binary search on the right side of the index - right = pp.length; - break linear_scan; - - } - - //- slower code: - //- if ( t < t0 || t0 === undefined ) { - if ( ! ( t >= t0 ) ) { - - // looping? - - var t1global = pp[ 1 ]; - - if ( t < t1global ) { - - i1 = 2; // + 1, using the scan for the details - t0 = t1global; - - } - - // linear reverse scan - - for ( var giveUpAt = i1 - 2; ; ) { - - if ( t0 === undefined ) { - - // before start - - this._cachedIndex = 0; - return this.beforeStart_( 0, t, t1 ); - - } - - if ( i1 === giveUpAt ) break; // this loop - - t1 = t0; - t0 = pp[ -- i1 - 1 ]; - - if ( t >= t0 ) { - - // we have arrived at the sought interval - break seek; - - } - - } - - // prepare binary search on the left side of the index - right = i1; - i1 = 0; - break linear_scan; - - } - - // the interval is valid - - break validate_interval; - - } // linear scan - - // binary search - - while ( i1 < right ) { - - var mid = ( i1 + right ) >>> 1; - - if ( t < pp[ mid ] ) { - - right = mid; - - } else { - - i1 = mid + 1; - - } - - } - - t1 = pp[ i1 ]; - t0 = pp[ i1 - 1 ]; - - // check boundary cases, again - - if ( t0 === undefined ) { - - this._cachedIndex = 0; - return this.beforeStart_( 0, t, t1 ); - - } - - if ( t1 === undefined ) { - - i1 = pp.length; - this._cachedIndex = i1; - return this.afterEnd_( i1 - 1, t0, t ); - - } - - } // seek - - this._cachedIndex = i1; - - this.intervalChanged_( i1, t0, t1 ); - - } // validate_interval - - return this.interpolate_( i1, t0, t, t1 ); - - }, - - settings: null, // optional, subclass-specific settings structure - // Note: The indirection allows central control of many interpolants. - - // --- Protected interface - - DefaultSettings_: {}, - - getSettings_: function () { - - return this.settings || this.DefaultSettings_; - - }, - - copySampleValue_: function ( index ) { - - // copies a sample value to the result buffer - - var result = this.resultBuffer, - values = this.sampleValues, - stride = this.valueSize, - offset = index * stride; - - for ( var i = 0; i !== stride; ++ i ) { - - result[ i ] = values[ offset + i ]; - - } - - return result; - - }, - - // Template methods for derived classes: - - interpolate_: function ( /* i1, t0, t, t1 */ ) { - - throw new Error( 'call to abstract method' ); - // implementations shall return this.resultBuffer - - }, - - intervalChanged_: function ( /* i1, t0, t1 */ ) { - - // empty - - } - - } ); - - //!\ DECLARE ALIAS AFTER assign prototype ! - Object.assign( Interpolant.prototype, { - - //( 0, t, t0 ), returns this.resultBuffer - beforeStart_: Interpolant.prototype.copySampleValue_, - - //( N-1, tN-1, t ), returns this.resultBuffer - afterEnd_: Interpolant.prototype.copySampleValue_, - - } ); - - /** - * Fast and simple cubic spline interpolant. - * - * It was derived from a Hermitian construction setting the first derivative - * at each sample position to the linear slope between neighboring positions - * over their parameter interval. - * - * @author tschw - */ - - function CubicInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { - - Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); - - this._weightPrev = - 0; - this._offsetPrev = - 0; - this._weightNext = - 0; - this._offsetNext = - 0; - - } - - CubicInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { - - constructor: CubicInterpolant, - - DefaultSettings_: { - - endingStart: ZeroCurvatureEnding, - endingEnd: ZeroCurvatureEnding - - }, - - intervalChanged_: function ( i1, t0, t1 ) { - - var pp = this.parameterPositions, - iPrev = i1 - 2, - iNext = i1 + 1, - - tPrev = pp[ iPrev ], - tNext = pp[ iNext ]; - - if ( tPrev === undefined ) { - - switch ( this.getSettings_().endingStart ) { - - case ZeroSlopeEnding: - - // f'(t0) = 0 - iPrev = i1; - tPrev = 2 * t0 - t1; - - break; - - case WrapAroundEnding: - - // use the other end of the curve - iPrev = pp.length - 2; - tPrev = t0 + pp[ iPrev ] - pp[ iPrev + 1 ]; - - break; - - default: // ZeroCurvatureEnding - - // f''(t0) = 0 a.k.a. Natural Spline - iPrev = i1; - tPrev = t1; - - } - - } - - if ( tNext === undefined ) { - - switch ( this.getSettings_().endingEnd ) { - - case ZeroSlopeEnding: - - // f'(tN) = 0 - iNext = i1; - tNext = 2 * t1 - t0; - - break; - - case WrapAroundEnding: - - // use the other end of the curve - iNext = 1; - tNext = t1 + pp[ 1 ] - pp[ 0 ]; - - break; - - default: // ZeroCurvatureEnding - - // f''(tN) = 0, a.k.a. Natural Spline - iNext = i1 - 1; - tNext = t0; - - } - - } - - var halfDt = ( t1 - t0 ) * 0.5, - stride = this.valueSize; - - this._weightPrev = halfDt / ( t0 - tPrev ); - this._weightNext = halfDt / ( tNext - t1 ); - this._offsetPrev = iPrev * stride; - this._offsetNext = iNext * stride; - - }, - - interpolate_: function ( i1, t0, t, t1 ) { - - var result = this.resultBuffer, - values = this.sampleValues, - stride = this.valueSize, - - o1 = i1 * stride, o0 = o1 - stride, - oP = this._offsetPrev, oN = this._offsetNext, - wP = this._weightPrev, wN = this._weightNext, - - p = ( t - t0 ) / ( t1 - t0 ), - pp = p * p, - ppp = pp * p; - - // evaluate polynomials - - var sP = - wP * ppp + 2 * wP * pp - wP * p; - var s0 = ( 1 + wP ) * ppp + ( - 1.5 - 2 * wP ) * pp + ( - 0.5 + wP ) * p + 1; - var s1 = ( - 1 - wN ) * ppp + ( 1.5 + wN ) * pp + 0.5 * p; - var sN = wN * ppp - wN * pp; - - // combine data linearly - - for ( var i = 0; i !== stride; ++ i ) { - - result[ i ] = - sP * values[ oP + i ] + - s0 * values[ o0 + i ] + - s1 * values[ o1 + i ] + - sN * values[ oN + i ]; - - } - - return result; - - } - - } ); - - /** - * @author tschw - */ - - function LinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { - - Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); - - } - - LinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { - - constructor: LinearInterpolant, - - interpolate_: function ( i1, t0, t, t1 ) { - - var result = this.resultBuffer, - values = this.sampleValues, - stride = this.valueSize, - - offset1 = i1 * stride, - offset0 = offset1 - stride, - - weight1 = ( t - t0 ) / ( t1 - t0 ), - weight0 = 1 - weight1; - - for ( var i = 0; i !== stride; ++ i ) { - - result[ i ] = - values[ offset0 + i ] * weight0 + - values[ offset1 + i ] * weight1; - - } - - return result; - - } - - } ); - - /** - * - * Interpolant that evaluates to the sample value at the position preceeding - * the parameter. - * - * @author tschw - */ - - function DiscreteInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { - - Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); - - } - - DiscreteInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { - - constructor: DiscreteInterpolant, - - interpolate_: function ( i1 /*, t0, t, t1 */ ) { - - return this.copySampleValue_( i1 - 1 ); - - } - - } ); - - /** - * - * A timed sequence of keyframes for a specific property. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function KeyframeTrack( name, times, values, interpolation ) { - - if ( name === undefined ) throw new Error( 'THREE.KeyframeTrack: track name is undefined' ); - if ( times === undefined || times.length === 0 ) throw new Error( 'THREE.KeyframeTrack: no keyframes in track named ' + name ); - - this.name = name; - - this.times = AnimationUtils.convertArray( times, this.TimeBufferType ); - this.values = AnimationUtils.convertArray( values, this.ValueBufferType ); - - this.setInterpolation( interpolation || this.DefaultInterpolation ); - - } - - // Static methods - - Object.assign( KeyframeTrack, { - - // Serialization (in static context, because of constructor invocation - // and automatic invocation of .toJSON): - - toJSON: function ( track ) { - - var trackType = track.constructor; - - var json; - - // derived classes can define a static toJSON method - if ( trackType.toJSON !== undefined ) { - - json = trackType.toJSON( track ); - - } else { - - // by default, we assume the data can be serialized as-is - json = { - - 'name': track.name, - 'times': AnimationUtils.convertArray( track.times, Array ), - 'values': AnimationUtils.convertArray( track.values, Array ) - - }; - - var interpolation = track.getInterpolation(); - - if ( interpolation !== track.DefaultInterpolation ) { - - json.interpolation = interpolation; - - } - - } - - json.type = track.ValueTypeName; // mandatory - - return json; - - } - - } ); - - Object.assign( KeyframeTrack.prototype, { - - constructor: KeyframeTrack, - - TimeBufferType: Float32Array, - - ValueBufferType: Float32Array, - - DefaultInterpolation: InterpolateLinear, - - InterpolantFactoryMethodDiscrete: function ( result ) { - - return new DiscreteInterpolant( this.times, this.values, this.getValueSize(), result ); - - }, - - InterpolantFactoryMethodLinear: function ( result ) { - - return new LinearInterpolant( this.times, this.values, this.getValueSize(), result ); - - }, - - InterpolantFactoryMethodSmooth: function ( result ) { - - return new CubicInterpolant( this.times, this.values, this.getValueSize(), result ); - - }, - - setInterpolation: function ( interpolation ) { - - var factoryMethod; - - switch ( interpolation ) { - - case InterpolateDiscrete: - - factoryMethod = this.InterpolantFactoryMethodDiscrete; - - break; - - case InterpolateLinear: - - factoryMethod = this.InterpolantFactoryMethodLinear; - - break; - - case InterpolateSmooth: - - factoryMethod = this.InterpolantFactoryMethodSmooth; - - break; - - } - - if ( factoryMethod === undefined ) { - - var message = "unsupported interpolation for " + - this.ValueTypeName + " keyframe track named " + this.name; - - if ( this.createInterpolant === undefined ) { - - // fall back to default, unless the default itself is messed up - if ( interpolation !== this.DefaultInterpolation ) { - - this.setInterpolation( this.DefaultInterpolation ); - - } else { - - throw new Error( message ); // fatal, in this case - - } - - } - - console.warn( 'THREE.KeyframeTrack:', message ); - return this; - - } - - this.createInterpolant = factoryMethod; - - return this; - - }, - - getInterpolation: function () { - - switch ( this.createInterpolant ) { - - case this.InterpolantFactoryMethodDiscrete: - - return InterpolateDiscrete; - - case this.InterpolantFactoryMethodLinear: - - return InterpolateLinear; - - case this.InterpolantFactoryMethodSmooth: - - return InterpolateSmooth; - - } - - }, - - getValueSize: function () { - - return this.values.length / this.times.length; - - }, - - // move all keyframes either forwards or backwards in time - shift: function ( timeOffset ) { - - if ( timeOffset !== 0.0 ) { - - var times = this.times; - - for ( var i = 0, n = times.length; i !== n; ++ i ) { - - times[ i ] += timeOffset; - - } - - } - - return this; - - }, - - // scale all keyframe times by a factor (useful for frame <-> seconds conversions) - scale: function ( timeScale ) { - - if ( timeScale !== 1.0 ) { - - var times = this.times; - - for ( var i = 0, n = times.length; i !== n; ++ i ) { - - times[ i ] *= timeScale; - - } - - } - - return this; - - }, - - // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. - // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values - trim: function ( startTime, endTime ) { - - var times = this.times, - nKeys = times.length, - from = 0, - to = nKeys - 1; - - while ( from !== nKeys && times[ from ] < startTime ) { - - ++ from; - - } - - while ( to !== - 1 && times[ to ] > endTime ) { - - -- to; - - } - - ++ to; // inclusive -> exclusive bound - - if ( from !== 0 || to !== nKeys ) { - - // empty tracks are forbidden, so keep at least one keyframe - if ( from >= to ) to = Math.max( to, 1 ), from = to - 1; - - var stride = this.getValueSize(); - this.times = AnimationUtils.arraySlice( times, from, to ); - this.values = AnimationUtils.arraySlice( this.values, from * stride, to * stride ); - - } - - return this; - - }, - - // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable - validate: function () { - - var valid = true; - - var valueSize = this.getValueSize(); - if ( valueSize - Math.floor( valueSize ) !== 0 ) { - - console.error( 'THREE.KeyframeTrack: Invalid value size in track.', this ); - valid = false; - - } - - var times = this.times, - values = this.values, - - nKeys = times.length; - - if ( nKeys === 0 ) { - - console.error( 'THREE.KeyframeTrack: Track is empty.', this ); - valid = false; - - } - - var prevTime = null; - - for ( var i = 0; i !== nKeys; i ++ ) { - - var currTime = times[ i ]; - - if ( typeof currTime === 'number' && isNaN( currTime ) ) { - - console.error( 'THREE.KeyframeTrack: Time is not a valid number.', this, i, currTime ); - valid = false; - break; - - } - - if ( prevTime !== null && prevTime > currTime ) { - - console.error( 'THREE.KeyframeTrack: Out of order keys.', this, i, currTime, prevTime ); - valid = false; - break; - - } - - prevTime = currTime; - - } - - if ( values !== undefined ) { - - if ( AnimationUtils.isTypedArray( values ) ) { - - for ( var i = 0, n = values.length; i !== n; ++ i ) { - - var value = values[ i ]; - - if ( isNaN( value ) ) { - - console.error( 'THREE.KeyframeTrack: Value is not a valid number.', this, i, value ); - valid = false; - break; - - } - - } - - } - - } - - return valid; - - }, - - // removes equivalent sequential keys as common in morph target sequences - // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) - optimize: function () { - - var times = this.times, - values = this.values, - stride = this.getValueSize(), - - smoothInterpolation = this.getInterpolation() === InterpolateSmooth, - - writeIndex = 1, - lastIndex = times.length - 1; - - for ( var i = 1; i < lastIndex; ++ i ) { - - var keep = false; - - var time = times[ i ]; - var timeNext = times[ i + 1 ]; - - // remove adjacent keyframes scheduled at the same time - - if ( time !== timeNext && ( i !== 1 || time !== time[ 0 ] ) ) { - - if ( ! smoothInterpolation ) { - - // remove unnecessary keyframes same as their neighbors - - var offset = i * stride, - offsetP = offset - stride, - offsetN = offset + stride; - - for ( var j = 0; j !== stride; ++ j ) { - - var value = values[ offset + j ]; - - if ( value !== values[ offsetP + j ] || - value !== values[ offsetN + j ] ) { - - keep = true; - break; - - } - - } - - } else { - - keep = true; - - } - - } - - // in-place compaction - - if ( keep ) { - - if ( i !== writeIndex ) { - - times[ writeIndex ] = times[ i ]; - - var readOffset = i * stride, - writeOffset = writeIndex * stride; - - for ( var j = 0; j !== stride; ++ j ) { - - values[ writeOffset + j ] = values[ readOffset + j ]; - - } - - } - - ++ writeIndex; - - } - - } - - // flush last keyframe (compaction looks ahead) - - if ( lastIndex > 0 ) { - - times[ writeIndex ] = times[ lastIndex ]; - - for ( var readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++ j ) { - - values[ writeOffset + j ] = values[ readOffset + j ]; - - } - - ++ writeIndex; - - } - - if ( writeIndex !== times.length ) { - - this.times = AnimationUtils.arraySlice( times, 0, writeIndex ); - this.values = AnimationUtils.arraySlice( values, 0, writeIndex * stride ); - - } - - return this; - - }, - - clone: function () { - - var times = AnimationUtils.arraySlice( this.times, 0 ); - var values = AnimationUtils.arraySlice( this.values, 0 ); - - var TypedKeyframeTrack = this.constructor; - var track = new TypedKeyframeTrack( this.name, times, values ); - - // Interpolant argument to constructor is not saved, so copy the factory method directly. - track.createInterpolant = this.createInterpolant; - - return track; - - } - - } ); - - /** - * - * A Track of Boolean keyframe values. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function BooleanKeyframeTrack( name, times, values ) { - - KeyframeTrack.call( this, name, times, values ); - - } - - BooleanKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: BooleanKeyframeTrack, - - ValueTypeName: 'bool', - ValueBufferType: Array, - - DefaultInterpolation: InterpolateDiscrete, - - InterpolantFactoryMethodLinear: undefined, - InterpolantFactoryMethodSmooth: undefined - - // Note: Actually this track could have a optimized / compressed - // representation of a single value and a custom interpolant that - // computes "firstValue ^ isOdd( index )". - - } ); - - /** - * - * A Track of keyframe values that represent color. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function ColorKeyframeTrack( name, times, values, interpolation ) { - - KeyframeTrack.call( this, name, times, values, interpolation ); - - } - - ColorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: ColorKeyframeTrack, - - ValueTypeName: 'color' - - // ValueBufferType is inherited - - // DefaultInterpolation is inherited - - // Note: Very basic implementation and nothing special yet. - // However, this is the place for color space parameterization. - - } ); - - /** - * - * A Track of numeric keyframe values. - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function NumberKeyframeTrack( name, times, values, interpolation ) { - - KeyframeTrack.call( this, name, times, values, interpolation ); - - } - - NumberKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: NumberKeyframeTrack, - - ValueTypeName: 'number' - - // ValueBufferType is inherited - - // DefaultInterpolation is inherited - - } ); - - /** - * Spherical linear unit quaternion interpolant. - * - * @author tschw - */ - - function QuaternionLinearInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { - - Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); - - } - - QuaternionLinearInterpolant.prototype = Object.assign( Object.create( Interpolant.prototype ), { - - constructor: QuaternionLinearInterpolant, - - interpolate_: function ( i1, t0, t, t1 ) { - - var result = this.resultBuffer, - values = this.sampleValues, - stride = this.valueSize, - - offset = i1 * stride, - - alpha = ( t - t0 ) / ( t1 - t0 ); - - for ( var end = offset + stride; offset !== end; offset += 4 ) { - - Quaternion.slerpFlat( result, 0, values, offset - stride, values, offset, alpha ); - - } - - return result; - - } - - } ); - - /** - * - * A Track of quaternion keyframe values. - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function QuaternionKeyframeTrack( name, times, values, interpolation ) { - - KeyframeTrack.call( this, name, times, values, interpolation ); - - } - - QuaternionKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: QuaternionKeyframeTrack, - - ValueTypeName: 'quaternion', - - // ValueBufferType is inherited - - DefaultInterpolation: InterpolateLinear, - - InterpolantFactoryMethodLinear: function ( result ) { - - return new QuaternionLinearInterpolant( this.times, this.values, this.getValueSize(), result ); - - }, - - InterpolantFactoryMethodSmooth: undefined // not yet implemented - - } ); - - /** - * - * A Track that interpolates Strings - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function StringKeyframeTrack( name, times, values, interpolation ) { - - KeyframeTrack.call( this, name, times, values, interpolation ); - - } - - StringKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: StringKeyframeTrack, - - ValueTypeName: 'string', - ValueBufferType: Array, - - DefaultInterpolation: InterpolateDiscrete, - - InterpolantFactoryMethodLinear: undefined, - - InterpolantFactoryMethodSmooth: undefined - - } ); - - /** - * - * A Track of vectored keyframe values. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw - */ - - function VectorKeyframeTrack( name, times, values, interpolation ) { - - KeyframeTrack.call( this, name, times, values, interpolation ); - - } - - VectorKeyframeTrack.prototype = Object.assign( Object.create( KeyframeTrack.prototype ), { - - constructor: VectorKeyframeTrack, - - ValueTypeName: 'vector' - - // ValueBufferType is inherited - - // DefaultInterpolation is inherited - - } ); - - /** - * - * Reusable set of Tracks that represent an animation. - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - */ - - function AnimationClip( name, duration, tracks ) { - - this.name = name; - this.tracks = tracks; - this.duration = ( duration !== undefined ) ? duration : - 1; - - this.uuid = _Math.generateUUID(); - - // this means it should figure out its duration by scanning the tracks - if ( this.duration < 0 ) { - - this.resetDuration(); - - } - - } - - function getTrackTypeForValueTypeName( typeName ) { - - switch ( typeName.toLowerCase() ) { - - case 'scalar': - case 'double': - case 'float': - case 'number': - case 'integer': - - return NumberKeyframeTrack; - - case 'vector': - case 'vector2': - case 'vector3': - case 'vector4': - - return VectorKeyframeTrack; - - case 'color': - - return ColorKeyframeTrack; - - case 'quaternion': - - return QuaternionKeyframeTrack; - - case 'bool': - case 'boolean': - - return BooleanKeyframeTrack; - - case 'string': - - return StringKeyframeTrack; - - } - - throw new Error( 'THREE.KeyframeTrack: Unsupported typeName: ' + typeName ); - - } - - function parseKeyframeTrack( json ) { - - if ( json.type === undefined ) { - - throw new Error( 'THREE.KeyframeTrack: track type undefined, can not parse' ); - - } - - var trackType = getTrackTypeForValueTypeName( json.type ); - - if ( json.times === undefined ) { - - var times = [], values = []; - - AnimationUtils.flattenJSON( json.keys, times, values, 'value' ); - - json.times = times; - json.values = values; - - } - - // derived classes can define a static parse method - if ( trackType.parse !== undefined ) { - - return trackType.parse( json ); - - } else { - - // by default, we assume a constructor compatible with the base - return new trackType( json.name, json.times, json.values, json.interpolation ); - - } - - } - - Object.assign( AnimationClip, { - - parse: function ( json ) { - - var tracks = [], - jsonTracks = json.tracks, - frameTime = 1.0 / ( json.fps || 1.0 ); - - for ( var i = 0, n = jsonTracks.length; i !== n; ++ i ) { - - tracks.push( parseKeyframeTrack( jsonTracks[ i ] ).scale( frameTime ) ); - - } - - return new AnimationClip( json.name, json.duration, tracks ); - - }, - - toJSON: function ( clip ) { - - var tracks = [], - clipTracks = clip.tracks; - - var json = { - - 'name': clip.name, - 'duration': clip.duration, - 'tracks': tracks, - 'uuid': clip.uuid - - }; - - for ( var i = 0, n = clipTracks.length; i !== n; ++ i ) { - - tracks.push( KeyframeTrack.toJSON( clipTracks[ i ] ) ); - - } - - return json; - - }, - - CreateFromMorphTargetSequence: function ( name, morphTargetSequence, fps, noLoop ) { - - var numMorphTargets = morphTargetSequence.length; - var tracks = []; - - for ( var i = 0; i < numMorphTargets; i ++ ) { - - var times = []; - var values = []; - - times.push( - ( i + numMorphTargets - 1 ) % numMorphTargets, - i, - ( i + 1 ) % numMorphTargets ); - - values.push( 0, 1, 0 ); - - var order = AnimationUtils.getKeyframeOrder( times ); - times = AnimationUtils.sortedArray( times, 1, order ); - values = AnimationUtils.sortedArray( values, 1, order ); - - // if there is a key at the first frame, duplicate it as the - // last frame as well for perfect loop. - if ( ! noLoop && times[ 0 ] === 0 ) { - - times.push( numMorphTargets ); - values.push( values[ 0 ] ); - - } - - tracks.push( - new NumberKeyframeTrack( - '.morphTargetInfluences[' + morphTargetSequence[ i ].name + ']', - times, values - ).scale( 1.0 / fps ) ); - - } - - return new AnimationClip( name, - 1, tracks ); - - }, - - findByName: function ( objectOrClipArray, name ) { - - var clipArray = objectOrClipArray; - - if ( ! Array.isArray( objectOrClipArray ) ) { - - var o = objectOrClipArray; - clipArray = o.geometry && o.geometry.animations || o.animations; - - } - - for ( var i = 0; i < clipArray.length; i ++ ) { - - if ( clipArray[ i ].name === name ) { - - return clipArray[ i ]; - - } - - } - - return null; - - }, - - CreateClipsFromMorphTargetSequences: function ( morphTargets, fps, noLoop ) { - - var animationToMorphTargets = {}; - - // tested with https://regex101.com/ on trick sequences - // such flamingo_flyA_003, flamingo_run1_003, crdeath0059 - var pattern = /^([\w-]*?)([\d]+)$/; - - // sort morph target names into animation groups based - // patterns like Walk_001, Walk_002, Run_001, Run_002 - for ( var i = 0, il = morphTargets.length; i < il; i ++ ) { - - var morphTarget = morphTargets[ i ]; - var parts = morphTarget.name.match( pattern ); - - if ( parts && parts.length > 1 ) { - - var name = parts[ 1 ]; - - var animationMorphTargets = animationToMorphTargets[ name ]; - if ( ! animationMorphTargets ) { - - animationToMorphTargets[ name ] = animationMorphTargets = []; - - } - - animationMorphTargets.push( morphTarget ); - - } - - } - - var clips = []; - - for ( var name in animationToMorphTargets ) { - - clips.push( AnimationClip.CreateFromMorphTargetSequence( name, animationToMorphTargets[ name ], fps, noLoop ) ); - - } - - return clips; - - }, - - // parse the animation.hierarchy format - parseAnimation: function ( animation, bones ) { - - if ( ! animation ) { - - console.error( 'THREE.AnimationClip: No animation in JSONLoader data.' ); - return null; - - } - - var addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) { - - // only return track if there are actually keys. - if ( animationKeys.length !== 0 ) { - - var times = []; - var values = []; - - AnimationUtils.flattenJSON( animationKeys, times, values, propertyName ); - - // empty keys are filtered out, so check again - if ( times.length !== 0 ) { - - destTracks.push( new trackType( trackName, times, values ) ); - - } - - } - - }; - - var tracks = []; - - var clipName = animation.name || 'default'; - // automatic length determination in AnimationClip. - var duration = animation.length || - 1; - var fps = animation.fps || 30; - - var hierarchyTracks = animation.hierarchy || []; - - for ( var h = 0; h < hierarchyTracks.length; h ++ ) { - - var animationKeys = hierarchyTracks[ h ].keys; - - // skip empty tracks - if ( ! animationKeys || animationKeys.length === 0 ) continue; - - // process morph targets - if ( animationKeys[ 0 ].morphTargets ) { - - // figure out all morph targets used in this track - var morphTargetNames = {}; - - for ( var k = 0; k < animationKeys.length; k ++ ) { - - if ( animationKeys[ k ].morphTargets ) { - - for ( var m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) { - - morphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1; - - } - - } - - } - - // create a track for each morph target with all zero - // morphTargetInfluences except for the keys in which - // the morphTarget is named. - for ( var morphTargetName in morphTargetNames ) { - - var times = []; - var values = []; - - for ( var m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) { - - var animationKey = animationKeys[ k ]; - - times.push( animationKey.time ); - values.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 ); - - } - - tracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) ); - - } - - duration = morphTargetNames.length * ( fps || 1.0 ); - - } else { - - // ...assume skeletal animation - - var boneName = '.bones[' + bones[ h ].name + ']'; - - addNonemptyTrack( - VectorKeyframeTrack, boneName + '.position', - animationKeys, 'pos', tracks ); - - addNonemptyTrack( - QuaternionKeyframeTrack, boneName + '.quaternion', - animationKeys, 'rot', tracks ); - - addNonemptyTrack( - VectorKeyframeTrack, boneName + '.scale', - animationKeys, 'scl', tracks ); - - } - - } - - if ( tracks.length === 0 ) { - - return null; - - } - - var clip = new AnimationClip( clipName, duration, tracks ); - - return clip; - - } - - } ); - - Object.assign( AnimationClip.prototype, { - - resetDuration: function () { - - var tracks = this.tracks, duration = 0; - - for ( var i = 0, n = tracks.length; i !== n; ++ i ) { - - var track = this.tracks[ i ]; - - duration = Math.max( duration, track.times[ track.times.length - 1 ] ); - - } - - this.duration = duration; - - return this; - - }, - - trim: function () { - - for ( var i = 0; i < this.tracks.length; i ++ ) { - - this.tracks[ i ].trim( 0, this.duration ); - - } - - return this; - - }, - - validate: function () { - - var valid = true; - - for ( var i = 0; i < this.tracks.length; i ++ ) { - - valid = valid && this.tracks[ i ].validate(); - - } - - return valid; - - }, - - optimize: function () { - - for ( var i = 0; i < this.tracks.length; i ++ ) { - - this.tracks[ i ].optimize(); - - } - - return this; - - }, - - - clone: function () { - - var tracks = []; - - for ( var i = 0; i < this.tracks.length; i ++ ) { - - tracks.push( this.tracks[ i ].clone() ); - - } - - return new AnimationClip( this.name, this.duration, tracks ); - - } - - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - var Cache = { - - enabled: false, - - files: {}, - - add: function ( key, file ) { - - if ( this.enabled === false ) return; - - // console.log( 'THREE.Cache', 'Adding key:', key ); - - this.files[ key ] = file; - - }, - - get: function ( key ) { - - if ( this.enabled === false ) return; - - // console.log( 'THREE.Cache', 'Checking key:', key ); - - return this.files[ key ]; - - }, - - remove: function ( key ) { - - delete this.files[ key ]; - - }, - - clear: function () { - - this.files = {}; - - } + var sprite_vert = "uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"; + const ShaderChunk = { + alphamap_fragment: alphamap_fragment, + alphamap_pars_fragment: alphamap_pars_fragment, + alphatest_fragment: alphatest_fragment, + alphatest_pars_fragment: alphatest_pars_fragment, + aomap_fragment: aomap_fragment, + aomap_pars_fragment: aomap_pars_fragment, + begin_vertex: begin_vertex, + beginnormal_vertex: beginnormal_vertex, + bsdfs: bsdfs, + bumpmap_pars_fragment: bumpmap_pars_fragment, + clipping_planes_fragment: clipping_planes_fragment, + clipping_planes_pars_fragment: clipping_planes_pars_fragment, + clipping_planes_pars_vertex: clipping_planes_pars_vertex, + clipping_planes_vertex: clipping_planes_vertex, + color_fragment: color_fragment, + color_pars_fragment: color_pars_fragment, + color_pars_vertex: color_pars_vertex, + color_vertex: color_vertex, + common: common, + cube_uv_reflection_fragment: cube_uv_reflection_fragment, + defaultnormal_vertex: defaultnormal_vertex, + displacementmap_pars_vertex: displacementmap_pars_vertex, + displacementmap_vertex: displacementmap_vertex, + emissivemap_fragment: emissivemap_fragment, + emissivemap_pars_fragment: emissivemap_pars_fragment, + encodings_fragment: encodings_fragment, + encodings_pars_fragment: encodings_pars_fragment, + envmap_fragment: envmap_fragment, + envmap_common_pars_fragment: envmap_common_pars_fragment, + envmap_pars_fragment: envmap_pars_fragment, + envmap_pars_vertex: envmap_pars_vertex, + envmap_physical_pars_fragment: envmap_physical_pars_fragment, + envmap_vertex: envmap_vertex, + fog_vertex: fog_vertex, + fog_pars_vertex: fog_pars_vertex, + fog_fragment: fog_fragment, + fog_pars_fragment: fog_pars_fragment, + gradientmap_pars_fragment: gradientmap_pars_fragment, + lightmap_fragment: lightmap_fragment, + lightmap_pars_fragment: lightmap_pars_fragment, + lights_lambert_vertex: lights_lambert_vertex, + lights_pars_begin: lights_pars_begin, + lights_toon_fragment: lights_toon_fragment, + lights_toon_pars_fragment: lights_toon_pars_fragment, + lights_phong_fragment: lights_phong_fragment, + lights_phong_pars_fragment: lights_phong_pars_fragment, + lights_physical_fragment: lights_physical_fragment, + lights_physical_pars_fragment: lights_physical_pars_fragment, + lights_fragment_begin: lights_fragment_begin, + lights_fragment_maps: lights_fragment_maps, + lights_fragment_end: lights_fragment_end, + logdepthbuf_fragment: logdepthbuf_fragment, + logdepthbuf_pars_fragment: logdepthbuf_pars_fragment, + logdepthbuf_pars_vertex: logdepthbuf_pars_vertex, + logdepthbuf_vertex: logdepthbuf_vertex, + map_fragment: map_fragment, + map_pars_fragment: map_pars_fragment, + map_particle_fragment: map_particle_fragment, + map_particle_pars_fragment: map_particle_pars_fragment, + metalnessmap_fragment: metalnessmap_fragment, + metalnessmap_pars_fragment: metalnessmap_pars_fragment, + morphnormal_vertex: morphnormal_vertex, + morphtarget_pars_vertex: morphtarget_pars_vertex, + morphtarget_vertex: morphtarget_vertex, + normal_fragment_begin: normal_fragment_begin, + normal_fragment_maps: normal_fragment_maps, + normal_pars_fragment: normal_pars_fragment, + normal_pars_vertex: normal_pars_vertex, + normal_vertex: normal_vertex, + normalmap_pars_fragment: normalmap_pars_fragment, + clearcoat_normal_fragment_begin: clearcoat_normal_fragment_begin, + clearcoat_normal_fragment_maps: clearcoat_normal_fragment_maps, + clearcoat_pars_fragment: clearcoat_pars_fragment, + output_fragment: output_fragment, + packing: packing, + premultiplied_alpha_fragment: premultiplied_alpha_fragment, + project_vertex: project_vertex, + dithering_fragment: dithering_fragment, + dithering_pars_fragment: dithering_pars_fragment, + roughnessmap_fragment: roughnessmap_fragment, + roughnessmap_pars_fragment: roughnessmap_pars_fragment, + shadowmap_pars_fragment: shadowmap_pars_fragment, + shadowmap_pars_vertex: shadowmap_pars_vertex, + shadowmap_vertex: shadowmap_vertex, + shadowmask_pars_fragment: shadowmask_pars_fragment, + skinbase_vertex: skinbase_vertex, + skinning_pars_vertex: skinning_pars_vertex, + skinning_vertex: skinning_vertex, + skinnormal_vertex: skinnormal_vertex, + specularmap_fragment: specularmap_fragment, + specularmap_pars_fragment: specularmap_pars_fragment, + tonemapping_fragment: tonemapping_fragment, + tonemapping_pars_fragment: tonemapping_pars_fragment, + transmission_fragment: transmission_fragment, + transmission_pars_fragment: transmission_pars_fragment, + uv_pars_fragment: uv_pars_fragment, + uv_pars_vertex: uv_pars_vertex, + uv_vertex: uv_vertex, + uv2_pars_fragment: uv2_pars_fragment, + uv2_pars_vertex: uv2_pars_vertex, + uv2_vertex: uv2_vertex, + worldpos_vertex: worldpos_vertex, + background_frag: background_frag, + background_vert: background_vert, + cube_frag: cube_frag, + cube_vert: cube_vert, + depth_frag: depth_frag, + depth_vert: depth_vert, + distanceRGBA_frag: distanceRGBA_frag, + distanceRGBA_vert: distanceRGBA_vert, + equirect_frag: equirect_frag, + equirect_vert: equirect_vert, + linedashed_frag: linedashed_frag, + linedashed_vert: linedashed_vert, + meshbasic_frag: meshbasic_frag, + meshbasic_vert: meshbasic_vert, + meshlambert_frag: meshlambert_frag, + meshlambert_vert: meshlambert_vert, + meshmatcap_frag: meshmatcap_frag, + meshmatcap_vert: meshmatcap_vert, + meshnormal_frag: meshnormal_frag, + meshnormal_vert: meshnormal_vert, + meshphong_frag: meshphong_frag, + meshphong_vert: meshphong_vert, + meshphysical_frag: meshphysical_frag, + meshphysical_vert: meshphysical_vert, + meshtoon_frag: meshtoon_frag, + meshtoon_vert: meshtoon_vert, + points_frag: points_frag, + points_vert: points_vert, + shadow_frag: shadow_frag, + shadow_vert: shadow_vert, + sprite_frag: sprite_frag, + sprite_vert: sprite_vert }; /** - * @author mrdoob / http://mrdoob.com/ + * Uniforms library for shared webgl shaders */ - function LoadingManager( onLoad, onProgress, onError ) { - - var scope = this; - - var isLoading = false; - var itemsLoaded = 0; - var itemsTotal = 0; - var urlModifier = undefined; - - // Refer to #5689 for the reason why we don't set .onStart - // in the constructor - - this.onStart = undefined; - this.onLoad = onLoad; - this.onProgress = onProgress; - this.onError = onError; - - this.itemStart = function ( url ) { - - itemsTotal ++; - - if ( isLoading === false ) { - - if ( scope.onStart !== undefined ) { - - scope.onStart( url, itemsLoaded, itemsTotal ); - - } - - } - - isLoading = true; - - }; - - this.itemEnd = function ( url ) { - - itemsLoaded ++; - - if ( scope.onProgress !== undefined ) { - - scope.onProgress( url, itemsLoaded, itemsTotal ); - + const UniformsLib = { + common: { + diffuse: { + value: new Color(0xffffff) + }, + opacity: { + value: 1.0 + }, + map: { + value: null + }, + uvTransform: { + value: new Matrix3() + }, + uv2Transform: { + value: new Matrix3() + }, + alphaMap: { + value: null + }, + alphaTest: { + value: 0 } - - if ( itemsLoaded === itemsTotal ) { - - isLoading = false; - - if ( scope.onLoad !== undefined ) { - - scope.onLoad(); - - } - + }, + specularmap: { + specularMap: { + value: null } - - }; - - this.itemError = function ( url ) { - - if ( scope.onError !== undefined ) { - - scope.onError( url ); - + }, + envmap: { + envMap: { + value: null + }, + flipEnvMap: { + value: -1 + }, + reflectivity: { + value: 1.0 + }, + // basic, lambert, phong + ior: { + value: 1.5 + }, + // standard, physical + refractionRatio: { + value: 0.98 + }, + maxMipLevel: { + value: 0 } - - }; - - this.resolveURL = function ( url ) { - - if ( urlModifier ) { - - return urlModifier( url ); - + }, + aomap: { + aoMap: { + value: null + }, + aoMapIntensity: { + value: 1 } - - return url; - - }; - - this.setURLModifier = function ( transform ) { - - urlModifier = transform; - return this; - - }; - - } - - var DefaultLoadingManager = new LoadingManager(); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - var loading = {}; - - function FileLoader( manager ) { - - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; - - } - - Object.assign( FileLoader.prototype, { - - load: function ( url, onLoad, onProgress, onError ) { - - if ( url === undefined ) url = ''; - - if ( this.path !== undefined ) url = this.path + url; - - url = this.manager.resolveURL( url ); - - var scope = this; - - var cached = Cache.get( url ); - - if ( cached !== undefined ) { - - scope.manager.itemStart( url ); - - setTimeout( function () { - - if ( onLoad ) onLoad( cached ); - - scope.manager.itemEnd( url ); - - }, 0 ); - - return cached; - + }, + lightmap: { + lightMap: { + value: null + }, + lightMapIntensity: { + value: 1 } - - // Check if request is duplicate - - if ( loading[ url ] !== undefined ) { - - loading[ url ].push( { - - onLoad: onLoad, - onProgress: onProgress, - onError: onError - - } ); - - return; - + }, + emissivemap: { + emissiveMap: { + value: null } - - // Check for data: URI - var dataUriRegex = /^data:(.*?)(;base64)?,(.*)$/; - var dataUriRegexResult = url.match( dataUriRegex ); - - // Safari can not handle Data URIs through XMLHttpRequest so process manually - if ( dataUriRegexResult ) { - - var mimeType = dataUriRegexResult[ 1 ]; - var isBase64 = !! dataUriRegexResult[ 2 ]; - var data = dataUriRegexResult[ 3 ]; - - data = decodeURIComponent( data ); - - if ( isBase64 ) data = atob( data ); - - try { - - var response; - var responseType = ( this.responseType || '' ).toLowerCase(); - - switch ( responseType ) { - - case 'arraybuffer': - case 'blob': - - var view = new Uint8Array( data.length ); - - for ( var i = 0; i < data.length; i ++ ) { - - view[ i ] = data.charCodeAt( i ); - - } - - if ( responseType === 'blob' ) { - - response = new Blob( [ view.buffer ], { type: mimeType } ); - - } else { - - response = view.buffer; - - } - - break; - - case 'document': - - var parser = new DOMParser(); - response = parser.parseFromString( data, mimeType ); - - break; - - case 'json': - - response = JSON.parse( data ); - - break; - - default: // 'text' or other - - response = data; - - break; - - } - - // Wait for next browser tick like standard XMLHttpRequest event dispatching does - setTimeout( function () { - - if ( onLoad ) onLoad( response ); - - scope.manager.itemEnd( url ); - - }, 0 ); - - } catch ( error ) { - - // Wait for next browser tick like standard XMLHttpRequest event dispatching does - setTimeout( function () { - - if ( onError ) onError( error ); - - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); - - }, 0 ); - - } - - } else { - - // Initialise array for duplicate requests - - loading[ url ] = []; - - loading[ url ].push( { - - onLoad: onLoad, - onProgress: onProgress, - onError: onError - - } ); - - var request = new XMLHttpRequest(); - - request.open( 'GET', url, true ); - - request.addEventListener( 'load', function ( event ) { - - var response = this.response; - - Cache.add( url, response ); - - var callbacks = loading[ url ]; - - delete loading[ url ]; - - if ( this.status === 200 || this.status === 0 ) { - - // Some browsers return HTTP Status 0 when using non-http protocol - // e.g. 'file://' or 'data://'. Handle as success. - - if ( this.status === 0 ) console.warn( 'THREE.FileLoader: HTTP Status 0 received.' ); - - for ( var i = 0, il = callbacks.length; i < il; i ++ ) { - - var callback = callbacks[ i ]; - if ( callback.onLoad ) callback.onLoad( response ); - - } - - scope.manager.itemEnd( url ); - - } else { - - for ( var i = 0, il = callbacks.length; i < il; i ++ ) { - - var callback = callbacks[ i ]; - if ( callback.onError ) callback.onError( event ); - - } - - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); - - } - - }, false ); - - request.addEventListener( 'progress', function ( event ) { - - var callbacks = loading[ url ]; - - for ( var i = 0, il = callbacks.length; i < il; i ++ ) { - - var callback = callbacks[ i ]; - if ( callback.onProgress ) callback.onProgress( event ); - - } - - }, false ); - - request.addEventListener( 'error', function ( event ) { - - var callbacks = loading[ url ]; - - delete loading[ url ]; - - for ( var i = 0, il = callbacks.length; i < il; i ++ ) { - - var callback = callbacks[ i ]; - if ( callback.onError ) callback.onError( event ); - - } - - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); - - }, false ); - - request.addEventListener( 'abort', function ( event ) { - - var callbacks = loading[ url ]; - - delete loading[ url ]; - - for ( var i = 0, il = callbacks.length; i < il; i ++ ) { - - var callback = callbacks[ i ]; - if ( callback.onError ) callback.onError( event ); - - } - - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); - - }, false ); - - if ( this.responseType !== undefined ) request.responseType = this.responseType; - if ( this.withCredentials !== undefined ) request.withCredentials = this.withCredentials; - - if ( request.overrideMimeType ) request.overrideMimeType( this.mimeType !== undefined ? this.mimeType : 'text/plain' ); - - for ( var header in this.requestHeader ) { - - request.setRequestHeader( header, this.requestHeader[ header ] ); - - } - - request.send( null ); - + }, + bumpmap: { + bumpMap: { + value: null + }, + bumpScale: { + value: 1 } - - scope.manager.itemStart( url ); - - return request; - }, - - setPath: function ( value ) { - - this.path = value; - return this; - + normalmap: { + normalMap: { + value: null + }, + normalScale: { + value: new Vector2(1, 1) + } }, - - setResponseType: function ( value ) { - - this.responseType = value; - return this; - + displacementmap: { + displacementMap: { + value: null + }, + displacementScale: { + value: 1 + }, + displacementBias: { + value: 0 + } }, - - setWithCredentials: function ( value ) { - - this.withCredentials = value; - return this; - + roughnessmap: { + roughnessMap: { + value: null + } }, - - setMimeType: function ( value ) { - - this.mimeType = value; - return this; - + metalnessmap: { + metalnessMap: { + value: null + } }, - - setRequestHeader: function ( value ) { - - this.requestHeader = value; - return this; - - } - - } ); - - /** - * @author bhouston / http://clara.io/ - */ - - function AnimationLoader( manager ) { - - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; - - } - - Object.assign( AnimationLoader.prototype, { - - load: function ( url, onLoad, onProgress, onError ) { - - var scope = this; - - var loader = new FileLoader( scope.manager ); - loader.setPath( scope.path ); - loader.load( url, function ( text ) { - - onLoad( scope.parse( JSON.parse( text ) ) ); - - }, onProgress, onError ); - + gradientmap: { + gradientMap: { + value: null + } }, - - parse: function ( json ) { - - var animations = []; - - for ( var i = 0; i < json.length; i ++ ) { - - var clip = AnimationClip.parse( json[ i ] ); - - animations.push( clip ); - + fog: { + fogDensity: { + value: 0.00025 + }, + fogNear: { + value: 1 + }, + fogFar: { + value: 2000 + }, + fogColor: { + value: new Color(0xffffff) } - - return animations; - }, - - setPath: function ( value ) { - - this.path = value; - return this; - + lights: { + ambientLightColor: { + value: [] + }, + lightProbe: { + value: [] + }, + directionalLights: { + value: [], + properties: { + direction: {}, + color: {} + } + }, + directionalLightShadows: { + value: [], + properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } + }, + directionalShadowMap: { + value: [] + }, + directionalShadowMatrix: { + value: [] + }, + spotLights: { + value: [], + properties: { + color: {}, + position: {}, + direction: {}, + distance: {}, + coneCos: {}, + penumbraCos: {}, + decay: {} + } + }, + spotLightShadows: { + value: [], + properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {} + } + }, + spotShadowMap: { + value: [] + }, + spotShadowMatrix: { + value: [] + }, + pointLights: { + value: [], + properties: { + color: {}, + position: {}, + decay: {}, + distance: {} + } + }, + pointLightShadows: { + value: [], + properties: { + shadowBias: {}, + shadowNormalBias: {}, + shadowRadius: {}, + shadowMapSize: {}, + shadowCameraNear: {}, + shadowCameraFar: {} + } + }, + pointShadowMap: { + value: [] + }, + pointShadowMatrix: { + value: [] + }, + hemisphereLights: { + value: [], + properties: { + direction: {}, + skyColor: {}, + groundColor: {} + } + }, + // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src + rectAreaLights: { + value: [], + properties: { + color: {}, + position: {}, + width: {}, + height: {} + } + }, + ltc_1: { + value: null + }, + ltc_2: { + value: null + } + }, + points: { + diffuse: { + value: new Color(0xffffff) + }, + opacity: { + value: 1.0 + }, + size: { + value: 1.0 + }, + scale: { + value: 1.0 + }, + map: { + value: null + }, + alphaMap: { + value: null + }, + alphaTest: { + value: 0 + }, + uvTransform: { + value: new Matrix3() + } + }, + sprite: { + diffuse: { + value: new Color(0xffffff) + }, + opacity: { + value: 1.0 + }, + center: { + value: new Vector2(0.5, 0.5) + }, + rotation: { + value: 0.0 + }, + map: { + value: null + }, + alphaMap: { + value: null + }, + alphaTest: { + value: 0 + }, + uvTransform: { + value: new Matrix3() + } } + }; - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * - * Abstract Base class to block based textures loader (dds, pvr, ...) - */ - - function CompressedTextureLoader( manager ) { - - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + const ShaderLib = { + basic: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.specularmap, UniformsLib.envmap, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.fog]), + vertexShader: ShaderChunk.meshbasic_vert, + fragmentShader: ShaderChunk.meshbasic_frag + }, + lambert: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.specularmap, UniformsLib.envmap, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.fog, UniformsLib.lights, { + emissive: { + value: new Color(0x000000) + } + }]), + vertexShader: ShaderChunk.meshlambert_vert, + fragmentShader: ShaderChunk.meshlambert_frag + }, + phong: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.specularmap, UniformsLib.envmap, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.fog, UniformsLib.lights, { + emissive: { + value: new Color(0x000000) + }, + specular: { + value: new Color(0x111111) + }, + shininess: { + value: 30 + } + }]), + vertexShader: ShaderChunk.meshphong_vert, + fragmentShader: ShaderChunk.meshphong_frag + }, + standard: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.envmap, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.roughnessmap, UniformsLib.metalnessmap, UniformsLib.fog, UniformsLib.lights, { + emissive: { + value: new Color(0x000000) + }, + roughness: { + value: 1.0 + }, + metalness: { + value: 0.0 + }, + envMapIntensity: { + value: 1 + } // temporary - // override in sub classes - this._parser = null; + }]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + }, + toon: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.aomap, UniformsLib.lightmap, UniformsLib.emissivemap, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.gradientmap, UniformsLib.fog, UniformsLib.lights, { + emissive: { + value: new Color(0x000000) + } + }]), + vertexShader: ShaderChunk.meshtoon_vert, + fragmentShader: ShaderChunk.meshtoon_frag + }, + matcap: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, UniformsLib.fog, { + matcap: { + value: null + } + }]), + vertexShader: ShaderChunk.meshmatcap_vert, + fragmentShader: ShaderChunk.meshmatcap_frag + }, + points: { + uniforms: mergeUniforms([UniformsLib.points, UniformsLib.fog]), + vertexShader: ShaderChunk.points_vert, + fragmentShader: ShaderChunk.points_frag + }, + dashed: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.fog, { + scale: { + value: 1 + }, + dashSize: { + value: 1 + }, + totalSize: { + value: 2 + } + }]), + vertexShader: ShaderChunk.linedashed_vert, + fragmentShader: ShaderChunk.linedashed_frag + }, + depth: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.displacementmap]), + vertexShader: ShaderChunk.depth_vert, + fragmentShader: ShaderChunk.depth_frag + }, + normal: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.bumpmap, UniformsLib.normalmap, UniformsLib.displacementmap, { + opacity: { + value: 1.0 + } + }]), + vertexShader: ShaderChunk.meshnormal_vert, + fragmentShader: ShaderChunk.meshnormal_frag + }, + sprite: { + uniforms: mergeUniforms([UniformsLib.sprite, UniformsLib.fog]), + vertexShader: ShaderChunk.sprite_vert, + fragmentShader: ShaderChunk.sprite_frag + }, + background: { + uniforms: { + uvTransform: { + value: new Matrix3() + }, + t2D: { + value: null + } + }, + vertexShader: ShaderChunk.background_vert, + fragmentShader: ShaderChunk.background_frag + }, - } + /* ------------------------------------------------------------------------- + // Cube map shader + ------------------------------------------------------------------------- */ + cube: { + uniforms: mergeUniforms([UniformsLib.envmap, { + opacity: { + value: 1.0 + } + }]), + vertexShader: ShaderChunk.cube_vert, + fragmentShader: ShaderChunk.cube_frag + }, + equirect: { + uniforms: { + tEquirect: { + value: null + } + }, + vertexShader: ShaderChunk.equirect_vert, + fragmentShader: ShaderChunk.equirect_frag + }, + distanceRGBA: { + uniforms: mergeUniforms([UniformsLib.common, UniformsLib.displacementmap, { + referencePosition: { + value: new Vector3() + }, + nearDistance: { + value: 1 + }, + farDistance: { + value: 1000 + } + }]), + vertexShader: ShaderChunk.distanceRGBA_vert, + fragmentShader: ShaderChunk.distanceRGBA_frag + }, + shadow: { + uniforms: mergeUniforms([UniformsLib.lights, UniformsLib.fog, { + color: { + value: new Color(0x00000) + }, + opacity: { + value: 1.0 + } + }]), + vertexShader: ShaderChunk.shadow_vert, + fragmentShader: ShaderChunk.shadow_frag + } + }; + ShaderLib.physical = { + uniforms: mergeUniforms([ShaderLib.standard.uniforms, { + clearcoat: { + value: 0 + }, + clearcoatMap: { + value: null + }, + clearcoatRoughness: { + value: 0 + }, + clearcoatRoughnessMap: { + value: null + }, + clearcoatNormalScale: { + value: new Vector2(1, 1) + }, + clearcoatNormalMap: { + value: null + }, + sheenTint: { + value: new Color(0x000000) + }, + transmission: { + value: 0 + }, + transmissionMap: { + value: null + }, + transmissionSamplerSize: { + value: new Vector2() + }, + transmissionSamplerMap: { + value: null + }, + thickness: { + value: 0 + }, + thicknessMap: { + value: null + }, + attenuationDistance: { + value: 0 + }, + attenuationTint: { + value: new Color(0x000000) + }, + specularIntensity: { + value: 0 + }, + specularIntensityMap: { + value: null + }, + specularTint: { + value: new Color(1, 1, 1) + }, + specularTintMap: { + value: null + } + }]), + vertexShader: ShaderChunk.meshphysical_vert, + fragmentShader: ShaderChunk.meshphysical_frag + }; - Object.assign( CompressedTextureLoader.prototype, { + function WebGLBackground(renderer, cubemaps, state, objects, premultipliedAlpha) { + const clearColor = new Color(0x000000); + let clearAlpha = 0; + let planeMesh; + let boxMesh; + let currentBackground = null; + let currentBackgroundVersion = 0; + let currentTonemapping = null; + + function render(renderList, scene) { + let forceClear = false; + let background = scene.isScene === true ? scene.background : null; + + if (background && background.isTexture) { + background = cubemaps.get(background); + } // Ignore background in AR + // TODO: Reconsider this. - load: function ( url, onLoad, onProgress, onError ) { - var scope = this; + const xr = renderer.xr; + const session = xr.getSession && xr.getSession(); - var images = []; + if (session && session.environmentBlendMode === 'additive') { + background = null; + } - var texture = new CompressedTexture(); - texture.image = images; + if (background === null) { + setClear(clearColor, clearAlpha); + } else if (background && background.isColor) { + setClear(background, 1); + forceClear = true; + } - var loader = new FileLoader( this.manager ); - loader.setPath( this.path ); - loader.setResponseType( 'arraybuffer' ); + if (renderer.autoClear || forceClear) { + renderer.clear(renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil); + } - function loadTexture( i ) { + if (background && (background.isCubeTexture || background.mapping === CubeUVReflectionMapping)) { + if (boxMesh === undefined) { + boxMesh = new Mesh(new BoxGeometry(1, 1, 1), new ShaderMaterial({ + name: 'BackgroundCubeMaterial', + uniforms: cloneUniforms(ShaderLib.cube.uniforms), + vertexShader: ShaderLib.cube.vertexShader, + fragmentShader: ShaderLib.cube.fragmentShader, + side: BackSide, + depthTest: false, + depthWrite: false, + fog: false + })); + boxMesh.geometry.deleteAttribute('normal'); + boxMesh.geometry.deleteAttribute('uv'); - loader.load( url[ i ], function ( buffer ) { + boxMesh.onBeforeRender = function (renderer, scene, camera) { + this.matrixWorld.copyPosition(camera.matrixWorld); + }; // enable code injection for non-built-in material - var texDatas = scope._parser( buffer, true ); - images[ i ] = { - width: texDatas.width, - height: texDatas.height, - format: texDatas.format, - mipmaps: texDatas.mipmaps - }; + Object.defineProperty(boxMesh.material, 'envMap', { + get: function () { + return this.uniforms.envMap.value; + } + }); + objects.update(boxMesh); + } - loaded += 1; + boxMesh.material.uniforms.envMap.value = background; + boxMesh.material.uniforms.flipEnvMap.value = background.isCubeTexture && background.isRenderTargetTexture === false ? -1 : 1; - if ( loaded === 6 ) { + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) { + boxMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + } // push to the pre-sorted opaque render list + + + renderList.unshift(boxMesh, boxMesh.geometry, boxMesh.material, 0, 0, null); + } else if (background && background.isTexture) { + if (planeMesh === undefined) { + planeMesh = new Mesh(new PlaneGeometry(2, 2), new ShaderMaterial({ + name: 'BackgroundMaterial', + uniforms: cloneUniforms(ShaderLib.background.uniforms), + vertexShader: ShaderLib.background.vertexShader, + fragmentShader: ShaderLib.background.fragmentShader, + side: FrontSide, + depthTest: false, + depthWrite: false, + fog: false + })); + planeMesh.geometry.deleteAttribute('normal'); // enable code injection for non-built-in material + + Object.defineProperty(planeMesh.material, 'map', { + get: function () { + return this.uniforms.t2D.value; + } + }); + objects.update(planeMesh); + } - if ( texDatas.mipmapCount === 1 ) - texture.minFilter = LinearFilter; + planeMesh.material.uniforms.t2D.value = background; - texture.format = texDatas.format; - texture.needsUpdate = true; + if (background.matrixAutoUpdate === true) { + background.updateMatrix(); + } - if ( onLoad ) onLoad( texture ); + planeMesh.material.uniforms.uvTransform.value.copy(background.matrix); - } + if (currentBackground !== background || currentBackgroundVersion !== background.version || currentTonemapping !== renderer.toneMapping) { + planeMesh.material.needsUpdate = true; + currentBackground = background; + currentBackgroundVersion = background.version; + currentTonemapping = renderer.toneMapping; + } // push to the pre-sorted opaque render list - }, onProgress, onError ); + renderList.unshift(planeMesh, planeMesh.geometry, planeMesh.material, 0, 0, null); } + } + + function setClear(color, alpha) { + state.buffers.color.setClear(color.r, color.g, color.b, alpha, premultipliedAlpha); + } - if ( Array.isArray( url ) ) { + return { + getClearColor: function () { + return clearColor; + }, + setClearColor: function (color, alpha = 1) { + clearColor.set(color); + clearAlpha = alpha; + setClear(clearColor, clearAlpha); + }, + getClearAlpha: function () { + return clearAlpha; + }, + setClearAlpha: function (alpha) { + clearAlpha = alpha; + setClear(clearColor, clearAlpha); + }, + render: render + }; + } - var loaded = 0; + function WebGLBindingStates(gl, extensions, attributes, capabilities) { + const maxVertexAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS); + const extension = capabilities.isWebGL2 ? null : extensions.get('OES_vertex_array_object'); + const vaoAvailable = capabilities.isWebGL2 || extension !== null; + const bindingStates = {}; + const defaultState = createBindingState(null); + let currentState = defaultState; - for ( var i = 0, il = url.length; i < il; ++ i ) { + function setup(object, material, program, geometry, index) { + let updateBuffers = false; - loadTexture( i ); + if (vaoAvailable) { + const state = getBindingState(geometry, program, material); + if (currentState !== state) { + currentState = state; + bindVertexArrayObject(currentState.object); } + updateBuffers = needsUpdate(geometry, index); + if (updateBuffers) saveCache(geometry, index); } else { + const wireframe = material.wireframe === true; - // compressed cubemap texture stored in a single DDS file - - loader.load( url, function ( buffer ) { - - var texDatas = scope._parser( buffer, true ); - - if ( texDatas.isCubemap ) { - - var faces = texDatas.mipmaps.length / texDatas.mipmapCount; - - for ( var f = 0; f < faces; f ++ ) { - - images[ f ] = { mipmaps: [] }; - - for ( var i = 0; i < texDatas.mipmapCount; i ++ ) { + if (currentState.geometry !== geometry.id || currentState.program !== program.id || currentState.wireframe !== wireframe) { + currentState.geometry = geometry.id; + currentState.program = program.id; + currentState.wireframe = wireframe; + updateBuffers = true; + } + } - images[ f ].mipmaps.push( texDatas.mipmaps[ f * texDatas.mipmapCount + i ] ); - images[ f ].format = texDatas.format; - images[ f ].width = texDatas.width; - images[ f ].height = texDatas.height; + if (object.isInstancedMesh === true) { + updateBuffers = true; + } - } + if (index !== null) { + attributes.update(index, gl.ELEMENT_ARRAY_BUFFER); + } - } + if (updateBuffers) { + setupVertexAttributes(object, material, program, geometry); - } else { + if (index !== null) { + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, attributes.get(index).buffer); + } + } + } - texture.image.width = texDatas.width; - texture.image.height = texDatas.height; - texture.mipmaps = texDatas.mipmaps; + function createVertexArrayObject() { + if (capabilities.isWebGL2) return gl.createVertexArray(); + return extension.createVertexArrayOES(); + } - } + function bindVertexArrayObject(vao) { + if (capabilities.isWebGL2) return gl.bindVertexArray(vao); + return extension.bindVertexArrayOES(vao); + } - if ( texDatas.mipmapCount === 1 ) { + function deleteVertexArrayObject(vao) { + if (capabilities.isWebGL2) return gl.deleteVertexArray(vao); + return extension.deleteVertexArrayOES(vao); + } - texture.minFilter = LinearFilter; + function getBindingState(geometry, program, material) { + const wireframe = material.wireframe === true; + let programMap = bindingStates[geometry.id]; - } + if (programMap === undefined) { + programMap = {}; + bindingStates[geometry.id] = programMap; + } - texture.format = texDatas.format; - texture.needsUpdate = true; + let stateMap = programMap[program.id]; - if ( onLoad ) onLoad( texture ); + if (stateMap === undefined) { + stateMap = {}; + programMap[program.id] = stateMap; + } - }, onProgress, onError ); + let state = stateMap[wireframe]; + if (state === undefined) { + state = createBindingState(createVertexArrayObject()); + stateMap[wireframe] = state; } - return texture; - - }, + return state; + } - setPath: function ( value ) { + function createBindingState(vao) { + const newAttributes = []; + const enabledAttributes = []; + const attributeDivisors = []; - this.path = value; - return this; + for (let i = 0; i < maxVertexAttributes; i++) { + newAttributes[i] = 0; + enabledAttributes[i] = 0; + attributeDivisors[i] = 0; + } + return { + // for backward compatibility on non-VAO support browser + geometry: null, + program: null, + wireframe: false, + newAttributes: newAttributes, + enabledAttributes: enabledAttributes, + attributeDivisors: attributeDivisors, + object: vao, + attributes: {}, + index: null + }; } - } ); - - /** - * @author Nikos M. / https://github.com/foo123/ - * - * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...) - */ - - function DataTextureLoader( manager ) { + function needsUpdate(geometry, index) { + const cachedAttributes = currentState.attributes; + const geometryAttributes = geometry.attributes; + let attributesNum = 0; - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + for (const key in geometryAttributes) { + const cachedAttribute = cachedAttributes[key]; + const geometryAttribute = geometryAttributes[key]; + if (cachedAttribute === undefined) return true; + if (cachedAttribute.attribute !== geometryAttribute) return true; + if (cachedAttribute.data !== geometryAttribute.data) return true; + attributesNum++; + } - // override in sub classes - this._parser = null; + if (currentState.attributesNum !== attributesNum) return true; + if (currentState.index !== index) return true; + return false; + } - } + function saveCache(geometry, index) { + const cache = {}; + const attributes = geometry.attributes; + let attributesNum = 0; - Object.assign( DataTextureLoader.prototype, { + for (const key in attributes) { + const attribute = attributes[key]; + const data = {}; + data.attribute = attribute; - load: function ( url, onLoad, onProgress, onError ) { + if (attribute.data) { + data.data = attribute.data; + } - var scope = this; + cache[key] = data; + attributesNum++; + } - var texture = new DataTexture(); + currentState.attributes = cache; + currentState.attributesNum = attributesNum; + currentState.index = index; + } - var loader = new FileLoader( this.manager ); - loader.setResponseType( 'arraybuffer' ); - loader.setPath( this.path ); - loader.load( url, function ( buffer ) { + function initAttributes() { + const newAttributes = currentState.newAttributes; - var texData = scope._parser( buffer ); + for (let i = 0, il = newAttributes.length; i < il; i++) { + newAttributes[i] = 0; + } + } - if ( ! texData ) return; + function enableAttribute(attribute) { + enableAttributeAndDivisor(attribute, 0); + } - if ( texData.image !== undefined ) { + function enableAttributeAndDivisor(attribute, meshPerAttribute) { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + const attributeDivisors = currentState.attributeDivisors; + newAttributes[attribute] = 1; - texture.image = texData.image; + if (enabledAttributes[attribute] === 0) { + gl.enableVertexAttribArray(attribute); + enabledAttributes[attribute] = 1; + } - } else if ( texData.data !== undefined ) { + if (attributeDivisors[attribute] !== meshPerAttribute) { + const extension = capabilities.isWebGL2 ? gl : extensions.get('ANGLE_instanced_arrays'); + extension[capabilities.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE'](attribute, meshPerAttribute); + attributeDivisors[attribute] = meshPerAttribute; + } + } - texture.image.width = texData.width; - texture.image.height = texData.height; - texture.image.data = texData.data; + function disableUnusedAttributes() { + const newAttributes = currentState.newAttributes; + const enabledAttributes = currentState.enabledAttributes; + for (let i = 0, il = enabledAttributes.length; i < il; i++) { + if (enabledAttributes[i] !== newAttributes[i]) { + gl.disableVertexAttribArray(i); + enabledAttributes[i] = 0; } + } + } - texture.wrapS = texData.wrapS !== undefined ? texData.wrapS : ClampToEdgeWrapping; - texture.wrapT = texData.wrapT !== undefined ? texData.wrapT : ClampToEdgeWrapping; + function vertexAttribPointer(index, size, type, normalized, stride, offset) { + if (capabilities.isWebGL2 === true && (type === gl.INT || type === gl.UNSIGNED_INT)) { + gl.vertexAttribIPointer(index, size, type, stride, offset); + } else { + gl.vertexAttribPointer(index, size, type, normalized, stride, offset); + } + } - texture.magFilter = texData.magFilter !== undefined ? texData.magFilter : LinearFilter; - texture.minFilter = texData.minFilter !== undefined ? texData.minFilter : LinearMipMapLinearFilter; + function setupVertexAttributes(object, material, program, geometry) { + if (capabilities.isWebGL2 === false && (object.isInstancedMesh || geometry.isInstancedBufferGeometry)) { + if (extensions.get('ANGLE_instanced_arrays') === null) return; + } - texture.anisotropy = texData.anisotropy !== undefined ? texData.anisotropy : 1; + initAttributes(); + const geometryAttributes = geometry.attributes; + const programAttributes = program.getAttributes(); + const materialDefaultAttributeValues = material.defaultAttributeValues; - if ( texData.format !== undefined ) { + for (const name in programAttributes) { + const programAttribute = programAttributes[name]; - texture.format = texData.format; + if (programAttribute.location >= 0) { + let geometryAttribute = geometryAttributes[name]; - } - if ( texData.type !== undefined ) { + if (geometryAttribute === undefined) { + if (name === 'instanceMatrix' && object.instanceMatrix) geometryAttribute = object.instanceMatrix; + if (name === 'instanceColor' && object.instanceColor) geometryAttribute = object.instanceColor; + } - texture.type = texData.type; + if (geometryAttribute !== undefined) { + const normalized = geometryAttribute.normalized; + const size = geometryAttribute.itemSize; + const attribute = attributes.get(geometryAttribute); // TODO Attribute may not be available on context restore - } + if (attribute === undefined) continue; + const buffer = attribute.buffer; + const type = attribute.type; + const bytesPerElement = attribute.bytesPerElement; - if ( texData.mipmaps !== undefined ) { + if (geometryAttribute.isInterleavedBufferAttribute) { + const data = geometryAttribute.data; + const stride = data.stride; + const offset = geometryAttribute.offset; - texture.mipmaps = texData.mipmaps; + if (data && data.isInstancedInterleavedBuffer) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, data.meshPerAttribute); + } - } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined) { + geometry._maxInstanceCount = data.meshPerAttribute * data.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } - if ( texData.mipmapCount === 1 ) { + gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - texture.minFilter = LinearFilter; + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer(programAttribute.location + i, size / programAttribute.locationSize, type, normalized, stride * bytesPerElement, (offset + size / programAttribute.locationSize * i) * bytesPerElement); + } + } else { + if (geometryAttribute.isInstancedBufferAttribute) { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttributeAndDivisor(programAttribute.location + i, geometryAttribute.meshPerAttribute); + } - } + if (object.isInstancedMesh !== true && geometry._maxInstanceCount === undefined) { + geometry._maxInstanceCount = geometryAttribute.meshPerAttribute * geometryAttribute.count; + } + } else { + for (let i = 0; i < programAttribute.locationSize; i++) { + enableAttribute(programAttribute.location + i); + } + } - texture.needsUpdate = true; + gl.bindBuffer(gl.ARRAY_BUFFER, buffer); - if ( onLoad ) onLoad( texture, texData ); + for (let i = 0; i < programAttribute.locationSize; i++) { + vertexAttribPointer(programAttribute.location + i, size / programAttribute.locationSize, type, normalized, size * bytesPerElement, size / programAttribute.locationSize * i * bytesPerElement); + } + } + } else if (materialDefaultAttributeValues !== undefined) { + const value = materialDefaultAttributeValues[name]; - }, onProgress, onError ); + if (value !== undefined) { + switch (value.length) { + case 2: + gl.vertexAttrib2fv(programAttribute.location, value); + break; + case 3: + gl.vertexAttrib3fv(programAttribute.location, value); + break; - return texture; + case 4: + gl.vertexAttrib4fv(programAttribute.location, value); + break; - }, + default: + gl.vertexAttrib1fv(programAttribute.location, value); + } + } + } + } + } - setPath: function ( value ) { + disableUnusedAttributes(); + } - this.path = value; - return this; + function dispose() { + reset(); - } + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; - } ); + for (const programId in programMap) { + const stateMap = programMap[programId]; - /** - * @author mrdoob / http://mrdoob.com/ - */ + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } + delete programMap[programId]; + } - function ImageLoader( manager ) { + delete bindingStates[geometryId]; + } + } - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + function releaseStatesOfGeometry(geometry) { + if (bindingStates[geometry.id] === undefined) return; + const programMap = bindingStates[geometry.id]; - } + for (const programId in programMap) { + const stateMap = programMap[programId]; - Object.assign( ImageLoader.prototype, { + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } - crossOrigin: 'anonymous', + delete programMap[programId]; + } - load: function ( url, onLoad, onProgress, onError ) { + delete bindingStates[geometry.id]; + } - if ( url === undefined ) url = ''; + function releaseStatesOfProgram(program) { + for (const geometryId in bindingStates) { + const programMap = bindingStates[geometryId]; + if (programMap[program.id] === undefined) continue; + const stateMap = programMap[program.id]; - if ( this.path !== undefined ) url = this.path + url; + for (const wireframe in stateMap) { + deleteVertexArrayObject(stateMap[wireframe].object); + delete stateMap[wireframe]; + } - url = this.manager.resolveURL( url ); + delete programMap[program.id]; + } + } - var scope = this; + function reset() { + resetDefaultState(); + if (currentState === defaultState) return; + currentState = defaultState; + bindVertexArrayObject(currentState.object); + } // for backward-compatilibity - var cached = Cache.get( url ); - if ( cached !== undefined ) { + function resetDefaultState() { + defaultState.geometry = null; + defaultState.program = null; + defaultState.wireframe = false; + } - scope.manager.itemStart( url ); + return { + setup: setup, + reset: reset, + resetDefaultState: resetDefaultState, + dispose: dispose, + releaseStatesOfGeometry: releaseStatesOfGeometry, + releaseStatesOfProgram: releaseStatesOfProgram, + initAttributes: initAttributes, + enableAttribute: enableAttribute, + disableUnusedAttributes: disableUnusedAttributes + }; + } - setTimeout( function () { + function WebGLBufferRenderer(gl, extensions, info, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + let mode; - if ( onLoad ) onLoad( cached ); + function setMode(value) { + mode = value; + } - scope.manager.itemEnd( url ); + function render(start, count) { + gl.drawArrays(mode, start, count); + info.update(count, mode, 1); + } - }, 0 ); + function renderInstances(start, count, primcount) { + if (primcount === 0) return; + let extension, methodName; - return cached; + if (isWebGL2) { + extension = gl; + methodName = 'drawArraysInstanced'; + } else { + extension = extensions.get('ANGLE_instanced_arrays'); + methodName = 'drawArraysInstancedANGLE'; + if (extension === null) { + console.error('THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.'); + return; + } } - var image = document.createElementNS( 'http://www.w3.org/1999/xhtml', 'img' ); + extension[methodName](mode, start, count, primcount); + info.update(count, mode, primcount); + } // - function onImageLoad() { - - image.removeEventListener( 'load', onImageLoad, false ); - image.removeEventListener( 'error', onImageError, false ); - Cache.add( url, this ); + this.setMode = setMode; + this.render = render; + this.renderInstances = renderInstances; + } - if ( onLoad ) onLoad( this ); + function WebGLCapabilities(gl, extensions, parameters) { + let maxAnisotropy; - scope.manager.itemEnd( url ); + function getMaxAnisotropy() { + if (maxAnisotropy !== undefined) return maxAnisotropy; + if (extensions.has('EXT_texture_filter_anisotropic') === true) { + const extension = extensions.get('EXT_texture_filter_anisotropic'); + maxAnisotropy = gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT); + } else { + maxAnisotropy = 0; } - function onImageError( event ) { - - image.removeEventListener( 'load', onImageLoad, false ); - image.removeEventListener( 'error', onImageError, false ); - - if ( onError ) onError( event ); + return maxAnisotropy; + } - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); + function getMaxPrecision(precision) { + if (precision === 'highp') { + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT).precision > 0) { + return 'highp'; + } + precision = 'mediump'; } - image.addEventListener( 'load', onImageLoad, false ); - image.addEventListener( 'error', onImageError, false ); - - if ( url.substr( 0, 5 ) !== 'data:' ) { - - if ( this.crossOrigin !== undefined ) image.crossOrigin = this.crossOrigin; - + if (precision === 'mediump') { + if (gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT).precision > 0 && gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT).precision > 0) { + return 'mediump'; + } } - scope.manager.itemStart( url ); - - image.src = url; + return 'lowp'; + } + /* eslint-disable no-undef */ - return image; - }, + const isWebGL2 = typeof WebGL2RenderingContext !== 'undefined' && gl instanceof WebGL2RenderingContext || typeof WebGL2ComputeRenderingContext !== 'undefined' && gl instanceof WebGL2ComputeRenderingContext; + /* eslint-enable no-undef */ - setCrossOrigin: function ( value ) { + let precision = parameters.precision !== undefined ? parameters.precision : 'highp'; + const maxPrecision = getMaxPrecision(precision); - this.crossOrigin = value; - return this; + if (maxPrecision !== precision) { + console.warn('THREE.WebGLRenderer:', precision, 'not supported, using', maxPrecision, 'instead.'); + precision = maxPrecision; + } - }, + const drawBuffers = isWebGL2 || extensions.has('WEBGL_draw_buffers'); + const logarithmicDepthBuffer = parameters.logarithmicDepthBuffer === true; + const maxTextures = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS); + const maxVertexTextures = gl.getParameter(gl.MAX_VERTEX_TEXTURE_IMAGE_UNITS); + const maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE); + const maxCubemapSize = gl.getParameter(gl.MAX_CUBE_MAP_TEXTURE_SIZE); + const maxAttributes = gl.getParameter(gl.MAX_VERTEX_ATTRIBS); + const maxVertexUniforms = gl.getParameter(gl.MAX_VERTEX_UNIFORM_VECTORS); + const maxVaryings = gl.getParameter(gl.MAX_VARYING_VECTORS); + const maxFragmentUniforms = gl.getParameter(gl.MAX_FRAGMENT_UNIFORM_VECTORS); + const vertexTextures = maxVertexTextures > 0; + const floatFragmentTextures = isWebGL2 || extensions.has('OES_texture_float'); + const floatVertexTextures = vertexTextures && floatFragmentTextures; + const maxSamples = isWebGL2 ? gl.getParameter(gl.MAX_SAMPLES) : 0; + return { + isWebGL2: isWebGL2, + drawBuffers: drawBuffers, + getMaxAnisotropy: getMaxAnisotropy, + getMaxPrecision: getMaxPrecision, + precision: precision, + logarithmicDepthBuffer: logarithmicDepthBuffer, + maxTextures: maxTextures, + maxVertexTextures: maxVertexTextures, + maxTextureSize: maxTextureSize, + maxCubemapSize: maxCubemapSize, + maxAttributes: maxAttributes, + maxVertexUniforms: maxVertexUniforms, + maxVaryings: maxVaryings, + maxFragmentUniforms: maxFragmentUniforms, + vertexTextures: vertexTextures, + floatFragmentTextures: floatFragmentTextures, + floatVertexTextures: floatVertexTextures, + maxSamples: maxSamples + }; + } - setPath: function ( value ) { + function WebGLClipping(properties) { + const scope = this; + let globalState = null, + numGlobalPlanes = 0, + localClippingEnabled = false, + renderingShadows = false; + const plane = new Plane(), + viewNormalMatrix = new Matrix3(), + uniform = { + value: null, + needsUpdate: false + }; + this.uniform = uniform; + this.numPlanes = 0; + this.numIntersection = 0; - this.path = value; - return this; + this.init = function (planes, enableLocalClipping, camera) { + const enabled = planes.length !== 0 || enableLocalClipping || // enable state of previous frame - the clipping code has to + // run another frame in order to reset the state: + numGlobalPlanes !== 0 || localClippingEnabled; + localClippingEnabled = enableLocalClipping; + globalState = projectPlanes(planes, camera, 0); + numGlobalPlanes = planes.length; + return enabled; + }; - } + this.beginShadows = function () { + renderingShadows = true; + projectPlanes(null); + }; - } ); + this.endShadows = function () { + renderingShadows = false; + resetGlobalState(); + }; - /** - * @author mrdoob / http://mrdoob.com/ - */ + this.setState = function (material, camera, useCache) { + const planes = material.clippingPlanes, + clipIntersection = material.clipIntersection, + clipShadows = material.clipShadows; + const materialProperties = properties.get(material); + if (!localClippingEnabled || planes === null || planes.length === 0 || renderingShadows && !clipShadows) { + // there's no local clipping + if (renderingShadows) { + // there's no global clipping + projectPlanes(null); + } else { + resetGlobalState(); + } + } else { + const nGlobal = renderingShadows ? 0 : numGlobalPlanes, + lGlobal = nGlobal * 4; + let dstArray = materialProperties.clippingState || null; + uniform.value = dstArray; // ensure unique state - function CubeTextureLoader( manager ) { + dstArray = projectPlanes(planes, camera, lGlobal, useCache); - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + for (let i = 0; i !== lGlobal; ++i) { + dstArray[i] = globalState[i]; + } - } + materialProperties.clippingState = dstArray; + this.numIntersection = clipIntersection ? this.numPlanes : 0; + this.numPlanes += nGlobal; + } + }; - Object.assign( CubeTextureLoader.prototype, { + function resetGlobalState() { + if (uniform.value !== globalState) { + uniform.value = globalState; + uniform.needsUpdate = numGlobalPlanes > 0; + } - crossOrigin: 'anonymous', + scope.numPlanes = numGlobalPlanes; + scope.numIntersection = 0; + } - load: function ( urls, onLoad, onProgress, onError ) { + function projectPlanes(planes, camera, dstOffset, skipTransform) { + const nPlanes = planes !== null ? planes.length : 0; + let dstArray = null; - var texture = new CubeTexture(); + if (nPlanes !== 0) { + dstArray = uniform.value; - var loader = new ImageLoader( this.manager ); - loader.setCrossOrigin( this.crossOrigin ); - loader.setPath( this.path ); + if (skipTransform !== true || dstArray === null) { + const flatSize = dstOffset + nPlanes * 4, + viewMatrix = camera.matrixWorldInverse; + viewNormalMatrix.getNormalMatrix(viewMatrix); - var loaded = 0; + if (dstArray === null || dstArray.length < flatSize) { + dstArray = new Float32Array(flatSize); + } - function loadTexture( i ) { + for (let i = 0, i4 = dstOffset; i !== nPlanes; ++i, i4 += 4) { + plane.copy(planes[i]).applyMatrix4(viewMatrix, viewNormalMatrix); + plane.normal.toArray(dstArray, i4); + dstArray[i4 + 3] = plane.constant; + } + } - loader.load( urls[ i ], function ( image ) { + uniform.value = dstArray; + uniform.needsUpdate = true; + } - texture.images[ i ] = image; + scope.numPlanes = nPlanes; + scope.numIntersection = 0; + return dstArray; + } + } - loaded ++; + function WebGLCubeMaps(renderer) { + let cubemaps = new WeakMap(); - if ( loaded === 6 ) { + function mapTextureMapping(texture, mapping) { + if (mapping === EquirectangularReflectionMapping) { + texture.mapping = CubeReflectionMapping; + } else if (mapping === EquirectangularRefractionMapping) { + texture.mapping = CubeRefractionMapping; + } - texture.needsUpdate = true; + return texture; + } - if ( onLoad ) onLoad( texture ); + function get(texture) { + if (texture && texture.isTexture && texture.isRenderTargetTexture === false) { + const mapping = texture.mapping; + if (mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping) { + if (cubemaps.has(texture)) { + const cubemap = cubemaps.get(texture).texture; + return mapTextureMapping(cubemap, texture.mapping); + } else { + const image = texture.image; + + if (image && image.height > 0) { + const currentRenderTarget = renderer.getRenderTarget(); + const renderTarget = new WebGLCubeRenderTarget(image.height / 2); + renderTarget.fromEquirectangularTexture(renderer, texture); + cubemaps.set(texture, renderTarget); + renderer.setRenderTarget(currentRenderTarget); + texture.addEventListener('dispose', onTextureDispose); + return mapTextureMapping(renderTarget.texture, texture.mapping); + } else { + // image not yet ready. try the conversion next frame + return null; + } } - - }, undefined, onError ); - + } } - for ( var i = 0; i < urls.length; ++ i ) { + return texture; + } - loadTexture( i ); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener('dispose', onTextureDispose); + const cubemap = cubemaps.get(texture); + if (cubemap !== undefined) { + cubemaps.delete(texture); + cubemap.dispose(); } + } - return texture; + function dispose() { + cubemaps = new WeakMap(); + } - }, + return { + get: get, + dispose: dispose + }; + } - setCrossOrigin: function ( value ) { + class OrthographicCamera extends Camera { + constructor(left = -1, right = 1, top = 1, bottom = -1, near = 0.1, far = 2000) { + super(); + this.type = 'OrthographicCamera'; + this.zoom = 1; + this.view = null; + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + this.near = near; + this.far = far; + this.updateProjectionMatrix(); + } - this.crossOrigin = value; + copy(source, recursive) { + super.copy(source, recursive); + this.left = source.left; + this.right = source.right; + this.top = source.top; + this.bottom = source.bottom; + this.near = source.near; + this.far = source.far; + this.zoom = source.zoom; + this.view = source.view === null ? null : Object.assign({}, source.view); return this; + } - }, + setViewOffset(fullWidth, fullHeight, x, y, width, height) { + if (this.view === null) { + this.view = { + enabled: true, + fullWidth: 1, + fullHeight: 1, + offsetX: 0, + offsetY: 0, + width: 1, + height: 1 + }; + } - setPath: function ( value ) { + this.view.enabled = true; + this.view.fullWidth = fullWidth; + this.view.fullHeight = fullHeight; + this.view.offsetX = x; + this.view.offsetY = y; + this.view.width = width; + this.view.height = height; + this.updateProjectionMatrix(); + } - this.path = value; - return this; + clearViewOffset() { + if (this.view !== null) { + this.view.enabled = false; + } + this.updateProjectionMatrix(); } - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ + updateProjectionMatrix() { + const dx = (this.right - this.left) / (2 * this.zoom); + const dy = (this.top - this.bottom) / (2 * this.zoom); + const cx = (this.right + this.left) / 2; + const cy = (this.top + this.bottom) / 2; + let left = cx - dx; + let right = cx + dx; + let top = cy + dy; + let bottom = cy - dy; + if (this.view !== null && this.view.enabled) { + const scaleW = (this.right - this.left) / this.view.fullWidth / this.zoom; + const scaleH = (this.top - this.bottom) / this.view.fullHeight / this.zoom; + left += scaleW * this.view.offsetX; + right = left + scaleW * this.view.width; + top -= scaleH * this.view.offsetY; + bottom = top - scaleH * this.view.height; + } - function TextureLoader( manager ) { + this.projectionMatrix.makeOrthographic(left, right, top, bottom, this.near, this.far); + this.projectionMatrixInverse.copy(this.projectionMatrix).invert(); + } - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + toJSON(meta) { + const data = super.toJSON(meta); + data.object.zoom = this.zoom; + data.object.left = this.left; + data.object.right = this.right; + data.object.top = this.top; + data.object.bottom = this.bottom; + data.object.near = this.near; + data.object.far = this.far; + if (this.view !== null) data.object.view = Object.assign({}, this.view); + return data; + } } - Object.assign( TextureLoader.prototype, { + OrthographicCamera.prototype.isOrthographicCamera = true; - crossOrigin: 'anonymous', + class RawShaderMaterial extends ShaderMaterial { + constructor(parameters) { + super(parameters); + this.type = 'RawShaderMaterial'; + } - load: function ( url, onLoad, onProgress, onError ) { + } - var texture = new Texture(); + RawShaderMaterial.prototype.isRawShaderMaterial = true; - var loader = new ImageLoader( this.manager ); - loader.setCrossOrigin( this.crossOrigin ); - loader.setPath( this.path ); + const LOD_MIN = 4; + const LOD_MAX = 8; + const SIZE_MAX = Math.pow(2, LOD_MAX); // The standard deviations (radians) associated with the extra mips. These are + // chosen to approximate a Trowbridge-Reitz distribution function times the + // geometric shadowing function. These sigma values squared must match the + // variance #defines in cube_uv_reflection_fragment.glsl.js. + + const EXTRA_LOD_SIGMA = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582]; + const TOTAL_LODS = LOD_MAX - LOD_MIN + 1 + EXTRA_LOD_SIGMA.length; // The maximum length of the blur for loop. Smaller sigmas will use fewer + // samples and exit early, but not recompile the shader. + + const MAX_SAMPLES = 20; + const ENCODINGS = { + [LinearEncoding]: 0, + [sRGBEncoding]: 1, + [RGBEEncoding]: 2, + [RGBM7Encoding]: 3, + [RGBM16Encoding]: 4, + [RGBDEncoding]: 5, + [GammaEncoding]: 6 + }; - loader.load( url, function ( image ) { + const _flatCamera = /*@__PURE__*/new OrthographicCamera(); - texture.image = image; + const { + _lodPlanes, + _sizeLods, + _sigmas + } = /*@__PURE__*/_createPlanes(); - // JPEGs can't have an alpha channel, so memory can be saved by storing them as RGB. - var isJPEG = url.search( /\.jpe?g($|\?)/i ) > 0 || url.search( /^data\:image\/jpeg/ ) === 0; + const _clearColor = /*@__PURE__*/new Color(); - texture.format = isJPEG ? RGBFormat : RGBAFormat; - texture.needsUpdate = true; + let _oldTarget = null; // Golden Ratio - if ( onLoad !== undefined ) { + const PHI = (1 + Math.sqrt(5)) / 2; + const INV_PHI = 1 / PHI; // Vertices of a dodecahedron (except the opposites, which represent the + // same axis), used as axis directions evenly spread on a sphere. - onLoad( texture ); + const _axisDirections = [/*@__PURE__*/new Vector3(1, 1, 1), /*@__PURE__*/new Vector3(-1, 1, 1), /*@__PURE__*/new Vector3(1, 1, -1), /*@__PURE__*/new Vector3(-1, 1, -1), /*@__PURE__*/new Vector3(0, PHI, INV_PHI), /*@__PURE__*/new Vector3(0, PHI, -INV_PHI), /*@__PURE__*/new Vector3(INV_PHI, 0, PHI), /*@__PURE__*/new Vector3(-INV_PHI, 0, PHI), /*@__PURE__*/new Vector3(PHI, INV_PHI, 0), /*@__PURE__*/new Vector3(-PHI, INV_PHI, 0)]; + /** + * This class generates a Prefiltered, Mipmapped Radiance Environment Map + * (PMREM) from a cubeMap environment texture. This allows different levels of + * blur to be quickly accessed based on material roughness. It is packed into a + * special CubeUV format that allows us to perform custom interpolation so that + * we can support nonlinear formats such as RGBE. Unlike a traditional mipmap + * chain, it only goes down to the LOD_MIN level (above), and then creates extra + * even more filtered 'mips' at the same LOD_MIN resolution, associated with + * higher roughness levels. In this way we maintain resolution to smoothly + * interpolate diffuse lighting while limiting sampling computation. + * + * Paper: Fast, Accurate Image-Based Lighting + * https://drive.google.com/file/d/15y8r_UpKlU9SvV4ILb0C3qCPecS8pvLz/view + */ - } + class PMREMGenerator { + constructor(renderer) { + this._renderer = renderer; + this._pingPongRenderTarget = null; + this._blurMaterial = _getBlurShader(MAX_SAMPLES); + this._equirectShader = null; + this._cubemapShader = null; - }, onProgress, onError ); + this._compileMaterial(this._blurMaterial); + } + /** + * Generates a PMREM from a supplied Scene, which can be faster than using an + * image if networking bandwidth is low. Optional sigma specifies a blur radius + * in radians to be applied to the scene before PMREM generation. Optional near + * and far planes ensure the scene is rendered in its entirety (the cubeCamera + * is placed at the origin). + */ - return texture; - }, + fromScene(scene, sigma = 0, near = 0.1, far = 100) { + _oldTarget = this._renderer.getRenderTarget(); - setCrossOrigin: function ( value ) { + const cubeUVRenderTarget = this._allocateTargets(); - this.crossOrigin = value; - return this; + this._sceneToCubeUV(scene, near, far, cubeUVRenderTarget); - }, + if (sigma > 0) { + this._blur(cubeUVRenderTarget, 0, 0, sigma); + } - setPath: function ( value ) { + this._applyPMREM(cubeUVRenderTarget); - this.path = value; - return this; + this._cleanup(cubeUVRenderTarget); + return cubeUVRenderTarget; } + /** + * Generates a PMREM from an equirectangular texture, which can be either LDR + * (RGBFormat) or HDR (RGBEFormat). The ideal input image size is 1k (1024 x 512), + * as this matches best with the 256 x 256 cubemap output. + */ - } ); - - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * Extensible curve object - * - * Some common of curve methods: - * .getPoint( t, optionalTarget ), .getTangent( t ) - * .getPointAt( u, optionalTarget ), .getTangentAt( u ) - * .getPoints(), .getSpacedPoints() - * .getLength() - * .updateArcLengths() - * - * This following curves inherit from THREE.Curve: - * - * -- 2D curves -- - * THREE.ArcCurve - * THREE.CubicBezierCurve - * THREE.EllipseCurve - * THREE.LineCurve - * THREE.QuadraticBezierCurve - * THREE.SplineCurve - * - * -- 3D curves -- - * THREE.CatmullRomCurve3 - * THREE.CubicBezierCurve3 - * THREE.LineCurve3 - * THREE.QuadraticBezierCurve3 - * - * A series of curves can be represented as a THREE.CurvePath. - * - **/ - - /************************************************************** - * Abstract Curve base class - **************************************************************/ - - function Curve() { - - this.type = 'Curve'; - - this.arcLengthDivisions = 200; - } + fromEquirectangular(equirectangular) { + return this._fromTexture(equirectangular); + } + /** + * Generates a PMREM from an cubemap texture, which can be either LDR + * (RGBFormat) or HDR (RGBEFormat). The ideal input cube size is 256 x 256, + * as this matches best with the 256 x 256 cubemap output. + */ - Object.assign( Curve.prototype, { - // Virtual base class method to overwrite and implement in subclasses - // - t [0 .. 1] + fromCubemap(cubemap) { + return this._fromTexture(cubemap); + } + /** + * Pre-compiles the cubemap shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ - getPoint: function ( /* t, optionalTarget */ ) { - console.warn( 'THREE.Curve: .getPoint() not implemented.' ); - return null; + compileCubemapShader() { + if (this._cubemapShader === null) { + this._cubemapShader = _getCubemapShader(); - }, + this._compileMaterial(this._cubemapShader); + } + } + /** + * Pre-compiles the equirectangular shader. You can get faster start-up by invoking this method during + * your texture's network fetch for increased concurrency. + */ - // Get point at relative position in curve according to arc length - // - u [0 .. 1] - getPointAt: function ( u, optionalTarget ) { + compileEquirectangularShader() { + if (this._equirectShader === null) { + this._equirectShader = _getEquirectShader(); - var t = this.getUtoTmapping( u ); - return this.getPoint( t, optionalTarget ); + this._compileMaterial(this._equirectShader); + } + } + /** + * Disposes of the PMREMGenerator's internal memory. Note that PMREMGenerator is a static class, + * so you should not need more than one PMREMGenerator object. If you do, calling dispose() on + * one of them will cause any others to also become unusable. + */ - }, - // Get sequence of points using getPoint( t ) + dispose() { + this._blurMaterial.dispose(); - getPoints: function ( divisions ) { + if (this._cubemapShader !== null) this._cubemapShader.dispose(); + if (this._equirectShader !== null) this._equirectShader.dispose(); - if ( divisions === undefined ) divisions = 5; + for (let i = 0; i < _lodPlanes.length; i++) { + _lodPlanes[i].dispose(); + } + } // private interface - var points = []; - for ( var d = 0; d <= divisions; d ++ ) { + _cleanup(outputTarget) { + this._pingPongRenderTarget.dispose(); - points.push( this.getPoint( d / divisions ) ); + this._renderer.setRenderTarget(_oldTarget); - } + outputTarget.scissorTest = false; - return points; + _setViewport(outputTarget, 0, 0, outputTarget.width, outputTarget.height); + } - }, + _fromTexture(texture) { + _oldTarget = this._renderer.getRenderTarget(); - // Get sequence of points using getPointAt( u ) + const cubeUVRenderTarget = this._allocateTargets(texture); - getSpacedPoints: function ( divisions ) { + this._textureToCubeUV(texture, cubeUVRenderTarget); - if ( divisions === undefined ) divisions = 5; + this._applyPMREM(cubeUVRenderTarget); - var points = []; + this._cleanup(cubeUVRenderTarget); - for ( var d = 0; d <= divisions; d ++ ) { + return cubeUVRenderTarget; + } - points.push( this.getPointAt( d / divisions ) ); + _allocateTargets(texture) { + // warning: null texture is valid + const params = { + magFilter: NearestFilter, + minFilter: NearestFilter, + generateMipmaps: false, + type: UnsignedByteType, + format: RGBEFormat, + encoding: _isLDR(texture) ? texture.encoding : RGBEEncoding, + depthBuffer: false + }; + const cubeUVRenderTarget = _createRenderTarget(params); + + cubeUVRenderTarget.depthBuffer = texture ? false : true; + this._pingPongRenderTarget = _createRenderTarget(params); + return cubeUVRenderTarget; + } + + _compileMaterial(material) { + const tmpMesh = new Mesh(_lodPlanes[0], material); + + this._renderer.compile(tmpMesh, _flatCamera); + } + + _sceneToCubeUV(scene, near, far, cubeUVRenderTarget) { + const fov = 90; + const aspect = 1; + const cubeCamera = new PerspectiveCamera(fov, aspect, near, far); + const upSign = [1, -1, 1, 1, 1, 1]; + const forwardSign = [1, 1, 1, -1, -1, -1]; + const renderer = this._renderer; + const originalAutoClear = renderer.autoClear; + const outputEncoding = renderer.outputEncoding; + const toneMapping = renderer.toneMapping; + renderer.getClearColor(_clearColor); + renderer.toneMapping = NoToneMapping; + renderer.outputEncoding = LinearEncoding; + renderer.autoClear = false; + const backgroundMaterial = new MeshBasicMaterial({ + name: 'PMREM.Background', + side: BackSide, + depthWrite: false, + depthTest: false + }); + const backgroundBox = new Mesh(new BoxGeometry(), backgroundMaterial); + let useSolidColor = false; + const background = scene.background; + + if (background) { + if (background.isColor) { + backgroundMaterial.color.copy(background); + scene.background = null; + useSolidColor = true; + } + } else { + backgroundMaterial.color.copy(_clearColor); + useSolidColor = true; } - return points; - - }, + for (let i = 0; i < 6; i++) { + const col = i % 3; - // Get total curve arc length + if (col == 0) { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(forwardSign[i], 0, 0); + } else if (col == 1) { + cubeCamera.up.set(0, 0, upSign[i]); + cubeCamera.lookAt(0, forwardSign[i], 0); + } else { + cubeCamera.up.set(0, upSign[i], 0); + cubeCamera.lookAt(0, 0, forwardSign[i]); + } - getLength: function () { + _setViewport(cubeUVRenderTarget, col * SIZE_MAX, i > 2 ? SIZE_MAX : 0, SIZE_MAX, SIZE_MAX); - var lengths = this.getLengths(); - return lengths[ lengths.length - 1 ]; + renderer.setRenderTarget(cubeUVRenderTarget); - }, + if (useSolidColor) { + renderer.render(backgroundBox, cubeCamera); + } - // Get list of cumulative segment lengths + renderer.render(scene, cubeCamera); + } - getLengths: function ( divisions ) { + backgroundBox.geometry.dispose(); + backgroundBox.material.dispose(); + renderer.toneMapping = toneMapping; + renderer.outputEncoding = outputEncoding; + renderer.autoClear = originalAutoClear; + scene.background = background; + } - if ( divisions === undefined ) divisions = this.arcLengthDivisions; + _textureToCubeUV(texture, cubeUVRenderTarget) { + const renderer = this._renderer; - if ( this.cacheArcLengths && - ( this.cacheArcLengths.length === divisions + 1 ) && - ! this.needsUpdate ) { + if (texture.isCubeTexture) { + if (this._cubemapShader == null) { + this._cubemapShader = _getCubemapShader(); + } + } else { + if (this._equirectShader == null) { + this._equirectShader = _getEquirectShader(); + } + } - return this.cacheArcLengths; + const material = texture.isCubeTexture ? this._cubemapShader : this._equirectShader; + const mesh = new Mesh(_lodPlanes[0], material); + const uniforms = material.uniforms; + uniforms['envMap'].value = texture; + if (!texture.isCubeTexture) { + uniforms['texelSize'].value.set(1.0 / texture.image.width, 1.0 / texture.image.height); } - this.needsUpdate = false; + uniforms['inputEncoding'].value = ENCODINGS[texture.encoding]; + uniforms['outputEncoding'].value = ENCODINGS[cubeUVRenderTarget.texture.encoding]; - var cache = []; - var current, last = this.getPoint( 0 ); - var p, sum = 0; + _setViewport(cubeUVRenderTarget, 0, 0, 3 * SIZE_MAX, 2 * SIZE_MAX); - cache.push( 0 ); + renderer.setRenderTarget(cubeUVRenderTarget); + renderer.render(mesh, _flatCamera); + } - for ( p = 1; p <= divisions; p ++ ) { + _applyPMREM(cubeUVRenderTarget) { + const renderer = this._renderer; + const autoClear = renderer.autoClear; + renderer.autoClear = false; - current = this.getPoint( p / divisions ); - sum += current.distanceTo( last ); - cache.push( sum ); - last = current; + for (let i = 1; i < TOTAL_LODS; i++) { + const sigma = Math.sqrt(_sigmas[i] * _sigmas[i] - _sigmas[i - 1] * _sigmas[i - 1]); + const poleAxis = _axisDirections[(i - 1) % _axisDirections.length]; + this._blur(cubeUVRenderTarget, i - 1, i, sigma, poleAxis); } - this.cacheArcLengths = cache; + renderer.autoClear = autoClear; + } + /** + * This is a two-pass Gaussian blur for a cubemap. Normally this is done + * vertically and horizontally, but this breaks down on a cube. Here we apply + * the blur latitudinally (around the poles), and then longitudinally (towards + * the poles) to approximate the orthogonally-separable blur. It is least + * accurate at the poles, but still does a decent job. + */ - return cache; // { sums: cache, sum: sum }; Sum is in the last element. - }, + _blur(cubeUVRenderTarget, lodIn, lodOut, sigma, poleAxis) { + const pingPongRenderTarget = this._pingPongRenderTarget; - updateArcLengths: function () { + this._halfBlur(cubeUVRenderTarget, pingPongRenderTarget, lodIn, lodOut, sigma, 'latitudinal', poleAxis); - this.needsUpdate = true; - this.getLengths(); + this._halfBlur(pingPongRenderTarget, cubeUVRenderTarget, lodOut, lodOut, sigma, 'longitudinal', poleAxis); + } - }, + _halfBlur(targetIn, targetOut, lodIn, lodOut, sigmaRadians, direction, poleAxis) { + const renderer = this._renderer; + const blurMaterial = this._blurMaterial; - // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant + if (direction !== 'latitudinal' && direction !== 'longitudinal') { + console.error('blur direction must be either latitudinal or longitudinal!'); + } // Number of standard deviations at which to cut off the discrete approximation. - getUtoTmapping: function ( u, distance ) { - var arcLengths = this.getLengths(); + const STANDARD_DEVIATIONS = 3; + const blurMesh = new Mesh(_lodPlanes[lodOut], blurMaterial); + const blurUniforms = blurMaterial.uniforms; + const pixels = _sizeLods[lodIn] - 1; + const radiansPerPixel = isFinite(sigmaRadians) ? Math.PI / (2 * pixels) : 2 * Math.PI / (2 * MAX_SAMPLES - 1); + const sigmaPixels = sigmaRadians / radiansPerPixel; + const samples = isFinite(sigmaRadians) ? 1 + Math.floor(STANDARD_DEVIATIONS * sigmaPixels) : MAX_SAMPLES; - var i = 0, il = arcLengths.length; + if (samples > MAX_SAMPLES) { + console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to ${MAX_SAMPLES}`); + } - var targetArcLength; // The targeted u distance value to get + const weights = []; + let sum = 0; - if ( distance ) { + for (let i = 0; i < MAX_SAMPLES; ++i) { + const x = i / sigmaPixels; + const weight = Math.exp(-x * x / 2); + weights.push(weight); - targetArcLength = distance; + if (i == 0) { + sum += weight; + } else if (i < samples) { + sum += 2 * weight; + } + } - } else { + for (let i = 0; i < weights.length; i++) { + weights[i] = weights[i] / sum; + } - targetArcLength = u * arcLengths[ il - 1 ]; + blurUniforms['envMap'].value = targetIn.texture; + blurUniforms['samples'].value = samples; + blurUniforms['weights'].value = weights; + blurUniforms['latitudinal'].value = direction === 'latitudinal'; + if (poleAxis) { + blurUniforms['poleAxis'].value = poleAxis; } - // binary search for the index with largest value smaller than target u distance + blurUniforms['dTheta'].value = radiansPerPixel; + blurUniforms['mipInt'].value = LOD_MAX - lodIn; + blurUniforms['inputEncoding'].value = ENCODINGS[targetIn.texture.encoding]; + blurUniforms['outputEncoding'].value = ENCODINGS[targetIn.texture.encoding]; + const outputSize = _sizeLods[lodOut]; + const x = 3 * Math.max(0, SIZE_MAX - 2 * outputSize); + const y = (lodOut === 0 ? 0 : 2 * SIZE_MAX) + 2 * outputSize * (lodOut > LOD_MAX - LOD_MIN ? lodOut - LOD_MAX + LOD_MIN : 0); - var low = 0, high = il - 1, comparison; + _setViewport(targetOut, x, y, 3 * outputSize, 2 * outputSize); - while ( low <= high ) { - - i = Math.floor( low + ( high - low ) / 2 ); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats + renderer.setRenderTarget(targetOut); + renderer.render(blurMesh, _flatCamera); + } - comparison = arcLengths[ i ] - targetArcLength; + } - if ( comparison < 0 ) { + function _isLDR(texture) { + if (texture === undefined || texture.type !== UnsignedByteType) return false; + return texture.encoding === LinearEncoding || texture.encoding === sRGBEncoding || texture.encoding === GammaEncoding; + } - low = i + 1; + function _createPlanes() { + const _lodPlanes = []; + const _sizeLods = []; + const _sigmas = []; + let lod = LOD_MAX; - } else if ( comparison > 0 ) { + for (let i = 0; i < TOTAL_LODS; i++) { + const sizeLod = Math.pow(2, lod); - high = i - 1; + _sizeLods.push(sizeLod); - } else { + let sigma = 1.0 / sizeLod; - high = i; - break; + if (i > LOD_MAX - LOD_MIN) { + sigma = EXTRA_LOD_SIGMA[i - LOD_MAX + LOD_MIN - 1]; + } else if (i == 0) { + sigma = 0; + } - // DONE + _sigmas.push(sigma); - } + const texelSize = 1.0 / (sizeLod - 1); + const min = -texelSize / 2; + const max = 1 + texelSize / 2; + const uv1 = [min, min, max, min, max, max, min, min, max, max, min, max]; + const cubeFaces = 6; + const vertices = 6; + const positionSize = 3; + const uvSize = 2; + const faceIndexSize = 1; + const position = new Float32Array(positionSize * vertices * cubeFaces); + const uv = new Float32Array(uvSize * vertices * cubeFaces); + const faceIndex = new Float32Array(faceIndexSize * vertices * cubeFaces); + for (let face = 0; face < cubeFaces; face++) { + const x = face % 3 * 2 / 3 - 1; + const y = face > 2 ? 0 : -1; + const coordinates = [x, y, 0, x + 2 / 3, y, 0, x + 2 / 3, y + 1, 0, x, y, 0, x + 2 / 3, y + 1, 0, x, y + 1, 0]; + position.set(coordinates, positionSize * vertices * face); + uv.set(uv1, uvSize * vertices * face); + const fill = [face, face, face, face, face, face]; + faceIndex.set(fill, faceIndexSize * vertices * face); } - i = high; - - if ( arcLengths[ i ] === targetArcLength ) { + const planes = new BufferGeometry(); + planes.setAttribute('position', new BufferAttribute(position, positionSize)); + planes.setAttribute('uv', new BufferAttribute(uv, uvSize)); + planes.setAttribute('faceIndex', new BufferAttribute(faceIndex, faceIndexSize)); - return i / ( il - 1 ); + _lodPlanes.push(planes); + if (lod > LOD_MIN) { + lod--; } + } + + return { + _lodPlanes, + _sizeLods, + _sigmas + }; + } + + function _createRenderTarget(params) { + const cubeUVRenderTarget = new WebGLRenderTarget(3 * SIZE_MAX, 3 * SIZE_MAX, params); + cubeUVRenderTarget.texture.mapping = CubeUVReflectionMapping; + cubeUVRenderTarget.texture.name = 'PMREM.cubeUv'; + cubeUVRenderTarget.scissorTest = true; + return cubeUVRenderTarget; + } - // we could get finer grain at lengths, or use simple interpolation between two points + function _setViewport(target, x, y, width, height) { + target.viewport.set(x, y, width, height); + target.scissor.set(x, y, width, height); + } - var lengthBefore = arcLengths[ i ]; - var lengthAfter = arcLengths[ i + 1 ]; + function _getBlurShader(maxSamples) { + const weights = new Float32Array(maxSamples); + const poleAxis = new Vector3(0, 1, 0); + const shaderMaterial = new RawShaderMaterial({ + name: 'SphericalGaussianBlur', + defines: { + 'n': maxSamples + }, + uniforms: { + 'envMap': { + value: null + }, + 'samples': { + value: 1 + }, + 'weights': { + value: weights + }, + 'latitudinal': { + value: false + }, + 'dTheta': { + value: 0 + }, + 'mipInt': { + value: 0 + }, + 'poleAxis': { + value: poleAxis + }, + 'inputEncoding': { + value: ENCODINGS[LinearEncoding] + }, + 'outputEncoding': { + value: ENCODINGS[LinearEncoding] + } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: + /* glsl */ + ` - var segmentLength = lengthAfter - lengthBefore; + precision mediump float; + precision mediump int; - // determine where we are between the 'before' and 'after' points + varying vec3 vOutputDirection; - var segmentFraction = ( targetArcLength - lengthBefore ) / segmentLength; + uniform sampler2D envMap; + uniform int samples; + uniform float weights[ n ]; + uniform bool latitudinal; + uniform float dTheta; + uniform float mipInt; + uniform vec3 poleAxis; - // add that fractional amount to t + ${_getEncodings()} - var t = ( i + segmentFraction ) / ( il - 1 ); + #define ENVMAP_TYPE_CUBE_UV + #include - return t; + vec3 getSample( float theta, vec3 axis ) { - }, + float cosTheta = cos( theta ); + // Rodrigues' axis-angle rotation + vec3 sampleDirection = vOutputDirection * cosTheta + + cross( axis, vOutputDirection ) * sin( theta ) + + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); - // Returns a unit vector tangent at t - // In case any sub curve does not implement its tangent derivation, - // 2 points a small delta apart will be used to find its gradient - // which seems to give a reasonable approximation + return bilinearCubeUV( envMap, sampleDirection, mipInt ); - getTangent: function ( t ) { + } - var delta = 0.0001; - var t1 = t - delta; - var t2 = t + delta; + void main() { - // Capping in case of danger + vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); - if ( t1 < 0 ) t1 = 0; - if ( t2 > 1 ) t2 = 1; + if ( all( equal( axis, vec3( 0.0 ) ) ) ) { - var pt1 = this.getPoint( t1 ); - var pt2 = this.getPoint( t2 ); + axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); - var vec = pt2.clone().sub( pt1 ); - return vec.normalize(); + } - }, + axis = normalize( axis ); - getTangentAt: function ( u ) { + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); - var t = this.getUtoTmapping( u ); - return this.getTangent( t ); + for ( int i = 1; i < n; i++ ) { - }, + if ( i >= samples ) { - computeFrenetFrames: function ( segments, closed ) { + break; - // see http://www.cs.indiana.edu/pub/techreports/TR425.pdf + } - var normal = new Vector3(); + float theta = dTheta * float( i ); + gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); + gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); - var tangents = []; - var normals = []; - var binormals = []; + } - var vec = new Vector3(); - var mat = new Matrix4(); + gl_FragColor = linearToOutputTexel( gl_FragColor ); - var i, u, theta; + } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); + return shaderMaterial; + } - // compute the tangent vectors for each segment on the curve + function _getEquirectShader() { + const texelSize = new Vector2(1, 1); + const shaderMaterial = new RawShaderMaterial({ + name: 'EquirectangularToCubeUV', + uniforms: { + 'envMap': { + value: null + }, + 'texelSize': { + value: texelSize + }, + 'inputEncoding': { + value: ENCODINGS[LinearEncoding] + }, + 'outputEncoding': { + value: ENCODINGS[LinearEncoding] + } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: + /* glsl */ + ` - for ( i = 0; i <= segments; i ++ ) { + precision mediump float; + precision mediump int; - u = i / segments; + varying vec3 vOutputDirection; - tangents[ i ] = this.getTangentAt( u ); - tangents[ i ].normalize(); + uniform sampler2D envMap; + uniform vec2 texelSize; - } + ${_getEncodings()} - // select an initial normal vector perpendicular to the first tangent vector, - // and in the direction of the minimum tangent xyz component + #include - normals[ 0 ] = new Vector3(); - binormals[ 0 ] = new Vector3(); - var min = Number.MAX_VALUE; - var tx = Math.abs( tangents[ 0 ].x ); - var ty = Math.abs( tangents[ 0 ].y ); - var tz = Math.abs( tangents[ 0 ].z ); + void main() { - if ( tx <= min ) { + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); - min = tx; - normal.set( 1, 0, 0 ); + vec3 outputDirection = normalize( vOutputDirection ); + vec2 uv = equirectUv( outputDirection ); - } + vec2 f = fract( uv / texelSize - 0.5 ); + uv -= f * texelSize; + vec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.x += texelSize.x; + vec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.y += texelSize.y; + vec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; + uv.x -= texelSize.x; + vec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb; - if ( ty <= min ) { + vec3 tm = mix( tl, tr, f.x ); + vec3 bm = mix( bl, br, f.x ); + gl_FragColor.rgb = mix( tm, bm, f.y ); - min = ty; - normal.set( 0, 1, 0 ); + gl_FragColor = linearToOutputTexel( gl_FragColor ); } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); + return shaderMaterial; + } - if ( tz <= min ) { + function _getCubemapShader() { + const shaderMaterial = new RawShaderMaterial({ + name: 'CubemapToCubeUV', + uniforms: { + 'envMap': { + value: null + }, + 'inputEncoding': { + value: ENCODINGS[LinearEncoding] + }, + 'outputEncoding': { + value: ENCODINGS[LinearEncoding] + } + }, + vertexShader: _getCommonVertexShader(), + fragmentShader: + /* glsl */ + ` - normal.set( 0, 0, 1 ); + precision mediump float; + precision mediump int; - } + varying vec3 vOutputDirection; - vec.crossVectors( tangents[ 0 ], normal ).normalize(); + uniform samplerCube envMap; - normals[ 0 ].crossVectors( tangents[ 0 ], vec ); - binormals[ 0 ].crossVectors( tangents[ 0 ], normals[ 0 ] ); + ${_getEncodings()} + void main() { - // compute the slowly-varying normal and binormal vectors for each segment on the curve + gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); + gl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb; + gl_FragColor = linearToOutputTexel( gl_FragColor ); - for ( i = 1; i <= segments; i ++ ) { + } + `, + blending: NoBlending, + depthTest: false, + depthWrite: false + }); + return shaderMaterial; + } - normals[ i ] = normals[ i - 1 ].clone(); + function _getCommonVertexShader() { + return ( + /* glsl */ + ` - binormals[ i ] = binormals[ i - 1 ].clone(); + precision mediump float; + precision mediump int; - vec.crossVectors( tangents[ i - 1 ], tangents[ i ] ); + attribute vec3 position; + attribute vec2 uv; + attribute float faceIndex; - if ( vec.length() > Number.EPSILON ) { + varying vec3 vOutputDirection; - vec.normalize(); + // RH coordinate system; PMREM face-indexing convention + vec3 getDirection( vec2 uv, float face ) { - theta = Math.acos( _Math.clamp( tangents[ i - 1 ].dot( tangents[ i ] ), - 1, 1 ) ); // clamp for floating pt errors + uv = 2.0 * uv - 1.0; - normals[ i ].applyMatrix4( mat.makeRotationAxis( vec, theta ) ); + vec3 direction = vec3( uv, 1.0 ); - } + if ( face == 0.0 ) { - binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + direction = direction.zyx; // ( 1, v, u ) pos x - } + } else if ( face == 1.0 ) { - // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same + direction = direction.xzy; + direction.xz *= -1.0; // ( -u, 1, -v ) pos y - if ( closed === true ) { + } else if ( face == 2.0 ) { - theta = Math.acos( _Math.clamp( normals[ 0 ].dot( normals[ segments ] ), - 1, 1 ) ); - theta /= segments; + direction.x *= -1.0; // ( -u, v, 1 ) pos z - if ( tangents[ 0 ].dot( vec.crossVectors( normals[ 0 ], normals[ segments ] ) ) > 0 ) { + } else if ( face == 3.0 ) { - theta = - theta; + direction = direction.zyx; + direction.xz *= -1.0; // ( -1, v, -u ) neg x - } + } else if ( face == 4.0 ) { - for ( i = 1; i <= segments; i ++ ) { + direction = direction.xzy; + direction.xy *= -1.0; // ( -u, -1, v ) neg y - // twist a little... - normals[ i ].applyMatrix4( mat.makeRotationAxis( tangents[ i ], theta * i ) ); - binormals[ i ].crossVectors( tangents[ i ], normals[ i ] ); + } else if ( face == 5.0 ) { - } + direction.z *= -1.0; // ( u, v, -1 ) neg z } - return { - tangents: tangents, - normals: normals, - binormals: binormals - }; + return direction; - }, + } - clone: function () { + void main() { - return new this.constructor().copy( this ); + vOutputDirection = getDirection( uv, faceIndex ); + gl_Position = vec4( position, 1.0 ); - }, + } + ` + ); + } - copy: function ( source ) { + function _getEncodings() { + return ( + /* glsl */ + ` - this.arcLengthDivisions = source.arcLengthDivisions; + uniform int inputEncoding; + uniform int outputEncoding; - return this; + #include - }, + vec4 inputTexelToLinear( vec4 value ) { - toJSON: function () { + if ( inputEncoding == 0 ) { - var data = { - metadata: { - version: 4.5, - type: 'Curve', - generator: 'Curve.toJSON' - } - }; + return value; - data.arcLengthDivisions = this.arcLengthDivisions; - data.type = this.type; + } else if ( inputEncoding == 1 ) { - return data; + return sRGBToLinear( value ); - }, + } else if ( inputEncoding == 2 ) { - fromJSON: function ( json ) { + return RGBEToLinear( value ); - this.arcLengthDivisions = json.arcLengthDivisions; + } else if ( inputEncoding == 3 ) { - return this; + return RGBMToLinear( value, 7.0 ); - } + } else if ( inputEncoding == 4 ) { - } ); + return RGBMToLinear( value, 16.0 ); - function EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + } else if ( inputEncoding == 5 ) { - Curve.call( this ); + return RGBDToLinear( value, 256.0 ); + + } else { - this.type = 'EllipseCurve'; + return GammaToLinear( value, 2.2 ); - this.aX = aX || 0; - this.aY = aY || 0; + } - this.xRadius = xRadius || 1; - this.yRadius = yRadius || 1; + } - this.aStartAngle = aStartAngle || 0; - this.aEndAngle = aEndAngle || 2 * Math.PI; + vec4 linearToOutputTexel( vec4 value ) { - this.aClockwise = aClockwise || false; + if ( outputEncoding == 0 ) { - this.aRotation = aRotation || 0; + return value; - } + } else if ( outputEncoding == 1 ) { - EllipseCurve.prototype = Object.create( Curve.prototype ); - EllipseCurve.prototype.constructor = EllipseCurve; + return LinearTosRGB( value ); - EllipseCurve.prototype.isEllipseCurve = true; + } else if ( outputEncoding == 2 ) { - EllipseCurve.prototype.getPoint = function ( t, optionalTarget ) { + return LinearToRGBE( value ); - var point = optionalTarget || new Vector2(); + } else if ( outputEncoding == 3 ) { - var twoPi = Math.PI * 2; - var deltaAngle = this.aEndAngle - this.aStartAngle; - var samePoints = Math.abs( deltaAngle ) < Number.EPSILON; + return LinearToRGBM( value, 7.0 ); - // ensures that deltaAngle is 0 .. 2 PI - while ( deltaAngle < 0 ) deltaAngle += twoPi; - while ( deltaAngle > twoPi ) deltaAngle -= twoPi; + } else if ( outputEncoding == 4 ) { - if ( deltaAngle < Number.EPSILON ) { + return LinearToRGBM( value, 16.0 ); - if ( samePoints ) { + } else if ( outputEncoding == 5 ) { - deltaAngle = 0; + return LinearToRGBD( value, 256.0 ); } else { - deltaAngle = twoPi; + return LinearToGamma( value, 2.2 ); } } - if ( this.aClockwise === true && ! samePoints ) { + vec4 envMapTexelToLinear( vec4 color ) { - if ( deltaAngle === twoPi ) { + return inputTexelToLinear( color ); - deltaAngle = - twoPi; + } + ` + ); + } - } else { + function WebGLCubeUVMaps(renderer) { + let cubeUVmaps = new WeakMap(); + let pmremGenerator = null; - deltaAngle = deltaAngle - twoPi; + function get(texture) { + if (texture && texture.isTexture && texture.isRenderTargetTexture === false) { + const mapping = texture.mapping; + const isEquirectMap = mapping === EquirectangularReflectionMapping || mapping === EquirectangularRefractionMapping; + const isCubeMap = mapping === CubeReflectionMapping || mapping === CubeRefractionMapping; + if (isEquirectMap || isCubeMap) { + // equirect/cube map to cubeUV conversion + if (cubeUVmaps.has(texture)) { + return cubeUVmaps.get(texture).texture; + } else { + const image = texture.image; + + if (isEquirectMap && image && image.height > 0 || isCubeMap && image && isCubeTextureComplete(image)) { + const currentRenderTarget = renderer.getRenderTarget(); + if (pmremGenerator === null) pmremGenerator = new PMREMGenerator(renderer); + const renderTarget = isEquirectMap ? pmremGenerator.fromEquirectangular(texture) : pmremGenerator.fromCubemap(texture); + cubeUVmaps.set(texture, renderTarget); + renderer.setRenderTarget(currentRenderTarget); + texture.addEventListener('dispose', onTextureDispose); + return renderTarget.texture; + } else { + // image not yet ready. try the conversion next frame + return null; + } + } + } } + return texture; } - var angle = this.aStartAngle + t * deltaAngle; - var x = this.aX + this.xRadius * Math.cos( angle ); - var y = this.aY + this.yRadius * Math.sin( angle ); - - if ( this.aRotation !== 0 ) { - - var cos = Math.cos( this.aRotation ); - var sin = Math.sin( this.aRotation ); + function isCubeTextureComplete(image) { + let count = 0; + const length = 6; - var tx = x - this.aX; - var ty = y - this.aY; - - // Rotate the point about the center of the ellipse. - x = tx * cos - ty * sin + this.aX; - y = tx * sin + ty * cos + this.aY; + for (let i = 0; i < length; i++) { + if (image[i] !== undefined) count++; + } + return count === length; } - return point.set( x, y ); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener('dispose', onTextureDispose); + const cubemapUV = cubeUVmaps.get(texture); - }; + if (cubemapUV !== undefined) { + cubeUVmaps.delete(texture); + cubemapUV.dispose(); + } + } - EllipseCurve.prototype.copy = function ( source ) { + function dispose() { + cubeUVmaps = new WeakMap(); - Curve.prototype.copy.call( this, source ); + if (pmremGenerator !== null) { + pmremGenerator.dispose(); + pmremGenerator = null; + } + } - this.aX = source.aX; - this.aY = source.aY; + return { + get: get, + dispose: dispose + }; + } - this.xRadius = source.xRadius; - this.yRadius = source.yRadius; + function WebGLExtensions(gl) { + const extensions = {}; - this.aStartAngle = source.aStartAngle; - this.aEndAngle = source.aEndAngle; + function getExtension(name) { + if (extensions[name] !== undefined) { + return extensions[name]; + } - this.aClockwise = source.aClockwise; + let extension; - this.aRotation = source.aRotation; + switch (name) { + case 'WEBGL_depth_texture': + extension = gl.getExtension('WEBGL_depth_texture') || gl.getExtension('MOZ_WEBGL_depth_texture') || gl.getExtension('WEBKIT_WEBGL_depth_texture'); + break; - return this; + case 'EXT_texture_filter_anisotropic': + extension = gl.getExtension('EXT_texture_filter_anisotropic') || gl.getExtension('MOZ_EXT_texture_filter_anisotropic') || gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic'); + break; - }; + case 'WEBGL_compressed_texture_s3tc': + extension = gl.getExtension('WEBGL_compressed_texture_s3tc') || gl.getExtension('MOZ_WEBGL_compressed_texture_s3tc') || gl.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc'); + break; + case 'WEBGL_compressed_texture_pvrtc': + extension = gl.getExtension('WEBGL_compressed_texture_pvrtc') || gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'); + break; - EllipseCurve.prototype.toJSON = function () { + default: + extension = gl.getExtension(name); + } - var data = Curve.prototype.toJSON.call( this ); + extensions[name] = extension; + return extension; + } - data.aX = this.aX; - data.aY = this.aY; + return { + has: function (name) { + return getExtension(name) !== null; + }, + init: function (capabilities) { + if (capabilities.isWebGL2) { + getExtension('EXT_color_buffer_float'); + } else { + getExtension('WEBGL_depth_texture'); + getExtension('OES_texture_float'); + getExtension('OES_texture_half_float'); + getExtension('OES_texture_half_float_linear'); + getExtension('OES_standard_derivatives'); + getExtension('OES_element_index_uint'); + getExtension('OES_vertex_array_object'); + getExtension('ANGLE_instanced_arrays'); + } + + getExtension('OES_texture_float_linear'); + getExtension('EXT_color_buffer_half_float'); + }, + get: function (name) { + const extension = getExtension(name); - data.xRadius = this.xRadius; - data.yRadius = this.yRadius; + if (extension === null) { + console.warn('THREE.WebGLRenderer: ' + name + ' extension not supported.'); + } - data.aStartAngle = this.aStartAngle; - data.aEndAngle = this.aEndAngle; + return extension; + } + }; + } - data.aClockwise = this.aClockwise; + function WebGLGeometries(gl, attributes, info, bindingStates) { + const geometries = {}; + const wireframeAttributes = new WeakMap(); - data.aRotation = this.aRotation; + function onGeometryDispose(event) { + const geometry = event.target; - return data; + if (geometry.index !== null) { + attributes.remove(geometry.index); + } - }; + for (const name in geometry.attributes) { + attributes.remove(geometry.attributes[name]); + } - EllipseCurve.prototype.fromJSON = function ( json ) { + geometry.removeEventListener('dispose', onGeometryDispose); + delete geometries[geometry.id]; + const attribute = wireframeAttributes.get(geometry); - Curve.prototype.fromJSON.call( this, json ); + if (attribute) { + attributes.remove(attribute); + wireframeAttributes.delete(geometry); + } - this.aX = json.aX; - this.aY = json.aY; + bindingStates.releaseStatesOfGeometry(geometry); - this.xRadius = json.xRadius; - this.yRadius = json.yRadius; + if (geometry.isInstancedBufferGeometry === true) { + delete geometry._maxInstanceCount; + } // - this.aStartAngle = json.aStartAngle; - this.aEndAngle = json.aEndAngle; - this.aClockwise = json.aClockwise; + info.memory.geometries--; + } - this.aRotation = json.aRotation; + function get(object, geometry) { + if (geometries[geometry.id] === true) return geometry; + geometry.addEventListener('dispose', onGeometryDispose); + geometries[geometry.id] = true; + info.memory.geometries++; + return geometry; + } - return this; + function update(geometry) { + const geometryAttributes = geometry.attributes; // Updating index buffer in VAO now. See WebGLBindingStates. - }; + for (const name in geometryAttributes) { + attributes.update(geometryAttributes[name], gl.ARRAY_BUFFER); + } // morph targets - function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { - EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + const morphAttributes = geometry.morphAttributes; - this.type = 'ArcCurve'; + for (const name in morphAttributes) { + const array = morphAttributes[name]; - } + for (let i = 0, l = array.length; i < l; i++) { + attributes.update(array[i], gl.ARRAY_BUFFER); + } + } + } - ArcCurve.prototype = Object.create( EllipseCurve.prototype ); - ArcCurve.prototype.constructor = ArcCurve; + function updateWireframeAttribute(geometry) { + const indices = []; + const geometryIndex = geometry.index; + const geometryPosition = geometry.attributes.position; + let version = 0; - ArcCurve.prototype.isArcCurve = true; + if (geometryIndex !== null) { + const array = geometryIndex.array; + version = geometryIndex.version; - /** - * @author zz85 https://github.com/zz85 - * - * Centripetal CatmullRom Curve - which is useful for avoiding - * cusps and self-intersections in non-uniform catmull rom curves. - * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf - * - * curve.type accepts centripetal(default), chordal and catmullrom - * curve.tension is used for catmullrom which defaults to 0.5 - */ + for (let i = 0, l = array.length; i < l; i += 3) { + const a = array[i + 0]; + const b = array[i + 1]; + const c = array[i + 2]; + indices.push(a, b, b, c, c, a); + } + } else { + const array = geometryPosition.array; + version = geometryPosition.version; + for (let i = 0, l = array.length / 3 - 1; i < l; i += 3) { + const a = i + 0; + const b = i + 1; + const c = i + 2; + indices.push(a, b, b, c, c, a); + } + } - /* - Based on an optimized c++ solution in - - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/ - - http://ideone.com/NoEbVM + const attribute = new (arrayMax(indices) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute)(indices, 1); + attribute.version = version; // Updating index buffer in VAO now. See WebGLBindingStates + // - This CubicPoly class could be used for reusing some variables and calculations, - but for three.js curve use, it could be possible inlined and flatten into a single function call - which can be placed in CurveUtils. - */ + const previousAttribute = wireframeAttributes.get(geometry); + if (previousAttribute) attributes.remove(previousAttribute); // - function CubicPoly() { + wireframeAttributes.set(geometry, attribute); + } - var c0 = 0, c1 = 0, c2 = 0, c3 = 0; + function getWireframeAttribute(geometry) { + const currentAttribute = wireframeAttributes.get(geometry); - /* - * Compute coefficients for a cubic polynomial - * p(s) = c0 + c1*s + c2*s^2 + c3*s^3 - * such that - * p(0) = x0, p(1) = x1 - * and - * p'(0) = t0, p'(1) = t1. - */ - function init( x0, x1, t0, t1 ) { + if (currentAttribute) { + const geometryIndex = geometry.index; - c0 = x0; - c1 = t0; - c2 = - 3 * x0 + 3 * x1 - 2 * t0 - t1; - c3 = 2 * x0 - 2 * x1 + t0 + t1; + if (geometryIndex !== null) { + // if the attribute is obsolete, create a new one + if (currentAttribute.version < geometryIndex.version) { + updateWireframeAttribute(geometry); + } + } + } else { + updateWireframeAttribute(geometry); + } + return wireframeAttributes.get(geometry); } return { + get: get, + update: update, + getWireframeAttribute: getWireframeAttribute + }; + } - initCatmullRom: function ( x0, x1, x2, x3, tension ) { - - init( x1, x2, tension * ( x2 - x0 ), tension * ( x3 - x1 ) ); - - }, - - initNonuniformCatmullRom: function ( x0, x1, x2, x3, dt0, dt1, dt2 ) { + function WebGLIndexedBufferRenderer(gl, extensions, info, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + let mode; - // compute tangents when parameterized in [t1,t2] - var t1 = ( x1 - x0 ) / dt0 - ( x2 - x0 ) / ( dt0 + dt1 ) + ( x2 - x1 ) / dt1; - var t2 = ( x2 - x1 ) / dt1 - ( x3 - x1 ) / ( dt1 + dt2 ) + ( x3 - x2 ) / dt2; + function setMode(value) { + mode = value; + } - // rescale tangents for parametrization in [0,1] - t1 *= dt1; - t2 *= dt1; + let type, bytesPerElement; - init( x1, x2, t1, t2 ); + function setIndex(value) { + type = value.type; + bytesPerElement = value.bytesPerElement; + } - }, + function render(start, count) { + gl.drawElements(mode, count, type, start * bytesPerElement); + info.update(count, mode, 1); + } - calc: function ( t ) { + function renderInstances(start, count, primcount) { + if (primcount === 0) return; + let extension, methodName; - var t2 = t * t; - var t3 = t2 * t; - return c0 + c1 * t + c2 * t2 + c3 * t3; + if (isWebGL2) { + extension = gl; + methodName = 'drawElementsInstanced'; + } else { + extension = extensions.get('ANGLE_instanced_arrays'); + methodName = 'drawElementsInstancedANGLE'; + if (extension === null) { + console.error('THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.'); + return; + } } - }; - - } - - // - - var tmp = new Vector3(); - var px = new CubicPoly(), py = new CubicPoly(), pz = new CubicPoly(); + extension[methodName](mode, count, type, start * bytesPerElement, primcount); + info.update(count, mode, primcount); + } // - function CatmullRomCurve3( points, closed, curveType, tension ) { - - Curve.call( this ); - - this.type = 'CatmullRomCurve3'; - - this.points = points || []; - this.closed = closed || false; - this.curveType = curveType || 'centripetal'; - this.tension = tension || 0.5; + this.setMode = setMode; + this.setIndex = setIndex; + this.render = render; + this.renderInstances = renderInstances; } - CatmullRomCurve3.prototype = Object.create( Curve.prototype ); - CatmullRomCurve3.prototype.constructor = CatmullRomCurve3; - - CatmullRomCurve3.prototype.isCatmullRomCurve3 = true; - - CatmullRomCurve3.prototype.getPoint = function ( t, optionalTarget ) { - - var point = optionalTarget || new Vector3(); + function WebGLInfo(gl) { + const memory = { + geometries: 0, + textures: 0 + }; + const render = { + frame: 0, + calls: 0, + triangles: 0, + points: 0, + lines: 0 + }; - var points = this.points; - var l = points.length; + function update(count, mode, instanceCount) { + render.calls++; - var p = ( l - ( this.closed ? 0 : 1 ) ) * t; - var intPoint = Math.floor( p ); - var weight = p - intPoint; + switch (mode) { + case gl.TRIANGLES: + render.triangles += instanceCount * (count / 3); + break; - if ( this.closed ) { + case gl.LINES: + render.lines += instanceCount * (count / 2); + break; - intPoint += intPoint > 0 ? 0 : ( Math.floor( Math.abs( intPoint ) / l ) + 1 ) * l; + case gl.LINE_STRIP: + render.lines += instanceCount * (count - 1); + break; - } else if ( weight === 0 && intPoint === l - 1 ) { + case gl.LINE_LOOP: + render.lines += instanceCount * count; + break; - intPoint = l - 2; - weight = 1; + case gl.POINTS: + render.points += instanceCount * count; + break; + default: + console.error('THREE.WebGLInfo: Unknown draw mode:', mode); + break; + } } - var p0, p1, p2, p3; // 4 points - - if ( this.closed || intPoint > 0 ) { - - p0 = points[ ( intPoint - 1 ) % l ]; - - } else { - - // extrapolate first point - tmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] ); - p0 = tmp; - + function reset() { + render.frame++; + render.calls = 0; + render.triangles = 0; + render.points = 0; + render.lines = 0; } - p1 = points[ intPoint % l ]; - p2 = points[ ( intPoint + 1 ) % l ]; - - if ( this.closed || intPoint + 2 < l ) { + return { + memory: memory, + render: render, + programs: null, + autoReset: true, + reset: reset, + update: update + }; + } - p3 = points[ ( intPoint + 2 ) % l ]; + function numericalSort(a, b) { + return a[0] - b[0]; + } - } else { + function absNumericalSort(a, b) { + return Math.abs(b[1]) - Math.abs(a[1]); + } - // extrapolate last point - tmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] ); - p3 = tmp; + function WebGLMorphtargets(gl) { + const influencesList = {}; + const morphInfluences = new Float32Array(8); + const workInfluences = []; + for (let i = 0; i < 8; i++) { + workInfluences[i] = [i, 0]; } - if ( this.curveType === 'centripetal' || this.curveType === 'chordal' ) { + function update(object, geometry, material, program) { + const objectInfluences = object.morphTargetInfluences; // When object doesn't have morph target influences defined, we treat it as a 0-length array + // This is important to make sure we set up morphTargetBaseInfluence / morphTargetInfluences - // init Centripetal / Chordal Catmull-Rom - var pow = this.curveType === 'chordal' ? 0.5 : 0.25; - var dt0 = Math.pow( p0.distanceToSquared( p1 ), pow ); - var dt1 = Math.pow( p1.distanceToSquared( p2 ), pow ); - var dt2 = Math.pow( p2.distanceToSquared( p3 ), pow ); + const length = objectInfluences === undefined ? 0 : objectInfluences.length; + let influences = influencesList[geometry.id]; - // safety check for repeated points - if ( dt1 < 1e-4 ) dt1 = 1.0; - if ( dt0 < 1e-4 ) dt0 = dt1; - if ( dt2 < 1e-4 ) dt2 = dt1; + if (influences === undefined || influences.length !== length) { + // initialise list + influences = []; - px.initNonuniformCatmullRom( p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2 ); - py.initNonuniformCatmullRom( p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2 ); - pz.initNonuniformCatmullRom( p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2 ); + for (let i = 0; i < length; i++) { + influences[i] = [i, 0]; + } - } else if ( this.curveType === 'catmullrom' ) { + influencesList[geometry.id] = influences; + } // Collect influences - px.initCatmullRom( p0.x, p1.x, p2.x, p3.x, this.tension ); - py.initCatmullRom( p0.y, p1.y, p2.y, p3.y, this.tension ); - pz.initCatmullRom( p0.z, p1.z, p2.z, p3.z, this.tension ); - } + for (let i = 0; i < length; i++) { + const influence = influences[i]; + influence[0] = i; + influence[1] = objectInfluences[i]; + } - point.set( - px.calc( weight ), - py.calc( weight ), - pz.calc( weight ) - ); + influences.sort(absNumericalSort); - return point; + for (let i = 0; i < 8; i++) { + if (i < length && influences[i][1]) { + workInfluences[i][0] = influences[i][0]; + workInfluences[i][1] = influences[i][1]; + } else { + workInfluences[i][0] = Number.MAX_SAFE_INTEGER; + workInfluences[i][1] = 0; + } + } - }; + workInfluences.sort(numericalSort); + const morphTargets = geometry.morphAttributes.position; + const morphNormals = geometry.morphAttributes.normal; + let morphInfluencesSum = 0; - CatmullRomCurve3.prototype.copy = function ( source ) { + for (let i = 0; i < 8; i++) { + const influence = workInfluences[i]; + const index = influence[0]; + const value = influence[1]; - Curve.prototype.copy.call( this, source ); + if (index !== Number.MAX_SAFE_INTEGER && value) { + if (morphTargets && geometry.getAttribute('morphTarget' + i) !== morphTargets[index]) { + geometry.setAttribute('morphTarget' + i, morphTargets[index]); + } + + if (morphNormals && geometry.getAttribute('morphNormal' + i) !== morphNormals[index]) { + geometry.setAttribute('morphNormal' + i, morphNormals[index]); + } - this.points = []; + morphInfluences[i] = value; + morphInfluencesSum += value; + } else { + if (morphTargets && geometry.hasAttribute('morphTarget' + i) === true) { + geometry.deleteAttribute('morphTarget' + i); + } - for ( var i = 0, l = source.points.length; i < l; i ++ ) { + if (morphNormals && geometry.hasAttribute('morphNormal' + i) === true) { + geometry.deleteAttribute('morphNormal' + i); + } - var point = source.points[ i ]; + morphInfluences[i] = 0; + } + } // GLSL shader uses formula baseinfluence * base + sum(target * influence) + // This allows us to switch between absolute morphs and relative morphs without changing shader code + // When baseinfluence = 1 - sum(influence), the above is equivalent to sum((target - base) * influence) - this.points.push( point.clone() ); + const morphBaseInfluence = geometry.morphTargetsRelative ? 1 : 1 - morphInfluencesSum; + program.getUniforms().setValue(gl, 'morphTargetBaseInfluence', morphBaseInfluence); + program.getUniforms().setValue(gl, 'morphTargetInfluences', morphInfluences); } - this.closed = source.closed; - this.curveType = source.curveType; - this.tension = source.tension; - - return this; + return { + update: update + }; + } - }; + function WebGLObjects(gl, geometries, attributes, info) { + let updateMap = new WeakMap(); - CatmullRomCurve3.prototype.toJSON = function () { + function update(object) { + const frame = info.render.frame; + const geometry = object.geometry; + const buffergeometry = geometries.get(object, geometry); // Update once per frame - var data = Curve.prototype.toJSON.call( this ); + if (updateMap.get(buffergeometry) !== frame) { + geometries.update(buffergeometry); + updateMap.set(buffergeometry, frame); + } - data.points = []; + if (object.isInstancedMesh) { + if (object.hasEventListener('dispose', onInstancedMeshDispose) === false) { + object.addEventListener('dispose', onInstancedMeshDispose); + } - for ( var i = 0, l = this.points.length; i < l; i ++ ) { + attributes.update(object.instanceMatrix, gl.ARRAY_BUFFER); - var point = this.points[ i ]; - data.points.push( point.toArray() ); + if (object.instanceColor !== null) { + attributes.update(object.instanceColor, gl.ARRAY_BUFFER); + } + } + return buffergeometry; } - data.closed = this.closed; - data.curveType = this.curveType; - data.tension = this.tension; - - return data; - - }; + function dispose() { + updateMap = new WeakMap(); + } - CatmullRomCurve3.prototype.fromJSON = function ( json ) { + function onInstancedMeshDispose(event) { + const instancedMesh = event.target; + instancedMesh.removeEventListener('dispose', onInstancedMeshDispose); + attributes.remove(instancedMesh.instanceMatrix); + if (instancedMesh.instanceColor !== null) attributes.remove(instancedMesh.instanceColor); + } - Curve.prototype.fromJSON.call( this, json ); + return { + update: update, + dispose: dispose + }; + } - this.points = []; + class DataTexture2DArray extends Texture { + constructor(data = null, width = 1, height = 1, depth = 1) { + super(null); + this.image = { + data, + width, + height, + depth + }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + this.needsUpdate = true; + } - for ( var i = 0, l = json.points.length; i < l; i ++ ) { + } - var point = json.points[ i ]; - this.points.push( new Vector3().fromArray( point ) ); + DataTexture2DArray.prototype.isDataTexture2DArray = true; + class DataTexture3D extends Texture { + constructor(data = null, width = 1, height = 1, depth = 1) { + // We're going to add .setXXX() methods for setting properties later. + // Users can still set in DataTexture3D directly. + // + // const texture = new THREE.DataTexture3D( data, width, height, depth ); + // texture.anisotropy = 16; + // + // See #14839 + super(null); + this.image = { + data, + width, + height, + depth + }; + this.magFilter = NearestFilter; + this.minFilter = NearestFilter; + this.wrapR = ClampToEdgeWrapping; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + this.needsUpdate = true; } - this.closed = json.closed; - this.curveType = json.curveType; - this.tension = json.tension; - - return this; + } - }; + DataTexture3D.prototype.isDataTexture3D = true; /** - * @author zz85 / http://www.lab4games.net/zz85/blog + * Uniforms of a program. + * Those form a tree structure with a special top-level container for the root, + * which you get by calling 'new WebGLUniforms( gl, program )'. + * + * + * Properties of inner nodes including the top-level container: + * + * .seq - array of nested uniforms + * .map - nested uniforms by name + * + * + * Methods of all nodes except the top-level container: + * + * .setValue( gl, value, [textures] ) + * + * uploads a uniform value(s) + * the 'textures' parameter is needed for sampler uniforms + * + * + * Static methods of the top-level container (textures factorizations): + * + * .upload( gl, seq, values, textures ) + * + * sets uniforms in 'seq' to 'values[id].value' + * + * .seqWithValue( seq, values ) : filteredSeq + * + * filters 'seq' entries with corresponding entry in values + * + * + * Methods of the top-level container (textures factorizations): + * + * .setValue( gl, name, value, textures ) + * + * sets uniform with name 'name' to 'value' + * + * .setOptional( gl, obj, prop ) + * + * like .set for an optional property of the object * - * Bezier Curves formulas obtained from - * http://en.wikipedia.org/wiki/Bézier_curve */ + const emptyTexture = new Texture(); + const emptyTexture2dArray = new DataTexture2DArray(); + const emptyTexture3d = new DataTexture3D(); + const emptyCubeTexture = new CubeTexture(); // --- Utilities --- + // Array Caches (provide typed arrays for temporary by size) - function CatmullRom( t, p0, p1, p2, p3 ) { - - var v0 = ( p2 - p0 ) * 0.5; - var v1 = ( p3 - p1 ) * 0.5; - var t2 = t * t; - var t3 = t * t2; - return ( 2 * p1 - 2 * p2 + v0 + v1 ) * t3 + ( - 3 * p1 + 3 * p2 - 2 * v0 - v1 ) * t2 + v0 * t + p1; - - } - - // - - function QuadraticBezierP0( t, p ) { - - var k = 1 - t; - return k * k * p; + const arrayCacheF32 = []; + const arrayCacheI32 = []; // Float32Array caches used for uploading Matrix uniforms - } + const mat4array = new Float32Array(16); + const mat3array = new Float32Array(9); + const mat2array = new Float32Array(4); // Flattening for arrays of vectors and matrices - function QuadraticBezierP1( t, p ) { + function flatten(array, nBlocks, blockSize) { + const firstElem = array[0]; + if (firstElem <= 0 || firstElem > 0) return array; // unoptimized: ! isNaN( firstElem ) + // see http://jacksondunstan.com/articles/983 - return 2 * ( 1 - t ) * t * p; + const n = nBlocks * blockSize; + let r = arrayCacheF32[n]; - } + if (r === undefined) { + r = new Float32Array(n); + arrayCacheF32[n] = r; + } - function QuadraticBezierP2( t, p ) { + if (nBlocks !== 0) { + firstElem.toArray(r, 0); - return t * t * p; + for (let i = 1, offset = 0; i !== nBlocks; ++i) { + offset += blockSize; + array[i].toArray(r, offset); + } + } + return r; } - function QuadraticBezier( t, p0, p1, p2 ) { + function arraysEqual(a, b) { + if (a.length !== b.length) return false; - return QuadraticBezierP0( t, p0 ) + QuadraticBezierP1( t, p1 ) + - QuadraticBezierP2( t, p2 ); + for (let i = 0, l = a.length; i < l; i++) { + if (a[i] !== b[i]) return false; + } + return true; } - // - - function CubicBezierP0( t, p ) { - - var k = 1 - t; - return k * k * k * p; + function copyArray(a, b) { + for (let i = 0, l = b.length; i < l; i++) { + a[i] = b[i]; + } + } // Texture unit allocation - } - function CubicBezierP1( t, p ) { + function allocTexUnits(textures, n) { + let r = arrayCacheI32[n]; - var k = 1 - t; - return 3 * k * k * t * p; + if (r === undefined) { + r = new Int32Array(n); + arrayCacheI32[n] = r; + } - } + for (let i = 0; i !== n; ++i) { + r[i] = textures.allocateTextureUnit(); + } - function CubicBezierP2( t, p ) { + return r; + } // --- Setters --- + // Note: Defining these methods externally, because they come in a bunch + // and this way their names minify. + // Single scalar - return 3 * ( 1 - t ) * t * t * p; - } + function setValueV1f(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1f(this.addr, v); + cache[0] = v; + } // Single float vector (from flat array or THREE.VectorN) - function CubicBezierP3( t, p ) { - return t * t * t * p; + function setValueV2f(gl, v) { + const cache = this.cache; + if (v.x !== undefined) { + if (cache[0] !== v.x || cache[1] !== v.y) { + gl.uniform2f(this.addr, v.x, v.y); + cache[0] = v.x; + cache[1] = v.y; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform2fv(this.addr, v); + copyArray(cache, v); + } } - function CubicBezier( t, p0, p1, p2, p3 ) { - - return CubicBezierP0( t, p0 ) + CubicBezierP1( t, p1 ) + CubicBezierP2( t, p2 ) + - CubicBezierP3( t, p3 ); + function setValueV3f(gl, v) { + const cache = this.cache; + if (v.x !== undefined) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z) { + gl.uniform3f(this.addr, v.x, v.y, v.z); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + } + } else if (v.r !== undefined) { + if (cache[0] !== v.r || cache[1] !== v.g || cache[2] !== v.b) { + gl.uniform3f(this.addr, v.r, v.g, v.b); + cache[0] = v.r; + cache[1] = v.g; + cache[2] = v.b; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform3fv(this.addr, v); + copyArray(cache, v); + } } - function CubicBezierCurve( v0, v1, v2, v3 ) { + function setValueV4f(gl, v) { + const cache = this.cache; - Curve.call( this ); + if (v.x !== undefined) { + if (cache[0] !== v.x || cache[1] !== v.y || cache[2] !== v.z || cache[3] !== v.w) { + gl.uniform4f(this.addr, v.x, v.y, v.z, v.w); + cache[0] = v.x; + cache[1] = v.y; + cache[2] = v.z; + cache[3] = v.w; + } + } else { + if (arraysEqual(cache, v)) return; + gl.uniform4fv(this.addr, v); + copyArray(cache, v); + } + } // Single matrix (from flat array or THREE.MatrixN) - this.type = 'CubicBezierCurve'; - this.v0 = v0 || new Vector2(); - this.v1 = v1 || new Vector2(); - this.v2 = v2 || new Vector2(); - this.v3 = v3 || new Vector2(); + function setValueM2(gl, v) { + const cache = this.cache; + const elements = v.elements; + if (elements === undefined) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix2fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat2array.set(elements); + gl.uniformMatrix2fv(this.addr, false, mat2array); + copyArray(cache, elements); + } } - CubicBezierCurve.prototype = Object.create( Curve.prototype ); - CubicBezierCurve.prototype.constructor = CubicBezierCurve; - - CubicBezierCurve.prototype.isCubicBezierCurve = true; - - CubicBezierCurve.prototype.getPoint = function ( t, optionalTarget ) { + function setValueM3(gl, v) { + const cache = this.cache; + const elements = v.elements; - var point = optionalTarget || new Vector2(); + if (elements === undefined) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix3fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat3array.set(elements); + gl.uniformMatrix3fv(this.addr, false, mat3array); + copyArray(cache, elements); + } + } - var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + function setValueM4(gl, v) { + const cache = this.cache; + const elements = v.elements; - point.set( - CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), - CubicBezier( t, v0.y, v1.y, v2.y, v3.y ) - ); + if (elements === undefined) { + if (arraysEqual(cache, v)) return; + gl.uniformMatrix4fv(this.addr, false, v); + copyArray(cache, v); + } else { + if (arraysEqual(cache, elements)) return; + mat4array.set(elements); + gl.uniformMatrix4fv(this.addr, false, mat4array); + copyArray(cache, elements); + } + } // Single integer / boolean - return point; - }; + function setValueV1i(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1i(this.addr, v); + cache[0] = v; + } // Single integer / boolean vector (from flat array) - CubicBezierCurve.prototype.copy = function ( source ) { - Curve.prototype.copy.call( this, source ); + function setValueV2i(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform2iv(this.addr, v); + copyArray(cache, v); + } - this.v0.copy( source.v0 ); - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); - this.v3.copy( source.v3 ); + function setValueV3i(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform3iv(this.addr, v); + copyArray(cache, v); + } - return this; + function setValueV4i(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform4iv(this.addr, v); + copyArray(cache, v); + } // Single unsigned integer - }; - CubicBezierCurve.prototype.toJSON = function () { + function setValueV1ui(gl, v) { + const cache = this.cache; + if (cache[0] === v) return; + gl.uniform1ui(this.addr, v); + cache[0] = v; + } // Single unsigned integer vector (from flat array) - var data = Curve.prototype.toJSON.call( this ); - data.v0 = this.v0.toArray(); - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); - data.v3 = this.v3.toArray(); + function setValueV2ui(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform2uiv(this.addr, v); + copyArray(cache, v); + } - return data; + function setValueV3ui(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform3uiv(this.addr, v); + copyArray(cache, v); + } - }; + function setValueV4ui(gl, v) { + const cache = this.cache; + if (arraysEqual(cache, v)) return; + gl.uniform4uiv(this.addr, v); + copyArray(cache, v); + } // Single texture (2D / Cube) - CubicBezierCurve.prototype.fromJSON = function ( json ) { - Curve.prototype.fromJSON.call( this, json ); + function setValueT1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); - this.v0.fromArray( json.v0 ); - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); - this.v3.fromArray( json.v3 ); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } - return this; + textures.safeSetTexture2D(v || emptyTexture, unit); + } - }; + function setValueT3D1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); - function CubicBezierCurve3( v0, v1, v2, v3 ) { + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } - Curve.call( this ); + textures.setTexture3D(v || emptyTexture3d, unit); + } - this.type = 'CubicBezierCurve3'; + function setValueT6(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); - this.v0 = v0 || new Vector3(); - this.v1 = v1 || new Vector3(); - this.v2 = v2 || new Vector3(); - this.v3 = v3 || new Vector3(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } + textures.safeSetTextureCube(v || emptyCubeTexture, unit); } - CubicBezierCurve3.prototype = Object.create( Curve.prototype ); - CubicBezierCurve3.prototype.constructor = CubicBezierCurve3; - - CubicBezierCurve3.prototype.isCubicBezierCurve3 = true; - - CubicBezierCurve3.prototype.getPoint = function ( t, optionalTarget ) { + function setValueT2DArray1(gl, v, textures) { + const cache = this.cache; + const unit = textures.allocateTextureUnit(); - var point = optionalTarget || new Vector3(); + if (cache[0] !== unit) { + gl.uniform1i(this.addr, unit); + cache[0] = unit; + } - var v0 = this.v0, v1 = this.v1, v2 = this.v2, v3 = this.v3; + textures.setTexture2DArray(v || emptyTexture2dArray, unit); + } // Helper to pick the right setter for the singular case - point.set( - CubicBezier( t, v0.x, v1.x, v2.x, v3.x ), - CubicBezier( t, v0.y, v1.y, v2.y, v3.y ), - CubicBezier( t, v0.z, v1.z, v2.z, v3.z ) - ); - return point; + function getSingularSetter(type) { + switch (type) { + case 0x1406: + return setValueV1f; + // FLOAT - }; + case 0x8b50: + return setValueV2f; + // _VEC2 - CubicBezierCurve3.prototype.copy = function ( source ) { + case 0x8b51: + return setValueV3f; + // _VEC3 - Curve.prototype.copy.call( this, source ); + case 0x8b52: + return setValueV4f; + // _VEC4 - this.v0.copy( source.v0 ); - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); - this.v3.copy( source.v3 ); + case 0x8b5a: + return setValueM2; + // _MAT2 - return this; + case 0x8b5b: + return setValueM3; + // _MAT3 - }; + case 0x8b5c: + return setValueM4; + // _MAT4 - CubicBezierCurve3.prototype.toJSON = function () { + case 0x1404: + case 0x8b56: + return setValueV1i; + // INT, BOOL - var data = Curve.prototype.toJSON.call( this ); + case 0x8b53: + case 0x8b57: + return setValueV2i; + // _VEC2 - data.v0 = this.v0.toArray(); - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); - data.v3 = this.v3.toArray(); + case 0x8b54: + case 0x8b58: + return setValueV3i; + // _VEC3 - return data; + case 0x8b55: + case 0x8b59: + return setValueV4i; + // _VEC4 - }; + case 0x1405: + return setValueV1ui; + // UINT - CubicBezierCurve3.prototype.fromJSON = function ( json ) { + case 0x8dc6: + return setValueV2ui; + // _VEC2 - Curve.prototype.fromJSON.call( this, json ); + case 0x8dc7: + return setValueV3ui; + // _VEC3 - this.v0.fromArray( json.v0 ); - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); - this.v3.fromArray( json.v3 ); + case 0x8dc8: + return setValueV4ui; + // _VEC4 - return this; + case 0x8b5e: // SAMPLER_2D - }; + case 0x8d66: // SAMPLER_EXTERNAL_OES - function LineCurve( v1, v2 ) { + case 0x8dca: // INT_SAMPLER_2D - Curve.call( this ); + case 0x8dd2: // UNSIGNED_INT_SAMPLER_2D - this.type = 'LineCurve'; + case 0x8b62: + // SAMPLER_2D_SHADOW + return setValueT1; - this.v1 = v1 || new Vector2(); - this.v2 = v2 || new Vector2(); + case 0x8b5f: // SAMPLER_3D - } + case 0x8dcb: // INT_SAMPLER_3D - LineCurve.prototype = Object.create( Curve.prototype ); - LineCurve.prototype.constructor = LineCurve; + case 0x8dd3: + // UNSIGNED_INT_SAMPLER_3D + return setValueT3D1; - LineCurve.prototype.isLineCurve = true; + case 0x8b60: // SAMPLER_CUBE - LineCurve.prototype.getPoint = function ( t, optionalTarget ) { + case 0x8dcc: // INT_SAMPLER_CUBE - var point = optionalTarget || new Vector2(); + case 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE - if ( t === 1 ) { + case 0x8dc5: + // SAMPLER_CUBE_SHADOW + return setValueT6; - point.copy( this.v2 ); + case 0x8dc1: // SAMPLER_2D_ARRAY - } else { + case 0x8dcf: // INT_SAMPLER_2D_ARRAY - point.copy( this.v2 ).sub( this.v1 ); - point.multiplyScalar( t ).add( this.v1 ); + case 0x8dd7: // UNSIGNED_INT_SAMPLER_2D_ARRAY + case 0x8dc4: + // SAMPLER_2D_ARRAY_SHADOW + return setValueT2DArray1; } + } // Array of scalars - return point; - - }; - - // Line curve is linear, so we can overwrite default getPointAt - - LineCurve.prototype.getPointAt = function ( u, optionalTarget ) { - - return this.getPoint( u, optionalTarget ); - - }; - - LineCurve.prototype.getTangent = function ( /* t */ ) { - - var tangent = this.v2.clone().sub( this.v1 ); - - return tangent.normalize(); - - }; - - LineCurve.prototype.copy = function ( source ) { - Curve.prototype.copy.call( this, source ); + function setValueV1fArray(gl, v) { + gl.uniform1fv(this.addr, v); + } // Array of vectors (from flat array or array of THREE.VectorN) - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); - return this; + function setValueV2fArray(gl, v) { + const data = flatten(v, this.size, 2); + gl.uniform2fv(this.addr, data); + } - }; + function setValueV3fArray(gl, v) { + const data = flatten(v, this.size, 3); + gl.uniform3fv(this.addr, data); + } - LineCurve.prototype.toJSON = function () { + function setValueV4fArray(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniform4fv(this.addr, data); + } // Array of matrices (from flat array or array of THREE.MatrixN) - var data = Curve.prototype.toJSON.call( this ); - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); + function setValueM2Array(gl, v) { + const data = flatten(v, this.size, 4); + gl.uniformMatrix2fv(this.addr, false, data); + } - return data; + function setValueM3Array(gl, v) { + const data = flatten(v, this.size, 9); + gl.uniformMatrix3fv(this.addr, false, data); + } - }; + function setValueM4Array(gl, v) { + const data = flatten(v, this.size, 16); + gl.uniformMatrix4fv(this.addr, false, data); + } // Array of integer / boolean - LineCurve.prototype.fromJSON = function ( json ) { - Curve.prototype.fromJSON.call( this, json ); + function setValueV1iArray(gl, v) { + gl.uniform1iv(this.addr, v); + } // Array of integer / boolean vectors (from flat array) - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); - return this; + function setValueV2iArray(gl, v) { + gl.uniform2iv(this.addr, v); + } - }; + function setValueV3iArray(gl, v) { + gl.uniform3iv(this.addr, v); + } - function LineCurve3( v1, v2 ) { + function setValueV4iArray(gl, v) { + gl.uniform4iv(this.addr, v); + } // Array of unsigned integer - Curve.call( this ); - this.type = 'LineCurve3'; + function setValueV1uiArray(gl, v) { + gl.uniform1uiv(this.addr, v); + } // Array of unsigned integer vectors (from flat array) - this.v1 = v1 || new Vector3(); - this.v2 = v2 || new Vector3(); + function setValueV2uiArray(gl, v) { + gl.uniform2uiv(this.addr, v); } - LineCurve3.prototype = Object.create( Curve.prototype ); - LineCurve3.prototype.constructor = LineCurve3; - - LineCurve3.prototype.isLineCurve3 = true; - - LineCurve3.prototype.getPoint = function ( t, optionalTarget ) { - - var point = optionalTarget || new Vector3(); - - if ( t === 1 ) { + function setValueV3uiArray(gl, v) { + gl.uniform3uiv(this.addr, v); + } - point.copy( this.v2 ); + function setValueV4uiArray(gl, v) { + gl.uniform4uiv(this.addr, v); + } // Array of textures (2D / Cube) - } else { - point.copy( this.v2 ).sub( this.v1 ); - point.multiplyScalar( t ).add( this.v1 ); + function setValueT1Array(gl, v, textures) { + const n = v.length; + const units = allocTexUnits(textures, n); + gl.uniform1iv(this.addr, units); + for (let i = 0; i !== n; ++i) { + textures.safeSetTexture2D(v[i] || emptyTexture, units[i]); } + } - return point; - - }; + function setValueT6Array(gl, v, textures) { + const n = v.length; + const units = allocTexUnits(textures, n); + gl.uniform1iv(this.addr, units); - // Line curve is linear, so we can overwrite default getPointAt + for (let i = 0; i !== n; ++i) { + textures.safeSetTextureCube(v[i] || emptyCubeTexture, units[i]); + } + } // Helper to pick the right setter for a pure (bottom-level) array - LineCurve3.prototype.getPointAt = function ( u, optionalTarget ) { - return this.getPoint( u, optionalTarget ); + function getPureArraySetter(type) { + switch (type) { + case 0x1406: + return setValueV1fArray; + // FLOAT - }; + case 0x8b50: + return setValueV2fArray; + // _VEC2 - LineCurve3.prototype.copy = function ( source ) { + case 0x8b51: + return setValueV3fArray; + // _VEC3 - Curve.prototype.copy.call( this, source ); + case 0x8b52: + return setValueV4fArray; + // _VEC4 - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); + case 0x8b5a: + return setValueM2Array; + // _MAT2 - return this; + case 0x8b5b: + return setValueM3Array; + // _MAT3 - }; + case 0x8b5c: + return setValueM4Array; + // _MAT4 - LineCurve3.prototype.toJSON = function () { + case 0x1404: + case 0x8b56: + return setValueV1iArray; + // INT, BOOL - var data = Curve.prototype.toJSON.call( this ); + case 0x8b53: + case 0x8b57: + return setValueV2iArray; + // _VEC2 - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); + case 0x8b54: + case 0x8b58: + return setValueV3iArray; + // _VEC3 - return data; + case 0x8b55: + case 0x8b59: + return setValueV4iArray; + // _VEC4 - }; + case 0x1405: + return setValueV1uiArray; + // UINT - LineCurve3.prototype.fromJSON = function ( json ) { + case 0x8dc6: + return setValueV2uiArray; + // _VEC2 - Curve.prototype.fromJSON.call( this, json ); + case 0x8dc7: + return setValueV3uiArray; + // _VEC3 - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); + case 0x8dc8: + return setValueV4uiArray; + // _VEC4 - return this; + case 0x8b5e: // SAMPLER_2D - }; + case 0x8d66: // SAMPLER_EXTERNAL_OES - function QuadraticBezierCurve( v0, v1, v2 ) { + case 0x8dca: // INT_SAMPLER_2D - Curve.call( this ); + case 0x8dd2: // UNSIGNED_INT_SAMPLER_2D - this.type = 'QuadraticBezierCurve'; + case 0x8b62: + // SAMPLER_2D_SHADOW + return setValueT1Array; - this.v0 = v0 || new Vector2(); - this.v1 = v1 || new Vector2(); - this.v2 = v2 || new Vector2(); + case 0x8b60: // SAMPLER_CUBE - } + case 0x8dcc: // INT_SAMPLER_CUBE - QuadraticBezierCurve.prototype = Object.create( Curve.prototype ); - QuadraticBezierCurve.prototype.constructor = QuadraticBezierCurve; + case 0x8dd4: // UNSIGNED_INT_SAMPLER_CUBE - QuadraticBezierCurve.prototype.isQuadraticBezierCurve = true; + case 0x8dc5: + // SAMPLER_CUBE_SHADOW + return setValueT6Array; + } + } // --- Uniform Classes --- - QuadraticBezierCurve.prototype.getPoint = function ( t, optionalTarget ) { - var point = optionalTarget || new Vector2(); + function SingleUniform(id, activeInfo, addr) { + this.id = id; + this.addr = addr; + this.cache = []; + this.setValue = getSingularSetter(activeInfo.type); // this.path = activeInfo.name; // DEBUG + } - var v0 = this.v0, v1 = this.v1, v2 = this.v2; + function PureArrayUniform(id, activeInfo, addr) { + this.id = id; + this.addr = addr; + this.cache = []; + this.size = activeInfo.size; + this.setValue = getPureArraySetter(activeInfo.type); // this.path = activeInfo.name; // DEBUG + } - point.set( - QuadraticBezier( t, v0.x, v1.x, v2.x ), - QuadraticBezier( t, v0.y, v1.y, v2.y ) - ); + PureArrayUniform.prototype.updateCache = function (data) { + const cache = this.cache; - return point; + if (data instanceof Float32Array && cache.length !== data.length) { + this.cache = new Float32Array(data.length); + } + copyArray(cache, data); }; - QuadraticBezierCurve.prototype.copy = function ( source ) { + function StructuredUniform(id) { + this.id = id; + this.seq = []; + this.map = {}; + } - Curve.prototype.copy.call( this, source ); + StructuredUniform.prototype.setValue = function (gl, value, textures) { + const seq = this.seq; - this.v0.copy( source.v0 ); - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + u.setValue(gl, value[u.id], textures); + } + }; // --- Top-level --- + // Parser - builds up the property tree from the path strings - return this; - }; + const RePathPart = /(\w+)(\])?(\[|\.)?/g; // extracts + // - the identifier (member name or array index) + // - followed by an optional right bracket (found when array index) + // - followed by an optional left bracket or dot (type of subscript) + // + // Note: These portions can be read in a non-overlapping fashion and + // allow straightforward parsing of the hierarchy that WebGL encodes + // in the uniform names. + + function addUniform(container, uniformObject) { + container.seq.push(uniformObject); + container.map[uniformObject.id] = uniformObject; + } - QuadraticBezierCurve.prototype.toJSON = function () { + function parseUniform(activeInfo, addr, container) { + const path = activeInfo.name, + pathLength = path.length; // reset RegExp object, because of the early exit of a previous run - var data = Curve.prototype.toJSON.call( this ); + RePathPart.lastIndex = 0; - data.v0 = this.v0.toArray(); - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); + while (true) { + const match = RePathPart.exec(path), + matchEnd = RePathPart.lastIndex; + let id = match[1]; + const idIsIndex = match[2] === ']', + subscript = match[3]; + if (idIsIndex) id = id | 0; // convert to integer - return data; + if (subscript === undefined || subscript === '[' && matchEnd + 2 === pathLength) { + // bare name or "pure" bottom-level array "[0]" suffix + addUniform(container, subscript === undefined ? new SingleUniform(id, activeInfo, addr) : new PureArrayUniform(id, activeInfo, addr)); + break; + } else { + // step into inner node / create it in case it doesn't exist + const map = container.map; + let next = map[id]; - }; + if (next === undefined) { + next = new StructuredUniform(id); + addUniform(container, next); + } - QuadraticBezierCurve.prototype.fromJSON = function ( json ) { + container = next; + } + } + } // Root Container - Curve.prototype.fromJSON.call( this, json ); - this.v0.fromArray( json.v0 ); - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); + function WebGLUniforms(gl, program) { + this.seq = []; + this.map = {}; + const n = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS); - return this; + for (let i = 0; i < n; ++i) { + const info = gl.getActiveUniform(program, i), + addr = gl.getUniformLocation(program, info.name); + parseUniform(info, addr, this); + } + } + WebGLUniforms.prototype.setValue = function (gl, name, value, textures) { + const u = this.map[name]; + if (u !== undefined) u.setValue(gl, value, textures); }; - function QuadraticBezierCurve3( v0, v1, v2 ) { + WebGLUniforms.prototype.setOptional = function (gl, object, name) { + const v = object[name]; + if (v !== undefined) this.setValue(gl, name, v); + }; // Static interface - Curve.call( this ); - this.type = 'QuadraticBezierCurve3'; + WebGLUniforms.upload = function (gl, seq, values, textures) { + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i], + v = values[u.id]; - this.v0 = v0 || new Vector3(); - this.v1 = v1 || new Vector3(); - this.v2 = v2 || new Vector3(); + if (v.needsUpdate !== false) { + // note: always updating when .needsUpdate is undefined + u.setValue(gl, v.value, textures); + } + } + }; - } + WebGLUniforms.seqWithValue = function (seq, values) { + const r = []; - QuadraticBezierCurve3.prototype = Object.create( Curve.prototype ); - QuadraticBezierCurve3.prototype.constructor = QuadraticBezierCurve3; + for (let i = 0, n = seq.length; i !== n; ++i) { + const u = seq[i]; + if (u.id in values) r.push(u); + } - QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3 = true; + return r; + }; - QuadraticBezierCurve3.prototype.getPoint = function ( t, optionalTarget ) { + function WebGLShader(gl, type, string) { + const shader = gl.createShader(type); + gl.shaderSource(shader, string); + gl.compileShader(shader); + return shader; + } - var point = optionalTarget || new Vector3(); + let programIdCount = 0; - var v0 = this.v0, v1 = this.v1, v2 = this.v2; + function addLineNumbers(string) { + const lines = string.split('\n'); - point.set( - QuadraticBezier( t, v0.x, v1.x, v2.x ), - QuadraticBezier( t, v0.y, v1.y, v2.y ), - QuadraticBezier( t, v0.z, v1.z, v2.z ) - ); + for (let i = 0; i < lines.length; i++) { + lines[i] = i + 1 + ': ' + lines[i]; + } - return point; + return lines.join('\n'); + } - }; + function getEncodingComponents(encoding) { + switch (encoding) { + case LinearEncoding: + return ['Linear', '( value )']; - QuadraticBezierCurve3.prototype.copy = function ( source ) { + case sRGBEncoding: + return ['sRGB', '( value )']; - Curve.prototype.copy.call( this, source ); + case RGBEEncoding: + return ['RGBE', '( value )']; - this.v0.copy( source.v0 ); - this.v1.copy( source.v1 ); - this.v2.copy( source.v2 ); + case RGBM7Encoding: + return ['RGBM', '( value, 7.0 )']; - return this; + case RGBM16Encoding: + return ['RGBM', '( value, 16.0 )']; - }; + case RGBDEncoding: + return ['RGBD', '( value, 256.0 )']; - QuadraticBezierCurve3.prototype.toJSON = function () { + case GammaEncoding: + return ['Gamma', '( value, float( GAMMA_FACTOR ) )']; - var data = Curve.prototype.toJSON.call( this ); + case LogLuvEncoding: + return ['LogLuv', '( value )']; - data.v0 = this.v0.toArray(); - data.v1 = this.v1.toArray(); - data.v2 = this.v2.toArray(); + default: + console.warn('THREE.WebGLProgram: Unsupported encoding:', encoding); + return ['Linear', '( value )']; + } + } - return data; + function getShaderErrors(gl, shader, type) { + const status = gl.getShaderParameter(shader, gl.COMPILE_STATUS); + const errors = gl.getShaderInfoLog(shader).trim(); + if (status && errors === '') return ''; // --enable-privileged-webgl-extension + // console.log( '**' + type + '**', gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) ); - }; + return type.toUpperCase() + '\n\n' + errors + '\n\n' + addLineNumbers(gl.getShaderSource(shader)); + } - QuadraticBezierCurve3.prototype.fromJSON = function ( json ) { + function getTexelDecodingFunction(functionName, encoding) { + const components = getEncodingComponents(encoding); + return 'vec4 ' + functionName + '( vec4 value ) { return ' + components[0] + 'ToLinear' + components[1] + '; }'; + } - Curve.prototype.fromJSON.call( this, json ); + function getTexelEncodingFunction(functionName, encoding) { + const components = getEncodingComponents(encoding); + return 'vec4 ' + functionName + '( vec4 value ) { return LinearTo' + components[0] + components[1] + '; }'; + } - this.v0.fromArray( json.v0 ); - this.v1.fromArray( json.v1 ); - this.v2.fromArray( json.v2 ); + function getToneMappingFunction(functionName, toneMapping) { + let toneMappingName; - return this; + switch (toneMapping) { + case LinearToneMapping: + toneMappingName = 'Linear'; + break; - }; + case ReinhardToneMapping: + toneMappingName = 'Reinhard'; + break; - function SplineCurve( points /* array of Vector2 */ ) { + case CineonToneMapping: + toneMappingName = 'OptimizedCineon'; + break; - Curve.call( this ); + case ACESFilmicToneMapping: + toneMappingName = 'ACESFilmic'; + break; - this.type = 'SplineCurve'; + case CustomToneMapping: + toneMappingName = 'Custom'; + break; - this.points = points || []; + default: + console.warn('THREE.WebGLProgram: Unsupported toneMapping:', toneMapping); + toneMappingName = 'Linear'; + } + return 'vec3 ' + functionName + '( vec3 color ) { return ' + toneMappingName + 'ToneMapping( color ); }'; } - SplineCurve.prototype = Object.create( Curve.prototype ); - SplineCurve.prototype.constructor = SplineCurve; - - SplineCurve.prototype.isSplineCurve = true; + function generateExtensions(parameters) { + const chunks = [parameters.extensionDerivatives || parameters.envMapCubeUV || parameters.bumpMap || parameters.tangentSpaceNormalMap || parameters.clearcoatNormalMap || parameters.flatShading || parameters.shaderID === 'physical' ? '#extension GL_OES_standard_derivatives : enable' : '', (parameters.extensionFragDepth || parameters.logarithmicDepthBuffer) && parameters.rendererExtensionFragDepth ? '#extension GL_EXT_frag_depth : enable' : '', parameters.extensionDrawBuffers && parameters.rendererExtensionDrawBuffers ? '#extension GL_EXT_draw_buffers : require' : '', (parameters.extensionShaderTextureLOD || parameters.envMap || parameters.transmission) && parameters.rendererExtensionShaderTextureLod ? '#extension GL_EXT_shader_texture_lod : enable' : '']; + return chunks.filter(filterEmptyLine).join('\n'); + } - SplineCurve.prototype.getPoint = function ( t, optionalTarget ) { + function generateDefines(defines) { + const chunks = []; - var point = optionalTarget || new Vector2(); + for (const name in defines) { + const value = defines[name]; + if (value === false) continue; + chunks.push('#define ' + name + ' ' + value); + } - var points = this.points; - var p = ( points.length - 1 ) * t; + return chunks.join('\n'); + } - var intPoint = Math.floor( p ); - var weight = p - intPoint; + function fetchAttributeLocations(gl, program) { + const attributes = {}; + const n = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES); - var p0 = points[ intPoint === 0 ? intPoint : intPoint - 1 ]; - var p1 = points[ intPoint ]; - var p2 = points[ intPoint > points.length - 2 ? points.length - 1 : intPoint + 1 ]; - var p3 = points[ intPoint > points.length - 3 ? points.length - 1 : intPoint + 2 ]; + for (let i = 0; i < n; i++) { + const info = gl.getActiveAttrib(program, i); + const name = info.name; + let locationSize = 1; + if (info.type === gl.FLOAT_MAT2) locationSize = 2; + if (info.type === gl.FLOAT_MAT3) locationSize = 3; + if (info.type === gl.FLOAT_MAT4) locationSize = 4; // console.log( 'THREE.WebGLProgram: ACTIVE VERTEX ATTRIBUTE:', name, i ); - point.set( - CatmullRom( weight, p0.x, p1.x, p2.x, p3.x ), - CatmullRom( weight, p0.y, p1.y, p2.y, p3.y ) - ); + attributes[name] = { + type: info.type, + location: gl.getAttribLocation(program, name), + locationSize: locationSize + }; + } - return point; + return attributes; + } - }; + function filterEmptyLine(string) { + return string !== ''; + } - SplineCurve.prototype.copy = function ( source ) { + function replaceLightNums(string, parameters) { + return string.replace(/NUM_DIR_LIGHTS/g, parameters.numDirLights).replace(/NUM_SPOT_LIGHTS/g, parameters.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g, parameters.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g, parameters.numPointLights).replace(/NUM_HEMI_LIGHTS/g, parameters.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g, parameters.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g, parameters.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g, parameters.numPointLightShadows); + } - Curve.prototype.copy.call( this, source ); + function replaceClippingPlaneNums(string, parameters) { + return string.replace(/NUM_CLIPPING_PLANES/g, parameters.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g, parameters.numClippingPlanes - parameters.numClipIntersection); + } // Resolve Includes - this.points = []; - for ( var i = 0, l = source.points.length; i < l; i ++ ) { + const includePattern = /^[ \t]*#include +<([\w\d./]+)>/gm; - var point = source.points[ i ]; + function resolveIncludes(string) { + return string.replace(includePattern, includeReplacer); + } - this.points.push( point.clone() ); + function includeReplacer(match, include) { + const string = ShaderChunk[include]; + if (string === undefined) { + throw new Error('Can not resolve #include <' + include + '>'); } - return this; - - }; + return resolveIncludes(string); + } // Unroll Loops - SplineCurve.prototype.toJSON = function () { - var data = Curve.prototype.toJSON.call( this ); + const deprecatedUnrollLoopPattern = /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g; + const unrollLoopPattern = /#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g; - data.points = []; + function unrollLoops(string) { + return string.replace(unrollLoopPattern, loopReplacer).replace(deprecatedUnrollLoopPattern, deprecatedLoopReplacer); + } - for ( var i = 0, l = this.points.length; i < l; i ++ ) { + function deprecatedLoopReplacer(match, start, end, snippet) { + console.warn('WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.'); + return loopReplacer(match, start, end, snippet); + } - var point = this.points[ i ]; - data.points.push( point.toArray() ); + function loopReplacer(match, start, end, snippet) { + let string = ''; + for (let i = parseInt(start); i < parseInt(end); i++) { + string += snippet.replace(/\[\s*i\s*\]/g, '[ ' + i + ' ]').replace(/UNROLLED_LOOP_INDEX/g, i); } - return data; - - }; + return string; + } // - SplineCurve.prototype.fromJSON = function ( json ) { - Curve.prototype.fromJSON.call( this, json ); + function generatePrecision(parameters) { + let precisionstring = 'precision ' + parameters.precision + ' float;\nprecision ' + parameters.precision + ' int;'; - this.points = []; + if (parameters.precision === 'highp') { + precisionstring += '\n#define HIGH_PRECISION'; + } else if (parameters.precision === 'mediump') { + precisionstring += '\n#define MEDIUM_PRECISION'; + } else if (parameters.precision === 'lowp') { + precisionstring += '\n#define LOW_PRECISION'; + } - for ( var i = 0, l = json.points.length; i < l; i ++ ) { + return precisionstring; + } - var point = json.points[ i ]; - this.points.push( new Vector2().fromArray( point ) ); + function generateShadowMapTypeDefine(parameters) { + let shadowMapTypeDefine = 'SHADOWMAP_TYPE_BASIC'; + if (parameters.shadowMapType === PCFShadowMap) { + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF'; + } else if (parameters.shadowMapType === PCFSoftShadowMap) { + shadowMapTypeDefine = 'SHADOWMAP_TYPE_PCF_SOFT'; + } else if (parameters.shadowMapType === VSMShadowMap) { + shadowMapTypeDefine = 'SHADOWMAP_TYPE_VSM'; } - return this; + return shadowMapTypeDefine; + } - }; + function generateEnvMapTypeDefine(parameters) { + let envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeReflectionMapping: + case CubeRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE'; + break; + case CubeUVReflectionMapping: + case CubeUVRefractionMapping: + envMapTypeDefine = 'ENVMAP_TYPE_CUBE_UV'; + break; + } + } - var Curves = /*#__PURE__*/Object.freeze({ - ArcCurve: ArcCurve, - CatmullRomCurve3: CatmullRomCurve3, - CubicBezierCurve: CubicBezierCurve, - CubicBezierCurve3: CubicBezierCurve3, - EllipseCurve: EllipseCurve, - LineCurve: LineCurve, - LineCurve3: LineCurve3, - QuadraticBezierCurve: QuadraticBezierCurve, - QuadraticBezierCurve3: QuadraticBezierCurve3, - SplineCurve: SplineCurve - }); + return envMapTypeDefine; + } - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * - **/ + function generateEnvMapModeDefine(parameters) { + let envMapModeDefine = 'ENVMAP_MODE_REFLECTION'; - /************************************************************** - * Curved Path - a curve path is simply a array of connected - * curves, but retains the api of a curve - **************************************************************/ + if (parameters.envMap) { + switch (parameters.envMapMode) { + case CubeRefractionMapping: + case CubeUVRefractionMapping: + envMapModeDefine = 'ENVMAP_MODE_REFRACTION'; + break; + } + } - function CurvePath() { + return envMapModeDefine; + } + + function generateEnvMapBlendingDefine(parameters) { + let envMapBlendingDefine = 'ENVMAP_BLENDING_NONE'; - Curve.call( this ); + if (parameters.envMap) { + switch (parameters.combine) { + case MultiplyOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MULTIPLY'; + break; - this.type = 'CurvePath'; + case MixOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_MIX'; + break; - this.curves = []; - this.autoClose = false; // Automatically closes the path + case AddOperation: + envMapBlendingDefine = 'ENVMAP_BLENDING_ADD'; + break; + } + } + return envMapBlendingDefine; } - CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), { + function WebGLProgram(renderer, cacheKey, parameters, bindingStates) { + // TODO Send this event to Three.js DevTools + // console.log( 'WebGLProgram', cacheKey ); + const gl = renderer.getContext(); + const defines = parameters.defines; + let vertexShader = parameters.vertexShader; + let fragmentShader = parameters.fragmentShader; + const shadowMapTypeDefine = generateShadowMapTypeDefine(parameters); + const envMapTypeDefine = generateEnvMapTypeDefine(parameters); + const envMapModeDefine = generateEnvMapModeDefine(parameters); + const envMapBlendingDefine = generateEnvMapBlendingDefine(parameters); + const gammaFactorDefine = renderer.gammaFactor > 0 ? renderer.gammaFactor : 1.0; + const customExtensions = parameters.isWebGL2 ? '' : generateExtensions(parameters); + const customDefines = generateDefines(defines); + const program = gl.createProgram(); + let prefixVertex, prefixFragment; + let versionString = parameters.glslVersion ? '#version ' + parameters.glslVersion + '\n' : ''; - constructor: CurvePath, + if (parameters.isRawShaderMaterial) { + prefixVertex = [customDefines].filter(filterEmptyLine).join('\n'); - add: function ( curve ) { + if (prefixVertex.length > 0) { + prefixVertex += '\n'; + } - this.curves.push( curve ); + prefixFragment = [customExtensions, customDefines].filter(filterEmptyLine).join('\n'); - }, + if (prefixFragment.length > 0) { + prefixFragment += '\n'; + } + } else { + prefixVertex = [generatePrecision(parameters), '#define SHADER_NAME ' + parameters.shaderName, customDefines, parameters.instancing ? '#define USE_INSTANCING' : '', parameters.instancingColor ? '#define USE_INSTANCING_COLOR' : '', parameters.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', '#define GAMMA_FACTOR ' + gammaFactorDefine, '#define MAX_BONES ' + parameters.maxBones, parameters.useFog && parameters.fog ? '#define USE_FOG' : '', parameters.useFog && parameters.fogExp2 ? '#define FOG_EXP2' : '', parameters.map ? '#define USE_MAP' : '', parameters.envMap ? '#define USE_ENVMAP' : '', parameters.envMap ? '#define ' + envMapModeDefine : '', parameters.lightMap ? '#define USE_LIGHTMAP' : '', parameters.aoMap ? '#define USE_AOMAP' : '', parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', parameters.bumpMap ? '#define USE_BUMPMAP' : '', parameters.normalMap ? '#define USE_NORMALMAP' : '', parameters.normalMap && parameters.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '', parameters.normalMap && parameters.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '', parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', parameters.displacementMap && parameters.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', parameters.specularMap ? '#define USE_SPECULARMAP' : '', parameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '', parameters.specularTintMap ? '#define USE_SPECULARTINTMAP' : '', parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', parameters.alphaMap ? '#define USE_ALPHAMAP' : '', parameters.transmission ? '#define USE_TRANSMISSION' : '', parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', parameters.thicknessMap ? '#define USE_THICKNESSMAP' : '', parameters.vertexTangents ? '#define USE_TANGENT' : '', parameters.vertexColors ? '#define USE_COLOR' : '', parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', parameters.vertexUvs ? '#define USE_UV' : '', parameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', parameters.flatShading ? '#define FLAT_SHADED' : '', parameters.skinning ? '#define USE_SKINNING' : '', parameters.useVertexTexture ? '#define BONE_TEXTURE' : '', parameters.morphTargets ? '#define USE_MORPHTARGETS' : '', parameters.morphNormals && parameters.flatShading === false ? '#define USE_MORPHNORMALS' : '', parameters.doubleSided ? '#define DOUBLE_SIDED' : '', parameters.flipSided ? '#define FLIP_SIDED' : '', parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', parameters.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '', 'uniform mat4 modelMatrix;', 'uniform mat4 modelViewMatrix;', 'uniform mat4 projectionMatrix;', 'uniform mat4 viewMatrix;', 'uniform mat3 normalMatrix;', 'uniform vec3 cameraPosition;', 'uniform bool isOrthographic;', '#ifdef USE_INSTANCING', ' attribute mat4 instanceMatrix;', '#endif', '#ifdef USE_INSTANCING_COLOR', ' attribute vec3 instanceColor;', '#endif', 'attribute vec3 position;', 'attribute vec3 normal;', 'attribute vec2 uv;', '#ifdef USE_TANGENT', ' attribute vec4 tangent;', '#endif', '#if defined( USE_COLOR_ALPHA )', ' attribute vec4 color;', '#elif defined( USE_COLOR )', ' attribute vec3 color;', '#endif', '#ifdef USE_MORPHTARGETS', ' attribute vec3 morphTarget0;', ' attribute vec3 morphTarget1;', ' attribute vec3 morphTarget2;', ' attribute vec3 morphTarget3;', ' #ifdef USE_MORPHNORMALS', ' attribute vec3 morphNormal0;', ' attribute vec3 morphNormal1;', ' attribute vec3 morphNormal2;', ' attribute vec3 morphNormal3;', ' #else', ' attribute vec3 morphTarget4;', ' attribute vec3 morphTarget5;', ' attribute vec3 morphTarget6;', ' attribute vec3 morphTarget7;', ' #endif', '#endif', '#ifdef USE_SKINNING', ' attribute vec4 skinIndex;', ' attribute vec4 skinWeight;', '#endif', '\n'].filter(filterEmptyLine).join('\n'); + prefixFragment = [customExtensions, generatePrecision(parameters), '#define SHADER_NAME ' + parameters.shaderName, customDefines, '#define GAMMA_FACTOR ' + gammaFactorDefine, parameters.useFog && parameters.fog ? '#define USE_FOG' : '', parameters.useFog && parameters.fogExp2 ? '#define FOG_EXP2' : '', parameters.map ? '#define USE_MAP' : '', parameters.matcap ? '#define USE_MATCAP' : '', parameters.envMap ? '#define USE_ENVMAP' : '', parameters.envMap ? '#define ' + envMapTypeDefine : '', parameters.envMap ? '#define ' + envMapModeDefine : '', parameters.envMap ? '#define ' + envMapBlendingDefine : '', parameters.lightMap ? '#define USE_LIGHTMAP' : '', parameters.aoMap ? '#define USE_AOMAP' : '', parameters.emissiveMap ? '#define USE_EMISSIVEMAP' : '', parameters.bumpMap ? '#define USE_BUMPMAP' : '', parameters.normalMap ? '#define USE_NORMALMAP' : '', parameters.normalMap && parameters.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '', parameters.normalMap && parameters.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '', parameters.clearcoat ? '#define USE_CLEARCOAT' : '', parameters.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', parameters.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', parameters.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', parameters.specularMap ? '#define USE_SPECULARMAP' : '', parameters.specularIntensityMap ? '#define USE_SPECULARINTENSITYMAP' : '', parameters.specularTintMap ? '#define USE_SPECULARTINTMAP' : '', parameters.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', parameters.metalnessMap ? '#define USE_METALNESSMAP' : '', parameters.alphaMap ? '#define USE_ALPHAMAP' : '', parameters.alphaTest ? '#define USE_ALPHATEST' : '', parameters.sheenTint ? '#define USE_SHEEN' : '', parameters.transmission ? '#define USE_TRANSMISSION' : '', parameters.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', parameters.thicknessMap ? '#define USE_THICKNESSMAP' : '', parameters.vertexTangents ? '#define USE_TANGENT' : '', parameters.vertexColors || parameters.instancingColor ? '#define USE_COLOR' : '', parameters.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', parameters.vertexUvs ? '#define USE_UV' : '', parameters.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', parameters.gradientMap ? '#define USE_GRADIENTMAP' : '', parameters.flatShading ? '#define FLAT_SHADED' : '', parameters.doubleSided ? '#define DOUBLE_SIDED' : '', parameters.flipSided ? '#define FLIP_SIDED' : '', parameters.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', parameters.shadowMapEnabled ? '#define ' + shadowMapTypeDefine : '', parameters.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '', parameters.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '', parameters.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', parameters.logarithmicDepthBuffer && parameters.rendererExtensionFragDepth ? '#define USE_LOGDEPTHBUF_EXT' : '', (parameters.extensionShaderTextureLOD || parameters.envMap) && parameters.rendererExtensionShaderTextureLod ? '#define TEXTURE_LOD_EXT' : '', 'uniform mat4 viewMatrix;', 'uniform vec3 cameraPosition;', 'uniform bool isOrthographic;', parameters.toneMapping !== NoToneMapping ? '#define TONE_MAPPING' : '', parameters.toneMapping !== NoToneMapping ? ShaderChunk['tonemapping_pars_fragment'] : '', // this code is required here because it is used by the toneMapping() function defined below + parameters.toneMapping !== NoToneMapping ? getToneMappingFunction('toneMapping', parameters.toneMapping) : '', parameters.dithering ? '#define DITHERING' : '', parameters.format === RGBFormat ? '#define OPAQUE' : '', ShaderChunk['encodings_pars_fragment'], // this code is required here because it is used by the various encoding/decoding function defined below + parameters.map ? getTexelDecodingFunction('mapTexelToLinear', parameters.mapEncoding) : '', parameters.matcap ? getTexelDecodingFunction('matcapTexelToLinear', parameters.matcapEncoding) : '', parameters.envMap ? getTexelDecodingFunction('envMapTexelToLinear', parameters.envMapEncoding) : '', parameters.emissiveMap ? getTexelDecodingFunction('emissiveMapTexelToLinear', parameters.emissiveMapEncoding) : '', parameters.specularTintMap ? getTexelDecodingFunction('specularTintMapTexelToLinear', parameters.specularTintMapEncoding) : '', parameters.lightMap ? getTexelDecodingFunction('lightMapTexelToLinear', parameters.lightMapEncoding) : '', getTexelEncodingFunction('linearToOutputTexel', parameters.outputEncoding), parameters.depthPacking ? '#define DEPTH_PACKING ' + parameters.depthPacking : '', '\n'].filter(filterEmptyLine).join('\n'); + } + + vertexShader = resolveIncludes(vertexShader); + vertexShader = replaceLightNums(vertexShader, parameters); + vertexShader = replaceClippingPlaneNums(vertexShader, parameters); + fragmentShader = resolveIncludes(fragmentShader); + fragmentShader = replaceLightNums(fragmentShader, parameters); + fragmentShader = replaceClippingPlaneNums(fragmentShader, parameters); + vertexShader = unrollLoops(vertexShader); + fragmentShader = unrollLoops(fragmentShader); + + if (parameters.isWebGL2 && parameters.isRawShaderMaterial !== true) { + // GLSL 3.0 conversion for built-in materials and ShaderMaterial + versionString = '#version 300 es\n'; + prefixVertex = ['#define attribute in', '#define varying out', '#define texture2D texture'].join('\n') + '\n' + prefixVertex; + prefixFragment = ['#define varying in', parameters.glslVersion === GLSL3 ? '' : 'out highp vec4 pc_fragColor;', parameters.glslVersion === GLSL3 ? '' : '#define gl_FragColor pc_fragColor', '#define gl_FragDepthEXT gl_FragDepth', '#define texture2D texture', '#define textureCube texture', '#define texture2DProj textureProj', '#define texture2DLodEXT textureLod', '#define texture2DProjLodEXT textureProjLod', '#define textureCubeLodEXT textureLod', '#define texture2DGradEXT textureGrad', '#define texture2DProjGradEXT textureProjGrad', '#define textureCubeGradEXT textureGrad'].join('\n') + '\n' + prefixFragment; + } + + const vertexGlsl = versionString + prefixVertex + vertexShader; + const fragmentGlsl = versionString + prefixFragment + fragmentShader; // console.log( '*VERTEX*', vertexGlsl ); + // console.log( '*FRAGMENT*', fragmentGlsl ); - closePath: function () { + const glVertexShader = WebGLShader(gl, gl.VERTEX_SHADER, vertexGlsl); + const glFragmentShader = WebGLShader(gl, gl.FRAGMENT_SHADER, fragmentGlsl); + gl.attachShader(program, glVertexShader); + gl.attachShader(program, glFragmentShader); // Force a particular attribute to index 0. - // Add a line curve if start and end of lines are not connected - var startPoint = this.curves[ 0 ].getPoint( 0 ); - var endPoint = this.curves[ this.curves.length - 1 ].getPoint( 1 ); + if (parameters.index0AttributeName !== undefined) { + gl.bindAttribLocation(program, 0, parameters.index0AttributeName); + } else if (parameters.morphTargets === true) { + // programs with morphTargets displace position out of attribute 0 + gl.bindAttribLocation(program, 0, 'position'); + } + + gl.linkProgram(program); // check for link errors + + if (renderer.debug.checkShaderErrors) { + const programLog = gl.getProgramInfoLog(program).trim(); + const vertexLog = gl.getShaderInfoLog(glVertexShader).trim(); + const fragmentLog = gl.getShaderInfoLog(glFragmentShader).trim(); + let runnable = true; + let haveDiagnostics = true; + + if (gl.getProgramParameter(program, gl.LINK_STATUS) === false) { + runnable = false; + const vertexErrors = getShaderErrors(gl, glVertexShader, 'vertex'); + const fragmentErrors = getShaderErrors(gl, glFragmentShader, 'fragment'); + console.error('THREE.WebGLProgram: Shader Error ' + gl.getError() + ' - ' + 'VALIDATE_STATUS ' + gl.getProgramParameter(program, gl.VALIDATE_STATUS) + '\n\n' + 'Program Info Log: ' + programLog + '\n' + vertexErrors + '\n' + fragmentErrors); + } else if (programLog !== '') { + console.warn('THREE.WebGLProgram: Program Info Log:', programLog); + } else if (vertexLog === '' || fragmentLog === '') { + haveDiagnostics = false; + } + + if (haveDiagnostics) { + this.diagnostics = { + runnable: runnable, + programLog: programLog, + vertexShader: { + log: vertexLog, + prefix: prefixVertex + }, + fragmentShader: { + log: fragmentLog, + prefix: prefixFragment + } + }; + } + } // Clean up + // Crashes in iOS9 and iOS10. #18402 + // gl.detachShader( program, glVertexShader ); + // gl.detachShader( program, glFragmentShader ); - if ( ! startPoint.equals( endPoint ) ) { - this.curves.push( new LineCurve( endPoint, startPoint ) ); + gl.deleteShader(glVertexShader); + gl.deleteShader(glFragmentShader); // set up caching for uniform locations + let cachedUniforms; + + this.getUniforms = function () { + if (cachedUniforms === undefined) { + cachedUniforms = new WebGLUniforms(gl, program); } - }, + return cachedUniforms; + }; // set up caching for attribute locations - // To get accurate point with reference to - // entire path distance at time t, - // following has to be done: - // 1. Length of each sub path have to be known - // 2. Locate and identify type of curve - // 3. Get t for the curve - // 4. Return curve.getPointAt(t') + let cachedAttributes; - getPoint: function ( t ) { + this.getAttributes = function () { + if (cachedAttributes === undefined) { + cachedAttributes = fetchAttributeLocations(gl, program); + } - var d = t * this.getLength(); - var curveLengths = this.getCurveLengths(); - var i = 0; + return cachedAttributes; + }; // free resource - // To think about boundaries points. - while ( i < curveLengths.length ) { + this.destroy = function () { + bindingStates.releaseStatesOfProgram(this); + gl.deleteProgram(program); + this.program = undefined; + }; // - if ( curveLengths[ i ] >= d ) { - var diff = curveLengths[ i ] - d; - var curve = this.curves[ i ]; + this.name = parameters.shaderName; + this.id = programIdCount++; + this.cacheKey = cacheKey; + this.usedTimes = 1; + this.program = program; + this.vertexShader = glVertexShader; + this.fragmentShader = glFragmentShader; + return this; + } - var segmentLength = curve.getLength(); - var u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; + function WebGLPrograms(renderer, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping) { + const programs = []; + const isWebGL2 = capabilities.isWebGL2; + const logarithmicDepthBuffer = capabilities.logarithmicDepthBuffer; + const floatVertexTextures = capabilities.floatVertexTextures; + const maxVertexUniforms = capabilities.maxVertexUniforms; + const vertexTextures = capabilities.vertexTextures; + let precision = capabilities.precision; + const shaderIDs = { + MeshDepthMaterial: 'depth', + MeshDistanceMaterial: 'distanceRGBA', + MeshNormalMaterial: 'normal', + MeshBasicMaterial: 'basic', + MeshLambertMaterial: 'lambert', + MeshPhongMaterial: 'phong', + MeshToonMaterial: 'toon', + MeshStandardMaterial: 'physical', + MeshPhysicalMaterial: 'physical', + MeshMatcapMaterial: 'matcap', + LineBasicMaterial: 'basic', + LineDashedMaterial: 'dashed', + PointsMaterial: 'points', + ShadowMaterial: 'shadow', + SpriteMaterial: 'sprite' + }; + const parameterNames = ['precision', 'isWebGL2', 'supportsVertexTextures', 'outputEncoding', 'instancing', 'instancingColor', 'map', 'mapEncoding', 'matcap', 'matcapEncoding', 'envMap', 'envMapMode', 'envMapEncoding', 'envMapCubeUV', 'lightMap', 'lightMapEncoding', 'aoMap', 'emissiveMap', 'emissiveMapEncoding', 'bumpMap', 'normalMap', 'objectSpaceNormalMap', 'tangentSpaceNormalMap', 'clearcoat', 'clearcoatMap', 'clearcoatRoughnessMap', 'clearcoatNormalMap', 'displacementMap', 'specularMap', 'specularIntensityMap', 'specularTintMap', 'specularTintMapEncoding', 'roughnessMap', 'metalnessMap', 'gradientMap', 'alphaMap', 'alphaTest', 'combine', 'vertexColors', 'vertexAlphas', 'vertexTangents', 'vertexUvs', 'uvsVertexOnly', 'fog', 'useFog', 'fogExp2', 'flatShading', 'sizeAttenuation', 'logarithmicDepthBuffer', 'skinning', 'maxBones', 'useVertexTexture', 'morphTargets', 'morphNormals', 'premultipliedAlpha', 'numDirLights', 'numPointLights', 'numSpotLights', 'numHemiLights', 'numRectAreaLights', 'numDirLightShadows', 'numPointLightShadows', 'numSpotLightShadows', 'shadowMapEnabled', 'shadowMapType', 'toneMapping', 'physicallyCorrectLights', 'doubleSided', 'flipSided', 'numClippingPlanes', 'numClipIntersection', 'depthPacking', 'dithering', 'format', 'sheenTint', 'transmission', 'transmissionMap', 'thicknessMap']; - return curve.getPointAt( u ); + function getMaxBones(object) { + const skeleton = object.skeleton; + const bones = skeleton.bones; + if (floatVertexTextures) { + return 1024; + } else { + // default for when object is not specified + // ( for example when prebuilding shader to be used with multiple objects ) + // + // - leave some extra space for other uniforms + // - limit here is ANGLE's 254 max uniform vectors + // (up to 54 should be safe) + const nVertexUniforms = maxVertexUniforms; + const nVertexMatrices = Math.floor((nVertexUniforms - 20) / 4); + const maxBones = Math.min(nVertexMatrices, bones.length); + + if (maxBones < bones.length) { + console.warn('THREE.WebGLRenderer: Skeleton has ' + bones.length + ' bones. This GPU supports ' + maxBones + '.'); + return 0; } - i ++; - + return maxBones; } + } - return null; - - // loop where sum != 0, sum > d , sum+1 0; + const useClearcoat = material.clearcoat > 0; + const parameters = { + isWebGL2: isWebGL2, + shaderID: shaderID, + shaderName: material.type, + vertexShader: vertexShader, + fragmentShader: fragmentShader, + defines: material.defines, + isRawShaderMaterial: material.isRawShaderMaterial === true, + glslVersion: material.glslVersion, + precision: precision, + instancing: object.isInstancedMesh === true, + instancingColor: object.isInstancedMesh === true && object.instanceColor !== null, + supportsVertexTextures: vertexTextures, + outputEncoding: currentRenderTarget !== null ? getTextureEncodingFromMap(currentRenderTarget.texture) : renderer.outputEncoding, + map: !!material.map, + mapEncoding: getTextureEncodingFromMap(material.map), + matcap: !!material.matcap, + matcapEncoding: getTextureEncodingFromMap(material.matcap), + envMap: !!envMap, + envMapMode: envMap && envMap.mapping, + envMapEncoding: getTextureEncodingFromMap(envMap), + envMapCubeUV: !!envMap && (envMap.mapping === CubeUVReflectionMapping || envMap.mapping === CubeUVRefractionMapping), + lightMap: !!material.lightMap, + lightMapEncoding: getTextureEncodingFromMap(material.lightMap), + aoMap: !!material.aoMap, + emissiveMap: !!material.emissiveMap, + emissiveMapEncoding: getTextureEncodingFromMap(material.emissiveMap), + bumpMap: !!material.bumpMap, + normalMap: !!material.normalMap, + objectSpaceNormalMap: material.normalMapType === ObjectSpaceNormalMap, + tangentSpaceNormalMap: material.normalMapType === TangentSpaceNormalMap, + clearcoat: useClearcoat, + clearcoatMap: useClearcoat && !!material.clearcoatMap, + clearcoatRoughnessMap: useClearcoat && !!material.clearcoatRoughnessMap, + clearcoatNormalMap: useClearcoat && !!material.clearcoatNormalMap, + displacementMap: !!material.displacementMap, + roughnessMap: !!material.roughnessMap, + metalnessMap: !!material.metalnessMap, + specularMap: !!material.specularMap, + specularIntensityMap: !!material.specularIntensityMap, + specularTintMap: !!material.specularTintMap, + specularTintMapEncoding: getTextureEncodingFromMap(material.specularTintMap), + alphaMap: !!material.alphaMap, + alphaTest: useAlphaTest, + gradientMap: !!material.gradientMap, + sheenTint: !!material.sheenTint && (material.sheenTint.r > 0 || material.sheenTint.g > 0 || material.sheenTint.b > 0), + transmission: material.transmission > 0, + transmissionMap: !!material.transmissionMap, + thicknessMap: !!material.thicknessMap, + combine: material.combine, + vertexTangents: !!material.normalMap && !!object.geometry && !!object.geometry.attributes.tangent, + vertexColors: material.vertexColors, + vertexAlphas: material.vertexColors === true && !!object.geometry && !!object.geometry.attributes.color && object.geometry.attributes.color.itemSize === 4, + vertexUvs: !!material.map || !!material.bumpMap || !!material.normalMap || !!material.specularMap || !!material.alphaMap || !!material.emissiveMap || !!material.roughnessMap || !!material.metalnessMap || !!material.clearcoatMap || !!material.clearcoatRoughnessMap || !!material.clearcoatNormalMap || !!material.displacementMap || !!material.transmissionMap || !!material.thicknessMap || !!material.specularIntensityMap || !!material.specularTintMap, + uvsVertexOnly: !(!!material.map || !!material.bumpMap || !!material.normalMap || !!material.specularMap || !!material.alphaMap || !!material.emissiveMap || !!material.roughnessMap || !!material.metalnessMap || !!material.clearcoatNormalMap || material.transmission > 0 || !!material.transmissionMap || !!material.thicknessMap || !!material.specularIntensityMap || !!material.specularTintMap) && !!material.displacementMap, + fog: !!fog, + useFog: material.fog, + fogExp2: fog && fog.isFogExp2, + flatShading: !!material.flatShading, + sizeAttenuation: material.sizeAttenuation, + logarithmicDepthBuffer: logarithmicDepthBuffer, + skinning: object.isSkinnedMesh === true && maxBones > 0, + maxBones: maxBones, + useVertexTexture: floatVertexTextures, + morphTargets: !!object.geometry && !!object.geometry.morphAttributes.position, + morphNormals: !!object.geometry && !!object.geometry.morphAttributes.normal, + numDirLights: lights.directional.length, + numPointLights: lights.point.length, + numSpotLights: lights.spot.length, + numRectAreaLights: lights.rectArea.length, + numHemiLights: lights.hemi.length, + numDirLightShadows: lights.directionalShadowMap.length, + numPointLightShadows: lights.pointShadowMap.length, + numSpotLightShadows: lights.spotShadowMap.length, + numClippingPlanes: clipping.numPlanes, + numClipIntersection: clipping.numIntersection, + format: material.format, + dithering: material.dithering, + shadowMapEnabled: renderer.shadowMap.enabled && shadows.length > 0, + shadowMapType: renderer.shadowMap.type, + toneMapping: material.toneMapped ? renderer.toneMapping : NoToneMapping, + physicallyCorrectLights: renderer.physicallyCorrectLights, + premultipliedAlpha: material.premultipliedAlpha, + doubleSided: material.side === DoubleSide, + flipSided: material.side === BackSide, + depthPacking: material.depthPacking !== undefined ? material.depthPacking : false, + index0AttributeName: material.index0AttributeName, + extensionDerivatives: material.extensions && material.extensions.derivatives, + extensionFragDepth: material.extensions && material.extensions.fragDepth, + extensionDrawBuffers: material.extensions && material.extensions.drawBuffers, + extensionShaderTextureLOD: material.extensions && material.extensions.shaderTextureLOD, + rendererExtensionFragDepth: isWebGL2 || extensions.has('EXT_frag_depth'), + rendererExtensionDrawBuffers: isWebGL2 || extensions.has('WEBGL_draw_buffers'), + rendererExtensionShaderTextureLod: isWebGL2 || extensions.has('EXT_shader_texture_lod'), + customProgramCacheKey: material.customProgramCacheKey() + }; + return parameters; + } - if ( this.cacheLengths && this.cacheLengths.length === this.curves.length ) { + function getProgramCacheKey(parameters) { + const array = []; - return this.cacheLengths; + if (parameters.shaderID) { + array.push(parameters.shaderID); + } else { + array.push(parameters.fragmentShader); + array.push(parameters.vertexShader); + } + if (parameters.defines !== undefined) { + for (const name in parameters.defines) { + array.push(name); + array.push(parameters.defines[name]); + } } - // Get length of sub-curve - // Push sums into cached array + if (parameters.isRawShaderMaterial === false) { + for (let i = 0; i < parameterNames.length; i++) { + array.push(parameters[parameterNames[i]]); + } - var lengths = [], sums = 0; + array.push(renderer.outputEncoding); + array.push(renderer.gammaFactor); + } - for ( var i = 0, l = this.curves.length; i < l; i ++ ) { + array.push(parameters.customProgramCacheKey); + return array.join(); + } - sums += this.curves[ i ].getLength(); - lengths.push( sums ); + function getUniforms(material) { + const shaderID = shaderIDs[material.type]; + let uniforms; + if (shaderID) { + const shader = ShaderLib[shaderID]; + uniforms = UniformsUtils.clone(shader.uniforms); + } else { + uniforms = material.uniforms; } - this.cacheLengths = lengths; - - return lengths; + return uniforms; + } - }, + function acquireProgram(parameters, cacheKey) { + let program; // Check if code has been already compiled - getSpacedPoints: function ( divisions ) { + for (let p = 0, pl = programs.length; p < pl; p++) { + const preexistingProgram = programs[p]; - if ( divisions === undefined ) divisions = 40; + if (preexistingProgram.cacheKey === cacheKey) { + program = preexistingProgram; + ++program.usedTimes; + break; + } + } - var points = []; + if (program === undefined) { + program = new WebGLProgram(renderer, cacheKey, parameters, bindingStates); + programs.push(program); + } - for ( var i = 0; i <= divisions; i ++ ) { + return program; + } - points.push( this.getPoint( i / divisions ) ); + function releaseProgram(program) { + if (--program.usedTimes === 0) { + // Remove from unordered set + const i = programs.indexOf(program); + programs[i] = programs[programs.length - 1]; + programs.pop(); // Free WebGL resources + program.destroy(); } + } + + return { + getParameters: getParameters, + getProgramCacheKey: getProgramCacheKey, + getUniforms: getUniforms, + acquireProgram: acquireProgram, + releaseProgram: releaseProgram, + // Exposed for resource monitoring & error feedback via renderer.info: + programs: programs + }; + } - if ( this.autoClose ) { + function WebGLProperties() { + let properties = new WeakMap(); - points.push( points[ 0 ] ); + function get(object) { + let map = properties.get(object); + if (map === undefined) { + map = {}; + properties.set(object, map); } - return points; + return map; + } - }, + function remove(object) { + properties.delete(object); + } - getPoints: function ( divisions ) { + function update(object, key, value) { + properties.get(object)[key] = value; + } - divisions = divisions || 12; + function dispose() { + properties = new WeakMap(); + } - var points = [], last; + return { + get: get, + remove: remove, + update: update, + dispose: dispose + }; + } - for ( var i = 0, curves = this.curves; i < curves.length; i ++ ) { + function painterSortStable(a, b) { + if (a.groupOrder !== b.groupOrder) { + return a.groupOrder - b.groupOrder; + } else if (a.renderOrder !== b.renderOrder) { + return a.renderOrder - b.renderOrder; + } else if (a.program !== b.program) { + return a.program.id - b.program.id; + } else if (a.material.id !== b.material.id) { + return a.material.id - b.material.id; + } else if (a.z !== b.z) { + return a.z - b.z; + } else { + return a.id - b.id; + } + } - var curve = curves[ i ]; - var resolution = ( curve && curve.isEllipseCurve ) ? divisions * 2 - : ( curve && ( curve.isLineCurve || curve.isLineCurve3 ) ) ? 1 - : ( curve && curve.isSplineCurve ) ? divisions * curve.points.length - : divisions; + function reversePainterSortStable(a, b) { + if (a.groupOrder !== b.groupOrder) { + return a.groupOrder - b.groupOrder; + } else if (a.renderOrder !== b.renderOrder) { + return a.renderOrder - b.renderOrder; + } else if (a.z !== b.z) { + return b.z - a.z; + } else { + return a.id - b.id; + } + } - var pts = curve.getPoints( resolution ); + function WebGLRenderList(properties) { + const renderItems = []; + let renderItemsIndex = 0; + const opaque = []; + const transmissive = []; + const transparent = []; + const defaultProgram = { + id: -1 + }; - for ( var j = 0; j < pts.length; j ++ ) { + function init() { + renderItemsIndex = 0; + opaque.length = 0; + transmissive.length = 0; + transparent.length = 0; + } - var point = pts[ j ]; + function getNextRenderItem(object, geometry, material, groupOrder, z, group) { + let renderItem = renderItems[renderItemsIndex]; + const materialProperties = properties.get(material); - if ( last && last.equals( point ) ) continue; // ensures no consecutive points are duplicates + if (renderItem === undefined) { + renderItem = { + id: object.id, + object: object, + geometry: geometry, + material: material, + program: materialProperties.program || defaultProgram, + groupOrder: groupOrder, + renderOrder: object.renderOrder, + z: z, + group: group + }; + renderItems[renderItemsIndex] = renderItem; + } else { + renderItem.id = object.id; + renderItem.object = object; + renderItem.geometry = geometry; + renderItem.material = material; + renderItem.program = materialProperties.program || defaultProgram; + renderItem.groupOrder = groupOrder; + renderItem.renderOrder = object.renderOrder; + renderItem.z = z; + renderItem.group = group; + } - points.push( point ); - last = point; + renderItemsIndex++; + return renderItem; + } - } + function push(object, geometry, material, groupOrder, z, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group); + if (material.transmission > 0.0) { + transmissive.push(renderItem); + } else if (material.transparent === true) { + transparent.push(renderItem); + } else { + opaque.push(renderItem); } + } + + function unshift(object, geometry, material, groupOrder, z, group) { + const renderItem = getNextRenderItem(object, geometry, material, groupOrder, z, group); - if ( this.autoClose && points.length > 1 && ! points[ points.length - 1 ].equals( points[ 0 ] ) ) { + if (material.transmission > 0.0) { + transmissive.unshift(renderItem); + } else if (material.transparent === true) { + transparent.unshift(renderItem); + } else { + opaque.unshift(renderItem); + } + } - points.push( points[ 0 ] ); + function sort(customOpaqueSort, customTransparentSort) { + if (opaque.length > 1) opaque.sort(customOpaqueSort || painterSortStable); + if (transmissive.length > 1) transmissive.sort(customTransparentSort || reversePainterSortStable); + if (transparent.length > 1) transparent.sort(customTransparentSort || reversePainterSortStable); + } + function finish() { + // Clear references from inactive renderItems in the list + for (let i = renderItemsIndex, il = renderItems.length; i < il; i++) { + const renderItem = renderItems[i]; + if (renderItem.id === null) break; + renderItem.id = null; + renderItem.object = null; + renderItem.geometry = null; + renderItem.material = null; + renderItem.program = null; + renderItem.group = null; } + } - return points; + return { + opaque: opaque, + transmissive: transmissive, + transparent: transparent, + init: init, + push: push, + unshift: unshift, + finish: finish, + sort: sort + }; + } - }, + function WebGLRenderLists(properties) { + let lists = new WeakMap(); - copy: function ( source ) { + function get(scene, renderCallDepth) { + let list; - Curve.prototype.copy.call( this, source ); + if (lists.has(scene) === false) { + list = new WebGLRenderList(properties); + lists.set(scene, [list]); + } else { + if (renderCallDepth >= lists.get(scene).length) { + list = new WebGLRenderList(properties); + lists.get(scene).push(list); + } else { + list = lists.get(scene)[renderCallDepth]; + } + } - this.curves = []; + return list; + } - for ( var i = 0, l = source.curves.length; i < l; i ++ ) { + function dispose() { + lists = new WeakMap(); + } - var curve = source.curves[ i ]; + return { + get: get, + dispose: dispose + }; + } - this.curves.push( curve.clone() ); + function UniformsCache() { + const lights = {}; + return { + get: function (light) { + if (lights[light.id] !== undefined) { + return lights[light.id]; + } - } + let uniforms; - this.autoClose = source.autoClose; + switch (light.type) { + case 'DirectionalLight': + uniforms = { + direction: new Vector3(), + color: new Color() + }; + break; - return this; + case 'SpotLight': + uniforms = { + position: new Vector3(), + direction: new Vector3(), + color: new Color(), + distance: 0, + coneCos: 0, + penumbraCos: 0, + decay: 0 + }; + break; - }, + case 'PointLight': + uniforms = { + position: new Vector3(), + color: new Color(), + distance: 0, + decay: 0 + }; + break; - toJSON: function () { + case 'HemisphereLight': + uniforms = { + direction: new Vector3(), + skyColor: new Color(), + groundColor: new Color() + }; + break; - var data = Curve.prototype.toJSON.call( this ); + case 'RectAreaLight': + uniforms = { + color: new Color(), + position: new Vector3(), + halfWidth: new Vector3(), + halfHeight: new Vector3() + }; + break; + } - data.autoClose = this.autoClose; - data.curves = []; + lights[light.id] = uniforms; + return uniforms; + } + }; + } - for ( var i = 0, l = this.curves.length; i < l; i ++ ) { + function ShadowUniformsCache() { + const lights = {}; + return { + get: function (light) { + if (lights[light.id] !== undefined) { + return lights[light.id]; + } - var curve = this.curves[ i ]; - data.curves.push( curve.toJSON() ); + let uniforms; - } + switch (light.type) { + case 'DirectionalLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; - return data; + case 'SpotLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2() + }; + break; - }, + case 'PointLight': + uniforms = { + shadowBias: 0, + shadowNormalBias: 0, + shadowRadius: 1, + shadowMapSize: new Vector2(), + shadowCameraNear: 1, + shadowCameraFar: 1000 + }; + break; + // TODO (abelnation): set RectAreaLight shadow uniforms + } - fromJSON: function ( json ) { + lights[light.id] = uniforms; + return uniforms; + } + }; + } - Curve.prototype.fromJSON.call( this, json ); + let nextVersion = 0; - this.autoClose = json.autoClose; - this.curves = []; + function shadowCastingLightsFirst(lightA, lightB) { + return (lightB.castShadow ? 1 : 0) - (lightA.castShadow ? 1 : 0); + } - for ( var i = 0, l = json.curves.length; i < l; i ++ ) { + function WebGLLights(extensions, capabilities) { + const cache = new UniformsCache(); + const shadowCache = ShadowUniformsCache(); + const state = { + version: 0, + hash: { + directionalLength: -1, + pointLength: -1, + spotLength: -1, + rectAreaLength: -1, + hemiLength: -1, + numDirectionalShadows: -1, + numPointShadows: -1, + numSpotShadows: -1 + }, + ambient: [0, 0, 0], + probe: [], + directional: [], + directionalShadow: [], + directionalShadowMap: [], + directionalShadowMatrix: [], + spot: [], + spotShadow: [], + spotShadowMap: [], + spotShadowMatrix: [], + rectArea: [], + rectAreaLTC1: null, + rectAreaLTC2: null, + point: [], + pointShadow: [], + pointShadowMap: [], + pointShadowMatrix: [], + hemi: [] + }; - var curve = json.curves[ i ]; - this.curves.push( new Curves[ curve.type ]().fromJSON( curve ) ); + for (let i = 0; i < 9; i++) state.probe.push(new Vector3()); + + const vector3 = new Vector3(); + const matrix4 = new Matrix4(); + const matrix42 = new Matrix4(); + + function setup(lights, physicallyCorrectLights) { + let r = 0, + g = 0, + b = 0; + + for (let i = 0; i < 9; i++) state.probe[i].set(0, 0, 0); + + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + let numDirectionalShadows = 0; + let numPointShadows = 0; + let numSpotShadows = 0; + lights.sort(shadowCastingLightsFirst); // artist-friendly light intensity scaling factor + + const scaleFactor = physicallyCorrectLights !== true ? Math.PI : 1; + + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + const color = light.color; + const intensity = light.intensity; + const distance = light.distance; + const shadowMap = light.shadow && light.shadow.map ? light.shadow.map.texture : null; + + if (light.isAmbientLight) { + r += color.r * intensity * scaleFactor; + g += color.g * intensity * scaleFactor; + b += color.b * intensity * scaleFactor; + } else if (light.isLightProbe) { + for (let j = 0; j < 9; j++) { + state.probe[j].addScaledVector(light.sh.coefficients[j], intensity); + } + } else if (light.isDirectionalLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity * scaleFactor); + + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.directionalShadow[directionalLength] = shadowUniforms; + state.directionalShadowMap[directionalLength] = shadowMap; + state.directionalShadowMatrix[directionalLength] = light.shadow.matrix; + numDirectionalShadows++; + } - } + state.directional[directionalLength] = uniforms; + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = cache.get(light); + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.color.copy(color).multiplyScalar(intensity * scaleFactor); + uniforms.distance = distance; + uniforms.coneCos = Math.cos(light.angle); + uniforms.penumbraCos = Math.cos(light.angle * (1 - light.penumbra)); + uniforms.decay = light.decay; - return this; + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + state.spotShadow[spotLength] = shadowUniforms; + state.spotShadowMap[spotLength] = shadowMap; + state.spotShadowMatrix[spotLength] = light.shadow.matrix; + numSpotShadows++; + } - } + state.spot[spotLength] = uniforms; + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = cache.get(light); // (a) intensity is the total visible light emitted + //uniforms.color.copy( color ).multiplyScalar( intensity / ( light.width * light.height * Math.PI ) ); + // (b) intensity is the brightness of the light - } ); + uniforms.color.copy(color).multiplyScalar(intensity); + uniforms.halfWidth.set(light.width * 0.5, 0.0, 0.0); + uniforms.halfHeight.set(0.0, light.height * 0.5, 0.0); + state.rectArea[rectAreaLength] = uniforms; + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = cache.get(light); + uniforms.color.copy(light.color).multiplyScalar(light.intensity * scaleFactor); + uniforms.distance = light.distance; + uniforms.decay = light.decay; - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * Creates free form 2d path using series of points, lines or curves. - **/ + if (light.castShadow) { + const shadow = light.shadow; + const shadowUniforms = shadowCache.get(light); + shadowUniforms.shadowBias = shadow.bias; + shadowUniforms.shadowNormalBias = shadow.normalBias; + shadowUniforms.shadowRadius = shadow.radius; + shadowUniforms.shadowMapSize = shadow.mapSize; + shadowUniforms.shadowCameraNear = shadow.camera.near; + shadowUniforms.shadowCameraFar = shadow.camera.far; + state.pointShadow[pointLength] = shadowUniforms; + state.pointShadowMap[pointLength] = shadowMap; + state.pointShadowMatrix[pointLength] = light.shadow.matrix; + numPointShadows++; + } - function Path( points ) { + state.point[pointLength] = uniforms; + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = cache.get(light); + uniforms.skyColor.copy(light.color).multiplyScalar(intensity * scaleFactor); + uniforms.groundColor.copy(light.groundColor).multiplyScalar(intensity * scaleFactor); + state.hemi[hemiLength] = uniforms; + hemiLength++; + } + } - CurvePath.call( this ); + if (rectAreaLength > 0) { + if (capabilities.isWebGL2) { + // WebGL 2 + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + } else { + // WebGL 1 + if (extensions.has('OES_texture_float_linear') === true) { + state.rectAreaLTC1 = UniformsLib.LTC_FLOAT_1; + state.rectAreaLTC2 = UniformsLib.LTC_FLOAT_2; + } else if (extensions.has('OES_texture_half_float_linear') === true) { + state.rectAreaLTC1 = UniformsLib.LTC_HALF_1; + state.rectAreaLTC2 = UniformsLib.LTC_HALF_2; + } else { + console.error('THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.'); + } + } + } - this.type = 'Path'; + state.ambient[0] = r; + state.ambient[1] = g; + state.ambient[2] = b; + const hash = state.hash; + + if (hash.directionalLength !== directionalLength || hash.pointLength !== pointLength || hash.spotLength !== spotLength || hash.rectAreaLength !== rectAreaLength || hash.hemiLength !== hemiLength || hash.numDirectionalShadows !== numDirectionalShadows || hash.numPointShadows !== numPointShadows || hash.numSpotShadows !== numSpotShadows) { + state.directional.length = directionalLength; + state.spot.length = spotLength; + state.rectArea.length = rectAreaLength; + state.point.length = pointLength; + state.hemi.length = hemiLength; + state.directionalShadow.length = numDirectionalShadows; + state.directionalShadowMap.length = numDirectionalShadows; + state.pointShadow.length = numPointShadows; + state.pointShadowMap.length = numPointShadows; + state.spotShadow.length = numSpotShadows; + state.spotShadowMap.length = numSpotShadows; + state.directionalShadowMatrix.length = numDirectionalShadows; + state.pointShadowMatrix.length = numPointShadows; + state.spotShadowMatrix.length = numSpotShadows; + hash.directionalLength = directionalLength; + hash.pointLength = pointLength; + hash.spotLength = spotLength; + hash.rectAreaLength = rectAreaLength; + hash.hemiLength = hemiLength; + hash.numDirectionalShadows = numDirectionalShadows; + hash.numPointShadows = numPointShadows; + hash.numSpotShadows = numSpotShadows; + state.version = nextVersion++; + } + } + + function setupView(lights, camera) { + let directionalLength = 0; + let pointLength = 0; + let spotLength = 0; + let rectAreaLength = 0; + let hemiLength = 0; + const viewMatrix = camera.matrixWorldInverse; + + for (let i = 0, l = lights.length; i < l; i++) { + const light = lights[i]; + + if (light.isDirectionalLight) { + const uniforms = state.directional[directionalLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + directionalLength++; + } else if (light.isSpotLight) { + const uniforms = state.spot[spotLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + vector3.setFromMatrixPosition(light.target.matrixWorld); + uniforms.direction.sub(vector3); + uniforms.direction.transformDirection(viewMatrix); + spotLength++; + } else if (light.isRectAreaLight) { + const uniforms = state.rectArea[rectAreaLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); // extract local rotation of light to derive width/height half vectors - this.currentPoint = new Vector2(); + matrix42.identity(); + matrix4.copy(light.matrixWorld); + matrix4.premultiply(viewMatrix); + matrix42.extractRotation(matrix4); + uniforms.halfWidth.set(light.width * 0.5, 0.0, 0.0); + uniforms.halfHeight.set(0.0, light.height * 0.5, 0.0); + uniforms.halfWidth.applyMatrix4(matrix42); + uniforms.halfHeight.applyMatrix4(matrix42); + rectAreaLength++; + } else if (light.isPointLight) { + const uniforms = state.point[pointLength]; + uniforms.position.setFromMatrixPosition(light.matrixWorld); + uniforms.position.applyMatrix4(viewMatrix); + pointLength++; + } else if (light.isHemisphereLight) { + const uniforms = state.hemi[hemiLength]; + uniforms.direction.setFromMatrixPosition(light.matrixWorld); + uniforms.direction.transformDirection(viewMatrix); + uniforms.direction.normalize(); + hemiLength++; + } + } + } - if ( points ) { + return { + setup: setup, + setupView: setupView, + state: state + }; + } - this.setFromPoints( points ); + function WebGLRenderState(extensions, capabilities) { + const lights = new WebGLLights(extensions, capabilities); + const lightsArray = []; + const shadowsArray = []; + function init() { + lightsArray.length = 0; + shadowsArray.length = 0; } - } + function pushLight(light) { + lightsArray.push(light); + } - Path.prototype = Object.assign( Object.create( CurvePath.prototype ), { + function pushShadow(shadowLight) { + shadowsArray.push(shadowLight); + } - constructor: Path, + function setupLights(physicallyCorrectLights) { + lights.setup(lightsArray, physicallyCorrectLights); + } - setFromPoints: function ( points ) { + function setupLightsView(camera) { + lights.setupView(lightsArray, camera); + } - this.moveTo( points[ 0 ].x, points[ 0 ].y ); + const state = { + lightsArray: lightsArray, + shadowsArray: shadowsArray, + lights: lights + }; + return { + init: init, + state: state, + setupLights: setupLights, + setupLightsView: setupLightsView, + pushLight: pushLight, + pushShadow: pushShadow + }; + } - for ( var i = 1, l = points.length; i < l; i ++ ) { + function WebGLRenderStates(extensions, capabilities) { + let renderStates = new WeakMap(); - this.lineTo( points[ i ].x, points[ i ].y ); + function get(scene, renderCallDepth = 0) { + let renderState; + if (renderStates.has(scene) === false) { + renderState = new WebGLRenderState(extensions, capabilities); + renderStates.set(scene, [renderState]); + } else { + if (renderCallDepth >= renderStates.get(scene).length) { + renderState = new WebGLRenderState(extensions, capabilities); + renderStates.get(scene).push(renderState); + } else { + renderState = renderStates.get(scene)[renderCallDepth]; + } } - }, - - moveTo: function ( x, y ) { - - this.currentPoint.set( x, y ); // TODO consider referencing vectors instead of copying? - - }, - - lineTo: function ( x, y ) { + return renderState; + } - var curve = new LineCurve( this.currentPoint.clone(), new Vector2( x, y ) ); - this.curves.push( curve ); + function dispose() { + renderStates = new WeakMap(); + } - this.currentPoint.set( x, y ); + return { + get: get, + dispose: dispose + }; + } - }, + /** + * parameters = { + * + * opacity: , + * + * map: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * wireframe: , + * wireframeLinewidth: + * } + */ - quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { + class MeshDepthMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshDepthMaterial'; + this.depthPacking = BasicDepthPacking; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.fog = false; + this.setValues(parameters); + } - var curve = new QuadraticBezierCurve( - this.currentPoint.clone(), - new Vector2( aCPx, aCPy ), - new Vector2( aX, aY ) - ); + copy(source) { + super.copy(source); + this.depthPacking = source.depthPacking; + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + return this; + } - this.curves.push( curve ); + } - this.currentPoint.set( aX, aY ); + MeshDepthMaterial.prototype.isMeshDepthMaterial = true; - }, + /** + * parameters = { + * + * referencePosition: , + * nearDistance: , + * farDistance: , + * + * map: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: + * + * } + */ - bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + class MeshDistanceMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshDistanceMaterial'; + this.referencePosition = new Vector3(); + this.nearDistance = 1; + this.farDistance = 1000; + this.map = null; + this.alphaMap = null; + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.fog = false; + this.setValues(parameters); + } - var curve = new CubicBezierCurve( - this.currentPoint.clone(), - new Vector2( aCP1x, aCP1y ), - new Vector2( aCP2x, aCP2y ), - new Vector2( aX, aY ) - ); + copy(source) { + super.copy(source); + this.referencePosition.copy(source.referencePosition); + this.nearDistance = source.nearDistance; + this.farDistance = source.farDistance; + this.map = source.map; + this.alphaMap = source.alphaMap; + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + return this; + } - this.curves.push( curve ); + } - this.currentPoint.set( aX, aY ); + MeshDistanceMaterial.prototype.isMeshDistanceMaterial = true; - }, + var vsm_frag = "uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\nuniform float samples;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"; - splineThru: function ( pts /*Array of Vector*/ ) { + var vsm_vert = "void main() {\n\tgl_Position = vec4( position, 1.0 );\n}"; - var npts = [ this.currentPoint.clone() ].concat( pts ); + function WebGLShadowMap(_renderer, _objects, _capabilities) { + let _frustum = new Frustum(); - var curve = new SplineCurve( npts ); - this.curves.push( curve ); + const _shadowMapSize = new Vector2(), + _viewportSize = new Vector2(), + _viewport = new Vector4(), + _depthMaterial = new MeshDepthMaterial({ + depthPacking: RGBADepthPacking + }), + _distanceMaterial = new MeshDistanceMaterial(), + _materialCache = {}, + _maxTextureSize = _capabilities.maxTextureSize; - this.currentPoint.copy( pts[ pts.length - 1 ] ); + const shadowSide = { + 0: BackSide, + 1: FrontSide, + 2: DoubleSide + }; + const shadowMaterialVertical = new ShaderMaterial({ + uniforms: { + shadow_pass: { + value: null + }, + resolution: { + value: new Vector2() + }, + radius: { + value: 4.0 + }, + samples: { + value: 8.0 + } + }, + vertexShader: vsm_vert, + fragmentShader: vsm_frag + }); + const shadowMaterialHorizontal = shadowMaterialVertical.clone(); + shadowMaterialHorizontal.defines.HORIZONTAL_PASS = 1; + const fullScreenTri = new BufferGeometry(); + fullScreenTri.setAttribute('position', new BufferAttribute(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3)); + const fullScreenMesh = new Mesh(fullScreenTri, shadowMaterialVertical); + const scope = this; + this.enabled = false; + this.autoUpdate = true; + this.needsUpdate = false; + this.type = PCFShadowMap; - }, + this.render = function (lights, scene, camera) { + if (scope.enabled === false) return; + if (scope.autoUpdate === false && scope.needsUpdate === false) return; + if (lights.length === 0) return; - arc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + const currentRenderTarget = _renderer.getRenderTarget(); - var x0 = this.currentPoint.x; - var y0 = this.currentPoint.y; + const activeCubeFace = _renderer.getActiveCubeFace(); - this.absarc( aX + x0, aY + y0, aRadius, - aStartAngle, aEndAngle, aClockwise ); + const activeMipmapLevel = _renderer.getActiveMipmapLevel(); - }, + const _state = _renderer.state; // Set GL state for depth map. - absarc: function ( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) { + _state.setBlending(NoBlending); - this.absellipse( aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise ); + _state.buffers.color.setClear(1, 1, 1, 1); - }, + _state.buffers.depth.setTest(true); - ellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + _state.setScissorTest(false); // render depth map - var x0 = this.currentPoint.x; - var y0 = this.currentPoint.y; - this.absellipse( aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + for (let i = 0, il = lights.length; i < il; i++) { + const light = lights[i]; + const shadow = light.shadow; - }, + if (shadow === undefined) { + console.warn('THREE.WebGLShadowMap:', light, 'has no shadow.'); + continue; + } - absellipse: function ( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) { + if (shadow.autoUpdate === false && shadow.needsUpdate === false) continue; - var curve = new EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ); + _shadowMapSize.copy(shadow.mapSize); - if ( this.curves.length > 0 ) { + const shadowFrameExtents = shadow.getFrameExtents(); - // if a previous curve is present, attempt to join - var firstPoint = curve.getPoint( 0 ); + _shadowMapSize.multiply(shadowFrameExtents); - if ( ! firstPoint.equals( this.currentPoint ) ) { + _viewportSize.copy(shadow.mapSize); - this.lineTo( firstPoint.x, firstPoint.y ); + if (_shadowMapSize.x > _maxTextureSize || _shadowMapSize.y > _maxTextureSize) { + if (_shadowMapSize.x > _maxTextureSize) { + _viewportSize.x = Math.floor(_maxTextureSize / shadowFrameExtents.x); + _shadowMapSize.x = _viewportSize.x * shadowFrameExtents.x; + shadow.mapSize.x = _viewportSize.x; + } + if (_shadowMapSize.y > _maxTextureSize) { + _viewportSize.y = Math.floor(_maxTextureSize / shadowFrameExtents.y); + _shadowMapSize.y = _viewportSize.y * shadowFrameExtents.y; + shadow.mapSize.y = _viewportSize.y; + } } - } - - this.curves.push( curve ); - - var lastPoint = curve.getPoint( 1 ); - this.currentPoint.copy( lastPoint ); - - }, + if (shadow.map === null && !shadow.isPointLightShadow && this.type === VSMShadowMap) { + const pars = { + minFilter: LinearFilter, + magFilter: LinearFilter, + format: RGBAFormat + }; + shadow.map = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars); + shadow.map.texture.name = light.name + '.shadowMap'; + shadow.mapPass = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars); + shadow.camera.updateProjectionMatrix(); + } - copy: function ( source ) { + if (shadow.map === null) { + const pars = { + minFilter: NearestFilter, + magFilter: NearestFilter, + format: RGBAFormat + }; + shadow.map = new WebGLRenderTarget(_shadowMapSize.x, _shadowMapSize.y, pars); + shadow.map.texture.name = light.name + '.shadowMap'; + shadow.camera.updateProjectionMatrix(); + } - CurvePath.prototype.copy.call( this, source ); + _renderer.setRenderTarget(shadow.map); - this.currentPoint.copy( source.currentPoint ); + _renderer.clear(); - return this; + const viewportCount = shadow.getViewportCount(); - }, + for (let vp = 0; vp < viewportCount; vp++) { + const viewport = shadow.getViewport(vp); - toJSON: function () { + _viewport.set(_viewportSize.x * viewport.x, _viewportSize.y * viewport.y, _viewportSize.x * viewport.z, _viewportSize.y * viewport.w); - var data = CurvePath.prototype.toJSON.call( this ); + _state.viewport(_viewport); - data.currentPoint = this.currentPoint.toArray(); + shadow.updateMatrices(light, vp); + _frustum = shadow.getFrustum(); + renderObject(scene, camera, shadow.camera, light, this.type); + } // do blur pass for VSM - return data; - }, + if (!shadow.isPointLightShadow && this.type === VSMShadowMap) { + VSMPass(shadow, camera); + } - fromJSON: function ( json ) { + shadow.needsUpdate = false; + } - CurvePath.prototype.fromJSON.call( this, json ); + scope.needsUpdate = false; - this.currentPoint.fromArray( json.currentPoint ); + _renderer.setRenderTarget(currentRenderTarget, activeCubeFace, activeMipmapLevel); + }; - return this; + function VSMPass(shadow, camera) { + const geometry = _objects.update(fullScreenMesh); // vertical pass - } - } ); + shadowMaterialVertical.uniforms.shadow_pass.value = shadow.map.texture; + shadowMaterialVertical.uniforms.resolution.value = shadow.mapSize; + shadowMaterialVertical.uniforms.radius.value = shadow.radius; + shadowMaterialVertical.uniforms.samples.value = shadow.blurSamples; - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * Defines a 2d shape plane using paths. - **/ + _renderer.setRenderTarget(shadow.mapPass); - // STEP 1 Create a path. - // STEP 2 Turn path into shape. - // STEP 3 ExtrudeGeometry takes in Shape/Shapes - // STEP 3a - Extract points from each shape, turn to vertices - // STEP 3b - Triangulate each shape, add faces. + _renderer.clear(); - function Shape( points ) { + _renderer.renderBufferDirect(camera, null, geometry, shadowMaterialVertical, fullScreenMesh, null); // horizontal pass - Path.call( this, points ); - this.uuid = _Math.generateUUID(); + shadowMaterialHorizontal.uniforms.shadow_pass.value = shadow.mapPass.texture; + shadowMaterialHorizontal.uniforms.resolution.value = shadow.mapSize; + shadowMaterialHorizontal.uniforms.radius.value = shadow.radius; + shadowMaterialHorizontal.uniforms.samples.value = shadow.blurSamples; - this.type = 'Shape'; + _renderer.setRenderTarget(shadow.map); - this.holes = []; + _renderer.clear(); - } + _renderer.renderBufferDirect(camera, null, geometry, shadowMaterialHorizontal, fullScreenMesh, null); + } - Shape.prototype = Object.assign( Object.create( Path.prototype ), { + function getDepthMaterial(object, geometry, material, light, shadowCameraNear, shadowCameraFar, type) { + let result = null; + const customMaterial = light.isPointLight === true ? object.customDistanceMaterial : object.customDepthMaterial; - constructor: Shape, + if (customMaterial !== undefined) { + result = customMaterial; + } else { + result = light.isPointLight === true ? _distanceMaterial : _depthMaterial; + } - getPointsHoles: function ( divisions ) { + if (_renderer.localClippingEnabled && material.clipShadows === true && material.clippingPlanes.length !== 0 || material.displacementMap && material.displacementScale !== 0 || material.alphaMap && material.alphaTest > 0) { + // in this case we need a unique material instance reflecting the + // appropriate state + const keyA = result.uuid, + keyB = material.uuid; + let materialsForVariant = _materialCache[keyA]; - var holesPts = []; + if (materialsForVariant === undefined) { + materialsForVariant = {}; + _materialCache[keyA] = materialsForVariant; + } - for ( var i = 0, l = this.holes.length; i < l; i ++ ) { + let cachedMaterial = materialsForVariant[keyB]; - holesPts[ i ] = this.holes[ i ].getPoints( divisions ); + if (cachedMaterial === undefined) { + cachedMaterial = result.clone(); + materialsForVariant[keyB] = cachedMaterial; + } + result = cachedMaterial; } - return holesPts; - - }, + result.visible = material.visible; + result.wireframe = material.wireframe; - // get points of shape and holes (keypoints based on segments parameter) + if (type === VSMShadowMap) { + result.side = material.shadowSide !== null ? material.shadowSide : material.side; + } else { + result.side = material.shadowSide !== null ? material.shadowSide : shadowSide[material.side]; + } - extractPoints: function ( divisions ) { + result.alphaMap = material.alphaMap; + result.alphaTest = material.alphaTest; + result.clipShadows = material.clipShadows; + result.clippingPlanes = material.clippingPlanes; + result.clipIntersection = material.clipIntersection; + result.displacementMap = material.displacementMap; + result.displacementScale = material.displacementScale; + result.displacementBias = material.displacementBias; + result.wireframeLinewidth = material.wireframeLinewidth; + result.linewidth = material.linewidth; - return { + if (light.isPointLight === true && result.isMeshDistanceMaterial === true) { + result.referencePosition.setFromMatrixPosition(light.matrixWorld); + result.nearDistance = shadowCameraNear; + result.farDistance = shadowCameraFar; + } - shape: this.getPoints( divisions ), - holes: this.getPointsHoles( divisions ) + return result; + } - }; + function renderObject(object, camera, shadowCamera, light, type) { + if (object.visible === false) return; + const visible = object.layers.test(camera.layers); - }, + if (visible && (object.isMesh || object.isLine || object.isPoints)) { + if ((object.castShadow || object.receiveShadow && type === VSMShadowMap) && (!object.frustumCulled || _frustum.intersectsObject(object))) { + object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse, object.matrixWorld); - copy: function ( source ) { + const geometry = _objects.update(object); - Path.prototype.copy.call( this, source ); + const material = object.material; - this.holes = []; + if (Array.isArray(material)) { + const groups = geometry.groups; - for ( var i = 0, l = source.holes.length; i < l; i ++ ) { + for (let k = 0, kl = groups.length; k < kl; k++) { + const group = groups[k]; + const groupMaterial = material[group.materialIndex]; - var hole = source.holes[ i ]; + if (groupMaterial && groupMaterial.visible) { + const depthMaterial = getDepthMaterial(object, geometry, groupMaterial, light, shadowCamera.near, shadowCamera.far, type); - this.holes.push( hole.clone() ); + _renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, group); + } + } + } else if (material.visible) { + const depthMaterial = getDepthMaterial(object, geometry, material, light, shadowCamera.near, shadowCamera.far, type); + _renderer.renderBufferDirect(shadowCamera, null, geometry, depthMaterial, object, null); + } + } } - return this; + const children = object.children; - }, + for (let i = 0, l = children.length; i < l; i++) { + renderObject(children[i], camera, shadowCamera, light, type); + } + } + } - toJSON: function () { + function WebGLState(gl, extensions, capabilities) { + const isWebGL2 = capabilities.isWebGL2; - var data = Path.prototype.toJSON.call( this ); + function ColorBuffer() { + let locked = false; + const color = new Vector4(); + let currentColorMask = null; + const currentColorClear = new Vector4(0, 0, 0, 0); + return { + setMask: function (colorMask) { + if (currentColorMask !== colorMask && !locked) { + gl.colorMask(colorMask, colorMask, colorMask, colorMask); + currentColorMask = colorMask; + } + }, + setLocked: function (lock) { + locked = lock; + }, + setClear: function (r, g, b, a, premultipliedAlpha) { + if (premultipliedAlpha === true) { + r *= a; + g *= a; + b *= a; + } - data.uuid = this.uuid; - data.holes = []; + color.set(r, g, b, a); - for ( var i = 0, l = this.holes.length; i < l; i ++ ) { + if (currentColorClear.equals(color) === false) { + gl.clearColor(r, g, b, a); + currentColorClear.copy(color); + } + }, + reset: function () { + locked = false; + currentColorMask = null; + currentColorClear.set(-1, 0, 0, 0); // set to invalid state + } + }; + } - var hole = this.holes[ i ]; - data.holes.push( hole.toJSON() ); + function DepthBuffer() { + let locked = false; + let currentDepthMask = null; + let currentDepthFunc = null; + let currentDepthClear = null; + return { + setTest: function (depthTest) { + if (depthTest) { + enable(gl.DEPTH_TEST); + } else { + disable(gl.DEPTH_TEST); + } + }, + setMask: function (depthMask) { + if (currentDepthMask !== depthMask && !locked) { + gl.depthMask(depthMask); + currentDepthMask = depthMask; + } + }, + setFunc: function (depthFunc) { + if (currentDepthFunc !== depthFunc) { + if (depthFunc) { + switch (depthFunc) { + case NeverDepth: + gl.depthFunc(gl.NEVER); + break; - } + case AlwaysDepth: + gl.depthFunc(gl.ALWAYS); + break; - return data; + case LessDepth: + gl.depthFunc(gl.LESS); + break; - }, + case LessEqualDepth: + gl.depthFunc(gl.LEQUAL); + break; - fromJSON: function ( json ) { + case EqualDepth: + gl.depthFunc(gl.EQUAL); + break; - Path.prototype.fromJSON.call( this, json ); + case GreaterEqualDepth: + gl.depthFunc(gl.GEQUAL); + break; - this.uuid = json.uuid; - this.holes = []; + case GreaterDepth: + gl.depthFunc(gl.GREATER); + break; - for ( var i = 0, l = json.holes.length; i < l; i ++ ) { + case NotEqualDepth: + gl.depthFunc(gl.NOTEQUAL); + break; - var hole = json.holes[ i ]; - this.holes.push( new Path().fromJSON( hole ) ); + default: + gl.depthFunc(gl.LEQUAL); + } + } else { + gl.depthFunc(gl.LEQUAL); + } - } + currentDepthFunc = depthFunc; + } + }, + setLocked: function (lock) { + locked = lock; + }, + setClear: function (depth) { + if (currentDepthClear !== depth) { + gl.clearDepth(depth); + currentDepthClear = depth; + } + }, + reset: function () { + locked = false; + currentDepthMask = null; + currentDepthFunc = null; + currentDepthClear = null; + } + }; + } - return this; + function StencilBuffer() { + let locked = false; + let currentStencilMask = null; + let currentStencilFunc = null; + let currentStencilRef = null; + let currentStencilFuncMask = null; + let currentStencilFail = null; + let currentStencilZFail = null; + let currentStencilZPass = null; + let currentStencilClear = null; + return { + setTest: function (stencilTest) { + if (!locked) { + if (stencilTest) { + enable(gl.STENCIL_TEST); + } else { + disable(gl.STENCIL_TEST); + } + } + }, + setMask: function (stencilMask) { + if (currentStencilMask !== stencilMask && !locked) { + gl.stencilMask(stencilMask); + currentStencilMask = stencilMask; + } + }, + setFunc: function (stencilFunc, stencilRef, stencilMask) { + if (currentStencilFunc !== stencilFunc || currentStencilRef !== stencilRef || currentStencilFuncMask !== stencilMask) { + gl.stencilFunc(stencilFunc, stencilRef, stencilMask); + currentStencilFunc = stencilFunc; + currentStencilRef = stencilRef; + currentStencilFuncMask = stencilMask; + } + }, + setOp: function (stencilFail, stencilZFail, stencilZPass) { + if (currentStencilFail !== stencilFail || currentStencilZFail !== stencilZFail || currentStencilZPass !== stencilZPass) { + gl.stencilOp(stencilFail, stencilZFail, stencilZPass); + currentStencilFail = stencilFail; + currentStencilZFail = stencilZFail; + currentStencilZPass = stencilZPass; + } + }, + setLocked: function (lock) { + locked = lock; + }, + setClear: function (stencil) { + if (currentStencilClear !== stencil) { + gl.clearStencil(stencil); + currentStencilClear = stencil; + } + }, + reset: function () { + locked = false; + currentStencilMask = null; + currentStencilFunc = null; + currentStencilRef = null; + currentStencilFuncMask = null; + currentStencilFail = null; + currentStencilZFail = null; + currentStencilZPass = null; + currentStencilClear = null; + } + }; + } // + + + const colorBuffer = new ColorBuffer(); + const depthBuffer = new DepthBuffer(); + const stencilBuffer = new StencilBuffer(); + let enabledCapabilities = {}; + let xrFramebuffer = null; + let currentBoundFramebuffers = {}; + let currentProgram = null; + let currentBlendingEnabled = false; + let currentBlending = null; + let currentBlendEquation = null; + let currentBlendSrc = null; + let currentBlendDst = null; + let currentBlendEquationAlpha = null; + let currentBlendSrcAlpha = null; + let currentBlendDstAlpha = null; + let currentPremultipledAlpha = false; + let currentFlipSided = null; + let currentCullFace = null; + let currentLineWidth = null; + let currentPolygonOffsetFactor = null; + let currentPolygonOffsetUnits = null; + const maxTextures = gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS); + let lineWidthAvailable = false; + let version = 0; + const glVersion = gl.getParameter(gl.VERSION); + + if (glVersion.indexOf('WebGL') !== -1) { + version = parseFloat(/^WebGL (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 1.0; + } else if (glVersion.indexOf('OpenGL ES') !== -1) { + version = parseFloat(/^OpenGL ES (\d)/.exec(glVersion)[1]); + lineWidthAvailable = version >= 2.0; + } + + let currentTextureSlot = null; + let currentBoundTextures = {}; + const scissorParam = gl.getParameter(gl.SCISSOR_BOX); + const viewportParam = gl.getParameter(gl.VIEWPORT); + const currentScissor = new Vector4().fromArray(scissorParam); + const currentViewport = new Vector4().fromArray(viewportParam); + + function createTexture(type, target, count) { + const data = new Uint8Array(4); // 4 is required to match default unpack alignment of 4. + + const texture = gl.createTexture(); + gl.bindTexture(type, texture); + gl.texParameteri(type, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(type, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + + for (let i = 0; i < count; i++) { + gl.texImage2D(target + i, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, data); + } + return texture; } - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ - - function Light( color, intensity ) { - - Object3D.call( this ); - - this.type = 'Light'; - - this.color = new Color( color ); - this.intensity = intensity !== undefined ? intensity : 1; - - this.receiveShadow = undefined; - - } - - Light.prototype = Object.assign( Object.create( Object3D.prototype ), { - - constructor: Light, - - isLight: true, - - copy: function ( source ) { + const emptyTextures = {}; + emptyTextures[gl.TEXTURE_2D] = createTexture(gl.TEXTURE_2D, gl.TEXTURE_2D, 1); + emptyTextures[gl.TEXTURE_CUBE_MAP] = createTexture(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_CUBE_MAP_POSITIVE_X, 6); // init - Object3D.prototype.copy.call( this, source ); - - this.color.copy( source.color ); - this.intensity = source.intensity; - - return this; - - }, - - toJSON: function ( meta ) { - - var data = Object3D.prototype.toJSON.call( this, meta ); - - data.object.color = this.color.getHex(); - data.object.intensity = this.intensity; - - if ( this.groundColor !== undefined ) data.object.groundColor = this.groundColor.getHex(); - - if ( this.distance !== undefined ) data.object.distance = this.distance; - if ( this.angle !== undefined ) data.object.angle = this.angle; - if ( this.decay !== undefined ) data.object.decay = this.decay; - if ( this.penumbra !== undefined ) data.object.penumbra = this.penumbra; - - if ( this.shadow !== undefined ) data.object.shadow = this.shadow.toJSON(); - - return data; + colorBuffer.setClear(0, 0, 0, 1); + depthBuffer.setClear(1); + stencilBuffer.setClear(0); + enable(gl.DEPTH_TEST); + depthBuffer.setFunc(LessEqualDepth); + setFlipSided(false); + setCullFace(CullFaceBack); + enable(gl.CULL_FACE); + setBlending(NoBlending); // + function enable(id) { + if (enabledCapabilities[id] !== true) { + gl.enable(id); + enabledCapabilities[id] = true; + } } - } ); + function disable(id) { + if (enabledCapabilities[id] !== false) { + gl.disable(id); + enabledCapabilities[id] = false; + } + } - /** - * @author alteredq / http://alteredqualia.com/ - */ + function bindXRFramebuffer(framebuffer) { + if (framebuffer !== xrFramebuffer) { + gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer); + xrFramebuffer = framebuffer; + } + } - function HemisphereLight( skyColor, groundColor, intensity ) { + function bindFramebuffer(target, framebuffer) { + if (framebuffer === null && xrFramebuffer !== null) framebuffer = xrFramebuffer; // use active XR framebuffer if available - Light.call( this, skyColor, intensity ); + if (currentBoundFramebuffers[target] !== framebuffer) { + gl.bindFramebuffer(target, framebuffer); + currentBoundFramebuffers[target] = framebuffer; - this.type = 'HemisphereLight'; + if (isWebGL2) { + // gl.DRAW_FRAMEBUFFER is equivalent to gl.FRAMEBUFFER + if (target === gl.DRAW_FRAMEBUFFER) { + currentBoundFramebuffers[gl.FRAMEBUFFER] = framebuffer; + } - this.castShadow = undefined; + if (target === gl.FRAMEBUFFER) { + currentBoundFramebuffers[gl.DRAW_FRAMEBUFFER] = framebuffer; + } + } - this.position.copy( Object3D.DefaultUp ); - this.updateMatrix(); + return true; + } - this.groundColor = new Color( groundColor ); + return false; + } - } + function useProgram(program) { + if (currentProgram !== program) { + gl.useProgram(program); + currentProgram = program; + return true; + } - HemisphereLight.prototype = Object.assign( Object.create( Light.prototype ), { + return false; + } - constructor: HemisphereLight, + const equationToGL = { + [AddEquation]: gl.FUNC_ADD, + [SubtractEquation]: gl.FUNC_SUBTRACT, + [ReverseSubtractEquation]: gl.FUNC_REVERSE_SUBTRACT + }; - isHemisphereLight: true, + if (isWebGL2) { + equationToGL[MinEquation] = gl.MIN; + equationToGL[MaxEquation] = gl.MAX; + } else { + const extension = extensions.get('EXT_blend_minmax'); + + if (extension !== null) { + equationToGL[MinEquation] = extension.MIN_EXT; + equationToGL[MaxEquation] = extension.MAX_EXT; + } + } + + const factorToGL = { + [ZeroFactor]: gl.ZERO, + [OneFactor]: gl.ONE, + [SrcColorFactor]: gl.SRC_COLOR, + [SrcAlphaFactor]: gl.SRC_ALPHA, + [SrcAlphaSaturateFactor]: gl.SRC_ALPHA_SATURATE, + [DstColorFactor]: gl.DST_COLOR, + [DstAlphaFactor]: gl.DST_ALPHA, + [OneMinusSrcColorFactor]: gl.ONE_MINUS_SRC_COLOR, + [OneMinusSrcAlphaFactor]: gl.ONE_MINUS_SRC_ALPHA, + [OneMinusDstColorFactor]: gl.ONE_MINUS_DST_COLOR, + [OneMinusDstAlphaFactor]: gl.ONE_MINUS_DST_ALPHA + }; - copy: function ( source ) { + function setBlending(blending, blendEquation, blendSrc, blendDst, blendEquationAlpha, blendSrcAlpha, blendDstAlpha, premultipliedAlpha) { + if (blending === NoBlending) { + if (currentBlendingEnabled === true) { + disable(gl.BLEND); + currentBlendingEnabled = false; + } - Light.prototype.copy.call( this, source ); + return; + } - this.groundColor.copy( source.groundColor ); + if (currentBlendingEnabled === false) { + enable(gl.BLEND); + currentBlendingEnabled = true; + } - return this; + if (blending !== CustomBlending) { + if (blending !== currentBlending || premultipliedAlpha !== currentPremultipledAlpha) { + if (currentBlendEquation !== AddEquation || currentBlendEquationAlpha !== AddEquation) { + gl.blendEquation(gl.FUNC_ADD); + currentBlendEquation = AddEquation; + currentBlendEquationAlpha = AddEquation; + } - } + if (premultipliedAlpha) { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(gl.ONE, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + break; - } ); + case AdditiveBlending: + gl.blendFunc(gl.ONE, gl.ONE); + break; - /** - * @author mrdoob / http://mrdoob.com/ - */ + case SubtractiveBlending: + gl.blendFuncSeparate(gl.ZERO, gl.ZERO, gl.ONE_MINUS_SRC_COLOR, gl.ONE_MINUS_SRC_ALPHA); + break; - function LightShadow( camera ) { + case MultiplyBlending: + gl.blendFuncSeparate(gl.ZERO, gl.SRC_COLOR, gl.ZERO, gl.SRC_ALPHA); + break; - this.camera = camera; + default: + console.error('THREE.WebGLState: Invalid blending: ', blending); + break; + } + } else { + switch (blending) { + case NormalBlending: + gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA); + break; - this.bias = 0; - this.radius = 1; + case AdditiveBlending: + gl.blendFunc(gl.SRC_ALPHA, gl.ONE); + break; - this.mapSize = new Vector2( 512, 512 ); + case SubtractiveBlending: + gl.blendFunc(gl.ZERO, gl.ONE_MINUS_SRC_COLOR); + break; - this.map = null; - this.matrix = new Matrix4(); + case MultiplyBlending: + gl.blendFunc(gl.ZERO, gl.SRC_COLOR); + break; - } + default: + console.error('THREE.WebGLState: Invalid blending: ', blending); + break; + } + } - Object.assign( LightShadow.prototype, { + currentBlendSrc = null; + currentBlendDst = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentBlending = blending; + currentPremultipledAlpha = premultipliedAlpha; + } - copy: function ( source ) { + return; + } // custom blending - this.camera = source.camera.clone(); - this.bias = source.bias; - this.radius = source.radius; + blendEquationAlpha = blendEquationAlpha || blendEquation; + blendSrcAlpha = blendSrcAlpha || blendSrc; + blendDstAlpha = blendDstAlpha || blendDst; - this.mapSize.copy( source.mapSize ); + if (blendEquation !== currentBlendEquation || blendEquationAlpha !== currentBlendEquationAlpha) { + gl.blendEquationSeparate(equationToGL[blendEquation], equationToGL[blendEquationAlpha]); + currentBlendEquation = blendEquation; + currentBlendEquationAlpha = blendEquationAlpha; + } - return this; + if (blendSrc !== currentBlendSrc || blendDst !== currentBlendDst || blendSrcAlpha !== currentBlendSrcAlpha || blendDstAlpha !== currentBlendDstAlpha) { + gl.blendFuncSeparate(factorToGL[blendSrc], factorToGL[blendDst], factorToGL[blendSrcAlpha], factorToGL[blendDstAlpha]); + currentBlendSrc = blendSrc; + currentBlendDst = blendDst; + currentBlendSrcAlpha = blendSrcAlpha; + currentBlendDstAlpha = blendDstAlpha; + } - }, + currentBlending = blending; + currentPremultipledAlpha = null; + } - clone: function () { + function setMaterial(material, frontFaceCW) { + material.side === DoubleSide ? disable(gl.CULL_FACE) : enable(gl.CULL_FACE); + let flipSided = material.side === BackSide; + if (frontFaceCW) flipSided = !flipSided; + setFlipSided(flipSided); + material.blending === NormalBlending && material.transparent === false ? setBlending(NoBlending) : setBlending(material.blending, material.blendEquation, material.blendSrc, material.blendDst, material.blendEquationAlpha, material.blendSrcAlpha, material.blendDstAlpha, material.premultipliedAlpha); + depthBuffer.setFunc(material.depthFunc); + depthBuffer.setTest(material.depthTest); + depthBuffer.setMask(material.depthWrite); + colorBuffer.setMask(material.colorWrite); + const stencilWrite = material.stencilWrite; + stencilBuffer.setTest(stencilWrite); - return new this.constructor().copy( this ); + if (stencilWrite) { + stencilBuffer.setMask(material.stencilWriteMask); + stencilBuffer.setFunc(material.stencilFunc, material.stencilRef, material.stencilFuncMask); + stencilBuffer.setOp(material.stencilFail, material.stencilZFail, material.stencilZPass); + } - }, + setPolygonOffset(material.polygonOffset, material.polygonOffsetFactor, material.polygonOffsetUnits); + material.alphaToCoverage === true ? enable(gl.SAMPLE_ALPHA_TO_COVERAGE) : disable(gl.SAMPLE_ALPHA_TO_COVERAGE); + } // - toJSON: function () { - var object = {}; + function setFlipSided(flipSided) { + if (currentFlipSided !== flipSided) { + if (flipSided) { + gl.frontFace(gl.CW); + } else { + gl.frontFace(gl.CCW); + } - if ( this.bias !== 0 ) object.bias = this.bias; - if ( this.radius !== 1 ) object.radius = this.radius; - if ( this.mapSize.x !== 512 || this.mapSize.y !== 512 ) object.mapSize = this.mapSize.toArray(); + currentFlipSided = flipSided; + } + } - object.camera = this.camera.toJSON( false ).object; - delete object.camera.matrix; + function setCullFace(cullFace) { + if (cullFace !== CullFaceNone) { + enable(gl.CULL_FACE); - return object; + if (cullFace !== currentCullFace) { + if (cullFace === CullFaceBack) { + gl.cullFace(gl.BACK); + } else if (cullFace === CullFaceFront) { + gl.cullFace(gl.FRONT); + } else { + gl.cullFace(gl.FRONT_AND_BACK); + } + } + } else { + disable(gl.CULL_FACE); + } + currentCullFace = cullFace; } - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ + function setLineWidth(width) { + if (width !== currentLineWidth) { + if (lineWidthAvailable) gl.lineWidth(width); + currentLineWidth = width; + } + } - function SpotLightShadow() { + function setPolygonOffset(polygonOffset, factor, units) { + if (polygonOffset) { + enable(gl.POLYGON_OFFSET_FILL); - LightShadow.call( this, new PerspectiveCamera( 50, 1, 0.5, 500 ) ); + if (currentPolygonOffsetFactor !== factor || currentPolygonOffsetUnits !== units) { + gl.polygonOffset(factor, units); + currentPolygonOffsetFactor = factor; + currentPolygonOffsetUnits = units; + } + } else { + disable(gl.POLYGON_OFFSET_FILL); + } + } - } + function setScissorTest(scissorTest) { + if (scissorTest) { + enable(gl.SCISSOR_TEST); + } else { + disable(gl.SCISSOR_TEST); + } + } // texture - SpotLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { - constructor: SpotLightShadow, + function activeTexture(webglSlot) { + if (webglSlot === undefined) webglSlot = gl.TEXTURE0 + maxTextures - 1; - isSpotLightShadow: true, + if (currentTextureSlot !== webglSlot) { + gl.activeTexture(webglSlot); + currentTextureSlot = webglSlot; + } + } - update: function ( light ) { + function bindTexture(webglType, webglTexture) { + if (currentTextureSlot === null) { + activeTexture(); + } - var camera = this.camera; + let boundTexture = currentBoundTextures[currentTextureSlot]; - var fov = _Math.RAD2DEG * 2 * light.angle; - var aspect = this.mapSize.width / this.mapSize.height; - var far = light.distance || camera.far; + if (boundTexture === undefined) { + boundTexture = { + type: undefined, + texture: undefined + }; + currentBoundTextures[currentTextureSlot] = boundTexture; + } - if ( fov !== camera.fov || aspect !== camera.aspect || far !== camera.far ) { + if (boundTexture.type !== webglType || boundTexture.texture !== webglTexture) { + gl.bindTexture(webglType, webglTexture || emptyTextures[webglType]); + boundTexture.type = webglType; + boundTexture.texture = webglTexture; + } + } - camera.fov = fov; - camera.aspect = aspect; - camera.far = far; - camera.updateProjectionMatrix(); + function unbindTexture() { + const boundTexture = currentBoundTextures[currentTextureSlot]; + if (boundTexture !== undefined && boundTexture.type !== undefined) { + gl.bindTexture(boundTexture.type, null); + boundTexture.type = undefined; + boundTexture.texture = undefined; } - } - } ); + function compressedTexImage2D() { + try { + gl.compressedTexImage2D.apply(gl, arguments); + } catch (error) { + console.error('THREE.WebGLState:', error); + } + } - /** - * @author alteredq / http://alteredqualia.com/ - */ + function texImage2D() { + try { + gl.texImage2D.apply(gl, arguments); + } catch (error) { + console.error('THREE.WebGLState:', error); + } + } - function SpotLight( color, intensity, distance, angle, penumbra, decay ) { + function texImage3D() { + try { + gl.texImage3D.apply(gl, arguments); + } catch (error) { + console.error('THREE.WebGLState:', error); + } + } // - Light.call( this, color, intensity ); - this.type = 'SpotLight'; + function scissor(scissor) { + if (currentScissor.equals(scissor) === false) { + gl.scissor(scissor.x, scissor.y, scissor.z, scissor.w); + currentScissor.copy(scissor); + } + } - this.position.copy( Object3D.DefaultUp ); - this.updateMatrix(); + function viewport(viewport) { + if (currentViewport.equals(viewport) === false) { + gl.viewport(viewport.x, viewport.y, viewport.z, viewport.w); + currentViewport.copy(viewport); + } + } // - this.target = new Object3D(); - Object.defineProperty( this, 'power', { - get: function () { + function reset() { + // reset state + gl.disable(gl.BLEND); + gl.disable(gl.CULL_FACE); + gl.disable(gl.DEPTH_TEST); + gl.disable(gl.POLYGON_OFFSET_FILL); + gl.disable(gl.SCISSOR_TEST); + gl.disable(gl.STENCIL_TEST); + gl.disable(gl.SAMPLE_ALPHA_TO_COVERAGE); + gl.blendEquation(gl.FUNC_ADD); + gl.blendFunc(gl.ONE, gl.ZERO); + gl.blendFuncSeparate(gl.ONE, gl.ZERO, gl.ONE, gl.ZERO); + gl.colorMask(true, true, true, true); + gl.clearColor(0, 0, 0, 0); + gl.depthMask(true); + gl.depthFunc(gl.LESS); + gl.clearDepth(1); + gl.stencilMask(0xffffffff); + gl.stencilFunc(gl.ALWAYS, 0, 0xffffffff); + gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP); + gl.clearStencil(0); + gl.cullFace(gl.BACK); + gl.frontFace(gl.CCW); + gl.polygonOffset(0, 0); + gl.activeTexture(gl.TEXTURE0); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + + if (isWebGL2 === true) { + gl.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null); + gl.bindFramebuffer(gl.READ_FRAMEBUFFER, null); + } + + gl.useProgram(null); + gl.lineWidth(1); + gl.scissor(0, 0, gl.canvas.width, gl.canvas.height); + gl.viewport(0, 0, gl.canvas.width, gl.canvas.height); // reset internals - // intensity = power per solid angle. - // ref: equation (17) from https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf - return this.intensity * Math.PI; + enabledCapabilities = {}; + currentTextureSlot = null; + currentBoundTextures = {}; + xrFramebuffer = null; + currentBoundFramebuffers = {}; + currentProgram = null; + currentBlendingEnabled = false; + currentBlending = null; + currentBlendEquation = null; + currentBlendSrc = null; + currentBlendDst = null; + currentBlendEquationAlpha = null; + currentBlendSrcAlpha = null; + currentBlendDstAlpha = null; + currentPremultipledAlpha = false; + currentFlipSided = null; + currentCullFace = null; + currentLineWidth = null; + currentPolygonOffsetFactor = null; + currentPolygonOffsetUnits = null; + currentScissor.set(0, 0, gl.canvas.width, gl.canvas.height); + currentViewport.set(0, 0, gl.canvas.width, gl.canvas.height); + colorBuffer.reset(); + depthBuffer.reset(); + stencilBuffer.reset(); + } + return { + buffers: { + color: colorBuffer, + depth: depthBuffer, + stencil: stencilBuffer }, - set: function ( power ) { - - // intensity = power per solid angle. - // ref: equation (17) from https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf - this.intensity = power / Math.PI; + enable: enable, + disable: disable, + bindFramebuffer: bindFramebuffer, + bindXRFramebuffer: bindXRFramebuffer, + useProgram: useProgram, + setBlending: setBlending, + setMaterial: setMaterial, + setFlipSided: setFlipSided, + setCullFace: setCullFace, + setLineWidth: setLineWidth, + setPolygonOffset: setPolygonOffset, + setScissorTest: setScissorTest, + activeTexture: activeTexture, + bindTexture: bindTexture, + unbindTexture: unbindTexture, + compressedTexImage2D: compressedTexImage2D, + texImage2D: texImage2D, + texImage3D: texImage3D, + scissor: scissor, + viewport: viewport, + reset: reset + }; + } - } - } ); + function WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info) { + const isWebGL2 = capabilities.isWebGL2; + const maxTextures = capabilities.maxTextures; + const maxCubemapSize = capabilities.maxCubemapSize; + const maxTextureSize = capabilities.maxTextureSize; + const maxSamples = capabilities.maxSamples; - this.distance = ( distance !== undefined ) ? distance : 0; - this.angle = ( angle !== undefined ) ? angle : Math.PI / 3; - this.penumbra = ( penumbra !== undefined ) ? penumbra : 0; - this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. + const _videoTextures = new WeakMap(); - this.shadow = new SpotLightShadow(); + let _canvas; // cordova iOS (as of 5.0) still uses UIWebView, which provides OffscreenCanvas, + // also OffscreenCanvas.getContext("webgl"), but not OffscreenCanvas.getContext("2d")! + // Some implementations may only implement OffscreenCanvas partially (e.g. lacking 2d). - } - SpotLight.prototype = Object.assign( Object.create( Light.prototype ), { + let useOffscreenCanvas = false; - constructor: SpotLight, + try { + useOffscreenCanvas = typeof OffscreenCanvas !== 'undefined' && new OffscreenCanvas(1, 1).getContext('2d') !== null; + } catch (err) {// Ignore any errors + } - isSpotLight: true, + function createCanvas(width, height) { + // Use OffscreenCanvas when available. Specially needed in web workers + return useOffscreenCanvas ? new OffscreenCanvas(width, height) : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas'); + } - copy: function ( source ) { + function resizeImage(image, needsPowerOfTwo, needsNewCanvas, maxSize) { + let scale = 1; // handle case if texture exceeds max size - Light.prototype.copy.call( this, source ); + if (image.width > maxSize || image.height > maxSize) { + scale = maxSize / Math.max(image.width, image.height); + } // only perform resize if necessary - this.distance = source.distance; - this.angle = source.angle; - this.penumbra = source.penumbra; - this.decay = source.decay; - this.target = source.target.clone(); + if (scale < 1 || needsPowerOfTwo === true) { + // only perform resize for certain image types + if (typeof HTMLImageElement !== 'undefined' && image instanceof HTMLImageElement || typeof HTMLCanvasElement !== 'undefined' && image instanceof HTMLCanvasElement || typeof ImageBitmap !== 'undefined' && image instanceof ImageBitmap) { + const floor = needsPowerOfTwo ? floorPowerOfTwo : Math.floor; + const width = floor(scale * image.width); + const height = floor(scale * image.height); + if (_canvas === undefined) _canvas = createCanvas(width, height); // cube textures can't reuse the same canvas - this.shadow = source.shadow.clone(); + const canvas = needsNewCanvas ? createCanvas(width, height) : _canvas; + canvas.width = width; + canvas.height = height; + const context = canvas.getContext('2d'); + context.drawImage(image, 0, 0, width, height); + console.warn('THREE.WebGLRenderer: Texture has been resized from (' + image.width + 'x' + image.height + ') to (' + width + 'x' + height + ').'); + return canvas; + } else { + if ('data' in image) { + console.warn('THREE.WebGLRenderer: Image in DataTexture is too big (' + image.width + 'x' + image.height + ').'); + } - return this; + return image; + } + } + return image; } - } ); - - /** - * @author mrdoob / http://mrdoob.com/ - */ - + function isPowerOfTwo$1(image) { + return isPowerOfTwo(image.width) && isPowerOfTwo(image.height); + } - function PointLight( color, intensity, distance, decay ) { + function textureNeedsPowerOfTwo(texture) { + if (isWebGL2) return false; + return texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping || texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + } - Light.call( this, color, intensity ); + function textureNeedsGenerateMipmaps(texture, supportsMips) { + return texture.generateMipmaps && supportsMips && texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter; + } - this.type = 'PointLight'; + function generateMipmap(target, texture, width, height, depth = 1) { + _gl.generateMipmap(target); - Object.defineProperty( this, 'power', { - get: function () { + const textureProperties = properties.get(texture); + textureProperties.__maxMipLevel = Math.log2(Math.max(width, height, depth)); + } - // intensity = power per solid angle. - // ref: equation (15) from https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf - return this.intensity * 4 * Math.PI; + function getInternalFormat(internalFormatName, glFormat, glType) { + if (isWebGL2 === false) return glFormat; - }, - set: function ( power ) { + if (internalFormatName !== null) { + if (_gl[internalFormatName] !== undefined) return _gl[internalFormatName]; + console.warn('THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format \'' + internalFormatName + '\''); + } - // intensity = power per solid angle. - // ref: equation (15) from https://seblagarde.files.wordpress.com/2015/07/course_notes_moving_frostbite_to_pbr_v32.pdf - this.intensity = power / ( 4 * Math.PI ); + let internalFormat = glFormat; + if (glFormat === _gl.RED) { + if (glType === _gl.FLOAT) internalFormat = _gl.R32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.R16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.R8; } - } ); - - this.distance = ( distance !== undefined ) ? distance : 0; - this.decay = ( decay !== undefined ) ? decay : 1; // for physically correct lights, should be 2. - this.shadow = new LightShadow( new PerspectiveCamera( 90, 1, 0.5, 500 ) ); + if (glFormat === _gl.RGB) { + if (glType === _gl.FLOAT) internalFormat = _gl.RGB32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RGB16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGB8; + } - } + if (glFormat === _gl.RGBA) { + if (glType === _gl.FLOAT) internalFormat = _gl.RGBA32F; + if (glType === _gl.HALF_FLOAT) internalFormat = _gl.RGBA16F; + if (glType === _gl.UNSIGNED_BYTE) internalFormat = _gl.RGBA8; + } - PointLight.prototype = Object.assign( Object.create( Light.prototype ), { + if (internalFormat === _gl.R16F || internalFormat === _gl.R32F || internalFormat === _gl.RGBA16F || internalFormat === _gl.RGBA32F) { + extensions.get('EXT_color_buffer_float'); + } - constructor: PointLight, + return internalFormat; + } // Fallback filters for non-power-of-2 textures - isPointLight: true, - copy: function ( source ) { + function filterFallback(f) { + if (f === NearestFilter || f === NearestMipmapNearestFilter || f === NearestMipmapLinearFilter) { + return _gl.NEAREST; + } - Light.prototype.copy.call( this, source ); + return _gl.LINEAR; + } // - this.distance = source.distance; - this.decay = source.decay; - this.shadow = source.shadow.clone(); + function onTextureDispose(event) { + const texture = event.target; + texture.removeEventListener('dispose', onTextureDispose); + deallocateTexture(texture); - return this; + if (texture.isVideoTexture) { + _videoTextures.delete(texture); + } + info.memory.textures--; } - } ); - - /** - * @author alteredq / http://alteredqualia.com/ - * @author arose / http://github.com/arose - */ + function onRenderTargetDispose(event) { + const renderTarget = event.target; + renderTarget.removeEventListener('dispose', onRenderTargetDispose); + deallocateRenderTarget(renderTarget); + } // - function OrthographicCamera( left, right, top, bottom, near, far ) { - Camera.call( this ); + function deallocateTexture(texture) { + const textureProperties = properties.get(texture); + if (textureProperties.__webglInit === undefined) return; - this.type = 'OrthographicCamera'; + _gl.deleteTexture(textureProperties.__webglTexture); - this.zoom = 1; - this.view = null; + properties.remove(texture); + } - this.left = ( left !== undefined ) ? left : - 1; - this.right = ( right !== undefined ) ? right : 1; - this.top = ( top !== undefined ) ? top : 1; - this.bottom = ( bottom !== undefined ) ? bottom : - 1; + function deallocateRenderTarget(renderTarget) { + const texture = renderTarget.texture; + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + if (!renderTarget) return; - this.near = ( near !== undefined ) ? near : 0.1; - this.far = ( far !== undefined ) ? far : 2000; + if (textureProperties.__webglTexture !== undefined) { + _gl.deleteTexture(textureProperties.__webglTexture); - this.updateProjectionMatrix(); + info.memory.textures--; + } - } + if (renderTarget.depthTexture) { + renderTarget.depthTexture.dispose(); + } - OrthographicCamera.prototype = Object.assign( Object.create( Camera.prototype ), { + if (renderTarget.isWebGLCubeRenderTarget) { + for (let i = 0; i < 6; i++) { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]); - constructor: OrthographicCamera, + if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]); + } + } else { + _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer); - isOrthographicCamera: true, + if (renderTargetProperties.__webglDepthbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer); + if (renderTargetProperties.__webglMultisampledFramebuffer) _gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer); + if (renderTargetProperties.__webglColorRenderbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer); + if (renderTargetProperties.__webglDepthRenderbuffer) _gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer); + } - copy: function ( source, recursive ) { + if (renderTarget.isWebGLMultipleRenderTargets) { + for (let i = 0, il = texture.length; i < il; i++) { + const attachmentProperties = properties.get(texture[i]); - Camera.prototype.copy.call( this, source, recursive ); + if (attachmentProperties.__webglTexture) { + _gl.deleteTexture(attachmentProperties.__webglTexture); - this.left = source.left; - this.right = source.right; - this.top = source.top; - this.bottom = source.bottom; - this.near = source.near; - this.far = source.far; + info.memory.textures--; + } - this.zoom = source.zoom; - this.view = source.view === null ? null : Object.assign( {}, source.view ); + properties.remove(texture[i]); + } + } - return this; + properties.remove(texture); + properties.remove(renderTarget); + } // - }, - setViewOffset: function ( fullWidth, fullHeight, x, y, width, height ) { + let textureUnits = 0; - if ( this.view === null ) { + function resetTextureUnits() { + textureUnits = 0; + } - this.view = { - enabled: true, - fullWidth: 1, - fullHeight: 1, - offsetX: 0, - offsetY: 0, - width: 1, - height: 1 - }; + function allocateTextureUnit() { + const textureUnit = textureUnits; + if (textureUnit >= maxTextures) { + console.warn('THREE.WebGLTextures: Trying to use ' + textureUnit + ' texture units while this GPU supports only ' + maxTextures); } - this.view.enabled = true; - this.view.fullWidth = fullWidth; - this.view.fullHeight = fullHeight; - this.view.offsetX = x; - this.view.offsetY = y; - this.view.width = width; - this.view.height = height; - - this.updateProjectionMatrix(); - - }, + textureUnits += 1; + return textureUnit; + } // - clearViewOffset: function () { - if ( this.view !== null ) { + function setTexture2D(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.isVideoTexture) updateVideoTexture(texture); - this.view.enabled = false; + if (texture.version > 0 && textureProperties.__version !== texture.version) { + const image = texture.image; + if (image === undefined) { + console.warn('THREE.WebGLRenderer: Texture marked for update but image is undefined'); + } else if (image.complete === false) { + console.warn('THREE.WebGLRenderer: Texture marked for update but image is incomplete'); + } else { + uploadTexture(textureProperties, texture, slot); + return; + } } - this.updateProjectionMatrix(); + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(_gl.TEXTURE_2D, textureProperties.__webglTexture); + } - }, + function setTexture2DArray(texture, slot) { + const textureProperties = properties.get(texture); - updateProjectionMatrix: function () { + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } - var dx = ( this.right - this.left ) / ( 2 * this.zoom ); - var dy = ( this.top - this.bottom ) / ( 2 * this.zoom ); - var cx = ( this.right + this.left ) / 2; - var cy = ( this.top + this.bottom ) / 2; + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(_gl.TEXTURE_2D_ARRAY, textureProperties.__webglTexture); + } - var left = cx - dx; - var right = cx + dx; - var top = cy + dy; - var bottom = cy - dy; + function setTexture3D(texture, slot) { + const textureProperties = properties.get(texture); - if ( this.view !== null && this.view.enabled ) { + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadTexture(textureProperties, texture, slot); + return; + } - var zoomW = this.zoom / ( this.view.width / this.view.fullWidth ); - var zoomH = this.zoom / ( this.view.height / this.view.fullHeight ); - var scaleW = ( this.right - this.left ) / this.view.width; - var scaleH = ( this.top - this.bottom ) / this.view.height; + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(_gl.TEXTURE_3D, textureProperties.__webglTexture); + } - left += scaleW * ( this.view.offsetX / zoomW ); - right = left + scaleW * ( this.view.width / zoomW ); - top -= scaleH * ( this.view.offsetY / zoomH ); - bottom = top - scaleH * ( this.view.height / zoomH ); + function setTextureCube(texture, slot) { + const textureProperties = properties.get(texture); + if (texture.version > 0 && textureProperties.__version !== texture.version) { + uploadCubeTexture(textureProperties, texture, slot); + return; } - this.projectionMatrix.makeOrthographic( left, right, top, bottom, this.near, this.far ); - - this.projectionMatrixInverse.getInverse( this.projectionMatrix ); - - }, + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture); + } - toJSON: function ( meta ) { + const wrappingToGL = { + [RepeatWrapping]: _gl.REPEAT, + [ClampToEdgeWrapping]: _gl.CLAMP_TO_EDGE, + [MirroredRepeatWrapping]: _gl.MIRRORED_REPEAT + }; + const filterToGL = { + [NearestFilter]: _gl.NEAREST, + [NearestMipmapNearestFilter]: _gl.NEAREST_MIPMAP_NEAREST, + [NearestMipmapLinearFilter]: _gl.NEAREST_MIPMAP_LINEAR, + [LinearFilter]: _gl.LINEAR, + [LinearMipmapNearestFilter]: _gl.LINEAR_MIPMAP_NEAREST, + [LinearMipmapLinearFilter]: _gl.LINEAR_MIPMAP_LINEAR + }; - var data = Object3D.prototype.toJSON.call( this, meta ); + function setTextureParameters(textureType, texture, supportsMips) { + if (supportsMips) { + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_S, wrappingToGL[texture.wrapS]); - data.object.zoom = this.zoom; - data.object.left = this.left; - data.object.right = this.right; - data.object.top = this.top; - data.object.bottom = this.bottom; - data.object.near = this.near; - data.object.far = this.far; + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_T, wrappingToGL[texture.wrapT]); - if ( this.view !== null ) data.object.view = Object.assign( {}, this.view ); + if (textureType === _gl.TEXTURE_3D || textureType === _gl.TEXTURE_2D_ARRAY) { + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_R, wrappingToGL[texture.wrapR]); + } - return data; + _gl.texParameteri(textureType, _gl.TEXTURE_MAG_FILTER, filterToGL[texture.magFilter]); - } + _gl.texParameteri(textureType, _gl.TEXTURE_MIN_FILTER, filterToGL[texture.minFilter]); + } else { + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_S, _gl.CLAMP_TO_EDGE); - } ); + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_T, _gl.CLAMP_TO_EDGE); - /** - * @author mrdoob / http://mrdoob.com/ - */ + if (textureType === _gl.TEXTURE_3D || textureType === _gl.TEXTURE_2D_ARRAY) { + _gl.texParameteri(textureType, _gl.TEXTURE_WRAP_R, _gl.CLAMP_TO_EDGE); + } - function DirectionalLightShadow( ) { + if (texture.wrapS !== ClampToEdgeWrapping || texture.wrapT !== ClampToEdgeWrapping) { + console.warn('THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.'); + } - LightShadow.call( this, new OrthographicCamera( - 5, 5, 5, - 5, 0.5, 500 ) ); + _gl.texParameteri(textureType, _gl.TEXTURE_MAG_FILTER, filterFallback(texture.magFilter)); - } + _gl.texParameteri(textureType, _gl.TEXTURE_MIN_FILTER, filterFallback(texture.minFilter)); - DirectionalLightShadow.prototype = Object.assign( Object.create( LightShadow.prototype ), { + if (texture.minFilter !== NearestFilter && texture.minFilter !== LinearFilter) { + console.warn('THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.'); + } + } - constructor: DirectionalLightShadow + if (extensions.has('EXT_texture_filter_anisotropic') === true) { + const extension = extensions.get('EXT_texture_filter_anisotropic'); + if (texture.type === FloatType && extensions.has('OES_texture_float_linear') === false) return; // verify extension for WebGL 1 and WebGL 2 - } ); + if (isWebGL2 === false && texture.type === HalfFloatType && extensions.has('OES_texture_half_float_linear') === false) return; // verify extension for WebGL 1 only - /** - * @author mrdoob / http://mrdoob.com/ - * @author alteredq / http://alteredqualia.com/ - */ + if (texture.anisotropy > 1 || properties.get(texture).__currentAnisotropy) { + _gl.texParameterf(textureType, extension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(texture.anisotropy, capabilities.getMaxAnisotropy())); - function DirectionalLight( color, intensity ) { + properties.get(texture).__currentAnisotropy = texture.anisotropy; + } + } + } - Light.call( this, color, intensity ); + function initTexture(textureProperties, texture) { + if (textureProperties.__webglInit === undefined) { + textureProperties.__webglInit = true; + texture.addEventListener('dispose', onTextureDispose); + textureProperties.__webglTexture = _gl.createTexture(); + info.memory.textures++; + } + } - this.type = 'DirectionalLight'; + function uploadTexture(textureProperties, texture, slot) { + let textureType = _gl.TEXTURE_2D; + if (texture.isDataTexture2DArray) textureType = _gl.TEXTURE_2D_ARRAY; + if (texture.isDataTexture3D) textureType = _gl.TEXTURE_3D; + initTexture(textureProperties, texture); + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(textureType, textureProperties.__webglTexture); - this.position.copy( Object3D.DefaultUp ); - this.updateMatrix(); + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY); - this.target = new Object3D(); + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha); - this.shadow = new DirectionalLightShadow(); + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment); - } + _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, _gl.NONE); - DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), { + const needsPowerOfTwo = textureNeedsPowerOfTwo(texture) && isPowerOfTwo$1(texture.image) === false; + const image = resizeImage(texture.image, needsPowerOfTwo, false, maxTextureSize); + const supportsMips = isPowerOfTwo$1(image) || isWebGL2, + glFormat = utils.convert(texture.format); + let glType = utils.convert(texture.type), + glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType); + setTextureParameters(textureType, texture, supportsMips); + let mipmap; + const mipmaps = texture.mipmaps; - constructor: DirectionalLight, + if (texture.isDepthTexture) { + // populate depth texture with dummy data + glInternalFormat = _gl.DEPTH_COMPONENT; + + if (isWebGL2) { + if (texture.type === FloatType) { + glInternalFormat = _gl.DEPTH_COMPONENT32F; + } else if (texture.type === UnsignedIntType) { + glInternalFormat = _gl.DEPTH_COMPONENT24; + } else if (texture.type === UnsignedInt248Type) { + glInternalFormat = _gl.DEPTH24_STENCIL8; + } else { + glInternalFormat = _gl.DEPTH_COMPONENT16; // WebGL2 requires sized internalformat for glTexImage2D + } + } else { + if (texture.type === FloatType) { + console.error('WebGLRenderer: Floating point depth texture requires WebGL2.'); + } + } // validation checks for WebGL 1 - isDirectionalLight: true, - copy: function ( source ) { + if (texture.format === DepthFormat && glInternalFormat === _gl.DEPTH_COMPONENT) { + // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_COMPONENT and type is not UNSIGNED_SHORT or UNSIGNED_INT + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + if (texture.type !== UnsignedShortType && texture.type !== UnsignedIntType) { + console.warn('THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.'); + texture.type = UnsignedShortType; + glType = utils.convert(texture.type); + } + } - Light.prototype.copy.call( this, source ); + if (texture.format === DepthStencilFormat && glInternalFormat === _gl.DEPTH_COMPONENT) { + // Depth stencil textures need the DEPTH_STENCIL internal format + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + glInternalFormat = _gl.DEPTH_STENCIL; // The error INVALID_OPERATION is generated by texImage2D if format and internalformat are + // DEPTH_STENCIL and type is not UNSIGNED_INT_24_8_WEBGL. + // (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) - this.target = source.target.clone(); + if (texture.type !== UnsignedInt248Type) { + console.warn('THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.'); + texture.type = UnsignedInt248Type; + glType = utils.convert(texture.type); + } + } // - this.shadow = source.shadow.clone(); - return this; + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, null); + } else if (texture.isDataTexture) { + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + if (mipmaps.length > 0 && supportsMips) { + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } - } + texture.generateMipmaps = false; + textureProperties.__maxMipLevel = mipmaps.length - 1; + } else { + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, image.width, image.height, 0, glFormat, glType, image.data); + textureProperties.__maxMipLevel = 0; + } + } else if (texture.isCompressedTexture) { + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; - } ); + if (texture.format !== RGBAFormat && texture.format !== RGBFormat) { + if (glFormat !== null) { + state.compressedTexImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } else { + console.warn('THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()'); + } + } else { + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + textureProperties.__maxMipLevel = mipmaps.length - 1; + } else if (texture.isDataTexture2DArray) { + state.texImage3D(_gl.TEXTURE_2D_ARRAY, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + textureProperties.__maxMipLevel = 0; + } else if (texture.isDataTexture3D) { + state.texImage3D(_gl.TEXTURE_3D, 0, glInternalFormat, image.width, image.height, image.depth, 0, glFormat, glType, image.data); + textureProperties.__maxMipLevel = 0; + } else { + // regular Texture (image, video, canvas) + // use manually created mipmaps if available + // if there are no manual mipmaps + // set 0 level mipmap and then use GL to generate other mipmap levels + if (mipmaps.length > 0 && supportsMips) { + for (let i = 0, il = mipmaps.length; i < il; i++) { + mipmap = mipmaps[i]; + state.texImage2D(_gl.TEXTURE_2D, i, glInternalFormat, glFormat, glType, mipmap); + } - function AmbientLight( color, intensity ) { + texture.generateMipmaps = false; + textureProperties.__maxMipLevel = mipmaps.length - 1; + } else { + state.texImage2D(_gl.TEXTURE_2D, 0, glInternalFormat, glFormat, glType, image); + textureProperties.__maxMipLevel = 0; + } + } - Light.call( this, color, intensity ); + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(textureType, texture, image.width, image.height); + } - this.type = 'AmbientLight'; + textureProperties.__version = texture.version; + if (texture.onUpdate) texture.onUpdate(texture); + } - this.castShadow = undefined; + function uploadCubeTexture(textureProperties, texture, slot) { + if (texture.image.length !== 6) return; + initTexture(textureProperties, texture); + state.activeTexture(_gl.TEXTURE0 + slot); + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture); - } + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, texture.flipY); - AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), { + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, texture.premultiplyAlpha); - constructor: AmbientLight, + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, texture.unpackAlignment); - isAmbientLight: true + _gl.pixelStorei(_gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, _gl.NONE); - } ); + const isCompressed = texture && (texture.isCompressedTexture || texture.image[0].isCompressedTexture); + const isDataTexture = texture.image[0] && texture.image[0].isDataTexture; + const cubeImage = []; - /** - * @author abelnation / http://github.com/abelnation - */ + for (let i = 0; i < 6; i++) { + if (!isCompressed && !isDataTexture) { + cubeImage[i] = resizeImage(texture.image[i], false, true, maxCubemapSize); + } else { + cubeImage[i] = isDataTexture ? texture.image[i].image : texture.image[i]; + } + } - function RectAreaLight( color, intensity, width, height ) { + const image = cubeImage[0], + supportsMips = isPowerOfTwo$1(image) || isWebGL2, + glFormat = utils.convert(texture.format), + glType = utils.convert(texture.type), + glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType); + setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture, supportsMips); + let mipmaps; - Light.call( this, color, intensity ); + if (isCompressed) { + for (let i = 0; i < 6; i++) { + mipmaps = cubeImage[i].mipmaps; - this.type = 'RectAreaLight'; + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; - this.width = ( width !== undefined ) ? width : 10; - this.height = ( height !== undefined ) ? height : 10; + if (texture.format !== RGBAFormat && texture.format !== RGBFormat) { + if (glFormat !== null) { + state.compressedTexImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, mipmap.data); + } else { + console.warn('THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()'); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j, glInternalFormat, mipmap.width, mipmap.height, 0, glFormat, glType, mipmap.data); + } + } + } - } + textureProperties.__maxMipLevel = mipmaps.length - 1; + } else { + mipmaps = texture.mipmaps; - RectAreaLight.prototype = Object.assign( Object.create( Light.prototype ), { + for (let i = 0; i < 6; i++) { + if (isDataTexture) { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, cubeImage[i].width, cubeImage[i].height, 0, glFormat, glType, cubeImage[i].data); - constructor: RectAreaLight, + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + const mipmapImage = mipmap.image[i].image; + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, mipmapImage.width, mipmapImage.height, 0, glFormat, glType, mipmapImage.data); + } + } else { + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, glInternalFormat, glFormat, glType, cubeImage[i]); - isRectAreaLight: true, + for (let j = 0; j < mipmaps.length; j++) { + const mipmap = mipmaps[j]; + state.texImage2D(_gl.TEXTURE_CUBE_MAP_POSITIVE_X + i, j + 1, glInternalFormat, glFormat, glType, mipmap.image[i]); + } + } + } - copy: function ( source ) { + textureProperties.__maxMipLevel = mipmaps.length; + } - Light.prototype.copy.call( this, source ); + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + // We assume images for cube map have the same size. + generateMipmap(_gl.TEXTURE_CUBE_MAP, texture, image.width, image.height); + } - this.width = source.width; - this.height = source.height; + textureProperties.__version = texture.version; + if (texture.onUpdate) texture.onUpdate(texture); + } // Render targets + // Setup storage for target texture and bind it to correct framebuffer - return this; - }, + function setupFrameBufferTexture(framebuffer, renderTarget, texture, attachment, textureTarget) { + const glFormat = utils.convert(texture.format); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType); - toJSON: function ( meta ) { + if (textureTarget === _gl.TEXTURE_3D || textureTarget === _gl.TEXTURE_2D_ARRAY) { + state.texImage3D(textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, renderTarget.depth, 0, glFormat, glType, null); + } else { + state.texImage2D(textureTarget, 0, glInternalFormat, renderTarget.width, renderTarget.height, 0, glFormat, glType, null); + } - var data = Light.prototype.toJSON.call( this, meta ); + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); - data.object.width = this.width; - data.object.height = this.height; + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, attachment, textureTarget, properties.get(texture).__webglTexture, 0); - return data; + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } // Setup storage for internal depth/stencil buffers and bind to correct framebuffer - } - } ); + function setupRenderBufferStorage(renderbuffer, renderTarget, isMultisample) { + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderbuffer); - /** - * @author mrdoob / http://mrdoob.com/ - */ + if (renderTarget.depthBuffer && !renderTarget.stencilBuffer) { + let glInternalFormat = _gl.DEPTH_COMPONENT16; - function MaterialLoader( manager ) { + if (isMultisample) { + const depthTexture = renderTarget.depthTexture; - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; - this.textures = {}; + if (depthTexture && depthTexture.isDepthTexture) { + if (depthTexture.type === FloatType) { + glInternalFormat = _gl.DEPTH_COMPONENT32F; + } else if (depthTexture.type === UnsignedIntType) { + glInternalFormat = _gl.DEPTH_COMPONENT24; + } + } - } + const samples = getRenderTargetSamples(renderTarget); - Object.assign( MaterialLoader.prototype, { + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height); + } - load: function ( url, onLoad, onProgress, onError ) { + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer); + } else if (renderTarget.depthBuffer && renderTarget.stencilBuffer) { + if (isMultisample) { + const samples = getRenderTargetSamples(renderTarget); - var scope = this; + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, _gl.DEPTH24_STENCIL8, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(_gl.RENDERBUFFER, _gl.DEPTH_STENCIL, renderTarget.width, renderTarget.height); + } - var loader = new FileLoader( scope.manager ); - loader.setPath( scope.path ); - loader.load( url, function ( text ) { + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.RENDERBUFFER, renderbuffer); + } else { + // Use the first texture for MRT so far + const texture = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture[0] : renderTarget.texture; + const glFormat = utils.convert(texture.format); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType); - onLoad( scope.parse( JSON.parse( text ) ) ); + if (isMultisample) { + const samples = getRenderTargetSamples(renderTarget); - }, onProgress, onError ); + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); + } else { + _gl.renderbufferStorage(_gl.RENDERBUFFER, glInternalFormat, renderTarget.width, renderTarget.height); + } + } - }, + _gl.bindRenderbuffer(_gl.RENDERBUFFER, null); + } // Setup resources for a Depth Texture for a FBO (needs an extension) - parse: function ( json ) { - var textures = this.textures; + function setupDepthTexture(framebuffer, renderTarget) { + const isCube = renderTarget && renderTarget.isWebGLCubeRenderTarget; + if (isCube) throw new Error('Depth Texture with cube render targets is not supported'); + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); - function getTexture( name ) { + if (!(renderTarget.depthTexture && renderTarget.depthTexture.isDepthTexture)) { + throw new Error('renderTarget.depthTexture must be an instance of THREE.DepthTexture'); + } // upload an empty depth texture with framebuffer size - if ( textures[ name ] === undefined ) { - console.warn( 'THREE.MaterialLoader: Undefined texture', name ); + if (!properties.get(renderTarget.depthTexture).__webglTexture || renderTarget.depthTexture.image.width !== renderTarget.width || renderTarget.depthTexture.image.height !== renderTarget.height) { + renderTarget.depthTexture.image.width = renderTarget.width; + renderTarget.depthTexture.image.height = renderTarget.height; + renderTarget.depthTexture.needsUpdate = true; + } - } + setTexture2D(renderTarget.depthTexture, 0); - return textures[ name ]; + const webglDepthTexture = properties.get(renderTarget.depthTexture).__webglTexture; + if (renderTarget.depthTexture.format === DepthFormat) { + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0); + } else if (renderTarget.depthTexture.format === DepthStencilFormat) { + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.DEPTH_STENCIL_ATTACHMENT, _gl.TEXTURE_2D, webglDepthTexture, 0); + } else { + throw new Error('Unknown depthTexture format'); } + } // Setup GL resources for a non-texture depth buffer - var material = new Materials[ json.type ](); - if ( json.uuid !== undefined ) material.uuid = json.uuid; - if ( json.name !== undefined ) material.name = json.name; - if ( json.color !== undefined ) material.color.setHex( json.color ); - if ( json.roughness !== undefined ) material.roughness = json.roughness; - if ( json.metalness !== undefined ) material.metalness = json.metalness; - if ( json.emissive !== undefined ) material.emissive.setHex( json.emissive ); - if ( json.specular !== undefined ) material.specular.setHex( json.specular ); - if ( json.shininess !== undefined ) material.shininess = json.shininess; - if ( json.clearCoat !== undefined ) material.clearCoat = json.clearCoat; - if ( json.clearCoatRoughness !== undefined ) material.clearCoatRoughness = json.clearCoatRoughness; - if ( json.vertexColors !== undefined ) material.vertexColors = json.vertexColors; - if ( json.fog !== undefined ) material.fog = json.fog; - if ( json.flatShading !== undefined ) material.flatShading = json.flatShading; - if ( json.blending !== undefined ) material.blending = json.blending; - if ( json.combine !== undefined ) material.combine = json.combine; - if ( json.side !== undefined ) material.side = json.side; - if ( json.opacity !== undefined ) material.opacity = json.opacity; - if ( json.transparent !== undefined ) material.transparent = json.transparent; - if ( json.alphaTest !== undefined ) material.alphaTest = json.alphaTest; - if ( json.depthTest !== undefined ) material.depthTest = json.depthTest; - if ( json.depthWrite !== undefined ) material.depthWrite = json.depthWrite; - if ( json.colorWrite !== undefined ) material.colorWrite = json.colorWrite; - if ( json.wireframe !== undefined ) material.wireframe = json.wireframe; - if ( json.wireframeLinewidth !== undefined ) material.wireframeLinewidth = json.wireframeLinewidth; - if ( json.wireframeLinecap !== undefined ) material.wireframeLinecap = json.wireframeLinecap; - if ( json.wireframeLinejoin !== undefined ) material.wireframeLinejoin = json.wireframeLinejoin; + function setupDepthRenderbuffer(renderTarget) { + const renderTargetProperties = properties.get(renderTarget); + const isCube = renderTarget.isWebGLCubeRenderTarget === true; - if ( json.rotation !== undefined ) material.rotation = json.rotation; - - if ( json.linewidth !== 1 ) material.linewidth = json.linewidth; - if ( json.dashSize !== undefined ) material.dashSize = json.dashSize; - if ( json.gapSize !== undefined ) material.gapSize = json.gapSize; - if ( json.scale !== undefined ) material.scale = json.scale; + if (renderTarget.depthTexture) { + if (isCube) throw new Error('target.depthTexture not supported in Cube render targets'); + setupDepthTexture(renderTargetProperties.__webglFramebuffer, renderTarget); + } else { + if (isCube) { + renderTargetProperties.__webglDepthbuffer = []; - if ( json.polygonOffset !== undefined ) material.polygonOffset = json.polygonOffset; - if ( json.polygonOffsetFactor !== undefined ) material.polygonOffsetFactor = json.polygonOffsetFactor; - if ( json.polygonOffsetUnits !== undefined ) material.polygonOffsetUnits = json.polygonOffsetUnits; + for (let i = 0; i < 6; i++) { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer[i]); + renderTargetProperties.__webglDepthbuffer[i] = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer[i], renderTarget, false); + } + } else { + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); + renderTargetProperties.__webglDepthbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthbuffer, renderTarget, false); + } + } - if ( json.skinning !== undefined ) material.skinning = json.skinning; - if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets; - if ( json.dithering !== undefined ) material.dithering = json.dithering; + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } // Set up GL resources for the render target - if ( json.visible !== undefined ) material.visible = json.visible; - if ( json.userData !== undefined ) material.userData = json.userData; - // Shader Material + function setupRenderTarget(renderTarget) { + const texture = renderTarget.texture; + const renderTargetProperties = properties.get(renderTarget); + const textureProperties = properties.get(texture); + renderTarget.addEventListener('dispose', onRenderTargetDispose); - if ( json.uniforms !== undefined ) { + if (renderTarget.isWebGLMultipleRenderTargets !== true) { + textureProperties.__webglTexture = _gl.createTexture(); + textureProperties.__version = texture.version; + info.memory.textures++; + } - for ( var name in json.uniforms ) { + const isCube = renderTarget.isWebGLCubeRenderTarget === true; + const isMultipleRenderTargets = renderTarget.isWebGLMultipleRenderTargets === true; + const isMultisample = renderTarget.isWebGLMultisampleRenderTarget === true; + const isRenderTarget3D = texture.isDataTexture3D || texture.isDataTexture2DArray; + const supportsMips = isPowerOfTwo$1(renderTarget) || isWebGL2; // Handles WebGL2 RGBFormat fallback - #18858 - var uniform = json.uniforms[ name ]; + if (isWebGL2 && texture.format === RGBFormat && (texture.type === FloatType || texture.type === HalfFloatType)) { + texture.format = RGBAFormat; + console.warn('THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.'); + } // Setup framebuffer - material.uniforms[ name ] = {}; - switch ( uniform.type ) { + if (isCube) { + renderTargetProperties.__webglFramebuffer = []; - case 't': - material.uniforms[ name ].value = getTexture( uniform.value ); - break; + for (let i = 0; i < 6; i++) { + renderTargetProperties.__webglFramebuffer[i] = _gl.createFramebuffer(); + } + } else { + renderTargetProperties.__webglFramebuffer = _gl.createFramebuffer(); - case 'c': - material.uniforms[ name ].value = new Color().setHex( uniform.value ); - break; + if (isMultipleRenderTargets) { + if (capabilities.drawBuffers) { + const textures = renderTarget.texture; - case 'v2': - material.uniforms[ name ].value = new Vector2().fromArray( uniform.value ); - break; + for (let i = 0, il = textures.length; i < il; i++) { + const attachmentProperties = properties.get(textures[i]); - case 'v3': - material.uniforms[ name ].value = new Vector3().fromArray( uniform.value ); - break; + if (attachmentProperties.__webglTexture === undefined) { + attachmentProperties.__webglTexture = _gl.createTexture(); + info.memory.textures++; + } + } + } else { + console.warn('THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.'); + } + } else if (isMultisample) { + if (isWebGL2) { + renderTargetProperties.__webglMultisampledFramebuffer = _gl.createFramebuffer(); + renderTargetProperties.__webglColorRenderbuffer = _gl.createRenderbuffer(); - case 'v4': - material.uniforms[ name ].value = new Vector4().fromArray( uniform.value ); - break; + _gl.bindRenderbuffer(_gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer); - case 'm3': - material.uniforms[ name ].value = new Matrix3().fromArray( uniform.value ); + const glFormat = utils.convert(texture.format); + const glType = utils.convert(texture.type); + const glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType); + const samples = getRenderTargetSamples(renderTarget); - case 'm4': - material.uniforms[ name ].value = new Matrix4().fromArray( uniform.value ); - break; + _gl.renderbufferStorageMultisample(_gl.RENDERBUFFER, samples, glInternalFormat, renderTarget.width, renderTarget.height); - default: - material.uniforms[ name ].value = uniform.value; + state.bindFramebuffer(_gl.FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); - } + _gl.framebufferRenderbuffer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.RENDERBUFFER, renderTargetProperties.__webglColorRenderbuffer); - } + _gl.bindRenderbuffer(_gl.RENDERBUFFER, null); - } + if (renderTarget.depthBuffer) { + renderTargetProperties.__webglDepthRenderbuffer = _gl.createRenderbuffer(); + setupRenderBufferStorage(renderTargetProperties.__webglDepthRenderbuffer, renderTarget, true); + } - if ( json.defines !== undefined ) material.defines = json.defines; - if ( json.vertexShader !== undefined ) material.vertexShader = json.vertexShader; - if ( json.fragmentShader !== undefined ) material.fragmentShader = json.fragmentShader; + state.bindFramebuffer(_gl.FRAMEBUFFER, null); + } else { + console.warn('THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.'); + } + } + } // Setup color buffer - if ( json.extensions !== undefined ) { - for ( var key in json.extensions ) { + if (isCube) { + state.bindTexture(_gl.TEXTURE_CUBE_MAP, textureProperties.__webglTexture); + setTextureParameters(_gl.TEXTURE_CUBE_MAP, texture, supportsMips); - material.extensions[ key ] = json.extensions[ key ]; + for (let i = 0; i < 6; i++) { + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer[i], renderTarget, texture, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + i); + } + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(_gl.TEXTURE_CUBE_MAP, texture, renderTarget.width, renderTarget.height); } - } + state.unbindTexture(); + } else if (isMultipleRenderTargets) { + const textures = renderTarget.texture; - // Deprecated + for (let i = 0, il = textures.length; i < il; i++) { + const attachment = textures[i]; + const attachmentProperties = properties.get(attachment); + state.bindTexture(_gl.TEXTURE_2D, attachmentProperties.__webglTexture); + setTextureParameters(_gl.TEXTURE_2D, attachment, supportsMips); + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, attachment, _gl.COLOR_ATTACHMENT0 + i, _gl.TEXTURE_2D); - if ( json.shading !== undefined ) material.flatShading = json.shading === 1; // THREE.FlatShading + if (textureNeedsGenerateMipmaps(attachment, supportsMips)) { + generateMipmap(_gl.TEXTURE_2D, attachment, renderTarget.width, renderTarget.height); + } + } - // for PointsMaterial + state.unbindTexture(); + } else { + let glTextureType = _gl.TEXTURE_2D; - if ( json.size !== undefined ) material.size = json.size; - if ( json.sizeAttenuation !== undefined ) material.sizeAttenuation = json.sizeAttenuation; + if (isRenderTarget3D) { + // Render targets containing layers, i.e: Texture 3D and 2d arrays + if (isWebGL2) { + const isTexture3D = texture.isDataTexture3D; + glTextureType = isTexture3D ? _gl.TEXTURE_3D : _gl.TEXTURE_2D_ARRAY; + } else { + console.warn('THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.'); + } + } - // maps + state.bindTexture(glTextureType, textureProperties.__webglTexture); + setTextureParameters(glTextureType, texture, supportsMips); + setupFrameBufferTexture(renderTargetProperties.__webglFramebuffer, renderTarget, texture, _gl.COLOR_ATTACHMENT0, glTextureType); - if ( json.map !== undefined ) material.map = getTexture( json.map ); + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + generateMipmap(glTextureType, texture, renderTarget.width, renderTarget.height, renderTarget.depth); + } - if ( json.alphaMap !== undefined ) { + state.unbindTexture(); + } // Setup depth and stencil buffers - material.alphaMap = getTexture( json.alphaMap ); - material.transparent = true; + if (renderTarget.depthBuffer) { + setupDepthRenderbuffer(renderTarget); } + } - if ( json.bumpMap !== undefined ) material.bumpMap = getTexture( json.bumpMap ); - if ( json.bumpScale !== undefined ) material.bumpScale = json.bumpScale; - - if ( json.normalMap !== undefined ) material.normalMap = getTexture( json.normalMap ); - if ( json.normalMapType !== undefined ) material.normalMapType = json.normalMapType; - if ( json.normalScale !== undefined ) { - - var normalScale = json.normalScale; + function updateRenderTargetMipmap(renderTarget) { + const supportsMips = isPowerOfTwo$1(renderTarget) || isWebGL2; + const textures = renderTarget.isWebGLMultipleRenderTargets === true ? renderTarget.texture : [renderTarget.texture]; - if ( Array.isArray( normalScale ) === false ) { + for (let i = 0, il = textures.length; i < il; i++) { + const texture = textures[i]; - // Blender exporter used to export a scalar. See #7459 + if (textureNeedsGenerateMipmaps(texture, supportsMips)) { + const target = renderTarget.isWebGLCubeRenderTarget ? _gl.TEXTURE_CUBE_MAP : _gl.TEXTURE_2D; - normalScale = [ normalScale, normalScale ]; + const webglTexture = properties.get(texture).__webglTexture; + state.bindTexture(target, webglTexture); + generateMipmap(target, texture, renderTarget.width, renderTarget.height); + state.unbindTexture(); } - - material.normalScale = new Vector2().fromArray( normalScale ); - } + } - if ( json.displacementMap !== undefined ) material.displacementMap = getTexture( json.displacementMap ); - if ( json.displacementScale !== undefined ) material.displacementScale = json.displacementScale; - if ( json.displacementBias !== undefined ) material.displacementBias = json.displacementBias; + function updateMultisampleRenderTarget(renderTarget) { + if (renderTarget.isWebGLMultisampleRenderTarget) { + if (isWebGL2) { + const width = renderTarget.width; + const height = renderTarget.height; + let mask = _gl.COLOR_BUFFER_BIT; + if (renderTarget.depthBuffer) mask |= _gl.DEPTH_BUFFER_BIT; + if (renderTarget.stencilBuffer) mask |= _gl.STENCIL_BUFFER_BIT; + const renderTargetProperties = properties.get(renderTarget); + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglFramebuffer); - if ( json.roughnessMap !== undefined ) material.roughnessMap = getTexture( json.roughnessMap ); - if ( json.metalnessMap !== undefined ) material.metalnessMap = getTexture( json.metalnessMap ); + _gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, mask, _gl.NEAREST); - if ( json.emissiveMap !== undefined ) material.emissiveMap = getTexture( json.emissiveMap ); - if ( json.emissiveIntensity !== undefined ) material.emissiveIntensity = json.emissiveIntensity; + state.bindFramebuffer(_gl.READ_FRAMEBUFFER, null); + state.bindFramebuffer(_gl.DRAW_FRAMEBUFFER, renderTargetProperties.__webglMultisampledFramebuffer); + } else { + console.warn('THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.'); + } + } + } - if ( json.specularMap !== undefined ) material.specularMap = getTexture( json.specularMap ); + function getRenderTargetSamples(renderTarget) { + return isWebGL2 && renderTarget.isWebGLMultisampleRenderTarget ? Math.min(maxSamples, renderTarget.samples) : 0; + } - if ( json.envMap !== undefined ) material.envMap = getTexture( json.envMap ); - if ( json.envMapIntensity !== undefined ) material.envMapIntensity = json.envMapIntensity; + function updateVideoTexture(texture) { + const frame = info.render.frame; // Check the last frame we updated the VideoTexture - if ( json.reflectivity !== undefined ) material.reflectivity = json.reflectivity; + if (_videoTextures.get(texture) !== frame) { + _videoTextures.set(texture, frame); - if ( json.lightMap !== undefined ) material.lightMap = getTexture( json.lightMap ); - if ( json.lightMapIntensity !== undefined ) material.lightMapIntensity = json.lightMapIntensity; + texture.update(); + } + } // backwards compatibility - if ( json.aoMap !== undefined ) material.aoMap = getTexture( json.aoMap ); - if ( json.aoMapIntensity !== undefined ) material.aoMapIntensity = json.aoMapIntensity; - if ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap ); + let warnedTexture2D = false; + let warnedTextureCube = false; - return material; + function safeSetTexture2D(texture, slot) { + if (texture && texture.isWebGLRenderTarget) { + if (warnedTexture2D === false) { + console.warn('THREE.WebGLTextures.safeSetTexture2D: don\'t use render targets as textures. Use their .texture property instead.'); + warnedTexture2D = true; + } - }, + texture = texture.texture; + } - setPath: function ( value ) { + setTexture2D(texture, slot); + } - this.path = value; - return this; + function safeSetTextureCube(texture, slot) { + if (texture && texture.isWebGLCubeRenderTarget) { + if (warnedTextureCube === false) { + console.warn('THREE.WebGLTextures.safeSetTextureCube: don\'t use cube render targets as textures. Use their .texture property instead.'); + warnedTextureCube = true; + } - }, + texture = texture.texture; + } - setTextures: function ( value ) { + setTextureCube(texture, slot); + } // - this.textures = value; - return this; - } + this.allocateTextureUnit = allocateTextureUnit; + this.resetTextureUnits = resetTextureUnits; + this.setTexture2D = setTexture2D; + this.setTexture2DArray = setTexture2DArray; + this.setTexture3D = setTexture3D; + this.setTextureCube = setTextureCube; + this.setupRenderTarget = setupRenderTarget; + this.updateRenderTargetMipmap = updateRenderTargetMipmap; + this.updateMultisampleRenderTarget = updateMultisampleRenderTarget; + this.safeSetTexture2D = safeSetTexture2D; + this.safeSetTextureCube = safeSetTextureCube; + } - } ); + function WebGLUtils(gl, extensions, capabilities) { + const isWebGL2 = capabilities.isWebGL2; + + function convert(p) { + let extension; + if (p === UnsignedByteType) return gl.UNSIGNED_BYTE; + if (p === UnsignedShort4444Type) return gl.UNSIGNED_SHORT_4_4_4_4; + if (p === UnsignedShort5551Type) return gl.UNSIGNED_SHORT_5_5_5_1; + if (p === UnsignedShort565Type) return gl.UNSIGNED_SHORT_5_6_5; + if (p === ByteType) return gl.BYTE; + if (p === ShortType) return gl.SHORT; + if (p === UnsignedShortType) return gl.UNSIGNED_SHORT; + if (p === IntType) return gl.INT; + if (p === UnsignedIntType) return gl.UNSIGNED_INT; + if (p === FloatType) return gl.FLOAT; + + if (p === HalfFloatType) { + if (isWebGL2) return gl.HALF_FLOAT; + extension = extensions.get('OES_texture_half_float'); + + if (extension !== null) { + return extension.HALF_FLOAT_OES; + } else { + return null; + } + } - /** - * @author Don McCurdy / https://www.donmccurdy.com - */ + if (p === AlphaFormat) return gl.ALPHA; + if (p === RGBFormat) return gl.RGB; + if (p === RGBAFormat) return gl.RGBA; + if (p === LuminanceFormat) return gl.LUMINANCE; + if (p === LuminanceAlphaFormat) return gl.LUMINANCE_ALPHA; + if (p === DepthFormat) return gl.DEPTH_COMPONENT; + if (p === DepthStencilFormat) return gl.DEPTH_STENCIL; + if (p === RedFormat) return gl.RED; // WebGL2 formats. - var LoaderUtils = { + if (p === RedIntegerFormat) return gl.RED_INTEGER; + if (p === RGFormat) return gl.RG; + if (p === RGIntegerFormat) return gl.RG_INTEGER; + if (p === RGBIntegerFormat) return gl.RGB_INTEGER; + if (p === RGBAIntegerFormat) return gl.RGBA_INTEGER; - decodeText: function ( array ) { + if (p === RGB_S3TC_DXT1_Format || p === RGBA_S3TC_DXT1_Format || p === RGBA_S3TC_DXT3_Format || p === RGBA_S3TC_DXT5_Format) { + extension = extensions.get('WEBGL_compressed_texture_s3tc'); - if ( typeof TextDecoder !== 'undefined' ) { + if (extension !== null) { + if (p === RGB_S3TC_DXT1_Format) return extension.COMPRESSED_RGB_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT1_Format) return extension.COMPRESSED_RGBA_S3TC_DXT1_EXT; + if (p === RGBA_S3TC_DXT3_Format) return extension.COMPRESSED_RGBA_S3TC_DXT3_EXT; + if (p === RGBA_S3TC_DXT5_Format) return extension.COMPRESSED_RGBA_S3TC_DXT5_EXT; + } else { + return null; + } + } - return new TextDecoder().decode( array ); + if (p === RGB_PVRTC_4BPPV1_Format || p === RGB_PVRTC_2BPPV1_Format || p === RGBA_PVRTC_4BPPV1_Format || p === RGBA_PVRTC_2BPPV1_Format) { + extension = extensions.get('WEBGL_compressed_texture_pvrtc'); + if (extension !== null) { + if (p === RGB_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; + if (p === RGB_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGB_PVRTC_2BPPV1_IMG; + if (p === RGBA_PVRTC_4BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; + if (p === RGBA_PVRTC_2BPPV1_Format) return extension.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; + } else { + return null; + } } - // Avoid the String.fromCharCode.apply(null, array) shortcut, which - // throws a "maximum call stack size exceeded" error for large arrays. - - var s = ''; + if (p === RGB_ETC1_Format) { + extension = extensions.get('WEBGL_compressed_texture_etc1'); - for ( var i = 0, il = array.length; i < il; i ++ ) { + if (extension !== null) { + return extension.COMPRESSED_RGB_ETC1_WEBGL; + } else { + return null; + } + } - // Implicitly assumes little-endian. - s += String.fromCharCode( array[ i ] ); + if (p === RGB_ETC2_Format || p === RGBA_ETC2_EAC_Format) { + extension = extensions.get('WEBGL_compressed_texture_etc'); + if (extension !== null) { + if (p === RGB_ETC2_Format) return extension.COMPRESSED_RGB8_ETC2; + if (p === RGBA_ETC2_EAC_Format) return extension.COMPRESSED_RGBA8_ETC2_EAC; + } } - // Merges multi-byte utf-8 characters. - return decodeURIComponent( escape( s ) ); - - }, + if (p === RGBA_ASTC_4x4_Format || p === RGBA_ASTC_5x4_Format || p === RGBA_ASTC_5x5_Format || p === RGBA_ASTC_6x5_Format || p === RGBA_ASTC_6x6_Format || p === RGBA_ASTC_8x5_Format || p === RGBA_ASTC_8x6_Format || p === RGBA_ASTC_8x8_Format || p === RGBA_ASTC_10x5_Format || p === RGBA_ASTC_10x6_Format || p === RGBA_ASTC_10x8_Format || p === RGBA_ASTC_10x10_Format || p === RGBA_ASTC_12x10_Format || p === RGBA_ASTC_12x12_Format || p === SRGB8_ALPHA8_ASTC_4x4_Format || p === SRGB8_ALPHA8_ASTC_5x4_Format || p === SRGB8_ALPHA8_ASTC_5x5_Format || p === SRGB8_ALPHA8_ASTC_6x5_Format || p === SRGB8_ALPHA8_ASTC_6x6_Format || p === SRGB8_ALPHA8_ASTC_8x5_Format || p === SRGB8_ALPHA8_ASTC_8x6_Format || p === SRGB8_ALPHA8_ASTC_8x8_Format || p === SRGB8_ALPHA8_ASTC_10x5_Format || p === SRGB8_ALPHA8_ASTC_10x6_Format || p === SRGB8_ALPHA8_ASTC_10x8_Format || p === SRGB8_ALPHA8_ASTC_10x10_Format || p === SRGB8_ALPHA8_ASTC_12x10_Format || p === SRGB8_ALPHA8_ASTC_12x12_Format) { + extension = extensions.get('WEBGL_compressed_texture_astc'); - extractUrlBase: function ( url ) { + if (extension !== null) { + // TODO Complete? + return p; + } else { + return null; + } + } - var index = url.lastIndexOf( '/' ); + if (p === RGBA_BPTC_Format) { + extension = extensions.get('EXT_texture_compression_bptc'); - if ( index === - 1 ) return './'; + if (extension !== null) { + // TODO Complete? + return p; + } else { + return null; + } + } - return url.substr( 0, index + 1 ); + if (p === UnsignedInt248Type) { + if (isWebGL2) return gl.UNSIGNED_INT_24_8; + extension = extensions.get('WEBGL_depth_texture'); + if (extension !== null) { + return extension.UNSIGNED_INT_24_8_WEBGL; + } else { + return null; + } + } } - }; - - /** - * @author mrdoob / http://mrdoob.com/ - */ - - function BufferGeometryLoader( manager ) { + return { + convert: convert + }; + } - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + class ArrayCamera extends PerspectiveCamera { + constructor(array = []) { + super(); + this.cameras = array; + } } - Object.assign( BufferGeometryLoader.prototype, { + ArrayCamera.prototype.isArrayCamera = true; - load: function ( url, onLoad, onProgress, onError ) { - - var scope = this; + class Group extends Object3D { + constructor() { + super(); + this.type = 'Group'; + } - var loader = new FileLoader( scope.manager ); - loader.setPath( scope.path ); - loader.load( url, function ( text ) { + } - onLoad( scope.parse( JSON.parse( text ) ) ); + Group.prototype.isGroup = true; - }, onProgress, onError ); + const _moveEvent = { + type: 'move' + }; - }, + class WebXRController { + constructor() { + this._targetRay = null; + this._grip = null; + this._hand = null; + } + + getHandSpace() { + if (this._hand === null) { + this._hand = new Group(); + this._hand.matrixAutoUpdate = false; + this._hand.visible = false; + this._hand.joints = {}; + this._hand.inputState = { + pinching: false + }; + } - parse: function ( json ) { + return this._hand; + } - var geometry = new BufferGeometry(); + getTargetRaySpace() { + if (this._targetRay === null) { + this._targetRay = new Group(); + this._targetRay.matrixAutoUpdate = false; + this._targetRay.visible = false; + this._targetRay.hasLinearVelocity = false; + this._targetRay.linearVelocity = new Vector3(); + this._targetRay.hasAngularVelocity = false; + this._targetRay.angularVelocity = new Vector3(); + } - var index = json.data.index; + return this._targetRay; + } - if ( index !== undefined ) { + getGripSpace() { + if (this._grip === null) { + this._grip = new Group(); + this._grip.matrixAutoUpdate = false; + this._grip.visible = false; + this._grip.hasLinearVelocity = false; + this._grip.linearVelocity = new Vector3(); + this._grip.hasAngularVelocity = false; + this._grip.angularVelocity = new Vector3(); + } - var typedArray = new TYPED_ARRAYS[ index.type ]( index.array ); - geometry.setIndex( new BufferAttribute( typedArray, 1 ) ); + return this._grip; + } + dispatchEvent(event) { + if (this._targetRay !== null) { + this._targetRay.dispatchEvent(event); } - var attributes = json.data.attributes; + if (this._grip !== null) { + this._grip.dispatchEvent(event); + } - for ( var key in attributes ) { + if (this._hand !== null) { + this._hand.dispatchEvent(event); + } - var attribute = attributes[ key ]; - var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array ); + return this; + } - var bufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized ); - if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name; - geometry.addAttribute( key, bufferAttribute ); + disconnect(inputSource) { + this.dispatchEvent({ + type: 'disconnected', + data: inputSource + }); + if (this._targetRay !== null) { + this._targetRay.visible = false; } - var morphAttributes = json.data.morphAttributes; + if (this._grip !== null) { + this._grip.visible = false; + } - if ( morphAttributes ) { + if (this._hand !== null) { + this._hand.visible = false; + } - for ( var key in morphAttributes ) { + return this; + } - var attributeArray = morphAttributes[ key ]; + update(inputSource, frame, referenceSpace) { + let inputPose = null; + let gripPose = null; + let handPose = null; + const targetRay = this._targetRay; + const grip = this._grip; + const hand = this._hand; - var array = []; + if (inputSource && frame.session.visibilityState !== 'visible-blurred') { + if (targetRay !== null) { + inputPose = frame.getPose(inputSource.targetRaySpace, referenceSpace); - for ( var i = 0, il = attributeArray.length; i < il; i ++ ) { + if (inputPose !== null) { + targetRay.matrix.fromArray(inputPose.transform.matrix); + targetRay.matrix.decompose(targetRay.position, targetRay.rotation, targetRay.scale); - var attribute = attributeArray[ i ]; - var typedArray = new TYPED_ARRAYS[ attribute.type ]( attribute.array ); + if (inputPose.linearVelocity) { + targetRay.hasLinearVelocity = true; + targetRay.linearVelocity.copy(inputPose.linearVelocity); + } else { + targetRay.hasLinearVelocity = false; + } - var bufferAttribute = new BufferAttribute( typedArray, attribute.itemSize, attribute.normalized ); - if ( attribute.name !== undefined ) bufferAttribute.name = attribute.name; - array.push( bufferAttribute ); + if (inputPose.angularVelocity) { + targetRay.hasAngularVelocity = true; + targetRay.angularVelocity.copy(inputPose.angularVelocity); + } else { + targetRay.hasAngularVelocity = false; + } + this.dispatchEvent(_moveEvent); } + } - geometry.morphAttributes[ key ] = array; + if (hand && inputSource.hand) { + handPose = true; - } + for (const inputjoint of inputSource.hand.values()) { + // Update the joints groups with the XRJoint poses + const jointPose = frame.getJointPose(inputjoint, referenceSpace); - } + if (hand.joints[inputjoint.jointName] === undefined) { + // The transform of this joint will be updated with the joint pose on each frame + const joint = new Group(); + joint.matrixAutoUpdate = false; + joint.visible = false; + hand.joints[inputjoint.jointName] = joint; // ?? + + hand.add(joint); + } - var groups = json.data.groups || json.data.drawcalls || json.data.offsets; + const joint = hand.joints[inputjoint.jointName]; - if ( groups !== undefined ) { + if (jointPose !== null) { + joint.matrix.fromArray(jointPose.transform.matrix); + joint.matrix.decompose(joint.position, joint.rotation, joint.scale); + joint.jointRadius = jointPose.radius; + } - for ( var i = 0, n = groups.length; i !== n; ++ i ) { + joint.visible = jointPose !== null; + } // Custom events + // Check pinchz + + + const indexTip = hand.joints['index-finger-tip']; + const thumbTip = hand.joints['thumb-tip']; + const distance = indexTip.position.distanceTo(thumbTip.position); + const distanceToPinch = 0.02; + const threshold = 0.005; + + if (hand.inputState.pinching && distance > distanceToPinch + threshold) { + hand.inputState.pinching = false; + this.dispatchEvent({ + type: 'pinchend', + handedness: inputSource.handedness, + target: this + }); + } else if (!hand.inputState.pinching && distance <= distanceToPinch - threshold) { + hand.inputState.pinching = true; + this.dispatchEvent({ + type: 'pinchstart', + handedness: inputSource.handedness, + target: this + }); + } + } else { + if (grip !== null && inputSource.gripSpace) { + gripPose = frame.getPose(inputSource.gripSpace, referenceSpace); - var group = groups[ i ]; + if (gripPose !== null) { + grip.matrix.fromArray(gripPose.transform.matrix); + grip.matrix.decompose(grip.position, grip.rotation, grip.scale); - geometry.addGroup( group.start, group.count, group.materialIndex ); + if (gripPose.linearVelocity) { + grip.hasLinearVelocity = true; + grip.linearVelocity.copy(gripPose.linearVelocity); + } else { + grip.hasLinearVelocity = false; + } + if (gripPose.angularVelocity) { + grip.hasAngularVelocity = true; + grip.angularVelocity.copy(gripPose.angularVelocity); + } else { + grip.hasAngularVelocity = false; + } + } + } } + } + if (targetRay !== null) { + targetRay.visible = inputPose !== null; } - var boundingSphere = json.data.boundingSphere; + if (grip !== null) { + grip.visible = gripPose !== null; + } - if ( boundingSphere !== undefined ) { + if (hand !== null) { + hand.visible = handPose !== null; + } - var center = new Vector3(); + return this; + } - if ( boundingSphere.center !== undefined ) { + } - center.fromArray( boundingSphere.center ); + class WebXRManager extends EventDispatcher { + constructor(renderer, gl) { + super(); + const scope = this; + const state = renderer.state; + let session = null; + let framebufferScaleFactor = 1.0; + let referenceSpace = null; + let referenceSpaceType = 'local-floor'; + let pose = null; + let glBinding = null; + let glFramebuffer = null; + let glProjLayer = null; + let glBaseLayer = null; + let isMultisample = false; + let glMultisampledFramebuffer = null; + let glColorRenderbuffer = null; + let glDepthRenderbuffer = null; + let xrFrame = null; + let depthStyle = null; + let clearStyle = null; + const controllers = []; + const inputSourcesMap = new Map(); // - } + const cameraL = new PerspectiveCamera(); + cameraL.layers.enable(1); + cameraL.viewport = new Vector4(); + const cameraR = new PerspectiveCamera(); + cameraR.layers.enable(2); + cameraR.viewport = new Vector4(); + const cameras = [cameraL, cameraR]; + const cameraVR = new ArrayCamera(); + cameraVR.layers.enable(1); + cameraVR.layers.enable(2); + let _currentDepthNear = null; + let _currentDepthFar = null; // - geometry.boundingSphere = new Sphere( center, boundingSphere.radius ); + this.cameraAutoUpdate = true; + this.enabled = false; + this.isPresenting = false; - } + this.getController = function (index) { + let controller = controllers[index]; - if ( json.name ) geometry.name = json.name; - if ( json.userData ) geometry.userData = json.userData; + if (controller === undefined) { + controller = new WebXRController(); + controllers[index] = controller; + } - return geometry; + return controller.getTargetRaySpace(); + }; - }, + this.getControllerGrip = function (index) { + let controller = controllers[index]; - setPath: function ( value ) { + if (controller === undefined) { + controller = new WebXRController(); + controllers[index] = controller; + } - this.path = value; - return this; + return controller.getGripSpace(); + }; - } + this.getHand = function (index) { + let controller = controllers[index]; - } ); + if (controller === undefined) { + controller = new WebXRController(); + controllers[index] = controller; + } - var TYPED_ARRAYS = { - Int8Array: Int8Array, - Uint8Array: Uint8Array, - // Workaround for IE11 pre KB2929437. See #11440 - Uint8ClampedArray: typeof Uint8ClampedArray !== 'undefined' ? Uint8ClampedArray : Uint8Array, - Int16Array: Int16Array, - Uint16Array: Uint16Array, - Int32Array: Int32Array, - Uint32Array: Uint32Array, - Float32Array: Float32Array, - Float64Array: Float64Array - }; + return controller.getHandSpace(); + }; // - /** - * @author mrdoob / http://mrdoob.com/ - */ - function ObjectLoader( manager ) { + function onSessionEvent(event) { + const controller = inputSourcesMap.get(event.inputSource); + + if (controller) { + controller.dispatchEvent({ + type: event.type, + data: event.inputSource + }); + } + } - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; - this.resourcePath = ''; + function onSessionEnd() { + inputSourcesMap.forEach(function (controller, inputSource) { + controller.disconnect(inputSource); + }); + inputSourcesMap.clear(); + _currentDepthNear = null; + _currentDepthFar = null; // restore framebuffer/rendering state - } + state.bindXRFramebuffer(null); + renderer.setRenderTarget(renderer.getRenderTarget()); + if (glFramebuffer) gl.deleteFramebuffer(glFramebuffer); + if (glMultisampledFramebuffer) gl.deleteFramebuffer(glMultisampledFramebuffer); + if (glColorRenderbuffer) gl.deleteRenderbuffer(glColorRenderbuffer); + if (glDepthRenderbuffer) gl.deleteRenderbuffer(glDepthRenderbuffer); + glFramebuffer = null; + glMultisampledFramebuffer = null; + glColorRenderbuffer = null; + glDepthRenderbuffer = null; + glBaseLayer = null; + glProjLayer = null; + glBinding = null; + session = null; // - Object.assign( ObjectLoader.prototype, { + animation.stop(); + scope.isPresenting = false; + scope.dispatchEvent({ + type: 'sessionend' + }); + } - crossOrigin: 'anonymous', + this.setFramebufferScaleFactor = function (value) { + framebufferScaleFactor = value; - load: function ( url, onLoad, onProgress, onError ) { + if (scope.isPresenting === true) { + console.warn('THREE.WebXRManager: Cannot change framebuffer scale while presenting.'); + } + }; - var scope = this; + this.setReferenceSpaceType = function (value) { + referenceSpaceType = value; - var path = ( this.path === undefined ) ? LoaderUtils.extractUrlBase( url ) : this.path; - this.resourcePath = this.resourcePath || path; + if (scope.isPresenting === true) { + console.warn('THREE.WebXRManager: Cannot change reference space type while presenting.'); + } + }; - var loader = new FileLoader( scope.manager ); - loader.setPath( this.path ); - loader.load( url, function ( text ) { + this.getReferenceSpace = function () { + return referenceSpace; + }; - var json = null; + this.getBaseLayer = function () { + return glProjLayer !== null ? glProjLayer : glBaseLayer; + }; - try { + this.getBinding = function () { + return glBinding; + }; + + this.getFrame = function () { + return xrFrame; + }; - json = JSON.parse( text ); + this.getSession = function () { + return session; + }; - } catch ( error ) { + this.setSession = async function (value) { + session = value; + + if (session !== null) { + session.addEventListener('select', onSessionEvent); + session.addEventListener('selectstart', onSessionEvent); + session.addEventListener('selectend', onSessionEvent); + session.addEventListener('squeeze', onSessionEvent); + session.addEventListener('squeezestart', onSessionEvent); + session.addEventListener('squeezeend', onSessionEvent); + session.addEventListener('end', onSessionEnd); + session.addEventListener('inputsourceschange', onInputSourcesChange); + const attributes = gl.getContextAttributes(); + + if (attributes.xrCompatible !== true) { + await gl.makeXRCompatible(); + } - if ( onError !== undefined ) onError( error ); + if (session.renderState.layers === undefined) { + const layerInit = { + antialias: attributes.antialias, + alpha: attributes.alpha, + depth: attributes.depth, + stencil: attributes.stencil, + framebufferScaleFactor: framebufferScaleFactor + }; + glBaseLayer = new XRWebGLLayer(session, gl, layerInit); + session.updateRenderState({ + baseLayer: glBaseLayer + }); + } else if (gl instanceof WebGLRenderingContext) { + // Use old style webgl layer because we can't use MSAA + // WebGL2 support. + const layerInit = { + antialias: true, + alpha: attributes.alpha, + depth: attributes.depth, + stencil: attributes.stencil, + framebufferScaleFactor: framebufferScaleFactor + }; + glBaseLayer = new XRWebGLLayer(session, gl, layerInit); + session.updateRenderState({ + layers: [glBaseLayer] + }); + } else { + isMultisample = attributes.antialias; + let depthFormat = null; + + if (attributes.depth) { + clearStyle = gl.DEPTH_BUFFER_BIT; + if (attributes.stencil) clearStyle |= gl.STENCIL_BUFFER_BIT; + depthStyle = attributes.stencil ? gl.DEPTH_STENCIL_ATTACHMENT : gl.DEPTH_ATTACHMENT; + depthFormat = attributes.stencil ? gl.DEPTH24_STENCIL8 : gl.DEPTH_COMPONENT24; + } - console.error( 'THREE:ObjectLoader: Can\'t parse ' + url + '.', error.message ); + const projectionlayerInit = { + colorFormat: attributes.alpha ? gl.RGBA8 : gl.RGB8, + depthFormat: depthFormat, + scaleFactor: framebufferScaleFactor + }; + glBinding = new XRWebGLBinding(session, gl); + glProjLayer = glBinding.createProjectionLayer(projectionlayerInit); + glFramebuffer = gl.createFramebuffer(); + session.updateRenderState({ + layers: [glProjLayer] + }); + + if (isMultisample) { + glMultisampledFramebuffer = gl.createFramebuffer(); + glColorRenderbuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, glColorRenderbuffer); + gl.renderbufferStorageMultisample(gl.RENDERBUFFER, 4, gl.RGBA8, glProjLayer.textureWidth, glProjLayer.textureHeight); + state.bindFramebuffer(gl.FRAMEBUFFER, glMultisampledFramebuffer); + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, glColorRenderbuffer); + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + + if (depthFormat !== null) { + glDepthRenderbuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, glDepthRenderbuffer); + gl.renderbufferStorageMultisample(gl.RENDERBUFFER, 4, depthFormat, glProjLayer.textureWidth, glProjLayer.textureHeight); + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, depthStyle, gl.RENDERBUFFER, glDepthRenderbuffer); + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + } - return; + state.bindFramebuffer(gl.FRAMEBUFFER, null); + } + } + referenceSpace = await session.requestReferenceSpace(referenceSpaceType); + animation.setContext(session); + animation.start(); + scope.isPresenting = true; + scope.dispatchEvent({ + type: 'sessionstart' + }); } + }; - var metadata = json.metadata; + function onInputSourcesChange(event) { + const inputSources = session.inputSources; // Assign inputSources to available controllers - if ( metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry' ) { + for (let i = 0; i < controllers.length; i++) { + inputSourcesMap.set(inputSources[i], controllers[i]); + } // Notify disconnected - console.error( 'THREE.ObjectLoader: Can\'t load ' + url ); - return; - } + for (let i = 0; i < event.removed.length; i++) { + const inputSource = event.removed[i]; + const controller = inputSourcesMap.get(inputSource); - scope.parse( json, onLoad ); + if (controller) { + controller.dispatchEvent({ + type: 'disconnected', + data: inputSource + }); + inputSourcesMap.delete(inputSource); + } + } // Notify connected - }, onProgress, onError ); - }, + for (let i = 0; i < event.added.length; i++) { + const inputSource = event.added[i]; + const controller = inputSourcesMap.get(inputSource); - setPath: function ( value ) { + if (controller) { + controller.dispatchEvent({ + type: 'connected', + data: inputSource + }); + } + } + } // - this.path = value; - return this; - }, + const cameraLPos = new Vector3(); + const cameraRPos = new Vector3(); + /** + * Assumes 2 cameras that are parallel and share an X-axis, and that + * the cameras' projection and world matrices have already been set. + * And that near and far planes are identical for both cameras. + * Visualization of this technique: https://computergraphics.stackexchange.com/a/4765 + */ - setResourcePath: function ( value ) { + function setProjectionFromUnion(camera, cameraL, cameraR) { + cameraLPos.setFromMatrixPosition(cameraL.matrixWorld); + cameraRPos.setFromMatrixPosition(cameraR.matrixWorld); + const ipd = cameraLPos.distanceTo(cameraRPos); + const projL = cameraL.projectionMatrix.elements; + const projR = cameraR.projectionMatrix.elements; // VR systems will have identical far and near planes, and + // most likely identical top and bottom frustum extents. + // Use the left camera for these values. + + const near = projL[14] / (projL[10] - 1); + const far = projL[14] / (projL[10] + 1); + const topFov = (projL[9] + 1) / projL[5]; + const bottomFov = (projL[9] - 1) / projL[5]; + const leftFov = (projL[8] - 1) / projL[0]; + const rightFov = (projR[8] + 1) / projR[0]; + const left = near * leftFov; + const right = near * rightFov; // Calculate the new camera's position offset from the + // left camera. xOffset should be roughly half `ipd`. + + const zOffset = ipd / (-leftFov + rightFov); + const xOffset = zOffset * -leftFov; // TODO: Better way to apply this offset? + + cameraL.matrixWorld.decompose(camera.position, camera.quaternion, camera.scale); + camera.translateX(xOffset); + camera.translateZ(zOffset); + camera.matrixWorld.compose(camera.position, camera.quaternion, camera.scale); + camera.matrixWorldInverse.copy(camera.matrixWorld).invert(); // Find the union of the frustum values of the cameras and scale + // the values so that the near plane's position does not change in world space, + // although must now be relative to the new union camera. + + const near2 = near + zOffset; + const far2 = far + zOffset; + const left2 = left - xOffset; + const right2 = right + (ipd - xOffset); + const top2 = topFov * far / far2 * near2; + const bottom2 = bottomFov * far / far2 * near2; + camera.projectionMatrix.makePerspective(left2, right2, top2, bottom2, near2, far2); + } + + function updateCamera(camera, parent) { + if (parent === null) { + camera.matrixWorld.copy(camera.matrix); + } else { + camera.matrixWorld.multiplyMatrices(parent.matrixWorld, camera.matrix); + } - this.resourcePath = value; - return this; + camera.matrixWorldInverse.copy(camera.matrixWorld).invert(); + } - }, + this.updateCamera = function (camera) { + if (session === null) return; + cameraVR.near = cameraR.near = cameraL.near = camera.near; + cameraVR.far = cameraR.far = cameraL.far = camera.far; - setCrossOrigin: function ( value ) { + if (_currentDepthNear !== cameraVR.near || _currentDepthFar !== cameraVR.far) { + // Note that the new renderState won't apply until the next frame. See #18320 + session.updateRenderState({ + depthNear: cameraVR.near, + depthFar: cameraVR.far + }); + _currentDepthNear = cameraVR.near; + _currentDepthFar = cameraVR.far; + } - this.crossOrigin = value; - return this; + const parent = camera.parent; + const cameras = cameraVR.cameras; + updateCamera(cameraVR, parent); - }, + for (let i = 0; i < cameras.length; i++) { + updateCamera(cameras[i], parent); + } - parse: function ( json, onLoad ) { + cameraVR.matrixWorld.decompose(cameraVR.position, cameraVR.quaternion, cameraVR.scale); // update user camera and its children - var shapes = this.parseShape( json.shapes ); - var geometries = this.parseGeometries( json.geometries, shapes ); + camera.position.copy(cameraVR.position); + camera.quaternion.copy(cameraVR.quaternion); + camera.scale.copy(cameraVR.scale); + camera.matrix.copy(cameraVR.matrix); + camera.matrixWorld.copy(cameraVR.matrixWorld); + const children = camera.children; - var images = this.parseImages( json.images, function () { + for (let i = 0, l = children.length; i < l; i++) { + children[i].updateMatrixWorld(true); + } // update projection matrix for proper view frustum culling - if ( onLoad !== undefined ) onLoad( object ); - } ); + if (cameras.length === 2) { + setProjectionFromUnion(cameraVR, cameraL, cameraR); + } else { + // assume single camera setup (AR) + cameraVR.projectionMatrix.copy(cameraL.projectionMatrix); + } + }; - var textures = this.parseTextures( json.textures, images ); - var materials = this.parseMaterials( json.materials, textures ); + this.getCamera = function () { + return cameraVR; + }; - var object = this.parseObject( json.object, geometries, materials ); + this.getFoveation = function () { + if (glProjLayer !== null) { + return glProjLayer.fixedFoveation; + } - if ( json.animations ) { + if (glBaseLayer !== null) { + return glBaseLayer.fixedFoveation; + } - object.animations = this.parseAnimations( json.animations ); + return undefined; + }; - } + this.setFoveation = function (foveation) { + // 0 = no foveation = full resolution + // 1 = maximum foveation = the edges render at lower resolution + if (glProjLayer !== null) { + glProjLayer.fixedFoveation = foveation; + } - if ( json.images === undefined || json.images.length === 0 ) { + if (glBaseLayer !== null && glBaseLayer.fixedFoveation !== undefined) { + glBaseLayer.fixedFoveation = foveation; + } + }; // Animation Loop - if ( onLoad !== undefined ) onLoad( object ); - } + let onAnimationFrameCallback = null; - return object; + function onAnimationFrame(time, frame) { + pose = frame.getViewerPose(referenceSpace); + xrFrame = frame; - }, + if (pose !== null) { + const views = pose.views; - parseShape: function ( json ) { + if (glBaseLayer !== null) { + state.bindXRFramebuffer(glBaseLayer.framebuffer); + } - var shapes = {}; + let cameraVRNeedsUpdate = false; // check if it's necessary to rebuild cameraVR's camera list - if ( json !== undefined ) { + if (views.length !== cameraVR.cameras.length) { + cameraVR.cameras.length = 0; + cameraVRNeedsUpdate = true; + } - for ( var i = 0, l = json.length; i < l; i ++ ) { + for (let i = 0; i < views.length; i++) { + const view = views[i]; + let viewport = null; - var shape = new Shape().fromJSON( json[ i ] ); + if (glBaseLayer !== null) { + viewport = glBaseLayer.getViewport(view); + } else { + const glSubImage = glBinding.getViewSubImage(glProjLayer, view); + state.bindXRFramebuffer(glFramebuffer); - shapes[ shape.uuid ] = shape; + if (glSubImage.depthStencilTexture !== undefined) { + gl.framebufferTexture2D(gl.FRAMEBUFFER, depthStyle, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0); + } - } + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0); + viewport = glSubImage.viewport; + } - } + const camera = cameras[i]; + camera.matrix.fromArray(view.transform.matrix); + camera.projectionMatrix.fromArray(view.projectionMatrix); + camera.viewport.set(viewport.x, viewport.y, viewport.width, viewport.height); - return shapes; + if (i === 0) { + cameraVR.matrix.copy(camera.matrix); + } - }, + if (cameraVRNeedsUpdate === true) { + cameraVR.cameras.push(camera); + } + } + + if (isMultisample) { + state.bindXRFramebuffer(glMultisampledFramebuffer); + if (clearStyle !== null) gl.clear(clearStyle); + } + } // - parseGeometries: function ( json, shapes ) { - var geometries = {}; + const inputSources = session.inputSources; - if ( json !== undefined ) { + for (let i = 0; i < controllers.length; i++) { + const controller = controllers[i]; + const inputSource = inputSources[i]; + controller.update(inputSource, frame, referenceSpace); + } - var bufferGeometryLoader = new BufferGeometryLoader(); + if (onAnimationFrameCallback) onAnimationFrameCallback(time, frame); - for ( var i = 0, l = json.length; i < l; i ++ ) { + if (isMultisample) { + const width = glProjLayer.textureWidth; + const height = glProjLayer.textureHeight; + state.bindFramebuffer(gl.READ_FRAMEBUFFER, glMultisampledFramebuffer); + state.bindFramebuffer(gl.DRAW_FRAMEBUFFER, glFramebuffer); // Invalidate the depth here to avoid flush of the depth data to main memory. - var geometry; - var data = json[ i ]; + gl.invalidateFramebuffer(gl.READ_FRAMEBUFFER, [depthStyle]); + gl.invalidateFramebuffer(gl.DRAW_FRAMEBUFFER, [depthStyle]); + gl.blitFramebuffer(0, 0, width, height, 0, 0, width, height, gl.COLOR_BUFFER_BIT, gl.NEAREST); // Invalidate the MSAA buffer because it's not needed anymore. - switch ( data.type ) { + gl.invalidateFramebuffer(gl.READ_FRAMEBUFFER, [gl.COLOR_ATTACHMENT0]); + state.bindFramebuffer(gl.READ_FRAMEBUFFER, null); + state.bindFramebuffer(gl.DRAW_FRAMEBUFFER, null); + state.bindFramebuffer(gl.FRAMEBUFFER, glMultisampledFramebuffer); + } - case 'PlaneGeometry': - case 'PlaneBufferGeometry': + xrFrame = null; + } - geometry = new Geometries[ data.type ]( - data.width, - data.height, - data.widthSegments, - data.heightSegments - ); + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); - break; + this.setAnimationLoop = function (callback) { + onAnimationFrameCallback = callback; + }; - case 'BoxGeometry': - case 'BoxBufferGeometry': - case 'CubeGeometry': // backwards compatible + this.dispose = function () {}; + } - geometry = new Geometries[ data.type ]( - data.width, - data.height, - data.depth, - data.widthSegments, - data.heightSegments, - data.depthSegments - ); + } - break; + function WebGLMaterials(properties) { + function refreshFogUniforms(uniforms, fog) { + uniforms.fogColor.value.copy(fog.color); - case 'CircleGeometry': - case 'CircleBufferGeometry': + if (fog.isFog) { + uniforms.fogNear.value = fog.near; + uniforms.fogFar.value = fog.far; + } else if (fog.isFogExp2) { + uniforms.fogDensity.value = fog.density; + } + } - geometry = new Geometries[ data.type ]( - data.radius, - data.segments, - data.thetaStart, - data.thetaLength - ); + function refreshMaterialUniforms(uniforms, material, pixelRatio, height, transmissionRenderTarget) { + if (material.isMeshBasicMaterial) { + refreshUniformsCommon(uniforms, material); + } else if (material.isMeshLambertMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsLambert(uniforms, material); + } else if (material.isMeshToonMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsToon(uniforms, material); + } else if (material.isMeshPhongMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsPhong(uniforms, material); + } else if (material.isMeshStandardMaterial) { + refreshUniformsCommon(uniforms, material); + + if (material.isMeshPhysicalMaterial) { + refreshUniformsPhysical(uniforms, material, transmissionRenderTarget); + } else { + refreshUniformsStandard(uniforms, material); + } + } else if (material.isMeshMatcapMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsMatcap(uniforms, material); + } else if (material.isMeshDepthMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsDepth(uniforms, material); + } else if (material.isMeshDistanceMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsDistance(uniforms, material); + } else if (material.isMeshNormalMaterial) { + refreshUniformsCommon(uniforms, material); + refreshUniformsNormal(uniforms, material); + } else if (material.isLineBasicMaterial) { + refreshUniformsLine(uniforms, material); + + if (material.isLineDashedMaterial) { + refreshUniformsDash(uniforms, material); + } + } else if (material.isPointsMaterial) { + refreshUniformsPoints(uniforms, material, pixelRatio, height); + } else if (material.isSpriteMaterial) { + refreshUniformsSprites(uniforms, material); + } else if (material.isShadowMaterial) { + uniforms.color.value.copy(material.color); + uniforms.opacity.value = material.opacity; + } else if (material.isShaderMaterial) { + material.uniformsNeedUpdate = false; // #15581 + } + } + + function refreshUniformsCommon(uniforms, material) { + uniforms.opacity.value = material.opacity; - break; + if (material.color) { + uniforms.diffuse.value.copy(material.color); + } - case 'CylinderGeometry': - case 'CylinderBufferGeometry': + if (material.emissive) { + uniforms.emissive.value.copy(material.emissive).multiplyScalar(material.emissiveIntensity); + } - geometry = new Geometries[ data.type ]( - data.radiusTop, - data.radiusBottom, - data.height, - data.radialSegments, - data.heightSegments, - data.openEnded, - data.thetaStart, - data.thetaLength - ); + if (material.map) { + uniforms.map.value = material.map; + } - break; + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } - case 'ConeGeometry': - case 'ConeBufferGeometry': + if (material.specularMap) { + uniforms.specularMap.value = material.specularMap; + } - geometry = new Geometries[ data.type ]( - data.radius, - data.height, - data.radialSegments, - data.heightSegments, - data.openEnded, - data.thetaStart, - data.thetaLength - ); + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } - break; + const envMap = properties.get(material).envMap; - case 'SphereGeometry': - case 'SphereBufferGeometry': + if (envMap) { + uniforms.envMap.value = envMap; + uniforms.flipEnvMap.value = envMap.isCubeTexture && envMap.isRenderTargetTexture === false ? -1 : 1; + uniforms.reflectivity.value = material.reflectivity; + uniforms.ior.value = material.ior; + uniforms.refractionRatio.value = material.refractionRatio; - geometry = new Geometries[ data.type ]( - data.radius, - data.widthSegments, - data.heightSegments, - data.phiStart, - data.phiLength, - data.thetaStart, - data.thetaLength - ); + const maxMipLevel = properties.get(envMap).__maxMipLevel; - break; + if (maxMipLevel !== undefined) { + uniforms.maxMipLevel.value = maxMipLevel; + } + } - case 'DodecahedronGeometry': - case 'DodecahedronBufferGeometry': - case 'IcosahedronGeometry': - case 'IcosahedronBufferGeometry': - case 'OctahedronGeometry': - case 'OctahedronBufferGeometry': - case 'TetrahedronGeometry': - case 'TetrahedronBufferGeometry': + if (material.lightMap) { + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + } - geometry = new Geometries[ data.type ]( - data.radius, - data.detail - ); + if (material.aoMap) { + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + } // uv repeat and offset setting priorities + // 1. color map + // 2. specular map + // 3. displacementMap map + // 4. normal map + // 5. bump map + // 6. roughnessMap map + // 7. metalnessMap map + // 8. alphaMap map + // 9. emissiveMap map + // 10. clearcoat map + // 11. clearcoat normal map + // 12. clearcoat roughnessMap map + // 13. specular intensity map + // 14. specular tint map + // 15. transmission map + // 16. thickness map + + + let uvScaleMap; + + if (material.map) { + uvScaleMap = material.map; + } else if (material.specularMap) { + uvScaleMap = material.specularMap; + } else if (material.displacementMap) { + uvScaleMap = material.displacementMap; + } else if (material.normalMap) { + uvScaleMap = material.normalMap; + } else if (material.bumpMap) { + uvScaleMap = material.bumpMap; + } else if (material.roughnessMap) { + uvScaleMap = material.roughnessMap; + } else if (material.metalnessMap) { + uvScaleMap = material.metalnessMap; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } else if (material.emissiveMap) { + uvScaleMap = material.emissiveMap; + } else if (material.clearcoatMap) { + uvScaleMap = material.clearcoatMap; + } else if (material.clearcoatNormalMap) { + uvScaleMap = material.clearcoatNormalMap; + } else if (material.clearcoatRoughnessMap) { + uvScaleMap = material.clearcoatRoughnessMap; + } else if (material.specularIntensityMap) { + uvScaleMap = material.specularIntensityMap; + } else if (material.specularTintMap) { + uvScaleMap = material.specularTintMap; + } else if (material.transmissionMap) { + uvScaleMap = material.transmissionMap; + } else if (material.thicknessMap) { + uvScaleMap = material.thicknessMap; + } + + if (uvScaleMap !== undefined) { + // backwards compatibility + if (uvScaleMap.isWebGLRenderTarget) { + uvScaleMap = uvScaleMap.texture; + } - break; + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } - case 'RingGeometry': - case 'RingBufferGeometry': + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } // uv repeat and offset setting priorities for uv2 + // 1. ao map + // 2. light map - geometry = new Geometries[ data.type ]( - data.innerRadius, - data.outerRadius, - data.thetaSegments, - data.phiSegments, - data.thetaStart, - data.thetaLength - ); - break; + let uv2ScaleMap; - case 'TorusGeometry': - case 'TorusBufferGeometry': + if (material.aoMap) { + uv2ScaleMap = material.aoMap; + } else if (material.lightMap) { + uv2ScaleMap = material.lightMap; + } - geometry = new Geometries[ data.type ]( - data.radius, - data.tube, - data.radialSegments, - data.tubularSegments, - data.arc - ); + if (uv2ScaleMap !== undefined) { + // backwards compatibility + if (uv2ScaleMap.isWebGLRenderTarget) { + uv2ScaleMap = uv2ScaleMap.texture; + } - break; + if (uv2ScaleMap.matrixAutoUpdate === true) { + uv2ScaleMap.updateMatrix(); + } - case 'TorusKnotGeometry': - case 'TorusKnotBufferGeometry': + uniforms.uv2Transform.value.copy(uv2ScaleMap.matrix); + } + } - geometry = new Geometries[ data.type ]( - data.radius, - data.tube, - data.tubularSegments, - data.radialSegments, - data.p, - data.q - ); + function refreshUniformsLine(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + } - break; + function refreshUniformsDash(uniforms, material) { + uniforms.dashSize.value = material.dashSize; + uniforms.totalSize.value = material.dashSize + material.gapSize; + uniforms.scale.value = material.scale; + } - case 'TubeGeometry': - case 'TubeBufferGeometry': + function refreshUniformsPoints(uniforms, material, pixelRatio, height) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.size.value = material.size * pixelRatio; + uniforms.scale.value = height * 0.5; - // This only works for built-in curves (e.g. CatmullRomCurve3). - // User defined curves or instances of CurvePath will not be deserialized. - geometry = new Geometries[ data.type ]( - new Curves[ data.path.type ]().fromJSON( data.path ), - data.tubularSegments, - data.radius, - data.radialSegments, - data.closed - ); + if (material.map) { + uniforms.map.value = material.map; + } - break; + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } - case 'LatheGeometry': - case 'LatheBufferGeometry': + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } // uv repeat and offset setting priorities + // 1. color map + // 2. alpha map - geometry = new Geometries[ data.type ]( - data.points, - data.segments, - data.phiStart, - data.phiLength - ); - break; + let uvScaleMap; - case 'PolyhedronGeometry': - case 'PolyhedronBufferGeometry': + if (material.map) { + uvScaleMap = material.map; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } - geometry = new Geometries[ data.type ]( - data.vertices, - data.indices, - data.radius, - data.details - ); + if (uvScaleMap !== undefined) { + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } - break; + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } + } - case 'ShapeGeometry': - case 'ShapeBufferGeometry': + function refreshUniformsSprites(uniforms, material) { + uniforms.diffuse.value.copy(material.color); + uniforms.opacity.value = material.opacity; + uniforms.rotation.value = material.rotation; - var geometryShapes = []; + if (material.map) { + uniforms.map.value = material.map; + } - for ( var j = 0, jl = data.shapes.length; j < jl; j ++ ) { + if (material.alphaMap) { + uniforms.alphaMap.value = material.alphaMap; + } - var shape = shapes[ data.shapes[ j ] ]; + if (material.alphaTest > 0) { + uniforms.alphaTest.value = material.alphaTest; + } // uv repeat and offset setting priorities + // 1. color map + // 2. alpha map - geometryShapes.push( shape ); - } + let uvScaleMap; - geometry = new Geometries[ data.type ]( - geometryShapes, - data.curveSegments - ); + if (material.map) { + uvScaleMap = material.map; + } else if (material.alphaMap) { + uvScaleMap = material.alphaMap; + } - break; + if (uvScaleMap !== undefined) { + if (uvScaleMap.matrixAutoUpdate === true) { + uvScaleMap.updateMatrix(); + } + uniforms.uvTransform.value.copy(uvScaleMap.matrix); + } + } - case 'ExtrudeGeometry': - case 'ExtrudeBufferGeometry': + function refreshUniformsLambert(uniforms, material) { + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + } + } - var geometryShapes = []; + function refreshUniformsPhong(uniforms, material) { + uniforms.specular.value.copy(material.specular); + uniforms.shininess.value = Math.max(material.shininess, 1e-4); // to prevent pow( 0.0, 0.0 ) - for ( var j = 0, jl = data.shapes.length; j < jl; j ++ ) { + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + } - var shape = shapes[ data.shapes[ j ] ]; + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) uniforms.bumpScale.value *= -1; + } - geometryShapes.push( shape ); + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) uniforms.normalScale.value.negate(); + } - } + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + } - var extrudePath = data.options.extrudePath; + function refreshUniformsToon(uniforms, material) { + if (material.gradientMap) { + uniforms.gradientMap.value = material.gradientMap; + } - if ( extrudePath !== undefined ) { + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + } - data.options.extrudePath = new Curves[ extrudePath.type ]().fromJSON( extrudePath ); + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) uniforms.bumpScale.value *= -1; + } - } + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) uniforms.normalScale.value.negate(); + } - geometry = new Geometries[ data.type ]( - geometryShapes, - data.options - ); + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + } - break; + function refreshUniformsStandard(uniforms, material) { + uniforms.roughness.value = material.roughness; + uniforms.metalness.value = material.metalness; - case 'BufferGeometry': + if (material.roughnessMap) { + uniforms.roughnessMap.value = material.roughnessMap; + } - geometry = bufferGeometryLoader.parse( data ); + if (material.metalnessMap) { + uniforms.metalnessMap.value = material.metalnessMap; + } - break; + if (material.emissiveMap) { + uniforms.emissiveMap.value = material.emissiveMap; + } - case 'Geometry': + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) uniforms.bumpScale.value *= -1; + } - if ( 'THREE' in window && 'LegacyJSONLoader' in THREE ) { + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) uniforms.normalScale.value.negate(); + } - var geometryLoader = new THREE.LegacyJSONLoader(); - geometry = geometryLoader.parse( data, this.resourcePath ).geometry; + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + const envMap = properties.get(material).envMap; - } else { + if (envMap) { + //uniforms.envMap.value = material.envMap; // part of uniforms common + uniforms.envMapIntensity.value = material.envMapIntensity; + } + } - console.error( 'THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".' ); + function refreshUniformsPhysical(uniforms, material, transmissionRenderTarget) { + refreshUniformsStandard(uniforms, material); + uniforms.ior.value = material.ior; // also part of uniforms common - } + if (material.sheenTint) uniforms.sheenTint.value.copy(material.sheenTint); - break; + if (material.clearcoat > 0) { + uniforms.clearcoat.value = material.clearcoat; + uniforms.clearcoatRoughness.value = material.clearcoatRoughness; - default: + if (material.clearcoatMap) { + uniforms.clearcoatMap.value = material.clearcoatMap; + } - console.warn( 'THREE.ObjectLoader: Unsupported geometry type "' + data.type + '"' ); + if (material.clearcoatRoughnessMap) { + uniforms.clearcoatRoughnessMap.value = material.clearcoatRoughnessMap; + } - continue; + if (material.clearcoatNormalMap) { + uniforms.clearcoatNormalScale.value.copy(material.clearcoatNormalScale); + uniforms.clearcoatNormalMap.value = material.clearcoatNormalMap; + if (material.side === BackSide) { + uniforms.clearcoatNormalScale.value.negate(); } + } + } - geometry.uuid = data.uuid; + if (material.transmission > 0) { + uniforms.transmission.value = material.transmission; + uniforms.transmissionSamplerMap.value = transmissionRenderTarget.texture; + uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width, transmissionRenderTarget.height); - if ( data.name !== undefined ) geometry.name = data.name; - if ( geometry.isBufferGeometry === true && data.userData !== undefined ) geometry.userData = data.userData; + if (material.transmissionMap) { + uniforms.transmissionMap.value = material.transmissionMap; + } - geometries[ data.uuid ] = geometry; + uniforms.thickness.value = material.thickness; + if (material.thicknessMap) { + uniforms.thicknessMap.value = material.thicknessMap; } + uniforms.attenuationDistance.value = material.attenuationDistance; + uniforms.attenuationTint.value.copy(material.attenuationTint); } - return geometries; - - }, - - parseMaterials: function ( json, textures ) { + uniforms.specularIntensity.value = material.specularIntensity; + uniforms.specularTint.value.copy(material.specularTint); - var cache = {}; // MultiMaterial - var materials = {}; + if (material.specularIntensityMap) { + uniforms.specularIntensityMap.value = material.specularIntensityMap; + } - if ( json !== undefined ) { + if (material.specularTintMap) { + uniforms.specularTintMap.value = material.specularTintMap; + } + } - var loader = new MaterialLoader(); - loader.setTextures( textures ); + function refreshUniformsMatcap(uniforms, material) { + if (material.matcap) { + uniforms.matcap.value = material.matcap; + } - for ( var i = 0, l = json.length; i < l; i ++ ) { + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) uniforms.bumpScale.value *= -1; + } - var data = json[ i ]; + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) uniforms.normalScale.value.negate(); + } - if ( data.type === 'MultiMaterial' ) { + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + } - // Deprecated + function refreshUniformsDepth(uniforms, material) { + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + } - var array = []; + function refreshUniformsDistance(uniforms, material) { + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } - for ( var j = 0; j < data.materials.length; j ++ ) { + uniforms.referencePosition.value.copy(material.referencePosition); + uniforms.nearDistance.value = material.nearDistance; + uniforms.farDistance.value = material.farDistance; + } - var material = data.materials[ j ]; + function refreshUniformsNormal(uniforms, material) { + if (material.bumpMap) { + uniforms.bumpMap.value = material.bumpMap; + uniforms.bumpScale.value = material.bumpScale; + if (material.side === BackSide) uniforms.bumpScale.value *= -1; + } - if ( cache[ material.uuid ] === undefined ) { + if (material.normalMap) { + uniforms.normalMap.value = material.normalMap; + uniforms.normalScale.value.copy(material.normalScale); + if (material.side === BackSide) uniforms.normalScale.value.negate(); + } - cache[ material.uuid ] = loader.parse( material ); + if (material.displacementMap) { + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + } + } - } + return { + refreshFogUniforms: refreshFogUniforms, + refreshMaterialUniforms: refreshMaterialUniforms + }; + } - array.push( cache[ material.uuid ] ); + function createCanvasElement() { + const canvas = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas'); + canvas.style.display = 'block'; + return canvas; + } - } + function WebGLRenderer(parameters = {}) { + const _canvas = parameters.canvas !== undefined ? parameters.canvas : createCanvasElement(), + _context = parameters.context !== undefined ? parameters.context : null, + _alpha = parameters.alpha !== undefined ? parameters.alpha : false, + _depth = parameters.depth !== undefined ? parameters.depth : true, + _stencil = parameters.stencil !== undefined ? parameters.stencil : true, + _antialias = parameters.antialias !== undefined ? parameters.antialias : false, + _premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true, + _preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false, + _powerPreference = parameters.powerPreference !== undefined ? parameters.powerPreference : 'default', + _failIfMajorPerformanceCaveat = parameters.failIfMajorPerformanceCaveat !== undefined ? parameters.failIfMajorPerformanceCaveat : false; - materials[ data.uuid ] = array; + let currentRenderList = null; + let currentRenderState = null; // render() can be called from within a callback triggered by another render. + // We track this so that the nested render call gets its list and state isolated from the parent render call. - } else { + const renderListStack = []; + const renderStateStack = []; // public properties - if ( cache[ data.uuid ] === undefined ) { + this.domElement = _canvas; // Debug configuration container - cache[ data.uuid ] = loader.parse( data ); + this.debug = { + /** + * Enables error checking and reporting when shader programs are being compiled + * @type {boolean} + */ + checkShaderErrors: true + }; // clearing - } + this.autoClear = true; + this.autoClearColor = true; + this.autoClearDepth = true; + this.autoClearStencil = true; // scene graph - materials[ data.uuid ] = cache[ data.uuid ]; + this.sortObjects = true; // user-defined clipping - } + this.clippingPlanes = []; + this.localClippingEnabled = false; // physically based shading - } + this.gammaFactor = 2.0; // for backwards compatibility - } + this.outputEncoding = LinearEncoding; // physical lights - return materials; + this.physicallyCorrectLights = false; // tone mapping - }, + this.toneMapping = NoToneMapping; + this.toneMappingExposure = 1.0; // internal properties - parseAnimations: function ( json ) { + const _this = this; - var animations = []; + let _isContextLost = false; // internal state cache - for ( var i = 0; i < json.length; i ++ ) { + let _currentActiveCubeFace = 0; + let _currentActiveMipmapLevel = 0; + let _currentRenderTarget = null; - var data = json[ i ]; + let _currentMaterialId = -1; - var clip = AnimationClip.parse( data ); + let _currentCamera = null; - if ( data.uuid !== undefined ) clip.uuid = data.uuid; + const _currentViewport = new Vector4(); - animations.push( clip ); + const _currentScissor = new Vector4(); - } + let _currentScissorTest = null; // - return animations; + let _width = _canvas.width; + let _height = _canvas.height; + let _pixelRatio = 1; + let _opaqueSort = null; + let _transparentSort = null; - }, + const _viewport = new Vector4(0, 0, _width, _height); - parseImages: function ( json, onLoad ) { + const _scissor = new Vector4(0, 0, _width, _height); - var scope = this; - var images = {}; + let _scissorTest = false; // - function loadImage( url ) { + const _currentDrawBuffers = []; // frustum - scope.manager.itemStart( url ); + const _frustum = new Frustum(); // clipping - return loader.load( url, function () { - scope.manager.itemEnd( url ); + let _clippingEnabled = false; + let _localClippingEnabled = false; // transmission - }, undefined, function () { + let _transmissionRenderTarget = null; // camera matrices cache - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); + const _projScreenMatrix = new Matrix4(); - } ); + const _vector3 = new Vector3(); - } + const _emptyScene = { + background: null, + fog: null, + environment: null, + overrideMaterial: null, + isScene: true + }; - if ( json !== undefined && json.length > 0 ) { + function getTargetPixelRatio() { + return _currentRenderTarget === null ? _pixelRatio : 1; + } // initialize - var manager = new LoadingManager( onLoad ); - var loader = new ImageLoader( manager ); - loader.setCrossOrigin( this.crossOrigin ); + let _gl = _context; - for ( var i = 0, il = json.length; i < il; i ++ ) { + function getContext(contextNames, contextAttributes) { + for (let i = 0; i < contextNames.length; i++) { + const contextName = contextNames[i]; - var image = json[ i ]; - var url = image.url; + const context = _canvas.getContext(contextName, contextAttributes); - if ( Array.isArray( url ) ) { + if (context !== null) return context; + } - // load array of images e.g CubeTexture + return null; + } - images[ image.uuid ] = []; + try { + const contextAttributes = { + alpha: _alpha, + depth: _depth, + stencil: _stencil, + antialias: _antialias, + premultipliedAlpha: _premultipliedAlpha, + preserveDrawingBuffer: _preserveDrawingBuffer, + powerPreference: _powerPreference, + failIfMajorPerformanceCaveat: _failIfMajorPerformanceCaveat + }; // event listeners must be registered before WebGL context is created, see #12753 - for ( var j = 0, jl = url.length; j < jl; j ++ ) { + _canvas.addEventListener('webglcontextlost', onContextLost, false); - var currentUrl = url[ j ]; + _canvas.addEventListener('webglcontextrestored', onContextRestore, false); - var path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( currentUrl ) ? currentUrl : scope.resourcePath + currentUrl; + if (_gl === null) { + const contextNames = ['webgl2', 'webgl', 'experimental-webgl']; - images[ image.uuid ].push( loadImage( path ) ); + if (_this.isWebGL1Renderer === true) { + contextNames.shift(); + } - } + _gl = getContext(contextNames, contextAttributes); + if (_gl === null) { + if (getContext(contextNames)) { + throw new Error('Error creating WebGL context with your selected attributes.'); } else { + throw new Error('Error creating WebGL context.'); + } + } + } // Some experimental-webgl implementations do not have getShaderPrecisionFormat - // load single image - var path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test( image.url ) ? image.url : scope.resourcePath + image.url; + if (_gl.getShaderPrecisionFormat === undefined) { + _gl.getShaderPrecisionFormat = function () { + return { + 'rangeMin': 1, + 'rangeMax': 1, + 'precision': 1 + }; + }; + } + } catch (error) { + console.error('THREE.WebGLRenderer: ' + error.message); + throw error; + } - images[ image.uuid ] = loadImage( path ); + let extensions, capabilities, state, info; + let properties, textures, cubemaps, cubeuvmaps, attributes, geometries, objects; + let programCache, materials, renderLists, renderStates, clipping, shadowMap; + let background, morphtargets, bufferRenderer, indexedBufferRenderer; + let utils, bindingStates; - } + function initGLContext() { + extensions = new WebGLExtensions(_gl); + capabilities = new WebGLCapabilities(_gl, extensions, parameters); + extensions.init(capabilities); + utils = new WebGLUtils(_gl, extensions, capabilities); + state = new WebGLState(_gl, extensions, capabilities); + _currentDrawBuffers[0] = _gl.BACK; + info = new WebGLInfo(_gl); + properties = new WebGLProperties(); + textures = new WebGLTextures(_gl, extensions, state, properties, capabilities, utils, info); + cubemaps = new WebGLCubeMaps(_this); + cubeuvmaps = new WebGLCubeUVMaps(_this); + attributes = new WebGLAttributes(_gl, capabilities); + bindingStates = new WebGLBindingStates(_gl, extensions, attributes, capabilities); + geometries = new WebGLGeometries(_gl, attributes, info, bindingStates); + objects = new WebGLObjects(_gl, geometries, attributes, info); + morphtargets = new WebGLMorphtargets(_gl); + clipping = new WebGLClipping(properties); + programCache = new WebGLPrograms(_this, cubemaps, cubeuvmaps, extensions, capabilities, bindingStates, clipping); + materials = new WebGLMaterials(properties); + renderLists = new WebGLRenderLists(properties); + renderStates = new WebGLRenderStates(extensions, capabilities); + background = new WebGLBackground(_this, cubemaps, state, objects, _premultipliedAlpha); + shadowMap = new WebGLShadowMap(_this, objects, capabilities); + bufferRenderer = new WebGLBufferRenderer(_gl, extensions, info, capabilities); + indexedBufferRenderer = new WebGLIndexedBufferRenderer(_gl, extensions, info, capabilities); + info.programs = programCache.programs; + _this.capabilities = capabilities; + _this.extensions = extensions; + _this.properties = properties; + _this.renderLists = renderLists; + _this.shadowMap = shadowMap; + _this.state = state; + _this.info = info; + } - } + initGLContext(); // xr - } + const xr = new WebXRManager(_this, _gl); + this.xr = xr; // API - return images; + this.getContext = function () { + return _gl; + }; - }, + this.getContextAttributes = function () { + return _gl.getContextAttributes(); + }; - parseTextures: function ( json, images ) { + this.forceContextLoss = function () { + const extension = extensions.get('WEBGL_lose_context'); + if (extension) extension.loseContext(); + }; - function parseConstant( value, type ) { + this.forceContextRestore = function () { + const extension = extensions.get('WEBGL_lose_context'); + if (extension) extension.restoreContext(); + }; - if ( typeof value === 'number' ) return value; + this.getPixelRatio = function () { + return _pixelRatio; + }; - console.warn( 'THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value ); + this.setPixelRatio = function (value) { + if (value === undefined) return; + _pixelRatio = value; + this.setSize(_width, _height, false); + }; - return type[ value ]; + this.getSize = function (target) { + return target.set(_width, _height); + }; + this.setSize = function (width, height, updateStyle) { + if (xr.isPresenting) { + console.warn('THREE.WebGLRenderer: Can\'t change size while VR device is presenting.'); + return; } - var textures = {}; + _width = width; + _height = height; + _canvas.width = Math.floor(width * _pixelRatio); + _canvas.height = Math.floor(height * _pixelRatio); + + if (updateStyle !== false) { + _canvas.style.width = width + 'px'; + _canvas.style.height = height + 'px'; + } - if ( json !== undefined ) { + this.setViewport(0, 0, width, height); + }; - for ( var i = 0, l = json.length; i < l; i ++ ) { + this.getDrawingBufferSize = function (target) { + return target.set(_width * _pixelRatio, _height * _pixelRatio).floor(); + }; - var data = json[ i ]; + this.setDrawingBufferSize = function (width, height, pixelRatio) { + _width = width; + _height = height; + _pixelRatio = pixelRatio; + _canvas.width = Math.floor(width * pixelRatio); + _canvas.height = Math.floor(height * pixelRatio); + this.setViewport(0, 0, width, height); + }; - if ( data.image === undefined ) { + this.getCurrentViewport = function (target) { + return target.copy(_currentViewport); + }; - console.warn( 'THREE.ObjectLoader: No "image" specified for', data.uuid ); + this.getViewport = function (target) { + return target.copy(_viewport); + }; - } + this.setViewport = function (x, y, width, height) { + if (x.isVector4) { + _viewport.set(x.x, x.y, x.z, x.w); + } else { + _viewport.set(x, y, width, height); + } - if ( images[ data.image ] === undefined ) { + state.viewport(_currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor()); + }; - console.warn( 'THREE.ObjectLoader: Undefined image', data.image ); + this.getScissor = function (target) { + return target.copy(_scissor); + }; - } + this.setScissor = function (x, y, width, height) { + if (x.isVector4) { + _scissor.set(x.x, x.y, x.z, x.w); + } else { + _scissor.set(x, y, width, height); + } - var texture; + state.scissor(_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor()); + }; - if ( Array.isArray( images[ data.image ] ) ) { + this.getScissorTest = function () { + return _scissorTest; + }; - texture = new CubeTexture( images[ data.image ] ); + this.setScissorTest = function (boolean) { + state.setScissorTest(_scissorTest = boolean); + }; - } else { + this.setOpaqueSort = function (method) { + _opaqueSort = method; + }; - texture = new Texture( images[ data.image ] ); + this.setTransparentSort = function (method) { + _transparentSort = method; + }; // Clearing - } - texture.needsUpdate = true; + this.getClearColor = function (target) { + return target.copy(background.getClearColor()); + }; - texture.uuid = data.uuid; + this.setClearColor = function () { + background.setClearColor.apply(background, arguments); + }; - if ( data.name !== undefined ) texture.name = data.name; + this.getClearAlpha = function () { + return background.getClearAlpha(); + }; - if ( data.mapping !== undefined ) texture.mapping = parseConstant( data.mapping, TEXTURE_MAPPING ); + this.setClearAlpha = function () { + background.setClearAlpha.apply(background, arguments); + }; - if ( data.offset !== undefined ) texture.offset.fromArray( data.offset ); - if ( data.repeat !== undefined ) texture.repeat.fromArray( data.repeat ); - if ( data.center !== undefined ) texture.center.fromArray( data.center ); - if ( data.rotation !== undefined ) texture.rotation = data.rotation; + this.clear = function (color, depth, stencil) { + let bits = 0; + if (color === undefined || color) bits |= _gl.COLOR_BUFFER_BIT; + if (depth === undefined || depth) bits |= _gl.DEPTH_BUFFER_BIT; + if (stencil === undefined || stencil) bits |= _gl.STENCIL_BUFFER_BIT; - if ( data.wrap !== undefined ) { + _gl.clear(bits); + }; - texture.wrapS = parseConstant( data.wrap[ 0 ], TEXTURE_WRAPPING ); - texture.wrapT = parseConstant( data.wrap[ 1 ], TEXTURE_WRAPPING ); + this.clearColor = function () { + this.clear(true, false, false); + }; - } + this.clearDepth = function () { + this.clear(false, true, false); + }; - if ( data.format !== undefined ) texture.format = data.format; - if ( data.type !== undefined ) texture.type = data.type; - if ( data.encoding !== undefined ) texture.encoding = data.encoding; + this.clearStencil = function () { + this.clear(false, false, true); + }; // - if ( data.minFilter !== undefined ) texture.minFilter = parseConstant( data.minFilter, TEXTURE_FILTER ); - if ( data.magFilter !== undefined ) texture.magFilter = parseConstant( data.magFilter, TEXTURE_FILTER ); - if ( data.anisotropy !== undefined ) texture.anisotropy = data.anisotropy; - if ( data.flipY !== undefined ) texture.flipY = data.flipY; + this.dispose = function () { + _canvas.removeEventListener('webglcontextlost', onContextLost, false); - if ( data.premultiplyAlpha !== undefined ) texture.premultiplyAlpha = data.premultiplyAlpha; - if ( data.unpackAlignment !== undefined ) texture.unpackAlignment = data.unpackAlignment; + _canvas.removeEventListener('webglcontextrestored', onContextRestore, false); - textures[ data.uuid ] = texture; + renderLists.dispose(); + renderStates.dispose(); + properties.dispose(); + cubemaps.dispose(); + cubeuvmaps.dispose(); + objects.dispose(); + bindingStates.dispose(); + xr.dispose(); + xr.removeEventListener('sessionstart', onXRSessionStart); + xr.removeEventListener('sessionend', onXRSessionEnd); - } + if (_transmissionRenderTarget) { + _transmissionRenderTarget.dispose(); + _transmissionRenderTarget = null; } - return textures; - - }, + animation.stop(); + }; // Events - parseObject: function ( data, geometries, materials ) { - var object; + function onContextLost(event) { + event.preventDefault(); + console.log('THREE.WebGLRenderer: Context Lost.'); + _isContextLost = true; + } - function getGeometry( name ) { + function onContextRestore() { + console.log('THREE.WebGLRenderer: Context Restored.'); + _isContextLost = false; + const infoAutoReset = info.autoReset; + const shadowMapEnabled = shadowMap.enabled; + const shadowMapAutoUpdate = shadowMap.autoUpdate; + const shadowMapNeedsUpdate = shadowMap.needsUpdate; + const shadowMapType = shadowMap.type; + initGLContext(); + info.autoReset = infoAutoReset; + shadowMap.enabled = shadowMapEnabled; + shadowMap.autoUpdate = shadowMapAutoUpdate; + shadowMap.needsUpdate = shadowMapNeedsUpdate; + shadowMap.type = shadowMapType; + } - if ( geometries[ name ] === undefined ) { + function onMaterialDispose(event) { + const material = event.target; + material.removeEventListener('dispose', onMaterialDispose); + deallocateMaterial(material); + } // Buffer deallocation - console.warn( 'THREE.ObjectLoader: Undefined geometry', name ); - } + function deallocateMaterial(material) { + releaseMaterialProgramReferences(material); + properties.remove(material); + } - return geometries[ name ]; + function releaseMaterialProgramReferences(material) { + const programs = properties.get(material).programs; + if (programs !== undefined) { + programs.forEach(function (program) { + programCache.releaseProgram(program); + }); } + } // Buffer rendering - function getMaterial( name ) { - - if ( name === undefined ) return undefined; - - if ( Array.isArray( name ) ) { - - var array = []; - for ( var i = 0, l = name.length; i < l; i ++ ) { - - var uuid = name[ i ]; - - if ( materials[ uuid ] === undefined ) { - - console.warn( 'THREE.ObjectLoader: Undefined material', uuid ); - - } + function renderObjectImmediate(object, program) { + object.render(function (object) { + _this.renderBufferImmediate(object, program); + }); + } - array.push( materials[ uuid ] ); + this.renderBufferImmediate = function (object, program) { + bindingStates.initAttributes(); + const buffers = properties.get(object); + if (object.hasPositions && !buffers.position) buffers.position = _gl.createBuffer(); + if (object.hasNormals && !buffers.normal) buffers.normal = _gl.createBuffer(); + if (object.hasUvs && !buffers.uv) buffers.uv = _gl.createBuffer(); + if (object.hasColors && !buffers.color) buffers.color = _gl.createBuffer(); + const programAttributes = program.getAttributes(); - } + if (object.hasPositions) { + _gl.bindBuffer(_gl.ARRAY_BUFFER, buffers.position); - return array; + _gl.bufferData(_gl.ARRAY_BUFFER, object.positionArray, _gl.DYNAMIC_DRAW); - } + bindingStates.enableAttribute(programAttributes.position.location); - if ( materials[ name ] === undefined ) { + _gl.vertexAttribPointer(programAttributes.position.location, 3, _gl.FLOAT, false, 0, 0); + } - console.warn( 'THREE.ObjectLoader: Undefined material', name ); + if (object.hasNormals) { + _gl.bindBuffer(_gl.ARRAY_BUFFER, buffers.normal); - } + _gl.bufferData(_gl.ARRAY_BUFFER, object.normalArray, _gl.DYNAMIC_DRAW); - return materials[ name ]; + bindingStates.enableAttribute(programAttributes.normal.location); + _gl.vertexAttribPointer(programAttributes.normal.location, 3, _gl.FLOAT, false, 0, 0); } - switch ( data.type ) { + if (object.hasUvs) { + _gl.bindBuffer(_gl.ARRAY_BUFFER, buffers.uv); - case 'Scene': + _gl.bufferData(_gl.ARRAY_BUFFER, object.uvArray, _gl.DYNAMIC_DRAW); - object = new Scene(); + bindingStates.enableAttribute(programAttributes.uv.location); - if ( data.background !== undefined ) { + _gl.vertexAttribPointer(programAttributes.uv.location, 2, _gl.FLOAT, false, 0, 0); + } - if ( Number.isInteger( data.background ) ) { + if (object.hasColors) { + _gl.bindBuffer(_gl.ARRAY_BUFFER, buffers.color); - object.background = new Color( data.background ); + _gl.bufferData(_gl.ARRAY_BUFFER, object.colorArray, _gl.DYNAMIC_DRAW); - } + bindingStates.enableAttribute(programAttributes.color.location); - } + _gl.vertexAttribPointer(programAttributes.color.location, 3, _gl.FLOAT, false, 0, 0); + } - if ( data.fog !== undefined ) { + bindingStates.disableUnusedAttributes(); - if ( data.fog.type === 'Fog' ) { + _gl.drawArrays(_gl.TRIANGLES, 0, object.count); - object.fog = new Fog( data.fog.color, data.fog.near, data.fog.far ); + object.count = 0; + }; - } else if ( data.fog.type === 'FogExp2' ) { + this.renderBufferDirect = function (camera, scene, geometry, material, object, group) { + if (scene === null) scene = _emptyScene; // renderBufferDirect second parameter used to be fog (could be null) - object.fog = new FogExp2( data.fog.color, data.fog.density ); + const frontFaceCW = object.isMesh && object.matrixWorld.determinant() < 0; + const program = setProgram(camera, scene, material, object); + state.setMaterial(material, frontFaceCW); // - } + let index = geometry.index; + const position = geometry.attributes.position; // - } + if (index === null) { + if (position === undefined || position.count === 0) return; + } else if (index.count === 0) { + return; + } // - break; - case 'PerspectiveCamera': + let rangeFactor = 1; - object = new PerspectiveCamera( data.fov, data.aspect, data.near, data.far ); + if (material.wireframe === true) { + index = geometries.getWireframeAttribute(geometry); + rangeFactor = 2; + } - if ( data.focus !== undefined ) object.focus = data.focus; - if ( data.zoom !== undefined ) object.zoom = data.zoom; - if ( data.filmGauge !== undefined ) object.filmGauge = data.filmGauge; - if ( data.filmOffset !== undefined ) object.filmOffset = data.filmOffset; - if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); + if (geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined) { + morphtargets.update(object, geometry, material, program); + } - break; + bindingStates.setup(object, material, program, geometry, index); + let attribute; + let renderer = bufferRenderer; - case 'OrthographicCamera': + if (index !== null) { + attribute = attributes.get(index); + renderer = indexedBufferRenderer; + renderer.setIndex(attribute); + } // + + + const dataCount = index !== null ? index.count : position.count; + const rangeStart = geometry.drawRange.start * rangeFactor; + const rangeCount = geometry.drawRange.count * rangeFactor; + const groupStart = group !== null ? group.start * rangeFactor : 0; + const groupCount = group !== null ? group.count * rangeFactor : Infinity; + const drawStart = Math.max(rangeStart, groupStart); + const drawEnd = Math.min(dataCount, rangeStart + rangeCount, groupStart + groupCount) - 1; + const drawCount = Math.max(0, drawEnd - drawStart + 1); + if (drawCount === 0) return; // + + if (object.isMesh) { + if (material.wireframe === true) { + state.setLineWidth(material.wireframeLinewidth * getTargetPixelRatio()); + renderer.setMode(_gl.LINES); + } else { + renderer.setMode(_gl.TRIANGLES); + } + } else if (object.isLine) { + let lineWidth = material.linewidth; + if (lineWidth === undefined) lineWidth = 1; // Not using Line*Material - object = new OrthographicCamera( data.left, data.right, data.top, data.bottom, data.near, data.far ); + state.setLineWidth(lineWidth * getTargetPixelRatio()); - if ( data.zoom !== undefined ) object.zoom = data.zoom; - if ( data.view !== undefined ) object.view = Object.assign( {}, data.view ); + if (object.isLineSegments) { + renderer.setMode(_gl.LINES); + } else if (object.isLineLoop) { + renderer.setMode(_gl.LINE_LOOP); + } else { + renderer.setMode(_gl.LINE_STRIP); + } + } else if (object.isPoints) { + renderer.setMode(_gl.POINTS); + } else if (object.isSprite) { + renderer.setMode(_gl.TRIANGLES); + } - break; + if (object.isInstancedMesh) { + renderer.renderInstances(drawStart, drawCount, object.count); + } else if (geometry.isInstancedBufferGeometry) { + const instanceCount = Math.min(geometry.instanceCount, geometry._maxInstanceCount); + renderer.renderInstances(drawStart, drawCount, instanceCount); + } else { + renderer.render(drawStart, drawCount); + } + }; // Compile - case 'AmbientLight': - object = new AmbientLight( data.color, data.intensity ); + this.compile = function (scene, camera) { + currentRenderState = renderStates.get(scene); + currentRenderState.init(); + renderStateStack.push(currentRenderState); + scene.traverseVisible(function (object) { + if (object.isLight && object.layers.test(camera.layers)) { + currentRenderState.pushLight(object); - break; + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } + }); + currentRenderState.setupLights(_this.physicallyCorrectLights); + scene.traverse(function (object) { + const material = object.material; - case 'DirectionalLight': + if (material) { + if (Array.isArray(material)) { + for (let i = 0; i < material.length; i++) { + const material2 = material[i]; + getProgram(material2, scene, object); + } + } else { + getProgram(material, scene, object); + } + } + }); + renderStateStack.pop(); + currentRenderState = null; + }; // Animation Loop - object = new DirectionalLight( data.color, data.intensity ); - break; + let onAnimationFrameCallback = null; - case 'PointLight': + function onAnimationFrame(time) { + if (onAnimationFrameCallback) onAnimationFrameCallback(time); + } - object = new PointLight( data.color, data.intensity, data.distance, data.decay ); + function onXRSessionStart() { + animation.stop(); + } - break; + function onXRSessionEnd() { + animation.start(); + } - case 'RectAreaLight': + const animation = new WebGLAnimation(); + animation.setAnimationLoop(onAnimationFrame); + if (typeof window !== 'undefined') animation.setContext(window); - object = new RectAreaLight( data.color, data.intensity, data.width, data.height ); + this.setAnimationLoop = function (callback) { + onAnimationFrameCallback = callback; + xr.setAnimationLoop(callback); + callback === null ? animation.stop() : animation.start(); + }; - break; + xr.addEventListener('sessionstart', onXRSessionStart); + xr.addEventListener('sessionend', onXRSessionEnd); // Rendering - case 'SpotLight': + this.render = function (scene, camera) { + if (camera !== undefined && camera.isCamera !== true) { + console.error('THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.'); + return; + } - object = new SpotLight( data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay ); + if (_isContextLost === true) return; // update scene graph - break; + if (scene.autoUpdate === true) scene.updateMatrixWorld(); // update camera matrices and frustum - case 'HemisphereLight': + if (camera.parent === null) camera.updateMatrixWorld(); - object = new HemisphereLight( data.color, data.groundColor, data.intensity ); + if (xr.enabled === true && xr.isPresenting === true) { + if (xr.cameraAutoUpdate === true) xr.updateCamera(camera); + camera = xr.getCamera(); // use XR camera for rendering + } // - break; - case 'SkinnedMesh': + if (scene.isScene === true) scene.onBeforeRender(_this, scene, camera, _currentRenderTarget); + currentRenderState = renderStates.get(scene, renderStateStack.length); + currentRenderState.init(); + renderStateStack.push(currentRenderState); - console.warn( 'THREE.ObjectLoader.parseObject() does not support SkinnedMesh yet.' ); + _projScreenMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse); - case 'Mesh': + _frustum.setFromProjectionMatrix(_projScreenMatrix); - var geometry = getGeometry( data.geometry ); - var material = getMaterial( data.material ); + _localClippingEnabled = this.localClippingEnabled; + _clippingEnabled = clipping.init(this.clippingPlanes, _localClippingEnabled, camera); + currentRenderList = renderLists.get(scene, renderListStack.length); + currentRenderList.init(); + renderListStack.push(currentRenderList); + projectObject(scene, camera, 0, _this.sortObjects); + currentRenderList.finish(); - if ( geometry.bones && geometry.bones.length > 0 ) { + if (_this.sortObjects === true) { + currentRenderList.sort(_opaqueSort, _transparentSort); + } // - object = new SkinnedMesh( geometry, material ); - } else { + if (_clippingEnabled === true) clipping.beginShadows(); + const shadowsArray = currentRenderState.state.shadowsArray; + shadowMap.render(shadowsArray, scene, camera); + if (_clippingEnabled === true) clipping.endShadows(); // - object = new Mesh( geometry, material ); + if (this.info.autoReset === true) this.info.reset(); // - } + background.render(currentRenderList, scene); // render scene - if ( data.drawMode !== undefined ) object.setDrawMode( data.drawMode ); + currentRenderState.setupLights(_this.physicallyCorrectLights); - break; + if (camera.isArrayCamera) { + const cameras = camera.cameras; - case 'LOD': + for (let i = 0, l = cameras.length; i < l; i++) { + const camera2 = cameras[i]; + renderScene(currentRenderList, scene, camera2, camera2.viewport); + } + } else { + renderScene(currentRenderList, scene, camera); + } // - object = new LOD(); - break; + if (_currentRenderTarget !== null) { + // resolve multisample renderbuffers to a single-sample texture if necessary + textures.updateMultisampleRenderTarget(_currentRenderTarget); // Generate mipmap if we're using any kind of mipmap filtering - case 'Line': + textures.updateRenderTargetMipmap(_currentRenderTarget); + } // - object = new Line( getGeometry( data.geometry ), getMaterial( data.material ), data.mode ); - break; + if (scene.isScene === true) scene.onAfterRender(_this, scene, camera); // Ensure depth buffer writing is enabled so it can be cleared on next render - case 'LineLoop': + state.buffers.depth.setTest(true); + state.buffers.depth.setMask(true); + state.buffers.color.setMask(true); + state.setPolygonOffset(false); // _gl.finish(); - object = new LineLoop( getGeometry( data.geometry ), getMaterial( data.material ) ); + bindingStates.resetDefaultState(); + _currentMaterialId = -1; + _currentCamera = null; + renderStateStack.pop(); - break; + if (renderStateStack.length > 0) { + currentRenderState = renderStateStack[renderStateStack.length - 1]; + } else { + currentRenderState = null; + } - case 'LineSegments': + renderListStack.pop(); - object = new LineSegments( getGeometry( data.geometry ), getMaterial( data.material ) ); + if (renderListStack.length > 0) { + currentRenderList = renderListStack[renderListStack.length - 1]; + } else { + currentRenderList = null; + } + }; - break; + function projectObject(object, camera, groupOrder, sortObjects) { + if (object.visible === false) return; + const visible = object.layers.test(camera.layers); - case 'PointCloud': - case 'Points': + if (visible) { + if (object.isGroup) { + groupOrder = object.renderOrder; + } else if (object.isLOD) { + if (object.autoUpdate === true) object.update(camera); + } else if (object.isLight) { + currentRenderState.pushLight(object); - object = new Points( getGeometry( data.geometry ), getMaterial( data.material ) ); + if (object.castShadow) { + currentRenderState.pushShadow(object); + } + } else if (object.isSprite) { + if (!object.frustumCulled || _frustum.intersectsSprite(object)) { + if (sortObjects) { + _vector3.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix); + } - break; + const geometry = objects.update(object); + const material = object.material; - case 'Sprite': + if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector3.z, null); + } + } + } else if (object.isImmediateRenderObject) { + if (sortObjects) { + _vector3.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix); + } - object = new Sprite( getMaterial( data.material ) ); + currentRenderList.push(object, null, object.material, groupOrder, _vector3.z, null); + } else if (object.isMesh || object.isLine || object.isPoints) { + if (object.isSkinnedMesh) { + // update skeleton only once in a frame + if (object.skeleton.frame !== info.render.frame) { + object.skeleton.update(); + object.skeleton.frame = info.render.frame; + } + } - break; + if (!object.frustumCulled || _frustum.intersectsObject(object)) { + if (sortObjects) { + _vector3.setFromMatrixPosition(object.matrixWorld).applyMatrix4(_projScreenMatrix); + } - case 'Group': + const geometry = objects.update(object); + const material = object.material; - object = new Group(); + if (Array.isArray(material)) { + const groups = geometry.groups; - break; + for (let i = 0, l = groups.length; i < l; i++) { + const group = groups[i]; + const groupMaterial = material[group.materialIndex]; - default: + if (groupMaterial && groupMaterial.visible) { + currentRenderList.push(object, geometry, groupMaterial, groupOrder, _vector3.z, group); + } + } + } else if (material.visible) { + currentRenderList.push(object, geometry, material, groupOrder, _vector3.z, null); + } + } + } + } - object = new Object3D(); + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + projectObject(children[i], camera, groupOrder, sortObjects); } + } - object.uuid = data.uuid; - - if ( data.name !== undefined ) object.name = data.name; + function renderScene(currentRenderList, scene, camera, viewport) { + const opaqueObjects = currentRenderList.opaque; + const transmissiveObjects = currentRenderList.transmissive; + const transparentObjects = currentRenderList.transparent; + currentRenderState.setupLightsView(camera); + if (transmissiveObjects.length > 0) renderTransmissionPass(opaqueObjects, scene, camera); + if (viewport) state.viewport(_currentViewport.copy(viewport)); + if (opaqueObjects.length > 0) renderObjects(opaqueObjects, scene, camera); + if (transmissiveObjects.length > 0) renderObjects(transmissiveObjects, scene, camera); + if (transparentObjects.length > 0) renderObjects(transparentObjects, scene, camera); + } - if ( data.matrix !== undefined ) { + function renderTransmissionPass(opaqueObjects, scene, camera) { + if (_transmissionRenderTarget === null) { + const needsAntialias = _antialias === true && capabilities.isWebGL2 === true; + const renderTargetType = needsAntialias ? WebGLMultisampleRenderTarget : WebGLRenderTarget; + _transmissionRenderTarget = new renderTargetType(1024, 1024, { + generateMipmaps: true, + type: utils.convert(HalfFloatType) !== null ? HalfFloatType : UnsignedByteType, + minFilter: LinearMipmapLinearFilter, + magFilter: NearestFilter, + wrapS: ClampToEdgeWrapping, + wrapT: ClampToEdgeWrapping + }); + } - object.matrix.fromArray( data.matrix ); + const currentRenderTarget = _this.getRenderTarget(); - if ( data.matrixAutoUpdate !== undefined ) object.matrixAutoUpdate = data.matrixAutoUpdate; - if ( object.matrixAutoUpdate ) object.matrix.decompose( object.position, object.quaternion, object.scale ); + _this.setRenderTarget(_transmissionRenderTarget); - } else { + _this.clear(); // Turn off the features which can affect the frag color for opaque objects pass. + // Otherwise they are applied twice in opaque objects pass and transmission objects pass. - if ( data.position !== undefined ) object.position.fromArray( data.position ); - if ( data.rotation !== undefined ) object.rotation.fromArray( data.rotation ); - if ( data.quaternion !== undefined ) object.quaternion.fromArray( data.quaternion ); - if ( data.scale !== undefined ) object.scale.fromArray( data.scale ); - } + const currentToneMapping = _this.toneMapping; + _this.toneMapping = NoToneMapping; + renderObjects(opaqueObjects, scene, camera); + _this.toneMapping = currentToneMapping; + textures.updateMultisampleRenderTarget(_transmissionRenderTarget); + textures.updateRenderTargetMipmap(_transmissionRenderTarget); - if ( data.castShadow !== undefined ) object.castShadow = data.castShadow; - if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow; + _this.setRenderTarget(currentRenderTarget); + } - if ( data.shadow ) { + function renderObjects(renderList, scene, camera) { + const overrideMaterial = scene.isScene === true ? scene.overrideMaterial : null; - if ( data.shadow.bias !== undefined ) object.shadow.bias = data.shadow.bias; - if ( data.shadow.radius !== undefined ) object.shadow.radius = data.shadow.radius; - if ( data.shadow.mapSize !== undefined ) object.shadow.mapSize.fromArray( data.shadow.mapSize ); - if ( data.shadow.camera !== undefined ) object.shadow.camera = this.parseObject( data.shadow.camera ); + for (let i = 0, l = renderList.length; i < l; i++) { + const renderItem = renderList[i]; + const object = renderItem.object; + const geometry = renderItem.geometry; + const material = overrideMaterial === null ? renderItem.material : overrideMaterial; + const group = renderItem.group; + if (object.layers.test(camera.layers)) { + renderObject(object, scene, camera, geometry, material, group); + } } + } - if ( data.visible !== undefined ) object.visible = data.visible; - if ( data.frustumCulled !== undefined ) object.frustumCulled = data.frustumCulled; - if ( data.renderOrder !== undefined ) object.renderOrder = data.renderOrder; - if ( data.userData !== undefined ) object.userData = data.userData; - if ( data.layers !== undefined ) object.layers.mask = data.layers; + function renderObject(object, scene, camera, geometry, material, group) { + object.onBeforeRender(_this, scene, camera, geometry, material, group); + object.modelViewMatrix.multiplyMatrices(camera.matrixWorldInverse, object.matrixWorld); + object.normalMatrix.getNormalMatrix(object.modelViewMatrix); - if ( data.children !== undefined ) { + if (object.isImmediateRenderObject) { + const program = setProgram(camera, scene, material, object); + state.setMaterial(material); + bindingStates.reset(); + renderObjectImmediate(object, program); + } else { + if (material.transparent === true && material.side === DoubleSide) { + material.side = BackSide; + material.needsUpdate = true; - var children = data.children; + _this.renderBufferDirect(camera, scene, geometry, material, object, group); - for ( var i = 0; i < children.length; i ++ ) { + material.side = FrontSide; + material.needsUpdate = true; - object.add( this.parseObject( children[ i ], geometries, materials ) ); + _this.renderBufferDirect(camera, scene, geometry, material, object, group); + material.side = DoubleSide; + } else { + _this.renderBufferDirect(camera, scene, geometry, material, object, group); } - } - if ( data.type === 'LOD' ) { - - var levels = data.levels; + object.onAfterRender(_this, scene, camera, geometry, material, group); + } - for ( var l = 0; l < levels.length; l ++ ) { + function getProgram(material, scene, object) { + if (scene.isScene !== true) scene = _emptyScene; // scene could be a Mesh, Line, Points, ... - var level = levels[ l ]; - var child = object.getObjectByProperty( 'uuid', level.object ); + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + const shadowsArray = currentRenderState.state.shadowsArray; + const lightsStateVersion = lights.state.version; + const parameters = programCache.getParameters(material, lights.state, shadowsArray, scene, object); + const programCacheKey = programCache.getProgramCacheKey(parameters); + let programs = materialProperties.programs; // always update environment and fog - changing these trigger an getProgram call, but it's possible that the program doesn't change - if ( child !== undefined ) { + materialProperties.environment = material.isMeshStandardMaterial ? scene.environment : null; + materialProperties.fog = scene.fog; + materialProperties.envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || materialProperties.environment); - object.addLevel( child, level.distance ); + if (programs === undefined) { + // new material + material.addEventListener('dispose', onMaterialDispose); + programs = new Map(); + materialProperties.programs = programs; + } - } + let program = programs.get(programCacheKey); + if (program !== undefined) { + // early out if program and light state is identical + if (materialProperties.currentProgram === program && materialProperties.lightsStateVersion === lightsStateVersion) { + updateCommonMaterialProperties(material, parameters); + return program; } - + } else { + parameters.uniforms = programCache.getUniforms(material); + material.onBuild(parameters, _this); + material.onBeforeCompile(parameters, _this); + program = programCache.acquireProgram(parameters, programCacheKey); + programs.set(programCacheKey, program); + materialProperties.uniforms = parameters.uniforms; } - return object; - - } - - } ); - - var TEXTURE_MAPPING = { - UVMapping: UVMapping, - CubeReflectionMapping: CubeReflectionMapping, - CubeRefractionMapping: CubeRefractionMapping, - EquirectangularReflectionMapping: EquirectangularReflectionMapping, - EquirectangularRefractionMapping: EquirectangularRefractionMapping, - SphericalReflectionMapping: SphericalReflectionMapping, - CubeUVReflectionMapping: CubeUVReflectionMapping, - CubeUVRefractionMapping: CubeUVRefractionMapping - }; - - var TEXTURE_WRAPPING = { - RepeatWrapping: RepeatWrapping, - ClampToEdgeWrapping: ClampToEdgeWrapping, - MirroredRepeatWrapping: MirroredRepeatWrapping - }; - - var TEXTURE_FILTER = { - NearestFilter: NearestFilter, - NearestMipMapNearestFilter: NearestMipMapNearestFilter, - NearestMipMapLinearFilter: NearestMipMapLinearFilter, - LinearFilter: LinearFilter, - LinearMipMapNearestFilter: LinearMipMapNearestFilter, - LinearMipMapLinearFilter: LinearMipMapLinearFilter - }; + const uniforms = materialProperties.uniforms; - /** - * @author thespite / http://clicktorelease.com/ - */ + if (!material.isShaderMaterial && !material.isRawShaderMaterial || material.clipping === true) { + uniforms.clippingPlanes = clipping.uniform; + } + updateCommonMaterialProperties(material, parameters); // store the light setup it was created for - function ImageBitmapLoader( manager ) { + materialProperties.needsLights = materialNeedsLights(material); + materialProperties.lightsStateVersion = lightsStateVersion; - if ( typeof createImageBitmap === 'undefined' ) { + if (materialProperties.needsLights) { + // wire up the material to this renderer's lighting state + uniforms.ambientLightColor.value = lights.state.ambient; + uniforms.lightProbe.value = lights.state.probe; + uniforms.directionalLights.value = lights.state.directional; + uniforms.directionalLightShadows.value = lights.state.directionalShadow; + uniforms.spotLights.value = lights.state.spot; + uniforms.spotLightShadows.value = lights.state.spotShadow; + uniforms.rectAreaLights.value = lights.state.rectArea; + uniforms.ltc_1.value = lights.state.rectAreaLTC1; + uniforms.ltc_2.value = lights.state.rectAreaLTC2; + uniforms.pointLights.value = lights.state.point; + uniforms.pointLightShadows.value = lights.state.pointShadow; + uniforms.hemisphereLights.value = lights.state.hemi; + uniforms.directionalShadowMap.value = lights.state.directionalShadowMap; + uniforms.directionalShadowMatrix.value = lights.state.directionalShadowMatrix; + uniforms.spotShadowMap.value = lights.state.spotShadowMap; + uniforms.spotShadowMatrix.value = lights.state.spotShadowMatrix; + uniforms.pointShadowMap.value = lights.state.pointShadowMap; + uniforms.pointShadowMatrix.value = lights.state.pointShadowMatrix; // TODO (abelnation): add area lights shadow info to uniforms + } - console.warn( 'THREE.ImageBitmapLoader: createImageBitmap() not supported.' ); + const progUniforms = program.getUniforms(); + const uniformsList = WebGLUniforms.seqWithValue(progUniforms.seq, uniforms); + materialProperties.currentProgram = program; + materialProperties.uniformsList = uniformsList; + return program; + } + function updateCommonMaterialProperties(material, parameters) { + const materialProperties = properties.get(material); + materialProperties.outputEncoding = parameters.outputEncoding; + materialProperties.instancing = parameters.instancing; + materialProperties.skinning = parameters.skinning; + materialProperties.morphTargets = parameters.morphTargets; + materialProperties.morphNormals = parameters.morphNormals; + materialProperties.numClippingPlanes = parameters.numClippingPlanes; + materialProperties.numIntersection = parameters.numClipIntersection; + materialProperties.vertexAlphas = parameters.vertexAlphas; + materialProperties.vertexTangents = parameters.vertexTangents; } - if ( typeof fetch === 'undefined' ) { + function setProgram(camera, scene, material, object) { + if (scene.isScene !== true) scene = _emptyScene; // scene could be a Mesh, Line, Points, ... - console.warn( 'THREE.ImageBitmapLoader: fetch() not supported.' ); + textures.resetTextureUnits(); + const fog = scene.fog; + const environment = material.isMeshStandardMaterial ? scene.environment : null; + const encoding = _currentRenderTarget === null ? _this.outputEncoding : _currentRenderTarget.texture.encoding; + const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment); + const vertexAlphas = material.vertexColors === true && !!object.geometry && !!object.geometry.attributes.color && object.geometry.attributes.color.itemSize === 4; + const vertexTangents = !!object.geometry && !!object.geometry.attributes.tangent; + const morphTargets = !!object.geometry && !!object.geometry.morphAttributes.position; + const morphNormals = !!object.geometry && !!object.geometry.morphAttributes.normal; + const materialProperties = properties.get(material); + const lights = currentRenderState.state.lights; + + if (_clippingEnabled === true) { + if (_localClippingEnabled === true || camera !== _currentCamera) { + const useCache = camera === _currentCamera && material.id === _currentMaterialId; // we might want to call this function with some ClippingGroup + // object instead of the material, once it becomes feasible + // (#8465, #8379) - } + clipping.setState(material, camera, useCache); + } + } // + + + let needsProgramChange = false; + + if (material.version === materialProperties.__version) { + if (materialProperties.needsLights && materialProperties.lightsStateVersion !== lights.state.version) { + needsProgramChange = true; + } else if (materialProperties.outputEncoding !== encoding) { + needsProgramChange = true; + } else if (object.isInstancedMesh && materialProperties.instancing === false) { + needsProgramChange = true; + } else if (!object.isInstancedMesh && materialProperties.instancing === true) { + needsProgramChange = true; + } else if (object.isSkinnedMesh && materialProperties.skinning === false) { + needsProgramChange = true; + } else if (!object.isSkinnedMesh && materialProperties.skinning === true) { + needsProgramChange = true; + } else if (materialProperties.envMap !== envMap) { + needsProgramChange = true; + } else if (material.fog && materialProperties.fog !== fog) { + needsProgramChange = true; + } else if (materialProperties.numClippingPlanes !== undefined && (materialProperties.numClippingPlanes !== clipping.numPlanes || materialProperties.numIntersection !== clipping.numIntersection)) { + needsProgramChange = true; + } else if (materialProperties.vertexAlphas !== vertexAlphas) { + needsProgramChange = true; + } else if (materialProperties.vertexTangents !== vertexTangents) { + needsProgramChange = true; + } else if (materialProperties.morphTargets !== morphTargets) { + needsProgramChange = true; + } else if (materialProperties.morphNormals !== morphNormals) { + needsProgramChange = true; + } + } else { + needsProgramChange = true; + materialProperties.__version = material.version; + } // - this.manager = manager !== undefined ? manager : DefaultLoadingManager; - this.options = undefined; - } + let program = materialProperties.currentProgram; - ImageBitmapLoader.prototype = { + if (needsProgramChange === true) { + program = getProgram(material, scene, object); + } - constructor: ImageBitmapLoader, + let refreshProgram = false; + let refreshMaterial = false; + let refreshLights = false; + const p_uniforms = program.getUniforms(), + m_uniforms = materialProperties.uniforms; - setOptions: function setOptions( options ) { + if (state.useProgram(program.program)) { + refreshProgram = true; + refreshMaterial = true; + refreshLights = true; + } - this.options = options; + if (material.id !== _currentMaterialId) { + _currentMaterialId = material.id; + refreshMaterial = true; + } - return this; + if (refreshProgram || _currentCamera !== camera) { + p_uniforms.setValue(_gl, 'projectionMatrix', camera.projectionMatrix); - }, + if (capabilities.logarithmicDepthBuffer) { + p_uniforms.setValue(_gl, 'logDepthBufFC', 2.0 / (Math.log(camera.far + 1.0) / Math.LN2)); + } - load: function ( url, onLoad, onProgress, onError ) { + if (_currentCamera !== camera) { + _currentCamera = camera; // lighting uniforms depend on the camera so enforce an update + // now, in case this material supports lights - or later, when + // the next material that does gets activated: - if ( url === undefined ) url = ''; + refreshMaterial = true; // set to true on material change - if ( this.path !== undefined ) url = this.path + url; + refreshLights = true; // remains set until update done + } // load material specific uniforms + // (shader material also gets them for the sake of genericity) - url = this.manager.resolveURL( url ); - var scope = this; + if (material.isShaderMaterial || material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshStandardMaterial || material.envMap) { + const uCamPos = p_uniforms.map.cameraPosition; - var cached = Cache.get( url ); + if (uCamPos !== undefined) { + uCamPos.setValue(_gl, _vector3.setFromMatrixPosition(camera.matrixWorld)); + } + } - if ( cached !== undefined ) { + if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial) { + p_uniforms.setValue(_gl, 'isOrthographic', camera.isOrthographicCamera === true); + } - scope.manager.itemStart( url ); + if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial || material.isShadowMaterial || object.isSkinnedMesh) { + p_uniforms.setValue(_gl, 'viewMatrix', camera.matrixWorldInverse); + } + } // skinning uniforms must be set even if material didn't change + // auto-setting of texture unit for bone texture must go before other textures + // otherwise textures used for skinning can take over texture units reserved for other material textures - setTimeout( function () { - if ( onLoad ) onLoad( cached ); + if (object.isSkinnedMesh) { + p_uniforms.setOptional(_gl, object, 'bindMatrix'); + p_uniforms.setOptional(_gl, object, 'bindMatrixInverse'); + const skeleton = object.skeleton; - scope.manager.itemEnd( url ); + if (skeleton) { + if (capabilities.floatVertexTextures) { + if (skeleton.boneTexture === null) skeleton.computeBoneTexture(); + p_uniforms.setValue(_gl, 'boneTexture', skeleton.boneTexture, textures); + p_uniforms.setValue(_gl, 'boneTextureSize', skeleton.boneTextureSize); + } else { + p_uniforms.setOptional(_gl, skeleton, 'boneMatrices'); + } + } + } - }, 0 ); + if (refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow) { + materialProperties.receiveShadow = object.receiveShadow; + p_uniforms.setValue(_gl, 'receiveShadow', object.receiveShadow); + } - return cached; + if (refreshMaterial) { + p_uniforms.setValue(_gl, 'toneMappingExposure', _this.toneMappingExposure); - } + if (materialProperties.needsLights) { + // the current material requires lighting info + // note: all lighting uniforms are always set correctly + // they simply reference the renderer's state for their + // values + // + // use the current material's .needsUpdate flags to set + // the GL state when required + markUniformsLightsNeedsUpdate(m_uniforms, refreshLights); + } // refresh uniforms common to several materials - fetch( url ).then( function ( res ) { - return res.blob(); + if (fog && material.fog) { + materials.refreshFogUniforms(m_uniforms, fog); + } - } ).then( function ( blob ) { + materials.refreshMaterialUniforms(m_uniforms, material, _pixelRatio, _height, _transmissionRenderTarget); + WebGLUniforms.upload(_gl, materialProperties.uniformsList, m_uniforms, textures); + } - if ( scope.options === undefined ) { + if (material.isShaderMaterial && material.uniformsNeedUpdate === true) { + WebGLUniforms.upload(_gl, materialProperties.uniformsList, m_uniforms, textures); + material.uniformsNeedUpdate = false; + } - // Workaround for FireFox. It causes an error if you pass options. - return createImageBitmap( blob ); + if (material.isSpriteMaterial) { + p_uniforms.setValue(_gl, 'center', object.center); + } // common matrices - } else { - return createImageBitmap( blob, scope.options ); + p_uniforms.setValue(_gl, 'modelViewMatrix', object.modelViewMatrix); + p_uniforms.setValue(_gl, 'normalMatrix', object.normalMatrix); + p_uniforms.setValue(_gl, 'modelMatrix', object.matrixWorld); + return program; + } // If uniforms are marked as clean, they don't need to be loaded to the GPU. - } - } ).then( function ( imageBitmap ) { + function markUniformsLightsNeedsUpdate(uniforms, value) { + uniforms.ambientLightColor.needsUpdate = value; + uniforms.lightProbe.needsUpdate = value; + uniforms.directionalLights.needsUpdate = value; + uniforms.directionalLightShadows.needsUpdate = value; + uniforms.pointLights.needsUpdate = value; + uniforms.pointLightShadows.needsUpdate = value; + uniforms.spotLights.needsUpdate = value; + uniforms.spotLightShadows.needsUpdate = value; + uniforms.rectAreaLights.needsUpdate = value; + uniforms.hemisphereLights.needsUpdate = value; + } - Cache.add( url, imageBitmap ); + function materialNeedsLights(material) { + return material.isMeshLambertMaterial || material.isMeshToonMaterial || material.isMeshPhongMaterial || material.isMeshStandardMaterial || material.isShadowMaterial || material.isShaderMaterial && material.lights === true; + } - if ( onLoad ) onLoad( imageBitmap ); + this.getActiveCubeFace = function () { + return _currentActiveCubeFace; + }; - scope.manager.itemEnd( url ); + this.getActiveMipmapLevel = function () { + return _currentActiveMipmapLevel; + }; - } ).catch( function ( e ) { + this.getRenderTarget = function () { + return _currentRenderTarget; + }; - if ( onError ) onError( e ); + this.setRenderTarget = function (renderTarget, activeCubeFace = 0, activeMipmapLevel = 0) { + _currentRenderTarget = renderTarget; + _currentActiveCubeFace = activeCubeFace; + _currentActiveMipmapLevel = activeMipmapLevel; - scope.manager.itemError( url ); - scope.manager.itemEnd( url ); + if (renderTarget && properties.get(renderTarget).__webglFramebuffer === undefined) { + textures.setupRenderTarget(renderTarget); + } - } ); + let framebuffer = null; + let isCube = false; + let isRenderTarget3D = false; - scope.manager.itemStart( url ); + if (renderTarget) { + const texture = renderTarget.texture; - }, + if (texture.isDataTexture3D || texture.isDataTexture2DArray) { + isRenderTarget3D = true; + } - setCrossOrigin: function ( /* value */ ) { + const __webglFramebuffer = properties.get(renderTarget).__webglFramebuffer; - return this; + if (renderTarget.isWebGLCubeRenderTarget) { + framebuffer = __webglFramebuffer[activeCubeFace]; + isCube = true; + } else if (renderTarget.isWebGLMultisampleRenderTarget) { + framebuffer = properties.get(renderTarget).__webglMultisampledFramebuffer; + } else { + framebuffer = __webglFramebuffer; + } - }, + _currentViewport.copy(renderTarget.viewport); - setPath: function ( value ) { + _currentScissor.copy(renderTarget.scissor); - this.path = value; - return this; + _currentScissorTest = renderTarget.scissorTest; + } else { + _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor(); - } + _currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor(); - }; + _currentScissorTest = _scissorTest; + } - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * minimal class for proxing functions to Path. Replaces old "extractSubpaths()" - **/ + const framebufferBound = state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); - function ShapePath() { + if (framebufferBound && capabilities.drawBuffers) { + let needsUpdate = false; - this.type = 'ShapePath'; + if (renderTarget) { + if (renderTarget.isWebGLMultipleRenderTargets) { + const textures = renderTarget.texture; - this.color = new Color(); + if (_currentDrawBuffers.length !== textures.length || _currentDrawBuffers[0] !== _gl.COLOR_ATTACHMENT0) { + for (let i = 0, il = textures.length; i < il; i++) { + _currentDrawBuffers[i] = _gl.COLOR_ATTACHMENT0 + i; + } - this.subPaths = []; - this.currentPath = null; + _currentDrawBuffers.length = textures.length; + needsUpdate = true; + } + } else { + if (_currentDrawBuffers.length !== 1 || _currentDrawBuffers[0] !== _gl.COLOR_ATTACHMENT0) { + _currentDrawBuffers[0] = _gl.COLOR_ATTACHMENT0; + _currentDrawBuffers.length = 1; + needsUpdate = true; + } + } + } else { + if (_currentDrawBuffers.length !== 1 || _currentDrawBuffers[0] !== _gl.BACK) { + _currentDrawBuffers[0] = _gl.BACK; + _currentDrawBuffers.length = 1; + needsUpdate = true; + } + } - } + if (needsUpdate) { + if (capabilities.isWebGL2) { + _gl.drawBuffers(_currentDrawBuffers); + } else { + extensions.get('WEBGL_draw_buffers').drawBuffersWEBGL(_currentDrawBuffers); + } + } + } - Object.assign( ShapePath.prototype, { + state.viewport(_currentViewport); + state.scissor(_currentScissor); + state.setScissorTest(_currentScissorTest); - moveTo: function ( x, y ) { + if (isCube) { + const textureProperties = properties.get(renderTarget.texture); - this.currentPath = new Path(); - this.subPaths.push( this.currentPath ); - this.currentPath.moveTo( x, y ); + _gl.framebufferTexture2D(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, _gl.TEXTURE_CUBE_MAP_POSITIVE_X + activeCubeFace, textureProperties.__webglTexture, activeMipmapLevel); + } else if (isRenderTarget3D) { + const textureProperties = properties.get(renderTarget.texture); + const layer = activeCubeFace || 0; - }, + _gl.framebufferTextureLayer(_gl.FRAMEBUFFER, _gl.COLOR_ATTACHMENT0, textureProperties.__webglTexture, activeMipmapLevel || 0, layer); + } - lineTo: function ( x, y ) { + _currentMaterialId = -1; // reset current material to ensure correct uniform bindings + }; - this.currentPath.lineTo( x, y ); + this.readRenderTargetPixels = function (renderTarget, x, y, width, height, buffer, activeCubeFaceIndex) { + if (!(renderTarget && renderTarget.isWebGLRenderTarget)) { + console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.'); + return; + } - }, + let framebuffer = properties.get(renderTarget).__webglFramebuffer; - quadraticCurveTo: function ( aCPx, aCPy, aX, aY ) { + if (renderTarget.isWebGLCubeRenderTarget && activeCubeFaceIndex !== undefined) { + framebuffer = framebuffer[activeCubeFaceIndex]; + } - this.currentPath.quadraticCurveTo( aCPx, aCPy, aX, aY ); + if (framebuffer) { + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); - }, + try { + const texture = renderTarget.texture; + const textureFormat = texture.format; + const textureType = texture.type; - bezierCurveTo: function ( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ) { + if (textureFormat !== RGBAFormat && utils.convert(textureFormat) !== _gl.getParameter(_gl.IMPLEMENTATION_COLOR_READ_FORMAT)) { + console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.'); + return; + } - this.currentPath.bezierCurveTo( aCP1x, aCP1y, aCP2x, aCP2y, aX, aY ); + const halfFloatSupportedByExt = textureType === HalfFloatType && (extensions.has('EXT_color_buffer_half_float') || capabilities.isWebGL2 && extensions.has('EXT_color_buffer_float')); - }, + if (textureType !== UnsignedByteType && utils.convert(textureType) !== _gl.getParameter(_gl.IMPLEMENTATION_COLOR_READ_TYPE) && // Edge and Chrome Mac < 52 (#9513) + !(textureType === FloatType && (capabilities.isWebGL2 || extensions.has('OES_texture_float') || extensions.has('WEBGL_color_buffer_float'))) && // Chrome Mac >= 52 and Firefox + !halfFloatSupportedByExt) { + console.error('THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.'); + return; + } - splineThru: function ( pts ) { + if (_gl.checkFramebufferStatus(_gl.FRAMEBUFFER) === _gl.FRAMEBUFFER_COMPLETE) { + // the following if statement ensures valid read requests (no out-of-bounds pixels, see #8604) + if (x >= 0 && x <= renderTarget.width - width && y >= 0 && y <= renderTarget.height - height) { + _gl.readPixels(x, y, width, height, utils.convert(textureFormat), utils.convert(textureType), buffer); + } + } else { + console.error('THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.'); + } + } finally { + // restore framebuffer of current render target if necessary + const framebuffer = _currentRenderTarget !== null ? properties.get(_currentRenderTarget).__webglFramebuffer : null; + state.bindFramebuffer(_gl.FRAMEBUFFER, framebuffer); + } + } + }; - this.currentPath.splineThru( pts ); + this.copyFramebufferToTexture = function (position, texture, level = 0) { + const levelScale = Math.pow(2, -level); + const width = Math.floor(texture.image.width * levelScale); + const height = Math.floor(texture.image.height * levelScale); + let glFormat = utils.convert(texture.format); - }, + if (capabilities.isWebGL2) { + // Workaround for https://bugs.chromium.org/p/chromium/issues/detail?id=1120100 + // Not needed in Chrome 93+ + if (glFormat === _gl.RGB) glFormat = _gl.RGB8; + if (glFormat === _gl.RGBA) glFormat = _gl.RGBA8; + } - toShapes: function ( isCCW, noHoles ) { + textures.setTexture2D(texture, 0); - function toShapesNoHoles( inSubpaths ) { + _gl.copyTexImage2D(_gl.TEXTURE_2D, level, glFormat, position.x, position.y, width, height, 0); - var shapes = []; + state.unbindTexture(); + }; - for ( var i = 0, l = inSubpaths.length; i < l; i ++ ) { + this.copyTextureToTexture = function (position, srcTexture, dstTexture, level = 0) { + const width = srcTexture.image.width; + const height = srcTexture.image.height; + const glFormat = utils.convert(dstTexture.format); + const glType = utils.convert(dstTexture.type); + textures.setTexture2D(dstTexture, 0); // As another texture upload may have changed pixelStorei + // parameters, make sure they are correct for the dstTexture - var tmpPath = inSubpaths[ i ]; + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, dstTexture.flipY); - var tmpShape = new Shape(); - tmpShape.curves = tmpPath.curves; + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, dstTexture.premultiplyAlpha); - shapes.push( tmpShape ); + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, dstTexture.unpackAlignment); + if (srcTexture.isDataTexture) { + _gl.texSubImage2D(_gl.TEXTURE_2D, level, position.x, position.y, width, height, glFormat, glType, srcTexture.image.data); + } else { + if (srcTexture.isCompressedTexture) { + _gl.compressedTexSubImage2D(_gl.TEXTURE_2D, level, position.x, position.y, srcTexture.mipmaps[0].width, srcTexture.mipmaps[0].height, glFormat, srcTexture.mipmaps[0].data); + } else { + _gl.texSubImage2D(_gl.TEXTURE_2D, level, position.x, position.y, glFormat, glType, srcTexture.image); } + } // Generate mipmaps only when copying level 0 - return shapes; + if (level === 0 && dstTexture.generateMipmaps) _gl.generateMipmap(_gl.TEXTURE_2D); + state.unbindTexture(); + }; + + this.copyTextureToTexture3D = function (sourceBox, position, srcTexture, dstTexture, level = 0) { + if (_this.isWebGL1Renderer) { + console.warn('THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.'); + return; } - function isPointInsidePolygon( inPt, inPolygon ) { + const width = sourceBox.max.x - sourceBox.min.x + 1; + const height = sourceBox.max.y - sourceBox.min.y + 1; + const depth = sourceBox.max.z - sourceBox.min.z + 1; + const glFormat = utils.convert(dstTexture.format); + const glType = utils.convert(dstTexture.type); + let glTarget; - var polyLen = inPolygon.length; + if (dstTexture.isDataTexture3D) { + textures.setTexture3D(dstTexture, 0); + glTarget = _gl.TEXTURE_3D; + } else if (dstTexture.isDataTexture2DArray) { + textures.setTexture2DArray(dstTexture, 0); + glTarget = _gl.TEXTURE_2D_ARRAY; + } else { + console.warn('THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.'); + return; + } - // inPt on polygon contour => immediate success or - // toggling of inside/outside at every single! intersection point of an edge - // with the horizontal line through inPt, left of inPt - // not counting lowerY endpoints of edges and whole edges on that line - var inside = false; - for ( var p = polyLen - 1, q = 0; q < polyLen; p = q ++ ) { + _gl.pixelStorei(_gl.UNPACK_FLIP_Y_WEBGL, dstTexture.flipY); - var edgeLowPt = inPolygon[ p ]; - var edgeHighPt = inPolygon[ q ]; + _gl.pixelStorei(_gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, dstTexture.premultiplyAlpha); - var edgeDx = edgeHighPt.x - edgeLowPt.x; - var edgeDy = edgeHighPt.y - edgeLowPt.y; + _gl.pixelStorei(_gl.UNPACK_ALIGNMENT, dstTexture.unpackAlignment); - if ( Math.abs( edgeDy ) > Number.EPSILON ) { + const unpackRowLen = _gl.getParameter(_gl.UNPACK_ROW_LENGTH); - // not parallel - if ( edgeDy < 0 ) { + const unpackImageHeight = _gl.getParameter(_gl.UNPACK_IMAGE_HEIGHT); - edgeLowPt = inPolygon[ q ]; edgeDx = - edgeDx; - edgeHighPt = inPolygon[ p ]; edgeDy = - edgeDy; + const unpackSkipPixels = _gl.getParameter(_gl.UNPACK_SKIP_PIXELS); - } - if ( ( inPt.y < edgeLowPt.y ) || ( inPt.y > edgeHighPt.y ) ) continue; + const unpackSkipRows = _gl.getParameter(_gl.UNPACK_SKIP_ROWS); - if ( inPt.y === edgeLowPt.y ) { + const unpackSkipImages = _gl.getParameter(_gl.UNPACK_SKIP_IMAGES); - if ( inPt.x === edgeLowPt.x ) return true; // inPt is on contour ? - // continue; // no intersection or edgeLowPt => doesn't count !!! + const image = srcTexture.isCompressedTexture ? srcTexture.mipmaps[0] : srcTexture.image; - } else { + _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, image.width); - var perpEdge = edgeDy * ( inPt.x - edgeLowPt.x ) - edgeDx * ( inPt.y - edgeLowPt.y ); - if ( perpEdge === 0 ) return true; // inPt is on contour ? - if ( perpEdge < 0 ) continue; - inside = ! inside; // true intersection left of inPt + _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, image.height); - } + _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, sourceBox.min.x); - } else { + _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, sourceBox.min.y); - // parallel or collinear - if ( inPt.y !== edgeLowPt.y ) continue; // parallel - // edge lies on the same horizontal line as inPt - if ( ( ( edgeHighPt.x <= inPt.x ) && ( inPt.x <= edgeLowPt.x ) ) || - ( ( edgeLowPt.x <= inPt.x ) && ( inPt.x <= edgeHighPt.x ) ) ) return true; // inPt: Point on contour ! - // continue; + _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, sourceBox.min.z); - } + if (srcTexture.isDataTexture || srcTexture.isDataTexture3D) { + _gl.texSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image.data); + } else { + if (srcTexture.isCompressedTexture) { + console.warn('THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.'); + _gl.compressedTexSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, image.data); + } else { + _gl.texSubImage3D(glTarget, level, position.x, position.y, position.z, width, height, depth, glFormat, glType, image); } - - return inside; - } - var isClockWise = ShapeUtils.isClockWise; - - var subPaths = this.subPaths; - if ( subPaths.length === 0 ) return []; - - if ( noHoles === true ) return toShapesNoHoles( subPaths ); + _gl.pixelStorei(_gl.UNPACK_ROW_LENGTH, unpackRowLen); + _gl.pixelStorei(_gl.UNPACK_IMAGE_HEIGHT, unpackImageHeight); - var solid, tmpPath, tmpShape, shapes = []; + _gl.pixelStorei(_gl.UNPACK_SKIP_PIXELS, unpackSkipPixels); - if ( subPaths.length === 1 ) { + _gl.pixelStorei(_gl.UNPACK_SKIP_ROWS, unpackSkipRows); - tmpPath = subPaths[ 0 ]; - tmpShape = new Shape(); - tmpShape.curves = tmpPath.curves; - shapes.push( tmpShape ); - return shapes; - - } - - var holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() ); - holesFirst = isCCW ? ! holesFirst : holesFirst; + _gl.pixelStorei(_gl.UNPACK_SKIP_IMAGES, unpackSkipImages); // Generate mipmaps only when copying level 0 - // console.log("Holes first", holesFirst); - var betterShapeHoles = []; - var newShapes = []; - var newShapeHoles = []; - var mainIdx = 0; - var tmpPoints; + if (level === 0 && dstTexture.generateMipmaps) _gl.generateMipmap(glTarget); + state.unbindTexture(); + }; - newShapes[ mainIdx ] = undefined; - newShapeHoles[ mainIdx ] = []; + this.initTexture = function (texture) { + textures.setTexture2D(texture, 0); + state.unbindTexture(); + }; - for ( var i = 0, l = subPaths.length; i < l; i ++ ) { + this.resetState = function () { + _currentActiveCubeFace = 0; + _currentActiveMipmapLevel = 0; + _currentRenderTarget = null; + state.reset(); + bindingStates.reset(); + }; - tmpPath = subPaths[ i ]; - tmpPoints = tmpPath.getPoints(); - solid = isClockWise( tmpPoints ); - solid = isCCW ? ! solid : solid; + if (typeof __THREE_DEVTOOLS__ !== 'undefined') { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { + detail: this + })); // eslint-disable-line no-undef - if ( solid ) { + } + } - if ( ( ! holesFirst ) && ( newShapes[ mainIdx ] ) ) mainIdx ++; + class WebGL1Renderer extends WebGLRenderer {} - newShapes[ mainIdx ] = { s: new Shape(), p: tmpPoints }; - newShapes[ mainIdx ].s.curves = tmpPath.curves; + WebGL1Renderer.prototype.isWebGL1Renderer = true; - if ( holesFirst ) mainIdx ++; - newShapeHoles[ mainIdx ] = []; + class FogExp2 { + constructor(color, density = 0.00025) { + this.name = ''; + this.color = new Color(color); + this.density = density; + } - //console.log('cw', i); + clone() { + return new FogExp2(this.color, this.density); + } - } else { + toJSON() { + return { + type: 'FogExp2', + color: this.color.getHex(), + density: this.density + }; + } - newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } ); + } - //console.log('ccw', i); + FogExp2.prototype.isFogExp2 = true; - } + class Fog { + constructor(color, near = 1, far = 1000) { + this.name = ''; + this.color = new Color(color); + this.near = near; + this.far = far; + } - } + clone() { + return new Fog(this.color, this.near, this.far); + } - // only Holes? -> probably all Shapes with wrong orientation - if ( ! newShapes[ 0 ] ) return toShapesNoHoles( subPaths ); + toJSON() { + return { + type: 'Fog', + color: this.color.getHex(), + near: this.near, + far: this.far + }; + } + } - if ( newShapes.length > 1 ) { + Fog.prototype.isFog = true; - var ambiguous = false; - var toChange = []; + class Scene extends Object3D { + constructor() { + super(); + this.type = 'Scene'; + this.background = null; + this.environment = null; + this.fog = null; + this.overrideMaterial = null; + this.autoUpdate = true; // checked by the renderer - for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + if (typeof __THREE_DEVTOOLS__ !== 'undefined') { + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { + detail: this + })); // eslint-disable-line no-undef - betterShapeHoles[ sIdx ] = []; + } + } - } + copy(source, recursive) { + super.copy(source, recursive); + if (source.background !== null) this.background = source.background.clone(); + if (source.environment !== null) this.environment = source.environment.clone(); + if (source.fog !== null) this.fog = source.fog.clone(); + if (source.overrideMaterial !== null) this.overrideMaterial = source.overrideMaterial.clone(); + this.autoUpdate = source.autoUpdate; + this.matrixAutoUpdate = source.matrixAutoUpdate; + return this; + } - for ( var sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx ++ ) { + toJSON(meta) { + const data = super.toJSON(meta); + if (this.fog !== null) data.object.fog = this.fog.toJSON(); + return data; + } - var sho = newShapeHoles[ sIdx ]; + } - for ( var hIdx = 0; hIdx < sho.length; hIdx ++ ) { + Scene.prototype.isScene = true; - var ho = sho[ hIdx ]; - var hole_unassigned = true; + class InterleavedBuffer { + constructor(array, stride) { + this.array = array; + this.stride = stride; + this.count = array !== undefined ? array.length / stride : 0; + this.usage = StaticDrawUsage; + this.updateRange = { + offset: 0, + count: -1 + }; + this.version = 0; + this.uuid = generateUUID(); + } - for ( var s2Idx = 0; s2Idx < newShapes.length; s2Idx ++ ) { + onUploadCallback() {} - if ( isPointInsidePolygon( ho.p, newShapes[ s2Idx ].p ) ) { + set needsUpdate(value) { + if (value === true) this.version++; + } - if ( sIdx !== s2Idx ) toChange.push( { froms: sIdx, tos: s2Idx, hole: hIdx } ); - if ( hole_unassigned ) { + setUsage(value) { + this.usage = value; + return this; + } - hole_unassigned = false; - betterShapeHoles[ s2Idx ].push( ho ); + copy(source) { + this.array = new source.array.constructor(source.array); + this.count = source.count; + this.stride = source.stride; + this.usage = source.usage; + return this; + } - } else { + copyAt(index1, attribute, index2) { + index1 *= this.stride; + index2 *= attribute.stride; - ambiguous = true; + for (let i = 0, l = this.stride; i < l; i++) { + this.array[index1 + i] = attribute.array[index2 + i]; + } - } + return this; + } - } + set(value, offset = 0) { + this.array.set(value, offset); + return this; + } - } - if ( hole_unassigned ) { + clone(data) { + if (data.arrayBuffers === undefined) { + data.arrayBuffers = {}; + } - betterShapeHoles[ sIdx ].push( ho ); + if (this.array.buffer._uuid === undefined) { + this.array.buffer._uuid = generateUUID(); + } - } + if (data.arrayBuffers[this.array.buffer._uuid] === undefined) { + data.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer; + } - } + const array = new this.array.constructor(data.arrayBuffers[this.array.buffer._uuid]); + const ib = new this.constructor(array, this.stride); + ib.setUsage(this.usage); + return ib; + } - } - // console.log("ambiguous: ", ambiguous); - if ( toChange.length > 0 ) { + onUpload(callback) { + this.onUploadCallback = callback; + return this; + } - // console.log("to change: ", toChange); - if ( ! ambiguous ) newShapeHoles = betterShapeHoles; + toJSON(data) { + if (data.arrayBuffers === undefined) { + data.arrayBuffers = {}; + } // generate UUID for array buffer if necessary - } + if (this.array.buffer._uuid === undefined) { + this.array.buffer._uuid = generateUUID(); } - var tmpHoles; + if (data.arrayBuffers[this.array.buffer._uuid] === undefined) { + data.arrayBuffers[this.array.buffer._uuid] = Array.prototype.slice.call(new Uint32Array(this.array.buffer)); + } // - for ( var i = 0, il = newShapes.length; i < il; i ++ ) { - tmpShape = newShapes[ i ].s; - shapes.push( tmpShape ); - tmpHoles = newShapeHoles[ i ]; + return { + uuid: this.uuid, + buffer: this.array.buffer._uuid, + type: this.array.constructor.name, + stride: this.stride + }; + } - for ( var j = 0, jl = tmpHoles.length; j < jl; j ++ ) { + } - tmpShape.holes.push( tmpHoles[ j ].h ); + InterleavedBuffer.prototype.isInterleavedBuffer = true; - } + const _vector$6 = /*@__PURE__*/new Vector3(); - } + class InterleavedBufferAttribute { + constructor(interleavedBuffer, itemSize, offset, normalized = false) { + this.name = ''; + this.data = interleavedBuffer; + this.itemSize = itemSize; + this.offset = offset; + this.normalized = normalized === true; + } - //console.log("shape", shapes); + get count() { + return this.data.count; + } - return shapes; + get array() { + return this.data.array; + } + set needsUpdate(value) { + this.data.needsUpdate = value; } - } ); + applyMatrix4(m) { + for (let i = 0, l = this.data.count; i < l; i++) { + _vector$6.x = this.getX(i); + _vector$6.y = this.getY(i); + _vector$6.z = this.getZ(i); - /** - * @author zz85 / http://www.lab4games.net/zz85/blog - * @author mrdoob / http://mrdoob.com/ - */ + _vector$6.applyMatrix4(m); + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } - function Font( data ) { + return this; + } - this.type = 'Font'; + applyNormalMatrix(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$6.x = this.getX(i); + _vector$6.y = this.getY(i); + _vector$6.z = this.getZ(i); - this.data = data; + _vector$6.applyNormalMatrix(m); - } + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } - Object.assign( Font.prototype, { + return this; + } - isFont: true, + transformDirection(m) { + for (let i = 0, l = this.count; i < l; i++) { + _vector$6.x = this.getX(i); + _vector$6.y = this.getY(i); + _vector$6.z = this.getZ(i); - generateShapes: function ( text, size ) { + _vector$6.transformDirection(m); - if ( size === undefined ) size = 100; + this.setXYZ(i, _vector$6.x, _vector$6.y, _vector$6.z); + } - var shapes = []; - var paths = createPaths( text, size, this.data ); + return this; + } - for ( var p = 0, pl = paths.length; p < pl; p ++ ) { + setX(index, x) { + this.data.array[index * this.data.stride + this.offset] = x; + return this; + } - Array.prototype.push.apply( shapes, paths[ p ].toShapes() ); + setY(index, y) { + this.data.array[index * this.data.stride + this.offset + 1] = y; + return this; + } - } + setZ(index, z) { + this.data.array[index * this.data.stride + this.offset + 2] = z; + return this; + } - return shapes; + setW(index, w) { + this.data.array[index * this.data.stride + this.offset + 3] = w; + return this; + } + getX(index) { + return this.data.array[index * this.data.stride + this.offset]; } - } ); + getY(index) { + return this.data.array[index * this.data.stride + this.offset + 1]; + } - function createPaths( text, size, data ) { + getZ(index) { + return this.data.array[index * this.data.stride + this.offset + 2]; + } - var chars = Array.from ? Array.from( text ) : String( text ).split( '' ); // see #13988 - var scale = size / data.resolution; - var line_height = ( data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness ) * scale; + getW(index) { + return this.data.array[index * this.data.stride + this.offset + 3]; + } - var paths = []; + setXY(index, x, y) { + index = index * this.data.stride + this.offset; + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + return this; + } - var offsetX = 0, offsetY = 0; + setXYZ(index, x, y, z) { + index = index * this.data.stride + this.offset; + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + this.data.array[index + 2] = z; + return this; + } - for ( var i = 0; i < chars.length; i ++ ) { + setXYZW(index, x, y, z, w) { + index = index * this.data.stride + this.offset; + this.data.array[index + 0] = x; + this.data.array[index + 1] = y; + this.data.array[index + 2] = z; + this.data.array[index + 3] = w; + return this; + } - var char = chars[ i ]; + clone(data) { + if (data === undefined) { + console.log('THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.'); + const array = []; - if ( char === '\n' ) { + for (let i = 0; i < this.count; i++) { + const index = i * this.data.stride + this.offset; - offsetX = 0; - offsetY -= line_height; + for (let j = 0; j < this.itemSize; j++) { + array.push(this.data.array[index + j]); + } + } + return new BufferAttribute(new this.array.constructor(array), this.itemSize, this.normalized); } else { + if (data.interleavedBuffers === undefined) { + data.interleavedBuffers = {}; + } - var ret = createPath( char, scale, offsetX, offsetY, data ); - offsetX += ret.offsetX; - paths.push( ret.path ); + if (data.interleavedBuffers[this.data.uuid] === undefined) { + data.interleavedBuffers[this.data.uuid] = this.data.clone(data); + } + return new InterleavedBufferAttribute(data.interleavedBuffers[this.data.uuid], this.itemSize, this.offset, this.normalized); } - } - return paths; + toJSON(data) { + if (data === undefined) { + console.log('THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.'); + const array = []; - } + for (let i = 0; i < this.count; i++) { + const index = i * this.data.stride + this.offset; + + for (let j = 0; j < this.itemSize; j++) { + array.push(this.data.array[index + j]); + } + } // deinterleave data and save it as an ordinary buffer attribute for now - function createPath( char, scale, offsetX, offsetY, data ) { - var glyph = data.glyphs[ char ] || data.glyphs[ '?' ]; + return { + itemSize: this.itemSize, + type: this.array.constructor.name, + array: array, + normalized: this.normalized + }; + } else { + // save as true interlaved attribtue + if (data.interleavedBuffers === undefined) { + data.interleavedBuffers = {}; + } - if ( ! glyph ) return; + if (data.interleavedBuffers[this.data.uuid] === undefined) { + data.interleavedBuffers[this.data.uuid] = this.data.toJSON(data); + } - var path = new ShapePath(); + return { + isInterleavedBufferAttribute: true, + itemSize: this.itemSize, + data: this.data.uuid, + offset: this.offset, + normalized: this.normalized + }; + } + } - var x, y, cpx, cpy, cpx1, cpy1, cpx2, cpy2; + } - if ( glyph.o ) { + InterleavedBufferAttribute.prototype.isInterleavedBufferAttribute = true; - var outline = glyph._cachedOutline || ( glyph._cachedOutline = glyph.o.split( ' ' ) ); + /** + * parameters = { + * color: , + * map: new THREE.Texture( ), + * alphaMap: new THREE.Texture( ), + * rotation: , + * sizeAttenuation: + * } + */ - for ( var i = 0, l = outline.length; i < l; ) { + class SpriteMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'SpriteMaterial'; + this.color = new Color(0xffffff); + this.map = null; + this.alphaMap = null; + this.rotation = 0; + this.sizeAttenuation = true; + this.transparent = true; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.alphaMap = source.alphaMap; + this.rotation = source.rotation; + this.sizeAttenuation = source.sizeAttenuation; + return this; + } - var action = outline[ i ++ ]; + } - switch ( action ) { + SpriteMaterial.prototype.isSpriteMaterial = true; - case 'm': // moveTo + let _geometry; - x = outline[ i ++ ] * scale + offsetX; - y = outline[ i ++ ] * scale + offsetY; + const _intersectPoint = /*@__PURE__*/new Vector3(); - path.moveTo( x, y ); + const _worldScale = /*@__PURE__*/new Vector3(); - break; + const _mvPosition = /*@__PURE__*/new Vector3(); - case 'l': // lineTo + const _alignedPosition = /*@__PURE__*/new Vector2(); - x = outline[ i ++ ] * scale + offsetX; - y = outline[ i ++ ] * scale + offsetY; + const _rotatedPosition = /*@__PURE__*/new Vector2(); - path.lineTo( x, y ); + const _viewWorldMatrix = /*@__PURE__*/new Matrix4(); - break; + const _vA = /*@__PURE__*/new Vector3(); - case 'q': // quadraticCurveTo + const _vB = /*@__PURE__*/new Vector3(); - cpx = outline[ i ++ ] * scale + offsetX; - cpy = outline[ i ++ ] * scale + offsetY; - cpx1 = outline[ i ++ ] * scale + offsetX; - cpy1 = outline[ i ++ ] * scale + offsetY; + const _vC = /*@__PURE__*/new Vector3(); - path.quadraticCurveTo( cpx1, cpy1, cpx, cpy ); + const _uvA = /*@__PURE__*/new Vector2(); - break; + const _uvB = /*@__PURE__*/new Vector2(); - case 'b': // bezierCurveTo + const _uvC = /*@__PURE__*/new Vector2(); - cpx = outline[ i ++ ] * scale + offsetX; - cpy = outline[ i ++ ] * scale + offsetY; - cpx1 = outline[ i ++ ] * scale + offsetX; - cpy1 = outline[ i ++ ] * scale + offsetY; - cpx2 = outline[ i ++ ] * scale + offsetX; - cpy2 = outline[ i ++ ] * scale + offsetY; + class Sprite extends Object3D { + constructor(material) { + super(); + this.type = 'Sprite'; - path.bezierCurveTo( cpx1, cpy1, cpx2, cpy2, cpx, cpy ); + if (_geometry === undefined) { + _geometry = new BufferGeometry(); + const float32Array = new Float32Array([-0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, 0.5, 0, 0, 1]); + const interleavedBuffer = new InterleavedBuffer(float32Array, 5); - break; + _geometry.setIndex([0, 1, 2, 0, 2, 3]); - } + _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false)); + _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false)); } + this.geometry = _geometry; + this.material = material !== undefined ? material : new SpriteMaterial(); + this.center = new Vector2(0.5, 0.5); } - return { offsetX: glyph.ha * scale, path: path }; - - } + raycast(raycaster, intersects) { + if (raycaster.camera === null) { + console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'); + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + _worldScale.setFromMatrixScale(this.matrixWorld); - function FontLoader( manager ) { + _viewWorldMatrix.copy(raycaster.camera.matrixWorld); - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + this.modelViewMatrix.multiplyMatrices(raycaster.camera.matrixWorldInverse, this.matrixWorld); - } + _mvPosition.setFromMatrixPosition(this.modelViewMatrix); - Object.assign( FontLoader.prototype, { + if (raycaster.camera.isPerspectiveCamera && this.material.sizeAttenuation === false) { + _worldScale.multiplyScalar(-_mvPosition.z); + } - load: function ( url, onLoad, onProgress, onError ) { + const rotation = this.material.rotation; + let sin, cos; - var scope = this; + if (rotation !== 0) { + cos = Math.cos(rotation); + sin = Math.sin(rotation); + } - var loader = new FileLoader( this.manager ); - loader.setPath( this.path ); - loader.load( url, function ( text ) { + const center = this.center; + transformVertex(_vA.set(-0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos); + transformVertex(_vB.set(0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos); + transformVertex(_vC.set(0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos); - var json; + _uvA.set(0, 0); - try { + _uvB.set(1, 0); - json = JSON.parse( text ); + _uvC.set(1, 1); // check first triangle - } catch ( e ) { - console.warn( 'THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.' ); - json = JSON.parse( text.substring( 65, text.length - 2 ) ); + let intersect = raycaster.ray.intersectTriangle(_vA, _vB, _vC, false, _intersectPoint); - } + if (intersect === null) { + // check second triangle + transformVertex(_vB.set(-0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos); - var font = scope.parse( json ); + _uvB.set(0, 1); - if ( onLoad ) onLoad( font ); + intersect = raycaster.ray.intersectTriangle(_vA, _vC, _vB, false, _intersectPoint); - }, onProgress, onError ); + if (intersect === null) { + return; + } + } - }, + const distance = raycaster.ray.origin.distanceTo(_intersectPoint); + if (distance < raycaster.near || distance > raycaster.far) return; + intersects.push({ + distance: distance, + point: _intersectPoint.clone(), + uv: Triangle.getUV(_intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2()), + face: null, + object: this + }); + } - parse: function ( json ) { + copy(source) { + super.copy(source); + if (source.center !== undefined) this.center.copy(source.center); + this.material = source.material; + return this; + } - return new Font( json ); + } - }, + Sprite.prototype.isSprite = true; - setPath: function ( value ) { + function transformVertex(vertexPosition, mvPosition, center, scale, sin, cos) { + // compute position in camera space + _alignedPosition.subVectors(vertexPosition, center).addScalar(0.5).multiply(scale); // to check if rotation is not zero - this.path = value; - return this; + if (sin !== undefined) { + _rotatedPosition.x = cos * _alignedPosition.x - sin * _alignedPosition.y; + _rotatedPosition.y = sin * _alignedPosition.x + cos * _alignedPosition.y; + } else { + _rotatedPosition.copy(_alignedPosition); } - } ); + vertexPosition.copy(mvPosition); + vertexPosition.x += _rotatedPosition.x; + vertexPosition.y += _rotatedPosition.y; // transform to world space - /** - * @author alteredq / http://alteredqualia.com/ - */ + vertexPosition.applyMatrix4(_viewWorldMatrix); + } - function Loader() {} + const _v1$2 = /*@__PURE__*/new Vector3(); - Loader.Handlers = { + const _v2$1 = /*@__PURE__*/new Vector3(); - handlers: [], + class LOD extends Object3D { + constructor() { + super(); + this._currentLevel = 0; + this.type = 'LOD'; + Object.defineProperties(this, { + levels: { + enumerable: true, + value: [] + }, + isLOD: { + value: true + } + }); + this.autoUpdate = true; + } - add: function ( regex, loader ) { + copy(source) { + super.copy(source, false); + const levels = source.levels; - this.handlers.push( regex, loader ); + for (let i = 0, l = levels.length; i < l; i++) { + const level = levels[i]; + this.addLevel(level.object.clone(), level.distance); + } - }, + this.autoUpdate = source.autoUpdate; + return this; + } - get: function ( file ) { + addLevel(object, distance = 0) { + distance = Math.abs(distance); + const levels = this.levels; + let l; - var handlers = this.handlers; + for (l = 0; l < levels.length; l++) { + if (distance < levels[l].distance) { + break; + } + } - for ( var i = 0, l = handlers.length; i < l; i += 2 ) { + levels.splice(l, 0, { + distance: distance, + object: object + }); + this.add(object); + return this; + } - var regex = handlers[ i ]; - var loader = handlers[ i + 1 ]; + getCurrentLevel() { + return this._currentLevel; + } - if ( regex.test( file ) ) { + getObjectForDistance(distance) { + const levels = this.levels; - return loader; + if (levels.length > 0) { + let i, l; + for (i = 1, l = levels.length; i < l; i++) { + if (distance < levels[i].distance) { + break; + } } + return levels[i - 1].object; } return null; - } - }; - - Object.assign( Loader.prototype, { + raycast(raycaster, intersects) { + const levels = this.levels; - crossOrigin: 'anonymous', + if (levels.length > 0) { + _v1$2.setFromMatrixPosition(this.matrixWorld); - onLoadStart: function () {}, + const distance = raycaster.ray.origin.distanceTo(_v1$2); + this.getObjectForDistance(distance).raycast(raycaster, intersects); + } + } - onLoadProgress: function () {}, + update(camera) { + const levels = this.levels; - onLoadComplete: function () {}, + if (levels.length > 1) { + _v1$2.setFromMatrixPosition(camera.matrixWorld); - initMaterials: function ( materials, texturePath, crossOrigin ) { + _v2$1.setFromMatrixPosition(this.matrixWorld); - var array = []; + const distance = _v1$2.distanceTo(_v2$1) / camera.zoom; + levels[0].object.visible = true; + let i, l; - for ( var i = 0; i < materials.length; ++ i ) { + for (i = 1, l = levels.length; i < l; i++) { + if (distance >= levels[i].distance) { + levels[i - 1].object.visible = false; + levels[i].object.visible = true; + } else { + break; + } + } - array[ i ] = this.createMaterial( materials[ i ], texturePath, crossOrigin ); + this._currentLevel = i - 1; + for (; i < l; i++) { + levels[i].object.visible = false; + } } + } - return array; - - }, + toJSON(meta) { + const data = super.toJSON(meta); + if (this.autoUpdate === false) data.object.autoUpdate = false; + data.object.levels = []; + const levels = this.levels; - createMaterial: ( function () { + for (let i = 0, l = levels.length; i < l; i++) { + const level = levels[i]; + data.object.levels.push({ + object: level.object.uuid, + distance: level.distance + }); + } - var BlendingMode = { - NoBlending: NoBlending, - NormalBlending: NormalBlending, - AdditiveBlending: AdditiveBlending, - SubtractiveBlending: SubtractiveBlending, - MultiplyBlending: MultiplyBlending, - CustomBlending: CustomBlending - }; + return data; + } - var color = new Color(); - var textureLoader = new TextureLoader(); - var materialLoader = new MaterialLoader(); + } - return function createMaterial( m, texturePath, crossOrigin ) { + const _basePosition = /*@__PURE__*/new Vector3(); - // convert from old material format + const _skinIndex = /*@__PURE__*/new Vector4(); - var textures = {}; + const _skinWeight = /*@__PURE__*/new Vector4(); - function loadTexture( path, repeat, offset, wrap, anisotropy ) { + const _vector$5 = /*@__PURE__*/new Vector3(); - var fullPath = texturePath + path; - var loader = Loader.Handlers.get( fullPath ); + const _matrix = /*@__PURE__*/new Matrix4(); - var texture; + class SkinnedMesh extends Mesh { + constructor(geometry, material) { + super(geometry, material); + this.type = 'SkinnedMesh'; + this.bindMode = 'attached'; + this.bindMatrix = new Matrix4(); + this.bindMatrixInverse = new Matrix4(); + } - if ( loader !== null ) { + copy(source) { + super.copy(source); + this.bindMode = source.bindMode; + this.bindMatrix.copy(source.bindMatrix); + this.bindMatrixInverse.copy(source.bindMatrixInverse); + this.skeleton = source.skeleton; + return this; + } - texture = loader.load( fullPath ); + bind(skeleton, bindMatrix) { + this.skeleton = skeleton; - } else { + if (bindMatrix === undefined) { + this.updateMatrixWorld(true); + this.skeleton.calculateInverses(); + bindMatrix = this.matrixWorld; + } - textureLoader.setCrossOrigin( crossOrigin ); - texture = textureLoader.load( fullPath ); + this.bindMatrix.copy(bindMatrix); + this.bindMatrixInverse.copy(bindMatrix).invert(); + } - } + pose() { + this.skeleton.pose(); + } - if ( repeat !== undefined ) { + normalizeSkinWeights() { + const vector = new Vector4(); + const skinWeight = this.geometry.attributes.skinWeight; - texture.repeat.fromArray( repeat ); + for (let i = 0, l = skinWeight.count; i < l; i++) { + vector.x = skinWeight.getX(i); + vector.y = skinWeight.getY(i); + vector.z = skinWeight.getZ(i); + vector.w = skinWeight.getW(i); + const scale = 1.0 / vector.manhattanLength(); - if ( repeat[ 0 ] !== 1 ) texture.wrapS = RepeatWrapping; - if ( repeat[ 1 ] !== 1 ) texture.wrapT = RepeatWrapping; + if (scale !== Infinity) { + vector.multiplyScalar(scale); + } else { + vector.set(1, 0, 0, 0); // do something reasonable + } - } + skinWeight.setXYZW(i, vector.x, vector.y, vector.z, vector.w); + } + } - if ( offset !== undefined ) { + updateMatrixWorld(force) { + super.updateMatrixWorld(force); - texture.offset.fromArray( offset ); + if (this.bindMode === 'attached') { + this.bindMatrixInverse.copy(this.matrixWorld).invert(); + } else if (this.bindMode === 'detached') { + this.bindMatrixInverse.copy(this.bindMatrix).invert(); + } else { + console.warn('THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode); + } + } - } + boneTransform(index, target) { + const skeleton = this.skeleton; + const geometry = this.geometry; - if ( wrap !== undefined ) { + _skinIndex.fromBufferAttribute(geometry.attributes.skinIndex, index); - if ( wrap[ 0 ] === 'repeat' ) texture.wrapS = RepeatWrapping; - if ( wrap[ 0 ] === 'mirror' ) texture.wrapS = MirroredRepeatWrapping; + _skinWeight.fromBufferAttribute(geometry.attributes.skinWeight, index); - if ( wrap[ 1 ] === 'repeat' ) texture.wrapT = RepeatWrapping; - if ( wrap[ 1 ] === 'mirror' ) texture.wrapT = MirroredRepeatWrapping; + _basePosition.fromBufferAttribute(geometry.attributes.position, index).applyMatrix4(this.bindMatrix); - } + target.set(0, 0, 0); - if ( anisotropy !== undefined ) { + for (let i = 0; i < 4; i++) { + const weight = _skinWeight.getComponent(i); - texture.anisotropy = anisotropy; + if (weight !== 0) { + const boneIndex = _skinIndex.getComponent(i); - } + _matrix.multiplyMatrices(skeleton.bones[boneIndex].matrixWorld, skeleton.boneInverses[boneIndex]); - var uuid = _Math.generateUUID(); + target.addScaledVector(_vector$5.copy(_basePosition).applyMatrix4(_matrix), weight); + } + } - textures[ uuid ] = texture; + return target.applyMatrix4(this.bindMatrixInverse); + } - return uuid; + } - } + SkinnedMesh.prototype.isSkinnedMesh = true; - // + class Bone extends Object3D { + constructor() { + super(); + this.type = 'Bone'; + } - var json = { - uuid: _Math.generateUUID(), - type: 'MeshLambertMaterial' - }; + } - for ( var name in m ) { + Bone.prototype.isBone = true; - var value = m[ name ]; + class DataTexture extends Texture { + constructor(data = null, width = 1, height = 1, format, type, mapping, wrapS, wrapT, magFilter = NearestFilter, minFilter = NearestFilter, anisotropy, encoding) { + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding); + this.image = { + data: data, + width: width, + height: height + }; + this.magFilter = magFilter; + this.minFilter = minFilter; + this.generateMipmaps = false; + this.flipY = false; + this.unpackAlignment = 1; + this.needsUpdate = true; + } - switch ( name ) { + } - case 'DbgColor': - case 'DbgIndex': - case 'opticalDensity': - case 'illumination': - break; - case 'DbgName': - json.name = value; - break; - case 'blending': - json.blending = BlendingMode[ value ]; - break; - case 'colorAmbient': - case 'mapAmbient': - console.warn( 'THREE.Loader.createMaterial:', name, 'is no longer supported.' ); - break; - case 'colorDiffuse': - json.color = color.fromArray( value ).getHex(); - break; - case 'colorSpecular': - json.specular = color.fromArray( value ).getHex(); - break; - case 'colorEmissive': - json.emissive = color.fromArray( value ).getHex(); - break; - case 'specularCoef': - json.shininess = value; - break; - case 'shading': - if ( value.toLowerCase() === 'basic' ) json.type = 'MeshBasicMaterial'; - if ( value.toLowerCase() === 'phong' ) json.type = 'MeshPhongMaterial'; - if ( value.toLowerCase() === 'standard' ) json.type = 'MeshStandardMaterial'; - break; - case 'mapDiffuse': - json.map = loadTexture( value, m.mapDiffuseRepeat, m.mapDiffuseOffset, m.mapDiffuseWrap, m.mapDiffuseAnisotropy ); - break; - case 'mapDiffuseRepeat': - case 'mapDiffuseOffset': - case 'mapDiffuseWrap': - case 'mapDiffuseAnisotropy': - break; - case 'mapEmissive': - json.emissiveMap = loadTexture( value, m.mapEmissiveRepeat, m.mapEmissiveOffset, m.mapEmissiveWrap, m.mapEmissiveAnisotropy ); - break; - case 'mapEmissiveRepeat': - case 'mapEmissiveOffset': - case 'mapEmissiveWrap': - case 'mapEmissiveAnisotropy': - break; - case 'mapLight': - json.lightMap = loadTexture( value, m.mapLightRepeat, m.mapLightOffset, m.mapLightWrap, m.mapLightAnisotropy ); - break; - case 'mapLightRepeat': - case 'mapLightOffset': - case 'mapLightWrap': - case 'mapLightAnisotropy': - break; - case 'mapAO': - json.aoMap = loadTexture( value, m.mapAORepeat, m.mapAOOffset, m.mapAOWrap, m.mapAOAnisotropy ); - break; - case 'mapAORepeat': - case 'mapAOOffset': - case 'mapAOWrap': - case 'mapAOAnisotropy': - break; - case 'mapBump': - json.bumpMap = loadTexture( value, m.mapBumpRepeat, m.mapBumpOffset, m.mapBumpWrap, m.mapBumpAnisotropy ); - break; - case 'mapBumpScale': - json.bumpScale = value; - break; - case 'mapBumpRepeat': - case 'mapBumpOffset': - case 'mapBumpWrap': - case 'mapBumpAnisotropy': - break; - case 'mapNormal': - json.normalMap = loadTexture( value, m.mapNormalRepeat, m.mapNormalOffset, m.mapNormalWrap, m.mapNormalAnisotropy ); - break; - case 'mapNormalFactor': - json.normalScale = value; - break; - case 'mapNormalRepeat': - case 'mapNormalOffset': - case 'mapNormalWrap': - case 'mapNormalAnisotropy': - break; - case 'mapSpecular': - json.specularMap = loadTexture( value, m.mapSpecularRepeat, m.mapSpecularOffset, m.mapSpecularWrap, m.mapSpecularAnisotropy ); - break; - case 'mapSpecularRepeat': - case 'mapSpecularOffset': - case 'mapSpecularWrap': - case 'mapSpecularAnisotropy': - break; - case 'mapMetalness': - json.metalnessMap = loadTexture( value, m.mapMetalnessRepeat, m.mapMetalnessOffset, m.mapMetalnessWrap, m.mapMetalnessAnisotropy ); - break; - case 'mapMetalnessRepeat': - case 'mapMetalnessOffset': - case 'mapMetalnessWrap': - case 'mapMetalnessAnisotropy': - break; - case 'mapRoughness': - json.roughnessMap = loadTexture( value, m.mapRoughnessRepeat, m.mapRoughnessOffset, m.mapRoughnessWrap, m.mapRoughnessAnisotropy ); - break; - case 'mapRoughnessRepeat': - case 'mapRoughnessOffset': - case 'mapRoughnessWrap': - case 'mapRoughnessAnisotropy': - break; - case 'mapAlpha': - json.alphaMap = loadTexture( value, m.mapAlphaRepeat, m.mapAlphaOffset, m.mapAlphaWrap, m.mapAlphaAnisotropy ); - break; - case 'mapAlphaRepeat': - case 'mapAlphaOffset': - case 'mapAlphaWrap': - case 'mapAlphaAnisotropy': - break; - case 'flipSided': - json.side = BackSide; - break; - case 'doubleSided': - json.side = DoubleSide; - break; - case 'transparency': - console.warn( 'THREE.Loader.createMaterial: transparency has been renamed to opacity' ); - json.opacity = value; - break; - case 'depthTest': - case 'depthWrite': - case 'colorWrite': - case 'opacity': - case 'reflectivity': - case 'transparent': - case 'visible': - case 'wireframe': - json[ name ] = value; - break; - case 'vertexColors': - if ( value === true ) json.vertexColors = VertexColors; - if ( value === 'face' ) json.vertexColors = FaceColors; - break; - default: - console.error( 'THREE.Loader.createMaterial: Unsupported', name, value ); - break; + DataTexture.prototype.isDataTexture = true; - } + const _offsetMatrix = /*@__PURE__*/new Matrix4(); - } + const _identityMatrix = /*@__PURE__*/new Matrix4(); - if ( json.type === 'MeshBasicMaterial' ) delete json.emissive; - if ( json.type !== 'MeshPhongMaterial' ) delete json.specular; + class Skeleton { + constructor(bones = [], boneInverses = []) { + this.uuid = generateUUID(); + this.bones = bones.slice(0); + this.boneInverses = boneInverses; + this.boneMatrices = null; + this.boneTexture = null; + this.boneTextureSize = 0; + this.frame = -1; + this.init(); + } - if ( json.opacity < 1 ) json.transparent = true; + init() { + const bones = this.bones; + const boneInverses = this.boneInverses; + this.boneMatrices = new Float32Array(bones.length * 16); // calculate inverse bone matrices if necessary - materialLoader.setTextures( textures ); + if (boneInverses.length === 0) { + this.calculateInverses(); + } else { + // handle special case + if (bones.length !== boneInverses.length) { + console.warn('THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.'); + this.boneInverses = []; - return materialLoader.parse( json ); + for (let i = 0, il = this.bones.length; i < il; i++) { + this.boneInverses.push(new Matrix4()); + } + } + } + } - }; + calculateInverses() { + this.boneInverses.length = 0; - } )() + for (let i = 0, il = this.bones.length; i < il; i++) { + const inverse = new Matrix4(); - } ); + if (this.bones[i]) { + inverse.copy(this.bones[i].matrixWorld).invert(); + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + this.boneInverses.push(inverse); + } + } - var context; + pose() { + // recover the bind-time world matrices + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; - var AudioContext = { + if (bone) { + bone.matrixWorld.copy(this.boneInverses[i]).invert(); + } + } // compute the local matrices, positions, rotations and scales - getContext: function () { - if ( context === undefined ) { + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; - context = new ( window.AudioContext || window.webkitAudioContext )(); + if (bone) { + if (bone.parent && bone.parent.isBone) { + bone.matrix.copy(bone.parent.matrixWorld).invert(); + bone.matrix.multiply(bone.matrixWorld); + } else { + bone.matrix.copy(bone.matrixWorld); + } + bone.matrix.decompose(bone.position, bone.quaternion, bone.scale); + } } + } - return context; + update() { + const bones = this.bones; + const boneInverses = this.boneInverses; + const boneMatrices = this.boneMatrices; + const boneTexture = this.boneTexture; // flatten bone matrices to array - }, + for (let i = 0, il = bones.length; i < il; i++) { + // compute the offset between the current and the original transform + const matrix = bones[i] ? bones[i].matrixWorld : _identityMatrix; - setContext: function ( value ) { + _offsetMatrix.multiplyMatrices(matrix, boneInverses[i]); - context = value; + _offsetMatrix.toArray(boneMatrices, i * 16); + } + if (boneTexture !== null) { + boneTexture.needsUpdate = true; + } } - }; - - /** - * @author Reece Aaron Lecrivain / http://reecenotes.com/ - */ - - function AudioLoader( manager ) { + clone() { + return new Skeleton(this.bones, this.boneInverses); + } - this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager; + computeBoneTexture() { + // layout (1 matrix = 4 pixels) + // RGBA RGBA RGBA RGBA (=> column1, column2, column3, column4) + // with 8x8 pixel texture max 16 bones * 4 pixels = (8 * 8) + // 16x16 pixel texture max 64 bones * 4 pixels = (16 * 16) + // 32x32 pixel texture max 256 bones * 4 pixels = (32 * 32) + // 64x64 pixel texture max 1024 bones * 4 pixels = (64 * 64) + let size = Math.sqrt(this.bones.length * 4); // 4 pixels needed for 1 matrix - } + size = ceilPowerOfTwo(size); + size = Math.max(size, 4); + const boneMatrices = new Float32Array(size * size * 4); // 4 floats per RGBA pixel - Object.assign( AudioLoader.prototype, { + boneMatrices.set(this.boneMatrices); // copy current values - load: function ( url, onLoad, onProgress, onError ) { + const boneTexture = new DataTexture(boneMatrices, size, size, RGBAFormat, FloatType); + this.boneMatrices = boneMatrices; + this.boneTexture = boneTexture; + this.boneTextureSize = size; + return this; + } - var loader = new FileLoader( this.manager ); - loader.setResponseType( 'arraybuffer' ); - loader.setPath( this.path ); - loader.load( url, function ( buffer ) { + getBoneByName(name) { + for (let i = 0, il = this.bones.length; i < il; i++) { + const bone = this.bones[i]; - // Create a copy of the buffer. The `decodeAudioData` method - // detaches the buffer when complete, preventing reuse. - var bufferCopy = buffer.slice( 0 ); + if (bone.name === name) { + return bone; + } + } - var context = AudioContext.getContext(); - context.decodeAudioData( bufferCopy, function ( audioBuffer ) { + return undefined; + } - onLoad( audioBuffer ); + dispose() { + if (this.boneTexture !== null) { + this.boneTexture.dispose(); + this.boneTexture = null; + } + } - } ); + fromJSON(json, bones) { + this.uuid = json.uuid; - }, onProgress, onError ); + for (let i = 0, l = json.bones.length; i < l; i++) { + const uuid = json.bones[i]; + let bone = bones[uuid]; - }, + if (bone === undefined) { + console.warn('THREE.Skeleton: No bone found with UUID:', uuid); + bone = new Bone(); + } - setPath: function ( value ) { + this.bones.push(bone); + this.boneInverses.push(new Matrix4().fromArray(json.boneInverses[i])); + } - this.path = value; + this.init(); return this; - } - } ); + toJSON() { + const data = { + metadata: { + version: 4.5, + type: 'Skeleton', + generator: 'Skeleton.toJSON' + }, + bones: [], + boneInverses: [] + }; + data.uuid = this.uuid; + const bones = this.bones; + const boneInverses = this.boneInverses; - /** - * @author mrdoob / http://mrdoob.com/ - */ + for (let i = 0, l = bones.length; i < l; i++) { + const bone = bones[i]; + data.bones.push(bone.uuid); + const boneInverse = boneInverses[i]; + data.boneInverses.push(boneInverse.toArray()); + } - function StereoCamera() { + return data; + } - this.type = 'StereoCamera'; + } - this.aspect = 1; + class InstancedBufferAttribute extends BufferAttribute { + constructor(array, itemSize, normalized, meshPerAttribute = 1) { + if (typeof normalized === 'number') { + meshPerAttribute = normalized; + normalized = false; + console.error('THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.'); + } - this.eyeSep = 0.064; + super(array, itemSize, normalized); + this.meshPerAttribute = meshPerAttribute; + } - this.cameraL = new PerspectiveCamera(); - this.cameraL.layers.enable( 1 ); - this.cameraL.matrixAutoUpdate = false; + copy(source) { + super.copy(source); + this.meshPerAttribute = source.meshPerAttribute; + return this; + } - this.cameraR = new PerspectiveCamera(); - this.cameraR.layers.enable( 2 ); - this.cameraR.matrixAutoUpdate = false; + toJSON() { + const data = super.toJSON(); + data.meshPerAttribute = this.meshPerAttribute; + data.isInstancedBufferAttribute = true; + return data; + } } - Object.assign( StereoCamera.prototype, { + InstancedBufferAttribute.prototype.isInstancedBufferAttribute = true; - update: ( function () { + const _instanceLocalMatrix = /*@__PURE__*/new Matrix4(); - var instance, focus, fov, aspect, near, far, zoom, eyeSep; + const _instanceWorldMatrix = /*@__PURE__*/new Matrix4(); - var eyeRight = new Matrix4(); - var eyeLeft = new Matrix4(); + const _instanceIntersects = []; - return function update( camera ) { + const _mesh = /*@__PURE__*/new Mesh(); - var needsUpdate = instance !== this || focus !== camera.focus || fov !== camera.fov || - aspect !== camera.aspect * this.aspect || near !== camera.near || - far !== camera.far || zoom !== camera.zoom || eyeSep !== this.eyeSep; + class InstancedMesh extends Mesh { + constructor(geometry, material, count) { + super(geometry, material); + this.instanceMatrix = new InstancedBufferAttribute(new Float32Array(count * 16), 16); + this.instanceColor = null; + this.count = count; + this.frustumCulled = false; + } - if ( needsUpdate ) { + copy(source) { + super.copy(source); + this.instanceMatrix.copy(source.instanceMatrix); + if (source.instanceColor !== null) this.instanceColor = source.instanceColor.clone(); + this.count = source.count; + return this; + } - instance = this; - focus = camera.focus; - fov = camera.fov; - aspect = camera.aspect * this.aspect; - near = camera.near; - far = camera.far; - zoom = camera.zoom; + getColorAt(index, color) { + color.fromArray(this.instanceColor.array, index * 3); + } - // Off-axis stereoscopic effect based on - // http://paulbourke.net/stereographics/stereorender/ + getMatrixAt(index, matrix) { + matrix.fromArray(this.instanceMatrix.array, index * 16); + } - var projectionMatrix = camera.projectionMatrix.clone(); - eyeSep = this.eyeSep / 2; - var eyeSepOnProjection = eyeSep * near / focus; - var ymax = ( near * Math.tan( _Math.DEG2RAD * fov * 0.5 ) ) / zoom; - var xmin, xmax; + raycast(raycaster, intersects) { + const matrixWorld = this.matrixWorld; + const raycastTimes = this.count; + _mesh.geometry = this.geometry; + _mesh.material = this.material; + if (_mesh.material === undefined) return; - // translate xOffset + for (let instanceId = 0; instanceId < raycastTimes; instanceId++) { + // calculate the world matrix for each instance + this.getMatrixAt(instanceId, _instanceLocalMatrix); - eyeLeft.elements[ 12 ] = - eyeSep; - eyeRight.elements[ 12 ] = eyeSep; + _instanceWorldMatrix.multiplyMatrices(matrixWorld, _instanceLocalMatrix); // the mesh represents this single instance - // for left eye - xmin = - ymax * aspect + eyeSepOnProjection; - xmax = ymax * aspect + eyeSepOnProjection; + _mesh.matrixWorld = _instanceWorldMatrix; - projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); - projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + _mesh.raycast(raycaster, _instanceIntersects); // process the result of raycast - this.cameraL.projectionMatrix.copy( projectionMatrix ); - // for right eye + for (let i = 0, l = _instanceIntersects.length; i < l; i++) { + const intersect = _instanceIntersects[i]; + intersect.instanceId = instanceId; + intersect.object = this; + intersects.push(intersect); + } - xmin = - ymax * aspect - eyeSepOnProjection; - xmax = ymax * aspect - eyeSepOnProjection; + _instanceIntersects.length = 0; + } + } - projectionMatrix.elements[ 0 ] = 2 * near / ( xmax - xmin ); - projectionMatrix.elements[ 8 ] = ( xmax + xmin ) / ( xmax - xmin ); + setColorAt(index, color) { + if (this.instanceColor === null) { + this.instanceColor = new InstancedBufferAttribute(new Float32Array(this.instanceMatrix.count * 3), 3); + } - this.cameraR.projectionMatrix.copy( projectionMatrix ); + color.toArray(this.instanceColor.array, index * 3); + } - } + setMatrixAt(index, matrix) { + matrix.toArray(this.instanceMatrix.array, index * 16); + } - this.cameraL.matrixWorld.copy( camera.matrixWorld ).multiply( eyeLeft ); - this.cameraR.matrixWorld.copy( camera.matrixWorld ).multiply( eyeRight ); + updateMorphTargets() {} - }; + dispose() { + this.dispatchEvent({ + type: 'dispose' + }); + } - } )() + } - } ); + InstancedMesh.prototype.isInstancedMesh = true; /** - * Camera for rendering cube maps - * - renders scene into axis-aligned cube + * parameters = { + * color: , + * opacity: , * - * @author alteredq / http://alteredqualia.com/ + * linewidth: , + * linecap: "round", + * linejoin: "round" + * } */ - function CubeCamera( near, far, cubeResolution, options ) { + class LineBasicMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'LineBasicMaterial'; + this.color = new Color(0xffffff); + this.linewidth = 1; + this.linecap = 'round'; + this.linejoin = 'round'; + this.setValues(parameters); + } - Object3D.call( this ); + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.linewidth = source.linewidth; + this.linecap = source.linecap; + this.linejoin = source.linejoin; + return this; + } - this.type = 'CubeCamera'; + } - var fov = 90, aspect = 1; + LineBasicMaterial.prototype.isLineBasicMaterial = true; - var cameraPX = new PerspectiveCamera( fov, aspect, near, far ); - cameraPX.up.set( 0, - 1, 0 ); - cameraPX.lookAt( new Vector3( 1, 0, 0 ) ); - this.add( cameraPX ); + const _start$1 = /*@__PURE__*/new Vector3(); - var cameraNX = new PerspectiveCamera( fov, aspect, near, far ); - cameraNX.up.set( 0, - 1, 0 ); - cameraNX.lookAt( new Vector3( - 1, 0, 0 ) ); - this.add( cameraNX ); + const _end$1 = /*@__PURE__*/new Vector3(); - var cameraPY = new PerspectiveCamera( fov, aspect, near, far ); - cameraPY.up.set( 0, 0, 1 ); - cameraPY.lookAt( new Vector3( 0, 1, 0 ) ); - this.add( cameraPY ); + const _inverseMatrix$1 = /*@__PURE__*/new Matrix4(); - var cameraNY = new PerspectiveCamera( fov, aspect, near, far ); - cameraNY.up.set( 0, 0, - 1 ); - cameraNY.lookAt( new Vector3( 0, - 1, 0 ) ); - this.add( cameraNY ); + const _ray$1 = /*@__PURE__*/new Ray(); - var cameraPZ = new PerspectiveCamera( fov, aspect, near, far ); - cameraPZ.up.set( 0, - 1, 0 ); - cameraPZ.lookAt( new Vector3( 0, 0, 1 ) ); - this.add( cameraPZ ); + const _sphere$1 = /*@__PURE__*/new Sphere(); - var cameraNZ = new PerspectiveCamera( fov, aspect, near, far ); - cameraNZ.up.set( 0, - 1, 0 ); - cameraNZ.lookAt( new Vector3( 0, 0, - 1 ) ); - this.add( cameraNZ ); + class Line extends Object3D { + constructor(geometry = new BufferGeometry(), material = new LineBasicMaterial()) { + super(); + this.type = 'Line'; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } - options = options || { format: RGBFormat, magFilter: LinearFilter, minFilter: LinearFilter }; + copy(source) { + super.copy(source); + this.material = source.material; + this.geometry = source.geometry; + return this; + } - this.renderTarget = new WebGLRenderTargetCube( cubeResolution, cubeResolution, options ); - this.renderTarget.texture.name = "CubeCamera"; + computeLineDistances() { + const geometry = this.geometry; - this.update = function ( renderer, scene ) { + if (geometry.isBufferGeometry) { + // we assume non-indexed geometry + if (geometry.index === null) { + const positionAttribute = geometry.attributes.position; + const lineDistances = [0]; - if ( this.parent === null ) this.updateMatrixWorld(); + for (let i = 1, l = positionAttribute.count; i < l; i++) { + _start$1.fromBufferAttribute(positionAttribute, i - 1); - var currentRenderTarget = renderer.getRenderTarget(); + _end$1.fromBufferAttribute(positionAttribute, i); - var renderTarget = this.renderTarget; - var generateMipmaps = renderTarget.texture.generateMipmaps; + lineDistances[i] = lineDistances[i - 1]; + lineDistances[i] += _start$1.distanceTo(_end$1); + } - renderTarget.texture.generateMipmaps = false; + geometry.setAttribute('lineDistance', new Float32BufferAttribute(lineDistances, 1)); + } else { + console.warn('THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.'); + } + } else if (geometry.isGeometry) { + console.error('THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } - renderer.setRenderTarget( renderTarget, 0 ); - renderer.render( scene, cameraPX ); + return this; + } - renderer.setRenderTarget( renderTarget, 1 ); - renderer.render( scene, cameraNX ); + raycast(raycaster, intersects) { + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Line.threshold; + const drawRange = geometry.drawRange; // Checking boundingSphere distance to ray - renderer.setRenderTarget( renderTarget, 2 ); - renderer.render( scene, cameraPY ); + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); - renderer.setRenderTarget( renderTarget, 3 ); - renderer.render( scene, cameraNY ); + _sphere$1.copy(geometry.boundingSphere); - renderer.setRenderTarget( renderTarget, 4 ); - renderer.render( scene, cameraPZ ); + _sphere$1.applyMatrix4(matrixWorld); - renderTarget.texture.generateMipmaps = generateMipmaps; + _sphere$1.radius += threshold; + if (raycaster.ray.intersectsSphere(_sphere$1) === false) return; // - renderer.setRenderTarget( renderTarget, 5 ); - renderer.render( scene, cameraNZ ); + _inverseMatrix$1.copy(matrixWorld).invert(); - renderer.setRenderTarget( currentRenderTarget ); + _ray$1.copy(raycaster.ray).applyMatrix4(_inverseMatrix$1); - }; + const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3); + const localThresholdSq = localThreshold * localThreshold; + const vStart = new Vector3(); + const vEnd = new Vector3(); + const interSegment = new Vector3(); + const interRay = new Vector3(); + const step = this.isLineSegments ? 2 : 1; - this.clear = function ( renderer, color, depth, stencil ) { + if (geometry.isBufferGeometry) { + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; - var currentRenderTarget = renderer.getRenderTarget(); + if (index !== null) { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); - var renderTarget = this.renderTarget; + for (let i = start, l = end - 1; i < l; i += step) { + const a = index.getX(i); + const b = index.getX(i + 1); + vStart.fromBufferAttribute(positionAttribute, a); + vEnd.fromBufferAttribute(positionAttribute, b); - for ( var i = 0; i < 6; i ++ ) { + const distSq = _ray$1.distanceSqToSegment(vStart, vEnd, interRay, interSegment); - renderer.setRenderTarget( renderTarget, i ); + if (distSq > localThresholdSq) continue; + interRay.applyMatrix4(this.matrixWorld); //Move back to world space for distance calculation - renderer.clear( color, depth, stencil ); + const distance = raycaster.ray.origin.distanceTo(interRay); + if (distance < raycaster.near || distance > raycaster.far) continue; + intersects.push({ + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4(this.matrixWorld), + index: i, + face: null, + faceIndex: null, + object: this + }); + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); - } + for (let i = start, l = end - 1; i < l; i += step) { + vStart.fromBufferAttribute(positionAttribute, i); + vEnd.fromBufferAttribute(positionAttribute, i + 1); - renderer.setRenderTarget( currentRenderTarget ); + const distSq = _ray$1.distanceSqToSegment(vStart, vEnd, interRay, interSegment); - }; + if (distSq > localThresholdSq) continue; + interRay.applyMatrix4(this.matrixWorld); //Move back to world space for distance calculation - } + const distance = raycaster.ray.origin.distanceTo(interRay); + if (distance < raycaster.near || distance > raycaster.far) continue; + intersects.push({ + distance: distance, + // What do we want? intersection point on the ray or on the segment?? + // point: raycaster.ray.at( distance ), + point: interSegment.clone().applyMatrix4(this.matrixWorld), + index: i, + face: null, + faceIndex: null, + object: this + }); + } + } + } else if (geometry.isGeometry) { + console.error('THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } + } - CubeCamera.prototype = Object.create( Object3D.prototype ); - CubeCamera.prototype.constructor = CubeCamera; + updateMorphTargets() { + const geometry = this.geometry; - /** - * @author alteredq / http://alteredqualia.com/ - */ + if (geometry.isBufferGeometry) { + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); - function Clock( autoStart ) { + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; - this.autoStart = ( autoStart !== undefined ) ? autoStart : true; + if (morphAttribute !== undefined) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; - this.startTime = 0; - this.oldTime = 0; - this.elapsedTime = 0; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } + } else { + const morphTargets = geometry.morphTargets; - this.running = false; + if (morphTargets !== undefined && morphTargets.length > 0) { + console.error('THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.'); + } + } + } } - Object.assign( Clock.prototype, { - - start: function () { - - this.startTime = ( typeof performance === 'undefined' ? Date : performance ).now(); // see #10732 + Line.prototype.isLine = true; - this.oldTime = this.startTime; - this.elapsedTime = 0; - this.running = true; - - }, - - stop: function () { + const _start = /*@__PURE__*/new Vector3(); - this.getElapsedTime(); - this.running = false; - this.autoStart = false; + const _end = /*@__PURE__*/new Vector3(); - }, + class LineSegments extends Line { + constructor(geometry, material) { + super(geometry, material); + this.type = 'LineSegments'; + } - getElapsedTime: function () { + computeLineDistances() { + const geometry = this.geometry; - this.getDelta(); - return this.elapsedTime; + if (geometry.isBufferGeometry) { + // we assume non-indexed geometry + if (geometry.index === null) { + const positionAttribute = geometry.attributes.position; + const lineDistances = []; - }, + for (let i = 0, l = positionAttribute.count; i < l; i += 2) { + _start.fromBufferAttribute(positionAttribute, i); - getDelta: function () { + _end.fromBufferAttribute(positionAttribute, i + 1); - var diff = 0; + lineDistances[i] = i === 0 ? 0 : lineDistances[i - 1]; + lineDistances[i + 1] = lineDistances[i] + _start.distanceTo(_end); + } - if ( this.autoStart && ! this.running ) { + geometry.setAttribute('lineDistance', new Float32BufferAttribute(lineDistances, 1)); + } else { + console.warn('THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.'); + } + } else if (geometry.isGeometry) { + console.error('THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } - this.start(); - return 0; + return this; + } - } + } - if ( this.running ) { + LineSegments.prototype.isLineSegments = true; - var newTime = ( typeof performance === 'undefined' ? Date : performance ).now(); + class LineLoop extends Line { + constructor(geometry, material) { + super(geometry, material); + this.type = 'LineLoop'; + } - diff = ( newTime - this.oldTime ) / 1000; - this.oldTime = newTime; + } - this.elapsedTime += diff; + LineLoop.prototype.isLineLoop = true; - } + /** + * parameters = { + * color: , + * opacity: , + * map: new THREE.Texture( ), + * alphaMap: new THREE.Texture( ), + * + * size: , + * sizeAttenuation: + * + * } + */ - return diff; + class PointsMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'PointsMaterial'; + this.color = new Color(0xffffff); + this.map = null; + this.alphaMap = null; + this.size = 1; + this.sizeAttenuation = true; + this.setValues(parameters); + } + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.alphaMap = source.alphaMap; + this.size = source.size; + this.sizeAttenuation = source.sizeAttenuation; + return this; } - } ); + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + PointsMaterial.prototype.isPointsMaterial = true; - function AudioListener() { + const _inverseMatrix = /*@__PURE__*/new Matrix4(); - Object3D.call( this ); + const _ray = /*@__PURE__*/new Ray(); - this.type = 'AudioListener'; + const _sphere = /*@__PURE__*/new Sphere(); - this.context = AudioContext.getContext(); + const _position$2 = /*@__PURE__*/new Vector3(); - this.gain = this.context.createGain(); - this.gain.connect( this.context.destination ); + class Points extends Object3D { + constructor(geometry = new BufferGeometry(), material = new PointsMaterial()) { + super(); + this.type = 'Points'; + this.geometry = geometry; + this.material = material; + this.updateMorphTargets(); + } - this.filter = null; + copy(source) { + super.copy(source); + this.material = source.material; + this.geometry = source.geometry; + return this; + } - this.timeDelta = 0; + raycast(raycaster, intersects) { + const geometry = this.geometry; + const matrixWorld = this.matrixWorld; + const threshold = raycaster.params.Points.threshold; + const drawRange = geometry.drawRange; // Checking boundingSphere distance to ray - } + if (geometry.boundingSphere === null) geometry.computeBoundingSphere(); - AudioListener.prototype = Object.assign( Object.create( Object3D.prototype ), { + _sphere.copy(geometry.boundingSphere); - constructor: AudioListener, + _sphere.applyMatrix4(matrixWorld); - getInput: function () { + _sphere.radius += threshold; + if (raycaster.ray.intersectsSphere(_sphere) === false) return; // - return this.gain; + _inverseMatrix.copy(matrixWorld).invert(); - }, + _ray.copy(raycaster.ray).applyMatrix4(_inverseMatrix); - removeFilter: function ( ) { + const localThreshold = threshold / ((this.scale.x + this.scale.y + this.scale.z) / 3); + const localThresholdSq = localThreshold * localThreshold; - if ( this.filter !== null ) { + if (geometry.isBufferGeometry) { + const index = geometry.index; + const attributes = geometry.attributes; + const positionAttribute = attributes.position; - this.gain.disconnect( this.filter ); - this.filter.disconnect( this.context.destination ); - this.gain.connect( this.context.destination ); - this.filter = null; + if (index !== null) { + const start = Math.max(0, drawRange.start); + const end = Math.min(index.count, drawRange.start + drawRange.count); - } + for (let i = start, il = end; i < il; i++) { + const a = index.getX(i); - return this; + _position$2.fromBufferAttribute(positionAttribute, a); - }, + testPoint(_position$2, a, localThresholdSq, matrixWorld, raycaster, intersects, this); + } + } else { + const start = Math.max(0, drawRange.start); + const end = Math.min(positionAttribute.count, drawRange.start + drawRange.count); - getFilter: function () { + for (let i = start, l = end; i < l; i++) { + _position$2.fromBufferAttribute(positionAttribute, i); - return this.filter; + testPoint(_position$2, i, localThresholdSq, matrixWorld, raycaster, intersects, this); + } + } + } else { + console.error('THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + } + } - }, + updateMorphTargets() { + const geometry = this.geometry; - setFilter: function ( value ) { + if (geometry.isBufferGeometry) { + const morphAttributes = geometry.morphAttributes; + const keys = Object.keys(morphAttributes); - if ( this.filter !== null ) { + if (keys.length > 0) { + const morphAttribute = morphAttributes[keys[0]]; - this.gain.disconnect( this.filter ); - this.filter.disconnect( this.context.destination ); + if (morphAttribute !== undefined) { + this.morphTargetInfluences = []; + this.morphTargetDictionary = {}; + for (let m = 0, ml = morphAttribute.length; m < ml; m++) { + const name = morphAttribute[m].name || String(m); + this.morphTargetInfluences.push(0); + this.morphTargetDictionary[name] = m; + } + } + } } else { + const morphTargets = geometry.morphTargets; - this.gain.disconnect( this.context.destination ); - + if (morphTargets !== undefined && morphTargets.length > 0) { + console.error('THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.'); + } } + } - this.filter = value; - this.gain.connect( this.filter ); - this.filter.connect( this.context.destination ); + } - return this; + Points.prototype.isPoints = true; - }, + function testPoint(point, index, localThresholdSq, matrixWorld, raycaster, intersects, object) { + const rayPointDistanceSq = _ray.distanceSqToPoint(point); - getMasterVolume: function () { + if (rayPointDistanceSq < localThresholdSq) { + const intersectPoint = new Vector3(); - return this.gain.gain.value; + _ray.closestPointToPoint(point, intersectPoint); - }, + intersectPoint.applyMatrix4(matrixWorld); + const distance = raycaster.ray.origin.distanceTo(intersectPoint); + if (distance < raycaster.near || distance > raycaster.far) return; + intersects.push({ + distance: distance, + distanceToRay: Math.sqrt(rayPointDistanceSq), + point: intersectPoint, + index: index, + face: null, + object: object + }); + } + } - setMasterVolume: function ( value ) { + class VideoTexture extends Texture { + constructor(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) { + super(video, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.format = format !== undefined ? format : RGBFormat; + this.minFilter = minFilter !== undefined ? minFilter : LinearFilter; + this.magFilter = magFilter !== undefined ? magFilter : LinearFilter; + this.generateMipmaps = false; + const scope = this; - this.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 ); + function updateVideo() { + scope.needsUpdate = true; + video.requestVideoFrameCallback(updateVideo); + } - return this; + if ('requestVideoFrameCallback' in video) { + video.requestVideoFrameCallback(updateVideo); + } + } - }, + clone() { + return new this.constructor(this.image).copy(this); + } - updateMatrixWorld: ( function () { + update() { + const video = this.image; + const hasVideoFrameCallback = ('requestVideoFrameCallback' in video); - var position = new Vector3(); - var quaternion = new Quaternion(); - var scale = new Vector3(); + if (hasVideoFrameCallback === false && video.readyState >= video.HAVE_CURRENT_DATA) { + this.needsUpdate = true; + } + } - var orientation = new Vector3(); - var clock = new Clock(); + } - return function updateMatrixWorld( force ) { + VideoTexture.prototype.isVideoTexture = true; - Object3D.prototype.updateMatrixWorld.call( this, force ); + class CompressedTexture extends Texture { + constructor(mipmaps, width, height, format, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, encoding) { + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy, encoding); + this.image = { + width: width, + height: height + }; + this.mipmaps = mipmaps; // no flipping for cube textures + // (also flipping doesn't work for compressed textures ) - var listener = this.context.listener; - var up = this.up; + this.flipY = false; // can't generate mipmaps for compressed textures + // mips must be embedded in DDS files - this.timeDelta = clock.getDelta(); + this.generateMipmaps = false; + } - this.matrixWorld.decompose( position, quaternion, scale ); + } - orientation.set( 0, 0, - 1 ).applyQuaternion( quaternion ); + CompressedTexture.prototype.isCompressedTexture = true; - if ( listener.positionX ) { + class CanvasTexture extends Texture { + constructor(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy) { + super(canvas, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.needsUpdate = true; + } - // code path for Chrome (see #14393) + } - var endTime = this.context.currentTime + this.timeDelta; + CanvasTexture.prototype.isCanvasTexture = true; - listener.positionX.linearRampToValueAtTime( position.x, endTime ); - listener.positionY.linearRampToValueAtTime( position.y, endTime ); - listener.positionZ.linearRampToValueAtTime( position.z, endTime ); - listener.forwardX.linearRampToValueAtTime( orientation.x, endTime ); - listener.forwardY.linearRampToValueAtTime( orientation.y, endTime ); - listener.forwardZ.linearRampToValueAtTime( orientation.z, endTime ); - listener.upX.linearRampToValueAtTime( up.x, endTime ); - listener.upY.linearRampToValueAtTime( up.y, endTime ); - listener.upZ.linearRampToValueAtTime( up.z, endTime ); + class DepthTexture extends Texture { + constructor(width, height, type, mapping, wrapS, wrapT, magFilter, minFilter, anisotropy, format) { + format = format !== undefined ? format : DepthFormat; - } else { + if (format !== DepthFormat && format !== DepthStencilFormat) { + throw new Error('DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat'); + } - listener.setPosition( position.x, position.y, position.z ); - listener.setOrientation( orientation.x, orientation.y, orientation.z, up.x, up.y, up.z ); + if (type === undefined && format === DepthFormat) type = UnsignedShortType; + if (type === undefined && format === DepthStencilFormat) type = UnsignedInt248Type; + super(null, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy); + this.image = { + width: width, + height: height + }; + this.magFilter = magFilter !== undefined ? magFilter : NearestFilter; + this.minFilter = minFilter !== undefined ? minFilter : NearestFilter; + this.flipY = false; + this.generateMipmaps = false; + } - } + } + + DepthTexture.prototype.isDepthTexture = true; + class CircleGeometry extends BufferGeometry { + constructor(radius = 1, segments = 8, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = 'CircleGeometry'; + this.parameters = { + radius: radius, + segments: segments, + thetaStart: thetaStart, + thetaLength: thetaLength }; + segments = Math.max(3, segments); // buffers - } )() + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - } ); + const vertex = new Vector3(); + const uv = new Vector2(); // center point - /** - * @author mrdoob / http://mrdoob.com/ - * @author Reece Aaron Lecrivain / http://reecenotes.com/ - */ + vertices.push(0, 0, 0); + normals.push(0, 0, 1); + uvs.push(0.5, 0.5); + + for (let s = 0, i = 3; s <= segments; s++, i += 3) { + const segment = thetaStart + s / segments * thetaLength; // vertex - function Audio( listener ) { + vertex.x = radius * Math.cos(segment); + vertex.y = radius * Math.sin(segment); + vertices.push(vertex.x, vertex.y, vertex.z); // normal - Object3D.call( this ); + normals.push(0, 0, 1); // uvs - this.type = 'Audio'; + uv.x = (vertices[i] / radius + 1) / 2; + uv.y = (vertices[i + 1] / radius + 1) / 2; + uvs.push(uv.x, uv.y); + } // indices - this.listener = listener; - this.context = listener.context; - this.gain = this.context.createGain(); - this.gain.connect( listener.getInput() ); + for (let i = 1; i <= segments; i++) { + indices.push(i, i + 1, 0); + } // build geometry - this.autoplay = false; - this.buffer = null; - this.detune = 0; - this.loop = false; - this.startTime = 0; - this.offset = 0; - this.playbackRate = 1; - this.isPlaying = false; - this.hasPlaybackControl = true; - this.sourceType = 'empty'; + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); + } - this.filters = []; + static fromJSON(data) { + return new CircleGeometry(data.radius, data.segments, data.thetaStart, data.thetaLength); + } } - Audio.prototype = Object.assign( Object.create( Object3D.prototype ), { + class CylinderGeometry extends BufferGeometry { + constructor(radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = 'CylinderGeometry'; + this.parameters = { + radiusTop: radiusTop, + radiusBottom: radiusBottom, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + const scope = this; + radialSegments = Math.floor(radialSegments); + heightSegments = Math.floor(heightSegments); // buffers - constructor: Audio, + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - getOutput: function () { + let index = 0; + const indexArray = []; + const halfHeight = height / 2; + let groupStart = 0; // generate geometry - return this.gain; + generateTorso(); - }, + if (openEnded === false) { + if (radiusTop > 0) generateCap(true); + if (radiusBottom > 0) generateCap(false); + } // build geometry - setNodeSource: function ( audioNode ) { - this.hasPlaybackControl = false; - this.sourceType = 'audioNode'; - this.source = audioNode; - this.connect(); + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); - return this; + function generateTorso() { + const normal = new Vector3(); + const vertex = new Vector3(); + let groupCount = 0; // this will be used to calculate the normal - }, + const slope = (radiusBottom - radiusTop) / height; // generate vertices, normals and uvs - setMediaElementSource: function ( mediaElement ) { + for (let y = 0; y <= heightSegments; y++) { + const indexRow = []; + const v = y / heightSegments; // calculate the radius of the current row - this.hasPlaybackControl = false; - this.sourceType = 'mediaNode'; - this.source = this.context.createMediaElementSource( mediaElement ); - this.connect(); + const radius = v * (radiusBottom - radiusTop) + radiusTop; - return this; + for (let x = 0; x <= radialSegments; x++) { + const u = x / radialSegments; + const theta = u * thetaLength + thetaStart; + const sinTheta = Math.sin(theta); + const cosTheta = Math.cos(theta); // vertex - }, + vertex.x = radius * sinTheta; + vertex.y = -v * height + halfHeight; + vertex.z = radius * cosTheta; + vertices.push(vertex.x, vertex.y, vertex.z); // normal - setBuffer: function ( audioBuffer ) { + normal.set(sinTheta, slope, cosTheta).normalize(); + normals.push(normal.x, normal.y, normal.z); // uv - this.buffer = audioBuffer; - this.sourceType = 'buffer'; + uvs.push(u, 1 - v); // save index of vertex in respective row - if ( this.autoplay ) this.play(); + indexRow.push(index++); + } // now save vertices of the row in our index array - return this; - }, + indexArray.push(indexRow); + } // generate indices - play: function () { - if ( this.isPlaying === true ) { + for (let x = 0; x < radialSegments; x++) { + for (let y = 0; y < heightSegments; y++) { + // we use the index array to access the correct indices + const a = indexArray[y][x]; + const b = indexArray[y + 1][x]; + const c = indexArray[y + 1][x + 1]; + const d = indexArray[y][x + 1]; // faces - console.warn( 'THREE.Audio: Audio is already playing.' ); - return; + indices.push(a, b, d); + indices.push(b, c, d); // update group counter - } + groupCount += 6; + } + } // add a group to the geometry. this will ensure multi material support - if ( this.hasPlaybackControl === false ) { - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return; + scope.addGroup(groupStart, groupCount, 0); // calculate new start value for groups + groupStart += groupCount; } - var source = this.context.createBufferSource(); - - source.buffer = this.buffer; - source.loop = this.loop; - source.onended = this.onEnded.bind( this ); - this.startTime = this.context.currentTime; - source.start( this.startTime, this.offset ); + function generateCap(top) { + // save the index of the first center vertex + const centerIndexStart = index; + const uv = new Vector2(); + const vertex = new Vector3(); + let groupCount = 0; + const radius = top === true ? radiusTop : radiusBottom; + const sign = top === true ? 1 : -1; // first we generate the center vertex data of the cap. + // because the geometry needs one set of uvs per face, + // we must generate a center vertex per face/segment - this.isPlaying = true; + for (let x = 1; x <= radialSegments; x++) { + // vertex + vertices.push(0, halfHeight * sign, 0); // normal - this.source = source; + normals.push(0, sign, 0); // uv - this.setDetune( this.detune ); - this.setPlaybackRate( this.playbackRate ); + uvs.push(0.5, 0.5); // increase index - return this.connect(); + index++; + } // save the index of the last center vertex - }, - pause: function () { + const centerIndexEnd = index; // now we generate the surrounding vertices, normals and uvs - if ( this.hasPlaybackControl === false ) { + for (let x = 0; x <= radialSegments; x++) { + const u = x / radialSegments; + const theta = u * thetaLength + thetaStart; + const cosTheta = Math.cos(theta); + const sinTheta = Math.sin(theta); // vertex - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return; + vertex.x = radius * sinTheta; + vertex.y = halfHeight * sign; + vertex.z = radius * cosTheta; + vertices.push(vertex.x, vertex.y, vertex.z); // normal - } + normals.push(0, sign, 0); // uv - if ( this.isPlaying === true ) { + uv.x = cosTheta * 0.5 + 0.5; + uv.y = sinTheta * 0.5 * sign + 0.5; + uvs.push(uv.x, uv.y); // increase index - this.source.stop(); - this.source.onended = null; - this.offset += ( this.context.currentTime - this.startTime ) * this.playbackRate; - this.isPlaying = false; + index++; + } // generate indices - } - return this; + for (let x = 0; x < radialSegments; x++) { + const c = centerIndexStart + x; + const i = centerIndexEnd + x; - }, + if (top === true) { + // face top + indices.push(i, i + 1, c); + } else { + // face bottom + indices.push(i + 1, i, c); + } - stop: function () { + groupCount += 3; + } // add a group to the geometry. this will ensure multi material support - if ( this.hasPlaybackControl === false ) { - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return; + scope.addGroup(groupStart, groupCount, top === true ? 1 : 2); // calculate new start value for groups + groupStart += groupCount; } + } - this.source.stop(); - this.source.onended = null; - this.offset = 0; - this.isPlaying = false; - - return this; - - }, - - connect: function () { - - if ( this.filters.length > 0 ) { - - this.source.connect( this.filters[ 0 ] ); + static fromJSON(data) { + return new CylinderGeometry(data.radiusTop, data.radiusBottom, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } - for ( var i = 1, l = this.filters.length; i < l; i ++ ) { + } - this.filters[ i - 1 ].connect( this.filters[ i ] ); + class ConeGeometry extends CylinderGeometry { + constructor(radius = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2) { + super(0, radius, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength); + this.type = 'ConeGeometry'; + this.parameters = { + radius: radius, + height: height, + radialSegments: radialSegments, + heightSegments: heightSegments, + openEnded: openEnded, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + } - } + static fromJSON(data) { + return new ConeGeometry(data.radius, data.height, data.radialSegments, data.heightSegments, data.openEnded, data.thetaStart, data.thetaLength); + } - this.filters[ this.filters.length - 1 ].connect( this.getOutput() ); + } - } else { + class PolyhedronGeometry extends BufferGeometry { + constructor(vertices, indices, radius = 1, detail = 0) { + super(); + this.type = 'PolyhedronGeometry'; + this.parameters = { + vertices: vertices, + indices: indices, + radius: radius, + detail: detail + }; // default buffer data - this.source.connect( this.getOutput() ); + const vertexBuffer = []; + const uvBuffer = []; // the subdivision creates the vertex buffer data - } + subdivide(detail); // all vertices should lie on a conceptual sphere with a given radius - return this; + applyRadius(radius); // finally, create the uv data - }, + generateUVs(); // build non-indexed geometry - disconnect: function () { + this.setAttribute('position', new Float32BufferAttribute(vertexBuffer, 3)); + this.setAttribute('normal', new Float32BufferAttribute(vertexBuffer.slice(), 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvBuffer, 2)); - if ( this.filters.length > 0 ) { + if (detail === 0) { + this.computeVertexNormals(); // flat normals + } else { + this.normalizeNormals(); // smooth normals + } // helper functions - this.source.disconnect( this.filters[ 0 ] ); - for ( var i = 1, l = this.filters.length; i < l; i ++ ) { + function subdivide(detail) { + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); // iterate over all faces and apply a subdivison with the given detail value - this.filters[ i - 1 ].disconnect( this.filters[ i ] ); + for (let i = 0; i < indices.length; i += 3) { + // get the vertices of the face + getVertexByIndex(indices[i + 0], a); + getVertexByIndex(indices[i + 1], b); + getVertexByIndex(indices[i + 2], c); // perform subdivision + subdivideFace(a, b, c, detail); } + } - this.filters[ this.filters.length - 1 ].disconnect( this.getOutput() ); + function subdivideFace(a, b, c, detail) { + const cols = detail + 1; // we use this multidimensional array as a data structure for creating the subdivision - } else { + const v = []; // construct all of the vertices for this subdivision - this.source.disconnect( this.getOutput() ); + for (let i = 0; i <= cols; i++) { + v[i] = []; + const aj = a.clone().lerp(c, i / cols); + const bj = b.clone().lerp(c, i / cols); + const rows = cols - i; - } + for (let j = 0; j <= rows; j++) { + if (j === 0 && i === cols) { + v[i][j] = aj; + } else { + v[i][j] = aj.clone().lerp(bj, j / rows); + } + } + } // construct all of the faces - return this; - }, + for (let i = 0; i < cols; i++) { + for (let j = 0; j < 2 * (cols - i) - 1; j++) { + const k = Math.floor(j / 2); - getFilters: function () { + if (j % 2 === 0) { + pushVertex(v[i][k + 1]); + pushVertex(v[i + 1][k]); + pushVertex(v[i][k]); + } else { + pushVertex(v[i][k + 1]); + pushVertex(v[i + 1][k + 1]); + pushVertex(v[i + 1][k]); + } + } + } + } - return this.filters; + function applyRadius(radius) { + const vertex = new Vector3(); // iterate over the entire buffer and apply the radius to each vertex - }, + for (let i = 0; i < vertexBuffer.length; i += 3) { + vertex.x = vertexBuffer[i + 0]; + vertex.y = vertexBuffer[i + 1]; + vertex.z = vertexBuffer[i + 2]; + vertex.normalize().multiplyScalar(radius); + vertexBuffer[i + 0] = vertex.x; + vertexBuffer[i + 1] = vertex.y; + vertexBuffer[i + 2] = vertex.z; + } + } - setFilters: function ( value ) { + function generateUVs() { + const vertex = new Vector3(); - if ( ! value ) value = []; + for (let i = 0; i < vertexBuffer.length; i += 3) { + vertex.x = vertexBuffer[i + 0]; + vertex.y = vertexBuffer[i + 1]; + vertex.z = vertexBuffer[i + 2]; + const u = azimuth(vertex) / 2 / Math.PI + 0.5; + const v = inclination(vertex) / Math.PI + 0.5; + uvBuffer.push(u, 1 - v); + } - if ( this.isPlaying === true ) { + correctUVs(); + correctSeam(); + } - this.disconnect(); - this.filters = value; - this.connect(); + function correctSeam() { + // handle case when face straddles the seam, see #3269 + for (let i = 0; i < uvBuffer.length; i += 6) { + // uv data of a single face + const x0 = uvBuffer[i + 0]; + const x1 = uvBuffer[i + 2]; + const x2 = uvBuffer[i + 4]; + const max = Math.max(x0, x1, x2); + const min = Math.min(x0, x1, x2); // 0.9 is somewhat arbitrary - } else { + if (max > 0.9 && min < 0.1) { + if (x0 < 0.2) uvBuffer[i + 0] += 1; + if (x1 < 0.2) uvBuffer[i + 2] += 1; + if (x2 < 0.2) uvBuffer[i + 4] += 1; + } + } + } - this.filters = value; + function pushVertex(vertex) { + vertexBuffer.push(vertex.x, vertex.y, vertex.z); + } + function getVertexByIndex(index, vertex) { + const stride = index * 3; + vertex.x = vertices[stride + 0]; + vertex.y = vertices[stride + 1]; + vertex.z = vertices[stride + 2]; } - return this; + function correctUVs() { + const a = new Vector3(); + const b = new Vector3(); + const c = new Vector3(); + const centroid = new Vector3(); + const uvA = new Vector2(); + const uvB = new Vector2(); + const uvC = new Vector2(); - }, + for (let i = 0, j = 0; i < vertexBuffer.length; i += 9, j += 6) { + a.set(vertexBuffer[i + 0], vertexBuffer[i + 1], vertexBuffer[i + 2]); + b.set(vertexBuffer[i + 3], vertexBuffer[i + 4], vertexBuffer[i + 5]); + c.set(vertexBuffer[i + 6], vertexBuffer[i + 7], vertexBuffer[i + 8]); + uvA.set(uvBuffer[j + 0], uvBuffer[j + 1]); + uvB.set(uvBuffer[j + 2], uvBuffer[j + 3]); + uvC.set(uvBuffer[j + 4], uvBuffer[j + 5]); + centroid.copy(a).add(b).add(c).divideScalar(3); + const azi = azimuth(centroid); + correctUV(uvA, j + 0, a, azi); + correctUV(uvB, j + 2, b, azi); + correctUV(uvC, j + 4, c, azi); + } + } - setDetune: function ( value ) { + function correctUV(uv, stride, vector, azimuth) { + if (azimuth < 0 && uv.x === 1) { + uvBuffer[stride] = uv.x - 1; + } - this.detune = value; + if (vector.x === 0 && vector.z === 0) { + uvBuffer[stride] = azimuth / 2 / Math.PI + 0.5; + } + } // Angle around the Y axis, counter-clockwise when looking from above. - if ( this.source.detune === undefined ) return; // only set detune when available - if ( this.isPlaying === true ) { + function azimuth(vector) { + return Math.atan2(vector.z, -vector.x); + } // Angle above the XZ plane. - this.source.detune.setTargetAtTime( this.detune, this.context.currentTime, 0.01 ); + function inclination(vector) { + return Math.atan2(-vector.y, Math.sqrt(vector.x * vector.x + vector.z * vector.z)); } + } - return this; + static fromJSON(data) { + return new PolyhedronGeometry(data.vertices, data.indices, data.radius, data.details); + } - }, + } - getDetune: function () { + class DodecahedronGeometry extends PolyhedronGeometry { + constructor(radius = 1, detail = 0) { + const t = (1 + Math.sqrt(5)) / 2; + const r = 1 / t; + const vertices = [// (±1, ±1, ±1) + -1, -1, -1, -1, -1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, 1, 1, -1, 1, 1, 1, // (0, ±1/φ, ±φ) + 0, -r, -t, 0, -r, t, 0, r, -t, 0, r, t, // (±1/φ, ±φ, 0) + -r, -t, 0, -r, t, 0, r, -t, 0, r, t, 0, // (±φ, 0, ±1/φ) + -t, 0, -r, t, 0, -r, -t, 0, r, t, 0, r]; + const indices = [3, 11, 7, 3, 7, 15, 3, 15, 13, 7, 19, 17, 7, 17, 6, 7, 6, 15, 17, 4, 8, 17, 8, 10, 17, 10, 6, 8, 0, 16, 8, 16, 2, 8, 2, 10, 0, 12, 1, 0, 1, 18, 0, 18, 16, 6, 10, 2, 6, 2, 13, 6, 13, 15, 2, 16, 18, 2, 18, 3, 2, 3, 13, 18, 1, 9, 18, 9, 11, 18, 11, 3, 4, 14, 12, 4, 12, 0, 4, 0, 8, 11, 9, 5, 11, 5, 19, 11, 19, 7, 19, 5, 14, 19, 14, 4, 19, 4, 17, 1, 12, 14, 1, 14, 5, 1, 5, 9]; + super(vertices, indices, radius, detail); + this.type = 'DodecahedronGeometry'; + this.parameters = { + radius: radius, + detail: detail + }; + } - return this.detune; + static fromJSON(data) { + return new DodecahedronGeometry(data.radius, data.detail); + } - }, + } - getFilter: function () { + const _v0 = new Vector3(); - return this.getFilters()[ 0 ]; + const _v1$1 = new Vector3(); - }, + const _normal = new Vector3(); - setFilter: function ( filter ) { + const _triangle = new Triangle(); - return this.setFilters( filter ? [ filter ] : [] ); + class EdgesGeometry extends BufferGeometry { + constructor(geometry, thresholdAngle) { + super(); + this.type = 'EdgesGeometry'; + this.parameters = { + thresholdAngle: thresholdAngle + }; + thresholdAngle = thresholdAngle !== undefined ? thresholdAngle : 1; - }, + if (geometry.isGeometry === true) { + console.error('THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + return; + } - setPlaybackRate: function ( value ) { + const precisionPoints = 4; + const precision = Math.pow(10, precisionPoints); + const thresholdDot = Math.cos(DEG2RAD * thresholdAngle); + const indexAttr = geometry.getIndex(); + const positionAttr = geometry.getAttribute('position'); + const indexCount = indexAttr ? indexAttr.count : positionAttr.count; + const indexArr = [0, 0, 0]; + const vertKeys = ['a', 'b', 'c']; + const hashes = new Array(3); + const edgeData = {}; + const vertices = []; + + for (let i = 0; i < indexCount; i += 3) { + if (indexAttr) { + indexArr[0] = indexAttr.getX(i); + indexArr[1] = indexAttr.getX(i + 1); + indexArr[2] = indexAttr.getX(i + 2); + } else { + indexArr[0] = i; + indexArr[1] = i + 1; + indexArr[2] = i + 2; + } - if ( this.hasPlaybackControl === false ) { + const { + a, + b, + c + } = _triangle; + a.fromBufferAttribute(positionAttr, indexArr[0]); + b.fromBufferAttribute(positionAttr, indexArr[1]); + c.fromBufferAttribute(positionAttr, indexArr[2]); - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return; + _triangle.getNormal(_normal); // create hashes for the edge from the vertices - } - this.playbackRate = value; + hashes[0] = `${Math.round(a.x * precision)},${Math.round(a.y * precision)},${Math.round(a.z * precision)}`; + hashes[1] = `${Math.round(b.x * precision)},${Math.round(b.y * precision)},${Math.round(b.z * precision)}`; + hashes[2] = `${Math.round(c.x * precision)},${Math.round(c.y * precision)},${Math.round(c.z * precision)}`; // skip degenerate triangles - if ( this.isPlaying === true ) { + if (hashes[0] === hashes[1] || hashes[1] === hashes[2] || hashes[2] === hashes[0]) { + continue; + } // iterate over every edge + + + for (let j = 0; j < 3; j++) { + // get the first and next vertex making up the edge + const jNext = (j + 1) % 3; + const vecHash0 = hashes[j]; + const vecHash1 = hashes[jNext]; + const v0 = _triangle[vertKeys[j]]; + const v1 = _triangle[vertKeys[jNext]]; + const hash = `${vecHash0}_${vecHash1}`; + const reverseHash = `${vecHash1}_${vecHash0}`; + + if (reverseHash in edgeData && edgeData[reverseHash]) { + // if we found a sibling edge add it into the vertex array if + // it meets the angle threshold and delete the edge from the map. + if (_normal.dot(edgeData[reverseHash].normal) <= thresholdDot) { + vertices.push(v0.x, v0.y, v0.z); + vertices.push(v1.x, v1.y, v1.z); + } - this.source.playbackRate.setTargetAtTime( this.playbackRate, this.context.currentTime, 0.01 ); + edgeData[reverseHash] = null; + } else if (!(hash in edgeData)) { + // if we've already got an edge here then skip adding a new one + edgeData[hash] = { + index0: indexArr[j], + index1: indexArr[jNext], + normal: _normal.clone() + }; + } + } + } // iterate over all remaining, unmatched edges and add them to the vertex array - } - return this; + for (const key in edgeData) { + if (edgeData[key]) { + const { + index0, + index1 + } = edgeData[key]; - }, + _v0.fromBufferAttribute(positionAttr, index0); - getPlaybackRate: function () { + _v1$1.fromBufferAttribute(positionAttr, index1); - return this.playbackRate; + vertices.push(_v0.x, _v0.y, _v0.z); + vertices.push(_v1$1.x, _v1$1.y, _v1$1.z); + } + } - }, + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + } - onEnded: function () { + } - this.isPlaying = false; + /** + * Extensible curve object. + * + * Some common of curve methods: + * .getPoint( t, optionalTarget ), .getTangent( t, optionalTarget ) + * .getPointAt( u, optionalTarget ), .getTangentAt( u, optionalTarget ) + * .getPoints(), .getSpacedPoints() + * .getLength() + * .updateArcLengths() + * + * This following curves inherit from THREE.Curve: + * + * -- 2D curves -- + * THREE.ArcCurve + * THREE.CubicBezierCurve + * THREE.EllipseCurve + * THREE.LineCurve + * THREE.QuadraticBezierCurve + * THREE.SplineCurve + * + * -- 3D curves -- + * THREE.CatmullRomCurve3 + * THREE.CubicBezierCurve3 + * THREE.LineCurve3 + * THREE.QuadraticBezierCurve3 + * + * A series of curves can be represented as a THREE.CurvePath. + * + **/ - }, + class Curve { + constructor() { + this.type = 'Curve'; + this.arcLengthDivisions = 200; + } // Virtual base class method to overwrite and implement in subclasses + // - t [0 .. 1] - getLoop: function () { - if ( this.hasPlaybackControl === false ) { + getPoint() { + console.warn('THREE.Curve: .getPoint() not implemented.'); + return null; + } // Get point at relative position in curve according to arc length + // - u [0 .. 1] - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return false; - } + getPointAt(u, optionalTarget) { + const t = this.getUtoTmapping(u); + return this.getPoint(t, optionalTarget); + } // Get sequence of points using getPoint( t ) - return this.loop; - }, + getPoints(divisions = 5) { + const points = []; - setLoop: function ( value ) { + for (let d = 0; d <= divisions; d++) { + points.push(this.getPoint(d / divisions)); + } + + return points; + } // Get sequence of points using getPointAt( u ) - if ( this.hasPlaybackControl === false ) { - console.warn( 'THREE.Audio: this Audio has no playback control.' ); - return; + getSpacedPoints(divisions = 5) { + const points = []; + for (let d = 0; d <= divisions; d++) { + points.push(this.getPointAt(d / divisions)); } - this.loop = value; + return points; + } // Get total curve arc length - if ( this.isPlaying === true ) { - this.source.loop = this.loop; + getLength() { + const lengths = this.getLengths(); + return lengths[lengths.length - 1]; + } // Get list of cumulative segment lengths - } - return this; + getLengths(divisions = this.arcLengthDivisions) { + if (this.cacheArcLengths && this.cacheArcLengths.length === divisions + 1 && !this.needsUpdate) { + return this.cacheArcLengths; + } - }, + this.needsUpdate = false; + const cache = []; + let current, + last = this.getPoint(0); + let sum = 0; + cache.push(0); + + for (let p = 1; p <= divisions; p++) { + current = this.getPoint(p / divisions); + sum += current.distanceTo(last); + cache.push(sum); + last = current; + } - getVolume: function () { + this.cacheArcLengths = cache; + return cache; // { sums: cache, sum: sum }; Sum is in the last element. + } - return this.gain.gain.value; + updateArcLengths() { + this.needsUpdate = true; + this.getLengths(); + } // Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant - }, - setVolume: function ( value ) { + getUtoTmapping(u, distance) { + const arcLengths = this.getLengths(); + let i = 0; + const il = arcLengths.length; + let targetArcLength; // The targeted u distance value to get - this.gain.gain.setTargetAtTime( value, this.context.currentTime, 0.01 ); + if (distance) { + targetArcLength = distance; + } else { + targetArcLength = u * arcLengths[il - 1]; + } // binary search for the index with largest value smaller than target u distance - return this; - } + let low = 0, + high = il - 1, + comparison; - } ); + while (low <= high) { + i = Math.floor(low + (high - low) / 2); // less likely to overflow, though probably not issue here, JS doesn't really have integers, all numbers are floats - /** - * @author mrdoob / http://mrdoob.com/ - */ + comparison = arcLengths[i] - targetArcLength; - function PositionalAudio( listener ) { + if (comparison < 0) { + low = i + 1; + } else if (comparison > 0) { + high = i - 1; + } else { + high = i; + break; // DONE + } + } - Audio.call( this, listener ); + i = high; - this.panner = this.context.createPanner(); - this.panner.connect( this.gain ); + if (arcLengths[i] === targetArcLength) { + return i / (il - 1); + } // we could get finer grain at lengths, or use simple interpolation between two points - } - PositionalAudio.prototype = Object.assign( Object.create( Audio.prototype ), { + const lengthBefore = arcLengths[i]; + const lengthAfter = arcLengths[i + 1]; + const segmentLength = lengthAfter - lengthBefore; // determine where we are between the 'before' and 'after' points - constructor: PositionalAudio, + const segmentFraction = (targetArcLength - lengthBefore) / segmentLength; // add that fractional amount to t - getOutput: function () { + const t = (i + segmentFraction) / (il - 1); + return t; + } // Returns a unit vector tangent at t + // In case any sub curve does not implement its tangent derivation, + // 2 points a small delta apart will be used to find its gradient + // which seems to give a reasonable approximation - return this.panner; - }, + getTangent(t, optionalTarget) { + const delta = 0.0001; + let t1 = t - delta; + let t2 = t + delta; // Capping in case of danger - getRefDistance: function () { + if (t1 < 0) t1 = 0; + if (t2 > 1) t2 = 1; + const pt1 = this.getPoint(t1); + const pt2 = this.getPoint(t2); + const tangent = optionalTarget || (pt1.isVector2 ? new Vector2() : new Vector3()); + tangent.copy(pt2).sub(pt1).normalize(); + return tangent; + } - return this.panner.refDistance; + getTangentAt(u, optionalTarget) { + const t = this.getUtoTmapping(u); + return this.getTangent(t, optionalTarget); + } - }, + computeFrenetFrames(segments, closed) { + // see http://www.cs.indiana.edu/pub/techreports/TR425.pdf + const normal = new Vector3(); + const tangents = []; + const normals = []; + const binormals = []; + const vec = new Vector3(); + const mat = new Matrix4(); // compute the tangent vectors for each segment on the curve + + for (let i = 0; i <= segments; i++) { + const u = i / segments; + tangents[i] = this.getTangentAt(u, new Vector3()); + tangents[i].normalize(); + } // select an initial normal vector perpendicular to the first tangent vector, + // and in the direction of the minimum tangent xyz component - setRefDistance: function ( value ) { - this.panner.refDistance = value; + normals[0] = new Vector3(); + binormals[0] = new Vector3(); + let min = Number.MAX_VALUE; + const tx = Math.abs(tangents[0].x); + const ty = Math.abs(tangents[0].y); + const tz = Math.abs(tangents[0].z); - return this; + if (tx <= min) { + min = tx; + normal.set(1, 0, 0); + } - }, + if (ty <= min) { + min = ty; + normal.set(0, 1, 0); + } - getRolloffFactor: function () { + if (tz <= min) { + normal.set(0, 0, 1); + } - return this.panner.rolloffFactor; + vec.crossVectors(tangents[0], normal).normalize(); + normals[0].crossVectors(tangents[0], vec); + binormals[0].crossVectors(tangents[0], normals[0]); // compute the slowly-varying normal and binormal vectors for each segment on the curve - }, + for (let i = 1; i <= segments; i++) { + normals[i] = normals[i - 1].clone(); + binormals[i] = binormals[i - 1].clone(); + vec.crossVectors(tangents[i - 1], tangents[i]); - setRolloffFactor: function ( value ) { + if (vec.length() > Number.EPSILON) { + vec.normalize(); + const theta = Math.acos(clamp(tangents[i - 1].dot(tangents[i]), -1, 1)); // clamp for floating pt errors - this.panner.rolloffFactor = value; + normals[i].applyMatrix4(mat.makeRotationAxis(vec, theta)); + } - return this; + binormals[i].crossVectors(tangents[i], normals[i]); + } // if the curve is closed, postprocess the vectors so the first and last normal vectors are the same - }, - getDistanceModel: function () { + if (closed === true) { + let theta = Math.acos(clamp(normals[0].dot(normals[segments]), -1, 1)); + theta /= segments; - return this.panner.distanceModel; + if (tangents[0].dot(vec.crossVectors(normals[0], normals[segments])) > 0) { + theta = -theta; + } - }, + for (let i = 1; i <= segments; i++) { + // twist a little... + normals[i].applyMatrix4(mat.makeRotationAxis(tangents[i], theta * i)); + binormals[i].crossVectors(tangents[i], normals[i]); + } + } - setDistanceModel: function ( value ) { + return { + tangents: tangents, + normals: normals, + binormals: binormals + }; + } - this.panner.distanceModel = value; + clone() { + return new this.constructor().copy(this); + } + copy(source) { + this.arcLengthDivisions = source.arcLengthDivisions; return this; + } - }, + toJSON() { + const data = { + metadata: { + version: 4.5, + type: 'Curve', + generator: 'Curve.toJSON' + } + }; + data.arcLengthDivisions = this.arcLengthDivisions; + data.type = this.type; + return data; + } - getMaxDistance: function () { + fromJSON(json) { + this.arcLengthDivisions = json.arcLengthDivisions; + return this; + } - return this.panner.maxDistance; + } - }, + class EllipseCurve extends Curve { + constructor(aX = 0, aY = 0, xRadius = 1, yRadius = 1, aStartAngle = 0, aEndAngle = Math.PI * 2, aClockwise = false, aRotation = 0) { + super(); + this.type = 'EllipseCurve'; + this.aX = aX; + this.aY = aY; + this.xRadius = xRadius; + this.yRadius = yRadius; + this.aStartAngle = aStartAngle; + this.aEndAngle = aEndAngle; + this.aClockwise = aClockwise; + this.aRotation = aRotation; + } - setMaxDistance: function ( value ) { + getPoint(t, optionalTarget) { + const point = optionalTarget || new Vector2(); + const twoPi = Math.PI * 2; + let deltaAngle = this.aEndAngle - this.aStartAngle; + const samePoints = Math.abs(deltaAngle) < Number.EPSILON; // ensures that deltaAngle is 0 .. 2 PI - this.panner.maxDistance = value; + while (deltaAngle < 0) deltaAngle += twoPi; - return this; + while (deltaAngle > twoPi) deltaAngle -= twoPi; - }, + if (deltaAngle < Number.EPSILON) { + if (samePoints) { + deltaAngle = 0; + } else { + deltaAngle = twoPi; + } + } - setDirectionalCone: function ( coneInnerAngle, coneOuterAngle, coneOuterGain ) { + if (this.aClockwise === true && !samePoints) { + if (deltaAngle === twoPi) { + deltaAngle = -twoPi; + } else { + deltaAngle = deltaAngle - twoPi; + } + } - this.panner.coneInnerAngle = coneInnerAngle; - this.panner.coneOuterAngle = coneOuterAngle; - this.panner.coneOuterGain = coneOuterGain; + const angle = this.aStartAngle + t * deltaAngle; + let x = this.aX + this.xRadius * Math.cos(angle); + let y = this.aY + this.yRadius * Math.sin(angle); - return this; + if (this.aRotation !== 0) { + const cos = Math.cos(this.aRotation); + const sin = Math.sin(this.aRotation); + const tx = x - this.aX; + const ty = y - this.aY; // Rotate the point about the center of the ellipse. - }, + x = tx * cos - ty * sin + this.aX; + y = tx * sin + ty * cos + this.aY; + } - updateMatrixWorld: ( function () { + return point.set(x, y); + } - var position = new Vector3(); - var quaternion = new Quaternion(); - var scale = new Vector3(); + copy(source) { + super.copy(source); + this.aX = source.aX; + this.aY = source.aY; + this.xRadius = source.xRadius; + this.yRadius = source.yRadius; + this.aStartAngle = source.aStartAngle; + this.aEndAngle = source.aEndAngle; + this.aClockwise = source.aClockwise; + this.aRotation = source.aRotation; + return this; + } - var orientation = new Vector3(); + toJSON() { + const data = super.toJSON(); + data.aX = this.aX; + data.aY = this.aY; + data.xRadius = this.xRadius; + data.yRadius = this.yRadius; + data.aStartAngle = this.aStartAngle; + data.aEndAngle = this.aEndAngle; + data.aClockwise = this.aClockwise; + data.aRotation = this.aRotation; + return data; + } - return function updateMatrixWorld( force ) { + fromJSON(json) { + super.fromJSON(json); + this.aX = json.aX; + this.aY = json.aY; + this.xRadius = json.xRadius; + this.yRadius = json.yRadius; + this.aStartAngle = json.aStartAngle; + this.aEndAngle = json.aEndAngle; + this.aClockwise = json.aClockwise; + this.aRotation = json.aRotation; + return this; + } - Object3D.prototype.updateMatrixWorld.call( this, force ); + } - if ( this.hasPlaybackControl === true && this.isPlaying === false ) return; + EllipseCurve.prototype.isEllipseCurve = true; - this.matrixWorld.decompose( position, quaternion, scale ); + class ArcCurve extends EllipseCurve { + constructor(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + super(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise); + this.type = 'ArcCurve'; + } - orientation.set( 0, 0, 1 ).applyQuaternion( quaternion ); + } - var panner = this.panner; + ArcCurve.prototype.isArcCurve = true; - if ( panner.positionX ) { + /** + * Centripetal CatmullRom Curve - which is useful for avoiding + * cusps and self-intersections in non-uniform catmull rom curves. + * http://www.cemyuksel.com/research/catmullrom_param/catmullrom.pdf + * + * curve.type accepts centripetal(default), chordal and catmullrom + * curve.tension is used for catmullrom which defaults to 0.5 + */ - // code path for Chrome and Firefox (see #14393) + /* + Based on an optimized c++ solution in + - http://stackoverflow.com/questions/9489736/catmull-rom-curve-with-no-cusps-and-no-self-intersections/ + - http://ideone.com/NoEbVM - var endTime = this.context.currentTime + this.listener.timeDelta; + This CubicPoly class could be used for reusing some variables and calculations, + but for three.js curve use, it could be possible inlined and flatten into a single function call + which can be placed in CurveUtils. + */ - panner.positionX.linearRampToValueAtTime( position.x, endTime ); - panner.positionY.linearRampToValueAtTime( position.y, endTime ); - panner.positionZ.linearRampToValueAtTime( position.z, endTime ); - panner.orientationX.linearRampToValueAtTime( orientation.x, endTime ); - panner.orientationY.linearRampToValueAtTime( orientation.y, endTime ); - panner.orientationZ.linearRampToValueAtTime( orientation.z, endTime ); + function CubicPoly() { + let c0 = 0, + c1 = 0, + c2 = 0, + c3 = 0; + /* + * Compute coefficients for a cubic polynomial + * p(s) = c0 + c1*s + c2*s^2 + c3*s^3 + * such that + * p(0) = x0, p(1) = x1 + * and + * p'(0) = t0, p'(1) = t1. + */ - } else { + function init(x0, x1, t0, t1) { + c0 = x0; + c1 = t0; + c2 = -3 * x0 + 3 * x1 - 2 * t0 - t1; + c3 = 2 * x0 - 2 * x1 + t0 + t1; + } - panner.setPosition( position.x, position.y, position.z ); - panner.setOrientation( orientation.x, orientation.y, orientation.z ); + return { + initCatmullRom: function (x0, x1, x2, x3, tension) { + init(x1, x2, tension * (x2 - x0), tension * (x3 - x1)); + }, + initNonuniformCatmullRom: function (x0, x1, x2, x3, dt0, dt1, dt2) { + // compute tangents when parameterized in [t1,t2] + let t1 = (x1 - x0) / dt0 - (x2 - x0) / (dt0 + dt1) + (x2 - x1) / dt1; + let t2 = (x2 - x1) / dt1 - (x3 - x1) / (dt1 + dt2) + (x3 - x2) / dt2; // rescale tangents for parametrization in [0,1] - } + t1 *= dt1; + t2 *= dt1; + init(x1, x2, t1, t2); + }, + calc: function (t) { + const t2 = t * t; + const t3 = t2 * t; + return c0 + c1 * t + c2 * t2 + c3 * t3; + } + }; + } // - }; - } )() + const tmp = new Vector3(); + const px = new CubicPoly(), + py = new CubicPoly(), + pz = new CubicPoly(); + class CatmullRomCurve3 extends Curve { + constructor(points = [], closed = false, curveType = 'centripetal', tension = 0.5) { + super(); + this.type = 'CatmullRomCurve3'; + this.points = points; + this.closed = closed; + this.curveType = curveType; + this.tension = tension; + } - } ); + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const points = this.points; + const l = points.length; + const p = (l - (this.closed ? 0 : 1)) * t; + let intPoint = Math.floor(p); + let weight = p - intPoint; - /** - * @author mrdoob / http://mrdoob.com/ - */ + if (this.closed) { + intPoint += intPoint > 0 ? 0 : (Math.floor(Math.abs(intPoint) / l) + 1) * l; + } else if (weight === 0 && intPoint === l - 1) { + intPoint = l - 2; + weight = 1; + } - function AudioAnalyser( audio, fftSize ) { + let p0, p3; // 4 points (p1 & p2 defined below) - this.analyser = audio.context.createAnalyser(); - this.analyser.fftSize = fftSize !== undefined ? fftSize : 2048; + if (this.closed || intPoint > 0) { + p0 = points[(intPoint - 1) % l]; + } else { + // extrapolate first point + tmp.subVectors(points[0], points[1]).add(points[0]); + p0 = tmp; + } - this.data = new Uint8Array( this.analyser.frequencyBinCount ); + const p1 = points[intPoint % l]; + const p2 = points[(intPoint + 1) % l]; - audio.getOutput().connect( this.analyser ); + if (this.closed || intPoint + 2 < l) { + p3 = points[(intPoint + 2) % l]; + } else { + // extrapolate last point + tmp.subVectors(points[l - 1], points[l - 2]).add(points[l - 1]); + p3 = tmp; + } - } + if (this.curveType === 'centripetal' || this.curveType === 'chordal') { + // init Centripetal / Chordal Catmull-Rom + const pow = this.curveType === 'chordal' ? 0.5 : 0.25; + let dt0 = Math.pow(p0.distanceToSquared(p1), pow); + let dt1 = Math.pow(p1.distanceToSquared(p2), pow); + let dt2 = Math.pow(p2.distanceToSquared(p3), pow); // safety check for repeated points - Object.assign( AudioAnalyser.prototype, { + if (dt1 < 1e-4) dt1 = 1.0; + if (dt0 < 1e-4) dt0 = dt1; + if (dt2 < 1e-4) dt2 = dt1; + px.initNonuniformCatmullRom(p0.x, p1.x, p2.x, p3.x, dt0, dt1, dt2); + py.initNonuniformCatmullRom(p0.y, p1.y, p2.y, p3.y, dt0, dt1, dt2); + pz.initNonuniformCatmullRom(p0.z, p1.z, p2.z, p3.z, dt0, dt1, dt2); + } else if (this.curveType === 'catmullrom') { + px.initCatmullRom(p0.x, p1.x, p2.x, p3.x, this.tension); + py.initCatmullRom(p0.y, p1.y, p2.y, p3.y, this.tension); + pz.initCatmullRom(p0.z, p1.z, p2.z, p3.z, this.tension); + } - getFrequencyData: function () { + point.set(px.calc(weight), py.calc(weight), pz.calc(weight)); + return point; + } - this.analyser.getByteFrequencyData( this.data ); + copy(source) { + super.copy(source); + this.points = []; - return this.data; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); + } - }, + this.closed = source.closed; + this.curveType = source.curveType; + this.tension = source.tension; + return this; + } - getAverageFrequency: function () { + toJSON() { + const data = super.toJSON(); + data.points = []; - var value = 0, data = this.getFrequencyData(); + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } - for ( var i = 0; i < data.length; i ++ ) { + data.closed = this.closed; + data.curveType = this.curveType; + data.tension = this.tension; + return data; + } - value += data[ i ]; + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector3().fromArray(point)); } - return value / data.length; - + this.closed = json.closed; + this.curveType = json.curveType; + this.tension = json.tension; + return this; } - } ); + } + + CatmullRomCurve3.prototype.isCatmullRomCurve3 = true; /** - * - * Buffered scene graph property that allows weighted accumulation. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw + * Bezier Curves formulas obtained from + * http://en.wikipedia.org/wiki/Bézier_curve */ + function CatmullRom(t, p0, p1, p2, p3) { + const v0 = (p2 - p0) * 0.5; + const v1 = (p3 - p1) * 0.5; + const t2 = t * t; + const t3 = t * t2; + return (2 * p1 - 2 * p2 + v0 + v1) * t3 + (-3 * p1 + 3 * p2 - 2 * v0 - v1) * t2 + v0 * t + p1; + } // - function PropertyMixer( binding, typeName, valueSize ) { - this.binding = binding; - this.valueSize = valueSize; - - var bufferType = Float64Array, - mixFunction; - - switch ( typeName ) { - - case 'quaternion': - mixFunction = this._slerp; - break; + function QuadraticBezierP0(t, p) { + const k = 1 - t; + return k * k * p; + } - case 'string': - case 'bool': - bufferType = Array; - mixFunction = this._select; - break; + function QuadraticBezierP1(t, p) { + return 2 * (1 - t) * t * p; + } - default: - mixFunction = this._lerp; + function QuadraticBezierP2(t, p) { + return t * t * p; + } - } + function QuadraticBezier(t, p0, p1, p2) { + return QuadraticBezierP0(t, p0) + QuadraticBezierP1(t, p1) + QuadraticBezierP2(t, p2); + } // - this.buffer = new bufferType( valueSize * 4 ); - // layout: [ incoming | accu0 | accu1 | orig ] - // - // interpolators can use .buffer as their .result - // the data then goes to 'incoming' - // - // 'accu0' and 'accu1' are used frame-interleaved for - // the cumulative result and are compared to detect - // changes - // - // 'orig' stores the original state of the property - this._mixBufferRegion = mixFunction; + function CubicBezierP0(t, p) { + const k = 1 - t; + return k * k * k * p; + } - this.cumulativeWeight = 0; + function CubicBezierP1(t, p) { + const k = 1 - t; + return 3 * k * k * t * p; + } - this.useCount = 0; - this.referenceCount = 0; + function CubicBezierP2(t, p) { + return 3 * (1 - t) * t * t * p; + } + function CubicBezierP3(t, p) { + return t * t * t * p; } - Object.assign( PropertyMixer.prototype, { + function CubicBezier(t, p0, p1, p2, p3) { + return CubicBezierP0(t, p0) + CubicBezierP1(t, p1) + CubicBezierP2(t, p2) + CubicBezierP3(t, p3); + } - // accumulate data in the 'incoming' region into 'accu' - accumulate: function ( accuIndex, weight ) { + class CubicBezierCurve extends Curve { + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2(), v3 = new Vector2()) { + super(); + this.type = 'CubicBezierCurve'; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } - // note: happily accumulating nothing when weight = 0, the caller knows - // the weight and shouldn't have made the call in the first place + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, + v1 = this.v1, + v2 = this.v2, + v3 = this.v3; + point.set(CubicBezier(t, v0.x, v1.x, v2.x, v3.x), CubicBezier(t, v0.y, v1.y, v2.y, v3.y)); + return point; + } - var buffer = this.buffer, - stride = this.valueSize, - offset = accuIndex * stride + stride, + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } - currentWeight = this.cumulativeWeight; + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } - if ( currentWeight === 0 ) { + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } - // accuN := incoming * weight + } - for ( var i = 0; i !== stride; ++ i ) { + CubicBezierCurve.prototype.isCubicBezierCurve = true; - buffer[ offset + i ] = buffer[ i ]; + class CubicBezierCurve3 extends Curve { + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3(), v3 = new Vector3()) { + super(); + this.type = 'CubicBezierCurve3'; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + this.v3 = v3; + } + + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, + v1 = this.v1, + v2 = this.v2, + v3 = this.v3; + point.set(CubicBezier(t, v0.x, v1.x, v2.x, v3.x), CubicBezier(t, v0.y, v1.y, v2.y, v3.y), CubicBezier(t, v0.z, v1.z, v2.z, v3.z)); + return point; + } + + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + this.v3.copy(source.v3); + return this; + } + + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + data.v3 = this.v3.toArray(); + return data; + } - } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + this.v3.fromArray(json.v3); + return this; + } - currentWeight = weight; + } - } else { + CubicBezierCurve3.prototype.isCubicBezierCurve3 = true; - // accuN := accuN + incoming * weight + class LineCurve extends Curve { + constructor(v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.type = 'LineCurve'; + this.v1 = v1; + this.v2 = v2; + } - currentWeight += weight; - var mix = weight / currentWeight; - this._mixBufferRegion( buffer, offset, 0, mix, stride ); + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + if (t === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t).add(this.v1); } - this.cumulativeWeight = currentWeight; + return point; + } // Line curve is linear, so we can overwrite default getPointAt - }, - // apply the state of 'accu' to the binding when accus differ - apply: function ( accuIndex ) { + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } - var stride = this.valueSize, - buffer = this.buffer, - offset = accuIndex * stride + stride, + getTangent(t, optionalTarget) { + const tangent = optionalTarget || new Vector2(); + tangent.copy(this.v2).sub(this.v1).normalize(); + return tangent; + } - weight = this.cumulativeWeight, + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } - binding = this.binding; + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } - this.cumulativeWeight = 0; + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } - if ( weight < 1 ) { + } - // accuN := accuN + original * ( 1 - cumulativeWeight ) + LineCurve.prototype.isLineCurve = true; - var originalValueOffset = stride * 3; + class LineCurve3 extends Curve { + constructor(v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.type = 'LineCurve3'; + this.isLineCurve3 = true; + this.v1 = v1; + this.v2 = v2; + } - this._mixBufferRegion( - buffer, offset, originalValueOffset, 1 - weight, stride ); + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + if (t === 1) { + point.copy(this.v2); + } else { + point.copy(this.v2).sub(this.v1); + point.multiplyScalar(t).add(this.v1); } - for ( var i = stride, e = stride + stride; i !== e; ++ i ) { + return point; + } // Line curve is linear, so we can overwrite default getPointAt - if ( buffer[ i ] !== buffer[ i + stride ] ) { - // value has changed -> update scene graph - - binding.setValue( buffer, offset ); - break; - - } - - } + getPointAt(u, optionalTarget) { + return this.getPoint(u, optionalTarget); + } - }, + copy(source) { + super.copy(source); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } - // remember the state of the bound property and copy it to both accus - saveOriginalState: function () { + toJSON() { + const data = super.toJSON(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } - var binding = this.binding; + fromJSON(json) { + super.fromJSON(json); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } - var buffer = this.buffer, - stride = this.valueSize, + } - originalValueOffset = stride * 3; + class QuadraticBezierCurve extends Curve { + constructor(v0 = new Vector2(), v1 = new Vector2(), v2 = new Vector2()) { + super(); + this.type = 'QuadraticBezierCurve'; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } - binding.getValue( buffer, originalValueOffset ); + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const v0 = this.v0, + v1 = this.v1, + v2 = this.v2; + point.set(QuadraticBezier(t, v0.x, v1.x, v2.x), QuadraticBezier(t, v0.y, v1.y, v2.y)); + return point; + } - // accu[0..1] := orig -- initially detect changes against the original - for ( var i = stride, e = originalValueOffset; i !== e; ++ i ) { + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } - buffer[ i ] = buffer[ originalValueOffset + ( i % stride ) ]; + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } - } + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } - this.cumulativeWeight = 0; + } - }, + QuadraticBezierCurve.prototype.isQuadraticBezierCurve = true; - // apply the state previously taken via 'saveOriginalState' to the binding - restoreOriginalState: function () { + class QuadraticBezierCurve3 extends Curve { + constructor(v0 = new Vector3(), v1 = new Vector3(), v2 = new Vector3()) { + super(); + this.type = 'QuadraticBezierCurve3'; + this.v0 = v0; + this.v1 = v1; + this.v2 = v2; + } - var originalValueOffset = this.valueSize * 3; - this.binding.setValue( this.buffer, originalValueOffset ); + getPoint(t, optionalTarget = new Vector3()) { + const point = optionalTarget; + const v0 = this.v0, + v1 = this.v1, + v2 = this.v2; + point.set(QuadraticBezier(t, v0.x, v1.x, v2.x), QuadraticBezier(t, v0.y, v1.y, v2.y), QuadraticBezier(t, v0.z, v1.z, v2.z)); + return point; + } - }, + copy(source) { + super.copy(source); + this.v0.copy(source.v0); + this.v1.copy(source.v1); + this.v2.copy(source.v2); + return this; + } + toJSON() { + const data = super.toJSON(); + data.v0 = this.v0.toArray(); + data.v1 = this.v1.toArray(); + data.v2 = this.v2.toArray(); + return data; + } - // mix functions + fromJSON(json) { + super.fromJSON(json); + this.v0.fromArray(json.v0); + this.v1.fromArray(json.v1); + this.v2.fromArray(json.v2); + return this; + } - _select: function ( buffer, dstOffset, srcOffset, t, stride ) { + } - if ( t >= 0.5 ) { + QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3 = true; - for ( var i = 0; i !== stride; ++ i ) { + class SplineCurve extends Curve { + constructor(points = []) { + super(); + this.type = 'SplineCurve'; + this.points = points; + } - buffer[ dstOffset + i ] = buffer[ srcOffset + i ]; + getPoint(t, optionalTarget = new Vector2()) { + const point = optionalTarget; + const points = this.points; + const p = (points.length - 1) * t; + const intPoint = Math.floor(p); + const weight = p - intPoint; + const p0 = points[intPoint === 0 ? intPoint : intPoint - 1]; + const p1 = points[intPoint]; + const p2 = points[intPoint > points.length - 2 ? points.length - 1 : intPoint + 1]; + const p3 = points[intPoint > points.length - 3 ? points.length - 1 : intPoint + 2]; + point.set(CatmullRom(weight, p0.x, p1.x, p2.x, p3.x), CatmullRom(weight, p0.y, p1.y, p2.y, p3.y)); + return point; + } - } + copy(source) { + super.copy(source); + this.points = []; + for (let i = 0, l = source.points.length; i < l; i++) { + const point = source.points[i]; + this.points.push(point.clone()); } - }, - - _slerp: function ( buffer, dstOffset, srcOffset, t ) { - - Quaternion.slerpFlat( buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t ); - - }, - - _lerp: function ( buffer, dstOffset, srcOffset, t, stride ) { + return this; + } - var s = 1 - t; + toJSON() { + const data = super.toJSON(); + data.points = []; - for ( var i = 0; i !== stride; ++ i ) { + for (let i = 0, l = this.points.length; i < l; i++) { + const point = this.points[i]; + data.points.push(point.toArray()); + } - var j = dstOffset + i; + return data; + } - buffer[ j ] = buffer[ j ] * s + buffer[ srcOffset + i ] * t; + fromJSON(json) { + super.fromJSON(json); + this.points = []; + for (let i = 0, l = json.points.length; i < l; i++) { + const point = json.points[i]; + this.points.push(new Vector2().fromArray(point)); } + return this; } - } ); + } + + SplineCurve.prototype.isSplineCurve = true; + + var Curves = /*#__PURE__*/Object.freeze({ + __proto__: null, + ArcCurve: ArcCurve, + CatmullRomCurve3: CatmullRomCurve3, + CubicBezierCurve: CubicBezierCurve, + CubicBezierCurve3: CubicBezierCurve3, + EllipseCurve: EllipseCurve, + LineCurve: LineCurve, + LineCurve3: LineCurve3, + QuadraticBezierCurve: QuadraticBezierCurve, + QuadraticBezierCurve3: QuadraticBezierCurve3, + SplineCurve: SplineCurve + }); /** - * - * A reference to a real property in the scene graph. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw + * Port from https://github.com/mapbox/earcut (v2.2.2) */ + const Earcut = { + triangulate: function (data, holeIndices, dim = 2) { + const hasHoles = holeIndices && holeIndices.length; + const outerLen = hasHoles ? holeIndices[0] * dim : data.length; + let outerNode = linkedList(data, 0, outerLen, dim, true); + const triangles = []; + if (!outerNode || outerNode.next === outerNode.prev) return triangles; + let minX, minY, maxX, maxY, x, y, invSize; + if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim); // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + + for (let i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } // minX, minY and invSize are later used to transform coords into integers for z-order calculation + + + invSize = Math.max(maxX - minX, maxY - minY); + invSize = invSize !== 0 ? 1 / invSize : 0; + } - // Characters [].:/ are reserved for track binding syntax. - var RESERVED_CHARS_RE = '\\[\\]\\.:\\/'; + earcutLinked(outerNode, triangles, dim, minX, minY, invSize); + return triangles; + } + }; // create a circular doubly linked list from polygon points in the specified winding order - function Composite( targetGroup, path, optionalParsedPath ) { + function linkedList(data, start, end, dim, clockwise) { + let i, last; - var parsedPath = optionalParsedPath || PropertyBinding.parseTrackName( path ); + if (clockwise === signedArea(data, start, end, dim) > 0) { + for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last); + } - this._targetGroup = targetGroup; - this._bindings = targetGroup.subscribe_( path, parsedPath ); + if (last && equals(last, last.next)) { + removeNode(last); + last = last.next; + } - } + return last; + } // eliminate colinear or duplicate points - Object.assign( Composite.prototype, { - getValue: function ( array, offset ) { + function filterPoints(start, end) { + if (!start) return start; + if (!end) end = start; + let p = start, + again; - this.bind(); // bind all binding + do { + again = false; - var firstValidIndex = this._targetGroup.nCachedObjects_, - binding = this._bindings[ firstValidIndex ]; + if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) { + removeNode(p); + p = end = p.prev; + if (p === p.next) break; + again = true; + } else { + p = p.next; + } + } while (again || p !== end); - // and only call .getValue on the first - if ( binding !== undefined ) binding.getValue( array, offset ); + return end; + } // main ear slicing loop which triangulates a polygon (given as a linked list) - }, - setValue: function ( array, offset ) { + function earcutLinked(ear, triangles, dim, minX, minY, invSize, pass) { + if (!ear) return; // interlink polygon nodes in z-order - var bindings = this._bindings; + if (!pass && invSize) indexCurve(ear, minX, minY, invSize); + let stop = ear, + prev, + next; // iterate through ears, slicing them one by one - for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; - bindings[ i ].setValue( array, offset ); + if (invSize ? isEarHashed(ear, minX, minY, invSize) : isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim); + triangles.push(ear.i / dim); + triangles.push(next.i / dim); + removeNode(ear); // skipping the next vertex leads to less sliver triangles + ear = next.next; + stop = next.next; + continue; } - }, - - bind: function () { - - var bindings = this._bindings; + ear = next; // if we looped through the whole remaining polygon and can't find any more ears - for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { - - bindings[ i ].bind(); + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + earcutLinked(filterPoints(ear), triangles, dim, minX, minY, invSize, 1); // if this didn't work, try curing all small self-intersections locally + } else if (pass === 1) { + ear = cureLocalIntersections(filterPoints(ear), triangles, dim); + earcutLinked(ear, triangles, dim, minX, minY, invSize, 2); // as a last resort, try splitting the remaining polygon into two + } else if (pass === 2) { + splitEarcut(ear, triangles, dim, minX, minY, invSize); + } + break; } + } + } // check whether a polygon node forms a valid ear with adjacent nodes - }, - - unbind: function () { - - var bindings = this._bindings; - - for ( var i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++ i ) { - bindings[ i ].unbind(); + function isEar(ear) { + const a = ear.prev, + b = ear, + c = ear.next; + if (area(a, b, c) >= 0) return false; // reflex, can't be an ear + // now make sure we don't have other points inside the potential ear - } + let p = ear.next.next; + while (p !== ear.prev) { + if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.next; } - } ); + return true; + } + function isEarHashed(ear, minX, minY, invSize) { + const a = ear.prev, + b = ear, + c = ear.next; + if (area(a, b, c) >= 0) return false; // reflex, can't be an ear + // triangle bbox; min & max are calculated like this for speed - function PropertyBinding( rootNode, path, parsedPath ) { + const minTX = a.x < b.x ? a.x < c.x ? a.x : c.x : b.x < c.x ? b.x : c.x, + minTY = a.y < b.y ? a.y < c.y ? a.y : c.y : b.y < c.y ? b.y : c.y, + maxTX = a.x > b.x ? a.x > c.x ? a.x : c.x : b.x > c.x ? b.x : c.x, + maxTY = a.y > b.y ? a.y > c.y ? a.y : c.y : b.y > c.y ? b.y : c.y; // z-order range for the current triangle bbox; - this.path = path; - this.parsedPath = parsedPath || PropertyBinding.parseTrackName( path ); + const minZ = zOrder(minTX, minTY, minX, minY, invSize), + maxZ = zOrder(maxTX, maxTY, minX, minY, invSize); + let p = ear.prevZ, + n = ear.nextZ; // look for points inside the triangle in both directions - this.node = PropertyBinding.findNode( rootNode, this.parsedPath.nodeName ) || rootNode; + while (p && p.z >= minZ && n && n.z <= maxZ) { + if (p !== ear.prev && p !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + if (n !== ear.prev && n !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } // look for remaining points in decreasing z-order - this.rootNode = rootNode; - } + while (p && p.z >= minZ) { + if (p !== ear.prev && p !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } // look for remaining points in increasing z-order - Object.assign( PropertyBinding, { - Composite: Composite, + while (n && n.z <= maxZ) { + if (n !== ear.prev && n !== ear.next && pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, n.x, n.y) && area(n.prev, n, n.next) >= 0) return false; + n = n.nextZ; + } - create: function ( root, path, parsedPath ) { + return true; + } // go through all polygon nodes and cure small local self-intersections - if ( ! ( root && root.isAnimationObjectGroup ) ) { - return new PropertyBinding( root, path, parsedPath ); + function cureLocalIntersections(start, triangles, dim) { + let p = start; - } else { + do { + const a = p.prev, + b = p.next.next; - return new PropertyBinding.Composite( root, path, parsedPath ); + if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { + triangles.push(a.i / dim); + triangles.push(p.i / dim); + triangles.push(b.i / dim); // remove two nodes involved + removeNode(p); + removeNode(p.next); + p = start = b; } - }, - - /** - * Replaces spaces with underscores and removes unsupported characters from - * node names, to ensure compatibility with parseTrackName(). - * - * @param {string} name Node name to be sanitized. - * @return {string} - */ - sanitizeNodeName: ( function () { + p = p.next; + } while (p !== start); - var reservedRe = new RegExp( '[' + RESERVED_CHARS_RE + ']', 'g' ); + return filterPoints(p); + } // try splitting polygon into two and triangulate them independently - return function sanitizeNodeName( name ) { - return name.replace( /\s/g, '_' ).replace( reservedRe, '' ); + function splitEarcut(start, triangles, dim, minX, minY, invSize) { + // look for a valid diagonal that divides the polygon into two + let a = start; - }; + do { + let b = a.next.next; - }() ), + while (b !== a.prev) { + if (a.i !== b.i && isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + let c = splitPolygon(a, b); // filter colinear points around the cuts - parseTrackName: function () { + a = filterPoints(a, a.next); + c = filterPoints(c, c.next); // run earcut on each half - // Attempts to allow node names from any language. ES5's `\w` regexp matches - // only latin characters, and the unicode \p{L} is not yet supported. So - // instead, we exclude reserved characters and match everything else. - var wordChar = '[^' + RESERVED_CHARS_RE + ']'; - var wordCharOrDot = '[^' + RESERVED_CHARS_RE.replace( '\\.', '' ) + ']'; + earcutLinked(a, triangles, dim, minX, minY, invSize); + earcutLinked(c, triangles, dim, minX, minY, invSize); + return; + } - // Parent directories, delimited by '/' or ':'. Currently unused, but must - // be matched to parse the rest of the track name. - var directoryRe = /((?:WC+[\/:])*)/.source.replace( 'WC', wordChar ); + b = b.next; + } - // Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'. - var nodeRe = /(WCOD+)?/.source.replace( 'WCOD', wordCharOrDot ); + a = a.next; + } while (a !== start); + } // link every hole into the outer loop, producing a single-ring polygon without holes - // Object on target node, and accessor. May not contain reserved - // characters. Accessor may contain any character except closing bracket. - var objectRe = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace( 'WC', wordChar ); - // Property and accessor. May not contain reserved characters. Accessor may - // contain any non-bracket characters. - var propertyRe = /\.(WC+)(?:\[(.+)\])?/.source.replace( 'WC', wordChar ); + function eliminateHoles(data, holeIndices, outerNode, dim) { + const queue = []; + let i, len, start, end, list; - var trackRe = new RegExp( '' - + '^' - + directoryRe - + nodeRe - + objectRe - + propertyRe - + '$' - ); + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(getLeftmost(list)); + } - var supportedObjectNames = [ 'material', 'materials', 'bones' ]; + queue.sort(compareX); // process holes from left to right - return function parseTrackName( trackName ) { + for (i = 0; i < queue.length; i++) { + eliminateHole(queue[i], outerNode); + outerNode = filterPoints(outerNode, outerNode.next); + } - var matches = trackRe.exec( trackName ); + return outerNode; + } - if ( ! matches ) { + function compareX(a, b) { + return a.x - b.x; + } // find a bridge between vertices that connects hole with an outer ring and and link it - throw new Error( 'PropertyBinding: Cannot parse trackName: ' + trackName ); - } + function eliminateHole(hole, outerNode) { + outerNode = findHoleBridge(hole, outerNode); - var results = { - // directoryName: matches[ 1 ], // (tschw) currently unused - nodeName: matches[ 2 ], - objectName: matches[ 3 ], - objectIndex: matches[ 4 ], - propertyName: matches[ 5 ], // required - propertyIndex: matches[ 6 ] - }; + if (outerNode) { + const b = splitPolygon(outerNode, hole); // filter collinear points around the cuts - var lastDot = results.nodeName && results.nodeName.lastIndexOf( '.' ); + filterPoints(outerNode, outerNode.next); + filterPoints(b, b.next); + } + } // David Eberly's algorithm for finding a bridge between hole and outer polygon - if ( lastDot !== undefined && lastDot !== - 1 ) { - var objectName = results.nodeName.substring( lastDot + 1 ); + function findHoleBridge(hole, outerNode) { + let p = outerNode; + const hx = hole.x; + const hy = hole.y; + let qx = -Infinity, + m; // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point - // Object names must be checked against a whitelist. Otherwise, there - // is no way to parse 'foo.bar.baz': 'baz' must be a property, but - // 'bar' could be the objectName, or part of a nodeName (which can - // include '.' characters). - if ( supportedObjectNames.indexOf( objectName ) !== - 1 ) { + do { + if (hy <= p.y && hy >= p.next.y && p.next.y !== p.y) { + const x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); - results.nodeName = results.nodeName.substring( 0, lastDot ); - results.objectName = objectName; + if (x <= hx && x > qx) { + qx = x; + if (x === hx) { + if (hy === p.y) return p; + if (hy === p.next.y) return p.next; } + m = p.x < p.next.x ? p : p.next; } + } + + p = p.next; + } while (p !== outerNode); - if ( results.propertyName === null || results.propertyName.length === 0 ) { + if (!m) return null; + if (hx === qx) return m; // hole touches outer segment; pick leftmost endpoint + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + const stop = m, + mx = m.x, + my = m.y; + let tanMin = Infinity, + tan; + p = m; - throw new Error( 'PropertyBinding: can not parse propertyName from trackName: ' + trackName ); + do { + if (hx >= p.x && p.x >= mx && hx !== p.x && pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) { + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + if (locallyInside(p, hole) && (tan < tanMin || tan === tanMin && (p.x > m.x || p.x === m.x && sectorContainsSector(m, p)))) { + m = p; + tanMin = tan; } + } - return results; + p = p.next; + } while (p !== stop); - }; + return m; + } // whether sector in vertex m contains sector in vertex p in the same coordinates - }(), - findNode: function ( root, nodeName ) { + function sectorContainsSector(m, p) { + return area(m.prev, m, p.prev) < 0 && area(p.next, m, m.next) < 0; + } // interlink polygon nodes in z-order - if ( ! nodeName || nodeName === "" || nodeName === "root" || nodeName === "." || nodeName === - 1 || nodeName === root.name || nodeName === root.uuid ) { - return root; + function indexCurve(start, minX, minY, invSize) { + let p = start; - } + do { + if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, invSize); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); - // search into skeleton bones. - if ( root.skeleton ) { + p.prevZ.nextZ = null; + p.prevZ = null; + sortLinked(p); + } // Simon Tatham's linked list merge sort algorithm + // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html - var bone = root.skeleton.getBoneByName( nodeName ); - if ( bone !== undefined ) { + function sortLinked(list) { + let i, + p, + q, + e, + tail, + numMerges, + pSize, + qSize, + inSize = 1; - return bone; + do { + p = list; + list = null; + tail = null; + numMerges = 0; - } + while (p) { + numMerges++; + q = p; + pSize = 0; - } + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } - // search into node subtree. - if ( root.children ) { + qSize = inSize; - var searchNodeSubtree = function ( children ) { + while (pSize > 0 || qSize > 0 && q) { + if (pSize !== 0 && (qSize === 0 || !q || p.z <= q.z)) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } - for ( var i = 0; i < children.length; i ++ ) { + if (tail) tail.nextZ = e;else list = e; + e.prevZ = tail; + tail = e; + } - var childNode = children[ i ]; + p = q; + } - if ( childNode.name === nodeName || childNode.uuid === nodeName ) { + tail.nextZ = null; + inSize *= 2; + } while (numMerges > 1); - return childNode; + return list; + } // z-order of a point given coords and inverse of the longer side of data bbox - } - var result = searchNodeSubtree( childNode.children ); + function zOrder(x, y, minX, minY, invSize) { + // coords are transformed into non-negative 15-bit integer range + x = 32767 * (x - minX) * invSize; + y = 32767 * (y - minY) * invSize; + x = (x | x << 8) & 0x00FF00FF; + x = (x | x << 4) & 0x0F0F0F0F; + x = (x | x << 2) & 0x33333333; + x = (x | x << 1) & 0x55555555; + y = (y | y << 8) & 0x00FF00FF; + y = (y | y << 4) & 0x0F0F0F0F; + y = (y | y << 2) & 0x33333333; + y = (y | y << 1) & 0x55555555; + return x | y << 1; + } // find the leftmost node of a polygon ring + + + function getLeftmost(start) { + let p = start, + leftmost = start; - if ( result ) return result; + do { + if (p.x < leftmost.x || p.x === leftmost.x && p.y < leftmost.y) leftmost = p; + p = p.next; + } while (p !== start); - } + return leftmost; + } // check if a point lies within a convex triangle - return null; - }; + function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; + } // check if a diagonal between two polygon nodes is valid (lies in polygon interior) - var subTreeNode = searchNodeSubtree( root.children ); - if ( subTreeNode ) { + function isValidDiagonal(a, b) { + return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) && (locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b) && (area(a.prev, a, b.prev) || area(a, b.prev, b)) || // does not create opposite-facing sectors + equals(a, b) && area(a.prev, a, a.next) > 0 && area(b.prev, b, b.next) > 0); // special zero-length case + } // signed area of a triangle - return subTreeNode; - } + function area(p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); + } // check if two points are equal - } - return null; + function equals(p1, p2) { + return p1.x === p2.x && p1.y === p2.y; + } // check if two segments intersect - } - } ); + function intersects(p1, q1, p2, q2) { + const o1 = sign(area(p1, q1, p2)); + const o2 = sign(area(p1, q1, q2)); + const o3 = sign(area(p2, q2, p1)); + const o4 = sign(area(p2, q2, q1)); + if (o1 !== o2 && o3 !== o4) return true; // general case - Object.assign( PropertyBinding.prototype, { // prototype, continued + if (o1 === 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and p2 are collinear and p2 lies on p1q1 - // these are used to "bind" a nonexistent property - _getValue_unavailable: function () {}, - _setValue_unavailable: function () {}, + if (o2 === 0 && onSegment(p1, q2, q1)) return true; // p1, q1 and q2 are collinear and q2 lies on p1q1 - BindingType: { - Direct: 0, - EntireArray: 1, - ArrayElement: 2, - HasFromToArray: 3 - }, + if (o3 === 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and p1 are collinear and p1 lies on p2q2 - Versioning: { - None: 0, - NeedsUpdate: 1, - MatrixWorldNeedsUpdate: 2 - }, + if (o4 === 0 && onSegment(p2, q1, q2)) return true; // p2, q2 and q1 are collinear and q1 lies on p2q2 - GetterByBindingType: [ + return false; + } // for collinear points p, q, r, check if point q lies on segment pr - function getValue_direct( buffer, offset ) { - buffer[ offset ] = this.node[ this.propertyName ]; + function onSegment(p, q, r) { + return q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y); + } - }, + function sign(num) { + return num > 0 ? 1 : num < 0 ? -1 : 0; + } // check if a polygon diagonal intersects any polygon segments - function getValue_array( buffer, offset ) { - var source = this.resolvedProperty; + function intersectsPolygon(a, b) { + let p = a; - for ( var i = 0, n = source.length; i !== n; ++ i ) { + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); - buffer[ offset ++ ] = source[ i ]; + return false; + } // check if a polygon diagonal is locally inside the polygon - } - }, + function locallyInside(a, b) { + return area(a.prev, a, a.next) < 0 ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0; + } // check if the middle point of a polygon diagonal is inside the polygon - function getValue_arrayElement( buffer, offset ) { - buffer[ offset ] = this.resolvedProperty[ this.propertyIndex ]; + function middleInside(a, b) { + let p = a, + inside = false; + const px = (a.x + b.x) / 2, + py = (a.y + b.y) / 2; - }, + do { + if (p.y > py !== p.next.y > py && p.next.y !== p.y && px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x) inside = !inside; + p = p.next; + } while (p !== a); - function getValue_toArray( buffer, offset ) { + return inside; + } // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; + // if one belongs to the outer ring and another to a hole, it merges it into a single ring - this.resolvedProperty.toArray( buffer, offset ); - } + function splitPolygon(a, b) { + const a2 = new Node(a.i, a.x, a.y), + b2 = new Node(b.i, b.x, b.y), + an = a.next, + bp = b.prev; + a.next = b; + b.prev = a; + a2.next = an; + an.prev = a2; + b2.next = a2; + a2.prev = b2; + bp.next = b2; + b2.prev = bp; + return b2; + } // create a node and optionally link it with previous one (in a circular doubly linked list) - ], - SetterByBindingTypeAndVersioning: [ + function insertNode(i, x, y, last) { + const p = new Node(i, x, y); - [ - // Direct + if (!last) { + p.prev = p; + p.next = p; + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } - function setValue_direct( buffer, offset ) { + return p; + } - this.targetObject[ this.propertyName ] = buffer[ offset ]; + function removeNode(p) { + p.next.prev = p.prev; + p.prev.next = p.next; + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; + } - }, + function Node(i, x, y) { + // vertex index in coordinates array + this.i = i; // vertex coordinates - function setValue_direct_setNeedsUpdate( buffer, offset ) { + this.x = x; + this.y = y; // previous and next vertex nodes in a polygon ring - this.targetObject[ this.propertyName ] = buffer[ offset ]; - this.targetObject.needsUpdate = true; + this.prev = null; + this.next = null; // z-order curve value - }, + this.z = null; // previous and next nodes in z-order - function setValue_direct_setMatrixWorldNeedsUpdate( buffer, offset ) { + this.prevZ = null; + this.nextZ = null; // indicates whether this is a steiner point - this.targetObject[ this.propertyName ] = buffer[ offset ]; - this.targetObject.matrixWorldNeedsUpdate = true; + this.steiner = false; + } - } + function signedArea(data, start, end, dim) { + let sum = 0; - ], [ + for (let i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } - // EntireArray + return sum; + } - function setValue_array( buffer, offset ) { + class ShapeUtils { + // calculate area of the contour polygon + static area(contour) { + const n = contour.length; + let a = 0.0; - var dest = this.resolvedProperty; + for (let p = n - 1, q = 0; q < n; p = q++) { + a += contour[p].x * contour[q].y - contour[q].x * contour[p].y; + } - for ( var i = 0, n = dest.length; i !== n; ++ i ) { + return a * 0.5; + } - dest[ i ] = buffer[ offset ++ ]; + static isClockWise(pts) { + return ShapeUtils.area(pts) < 0; + } - } + static triangulateShape(contour, holes) { + const vertices = []; // flat array of vertices like [ x0,y0, x1,y1, x2,y2, ... ] - }, + const holeIndices = []; // array of hole indices - function setValue_array_setNeedsUpdate( buffer, offset ) { + const faces = []; // final array of vertex indices like [ [ a,b,d ], [ b,c,d ] ] - var dest = this.resolvedProperty; + removeDupEndPts(contour); + addContour(vertices, contour); // - for ( var i = 0, n = dest.length; i !== n; ++ i ) { + let holeIndex = contour.length; + holes.forEach(removeDupEndPts); - dest[ i ] = buffer[ offset ++ ]; + for (let i = 0; i < holes.length; i++) { + holeIndices.push(holeIndex); + holeIndex += holes[i].length; + addContour(vertices, holes[i]); + } // - } - this.targetObject.needsUpdate = true; + const triangles = Earcut.triangulate(vertices, holeIndices); // - }, + for (let i = 0; i < triangles.length; i += 3) { + faces.push(triangles.slice(i, i + 3)); + } - function setValue_array_setMatrixWorldNeedsUpdate( buffer, offset ) { + return faces; + } - var dest = this.resolvedProperty; + } - for ( var i = 0, n = dest.length; i !== n; ++ i ) { + function removeDupEndPts(points) { + const l = points.length; - dest[ i ] = buffer[ offset ++ ]; + if (l > 2 && points[l - 1].equals(points[0])) { + points.pop(); + } + } - } + function addContour(vertices, contour) { + for (let i = 0; i < contour.length; i++) { + vertices.push(contour[i].x); + vertices.push(contour[i].y); + } + } - this.targetObject.matrixWorldNeedsUpdate = true; + /** + * Creates extruded geometry from a path shape. + * + * parameters = { + * + * curveSegments: , // number of points on the curves + * steps: , // number of points for z-side extrusions / used for subdividing segments of extrude spline too + * depth: , // Depth to extrude the shape + * + * bevelEnabled: , // turn on bevel + * bevelThickness: , // how deep into the original shape bevel goes + * bevelSize: , // how far from shape outline (including bevelOffset) is bevel + * bevelOffset: , // how far from shape outline does bevel start + * bevelSegments: , // number of bevel layers + * + * extrudePath: // curve to extrude shape along + * + * UVGenerator: // object that provides UV generator functions + * + * } + */ - } + class ExtrudeGeometry extends BufferGeometry { + constructor(shapes, options) { + super(); + this.type = 'ExtrudeGeometry'; + this.parameters = { + shapes: shapes, + options: options + }; + shapes = Array.isArray(shapes) ? shapes : [shapes]; + const scope = this; + const verticesArray = []; + const uvArray = []; - ], [ + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + addShape(shape); + } // build geometry - // ArrayElement - function setValue_arrayElement( buffer, offset ) { + this.setAttribute('position', new Float32BufferAttribute(verticesArray, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvArray, 2)); + this.computeVertexNormals(); // functions - this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; + function addShape(shape) { + const placeholder = []; // options - }, + const curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12; + const steps = options.steps !== undefined ? options.steps : 1; + let depth = options.depth !== undefined ? options.depth : 100; + let bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true; + let bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 6; + let bevelSize = options.bevelSize !== undefined ? options.bevelSize : bevelThickness - 2; + let bevelOffset = options.bevelOffset !== undefined ? options.bevelOffset : 0; + let bevelSegments = options.bevelSegments !== undefined ? options.bevelSegments : 3; + const extrudePath = options.extrudePath; + const uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator; // deprecated options - function setValue_arrayElement_setNeedsUpdate( buffer, offset ) { + if (options.amount !== undefined) { + console.warn('THREE.ExtrudeBufferGeometry: amount has been renamed to depth.'); + depth = options.amount; + } // - this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; - this.targetObject.needsUpdate = true; - }, + let extrudePts, + extrudeByPath = false; + let splineTube, binormal, normal, position2; - function setValue_arrayElement_setMatrixWorldNeedsUpdate( buffer, offset ) { + if (extrudePath) { + extrudePts = extrudePath.getSpacedPoints(steps); + extrudeByPath = true; + bevelEnabled = false; // bevels not supported for path extrusion + // SETUP TNB variables + // TODO1 - have a .isClosed in spline? - this.resolvedProperty[ this.propertyIndex ] = buffer[ offset ]; - this.targetObject.matrixWorldNeedsUpdate = true; + splineTube = extrudePath.computeFrenetFrames(steps, false); // console.log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length); - } + binormal = new Vector3(); + normal = new Vector3(); + position2 = new Vector3(); + } // Safeguards if bevels are not enabled - ], [ - // HasToFromArray + if (!bevelEnabled) { + bevelSegments = 0; + bevelThickness = 0; + bevelSize = 0; + bevelOffset = 0; + } // Variables initialization - function setValue_fromArray( buffer, offset ) { - this.resolvedProperty.fromArray( buffer, offset ); + const shapePoints = shape.extractPoints(curveSegments); + let vertices = shapePoints.shape; + const holes = shapePoints.holes; + const reverse = !ShapeUtils.isClockWise(vertices); - }, + if (reverse) { + vertices = vertices.reverse(); // Maybe we should also check if holes are in the opposite direction, just to be safe ... - function setValue_fromArray_setNeedsUpdate( buffer, offset ) { + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; - this.resolvedProperty.fromArray( buffer, offset ); - this.targetObject.needsUpdate = true; + if (ShapeUtils.isClockWise(ahole)) { + holes[h] = ahole.reverse(); + } + } + } - }, + const faces = ShapeUtils.triangulateShape(vertices, holes); + /* Vertices */ - function setValue_fromArray_setMatrixWorldNeedsUpdate( buffer, offset ) { + const contour = vertices; // vertices has all points but contour has only points of circumference - this.resolvedProperty.fromArray( buffer, offset ); - this.targetObject.matrixWorldNeedsUpdate = true; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + vertices = vertices.concat(ahole); + } + function scalePt2(pt, vec, size) { + if (!vec) console.error('THREE.ExtrudeGeometry: vec does not exist'); + return vec.clone().multiplyScalar(size).add(pt); } - ] + const vlen = vertices.length, + flen = faces.length; // Find directions for point movement - ], + function getBevelVec(inPt, inPrev, inNext) { + // computes for inPt the corresponding point inPt' on a new contour + // shifted by 1 unit (length of normalized vector) to the left + // if we walk along contour clockwise, this new contour is outside the old one + // + // inPt' is the intersection of the two lines parallel to the two + // adjacent edges of inPt at a distance of 1 unit on the left side. + let v_trans_x, v_trans_y, shrink_by; // resulting translation vector for inPt + // good reading for geometry algorithms (here: line-line intersection) + // http://geomalgorithms.com/a05-_intersect-1.html - getValue: function getValue_unbound( targetArray, offset ) { + const v_prev_x = inPt.x - inPrev.x, + v_prev_y = inPt.y - inPrev.y; + const v_next_x = inNext.x - inPt.x, + v_next_y = inNext.y - inPt.y; + const v_prev_lensq = v_prev_x * v_prev_x + v_prev_y * v_prev_y; // check for collinear edges - this.bind(); - this.getValue( targetArray, offset ); + const collinear0 = v_prev_x * v_next_y - v_prev_y * v_next_x; - // Note: This class uses a State pattern on a per-method basis: - // 'bind' sets 'this.getValue' / 'setValue' and shadows the - // prototype version of these methods with one that represents - // the bound state. When the property is not found, the methods - // become no-ops. + if (Math.abs(collinear0) > Number.EPSILON) { + // not collinear + // length of vectors for normalizing + const v_prev_len = Math.sqrt(v_prev_lensq); + const v_next_len = Math.sqrt(v_next_x * v_next_x + v_next_y * v_next_y); // shift adjacent points by unit vectors to the left - }, + const ptPrevShift_x = inPrev.x - v_prev_y / v_prev_len; + const ptPrevShift_y = inPrev.y + v_prev_x / v_prev_len; + const ptNextShift_x = inNext.x - v_next_y / v_next_len; + const ptNextShift_y = inNext.y + v_next_x / v_next_len; // scaling factor for v_prev to intersection point - setValue: function getValue_unbound( sourceArray, offset ) { + const sf = ((ptNextShift_x - ptPrevShift_x) * v_next_y - (ptNextShift_y - ptPrevShift_y) * v_next_x) / (v_prev_x * v_next_y - v_prev_y * v_next_x); // vector from inPt to intersection point - this.bind(); - this.setValue( sourceArray, offset ); + v_trans_x = ptPrevShift_x + v_prev_x * sf - inPt.x; + v_trans_y = ptPrevShift_y + v_prev_y * sf - inPt.y; // Don't normalize!, otherwise sharp corners become ugly + // but prevent crazy spikes - }, + const v_trans_lensq = v_trans_x * v_trans_x + v_trans_y * v_trans_y; - // create getter / setter pair for a property in the scene graph - bind: function () { + if (v_trans_lensq <= 2) { + return new Vector2(v_trans_x, v_trans_y); + } else { + shrink_by = Math.sqrt(v_trans_lensq / 2); + } + } else { + // handle special case of collinear edges + let direction_eq = false; // assumes: opposite - var targetObject = this.node, - parsedPath = this.parsedPath, + if (v_prev_x > Number.EPSILON) { + if (v_next_x > Number.EPSILON) { + direction_eq = true; + } + } else { + if (v_prev_x < -Number.EPSILON) { + if (v_next_x < -Number.EPSILON) { + direction_eq = true; + } + } else { + if (Math.sign(v_prev_y) === Math.sign(v_next_y)) { + direction_eq = true; + } + } + } - objectName = parsedPath.objectName, - propertyName = parsedPath.propertyName, - propertyIndex = parsedPath.propertyIndex; + if (direction_eq) { + // console.log("Warning: lines are a straight sequence"); + v_trans_x = -v_prev_y; + v_trans_y = v_prev_x; + shrink_by = Math.sqrt(v_prev_lensq); + } else { + // console.log("Warning: lines are a straight spike"); + v_trans_x = v_prev_x; + v_trans_y = v_prev_y; + shrink_by = Math.sqrt(v_prev_lensq / 2); + } + } - if ( ! targetObject ) { + return new Vector2(v_trans_x / shrink_by, v_trans_y / shrink_by); + } - targetObject = PropertyBinding.findNode( this.rootNode, parsedPath.nodeName ) || this.rootNode; + const contourMovements = []; - this.node = targetObject; + for (let i = 0, il = contour.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) { + if (j === il) j = 0; + if (k === il) k = 0; // (j)---(i)---(k) + // console.log('i,j,k', i, j , k) - } + contourMovements[i] = getBevelVec(contour[i], contour[j], contour[k]); + } - // set fail state so we can just 'return' on error - this.getValue = this._getValue_unavailable; - this.setValue = this._setValue_unavailable; + const holesMovements = []; + let oneHoleMovements, + verticesMovements = contourMovements.concat(); - // ensure there is a value node - if ( ! targetObject ) { + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = []; - console.error( 'THREE.PropertyBinding: Trying to update node for track: ' + this.path + ' but it wasn\'t found.' ); - return; + for (let i = 0, il = ahole.length, j = il - 1, k = i + 1; i < il; i++, j++, k++) { + if (j === il) j = 0; + if (k === il) k = 0; // (j)---(i)---(k) - } + oneHoleMovements[i] = getBevelVec(ahole[i], ahole[j], ahole[k]); + } - if ( objectName ) { + holesMovements.push(oneHoleMovements); + verticesMovements = verticesMovements.concat(oneHoleMovements); + } // Loop bevelSegments, 1 for the front, 1 for the back - var objectIndex = parsedPath.objectIndex; - // special cases were we need to reach deeper into the hierarchy to get the face materials.... - switch ( objectName ) { + for (let b = 0; b < bevelSegments; b++) { + //for ( b = bevelSegments; b > 0; b -- ) { + const t = b / bevelSegments; + const z = bevelThickness * Math.cos(t * Math.PI / 2); + const bs = bevelSize * Math.sin(t * Math.PI / 2) + bevelOffset; // contract shape - case 'materials': + for (let i = 0, il = contour.length; i < il; i++) { + const vert = scalePt2(contour[i], contourMovements[i], bs); + v(vert.x, vert.y, -z); + } // expand holes - if ( ! targetObject.material ) { - console.error( 'THREE.PropertyBinding: Can not bind to material as node does not have a material.', this ); - return; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = holesMovements[h]; + for (let i = 0, il = ahole.length; i < il; i++) { + const vert = scalePt2(ahole[i], oneHoleMovements[i], bs); + v(vert.x, vert.y, -z); } + } + } - if ( ! targetObject.material.materials ) { + const bs = bevelSize + bevelOffset; // Back facing vertices - console.error( 'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this ); - return; + for (let i = 0; i < vlen; i++) { + const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i]; - } + if (!extrudeByPath) { + v(vert.x, vert.y, 0); + } else { + // v( vert.x, vert.y + extrudePts[ 0 ].y, extrudePts[ 0 ].x ); + normal.copy(splineTube.normals[0]).multiplyScalar(vert.x); + binormal.copy(splineTube.binormals[0]).multiplyScalar(vert.y); + position2.copy(extrudePts[0]).add(normal).add(binormal); + v(position2.x, position2.y, position2.z); + } + } // Add stepped vertices... + // Including front facing vertices - targetObject = targetObject.material.materials; - break; + for (let s = 1; s <= steps; s++) { + for (let i = 0; i < vlen; i++) { + const vert = bevelEnabled ? scalePt2(vertices[i], verticesMovements[i], bs) : vertices[i]; - case 'bones': + if (!extrudeByPath) { + v(vert.x, vert.y, depth / steps * s); + } else { + // v( vert.x, vert.y + extrudePts[ s - 1 ].y, extrudePts[ s - 1 ].x ); + normal.copy(splineTube.normals[s]).multiplyScalar(vert.x); + binormal.copy(splineTube.binormals[s]).multiplyScalar(vert.y); + position2.copy(extrudePts[s]).add(normal).add(binormal); + v(position2.x, position2.y, position2.z); + } + } + } // Add bevel segments planes + //for ( b = 1; b <= bevelSegments; b ++ ) { - if ( ! targetObject.skeleton ) { - console.error( 'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this ); - return; + for (let b = bevelSegments - 1; b >= 0; b--) { + const t = b / bevelSegments; + const z = bevelThickness * Math.cos(t * Math.PI / 2); + const bs = bevelSize * Math.sin(t * Math.PI / 2) + bevelOffset; // contract shape - } + for (let i = 0, il = contour.length; i < il; i++) { + const vert = scalePt2(contour[i], contourMovements[i], bs); + v(vert.x, vert.y, depth + z); + } // expand holes - // potential future optimization: skip this if propertyIndex is already an integer - // and convert the integer string to a true integer. - targetObject = targetObject.skeleton.bones; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + oneHoleMovements = holesMovements[h]; + + for (let i = 0, il = ahole.length; i < il; i++) { + const vert = scalePt2(ahole[i], oneHoleMovements[i], bs); - // support resolving morphTarget names into indices. - for ( var i = 0; i < targetObject.length; i ++ ) { + if (!extrudeByPath) { + v(vert.x, vert.y, depth + z); + } else { + v(vert.x, vert.y + extrudePts[steps - 1].y, extrudePts[steps - 1].x + z); + } + } + } + } + /* Faces */ + // Top and bottom faces - if ( targetObject[ i ].name === objectIndex ) { - objectIndex = i; - break; + buildLidFaces(); // Sides faces - } + buildSideFaces(); ///// Internal functions - } + function buildLidFaces() { + const start = verticesArray.length / 3; - break; + if (bevelEnabled) { + let layer = 0; // steps + 1 - default: + let offset = vlen * layer; // Bottom faces - if ( targetObject[ objectName ] === undefined ) { + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[2] + offset, face[1] + offset, face[0] + offset); + } - console.error( 'THREE.PropertyBinding: Can not bind to objectName of node undefined.', this ); - return; + layer = steps + bevelSegments * 2; + offset = vlen * layer; // Top faces + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[0] + offset, face[1] + offset, face[2] + offset); } + } else { + // Bottom faces + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[2], face[1], face[0]); + } // Top faces - targetObject = targetObject[ objectName ]; - } + for (let i = 0; i < flen; i++) { + const face = faces[i]; + f3(face[0] + vlen * steps, face[1] + vlen * steps, face[2] + vlen * steps); + } + } + scope.addGroup(start, verticesArray.length / 3 - start, 0); + } // Create faces for the z-sides of the shape - if ( objectIndex !== undefined ) { - if ( targetObject[ objectIndex ] === undefined ) { + function buildSideFaces() { + const start = verticesArray.length / 3; + let layeroffset = 0; + sidewalls(contour, layeroffset); + layeroffset += contour.length; - console.error( 'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject ); - return; + for (let h = 0, hl = holes.length; h < hl; h++) { + const ahole = holes[h]; + sidewalls(ahole, layeroffset); //, true + layeroffset += ahole.length; } - targetObject = targetObject[ objectIndex ]; - + scope.addGroup(start, verticesArray.length / 3 - start, 1); } - } + function sidewalls(contour, layeroffset) { + let i = contour.length; - // resolve property - var nodeProperty = targetObject[ propertyName ]; + while (--i >= 0) { + const j = i; + let k = i - 1; + if (k < 0) k = contour.length - 1; //console.log('b', i,j, i-1, k,vertices.length); - if ( nodeProperty === undefined ) { + for (let s = 0, sl = steps + bevelSegments * 2; s < sl; s++) { + const slen1 = vlen * s; + const slen2 = vlen * (s + 1); + const a = layeroffset + j + slen1, + b = layeroffset + k + slen1, + c = layeroffset + k + slen2, + d = layeroffset + j + slen2; + f4(a, b, c, d); + } + } + } - var nodeName = parsedPath.nodeName; + function v(x, y, z) { + placeholder.push(x); + placeholder.push(y); + placeholder.push(z); + } - console.error( 'THREE.PropertyBinding: Trying to update property for track: ' + nodeName + - '.' + propertyName + ' but it wasn\'t found.', targetObject ); - return; + function f3(a, b, c) { + addVertex(a); + addVertex(b); + addVertex(c); + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateTopUV(scope, verticesArray, nextIndex - 3, nextIndex - 2, nextIndex - 1); + addUV(uvs[0]); + addUV(uvs[1]); + addUV(uvs[2]); + } - } + function f4(a, b, c, d) { + addVertex(a); + addVertex(b); + addVertex(d); + addVertex(b); + addVertex(c); + addVertex(d); + const nextIndex = verticesArray.length / 3; + const uvs = uvgen.generateSideWallUV(scope, verticesArray, nextIndex - 6, nextIndex - 3, nextIndex - 2, nextIndex - 1); + addUV(uvs[0]); + addUV(uvs[1]); + addUV(uvs[3]); + addUV(uvs[1]); + addUV(uvs[2]); + addUV(uvs[3]); + } - // determine versioning scheme - var versioning = this.Versioning.None; + function addVertex(index) { + verticesArray.push(placeholder[index * 3 + 0]); + verticesArray.push(placeholder[index * 3 + 1]); + verticesArray.push(placeholder[index * 3 + 2]); + } - this.targetObject = targetObject; + function addUV(vector2) { + uvArray.push(vector2.x); + uvArray.push(vector2.y); + } + } + } - if ( targetObject.needsUpdate !== undefined ) { // material + toJSON() { + const data = super.toJSON(); + const shapes = this.parameters.shapes; + const options = this.parameters.options; + return toJSON$1(shapes, options, data); + } - versioning = this.Versioning.NeedsUpdate; + static fromJSON(data, shapes) { + const geometryShapes = []; - } else if ( targetObject.matrixWorldNeedsUpdate !== undefined ) { // node transform + for (let j = 0, jl = data.shapes.length; j < jl; j++) { + const shape = shapes[data.shapes[j]]; + geometryShapes.push(shape); + } - versioning = this.Versioning.MatrixWorldNeedsUpdate; + const extrudePath = data.options.extrudePath; + if (extrudePath !== undefined) { + data.options.extrudePath = new Curves[extrudePath.type]().fromJSON(extrudePath); } - // determine how the property gets bound - var bindingType = this.BindingType.Direct; + return new ExtrudeGeometry(geometryShapes, data.options); + } - if ( propertyIndex !== undefined ) { + } - // access a sub element of the property array (only primitives are supported right now) + const WorldUVGenerator = { + generateTopUV: function (geometry, vertices, indexA, indexB, indexC) { + const a_x = vertices[indexA * 3]; + const a_y = vertices[indexA * 3 + 1]; + const b_x = vertices[indexB * 3]; + const b_y = vertices[indexB * 3 + 1]; + const c_x = vertices[indexC * 3]; + const c_y = vertices[indexC * 3 + 1]; + return [new Vector2(a_x, a_y), new Vector2(b_x, b_y), new Vector2(c_x, c_y)]; + }, + generateSideWallUV: function (geometry, vertices, indexA, indexB, indexC, indexD) { + const a_x = vertices[indexA * 3]; + const a_y = vertices[indexA * 3 + 1]; + const a_z = vertices[indexA * 3 + 2]; + const b_x = vertices[indexB * 3]; + const b_y = vertices[indexB * 3 + 1]; + const b_z = vertices[indexB * 3 + 2]; + const c_x = vertices[indexC * 3]; + const c_y = vertices[indexC * 3 + 1]; + const c_z = vertices[indexC * 3 + 2]; + const d_x = vertices[indexD * 3]; + const d_y = vertices[indexD * 3 + 1]; + const d_z = vertices[indexD * 3 + 2]; - if ( propertyName === "morphTargetInfluences" ) { + if (Math.abs(a_y - b_y) < Math.abs(a_x - b_x)) { + return [new Vector2(a_x, 1 - a_z), new Vector2(b_x, 1 - b_z), new Vector2(c_x, 1 - c_z), new Vector2(d_x, 1 - d_z)]; + } else { + return [new Vector2(a_y, 1 - a_z), new Vector2(b_y, 1 - b_z), new Vector2(c_y, 1 - c_z), new Vector2(d_y, 1 - d_z)]; + } + } + }; - // potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer. + function toJSON$1(shapes, options, data) { + data.shapes = []; - // support resolving morphTarget names into indices. - if ( ! targetObject.geometry ) { + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + data.shapes.push(shape.uuid); + } + } else { + data.shapes.push(shapes.uuid); + } - console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this ); - return; + if (options.extrudePath !== undefined) data.options.extrudePath = options.extrudePath.toJSON(); + return data; + } - } + class IcosahedronGeometry extends PolyhedronGeometry { + constructor(radius = 1, detail = 0) { + const t = (1 + Math.sqrt(5)) / 2; + const vertices = [-1, t, 0, 1, t, 0, -1, -t, 0, 1, -t, 0, 0, -1, t, 0, 1, t, 0, -1, -t, 0, 1, -t, t, 0, -1, t, 0, 1, -t, 0, -1, -t, 0, 1]; + const indices = [0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 0, 10, 11, 1, 5, 9, 5, 11, 4, 11, 10, 2, 10, 7, 6, 7, 1, 8, 3, 9, 4, 3, 4, 2, 3, 2, 6, 3, 6, 8, 3, 8, 9, 4, 9, 5, 2, 4, 11, 6, 2, 10, 8, 6, 7, 9, 8, 1]; + super(vertices, indices, radius, detail); + this.type = 'IcosahedronGeometry'; + this.parameters = { + radius: radius, + detail: detail + }; + } - if ( targetObject.geometry.isBufferGeometry ) { + static fromJSON(data) { + return new IcosahedronGeometry(data.radius, data.detail); + } - if ( ! targetObject.geometry.morphAttributes ) { + } - console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this ); - return; + class LatheGeometry extends BufferGeometry { + constructor(points, segments = 12, phiStart = 0, phiLength = Math.PI * 2) { + super(); + this.type = 'LatheGeometry'; + this.parameters = { + points: points, + segments: segments, + phiStart: phiStart, + phiLength: phiLength + }; + segments = Math.floor(segments); // clamp phiLength so it's in range of [ 0, 2PI ] - } + phiLength = clamp(phiLength, 0, Math.PI * 2); // buffers - for ( var i = 0; i < this.node.geometry.morphAttributes.position.length; i ++ ) { + const indices = []; + const vertices = []; + const uvs = []; // helper variables - if ( targetObject.geometry.morphAttributes.position[ i ].name === propertyIndex ) { + const inverseSegments = 1.0 / segments; + const vertex = new Vector3(); + const uv = new Vector2(); // generate vertices and uvs - propertyIndex = i; - break; + for (let i = 0; i <= segments; i++) { + const phi = phiStart + i * inverseSegments * phiLength; + const sin = Math.sin(phi); + const cos = Math.cos(phi); - } + for (let j = 0; j <= points.length - 1; j++) { + // vertex + vertex.x = points[j].x * sin; + vertex.y = points[j].y; + vertex.z = points[j].x * cos; + vertices.push(vertex.x, vertex.y, vertex.z); // uv - } + uv.x = i / segments; + uv.y = j / (points.length - 1); + uvs.push(uv.x, uv.y); + } + } // indices - } else { + for (let i = 0; i < segments; i++) { + for (let j = 0; j < points.length - 1; j++) { + const base = j + i * points.length; + const a = base; + const b = base + points.length; + const c = base + points.length + 1; + const d = base + 1; // faces - if ( ! targetObject.geometry.morphTargets ) { + indices.push(a, b, d); + indices.push(b, c, d); + } + } // build geometry - console.error( 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphTargets.', this ); - return; - } + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); // generate normals - for ( var i = 0; i < this.node.geometry.morphTargets.length; i ++ ) { + this.computeVertexNormals(); // if the geometry is closed, we need to average the normals along the seam. + // because the corresponding vertices are identical (but still have different UVs). - if ( targetObject.geometry.morphTargets[ i ].name === propertyIndex ) { + if (phiLength === Math.PI * 2) { + const normals = this.attributes.normal.array; + const n1 = new Vector3(); + const n2 = new Vector3(); + const n = new Vector3(); // this is the buffer offset for the last line of vertices - propertyIndex = i; - break; + const base = segments * points.length * 3; - } + for (let i = 0, j = 0; i < points.length; i++, j += 3) { + // select the normal of the vertex in the first line + n1.x = normals[j + 0]; + n1.y = normals[j + 1]; + n1.z = normals[j + 2]; // select the normal of the vertex in the last line - } + n2.x = normals[base + j + 0]; + n2.y = normals[base + j + 1]; + n2.z = normals[base + j + 2]; // average normals - } + n.addVectors(n1, n2).normalize(); // assign the new values to both normals + normals[j + 0] = normals[base + j + 0] = n.x; + normals[j + 1] = normals[base + j + 1] = n.y; + normals[j + 2] = normals[base + j + 2] = n.z; } + } + } - bindingType = this.BindingType.ArrayElement; + static fromJSON(data) { + return new LatheGeometry(data.points, data.segments, data.phiStart, data.phiLength); + } - this.resolvedProperty = nodeProperty; - this.propertyIndex = propertyIndex; + } - } else if ( nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined ) { + class OctahedronGeometry extends PolyhedronGeometry { + constructor(radius = 1, detail = 0) { + const vertices = [1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1]; + const indices = [0, 2, 4, 0, 4, 3, 0, 3, 5, 0, 5, 2, 1, 2, 5, 1, 5, 3, 1, 3, 4, 1, 4, 2]; + super(vertices, indices, radius, detail); + this.type = 'OctahedronGeometry'; + this.parameters = { + radius: radius, + detail: detail + }; + } - // must use copy for Object3D.Euler/Quaternion + static fromJSON(data) { + return new OctahedronGeometry(data.radius, data.detail); + } - bindingType = this.BindingType.HasFromToArray; + } - this.resolvedProperty = nodeProperty; + /** + * Parametric Surfaces Geometry + * based on the brilliant article by @prideout https://prideout.net/blog/old/blog/index.html@p=44.html + */ - } else if ( Array.isArray( nodeProperty ) ) { + class ParametricGeometry extends BufferGeometry { + constructor(func, slices, stacks) { + super(); + this.type = 'ParametricGeometry'; + this.parameters = { + func: func, + slices: slices, + stacks: stacks + }; // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; + const EPS = 0.00001; + const normal = new Vector3(); + const p0 = new Vector3(), + p1 = new Vector3(); + const pu = new Vector3(), + pv = new Vector3(); + + if (func.length < 3) { + console.error('THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.'); + } // generate vertices, normals and uvs + + + const sliceCount = slices + 1; + + for (let i = 0; i <= stacks; i++) { + const v = i / stacks; + + for (let j = 0; j <= slices; j++) { + const u = j / slices; // vertex + + func(u, v, p0); + vertices.push(p0.x, p0.y, p0.z); // normal + // approximate tangent vectors via finite differences + + if (u - EPS >= 0) { + func(u - EPS, v, p1); + pu.subVectors(p0, p1); + } else { + func(u + EPS, v, p1); + pu.subVectors(p1, p0); + } - bindingType = this.BindingType.EntireArray; + if (v - EPS >= 0) { + func(u, v - EPS, p1); + pv.subVectors(p0, p1); + } else { + func(u, v + EPS, p1); + pv.subVectors(p1, p0); + } // cross product of tangent vectors returns surface normal - this.resolvedProperty = nodeProperty; - } else { + normal.crossVectors(pu, pv).normalize(); + normals.push(normal.x, normal.y, normal.z); // uv - this.propertyName = propertyName; + uvs.push(u, v); + } + } // generate indices - } - // select getter / setter - this.getValue = this.GetterByBindingType[ bindingType ]; - this.setValue = this.SetterByBindingTypeAndVersioning[ bindingType ][ versioning ]; + for (let i = 0; i < stacks; i++) { + for (let j = 0; j < slices; j++) { + const a = i * sliceCount + j; + const b = i * sliceCount + j + 1; + const c = (i + 1) * sliceCount + j + 1; + const d = (i + 1) * sliceCount + j; // faces one and two - }, + indices.push(a, b, d); + indices.push(b, c, d); + } + } // build geometry - unbind: function () { - this.node = null; + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); + } - // back to the prototype version of getValue / setValue - // note: avoiding to mutate the shape of 'this' via 'delete' - this.getValue = this._getValue_unbound; - this.setValue = this._setValue_unbound; + } - } + class RingGeometry extends BufferGeometry { + constructor(innerRadius = 0.5, outerRadius = 1, thetaSegments = 8, phiSegments = 1, thetaStart = 0, thetaLength = Math.PI * 2) { + super(); + this.type = 'RingGeometry'; + this.parameters = { + innerRadius: innerRadius, + outerRadius: outerRadius, + thetaSegments: thetaSegments, + phiSegments: phiSegments, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + thetaSegments = Math.max(3, thetaSegments); + phiSegments = Math.max(1, phiSegments); // buffers - } ); + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // some helper variables - //!\ DECLARE ALIAS AFTER assign prototype ! - Object.assign( PropertyBinding.prototype, { + let radius = innerRadius; + const radiusStep = (outerRadius - innerRadius) / phiSegments; + const vertex = new Vector3(); + const uv = new Vector2(); // generate vertices, normals and uvs - // initial state of these methods that calls 'bind' - _getValue_unbound: PropertyBinding.prototype.getValue, - _setValue_unbound: PropertyBinding.prototype.setValue, + for (let j = 0; j <= phiSegments; j++) { + for (let i = 0; i <= thetaSegments; i++) { + // values are generate from the inside of the ring to the outside + const segment = thetaStart + i / thetaSegments * thetaLength; // vertex - } ); + vertex.x = radius * Math.cos(segment); + vertex.y = radius * Math.sin(segment); + vertices.push(vertex.x, vertex.y, vertex.z); // normal - /** - * - * A group of objects that receives a shared animation state. - * - * Usage: - * - * - Add objects you would otherwise pass as 'root' to the - * constructor or the .clipAction method of AnimationMixer. - * - * - Instead pass this object as 'root'. - * - * - You can also add and remove objects later when the mixer - * is running. - * - * Note: - * - * Objects of this class appear as one object to the mixer, - * so cache control of the individual objects must be done - * on the group. - * - * Limitation: - * - * - The animated properties must be compatible among the - * all objects in the group. - * - * - A single property can either be controlled through a - * target group or directly, but not both. - * - * @author tschw - */ + normals.push(0, 0, 1); // uv + + uv.x = (vertex.x / outerRadius + 1) / 2; + uv.y = (vertex.y / outerRadius + 1) / 2; + uvs.push(uv.x, uv.y); + } // increase the radius for next row of vertices - function AnimationObjectGroup() { - this.uuid = _Math.generateUUID(); + radius += radiusStep; + } // indices - // cached objects followed by the active ones - this._objects = Array.prototype.slice.call( arguments ); - this.nCachedObjects_ = 0; // threshold - // note: read by PropertyBinding.Composite + for (let j = 0; j < phiSegments; j++) { + const thetaSegmentLevel = j * (thetaSegments + 1); - var indices = {}; - this._indicesByUUID = indices; // for bookkeeping + for (let i = 0; i < thetaSegments; i++) { + const segment = i + thetaSegmentLevel; + const a = segment; + const b = segment + thetaSegments + 1; + const c = segment + thetaSegments + 2; + const d = segment + 1; // faces - for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + indices.push(a, b, d); + indices.push(b, c, d); + } + } // build geometry - indices[ arguments[ i ].uuid ] = i; + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); } - this._paths = []; // inside: string - this._parsedPaths = []; // inside: { we don't care, here } - this._bindings = []; // inside: Array< PropertyBinding > - this._bindingsIndicesByPath = {}; // inside: indices in these arrays - - var scope = this; + static fromJSON(data) { + return new RingGeometry(data.innerRadius, data.outerRadius, data.thetaSegments, data.phiSegments, data.thetaStart, data.thetaLength); + } - this.stats = { + } - objects: { - get total() { + class ShapeGeometry extends BufferGeometry { + constructor(shapes, curveSegments = 12) { + super(); + this.type = 'ShapeGeometry'; + this.parameters = { + shapes: shapes, + curveSegments: curveSegments + }; // buffers - return scope._objects.length; + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - }, - get inUse() { + let groupStart = 0; + let groupCount = 0; // allow single and array values for "shapes" parameter - return this.total - scope.nCachedObjects_; + if (Array.isArray(shapes) === false) { + addShape(shapes); + } else { + for (let i = 0; i < shapes.length; i++) { + addShape(shapes[i]); + this.addGroup(groupStart, groupCount, i); // enables MultiMaterial support + groupStart += groupCount; + groupCount = 0; } - }, - get bindingsPerObject() { + } // build geometry - return scope._bindings.length; - } + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); // helper functions - }; + function addShape(shape) { + const indexOffset = vertices.length / 3; + const points = shape.extractPoints(curveSegments); + let shapeVertices = points.shape; + const shapeHoles = points.holes; // check direction of vertices - } + if (ShapeUtils.isClockWise(shapeVertices) === false) { + shapeVertices = shapeVertices.reverse(); + } - Object.assign( AnimationObjectGroup.prototype, { + for (let i = 0, l = shapeHoles.length; i < l; i++) { + const shapeHole = shapeHoles[i]; - isAnimationObjectGroup: true, + if (ShapeUtils.isClockWise(shapeHole) === true) { + shapeHoles[i] = shapeHole.reverse(); + } + } - add: function () { + const faces = ShapeUtils.triangulateShape(shapeVertices, shapeHoles); // join vertices of inner and outer paths to a single array - var objects = this._objects, - nObjects = objects.length, - nCachedObjects = this.nCachedObjects_, - indicesByUUID = this._indicesByUUID, - paths = this._paths, - parsedPaths = this._parsedPaths, - bindings = this._bindings, - nBindings = bindings.length, - knownObject = undefined; + for (let i = 0, l = shapeHoles.length; i < l; i++) { + const shapeHole = shapeHoles[i]; + shapeVertices = shapeVertices.concat(shapeHole); + } // vertices, normals, uvs - for ( var i = 0, n = arguments.length; i !== n; ++ i ) { - var object = arguments[ i ], - uuid = object.uuid, - index = indicesByUUID[ uuid ]; + for (let i = 0, l = shapeVertices.length; i < l; i++) { + const vertex = shapeVertices[i]; + vertices.push(vertex.x, vertex.y, 0); + normals.push(0, 0, 1); + uvs.push(vertex.x, vertex.y); // world uvs + } // incides - if ( index === undefined ) { - // unknown object -> add it to the ACTIVE region + for (let i = 0, l = faces.length; i < l; i++) { + const face = faces[i]; + const a = face[0] + indexOffset; + const b = face[1] + indexOffset; + const c = face[2] + indexOffset; + indices.push(a, b, c); + groupCount += 3; + } + } + } - index = nObjects ++; - indicesByUUID[ uuid ] = index; - objects.push( object ); + toJSON() { + const data = super.toJSON(); + const shapes = this.parameters.shapes; + return toJSON(shapes, data); + } - // accounting is done, now do the same for all bindings + static fromJSON(data, shapes) { + const geometryShapes = []; - for ( var j = 0, m = nBindings; j !== m; ++ j ) { + for (let j = 0, jl = data.shapes.length; j < jl; j++) { + const shape = shapes[data.shapes[j]]; + geometryShapes.push(shape); + } - bindings[ j ].push( new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ) ); + return new ShapeGeometry(geometryShapes, data.curveSegments); + } - } + } - } else if ( index < nCachedObjects ) { + function toJSON(shapes, data) { + data.shapes = []; - knownObject = objects[ index ]; + if (Array.isArray(shapes)) { + for (let i = 0, l = shapes.length; i < l; i++) { + const shape = shapes[i]; + data.shapes.push(shape.uuid); + } + } else { + data.shapes.push(shapes.uuid); + } - // move existing object to the ACTIVE region + return data; + } - var firstActiveIndex = -- nCachedObjects, - lastCachedObject = objects[ firstActiveIndex ]; + class SphereGeometry extends BufferGeometry { + constructor(radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI) { + super(); + this.type = 'SphereGeometry'; + this.parameters = { + radius: radius, + widthSegments: widthSegments, + heightSegments: heightSegments, + phiStart: phiStart, + phiLength: phiLength, + thetaStart: thetaStart, + thetaLength: thetaLength + }; + widthSegments = Math.max(3, Math.floor(widthSegments)); + heightSegments = Math.max(2, Math.floor(heightSegments)); + const thetaEnd = Math.min(thetaStart + thetaLength, Math.PI); + let index = 0; + const grid = []; + const vertex = new Vector3(); + const normal = new Vector3(); // buffers - indicesByUUID[ lastCachedObject.uuid ] = index; - objects[ index ] = lastCachedObject; + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // generate vertices, normals and uvs - indicesByUUID[ uuid ] = firstActiveIndex; - objects[ firstActiveIndex ] = object; + for (let iy = 0; iy <= heightSegments; iy++) { + const verticesRow = []; + const v = iy / heightSegments; // special case for the poles - // accounting is done, now do the same for all bindings + let uOffset = 0; - for ( var j = 0, m = nBindings; j !== m; ++ j ) { + if (iy == 0 && thetaStart == 0) { + uOffset = 0.5 / widthSegments; + } else if (iy == heightSegments && thetaEnd == Math.PI) { + uOffset = -0.5 / widthSegments; + } - var bindingsForPath = bindings[ j ], - lastCached = bindingsForPath[ firstActiveIndex ], - binding = bindingsForPath[ index ]; + for (let ix = 0; ix <= widthSegments; ix++) { + const u = ix / widthSegments; // vertex - bindingsForPath[ index ] = lastCached; + vertex.x = -radius * Math.cos(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertex.y = radius * Math.cos(thetaStart + v * thetaLength); + vertex.z = radius * Math.sin(phiStart + u * phiLength) * Math.sin(thetaStart + v * thetaLength); + vertices.push(vertex.x, vertex.y, vertex.z); // normal - if ( binding === undefined ) { + normal.copy(vertex).normalize(); + normals.push(normal.x, normal.y, normal.z); // uv - // since we do not bother to create new bindings - // for objects that are cached, the binding may - // or may not exist + uvs.push(u + uOffset, 1 - v); + verticesRow.push(index++); + } - binding = new PropertyBinding( object, paths[ j ], parsedPaths[ j ] ); + grid.push(verticesRow); + } // indices - } - bindingsForPath[ firstActiveIndex ] = binding; + for (let iy = 0; iy < heightSegments; iy++) { + for (let ix = 0; ix < widthSegments; ix++) { + const a = grid[iy][ix + 1]; + const b = grid[iy][ix]; + const c = grid[iy + 1][ix]; + const d = grid[iy + 1][ix + 1]; + if (iy !== 0 || thetaStart > 0) indices.push(a, b, d); + if (iy !== heightSegments - 1 || thetaEnd < Math.PI) indices.push(b, c, d); + } + } // build geometry - } - } else if ( objects[ index ] !== knownObject ) { + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); + } - console.error( 'THREE.AnimationObjectGroup: Different objects with the same UUID ' + - 'detected. Clean the caches or recreate your infrastructure when reloading scenes.' ); + static fromJSON(data) { + return new SphereGeometry(data.radius, data.widthSegments, data.heightSegments, data.phiStart, data.phiLength, data.thetaStart, data.thetaLength); + } - } // else the object is already where we want it to be + } - } // for arguments + class TetrahedronGeometry extends PolyhedronGeometry { + constructor(radius = 1, detail = 0) { + const vertices = [1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1]; + const indices = [2, 1, 0, 0, 3, 2, 1, 3, 0, 2, 3, 1]; + super(vertices, indices, radius, detail); + this.type = 'TetrahedronGeometry'; + this.parameters = { + radius: radius, + detail: detail + }; + } - this.nCachedObjects_ = nCachedObjects; + static fromJSON(data) { + return new TetrahedronGeometry(data.radius, data.detail); + } - }, + } + + /** + * Text = 3D Text + * + * parameters = { + * font: , // font + * + * size: , // size of the text + * height: , // thickness to extrude text + * curveSegments: , // number of points on the curves + * + * bevelEnabled: , // turn on bevel + * bevelThickness: , // how deep into text bevel goes + * bevelSize: , // how far from text outline (including bevelOffset) is bevel + * bevelOffset: // how far from text outline does bevel start + * } + */ - remove: function () { + class TextGeometry extends ExtrudeGeometry { + constructor(text, parameters = {}) { + const font = parameters.font; - var objects = this._objects, - nCachedObjects = this.nCachedObjects_, - indicesByUUID = this._indicesByUUID, - bindings = this._bindings, - nBindings = bindings.length; + if (!(font && font.isFont)) { + console.error('THREE.TextGeometry: font parameter is not an instance of THREE.Font.'); + return new BufferGeometry(); + } - for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + const shapes = font.generateShapes(text, parameters.size); // translate parameters to ExtrudeGeometry API - var object = arguments[ i ], - uuid = object.uuid, - index = indicesByUUID[ uuid ]; + parameters.depth = parameters.height !== undefined ? parameters.height : 50; // defaults - if ( index !== undefined && index >= nCachedObjects ) { + if (parameters.bevelThickness === undefined) parameters.bevelThickness = 10; + if (parameters.bevelSize === undefined) parameters.bevelSize = 8; + if (parameters.bevelEnabled === undefined) parameters.bevelEnabled = false; + super(shapes, parameters); + this.type = 'TextGeometry'; + } - // move existing object into the CACHED region + } - var lastCachedIndex = nCachedObjects ++, - firstActiveObject = objects[ lastCachedIndex ]; + class TorusGeometry extends BufferGeometry { + constructor(radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2) { + super(); + this.type = 'TorusGeometry'; + this.parameters = { + radius: radius, + tube: tube, + radialSegments: radialSegments, + tubularSegments: tubularSegments, + arc: arc + }; + radialSegments = Math.floor(radialSegments); + tubularSegments = Math.floor(tubularSegments); // buffers + + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - indicesByUUID[ firstActiveObject.uuid ] = index; - objects[ index ] = firstActiveObject; + const center = new Vector3(); + const vertex = new Vector3(); + const normal = new Vector3(); // generate vertices, normals and uvs - indicesByUUID[ uuid ] = lastCachedIndex; - objects[ lastCachedIndex ] = object; + for (let j = 0; j <= radialSegments; j++) { + for (let i = 0; i <= tubularSegments; i++) { + const u = i / tubularSegments * arc; + const v = j / radialSegments * Math.PI * 2; // vertex - // accounting is done, now do the same for all bindings + vertex.x = (radius + tube * Math.cos(v)) * Math.cos(u); + vertex.y = (radius + tube * Math.cos(v)) * Math.sin(u); + vertex.z = tube * Math.sin(v); + vertices.push(vertex.x, vertex.y, vertex.z); // normal - for ( var j = 0, m = nBindings; j !== m; ++ j ) { + center.x = radius * Math.cos(u); + center.y = radius * Math.sin(u); + normal.subVectors(vertex, center).normalize(); + normals.push(normal.x, normal.y, normal.z); // uv - var bindingsForPath = bindings[ j ], - firstActive = bindingsForPath[ lastCachedIndex ], - binding = bindingsForPath[ index ]; + uvs.push(i / tubularSegments); + uvs.push(j / radialSegments); + } + } // generate indices - bindingsForPath[ index ] = firstActive; - bindingsForPath[ lastCachedIndex ] = binding; - } + for (let j = 1; j <= radialSegments; j++) { + for (let i = 1; i <= tubularSegments; i++) { + // indices + const a = (tubularSegments + 1) * j + i - 1; + const b = (tubularSegments + 1) * (j - 1) + i - 1; + const c = (tubularSegments + 1) * (j - 1) + i; + const d = (tubularSegments + 1) * j + i; // faces + indices.push(a, b, d); + indices.push(b, c, d); } + } // build geometry - } // for arguments - this.nCachedObjects_ = nCachedObjects; + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); + } - }, + static fromJSON(data) { + return new TorusGeometry(data.radius, data.tube, data.radialSegments, data.tubularSegments, data.arc); + } - // remove & forget - uncache: function () { + } - var objects = this._objects, - nObjects = objects.length, - nCachedObjects = this.nCachedObjects_, - indicesByUUID = this._indicesByUUID, - bindings = this._bindings, - nBindings = bindings.length; + class TorusKnotGeometry extends BufferGeometry { + constructor(radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3) { + super(); + this.type = 'TorusKnotGeometry'; + this.parameters = { + radius: radius, + tube: tube, + tubularSegments: tubularSegments, + radialSegments: radialSegments, + p: p, + q: q + }; + tubularSegments = Math.floor(tubularSegments); + radialSegments = Math.floor(radialSegments); // buffers - for ( var i = 0, n = arguments.length; i !== n; ++ i ) { + const indices = []; + const vertices = []; + const normals = []; + const uvs = []; // helper variables - var object = arguments[ i ], - uuid = object.uuid, - index = indicesByUUID[ uuid ]; + const vertex = new Vector3(); + const normal = new Vector3(); + const P1 = new Vector3(); + const P2 = new Vector3(); + const B = new Vector3(); + const T = new Vector3(); + const N = new Vector3(); // generate vertices, normals and uvs - if ( index !== undefined ) { + for (let i = 0; i <= tubularSegments; ++i) { + // the radian "u" is used to calculate the position on the torus curve of the current tubular segement + const u = i / tubularSegments * p * Math.PI * 2; // now we calculate two points. P1 is our current position on the curve, P2 is a little farther ahead. + // these points are used to create a special "coordinate space", which is necessary to calculate the correct vertex positions - delete indicesByUUID[ uuid ]; + calculatePositionOnCurve(u, p, q, radius, P1); + calculatePositionOnCurve(u + 0.01, p, q, radius, P2); // calculate orthonormal basis - if ( index < nCachedObjects ) { + T.subVectors(P2, P1); + N.addVectors(P2, P1); + B.crossVectors(T, N); + N.crossVectors(B, T); // normalize B, N. T can be ignored, we don't use it - // object is cached, shrink the CACHED region + B.normalize(); + N.normalize(); - var firstActiveIndex = -- nCachedObjects, - lastCachedObject = objects[ firstActiveIndex ], - lastIndex = -- nObjects, - lastObject = objects[ lastIndex ]; + for (let j = 0; j <= radialSegments; ++j) { + // now calculate the vertices. they are nothing more than an extrusion of the torus curve. + // because we extrude a shape in the xy-plane, there is no need to calculate a z-value. + const v = j / radialSegments * Math.PI * 2; + const cx = -tube * Math.cos(v); + const cy = tube * Math.sin(v); // now calculate the final vertex position. + // first we orient the extrusion with our basis vectos, then we add it to the current position on the curve - // last cached object takes this object's place - indicesByUUID[ lastCachedObject.uuid ] = index; - objects[ index ] = lastCachedObject; + vertex.x = P1.x + (cx * N.x + cy * B.x); + vertex.y = P1.y + (cx * N.y + cy * B.y); + vertex.z = P1.z + (cx * N.z + cy * B.z); + vertices.push(vertex.x, vertex.y, vertex.z); // normal (P1 is always the center/origin of the extrusion, thus we can use it to calculate the normal) - // last object goes to the activated slot and pop - indicesByUUID[ lastObject.uuid ] = firstActiveIndex; - objects[ firstActiveIndex ] = lastObject; - objects.pop(); + normal.subVectors(vertex, P1).normalize(); + normals.push(normal.x, normal.y, normal.z); // uv - // accounting is done, now do the same for all bindings + uvs.push(i / tubularSegments); + uvs.push(j / radialSegments); + } + } // generate indices - for ( var j = 0, m = nBindings; j !== m; ++ j ) { - var bindingsForPath = bindings[ j ], - lastCached = bindingsForPath[ firstActiveIndex ], - last = bindingsForPath[ lastIndex ]; + for (let j = 1; j <= tubularSegments; j++) { + for (let i = 1; i <= radialSegments; i++) { + // indices + const a = (radialSegments + 1) * (j - 1) + (i - 1); + const b = (radialSegments + 1) * j + (i - 1); + const c = (radialSegments + 1) * j + i; + const d = (radialSegments + 1) * (j - 1) + i; // faces - bindingsForPath[ index ] = lastCached; - bindingsForPath[ firstActiveIndex ] = last; - bindingsForPath.pop(); + indices.push(a, b, d); + indices.push(b, c, d); + } + } // build geometry - } - } else { + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); // this function calculates the current position on the torus curve - // object is active, just swap with the last and pop + function calculatePositionOnCurve(u, p, q, radius, position) { + const cu = Math.cos(u); + const su = Math.sin(u); + const quOverP = q / p * u; + const cs = Math.cos(quOverP); + position.x = radius * (2 + cs) * 0.5 * cu; + position.y = radius * (2 + cs) * su * 0.5; + position.z = radius * Math.sin(quOverP) * 0.5; + } + } - var lastIndex = -- nObjects, - lastObject = objects[ lastIndex ]; + static fromJSON(data) { + return new TorusKnotGeometry(data.radius, data.tube, data.tubularSegments, data.radialSegments, data.p, data.q); + } - indicesByUUID[ lastObject.uuid ] = index; - objects[ index ] = lastObject; - objects.pop(); + } - // accounting is done, now do the same for all bindings + class TubeGeometry extends BufferGeometry { + constructor(path, tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) { + super(); + this.type = 'TubeGeometry'; + this.parameters = { + path: path, + tubularSegments: tubularSegments, + radius: radius, + radialSegments: radialSegments, + closed: closed + }; + const frames = path.computeFrenetFrames(tubularSegments, closed); // expose internals + + this.tangents = frames.tangents; + this.normals = frames.normals; + this.binormals = frames.binormals; // helper variables + + const vertex = new Vector3(); + const normal = new Vector3(); + const uv = new Vector2(); + let P = new Vector3(); // buffer + + const vertices = []; + const normals = []; + const uvs = []; + const indices = []; // create buffer data + + generateBufferData(); // build geometry + + this.setIndex(indices); + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + this.setAttribute('normal', new Float32BufferAttribute(normals, 3)); + this.setAttribute('uv', new Float32BufferAttribute(uvs, 2)); // functions + + function generateBufferData() { + for (let i = 0; i < tubularSegments; i++) { + generateSegment(i); + } // if the geometry is not closed, generate the last row of vertices and normals + // at the regular position on the given path + // + // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ) - for ( var j = 0, m = nBindings; j !== m; ++ j ) { - var bindingsForPath = bindings[ j ]; + generateSegment(closed === false ? tubularSegments : 0); // uvs are generated in a separate function. + // this makes it easy compute correct values for closed geometries - bindingsForPath[ index ] = bindingsForPath[ lastIndex ]; - bindingsForPath.pop(); + generateUVs(); // finally create faces - } + generateIndices(); + } - } // cached or active + function generateSegment(i) { + // we use getPointAt to sample evenly distributed points from the given path + P = path.getPointAt(i / tubularSegments, P); // retrieve corresponding normal and binormal - } // if object is known + const N = frames.normals[i]; + const B = frames.binormals[i]; // generate normals and vertices for the current segment - } // for arguments + for (let j = 0; j <= radialSegments; j++) { + const v = j / radialSegments * Math.PI * 2; + const sin = Math.sin(v); + const cos = -Math.cos(v); // normal - this.nCachedObjects_ = nCachedObjects; + normal.x = cos * N.x + sin * B.x; + normal.y = cos * N.y + sin * B.y; + normal.z = cos * N.z + sin * B.z; + normal.normalize(); + normals.push(normal.x, normal.y, normal.z); // vertex - }, + vertex.x = P.x + radius * normal.x; + vertex.y = P.y + radius * normal.y; + vertex.z = P.z + radius * normal.z; + vertices.push(vertex.x, vertex.y, vertex.z); + } + } - // Internal interface used by befriended PropertyBinding.Composite: + function generateIndices() { + for (let j = 1; j <= tubularSegments; j++) { + for (let i = 1; i <= radialSegments; i++) { + const a = (radialSegments + 1) * (j - 1) + (i - 1); + const b = (radialSegments + 1) * j + (i - 1); + const c = (radialSegments + 1) * j + i; + const d = (radialSegments + 1) * (j - 1) + i; // faces - subscribe_: function ( path, parsedPath ) { + indices.push(a, b, d); + indices.push(b, c, d); + } + } + } - // returns an array of bindings for the given path that is changed - // according to the contained objects in the group + function generateUVs() { + for (let i = 0; i <= tubularSegments; i++) { + for (let j = 0; j <= radialSegments; j++) { + uv.x = i / tubularSegments; + uv.y = j / radialSegments; + uvs.push(uv.x, uv.y); + } + } + } + } - var indicesByPath = this._bindingsIndicesByPath, - index = indicesByPath[ path ], - bindings = this._bindings; + toJSON() { + const data = super.toJSON(); + data.path = this.parameters.path.toJSON(); + return data; + } - if ( index !== undefined ) return bindings[ index ]; + static fromJSON(data) { + // This only works for built-in curves (e.g. CatmullRomCurve3). + // User defined curves or instances of CurvePath will not be deserialized. + return new TubeGeometry(new Curves[data.path.type]().fromJSON(data.path), data.tubularSegments, data.radius, data.radialSegments, data.closed); + } - var paths = this._paths, - parsedPaths = this._parsedPaths, - objects = this._objects, - nObjects = objects.length, - nCachedObjects = this.nCachedObjects_, - bindingsForPath = new Array( nObjects ); + } - index = bindings.length; + class WireframeGeometry extends BufferGeometry { + constructor(geometry) { + super(); + this.type = 'WireframeGeometry'; - indicesByPath[ path ] = index; + if (geometry.isGeometry === true) { + console.error('THREE.WireframeGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.'); + return; + } // buffer - paths.push( path ); - parsedPaths.push( parsedPath ); - bindings.push( bindingsForPath ); - for ( var i = nCachedObjects, n = objects.length; i !== n; ++ i ) { + const vertices = []; + const edges = new Set(); // helper variables - var object = objects[ i ]; - bindingsForPath[ i ] = new PropertyBinding( object, path, parsedPath ); + const start = new Vector3(); + const end = new Vector3(); - } + if (geometry.index !== null) { + // indexed BufferGeometry + const position = geometry.attributes.position; + const indices = geometry.index; + let groups = geometry.groups; + + if (groups.length === 0) { + groups = [{ + start: 0, + count: indices.count, + materialIndex: 0 + }]; + } // create a data structure that contains all eges without duplicates + + + for (let o = 0, ol = groups.length; o < ol; ++o) { + const group = groups[o]; + const groupStart = group.start; + const groupCount = group.count; + + for (let i = groupStart, l = groupStart + groupCount; i < l; i += 3) { + for (let j = 0; j < 3; j++) { + const index1 = indices.getX(i + j); + const index2 = indices.getX(i + (j + 1) % 3); + start.fromBufferAttribute(position, index1); + end.fromBufferAttribute(position, index2); + + if (isUniqueEdge(start, end, edges) === true) { + vertices.push(start.x, start.y, start.z); + vertices.push(end.x, end.y, end.z); + } + } + } + } + } else { + // non-indexed BufferGeometry + const position = geometry.attributes.position; - return bindingsForPath; + for (let i = 0, l = position.count / 3; i < l; i++) { + for (let j = 0; j < 3; j++) { + // three edges per triangle, an edge is represented as (index1, index2) + // e.g. the first triangle has the following edges: (0,1),(1,2),(2,0) + const index1 = 3 * i + j; + const index2 = 3 * i + (j + 1) % 3; + start.fromBufferAttribute(position, index1); + end.fromBufferAttribute(position, index2); + + if (isUniqueEdge(start, end, edges) === true) { + vertices.push(start.x, start.y, start.z); + vertices.push(end.x, end.y, end.z); + } + } + } + } // build geometry - }, - unsubscribe_: function ( path ) { + this.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + } - // tells the group to forget about a property path and no longer - // update the array previously obtained with 'subscribe_' + } - var indicesByPath = this._bindingsIndicesByPath, - index = indicesByPath[ path ]; + function isUniqueEdge(start, end, edges) { + const hash1 = `${start.x},${start.y},${start.z}-${end.x},${end.y},${end.z}`; + const hash2 = `${end.x},${end.y},${end.z}-${start.x},${start.y},${start.z}`; // coincident edge - if ( index !== undefined ) { + if (edges.has(hash1) === true || edges.has(hash2) === true) { + return false; + } else { + edges.add(hash1, hash2); + return true; + } + } + + var Geometries = /*#__PURE__*/Object.freeze({ + __proto__: null, + BoxGeometry: BoxGeometry, + BoxBufferGeometry: BoxGeometry, + CircleGeometry: CircleGeometry, + CircleBufferGeometry: CircleGeometry, + ConeGeometry: ConeGeometry, + ConeBufferGeometry: ConeGeometry, + CylinderGeometry: CylinderGeometry, + CylinderBufferGeometry: CylinderGeometry, + DodecahedronGeometry: DodecahedronGeometry, + DodecahedronBufferGeometry: DodecahedronGeometry, + EdgesGeometry: EdgesGeometry, + ExtrudeGeometry: ExtrudeGeometry, + ExtrudeBufferGeometry: ExtrudeGeometry, + IcosahedronGeometry: IcosahedronGeometry, + IcosahedronBufferGeometry: IcosahedronGeometry, + LatheGeometry: LatheGeometry, + LatheBufferGeometry: LatheGeometry, + OctahedronGeometry: OctahedronGeometry, + OctahedronBufferGeometry: OctahedronGeometry, + ParametricGeometry: ParametricGeometry, + ParametricBufferGeometry: ParametricGeometry, + PlaneGeometry: PlaneGeometry, + PlaneBufferGeometry: PlaneGeometry, + PolyhedronGeometry: PolyhedronGeometry, + PolyhedronBufferGeometry: PolyhedronGeometry, + RingGeometry: RingGeometry, + RingBufferGeometry: RingGeometry, + ShapeGeometry: ShapeGeometry, + ShapeBufferGeometry: ShapeGeometry, + SphereGeometry: SphereGeometry, + SphereBufferGeometry: SphereGeometry, + TetrahedronGeometry: TetrahedronGeometry, + TetrahedronBufferGeometry: TetrahedronGeometry, + TextGeometry: TextGeometry, + TextBufferGeometry: TextGeometry, + TorusGeometry: TorusGeometry, + TorusBufferGeometry: TorusGeometry, + TorusKnotGeometry: TorusKnotGeometry, + TorusKnotBufferGeometry: TorusKnotGeometry, + TubeGeometry: TubeGeometry, + TubeBufferGeometry: TubeGeometry, + WireframeGeometry: WireframeGeometry + }); - var paths = this._paths, - parsedPaths = this._parsedPaths, - bindings = this._bindings, - lastBindingsIndex = bindings.length - 1, - lastBindings = bindings[ lastBindingsIndex ], - lastBindingsPath = path[ lastBindingsIndex ]; + /** + * parameters = { + * color: + * } + */ - indicesByPath[ lastBindingsPath ] = index; + class ShadowMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'ShadowMaterial'; + this.color = new Color(0x000000); + this.transparent = true; + this.setValues(parameters); + } - bindings[ index ] = lastBindings; - bindings.pop(); + copy(source) { + super.copy(source); + this.color.copy(source.color); + return this; + } - parsedPaths[ index ] = parsedPaths[ lastBindingsIndex ]; - parsedPaths.pop(); + } - paths[ index ] = paths[ lastBindingsIndex ]; - paths.pop(); + ShadowMaterial.prototype.isShadowMaterial = true; - } + /** + * parameters = { + * color: , + * roughness: , + * metalness: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * roughnessMap: new THREE.Texture( ), + * + * metalnessMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * envMapIntensity: + * + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * flatShading: + * } + */ + class MeshStandardMaterial extends Material { + constructor(parameters) { + super(); + this.defines = { + 'STANDARD': '' + }; + this.type = 'MeshStandardMaterial'; + this.color = new Color(0xffffff); // diffuse + + this.roughness = 1.0; + this.metalness = 0.0; + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1.0; + this.aoMap = null; + this.aoMapIntensity = 1.0; + this.emissive = new Color(0x000000); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.roughnessMap = null; + this.metalnessMap = null; + this.alphaMap = null; + this.envMap = null; + this.envMapIntensity = 1.0; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + this.flatShading = false; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.defines = { + 'STANDARD': '' + }; + this.color.copy(source.color); + this.roughness = source.roughness; + this.metalness = source.metalness; + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.roughnessMap = source.roughnessMap; + this.metalnessMap = source.metalnessMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.envMapIntensity = source.envMapIntensity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; + return this; } - } ); + } + + MeshStandardMaterial.prototype.isMeshStandardMaterial = true; /** + * parameters = { + * clearcoat: , + * clearcoatMap: new THREE.Texture( ), + * clearcoatRoughness: , + * clearcoatRoughnessMap: new THREE.Texture( ), + * clearcoatNormalScale: , + * clearcoatNormalMap: new THREE.Texture( ), * - * Action provided by AnimationMixer for scheduling clip playback on specific - * objects. + * ior: , + * reflectivity: , * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw + * sheenTint: , * + * transmission: , + * transmissionMap: new THREE.Texture( ), + * + * thickness: , + * thicknessMap: new THREE.Texture( ), + * attenuationDistance: , + * attenuationTint: , + * + * specularIntensity: , + * specularIntensityhMap: new THREE.Texture( ), + * specularTint: , + * specularTintMap: new THREE.Texture( ) + * } */ - function AnimationAction( mixer, clip, localRoot ) { - - this._mixer = mixer; - this._clip = clip; - this._localRoot = localRoot || null; - - var tracks = clip.tracks, - nTracks = tracks.length, - interpolants = new Array( nTracks ); - - var interpolantSettings = { - endingStart: ZeroCurvatureEnding, - endingEnd: ZeroCurvatureEnding - }; - - for ( var i = 0; i !== nTracks; ++ i ) { - - var interpolant = tracks[ i ].createInterpolant( null ); - interpolants[ i ] = interpolant; - interpolant.settings = interpolantSettings; - + class MeshPhysicalMaterial extends MeshStandardMaterial { + constructor(parameters) { + super(); + this.defines = { + 'STANDARD': '', + 'PHYSICAL': '' + }; + this.type = 'MeshPhysicalMaterial'; + this.clearcoatMap = null; + this.clearcoatRoughness = 0.0; + this.clearcoatRoughnessMap = null; + this.clearcoatNormalScale = new Vector2(1, 1); + this.clearcoatNormalMap = null; + this.ior = 1.5; + Object.defineProperty(this, 'reflectivity', { + get: function () { + return clamp(2.5 * (this.ior - 1) / (this.ior + 1), 0, 1); + }, + set: function (reflectivity) { + this.ior = (1 + 0.4 * reflectivity) / (1 - 0.4 * reflectivity); + } + }); + this.sheenTint = new Color(0x000000); + this.transmission = 0.0; + this.transmissionMap = null; + this.thickness = 0.01; + this.thicknessMap = null; + this.attenuationDistance = 0.0; + this.attenuationTint = new Color(1, 1, 1); + this.specularIntensity = 1.0; + this.specularIntensityMap = null; + this.specularTint = new Color(1, 1, 1); + this.specularTintMap = null; + this._clearcoat = 0; + this._transmission = 0; + this.setValues(parameters); } - this._interpolantSettings = interpolantSettings; - - this._interpolants = interpolants; // bound by the mixer - - // inside: PropertyMixer (managed by the mixer) - this._propertyBindings = new Array( nTracks ); - - this._cacheIndex = null; // for the memory manager - this._byClipCacheIndex = null; // for the memory manager - - this._timeScaleInterpolant = null; - this._weightInterpolant = null; - - this.loop = LoopRepeat; - this._loopCount = - 1; - - // global mixer time when the action is to be started - // it's set back to 'null' upon start of the action - this._startTime = null; - - // scaled local time of the action - // gets clamped or wrapped to 0..clip.duration according to loop - this.time = 0; + get clearcoat() { + return this._clearcoat; + } - this.timeScale = 1; - this._effectiveTimeScale = 1; + set clearcoat(value) { + if (this._clearcoat > 0 !== value > 0) { + this.version++; + } - this.weight = 1; - this._effectiveWeight = 1; + this._clearcoat = value; + } - this.repetitions = Infinity; // no. of repetitions when looping + get transmission() { + return this._transmission; + } - this.paused = false; // true -> zero effective time scale - this.enabled = true; // false -> zero effective weight + set transmission(value) { + if (this._transmission > 0 !== value > 0) { + this.version++; + } - this.clampWhenFinished = false;// keep feeding the last frame? + this._transmission = value; + } - this.zeroSlopeAtStart = true;// for smooth interpolation w/o separate - this.zeroSlopeAtEnd = true;// clips for start, loop and end + copy(source) { + super.copy(source); + this.defines = { + 'STANDARD': '', + 'PHYSICAL': '' + }; + this.clearcoat = source.clearcoat; + this.clearcoatMap = source.clearcoatMap; + this.clearcoatRoughness = source.clearcoatRoughness; + this.clearcoatRoughnessMap = source.clearcoatRoughnessMap; + this.clearcoatNormalMap = source.clearcoatNormalMap; + this.clearcoatNormalScale.copy(source.clearcoatNormalScale); + this.ior = source.ior; + this.sheenTint.copy(source.sheenTint); + this.transmission = source.transmission; + this.transmissionMap = source.transmissionMap; + this.thickness = source.thickness; + this.thicknessMap = source.thicknessMap; + this.attenuationDistance = source.attenuationDistance; + this.attenuationTint.copy(source.attenuationTint); + this.specularIntensity = source.specularIntensity; + this.specularIntensityMap = source.specularIntensityMap; + this.specularTint.copy(source.specularTint); + this.specularTintMap = source.specularTintMap; + return this; + } } - Object.assign( AnimationAction.prototype, { - - // State & Scheduling - - play: function () { + MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial = true; - this._mixer._activateAction( this ); + /** + * parameters = { + * color: , + * specular: , + * shininess: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.MultiplyOperation, + * reflectivity: , + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * flatShading: + * } + */ + class MeshPhongMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshPhongMaterial'; + this.color = new Color(0xffffff); // diffuse + + this.specular = new Color(0x111111); + this.shininess = 30; + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1.0; + this.aoMap = null; + this.aoMapIntensity = 1.0; + this.emissive = new Color(0x000000); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + this.flatShading = false; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.specular.copy(source.specular); + this.shininess = source.shininess; + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + this.flatShading = source.flatShading; return this; + } - }, - - stop: function () { - - this._mixer._deactivateAction( this ); - - return this.reset(); - - }, - - reset: function () { - - this.paused = false; - this.enabled = true; - - this.time = 0; // restart clip - this._loopCount = - 1;// forget previous loops - this._startTime = null;// forget scheduling + } - return this.stopFading().stopWarping(); + MeshPhongMaterial.prototype.isMeshPhongMaterial = true; - }, + /** + * parameters = { + * color: , + * + * map: new THREE.Texture( ), + * gradientMap: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * alphaMap: new THREE.Texture( ), + * + * wireframe: , + * wireframeLinewidth: , + * + * } + */ - isRunning: function () { + class MeshToonMaterial extends Material { + constructor(parameters) { + super(); + this.defines = { + 'TOON': '' + }; + this.type = 'MeshToonMaterial'; + this.color = new Color(0xffffff); + this.map = null; + this.gradientMap = null; + this.lightMap = null; + this.lightMapIntensity = 1.0; + this.aoMap = null; + this.aoMapIntensity = 1.0; + this.emissive = new Color(0x000000); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.alphaMap = null; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.gradientMap = source.gradientMap; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.alphaMap = source.alphaMap; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; + return this; + } - return this.enabled && ! this.paused && this.timeScale !== 0 && - this._startTime === null && this._mixer._isActiveAction( this ); + } - }, + MeshToonMaterial.prototype.isMeshToonMaterial = true; - // return true when play has been called - isScheduled: function () { + /** + * parameters = { + * opacity: , + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * wireframe: , + * wireframeLinewidth: + * + * flatShading: + * } + */ - return this._mixer._isActiveAction( this ); + class MeshNormalMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshNormalMaterial'; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.fog = false; + this.flatShading = false; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.flatShading = source.flatShading; + return this; + } - }, + } - startAt: function ( time ) { + MeshNormalMaterial.prototype.isMeshNormalMaterial = true; - this._startTime = time; + /** + * parameters = { + * color: , + * opacity: , + * + * map: new THREE.Texture( ), + * + * lightMap: new THREE.Texture( ), + * lightMapIntensity: + * + * aoMap: new THREE.Texture( ), + * aoMapIntensity: + * + * emissive: , + * emissiveIntensity: + * emissiveMap: new THREE.Texture( ), + * + * specularMap: new THREE.Texture( ), + * + * alphaMap: new THREE.Texture( ), + * + * envMap: new THREE.CubeTexture( [posx, negx, posy, negy, posz, negz] ), + * combine: THREE.Multiply, + * reflectivity: , + * refractionRatio: , + * + * wireframe: , + * wireframeLinewidth: , + * + * } + */ + class MeshLambertMaterial extends Material { + constructor(parameters) { + super(); + this.type = 'MeshLambertMaterial'; + this.color = new Color(0xffffff); // diffuse + + this.map = null; + this.lightMap = null; + this.lightMapIntensity = 1.0; + this.aoMap = null; + this.aoMapIntensity = 1.0; + this.emissive = new Color(0x000000); + this.emissiveIntensity = 1.0; + this.emissiveMap = null; + this.specularMap = null; + this.alphaMap = null; + this.envMap = null; + this.combine = MultiplyOperation; + this.reflectivity = 1; + this.refractionRatio = 0.98; + this.wireframe = false; + this.wireframeLinewidth = 1; + this.wireframeLinecap = 'round'; + this.wireframeLinejoin = 'round'; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.map = source.map; + this.lightMap = source.lightMap; + this.lightMapIntensity = source.lightMapIntensity; + this.aoMap = source.aoMap; + this.aoMapIntensity = source.aoMapIntensity; + this.emissive.copy(source.emissive); + this.emissiveMap = source.emissiveMap; + this.emissiveIntensity = source.emissiveIntensity; + this.specularMap = source.specularMap; + this.alphaMap = source.alphaMap; + this.envMap = source.envMap; + this.combine = source.combine; + this.reflectivity = source.reflectivity; + this.refractionRatio = source.refractionRatio; + this.wireframe = source.wireframe; + this.wireframeLinewidth = source.wireframeLinewidth; + this.wireframeLinecap = source.wireframeLinecap; + this.wireframeLinejoin = source.wireframeLinejoin; return this; + } - }, + } - setLoop: function ( mode, repetitions ) { + MeshLambertMaterial.prototype.isMeshLambertMaterial = true; - this.loop = mode; - this.repetitions = repetitions; + /** + * parameters = { + * color: , + * opacity: , + * + * matcap: new THREE.Texture( ), + * + * map: new THREE.Texture( ), + * + * bumpMap: new THREE.Texture( ), + * bumpScale: , + * + * normalMap: new THREE.Texture( ), + * normalMapType: THREE.TangentSpaceNormalMap, + * normalScale: , + * + * displacementMap: new THREE.Texture( ), + * displacementScale: , + * displacementBias: , + * + * alphaMap: new THREE.Texture( ), + * + * flatShading: + * } + */ + class MeshMatcapMaterial extends Material { + constructor(parameters) { + super(); + this.defines = { + 'MATCAP': '' + }; + this.type = 'MeshMatcapMaterial'; + this.color = new Color(0xffffff); // diffuse + + this.matcap = null; + this.map = null; + this.bumpMap = null; + this.bumpScale = 1; + this.normalMap = null; + this.normalMapType = TangentSpaceNormalMap; + this.normalScale = new Vector2(1, 1); + this.displacementMap = null; + this.displacementScale = 1; + this.displacementBias = 0; + this.alphaMap = null; + this.flatShading = false; + this.setValues(parameters); + } + + copy(source) { + super.copy(source); + this.defines = { + 'MATCAP': '' + }; + this.color.copy(source.color); + this.matcap = source.matcap; + this.map = source.map; + this.bumpMap = source.bumpMap; + this.bumpScale = source.bumpScale; + this.normalMap = source.normalMap; + this.normalMapType = source.normalMapType; + this.normalScale.copy(source.normalScale); + this.displacementMap = source.displacementMap; + this.displacementScale = source.displacementScale; + this.displacementBias = source.displacementBias; + this.alphaMap = source.alphaMap; + this.flatShading = source.flatShading; return this; + } - }, + } - // Weight + MeshMatcapMaterial.prototype.isMeshMatcapMaterial = true; - // set the weight stopping any scheduled fading - // although .enabled = false yields an effective weight of zero, this - // method does *not* change .enabled, because it would be confusing - setEffectiveWeight: function ( weight ) { + /** + * parameters = { + * color: , + * opacity: , + * + * linewidth: , + * + * scale: , + * dashSize: , + * gapSize: + * } + */ - this.weight = weight; + class LineDashedMaterial extends LineBasicMaterial { + constructor(parameters) { + super(); + this.type = 'LineDashedMaterial'; + this.scale = 1; + this.dashSize = 3; + this.gapSize = 1; + this.setValues(parameters); + } - // note: same logic as when updated at runtime - this._effectiveWeight = this.enabled ? weight : 0; + copy(source) { + super.copy(source); + this.scale = source.scale; + this.dashSize = source.dashSize; + this.gapSize = source.gapSize; + return this; + } - return this.stopFading(); + } - }, + LineDashedMaterial.prototype.isLineDashedMaterial = true; - // return the weight considering fading and .enabled - getEffectiveWeight: function () { + var Materials = /*#__PURE__*/Object.freeze({ + __proto__: null, + ShadowMaterial: ShadowMaterial, + SpriteMaterial: SpriteMaterial, + RawShaderMaterial: RawShaderMaterial, + ShaderMaterial: ShaderMaterial, + PointsMaterial: PointsMaterial, + MeshPhysicalMaterial: MeshPhysicalMaterial, + MeshStandardMaterial: MeshStandardMaterial, + MeshPhongMaterial: MeshPhongMaterial, + MeshToonMaterial: MeshToonMaterial, + MeshNormalMaterial: MeshNormalMaterial, + MeshLambertMaterial: MeshLambertMaterial, + MeshDepthMaterial: MeshDepthMaterial, + MeshDistanceMaterial: MeshDistanceMaterial, + MeshBasicMaterial: MeshBasicMaterial, + MeshMatcapMaterial: MeshMatcapMaterial, + LineDashedMaterial: LineDashedMaterial, + LineBasicMaterial: LineBasicMaterial, + Material: Material + }); - return this._effectiveWeight; + const AnimationUtils = { + // same as Array.prototype.slice, but also works on typed arrays + arraySlice: function (array, from, to) { + if (AnimationUtils.isTypedArray(array)) { + // in ios9 array.subarray(from, undefined) will return empty array + // but array.subarray(from) or array.subarray(from, len) is correct + return new array.constructor(array.subarray(from, to !== undefined ? to : array.length)); + } + return array.slice(from, to); }, + // converts an array to a specific type + convertArray: function (array, type, forceClone) { + if (!array || // let 'undefined' and 'null' pass + !forceClone && array.constructor === type) return array; - fadeIn: function ( duration ) { - - return this._scheduleFading( duration, 0, 1 ); + if (typeof type.BYTES_PER_ELEMENT === 'number') { + return new type(array); // create typed array + } + return Array.prototype.slice.call(array); // create Array }, - - fadeOut: function ( duration ) { - - return this._scheduleFading( duration, 1, 0 ); - + isTypedArray: function (object) { + return ArrayBuffer.isView(object) && !(object instanceof DataView); }, - - crossFadeFrom: function ( fadeOutAction, duration, warp ) { - - fadeOutAction.fadeOut( duration ); - this.fadeIn( duration ); - - if ( warp ) { - - var fadeInDuration = this._clip.duration, - fadeOutDuration = fadeOutAction._clip.duration, - - startEndRatio = fadeOutDuration / fadeInDuration, - endStartRatio = fadeInDuration / fadeOutDuration; - - fadeOutAction.warp( 1.0, startEndRatio, duration ); - this.warp( endStartRatio, 1.0, duration ); - + // returns an array by which times and values can be sorted + getKeyframeOrder: function (times) { + function compareTime(i, j) { + return times[i] - times[j]; } - return this; - - }, - - crossFadeTo: function ( fadeInAction, duration, warp ) { + const n = times.length; + const result = new Array(n); - return fadeInAction.crossFadeFrom( this, duration, warp ); + for (let i = 0; i !== n; ++i) result[i] = i; + result.sort(compareTime); + return result; }, + // uses the array previously returned by 'getKeyframeOrder' to sort data + sortedArray: function (values, stride, order) { + const nValues = values.length; + const result = new values.constructor(nValues); - stopFading: function () { - - var weightInterpolant = this._weightInterpolant; + for (let i = 0, dstOffset = 0; dstOffset !== nValues; ++i) { + const srcOffset = order[i] * stride; - if ( weightInterpolant !== null ) { + for (let j = 0; j !== stride; ++j) { + result[dstOffset++] = values[srcOffset + j]; + } + } - this._weightInterpolant = null; - this._mixer._takeBackControlInterpolant( weightInterpolant ); + return result; + }, + // function for parsing AOS keyframe formats + flattenJSON: function (jsonKeys, times, values, valuePropertyName) { + let i = 1, + key = jsonKeys[0]; + while (key !== undefined && key[valuePropertyName] === undefined) { + key = jsonKeys[i++]; } - return this; - - }, + if (key === undefined) return; // no data - // Time Scale Control + let value = key[valuePropertyName]; + if (value === undefined) return; // no data - // set the time scale stopping any scheduled warping - // although .paused = true yields an effective time scale of zero, this - // method does *not* change .paused, because it would be confusing - setEffectiveTimeScale: function ( timeScale ) { + if (Array.isArray(value)) { + do { + value = key[valuePropertyName]; - this.timeScale = timeScale; - this._effectiveTimeScale = this.paused ? 0 : timeScale; + if (value !== undefined) { + times.push(key.time); + values.push.apply(values, value); // push all elements + } - return this.stopWarping(); + key = jsonKeys[i++]; + } while (key !== undefined); + } else if (value.toArray !== undefined) { + // ...assume THREE.Math-ish + do { + value = key[valuePropertyName]; - }, + if (value !== undefined) { + times.push(key.time); + value.toArray(values, values.length); + } - // return the time scale considering warping and .paused - getEffectiveTimeScale: function () { + key = jsonKeys[i++]; + } while (key !== undefined); + } else { + // otherwise push as-is + do { + value = key[valuePropertyName]; - return this._effectiveTimeScale; + if (value !== undefined) { + times.push(key.time); + values.push(value); + } + key = jsonKeys[i++]; + } while (key !== undefined); + } }, + subclip: function (sourceClip, name, startFrame, endFrame, fps = 30) { + const clip = sourceClip.clone(); + clip.name = name; + const tracks = []; - setDuration: function ( duration ) { - - this.timeScale = this._clip.duration / duration; + for (let i = 0; i < clip.tracks.length; ++i) { + const track = clip.tracks[i]; + const valueSize = track.getValueSize(); + const times = []; + const values = []; - return this.stopWarping(); + for (let j = 0; j < track.times.length; ++j) { + const frame = track.times[j] * fps; + if (frame < startFrame || frame >= endFrame) continue; + times.push(track.times[j]); - }, + for (let k = 0; k < valueSize; ++k) { + values.push(track.values[j * valueSize + k]); + } + } - syncWith: function ( action ) { + if (times.length === 0) continue; + track.times = AnimationUtils.convertArray(times, track.times.constructor); + track.values = AnimationUtils.convertArray(values, track.values.constructor); + tracks.push(track); + } - this.time = action.time; - this.timeScale = action.timeScale; + clip.tracks = tracks; // find minimum .times value across all tracks in the trimmed clip - return this.stopWarping(); + let minStartTime = Infinity; - }, + for (let i = 0; i < clip.tracks.length; ++i) { + if (minStartTime > clip.tracks[i].times[0]) { + minStartTime = clip.tracks[i].times[0]; + } + } // shift all tracks such that clip begins at t=0 - halt: function ( duration ) { - return this.warp( this._effectiveTimeScale, 0, duration ); + for (let i = 0; i < clip.tracks.length; ++i) { + clip.tracks[i].shift(-1 * minStartTime); + } + clip.resetDuration(); + return clip; }, + makeClipAdditive: function (targetClip, referenceFrame = 0, referenceClip = targetClip, fps = 30) { + if (fps <= 0) fps = 30; + const numTracks = referenceClip.tracks.length; + const referenceTime = referenceFrame / fps; // Make each track's values relative to the values at the reference frame - warp: function ( startTimeScale, endTimeScale, duration ) { - - var mixer = this._mixer, now = mixer.time, - interpolant = this._timeScaleInterpolant, + for (let i = 0; i < numTracks; ++i) { + const referenceTrack = referenceClip.tracks[i]; + const referenceTrackType = referenceTrack.ValueTypeName; // Skip this track if it's non-numeric - timeScale = this.timeScale; + if (referenceTrackType === 'bool' || referenceTrackType === 'string') continue; // Find the track in the target clip whose name and type matches the reference track - if ( interpolant === null ) { + const targetTrack = targetClip.tracks.find(function (track) { + return track.name === referenceTrack.name && track.ValueTypeName === referenceTrackType; + }); + if (targetTrack === undefined) continue; + let referenceOffset = 0; + const referenceValueSize = referenceTrack.getValueSize(); - interpolant = mixer._lendControlInterpolant(); - this._timeScaleInterpolant = interpolant; + if (referenceTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) { + referenceOffset = referenceValueSize / 3; + } - } + let targetOffset = 0; + const targetValueSize = targetTrack.getValueSize(); - var times = interpolant.parameterPositions, - values = interpolant.sampleValues; + if (targetTrack.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline) { + targetOffset = targetValueSize / 3; + } - times[ 0 ] = now; - times[ 1 ] = now + duration; + const lastIndex = referenceTrack.times.length - 1; + let referenceValue; // Find the value to subtract out of the track - values[ 0 ] = startTimeScale / timeScale; - values[ 1 ] = endTimeScale / timeScale; + if (referenceTime <= referenceTrack.times[0]) { + // Reference frame is earlier than the first keyframe, so just use the first keyframe + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + referenceValue = AnimationUtils.arraySlice(referenceTrack.values, startIndex, endIndex); + } else if (referenceTime >= referenceTrack.times[lastIndex]) { + // Reference frame is after the last keyframe, so just use the last keyframe + const startIndex = lastIndex * referenceValueSize + referenceOffset; + const endIndex = startIndex + referenceValueSize - referenceOffset; + referenceValue = AnimationUtils.arraySlice(referenceTrack.values, startIndex, endIndex); + } else { + // Interpolate to the reference value + const interpolant = referenceTrack.createInterpolant(); + const startIndex = referenceOffset; + const endIndex = referenceValueSize - referenceOffset; + interpolant.evaluate(referenceTime); + referenceValue = AnimationUtils.arraySlice(interpolant.resultBuffer, startIndex, endIndex); + } // Conjugate the quaternion - return this; - }, + if (referenceTrackType === 'quaternion') { + const referenceQuat = new Quaternion().fromArray(referenceValue).normalize().conjugate(); + referenceQuat.toArray(referenceValue); + } // Subtract the reference value from all of the track values - stopWarping: function () { - var timeScaleInterpolant = this._timeScaleInterpolant; + const numTimes = targetTrack.times.length; - if ( timeScaleInterpolant !== null ) { + for (let j = 0; j < numTimes; ++j) { + const valueStart = j * targetValueSize + targetOffset; - this._timeScaleInterpolant = null; - this._mixer._takeBackControlInterpolant( timeScaleInterpolant ); + if (referenceTrackType === 'quaternion') { + // Multiply the conjugate for quaternion track types + Quaternion.multiplyQuaternionsFlat(targetTrack.values, valueStart, referenceValue, 0, targetTrack.values, valueStart); + } else { + const valueEnd = targetValueSize - targetOffset * 2; // Subtract each value for all other numeric track types + for (let k = 0; k < valueEnd; ++k) { + targetTrack.values[valueStart + k] -= referenceValue[k]; + } + } + } } - return this; - - }, - - // Object Accessors + targetClip.blendMode = AdditiveAnimationBlendMode; + return targetClip; + } + }; - getMixer: function () { + /** + * Abstract base class of interpolants over parametric samples. + * + * The parameter domain is one dimensional, typically the time or a path + * along a curve defined by the data. + * + * The sample values can have any dimensionality and derived classes may + * apply special interpretations to the data. + * + * This class provides the interval seek in a Template Method, deferring + * the actual interpolation to derived classes. + * + * Time complexity is O(1) for linear access crossing at most two points + * and O(log N) for random access, where N is the number of positions. + * + * References: + * + * http://www.oodesign.com/template-method-pattern.html + * + */ + class Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + this.parameterPositions = parameterPositions; + this._cachedIndex = 0; + this.resultBuffer = resultBuffer !== undefined ? resultBuffer : new sampleValues.constructor(sampleSize); + this.sampleValues = sampleValues; + this.valueSize = sampleSize; + this.settings = null; + this.DefaultSettings_ = {}; + } + + evaluate(t) { + const pp = this.parameterPositions; + let i1 = this._cachedIndex, + t1 = pp[i1], + t0 = pp[i1 - 1]; - return this._mixer; + validate_interval: { + seek: { + let right; - }, + linear_scan: { + //- See http://jsperf.com/comparison-to-undefined/3 + //- slower code: + //- + //- if ( t >= t1 || t1 === undefined ) { + forward_scan: if (!(t < t1)) { + for (let giveUpAt = i1 + 2;;) { + if (t1 === undefined) { + if (t < t0) break forward_scan; // after end - getClip: function () { + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_(i1 - 1, t, t0); + } - return this._clip; + if (i1 === giveUpAt) break; // this loop - }, + t0 = t1; + t1 = pp[++i1]; - getRoot: function () { + if (t < t1) { + // we have arrived at the sought interval + break seek; + } + } // prepare binary search on the right side of the index - return this._localRoot || this._mixer._root; - }, + right = pp.length; + break linear_scan; + } //- slower code: + //- if ( t < t0 || t0 === undefined ) { - // Interna - _update: function ( time, deltaTime, timeDirection, accuIndex ) { + if (!(t >= t0)) { + // looping? + const t1global = pp[1]; - // called by the mixer + if (t < t1global) { + i1 = 2; // + 1, using the scan for the details - if ( ! this.enabled ) { + t0 = t1global; + } // linear reverse scan - // call ._updateWeight() to update ._effectiveWeight - this._updateWeight( time ); - return; + for (let giveUpAt = i1 - 2;;) { + if (t0 === undefined) { + // before start + this._cachedIndex = 0; + return this.beforeStart_(0, t, t1); + } - } + if (i1 === giveUpAt) break; // this loop - var startTime = this._startTime; + t1 = t0; + t0 = pp[--i1 - 1]; - if ( startTime !== null ) { + if (t >= t0) { + // we have arrived at the sought interval + break seek; + } + } // prepare binary search on the left side of the index - // check for scheduled start of action - var timeRunning = ( time - startTime ) * timeDirection; - if ( timeRunning < 0 || timeDirection === 0 ) { + right = i1; + i1 = 0; + break linear_scan; + } // the interval is valid - return; // yet to come / don't decide when delta = 0 - } + break validate_interval; + } // linear scan + // binary search - // start - this._startTime = null; // unschedule - deltaTime = timeDirection * timeRunning; + while (i1 < right) { + const mid = i1 + right >>> 1; - } + if (t < pp[mid]) { + right = mid; + } else { + i1 = mid + 1; + } + } - // apply time scale and advance time + t1 = pp[i1]; + t0 = pp[i1 - 1]; // check boundary cases, again - deltaTime *= this._updateTimeScale( time ); - var clipTime = this._updateTime( deltaTime ); + if (t0 === undefined) { + this._cachedIndex = 0; + return this.beforeStart_(0, t, t1); + } - // note: _updateTime may disable the action resulting in - // an effective weight of 0 + if (t1 === undefined) { + i1 = pp.length; + this._cachedIndex = i1; + return this.afterEnd_(i1 - 1, t0, t); + } + } // seek - var weight = this._updateWeight( time ); - if ( weight > 0 ) { + this._cachedIndex = i1; + this.intervalChanged_(i1, t0, t1); + } // validate_interval - var interpolants = this._interpolants; - var propertyMixers = this._propertyBindings; - for ( var j = 0, m = interpolants.length; j !== m; ++ j ) { + return this.interpolate_(i1, t0, t, t1); + } - interpolants[ j ].evaluate( clipTime ); - propertyMixers[ j ].accumulate( accuIndex, weight ); + getSettings_() { + return this.settings || this.DefaultSettings_; + } - } + copySampleValue_(index) { + // copies a sample value to the result buffer + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + offset = index * stride; + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset + i]; } - }, + return result; + } // Template methods for derived classes: - _updateWeight: function ( time ) { - var weight = 0; + interpolate_() { + throw new Error('call to abstract method'); // implementations shall return this.resultBuffer + } - if ( this.enabled ) { + intervalChanged_() {// empty + } - weight = this.weight; - var interpolant = this._weightInterpolant; + } // ALIAS DEFINITIONS - if ( interpolant !== null ) { - var interpolantValue = interpolant.evaluate( time )[ 0 ]; + Interpolant.prototype.beforeStart_ = Interpolant.prototype.copySampleValue_; + Interpolant.prototype.afterEnd_ = Interpolant.prototype.copySampleValue_; - weight *= interpolantValue; + /** + * Fast and simple cubic spline interpolant. + * + * It was derived from a Hermitian construction setting the first derivative + * at each sample position to the linear slope between neighboring positions + * over their parameter interval. + */ - if ( time > interpolant.parameterPositions[ 1 ] ) { + class CubicInterpolant extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + this._weightPrev = -0; + this._offsetPrev = -0; + this._weightNext = -0; + this._offsetNext = -0; + this.DefaultSettings_ = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; + } - this.stopFading(); + intervalChanged_(i1, t0, t1) { + const pp = this.parameterPositions; + let iPrev = i1 - 2, + iNext = i1 + 1, + tPrev = pp[iPrev], + tNext = pp[iNext]; - if ( interpolantValue === 0 ) { + if (tPrev === undefined) { + switch (this.getSettings_().endingStart) { + case ZeroSlopeEnding: + // f'(t0) = 0 + iPrev = i1; + tPrev = 2 * t0 - t1; + break; - // faded out, disable - this.enabled = false; + case WrapAroundEnding: + // use the other end of the curve + iPrev = pp.length - 2; + tPrev = t0 + pp[iPrev] - pp[iPrev + 1]; + break; - } + default: + // ZeroCurvatureEnding + // f''(t0) = 0 a.k.a. Natural Spline + iPrev = i1; + tPrev = t1; + } + } - } + if (tNext === undefined) { + switch (this.getSettings_().endingEnd) { + case ZeroSlopeEnding: + // f'(tN) = 0 + iNext = i1; + tNext = 2 * t1 - t0; + break; - } + case WrapAroundEnding: + // use the other end of the curve + iNext = 1; + tNext = t1 + pp[1] - pp[0]; + break; + default: + // ZeroCurvatureEnding + // f''(tN) = 0, a.k.a. Natural Spline + iNext = i1 - 1; + tNext = t0; + } } - this._effectiveWeight = weight; - return weight; + const halfDt = (t1 - t0) * 0.5, + stride = this.valueSize; + this._weightPrev = halfDt / (t0 - tPrev); + this._weightNext = halfDt / (tNext - t1); + this._offsetPrev = iPrev * stride; + this._offsetNext = iNext * stride; + } - }, + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + o1 = i1 * stride, + o0 = o1 - stride, + oP = this._offsetPrev, + oN = this._offsetNext, + wP = this._weightPrev, + wN = this._weightNext, + p = (t - t0) / (t1 - t0), + pp = p * p, + ppp = pp * p; // evaluate polynomials - _updateTimeScale: function ( time ) { + const sP = -wP * ppp + 2 * wP * pp - wP * p; + const s0 = (1 + wP) * ppp + (-1.5 - 2 * wP) * pp + (-0.5 + wP) * p + 1; + const s1 = (-1 - wN) * ppp + (1.5 + wN) * pp + 0.5 * p; + const sN = wN * ppp - wN * pp; // combine data linearly + + for (let i = 0; i !== stride; ++i) { + result[i] = sP * values[oP + i] + s0 * values[o0 + i] + s1 * values[o1 + i] + sN * values[oN + i]; + } - var timeScale = 0; + return result; + } - if ( ! this.paused ) { + } - timeScale = this.timeScale; + class LinearInterpolant extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } - var interpolant = this._timeScaleInterpolant; + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + offset1 = i1 * stride, + offset0 = offset1 - stride, + weight1 = (t - t0) / (t1 - t0), + weight0 = 1 - weight1; - if ( interpolant !== null ) { + for (let i = 0; i !== stride; ++i) { + result[i] = values[offset0 + i] * weight0 + values[offset1 + i] * weight1; + } - var interpolantValue = interpolant.evaluate( time )[ 0 ]; + return result; + } - timeScale *= interpolantValue; + } - if ( time > interpolant.parameterPositions[ 1 ] ) { + /** + * + * Interpolant that evaluates to the sample value at the position preceeding + * the parameter. + */ - this.stopWarping(); + class DiscreteInterpolant extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } - if ( timeScale === 0 ) { + interpolate_(i1 + /*, t0, t, t1 */ + ) { + return this.copySampleValue_(i1 - 1); + } - // motion has halted, pause - this.paused = true; + } - } else { + class KeyframeTrack { + constructor(name, times, values, interpolation) { + if (name === undefined) throw new Error('THREE.KeyframeTrack: track name is undefined'); + if (times === undefined || times.length === 0) throw new Error('THREE.KeyframeTrack: no keyframes in track named ' + name); + this.name = name; + this.times = AnimationUtils.convertArray(times, this.TimeBufferType); + this.values = AnimationUtils.convertArray(values, this.ValueBufferType); + this.setInterpolation(interpolation || this.DefaultInterpolation); + } // Serialization (in static context, because of constructor invocation + // and automatic invocation of .toJSON): - // warp done - apply final time scale - this.timeScale = timeScale; - } + static toJSON(track) { + const trackType = track.constructor; + let json; // derived classes can define a static toJSON method - } + if (trackType.toJSON !== this.toJSON) { + json = trackType.toJSON(track); + } else { + // by default, we assume the data can be serialized as-is + json = { + 'name': track.name, + 'times': AnimationUtils.convertArray(track.times, Array), + 'values': AnimationUtils.convertArray(track.values, Array) + }; + const interpolation = track.getInterpolation(); + if (interpolation !== track.DefaultInterpolation) { + json.interpolation = interpolation; } - } - this._effectiveTimeScale = timeScale; - return timeScale; + json.type = track.ValueTypeName; // mandatory - }, + return json; + } - _updateTime: function ( deltaTime ) { + InterpolantFactoryMethodDiscrete(result) { + return new DiscreteInterpolant(this.times, this.values, this.getValueSize(), result); + } - var time = this.time + deltaTime; - var duration = this._clip.duration; - var loop = this.loop; - var loopCount = this._loopCount; + InterpolantFactoryMethodLinear(result) { + return new LinearInterpolant(this.times, this.values, this.getValueSize(), result); + } - var pingPong = ( loop === LoopPingPong ); + InterpolantFactoryMethodSmooth(result) { + return new CubicInterpolant(this.times, this.values, this.getValueSize(), result); + } - if ( deltaTime === 0 ) { + setInterpolation(interpolation) { + let factoryMethod; - if ( loopCount === - 1 ) return time; + switch (interpolation) { + case InterpolateDiscrete: + factoryMethod = this.InterpolantFactoryMethodDiscrete; + break; - return ( pingPong && ( loopCount & 1 ) === 1 ) ? duration - time : time; + case InterpolateLinear: + factoryMethod = this.InterpolantFactoryMethodLinear; + break; + case InterpolateSmooth: + factoryMethod = this.InterpolantFactoryMethodSmooth; + break; } - if ( loop === LoopOnce ) { + if (factoryMethod === undefined) { + const message = 'unsupported interpolation for ' + this.ValueTypeName + ' keyframe track named ' + this.name; - if ( loopCount === - 1 ) { + if (this.createInterpolant === undefined) { + // fall back to default, unless the default itself is messed up + if (interpolation !== this.DefaultInterpolation) { + this.setInterpolation(this.DefaultInterpolation); + } else { + throw new Error(message); // fatal, in this case + } + } - // just started + console.warn('THREE.KeyframeTrack:', message); + return this; + } - this._loopCount = 0; - this._setEndings( true, true, false ); + this.createInterpolant = factoryMethod; + return this; + } - } + getInterpolation() { + switch (this.createInterpolant) { + case this.InterpolantFactoryMethodDiscrete: + return InterpolateDiscrete; - handle_stop: { + case this.InterpolantFactoryMethodLinear: + return InterpolateLinear; + + case this.InterpolantFactoryMethodSmooth: + return InterpolateSmooth; + } + } - if ( time >= duration ) { + getValueSize() { + return this.values.length / this.times.length; + } // move all keyframes either forwards or backwards in time - time = duration; - } else if ( time < 0 ) { + shift(timeOffset) { + if (timeOffset !== 0.0) { + const times = this.times; - time = 0; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] += timeOffset; + } + } - } else break handle_stop; + return this; + } // scale all keyframe times by a factor (useful for frame <-> seconds conversions) - if ( this.clampWhenFinished ) this.paused = true; - else this.enabled = false; - this._mixer.dispatchEvent( { - type: 'finished', action: this, - direction: deltaTime < 0 ? - 1 : 1 - } ); + scale(timeScale) { + if (timeScale !== 1.0) { + const times = this.times; + for (let i = 0, n = times.length; i !== n; ++i) { + times[i] *= timeScale; } + } - } else { // repetitive Repeat or PingPong - - if ( loopCount === - 1 ) { + return this; + } // removes keyframes before and after animation without changing any values within the range [startTime, endTime]. + // IMPORTANT: We do not shift around keys to the start of the track time, because for interpolated keys this will change their values - // just started - if ( deltaTime >= 0 ) { + trim(startTime, endTime) { + const times = this.times, + nKeys = times.length; + let from = 0, + to = nKeys - 1; - loopCount = 0; + while (from !== nKeys && times[from] < startTime) { + ++from; + } - this._setEndings( true, this.repetitions === 0, pingPong ); + while (to !== -1 && times[to] > endTime) { + --to; + } - } else { + ++to; // inclusive -> exclusive bound - // when looping in reverse direction, the initial - // transition through zero counts as a repetition, - // so leave loopCount at -1 + if (from !== 0 || to !== nKeys) { + // empty tracks are forbidden, so keep at least one keyframe + if (from >= to) { + to = Math.max(to, 1); + from = to - 1; + } - this._setEndings( this.repetitions === 0, true, pingPong ); + const stride = this.getValueSize(); + this.times = AnimationUtils.arraySlice(times, from, to); + this.values = AnimationUtils.arraySlice(this.values, from * stride, to * stride); + } - } + return this; + } // ensure we do not get a GarbageInGarbageOut situation, make sure tracks are at least minimally viable - } - if ( time >= duration || time < 0 ) { + validate() { + let valid = true; + const valueSize = this.getValueSize(); - // wrap around + if (valueSize - Math.floor(valueSize) !== 0) { + console.error('THREE.KeyframeTrack: Invalid value size in track.', this); + valid = false; + } - var loopDelta = Math.floor( time / duration ); // signed - time -= duration * loopDelta; + const times = this.times, + values = this.values, + nKeys = times.length; - loopCount += Math.abs( loopDelta ); + if (nKeys === 0) { + console.error('THREE.KeyframeTrack: Track is empty.', this); + valid = false; + } - var pending = this.repetitions - loopCount; + let prevTime = null; - if ( pending <= 0 ) { + for (let i = 0; i !== nKeys; i++) { + const currTime = times[i]; - // have to stop (switch state, clamp time, fire event) + if (typeof currTime === 'number' && isNaN(currTime)) { + console.error('THREE.KeyframeTrack: Time is not a valid number.', this, i, currTime); + valid = false; + break; + } - if ( this.clampWhenFinished ) this.paused = true; - else this.enabled = false; + if (prevTime !== null && prevTime > currTime) { + console.error('THREE.KeyframeTrack: Out of order keys.', this, i, currTime, prevTime); + valid = false; + break; + } - time = deltaTime > 0 ? duration : 0; + prevTime = currTime; + } - this._mixer.dispatchEvent( { - type: 'finished', action: this, - direction: deltaTime > 0 ? 1 : - 1 - } ); + if (values !== undefined) { + if (AnimationUtils.isTypedArray(values)) { + for (let i = 0, n = values.length; i !== n; ++i) { + const value = values[i]; - } else { + if (isNaN(value)) { + console.error('THREE.KeyframeTrack: Value is not a valid number.', this, i, value); + valid = false; + break; + } + } + } + } - // keep running + return valid; + } // removes equivalent sequential keys as common in morph target sequences + // (0,0,0,0,1,1,1,0,0,0,0,0,0,0) --> (0,0,1,1,0,0) - if ( pending === 1 ) { - // entering the last round + optimize() { + // times or values may be shared with other tracks, so overwriting is unsafe + const times = AnimationUtils.arraySlice(this.times), + values = AnimationUtils.arraySlice(this.values), + stride = this.getValueSize(), + smoothInterpolation = this.getInterpolation() === InterpolateSmooth, + lastIndex = times.length - 1; + let writeIndex = 1; - var atStart = deltaTime < 0; - this._setEndings( atStart, ! atStart, pingPong ); + for (let i = 1; i < lastIndex; ++i) { + let keep = false; + const time = times[i]; + const timeNext = times[i + 1]; // remove adjacent keyframes scheduled at the same time - } else { + if (time !== timeNext && (i !== 1 || time !== times[0])) { + if (!smoothInterpolation) { + // remove unnecessary keyframes same as their neighbors + const offset = i * stride, + offsetP = offset - stride, + offsetN = offset + stride; - this._setEndings( false, false, pingPong ); + for (let j = 0; j !== stride; ++j) { + const value = values[offset + j]; + if (value !== values[offsetP + j] || value !== values[offsetN + j]) { + keep = true; + break; + } } + } else { + keep = true; + } + } // in-place compaction - this._loopCount = loopCount; - this._mixer.dispatchEvent( { - type: 'loop', action: this, loopDelta: loopDelta - } ); + if (keep) { + if (i !== writeIndex) { + times[writeIndex] = times[i]; + const readOffset = i * stride, + writeOffset = writeIndex * stride; + for (let j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; + } } + ++writeIndex; } + } // flush last keyframe (compaction looks ahead) - if ( pingPong && ( loopCount & 1 ) === 1 ) { - - // invert time for the "pong round" - this.time = time; - return duration - time; + if (lastIndex > 0) { + times[writeIndex] = times[lastIndex]; + for (let readOffset = lastIndex * stride, writeOffset = writeIndex * stride, j = 0; j !== stride; ++j) { + values[writeOffset + j] = values[readOffset + j]; } + ++writeIndex; } - this.time = time; - return time; + if (writeIndex !== times.length) { + this.times = AnimationUtils.arraySlice(times, 0, writeIndex); + this.values = AnimationUtils.arraySlice(values, 0, writeIndex * stride); + } else { + this.times = times; + this.values = values; + } - }, + return this; + } - _setEndings: function ( atStart, atEnd, pingPong ) { + clone() { + const times = AnimationUtils.arraySlice(this.times, 0); + const values = AnimationUtils.arraySlice(this.values, 0); + const TypedKeyframeTrack = this.constructor; + const track = new TypedKeyframeTrack(this.name, times, values); // Interpolant argument to constructor is not saved, so copy the factory method directly. - var settings = this._interpolantSettings; + track.createInterpolant = this.createInterpolant; + return track; + } - if ( pingPong ) { + } - settings.endingStart = ZeroSlopeEnding; - settings.endingEnd = ZeroSlopeEnding; + KeyframeTrack.prototype.TimeBufferType = Float32Array; + KeyframeTrack.prototype.ValueBufferType = Float32Array; + KeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; - } else { + /** + * A Track of Boolean keyframe values. + */ - // assuming for LoopOnce atStart == atEnd == true + class BooleanKeyframeTrack extends KeyframeTrack {} - if ( atStart ) { + BooleanKeyframeTrack.prototype.ValueTypeName = 'bool'; + BooleanKeyframeTrack.prototype.ValueBufferType = Array; + BooleanKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; + BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined; + BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; // Note: Actually this track could have a optimized / compressed - settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding; + /** + * A Track of keyframe values that represent color. + */ - } else { + class ColorKeyframeTrack extends KeyframeTrack {} - settings.endingStart = WrapAroundEnding; + ColorKeyframeTrack.prototype.ValueTypeName = 'color'; // ValueBufferType is inherited - } + /** + * A Track of numeric keyframe values. + */ - if ( atEnd ) { + class NumberKeyframeTrack extends KeyframeTrack {} - settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding; + NumberKeyframeTrack.prototype.ValueTypeName = 'number'; // ValueBufferType is inherited - } else { + /** + * Spherical linear unit quaternion interpolant. + */ - settings.endingEnd = WrapAroundEnding; + class QuaternionLinearInterpolant extends Interpolant { + constructor(parameterPositions, sampleValues, sampleSize, resultBuffer) { + super(parameterPositions, sampleValues, sampleSize, resultBuffer); + } - } + interpolate_(i1, t0, t, t1) { + const result = this.resultBuffer, + values = this.sampleValues, + stride = this.valueSize, + alpha = (t - t0) / (t1 - t0); + let offset = i1 * stride; + for (let end = offset + stride; offset !== end; offset += 4) { + Quaternion.slerpFlat(result, 0, values, offset - stride, values, offset, alpha); } - }, - - _scheduleFading: function ( duration, weightNow, weightThen ) { + return result; + } - var mixer = this._mixer, now = mixer.time, - interpolant = this._weightInterpolant; + } - if ( interpolant === null ) { + /** + * A Track of quaternion keyframe values. + */ - interpolant = mixer._lendControlInterpolant(); - this._weightInterpolant = interpolant; + class QuaternionKeyframeTrack extends KeyframeTrack { + InterpolantFactoryMethodLinear(result) { + return new QuaternionLinearInterpolant(this.times, this.values, this.getValueSize(), result); + } - } + } - var times = interpolant.parameterPositions, - values = interpolant.sampleValues; + QuaternionKeyframeTrack.prototype.ValueTypeName = 'quaternion'; // ValueBufferType is inherited - times[ 0 ] = now; - values[ 0 ] = weightNow; - times[ 1 ] = now + duration; - values[ 1 ] = weightThen; + QuaternionKeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear; + QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; - return this; + /** + * A Track that interpolates Strings + */ - } + class StringKeyframeTrack extends KeyframeTrack {} - } ); + StringKeyframeTrack.prototype.ValueTypeName = 'string'; + StringKeyframeTrack.prototype.ValueBufferType = Array; + StringKeyframeTrack.prototype.DefaultInterpolation = InterpolateDiscrete; + StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear = undefined; + StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth = undefined; /** - * - * Player for AnimationClips. - * - * - * @author Ben Houston / http://clara.io/ - * @author David Sarno / http://lighthaus.us/ - * @author tschw + * A Track of vectored keyframe values. */ - function AnimationMixer( root ) { + class VectorKeyframeTrack extends KeyframeTrack {} + + VectorKeyframeTrack.prototype.ValueTypeName = 'vector'; // ValueBufferType is inherited - this._root = root; - this._initMemoryManager(); - this._accuIndex = 0; + class AnimationClip { + constructor(name, duration = -1, tracks, blendMode = NormalAnimationBlendMode) { + this.name = name; + this.tracks = tracks; + this.duration = duration; + this.blendMode = blendMode; + this.uuid = generateUUID(); // this means it should figure out its duration by scanning the tracks - this.time = 0; + if (this.duration < 0) { + this.resetDuration(); + } + } - this.timeScale = 1.0; + static parse(json) { + const tracks = [], + jsonTracks = json.tracks, + frameTime = 1.0 / (json.fps || 1.0); - } + for (let i = 0, n = jsonTracks.length; i !== n; ++i) { + tracks.push(parseKeyframeTrack(jsonTracks[i]).scale(frameTime)); + } + + const clip = new this(json.name, json.duration, tracks, json.blendMode); + clip.uuid = json.uuid; + return clip; + } - AnimationMixer.prototype = Object.assign( Object.create( EventDispatcher.prototype ), { + static toJSON(clip) { + const tracks = [], + clipTracks = clip.tracks; + const json = { + 'name': clip.name, + 'duration': clip.duration, + 'tracks': tracks, + 'uuid': clip.uuid, + 'blendMode': clip.blendMode + }; - constructor: AnimationMixer, + for (let i = 0, n = clipTracks.length; i !== n; ++i) { + tracks.push(KeyframeTrack.toJSON(clipTracks[i])); + } - _bindAction: function ( action, prototypeAction ) { + return json; + } - var root = action._localRoot || this._root, - tracks = action._clip.tracks, - nTracks = tracks.length, - bindings = action._propertyBindings, - interpolants = action._interpolants, - rootUuid = root.uuid, - bindingsByRoot = this._bindingsByRootAndName, - bindingsByName = bindingsByRoot[ rootUuid ]; + static CreateFromMorphTargetSequence(name, morphTargetSequence, fps, noLoop) { + const numMorphTargets = morphTargetSequence.length; + const tracks = []; - if ( bindingsByName === undefined ) { + for (let i = 0; i < numMorphTargets; i++) { + let times = []; + let values = []; + times.push((i + numMorphTargets - 1) % numMorphTargets, i, (i + 1) % numMorphTargets); + values.push(0, 1, 0); + const order = AnimationUtils.getKeyframeOrder(times); + times = AnimationUtils.sortedArray(times, 1, order); + values = AnimationUtils.sortedArray(values, 1, order); // if there is a key at the first frame, duplicate it as the + // last frame as well for perfect loop. - bindingsByName = {}; - bindingsByRoot[ rootUuid ] = bindingsByName; + if (!noLoop && times[0] === 0) { + times.push(numMorphTargets); + values.push(values[0]); + } + tracks.push(new NumberKeyframeTrack('.morphTargetInfluences[' + morphTargetSequence[i].name + ']', times, values).scale(1.0 / fps)); } - for ( var i = 0; i !== nTracks; ++ i ) { + return new this(name, -1, tracks); + } - var track = tracks[ i ], - trackName = track.name, - binding = bindingsByName[ trackName ]; + static findByName(objectOrClipArray, name) { + let clipArray = objectOrClipArray; - if ( binding !== undefined ) { + if (!Array.isArray(objectOrClipArray)) { + const o = objectOrClipArray; + clipArray = o.geometry && o.geometry.animations || o.animations; + } - bindings[ i ] = binding; + for (let i = 0; i < clipArray.length; i++) { + if (clipArray[i].name === name) { + return clipArray[i]; + } + } - } else { + return null; + } - binding = bindings[ i ]; + static CreateClipsFromMorphTargetSequences(morphTargets, fps, noLoop) { + const animationToMorphTargets = {}; // tested with https://regex101.com/ on trick sequences + // such flamingo_flyA_003, flamingo_run1_003, crdeath0059 - if ( binding !== undefined ) { + const pattern = /^([\w-]*?)([\d]+)$/; // sort morph target names into animation groups based + // patterns like Walk_001, Walk_002, Run_001, Run_002 - // existing binding, make sure the cache knows + for (let i = 0, il = morphTargets.length; i < il; i++) { + const morphTarget = morphTargets[i]; + const parts = morphTarget.name.match(pattern); - if ( binding._cacheIndex === null ) { + if (parts && parts.length > 1) { + const name = parts[1]; + let animationMorphTargets = animationToMorphTargets[name]; - ++ binding.referenceCount; - this._addInactiveBinding( binding, rootUuid, trackName ); + if (!animationMorphTargets) { + animationToMorphTargets[name] = animationMorphTargets = []; + } - } + animationMorphTargets.push(morphTarget); + } + } - continue; + const clips = []; - } + for (const name in animationToMorphTargets) { + clips.push(this.CreateFromMorphTargetSequence(name, animationToMorphTargets[name], fps, noLoop)); + } - var path = prototypeAction && prototypeAction. - _propertyBindings[ i ].binding.parsedPath; + return clips; + } // parse the animation.hierarchy format - binding = new PropertyMixer( - PropertyBinding.create( root, trackName, path ), - track.ValueTypeName, track.getValueSize() ); - ++ binding.referenceCount; - this._addInactiveBinding( binding, rootUuid, trackName ); + static parseAnimation(animation, bones) { + if (!animation) { + console.error('THREE.AnimationClip: No animation in JSONLoader data.'); + return null; + } - bindings[ i ] = binding; + const addNonemptyTrack = function (trackType, trackName, animationKeys, propertyName, destTracks) { + // only return track if there are actually keys. + if (animationKeys.length !== 0) { + const times = []; + const values = []; + AnimationUtils.flattenJSON(animationKeys, times, values, propertyName); // empty keys are filtered out, so check again + if (times.length !== 0) { + destTracks.push(new trackType(trackName, times, values)); + } } + }; - interpolants[ i ].resultBuffer = binding.buffer; + const tracks = []; + const clipName = animation.name || 'default'; + const fps = animation.fps || 30; + const blendMode = animation.blendMode; // automatic length determination in AnimationClip. - } + let duration = animation.length || -1; + const hierarchyTracks = animation.hierarchy || []; - }, + for (let h = 0; h < hierarchyTracks.length; h++) { + const animationKeys = hierarchyTracks[h].keys; // skip empty tracks - _activateAction: function ( action ) { + if (!animationKeys || animationKeys.length === 0) continue; // process morph targets - if ( ! this._isActiveAction( action ) ) { + if (animationKeys[0].morphTargets) { + // figure out all morph targets used in this track + const morphTargetNames = {}; + let k; - if ( action._cacheIndex === null ) { + for (k = 0; k < animationKeys.length; k++) { + if (animationKeys[k].morphTargets) { + for (let m = 0; m < animationKeys[k].morphTargets.length; m++) { + morphTargetNames[animationKeys[k].morphTargets[m]] = -1; + } + } + } // create a track for each morph target with all zero + // morphTargetInfluences except for the keys in which + // the morphTarget is named. - // this action has been forgotten by the cache, but the user - // appears to be still using it -> rebind - var rootUuid = ( action._localRoot || this._root ).uuid, - clipUuid = action._clip.uuid, - actionsForClip = this._actionsByClip[ clipUuid ]; + for (const morphTargetName in morphTargetNames) { + const times = []; + const values = []; - this._bindAction( action, - actionsForClip && actionsForClip.knownActions[ 0 ] ); + for (let m = 0; m !== animationKeys[k].morphTargets.length; ++m) { + const animationKey = animationKeys[k]; + times.push(animationKey.time); + values.push(animationKey.morphTarget === morphTargetName ? 1 : 0); + } - this._addInactiveAction( action, clipUuid, rootUuid ); + tracks.push(new NumberKeyframeTrack('.morphTargetInfluence[' + morphTargetName + ']', times, values)); + } + duration = morphTargetNames.length * (fps || 1.0); + } else { + // ...assume skeletal animation + const boneName = '.bones[' + bones[h].name + ']'; + addNonemptyTrack(VectorKeyframeTrack, boneName + '.position', animationKeys, 'pos', tracks); + addNonemptyTrack(QuaternionKeyframeTrack, boneName + '.quaternion', animationKeys, 'rot', tracks); + addNonemptyTrack(VectorKeyframeTrack, boneName + '.scale', animationKeys, 'scl', tracks); } + } - var bindings = action._propertyBindings; + if (tracks.length === 0) { + return null; + } - // increment reference counts / sort out state - for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + const clip = new this(clipName, duration, tracks, blendMode); + return clip; + } - var binding = bindings[ i ]; + resetDuration() { + const tracks = this.tracks; + let duration = 0; - if ( binding.useCount ++ === 0 ) { + for (let i = 0, n = tracks.length; i !== n; ++i) { + const track = this.tracks[i]; + duration = Math.max(duration, track.times[track.times.length - 1]); + } - this._lendBinding( binding ); - binding.saveOriginalState(); + this.duration = duration; + return this; + } - } + trim() { + for (let i = 0; i < this.tracks.length; i++) { + this.tracks[i].trim(0, this.duration); + } - } + return this; + } - this._lendAction( action ); + validate() { + let valid = true; + for (let i = 0; i < this.tracks.length; i++) { + valid = valid && this.tracks[i].validate(); } - }, - - _deactivateAction: function ( action ) { + return valid; + } - if ( this._isActiveAction( action ) ) { + optimize() { + for (let i = 0; i < this.tracks.length; i++) { + this.tracks[i].optimize(); + } - var bindings = action._propertyBindings; + return this; + } - // decrement reference counts / sort out state - for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + clone() { + const tracks = []; - var binding = bindings[ i ]; + for (let i = 0; i < this.tracks.length; i++) { + tracks.push(this.tracks[i].clone()); + } - if ( -- binding.useCount === 0 ) { + return new this.constructor(this.name, this.duration, tracks, this.blendMode); + } - binding.restoreOriginalState(); - this._takeBackBinding( binding ); + toJSON() { + return this.constructor.toJSON(this); + } - } + } - } + function getTrackTypeForValueTypeName(typeName) { + switch (typeName.toLowerCase()) { + case 'scalar': + case 'double': + case 'float': + case 'number': + case 'integer': + return NumberKeyframeTrack; - this._takeBackAction( action ); + case 'vector': + case 'vector2': + case 'vector3': + case 'vector4': + return VectorKeyframeTrack; - } + case 'color': + return ColorKeyframeTrack; - }, + case 'quaternion': + return QuaternionKeyframeTrack; - // Memory manager + case 'bool': + case 'boolean': + return BooleanKeyframeTrack; - _initMemoryManager: function () { + case 'string': + return StringKeyframeTrack; + } - this._actions = []; // 'nActiveActions' followed by inactive ones - this._nActiveActions = 0; + throw new Error('THREE.KeyframeTrack: Unsupported typeName: ' + typeName); + } - this._actionsByClip = {}; - // inside: - // { - // knownActions: Array< AnimationAction > - used as prototypes - // actionByRoot: AnimationAction - lookup - // } + function parseKeyframeTrack(json) { + if (json.type === undefined) { + throw new Error('THREE.KeyframeTrack: track type undefined, can not parse'); + } + const trackType = getTrackTypeForValueTypeName(json.type); - this._bindings = []; // 'nActiveBindings' followed by inactive ones - this._nActiveBindings = 0; + if (json.times === undefined) { + const times = [], + values = []; + AnimationUtils.flattenJSON(json.keys, times, values, 'value'); + json.times = times; + json.values = values; + } // derived classes can define a static parse method - this._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer > + if (trackType.parse !== undefined) { + return trackType.parse(json); + } else { + // by default, we assume a constructor compatible with the base + return new trackType(json.name, json.times, json.values, json.interpolation); + } + } - this._controlInterpolants = []; // same game as above - this._nActiveControlInterpolants = 0; + const Cache = { + enabled: false, + files: {}, + add: function (key, file) { + if (this.enabled === false) return; // console.log( 'THREE.Cache', 'Adding key:', key ); - var scope = this; + this.files[key] = file; + }, + get: function (key) { + if (this.enabled === false) return; // console.log( 'THREE.Cache', 'Checking key:', key ); - this.stats = { + return this.files[key]; + }, + remove: function (key) { + delete this.files[key]; + }, + clear: function () { + this.files = {}; + } + }; - actions: { - get total() { + class LoadingManager { + constructor(onLoad, onProgress, onError) { + const scope = this; + let isLoading = false; + let itemsLoaded = 0; + let itemsTotal = 0; + let urlModifier = undefined; + const handlers = []; // Refer to #5689 for the reason why we don't set .onStart + // in the constructor + + this.onStart = undefined; + this.onLoad = onLoad; + this.onProgress = onProgress; + this.onError = onError; + + this.itemStart = function (url) { + itemsTotal++; + + if (isLoading === false) { + if (scope.onStart !== undefined) { + scope.onStart(url, itemsLoaded, itemsTotal); + } + } - return scope._actions.length; + isLoading = true; + }; - }, - get inUse() { + this.itemEnd = function (url) { + itemsLoaded++; - return scope._nActiveActions; + if (scope.onProgress !== undefined) { + scope.onProgress(url, itemsLoaded, itemsTotal); + } - } - }, - bindings: { - get total() { + if (itemsLoaded === itemsTotal) { + isLoading = false; - return scope._bindings.length; + if (scope.onLoad !== undefined) { + scope.onLoad(); + } + } + }; - }, - get inUse() { + this.itemError = function (url) { + if (scope.onError !== undefined) { + scope.onError(url); + } + }; - return scope._nActiveBindings; + this.resolveURL = function (url) { + if (urlModifier) { + return urlModifier(url); + } - } - }, - controlInterpolants: { - get total() { + return url; + }; - return scope._controlInterpolants.length; + this.setURLModifier = function (transform) { + urlModifier = transform; + return this; + }; - }, - get inUse() { + this.addHandler = function (regex, loader) { + handlers.push(regex, loader); + return this; + }; - return scope._nActiveControlInterpolants; + this.removeHandler = function (regex) { + const index = handlers.indexOf(regex); - } + if (index !== -1) { + handlers.splice(index, 2); } + return this; }; - }, - - // Memory management for AnimationAction objects + this.getHandler = function (file) { + for (let i = 0, l = handlers.length; i < l; i += 2) { + const regex = handlers[i]; + const loader = handlers[i + 1]; + if (regex.global) regex.lastIndex = 0; // see #17920 - _isActiveAction: function ( action ) { + if (regex.test(file)) { + return loader; + } + } - var index = action._cacheIndex; - return index !== null && index < this._nActiveActions; + return null; + }; + } - }, + } - _addInactiveAction: function ( action, clipUuid, rootUuid ) { + const DefaultLoadingManager = new LoadingManager(); - var actions = this._actions, - actionsByClip = this._actionsByClip, - actionsForClip = actionsByClip[ clipUuid ]; + class Loader { + constructor(manager) { + this.manager = manager !== undefined ? manager : DefaultLoadingManager; + this.crossOrigin = 'anonymous'; + this.withCredentials = false; + this.path = ''; + this.resourcePath = ''; + this.requestHeader = {}; + } - if ( actionsForClip === undefined ) { + load() {} - actionsForClip = { + loadAsync(url, onProgress) { + const scope = this; + return new Promise(function (resolve, reject) { + scope.load(url, resolve, onProgress, reject); + }); + } - knownActions: [ action ], - actionByRoot: {} + parse() {} - }; + setCrossOrigin(crossOrigin) { + this.crossOrigin = crossOrigin; + return this; + } - action._byClipCacheIndex = 0; + setWithCredentials(value) { + this.withCredentials = value; + return this; + } - actionsByClip[ clipUuid ] = actionsForClip; + setPath(path) { + this.path = path; + return this; + } - } else { + setResourcePath(resourcePath) { + this.resourcePath = resourcePath; + return this; + } - var knownActions = actionsForClip.knownActions; + setRequestHeader(requestHeader) { + this.requestHeader = requestHeader; + return this; + } - action._byClipCacheIndex = knownActions.length; - knownActions.push( action ); + } - } + const loading = {}; - action._cacheIndex = actions.length; - actions.push( action ); + class FileLoader extends Loader { + constructor(manager) { + super(manager); + } - actionsForClip.actionByRoot[ rootUuid ] = action; + load(url, onLoad, onProgress, onError) { + if (url === undefined) url = ''; + if (this.path !== undefined) url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); - }, + if (cached !== undefined) { + scope.manager.itemStart(url); + setTimeout(function () { + if (onLoad) onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; + } // Check if request is duplicate - _removeInactiveAction: function ( action ) { - var actions = this._actions, - lastInactiveAction = actions[ actions.length - 1 ], - cacheIndex = action._cacheIndex; + if (loading[url] !== undefined) { + loading[url].push({ + onLoad: onLoad, + onProgress: onProgress, + onError: onError + }); + return; + } // Check for data: URI - lastInactiveAction._cacheIndex = cacheIndex; - actions[ cacheIndex ] = lastInactiveAction; - actions.pop(); - action._cacheIndex = null; + const dataUriRegex = /^data:(.*?)(;base64)?,(.*)$/; + const dataUriRegexResult = url.match(dataUriRegex); + let request; // Safari can not handle Data URIs through XMLHttpRequest so process manually + if (dataUriRegexResult) { + const mimeType = dataUriRegexResult[1]; + const isBase64 = !!dataUriRegexResult[2]; + let data = dataUriRegexResult[3]; + data = decodeURIComponent(data); + if (isBase64) data = atob(data); - var clipUuid = action._clip.uuid, - actionsByClip = this._actionsByClip, - actionsForClip = actionsByClip[ clipUuid ], - knownActionsForClip = actionsForClip.knownActions, + try { + let response; + const responseType = (this.responseType || '').toLowerCase(); - lastKnownAction = - knownActionsForClip[ knownActionsForClip.length - 1 ], + switch (responseType) { + case 'arraybuffer': + case 'blob': + const view = new Uint8Array(data.length); - byClipCacheIndex = action._byClipCacheIndex; + for (let i = 0; i < data.length; i++) { + view[i] = data.charCodeAt(i); + } - lastKnownAction._byClipCacheIndex = byClipCacheIndex; - knownActionsForClip[ byClipCacheIndex ] = lastKnownAction; - knownActionsForClip.pop(); + if (responseType === 'blob') { + response = new Blob([view.buffer], { + type: mimeType + }); + } else { + response = view.buffer; + } - action._byClipCacheIndex = null; + break; + case 'document': + const parser = new DOMParser(); + response = parser.parseFromString(data, mimeType); + break; - var actionByRoot = actionsForClip.actionByRoot, - rootUuid = ( action._localRoot || this._root ).uuid; + case 'json': + response = JSON.parse(data); + break; - delete actionByRoot[ rootUuid ]; + default: + // 'text' or other + response = data; + break; + } // Wait for next browser tick like standard XMLHttpRequest event dispatching does - if ( knownActionsForClip.length === 0 ) { - delete actionsByClip[ clipUuid ]; + setTimeout(function () { + if (onLoad) onLoad(response); + scope.manager.itemEnd(url); + }, 0); + } catch (error) { + // Wait for next browser tick like standard XMLHttpRequest event dispatching does + setTimeout(function () { + if (onError) onError(error); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }, 0); + } + } else { + // Initialise array for duplicate requests + loading[url] = []; + loading[url].push({ + onLoad: onLoad, + onProgress: onProgress, + onError: onError + }); + request = new XMLHttpRequest(); + request.open('GET', url, true); + request.addEventListener('load', function (event) { + const response = this.response; + const callbacks = loading[url]; + delete loading[url]; + + if (this.status === 200 || this.status === 0) { + // Some browsers return HTTP Status 0 when using non-http protocol + // e.g. 'file://' or 'data://'. Handle as success. + if (this.status === 0) console.warn('THREE.FileLoader: HTTP Status 0 received.'); // Add to cache only on HTTP success, so that we do not cache + // error response bodies as proper responses to requests. - } + Cache.add(url, response); - this._removeInactiveBindingsForAction( action ); + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onLoad) callback.onLoad(response); + } - }, + scope.manager.itemEnd(url); + } else { + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onError) callback.onError(event); + } - _removeInactiveBindingsForAction: function ( action ) { + scope.manager.itemError(url); + scope.manager.itemEnd(url); + } + }, false); + request.addEventListener('progress', function (event) { + const callbacks = loading[url]; - var bindings = action._propertyBindings; - for ( var i = 0, n = bindings.length; i !== n; ++ i ) { + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onProgress) callback.onProgress(event); + } + }, false); + request.addEventListener('error', function (event) { + const callbacks = loading[url]; + delete loading[url]; + + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onError) callback.onError(event); + } - var binding = bindings[ i ]; + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }, false); + request.addEventListener('abort', function (event) { + const callbacks = loading[url]; + delete loading[url]; - if ( -- binding.referenceCount === 0 ) { + for (let i = 0, il = callbacks.length; i < il; i++) { + const callback = callbacks[i]; + if (callback.onError) callback.onError(event); + } - this._removeInactiveBinding( binding ); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }, false); + if (this.responseType !== undefined) request.responseType = this.responseType; + if (this.withCredentials !== undefined) request.withCredentials = this.withCredentials; + if (request.overrideMimeType) request.overrideMimeType(this.mimeType !== undefined ? this.mimeType : 'text/plain'); + for (const header in this.requestHeader) { + request.setRequestHeader(header, this.requestHeader[header]); } + request.send(null); } - }, - - _lendAction: function ( action ) { + scope.manager.itemStart(url); + return request; + } - // [ active actions | inactive actions ] - // [ active actions >| inactive actions ] - // s a - // <-swap-> - // a s + setResponseType(value) { + this.responseType = value; + return this; + } - var actions = this._actions, - prevIndex = action._cacheIndex, + setMimeType(value) { + this.mimeType = value; + return this; + } - lastActiveIndex = this._nActiveActions ++, + } - firstInactiveAction = actions[ lastActiveIndex ]; + class AnimationLoader extends Loader { + constructor(manager) { + super(manager); + } - action._cacheIndex = lastActiveIndex; - actions[ lastActiveIndex ] = action; + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function (text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } - firstInactiveAction._cacheIndex = prevIndex; - actions[ prevIndex ] = firstInactiveAction; + scope.manager.itemError(url); + } + }, onProgress, onError); + } - }, + parse(json) { + const animations = []; - _takeBackAction: function ( action ) { + for (let i = 0; i < json.length; i++) { + const clip = AnimationClip.parse(json[i]); + animations.push(clip); + } - // [ active actions | inactive actions ] - // [ active actions |< inactive actions ] - // a s - // <-swap-> - // s a + return animations; + } - var actions = this._actions, - prevIndex = action._cacheIndex, + } - firstInactiveIndex = -- this._nActiveActions, + /** + * Abstract Base class to block based textures loader (dds, pvr, ...) + * + * Sub classes have to implement the parse() method which will be used in load(). + */ - lastActiveAction = actions[ firstInactiveIndex ]; + class CompressedTextureLoader extends Loader { + constructor(manager) { + super(manager); + } + + load(url, onLoad, onProgress, onError) { + const scope = this; + const images = []; + const texture = new CompressedTexture(); + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setResponseType('arraybuffer'); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(scope.withCredentials); + let loaded = 0; + + function loadTexture(i) { + loader.load(url[i], function (buffer) { + const texDatas = scope.parse(buffer, true); + images[i] = { + width: texDatas.width, + height: texDatas.height, + format: texDatas.format, + mipmaps: texDatas.mipmaps + }; + loaded += 1; - action._cacheIndex = firstInactiveIndex; - actions[ firstInactiveIndex ] = action; + if (loaded === 6) { + if (texDatas.mipmapCount === 1) texture.minFilter = LinearFilter; + texture.image = images; + texture.format = texDatas.format; + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + } + }, onProgress, onError); + } - lastActiveAction._cacheIndex = prevIndex; - actions[ prevIndex ] = lastActiveAction; + if (Array.isArray(url)) { + for (let i = 0, il = url.length; i < il; ++i) { + loadTexture(i); + } + } else { + // compressed cubemap texture stored in a single DDS file + loader.load(url, function (buffer) { + const texDatas = scope.parse(buffer, true); + + if (texDatas.isCubemap) { + const faces = texDatas.mipmaps.length / texDatas.mipmapCount; + + for (let f = 0; f < faces; f++) { + images[f] = { + mipmaps: [] + }; + + for (let i = 0; i < texDatas.mipmapCount; i++) { + images[f].mipmaps.push(texDatas.mipmaps[f * texDatas.mipmapCount + i]); + images[f].format = texDatas.format; + images[f].width = texDatas.width; + images[f].height = texDatas.height; + } + } - }, + texture.image = images; + } else { + texture.image.width = texDatas.width; + texture.image.height = texDatas.height; + texture.mipmaps = texDatas.mipmaps; + } - // Memory management for PropertyMixer objects + if (texDatas.mipmapCount === 1) { + texture.minFilter = LinearFilter; + } - _addInactiveBinding: function ( binding, rootUuid, trackName ) { + texture.format = texDatas.format; + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + }, onProgress, onError); + } - var bindingsByRoot = this._bindingsByRootAndName, - bindingByName = bindingsByRoot[ rootUuid ], + return texture; + } - bindings = this._bindings; + } - if ( bindingByName === undefined ) { + class ImageLoader extends Loader { + constructor(manager) { + super(manager); + } - bindingByName = {}; - bindingsByRoot[ rootUuid ] = bindingByName; + load(url, onLoad, onProgress, onError) { + if (this.path !== undefined) url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); + if (cached !== undefined) { + scope.manager.itemStart(url); + setTimeout(function () { + if (onLoad) onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; } - bindingByName[ trackName ] = binding; + const image = document.createElementNS('http://www.w3.org/1999/xhtml', 'img'); - binding._cacheIndex = bindings.length; - bindings.push( binding ); + function onImageLoad() { + image.removeEventListener('load', onImageLoad, false); + image.removeEventListener('error', onImageError, false); + Cache.add(url, this); + if (onLoad) onLoad(this); + scope.manager.itemEnd(url); + } - }, + function onImageError(event) { + image.removeEventListener('load', onImageLoad, false); + image.removeEventListener('error', onImageError, false); + if (onError) onError(event); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + } - _removeInactiveBinding: function ( binding ) { + image.addEventListener('load', onImageLoad, false); + image.addEventListener('error', onImageError, false); - var bindings = this._bindings, - propBinding = binding.binding, - rootUuid = propBinding.rootNode.uuid, - trackName = propBinding.path, - bindingsByRoot = this._bindingsByRootAndName, - bindingByName = bindingsByRoot[ rootUuid ], + if (url.substr(0, 5) !== 'data:') { + if (this.crossOrigin !== undefined) image.crossOrigin = this.crossOrigin; + } - lastInactiveBinding = bindings[ bindings.length - 1 ], - cacheIndex = binding._cacheIndex; + scope.manager.itemStart(url); + image.src = url; + return image; + } - lastInactiveBinding._cacheIndex = cacheIndex; - bindings[ cacheIndex ] = lastInactiveBinding; - bindings.pop(); + } - delete bindingByName[ trackName ]; + class CubeTextureLoader extends Loader { + constructor(manager) { + super(manager); + } - remove_empty_map: { + load(urls, onLoad, onProgress, onError) { + const texture = new CubeTexture(); + const loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + loader.setPath(this.path); + let loaded = 0; - for ( var _ in bindingByName ) break remove_empty_map; // eslint-disable-line no-unused-vars + function loadTexture(i) { + loader.load(urls[i], function (image) { + texture.images[i] = image; + loaded++; - delete bindingsByRoot[ rootUuid ]; + if (loaded === 6) { + texture.needsUpdate = true; + if (onLoad) onLoad(texture); + } + }, undefined, onError); + } + for (let i = 0; i < urls.length; ++i) { + loadTexture(i); } - }, + return texture; + } - _lendBinding: function ( binding ) { + } - var bindings = this._bindings, - prevIndex = binding._cacheIndex, + /** + * Abstract Base class to load generic binary textures formats (rgbe, hdr, ...) + * + * Sub classes have to implement the parse() method which will be used in load(). + */ - lastActiveIndex = this._nActiveBindings ++, + class DataTextureLoader extends Loader { + constructor(manager) { + super(manager); + } - firstInactiveBinding = bindings[ lastActiveIndex ]; + load(url, onLoad, onProgress, onError) { + const scope = this; + const texture = new DataTexture(); + const loader = new FileLoader(this.manager); + loader.setResponseType('arraybuffer'); + loader.setRequestHeader(this.requestHeader); + loader.setPath(this.path); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function (buffer) { + const texData = scope.parse(buffer); + if (!texData) return; - binding._cacheIndex = lastActiveIndex; - bindings[ lastActiveIndex ] = binding; + if (texData.image !== undefined) { + texture.image = texData.image; + } else if (texData.data !== undefined) { + texture.image.width = texData.width; + texture.image.height = texData.height; + texture.image.data = texData.data; + } - firstInactiveBinding._cacheIndex = prevIndex; - bindings[ prevIndex ] = firstInactiveBinding; + texture.wrapS = texData.wrapS !== undefined ? texData.wrapS : ClampToEdgeWrapping; + texture.wrapT = texData.wrapT !== undefined ? texData.wrapT : ClampToEdgeWrapping; + texture.magFilter = texData.magFilter !== undefined ? texData.magFilter : LinearFilter; + texture.minFilter = texData.minFilter !== undefined ? texData.minFilter : LinearFilter; + texture.anisotropy = texData.anisotropy !== undefined ? texData.anisotropy : 1; - }, + if (texData.encoding !== undefined) { + texture.encoding = texData.encoding; + } - _takeBackBinding: function ( binding ) { + if (texData.flipY !== undefined) { + texture.flipY = texData.flipY; + } - var bindings = this._bindings, - prevIndex = binding._cacheIndex, + if (texData.format !== undefined) { + texture.format = texData.format; + } - firstInactiveIndex = -- this._nActiveBindings, + if (texData.type !== undefined) { + texture.type = texData.type; + } - lastActiveBinding = bindings[ firstInactiveIndex ]; + if (texData.mipmaps !== undefined) { + texture.mipmaps = texData.mipmaps; + texture.minFilter = LinearMipmapLinearFilter; // presumably... + } - binding._cacheIndex = firstInactiveIndex; - bindings[ firstInactiveIndex ] = binding; + if (texData.mipmapCount === 1) { + texture.minFilter = LinearFilter; + } - lastActiveBinding._cacheIndex = prevIndex; - bindings[ prevIndex ] = lastActiveBinding; + if (texData.generateMipmaps !== undefined) { + texture.generateMipmaps = texData.generateMipmaps; + } - }, + texture.needsUpdate = true; + if (onLoad) onLoad(texture, texData); + }, onProgress, onError); + return texture; + } + } - // Memory management of Interpolants for weight and time scale + class TextureLoader extends Loader { + constructor(manager) { + super(manager); + } - _lendControlInterpolant: function () { + load(url, onLoad, onProgress, onError) { + const texture = new Texture(); + const loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); + loader.setPath(this.path); + loader.load(url, function (image) { + texture.image = image; // JPEGs can't have an alpha channel, so memory can be saved by storing them as RGB. - var interpolants = this._controlInterpolants, - lastActiveIndex = this._nActiveControlInterpolants ++, - interpolant = interpolants[ lastActiveIndex ]; + const isJPEG = url.search(/\.jpe?g($|\?)/i) > 0 || url.search(/^data\:image\/jpeg/) === 0; + texture.format = isJPEG ? RGBFormat : RGBAFormat; + texture.needsUpdate = true; - if ( interpolant === undefined ) { + if (onLoad !== undefined) { + onLoad(texture); + } + }, onProgress, onError); + return texture; + } - interpolant = new LinearInterpolant( - new Float32Array( 2 ), new Float32Array( 2 ), - 1, this._controlInterpolantsResultBuffer ); + } - interpolant.__cacheIndex = lastActiveIndex; - interpolants[ lastActiveIndex ] = interpolant; + /************************************************************** + * Curved Path - a curve path is simply a array of connected + * curves, but retains the api of a curve + **************************************************************/ + + class CurvePath extends Curve { + constructor() { + super(); + this.type = 'CurvePath'; + this.curves = []; + this.autoClose = false; // Automatically closes the path + } + + add(curve) { + this.curves.push(curve); + } + + closePath() { + // Add a line curve if start and end of lines are not connected + const startPoint = this.curves[0].getPoint(0); + const endPoint = this.curves[this.curves.length - 1].getPoint(1); + if (!startPoint.equals(endPoint)) { + this.curves.push(new LineCurve(endPoint, startPoint)); } + } // To get accurate point with reference to + // entire path distance at time t, + // following has to be done: + // 1. Length of each sub path have to be known + // 2. Locate and identify type of curve + // 3. Get t for the curve + // 4. Return curve.getPointAt(t') - return interpolant; - }, + getPoint(t) { + const d = t * this.getLength(); + const curveLengths = this.getCurveLengths(); + let i = 0; // To think about boundaries points. - _takeBackControlInterpolant: function ( interpolant ) { + while (i < curveLengths.length) { + if (curveLengths[i] >= d) { + const diff = curveLengths[i] - d; + const curve = this.curves[i]; + const segmentLength = curve.getLength(); + const u = segmentLength === 0 ? 0 : 1 - diff / segmentLength; + return curve.getPointAt(u); + } - var interpolants = this._controlInterpolants, - prevIndex = interpolant.__cacheIndex, + i++; + } - firstInactiveIndex = -- this._nActiveControlInterpolants, + return null; // loop where sum != 0, sum > d , sum+1 1 && !points[points.length - 1].equals(points[0])) { + points.push(points[0]); + } - // allocate all resources required to run it - var newAction = new AnimationAction( this, clipObject, optionalRoot ); + return points; + } - this._bindAction( newAction, prototypeAction ); + copy(source) { + super.copy(source); + this.curves = []; - // and make the action known to the memory manager - this._addInactiveAction( newAction, clipUuid, rootUuid ); + for (let i = 0, l = source.curves.length; i < l; i++) { + const curve = source.curves[i]; + this.curves.push(curve.clone()); + } - return newAction; + this.autoClose = source.autoClose; + return this; + } - }, + toJSON() { + const data = super.toJSON(); + data.autoClose = this.autoClose; + data.curves = []; - // get an existing action - existingAction: function ( clip, optionalRoot ) { + for (let i = 0, l = this.curves.length; i < l; i++) { + const curve = this.curves[i]; + data.curves.push(curve.toJSON()); + } - var root = optionalRoot || this._root, - rootUuid = root.uuid, + return data; + } - clipObject = typeof clip === 'string' ? - AnimationClip.findByName( root, clip ) : clip, + fromJSON(json) { + super.fromJSON(json); + this.autoClose = json.autoClose; + this.curves = []; - clipUuid = clipObject ? clipObject.uuid : clip, + for (let i = 0, l = json.curves.length; i < l; i++) { + const curve = json.curves[i]; + this.curves.push(new Curves[curve.type]().fromJSON(curve)); + } - actionsForClip = this._actionsByClip[ clipUuid ]; + return this; + } - if ( actionsForClip !== undefined ) { + } - return actionsForClip.actionByRoot[ rootUuid ] || null; + class Path extends CurvePath { + constructor(points) { + super(); + this.type = 'Path'; + this.currentPoint = new Vector2(); + if (points) { + this.setFromPoints(points); } + } - return null; + setFromPoints(points) { + this.moveTo(points[0].x, points[0].y); - }, + for (let i = 1, l = points.length; i < l; i++) { + this.lineTo(points[i].x, points[i].y); + } - // deactivates all previously scheduled actions - stopAllAction: function () { + return this; + } - var actions = this._actions, - nActions = this._nActiveActions, - bindings = this._bindings, - nBindings = this._nActiveBindings; + moveTo(x, y) { + this.currentPoint.set(x, y); // TODO consider referencing vectors instead of copying? - this._nActiveActions = 0; - this._nActiveBindings = 0; + return this; + } - for ( var i = 0; i !== nActions; ++ i ) { + lineTo(x, y) { + const curve = new LineCurve(this.currentPoint.clone(), new Vector2(x, y)); + this.curves.push(curve); + this.currentPoint.set(x, y); + return this; + } - actions[ i ].reset(); + quadraticCurveTo(aCPx, aCPy, aX, aY) { + const curve = new QuadraticBezierCurve(this.currentPoint.clone(), new Vector2(aCPx, aCPy), new Vector2(aX, aY)); + this.curves.push(curve); + this.currentPoint.set(aX, aY); + return this; + } - } + bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) { + const curve = new CubicBezierCurve(this.currentPoint.clone(), new Vector2(aCP1x, aCP1y), new Vector2(aCP2x, aCP2y), new Vector2(aX, aY)); + this.curves.push(curve); + this.currentPoint.set(aX, aY); + return this; + } - for ( var i = 0; i !== nBindings; ++ i ) { + splineThru(pts + /*Array of Vector*/ + ) { + const npts = [this.currentPoint.clone()].concat(pts); + const curve = new SplineCurve(npts); + this.curves.push(curve); + this.currentPoint.copy(pts[pts.length - 1]); + return this; + } - bindings[ i ].useCount = 0; + arc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + this.absarc(aX + x0, aY + y0, aRadius, aStartAngle, aEndAngle, aClockwise); + return this; + } - } + absarc(aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise) { + this.absellipse(aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise); + return this; + } + ellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) { + const x0 = this.currentPoint.x; + const y0 = this.currentPoint.y; + this.absellipse(aX + x0, aY + y0, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation); return this; + } - }, + absellipse(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation) { + const curve = new EllipseCurve(aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation); - // advance the time and update apply the animation - update: function ( deltaTime ) { + if (this.curves.length > 0) { + // if a previous curve is present, attempt to join + const firstPoint = curve.getPoint(0); - deltaTime *= this.timeScale; + if (!firstPoint.equals(this.currentPoint)) { + this.lineTo(firstPoint.x, firstPoint.y); + } + } - var actions = this._actions, - nActions = this._nActiveActions, + this.curves.push(curve); + const lastPoint = curve.getPoint(1); + this.currentPoint.copy(lastPoint); + return this; + } - time = this.time += deltaTime, - timeDirection = Math.sign( deltaTime ), + copy(source) { + super.copy(source); + this.currentPoint.copy(source.currentPoint); + return this; + } - accuIndex = this._accuIndex ^= 1; + toJSON() { + const data = super.toJSON(); + data.currentPoint = this.currentPoint.toArray(); + return data; + } - // run active actions + fromJSON(json) { + super.fromJSON(json); + this.currentPoint.fromArray(json.currentPoint); + return this; + } - for ( var i = 0; i !== nActions; ++ i ) { + } - var action = actions[ i ]; + class Shape extends Path { + constructor(points) { + super(points); + this.uuid = generateUUID(); + this.type = 'Shape'; + this.holes = []; + } - action._update( time, deltaTime, timeDirection, accuIndex ); + getPointsHoles(divisions) { + const holesPts = []; + for (let i = 0, l = this.holes.length; i < l; i++) { + holesPts[i] = this.holes[i].getPoints(divisions); } - // update scene graph + return holesPts; + } // get points of shape and holes (keypoints based on segments parameter) - var bindings = this._bindings, - nBindings = this._nActiveBindings; - for ( var i = 0; i !== nBindings; ++ i ) { + extractPoints(divisions) { + return { + shape: this.getPoints(divisions), + holes: this.getPointsHoles(divisions) + }; + } - bindings[ i ].apply( accuIndex ); + copy(source) { + super.copy(source); + this.holes = []; + for (let i = 0, l = source.holes.length; i < l; i++) { + const hole = source.holes[i]; + this.holes.push(hole.clone()); } return this; + } - }, + toJSON() { + const data = super.toJSON(); + data.uuid = this.uuid; + data.holes = []; - // return this mixer's root target object - getRoot: function () { + for (let i = 0, l = this.holes.length; i < l; i++) { + const hole = this.holes[i]; + data.holes.push(hole.toJSON()); + } - return this._root; + return data; + } - }, + fromJSON(json) { + super.fromJSON(json); + this.uuid = json.uuid; + this.holes = []; - // free all resources specific to a particular clip - uncacheClip: function ( clip ) { + for (let i = 0, l = json.holes.length; i < l; i++) { + const hole = json.holes[i]; + this.holes.push(new Path().fromJSON(hole)); + } - var actions = this._actions, - clipUuid = clip.uuid, - actionsByClip = this._actionsByClip, - actionsForClip = actionsByClip[ clipUuid ]; + return this; + } - if ( actionsForClip !== undefined ) { + } - // note: just calling _removeInactiveAction would mess up the - // iteration state and also require updating the state we can - // just throw away + class Light extends Object3D { + constructor(color, intensity = 1) { + super(); + this.type = 'Light'; + this.color = new Color(color); + this.intensity = intensity; + } - var actionsToRemove = actionsForClip.knownActions; + dispose() {// Empty here in base class; some subclasses override. + } - for ( var i = 0, n = actionsToRemove.length; i !== n; ++ i ) { + copy(source) { + super.copy(source); + this.color.copy(source.color); + this.intensity = source.intensity; + return this; + } - var action = actionsToRemove[ i ]; + toJSON(meta) { + const data = super.toJSON(meta); + data.object.color = this.color.getHex(); + data.object.intensity = this.intensity; + if (this.groundColor !== undefined) data.object.groundColor = this.groundColor.getHex(); + if (this.distance !== undefined) data.object.distance = this.distance; + if (this.angle !== undefined) data.object.angle = this.angle; + if (this.decay !== undefined) data.object.decay = this.decay; + if (this.penumbra !== undefined) data.object.penumbra = this.penumbra; + if (this.shadow !== undefined) data.object.shadow = this.shadow.toJSON(); + return data; + } - this._deactivateAction( action ); + } - var cacheIndex = action._cacheIndex, - lastInactiveAction = actions[ actions.length - 1 ]; + Light.prototype.isLight = true; - action._cacheIndex = null; - action._byClipCacheIndex = null; + class HemisphereLight extends Light { + constructor(skyColor, groundColor, intensity) { + super(skyColor, intensity); + this.type = 'HemisphereLight'; + this.position.copy(Object3D.DefaultUp); + this.updateMatrix(); + this.groundColor = new Color(groundColor); + } - lastInactiveAction._cacheIndex = cacheIndex; - actions[ cacheIndex ] = lastInactiveAction; - actions.pop(); + copy(source) { + Light.prototype.copy.call(this, source); + this.groundColor.copy(source.groundColor); + return this; + } - this._removeInactiveBindingsForAction( action ); + } - } + HemisphereLight.prototype.isHemisphereLight = true; - delete actionsByClip[ clipUuid ]; + const _projScreenMatrix$1 = /*@__PURE__*/new Matrix4(); - } + const _lightPositionWorld$1 = /*@__PURE__*/new Vector3(); - }, + const _lookTarget$1 = /*@__PURE__*/new Vector3(); - // free all resources specific to a particular root target object - uncacheRoot: function ( root ) { + class LightShadow { + constructor(camera) { + this.camera = camera; + this.bias = 0; + this.normalBias = 0; + this.radius = 1; + this.blurSamples = 8; + this.mapSize = new Vector2(512, 512); + this.map = null; + this.mapPass = null; + this.matrix = new Matrix4(); + this.autoUpdate = true; + this.needsUpdate = false; + this._frustum = new Frustum(); + this._frameExtents = new Vector2(1, 1); + this._viewportCount = 1; + this._viewports = [new Vector4(0, 0, 1, 1)]; + } - var rootUuid = root.uuid, - actionsByClip = this._actionsByClip; + getViewportCount() { + return this._viewportCount; + } - for ( var clipUuid in actionsByClip ) { + getFrustum() { + return this._frustum; + } - var actionByRoot = actionsByClip[ clipUuid ].actionByRoot, - action = actionByRoot[ rootUuid ]; + updateMatrices(light) { + const shadowCamera = this.camera; + const shadowMatrix = this.matrix; - if ( action !== undefined ) { + _lightPositionWorld$1.setFromMatrixPosition(light.matrixWorld); - this._deactivateAction( action ); - this._removeInactiveAction( action ); + shadowCamera.position.copy(_lightPositionWorld$1); - } + _lookTarget$1.setFromMatrixPosition(light.target.matrixWorld); - } + shadowCamera.lookAt(_lookTarget$1); + shadowCamera.updateMatrixWorld(); - var bindingsByRoot = this._bindingsByRootAndName, - bindingByName = bindingsByRoot[ rootUuid ]; + _projScreenMatrix$1.multiplyMatrices(shadowCamera.projectionMatrix, shadowCamera.matrixWorldInverse); - if ( bindingByName !== undefined ) { + this._frustum.setFromProjectionMatrix(_projScreenMatrix$1); - for ( var trackName in bindingByName ) { + shadowMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0); + shadowMatrix.multiply(shadowCamera.projectionMatrix); + shadowMatrix.multiply(shadowCamera.matrixWorldInverse); + } - var binding = bindingByName[ trackName ]; - binding.restoreOriginalState(); - this._removeInactiveBinding( binding ); + getViewport(viewportIndex) { + return this._viewports[viewportIndex]; + } - } + getFrameExtents() { + return this._frameExtents; + } + dispose() { + if (this.map) { + this.map.dispose(); } - }, - - // remove a targeted clip from the cache - uncacheAction: function ( clip, optionalRoot ) { - - var action = this.existingAction( clip, optionalRoot ); - - if ( action !== null ) { - - this._deactivateAction( action ); - this._removeInactiveAction( action ); - + if (this.mapPass) { + this.mapPass.dispose(); } + } + copy(source) { + this.camera = source.camera.clone(); + this.bias = source.bias; + this.radius = source.radius; + this.mapSize.copy(source.mapSize); + return this; } - } ); + clone() { + return new this.constructor().copy(this); + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + toJSON() { + const object = {}; + if (this.bias !== 0) object.bias = this.bias; + if (this.normalBias !== 0) object.normalBias = this.normalBias; + if (this.radius !== 1) object.radius = this.radius; + if (this.mapSize.x !== 512 || this.mapSize.y !== 512) object.mapSize = this.mapSize.toArray(); + object.camera = this.camera.toJSON(false).object; + delete object.camera.matrix; + return object; + } - function Uniform( value ) { + } + + class SpotLightShadow extends LightShadow { + constructor() { + super(new PerspectiveCamera(50, 1, 0.5, 500)); + this.focus = 1; + } - if ( typeof value === 'string' ) { + updateMatrices(light) { + const camera = this.camera; + const fov = RAD2DEG * 2 * light.angle * this.focus; + const aspect = this.mapSize.width / this.mapSize.height; + const far = light.distance || camera.far; - console.warn( 'THREE.Uniform: Type parameter is no longer needed.' ); - value = arguments[ 1 ]; + if (fov !== camera.fov || aspect !== camera.aspect || far !== camera.far) { + camera.fov = fov; + camera.aspect = aspect; + camera.far = far; + camera.updateProjectionMatrix(); + } + super.updateMatrices(light); } - this.value = value; + copy(source) { + super.copy(source); + this.focus = source.focus; + return this; + } } - Uniform.prototype.clone = function () { + SpotLightShadow.prototype.isSpotLightShadow = true; - return new Uniform( this.value.clone === undefined ? this.value : this.value.clone() ); + class SpotLight extends Light { + constructor(color, intensity, distance = 0, angle = Math.PI / 3, penumbra = 0, decay = 1) { + super(color, intensity); + this.type = 'SpotLight'; + this.position.copy(Object3D.DefaultUp); + this.updateMatrix(); + this.target = new Object3D(); + this.distance = distance; + this.angle = angle; + this.penumbra = penumbra; + this.decay = decay; // for physically correct lights, should be 2. - }; + this.shadow = new SpotLightShadow(); + } - /** - * @author benaadams / https://twitter.com/ben_a_adams - */ + get power() { + // compute the light's luminous power (in lumens) from its intensity (in candela) + // by convention for a spotlight, luminous power (lm) = π * luminous intensity (cd) + return this.intensity * Math.PI; + } - function InstancedBufferGeometry() { + set power(power) { + // set the light's intensity (in candela) from the desired luminous power (in lumens) + this.intensity = power / Math.PI; + } - BufferGeometry.call( this ); + dispose() { + this.shadow.dispose(); + } - this.type = 'InstancedBufferGeometry'; - this.maxInstancedCount = undefined; + copy(source) { + super.copy(source); + this.distance = source.distance; + this.angle = source.angle; + this.penumbra = source.penumbra; + this.decay = source.decay; + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + return this; + } } - InstancedBufferGeometry.prototype = Object.assign( Object.create( BufferGeometry.prototype ), { - - constructor: InstancedBufferGeometry, - - isInstancedBufferGeometry: true, + SpotLight.prototype.isSpotLight = true; - copy: function ( source ) { + const _projScreenMatrix = /*@__PURE__*/new Matrix4(); - BufferGeometry.prototype.copy.call( this, source ); + const _lightPositionWorld = /*@__PURE__*/new Vector3(); - this.maxInstancedCount = source.maxInstancedCount; + const _lookTarget = /*@__PURE__*/new Vector3(); - return this; - - }, - - clone: function () { + class PointLightShadow extends LightShadow { + constructor() { + super(new PerspectiveCamera(90, 1, 0.5, 500)); + this._frameExtents = new Vector2(4, 2); + this._viewportCount = 6; + this._viewports = [// These viewports map a cube-map onto a 2D texture with the + // following orientation: + // + // xzXZ + // y Y + // + // X - Positive x direction + // x - Negative x direction + // Y - Positive y direction + // y - Negative y direction + // Z - Positive z direction + // z - Negative z direction + // positive X + new Vector4(2, 1, 1, 1), // negative X + new Vector4(0, 1, 1, 1), // positive Z + new Vector4(3, 1, 1, 1), // negative Z + new Vector4(1, 1, 1, 1), // positive Y + new Vector4(3, 0, 1, 1), // negative Y + new Vector4(1, 0, 1, 1)]; + this._cubeDirections = [new Vector3(1, 0, 0), new Vector3(-1, 0, 0), new Vector3(0, 0, 1), new Vector3(0, 0, -1), new Vector3(0, 1, 0), new Vector3(0, -1, 0)]; + this._cubeUps = [new Vector3(0, 1, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 0), new Vector3(0, 1, 0), new Vector3(0, 0, 1), new Vector3(0, 0, -1)]; + } + + updateMatrices(light, viewportIndex = 0) { + const camera = this.camera; + const shadowMatrix = this.matrix; + const far = light.distance || camera.far; + + if (far !== camera.far) { + camera.far = far; + camera.updateProjectionMatrix(); + } - return new this.constructor().copy( this ); + _lightPositionWorld.setFromMatrixPosition(light.matrixWorld); - } + camera.position.copy(_lightPositionWorld); - } ); + _lookTarget.copy(camera.position); - /** - * @author benaadams / https://twitter.com/ben_a_adams - */ + _lookTarget.add(this._cubeDirections[viewportIndex]); - function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) { + camera.up.copy(this._cubeUps[viewportIndex]); + camera.lookAt(_lookTarget); + camera.updateMatrixWorld(); + shadowMatrix.makeTranslation(-_lightPositionWorld.x, -_lightPositionWorld.y, -_lightPositionWorld.z); - InterleavedBuffer.call( this, array, stride ); + _projScreenMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse); - this.meshPerAttribute = meshPerAttribute || 1; + this._frustum.setFromProjectionMatrix(_projScreenMatrix); + } } - InstancedInterleavedBuffer.prototype = Object.assign( Object.create( InterleavedBuffer.prototype ), { + PointLightShadow.prototype.isPointLightShadow = true; - constructor: InstancedInterleavedBuffer, + class PointLight extends Light { + constructor(color, intensity, distance = 0, decay = 1) { + super(color, intensity); + this.type = 'PointLight'; + this.distance = distance; + this.decay = decay; // for physically correct lights, should be 2. - isInstancedInterleavedBuffer: true, + this.shadow = new PointLightShadow(); + } - copy: function ( source ) { + get power() { + // compute the light's luminous power (in lumens) from its intensity (in candela) + // for an isotropic light source, luminous power (lm) = 4 π luminous intensity (cd) + return this.intensity * 4 * Math.PI; + } - InterleavedBuffer.prototype.copy.call( this, source ); + set power(power) { + // set the light's intensity (in candela) from the desired luminous power (in lumens) + this.intensity = power / (4 * Math.PI); + } - this.meshPerAttribute = source.meshPerAttribute; + dispose() { + this.shadow.dispose(); + } + copy(source) { + super.copy(source); + this.distance = source.distance; + this.decay = source.decay; + this.shadow = source.shadow.clone(); return this; - } - } ); - - /** - * @author benaadams / https://twitter.com/ben_a_adams - */ - - function InstancedBufferAttribute( array, itemSize, normalized, meshPerAttribute ) { + } - if ( typeof ( normalized ) === 'number' ) { + PointLight.prototype.isPointLight = true; - meshPerAttribute = normalized; + class DirectionalLightShadow extends LightShadow { + constructor() { + super(new OrthographicCamera(-5, 5, 5, -5, 0.5, 500)); + } - normalized = false; + } - console.error( 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.' ); + DirectionalLightShadow.prototype.isDirectionalLightShadow = true; + class DirectionalLight extends Light { + constructor(color, intensity) { + super(color, intensity); + this.type = 'DirectionalLight'; + this.position.copy(Object3D.DefaultUp); + this.updateMatrix(); + this.target = new Object3D(); + this.shadow = new DirectionalLightShadow(); } - BufferAttribute.call( this, array, itemSize, normalized ); + dispose() { + this.shadow.dispose(); + } - this.meshPerAttribute = meshPerAttribute || 1; + copy(source) { + super.copy(source); + this.target = source.target.clone(); + this.shadow = source.shadow.clone(); + return this; + } } - InstancedBufferAttribute.prototype = Object.assign( Object.create( BufferAttribute.prototype ), { + DirectionalLight.prototype.isDirectionalLight = true; + + class AmbientLight extends Light { + constructor(color, intensity) { + super(color, intensity); + this.type = 'AmbientLight'; + } - constructor: InstancedBufferAttribute, + } - isInstancedBufferAttribute: true, + AmbientLight.prototype.isAmbientLight = true; - copy: function ( source ) { + class RectAreaLight extends Light { + constructor(color, intensity, width = 10, height = 10) { + super(color, intensity); + this.type = 'RectAreaLight'; + this.width = width; + this.height = height; + } - BufferAttribute.prototype.copy.call( this, source ); + get power() { + // compute the light's luminous power (in lumens) from its intensity (in nits) + return this.intensity * this.width * this.height * Math.PI; + } - this.meshPerAttribute = source.meshPerAttribute; + set power(power) { + // set the light's intensity (in nits) from the desired luminous power (in lumens) + this.intensity = power / (this.width * this.height * Math.PI); + } + copy(source) { + super.copy(source); + this.width = source.width; + this.height = source.height; return this; + } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.width = this.width; + data.object.height = this.height; + return data; } - } ); + } + + RectAreaLight.prototype.isRectAreaLight = true; /** - * @author mrdoob / http://mrdoob.com/ - * @author bhouston / http://clara.io/ - * @author stephomi / http://stephaneginier.com/ + * Primary reference: + * https://graphics.stanford.edu/papers/envmap/envmap.pdf + * + * Secondary reference: + * https://www.ppsloan.org/publications/StupidSH36.pdf */ + // 3-band SH defined by 9 coefficients - function Raycaster( origin, direction, near, far ) { + class SphericalHarmonics3 { + constructor() { + this.coefficients = []; - this.ray = new Ray( origin, direction ); - // direction is assumed to be normalized (for accurate distance calculations) + for (let i = 0; i < 9; i++) { + this.coefficients.push(new Vector3()); + } + } - this.near = near || 0; - this.far = far || Infinity; + set(coefficients) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].copy(coefficients[i]); + } - this.params = { - Mesh: {}, - Line: {}, - LOD: {}, - Points: { threshold: 1 }, - Sprite: {} - }; + return this; + } - Object.defineProperties( this.params, { - PointCloud: { - get: function () { + zero() { + for (let i = 0; i < 9; i++) { + this.coefficients[i].set(0, 0, 0); + } - console.warn( 'THREE.Raycaster: params.PointCloud has been renamed to params.Points.' ); - return this.Points; + return this; + } // get the radiance in the direction of the normal + // target is a Vector3 - } - } - } ); - } + getAt(normal, target) { + // normal is assumed to be unit length + const x = normal.x, + y = normal.y, + z = normal.z; + const coeff = this.coefficients; // band 0 + + target.copy(coeff[0]).multiplyScalar(0.282095); // band 1 + + target.addScaledVector(coeff[1], 0.488603 * y); + target.addScaledVector(coeff[2], 0.488603 * z); + target.addScaledVector(coeff[3], 0.488603 * x); // band 2 - function ascSort( a, b ) { + target.addScaledVector(coeff[4], 1.092548 * (x * y)); + target.addScaledVector(coeff[5], 1.092548 * (y * z)); + target.addScaledVector(coeff[6], 0.315392 * (3.0 * z * z - 1.0)); + target.addScaledVector(coeff[7], 1.092548 * (x * z)); + target.addScaledVector(coeff[8], 0.546274 * (x * x - y * y)); + return target; + } // get the irradiance (radiance convolved with cosine lobe) in the direction of the normal + // target is a Vector3 + // https://graphics.stanford.edu/papers/envmap/envmap.pdf - return a.distance - b.distance; - } + getIrradianceAt(normal, target) { + // normal is assumed to be unit length + const x = normal.x, + y = normal.y, + z = normal.z; + const coeff = this.coefficients; // band 0 - function intersectObject( object, raycaster, intersects, recursive ) { + target.copy(coeff[0]).multiplyScalar(0.886227); // π * 0.282095 + // band 1 - if ( object.visible === false ) return; + target.addScaledVector(coeff[1], 2.0 * 0.511664 * y); // ( 2 * π / 3 ) * 0.488603 - object.raycast( raycaster, intersects ); + target.addScaledVector(coeff[2], 2.0 * 0.511664 * z); + target.addScaledVector(coeff[3], 2.0 * 0.511664 * x); // band 2 - if ( recursive === true ) { + target.addScaledVector(coeff[4], 2.0 * 0.429043 * x * y); // ( π / 4 ) * 1.092548 - var children = object.children; + target.addScaledVector(coeff[5], 2.0 * 0.429043 * y * z); + target.addScaledVector(coeff[6], 0.743125 * z * z - 0.247708); // ( π / 4 ) * 0.315392 * 3 - for ( var i = 0, l = children.length; i < l; i ++ ) { + target.addScaledVector(coeff[7], 2.0 * 0.429043 * x * z); + target.addScaledVector(coeff[8], 0.429043 * (x * x - y * y)); // ( π / 4 ) * 0.546274 - intersectObject( children[ i ], raycaster, intersects, true ); + return target; + } + add(sh) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].add(sh.coefficients[i]); } + return this; } - } + addScaledSH(sh, s) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].addScaledVector(sh.coefficients[i], s); + } - Object.assign( Raycaster.prototype, { + return this; + } - linePrecision: 1, + scale(s) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].multiplyScalar(s); + } - set: function ( origin, direction ) { + return this; + } - // direction is assumed to be normalized (for accurate distance calculations) + lerp(sh, alpha) { + for (let i = 0; i < 9; i++) { + this.coefficients[i].lerp(sh.coefficients[i], alpha); + } - this.ray.set( origin, direction ); + return this; + } - }, + equals(sh) { + for (let i = 0; i < 9; i++) { + if (!this.coefficients[i].equals(sh.coefficients[i])) { + return false; + } + } - setFromCamera: function ( coords, camera ) { + return true; + } - if ( ( camera && camera.isPerspectiveCamera ) ) { + copy(sh) { + return this.set(sh.coefficients); + } - this.ray.origin.setFromMatrixPosition( camera.matrixWorld ); - this.ray.direction.set( coords.x, coords.y, 0.5 ).unproject( camera ).sub( this.ray.origin ).normalize(); + clone() { + return new this.constructor().copy(this); + } - } else if ( ( camera && camera.isOrthographicCamera ) ) { + fromArray(array, offset = 0) { + const coefficients = this.coefficients; - this.ray.origin.set( coords.x, coords.y, ( camera.near + camera.far ) / ( camera.near - camera.far ) ).unproject( camera ); // set origin in plane of camera - this.ray.direction.set( 0, 0, - 1 ).transformDirection( camera.matrixWorld ); + for (let i = 0; i < 9; i++) { + coefficients[i].fromArray(array, offset + i * 3); + } - } else { + return this; + } - console.error( 'THREE.Raycaster: Unsupported camera type.' ); + toArray(array = [], offset = 0) { + const coefficients = this.coefficients; + for (let i = 0; i < 9; i++) { + coefficients[i].toArray(array, offset + i * 3); } - }, - - intersectObject: function ( object, recursive, optionalTarget ) { - - var intersects = optionalTarget || []; + return array; + } // evaluate the basis functions + // shBasis is an Array[ 9 ] - intersectObject( object, this, intersects, recursive ); - intersects.sort( ascSort ); + static getBasisAt(normal, shBasis) { + // normal is assumed to be unit length + const x = normal.x, + y = normal.y, + z = normal.z; // band 0 - return intersects; + shBasis[0] = 0.282095; // band 1 - }, + shBasis[1] = 0.488603 * y; + shBasis[2] = 0.488603 * z; + shBasis[3] = 0.488603 * x; // band 2 - intersectObjects: function ( objects, recursive, optionalTarget ) { + shBasis[4] = 1.092548 * x * y; + shBasis[5] = 1.092548 * y * z; + shBasis[6] = 0.315392 * (3 * z * z - 1); + shBasis[7] = 1.092548 * x * z; + shBasis[8] = 0.546274 * (x * x - y * y); + } - var intersects = optionalTarget || []; + } - if ( Array.isArray( objects ) === false ) { + SphericalHarmonics3.prototype.isSphericalHarmonics3 = true; - console.warn( 'THREE.Raycaster.intersectObjects: objects is not an Array.' ); - return intersects; + class LightProbe extends Light { + constructor(sh = new SphericalHarmonics3(), intensity = 1) { + super(undefined, intensity); + this.sh = sh; + } - } + copy(source) { + super.copy(source); + this.sh.copy(source.sh); + return this; + } - for ( var i = 0, l = objects.length; i < l; i ++ ) { + fromJSON(json) { + this.intensity = json.intensity; // TODO: Move this bit to Light.fromJSON(); - intersectObject( objects[ i ], this, intersects, recursive ); + this.sh.fromArray(json.sh); + return this; + } - } + toJSON(meta) { + const data = super.toJSON(meta); + data.object.sh = this.sh.toArray(); + return data; + } - intersects.sort( ascSort ); + } - return intersects; + LightProbe.prototype.isLightProbe = true; + class MaterialLoader extends Loader { + constructor(manager) { + super(manager); + this.textures = {}; } - } ); + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(scope.manager); + loader.setPath(scope.path); + loader.setRequestHeader(scope.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function (text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } - /** - * @author bhouston / http://clara.io - * @author WestLangley / http://github.com/WestLangley - * - * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system - * - * The polar angle (phi) is measured from the positive y-axis. The positive y-axis is up. - * The azimuthal angle (theta) is measured from the positive z-axiz. - */ + scope.manager.itemError(url); + } + }, onProgress, onError); + } + + parse(json) { + const textures = this.textures; + + function getTexture(name) { + if (textures[name] === undefined) { + console.warn('THREE.MaterialLoader: Undefined texture', name); + } + + return textures[name]; + } + + const material = new Materials[json.type](); + if (json.uuid !== undefined) material.uuid = json.uuid; + if (json.name !== undefined) material.name = json.name; + if (json.color !== undefined && material.color !== undefined) material.color.setHex(json.color); + if (json.roughness !== undefined) material.roughness = json.roughness; + if (json.metalness !== undefined) material.metalness = json.metalness; + if (json.sheenTint !== undefined) material.sheenTint = new Color().setHex(json.sheenTint); + if (json.emissive !== undefined && material.emissive !== undefined) material.emissive.setHex(json.emissive); + if (json.specular !== undefined && material.specular !== undefined) material.specular.setHex(json.specular); + if (json.specularIntensity !== undefined) material.specularIntensity = json.specularIntensity; + if (json.specularTint !== undefined && material.specularTint !== undefined) material.specularTint.setHex(json.specularTint); + if (json.shininess !== undefined) material.shininess = json.shininess; + if (json.clearcoat !== undefined) material.clearcoat = json.clearcoat; + if (json.clearcoatRoughness !== undefined) material.clearcoatRoughness = json.clearcoatRoughness; + if (json.transmission !== undefined) material.transmission = json.transmission; + if (json.thickness !== undefined) material.thickness = json.thickness; + if (json.attenuationDistance !== undefined) material.attenuationDistance = json.attenuationDistance; + if (json.attenuationTint !== undefined && material.attenuationTint !== undefined) material.attenuationTint.setHex(json.attenuationTint); + if (json.fog !== undefined) material.fog = json.fog; + if (json.flatShading !== undefined) material.flatShading = json.flatShading; + if (json.blending !== undefined) material.blending = json.blending; + if (json.combine !== undefined) material.combine = json.combine; + if (json.side !== undefined) material.side = json.side; + if (json.shadowSide !== undefined) material.shadowSide = json.shadowSide; + if (json.opacity !== undefined) material.opacity = json.opacity; + if (json.format !== undefined) material.format = json.format; + if (json.transparent !== undefined) material.transparent = json.transparent; + if (json.alphaTest !== undefined) material.alphaTest = json.alphaTest; + if (json.depthTest !== undefined) material.depthTest = json.depthTest; + if (json.depthWrite !== undefined) material.depthWrite = json.depthWrite; + if (json.colorWrite !== undefined) material.colorWrite = json.colorWrite; + if (json.stencilWrite !== undefined) material.stencilWrite = json.stencilWrite; + if (json.stencilWriteMask !== undefined) material.stencilWriteMask = json.stencilWriteMask; + if (json.stencilFunc !== undefined) material.stencilFunc = json.stencilFunc; + if (json.stencilRef !== undefined) material.stencilRef = json.stencilRef; + if (json.stencilFuncMask !== undefined) material.stencilFuncMask = json.stencilFuncMask; + if (json.stencilFail !== undefined) material.stencilFail = json.stencilFail; + if (json.stencilZFail !== undefined) material.stencilZFail = json.stencilZFail; + if (json.stencilZPass !== undefined) material.stencilZPass = json.stencilZPass; + if (json.wireframe !== undefined) material.wireframe = json.wireframe; + if (json.wireframeLinewidth !== undefined) material.wireframeLinewidth = json.wireframeLinewidth; + if (json.wireframeLinecap !== undefined) material.wireframeLinecap = json.wireframeLinecap; + if (json.wireframeLinejoin !== undefined) material.wireframeLinejoin = json.wireframeLinejoin; + if (json.rotation !== undefined) material.rotation = json.rotation; + if (json.linewidth !== 1) material.linewidth = json.linewidth; + if (json.dashSize !== undefined) material.dashSize = json.dashSize; + if (json.gapSize !== undefined) material.gapSize = json.gapSize; + if (json.scale !== undefined) material.scale = json.scale; + if (json.polygonOffset !== undefined) material.polygonOffset = json.polygonOffset; + if (json.polygonOffsetFactor !== undefined) material.polygonOffsetFactor = json.polygonOffsetFactor; + if (json.polygonOffsetUnits !== undefined) material.polygonOffsetUnits = json.polygonOffsetUnits; + if (json.dithering !== undefined) material.dithering = json.dithering; + if (json.alphaToCoverage !== undefined) material.alphaToCoverage = json.alphaToCoverage; + if (json.premultipliedAlpha !== undefined) material.premultipliedAlpha = json.premultipliedAlpha; + if (json.visible !== undefined) material.visible = json.visible; + if (json.toneMapped !== undefined) material.toneMapped = json.toneMapped; + if (json.userData !== undefined) material.userData = json.userData; + + if (json.vertexColors !== undefined) { + if (typeof json.vertexColors === 'number') { + material.vertexColors = json.vertexColors > 0 ? true : false; + } else { + material.vertexColors = json.vertexColors; + } + } // Shader Material - function Spherical( radius, phi, theta ) { - this.radius = ( radius !== undefined ) ? radius : 1.0; - this.phi = ( phi !== undefined ) ? phi : 0; // polar angle - this.theta = ( theta !== undefined ) ? theta : 0; // azimuthal angle + if (json.uniforms !== undefined) { + for (const name in json.uniforms) { + const uniform = json.uniforms[name]; + material.uniforms[name] = {}; - return this; + switch (uniform.type) { + case 't': + material.uniforms[name].value = getTexture(uniform.value); + break; - } + case 'c': + material.uniforms[name].value = new Color().setHex(uniform.value); + break; - Object.assign( Spherical.prototype, { + case 'v2': + material.uniforms[name].value = new Vector2().fromArray(uniform.value); + break; - set: function ( radius, phi, theta ) { + case 'v3': + material.uniforms[name].value = new Vector3().fromArray(uniform.value); + break; - this.radius = radius; - this.phi = phi; - this.theta = theta; + case 'v4': + material.uniforms[name].value = new Vector4().fromArray(uniform.value); + break; - return this; + case 'm3': + material.uniforms[name].value = new Matrix3().fromArray(uniform.value); + break; - }, + case 'm4': + material.uniforms[name].value = new Matrix4().fromArray(uniform.value); + break; - clone: function () { + default: + material.uniforms[name].value = uniform.value; + } + } + } - return new this.constructor().copy( this ); + if (json.defines !== undefined) material.defines = json.defines; + if (json.vertexShader !== undefined) material.vertexShader = json.vertexShader; + if (json.fragmentShader !== undefined) material.fragmentShader = json.fragmentShader; - }, + if (json.extensions !== undefined) { + for (const key in json.extensions) { + material.extensions[key] = json.extensions[key]; + } + } // Deprecated - copy: function ( other ) { - this.radius = other.radius; - this.phi = other.phi; - this.theta = other.theta; + if (json.shading !== undefined) material.flatShading = json.shading === 1; // THREE.FlatShading + // for PointsMaterial - return this; + if (json.size !== undefined) material.size = json.size; + if (json.sizeAttenuation !== undefined) material.sizeAttenuation = json.sizeAttenuation; // maps - }, + if (json.map !== undefined) material.map = getTexture(json.map); + if (json.matcap !== undefined) material.matcap = getTexture(json.matcap); + if (json.alphaMap !== undefined) material.alphaMap = getTexture(json.alphaMap); + if (json.bumpMap !== undefined) material.bumpMap = getTexture(json.bumpMap); + if (json.bumpScale !== undefined) material.bumpScale = json.bumpScale; + if (json.normalMap !== undefined) material.normalMap = getTexture(json.normalMap); + if (json.normalMapType !== undefined) material.normalMapType = json.normalMapType; - // restrict phi to be betwee EPS and PI-EPS - makeSafe: function () { + if (json.normalScale !== undefined) { + let normalScale = json.normalScale; - var EPS = 0.000001; - this.phi = Math.max( EPS, Math.min( Math.PI - EPS, this.phi ) ); + if (Array.isArray(normalScale) === false) { + // Blender exporter used to export a scalar. See #7459 + normalScale = [normalScale, normalScale]; + } + + material.normalScale = new Vector2().fromArray(normalScale); + } + + if (json.displacementMap !== undefined) material.displacementMap = getTexture(json.displacementMap); + if (json.displacementScale !== undefined) material.displacementScale = json.displacementScale; + if (json.displacementBias !== undefined) material.displacementBias = json.displacementBias; + if (json.roughnessMap !== undefined) material.roughnessMap = getTexture(json.roughnessMap); + if (json.metalnessMap !== undefined) material.metalnessMap = getTexture(json.metalnessMap); + if (json.emissiveMap !== undefined) material.emissiveMap = getTexture(json.emissiveMap); + if (json.emissiveIntensity !== undefined) material.emissiveIntensity = json.emissiveIntensity; + if (json.specularMap !== undefined) material.specularMap = getTexture(json.specularMap); + if (json.specularIntensityMap !== undefined) material.specularIntensityMap = getTexture(json.specularIntensityMap); + if (json.specularTintMap !== undefined) material.specularTintMap = getTexture(json.specularTintMap); + if (json.envMap !== undefined) material.envMap = getTexture(json.envMap); + if (json.envMapIntensity !== undefined) material.envMapIntensity = json.envMapIntensity; + if (json.reflectivity !== undefined) material.reflectivity = json.reflectivity; + if (json.refractionRatio !== undefined) material.refractionRatio = json.refractionRatio; + if (json.lightMap !== undefined) material.lightMap = getTexture(json.lightMap); + if (json.lightMapIntensity !== undefined) material.lightMapIntensity = json.lightMapIntensity; + if (json.aoMap !== undefined) material.aoMap = getTexture(json.aoMap); + if (json.aoMapIntensity !== undefined) material.aoMapIntensity = json.aoMapIntensity; + if (json.gradientMap !== undefined) material.gradientMap = getTexture(json.gradientMap); + if (json.clearcoatMap !== undefined) material.clearcoatMap = getTexture(json.clearcoatMap); + if (json.clearcoatRoughnessMap !== undefined) material.clearcoatRoughnessMap = getTexture(json.clearcoatRoughnessMap); + if (json.clearcoatNormalMap !== undefined) material.clearcoatNormalMap = getTexture(json.clearcoatNormalMap); + if (json.clearcoatNormalScale !== undefined) material.clearcoatNormalScale = new Vector2().fromArray(json.clearcoatNormalScale); + if (json.transmissionMap !== undefined) material.transmissionMap = getTexture(json.transmissionMap); + if (json.thicknessMap !== undefined) material.thicknessMap = getTexture(json.thicknessMap); + return material; + } + setTextures(value) { + this.textures = value; return this; + } - }, - - setFromVector3: function ( v ) { - - return this.setFromCartesianCoords( v.x, v.y, v.z ); + } - }, + class LoaderUtils { + static decodeText(array) { + if (typeof TextDecoder !== 'undefined') { + return new TextDecoder().decode(array); + } // Avoid the String.fromCharCode.apply(null, array) shortcut, which + // throws a "maximum call stack size exceeded" error for large arrays. - setFromCartesianCoords: function ( x, y, z ) { - this.radius = Math.sqrt( x * x + y * y + z * z ); + let s = ''; - if ( this.radius === 0 ) { + for (let i = 0, il = array.length; i < il; i++) { + // Implicitly assumes little-endian. + s += String.fromCharCode(array[i]); + } - this.theta = 0; - this.phi = 0; + try { + // merges multi-byte utf-8 characters. + return decodeURIComponent(escape(s)); + } catch (e) { + // see #16358 + return s; + } + } - } else { + static extractUrlBase(url) { + const index = url.lastIndexOf('/'); + if (index === -1) return './'; + return url.substr(0, index + 1); + } - this.theta = Math.atan2( x, z ); - this.phi = Math.acos( _Math.clamp( y / this.radius, - 1, 1 ) ); + } - } + class InstancedBufferGeometry extends BufferGeometry { + constructor() { + super(); + this.type = 'InstancedBufferGeometry'; + this.instanceCount = Infinity; + } + copy(source) { + super.copy(source); + this.instanceCount = source.instanceCount; return this; + } + clone() { + return new this.constructor().copy(this); } - } ); + toJSON() { + const data = super.toJSON(this); + data.instanceCount = this.instanceCount; + data.isInstancedBufferGeometry = true; + return data; + } - /** - * @author Mugen87 / https://github.com/Mugen87 - * - * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system - * - */ + } - function Cylindrical( radius, theta, y ) { + InstancedBufferGeometry.prototype.isInstancedBufferGeometry = true; - this.radius = ( radius !== undefined ) ? radius : 1.0; // distance from the origin to a point in the x-z plane - this.theta = ( theta !== undefined ) ? theta : 0; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis - this.y = ( y !== undefined ) ? y : 0; // height above the x-z plane + class BufferGeometryLoader extends Loader { + constructor(manager) { + super(manager); + } - return this; + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(scope.manager); + loader.setPath(scope.path); + loader.setRequestHeader(scope.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function (text) { + try { + onLoad(scope.parse(JSON.parse(text))); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } - } + scope.manager.itemError(url); + } + }, onProgress, onError); + } - Object.assign( Cylindrical.prototype, { + parse(json) { + const interleavedBufferMap = {}; + const arrayBufferMap = {}; - set: function ( radius, theta, y ) { + function getInterleavedBuffer(json, uuid) { + if (interleavedBufferMap[uuid] !== undefined) return interleavedBufferMap[uuid]; + const interleavedBuffers = json.interleavedBuffers; + const interleavedBuffer = interleavedBuffers[uuid]; + const buffer = getArrayBuffer(json, interleavedBuffer.buffer); + const array = getTypedArray(interleavedBuffer.type, buffer); + const ib = new InterleavedBuffer(array, interleavedBuffer.stride); + ib.uuid = interleavedBuffer.uuid; + interleavedBufferMap[uuid] = ib; + return ib; + } - this.radius = radius; - this.theta = theta; - this.y = y; + function getArrayBuffer(json, uuid) { + if (arrayBufferMap[uuid] !== undefined) return arrayBufferMap[uuid]; + const arrayBuffers = json.arrayBuffers; + const arrayBuffer = arrayBuffers[uuid]; + const ab = new Uint32Array(arrayBuffer).buffer; + arrayBufferMap[uuid] = ab; + return ab; + } - return this; + const geometry = json.isInstancedBufferGeometry ? new InstancedBufferGeometry() : new BufferGeometry(); + const index = json.data.index; - }, + if (index !== undefined) { + const typedArray = getTypedArray(index.type, index.array); + geometry.setIndex(new BufferAttribute(typedArray, 1)); + } - clone: function () { + const attributes = json.data.attributes; - return new this.constructor().copy( this ); + for (const key in attributes) { + const attribute = attributes[key]; + let bufferAttribute; - }, + if (attribute.isInterleavedBufferAttribute) { + const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data); + bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized); + } else { + const typedArray = getTypedArray(attribute.type, attribute.array); + const bufferAttributeConstr = attribute.isInstancedBufferAttribute ? InstancedBufferAttribute : BufferAttribute; + bufferAttribute = new bufferAttributeConstr(typedArray, attribute.itemSize, attribute.normalized); + } - copy: function ( other ) { + if (attribute.name !== undefined) bufferAttribute.name = attribute.name; + if (attribute.usage !== undefined) bufferAttribute.setUsage(attribute.usage); - this.radius = other.radius; - this.theta = other.theta; - this.y = other.y; + if (attribute.updateRange !== undefined) { + bufferAttribute.updateRange.offset = attribute.updateRange.offset; + bufferAttribute.updateRange.count = attribute.updateRange.count; + } - return this; + geometry.setAttribute(key, bufferAttribute); + } - }, + const morphAttributes = json.data.morphAttributes; - setFromVector3: function ( v ) { + if (morphAttributes) { + for (const key in morphAttributes) { + const attributeArray = morphAttributes[key]; + const array = []; - return this.setFromCartesianCoords( v.x, v.y, v.z ); + for (let i = 0, il = attributeArray.length; i < il; i++) { + const attribute = attributeArray[i]; + let bufferAttribute; - }, + if (attribute.isInterleavedBufferAttribute) { + const interleavedBuffer = getInterleavedBuffer(json.data, attribute.data); + bufferAttribute = new InterleavedBufferAttribute(interleavedBuffer, attribute.itemSize, attribute.offset, attribute.normalized); + } else { + const typedArray = getTypedArray(attribute.type, attribute.array); + bufferAttribute = new BufferAttribute(typedArray, attribute.itemSize, attribute.normalized); + } - setFromCartesianCoords: function ( x, y, z ) { + if (attribute.name !== undefined) bufferAttribute.name = attribute.name; + array.push(bufferAttribute); + } - this.radius = Math.sqrt( x * x + z * z ); - this.theta = Math.atan2( x, z ); - this.y = y; + geometry.morphAttributes[key] = array; + } + } - return this; + const morphTargetsRelative = json.data.morphTargetsRelative; - } + if (morphTargetsRelative) { + geometry.morphTargetsRelative = true; + } - } ); + const groups = json.data.groups || json.data.drawcalls || json.data.offsets; - /** - * @author bhouston / http://clara.io - */ + if (groups !== undefined) { + for (let i = 0, n = groups.length; i !== n; ++i) { + const group = groups[i]; + geometry.addGroup(group.start, group.count, group.materialIndex); + } + } - function Box2( min, max ) { + const boundingSphere = json.data.boundingSphere; - this.min = ( min !== undefined ) ? min : new Vector2( + Infinity, + Infinity ); - this.max = ( max !== undefined ) ? max : new Vector2( - Infinity, - Infinity ); + if (boundingSphere !== undefined) { + const center = new Vector3(); - } + if (boundingSphere.center !== undefined) { + center.fromArray(boundingSphere.center); + } + + geometry.boundingSphere = new Sphere(center, boundingSphere.radius); + } - Object.assign( Box2.prototype, { + if (json.name) geometry.name = json.name; + if (json.userData) geometry.userData = json.userData; + return geometry; + } - set: function ( min, max ) { + } - this.min.copy( min ); - this.max.copy( max ); + class ObjectLoader extends Loader { + constructor(manager) { + super(manager); + } - return this; + load(url, onLoad, onProgress, onError) { + const scope = this; + const path = this.path === '' ? LoaderUtils.extractUrlBase(url) : this.path; + this.resourcePath = this.resourcePath || path; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function (text) { + let json = null; - }, + try { + json = JSON.parse(text); + } catch (error) { + if (onError !== undefined) onError(error); + console.error('THREE:ObjectLoader: Can\'t parse ' + url + '.', error.message); + return; + } - setFromPoints: function ( points ) { + const metadata = json.metadata; - this.makeEmpty(); + if (metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry') { + console.error('THREE.ObjectLoader: Can\'t load ' + url); + return; + } - for ( var i = 0, il = points.length; i < il; i ++ ) { + scope.parse(json, onLoad); + }, onProgress, onError); + } - this.expandByPoint( points[ i ] ); + async loadAsync(url, onProgress) { + const scope = this; + const path = this.path === '' ? LoaderUtils.extractUrlBase(url) : this.path; + this.resourcePath = this.resourcePath || path; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + const text = await loader.loadAsync(url, onProgress); + const json = JSON.parse(text); + const metadata = json.metadata; + + if (metadata === undefined || metadata.type === undefined || metadata.type.toLowerCase() === 'geometry') { + throw new Error('THREE.ObjectLoader: Can\'t load ' + url); + } + + return await scope.parseAsync(json); + } + + parse(json, onLoad) { + const animations = this.parseAnimations(json.animations); + const shapes = this.parseShapes(json.shapes); + const geometries = this.parseGeometries(json.geometries, shapes); + const images = this.parseImages(json.images, function () { + if (onLoad !== undefined) onLoad(object); + }); + const textures = this.parseTextures(json.textures, images); + const materials = this.parseMaterials(json.materials, textures); + const object = this.parseObject(json.object, geometries, materials, textures, animations); + const skeletons = this.parseSkeletons(json.skeletons, object); + this.bindSkeletons(object, skeletons); // + + if (onLoad !== undefined) { + let hasImages = false; + + for (const uuid in images) { + if (images[uuid] instanceof HTMLImageElement) { + hasImages = true; + break; + } + } + if (hasImages === false) onLoad(object); } - return this; + return object; + } - }, + async parseAsync(json) { + const animations = this.parseAnimations(json.animations); + const shapes = this.parseShapes(json.shapes); + const geometries = this.parseGeometries(json.geometries, shapes); + const images = await this.parseImagesAsync(json.images); + const textures = this.parseTextures(json.textures, images); + const materials = this.parseMaterials(json.materials, textures); + const object = this.parseObject(json.object, geometries, materials, textures, animations); + const skeletons = this.parseSkeletons(json.skeletons, object); + this.bindSkeletons(object, skeletons); + return object; + } - setFromCenterAndSize: function () { + parseShapes(json) { + const shapes = {}; - var v1 = new Vector2(); + if (json !== undefined) { + for (let i = 0, l = json.length; i < l; i++) { + const shape = new Shape().fromJSON(json[i]); + shapes[shape.uuid] = shape; + } + } - return function setFromCenterAndSize( center, size ) { + return shapes; + } - var halfSize = v1.copy( size ).multiplyScalar( 0.5 ); - this.min.copy( center ).sub( halfSize ); - this.max.copy( center ).add( halfSize ); + parseSkeletons(json, object) { + const skeletons = {}; + const bones = {}; // generate bone lookup table - return this; + object.traverse(function (child) { + if (child.isBone) bones[child.uuid] = child; + }); // create skeletons - }; + if (json !== undefined) { + for (let i = 0, l = json.length; i < l; i++) { + const skeleton = new Skeleton().fromJSON(json[i], bones); + skeletons[skeleton.uuid] = skeleton; + } + } - }(), + return skeletons; + } - clone: function () { + parseGeometries(json, shapes) { + const geometries = {}; - return new this.constructor().copy( this ); + if (json !== undefined) { + const bufferGeometryLoader = new BufferGeometryLoader(); - }, + for (let i = 0, l = json.length; i < l; i++) { + let geometry; + const data = json[i]; - copy: function ( box ) { + switch (data.type) { + case 'BufferGeometry': + case 'InstancedBufferGeometry': + geometry = bufferGeometryLoader.parse(data); + break; - this.min.copy( box.min ); - this.max.copy( box.max ); + case 'Geometry': + console.error('THREE.ObjectLoader: The legacy Geometry type is no longer supported.'); + break; - return this; + default: + if (data.type in Geometries) { + geometry = Geometries[data.type].fromJSON(data, shapes); + } else { + console.warn(`THREE.ObjectLoader: Unsupported geometry type "${data.type}"`); + } - }, + } - makeEmpty: function () { + geometry.uuid = data.uuid; + if (data.name !== undefined) geometry.name = data.name; + if (geometry.isBufferGeometry === true && data.userData !== undefined) geometry.userData = data.userData; + geometries[data.uuid] = geometry; + } + } - this.min.x = this.min.y = + Infinity; - this.max.x = this.max.y = - Infinity; + return geometries; + } - return this; + parseMaterials(json, textures) { + const cache = {}; // MultiMaterial - }, + const materials = {}; - isEmpty: function () { + if (json !== undefined) { + const loader = new MaterialLoader(); + loader.setTextures(textures); - // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + for (let i = 0, l = json.length; i < l; i++) { + const data = json[i]; - return ( this.max.x < this.min.x ) || ( this.max.y < this.min.y ); + if (data.type === 'MultiMaterial') { + // Deprecated + const array = []; - }, + for (let j = 0; j < data.materials.length; j++) { + const material = data.materials[j]; - getCenter: function ( target ) { + if (cache[material.uuid] === undefined) { + cache[material.uuid] = loader.parse(material); + } - if ( target === undefined ) { + array.push(cache[material.uuid]); + } - console.warn( 'THREE.Box2: .getCenter() target is now required' ); - target = new Vector2(); + materials[data.uuid] = array; + } else { + if (cache[data.uuid] === undefined) { + cache[data.uuid] = loader.parse(data); + } + materials[data.uuid] = cache[data.uuid]; + } + } } - return this.isEmpty() ? target.set( 0, 0 ) : target.addVectors( this.min, this.max ).multiplyScalar( 0.5 ); + return materials; + } - }, + parseAnimations(json) { + const animations = {}; + + if (json !== undefined) { + for (let i = 0; i < json.length; i++) { + const data = json[i]; + const clip = AnimationClip.parse(data); + animations[clip.uuid] = clip; + } + } - getSize: function ( target ) { + return animations; + } - if ( target === undefined ) { + parseImages(json, onLoad) { + const scope = this; + const images = {}; + let loader; - console.warn( 'THREE.Box2: .getSize() target is now required' ); - target = new Vector2(); + function loadImage(url) { + scope.manager.itemStart(url); + return loader.load(url, function () { + scope.manager.itemEnd(url); + }, undefined, function () { + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }); + } + function deserializeImage(image) { + if (typeof image === 'string') { + const url = image; + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(url) ? url : scope.resourcePath + url; + return loadImage(path); + } else { + if (image.data) { + return { + data: getTypedArray(image.type, image.data), + width: image.width, + height: image.height + }; + } else { + return null; + } + } } - return this.isEmpty() ? target.set( 0, 0 ) : target.subVectors( this.max, this.min ); + if (json !== undefined && json.length > 0) { + const manager = new LoadingManager(onLoad); + loader = new ImageLoader(manager); + loader.setCrossOrigin(this.crossOrigin); - }, + for (let i = 0, il = json.length; i < il; i++) { + const image = json[i]; + const url = image.url; - expandByPoint: function ( point ) { + if (Array.isArray(url)) { + // load array of images e.g CubeTexture + images[image.uuid] = []; - this.min.min( point ); - this.max.max( point ); + for (let j = 0, jl = url.length; j < jl; j++) { + const currentUrl = url[j]; + const deserializedImage = deserializeImage(currentUrl); - return this; + if (deserializedImage !== null) { + if (deserializedImage instanceof HTMLImageElement) { + images[image.uuid].push(deserializedImage); + } else { + // special case: handle array of data textures for cube textures + images[image.uuid].push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height)); + } + } + } + } else { + // load single image + const deserializedImage = deserializeImage(image.url); + + if (deserializedImage !== null) { + images[image.uuid] = deserializedImage; + } + } + } + } - }, + return images; + } - expandByVector: function ( vector ) { + async parseImagesAsync(json) { + const scope = this; + const images = {}; + let loader; - this.min.sub( vector ); - this.max.add( vector ); + async function deserializeImage(image) { + if (typeof image === 'string') { + const url = image; + const path = /^(\/\/)|([a-z]+:(\/\/)?)/i.test(url) ? url : scope.resourcePath + url; + return await loader.loadAsync(path); + } else { + if (image.data) { + return { + data: getTypedArray(image.type, image.data), + width: image.width, + height: image.height + }; + } else { + return null; + } + } + } - return this; + if (json !== undefined && json.length > 0) { + loader = new ImageLoader(this.manager); + loader.setCrossOrigin(this.crossOrigin); - }, + for (let i = 0, il = json.length; i < il; i++) { + const image = json[i]; + const url = image.url; - expandByScalar: function ( scalar ) { + if (Array.isArray(url)) { + // load array of images e.g CubeTexture + images[image.uuid] = []; - this.min.addScalar( - scalar ); - this.max.addScalar( scalar ); + for (let j = 0, jl = url.length; j < jl; j++) { + const currentUrl = url[j]; + const deserializedImage = await deserializeImage(currentUrl); - return this; + if (deserializedImage !== null) { + if (deserializedImage instanceof HTMLImageElement) { + images[image.uuid].push(deserializedImage); + } else { + // special case: handle array of data textures for cube textures + images[image.uuid].push(new DataTexture(deserializedImage.data, deserializedImage.width, deserializedImage.height)); + } + } + } + } else { + // load single image + const deserializedImage = await deserializeImage(image.url); - }, + if (deserializedImage !== null) { + images[image.uuid] = deserializedImage; + } + } + } + } - containsPoint: function ( point ) { + return images; + } - return point.x < this.min.x || point.x > this.max.x || - point.y < this.min.y || point.y > this.max.y ? false : true; + parseTextures(json, images) { + function parseConstant(value, type) { + if (typeof value === 'number') return value; + console.warn('THREE.ObjectLoader.parseTexture: Constant should be in numeric form.', value); + return type[value]; + } - }, + const textures = {}; - containsBox: function ( box ) { + if (json !== undefined) { + for (let i = 0, l = json.length; i < l; i++) { + const data = json[i]; - return this.min.x <= box.min.x && box.max.x <= this.max.x && - this.min.y <= box.min.y && box.max.y <= this.max.y; + if (data.image === undefined) { + console.warn('THREE.ObjectLoader: No "image" specified for', data.uuid); + } - }, + if (images[data.image] === undefined) { + console.warn('THREE.ObjectLoader: Undefined image', data.image); + } - getParameter: function ( point, target ) { + let texture; + const image = images[data.image]; - // This can potentially have a divide by zero if the box - // has a size dimension of 0. + if (Array.isArray(image)) { + texture = new CubeTexture(image); + if (image.length === 6) texture.needsUpdate = true; + } else { + if (image && image.data) { + texture = new DataTexture(image.data, image.width, image.height); + } else { + texture = new Texture(image); + } - if ( target === undefined ) { + if (image) texture.needsUpdate = true; // textures can have undefined image data + } - console.warn( 'THREE.Box2: .getParameter() target is now required' ); - target = new Vector2(); + texture.uuid = data.uuid; + if (data.name !== undefined) texture.name = data.name; + if (data.mapping !== undefined) texture.mapping = parseConstant(data.mapping, TEXTURE_MAPPING); + if (data.offset !== undefined) texture.offset.fromArray(data.offset); + if (data.repeat !== undefined) texture.repeat.fromArray(data.repeat); + if (data.center !== undefined) texture.center.fromArray(data.center); + if (data.rotation !== undefined) texture.rotation = data.rotation; + + if (data.wrap !== undefined) { + texture.wrapS = parseConstant(data.wrap[0], TEXTURE_WRAPPING); + texture.wrapT = parseConstant(data.wrap[1], TEXTURE_WRAPPING); + } + if (data.format !== undefined) texture.format = data.format; + if (data.type !== undefined) texture.type = data.type; + if (data.encoding !== undefined) texture.encoding = data.encoding; + if (data.minFilter !== undefined) texture.minFilter = parseConstant(data.minFilter, TEXTURE_FILTER); + if (data.magFilter !== undefined) texture.magFilter = parseConstant(data.magFilter, TEXTURE_FILTER); + if (data.anisotropy !== undefined) texture.anisotropy = data.anisotropy; + if (data.flipY !== undefined) texture.flipY = data.flipY; + if (data.premultiplyAlpha !== undefined) texture.premultiplyAlpha = data.premultiplyAlpha; + if (data.unpackAlignment !== undefined) texture.unpackAlignment = data.unpackAlignment; + textures[data.uuid] = texture; + } } - return target.set( - ( point.x - this.min.x ) / ( this.max.x - this.min.x ), - ( point.y - this.min.y ) / ( this.max.y - this.min.y ) - ); - - }, + return textures; + } - intersectsBox: function ( box ) { + parseObject(data, geometries, materials, textures, animations) { + let object; - // using 4 splitting planes to rule out intersections + function getGeometry(name) { + if (geometries[name] === undefined) { + console.warn('THREE.ObjectLoader: Undefined geometry', name); + } - return box.max.x < this.min.x || box.min.x > this.max.x || - box.max.y < this.min.y || box.min.y > this.max.y ? false : true; + return geometries[name]; + } - }, + function getMaterial(name) { + if (name === undefined) return undefined; - clampPoint: function ( point, target ) { + if (Array.isArray(name)) { + const array = []; - if ( target === undefined ) { + for (let i = 0, l = name.length; i < l; i++) { + const uuid = name[i]; - console.warn( 'THREE.Box2: .clampPoint() target is now required' ); - target = new Vector2(); + if (materials[uuid] === undefined) { + console.warn('THREE.ObjectLoader: Undefined material', uuid); + } - } + array.push(materials[uuid]); + } - return target.copy( point ).clamp( this.min, this.max ); + return array; + } - }, + if (materials[name] === undefined) { + console.warn('THREE.ObjectLoader: Undefined material', name); + } - distanceToPoint: function () { + return materials[name]; + } - var v1 = new Vector2(); + function getTexture(uuid) { + if (textures[uuid] === undefined) { + console.warn('THREE.ObjectLoader: Undefined texture', uuid); + } - return function distanceToPoint( point ) { + return textures[uuid]; + } - var clampedPoint = v1.copy( point ).clamp( this.min, this.max ); - return clampedPoint.sub( point ).length(); + let geometry, material; - }; + switch (data.type) { + case 'Scene': + object = new Scene(); - }(), + if (data.background !== undefined) { + if (Number.isInteger(data.background)) { + object.background = new Color(data.background); + } else { + object.background = getTexture(data.background); + } + } - intersect: function ( box ) { + if (data.environment !== undefined) { + object.environment = getTexture(data.environment); + } - this.min.max( box.min ); - this.max.min( box.max ); + if (data.fog !== undefined) { + if (data.fog.type === 'Fog') { + object.fog = new Fog(data.fog.color, data.fog.near, data.fog.far); + } else if (data.fog.type === 'FogExp2') { + object.fog = new FogExp2(data.fog.color, data.fog.density); + } + } - return this; + break; - }, + case 'PerspectiveCamera': + object = new PerspectiveCamera(data.fov, data.aspect, data.near, data.far); + if (data.focus !== undefined) object.focus = data.focus; + if (data.zoom !== undefined) object.zoom = data.zoom; + if (data.filmGauge !== undefined) object.filmGauge = data.filmGauge; + if (data.filmOffset !== undefined) object.filmOffset = data.filmOffset; + if (data.view !== undefined) object.view = Object.assign({}, data.view); + break; - union: function ( box ) { + case 'OrthographicCamera': + object = new OrthographicCamera(data.left, data.right, data.top, data.bottom, data.near, data.far); + if (data.zoom !== undefined) object.zoom = data.zoom; + if (data.view !== undefined) object.view = Object.assign({}, data.view); + break; - this.min.min( box.min ); - this.max.max( box.max ); + case 'AmbientLight': + object = new AmbientLight(data.color, data.intensity); + break; - return this; + case 'DirectionalLight': + object = new DirectionalLight(data.color, data.intensity); + break; - }, + case 'PointLight': + object = new PointLight(data.color, data.intensity, data.distance, data.decay); + break; - translate: function ( offset ) { + case 'RectAreaLight': + object = new RectAreaLight(data.color, data.intensity, data.width, data.height); + break; - this.min.add( offset ); - this.max.add( offset ); + case 'SpotLight': + object = new SpotLight(data.color, data.intensity, data.distance, data.angle, data.penumbra, data.decay); + break; - return this; + case 'HemisphereLight': + object = new HemisphereLight(data.color, data.groundColor, data.intensity); + break; - }, + case 'LightProbe': + object = new LightProbe().fromJSON(data); + break; - equals: function ( box ) { + case 'SkinnedMesh': + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + object = new SkinnedMesh(geometry, material); + if (data.bindMode !== undefined) object.bindMode = data.bindMode; + if (data.bindMatrix !== undefined) object.bindMatrix.fromArray(data.bindMatrix); + if (data.skeleton !== undefined) object.skeleton = data.skeleton; + break; - return box.min.equals( this.min ) && box.max.equals( this.max ); + case 'Mesh': + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + object = new Mesh(geometry, material); + break; - } + case 'InstancedMesh': + geometry = getGeometry(data.geometry); + material = getMaterial(data.material); + const count = data.count; + const instanceMatrix = data.instanceMatrix; + const instanceColor = data.instanceColor; + object = new InstancedMesh(geometry, material, count); + object.instanceMatrix = new InstancedBufferAttribute(new Float32Array(instanceMatrix.array), 16); + if (instanceColor !== undefined) object.instanceColor = new InstancedBufferAttribute(new Float32Array(instanceColor.array), instanceColor.itemSize); + break; - } ); + case 'LOD': + object = new LOD(); + break; - /** - * @author bhouston / http://clara.io - */ + case 'Line': + object = new Line(getGeometry(data.geometry), getMaterial(data.material)); + break; - function Line3( start, end ) { + case 'LineLoop': + object = new LineLoop(getGeometry(data.geometry), getMaterial(data.material)); + break; - this.start = ( start !== undefined ) ? start : new Vector3(); - this.end = ( end !== undefined ) ? end : new Vector3(); + case 'LineSegments': + object = new LineSegments(getGeometry(data.geometry), getMaterial(data.material)); + break; - } + case 'PointCloud': + case 'Points': + object = new Points(getGeometry(data.geometry), getMaterial(data.material)); + break; - Object.assign( Line3.prototype, { + case 'Sprite': + object = new Sprite(getMaterial(data.material)); + break; - set: function ( start, end ) { + case 'Group': + object = new Group(); + break; - this.start.copy( start ); - this.end.copy( end ); + case 'Bone': + object = new Bone(); + break; - return this; + default: + object = new Object3D(); + } - }, + object.uuid = data.uuid; + if (data.name !== undefined) object.name = data.name; - clone: function () { + if (data.matrix !== undefined) { + object.matrix.fromArray(data.matrix); + if (data.matrixAutoUpdate !== undefined) object.matrixAutoUpdate = data.matrixAutoUpdate; + if (object.matrixAutoUpdate) object.matrix.decompose(object.position, object.quaternion, object.scale); + } else { + if (data.position !== undefined) object.position.fromArray(data.position); + if (data.rotation !== undefined) object.rotation.fromArray(data.rotation); + if (data.quaternion !== undefined) object.quaternion.fromArray(data.quaternion); + if (data.scale !== undefined) object.scale.fromArray(data.scale); + } - return new this.constructor().copy( this ); + if (data.castShadow !== undefined) object.castShadow = data.castShadow; + if (data.receiveShadow !== undefined) object.receiveShadow = data.receiveShadow; - }, + if (data.shadow) { + if (data.shadow.bias !== undefined) object.shadow.bias = data.shadow.bias; + if (data.shadow.normalBias !== undefined) object.shadow.normalBias = data.shadow.normalBias; + if (data.shadow.radius !== undefined) object.shadow.radius = data.shadow.radius; + if (data.shadow.mapSize !== undefined) object.shadow.mapSize.fromArray(data.shadow.mapSize); + if (data.shadow.camera !== undefined) object.shadow.camera = this.parseObject(data.shadow.camera); + } - copy: function ( line ) { + if (data.visible !== undefined) object.visible = data.visible; + if (data.frustumCulled !== undefined) object.frustumCulled = data.frustumCulled; + if (data.renderOrder !== undefined) object.renderOrder = data.renderOrder; + if (data.userData !== undefined) object.userData = data.userData; + if (data.layers !== undefined) object.layers.mask = data.layers; - this.start.copy( line.start ); - this.end.copy( line.end ); + if (data.children !== undefined) { + const children = data.children; - return this; + for (let i = 0; i < children.length; i++) { + object.add(this.parseObject(children[i], geometries, materials, textures, animations)); + } + } - }, + if (data.animations !== undefined) { + const objectAnimations = data.animations; - getCenter: function ( target ) { + for (let i = 0; i < objectAnimations.length; i++) { + const uuid = objectAnimations[i]; + object.animations.push(animations[uuid]); + } + } - if ( target === undefined ) { + if (data.type === 'LOD') { + if (data.autoUpdate !== undefined) object.autoUpdate = data.autoUpdate; + const levels = data.levels; - console.warn( 'THREE.Line3: .getCenter() target is now required' ); - target = new Vector3(); + for (let l = 0; l < levels.length; l++) { + const level = levels[l]; + const child = object.getObjectByProperty('uuid', level.object); + if (child !== undefined) { + object.addLevel(child, level.distance); + } + } } - return target.addVectors( this.start, this.end ).multiplyScalar( 0.5 ); + return object; + } - }, + bindSkeletons(object, skeletons) { + if (Object.keys(skeletons).length === 0) return; + object.traverse(function (child) { + if (child.isSkinnedMesh === true && child.skeleton !== undefined) { + const skeleton = skeletons[child.skeleton]; - delta: function ( target ) { + if (skeleton === undefined) { + console.warn('THREE.ObjectLoader: No skeleton found with UUID:', child.skeleton); + } else { + child.bind(skeleton, child.bindMatrix); + } + } + }); + } + /* DEPRECATED */ - if ( target === undefined ) { - console.warn( 'THREE.Line3: .delta() target is now required' ); - target = new Vector3(); + setTexturePath(value) { + console.warn('THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().'); + return this.setResourcePath(value); + } - } + } - return target.subVectors( this.end, this.start ); + const TEXTURE_MAPPING = { + UVMapping: UVMapping, + CubeReflectionMapping: CubeReflectionMapping, + CubeRefractionMapping: CubeRefractionMapping, + EquirectangularReflectionMapping: EquirectangularReflectionMapping, + EquirectangularRefractionMapping: EquirectangularRefractionMapping, + CubeUVReflectionMapping: CubeUVReflectionMapping, + CubeUVRefractionMapping: CubeUVRefractionMapping + }; + const TEXTURE_WRAPPING = { + RepeatWrapping: RepeatWrapping, + ClampToEdgeWrapping: ClampToEdgeWrapping, + MirroredRepeatWrapping: MirroredRepeatWrapping + }; + const TEXTURE_FILTER = { + NearestFilter: NearestFilter, + NearestMipmapNearestFilter: NearestMipmapNearestFilter, + NearestMipmapLinearFilter: NearestMipmapLinearFilter, + LinearFilter: LinearFilter, + LinearMipmapNearestFilter: LinearMipmapNearestFilter, + LinearMipmapLinearFilter: LinearMipmapLinearFilter + }; - }, + class ImageBitmapLoader extends Loader { + constructor(manager) { + super(manager); - distanceSq: function () { + if (typeof createImageBitmap === 'undefined') { + console.warn('THREE.ImageBitmapLoader: createImageBitmap() not supported.'); + } - return this.start.distanceToSquared( this.end ); + if (typeof fetch === 'undefined') { + console.warn('THREE.ImageBitmapLoader: fetch() not supported.'); + } - }, + this.options = { + premultiplyAlpha: 'none' + }; + } - distance: function () { + setOptions(options) { + this.options = options; + return this; + } - return this.start.distanceTo( this.end ); + load(url, onLoad, onProgress, onError) { + if (url === undefined) url = ''; + if (this.path !== undefined) url = this.path + url; + url = this.manager.resolveURL(url); + const scope = this; + const cached = Cache.get(url); - }, + if (cached !== undefined) { + scope.manager.itemStart(url); + setTimeout(function () { + if (onLoad) onLoad(cached); + scope.manager.itemEnd(url); + }, 0); + return cached; + } - at: function ( t, target ) { + const fetchOptions = {}; + fetchOptions.credentials = this.crossOrigin === 'anonymous' ? 'same-origin' : 'include'; + fetchOptions.headers = this.requestHeader; + fetch(url, fetchOptions).then(function (res) { + return res.blob(); + }).then(function (blob) { + return createImageBitmap(blob, Object.assign(scope.options, { + colorSpaceConversion: 'none' + })); + }).then(function (imageBitmap) { + Cache.add(url, imageBitmap); + if (onLoad) onLoad(imageBitmap); + scope.manager.itemEnd(url); + }).catch(function (e) { + if (onError) onError(e); + scope.manager.itemError(url); + scope.manager.itemEnd(url); + }); + scope.manager.itemStart(url); + } - if ( target === undefined ) { + } - console.warn( 'THREE.Line3: .at() target is now required' ); - target = new Vector3(); + ImageBitmapLoader.prototype.isImageBitmapLoader = true; - } + class ShapePath { + constructor() { + this.type = 'ShapePath'; + this.color = new Color(); + this.subPaths = []; + this.currentPath = null; + } - return this.delta( target ).multiplyScalar( t ).add( this.start ); + moveTo(x, y) { + this.currentPath = new Path(); + this.subPaths.push(this.currentPath); + this.currentPath.moveTo(x, y); + return this; + } - }, + lineTo(x, y) { + this.currentPath.lineTo(x, y); + return this; + } - closestPointToPointParameter: function () { + quadraticCurveTo(aCPx, aCPy, aX, aY) { + this.currentPath.quadraticCurveTo(aCPx, aCPy, aX, aY); + return this; + } - var startP = new Vector3(); - var startEnd = new Vector3(); + bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY) { + this.currentPath.bezierCurveTo(aCP1x, aCP1y, aCP2x, aCP2y, aX, aY); + return this; + } - return function closestPointToPointParameter( point, clampToLine ) { + splineThru(pts) { + this.currentPath.splineThru(pts); + return this; + } - startP.subVectors( point, this.start ); - startEnd.subVectors( this.end, this.start ); + toShapes(isCCW, noHoles) { + function toShapesNoHoles(inSubpaths) { + const shapes = []; - var startEnd2 = startEnd.dot( startEnd ); - var startEnd_startP = startEnd.dot( startP ); + for (let i = 0, l = inSubpaths.length; i < l; i++) { + const tmpPath = inSubpaths[i]; + const tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + shapes.push(tmpShape); + } - var t = startEnd_startP / startEnd2; + return shapes; + } - if ( clampToLine ) { + function isPointInsidePolygon(inPt, inPolygon) { + const polyLen = inPolygon.length; // inPt on polygon contour => immediate success or + // toggling of inside/outside at every single! intersection point of an edge + // with the horizontal line through inPt, left of inPt + // not counting lowerY endpoints of edges and whole edges on that line - t = _Math.clamp( t, 0, 1 ); + let inside = false; - } + for (let p = polyLen - 1, q = 0; q < polyLen; p = q++) { + let edgeLowPt = inPolygon[p]; + let edgeHighPt = inPolygon[q]; + let edgeDx = edgeHighPt.x - edgeLowPt.x; + let edgeDy = edgeHighPt.y - edgeLowPt.y; - return t; + if (Math.abs(edgeDy) > Number.EPSILON) { + // not parallel + if (edgeDy < 0) { + edgeLowPt = inPolygon[q]; + edgeDx = -edgeDx; + edgeHighPt = inPolygon[p]; + edgeDy = -edgeDy; + } - }; + if (inPt.y < edgeLowPt.y || inPt.y > edgeHighPt.y) continue; - }(), + if (inPt.y === edgeLowPt.y) { + if (inPt.x === edgeLowPt.x) return true; // inPt is on contour ? + // continue; // no intersection or edgeLowPt => doesn't count !!! + } else { + const perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y); + if (perpEdge === 0) return true; // inPt is on contour ? - closestPointToPoint: function ( point, clampToLine, target ) { + if (perpEdge < 0) continue; + inside = !inside; // true intersection left of inPt + } + } else { + // parallel or collinear + if (inPt.y !== edgeLowPt.y) continue; // parallel + // edge lies on the same horizontal line as inPt - var t = this.closestPointToPointParameter( point, clampToLine ); + if (edgeHighPt.x <= inPt.x && inPt.x <= edgeLowPt.x || edgeLowPt.x <= inPt.x && inPt.x <= edgeHighPt.x) return true; // inPt: Point on contour ! + // continue; + } + } - if ( target === undefined ) { + return inside; + } - console.warn( 'THREE.Line3: .closestPointToPoint() target is now required' ); - target = new Vector3(); + const isClockWise = ShapeUtils.isClockWise; + const subPaths = this.subPaths; + if (subPaths.length === 0) return []; + if (noHoles === true) return toShapesNoHoles(subPaths); + let solid, tmpPath, tmpShape; + const shapes = []; + if (subPaths.length === 1) { + tmpPath = subPaths[0]; + tmpShape = new Shape(); + tmpShape.curves = tmpPath.curves; + shapes.push(tmpShape); + return shapes; } - return this.delta( target ).multiplyScalar( t ).add( this.start ); + let holesFirst = !isClockWise(subPaths[0].getPoints()); + holesFirst = isCCW ? !holesFirst : holesFirst; // console.log("Holes first", holesFirst); - }, + const betterShapeHoles = []; + const newShapes = []; + let newShapeHoles = []; + let mainIdx = 0; + let tmpPoints; + newShapes[mainIdx] = undefined; + newShapeHoles[mainIdx] = []; - applyMatrix4: function ( matrix ) { + for (let i = 0, l = subPaths.length; i < l; i++) { + tmpPath = subPaths[i]; + tmpPoints = tmpPath.getPoints(); + solid = isClockWise(tmpPoints); + solid = isCCW ? !solid : solid; + + if (solid) { + if (!holesFirst && newShapes[mainIdx]) mainIdx++; + newShapes[mainIdx] = { + s: new Shape(), + p: tmpPoints + }; + newShapes[mainIdx].s.curves = tmpPath.curves; + if (holesFirst) mainIdx++; + newShapeHoles[mainIdx] = []; //console.log('cw', i); + } else { + newShapeHoles[mainIdx].push({ + h: tmpPath, + p: tmpPoints[0] + }); //console.log('ccw', i); + } + } // only Holes? -> probably all Shapes with wrong orientation - this.start.applyMatrix4( matrix ); - this.end.applyMatrix4( matrix ); - return this; + if (!newShapes[0]) return toShapesNoHoles(subPaths); - }, + if (newShapes.length > 1) { + let ambiguous = false; + const toChange = []; - equals: function ( line ) { + for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) { + betterShapeHoles[sIdx] = []; + } - return line.start.equals( this.start ) && line.end.equals( this.end ); + for (let sIdx = 0, sLen = newShapes.length; sIdx < sLen; sIdx++) { + const sho = newShapeHoles[sIdx]; - } + for (let hIdx = 0; hIdx < sho.length; hIdx++) { + const ho = sho[hIdx]; + let hole_unassigned = true; - } ); + for (let s2Idx = 0; s2Idx < newShapes.length; s2Idx++) { + if (isPointInsidePolygon(ho.p, newShapes[s2Idx].p)) { + if (sIdx !== s2Idx) toChange.push({ + froms: sIdx, + tos: s2Idx, + hole: hIdx + }); - /** - * @author alteredq / http://alteredqualia.com/ - */ + if (hole_unassigned) { + hole_unassigned = false; + betterShapeHoles[s2Idx].push(ho); + } else { + ambiguous = true; + } + } + } - function ImmediateRenderObject( material ) { + if (hole_unassigned) { + betterShapeHoles[sIdx].push(ho); + } + } + } // console.log("ambiguous: ", ambiguous); - Object3D.call( this ); - this.material = material; - this.render = function ( /* renderCallback */ ) {}; + if (toChange.length > 0) { + // console.log("to change: ", toChange); + if (!ambiguous) newShapeHoles = betterShapeHoles; + } + } - } + let tmpHoles; - ImmediateRenderObject.prototype = Object.create( Object3D.prototype ); - ImmediateRenderObject.prototype.constructor = ImmediateRenderObject; + for (let i = 0, il = newShapes.length; i < il; i++) { + tmpShape = newShapes[i].s; + shapes.push(tmpShape); + tmpHoles = newShapeHoles[i]; - ImmediateRenderObject.prototype.isImmediateRenderObject = true; + for (let j = 0, jl = tmpHoles.length; j < jl; j++) { + tmpShape.holes.push(tmpHoles[j].h); + } + } //console.log("shape", shapes); - /** - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - */ - function VertexNormalsHelper( object, size, hex, linewidth ) { + return shapes; + } - this.object = object; + } - this.size = ( size !== undefined ) ? size : 1; + class Font { + constructor(data) { + this.type = 'Font'; + this.data = data; + } - var color = ( hex !== undefined ) ? hex : 0xff0000; + generateShapes(text, size = 100) { + const shapes = []; + const paths = createPaths(text, size, this.data); - var width = ( linewidth !== undefined ) ? linewidth : 1; + for (let p = 0, pl = paths.length; p < pl; p++) { + Array.prototype.push.apply(shapes, paths[p].toShapes()); + } - // + return shapes; + } - var nNormals = 0; + } - var objGeometry = this.object.geometry; + function createPaths(text, size, data) { + const chars = Array.from(text); + const scale = size / data.resolution; + const line_height = (data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness) * scale; + const paths = []; + let offsetX = 0, + offsetY = 0; - if ( objGeometry && objGeometry.isGeometry ) { + for (let i = 0; i < chars.length; i++) { + const char = chars[i]; - nNormals = objGeometry.faces.length * 3; + if (char === '\n') { + offsetX = 0; + offsetY -= line_height; + } else { + const ret = createPath(char, scale, offsetX, offsetY, data); + offsetX += ret.offsetX; + paths.push(ret.path); + } + } - } else if ( objGeometry && objGeometry.isBufferGeometry ) { + return paths; + } - nNormals = objGeometry.attributes.normal.count; + function createPath(char, scale, offsetX, offsetY, data) { + const glyph = data.glyphs[char] || data.glyphs['?']; + if (!glyph) { + console.error('THREE.Font: character "' + char + '" does not exists in font family ' + data.familyName + '.'); + return; } - // + const path = new ShapePath(); + let x, y, cpx, cpy, cpx1, cpy1, cpx2, cpy2; - var geometry = new BufferGeometry(); + if (glyph.o) { + const outline = glyph._cachedOutline || (glyph._cachedOutline = glyph.o.split(' ')); - var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); + for (let i = 0, l = outline.length; i < l;) { + const action = outline[i++]; - geometry.addAttribute( 'position', positions ); - - LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); + switch (action) { + case 'm': + // moveTo + x = outline[i++] * scale + offsetX; + y = outline[i++] * scale + offsetY; + path.moveTo(x, y); + break; - // + case 'l': + // lineTo + x = outline[i++] * scale + offsetX; + y = outline[i++] * scale + offsetY; + path.lineTo(x, y); + break; - this.matrixAutoUpdate = false; + case 'q': + // quadraticCurveTo + cpx = outline[i++] * scale + offsetX; + cpy = outline[i++] * scale + offsetY; + cpx1 = outline[i++] * scale + offsetX; + cpy1 = outline[i++] * scale + offsetY; + path.quadraticCurveTo(cpx1, cpy1, cpx, cpy); + break; - this.update(); + case 'b': + // bezierCurveTo + cpx = outline[i++] * scale + offsetX; + cpy = outline[i++] * scale + offsetY; + cpx1 = outline[i++] * scale + offsetX; + cpy1 = outline[i++] * scale + offsetY; + cpx2 = outline[i++] * scale + offsetX; + cpy2 = outline[i++] * scale + offsetY; + path.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, cpx, cpy); + break; + } + } + } + return { + offsetX: glyph.ha * scale, + path: path + }; } - VertexNormalsHelper.prototype = Object.create( LineSegments.prototype ); - VertexNormalsHelper.prototype.constructor = VertexNormalsHelper; - - VertexNormalsHelper.prototype.update = ( function () { - - var v1 = new Vector3(); - var v2 = new Vector3(); - var normalMatrix = new Matrix3(); + Font.prototype.isFont = true; - return function update() { - - var keys = [ 'a', 'b', 'c' ]; + class FontLoader extends Loader { + constructor(manager) { + super(manager); + } - this.object.updateMatrixWorld( true ); + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(scope.withCredentials); + loader.load(url, function (text) { + let json; - normalMatrix.getNormalMatrix( this.object.matrixWorld ); + try { + json = JSON.parse(text); + } catch (e) { + console.warn('THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.'); + json = JSON.parse(text.substring(65, text.length - 2)); + } - var matrixWorld = this.object.matrixWorld; + const font = scope.parse(json); + if (onLoad) onLoad(font); + }, onProgress, onError); + } - var position = this.geometry.attributes.position; + parse(json) { + return new Font(json); + } - // + } - var objGeometry = this.object.geometry; + let _context; - if ( objGeometry && objGeometry.isGeometry ) { + const AudioContext = { + getContext: function () { + if (_context === undefined) { + _context = new (window.AudioContext || window.webkitAudioContext)(); + } - var vertices = objGeometry.vertices; + return _context; + }, + setContext: function (value) { + _context = value; + } + }; - var faces = objGeometry.faces; + class AudioLoader extends Loader { + constructor(manager) { + super(manager); + } - var idx = 0; + load(url, onLoad, onProgress, onError) { + const scope = this; + const loader = new FileLoader(this.manager); + loader.setResponseType('arraybuffer'); + loader.setPath(this.path); + loader.setRequestHeader(this.requestHeader); + loader.setWithCredentials(this.withCredentials); + loader.load(url, function (buffer) { + try { + // Create a copy of the buffer. The `decodeAudioData` method + // detaches the buffer when complete, preventing reuse. + const bufferCopy = buffer.slice(0); + const context = AudioContext.getContext(); + context.decodeAudioData(bufferCopy, function (audioBuffer) { + onLoad(audioBuffer); + }); + } catch (e) { + if (onError) { + onError(e); + } else { + console.error(e); + } - for ( var i = 0, l = faces.length; i < l; i ++ ) { + scope.manager.itemError(url); + } + }, onProgress, onError); + } - var face = faces[ i ]; + } - for ( var j = 0, jl = face.vertexNormals.length; j < jl; j ++ ) { + class HemisphereLightProbe extends LightProbe { + constructor(skyColor, groundColor, intensity = 1) { + super(undefined, intensity); + const color1 = new Color().set(skyColor); + const color2 = new Color().set(groundColor); + const sky = new Vector3(color1.r, color1.g, color1.b); + const ground = new Vector3(color2.r, color2.g, color2.b); // without extra factor of PI in the shader, should = 1 / Math.sqrt( Math.PI ); - var vertex = vertices[ face[ keys[ j ] ] ]; + const c0 = Math.sqrt(Math.PI); + const c1 = c0 * Math.sqrt(0.75); + this.sh.coefficients[0].copy(sky).add(ground).multiplyScalar(c0); + this.sh.coefficients[1].copy(sky).sub(ground).multiplyScalar(c1); + } - var normal = face.vertexNormals[ j ]; + } - v1.copy( vertex ).applyMatrix4( matrixWorld ); + HemisphereLightProbe.prototype.isHemisphereLightProbe = true; - v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + class AmbientLightProbe extends LightProbe { + constructor(color, intensity = 1) { + super(undefined, intensity); + const color1 = new Color().set(color); // without extra factor of PI in the shader, would be 2 / Math.sqrt( Math.PI ); - position.setXYZ( idx, v1.x, v1.y, v1.z ); + this.sh.coefficients[0].set(color1.r, color1.g, color1.b).multiplyScalar(2 * Math.sqrt(Math.PI)); + } - idx = idx + 1; + } - position.setXYZ( idx, v2.x, v2.y, v2.z ); + AmbientLightProbe.prototype.isAmbientLightProbe = true; - idx = idx + 1; + const _eyeRight = /*@__PURE__*/new Matrix4(); - } + const _eyeLeft = /*@__PURE__*/new Matrix4(); - } + class StereoCamera { + constructor() { + this.type = 'StereoCamera'; + this.aspect = 1; + this.eyeSep = 0.064; + this.cameraL = new PerspectiveCamera(); + this.cameraL.layers.enable(1); + this.cameraL.matrixAutoUpdate = false; + this.cameraR = new PerspectiveCamera(); + this.cameraR.layers.enable(2); + this.cameraR.matrixAutoUpdate = false; + this._cache = { + focus: null, + fov: null, + aspect: null, + near: null, + far: null, + zoom: null, + eyeSep: null + }; + } - } else if ( objGeometry && objGeometry.isBufferGeometry ) { + update(camera) { + const cache = this._cache; + const needsUpdate = cache.focus !== camera.focus || cache.fov !== camera.fov || cache.aspect !== camera.aspect * this.aspect || cache.near !== camera.near || cache.far !== camera.far || cache.zoom !== camera.zoom || cache.eyeSep !== this.eyeSep; - var objPos = objGeometry.attributes.position; + if (needsUpdate) { + cache.focus = camera.focus; + cache.fov = camera.fov; + cache.aspect = camera.aspect * this.aspect; + cache.near = camera.near; + cache.far = camera.far; + cache.zoom = camera.zoom; + cache.eyeSep = this.eyeSep; // Off-axis stereoscopic effect based on + // http://paulbourke.net/stereographics/stereorender/ - var objNorm = objGeometry.attributes.normal; + const projectionMatrix = camera.projectionMatrix.clone(); + const eyeSepHalf = cache.eyeSep / 2; + const eyeSepOnProjection = eyeSepHalf * cache.near / cache.focus; + const ymax = cache.near * Math.tan(DEG2RAD * cache.fov * 0.5) / cache.zoom; + let xmin, xmax; // translate xOffset - var idx = 0; + _eyeLeft.elements[12] = -eyeSepHalf; + _eyeRight.elements[12] = eyeSepHalf; // for left eye - // for simplicity, ignore index and drawcalls, and render every normal + xmin = -ymax * cache.aspect + eyeSepOnProjection; + xmax = ymax * cache.aspect + eyeSepOnProjection; + projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin); + projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin); + this.cameraL.projectionMatrix.copy(projectionMatrix); // for right eye - for ( var j = 0, jl = objPos.count; j < jl; j ++ ) { + xmin = -ymax * cache.aspect - eyeSepOnProjection; + xmax = ymax * cache.aspect - eyeSepOnProjection; + projectionMatrix.elements[0] = 2 * cache.near / (xmax - xmin); + projectionMatrix.elements[8] = (xmax + xmin) / (xmax - xmin); + this.cameraR.projectionMatrix.copy(projectionMatrix); + } - v1.set( objPos.getX( j ), objPos.getY( j ), objPos.getZ( j ) ).applyMatrix4( matrixWorld ); + this.cameraL.matrixWorld.copy(camera.matrixWorld).multiply(_eyeLeft); + this.cameraR.matrixWorld.copy(camera.matrixWorld).multiply(_eyeRight); + } - v2.set( objNorm.getX( j ), objNorm.getY( j ), objNorm.getZ( j ) ); + } - v2.applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + class Clock { + constructor(autoStart = true) { + this.autoStart = autoStart; + this.startTime = 0; + this.oldTime = 0; + this.elapsedTime = 0; + this.running = false; + } - position.setXYZ( idx, v1.x, v1.y, v1.z ); + start() { + this.startTime = now(); + this.oldTime = this.startTime; + this.elapsedTime = 0; + this.running = true; + } - idx = idx + 1; + stop() { + this.getElapsedTime(); + this.running = false; + this.autoStart = false; + } - position.setXYZ( idx, v2.x, v2.y, v2.z ); + getElapsedTime() { + this.getDelta(); + return this.elapsedTime; + } - idx = idx + 1; + getDelta() { + let diff = 0; - } + if (this.autoStart && !this.running) { + this.start(); + return 0; + } + if (this.running) { + const newTime = now(); + diff = (newTime - this.oldTime) / 1000; + this.oldTime = newTime; + this.elapsedTime += diff; } - position.needsUpdate = true; + return diff; + } - }; + } - }() ); + function now() { + return (typeof performance === 'undefined' ? Date : performance).now(); // see #10732 + } - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - */ + const _position$1 = /*@__PURE__*/new Vector3(); + + const _quaternion$1 = /*@__PURE__*/new Quaternion(); - function SpotLightHelper( light, color ) { + const _scale$1 = /*@__PURE__*/new Vector3(); - Object3D.call( this ); + const _orientation$1 = /*@__PURE__*/new Vector3(); - this.light = light; - this.light.updateMatrixWorld(); + class AudioListener extends Object3D { + constructor() { + super(); + this.type = 'AudioListener'; + this.context = AudioContext.getContext(); + this.gain = this.context.createGain(); + this.gain.connect(this.context.destination); + this.filter = null; + this.timeDelta = 0; // private - this.matrix = light.matrixWorld; - this.matrixAutoUpdate = false; + this._clock = new Clock(); + } - this.color = color; + getInput() { + return this.gain; + } - var geometry = new BufferGeometry(); + removeFilter() { + if (this.filter !== null) { + this.gain.disconnect(this.filter); + this.filter.disconnect(this.context.destination); + this.gain.connect(this.context.destination); + this.filter = null; + } - var positions = [ - 0, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 1, - 0, 0, 0, - 1, 0, 1, - 0, 0, 0, 0, 1, 1, - 0, 0, 0, 0, - 1, 1 - ]; + return this; + } - for ( var i = 0, j = 1, l = 32; i < l; i ++, j ++ ) { + getFilter() { + return this.filter; + } - var p1 = ( i / l ) * Math.PI * 2; - var p2 = ( j / l ) * Math.PI * 2; + setFilter(value) { + if (this.filter !== null) { + this.gain.disconnect(this.filter); + this.filter.disconnect(this.context.destination); + } else { + this.gain.disconnect(this.context.destination); + } - positions.push( - Math.cos( p1 ), Math.sin( p1 ), 1, - Math.cos( p2 ), Math.sin( p2 ), 1 - ); + this.filter = value; + this.gain.connect(this.filter); + this.filter.connect(this.context.destination); + return this; + } + getMasterVolume() { + return this.gain.gain.value; } - geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + setMasterVolume(value) { + this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01); + return this; + } - var material = new LineBasicMaterial( { fog: false } ); + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + const listener = this.context.listener; + const up = this.up; + this.timeDelta = this._clock.getDelta(); + this.matrixWorld.decompose(_position$1, _quaternion$1, _scale$1); - this.cone = new LineSegments( geometry, material ); - this.add( this.cone ); + _orientation$1.set(0, 0, -1).applyQuaternion(_quaternion$1); - this.update(); + if (listener.positionX) { + // code path for Chrome (see #14393) + const endTime = this.context.currentTime + this.timeDelta; + listener.positionX.linearRampToValueAtTime(_position$1.x, endTime); + listener.positionY.linearRampToValueAtTime(_position$1.y, endTime); + listener.positionZ.linearRampToValueAtTime(_position$1.z, endTime); + listener.forwardX.linearRampToValueAtTime(_orientation$1.x, endTime); + listener.forwardY.linearRampToValueAtTime(_orientation$1.y, endTime); + listener.forwardZ.linearRampToValueAtTime(_orientation$1.z, endTime); + listener.upX.linearRampToValueAtTime(up.x, endTime); + listener.upY.linearRampToValueAtTime(up.y, endTime); + listener.upZ.linearRampToValueAtTime(up.z, endTime); + } else { + listener.setPosition(_position$1.x, _position$1.y, _position$1.z); + listener.setOrientation(_orientation$1.x, _orientation$1.y, _orientation$1.z, up.x, up.y, up.z); + } + } } - SpotLightHelper.prototype = Object.create( Object3D.prototype ); - SpotLightHelper.prototype.constructor = SpotLightHelper; - - SpotLightHelper.prototype.dispose = function () { - - this.cone.geometry.dispose(); - this.cone.material.dispose(); + class Audio extends Object3D { + constructor(listener) { + super(); + this.type = 'Audio'; + this.listener = listener; + this.context = listener.context; + this.gain = this.context.createGain(); + this.gain.connect(listener.getInput()); + this.autoplay = false; + this.buffer = null; + this.detune = 0; + this.loop = false; + this.loopStart = 0; + this.loopEnd = 0; + this.offset = 0; + this.duration = undefined; + this.playbackRate = 1; + this.isPlaying = false; + this.hasPlaybackControl = true; + this.source = null; + this.sourceType = 'empty'; + this._startedAt = 0; + this._progress = 0; + this._connected = false; + this.filters = []; + } - }; + getOutput() { + return this.gain; + } - SpotLightHelper.prototype.update = function () { + setNodeSource(audioNode) { + this.hasPlaybackControl = false; + this.sourceType = 'audioNode'; + this.source = audioNode; + this.connect(); + return this; + } - var vector = new Vector3(); + setMediaElementSource(mediaElement) { + this.hasPlaybackControl = false; + this.sourceType = 'mediaNode'; + this.source = this.context.createMediaElementSource(mediaElement); + this.connect(); + return this; + } - return function update() { + setMediaStreamSource(mediaStream) { + this.hasPlaybackControl = false; + this.sourceType = 'mediaStreamNode'; + this.source = this.context.createMediaStreamSource(mediaStream); + this.connect(); + return this; + } - this.light.updateMatrixWorld(); + setBuffer(audioBuffer) { + this.buffer = audioBuffer; + this.sourceType = 'buffer'; + if (this.autoplay) this.play(); + return this; + } - var coneLength = this.light.distance ? this.light.distance : 1000; - var coneWidth = coneLength * Math.tan( this.light.angle ); + play(delay = 0) { + if (this.isPlaying === true) { + console.warn('THREE.Audio: Audio is already playing.'); + return; + } - this.cone.scale.set( coneWidth, coneWidth, coneLength ); + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return; + } - vector.setFromMatrixPosition( this.light.target.matrixWorld ); + this._startedAt = this.context.currentTime + delay; + const source = this.context.createBufferSource(); + source.buffer = this.buffer; + source.loop = this.loop; + source.loopStart = this.loopStart; + source.loopEnd = this.loopEnd; + source.onended = this.onEnded.bind(this); + source.start(this._startedAt, this._progress + this.offset, this.duration); + this.isPlaying = true; + this.source = source; + this.setDetune(this.detune); + this.setPlaybackRate(this.playbackRate); + return this.connect(); + } - this.cone.lookAt( vector ); + pause() { + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return; + } - if ( this.color !== undefined ) { + if (this.isPlaying === true) { + // update current progress + this._progress += Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate; - this.cone.material.color.set( this.color ); + if (this.loop === true) { + // ensure _progress does not exceed duration with looped audios + this._progress = this._progress % (this.duration || this.buffer.duration); + } - } else { + this.source.stop(); + this.source.onended = null; + this.isPlaying = false; + } - this.cone.material.color.copy( this.light.color ); + return this; + } + stop() { + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return; } - }; - - }(); + this._progress = 0; + this.source.stop(); + this.source.onended = null; + this.isPlaying = false; + return this; + } - /** - * @author Sean Griffin / http://twitter.com/sgrif - * @author Michael Guerrero / http://realitymeltdown.com - * @author mrdoob / http://mrdoob.com/ - * @author ikerr / http://verold.com - * @author Mugen87 / https://github.com/Mugen87 - */ + connect() { + if (this.filters.length > 0) { + this.source.connect(this.filters[0]); - function getBoneList( object ) { + for (let i = 1, l = this.filters.length; i < l; i++) { + this.filters[i - 1].connect(this.filters[i]); + } - var boneList = []; + this.filters[this.filters.length - 1].connect(this.getOutput()); + } else { + this.source.connect(this.getOutput()); + } - if ( object && object.isBone ) { + this._connected = true; + return this; + } - boneList.push( object ); + disconnect() { + if (this.filters.length > 0) { + this.source.disconnect(this.filters[0]); - } + for (let i = 1, l = this.filters.length; i < l; i++) { + this.filters[i - 1].disconnect(this.filters[i]); + } - for ( var i = 0; i < object.children.length; i ++ ) { + this.filters[this.filters.length - 1].disconnect(this.getOutput()); + } else { + this.source.disconnect(this.getOutput()); + } - boneList.push.apply( boneList, getBoneList( object.children[ i ] ) ); + this._connected = false; + return this; + } + getFilters() { + return this.filters; } - return boneList; + setFilters(value) { + if (!value) value = []; - } + if (this._connected === true) { + this.disconnect(); + this.filters = value.slice(); + this.connect(); + } else { + this.filters = value.slice(); + } - function SkeletonHelper( object ) { + return this; + } - var bones = getBoneList( object ); + setDetune(value) { + this.detune = value; + if (this.source.detune === undefined) return; // only set detune when available - var geometry = new BufferGeometry(); + if (this.isPlaying === true) { + this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01); + } - var vertices = []; - var colors = []; + return this; + } - var color1 = new Color( 0, 0, 1 ); - var color2 = new Color( 0, 1, 0 ); + getDetune() { + return this.detune; + } - for ( var i = 0; i < bones.length; i ++ ) { + getFilter() { + return this.getFilters()[0]; + } - var bone = bones[ i ]; + setFilter(filter) { + return this.setFilters(filter ? [filter] : []); + } - if ( bone.parent && bone.parent.isBone ) { + setPlaybackRate(value) { + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return; + } - vertices.push( 0, 0, 0 ); - vertices.push( 0, 0, 0 ); - colors.push( color1.r, color1.g, color1.b ); - colors.push( color2.r, color2.g, color2.b ); + this.playbackRate = value; + if (this.isPlaying === true) { + this.source.playbackRate.setTargetAtTime(this.playbackRate, this.context.currentTime, 0.01); } + return this; } - geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); - - var material = new LineBasicMaterial( { vertexColors: VertexColors, depthTest: false, depthWrite: false, transparent: true } ); - - LineSegments.call( this, geometry, material ); - - this.root = object; - this.bones = bones; - - this.matrix = object.matrixWorld; - this.matrixAutoUpdate = false; - - } + getPlaybackRate() { + return this.playbackRate; + } - SkeletonHelper.prototype = Object.create( LineSegments.prototype ); - SkeletonHelper.prototype.constructor = SkeletonHelper; + onEnded() { + this.isPlaying = false; + } - SkeletonHelper.prototype.updateMatrixWorld = function () { + getLoop() { + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return false; + } - var vector = new Vector3(); + return this.loop; + } - var boneMatrix = new Matrix4(); - var matrixWorldInv = new Matrix4(); + setLoop(value) { + if (this.hasPlaybackControl === false) { + console.warn('THREE.Audio: this Audio has no playback control.'); + return; + } - return function updateMatrixWorld( force ) { + this.loop = value; - var bones = this.bones; + if (this.isPlaying === true) { + this.source.loop = this.loop; + } - var geometry = this.geometry; - var position = geometry.getAttribute( 'position' ); + return this; + } - matrixWorldInv.getInverse( this.root.matrixWorld ); + setLoopStart(value) { + this.loopStart = value; + return this; + } - for ( var i = 0, j = 0; i < bones.length; i ++ ) { + setLoopEnd(value) { + this.loopEnd = value; + return this; + } - var bone = bones[ i ]; + getVolume() { + return this.gain.gain.value; + } - if ( bone.parent && bone.parent.isBone ) { + setVolume(value) { + this.gain.gain.setTargetAtTime(value, this.context.currentTime, 0.01); + return this; + } - boneMatrix.multiplyMatrices( matrixWorldInv, bone.matrixWorld ); - vector.setFromMatrixPosition( boneMatrix ); - position.setXYZ( j, vector.x, vector.y, vector.z ); + } - boneMatrix.multiplyMatrices( matrixWorldInv, bone.parent.matrixWorld ); - vector.setFromMatrixPosition( boneMatrix ); - position.setXYZ( j + 1, vector.x, vector.y, vector.z ); + const _position = /*@__PURE__*/new Vector3(); - j += 2; + const _quaternion = /*@__PURE__*/new Quaternion(); - } + const _scale = /*@__PURE__*/new Vector3(); - } + const _orientation = /*@__PURE__*/new Vector3(); - geometry.getAttribute( 'position' ).needsUpdate = true; + class PositionalAudio extends Audio { + constructor(listener) { + super(listener); + this.panner = this.context.createPanner(); + this.panner.panningModel = 'HRTF'; + this.panner.connect(this.gain); + } - Object3D.prototype.updateMatrixWorld.call( this, force ); + getOutput() { + return this.panner; + } - }; + getRefDistance() { + return this.panner.refDistance; + } - }(); + setRefDistance(value) { + this.panner.refDistance = value; + return this; + } - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - */ + getRolloffFactor() { + return this.panner.rolloffFactor; + } - function PointLightHelper( light, sphereSize, color ) { + setRolloffFactor(value) { + this.panner.rolloffFactor = value; + return this; + } - this.light = light; - this.light.updateMatrixWorld(); + getDistanceModel() { + return this.panner.distanceModel; + } - this.color = color; + setDistanceModel(value) { + this.panner.distanceModel = value; + return this; + } - var geometry = new SphereBufferGeometry( sphereSize, 4, 2 ); - var material = new MeshBasicMaterial( { wireframe: true, fog: false } ); + getMaxDistance() { + return this.panner.maxDistance; + } - Mesh.call( this, geometry, material ); + setMaxDistance(value) { + this.panner.maxDistance = value; + return this; + } - this.matrix = this.light.matrixWorld; - this.matrixAutoUpdate = false; + setDirectionalCone(coneInnerAngle, coneOuterAngle, coneOuterGain) { + this.panner.coneInnerAngle = coneInnerAngle; + this.panner.coneOuterAngle = coneOuterAngle; + this.panner.coneOuterGain = coneOuterGain; + return this; + } - this.update(); + updateMatrixWorld(force) { + super.updateMatrixWorld(force); + if (this.hasPlaybackControl === true && this.isPlaying === false) return; + this.matrixWorld.decompose(_position, _quaternion, _scale); + _orientation.set(0, 0, 1).applyQuaternion(_quaternion); - /* - var distanceGeometry = new THREE.IcosahedronBufferGeometry( 1, 2 ); - var distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } ); + const panner = this.panner; - this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial ); - this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial ); + if (panner.positionX) { + // code path for Chrome and Firefox (see #14393) + const endTime = this.context.currentTime + this.listener.timeDelta; + panner.positionX.linearRampToValueAtTime(_position.x, endTime); + panner.positionY.linearRampToValueAtTime(_position.y, endTime); + panner.positionZ.linearRampToValueAtTime(_position.z, endTime); + panner.orientationX.linearRampToValueAtTime(_orientation.x, endTime); + panner.orientationY.linearRampToValueAtTime(_orientation.y, endTime); + panner.orientationZ.linearRampToValueAtTime(_orientation.z, endTime); + } else { + panner.setPosition(_position.x, _position.y, _position.z); + panner.setOrientation(_orientation.x, _orientation.y, _orientation.z); + } + } - var d = light.distance; + } - if ( d === 0.0 ) { + class AudioAnalyser { + constructor(audio, fftSize = 2048) { + this.analyser = audio.context.createAnalyser(); + this.analyser.fftSize = fftSize; + this.data = new Uint8Array(this.analyser.frequencyBinCount); + audio.getOutput().connect(this.analyser); + } - this.lightDistance.visible = false; + getFrequencyData() { + this.analyser.getByteFrequencyData(this.data); + return this.data; + } - } else { + getAverageFrequency() { + let value = 0; + const data = this.getFrequencyData(); - this.lightDistance.scale.set( d, d, d ); + for (let i = 0; i < data.length; i++) { + value += data[i]; + } + return value / data.length; } - this.add( this.lightDistance ); - */ - } - PointLightHelper.prototype = Object.create( Mesh.prototype ); - PointLightHelper.prototype.constructor = PointLightHelper; - - PointLightHelper.prototype.dispose = function () { - - this.geometry.dispose(); - this.material.dispose(); + class PropertyMixer { + constructor(binding, typeName, valueSize) { + this.binding = binding; + this.valueSize = valueSize; + let mixFunction, mixFunctionAdditive, setIdentity; // buffer layout: [ incoming | accu0 | accu1 | orig | addAccu | (optional work) ] + // + // interpolators can use .buffer as their .result + // the data then goes to 'incoming' + // + // 'accu0' and 'accu1' are used frame-interleaved for + // the cumulative result and are compared to detect + // changes + // + // 'orig' stores the original state of the property + // + // 'add' is used for additive cumulative results + // + // 'work' is optional and is only present for quaternion types. It is used + // to store intermediate quaternion multiplication results + + switch (typeName) { + case 'quaternion': + mixFunction = this._slerp; + mixFunctionAdditive = this._slerpAdditive; + setIdentity = this._setAdditiveIdentityQuaternion; + this.buffer = new Float64Array(valueSize * 6); + this._workIndex = 5; + break; - }; + case 'string': + case 'bool': + mixFunction = this._select; // Use the regular mix function and for additive on these types, + // additive is not relevant for non-numeric types - PointLightHelper.prototype.update = function () { + mixFunctionAdditive = this._select; + setIdentity = this._setAdditiveIdentityOther; + this.buffer = new Array(valueSize * 5); + break; - if ( this.color !== undefined ) { + default: + mixFunction = this._lerp; + mixFunctionAdditive = this._lerpAdditive; + setIdentity = this._setAdditiveIdentityNumeric; + this.buffer = new Float64Array(valueSize * 5); + } - this.material.color.set( this.color ); + this._mixBufferRegion = mixFunction; + this._mixBufferRegionAdditive = mixFunctionAdditive; + this._setIdentity = setIdentity; + this._origIndex = 3; + this._addIndex = 4; + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + this.useCount = 0; + this.referenceCount = 0; + } // accumulate data in the 'incoming' region into 'accu' - } else { - this.material.color.copy( this.light.color ); + accumulate(accuIndex, weight) { + // note: happily accumulating nothing when weight = 0, the caller knows + // the weight and shouldn't have made the call in the first place + const buffer = this.buffer, + stride = this.valueSize, + offset = accuIndex * stride + stride; + let currentWeight = this.cumulativeWeight; - } + if (currentWeight === 0) { + // accuN := incoming * weight + for (let i = 0; i !== stride; ++i) { + buffer[offset + i] = buffer[i]; + } - /* - var d = this.light.distance; + currentWeight = weight; + } else { + // accuN := accuN + incoming * weight + currentWeight += weight; + const mix = weight / currentWeight; - if ( d === 0.0 ) { + this._mixBufferRegion(buffer, offset, 0, mix, stride); + } - this.lightDistance.visible = false; + this.cumulativeWeight = currentWeight; + } // accumulate data in the 'incoming' region into 'add' - } else { - this.lightDistance.visible = true; - this.lightDistance.scale.set( d, d, d ); + accumulateAdditive(weight) { + const buffer = this.buffer, + stride = this.valueSize, + offset = stride * this._addIndex; - } - */ + if (this.cumulativeWeightAdditive === 0) { + // add = identity + this._setIdentity(); + } // add := add + incoming * weight - }; - /** - * @author abelnation / http://github.com/abelnation - * @author Mugen87 / http://github.com/Mugen87 - * @author WestLangley / http://github.com/WestLangley - * - * This helper must be added as a child of the light - */ + this._mixBufferRegionAdditive(buffer, offset, 0, weight, stride); - function RectAreaLightHelper( light, color ) { + this.cumulativeWeightAdditive += weight; + } // apply the state of 'accu' to the binding when accus differ - this.type = 'RectAreaLightHelper'; - this.light = light; + apply(accuIndex) { + const stride = this.valueSize, + buffer = this.buffer, + offset = accuIndex * stride + stride, + weight = this.cumulativeWeight, + weightAdditive = this.cumulativeWeightAdditive, + binding = this.binding; + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; - this.color = color; // optional hardwired color for the helper + if (weight < 1) { + // accuN := accuN + original * ( 1 - cumulativeWeight ) + const originalValueOffset = stride * this._origIndex; - var positions = [ 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, - 1, 0, 1, 1, 0 ]; + this._mixBufferRegion(buffer, offset, originalValueOffset, 1 - weight, stride); + } - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); - geometry.computeBoundingSphere(); + if (weightAdditive > 0) { + // accuN := accuN + additive accuN + this._mixBufferRegionAdditive(buffer, offset, this._addIndex * stride, 1, stride); + } - var material = new LineBasicMaterial( { fog: false } ); + for (let i = stride, e = stride + stride; i !== e; ++i) { + if (buffer[i] !== buffer[i + stride]) { + // value has changed -> update scene graph + binding.setValue(buffer, offset); + break; + } + } + } // remember the state of the bound property and copy it to both accus - Line.call( this, geometry, material ); - // + saveOriginalState() { + const binding = this.binding; + const buffer = this.buffer, + stride = this.valueSize, + originalValueOffset = stride * this._origIndex; + binding.getValue(buffer, originalValueOffset); // accu[0..1] := orig -- initially detect changes against the original - var positions2 = [ 1, 1, 0, - 1, 1, 0, - 1, - 1, 0, 1, 1, 0, - 1, - 1, 0, 1, - 1, 0 ]; + for (let i = stride, e = originalValueOffset; i !== e; ++i) { + buffer[i] = buffer[originalValueOffset + i % stride]; + } // Add to identity for additive - var geometry2 = new BufferGeometry(); - geometry2.addAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) ); - geometry2.computeBoundingSphere(); - this.add( new Mesh( geometry2, new MeshBasicMaterial( { side: BackSide, fog: false } ) ) ); + this._setIdentity(); - this.update(); + this.cumulativeWeight = 0; + this.cumulativeWeightAdditive = 0; + } // apply the state previously taken via 'saveOriginalState' to the binding - } - RectAreaLightHelper.prototype = Object.create( Line.prototype ); - RectAreaLightHelper.prototype.constructor = RectAreaLightHelper; + restoreOriginalState() { + const originalValueOffset = this.valueSize * 3; + this.binding.setValue(this.buffer, originalValueOffset); + } - RectAreaLightHelper.prototype.update = function () { + _setAdditiveIdentityNumeric() { + const startIndex = this._addIndex * this.valueSize; + const endIndex = startIndex + this.valueSize; - this.scale.set( 0.5 * this.light.width, 0.5 * this.light.height, 1 ); + for (let i = startIndex; i < endIndex; i++) { + this.buffer[i] = 0; + } + } - if ( this.color !== undefined ) { + _setAdditiveIdentityQuaternion() { + this._setAdditiveIdentityNumeric(); - this.material.color.set( this.color ); - this.children[ 0 ].material.color.set( this.color ); + this.buffer[this._addIndex * this.valueSize + 3] = 1; + } - } else { + _setAdditiveIdentityOther() { + const startIndex = this._origIndex * this.valueSize; + const targetIndex = this._addIndex * this.valueSize; - this.material.color.copy( this.light.color ).multiplyScalar( this.light.intensity ); + for (let i = 0; i < this.valueSize; i++) { + this.buffer[targetIndex + i] = this.buffer[startIndex + i]; + } + } // mix functions - // prevent hue shift - var c = this.material.color; - var max = Math.max( c.r, c.g, c.b ); - if ( max > 1 ) c.multiplyScalar( 1 / max ); - this.children[ 0 ].material.color.copy( this.material.color ); + _select(buffer, dstOffset, srcOffset, t, stride) { + if (t >= 0.5) { + for (let i = 0; i !== stride; ++i) { + buffer[dstOffset + i] = buffer[srcOffset + i]; + } + } + } + _slerp(buffer, dstOffset, srcOffset, t) { + Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, srcOffset, t); } - }; + _slerpAdditive(buffer, dstOffset, srcOffset, t, stride) { + const workOffset = this._workIndex * stride; // Store result in intermediate buffer offset - RectAreaLightHelper.prototype.dispose = function () { + Quaternion.multiplyQuaternionsFlat(buffer, workOffset, buffer, dstOffset, buffer, srcOffset); // Slerp to the intermediate result - this.geometry.dispose(); - this.material.dispose(); - this.children[ 0 ].geometry.dispose(); - this.children[ 0 ].material.dispose(); + Quaternion.slerpFlat(buffer, dstOffset, buffer, dstOffset, buffer, workOffset, t); + } - }; + _lerp(buffer, dstOffset, srcOffset, t, stride) { + const s = 1 - t; - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / https://github.com/Mugen87 - */ + for (let i = 0; i !== stride; ++i) { + const j = dstOffset + i; + buffer[j] = buffer[j] * s + buffer[srcOffset + i] * t; + } + } - function HemisphereLightHelper( light, size, color ) { + _lerpAdditive(buffer, dstOffset, srcOffset, t, stride) { + for (let i = 0; i !== stride; ++i) { + const j = dstOffset + i; + buffer[j] = buffer[j] + buffer[srcOffset + i] * t; + } + } - Object3D.call( this ); + } - this.light = light; - this.light.updateMatrixWorld(); + // Characters [].:/ are reserved for track binding syntax. + const _RESERVED_CHARS_RE = '\\[\\]\\.:\\/'; - this.matrix = light.matrixWorld; - this.matrixAutoUpdate = false; + const _reservedRe = new RegExp('[' + _RESERVED_CHARS_RE + ']', 'g'); // Attempts to allow node names from any language. ES5's `\w` regexp matches + // only latin characters, and the unicode \p{L} is not yet supported. So + // instead, we exclude reserved characters and match everything else. - this.color = color; - var geometry = new OctahedronBufferGeometry( size ); - geometry.rotateY( Math.PI * 0.5 ); + const _wordChar = '[^' + _RESERVED_CHARS_RE + ']'; - this.material = new MeshBasicMaterial( { wireframe: true, fog: false } ); - if ( this.color === undefined ) this.material.vertexColors = VertexColors; + const _wordCharOrDot = '[^' + _RESERVED_CHARS_RE.replace('\\.', '') + ']'; // Parent directories, delimited by '/' or ':'. Currently unused, but must + // be matched to parse the rest of the track name. - var position = geometry.getAttribute( 'position' ); - var colors = new Float32Array( position.count * 3 ); - geometry.addAttribute( 'color', new BufferAttribute( colors, 3 ) ); + const _directoryRe = /((?:WC+[\/:])*)/.source.replace('WC', _wordChar); // Target node. May contain word characters (a-zA-Z0-9_) and '.' or '-'. - this.add( new Mesh( geometry, this.material ) ); - this.update(); + const _nodeRe = /(WCOD+)?/.source.replace('WCOD', _wordCharOrDot); // Object on target node, and accessor. May not contain reserved + // characters. Accessor may contain any character except closing bracket. - } - HemisphereLightHelper.prototype = Object.create( Object3D.prototype ); - HemisphereLightHelper.prototype.constructor = HemisphereLightHelper; + const _objectRe = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', _wordChar); // Property and accessor. May not contain reserved characters. Accessor may + // contain any non-bracket characters. - HemisphereLightHelper.prototype.dispose = function () { - this.children[ 0 ].geometry.dispose(); - this.children[ 0 ].material.dispose(); + const _propertyRe = /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', _wordChar); - }; + const _trackRe = new RegExp('' + '^' + _directoryRe + _nodeRe + _objectRe + _propertyRe + '$'); - HemisphereLightHelper.prototype.update = function () { + const _supportedObjectNames = ['material', 'materials', 'bones']; - var vector = new Vector3(); + class Composite { + constructor(targetGroup, path, optionalParsedPath) { + const parsedPath = optionalParsedPath || PropertyBinding.parseTrackName(path); + this._targetGroup = targetGroup; + this._bindings = targetGroup.subscribe_(path, parsedPath); + } - var color1 = new Color(); - var color2 = new Color(); + getValue(array, offset) { + this.bind(); // bind all binding - return function update() { + const firstValidIndex = this._targetGroup.nCachedObjects_, + binding = this._bindings[firstValidIndex]; // and only call .getValue on the first - var mesh = this.children[ 0 ]; + if (binding !== undefined) binding.getValue(array, offset); + } - if ( this.color !== undefined ) { + setValue(array, offset) { + const bindings = this._bindings; - this.material.color.set( this.color ); + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].setValue(array, offset); + } + } - } else { + bind() { + const bindings = this._bindings; - var colors = mesh.geometry.getAttribute( 'color' ); + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].bind(); + } + } - color1.copy( this.light.color ); - color2.copy( this.light.groundColor ); + unbind() { + const bindings = this._bindings; - for ( var i = 0, l = colors.count; i < l; i ++ ) { + for (let i = this._targetGroup.nCachedObjects_, n = bindings.length; i !== n; ++i) { + bindings[i].unbind(); + } + } - var color = ( i < ( l / 2 ) ) ? color1 : color2; + } // Note: This class uses a State pattern on a per-method basis: + // 'bind' sets 'this.getValue' / 'setValue' and shadows the + // prototype version of these methods with one that represents + // the bound state. When the property is not found, the methods + // become no-ops. - colors.setXYZ( i, color.r, color.g, color.b ); - } + class PropertyBinding { + constructor(rootNode, path, parsedPath) { + this.path = path; + this.parsedPath = parsedPath || PropertyBinding.parseTrackName(path); + this.node = PropertyBinding.findNode(rootNode, this.parsedPath.nodeName) || rootNode; + this.rootNode = rootNode; // initial state of these methods that calls 'bind' - colors.needsUpdate = true; + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; + } + static create(root, path, parsedPath) { + if (!(root && root.isAnimationObjectGroup)) { + return new PropertyBinding(root, path, parsedPath); + } else { + return new PropertyBinding.Composite(root, path, parsedPath); } + } + /** + * Replaces spaces with underscores and removes unsupported characters from + * node names, to ensure compatibility with parseTrackName(). + * + * @param {string} name Node name to be sanitized. + * @return {string} + */ - mesh.lookAt( vector.setFromMatrixPosition( this.light.matrixWorld ).negate() ); - - }; - }(); + static sanitizeNodeName(name) { + return name.replace(/\s/g, '_').replace(_reservedRe, ''); + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + static parseTrackName(trackName) { + const matches = _trackRe.exec(trackName); - function GridHelper( size, divisions, color1, color2 ) { + if (!matches) { + throw new Error('PropertyBinding: Cannot parse trackName: ' + trackName); + } - size = size || 10; - divisions = divisions || 10; - color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); - color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); + const results = { + // directoryName: matches[ 1 ], // (tschw) currently unused + nodeName: matches[2], + objectName: matches[3], + objectIndex: matches[4], + propertyName: matches[5], + // required + propertyIndex: matches[6] + }; + const lastDot = results.nodeName && results.nodeName.lastIndexOf('.'); - var center = divisions / 2; - var step = size / divisions; - var halfSize = size / 2; + if (lastDot !== undefined && lastDot !== -1) { + const objectName = results.nodeName.substring(lastDot + 1); // Object names must be checked against an allowlist. Otherwise, there + // is no way to parse 'foo.bar.baz': 'baz' must be a property, but + // 'bar' could be the objectName, or part of a nodeName (which can + // include '.' characters). - var vertices = [], colors = []; + if (_supportedObjectNames.indexOf(objectName) !== -1) { + results.nodeName = results.nodeName.substring(0, lastDot); + results.objectName = objectName; + } + } - for ( var i = 0, j = 0, k = - halfSize; i <= divisions; i ++, k += step ) { + if (results.propertyName === null || results.propertyName.length === 0) { + throw new Error('PropertyBinding: can not parse propertyName from trackName: ' + trackName); + } - vertices.push( - halfSize, 0, k, halfSize, 0, k ); - vertices.push( k, 0, - halfSize, k, 0, halfSize ); + return results; + } - var color = i === center ? color1 : color2; + static findNode(root, nodeName) { + if (!nodeName || nodeName === '' || nodeName === '.' || nodeName === -1 || nodeName === root.name || nodeName === root.uuid) { + return root; + } // search into skeleton bones. - color.toArray( colors, j ); j += 3; - color.toArray( colors, j ); j += 3; - color.toArray( colors, j ); j += 3; - color.toArray( colors, j ); j += 3; - } + if (root.skeleton) { + const bone = root.skeleton.getBoneByName(nodeName); - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + if (bone !== undefined) { + return bone; + } + } // search into node subtree. - var material = new LineBasicMaterial( { vertexColors: VertexColors } ); - LineSegments.call( this, geometry, material ); + if (root.children) { + const searchNodeSubtree = function (children) { + for (let i = 0; i < children.length; i++) { + const childNode = children[i]; - } + if (childNode.name === nodeName || childNode.uuid === nodeName) { + return childNode; + } - GridHelper.prototype = Object.assign( Object.create( LineSegments.prototype ), { + const result = searchNodeSubtree(childNode.children); + if (result) return result; + } - constructor: GridHelper, + return null; + }; - copy: function ( source ) { + const subTreeNode = searchNodeSubtree(root.children); - LineSegments.prototype.copy.call( this, source ); + if (subTreeNode) { + return subTreeNode; + } + } - this.geometry.copy( source.geometry ); - this.material.copy( source.material ); + return null; + } // these are used to "bind" a nonexistent property - return this; - }, + _getValue_unavailable() {} - clone: function () { + _setValue_unavailable() {} // Getters - return new this.constructor().copy( this ); + _getValue_direct(buffer, offset) { + buffer[offset] = this.targetObject[this.propertyName]; } - } ); + _getValue_array(buffer, offset) { + const source = this.resolvedProperty; - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / http://github.com/Mugen87 - * @author Hectate / http://www.github.com/Hectate - */ + for (let i = 0, n = source.length; i !== n; ++i) { + buffer[offset++] = source[i]; + } + } - function PolarGridHelper( radius, radials, circles, divisions, color1, color2 ) { + _getValue_arrayElement(buffer, offset) { + buffer[offset] = this.resolvedProperty[this.propertyIndex]; + } - radius = radius || 10; - radials = radials || 16; - circles = circles || 8; - divisions = divisions || 64; - color1 = new Color( color1 !== undefined ? color1 : 0x444444 ); - color2 = new Color( color2 !== undefined ? color2 : 0x888888 ); + _getValue_toArray(buffer, offset) { + this.resolvedProperty.toArray(buffer, offset); + } // Direct - var vertices = []; - var colors = []; - var x, z; - var v, i, j, r, color; + _setValue_direct(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + } - // create the radials + _setValue_direct_setNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.needsUpdate = true; + } - for ( i = 0; i <= radials; i ++ ) { + _setValue_direct_setMatrixWorldNeedsUpdate(buffer, offset) { + this.targetObject[this.propertyName] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } // EntireArray - v = ( i / radials ) * ( Math.PI * 2 ); - x = Math.sin( v ) * radius; - z = Math.cos( v ) * radius; + _setValue_array(buffer, offset) { + const dest = this.resolvedProperty; - vertices.push( 0, 0, 0 ); - vertices.push( x, 0, z ); + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + } - color = ( i & 1 ) ? color1 : color2; + _setValue_array_setNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; - colors.push( color.r, color.g, color.b ); - colors.push( color.r, color.g, color.b ); + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } + this.targetObject.needsUpdate = true; } - // create the circles + _setValue_array_setMatrixWorldNeedsUpdate(buffer, offset) { + const dest = this.resolvedProperty; - for ( i = 0; i <= circles; i ++ ) { + for (let i = 0, n = dest.length; i !== n; ++i) { + dest[i] = buffer[offset++]; + } - color = ( i & 1 ) ? color1 : color2; + this.targetObject.matrixWorldNeedsUpdate = true; + } // ArrayElement - r = radius - ( radius / circles * i ); - for ( j = 0; j < divisions; j ++ ) { + _setValue_arrayElement(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + } - // first vertex + _setValue_arrayElement_setNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.needsUpdate = true; + } - v = ( j / divisions ) * ( Math.PI * 2 ); + _setValue_arrayElement_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty[this.propertyIndex] = buffer[offset]; + this.targetObject.matrixWorldNeedsUpdate = true; + } // HasToFromArray - x = Math.sin( v ) * r; - z = Math.cos( v ) * r; - vertices.push( x, 0, z ); - colors.push( color.r, color.g, color.b ); + _setValue_fromArray(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + } - // second vertex + _setValue_fromArray_setNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.needsUpdate = true; + } - v = ( ( j + 1 ) / divisions ) * ( Math.PI * 2 ); + _setValue_fromArray_setMatrixWorldNeedsUpdate(buffer, offset) { + this.resolvedProperty.fromArray(buffer, offset); + this.targetObject.matrixWorldNeedsUpdate = true; + } - x = Math.sin( v ) * r; - z = Math.cos( v ) * r; + _getValue_unbound(targetArray, offset) { + this.bind(); + this.getValue(targetArray, offset); + } - vertices.push( x, 0, z ); - colors.push( color.r, color.g, color.b ); + _setValue_unbound(sourceArray, offset) { + this.bind(); + this.setValue(sourceArray, offset); + } // create getter / setter pair for a property in the scene graph - } - } + bind() { + let targetObject = this.node; + const parsedPath = this.parsedPath; + const objectName = parsedPath.objectName; + const propertyName = parsedPath.propertyName; + let propertyIndex = parsedPath.propertyIndex; - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + if (!targetObject) { + targetObject = PropertyBinding.findNode(this.rootNode, parsedPath.nodeName) || this.rootNode; + this.node = targetObject; + } // set fail state so we can just 'return' on error - var material = new LineBasicMaterial( { vertexColors: VertexColors } ); - LineSegments.call( this, geometry, material ); + this.getValue = this._getValue_unavailable; + this.setValue = this._setValue_unavailable; // ensure there is a value node - } + if (!targetObject) { + console.error('THREE.PropertyBinding: Trying to update node for track: ' + this.path + ' but it wasn\'t found.'); + return; + } - PolarGridHelper.prototype = Object.create( LineSegments.prototype ); - PolarGridHelper.prototype.constructor = PolarGridHelper; + if (objectName) { + let objectIndex = parsedPath.objectIndex; // special cases were we need to reach deeper into the hierarchy to get the face materials.... - /** - * @author Mugen87 / http://github.com/Mugen87 - */ + switch (objectName) { + case 'materials': + if (!targetObject.material) { + console.error('THREE.PropertyBinding: Can not bind to material as node does not have a material.', this); + return; + } - function PositionalAudioHelper( audio, range, divisionsInnerAngle, divisionsOuterAngle ) { + if (!targetObject.material.materials) { + console.error('THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this); + return; + } - this.audio = audio; - this.range = range || 1; - this.divisionsInnerAngle = divisionsInnerAngle || 16; - this.divisionsOuterAngle = divisionsOuterAngle || 2; + targetObject = targetObject.material.materials; + break; - var geometry = new BufferGeometry(); - var divisions = this.divisionsInnerAngle + this.divisionsOuterAngle * 2; - var positions = new Float32Array( ( divisions * 3 + 3 ) * 3 ); - geometry.addAttribute( 'position', new BufferAttribute( positions, 3 ) ); + case 'bones': + if (!targetObject.skeleton) { + console.error('THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', this); + return; + } // potential future optimization: skip this if propertyIndex is already an integer + // and convert the integer string to a true integer. - var materialInnerAngle = new LineBasicMaterial( { color: 0x00ff00 } ); - var materialOuterAngle = new LineBasicMaterial( { color: 0xffff00 } ); - Line.call( this, geometry, [ materialOuterAngle, materialInnerAngle ] ); + targetObject = targetObject.skeleton.bones; // support resolving morphTarget names into indices. - this.update(); + for (let i = 0; i < targetObject.length; i++) { + if (targetObject[i].name === objectIndex) { + objectIndex = i; + break; + } + } - } + break; - PositionalAudioHelper.prototype = Object.create( Line.prototype ); - PositionalAudioHelper.prototype.constructor = PositionalAudioHelper; + default: + if (targetObject[objectName] === undefined) { + console.error('THREE.PropertyBinding: Can not bind to objectName of node undefined.', this); + return; + } - PositionalAudioHelper.prototype.update = function () { + targetObject = targetObject[objectName]; + } - var audio = this.audio; - var range = this.range; - var divisionsInnerAngle = this.divisionsInnerAngle; - var divisionsOuterAngle = this.divisionsOuterAngle; + if (objectIndex !== undefined) { + if (targetObject[objectIndex] === undefined) { + console.error('THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject); + return; + } - var coneInnerAngle = _Math.degToRad( audio.panner.coneInnerAngle ); - var coneOuterAngle = _Math.degToRad( audio.panner.coneOuterAngle ); + targetObject = targetObject[objectIndex]; + } + } // resolve property - var halfConeInnerAngle = coneInnerAngle / 2; - var halfConeOuterAngle = coneOuterAngle / 2; - var start = 0; - var count = 0; - var i, stride; + const nodeProperty = targetObject[propertyName]; - var geometry = this.geometry; - var positionAttribute = geometry.attributes.position; + if (nodeProperty === undefined) { + const nodeName = parsedPath.nodeName; + console.error('THREE.PropertyBinding: Trying to update property for track: ' + nodeName + '.' + propertyName + ' but it wasn\'t found.', targetObject); + return; + } // determine versioning scheme - geometry.clearGroups(); - // + let versioning = this.Versioning.None; + this.targetObject = targetObject; - function generateSegment( from, to, divisions, materialIndex ) { + if (targetObject.needsUpdate !== undefined) { + // material + versioning = this.Versioning.NeedsUpdate; + } else if (targetObject.matrixWorldNeedsUpdate !== undefined) { + // node transform + versioning = this.Versioning.MatrixWorldNeedsUpdate; + } // determine how the property gets bound - var step = ( to - from ) / divisions; - positionAttribute.setXYZ( start, 0, 0, 0 ); - count ++; + let bindingType = this.BindingType.Direct; - for ( i = from; i < to; i += step ) { + if (propertyIndex !== undefined) { + // access a sub element of the property array (only primitives are supported right now) + if (propertyName === 'morphTargetInfluences') { + // potential optimization, skip this if propertyIndex is already an integer, and convert the integer string to a true integer. + // support resolving morphTarget names into indices. + if (!targetObject.geometry) { + console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this); + return; + } - stride = start + count; + if (targetObject.geometry.isBufferGeometry) { + if (!targetObject.geometry.morphAttributes) { + console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this); + return; + } - positionAttribute.setXYZ( stride, Math.sin( i ) * range, 0, Math.cos( i ) * range ); - positionAttribute.setXYZ( stride + 1, Math.sin( Math.min( i + step, to ) ) * range, 0, Math.cos( Math.min( i + step, to ) ) * range ); - positionAttribute.setXYZ( stride + 2, 0, 0, 0 ); + if (targetObject.morphTargetDictionary[propertyIndex] !== undefined) { + propertyIndex = targetObject.morphTargetDictionary[propertyIndex]; + } + } else { + console.error('THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.', this); + return; + } + } - count += 3; + bindingType = this.BindingType.ArrayElement; + this.resolvedProperty = nodeProperty; + this.propertyIndex = propertyIndex; + } else if (nodeProperty.fromArray !== undefined && nodeProperty.toArray !== undefined) { + // must use copy for Object3D.Euler/Quaternion + bindingType = this.BindingType.HasFromToArray; + this.resolvedProperty = nodeProperty; + } else if (Array.isArray(nodeProperty)) { + bindingType = this.BindingType.EntireArray; + this.resolvedProperty = nodeProperty; + } else { + this.propertyName = propertyName; + } // select getter / setter - } - geometry.addGroup( start, count, materialIndex ); + this.getValue = this.GetterByBindingType[bindingType]; + this.setValue = this.SetterByBindingTypeAndVersioning[bindingType][versioning]; + } - start += count; - count = 0; + unbind() { + this.node = null; // back to the prototype version of getValue / setValue + // note: avoiding to mutate the shape of 'this' via 'delete' + this.getValue = this._getValue_unbound; + this.setValue = this._setValue_unbound; } - // + } - generateSegment( - halfConeOuterAngle, - halfConeInnerAngle, divisionsOuterAngle, 0 ); - generateSegment( - halfConeInnerAngle, halfConeInnerAngle, divisionsInnerAngle, 1 ); - generateSegment( halfConeInnerAngle, halfConeOuterAngle, divisionsOuterAngle, 0 ); + PropertyBinding.Composite = Composite; + PropertyBinding.prototype.BindingType = { + Direct: 0, + EntireArray: 1, + ArrayElement: 2, + HasFromToArray: 3 + }; + PropertyBinding.prototype.Versioning = { + None: 0, + NeedsUpdate: 1, + MatrixWorldNeedsUpdate: 2 + }; + PropertyBinding.prototype.GetterByBindingType = [PropertyBinding.prototype._getValue_direct, PropertyBinding.prototype._getValue_array, PropertyBinding.prototype._getValue_arrayElement, PropertyBinding.prototype._getValue_toArray]; + PropertyBinding.prototype.SetterByBindingTypeAndVersioning = [[// Direct + PropertyBinding.prototype._setValue_direct, PropertyBinding.prototype._setValue_direct_setNeedsUpdate, PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate], [// EntireArray + PropertyBinding.prototype._setValue_array, PropertyBinding.prototype._setValue_array_setNeedsUpdate, PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate], [// ArrayElement + PropertyBinding.prototype._setValue_arrayElement, PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate, PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate], [// HasToFromArray + PropertyBinding.prototype._setValue_fromArray, PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate, PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]]; - // + /** + * + * A group of objects that receives a shared animation state. + * + * Usage: + * + * - Add objects you would otherwise pass as 'root' to the + * constructor or the .clipAction method of AnimationMixer. + * + * - Instead pass this object as 'root'. + * + * - You can also add and remove objects later when the mixer + * is running. + * + * Note: + * + * Objects of this class appear as one object to the mixer, + * so cache control of the individual objects must be done + * on the group. + * + * Limitation: + * + * - The animated properties must be compatible among the + * all objects in the group. + * + * - A single property can either be controlled through a + * target group or directly, but not both. + */ - positionAttribute.needsUpdate = true; + class AnimationObjectGroup { + constructor() { + this.uuid = generateUUID(); // cached objects followed by the active ones - if ( coneInnerAngle === coneOuterAngle ) this.material[ 0 ].visible = false; + this._objects = Array.prototype.slice.call(arguments); + this.nCachedObjects_ = 0; // threshold + // note: read by PropertyBinding.Composite - }; + const indices = {}; + this._indicesByUUID = indices; // for bookkeeping - PositionalAudioHelper.prototype.dispose = function () { + for (let i = 0, n = arguments.length; i !== n; ++i) { + indices[arguments[i].uuid] = i; + } - this.geometry.dispose(); - this.material[ 0 ].dispose(); - this.material[ 1 ].dispose(); + this._paths = []; // inside: string - }; + this._parsedPaths = []; // inside: { we don't care, here } - /** - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - */ + this._bindings = []; // inside: Array< PropertyBinding > - function FaceNormalsHelper( object, size, hex, linewidth ) { + this._bindingsIndicesByPath = {}; // inside: indices in these arrays - // FaceNormalsHelper only supports THREE.Geometry + const scope = this; + this.stats = { + objects: { + get total() { + return scope._objects.length; + }, - this.object = object; + get inUse() { + return this.total - scope.nCachedObjects_; + } - this.size = ( size !== undefined ) ? size : 1; + }, - var color = ( hex !== undefined ) ? hex : 0xffff00; + get bindingsPerObject() { + return scope._bindings.length; + } - var width = ( linewidth !== undefined ) ? linewidth : 1; + }; + } - // + add() { + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + nBindings = bindings.length; + let knownObject = undefined, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_; - var nNormals = 0; + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], + uuid = object.uuid; + let index = indicesByUUID[uuid]; - var objGeometry = this.object.geometry; + if (index === undefined) { + // unknown object -> add it to the ACTIVE region + index = nObjects++; + indicesByUUID[uuid] = index; + objects.push(object); // accounting is done, now do the same for all bindings - if ( objGeometry && objGeometry.isGeometry ) { + for (let j = 0, m = nBindings; j !== m; ++j) { + bindings[j].push(new PropertyBinding(object, paths[j], parsedPaths[j])); + } + } else if (index < nCachedObjects) { + knownObject = objects[index]; // move existing object to the ACTIVE region + + const firstActiveIndex = --nCachedObjects, + lastCachedObject = objects[firstActiveIndex]; + indicesByUUID[lastCachedObject.uuid] = index; + objects[index] = lastCachedObject; + indicesByUUID[uuid] = firstActiveIndex; + objects[firstActiveIndex] = object; // accounting is done, now do the same for all bindings + + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], + lastCached = bindingsForPath[firstActiveIndex]; + let binding = bindingsForPath[index]; + bindingsForPath[index] = lastCached; + + if (binding === undefined) { + // since we do not bother to create new bindings + // for objects that are cached, the binding may + // or may not exist + binding = new PropertyBinding(object, paths[j], parsedPaths[j]); + } - nNormals = objGeometry.faces.length; + bindingsForPath[firstActiveIndex] = binding; + } + } else if (objects[index] !== knownObject) { + console.error('THREE.AnimationObjectGroup: Different objects with the same UUID ' + 'detected. Clean the caches or recreate your infrastructure when reloading scenes.'); + } // else the object is already where we want it to be - } else { + } // for arguments - console.warn( 'THREE.FaceNormalsHelper: only THREE.Geometry is supported. Use THREE.VertexNormalsHelper, instead.' ); + this.nCachedObjects_ = nCachedObjects; } - // - - var geometry = new BufferGeometry(); - - var positions = new Float32BufferAttribute( nNormals * 2 * 3, 3 ); + remove() { + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + let nCachedObjects = this.nCachedObjects_; - geometry.addAttribute( 'position', positions ); + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], + uuid = object.uuid, + index = indicesByUUID[uuid]; - LineSegments.call( this, geometry, new LineBasicMaterial( { color: color, linewidth: width } ) ); + if (index !== undefined && index >= nCachedObjects) { + // move existing object into the CACHED region + const lastCachedIndex = nCachedObjects++, + firstActiveObject = objects[lastCachedIndex]; + indicesByUUID[firstActiveObject.uuid] = index; + objects[index] = firstActiveObject; + indicesByUUID[uuid] = lastCachedIndex; + objects[lastCachedIndex] = object; // accounting is done, now do the same for all bindings + + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], + firstActive = bindingsForPath[lastCachedIndex], + binding = bindingsForPath[index]; + bindingsForPath[index] = firstActive; + bindingsForPath[lastCachedIndex] = binding; + } + } + } // for arguments - // - this.matrixAutoUpdate = false; - this.update(); + this.nCachedObjects_ = nCachedObjects; + } // remove & forget - } - FaceNormalsHelper.prototype = Object.create( LineSegments.prototype ); - FaceNormalsHelper.prototype.constructor = FaceNormalsHelper; + uncache() { + const objects = this._objects, + indicesByUUID = this._indicesByUUID, + bindings = this._bindings, + nBindings = bindings.length; + let nCachedObjects = this.nCachedObjects_, + nObjects = objects.length; - FaceNormalsHelper.prototype.update = ( function () { + for (let i = 0, n = arguments.length; i !== n; ++i) { + const object = arguments[i], + uuid = object.uuid, + index = indicesByUUID[uuid]; - var v1 = new Vector3(); - var v2 = new Vector3(); - var normalMatrix = new Matrix3(); + if (index !== undefined) { + delete indicesByUUID[uuid]; - return function update() { + if (index < nCachedObjects) { + // object is cached, shrink the CACHED region + const firstActiveIndex = --nCachedObjects, + lastCachedObject = objects[firstActiveIndex], + lastIndex = --nObjects, + lastObject = objects[lastIndex]; // last cached object takes this object's place + + indicesByUUID[lastCachedObject.uuid] = index; + objects[index] = lastCachedObject; // last object goes to the activated slot and pop + + indicesByUUID[lastObject.uuid] = firstActiveIndex; + objects[firstActiveIndex] = lastObject; + objects.pop(); // accounting is done, now do the same for all bindings + + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j], + lastCached = bindingsForPath[firstActiveIndex], + last = bindingsForPath[lastIndex]; + bindingsForPath[index] = lastCached; + bindingsForPath[firstActiveIndex] = last; + bindingsForPath.pop(); + } + } else { + // object is active, just swap with the last and pop + const lastIndex = --nObjects, + lastObject = objects[lastIndex]; - this.object.updateMatrixWorld( true ); + if (lastIndex > 0) { + indicesByUUID[lastObject.uuid] = index; + } - normalMatrix.getNormalMatrix( this.object.matrixWorld ); + objects[index] = lastObject; + objects.pop(); // accounting is done, now do the same for all bindings - var matrixWorld = this.object.matrixWorld; + for (let j = 0, m = nBindings; j !== m; ++j) { + const bindingsForPath = bindings[j]; + bindingsForPath[index] = bindingsForPath[lastIndex]; + bindingsForPath.pop(); + } + } // cached or active - var position = this.geometry.attributes.position; + } // if object is known - // + } // for arguments - var objGeometry = this.object.geometry; - var vertices = objGeometry.vertices; + this.nCachedObjects_ = nCachedObjects; + } // Internal interface used by befriended PropertyBinding.Composite: - var faces = objGeometry.faces; - var idx = 0; + subscribe_(path, parsedPath) { + // returns an array of bindings for the given path that is changed + // according to the contained objects in the group + const indicesByPath = this._bindingsIndicesByPath; + let index = indicesByPath[path]; + const bindings = this._bindings; + if (index !== undefined) return bindings[index]; + const paths = this._paths, + parsedPaths = this._parsedPaths, + objects = this._objects, + nObjects = objects.length, + nCachedObjects = this.nCachedObjects_, + bindingsForPath = new Array(nObjects); + index = bindings.length; + indicesByPath[path] = index; + paths.push(path); + parsedPaths.push(parsedPath); + bindings.push(bindingsForPath); - for ( var i = 0, l = faces.length; i < l; i ++ ) { + for (let i = nCachedObjects, n = objects.length; i !== n; ++i) { + const object = objects[i]; + bindingsForPath[i] = new PropertyBinding(object, path, parsedPath); + } - var face = faces[ i ]; + return bindingsForPath; + } - var normal = face.normal; + unsubscribe_(path) { + // tells the group to forget about a property path and no longer + // update the array previously obtained with 'subscribe_' + const indicesByPath = this._bindingsIndicesByPath, + index = indicesByPath[path]; + + if (index !== undefined) { + const paths = this._paths, + parsedPaths = this._parsedPaths, + bindings = this._bindings, + lastBindingsIndex = bindings.length - 1, + lastBindings = bindings[lastBindingsIndex], + lastBindingsPath = path[lastBindingsIndex]; + indicesByPath[lastBindingsPath] = index; + bindings[index] = lastBindings; + bindings.pop(); + parsedPaths[index] = parsedPaths[lastBindingsIndex]; + parsedPaths.pop(); + paths[index] = paths[lastBindingsIndex]; + paths.pop(); + } + } - v1.copy( vertices[ face.a ] ) - .add( vertices[ face.b ] ) - .add( vertices[ face.c ] ) - .divideScalar( 3 ) - .applyMatrix4( matrixWorld ); + } - v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 ); + AnimationObjectGroup.prototype.isAnimationObjectGroup = true; - position.setXYZ( idx, v1.x, v1.y, v1.z ); + class AnimationAction { + constructor(mixer, clip, localRoot = null, blendMode = clip.blendMode) { + this._mixer = mixer; + this._clip = clip; + this._localRoot = localRoot; + this.blendMode = blendMode; + const tracks = clip.tracks, + nTracks = tracks.length, + interpolants = new Array(nTracks); + const interpolantSettings = { + endingStart: ZeroCurvatureEnding, + endingEnd: ZeroCurvatureEnding + }; - idx = idx + 1; + for (let i = 0; i !== nTracks; ++i) { + const interpolant = tracks[i].createInterpolant(null); + interpolants[i] = interpolant; + interpolant.settings = interpolantSettings; + } - position.setXYZ( idx, v2.x, v2.y, v2.z ); + this._interpolantSettings = interpolantSettings; + this._interpolants = interpolants; // bound by the mixer + // inside: PropertyMixer (managed by the mixer) - idx = idx + 1; + this._propertyBindings = new Array(nTracks); + this._cacheIndex = null; // for the memory manager - } + this._byClipCacheIndex = null; // for the memory manager - position.needsUpdate = true; + this._timeScaleInterpolant = null; + this._weightInterpolant = null; + this.loop = LoopRepeat; + this._loopCount = -1; // global mixer time when the action is to be started + // it's set back to 'null' upon start of the action - }; + this._startTime = null; // scaled local time of the action + // gets clamped or wrapped to 0..clip.duration according to loop - }() ); + this.time = 0; + this.timeScale = 1; + this._effectiveTimeScale = 1; + this.weight = 1; + this._effectiveWeight = 1; + this.repetitions = Infinity; // no. of repetitions when looping - /** - * @author alteredq / http://alteredqualia.com/ - * @author mrdoob / http://mrdoob.com/ - * @author WestLangley / http://github.com/WestLangley - */ + this.paused = false; // true -> zero effective time scale - function DirectionalLightHelper( light, size, color ) { + this.enabled = true; // false -> zero effective weight - Object3D.call( this ); + this.clampWhenFinished = false; // keep feeding the last frame? - this.light = light; - this.light.updateMatrixWorld(); + this.zeroSlopeAtStart = true; // for smooth interpolation w/o separate - this.matrix = light.matrixWorld; - this.matrixAutoUpdate = false; + this.zeroSlopeAtEnd = true; // clips for start, loop and end + } // State & Scheduling - this.color = color; - if ( size === undefined ) size = 1; + play() { + this._mixer._activateAction(this); - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( [ - - size, size, 0, - size, size, 0, - size, - size, 0, - - size, - size, 0, - - size, size, 0 - ], 3 ) ); + return this; + } - var material = new LineBasicMaterial( { fog: false } ); + stop() { + this._mixer._deactivateAction(this); - this.lightPlane = new Line( geometry, material ); - this.add( this.lightPlane ); + return this.reset(); + } - geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 0, 1 ], 3 ) ); + reset() { + this.paused = false; + this.enabled = true; + this.time = 0; // restart clip - this.targetLine = new Line( geometry, material ); - this.add( this.targetLine ); + this._loopCount = -1; // forget previous loops - this.update(); + this._startTime = null; // forget scheduling - } + return this.stopFading().stopWarping(); + } - DirectionalLightHelper.prototype = Object.create( Object3D.prototype ); - DirectionalLightHelper.prototype.constructor = DirectionalLightHelper; + isRunning() { + return this.enabled && !this.paused && this.timeScale !== 0 && this._startTime === null && this._mixer._isActiveAction(this); + } // return true when play has been called - DirectionalLightHelper.prototype.dispose = function () { - this.lightPlane.geometry.dispose(); - this.lightPlane.material.dispose(); - this.targetLine.geometry.dispose(); - this.targetLine.material.dispose(); + isScheduled() { + return this._mixer._isActiveAction(this); + } - }; + startAt(time) { + this._startTime = time; + return this; + } - DirectionalLightHelper.prototype.update = function () { + setLoop(mode, repetitions) { + this.loop = mode; + this.repetitions = repetitions; + return this; + } // Weight + // set the weight stopping any scheduled fading + // although .enabled = false yields an effective weight of zero, this + // method does *not* change .enabled, because it would be confusing - var v1 = new Vector3(); - var v2 = new Vector3(); - var v3 = new Vector3(); - return function update() { + setEffectiveWeight(weight) { + this.weight = weight; // note: same logic as when updated at runtime - v1.setFromMatrixPosition( this.light.matrixWorld ); - v2.setFromMatrixPosition( this.light.target.matrixWorld ); - v3.subVectors( v2, v1 ); + this._effectiveWeight = this.enabled ? weight : 0; + return this.stopFading(); + } // return the weight considering fading and .enabled - this.lightPlane.lookAt( v2 ); - if ( this.color !== undefined ) { + getEffectiveWeight() { + return this._effectiveWeight; + } - this.lightPlane.material.color.set( this.color ); - this.targetLine.material.color.set( this.color ); + fadeIn(duration) { + return this._scheduleFading(duration, 0, 1); + } - } else { + fadeOut(duration) { + return this._scheduleFading(duration, 1, 0); + } - this.lightPlane.material.color.copy( this.light.color ); - this.targetLine.material.color.copy( this.light.color ); + crossFadeFrom(fadeOutAction, duration, warp) { + fadeOutAction.fadeOut(duration); + this.fadeIn(duration); + if (warp) { + const fadeInDuration = this._clip.duration, + fadeOutDuration = fadeOutAction._clip.duration, + startEndRatio = fadeOutDuration / fadeInDuration, + endStartRatio = fadeInDuration / fadeOutDuration; + fadeOutAction.warp(1.0, startEndRatio, duration); + this.warp(endStartRatio, 1.0, duration); } - this.targetLine.lookAt( v2 ); - this.targetLine.scale.z = v3.length(); + return this; + } - }; + crossFadeTo(fadeInAction, duration, warp) { + return fadeInAction.crossFadeFrom(this, duration, warp); + } - }(); + stopFading() { + const weightInterpolant = this._weightInterpolant; - /** - * @author alteredq / http://alteredqualia.com/ - * @author Mugen87 / https://github.com/Mugen87 - * - * - shows frustum, line of sight and up of the camera - * - suitable for fast updates - * - based on frustum visualization in lightgl.js shadowmap example - * http://evanw.github.com/lightgl.js/tests/shadowmap.html - */ + if (weightInterpolant !== null) { + this._weightInterpolant = null; - function CameraHelper( camera ) { + this._mixer._takeBackControlInterpolant(weightInterpolant); + } - var geometry = new BufferGeometry(); - var material = new LineBasicMaterial( { color: 0xffffff, vertexColors: FaceColors } ); + return this; + } // Time Scale Control + // set the time scale stopping any scheduled warping + // although .paused = true yields an effective time scale of zero, this + // method does *not* change .paused, because it would be confusing - var vertices = []; - var colors = []; - var pointMap = {}; + setEffectiveTimeScale(timeScale) { + this.timeScale = timeScale; + this._effectiveTimeScale = this.paused ? 0 : timeScale; + return this.stopWarping(); + } // return the time scale considering warping and .paused - // colors - var colorFrustum = new Color( 0xffaa00 ); - var colorCone = new Color( 0xff0000 ); - var colorUp = new Color( 0x00aaff ); - var colorTarget = new Color( 0xffffff ); - var colorCross = new Color( 0x333333 ); + getEffectiveTimeScale() { + return this._effectiveTimeScale; + } - // near + setDuration(duration) { + this.timeScale = this._clip.duration / duration; + return this.stopWarping(); + } - addLine( 'n1', 'n2', colorFrustum ); - addLine( 'n2', 'n4', colorFrustum ); - addLine( 'n4', 'n3', colorFrustum ); - addLine( 'n3', 'n1', colorFrustum ); + syncWith(action) { + this.time = action.time; + this.timeScale = action.timeScale; + return this.stopWarping(); + } - // far + halt(duration) { + return this.warp(this._effectiveTimeScale, 0, duration); + } - addLine( 'f1', 'f2', colorFrustum ); - addLine( 'f2', 'f4', colorFrustum ); - addLine( 'f4', 'f3', colorFrustum ); - addLine( 'f3', 'f1', colorFrustum ); + warp(startTimeScale, endTimeScale, duration) { + const mixer = this._mixer, + now = mixer.time, + timeScale = this.timeScale; + let interpolant = this._timeScaleInterpolant; - // sides + if (interpolant === null) { + interpolant = mixer._lendControlInterpolant(); + this._timeScaleInterpolant = interpolant; + } - addLine( 'n1', 'f1', colorFrustum ); - addLine( 'n2', 'f2', colorFrustum ); - addLine( 'n3', 'f3', colorFrustum ); - addLine( 'n4', 'f4', colorFrustum ); + const times = interpolant.parameterPositions, + values = interpolant.sampleValues; + times[0] = now; + times[1] = now + duration; + values[0] = startTimeScale / timeScale; + values[1] = endTimeScale / timeScale; + return this; + } - // cone + stopWarping() { + const timeScaleInterpolant = this._timeScaleInterpolant; - addLine( 'p', 'n1', colorCone ); - addLine( 'p', 'n2', colorCone ); - addLine( 'p', 'n3', colorCone ); - addLine( 'p', 'n4', colorCone ); + if (timeScaleInterpolant !== null) { + this._timeScaleInterpolant = null; - // up + this._mixer._takeBackControlInterpolant(timeScaleInterpolant); + } - addLine( 'u1', 'u2', colorUp ); - addLine( 'u2', 'u3', colorUp ); - addLine( 'u3', 'u1', colorUp ); + return this; + } // Object Accessors - // target - addLine( 'c', 't', colorTarget ); - addLine( 'p', 'c', colorCross ); + getMixer() { + return this._mixer; + } - // cross + getClip() { + return this._clip; + } - addLine( 'cn1', 'cn2', colorCross ); - addLine( 'cn3', 'cn4', colorCross ); + getRoot() { + return this._localRoot || this._mixer._root; + } // Interna - addLine( 'cf1', 'cf2', colorCross ); - addLine( 'cf3', 'cf4', colorCross ); - function addLine( a, b, color ) { + _update(time, deltaTime, timeDirection, accuIndex) { + // called by the mixer + if (!this.enabled) { + // call ._updateWeight() to update ._effectiveWeight + this._updateWeight(time); - addPoint( a, color ); - addPoint( b, color ); + return; + } - } + const startTime = this._startTime; - function addPoint( id, color ) { + if (startTime !== null) { + // check for scheduled start of action + const timeRunning = (time - startTime) * timeDirection; - vertices.push( 0, 0, 0 ); - colors.push( color.r, color.g, color.b ); + if (timeRunning < 0 || timeDirection === 0) { + return; // yet to come / don't decide when delta = 0 + } // start - if ( pointMap[ id ] === undefined ) { - pointMap[ id ] = []; + this._startTime = null; // unschedule - } + deltaTime = timeDirection * timeRunning; + } // apply time scale and advance time - pointMap[ id ].push( ( vertices.length / 3 ) - 1 ); - } + deltaTime *= this._updateTimeScale(time); - geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + const clipTime = this._updateTime(deltaTime); // note: _updateTime may disable the action resulting in + // an effective weight of 0 - LineSegments.call( this, geometry, material ); - this.camera = camera; - if ( this.camera.updateProjectionMatrix ) this.camera.updateProjectionMatrix(); + const weight = this._updateWeight(time); - this.matrix = camera.matrixWorld; - this.matrixAutoUpdate = false; + if (weight > 0) { + const interpolants = this._interpolants; + const propertyMixers = this._propertyBindings; - this.pointMap = pointMap; + switch (this.blendMode) { + case AdditiveAnimationBlendMode: + for (let j = 0, m = interpolants.length; j !== m; ++j) { + interpolants[j].evaluate(clipTime); + propertyMixers[j].accumulateAdditive(weight); + } - this.update(); + break; - } + case NormalAnimationBlendMode: + default: + for (let j = 0, m = interpolants.length; j !== m; ++j) { + interpolants[j].evaluate(clipTime); + propertyMixers[j].accumulate(accuIndex, weight); + } - CameraHelper.prototype = Object.create( LineSegments.prototype ); - CameraHelper.prototype.constructor = CameraHelper; + } + } + } - CameraHelper.prototype.update = function () { + _updateWeight(time) { + let weight = 0; - var geometry, pointMap; + if (this.enabled) { + weight = this.weight; + const interpolant = this._weightInterpolant; - var vector = new Vector3(); - var camera = new Camera(); + if (interpolant !== null) { + const interpolantValue = interpolant.evaluate(time)[0]; + weight *= interpolantValue; - function setPoint( point, x, y, z ) { + if (time > interpolant.parameterPositions[1]) { + this.stopFading(); - vector.set( x, y, z ).unproject( camera ); + if (interpolantValue === 0) { + // faded out, disable + this.enabled = false; + } + } + } + } - var points = pointMap[ point ]; + this._effectiveWeight = weight; + return weight; + } - if ( points !== undefined ) { + _updateTimeScale(time) { + let timeScale = 0; - var position = geometry.getAttribute( 'position' ); + if (!this.paused) { + timeScale = this.timeScale; + const interpolant = this._timeScaleInterpolant; - for ( var i = 0, l = points.length; i < l; i ++ ) { + if (interpolant !== null) { + const interpolantValue = interpolant.evaluate(time)[0]; + timeScale *= interpolantValue; - position.setXYZ( points[ i ], vector.x, vector.y, vector.z ); + if (time > interpolant.parameterPositions[1]) { + this.stopWarping(); + if (timeScale === 0) { + // motion has halted, pause + this.paused = true; + } else { + // warp done - apply final time scale + this.timeScale = timeScale; + } + } } - } + this._effectiveTimeScale = timeScale; + return timeScale; } - return function update() { + _updateTime(deltaTime) { + const duration = this._clip.duration; + const loop = this.loop; + let time = this.time + deltaTime; + let loopCount = this._loopCount; + const pingPong = loop === LoopPingPong; - geometry = this.geometry; - pointMap = this.pointMap; - - var w = 1, h = 1; + if (deltaTime === 0) { + if (loopCount === -1) return time; + return pingPong && (loopCount & 1) === 1 ? duration - time : time; + } - // we need just camera projection matrix inverse - // world matrix must be identity + if (loop === LoopOnce) { + if (loopCount === -1) { + // just started + this._loopCount = 0; - camera.projectionMatrixInverse.copy( this.camera.projectionMatrixInverse ); + this._setEndings(true, true, false); + } - // center / target + handle_stop: { + if (time >= duration) { + time = duration; + } else if (time < 0) { + time = 0; + } else { + this.time = time; + break handle_stop; + } - setPoint( 'c', 0, 0, - 1 ); - setPoint( 't', 0, 0, 1 ); + if (this.clampWhenFinished) this.paused = true;else this.enabled = false; + this.time = time; - // near + this._mixer.dispatchEvent({ + type: 'finished', + action: this, + direction: deltaTime < 0 ? -1 : 1 + }); + } + } else { + // repetitive Repeat or PingPong + if (loopCount === -1) { + // just started + if (deltaTime >= 0) { + loopCount = 0; - setPoint( 'n1', - w, - h, - 1 ); - setPoint( 'n2', w, - h, - 1 ); - setPoint( 'n3', - w, h, - 1 ); - setPoint( 'n4', w, h, - 1 ); + this._setEndings(true, this.repetitions === 0, pingPong); + } else { + // when looping in reverse direction, the initial + // transition through zero counts as a repetition, + // so leave loopCount at -1 + this._setEndings(this.repetitions === 0, true, pingPong); + } + } - // far + if (time >= duration || time < 0) { + // wrap around + const loopDelta = Math.floor(time / duration); // signed - setPoint( 'f1', - w, - h, 1 ); - setPoint( 'f2', w, - h, 1 ); - setPoint( 'f3', - w, h, 1 ); - setPoint( 'f4', w, h, 1 ); + time -= duration * loopDelta; + loopCount += Math.abs(loopDelta); + const pending = this.repetitions - loopCount; - // up + if (pending <= 0) { + // have to stop (switch state, clamp time, fire event) + if (this.clampWhenFinished) this.paused = true;else this.enabled = false; + time = deltaTime > 0 ? duration : 0; + this.time = time; - setPoint( 'u1', w * 0.7, h * 1.1, - 1 ); - setPoint( 'u2', - w * 0.7, h * 1.1, - 1 ); - setPoint( 'u3', 0, h * 2, - 1 ); + this._mixer.dispatchEvent({ + type: 'finished', + action: this, + direction: deltaTime > 0 ? 1 : -1 + }); + } else { + // keep running + if (pending === 1) { + // entering the last round + const atStart = deltaTime < 0; - // cross + this._setEndings(atStart, !atStart, pingPong); + } else { + this._setEndings(false, false, pingPong); + } - setPoint( 'cf1', - w, 0, 1 ); - setPoint( 'cf2', w, 0, 1 ); - setPoint( 'cf3', 0, - h, 1 ); - setPoint( 'cf4', 0, h, 1 ); + this._loopCount = loopCount; + this.time = time; - setPoint( 'cn1', - w, 0, - 1 ); - setPoint( 'cn2', w, 0, - 1 ); - setPoint( 'cn3', 0, - h, - 1 ); - setPoint( 'cn4', 0, h, - 1 ); + this._mixer.dispatchEvent({ + type: 'loop', + action: this, + loopDelta: loopDelta + }); + } + } else { + this.time = time; + } - geometry.getAttribute( 'position' ).needsUpdate = true; + if (pingPong && (loopCount & 1) === 1) { + // invert time for the "pong round" + return duration - time; + } + } - }; + return time; + } - }(); + _setEndings(atStart, atEnd, pingPong) { + const settings = this._interpolantSettings; - /** - * @author mrdoob / http://mrdoob.com/ - * @author Mugen87 / http://github.com/Mugen87 - */ + if (pingPong) { + settings.endingStart = ZeroSlopeEnding; + settings.endingEnd = ZeroSlopeEnding; + } else { + // assuming for LoopOnce atStart == atEnd == true + if (atStart) { + settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding; + } else { + settings.endingStart = WrapAroundEnding; + } - function BoxHelper( object, color ) { + if (atEnd) { + settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding; + } else { + settings.endingEnd = WrapAroundEnding; + } + } + } - this.object = object; + _scheduleFading(duration, weightNow, weightThen) { + const mixer = this._mixer, + now = mixer.time; + let interpolant = this._weightInterpolant; - if ( color === undefined ) color = 0xffff00; + if (interpolant === null) { + interpolant = mixer._lendControlInterpolant(); + this._weightInterpolant = interpolant; + } - var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); - var positions = new Float32Array( 8 * 3 ); + const times = interpolant.parameterPositions, + values = interpolant.sampleValues; + times[0] = now; + values[0] = weightNow; + times[1] = now + duration; + values[1] = weightThen; + return this; + } - var geometry = new BufferGeometry(); - geometry.setIndex( new BufferAttribute( indices, 1 ) ); - geometry.addAttribute( 'position', new BufferAttribute( positions, 3 ) ); + } - LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) ); + class AnimationMixer extends EventDispatcher { + constructor(root) { + super(); + this._root = root; - this.matrixAutoUpdate = false; + this._initMemoryManager(); - this.update(); + this._accuIndex = 0; + this.time = 0; + this.timeScale = 1.0; + } - } + _bindAction(action, prototypeAction) { + const root = action._localRoot || this._root, + tracks = action._clip.tracks, + nTracks = tracks.length, + bindings = action._propertyBindings, + interpolants = action._interpolants, + rootUuid = root.uuid, + bindingsByRoot = this._bindingsByRootAndName; + let bindingsByName = bindingsByRoot[rootUuid]; - BoxHelper.prototype = Object.create( LineSegments.prototype ); - BoxHelper.prototype.constructor = BoxHelper; + if (bindingsByName === undefined) { + bindingsByName = {}; + bindingsByRoot[rootUuid] = bindingsByName; + } - BoxHelper.prototype.update = ( function () { + for (let i = 0; i !== nTracks; ++i) { + const track = tracks[i], + trackName = track.name; + let binding = bindingsByName[trackName]; - var box = new Box3(); + if (binding !== undefined) { + bindings[i] = binding; + } else { + binding = bindings[i]; - return function update( object ) { + if (binding !== undefined) { + // existing binding, make sure the cache knows + if (binding._cacheIndex === null) { + ++binding.referenceCount; - if ( object !== undefined ) { + this._addInactiveBinding(binding, rootUuid, trackName); + } - console.warn( 'THREE.BoxHelper: .update() has no longer arguments.' ); + continue; + } - } + const path = prototypeAction && prototypeAction._propertyBindings[i].binding.parsedPath; + binding = new PropertyMixer(PropertyBinding.create(root, trackName, path), track.ValueTypeName, track.getValueSize()); + ++binding.referenceCount; - if ( this.object !== undefined ) { + this._addInactiveBinding(binding, rootUuid, trackName); - box.setFromObject( this.object ); + bindings[i] = binding; + } + interpolants[i].resultBuffer = binding.buffer; } + } - if ( box.isEmpty() ) return; - - var min = box.min; - var max = box.max; + _activateAction(action) { + if (!this._isActiveAction(action)) { + if (action._cacheIndex === null) { + // this action has been forgotten by the cache, but the user + // appears to be still using it -> rebind + const rootUuid = (action._localRoot || this._root).uuid, + clipUuid = action._clip.uuid, + actionsForClip = this._actionsByClip[clipUuid]; - /* - 5____4 - 1/___0/| - | 6__|_7 - 2/___3/ + this._bindAction(action, actionsForClip && actionsForClip.knownActions[0]); - 0: max.x, max.y, max.z - 1: min.x, max.y, max.z - 2: min.x, min.y, max.z - 3: max.x, min.y, max.z - 4: max.x, max.y, min.z - 5: min.x, max.y, min.z - 6: min.x, min.y, min.z - 7: max.x, min.y, min.z - */ + this._addInactiveAction(action, clipUuid, rootUuid); + } - var position = this.geometry.attributes.position; - var array = position.array; + const bindings = action._propertyBindings; // increment reference counts / sort out state - array[ 0 ] = max.x; array[ 1 ] = max.y; array[ 2 ] = max.z; - array[ 3 ] = min.x; array[ 4 ] = max.y; array[ 5 ] = max.z; - array[ 6 ] = min.x; array[ 7 ] = min.y; array[ 8 ] = max.z; - array[ 9 ] = max.x; array[ 10 ] = min.y; array[ 11 ] = max.z; - array[ 12 ] = max.x; array[ 13 ] = max.y; array[ 14 ] = min.z; - array[ 15 ] = min.x; array[ 16 ] = max.y; array[ 17 ] = min.z; - array[ 18 ] = min.x; array[ 19 ] = min.y; array[ 20 ] = min.z; - array[ 21 ] = max.x; array[ 22 ] = min.y; array[ 23 ] = min.z; + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; - position.needsUpdate = true; + if (binding.useCount++ === 0) { + this._lendBinding(binding); - this.geometry.computeBoundingSphere(); + binding.saveOriginalState(); + } + } - }; + this._lendAction(action); + } + } - } )(); + _deactivateAction(action) { + if (this._isActiveAction(action)) { + const bindings = action._propertyBindings; // decrement reference counts / sort out state - BoxHelper.prototype.setFromObject = function ( object ) { + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; - this.object = object; - this.update(); + if (--binding.useCount === 0) { + binding.restoreOriginalState(); - return this; + this._takeBackBinding(binding); + } + } - }; + this._takeBackAction(action); + } + } // Memory manager - BoxHelper.prototype.copy = function ( source ) { - LineSegments.prototype.copy.call( this, source ); + _initMemoryManager() { + this._actions = []; // 'nActiveActions' followed by inactive ones - this.object = source.object; + this._nActiveActions = 0; + this._actionsByClip = {}; // inside: + // { + // knownActions: Array< AnimationAction > - used as prototypes + // actionByRoot: AnimationAction - lookup + // } - return this; + this._bindings = []; // 'nActiveBindings' followed by inactive ones - }; + this._nActiveBindings = 0; + this._bindingsByRootAndName = {}; // inside: Map< name, PropertyMixer > - BoxHelper.prototype.clone = function () { + this._controlInterpolants = []; // same game as above - return new this.constructor().copy( this ); + this._nActiveControlInterpolants = 0; + const scope = this; + this.stats = { + actions: { + get total() { + return scope._actions.length; + }, - }; + get inUse() { + return scope._nActiveActions; + } - /** - * @author WestLangley / http://github.com/WestLangley - */ + }, + bindings: { + get total() { + return scope._bindings.length; + }, - function Box3Helper( box, hex ) { + get inUse() { + return scope._nActiveBindings; + } - this.type = 'Box3Helper'; + }, + controlInterpolants: { + get total() { + return scope._controlInterpolants.length; + }, - this.box = box; + get inUse() { + return scope._nActiveControlInterpolants; + } - var color = ( hex !== undefined ) ? hex : 0xffff00; + } + }; + } // Memory management for AnimationAction objects - var indices = new Uint16Array( [ 0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7 ] ); - var positions = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, - 1, - 1, 1, - 1, - 1, - 1, - 1, 1, - 1, - 1 ]; + _isActiveAction(action) { + const index = action._cacheIndex; + return index !== null && index < this._nActiveActions; + } - var geometry = new BufferGeometry(); + _addInactiveAction(action, clipUuid, rootUuid) { + const actions = this._actions, + actionsByClip = this._actionsByClip; + let actionsForClip = actionsByClip[clipUuid]; - geometry.setIndex( new BufferAttribute( indices, 1 ) ); + if (actionsForClip === undefined) { + actionsForClip = { + knownActions: [action], + actionByRoot: {} + }; + action._byClipCacheIndex = 0; + actionsByClip[clipUuid] = actionsForClip; + } else { + const knownActions = actionsForClip.knownActions; + action._byClipCacheIndex = knownActions.length; + knownActions.push(action); + } - geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); + action._cacheIndex = actions.length; + actions.push(action); + actionsForClip.actionByRoot[rootUuid] = action; + } - LineSegments.call( this, geometry, new LineBasicMaterial( { color: color } ) ); + _removeInactiveAction(action) { + const actions = this._actions, + lastInactiveAction = actions[actions.length - 1], + cacheIndex = action._cacheIndex; + lastInactiveAction._cacheIndex = cacheIndex; + actions[cacheIndex] = lastInactiveAction; + actions.pop(); + action._cacheIndex = null; + const clipUuid = action._clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[clipUuid], + knownActionsForClip = actionsForClip.knownActions, + lastKnownAction = knownActionsForClip[knownActionsForClip.length - 1], + byClipCacheIndex = action._byClipCacheIndex; + lastKnownAction._byClipCacheIndex = byClipCacheIndex; + knownActionsForClip[byClipCacheIndex] = lastKnownAction; + knownActionsForClip.pop(); + action._byClipCacheIndex = null; + const actionByRoot = actionsForClip.actionByRoot, + rootUuid = (action._localRoot || this._root).uuid; + delete actionByRoot[rootUuid]; - this.geometry.computeBoundingSphere(); + if (knownActionsForClip.length === 0) { + delete actionsByClip[clipUuid]; + } - } + this._removeInactiveBindingsForAction(action); + } - Box3Helper.prototype = Object.create( LineSegments.prototype ); - Box3Helper.prototype.constructor = Box3Helper; + _removeInactiveBindingsForAction(action) { + const bindings = action._propertyBindings; - Box3Helper.prototype.updateMatrixWorld = function ( force ) { + for (let i = 0, n = bindings.length; i !== n; ++i) { + const binding = bindings[i]; - var box = this.box; + if (--binding.referenceCount === 0) { + this._removeInactiveBinding(binding); + } + } + } - if ( box.isEmpty() ) return; + _lendAction(action) { + // [ active actions | inactive actions ] + // [ active actions >| inactive actions ] + // s a + // <-swap-> + // a s + const actions = this._actions, + prevIndex = action._cacheIndex, + lastActiveIndex = this._nActiveActions++, + firstInactiveAction = actions[lastActiveIndex]; + action._cacheIndex = lastActiveIndex; + actions[lastActiveIndex] = action; + firstInactiveAction._cacheIndex = prevIndex; + actions[prevIndex] = firstInactiveAction; + } + + _takeBackAction(action) { + // [ active actions | inactive actions ] + // [ active actions |< inactive actions ] + // a s + // <-swap-> + // s a + const actions = this._actions, + prevIndex = action._cacheIndex, + firstInactiveIndex = --this._nActiveActions, + lastActiveAction = actions[firstInactiveIndex]; + action._cacheIndex = firstInactiveIndex; + actions[firstInactiveIndex] = action; + lastActiveAction._cacheIndex = prevIndex; + actions[prevIndex] = lastActiveAction; + } // Memory management for PropertyMixer objects - box.getCenter( this.position ); - box.getSize( this.scale ); + _addInactiveBinding(binding, rootUuid, trackName) { + const bindingsByRoot = this._bindingsByRootAndName, + bindings = this._bindings; + let bindingByName = bindingsByRoot[rootUuid]; - this.scale.multiplyScalar( 0.5 ); + if (bindingByName === undefined) { + bindingByName = {}; + bindingsByRoot[rootUuid] = bindingByName; + } - Object3D.prototype.updateMatrixWorld.call( this, force ); + bindingByName[trackName] = binding; + binding._cacheIndex = bindings.length; + bindings.push(binding); + } + + _removeInactiveBinding(binding) { + const bindings = this._bindings, + propBinding = binding.binding, + rootUuid = propBinding.rootNode.uuid, + trackName = propBinding.path, + bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[rootUuid], + lastInactiveBinding = bindings[bindings.length - 1], + cacheIndex = binding._cacheIndex; + lastInactiveBinding._cacheIndex = cacheIndex; + bindings[cacheIndex] = lastInactiveBinding; + bindings.pop(); + delete bindingByName[trackName]; - }; + if (Object.keys(bindingByName).length === 0) { + delete bindingsByRoot[rootUuid]; + } + } - /** - * @author WestLangley / http://github.com/WestLangley - */ + _lendBinding(binding) { + const bindings = this._bindings, + prevIndex = binding._cacheIndex, + lastActiveIndex = this._nActiveBindings++, + firstInactiveBinding = bindings[lastActiveIndex]; + binding._cacheIndex = lastActiveIndex; + bindings[lastActiveIndex] = binding; + firstInactiveBinding._cacheIndex = prevIndex; + bindings[prevIndex] = firstInactiveBinding; + } - function PlaneHelper( plane, size, hex ) { + _takeBackBinding(binding) { + const bindings = this._bindings, + prevIndex = binding._cacheIndex, + firstInactiveIndex = --this._nActiveBindings, + lastActiveBinding = bindings[firstInactiveIndex]; + binding._cacheIndex = firstInactiveIndex; + bindings[firstInactiveIndex] = binding; + lastActiveBinding._cacheIndex = prevIndex; + bindings[prevIndex] = lastActiveBinding; + } // Memory management of Interpolants for weight and time scale - this.type = 'PlaneHelper'; - this.plane = plane; + _lendControlInterpolant() { + const interpolants = this._controlInterpolants, + lastActiveIndex = this._nActiveControlInterpolants++; + let interpolant = interpolants[lastActiveIndex]; - this.size = ( size === undefined ) ? 1 : size; + if (interpolant === undefined) { + interpolant = new LinearInterpolant(new Float32Array(2), new Float32Array(2), 1, this._controlInterpolantsResultBuffer); + interpolant.__cacheIndex = lastActiveIndex; + interpolants[lastActiveIndex] = interpolant; + } - var color = ( hex !== undefined ) ? hex : 0xffff00; + return interpolant; + } - var positions = [ 1, - 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0 ]; + _takeBackControlInterpolant(interpolant) { + const interpolants = this._controlInterpolants, + prevIndex = interpolant.__cacheIndex, + firstInactiveIndex = --this._nActiveControlInterpolants, + lastActiveInterpolant = interpolants[firstInactiveIndex]; + interpolant.__cacheIndex = firstInactiveIndex; + interpolants[firstInactiveIndex] = interpolant; + lastActiveInterpolant.__cacheIndex = prevIndex; + interpolants[prevIndex] = lastActiveInterpolant; + } // return an action for a clip optionally using a custom root target + // object (this method allocates a lot of dynamic memory in case a + // previously unknown clip/root combination is specified) - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( positions, 3 ) ); - geometry.computeBoundingSphere(); - Line.call( this, geometry, new LineBasicMaterial( { color: color } ) ); + clipAction(clip, optionalRoot, blendMode) { + const root = optionalRoot || this._root, + rootUuid = root.uuid; + let clipObject = typeof clip === 'string' ? AnimationClip.findByName(root, clip) : clip; + const clipUuid = clipObject !== null ? clipObject.uuid : clip; + const actionsForClip = this._actionsByClip[clipUuid]; + let prototypeAction = null; - // + if (blendMode === undefined) { + if (clipObject !== null) { + blendMode = clipObject.blendMode; + } else { + blendMode = NormalAnimationBlendMode; + } + } - var positions2 = [ 1, 1, 1, - 1, 1, 1, - 1, - 1, 1, 1, 1, 1, - 1, - 1, 1, 1, - 1, 1 ]; + if (actionsForClip !== undefined) { + const existingAction = actionsForClip.actionByRoot[rootUuid]; - var geometry2 = new BufferGeometry(); - geometry2.addAttribute( 'position', new Float32BufferAttribute( positions2, 3 ) ); - geometry2.computeBoundingSphere(); + if (existingAction !== undefined && existingAction.blendMode === blendMode) { + return existingAction; + } // we know the clip, so we don't have to parse all + // the bindings again but can just copy - this.add( new Mesh( geometry2, new MeshBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false } ) ) ); - } + prototypeAction = actionsForClip.knownActions[0]; // also, take the clip from the prototype action - PlaneHelper.prototype = Object.create( Line.prototype ); - PlaneHelper.prototype.constructor = PlaneHelper; + if (clipObject === null) clipObject = prototypeAction._clip; + } // clip must be known when specified via string - PlaneHelper.prototype.updateMatrixWorld = function ( force ) { - var scale = - this.plane.constant; + if (clipObject === null) return null; // allocate all resources required to run it - if ( Math.abs( scale ) < 1e-8 ) scale = 1e-8; // sign does not matter + const newAction = new AnimationAction(this, clipObject, optionalRoot, blendMode); - this.scale.set( 0.5 * this.size, 0.5 * this.size, scale ); + this._bindAction(newAction, prototypeAction); // and make the action known to the memory manager - this.children[ 0 ].material.side = ( scale < 0 ) ? BackSide : FrontSide; // renderer flips side when determinant < 0; flipping not wanted here - this.lookAt( this.plane.normal ); + this._addInactiveAction(newAction, clipUuid, rootUuid); - Object3D.prototype.updateMatrixWorld.call( this, force ); + return newAction; + } // get an existing action - }; - /** - * @author WestLangley / http://github.com/WestLangley - * @author zz85 / http://github.com/zz85 - * @author bhouston / http://clara.io - * - * Creates an arrow for visualizing directions - * - * Parameters: - * dir - Vector3 - * origin - Vector3 - * length - Number - * color - color in hex value - * headLength - Number - * headWidth - Number - */ + existingAction(clip, optionalRoot) { + const root = optionalRoot || this._root, + rootUuid = root.uuid, + clipObject = typeof clip === 'string' ? AnimationClip.findByName(root, clip) : clip, + clipUuid = clipObject ? clipObject.uuid : clip, + actionsForClip = this._actionsByClip[clipUuid]; - var lineGeometry, coneGeometry; + if (actionsForClip !== undefined) { + return actionsForClip.actionByRoot[rootUuid] || null; + } - function ArrowHelper( dir, origin, length, color, headLength, headWidth ) { + return null; + } // deactivates all previously scheduled actions - // dir is assumed to be normalized - Object3D.call( this ); + stopAllAction() { + const actions = this._actions, + nActions = this._nActiveActions; - if ( dir === undefined ) dir = new Vector3( 0, 0, 1 ); - if ( origin === undefined ) origin = new Vector3( 0, 0, 0 ); - if ( length === undefined ) length = 1; - if ( color === undefined ) color = 0xffff00; - if ( headLength === undefined ) headLength = 0.2 * length; - if ( headWidth === undefined ) headWidth = 0.2 * headLength; + for (let i = nActions - 1; i >= 0; --i) { + actions[i].stop(); + } - if ( lineGeometry === undefined ) { + return this; + } // advance the time and update apply the animation - lineGeometry = new BufferGeometry(); - lineGeometry.addAttribute( 'position', new Float32BufferAttribute( [ 0, 0, 0, 0, 1, 0 ], 3 ) ); - coneGeometry = new CylinderBufferGeometry( 0, 0.5, 1, 5, 1 ); - coneGeometry.translate( 0, - 0.5, 0 ); + update(deltaTime) { + deltaTime *= this.timeScale; + const actions = this._actions, + nActions = this._nActiveActions, + time = this.time += deltaTime, + timeDirection = Math.sign(deltaTime), + accuIndex = this._accuIndex ^= 1; // run active actions - } + for (let i = 0; i !== nActions; ++i) { + const action = actions[i]; - this.position.copy( origin ); + action._update(time, deltaTime, timeDirection, accuIndex); + } // update scene graph - this.line = new Line( lineGeometry, new LineBasicMaterial( { color: color } ) ); - this.line.matrixAutoUpdate = false; - this.add( this.line ); - this.cone = new Mesh( coneGeometry, new MeshBasicMaterial( { color: color } ) ); - this.cone.matrixAutoUpdate = false; - this.add( this.cone ); + const bindings = this._bindings, + nBindings = this._nActiveBindings; - this.setDirection( dir ); - this.setLength( length, headLength, headWidth ); + for (let i = 0; i !== nBindings; ++i) { + bindings[i].apply(accuIndex); + } - } + return this; + } // Allows you to seek to a specific time in an animation. - ArrowHelper.prototype = Object.create( Object3D.prototype ); - ArrowHelper.prototype.constructor = ArrowHelper; - ArrowHelper.prototype.setDirection = ( function () { + setTime(timeInSeconds) { + this.time = 0; // Zero out time attribute for AnimationMixer object; - var axis = new Vector3(); - var radians; + for (let i = 0; i < this._actions.length; i++) { + this._actions[i].time = 0; // Zero out time attribute for all associated AnimationAction objects. + } - return function setDirection( dir ) { + return this.update(timeInSeconds); // Update used to set exact time. Returns "this" AnimationMixer object. + } // return this mixer's root target object - // dir is assumed to be normalized - if ( dir.y > 0.99999 ) { + getRoot() { + return this._root; + } // free all resources specific to a particular clip - this.quaternion.set( 0, 0, 0, 1 ); - } else if ( dir.y < - 0.99999 ) { + uncacheClip(clip) { + const actions = this._actions, + clipUuid = clip.uuid, + actionsByClip = this._actionsByClip, + actionsForClip = actionsByClip[clipUuid]; - this.quaternion.set( 1, 0, 0, 0 ); + if (actionsForClip !== undefined) { + // note: just calling _removeInactiveAction would mess up the + // iteration state and also require updating the state we can + // just throw away + const actionsToRemove = actionsForClip.knownActions; - } else { + for (let i = 0, n = actionsToRemove.length; i !== n; ++i) { + const action = actionsToRemove[i]; - axis.set( dir.z, 0, - dir.x ).normalize(); + this._deactivateAction(action); - radians = Math.acos( dir.y ); + const cacheIndex = action._cacheIndex, + lastInactiveAction = actions[actions.length - 1]; + action._cacheIndex = null; + action._byClipCacheIndex = null; + lastInactiveAction._cacheIndex = cacheIndex; + actions[cacheIndex] = lastInactiveAction; + actions.pop(); - this.quaternion.setFromAxisAngle( axis, radians ); + this._removeInactiveBindingsForAction(action); + } + delete actionsByClip[clipUuid]; } + } // free all resources specific to a particular root target object - }; - - }() ); - ArrowHelper.prototype.setLength = function ( length, headLength, headWidth ) { + uncacheRoot(root) { + const rootUuid = root.uuid, + actionsByClip = this._actionsByClip; - if ( headLength === undefined ) headLength = 0.2 * length; - if ( headWidth === undefined ) headWidth = 0.2 * headLength; + for (const clipUuid in actionsByClip) { + const actionByRoot = actionsByClip[clipUuid].actionByRoot, + action = actionByRoot[rootUuid]; - this.line.scale.set( 1, Math.max( 0, length - headLength ), 1 ); - this.line.updateMatrix(); + if (action !== undefined) { + this._deactivateAction(action); - this.cone.scale.set( headWidth, headLength, headWidth ); - this.cone.position.y = length; - this.cone.updateMatrix(); + this._removeInactiveAction(action); + } + } - }; + const bindingsByRoot = this._bindingsByRootAndName, + bindingByName = bindingsByRoot[rootUuid]; - ArrowHelper.prototype.setColor = function ( color ) { + if (bindingByName !== undefined) { + for (const trackName in bindingByName) { + const binding = bindingByName[trackName]; + binding.restoreOriginalState(); - this.line.material.color.copy( color ); - this.cone.material.color.copy( color ); + this._removeInactiveBinding(binding); + } + } + } // remove a targeted clip from the cache - }; - ArrowHelper.prototype.copy = function ( source ) { + uncacheAction(clip, optionalRoot) { + const action = this.existingAction(clip, optionalRoot); - Object3D.prototype.copy.call( this, source, false ); + if (action !== null) { + this._deactivateAction(action); - this.line.copy( source.line ); - this.cone.copy( source.cone ); + this._removeInactiveAction(action); + } + } - return this; + } - }; + AnimationMixer.prototype._controlInterpolantsResultBuffer = new Float32Array(1); - ArrowHelper.prototype.clone = function () { + class Uniform { + constructor(value) { + if (typeof value === 'string') { + console.warn('THREE.Uniform: Type parameter is no longer needed.'); + value = arguments[1]; + } - return new this.constructor().copy( this ); + this.value = value; + } - }; + clone() { + return new Uniform(this.value.clone === undefined ? this.value : this.value.clone()); + } - /** - * @author sroucheray / http://sroucheray.org/ - * @author mrdoob / http://mrdoob.com/ - */ + } - function AxesHelper( size ) { + class InstancedInterleavedBuffer extends InterleavedBuffer { + constructor(array, stride, meshPerAttribute = 1) { + super(array, stride); + this.meshPerAttribute = meshPerAttribute; + } - size = size || 1; + copy(source) { + super.copy(source); + this.meshPerAttribute = source.meshPerAttribute; + return this; + } - var vertices = [ - 0, 0, 0, size, 0, 0, - 0, 0, 0, 0, size, 0, - 0, 0, 0, 0, 0, size - ]; + clone(data) { + const ib = super.clone(data); + ib.meshPerAttribute = this.meshPerAttribute; + return ib; + } - var colors = [ - 1, 0, 0, 1, 0.6, 0, - 0, 1, 0, 0.6, 1, 0, - 0, 0, 1, 0, 0.6, 1 - ]; + toJSON(data) { + const json = super.toJSON(data); + json.isInstancedInterleavedBuffer = true; + json.meshPerAttribute = this.meshPerAttribute; + return json; + } - var geometry = new BufferGeometry(); - geometry.addAttribute( 'position', new Float32BufferAttribute( vertices, 3 ) ); - geometry.addAttribute( 'color', new Float32BufferAttribute( colors, 3 ) ); + } - var material = new LineBasicMaterial( { vertexColors: VertexColors } ); + InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer = true; - LineSegments.call( this, geometry, material ); + class GLBufferAttribute { + constructor(buffer, type, itemSize, elementSize, count) { + this.buffer = buffer; + this.type = type; + this.itemSize = itemSize; + this.elementSize = elementSize; + this.count = count; + this.version = 0; + } - } + set needsUpdate(value) { + if (value === true) this.version++; + } - AxesHelper.prototype = Object.create( LineSegments.prototype ); - AxesHelper.prototype.constructor = AxesHelper; + setBuffer(buffer) { + this.buffer = buffer; + return this; + } - /** - * @author mrdoob / http://mrdoob.com/ - */ + setType(type, elementSize) { + this.type = type; + this.elementSize = elementSize; + return this; + } - function Face4( a, b, c, d, normal, color, materialIndex ) { + setItemSize(itemSize) { + this.itemSize = itemSize; + return this; + } - console.warn( 'THREE.Face4 has been removed. A THREE.Face3 will be created instead.' ); - return new Face3( a, b, c, normal, color, materialIndex ); + setCount(count) { + this.count = count; + return this; + } } - var LineStrip = 0; + GLBufferAttribute.prototype.isGLBufferAttribute = true; - var LinePieces = 1; + class Raycaster { + constructor(origin, direction, near = 0, far = Infinity) { + this.ray = new Ray(origin, direction); // direction is assumed to be normalized (for accurate distance calculations) - function MeshFaceMaterial( materials ) { - - console.warn( 'THREE.MeshFaceMaterial has been removed. Use an Array instead.' ); - return materials; + this.near = near; + this.far = far; + this.camera = null; + this.layers = new Layers(); + this.params = { + Mesh: {}, + Line: { + threshold: 1 + }, + LOD: {}, + Points: { + threshold: 1 + }, + Sprite: {} + }; + } - } + set(origin, direction) { + // direction is assumed to be normalized (for accurate distance calculations) + this.ray.set(origin, direction); + } - function MultiMaterial( materials ) { + setFromCamera(coords, camera) { + if (camera && camera.isPerspectiveCamera) { + this.ray.origin.setFromMatrixPosition(camera.matrixWorld); + this.ray.direction.set(coords.x, coords.y, 0.5).unproject(camera).sub(this.ray.origin).normalize(); + this.camera = camera; + } else if (camera && camera.isOrthographicCamera) { + this.ray.origin.set(coords.x, coords.y, (camera.near + camera.far) / (camera.near - camera.far)).unproject(camera); // set origin in plane of camera - if ( materials === undefined ) materials = []; + this.ray.direction.set(0, 0, -1).transformDirection(camera.matrixWorld); + this.camera = camera; + } else { + console.error('THREE.Raycaster: Unsupported camera type: ' + camera.type); + } + } - console.warn( 'THREE.MultiMaterial has been removed. Use an Array instead.' ); - materials.isMultiMaterial = true; - materials.materials = materials; - materials.clone = function () { + intersectObject(object, recursive = false, intersects = []) { + intersectObject(object, this, intersects, recursive); + intersects.sort(ascSort); + return intersects; + } - return materials.slice(); + intersectObjects(objects, recursive = false, intersects = []) { + for (let i = 0, l = objects.length; i < l; i++) { + intersectObject(objects[i], this, intersects, recursive); + } - }; - return materials; + intersects.sort(ascSort); + return intersects; + } } - function PointCloud( geometry, material ) { - - console.warn( 'THREE.PointCloud has been renamed to THREE.Points.' ); - return new Points( geometry, material ); - + function ascSort(a, b) { + return a.distance - b.distance; } - function Particle( material ) { + function intersectObject(object, raycaster, intersects, recursive) { + if (object.layers.test(raycaster.layers)) { + object.raycast(raycaster, intersects); + } - console.warn( 'THREE.Particle has been renamed to THREE.Sprite.' ); - return new Sprite( material ); + if (recursive === true) { + const children = object.children; + for (let i = 0, l = children.length; i < l; i++) { + intersectObject(children[i], raycaster, intersects, true); + } + } } - function ParticleSystem( geometry, material ) { - - console.warn( 'THREE.ParticleSystem has been renamed to THREE.Points.' ); - return new Points( geometry, material ); + /** + * Ref: https://en.wikipedia.org/wiki/Spherical_coordinate_system + * + * The polar angle (phi) is measured from the positive y-axis. The positive y-axis is up. + * The azimuthal angle (theta) is measured from the positive z-axis. + */ - } + class Spherical { + constructor(radius = 1, phi = 0, theta = 0) { + this.radius = radius; + this.phi = phi; // polar angle - function PointCloudMaterial( parameters ) { + this.theta = theta; // azimuthal angle - console.warn( 'THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.' ); - return new PointsMaterial( parameters ); + return this; + } - } + set(radius, phi, theta) { + this.radius = radius; + this.phi = phi; + this.theta = theta; + return this; + } - function ParticleBasicMaterial( parameters ) { + copy(other) { + this.radius = other.radius; + this.phi = other.phi; + this.theta = other.theta; + return this; + } // restrict phi to be betwee EPS and PI-EPS - console.warn( 'THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.' ); - return new PointsMaterial( parameters ); - } + makeSafe() { + const EPS = 0.000001; + this.phi = Math.max(EPS, Math.min(Math.PI - EPS, this.phi)); + return this; + } - function ParticleSystemMaterial( parameters ) { + setFromVector3(v) { + return this.setFromCartesianCoords(v.x, v.y, v.z); + } - console.warn( 'THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.' ); - return new PointsMaterial( parameters ); + setFromCartesianCoords(x, y, z) { + this.radius = Math.sqrt(x * x + y * y + z * z); - } + if (this.radius === 0) { + this.theta = 0; + this.phi = 0; + } else { + this.theta = Math.atan2(x, z); + this.phi = Math.acos(clamp(y / this.radius, -1, 1)); + } - function Vertex( x, y, z ) { + return this; + } - console.warn( 'THREE.Vertex has been removed. Use THREE.Vector3 instead.' ); - return new Vector3( x, y, z ); + clone() { + return new this.constructor().copy(this); + } } - // + /** + * Ref: https://en.wikipedia.org/wiki/Cylindrical_coordinate_system + */ + class Cylindrical { + constructor(radius = 1, theta = 0, y = 0) { + this.radius = radius; // distance from the origin to a point in the x-z plane - function DynamicBufferAttribute( array, itemSize ) { + this.theta = theta; // counterclockwise angle in the x-z plane measured in radians from the positive z-axis - console.warn( 'THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setDynamic( true ) instead.' ); - return new BufferAttribute( array, itemSize ).setDynamic( true ); + this.y = y; // height above the x-z plane - } + return this; + } - function Int8Attribute( array, itemSize ) { + set(radius, theta, y) { + this.radius = radius; + this.theta = theta; + this.y = y; + return this; + } - console.warn( 'THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.' ); - return new Int8BufferAttribute( array, itemSize ); + copy(other) { + this.radius = other.radius; + this.theta = other.theta; + this.y = other.y; + return this; + } - } + setFromVector3(v) { + return this.setFromCartesianCoords(v.x, v.y, v.z); + } - function Uint8Attribute( array, itemSize ) { + setFromCartesianCoords(x, y, z) { + this.radius = Math.sqrt(x * x + z * z); + this.theta = Math.atan2(x, z); + this.y = y; + return this; + } - console.warn( 'THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.' ); - return new Uint8BufferAttribute( array, itemSize ); + clone() { + return new this.constructor().copy(this); + } } - function Uint8ClampedAttribute( array, itemSize ) { + const _vector$4 = /*@__PURE__*/new Vector2(); - console.warn( 'THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.' ); - return new Uint8ClampedBufferAttribute( array, itemSize ); + class Box2 { + constructor(min = new Vector2(+Infinity, +Infinity), max = new Vector2(-Infinity, -Infinity)) { + this.min = min; + this.max = max; + } - } + set(min, max) { + this.min.copy(min); + this.max.copy(max); + return this; + } + + setFromPoints(points) { + this.makeEmpty(); - function Int16Attribute( array, itemSize ) { + for (let i = 0, il = points.length; i < il; i++) { + this.expandByPoint(points[i]); + } - console.warn( 'THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.' ); - return new Int16BufferAttribute( array, itemSize ); + return this; + } - } + setFromCenterAndSize(center, size) { + const halfSize = _vector$4.copy(size).multiplyScalar(0.5); - function Uint16Attribute( array, itemSize ) { + this.min.copy(center).sub(halfSize); + this.max.copy(center).add(halfSize); + return this; + } - console.warn( 'THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.' ); - return new Uint16BufferAttribute( array, itemSize ); + clone() { + return new this.constructor().copy(this); + } - } + copy(box) { + this.min.copy(box.min); + this.max.copy(box.max); + return this; + } - function Int32Attribute( array, itemSize ) { + makeEmpty() { + this.min.x = this.min.y = +Infinity; + this.max.x = this.max.y = -Infinity; + return this; + } - console.warn( 'THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.' ); - return new Int32BufferAttribute( array, itemSize ); + isEmpty() { + // this is a more robust check for empty than ( volume <= 0 ) because volume can get positive with two negative axes + return this.max.x < this.min.x || this.max.y < this.min.y; + } - } + getCenter(target) { + return this.isEmpty() ? target.set(0, 0) : target.addVectors(this.min, this.max).multiplyScalar(0.5); + } - function Uint32Attribute( array, itemSize ) { + getSize(target) { + return this.isEmpty() ? target.set(0, 0) : target.subVectors(this.max, this.min); + } - console.warn( 'THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.' ); - return new Uint32BufferAttribute( array, itemSize ); + expandByPoint(point) { + this.min.min(point); + this.max.max(point); + return this; + } - } + expandByVector(vector) { + this.min.sub(vector); + this.max.add(vector); + return this; + } - function Float32Attribute( array, itemSize ) { + expandByScalar(scalar) { + this.min.addScalar(-scalar); + this.max.addScalar(scalar); + return this; + } - console.warn( 'THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.' ); - return new Float32BufferAttribute( array, itemSize ); + containsPoint(point) { + return point.x < this.min.x || point.x > this.max.x || point.y < this.min.y || point.y > this.max.y ? false : true; + } - } + containsBox(box) { + return this.min.x <= box.min.x && box.max.x <= this.max.x && this.min.y <= box.min.y && box.max.y <= this.max.y; + } - function Float64Attribute( array, itemSize ) { + getParameter(point, target) { + // This can potentially have a divide by zero if the box + // has a size dimension of 0. + return target.set((point.x - this.min.x) / (this.max.x - this.min.x), (point.y - this.min.y) / (this.max.y - this.min.y)); + } - console.warn( 'THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.' ); - return new Float64BufferAttribute( array, itemSize ); + intersectsBox(box) { + // using 4 splitting planes to rule out intersections + return box.max.x < this.min.x || box.min.x > this.max.x || box.max.y < this.min.y || box.min.y > this.max.y ? false : true; + } - } + clampPoint(point, target) { + return target.copy(point).clamp(this.min, this.max); + } - // + distanceToPoint(point) { + const clampedPoint = _vector$4.copy(point).clamp(this.min, this.max); - Curve.create = function ( construct, getPoint ) { + return clampedPoint.sub(point).length(); + } - console.log( 'THREE.Curve.create() has been deprecated' ); + intersect(box) { + this.min.max(box.min); + this.max.min(box.max); + return this; + } - construct.prototype = Object.create( Curve.prototype ); - construct.prototype.constructor = construct; - construct.prototype.getPoint = getPoint; + union(box) { + this.min.min(box.min); + this.max.max(box.max); + return this; + } - return construct; + translate(offset) { + this.min.add(offset); + this.max.add(offset); + return this; + } - }; + equals(box) { + return box.min.equals(this.min) && box.max.equals(this.max); + } - // + } - Object.assign( CurvePath.prototype, { + Box2.prototype.isBox2 = true; - createPointsGeometry: function ( divisions ) { + const _startP = /*@__PURE__*/new Vector3(); - console.warn( 'THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.' ); + const _startEnd = /*@__PURE__*/new Vector3(); - // generate geometry from path points (for Line or Points objects) + class Line3 { + constructor(start = new Vector3(), end = new Vector3()) { + this.start = start; + this.end = end; + } - var pts = this.getPoints( divisions ); - return this.createGeometry( pts ); + set(start, end) { + this.start.copy(start); + this.end.copy(end); + return this; + } - }, + copy(line) { + this.start.copy(line.start); + this.end.copy(line.end); + return this; + } - createSpacedPointsGeometry: function ( divisions ) { + getCenter(target) { + return target.addVectors(this.start, this.end).multiplyScalar(0.5); + } - console.warn( 'THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.' ); + delta(target) { + return target.subVectors(this.end, this.start); + } - // generate geometry from equidistant sampling along the path + distanceSq() { + return this.start.distanceToSquared(this.end); + } - var pts = this.getSpacedPoints( divisions ); - return this.createGeometry( pts ); + distance() { + return this.start.distanceTo(this.end); + } - }, + at(t, target) { + return this.delta(target).multiplyScalar(t).add(this.start); + } - createGeometry: function ( points ) { + closestPointToPointParameter(point, clampToLine) { + _startP.subVectors(point, this.start); - console.warn( 'THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.' ); + _startEnd.subVectors(this.end, this.start); - var geometry = new Geometry(); + const startEnd2 = _startEnd.dot(_startEnd); - for ( var i = 0, l = points.length; i < l; i ++ ) { + const startEnd_startP = _startEnd.dot(_startP); - var point = points[ i ]; - geometry.vertices.push( new Vector3( point.x, point.y, point.z || 0 ) ); + let t = startEnd_startP / startEnd2; + if (clampToLine) { + t = clamp(t, 0, 1); } - return geometry; - + return t; } - } ); - - // - - Object.assign( Path.prototype, { - - fromPoints: function ( points ) { + closestPointToPoint(point, clampToLine, target) { + const t = this.closestPointToPointParameter(point, clampToLine); + return this.delta(target).multiplyScalar(t).add(this.start); + } - console.warn( 'THREE.Path: .fromPoints() has been renamed to .setFromPoints().' ); - this.setFromPoints( points ); + applyMatrix4(matrix) { + this.start.applyMatrix4(matrix); + this.end.applyMatrix4(matrix); + return this; + } + equals(line) { + return line.start.equals(this.start) && line.end.equals(this.end); } - } ); + clone() { + return new this.constructor().copy(this); + } - // + } - function ClosedSplineCurve3( points ) { + class ImmediateRenderObject extends Object3D { + constructor(material) { + super(); + this.material = material; - console.warn( 'THREE.ClosedSplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); + this.render = function () {}; - CatmullRomCurve3.call( this, points ); - this.type = 'catmullrom'; - this.closed = true; + this.hasPositions = false; + this.hasNormals = false; + this.hasColors = false; + this.hasUvs = false; + this.positionArray = null; + this.normalArray = null; + this.colorArray = null; + this.uvArray = null; + this.count = 0; + } } - ClosedSplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); - - // + ImmediateRenderObject.prototype.isImmediateRenderObject = true; - function SplineCurve3( points ) { + const _vector$3 = /*@__PURE__*/new Vector3(); - console.warn( 'THREE.SplineCurve3 has been deprecated. Use THREE.CatmullRomCurve3 instead.' ); + class SpotLightHelper extends Object3D { + constructor(light, color) { + super(); + this.light = light; + this.light.updateMatrixWorld(); + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + this.color = color; + const geometry = new BufferGeometry(); + const positions = [0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, 1]; - CatmullRomCurve3.call( this, points ); - this.type = 'catmullrom'; + for (let i = 0, j = 1, l = 32; i < l; i++, j++) { + const p1 = i / l * Math.PI * 2; + const p2 = j / l * Math.PI * 2; + positions.push(Math.cos(p1), Math.sin(p1), 1, Math.cos(p2), Math.sin(p2), 1); + } - } + geometry.setAttribute('position', new Float32BufferAttribute(positions, 3)); + const material = new LineBasicMaterial({ + fog: false, + toneMapped: false + }); + this.cone = new LineSegments(geometry, material); + this.add(this.cone); + this.update(); + } - SplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype ); + dispose() { + this.cone.geometry.dispose(); + this.cone.material.dispose(); + } - // + update() { + this.light.updateMatrixWorld(); + const coneLength = this.light.distance ? this.light.distance : 1000; + const coneWidth = coneLength * Math.tan(this.light.angle); + this.cone.scale.set(coneWidth, coneWidth, coneLength); - function Spline( points ) { + _vector$3.setFromMatrixPosition(this.light.target.matrixWorld); - console.warn( 'THREE.Spline has been removed. Use THREE.CatmullRomCurve3 instead.' ); + this.cone.lookAt(_vector$3); - CatmullRomCurve3.call( this, points ); - this.type = 'catmullrom'; + if (this.color !== undefined) { + this.cone.material.color.set(this.color); + } else { + this.cone.material.color.copy(this.light.color); + } + } } - Spline.prototype = Object.create( CatmullRomCurve3.prototype ); + const _vector$2 = /*@__PURE__*/new Vector3(); - Object.assign( Spline.prototype, { + const _boneMatrix = /*@__PURE__*/new Matrix4(); - initFromArray: function ( /* a */ ) { + const _matrixWorldInv = /*@__PURE__*/new Matrix4(); - console.error( 'THREE.Spline: .initFromArray() has been removed.' ); + class SkeletonHelper extends LineSegments { + constructor(object) { + const bones = getBoneList(object); + const geometry = new BufferGeometry(); + const vertices = []; + const colors = []; + const color1 = new Color(0, 0, 1); + const color2 = new Color(0, 1, 0); - }, - getControlPointsArray: function ( /* optionalTarget */ ) { - - console.error( 'THREE.Spline: .getControlPointsArray() has been removed.' ); - - }, - reparametrizeByArcLength: function ( /* samplingCoef */ ) { + for (let i = 0; i < bones.length; i++) { + const bone = bones[i]; - console.error( 'THREE.Spline: .reparametrizeByArcLength() has been removed.' ); + if (bone.parent && bone.parent.isBone) { + vertices.push(0, 0, 0); + vertices.push(0, 0, 0); + colors.push(color1.r, color1.g, color1.b); + colors.push(color2.r, color2.g, color2.b); + } + } + geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute('color', new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ + vertexColors: true, + depthTest: false, + depthWrite: false, + toneMapped: false, + transparent: true + }); + super(geometry, material); + this.type = 'SkeletonHelper'; + this.isSkeletonHelper = true; + this.root = object; + this.bones = bones; + this.matrix = object.matrixWorld; + this.matrixAutoUpdate = false; } - } ); + updateMatrixWorld(force) { + const bones = this.bones; + const geometry = this.geometry; + const position = geometry.getAttribute('position'); - // + _matrixWorldInv.copy(this.root.matrixWorld).invert(); - function AxisHelper( size ) { + for (let i = 0, j = 0; i < bones.length; i++) { + const bone = bones[i]; - console.warn( 'THREE.AxisHelper has been renamed to THREE.AxesHelper.' ); - return new AxesHelper( size ); + if (bone.parent && bone.parent.isBone) { + _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.matrixWorld); - } + _vector$2.setFromMatrixPosition(_boneMatrix); - function BoundingBoxHelper( object, color ) { + position.setXYZ(j, _vector$2.x, _vector$2.y, _vector$2.z); - console.warn( 'THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.' ); - return new BoxHelper( object, color ); + _boneMatrix.multiplyMatrices(_matrixWorldInv, bone.parent.matrixWorld); - } + _vector$2.setFromMatrixPosition(_boneMatrix); - function EdgesHelper( object, hex ) { + position.setXYZ(j + 1, _vector$2.x, _vector$2.y, _vector$2.z); + j += 2; + } + } - console.warn( 'THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.' ); - return new LineSegments( new EdgesGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + geometry.getAttribute('position').needsUpdate = true; + super.updateMatrixWorld(force); + } } - GridHelper.prototype.setColors = function () { + function getBoneList(object) { + const boneList = []; - console.error( 'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.' ); + if (object && object.isBone) { + boneList.push(object); + } - }; + for (let i = 0; i < object.children.length; i++) { + boneList.push.apply(boneList, getBoneList(object.children[i])); + } - SkeletonHelper.prototype.update = function () { + return boneList; + } - console.error( 'THREE.SkeletonHelper: update() no longer needs to be called.' ); + class PointLightHelper extends Mesh { + constructor(light, sphereSize, color) { + const geometry = new SphereGeometry(sphereSize, 4, 2); + const material = new MeshBasicMaterial({ + wireframe: true, + fog: false, + toneMapped: false + }); + super(geometry, material); + this.light = light; + this.light.updateMatrixWorld(); + this.color = color; + this.type = 'PointLightHelper'; + this.matrix = this.light.matrixWorld; + this.matrixAutoUpdate = false; + this.update(); + /* + // TODO: delete this comment? + const distanceGeometry = new THREE.IcosahedronBufferGeometry( 1, 2 ); + const distanceMaterial = new THREE.MeshBasicMaterial( { color: hexColor, fog: false, wireframe: true, opacity: 0.1, transparent: true } ); + this.lightSphere = new THREE.Mesh( bulbGeometry, bulbMaterial ); + this.lightDistance = new THREE.Mesh( distanceGeometry, distanceMaterial ); + const d = light.distance; + if ( d === 0.0 ) { + this.lightDistance.visible = false; + } else { + this.lightDistance.scale.set( d, d, d ); + } + this.add( this.lightDistance ); + */ + } - }; + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } - function WireframeHelper( object, hex ) { + update() { + if (this.color !== undefined) { + this.material.color.set(this.color); + } else { + this.material.color.copy(this.light.color); + } + /* + const d = this.light.distance; + if ( d === 0.0 ) { + this.lightDistance.visible = false; + } else { + this.lightDistance.visible = true; + this.lightDistance.scale.set( d, d, d ); + } + */ - console.warn( 'THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.' ); - return new LineSegments( new WireframeGeometry( object.geometry ), new LineBasicMaterial( { color: hex !== undefined ? hex : 0xffffff } ) ); + } } - // - - Object.assign( Loader.prototype, { - - extractUrlBase: function ( url ) { + const _vector$1 = /*@__PURE__*/new Vector3(); - console.warn( 'THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.' ); - return LoaderUtils.extractUrlBase( url ); + const _color1 = /*@__PURE__*/new Color(); - } + const _color2 = /*@__PURE__*/new Color(); - } ); + class HemisphereLightHelper extends Object3D { + constructor(light, size, color) { + super(); + this.light = light; + this.light.updateMatrixWorld(); + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + this.color = color; + const geometry = new OctahedronGeometry(size); + geometry.rotateY(Math.PI * 0.5); + this.material = new MeshBasicMaterial({ + wireframe: true, + fog: false, + toneMapped: false + }); + if (this.color === undefined) this.material.vertexColors = true; + const position = geometry.getAttribute('position'); + const colors = new Float32Array(position.count * 3); + geometry.setAttribute('color', new BufferAttribute(colors, 3)); + this.add(new Mesh(geometry, this.material)); + this.update(); + } + + dispose() { + this.children[0].geometry.dispose(); + this.children[0].material.dispose(); + } + + update() { + const mesh = this.children[0]; + + if (this.color !== undefined) { + this.material.color.set(this.color); + } else { + const colors = mesh.geometry.getAttribute('color'); - function XHRLoader( manager ) { + _color1.copy(this.light.color); - console.warn( 'THREE.XHRLoader has been renamed to THREE.FileLoader.' ); - return new FileLoader( manager ); + _color2.copy(this.light.groundColor); - } + for (let i = 0, l = colors.count; i < l; i++) { + const color = i < l / 2 ? _color1 : _color2; + colors.setXYZ(i, color.r, color.g, color.b); + } - function BinaryTextureLoader( manager ) { + colors.needsUpdate = true; + } - console.warn( 'THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.' ); - return new DataTextureLoader( manager ); + mesh.lookAt(_vector$1.setFromMatrixPosition(this.light.matrixWorld).negate()); + } } - Object.assign( ObjectLoader.prototype, { + class GridHelper extends LineSegments { + constructor(size = 10, divisions = 10, color1 = 0x444444, color2 = 0x888888) { + color1 = new Color(color1); + color2 = new Color(color2); + const center = divisions / 2; + const step = size / divisions; + const halfSize = size / 2; + const vertices = [], + colors = []; - setTexturePath: function ( value ) { - - console.warn( 'THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().' ); - return this.setResourcePath( value ); + for (let i = 0, j = 0, k = -halfSize; i <= divisions; i++, k += step) { + vertices.push(-halfSize, 0, k, halfSize, 0, k); + vertices.push(k, 0, -halfSize, k, 0, halfSize); + const color = i === center ? color1 : color2; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + color.toArray(colors, j); + j += 3; + } + const geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute('color', new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ + vertexColors: true, + toneMapped: false + }); + super(geometry, material); + this.type = 'GridHelper'; } - } ); + } - // + class PolarGridHelper extends LineSegments { + constructor(radius = 10, radials = 16, circles = 8, divisions = 64, color1 = 0x444444, color2 = 0x888888) { + color1 = new Color(color1); + color2 = new Color(color2); + const vertices = []; + const colors = []; // create the radials - Object.assign( Box2.prototype, { + for (let i = 0; i <= radials; i++) { + const v = i / radials * (Math.PI * 2); + const x = Math.sin(v) * radius; + const z = Math.cos(v) * radius; + vertices.push(0, 0, 0); + vertices.push(x, 0, z); + const color = i & 1 ? color1 : color2; + colors.push(color.r, color.g, color.b); + colors.push(color.r, color.g, color.b); + } // create the circles - center: function ( optionalTarget ) { - console.warn( 'THREE.Box2: .center() has been renamed to .getCenter().' ); - return this.getCenter( optionalTarget ); + for (let i = 0; i <= circles; i++) { + const color = i & 1 ? color1 : color2; + const r = radius - radius / circles * i; - }, - empty: function () { + for (let j = 0; j < divisions; j++) { + // first vertex + let v = j / divisions * (Math.PI * 2); + let x = Math.sin(v) * r; + let z = Math.cos(v) * r; + vertices.push(x, 0, z); + colors.push(color.r, color.g, color.b); // second vertex + + v = (j + 1) / divisions * (Math.PI * 2); + x = Math.sin(v) * r; + z = Math.cos(v) * r; + vertices.push(x, 0, z); + colors.push(color.r, color.g, color.b); + } + } - console.warn( 'THREE.Box2: .empty() has been renamed to .isEmpty().' ); - return this.isEmpty(); + const geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute('color', new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ + vertexColors: true, + toneMapped: false + }); + super(geometry, material); + this.type = 'PolarGridHelper'; + } - }, - isIntersectionBox: function ( box ) { + } - console.warn( 'THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().' ); - return this.intersectsBox( box ); + const _v1 = /*@__PURE__*/new Vector3(); - }, - size: function ( optionalTarget ) { + const _v2 = /*@__PURE__*/new Vector3(); - console.warn( 'THREE.Box2: .size() has been renamed to .getSize().' ); - return this.getSize( optionalTarget ); + const _v3 = /*@__PURE__*/new Vector3(); + class DirectionalLightHelper extends Object3D { + constructor(light, size, color) { + super(); + this.light = light; + this.light.updateMatrixWorld(); + this.matrix = light.matrixWorld; + this.matrixAutoUpdate = false; + this.color = color; + if (size === undefined) size = 1; + let geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute([-size, size, 0, size, size, 0, size, -size, 0, -size, -size, 0, -size, size, 0], 3)); + const material = new LineBasicMaterial({ + fog: false, + toneMapped: false + }); + this.lightPlane = new Line(geometry, material); + this.add(this.lightPlane); + geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute([0, 0, 0, 0, 0, 1], 3)); + this.targetLine = new Line(geometry, material); + this.add(this.targetLine); + this.update(); } - } ); - Object.assign( Box3.prototype, { + dispose() { + this.lightPlane.geometry.dispose(); + this.lightPlane.material.dispose(); + this.targetLine.geometry.dispose(); + this.targetLine.material.dispose(); + } - center: function ( optionalTarget ) { + update() { + _v1.setFromMatrixPosition(this.light.matrixWorld); - console.warn( 'THREE.Box3: .center() has been renamed to .getCenter().' ); - return this.getCenter( optionalTarget ); + _v2.setFromMatrixPosition(this.light.target.matrixWorld); - }, - empty: function () { + _v3.subVectors(_v2, _v1); - console.warn( 'THREE.Box3: .empty() has been renamed to .isEmpty().' ); - return this.isEmpty(); + this.lightPlane.lookAt(_v2); - }, - isIntersectionBox: function ( box ) { + if (this.color !== undefined) { + this.lightPlane.material.color.set(this.color); + this.targetLine.material.color.set(this.color); + } else { + this.lightPlane.material.color.copy(this.light.color); + this.targetLine.material.color.copy(this.light.color); + } - console.warn( 'THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().' ); - return this.intersectsBox( box ); + this.targetLine.lookAt(_v2); + this.targetLine.scale.z = _v3.length(); + } - }, - isIntersectionSphere: function ( sphere ) { + } - console.warn( 'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); - return this.intersectsSphere( sphere ); + const _vector = /*@__PURE__*/new Vector3(); - }, - size: function ( optionalTarget ) { + const _camera = /*@__PURE__*/new Camera(); + /** + * - shows frustum, line of sight and up of the camera + * - suitable for fast updates + * - based on frustum visualization in lightgl.js shadowmap example + * http://evanw.github.com/lightgl.js/tests/shadowmap.html + */ - console.warn( 'THREE.Box3: .size() has been renamed to .getSize().' ); - return this.getSize( optionalTarget ); - } - } ); + class CameraHelper extends LineSegments { + constructor(camera) { + const geometry = new BufferGeometry(); + const material = new LineBasicMaterial({ + color: 0xffffff, + vertexColors: true, + toneMapped: false + }); + const vertices = []; + const colors = []; + const pointMap = {}; // colors + + const colorFrustum = new Color(0xffaa00); + const colorCone = new Color(0xff0000); + const colorUp = new Color(0x00aaff); + const colorTarget = new Color(0xffffff); + const colorCross = new Color(0x333333); // near + + addLine('n1', 'n2', colorFrustum); + addLine('n2', 'n4', colorFrustum); + addLine('n4', 'n3', colorFrustum); + addLine('n3', 'n1', colorFrustum); // far + + addLine('f1', 'f2', colorFrustum); + addLine('f2', 'f4', colorFrustum); + addLine('f4', 'f3', colorFrustum); + addLine('f3', 'f1', colorFrustum); // sides + + addLine('n1', 'f1', colorFrustum); + addLine('n2', 'f2', colorFrustum); + addLine('n3', 'f3', colorFrustum); + addLine('n4', 'f4', colorFrustum); // cone + + addLine('p', 'n1', colorCone); + addLine('p', 'n2', colorCone); + addLine('p', 'n3', colorCone); + addLine('p', 'n4', colorCone); // up + + addLine('u1', 'u2', colorUp); + addLine('u2', 'u3', colorUp); + addLine('u3', 'u1', colorUp); // target + + addLine('c', 't', colorTarget); + addLine('p', 'c', colorCross); // cross + + addLine('cn1', 'cn2', colorCross); + addLine('cn3', 'cn4', colorCross); + addLine('cf1', 'cf2', colorCross); + addLine('cf3', 'cf4', colorCross); + + function addLine(a, b, color) { + addPoint(a, color); + addPoint(b, color); + } + + function addPoint(id, color) { + vertices.push(0, 0, 0); + colors.push(color.r, color.g, color.b); + + if (pointMap[id] === undefined) { + pointMap[id] = []; + } + + pointMap[id].push(vertices.length / 3 - 1); + } + + geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute('color', new Float32BufferAttribute(colors, 3)); + super(geometry, material); + this.type = 'CameraHelper'; + this.camera = camera; + if (this.camera.updateProjectionMatrix) this.camera.updateProjectionMatrix(); + this.matrix = camera.matrixWorld; + this.matrixAutoUpdate = false; + this.pointMap = pointMap; + this.update(); + } + + update() { + const geometry = this.geometry; + const pointMap = this.pointMap; + const w = 1, + h = 1; // we need just camera projection matrix inverse + // world matrix must be identity - Line3.prototype.center = function ( optionalTarget ) { + _camera.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse); // center / target - console.warn( 'THREE.Line3: .center() has been renamed to .getCenter().' ); - return this.getCenter( optionalTarget ); - }; + setPoint('c', pointMap, geometry, _camera, 0, 0, -1); + setPoint('t', pointMap, geometry, _camera, 0, 0, 1); // near - Object.assign( _Math, { + setPoint('n1', pointMap, geometry, _camera, -w, -h, -1); + setPoint('n2', pointMap, geometry, _camera, w, -h, -1); + setPoint('n3', pointMap, geometry, _camera, -w, h, -1); + setPoint('n4', pointMap, geometry, _camera, w, h, -1); // far - random16: function () { + setPoint('f1', pointMap, geometry, _camera, -w, -h, 1); + setPoint('f2', pointMap, geometry, _camera, w, -h, 1); + setPoint('f3', pointMap, geometry, _camera, -w, h, 1); + setPoint('f4', pointMap, geometry, _camera, w, h, 1); // up - console.warn( 'THREE.Math: .random16() has been deprecated. Use Math.random() instead.' ); - return Math.random(); + setPoint('u1', pointMap, geometry, _camera, w * 0.7, h * 1.1, -1); + setPoint('u2', pointMap, geometry, _camera, -w * 0.7, h * 1.1, -1); + setPoint('u3', pointMap, geometry, _camera, 0, h * 2, -1); // cross - }, + setPoint('cf1', pointMap, geometry, _camera, -w, 0, 1); + setPoint('cf2', pointMap, geometry, _camera, w, 0, 1); + setPoint('cf3', pointMap, geometry, _camera, 0, -h, 1); + setPoint('cf4', pointMap, geometry, _camera, 0, h, 1); + setPoint('cn1', pointMap, geometry, _camera, -w, 0, -1); + setPoint('cn2', pointMap, geometry, _camera, w, 0, -1); + setPoint('cn3', pointMap, geometry, _camera, 0, -h, -1); + setPoint('cn4', pointMap, geometry, _camera, 0, h, -1); + geometry.getAttribute('position').needsUpdate = true; + } - nearestPowerOfTwo: function ( value ) { + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } - console.warn( 'THREE.Math: .nearestPowerOfTwo() has been renamed to .floorPowerOfTwo().' ); - return _Math.floorPowerOfTwo( value ); + } - }, + function setPoint(point, pointMap, geometry, camera, x, y, z) { + _vector.set(x, y, z).unproject(camera); - nextPowerOfTwo: function ( value ) { + const points = pointMap[point]; - console.warn( 'THREE.Math: .nextPowerOfTwo() has been renamed to .ceilPowerOfTwo().' ); - return _Math.ceilPowerOfTwo( value ); + if (points !== undefined) { + const position = geometry.getAttribute('position'); + for (let i = 0, l = points.length; i < l; i++) { + position.setXYZ(points[i], _vector.x, _vector.y, _vector.z); + } } + } - } ); + const _box = /*@__PURE__*/new Box3(); - Object.assign( Matrix3.prototype, { + class BoxHelper extends LineSegments { + constructor(object, color = 0xffff00) { + const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]); + const positions = new Float32Array(8 * 3); + const geometry = new BufferGeometry(); + geometry.setIndex(new BufferAttribute(indices, 1)); + geometry.setAttribute('position', new BufferAttribute(positions, 3)); + super(geometry, new LineBasicMaterial({ + color: color, + toneMapped: false + })); + this.object = object; + this.type = 'BoxHelper'; + this.matrixAutoUpdate = false; + this.update(); + } - flattenToArrayOffset: function ( array, offset ) { + update(object) { + if (object !== undefined) { + console.warn('THREE.BoxHelper: .update() has no longer arguments.'); + } - console.warn( "THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); - return this.toArray( array, offset ); + if (this.object !== undefined) { + _box.setFromObject(this.object); + } - }, - multiplyVector3: function ( vector ) { + if (_box.isEmpty()) return; + const min = _box.min; + const max = _box.max; + /* + 5____4 + 1/___0/| + | 6__|_7 + 2/___3/ + 0: max.x, max.y, max.z + 1: min.x, max.y, max.z + 2: min.x, min.y, max.z + 3: max.x, min.y, max.z + 4: max.x, max.y, min.z + 5: min.x, max.y, min.z + 6: min.x, min.y, min.z + 7: max.x, min.y, min.z + */ - console.warn( 'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.' ); - return vector.applyMatrix3( this ); + const position = this.geometry.attributes.position; + const array = position.array; + array[0] = max.x; + array[1] = max.y; + array[2] = max.z; + array[3] = min.x; + array[4] = max.y; + array[5] = max.z; + array[6] = min.x; + array[7] = min.y; + array[8] = max.z; + array[9] = max.x; + array[10] = min.y; + array[11] = max.z; + array[12] = max.x; + array[13] = max.y; + array[14] = min.z; + array[15] = min.x; + array[16] = max.y; + array[17] = min.z; + array[18] = min.x; + array[19] = min.y; + array[20] = min.z; + array[21] = max.x; + array[22] = min.y; + array[23] = min.z; + position.needsUpdate = true; + this.geometry.computeBoundingSphere(); + } - }, - multiplyVector3Array: function ( /* a */ ) { + setFromObject(object) { + this.object = object; + this.update(); + return this; + } - console.error( 'THREE.Matrix3: .multiplyVector3Array() has been removed.' ); + copy(source) { + LineSegments.prototype.copy.call(this, source); + this.object = source.object; + return this; + } - }, - applyToBuffer: function ( buffer /*, offset, length */ ) { + } - console.warn( 'THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); - return this.applyToBufferAttribute( buffer ); + class Box3Helper extends LineSegments { + constructor(box, color = 0xffff00) { + const indices = new Uint16Array([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 4, 1, 5, 2, 6, 3, 7]); + const positions = [1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1]; + const geometry = new BufferGeometry(); + geometry.setIndex(new BufferAttribute(indices, 1)); + geometry.setAttribute('position', new Float32BufferAttribute(positions, 3)); + super(geometry, new LineBasicMaterial({ + color: color, + toneMapped: false + })); + this.box = box; + this.type = 'Box3Helper'; + this.geometry.computeBoundingSphere(); + } - }, - applyToVector3Array: function ( /* array, offset, length */ ) { + updateMatrixWorld(force) { + const box = this.box; + if (box.isEmpty()) return; + box.getCenter(this.position); + box.getSize(this.scale); + this.scale.multiplyScalar(0.5); + super.updateMatrixWorld(force); + } - console.error( 'THREE.Matrix3: .applyToVector3Array() has been removed.' ); + } + class PlaneHelper extends Line { + constructor(plane, size = 1, hex = 0xffff00) { + const color = hex; + const positions = [1, -1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0]; + const geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute(positions, 3)); + geometry.computeBoundingSphere(); + super(geometry, new LineBasicMaterial({ + color: color, + toneMapped: false + })); + this.type = 'PlaneHelper'; + this.plane = plane; + this.size = size; + const positions2 = [1, 1, 1, -1, 1, 1, -1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1]; + const geometry2 = new BufferGeometry(); + geometry2.setAttribute('position', new Float32BufferAttribute(positions2, 3)); + geometry2.computeBoundingSphere(); + this.add(new Mesh(geometry2, new MeshBasicMaterial({ + color: color, + opacity: 0.2, + transparent: true, + depthWrite: false, + toneMapped: false + }))); } - } ); + updateMatrixWorld(force) { + let scale = -this.plane.constant; + if (Math.abs(scale) < 1e-8) scale = 1e-8; // sign does not matter - Object.assign( Matrix4.prototype, { + this.scale.set(0.5 * this.size, 0.5 * this.size, scale); + this.children[0].material.side = scale < 0 ? BackSide : FrontSide; // renderer flips side when determinant < 0; flipping not wanted here - extractPosition: function ( m ) { + this.lookAt(this.plane.normal); + super.updateMatrixWorld(force); + } - console.warn( 'THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().' ); - return this.copyPosition( m ); + } - }, - flattenToArrayOffset: function ( array, offset ) { + const _axis = /*@__PURE__*/new Vector3(); - console.warn( "THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead." ); - return this.toArray( array, offset ); + let _lineGeometry, _coneGeometry; - }, - getPosition: function () { + class ArrowHelper extends Object3D { + // dir is assumed to be normalized + constructor(dir = new Vector3(0, 0, 1), origin = new Vector3(0, 0, 0), length = 1, color = 0xffff00, headLength = length * 0.2, headWidth = headLength * 0.2) { + super(); + this.type = 'ArrowHelper'; - var v1; + if (_lineGeometry === undefined) { + _lineGeometry = new BufferGeometry(); - return function getPosition() { + _lineGeometry.setAttribute('position', new Float32BufferAttribute([0, 0, 0, 0, 1, 0], 3)); - if ( v1 === undefined ) v1 = new Vector3(); - console.warn( 'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.' ); - return v1.setFromMatrixColumn( this, 3 ); + _coneGeometry = new CylinderGeometry(0, 0.5, 1, 5, 1); - }; + _coneGeometry.translate(0, -0.5, 0); + } - }(), - setRotationFromQuaternion: function ( q ) { + this.position.copy(origin); + this.line = new Line(_lineGeometry, new LineBasicMaterial({ + color: color, + toneMapped: false + })); + this.line.matrixAutoUpdate = false; + this.add(this.line); + this.cone = new Mesh(_coneGeometry, new MeshBasicMaterial({ + color: color, + toneMapped: false + })); + this.cone.matrixAutoUpdate = false; + this.add(this.cone); + this.setDirection(dir); + this.setLength(length, headLength, headWidth); + } - console.warn( 'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().' ); - return this.makeRotationFromQuaternion( q ); + setDirection(dir) { + // dir is assumed to be normalized + if (dir.y > 0.99999) { + this.quaternion.set(0, 0, 0, 1); + } else if (dir.y < -0.99999) { + this.quaternion.set(1, 0, 0, 0); + } else { + _axis.set(dir.z, 0, -dir.x).normalize(); - }, - multiplyToArray: function () { + const radians = Math.acos(dir.y); + this.quaternion.setFromAxisAngle(_axis, radians); + } + } - console.warn( 'THREE.Matrix4: .multiplyToArray() has been removed.' ); + setLength(length, headLength = length * 0.2, headWidth = headLength * 0.2) { + this.line.scale.set(1, Math.max(0.0001, length - headLength), 1); // see #17458 - }, - multiplyVector3: function ( vector ) { + this.line.updateMatrix(); + this.cone.scale.set(headWidth, headLength, headWidth); + this.cone.position.y = length; + this.cone.updateMatrix(); + } - console.warn( 'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); - return vector.applyMatrix4( this ); + setColor(color) { + this.line.material.color.set(color); + this.cone.material.color.set(color); + } - }, - multiplyVector4: function ( vector ) { + copy(source) { + super.copy(source, false); + this.line.copy(source.line); + this.cone.copy(source.cone); + return this; + } - console.warn( 'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); - return vector.applyMatrix4( this ); + } - }, - multiplyVector3Array: function ( /* a */ ) { + class AxesHelper extends LineSegments { + constructor(size = 1) { + const vertices = [0, 0, 0, size, 0, 0, 0, 0, 0, 0, size, 0, 0, 0, 0, 0, 0, size]; + const colors = [1, 0, 0, 1, 0.6, 0, 0, 1, 0, 0.6, 1, 0, 0, 0, 1, 0, 0.6, 1]; + const geometry = new BufferGeometry(); + geometry.setAttribute('position', new Float32BufferAttribute(vertices, 3)); + geometry.setAttribute('color', new Float32BufferAttribute(colors, 3)); + const material = new LineBasicMaterial({ + vertexColors: true, + toneMapped: false + }); + super(geometry, material); + this.type = 'AxesHelper'; + } - console.error( 'THREE.Matrix4: .multiplyVector3Array() has been removed.' ); + setColors(xAxisColor, yAxisColor, zAxisColor) { + const color = new Color(); + const array = this.geometry.attributes.color.array; + color.set(xAxisColor); + color.toArray(array, 0); + color.toArray(array, 3); + color.set(yAxisColor); + color.toArray(array, 6); + color.toArray(array, 9); + color.set(zAxisColor); + color.toArray(array, 12); + color.toArray(array, 15); + this.geometry.attributes.color.needsUpdate = true; + return this; + } - }, - rotateAxis: function ( v ) { + dispose() { + this.geometry.dispose(); + this.material.dispose(); + } - console.warn( 'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.' ); - v.transformDirection( this ); + } - }, - crossVector: function ( vector ) { + const _floatView = new Float32Array(1); - console.warn( 'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.' ); - return vector.applyMatrix4( this ); + const _int32View = new Int32Array(_floatView.buffer); - }, - translate: function () { + class DataUtils { + // Converts float32 to float16 (stored as uint16 value). + static toHalfFloat(val) { + // Source: http://gamedev.stackexchange.com/questions/17326/conversion-of-a-number-from-single-precision-floating-point-representation-to-a/17410#17410 - console.error( 'THREE.Matrix4: .translate() has been removed.' ); + /* This method is faster than the OpenEXR implementation (very often + * used, eg. in Ogre), with the additional benefit of rounding, inspired + * by James Tursa?s half-precision code. */ + _floatView[0] = val; + const x = _int32View[0]; + let bits = x >> 16 & 0x8000; + /* Get the sign */ - }, - rotateX: function () { + let m = x >> 12 & 0x07ff; + /* Keep one extra bit for rounding */ - console.error( 'THREE.Matrix4: .rotateX() has been removed.' ); + const e = x >> 23 & 0xff; + /* Using int is faster here */ - }, - rotateY: function () { + /* If zero, or denormal, or exponent underflows too much for a denormal + * half, return signed zero. */ - console.error( 'THREE.Matrix4: .rotateY() has been removed.' ); + if (e < 103) return bits; + /* If NaN, return NaN. If Inf or exponent overflow, return Inf. */ - }, - rotateZ: function () { + if (e > 142) { + bits |= 0x7c00; + /* If exponent was 0xff and one mantissa bit was set, it means NaN, + * not Inf, so make sure we set one mantissa bit too. */ - console.error( 'THREE.Matrix4: .rotateZ() has been removed.' ); + bits |= (e == 255 ? 0 : 1) && x & 0x007fffff; + return bits; + } + /* If exponent underflows but not too much, return a denormal */ - }, - rotateByAxis: function () { - console.error( 'THREE.Matrix4: .rotateByAxis() has been removed.' ); + if (e < 113) { + m |= 0x0800; + /* Extra rounding may overflow and set mantissa to 0 and exponent + * to 1, which is OK. */ - }, - applyToBuffer: function ( buffer /*, offset, length */ ) { + bits |= (m >> 114 - e) + (m >> 113 - e & 1); + return bits; + } - console.warn( 'THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.' ); - return this.applyToBufferAttribute( buffer ); + bits |= e - 112 << 10 | m >> 1; + /* Extra rounding. An overflow will set mantissa to 0 and increment + * the exponent, which is OK. */ - }, - applyToVector3Array: function ( /* array, offset, length */ ) { + bits += m & 1; + return bits; + } - console.error( 'THREE.Matrix4: .applyToVector3Array() has been removed.' ); + } - }, - makeFrustum: function ( left, right, bottom, top, near, far ) { + const LineStrip = 0; + const LinePieces = 1; + const NoColors = 0; + const FaceColors = 1; + const VertexColors = 2; + function MeshFaceMaterial(materials) { + console.warn('THREE.MeshFaceMaterial has been removed. Use an Array instead.'); + return materials; + } + function MultiMaterial(materials = []) { + console.warn('THREE.MultiMaterial has been removed. Use an Array instead.'); + materials.isMultiMaterial = true; + materials.materials = materials; - console.warn( 'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.' ); - return this.makePerspective( left, right, top, bottom, near, far ); + materials.clone = function () { + return materials.slice(); + }; - } + return materials; + } + function PointCloud(geometry, material) { + console.warn('THREE.PointCloud has been renamed to THREE.Points.'); + return new Points(geometry, material); + } + function Particle(material) { + console.warn('THREE.Particle has been renamed to THREE.Sprite.'); + return new Sprite(material); + } + function ParticleSystem(geometry, material) { + console.warn('THREE.ParticleSystem has been renamed to THREE.Points.'); + return new Points(geometry, material); + } + function PointCloudMaterial(parameters) { + console.warn('THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.'); + return new PointsMaterial(parameters); + } + function ParticleBasicMaterial(parameters) { + console.warn('THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.'); + return new PointsMaterial(parameters); + } + function ParticleSystemMaterial(parameters) { + console.warn('THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.'); + return new PointsMaterial(parameters); + } + function Vertex(x, y, z) { + console.warn('THREE.Vertex has been removed. Use THREE.Vector3 instead.'); + return new Vector3(x, y, z); + } // - } ); + function DynamicBufferAttribute(array, itemSize) { + console.warn('THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.'); + return new BufferAttribute(array, itemSize).setUsage(DynamicDrawUsage); + } + function Int8Attribute(array, itemSize) { + console.warn('THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.'); + return new Int8BufferAttribute(array, itemSize); + } + function Uint8Attribute(array, itemSize) { + console.warn('THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.'); + return new Uint8BufferAttribute(array, itemSize); + } + function Uint8ClampedAttribute(array, itemSize) { + console.warn('THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.'); + return new Uint8ClampedBufferAttribute(array, itemSize); + } + function Int16Attribute(array, itemSize) { + console.warn('THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.'); + return new Int16BufferAttribute(array, itemSize); + } + function Uint16Attribute(array, itemSize) { + console.warn('THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.'); + return new Uint16BufferAttribute(array, itemSize); + } + function Int32Attribute(array, itemSize) { + console.warn('THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.'); + return new Int32BufferAttribute(array, itemSize); + } + function Uint32Attribute(array, itemSize) { + console.warn('THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.'); + return new Uint32BufferAttribute(array, itemSize); + } + function Float32Attribute(array, itemSize) { + console.warn('THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.'); + return new Float32BufferAttribute(array, itemSize); + } + function Float64Attribute(array, itemSize) { + console.warn('THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.'); + return new Float64BufferAttribute(array, itemSize); + } // - Plane.prototype.isIntersectionLine = function ( line ) { + Curve.create = function (construct, getPoint) { + console.log('THREE.Curve.create() has been deprecated'); + construct.prototype = Object.create(Curve.prototype); + construct.prototype.constructor = construct; + construct.prototype.getPoint = getPoint; + return construct; + }; // - console.warn( 'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().' ); - return this.intersectsLine( line ); - }; + Path.prototype.fromPoints = function (points) { + console.warn('THREE.Path: .fromPoints() has been renamed to .setFromPoints().'); + return this.setFromPoints(points); + }; // - Quaternion.prototype.multiplyVector3 = function ( vector ) { - console.warn( 'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.' ); - return vector.applyQuaternion( this ); + function AxisHelper(size) { + console.warn('THREE.AxisHelper has been renamed to THREE.AxesHelper.'); + return new AxesHelper(size); + } + function BoundingBoxHelper(object, color) { + console.warn('THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.'); + return new BoxHelper(object, color); + } + function EdgesHelper(object, hex) { + console.warn('THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.'); + return new LineSegments(new EdgesGeometry(object.geometry), new LineBasicMaterial({ + color: hex !== undefined ? hex : 0xffffff + })); + } + GridHelper.prototype.setColors = function () { + console.error('THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.'); }; - Object.assign( Ray.prototype, { - - isIntersectionBox: function ( box ) { - - console.warn( 'THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().' ); - return this.intersectsBox( box ); + SkeletonHelper.prototype.update = function () { + console.error('THREE.SkeletonHelper: update() no longer needs to be called.'); + }; - }, - isIntersectionPlane: function ( plane ) { + function WireframeHelper(object, hex) { + console.warn('THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.'); + return new LineSegments(new WireframeGeometry(object.geometry), new LineBasicMaterial({ + color: hex !== undefined ? hex : 0xffffff + })); + } // - console.warn( 'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().' ); - return this.intersectsPlane( plane ); + Loader.prototype.extractUrlBase = function (url) { + console.warn('THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.'); + return LoaderUtils.extractUrlBase(url); + }; + Loader.Handlers = { + add: function () { + console.error('THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.'); }, - isIntersectionSphere: function ( sphere ) { - - console.warn( 'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().' ); - return this.intersectsSphere( sphere ); - + get: function () { + console.error('THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.'); } + }; + function XHRLoader(manager) { + console.warn('THREE.XHRLoader has been renamed to THREE.FileLoader.'); + return new FileLoader(manager); + } + function BinaryTextureLoader(manager) { + console.warn('THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.'); + return new DataTextureLoader(manager); + } // + + Box2.prototype.center = function (optionalTarget) { + console.warn('THREE.Box2: .center() has been renamed to .getCenter().'); + return this.getCenter(optionalTarget); + }; - } ); - - Object.assign( Triangle.prototype, { + Box2.prototype.empty = function () { + console.warn('THREE.Box2: .empty() has been renamed to .isEmpty().'); + return this.isEmpty(); + }; - area: function () { + Box2.prototype.isIntersectionBox = function (box) { + console.warn('THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().'); + return this.intersectsBox(box); + }; - console.warn( 'THREE.Triangle: .area() has been renamed to .getArea().' ); - return this.getArea(); + Box2.prototype.size = function (optionalTarget) { + console.warn('THREE.Box2: .size() has been renamed to .getSize().'); + return this.getSize(optionalTarget); + }; // - }, - barycoordFromPoint: function ( point, target ) { - console.warn( 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().' ); - return this.getBarycoord( point, target ); + Box3.prototype.center = function (optionalTarget) { + console.warn('THREE.Box3: .center() has been renamed to .getCenter().'); + return this.getCenter(optionalTarget); + }; - }, - midpoint: function ( target ) { + Box3.prototype.empty = function () { + console.warn('THREE.Box3: .empty() has been renamed to .isEmpty().'); + return this.isEmpty(); + }; - console.warn( 'THREE.Triangle: .midpoint() has been renamed to .getMidpoint().' ); - return this.getMidpoint( target ); + Box3.prototype.isIntersectionBox = function (box) { + console.warn('THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().'); + return this.intersectsBox(box); + }; - }, - normal: function ( target ) { + Box3.prototype.isIntersectionSphere = function (sphere) { + console.warn('THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().'); + return this.intersectsSphere(sphere); + }; - console.warn( 'THREE.Triangle: .normal() has been renamed to .getNormal().' ); - return this.getNormal( target ); + Box3.prototype.size = function (optionalTarget) { + console.warn('THREE.Box3: .size() has been renamed to .getSize().'); + return this.getSize(optionalTarget); + }; // - }, - plane: function ( target ) { - console.warn( 'THREE.Triangle: .plane() has been renamed to .getPlane().' ); - return this.getPlane( target ); + Sphere.prototype.empty = function () { + console.warn('THREE.Sphere: .empty() has been renamed to .isEmpty().'); + return this.isEmpty(); + }; // - } - } ); + Frustum.prototype.setFromMatrix = function (m) { + console.warn('THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().'); + return this.setFromProjectionMatrix(m); + }; // - Object.assign( Triangle, { - barycoordFromPoint: function ( point, a, b, c, target ) { + Line3.prototype.center = function (optionalTarget) { + console.warn('THREE.Line3: .center() has been renamed to .getCenter().'); + return this.getCenter(optionalTarget); + }; // - console.warn( 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().' ); - return Triangle.getBarycoord( point, a, b, c, target ); - }, - normal: function ( a, b, c, target ) { + Matrix3.prototype.flattenToArrayOffset = function (array, offset) { + console.warn('THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.'); + return this.toArray(array, offset); + }; - console.warn( 'THREE.Triangle: .normal() has been renamed to .getNormal().' ); - return Triangle.getNormal( a, b, c, target ); + Matrix3.prototype.multiplyVector3 = function (vector) { + console.warn('THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.'); + return vector.applyMatrix3(this); + }; - } + Matrix3.prototype.multiplyVector3Array = function () { + console.error('THREE.Matrix3: .multiplyVector3Array() has been removed.'); + }; - } ); + Matrix3.prototype.applyToBufferAttribute = function (attribute) { + console.warn('THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.'); + return attribute.applyMatrix3(this); + }; - Object.assign( Shape.prototype, { + Matrix3.prototype.applyToVector3Array = function () { + console.error('THREE.Matrix3: .applyToVector3Array() has been removed.'); + }; - extractAllPoints: function ( divisions ) { + Matrix3.prototype.getInverse = function (matrix) { + console.warn('THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.'); + return this.copy(matrix).invert(); + }; // - console.warn( 'THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.' ); - return this.extractPoints( divisions ); - }, - extrude: function ( options ) { + Matrix4.prototype.extractPosition = function (m) { + console.warn('THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().'); + return this.copyPosition(m); + }; - console.warn( 'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.' ); - return new ExtrudeGeometry( this, options ); + Matrix4.prototype.flattenToArrayOffset = function (array, offset) { + console.warn('THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.'); + return this.toArray(array, offset); + }; - }, - makeGeometry: function ( options ) { + Matrix4.prototype.getPosition = function () { + console.warn('THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.'); + return new Vector3().setFromMatrixColumn(this, 3); + }; - console.warn( 'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.' ); - return new ShapeGeometry( this, options ); + Matrix4.prototype.setRotationFromQuaternion = function (q) { + console.warn('THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().'); + return this.makeRotationFromQuaternion(q); + }; - } + Matrix4.prototype.multiplyToArray = function () { + console.warn('THREE.Matrix4: .multiplyToArray() has been removed.'); + }; - } ); + Matrix4.prototype.multiplyVector3 = function (vector) { + console.warn('THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.'); + return vector.applyMatrix4(this); + }; - Object.assign( Vector2.prototype, { + Matrix4.prototype.multiplyVector4 = function (vector) { + console.warn('THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.'); + return vector.applyMatrix4(this); + }; - fromAttribute: function ( attribute, index, offset ) { + Matrix4.prototype.multiplyVector3Array = function () { + console.error('THREE.Matrix4: .multiplyVector3Array() has been removed.'); + }; - console.warn( 'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().' ); - return this.fromBufferAttribute( attribute, index, offset ); + Matrix4.prototype.rotateAxis = function (v) { + console.warn('THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.'); + v.transformDirection(this); + }; - }, - distanceToManhattan: function ( v ) { + Matrix4.prototype.crossVector = function (vector) { + console.warn('THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.'); + return vector.applyMatrix4(this); + }; - console.warn( 'THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().' ); - return this.manhattanDistanceTo( v ); + Matrix4.prototype.translate = function () { + console.error('THREE.Matrix4: .translate() has been removed.'); + }; - }, - lengthManhattan: function () { + Matrix4.prototype.rotateX = function () { + console.error('THREE.Matrix4: .rotateX() has been removed.'); + }; - console.warn( 'THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().' ); - return this.manhattanLength(); + Matrix4.prototype.rotateY = function () { + console.error('THREE.Matrix4: .rotateY() has been removed.'); + }; - } + Matrix4.prototype.rotateZ = function () { + console.error('THREE.Matrix4: .rotateZ() has been removed.'); + }; - } ); + Matrix4.prototype.rotateByAxis = function () { + console.error('THREE.Matrix4: .rotateByAxis() has been removed.'); + }; - Object.assign( Vector3.prototype, { + Matrix4.prototype.applyToBufferAttribute = function (attribute) { + console.warn('THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.'); + return attribute.applyMatrix4(this); + }; - setEulerFromRotationMatrix: function () { + Matrix4.prototype.applyToVector3Array = function () { + console.error('THREE.Matrix4: .applyToVector3Array() has been removed.'); + }; - console.error( 'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.' ); + Matrix4.prototype.makeFrustum = function (left, right, bottom, top, near, far) { + console.warn('THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.'); + return this.makePerspective(left, right, top, bottom, near, far); + }; - }, - setEulerFromQuaternion: function () { + Matrix4.prototype.getInverse = function (matrix) { + console.warn('THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.'); + return this.copy(matrix).invert(); + }; // - console.error( 'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.' ); - }, - getPositionFromMatrix: function ( m ) { + Plane.prototype.isIntersectionLine = function (line) { + console.warn('THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().'); + return this.intersectsLine(line); + }; // - console.warn( 'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().' ); - return this.setFromMatrixPosition( m ); - }, - getScaleFromMatrix: function ( m ) { + Quaternion.prototype.multiplyVector3 = function (vector) { + console.warn('THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.'); + return vector.applyQuaternion(this); + }; - console.warn( 'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().' ); - return this.setFromMatrixScale( m ); + Quaternion.prototype.inverse = function () { + console.warn('THREE.Quaternion: .inverse() has been renamed to invert().'); + return this.invert(); + }; // - }, - getColumnFromMatrix: function ( index, matrix ) { - console.warn( 'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().' ); - return this.setFromMatrixColumn( matrix, index ); + Ray.prototype.isIntersectionBox = function (box) { + console.warn('THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().'); + return this.intersectsBox(box); + }; - }, - applyProjection: function ( m ) { + Ray.prototype.isIntersectionPlane = function (plane) { + console.warn('THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().'); + return this.intersectsPlane(plane); + }; - console.warn( 'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.' ); - return this.applyMatrix4( m ); + Ray.prototype.isIntersectionSphere = function (sphere) { + console.warn('THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().'); + return this.intersectsSphere(sphere); + }; // - }, - fromAttribute: function ( attribute, index, offset ) { - console.warn( 'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().' ); - return this.fromBufferAttribute( attribute, index, offset ); + Triangle.prototype.area = function () { + console.warn('THREE.Triangle: .area() has been renamed to .getArea().'); + return this.getArea(); + }; - }, - distanceToManhattan: function ( v ) { + Triangle.prototype.barycoordFromPoint = function (point, target) { + console.warn('THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().'); + return this.getBarycoord(point, target); + }; - console.warn( 'THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().' ); - return this.manhattanDistanceTo( v ); + Triangle.prototype.midpoint = function (target) { + console.warn('THREE.Triangle: .midpoint() has been renamed to .getMidpoint().'); + return this.getMidpoint(target); + }; - }, - lengthManhattan: function () { + Triangle.prototypenormal = function (target) { + console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'); + return this.getNormal(target); + }; - console.warn( 'THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().' ); - return this.manhattanLength(); + Triangle.prototype.plane = function (target) { + console.warn('THREE.Triangle: .plane() has been renamed to .getPlane().'); + return this.getPlane(target); + }; - } + Triangle.barycoordFromPoint = function (point, a, b, c, target) { + console.warn('THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().'); + return Triangle.getBarycoord(point, a, b, c, target); + }; - } ); + Triangle.normal = function (a, b, c, target) { + console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'); + return Triangle.getNormal(a, b, c, target); + }; // - Object.assign( Vector4.prototype, { - fromAttribute: function ( attribute, index, offset ) { + Shape.prototype.extractAllPoints = function (divisions) { + console.warn('THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.'); + return this.extractPoints(divisions); + }; - console.warn( 'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().' ); - return this.fromBufferAttribute( attribute, index, offset ); + Shape.prototype.extrude = function (options) { + console.warn('THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.'); + return new ExtrudeGeometry(this, options); + }; - }, - lengthManhattan: function () { + Shape.prototype.makeGeometry = function (options) { + console.warn('THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.'); + return new ShapeGeometry(this, options); + }; // - console.warn( 'THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().' ); - return this.manhattanLength(); - } + Vector2.prototype.fromAttribute = function (attribute, index, offset) { + console.warn('THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().'); + return this.fromBufferAttribute(attribute, index, offset); + }; - } ); + Vector2.prototype.distanceToManhattan = function (v) { + console.warn('THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().'); + return this.manhattanDistanceTo(v); + }; - // + Vector2.prototype.lengthManhattan = function () { + console.warn('THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().'); + return this.manhattanLength(); + }; // - Object.assign( Geometry.prototype, { - computeTangents: function () { + Vector3.prototype.setEulerFromRotationMatrix = function () { + console.error('THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.'); + }; - console.error( 'THREE.Geometry: .computeTangents() has been removed.' ); + Vector3.prototype.setEulerFromQuaternion = function () { + console.error('THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.'); + }; - }, - computeLineDistances: function () { + Vector3.prototype.getPositionFromMatrix = function (m) { + console.warn('THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().'); + return this.setFromMatrixPosition(m); + }; - console.error( 'THREE.Geometry: .computeLineDistances() has been removed. Use THREE.Line.computeLineDistances() instead.' ); + Vector3.prototype.getScaleFromMatrix = function (m) { + console.warn('THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().'); + return this.setFromMatrixScale(m); + }; - } + Vector3.prototype.getColumnFromMatrix = function (index, matrix) { + console.warn('THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().'); + return this.setFromMatrixColumn(matrix, index); + }; - } ); + Vector3.prototype.applyProjection = function (m) { + console.warn('THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.'); + return this.applyMatrix4(m); + }; - Object.assign( Object3D.prototype, { + Vector3.prototype.fromAttribute = function (attribute, index, offset) { + console.warn('THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().'); + return this.fromBufferAttribute(attribute, index, offset); + }; - getChildByName: function ( name ) { + Vector3.prototype.distanceToManhattan = function (v) { + console.warn('THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().'); + return this.manhattanDistanceTo(v); + }; - console.warn( 'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().' ); - return this.getObjectByName( name ); + Vector3.prototype.lengthManhattan = function () { + console.warn('THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().'); + return this.manhattanLength(); + }; // - }, - renderDepth: function () { - console.warn( 'THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.' ); + Vector4.prototype.fromAttribute = function (attribute, index, offset) { + console.warn('THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().'); + return this.fromBufferAttribute(attribute, index, offset); + }; - }, - translate: function ( distance, axis ) { + Vector4.prototype.lengthManhattan = function () { + console.warn('THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().'); + return this.manhattanLength(); + }; // - console.warn( 'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.' ); - return this.translateOnAxis( axis, distance ); - }, - getWorldRotation: function () { + Object3D.prototype.getChildByName = function (name) { + console.warn('THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().'); + return this.getObjectByName(name); + }; - console.error( 'THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.' ); + Object3D.prototype.renderDepth = function () { + console.warn('THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.'); + }; - } + Object3D.prototype.translate = function (distance, axis) { + console.warn('THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.'); + return this.translateOnAxis(axis, distance); + }; - } ); + Object3D.prototype.getWorldRotation = function () { + console.error('THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.'); + }; - Object.defineProperties( Object3D.prototype, { + Object3D.prototype.applyMatrix = function (matrix) { + console.warn('THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().'); + return this.applyMatrix4(matrix); + }; + Object.defineProperties(Object3D.prototype, { eulerOrder: { get: function () { - - console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'); return this.rotation.order; - }, - set: function ( value ) { - - console.warn( 'THREE.Object3D: .eulerOrder is now .rotation.order.' ); + set: function (value) { + console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'); this.rotation.order = value; - } }, useQuaternion: { get: function () { - - console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); - + console.warn('THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.'); }, set: function () { - - console.warn( 'THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.' ); - + console.warn('THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.'); } } + }); - } ); - - Object.defineProperties( LOD.prototype, { + Mesh.prototype.setDrawMode = function () { + console.error('THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.'); + }; - objects: { + Object.defineProperties(Mesh.prototype, { + drawMode: { get: function () { - - console.warn( 'THREE.LOD: .objects has been renamed to .levels.' ); - return this.levels; - + console.error('THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.'); + return TrianglesDrawMode; + }, + set: function () { + console.error('THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.'); } } - - } ); - - Object.defineProperty( Skeleton.prototype, 'useVertexTexture', { - - get: function () { - - console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); - - }, - set: function () { - - console.warn( 'THREE.Skeleton: useVertexTexture has been removed.' ); - - } - - } ); + }); SkinnedMesh.prototype.initBones = function () { + console.error('THREE.SkinnedMesh: initBones() has been removed.'); + }; // - console.error( 'THREE.SkinnedMesh: initBones() has been removed.' ); - - }; - - Object.defineProperty( Curve.prototype, '__arcLengthDivisions', { - - get: function () { - - console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); - return this.arcLengthDivisions; - - }, - set: function ( value ) { - - console.warn( 'THREE.Curve: .__arcLengthDivisions is now .arcLengthDivisions.' ); - this.arcLengthDivisions = value; - - } - - } ); - - // - - PerspectiveCamera.prototype.setLens = function ( focalLength, filmGauge ) { - console.warn( "THREE.PerspectiveCamera.setLens is deprecated. " + - "Use .setFocalLength and .filmGauge for a photographic setup." ); + PerspectiveCamera.prototype.setLens = function (focalLength, filmGauge) { + console.warn('THREE.PerspectiveCamera.setLens is deprecated. ' + 'Use .setFocalLength and .filmGauge for a photographic setup.'); + if (filmGauge !== undefined) this.filmGauge = filmGauge; + this.setFocalLength(focalLength); + }; // - if ( filmGauge !== undefined ) this.filmGauge = filmGauge; - this.setFocalLength( focalLength ); - }; - - // - - Object.defineProperties( Light.prototype, { + Object.defineProperties(Light.prototype, { onlyShadow: { set: function () { - - console.warn( 'THREE.Light: .onlyShadow has been removed.' ); - + console.warn('THREE.Light: .onlyShadow has been removed.'); } }, shadowCameraFov: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraFov is now .shadow.camera.fov.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraFov is now .shadow.camera.fov.'); this.shadow.camera.fov = value; - } }, shadowCameraLeft: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraLeft is now .shadow.camera.left.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraLeft is now .shadow.camera.left.'); this.shadow.camera.left = value; - } }, shadowCameraRight: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraRight is now .shadow.camera.right.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraRight is now .shadow.camera.right.'); this.shadow.camera.right = value; - } }, shadowCameraTop: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraTop is now .shadow.camera.top.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraTop is now .shadow.camera.top.'); this.shadow.camera.top = value; - } }, shadowCameraBottom: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.'); this.shadow.camera.bottom = value; - } }, shadowCameraNear: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraNear is now .shadow.camera.near.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraNear is now .shadow.camera.near.'); this.shadow.camera.near = value; - } }, shadowCameraFar: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowCameraFar is now .shadow.camera.far.' ); + set: function (value) { + console.warn('THREE.Light: .shadowCameraFar is now .shadow.camera.far.'); this.shadow.camera.far = value; - } }, shadowCameraVisible: { set: function () { - - console.warn( 'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.' ); - + console.warn('THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.'); } }, shadowBias: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowBias is now .shadow.bias.' ); + set: function (value) { + console.warn('THREE.Light: .shadowBias is now .shadow.bias.'); this.shadow.bias = value; - } }, shadowDarkness: { set: function () { - - console.warn( 'THREE.Light: .shadowDarkness has been removed.' ); - + console.warn('THREE.Light: .shadowDarkness has been removed.'); } }, shadowMapWidth: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.' ); + set: function (value) { + console.warn('THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.'); this.shadow.mapSize.width = value; - } }, shadowMapHeight: { - set: function ( value ) { - - console.warn( 'THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.' ); + set: function (value) { + console.warn('THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.'); this.shadow.mapSize.height = value; - } } - } ); - - // - - Object.defineProperties( BufferAttribute.prototype, { + }); // + Object.defineProperties(BufferAttribute.prototype, { length: { get: function () { - - console.warn( 'THREE.BufferAttribute: .length has been deprecated. Use .count instead.' ); + console.warn('THREE.BufferAttribute: .length has been deprecated. Use .count instead.'); return this.array.length; - } }, - copyIndicesArray: function ( /* indices */ ) { - - console.error( 'THREE.BufferAttribute: .copyIndicesArray() has been removed.' ); - + dynamic: { + get: function () { + console.warn('THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.'); + return this.usage === DynamicDrawUsage; + }, + set: function () { + console.warn('THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.'); + this.setUsage(DynamicDrawUsage); + } } + }); - } ); - - Object.assign( BufferGeometry.prototype, { - - addIndex: function ( index ) { - - console.warn( 'THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().' ); - this.setIndex( index ); - - }, - addDrawCall: function ( start, count, indexOffset ) { + BufferAttribute.prototype.setDynamic = function (value) { + console.warn('THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.'); + this.setUsage(value === true ? DynamicDrawUsage : StaticDrawUsage); + return this; + }; - if ( indexOffset !== undefined ) { + BufferAttribute.prototype.copyIndicesArray = function () { + console.error('THREE.BufferAttribute: .copyIndicesArray() has been removed.'); + }, BufferAttribute.prototype.setArray = function () { + console.error('THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers'); + }; // - console.warn( 'THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.' ); + BufferGeometry.prototype.addIndex = function (index) { + console.warn('THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().'); + this.setIndex(index); + }; - } - console.warn( 'THREE.BufferGeometry: .addDrawCall() is now .addGroup().' ); - this.addGroup( start, count ); + BufferGeometry.prototype.addAttribute = function (name, attribute) { + console.warn('THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().'); - }, - clearDrawCalls: function () { + if (!(attribute && attribute.isBufferAttribute) && !(attribute && attribute.isInterleavedBufferAttribute)) { + console.warn('THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).'); + return this.setAttribute(name, new BufferAttribute(arguments[1], arguments[2])); + } - console.warn( 'THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().' ); - this.clearGroups(); + if (name === 'index') { + console.warn('THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.'); + this.setIndex(attribute); + return this; + } - }, - computeTangents: function () { + return this.setAttribute(name, attribute); + }; - console.warn( 'THREE.BufferGeometry: .computeTangents() has been removed.' ); + BufferGeometry.prototype.addDrawCall = function (start, count, indexOffset) { + if (indexOffset !== undefined) { + console.warn('THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.'); + } - }, - computeOffsets: function () { + console.warn('THREE.BufferGeometry: .addDrawCall() is now .addGroup().'); + this.addGroup(start, count); + }; - console.warn( 'THREE.BufferGeometry: .computeOffsets() has been removed.' ); + BufferGeometry.prototype.clearDrawCalls = function () { + console.warn('THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().'); + this.clearGroups(); + }; - } + BufferGeometry.prototype.computeOffsets = function () { + console.warn('THREE.BufferGeometry: .computeOffsets() has been removed.'); + }; - } ); + BufferGeometry.prototype.removeAttribute = function (name) { + console.warn('THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().'); + return this.deleteAttribute(name); + }; - Object.defineProperties( BufferGeometry.prototype, { + BufferGeometry.prototype.applyMatrix = function (matrix) { + console.warn('THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().'); + return this.applyMatrix4(matrix); + }; + Object.defineProperties(BufferGeometry.prototype, { drawcalls: { get: function () { - - console.error( 'THREE.BufferGeometry: .drawcalls has been renamed to .groups.' ); + console.error('THREE.BufferGeometry: .drawcalls has been renamed to .groups.'); return this.groups; - } }, offsets: { get: function () { - - console.warn( 'THREE.BufferGeometry: .offsets has been renamed to .groups.' ); + console.warn('THREE.BufferGeometry: .offsets has been renamed to .groups.'); return this.groups; - } } + }); - } ); - - // - - Object.assign( ExtrudeBufferGeometry.prototype, { - - getArrays: function () { - - console.error( 'THREE.ExtrudeBufferGeometry: .getArrays() has been removed.' ); - - }, - - addShapeList: function () { - - console.error( 'THREE.ExtrudeBufferGeometry: .addShapeList() has been removed.' ); - - }, - - addShape: function () { - - console.error( 'THREE.ExtrudeBufferGeometry: .addShape() has been removed.' ); - - } - - } ); + InterleavedBuffer.prototype.setDynamic = function (value) { + console.warn('THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.'); + this.setUsage(value === true ? DynamicDrawUsage : StaticDrawUsage); + return this; + }; - // + InterleavedBuffer.prototype.setArray = function () { + console.error('THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers'); + }; // - Object.defineProperties( Uniform.prototype, { - dynamic: { - set: function () { + ExtrudeGeometry.prototype.getArrays = function () { + console.error('THREE.ExtrudeGeometry: .getArrays() has been removed.'); + }; - console.warn( 'THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.' ); + ExtrudeGeometry.prototype.addShapeList = function () { + console.error('THREE.ExtrudeGeometry: .addShapeList() has been removed.'); + }; - } - }, - onUpdate: { - value: function () { + ExtrudeGeometry.prototype.addShape = function () { + console.error('THREE.ExtrudeGeometry: .addShape() has been removed.'); + }; // - console.warn( 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.' ); - return this; - } - } + Scene.prototype.dispose = function () { + console.error('THREE.Scene: .dispose() has been removed.'); + }; // - } ); - // + Uniform.prototype.onUpdate = function () { + console.warn('THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.'); + return this; + }; // - Object.defineProperties( Material.prototype, { + Object.defineProperties(Material.prototype, { wrapAround: { get: function () { - - console.warn( 'THREE.Material: .wrapAround has been removed.' ); - + console.warn('THREE.Material: .wrapAround has been removed.'); }, set: function () { - - console.warn( 'THREE.Material: .wrapAround has been removed.' ); - + console.warn('THREE.Material: .wrapAround has been removed.'); } }, - overdraw: { get: function () { - - console.warn( 'THREE.Material: .overdraw has been removed.' ); - + console.warn('THREE.Material: .overdraw has been removed.'); }, set: function () { - - console.warn( 'THREE.Material: .overdraw has been removed.' ); - + console.warn('THREE.Material: .overdraw has been removed.'); } }, - wrapRGB: { get: function () { - - console.warn( 'THREE.Material: .wrapRGB has been removed.' ); + console.warn('THREE.Material: .wrapRGB has been removed.'); return new Color(); - } }, - shading: { get: function () { - - console.error( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); - + console.error('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'); }, - set: function ( value ) { - - console.warn( 'THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.' ); - this.flatShading = ( value === FlatShading ); - + set: function (value) { + console.warn('THREE.' + this.type + ': .shading has been removed. Use the boolean .flatShading instead.'); + this.flatShading = value === FlatShading; } - } - - } ); - - Object.defineProperties( MeshPhongMaterial.prototype, { - - metal: { + }, + stencilMask: { get: function () { - - console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.' ); - return false; - + console.warn('THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.'); + return this.stencilFuncMask; + }, + set: function (value) { + console.warn('THREE.' + this.type + ': .stencilMask has been removed. Use .stencilFuncMask instead.'); + this.stencilFuncMask = value; + } + }, + vertexTangents: { + get: function () { + console.warn('THREE.' + this.type + ': .vertexTangents has been removed.'); }, set: function () { - - console.warn( 'THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead' ); - + console.warn('THREE.' + this.type + ': .vertexTangents has been removed.'); } } - - } ); - - Object.defineProperties( ShaderMaterial.prototype, { - + }); + Object.defineProperties(ShaderMaterial.prototype, { derivatives: { get: function () { - - console.warn( 'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + console.warn('THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.'); return this.extensions.derivatives; - }, - set: function ( value ) { - - console.warn( 'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.' ); + set: function (value) { + console.warn('THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.'); this.extensions.derivatives = value; - } } + }); // - } ); - - // - - Object.assign( WebGLRenderer.prototype, { - - clearTarget: function ( renderTarget, color, depth, stencil ) { - - console.warn( 'THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.' ); - this.setRenderTarget( renderTarget ); - this.clear( color, depth, stencil ); - - }, - animate: function ( callback ) { - - console.warn( 'THREE.WebGLRenderer: .animate() is now .setAnimationLoop().' ); - this.setAnimationLoop( callback ); - - }, - getCurrentRenderTarget: function () { - - console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' ); - return this.getRenderTarget(); - - }, - getMaxAnisotropy: function () { - - console.warn( 'THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().' ); - return this.capabilities.getMaxAnisotropy(); - - }, - getPrecision: function () { - - console.warn( 'THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.' ); - return this.capabilities.precision; - - }, - resetGLState: function () { - - console.warn( 'THREE.WebGLRenderer: .resetGLState() is now .state.reset().' ); - return this.state.reset(); - - }, - supportsFloatTextures: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).' ); - return this.extensions.get( 'OES_texture_float' ); - - }, - supportsHalfFloatTextures: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( \'OES_texture_half_float\' ).' ); - return this.extensions.get( 'OES_texture_half_float' ); - - }, - supportsStandardDerivatives: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( \'OES_standard_derivatives\' ).' ); - return this.extensions.get( 'OES_standard_derivatives' ); - - }, - supportsCompressedTextureS3TC: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( \'WEBGL_compressed_texture_s3tc\' ).' ); - return this.extensions.get( 'WEBGL_compressed_texture_s3tc' ); - - }, - supportsCompressedTexturePVRTC: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( \'WEBGL_compressed_texture_pvrtc\' ).' ); - return this.extensions.get( 'WEBGL_compressed_texture_pvrtc' ); - - }, - supportsBlendMinMax: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( \'EXT_blend_minmax\' ).' ); - return this.extensions.get( 'EXT_blend_minmax' ); - - }, - supportsVertexTextures: function () { - - console.warn( 'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.' ); - return this.capabilities.vertexTextures; - - }, - supportsInstancedArrays: function () { + WebGLRenderer.prototype.clearTarget = function (renderTarget, color, depth, stencil) { + console.warn('THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.'); + this.setRenderTarget(renderTarget); + this.clear(color, depth, stencil); + }; - console.warn( 'THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( \'ANGLE_instanced_arrays\' ).' ); - return this.extensions.get( 'ANGLE_instanced_arrays' ); + WebGLRenderer.prototype.animate = function (callback) { + console.warn('THREE.WebGLRenderer: .animate() is now .setAnimationLoop().'); + this.setAnimationLoop(callback); + }; - }, - enableScissorTest: function ( boolean ) { + WebGLRenderer.prototype.getCurrentRenderTarget = function () { + console.warn('THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().'); + return this.getRenderTarget(); + }; - console.warn( 'THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().' ); - this.setScissorTest( boolean ); + WebGLRenderer.prototype.getMaxAnisotropy = function () { + console.warn('THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().'); + return this.capabilities.getMaxAnisotropy(); + }; - }, - initMaterial: function () { + WebGLRenderer.prototype.getPrecision = function () { + console.warn('THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.'); + return this.capabilities.precision; + }; - console.warn( 'THREE.WebGLRenderer: .initMaterial() has been removed.' ); + WebGLRenderer.prototype.resetGLState = function () { + console.warn('THREE.WebGLRenderer: .resetGLState() is now .state.reset().'); + return this.state.reset(); + }; - }, - addPrePlugin: function () { + WebGLRenderer.prototype.supportsFloatTextures = function () { + console.warn('THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( \'OES_texture_float\' ).'); + return this.extensions.get('OES_texture_float'); + }; - console.warn( 'THREE.WebGLRenderer: .addPrePlugin() has been removed.' ); + WebGLRenderer.prototype.supportsHalfFloatTextures = function () { + console.warn('THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( \'OES_texture_half_float\' ).'); + return this.extensions.get('OES_texture_half_float'); + }; - }, - addPostPlugin: function () { + WebGLRenderer.prototype.supportsStandardDerivatives = function () { + console.warn('THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( \'OES_standard_derivatives\' ).'); + return this.extensions.get('OES_standard_derivatives'); + }; - console.warn( 'THREE.WebGLRenderer: .addPostPlugin() has been removed.' ); + WebGLRenderer.prototype.supportsCompressedTextureS3TC = function () { + console.warn('THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( \'WEBGL_compressed_texture_s3tc\' ).'); + return this.extensions.get('WEBGL_compressed_texture_s3tc'); + }; - }, - updateShadowMap: function () { + WebGLRenderer.prototype.supportsCompressedTexturePVRTC = function () { + console.warn('THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( \'WEBGL_compressed_texture_pvrtc\' ).'); + return this.extensions.get('WEBGL_compressed_texture_pvrtc'); + }; - console.warn( 'THREE.WebGLRenderer: .updateShadowMap() has been removed.' ); + WebGLRenderer.prototype.supportsBlendMinMax = function () { + console.warn('THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( \'EXT_blend_minmax\' ).'); + return this.extensions.get('EXT_blend_minmax'); + }; - }, - setFaceCulling: function () { + WebGLRenderer.prototype.supportsVertexTextures = function () { + console.warn('THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.'); + return this.capabilities.vertexTextures; + }; - console.warn( 'THREE.WebGLRenderer: .setFaceCulling() has been removed.' ); + WebGLRenderer.prototype.supportsInstancedArrays = function () { + console.warn('THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( \'ANGLE_instanced_arrays\' ).'); + return this.extensions.get('ANGLE_instanced_arrays'); + }; - }, - allocTextureUnit: function () { + WebGLRenderer.prototype.enableScissorTest = function (boolean) { + console.warn('THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().'); + this.setScissorTest(boolean); + }; - console.warn( 'THREE.WebGLRenderer: .allocTextureUnit() has been removed.' ); + WebGLRenderer.prototype.initMaterial = function () { + console.warn('THREE.WebGLRenderer: .initMaterial() has been removed.'); + }; - }, - setTexture: function () { + WebGLRenderer.prototype.addPrePlugin = function () { + console.warn('THREE.WebGLRenderer: .addPrePlugin() has been removed.'); + }; - console.warn( 'THREE.WebGLRenderer: .setTexture() has been removed.' ); + WebGLRenderer.prototype.addPostPlugin = function () { + console.warn('THREE.WebGLRenderer: .addPostPlugin() has been removed.'); + }; - }, - setTexture2D: function () { + WebGLRenderer.prototype.updateShadowMap = function () { + console.warn('THREE.WebGLRenderer: .updateShadowMap() has been removed.'); + }; - console.warn( 'THREE.WebGLRenderer: .setTexture2D() has been removed.' ); + WebGLRenderer.prototype.setFaceCulling = function () { + console.warn('THREE.WebGLRenderer: .setFaceCulling() has been removed.'); + }; - }, - setTextureCube: function () { + WebGLRenderer.prototype.allocTextureUnit = function () { + console.warn('THREE.WebGLRenderer: .allocTextureUnit() has been removed.'); + }; - console.warn( 'THREE.WebGLRenderer: .setTextureCube() has been removed.' ); + WebGLRenderer.prototype.setTexture = function () { + console.warn('THREE.WebGLRenderer: .setTexture() has been removed.'); + }; - } + WebGLRenderer.prototype.setTexture2D = function () { + console.warn('THREE.WebGLRenderer: .setTexture2D() has been removed.'); + }; - } ); + WebGLRenderer.prototype.setTextureCube = function () { + console.warn('THREE.WebGLRenderer: .setTextureCube() has been removed.'); + }; - Object.defineProperties( WebGLRenderer.prototype, { + WebGLRenderer.prototype.getActiveMipMapLevel = function () { + console.warn('THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().'); + return this.getActiveMipmapLevel(); + }; + Object.defineProperties(WebGLRenderer.prototype, { shadowMapEnabled: { get: function () { - return this.shadowMap.enabled; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.' ); + set: function (value) { + console.warn('THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.'); this.shadowMap.enabled = value; - } }, shadowMapType: { get: function () { - return this.shadowMap.type; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.' ); + set: function (value) { + console.warn('THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.'); this.shadowMap.type = value; - } }, shadowMapCullFace: { get: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' ); + console.warn('THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.'); return undefined; - }, - set: function ( /* value */ ) { - - console.warn( 'THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.' ); - + set: function () { + console.warn('THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.'); + } + }, + context: { + get: function () { + console.warn('THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.'); + return this.getContext(); + } + }, + vr: { + get: function () { + console.warn('THREE.WebGLRenderer: .vr has been renamed to .xr'); + return this.xr; + } + }, + gammaInput: { + get: function () { + console.warn('THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.'); + return false; + }, + set: function () { + console.warn('THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.'); + } + }, + gammaOutput: { + get: function () { + console.warn('THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.'); + return false; + }, + set: function (value) { + console.warn('THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.'); + this.outputEncoding = value === true ? sRGBEncoding : LinearEncoding; + } + }, + toneMappingWhitePoint: { + get: function () { + console.warn('THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.'); + return 1.0; + }, + set: function () { + console.warn('THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.'); } } - } ); - - Object.defineProperties( WebGLShadowMap.prototype, { - + }); + Object.defineProperties(WebGLShadowMap.prototype, { cullFace: { get: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.' ); + console.warn('THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.'); return undefined; - }, - set: function ( /* cullFace */ ) { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.' ); - + set: function () { + console.warn('THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.'); } }, renderReverseSided: { get: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.' ); + console.warn('THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.'); return undefined; - }, set: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.' ); - + console.warn('THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.'); } }, renderSingleSided: { get: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.' ); + console.warn('THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.'); return undefined; - }, set: function () { - - console.warn( 'THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.' ); - - } - } - - } ); - - // - - Object.defineProperties( WebGLRenderTargetCube.prototype, { - - activeCubeFace: { - set: function ( /* value */ ) { - - console.warn( 'THREE.WebGLRenderTargetCube: .activeCubeFace has been removed. It is now the second parameter of WebGLRenderer.setRenderTarget().' ); - - } - }, - activeMipMapLevel: { - set: function ( /* value */ ) { - - console.warn( 'THREE.WebGLRenderTargetCube: .activeMipMapLevel has been removed. It is now the third parameter of WebGLRenderer.setRenderTarget().' ); - + console.warn('THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.'); } } + }); + function WebGLRenderTargetCube(width, height, options) { + console.warn('THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).'); + return new WebGLCubeRenderTarget(width, options); + } // - } ); - - // - - Object.defineProperties( WebGLRenderTarget.prototype, { - + Object.defineProperties(WebGLRenderTarget.prototype, { wrapS: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'); return this.texture.wrapS; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'); this.texture.wrapS = value; - } }, wrapT: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'); return this.texture.wrapT; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'); this.texture.wrapT = value; - } }, magFilter: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'); return this.texture.magFilter; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'); this.texture.magFilter = value; - } }, minFilter: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'); return this.texture.minFilter; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'); this.texture.minFilter = value; - } }, anisotropy: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'); return this.texture.anisotropy; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'); this.texture.anisotropy = value; - } }, offset: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'); return this.texture.offset; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .offset is now .texture.offset.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'); this.texture.offset = value; - } }, repeat: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'); return this.texture.repeat; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .repeat is now .texture.repeat.' ); + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'); this.texture.repeat = value; - } }, format: { get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); + console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'); return this.texture.format; - - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .format is now .texture.format.' ); - this.texture.format = value; - - } - }, - type: { - get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); - return this.texture.type; - - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .type is now .texture.type.' ); - this.texture.type = value; - - } - }, - generateMipmaps: { - get: function () { - - console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); - return this.texture.generateMipmaps; - }, - set: function ( value ) { - - console.warn( 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.' ); - this.texture.generateMipmaps = value; - - } - } - - } ); - - // - - Object.defineProperties( WebVRManager.prototype, { - - standing: { - set: function ( /* value */ ) { - - console.warn( 'THREE.WebVRManager: .standing has been removed.' ); - + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'); + this.texture.format = value; } }, - userHeight: { - set: function ( /* value */ ) { - - console.warn( 'THREE.WebVRManager: .userHeight has been removed.' ); - + type: { + get: function () { + console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'); + return this.texture.type; + }, + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'); + this.texture.type = value; + } + }, + generateMipmaps: { + get: function () { + console.warn('THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.'); + return this.texture.generateMipmaps; + }, + set: function (value) { + console.warn('THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.'); + this.texture.generateMipmaps = value; } } + }); // - } ); - - // - - Audio.prototype.load = function ( file ) { - - console.warn( 'THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.' ); - var scope = this; - var audioLoader = new AudioLoader(); - audioLoader.load( file, function ( buffer ) { - - scope.setBuffer( buffer ); - - } ); + Audio.prototype.load = function (file) { + console.warn('THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.'); + const scope = this; + const audioLoader = new AudioLoader(); + audioLoader.load(file, function (buffer) { + scope.setBuffer(buffer); + }); return this; - }; AudioAnalyser.prototype.getData = function () { - - console.warn( 'THREE.AudioAnalyser: .getData() is now .getFrequencyData().' ); + console.warn('THREE.AudioAnalyser: .getData() is now .getFrequencyData().'); return this.getFrequencyData(); + }; // - }; - - // - - CubeCamera.prototype.updateCubeMap = function ( renderer, scene ) { - - console.warn( 'THREE.CubeCamera: .updateCubeMap() is now .update().' ); - return this.update( renderer, scene ); + CubeCamera.prototype.updateCubeMap = function (renderer, scene) { + console.warn('THREE.CubeCamera: .updateCubeMap() is now .update().'); + return this.update(renderer, scene); }; - // - - var GeometryUtils = { - - merge: function ( geometry1, geometry2, materialIndexOffset ) { - - console.warn( 'THREE.GeometryUtils: .merge() has been moved to Geometry. Use geometry.merge( geometry2, matrix, materialIndexOffset ) instead.' ); - var matrix; - - if ( geometry2.isMesh ) { - - geometry2.matrixAutoUpdate && geometry2.updateMatrix(); - - matrix = geometry2.matrix; - geometry2 = geometry2.geometry; - - } - - geometry1.merge( geometry2, matrix, materialIndexOffset ); - - }, - - center: function ( geometry ) { - - console.warn( 'THREE.GeometryUtils: .center() has been moved to Geometry. Use geometry.center() instead.' ); - return geometry.center(); - - } - + CubeCamera.prototype.clear = function (renderer, color, depth, stencil) { + console.warn('THREE.CubeCamera: .clear() is now .renderTarget.clear().'); + return this.renderTarget.clear(renderer, color, depth, stencil); }; ImageUtils.crossOrigin = undefined; - ImageUtils.loadTexture = function ( url, mapping, onLoad, onError ) { - - console.warn( 'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.' ); - - var loader = new TextureLoader(); - loader.setCrossOrigin( this.crossOrigin ); - - var texture = loader.load( url, onLoad, undefined, onError ); - - if ( mapping ) texture.mapping = mapping; - + ImageUtils.loadTexture = function (url, mapping, onLoad, onError) { + console.warn('THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.'); + const loader = new TextureLoader(); + loader.setCrossOrigin(this.crossOrigin); + const texture = loader.load(url, onLoad, undefined, onError); + if (mapping) texture.mapping = mapping; return texture; - }; - ImageUtils.loadTextureCube = function ( urls, mapping, onLoad, onError ) { - - console.warn( 'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.' ); - - var loader = new CubeTextureLoader(); - loader.setCrossOrigin( this.crossOrigin ); - - var texture = loader.load( urls, onLoad, undefined, onError ); - - if ( mapping ) texture.mapping = mapping; - + ImageUtils.loadTextureCube = function (urls, mapping, onLoad, onError) { + console.warn('THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.'); + const loader = new CubeTextureLoader(); + loader.setCrossOrigin(this.crossOrigin); + const texture = loader.load(urls, onLoad, undefined, onError); + if (mapping) texture.mapping = mapping; return texture; - }; ImageUtils.loadCompressedTexture = function () { - - console.error( 'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.' ); - + console.error('THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.'); }; ImageUtils.loadCompressedTextureCube = function () { + console.error('THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.'); + }; // - console.error( 'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.' ); - - }; - - // - - function Projector() { - - console.error( 'THREE.Projector has been moved to /examples/js/renderers/Projector.js.' ); - - this.projectVector = function ( vector, camera ) { - - console.warn( 'THREE.Projector: .projectVector() is now vector.project().' ); - vector.project( camera ); - - }; - - this.unprojectVector = function ( vector, camera ) { - - console.warn( 'THREE.Projector: .unprojectVector() is now vector.unproject().' ); - vector.unproject( camera ); - - }; - - this.pickingRay = function () { - - console.error( 'THREE.Projector: .pickingRay() is now raycaster.setFromCamera().' ); - - }; - - } - - // function CanvasRenderer() { - - console.error( 'THREE.CanvasRenderer has been removed' ); - - } - - // + console.error('THREE.CanvasRenderer has been removed'); + } // function JSONLoader() { + console.error('THREE.JSONLoader has been removed.'); + } // - console.error( 'THREE.JSONLoader has been removed.' ); - - } - - // - - var SceneUtils = { - - createMultiMaterialObject: function ( /* geometry, materials */ ) { - - console.error( 'THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js' ); - + const SceneUtils = { + createMultiMaterialObject: function () { + console.error('THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js'); }, - - detach: function ( /* child, parent, scene */ ) { - - console.error( 'THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js' ); - + detach: function () { + console.error('THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js'); }, - - attach: function ( /* child, scene, parent */ ) { - - console.error( 'THREE.SceneUtils has been moved to /examples/js/utils/SceneUtils.js' ); - + attach: function () { + console.error('THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js'); } - - }; - - // + }; // function LensFlare() { + console.error('THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js'); + } - console.error( 'THREE.LensFlare has been moved to /examples/js/objects/Lensflare.js' ); + if (typeof __THREE_DEVTOOLS__ !== 'undefined') { + /* eslint-disable no-undef */ + __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('register', { + detail: { + revision: REVISION + } + })); + /* eslint-enable no-undef */ } - exports.WebGLMultisampleRenderTarget = WebGLMultisampleRenderTarget; - exports.WebGLRenderTargetCube = WebGLRenderTargetCube; - exports.WebGLRenderTarget = WebGLRenderTarget; - exports.WebGLRenderer = WebGLRenderer; - exports.ShaderLib = ShaderLib; - exports.UniformsLib = UniformsLib; - exports.UniformsUtils = UniformsUtils; - exports.ShaderChunk = ShaderChunk; - exports.FogExp2 = FogExp2; - exports.Fog = Fog; - exports.Scene = Scene; - exports.Sprite = Sprite; - exports.LOD = LOD; - exports.SkinnedMesh = SkinnedMesh; - exports.Skeleton = Skeleton; - exports.Bone = Bone; - exports.Mesh = Mesh; - exports.LineSegments = LineSegments; - exports.LineLoop = LineLoop; - exports.Line = Line; - exports.Points = Points; - exports.Group = Group; - exports.VideoTexture = VideoTexture; - exports.DataTexture = DataTexture; - exports.DataTexture2DArray = DataTexture2DArray; - exports.DataTexture3D = DataTexture3D; - exports.CompressedTexture = CompressedTexture; - exports.CubeTexture = CubeTexture; - exports.CanvasTexture = CanvasTexture; - exports.DepthTexture = DepthTexture; - exports.Texture = Texture; - exports.AnimationLoader = AnimationLoader; - exports.CompressedTextureLoader = CompressedTextureLoader; - exports.DataTextureLoader = DataTextureLoader; - exports.CubeTextureLoader = CubeTextureLoader; - exports.TextureLoader = TextureLoader; - exports.ObjectLoader = ObjectLoader; - exports.MaterialLoader = MaterialLoader; - exports.BufferGeometryLoader = BufferGeometryLoader; - exports.DefaultLoadingManager = DefaultLoadingManager; - exports.LoadingManager = LoadingManager; - exports.ImageLoader = ImageLoader; - exports.ImageBitmapLoader = ImageBitmapLoader; - exports.FontLoader = FontLoader; - exports.FileLoader = FileLoader; - exports.Loader = Loader; - exports.LoaderUtils = LoaderUtils; - exports.Cache = Cache; - exports.AudioLoader = AudioLoader; - exports.SpotLightShadow = SpotLightShadow; - exports.SpotLight = SpotLight; - exports.PointLight = PointLight; - exports.RectAreaLight = RectAreaLight; - exports.HemisphereLight = HemisphereLight; - exports.DirectionalLightShadow = DirectionalLightShadow; - exports.DirectionalLight = DirectionalLight; + if (typeof window !== 'undefined') { + if (window.__THREE__) { + console.warn('WARNING: Multiple instances of Three.js being imported.'); + } else { + window.__THREE__ = REVISION; + } + } + + exports.ACESFilmicToneMapping = ACESFilmicToneMapping; + exports.AddEquation = AddEquation; + exports.AddOperation = AddOperation; + exports.AdditiveAnimationBlendMode = AdditiveAnimationBlendMode; + exports.AdditiveBlending = AdditiveBlending; + exports.AlphaFormat = AlphaFormat; + exports.AlwaysDepth = AlwaysDepth; + exports.AlwaysStencilFunc = AlwaysStencilFunc; exports.AmbientLight = AmbientLight; - exports.LightShadow = LightShadow; - exports.Light = Light; - exports.StereoCamera = StereoCamera; - exports.PerspectiveCamera = PerspectiveCamera; - exports.OrthographicCamera = OrthographicCamera; - exports.CubeCamera = CubeCamera; + exports.AmbientLightProbe = AmbientLightProbe; + exports.AnimationClip = AnimationClip; + exports.AnimationLoader = AnimationLoader; + exports.AnimationMixer = AnimationMixer; + exports.AnimationObjectGroup = AnimationObjectGroup; + exports.AnimationUtils = AnimationUtils; + exports.ArcCurve = ArcCurve; exports.ArrayCamera = ArrayCamera; - exports.Camera = Camera; - exports.AudioListener = AudioListener; - exports.PositionalAudio = PositionalAudio; - exports.AudioContext = AudioContext; - exports.AudioAnalyser = AudioAnalyser; + exports.ArrowHelper = ArrowHelper; exports.Audio = Audio; - exports.VectorKeyframeTrack = VectorKeyframeTrack; - exports.StringKeyframeTrack = StringKeyframeTrack; - exports.QuaternionKeyframeTrack = QuaternionKeyframeTrack; - exports.NumberKeyframeTrack = NumberKeyframeTrack; - exports.ColorKeyframeTrack = ColorKeyframeTrack; + exports.AudioAnalyser = AudioAnalyser; + exports.AudioContext = AudioContext; + exports.AudioListener = AudioListener; + exports.AudioLoader = AudioLoader; + exports.AxesHelper = AxesHelper; + exports.AxisHelper = AxisHelper; + exports.BackSide = BackSide; + exports.BasicDepthPacking = BasicDepthPacking; + exports.BasicShadowMap = BasicShadowMap; + exports.BinaryTextureLoader = BinaryTextureLoader; + exports.Bone = Bone; exports.BooleanKeyframeTrack = BooleanKeyframeTrack; - exports.PropertyMixer = PropertyMixer; - exports.PropertyBinding = PropertyBinding; - exports.KeyframeTrack = KeyframeTrack; - exports.AnimationUtils = AnimationUtils; - exports.AnimationObjectGroup = AnimationObjectGroup; - exports.AnimationMixer = AnimationMixer; - exports.AnimationClip = AnimationClip; - exports.Uniform = Uniform; - exports.InstancedBufferGeometry = InstancedBufferGeometry; - exports.BufferGeometry = BufferGeometry; - exports.Geometry = Geometry; - exports.InterleavedBufferAttribute = InterleavedBufferAttribute; - exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer; - exports.InterleavedBuffer = InterleavedBuffer; - exports.InstancedBufferAttribute = InstancedBufferAttribute; - exports.Face3 = Face3; - exports.Object3D = Object3D; - exports.Raycaster = Raycaster; - exports.Layers = Layers; - exports.EventDispatcher = EventDispatcher; - exports.Clock = Clock; - exports.QuaternionLinearInterpolant = QuaternionLinearInterpolant; - exports.LinearInterpolant = LinearInterpolant; - exports.DiscreteInterpolant = DiscreteInterpolant; - exports.CubicInterpolant = CubicInterpolant; - exports.Interpolant = Interpolant; - exports.Triangle = Triangle; - exports.Math = _Math; - exports.Spherical = Spherical; - exports.Cylindrical = Cylindrical; - exports.Plane = Plane; - exports.Frustum = Frustum; - exports.Sphere = Sphere; - exports.Ray = Ray; - exports.Matrix4 = Matrix4; - exports.Matrix3 = Matrix3; - exports.Box3 = Box3; + exports.BoundingBoxHelper = BoundingBoxHelper; exports.Box2 = Box2; - exports.Line3 = Line3; - exports.Euler = Euler; - exports.Vector4 = Vector4; - exports.Vector3 = Vector3; - exports.Vector2 = Vector2; - exports.Quaternion = Quaternion; - exports.Color = Color; - exports.ImmediateRenderObject = ImmediateRenderObject; - exports.VertexNormalsHelper = VertexNormalsHelper; - exports.SpotLightHelper = SpotLightHelper; - exports.SkeletonHelper = SkeletonHelper; - exports.PointLightHelper = PointLightHelper; - exports.RectAreaLightHelper = RectAreaLightHelper; - exports.HemisphereLightHelper = HemisphereLightHelper; - exports.GridHelper = GridHelper; - exports.PolarGridHelper = PolarGridHelper; - exports.PositionalAudioHelper = PositionalAudioHelper; - exports.FaceNormalsHelper = FaceNormalsHelper; - exports.DirectionalLightHelper = DirectionalLightHelper; - exports.CameraHelper = CameraHelper; - exports.BoxHelper = BoxHelper; + exports.Box3 = Box3; exports.Box3Helper = Box3Helper; - exports.PlaneHelper = PlaneHelper; - exports.ArrowHelper = ArrowHelper; - exports.AxesHelper = AxesHelper; - exports.Shape = Shape; - exports.Path = Path; - exports.ShapePath = ShapePath; - exports.Font = Font; - exports.CurvePath = CurvePath; - exports.Curve = Curve; - exports.ImageUtils = ImageUtils; - exports.ShapeUtils = ShapeUtils; - exports.WebGLUtils = WebGLUtils; - exports.WireframeGeometry = WireframeGeometry; - exports.ParametricGeometry = ParametricGeometry; - exports.ParametricBufferGeometry = ParametricBufferGeometry; - exports.TetrahedronGeometry = TetrahedronGeometry; - exports.TetrahedronBufferGeometry = TetrahedronBufferGeometry; - exports.OctahedronGeometry = OctahedronGeometry; - exports.OctahedronBufferGeometry = OctahedronBufferGeometry; - exports.IcosahedronGeometry = IcosahedronGeometry; - exports.IcosahedronBufferGeometry = IcosahedronBufferGeometry; - exports.DodecahedronGeometry = DodecahedronGeometry; - exports.DodecahedronBufferGeometry = DodecahedronBufferGeometry; - exports.PolyhedronGeometry = PolyhedronGeometry; - exports.PolyhedronBufferGeometry = PolyhedronBufferGeometry; - exports.TubeGeometry = TubeGeometry; - exports.TubeBufferGeometry = TubeBufferGeometry; - exports.TorusKnotGeometry = TorusKnotGeometry; - exports.TorusKnotBufferGeometry = TorusKnotBufferGeometry; - exports.TorusGeometry = TorusGeometry; - exports.TorusBufferGeometry = TorusBufferGeometry; - exports.TextGeometry = TextGeometry; - exports.TextBufferGeometry = TextBufferGeometry; - exports.SphereGeometry = SphereGeometry; - exports.SphereBufferGeometry = SphereBufferGeometry; - exports.RingGeometry = RingGeometry; - exports.RingBufferGeometry = RingBufferGeometry; - exports.PlaneGeometry = PlaneGeometry; - exports.PlaneBufferGeometry = PlaneBufferGeometry; - exports.LatheGeometry = LatheGeometry; - exports.LatheBufferGeometry = LatheBufferGeometry; - exports.ShapeGeometry = ShapeGeometry; - exports.ShapeBufferGeometry = ShapeBufferGeometry; - exports.ExtrudeGeometry = ExtrudeGeometry; - exports.ExtrudeBufferGeometry = ExtrudeBufferGeometry; - exports.EdgesGeometry = EdgesGeometry; - exports.ConeGeometry = ConeGeometry; - exports.ConeBufferGeometry = ConeBufferGeometry; - exports.CylinderGeometry = CylinderGeometry; - exports.CylinderBufferGeometry = CylinderBufferGeometry; - exports.CircleGeometry = CircleGeometry; - exports.CircleBufferGeometry = CircleBufferGeometry; + exports.BoxBufferGeometry = BoxGeometry; exports.BoxGeometry = BoxGeometry; - exports.CubeGeometry = BoxGeometry; - exports.BoxBufferGeometry = BoxBufferGeometry; - exports.ShadowMaterial = ShadowMaterial; - exports.SpriteMaterial = SpriteMaterial; - exports.RawShaderMaterial = RawShaderMaterial; - exports.ShaderMaterial = ShaderMaterial; - exports.PointsMaterial = PointsMaterial; - exports.MeshPhysicalMaterial = MeshPhysicalMaterial; - exports.MeshStandardMaterial = MeshStandardMaterial; - exports.MeshPhongMaterial = MeshPhongMaterial; - exports.MeshToonMaterial = MeshToonMaterial; - exports.MeshNormalMaterial = MeshNormalMaterial; - exports.MeshLambertMaterial = MeshLambertMaterial; - exports.MeshDepthMaterial = MeshDepthMaterial; - exports.MeshDistanceMaterial = MeshDistanceMaterial; - exports.MeshBasicMaterial = MeshBasicMaterial; - exports.MeshMatcapMaterial = MeshMatcapMaterial; - exports.LineDashedMaterial = LineDashedMaterial; - exports.LineBasicMaterial = LineBasicMaterial; - exports.Material = Material; - exports.Float64BufferAttribute = Float64BufferAttribute; - exports.Float32BufferAttribute = Float32BufferAttribute; - exports.Uint32BufferAttribute = Uint32BufferAttribute; - exports.Int32BufferAttribute = Int32BufferAttribute; - exports.Uint16BufferAttribute = Uint16BufferAttribute; - exports.Int16BufferAttribute = Int16BufferAttribute; - exports.Uint8ClampedBufferAttribute = Uint8ClampedBufferAttribute; - exports.Uint8BufferAttribute = Uint8BufferAttribute; - exports.Int8BufferAttribute = Int8BufferAttribute; + exports.BoxHelper = BoxHelper; exports.BufferAttribute = BufferAttribute; - exports.ArcCurve = ArcCurve; + exports.BufferGeometry = BufferGeometry; + exports.BufferGeometryLoader = BufferGeometryLoader; + exports.ByteType = ByteType; + exports.Cache = Cache; + exports.Camera = Camera; + exports.CameraHelper = CameraHelper; + exports.CanvasRenderer = CanvasRenderer; + exports.CanvasTexture = CanvasTexture; exports.CatmullRomCurve3 = CatmullRomCurve3; + exports.CineonToneMapping = CineonToneMapping; + exports.CircleBufferGeometry = CircleGeometry; + exports.CircleGeometry = CircleGeometry; + exports.ClampToEdgeWrapping = ClampToEdgeWrapping; + exports.Clock = Clock; + exports.Color = Color; + exports.ColorKeyframeTrack = ColorKeyframeTrack; + exports.CompressedTexture = CompressedTexture; + exports.CompressedTextureLoader = CompressedTextureLoader; + exports.ConeBufferGeometry = ConeGeometry; + exports.ConeGeometry = ConeGeometry; + exports.CubeCamera = CubeCamera; + exports.CubeReflectionMapping = CubeReflectionMapping; + exports.CubeRefractionMapping = CubeRefractionMapping; + exports.CubeTexture = CubeTexture; + exports.CubeTextureLoader = CubeTextureLoader; + exports.CubeUVReflectionMapping = CubeUVReflectionMapping; + exports.CubeUVRefractionMapping = CubeUVRefractionMapping; exports.CubicBezierCurve = CubicBezierCurve; exports.CubicBezierCurve3 = CubicBezierCurve3; - exports.EllipseCurve = EllipseCurve; - exports.LineCurve = LineCurve; - exports.LineCurve3 = LineCurve3; - exports.QuadraticBezierCurve = QuadraticBezierCurve; - exports.QuadraticBezierCurve3 = QuadraticBezierCurve3; - exports.SplineCurve = SplineCurve; - exports.REVISION = REVISION; - exports.MOUSE = MOUSE; - exports.CullFaceNone = CullFaceNone; + exports.CubicInterpolant = CubicInterpolant; exports.CullFaceBack = CullFaceBack; exports.CullFaceFront = CullFaceFront; exports.CullFaceFrontBack = CullFaceFrontBack; - exports.FrontFaceDirectionCW = FrontFaceDirectionCW; - exports.FrontFaceDirectionCCW = FrontFaceDirectionCCW; - exports.BasicShadowMap = BasicShadowMap; - exports.PCFShadowMap = PCFShadowMap; - exports.PCFSoftShadowMap = PCFSoftShadowMap; - exports.FrontSide = FrontSide; - exports.BackSide = BackSide; - exports.DoubleSide = DoubleSide; - exports.FlatShading = FlatShading; - exports.SmoothShading = SmoothShading; - exports.NoColors = NoColors; - exports.FaceColors = FaceColors; - exports.VertexColors = VertexColors; - exports.NoBlending = NoBlending; - exports.NormalBlending = NormalBlending; - exports.AdditiveBlending = AdditiveBlending; - exports.SubtractiveBlending = SubtractiveBlending; - exports.MultiplyBlending = MultiplyBlending; + exports.CullFaceNone = CullFaceNone; + exports.Curve = Curve; + exports.CurvePath = CurvePath; exports.CustomBlending = CustomBlending; - exports.AddEquation = AddEquation; - exports.SubtractEquation = SubtractEquation; - exports.ReverseSubtractEquation = ReverseSubtractEquation; - exports.MinEquation = MinEquation; - exports.MaxEquation = MaxEquation; - exports.ZeroFactor = ZeroFactor; - exports.OneFactor = OneFactor; - exports.SrcColorFactor = SrcColorFactor; - exports.OneMinusSrcColorFactor = OneMinusSrcColorFactor; - exports.SrcAlphaFactor = SrcAlphaFactor; - exports.OneMinusSrcAlphaFactor = OneMinusSrcAlphaFactor; + exports.CustomToneMapping = CustomToneMapping; + exports.CylinderBufferGeometry = CylinderGeometry; + exports.CylinderGeometry = CylinderGeometry; + exports.Cylindrical = Cylindrical; + exports.DataTexture = DataTexture; + exports.DataTexture2DArray = DataTexture2DArray; + exports.DataTexture3D = DataTexture3D; + exports.DataTextureLoader = DataTextureLoader; + exports.DataUtils = DataUtils; + exports.DecrementStencilOp = DecrementStencilOp; + exports.DecrementWrapStencilOp = DecrementWrapStencilOp; + exports.DefaultLoadingManager = DefaultLoadingManager; + exports.DepthFormat = DepthFormat; + exports.DepthStencilFormat = DepthStencilFormat; + exports.DepthTexture = DepthTexture; + exports.DirectionalLight = DirectionalLight; + exports.DirectionalLightHelper = DirectionalLightHelper; + exports.DiscreteInterpolant = DiscreteInterpolant; + exports.DodecahedronBufferGeometry = DodecahedronGeometry; + exports.DodecahedronGeometry = DodecahedronGeometry; + exports.DoubleSide = DoubleSide; exports.DstAlphaFactor = DstAlphaFactor; - exports.OneMinusDstAlphaFactor = OneMinusDstAlphaFactor; exports.DstColorFactor = DstColorFactor; - exports.OneMinusDstColorFactor = OneMinusDstColorFactor; - exports.SrcAlphaSaturateFactor = SrcAlphaSaturateFactor; - exports.NeverDepth = NeverDepth; - exports.AlwaysDepth = AlwaysDepth; - exports.LessDepth = LessDepth; - exports.LessEqualDepth = LessEqualDepth; + exports.DynamicBufferAttribute = DynamicBufferAttribute; + exports.DynamicCopyUsage = DynamicCopyUsage; + exports.DynamicDrawUsage = DynamicDrawUsage; + exports.DynamicReadUsage = DynamicReadUsage; + exports.EdgesGeometry = EdgesGeometry; + exports.EdgesHelper = EdgesHelper; + exports.EllipseCurve = EllipseCurve; exports.EqualDepth = EqualDepth; - exports.GreaterEqualDepth = GreaterEqualDepth; - exports.GreaterDepth = GreaterDepth; - exports.NotEqualDepth = NotEqualDepth; - exports.MultiplyOperation = MultiplyOperation; - exports.MixOperation = MixOperation; - exports.AddOperation = AddOperation; - exports.NoToneMapping = NoToneMapping; - exports.LinearToneMapping = LinearToneMapping; - exports.ReinhardToneMapping = ReinhardToneMapping; - exports.Uncharted2ToneMapping = Uncharted2ToneMapping; - exports.CineonToneMapping = CineonToneMapping; - exports.ACESFilmicToneMapping = ACESFilmicToneMapping; - exports.UVMapping = UVMapping; - exports.CubeReflectionMapping = CubeReflectionMapping; - exports.CubeRefractionMapping = CubeRefractionMapping; + exports.EqualStencilFunc = EqualStencilFunc; exports.EquirectangularReflectionMapping = EquirectangularReflectionMapping; exports.EquirectangularRefractionMapping = EquirectangularRefractionMapping; - exports.SphericalReflectionMapping = SphericalReflectionMapping; - exports.CubeUVReflectionMapping = CubeUVReflectionMapping; - exports.CubeUVRefractionMapping = CubeUVRefractionMapping; - exports.RepeatWrapping = RepeatWrapping; - exports.ClampToEdgeWrapping = ClampToEdgeWrapping; + exports.Euler = Euler; + exports.EventDispatcher = EventDispatcher; + exports.ExtrudeBufferGeometry = ExtrudeGeometry; + exports.ExtrudeGeometry = ExtrudeGeometry; + exports.FaceColors = FaceColors; + exports.FileLoader = FileLoader; + exports.FlatShading = FlatShading; + exports.Float16BufferAttribute = Float16BufferAttribute; + exports.Float32Attribute = Float32Attribute; + exports.Float32BufferAttribute = Float32BufferAttribute; + exports.Float64Attribute = Float64Attribute; + exports.Float64BufferAttribute = Float64BufferAttribute; + exports.FloatType = FloatType; + exports.Fog = Fog; + exports.FogExp2 = FogExp2; + exports.Font = Font; + exports.FontLoader = FontLoader; + exports.FrontSide = FrontSide; + exports.Frustum = Frustum; + exports.GLBufferAttribute = GLBufferAttribute; + exports.GLSL1 = GLSL1; + exports.GLSL3 = GLSL3; + exports.GammaEncoding = GammaEncoding; + exports.GreaterDepth = GreaterDepth; + exports.GreaterEqualDepth = GreaterEqualDepth; + exports.GreaterEqualStencilFunc = GreaterEqualStencilFunc; + exports.GreaterStencilFunc = GreaterStencilFunc; + exports.GridHelper = GridHelper; + exports.Group = Group; + exports.HalfFloatType = HalfFloatType; + exports.HemisphereLight = HemisphereLight; + exports.HemisphereLightHelper = HemisphereLightHelper; + exports.HemisphereLightProbe = HemisphereLightProbe; + exports.IcosahedronBufferGeometry = IcosahedronGeometry; + exports.IcosahedronGeometry = IcosahedronGeometry; + exports.ImageBitmapLoader = ImageBitmapLoader; + exports.ImageLoader = ImageLoader; + exports.ImageUtils = ImageUtils; + exports.ImmediateRenderObject = ImmediateRenderObject; + exports.IncrementStencilOp = IncrementStencilOp; + exports.IncrementWrapStencilOp = IncrementWrapStencilOp; + exports.InstancedBufferAttribute = InstancedBufferAttribute; + exports.InstancedBufferGeometry = InstancedBufferGeometry; + exports.InstancedInterleavedBuffer = InstancedInterleavedBuffer; + exports.InstancedMesh = InstancedMesh; + exports.Int16Attribute = Int16Attribute; + exports.Int16BufferAttribute = Int16BufferAttribute; + exports.Int32Attribute = Int32Attribute; + exports.Int32BufferAttribute = Int32BufferAttribute; + exports.Int8Attribute = Int8Attribute; + exports.Int8BufferAttribute = Int8BufferAttribute; + exports.IntType = IntType; + exports.InterleavedBuffer = InterleavedBuffer; + exports.InterleavedBufferAttribute = InterleavedBufferAttribute; + exports.Interpolant = Interpolant; + exports.InterpolateDiscrete = InterpolateDiscrete; + exports.InterpolateLinear = InterpolateLinear; + exports.InterpolateSmooth = InterpolateSmooth; + exports.InvertStencilOp = InvertStencilOp; + exports.JSONLoader = JSONLoader; + exports.KeepStencilOp = KeepStencilOp; + exports.KeyframeTrack = KeyframeTrack; + exports.LOD = LOD; + exports.LatheBufferGeometry = LatheGeometry; + exports.LatheGeometry = LatheGeometry; + exports.Layers = Layers; + exports.LensFlare = LensFlare; + exports.LessDepth = LessDepth; + exports.LessEqualDepth = LessEqualDepth; + exports.LessEqualStencilFunc = LessEqualStencilFunc; + exports.LessStencilFunc = LessStencilFunc; + exports.Light = Light; + exports.LightProbe = LightProbe; + exports.Line = Line; + exports.Line3 = Line3; + exports.LineBasicMaterial = LineBasicMaterial; + exports.LineCurve = LineCurve; + exports.LineCurve3 = LineCurve3; + exports.LineDashedMaterial = LineDashedMaterial; + exports.LineLoop = LineLoop; + exports.LinePieces = LinePieces; + exports.LineSegments = LineSegments; + exports.LineStrip = LineStrip; + exports.LinearEncoding = LinearEncoding; + exports.LinearFilter = LinearFilter; + exports.LinearInterpolant = LinearInterpolant; + exports.LinearMipMapLinearFilter = LinearMipMapLinearFilter; + exports.LinearMipMapNearestFilter = LinearMipMapNearestFilter; + exports.LinearMipmapLinearFilter = LinearMipmapLinearFilter; + exports.LinearMipmapNearestFilter = LinearMipmapNearestFilter; + exports.LinearToneMapping = LinearToneMapping; + exports.Loader = Loader; + exports.LoaderUtils = LoaderUtils; + exports.LoadingManager = LoadingManager; + exports.LogLuvEncoding = LogLuvEncoding; + exports.LoopOnce = LoopOnce; + exports.LoopPingPong = LoopPingPong; + exports.LoopRepeat = LoopRepeat; + exports.LuminanceAlphaFormat = LuminanceAlphaFormat; + exports.LuminanceFormat = LuminanceFormat; + exports.MOUSE = MOUSE; + exports.Material = Material; + exports.MaterialLoader = MaterialLoader; + exports.Math = MathUtils; + exports.MathUtils = MathUtils; + exports.Matrix3 = Matrix3; + exports.Matrix4 = Matrix4; + exports.MaxEquation = MaxEquation; + exports.Mesh = Mesh; + exports.MeshBasicMaterial = MeshBasicMaterial; + exports.MeshDepthMaterial = MeshDepthMaterial; + exports.MeshDistanceMaterial = MeshDistanceMaterial; + exports.MeshFaceMaterial = MeshFaceMaterial; + exports.MeshLambertMaterial = MeshLambertMaterial; + exports.MeshMatcapMaterial = MeshMatcapMaterial; + exports.MeshNormalMaterial = MeshNormalMaterial; + exports.MeshPhongMaterial = MeshPhongMaterial; + exports.MeshPhysicalMaterial = MeshPhysicalMaterial; + exports.MeshStandardMaterial = MeshStandardMaterial; + exports.MeshToonMaterial = MeshToonMaterial; + exports.MinEquation = MinEquation; exports.MirroredRepeatWrapping = MirroredRepeatWrapping; + exports.MixOperation = MixOperation; + exports.MultiMaterial = MultiMaterial; + exports.MultiplyBlending = MultiplyBlending; + exports.MultiplyOperation = MultiplyOperation; exports.NearestFilter = NearestFilter; - exports.NearestMipMapNearestFilter = NearestMipMapNearestFilter; exports.NearestMipMapLinearFilter = NearestMipMapLinearFilter; - exports.LinearFilter = LinearFilter; - exports.LinearMipMapNearestFilter = LinearMipMapNearestFilter; - exports.LinearMipMapLinearFilter = LinearMipMapLinearFilter; - exports.UnsignedByteType = UnsignedByteType; - exports.ByteType = ByteType; - exports.ShortType = ShortType; - exports.UnsignedShortType = UnsignedShortType; - exports.IntType = IntType; - exports.UnsignedIntType = UnsignedIntType; - exports.FloatType = FloatType; - exports.HalfFloatType = HalfFloatType; - exports.UnsignedShort4444Type = UnsignedShort4444Type; - exports.UnsignedShort5551Type = UnsignedShort5551Type; - exports.UnsignedShort565Type = UnsignedShort565Type; - exports.UnsignedInt248Type = UnsignedInt248Type; - exports.AlphaFormat = AlphaFormat; - exports.RGBFormat = RGBFormat; + exports.NearestMipMapNearestFilter = NearestMipMapNearestFilter; + exports.NearestMipmapLinearFilter = NearestMipmapLinearFilter; + exports.NearestMipmapNearestFilter = NearestMipmapNearestFilter; + exports.NeverDepth = NeverDepth; + exports.NeverStencilFunc = NeverStencilFunc; + exports.NoBlending = NoBlending; + exports.NoColors = NoColors; + exports.NoToneMapping = NoToneMapping; + exports.NormalAnimationBlendMode = NormalAnimationBlendMode; + exports.NormalBlending = NormalBlending; + exports.NotEqualDepth = NotEqualDepth; + exports.NotEqualStencilFunc = NotEqualStencilFunc; + exports.NumberKeyframeTrack = NumberKeyframeTrack; + exports.Object3D = Object3D; + exports.ObjectLoader = ObjectLoader; + exports.ObjectSpaceNormalMap = ObjectSpaceNormalMap; + exports.OctahedronBufferGeometry = OctahedronGeometry; + exports.OctahedronGeometry = OctahedronGeometry; + exports.OneFactor = OneFactor; + exports.OneMinusDstAlphaFactor = OneMinusDstAlphaFactor; + exports.OneMinusDstColorFactor = OneMinusDstColorFactor; + exports.OneMinusSrcAlphaFactor = OneMinusSrcAlphaFactor; + exports.OneMinusSrcColorFactor = OneMinusSrcColorFactor; + exports.OrthographicCamera = OrthographicCamera; + exports.PCFShadowMap = PCFShadowMap; + exports.PCFSoftShadowMap = PCFSoftShadowMap; + exports.PMREMGenerator = PMREMGenerator; + exports.ParametricBufferGeometry = ParametricGeometry; + exports.ParametricGeometry = ParametricGeometry; + exports.Particle = Particle; + exports.ParticleBasicMaterial = ParticleBasicMaterial; + exports.ParticleSystem = ParticleSystem; + exports.ParticleSystemMaterial = ParticleSystemMaterial; + exports.Path = Path; + exports.PerspectiveCamera = PerspectiveCamera; + exports.Plane = Plane; + exports.PlaneBufferGeometry = PlaneGeometry; + exports.PlaneGeometry = PlaneGeometry; + exports.PlaneHelper = PlaneHelper; + exports.PointCloud = PointCloud; + exports.PointCloudMaterial = PointCloudMaterial; + exports.PointLight = PointLight; + exports.PointLightHelper = PointLightHelper; + exports.Points = Points; + exports.PointsMaterial = PointsMaterial; + exports.PolarGridHelper = PolarGridHelper; + exports.PolyhedronBufferGeometry = PolyhedronGeometry; + exports.PolyhedronGeometry = PolyhedronGeometry; + exports.PositionalAudio = PositionalAudio; + exports.PropertyBinding = PropertyBinding; + exports.PropertyMixer = PropertyMixer; + exports.QuadraticBezierCurve = QuadraticBezierCurve; + exports.QuadraticBezierCurve3 = QuadraticBezierCurve3; + exports.Quaternion = Quaternion; + exports.QuaternionKeyframeTrack = QuaternionKeyframeTrack; + exports.QuaternionLinearInterpolant = QuaternionLinearInterpolant; + exports.REVISION = REVISION; + exports.RGBADepthPacking = RGBADepthPacking; exports.RGBAFormat = RGBAFormat; - exports.LuminanceFormat = LuminanceFormat; - exports.LuminanceAlphaFormat = LuminanceAlphaFormat; - exports.RGBEFormat = RGBEFormat; - exports.DepthFormat = DepthFormat; - exports.DepthStencilFormat = DepthStencilFormat; - exports.RedFormat = RedFormat; - exports.RGB_S3TC_DXT1_Format = RGB_S3TC_DXT1_Format; - exports.RGBA_S3TC_DXT1_Format = RGBA_S3TC_DXT1_Format; - exports.RGBA_S3TC_DXT3_Format = RGBA_S3TC_DXT3_Format; - exports.RGBA_S3TC_DXT5_Format = RGBA_S3TC_DXT5_Format; - exports.RGB_PVRTC_4BPPV1_Format = RGB_PVRTC_4BPPV1_Format; - exports.RGB_PVRTC_2BPPV1_Format = RGB_PVRTC_2BPPV1_Format; - exports.RGBA_PVRTC_4BPPV1_Format = RGBA_PVRTC_4BPPV1_Format; - exports.RGBA_PVRTC_2BPPV1_Format = RGBA_PVRTC_2BPPV1_Format; - exports.RGB_ETC1_Format = RGB_ETC1_Format; + exports.RGBAIntegerFormat = RGBAIntegerFormat; + exports.RGBA_ASTC_10x10_Format = RGBA_ASTC_10x10_Format; + exports.RGBA_ASTC_10x5_Format = RGBA_ASTC_10x5_Format; + exports.RGBA_ASTC_10x6_Format = RGBA_ASTC_10x6_Format; + exports.RGBA_ASTC_10x8_Format = RGBA_ASTC_10x8_Format; + exports.RGBA_ASTC_12x10_Format = RGBA_ASTC_12x10_Format; + exports.RGBA_ASTC_12x12_Format = RGBA_ASTC_12x12_Format; exports.RGBA_ASTC_4x4_Format = RGBA_ASTC_4x4_Format; exports.RGBA_ASTC_5x4_Format = RGBA_ASTC_5x4_Format; exports.RGBA_ASTC_5x5_Format = RGBA_ASTC_5x5_Format; @@ -48425,74 +36334,155 @@ exports.RGBA_ASTC_8x5_Format = RGBA_ASTC_8x5_Format; exports.RGBA_ASTC_8x6_Format = RGBA_ASTC_8x6_Format; exports.RGBA_ASTC_8x8_Format = RGBA_ASTC_8x8_Format; - exports.RGBA_ASTC_10x5_Format = RGBA_ASTC_10x5_Format; - exports.RGBA_ASTC_10x6_Format = RGBA_ASTC_10x6_Format; - exports.RGBA_ASTC_10x8_Format = RGBA_ASTC_10x8_Format; - exports.RGBA_ASTC_10x10_Format = RGBA_ASTC_10x10_Format; - exports.RGBA_ASTC_12x10_Format = RGBA_ASTC_12x10_Format; - exports.RGBA_ASTC_12x12_Format = RGBA_ASTC_12x12_Format; - exports.LoopOnce = LoopOnce; - exports.LoopRepeat = LoopRepeat; - exports.LoopPingPong = LoopPingPong; - exports.InterpolateDiscrete = InterpolateDiscrete; - exports.InterpolateLinear = InterpolateLinear; - exports.InterpolateSmooth = InterpolateSmooth; - exports.ZeroCurvatureEnding = ZeroCurvatureEnding; - exports.ZeroSlopeEnding = ZeroSlopeEnding; - exports.WrapAroundEnding = WrapAroundEnding; - exports.TrianglesDrawMode = TrianglesDrawMode; - exports.TriangleStripDrawMode = TriangleStripDrawMode; - exports.TriangleFanDrawMode = TriangleFanDrawMode; - exports.LinearEncoding = LinearEncoding; - exports.sRGBEncoding = sRGBEncoding; - exports.GammaEncoding = GammaEncoding; + exports.RGBA_BPTC_Format = RGBA_BPTC_Format; + exports.RGBA_ETC2_EAC_Format = RGBA_ETC2_EAC_Format; + exports.RGBA_PVRTC_2BPPV1_Format = RGBA_PVRTC_2BPPV1_Format; + exports.RGBA_PVRTC_4BPPV1_Format = RGBA_PVRTC_4BPPV1_Format; + exports.RGBA_S3TC_DXT1_Format = RGBA_S3TC_DXT1_Format; + exports.RGBA_S3TC_DXT3_Format = RGBA_S3TC_DXT3_Format; + exports.RGBA_S3TC_DXT5_Format = RGBA_S3TC_DXT5_Format; + exports.RGBDEncoding = RGBDEncoding; exports.RGBEEncoding = RGBEEncoding; - exports.LogLuvEncoding = LogLuvEncoding; - exports.RGBM7Encoding = RGBM7Encoding; + exports.RGBEFormat = RGBEFormat; + exports.RGBFormat = RGBFormat; + exports.RGBIntegerFormat = RGBIntegerFormat; exports.RGBM16Encoding = RGBM16Encoding; - exports.RGBDEncoding = RGBDEncoding; - exports.BasicDepthPacking = BasicDepthPacking; - exports.RGBADepthPacking = RGBADepthPacking; + exports.RGBM7Encoding = RGBM7Encoding; + exports.RGB_ETC1_Format = RGB_ETC1_Format; + exports.RGB_ETC2_Format = RGB_ETC2_Format; + exports.RGB_PVRTC_2BPPV1_Format = RGB_PVRTC_2BPPV1_Format; + exports.RGB_PVRTC_4BPPV1_Format = RGB_PVRTC_4BPPV1_Format; + exports.RGB_S3TC_DXT1_Format = RGB_S3TC_DXT1_Format; + exports.RGFormat = RGFormat; + exports.RGIntegerFormat = RGIntegerFormat; + exports.RawShaderMaterial = RawShaderMaterial; + exports.Ray = Ray; + exports.Raycaster = Raycaster; + exports.RectAreaLight = RectAreaLight; + exports.RedFormat = RedFormat; + exports.RedIntegerFormat = RedIntegerFormat; + exports.ReinhardToneMapping = ReinhardToneMapping; + exports.RepeatWrapping = RepeatWrapping; + exports.ReplaceStencilOp = ReplaceStencilOp; + exports.ReverseSubtractEquation = ReverseSubtractEquation; + exports.RingBufferGeometry = RingGeometry; + exports.RingGeometry = RingGeometry; + exports.SRGB8_ALPHA8_ASTC_10x10_Format = SRGB8_ALPHA8_ASTC_10x10_Format; + exports.SRGB8_ALPHA8_ASTC_10x5_Format = SRGB8_ALPHA8_ASTC_10x5_Format; + exports.SRGB8_ALPHA8_ASTC_10x6_Format = SRGB8_ALPHA8_ASTC_10x6_Format; + exports.SRGB8_ALPHA8_ASTC_10x8_Format = SRGB8_ALPHA8_ASTC_10x8_Format; + exports.SRGB8_ALPHA8_ASTC_12x10_Format = SRGB8_ALPHA8_ASTC_12x10_Format; + exports.SRGB8_ALPHA8_ASTC_12x12_Format = SRGB8_ALPHA8_ASTC_12x12_Format; + exports.SRGB8_ALPHA8_ASTC_4x4_Format = SRGB8_ALPHA8_ASTC_4x4_Format; + exports.SRGB8_ALPHA8_ASTC_5x4_Format = SRGB8_ALPHA8_ASTC_5x4_Format; + exports.SRGB8_ALPHA8_ASTC_5x5_Format = SRGB8_ALPHA8_ASTC_5x5_Format; + exports.SRGB8_ALPHA8_ASTC_6x5_Format = SRGB8_ALPHA8_ASTC_6x5_Format; + exports.SRGB8_ALPHA8_ASTC_6x6_Format = SRGB8_ALPHA8_ASTC_6x6_Format; + exports.SRGB8_ALPHA8_ASTC_8x5_Format = SRGB8_ALPHA8_ASTC_8x5_Format; + exports.SRGB8_ALPHA8_ASTC_8x6_Format = SRGB8_ALPHA8_ASTC_8x6_Format; + exports.SRGB8_ALPHA8_ASTC_8x8_Format = SRGB8_ALPHA8_ASTC_8x8_Format; + exports.Scene = Scene; + exports.SceneUtils = SceneUtils; + exports.ShaderChunk = ShaderChunk; + exports.ShaderLib = ShaderLib; + exports.ShaderMaterial = ShaderMaterial; + exports.ShadowMaterial = ShadowMaterial; + exports.Shape = Shape; + exports.ShapeBufferGeometry = ShapeGeometry; + exports.ShapeGeometry = ShapeGeometry; + exports.ShapePath = ShapePath; + exports.ShapeUtils = ShapeUtils; + exports.ShortType = ShortType; + exports.Skeleton = Skeleton; + exports.SkeletonHelper = SkeletonHelper; + exports.SkinnedMesh = SkinnedMesh; + exports.SmoothShading = SmoothShading; + exports.Sphere = Sphere; + exports.SphereBufferGeometry = SphereGeometry; + exports.SphereGeometry = SphereGeometry; + exports.Spherical = Spherical; + exports.SphericalHarmonics3 = SphericalHarmonics3; + exports.SplineCurve = SplineCurve; + exports.SpotLight = SpotLight; + exports.SpotLightHelper = SpotLightHelper; + exports.Sprite = Sprite; + exports.SpriteMaterial = SpriteMaterial; + exports.SrcAlphaFactor = SrcAlphaFactor; + exports.SrcAlphaSaturateFactor = SrcAlphaSaturateFactor; + exports.SrcColorFactor = SrcColorFactor; + exports.StaticCopyUsage = StaticCopyUsage; + exports.StaticDrawUsage = StaticDrawUsage; + exports.StaticReadUsage = StaticReadUsage; + exports.StereoCamera = StereoCamera; + exports.StreamCopyUsage = StreamCopyUsage; + exports.StreamDrawUsage = StreamDrawUsage; + exports.StreamReadUsage = StreamReadUsage; + exports.StringKeyframeTrack = StringKeyframeTrack; + exports.SubtractEquation = SubtractEquation; + exports.SubtractiveBlending = SubtractiveBlending; + exports.TOUCH = TOUCH; exports.TangentSpaceNormalMap = TangentSpaceNormalMap; - exports.ObjectSpaceNormalMap = ObjectSpaceNormalMap; - exports.Face4 = Face4; - exports.LineStrip = LineStrip; - exports.LinePieces = LinePieces; - exports.MeshFaceMaterial = MeshFaceMaterial; - exports.MultiMaterial = MultiMaterial; - exports.PointCloud = PointCloud; - exports.Particle = Particle; - exports.ParticleSystem = ParticleSystem; - exports.PointCloudMaterial = PointCloudMaterial; - exports.ParticleBasicMaterial = ParticleBasicMaterial; - exports.ParticleSystemMaterial = ParticleSystemMaterial; - exports.Vertex = Vertex; - exports.DynamicBufferAttribute = DynamicBufferAttribute; - exports.Int8Attribute = Int8Attribute; - exports.Uint8Attribute = Uint8Attribute; - exports.Uint8ClampedAttribute = Uint8ClampedAttribute; - exports.Int16Attribute = Int16Attribute; + exports.TetrahedronBufferGeometry = TetrahedronGeometry; + exports.TetrahedronGeometry = TetrahedronGeometry; + exports.TextBufferGeometry = TextGeometry; + exports.TextGeometry = TextGeometry; + exports.Texture = Texture; + exports.TextureLoader = TextureLoader; + exports.TorusBufferGeometry = TorusGeometry; + exports.TorusGeometry = TorusGeometry; + exports.TorusKnotBufferGeometry = TorusKnotGeometry; + exports.TorusKnotGeometry = TorusKnotGeometry; + exports.Triangle = Triangle; + exports.TriangleFanDrawMode = TriangleFanDrawMode; + exports.TriangleStripDrawMode = TriangleStripDrawMode; + exports.TrianglesDrawMode = TrianglesDrawMode; + exports.TubeBufferGeometry = TubeGeometry; + exports.TubeGeometry = TubeGeometry; + exports.UVMapping = UVMapping; exports.Uint16Attribute = Uint16Attribute; - exports.Int32Attribute = Int32Attribute; + exports.Uint16BufferAttribute = Uint16BufferAttribute; exports.Uint32Attribute = Uint32Attribute; - exports.Float32Attribute = Float32Attribute; - exports.Float64Attribute = Float64Attribute; - exports.ClosedSplineCurve3 = ClosedSplineCurve3; - exports.SplineCurve3 = SplineCurve3; - exports.Spline = Spline; - exports.AxisHelper = AxisHelper; - exports.BoundingBoxHelper = BoundingBoxHelper; - exports.EdgesHelper = EdgesHelper; + exports.Uint32BufferAttribute = Uint32BufferAttribute; + exports.Uint8Attribute = Uint8Attribute; + exports.Uint8BufferAttribute = Uint8BufferAttribute; + exports.Uint8ClampedAttribute = Uint8ClampedAttribute; + exports.Uint8ClampedBufferAttribute = Uint8ClampedBufferAttribute; + exports.Uniform = Uniform; + exports.UniformsLib = UniformsLib; + exports.UniformsUtils = UniformsUtils; + exports.UnsignedByteType = UnsignedByteType; + exports.UnsignedInt248Type = UnsignedInt248Type; + exports.UnsignedIntType = UnsignedIntType; + exports.UnsignedShort4444Type = UnsignedShort4444Type; + exports.UnsignedShort5551Type = UnsignedShort5551Type; + exports.UnsignedShort565Type = UnsignedShort565Type; + exports.UnsignedShortType = UnsignedShortType; + exports.VSMShadowMap = VSMShadowMap; + exports.Vector2 = Vector2; + exports.Vector3 = Vector3; + exports.Vector4 = Vector4; + exports.VectorKeyframeTrack = VectorKeyframeTrack; + exports.Vertex = Vertex; + exports.VertexColors = VertexColors; + exports.VideoTexture = VideoTexture; + exports.WebGL1Renderer = WebGL1Renderer; + exports.WebGLCubeRenderTarget = WebGLCubeRenderTarget; + exports.WebGLMultipleRenderTargets = WebGLMultipleRenderTargets; + exports.WebGLMultisampleRenderTarget = WebGLMultisampleRenderTarget; + exports.WebGLRenderTarget = WebGLRenderTarget; + exports.WebGLRenderTargetCube = WebGLRenderTargetCube; + exports.WebGLRenderer = WebGLRenderer; + exports.WebGLUtils = WebGLUtils; + exports.WireframeGeometry = WireframeGeometry; exports.WireframeHelper = WireframeHelper; + exports.WrapAroundEnding = WrapAroundEnding; exports.XHRLoader = XHRLoader; - exports.BinaryTextureLoader = BinaryTextureLoader; - exports.GeometryUtils = GeometryUtils; - exports.Projector = Projector; - exports.CanvasRenderer = CanvasRenderer; - exports.JSONLoader = JSONLoader; - exports.SceneUtils = SceneUtils; - exports.LensFlare = LensFlare; + exports.ZeroCurvatureEnding = ZeroCurvatureEnding; + exports.ZeroFactor = ZeroFactor; + exports.ZeroSlopeEnding = ZeroSlopeEnding; + exports.ZeroStencilOp = ZeroStencilOp; + exports.sRGBEncoding = sRGBEncoding; Object.defineProperty(exports, '__esModule', { value: true }); -})); +}))); diff --git a/three.js/examples/vendor/three.js/build/three.min.js b/three.js/examples/vendor/three.js/build/three.min.js index a1b5bce6..7ce0f254 100644 --- a/three.js/examples/vendor/three.js/build/three.min.js +++ b/three.js/examples/vendor/three.js/build/three.min.js @@ -1,975 +1,6 @@ -// threejs.org/license -(function(l,ta){"object"===typeof exports&&"undefined"!==typeof module?ta(exports):"function"===typeof define&&define.amd?define(["exports"],ta):(l=l||self,ta(l.THREE={}))})(this,function(l){function ta(){}function B(a,b){this.x=a||0;this.y=b||0}function aa(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function n(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function ba(){this.elements=[1,0,0,0,1,0,0,0,1];0b&&(b=a[c]);return b}function z(){Object.defineProperty(this,"id",{value:Yf+=2});this.uuid=K.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity};this.userData={}} -function Rb(a,b,c,d,e,f){N.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new ub(a,b,c,d,e,f));this.mergeVertices()}function ub(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,ua,F,Zf){var r=f/ua,u=g/F,x=f/2,w=g/2,A=l/2;g=ua+1;var y=F+1,X=f=0,Q,J,D=new n;for(J=0;Jm;m++){if(q=d[m])if(h=q[0],k=q[1]){p&&e.addAttribute("morphTarget"+m, -p[h]);f&&e.addAttribute("morphNormal"+m,f[h]);c[m]=k;continue}c[m]=0}g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function kg(a,b){var c={};return{update:function(d){var e=b.render.frame,f=d.geometry,g=a.get(d,f);c[g.id]!==e&&(f.isGeometry&&g.updateFromObject(d),a.update(g),c[g.id]=e);return g},dispose:function(){c={}}}}function bb(a,b,c,d,e,f,g,h,k,m){a=void 0!==a?a:[];W.call(this,a,void 0!==b?b:301,c,d,e,f,void 0!==g?g:1022,h,k,m);this.flipY=!1}function Sb(a,b,c,d){W.call(this,null); -this.image={data:a,width:b,height:c,depth:d};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1}function Tb(a,b,c,d){W.call(this,null);this.image={data:a,width:b,height:c,depth:d};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1}function Ub(a,b,c){var d=a[0];if(0>=d||0/gm,function(a,c){a=T[c];if(void 0===a)throw Error("Can not resolve #include <"+c+">");return ee(a)})}function kf(a){return a.replace(/#pragma unroll_loop[\s]+?for \( int i = (\d+); i < (\d+); i \+\+ \) \{([\s\S]+?)(?=\})\}/g, -function(a,c,d,e){a="";for(c=parseInt(c);cd||a.height>d)e=d/Math.max(a.width,a.height);if(1>e||!0===b){if("undefined"!==typeof HTMLImageElement&&a instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&a instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&a instanceof ImageBitmap)return d=b?K.floorPowerOfTwo:Math.floor,b=d(e*a.width),e=d(e*a.height), -void 0===C&&(C=h(b,e)),c=c?h(b,e):C,c.width=b,c.height=e,c.getContext("2d").drawImage(a,0,0,b,e),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+a.width+"x"+a.height+") to ("+b+"x"+e+")."),c;"data"in a&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+a.width+"x"+a.height+").")}return a}function m(a){return K.isPowerOfTwo(a.width)&&K.isPowerOfTwo(a.height)}function p(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function q(b,c,e, -f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function v(a,c){if(!e.isWebGL2)return a;var d=a;6403===a&&(5126===c&&(d=33326),5131===c&&(d=33325),5121===c&&(d=33321));6407===a&&(5126===c&&(d=34837),5131===c&&(d=34843),5121===c&&(d=32849));6408===a&&(5126===c&&(d=34836),5131===c&&(d=34842),5121===c&&(d=32856));33325===d||33326===d||34842===d||34836===d?b.get("EXT_color_buffer_float"):(34843===d||34837===d)&&console.warn("THREE.WebGLRenderer: Floating point textures with RGB format not supported. Please use RGBA instead."); -return d}function l(a){return 1003===a||1004===a||1005===a?9728:9729}function r(b){b=b.target;b.removeEventListener("dispose",r);var c=d.get(b);void 0!==c.__webglInit&&(a.deleteTexture(c.__webglTexture),d.remove(b));b.isVideoTexture&&delete E[b.id];g.memory.textures--}function u(b){b=b.target;b.removeEventListener("dispose",u);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e= -0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d.remove(b.texture);d.remove(b)}g.memory.textures--}function n(a,b){var e=d.get(a);if(a.isVideoTexture){var f=a.id,h=g.render.frame;E[f]!==h&&(E[f]=h,a.update())}if(0r;r++)t[r]=g||l?l?b.image[r].image: -b.image[r]:k(b.image[r],!1,!0,e.maxCubemapSize);var u=t[0],n=m(u)||e.isWebGL2,x=f.convert(b.format),w=f.convert(b.type),Q=v(x,w);y(34067,b,n);for(r=0;6>r;r++)if(g)for(var X,J=t[r].mipmaps,A=0,F=J.length;A=e.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+a+" texture units while this GPU supports only "+e.maxTextures);z+=1;return a};this.resetTextureUnits=function(){z=0};this.setTexture2D=n;this.setTexture2DArray=function(a,b){var e=d.get(a);0r;r++)h.__webglFramebuffer[r]=a.createFramebuffer();else if(h.__webglFramebuffer=a.createFramebuffer(),r)if(e.isWebGL2){h.__webglMultisampledFramebuffer= -a.createFramebuffer();h.__webglColorRenderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,h.__webglColorRenderbuffer);r=f.convert(b.texture.format);var x=f.convert(b.texture.type);r=v(r,x);x=B(b);a.renderbufferStorageMultisample(36161,x,r,b.width,b.height);a.bindFramebuffer(36160,h.__webglMultisampledFramebuffer);a.framebufferRenderbuffer(36160,36064,36161,h.__webglColorRenderbuffer);a.bindRenderbuffer(36161,null);b.depthBuffer&&(h.__webglDepthRenderbuffer=a.createRenderbuffer(),F(h.__webglDepthRenderbuffer, -b,!0));a.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(l){c.bindTexture(34067,k.__webglTexture);y(34067,b.texture,t);for(r=0;6>r;r++)ua(h.__webglFramebuffer[r],b,36064,34069+r);p(b.texture,t)&&q(34067,b.texture,b.width,b.height);c.bindTexture(34067,null)}else c.bindTexture(3553,k.__webglTexture),y(3553,b.texture,t),ua(h.__webglFramebuffer,b,36064,3553),p(b.texture,t)&&q(3553,b.texture,b.width,b.height),c.bindTexture(3553, -null);if(b.depthBuffer){h=d.get(b);k=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(k)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported");a.bindFramebuffer(36160,h.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width=== -b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);n(b.depthTexture,0);h=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(36160,36096,3553,h,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(36160,33306,3553,h,0);else throw Error("Unknown depthTexture format");}else if(k)for(h.__webglDepthbuffer=[],k=0;6>k;k++)a.bindFramebuffer(36160,h.__webglFramebuffer[k]), -h.__webglDepthbuffer[k]=a.createRenderbuffer(),F(h.__webglDepthbuffer[k],b);else a.bindFramebuffer(36160,h.__webglFramebuffer),h.__webglDepthbuffer=a.createRenderbuffer(),F(h.__webglDepthbuffer,b);a.bindFramebuffer(36160,null)}};this.updateRenderTargetMipmap=function(a){var b=a.texture,f=m(a)||e.isWebGL2;if(p(b,f)){f=a.isWebGLRenderTargetCube?34067:3553;var g=d.get(b).__webglTexture;c.bindTexture(f,g);q(f,b,a.width,a.height);c.bindTexture(f,null)}};this.updateMultisampleRenderTarget=function(b){if(b.isWebGLMultisampleRenderTarget)if(e.isWebGL2){var c= -d.get(b);a.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);a.bindFramebuffer(36009,c.__webglFramebuffer);c=b.width;var f=b.height,g=16384;b.depthBuffer&&(g|=256);b.stencilBuffer&&(g|=1024);a.blitFramebuffer(0,0,c,f,0,0,c,f,g,9728)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")};this.safeSetTexture2D=function(a,b){a&&a.isWebGLRenderTarget&&(!1===G&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."), -G=!0),a=a.texture);n(a,b)};this.safeSetTextureCube=function(a,b){a&&a.isWebGLRenderTargetCube&&(!1===I&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),I=!0),a=a.texture);a&&a.isCubeTexture||Array.isArray(a.image)&&6===a.image.length?A(a,b):w(a,b)}}function pf(a,b,c){return{convert:function(a){if(1E3===a)return 10497;if(1001===a)return 33071;if(1002===a)return 33648;if(1003===a)return 9728;if(1004===a)return 9984; -if(1005===a)return 9986;if(1006===a)return 9729;if(1007===a)return 9985;if(1008===a)return 9987;if(1009===a)return 5121;if(1017===a)return 32819;if(1018===a)return 32820;if(1019===a)return 33635;if(1010===a)return 5120;if(1011===a)return 5122;if(1012===a)return 5123;if(1013===a)return 5124;if(1014===a)return 5125;if(1015===a)return 5126;if(1016===a){if(c.isWebGL2)return 5131;var d=b.get("OES_texture_half_float");if(null!==d)return d.HALF_FLOAT_OES}if(1021===a)return 6406;if(1022===a)return 6407;if(1023=== -a)return 6408;if(1024===a)return 6409;if(1025===a)return 6410;if(1026===a)return 6402;if(1027===a)return 34041;if(1028===a)return 6403;if(100===a)return 32774;if(101===a)return 32778;if(102===a)return 32779;if(200===a)return 0;if(201===a)return 1;if(202===a)return 768;if(203===a)return 769;if(204===a)return 770;if(205===a)return 771;if(206===a)return 772;if(207===a)return 773;if(208===a)return 774;if(209===a)return 775;if(210===a)return 776;if(33776===a||33777===a||33778===a||33779===a)if(d=b.get("WEBGL_compressed_texture_s3tc"), -null!==d){if(33776===a)return d.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===a)return d.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===a)return d.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===a)return d.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===a||35841===a||35842===a||35843===a)if(d=b.get("WEBGL_compressed_texture_pvrtc"),null!==d){if(35840===a)return d.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===a)return d.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===a)return d.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===a)return d.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196=== -a&&(d=b.get("WEBGL_compressed_texture_etc1"),null!==d))return d.COMPRESSED_RGB_ETC1_WEBGL;if(37808===a||37809===a||37810===a||37811===a||37812===a||37813===a||37814===a||37815===a||37816===a||37817===a||37818===a||37819===a||37820===a||37821===a)if(d=b.get("WEBGL_compressed_texture_astc"),null!==d)return a;if(103===a||104===a){if(c.isWebGL2){if(103===a)return 32775;if(104===a)return 32776}d=b.get("EXT_blend_minmax");if(null!==d){if(103===a)return d.MIN_EXT;if(104===a)return d.MAX_EXT}}if(1020===a){if(c.isWebGL2)return 34042; -d=b.get("WEBGL_depth_texture");if(null!==d)return d.UNSIGNED_INT_24_8_WEBGL}return 0}}}function Vb(){C.call(this);this.type="Group"}function Xa(){C.call(this);this.type="Camera";this.matrixWorldInverse=new P;this.projectionMatrix=new P;this.projectionMatrixInverse=new P}function ja(a,b,c,d){Xa.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset= -0;this.updateProjectionMatrix()}function Gc(a){ja.call(this);this.cameras=a||[]}function qf(a,b,c){rf.setFromMatrixPosition(b.matrixWorld);sf.setFromMatrixPosition(c.matrixWorld);var d=rf.distanceTo(sf),e=b.projectionMatrix.elements,f=c.projectionMatrix.elements,g=e[14]/(e[10]-1);c=e[14]/(e[10]+1);var h=(e[9]+1)/e[5],k=(e[9]-1)/e[5],m=(e[8]-1)/e[0],p=(f[8]+1)/f[0];e=g*m;f=g*p;p=d/(-m+p);m=p*-m;b.matrixWorld.decompose(a.position,a.quaternion,a.scale);a.translateX(m);a.translateZ(p);a.matrixWorld.compose(a.position, -a.quaternion,a.scale);a.matrixWorldInverse.getInverse(a.matrixWorld);b=g+p;g=c+p;a.projectionMatrix.makePerspective(e-m,f+(d-m),h*c/g*b,k*c/g*b,b,g)}function tf(a){function b(){return null!==e&&!0===e.isPresenting}function c(){if(b()){var c=e.getEyeParameters("left"),f=c.renderWidth*p;c=c.renderHeight*p;y=a.getPixelRatio();a.getSize(w);a.setDrawingBufferSize(2*f,c,1);J.start()}else d.enabled&&a.setDrawingBufferSize(w.width,w.height,y),J.stop()}var d=this,e=null,f=null,g=null,h=[],k=new P,m=new P, -p=1,q="stage";"undefined"!==typeof window&&"VRFrameData"in window&&(f=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",c,!1));var v=new P,l=new aa,r=new n,u=new ja;u.bounds=new Y(0,0,.5,1);u.layers.enable(1);var x=new ja;x.bounds=new Y(.5,0,.5,1);x.layers.enable(2);var A=new Gc([u,x]);A.layers.enable(1);A.layers.enable(2);var w=new B,y,D=[];this.enabled=!1;this.getController=function(a){var b=h[a];void 0===b&&(b=new Vb,b.matrixAutoUpdate=!1,b.visible=!1,h[a]=b);return b};this.getDevice= -function(){return e};this.setDevice=function(a){void 0!==a&&(e=a);J.setContext(a)};this.setFramebufferScaleFactor=function(a){p=a};this.setFrameOfReferenceType=function(a){q=a};this.setPoseTarget=function(a){void 0!==a&&(g=a)};this.getCamera=function(a){var c="stage"===q?1.6:0;if(!1===b())return a.position.set(0,c,0),a.rotation.set(0,0,0),a;e.depthNear=a.near;e.depthFar=a.far;e.getFrameData(f);if("stage"===q){var d=e.stageParameters;d?k.fromArray(d.sittingToStandingTransform):k.makeTranslation(0, -c,0)}c=f.pose;d=null!==g?g:a;d.matrix.copy(k);d.matrix.decompose(d.position,d.quaternion,d.scale);null!==c.orientation&&(l.fromArray(c.orientation),d.quaternion.multiply(l));null!==c.position&&(l.setFromRotationMatrix(k),r.fromArray(c.position),r.applyQuaternion(l),d.position.add(r));d.updateMatrixWorld();u.near=a.near;x.near=a.near;u.far=a.far;x.far=a.far;u.matrixWorldInverse.fromArray(f.leftViewMatrix);x.matrixWorldInverse.fromArray(f.rightViewMatrix);m.getInverse(k);"stage"===q&&(u.matrixWorldInverse.multiply(m), -x.matrixWorldInverse.multiply(m));a=d.parent;null!==a&&(v.getInverse(a.matrixWorld),u.matrixWorldInverse.multiply(v),x.matrixWorldInverse.multiply(v));u.matrixWorld.getInverse(u.matrixWorldInverse);x.matrixWorld.getInverse(x.matrixWorldInverse);u.projectionMatrix.fromArray(f.leftProjectionMatrix);x.projectionMatrix.fromArray(f.rightProjectionMatrix);qf(A,u,x);a=e.getLayers();a.length&&(a=a[0],null!==a.leftBounds&&4===a.leftBounds.length&&u.bounds.fromArray(a.leftBounds),null!==a.rightBounds&&4=== -a.rightBounds.length&&x.bounds.fromArray(a.rightBounds));a:for(a=0;af.matrixWorld.determinant();ca.setMaterial(e,h);var k=l(a,c,e,f),m=!1;if(b!==d.id||O!==k.id||da!==(!0===e.wireframe))b=d.id,O=k.id,da=!0===e.wireframe,m=!0;f.morphTargetInfluences&&(va.update(f,d,e,k),m=!0);h=d.index;var p=d.attributes.position;c=1;!0===e.wireframe&&(h=sa.getWireframeAttribute(d),c=2);a=wa;if(null!==h){var q=pa.get(h);a=ya;a.setIndex(q)}if(m){if(d&& -d.isInstancedBufferGeometry&&!Aa.isWebGL2&&null===na.get("ANGLE_instanced_arrays"))console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{ca.initAttributes();m=d.attributes;k=k.getAttributes();var v=e.defaultAttributeValues;for(D in k){var r=k[D];if(0<=r){var t=m[D];if(void 0!==t){var n=t.normalized,u=t.itemSize,x=pa.get(t);if(void 0!==x){var w=x.buffer,A=x.type;x=x.bytesPerElement;if(t.isInterleavedBufferAttribute){var y= -t.data,J=y.stride;t=t.offset;y&&y.isInstancedInterleavedBuffer?(ca.enableAttributeAndDivisor(r,y.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=y.meshPerAttribute*y.count)):ca.enableAttribute(r);L.bindBuffer(34962,w);L.vertexAttribPointer(r,u,A,n,J*x,t*x)}else t.isInstancedBufferAttribute?(ca.enableAttributeAndDivisor(r,t.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=t.meshPerAttribute*t.count)):ca.enableAttribute(r),L.bindBuffer(34962,w),L.vertexAttribPointer(r, -u,A,n,0,0)}}else if(void 0!==v&&(n=v[D],void 0!==n))switch(n.length){case 2:L.vertexAttrib2fv(r,n);break;case 3:L.vertexAttrib3fv(r,n);break;case 4:L.vertexAttrib4fv(r,n);break;default:L.vertexAttrib1fv(r,n)}}}ca.disableUnusedAttributes()}null!==h&&L.bindBuffer(34963,q.buffer)}q=Infinity;null!==h?q=h.count:void 0!==p&&(q=p.count);h=d.drawRange.start*c;p=null!==g?g.start*c:0;var D=Math.max(h,p);g=Math.max(0,Math.min(q,h+d.drawRange.count*c,p+(null!==g?g.count*c:Infinity))-1-D+1);if(0!==g){if(f.isMesh)if(!0=== -e.wireframe)ca.setLineWidth(e.wireframeLinewidth*(null===N?H:1)),a.setMode(1);else switch(f.drawMode){case 0:a.setMode(4);break;case 1:a.setMode(5);break;case 2:a.setMode(6)}else f.isLine?(e=e.linewidth,void 0===e&&(e=1),ca.setLineWidth(e*(null===N?H:1)),f.isLineSegments?a.setMode(1):f.isLineLoop?a.setMode(2):a.setMode(3)):f.isPoints?a.setMode(0):f.isSprite&&a.setMode(4);d&&d.isInstancedBufferGeometry?0c;c++){var q=p[h[c]];var l=p[h[(c+1)%3]];f[0]=Math.min(q,l);f[1]=Math.max(q,l);q=f[0]+","+f[1];void 0===g[q]&&(g[q]={index1:f[0],index2:f[1]})}}for(q in g)m=g[q],h=a.vertices[m.index1],b.push(h.x,h.y,h.z),h=a.vertices[m.index2],b.push(h.x,h.y,h.z)}else if(a&&a.isBufferGeometry)if(h=new n,null!==a.index){k= -a.attributes.position;p=a.index;var t=a.groups;0===t.length&&(t=[{start:0,count:p.count,materialIndex:0}]);a=0;for(e=t.length;ac;c++)q=p.getX(m+c),l=p.getX(m+(c+1)%3),f[0]=Math.min(q,l),f[1]=Math.max(q,l),q=f[0]+","+f[1],void 0===g[q]&&(g[q]={index1:f[0],index2:f[1]});for(q in g)m=g[q],h.fromBufferAttribute(k,m.index1),b.push(h.x,h.y,h.z),h.fromBufferAttribute(k,m.index2),b.push(h.x,h.y,h.z)}else for(k=a.attributes.position,m=0,d= -k.count/3;mc;c++)g=3*m+c,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z),g=3*m+(c+1)%3,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z);this.addAttribute("position",new E(b,3))}function Nc(a,b,c){N.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new $b(a,b,c));this.mergeVertices()}function $b(a,b,c){z.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new n, -k=new n,m=new n,p=new n,q=new n,l,t;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var r=b+1;for(l=0;l<=c;l++){var u=l/c;for(t=0;t<=b;t++){var x=t/b;a(x,u,k);e.push(k.x,k.y,k.z);0<=x-1E-5?(a(x-1E-5,u,m),p.subVectors(k,m)):(a(x+1E-5,u,m),p.subVectors(m,k));0<=u-1E-5?(a(x,u-1E-5,m),q.subVectors(k,m)):(a(x,u+1E-5,m),q.subVectors(m,k));h.crossVectors(p,q).normalize();f.push(h.x,h.y,h.z);g.push(x,u)}}for(l=0;ld&&1===a.x&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}z.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],k=[];(function(a){for(var c=new n,d=new n,g=new n,h=0;he&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute("position", -new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(k,2));0===d?this.computeVertexNormals():this.normalizeNormals()}function Pc(a,b){N.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new ac(a,b));this.mergeVertices()}function ac(a,b){ka.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Qc(a,b){N.call(this); -this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new yb(a,b));this.mergeVertices()}function yb(a,b){ka.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Rc(a,b){N.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new bc(a,b));this.mergeVertices()}function bc(a,b){var c= -(1+Math.sqrt(5))/2;ka.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Sc(a,b){N.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new cc(a,b));this.mergeVertices()}function cc(a,b){var c= -(1+Math.sqrt(5))/2,d=1/c;ka.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters= -{radius:a,detail:b}}function Tc(a,b,c,d,e,f){N.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new zb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function zb(a,b,c,d,e){function f(e){p=a.getPointAt(e/b,p);var f=g.normals[e];e=g.binormals[e];for(l=0;l<=d;l++){var m=l/d*Math.PI* -2,q=Math.sin(m);m=-Math.cos(m);k.x=m*f.x+q*e.x;k.y=m*f.y+q*e.y;k.z=m*f.z+q*e.z;k.normalize();r.push(k.x,k.y,k.z);h.x=p.x+c*k.x;h.y=p.y+c*k.y;h.z=p.z+c*k.z;t.push(h.x,h.y,h.z)}}z.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new n,k=new n,m=new B,p=new n,q,l,t=[],r=[],u=[],x=[];for(q= -0;q=b;e-=d)f=wf(e,a[e],a[e+1],f);f&&Ab(f,f.next)&&(Wc(f),f=f.next);return f}function Xc(a,b){if(!a)return a; -b||(b=a);do{var c=!1;if(a.steiner||!Ab(a,a.next)&&0!==wa(a.prev,a,a.next))a=a.next;else{Wc(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b}function Yc(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,k=h;do null===k.z&&(k.z=je(k.x,k.y,d,e,f)),k.prevZ=k.prev,k=k.nextZ=k.next;while(k!==h);k.prevZ.nextZ=null;k.prevZ=null;h=k;var m,p,q,l,t=1;do{k=h;var r=h=null;for(p=0;k;){p++;var n=k;for(m=q=0;mq.x?p.x>t.x?p.x:t.x:q.x>t.x?q.x:t.x,y=p.y>q.y?p.y>t.y?p.y:t.y:q.y>t.y?q.y:t.y;m=je(p.x=m;){if(x!==r.prev&&x!==r.next&&Dd(p.x,p.y,q.x,q.y,t.x,t.y,x.x,x.y)&&0<=wa(x.prev,x,x.next)){r=!1;break a}x=x.prevZ}r=!0}}else a:if(r=a,p=r.prev,q=r,t=r.next,0<=wa(p,q,t))r=!1;else{for(m=r.next.next;m!==r.prev;){if(Dd(p.x,p.y,q.x,q.y,t.x,t.y,m.x,m.y)&&0<=wa(m.prev,m,m.next)){r=!1;break a}m=m.next}r=!0}if(r)b.push(k.i/c),b.push(a.i/c),b.push(n.i/c),Wc(a),h=a=n.next;else if(a=n,a===h){if(!g)Yc(Xc(a),b,c,d,e,f,1);else if(1===g){g=b;h=c;k=a;do n=k.prev, -r=k.next.next,!Ab(n,r)&&xf(n,k,k.next,r)&&Zc(n,r)&&Zc(r,n)&&(g.push(n.i/h),g.push(k.i/h),g.push(r.i/h),Wc(k),Wc(k.next),k=a=r),k=k.next;while(k!==a);a=k;Yc(a,b,c,d,e,f,2)}else if(2===g)a:{g=a;do{for(h=g.next.next;h!==g.prev;){if(k=g.i!==h.i){k=g;n=h;if(r=k.next.i!==n.i&&k.prev.i!==n.i){b:{r=k;do{if(r.i!==k.i&&r.next.i!==k.i&&r.i!==n.i&&r.next.i!==n.i&&xf(r,r.next,k,n)){r=!0;break b}r=r.next}while(r!==k);r=!1}r=!r}if(r=r&&Zc(k,n)&&Zc(n,k)){r=k;p=!1;q=(k.x+n.x)/2;n=(k.y+n.y)/2;do r.y>n!==r.next.y>n&& -r.next.y!==r.y&&q<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(p=!p),r=r.next;while(r!==k);r=p}k=r}if(k){a=yf(g,h);g=Xc(g,g.next);a=Xc(a,a.next);Yc(g,b,c,d,e,f);Yc(a,b,c,d,e,f);break a}h=h.next}g=g.next}while(g!==a)}break}}}}function eh(a,b){return a.x-b.x}function fh(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x=c.x&&c.x>=g&&d!==c.x&&Dd(eh.x)&&Zc(c,a)&&(h=c,m=p)}c=c.next}return h}function je(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function gh(a){var b= -a,c=a;do b.xwa(a.prev,a,a.next)?0<=wa(a,b,a.next)&&0<=wa(a,a.prev,b):0>wa(a,b,a.prev)|| -0>wa(a,a.next,b)}function yf(a,b){var c=new ke(a.i,a.x,a.y),d=new ke(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev=c;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function wf(a,b,c,d){a=new ke(a,b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a);return a}function Wc(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function ke(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next= -this.prev=null;this.steiner=!1}function zf(a){var b=a.length;2Number.EPSILON){var k=Math.sqrt(h),m=Math.sqrt(f*f+g*g);h=b.x-e/k;b=b.y+d/k;g=((c.x-g/m-h)*g-(c.y+f/m-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f*f+d*d;if(2>=e)return new B(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON?f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new B(f/e,d/e)}function h(a,b){for(H=a.length;0<= ---H;){var c=H;var f=H-1;0>f&&(f=a.length-1);var g,h=w+2*F;for(g=0;gp;p++){var l=m[f[p]];var n=m[f[(p+1)%3]];d[0]=Math.min(l,n);d[1]=Math.max(l,n);l=d[0]+","+d[1];void 0===e[l]?e[l]={index1:d[0],index2:d[1], -face1:h,face2:void 0}:e[l].face2=h}for(l in e)if(d=e[l],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2],c.push(f.x,f.y,f.z);this.addAttribute("position",new E(c,3))}function Fb(a,b,c,d,e,f,g,h){N.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new db(a,b,c,d,e,f,g,h));this.mergeVertices()}function db(a, -b,c,d,e,f,g,h){function k(c){var e,f=new B,k=new n,q=0,u=!0===c?a:b,w=!0===c?1:-1;var z=r;for(e=1;e<=d;e++)l.push(0,x*w,0),v.push(0,w,0),t.push(.5,.5),r++;var C=r;for(e=0;e<=d;e++){var E=e/d*h+g,G=Math.cos(E);E=Math.sin(E);k.x=u*E;k.y=x*w;k.z=u*G;l.push(k.x,k.y,k.z);v.push(0,w,0);f.x=.5*G+.5;f.y=.5*E*w+.5;t.push(f.x,f.y);r++}for(e=0;ethis.duration&&this.resetDuration()}function ih(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return lc;case "vector":case "vector2":case "vector3":case "vector4":return mc;case "color":return Hd;case "quaternion":return hd;case "bool":case "boolean":return Gd;case "string":return Jd}throw Error("THREE.KeyframeTrack: Unsupported typeName: "+a);}function jh(a){if(void 0===a.type)throw Error("THREE.KeyframeTrack: track type undefined, can not parse"); -var b=ih(a.type);if(void 0===a.times){var c=[],d=[];pa.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)}function le(a,b,c){var d=this,e=!1,f=0,g=0,h=void 0;this.onStart=void 0;this.onLoad=a;this.onProgress=b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()}; -this.itemError=function(a){if(void 0!==d.onError)d.onError(a)};this.resolveURL=function(a){return h?h(a):a};this.setURLModifier=function(a){h=a;return this}}function Ma(a){this.manager=void 0!==a?a:za}function Df(a){this.manager=void 0!==a?a:za}function Ef(a){this.manager=void 0!==a?a:za;this._parser=null}function me(a){this.manager=void 0!==a?a:za;this._parser=null}function id(a){this.manager=void 0!==a?a:za}function ne(a){this.manager=void 0!==a?a:za}function Kd(a){this.manager=void 0!==a?a:za} -function I(){this.type="Curve";this.arcLengthDivisions=200}function Ga(a,b,c,d,e,f,g,h){I.call(this);this.type="EllipseCurve";this.aX=a||0;this.aY=b||0;this.xRadius=c||1;this.yRadius=d||1;this.aStartAngle=e||0;this.aEndAngle=f||2*Math.PI;this.aClockwise=g||!1;this.aRotation=h||0}function nc(a,b,c,d,e,f){Ga.call(this,a,b,c,c,d,e,f);this.type="ArcCurve"}function oe(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,k){e=k*(g-e);h=k*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e, -f,g,h,k,m,p){e=((f-e)/k-(g-e)/(k+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+p)+(h-g)/p)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function qa(a,b,c,d){I.call(this);this.type="CatmullRomCurve3";this.points=a||[];this.closed=b||!1;this.curveType=c||"centripetal";this.tension=d||.5}function Ff(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function jd(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function kd(a, -b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function Na(a,b,c,d){I.call(this);this.type="CubicBezierCurve";this.v0=a||new B;this.v1=b||new B;this.v2=c||new B;this.v3=d||new B}function $a(a,b,c,d){I.call(this);this.type="CubicBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n;this.v3=d||new n}function xa(a,b){I.call(this);this.type="LineCurve";this.v1=a||new B;this.v2=b||new B}function Oa(a,b){I.call(this);this.type="LineCurve3";this.v1=a||new n;this.v2=b|| -new n}function Pa(a,b,c){I.call(this);this.type="QuadraticBezierCurve";this.v0=a||new B;this.v1=b||new B;this.v2=c||new B}function ab(a,b,c){I.call(this);this.type="QuadraticBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n}function Qa(a){I.call(this);this.type="SplineCurve";this.points=a||[]}function eb(){I.call(this);this.type="CurvePath";this.curves=[];this.autoClose=!1}function Ra(a){eb.call(this);this.type="Path";this.currentPoint=new B;a&&this.setFromPoints(a)}function nb(a){Ra.call(this, -a);this.uuid=K.generateUUID();this.type="Shape";this.holes=[]}function ea(a,b){C.call(this);this.type="Light";this.color=new M(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function Ld(a,b,c){ea.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(C.DefaultUp);this.updateMatrix();this.groundColor=new M(b)}function Nb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new B(512,512);this.map=null;this.matrix=new P}function Md(){Nb.call(this,new ja(50, -1,.5,500))}function Nd(a,b,c,d,e,f){ea.call(this,a,b);this.type="SpotLight";this.position.copy(C.DefaultUp);this.updateMatrix();this.target=new C;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==f?f:1;this.shadow=new Md}function Od(a,b,c,d){ea.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power", -{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new Nb(new ja(90,1,.5,500))}function ld(a,b,c,d,e,f){Xa.call(this);this.type="OrthographicCamera";this.zoom=1;this.view=null;this.left=void 0!==a?a:-1;this.right=void 0!==b?b:1;this.top=void 0!==c?c:1;this.bottom=void 0!==d?d:-1;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function Pd(){Nb.call(this, -new ld(-5,5,5,-5,.5,500))}function Qd(a,b){ea.call(this,a,b);this.type="DirectionalLight";this.position.copy(C.DefaultUp);this.updateMatrix();this.target=new C;this.shadow=new Pd}function Rd(a,b){ea.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function Sd(a,b,c,d){ea.call(this,a,b);this.type="RectAreaLight";this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Td(a){this.manager=void 0!==a?a:za;this.textures={}}function pe(a){this.manager=void 0!==a?a:za}function qe(a){this.manager= -void 0!==a?a:za;this.resourcePath=""}function re(a){"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported.");"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported.");this.manager=void 0!==a?a:za;this.options=void 0}function se(){this.type="ShapePath";this.color=new M;this.subPaths=[];this.currentPath=null}function te(a){this.type="Font";this.data=a}function Gf(a){this.manager=void 0!==a?a:za}function md(){} -function ue(a){this.manager=void 0!==a?a:za}function Hf(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new ja;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new ja;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function nd(a,b,c,d){C.call(this);this.type="CubeCamera";var e=new ja(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new n(1,0,0));this.add(e);var f=new ja(90,1,a,b);f.up.set(0,-1,0);f.lookAt(new n(-1,0,0));this.add(f);var g=new ja(90, -1,a,b);g.up.set(0,0,1);g.lookAt(new n(0,1,0));this.add(g);var h=new ja(90,1,a,b);h.up.set(0,0,-1);h.lookAt(new n(0,-1,0));this.add(h);var k=new ja(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new n(0,0,1));this.add(k);var m=new ja(90,1,a,b);m.up.set(0,-1,0);m.lookAt(new n(0,0,-1));this.add(m);d=d||{format:1022,magFilter:1006,minFilter:1006};this.renderTarget=new pb(c,c,d);this.renderTarget.texture.name="CubeCamera";this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=a.getRenderTarget(), -d=this.renderTarget,p=d.texture.generateMipmaps;d.texture.generateMipmaps=!1;a.setRenderTarget(d,0);a.render(b,e);a.setRenderTarget(d,1);a.render(b,f);a.setRenderTarget(d,2);a.render(b,g);a.setRenderTarget(d,3);a.render(b,h);a.setRenderTarget(d,4);a.render(b,k);d.texture.generateMipmaps=p;a.setRenderTarget(d,5);a.render(b,m);a.setRenderTarget(c)};this.clear=function(a,b,c,d){for(var e=a.getRenderTarget(),f=this.renderTarget,g=0;6>g;g++)a.setRenderTarget(f,g),a.clear(b,c,d);a.setRenderTarget(e)}}function ve(a){this.autoStart= -void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function we(){C.call(this);this.type="AudioListener";this.context=xe.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0}function oc(a){C.call(this);this.type="Audio";this.listener=a;this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.detune=0;this.loop=!1;this.offset= -this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ye(a){oc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function ze(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function Ae(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b= -this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function If(a,b,c){c=c||ma.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function ma(a,b,c){this.path=b;this.parsedPath=c||ma.parseTrackName(b);this.node=ma.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Jf(){this.uuid=K.generateUUID();this._objects=Array.prototype.slice.call(arguments); -this.nCachedObjects_=0;var a={};this._indicesByUUID=a;for(var b=0,c=arguments.length;b!==c;++b)a[arguments[b].uuid]=b;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var d=this;this.stats={objects:{get total(){return d._objects.length},get inUse(){return this.total-d.nCachedObjects_}},get bindingsPerObject(){return d._bindings.length}}}function Kf(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400, -endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd= -this.zeroSlopeAtStart=!0}function Be(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Ud(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function Ce(){z.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function De(a,b,c){xb.call(this,a,b);this.meshPerAttribute=c||1}function Ee(a,b,c,d){"number"===typeof c&&(d=c,c=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")); -S.call(this,a,b,c);this.meshPerAttribute=d||1}function Lf(a,b,c,d){this.ray=new wb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function Mf(a,b){return a.distance-b.distance}function Fe(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e= -a.length;dc;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new E(b,3));b=new R({fog:!1});this.cone=new V(a,b);this.add(this.cone);this.update()}function Pf(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c -a?-1:0b;b++)a[b]=(16>b?"0":"")+b.toString(16);return function(){var b=4294967295*Math.random()|0,d=4294967295*Math.random()|0,e=4294967295*Math.random()|0,f=4294967295*Math.random()|0;return(a[b&255]+a[b>>8&255]+a[b>>16&255]+a[b>>24&255]+"-"+a[d&255]+a[d>>8&255]+"-"+a[d>>16&15|64]+a[d>>24&255]+ -"-"+a[e&63|128]+a[e>>8&255]+"-"+a[e>>16&255]+a[e>>24&255]+a[f&255]+a[f>>8&255]+a[f>>16&255]+a[f>>24&255]).toUpperCase()}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a* -a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*K.DEG2RAD},radToDeg:function(a){return a*K.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},ceilPowerOfTwo:function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))},floorPowerOfTwo:function(a){return Math.pow(2,Math.floor(Math.log(a)/Math.LN2))}};Object.defineProperties(B.prototype, -{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(B.prototype,{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x; -case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this}, -addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this}, -divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},applyMatrix3:function(a){var b=this.x,c=this.y;a=a.elements;this.x=a[0]*b+a[3]*c+a[6];this.y=a[1]*b+a[4]*c+a[7];return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y, -this.y));return this},clampScalar:function(){var a=new B,b=new B;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x= -0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()|| -1)},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b, -a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);return this},rotateAround:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d= -this.x-a.x,e=this.y-a.y;this.x=d*c-e*b+a.x;this.y=d*b+e*c+a.y;return this}});Object.assign(aa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var p=e[f+1],l=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==p||m!==l){f=1-g;var n=h*d+k*p+m*l+c*e,t=0<=n?1:-1,r=1-n*n;r>Number.EPSILON&&(r=Math.sqrt(r),n=Math.atan2(r,n*t),f=Math.sin(f*n)/r,g=Math.sin(g*n)/r);t*=g;h=h*f+d*t;k=k*f+p*t;m=m*f+l*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h* -h+k*k+m*m+c*c),h*=g,k*=g,m*=g,c*=g)}a[b]=h;a[b+1]=k;a[b+2]=m;a[b+3]=c}});Object.defineProperties(aa.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(aa.prototype,{isQuaternion:!0, -set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y,e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/ -2),k=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);"XYZ"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"YXZ"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"ZXY"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"ZYX"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"YZX"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f- -c*d*e):"XZY"===a&&(this._x=c*k*f-h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f+c*d*e);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){b/=2;var c=Math.sin(b);this._x=a.x*c;this._y=a.y*c;this._z=a.z*c;this._w=Math.cos(b);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],k=b[6];b=b[10];var m=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(k-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+k)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+k)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(a,b){var c=a.dot(b)+1;1E-6>c?(c=0,Math.abs(a.x)>Math.abs(a.z)?(this._x=-a.y,this._y=a.x,this._z=0):(this._x=0,this._y=-a.z,this._z=a.y)):(this._x= -a.y*b.z-a.z*b.y,this._y=a.z*b.x-a.x*b.z,this._z=a.x*b.y-a.y*b.x);this._w=c;return this.normalize()},angleTo:function(a){return 2*Math.acos(Math.abs(K.clamp(this.dot(a),-1,1)))},rotateTowards:function(a,b){var c=this.angleTo(a);if(0===c)return this;this.slerp(a,Math.min(1,b/c));return this},inverse:function(){return this.conjugate()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w}, -lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."), -this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z;a=a._w;var f=b._x,g=b._y,h=b._z;b=b._w;this._x=c*b+a*f+d*h-e*g;this._y=d*b+a*g+e*f-c*h;this._z=e*b+a*h+c*g-d*f;this._w=a*b-c*f-d*g-e*h;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z; -0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;a=1-g*g;if(a<=Number.EPSILON)return g=1-b,this._w=g*f+b*this._w,this._x=g*c+b*this._x,this._y=g*d+b*this._y,this._z=g*e+b*this._z,this.normalize();a=Math.sqrt(a);var h=Math.atan2(a,g);g=Math.sin((1-b)*h)/a;b=Math.sin(b*h)/a;this._w=f*g+this._w*b;this._x=c*g+this._x*b;this._y=d*g+this._y*b;this._z=e*g+this._z*b;this.onChangeCallback();return this},equals:function(a){return a._x=== -this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(n.prototype,{isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this}, -setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x, -this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+= -a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."), -this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a=new aa;return function(b){b&&b.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a=new aa;return function(b, -c){return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x, -c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,k=a*c+g*b-e*d,m=a*d+e*c-f*b;b=-e*b-f*c-g*d;this.x=h*a+b*-e+k*-g-m*-f;this.y=k*a+b*-f+m*-e-h*-g;this.z=m*a+b*-g+h*-f-k*-e;return this},project:function(a){return this.applyMatrix4(a.matrixWorldInverse).applyMatrix4(a.projectionMatrix)},unproject:function(a){return this.applyMatrix4(a.projectionMatrixInverse).applyMatrix4(a.matrixWorld)},transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d; -this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y= -Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a=new n,b=new n;return function(c,d){a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y); -this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x* -this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)}, -cross:function(a,b){return void 0!==b?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b)):this.crossVectors(this,a)},crossVectors:function(a,b){var c=a.x,d=a.y;a=a.z;var e=b.x,f=b.y;b=b.z;this.x=d*b-a*f;this.y=a*e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(){var a=new n;return function(b){a.copy(this).projectOnVector(b); -return this.sub(a)}}(),reflect:function(){var a=new n;return function(b){return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(K.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z- -a.z)},setFromSpherical:function(a){return this.setFromSphericalCoords(a.radius,a.phi,a.theta)},setFromSphericalCoords:function(a,b,c){var d=Math.sin(b)*a;this.x=d*Math.sin(c);this.y=Math.cos(b)*a;this.z=d*Math.cos(c);return this},setFromCylindrical:function(a){return this.setFromCylindricalCoords(a.radius,a.theta,a.y)},setFromCylindricalCoords:function(a,b,c){this.x=a*Math.sin(b);this.y=c;this.z=a*Math.cos(b);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z= -a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0=== -b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});Object.assign(ba.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,k){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=k;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)}, -copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToBufferAttribute:function(){var a=new n;return function(b){for(var c=0,d=b.count;cc;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c= -this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}});var wc,ob={getDataURL:function(a){if("undefined"==typeof HTMLCanvasElement)return a.src;if(!(a instanceof HTMLCanvasElement)){void 0===wc&&(wc=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"));wc.width=a.width;wc.height=a.height;var b=wc.getContext("2d");a instanceof ImageData?b.putImageData(a,0,0):b.drawImage(a,0,0,a.width,a.height);a=wc}return 2048< -a.width||2048a.x||1a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y);return a}});Object.defineProperty(W.prototype, -"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(Y.prototype,{isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w= -b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."), -this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a, -b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]* -e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){a=a.elements;var b=a[0];var c=a[4];var d=a[8],e=a[1],f=a[5],g=a[9];var h=a[2];var k=a[6];var m=a[10];if(.01>Math.abs(c-e)&&.01>Math.abs(d-h)&&.01>Math.abs(g-k)){if(.1>Math.abs(c+ -e)&&.1>Math.abs(d+h)&&.1>Math.abs(g+k)&&.1>Math.abs(b+f+m-3))return this.set(1,0,0,0),this;a=Math.PI;b=(b+1)/2;f=(f+1)/2;m=(m+1)/2;c=(c+e)/4;d=(d+h)/4;g=(g+k)/4;b>f&&b>m?.01>b?(k=0,c=h=.707106781):(k=Math.sqrt(b),h=c/k,c=d/k):f>m?.01>f?(k=.707106781,h=0,c=.707106781):(h=Math.sqrt(f),k=c/h,c=g/h):.01>m?(h=k=.707106781,c=0):(c=Math.sqrt(m),k=d/c,h=g/c);this.set(k,h,c,a);return this}a=Math.sqrt((k-g)*(k-g)+(d-h)*(d-h)+(e-c)*(e-c));.001>Math.abs(a)&&(a=1);this.x=(k-g)/a;this.y=(d-h)/a;this.z=(e-c)/a; -this.w=Math.acos((b+f+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w, -this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new Y,b=new Y);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z); -this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}, -dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+= -(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a, -b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Ta.prototype=Object.assign(Object.create(ta.prototype),{constructor:Ta,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width= -a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});$d.prototype=Object.assign(Object.create(Ta.prototype),{constructor:$d,isWebGLMultisampleRenderTarget:!0,copy:function(a){Ta.prototype.copy.call(this,a);this.samples=a.samples;return this}});pb.prototype=Object.create(Ta.prototype);pb.prototype.constructor= -pb;pb.prototype.isWebGLRenderTargetCube=!0;qb.prototype=Object.create(W.prototype);qb.prototype.constructor=qb;qb.prototype.isDataTexture=!0;Object.assign(Ja.prototype,{isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.length;he&&(e=m);p>f&&(f=p);l>g&&(g=l)}this.min.set(b,c,d);this.max.set(e, -f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.count;he&&(e=m);p>f&&(f=p);l>g&&(g=l)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box3: .getParameter() target is now required"),b=new n);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))}, -intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},intersectsSphere:function(){var a=new n;return function(b){this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){if(0=-a.constant},intersectsTriangle:function(){function a(a){var e;var f=0;for(e=a.length-3;f<=e;f+=3){h.fromArray(a,f);var g=m.x*Math.abs(h.x)+m.y*Math.abs(h.y)+m.z*Math.abs(h.z),k=b.dot(h),p=c.dot(h),l=d.dot(h);if(Math.max(-Math.max(k,p,l),Math.min(k,p,l))>g)return!1}return!0}var b=new n, -c=new n,d=new n,e=new n,f=new n,g=new n,h=new n,k=new n,m=new n,p=new n;return function(h){if(this.isEmpty())return!1;this.getCenter(k);m.subVectors(this.max,k);b.subVectors(h.a,k);c.subVectors(h.b,k);d.subVectors(h.c,k);e.subVectors(c,b);f.subVectors(d,c);g.subVectors(b,d);h=[0,-e.z,e.y,0,-f.z,f.y,0,-g.z,g.y,e.z,0,-e.x,f.z,0,-f.x,g.z,0,-g.x,-e.y,e.x,0,-f.y,f.x,0,-g.y,g.x,0];if(!a(h))return!1;h=[1,0,0,0,1,0,0,0,1];if(!a(h))return!1;p.crossVectors(e,f);h=[p.x,p.y,p.z];return a(h)}}(),clampPoint:function(a, -b){void 0===b&&(console.warn("THREE.Box3: .clampPoint() target is now required"),b=new n);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new n;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new n;return function(b){void 0===b&&console.error("THREE.Box3: .getBoundingSphere() target is now required");this.getCenter(b.center);b.radius=.5*this.getSize(a).length();return b}}(),intersect:function(a){this.min.max(a.min); -this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new n,new n,new n,new n,new n,new n,new n,new n];return function(b){if(this.isEmpty())return this;a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b); -a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(Ua.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this}, -setFromPoints:function(){var a=new Ja;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).getCenter(d);for(var e=c=0,f=b.length;e=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius}, -distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(a.distanceToPoint(this.center))<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a);void 0===b&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),b=new n);b.copy(a);c>this.radius* -this.radius&&(b.sub(this.center).normalize(),b.multiplyScalar(this.radius).add(this.center));return b},getBoundingBox:function(a){void 0===a&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),a=new Ja);a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&& -a.radius===this.radius}});Object.assign(Va.prototype,{set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new n,b=new n;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(), -clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){void 0=== -b&&(console.warn("THREE.Plane: .projectPoint() target is now required"),b=new n);return b.copy(this.normal).multiplyScalar(-this.distanceToPoint(a)).add(a)},intersectLine:function(){var a=new n;return function(b,c){void 0===c&&(console.warn("THREE.Plane: .intersectLine() target is now required"),c=new n);var d=b.delta(a),e=this.normal.dot(d);if(0===e){if(0===this.distanceToPoint(b.start))return c.copy(b.start)}else if(e=-(b.start.dot(this.normal)+this.constant)/e,!(0>e||1b&&0a&&0c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],k=c[6],m=c[7],p=c[8],l=c[9],n=c[10],t=c[11],r=c[12],u=c[13],x=c[14];c=c[15];b[0].setComponents(f-a,m-g,t-p,c-r).normalize();b[1].setComponents(f+a,m+g,t+p,c+r).normalize();b[2].setComponents(f+d,m+h,t+l,c+u).normalize();b[3].setComponents(f-d,m-h,t-l,c-u).normalize();b[4].setComponents(f-e,m-k,t-n,c-x).normalize();b[5].setComponents(f+e, -m+k,t+n,c+x).normalize();return this},intersectsObject:function(){var a=new Ua;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Ua;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d= -0;6>d;d++)if(b[d].distanceToPoint(c)d;d++){var e=c[d];a.x=0e.distanceToPoint(a))return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});Object.assign(P.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,l,q,n,t,r,u){var p= -this.elements;p[0]=a;p[4]=b;p[8]=c;p[12]=d;p[1]=e;p[5]=f;p[9]=g;p[13]=h;p[2]=k;p[6]=m;p[10]=l;p[14]=q;p[3]=n;p[7]=t;p[11]=r;p[15]=u;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new P).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this}, -copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a=new n;return function(b){var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length(); -b=1/a.setFromMatrixColumn(b,2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[3]=0;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[7]=0;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return this}}(),makeRotationFromEuler:function(a){a&&a.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e); -e=Math.sin(e);if("XYZ"===a.order){a=f*h;var k=f*e,m=c*h,p=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=k+m*d;b[5]=a-p*d;b[9]=-c*g;b[2]=p-a*d;b[6]=m+k*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,k=g*e,m=d*h,p=d*e,b[0]=a+p*c,b[4]=m*c-k,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=k*c-m,b[6]=p+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,k=g*e,m=d*h,p=d*e,b[0]=a-p*c,b[4]=-f*e,b[8]=m+k*c,b[1]=k+m*c,b[5]=f*h,b[9]=p-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,k=f*e,m=c*h,p=c*e,b[0]=g*h,b[4]=m*d-k,b[8]=a*d+p,b[1]=g*e,b[5]= -p*d+a,b[9]=k*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,k=f*d,m=c*g,p=c*d,b[0]=g*h,b[4]=p-a*e,b[8]=m*e+k,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=k*e+m,b[10]=a-p*e):"XZY"===a.order&&(a=f*g,k=f*d,m=c*g,p=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+p,b[5]=f*h,b[9]=k*e-m,b[2]=m*e-k,b[6]=c*h,b[10]=p*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(){var a=new n(0,0,0),b=new n(1,1,1);return function(c){return this.compose(a,c,b)}}(),lookAt:function(){var a= -new n,b=new n,c=new n;return function(d,e,f){var g=this.elements;c.subVectors(d,e);0===c.lengthSq()&&(c.z=1);c.normalize();a.crossVectors(f,c);0===a.lengthSq()&&(1===Math.abs(f.z)?c.x+=1E-4:c.z+=1E-4,c.normalize(),a.crossVectors(f,c));a.normalize();b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."), -this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],k=c[5],m=c[9],p=c[13],l=c[2],n=c[6],t=c[10],r=c[14],u=c[3],x=c[7],A=c[11];c=c[15];var w=d[0],y=d[4],D=d[8],J=d[12],B=d[1],F=d[5],C=d[9],z=d[13],E=d[2],G=d[6],I=d[10],K=d[14],M=d[3],X=d[7],Q=d[11];d=d[15];b[0]=a*w+e*B+f*E+g*M;b[4]=a*y+e*F+f*G+g*X;b[8]=a*D+e*C+f*I+ -g*Q;b[12]=a*J+e*z+f*K+g*d;b[1]=h*w+k*B+m*E+p*M;b[5]=h*y+k*F+m*G+p*X;b[9]=h*D+k*C+m*I+p*Q;b[13]=h*J+k*z+m*K+p*d;b[2]=l*w+n*B+t*E+r*M;b[6]=l*y+n*F+t*G+r*X;b[10]=l*D+n*C+t*I+r*Q;b[14]=l*J+n*z+t*K+r*d;b[3]=u*w+x*B+A*E+c*M;b[7]=u*y+x*F+A*G+c*X;b[11]=u*D+x*C+A*I+c*Q;b[15]=u*J+x*z+A*K+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a= -new n;return function(b){for(var c=0,d=b.count;cthis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.copy(this);c=1/g;f=1/h;var m=1/k;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=m;b.elements[9]*=m;b.elements[10]*=m;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=k;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs."); -var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),k=1/(c-d),m=1/(f-e);g[0]=2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*k;g[9]=0;g[13]=-((c+d)*k);g[2]=0;g[6]=0;g[10]=-2*m;g[14]=-((f+e)*m);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements; -a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});var T={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif", -alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif", -aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick( specularColor, dotNV );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}", -bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif", -clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif", -clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif", -color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}", -cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif", -defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = normalMatrix * objectTangent;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif", -emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}", -envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif", -envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif", -envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif", -envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif", -fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif", -gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif", -lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif", -lights_pars_begin:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif", -lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)", -lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif", -lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#endif\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\tfloat clearCoatInv = 1.0 - clearCoatDHR;\n\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec3 singleScattering = vec3( 0.0 );\n\t\tvec3 multiScattering = vec3( 0.0 );\n\t\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\t\tvec3 diffuse = material.diffuseColor;\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * singleScattering;\n\t\treflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;\n\t\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n\t#else\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#endif\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}", -lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif", -lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif", -lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, irradiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n#endif", -logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif", -map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif", -metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif", -morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif", -normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t#endif\n#endif", -normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\t#ifdef USE_TANGENT\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy = normalScale * mapN.xy;\n\t\t\tnormal = normalize( vTBN * mapN );\n\t\t#else\n\t\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t\t#endif\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif", -normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif", -packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}", -premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#if defined( DITHERING )\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif", -roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif", -shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif", -shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif", -shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}", -skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif", -skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif", -specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}", -uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif", -uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif", -uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}", -cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}", -depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}", -depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}", -distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}", -equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}", -equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", -linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}", -meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}", -meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}", -normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}", -normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}", -points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", -points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}", -shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n}",shadow_vert:"#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", -sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}", -sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"}, -kh={clone:Pb,merge:ia},lh={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643, -darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055, -grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184, -lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130, -palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780, -teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object.assign(M.prototype,{isColor:!0,r:1,g:1,b:1,set:function(a){a&&a.isColor?this.copy(a):"number"===typeof a?this.setHex(a):"string"===typeof a&&this.setStyle(a);return this},setScalar:function(a){this.b=this.g=this.r=a;return this},setHex:function(a){a=Math.floor(a);this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255; -return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(){function a(a,c,d){0>d&&(d+=1);1d?c:d<2/3?a+6*(c-a)*(2/3-d):a}return function(b,c,d){b=K.euclideanModulo(b,1);c=K.clamp(c,0,1);d=K.clamp(d,0,1);0===c?this.r=this.g=this.b=d:(c=.5>=d?d*(1+c):d+c-d*c,d=2*d-c,this.r=a(d,c,b+1/3),this.g=a(d,c,b),this.b=a(d,c,b-1/3));return this}}(),setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn("THREE.Color: Alpha component of "+ -a+" will be ignored.")}var c;if(c=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(a)){var d=c[2];switch(c[1]){case "rgb":case "rgba":if(c=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2], -10))/100,this.b=Math.min(100,parseInt(c[3],10))/100,b(c[5]),this;break;case "hsl":case "hsla":if(c=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d)){d=parseFloat(c[1])/360;var e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2), -16)/255,this;if(6===d)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}return function(b){this.r=a(b.r);this.g=a(b.g);this.b= -a(b.b);return this}}(),copyLinearToSRGB:function(){function a(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),convertSRGBToLinear:function(){this.copySRGBToLinear(this);return this},convertLinearToSRGB:function(){this.copyLinearToSRGB(this);return this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){void 0=== -a&&(console.warn("THREE.Color: .getHSL() target is now required"),a={h:0,s:0,l:0});var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var k=e-f;f=.5>=h?k/(e+f):k/(2-e-f);switch(e){case b:g=(c-d)/k+(cMath.abs(g)?(this._x=Math.atan2(-m,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(q,k),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(m,-1,1)),.99999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,k)):(this._y=Math.atan2(-l,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(q,-1,1)),.99999>Math.abs(q)?(this._y=Math.atan2(-l,e),this._z=Math.atan2(-f,k)):(this._y=0,this._z=Math.atan2(h,a))):"ZYX"===b?(this._y=Math.asin(-d(l, --1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(q,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,k))):"YZX"===b?(this._z=Math.asin(d(h,-1,1)),.99999>Math.abs(h)?(this._x=Math.atan2(-m,k),this._y=Math.atan2(-l,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(q,k),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-m,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order= -b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a=new P;return function(b,c,d){a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new aa;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x= -a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new n(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(be.prototype,{set:function(a){this.mask=1<g;g++)if(d[g]===d[(g+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(d=a[f],this.faces.splice(d,1),c=0,e= -this.faceVertexUvs.length;cthis.opacity&&(d.opacity=this.opacity);!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc;d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;0!==this.rotation&&(d.rotation=this.rotation);!0===this.polygonOffset&&(d.polygonOffset=!0);0!==this.polygonOffsetFactor&&(d.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(d.polygonOffsetUnits=this.polygonOffsetUnits); -1!==this.linewidth&&(d.linewidth=this.linewidth);void 0!==this.dashSize&&(d.dashSize=this.dashSize);void 0!==this.gapSize&&(d.gapSize=this.gapSize);void 0!==this.scale&&(d.scale=this.scale);!0===this.dithering&&(d.dithering=!0);0a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new n;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a= -new n,b=new n,c=new n;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var h=.5*d.distanceTo(e),k=-this.direction.dot(b),m=c.dot(this.direction),l=-c.dot(b),n=c.lengthSq(),v=Math.abs(1-k*k);if(0=-t?e<=t?(h=1/v,d*=h,e*=h,k=d*(d+k*e+2*m)+e*(k*d+e+2*l)+n):(e=h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):(e=-h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):e<=-t?(d=Math.max(0,-(-k*h+m)),e=0b)return null; -b=Math.sqrt(b-e);e=d-b;d+=b;return 0>e&&0>d?null:0>e?this.at(d,c):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceSqToPoint(a.center)<=a.radius*a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin); -return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y-f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(da||h>c)return null; -if(h>g||g!==g)g=h;if(ac?null:this.at(0<=g?g:c,b)},intersectsBox:function(){var a=new n;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new n,b=new n,c=new n,d=new n;return function(e,f,g,h,k){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0f)h=-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null; -g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,k)}}(),applyMatrix4:function(a){this.origin.applyMatrix4(a);this.direction.transformDirection(a);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}});Object.assign(ra,{getNormal:function(){var a=new n;return function(b,c,d,e){void 0===e&&(console.warn("THREE.Triangle: .getNormal() target is now required"),e=new n);e.subVectors(d,c);a.subVectors(b, -c);e.cross(a);b=e.lengthSq();return 0=a.x+a.y}}(),getUV:function(){var a=new n;return function(b,c,d,e,f,g,h,k){this.getBarycoord(b,c,d,e,a);k.set(0,0);k.addScaledVector(f,a.x);k.addScaledVector(g,a.y);k.addScaledVector(h,a.z);return k}}()});Object.assign(ra.prototype,{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this}, -clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){var a=new n,b=new n;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),getMidpoint:function(a){void 0===a&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),a=new n);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return ra.getNormal(this.a, -this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn("THREE.Triangle: .getPlane() target is now required"),a=new n);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return ra.getBarycoord(a,this.a,this.b,this.c,b)},containsPoint:function(a){return ra.containsPoint(a,this.a,this.b,this.c)},getUV:function(a,b,c,d,e){return ra.getUV(a,this.a,this.b,this.c,b,c,d,e)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(){var a= -new n,b=new n,c=new n,d=new n,e=new n,f=new n;return function(g,h){void 0===h&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),h=new n);var k=this.a,m=this.b,l=this.c;a.subVectors(m,k);b.subVectors(l,k);d.subVectors(g,k);var q=a.dot(d),v=b.dot(d);if(0>=q&&0>=v)return h.copy(k);e.subVectors(g,m);var t=a.dot(e),r=b.dot(e);if(0<=t&&r<=t)return h.copy(m);var u=q*r-t*v;if(0>=u&&0<=q&&0>=t)return m=q/(q-t),h.copy(k).addScaledVector(a,m);f.subVectors(g,l);g=a.dot(f);var x= -b.dot(f);if(0<=x&&g<=x)return h.copy(l);q=g*v-q*x;if(0>=q&&0<=v&&0>=x)return u=v/(v-x),h.copy(k).addScaledVector(b,u);v=t*x-g*r;if(0>=v&&0<=r-t&&0<=g-x)return c.subVectors(l,m),u=(r-t)/(r-t+(g-x)),h.copy(m).addScaledVector(c,u);l=1/(v+q+u);m=q*l;u*=l;return h.copy(k).addScaledVector(a,m).addScaledVector(b,u)}}(),equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});Da.prototype=Object.create(O.prototype);Da.prototype.constructor=Da;Da.prototype.isMeshBasicMaterial= -!0;Da.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap; -this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;return this};va.prototype=Object.assign(Object.create(C.prototype),{constructor:va,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){C.prototype.copy.call(this,a);this.drawMode=a.drawMode;void 0!==a.morphTargetInfluences&&(this.morphTargetInfluences=a.morphTargetInfluences.slice());void 0!==a.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},a.morphTargetDictionary)); -return this},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=Object.keys(a);if(0c.far?null:{distance:b,point:w.clone(),object:a}}function b(b,c,d,e,p,n,w,C,z,E){f.fromBufferAttribute(p,C);g.fromBufferAttribute(p,z);h.fromBufferAttribute(p,E);p=b.morphTargetInfluences;if(c.morphTargets&&n&&p){q.set(0,0,0);v.set(0,0,0);t.set(0,0,0);for(var y= -0,J=n.length;ye.far||f.push({distance:r,point:b.clone(),uv:ra.getUV(b,h,k,m,l,q,v,new B),face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}, -copy:function(a){C.prototype.copy.call(this,a);void 0!==a.center&&this.center.copy(a.center);return this}});Jc.prototype=Object.assign(Object.create(C.prototype),{constructor:Jc,copy:function(a){C.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;ef||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far|| -e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}else for(g=0,r=t.length/3-1;gf||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far||e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(k=g.vertices,m=k.length,g=0;gf||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far||e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});V.prototype=Object.assign(Object.create(oa.prototype),{constructor:V,isLineSegments:!0,computeLineDistances:function(){var a=new n,b=new n;return function(){var c=this.geometry;if(c.isBufferGeometry)if(null=== -c.index){for(var d=c.attributes.position,e=[],f=0,g=d.count;fd.far||e.push({distance:a,distanceToRay:Math.sqrt(f),point:q.clone(),index:c,face:null,object:g}))}var g=this,h=this.geometry,k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k); -b.copy(d.ray).applyMatrix4(a);m/=(this.scale.x+this.scale.y+this.scale.z)/3;var l=m*m;m=new n;var q=new n;if(h.isBufferGeometry){var v=h.index;h=h.attributes.position.array;if(null!==v){var t=v.array;v=0;for(var r=t.length;v=a.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}});Yb.prototype=Object.create(W.prototype);Yb.prototype.constructor=Yb;Yb.prototype.isCompressedTexture=!0;Lc.prototype=Object.create(W.prototype);Lc.prototype.constructor=Lc;Lc.prototype.isCanvasTexture=!0;Mc.prototype=Object.create(W.prototype);Mc.prototype.constructor=Mc;Mc.prototype.isDepthTexture=!0;Zb.prototype=Object.create(z.prototype);Zb.prototype.constructor=Zb;Nc.prototype= -Object.create(N.prototype);Nc.prototype.constructor=Nc;$b.prototype=Object.create(z.prototype);$b.prototype.constructor=$b;Oc.prototype=Object.create(N.prototype);Oc.prototype.constructor=Oc;ka.prototype=Object.create(z.prototype);ka.prototype.constructor=ka;Pc.prototype=Object.create(N.prototype);Pc.prototype.constructor=Pc;ac.prototype=Object.create(ka.prototype);ac.prototype.constructor=ac;Qc.prototype=Object.create(N.prototype);Qc.prototype.constructor=Qc;yb.prototype=Object.create(ka.prototype); -yb.prototype.constructor=yb;Rc.prototype=Object.create(N.prototype);Rc.prototype.constructor=Rc;bc.prototype=Object.create(ka.prototype);bc.prototype.constructor=bc;Sc.prototype=Object.create(N.prototype);Sc.prototype.constructor=Sc;cc.prototype=Object.create(ka.prototype);cc.prototype.constructor=cc;Tc.prototype=Object.create(N.prototype);Tc.prototype.constructor=Tc;zb.prototype=Object.create(z.prototype);zb.prototype.constructor=zb;zb.prototype.toJSON=function(){var a=z.prototype.toJSON.call(this); -a.path=this.parameters.path.toJSON();return a};Uc.prototype=Object.create(N.prototype);Uc.prototype.constructor=Uc;dc.prototype=Object.create(z.prototype);dc.prototype.constructor=dc;Vc.prototype=Object.create(N.prototype);Vc.prototype.constructor=Vc;ec.prototype=Object.create(z.prototype);ec.prototype.constructor=ec;var mh={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=vf(a,0,e,c,!0),g=[];if(!f)return g;var h;if(d){var k=c;d=[];var m;var l=0;for(m=b.length;l80*c){var t=h=a[0];var r=d=a[1];for(k=c;kh&&(h=l),b>d&&(d=b);h=Math.max(h-t,d-r);h=0!==h?1/h:0}Yc(f,g,c,t,r,h);return g}},cb={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e -cb.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];zf(a);Af(c,a);var f=a.length;b.forEach(zf);for(a=0;aMath.abs(g-k)?[new B(a,1-c),new B(h,1-d), -new B(m,1-e),new B(n,1-b)]:[new B(g,1-c),new B(k,1-d),new B(l,1-e),new B(v,1-b)]}};$c.prototype=Object.create(N.prototype);$c.prototype.constructor=$c;fc.prototype=Object.create(Ya.prototype);fc.prototype.constructor=fc;ad.prototype=Object.create(N.prototype);ad.prototype.constructor=ad;Cb.prototype=Object.create(z.prototype);Cb.prototype.constructor=Cb;bd.prototype=Object.create(N.prototype);bd.prototype.constructor=bd;gc.prototype=Object.create(z.prototype);gc.prototype.constructor=gc;cd.prototype= -Object.create(N.prototype);cd.prototype.constructor=cd;hc.prototype=Object.create(z.prototype);hc.prototype.constructor=hc;Db.prototype=Object.create(N.prototype);Db.prototype.constructor=Db;Db.prototype.toJSON=function(){var a=N.prototype.toJSON.call(this);return Cf(this.parameters.shapes,a)};Eb.prototype=Object.create(z.prototype);Eb.prototype.constructor=Eb;Eb.prototype.toJSON=function(){var a=z.prototype.toJSON.call(this);return Cf(this.parameters.shapes,a)};ic.prototype=Object.create(z.prototype); -ic.prototype.constructor=ic;Fb.prototype=Object.create(N.prototype);Fb.prototype.constructor=Fb;db.prototype=Object.create(z.prototype);db.prototype.constructor=db;dd.prototype=Object.create(Fb.prototype);dd.prototype.constructor=dd;ed.prototype=Object.create(db.prototype);ed.prototype.constructor=ed;fd.prototype=Object.create(N.prototype);fd.prototype.constructor=fd;jc.prototype=Object.create(z.prototype);jc.prototype.constructor=jc;var ya=Object.freeze({WireframeGeometry:Zb,ParametricGeometry:Nc, -ParametricBufferGeometry:$b,TetrahedronGeometry:Pc,TetrahedronBufferGeometry:ac,OctahedronGeometry:Qc,OctahedronBufferGeometry:yb,IcosahedronGeometry:Rc,IcosahedronBufferGeometry:bc,DodecahedronGeometry:Sc,DodecahedronBufferGeometry:cc,PolyhedronGeometry:Oc,PolyhedronBufferGeometry:ka,TubeGeometry:Tc,TubeBufferGeometry:zb,TorusKnotGeometry:Uc,TorusKnotBufferGeometry:dc,TorusGeometry:Vc,TorusBufferGeometry:ec,TextGeometry:$c,TextBufferGeometry:fc,SphereGeometry:ad,SphereBufferGeometry:Cb,RingGeometry:bd, -RingBufferGeometry:gc,PlaneGeometry:Dc,PlaneBufferGeometry:vb,LatheGeometry:cd,LatheBufferGeometry:hc,ShapeGeometry:Db,ShapeBufferGeometry:Eb,ExtrudeGeometry:Bb,ExtrudeBufferGeometry:Ya,EdgesGeometry:ic,ConeGeometry:dd,ConeBufferGeometry:ed,CylinderGeometry:Fb,CylinderBufferGeometry:db,CircleGeometry:fd,CircleBufferGeometry:jc,BoxGeometry:Rb,BoxBufferGeometry:ub});Gb.prototype=Object.create(O.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isShadowMaterial=!0;Gb.prototype.copy=function(a){O.prototype.copy.call(this, -a);this.color.copy(a.color);return this};kc.prototype=Object.create(Ca.prototype);kc.prototype.constructor=kc;kc.prototype.isRawShaderMaterial=!0;Za.prototype=Object.create(O.prototype);Za.prototype.constructor=Za;Za.prototype.isMeshStandardMaterial=!0;Za.prototype.copy=function(a){O.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity; -this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap= -a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Hb.prototype=Object.create(Za.prototype);Hb.prototype.constructor=Hb;Hb.prototype.isMeshPhysicalMaterial=!0;Hb.prototype.copy=function(a){Za.prototype.copy.call(this, -a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};La.prototype=Object.create(O.prototype);La.prototype.constructor=La;La.prototype.isMeshPhongMaterial=!0;La.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity= -a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity= -a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Ib.prototype=Object.create(La.prototype);Ib.prototype.constructor=Ib;Ib.prototype.isMeshToonMaterial=!0;Ib.prototype.copy=function(a){La.prototype.copy.call(this,a);this.gradientMap=a.gradientMap; -return this};Jb.prototype=Object.create(O.prototype);Jb.prototype.constructor=Jb;Jb.prototype.isMeshNormalMaterial=!0;Jb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth= -a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Kb.prototype=Object.create(O.prototype);Kb.prototype.constructor=Kb;Kb.prototype.isMeshLambertMaterial=!0;Kb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap= -a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Lb.prototype= -Object.create(O.prototype);Lb.prototype.constructor=Lb;Lb.prototype.isMeshMatcapMaterial=!0;Lb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.defines={MATCAP:""};this.color.copy(a.color);this.matcap=a.matcap;this.map=a.map;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias; -this.alphaMap=a.alphaMap;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Mb.prototype=Object.create(R.prototype);Mb.prototype.constructor=Mb;Mb.prototype.isLineDashedMaterial=!0;Mb.prototype.copy=function(a){R.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var nh=Object.freeze({ShadowMaterial:Gb,SpriteMaterial:mb,RawShaderMaterial:kc,ShaderMaterial:Ca,PointsMaterial:Ka,MeshPhysicalMaterial:Hb, -MeshStandardMaterial:Za,MeshPhongMaterial:La,MeshToonMaterial:Ib,MeshNormalMaterial:Jb,MeshLambertMaterial:Kb,MeshDepthMaterial:ib,MeshDistanceMaterial:jb,MeshBasicMaterial:Da,MeshMatcapMaterial:Lb,LineDashedMaterial:Mb,LineBasicMaterial:R,Material:O}),pa={arraySlice:function(a,b,c){return pa.isTypedArray(a)?new a.constructor(a.subarray(b,void 0!==c?c:a.length)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&&a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)}, -isTypedArray:function(a){return ArrayBuffer.isView(a)&&!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*b,k=0;k!==b;++k)e[g++]=a[h+k];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!==f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g= -f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)),f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];while(void 0!==f)}}}};Object.assign(Fa.prototype,{evaluate:function(a){var b=this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a=e)break a;else{f=b[1];a=e)break b}d=c;c=0}}for(;c>>1,ab;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),a=this.getValueSize(),this.times=pa.arraySlice(c,e,f),this.values=pa.arraySlice(this.values,e*a,f*a);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),a=!1);var c=this.times;b=this.values;var d=c.length;0===d&&(console.error("THREE.KeyframeTrack: Track is empty.", -this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&pa.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values, -c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;gg)e=a+1;else if(0b&&(b=0);1Number.EPSILON&&(g.normalize(),c=Math.acos(K.clamp(d[k-1].dot(d[k]),-1,1)),e[k].applyMatrix4(h.makeRotationAxis(g,c))),f[k].crossVectors(d[k],e[k]);if(!0===b)for(c=Math.acos(K.clamp(e[0].dot(e[a]),-1,1)),c/=a,0d;)d+=c;for(;d>c;)d-=c;de&&(e=1);1E-4>d&&(d=e);1E-4>k&&(k=e);Ke.initNonuniformCatmullRom(f.x,g.x,h.x,c.x,d,e,k);Le.initNonuniformCatmullRom(f.y,g.y,h.y,c.y,d,e,k);Me.initNonuniformCatmullRom(f.z,g.z,h.z,c.z,d,e,k)}else"catmullrom"===this.curveType&&(Ke.initCatmullRom(f.x,g.x,h.x,c.x,this.tension),Le.initCatmullRom(f.y,g.y,h.y,c.y,this.tension),Me.initCatmullRom(f.z,g.z,h.z,c.z,this.tension));b.set(Ke.calc(a), -Le.calc(a),Me.calc(a));return b};qa.prototype.copy=function(a){I.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;bc.length-2?c.length-1:a+1];c=c[a>c.length-3?c.length-1:a+2];b.set(Ff(d,e.x,f.x,g.x,c.x),Ff(d,e.y,f.y,g.y,c.y));return b};Qa.prototype.copy=function(a){I.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths(); -return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;cNumber.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.yh.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=cb.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new nb;h.curves=g.curves; -b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],n=0;m[n]=void 0;l[n]=[];for(var v=0,t=f.length;vl.opacity&&(l.transparent=!0);d.setTextures(k);return d.parse(l)}}()});var Zd,xe={getContext:function(){void 0===Zd&&(Zd=new (window.AudioContext||window.webkitAudioContext));return Zd},setContext:function(a){Zd=a}};Object.assign(ue.prototype,{load:function(a,b,c,d){var e=new Ma(this.manager);e.setResponseType("arraybuffer");e.setPath(this.path);e.load(a,function(a){a=a.slice(0);xe.getContext().decodeAudioData(a,function(a){b(a)})},c,d)},setPath:function(a){this.path=a; -return this}});Object.assign(Hf.prototype,{update:function(){var a,b,c,d,e,f,g,h,k=new P,l=new P;return function(m){if(a!==this||b!==m.focus||c!==m.fov||d!==m.aspect*this.aspect||e!==m.near||f!==m.far||g!==m.zoom||h!==this.eyeSep){a=this;b=m.focus;c=m.fov;d=m.aspect*this.aspect;e=m.near;f=m.far;g=m.zoom;var n=m.projectionMatrix.clone();h=this.eyeSep/2;var p=h*e/b,t=e*Math.tan(K.DEG2RAD*c*.5)/g;l.elements[12]=-h;k.elements[12]=h;var r=-t*d+p;var u=t*d+p;n.elements[0]=2*e/(u-r);n.elements[8]=(u+r)/ -(u-r);this.cameraL.projectionMatrix.copy(n);r=-t*d-p;u=t*d-p;n.elements[0]=2*e/(u-r);n.elements[8]=(u+r)/(u-r);this.cameraR.projectionMatrix.copy(n)}this.cameraL.matrixWorld.copy(m.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(m.matrixWorld).multiply(k)}}()});nd.prototype=Object.create(C.prototype);nd.prototype.constructor=nd;Object.assign(ve.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now();this.elapsedTime=0;this.running=!0}, -stop:function(){this.getElapsedTime();this.autoStart=this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var b=("undefined"===typeof performance?Date:performance).now();a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});we.prototype=Object.assign(Object.create(C.prototype),{constructor:we,getInput:function(){return this.gain},removeFilter:function(){null!== -this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null);return this},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this},getMasterVolume:function(){return this.gain.gain.value}, -setMasterVolume:function(a){this.gain.gain.setTargetAtTime(a,this.context.currentTime,.01);return this},updateMatrixWorld:function(){var a=new n,b=new aa,c=new n,d=new n,e=new ve;return function(f){C.prototype.updateMatrixWorld.call(this,f);f=this.context.listener;var g=this.up;this.timeDelta=e.getDelta();this.matrixWorld.decompose(a,b,c);d.set(0,0,-1).applyQuaternion(b);if(f.positionX){var h=this.context.currentTime+this.timeDelta;f.positionX.linearRampToValueAtTime(a.x,h);f.positionY.linearRampToValueAtTime(a.y, -h);f.positionZ.linearRampToValueAtTime(a.z,h);f.forwardX.linearRampToValueAtTime(d.x,h);f.forwardY.linearRampToValueAtTime(d.y,h);f.forwardZ.linearRampToValueAtTime(d.z,h);f.upX.linearRampToValueAtTime(g.x,h);f.upY.linearRampToValueAtTime(g.y,h);f.upZ.linearRampToValueAtTime(g.z,h)}else f.setPosition(a.x,a.y,a.z),f.setOrientation(d.x,d.y,d.z,g.x,g.y,g.z)}}()});oc.prototype=Object.assign(Object.create(C.prototype),{constructor:oc,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl= -!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setMediaElementSource:function(a){this.hasPlaybackControl=!1;this.sourceType="mediaNode";this.source=this.context.createMediaElementSource(a);this.connect();return this},setBuffer:function(a){this.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control."); -else{var a=this.context.createBufferSource();a.buffer=this.buffer;a.loop=this.loop;a.onended=this.onEnded.bind(this);this.startTime=this.context.currentTime;a.start(this.startTime,this.offset);this.isPlaying=!0;this.source=a;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return!0===this.isPlaying&&(this.source.stop(),this.source.onended= -null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this},connect:function(){if(0d&&this._mixBufferRegion(c,a,3*b,1-d,b);d=b;for(var f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a, -b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){aa.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h=b+g;a[h]=a[h]*f+a[c+g]*d}}});Object.assign(If.prototype,{getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_];void 0!==c&&c.getValue(a,b)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings, -b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}});Object.assign(ma,{Composite:If,create:function(a,b,c){return a&&a.isAnimationObjectGroup?new ma.Composite(a,b,c):new ma(a,b,c)},sanitizeNodeName:function(){var a=/[\[\]\.:\/]/g;return function(b){return b.replace(/\s/g,"_").replace(a,"")}}(),parseTrackName:function(){var a="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]", -b=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]");a=/(WCOD+)?/.source.replace("WCOD",a);var c=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),d=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),e=new RegExp("^"+b+a+c+d+"$"),f=["material","materials","bones"];return function(a){var b=e.exec(a);if(!b)throw Error("PropertyBinding: Cannot parse trackName: "+a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};var c=b.nodeName&& -b.nodeName.lastIndexOf(".");if(void 0!==c&&-1!==c){var d=b.nodeName.substring(c+1);-1!==f.indexOf(d)&&(b.nodeName=b.nodeName.substring(0,c),b.objectName=d)}if(null===b.propertyName||0===b.propertyName.length)throw Error("PropertyBinding: can not parse propertyName from trackName: "+a);return b}}(),findNode:function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a;if(a.skeleton){var c=a.skeleton.getBoneByName(b);if(void 0!==c)return c}if(a.children){var d=function(a){for(var c= -0;c=b){var n=b++,q=a[n];c[q.uuid]=l;a[l]=q;c[k]=n;a[n]=h;h=0;for(k=e;h!==k;++h){q=d[h];var v=q[l];q[l]=q[n];q[n]=v}}}this.nCachedObjects_=b},uncache:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k=arguments[g].uuid,l=d[k];if(void 0!==l)if(delete d[k],lb||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0c.parameterPositions[1]&&(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){b=this.timeScale;var c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0]; -b*=d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a,c=this._clip.duration,d=this.loop,e=this._loopCount,f=2202===d;if(0===a)return-1===e?b:f&&1===(e&1)?c-b:b;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=!1;this._mixer.dispatchEvent({type:"finished",action:this,direction:0> -a?-1:1})}else{-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,f)):this._setEndings(0===this.repetitions,!0,f));if(b>=c||0>b){d=Math.floor(b/c);b-=c*d;e+=Math.abs(d);var g=this.repetitions-e;0>=g?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,b=0a,this._setEndings(a,!a,f)):this._setEndings(!1,!1,f),this._loopCount=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:d}))}if(f&& -1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});Be.prototype= -Object.assign(Object.create(ta.prototype),{constructor:Be,_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings;a=a._interpolants;var g=c.uuid,h=this._bindingsByRootAndName,k=h[g];void 0===k&&(k={},h[g]=k);for(h=0;h!==e;++h){var l=d[h],n=l.name,q=k[n];if(void 0===q){q=f[h];if(void 0!==q){null===q._cacheIndex&&(++q.referenceCount,this._addInactiveBinding(q,g,n));continue}q=new Ae(ma.create(c,n,b&&b._propertyBindings[h].binding.parsedPath),l.ValueTypeName, -l.getValueSize());++q.referenceCount;this._addInactiveBinding(q,g,n)}f[h]=q;a[h].resultBuffer=q.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b= -a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length}, -get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}},_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&athis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box2: .getParameter() target is now required"),b=new B); -return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box2: .clampPoint() target is now required"),b=new B);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new B;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min); -this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(He.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){void 0=== -a&&(console.warn("THREE.Line3: .getCenter() target is now required"),a=new n);return a.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){void 0===a&&(console.warn("THREE.Line3: .delta() target is now required"),a=new n);return a.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a,b){void 0===b&&(console.warn("THREE.Line3: .at() target is now required"),b= -new n);return this.delta(b).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new n,b=new n;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);c=b.dot(b);c=b.dot(a)/c;d&&(c=K.clamp(c,0,1));return c}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);void 0===c&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),c=new n);return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a); -this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}});od.prototype=Object.create(C.prototype);od.prototype.constructor=od;od.prototype.isImmediateRenderObject=!0;pd.prototype=Object.create(V.prototype);pd.prototype.constructor=pd;pd.prototype.update=function(){var a=new n,b=new n,c=new ba;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f= -this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,n=k.length;lMath.abs(b)&&(b=1E-8);this.scale.set(.5*this.size,.5*this.size,b);this.children[0].material.side=0>b?1:0;this.lookAt(this.plane.normal);C.prototype.updateMatrixWorld.call(this,a)};var Xd,Ie;gb.prototype=Object.create(C.prototype); -gb.prototype.constructor=gb;gb.prototype.setDirection=function(){var a=new n,b;return function(c){.99999c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();gb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};gb.prototype.setColor= -function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};gb.prototype.copy=function(a){C.prototype.copy.call(this,a,!1);this.line.copy(a.line);this.cone.copy(a.cone);return this};gb.prototype.clone=function(){return(new this.constructor).copy(this)};ud.prototype=Object.create(V.prototype);ud.prototype.constructor=ud;I.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(I.prototype);a.prototype.constructor=a;a.prototype.getPoint= -b;return a};Object.assign(eb.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."); -for(var b=new N,c=0,d=a.length;c>8&255]+st[t>>16&255]+st[t>>24&255]+"-"+st[255&e]+st[e>>8&255]+"-"+st[e>>16&15|64]+st[e>>24&255]+"-"+st[63&n|128]+st[n>>8&255]+"-"+st[n>>16&255]+st[n>>24&255]+st[255&i]+st[i>>8&255]+st[i>>16&255]+st[i>>24&255]).toUpperCase()}function ht(t,e,n){return Math.max(e,Math.min(n,t))}function ut(t,e){return(t%e+e)%e}function dt(t,e,n){return(1-n)*t+n*e}function pt(t){return 0==(t&t-1)&&0!==t}function mt(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function ft(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}var gt=Object.freeze({__proto__:null,DEG2RAD:ot,RAD2DEG:lt,generateUUID:ct,clamp:ht,euclideanModulo:ut,mapLinear:function(t,e,n,i,r){return i+(t-e)*(r-i)/(n-e)},inverseLerp:function(t,e,n){return t!==e?(n-t)/(e-t):0},lerp:dt,damp:function(t,e,n,i){return dt(t,e,1-Math.exp(-n*i))},pingpong:function(t,e=1){return e-Math.abs(ut(t,2*e)-e)},smoothstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*(3-2*t)},smootherstep:function(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e))*t*t*(t*(6*t-15)+10)},randInt:function(t,e){return t+Math.floor(Math.random()*(e-t+1))},randFloat:function(t,e){return t+Math.random()*(e-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return void 0!==t&&(at=t%2147483647),at=16807*at%2147483647,(at-1)/2147483646},degToRad:function(t){return t*ot},radToDeg:function(t){return t*lt},isPowerOfTwo:pt,ceilPowerOfTwo:mt,floorPowerOfTwo:ft,setQuaternionFromProperEuler:function(t,e,n,i,r){const s=Math.cos,a=Math.sin,o=s(n/2),l=a(n/2),c=s((e+i)/2),h=a((e+i)/2),u=s((e-i)/2),d=a((e-i)/2),p=s((i-e)/2),m=a((i-e)/2);switch(r){case"XYX":t.set(o*h,l*u,l*d,o*c);break;case"YZY":t.set(l*d,o*h,l*u,o*c);break;case"ZXZ":t.set(l*u,l*d,o*h,o*c);break;case"XZX":t.set(o*h,l*m,l*p,o*c);break;case"YXY":t.set(l*p,o*h,l*m,o*c);break;case"ZYZ":t.set(l*m,l*p,o*h,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}});class vt{constructor(t=0,e=0){this.x=t,this.y=e}get width(){return this.x}set width(t){this.x=t}get height(){return this.y}set height(t){this.y=t}set(t,e){return this.x=t,this.y=e,this}setScalar(t){return this.x=t,this.y=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y)}copy(t){return this.x=t.x,this.y=t.y,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this)}addScalar(t){return this.x+=t,this.y+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this)}subScalar(t){return this.x-=t,this.y-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this}multiply(t){return this.x*=t.x,this.y*=t.y,this}multiplyScalar(t){return this.x*=t,this.y*=t,this}divide(t){return this.x/=t.x,this.y/=t.y,this}divideScalar(t){return this.multiplyScalar(1/t)}applyMatrix3(t){const e=this.x,n=this.y,i=t.elements;return this.x=i[0]*e+i[3]*n+i[6],this.y=i[1]*e+i[4]*n+i[7],this}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(t){return this.x*t.x+this.y*t.y}cross(t){return this.x*t.y-this.y*t.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y;return e*e+n*n}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this}equals(t){return t.x===this.x&&t.y===this.y}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this}rotateAround(t,e){const n=Math.cos(e),i=Math.sin(e),r=this.x-t.x,s=this.y-t.y;return this.x=r*n-s*i+t.x,this.y=r*i+s*n+t.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}vt.prototype.isVector2=!0;class yt{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l){const c=this.elements;return c[0]=t,c[1]=i,c[2]=a,c[3]=e,c[4]=r,c[5]=o,c[6]=n,c[7]=s,c[8]=l,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],this}extractBasis(t,e,n){return t.setFromMatrix3Column(this,0),e.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(t){const e=t.elements;return this.set(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),this}multiply(t){return this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[3],o=n[6],l=n[1],c=n[4],h=n[7],u=n[2],d=n[5],p=n[8],m=i[0],f=i[3],g=i[6],v=i[1],y=i[4],x=i[7],_=i[2],b=i[5],M=i[8];return r[0]=s*m+a*v+o*_,r[3]=s*f+a*y+o*b,r[6]=s*g+a*x+o*M,r[1]=l*m+c*v+h*_,r[4]=l*f+c*y+h*b,r[7]=l*g+c*x+h*M,r[2]=u*m+d*v+p*_,r[5]=u*f+d*y+p*b,r[8]=u*g+d*x+p*M,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[3]*=t,e[6]*=t,e[1]*=t,e[4]*=t,e[7]*=t,e[2]*=t,e[5]*=t,e[8]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8];return e*s*c-e*a*l-n*r*c+n*a*o+i*r*l-i*s*o}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=c*s-a*l,u=a*o-c*r,d=l*r-s*o,p=e*h+n*u+i*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const m=1/p;return t[0]=h*m,t[1]=(i*l-c*n)*m,t[2]=(a*n-i*s)*m,t[3]=u*m,t[4]=(c*e-i*o)*m,t[5]=(i*r-a*e)*m,t[6]=d*m,t[7]=(n*o-l*e)*m,t[8]=(s*e-n*r)*m,this}transpose(){let t;const e=this.elements;return t=e[1],e[1]=e[3],e[3]=t,t=e[2],e[2]=e[6],e[6]=t,t=e[5],e[5]=e[7],e[7]=t,this}getNormalMatrix(t){return this.setFromMatrix4(t).invert().transpose()}transposeIntoArray(t){const e=this.elements;return t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],this}setUvTransform(t,e,n,i,r,s,a){const o=Math.cos(r),l=Math.sin(r);return this.set(n*o,n*l,-n*(o*s+l*a)+s+t,-i*l,i*o,-i*(-l*s+o*a)+a+e,0,0,1),this}scale(t,e){const n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=e,n[4]*=e,n[7]*=e,this}rotate(t){const e=Math.cos(t),n=Math.sin(t),i=this.elements,r=i[0],s=i[3],a=i[6],o=i[1],l=i[4],c=i[7];return i[0]=e*r+n*o,i[3]=e*s+n*l,i[6]=e*a+n*c,i[1]=-n*r+e*o,i[4]=-n*s+e*l,i[7]=-n*a+e*c,this}translate(t,e){const n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=e*n[2],n[4]+=e*n[5],n[7]+=e*n[8],this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<9;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<9;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t}clone(){return(new this.constructor).fromArray(this.elements)}}let xt;yt.prototype.isMatrix3=!0;class _t{static getDataURL(t){if(/^data:/i.test(t.src))return t.src;if("undefined"==typeof HTMLCanvasElement)return t.src;let e;if(t instanceof HTMLCanvasElement)e=t;else{void 0===xt&&(xt=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),xt.width=t.width,xt.height=t.height;const n=xt.getContext("2d");t instanceof ImageData?n.putImageData(t,0,0):n.drawImage(t,0,0,t.width,t.height),e=xt}return e.width>2048||e.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",t),e.toDataURL("image/jpeg",.6)):e.toDataURL("image/png")}}let bt=0;class Mt extends rt{constructor(t=Mt.DEFAULT_IMAGE,e=Mt.DEFAULT_MAPPING,n=1001,i=1001,r=1006,s=1008,a=1023,o=1009,l=1,c=3e3){super(),Object.defineProperty(this,"id",{value:bt++}),this.uuid=ct(),this.name="",this.image=t,this.mipmaps=[],this.mapping=e,this.wrapS=n,this.wrapT=i,this.magFilter=r,this.minFilter=s,this.anisotropy=l,this.format=a,this.internalFormat=null,this.type=o,this.offset=new vt(0,0),this.repeat=new vt(1,1),this.center=new vt(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new yt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this}toJSON(t){const e=void 0===t||"string"==typeof t;if(!e&&void 0!==t.textures[this.uuid])return t.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const i=this.image;if(void 0===i.uuid&&(i.uuid=ct()),!e&&void 0===t.images[i.uuid]){let e;if(Array.isArray(i)){e=[];for(let t=0,n=i.length;t1)switch(this.wrapS){case h:t.x=t.x-Math.floor(t.x);break;case u:t.x=t.x<0?0:1;break;case d:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||t.y>1)switch(this.wrapT){case h:t.y=t.y-Math.floor(t.y);break;case u:t.y=t.y<0?0:1;break;case d:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}set needsUpdate(t){!0===t&&this.version++}}function wt(t){return"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap?_t.getDataURL(t):t.data?{data:Array.prototype.slice.call(t.data),width:t.width,height:t.height,type:t.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Mt.DEFAULT_IMAGE=void 0,Mt.DEFAULT_MAPPING=i,Mt.prototype.isTexture=!0;class St{constructor(t=0,e=0,n=0,i=1){this.x=t,this.y=e,this.z=n,this.w=i}get width(){return this.z}set width(t){this.z=t}get height(){return this.w}set height(t){this.w=t}set(t,e,n,i){return this.x=t,this.y=e,this.z=n,this.w=i,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this.w=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setW(t){return this.w=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;case 3:this.w=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this}multiply(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=this.w,s=t.elements;return this.x=s[0]*e+s[4]*n+s[8]*i+s[12]*r,this.y=s[1]*e+s[5]*n+s[9]*i+s[13]*r,this.z=s[2]*e+s[6]*n+s[10]*i+s[14]*r,this.w=s[3]*e+s[7]*n+s[11]*i+s[15]*r,this}divideScalar(t){return this.multiplyScalar(1/t)}setAxisAngleFromQuaternion(t){this.w=2*Math.acos(t.w);const e=Math.sqrt(1-t.w*t.w);return e<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/e,this.y=t.y/e,this.z=t.z/e),this}setAxisAngleFromRotationMatrix(t){let e,n,i,r;const s=.01,a=.1,o=t.elements,l=o[0],c=o[4],h=o[8],u=o[1],d=o[5],p=o[9],m=o[2],f=o[6],g=o[10];if(Math.abs(c-u)o&&t>v?tv?o=0?1:-1,i=1-e*e;if(i>Number.EPSILON){const r=Math.sqrt(i),s=Math.atan2(r,e*n);t=Math.sin(t*s)/r,a=Math.sin(a*s)/r}const r=a*n;if(o=o*t+u*r,l=l*t+d*r,c=c*t+p*r,h=h*t+m*r,t===1-a){const t=1/Math.sqrt(o*o+l*l+c*c+h*h);o*=t,l*=t,c*=t,h*=t}}t[e]=o,t[e+1]=l,t[e+2]=c,t[e+3]=h}static multiplyQuaternionsFlat(t,e,n,i,r,s){const a=n[i],o=n[i+1],l=n[i+2],c=n[i+3],h=r[s],u=r[s+1],d=r[s+2],p=r[s+3];return t[e]=a*p+c*h+o*d-l*u,t[e+1]=o*p+c*u+l*h-a*d,t[e+2]=l*p+c*d+a*u-o*h,t[e+3]=c*p-a*h-o*u-l*d,t}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get w(){return this._w}set w(t){this._w=t,this._onChangeCallback()}set(t,e,n,i){return this._x=t,this._y=e,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(t){return this._x=t.x,this._y=t.y,this._z=t.z,this._w=t.w,this._onChangeCallback(),this}setFromEuler(t,e){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const n=t._x,i=t._y,r=t._z,s=t._order,a=Math.cos,o=Math.sin,l=a(n/2),c=a(i/2),h=a(r/2),u=o(n/2),d=o(i/2),p=o(r/2);switch(s){case"XYZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"YXZ":this._x=u*c*h+l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"ZXY":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h-u*d*p;break;case"ZYX":this._x=u*c*h-l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h+u*d*p;break;case"YZX":this._x=u*c*h+l*d*p,this._y=l*d*h+u*c*p,this._z=l*c*p-u*d*h,this._w=l*c*h-u*d*p;break;case"XZY":this._x=u*c*h-l*d*p,this._y=l*d*h-u*c*p,this._z=l*c*p+u*d*h,this._w=l*c*h+u*d*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+s)}return!1!==e&&this._onChangeCallback(),this}setFromAxisAngle(t,e){const n=e/2,i=Math.sin(n);return this._x=t.x*i,this._y=t.y*i,this._z=t.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(t){const e=t.elements,n=e[0],i=e[4],r=e[8],s=e[1],a=e[5],o=e[9],l=e[2],c=e[6],h=e[10],u=n+a+h;if(u>0){const t=.5/Math.sqrt(u+1);this._w=.25/t,this._x=(c-o)*t,this._y=(r-l)*t,this._z=(s-i)*t}else if(n>a&&n>h){const t=2*Math.sqrt(1+n-a-h);this._w=(c-o)/t,this._x=.25*t,this._y=(i+s)/t,this._z=(r+l)/t}else if(a>h){const t=2*Math.sqrt(1+a-n-h);this._w=(r-l)/t,this._x=(i+s)/t,this._y=.25*t,this._z=(o+c)/t}else{const t=2*Math.sqrt(1+h-n-a);this._w=(s-i)/t,this._x=(r+l)/t,this._y=(o+c)/t,this._z=.25*t}return this._onChangeCallback(),this}setFromUnitVectors(t,e){let n=t.dot(e)+1;return nMath.abs(t.z)?(this._x=-t.y,this._y=t.x,this._z=0,this._w=n):(this._x=0,this._y=-t.z,this._z=t.y,this._w=n)):(this._x=t.y*e.z-t.z*e.y,this._y=t.z*e.x-t.x*e.z,this._z=t.x*e.y-t.y*e.x,this._w=n),this.normalize()}angleTo(t){return 2*Math.acos(Math.abs(ht(this.dot(t),-1,1)))}rotateTowards(t,e){const n=this.angleTo(t);if(0===n)return this;const i=Math.min(1,e/n);return this.slerp(t,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(t){return this._x*t._x+this._y*t._y+this._z*t._z+this._w*t._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let t=this.length();return 0===t?(this._x=0,this._y=0,this._z=0,this._w=1):(t=1/t,this._x=this._x*t,this._y=this._y*t,this._z=this._z*t,this._w=this._w*t),this._onChangeCallback(),this}multiply(t,e){return void 0!==e?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,e)):this.multiplyQuaternions(this,t)}premultiply(t){return this.multiplyQuaternions(t,this)}multiplyQuaternions(t,e){const n=t._x,i=t._y,r=t._z,s=t._w,a=e._x,o=e._y,l=e._z,c=e._w;return this._x=n*c+s*a+i*l-r*o,this._y=i*c+s*o+r*a-n*l,this._z=r*c+s*l+n*o-i*a,this._w=s*c-n*a-i*o-r*l,this._onChangeCallback(),this}slerp(t,e){if(0===e)return this;if(1===e)return this.copy(t);const n=this._x,i=this._y,r=this._z,s=this._w;let a=s*t._w+n*t._x+i*t._y+r*t._z;if(a<0?(this._w=-t._w,this._x=-t._x,this._y=-t._y,this._z=-t._z,a=-a):this.copy(t),a>=1)return this._w=s,this._x=n,this._y=i,this._z=r,this;const o=1-a*a;if(o<=Number.EPSILON){const t=1-e;return this._w=t*s+e*this._w,this._x=t*n+e*this._x,this._y=t*i+e*this._y,this._z=t*r+e*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,a),h=Math.sin((1-e)*c)/l,u=Math.sin(e*c)/l;return this._w=s*h+this._w*u,this._x=n*h+this._x*u,this._y=i*h+this._y*u,this._z=r*h+this._z*u,this._onChangeCallback(),this}slerpQuaternions(t,e,n){this.copy(t).slerp(e,n)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._w===this._w}fromArray(t,e=0){return this._x=t[e],this._y=t[e+1],this._z=t[e+2],this._w=t[e+3],this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._w,t}fromBufferAttribute(t,e){return this._x=t.getX(e),this._y=t.getY(e),this._z=t.getZ(e),this._w=t.getW(e),this}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}Lt.prototype.isQuaternion=!0;class Rt{constructor(t=0,e=0,n=0){this.x=t,this.y=e,this.z=n}set(t,e,n){return void 0===n&&(n=this.z),this.x=t,this.y=e,this.z=n,this}setScalar(t){return this.x=t,this.y=t,this.z=t,this}setX(t){return this.x=t,this}setY(t){return this.y=t,this}setZ(t){return this.z=t,this}setComponent(t,e){switch(t){case 0:this.x=e;break;case 1:this.y=e;break;case 2:this.z=e;break;default:throw new Error("index is out of range: "+t)}return this}getComponent(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}add(t,e){return void 0!==e?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,e)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}addScalar(t){return this.x+=t,this.y+=t,this.z+=t,this}addVectors(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}addScaledVector(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this}sub(t,e){return void 0!==e?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,e)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}subScalar(t){return this.x-=t,this.y-=t,this.z-=t,this}subVectors(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,e)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}multiplyScalar(t){return this.x*=t,this.y*=t,this.z*=t,this}multiplyVectors(t,e){return this.x=t.x*e.x,this.y=t.y*e.y,this.z=t.z*e.z,this}applyEuler(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(Pt.setFromEuler(t))}applyAxisAngle(t,e){return this.applyQuaternion(Pt.setFromAxisAngle(t,e))}applyMatrix3(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[3]*n+r[6]*i,this.y=r[1]*e+r[4]*n+r[7]*i,this.z=r[2]*e+r[5]*n+r[8]*i,this}applyNormalMatrix(t){return this.applyMatrix3(t).normalize()}applyMatrix4(t){const e=this.x,n=this.y,i=this.z,r=t.elements,s=1/(r[3]*e+r[7]*n+r[11]*i+r[15]);return this.x=(r[0]*e+r[4]*n+r[8]*i+r[12])*s,this.y=(r[1]*e+r[5]*n+r[9]*i+r[13])*s,this.z=(r[2]*e+r[6]*n+r[10]*i+r[14])*s,this}applyQuaternion(t){const e=this.x,n=this.y,i=this.z,r=t.x,s=t.y,a=t.z,o=t.w,l=o*e+s*i-a*n,c=o*n+a*e-r*i,h=o*i+r*n-s*e,u=-r*e-s*n-a*i;return this.x=l*o+u*-r+c*-a-h*-s,this.y=c*o+u*-s+h*-r-l*-a,this.z=h*o+u*-a+l*-s-c*-r,this}project(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}unproject(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}transformDirection(t){const e=this.x,n=this.y,i=this.z,r=t.elements;return this.x=r[0]*e+r[4]*n+r[8]*i,this.y=r[1]*e+r[5]*n+r[9]*i,this.z=r[2]*e+r[6]*n+r[10]*i,this.normalize()}divide(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}divideScalar(t){return this.multiplyScalar(1/t)}min(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}max(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}clamp(t,e){return this.x=Math.max(t.x,Math.min(e.x,this.x)),this.y=Math.max(t.y,Math.min(e.y,this.y)),this.z=Math.max(t.z,Math.min(e.z,this.z)),this}clampScalar(t,e){return this.x=Math.max(t,Math.min(e,this.x)),this.y=Math.max(t,Math.min(e,this.y)),this.z=Math.max(t,Math.min(e,this.z)),this}clampLength(t,e){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(e,n)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(t){return this.x*t.x+this.y*t.y+this.z*t.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(t){return this.normalize().multiplyScalar(t)}lerp(t,e){return this.x+=(t.x-this.x)*e,this.y+=(t.y-this.y)*e,this.z+=(t.z-this.z)*e,this}lerpVectors(t,e,n){return this.x=t.x+(e.x-t.x)*n,this.y=t.y+(e.y-t.y)*n,this.z=t.z+(e.z-t.z)*n,this}cross(t,e){return void 0!==e?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,e)):this.crossVectors(this,t)}crossVectors(t,e){const n=t.x,i=t.y,r=t.z,s=e.x,a=e.y,o=e.z;return this.x=i*o-r*a,this.y=r*s-n*o,this.z=n*a-i*s,this}projectOnVector(t){const e=t.lengthSq();if(0===e)return this.set(0,0,0);const n=t.dot(this)/e;return this.copy(t).multiplyScalar(n)}projectOnPlane(t){return Ct.copy(this).projectOnVector(t),this.sub(Ct)}reflect(t){return this.sub(Ct.copy(t).multiplyScalar(2*this.dot(t)))}angleTo(t){const e=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===e)return Math.PI/2;const n=this.dot(t)/e;return Math.acos(ht(n,-1,1))}distanceTo(t){return Math.sqrt(this.distanceToSquared(t))}distanceToSquared(t){const e=this.x-t.x,n=this.y-t.y,i=this.z-t.z;return e*e+n*n+i*i}manhattanDistanceTo(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}setFromSpherical(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}setFromSphericalCoords(t,e,n){const i=Math.sin(e)*t;return this.x=i*Math.sin(n),this.y=Math.cos(e)*t,this.z=i*Math.cos(n),this}setFromCylindrical(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}setFromCylindricalCoords(t,e,n){return this.x=t*Math.sin(e),this.y=n,this.z=t*Math.cos(e),this}setFromMatrixPosition(t){const e=t.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(t){const e=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),i=this.setFromMatrixColumn(t,2).length();return this.x=e,this.y=n,this.z=i,this}setFromMatrixColumn(t,e){return this.fromArray(t.elements,4*e)}setFromMatrix3Column(t,e){return this.fromArray(t.elements,3*e)}equals(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}fromArray(t,e=0){return this.x=t[e],this.y=t[e+1],this.z=t[e+2],this}toArray(t=[],e=0){return t[e]=this.x,t[e+1]=this.y,t[e+2]=this.z,t}fromBufferAttribute(t,e,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(e),this.y=t.getY(e),this.z=t.getZ(e),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}Rt.prototype.isVector3=!0;const Ct=new Rt,Pt=new Lt;class It{constructor(t=new Rt(1/0,1/0,1/0),e=new Rt(-1/0,-1/0,-1/0)){this.min=t,this.max=e}set(t,e){return this.min.copy(t),this.max.copy(e),this}setFromArray(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.length;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromBufferAttribute(t){let e=1/0,n=1/0,i=1/0,r=-1/0,s=-1/0,a=-1/0;for(let o=0,l=t.count;or&&(r=l),c>s&&(s=c),h>a&&(a=h)}return this.min.set(e,n,i),this.max.set(r,s,a),this}setFromPoints(t){this.makeEmpty();for(let e=0,n=t.length;ethis.max.x||t.ythis.max.y||t.zthis.max.z)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y||t.max.zthis.max.z)}intersectsSphere(t){return this.clampPoint(t.center,Nt),Nt.distanceToSquared(t.center)<=t.radius*t.radius}intersectsPlane(t){let e,n;return t.normal.x>0?(e=t.normal.x*this.min.x,n=t.normal.x*this.max.x):(e=t.normal.x*this.max.x,n=t.normal.x*this.min.x),t.normal.y>0?(e+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(e+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),t.normal.z>0?(e+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(e+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),e<=-t.constant&&n>=-t.constant}intersectsTriangle(t){if(this.isEmpty())return!1;this.getCenter(kt),Vt.subVectors(this.max,kt),Bt.subVectors(t.a,kt),Ft.subVectors(t.b,kt),Ot.subVectors(t.c,kt),Ut.subVectors(Ft,Bt),Ht.subVectors(Ot,Ft),Gt.subVectors(Bt,Ot);let e=[0,-Ut.z,Ut.y,0,-Ht.z,Ht.y,0,-Gt.z,Gt.y,Ut.z,0,-Ut.x,Ht.z,0,-Ht.x,Gt.z,0,-Gt.x,-Ut.y,Ut.x,0,-Ht.y,Ht.x,0,-Gt.y,Gt.x,0];return!!qt(e,Bt,Ft,Ot,Vt)&&(e=[1,0,0,0,1,0,0,0,1],!!qt(e,Bt,Ft,Ot,Vt)&&(Wt.crossVectors(Ut,Ht),e=[Wt.x,Wt.y,Wt.z],qt(e,Bt,Ft,Ot,Vt)))}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return Nt.copy(t).clamp(this.min,this.max).sub(t).length()}getBoundingSphere(t){return this.getCenter(t.center),t.radius=.5*this.getSize(Nt).length(),t}intersect(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}applyMatrix4(t){return this.isEmpty()||(Dt[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),Dt[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),Dt[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),Dt[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),Dt[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),Dt[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),Dt[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),Dt[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(Dt)),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}It.prototype.isBox3=!0;const Dt=[new Rt,new Rt,new Rt,new Rt,new Rt,new Rt,new Rt,new Rt],Nt=new Rt,zt=new It,Bt=new Rt,Ft=new Rt,Ot=new Rt,Ut=new Rt,Ht=new Rt,Gt=new Rt,kt=new Rt,Vt=new Rt,Wt=new Rt,jt=new Rt;function qt(t,e,n,i,r){for(let s=0,a=t.length-3;s<=a;s+=3){jt.fromArray(t,s);const a=r.x*Math.abs(jt.x)+r.y*Math.abs(jt.y)+r.z*Math.abs(jt.z),o=e.dot(jt),l=n.dot(jt),c=i.dot(jt);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return!1}return!0}const Xt=new It,Yt=new Rt,Jt=new Rt,Zt=new Rt;class Qt{constructor(t=new Rt,e=-1){this.center=t,this.radius=e}set(t,e){return this.center.copy(t),this.radius=e,this}setFromPoints(t,e){const n=this.center;void 0!==e?n.copy(e):Xt.setFromPoints(t).getCenter(n);let i=0;for(let e=0,r=t.length;ethis.radius*this.radius&&(e.sub(this.center).normalize(),e.multiplyScalar(this.radius).add(this.center)),e}getBoundingBox(t){return this.isEmpty()?(t.makeEmpty(),t):(t.set(this.center,this.center),t.expandByScalar(this.radius),t)}applyMatrix4(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this}translate(t){return this.center.add(t),this}expandByPoint(t){Zt.subVectors(t,this.center);const e=Zt.lengthSq();if(e>this.radius*this.radius){const t=Math.sqrt(e),n=.5*(t-this.radius);this.center.add(Zt.multiplyScalar(n/t)),this.radius+=n}return this}union(t){return Jt.subVectors(t.center,this.center).normalize().multiplyScalar(t.radius),this.expandByPoint(Yt.copy(t.center).add(Jt)),this.expandByPoint(Yt.copy(t.center).sub(Jt)),this}equals(t){return t.center.equals(this.center)&&t.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Kt=new Rt,$t=new Rt,te=new Rt,ee=new Rt,ne=new Rt,ie=new Rt,re=new Rt;class se{constructor(t=new Rt,e=new Rt(0,0,-1)){this.origin=t,this.direction=e}set(t,e){return this.origin.copy(t),this.direction.copy(e),this}copy(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this}at(t,e){return e.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(t){return this.direction.copy(t).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,Kt)),this}closestPointToPoint(t,e){e.subVectors(t,this.origin);const n=e.dot(this.direction);return n<0?e.copy(this.origin):e.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(t){return Math.sqrt(this.distanceSqToPoint(t))}distanceSqToPoint(t){const e=Kt.subVectors(t,this.origin).dot(this.direction);return e<0?this.origin.distanceToSquared(t):(Kt.copy(this.direction).multiplyScalar(e).add(this.origin),Kt.distanceToSquared(t))}distanceSqToSegment(t,e,n,i){$t.copy(t).add(e).multiplyScalar(.5),te.copy(e).sub(t).normalize(),ee.copy(this.origin).sub($t);const r=.5*t.distanceTo(e),s=-this.direction.dot(te),a=ee.dot(this.direction),o=-ee.dot(te),l=ee.lengthSq(),c=Math.abs(1-s*s);let h,u,d,p;if(c>0)if(h=s*o-a,u=s*a-o,p=r*c,h>=0)if(u>=-p)if(u<=p){const t=1/c;h*=t,u*=t,d=h*(h+s*u+2*a)+u*(s*h+u+2*o)+l}else u=r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u=-r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;else u<=-p?(h=Math.max(0,-(-s*r+a)),u=h>0?-r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l):u<=p?(h=0,u=Math.min(Math.max(-r,-o),r),d=u*(u+2*o)+l):(h=Math.max(0,-(s*r+a)),u=h>0?r:Math.min(Math.max(-r,-o),r),d=-h*h+u*(u+2*o)+l);else u=s>0?-r:r,h=Math.max(0,-(s*u+a)),d=-h*h+u*(u+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(h).add(this.origin),i&&i.copy(te).multiplyScalar(u).add($t),d}intersectSphere(t,e){Kt.subVectors(t.center,this.origin);const n=Kt.dot(this.direction),i=Kt.dot(Kt)-n*n,r=t.radius*t.radius;if(i>r)return null;const s=Math.sqrt(r-i),a=n-s,o=n+s;return a<0&&o<0?null:a<0?this.at(o,e):this.at(a,e)}intersectsSphere(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius}distanceToPlane(t){const e=t.normal.dot(this.direction);if(0===e)return 0===t.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(t.normal)+t.constant)/e;return n>=0?n:null}intersectPlane(t,e){const n=this.distanceToPlane(t);return null===n?null:this.at(n,e)}intersectsPlane(t){const e=t.distanceToPoint(this.origin);if(0===e)return!0;return t.normal.dot(this.direction)*e<0}intersectBox(t,e){let n,i,r,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,h=1/this.direction.z,u=this.origin;return l>=0?(n=(t.min.x-u.x)*l,i=(t.max.x-u.x)*l):(n=(t.max.x-u.x)*l,i=(t.min.x-u.x)*l),c>=0?(r=(t.min.y-u.y)*c,s=(t.max.y-u.y)*c):(r=(t.max.y-u.y)*c,s=(t.min.y-u.y)*c),n>s||r>i?null:((r>n||n!=n)&&(n=r),(s=0?(a=(t.min.z-u.z)*h,o=(t.max.z-u.z)*h):(a=(t.max.z-u.z)*h,o=(t.min.z-u.z)*h),n>o||a>i?null:((a>n||n!=n)&&(n=a),(o=0?n:i,e)))}intersectsBox(t){return null!==this.intersectBox(t,Kt)}intersectTriangle(t,e,n,i,r){ne.subVectors(e,t),ie.subVectors(n,t),re.crossVectors(ne,ie);let s,a=this.direction.dot(re);if(a>0){if(i)return null;s=1}else{if(!(a<0))return null;s=-1,a=-a}ee.subVectors(this.origin,t);const o=s*this.direction.dot(ie.crossVectors(ee,ie));if(o<0)return null;const l=s*this.direction.dot(ne.cross(ee));if(l<0)return null;if(o+l>a)return null;const c=-s*ee.dot(re);return c<0?null:this.at(c/a,r)}applyMatrix4(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this}equals(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class ae{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(t,e,n,i,r,s,a,o,l,c,h,u,d,p,m,f){const g=this.elements;return g[0]=t,g[4]=e,g[8]=n,g[12]=i,g[1]=r,g[5]=s,g[9]=a,g[13]=o,g[2]=l,g[6]=c,g[10]=h,g[14]=u,g[3]=d,g[7]=p,g[11]=m,g[15]=f,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new ae).fromArray(this.elements)}copy(t){const e=this.elements,n=t.elements;return e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e[9]=n[9],e[10]=n[10],e[11]=n[11],e[12]=n[12],e[13]=n[13],e[14]=n[14],e[15]=n[15],this}copyPosition(t){const e=this.elements,n=t.elements;return e[12]=n[12],e[13]=n[13],e[14]=n[14],this}setFromMatrix3(t){const e=t.elements;return this.set(e[0],e[3],e[6],0,e[1],e[4],e[7],0,e[2],e[5],e[8],0,0,0,0,1),this}extractBasis(t,e,n){return t.setFromMatrixColumn(this,0),e.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(t,e,n){return this.set(t.x,e.x,n.x,0,t.y,e.y,n.y,0,t.z,e.z,n.z,0,0,0,0,1),this}extractRotation(t){const e=this.elements,n=t.elements,i=1/oe.setFromMatrixColumn(t,0).length(),r=1/oe.setFromMatrixColumn(t,1).length(),s=1/oe.setFromMatrixColumn(t,2).length();return e[0]=n[0]*i,e[1]=n[1]*i,e[2]=n[2]*i,e[3]=0,e[4]=n[4]*r,e[5]=n[5]*r,e[6]=n[6]*r,e[7]=0,e[8]=n[8]*s,e[9]=n[9]*s,e[10]=n[10]*s,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromEuler(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const e=this.elements,n=t.x,i=t.y,r=t.z,s=Math.cos(n),a=Math.sin(n),o=Math.cos(i),l=Math.sin(i),c=Math.cos(r),h=Math.sin(r);if("XYZ"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=-o*h,e[8]=l,e[1]=n+i*l,e[5]=t-r*l,e[9]=-a*o,e[2]=r-t*l,e[6]=i+n*l,e[10]=s*o}else if("YXZ"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t+r*a,e[4]=i*a-n,e[8]=s*l,e[1]=s*h,e[5]=s*c,e[9]=-a,e[2]=n*a-i,e[6]=r+t*a,e[10]=s*o}else if("ZXY"===t.order){const t=o*c,n=o*h,i=l*c,r=l*h;e[0]=t-r*a,e[4]=-s*h,e[8]=i+n*a,e[1]=n+i*a,e[5]=s*c,e[9]=r-t*a,e[2]=-s*l,e[6]=a,e[10]=s*o}else if("ZYX"===t.order){const t=s*c,n=s*h,i=a*c,r=a*h;e[0]=o*c,e[4]=i*l-n,e[8]=t*l+r,e[1]=o*h,e[5]=r*l+t,e[9]=n*l-i,e[2]=-l,e[6]=a*o,e[10]=s*o}else if("YZX"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=r-t*h,e[8]=i*h+n,e[1]=h,e[5]=s*c,e[9]=-a*c,e[2]=-l*c,e[6]=n*h+i,e[10]=t-r*h}else if("XZY"===t.order){const t=s*o,n=s*l,i=a*o,r=a*l;e[0]=o*c,e[4]=-h,e[8]=l*c,e[1]=t*h+r,e[5]=s*c,e[9]=n*h-i,e[2]=i*h-n,e[6]=a*c,e[10]=r*h+t}return e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this}makeRotationFromQuaternion(t){return this.compose(ce,t,he)}lookAt(t,e,n){const i=this.elements;return pe.subVectors(t,e),0===pe.lengthSq()&&(pe.z=1),pe.normalize(),ue.crossVectors(n,pe),0===ue.lengthSq()&&(1===Math.abs(n.z)?pe.x+=1e-4:pe.z+=1e-4,pe.normalize(),ue.crossVectors(n,pe)),ue.normalize(),de.crossVectors(pe,ue),i[0]=ue.x,i[4]=de.x,i[8]=pe.x,i[1]=ue.y,i[5]=de.y,i[9]=pe.y,i[2]=ue.z,i[6]=de.z,i[10]=pe.z,this}multiply(t,e){return void 0!==e?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,e)):this.multiplyMatrices(this,t)}premultiply(t){return this.multiplyMatrices(t,this)}multiplyMatrices(t,e){const n=t.elements,i=e.elements,r=this.elements,s=n[0],a=n[4],o=n[8],l=n[12],c=n[1],h=n[5],u=n[9],d=n[13],p=n[2],m=n[6],f=n[10],g=n[14],v=n[3],y=n[7],x=n[11],_=n[15],b=i[0],M=i[4],w=i[8],S=i[12],T=i[1],E=i[5],A=i[9],L=i[13],R=i[2],C=i[6],P=i[10],I=i[14],D=i[3],N=i[7],z=i[11],B=i[15];return r[0]=s*b+a*T+o*R+l*D,r[4]=s*M+a*E+o*C+l*N,r[8]=s*w+a*A+o*P+l*z,r[12]=s*S+a*L+o*I+l*B,r[1]=c*b+h*T+u*R+d*D,r[5]=c*M+h*E+u*C+d*N,r[9]=c*w+h*A+u*P+d*z,r[13]=c*S+h*L+u*I+d*B,r[2]=p*b+m*T+f*R+g*D,r[6]=p*M+m*E+f*C+g*N,r[10]=p*w+m*A+f*P+g*z,r[14]=p*S+m*L+f*I+g*B,r[3]=v*b+y*T+x*R+_*D,r[7]=v*M+y*E+x*C+_*N,r[11]=v*w+y*A+x*P+_*z,r[15]=v*S+y*L+x*I+_*B,this}multiplyScalar(t){const e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this}determinant(){const t=this.elements,e=t[0],n=t[4],i=t[8],r=t[12],s=t[1],a=t[5],o=t[9],l=t[13],c=t[2],h=t[6],u=t[10],d=t[14];return t[3]*(+r*o*h-i*l*h-r*a*u+n*l*u+i*a*d-n*o*d)+t[7]*(+e*o*d-e*l*u+r*s*u-i*s*d+i*l*c-r*o*c)+t[11]*(+e*l*h-e*a*d-r*s*h+n*s*d+r*a*c-n*l*c)+t[15]*(-i*a*c-e*o*h+e*a*u+i*s*h-n*s*u+n*o*c)}transpose(){const t=this.elements;let e;return e=t[1],t[1]=t[4],t[4]=e,e=t[2],t[2]=t[8],t[8]=e,e=t[6],t[6]=t[9],t[9]=e,e=t[3],t[3]=t[12],t[12]=e,e=t[7],t[7]=t[13],t[13]=e,e=t[11],t[11]=t[14],t[14]=e,this}setPosition(t,e,n){const i=this.elements;return t.isVector3?(i[12]=t.x,i[13]=t.y,i[14]=t.z):(i[12]=t,i[13]=e,i[14]=n),this}invert(){const t=this.elements,e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],l=t[7],c=t[8],h=t[9],u=t[10],d=t[11],p=t[12],m=t[13],f=t[14],g=t[15],v=h*f*l-m*u*l+m*o*d-a*f*d-h*o*g+a*u*g,y=p*u*l-c*f*l-p*o*d+s*f*d+c*o*g-s*u*g,x=c*m*l-p*h*l+p*a*d-s*m*d-c*a*g+s*h*g,_=p*h*o-c*m*o-p*a*u+s*m*u+c*a*f-s*h*f,b=e*v+n*y+i*x+r*_;if(0===b)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const M=1/b;return t[0]=v*M,t[1]=(m*u*r-h*f*r-m*i*d+n*f*d+h*i*g-n*u*g)*M,t[2]=(a*f*r-m*o*r+m*i*l-n*f*l-a*i*g+n*o*g)*M,t[3]=(h*o*r-a*u*r-h*i*l+n*u*l+a*i*d-n*o*d)*M,t[4]=y*M,t[5]=(c*f*r-p*u*r+p*i*d-e*f*d-c*i*g+e*u*g)*M,t[6]=(p*o*r-s*f*r-p*i*l+e*f*l+s*i*g-e*o*g)*M,t[7]=(s*u*r-c*o*r+c*i*l-e*u*l-s*i*d+e*o*d)*M,t[8]=x*M,t[9]=(p*h*r-c*m*r-p*n*d+e*m*d+c*n*g-e*h*g)*M,t[10]=(s*m*r-p*a*r+p*n*l-e*m*l-s*n*g+e*a*g)*M,t[11]=(c*a*r-s*h*r-c*n*l+e*h*l+s*n*d-e*a*d)*M,t[12]=_*M,t[13]=(c*m*i-p*h*i+p*n*u-e*m*u-c*n*f+e*h*f)*M,t[14]=(p*a*i-s*m*i-p*n*o+e*m*o+s*n*f-e*a*f)*M,t[15]=(s*h*i-c*a*i+c*n*o-e*h*o-s*n*u+e*a*u)*M,this}scale(t){const e=this.elements,n=t.x,i=t.y,r=t.z;return e[0]*=n,e[4]*=i,e[8]*=r,e[1]*=n,e[5]*=i,e[9]*=r,e[2]*=n,e[6]*=i,e[10]*=r,e[3]*=n,e[7]*=i,e[11]*=r,this}getMaxScaleOnAxis(){const t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],i=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,n,i))}makeTranslation(t,e,n){return this.set(1,0,0,t,0,1,0,e,0,0,1,n,0,0,0,1),this}makeRotationX(t){const e=Math.cos(t),n=Math.sin(t);return this.set(1,0,0,0,0,e,-n,0,0,n,e,0,0,0,0,1),this}makeRotationY(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,0,n,0,0,1,0,0,-n,0,e,0,0,0,0,1),this}makeRotationZ(t){const e=Math.cos(t),n=Math.sin(t);return this.set(e,-n,0,0,n,e,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(t,e){const n=Math.cos(e),i=Math.sin(e),r=1-n,s=t.x,a=t.y,o=t.z,l=r*s,c=r*a;return this.set(l*s+n,l*a-i*o,l*o+i*a,0,l*a+i*o,c*a+n,c*o-i*s,0,l*o-i*a,c*o+i*s,r*o*o+n,0,0,0,0,1),this}makeScale(t,e,n){return this.set(t,0,0,0,0,e,0,0,0,0,n,0,0,0,0,1),this}makeShear(t,e,n,i,r,s){return this.set(1,n,r,0,t,1,s,0,e,i,1,0,0,0,0,1),this}compose(t,e,n){const i=this.elements,r=e._x,s=e._y,a=e._z,o=e._w,l=r+r,c=s+s,h=a+a,u=r*l,d=r*c,p=r*h,m=s*c,f=s*h,g=a*h,v=o*l,y=o*c,x=o*h,_=n.x,b=n.y,M=n.z;return i[0]=(1-(m+g))*_,i[1]=(d+x)*_,i[2]=(p-y)*_,i[3]=0,i[4]=(d-x)*b,i[5]=(1-(u+g))*b,i[6]=(f+v)*b,i[7]=0,i[8]=(p+y)*M,i[9]=(f-v)*M,i[10]=(1-(u+m))*M,i[11]=0,i[12]=t.x,i[13]=t.y,i[14]=t.z,i[15]=1,this}decompose(t,e,n){const i=this.elements;let r=oe.set(i[0],i[1],i[2]).length();const s=oe.set(i[4],i[5],i[6]).length(),a=oe.set(i[8],i[9],i[10]).length();this.determinant()<0&&(r=-r),t.x=i[12],t.y=i[13],t.z=i[14],le.copy(this);const o=1/r,l=1/s,c=1/a;return le.elements[0]*=o,le.elements[1]*=o,le.elements[2]*=o,le.elements[4]*=l,le.elements[5]*=l,le.elements[6]*=l,le.elements[8]*=c,le.elements[9]*=c,le.elements[10]*=c,e.setFromRotationMatrix(le),n.x=r,n.y=s,n.z=a,this}makePerspective(t,e,n,i,r,s){void 0===s&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const a=this.elements,o=2*r/(e-t),l=2*r/(n-i),c=(e+t)/(e-t),h=(n+i)/(n-i),u=-(s+r)/(s-r),d=-2*s*r/(s-r);return a[0]=o,a[4]=0,a[8]=c,a[12]=0,a[1]=0,a[5]=l,a[9]=h,a[13]=0,a[2]=0,a[6]=0,a[10]=u,a[14]=d,a[3]=0,a[7]=0,a[11]=-1,a[15]=0,this}makeOrthographic(t,e,n,i,r,s){const a=this.elements,o=1/(e-t),l=1/(n-i),c=1/(s-r),h=(e+t)*o,u=(n+i)*l,d=(s+r)*c;return a[0]=2*o,a[4]=0,a[8]=0,a[12]=-h,a[1]=0,a[5]=2*l,a[9]=0,a[13]=-u,a[2]=0,a[6]=0,a[10]=-2*c,a[14]=-d,a[3]=0,a[7]=0,a[11]=0,a[15]=1,this}equals(t){const e=this.elements,n=t.elements;for(let t=0;t<16;t++)if(e[t]!==n[t])return!1;return!0}fromArray(t,e=0){for(let n=0;n<16;n++)this.elements[n]=t[n+e];return this}toArray(t=[],e=0){const n=this.elements;return t[e]=n[0],t[e+1]=n[1],t[e+2]=n[2],t[e+3]=n[3],t[e+4]=n[4],t[e+5]=n[5],t[e+6]=n[6],t[e+7]=n[7],t[e+8]=n[8],t[e+9]=n[9],t[e+10]=n[10],t[e+11]=n[11],t[e+12]=n[12],t[e+13]=n[13],t[e+14]=n[14],t[e+15]=n[15],t}}ae.prototype.isMatrix4=!0;const oe=new Rt,le=new ae,ce=new Rt(0,0,0),he=new Rt(1,1,1),ue=new Rt,de=new Rt,pe=new Rt,me=new ae,fe=new Lt;class ge{constructor(t=0,e=0,n=0,i=ge.DefaultOrder){this._x=t,this._y=e,this._z=n,this._order=i}get x(){return this._x}set x(t){this._x=t,this._onChangeCallback()}get y(){return this._y}set y(t){this._y=t,this._onChangeCallback()}get z(){return this._z}set z(t){this._z=t,this._onChangeCallback()}get order(){return this._order}set order(t){this._order=t,this._onChangeCallback()}set(t,e,n,i=this._order){return this._x=t,this._y=e,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(t){return this._x=t._x,this._y=t._y,this._z=t._z,this._order=t._order,this._onChangeCallback(),this}setFromRotationMatrix(t,e=this._order,n=!0){const i=t.elements,r=i[0],s=i[4],a=i[8],o=i[1],l=i[5],c=i[9],h=i[2],u=i[6],d=i[10];switch(e){case"XYZ":this._y=Math.asin(ht(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-c,d),this._z=Math.atan2(-s,r)):(this._x=Math.atan2(u,l),this._z=0);break;case"YXZ":this._x=Math.asin(-ht(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(a,d),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-h,r),this._z=0);break;case"ZXY":this._x=Math.asin(ht(u,-1,1)),Math.abs(u)<.9999999?(this._y=Math.atan2(-h,d),this._z=Math.atan2(-s,l)):(this._y=0,this._z=Math.atan2(o,r));break;case"ZYX":this._y=Math.asin(-ht(h,-1,1)),Math.abs(h)<.9999999?(this._x=Math.atan2(u,d),this._z=Math.atan2(o,r)):(this._x=0,this._z=Math.atan2(-s,l));break;case"YZX":this._z=Math.asin(ht(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-h,r)):(this._x=0,this._y=Math.atan2(a,d));break;case"XZY":this._z=Math.asin(-ht(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(u,l),this._y=Math.atan2(a,r)):(this._x=Math.atan2(-c,d),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+e)}return this._order=e,!0===n&&this._onChangeCallback(),this}setFromQuaternion(t,e,n){return me.makeRotationFromQuaternion(t),this.setFromRotationMatrix(me,e,n)}setFromVector3(t,e=this._order){return this.set(t.x,t.y,t.z,e)}reorder(t){return fe.setFromEuler(this),this.setFromQuaternion(fe,t)}equals(t){return t._x===this._x&&t._y===this._y&&t._z===this._z&&t._order===this._order}fromArray(t){return this._x=t[0],this._y=t[1],this._z=t[2],void 0!==t[3]&&(this._order=t[3]),this._onChangeCallback(),this}toArray(t=[],e=0){return t[e]=this._x,t[e+1]=this._y,t[e+2]=this._z,t[e+3]=this._order,t}toVector3(t){return t?t.set(this._x,this._y,this._z):new Rt(this._x,this._y,this._z)}_onChange(t){return this._onChangeCallback=t,this}_onChangeCallback(){}}ge.prototype.isEuler=!0,ge.DefaultOrder="XYZ",ge.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class ve{constructor(){this.mask=1}set(t){this.mask=1<1){for(let t=0;t1){for(let t=0;t0){i.children=[];for(let e=0;e0){i.animations=[];for(let e=0;e0&&(n.geometries=e),i.length>0&&(n.materials=i),r.length>0&&(n.textures=r),a.length>0&&(n.images=a),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c)}return n.object=i,n;function s(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}}clone(t){return(new this.constructor).copy(this,t)}copy(t,e=!0){if(this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.rotation.order=t.rotation.order,this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===e)for(let e=0;e0?i.multiplyScalar(1/Math.sqrt(r)):i.set(0,0,0)}static getBarycoord(t,e,n,i,r){Ie.subVectors(i,e),De.subVectors(n,e),Ne.subVectors(t,e);const s=Ie.dot(Ie),a=Ie.dot(De),o=Ie.dot(Ne),l=De.dot(De),c=De.dot(Ne),h=s*l-a*a;if(0===h)return r.set(-2,-1,-1);const u=1/h,d=(l*o-a*c)*u,p=(s*c-a*o)*u;return r.set(1-d-p,p,d)}static containsPoint(t,e,n,i){return this.getBarycoord(t,e,n,i,ze),ze.x>=0&&ze.y>=0&&ze.x+ze.y<=1}static getUV(t,e,n,i,r,s,a,o){return this.getBarycoord(t,e,n,i,ze),o.set(0,0),o.addScaledVector(r,ze.x),o.addScaledVector(s,ze.y),o.addScaledVector(a,ze.z),o}static isFrontFacing(t,e,n,i){return Ie.subVectors(n,e),De.subVectors(t,e),Ie.cross(De).dot(i)<0}set(t,e,n){return this.a.copy(t),this.b.copy(e),this.c.copy(n),this}setFromPointsAndIndices(t,e,n,i){return this.a.copy(t[e]),this.b.copy(t[n]),this.c.copy(t[i]),this}clone(){return(new this.constructor).copy(this)}copy(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this}getArea(){return Ie.subVectors(this.c,this.b),De.subVectors(this.a,this.b),.5*Ie.cross(De).length()}getMidpoint(t){return t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(t){return ke.getNormal(this.a,this.b,this.c,t)}getPlane(t){return t.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(t,e){return ke.getBarycoord(t,this.a,this.b,this.c,e)}getUV(t,e,n,i,r){return ke.getUV(t,this.a,this.b,this.c,e,n,i,r)}containsPoint(t){return ke.containsPoint(t,this.a,this.b,this.c)}isFrontFacing(t){return ke.isFrontFacing(this.a,this.b,this.c,t)}intersectsBox(t){return t.intersectsTriangle(this)}closestPointToPoint(t,e){const n=this.a,i=this.b,r=this.c;let s,a;Be.subVectors(i,n),Fe.subVectors(r,n),Ue.subVectors(t,n);const o=Be.dot(Ue),l=Fe.dot(Ue);if(o<=0&&l<=0)return e.copy(n);He.subVectors(t,i);const c=Be.dot(He),h=Fe.dot(He);if(c>=0&&h<=c)return e.copy(i);const u=o*h-c*l;if(u<=0&&o>=0&&c<=0)return s=o/(o-c),e.copy(n).addScaledVector(Be,s);Ge.subVectors(t,r);const d=Be.dot(Ge),p=Fe.dot(Ge);if(p>=0&&d<=p)return e.copy(r);const m=d*l-o*p;if(m<=0&&l>=0&&p<=0)return a=l/(l-p),e.copy(n).addScaledVector(Fe,a);const f=c*p-d*h;if(f<=0&&h-c>=0&&d-p>=0)return Oe.subVectors(r,i),a=(h-c)/(h-c+(d-p)),e.copy(i).addScaledVector(Oe,a);const g=1/(f+m+u);return s=m*g,a=u*g,e.copy(n).addScaledVector(Be,s).addScaledVector(Fe,a)}equals(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}let Ve=0;class We extends rt{constructor(){super(),Object.defineProperty(this,"id",{value:Ve++}),this.uuid=ct(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.vertexColors=!1,this.opacity=1,this.format=E,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=n,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=tt,this.stencilZFail=tt,this.stencilZPass=tt,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0,this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(t){this._alphaTest>0!=t>0&&this.version++,this._alphaTest=t}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(t){if(void 0!==t)for(const e in t){const n=t[e];if(void 0===n){console.warn("THREE.Material: '"+e+"' parameter is undefined.");continue}if("shading"===e){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===n;continue}const i=this[e];void 0!==i?i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[e]=n:console.warn("THREE."+this.type+": '"+e+"' is not a property of this material.")}}toJSON(t){const e=void 0===t||"string"==typeof t;e&&(t={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function i(t){const e=[];for(const n in t){const i=t[n];delete i.metadata,e.push(i)}return e}if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),this.sheenTint&&this.sheenTint.isColor&&(n.sheenTint=this.sheenTint.getHex()),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularTint&&this.specularTint.isColor&&(n.specularTint=this.specularTint.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(t).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(t).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(t).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(n.map=this.map.toJSON(t).uuid),this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(t).uuid),this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(t).uuid),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(t).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(t).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(t).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(t).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(n.displacementMap=this.displacementMap.toJSON(t).uuid,n.displacementScale=this.displacementScale,n.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(t).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(t).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(t).uuid),this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(t).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(t).uuid),this.specularTintMap&&this.specularTintMap.isTexture&&(n.specularTintMap=this.specularTintMap.toJSON(t).uuid),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(t).uuid,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(t).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(t).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(t).uuid),void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationTint&&(n.attenuationTint=this.attenuationTint.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),1!==this.blending&&(n.blending=this.blending),0!==this.side&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.format!==E&&(n.format=this.format),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(n.userData=this.userData),e){const e=i(t.textures),r=i(t.images);e.length>0&&(n.textures=e),r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.format=t.format,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;const e=t.clippingPlanes;let n=null;if(null!==e){const t=e.length;n=new Array(t);for(let i=0;i!==t;++i)n[i]=e[i].clone()}return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.alphaToCoverage=t.alphaToCoverage,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(t){!0===t&&this.version++}}We.prototype.isMaterial=!0;const je={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},qe={h:0,s:0,l:0},Xe={h:0,s:0,l:0};function Ye(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+6*(e-t)*(2/3-n):t}function Je(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function Ze(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}class Qe{constructor(t,e,n){return void 0===e&&void 0===n?this.set(t):this.setRGB(t,e,n)}set(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this}setScalar(t){return this.r=t,this.g=t,this.b=t,this}setHex(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this}setRGB(t,e,n){return this.r=t,this.g=e,this.b=n,this}setHSL(t,e,n){if(t=ut(t,1),e=ht(e,0,1),n=ht(n,0,1),0===e)this.r=this.g=this.b=n;else{const i=n<=.5?n*(1+e):n+e-n*e,r=2*n-i;this.r=Ye(r,i,t+1/3),this.g=Ye(r,i,t),this.b=Ye(r,i,t-1/3)}return this}setStyle(t){function e(e){void 0!==e&&parseFloat(e)<1&&console.warn("THREE.Color: Alpha component of "+t+" will be ignored.")}let n;if(n=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t)){let t;const i=n[1],r=n[2];switch(i){case"rgb":case"rgba":if(t=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(255,parseInt(t[1],10))/255,this.g=Math.min(255,parseInt(t[2],10))/255,this.b=Math.min(255,parseInt(t[3],10))/255,e(t[4]),this;if(t=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))return this.r=Math.min(100,parseInt(t[1],10))/100,this.g=Math.min(100,parseInt(t[2],10))/100,this.b=Math.min(100,parseInt(t[3],10))/100,e(t[4]),this;break;case"hsl":case"hsla":if(t=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)){const n=parseFloat(t[1])/360,i=parseInt(t[2],10)/100,r=parseInt(t[3],10)/100;return e(t[4]),this.setHSL(n,i,r)}}}else if(n=/^\#([A-Fa-f\d]+)$/.exec(t)){const t=n[1],e=t.length;if(3===e)return this.r=parseInt(t.charAt(0)+t.charAt(0),16)/255,this.g=parseInt(t.charAt(1)+t.charAt(1),16)/255,this.b=parseInt(t.charAt(2)+t.charAt(2),16)/255,this;if(6===e)return this.r=parseInt(t.charAt(0)+t.charAt(1),16)/255,this.g=parseInt(t.charAt(2)+t.charAt(3),16)/255,this.b=parseInt(t.charAt(4)+t.charAt(5),16)/255,this}return t&&t.length>0?this.setColorName(t):this}setColorName(t){const e=je[t.toLowerCase()];return void 0!==e?this.setHex(e):console.warn("THREE.Color: Unknown color "+t),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(t){return this.r=t.r,this.g=t.g,this.b=t.b,this}copyGammaToLinear(t,e=2){return this.r=Math.pow(t.r,e),this.g=Math.pow(t.g,e),this.b=Math.pow(t.b,e),this}copyLinearToGamma(t,e=2){const n=e>0?1/e:1;return this.r=Math.pow(t.r,n),this.g=Math.pow(t.g,n),this.b=Math.pow(t.b,n),this}convertGammaToLinear(t){return this.copyGammaToLinear(this,t),this}convertLinearToGamma(t){return this.copyLinearToGamma(this,t),this}copySRGBToLinear(t){return this.r=Je(t.r),this.g=Je(t.g),this.b=Je(t.b),this}copyLinearToSRGB(t){return this.r=Ze(t.r),this.g=Ze(t.g),this.b=Ze(t.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(t){const e=this.r,n=this.g,i=this.b,r=Math.max(e,n,i),s=Math.min(e,n,i);let a,o;const l=(s+r)/2;if(s===r)a=0,o=0;else{const t=r-s;switch(o=l<=.5?t/(r+s):t/(2-r-s),r){case e:a=(n-i)/t+(ne&&(e=t[n]);return e}const mn={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function fn(t,e){return new mn[t](e)}let gn=0;const vn=new ae,yn=new Pe,xn=new Rt,_n=new It,bn=new It,Mn=new Rt;class wn extends rt{constructor(){super(),Object.defineProperty(this,"id",{value:gn++}),this.uuid=ct(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(t){return Array.isArray(t)?this.index=new(pn(t)>65535?cn:on)(t,1):this.index=t,this}getAttribute(t){return this.attributes[t]}setAttribute(t,e){return this.attributes[t]=e,this}deleteAttribute(t){return delete this.attributes[t],this}hasAttribute(t){return void 0!==this.attributes[t]}addGroup(t,e,n=0){this.groups.push({start:t,count:e,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(t,e){this.drawRange.start=t,this.drawRange.count=e}applyMatrix4(t){const e=this.attributes.position;void 0!==e&&(e.applyMatrix4(t),e.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const e=(new yt).getNormalMatrix(t);n.applyNormalMatrix(e),n.needsUpdate=!0}const i=this.attributes.tangent;return void 0!==i&&(i.transformDirection(t),i.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(t){return vn.makeRotationFromQuaternion(t),this.applyMatrix4(vn),this}rotateX(t){return vn.makeRotationX(t),this.applyMatrix4(vn),this}rotateY(t){return vn.makeRotationY(t),this.applyMatrix4(vn),this}rotateZ(t){return vn.makeRotationZ(t),this.applyMatrix4(vn),this}translate(t,e,n){return vn.makeTranslation(t,e,n),this.applyMatrix4(vn),this}scale(t,e,n){return vn.makeScale(t,e,n),this.applyMatrix4(vn),this}lookAt(t){return yn.lookAt(t),yn.updateMatrix(),this.applyMatrix4(yn.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(xn).negate(),this.translate(xn.x,xn.y,xn.z),this}setFromPoints(t){const e=[];for(let n=0,i=t.length;n0&&(t.userData=this.userData),void 0!==this.parameters){const e=this.parameters;for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}t.data={attributes:{}};const e=this.index;null!==e&&(t.data.index={type:e.array.constructor.name,array:Array.prototype.slice.call(e.array)});const n=this.attributes;for(const e in n){const i=n[e];t.data.attributes[e]=i.toJSON(t.data)}const i={};let r=!1;for(const e in this.morphAttributes){const n=this.morphAttributes[e],s=[];for(let e=0,i=n.length;e0&&(i[e]=s,r=!0)}r&&(t.data.morphAttributes=i,t.data.morphTargetsRelative=this.morphTargetsRelative);const s=this.groups;s.length>0&&(t.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;return null!==a&&(t.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),t}clone(){return(new wn).copy(this)}copy(t){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const e={};this.name=t.name;const n=t.index;null!==n&&this.setIndex(n.clone(e));const i=t.attributes;for(const t in i){const n=i[t];this.setAttribute(t,n.clone(e))}const r=t.morphAttributes;for(const t in r){const n=[],i=r[t];for(let t=0,r=i.length;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(t,e){const n=this.geometry,i=this.material,r=this.matrixWorld;if(void 0===i)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),En.copy(n.boundingSphere),En.applyMatrix4(r),!1===t.ray.intersectsSphere(En))return;if(Sn.copy(r).invert(),Tn.copy(t.ray).applyMatrix4(Sn),null!==n.boundingBox&&!1===Tn.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const r=n.index,a=n.attributes.position,o=n.morphAttributes.position,l=n.morphTargetsRelative,c=n.attributes.uv,h=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==r)if(Array.isArray(i))for(let n=0,p=u.length;nn.far?null:{distance:c,point:Hn.clone(),object:t}}(t,e,n,i,An,Ln,Rn,Un);if(p){o&&(Bn.fromBufferAttribute(o,c),Fn.fromBufferAttribute(o,h),On.fromBufferAttribute(o,u),p.uv=ke.getUV(Un,An,Ln,Rn,Bn,Fn,On,new vt)),l&&(Bn.fromBufferAttribute(l,c),Fn.fromBufferAttribute(l,h),On.fromBufferAttribute(l,u),p.uv2=ke.getUV(Un,An,Ln,Rn,Bn,Fn,On,new vt));const t={a:c,b:h,c:u,normal:new Rt,materialIndex:0};ke.getNormal(An,Ln,Rn,t.normal),p.face=t}return p}Gn.prototype.isMesh=!0;class Vn extends wn{constructor(t=1,e=1,n=1,i=1,r=1,s=1){super(),this.type="BoxGeometry",this.parameters={width:t,height:e,depth:n,widthSegments:i,heightSegments:r,depthSegments:s};const a=this;i=Math.floor(i),r=Math.floor(r),s=Math.floor(s);const o=[],l=[],c=[],h=[];let u=0,d=0;function p(t,e,n,i,r,s,p,m,f,g,v){const y=s/f,x=p/g,_=s/2,b=p/2,M=m/2,w=f+1,S=g+1;let T=0,E=0;const A=new Rt;for(let s=0;s0?1:-1,c.push(A.x,A.y,A.z),h.push(o/f),h.push(1-s/g),T+=1}}for(let t=0;t0&&(e.defines=this.defines),e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader;const n={};for(const t in this.extensions)!0===this.extensions[t]&&(n[t]=!0);return Object.keys(n).length>0&&(e.extensions=n),e}}Xn.prototype.isShaderMaterial=!0;class Yn extends Pe{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new ae,this.projectionMatrix=new ae,this.projectionMatrixInverse=new ae}copy(t,e){return super.copy(t,e),this.matrixWorldInverse.copy(t.matrixWorldInverse),this.projectionMatrix.copy(t.projectionMatrix),this.projectionMatrixInverse.copy(t.projectionMatrixInverse),this}getWorldDirection(t){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return t.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(t){super.updateMatrixWorld(t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}Yn.prototype.isCamera=!0;class Jn extends Yn{constructor(t=50,e=1,n=.1,i=2e3){super(),this.type="PerspectiveCamera",this.fov=t,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=e,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.fov=t.fov,this.zoom=t.zoom,this.near=t.near,this.far=t.far,this.focus=t.focus,this.aspect=t.aspect,this.view=null===t.view?null:Object.assign({},t.view),this.filmGauge=t.filmGauge,this.filmOffset=t.filmOffset,this}setFocalLength(t){const e=.5*this.getFilmHeight()/t;this.fov=2*lt*Math.atan(e),this.updateProjectionMatrix()}getFocalLength(){const t=Math.tan(.5*ot*this.fov);return.5*this.getFilmHeight()/t}getEffectiveFOV(){return 2*lt*Math.atan(Math.tan(.5*ot*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(t,e,n,i,r,s){this.aspect=t/e,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=this.near;let e=t*Math.tan(.5*ot*this.fov)/this.zoom,n=2*e,i=this.aspect*n,r=-.5*i;const s=this.view;if(null!==this.view&&this.view.enabled){const t=s.fullWidth,a=s.fullHeight;r+=s.offsetX*i/t,e-=s.offsetY*n/a,i*=s.width/t,n*=s.height/a}const a=this.filmOffset;0!==a&&(r+=t*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(r,r+i,e,e-n,t,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.fov=this.fov,e.object.zoom=this.zoom,e.object.near=this.near,e.object.far=this.far,e.object.focus=this.focus,e.object.aspect=this.aspect,null!==this.view&&(e.object.view=Object.assign({},this.view)),e.object.filmGauge=this.filmGauge,e.object.filmOffset=this.filmOffset,e}}Jn.prototype.isPerspectiveCamera=!0;const Zn=90;class Qn extends Pe{constructor(t,e,n){if(super(),this.type="CubeCamera",!0!==n.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=n;const i=new Jn(Zn,1,t,e);i.layers=this.layers,i.up.set(0,-1,0),i.lookAt(new Rt(1,0,0)),this.add(i);const r=new Jn(Zn,1,t,e);r.layers=this.layers,r.up.set(0,-1,0),r.lookAt(new Rt(-1,0,0)),this.add(r);const s=new Jn(Zn,1,t,e);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(new Rt(0,1,0)),this.add(s);const a=new Jn(Zn,1,t,e);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(new Rt(0,-1,0)),this.add(a);const o=new Jn(Zn,1,t,e);o.layers=this.layers,o.up.set(0,-1,0),o.lookAt(new Rt(0,0,1)),this.add(o);const l=new Jn(Zn,1,t,e);l.layers=this.layers,l.up.set(0,-1,0),l.lookAt(new Rt(0,0,-1)),this.add(l)}update(t,e){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[i,r,s,a,o,l]=this.children,c=t.xr.enabled,h=t.getRenderTarget();t.xr.enabled=!1;const u=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,t.setRenderTarget(n,0),t.render(e,i),t.setRenderTarget(n,1),t.render(e,r),t.setRenderTarget(n,2),t.render(e,s),t.setRenderTarget(n,3),t.render(e,a),t.setRenderTarget(n,4),t.render(e,o),n.texture.generateMipmaps=u,t.setRenderTarget(n,5),t.render(e,l),t.setRenderTarget(h),t.xr.enabled=c}}class Kn extends Mt{constructor(t,e,n,i,s,a,o,l,c,h){super(t=void 0!==t?t:[],e=void 0!==e?e:r,n,i,s,a,o=void 0!==o?o:T,l,c,h),this.flipY=!1}get images(){return this.image}set images(t){this.image=t}}Kn.prototype.isCubeTexture=!0;class $n extends Tt{constructor(t,e,n){Number.isInteger(e)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),e=n),super(t,t,e),e=e||{},this.texture=new Kn(void 0,e.mapping,e.wrapS,e.wrapT,e.magFilter,e.minFilter,e.format,e.type,e.anisotropy,e.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==e.generateMipmaps&&e.generateMipmaps,this.texture.minFilter=void 0!==e.minFilter?e.minFilter:g,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(t,e){this.texture.type=e.type,this.texture.format=E,this.texture.encoding=e.encoding,this.texture.generateMipmaps=e.generateMipmaps,this.texture.minFilter=e.minFilter,this.texture.magFilter=e.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},i=new Vn(5,5,5),r=new Xn({name:"CubemapFromEquirect",uniforms:Wn(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:1,blending:0});r.uniforms.tEquirect.value=e;const s=new Gn(i,r),a=e.minFilter;e.minFilter===y&&(e.minFilter=g);return new Qn(1,10,this).update(t,s),e.minFilter=a,s.geometry.dispose(),s.material.dispose(),this}clear(t,e,n,i){const r=t.getRenderTarget();for(let r=0;r<6;r++)t.setRenderTarget(this,r),t.clear(e,n,i);t.setRenderTarget(r)}}$n.prototype.isWebGLCubeRenderTarget=!0;const ti=new Rt,ei=new Rt,ni=new yt;class ii{constructor(t=new Rt(1,0,0),e=0){this.normal=t,this.constant=e}set(t,e){return this.normal.copy(t),this.constant=e,this}setComponents(t,e,n,i){return this.normal.set(t,e,n),this.constant=i,this}setFromNormalAndCoplanarPoint(t,e){return this.normal.copy(t),this.constant=-e.dot(this.normal),this}setFromCoplanarPoints(t,e,n){const i=ti.subVectors(n,e).cross(ei.subVectors(t,e)).normalize();return this.setFromNormalAndCoplanarPoint(i,t),this}copy(t){return this.normal.copy(t.normal),this.constant=t.constant,this}normalize(){const t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(t){return this.normal.dot(t)+this.constant}distanceToSphere(t){return this.distanceToPoint(t.center)-t.radius}projectPoint(t,e){return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)}intersectLine(t,e){const n=t.delta(ti),i=this.normal.dot(n);if(0===i)return 0===this.distanceToPoint(t.start)?e.copy(t.start):null;const r=-(t.start.dot(this.normal)+this.constant)/i;return r<0||r>1?null:e.copy(n).multiplyScalar(r).add(t.start)}intersectsLine(t){const e=this.distanceToPoint(t.start),n=this.distanceToPoint(t.end);return e<0&&n>0||n<0&&e>0}intersectsBox(t){return t.intersectsPlane(this)}intersectsSphere(t){return t.intersectsPlane(this)}coplanarPoint(t){return t.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(t,e){const n=e||ni.getNormalMatrix(t),i=this.coplanarPoint(ti).applyMatrix4(t),r=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(r),this}translate(t){return this.constant-=t.dot(this.normal),this}equals(t){return t.normal.equals(this.normal)&&t.constant===this.constant}clone(){return(new this.constructor).copy(this)}}ii.prototype.isPlane=!0;const ri=new Qt,si=new Rt;class ai{constructor(t=new ii,e=new ii,n=new ii,i=new ii,r=new ii,s=new ii){this.planes=[t,e,n,i,r,s]}set(t,e,n,i,r,s){const a=this.planes;return a[0].copy(t),a[1].copy(e),a[2].copy(n),a[3].copy(i),a[4].copy(r),a[5].copy(s),this}copy(t){const e=this.planes;for(let n=0;n<6;n++)e[n].copy(t.planes[n]);return this}setFromProjectionMatrix(t){const e=this.planes,n=t.elements,i=n[0],r=n[1],s=n[2],a=n[3],o=n[4],l=n[5],c=n[6],h=n[7],u=n[8],d=n[9],p=n[10],m=n[11],f=n[12],g=n[13],v=n[14],y=n[15];return e[0].setComponents(a-i,h-o,m-u,y-f).normalize(),e[1].setComponents(a+i,h+o,m+u,y+f).normalize(),e[2].setComponents(a+r,h+l,m+d,y+g).normalize(),e[3].setComponents(a-r,h-l,m-d,y-g).normalize(),e[4].setComponents(a-s,h-c,m-p,y-v).normalize(),e[5].setComponents(a+s,h+c,m+p,y+v).normalize(),this}intersectsObject(t){const e=t.geometry;return null===e.boundingSphere&&e.computeBoundingSphere(),ri.copy(e.boundingSphere).applyMatrix4(t.matrixWorld),this.intersectsSphere(ri)}intersectsSprite(t){return ri.center.set(0,0,0),ri.radius=.7071067811865476,ri.applyMatrix4(t.matrixWorld),this.intersectsSphere(ri)}intersectsSphere(t){const e=this.planes,n=t.center,i=-t.radius;for(let t=0;t<6;t++){if(e[t].distanceToPoint(n)0?t.max.x:t.min.x,si.y=i.normal.y>0?t.max.y:t.min.y,si.z=i.normal.z>0?t.max.z:t.min.z,i.distanceToPoint(si)<0)return!1}return!0}containsPoint(t){const e=this.planes;for(let n=0;n<6;n++)if(e[n].distanceToPoint(t)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function oi(){let t=null,e=!1,n=null,i=null;function r(e,s){n(e,s),i=t.requestAnimationFrame(r)}return{start:function(){!0!==e&&null!==n&&(i=t.requestAnimationFrame(r),e=!0)},stop:function(){t.cancelAnimationFrame(i),e=!1},setAnimationLoop:function(t){n=t},setContext:function(e){t=e}}}function li(t,e){const n=e.isWebGL2,i=new WeakMap;return{get:function(t){return t.isInterleavedBufferAttribute&&(t=t.data),i.get(t)},remove:function(e){e.isInterleavedBufferAttribute&&(e=e.data);const n=i.get(e);n&&(t.deleteBuffer(n.buffer),i.delete(e))},update:function(e,r){if(e.isGLBufferAttribute){const t=i.get(e);return void((!t||t.version 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotVH = saturate( dot( geometry.viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float NoH ) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float NoV, float NoL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( NoL + NoV - NoL * NoV ) ) );\n}\nvec3 BRDF_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getIBLIrradiance( const in GeometricContext geometry ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec;\n\t\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\t\treflectVec = reflect( - viewDir, normal );\n\t\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\t#else\n\t\t\t\treflectVec = refract( - viewDir, normal, refractionRatio );\n\t\t\t#endif\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tlightMapIrradiance *= PI;\n\t#endif\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularTintFactor = specularTint;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARTINTMAP\n\t\t\tspecularTintFactor *= specularTintMapTexelToLinear( texture2D( specularTintMap, vUv ) ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularTintFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularTintFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenTint = sheenTint;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenTint;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3(\t\t0, 1,\t\t0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += irradiance * BRDF_Sheen( material.roughness, directLight.direction, geometry, material.sheenTint );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t\tf.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3(\t1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108,\t1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605,\t1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionAlpha = 1.0;\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationTint, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\n\ttransmissionAlpha = transmission.a;\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationTint;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( float roughness, float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\n\t\tif ( attenuationDistance == 0.0 ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularTint;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARTINTMAP\n\t\tuniform sampler2D specularTintMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenTint;\n#endif\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - clearcoat * Fcc ) + clearcoatSpecular * clearcoat;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\t#include \n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"},ui={common:{diffuse:{value:new Qe(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new yt},uv2Transform:{value:new yt},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new vt(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Qe(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Qe(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new yt}},sprite:{diffuse:{value:new Qe(16777215)},opacity:{value:1},center:{value:new vt(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new yt}}},di={basic:{uniforms:jn([ui.common,ui.specularmap,ui.envmap,ui.aomap,ui.lightmap,ui.fog]),vertexShader:hi.meshbasic_vert,fragmentShader:hi.meshbasic_frag},lambert:{uniforms:jn([ui.common,ui.specularmap,ui.envmap,ui.aomap,ui.lightmap,ui.emissivemap,ui.fog,ui.lights,{emissive:{value:new Qe(0)}}]),vertexShader:hi.meshlambert_vert,fragmentShader:hi.meshlambert_frag},phong:{uniforms:jn([ui.common,ui.specularmap,ui.envmap,ui.aomap,ui.lightmap,ui.emissivemap,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.fog,ui.lights,{emissive:{value:new Qe(0)},specular:{value:new Qe(1118481)},shininess:{value:30}}]),vertexShader:hi.meshphong_vert,fragmentShader:hi.meshphong_frag},standard:{uniforms:jn([ui.common,ui.envmap,ui.aomap,ui.lightmap,ui.emissivemap,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.roughnessmap,ui.metalnessmap,ui.fog,ui.lights,{emissive:{value:new Qe(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hi.meshphysical_vert,fragmentShader:hi.meshphysical_frag},toon:{uniforms:jn([ui.common,ui.aomap,ui.lightmap,ui.emissivemap,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.gradientmap,ui.fog,ui.lights,{emissive:{value:new Qe(0)}}]),vertexShader:hi.meshtoon_vert,fragmentShader:hi.meshtoon_frag},matcap:{uniforms:jn([ui.common,ui.bumpmap,ui.normalmap,ui.displacementmap,ui.fog,{matcap:{value:null}}]),vertexShader:hi.meshmatcap_vert,fragmentShader:hi.meshmatcap_frag},points:{uniforms:jn([ui.points,ui.fog]),vertexShader:hi.points_vert,fragmentShader:hi.points_frag},dashed:{uniforms:jn([ui.common,ui.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hi.linedashed_vert,fragmentShader:hi.linedashed_frag},depth:{uniforms:jn([ui.common,ui.displacementmap]),vertexShader:hi.depth_vert,fragmentShader:hi.depth_frag},normal:{uniforms:jn([ui.common,ui.bumpmap,ui.normalmap,ui.displacementmap,{opacity:{value:1}}]),vertexShader:hi.meshnormal_vert,fragmentShader:hi.meshnormal_frag},sprite:{uniforms:jn([ui.sprite,ui.fog]),vertexShader:hi.sprite_vert,fragmentShader:hi.sprite_frag},background:{uniforms:{uvTransform:{value:new yt},t2D:{value:null}},vertexShader:hi.background_vert,fragmentShader:hi.background_frag},cube:{uniforms:jn([ui.envmap,{opacity:{value:1}}]),vertexShader:hi.cube_vert,fragmentShader:hi.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:hi.equirect_vert,fragmentShader:hi.equirect_frag},distanceRGBA:{uniforms:jn([ui.common,ui.displacementmap,{referencePosition:{value:new Rt},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hi.distanceRGBA_vert,fragmentShader:hi.distanceRGBA_frag},shadow:{uniforms:jn([ui.lights,ui.fog,{color:{value:new Qe(0)},opacity:{value:1}}]),vertexShader:hi.shadow_vert,fragmentShader:hi.shadow_frag}};function pi(t,e,n,i,r){const s=new Qe(0);let a,o,c=0,h=null,u=0,d=null;function p(t,e){n.buffers.color.setClear(t.r,t.g,t.b,e,r)}return{getClearColor:function(){return s},setClearColor:function(t,e=1){s.set(t),c=e,p(s,c)},getClearAlpha:function(){return c},setClearAlpha:function(t){c=t,p(s,c)},render:function(n,r){let m=!1,f=!0===r.isScene?r.background:null;f&&f.isTexture&&(f=e.get(f));const g=t.xr,v=g.getSession&&g.getSession();v&&"additive"===v.environmentBlendMode&&(f=null),null===f?p(s,c):f&&f.isColor&&(p(f,1),m=!0),(t.autoClear||m)&&t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil),f&&(f.isCubeTexture||f.mapping===l)?(void 0===o&&(o=new Gn(new Vn(1,1,1),new Xn({name:"BackgroundCubeMaterial",uniforms:Wn(di.cube.uniforms),vertexShader:di.cube.vertexShader,fragmentShader:di.cube.fragmentShader,side:1,depthTest:!1,depthWrite:!1,fog:!1})),o.geometry.deleteAttribute("normal"),o.geometry.deleteAttribute("uv"),o.onBeforeRender=function(t,e,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(o.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(o)),o.material.uniforms.envMap.value=f,o.material.uniforms.flipEnvMap.value=f.isCubeTexture&&!1===f.isRenderTargetTexture?-1:1,h===f&&u===f.version&&d===t.toneMapping||(o.material.needsUpdate=!0,h=f,u=f.version,d=t.toneMapping),n.unshift(o,o.geometry,o.material,0,0,null)):f&&f.isTexture&&(void 0===a&&(a=new Gn(new ci(2,2),new Xn({name:"BackgroundMaterial",uniforms:Wn(di.background.uniforms),vertexShader:di.background.vertexShader,fragmentShader:di.background.fragmentShader,side:0,depthTest:!1,depthWrite:!1,fog:!1})),a.geometry.deleteAttribute("normal"),Object.defineProperty(a.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(a)),a.material.uniforms.t2D.value=f,!0===f.matrixAutoUpdate&&f.updateMatrix(),a.material.uniforms.uvTransform.value.copy(f.matrix),h===f&&u===f.version&&d===t.toneMapping||(a.material.needsUpdate=!0,h=f,u=f.version,d=t.toneMapping),n.unshift(a,a.geometry,a.material,0,0,null))}}}function mi(t,e,n,i){const r=t.getParameter(34921),s=i.isWebGL2?null:e.get("OES_vertex_array_object"),a=i.isWebGL2||null!==s,o={},l=d(null);let c=l;function h(e){return i.isWebGL2?t.bindVertexArray(e):s.bindVertexArrayOES(e)}function u(e){return i.isWebGL2?t.deleteVertexArray(e):s.deleteVertexArrayOES(e)}function d(t){const e=[],n=[],i=[];for(let t=0;t=0){let s=l[e];if(void 0===s&&("instanceMatrix"===e&&r.instanceMatrix&&(s=r.instanceMatrix),"instanceColor"===e&&r.instanceColor&&(s=r.instanceColor)),void 0!==s){const e=s.normalized,a=s.itemSize,l=n.get(s);if(void 0===l)continue;const c=l.buffer,h=l.type,u=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data,l=n.stride,d=s.offset;if(n&&n.isInstancedInterleavedBuffer){for(let t=0;t0&&t.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";e="mediump"}return"mediump"===e&&t.getShaderPrecisionFormat(35633,36337).precision>0&&t.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const s="undefined"!=typeof WebGL2RenderingContext&&t instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&t instanceof WebGL2ComputeRenderingContext;let a=void 0!==n.precision?n.precision:"highp";const o=r(a);o!==a&&(console.warn("THREE.WebGLRenderer:",a,"not supported, using",o,"instead."),a=o);const l=s||e.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,h=t.getParameter(34930),u=t.getParameter(35660),d=t.getParameter(3379),p=t.getParameter(34076),m=t.getParameter(34921),f=t.getParameter(36347),g=t.getParameter(36348),v=t.getParameter(36349),y=u>0,x=s||e.has("OES_texture_float");return{isWebGL2:s,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==i)return i;if(!0===e.has("EXT_texture_filter_anisotropic")){const n=e.get("EXT_texture_filter_anisotropic");i=t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i},getMaxPrecision:r,precision:a,logarithmicDepthBuffer:c,maxTextures:h,maxVertexTextures:u,maxTextureSize:d,maxCubemapSize:p,maxAttributes:m,maxVertexUniforms:f,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:y&&x,maxSamples:s?t.getParameter(36183):0}}function vi(t){const e=this;let n=null,i=0,r=!1,s=!1;const a=new ii,o=new yt,l={value:null,needsUpdate:!1};function c(){l.value!==n&&(l.value=n,l.needsUpdate=i>0),e.numPlanes=i,e.numIntersection=0}function h(t,n,i,r){const s=null!==t?t.length:0;let c=null;if(0!==s){if(c=l.value,!0!==r||null===c){const e=i+4*s,r=n.matrixWorldInverse;o.getNormalMatrix(r),(null===c||c.length0){const a=t.getRenderTarget(),o=new $n(s.height/2);return o.fromEquirectangularTexture(t,r),e.set(r,o),t.setRenderTarget(a),r.addEventListener("dispose",i),n(o.texture,r.mapping)}return null}}}return r},dispose:function(){e=new WeakMap}}}di.physical={uniforms:jn([di.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new vt(1,1)},clearcoatNormalMap:{value:null},sheenTint:{value:new Qe(0)},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new vt},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationTint:{value:new Qe(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularTint:{value:new Qe(1,1,1)},specularTintMap:{value:null}}]),vertexShader:hi.meshphysical_vert,fragmentShader:hi.meshphysical_frag};class xi extends Yn{constructor(t=-1,e=1,n=1,i=-1,r=.1,s=2e3){super(),this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=t,this.right=e,this.top=n,this.bottom=i,this.near=r,this.far=s,this.updateProjectionMatrix()}copy(t,e){return super.copy(t,e),this.left=t.left,this.right=t.right,this.top=t.top,this.bottom=t.bottom,this.near=t.near,this.far=t.far,this.zoom=t.zoom,this.view=null===t.view?null:Object.assign({},t.view),this}setViewOffset(t,e,n,i,r,s){null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=t,this.view.fullHeight=e,this.view.offsetX=n,this.view.offsetY=i,this.view.width=r,this.view.height=s,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const t=(this.right-this.left)/(2*this.zoom),e=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let r=n-t,s=n+t,a=i+e,o=i-e;if(null!==this.view&&this.view.enabled){const t=(this.right-this.left)/this.view.fullWidth/this.zoom,e=(this.top-this.bottom)/this.view.fullHeight/this.zoom;r+=t*this.view.offsetX,s=r+t*this.view.width,a-=e*this.view.offsetY,o=a-e*this.view.height}this.projectionMatrix.makeOrthographic(r,s,a,o,this.near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(t){const e=super.toJSON(t);return e.object.zoom=this.zoom,e.object.left=this.left,e.object.right=this.right,e.object.top=this.top,e.object.bottom=this.bottom,e.object.near=this.near,e.object.far=this.far,null!==this.view&&(e.object.view=Object.assign({},this.view)),e}}xi.prototype.isOrthographicCamera=!0;class _i extends Xn{constructor(t){super(t),this.type="RawShaderMaterial"}}_i.prototype.isRawShaderMaterial=!0;const bi=Math.pow(2,8),Mi=[.125,.215,.35,.446,.526,.582],wi=5+Mi.length,Si=20,Ti={[X]:0,[Y]:1,[Z]:2,[Q]:3,[K]:4,[$]:5,[J]:6},Ei=new xi,{_lodPlanes:Ai,_sizeLods:Li,_sigmas:Ri}=Fi(),Ci=new Qe;let Pi=null;const Ii=(1+Math.sqrt(5))/2,Di=1/Ii,Ni=[new Rt(1,1,1),new Rt(-1,1,1),new Rt(1,1,-1),new Rt(-1,1,-1),new Rt(0,Ii,Di),new Rt(0,Ii,-Di),new Rt(Di,0,Ii),new Rt(-Di,0,Ii),new Rt(Ii,Di,0),new Rt(-Ii,Di,0)];class zi{constructor(t){this._renderer=t,this._pingPongRenderTarget=null,this._blurMaterial=function(t){const e=new Float32Array(t),n=new Rt(0,1,0);return new _i({name:"SphericalGaussianBlur",defines:{n:t},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:e},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n},inputEncoding:{value:Ti[3e3]},outputEncoding:{value:Ti[3e3]}},vertexShader:ki(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t${Vi()}\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}(Si),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(t,e=0,n=.1,i=100){Pi=this._renderer.getRenderTarget();const r=this._allocateTargets();return this._sceneToCubeUV(t,n,i,r),e>0&&this._blur(r,0,0,e),this._applyPMREM(r),this._cleanup(r),r}fromEquirectangular(t){return this._fromTexture(t)}fromCubemap(t){return this._fromTexture(t)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=Gi(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=Hi(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let t=0;t2?bi:0,bi,bi),o.setRenderTarget(i),p&&o.render(d,r),o.render(t,r)}d.geometry.dispose(),d.material.dispose(),o.toneMapping=h,o.outputEncoding=c,o.autoClear=l,t.background=m}_textureToCubeUV(t,e){const n=this._renderer;t.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=Gi()):null==this._equirectShader&&(this._equirectShader=Hi());const i=t.isCubeTexture?this._cubemapShader:this._equirectShader,r=new Gn(Ai[0],i),s=i.uniforms;s.envMap.value=t,t.isCubeTexture||s.texelSize.value.set(1/t.image.width,1/t.image.height),s.inputEncoding.value=Ti[t.encoding],s.outputEncoding.value=Ti[e.texture.encoding],Ui(e,0,0,3*bi,2*bi),n.setRenderTarget(e),n.render(r,Ei)}_applyPMREM(t){const e=this._renderer,n=e.autoClear;e.autoClear=!1;for(let e=1;eSi&&console.warn(`sigmaRadians, ${r}, is too large and will clip, as it requested ${m} samples when the maximum is set to 20`);const f=[];let g=0;for(let t=0;t4?i-8+4:0),3*v,2*v),o.setRenderTarget(e),o.render(c,Ei)}}function Bi(t){return void 0!==t&&t.type===x&&(t.encoding===X||t.encoding===Y||t.encoding===J)}function Fi(){const t=[],e=[],n=[];let i=8;for(let r=0;r4?a=Mi[r-8+4-1]:0==r&&(a=0),n.push(a);const o=1/(s-1),l=-o/2,c=1+o/2,h=[l,l,c,l,c,c,l,l,c,c,l,c],u=6,d=6,p=3,m=2,f=1,g=new Float32Array(p*d*u),v=new Float32Array(m*d*u),y=new Float32Array(f*d*u);for(let t=0;t2?0:-1,i=[e,n,0,e+2/3,n,0,e+2/3,n+1,0,e,n,0,e+2/3,n+1,0,e,n+1,0];g.set(i,p*d*t),v.set(h,m*d*t);const r=[t,t,t,t,t,t];y.set(r,f*d*t)}const x=new wn;x.setAttribute("position",new en(g,p)),x.setAttribute("uv",new en(v,m)),x.setAttribute("faceIndex",new en(y,f)),t.push(x),i>4&&i--}return{_lodPlanes:t,_sizeLods:e,_sigmas:n}}function Oi(t){const e=new Tt(3*bi,3*bi,t);return e.texture.mapping=l,e.texture.name="PMREM.cubeUv",e.scissorTest=!0,e}function Ui(t,e,n,i,r){t.viewport.set(e,n,i,r),t.scissor.set(e,n,i,r)}function Hi(){const t=new vt(1,1);return new _i({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:t},inputEncoding:{value:Ti[3e3]},outputEncoding:{value:Ti[3e3]}},vertexShader:ki(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t${Vi()}\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function Gi(){return new _i({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:Ti[3e3]},outputEncoding:{value:Ti[3e3]}},vertexShader:ki(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t${Vi()}\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:0,depthTest:!1,depthWrite:!1})}function ki(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function Vi(){return"\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t"}function Wi(t){let e=new WeakMap,n=null;function i(t){const n=t.target;n.removeEventListener("dispose",i);const r=e.get(n);void 0!==r&&(e.delete(n),r.dispose())}return{get:function(l){if(l&&l.isTexture&&!1===l.isRenderTargetTexture){const c=l.mapping,h=c===a||c===o,u=c===r||c===s;if(h||u){if(e.has(l))return e.get(l).texture;{const r=l.image;if(h&&r&&r.height>0||u&&r&&function(t){let e=0;const n=6;for(let i=0;i65535?cn:on)(n,1);o.version=a;const l=s.get(t);l&&e.remove(l),s.set(t,o)}return{get:function(t,e){return!0===r[e.id]||(e.addEventListener("dispose",a),r[e.id]=!0,n.memory.geometries++),e},update:function(t){const n=t.attributes;for(const t in n)e.update(n[t],34962);const i=t.morphAttributes;for(const t in i){const n=i[t];for(let t=0,i=n.length;t0)return t;const r=e*n;let s=sr[r];if(void 0===s&&(s=new Float32Array(r),sr[r]=s),0!==e){i.toArray(s,0);for(let i=1,r=0;i!==e;++i)r+=n,t[i].toArray(s,r)}return s}function ur(t,e){if(t.length!==e.length)return!1;for(let n=0,i=t.length;n/gm;function ms(t){return t.replace(ps,fs)}function fs(t,e){const n=hi[e];if(void 0===n)throw new Error("Can not resolve #include <"+e+">");return ms(n)}const gs=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,vs=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function ys(t){return t.replace(vs,_s).replace(gs,xs)}function xs(t,e,n,i){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),_s(t,e,n,i)}function _s(t,e,n,i){let r="";for(let t=parseInt(e);t0?t.gammaFactor:1,v=n.isWebGL2?"":function(t){return[t.extensionDerivatives||t.envMapCubeUV||t.bumpMap||t.tangentSpaceNormalMap||t.clearcoatNormalMap||t.flatShading||"physical"===t.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(t.extensionFragDepth||t.logarithmicDepthBuffer)&&t.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",t.extensionDrawBuffers&&t.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(t.extensionShaderTextureLOD||t.envMap||t.transmission)&&t.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(hs).join("\n")}(n),y=function(t){const e=[];for(const n in t){const i=t[n];!1!==i&&e.push("#define "+n+" "+i)}return e.join("\n")}(o),x=a.createProgram();let _,b,M=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(_=[y].filter(hs).join("\n"),_.length>0&&(_+="\n"),b=[v,y].filter(hs).join("\n"),b.length>0&&(b+="\n")):(_=[bs(n),"#define SHADER_NAME "+n.shaderName,y,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+g,"#define MAX_BONES "+n.maxBones,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+m:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularTintMap?"#define USE_SPECULARTINTMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.useVertexTexture?"#define BONE_TEXTURE":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(hs).join("\n"),b=[v,bs(n),"#define SHADER_NAME "+n.shaderName,y,"#define GAMMA_FACTOR "+g,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+p:"",n.envMap?"#define "+m:"",n.envMap?"#define "+f:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularTintMap?"#define USE_SPECULARTINTMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheenTint?"#define USE_SHEEN":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+d:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",0!==n.toneMapping?"#define TONE_MAPPING":"",0!==n.toneMapping?hi.tonemapping_pars_fragment:"",0!==n.toneMapping?cs("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.format===T?"#define OPAQUE":"",hi.encodings_pars_fragment,n.map?os("mapTexelToLinear",n.mapEncoding):"",n.matcap?os("matcapTexelToLinear",n.matcapEncoding):"",n.envMap?os("envMapTexelToLinear",n.envMapEncoding):"",n.emissiveMap?os("emissiveMapTexelToLinear",n.emissiveMapEncoding):"",n.specularTintMap?os("specularTintMapTexelToLinear",n.specularTintMapEncoding):"",n.lightMap?os("lightMapTexelToLinear",n.lightMapEncoding):"",ls("linearToOutputTexel",n.outputEncoding),n.depthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(hs).join("\n")),h=ms(h),h=us(h,n),h=ds(h,n),u=ms(u),u=us(u,n),u=ds(u,n),h=ys(h),u=ys(u),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(M="#version 300 es\n",_=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+_,b=["#define varying in",n.glslVersion===it?"":"out highp vec4 pc_fragColor;",n.glslVersion===it?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+b);const w=M+b+u,S=is(a,35633,M+_+h),E=is(a,35632,w);if(a.attachShader(x,S),a.attachShader(x,E),void 0!==n.index0AttributeName?a.bindAttribLocation(x,0,n.index0AttributeName):!0===n.morphTargets&&a.bindAttribLocation(x,0,"position"),a.linkProgram(x),t.debug.checkShaderErrors){const t=a.getProgramInfoLog(x).trim(),e=a.getShaderInfoLog(S).trim(),n=a.getShaderInfoLog(E).trim();let i=!0,r=!0;if(!1===a.getProgramParameter(x,35714)){i=!1;const e=as(a,S,"vertex"),n=as(a,E,"fragment");console.error("THREE.WebGLProgram: Shader Error "+a.getError()+" - VALIDATE_STATUS "+a.getProgramParameter(x,35715)+"\n\nProgram Info Log: "+t+"\n"+e+"\n"+n)}else""!==t?console.warn("THREE.WebGLProgram: Program Info Log:",t):""!==e&&""!==n||(r=!1);r&&(this.diagnostics={runnable:i,programLog:t,vertexShader:{log:e,prefix:_},fragmentShader:{log:n,prefix:b}})}let A,L;return a.deleteShader(S),a.deleteShader(E),this.getUniforms=function(){return void 0===A&&(A=new ns(a,x)),A},this.getAttributes=function(){return void 0===L&&(L=function(t,e){const n={},i=t.getProgramParameter(e,35721);for(let r=0;r0,C=s.clearcoat>0;return{isWebGL2:h,shaderID:S,shaderName:s.type,vertexShader:E,fragmentShader:A,defines:s.defines,isRawShaderMaterial:!0===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:f,instancing:!0===_.isInstancedMesh,instancingColor:!0===_.isInstancedMesh&&null!==_.instanceColor,supportsVertexTextures:m,outputEncoding:null!==L?y(L.texture):t.outputEncoding,map:!!s.map,mapEncoding:y(s.map),matcap:!!s.matcap,matcapEncoding:y(s.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:y(w),envMapCubeUV:!!w&&(w.mapping===l||w.mapping===c),lightMap:!!s.lightMap,lightMapEncoding:y(s.lightMap),aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,emissiveMapEncoding:y(s.emissiveMap),bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:1===s.normalMapType,tangentSpaceNormalMap:0===s.normalMapType,clearcoat:C,clearcoatMap:C&&!!s.clearcoatMap,clearcoatRoughnessMap:C&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:C&&!!s.clearcoatNormalMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularTintMap:!!s.specularTintMap,specularTintMapEncoding:y(s.specularTintMap),alphaMap:!!s.alphaMap,alphaTest:R,gradientMap:!!s.gradientMap,sheenTint:!!s.sheenTint&&(s.sheenTint.r>0||s.sheenTint.g>0||s.sheenTint.b>0),transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!_.geometry&&!!_.geometry.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:!0===s.vertexColors&&!!_.geometry&&!!_.geometry.attributes.color&&4===_.geometry.attributes.color.itemSize,vertexUvs:!!(s.map||s.bumpMap||s.normalMap||s.specularMap||s.alphaMap||s.emissiveMap||s.roughnessMap||s.metalnessMap||s.clearcoatMap||s.clearcoatRoughnessMap||s.clearcoatNormalMap||s.displacementMap||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularTintMap),uvsVertexOnly:!(s.map||s.bumpMap||s.normalMap||s.specularMap||s.alphaMap||s.emissiveMap||s.roughnessMap||s.metalnessMap||s.clearcoatNormalMap||s.transmission>0||s.transmissionMap||s.thicknessMap||s.specularIntensityMap||s.specularTintMap||!s.displacementMap),fog:!!b,useFog:s.fog,fogExp2:b&&b.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:u,skinning:!0===_.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:d,morphTargets:!!_.geometry&&!!_.geometry.morphAttributes.position,morphNormals:!!_.geometry&&!!_.geometry.morphAttributes.normal,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:s.format,dithering:s.dithering,shadowMapEnabled:t.shadowMap.enabled&&v.length>0,shadowMapType:t.shadowMap.type,toneMapping:s.toneMapped?t.toneMapping:0,physicallyCorrectLights:t.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:2===s.side,flipSided:1===s.side,depthPacking:void 0!==s.depthPacking&&s.depthPacking,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:h||i.has("EXT_frag_depth"),rendererExtensionDrawBuffers:h||i.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:h||i.has("EXT_shader_texture_lod"),customProgramCacheKey:s.customProgramCacheKey()}},getProgramCacheKey:function(e){const n=[];if(e.shaderID?n.push(e.shaderID):(n.push(e.fragmentShader),n.push(e.vertexShader)),void 0!==e.defines)for(const t in e.defines)n.push(t),n.push(e.defines[t]);if(!1===e.isRawShaderMaterial){for(let t=0;t0?r.push(h):!0===n.transparent?s.push(h):i.push(h)},unshift:function(t,e,n,a,l,c){const h=o(t,e,n,a,l,c);n.transmission>0?r.unshift(h):!0===n.transparent?s.unshift(h):i.unshift(h)},finish:function(){for(let t=n,i=e.length;t1&&i.sort(t||Ts),r.length>1&&r.sort(e||Es),s.length>1&&s.sort(e||Es)}}}function Ls(t){let e=new WeakMap;return{get:function(n,i){let r;return!1===e.has(n)?(r=new As(t),e.set(n,[r])):i>=e.get(n).length?(r=new As(t),e.get(n).push(r)):r=e.get(n)[i],r},dispose:function(){e=new WeakMap}}}function Rs(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new Rt,color:new Qe};break;case"SpotLight":n={position:new Rt,direction:new Rt,color:new Qe,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new Rt,color:new Qe,distance:0,decay:0};break;case"HemisphereLight":n={direction:new Rt,skyColor:new Qe,groundColor:new Qe};break;case"RectAreaLight":n={color:new Qe,position:new Rt,halfWidth:new Rt,halfHeight:new Rt}}return t[e.id]=n,n}}}let Cs=0;function Ps(t,e){return(e.castShadow?1:0)-(t.castShadow?1:0)}function Is(t,e){const n=new Rs,i=function(){const t={};return{get:function(e){if(void 0!==t[e.id])return t[e.id];let n;switch(e.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new vt,shadowCameraNear:1,shadowCameraFar:1e3}}return t[e.id]=n,n}}}(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let t=0;t<9;t++)r.probe.push(new Rt);const s=new Rt,a=new ae,o=new ae;return{setup:function(s,a){let o=0,l=0,c=0;for(let t=0;t<9;t++)r.probe[t].set(0,0,0);let h=0,u=0,d=0,p=0,m=0,f=0,g=0,v=0;s.sort(Ps);const y=!0!==a?Math.PI:1;for(let t=0,e=s.length;t0&&(e.isWebGL2||!0===t.has("OES_texture_float_linear")?(r.rectAreaLTC1=ui.LTC_FLOAT_1,r.rectAreaLTC2=ui.LTC_FLOAT_2):!0===t.has("OES_texture_half_float_linear")?(r.rectAreaLTC1=ui.LTC_HALF_1,r.rectAreaLTC2=ui.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),r.ambient[0]=o,r.ambient[1]=l,r.ambient[2]=c;const x=r.hash;x.directionalLength===h&&x.pointLength===u&&x.spotLength===d&&x.rectAreaLength===p&&x.hemiLength===m&&x.numDirectionalShadows===f&&x.numPointShadows===g&&x.numSpotShadows===v||(r.directional.length=h,r.spot.length=d,r.rectArea.length=p,r.point.length=u,r.hemi.length=m,r.directionalShadow.length=f,r.directionalShadowMap.length=f,r.pointShadow.length=g,r.pointShadowMap.length=g,r.spotShadow.length=v,r.spotShadowMap.length=v,r.directionalShadowMatrix.length=f,r.pointShadowMatrix.length=g,r.spotShadowMatrix.length=v,x.directionalLength=h,x.pointLength=u,x.spotLength=d,x.rectAreaLength=p,x.hemiLength=m,x.numDirectionalShadows=f,x.numPointShadows=g,x.numSpotShadows=v,r.version=Cs++)},setupView:function(t,e){let n=0,i=0,l=0,c=0,h=0;const u=e.matrixWorldInverse;for(let e=0,d=t.length;e=n.get(i).length?(s=new Ds(t,e),n.get(i).push(s)):s=n.get(i)[r],s},dispose:function(){n=new WeakMap}}}class zs extends We{constructor(t){super(),this.type="MeshDepthMaterial",this.depthPacking=3200,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.depthPacking=t.depthPacking,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this}}zs.prototype.isMeshDepthMaterial=!0;class Bs extends We{constructor(t){super(),this.type="MeshDistanceMaterial",this.referencePosition=new Rt,this.nearDistance=1,this.farDistance=1e3,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(t)}copy(t){return super.copy(t),this.referencePosition.copy(t.referencePosition),this.nearDistance=t.nearDistance,this.farDistance=t.farDistance,this.map=t.map,this.alphaMap=t.alphaMap,this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this}}Bs.prototype.isMeshDistanceMaterial=!0;function Fs(t,e,n){let i=new ai;const r=new vt,s=new vt,a=new St,o=new zs({depthPacking:3201}),l=new Bs,c={},h=n.maxTextureSize,u={0:1,1:0,2:2},d=new Xn({uniforms:{shadow_pass:{value:null},resolution:{value:new vt},radius:{value:4},samples:{value:8}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\nuniform float samples;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),m=d.clone();m.defines.HORIZONTAL_PASS=1;const f=new wn;f.setAttribute("position",new en(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const v=new Gn(f,d),y=this;function x(n,i){const r=e.update(v);d.uniforms.shadow_pass.value=n.map.texture,d.uniforms.resolution.value=n.mapSize,d.uniforms.radius.value=n.radius,d.uniforms.samples.value=n.blurSamples,t.setRenderTarget(n.mapPass),t.clear(),t.renderBufferDirect(i,null,r,d,v,null),m.uniforms.shadow_pass.value=n.mapPass.texture,m.uniforms.resolution.value=n.mapSize,m.uniforms.radius.value=n.radius,m.uniforms.samples.value=n.blurSamples,t.setRenderTarget(n.map),t.clear(),t.renderBufferDirect(i,null,r,m,v,null)}function _(e,n,i,r,s,a,h){let d=null;const p=!0===r.isPointLight?e.customDistanceMaterial:e.customDepthMaterial;if(d=void 0!==p?p:!0===r.isPointLight?l:o,t.localClippingEnabled&&!0===i.clipShadows&&0!==i.clippingPlanes.length||i.displacementMap&&0!==i.displacementScale||i.alphaMap&&i.alphaTest>0){const t=d.uuid,e=i.uuid;let n=c[t];void 0===n&&(n={},c[t]=n);let r=n[e];void 0===r&&(r=d.clone(),n[e]=r),d=r}return d.visible=i.visible,d.wireframe=i.wireframe,d.side=3===h?null!==i.shadowSide?i.shadowSide:i.side:null!==i.shadowSide?i.shadowSide:u[i.side],d.alphaMap=i.alphaMap,d.alphaTest=i.alphaTest,d.clipShadows=i.clipShadows,d.clippingPlanes=i.clippingPlanes,d.clipIntersection=i.clipIntersection,d.displacementMap=i.displacementMap,d.displacementScale=i.displacementScale,d.displacementBias=i.displacementBias,d.wireframeLinewidth=i.wireframeLinewidth,d.linewidth=i.linewidth,!0===r.isPointLight&&!0===d.isMeshDistanceMaterial&&(d.referencePosition.setFromMatrixPosition(r.matrixWorld),d.nearDistance=s,d.farDistance=a),d}function b(n,r,s,a,o){if(!1===n.visible)return;if(n.layers.test(r.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&3===o)&&(!n.frustumCulled||i.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const i=e.update(n),r=n.material;if(Array.isArray(r)){const e=i.groups;for(let l=0,c=e.length;lh||r.y>h)&&(r.x>h&&(s.x=Math.floor(h/m.x),r.x=s.x*m.x,u.mapSize.x=s.x),r.y>h&&(s.y=Math.floor(h/m.y),r.y=s.y*m.y,u.mapSize.y=s.y)),null===u.map&&!u.isPointLightShadow&&3===this.type){const t={minFilter:g,magFilter:g,format:E};u.map=new Tt(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.mapPass=new Tt(r.x,r.y,t),u.camera.updateProjectionMatrix()}if(null===u.map){const t={minFilter:p,magFilter:p,format:E};u.map=new Tt(r.x,r.y,t),u.map.texture.name=c.name+".shadowMap",u.camera.updateProjectionMatrix()}t.setRenderTarget(u.map),t.clear();const f=u.getViewportCount();for(let t=0;t=1):-1!==R.indexOf("OpenGL ES")&&(L=parseFloat(/^OpenGL ES (\d)/.exec(R)[1]),A=L>=2);let C=null,P={};const I=t.getParameter(3088),D=t.getParameter(2978),N=(new St).fromArray(I),z=(new St).fromArray(D);function B(e,n,i){const r=new Uint8Array(4),s=t.createTexture();t.bindTexture(e,s),t.texParameteri(e,10241,9728),t.texParameteri(e,10240,9728);for(let e=0;ei||t.height>i)&&(r=i/Math.max(t.width,t.height)),r<1||!0===e){if("undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap){const i=e?ft:Math.floor,s=i(r*t.width),a=i(r*t.height);void 0===P&&(P=D(s,a));const o=n?D(s,a):P;o.width=s,o.height=a;return o.getContext("2d").drawImage(t,0,0,s,a),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+t.width+"x"+t.height+") to ("+s+"x"+a+")."),o}return"data"in t&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+t.width+"x"+t.height+")."),t}return t}function z(t){return pt(t.width)&&pt(t.height)}function B(t,e){return t.generateMipmaps&&e&&t.minFilter!==p&&t.minFilter!==g}function F(e,n,r,s,a=1){t.generateMipmap(e);i.get(n).__maxMipLevel=Math.log2(Math.max(r,s,a))}function O(n,i,r){if(!1===o)return i;if(null!==n){if(void 0!==t[n])return t[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let s=i;return 6403===i&&(5126===r&&(s=33326),5131===r&&(s=33325),5121===r&&(s=33321)),6407===i&&(5126===r&&(s=34837),5131===r&&(s=34843),5121===r&&(s=32849)),6408===i&&(5126===r&&(s=34836),5131===r&&(s=34842),5121===r&&(s=32856)),33325!==s&&33326!==s&&34842!==s&&34836!==s||e.get("EXT_color_buffer_float"),s}function U(t){return t===p||t===m||t===f?9728:9729}function H(e){const n=e.target;n.removeEventListener("dispose",H),function(e){const n=i.get(e);if(void 0===n.__webglInit)return;t.deleteTexture(n.__webglTexture),i.remove(e)}(n),n.isVideoTexture&&C.delete(n),a.memory.textures--}function G(e){const n=e.target;n.removeEventListener("dispose",G),function(e){const n=e.texture,r=i.get(e),s=i.get(n);if(!e)return;void 0!==s.__webglTexture&&(t.deleteTexture(s.__webglTexture),a.memory.textures--);e.depthTexture&&e.depthTexture.dispose();if(e.isWebGLCubeRenderTarget)for(let e=0;e<6;e++)t.deleteFramebuffer(r.__webglFramebuffer[e]),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer[e]);else t.deleteFramebuffer(r.__webglFramebuffer),r.__webglDepthbuffer&&t.deleteRenderbuffer(r.__webglDepthbuffer),r.__webglMultisampledFramebuffer&&t.deleteFramebuffer(r.__webglMultisampledFramebuffer),r.__webglColorRenderbuffer&&t.deleteRenderbuffer(r.__webglColorRenderbuffer),r.__webglDepthRenderbuffer&&t.deleteRenderbuffer(r.__webglDepthRenderbuffer);if(e.isWebGLMultipleRenderTargets)for(let e=0,r=n.length;e0&&r.__version!==t.version){const n=t.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==n.complete)return void J(r,t,e);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.activeTexture(33984+e),n.bindTexture(3553,r.__webglTexture)}function W(e,r){const a=i.get(e);e.version>0&&a.__version!==e.version?function(e,i,r){if(6!==i.image.length)return;Y(e,i),n.activeTexture(33984+r),n.bindTexture(34067,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const a=i&&(i.isCompressedTexture||i.image[0].isCompressedTexture),l=i.image[0]&&i.image[0].isDataTexture,h=[];for(let t=0;t<6;t++)h[t]=a||l?l?i.image[t].image:i.image[t]:N(i.image[t],!1,!0,c);const u=h[0],d=z(u)||o,p=s.convert(i.format),m=s.convert(i.type),f=O(i.internalFormat,p,m);let g;if(X(34067,i,d),a){for(let t=0;t<6;t++){g=h[t].mipmaps;for(let e=0;e1||i.get(s).__currentAnisotropy)&&(t.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,r.getMaxAnisotropy())),i.get(s).__currentAnisotropy=s.anisotropy)}}function Y(e,n){void 0===e.__webglInit&&(e.__webglInit=!0,n.addEventListener("dispose",H),e.__webglTexture=t.createTexture(),a.memory.textures++)}function J(e,i,r){let a=3553;i.isDataTexture2DArray&&(a=35866),i.isDataTexture3D&&(a=32879),Y(e,i),n.activeTexture(33984+r),n.bindTexture(a,e.__webglTexture),t.pixelStorei(37440,i.flipY),t.pixelStorei(37441,i.premultiplyAlpha),t.pixelStorei(3317,i.unpackAlignment),t.pixelStorei(37443,0);const l=function(t){return!o&&(t.wrapS!==u||t.wrapT!==u||t.minFilter!==p&&t.minFilter!==g)}(i)&&!1===z(i.image),c=N(i.image,l,!1,x),h=z(c)||o,d=s.convert(i.format);let m,f=s.convert(i.type),v=O(i.internalFormat,d,f);X(a,i,h);const y=i.mipmaps;if(i.isDepthTexture)v=6402,o?v=i.type===M?36012:i.type===b?33190:i.type===S?35056:33189:i.type===M&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===A&&6402===v&&i.type!==_&&i.type!==b&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=_,f=s.convert(i.type)),i.format===L&&6402===v&&(v=34041,i.type!==S&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=S,f=s.convert(i.type))),n.texImage2D(3553,0,v,c.width,c.height,0,d,f,null);else if(i.isDataTexture)if(y.length>0&&h){for(let t=0,e=y.length;t0&&h){for(let t=0,e=y.length;t=l&&console.warn("THREE.WebGLTextures: Trying to use "+t+" texture units while this GPU supports only "+l),k+=1,t},this.resetTextureUnits=function(){k=0},this.setTexture2D=V,this.setTexture2DArray=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?J(r,t,e):(n.activeTexture(33984+e),n.bindTexture(35866,r.__webglTexture))},this.setTexture3D=function(t,e){const r=i.get(t);t.version>0&&r.__version!==t.version?J(r,t,e):(n.activeTexture(33984+e),n.bindTexture(32879,r.__webglTexture))},this.setTextureCube=W,this.setupRenderTarget=function(e){const l=e.texture,c=i.get(e),h=i.get(l);e.addEventListener("dispose",G),!0!==e.isWebGLMultipleRenderTargets&&(h.__webglTexture=t.createTexture(),h.__version=l.version,a.memory.textures++);const u=!0===e.isWebGLCubeRenderTarget,d=!0===e.isWebGLMultipleRenderTargets,p=!0===e.isWebGLMultisampleRenderTarget,m=l.isDataTexture3D||l.isDataTexture2DArray,f=z(e)||o;if(!o||l.format!==T||l.type!==M&&l.type!==w||(l.format=E,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),u){c.__webglFramebuffer=[];for(let e=0;e<6;e++)c.__webglFramebuffer[e]=t.createFramebuffer()}else if(c.__webglFramebuffer=t.createFramebuffer(),d)if(r.drawBuffers){const n=e.texture;for(let e=0,r=n.length;eo+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:t.handedness,target:this})):!l.inputState.pinching&&a<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:t.handedness,target:this}))}else null!==o&&t.gripSpace&&(r=e.getPose(t.gripSpace,n),null!==r&&(o.matrix.fromArray(r.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),r.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(r.linearVelocity)):o.hasLinearVelocity=!1,r.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(r.angularVelocity)):o.hasAngularVelocity=!1));return null!==a&&(a.visible=null!==i),null!==o&&(o.visible=null!==r),null!==l&&(l.visible=null!==s),this}}class js extends rt{constructor(t,e){super();const n=this,i=t.state;let r=null,s=1,a=null,o="local-floor",l=null,c=null,h=null,u=null,d=null,p=!1,m=null,f=null,g=null,v=null,y=null,x=null;const _=[],b=new Map,M=new Jn;M.layers.enable(1),M.viewport=new St;const w=new Jn;w.layers.enable(2),w.viewport=new St;const S=[M,w],T=new Gs;T.layers.enable(1),T.layers.enable(2);let E=null,A=null;function L(t){const e=b.get(t.inputSource);e&&e.dispatchEvent({type:t.type,data:t.inputSource})}function R(){b.forEach((function(t,e){t.disconnect(e)})),b.clear(),E=null,A=null,i.bindXRFramebuffer(null),t.setRenderTarget(t.getRenderTarget()),h&&e.deleteFramebuffer(h),m&&e.deleteFramebuffer(m),f&&e.deleteRenderbuffer(f),g&&e.deleteRenderbuffer(g),h=null,m=null,f=null,g=null,d=null,u=null,c=null,r=null,z.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function C(t){const e=r.inputSources;for(let t=0;t<_.length;t++)b.set(e[t],_[t]);for(let e=0;e0&&(e.alphaTest.value=n.alphaTest);const i=t.get(n).envMap;if(i){e.envMap.value=i,e.flipEnvMap.value=i.isCubeTexture&&!1===i.isRenderTargetTexture?-1:1,e.reflectivity.value=n.reflectivity,e.ior.value=n.ior,e.refractionRatio.value=n.refractionRatio;const r=t.get(i).__maxMipLevel;void 0!==r&&(e.maxMipLevel.value=r)}let r,s;n.lightMap&&(e.lightMap.value=n.lightMap,e.lightMapIntensity.value=n.lightMapIntensity),n.aoMap&&(e.aoMap.value=n.aoMap,e.aoMapIntensity.value=n.aoMapIntensity),n.map?r=n.map:n.specularMap?r=n.specularMap:n.displacementMap?r=n.displacementMap:n.normalMap?r=n.normalMap:n.bumpMap?r=n.bumpMap:n.roughnessMap?r=n.roughnessMap:n.metalnessMap?r=n.metalnessMap:n.alphaMap?r=n.alphaMap:n.emissiveMap?r=n.emissiveMap:n.clearcoatMap?r=n.clearcoatMap:n.clearcoatNormalMap?r=n.clearcoatNormalMap:n.clearcoatRoughnessMap?r=n.clearcoatRoughnessMap:n.specularIntensityMap?r=n.specularIntensityMap:n.specularTintMap?r=n.specularTintMap:n.transmissionMap?r=n.transmissionMap:n.thicknessMap&&(r=n.thicknessMap),void 0!==r&&(r.isWebGLRenderTarget&&(r=r.texture),!0===r.matrixAutoUpdate&&r.updateMatrix(),e.uvTransform.value.copy(r.matrix)),n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),e.uv2Transform.value.copy(s.matrix))}function n(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap),n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap),n.emissiveMap&&(e.emissiveMap.value=n.emissiveMap),n.bumpMap&&(e.bumpMap.value=n.bumpMap,e.bumpScale.value=n.bumpScale,1===n.side&&(e.bumpScale.value*=-1)),n.normalMap&&(e.normalMap.value=n.normalMap,e.normalScale.value.copy(n.normalScale),1===n.side&&e.normalScale.value.negate()),n.displacementMap&&(e.displacementMap.value=n.displacementMap,e.displacementScale.value=n.displacementScale,e.displacementBias.value=n.displacementBias);t.get(n).envMap&&(e.envMapIntensity.value=n.envMapIntensity)}return{refreshFogUniforms:function(t,e){t.fogColor.value.copy(e.color),e.isFog?(t.fogNear.value=e.near,t.fogFar.value=e.far):e.isFogExp2&&(t.fogDensity.value=e.density)},refreshMaterialUniforms:function(t,i,r,s,a){i.isMeshBasicMaterial?e(t,i):i.isMeshLambertMaterial?(e(t,i),function(t,e){e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap)}(t,i)):i.isMeshToonMaterial?(e(t,i),function(t,e){e.gradientMap&&(t.gradientMap.value=e.gradientMap);e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshPhongMaterial?(e(t,i),function(t,e){t.specular.value.copy(e.specular),t.shininess.value=Math.max(e.shininess,1e-4),e.emissiveMap&&(t.emissiveMap.value=e.emissiveMap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshStandardMaterial?(e(t,i),i.isMeshPhysicalMaterial?function(t,e,i){n(t,e),t.ior.value=e.ior,e.sheenTint&&t.sheenTint.value.copy(e.sheenTint);e.clearcoat>0&&(t.clearcoat.value=e.clearcoat,t.clearcoatRoughness.value=e.clearcoatRoughness,e.clearcoatMap&&(t.clearcoatMap.value=e.clearcoatMap),e.clearcoatRoughnessMap&&(t.clearcoatRoughnessMap.value=e.clearcoatRoughnessMap),e.clearcoatNormalMap&&(t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale),t.clearcoatNormalMap.value=e.clearcoatNormalMap,1===e.side&&t.clearcoatNormalScale.value.negate()));e.transmission>0&&(t.transmission.value=e.transmission,t.transmissionSamplerMap.value=i.texture,t.transmissionSamplerSize.value.set(i.width,i.height),e.transmissionMap&&(t.transmissionMap.value=e.transmissionMap),t.thickness.value=e.thickness,e.thicknessMap&&(t.thicknessMap.value=e.thicknessMap),t.attenuationDistance.value=e.attenuationDistance,t.attenuationTint.value.copy(e.attenuationTint));t.specularIntensity.value=e.specularIntensity,t.specularTint.value.copy(e.specularTint),e.specularIntensityMap&&(t.specularIntensityMap.value=e.specularIntensityMap);e.specularTintMap&&(t.specularTintMap.value=e.specularTintMap)}(t,i,a):n(t,i)):i.isMeshMatcapMaterial?(e(t,i),function(t,e){e.matcap&&(t.matcap.value=e.matcap);e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDepthMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isMeshDistanceMaterial?(e(t,i),function(t,e){e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias);t.referencePosition.value.copy(e.referencePosition),t.nearDistance.value=e.nearDistance,t.farDistance.value=e.farDistance}(t,i)):i.isMeshNormalMaterial?(e(t,i),function(t,e){e.bumpMap&&(t.bumpMap.value=e.bumpMap,t.bumpScale.value=e.bumpScale,1===e.side&&(t.bumpScale.value*=-1));e.normalMap&&(t.normalMap.value=e.normalMap,t.normalScale.value.copy(e.normalScale),1===e.side&&t.normalScale.value.negate());e.displacementMap&&(t.displacementMap.value=e.displacementMap,t.displacementScale.value=e.displacementScale,t.displacementBias.value=e.displacementBias)}(t,i)):i.isLineBasicMaterial?(function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity}(t,i),i.isLineDashedMaterial&&function(t,e){t.dashSize.value=e.dashSize,t.totalSize.value=e.dashSize+e.gapSize,t.scale.value=e.scale}(t,i)):i.isPointsMaterial?function(t,e,n,i){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.size.value=e.size*n,t.scale.value=.5*i,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let r;e.map?r=e.map:e.alphaMap&&(r=e.alphaMap);void 0!==r&&(!0===r.matrixAutoUpdate&&r.updateMatrix(),t.uvTransform.value.copy(r.matrix))}(t,i,r,s):i.isSpriteMaterial?function(t,e){t.diffuse.value.copy(e.color),t.opacity.value=e.opacity,t.rotation.value=e.rotation,e.map&&(t.map.value=e.map);e.alphaMap&&(t.alphaMap.value=e.alphaMap);e.alphaTest>0&&(t.alphaTest.value=e.alphaTest);let n;e.map?n=e.map:e.alphaMap&&(n=e.alphaMap);void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),t.uvTransform.value.copy(n.matrix))}(t,i):i.isShadowMaterial?(t.color.value.copy(i.color),t.opacity.value=i.opacity):i.isShaderMaterial&&(i.uniformsNeedUpdate=!1)}}}function Xs(t={}){const e=void 0!==t.canvas?t.canvas:function(){const t=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return t.style.display="block",t}(),n=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,r=void 0===t.depth||t.depth,s=void 0===t.stencil||t.stencil,a=void 0!==t.antialias&&t.antialias,o=void 0===t.premultipliedAlpha||t.premultipliedAlpha,l=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,c=void 0!==t.powerPreference?t.powerPreference:"default",h=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let d=null,m=null;const f=[],g=[];this.domElement=e,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=X,this.physicallyCorrectLights=!1,this.toneMapping=0,this.toneMappingExposure=1;const v=this;let _=!1,b=0,S=0,T=null,A=-1,L=null;const R=new St,C=new St;let P=null,I=e.width,D=e.height,N=1,z=null,B=null;const F=new St(0,0,I,D),O=new St(0,0,I,D);let U=!1;const H=[],G=new ai;let k=!1,V=!1,W=null;const j=new ae,q=new Rt,Y={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function J(){return null===T?N:1}let Z,Q,K,$,tt,et,nt,it,rt,st,at,ot,lt,ct,ht,ut,dt,pt,mt,ft,gt,vt,yt,xt=n;function _t(t,n){for(let i=0;i0&&function(t,e,n){if(null===W){const t=!0===a&&!0===Q.isWebGL2;W=new(t?At:Tt)(1024,1024,{generateMipmaps:!0,type:null!==vt.convert(w)?w:x,minFilter:y,magFilter:p,wrapS:u,wrapT:u})}const i=v.getRenderTarget();v.setRenderTarget(W),v.clear();const r=v.toneMapping;v.toneMapping=0,Bt(t,e,n),v.toneMapping=r,et.updateMultisampleRenderTarget(W),et.updateRenderTargetMipmap(W),v.setRenderTarget(i)}(r,e,n),i&&K.viewport(R.copy(i)),r.length>0&&Bt(r,e,n),s.length>0&&Bt(s,e,n),o.length>0&&Bt(o,e,n)}function Bt(t,e,n){const i=!0===e.isScene?e.overrideMaterial:null;for(let r=0,s=t.length;r0?g[g.length-1]:null,f.pop(),d=f.length>0?f[f.length-1]:null},this.getActiveCubeFace=function(){return b},this.getActiveMipmapLevel=function(){return S},this.getRenderTarget=function(){return T},this.setRenderTarget=function(t,e=0,n=0){T=t,b=e,S=n,t&&void 0===tt.get(t).__webglFramebuffer&&et.setupRenderTarget(t);let i=null,r=!1,s=!1;if(t){const n=t.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(s=!0);const a=tt.get(t).__webglFramebuffer;t.isWebGLCubeRenderTarget?(i=a[e],r=!0):i=t.isWebGLMultisampleRenderTarget?tt.get(t).__webglMultisampledFramebuffer:a,R.copy(t.viewport),C.copy(t.scissor),P=t.scissorTest}else R.copy(F).multiplyScalar(N).floor(),C.copy(O).multiplyScalar(N).floor(),P=U;if(K.bindFramebuffer(36160,i)&&Q.drawBuffers){let e=!1;if(t)if(t.isWebGLMultipleRenderTargets){const n=t.texture;if(H.length!==n.length||36064!==H[0]){for(let t=0,e=n.length;t=0&&e<=t.width-i&&n>=0&&n<=t.height-r&&xt.readPixels(e,n,i,r,vt.convert(o),vt.convert(l),s):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const t=null!==T?tt.get(T).__webglFramebuffer:null;K.bindFramebuffer(36160,t)}}},this.copyFramebufferToTexture=function(t,e,n=0){const i=Math.pow(2,-n),r=Math.floor(e.image.width*i),s=Math.floor(e.image.height*i);let a=vt.convert(e.format);Q.isWebGL2&&(6407===a&&(a=32849),6408===a&&(a=32856)),et.setTexture2D(e,0),xt.copyTexImage2D(3553,n,a,t.x,t.y,r,s,0),K.unbindTexture()},this.copyTextureToTexture=function(t,e,n,i=0){const r=e.image.width,s=e.image.height,a=vt.convert(n.format),o=vt.convert(n.type);et.setTexture2D(n,0),xt.pixelStorei(37440,n.flipY),xt.pixelStorei(37441,n.premultiplyAlpha),xt.pixelStorei(3317,n.unpackAlignment),e.isDataTexture?xt.texSubImage2D(3553,i,t.x,t.y,r,s,a,o,e.image.data):e.isCompressedTexture?xt.compressedTexSubImage2D(3553,i,t.x,t.y,e.mipmaps[0].width,e.mipmaps[0].height,a,e.mipmaps[0].data):xt.texSubImage2D(3553,i,t.x,t.y,a,o,e.image),0===i&&n.generateMipmaps&&xt.generateMipmap(3553),K.unbindTexture()},this.copyTextureToTexture3D=function(t,e,n,i,r=0){if(v.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const s=t.max.x-t.min.x+1,a=t.max.y-t.min.y+1,o=t.max.z-t.min.z+1,l=vt.convert(i.format),c=vt.convert(i.type);let h;if(i.isDataTexture3D)et.setTexture3D(i,0),h=32879;else{if(!i.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");et.setTexture2DArray(i,0),h=35866}xt.pixelStorei(37440,i.flipY),xt.pixelStorei(37441,i.premultiplyAlpha),xt.pixelStorei(3317,i.unpackAlignment);const u=xt.getParameter(3314),d=xt.getParameter(32878),p=xt.getParameter(3316),m=xt.getParameter(3315),f=xt.getParameter(32877),g=n.isCompressedTexture?n.mipmaps[0]:n.image;xt.pixelStorei(3314,g.width),xt.pixelStorei(32878,g.height),xt.pixelStorei(3316,t.min.x),xt.pixelStorei(3315,t.min.y),xt.pixelStorei(32877,t.min.z),n.isDataTexture||n.isDataTexture3D?xt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g.data):n.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),xt.compressedTexSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,g.data)):xt.texSubImage3D(h,r,e.x,e.y,e.z,s,a,o,l,c,g),xt.pixelStorei(3314,u),xt.pixelStorei(32878,d),xt.pixelStorei(3316,p),xt.pixelStorei(3315,m),xt.pixelStorei(32877,f),0===r&&i.generateMipmaps&&xt.generateMipmap(h),K.unbindTexture()},this.initTexture=function(t){et.setTexture2D(t,0),K.unbindTexture()},this.resetState=function(){b=0,S=0,T=null,K.reset(),yt.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class Ys extends Xs{}Ys.prototype.isWebGL1Renderer=!0;class Js{constructor(t,e=25e-5){this.name="",this.color=new Qe(t),this.density=e}clone(){return new Js(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}Js.prototype.isFogExp2=!0;class Zs{constructor(t,e=1,n=1e3){this.name="",this.color=new Qe(t),this.near=e,this.far=n}clone(){return new Zs(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Zs.prototype.isFog=!0;class Qs extends Pe{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(t,e){return super.copy(t,e),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this}toJSON(t){const e=super.toJSON(t);return null!==this.fog&&(e.object.fog=this.fog.toJSON()),e}}Qs.prototype.isScene=!0;class Ks{constructor(t,e){this.array=t,this.stride=e,this.count=void 0!==t?t.length/e:0,this.usage=et,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=ct()}onUploadCallback(){}set needsUpdate(t){!0===t&&this.version++}setUsage(t){return this.usage=t,this}copy(t){return this.array=new t.array.constructor(t.array),this.count=t.count,this.stride=t.stride,this.usage=t.usage,this}copyAt(t,e,n){t*=this.stride,n*=e.stride;for(let i=0,r=this.stride;it.far||e.push({distance:o,point:ia.clone(),uv:ke.getUV(ia,ca,ha,ua,da,pa,ma,new vt),face:null,object:this})}copy(t){return super.copy(t),void 0!==t.center&&this.center.copy(t.center),this.material=t.material,this}}function ga(t,e,n,i,r,s){aa.subVectors(t,n).addScalar(.5).multiply(i),void 0!==r?(oa.x=s*aa.x-r*aa.y,oa.y=r*aa.x+s*aa.y):oa.copy(aa),t.copy(e),t.x+=oa.x,t.y+=oa.y,t.applyMatrix4(la)}fa.prototype.isSprite=!0;const va=new Rt,ya=new Rt;class xa extends Pe{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(t){super.copy(t,!1);const e=t.levels;for(let t=0,n=e.length;t0){let n,i;for(n=1,i=e.length;n0){va.setFromMatrixPosition(this.matrixWorld);const n=t.ray.origin.distanceTo(va);this.getObjectForDistance(n).raycast(t,e)}}update(t){const e=this.levels;if(e.length>1){va.setFromMatrixPosition(t.matrixWorld),ya.setFromMatrixPosition(this.matrixWorld);const n=va.distanceTo(ya)/t.zoom;let i,r;for(e[0].object.visible=!0,i=1,r=e.length;i=e[i].distance;i++)e[i-1].object.visible=!1,e[i].object.visible=!0;for(this._currentLevel=i-1;io)continue;u.applyMatrix4(this.matrixWorld);const d=t.ray.origin.distanceTo(u);dt.far||e.push({distance:d,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,s.start),i=Math.min(r.count,s.start+s.count)-1;no)continue;u.applyMatrix4(this.matrixWorld);const i=t.ray.origin.distanceTo(u);it.far||e.push({distance:i,point:h.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const t=this.geometry;if(t.isBufferGeometry){const e=t.morphAttributes,n=Object.keys(e);if(n.length>0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}Va.prototype.isLine=!0;const Wa=new Rt,ja=new Rt;class qa extends Va{constructor(t,e){super(t,e),this.type="LineSegments"}computeLineDistances(){const t=this.geometry;if(t.isBufferGeometry)if(null===t.index){const e=t.attributes.position,n=[];for(let t=0,i=e.count;t0){const t=e[n[0]];if(void 0!==t){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,n=t.length;e0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function to(t,e,n,i,r,s,a){const o=Za.distanceSqToPoint(t);if(or.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:e,face:null,object:a})}}$a.prototype.isPoints=!0;class eo extends Mt{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.format=void 0!==a?a:T,this.minFilter=void 0!==s?s:g,this.magFilter=void 0!==r?r:g,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in t&&t.requestVideoFrameCallback((function e(){c.needsUpdate=!0,t.requestVideoFrameCallback(e)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const t=this.image;!1==="requestVideoFrameCallback"in t&&t.readyState>=t.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}eo.prototype.isVideoTexture=!0;class no extends Mt{constructor(t,e,n,i,r,s,a,o,l,c,h,u){super(null,s,a,o,l,c,i,r,h,u),this.image={width:e,height:n},this.mipmaps=t,this.flipY=!1,this.generateMipmaps=!1}}no.prototype.isCompressedTexture=!0;class io extends Mt{constructor(t,e,n,i,r,s,a,o,l){super(t,e,n,i,r,s,a,o,l),this.needsUpdate=!0}}io.prototype.isCanvasTexture=!0;class ro extends Mt{constructor(t,e,n,i,r,s,a,o,l,c){if((c=void 0!==c?c:A)!==A&&c!==L)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===A&&(n=_),void 0===n&&c===L&&(n=S),super(null,i,r,s,a,o,c,n,l),this.image={width:t,height:e},this.magFilter=void 0!==a?a:p,this.minFilter=void 0!==o?o:p,this.flipY=!1,this.generateMipmaps=!1}}ro.prototype.isDepthTexture=!0;class so extends wn{constructor(t=1,e=8,n=0,i=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:t,segments:e,thetaStart:n,thetaLength:i},e=Math.max(3,e);const r=[],s=[],a=[],o=[],l=new Rt,c=new vt;s.push(0,0,0),a.push(0,0,1),o.push(.5,.5);for(let r=0,h=3;r<=e;r++,h+=3){const u=n+r/e*i;l.x=t*Math.cos(u),l.y=t*Math.sin(u),s.push(l.x,l.y,l.z),a.push(0,0,1),c.x=(s[h]/t+1)/2,c.y=(s[h+1]/t+1)/2,o.push(c.x,c.y)}for(let t=1;t<=e;t++)r.push(t,t+1,0);this.setIndex(r),this.setAttribute("position",new un(s,3)),this.setAttribute("normal",new un(a,3)),this.setAttribute("uv",new un(o,2))}static fromJSON(t){return new so(t.radius,t.segments,t.thetaStart,t.thetaLength)}}class ao extends wn{constructor(t=1,e=1,n=1,i=8,r=1,s=!1,a=0,o=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:t,radiusBottom:e,height:n,radialSegments:i,heightSegments:r,openEnded:s,thetaStart:a,thetaLength:o};const l=this;i=Math.floor(i),r=Math.floor(r);const c=[],h=[],u=[],d=[];let p=0;const m=[],f=n/2;let g=0;function v(n){const r=p,s=new vt,m=new Rt;let v=0;const y=!0===n?t:e,x=!0===n?1:-1;for(let t=1;t<=i;t++)h.push(0,f*x,0),u.push(0,x,0),d.push(.5,.5),p++;const _=p;for(let t=0;t<=i;t++){const e=t/i*o+a,n=Math.cos(e),r=Math.sin(e);m.x=y*r,m.y=f*x,m.z=y*n,h.push(m.x,m.y,m.z),u.push(0,x,0),s.x=.5*n+.5,s.y=.5*r*x+.5,d.push(s.x,s.y),p++}for(let t=0;t0&&v(!0),e>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new un(h,3)),this.setAttribute("normal",new un(u,3)),this.setAttribute("uv",new un(d,2))}static fromJSON(t){return new ao(t.radiusTop,t.radiusBottom,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class oo extends ao{constructor(t=1,e=1,n=8,i=1,r=!1,s=0,a=2*Math.PI){super(0,t,e,n,i,r,s,a),this.type="ConeGeometry",this.parameters={radius:t,height:e,radialSegments:n,heightSegments:i,openEnded:r,thetaStart:s,thetaLength:a}}static fromJSON(t){return new oo(t.radius,t.height,t.radialSegments,t.heightSegments,t.openEnded,t.thetaStart,t.thetaLength)}}class lo extends wn{constructor(t,e,n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:t,indices:e,radius:n,detail:i};const r=[],s=[];function a(t,e,n,i){const r=i+1,s=[];for(let i=0;i<=r;i++){s[i]=[];const a=t.clone().lerp(n,i/r),o=e.clone().lerp(n,i/r),l=r-i;for(let t=0;t<=l;t++)s[i][t]=0===t&&i===r?a:a.clone().lerp(o,t/l)}for(let t=0;t.9&&a<.1&&(e<.2&&(s[t+0]+=1),n<.2&&(s[t+2]+=1),i<.2&&(s[t+4]+=1))}}()}(),this.setAttribute("position",new un(r,3)),this.setAttribute("normal",new un(r.slice(),3)),this.setAttribute("uv",new un(s,2)),0===i?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(t){return new lo(t.vertices,t.indices,t.radius,t.details)}}class co extends lo{constructor(t=1,e=0){const n=(1+Math.sqrt(5))/2,i=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],t,e),this.type="DodecahedronGeometry",this.parameters={radius:t,detail:e}}static fromJSON(t){return new co(t.radius,t.detail)}}const ho=new Rt,uo=new Rt,po=new Rt,mo=new ke;class fo extends wn{constructor(t,e){if(super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:e},e=void 0!==e?e:1,!0===t.isGeometry)return void console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");const n=Math.pow(10,4),i=Math.cos(ot*e),r=t.getIndex(),s=t.getAttribute("position"),a=r?r.count:s.count,o=[0,0,0],l=["a","b","c"],c=new Array(3),h={},u=[];for(let t=0;t0)){l=i;break}l=i-1}if(i=l,n[i]===s)return i/(r-1);const c=n[i];return(i+(s-c)/(n[i+1]-c))/(r-1)}getTangent(t,e){const n=1e-4;let i=t-n,r=t+n;i<0&&(i=0),r>1&&(r=1);const s=this.getPoint(i),a=this.getPoint(r),o=e||(s.isVector2?new vt:new Rt);return o.copy(a).sub(s).normalize(),o}getTangentAt(t,e){const n=this.getUtoTmapping(t);return this.getTangent(n,e)}computeFrenetFrames(t,e){const n=new Rt,i=[],r=[],s=[],a=new Rt,o=new ae;for(let e=0;e<=t;e++){const n=e/t;i[e]=this.getTangentAt(n,new Rt),i[e].normalize()}r[0]=new Rt,s[0]=new Rt;let l=Number.MAX_VALUE;const c=Math.abs(i[0].x),h=Math.abs(i[0].y),u=Math.abs(i[0].z);c<=l&&(l=c,n.set(1,0,0)),h<=l&&(l=h,n.set(0,1,0)),u<=l&&n.set(0,0,1),a.crossVectors(i[0],n).normalize(),r[0].crossVectors(i[0],a),s[0].crossVectors(i[0],r[0]);for(let e=1;e<=t;e++){if(r[e]=r[e-1].clone(),s[e]=s[e-1].clone(),a.crossVectors(i[e-1],i[e]),a.length()>Number.EPSILON){a.normalize();const t=Math.acos(ht(i[e-1].dot(i[e]),-1,1));r[e].applyMatrix4(o.makeRotationAxis(a,t))}s[e].crossVectors(i[e],r[e])}if(!0===e){let e=Math.acos(ht(r[0].dot(r[t]),-1,1));e/=t,i[0].dot(a.crossVectors(r[0],r[t]))>0&&(e=-e);for(let n=1;n<=t;n++)r[n].applyMatrix4(o.makeRotationAxis(i[n],e*n)),s[n].crossVectors(i[n],r[n])}return{tangents:i,normals:r,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}toJSON(){const t={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return t.arcLengthDivisions=this.arcLengthDivisions,t.type=this.type,t}fromJSON(t){return this.arcLengthDivisions=t.arcLengthDivisions,this}}class vo extends go{constructor(t=0,e=0,n=1,i=1,r=0,s=2*Math.PI,a=!1,o=0){super(),this.type="EllipseCurve",this.aX=t,this.aY=e,this.xRadius=n,this.yRadius=i,this.aStartAngle=r,this.aEndAngle=s,this.aClockwise=a,this.aRotation=o}getPoint(t,e){const n=e||new vt,i=2*Math.PI;let r=this.aEndAngle-this.aStartAngle;const s=Math.abs(r)i;)r-=i;r0?0:(Math.floor(Math.abs(l)/r)+1)*r:0===c&&l===r-1&&(l=r-2,c=1),this.closed||l>0?a=i[(l-1)%r]:(_o.subVectors(i[0],i[1]).add(i[0]),a=_o);const h=i[l%r],u=i[(l+1)%r];if(this.closed||l+2i.length-2?i.length-1:s+1],h=i[s>i.length-3?i.length-1:s+2];return n.set(To(a,o.x,l.x,c.x,h.x),To(a,o.y,l.y,c.y,h.y)),n}copy(t){super.copy(t),this.points=[];for(let e=0,n=t.points.length;e80*n){o=c=t[0],l=h=t[1];for(let e=n;ec&&(c=u),d>h&&(h=d);p=Math.max(c-o,h-l),p=0!==p?1/p:0}return Uo(s,a,n,o,l,p),a};function Fo(t,e,n,i,r){let s,a;if(r===function(t,e,n,i){let r=0;for(let s=e,a=n-i;s0)for(s=e;s=e;s-=i)a=rl(s,t[s],t[s+1],a);return a&&Ko(a,a.next)&&(sl(a),a=a.next),a}function Oo(t,e){if(!t)return t;e||(e=t);let n,i=t;do{if(n=!1,i.steiner||!Ko(i,i.next)&&0!==Qo(i.prev,i,i.next))i=i.next;else{if(sl(i),i=e=i.prev,i===i.next)break;n=!0}}while(n||i!==e);return e}function Uo(t,e,n,i,r,s,a){if(!t)return;!a&&s&&function(t,e,n,i){let r=t;do{null===r.z&&(r.z=Xo(r.x,r.y,e,n,i)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,function(t){let e,n,i,r,s,a,o,l,c=1;do{for(n=t,t=null,s=null,a=0;n;){for(a++,i=n,o=0,e=0;e0||l>0&&i;)0!==o&&(0===l||!i||n.z<=i.z)?(r=n,n=n.nextZ,o--):(r=i,i=i.nextZ,l--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;n=i}s.nextZ=null,c*=2}while(a>1)}(r)}(t,i,r,s);let o,l,c=t;for(;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Go(t,i,r,s):Ho(t))e.push(o.i/n),e.push(t.i/n),e.push(l.i/n),sl(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?Uo(t=ko(Oo(t),e,n),e,n,i,r,s,2):2===a&&Vo(t,e,n,i,r,s):Uo(Oo(t),e,n,i,r,s,1);break}}function Ho(t){const e=t.prev,n=t,i=t.next;if(Qo(e,n,i)>=0)return!1;let r=t.next.next;for(;r!==t.prev;){if(Jo(e.x,e.y,n.x,n.y,i.x,i.y,r.x,r.y)&&Qo(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function Go(t,e,n,i){const r=t.prev,s=t,a=t.next;if(Qo(r,s,a)>=0)return!1;const o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,h=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=Xo(o,l,e,n,i),d=Xo(c,h,e,n,i);let p=t.prevZ,m=t.nextZ;for(;p&&p.z>=u&&m&&m.z<=d;){if(p!==t.prev&&p!==t.next&&Jo(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,m!==t.prev&&m!==t.next&&Jo(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&Qo(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;p&&p.z>=u;){if(p!==t.prev&&p!==t.next&&Jo(r.x,r.y,s.x,s.y,a.x,a.y,p.x,p.y)&&Qo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;m&&m.z<=d;){if(m!==t.prev&&m!==t.next&&Jo(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&Qo(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function ko(t,e,n){let i=t;do{const r=i.prev,s=i.next.next;!Ko(r,s)&&$o(r,i,i.next,s)&&nl(r,s)&&nl(s,r)&&(e.push(r.i/n),e.push(i.i/n),e.push(s.i/n),sl(i),sl(i.next),i=t=s),i=i.next}while(i!==t);return Oo(i)}function Vo(t,e,n,i,r,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Zo(a,t)){let o=il(a,t);return a=Oo(a,a.next),o=Oo(o,o.next),Uo(a,e,n,i,r,s),void Uo(o,e,n,i,r,s)}t=t.next}a=a.next}while(a!==t)}function Wo(t,e){return t.x-e.x}function jo(t,e){if(e=function(t,e){let n=e;const i=t.x,r=t.y;let s,a=-1/0;do{if(r<=n.y&&r>=n.next.y&&n.next.y!==n.y){const t=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(t<=i&&t>a){if(a=t,t===i){if(r===n.y)return n;if(r===n.next.y)return n.next}s=n.x=n.x&&n.x>=l&&i!==n.x&&Jo(rs.x||n.x===s.x&&qo(s,n)))&&(s=n,u=h)),n=n.next}while(n!==o);return s}(t,e)){const n=il(e,t);Oo(e,e.next),Oo(n,n.next)}}function qo(t,e){return Qo(t.prev,t,e.prev)<0&&Qo(e.next,t,t.next)<0}function Xo(t,e,n,i,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Yo(t){let e=t,n=t;do{(e.x=0&&(t-a)*(i-o)-(n-a)*(e-o)>=0&&(n-a)*(s-o)-(r-a)*(i-o)>=0}function Zo(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&$o(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}(t,e)&&(nl(t,e)&&nl(e,t)&&function(t,e){let n=t,i=!1;const r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{n.y>s!=n.next.y>s&&n.next.y!==n.y&&r<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next}while(n!==t);return i}(t,e)&&(Qo(t.prev,t,e.prev)||Qo(t,e.prev,e))||Ko(t,e)&&Qo(t.prev,t,t.next)>0&&Qo(e.prev,e,e.next)>0)}function Qo(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function Ko(t,e){return t.x===e.x&&t.y===e.y}function $o(t,e,n,i){const r=el(Qo(t,e,n)),s=el(Qo(t,e,i)),a=el(Qo(n,i,t)),o=el(Qo(n,i,e));return r!==s&&a!==o||(!(0!==r||!tl(t,n,e))||(!(0!==s||!tl(t,i,e))||(!(0!==a||!tl(n,t,i))||!(0!==o||!tl(n,e,i)))))}function tl(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function el(t){return t>0?1:t<0?-1:0}function nl(t,e){return Qo(t.prev,t,t.next)<0?Qo(t,e,t.next)>=0&&Qo(t,t.prev,e)>=0:Qo(t,e,t.prev)<0||Qo(t,t.next,e)<0}function il(t,e){const n=new al(t.i,t.x,t.y),i=new al(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=r,r.prev=n,i.next=n,n.prev=i,s.next=i,i.prev=s,i}function rl(t,e,n,i){const r=new al(t,e,n);return i?(r.next=i.next,r.prev=i,i.next.prev=r,i.next=r):(r.prev=r,r.next=r),r}function sl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function al(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class ol{static area(t){const e=t.length;let n=0;for(let i=e-1,r=0;r2&&t[e-1].equals(t[0])&&t.pop()}function cl(t,e){for(let n=0;nNumber.EPSILON){const u=Math.sqrt(h),d=Math.sqrt(l*l+c*c),p=e.x-o/u,m=e.y+a/u,f=((n.x-c/d-p)*c-(n.y+l/d-m)*l)/(a*c-o*l);i=p+a*f-t.x,r=m+o*f-t.y;const g=i*i+r*r;if(g<=2)return new vt(i,r);s=Math.sqrt(g/2)}else{let t=!1;a>Number.EPSILON?l>Number.EPSILON&&(t=!0):a<-Number.EPSILON?l<-Number.EPSILON&&(t=!0):Math.sign(o)===Math.sign(c)&&(t=!0),t?(i=-o,r=a,s=Math.sqrt(h)):(i=a,r=o,s=Math.sqrt(h/2))}return new vt(i/s,r/s)}const P=[];for(let t=0,e=E.length,n=e-1,i=t+1;t=0;t--){const e=t/p,n=h*Math.cos(e*Math.PI/2),i=u*Math.sin(e*Math.PI/2)+d;for(let t=0,e=E.length;t=0;){const i=n;let r=n-1;r<0&&(r=t.length-1);for(let t=0,n=o+2*p;t=0?(t(i-o,p,h),u.subVectors(c,h)):(t(i+o,p,h),u.subVectors(h,c)),p-o>=0?(t(i,p-o,h),d.subVectors(c,h)):(t(i,p+o,h),d.subVectors(h,c)),l.crossVectors(u,d).normalize(),s.push(l.x,l.y,l.z),a.push(i,p)}}for(let t=0;t0)&&d.push(e,r,l),(t!==n-1||o0!=t>0&&this.version++,this._clearcoat=t}get transmission(){return this._transmission}set transmission(t){this._transmission>0!=t>0&&this.version++,this._transmission=t}copy(t){return super.copy(t),this.defines={STANDARD:"",PHYSICAL:""},this.clearcoat=t.clearcoat,this.clearcoatMap=t.clearcoatMap,this.clearcoatRoughness=t.clearcoatRoughness,this.clearcoatRoughnessMap=t.clearcoatRoughnessMap,this.clearcoatNormalMap=t.clearcoatNormalMap,this.clearcoatNormalScale.copy(t.clearcoatNormalScale),this.ior=t.ior,this.sheenTint.copy(t.sheenTint),this.transmission=t.transmission,this.transmissionMap=t.transmissionMap,this.thickness=t.thickness,this.thicknessMap=t.thicknessMap,this.attenuationDistance=t.attenuationDistance,this.attenuationTint.copy(t.attenuationTint),this.specularIntensity=t.specularIntensity,this.specularIntensityMap=t.specularIntensityMap,this.specularTint.copy(t.specularTint),this.specularTintMap=t.specularTintMap,this}}Rl.prototype.isMeshPhysicalMaterial=!0;class Cl extends We{constructor(t){super(),this.type="MeshPhongMaterial",this.color=new Qe(16777215),this.specular=new Qe(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.specular.copy(t.specular),this.shininess=t.shininess,this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.flatShading=t.flatShading,this}}Cl.prototype.isMeshPhongMaterial=!0;class Pl extends We{constructor(t){super(),this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new Qe(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.gradientMap=t.gradientMap,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}Pl.prototype.isMeshToonMaterial=!0;class Il extends We{constructor(t){super(),this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.flatShading=t.flatShading,this}}Il.prototype.isMeshNormalMaterial=!0;class Dl extends We{constructor(t){super(),this.type="MeshLambertMaterial",this.color=new Qe(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new Qe(0),this.emissiveIntensity=1,this.emissiveMap=null,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.setValues(t)}copy(t){return super.copy(t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.emissive.copy(t.emissive),this.emissiveMap=t.emissiveMap,this.emissiveIntensity=t.emissiveIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this}}Dl.prototype.isMeshLambertMaterial=!0;class Nl extends We{constructor(t){super(),this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new Qe(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=0,this.normalScale=new vt(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.setValues(t)}copy(t){return super.copy(t),this.defines={MATCAP:""},this.color.copy(t.color),this.matcap=t.matcap,this.map=t.map,this.bumpMap=t.bumpMap,this.bumpScale=t.bumpScale,this.normalMap=t.normalMap,this.normalMapType=t.normalMapType,this.normalScale.copy(t.normalScale),this.displacementMap=t.displacementMap,this.displacementScale=t.displacementScale,this.displacementBias=t.displacementBias,this.alphaMap=t.alphaMap,this.flatShading=t.flatShading,this}}Nl.prototype.isMeshMatcapMaterial=!0;class zl extends Fa{constructor(t){super(),this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(t)}copy(t){return super.copy(t),this.scale=t.scale,this.dashSize=t.dashSize,this.gapSize=t.gapSize,this}}zl.prototype.isLineDashedMaterial=!0;var Bl=Object.freeze({__proto__:null,ShadowMaterial:Al,SpriteMaterial:ea,RawShaderMaterial:_i,ShaderMaterial:Xn,PointsMaterial:Ya,MeshPhysicalMaterial:Rl,MeshStandardMaterial:Ll,MeshPhongMaterial:Cl,MeshToonMaterial:Pl,MeshNormalMaterial:Il,MeshLambertMaterial:Dl,MeshDepthMaterial:zs,MeshDistanceMaterial:Bs,MeshBasicMaterial:Ke,MeshMatcapMaterial:Nl,LineDashedMaterial:zl,LineBasicMaterial:Fa,Material:We});const Fl={arraySlice:function(t,e,n){return Fl.isTypedArray(t)?new t.constructor(t.subarray(e,void 0!==n?n:t.length)):t.slice(e,n)},convertArray:function(t,e,n){return!t||!n&&t.constructor===e?t:"number"==typeof e.BYTES_PER_ELEMENT?new e(t):Array.prototype.slice.call(t)},isTypedArray:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)},getKeyframeOrder:function(t){const e=t.length,n=new Array(e);for(let t=0;t!==e;++t)n[t]=t;return n.sort((function(e,n){return t[e]-t[n]})),n},sortedArray:function(t,e,n){const i=t.length,r=new t.constructor(i);for(let s=0,a=0;a!==i;++s){const i=n[s]*e;for(let n=0;n!==e;++n)r[a++]=t[i+n]}return r},flattenJSON:function(t,e,n,i){let r=1,s=t[0];for(;void 0!==s&&void 0===s[i];)s=t[r++];if(void 0===s)return;let a=s[i];if(void 0!==a)if(Array.isArray(a))do{a=s[i],void 0!==a&&(e.push(s.time),n.push.apply(n,a)),s=t[r++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[i],void 0!==a&&(e.push(s.time),a.toArray(n,n.length)),s=t[r++]}while(void 0!==s);else do{a=s[i],void 0!==a&&(e.push(s.time),n.push(a)),s=t[r++]}while(void 0!==s)},subclip:function(t,e,n,i,r=30){const s=t.clone();s.name=e;const a=[];for(let t=0;t=i)){l.push(e.times[t]);for(let n=0;ns.tracks[t].times[0]&&(o=s.tracks[t].times[0]);for(let t=0;t=i.times[u]){const t=u*l+o,e=t+l-o;d=Fl.arraySlice(i.values,t,e)}else{const t=i.createInterpolant(),e=o,n=l-o;t.evaluate(s),d=Fl.arraySlice(t.resultBuffer,e,n)}if("quaternion"===r){(new Lt).fromArray(d).normalize().conjugate().toArray(d)}const p=a.times.length;for(let t=0;t=r)break t;{const a=e[1];t=r)break e}s=n,n=0}}for(;n>>1;te;)--s;if(++s,0!==r||s!==i){r>=s&&(s=Math.max(s,1),r=s-1);const t=this.getValueSize();this.times=Fl.arraySlice(n,r,s),this.values=Fl.arraySlice(this.values,r*t,s*t)}return this}validate(){let t=!0;const e=this.getValueSize();e-Math.floor(e)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),t=!1);const n=this.times,i=this.values,r=n.length;0===r&&(console.error("THREE.KeyframeTrack: Track is empty.",this),t=!1);let s=null;for(let e=0;e!==r;e++){const i=n[e];if("number"==typeof i&&isNaN(i)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,e,i),t=!1;break}if(null!==s&&s>i){console.error("THREE.KeyframeTrack: Out of order keys.",this,e,i,s),t=!1;break}s=i}if(void 0!==i&&Fl.isTypedArray(i))for(let e=0,n=i.length;e!==n;++e){const n=i[e];if(isNaN(n)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,e,n),t=!1;break}}return t}optimize(){const t=Fl.arraySlice(this.times),e=Fl.arraySlice(this.values),n=this.getValueSize(),i=this.getInterpolation()===G,r=t.length-1;let s=1;for(let a=1;a0){t[s]=t[r];for(let t=r*n,i=s*n,a=0;a!==n;++a)e[i+a]=e[t+a];++s}return s!==t.length?(this.times=Fl.arraySlice(t,0,s),this.values=Fl.arraySlice(e,0,s*n)):(this.times=t,this.values=e),this}clone(){const t=Fl.arraySlice(this.times,0),e=Fl.arraySlice(this.values,0),n=new(0,this.constructor)(this.name,t,e);return n.createInterpolant=this.createInterpolant,n}}kl.prototype.TimeBufferType=Float32Array,kl.prototype.ValueBufferType=Float32Array,kl.prototype.DefaultInterpolation=H;class Vl extends kl{}Vl.prototype.ValueTypeName="bool",Vl.prototype.ValueBufferType=Array,Vl.prototype.DefaultInterpolation=U,Vl.prototype.InterpolantFactoryMethodLinear=void 0,Vl.prototype.InterpolantFactoryMethodSmooth=void 0;class Wl extends kl{}Wl.prototype.ValueTypeName="color";class jl extends kl{}jl.prototype.ValueTypeName="number";class ql extends Ol{constructor(t,e,n,i){super(t,e,n,i)}interpolate_(t,e,n,i){const r=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-e)/(i-e);let l=t*a;for(let t=l+a;l!==t;l+=4)Lt.slerpFlat(r,0,s,l-a,s,l,o);return r}}class Xl extends kl{InterpolantFactoryMethodLinear(t){return new ql(this.times,this.values,this.getValueSize(),t)}}Xl.prototype.ValueTypeName="quaternion",Xl.prototype.DefaultInterpolation=H,Xl.prototype.InterpolantFactoryMethodSmooth=void 0;class Yl extends kl{}Yl.prototype.ValueTypeName="string",Yl.prototype.ValueBufferType=Array,Yl.prototype.DefaultInterpolation=U,Yl.prototype.InterpolantFactoryMethodLinear=void 0,Yl.prototype.InterpolantFactoryMethodSmooth=void 0;class Jl extends kl{}Jl.prototype.ValueTypeName="vector";class Zl{constructor(t,e=-1,n,i=2500){this.name=t,this.tracks=n,this.duration=e,this.blendMode=i,this.uuid=ct(),this.duration<0&&this.resetDuration()}static parse(t){const e=[],n=t.tracks,i=1/(t.fps||1);for(let t=0,r=n.length;t!==r;++t)e.push(Ql(n[t]).scale(i));const r=new this(t.name,t.duration,e,t.blendMode);return r.uuid=t.uuid,r}static toJSON(t){const e=[],n=t.tracks,i={name:t.name,duration:t.duration,tracks:e,uuid:t.uuid,blendMode:t.blendMode};for(let t=0,i=n.length;t!==i;++t)e.push(kl.toJSON(n[t]));return i}static CreateFromMorphTargetSequence(t,e,n,i){const r=e.length,s=[];for(let t=0;t1){const t=s[1];let e=i[t];e||(i[t]=e=[]),e.push(n)}}const s=[];for(const t in i)s.push(this.CreateFromMorphTargetSequence(t,i[t],e,n));return s}static parseAnimation(t,e){if(!t)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(t,e,n,i,r){if(0!==n.length){const s=[],a=[];Fl.flattenJSON(n,s,a,i),0!==s.length&&r.push(new t(e,s,a))}},i=[],r=t.name||"default",s=t.fps||30,a=t.blendMode;let o=t.length||-1;const l=t.hierarchy||[];for(let t=0;t0||0===t.search(/^data\:image\/jpeg/);r.format=i?T:E,r.needsUpdate=!0,void 0!==e&&e(r)}),n,i),r}}class lc extends go{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(t){this.curves.push(t)}closePath(){const t=this.curves[0].getPoint(0),e=this.curves[this.curves.length-1].getPoint(1);t.equals(e)||this.curves.push(new Co(e,t))}getPoint(t){const e=t*this.getLength(),n=this.getCurveLengths();let i=0;for(;i=e){const t=n[i]-e,r=this.curves[i],s=r.getLength(),a=0===s?0:1-t/s;return r.getPointAt(a)}i++}return null}getLength(){const t=this.getCurveLengths();return t[t.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const t=[];let e=0;for(let n=0,i=this.curves.length;n1&&!e[e.length-1].equals(e[0])&&e.push(e[0]),e}copy(t){super.copy(t),this.curves=[];for(let e=0,n=t.curves.length;e0){const t=l.getPoint(0);t.equals(this.currentPoint)||this.lineTo(t.x,t.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),this}copy(t){return super.copy(t),this.currentPoint.copy(t.currentPoint),this}toJSON(){const t=super.toJSON();return t.currentPoint=this.currentPoint.toArray(),t}fromJSON(t){return super.fromJSON(t),this.currentPoint.fromArray(t.currentPoint),this}}class hc extends cc{constructor(t){super(t),this.uuid=ct(),this.type="Shape",this.holes=[]}getPointsHoles(t){const e=[];for(let n=0,i=this.holes.length;n0:i.vertexColors=t.vertexColors),void 0!==t.uniforms)for(const e in t.uniforms){const r=t.uniforms[e];switch(i.uniforms[e]={},r.type){case"t":i.uniforms[e].value=n(r.value);break;case"c":i.uniforms[e].value=(new Qe).setHex(r.value);break;case"v2":i.uniforms[e].value=(new vt).fromArray(r.value);break;case"v3":i.uniforms[e].value=(new Rt).fromArray(r.value);break;case"v4":i.uniforms[e].value=(new St).fromArray(r.value);break;case"m3":i.uniforms[e].value=(new yt).fromArray(r.value);break;case"m4":i.uniforms[e].value=(new ae).fromArray(r.value);break;default:i.uniforms[e].value=r.value}}if(void 0!==t.defines&&(i.defines=t.defines),void 0!==t.vertexShader&&(i.vertexShader=t.vertexShader),void 0!==t.fragmentShader&&(i.fragmentShader=t.fragmentShader),void 0!==t.extensions)for(const e in t.extensions)i.extensions[e]=t.extensions[e];if(void 0!==t.shading&&(i.flatShading=1===t.shading),void 0!==t.size&&(i.size=t.size),void 0!==t.sizeAttenuation&&(i.sizeAttenuation=t.sizeAttenuation),void 0!==t.map&&(i.map=n(t.map)),void 0!==t.matcap&&(i.matcap=n(t.matcap)),void 0!==t.alphaMap&&(i.alphaMap=n(t.alphaMap)),void 0!==t.bumpMap&&(i.bumpMap=n(t.bumpMap)),void 0!==t.bumpScale&&(i.bumpScale=t.bumpScale),void 0!==t.normalMap&&(i.normalMap=n(t.normalMap)),void 0!==t.normalMapType&&(i.normalMapType=t.normalMapType),void 0!==t.normalScale){let e=t.normalScale;!1===Array.isArray(e)&&(e=[e,e]),i.normalScale=(new vt).fromArray(e)}return void 0!==t.displacementMap&&(i.displacementMap=n(t.displacementMap)),void 0!==t.displacementScale&&(i.displacementScale=t.displacementScale),void 0!==t.displacementBias&&(i.displacementBias=t.displacementBias),void 0!==t.roughnessMap&&(i.roughnessMap=n(t.roughnessMap)),void 0!==t.metalnessMap&&(i.metalnessMap=n(t.metalnessMap)),void 0!==t.emissiveMap&&(i.emissiveMap=n(t.emissiveMap)),void 0!==t.emissiveIntensity&&(i.emissiveIntensity=t.emissiveIntensity),void 0!==t.specularMap&&(i.specularMap=n(t.specularMap)),void 0!==t.specularIntensityMap&&(i.specularIntensityMap=n(t.specularIntensityMap)),void 0!==t.specularTintMap&&(i.specularTintMap=n(t.specularTintMap)),void 0!==t.envMap&&(i.envMap=n(t.envMap)),void 0!==t.envMapIntensity&&(i.envMapIntensity=t.envMapIntensity),void 0!==t.reflectivity&&(i.reflectivity=t.reflectivity),void 0!==t.refractionRatio&&(i.refractionRatio=t.refractionRatio),void 0!==t.lightMap&&(i.lightMap=n(t.lightMap)),void 0!==t.lightMapIntensity&&(i.lightMapIntensity=t.lightMapIntensity),void 0!==t.aoMap&&(i.aoMap=n(t.aoMap)),void 0!==t.aoMapIntensity&&(i.aoMapIntensity=t.aoMapIntensity),void 0!==t.gradientMap&&(i.gradientMap=n(t.gradientMap)),void 0!==t.clearcoatMap&&(i.clearcoatMap=n(t.clearcoatMap)),void 0!==t.clearcoatRoughnessMap&&(i.clearcoatRoughnessMap=n(t.clearcoatRoughnessMap)),void 0!==t.clearcoatNormalMap&&(i.clearcoatNormalMap=n(t.clearcoatNormalMap)),void 0!==t.clearcoatNormalScale&&(i.clearcoatNormalScale=(new vt).fromArray(t.clearcoatNormalScale)),void 0!==t.transmissionMap&&(i.transmissionMap=n(t.transmissionMap)),void 0!==t.thicknessMap&&(i.thicknessMap=n(t.thicknessMap)),i}setTextures(t){return this.textures=t,this}}class Pc{static decodeText(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);let e="";for(let n=0,i=t.length;nNumber.EPSILON){if(l<0&&(n=e[s],o=-o,a=e[r],l=-l),t.ya.y)continue;if(t.y===n.y){if(t.x===n.x)return!0}else{const e=l*(t.x-n.x)-o*(t.y-n.y);if(0===e)return!0;if(e<0)continue;i=!i}}else{if(t.y!==n.y)continue;if(a.x<=t.x&&t.x<=n.x||n.x<=t.x&&t.x<=a.x)return!0}}return i}const r=ol.isClockWise,s=this.subPaths;if(0===s.length)return[];if(!0===e)return n(s);let a,o,l;const c=[];if(1===s.length)return o=s[0],l=new hc,l.curves=o.curves,c.push(l),c;let h=!r(s[0].getPoints());h=t?!h:h;const u=[],d=[];let p,m,f=[],g=0;d[g]=void 0,f[g]=[];for(let e=0,n=s.length;e1){let t=!1;const e=[];for(let t=0,e=d.length;t0&&(t||(f=u))}for(let t=0,e=d.length;t0){this.source.connect(this.filters[0]);for(let t=1,e=this.filters.length;t0){this.source.disconnect(this.filters[0]);for(let t=1,e=this.filters.length;t0&&this._mixBufferRegionAdditive(n,i,this._addIndex*e,1,e);for(let t=e,r=e+e;t!==r;++t)if(n[t]!==n[t+e]){a.setValue(n,i);break}}saveOriginalState(){const t=this.binding,e=this.buffer,n=this.valueSize,i=n*this._origIndex;t.getValue(e,i);for(let t=n,r=i;t!==r;++t)e[t]=e[i+t%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const t=3*this.valueSize;this.binding.setValue(this.buffer,t)}_setAdditiveIdentityNumeric(){const t=this._addIndex*this.valueSize,e=t+this.valueSize;for(let n=t;n=.5)for(let i=0;i!==r;++i)t[e+i]=t[n+i]}_slerp(t,e,n,i){Lt.slerpFlat(t,e,t,e,t,n,i)}_slerpAdditive(t,e,n,i,r){const s=this._workIndex*r;Lt.multiplyQuaternionsFlat(t,s,t,e,t,n),Lt.slerpFlat(t,e,t,e,t,s,i)}_lerp(t,e,n,i,r){const s=1-i;for(let a=0;a!==r;++a){const r=e+a;t[r]=t[r]*s+t[n+a]*i}}_lerpAdditive(t,e,n,i,r){for(let s=0;s!==r;++s){const r=e+s;t[r]=t[r]+t[n+s]*i}}}const oh="\\[\\]\\.:\\/",lh=new RegExp("[\\[\\]\\.:\\/]","g"),ch="[^\\[\\]\\.:\\/]",hh="[^"+oh.replace("\\.","")+"]",uh=/((?:WC+[\/:])*)/.source.replace("WC",ch),dh=/(WCOD+)?/.source.replace("WCOD",hh),ph=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",ch),mh=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",ch),fh=new RegExp("^"+uh+dh+ph+mh+"$"),gh=["material","materials","bones"];class vh{constructor(t,e,n){this.path=e,this.parsedPath=n||vh.parseTrackName(e),this.node=vh.findNode(t,this.parsedPath.nodeName)||t,this.rootNode=t,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(t,e,n){return t&&t.isAnimationObjectGroup?new vh.Composite(t,e,n):new vh(t,e,n)}static sanitizeNodeName(t){return t.replace(/\s/g,"_").replace(lh,"")}static parseTrackName(t){const e=fh.exec(t);if(!e)throw new Error("PropertyBinding: Cannot parse trackName: "+t);const n={nodeName:e[2],objectName:e[3],objectIndex:e[4],propertyName:e[5],propertyIndex:e[6]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==i&&-1!==i){const t=n.nodeName.substring(i+1);-1!==gh.indexOf(t)&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=t)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+t);return n}static findNode(t,e){if(!e||""===e||"."===e||-1===e||e===t.name||e===t.uuid)return t;if(t.skeleton){const n=t.skeleton.getBoneByName(e);if(void 0!==n)return n}if(t.children){const n=function(t){for(let i=0;i=r){const s=r++,c=t[s];e[c.uuid]=l,t[l]=c,e[o]=s,t[s]=a;for(let t=0,e=i;t!==e;++t){const e=n[t],i=e[s],r=e[l];e[l]=i,e[s]=r}}}this.nCachedObjects_=r}uncache(){const t=this._objects,e=this._indicesByUUID,n=this._bindings,i=n.length;let r=this.nCachedObjects_,s=t.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a].uuid,l=e[o];if(void 0!==l)if(delete e[o],l0&&(e[a.uuid]=l),t[l]=a,t.pop();for(let t=0,e=i;t!==e;++t){const e=n[t];e[l]=e[r],e.pop()}}}this.nCachedObjects_=r}subscribe_(t,e){const n=this._bindingsIndicesByPath;let i=n[t];const r=this._bindings;if(void 0!==i)return r[i];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,h=new Array(l);i=r.length,n[t]=i,s.push(t),a.push(e),r.push(h);for(let n=c,i=o.length;n!==i;++n){const i=o[n];h[n]=new vh(i,t,e)}return h}unsubscribe_(t){const e=this._bindingsIndicesByPath,n=e[t];if(void 0!==n){const i=this._paths,r=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a];e[t[a]]=n,s[n]=o,s.pop(),r[n]=r[a],r.pop(),i[n]=i[a],i.pop()}}}yh.prototype.isAnimationObjectGroup=!0;class xh{constructor(t,e,n=null,i=e.blendMode){this._mixer=t,this._clip=e,this._localRoot=n,this.blendMode=i;const r=e.tracks,s=r.length,a=new Array(s),o={endingStart:k,endingEnd:k};for(let t=0;t!==s;++t){const e=r[t].createInterpolant(null);a[t]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=a,this._propertyBindings=new Array(s),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=2201,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(t){return this._startTime=t,this}setLoop(t,e){return this.loop=t,this.repetitions=e,this}setEffectiveWeight(t){return this.weight=t,this._effectiveWeight=this.enabled?t:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(t){return this._scheduleFading(t,0,1)}fadeOut(t){return this._scheduleFading(t,1,0)}crossFadeFrom(t,e,n){if(t.fadeOut(e),this.fadeIn(e),n){const n=this._clip.duration,i=t._clip.duration,r=i/n,s=n/i;t.warp(1,r,e),this.warp(s,1,e)}return this}crossFadeTo(t,e,n){return t.crossFadeFrom(this,e,n)}stopFading(){const t=this._weightInterpolant;return null!==t&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}setEffectiveTimeScale(t){return this.timeScale=t,this._effectiveTimeScale=this.paused?0:t,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(t){return this.timeScale=this._clip.duration/t,this.stopWarping()}syncWith(t){return this.time=t.time,this.timeScale=t.timeScale,this.stopWarping()}halt(t){return this.warp(this._effectiveTimeScale,0,t)}warp(t,e,n){const i=this._mixer,r=i.time,s=this.timeScale;let a=this._timeScaleInterpolant;null===a&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const o=a.parameterPositions,l=a.sampleValues;return o[0]=r,o[1]=r+n,l[0]=t/s,l[1]=e/s,this}stopWarping(){const t=this._timeScaleInterpolant;return null!==t&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(t)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(t,e,n,i){if(!this.enabled)return void this._updateWeight(t);const r=this._startTime;if(null!==r){const i=(t-r)*n;if(i<0||0===n)return;this._startTime=null,e=n*i}e*=this._updateTimeScale(t);const s=this._updateTime(e),a=this._updateWeight(t);if(a>0){const t=this._interpolants,e=this._propertyBindings;switch(this.blendMode){case q:for(let n=0,i=t.length;n!==i;++n)t[n].evaluate(s),e[n].accumulateAdditive(a);break;case j:default:for(let n=0,r=t.length;n!==r;++n)t[n].evaluate(s),e[n].accumulate(i,a)}}}_updateWeight(t){let e=0;if(this.enabled){e=this.weight;const n=this._weightInterpolant;if(null!==n){const i=n.evaluate(t)[0];e*=i,t>n.parameterPositions[1]&&(this.stopFading(),0===i&&(this.enabled=!1))}}return this._effectiveWeight=e,e}_updateTimeScale(t){let e=0;if(!this.paused){e=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){e*=n.evaluate(t)[0],t>n.parameterPositions[1]&&(this.stopWarping(),0===e?this.paused=!0:this.timeScale=e)}}return this._effectiveTimeScale=e,e}_updateTime(t){const e=this._clip.duration,n=this.loop;let i=this.time+t,r=this._loopCount;const s=2202===n;if(0===t)return-1===r?i:s&&1==(1&r)?e-i:i;if(2200===n){-1===r&&(this._loopCount=0,this._setEndings(!0,!0,!1));t:{if(i>=e)i=e;else{if(!(i<0)){this.time=i;break t}i=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t<0?-1:1})}}else{if(-1===r&&(t>=0?(r=0,this._setEndings(!0,0===this.repetitions,s)):this._setEndings(0===this.repetitions,!0,s)),i>=e||i<0){const n=Math.floor(i/e);i-=e*n,r+=Math.abs(n);const a=this.repetitions-r;if(a<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=t>0?e:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:t>0?1:-1});else{if(1===a){const e=t<0;this._setEndings(e,!e,s)}else this._setEndings(!1,!1,s);this._loopCount=r,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=i;if(s&&1==(1&r))return e-i}return i}_setEndings(t,e,n){const i=this._interpolantSettings;n?(i.endingStart=V,i.endingEnd=V):(i.endingStart=t?this.zeroSlopeAtStart?V:k:W,i.endingEnd=e?this.zeroSlopeAtEnd?V:k:W)}_scheduleFading(t,e,n){const i=this._mixer,r=i.time;let s=this._weightInterpolant;null===s&&(s=i._lendControlInterpolant(),this._weightInterpolant=s);const a=s.parameterPositions,o=s.sampleValues;return a[0]=r,o[0]=e,a[1]=r+t,o[1]=n,this}}class _h extends rt{constructor(t){super(),this._root=t,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(t,e){const n=t._localRoot||this._root,i=t._clip.tracks,r=i.length,s=t._propertyBindings,a=t._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let t=0;t!==r;++t){const r=i[t],l=r.name;let h=c[l];if(void 0!==h)s[t]=h;else{if(h=s[t],void 0!==h){null===h._cacheIndex&&(++h.referenceCount,this._addInactiveBinding(h,o,l));continue}const i=e&&e._propertyBindings[t].binding.parsedPath;h=new ah(vh.create(n,l,i),r.ValueTypeName,r.getValueSize()),++h.referenceCount,this._addInactiveBinding(h,o,l),s[t]=h}a[t].resultBuffer=h.buffer}}_activateAction(t){if(!this._isActiveAction(t)){if(null===t._cacheIndex){const e=(t._localRoot||this._root).uuid,n=t._clip.uuid,i=this._actionsByClip[n];this._bindAction(t,i&&i.knownActions[0]),this._addInactiveAction(t,n,e)}const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(t)}}_deactivateAction(t){if(this._isActiveAction(t)){const e=t._propertyBindings;for(let t=0,n=e.length;t!==n;++t){const n=e[t];0==--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(t)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const t=this;this.stats={actions:{get total(){return t._actions.length},get inUse(){return t._nActiveActions}},bindings:{get total(){return t._bindings.length},get inUse(){return t._nActiveBindings}},controlInterpolants:{get total(){return t._controlInterpolants.length},get inUse(){return t._nActiveControlInterpolants}}}}_isActiveAction(t){const e=t._cacheIndex;return null!==e&&e=0;--e)t[e].stop();return this}update(t){t*=this.timeScale;const e=this._actions,n=this._nActiveActions,i=this.time+=t,r=Math.sign(t),s=this._accuIndex^=1;for(let a=0;a!==n;++a){e[a]._update(i,t,r,s)}const a=this._bindings,o=this._nActiveBindings;for(let t=0;t!==o;++t)a[t].apply(s);return this}setTime(t){this.time=0;for(let t=0;tthis.max.x||t.ythis.max.y)}containsBox(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y}getParameter(t,e){return e.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(t){return!(t.max.xthis.max.x||t.max.ythis.max.y)}clampPoint(t,e){return e.copy(t).clamp(this.min,this.max)}distanceToPoint(t){return Eh.copy(t).clamp(this.min,this.max).sub(t).length()}intersect(t){return this.min.max(t.min),this.max.min(t.max),this}union(t){return this.min.min(t.min),this.max.max(t.max),this}translate(t){return this.min.add(t),this.max.add(t),this}equals(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}Ah.prototype.isBox2=!0;const Lh=new Rt,Rh=new Rt;class Ch{constructor(t=new Rt,e=new Rt){this.start=t,this.end=e}set(t,e){return this.start.copy(t),this.end.copy(e),this}copy(t){return this.start.copy(t.start),this.end.copy(t.end),this}getCenter(t){return t.addVectors(this.start,this.end).multiplyScalar(.5)}delta(t){return t.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,e){return this.delta(e).multiplyScalar(t).add(this.start)}closestPointToPointParameter(t,e){Lh.subVectors(t,this.start),Rh.subVectors(this.end,this.start);const n=Rh.dot(Rh);let i=Rh.dot(Lh)/n;return e&&(i=ht(i,0,1)),i}closestPointToPoint(t,e,n){const i=this.closestPointToPointParameter(t,e);return this.delta(n).multiplyScalar(i).add(this.start)}applyMatrix4(t){return this.start.applyMatrix4(t),this.end.applyMatrix4(t),this}equals(t){return t.start.equals(this.start)&&t.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}class Ph extends Pe{constructor(t){super(),this.material=t,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}}Ph.prototype.isImmediateRenderObject=!0;const Ih=new Rt;const Dh=new Rt,Nh=new ae,zh=new ae;class Bh extends qa{constructor(t){const e=Fh(t),n=new wn,i=[],r=[],s=new Qe(0,0,1),a=new Qe(0,1,0);for(let t=0;t.99999)this.quaternion.set(0,0,0,1);else if(t.y<-.99999)this.quaternion.set(1,0,0,0);else{Zh.set(t.z,0,-t.x).normalize();const e=Math.acos(t.y);this.quaternion.setFromAxisAngle(Zh,e)}}setLength(t,e=.2*t,n=.2*e){this.line.scale.set(1,Math.max(1e-4,t-e),1),this.line.updateMatrix(),this.cone.scale.set(n,e,n),this.cone.position.y=t,this.cone.updateMatrix()}setColor(t){this.line.material.color.set(t),this.cone.material.color.set(t)}copy(t){return super.copy(t,!1),this.line.copy(t.line),this.cone.copy(t.cone),this}},t.Audio=th,t.AudioAnalyser=sh,t.AudioContext=kc,t.AudioListener=class extends Pe{constructor(){super(),this.type="AudioListener",this.context=kc.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new Yc}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(t){return null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=t,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(t){return this.gain.gain.setTargetAtTime(t,this.context.currentTime,.01),this}updateMatrixWorld(t){super.updateMatrixWorld(t);const e=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Zc,Qc,Kc),$c.set(0,0,-1).applyQuaternion(Qc),e.positionX){const t=this.context.currentTime+this.timeDelta;e.positionX.linearRampToValueAtTime(Zc.x,t),e.positionY.linearRampToValueAtTime(Zc.y,t),e.positionZ.linearRampToValueAtTime(Zc.z,t),e.forwardX.linearRampToValueAtTime($c.x,t),e.forwardY.linearRampToValueAtTime($c.y,t),e.forwardZ.linearRampToValueAtTime($c.z,t),e.upX.linearRampToValueAtTime(n.x,t),e.upY.linearRampToValueAtTime(n.y,t),e.upZ.linearRampToValueAtTime(n.z,t)}else e.setPosition(Zc.x,Zc.y,Zc.z),e.setOrientation($c.x,$c.y,$c.z,n.x,n.y,n.z)}},t.AudioLoader=Vc,t.AxesHelper=$h,t.AxisHelper=function(t){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new $h(t)},t.BackSide=1,t.BasicDepthPacking=3200,t.BasicShadowMap=0,t.BinaryTextureLoader=function(t){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new ac(t)},t.Bone=Ea,t.BooleanKeyframeTrack=Vl,t.BoundingBoxHelper=function(t,e){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new Jh(t,e)},t.Box2=Ah,t.Box3=It,t.Box3Helper=class extends qa{constructor(t,e=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]),i=new wn;i.setIndex(new en(n,1)),i.setAttribute("position",new un([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(i,new Fa({color:e,toneMapped:!1})),this.box=t,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(t){const e=this.box;e.isEmpty()||(e.getCenter(this.position),e.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(t))}},t.BoxBufferGeometry=Vn,t.BoxGeometry=Vn,t.BoxHelper=Jh,t.BufferAttribute=en,t.BufferGeometry=wn,t.BufferGeometryLoader=Dc,t.ByteType=1010,t.Cache=Kl,t.Camera=Yn,t.CameraHelper=class extends qa{constructor(t){const e=new wn,n=new Fa({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],r=[],s={},a=new Qe(16755200),o=new Qe(16711680),l=new Qe(43775),c=new Qe(16777215),h=new Qe(3355443);function u(t,e,n){d(t,n),d(e,n)}function d(t,e){i.push(0,0,0),r.push(e.r,e.g,e.b),void 0===s[t]&&(s[t]=[]),s[t].push(i.length/3-1)}u("n1","n2",a),u("n2","n4",a),u("n4","n3",a),u("n3","n1",a),u("f1","f2",a),u("f2","f4",a),u("f4","f3",a),u("f3","f1",a),u("n1","f1",a),u("n2","f2",a),u("n3","f3",a),u("n4","f4",a),u("p","n1",o),u("p","n2",o),u("p","n3",o),u("p","n4",o),u("u1","u2",l),u("u2","u3",l),u("u3","u1",l),u("c","t",c),u("p","c",h),u("cn1","cn2",h),u("cn3","cn4",h),u("cf1","cf2",h),u("cf3","cf4",h),e.setAttribute("position",new un(i,3)),e.setAttribute("color",new un(r,3)),super(e,n),this.type="CameraHelper",this.camera=t,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=s,this.update()}update(){const t=this.geometry,e=this.pointMap;qh.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),Xh("c",e,t,qh,0,0,-1),Xh("t",e,t,qh,0,0,1),Xh("n1",e,t,qh,-1,-1,-1),Xh("n2",e,t,qh,1,-1,-1),Xh("n3",e,t,qh,-1,1,-1),Xh("n4",e,t,qh,1,1,-1),Xh("f1",e,t,qh,-1,-1,1),Xh("f2",e,t,qh,1,-1,1),Xh("f3",e,t,qh,-1,1,1),Xh("f4",e,t,qh,1,1,1),Xh("u1",e,t,qh,.7,1.1,-1),Xh("u2",e,t,qh,-.7,1.1,-1),Xh("u3",e,t,qh,0,2,-1),Xh("cf1",e,t,qh,-1,0,1),Xh("cf2",e,t,qh,1,0,1),Xh("cf3",e,t,qh,0,-1,1),Xh("cf4",e,t,qh,0,1,1),Xh("cn1",e,t,qh,-1,0,-1),Xh("cn2",e,t,qh,1,0,-1),Xh("cn3",e,t,qh,0,-1,-1),Xh("cn4",e,t,qh,0,1,-1),t.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}},t.CanvasRenderer=function(){console.error("THREE.CanvasRenderer has been removed")},t.CanvasTexture=io,t.CatmullRomCurve3=So,t.CineonToneMapping=3,t.CircleBufferGeometry=so,t.CircleGeometry=so,t.ClampToEdgeWrapping=u,t.Clock=Yc,t.Color=Qe,t.ColorKeyframeTrack=Wl,t.CompressedTexture=no,t.CompressedTextureLoader=class extends ec{constructor(t){super(t)}load(t,e,n,i){const r=this,s=[],a=new no,o=new ic(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(r.withCredentials);let l=0;function c(c){o.load(t[c],(function(t){const n=r.parse(t,!0);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},l+=1,6===l&&(1===n.mipmapCount&&(a.minFilter=g),a.image=s,a.format=n.format,a.needsUpdate=!0,e&&e(a))}),n,i)}if(Array.isArray(t))for(let e=0,n=t.length;e>16&32768,i=e>>12&2047;const r=e>>23&255;return r<103?n:r>142?(n|=31744,n|=(255==r?0:1)&&8388607&e,n):r<113?(i|=2048,n|=(i>>114-r)+(i>>113-r&1),n):(n|=r-112<<10|i>>1,n+=1&i,n)}},t.DecrementStencilOp=7683,t.DecrementWrapStencilOp=34056,t.DefaultLoadingManager=tc,t.DepthFormat=A,t.DepthStencilFormat=L,t.DepthTexture=ro,t.DirectionalLight=Tc,t.DirectionalLightHelper=class extends Pe{constructor(t,e,n){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,void 0===e&&(e=1);let i=new wn;i.setAttribute("position",new un([-e,e,0,e,e,0,e,-e,0,-e,-e,0,-e,e,0],3));const r=new Fa({fog:!1,toneMapped:!1});this.lightPlane=new Va(i,r),this.add(this.lightPlane),i=new wn,i.setAttribute("position",new un([0,0,0,0,0,1],3)),this.targetLine=new Va(i,r),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){kh.setFromMatrixPosition(this.light.matrixWorld),Vh.setFromMatrixPosition(this.light.target.matrixWorld),Wh.subVectors(Vh,kh),this.lightPlane.lookAt(Vh),void 0!==this.color?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(Vh),this.targetLine.scale.z=Wh.length()}},t.DiscreteInterpolant=Gl,t.DodecahedronBufferGeometry=co,t.DodecahedronGeometry=co,t.DoubleSide=2,t.DstAlphaFactor=206,t.DstColorFactor=208,t.DynamicBufferAttribute=function(t,e){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new en(t,e).setUsage(nt)},t.DynamicCopyUsage=35050,t.DynamicDrawUsage=nt,t.DynamicReadUsage=35049,t.EdgesGeometry=fo,t.EdgesHelper=function(t,e){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new qa(new fo(t.geometry),new Fa({color:void 0!==e?e:16777215}))},t.EllipseCurve=vo,t.EqualDepth=4,t.EqualStencilFunc=514,t.EquirectangularReflectionMapping=a,t.EquirectangularRefractionMapping=o,t.Euler=ge,t.EventDispatcher=rt,t.ExtrudeBufferGeometry=hl,t.ExtrudeGeometry=hl,t.FaceColors=1,t.FileLoader=ic,t.FlatShading=1,t.Float16BufferAttribute=hn,t.Float32Attribute=function(t,e){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new un(t,e)},t.Float32BufferAttribute=un,t.Float64Attribute=function(t,e){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new dn(t,e)},t.Float64BufferAttribute=dn,t.FloatType=M,t.Fog=Zs,t.FogExp2=Js,t.Font=Uc,t.FontLoader=class extends ec{constructor(t){super(t)}load(t,e,n,i){const r=this,s=new ic(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(r.withCredentials),s.load(t,(function(t){let n;try{n=JSON.parse(t)}catch(e){console.warn("THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead."),n=JSON.parse(t.substring(65,t.length-2))}const i=r.parse(n);e&&e(i)}),n,i)}parse(t){return new Uc(t)}},t.FrontSide=0,t.Frustum=ai,t.GLBufferAttribute=wh,t.GLSL1="100",t.GLSL3=it,t.GammaEncoding=J,t.GreaterDepth=6,t.GreaterEqualDepth=5,t.GreaterEqualStencilFunc=518,t.GreaterStencilFunc=516,t.GridHelper=Gh,t.Group=ks,t.HalfFloatType=w,t.HemisphereLight=dc,t.HemisphereLightHelper=class extends Pe{constructor(t,e,n){super(),this.light=t,this.light.updateMatrixWorld(),this.matrix=t.matrixWorld,this.matrixAutoUpdate=!1,this.color=n;const i=new ml(e);i.rotateY(.5*Math.PI),this.material=new Ke({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const r=i.getAttribute("position"),s=new Float32Array(3*r.count);i.setAttribute("color",new en(s,3)),this.add(new Gn(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const t=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const e=t.geometry.getAttribute("color");Uh.copy(this.light.color),Hh.copy(this.light.groundColor);for(let t=0,n=e.count;t0){const n=new $l(e);r=new rc(n),r.setCrossOrigin(this.crossOrigin);for(let e=0,n=t.length;e0){i=new rc(this.manager),i.setCrossOrigin(this.crossOrigin);for(let e=0,i=t.length;e 3 ) console.assert('wrong api for', THREEx.ArMultiMarkerControls) + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) // have a parameters in argument this.parameters = { @@ -29,8 +31,8 @@ ARjs.MarkersAreaControls = THREEx.ArMultiMarkerControls = function(arToolkitCont }) } -ARjs.MarkersAreaControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; +MarkersAreaControls.prototype = Object.create( ArBaseControls.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; ////////////////////////////////////////////////////////////////////////////// // Code Separator @@ -40,7 +42,7 @@ ARjs.MarkersAreaControls.prototype.constructor = ARjs.MarkersAreaControls; /** * What to do when a image source is fully processed */ -ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ +MarkersAreaControls.prototype._onSourceProcessed = function(){ var _this = this var stats = { count: 0, @@ -80,9 +82,9 @@ ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors stats.count++ - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) }) // honor _this.object3d.visible @@ -120,7 +122,7 @@ ARjs.MarkersAreaControls.prototype._onSourceProcessed = function(){ /** * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors */ -ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ quaternionAverage = quaternionAverage || new THREE.Quaternion() // sanity check console.assert(firstQuaternion instanceof THREE.Quaternion === true) @@ -146,7 +148,7 @@ ARjs.MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaterni } -ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ vector3Average = vector3Average || new THREE.Vector3() vector3Sum.x += vector3.x @@ -167,7 +169,7 @@ ARjs.MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, v /** * compute the center of this multimarker file */ -ARjs.MarkersAreaControls.computeCenter = function(jsonData){ +MarkersAreaControls.computeCenter = function(jsonData){ var multiMarkerFile = JSON.parse(jsonData) var stats = { count : 0, @@ -197,9 +199,9 @@ ARjs.MarkersAreaControls.computeCenter = function(jsonData){ // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors stats.count++ - ARjs.MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) - ARjs.MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) - ARjs.MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) }) var averageMatrix = new THREE.Matrix4() @@ -208,7 +210,7 @@ ARjs.MarkersAreaControls.computeCenter = function(jsonData){ return averageMatrix } -ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ +MarkersAreaControls.computeBoundingBox = function(jsonData){ var multiMarkerFile = JSON.parse(jsonData) var boundingBox = new THREE.Box3() @@ -229,7 +231,7 @@ ARjs.MarkersAreaControls.computeBoundingBox = function(jsonData){ // updateSmoothedControls ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ // handle default values if( lerpsValues === undefined ){ // FIXME this parameter format is uselessly cryptic @@ -266,10 +268,10 @@ ARjs.MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedCon ////////////////////////////////////////////////////////////////////////////// -// Create THREEx.ArMultiMarkerControls from JSON +// Create ArMultiMarkerControls from JSON ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ var multiMarkerFile = JSON.parse(jsonData) // declare variables var subMarkersControls = [] @@ -284,7 +286,7 @@ ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerR parent3D.add(markerRoot) // create markerControls for our markerRoot - var subMarkerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, item.parameters) + var subMarkerControls = new ArMarkerControls(arToolkitContext, markerRoot, item.parameters) // if( true ){ // store it in the parameters @@ -314,9 +316,11 @@ ARjs.MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerR parameters.subMarkersControls = subMarkersControls parameters.subMarkerPoses = subMarkerPoses - // create a new THREEx.ArMultiMarkerControls - var multiMarkerControls = new THREEx.ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) + // create a new ArMultiMarkerControls + var multiMarkerControls = new ArMultiMarkerControls(arToolkitContext, markerRoot, parameters) // return it return multiMarkerControls } + +export default MarkersAreaControls; \ No newline at end of file diff --git a/three.js/src/markers-area/threex-armultimarkerlearning.js b/three.js/src/markers-area/arjs-markersarealearning.js similarity index 91% rename from three.js/src/markers-area/threex-armultimarkerlearning.js rename to three.js/src/markers-area/arjs-markersarealearning.js index ca8f130a..d819b737 100644 --- a/three.js/src/markers-area/threex-armultimarkerlearning.js +++ b/three.js/src/markers-area/arjs-markersarealearning.js @@ -1,7 +1,6 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import ArMultiMarkerControls from './arjs-markersareacontrols'; -ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitContext, subMarkersControls){ +const MarkersAreaLearning = function(arToolkitContext, subMarkersControls){ var _this = this this._arToolkitContext = arToolkitContext @@ -16,7 +15,6 @@ ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitCont }) } - ////////////////////////////////////////////////////////////////////////////// // statistic collection ////////////////////////////////////////////////////////////////////////////// @@ -24,7 +22,7 @@ ARjs.MarkersAreaLearning = THREEx.ArMultiMakersLearning = function(arToolkitCont /** * What to do when a image source is fully processed */ -ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ +MarkersAreaLearning.prototype._onSourceProcessed = function(){ var originQuaternion = this.subMarkersControls[0].object3d.quaternion // here collect the statistic on relative positioning @@ -99,9 +97,9 @@ ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ stats.count++ // update the average of position/rotation/scale - THREEx.ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) - THREEx.ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) - THREEx.ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) + ArMultiMarkerControls.averageVector3(stats.position.sum, positionDelta, stats.count, stats.position.average) + ArMultiMarkerControls.averageQuaternion(stats.quaternion.sum, quaternionDelta, originQuaternion, stats.count, stats.quaternion.average) + ArMultiMarkerControls.averageVector3(stats.scale.sum, scaleDelta, stats.count, stats.scale.average) } } } @@ -110,7 +108,7 @@ ARjs.MarkersAreaLearning.prototype._onSourceProcessed = function(){ // Compute markers transformation matrix from current stats ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaLearning.prototype.computeResult = function(){ +MarkersAreaLearning.prototype.computeResult = function(){ var _this = this var originSubControls = this.subMarkersControls[0] @@ -194,7 +192,7 @@ ARjs.MarkersAreaLearning.prototype.computeResult = function(){ /** * get a _this.subMarkersControls id based on markerControls.id */ -ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ +MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerControls){ // if this subMarkerControls has never been seen with another subMarkerControls if( subMarkerControls.object3d.userData.seenCouples === undefined ) return null @@ -223,7 +221,7 @@ ARjs.MarkersAreaLearning.prototype._getLearnedCoupleStats = function(subMarkerCo /** * get a _this.subMarkersControls based on markerControls.id */ -ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ +MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controlsID){ for(var i = 0; i < this.subMarkersControls.length; i++){ var subMarkerControls = this.subMarkersControls[i] @@ -238,7 +236,7 @@ ARjs.MarkersAreaLearning.prototype._getSubMarkerControlsByID = function(controls // JSON file building ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaLearning.prototype.toJSON = function(){ +MarkersAreaLearning.prototype.toJSON = function(){ // compute the average matrix before generating the file this.computeResult() @@ -248,7 +246,7 @@ ARjs.MarkersAreaLearning.prototype.toJSON = function(){ ////////////////////////////////////////////////////////////////////////////// var data = { meta : { - createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, + createdBy : "Area Learning - AR.js "+THREEx.ArToolkitContext.REVISION, // TODO: ArToolkitContext depending on build createdAt : new Date().toJSON(), }, @@ -313,7 +311,7 @@ ARjs.MarkersAreaLearning.prototype.toJSON = function(){ /** * reset all collected statistics */ -ARjs.MarkersAreaLearning.prototype.resetStats = function(){ +MarkersAreaLearning.prototype.resetStats = function(){ this.deleteResult() this.subMarkersControls.forEach(function(markerControls){ @@ -323,8 +321,10 @@ ARjs.MarkersAreaLearning.prototype.resetStats = function(){ /** * reset all collected statistics */ -ARjs.MarkersAreaLearning.prototype.deleteResult = function(){ +MarkersAreaLearning.prototype.deleteResult = function(){ this.subMarkersControls.forEach(function(markerControls){ delete markerControls.object3d.userData.result }) } + +export default MarkersAreaLearning; diff --git a/three.js/src/markers-area/threex-armultimarkerutils.js b/three.js/src/markers-area/arjs-markersareautils.js similarity index 87% rename from three.js/src/markers-area/threex-armultimarkerutils.js rename to three.js/src/markers-area/arjs-markersareautils.js index b700a37b..72aeaa66 100644 --- a/three.js/src/markers-area/threex-armultimarkerutils.js +++ b/three.js/src/markers-area/arjs-markersareautils.js @@ -1,9 +1,7 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; +import Context from '../threex/arjs-context'; // TODO context build-dependent -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} +const MarkersAreaUtils = {}; ////////////////////////////////////////////////////////////////////////////// // navigateToLearnerPage @@ -15,11 +13,11 @@ ARjs.MarkersAreaUtils = THREEx.ArMultiMarkerUtils = {} * @param {String} learnerBaseURL - the base url for the learner * @param {String} trackingBackend - the tracking backend to use */ -ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ var learnerParameters = { backURL : location.href, trackingBackend: trackingBackend, - markersControlsParameters: ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), } location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) } @@ -33,8 +31,8 @@ ARjs.MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingB * * @param {String} trackingBackend - the tracking backend to use */ -ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ - var file = ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) // json.strinfy the value and store it in localStorage localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) } @@ -46,19 +44,19 @@ ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ * @param {String} trackingBackend - the tracking backend to use * @return {Object} - json object of the multi-marker file */ -ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ console.assert(trackingBackend) if( trackingBackend === undefined ) debugger // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = Context.baseURL var absoluteBaseURL = link.href // create the base file var file = { meta : { - createdBy : 'AR.js ' + ARjs.Context.REVISION + ' - Default Marker', + createdBy : 'AR.js ' + Context.REVISION + ' - Default Marker', createdAt : new Date().toJSON(), }, trackingBackend : trackingBackend, @@ -90,10 +88,10 @@ ARjs.MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ * @param {String} trackingBackend - the tracking backend to use * @return {Object} - json object containing the controls parameters */ -ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = Context.baseURL var absoluteBaseURL = link.href @@ -136,7 +134,7 @@ ARjs.MarkersAreaUtils.createDefaultMarkersControlsParameters = function(tracking /** * generate areaFile */ -ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { // generate areaFile var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) // store areaFile in localStorage @@ -148,7 +146,7 @@ ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBac // Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ // create the base file var file = { meta : { @@ -216,7 +214,7 @@ ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBack function layout2MarkerParametersArtoolkit(parameters, layout){ // create absoluteBaseURL var link = document.createElement('a') - link.href = ARjs.Context.baseURL + link.href = Context.baseURL var absoluteBaseURL = link.href var layout2PatternUrl = { @@ -237,3 +235,5 @@ ARjs.MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBack } } } + +export default MarkersAreaUtils; diff --git a/three.js/src/new-api/arjs-anchor.js b/three.js/src/new-api/arjs-anchor.js index a2859f51..fc74f98a 100644 --- a/three.js/src/new-api/arjs-anchor.js +++ b/three.js/src/new-api/arjs-anchor.js @@ -1,5 +1,9 @@ -// @namespace -var ARjs = ARjs || {} +import * as THREE from 'three'; +import ArMarkerControls from 'threexArmarkercontrols'; // Alias for dynamic importing +import ArMarkerHelper from '../threex/threex-armarkerhelper'; +import ArSmoothedControls from '../threex/threex-arsmoothedcontrols'; +import MarkersAreaControls from '../markers-area/arjs-markersareacontrols'; +import MarkersAreaUtils from '../markers-area/arjs-markersareautils'; // TODO this is a controls... should i give the object3d here ? // not according to 'no three.js dependancy' @@ -10,7 +14,7 @@ var ARjs = ARjs || {} * @param {ARjs.Session} arSession - the session on which we create the anchor * @param {Object} markerParameters - parameter of this anchor */ -ARjs.Anchor = function(arSession, markerParameters){ +const Anchor = function(arSession, markerParameters){ var _this = this var arContext = arSession.arContext var scene = arSession.parameters.scene @@ -22,7 +26,7 @@ ARjs.Anchor = function(arSession, markerParameters){ // log to debug console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) - var markerRoot = new THREE.Group + var markerRoot = new THREE.Group() scene.add(markerRoot) // set controlledObject depending on changeMatrixMode @@ -33,7 +37,7 @@ ARjs.Anchor = function(arSession, markerParameters){ }else console.assert(false) if( markerParameters.markersAreaEnabled === false ){ - var markerControls = new THREEx.ArMarkerControls(arContext, controlledObject, markerParameters) + var markerControls = new ArMarkerControls(arContext, controlledObject, markerParameters) this.controls = markerControls }else{ // sanity check - MUST be a trackingBackend with markers @@ -49,12 +53,12 @@ ARjs.Anchor = function(arSession, markerParameters){ var resolutionH = parseInt(matches[2]) var arContext = arSession.arContext // generate and store the ARjsMultiMarkerFile - ARjs.MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) + MarkersAreaUtils.storeMarkersAreaFileFromResolution(arContext.parameters.trackingBackend, resolutionW, resolutionH) } // if there is no ARjsMultiMarkerFile, build a default one if( localStorage.getItem('ARjsMultiMarkerFile') === null ){ - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) + MarkersAreaUtils.storeDefaultMultiMarkerFile(arContext.parameters.trackingBackend) } // get multiMarkerFile from localStorage @@ -69,7 +73,7 @@ ARjs.Anchor = function(arSession, markerParameters){ }else console.assert(false) // build a multiMarkerControls - var multiMarkerControls = ARjs.MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) + var multiMarkerControls = MarkersAreaControls.fromJSON(arContext, parent3D, controlledObject, multiMarkerFile) this.controls = multiMarkerControls // honor markerParameters.changeMatrixMode @@ -80,7 +84,7 @@ ARjs.Anchor = function(arSession, markerParameters){ var markerHelpers = [] multiMarkerControls.subMarkersControls.forEach(function(subMarkerControls){ // add an helper to visuable each sub-marker - var markerHelper = new THREEx.ArMarkerHelper(subMarkerControls) + var markerHelper = new ArMarkerHelper(subMarkerControls) markerHelper.object3d.visible = false // subMarkerControls.object3d.add( markerHelper.object3d ) subMarkerControls.object3d.add( markerHelper.object3d ) @@ -108,7 +112,7 @@ ARjs.Anchor = function(arSession, markerParameters){ // build a smoothedControls var smoothedRoot = new THREE.Group() scene.add(smoothedRoot) - var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot) + var smoothedControls = new ArSmoothedControls(smoothedRoot) smoothedRoot.add(this.object3d) }else{ markerRoot.add(this.object3d) @@ -134,3 +138,5 @@ ARjs.Anchor = function(arSession, markerParameters){ } } } + +export default Anchor; \ No newline at end of file diff --git a/three.js/src/new-api/arjs-debugui.js b/three.js/src/new-api/arjs-debugui.js index 6b4b8c54..8bb28b39 100644 --- a/three.js/src/new-api/arjs-debugui.js +++ b/three.js/src/new-api/arjs-debugui.js @@ -1,12 +1,12 @@ -// @namespace -var ARjs = ARjs || {} +import MarkersAreaUtils from '../markers-area/arjs-markersareautils'; +import Context from '../threex/arjs-context'; // TODO context build-dependent /** * Create an debug UI for an ARjs.Anchor * * @param {ARjs.Anchor} arAnchor - the anchor to user */ -ARjs.SessionDebugUI = function (arSession) { +const SessionDebugUI = function (arSession) { var trackingBackend = arSession.arContext.parameters.trackingBackend this.domElement = document.createElement('div') @@ -33,10 +33,10 @@ ARjs.SessionDebugUI = function (arSession) { * Url of augmented-website service - if === '' then dont include augmented-website link * @type {String} */ -ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' +SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' ////////////////////////////////////////////////////////////////////////////// -// ARjs.AnchorDebugUI +// AnchorDebugUI ////////////////////////////////////////////////////////////////////////////// /** @@ -44,7 +44,7 @@ ARjs.SessionDebugUI.AugmentedWebsiteURL = 'https://webxr.io/augmented-website' * * @param {ARjs.Anchor} arAnchor - the anchor to user */ -ARjs.AnchorDebugUI = function (arAnchor) { +const AnchorDebugUI = function (arAnchor) { var arSession = arAnchor.arSession var trackingBackend = arSession.arContext.parameters.trackingBackend @@ -109,12 +109,12 @@ ARjs.AnchorDebugUI = function (arAnchor) { domElement.href = 'javascript:void(0)' domElement.addEventListener('click', function () { - if (ARjs.AnchorDebugUI.MarkersAreaLearnerURL !== null) { - var learnerURL = ARjs.AnchorDebugUI.MarkersAreaLearnerURL + if (AnchorDebugUI.MarkersAreaLearnerURL !== null) { + var learnerURL = AnchorDebugUI.MarkersAreaLearnerURL } else { - var learnerURL = ARjs.Context.baseURL + 'examples/multi-markers/examples/learner.html' + var learnerURL = Context.baseURL + 'examples/multi-markers/examples/learner.html' } - ARjs.MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) + MarkersAreaUtils.navigateToLearnerPage(learnerURL, trackingBackend) }) } @@ -132,7 +132,7 @@ ARjs.AnchorDebugUI = function (arAnchor) { domElement.href = 'javascript:void(0)' domElement.addEventListener('click', function () { - ARjs.MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) + MarkersAreaUtils.storeDefaultMultiMarkerFile(trackingBackend) location.reload() }) } @@ -142,4 +142,9 @@ ARjs.AnchorDebugUI = function (arAnchor) { * url for the markers-area learner. if not set, take the default one * @type {String} */ -ARjs.AnchorDebugUI.MarkersAreaLearnerURL = null +AnchorDebugUI.MarkersAreaLearnerURL = null + +export { + SessionDebugUI, + AnchorDebugUI +}; diff --git a/three.js/src/new-api/arjs-hittesting.js b/three.js/src/new-api/arjs-hittesting.js index e810fb77..325c3d15 100644 --- a/three.js/src/new-api/arjs-hittesting.js +++ b/three.js/src/new-api/arjs-hittesting.js @@ -1,5 +1,4 @@ -// @namespace -var ARjs = ARjs || {} +import HitTestingPlane from '../threex/threex-hittesting-plane'; /** * Create an anchor in the real world @@ -7,7 +6,7 @@ var ARjs = ARjs || {} * @param {ARjs.Session} arSession - the session on which we create the anchor * @param {Object} markerParameters - parameter of this anchor */ -ARjs.HitTesting = function (arSession) { +const HitTesting = function (arSession) { var _this = this var arContext = arSession.arContext var trackingBackend = arContext.parameters.trackingBackend @@ -15,7 +14,7 @@ ARjs.HitTesting = function (arSession) { this.enabled = true this._arSession = arSession this._hitTestingPlane = null - _this._hitTestingPlane = new THREEx.HitTestingPlane(arSession.arSource.domElement) + _this._hitTestingPlane = new HitTestingPlane(arSession.arSource.domElement) } ////////////////////////////////////////////////////////////////////////////// @@ -27,7 +26,7 @@ ARjs.HitTesting = function (arSession) { * @param {THREE.Camera} camera - the camera to use * @param {THREE.Object3D} object3d - */ -ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { +HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMode) { // if it isnt enabled, do nothing if (this.enabled === false) return @@ -46,9 +45,9 @@ ARjs.HitTesting.prototype.update = function (camera, pickingRoot, changeMatrixMo * * @param {Number} mouseX - position X of the hit [-1, +1] * @param {Number} mouseY - position Y of the hit [-1, +1] - * @return {[ARjs.HitTesting.Result]} - array of result + * @return {[HitTesting.Result]} - array of result */ -ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { +HitTesting.prototype.testDomEvent = function (domEvent) { var trackingBackend = this._arSession.arContext.parameters.trackingBackend var arSource = this._arSession.arSource @@ -65,9 +64,9 @@ ARjs.HitTesting.prototype.testDomEvent = function (domEvent) { * * @param {Number} mouseX - position X of the hit [0, +1] * @param {Number} mouseY - position Y of the hit [0, +1] - * @return {[ARjs.HitTesting.Result]} - array of result + * @return {[HitTesting.Result]} - array of result */ -ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { +HitTesting.prototype.test = function (mouseX, mouseY) { var arContext = this._arSession.arContext var trackingBackend = arContext.parameters.trackingBackend var hitTestResults = [] @@ -80,24 +79,24 @@ ARjs.HitTesting.prototype.test = function (mouseX, mouseY) { // if no result is found, return now if (result === null) return hitTestResults - // build a ARjs.HitTesting.Result - var hitTestResult = new ARjs.HitTesting.Result(result.position, result.quaternion, result.scale) + // build a HitTesting.Result + var hitTestResult = new HitTesting.Result(result.position, result.quaternion, result.scale) hitTestResults.push(hitTestResult) return hitTestResults } ////////////////////////////////////////////////////////////////////////////// -// ARjs.HitTesting.Result +// HitTesting.Result ////////////////////////////////////////////////////////////////////////////// /** - * Contains the result of ARjs.HitTesting.test() + * Contains the result of HitTesting.test() * * @param {THREE.Vector3} position - position to use * @param {THREE.Quaternion} quaternion - quaternion to use * @param {THREE.Vector3} scale - scale */ -ARjs.HitTesting.Result = function (position, quaternion, scale) { +HitTesting.Result = function (position, quaternion, scale) { this.position = position this.quaternion = quaternion this.scale = scale @@ -108,7 +107,7 @@ ARjs.HitTesting.Result = function (position, quaternion, scale) { * * @param {THREE.Object3D} object3d - the result to apply */ -ARjs.HitTesting.Result.prototype.apply = function (object3d) { +HitTesting.Result.prototype.apply = function (object3d) { object3d.position.copy(this.position) object3d.quaternion.copy(this.quaternion) object3d.scale.copy(this.scale) @@ -121,7 +120,7 @@ ARjs.HitTesting.Result.prototype.apply = function (object3d) { * * @param {THREE.Object3D} object3d - the result to apply */ -ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { +HitTesting.Result.prototype.applyPosition = function (object3d) { object3d.position.copy(this.position) object3d.updateMatrix() @@ -134,10 +133,12 @@ ARjs.HitTesting.Result.prototype.applyPosition = function (object3d) { * * @param {THREE.Object3D} object3d - the result to apply */ -ARjs.HitTesting.Result.prototype.applyQuaternion = function (object3d) { +HitTesting.Result.prototype.applyQuaternion = function (object3d) { object3d.quaternion.copy(this.quaternion) object3d.updateMatrix() return this } + +export default HitTesting; diff --git a/three.js/src/new-api/arjs-session.js b/three.js/src/new-api/arjs-session.js index b7d63361..3ddf38d9 100644 --- a/three.js/src/new-api/arjs-session.js +++ b/three.js/src/new-api/arjs-session.js @@ -1,11 +1,13 @@ -var ARjs = ARjs || {} +import * as THREE from 'three'; +import Source from '../threex/arjs-source'; +import Context from '../threex/arjs-context'; // TODO context build-dependent /** - * define a ARjs.Session + * * define a Session * * @param {Object} parameters - parameters for this session */ -ARjs.Session = function(parameters){ +const Session = function(parameters){ var _this = this // handle default parameters this.parameters = { @@ -62,12 +64,12 @@ ARjs.Session = function(parameters){ // log the version - console.log('AR.js', ARjs.Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) + console.log('AR.js', Context.REVISION, '- trackingBackend:', parameters.contextParameters.trackingBackend) ////////////////////////////////////////////////////////////////////////////// // init arSource ////////////////////////////////////////////////////////////////////////////// - var arSource = _this.arSource = new ARjs.Source(parameters.sourceParameters) + var arSource = _this.arSource = new Source(parameters.sourceParameters) arSource.init(function onReady(){ arSource.onResize(arContext, _this.parameters.renderer, _this.parameters.camera) @@ -83,7 +85,7 @@ ARjs.Session = function(parameters){ ////////////////////////////////////////////////////////////////////////////// // create atToolkitContext - var arContext = _this.arContext = new ARjs.Context(parameters.contextParameters) + var arContext = _this.arContext = new Context(parameters.contextParameters) // initialize it _this.arContext.init() @@ -103,6 +105,8 @@ ARjs.Session = function(parameters){ } } -ARjs.Session.prototype.onResize = function () { +Session.prototype.onResize = function () { this.arSource.onResize(this.arContext, this.parameters.renderer, this.parameters.camera) }; + +export default Session; \ No newline at end of file diff --git a/three.js/src/new-api/arjs-utils.js b/three.js/src/new-api/arjs-utils.js index 01c4a8ff..e448c7cd 100644 --- a/three.js/src/new-api/arjs-utils.js +++ b/three.js/src/new-api/arjs-utils.js @@ -1,5 +1,6 @@ -var ARjs = ARjs || {} -ARjs.Utils = {} +import * as THREE from 'three'; + +const Utils = {}; /** * Create a default rendering camera for this trackingBackend. They may be modified later. to fit physical camera parameters @@ -7,7 +8,7 @@ ARjs.Utils = {} * @param {string} trackingBackend - the tracking to user * @return {THREE.Camera} the created camera */ -ARjs.Utils.createDefaultCamera = function (trackingMethod) { +Utils.createDefaultCamera = function (trackingMethod) { var trackingBackend = this.parseTrackingMethod(trackingMethod).trackingBackend // Create a camera if (trackingBackend === 'artoolkit') { @@ -23,7 +24,7 @@ ARjs.Utils.createDefaultCamera = function (trackingMethod) { * @param {String} trackingMethod - the tracking method to parse * @return {Object} - various field of the tracking method */ -ARjs.Utils.parseTrackingMethod = function (trackingMethod) { +Utils.parseTrackingMethod = function (trackingMethod) { if (trackingMethod === 'best') { trackingMethod = 'area-artoolkit'; @@ -41,3 +42,5 @@ ARjs.Utils.parseTrackingMethod = function (trackingMethod) { } } } + +export default Utils; diff --git a/three.js/src/threex/threex-artoolkitcontext-nft.js b/three.js/src/threex/arjs-context-nft.js similarity index 78% rename from three.js/src/threex/threex-artoolkitcontext-nft.js rename to three.js/src/threex/arjs-context-nft.js index 4148e474..b6207a76 100644 --- a/three.js/src/threex/threex-artoolkitcontext-nft.js +++ b/three.js/src/threex/arjs-context-nft.js @@ -1,7 +1,10 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import * as THREE from 'three'; +import ArMarkerControls from './arjs-markercontrols-nft'; +import jsartoolkit from 'jsartoolkit'; // TODO comment explanation +const { ARToolkit, ARController } = jsartoolkit; +const artoolkit = new ARToolkit(); -ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) { +const Context = function (parameters, sourceParameters) { var _this = this _this._updatedAt = null @@ -18,7 +21,7 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) matrixCodeType: '3x3', // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', // tune the maximum rate of pose detection in the source image maxDetectionRate: 60, @@ -59,14 +62,14 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) var newValue = parameters[key] if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") + console.warn("Context: '" + key + "' parameter is undefined.") continue } var currentValue = _this.parameters[key] if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") + console.warn("Context: '" + key + "' is not a property of this material.") continue } @@ -75,18 +78,21 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters, sourceParameters) } } -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); +Context.prototype.dispatchEvent = THREE.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = THREE.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = THREE.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = THREE.EventDispatcher.prototype.removeEventListener; // default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01'; /** * Create a default camera for this trackingBackend * @param {string} trackingBackend - the tracking to user * @return {THREE.Camera} the created camera */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { +Context.createDefaultCamera = function (trackingBackend) { console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') // Create a camera if (trackingBackend === 'artoolkit') { @@ -99,7 +105,7 @@ ARjs.Context.createDefaultCamera = function (trackingBackend) { ////////////////////////////////////////////////////////////////////////////// // init functions ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { +Context.prototype.init = function (onCompleted) { var _this = this if (this.parameters.trackingBackend === 'artoolkit') { this._initArtoolkit(done) @@ -121,7 +127,7 @@ ARjs.Context.prototype.init = function (onCompleted) { //////////////////////////////////////////////////////////////////////////////// // update function //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { +Context.prototype.update = function (srcElement) { // be sure arController is fully initialized if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; @@ -133,8 +139,13 @@ ARjs.Context.prototype.update = function (srcElement) { } this._updatedAt = present + var prevVisibleMarkers = [] + // mark all markers to invisible before processing this frame this._arMarkersControls.forEach(function (markerControls) { + if (markerControls.object3d.visible) { + prevVisibleMarkers.push(markerControls) + } if (!markerControls.context.arController.showObject) { markerControls.object3d.visible = false } @@ -152,6 +163,21 @@ ARjs.Context.prototype.update = function (srcElement) { type: 'sourceProcessed' }); + // After frame is processed, check visibility of each marker to determine if it was found or lost + this._arMarkersControls.forEach(function (markerControls) { + var wasVisible = prevVisibleMarkers.includes(markerControls); + var isVisible = markerControls.object3d.visible; + + if (isVisible === true && wasVisible === false) { + window.dispatchEvent(new CustomEvent('markerFound', { + detail: markerControls, + })) + } else if (isVisible === false && wasVisible === true) { + window.dispatchEvent(new CustomEvent('markerLost', { + detail: markerControls, + })) + } + }) // return true as we processed the frame return true; @@ -160,15 +186,15 @@ ARjs.Context.prototype.update = function (srcElement) { //////////////////////////////////////////////////////////////////////////////// // Add/Remove markerControls //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof ArMarkerControls) this._arMarkersControls.push(arMarkerControls) } -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof ArMarkerControls) // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); + var index = this.arMarkerControls.indexOf(artoolkitMarker); console.assert(index !== index) this._arMarkersControls.splice(index, 1) } @@ -176,7 +202,7 @@ ARjs.Context.prototype.removeMarker = function (arMarkerControls) { ////////////////////////////////////////////////////////////////////////////// // artoolkit specific ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { +Context.prototype._initArtoolkit = function (onCompleted) { var _this = this // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one @@ -188,11 +214,10 @@ ARjs.Context.prototype._initArtoolkit = function (onCompleted) { console.error(err); }; - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, - function () { - // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); + // init ARToolkit + artoolkit.init().then(_ => { + // init controller + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { _this.arController = arController // honor this.parameters.imageSmoothingEnabled @@ -256,16 +281,15 @@ ARjs.Context.prototype._initArtoolkit = function (onCompleted) { // notify onCompleted() - }, - onError - ); + }); + }); return this } /** * return the projection matrix */ -ARjs.Context.prototype.getProjectionMatrix = function () { +Context.prototype.getProjectionMatrix = function () { // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix // keep a backward compatibility with a console.warn @@ -281,6 +305,8 @@ ARjs.Context.prototype.getProjectionMatrix = function () { return projectionMatrix } -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { +Context.prototype._updateArtoolkit = function (srcElement) { this.arController.process(srcElement) } + +export default Context; \ No newline at end of file diff --git a/three.js/src/threex/threex-artoolkitcontext.js b/three.js/src/threex/arjs-context.js similarity index 54% rename from three.js/src/threex/threex-artoolkitcontext.js rename to three.js/src/threex/arjs-context.js index 3cdf3370..a3177a77 100644 --- a/three.js/src/threex/threex-artoolkitcontext.js +++ b/three.js/src/threex/arjs-context.js @@ -1,7 +1,10 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import * as THREE from 'three'; +import ArMarkerControls from 'threexArmarkercontrols'; // Alias for dynamic importing +import jsartoolkit from 'jsartoolkit'; // TODO comment explanation +const { ARToolkit, ARController } = jsartoolkit; +const artoolkit = new ARToolkit(); -ARjs.Context = THREEx.ArToolkitContext = function (parameters) { +const Context = function (parameters) { var _this = this _this._updatedAt = null @@ -18,7 +21,7 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters) { matrixCodeType: '3x3', // url of the camera parameters - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', + cameraParametersUrl: Context.baseURL + '../data/data/camera_para.dat', // tune the maximum rate of pose detection in the source image maxDetectionRate: 60, @@ -54,14 +57,14 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters) { var newValue = parameters[key] if (newValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' parameter is undefined.") + console.warn("Context: '" + key + "' parameter is undefined.") continue } var currentValue = _this.parameters[key] if (currentValue === undefined) { - console.warn("THREEx.ArToolkitContext: '" + key + "' is not a property of this material.") + console.warn("Context: '" + key + "' is not a property of this material.") continue } @@ -70,18 +73,20 @@ ARjs.Context = THREEx.ArToolkitContext = function (parameters) { } } -Object.assign(ARjs.Context.prototype, THREE.EventDispatcher.prototype); +Context.prototype.dispatchEvent = THREE.EventDispatcher.prototype.dispatchEvent; +Context.prototype.addEventListener = THREE.EventDispatcher.prototype.addEventListener; +Context.prototype.hasEventListener = THREE.EventDispatcher.prototype.hasEventListener; +Context.prototype.removeEventListener = THREE.EventDispatcher.prototype.removeEventListener; // default to github page -ARjs.Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' -ARjs.Context.REVISION = '3.3.3'; - +Context.baseURL = 'https://ar-js-org.github.io/AR.js/three.js/' +Context.REVISION = '3.3.3-es6-beta-01' /** * Create a default camera for this trackingBackend * @param {string} trackingBackend - the tracking to user * @return {THREE.Camera} the created camera */ -ARjs.Context.createDefaultCamera = function (trackingBackend) { +Context.createDefaultCamera = function (trackingBackend) { console.assert(false, 'use ARjs.Utils.createDefaultCamera instead') // Create a camera if (trackingBackend === 'artoolkit') { @@ -94,7 +99,7 @@ ARjs.Context.createDefaultCamera = function (trackingBackend) { ////////////////////////////////////////////////////////////////////////////// // init functions ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.init = function (onCompleted) { +Context.prototype.init = function (onCompleted) { var _this = this if (this.parameters.trackingBackend === 'artoolkit') { this._initArtoolkit(done); @@ -116,7 +121,7 @@ ARjs.Context.prototype.init = function (onCompleted) { //////////////////////////////////////////////////////////////////////////////// // update function //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.update = function (srcElement) { +Context.prototype.update = function (srcElement) { // be sure arController is fully initialized if (this.parameters.trackingBackend === 'artoolkit' && this.arController === null) return false; @@ -130,7 +135,7 @@ ARjs.Context.prototype.update = function (srcElement) { var prevVisibleMarkers = [] - // mark all markers to invisible before processing this frame & store prev state + // mark all markers to invisible before processing this frame this._arMarkersControls.forEach(function (markerControls) { if (markerControls.object3d.visible) { prevVisibleMarkers.push(markerControls) @@ -154,7 +159,7 @@ ARjs.Context.prototype.update = function (srcElement) { this._arMarkersControls.forEach(function (markerControls) { var wasVisible = prevVisibleMarkers.includes(markerControls); var isVisible = markerControls.object3d.visible; - + if (isVisible === true && wasVisible === false) { window.dispatchEvent(new CustomEvent('markerFound', { detail: markerControls, @@ -164,7 +169,7 @@ ARjs.Context.prototype.update = function (srcElement) { detail: markerControls, })) } -}) + }) // return true as we processed the frame @@ -174,23 +179,24 @@ ARjs.Context.prototype.update = function (srcElement) { //////////////////////////////////////////////////////////////////////////////// // Add/Remove markerControls //////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype.addMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) +Context.prototype.addMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof ArMarkerControls) this._arMarkersControls.push(arMarkerControls) } -ARjs.Context.prototype.removeMarker = function (arMarkerControls) { - console.assert(arMarkerControls instanceof THREEx.ArMarkerControls) - // console.log('remove marker for', arMarkerControls) - var index = this.arMarkerControlss.indexOf(artoolkitMarker); - console.assert(index !== index) +Context.prototype.removeMarker = function (arMarkerControls) { + console.assert(arMarkerControls instanceof ArMarkerControls) + var index = this._arMarkersControls.indexOf(arMarkerControls); + if( index < 0 ) { + return; + } this._arMarkersControls.splice(index, 1) } ////////////////////////////////////////////////////////////////////////////// // artoolkit specific ////////////////////////////////////////////////////////////////////////////// -ARjs.Context.prototype._initArtoolkit = function (onCompleted) { +Context.prototype._initArtoolkit = function (onCompleted) { var _this = this // set this._artoolkitProjectionAxisTransformMatrix to change artoolkit projection matrix axis to match usual webgl one @@ -198,72 +204,73 @@ ARjs.Context.prototype._initArtoolkit = function (onCompleted) { this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationY(Math.PI)) this._artoolkitProjectionAxisTransformMatrix.multiply(new THREE.Matrix4().makeRotationZ(Math.PI)) - // get cameraParameters - var cameraParameters = new ARCameraParam(_this.parameters.cameraParametersUrl, function () { + // init ARToolkit + artoolkit.init().then(_ => { // init controller - var arController = new ARController(_this.parameters.canvasWidth, _this.parameters.canvasHeight, cameraParameters); - _this.arController = arController - - // honor this.parameters.imageSmoothingEnabled - arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; - - // honor this.parameters.debug - if (_this.parameters.debug === true) { - arController.debugSetup(); - arController.canvas.style.position = 'absolute' - arController.canvas.style.top = '0px' - arController.canvas.style.opacity = '0.6' - arController.canvas.style.pointerEvents = 'none' - arController.canvas.style.zIndex = '-1' - } + ARController.initWithDimensions(_this.parameters.canvasWidth, _this.parameters.canvasHeight, _this.parameters.cameraParametersUrl).then((arController) => { + _this.arController = arController + + // honor this.parameters.imageSmoothingEnabled + arController.ctx.mozImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.webkitImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.msImageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + arController.ctx.imageSmoothingEnabled = _this.parameters.imageSmoothingEnabled; + + // honor this.parameters.debug + if (_this.parameters.debug === true) { + arController.debugSetup(); + arController.canvas.style.position = 'absolute' + arController.canvas.style.top = '0px' + arController.canvas.style.opacity = '0.6' + arController.canvas.style.pointerEvents = 'none' + arController.canvas.style.zIndex = '-1' + } - // setPatternDetectionMode - var detectionModes = { - 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, - 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, - 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, - 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, - } - var detectionMode = detectionModes[_this.parameters.detectionMode] - console.assert(detectionMode !== undefined) - arController.setPatternDetectionMode(detectionMode); - - // setMatrixCodeType - var matrixCodeTypes = { - '3x3': artoolkit.AR_MATRIX_CODE_3x3, - '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, - '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, - '4x4': artoolkit.AR_MATRIX_CODE_4x4, - '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, - '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, - } - var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] - console.assert(matrixCodeType !== undefined) - arController.setMatrixCodeType(matrixCodeType); - - // set the patternRatio for artoolkit - arController.setPattRatio(_this.parameters.patternRatio); - - // set thresholding in artoolkit - // this seems to be the default - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) - // adatative consume a LOT of cpu... - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) - // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) - - // notify - onCompleted() - }) + // setPatternDetectionMode + var detectionModes = { + 'color': artoolkit.AR_TEMPLATE_MATCHING_COLOR, + 'color_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX, + 'mono': artoolkit.AR_TEMPLATE_MATCHING_MONO, + 'mono_and_matrix': artoolkit.AR_TEMPLATE_MATCHING_MONO_AND_MATRIX, + } + var detectionMode = detectionModes[_this.parameters.detectionMode] + console.assert(detectionMode !== undefined) + arController.setPatternDetectionMode(detectionMode); + + // setMatrixCodeType + var matrixCodeTypes = { + '3x3': artoolkit.AR_MATRIX_CODE_3x3, + '3x3_HAMMING63': artoolkit.AR_MATRIX_CODE_3x3_HAMMING63, + '3x3_PARITY65': artoolkit.AR_MATRIX_CODE_3x3_PARITY65, + '4x4': artoolkit.AR_MATRIX_CODE_4x4, + '4x4_BCH_13_9_3': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_9_3, + '4x4_BCH_13_5_5': artoolkit.AR_MATRIX_CODE_4x4_BCH_13_5_5, + } + var matrixCodeType = matrixCodeTypes[_this.parameters.matrixCodeType] + console.assert(matrixCodeType !== undefined) + arController.setMatrixCodeType(matrixCodeType); + + // set the patternRatio for artoolkit + arController.setPattRatio(_this.parameters.patternRatio); + + // set thresholding in artoolkit + // this seems to be the default + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_MANUAL) + // adatative consume a LOT of cpu... + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE) + // arController.setThresholdMode(artoolkit.AR_LABELING_THRESH_MODE_AUTO_OTSU) + + // notify + onCompleted() + }); + }); return this } /** * return the projection matrix */ -ARjs.Context.prototype.getProjectionMatrix = function (srcElement) { +Context.prototype.getProjectionMatrix = function (srcElement) { // FIXME rename this function to say it is artoolkit specific - getArtoolkitProjectMatrix @@ -275,13 +282,45 @@ ARjs.Context.prototype.getProjectionMatrix = function (srcElement) { var projectionMatrixArr = this.arController.getCameraMatrix(); var projectionMatrix = new THREE.Matrix4().fromArray(projectionMatrixArr) - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - projectionMatrix.multiply(this._artoolkitProjectionAxisTransformMatrix) - // return the result return projectionMatrix } -ARjs.Context.prototype._updateArtoolkit = function (srcElement) { +Context.prototype._updateArtoolkit = function (srcElement) { this.arController.process(srcElement) } + +////////////////////////////////////////////////////////////////////////////// +// dispose function +////////////////////////////////////////////////////////////////////////////// +Context.prototype.dispose = function () { + this.initialized = false; + + // markers + this._arMarkersControls.forEach(function (markerControls) { + console.assert(markerControls instanceof ArMarkerControls); + markerControls.dispose(); + } ); + this._arMarkersControls = []; + + // cameraParam + if (this.arController && this.arController.cameraParam && this.arController.cameraParam.dispose) { + this.arController.cameraParam.dispose(); + } + + + // ARController + if( this.arController && this.arController.dispose ) { + this.arController.dispose(); + } + this.arController = null; + + // class properties + this._artoolkitProjectionAxisTransformMatrix = null; + + // artoolkit + // NOTE: since the instance of ARToolkit is created globally + // we should probably do not call .teardown() ... ? +} + +export default Context; \ No newline at end of file diff --git a/three.js/src/threex/threex-armarkercontrols-nft-start.js b/three.js/src/threex/arjs-markercontrols-nft.js similarity index 85% rename from three.js/src/threex/threex-armarkercontrols-nft-start.js rename to three.js/src/threex/arjs-markercontrols-nft.js index b03411f9..36311c40 100644 --- a/three.js/src/threex/threex-armarkercontrols-nft-start.js +++ b/three.js/src/threex/arjs-markercontrols-nft.js @@ -1,10 +1,13 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import * as THREE from 'three'; +import ArBaseControls from './threex-arbasecontrols'; +import Worker from './arjs-markercontrols-nft.worker.js'; +import jsartoolkit from 'jsartoolkit'; // TODO comment explanation +const { ARToolkit } = jsartoolkit; -ARjs.MarkerControls = THREEx.ArMarkerControls = function (context, object3d, parameters) { +const MarkerControls = function (context, object3d, parameters) { var _this = this - THREEx.ArBaseControls.call(this, object3d) + ArBaseControls.call(this, object3d) this.context = context // handle default parameters @@ -54,14 +57,14 @@ ARjs.MarkerControls = THREEx.ArMarkerControls = function (context, object3d, par var newValue = parameters[key] if (newValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' parameter is undefined.") + console.warn("ArMarkerControls: '" + key + "' parameter is undefined.") continue } var currentValue = _this.parameters[key] if (currentValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' is not a property of this material.") + console.warn("ArMarkerControls: '" + key + "' is not a property of this material.") continue } @@ -85,10 +88,10 @@ ARjs.MarkerControls = THREEx.ArMarkerControls = function (context, object3d, par } else console.assert(false) } -ARjs.MarkerControls.prototype = Object.create(THREEx.ArBaseControls.prototype); -ARjs.MarkerControls.prototype.constructor = THREEx.ArMarkerControls; +MarkerControls.prototype = Object.create(ArBaseControls.prototype); +MarkerControls.prototype.constructor = MarkerControls; -ARjs.MarkerControls.prototype.dispose = function () { +MarkerControls.prototype.dispose = function () { this.context.removeMarker(this) } @@ -100,7 +103,7 @@ ARjs.MarkerControls.prototype.dispose = function () { * When you actually got a new modelViewMatrix, you need to perfom a whole bunch * of things. it is done here. */ -ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { +MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { var markerObject3D = this.object3d; // mark object as visible @@ -164,7 +167,7 @@ ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMat markerObject3D.matrix.copy(modelViewMatrix) } } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { - markerObject3D.matrix.getInverse(modelViewMatrix) + markerObject3D.matrix.copy(modelViewMatrix).invert() } else { console.assert(false) } @@ -183,7 +186,7 @@ ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMat // utility functions ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype.name = function () { +MarkerControls.prototype.name = function () { var name = ''; name += this.parameters.type; @@ -207,7 +210,7 @@ ARjs.MarkerControls.prototype.name = function () { ////////////////////////////////////////////////////////////////////////////// // init for Artoolkit ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function () { +MarkerControls.prototype._initArtoolkit = function () { var _this = this var artoolkitMarkerId = null @@ -232,7 +235,7 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { // start tracking this pattern if (_this.parameters.type === 'pattern') { - arController.loadMarker(_this.parameters.patternUrl, function (markerId) { + arController.loadMarker(_this.parameters.patternUrl).then(function (markerId) { artoolkitMarkerId = markerId arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); }); @@ -250,13 +253,13 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { // listen to the event arController.addEventListener('getMarker', function (event) { - if (event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { + if (event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { if (artoolkitMarkerId === null) return if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { + } else if (event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { if (artoolkitMarkerId === null) return if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { + } else if (event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { onMarkerFound(event); } }) @@ -275,13 +278,7 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { }; function handleNFT(descriptorsUrl, arController) { - // create a Worker to handle loading of NFT marker and tracking of it - var workerBlob = new Blob( - [workerRunner.toString().replace(/^function .+\{?|\}$/g, '')], - { type: 'text/js-worker' } - ); - var workerBlobUrl = URL.createObjectURL(workerBlob); - var worker = new Worker(workerBlobUrl); + var worker = new Worker(); window.addEventListener('arjs-video-loaded', function (ev) { var video = ev.detail.component; @@ -290,12 +287,12 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { var pscale = 320 / Math.max(vw, vh / 3 * 4); - w = vw * pscale; - h = vh * pscale; - pw = Math.max(w, h / 3 * 4); - ph = Math.max(h, w / 4 * 3); - ox = (pw - w) / 2; - oy = (ph - h) / 2; + const w = vw * pscale; + const h = vh * pscale; + const pw = Math.max(w, h / 3 * 4); + const ph = Math.max(h, w / 4 * 3); + const ox = (pw - w) / 2; + const oy = (ph - h) / 2; arController.canvas.style.clientWidth = pw + "px"; arController.canvas.style.clientHeight = ph + "px"; @@ -319,7 +316,7 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { pw: pw, ph: ph, marker: descriptorsUrl, - param: arController.cameraParam.src, + param: arController.cameraParam, }); worker.onmessage = function (ev) { @@ -353,7 +350,7 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { onMarkerFound({ data: { - type: artoolkit.NFT_MARKER, + type: ARToolkit.NFT_MARKER, matrix: matrix, msg: ev.data.type, } @@ -368,11 +365,15 @@ ARjs.MarkerControls.prototype._initArtoolkit = function () { }; }); + } + function onMarkerFound(event) { + if (event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return + if (event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return + var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) + _this.updateWithModelViewMatrix(modelViewMatrix) + } +} - }; - - function workerRunner() { - // continuing 'workerRunner' function at treex-armarkercontrols-nft-end.js file - // see the makefile of three.js folder to better understand the division of this function between two files +export default MarkerControls; diff --git a/three.js/src/threex/threex-armarkercontrols-nft-end.js b/three.js/src/threex/arjs-markercontrols-nft.worker.js similarity index 69% rename from three.js/src/threex/threex-armarkercontrols-nft-end.js rename to three.js/src/threex/arjs-markercontrols-nft.worker.js index b2fad794..77c0b689 100644 --- a/three.js/src/threex/threex-armarkercontrols-nft-end.js +++ b/three.js/src/threex/arjs-markercontrols-nft.worker.js @@ -1,6 +1,9 @@ -// continuing 'workerRunner' function from treex-armarkercontrols-nft-start.js file +/* eslint-env worker */ +import jsartoolkit from 'jsartoolkit'; +const { ARToolkit, ARController } = jsartoolkit; +const artoolkit = new ARToolkit(); -this.onmessage = function (e) { +onmessage = function (e) { var msg = e.data; switch (msg.type) { case "init": { @@ -32,8 +35,8 @@ function load(msg) { } else if (reC == false) { camUrl = basePath + '/' + msg.param; } - var onLoad = function () { - ar = new ARController(msg.pw, msg.ph, param); + var onLoad = function (arController) { + ar = arController; var cameraMatrix = ar.getCameraMatrix(); // after the ARController is set up, we load the NFT Marker @@ -44,10 +47,10 @@ function load(msg) { } else if (reM == false) { nftMarkerUrl = basePath + '/' + msg.marker; } - ar.loadNFTMarker(nftMarkerUrl, function (markerId) { + ar.loadNFTMarker(nftMarkerUrl).then(function (markerId) { ar.trackNFTMarkerId(markerId); postMessage({ type: 'endLoading' }) - }, function (err) { + }).catch(function (err) { console.log('Error in loading marker on Worker', err) }); @@ -64,11 +67,12 @@ function load(msg) { }; var onError = function (error) { - console.error(error); + console.error("Error while intizalizing arController", error); }; - console.log(msg.param); - // we cannot pass the entire ARController, so we re-create one inside the Worker, starting from camera_param - var param = new ARCameraParam(camUrl, onLoad, onError); + + artoolkit.init().then(_ => { + ARController.initWithDimensions(msg.pw, msg.ph, camUrl).then(onLoad).catch(onError); + }); } function process() { @@ -86,14 +90,4 @@ function process() { }); } next = null; -} - }; - -function onMarkerFound(event) { - if (event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence) return - if (event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence) return - - var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) - _this.updateWithModelViewMatrix(modelViewMatrix) -} } diff --git a/three.js/src/threex/threex-armarkercontrols.js b/three.js/src/threex/arjs-markercontrols.js similarity index 78% rename from three.js/src/threex/threex-armarkercontrols.js rename to three.js/src/threex/arjs-markercontrols.js index 900146ec..3a4aac44 100644 --- a/three.js/src/threex/threex-armarkercontrols.js +++ b/three.js/src/threex/arjs-markercontrols.js @@ -1,10 +1,12 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import * as THREE from 'three'; +import ArBaseControls from './threex-arbasecontrols'; +import jsartoolkit from 'jsartoolkit'; // TODO comment explanation +const { ARToolkit } = jsartoolkit; -ARjs.MarkerControls = THREEx.ArMarkerControls = function(context, object3d, parameters){ +const MarkerControls = function(context, object3d, parameters){ var _this = this - THREEx.ArBaseControls.call(this, object3d) + ArBaseControls.call(this, object3d) this.context = context // handle default parameters @@ -53,14 +55,14 @@ ARjs.MarkerControls = THREEx.ArMarkerControls = function(context, object3d, para var newValue = parameters[ key ] if( newValue === undefined ){ - console.warn( "THREEx.ArMarkerControls: '" + key + "' parameter is undefined." ) + console.warn( "ArMarkerControls: '" + key + "' parameter is undefined." ) continue } var currentValue = _this.parameters[ key ] if( currentValue === undefined ){ - console.warn( "THREEx.ArMarkerControls: '" + key + "' is not a property of this material." ) + console.warn( "ArMarkerControls: '" + key + "' is not a property of this material." ) continue } @@ -84,14 +86,22 @@ ARjs.MarkerControls = THREEx.ArMarkerControls = function(context, object3d, para }else console.assert(false) } -ARjs.MarkerControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -ARjs.MarkerControls.prototype.constructor = THREEx.ArMarkerControls; +MarkerControls.prototype = Object.create( ArBaseControls.prototype ); +MarkerControls.prototype.constructor = MarkerControls; -ARjs.MarkerControls.prototype.dispose = function(){ - this.context.removeMarker(this) - // TODO remove the event listener if needed - // unloadMaker ??? +////////////////////////////////////////////////////////////////////////////// +// dispose instance +////////////////////////////////////////////////////////////////////////////// +MarkerControls.prototype.dispose = function(){ + if( this.context && this.context.arController ) { + this.context.arController.removeEventListener('getMarker', this.onGetMarker); + } + + this.context.removeMarker(this); + + this.object3d = null; + this.smoothMatrices = []; } ////////////////////////////////////////////////////////////////////////////// @@ -102,7 +112,7 @@ ARjs.MarkerControls.prototype.dispose = function(){ * When you actually got a new modelViewMatrix, you need to perfom a whole bunch * of things. it is done here. */ -ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ +MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatrix){ var markerObject3D = this.object3d; // mark object as visible @@ -164,7 +174,7 @@ ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatr markerObject3D.matrix.copy(modelViewMatrix) } }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ - markerObject3D.matrix.getInverse( modelViewMatrix ) + markerObject3D.matrix.copy(modelViewMatrix).invert() }else { console.assert(false) } @@ -187,7 +197,7 @@ ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function(modelViewMatr * - silly heuristic for now * - should be improved */ -ARjs.MarkerControls.prototype.name = function(){ +MarkerControls.prototype.name = function(){ var name = '' name += this.parameters.type; if( this.parameters.type === 'pattern' ){ @@ -205,7 +215,7 @@ ARjs.MarkerControls.prototype.name = function(){ ////////////////////////////////////////////////////////////////////////////// // init for Artoolkit ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function(){ +MarkerControls.prototype._initArtoolkit = function(){ var _this = this var artoolkitMarkerId = null @@ -230,7 +240,7 @@ ARjs.MarkerControls.prototype._initArtoolkit = function(){ // start tracking this pattern if( _this.parameters.type === 'pattern' ){ - arController.loadMarker(_this.parameters.patternUrl, function(markerId) { + arController.loadMarker(_this.parameters.patternUrl).then(function(markerId) { artoolkitMarkerId = markerId arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); }); @@ -244,27 +254,32 @@ ARjs.MarkerControls.prototype._initArtoolkit = function(){ } // listen to the event - arController.addEventListener('getMarker', function(event){ - if( event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ - if( artoolkitMarkerId === null ) return - if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ - // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) - if( artoolkitMarkerId === null ) return - if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) - }else if( event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ - onMarkerFound(event) - } - }) + arController.addEventListener('getMarker', onGetMarker) } function onMarkerFound(event){ // honor his.parameters.minConfidence - if( event.data.type === artoolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return - if( event.data.type === artoolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.PATTERN_MARKER && event.data.marker.cfPatt < _this.parameters.minConfidence ) return + if( event.data.type === ARToolkit.BARCODE_MARKER && event.data.marker.cfMatrix < _this.parameters.minConfidence ) return var modelViewMatrix = new THREE.Matrix4().fromArray(event.data.matrix) _this.updateWithModelViewMatrix(modelViewMatrix) } + + function onGetMarker(event){ + if( event.data.type === ARToolkit.PATTERN_MARKER && _this.parameters.type === 'pattern' ){ + if( artoolkitMarkerId === null ) return + if( event.data.marker.idPatt === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.BARCODE_MARKER && _this.parameters.type === 'barcode' ){ + // console.log('BARCODE_MARKER idMatrix', event.data.marker.idMatrix, artoolkitMarkerId ) + if( artoolkitMarkerId === null ) return + if( event.data.marker.idMatrix === artoolkitMarkerId ) onMarkerFound(event) + }else if( event.data.type === ARToolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown'){ + onMarkerFound(event) + } + } + } + +export default MarkerControls; diff --git a/three.js/src/threex/arjs-profile.js b/three.js/src/threex/arjs-profile.js new file mode 100644 index 00000000..a9c382c1 --- /dev/null +++ b/three.js/src/threex/arjs-profile.js @@ -0,0 +1,166 @@ +import Utils from '../new-api/arjs-utils'; +import ArToolkitContext from './arjs-context'; // TODO context build-dependent + +/** + * ArToolkitProfile helps you build parameters for artoolkit + * - it is fully independent of the rest of the code + * - all the other classes are still expecting normal parameters + * - you can use this class to understand how to tune your specific usecase + * - it is made to help people to build parameters without understanding all the underlying details. + */ +const Profile = function () { + this.reset() + + this.performance('default') +} + +Profile.prototype._guessPerformanceLabel = function () { + var isMobile = navigator.userAgent.match(/Android/i) + || navigator.userAgent.match(/webOS/i) + || navigator.userAgent.match(/iPhone/i) + || navigator.userAgent.match(/iPad/i) + || navigator.userAgent.match(/iPod/i) + || navigator.userAgent.match(/BlackBerry/i) + || navigator.userAgent.match(/Windows Phone/i) + ? true : false + if (isMobile === true) { + return 'phone-normal' + } + return 'desktop-normal' +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +/** + * reset all parameters + */ +Profile.prototype.reset = function () { + this.sourceParameters = { + // to read from the webcam + sourceType: 'webcam', + } + + this.contextParameters = { + cameraParametersUrl: ArToolkitContext.baseURL + '../data/data/camera_para.dat', // TODO dependent of build? + detectionMode: 'mono', + } + this.defaultMarkerParameters = { + type: 'pattern', + patternUrl: ArToolkitContext.baseURL + '../data/data/patt.hiro', // TODO dependent of build? + changeMatrixMode: 'modelViewMatrix', + } + return this +}; + +////////////////////////////////////////////////////////////////////////////// +// Performance +////////////////////////////////////////////////////////////////////////////// + + + +Profile.prototype.performance = function (label) { + + if (label === 'default') { + label = this._guessPerformanceLabel() + } + + if (label === 'desktop-fast') { + this.contextParameters.canvasWidth = 640 * 3 + this.contextParameters.canvasHeight = 480 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'desktop-normal') { + this.contextParameters.canvasWidth = 640 + this.contextParameters.canvasHeight = 480 + + this.contextParameters.maxDetectionRate = 60 + } else if (label === 'phone-normal') { + this.contextParameters.canvasWidth = 80 * 4 + this.contextParameters.canvasHeight = 60 * 4 + + this.contextParameters.maxDetectionRate = 30 + } else if (label === 'phone-slow') { + this.contextParameters.canvasWidth = 80 * 3 + this.contextParameters.canvasHeight = 60 * 3 + + this.contextParameters.maxDetectionRate = 30 + } else { + console.assert(false, 'unknonwn label ' + label) + } + return this +} + +////////////////////////////////////////////////////////////////////////////// +// Marker +////////////////////////////////////////////////////////////////////////////// + + +Profile.prototype.defaultMarker = function (trackingBackend) { + trackingBackend = trackingBackend || this.contextParameters.trackingBackend + + if (trackingBackend === 'artoolkit') { + this.contextParameters.detectionMode = 'mono' + this.defaultMarkerParameters.type = 'pattern' + this.defaultMarkerParameters.patternUrl = ArToolkitContext.baseURL + '../data/data/patt.hiro' // TODO dependent of build? + } else console.assert(false) + + return this +} +////////////////////////////////////////////////////////////////////////////// +// Source +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.sourceWebcam = function () { + this.sourceParameters.sourceType = 'webcam' + delete this.sourceParameters.sourceUrl + return this +} + +Profile.prototype.sourceVideo = function (url) { + this.sourceParameters.sourceType = 'video' + this.sourceParameters.sourceUrl = url + return this +} + +Profile.prototype.sourceImage = function (url) { + this.sourceParameters.sourceType = 'image' + this.sourceParameters.sourceUrl = url + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingBackend = function (trackingBackend) { + console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') + this.contextParameters.trackingBackend = trackingBackend + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.changeMatrixMode = function (changeMatrixMode) { + this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode + return this +} + +////////////////////////////////////////////////////////////////////////////// +// trackingBackend +////////////////////////////////////////////////////////////////////////////// +Profile.prototype.trackingMethod = function (trackingMethod) { + var data = Utils.parseTrackingMethod(trackingMethod) + this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled + this.contextParameters.trackingBackend = data.trackingBackend + return this +} + +/** + * check if the profile is valid. Throw an exception is not valid + */ +Profile.prototype.checkIfValid = function () { + return this +} + +export default Profile; diff --git a/three.js/src/threex/arjs-source.js b/three.js/src/threex/arjs-source.js new file mode 100644 index 00000000..a9768d2e --- /dev/null +++ b/three.js/src/threex/arjs-source.js @@ -0,0 +1,522 @@ +const Source = function (parameters) { + var _this = this + + this.ready = false + this.domElement = null + + // handle default parameters + this.parameters = { + // type of source - ['webcam', 'image', 'video'] + sourceType: 'webcam', + // url of the source - valid if sourceType = image|video + sourceUrl: null, + + // Device id of the camera to use (optional) + deviceId: null, + + // resolution of at which we initialize in the source image + sourceWidth: 640, + sourceHeight: 480, + // resolution displayed for the source + displayWidth: 640, + displayHeight: 480, + } + ////////////////////////////////////////////////////////////////////////////// + // setParameters + ////////////////////////////////////////////////////////////////////////////// + setParameters(parameters) + function setParameters(parameters) { + if (parameters === undefined) return + for (var key in parameters) { + var newValue = parameters[key] + + if (newValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' parameter is undefined.") + continue + } + + var currentValue = _this.parameters[key] + + if (currentValue === undefined) { + console.warn("ArToolkitSource: '" + key + "' is not a property of this material.") + continue + } + + _this.parameters[key] = newValue + } + } + + this.onInitialClick = function() { + if( this.domElement && this.domElement.play ) { + this.domElement.play().then( () => {}); + } + } +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +Source.prototype.init = function (onReady, onError) { + var _this = this + + if (this.parameters.sourceType === 'image') { + var domElement = this._initSourceImage(onSourceReady, onError) + } else if (this.parameters.sourceType === 'video') { + var domElement = this._initSourceVideo(onSourceReady, onError) + } else if (this.parameters.sourceType === 'webcam') { + // var domElement = this._initSourceWebcamOld(onSourceReady) + var domElement = this._initSourceWebcam(onSourceReady, onError) + } else { + console.assert(false) + } + + // attach + this.domElement = domElement + this.domElement.style.position = 'absolute' + this.domElement.style.top = '0px' + this.domElement.style.left = '0px' + this.domElement.style.zIndex = '-2' + this.domElement.setAttribute('id', 'arjs-video'); + + return this + function onSourceReady() { + if( !_this.domElement ) { + return; + } + + document.body.appendChild(_this.domElement); + window.dispatchEvent(new CustomEvent('arjs-video-loaded', { + detail: { + component: document.querySelector('#arjs-video'), + }, + })); + + _this.ready = true + + onReady && onReady() + } +} + +//////////////////////////////////////////////////////////////////////////////// +// init image source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceImage = function (onReady) { + // TODO make it static + var domElement = document.createElement('img'); + domElement.src = this.parameters.sourceUrl; + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onload = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init video source +//////////////////////////////////////////////////////////////////////////////// + + +Source.prototype._initSourceVideo = function (onReady) { + // TODO make it static + var domElement = document.createElement('video'); + domElement.src = this.parameters.sourceUrl; + + domElement.style.objectFit = 'initial'; + + domElement.autoplay = true; + domElement.webkitPlaysinline = true; + domElement.controls = false; + domElement.loop = true; + domElement.muted = true; + + // start the video on first click if not started automatically + document.body.addEventListener('click', this.onInitialClick, {once:true}); + + domElement.width = this.parameters.sourceWidth; + domElement.height = this.parameters.sourceHeight; + domElement.style.width = this.parameters.displayWidth + 'px'; + domElement.style.height = this.parameters.displayHeight + 'px'; + + domElement.onloadeddata = onReady; + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// init webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._initSourceWebcam = function (onReady, onError) { + var _this = this + + // init default value + onError = onError || function (error) { + var event = new CustomEvent('camera-error', { error: error }); + window.dispatchEvent(event); + + setTimeout(() => { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + }, 1000); + } + + var domElement = document.createElement('video'); + domElement.setAttribute('autoplay', ''); + domElement.setAttribute('muted', ''); + domElement.setAttribute('playsinline', ''); + domElement.style.width = this.parameters.displayWidth + 'px' + domElement.style.height = this.parameters.displayHeight + 'px' + + // check API is available + if (navigator.mediaDevices === undefined + || navigator.mediaDevices.enumerateDevices === undefined + || navigator.mediaDevices.getUserMedia === undefined) { + if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' + else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' + else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' + else console.assert(false) + onError({ + name: '', + message: 'WebRTC issue-! ' + fctName + ' not present in your browser' + }); + return null + } + + // get available devices + navigator.mediaDevices.enumerateDevices().then(function (devices) { + var userMediaConstraints = { + audio: false, + video: { + facingMode: 'environment', + width: { + ideal: _this.parameters.sourceWidth, + // min: 1024, + // max: 1920 + }, + height: { + ideal: _this.parameters.sourceHeight, + // min: 776, + // max: 1080 + } + } + }; + + if (null !== _this.parameters.deviceId) { + userMediaConstraints.video.deviceId = { + exact: _this.parameters.deviceId + }; + } + + // get a device which satisfy the constraints + navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { + // set the .src of the domElement + domElement.srcObject = stream; + + var event = new CustomEvent('camera-init', { stream: stream }); + window.dispatchEvent(event); + + // start the video on first click if not started automatically + document.body.addEventListener('click', _this.onInitialClick, {once:true}); + + onReady(); + }).catch(function (error) { + onError({ + name: error.name, + message: error.message + }); + }); + }).catch(function (error) { + onError({ + message: error.message + }); + }); + + return domElement +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.dispose = function () { + this.ready = false; + + switch (this.parameters.sourceType) { + case 'image': + this._disposeSourceImage(); + break; + + case 'video': + this._disposeSourceVideo(); + break; + + case 'webcam': + this._disposeSourceWebcam(); + break; + } + + this.domElement = null; + + document.body.removeEventListener('click', this.onInitialClick, {once:true}); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose image source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceImage = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose video source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceVideo = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://html.spec.whatwg.org/multipage/media.html#best-practices-for-authors-using-media-elements + domElement.pause(); + domElement.removeAttribute('src'); + domElement.load(); + + domElement.remove(); +} + +//////////////////////////////////////////////////////////////////////////////// +// dispose webcam source +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype._disposeSourceWebcam = function () { + var domElement = document.querySelector('#arjs-video'); + + if( !domElement ) { + return; + } + + // https://stackoverflow.com/a/12436772 + if( domElement.srcObject && domElement.srcObject.getTracks ) { + domElement.srcObject.getTracks().map((track) => track.stop()); + } + + domElement.remove(); +} + +////////////////////////////////////////////////////////////////////////////// +// Handle Mobile Torch +////////////////////////////////////////////////////////////////////////////// +Source.prototype.hasMobileTorch = function () { + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) return false + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + + // if videoTrack.getCapabilities() doesnt exist, return false now + if (videoTrack.getCapabilities === undefined) return false + + var capabilities = videoTrack.getCapabilities() + + return capabilities.torch ? true : false +} + +/** + * toggle the flash/torch of the mobile fun if applicable. + * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ + */ +Source.prototype.toggleMobileTorch = function () { + // sanity check + console.assert(this.hasMobileTorch() === true) + + var stream = arToolkitSource.domElement.srcObject + if (stream instanceof MediaStream === false) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + if (this._currentTorchStatus === undefined) { + this._currentTorchStatus = false + } + + var videoTrack = stream.getVideoTracks()[0]; + var capabilities = videoTrack.getCapabilities() + + if (!capabilities.torch) { + if (!document.getElementById('error-popup')) { + var errorPopup = document.createElement('div'); + errorPopup.innerHTML = 'no mobile torch is available on your camera' + errorPopup.setAttribute('id', 'error-popup'); + document.body.appendChild(errorPopup); + } + return + } + + this._currentTorchStatus = this._currentTorchStatus === false ? true : false + videoTrack.applyConstraints({ + advanced: [{ + torch: this._currentTorchStatus + }] + }).catch(function (error) { + console.log(error) + }); +} + +Source.prototype.domElementWidth = function () { + return parseInt(this.domElement.style.width) +} +Source.prototype.domElementHeight = function () { + return parseInt(this.domElement.style.height) +} + +//////////////////////////////////////////////////////////////////////////////// +// handle resize +//////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResizeElement = function () { + var _this = this + var screenWidth = window.innerWidth + var screenHeight = window.innerHeight + + // sanity check + console.assert(arguments.length === 0) + + // compute sourceWidth, sourceHeight + if (this.domElement.nodeName === "IMG") { + var sourceWidth = this.domElement.naturalWidth + var sourceHeight = this.domElement.naturalHeight + } else if (this.domElement.nodeName === "VIDEO") { + var sourceWidth = this.domElement.videoWidth + var sourceHeight = this.domElement.videoHeight + } else { + console.assert(false) + } + + // compute sourceAspect + var sourceAspect = sourceWidth / sourceHeight + // compute screenAspect + var screenAspect = screenWidth / screenHeight + + // if screenAspect < sourceAspect, then change the width, else change the height + if (screenAspect < sourceAspect) { + // compute newWidth and set .width/.marginLeft + var newWidth = sourceAspect * screenHeight + this.domElement.style.width = newWidth + 'px' + this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' + + // init style.height/.marginTop to normal value + this.domElement.style.height = screenHeight + 'px' + this.domElement.style.marginTop = '0px' + } else { + // compute newHeight and set .height/.marginTop + var newHeight = 1 / (sourceAspect / screenWidth) + this.domElement.style.height = newHeight + 'px' + this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' + + // init style.width/.marginLeft to normal value + this.domElement.style.width = screenWidth + 'px' + this.domElement.style.marginLeft = '0px' + } +} +/* +Source.prototype.copyElementSizeTo = function(otherElement){ + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop +} +*/ + +Source.prototype.copyElementSizeTo = function (otherElement) { + + if (window.innerWidth > window.innerHeight) { + //landscape + otherElement.style.width = this.domElement.style.width + otherElement.style.height = this.domElement.style.height + otherElement.style.marginLeft = this.domElement.style.marginLeft + otherElement.style.marginTop = this.domElement.style.marginTop + } + else { + //portrait + otherElement.style.height = this.domElement.style.height + otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; + otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; + otherElement.style.marginTop = 0; + } + +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.copySizeTo = function () { + console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') + this.copyElementSizeTo.apply(this, arguments) +} + +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// + +Source.prototype.onResize = function (arToolkitContext, renderer, camera) { + if (arguments.length !== 3) { + console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') + return this.onResizeElement.apply(this, arguments) + } + + var trackingBackend = arToolkitContext.parameters.trackingBackend + + + // RESIZE DOMELEMENT + if (trackingBackend === 'artoolkit') { + + this.onResizeElement() + + var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false + if (isAframe === false) { + this.copyElementSizeTo(renderer.domElement) + } else { + + } + + if (arToolkitContext.arController !== null) { + this.copyElementSizeTo(arToolkitContext.arController.canvas) + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) + + + // UPDATE CAMERA + if (trackingBackend === 'artoolkit') { + if (arToolkitContext.arController !== null) { + camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); + } + } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) +} + +export default Source; \ No newline at end of file diff --git a/three.js/src/threex/threex-arbasecontrols.js b/three.js/src/threex/threex-arbasecontrols.js index 82907d4b..049416e1 100644 --- a/three.js/src/threex/threex-arbasecontrols.js +++ b/three.js/src/threex/threex-arbasecontrols.js @@ -1,7 +1,7 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; -THREEx.ArBaseControls = function(object3d){ - this.id = THREEx.ArBaseControls.id++ +const ArBaseControls = function(object3d) { + this.id = ArBaseControls.id++ this.object3d = object3d this.object3d.matrixAutoUpdate = false; @@ -13,9 +13,9 @@ THREEx.ArBaseControls = function(object3d){ // this.dispatchEvent({ type: 'becameUnVisible' }) } -THREEx.ArBaseControls.id = 0 +ArBaseControls.id = 0 -Object.assign( THREEx.ArBaseControls.prototype, THREE.EventDispatcher.prototype ); +ArBaseControls.prototype = Object.create(THREE.EventDispatcher.prototype); ////////////////////////////////////////////////////////////////////////////// // Functions @@ -23,14 +23,16 @@ Object.assign( THREEx.ArBaseControls.prototype, THREE.EventDispatcher.prototype /** * error catching function for update() */ -THREEx.ArBaseControls.prototype.update = function(){ +ArBaseControls.prototype.update = function(){ console.assert(false, 'you need to implement your own update') } /** * error catching function for name() */ -THREEx.ArBaseControls.prototype.name = function(){ +ArBaseControls.prototype.name = function(){ console.assert(false, 'you need to implement your own .name()') return 'Not yet implemented - name()' } + +export default ArBaseControls; diff --git a/three.js/src/threex/threex-arclickability.js b/three.js/src/threex/threex-arclickability.js index d97e4816..c30f8d0f 100644 --- a/three.js/src/threex/threex-arclickability.js +++ b/three.js/src/threex/threex-arclickability.js @@ -1,4 +1,4 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; // TODO this is useless - prefere arjs-HitTesting.js @@ -7,18 +7,18 @@ var THREEx = THREEx || {} * - seems an easy light layer for clickable object * - up to */ -THREEx.ARClickability = function (sourceElement) { +const ARClickability = function (sourceElement) { this._sourceElement = sourceElement // Create cameraPicking var fullWidth = parseInt(sourceElement.style.width) var fullHeight = parseInt(sourceElement.style.height) this._cameraPicking = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 100); - console.warn('THREEx.ARClickability works only in modelViewMatrix') + console.warn('ARClickability works only in modelViewMatrix') console.warn('OBSOLETE OBSOLETE! instead use THREEx.HitTestingPlane') } -THREEx.ARClickability.prototype.onResize = function () { +ARClickability.prototype.onResize = function () { var sourceElement = this._sourceElement var cameraPicking = this._cameraPicking @@ -28,7 +28,7 @@ THREEx.ARClickability.prototype.onResize = function () { cameraPicking.updateProjectionMatrix(); } -THREEx.ARClickability.prototype.computeIntersects = function (domEvent, objects) { +ARClickability.prototype.computeIntersects = function (domEvent, objects) { var sourceElement = this._sourceElement var cameraPicking = this._cameraPicking @@ -45,6 +45,8 @@ THREEx.ARClickability.prototype.computeIntersects = function (domEvent, objects) return intersects } -THREEx.ARClickability.prototype.update = function () { +ARClickability.prototype.update = function () { } + +export default ARClickability; diff --git a/three.js/src/threex/threex-armarkercloak.js b/three.js/src/threex/threex-armarkercloak.js index 25bca04c..3f0c460f 100644 --- a/three.js/src/threex/threex-armarkercloak.js +++ b/three.js/src/threex/threex-armarkercloak.js @@ -1,4 +1,5 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; + /** * - videoTexture * - cloakWidth @@ -6,15 +7,15 @@ var THREEx = THREEx || {} * - cloakSegmentsHeight * - remove all mentions of cache, for cloak */ -THREEx.ArMarkerCloak = function(videoTexture){ +const ArMarkerCloak = function(videoTexture){ var updateInShaderEnabled = true // build cloakMesh // TODO if webgl2 use repeat warp, and not multi segment, this will reduce the geometry to draw var geometry = new THREE.PlaneGeometry(1.3+0.25,1.85+0.25, 1, 8).translate(0,-0.3,0) var material = new THREE.ShaderMaterial( { - vertexShader: THREEx.ArMarkerCloak.vertexShader, - fragmentShader: THREEx.ArMarkerCloak.fragmentShader, + vertexShader: ArMarkerCloak.vertexShader, + fragmentShader: ArMarkerCloak.fragmentShader, transparent: true, uniforms: { texture: { @@ -172,7 +173,7 @@ THREEx.ArMarkerCloak = function(videoTexture){ // Shaders ////////////////////////////////////////////////////////////////////////////// -THREEx.ArMarkerCloak.markerSpaceShaderFunction = '\n'+ +ArMarkerCloak.markerSpaceShaderFunction = '\n'+ ' vec2 transformUvToMarkerSpace(vec2 originalUv){\n'+ ' vec3 transformedUv;\n'+ ' // set transformedUv - from UV coord to clip coord\n'+ @@ -195,7 +196,7 @@ THREEx.ArMarkerCloak.markerSpaceShaderFunction = '\n'+ ' return transformedUv.xy;\n'+ ' }' -THREEx.ArMarkerCloak.vertexShader = THREEx.ArMarkerCloak.markerSpaceShaderFunction + +ArMarkerCloak.vertexShader = ArMarkerCloak.markerSpaceShaderFunction + ' varying vec2 vUv;\n'+ '\n'+ ' void main(){\n'+ @@ -211,7 +212,7 @@ THREEx.ArMarkerCloak.vertexShader = THREEx.ArMarkerCloak.markerSpaceShaderFuncti ' gl_Position = projectionMatrix * mvPosition;\n'+ ' }'; -THREEx.ArMarkerCloak.fragmentShader = '\n'+ +ArMarkerCloak.fragmentShader = '\n'+ ' varying vec2 vUv;\n'+ ' uniform sampler2D texture;\n'+ ' uniform float opacity;\n'+ @@ -221,3 +222,5 @@ THREEx.ArMarkerCloak.fragmentShader = '\n'+ '\n'+ ' gl_FragColor = vec4( color, opacity);\n'+ ' }' + +export default ArMarkerCloak; diff --git a/three.js/src/threex/threex-armarkerhelper.js b/three.js/src/threex/threex-armarkerhelper.js index 5467c71b..8be04379 100644 --- a/three.js/src/threex/threex-armarkerhelper.js +++ b/three.js/src/threex/threex-armarkerhelper.js @@ -1,6 +1,6 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; -THREEx.ArMarkerHelper = function(markerControls){ +const ArMarkerHelper = function(markerControls){ this.object3d = new THREE.Group var mesh = new THREE.AxesHelper() @@ -37,3 +37,5 @@ THREEx.ArMarkerHelper = function(markerControls){ this.object3d.add(mesh) } + +export default ArMarkerHelper; diff --git a/three.js/src/threex/threex-arsmoothedcontrols.js b/three.js/src/threex/threex-arsmoothedcontrols.js index ec2d8ff7..d40c6fe8 100644 --- a/three.js/src/threex/threex-arsmoothedcontrols.js +++ b/three.js/src/threex/threex-arsmoothedcontrols.js @@ -1,4 +1,4 @@ -var THREEx = THREEx || {} +import ArBaseControls from './threex-arbasecontrols'; /** * - lerp position/quaternino/scale @@ -7,10 +7,10 @@ var THREEx = THREEx || {} * @param {[type]} object3d [description] * @param {[type]} parameters [description] */ -THREEx.ArSmoothedControls = function(object3d, parameters){ +const ArSmoothedControls = function(object3d, parameters){ var _this = this - THREEx.ArBaseControls.call(this, object3d) + ArBaseControls.call(this, object3d) // copy parameters this.object3d.visible = false @@ -46,14 +46,14 @@ THREEx.ArSmoothedControls = function(object3d, parameters){ var newValue = parameters[ key ] if( newValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' parameter is undefined." ) + console.warn( "ArSmoothedControls: '" + key + "' parameter is undefined." ) continue } var currentValue = _this.parameters[ key ] if( currentValue === undefined ){ - console.warn( "THREEx.ArSmoothedControls: '" + key + "' is not a property of this material." ) + console.warn( "ArSmoothedControls: '" + key + "' is not a property of this material." ) continue } @@ -62,14 +62,14 @@ THREEx.ArSmoothedControls = function(object3d, parameters){ } } -THREEx.ArSmoothedControls.prototype = Object.create( THREEx.ArBaseControls.prototype ); -THREEx.ArSmoothedControls.prototype.constructor = THREEx.ArSmoothedControls; +ArSmoothedControls.prototype = Object.create( ArBaseControls.prototype ); +ArSmoothedControls.prototype.constructor = ArSmoothedControls; ////////////////////////////////////////////////////////////////////////////// // update function ////////////////////////////////////////////////////////////////////////////// -THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ +ArSmoothedControls.prototype.update = function(targetObject3d){ var object3d = this.object3d var parameters = this.parameters var wasVisible = object3d.visible @@ -150,3 +150,5 @@ THREEx.ArSmoothedControls.prototype.update = function(targetObject3d){ object3d.scale.lerp(targetObject3d.scale, parameters.lerpScale) } } + +export default ArSmoothedControls; diff --git a/three.js/src/threex/threex-artoolkitprofile.js b/three.js/src/threex/threex-artoolkitprofile.js index 12bd7456..43c48c6d 100644 --- a/three.js/src/threex/threex-artoolkitprofile.js +++ b/three.js/src/threex/threex-artoolkitprofile.js @@ -1,6 +1,4 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} - +import Profile from './arjs-profile'; /** * ArToolkitProfile helps you build parameters for artoolkit * - it is fully independent of the rest of the code @@ -8,158 +6,7 @@ var THREEx = THREEx || {} * - you can use this class to understand how to tune your specific usecase * - it is made to help people to build parameters without understanding all the underlying details. */ -ARjs.Profile = THREEx.ArToolkitProfile = function () { - this.reset() - - this.performance('default') -} - - -ARjs.Profile.prototype._guessPerformanceLabel = function () { - var isMobile = navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) - ? true : false - if (isMobile === true) { - return 'phone-normal' - } - return 'desktop-normal' -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// - -/** - * reset all parameters - */ -ARjs.Profile.prototype.reset = function () { - this.sourceParameters = { - // to read from the webcam - sourceType: 'webcam', - } - - this.contextParameters = { - cameraParametersUrl: THREEx.ArToolkitContext.baseURL + '../data/data/camera_para.dat', - detectionMode: 'mono', - } - this.defaultMarkerParameters = { - type: 'pattern', - patternUrl: THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro', - changeMatrixMode: 'modelViewMatrix', - } - return this -}; - -////////////////////////////////////////////////////////////////////////////// -// Performance -////////////////////////////////////////////////////////////////////////////// - - - -ARjs.Profile.prototype.performance = function (label) { - - if (label === 'default') { - label = this._guessPerformanceLabel() - } - - if (label === 'desktop-fast') { - this.contextParameters.canvasWidth = 640 * 3 - this.contextParameters.canvasHeight = 480 * 3 - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'desktop-normal') { - this.contextParameters.canvasWidth = 640 - this.contextParameters.canvasHeight = 480 +const ArToolkitProfile = Profile; - this.contextParameters.maxDetectionRate = 60 - } else if (label === 'phone-normal') { - this.contextParameters.canvasWidth = 80 * 4 - this.contextParameters.canvasHeight = 60 * 4 - - this.contextParameters.maxDetectionRate = 30 - } else if (label === 'phone-slow') { - this.contextParameters.canvasWidth = 80 * 3 - this.contextParameters.canvasHeight = 60 * 3 - - this.contextParameters.maxDetectionRate = 30 - } else { - console.assert(false, 'unknonwn label ' + label) - } - return this -} - -////////////////////////////////////////////////////////////////////////////// -// Marker -////////////////////////////////////////////////////////////////////////////// - - -ARjs.Profile.prototype.defaultMarker = function (trackingBackend) { - trackingBackend = trackingBackend || this.contextParameters.trackingBackend - - if (trackingBackend === 'artoolkit') { - this.contextParameters.detectionMode = 'mono' - this.defaultMarkerParameters.type = 'pattern' - this.defaultMarkerParameters.patternUrl = THREEx.ArToolkitContext.baseURL + '../data/data/patt.hiro' - } else console.assert(false) - - return this -} -////////////////////////////////////////////////////////////////////////////// -// Source -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.sourceWebcam = function () { - this.sourceParameters.sourceType = 'webcam' - delete this.sourceParameters.sourceUrl - return this -} - -ARjs.Profile.prototype.sourceVideo = function (url) { - this.sourceParameters.sourceType = 'video' - this.sourceParameters.sourceUrl = url - return this -} - -ARjs.Profile.prototype.sourceImage = function (url) { - this.sourceParameters.sourceType = 'image' - this.sourceParameters.sourceUrl = url - return this -} - -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingBackend = function (trackingBackend) { - console.warn('stop profile.trackingBackend() obsolete function. use .trackingMethod instead') - this.contextParameters.trackingBackend = trackingBackend - return this -} - -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.changeMatrixMode = function (changeMatrixMode) { - this.defaultMarkerParameters.changeMatrixMode = changeMatrixMode - return this -} - -////////////////////////////////////////////////////////////////////////////// -// trackingBackend -////////////////////////////////////////////////////////////////////////////// -ARjs.Profile.prototype.trackingMethod = function (trackingMethod) { - var data = ARjs.Utils.parseTrackingMethod(trackingMethod) - this.defaultMarkerParameters.markersAreaEnabled = data.markersAreaEnabled - this.contextParameters.trackingBackend = data.trackingBackend - return this -} - -/** - * check if the profile is valid. Throw an exception is not valid - */ -ARjs.Profile.prototype.checkIfValid = function () { - return this -} +export default ArToolkitProfile; diff --git a/three.js/src/threex/threex-artoolkitsource.js b/three.js/src/threex/threex-artoolkitsource.js index a275bc87..b71b5ac6 100644 --- a/three.js/src/threex/threex-artoolkitsource.js +++ b/three.js/src/threex/threex-artoolkitsource.js @@ -1,440 +1,5 @@ -var ARjs = ARjs || {} -var THREEx = THREEx || {} +import Source from './arjs-source'; -ARjs.Source = THREEx.ArToolkitSource = function (parameters) { - var _this = this +const ArToolkitSource = Source; - this.ready = false - this.domElement = null - - // handle default parameters - this.parameters = { - // type of source - ['webcam', 'image', 'video'] - sourceType: 'webcam', - // url of the source - valid if sourceType = image|video - sourceUrl: null, - - // Device id of the camera to use (optional) - deviceId: null, - - // resolution of at which we initialize in the source image - sourceWidth: 640, - sourceHeight: 480, - // resolution displayed for the source - displayWidth: 640, - displayHeight: 480, - } - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - - if (newValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' parameter is undefined.") - continue - } - - var currentValue = _this.parameters[key] - - if (currentValue === undefined) { - console.warn("THREEx.ArToolkitSource: '" + key + "' is not a property of this material.") - continue - } - - _this.parameters[key] = newValue - } - } -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.init = function (onReady, onError) { - var _this = this - - if (this.parameters.sourceType === 'image') { - var domElement = this._initSourceImage(onSourceReady, onError) - } else if (this.parameters.sourceType === 'video') { - var domElement = this._initSourceVideo(onSourceReady, onError) - } else if (this.parameters.sourceType === 'webcam') { - // var domElement = this._initSourceWebcamOld(onSourceReady) - var domElement = this._initSourceWebcam(onSourceReady, onError) - } else { - console.assert(false) - } - - // attach - this.domElement = domElement - this.domElement.style.position = 'absolute' - this.domElement.style.top = '0px' - this.domElement.style.left = '0px' - this.domElement.style.zIndex = '-2' - this.domElement.setAttribute('id', 'arjs-video'); - - return this - function onSourceReady() { - document.body.appendChild(_this.domElement); - window.dispatchEvent(new CustomEvent('arjs-video-loaded', { - detail: { - component: document.querySelector('#arjs-video'), - }, - })); - - _this.ready = true - - onReady && onReady() - } -} - -//////////////////////////////////////////////////////////////////////////////// -// init image source -//////////////////////////////////////////////////////////////////////////////// - - -ARjs.Source.prototype._initSourceImage = function (onReady) { - // TODO make it static - var domElement = document.createElement('img'); - domElement.src = this.parameters.sourceUrl; - - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; - - domElement.onload = onReady; - return domElement -} - -//////////////////////////////////////////////////////////////////////////////// -// init video source -//////////////////////////////////////////////////////////////////////////////// - - -ARjs.Source.prototype._initSourceVideo = function (onReady) { - // TODO make it static - var domElement = document.createElement('video'); - domElement.src = this.parameters.sourceUrl; - - domElement.style.objectFit = 'initial'; - - domElement.autoplay = true; - domElement.webkitPlaysinline = true; - domElement.controls = false; - domElement.loop = true; - domElement.muted = true; - - // trick to trigger the video on android - document.body.addEventListener('click', function onClick() { - document.body.removeEventListener('click', onClick); - domElement.play() - }); - - domElement.width = this.parameters.sourceWidth; - domElement.height = this.parameters.sourceHeight; - domElement.style.width = this.parameters.displayWidth + 'px'; - domElement.style.height = this.parameters.displayHeight + 'px'; - - domElement.onloadeddata = onReady; - return domElement -} - -//////////////////////////////////////////////////////////////////////////////// -// handle webcam source -//////////////////////////////////////////////////////////////////////////////// - -ARjs.Source.prototype._initSourceWebcam = function (onReady, onError) { - var _this = this - - // init default value - onError = onError || function (error) { - var event = new CustomEvent('camera-error', { error: error }); - window.dispatchEvent(event); - - setTimeout(() => { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'Webcam Error\nName: ' + error.name + '\nMessage: ' + error.message - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - }, 1000); - } - - var domElement = document.createElement('video'); - domElement.setAttribute('autoplay', ''); - domElement.setAttribute('muted', ''); - domElement.setAttribute('playsinline', ''); - domElement.style.width = this.parameters.displayWidth + 'px' - domElement.style.height = this.parameters.displayHeight + 'px' - - // check API is available - if (navigator.mediaDevices === undefined - || navigator.mediaDevices.enumerateDevices === undefined - || navigator.mediaDevices.getUserMedia === undefined) { - if (navigator.mediaDevices === undefined) var fctName = 'navigator.mediaDevices' - else if (navigator.mediaDevices.enumerateDevices === undefined) var fctName = 'navigator.mediaDevices.enumerateDevices' - else if (navigator.mediaDevices.getUserMedia === undefined) var fctName = 'navigator.mediaDevices.getUserMedia' - else console.assert(false) - onError({ - name: '', - message: 'WebRTC issue-! ' + fctName + ' not present in your browser' - }); - return null - } - - // get available devices - navigator.mediaDevices.enumerateDevices().then(function (devices) { - var userMediaConstraints = { - audio: false, - video: { - facingMode: 'environment', - width: { - ideal: _this.parameters.sourceWidth, - // min: 1024, - // max: 1920 - }, - height: { - ideal: _this.parameters.sourceHeight, - // min: 776, - // max: 1080 - } - } - }; - - if (null !== _this.parameters.deviceId) { - userMediaConstraints.video.deviceId = { - exact: _this.parameters.deviceId - }; - } - - // get a device which satisfy the constraints - navigator.mediaDevices.getUserMedia(userMediaConstraints).then(function success(stream) { - // set the .src of the domElement - domElement.srcObject = stream; - - var event = new CustomEvent('camera-init', { stream: stream }); - window.dispatchEvent(event); - // to start the video, when it is possible to start it only on userevent. like in android - document.body.addEventListener('click', function () { - domElement.play(); - }); - // domElement.play(); - - onReady(); - }).catch(function (error) { - onError({ - name: error.name, - message: error.message - }); - }); - }).catch(function (error) { - onError({ - message: error.message - }); - }); - - return domElement -} - -////////////////////////////////////////////////////////////////////////////// -// Handle Mobile Torch -////////////////////////////////////////////////////////////////////////////// -ARjs.Source.prototype.hasMobileTorch = function () { - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) return false - - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } - - var videoTrack = stream.getVideoTracks()[0]; - - // if videoTrack.getCapabilities() doesnt exist, return false now - if (videoTrack.getCapabilities === undefined) return false - - var capabilities = videoTrack.getCapabilities() - - return capabilities.torch ? true : false -} - -/** - * toggle the flash/torch of the mobile fun if applicable. - * Great post about it https://www.oberhofer.co/mediastreamtrack-and-its-capabilities/ - */ -ARjs.Source.prototype.toggleMobileTorch = function () { - // sanity check - console.assert(this.hasMobileTorch() === true) - - var stream = arToolkitSource.domElement.srcObject - if (stream instanceof MediaStream === false) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'enabling mobile torch is available only on webcam' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return - } - - if (this._currentTorchStatus === undefined) { - this._currentTorchStatus = false - } - - var videoTrack = stream.getVideoTracks()[0]; - var capabilities = videoTrack.getCapabilities() - - if (!capabilities.torch) { - if (!document.getElementById('error-popup')) { - var errorPopup = document.createElement('div'); - errorPopup.innerHTML = 'no mobile torch is available on your camera' - errorPopup.setAttribute('id', 'error-popup'); - document.body.appendChild(errorPopup); - } - return - } - - this._currentTorchStatus = this._currentTorchStatus === false ? true : false - videoTrack.applyConstraints({ - advanced: [{ - torch: this._currentTorchStatus - }] - }).catch(function (error) { - console.log(error) - }); -} - -ARjs.Source.prototype.domElementWidth = function () { - return parseInt(this.domElement.style.width) -} -ARjs.Source.prototype.domElementHeight = function () { - return parseInt(this.domElement.style.height) -} - -//////////////////////////////////////////////////////////////////////////////// -// handle resize -//////////////////////////////////////////////////////////////////////////////// - -ARjs.Source.prototype.onResizeElement = function () { - var _this = this - var screenWidth = window.innerWidth - var screenHeight = window.innerHeight - - // sanity check - console.assert(arguments.length === 0) - - // compute sourceWidth, sourceHeight - if (this.domElement.nodeName === "IMG") { - var sourceWidth = this.domElement.naturalWidth - var sourceHeight = this.domElement.naturalHeight - } else if (this.domElement.nodeName === "VIDEO") { - var sourceWidth = this.domElement.videoWidth - var sourceHeight = this.domElement.videoHeight - } else { - console.assert(false) - } - - // compute sourceAspect - var sourceAspect = sourceWidth / sourceHeight - // compute screenAspect - var screenAspect = screenWidth / screenHeight - - // if screenAspect < sourceAspect, then change the width, else change the height - if (screenAspect < sourceAspect) { - // compute newWidth and set .width/.marginLeft - var newWidth = sourceAspect * screenHeight - this.domElement.style.width = newWidth + 'px' - this.domElement.style.marginLeft = -(newWidth - screenWidth) / 2 + 'px' - - // init style.height/.marginTop to normal value - this.domElement.style.height = screenHeight + 'px' - this.domElement.style.marginTop = '0px' - } else { - // compute newHeight and set .height/.marginTop - var newHeight = 1 / (sourceAspect / screenWidth) - this.domElement.style.height = newHeight + 'px' - this.domElement.style.marginTop = -(newHeight - screenHeight) / 2 + 'px' - - // init style.width/.marginLeft to normal value - this.domElement.style.width = screenWidth + 'px' - this.domElement.style.marginLeft = '0px' - } -} -/* -ARjs.Source.prototype.copyElementSizeTo = function(otherElement){ - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop -} -*/ - -ARjs.Source.prototype.copyElementSizeTo = function (otherElement) { - - if (window.innerWidth > window.innerHeight) { - //landscape - otherElement.style.width = this.domElement.style.width - otherElement.style.height = this.domElement.style.height - otherElement.style.marginLeft = this.domElement.style.marginLeft - otherElement.style.marginTop = this.domElement.style.marginTop - } - else { - //portrait - otherElement.style.height = this.domElement.style.height - otherElement.style.width = (parseInt(otherElement.style.height) * 4 / 3) + "px"; - otherElement.style.marginLeft = ((window.innerWidth - parseInt(otherElement.style.width)) / 2) + "px"; - otherElement.style.marginTop = 0; - } - -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// - -ARjs.Source.prototype.copySizeTo = function () { - console.warn('obsolete function arToolkitSource.copySizeTo. Use arToolkitSource.copyElementSizeTo') - this.copyElementSizeTo.apply(this, arguments) -} - -////////////////////////////////////////////////////////////////////////////// -// Code Separator -////////////////////////////////////////////////////////////////////////////// - -ARjs.Source.prototype.onResize = function (arToolkitContext, renderer, camera) { - if (arguments.length !== 3) { - console.warn('obsolete function arToolkitSource.onResize. Use arToolkitSource.onResizeElement') - return this.onResizeElement.apply(this, arguments) - } - - var trackingBackend = arToolkitContext.parameters.trackingBackend - - - // RESIZE DOMELEMENT - if (trackingBackend === 'artoolkit') { - - this.onResizeElement() - - var isAframe = renderer.domElement.dataset.aframeCanvas ? true : false - if (isAframe === false) { - this.copyElementSizeTo(renderer.domElement) - } else { - - } - - if (arToolkitContext.arController !== null) { - this.copyElementSizeTo(arToolkitContext.arController.canvas) - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) - - - // UPDATE CAMERA - if (trackingBackend === 'artoolkit') { - if (arToolkitContext.arController !== null) { - camera.projectionMatrix.copy(arToolkitContext.getProjectionMatrix()); - } - } else console.assert(false, 'unhandled trackingBackend ' + trackingBackend) -} +export default ArToolkitSource; diff --git a/three.js/src/threex/threex-arvideoinwebgl.js b/three.js/src/threex/threex-arvideoinwebgl.js index a27dad8e..a3679115 100644 --- a/three.js/src/threex/threex-arvideoinwebgl.js +++ b/three.js/src/threex/threex-arvideoinwebgl.js @@ -1,6 +1,6 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; -THREEx.ArVideoInWebgl = function(videoTexture){ +const ArVideoInWebgl = function(videoTexture){ var _this = this ////////////////////////////////////////////////////////////////////////////// @@ -103,3 +103,5 @@ THREEx.ArVideoInWebgl = function(videoTexture){ // } } + +export default ArVideoInWebgl; diff --git a/three.js/src/threex/threex-hittesting-plane.js b/three.js/src/threex/threex-hittesting-plane.js index 0f308ca8..5c439192 100644 --- a/three.js/src/threex/threex-hittesting-plane.js +++ b/three.js/src/threex/threex-hittesting-plane.js @@ -1,4 +1,4 @@ -var THREEx = THREEx || {} +import * as THREE from 'three'; // TODO this is useless - prefere arjs-HitTesting.js @@ -7,7 +7,7 @@ var THREEx = THREEx || {} * - seems an easy light layer for clickable object * - up to */ -THREEx.HitTestingPlane = function(sourceElement){ +const HitTestingPlane = function(sourceElement){ this._sourceElement = sourceElement // create _pickingScene @@ -36,7 +36,7 @@ THREEx.HitTestingPlane = function(sourceElement){ // update function ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ +HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMatrixMode){ this.onResize() @@ -69,7 +69,7 @@ THREEx.HitTestingPlane.prototype.update = function(camera, pickingRoot, changeMa // resize camera ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.onResize = function(){ +HitTestingPlane.prototype.onResize = function(){ var sourceElement = this._sourceElement var pickingCamera = this._pickingCamera @@ -85,7 +85,7 @@ THREEx.HitTestingPlane.prototype.onResize = function(){ ////////////////////////////////////////////////////////////////////////////// // Perform test ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ +HitTestingPlane.prototype.test = function(mouseX, mouseY){ // convert mouseX, mouseY to [-1, +1] mouseX = (mouseX-0.5)*2 mouseY =-(mouseY-0.5)*2 @@ -117,7 +117,9 @@ THREEx.HitTestingPlane.prototype.test = function(mouseX, mouseY){ // render the pickingPlane for debug ////////////////////////////////////////////////////////////////////////////// -THREEx.HitTestingPlane.prototype.renderDebug = function(renderer){ +HitTestingPlane.prototype.renderDebug = function(renderer){ // render sceneOrtho renderer.render( this._pickingScene, this._pickingCamera ) } + +export default HitTestingPlane; diff --git a/three.js/vendor/jsartoolkit5/LICENSE.txt b/three.js/vendor/jsartoolkit5/LICENSE.txt deleted file mode 100644 index a166cd6e..00000000 --- a/three.js/vendor/jsartoolkit5/LICENSE.txt +++ /dev/null @@ -1,902 +0,0 @@ - ARTOOLKIT LICENSE TERMS - -Please carefully read the license terms below. If you do not accept the terms, -please cease use of the software and remove all copies from your system. - -ARToolKit is licensed primarily under the LGPLv3 (with the addition of a special -exception permitting static-linking). Please see below for the license text. - -Other files included with ARToolKit may be licensed under other terms or made -available for use without requiring a license. Where applicable, such terms are -noted in the file to which they apply. - -Contents: - -1) ARToolKit LGPLv3 license and additional permission. -2) Full text of the LGPLv3. -3) Full text of the GPLv3, incorporated by reference into the LGPLv3. - - --- - - -ARToolKit is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -ARToolKit is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -Copies of the GNU Lesser General Public License and the GNU General Public -License are included in this file below. For additional information or to -view copies in other formats and translations see . - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent modules, and to -copy and distribute the resulting executable under terms of your choice, -provided that you also meet, for each linked independent module, the terms and -conditions of the license of that module. An independent module is a module -which is neither derived from nor based on this library. If you modify this -library, you may extend this exception to your version of the library, but you -are not obligated to do so. If you do not wish to do so, delete this exception -statement from your version. - -Some files included with ARToolKit may be licensed under other terms or made -available for use without requiring a license. Where applicable, such terms are -noted in the file to which they apply. - - --- - - - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - - --- - - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - --- -EOF diff --git a/three.js/vendor/jsartoolkit5/build/artoolkit-nft.min.js b/three.js/vendor/jsartoolkit5/build/artoolkit-nft.min.js deleted file mode 100644 index 83b87e3b..00000000 --- a/three.js/vendor/jsartoolkit5/build/artoolkit-nft.min.js +++ /dev/null @@ -1,22 +0,0 @@ -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|0}function rH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function DH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return} -function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} -function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 0}function rL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0} -function nw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function ow(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))rw(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function rw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function uw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function vw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function ww(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=yw(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=yw((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=yw(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=yw((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=yw((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=yw((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=yw(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=yw((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=yw((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=yw((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=yw((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=yw((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=yw((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=yw(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=yw(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=yw(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=yw(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function yw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=Bw(b)|0;c[g>>2]=e;f=Cw(b,84)|0;if(!f){Dw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Bw(a){a=a|0;return 0}function Cw(a,b){a=a|0;b=b|0;return FO(b)|0}function Dw(a){a=a|0;return}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Cw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Cw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Tw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Jw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Rw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;Sw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Tw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;Sw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Tw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Qw(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Pw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Ow(a){a=a|0;var b=0;Nw(a,1);Nw(a,0);b=a+4|0;Pw(a,c[b>>2]|0,84);c[b>>2]=0;Dw(a);return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function Tw(a,b){a=a|0;b=b|0;return FO(b)|0}function Uw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function Vw(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Aw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Ut(a);Xw(a);c[a+20>>2]=200;return}function Xw(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=yw(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=yw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=yw(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=yw(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=yw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){_w(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Zw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=yw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=yw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function $w(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function ax(a){a=a|0;Uw(a);return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=cx(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}Vw(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function dx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);Vw(a);a=1;return a|0}function ex(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function fx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);Uw(a);Ea(1)}function gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function hx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function ix(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function jx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|0}function Rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return} -function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} -function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|0}function Ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} -function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=115;c[d+12>>2]=83;c[d+16>>2]=47;c[d+20>>2]=33;c[d+24>>2]=116;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function Ot(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function Pt(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function Rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Tt(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function St(a){a=a|0;return}function Tt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Ut(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=117;c[d+4>>2]=84;c[d+8>>2]=85;c[d+28>>2]=86;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=86;c[d+104>>2]=0;c[d+40>>2]=86;c[d+108>>2]=0;c[d+44>>2]=86;c[d+112>>2]=0;c[d+48>>2]=86;c[d+116>>2]=0;c[d+52>>2]=86;c[d+120>>2]=0;c[d+56>>2]=86;c[d+124>>2]=0;c[d+60>>2]=86;c[d+128>>2]=0;c[d+64>>2]=86;c[d+132>>2]=0;c[d+68>>2]=86;c[d+136>>2]=0;c[d+72>>2]=86;c[d+140>>2]=0;c[d+76>>2]=86;c[d+144>>2]=0;c[d+80>>2]=86;c[d+148>>2]=0;c[d+84>>2]=86;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=86;c[d+160>>2]=0;c[d+32>>2]=87;c[d+88>>2]=87;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Vt(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Wt(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Tt(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!($t(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!($t(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!($t(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!($t(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!($t(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=au(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=Mt(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Xt(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Tt(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Yt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{_t(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function _t(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{cu(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function cu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=118;c[i+4>>2]=119;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}fu(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=gu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){hu(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;iu(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){ku(b);lu(b)}else ju(b);mu(b,c[b+108>>2]|0)}nu(b);if(!(c[b+228>>2]|0))pu(b);else ou(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;qu(b,d);if(!(c[e>>2]|0))ru(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function du(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function eu(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}xw(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(gu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function gu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function hu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=48;c[t+8>>2]=120;c[t+12>>2]=121;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;rw(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=49;c[e+12>>2]=122;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;gw(a);return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=123;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=124;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function lu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=125;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=yu(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=yu(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=126;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function ou(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=127;c[e+8>>2]=128;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=129;c[f+8>>2]=130;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=131;c[i+8>>2]=132;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=89;c[i+12>>2]=35;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=yu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=yu(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=88;c[i+12>>2]=34;c[i+16>>2]=b;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=51;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function wu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function xu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=36;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=34;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function yu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function Bu(a){a=a|0;return 0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function Du(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){Eu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?41:42;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Lu(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Lu(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?37:38):o?39:40;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Lu(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Lu(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Gu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Hu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Ou(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Pu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Ou(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Iu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Ou(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Pu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Ou(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Ju(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Ou(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function Ku(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Ou(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Pu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Ou(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Lu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Mu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Nu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Ou(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Ou(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=43;k=l;break}else{c[f>>2]=44;k=l;break}else if(e){c[f>>2]=45;k=l;break}else{c[f>>2]=46;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=47;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function Ru(a){a=a|0;return}function Su(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Tu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Xu(e,g)|0){r=36;break}j=h+1|0;if(!(Xu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Xu(e,i+4|0)|0)){i=g;h=j}else break}}k=Xu(e,l)|0;i=g+2|0;g=Xu(e,i)|0;if(g){if(Xu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Xu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Xu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Uu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Xu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Vu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Xu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Xu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Xu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Xu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0} -function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}function Wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;kl(b+4|0,e,96);return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} -function Wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Xu(e,h)|0)break b;j=g+1|0;if(!(Xu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Xu(e,i+4|0)|0)){i=h;g=j}else break}}k=Xu(e,s)|0;h=h+2|0;i=Xu(e,h)|0;if(i){if(Xu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Xu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Xu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Xu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Yu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Zu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function mv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function nv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function ov(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Gv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Hv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Iv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Jv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Nv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Ov(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}Qv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Pv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}Qv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function Rv(a){a=a|0;return}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Tv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Uv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Xv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function _v(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function $v(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function aw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{Qv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function cw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function dw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=134;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))gw(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=133;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function fw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function hw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;nw(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}nw(d,q);nw(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){mw(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function kw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){mw(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function lw(a){a=a|0;return}function mw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return} -function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0){o=(1<>>x;r=0;t=w;do{B=c[t>>2]|0;c[t>>2]=(B>>>x)+r;r=$(B&o,s)|0;t=t+4|0}while(t>>>0

>>0);o=(c[w>>2]|0)==0?w+4|0:w;if(!r){r=o;break}c[p>>2]=r;r=o;p=p+4|0}else r=(c[w>>2]|0)==0?w+4|0:w;while(0);o=z?F:r;p=(p-o>>2|0)>(y|0)?o+(y<<2)|0:p;o=(c[ea>>2]|0)+x|0;c[ea>>2]=o;if((o|0)>=0){w=r;break}else w=r}}else w=r;do if(w>>>0

>>0){o=(E-w>>2)*9|0;s=c[w>>2]|0;if(s>>>0<10)break;else r=10;do{r=r*10|0;o=o+1|0}while(s>>>0>=r>>>0)}else o=0;while(0);A=(C|0)==103;B=(n|0)!=0;r=n-((C|0)!=102?o:0)+((B&A)<<31>>31)|0;if((r|0)<(((p-E>>2)*9|0)+-9|0)){t=r+9216|0;z=(t|0)/9|0;r=F+(z+-1023<<2)|0;t=((t|0)%9|0)+1|0;if((t|0)<9){s=10;do{s=s*10|0;t=t+1|0}while((t|0)!=9)}else s=10;x=c[r>>2]|0;y=(x>>>0)%(s>>>0)|0;if((y|0)==0?(F+(z+-1022<<2)|0)==(p|0):0)s=w;else L=163;do if((L|0)==163){L=0;v=(((x>>>0)/(s>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;t=(s|0)/2|0;do if(y>>>0>>0)q=.5;else{if((y|0)==(t|0)?(F+(z+-1022<<2)|0)==(p|0):0){q=1.0;break}q=1.5}while(0);do if(G){if((a[H>>0]|0)!=45)break;v=-v;q=-q}while(0);t=x-y|0;c[r>>2]=t;if(!(v+q!=v)){s=w;break}C=t+s|0;c[r>>2]=C;if(C>>>0>999999999){o=w;while(1){s=r+-4|0;c[r>>2]=0;if(s>>>0>>0){o=o+-4|0;c[o>>2]=0}C=(c[s>>2]|0)+1|0;c[s>>2]=C;if(C>>>0>999999999)r=s;else{w=o;r=s;break}}}o=(E-w>>2)*9|0;t=c[w>>2]|0;if(t>>>0<10){s=w;break}else s=10;do{s=s*10|0;o=o+1|0}while(t>>>0>=s>>>0);s=w}while(0);C=r+4|0;w=s;p=p>>>0>C>>>0?C:p}y=0-o|0;while(1){if(p>>>0<=w>>>0){z=0;C=p;break}r=p+-4|0;if(!(c[r>>2]|0))p=r;else{z=1;C=p;break}}do if(A){n=(B&1^1)+n|0;if((n|0)>(o|0)&(o|0)>-5){u=u+-1|0;n=n+-1-o|0}else{u=u+-2|0;n=n+-1|0}p=I&8;if(p)break;do if(z){p=c[C+-4>>2]|0;if(!p){r=9;break}if(!((p>>>0)%10|0)){s=10;r=0}else{r=0;break}do{s=s*10|0;r=r+1|0}while(((p>>>0)%(s>>>0)|0|0)==0)}else r=9;while(0);p=((C-E>>2)*9|0)+-9|0;if((u|32|0)==102){p=p-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}else{p=p+o-r|0;p=(p|0)<0?0:p;n=(n|0)<(p|0)?n:p;p=0;break}}else p=I&8;while(0);x=n|p;s=(x|0)!=0&1;t=(u|32|0)==102;if(t){o=(o|0)>0?o:0;u=0}else{r=(o|0)<0?y:o;r=Sj(r,((r|0)<0)<<31>>31,X)|0;if((_-r|0)<2)do{r=r+-1|0;a[r>>0]=48}while((_-r|0)<2);a[r+-1>>0]=(o>>31&2)+43;E=r+-2|0;a[E>>0]=u;o=_-E|0;u=E}y=G+1+n+s+o|0;Tj(e,32,K,y,I);if(!(c[e>>2]&32))hj(H,G,e)|0;Tj(e,48,K,y,I^65536);do if(t){r=w>>>0>F>>>0?F:w;o=r;do{p=Sj(c[o>>2]|0,0,R)|0;do if((o|0)==(r|0)){if((p|0)!=(R|0))break;a[T>>0]=48;p=T}else{if(p>>>0<=da>>>0)break;do{p=p+-1|0;a[p>>0]=48}while(p>>>0>da>>>0)}while(0);if(!(c[e>>2]&32))hj(p,S-p|0,e)|0;o=o+4|0}while(o>>>0<=F>>>0);do if(x){if(c[e>>2]&32)break;hj(16485,1,e)|0}while(0);if((n|0)>0&o>>>0>>0){p=o;while(1){o=Sj(c[p>>2]|0,0,R)|0;if(o>>>0>da>>>0)do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0);if(!(c[e>>2]&32))hj(o,(n|0)>9?9:n,e)|0;p=p+4|0;o=n+-9|0;if(!((n|0)>9&p>>>0>>0)){n=o;break}else n=o}}Tj(e,48,n+9|0,9,0)}else{t=z?C:w+4|0;if((n|0)>-1){s=(p|0)==0;r=w;do{o=Sj(c[r>>2]|0,0,R)|0;if((o|0)==(R|0)){a[T>>0]=48;o=T}do if((r|0)==(w|0)){p=o+1|0;if(!(c[e>>2]&32))hj(o,1,e)|0;if(s&(n|0)<1){o=p;break}if(c[e>>2]&32){o=p;break}hj(16485,1,e)|0;o=p}else{if(o>>>0<=da>>>0)break;do{o=o+-1|0;a[o>>0]=48}while(o>>>0>da>>>0)}while(0);p=S-o|0;if(!(c[e>>2]&32))hj(o,(n|0)>(p|0)?p:n,e)|0;n=n-p|0;r=r+4|0}while(r>>>0>>0&(n|0)>-1)}Tj(e,48,n+18|0,18,0);if(c[e>>2]&32)break;hj(u,_-u|0,e)|0}while(0);Tj(e,32,K,y,I^8192);n=(y|0)<(K|0)?K:y}else{t=(u&32|0)!=0;s=q!=q|0.0!=0.0;o=s?0:G;r=o+3|0;Tj(e,32,K,r,p);n=c[e>>2]|0;if(!(n&32)){hj(H,o,e)|0;n=c[e>>2]|0}if(!(n&32))hj(s?(t?16477:16481):t?16469:16473,3,e)|0;Tj(e,32,K,r,I^8192);n=(r|0)<(K|0)?K:r}while(0);w=J;continue a}default:{p=I;o=r;t=0;u=16433;n=N}}while(0);g:do if((L|0)==64){p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;s=u&32;if(!((o|0)==0&(p|0)==0)){n=N;do{n=n+-1|0;a[n>>0]=d[16417+(o&15)>>0]|s;o=hk(o|0,p|0,4)|0;p=D}while(!((o|0)==0&(p|0)==0));L=ba;if((t&8|0)==0|(c[L>>2]|0)==0&(c[L+4>>2]|0)==0){o=t;t=0;s=16433;L=77}else{o=t;t=2;s=16433+(u>>4)|0;L=77}}else{n=N;o=t;t=0;s=16433;L=77}}else if((L|0)==76){n=Sj(n,o,N)|0;o=I;t=p;L=77}else if((L|0)==82){L=0;I=sj(n,0,r)|0;H=(I|0)==0;w=n;o=H?r:I-n|0;t=0;u=16433;n=H?n+r|0:I}else if((L|0)==86){L=0;o=0;n=0;s=c[ba>>2]|0;while(1){p=c[s>>2]|0;if(!p)break;n=Ii(fa,p)|0;if((n|0)<0|n>>>0>(r-o|0)>>>0)break;o=n+o|0;if(r>>>0>o>>>0)s=s+4|0;else break}if((n|0)<0){m=-1;break a}Tj(e,32,K,o,I);if(!o){n=0;L=98}else{p=0;r=c[ba>>2]|0;while(1){n=c[r>>2]|0;if(!n){n=o;L=98;break g}n=Ii(fa,n)|0;p=n+p|0;if((p|0)>(o|0)){n=o;L=98;break g}if(!(c[e>>2]&32))hj(fa,n,e)|0;if(p>>>0>=o>>>0){n=o;L=98;break}else r=r+4|0}}}while(0);if((L|0)==98){L=0;Tj(e,32,K,n,I^8192);w=J;n=(K|0)>(n|0)?K:n;continue}if((L|0)==77){L=0;p=(r|0)>-1?o&-65537:o;o=ba;o=(c[o>>2]|0)!=0|(c[o+4>>2]|0)!=0;if((r|0)!=0|o){o=(o&1^1)+(U-n)|0;w=n;o=(r|0)>(o|0)?r:o;u=s;n=N}else{w=N;o=0;u=s;n=N}}s=n-w|0;o=(o|0)<(s|0)?s:o;r=t+o|0;n=(K|0)<(r|0)?r:K;Tj(e,32,n,r,p);if(!(c[e>>2]&32))hj(u,t,e)|0;Tj(e,48,n,r,p^65536);Tj(e,48,o,s,0);if(!(c[e>>2]&32))hj(w,s,e)|0;Tj(e,32,n,r,p^8192);w=J}h:do if((L|0)==245)if(!e)if(f){m=1;while(1){f=c[l+(m<<2)>>2]|0;if(!f)break;Rj(j+(m<<3)|0,f,g);m=m+1|0;if((m|0)>=10){m=1;break h}}if((m|0)<10)while(1){if(c[l+(m<<2)>>2]|0){m=-1;break h}m=m+1|0;if((m|0)>=10){m=1;break}}else m=1}else m=0;while(0);i=ha;return m|0}function Mj(a,b,c){a=a|0;b=b|0;c=c|0;return Si(a,b,c)|0}function Nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((cc[d&15](k,j)|0)>-1?(cc[d&15](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((cc[d&15](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);Pj(b,o,e);i=p;return}function Oj(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(cc[d&15](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((cc[d&15](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((cc[d&15](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((cc[d&15](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){Pj(b,p,e);Nj(a,b,d,g,h)}i=r;return}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;ik(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;ik(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;ik(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Sj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)while(1){e=qk(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e|48;e=pk(b|0,c|0,10,0)|0;if(c>>>0>9|(c|0)==9&b>>>0>4294967295){b=e;c=D}else{b=e;break}}if(b)while(1){d=d+-1|0;a[d>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}return d|0}function Tj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+256|0;h=j;do if((d|0)>(e|0)&(f&73728|0)==0){f=d-e|0;ek(h|0,b|0,(f>>>0>256?256:f)|0)|0;b=c[a>>2]|0;g=(b&32|0)==0;if(f>>>0>255){e=d-e|0;do{if(g){hj(h,256,a)|0;b=c[a>>2]|0}f=f+-256|0;g=(b&32|0)==0}while(f>>>0>255);if(g)f=e&255;else break}else if(!g)break;hj(h,f,a)|0}while(0);i=j;return}function Uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[756]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[760]|0)>>>0)Da();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Da()}else c[756]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[758]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=3064+(e<<2)|0;e=3064+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[760]|0)>>>0)Da();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[758]|0;break}else Da()}else{c[756]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[761]|0;d=k>>>3;b=d<<1;e=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(b>>>0<(c[760]|0)>>>0)Da();else{l=a;m=b}}else{c[756]=a|d;l=3064+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[758]=h;c[761]=i;M=j;return M|0}a=c[757]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[3328+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[760]|0;if(e>>>0>>0)Da();i=e+o|0;if(e>>>0>=i>>>0)Da();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(e|0))Da();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Da()}while(0);do if(h){b=c[e+28>>2]|0;a=3328+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[760]|0;if(n>>>0>>0)Da();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[758]|0;if(b){g=c[761]|0;d=b>>>3;b=d<<1;f=3064+(b<<2)|0;a=c[756]|0;d=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{p=b;q=a}}else{c[756]=a|d;p=3064+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[758]=j;c[761]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[757]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[3328+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[3328+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[758]|0)-m|0)>>>0:0){f=c[760]|0;if(j>>>0>>0)Da();h=j+m|0;if(j>>>0>=h>>>0)Da();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Da();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Da();b=e+12|0;if((c[b>>2]|0)!=(j|0))Da();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Da()}while(0);do if(g){b=c[j+28>>2]|0;a=3328+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[760]|0;if(o>>>0>>0)Da();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{s=b;t=a}}else{c[756]=d|b;s=3064+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=3328+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Da()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[758]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[761]|0;if(b>>>0>15){c[761]=a+q;c[758]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[758]=0;c[761]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[759]|0;if(a>>>0>q>>>0){L=a-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[874]|0)){a=$a(30)|0;if(!(a+-1&a)){c[876]=a;c[875]=a;c[877]=-1;c[878]=-1;c[879]=0;c[867]=0;c[874]=(Db(0)|0)&-16^1431655768;break}else Da()}while(0);j=q+48|0;i=c[876]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[866]|0;if((a|0)!=0?(t=c[864]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[867]&4)){a=c[762]|0;e:do if(a){f=3472;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[759]|0)&i;if(d>>>0<2147483647){f=Ua(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=Ua(0)|0;if((g|0)!=(-1|0)){a=g;d=c[875]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[864]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[866]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=Ua(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[876]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((Ua(u|0)|0)==(-1|0)){Ua(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[867]=c[867]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=Ua(l|0)|0,x=Ua(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[864]|0)+p|0;c[864]=a;if(a>>>0>(c[865]|0)>>>0)c[865]=a;h=c[762]|0;g:do if(h){g=3472;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[759]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[762]=h+L;c[759]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[763]=c[878];break}a=c[760]|0;if(w>>>0>>0){c[760]=w;a=w}d=w+p|0;g=3472;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=3472;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[761]|0)){M=(c[758]|0)+l|0;c[758]=M;c[761]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Da();a=f+12|0;if((c[a>>2]|0)!=(b|0))Da();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Da()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=3328+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[760]|0)>>>0)Da();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[757]=c[757]&~(1<>>0>>0)Da();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Da();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[760]|0)>>>0)Da();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=3064+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)==(b|0))break;Da()}while(0);if((f|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Da()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0>=(c[760]|0)>>>0){K=b;L=a;break}Da()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3328+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[757]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[760]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Da()}else{M=(c[759]|0)+l|0;c[759]=M;c[762]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=3472;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[762]=w+d;c[759]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[763]=c[878];d=a+4|0;c[d>>2]=27;c[b>>2]=c[868];c[b+4>>2]=c[869];c[b+8>>2]=c[870];c[b+12>>2]=c[871];c[868]=w;c[869]=p;c[871]=0;c[870]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=3064+(a<<2)|0;d=c[756]|0;b=1<>2]|0;if(a>>>0<(c[760]|0)>>>0)Da();else{G=b;H=a}}else{c[756]=d|b;G=3064+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3328+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[757]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[760]|0)>>>0)Da();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[760]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Da()}}else{M=c[760]|0;if((M|0)==0|w>>>0>>0)c[760]=w;c[868]=w;c[869]=p;c[871]=0;c[765]=c[874];c[764]=-1;b=0;do{M=b<<1;L=3064+(M<<2)|0;c[3064+(M+3<<2)>>2]=L;c[3064+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[762]=w+M;c[759]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[763]=c[878]}while(0);b=c[759]|0;if(b>>>0>q>>>0){L=b-q|0;c[759]=L;M=c[762]|0;c[762]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(qi()|0)>>2]=12;M=0;return M|0}function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[760]|0;if(b>>>0>>0)Da();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Da();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Da();if((l|0)==(c[761]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[758]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Da();if((c[e+12>>2]|0)!=(l|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0>>0)Da();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Da()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Da();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();b=f+12|0;if((c[b>>2]|0)!=(l|0))Da();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Da()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=3328+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Da();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Da();if(!(d&2)){if((q|0)==(c[762]|0)){t=(c[759]|0)+g|0;c[759]=t;c[762]=u;c[u+4>>2]=t|1;if((u|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){t=(c[758]|0)+g|0;c[758]=t;c[761]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();e=d+12|0;if((c[e>>2]|0)!=(q|0))Da();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Da()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=3328+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Da();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=3064+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[760]|0)>>>0)Da();if((c[e+12>>2]|0)!=(q|0))Da()}if((d|0)==(e|0)){c[756]=c[756]&~(1<>>0<(c[760]|0)>>>0)Da();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Da()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[761]|0)){c[758]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=3064+(d<<2)|0;e=c[756]|0;b=1<>2]|0;if(d>>>0<(c[760]|0)>>>0)Da();else{r=b;s=d}}else{c[756]=e|b;r=3064+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=3328+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[757]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[760]|0)>>>0)Da();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[760]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Da()}else{c[757]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[764]|0)+-1|0;c[764]=u;if(!u)b=3480;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[764]=-1;return}function Wj(a,b){a=a|0;b=b|0;var d=0;if(a){d=$(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=Uj(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;ek(b|0,0,d|0)|0;return b|0}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=Uj(b)|0;return a|0}if(b>>>0>4294967231){c[(qi()|0)>>2]=12;a=0;return a|0}d=Yj(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=Uj(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;ik(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Vj(a);a=d;return a|0}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[760]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Da();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Da();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[876]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;Zj(a+b|0,d);return a|0}if((l|0)==(c[762]|0)){d=(c[759]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[762]=a+b;c[759]=n;return a|0}if((l|0)==(c[761]|0)){e=(c[758]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[758]=d;c[761]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Da();d=f+12|0;if((c[d>>2]|0)!=(l|0))Da();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Da()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=3328+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[760]|0;if(k>>>0>>0)Da();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(l|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Da()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;Zj(a+b|0,n);return a|0}return 0}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[760]|0;if(n>>>0>>0)Da();if((n|0)==(c[761]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[758]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(n|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Da()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(n|0))Da();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Da()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=3328+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[760]|0;if(l>>>0>>0)Da();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Da();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[760]|0;if(q>>>0>>0)Da();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[762]|0)){s=(c[759]|0)+h|0;c[759]=s;c[762]=t;c[t+4>>2]=s|1;if((t|0)!=(c[761]|0))return;c[761]=0;c[758]=0;return}if((q|0)==(c[761]|0)){s=(c[758]|0)+h|0;c[758]=s;c[761]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Da();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Da();d=g+12|0;if((c[d>>2]|0)!=(q|0))Da();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Da()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=3328+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[757]=c[757]&~(1<>>0<(c[760]|0)>>>0)Da();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[760]|0;if(p>>>0>>0)Da();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Da();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[760]|0)>>>0)Da();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=3064+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Da();if((c[f+12>>2]|0)!=(q|0))Da()}if((e|0)==(f|0)){c[756]=c[756]&~(1<>>0>>0)Da();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Da()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[761]|0)){c[758]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=3064+(e<<2)|0;f=c[756]|0;d=1<>2]|0;if(e>>>0<(c[760]|0)>>>0)Da();else{r=d;s=e}}else{c[756]=f|d;r=3064+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=3328+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[757]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[760]|0)>>>0)Da();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[760]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Da();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return} -function Ee(b,e,f,j,k,l,m,n,o,p,q,r){b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=+q;r=r|0;var s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;T=i;i=i+240|0;x=T+224|0;w=T+216|0;C=T+208|0;B=T+200|0;s=T+136|0;N=T+72|0;P=T;Q=T+232|0;R=T+228|0;h[s>>3]=100.0;h[s+8>>3]=100.0;h[s+16>>3]=110.0;h[s+24>>3]=100.0;h[s+32>>3]=110.0;h[s+40>>3]=110.0;h[s+48>>3]=100.0;h[s+56>>3]=110.0;h[N>>3]=+h[p>>3];h[N+8>>3]=+h[p+8>>3];h[N+16>>3]=+h[p+16>>3];h[N+24>>3]=+h[p+24>>3];h[N+32>>3]=+h[p+32>>3];h[N+40>>3]=+h[p+40>>3];h[N+48>>3]=+h[p+48>>3];h[N+56>>3]=+h[p+56>>3];He(s,N,P);A=+h[N>>3];V=+h[N+16>>3];y=A-V;J=+h[N+8>>3];U=+h[N+24>>3];u=J-U;s=~~(y*y+u*u);u=+h[N+32>>3];y=+h[N+48>>3];X=u-y;v=+h[N+40>>3];z=+h[N+56>>3];W=v-z;N=~~(X*X+W*W);u=V-u;v=U-v;t=~~(u*u+v*v);A=y-A;J=z-J;O=~~(A*A+J*J);s=~~(+(((N|0)>(s|0)?N:s)|0)*q*q);t=~~(+(((O|0)>(t|0)?O:t)|0)*q*q);if(!b){p=f;while(1)if((p|0)<(j|0)&($(p,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s,s)|0)<(t|0))s=s<<1;else break}else{p=f;while(1)if((p|0)<(j|0)&($(p<<2,p)|0)<(s|0))p=p<<1;else break;s=f;while(1)if((s|0)<(j|0)&($(s<<2,s)|0)<(t|0))s=s<<1;else break}O=(p|0)>(j|0)?j:p;M=(s|0)>(j|0)?j:s;L=(O|0)/(f|0)|0;K=(M|0)/(f|0)|0;u=(1.0-q)*.5*10.0;J=q*10.0;N=$(f,f)|0;a:do if(!e){I=N*3|0;p=Wj(I,4)|0;if(!p){Me(3,5472,B);rb(1)}do switch(n|0){case 0:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 1:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=(($(t,l)|0)+s|0)*3|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t+1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t+2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 2:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+t>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 3:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+t>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|2)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 4:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|1)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|3)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=d[k+(($(t,l)|0)+s)>>0]|0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 6:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=($(t,l)|0)+s<<2;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|3)>>0]|0);s=p+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[k+(t|2)>>0]|0);b=p+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[k+(t|1)>>0]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Z=$(t,l)|0;Y=(s&65534)+Z<<1;V=+((d[k+Y>>0]|0)+-128|0);X=+((d[k+(Y+2)>>0]|0)+-128|0);W=+((d[k+(Z+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;Z=~~(V*516.4110107421875+W)>>8;Y=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;t=~~(W+X*408.5830078125)>>8;Z=(Z|0)>0?Z:0;b=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;s=p+(b<<2)|0;c[s>>2]=((Z|0)<255?Z:255)+(c[s>>2]|0);Y=(Y|0)>0?Y:0;s=p+(b+1<<2)|0;c[s>>2]=((Y|0)<255?Y:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=p+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){t=$(t,l)|0;Y=(s&65534)+t<<1;V=+((d[k+(Y|1)>>0]|0)+-128|0);X=+((d[k+(Y+3)>>0]|0)+-128|0);W=+((d[k+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(W+V*516.4110107421875)>>8;t=~~(W-V*100.29100036621094-X*208.1199951171875)>>8;Y=~~(W+X*408.5830078125)>>8;s=(s|0)>0?s:0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=p+(Z+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);Y=(Y|0)>0?Y:0;Z=p+(Z+2<<2)|0;c[Z>>2]=((Y|0)<255?Y:255)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<3&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&28|2)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;t=d[k+(Y|1)>>0]|0;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(t<<2&248|4)+(c[b>>2]|0);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<5&224|t>>>3&24|4)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&248|4)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;Z=(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)|0)*3|0;b=p+(Z<<2)|0;c[b>>2]=(c[b>>2]|0)+((d[k+(Y|1)>>0]|0)&240|8);Y=d[k+Y>>0]|0;b=p+(Z+1<<2)|0;c[b>>2]=(Y<<4&240|8)+(c[b>>2]|0);Z=p+(Z+2<<2)|0;c[Z>>2]=(Y&240|8)+(c[Z>>2]|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}break}default:{Me(3,4615,C);S=278;break a}}while(0);t=$(K,L)|0;if(N){s=0;do{a[r+s>>0]=((c[p+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}while((s|0)<(I|0))}Vj(p);p=0}else{p=Wj(N,4)|0;if(!p){Me(3,5472,w);rb(1)}b:do if(n>>>0<2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)>0){e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=(($(t,l)|0)+s|0)*3|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y+1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y+2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0))}}else{if((n&-2|0)==2){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|1)>>0]|0)+(d[k+Y>>0]|0)+(d[k+(Y|2)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}if((n&-3|0)==4){y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break;e=(O|0)>0;x=0;while(1){v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<2;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((d[k+(Y|2)>>0]|0)+(d[k+(Y|1)>>0]|0)+(d[k+(Y|3)>>0]|0)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0;if((x|0)>=(M|0))break b}}switch(n|0){case 5:case 12:case 13:case 14:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 7:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 8:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=d[k+(($(t,l)|0)+s<<1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+Y}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 9:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<3&248|4)+(I&248|4)+(I<<5&224|Y>>>3&28|2)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 10:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Y=d[k+(Y|1)>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((Y<<2&248|4)+(I&248|4)+(I<<5&224|Y>>>3&24|4)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}case 11:{y=u+100.0;z=+(M|0);A=+(O|0);B=P+48|0;C=P+56|0;n=P+64|0;D=P+8|0;E=P+16|0;F=P+24|0;G=P+32|0;H=P+40|0;j=(b|0)==1;if((M|0)<=0)break b;e=(O|0)>0;x=0;do{v=y+J*(+(x|0)+.5)/z;if(e){w=0;do{u=y+J*(+(w|0)+.5)/A;q=+h[n>>3]+(+h[B>>3]*u+v*+h[C>>3]);if(q==0.0){S=278;break a}X=(+h[E>>3]+(u*+h[P>>3]+v*+h[D>>3]))/q;g[Q>>2]=X;u=(+h[H>>3]+(u*+h[F>>3]+v*+h[G>>3]))/q;g[R>>2]=u;lf(o,X,u,Q,R)|0;u=+g[Q>>2];if(j){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+g[R>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+g[R>>2]+.5)}if((s|0)>-1?(t|0)<(m|0)&((t|0)>-1&(s|0)<(l|0)):0){Y=($(t,l)|0)+s<<1;I=d[k+Y>>0]|0;Z=p+(($((x|0)/(K|0)|0,f)|0)+((w|0)/(L|0)|0)<<2)|0;c[Z>>2]=(c[Z>>2]|0)+((((I<<4&240|8)+(I&240|8)+((d[k+(Y|1)>>0]|0)&240|8)|0)>>>0)/3|0)}w=w+1|0}while((w|0)<(O|0))}x=x+1|0}while((x|0)<(M|0));break}default:{Me(3,4615,x);S=278;break a}}}while(0);s=$(K,L)|0;if(N){t=0;do{a[r+t>>0]=((c[p+(t<<2)>>2]|0)>>>0)/(s>>>0)|0;t=t+1|0}while((t|0)<(N|0))}Vj(p);p=0}while(0);if((S|0)==278){Vj(p);p=-1}i=T;return p|0}function Fe(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+32|0;p=v+24|0;o=v+8|0;u=v;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-1}else{c[o>>2]=0;t=e+-1|0;c[o+4>>2]=$(t,e)|0;r=$(e,e)|0;c[o+8>>2]=r+-1;c[o+12>>2]=t;n=a[b+(c[o>>2]|0)>>0]|0;m=(n&255)>0?n:0;n=(n&255)<255?n:-1;s=a[b+(c[o+4>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+8>>2]|0)>>0]|0;m=(s&255)>(m&255)?s:m;n=(s&255)<(n&255)?s:n;s=a[b+(c[o+12>>2]|0)>>0]|0;m=((s&255)>(m&255)?s:m)&255;n=((s&255)<(n&255)?s:n)&255;if((m-n|0)<30){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-2;break}q=(m+n|0)>>>1;a[p>>0]=(d[b+(c[o>>2]|0)>>0]|0)>>>0>>0&1;a[p+1>>0]=(d[b+(c[o+4>>2]|0)>>0]|0)>>>0>>0&1;a[p+2>>0]=(d[b+(c[o+8>>2]|0)>>0]|0)>>>0>>0&1;a[p+3>>0]=(d[b+(c[o+12>>2]|0)>>0]|0)>>>0>>0&1;n=0;while(1){m=n+1|0;if(((a[p+n>>0]|0)==1?(a[p+((m|0)%4|0)>>0]|0)==1:0)?(a[p+((n+2|0)%4|0)>>0]|0)==0:0){m=n;n=10;break}if((m|0)<4)n=m;else{n=12;break}}if((n|0)==10)c[g>>2]=m;else if((n|0)==12?(m|0)==4:0){c[f>>2]=-1;c[g>>2]=0;h[j>>3]=-1.0;m=-3;break}if(!r)s=255;else{m=255;n=0;do{s=b+n|0;p=d[s>>0]|0;o=p-q|0;o=(o|0)<0?0-o|0:o;m=(o|0)<(m|0)?o:m;a[s>>0]=p>>>0>>0&1;n=n+1|0}while((n|0)<(r|0));s=m}switch(c[g>>2]|0){case 0:{if((e|0)>0){r=(e|0)==0;n=0;m=0;g=0;do{p=(g|0)==(t|0);q=$(g,e)|0;if(!r){o=0;do{if((o|g|0)!=0?!(p&((o|0)==0|(o|0)==(t|0))):0){n=fk(n|0,m|0,1)|0;n=(a[b+(o+q)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)!=(e|0))}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 1:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=0;do{p=(g|0)==0;q=(g|0)==(t|0);if(r){o=t;while(1){w=(o|0)==(t|0);if(!(p&w)?!(q&(w|(o|0)==0)):0){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}g=g+1|0}while((g|0)<(e|0))}else{n=0;m=0}break}case 2:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){q=(g|0)==(t|0)|(g|0)==0;p=$(g,e)|0;if(r){o=t;while(1){if(!(q&(o|0)==(t|0)|(o|g|0)==0)){n=fk(n|0,m|0,1)|0;n=(a[b+(o+p)>>0]|0)!=0|n;m=D}if((o|0)>0)o=o+-1|0;else break}}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}case 3:{if((e|0)>0){r=(e|0)>0;n=0;m=0;g=t;while(1){p=(g|0)==(t|0);q=(g|0)==0;if(r){o=0;do{if(!(p&(o|0)==0|(o|g|0)==0|q&(o|0)==(t|0))){n=fk(n|0,m|0,1)|0;n=(a[b+(($(o,e)|0)+g)>>0]|0)!=0|n;m=D}o=o+1|0}while((o|0)<(e|0))}if((g|0)>0)g=g+-1|0;else break}}else{n=0;m=0}break}default:{n=0;m=0}}h[j>>3]=(s|0)>30?1.0:+(s|0)/30.0;switch(k|0){case 259:{w=a[4551+n>>0]|0;k=w<<24>>24;l=u;c[l>>2]=k;c[l+4>>2]=((k|0)<0)<<31>>31;if(w<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 515:{m=a[4423+n>>0]|0;k=m<<24>>24;w=u;c[w>>2]=k;c[w+4>>2]=((k|0)<0)<<31>>31;if(l)c[l>>2]=d[4487+n>>0];if(m<<24>>24<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}break}case 772:case 1028:{m=Ie(k,n,m,0,u)|0;if((m|0)<0){c[f>>2]=-1;h[j>>3]=-1.0;m=-4;break a}if((l|0)!=0&(m|0)>0)c[l>>2]=m;break}default:{w=u;c[w>>2]=n;c[w+4>>2]=m}}c[f>>2]=c[u>>2];m=0}while(0);i=v;return m|0}function Ge(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0;C=i;i=i+16|0;l=C+8|0;n=C;a:do if(!a){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;b=-1}else switch(b|0){case 0:{o=$(f,f)|0;z=o*3|0;A=Uj(o*12|0)|0;if(!A){Me(3,5472,n);rb(1)}if(!o)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!o)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/(+(f|0)*1.7320508)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+12|0;x=a+16|0;if((v|0)>0){u=c[a+8>>2]|0;s=(o|0)==0;n=-1;t=0;m=0.0;l=-1;b=-1;do{b:while(1){n=n+1|0;switch(c[u+(n<<2)>>2]|0){case 0:break;case 2:break b;default:{B=17;break b}}}if((B|0)==17){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(s)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}t=t+1|0}while((t|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}case 1:{z=$(f,f)|0;A=Uj(z<<2)|0;if(!A){Me(3,5472,l);rb(1)}if(!z)b=0;else{b=0;l=0;do{b=((d[e+l>>0]|0)^255)+b|0;l=l+1|0}while((l|0)<(z|0))}l=(b|0)/(z|0)|0;if(!z)m=0.0;else{n=0;b=0;do{x=((d[e+n>>0]|0)^255)-l|0;c[A+(n<<2)>>2]=x;b=($(x,x)|0)+b|0;n=n+1|0}while((n|0)<(z|0));m=+(b|0)}y=+P(+m);if(y/+(f|0)<15.0){c[g>>2]=0;c[j>>2]=0;h[k>>3]=-1.0;Vj(A);b=-2;break a}v=c[a>>2]|0;w=a+20|0;x=a+24|0;if((v|0)>0){s=c[a+8>>2]|0;t=(z|0)==0;n=-1;u=0;m=0.0;l=-1;b=-1;do{c:while(1){n=n+1|0;switch(c[s+(n<<2)>>2]|0){case 0:break;case 2:break c;default:{B=37;break c}}}if((B|0)==37){B=0;p=n<<2;q=c[x>>2]|0;r=0;do{a=r+p|0;if(t)o=0;else{e=c[(c[w>>2]|0)+(a<<2)>>2]|0;f=0;o=0;do{o=($(c[e+(f<<2)>>2]|0,c[A+(f<<2)>>2]|0)|0)+o|0;f=f+1|0}while((f|0)<(z|0))}D=+(o|0)/+h[q+(a<<3)>>3]/y;a=D>m;l=a?r:l;b=a?n:b;m=a?D:m;r=r+1|0}while((r|0)!=4)}u=u+1|0}while((u|0)<(v|0))}else{m=0.0;l=-1;b=-1}c[j>>2]=l;c[g>>2]=b;h[k>>3]=m;Vj(A);b=0;break a}default:{b=-1;break a}}while(0);i=C;return b|0}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Re(8,8)|0;f=Re(8,1)|0;g=Re(8,1)|0;i=c[e>>2]|0;j=c[f>>2]|0;k=0;do{p=a+(k<<4)|0;l=k<<4;h[i+(l<<3)>>3]=+h[p>>3];o=a+(k<<4)+8|0;h[i+((l|1)<<3)>>3]=+h[o>>3];h[i+((l|2)<<3)>>3]=1.0;h[i+((l|3)<<3)>>3]=0.0;h[i+((l|4)<<3)>>3]=0.0;h[i+((l|5)<<3)>>3]=0.0;n=b+(k<<4)|0;h[i+((l|6)<<3)>>3]=-(+h[p>>3]*+h[n>>3]);h[i+((l|7)<<3)>>3]=-(+h[o>>3]*+h[n>>3]);h[i+((l|8)<<3)>>3]=0.0;h[i+((l|9)<<3)>>3]=0.0;h[i+((l|10)<<3)>>3]=0.0;h[i+((l|11)<<3)>>3]=+h[p>>3];h[i+((l|12)<<3)>>3]=+h[o>>3];h[i+((l|13)<<3)>>3]=1.0;m=b+(k<<4)+8|0;h[i+((l|14)<<3)>>3]=-(+h[p>>3]*+h[m>>3]);h[i+((l|15)<<3)>>3]=-(+h[o>>3]*+h[m>>3]);l=k<<1;h[j+(l<<3)>>3]=+h[n>>3];h[j+((l|1)<<3)>>3]=+h[m>>3];k=k+1|0}while((k|0)!=4);_e(e)|0;Xe(g,e,f)|0;p=c[g>>2]|0;h[d>>3]=+h[p>>3];h[d+8>>3]=+h[p+8>>3];h[d+16>>3]=+h[p+16>>3];p=c[g>>2]|0;h[d+24>>3]=+h[p+24>>3];h[d+32>>3]=+h[p+32>>3];h[d+40>>3]=+h[p+40>>3];p=c[g>>2]|0;h[d+48>>3]=+h[p+48>>3];h[d+56>>3]=+h[p+56>>3];h[d+64>>3]=1.0;We(e)|0;We(f)|0;We(g)|0;return}function Ie(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+2320|0;k=I+2304|0;y=I+864|0;u=I+784|0;H=I+704|0;w=I+624|0;v=I+548|0;G=I+40|0;E=I;switch(b|0){case 772:{g=9;j=1;l=3;break}case 1028:{g=5;j=2;l=3;break}case 2830:{A=900;s=1472;C=64;F=120;z=127;B=g;j=9;l=6;break}default:f=-1}if((l|0)==3){b=0;while(1){a[k+b>>0]=e&1;e=hk(e|0,f|0,1)|0;b=b+1|0;if((b|0)==13)break;else f=D}A=840;s=1408;C=g;F=13;z=15;B=k;l=6}do if((l|0)==6){r=j<<1;k=1;f=0;while(1){g=v+(k<<2)|0;c[g>>2]=0;b=0;e=0;do{if(a[B+e>>0]|0){b=b^c[A+((($(e,k)|0)%(z|0)|0)<<2)>>2];c[g>>2]=b}e=e+1|0}while((e|0)<(F|0));f=(b|0)==0?f:1;c[g>>2]=c[s+(b<<2)>>2];if((k|0)<(r|0))k=k+1|0;else break}x=(f|0)!=0;if(x){c[u>>2]=0;f=c[v+4>>2]|0;c[u+4>>2]=f;c[y>>2]=0;c[y+72>>2]=1;if((r|0)>1){b=1;do{c[y+(b<<2)>>2]=-1;c[y+72+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(r|0))}c[H>>2]=0;c[H+4>>2]=0;c[w>>2]=-1;c[w+4>>2]=0;p=0;q=0;while(1){g=q;q=q+1|0;o=u+(q<<2)|0;if((f|0)==-1){k=g+2|0;c[H+(k<<2)>>2]=p;if((p|0)<0)n=p;else{f=0;while(1){o=y+(q*72|0)+(f<<2)|0;n=c[o>>2]|0;c[y+(k*72|0)+(f<<2)>>2]=n;c[o>>2]=c[s+(n<<2)>>2];if((f|0)<(p|0))f=f+1|0;else{n=p;break}}}}else{b=g;while(1){f=(b|0)>0;if(f&(c[u+(b<<2)>>2]|0)==-1)b=b+-1|0;else break}if(f){e=b;do{f=e;e=e+-1|0;if((c[u+(e<<2)>>2]|0)!=-1)b=(c[w+(b<<2)>>2]|0)<(c[w+(e<<2)>>2]|0)?e:b}while((f|0)>1)}e=H+(b<<2)|0;m=q-b|0;n=m+(c[e>>2]|0)|0;k=g+2|0;n=(p|0)>(n|0)?p:n;c[H+(k<<2)>>2]=n;f=0;do{c[y+(k*72|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(r|0));f=c[e>>2]|0;e=u+(b<<2)|0;if((f|0)>=0){l=0;while(1){g=c[y+(b*72|0)+(l<<2)>>2]|0;if((g|0)!=-1)c[y+(k*72|0)+(m+l<<2)>>2]=c[A+(((g+z+(c[o>>2]|0)-(c[e>>2]|0)|0)%(z|0)|0)<<2)>>2];if((l|0)<(f|0))l=l+1|0;else break}}if((p|0)>=0){f=0;while(1){o=y+(q*72|0)+(f<<2)|0;m=c[o>>2]|0;l=y+(k*72|0)+(f<<2)|0;c[l>>2]=c[l>>2]^m;c[o>>2]=c[s+(m<<2)>>2];if((f|0)<(p|0))f=f+1|0;else break}}}c[w+(k<<2)>>2]=q-n;if((q|0)>=(r|0))break;f=c[v+(k<<2)>>2]|0;if((f|0)==-1)f=0;else f=c[A+(f<<2)>>2]|0;g=u+(k<<2)|0;c[g>>2]=f;if((n|0)>=1){e=1;while(1){b=c[v+(k-e<<2)>>2]|0;if((b|0)!=-1?(t=c[y+(k*72|0)+(e<<2)>>2]|0,(t|0)!=0):0){f=f^c[A+((((c[s+(t<<2)>>2]|0)+b|0)%(z|0)|0)<<2)>>2];c[g>>2]=f}if((e|0)<(n|0))e=e+1|0;else break}}f=c[s+(f<<2)>>2]|0;c[g>>2]=f;if((n|0)>(j|0))break;else p=n}if((n|0)>(j|0)){f=-1;break}if((n|0)>=0){f=0;while(1){w=y+(k*72|0)+(f<<2)|0;c[w>>2]=c[s+(c[w>>2]<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}if((n|0)>=1){f=1;while(1){c[E+(f<<2)>>2]=c[y+(k*72|0)+(f<<2)>>2];if((f|0)<(n|0))f=f+1|0;else break}}l=(n|0)<1;f=0;m=1;do{if(l)b=1;else{j=1;b=1;while(1){e=E+(j<<2)|0;g=c[e>>2]|0;if((g|0)!=-1){y=(g+j|0)%(z|0)|0;c[e>>2]=y;b=c[A+(y<<2)>>2]^b}if((j|0)<(n|0))j=j+1|0;else break}}if(!b){c[G+(f<<2)>>2]=z-m;f=f+1|0}m=m+1|0}while((z|0)>=(m|0));if((f|0)!=(n|0)){f=-1;break}if((n|0)>0){f=0;do{E=B+(c[G+(f<<2)>>2]|0)|0;a[E>>0]=d[E>>0]^1;f=f+1|0}while((f|0)<(n|0))}}else k=0;b=h;c[b>>2]=0;c[b+4>>2]=0;b=1;e=0;g=0;j=0;f=F-C|0;while(1){G=ok(d[B+f>>0]|0,0,b|0,e|0)|0;g=gk(G|0,D|0,g|0,j|0)|0;j=D;G=h;c[G>>2]=g;c[G+4>>2]=j;b=fk(b|0,e|0,1)|0;f=f+1|0;if((f|0)>=(F|0))break;else e=D}if(x)f=c[H+(k<<2)>>2]|0;else f=0}while(0);i=I;return f|0}function Je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=i;i=i+32|0;z=A+24|0;g=A+16|0;d=A+8|0;do if(a){if(!b){Me(3,4674,d);d=-1;break}y=a+8|0;f=c[a+4>>2]|0;a:do if((f|0)>0){e=c[y>>2]|0;d=0;do{if(!(c[e+(d<<2)>>2]|0))break a;d=d+1|0}while((d|0)<(f|0))}else d=0;while(0);if((d|0)!=(f|0)){x=Aj(b)|0;if(!x){Me(3,4719,g);d=-1;break}r=a+28|0;s=d<<2;t=a+12|0;u=a+20|0;v=a+16|0;w=a+24|0;f=Gj(x,4742)|0;e=0;b:while(1){q=e+s|0;p=0;b=0;do{n=(p|0)==0;o=(p|0)==2;g=c[r>>2]|0;if((g|0)>0){m=0;do{if((g|0)>0){l=0;do{if(!f){e=17;break b}g=qj(f)|0;f=Gj(0,4742)|0;g=255-g|0;k=((($(c[r>>2]|0,m)|0)+l|0)*3|0)+p|0;c[(c[(c[t>>2]|0)+(q<<2)>>2]|0)+(k<<2)>>2]=g;k=($(c[r>>2]|0,m)|0)+l|0;j=c[(c[u>>2]|0)+(q<<2)>>2]|0;k=j+(k<<2)|0;if(!n){c[k>>2]=(c[k>>2]|0)+g;if(o){k=j+(($(c[r>>2]|0,m)|0)+l<<2)|0;c[k>>2]=(c[k>>2]|0)/3|0}}else c[k>>2]=g;b=g+b|0;l=l+1|0;g=c[r>>2]|0}while((l|0)<(g|0))}m=m+1|0}while((m|0)<(g|0))}p=p+1|0}while((p|0)<3);g=c[r>>2]|0;l=(b|0)/($(g*3|0,g)|0)|0;if(($(g*3|0,g)|0)>0){j=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=0;b=0;do{p=j+(k<<2)|0;g=(c[p>>2]|0)-l|0;c[p>>2]=g;b=($(g,g)|0)+b|0;k=k+1|0;g=c[r>>2]|0}while((k|0)<($(g*3|0,g)|0))}else b=0;B=+P(+(+(b|0)));h[(c[v>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;if(!($(g,g)|0))b=0;else{g=c[(c[u>>2]|0)+(q<<2)>>2]|0;j=0;b=0;do{o=g+(j<<2)|0;p=(c[o>>2]|0)-l|0;c[o>>2]=p;b=($(p,p)|0)+b|0;j=j+1|0;p=c[r>>2]|0}while((j|0)<($(p,p)|0))}B=+P(+(+(b|0)));h[(c[w>>2]|0)+(q<<3)>>3]=B==0.0?1.0e-07:B;e=e+1|0;if((e|0)>=4){e=32;break}}if((e|0)==17){Me(3,4747,z);Vj(x);d=-1;break}else if((e|0)==32){Vj(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Me(3,4649,A);d=-1}while(0);i=A;return d|0}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;h=k+8|0;e=k;g=_i(d,4854)|0;do if(g){dj(g,0,2)|0;e=gj(g)|0;dj(g,0,0)|0;f=Uj(e+1|0)|0;if(!f){Me(3,5472,h);Wi(g)|0;e=-1;break}h=aj(f,e,1,g)|0;Wi(g)|0;if(!h){c[j>>2]=d;Me(3,4820,j);Vj(f);e=-1;break}else{a[f+e>>0]=0;e=Je(b,f)|0;Vj(f);break}}else{c[e>>2]=d;Me(3,4774,e);e=-1}while(0);i=k;return e|0}function Le(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function Me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;f=j;c[h>>2]=0;if(((d|0)!=0&(c[496]|0)<=(b|0)?(a[d>>0]|0)!=0:0)?(c[f>>2]=e,g=lj(h,d,f)|0,(g|0)>-1):0){f=c[497]|0;do if(f){if(!(c[498]|0)){Wb[f&15](c[h>>2]|0);break}e=gb()|0;b=c[500]|0;if((e|0)==(c[499]|0)){if((b|0)>0){Wb[f&15](c[502]|0);c[500]=0;f=c[497]|0}Wb[f&15](c[h>>2]|0);break}f=c[501]|0;if((b|0)<(f|0)){d=(c[502]|0)+b|0;if((g|0)<(-3-b+f|0)){yj(d,c[h>>2]|0)|0;c[500]=(c[500]|0)+g;break}else{a[d>>0]=46;a[d+1>>0]=46;a[d+2>>0]=46;a[d+3>>0]=0;c[500]=c[501];break}}}else $i(c[h>>2]|0,c[659]|0)|0;while(0);Vj(c[h>>2]|0)}i=j;return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;i=0;do{d=a+(i<<5)|0;e=a+(i<<5)+8|0;f=a+(i<<5)+16|0;g=0;do{h[c+(i<<5)+(g<<3)>>3]=+h[d>>3]*+h[b+(g<<3)>>3]+ +h[e>>3]*+h[b+32+(g<<3)>>3]+ +h[f>>3]*+h[b+64+(g<<3)>>3];g=g+1|0}while((g|0)!=4);g=c+(i<<5)+24|0;h[g>>3]=+h[a+(i<<5)+24>>3]+ +h[g>>3];i=i+1|0}while((i|0)!=3);return 0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Re(4,4)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[d+(k<<3)>>3]=+h[a+(i<<5)>>3];h[e+(1+k<<3)>>3]=+h[a+(i<<5)+8>>3];h[f+(2+k<<3)>>3]=+h[a+(i<<5)+16>>3];h[g+(3+k<<3)>>3]=+h[a+(i<<5)+24>>3];i=i+1|0}while((i|0)!=3);d=c[j>>2]|0;e=d+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[d+120>>3]=1.0;_e(j)|0;d=c[j>>2]|0;e=c[j>>2]|0;f=c[j>>2]|0;g=c[j>>2]|0;i=0;do{k=i<<2;h[b+(i<<5)>>3]=+h[d+(k<<3)>>3];h[b+(i<<5)+8>>3]=+h[e+(1+k<<3)>>3];h[b+(i<<5)+16>>3]=+h[f+(2+k<<3)>>3];h[b+(i<<5)+24>>3]=+h[g+(3+k<<3)>>3];i=i+1|0}while((i|0)!=3);We(j)|0;return 0}function Pe(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Qe(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Ej(c,47)|0;if(!f){a[b>>0]=0;break}f=f+((e|0)!=0&1)-c|0;if((f+1|0)>>>0<=d>>>0){Dj(b,c,f)|0;a[b+f>>0]=0}else b=0}else b=0;while(0);return b|0}function Re(a,b){a=a|0;b=b|0;var d=0,e=0;d=Uj(12)|0;do if(d){e=Uj($(a<<3,b)|0)|0;c[d>>2]=e;if(!e){Vj(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Se(a){a=a|0;var b=0;b=Re(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Ve(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Te(a,b){a=a|0;b=b|0;var d=0;d=Re(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Xe(d,a,b)|0)<0){We(d)|0;d=0}}else d=0;return d|0}function Ue(a){a=a|0;var b=0;b=Re(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($e(b,a)|0)<0){We(b)|0;b=0}}else b=0;return b|0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;d=c[a+4>>2]|0;if((d|0)==(c[b+4>>2]|0)?(j=c[a+8>>2]|0,(j|0)==(c[b+8>>2]|0)):0)if((d|0)>0){e=(j|0)>0;l=0;do{f=$(j,l)|0;if(e){g=c[b>>2]|0;i=c[a>>2]|0;k=0;do{m=f+k|0;h[i+(m<<3)>>3]=+h[g+(m<<3)>>3];k=k+1|0}while((k|0)<(j|0))}l=l+1|0}while((l|0)<(d|0));d=0}else d=0;else d=-1;return d|0}function We(a){a=a|0;if(a){Vj(c[a>>2]|0);Vj(a)}return 0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+8>>2]|0;if(((n|0)==(c[d+4>>2]|0)?(r=c[a+4>>2]|0,(r|0)==(c[b+4>>2]|0)):0)?(o=c[a+8>>2]|0,(o|0)==(c[d+8>>2]|0)):0){s=(o|0)>0?o:0;if((r|0)>0){p=(o|0)>0;q=(n|0)>0;k=c[a>>2]|0;m=0;while(1){a=$(n,m)|0;if(p){f=0;l=k;while(1){h[l>>3]=0.0;if(q){e=0.0;g=0;i=(c[b>>2]|0)+(a<<3)|0;j=(c[d>>2]|0)+(f<<3)|0;while(1){e=e+ +h[i>>3]*+h[j>>3];h[l>>3]=e;g=g+1|0;if((g|0)>=(n|0))break;else{i=i+8|0;j=j+(o<<3)|0}}}f=f+1|0;if((f|0)>=(o|0))break;else l=l+8|0}}m=m+1|0;if((m|0)>=(r|0)){a=0;break}else k=k+(s<<3)|0}}else a=0}else a=-1;return a|0}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0;q=c[a+4>>2]|0;s=c[a+8>>2]|0;f=(q|0)<(s|0)?q:s;a:do if(((((!((q|0)<2|(s|0)<2)?(c[b+8>>2]|0)==(s|0):0)?(c[b+4>>2]|0)==(f|0):0)?(t=d+4|0,(c[t>>2]|0)==(f|0)):0)?(g=e+4|0,(c[g>>2]|0)==(s|0)):0)?(u=Se(a)|0,(u|0)!=0):0){r=+P(+(+(q|0)));o=c[u+4>>2]|0;p=c[u+8>>2]|0;if(!((o|0)<1|(p|0)<1)?(c[g>>2]|0)==(p|0):0){if(p){f=c[e>>2]|0;a=0;do{h[f+(a<<3)>>3]=0.0;a=a+1|0}while((a|0)!=(p|0))}n=c[u>>2]|0;if(o){f=(p|0)==0;a=0;j=n;while(1){if(!f){g=0;k=j;l=c[e>>2]|0;while(1){h[l>>3]=+h[k>>3]+ +h[l>>3];g=g+1|0;if((g|0)==(p|0))break;else{k=k+8|0;l=l+8|0}}}a=a+1|0;if((a|0)==(o|0))break;else j=j+(p<<3)|0}}i=+(o|0);if(p){f=c[e>>2]|0;a=0;do{m=f+(a<<3)|0;h[m>>3]=+h[m>>3]/i;a=a+1|0}while((a|0)!=(p|0))}l=(p|0)>0?p:0;if((o|0)>0){f=(p|0)>0;a=0;j=n;while(1){if(f){g=0;k=j;m=c[e>>2]|0;while(1){h[k>>3]=+h[k>>3]-+h[m>>3];g=g+1|0;if((g|0)>=(p|0))break;else{k=k+8|0;m=m+8|0}}}a=a+1|0;if((a|0)>=(o|0))break;else j=j+(l<<3)|0}}f=$(s,q)|0;if((f|0)>0){a=0;do{e=n+(a<<3)|0;h[e>>3]=+h[e>>3]/r;a=a+1|0}while((a|0)<(f|0))}f=Ze(u,b,d)|0;We(u)|0;j=c[t>>2]|0;if((j|0)>0){a=c[d>>2]|0;g=0;i=0.0;do{i=i+ +h[a+(g<<3)>>3];g=g+1|0}while((g|0)<(j|0))}else i=0.0;if((j|0)<=0)break;a=c[d>>2]|0;g=0;while(1){d=a+(g<<3)|0;h[d>>3]=+h[d>>3]/i;g=g+1|0;if((g|0)>=(j|0))break a}}We(u)|0;f=-1}else f=-1;while(0);return f|0}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0;U=i;i=i+16|0;w=U;F=a+4|0;I=c[F>>2]|0;J=a+8|0;K=c[J>>2]|0;S=(K|0)<(I|0)?K:I;a:do if(((!((I|0)<2|(K|0)<2)?(R=b+8|0,(c[R>>2]|0)==(K|0)):0)?(L=b+4|0,(c[L>>2]|0)==(S|0)):0)?(M=d+4|0,(c[M>>2]|0)==(S|0)):0){T=Re(S,S)|0;N=T+4|0;if((c[N>>2]|0)==(S|0)?(Q=T+8|0,(c[Q>>2]|0)==(S|0)):0){G=(I|0)<(K|0);s=c[F>>2]|0;t=c[J>>2]|0;if(G){if((S|0)!=(s|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){m=(S|0)==0;j=(t|0)>0;n=0;r=g;while(1){l=$(n,t)|0;if(!m){p=0;s=r;while(1){if((p|0)>=(n|0)){e=c[a>>2]|0;h[s>>3]=0.0;if(j){k=0.0;o=e+(l<<3)|0;e=e+(($(p,t)|0)<<3)|0;f=0;while(1){k=k+ +h[o>>3]*+h[e>>3];h[s>>3]=k;f=f+1|0;if((f|0)>=(t|0))break;else{o=o+8|0;e=e+8|0}}}}else h[s>>3]=+h[g+(($(p,S)|0)+n<<3)>>3];p=p+1|0;if((p|0)==(S|0))break;else s=s+8|0}}n=n+1|0;if((n|0)>=(S|0))break;else r=r+(S<<3)|0}}}else{if((S|0)!=(t|0)){We(T)|0;e=-1;break}g=c[T>>2]|0;if((S|0)>0){l=(S|0)==0;j=(s|0)>0;m=0;p=g;while(1){if(!l){o=0;r=p;while(1){if((o|0)>=(m|0)){e=c[a>>2]|0;h[r>>3]=0.0;if(j){k=0.0;n=e+(m<<3)|0;e=e+(o<<3)|0;f=0;while(1){k=k+ +h[n>>3]*+h[e>>3];h[r>>3]=k;f=f+1|0;if((f|0)>=(s|0))break;else{n=n+(S<<3)|0;e=e+(S<<3)|0}}}}else h[r>>3]=+h[g+(($(o,S)|0)+m<<3)>>3];o=o+1|0;if((o|0)==(S|0))break;else r=r+8|0}}m=m+1|0;if((m|0)>=(S|0))break;else p=p+(S<<3)|0}}}do if(((S|0)>=2?(c[M>>2]|0)==(S|0):0)?(H=nf(S)|0,(H|0)!=0):0){E=S+-1|0;c[w+4>>2]=E;c[w>>2]=(c[H>>2]|0)+8;if((rf(T,d,w)|0)<0){of(H)|0;break}B=c[H>>2]|0;h[B>>3]=0.0;if((E|0)>0){C=(S|0)==0;D=E;do{f=D;while(1){if((f|0)<=0)break;v=+O(+(+h[B+(f<<3)>>3]));e=f+-1|0;A=c[d>>2]|0;x=+O(+(+h[A+(e<<3)>>3]));if(v>(x+ +O(+(+h[A+(f<<3)>>3])))*1.0e-06)f=e;else break}y=D;D=D+-1|0;b:do if((f|0)!=(y|0)){o=B+(y<<3)|0;p=B+(f+1<<3)|0;r=(f|0)<(y|0);z=0;do{if((z|0)>99)break b;z=z+1|0;s=c[d>>2]|0;t=s+(D<<3)|0;w=s+(y<<3)|0;k=+h[w>>3];q=(+h[t>>3]-k)*.5;u=+h[o>>3];u=u*u;v=+P(+(u+q*q));if(r){A=f;q=+h[s+(f<<3)>>3]-k+u/(q+(q<0.0?-v:v));u=+h[p>>3];while(1){k=+O(+q);do if(!(k>=+O(+u))){v=-q/u;x=1.0/+P(+(v*v+1.0));v=v*x}else{if(!(k>1.0e-16)){v=1.0;x=0.0;break}k=-u/q;x=1.0/+P(+(k*k+1.0));v=x;x=k*x}while(0);j=s+(A<<3)|0;X=+h[j>>3];n=A;A=A+1|0;l=s+(A<<3)|0;W=+h[l>>3];k=X-W;m=B+(A<<3)|0;V=x*(x*k+v*2.0*+h[m>>3]);h[j>>3]=X-V;h[l>>3]=W+V;if((n|0)>(f|0)){l=B+(n<<3)|0;h[l>>3]=v*+h[l>>3]-u*x}X=+h[m>>3];h[m>>3]=X+x*(v*k-x*2.0*X);j=$(n,S)|0;l=$(A,S)|0;if(C)k=u;else{e=c[T>>2]|0;g=0;do{Z=e+(g+j<<3)|0;q=+h[Z>>3];Y=e+(g+l<<3)|0;k=+h[Y>>3];h[Z>>3]=v*q-x*k;h[Y>>3]=x*q+v*k;g=g+1|0}while((g|0)!=(S|0))}if((n|0)<(D|0)){q=+h[m>>3];Z=B+(n+2<<3)|0;k=+h[Z>>3];h[Z>>3]=v*k;k=-(x*k)}if((A|0)>=(y|0))break;else u=k}}W=+O(+(+h[o>>3]));X=+O(+(+h[t>>3]))}while(W>(X+ +O(+(+h[w>>3])))*1.0e-06)}while(0)}while((y|0)>1)}if(E){l=c[d>>2]|0;m=c[T>>2]|0;n=(S|0)==0;o=0;do{g=l+(o<<3)|0;q=+h[g>>3];j=o;o=o+1|0;if((o|0)<(S|0)){e=j;f=o;k=q;do{X=+h[l+(f<<3)>>3];Z=X>k;k=Z?X:k;e=Z?f:e;f=f+1|0}while((f|0)<(S|0))}else{e=j;k=q}h[l+(e<<3)>>3]=q;h[g>>3]=k;if(!n){g=0;f=m+(($(e,S)|0)<<3)|0;e=m+(($(j,S)|0)<<3)|0;while(1){X=+h[f>>3];h[f>>3]=+h[e>>3];h[e>>3]=X;g=g+1|0;if((g|0)==(S|0))break;else{f=f+8|0;e=e+8|0}}}}while((o|0)!=(E|0))}of(H)|0;c:do if(!G){g=c[b>>2]|0;p=(I|0)>(K|0)?K:I;d:do if((S|0)>0){m=c[d>>2]|0;n=(p|0)==0;e=0;o=c[T>>2]|0;do{if(+h[m+(e<<3)>>3]<1.0e-16)break d;if(!n){f=0;j=o;l=g;while(1){h[l>>3]=+h[j>>3];f=f+1|0;if((f|0)==(p|0))break;else{j=j+8|0;l=l+8|0}}}o=o+(p<<3)|0;g=g+(p<<3)|0;e=e+1|0}while((e|0)<(S|0))}else e=0;while(0);n=(p|0)>0?p:0;if((e|0)<(S|0)){l=c[d>>2]|0;m=(S|0)>0;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(S|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(S|0))break;else g=g+(n<<3)|0}}}else{w=c[F>>2]|0;t=c[J>>2]|0;do if(!((w|0)<1|(t|0)<1)){if((c[N>>2]|0)!=(w|0))break;if((c[Q>>2]|0)!=(w|0))break;if((c[L>>2]|0)!=(w|0))break;if((c[R>>2]|0)!=(t|0))break;if((c[M>>2]|0)!=(w|0))break;f=c[b>>2]|0;e:do if((w|0)>0){p=c[d>>2]|0;s=(t|0)==0;r=(w|0)==0;e=0;do{k=+h[p+(e<<3)>>3];if(k<1.0e-16)break e;q=1.0/+P(+(+O(+k)));m=$(e,w)|0;if(!s){n=0;o=f;while(1){if(r)k=0.0;else{g=0;j=(c[T>>2]|0)+(m<<3)|0;l=(c[a>>2]|0)+(n<<3)|0;k=0.0;while(1){k=k+ +h[j>>3]*+h[l>>3];g=g+1|0;if((g|0)==(w|0))break;else{j=j+8|0;l=l+(t<<3)|0}}}h[o>>3]=q*k;n=n+1|0;if((n|0)==(t|0))break;else o=o+8|0}}f=f+(t<<3)|0;e=e+1|0}while((e|0)<(w|0))}else e=0;while(0);n=(t|0)>0?t:0;if((e|0)>=(w|0))break c;l=c[d>>2]|0;m=(t|0)>0;g=f;while(1){h[l+(e<<3)>>3]=0.0;if(m){f=0;j=g;while(1){h[j>>3]=0.0;f=f+1|0;if((f|0)>=(t|0))break;else j=j+8|0}}e=e+1|0;if((e|0)>=(w|0))break c;else g=g+(n<<3)|0}}while(0);We(T)|0;e=-1;break a}while(0);We(T)|0;e=0;break a}while(0);We(T)|0;e=-1;break}We(T)|0;e=-1}else e=-1;while(0);i=U;return e|0}function _e(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;v=i;i=i+2e3|0;u=v;b=c[a>>2]|0;t=c[a+4>>2]|0;a:do if((t|0)<=500){switch(t|0){case 0:{b=0;break a}case 1:{h[b>>3]=1.0/+h[b>>3];break a}default:{}}if((t|0)>0){a=0;do{c[u+(a<<2)>>2]=a;a=a+1|0}while((a|0)<(t|0))}s=b+(t+-1<<3)|0;if((t|0)>0){m=(t|0)==0;p=(t|0)==1;o=(t|0)==0;n=(t|0)==1;q=s;a=0;r=0;while(1){l=b+(($(r,t)|0)<<3)|0;if((r|0)<(t|0)){e=r;f=0.0;d=l;while(1){w=+O(+(+h[d>>3]));k=f=(t|0))break;else d=d+(t<<3)|0}}else f=0.0;if(f<=1.0e-10){b=0;break a}g=u+(a<<2)|0;j=c[g>>2]|0;k=u+(r<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;if(!m){d=0;e=b+(($(a,t)|0)<<3)|0;g=l;while(1){w=+h[e>>3];h[e>>3]=+h[g>>3];h[g>>3]=w;d=d+1|0;if((d|0)==(t|0))break;else{e=e+8|0;g=g+8|0}}}f=+h[l>>3];if(!p){d=1;e=l;do{k=e;e=e+8|0;h[k>>3]=+h[e>>3]/f;d=d+1|0}while((d|0)!=(t|0))}h[q>>3]=1.0/f;if(!o){g=0;j=s;while(1){if((g|0)!=(r|0)){d=b+(($(g,t)|0)<<3)|0;f=+h[d>>3];if(!n){k=1;e=l;while(1){x=d;d=d+8|0;h[x>>3]=+h[d>>3]-f*+h[e>>3];k=k+1|0;if((k|0)==(t|0))break;else e=e+8|0}}h[j>>3]=-(f*+h[q>>3])}g=g+1|0;if((g|0)==(t|0))break;else j=j+(t<<3)|0}}r=r+1|0;if((r|0)>=(t|0))break;else q=q+(t<<3)|0}}if((t|0)>0){g=(t|0)>0;j=0;do{a=u+(j<<2)|0;b:do if((j|0)<(t|0)){d=j;do{if((c[a>>2]|0)==(j|0))break b;d=d+1|0;a=u+(d<<2)|0}while((d|0)<(t|0))}else d=j;while(0);c[a>>2]=c[u+(j<<2)>>2];if(g){e=0;a=b+(d<<3)|0;d=b+(j<<3)|0;while(1){w=+h[a>>3];h[a>>3]=+h[d>>3];h[d>>3]=w;e=e+1|0;if((e|0)>=(t|0))break;else{a=a+(t<<3)|0;d=d+(t<<3)|0}}}j=j+1|0}while((j|0)<(t|0))}}else b=0;while(0);i=v;return ((b|0)==0)<<31>>31|0}function $e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(k=c[a+8>>2]|0,(k|0)==(c[b+4>>2]|0)):0){l=(k|0)>0?k:0;if((i|0)>0){j=(k|0)>0;e=c[a>>2]|0;g=0;while(1){if(j){a=0;d=(c[b>>2]|0)+(g<<3)|0;f=e;while(1){h[f>>3]=+h[d>>3];a=a+1|0;if((a|0)>=(k|0))break;else{d=d+(i<<3)|0;f=f+8|0}}}g=g+1|0;if((g|0)>=(i|0)){a=0;break}else e=e+(l<<3)|0}}else a=0}else a=-1;return a|0}function af(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0;f=+(b|0)/+(c[a>>2]|0);g=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;do{h[e+8+(b<<3)>>3]=f*+h[a+8+(b<<3)>>3];h[e+40+(b<<3)>>3]=g*+h[a+40+(b<<3)>>3];h[e+72+(b<<3)>>3]=+h[a+72+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=c[a+176>>2]|0;switch(b|0){case 4:{h[e+104>>3]=+h[a+104>>3];h[e+112>>3]=+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=f*+h[a+136>>3];h[e+144>>3]=g*+h[a+144>>3];h[e+152>>3]=f*+h[a+152>>3];h[e+160>>3]=g*+h[a+160>>3];h[e+168>>3]=+h[a+168>>3];i=8;break}case 3:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3];h[e+136>>3]=+h[a+136>>3]/(f*g);h[e+144>>3]=+h[a+144>>3]/(g*(f*f*g));i=8;break}case 2:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);h[e+136>>3]=+h[a+136>>3]/(g*(f*f*g));i=8;break}case 1:{h[e+104>>3]=f*+h[a+104>>3];h[e+112>>3]=g*+h[a+112>>3];h[e+120>>3]=+h[a+120>>3];h[e+128>>3]=+h[a+128>>3]/(f*g);i=8;break}default:b=-1}if((i|0)==8){c[e+176>>2]=b;b=0}return b|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0.0;f=i;i=i+96|0;e=f;if(!(+h[a+88>>3]>=0.0)){d=0;do{h[e+(d<<5)>>3]=-+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=-+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=-+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=-+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}else{d=0;do{h[e+(d<<5)>>3]=+h[a+(d<<5)>>3];h[e+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[e+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[e+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3)}h[b>>3]=0.0;h[b+8>>3]=0.0;h[b+16>>3]=0.0;h[b+24>>3]=0.0;h[b+32>>3]=0.0;h[b+40>>3]=0.0;h[b+48>>3]=0.0;h[b+56>>3]=0.0;h[b+64>>3]=0.0;h[b+72>>3]=0.0;h[b+80>>3]=0.0;h[b+88>>3]=0.0;g=+h[e+64>>3];o=+h[e+72>>3];p=+h[e+80>>3];x=+P(+(g*g+o*o+p*p));a=b+80|0;h[a>>3]=x;x=g/x;v=c+64|0;h[v>>3]=x;o=o/+h[a>>3];t=c+72|0;h[t>>3]=o;p=p/+h[a>>3];q=c+80|0;h[q>>3]=p;n=c+88|0;h[n>>3]=+h[e+88>>3]/+h[a>>3];g=+h[e+32>>3];k=+h[e+40>>3];s=+h[e+48>>3];p=x*g+o*k+p*s;m=b+48|0;h[m>>3]=p;g=g-p*+h[v>>3];k=k-p*+h[t>>3];p=s-p*+h[q>>3];s=+P(+(g*g+k*k+p*p));l=b+40|0;h[l>>3]=s;w=c+32|0;h[w>>3]=g/s;u=c+40|0;h[u>>3]=k/+h[l>>3];r=c+48|0;h[r>>3]=p/+h[l>>3];p=+h[e>>3];k=+h[e+8>>3];s=+h[e+16>>3];g=+h[v>>3]*p+ +h[t>>3]*k+ +h[q>>3]*s;d=b+16|0;h[d>>3]=g;o=+h[w>>3]*p+ +h[u>>3]*k+ +h[r>>3]*s;j=b+8|0;h[j>>3]=o;p=p-o*+h[w>>3]-g*+h[v>>3];k=k-o*+h[u>>3]-g*+h[t>>3];g=s-o*+h[r>>3]-g*+h[q>>3];o=+P(+(p*p+k*k+g*g));h[b>>3]=o;h[c>>3]=p/o;h[c+8>>3]=k/+h[b>>3];h[c+16>>3]=g/+h[b>>3];g=+h[n>>3];k=(+h[e+56>>3]-+h[m>>3]*g)/+h[l>>3];h[c+56>>3]=k;h[c+24>>3]=(+h[e+24>>3]-k*+h[j>>3]-+h[d>>3]*g)/+h[b>>3];d=0;do{w=b+(d<<5)|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+8|0;h[w>>3]=+h[w>>3]/+h[a>>3];w=b+(d<<5)+16|0;h[w>>3]=+h[w>>3]/+h[a>>3];d=d+1|0}while((d|0)!=3);i=f;return 0}function cf(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;switch(f|0){case 4:{q=+h[a>>3];r=+h[a+8>>3];s=+h[a+16>>3];t=+h[a+24>>3];y=+h[a+32>>3];v=+h[a+40>>3];w=+h[a+48>>3];x=+h[a+56>>3];u=+h[a+64>>3];p=(b-w)/y;j=(c-x)/v;c=p*p;i=j*j;k=s*2.0;l=t*6.0;m=t*2.0;n=s*6.0;a:do if(i!=0.0|c!=0.0){f=1;g=p;b=j;while(1){C=i+c;B=q*C+1.0+C*(r*C);z=c*3.0;A=i*z;g=g-(t*(C+c*2.0)+(b*(k*g)+g*B)-p)/(l*g+(k*b+(q*(i+z)+1.0+r*(i*i+(c*(c*5.0)+A)))));z=m*g;b=b-(s*(i*2.0+C)+b*B+b*z-j)/(n*b+(q*(c+i*3.0)+1.0+r*(i*(i*5.0)+(c*c+A)))+z);if((f|0)==4)break a;c=g*g;i=b*b;if(!(i!=0.0|c!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);h[d>>3]=w+y*g/u;h[e>>3]=x+v*b/u;f=0;break}case 3:{p=+h[a>>3];g=(b-p)/+h[a+24>>3];o=a+8|0;b=c-+h[o>>3];j=+h[a+32>>3]/1.0e8;k=+h[a+40>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;b:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break b;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 2:{p=+h[a>>3];g=b-p;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;k=+h[a+32>>3]/1.0e8/1.0e5;c=g*g+b*b;l=+P(+c);m=j*3.0;n=k*5.0;c:do if(l!=0.0){f=1;i=l;while(1){C=i-(i*(1.0-j*c-c*(k*c))-l)/(1.0-m*c-c*(n*c));g=g*C/i;b=b*C/i;if((f|0)==3)break c;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+p;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}case 1:{m=+h[a>>3];g=b-m;o=a+8|0;b=c-+h[o>>3];j=+h[a+24>>3]/1.0e8;c=g*g+b*b;k=+P(+c);l=j*3.0;d:do if(k!=0.0){f=1;i=k;while(1){C=i-(i*(1.0-j*c)-k)/(1.0-l*c);g=g*C/i;b=b*C/i;if((f|0)==3)break d;c=g*g+b*b;i=+P(+c);if(!(i!=0.0)){g=0.0;b=0.0;break}else f=f+1|0}}else{g=0.0;b=0.0}while(0);f=a+16|0;h[d>>3]=g/+h[f>>3]+m;h[e>>3]=b/+h[f>>3]+ +h[o>>3];f=0;break}default:f=-1}return f|0}function df(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;switch(f|0){case 4:{j=+h[a+16>>3];k=+h[a+24>>3];n=+h[a+32>>3];l=+h[a+40>>3];o=+h[a+48>>3];m=+h[a+56>>3];i=+h[a+64>>3];b=(b-o)*i/n;i=(c-m)*i/l;g=b*b+i*i;c=+h[a>>3]*g+1.0+g*(+h[a+8>>3]*g);h[d>>3]=o+n*(k*(b*(b*2.0)+g)+(j*2.0*b*i+b*c));h[e>>3]=m+l*(k*2.0*b*i+(j*(g+i*(i*2.0))+i*c));f=0;break}case 3:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+32>>3]/1.0e8)-o*(o*(+h[a+40>>3]/1.0e8/1.0e5));h[d>>3]=i+ +h[a+24>>3]*(g*o);b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 2:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=g*g+b*b;o=1.0-o*(+h[a+24>>3]/1.0e8)-o*(o*(+h[a+32>>3]/1.0e8/1.0e5));h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}case 1:{i=+h[a>>3];o=+h[a+16>>3];g=(b-i)*o;f=a+8|0;b=o*(c-+h[f>>3]);if(g==0.0&b==0.0){h[d>>3]=i;b=+h[f>>3]}else{o=1.0-(g*g+b*b)*(+h[a+24>>3]/1.0e8);h[d>>3]=i+g*o;b=+h[f>>3]+b*o}h[e>>3]=b;f=0;break}default:f=-1}return f|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=i;i=i+256|0;n=s+232|0;m=s+224|0;l=s+216|0;k=s+208|0;j=s+200|0;g=s+192|0;f=s+184|0;p=s+240|0;q=s;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=_i(a,4854)|0;if(!r){r=qi()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Me(3,4857,f);a=ri(c[r>>2]|0)|0;c[g>>2]=5367;c[g+4>>2]=a;Me(3,5361,g);a=-1;break}dj(r,0,2)|0;a:do if(!(Xi(r)|0)){g=gj(r)|0;jj(r);a=0;do{if((a|0)>=4){o=9;break}f=c[2012+(a<<3)+4>>2]|0;a=a+1|0}while(((g|0)%(f|0)|0|0)!=0);do if((o|0)==9)if((a|0)==4){Me(3,4971,l);a=-1;break a}else{f=c[2012+(0<<3)+4>>2]|0;a=0;break}while(0);if((aj(q,f,1,r)|0)!=1){a=qi()|0;c[m>>2]=c[a>>2];Me(3,5051,m);a=ri(c[a>>2]|0)|0;c[n>>2]=5367;c[n+4>>2]=a;Me(3,5361,n);a=-1;break}l=q+176|0;c[l>>2]=a;ff(q);m=(a|0)==1;n=q+120|0;if(m){t=+h[n>>3];k=q+128|0;h[n>>3]=+h[k>>3];h[k>>3]=t}else k=q+128|0;ik(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;if((b|0)>1){j=1;while(1){e=(c[p>>2]|0)+(4-1)&~(4-1);g=c[e>>2]|0;c[p>>2]=e+4;c[g+176>>2]=c[f>>2];if((aj(q,c[2012+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[l>>2]=a;ff(q);if(m){t=+h[n>>3];h[n>>3]=+h[k>>3];h[k>>3]=t}ik(g|0,q|0,184)|0;j=j+1|0;if((j|0)>=(b|0)){a=0;break}}}else a=0}else{a=qi()|0;c[j>>2]=c[a>>2];Me(3,4926,j);a=ri(c[a>>2]|0)|0;c[k>>2]=5367;c[k+4>>2]=a;Me(3,5361,k);a=-1}while(0);Wi(r)|0}else a=-1;while(0);i=s;return a|0}function ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+192|0;f=g;hf(a,f);hf(a+4|0,f+4|0);b=0;do{gf(a+8+(b<<5)|0,f+8+(b<<5)|0);gf(a+8+(b<<5)+8|0,f+8+(b<<5)+8|0);gf(a+8+(b<<5)+16|0,f+8+(b<<5)+16|0);gf(a+8+(b<<5)+24|0,f+8+(b<<5)+24|0);b=b+1|0}while((b|0)!=3);d=a+176|0;e=0;do{gf(a+104+(e<<3)|0,f+104+(e<<3)|0);e=e+1|0;b=c[d>>2]|0}while((e|0)<(c[2012+(b+-1<<3)>>2]|0));c[f+176>>2]=b;ik(a|0,f|0,184)|0;i=g;return}function gf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+7>>0]|0;a[c+1>>0]=a[b+6>>0]|0;a[c+2>>0]=a[b+5>>0]|0;a[c+3>>0]=a[b+4>>0]|0;a[c+4>>0]=a[b+3>>0]|0;a[c+5>>0]=a[b+2>>0]|0;a[c+6>>0]=a[b+1>>0]|0;a[c+7>>0]=a[b>>0]|0;return}function hf(b,c){b=b|0;c=c|0;a[c>>0]=a[b+3>>0]|0;a[c+1>>0]=a[b+2>>0]|0;a[c+2>>0]=a[b+1>>0]|0;a[c+3>>0]=a[b>>0]|0;return}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=i;i=i+64|0;t=x+24|0;u=x+16|0;v=x+8|0;w=x;q=Uj(208)|0;if(!q){Me(3,5472,x+32|0);rb(1)}ik(q|0,a|0,184)|0;s=b<<1;r=(c[a>>2]|0)+s|0;c[q+192>>2]=r;s=(c[a+4>>2]|0)+s|0;c[q+196>>2]=s;c[q+200>>2]=b;c[q+204>>2]=b;d=$(r<<3,s)|0;e=Uj(d)|0;c[q+184>>2]=e;if(!e){Me(3,5472,x+40|0);rb(1)}d=Uj(d)|0;c[q+188>>2]=d;if(!d){Me(3,5472,x+48|0);rb(1)}p=a+104|0;m=c[a+176>>2]|0;n=(r|0)>0?r<<1:0;if((s|0)>0){o=(r|0)>0;l=0;while(1){f=+(l-b|0);if(o){a=0;j=e;k=d;while(1){y=+(a-b|0);df(p,y,f,v,w,m)|0;g[j>>2]=+h[v>>3];g[j+4>>2]=+h[w>>3];cf(p,y,f,t,u,m)|0;g[k>>2]=+h[t>>3];g[k+4>>2]=+h[u>>3];a=a+1|0;if((a|0)>=(r|0))break;else{j=j+8|0;k=k+8|0}}}d=d+(n<<2)|0;l=l+1|0;if((l|0)>=(s|0))break;else e=e+(n<<2)|0}}i=x;return q|0}function kf(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){Vj(c[b+184>>2]|0);Vj(c[(c[a>>2]|0)+188>>2]|0);Vj(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function lf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function mf(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){a=c[a+4>>2]|0;g=($(i,g)|0)+h<<1;c[e>>2]=c[a+(g<<2)>>2];c[f>>2]=c[a+((g|1)<<2)>>2];g=0}else g=-1;return g|0}function nf(a){a=a|0;var b=0,d=0;b=Uj(8)|0;do if(b){d=Uj(a<<3)|0;c[b>>2]=d;if(!d){Vj(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function of(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function pf(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,g=0;b=+P(+(+qf(a,a)));if(b!=0.0){f=c[a>>2]|0;e=+h[f>>3];b=e<0.0?-b:b;e=e+b;h[f>>3]=e;e=1.0/+P(+(e*b));a=c[a+4>>2]|0;if((a|0)>0){d=0;do{g=f+(d<<3)|0;h[g>>3]=e*+h[g>>3];d=d+1|0}while((d|0)<(a|0))}}return +-b}function qf(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))rb(0);if((f|0)>0){e=c[a>>2]|0;a=c[b>>2]|0;b=0;d=0.0;do{d=d+ +h[e+(b<<3)>>3]*+h[a+(b<<3)>>3];b=b+1|0}while((b|0)<(f|0))}else d=0.0;return +d}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E+8|0;D=E;w=c[a+8>>2]|0;if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){z=w+-2|0;A=C+4|0;B=D+4|0;if((w|0)>2){s=w+-1|0;t=0;do{o=$(t,w)|0;p=c[a>>2]|0;h[(c[b>>2]|0)+(t<<3)>>3]=+h[p+(o+t<<3)>>3];k=w-t+-1|0;c[A>>2]=k;u=t;t=t+1|0;l=p+(o+t<<3)|0;c[C>>2]=l;r=+pf(C);h[(c[d>>2]|0)+(u<<3)>>3]=r;if(!(r==0.0)){if((t|0)<(w|0)){m=c[b>>2]|0;n=t;do{if((t|0)<(n|0)){e=c[a>>2]|0;f=t;j=0.0;do{r=+h[e+(($(f,w)|0)+n<<3)>>3];j=j+r*+h[p+(f+o<<3)>>3];f=f+1|0}while((f|0)<(n|0))}else j=0.0;e=$(n,w)|0;if((n|0)<(w|0)){f=c[a>>2]|0;g=n;do{j=j+ +h[f+(g+e<<3)>>3]*+h[p+(g+o<<3)>>3];g=g+1|0}while((g|0)<(w|0))}h[m+(n<<3)>>3]=j;n=n+1|0}while((n|0)<(w|0))}c[B>>2]=k;c[A>>2]=k;c[C>>2]=l;c[D>>2]=(c[b>>2]|0)+(t<<3);j=+qf(C,D)*.5;if((s|0)>(u|0)){e=c[b>>2]|0;k=s;do{q=+h[p+(k+o<<3)>>3];f=e+(k<<3)|0;r=+h[f>>3]-j*q;h[f>>3]=r;f=$(k,w)|0;if((k|0)<(w|0)){g=c[a>>2]|0;l=k;do{n=g+(l+f<<3)|0;h[n>>3]=+h[n>>3]-(q*+h[e+(l<<3)>>3]+r*+h[p+(l+o<<3)>>3]);l=l+1|0}while((l|0)<(w|0))}k=k+-1|0}while((k|0)>(u|0))}}}while((t|0)<(z|0))}if((w|0)<=1){if((w|0)>0){f=0;g=c[a>>2]|0;e=c[b>>2]|0;v=27}}else{v=$(z,w)|0;g=c[a>>2]|0;e=c[b>>2]|0;h[e+(z<<3)>>3]=+h[g+(v+z<<3)>>3];f=w+-1|0;h[(c[d>>2]|0)+(z<<3)>>3]=+h[g+(f+v<<3)>>3];v=27}if((v|0)==27)h[e+(f<<3)>>3]=+h[g+(($(f,w)|0)+f<<3)>>3];if((w|0)>0){m=(w|0)>0;p=w;do{d=p;p=p+-1|0;n=$(p,w)|0;o=c[a>>2]|0;if((d|0)<=(z|0)?(x=w-p+-1|0,y=o+(n+d<<3)|0,(d|0)<(w|0)):0){e=(d|0)<(w|0);k=d;do{c[B>>2]=x;c[A>>2]=x;c[C>>2]=y;f=$(k,w)|0;c[D>>2]=(c[a>>2]|0)+(f+d<<3);j=+qf(C,D);if(e){g=c[a>>2]|0;l=d;do{v=g+(l+f<<3)|0;h[v>>3]=+h[v>>3]-j*+h[o+(l+n<<3)>>3];l=l+1|0}while((l|0)<(w|0))}k=k+1|0}while((k|0)<(w|0))}if(m){e=0;do{h[o+(e+n<<3)>>3]=0.0;e=e+1|0}while((e|0)<(w|0))}h[o+(n+p<<3)>>3]=1.0}while((d|0)>1);e=0}else e=0}else e=-1;i=E;return e|0}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[c>>3];g=+h[c+8>>3];e=+h[c+16>>3];d=+h[b+88>>3]+(f*+h[b+64>>3]+g*+h[b+72>>3]+e*+h[b+80>>3]);if(d==0.0)c=-1;else{i=+h[b+56>>3]+(f*+h[b+32>>3]+g*+h[b+40>>3]+e*+h[b+48>>3]);h[a>>3]=(+h[b+24>>3]+(f*+h[b>>3]+g*+h[b+8>>3]+e*+h[b+16>>3]))/d;h[a+8>>3]=i/d;c=0}return c|0}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0;B=i;i=i+1072|0;y=B+1056|0;x=B+768|0;w=B+192|0;A=B+48|0;z=B;K=+h[d>>3];F=+h[e>>3];s=K*F;J=+h[d+8>>3];t=e+8|0;E=+h[t>>3];v=J*E;j=+h[d+16>>3];G=+h[e+16>>3];l=j*G;m=+h[d+24>>3];I=+h[d+32>>3];H=+h[d+40>>3];n=E*H;k=+h[d+48>>3];o=G*k;p=+h[d+56>>3];D=+h[d+64>>3];C=+h[d+72>>3];q=E*C;f=+h[d+80>>3];r=G*f;g=+h[d+88>>3];h[x>>3]=s;h[x+8>>3]=K*E;h[x+16>>3]=K*G;h[x+24>>3]=F*J;h[x+32>>3]=v;h[x+40>>3]=G*J;h[x+48>>3]=F*j;h[x+56>>3]=E*j;h[x+64>>3]=l;h[x+72>>3]=K;h[x+80>>3]=J;h[x+88>>3]=j;j=F*I;h[x+96>>3]=j;h[x+104>>3]=E*I;h[x+112>>3]=G*I;h[x+120>>3]=F*H;h[x+128>>3]=n;h[x+136>>3]=G*H;h[x+144>>3]=F*k;h[x+152>>3]=E*k;h[x+160>>3]=o;h[x+168>>3]=I;h[x+176>>3]=H;h[x+184>>3]=k;k=D*F;h[x+192>>3]=k;h[x+200>>3]=E*D;h[x+208>>3]=G*D;h[x+216>>3]=F*C;E=+h[t>>3];h[x+224>>3]=C*E;h[x+232>>3]=G*C;h[x+240>>3]=F*f;h[x+248>>3]=E*f;h[x+256>>3]=r;h[x+264>>3]=D;h[x+272>>3]=C;h[x+280>>3]=f;e=w+64|0;d=w;t=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+72|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+104>>3]=1.0;e=w+160|0;d=w+112|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+240|0;d=w+168|0;t=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+296|0;d=w+248|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=-1.0;e=w+304|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[w+336>>3]=1.0;e=w+456|0;d=w+344|0;t=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+512|0;d=w+464|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;e=w+568|0;d=w+520|0;t=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(t|0));h[e>>3]=1.0;u=0;do{t=0;do{d=A+(u*48|0)+(t<<3)|0;h[d>>3]=0.0;f=0.0;e=0;do{f=f+ +h[x+(u*96|0)+(e<<3)>>3]*+h[w+(e*48|0)+(t<<3)>>3];e=e+1|0}while((e|0)!=12);h[d>>3]=f;t=t+1|0}while((t|0)!=6);u=u+1|0}while((u|0)!=3);J=m+(s+v+l);K=p+(j+n+o);f=g+(k+q+r);g=+h[b>>3];j=+h[b+8>>3];k=+h[b+16>>3];l=+h[b+24>>3]+(J*g+K*j+f*k);m=+h[b+32>>3];n=+h[b+40>>3];o=+h[b+48>>3];p=+h[b+56>>3]+(J*m+K*n+f*o);q=+h[b+64>>3];r=+h[b+72>>3];s=+h[b+80>>3];f=+h[b+88>>3]+(J*q+K*r+f*s);if(f==0.0){Me(3,5089,y);e=-1}else{K=f*f;h[z>>3]=(g*f-l*q)/K;h[z+8>>3]=(f*j-l*r)/K;h[z+16>>3]=(f*k-l*s)/K;h[z+24>>3]=(f*m-p*q)/K;h[z+32>>3]=(f*n-p*r)/K;h[z+40>>3]=(f*o-p*s)/K;d=0;do{f=+h[z+(d*24|0)>>3];g=+h[z+(d*24|0)+8>>3];j=+h[z+(d*24|0)+16>>3];e=0;do{y=a+(d*48|0)+(e<<3)|0;h[y>>3]=0.0;K=f*+h[A+(e<<3)>>3]+0.0;h[y>>3]=K;K=K+g*+h[A+48+(e<<3)>>3];h[y>>3]=K;h[y>>3]=K+j*+h[A+96+(e<<3)>>3];e=e+1|0}while((e|0)!=6);d=d+1|0}while((d|0)!=2);e=0}i=B;return e|0}function uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+48|0;h=j+24|0;g=j+12|0;f=j;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;b=Ue(f)|0;do if(b){a=Te(b,f)|0;if(!a){We(b)|0;d=-1;break}d=Te(b,g)|0;if(!d){We(b)|0;We(a)|0;d=-1;break}if((_e(a)|0)<0){We(b)|0;We(a)|0;We(d)|0;d=-1;break}else{Xe(h,a,d)|0;We(b)|0;We(a)|0;We(d)|0;d=0;break}}else d=-1;while(0);i=j;return d|0}function vf(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;n=i;i=i+192|0;l=n+96|0;m=n;g=+h[b>>3];k=+h[b+8>>3];d=+h[b+16>>3];c=g*g+k*k+d*d;if(c==0.0){j=0.0;e=0.0;d=1.0;c=0.0}else{c=+P(+c);j=c;e=d/c;d=g/c;c=k/c}u=+h[b+24>>3];r=+h[b+32>>3];k=+h[b+40>>3];o=+R(+j);g=1.0-o;j=+S(+j);h[l>>3]=o+d*d*g;t=c*d*g;s=e*j;h[l+8>>3]=t-s;q=d*e*g;p=c*j;h[l+16>>3]=q+p;h[l+24>>3]=u;h[l+32>>3]=t+s;h[l+40>>3]=o+c*c*g;c=c*e*g;j=d*j;h[l+48>>3]=c-j;h[l+56>>3]=r;h[l+64>>3]=q-p;h[l+72>>3]=c+j;h[l+80>>3]=o+e*e*g;h[l+88>>3]=k;f=0;do{c=+h[a+(f<<5)>>3];d=+h[a+(f<<5)+8>>3];e=+h[a+(f<<5)+16>>3];b=0;do{h[m+(f<<5)+(b<<3)>>3]=c*+h[l+(b<<3)>>3]+d*+h[l+32+(b<<3)>>3]+e*+h[l+64+(b<<3)>>3];b=b+1|0}while((b|0)!=4);b=m+(f<<5)+24|0;h[b>>3]=+h[a+(f<<5)+24>>3]+ +h[b>>3];f=f+1|0}while((f|0)!=3);b=0;do{h[a+(b<<5)>>3]=+h[m+(b<<5)>>3];h[a+(b<<5)+8>>3]=+h[m+(b<<5)+8>>3];h[a+(b<<5)+16>>3]=+h[m+(b<<5)+16>>3];h[a+(b<<5)+24>>3]=+h[m+(b<<5)+24>>3];b=b+1|0}while((b|0)!=3);i=n;return 0}function wf(a){a=a|0;var b=0,d=0;b=Uj(136)|0;if(!b)b=0;else{d=0;do{h[b+(d<<5)>>3]=+h[a+(d<<5)>>3];h[b+(d<<5)+8>>3]=+h[a+(d<<5)+8>>3];h[b+(d<<5)+16>>3]=+h[a+(d<<5)+16>>3];h[b+(d<<5)+24>>3]=+h[a+(d<<5)+24>>3];d=d+1|0}while((d|0)!=3);c[b+96>>2]=10;h[b+104>>3]=.10000000149011612;h[b+112>>3]=.9900000095367432;h[b+120>>3]=4.0;h[b+128>>3]=.5}return b|0}function xf(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{Vj(b);c[a>>2]=0;b=0}return b|0}function yf(a,b){a=a|0;b=+b;if(!a)a=-1;else{h[a+128>>3]=b;a=0}return a|0}function zf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=i;i=i+176|0;l=y+168|0;k=y+160|0;u=y+48|0;w=y+64|0;v=y;s=b+8|0;g=c[s>>2]|0;do if((g|0)>=3){x=Uj(g*96|0)|0;if(!x){Me(3,5109,k);g=-1;break}t=Uj(g<<4)|0;if(!t){Me(3,5109,l);Vj(x);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);q=b+4|0;l=u+8|0;d=a+104|0;n=a+120|0;o=a+112|0;p=a+96|0;m=0.0;r=0;a:while(1){Ne(a,e,w)|0;g=c[s>>2]|0;if((g|0)>0){j=0.0;k=0;do{if((sf(u,w,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=10;break a}g=c[b>>2]|0;A=+h[g+(k<<4)>>3]-+h[u>>3];z=+h[g+(k<<4)+8>>3]-+h[l>>3];j=j+(A*A+z*z);g=k<<1;h[t+(g<<3)>>3]=A;h[t+((g|1)<<3)>>3]=z;k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}else j=0.0;j=j/+(g|0);if(j<+h[d>>3]){k=24;break}if(((r|0)>0?j<+h[n>>3]:0)?j/m>+h[o>>3]:0){k=24;break}if((r|0)==(c[p>>2]|0)){k=24;break}if((g|0)>0){k=0;do{if((tf(x+(k*12<<3)|0,a,e,(c[q>>2]|0)+(k*24|0)|0)|0)<0){k=20;break a}k=k+1|0;g=c[s>>2]|0}while((k|0)<(g|0))}if((uf(v,t,x,g<<1)|0)<0){k=22;break}vf(e,v)|0;m=j;r=r+1|0}if((k|0)==10){Af(x,t);g=-1;break}else if((k|0)==20){Af(x,t);g=-1;break}else if((k|0)==22){Af(x,t);g=-1;break}else if((k|0)==24){h[f>>3]=j;Vj(x);Vj(t);g=0;break}}else g=-1;while(0);i=y;return g|0}function Af(a,b){a=a|0;b=b|0;Vj(a);Vj(b);return}function Bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+192|0;n=G+184|0;m=G+176|0;l=G+168|0;g=G+160|0;B=G+48|0;D=G+64|0;C=G;A=b+8|0;k=c[A>>2]|0;do if((k|0)>=4){o=~~(+(k|0)*+h[a+128>>3])+-1|0;o=(o|0)<3?3:o;F=Uj(k*96|0)|0;if(!F){Me(3,5109,g);g=-1;break}E=Uj(k<<4)|0;if(!E){Me(3,5109,l);Vj(F);g=-1;break}g=k<<3;z=Uj(g)|0;if(!z){Me(3,5109,m);Vj(F);Vj(E);g=-1;break}y=Uj(g)|0;if(!y){Me(3,5109,n);Vj(F);Vj(E);Vj(z);g=-1;break}else g=0;do{h[e+(g<<5)>>3]=+h[d+(g<<5)>>3];h[e+(g<<5)+8>>3]=+h[d+(g<<5)+8>>3];h[e+(g<<5)+16>>3]=+h[d+(g<<5)+16>>3];h[e+(g<<5)+24>>3]=+h[d+(g<<5)+24>>3];g=g+1|0}while((g|0)!=3);w=b+4|0;x=B+8|0;n=y+(o<<3)|0;d=a+104|0;o=a+120|0;t=a+112|0;u=a+96|0;r=0.0;v=0;a:while(1){Ne(a,e,D)|0;g=c[A>>2]|0;if((g|0)>0){k=0;do{if((sf(B,D,(c[w>>2]|0)+(k*24|0)|0)|0)<0){k=14;break a}g=c[b>>2]|0;q=+h[g+(k<<4)>>3]-+h[B>>3];s=+h[g+(k<<4)+8>>3]-+h[x>>3];g=k<<1;h[E+(g<<3)>>3]=q;h[E+((g|1)<<3)>>3]=s;s=q*q+s*s;h[y+(k<<3)>>3]=s;h[z+(k<<3)>>3]=s;k=k+1|0;g=c[A>>2]|0}while((k|0)<(g|0))}rj(y,g,8,1);s=+h[n>>3]*4.0;s=s<16.0?16.0:s;k=c[A>>2]|0;q=s/6.0;if((k|0)>0){j=0.0;g=0;do{p=+h[y+(g<<3)>>3];if(p>s)p=q;else{p=1.0-p/s;p=q*(1.0-p*(p*p))}j=j+p;g=g+1|0}while((g|0)<(k|0))}else j=0.0;j=j/+(k|0);if(j<+h[d>>3]){k=36;break}if(((v|0)>0?j<+h[o>>3]:0)?j/r>+h[t>>3]:0){k=36;break}if((v|0)==(c[u>>2]|0)){k=36;break}if((k|0)>0){m=0;g=0;do{p=+h[z+(m<<3)>>3];if(p<=s){k=g*6|0;l=F+(k<<3)|0;if((tf(l,a,e,(c[w>>2]|0)+(m*24|0)|0)|0)<0){k=28;break a}r=1.0-p/s;r=r*r;h[l>>3]=+h[l>>3]*r;l=F+((k|1)<<3)|0;h[l>>3]=+h[l>>3]*r;l=F+(k+2<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+3<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+4<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+5<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+6<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+7<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+8<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+9<<3)|0;h[l>>3]=r*+h[l>>3];l=F+(k+10<<3)|0;h[l>>3]=r*+h[l>>3];k=F+(k+11<<3)|0;h[k>>3]=r*+h[k>>3];k=m<<1;h[E+(g<<3)>>3]=r*+h[E+(k<<3)>>3];h[E+(g+1<<3)>>3]=r*+h[E+((k|1)<<3)>>3];k=c[A>>2]|0;g=g+2|0}m=m+1|0}while((m|0)<(k|0))}else g=0;if((g|0)<6){k=32;break}if((uf(C,E,F,g)|0)<0){k=34;break}vf(e,C)|0;r=j;v=v+1|0}if((k|0)==14){Cf(F,E,z,y);g=-1;break}else if((k|0)==28){Cf(F,E,z,y);g=-1;break}else if((k|0)==32){Cf(F,E,z,y);g=-1;break}else if((k|0)==34){Cf(F,E,z,y);g=-1;break}else if((k|0)==36){h[f>>3]=j;Vj(F);Vj(E);Vj(z);Vj(y);g=0;break}}else g=-1;while(0);i=G;return g|0}function Cf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Vj(a);Vj(b);Vj(c);Vj(d);return}function Df(a,b){a=a|0;b=b|0;var c=0.0;c=+h[a>>3]-+h[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0,W=0,X=0,Y=0,Z=0;U=i;i=i+64|0;D=U+48|0;z=U+40|0;y=U+32|0;x=U+24|0;u=U+16|0;o=U+8|0;l=U;a:do if((e|0)>=4){g=0;while(1){if((g|0)>=(e|0))break;if(+h[d+(g*24|0)+16>>3]!=0.0){g=-1;break a}else g=g+1|0}if((((((((!(+h[a>>3]==0.0)?!(+h[a+32>>3]!=0.0):0)?(B=a+40|0,!(+h[B>>3]==0.0)):0)?!(+h[a+64>>3]!=0.0):0)?!(+h[a+72>>3]!=0.0):0)?!(+h[a+80>>3]!=1.0):0)?!(+h[a+24>>3]!=0.0):0)?!(+h[a+56>>3]!=0.0):0)?!(+h[a+88>>3]!=0.0):0){g=e<<1;C=Re(g,8)|0;if(!C){Me(3,5124,l);g=-1;break}w=Re(g,1)|0;if(!w){We(C)|0;Me(3,5150,o);g=-1;break}if(e){g=c[C>>2]|0;l=c[w>>2]|0;o=0;do{Z=d+(o*24|0)|0;V=o<<4;h[g+(V<<3)>>3]=+h[Z>>3];Y=d+(o*24|0)+8|0;h[g+((V|1)<<3)>>3]=+h[Y>>3];h[g+((V|2)<<3)>>3]=1.0;h[g+((V|3)<<3)>>3]=0.0;h[g+((V|4)<<3)>>3]=0.0;h[g+((V|5)<<3)>>3]=0.0;X=b+(o<<4)|0;h[g+((V|6)<<3)>>3]=-(+h[Z>>3]*+h[X>>3]);h[g+((V|7)<<3)>>3]=-(+h[Y>>3]*+h[X>>3]);h[g+((V|8)<<3)>>3]=0.0;h[g+((V|9)<<3)>>3]=0.0;h[g+((V|10)<<3)>>3]=0.0;h[g+((V|11)<<3)>>3]=+h[Z>>3];h[g+((V|12)<<3)>>3]=+h[Y>>3];h[g+((V|13)<<3)>>3]=1.0;W=b+(o<<4)+8|0;h[g+((V|14)<<3)>>3]=-(+h[Z>>3]*+h[W>>3]);h[g+((V|15)<<3)>>3]=-(+h[Y>>3]*+h[W>>3]);V=o<<1;h[l+(V<<3)>>3]=+h[X>>3];h[l+((V|1)<<3)>>3]=+h[W>>3];o=o+1|0}while((o|0)!=(e|0))}e=Ue(C)|0;if(!e){We(C)|0;We(w)|0;Me(3,5176,u);g=-1;break}o=Te(e,C)|0;if(!o){We(C)|0;We(w)|0;We(e)|0;Me(3,5202,x);g=-1;break}l=Te(e,w)|0;if(!l){We(C)|0;We(w)|0;We(e)|0;We(o)|0;Me(3,5228,y);g=-1;break}if((_e(o)|0)<0){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5254,z);g=-1;break}g=Te(o,l)|0;if(!g){We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;Me(3,5280,D);g=-1;break}Z=c[g>>2]|0;p=+h[Z+48>>3];S=+h[a+48>>3];t=+h[B>>3];j=(+h[Z+24>>3]-p*S)/t;s=+h[a+16>>3];T=+h[a+8>>3];r=+h[a>>3];q=(+h[Z>>3]-p*s-j*T)/r;k=+h[Z+56>>3];m=(+h[Z+32>>3]-S*k)/t;n=(+h[Z+8>>3]-s*k-T*m)/r;t=(+h[Z+40>>3]-S)/t;r=(+h[Z+16>>3]-s-T*t)/r;We(C)|0;We(w)|0;We(e)|0;We(o)|0;We(l)|0;We(g)|0;T=+P(+(p*p+(j*j+q*q)));s=+P(+(k*k+(m*m+n*n)));q=q/T;j=j/T;p=p/T;n=n/s;m=m/s;k=k/s;s=(T+s)*.5;r=r/s;T=1.0/s;if(T<0.0){O=-j;k=-k;m=-m;p=-p;n=-n;Q=-q;S=-r;R=-T}else{O=j;Q=q;S=r;R=t/s}j=k*O-m*p;q=n*p-k*Q;r=m*Q-n*O;s=+P(+(r*r+(j*j+q*q)));do if(!(s==0.0)){t=j/s;q=q/s;j=r/s;N=k*p+(m*O+n*Q);N=N<0.0?-N:N;N=(+P(+(N+1.0))+ +P(+(1.0-N)))*.5;if(Q*q-O*t!=0.0){g=0;E=Q;v=O;F=p;I=t;H=q}else{Z=Q*j-p*t!=0.0;g=Z?1:2;E=Z?Q:p;v=Z?p:O;F=Z?O:Q;I=Z?t:j;H=Z?j:q;j=Z?q:t}r=E*H;s=v*I;q=r-s;if(q==0.0){q=O;j=Q;break}G=(v*j-F*H)/q;A=N*H/q;r=s-r;q=(E*j-F*I)/r;r=N*I/r;s=G*G+q*q+1.0;t=G*A+q*r;v=t*t-s*(A*A+r*r+-1.0);if(v<0.0){q=O;j=Q;break}M=+P(+v);L=(M-t)/s;F=A+G*L;K=r+q*L;M=(-t-M)/s;G=A+G*M;r=r+q*M;Z=(g|0)==1;q=Z?H:j;s=Z?j:H;J=Z?L:K;L=Z?K:L;K=Z?M:r;H=Z?r:M;Z=(g|0)==2&(Z^1);r=Z?I:q;q=Z?q:I;M=Z?L:F;L=Z?F:L;j=Z?H:G;I=Z?G:H;if(n*s-m*q!=0.0){g=0;E=n;v=m;F=k;H=q;A=s}else{Z=n*r-k*q!=0.0;g=Z?1:2;E=Z?n:k;v=Z?k:m;F=Z?m:n;H=Z?q:r;A=Z?r:s;r=Z?s:q}s=E*A;t=v*H;q=s-t;if(q==0.0){q=O;j=Q;break}G=(v*r-F*A)/q;A=N*A/q;q=t-s;v=(E*r-F*H)/q;q=N*H/q;r=G*G+v*v+1.0;s=G*A+v*q;t=s*s-r*(A*A+q*q+-1.0);if(t<0.0){q=O;j=Q;break}t=+P(+t);k=(t-s)/r;Q=A+G*k;O=q+v*k;t=(-s-t)/r;p=A+G*t;n=q+v*t;Z=(g|0)==1;m=Z?k:O;k=Z?O:k;v=Z?t:n;t=Z?n:t;Z=(g|0)==2&(Z^1);n=Z?k:Q;k=Z?Q:k;A=Z?t:p;t=Z?p:t;p=L*k+(J*m+M*n);p=p<0.0?-p:p;q=L*t+(J*v+M*A);q=q<0.0?-q:q;r=I*k+(K*m+j*n);r=r<0.0?-r:r;s=I*t+(K*v+j*A);s=s<0.0?-s:s;if(p>3]=j;h[f+32>>3]=q;h[f+64>>3]=p;h[f+8>>3]=n;h[f+40>>3]=m;h[f+72>>3]=k;h[f+16>>3]=M/Q;h[f+48>>3]=N/Q;h[f+80>>3]=O/Q;h[f+24>>3]=S;h[f+56>>3]=R;h[f+88>>3]=T;g=0}else g=-1}else g=-1;while(0);i=U;return g|0}function Ff(a){a=a|0;Vj(c[a>>2]|0);Vj(a);return 0}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,0))}function Hf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+If(a,b,c,d,1))}function If(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+208|0;z=F+200|0;y=F+192|0;A=F+96|0;B=F;C=e+4|0;p=c[C>>2]|0;q=e+112|0;r=e+120|0;if((p|0)>0){u=c[e>>2]|0;v=(d|0)>0;w=(d|0)>0;x=0;do{if(!(c[u+(x*320|0)+4>>2]|0)){if(v){k=c[u+(x*320|0)>>2]|0;l=0;j=-1;do{if((c[b+(l<<8)+8>>2]|0)==(k|0)?(n=+h[b+(l<<8)+40>>3],!(n<+h[q>>3])):0)if(!((j|0)!=-1?!(+h[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{l=u+(x*320|0)+312|0;m=u+(x*320|0)|0;if(w){o=0;j=-1;do{k=c[b+(o<<8)+12>>2]|0;if((k|0)==0?(t=b+(o<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=l;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)E=20}else if((k|0)==(c[m>>2]|0))E=20;if((E|0)==20){E=0;g=+h[b+(o<<8)+48>>3];if(!(g<+h[r>>3]))if(!((j|0)!=-1?!(+h[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}x=x+1|0}while((x|0)<(p|0))}if((p|0)>0){q=0;j=0;p=0;k=0;while(1){l=c[e>>2]|0;m=c[l+(q*320|0)+304>>2]|0;do if((m|0)<0)l=p;else{o=b+(m<<8)|0;if(+ke(a,o,+h[l+(q*320|0)+8>>3],B)>4.0){c[(c[e>>2]|0)+(q*320|0)+304>>2]=-1;l=b+(m<<8)+236|0;if(c[l>>2]|0){l=p;break}c[l>>2]=7;l=p;break}l=c[o>>2]|0;if((k|0)==0|(p|0)<(l|0)){j=0;do{h[A+(j<<5)>>3]=+h[B+(j<<5)>>3];h[A+(j<<5)+8>>3]=+h[B+(j<<5)+8>>3];h[A+(j<<5)+16>>3]=+h[B+(j<<5)+16>>3];h[A+(j<<5)+24>>3]=+h[B+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3);j=q}else l=p;k=k+1|0}while(0);q=q+1|0;if((q|0)>=(c[C>>2]|0))break;else p=l}}else{j=0;k=0}do if((k|0)!=0?(k|0)>=(c[e+128>>2]|0):0){Ne(A,(c[e>>2]|0)+(j*320|0)+112|0,B)|0;p=k<<2;r=Uj(k<<6)|0;if(!r){Me(3,5472,y);rb(1)}q=Uj(k*96|0)|0;if(!q){Me(3,5472,z);rb(1)}l=c[C>>2]|0;if((l|0)>0){m=c[e>>2]|0;o=0;j=0;do{k=c[m+(o*320|0)+304>>2]|0;if((k|0)>=0){y=c[b+(k<<8)+16>>2]|0;d=(4-y|0)%4|0;z=j<<3;h[r+(z<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|1)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(5-y|0)%4|0;h[r+((z|2)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|3)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];d=(6-y|0)%4|0;h[r+((z|4)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)>>3];h[r+((z|5)<<3)>>3]=+h[b+(k<<8)+168+(d<<4)+8>>3];y=(7-y|0)%4|0;h[r+((z|6)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)>>3];h[r+((z|7)<<3)>>3]=+h[b+(k<<8)+168+(y<<4)+8>>3];z=j*12|0;h[q+(z<<3)>>3]=+h[m+(o*320|0)+208>>3];h[q+((z|1)<<3)>>3]=+h[m+(o*320|0)+216>>3];h[q+((z|2)<<3)>>3]=+h[m+(o*320|0)+224>>3];h[q+((z|3)<<3)>>3]=+h[m+(o*320|0)+232>>3];h[q+(z+4<<3)>>3]=+h[m+(o*320|0)+240>>3];h[q+(z+5<<3)>>3]=+h[m+(o*320|0)+248>>3];h[q+(z+6<<3)>>3]=+h[m+(o*320|0)+256>>3];h[q+(z+7<<3)>>3]=+h[m+(o*320|0)+264>>3];h[q+(z+8<<3)>>3]=+h[m+(o*320|0)+272>>3];h[q+(z+9<<3)>>3]=+h[m+(o*320|0)+280>>3];y=c[e>>2]|0;h[q+(z+10<<3)>>3]=+h[y+(o*320|0)+288>>3];h[q+(z+11<<3)>>3]=+h[y+(o*320|0)+296>>3];j=j+1|0}o=o+1|0}while((o|0)<(l|0))}m=e+104|0;k=(f|0)!=0;if(!(c[m>>2]|0)){j=e+8|0;g=+me(a,B,r,q,p,j);if(k&g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,j);if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,j)}}}}Vj(q);Vj(r)}else{g=+me(a,B,r,q,p,A);l=e+8|0;n=+me(a,l,r,q,p,l);j=g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.8)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.6)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,.4)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;if(g>=20.0){yf(c[a>>2]|0,0.0)|0;g=+ne(a,B,r,q,p,A);n=+ne(a,l,r,q,p,l);if(g>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}}}}}else if(j){j=0;do{h[e+8+(j<<5)>>3]=+h[A+(j<<5)>>3];h[e+8+(j<<5)+8>>3]=+h[A+(j<<5)+8>>3];h[e+8+(j<<5)+16>>3]=+h[A+(j<<5)+16>>3];h[e+8+(j<<5)+24>>3]=+h[A+(j<<5)+24>>3];j=j+1|0}while((j|0)!=3)}else g=n;while(0);Vj(q);Vj(r)}if(g<20.0){c[m>>2]=1;break}c[m>>2]=0;m=c[C>>2]|0;if((m|0)>0){j=c[e>>2]|0;l=0;do{k=c[j+(l*320|0)+304>>2]|0;if((k|0)>=0?(D=b+(k<<8)+236|0,(c[D>>2]|0)==0):0)c[D>>2]=8;l=l+1|0}while((l|0)<(m|0))}}else E=38;while(0);if((E|0)==38){c[e+104>>2]=0;g=-1.0}i=F;return +g}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0;U=i;i=i+2544|0;S=U+208|0;R=U+200|0;G=U+184|0;Q=U+176|0;F=U+168|0;E=U+152|0;P=U+144|0;D=U+136|0;M=U+128|0;L=U+120|0;K=U+112|0;C=U+104|0;j=U+96|0;g=U+88|0;f=U+80|0;e=U+72|0;d=U+64|0;H=U;I=U+2280|0;J=U+232|0;z=U+224|0;O=U+220|0;A=U+216|0;B=U+212|0;T=_i(a,5306)|0;a:do if(!T){c[d>>2]=a;Me(3,5308,d);d=ri(c[(qi()|0)>>2]|0)|0;c[e>>2]=5367;c[e+4>>2]=d;Me(3,5361,e);d=0}else{Kf(I,T);c[f>>2]=O;if((kj(I,5368,f)|0)!=1){c[g>>2]=a;Me(3,5371,g);Wi(T)|0;d=0;break}d=c[O>>2]|0;N=Uj(d*320|0)|0;if(!N){Me(3,5472,j);rb(1)}r=H+8|0;s=H+16|0;t=H+24|0;u=H+32|0;v=H+40|0;w=H+48|0;x=H+56|0;y=(b|0)==0;b:do if((d|0)>0){d=0;f=0;c:while(1){Kf(I,T);e=N+(d*320|0)|0;g=N+(d*320|0)+312|0;c[C>>2]=g;c[C+4>>2]=z;if((kj(I,5489,C)|0)==1){q=c[g>>2]|0;c[e>>2]=(q&-32768|0)==0&0==0?q&32767:0;c[N+(d*320|0)+4>>2]=1;f=f|2}else{if(y){e=10;break}if(!(Qe(J,a,2048,1)|0)){e=12;break}Cj(J,I,2047-(Bj(J)|0)|0)|0;q=Ke(b,J)|0;c[e>>2]=q;if((q|0)<0){e=14;break}c[N+(d*320|0)+4>>2]=0;f=f|1}Kf(I,T);e=N+(d*320|0)+8|0;c[D>>2]=e;if((kj(I,5785,D)|0)!=1){e=18;break}Kf(I,T);o=N+(d*320|0)+16|0;p=N+(d*320|0)+24|0;q=N+(d*320|0)+40|0;c[E>>2]=o;c[E+4>>2]=p;c[E+8>>2]=N+(d*320|0)+32;c[E+12>>2]=q;if((kj(I,5894,E)|0)!=4){c[F>>2]=A;c[F+4>>2]=B;if((kj(I,5910,F)|0)==2)g=0;else{e=21;break}}else g=1;do{Kf(I,T);c[G>>2]=N+(d*320|0)+16+(g<<5);c[G+4>>2]=N+(d*320|0)+16+(g<<5)+8;c[G+8>>2]=N+(d*320|0)+16+(g<<5)+16;c[G+12>>2]=N+(d*320|0)+16+(g<<5)+24;if((kj(I,5894,G)|0)!=4){e=23;break c}g=g+1|0}while((g|0)<3);Oe(o,N+(d*320|0)+112|0)|0;W=+h[e>>3];V=W*-.5;h[H>>3]=V;W=W*.5;h[r>>3]=W;h[s>>3]=W;h[t>>3]=W;h[u>>3]=W;h[v>>3]=V;h[w>>3]=V;h[x>>3]=V;e=N+(d*320|0)+48|0;g=N+(d*320|0)+56|0;j=N+(d*320|0)+72|0;k=N+(d*320|0)+80|0;l=N+(d*320|0)+88|0;m=N+(d*320|0)+104|0;n=0;do{V=+h[H+(n<<4)>>3];W=+h[H+(n<<4)+8>>3];h[N+(d*320|0)+208+(n*24|0)>>3]=+h[q>>3]+(+h[o>>3]*V+ +h[p>>3]*W);h[N+(d*320|0)+208+(n*24|0)+8>>3]=+h[j>>3]+(+h[e>>3]*V+ +h[g>>3]*W);h[N+(d*320|0)+208+(n*24|0)+16>>3]=+h[m>>3]+(+h[k>>3]*V+ +h[l>>3]*W);n=n+1|0}while((n|0)!=4);d=d+1|0;if((d|0)>=(c[O>>2]|0))break b}if((e|0)==10){c[K>>2]=a;c[K+4>>2]=I;Me(3,5496,K)}else if((e|0)==12){c[L>>2]=a;Me(3,5624,L)}else if((e|0)==14){c[M>>2]=a;c[M+4>>2]=J;Me(3,5708,M)}else if((e|0)==18){c[P>>2]=a;c[P+4>>2]=d+1;Me(3,5789,P)}else if((e|0)==21){c[Q>>2]=a;c[Q+4>>2]=d+1;Me(3,5916,Q)}else if((e|0)==23){c[R>>2]=a;c[R+4>>2]=d+1;Me(3,5916,R)}Wi(T)|0;Vj(N);d=0;break a}else f=0;while(0);Wi(T)|0;d=Uj(136)|0;if(!d){Me(3,5472,S);rb(1)}c[d>>2]=N;c[d+4>>2]=c[O>>2];c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);h[d+112>>3]=.5;h[d+120>>3]=.5}while(0);i=U;return d|0}function Kf(b,c){b=b|0;c=c|0;var d=0,e=0;a:do if(Zi(b,256,c)|0)while(1){d=Bj(b)|0;b:do if(d)while(1){d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0;if(!d)break b}while(0);switch(a[b>>0]|0){case 0:case 35:break;default:break a}if(!(Zi(b,256,c)|0))break a}while(0);return}function Lf(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+400|0;n=r+296|0;q=r+200|0;o=r+128|0;p=r;k=c[a>>2]|0;f=c[a+4>>2]|0;if((bf(a+8|0,n,q)|0)<0)Me(3,6025,r+392|0);else{j=+(f+-1|0);f=n+32|0;h[f>>3]=j*+h[n+64>>3]-+h[f>>3];f=n+40|0;h[f>>3]=j*+h[n+72>>3]-+h[f>>3];f=n+48|0;h[f>>3]=j*+h[n+80>>3]-+h[f>>3];f=n+56|0;h[f>>3]=j*+h[n+88>>3]-+h[f>>3];g=+h[n+80>>3];f=0;do{h[o+(f*24|0)>>3]=+h[n+(f<<5)>>3]/g;h[o+(f*24|0)+8>>3]=+h[n+(f<<5)+8>>3]/g;h[o+(f*24|0)+16>>3]=+h[n+(f<<5)+16>>3]/g;f=f+1|0}while((f|0)!=3);g=+(k+-1|0);h[p>>3]=+h[o>>3]*2.0/g;h[p+8>>3]=+h[o+8>>3]*2.0/g;h[p+16>>3]=+h[o+16>>3]*2.0/g+-1.0;k=p+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+40>>3]=+h[o+32>>3]*2.0/j;h[p+48>>3]=+h[o+40>>3]*2.0/j+-1.0;k=p+56|0;g=d-b;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;h[p+80>>3]=(b+d)/g;h[p+88>>3]=d*-2.0*b/g;k=p+96|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;h[p+112>>3]=1.0;h[p+120>>3]=0.0;g=+h[q+24>>3];j=+h[q+56>>3];d=+h[q+88>>3];k=0;do{b=+h[p+(k<<5)>>3];f=p+(k<<5)+8|0;a=p+(k<<5)+16|0;l=+h[f>>3];m=+h[a>>3];n=0;do{h[e+((n<<2)+k<<3)>>3]=b*+h[q+(n<<3)>>3]+l*+h[q+32+(n<<3)>>3]+m*+h[q+64+(n<<3)>>3];n=n+1|0}while((n|0)!=3);h[e+(k+12<<3)>>3]=+h[p+(k<<5)+24>>3]+(b*g+ +h[f>>3]*j+ +h[a>>3]*d);k=k+1|0}while((k|0)!=4)}i=r;return}function Mf(a){a=a|0;c[496]=a;return}function Nf(){return c[496]|0}function Of(a){a=a|0;var b=0,d=0;b=a+212|0;d=c[b>>2]|0;if(d){ze(d)|0;Qd(c[b>>2]|0)|0;c[b>>2]=0}b=a+224|0;if(c[b>>2]|0){Ld(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){kf(b)|0;c[b>>2]=0}return}function Pf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(!(Cg(2044,d)|0))a=-1;else{f=Dg(2044,d)|0;a=f+196|0;b=c[a>>2]|0;if(b){Vj(b);c[a>>2]=0;c[f+200>>2]=0}Of(f);Ce(c[f+216>>2]|0)|0;Eg(2044,d)|0;d=f+248|0;e=f+252|0;a=c[d>>2]|0;if((c[e>>2]|0)!=(a|0)){b=0;do{Ff(c[a+(b<<3)+4>>2]|0)|0;b=b+1|0;a=c[d>>2]|0}while(b>>>0<(c[e>>2]|0)-a>>3>>>0)}Fg(d);Lh(d);Fg(f+248|0);Lh(f);a=0}i=g;return a|0}function Qf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+208|0;g=h+192|0;f=h;e=h+196|0;if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;if((ef(d,1,f,h+184|0)|0)<0){if(!(a[b>>0]&1))d=b+1|0;else d=c[b+8>>2]|0;c[g>>2]=d;Me(3,6093,g);d=-1}else{d=c[521]|0;c[521]=d+1;c[e>>2]=d;ik(Gg(2064,e)|0,f|0,184)|0}i=h;return d|0}function Rf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;m=n+24|0;l=n+16|0;j=n+8|0;f=n;d=n+32|0;e=n+28|0;c[d>>2]=a;c[e>>2]=b;do if((Cg(2044,d)|0)!=0?(k=Dg(2044,d)|0,(Hg(2064,e)|0)!=0):0){g=k+8|0;ik(g|0,Gg(2064,e)|0,184)|0;e=c[g>>2]|0;d=k+204|0;b=c[k+12>>2]|0;a=k+208|0;if(!((e|0)==(c[d>>2]|0)?(b|0)==(c[a>>2]|0):0)){c[f>>2]=e;c[f+4>>2]=b;Me(2,6152,f);af(g,c[d>>2]|0,c[a>>2]|0,g)|0}Of(k);d=jf(g,15)|0;a=k+192|0;c[a>>2]=d;if(!d){Me(3,6199,j);d=-1;break}d=Md(d)|0;b=k+212|0;c[b>>2]=d;if(!d){Me(3,6237,l);d=-1;break}Nd(d,2)|0;l=Jd(g)|0;c[k+224>>2]=l;if(!l){Me(3,6274,m);d=-1;break}else{ye(c[b>>2]|0,c[k+216>>2]|0)|0;Lf(c[a>>2]|0,+h[k+232>>3],+h[k+240>>3],k+264|0);d=0;break}}else d=-1;while(0);i=n;return d|0}function Sf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;g=j;e=j+12|0;c[e>>2]=b;if(Cg(2044,e)|0){f=Dg(2044,e)|0;if(!(a[d>>0]&1))d=d+1|0;else d=c[d+8>>2]|0;b=f+216|0;e=Ke(c[b>>2]|0,d)|0;c[f+260>>2]=e;if((e|0)<0){c[g>>2]=d;Me(3,6312,g);Ce(c[b>>2]|0)|0;Me(3,6358,h);e=-1}}else e=-1;i=j;return e|0}function Tf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;f=l+8|0;e=l+20|0;k=l;c[e>>2]=b;do if(Cg(2044,e)|0){j=Dg(2044,e)|0;if(!(a[d>>0]&1))e=d+1|0;else e=c[d+8>>2]|0;b=c[j+212>>2]|0;d=j+216|0;h=j+220|0;e=Jf(e,c[d>>2]|0)|0;c[h>>2]=e;if(!e){Me(3,6402,f);Ce(c[d>>2]|0)|0;Me(3,6429,g);e=-1;break}switch(c[e+108>>2]|0){case 0:{Zd(b,0)|0;break}case 1:{Zd(b,2)|0;break}default:Zd(b,3)|0}b=j+248|0;d=j+252|0;f=c[d>>2]|0;e=f-(c[b>>2]|0)>>3;g=k;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=e;c[k+4>>2]=c[h>>2];if((f|0)==(c[j+256>>2]|0)){Ig(b,k);break}else{j=k;e=c[j>>2]|0;j=c[j+4>>2]|0;k=f;c[k>>2]=e;c[k+4>>2]=j;c[d>>2]=(c[d>>2]|0)+8;break}}else e=-1;while(0);i=l;return e|0}function Uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,(b|0)>=0):0)?(f=c[e+248>>2]|0,(c[e+252>>2]|0)-f>>3>>>0>b>>>0):0)d=c[(c[f+(b<<3)+4>>2]|0)+4>>2]|0;else d=-1;i=g;return d|0}function Vf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{b=Dg(2044,b)|0;b=(c[b+252>>2]|0)-(c[b+248>>2]|0)>>3}i=d;return b|0}function Wf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+232>>3]=b;i=e;return}function Xf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+232>>3];i=e;return +b}function Yf(a,b){a=a|0;b=+b;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)h[(Dg(2044,d)|0)+240>>3]=b;i=e;return}function Zf(a){a=a|0;var b=0.0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(!(Cg(2044,d)|0))b=-1.0;else b=+h[(Dg(2044,d)|0)+240>>3];i=e;return +b}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Zd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6478,e)}i=f;return}function $f(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(ae(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ag(a,b){a=a|0;b=+b;var d=0,e=0,f=0.0,g=0,j=0,k=0;k=i;i=i+16|0;j=k;d=k+8|0;c[d>>2]=a;if((((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,!(b<=0.0|b>=1.0)):0)?(f=b,g=c[e+212>>2]|0,(g|0)!=0):0)?(be(g,f)|0)==0:0){h[j>>3]=f;Me(1,6513,j)}i=k;return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f;c[b>>2]=a;if((Cg(2044,b)|0)!=0?(d=c[(Dg(2044,b)|0)+212>>2]|0,(d|0)!=0):0){a=(ce(d,e)|0)==0;i=f;return +(a?+h[e>>3]:-1.0)}i=f;return -1.0}function cg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;if(Cg(2044,d)|0)_d(c[(Dg(2044,d)|0)+212>>2]|0,b)|0;i=e;return}function dg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=-1;else{$d(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Sd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6544,e)}i=f;return}function fg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Td(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+4|0;c[d>>2]=a;if(((Cg(2044,d)|0)!=0?(e=Dg(2044,d)|0,b>>>0<=255):0)?(Ud(c[e+212>>2]|0,b)|0)==0:0){c[f>>2]=b;Me(1,6569,f)}i=g;return}function hg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Vd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Pd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6590,e)}i=f;return}function jg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Wd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Cg(2044,d)|0))b=0;else{a=(b|0)!=0;Od(c[(Dg(2044,d)|0)+212>>2]|0,a&1)|0;c[e>>2]=a?6616:6620;Me(1,6625,e)}i=f;return b|0}function lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else b=c[(c[(Dg(2044,b)|0)+212>>2]|0)+4834148>>2]|0;i=d;return b|0}function mg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0))b=0;else{Rd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0;b=c[d>>2]|0}i=e;return b|0}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=f+4|0;c[d>>2]=a;if((Cg(2044,d)|0)!=0?(Xd(c[(Dg(2044,d)|0)+212>>2]|0,b)|0)==0:0){c[e>>2]=b;Me(1,6647,e)}i=f;return}function og(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(Cg(2044,b)|0)){i=e;return -1}else{a=(Yd(c[(Dg(2044,b)|0)+212>>2]|0,d)|0)==0;i=e;return (a?c[d>>2]|0:-1)|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0;c=0;do{h[b+(c<<5)>>3]=+h[a+(c<<5)>>3];h[b+(c<<5)+8>>3]=+h[a+(c<<5)+8>>3];h[b+(c<<5)+16>>3]=+h[a+(c<<5)+16>>3];h[b+(c<<5)+24>>3]=+h[a+(c<<5)+24>>3];c=c+1|0}while((c|0)!=3);return}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+ke(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=Dg(2044,e)|0;a=c[e+212>>2]|0;if((c[a+44>>2]|0)>(b|0)){+le(c[e+224>>2]|0,(b|0)<0?8:a+48+(b<<8)|0,264,+(d|0),264);e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){e=c[(Dg(2044,e)|0)+212>>2]|0;if((c[e+44>>2]|0)>(b|0)){c[((b|0)<0?8:e+48+(b<<8)|0)+16>>2]=d;e=0;break}else{e=c[523]|0;break}}else e=c[522]|0;while(0);i=f;return e|0}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;o=+h[33];h[d+168>>3]=o;k=+h[34];h[d+176>>3]=k;n=+h[35];h[d+184>>3]=n;j=+h[36];h[d+192>>3]=j;m=+h[37];h[d+200>>3]=m;g=+h[38];h[d+208>>3]=g;l=+h[39];h[d+216>>3]=l;f=+h[40];h[d+224>>3]=f;h[d+56>>3]=(o+n+m+l)*.25;h[d+64>>3]=(k+j+g+f)*.25;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function ug(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Hf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function vg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=Dg(2044,d)|0;a=c[d+248>>2]|0;if((b|0)<0?1:(c[d+252>>2]|0)-a>>3>>>0<=b>>>0){d=c[524]|0;break}else{b=c[a+(b<<3)+4>>2]|0;a=c[d+212>>2]|0;+Gf(c[d+224>>2]|0,a+48|0,c[a+44>>2]|0,b);pg(b+8|0,264);d=0;break}}else d=c[522]|0;while(0);i=e;return d|0}function wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=c[522]|0;else{b=Dg(2044,b)|0;b=de(c[b+212>>2]|0,c[b+196>>2]|0)|0}i=d;return b|0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(Cg(2044,b)|0))b=2088;else b=(c[(Dg(2044,b)|0)+212>>2]|0)+44|0;i=d;return c[b>>2]|0}function yg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=a;do if(Cg(2044,e)|0){a=Dg(2044,e)|0;e=c[a+248>>2]|0;if((b|0)<0?1:(c[a+252>>2]|0)-e>>3>>>0<=b>>>0){e=c[524]|0;break}e=c[e+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[e+4>>2]|0)<=(d|0)){e=c[523]|0;break}else{e=c[e>>2]|0;pg(e+(d*320|0)+16|0,264);Lb(0,c[e+(d*320|0)+304>>2]|0,c[e+(d*320|0)>>2]|0,c[e+(d*320|0)+4>>2]|0,+(+h[e+(d*320|0)+8>>3]))|0;e=0;break}}else e=c[522]|0;while(0);i=f;return e|0}function zg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;do if(Cg(2044,d)|0){d=c[(Dg(2044,d)|0)+212>>2]|0;if((c[d+44>>2]|0)>(b|0)){d=(b|0)<0?8:d+48+(b<<8)|0;Qa(1,c[d>>2]|0,c[d+4>>2]|0,c[d+8>>2]|0,c[d+12>>2]|0,c[d+16>>2]|0,c[d+20>>2]|0,c[d+24>>2]|0,+(+h[d+32>>3]),+(+h[d+40>>3]),+(+h[d+48>>3]),+(+h[d+56>>3]),+(+h[d+64>>3]),+(+h[d+72>>3]),+(+h[d+80>>3]),+(+h[d+88>>3]),+(+h[d+96>>3]),+(+h[d+104>>3]),+(+h[d+112>>3]),+(+h[d+120>>3]),+(+h[d+128>>3]),+(+h[d+136>>3]),+(+h[d+144>>3]),+(+h[d+152>>3]),+(+h[d+160>>3]),+(+h[d+168>>3]),+(+h[d+176>>3]),+(+h[d+184>>3]),+(+h[d+192>>3]),+(+h[d+200>>3]),+(+h[d+208>>3]),+(+h[d+216>>3]),+(+h[d+224>>3]),c[d+240>>2]|0)|0;d=0;break}else{d=c[523]|0;break}}else d=c[522]|0;while(0);i=e;return d|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=h+8|0;f=h+12|0;e=c[525]|0;c[525]=e+1;c[f>>2]=e;f=Dg(2044,f)|0;c[f>>2]=e;c[f+204>>2]=a;c[f+208>>2]=b;j=$(a<<2,b)|0;b=f+200|0;c[b>>2]=j;a=f+196|0;c[a>>2]=Uj(j)|0;j=Ae()|0;c[f+216>>2]=j;if(!j)Me(3,8285,h);Rf(e,d)|0;c[g>>2]=c[b>>2];Me(1,8322,g);Kb(2,c[f>>2]|0,c[a>>2]|0,c[b>>2]|0,f+264|0,264)|0;i=h;return c[f>>2]|0}function Bg(a){a=a|0;var b=0;a=i;i=i+16|0;b=a;Jg(8591,7);Kg(8597,3);Lg(8606,2);Lg(8617,3);Mg(8633,4);Kg(8651,4);Ng(8671,5);Jg(8683,8);Mg(8700,5);Jg(8720,9);Jg(8738,10);Mg(8760,6);Mg(8783,7);Kg(8812,6);Kg(8825,7);Jg(8838,11);Mg(8857,8);Mg(8867,9);Kg(8880,8);Kg(8893,9);Og(8912,10);Pg(8924,1);Qg(8936,1);Rg(8959,1);Qg(8982,2);Rg(9004,2);Sg(9026,1);Kg(9043,10);Sg(9060,2);Kg(9073,11);Sg(9086,3);Kg(9110,12);Tg(9134,3);Rg(9147,3);Sg(9160,4);Kg(9178,13);Sg(9196,5);Kg(9212,14);Sg(9228,6);Kg(9245,15);Ug(9262,2088);Ug(9291,2096);Ug(9319,2092);Cb(9352,680,0);Cb(9369,680,1);Cb(9385,680,0);Cb(9407,680,0);Cb(9432,680,1);Cb(9457,680,1);Cb(9482,680,100);Cb(9509,680,0);Cb(9535,680,1);Cb(9561,680,0);Cb(9588,680,0);Cb(9615,680,1);Cb(9641,680,2);Cb(9666,680,3);Cb(9704,680,4);Cb(9741,680,0);Cb(9775,680,0);Cb(9799,680,1);Cb(9825,680,2);Cb(9852,680,2);Cb(9886,680,5);h[b>>3]=.5;Vg(9904,b);Cb(9925,680,0);Cb(9944,680,1);Cb(9962,680,2);Cb(9980,680,3);Cb(9999,680,4);Cb(10021,680,3);Cb(10040,680,515);Cb(10069,680,259);Cb(10097,680,4);Cb(10116,680,772);Cb(10146,680,1028);Cb(10176,680,0);Cb(10207,680,1);Cb(10243,680,2);Cb(10277,680,3);Cb(10315,680,0);Cb(10348,680,1);Cb(10395,680,2);Cb(10437,680,3);Cb(10480,680,4);Cb(10532,680,5);Cb(10583,680,6);Cb(10628,680,7);Cb(10667,680,8);Cb(10712,680,9);i=a;return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Cg(a,b)|0;if(!d){wh(f,a,b);xh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;b=Cg(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];uh(a,d)|0;b=1}i=f;return b|0}function Fg(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=a+4|0;a=c[b>>2]|0;if((a|0)!=(d|0)){do a=a+-8|0;while((a|0)!=(d|0));c[b>>2]=a}Lh(d)}return}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;d=Hg(a,b)|0;if(!d){qh(f,a,b);rh(e,a,c[f>>2]|0);d=c[e>>2]|0;c[f>>2]=0}i=g;return d+16|0}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(h)e=g&d;else e=(d>>>0)%(f>>>0)|0;b=c[(c[a>>2]|0)+(e<<2)>>2]|0;if(b)do{b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if(h)a=a&g;else a=(a>>>0)%(f>>>0)|0;if((a|0)!=(e|0)){b=0;break a}}while((c[b+8>>2]|0)!=(d|0));else b=0}else b=0;while(0);return b|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j;g=a+4|0;d=c[a>>2]|0;f=((c[g>>2]|0)-d>>3)+1|0;if(f>>>0>536870911)Jh(a);e=d;d=(c[a+8>>2]|0)-e|0;if(d>>3>>>0<268435455){d=d>>2;d=d>>>0>>0?f:d}else d=536870911;nh(h,d,(c[g>>2]|0)-e>>3,a+8|0);g=h+8|0;f=c[g>>2]|0;d=b;e=c[d+4>>2]|0;b=f;c[b>>2]=c[d>>2];c[b+4>>2]=e;c[g>>2]=f+8;oh(a,h);ph(h);i=j;return}function Jg(a,b){a=a|0;b=b|0;Oa(a|0,4,2200,10911,1,b|0);return}function Kg(a,b){a=a|0;b=b|0;Oa(a|0,2,2192,10801,10,b|0);return}function Lg(a,b){a=a|0;b=b|0;Oa(a|0,3,2180,10906,12,b|0);return}function Mg(a,b){a=a|0;b=b|0;Oa(a|0,3,2168,10906,13,b|0);return}function Ng(a,b){a=a|0;b=b|0;Oa(a|0,2,2160,10801,11,b|0);return}function Og(a,b){a=a|0;b=b|0;Oa(a|0,2,2152,10797,7,b|0);return}function Pg(a,b){a=a|0;b=b|0;Oa(a|0,1,2148,10794,16,b|0);return}function Qg(a,b){a=a|0;b=b|0;Oa(a|0,3,2136,10789,1,b|0);return}function Rg(a,b){a=a|0;b=b|0;Oa(a|0,2,2128,10785,1,b|0);return}function Sg(a,b){a=a|0;b=b|0;Oa(a|0,3,2116,10780,1,b|0);return}function Tg(a,b){a=a|0;b=b|0;Oa(a|0,3,2104,10775,2,b|0);return}function Ug(a,b){a=a|0;b=b|0;Cb(a|0,680,c[b>>2]|0);return}function Vg(a,b){a=a|0;b=b|0;Cb(a|0,720,~~+h[b>>3]>>>0|0);return}function Wg(){c[511]=0;c[512]=0;c[513]=0;c[514]=0;g[515]=1.0;ub(11,2044,n|0)|0;c[516]=0;c[517]=0;c[518]=0;c[519]=0;g[520]=1.0;ub(12,2064,n|0)|0;Bg(0);return}function Xg(a){a=a|0;$g(a);return}function Yg(a){a=a|0;Zg(a);return}function Zg(a){a=a|0;var b=0;_g(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function _g(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Lh(a)}while((b|0)!=0);return}function $g(a){a=a|0;var b=0;ah(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b)Lh(b);return}function ah(a,b){a=a|0;b=b|0;if(b)do{a=b;b=c[b>>2]|0;Fg(a+264|0);Lh(a)}while((b|0)!=0);return}function bh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function ch(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b,c);return}function dh(a,b){a=a|0;b=b|0;return +(+Ub[a&3](b))}function eh(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b,c);return}function fh(a){a=a|0;return Vb[a&1]()|0}function gh(a,b){a=a|0;b=b|0;Wb[a&15](b);return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;i=i+16|0;d=c;ih(d,b);a=Yb[a&31](d)|0;bk(d);i=c;return a|0}function ih(a,b){a=a|0;b=b|0;ak(a,b+4|0,c[b>>2]|0);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b,c)|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;i=i+16|0;e=d;ih(e,c);a=cc[a&15](b,e)|0;bk(e);i=d;return a|0}function lh(a,b){a=a|0;b=b|0;return Yb[a&31](b)|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b,c,d)|0}function nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+12>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=Kh(b<<3)|0;c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[a+12>>2]=e+(b<<3);return}function oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;g=a+4|0;d=b+4|0;f=(c[g>>2]|0)-e|0;h=(c[d>>2]|0)+(0-(f>>3)<<3)|0;c[d>>2]=h;ik(h|0,e|0,f|0)|0;f=c[a>>2]|0;c[a>>2]=c[d>>2];c[d>>2]=f;f=b+8|0;e=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=e;f=a+8|0;a=b+12|0;e=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=e;c[b>>2]=c[d>>2];return}function ph(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=a+8|0;b=c[e>>2]|0;if((b|0)!=(d|0)){do b=b+-8|0;while((b|0)!=(d|0));c[e>>2]=b}b=c[a>>2]|0;if(b)Lh(b);return}function qh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(200)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,184)|0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function rh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;sh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return} -function zd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Dd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}else{b[e>>1]=0;a[l>>0]=0;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}else{b[o>>1]=0;a[l>>0]=0;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function Jd(a){a=a|0;return Kd(a+8|0)|0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=Uj(4)|0;if(!b){Me(3,5472,d);rb(1)}a=wf(a)|0;c[b>>2]=a;if(!a){Vj(b);b=0}i=d;return b|0}function Ld(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)b=-1;else{xf(b)|0;Vj(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function Md(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=Uj(7062432)|0;if(!b){Me(3,5472,d);rb(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;h[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=Uj($(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Me(3,5472,d+8|0);rb(1)}else{c[b+7062384>>2]=0;Nd(b,2)|0;Od(b,0)|0;c[b+7062388>>2]=-1;Pd(b,0)|0;c[b+7062392>>2]=7;c[b+7062396>>2]=0;i=d;return b|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g;a:do if(a){e=a+4|0;if((c[e>>2]|0)!=(b|0)){switch(b|0){case 11:case 10:case 9:case 8:case 7:case 6:case 4:case 3:case 2:case 1:case 0:{f=0;break}case 14:case 13:case 12:case 5:{f=1;break}default:{c[d>>2]=b;Me(3,3936,d);d=-1;break a}}c[e>>2]=b;c[a+8>>2]=Pe(b)|0;d=a+7062408|0;b=c[d>>2]|0;if(b){pe(b);c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[e>>2]|0,0)|0}d=a+24|0;b=c[d>>2]|0;if(!f)switch(b|0){case 1:{c[d>>2]=4;d=0;break a}case 4:{c[d>>2]=3;d=0;break a}default:{d=0;break a}}else switch(b|0){case 0:{c[d>>2]=1;d=0;break a}case 3:{c[d>>2]=4;d=0;break a}default:{d=0;break a}}}else d=0}else d=-1;while(0);i=g;return d|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;Vj(c[d>>2]|0);c[d>>2]=0;d=0;break}b=Uj($(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Me(3,5472,e);rb(1)}else d=0}else d=0;else d=-1;while(0);i=f;return d|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e){pe(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{c[d>>2]=oe(c[a+36>>2]|0,c[a+40>>2]|0,c[a+4>>2]|0,0)|0;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:{b=0;break}default:{Me(3,3985,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[760+(b<<2)>>2];Me(3,4059,h);b=0}else b=0}else b=0}else b=-1;i=j;return b|0}function Qd(a){a=a|0;var b=0,d=0;if(!a)b=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d){pe(d);c[b>>2]=0}Vj(c[a+4834144>>2]|0);Vj(c[a+4834148>>2]|0);Vj(a);b=0}return b|0}function Rd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function Sd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function Td(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ud(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Vd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Wd(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Xd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Yd(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Zd(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function _d(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function $d(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function ae(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function be(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){h[a+7062416>>3]=b;a=0}else a=-1;return a|0}function ce(a,b){a=a|0;b=b|0;if(!a)a=-1;else{h[b>>3]=+h[a+7062416>>3];a=0}return a|0}function de(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0.0,S=0.0;Q=i;i=i+80|0;M=Q+32|0;G=Q+24|0;z=Q;y=Q+52|0;D=Q+40|0;L=Q+64|0;P=a+44|0;c[P>>2]=0;J=a+7062388|0;f=c[J>>2]|0;a:do if((f|0)==4){I=a+7062396|0;e=c[I>>2]|0;do if((e|0)>0){f=4;e=e+-1|0}else{C=a+16|0;F=c[C>>2]|0;E=a+7062400|0;A=(c[E>>2]|0)+F|0;A=(A|0)>255?255:A;c[y>>2]=A;H=a+7062404|0;B=F-(c[H>>2]|0)|0;B=(B|0)<0?0:B;c[y+4>>2]=B;c[y+8>>2]=F;e=a+36|0;f=a+40|0;g=a+4|0;k=a+12|0;l=a+20|0;m=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+7062384|0;s=a+24|0;t=a+32|0;u=a+7062416|0;v=a+48|0;w=a+7062424|0;x=0;do{if((xe(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[a>>2]|0,c[k>>2]|0,c[y+(x<<2)>>2]|0,c[l>>2]|0,m,0)|0)<0){e=-1;break a}if((fe(c[e>>2]|0,c[f>>2]|0,m,c[l>>2]|0,1e6,70,1.0,p,q)|0)<0){e=-1;break a}if((je(b,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,p,c[q>>2]|0,c[r>>2]|0,c[l>>2]|0,c[s>>2]|0,(c[t>>2]|0)+184|0,+h[u>>3],v,P,c[w>>2]|0)|0)<0){e=-1;break a}c[D+(x<<2)>>2]=c[P>>2];x=x+1|0}while((x|0)<3);if((c[a>>2]|0)==1){N=c[D+4>>2]|0;g=c[D+8>>2]|0;f=c[D>>2]|0;c[z>>2]=B;c[z+4>>2]=N;c[z+8>>2]=F;c[z+12>>2]=g;c[z+16>>2]=A;c[z+20>>2]=f;Me(3,4153,z)}else{f=c[D>>2]|0;g=c[D+8>>2]|0}e=c[D+4>>2]|0;if((f|0)>(g|0)|(e|0)>(g|0)){f=(f|0)>=(e|0)?A:B;c[C>>2]=f;e=f-F|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[H>>2]=e;if((c[a>>2]|0)==1){c[G>>2]=f;Me(3,4229,G)}f=c[J>>2]|0;e=c[a+7062392>>2]|0;break}e=c[E>>2]|0;f=c[H>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[H>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+F|0)>254){c[E>>2]=1;e=1}if((F|0)<=(e|0))c[H>>2]=1;c[I>>2]=c[a+7062392>>2];N=47;break a}while(0);c[I>>2]=e;N=30}else N=30;while(0);b:do if((N|0)==30){c:do switch(f|0){case 3:{f=a+7062408|0;e=we(c[f>>2]|0,b,9,-7)|0;if((e|0)<0)break b;e=c[f>>2]|0;f=a+4834144|0;e=xe(c[e>>2]|0,c[e+8>>2]|0,c[e+12>>2]|0,5,c[a>>2]|0,c[a+12>>2]|0,0,0,f,c[e+4>>2]|0)|0;if((e|0)<0)break b;e=a+36|0;g=a+40|0;k=a+20|0;break}case 2:case 1:{g=a+7062396|0;e=c[g>>2]|0;if((e|0)>0){c[g>>2]=e+-1;N=44;break c}e=c[a+7062408>>2]|0;if((f|0)==1)e=ue(e,b,L)|0;else e=ve(e,b,L)|0;if((e|0)<0)break b;e=a+16|0;if((c[a>>2]|0)==1?(K=d[L>>0]|0,(c[e>>2]|0)!=(K|0)):0){c[M>>2]=(c[J>>2]|0)==1?4281:4288;c[M+4>>2]=K;Me(3,4293,M)}c[e>>2]=d[L>>0];c[g>>2]=c[a+7062392>>2];N=44;break}default:N=44}while(0);if((N|0)==44){e=a+36|0;g=a+40|0;k=a+20|0;f=a+4834144|0;if((xe(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[k>>2]|0,f,0)|0)<0){e=-1;break}}l=a+15416|0;m=a+15408|0;if((fe(c[e>>2]|0,c[g>>2]|0,f,c[k>>2]|0,1e6,70,1.0,l,m)|0)>=0?(je(b,c[e>>2]|0,c[g>>2]|0,c[a+4>>2]|0,l,c[m>>2]|0,c[a+7062384>>2]|0,c[k>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+h[a+7062416>>3],a+48|0,P,c[a+7062424>>2]|0)|0)>=0:0)N=47;else e=-1}while(0);d:do if((N|0)==47){t=a+28|0;if((c[t>>2]|0)==1){ee(a);e=0;break}u=a+4818296|0;r=a+24|0;q=c[u>>2]|0;if((q|0)>0){s=0;do{f=c[P>>2]|0;g=a+4818304+(s*264|0)+56|0;k=a+4818304+(s*264|0)+64|0;if((f|0)>0){o=+(c[a+4818304+(s*264|0)>>2]|0);e=-1;l=0;n=.5;while(1){j=+(c[a+48+(l<<8)>>2]|0);R=o/j;if(!(R<.7|R>1.43)?(R=+h[a+48+(l<<8)+56>>3]-+h[g>>3],O=+h[a+48+(l<<8)+64>>3]-+h[k>>3],O=(R*R+O*O)/j,O=(f|0)){p=e;break}else n=j}}else p=-1;e:do if((p|0)>-1){m=c[r>>2]|0;switch(m|0){case 2:case 1:case 0:break;case 4:case 3:{g=a+48+(p<<8)+40|0;j=+h[a+4818304+(s*264|0)+40>>3];if(!(+h[g>>3]>3]<+h[f>>3]))break e}else{f=a+4818304+(s*264|0)+48|0;e=a+48+(p<<8)+48|0}h[g>>3]=j;c[a+48+(p<<8)+8>>2]=c[a+4818304+(s*264|0)+8>>2];h[e>>3]=+h[f>>3];c[a+48+(p<<8)+12>>2]=c[a+4818304+(s*264|0)+12>>2];e=-1;n=1.0e8;g=0;while(1){j=0.0;f=0;do{b=(f+g|0)%4|0;o=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(o*o+R*R);f=f+1|0}while((f|0)!=4);f=j>2]=(b+(c[a+4818304+(s*264|0)+20>>2]|0)|0)%4|0;c[a+48+(p<<8)+24>>2]=(b+(c[a+4818304+(s*264|0)+24>>2]|0)|0)%4|0;break e}default:{e=-1;break d}}e=a+48+(p<<8)+32|0;o=+h[a+4818304+(s*264|0)+32>>3];if(+h[e>>3]>3]=o;l=c[a+4818304+(s*264|0)+4>>2]|0;c[a+48+(p<<8)+4>>2]=l;g=a+4818304+(s*264|0)+16|0;e=-1;n=1.0e8;k=0;while(1){j=0.0;f=0;do{b=(f+k|0)%4|0;S=+h[a+4818304+(s*264|0)+168+(f<<4)>>3]-+h[a+48+(p<<8)+168+(b<<4)>>3];R=+h[a+4818304+(s*264|0)+168+(f<<4)+8>>3]-+h[a+48+(p<<8)+168+(b<<4)+8>>3];j=j+(S*S+R*R);f=f+1|0}while((f|0)!=4);if(j>2]|0)|0)%4|0;else j=n;k=k+1|0;if((k|0)==4)break;else n=j}c[a+48+(p<<8)+16>>2]=e;if(m>>>0<2){c[a+48+(p<<8)+8>>2]=l;h[a+48+(p<<8)+40>>3]=o;c[a+48+(p<<8)+20>>2]=e;break}else{c[a+48+(p<<8)+12>>2]=l;h[a+48+(p<<8)+48>>3]=o;c[a+48+(p<<8)+24>>2]=e;break}}}while(0);s=s+1|0}while((s|0)<(q|0))}ee(a);if((c[u>>2]|0)>0){g=0;e=0;do{f=a+4818304+(g*264|0)|0;N=a+4818304+(g*264|0)+256|0;b=(c[N>>2]|0)+1|0;c[N>>2]=b;if((b|0)<4){if((g|0)!=(e|0))ik(a+4818304+(e*264|0)|0,f|0,264)|0;e=e+1|0}g=g+1|0}while((g|0)<(c[u>>2]|0))}else e=0;c[u>>2]=e;e=c[P>>2]|0;f:do if((e|0)>0){m=0;do{k=a+48+(m<<8)|0;g=c[a+48+(m<<8)+4>>2]|0;if((g|0)>=0){l=c[u>>2]|0;g:do if((l|0)>0){f=0;do{if((c[a+4818304+(f*264|0)+4>>2]|0)==(g|0))break g;f=f+1|0}while((f|0)<(l|0))}else f=0;while(0);if((f|0)==(l|0)){if((l|0)==60)break f;c[u>>2]=l+1}ik(a+4818304+(f*264|0)|0,k|0,256)|0;c[a+4818304+(f*264|0)+256>>2]=1}m=m+1|0;e=c[P>>2]|0}while((m|0)<(e|0))}while(0);if((c[t>>2]|0)!=2?(c[u>>2]|0)>0:0){l=0;while(1){g=a+4818304+(l*264|0)+56|0;k=a+4818304+(l*264|0)+64|0;h:do if((e|0)>0){n=+(c[a+4818304+(l*264|0)>>2]|0);f=0;do{j=+(c[a+48+(f<<8)>>2]|0);S=n/j;if(!(S<.7|S>1.43)?(R=+h[a+48+(f<<8)+56>>3]-+h[g>>3],S=+h[a+48+(f<<8)+64>>3]-+h[k>>3],(R*R+S*S)/j<.5):0)break h;f=f+1|0}while((f|0)<(e|0))}else f=0;while(0);if((f|0)==(e|0)){ik(a+48+(e<<8)|0,a+4818304+(l*264|0)|0,256)|0;e=(c[P>>2]|0)+1|0;c[P>>2]=e}l=l+1|0;if((l|0)>=(c[u>>2]|0)){e=0;break}}}else e=0}while(0);i=Q;return e|0}function ee(a){a=a|0;var b=0,d=0,e=0,f=0;switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+8>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}case 2:{d=c[a+44>>2]|0;if((d|0)>0){e=0;do{b=a+48+(e<<8)+4|0;if((c[b>>2]|0)>-1?+h[a+48+(e<<8)+32>>3]<.5:0){c[a+48+(e<<8)+12>>2]=-1;c[b>>2]=-1;c[a+48+(e<<8)+236>>2]=6}e=e+1|0}while((e|0)<(d|0))}break}default:{e=c[a+44>>2]|0;if((e|0)>0){f=0;do{b=a+48+(f<<8)+8|0;if((c[b>>2]|0)>-1?+h[a+48+(f<<8)+40>>3]<.5:0){c[b>>2]=-1;d=0}else d=1;b=a+48+(f<<8)+12|0;if(((c[b>>2]|0)>-1?+h[a+48+(f<<8)+48>>3]<.5:0)?(c[b>>2]=-1,(d|0)==0):0)c[a+48+(f<<8)+236>>2]=6;f=f+1|0}while((f|0)<(e|0))}}}return}function fe(a,b,d,e,f,g,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;k=k|0;l=l|0;var m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+96|0;F=L+56|0;H=L+48|0;G=L+8|0;I=L;K=(e|0)==1;if(K){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;g=(g|0)/4|0}c[l>>2]=0;C=d+8|0;D=a+-2|0;z=b+-2|0;A=d+1179664|0;a:do if((c[C>>2]|0)>0){B=0;while(1){w=d+12+(B<<2)|0;y=c[w>>2]|0;b:do if(((((!((y|0)<(g|0)|(y|0)>(f|0))?(E=d+131084+(B<<4)|0,(c[E>>2]|0)!=1):0)?(c[d+131084+(B<<4)+4>>2]|0)!=(D|0):0)?(c[d+131084+(B<<4)+8>>2]|0)!=1:0)?(c[d+131084+(B<<4)+12>>2]|0)!=(z|0):0)?(ge(c[d>>2]|0,a,0,A,B+1|0,E,k+((c[l>>2]|0)*80048|0)|0)|0)>=0:0){t=c[w>>2]|0;x=c[l>>2]|0;u=k+(x*80048|0)+28|0;b=c[u>>2]|0;v=k+(x*80048|0)+40028|0;n=c[v>>2]|0;y=k+(x*80048|0)+24|0;o=(c[y>>2]|0)+-1|0;if((o|0)>1){r=0;s=1;e=0;while(1){p=(c[k+(x*80048|0)+28+(s<<2)>>2]|0)-b|0;p=$(p,p)|0;q=(c[k+(x*80048|0)+40028+(s<<2)>>2]|0)-n|0;p=($(q,q)|0)+p|0;q=(p|0)>(r|0);e=q?s:e;s=s+1|0;if((s|0)>=(o|0))break;else r=q?p:r}}else e=0;m=+(t|0)/.75*.01*j;c[H>>2]=0;c[I>>2]=0;c:do if((he(u,v,0,e,m,F,H)|0)>=0?(he(u,v,e,(c[y>>2]|0)+-1|0,m,G,I)|0)>=0:0){b=c[H>>2]|0;n=c[I>>2]|0;do if((b|0)==1&(n|0)==1){b=c[G>>2]|0;n=c[F>>2]|0}else{if((b|0)>1&(n|0)==0){b=(e|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,0,b,m,F,H)|0)<0)break c;if((he(u,v,b,e,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=e;n=c[F>>2]|0;e=c[G>>2]|0;break}if(!((b|0)==0&(n|0)>1))break c;b=(e+-1+(c[y>>2]|0)|0)/2|0;c[I>>2]=0;c[H>>2]=0;if((he(u,v,e,b,m,F,H)|0)<0)break c;if((he(u,v,b,(c[y>>2]|0)+-1|0,m,G,I)|0)<0)break c;if(!((c[H>>2]|0)==1&(c[I>>2]|0)==1))break c;b=c[G>>2]|0;n=e;e=c[F>>2]|0}while(0);c[k+(x*80048|0)+80028>>2]=0;c[k+(x*80048|0)+80032>>2]=n;c[k+(x*80048|0)+80036>>2]=e;c[k+(x*80048|0)+80040>>2]=b;c[k+(x*80048|0)+80044>>2]=(c[y>>2]|0)+-1;c[k+((c[l>>2]|0)*80048|0)>>2]=c[w>>2];y=c[l>>2]|0;h[k+(y*80048|0)+8>>3]=+h[d+655376+(B<<4)>>3];h[k+(y*80048|0)+16>>3]=+h[d+655376+(B<<4)+8>>3];y=y+1|0;c[l>>2]=y;if((y|0)==60){e=60;break a}else break b}while(0)}while(0);B=B+1|0;if((B|0)>=(c[C>>2]|0)){J=4;break}}}else J=4;while(0);if((J|0)==4)e=c[l>>2]|0;if((e|0)>0){o=0;do{a=o;o=o+1|0;g=k+(a*80048|0)+16|0;n=k+(a*80048|0)|0;if((o|0)<(e|0)){j=+h[k+(a*80048|0)+8>>3];f=o;do{M=j-+h[k+(f*80048|0)+8>>3];m=+h[g>>3]-+h[k+(f*80048|0)+16>>3];m=M*M+m*m;e=c[n>>2]|0;a=k+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(m<+((e|0)/4|0|0))c[a>>2]=0}else if(m<+((b|0)/4|0|0))c[n>>2]=0;f=f+1|0;e=c[l>>2]|0}while((f|0)<(e|0))}}while((o|0)<(e|0))}if((e|0)>0){f=0;do{if(!(c[k+(f*80048|0)>>2]|0)){a=f+1|0;if((a|0)<(e|0)){e=f;b=a;while(1){ik(k+(e*80048|0)|0,k+(b*80048|0)|0,80048)|0;e=c[l>>2]|0;a=b+1|0;if((a|0)<(e|0)){e=b;b=a}else break}}e=e+-1|0;c[l>>2]=e}f=f+1|0}while((f|0)<(e|0))}if(K&(e|0)>0){b=0;while(1){c[k>>2]=c[k>>2]<<2;e=k+8|0;h[e>>3]=+h[e>>3]*2.0;e=k+16|0;h[e>>3]=+h[e>>3]*2.0;e=k+24|0;if((c[e>>2]|0)>0){a=0;do{K=k+28+(a<<2)|0;c[K>>2]=c[K>>2]<<1;K=k+40028+(a<<2)|0;c[K>>2]=c[K>>2]<<1;a=a+1|0}while((a|0)<(c[e>>2]|0))}b=b+1|0;if((b|0)>=(c[l>>2]|0))break;else k=k+80048|0}}i=L;return 0}function ge(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80032|0;p=w+16|0;o=w+8|0;l=w;u=w+40024|0;v=w+24|0;t=c[h+8>>2]|0;e=c[h>>2]|0;h=c[h+4>>2]|0;a:do if((e|0)<=(h|0)){k=e;e=a+(($(t,d)|0)+e<<1)|0;while(1){s=b[e>>1]|0;if(s<<16>>16>0?(c[f+((s<<16>>16)+-1<<2)>>2]|0)==(g|0):0){n=k;break}if((k|0)<(h|0)){k=k+1|0;e=e+2|0}else{x=6;break a}}q=j+24|0;c[q>>2]=1;r=j+28|0;c[r>>2]=n;s=j+40028|0;c[s>>2]=t;f=t;m=n;k=1;e=5;while(1){h=(e+5|0)%8|0;e=0;while(1){g=c[776+(h<<2)>>2]|0;l=c[808+(h<<2)>>2]|0;if((b[a+(l+m+($(g+f|0,d)|0)<<1)>>1]|0)>0){e=g;g=h;break}e=e+1|0;h=(h+1|0)%8|0;if((e|0)>=8){x=11;break}}if((x|0)==11){x=0;if((e|0)==8){x=13;break}l=c[808+(h<<2)>>2]|0;e=c[776+(h<<2)>>2]|0;g=h}c[j+28+(k<<2)>>2]=l+m;h=c[q>>2]|0;c[j+40028+(h<<2)>>2]=e+(c[j+40028+(h+-1<<2)>>2]|0);e=c[q>>2]|0;h=j+28+(e<<2)|0;if((c[h>>2]|0)==(n|0)?(c[j+40028+(e<<2)>>2]|0)==(t|0):0){f=e;x=16;break}k=e+1|0;c[q>>2]=k;if((k|0)==9999){x=19;break}f=c[j+40028+(e<<2)>>2]|0;m=c[h>>2]|0;e=g}if((x|0)==13){Me(3,4347,o);e=-1;break}else if((x|0)==16){if((f|0)>1){l=0;g=1;h=0;while(1){e=(c[j+28+(g<<2)>>2]|0)-n|0;e=$(e,e)|0;k=(c[j+40028+(g<<2)>>2]|0)-t|0;e=($(k,k)|0)+e|0;k=(e|0)>(l|0);h=k?g:h;g=g+1|0;if((g|0)>=(f|0))break;else l=k?e:l}}else h=0;if((h|0)>0){e=0;do{c[u+(e<<2)>>2]=c[j+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}if((h|0)<(f|0)){e=h;do{t=e-h|0;c[j+28+(t<<2)>>2]=c[j+28+(e<<2)>>2];c[j+40028+(t<<2)>>2]=c[j+40028+(e<<2)>>2];e=e+1|0}while((e|0)<(c[q>>2]|0))}if((h|0)>0){e=0;do{t=e-h|0;c[j+28+((c[q>>2]|0)+t<<2)>>2]=c[u+(e<<2)>>2];c[j+40028+((c[q>>2]|0)+t<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}c[j+28+(c[q>>2]<<2)>>2]=c[r>>2];c[j+40028+(c[q>>2]<<2)>>2]=c[s>>2];c[q>>2]=(c[q>>2]|0)+1;e=0;break}else if((x|0)==19){Me(3,4354,p);e=-1;break}}else x=6;while(0);if((x|0)==6){Me(3,4340,l);e=-1}i=w;return e|0}function he(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0;i=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;o=+(i-q|0);l=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(l-r|0);k=+(($(r,q)|0)-($(l,i)|0)|0);i=d+1|0;if((i|0)<(e|0)){j=0.0;l=i;do{s=k+(o*+(c[a+(l<<2)>>2]|0)+m*+(c[b+(l<<2)>>2]|0));s=s*s;r=s>j;j=r?s:j;i=r?l:i;l=l+1|0}while((l|0)<(e|0))}else j=0.0;if(j/(o*o+m*m)>f)if(((he(a,b,d,i,f,g,h)|0)>=0?(n=c[h>>2]|0,(n|0)<=5):0)?(c[g+(n<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(he(a,b,i,e,f,g,h)|0)>=0):0)p=7;else i=-1;else p=7;if((p|0)==7)i=0;return i|0}function ie(a,b,d,e,f,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+16|0;t=y+4|0;u=y;v=nf(2)|0;w=nf(2)|0;x=Re(2,2)|0;q=0;a:while(1){r=q;q=q+1|0;s=c[e+(q<<2)>>2]|0;l=c[e+(r<<2)>>2]|0;p=+(s+1-l|0)*.05+.5;l=~~(+(l|0)+p);s=~~(+(s|0)-p)-l|0;n=s+1|0;d=Re(n,2)|0;if((s|0)>-1){s=0;do{z=s+l|0;if((mf(f,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),t,u)|0)<0){l=10;break a}z=s<<1;A=c[d>>2]|0;h[A+(z<<3)>>3]=+g[t>>2];h[A+((z|1)<<3)>>3]=+g[u>>2];s=s+1|0}while((s|0)<(n|0))}if((Ye(d,x,v,w)|0)<0){l=10;break}A=c[x>>2]|0;o=+h[A+8>>3];h[j+(r*24|0)>>3]=o;p=-+h[A>>3];h[j+(r*24|0)+8>>3]=p;A=c[w>>2]|0;h[j+(r*24|0)+16>>3]=-(o*+h[A>>3]+ +h[A+8>>3]*p);We(d)|0;if((q|0)>=4){l=7;break}}b:do if((l|0)==7){We(x)|0;of(w)|0;of(v)|0;q=0;while(1){d=(q+3|0)%4|0;l=j+(d*24|0)|0;m=+h[j+(q*24|0)+8>>3];n=j+(q*24|0)|0;o=+h[j+(d*24|0)+8>>3];p=+h[l>>3]*m-+h[n>>3]*o;if(+O(+p)<.0001){d=-1;break b}A=j+(q*24|0)+16|0;z=j+(d*24|0)+16|0;h[k+(q<<4)>>3]=(o*+h[A>>3]-m*+h[z>>3])/p;h[k+(q<<4)+8>>3]=(+h[n>>3]*+h[z>>3]-+h[l>>3]*+h[A>>3])/p;q=q+1|0;if((q|0)>=4){d=0;break}}}else if((l|0)==10){We(d)|0;We(x)|0;of(w)|0;of(v)|0;d=-1}while(0);i=y;return d|0}function je(a,b,d,e,f,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;D=F+4|0;E=F;z=m>>>0<2;A=(m|0)==2;if((j|0)>0){C=0;s=0;do{c[p+(s<<8)>>2]=c[f+(C*80048|0)>>2];if((mf(n,+h[f+(C*80048|0)+8>>3],+h[f+(C*80048|0)+16>>3],D,E)|0)>=0?(h[p+(s<<8)+56>>3]=+g[D>>2],h[p+(s<<8)+64>>3]=+g[E>>2],B=p+(s<<8)+168|0,(ie(f+(C*80048|0)+28|0,f+(C*80048|0)+40028|0,c[f+(C*80048|0)+24>>2]|0,f+(C*80048|0)+80028|0,n,p+(s<<8)+72|0,B)|0)>=0):0){t=p+(s<<8)+8|0;u=p+(s<<8)+20|0;v=p+(s<<8)+40|0;w=p+(s<<8)+12|0;x=p+(s<<8)+24|0;y=p+(s<<8)+48|0;switch(De(k,l,m,a,b,d,e,n,B,o,t,u,v,w,x,y,r,p+(s<<8)+240|0,p+(s<<8)+248|0)|0){case 0:{c[p+(s<<8)+236>>2]=0;break}case -1:{c[p+(s<<8)+236>>2]=2;break}case -2:{c[p+(s<<8)+236>>2]=3;break}case -3:{c[p+(s<<8)+236>>2]=4;break}case -4:{c[p+(s<<8)+236>>2]=5;break}case -5:{c[p+(s<<8)+236>>2]=9;break}case -6:{c[p+(s<<8)+236>>2]=1;break}default:{}}if(!z){if(A){c[p+(s<<8)+4>>2]=c[w>>2];c[p+(s<<8)+16>>2]=c[x>>2];h[p+(s<<8)+32>>3]=+h[y>>3]}}else{c[p+(s<<8)+4>>2]=c[t>>2];c[p+(s<<8)+16>>2]=c[u>>2];h[p+(s<<8)+32>>3]=+h[v>>3]}s=s+1|0}C=C+1|0}while((C|0)<(j|0))}else s=0;c[q>>2]=s;i=F;return 0}function ke(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;k=i;i=i+288|0;m=k+200|0;l=k+104|0;f=k+264|0;j=k+8|0;g=k;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=d*-.5;h[l>>3]=n;d=d*.5;h[l+8>>3]=d;h[l+16>>3]=0.0;h[l+24>>3]=d;h[l+32>>3]=d;h[l+40>>3]=0.0;h[l+48>>3]=d;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=4;if((Ef(c[a>>2]|0,m,l,4,j)|0)<0)d=1.0e8;else{p=(zf(c[a>>2]|0,f,j,e,g)|0)<0;d=p?1.0e8:+h[g>>3]}i=k;return +d}function le(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;j=i;i=i+192|0;m=j+104|0;l=j+8|0;k=j+168|0;g=j;o=c[b+16>>2]|0;p=(4-o|0)%4|0;h[m>>3]=+h[b+168+(p<<4)>>3];h[m+8>>3]=+h[b+168+(p<<4)+8>>3];p=(5-o|0)%4|0;h[m+16>>3]=+h[b+168+(p<<4)>>3];h[m+24>>3]=+h[b+168+(p<<4)+8>>3];p=(6-o|0)%4|0;h[m+32>>3]=+h[b+168+(p<<4)>>3];h[m+40>>3]=+h[b+168+(p<<4)+8>>3];o=(7-o|0)%4|0;h[m+48>>3]=+h[b+168+(o<<4)>>3];h[m+56>>3]=+h[b+168+(o<<4)+8>>3];n=e*-.5;h[l>>3]=n;e=e*.5;h[l+8>>3]=e;h[l+16>>3]=0.0;h[l+24>>3]=e;h[l+32>>3]=e;h[l+40>>3]=0.0;h[l+48>>3]=e;h[l+56>>3]=n;h[l+64>>3]=0.0;h[l+72>>3]=n;h[l+80>>3]=n;h[l+88>>3]=0.0;c[k>>2]=m;c[k+4>>2]=l;c[k+8>>2]=4;b=(zf(c[a>>2]|0,k,d,f,g)|0)<0;i=j;return +(b?1.0e8:+h[g>>3])}function me(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((zf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function ne(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;n=p;j=Uj(f<<4)|0;c[m>>2]=j;if(!j){Me(3,5472,p+8|0);rb(1)}k=Uj(f*24|0)|0;l=m+4|0;c[l>>2]=k;if(!k){Me(3,5472,p+16|0);rb(1)}if((f|0)>0){o=0;do{h[j+(o<<4)>>3]=+h[d+(o<<4)>>3];h[j+(o<<4)+8>>3]=+h[d+(o<<4)+8>>3];h[k+(o*24|0)>>3]=+h[e+(o*24|0)>>3];h[k+(o*24|0)+8>>3]=+h[e+(o*24|0)+8>>3];h[k+(o*24|0)+16>>3]=+h[e+(o*24|0)+16>>3];o=o+1|0}while((o|0)<(f|0))}c[m+8>>2]=f;if((Bf(c[a>>2]|0,m,b,g,n)|0)<0)h[n>>3]=1.0e8;Vj(c[m>>2]|0);Vj(c[l>>2]|0);i=p;return +(+h[n>>3])}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Uj(2080)|0;a:do if(f){c[f+2068>>2]=d;b:do if(!e){switch(d|0){case 5:case 12:case 13:case 14:break;default:{g=4;break b}}c[f+2076>>2]=0}else g=4;while(0);do if((g|0)==4){g=Uj($(b,a)|0)|0;c[f>>2]=g;if(!g){Vj(f);f=0;break a}else{c[f+2076>>2]=1;break}}while(0);c[f+2072>>2]=e;c[f+4>>2]=0;c[f+8>>2]=a;c[f+12>>2]=b}while(0);return f|0}function pe(a){a=a|0;if(a){if(c[a+2076>>2]|0)Vj(c[a>>2]|0);Vj(c[a+4>>2]|0);Vj(a)}return}function qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+16|0;g=k;f=c[b+2068>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:if(!(c[b+2072>>2]|0)){c[b>>2]=e;f=0;break a}else{ik(c[b>>2]|0,e|0,$(c[b+12>>2]|0,c[b+8>>2]|0)|0)|0;f=0;break a}default:{if((f&-2|0)==2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j|2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if((f&-3|0)==4){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j|2)>>0]|0)+(d[e+(j|1)>>0]|0)+(d[e+(j|3)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+4|0}}if(f>>>0<2){f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=(((d[e+(j+1)>>0]|0)+(d[e+j>>0]|0)+(d[e+(j+2)>>0]|0)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break a}else j=j+3|0}}switch(f|0){case 8:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+j>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 7:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){a[(c[b>>2]|0)+h>>0]=a[e+(j|1)>>0]|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 9:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;l=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&248)+10+(m<<5&224)+(l>>>3&28)+(l<<3&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 10:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){l=d[e+j>>0]|0;m=d[e+(j|1)>>0]|0;a[(c[b>>2]|0)+h>>0]=(((l&248)+12+(l<<5&224)+(m>>>3&24)+(m<<2&248)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}case 11:{f=b+8|0;g=b+12|0;if(!($(c[g>>2]|0,c[f>>2]|0)|0)){f=0;break a}else{h=0;j=0}while(1){m=d[e+j>>0]|0;a[(c[b>>2]|0)+h>>0]=(((m&240)+24+(m<<4&240)+((d[e+(j|1)>>0]|0)&240)|0)>>>0)/3|0;h=h+1|0;if(h>>>0>=($(c[g>>2]|0,c[f>>2]|0)|0)>>>0){f=0;break}else j=j+2|0}break}default:{Me(3,4361,g);f=-1;break a}}}}while(0);i=k;return f|0}function re(a,b){a=a|0;b=b|0;var e=0,f=0;if((a|0)!=0&(b|0)!=0?(qe(a,b)|0)>=0:0){ek(a+16|0,0,1024)|0;b=c[a>>2]|0;f=$(c[a+12>>2]|0,c[a+8>>2]|0)|0;e=b+f|0;if((f|0)>0){do{f=a+16+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}while(b>>>0>>0);b=0}else b=0}else b=-1;return b|0}function se(a,b){a=a|0;b=b|0;var d=0;b=re(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+16+(d<<2)>>2]|0)+b|0;c[a+1040+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function te(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0;if(!(e<0.0|e>1.0)){d=se(b,d)|0;if((d|0)>=0){i=~~(+($(c[b+12>>2]|0,c[b+8>>2]|0)|0)*e)>>>0;d=0;while(1){h=d&255;g=c[b+1040+(h<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}if((g|0)==(i|0))do d=d+1<<24>>24;while((c[b+1040+((d&255)<<2)>>2]|0)==(i|0));a[f>>0]=((d&255)+h|0)>>>1;d=0}}else d=-1;return d|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;return te(a,b,.5,c)|0}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0;d=re(b,d)|0;if((d|0)>=0){d=1;f=0.0;do{f=f+ +(($(c[b+16+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+($(c[b+12>>2]|0,c[b+8>>2]|0)|0);l=0;h=0.0;d=0;j=0.0;m=0.0;while(1){g=c[b+16+(l<<2)>>2]|0;m=m+ +(g>>>0);if(m!=0.0){i=k-m;if(i==0.0)break;h=h+ +(($(l,g)|0)>>>0);n=h/m-(f-h)/i;i=n*(m*i*n);if(i>j)d=l&255;else i=j}else i=j;if((l&255)<<24>>24==-1)break;else{l=l+1|0;j=i}}a[e>>0]=d;d=0}return d|0}function we(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=re(b,e)|0;do if((e|0)>=0){t=b+4|0;if(!(c[t>>2]|0)){e=b+8|0;h=b+12|0;s=Uj($(c[h>>2]|0,c[e>>2]|0)|0)|0;c[t>>2]=s;if(!s){e=-1;break}else s=e}else{s=b+8|0;h=b+12|0}q=f>>1;r=0-q|0;e=c[h>>2]|0;if((e|0)>0){n=(q|0)<(r|0);o=(q|0)<(r|0);p=0;do{e=c[s>>2]|0;if((e|0)>0){m=0;do{if(n){i=0;f=0}else{i=0;l=r;f=0;while(1){j=l+p|0;if(((j|0)>=0?(j|0)<(c[h>>2]|0):0)?(u=$(e,j)|0,!o):0){k=r;while(1){j=k+m|0;if((j|0)>-1&(j|0)<(e|0)){i=i+1|0;f=(d[(c[b>>2]|0)+(u+j)>>0]|0)+f|0}if((k|0)<(q|0))k=k+1|0;else break}}if((l|0)<(q|0))l=l+1|0;else break}}l=($(e,p)|0)+m|0;a[(c[t>>2]|0)+l>>0]=(f|0)/(i|0)|0;m=m+1|0;e=c[s>>2]|0}while((m|0)<(e|0))}p=p+1|0;e=c[h>>2]|0}while((p|0)<(e|0))}if((g|0)!=0?($(e,c[s>>2]|0)|0)>0:0){e=0;do{b=(c[t>>2]|0)+e|0;a[b>>0]=(d[b>>0]|0)+g;e=e+1|0}while((e|0)<($(c[h>>2]|0,c[s>>2]|0)|0));e=0}else e=0}while(0);return e|0}function xe(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;a:do switch(e|0){case 0:{switch(f|0){case 1:{if(j){k=Fc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=wc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=yc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Bc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Cc(a,b,c,g,i)|0;break a}case 8:{k=Ec(a,b,c,g,i)|0;break a}case 7:{k=Dc(a,b,c,g,i)|0;break a}case 9:{k=xc(a,b,c,g,i)|0;break a}case 10:{k=Ac(a,b,c,g,i)|0;break a}case 11:{k=zc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=nc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=pc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=sc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=tc(a,b,c,g,i)|0;break a}case 8:{k=vc(a,b,c,g,i)|0;break a}case 7:{k=uc(a,b,c,g,i)|0;break a}case 9:{k=oc(a,b,c,g,i)|0;break a}case 10:{k=rc(a,b,c,g,i)|0;break a}case 11:{k=qc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Yc(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=Pc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Rc(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Uc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Vc(a,b,c,g,i)|0;break a}case 8:{k=Xc(a,b,c,g,i)|0;break a}case 7:{k=Wc(a,b,c,g,i)|0;break a}case 9:{k=Qc(a,b,c,g,i)|0;break a}case 10:{k=Tc(a,b,c,g,i)|0;break a}case 11:{k=Sc(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Gc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Ic(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Lc(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Mc(a,b,c,g,i)|0;break a}case 8:{k=Oc(a,b,c,g,i)|0;break a}case 7:{k=Nc(a,b,c,g,i)|0;break a}case 9:{k=Hc(a,b,c,g,i)|0;break a}case 10:{k=Kc(a,b,c,g,i)|0;break a}case 11:{k=Jc(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}case 1:{switch(f|0){case 1:{if(j){k=pd(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=gd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=id(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=ld(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=md(a,b,c,g,i)|0;break a}case 8:{k=od(a,b,c,g,i)|0;break a}case 7:{k=nd(a,b,c,g,i)|0;break a}case 9:{k=hd(a,b,c,g,i)|0;break a}case 10:{k=kd(a,b,c,g,i)|0;break a}case 11:{k=jd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=Zc(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=$c(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=cd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=dd(a,b,c,g,i)|0;break a}case 8:{k=fd(a,b,c,g,i)|0;break a}case 7:{k=ed(a,b,c,g,i)|0;break a}case 9:{k=_c(a,b,c,g,i)|0;break a}case 10:{k=bd(a,b,c,g,i)|0;break a}case 11:{k=ad(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}case 0:{if(j){k=Id(a,b,c,j,i)|0;break a}switch(h|0){case 0:{if(d>>>0<2){k=zd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=Bd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=Ed(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=Fd(a,b,c,g,i)|0;break a}case 8:{k=Hd(a,b,c,g,i)|0;break a}case 7:{k=Gd(a,b,c,g,i)|0;break a}case 9:{k=Ad(a,b,c,g,i)|0;break a}case 10:{k=Dd(a,b,c,g,i)|0;break a}case 11:{k=Cd(a,b,c,g,i)|0;break a}default:rb(0)}break}case 1:{if(d>>>0<2){k=qd(a,b,c,g,i)|0;break a}if((d&-2|0)==2){k=sd(a,b,c,g,i)|0;break a}if((d&-3|0)==4){k=vd(a,b,c,g,i)|0;break a}switch(d|0){case 5:case 12:case 13:case 14:{k=wd(a,b,c,g,i)|0;break a}case 8:{k=yd(a,b,c,g,i)|0;break a}case 7:{k=xd(a,b,c,g,i)|0;break a}case 9:{k=rd(a,b,c,g,i)|0;break a}case 10:{k=ud(a,b,c,g,i)|0;break a}case 11:{k=td(a,b,c,g,i)|0;break a}default:rb(0)}break}default:rb(0)}break}default:rb(0)}break}default:rb(0)}while(0);return k|0}function ye(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;d=0}else d=-1;return d|0}function ze(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;b=0}else b=-1;return b|0}function Ae(){return Be(16,50)|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+56|0;p=r+48|0;j=r+40|0;h=r+32|0;g=r+24|0;f=r+16|0;e=r+8|0;d=r;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){n=Uj(32)|0;if(!n){Me(3,5472,d);rb(1)}c[n>>2]=0;c[n+4>>2]=b;c[n+28>>2]=a;m=Uj(b<<2)|0;c[n+8>>2]=m;if(!m){Me(3,5472,e);rb(1)}d=b<<4;l=Uj(d)|0;c[n+12>>2]=l;if(!l){Me(3,5472,f);rb(1)}f=Uj(d)|0;k=n+20|0;c[k>>2]=f;if(!f){Me(3,5472,g);rb(1)}d=b<<5;g=Uj(d)|0;c[n+16>>2]=g;if(!g){Me(3,5472,h);rb(1)}h=Uj(d)|0;c[n+24>>2]=h;if(!h){Me(3,5472,j);rb(1)}e=$(a,a)|0;d=e*12|0;e=e<<2;if((b|0)>0){a=0;b:while(1){c[m+(a<<2)>>2]=0;f=a<<2;h=0;while(1){if((h|0)>=4)break;j=Uj(d)|0;g=h+f|0;c[l+(g<<2)>>2]=j;if(!j){d=18;break b}j=Uj(e)|0;c[(c[k>>2]|0)+(g<<2)>>2]=j;if(!j){d=20;break b}else h=h+1|0}a=a+1|0;if((a|0)>=(b|0)){o=n;break a}}if((d|0)==18){Me(3,5472,p);rb(1)}else if((d|0)==20){Me(3,5472,q);rb(1)}}else o=n}else o=0;while(0);i=r;return o|0}function Ce(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)b=-1;else{b=a+4|0;d=a+8|0;e=a+12|0;f=a+20|0;if((c[b>>2]|0)>0){g=0;do{if(c[(c[d>>2]|0)+(g<<2)>>2]|0)Le(a,g)|0;h=g<<2;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);i=1+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);i=2+h|0;Vj(c[(c[e>>2]|0)+(i<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(i<<2)>>2]|0);h=3+h|0;Vj(c[(c[e>>2]|0)+(h<<2)>>2]|0);Vj(c[(c[f>>2]|0)+(h<<2)>>2]|0);g=g+1|0}while((g|0)<(c[b>>2]|0))}Vj(a);b=0}return b|0}function De(b,e,f,g,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=+o;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;var y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+12448|0;A=L+12440|0;z=L+8|0;J=L;I=L+12312|0;K=L+24|0;do if((f+-2|0)>>>0<3){if((v|0)!=2830){y=v&255;if((Ee(e,2,y,y*3|0,g,j,k,l,m,n,o,K)|0)<0){c[s>>2]=-1;y=-6;break}y=Fe(K,y,s,t,u,v,w)|0;if(!x)break;c[x>>2]=0;c[x+4>>2]=0;break}if((Ee(e,2,14,42,g,j,k,l,m,n,.875,K)|0)<0){c[s>>2]=-1;y=-6;break}c[z>>2]=0;c[z+4>>2]=182;c[z+8>>2]=195;c[z+12>>2]=13;v=a[K+(c[z>>2]|0)>>0]|0;y=(v&255)>0?v:0;v=(v&255)<255?v:-1;H=a[K+(c[z+4>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+8>>2]|0)>>0]|0;y=(H&255)>(y&255)?H:y;v=(H&255)<(v&255)?H:v;H=a[K+(c[z+12>>2]|0)>>0]|0;y=((H&255)>(y&255)?H:y)&255;v=((H&255)<(v&255)?H:v)&255;a:do if((y-v|0)>=30){H=(y+v|0)>>>1;a[A>>0]=(d[K+(c[z>>2]|0)>>0]|0)>>>0>>0&1;a[A+1>>0]=(d[K+(c[z+4>>2]|0)>>0]|0)>>>0>>0&1;a[A+2>>0]=(d[K+(c[z+8>>2]|0)>>0]|0)>>>0>>0&1;a[A+3>>0]=(d[K+(c[z+12>>2]|0)>>0]|0)>>>0>>0&1;v=0;while(1){y=v+1|0;if(((a[A+v>>0]|0)==1?(a[A+((y|0)%4|0)>>0]|0)==1:0)?(a[A+((v+2|0)%4|0)>>0]|0)==0:0){G=v;break}if((y|0)<4)v=y;else{G=y;break}}switch(G|0){case 4:{c[t>>2]=0;h[u>>3]=-1.0;y=-3;v=0;z=0;break a}case 0:{z=119;y=255;v=0;do{D=v+-3|0;B=(v&-2|0)==12;C=v*14|0;A=0;do{if(((A+-3|D)>>>0>=8?(F=A&-2,(A|v)>>>0>=2):0)?!(B&((F|0)==0|(F|0)==12)):0){E=(d[K+(A+C)>>0]|0)-H|0;a[I+z>>0]=E>>>31;E=(E|0)>-1?E:0-E|0;z=z+-1|0;y=(E|0)<(y|0)?E:y}A=A+1|0}while((A|0)!=14);v=v+1|0}while((v|0)!=14);break}case 1:{z=119;y=255;v=0;do{D=v+-3|0;C=v&-2;B=(C|0)==0;C=(C|0)==12;A=13;while(1){if(((A+-3|D)>>>0>=8?(E=(A&-2|0)==12,!(B&E)):0)?!(C&(A>>>0<2|E)):0){F=(d[K+((A*14|0)+v)>>0]|0)-H|0;a[I+z>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;z=z+-1|0;y=(F|0)<(y|0)?F:y}if((A|0)>0)A=A+-1|0;else break}v=v+1|0}while((v|0)!=14);break}case 2:{v=119;y=255;D=13;while(1){B=D+-3|0;C=D>>>0<2|(D&-2|0)==12;A=D*14|0;z=13;while(1){if((z+-3|B)>>>0>=8?!((z|D)>>>0<2|C&(z&-2|0)==12):0){F=(d[K+(z+A)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}if((z|0)>0)z=z+-1|0;else break}if((D|0)>0)D=D+-1|0;else break}break}case 3:{v=119;y=255;D=13;while(1){C=D+-3|0;B=D&-2;A=(B|0)==12;B=(B|0)==0;z=0;do{if(((z+-3|C)>>>0>=8?!(A&z>>>0<2|(z|D)>>>0<2):0)?!(B&(z&-2|0)==12):0){F=(d[K+((z*14|0)+D)>>0]|0)-H|0;a[I+v>>0]=F>>>31;F=(F|0)>-1?F:0-F|0;v=v+-1|0;y=(F|0)<(y|0)?F:y}z=z+1|0}while((z|0)!=14);if((D|0)>0)D=D+-1|0;else break}break}default:y=255}c[t>>2]=G;h[u>>3]=(y|0)>30?1.0:+(y|0)/30.0;y=Ie(2830,0,0,I,J)|0;if((y|0)<0){y=-4;v=0;z=0}else{if(w)c[w>>2]=y;z=J;y=0;v=c[z>>2]|0;z=c[z+4>>2]|0}}else{c[t>>2]=0;h[u>>3]=-1.0;y=-2;v=0;z=0}while(0);if((y|0)<0){c[s>>2]=-1;break}if((v|0)==-1&(z|0)==-1){c[s>>2]=-1;y=-5;break}c[s>>2]=(v&-32768|0)==0&0==0?v&32767:0;if(!x)y=0;else{y=x;c[y>>2]=v;c[y+4>>2]=z;y=0}}else y=1;while(0);b:do switch(f|0){case 0:case 1:case 3:case 4:{if(!b){c[p>>2]=-1;v=-1;break b}v=b+28|0;z=c[v>>2]|0;A=z<<2;switch(f|0){case 0:case 3:if((Ee(e,0,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,0,K,c[v>>2]|0,p,q,r)|0;break b}default:if((Ee(e,1,z,A,g,j,k,l,m,n,o,K)|0)<0){c[p>>2]=-1;v=-6;break b}else{v=Ge(b,1,K,c[v>>2]|0,p,q,r)|0;break b}}}default:v=1}while(0);if((y|0)!=1){if((v|0)!=1)y=(v&y|0)<0?v:0}else y=v;i=L;return y|0} -function _j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;b=k+8|0;h=k+4|0;d=k;c[h>>2]=a;do if(a>>>0>=212){g=(a>>>0)/210|0;e=g*210|0;c[d>>2]=a-e;b=($j(3712,3904,d,b)|0)-3712>>2;f=b;b=(c[3712+(b<<2)>>2]|0)+e|0;a:while(1){e=5;while(1){if(e>>>0>=47){e=211;j=8;break}d=c[3520+(e<<2)>>2]|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=106;break a}if((b|0)==($(a,d)|0))break;else e=e+1|0}b:do if((j|0)==8)while(1){j=0;d=(b>>>0)/(e>>>0)|0;if(d>>>0>>0){j=105;break a}if((b|0)==($(d,e)|0))break b;d=e+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break b;d=e+208|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){j=105;break a}if((b|0)==($(a,d)|0))break;else{e=e+210|0;j=8}}while(0);e=f+1|0;b=(e|0)==48;e=b?0:e;b=(b&1)+g|0;f=e;g=b;b=(c[3712+(e<<2)>>2]|0)+(b*210|0)|0}if((j|0)==105){c[h>>2]=b;break}else if((j|0)==106){c[h>>2]=b;break}}else b=c[($j(3520,3712,h,b)|0)>>2]|0;while(0);i=k;return b|0}function $j(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a;d=b-a>>2;a:while(1){while(1){if(!d)break a;a=(d|0)/2|0;if((c[e+(a<<2)>>2]|0)>>>0>>0)break;else d=a}e=e+(a+1<<2)|0;d=d+-1-a|0}return e|0}function ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(e>>>0>4294967279)oi(b);if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0}else{g=e+16&-16;f=Kh(g)|0;c[b+8>>2]=f;c[b>>2]=g|1;c[b+4>>2]=e;b=f}ik(b|0,d|0,e|0)|0;a[b+e>>0]=0;return}function bk(b){b=b|0;if(a[b>>0]&1)Lh(c[b+8>>2]|0);return}function ck(){}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function fk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>0;return (D=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<>>c-32|0}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Xa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function jk(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function kk(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=$(e,f)|0;d=a>>>16;a=(c>>>16)+($(e,d)|0)|0;e=b>>>16;b=$(e,f)|0;return (D=(a>>>16)+($(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=dk(j^a,i^b,j,i)|0;g=D;a=f^j;b=e^i;return dk((rk(h,g,dk(f^c,e^d,f,e)|0,D,0)|0)^a,D^b,a,b)|0}function nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=dk(h^a,g^b,h,g)|0;b=D;rk(a,b,dk(l^d,k^e,l,k)|0,D,j)|0;e=dk(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=D;i=f;return (D=d,e)|0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=lk(e,f)|0;a=D;return (D=($(b,f)|0)+($(d,e)|0)+a|a&0,c|0|0)|0}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return rk(a,b,c,d,0)|0}function qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;rk(a,b,d,e,f)|0;i=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function rk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h){i=(ba(h|0)|0)+33-(ba(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=kk(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((kk(i|0)|0)>>>0);return (D=o,p)|0}g=(ba(i|0)|0)-(ba(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gk(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;dk(k,d,e,n)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=dk(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qb[a&15](b|0,c|0,d|0)|0}function tk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Rb[a&3](b|0,c|0,d|0,e|0,f|0)}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return +Sb[a&1](b|0,c|0)}function vk(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function wk(a,b){a=a|0;b=b|0;return +Ub[a&3](b|0)}function xk(a){a=a|0;return Vb[a&1]()|0}function yk(a,b){a=a|0;b=b|0;Wb[a&15](b|0)}function zk(a,b,c){a=a|0;b=b|0;c=c|0;Xb[a&7](b|0,c|0)}function Ak(a,b){a=a|0;b=b|0;return Yb[a&31](b|0)|0}function Bk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Zb[a&1](b|0,c|0,d|0)}function Ck(a){a=a|0;_b[a&0]()}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;$b[a&3](b|0,c|0,+d)}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ac[a&1](b|0,c|0,d|0,e|0)|0}function Fk(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;bc[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;return cc[a&15](b|0,c|0)|0}function Hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;dc[a&3](b|0,c|0,d|0,e|0)}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}function Jk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}function Kk(a,b){a=a|0;b=b|0;ca(2);return 0.0}function Lk(a,b){a=a|0;b=+b;ca(3)}function Mk(a){a=a|0;ca(4);return 0.0}function Nk(){ca(5);return 0}function Ok(a){a=a|0;ca(6)}function Pk(a,b){a=a|0;b=b|0;ca(7)}function Qk(a){a=a|0;ca(8);return 0}function Rk(a,b,c){a=a|0;b=b|0;c=c|0;ca(9)}function Sk(){ca(10)}function Tk(a,b,c){a=a|0;b=b|0;c=+c;ca(11)}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(12);return 0}function Vk(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(13)}function Wk(a,b){a=a|0;b=b|0;ca(14);return 0}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(15)} - -// EMSCRIPTEN_END_FUNCS -var Qb=[Ik,Zh,_h,Qj,Qi,Pi,Ri,Ag,sg,qg,rg,yg,kh,jh,Oi,Mj];var Rb=[Jk,ki,ji,gi];var Sb=[Kk,dh];var Tb=[Lk,Wf,Yf,ag];var Ub=[Mk,Xf,Zf,bg];var Vb=[Nk,Nf];var Wb=[Ok,Mh,Nh,Sh,Vh,Th,Uh,Wh,Xh,Yh,Mf,Xg,Yg,Ij,Jj,Ok];var Xb=[Pk,ig,gg,_f,cg,eg,ng,gh];var Yb=[Qk,Oh,Ni,Pf,Vf,Qf,wg,xg,mg,lg,jg,hg,$f,dg,fg,og,fh,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk,Qk];var Zb=[Rk,ch];var _b=[Sk];var $b=[Tk,eh,bh,Tk];var ac=[Uk,mh];var bc=[Vk,ni,mi,li];var cc=[Wk,Df,Sf,Tf,Uf,tg,vg,ug,zg,kg,lh,hh,Wk,Wk,Wk,Wk];var dc=[Xk,ai,bi,di];return{_i64Subtract:dk,_fflush:Yi,_i64Add:gk,_memset:ek,_malloc:Uj,_memcpy:ik,___getTypeName:Ah,_bitshift64Lshr:hk,_free:Vj,___errno_location:qi,_bitshift64Shl:fk,__GLOBAL__sub_I_ARToolKitJS_cpp:Wg,__GLOBAL__sub_I_bind_cpp:Ch,runPostSets:ck,stackAlloc:ec,stackSave:fc,stackRestore:gc,establishStackSpace:hc,setThrew:ic,setTempRet0:lc,getTempRet0:mc,dynCall_iiii:sk,dynCall_viiiii:tk,dynCall_dii:uk,dynCall_vid:vk,dynCall_di:wk,dynCall_i:xk,dynCall_vi:yk,dynCall_vii:zk,dynCall_ii:Ak,dynCall_viii:Bk,dynCall_v:Ck,dynCall_viid:Dk,dynCall_iiiii:Ek,dynCall_viiiiii:Fk,dynCall_iii:Gk,dynCall_viiii:Hk}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var _fflush=Module["_fflush"]=asm["_fflush"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memset=Module["_memset"]=asm["_memset"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _free=Module["_free"]=asm["_free"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() diff --git a/three.js/vendor/jsartoolkit5/js/artoolkit.api.js b/three.js/vendor/jsartoolkit5/js/artoolkit.api.js deleted file mode 100644 index cd2495af..00000000 --- a/three.js/vendor/jsartoolkit5/js/artoolkit.api.js +++ /dev/null @@ -1,1632 +0,0 @@ -;(function() { - 'use strict' - - /** - The ARController is the main object for doing AR marker detection with JSARToolKit. - - To use an ARController, you need to tell it the dimensions to use for the AR processing canvas and - pass it an ARCameraParam to define the camera parameters to use when processing images. - The ARCameraParam defines the lens distortion and aspect ratio of the camera used. - See https://www.artoolworks.com/support/library/Calibrating_your_camera for more information about AR camera parameteters and how to make and use them. - - If you pass an image as the first argument, the ARController uses that as the image to process, - using the dimensions of the image as AR processing canvas width and height. If the first argument - to ARController is an image, the second argument is used as the camera param. - - The camera parameters argument can be either an ARCameraParam or an URL to a camera definition file. - If the camera argument is an URL, it is loaded into a new ARCameraParam, and the ARController dispatches - a 'load' event and calls the onload method if it is defined. - - @exports ARController - @constructor - - @param {number} width The width of the images to process. - @param {number} height The height of the images to process. - @param {ARCameraParam | string} camera The ARCameraParam to use for image processing. If this is a string, the ARController treats it as an URL and tries to load it as a ARCameraParam definition file, calling ARController#onload on success. - */ - var ARController = function(width, height, camera) { - var id; - var w = width, h = height; - - this.orientation = 'landscape'; - - this.listeners = {}; - - if (typeof width !== 'number') { - var image = width; - camera = height; - w = image.videoWidth || image.width; - h = image.videoHeight || image.height; - this.image = image; - } - - this.defaultMarkerWidth = 1; - this.patternMarkers = {}; - this.barcodeMarkers = {}; - this.transform_mat = new Float32Array(16); - - this.canvas = document.createElement('canvas'); - this.canvas.width = w; - this.canvas.height = h; - this.ctx = this.canvas.getContext('2d'); - - this.videoWidth = w; - this.videoHeight = h; - - if (typeof camera === 'string') { - - var self = this; - this.cameraParam = new ARCameraParam(camera, function() { - self._initialize(); - }, function(err) { - console.error("ARController: Failed to load ARCameraParam", err); - }); - - } else { - - this.cameraParam = camera; - this._initialize(); - - } - }; - - /** - Destroys the ARController instance and frees all associated resources. - After calling dispose, the ARController can't be used any longer. Make a new one if you need one. - - Calling this avoids leaking Emscripten memory, which may be important if you're using multiple ARControllers. - */ - ARController.prototype.dispose = function() { - artoolkit.teardown(this.id); - - for (var t in this) { - this[t] = null; - } - }; - - /** - Detects markers in the given image. The process method dispatches marker detection events during its run. - - The marker detection process proceeds by first dispatching a markerNum event that tells you how many - markers were found in the image. Next, a getMarker event is dispatched for each found marker square. - Finally, getMultiMarker is dispatched for every found multimarker, followed by getMultiMarkerSub events - dispatched for each of the markers in the multimarker. - - arController.addEventListener('markerNum', function(ev) { - console.log("Detected " + ev.data + " markers.") - }); - arController.addEventListener('getMarker', function(ev) { - console.log("Detected marker with ids:", ev.data.marker.id, ev.data.marker.idPatt, ev.data.marker.idMatrix); - console.log("Marker data", ev.data.marker); - console.log("Marker transform matrix:", [].join.call(ev.data.matrix, ', ')); - }); - arController.addEventListener('getMultiMarker', function(ev) { - console.log("Detected multimarker with id:", ev.data.multiMarkerId); - }); - arController.addEventListener('getMultiMarkerSub', function(ev) { - console.log("Submarker for " + ev.data.multiMarkerId, ev.data.markerIndex, ev.data.marker); - }); - - arController.process(image); - - - If no image is given, defaults to this.image. - - If the debugSetup has been called, draws debug markers on the debug canvas. - - @param {ImageElement | VideoElement} image The image to process [optional]. - */ - ARController.prototype.process = function(image) { - this.detectMarker(image); - - var markerNum = this.getMarkerNum(); - var k,o; - for (k in this.patternMarkers) { - o = this.patternMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } - for (k in this.barcodeMarkers) { - o = this.barcodeMarkers[k] - o.inPrevious = o.inCurrent; - o.inCurrent = false; - } - - for (var i=0; i -1 && (markerInfo.id === markerInfo.idPatt || markerInfo.idMatrix === -1)) { - visible = this.trackPatternMarkerId(markerInfo.idPatt); - markerType = artoolkit.PATTERN_MARKER; - - if (markerInfo.dir !== markerInfo.dirPatt) { - this.setMarkerInfoDir(i, markerInfo.dirPatt); - } - - } else if (markerInfo.idMatrix > -1) { - visible = this.trackBarcodeMarkerId(markerInfo.idMatrix); - markerType = artoolkit.BARCODE_MARKER; - - if (markerInfo.dir !== markerInfo.dirMatrix) { - this.setMarkerInfoDir(i, markerInfo.dirMatrix); - } - } - - if (markerType !== artoolkit.UNKNOWN_MARKER && visible.inPrevious) { - this.getTransMatSquareCont(i, visible.markerWidth, visible.matrix, visible.matrix); - } else { - this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - } -// this.getTransMatSquare(i, visible.markerWidth, visible.matrix); - - visible.inCurrent = true; - this.transMatToGLMat(visible.matrix, this.transform_mat); - this.dispatchEvent({ - name: 'getMarker', - target: this, - data: { - index: i, - type: markerType, - marker: markerInfo, - matrix: this.transform_mat - } - }); - } - - var multiMarkerCount = this.getMultiMarkerCount(); - for (var i=0; i= 0) { - visible = true; - this.dispatchEvent({ - name: 'getMultiMarker', - target: this, - data: { - multiMarkerId: i, - matrix: this.transform_mat - } - }); - break; - } - } - if (visible) { - for (var j=0; j -1) { - this.listeners[name].splice(index, 1); - } - } - }; - - /** - Dispatches the given event to all registered listeners on event.name. - - @param {Object} event Event to dispatch. - */ - ARController.prototype.dispatchEvent = function(event) { - var listeners = this.listeners[event.name]; - if (listeners) { - for (var i=0; i= 0) if marker is valid, or -1 if invalid. - @field idPatt If pattern detection mode includes a pattern mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field idMatrix If pattern detection mode includes a matrix mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. - @field dir If pattern detection mode is either pattern mode OR matrix but not both, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirPatt If pattern detection mode includes a pattern mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field dirMatrix If pattern detection mode includes a matrix mode, and id != -1, will be marker direction (range 0 to 3, inclusive). - @field cf If pattern detection mode is either pattern mode OR matrix but not both, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfPatt If pattern detection mode includes a pattern mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field cfMatrix If pattern detection mode includes a matrix mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. - @field pos 2D position (in camera image coordinates, origin at top-left) of the centre of the marker. - @field line Line equations for the 4 sides of the marker. - @field vertex 2D positions (in camera image coordinates, origin at top-left) of the corners of the marker. vertex[(4 - dir)%4][] is the top-left corner of the marker. Other vertices proceed clockwise from this. These are idealised coordinates (i.e. the onscreen position aligns correctly with the undistorted camera image.) - - - @param {number} markerIndex The index of the marker to query. - @returns {Object} The markerInfo struct. - */ - ARController.prototype.getMarker = function(markerIndex) { - if (0 === artoolkit.getMarker(this.id, markerIndex)) { - return artoolkit.markerInfo; - } - }; - - /** - Set marker vertices to the given vertexData[4][2] array. - - Sets the marker pos to the center of the vertices. - - Useful for building custom markers for getTransMatSquare. - - A markerIndex of -1 is used to access the global custom marker. - - @param {number} markerIndex The index of the marker to edit. - */ - ARController.prototype.setMarkerInfoVertex = function(markerIndex, vertexData) { - for (var i=0; i image.height ) || - (image.nodeName === 'VIDEO' && image.videoWidth > image.videoHeight) ){ - // if landscape - this.ctx.drawImage(image, 0, 0, this.canvas.width, this.canvas.height); // draw video - }else{ - // if portrait - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - var scale = this.canvas.height / this.canvas.width; - var scaledHeight = this.canvas.width*scale; - var scaledWidth = this.canvas.height*scale; - var marginLeft = ( this.canvas.width - scaledWidth)/2; - this.ctx.drawImage(image, marginLeft, 0, scaledWidth, scaledHeight); // draw video - } - - var imageData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); - var data = imageData.data; - - if (this.dataHeap) { - this.dataHeap.set( data ); - return true; - } - return false; - }; - - ARController.prototype._debugMarker = function(marker) { - var vertex, pos; - vertex = marker.vertex; - var ctx = this.ctx; - ctx.strokeStyle = 'red'; - - ctx.beginPath() - ctx.moveTo(vertex[0][0], vertex[0][1]) - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[2][0], vertex[2][1]) - ctx.lineTo(vertex[3][0], vertex[3][1]) - ctx.stroke() - - ctx.strokeStyle = 'green'; - ctx.beginPath() - ctx.lineTo(vertex[1][0], vertex[1][1]) - ctx.lineTo(vertex[2][0], vertex[2][1]) - ctx.stroke(); - - ctx.beginPath() - ctx.moveTo(vertex[3][0], vertex[3][1]) - ctx.lineTo(vertex[0][0], vertex[0][1]) - ctx.stroke(); - - pos = marker.pos - ctx.beginPath() - ctx.arc(pos[0], pos[1], 8, 0, Math.PI * 2) - ctx.fillStyle = 'red' - ctx.fill() - }; - - - // static - - /** - ARController.getUserMedia gets a device camera video feed and calls the given onSuccess callback with it. - - Tries to start playing the video. Playing the video can fail on Chrome for Android, - so ARController.getUserMedia adds user input event listeners to the window - that try to start playing the video. On success, the event listeners are removed. - - To use ARController.getUserMedia, call it with an object with the onSuccess attribute set to a callback function. - - ARController.getUserMedia({ - onSuccess: function(video) { - console.log("Got video", video); - } - }); - - The configuration object supports the following attributes: - - { - onSuccess : function(video), - onError : function(error), - - width : number | {min: number, ideal: number, max: number}, - height : number | {min: number, ideal: number, max: number}, - - facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } - } - - See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the - width, height and facingMode attributes. - - @param {object} configuration The configuration object. - @return {VideoElement} Returns the created video element. - */ - ARController.getUserMedia = function(configuration) { - var facing = configuration.facingMode || 'environment'; - - var onSuccess = configuration.onSuccess; - var onError = configuration.onError || function(err) { console.error("ARController.getUserMedia", err); }; - - var video = document.createElement('video'); - - var initProgress = function() { - if (this.videoWidth !== 0) { - onSuccess(video); - } - }; - - var readyToPlay = false; - var eventNames = [ - 'touchstart', 'touchend', 'touchmove', 'touchcancel', - 'click', 'mousedown', 'mouseup', 'mousemove', - 'keydown', 'keyup', 'keypress', 'scroll' - ]; - var play = function(ev) { - if (readyToPlay) { - video.play(); - if (!video.paused) { - eventNames.forEach(function(eventName) { - window.removeEventListener(eventName, play, true); - }); - } - } - }; - eventNames.forEach(function(eventName) { - window.addEventListener(eventName, play, true); - }); - - var success = function(stream) { - video.addEventListener('loadedmetadata', initProgress, false); - video.src = window.URL.createObjectURL(stream); - readyToPlay = true; - play(); // Try playing without user input, should work on non-Android Chrome - }; - - var constraints = {}; - var mediaDevicesConstraints = {}; - if (configuration.width) { - mediaDevicesConstraints.width = configuration.width; - if (typeof configuration.width === 'object') { - if (configuration.width.max) { - constraints.maxWidth = configuration.width.max; - } - if (configuration.width.min) { - constraints.minWidth = configuration.width.max; - } - } else { - constraints.maxWidth = configuration.width; - } - } - - if (configuration.height) { - mediaDevicesConstraints.height = configuration.height; - if (typeof configuration.height === 'object') { - if (configuration.height.max) { - constraints.maxHeight = configuration.height.max; - } - if (configuration.height.min) { - constraints.minHeight = configuration.height.max; - } - } else { - constraints.maxHeight = configuration.height; - } - } - - mediaDevicesConstraints.facingMode = facing; - - navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; - var hdConstraints = { - audio: false, - video: { - mandatory: constraints - } - }; - - if ( false ) { - // if ( navigator.mediaDevices || window.MediaStreamTrack) { - if (navigator.mediaDevices) { - navigator.mediaDevices.getUserMedia({ - audio: false, - video: mediaDevicesConstraints - }).then(success, onError); - } else { - MediaStreamTrack.getSources(function(sources) { - var facingDir = mediaDevicesConstraints.facingMode; - if (facing && facing.exact) { - facingDir = facing.exact; - } - for (var i=0; i -1) { // Or a string with the camera param - writeStringToFS(filename, url, writeCallback); - } else { - ajax(url, filename, writeCallback); - } - } - - - // transfer image - - function writeStringToFS(target, string, callback) { - var byteArray = new Uint8Array(string.length); - for (var i=0; i= 0); - } - }); - - /** - Index of Three.js pattern markers, maps markerID -> THREE.Object3D. - */ - this.threePatternMarkers = {}; - - /** - Index of Three.js barcode markers, maps markerID -> THREE.Object3D. - */ - this.threeBarcodeMarkers = {}; - - /** - Index of Three.js multimarkers, maps markerID -> THREE.Object3D. - */ - this.threeMultiMarkers = {}; - }; - - }; - - - var tick = function() { - if (window.ARController && window.THREE) { - integrate(); - if (window.ARThreeOnLoad) { - window.ARThreeOnLoad(); - } - } else { - setTimeout(tick, 50); - } - }; - - tick(); - -})(); diff --git a/three.js/vendor/jsartoolkit5/js/artoolkit.worker.js b/three.js/vendor/jsartoolkit5/js/artoolkit.worker.js deleted file mode 100644 index 81bc195c..00000000 --- a/three.js/vendor/jsartoolkit5/js/artoolkit.worker.js +++ /dev/null @@ -1,81 +0,0 @@ -if ('function' === typeof importScripts) { - importScripts('../build/artoolkit-nft.min.js'); - - self.onmessage = function (e) { - var msg = e.data; - switch (msg.type) { - case "init": { - load(msg); - return; - } - case "process": { - next = msg.imagedata; - process(); - return; - } - } - }; - - var next = null; - - var ar = null; - var markerResult = null; - - function load(msg) { - var corsAnyway = 'https://cors-anywhere.herokuapp.com/'; - var markerPath = corsAnyway + msg.marker; - - console.debug('Loading marker at: ', markerPath); - - var onLoad = function () { - ar = new ARController(msg.pw, msg.ph, param); - var cameraMatrix = ar.getCameraMatrix(); - - // after the ARController is set up, we load the NFT Marker - ar.loadNFTMarker(markerPath, function (markerId) { - ar.trackNFTMarkerId(markerId); - postMessage({ type: 'endLoading' }) - }, function (err) { - console.log('Error in loading marker on Worker', err) - }); - - // ...and we listen for event when marker has been found from camera - ar.addEventListener('getNFTMarker', function (ev) { - // let AR.js know that a NFT marker has been found, with its matrix for positioning - markerResult = { - type: 'found', - matrix: JSON.stringify(ev.data.matrix), - }; - }); - - postMessage({type: "loaded", proj: JSON.stringify(cameraMatrix)}); - }; - - var onError = function (error) { - console.error(error); - }; - - console.debug('Loading camera at:', msg.param); - - // we cannot pass the entire ARController, so we re-create one inside the Worker, starting from camera_param - var param = new ARCameraParam(msg.param, onLoad, onError); - } - - function process() { - markerResult = null; - - if (ar && ar.process) { - ar.process(next); - } - - if (markerResult) { - postMessage(markerResult); - } else { - postMessage({ - type: "not found", - }); - } - next = null; - } - -} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 00000000..cb2f0fbc --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,205 @@ +var path = require('path'); + +module.exports = (env, argv) => { + let devtool = false; + if (argv.mode === 'development') { + devtool = 'inline-source-map'; + } + console.log(`${argv.mode} build`); + const externals = { + aframe: { + commonjs: 'aframe', + commonjs2: 'aframe', + amd: 'aframe', + root: 'AFRAME' // indicates global variable + }, + three: { + commonjs: 'three', + commonjs2: 'three', + amd: 'three', + root: 'THREE' // indicates global variable + } + }; + const module = { + rules: [ + { + test: /\.worker\.js$/, + use: { + loader: 'worker-loader', + options: { + inline: 'no-fallback' + } + } + } + ] + }; + + return [{ + name: 'default', + devtool, + entry: './aframe/src/index.js', + output: { + library: 'ARjs', + path: path.resolve(__dirname, 'aframe/build'), + filename: 'aframe-ar.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols.js') + } + }, + module, + externals + }, + { + name: 'aframe-nft', + devtool, + entry: './aframe/src/index-nft.js', + output: { + library: 'ARjs', + path: path.resolve(__dirname, 'aframe/build'), + filename: 'aframe-ar-nft.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols-nft.js') + } + }, + module, + externals + }, + { + name: 'aframe-location-only', + devtool, + entry: './aframe/src/location-based/index.js', + output: { + library: 'ARjs', + path: path.resolve(__dirname, 'aframe/build'), + filename: 'aframe-ar-location-only.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols-nft.js') + } + }, + module, + externals + }, + { + name: 'threex', + devtool, + entry: './three.js/src/index-threex.js', + output: { + library: 'THREEx', + path: path.resolve(__dirname, 'three.js/build'), + filename: 'ar-threex.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols.js') + } + }, + module, + externals: { + three: { + commonjs: 'three', + commonjs2: 'three', + amd: 'three', + root: 'THREE' // indicates global variable + } + } + }, + { + name: 'threex-nft', + devtool, + entry: './three.js/src/index-threex-nft.js', + output: { + library: 'THREEx', + path: path.resolve(__dirname, 'three.js/build'), + filename: 'ar-threex-nft.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols-nft.js') + } + }, + module, + externals: { + three: { + commonjs: 'three', + commonjs2: 'three', + amd: 'three', + root: 'THREE' // indicates global variable + } + } + }, + { + name: 'ar.js', + devtool, + entry: './three.js/src/index-arjs.js', + output: { + library: 'ARjs', + path: path.resolve(__dirname, 'three.js/build'), + filename: 'ar.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols.js') + } + }, + module, + externals: { + three: { + commonjs: 'three', + commonjs2: 'three', + amd: 'three', + root: 'THREE' // indicates global variable + } + } + }, + { + name: 'ar.js-nft', + devtool, + entry: './three.js/src/index-arjs-nft.js', + output: { + library: 'ARjs', + path: path.resolve(__dirname, 'three.js/build'), + filename: 'ar-nft.js', + libraryTarget: 'umd', + globalObject: 'this' + }, + resolve: { + alias: { + jsartoolkit: '@ar-js-org/artoolkit5-js', + threexArmarkercontrols$: path.resolve(__dirname, 'three.js/src/threex/arjs-markercontrols-nft.js') + } + }, + module, + externals: { + three: { + commonjs: 'three', + commonjs2: 'three', + amd: 'three', + root: 'THREE' // indicates global variable + } + } + }]; +};

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function RO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function NP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function XP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} - -// EMSCRIPTEN_END_FUNCS -var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,ex,bu,FO,dx,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,Pt,Wt,Xt,Yt,Zt,zu,Bu,Yw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,bx,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Rt,Au,Cu,Du,Hu,Iu,Ju,Ku,Mu,Nu,Su,Tu,Uu,Vu,Wu,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,zw,Iq,Wq,Yq,Zq,dr,ht,Ys,Ew,Fw,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Gw,Hw,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,Lw,Mw,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Iw,Jw,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,ax,jr,Ot,St,Vt,du,eu,pw,qw,fw,$v,Rv,Jv,Yu,Qu,Ru,Fu,Gu,wu,xu,iw,lw,Kw,Ow,Zw,_w,$w,fx,hx,jx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,Nt,tr,wr,yr,Dr,Fr,Hr,Is,Qt,ow,ew,Fv,su,Nw,gx,ix,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Ww,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,bw,dw,Lv,Mv,Nv,Ov,Pv,tu,uu,vu,hw,jw,kw,sw,tw,uw,vw,ww,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Dv,Cv,Bv,Av,zv,yv,xv,wv,vv,uv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,Ev,_u,Zu,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,aw,cw,Kv,Gv,Hv,Iv,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) - - -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); - diff --git a/three.js/vendor/jsartoolkit5/build/artoolkit.debug.js b/three.js/vendor/jsartoolkit5/build/artoolkit.debug.js deleted file mode 100644 index 5b94e839..00000000 --- a/three.js/vendor/jsartoolkit5/build/artoolkit.debug.js +++ /dev/null @@ -1,74365 +0,0 @@ -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// The environment setup code below is customized to use Module. -// *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; -// Three configurations we can be running in: -// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false) -// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false) -// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - // Expose functionality in the same simple way that the shells work - // Note that we pollute the global namespace here, otherwise we break in node - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; - - var nodeFS = require('fs'); - var nodePath = require('path'); - - Module['read'] = function read(filename, binary) { - filename = nodePath['normalize'](filename); - var ret = nodeFS['readFileSync'](filename); - // The path is absolute if the normalized version is the same as the resolved. - if (!ret && filename != nodePath['resolve'](filename)) { - filename = path.join(__dirname, '..', 'src', filename); - ret = nodeFS['readFileSync'](filename); - } - if (ret && !binary) ret = ret.toString(); - return ret; - }; - - Module['readBinary'] = function readBinary(filename) { - var ret = Module['read'](filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - Module['arguments'] = process['argv'].slice(2); - - if (typeof module !== 'undefined') { - module['exports'] = Module; - } - - process['on']('uncaughtException', function(ex) { - // suppress ExitStatus exceptions from showing an error - if (!(ex instanceof ExitStatus)) { - throw ex; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } -} - - - -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -//======================================== -// Runtime code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (sig, ptr, args) { - if (args && args.length) { - assert(args.length == sig.length-1); - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].apply(null, args); - } else { - assert(sig.length == 1); - assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\''); - return Module['dynCall_' + sig].call(null, ptr); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*(+4294967296))) : ((+((low>>>0)))+((+((high|0)))*(+4294967296)))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// Runtime essentials -//======================================== - -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() -var EXITSTATUS = 0; - -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - -function assert(condition, text) { - if (!condition) { - abort('Assertion failed: ' + text); - } -} - -var globalScope = this; - -// Returns the C function with a specified identifier (for C++, you need to do manual name mangling) -function getCFunc(ident) { - var func = Module['_' + ident]; // closure exported function - if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - var JSfuncs = { - // Helpers for cwrap -- it can't refer to Runtime directly because it might - // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find - // out what the minified function name is. - 'stackSave': function() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.stackAlloc(arr.length); - writeArrayToMemory(arr, ret); - return ret; - }, - 'stringToC' : function(str) { - var ret = 0; - if (str !== null && str !== undefined && str !== 0) { // null string - // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); - } - return ret; - } - }; - // For fast lookup of conversion functions - var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - - // C calling interface. - ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - assert(returnType !== 'array', 'Return type should not be "array".'); - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) stack = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - - - cwrap = function cwrap(ident, returnType, argTypes) { - argTypes = argTypes || []; - var cfunc = getCFunc(ident); - // When the function takes numbers and returns a number, we can just return - // the original function - var numericArgs = argTypes.every(function(type){ return type === 'number'}); - var numericRet = (returnType !== 'string'); - if ( numericRet && numericArgs) { - return cfunc; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -function setValue(ptr, value, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': HEAP8[((ptr)>>0)]=value; break; - case 'i8': HEAP8[((ptr)>>0)]=value; break; - case 'i16': HEAP16[((ptr)>>1)]=value; break; - case 'i32': HEAP32[((ptr)>>2)]=value; break; - case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; - case 'float': HEAPF32[((ptr)>>2)]=value; break; - case 'double': HEAPF64[((ptr)>>3)]=value; break; - default: abort('invalid type for setValue: ' + type); - } -} -Module["setValue"] = setValue; - - -function getValue(ptr, type, noSafe) { - type = type || 'i8'; - if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit - switch(type) { - case 'i1': return HEAP8[((ptr)>>0)]; - case 'i8': return HEAP8[((ptr)>>0)]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP32[((ptr)>>2)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - default: abort('invalid type for setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -var ALLOC_NORMAL = 0; // Tries to use _malloc() -var ALLOC_STACK = 1; // Lives for the duration of the current function call -var ALLOC_STATIC = 2; // Cannot be freed -var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk -var ALLOC_NONE = 4; // Do not allocate -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// allocate(): This is for internal use. You can use it yourself as well, but the interface -// is a little tricky (see docs right below). The reason is that it is optimized -// for multiple syntaxes to save space in generated code. So you should -// normally not use allocate(), and instead allocate memory using _malloc(), -// initialize it with setValue(), and so forth. -// @slab: An array of data, or a number. If a number, then the size of the block to allocate, -// in *bytes* (note that this is sometimes confusing: the next parameter does not -// affect this!) -// @types: Either an array of types, one for each byte (or 0 if no type at that position), -// or a single type which is used for the entire block. This only matters if there -// is initial data - if @slab is a number, then this does not matter at all and is -// ignored. -// @allocator: How to allocate memory, see ALLOC_* -function allocate(slab, types, allocator, ptr) { - var zeroinit, size; - if (typeof slab === 'number') { - zeroinit = true; - size = slab; - } else { - zeroinit = false; - size = slab.length; - } - - var singleType = typeof types === 'string' ? types : null; - - var ret; - if (allocator == ALLOC_NONE) { - ret = ptr; - } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - assert((ret & 3) == 0); - stop = ret + (size & ~3); - for (; ptr < stop; ptr += 4) { - HEAP32[((ptr)>>2)]=0; - } - stop = ret + size; - while (ptr < stop) { - HEAP8[((ptr++)>>0)]=0; - } - return ret; - } - - if (singleType === 'i8') { - if (slab.subarray || slab.slice) { - HEAPU8.set(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - type = singleType || types[i]; - if (type === 0) { - i++; - continue; - } - assert(type, 'Must know what type to store in allocate!'); - - if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later - - setValue(ret+i, curr, type); - - // no need to look up size unless type changes, so cache it - if (previousType !== type) { - typeSize = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -function Pointer_stringify(ptr, /* optional */ length) { - if (length === 0 || !ptr) return ''; - // TODO: use TextDecoder - // Find the length, and check for UTF while doing so - var hasUtf = 0; - var t; - var i = 0; - while (1) { - assert(ptr + i < TOTAL_MEMORY); - t = HEAPU8[(((ptr)+(i))>>0)]; - hasUtf |= t; - if (t == 0 && !length) break; - i++; - if (length && i == length) break; - } - if (!length) length = i; - - var ret = ''; - - if (hasUtf < 128) { - var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack - var curr; - while (length > 0) { - curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK))); - ret = ret ? ret + curr : curr; - ptr += MAX_CHUNK; - length -= MAX_CHUNK; - } - return ret; - } - return Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function AsciiToString(ptr) { - var str = ''; - while (1) { - var ch = HEAP8[((ptr++)>>0)]; - if (!ch) return str; - str += String.fromCharCode(ch); - } -} -Module["AsciiToString"] = AsciiToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP. - -function stringToAscii(str, outPtr) { - return writeAsciiToMemory(str, outPtr, false); -} -Module["stringToAscii"] = stringToAscii; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns -// a copy of that string as a Javascript String object. - -function UTF8ArrayToString(u8Array, idx) { - var u0, u1, u2, u3, u4, u5; - - var str = ''; - while (1) { - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - u0 = u8Array[idx++]; - if (!u0) return str; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - u1 = u8Array[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - u2 = u8Array[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - u3 = u8Array[idx++] & 63; - if ((u0 & 0xF8) == 0xF0) { - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; - } else { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; - } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; - } - } - } - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF8ToString(ptr) { - return UTF8ArrayToString(HEAPU8,ptr); -} -Module["UTF8ToString"] = UTF8ToString; - -// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx', -// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element. -// outIdx: The starting offset in the array to begin the copying. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else. -// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes. - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - outU8Array[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - outU8Array[outIdx++] = 0xC0 | (u >> 6); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - outU8Array[outIdx++] = 0xE0 | (u >> 12); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x1FFFFF) { - if (outIdx + 3 >= endIdx) break; - outU8Array[outIdx++] = 0xF0 | (u >> 18); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0x3FFFFFF) { - if (outIdx + 4 >= endIdx) break; - outU8Array[outIdx++] = 0xF8 | (u >> 24); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 5 >= endIdx) break; - outU8Array[outIdx++] = 0xFC | (u >> 30); - outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63); - outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63); - outU8Array[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - outU8Array[outIdx] = 0; - return outIdx - startIdx; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP. -// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF8(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); -} -Module["stringToUTF8"] = stringToUTF8; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF); - if (u <= 0x7F) { - ++len; - } else if (u <= 0x7FF) { - len += 2; - } else if (u <= 0xFFFF) { - len += 3; - } else if (u <= 0x1FFFFF) { - len += 4; - } else if (u <= 0x3FFFFFF) { - len += 5; - } else { - len += 6; - } - } - return len; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns -// a copy of that string as a Javascript String object. - -function UTF16ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; - if (codeUnit == 0) - return str; - ++i; - // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through. - str += String.fromCharCode(codeUnit); - } -} -Module["UTF16ToString"] = UTF16ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP. -// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else. -// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF16(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 2) return 0; - maxBytesToWrite -= 2; // Null terminator. - var startPtr = outPtr; - var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; - for (var i = 0; i < numCharsToWrite; ++i) { - // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - HEAP16[((outPtr)>>1)]=codeUnit; - outPtr += 2; - } - // Null-terminate the pointer to the HEAP. - HEAP16[((outPtr)>>1)]=0; - return outPtr - startPtr; -} -Module["stringToUTF16"] = stringToUTF16; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF16(str) { - return str.length*2; -} -Module["lengthBytesUTF16"] = lengthBytesUTF16; - -function UTF32ToString(ptr) { - var i = 0; - - var str = ''; - while (1) { - var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; - if (utf32 == 0) - return str; - ++i; - // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - if (utf32 >= 0x10000) { - var ch = utf32 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } else { - str += String.fromCharCode(utf32); - } - } -} -Module["UTF32ToString"] = UTF32ToString; - -// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr', -// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP. -// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write. -// Parameters: -// str: the Javascript string to copy. -// outPtr: Byte address in Emscripten HEAP where to write the string to. -// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null -// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else. -// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator. -// Returns the number of bytes written, EXCLUDING the null terminator. - -function stringToUTF32(str, outPtr, maxBytesToWrite) { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. - if (maxBytesToWrite === undefined) { - maxBytesToWrite = 0x7FFFFFFF; - } - if (maxBytesToWrite < 4) return 0; - var startPtr = outPtr; - var endPtr = startPtr + maxBytesToWrite - 4; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); // possibly a lead surrogate - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { - var trailSurrogate = str.charCodeAt(++i); - codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); - } - HEAP32[((outPtr)>>2)]=codeUnit; - outPtr += 4; - if (outPtr + 4 > endPtr) break; - } - // Null-terminate the pointer to the HEAP. - HEAP32[((outPtr)>>2)]=0; - return outPtr - startPtr; -} -Module["stringToUTF32"] = stringToUTF32; - -// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. - -function lengthBytesUTF32(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var codeUnit = str.charCodeAt(i); - if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. - len += 4; - } - - return len; -} -Module["lengthBytesUTF32"] = lengthBytesUTF32; - -function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { - try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); - var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed, we can try ours which may return a partial result - } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; -} - -function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); -} - -function jsStackTrace() { - var err = new Error(); - if (!err.stack) { - // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown, - // so try that as a special-case. - try { - throw new Error(0); - } catch(e) { - err = e; - } - if (!err.stack) { - return '(no stack trace available)'; - } - } - return err.stack.toString(); -} - -function stackTrace() { - return demangleAll(jsStackTrace()); -} -Module["stackTrace"] = stackTrace; - -// Memory management - -var PAGE_SIZE = 4096; - -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); - } - return x; -} - -var HEAP; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; - -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk - - - -function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - assert(DYNAMICTOP >= TOTAL_MEMORY); - assert(TOTAL_MEMORY > 4); // So the loop below will not be infinite - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - - - var LIMIT = Math.pow(2, 31); // 2GB is a practical maximum, as we use signed ints as pointers - // and JS engines seem unhappy to give us 2GB arrays currently - if (DYNAMICTOP >= LIMIT) return false; - - while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic. - if (TOTAL_MEMORY < LIMIT/2) { - TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY); // double until 1GB - } else { - var last = TOTAL_MEMORY; - TOTAL_MEMORY = alignMemoryPage((3*TOTAL_MEMORY + LIMIT)/4); // add smaller increments towards 2GB, which we cannot reach - if (TOTAL_MEMORY <= last) return false; - } - } - - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, 16*1024*1024); - - if (TOTAL_MEMORY >= LIMIT) return false; - - Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [OLD_TOTAL_MEMORY, TOTAL_MEMORY]); - - - var start = Date.now(); - - try { - if (ArrayBuffer.transfer) { - buffer = ArrayBuffer.transfer(buffer, TOTAL_MEMORY); - } else { - var oldHEAP8 = HEAP8; - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - } catch(e) { - return false; - } - - var success = _emscripten_replace_memory(buffer); - if (!success) return false; - - // everything worked - - Module['buffer'] = buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(buffer); - Module['HEAP16'] = HEAP16 = new Int16Array(buffer); - Module['HEAP32'] = HEAP32 = new Int32Array(buffer); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); - Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); - Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); - if (!ArrayBuffer.transfer) { - HEAP8.set(oldHEAP8); - } - - Module.printErr('enlarged memory arrays from ' + OLD_TOTAL_MEMORY + ' to ' + TOTAL_MEMORY + ', took ' + (Date.now() - start) + ' ms (has ArrayBuffer.transfer? ' + (!!ArrayBuffer.transfer) + ')'); - - return true; -} - -var byteLength; -try { - byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); - byteLength(new ArrayBuffer(4)); // can fail on older ie -} catch(e) { // can fail on older node/v8 - byteLength = function(buffer) { return buffer.byteLength; }; -} - -var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; -var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 268435456; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -totalMemory = Math.max(totalMemory, 16*1024*1024); -if (totalMemory !== TOTAL_MEMORY) { - Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')'); - TOTAL_MEMORY = totalMemory; -} - -// Initialize the runtime's memory -// check for full engine support (use string 'subarray' to avoid closure compiler confusion) -assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - 'JS engine does not provide full typed array support'); - -var buffer; - - - -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); - - -// Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -function callRuntimeCallbacks(callbacks) { - while(callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == 'function') { - callback(); - continue; - } - var func = callback.func; - if (typeof func === 'number') { - if (callback.arg === undefined) { - Runtime.dynCall('v', func); - } else { - Runtime.dynCall('vi', func, [callback.arg]); - } - } else { - func(callback.arg === undefined ? null : callback.arg); - } - } -} - -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the runtime has exited - -var runtimeInitialized = false; -var runtimeExited = false; - - -function preRun() { - // compatibility - merge in anything from Module['preRun'] at this time - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function ensureInitRuntime() { - if (runtimeInitialized) return; - runtimeInitialized = true; - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - callRuntimeCallbacks(__ATEXIT__); - runtimeExited = true; -} - -function postRun() { - // compatibility - merge in anything from Module['postRun'] at this time - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); - chr &= 0xFF; - } - ret.push(String.fromCharCode(chr)); - } - return ret.join(''); -} -Module["intArrayToString"] = intArrayToString; - -function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; - } -} -Module["writeStringToMemory"] = writeStringToMemory; - -function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -function writeAsciiToMemory(str, buffer, dontAddNull) { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff); - HEAP8[((buffer++)>>0)]=str.charCodeAt(i); - } - // Null-terminate the pointer to the HEAP. - if (!dontAddNull) HEAP8[((buffer)>>0)]=0; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -function unSign(value, bits, ignore) { - if (value >= 0) { - return value; - } - return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts - : Math.pow(2, bits) + value; -} -function reSign(value, bits, ignore) { - if (value <= 0) { - return value; - } - var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32 - : Math.pow(2, bits-1); - if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that - // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors - // TODO: In i64 mode 1, resign the two parts separately and safely - value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts - } - return value; -} - - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -var Math_abs = Math.abs; -var Math_cos = Math.cos; -var Math_sin = Math.sin; -var Math_tan = Math.tan; -var Math_acos = Math.acos; -var Math_asin = Math.asin; -var Math_atan = Math.atan; -var Math_atan2 = Math.atan2; -var Math_exp = Math.exp; -var Math_log = Math.log; -var Math_sqrt = Math.sqrt; -var Math_ceil = Math.ceil; -var Math_floor = Math.floor; -var Math_pow = Math.pow; -var Math_imul = Math.imul; -var Math_fround = Math.fround; -var Math_min = Math.min; -var Math_clz32 = Math.clz32; - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// PRE_RUN_ADDITIONS (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } - return id; -} - -function addRunDependency(id) { - runDependencies++; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval !== 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(function() { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - Module.printErr('still waiting on run dependencies:'); - } - Module.printErr('dependency: ' + dep); - } - if (shown) { - Module.printErr('(end of list)'); - } - }, 10000); - } - } else { - Module.printErr('warning: run dependency added without ID'); - } -} -Module["addRunDependency"] = addRunDependency; - -function removeRunDependency(id) { - runDependencies--; - if (Module['monitorRunDependencies']) { - Module['monitorRunDependencies'](runDependencies); - } - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - Module.printErr('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} -Module["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - -// === Body === - -var ASM_CONSTS = [function($0, $1, $2, $3) { { if (!artoolkit["multiEachMarkerInfo"]) { artoolkit["multiEachMarkerInfo"] = ({}); } var multiEachMarker = artoolkit["multiEachMarkerInfo"]; multiEachMarker['visible'] = $0; multiEachMarker['pattId'] = $1; multiEachMarker['pattType'] = $2; multiEachMarker['width'] = $3; } }, - function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32) { { var $a = arguments; var i = 12; if (!artoolkit["markerInfo"]) { artoolkit["markerInfo"] = ({ pos: [0,0], line: [[0,0,0], [0,0,0], [0,0,0], [0,0,0]], vertex: [[0,0], [0,0], [0,0], [0,0]] }); } var markerInfo = artoolkit["markerInfo"]; markerInfo["area"] = $0; markerInfo["id"] = $1; markerInfo["idPatt"] = $2; markerInfo["idMatrix"] = $3; markerInfo["dir"] = $4; markerInfo["dirPatt"] = $5; markerInfo["dirMatrix"] = $6; markerInfo["cf"] = $7; markerInfo["cfPatt"] = $8; markerInfo["cfMatrix"] = $9; markerInfo["pos"][0] = $10; markerInfo["pos"][1] = $11; markerInfo["line"][0][0] = $a[i++]; markerInfo["line"][0][1] = $a[i++]; markerInfo["line"][0][2] = $a[i++]; markerInfo["line"][1][0] = $a[i++]; markerInfo["line"][1][1] = $a[i++]; markerInfo["line"][1][2] = $a[i++]; markerInfo["line"][2][0] = $a[i++]; markerInfo["line"][2][1] = $a[i++]; markerInfo["line"][2][2] = $a[i++]; markerInfo["line"][3][0] = $a[i++]; markerInfo["line"][3][1] = $a[i++]; markerInfo["line"][3][2] = $a[i++]; markerInfo["vertex"][0][0] = $a[i++]; markerInfo["vertex"][0][1] = $a[i++]; markerInfo["vertex"][1][0] = $a[i++]; markerInfo["vertex"][1][1] = $a[i++]; markerInfo["vertex"][2][0] = $a[i++]; markerInfo["vertex"][2][1] = $a[i++]; markerInfo["vertex"][3][0] = $a[i++]; markerInfo["vertex"][3][1] = $a[i++]; markerInfo["errorCorrected"] = $a[i++]; } }, - function($0, $1, $2, $3, $4) { { if (!artoolkit["frameMalloc"]) { artoolkit["frameMalloc"] = ({}); } var frameMalloc = artoolkit["frameMalloc"]; frameMalloc["framepointer"] = $1; frameMalloc["framesize"] = $2; frameMalloc["camera"] = $3; frameMalloc["transform"] = $4; } }]; - -function _emscripten_asm_const_33(code, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32) { - return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32); -} - -function _emscripten_asm_const_4(code, a0, a1, a2, a3) { - return ASM_CONSTS[code](a0, a1, a2, a3); -} - -function _emscripten_asm_const_5(code, a0, a1, a2, a3, a4) { - return ASM_CONSTS[code](a0, a1, a2, a3, a4); -} - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + 18336; - /* global initializers */ __ATINIT__.push({ func: function() { __GLOBAL__sub_I_ARToolKitJS_cpp() } }, { func: function() { __GLOBAL__sub_I_bind_cpp() } }); - - -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,9,0,0,52,42,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,115,42,0,0,52,9,0,0,12,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,52,9,0,0,205,46,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,186,46,0,0,228,8,0,0,155,46,0,0,228,8,0,0,194,45,0,0,228,8,0,0,163,45,0,0,228,8,0,0,132,45,0,0,228,8,0,0,101,45,0,0,228,8,0,0,70,45,0,0,228,8,0,0,225,45,0,0,228,8,0,0,0,46,0,0,228,8,0,0,31,46,0,0,228,8,0,0,62,46,0,0,228,8,0,0,93,46,0,0,228,8,0,0,124,46,0,0,12,9,0,0,75,47,0,0,48,2,0,0,0,0,0,0,228,8,0,0,88,47,0,0,228,8,0,0,101,47,0,0,12,9,0,0,114,47,0,0,56,2,0,0,0,0,0,0,12,9,0,0,147,47,0,0,64,2,0,0,0,0,0,0,12,9,0,0,181,47,0,0,64,2,0,0,0,0,0,0,200,8,0,0,221,47,0,0,200,8,0,0,223,47,0,0,200,8,0,0,225,47,0,0,200,8,0,0,227,47,0,0,200,8,0,0,229,47,0,0,200,8,0,0,231,47,0,0,200,8,0,0,233,47,0,0,200,8,0,0,235,47,0,0,200,8,0,0,237,47,0,0,200,8,0,0,14,54,0,0,200,8,0,0,239,47,0,0,200,8,0,0,241,47,0,0,200,8,0,0,243,47,0,0,12,9,0,0,245,47,0,0,80,2,0,0,0,0,0,0,12,9,0,0,26,48,0,0,80,2,0,0,0,0,0,0,255,15,0,0,6,16,0,0,18,16,0,0,28,16,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,11,0,0,0,5,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0,0,67,0,0,0,5,0,0,0,10,0,0,0,20,0,0,0,40,0,0,0,80,0,0,0,35,0,0,0,70,0,0,0,15,0,0,0,30,0,0,0,60,0,0,0,120,0,0,0,115,0,0,0,101,0,0,0,73,0,0,0,17,0,0,0,34,0,0,0,68,0,0,0,11,0,0,0,22,0,0,0,44,0,0,0,88,0,0,0,51,0,0,0,102,0,0,0,79,0,0,0,29,0,0,0,58,0,0,0,116,0,0,0,107,0,0,0,85,0,0,0,41,0,0,0,82,0,0,0,39,0,0,0,78,0,0,0,31,0,0,0,62,0,0,0,124,0,0,0,123,0,0,0,117,0,0,0,105,0,0,0,81,0,0,0,33,0,0,0,66,0,0,0,7,0,0,0,14,0,0,0,28,0,0,0,56,0,0,0,112,0,0,0,99,0,0,0,69,0,0,0,9,0,0,0,18,0,0,0,36,0,0,0,72,0,0,0,19,0,0,0,38,0,0,0,76,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,91,0,0,0,53,0,0,0,106,0,0,0,87,0,0,0,45,0,0,0,90,0,0,0,55,0,0,0,110,0,0,0,95,0,0,0,61,0,0,0,122,0,0,0,119,0,0,0,109,0,0,0,89,0,0,0,49,0,0,0,98,0,0,0,71,0,0,0,13,0,0,0,26,0,0,0,52,0,0,0,104,0,0,0,83,0,0,0,37,0,0,0,74,0,0,0,23,0,0,0,46,0,0,0,92,0,0,0,59,0,0,0,118,0,0,0,111,0,0,0,93,0,0,0,57,0,0,0,114,0,0,0,103,0,0,0,77,0,0,0,25,0,0,0,50,0,0,0,100,0,0,0,75,0,0,0,21,0,0,0,42,0,0,0,84,0,0,0,43,0,0,0,86,0,0,0,47,0,0,0,94,0,0,0,63,0,0,0,126,0,0,0,127,0,0,0,125,0,0,0,121,0,0,0,113,0,0,0,97,0,0,0,65,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,8,0,0,0,5,0,0,0,10,0,0,0,3,0,0,0,14,0,0,0,9,0,0,0,7,0,0,0,6,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,56,0,0,0,3,0,0,0,63,0,0,0,15,0,0,0,31,0,0,0,9,0,0,0,90,0,0,0,57,0,0,0,21,0,0,0,4,0,0,0,28,0,0,0,64,0,0,0,67,0,0,0,16,0,0,0,112,0,0,0,32,0,0,0,97,0,0,0,10,0,0,0,108,0,0,0,91,0,0,0,70,0,0,0,58,0,0,0,38,0,0,0,22,0,0,0,47,0,0,0,5,0,0,0,54,0,0,0,29,0,0,0,19,0,0,0,65,0,0,0,95,0,0,0,68,0,0,0,45,0,0,0,17,0,0,0,43,0,0,0,113,0,0,0,115,0,0,0,33,0,0,0,77,0,0,0,98,0,0,0,117,0,0,0,11,0,0,0,87,0,0,0,109,0,0,0,35,0,0,0,92,0,0,0,74,0,0,0,71,0,0,0,79,0,0,0,59,0,0,0,104,0,0,0,39,0,0,0,100,0,0,0,23,0,0,0,82,0,0,0,48,0,0,0,119,0,0,0,6,0,0,0,126,0,0,0,55,0,0,0,13,0,0,0,30,0,0,0,62,0,0,0,20,0,0,0,89,0,0,0,66,0,0,0,27,0,0,0,96,0,0,0,111,0,0,0,69,0,0,0,107,0,0,0,46,0,0,0,37,0,0,0,18,0,0,0,53,0,0,0,44,0,0,0,94,0,0,0,114,0,0,0,42,0,0,0,116,0,0,0,76,0,0,0,34,0,0,0,86,0,0,0,78,0,0,0,73,0,0,0,99,0,0,0,103,0,0,0,118,0,0,0,81,0,0,0,12,0,0,0,125,0,0,0,88,0,0,0,61,0,0,0,110,0,0,0,26,0,0,0,36,0,0,0,106,0,0,0,93,0,0,0,52,0,0,0,75,0,0,0,41,0,0,0,72,0,0,0,85,0,0,0,80,0,0,0,102,0,0,0,60,0,0,0,124,0,0,0,105,0,0,0,25,0,0,0,40,0,0,0,51,0,0,0,101,0,0,0,84,0,0,0,24,0,0,0,123,0,0,0,83,0,0,0,50,0,0,0,49,0,0,0,122,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,136,0,0,0,5,0,0,0,144,0,0,0,6,0,0,0,152,0,0,0,9,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,112,2,0,0,168,2,0,0,200,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,0,0,0,0,32,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,96,2,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,80,2,0,0,3,0,0,0,7,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,216,2,0,0,3,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,2,0,0,3,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,240,10,0,0,96,11,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,139,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,131,65,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,69,114,114,111,114,58,32,108,97,98,101,108,105,110,103,32,119,111,114,107,32,111,118,101,114,102,108,111,119,46,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,40,37,100,41,32,114,101,113,117,101,115,116,101,100,46,10,0,85,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,108,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,114,101,113,117,101,115,116,101,100,46,32,83,101,116,32,116,111,32,109,97,110,117,97,108,46,10,0,76,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,46,10,0,77,65,78,85,65,76,0,65,85,84,79,95,77,69,68,73,65,78,0,65,85,84,79,95,79,84,83,85,0,65,85,84,79,95,65,68,65,80,84,73,86,69,65,85,84,79,95,66,82,65,67,75,69,84,73,78,71,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,109,97,114,107,101,114,32,99,111,117,110,116,115,32,45,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,43,46,10,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,109,101,100,105,97,110,0,79,116,115,117,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,37,115,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,63,63,63,32,49,10,0,63,63,63,32,50,10,0,63,63,63,32,51,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,112,97,115,115,101,100,32,116,111,32,97,114,73,109,97,103,101,80,114,111,99,72,105,115,116,40,41,46,10,0,0,0,0,1,0,1,1,1,0,2,4,255,255,5,3,1,0,2,255,6,7,255,3,1,2,2,3,2,3,2,3,3,0,255,4,6,7,5,255,1,4,5,4,4,5,5,4,5,7,6,6,6,7,7,7,6,255,2,4,6,7,5,3,255,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,255,255,3,255,5,6,255,255,9,10,255,12,255,255,15,255,17,18,255,20,255,255,23,24,255,255,27,255,29,30,255,255,1,2,255,4,255,255,7,8,255,255,11,255,13,14,255,16,255,255,19,255,21,22,255,255,25,26,255,28,255,255,31,69,114,114,111,114,58,32,117,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,46,10,0,69,114,114,111,114,58,32,78,85,76,76,32,112,97,116,116,72,97,110,100,108,101,46,10,0,69,114,114,111,114,58,32,99,97,110,39,116,32,108,111,97,100,32,112,97,116,116,101,114,110,32,102,114,111,109,32,78,85,76,76,32,98,117,102,102,101,114,46,10,0,69,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46,10,0,32,9,10,13,0,80,97,116,116,101,114,110,32,68,97,116,97,32,114,101,97,100,32,101,114,114,111,114,33,33,10,0,69,114,114,111,114,32,111,112,101,110,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,46,10,0,114,98,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,115,32,102,105,108,101,32,34,37,115,34,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,102,105,108,101,32,108,101,110,103,116,104,46,0,69,114,114,111,114,58,32,115,117,112,112,108,105,101,100,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,97,112,112,101,97,114,32,116,111,32,98,101,32,97,110,32,65,82,84,111,111,108,75,105,116,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,114,111,109,32,102,105,108,101,46,0,69,114,114,111,114,58,32,105,99,112,71,101,116,74,95,85,95,88,99,0,69,114,114,111,114,58,32,109,97,108,108,111,99,10,0,69,114,114,111,114,32,49,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,50,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,51,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,52,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,53,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,54,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,55,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,114,0,69,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,46,10,0,37,115,37,115,10,0,37,100,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,110,117,109,98,101,114,32,111,102,32,109,97,114,107,101,114,32,99,111,110,102,105,103,115,32,116,111,32,114,101,97,100,46,10,0,79,117,116,32,111,102,32,109,101,109,111,114,121,33,33,10,0,37,108,108,117,37,99,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,112,97,116,116,101,114,110,32,39,37,115,39,32,115,112,101,99,105,102,105,101,100,32,105,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,119,104,105,108,101,32,105,110,32,98,97,114,99,111,100,101,45,111,110,108,121,32,109,111,100,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,108,111,97,100,32,112,97,116,116,101,114,110,32,39,37,115,39,46,10,0,37,108,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,112,97,116,116,101,114,110,32,119,105,100,116,104,46,10,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,37,102,32,37,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,76,105,110,101,115,32,50,32,45,32,52,32,109,117,115,116,32,98,101,32,109,97,114,107,101,114,32,116,114,97,110,115,102,111,114,109,46,10,0,97,114,103,108,67,97,109,101,114,97,70,114,117,115,116,117,109,40,41,58,32,97,114,80,97,114,97,109,68,101,99,111,109,112,77,97,116,40,41,32,105,110,100,105,99,97,116,101,100,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,46,10,0,108,111,97,100,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,32,37,115,32,102,111,114,32,99,97,109,101,114,97,46,10,0,42,42,42,32,67,97,109,101,114,97,32,80,97,114,97,109,101,116,101,114,32,114,101,115,105,122,101,100,32,102,114,111,109,32,37,100,44,32,37,100,46,32,42,42,42,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,114,97,109,76,84,67,114,101,97,116,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,99,114,101,97,116,105,110,103,32,51,68,32,104,97,110,100,108,101,0,108,111,97,100,77,97,114,107,101,114,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,37,115,46,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,97,114,107,101,114,46,10,0,99,111,110,102,105,103,32,100,97,116,97,32,108,111,97,100,32,101,114,114,111,114,32,33,33,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,117,108,116,105,109,97,114,107,101,114,46,10,0,80,97,116,116,101,114,110,32,100,101,116,101,99,116,105,111,110,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,80,97,116,116,101,114,110,32,114,97,116,105,111,32,115,105,122,101,32,115,101,116,32,116,111,32,37,102,46,10,0,76,97,98,101,108,105,110,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,111,110,46,0,111,102,102,46,0,68,101,98,117,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,10,0,73,109,97,103,101,32,112,114,111,99,46,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,118,105,115,105,98,108,101,39,93,32,61,32,36,48,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,73,100,39,93,32,61,32,36,49,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,84,121,112,101,39,93,32,61,32,36,50,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,119,105,100,116,104,39,93,32,61,32,36,51,59,32,125,0,123,32,118,97,114,32,36,97,32,61,32,97,114,103,117,109,101,110,116,115,59,32,118,97,114,32,105,32,61,32,49,50,59,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,32,112,111,115,58,32,91,48,44,48,93,44,32,108,105,110,101,58,32,91,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,93,44,32,118,101,114,116,101,120,58,32,91,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,93,32,125,41,59,32,125,32,118,97,114,32,109,97,114,107,101,114,73,110,102,111,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,97,114,101,97,34,93,32,61,32,36,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,34,93,32,61,32,36,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,80,97,116,116,34,93,32,61,32,36,50,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,77,97,116,114,105,120,34,93,32,61,32,36,51,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,34,93,32,61,32,36,52,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,80,97,116,116,34,93,32,61,32,36,53,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,77,97,116,114,105,120,34,93,32,61,32,36,54,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,34,93,32,61,32,36,55,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,80,97,116,116,34,93,32,61,32,36,56,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,77,97,116,114,105,120,34,93,32,61,32,36,57,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,48,93,32,61,32,36,49,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,49,93,32,61,32,36,49,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,101,114,114,111,114,67,111,114,114,101,99,116,101,100,34,93,32,61,32,36,97,91,105,43,43,93,59,32,125,0,115,101,116,117,112,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,116,116,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,65,108,108,111,99,97,116,101,100,32,118,105,100,101,111,70,114,97,109,101,83,105,122,101,32,37,100,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,102,114,97,109,101,77,97,108,108,111,99,32,61,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,112,111,105,110,116,101,114,34,93,32,61,32,36,49,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,115,105,122,101,34,93,32,61,32,36,50,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,99,97,109,101,114,97,34,93,32,61,32,36,51,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,116,114,97,110,115,102,111,114,109,34,93,32,61,32,36,52,59,32,125,0,115,101,116,117,112,0,116,101,97,114,100,111,119,110,0,95,97,100,100,77,97,114,107,101,114,0,95,97,100,100,77,117,108,116,105,77,97,114,107,101,114,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,67,111,117,110,116,0,95,108,111,97,100,67,97,109,101,114,97,0,115,101,116,77,97,114,107,101,114,73,110,102,111,68,105,114,0,115,101,116,77,97,114,107,101,114,73,110,102,111,86,101,114,116,101,120,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,67,111,110,116,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,82,111,98,117,115,116,0,100,101,116,101,99,116,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,69,97,99,104,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,0,115,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,80,114,111,99,101,115,115,105,110,103,73,109,97,103,101,0,115,101,116,76,111,103,76,101,118,101,108,0,103,101,116,76,111,103,76,101,118,101,108,0,115,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,115,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,115,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,103,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,115,101,116,84,104,114,101,115,104,111,108,100,0,103,101,116,84,104,114,101,115,104,111,108,100,0,115,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,103,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,115,101,116,80,97,116,116,82,97,116,105,111,0,103,101,116,80,97,116,116,82,97,116,105,111,0,115,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,103,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,115,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,103,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,115,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,103,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,69,82,82,79,82,95,65,82,67,79,78,84,82,79,76,76,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,85,76,84,73,77,65,82,75,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,65,82,75,69,82,95,73,78,68,69,88,95,79,85,84,95,79,70,95,66,79,85,78,68,83,0,65,82,95,68,69,66,85,71,95,68,73,83,65,66,76,69,0,65,82,95,68,69,66,85,71,95,69,78,65,66,76,69,0,65,82,95,68,69,70,65,85,76,84,95,68,69,66,85,71,95,77,79,68,69,0,65,82,95,76,65,66,69,76,73,78,71,95,87,72,73,84,69,95,82,69,71,73,79,78,0,65,82,95,76,65,66,69,76,73,78,71,95,66,76,65,67,75,95,82,69,71,73,79,78,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,77,79,68,69,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,82,65,77,69,95,73,77,65,71,69,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,73,69,76,68,95,73,77,65,71,69,0,65,82,95,68,69,70,65,85,76,84,95,73,77,65,71,69,95,80,82,79,67,95,77,79,68,69,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,68,69,84,69,67,84,73,79,78,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,68,69,70,65,85,76,84,95,80,65,84,84,69,82,78,95,68,69,84,69,67,84,73,79,78,95,77,79,68,69,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,78,79,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,95,86,50,0,65,82,95,68,69,70,65,85,76,84,95,77,65,82,75,69,82,95,69,88,84,82,65,67,84,73,79,78,95,77,79,68,69,0,65,82,95,77,65,88,95,76,79,79,80,95,67,79,85,78,84,0,65,82,95,76,79,79,80,95,66,82,69,65,75,95,84,72,82,69,83,72,0,65,82,95,76,79,71,95,76,69,86,69,76,95,68,69,66,85,71,0,65,82,95,76,79,71,95,76,69,86,69,76,95,73,78,70,79,0,65,82,95,76,79,71,95,76,69,86,69,76,95,87,65,82,78,0,65,82,95,76,79,71,95,76,69,86,69,76,95,69,82,82,79,82,0,65,82,95,76,79,71,95,76,69,86,69,76,95,82,69,76,95,73,78,70,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,72,65,77,77,73,78,71,54,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,80,65,82,73,84,89,54,53,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,57,95,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,53,95,53,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,77,65,78,85,65,76,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,77,69,68,73,65,78,0,65,82,95,76,65,66], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,79,84,83,85,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,65,68,65,80,84,73,86,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,78,79,78,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,65,84,84,69,82,78,95,69,88,84,82,65,67,84,73,79,78,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,71,69,78,69,82,73,67,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,84,82,65,83,84,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,78,79,84,95,70,79,85,78,68,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,69,68,67,95,70,65,73,76,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,70,73,68,69,78,67,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,95,77,85,76,84,73,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,72,69,85,82,73,83,84,73,67,95,84,82,79,85,66,76,69,83,79,77,69,95,77,65,84,82,73,88,95,67,79,68,69,83,0,118,105,105,102,0,118,105,105,105,0,100,105,105,0,118,105,105,100,0,105,105,0,118,105,105,0,105,105,105,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,105,105,105,105,0,105,105,105,105,105,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115,116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,32,40,0,41,0,95,98,108,111,99,107,95,105,110,118,111,107,101,0,105,110,118,111,99,97,116,105,111,110,32,102,117,110,99,116,105,111,110,32,102,111,114,32,98,108,111,99,107,32,105,110,32,0,32,99,111,110,115,116,0,32,118,111,108,97,116,105,108,101,0,32,114,101,115,116,114,105,99,116,0,32,91,0,32,91,93,0,93,0,32,99,111,109,112,108,101,120,0,40,0,44,32,0,32,38,0,32,38,38,0,32,0,32,105,109,97,103,105,110,97,114,121,0,58,58,42,0,38,38,0,111,98,106,99,95,111,98,106,101,99,116,60,0,42,0,105,100,0,38,0,111,98,106,99,112,114,111,116,111,0,60,0,62,0,32,118,101,99,116,111,114,91,0,112,105,120,101,108,32,118,101,99,116,111,114,91,0,100,101,99,108,116,121,112,101,40,0,115,116,100,58,58,97,108,108,111,99,97,116,111,114,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,0,115,116,100,58,58,115,116,114,105,110,103,0,115,116,100,58,58,105,115,116,114,101,97,109,0,115,116,100,58,58,111,115,116,114,101,97,109,0,115,116,100,58,58,105,111,115,116,114,101,97,109,0,115,116,100,0,58,58,0,58,58,115,116,114,105,110,103,32,108,105,116,101,114,97,108,0,115,116,100,58,58,0,126,0,39,117,110,110,97,109,101,100,0,39,108,97,109,98,100,97,39,40,0,111,112,101,114,97,116,111,114,38,38,0,111,112,101,114,97,116,111,114,38,0,111,112,101,114,97,116,111,114,38,61,0,111,112,101,114,97,116,111,114,61,0,111,112,101,114,97,116,111,114,40,41,0,111,112,101,114,97,116,111,114,44,0,111,112,101,114,97,116,111,114,126,0,111,112,101,114,97,116,111,114,32,0,111,112,101,114,97,116,111,114,32,100,101,108,101,116,101,91,93,0,111,112,101,114,97,116,111,114,42,0,111,112,101,114,97,116,111,114,32,100,101,108,101,116,101,0,111,112,101,114,97,116,111,114,47,0,111,112,101,114,97,116,111,114,47,61,0,111,112,101,114,97,116,111,114,94,0,111,112,101,114,97,116,111,114,94,61,0,111,112,101,114,97,116,111,114,61,61,0,111,112,101,114,97,116,111,114,62,61,0,111,112,101,114,97,116,111,114,62,0,111,112,101,114,97,116,111,114,91,93,0,111,112,101,114,97,116,111,114,60,61,0,111,112,101,114,97,116,111,114,34,34,32,0,111,112,101,114,97,116,111,114,60,60,0,111,112,101,114,97,116,111,114,60,60,61,0,111,112,101,114,97,116,111,114,60,0,111,112,101,114,97,116,111,114,45,0,111,112,101,114,97,116,111,114,45,61,0,111,112,101,114,97,116,111,114,42,61,0,111,112,101,114,97,116,111,114,45,45,0,111,112,101,114,97,116,111,114,32,110,101,119,91,93,0,111,112,101,114,97,116,111,114,33,61,0,111,112,101,114,97,116,111,114,33,0,111,112,101,114,97,116,111,114,32,110,101,119,0,111,112,101,114,97,116,111,114,124,124,0,111,112,101,114,97,116,111,114,124,0,111,112,101,114,97,116,111,114,124,61,0,111,112,101,114,97,116,111,114,45,62,42,0,111,112,101,114,97,116,111,114,43,0,111,112,101,114,97,116,111,114,43,61,0,111,112,101,114,97,116,111,114,43,43,0,111,112,101,114,97,116,111,114,45,62,0,111,112,101,114,97,116,111,114,63,0,111,112,101,114,97,116,111,114,37,0,111,112,101,114,97,116,111,114,37,61,0,111,112,101,114,97,116,111,114,62,62,0,111,112,101,114,97,116,111,114,62,62,61,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,99,104,97,114,44,32,115,116,100,58,58,99,104,97,114,95,116,114,97,105,116,115,60,99,104,97,114,62,44,32,115,116,100,58,58,97,108,108,111,99,97,116,111,114,60,99,104,97,114,62,32,62,0,98,97,115,105,99,95,115,116,114,105,110,103,0,115,116,100,58,58,98,97,115,105,99,95,105,115,116,114,101,97,109,60,99,104,97,114,44,32,115,116,100,58,58,99,104,97,114,95,116,114,97,105,116,115,60,99,104,97,114,62,32,62,0,98,97,115,105,99,95,105,115,116,114,101,97,109,0,115,116,100,58,58,98,97,115,105,99,95,111,115,116,114,101,97,109,60,99,104,97,114,44,32,115,116,100,58,58,99,104,97,114,95,116,114,97,105,116,115,60,99,104,97,114,62,32,62,0,98,97,115,105,99,95,111,115,116,114,101,97,109,0,115,116,100,58,58,98,97,115,105,99,95,105,111,115,116,114,101,97,109,60,99,104,97,114,44,32,115,116,100,58,58,99,104,97,114,95,116,114,97,105,116,115,60,99,104,97,114,62,32,62,0,98,97,115,105,99,95,105,111,115,116,114,101,97,109,0,95,71,76,79,66,65,76,95,95,78,0,40,97,110,111,110,121,109,111,117,115,32,110,97,109,101,115,112,97,99,101,41,0,32,62,0,119,99,104,97,114,95,116,0,102,97,108,115,101,0,116,114,117,101,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,0,117,0,108,0,117,108,0,108,108,0,117,108,108,0,95,95,105,110,116,49,50,56,0,117,110,115,105,103,110,101,100,32,95,95,105,110,116,49,50,56,0,37,97,102,0,37,97,0,37,76,97,76,0,38,61,0,61,0,97,108,105,103,110,111,102,32,40,0,99,111,110,115,116,95,99,97,115,116,60,0,62,40,0,44,0,41,40,0,100,101,108,101,116,101,91,93,32,0,100,121,110,97,109,105,99,95,99,97,115,116,60,0,100,101,108,101,116,101,32,0,46,42,0,47,0,47,61,0,94,0,94,61,0,61,61,0,62,61,0,41,91,0,60,61,0,60,60,0,60,60,61,0,45,0,45,61,0,42,61,0,45,45,0,41,45,45,0,91,93,32,0,41,32,0,33,61,0,33,0,110,111,101,120,99,101,112,116,32,40,0,124,124,0,124,0,124,61,0,45,62,42,0,43,0,43,61,0,43,43,0,41,43,43,0,45,62,0,41,32,63,32,40,0,41,32,58,32,40,0,114,101,105,110,116,101,114,112,114,101,116,95,99,97,115,116,60,0,37,0,37,61,0,62,62,0,62,62,61,0,115,116,97,116,105,99,95,99,97,115,116,60,0,115,105,122,101,111,102,32,40,0,115,105,122,101,111,102,46,46,46,40,0,116,121,112,101,105,100,40,0,116,104,114,111,119,0,116,104,114,111,119,32,0,102,112,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,95,95,116,104,114,111,119,95,111,117,116,95,111,102,95,114,97,110,103,101,0,118,111,105,100,0,98,111,111,108,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,108,111,110,103,32,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,108,111,110,103,32,100,111,117,98,108,101,0,95,95,102,108,111,97,116,49,50,56,0,46,46,46,0,100,101,99,105,109,97,108,54,52,0,100,101,99,105,109,97,108,49,50,56,0,100,101,99,105,109,97,108,51,50,0,100,101,99,105,109,97,108,49,54,0,99,104,97,114,51,50,95,116,0,99,104,97,114,49,54,95,116,0,97,117,116,111,0,115,116,100,58,58,110,117,108,108,112,116,114,95,116,0,118,116,97,98,108,101,32,102,111,114,32,0,86,84,84,32,102,111,114,32,0,116,121,112,101,105,110,102,111,32,102,111,114,32,0,116,121,112,101,105,110,102,111,32,110,97,109,101,32,102,111,114,32,0,99,111,118,97,114,105,97,110,116,32,114,101,116,117,114,110,32,116,104,117,110,107,32,116,111,32,0,99,111,110,115,116,114,117,99,116,105,111,110,32,118,116,97,98,108,101,32,102,111,114,32,0,45,105,110,45,0,118,105,114,116,117,97,108,32,116,104,117,110,107,32,116,111,32,0,110,111,110,45,118,105,114,116,117,97,108,32,116,104,117,110,107,32,116,111,32,0,103,117,97,114,100,32,118,97,114,105,97,98,108,101,32,102,111,114,32,0,114,101,102,101,114,101,110,99,101,32,116,101,109,112,111,114,97,114,121,32,102,111,114,32,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); -/* memory initializer */ allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+17795); - - - - - -/* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); - -assert(tempDoublePtr % 8 == 0); - -function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - -} - -function copyTempDouble(ptr) { - - HEAP8[tempDoublePtr] = HEAP8[ptr]; - - HEAP8[tempDoublePtr+1] = HEAP8[ptr+1]; - - HEAP8[tempDoublePtr+2] = HEAP8[ptr+2]; - - HEAP8[tempDoublePtr+3] = HEAP8[ptr+3]; - - HEAP8[tempDoublePtr+4] = HEAP8[ptr+4]; - - HEAP8[tempDoublePtr+5] = HEAP8[ptr+5]; - - HEAP8[tempDoublePtr+6] = HEAP8[ptr+6]; - - HEAP8[tempDoublePtr+7] = HEAP8[ptr+7]; - -} - -// {{PRE_LIBRARY}} - - - - function _atexit(func, arg) { - __ATEXIT__.unshift({ func: func, arg: arg }); - }function ___cxa_atexit() { - return _atexit.apply(null, arguments) - } - - - Module["_i64Subtract"] = _i64Subtract; - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - - - - function embind_init_charCodes() { - var codes = new Array(256); - for (var i = 0; i < 256; ++i) { - codes[i] = String.fromCharCode(i); - } - embind_charCodes = codes; - }var embind_charCodes=undefined;function readLatin1String(ptr) { - var ret = ""; - var c = ptr; - while (HEAPU8[c]) { - ret += embind_charCodes[HEAPU8[c++]]; - } - return ret; - } - - - var awaitingDependencies={}; - - var registeredTypes={}; - - var typeDependencies={}; - - - - - - - var char_0=48; - - var char_9=57;function makeLegalFunctionName(name) { - if (undefined === name) { - return '_unknown'; - } - name = name.replace(/[^a-zA-Z0-9_]/g, '$'); - var f = name.charCodeAt(0); - if (f >= char_0 && f <= char_9) { - return '_' + name; - } else { - return name; - } - }function createNamedFunction(name, body) { - name = makeLegalFunctionName(name); - /*jshint evil:true*/ - return new Function( - "body", - "return function " + name + "() {\n" + - " \"use strict\";" + - " return body.apply(this, arguments);\n" + - "};\n" - )(body); - }function extendError(baseErrorType, errorName) { - var errorClass = createNamedFunction(errorName, function(message) { - this.name = errorName; - this.message = message; - - var stack = (new Error(message)).stack; - if (stack !== undefined) { - this.stack = this.toString() + '\n' + - stack.replace(/^Error(:[^\n]*)?\n/, ''); - } - }); - errorClass.prototype = Object.create(baseErrorType.prototype); - errorClass.prototype.constructor = errorClass; - errorClass.prototype.toString = function() { - if (this.message === undefined) { - return this.name; - } else { - return this.name + ': ' + this.message; - } - }; - - return errorClass; - }var BindingError=undefined;function throwBindingError(message) { - throw new BindingError(message); - } - - - - var InternalError=undefined;function throwInternalError(message) { - throw new InternalError(message); - }function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { - myTypes.forEach(function(type) { - typeDependencies[type] = dependentTypes; - }); - - function onComplete(typeConverters) { - var myTypeConverters = getTypeConverters(typeConverters); - if (myTypeConverters.length !== myTypes.length) { - throwInternalError('Mismatched type converter count'); - } - for (var i = 0; i < myTypes.length; ++i) { - registerType(myTypes[i], myTypeConverters[i]); - } - } - - var typeConverters = new Array(dependentTypes.length); - var unregisteredTypes = []; - var registered = 0; - dependentTypes.forEach(function(dt, i) { - if (registeredTypes.hasOwnProperty(dt)) { - typeConverters[i] = registeredTypes[dt]; - } else { - unregisteredTypes.push(dt); - if (!awaitingDependencies.hasOwnProperty(dt)) { - awaitingDependencies[dt] = []; - } - awaitingDependencies[dt].push(function() { - typeConverters[i] = registeredTypes[dt]; - ++registered; - if (registered === unregisteredTypes.length) { - onComplete(typeConverters); - } - }); - } - }); - if (0 === unregisteredTypes.length) { - onComplete(typeConverters); - } - }function registerType(rawType, registeredInstance, options) { - options = options || {}; - - if (!('argPackAdvance' in registeredInstance)) { - throw new TypeError('registerType registeredInstance requires argPackAdvance'); - } - - var name = registeredInstance.name; - if (!rawType) { - throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); - } - if (registeredTypes.hasOwnProperty(rawType)) { - if (options.ignoreDuplicateRegistrations) { - return; - } else { - throwBindingError("Cannot register type '" + name + "' twice"); - } - } - - registeredTypes[rawType] = registeredInstance; - delete typeDependencies[rawType]; - - if (awaitingDependencies.hasOwnProperty(rawType)) { - var callbacks = awaitingDependencies[rawType]; - delete awaitingDependencies[rawType]; - callbacks.forEach(function(cb) { - cb(); - }); - } - }function __embind_register_void(rawType, name) { - name = readLatin1String(name); - registerType(rawType, { - isVoid: true, // void return values can be optimized out sometimes - name: name, - 'argPackAdvance': 0, - 'fromWireType': function() { - return undefined; - }, - 'toWireType': function(destructors, o) { - // TODO: assert if anything else is given? - return undefined; - }, - }); - } - - - function __ZSt18uncaught_exceptionv() { // std::uncaught_exception() - return !!__ZSt18uncaught_exceptionv.uncaught_exception; - } - - - - var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function (adjusted) { - if (!adjusted || EXCEPTIONS.infos[adjusted]) return adjusted; - for (var ptr in EXCEPTIONS.infos) { - var info = EXCEPTIONS.infos[ptr]; - if (info.adjusted === adjusted) { - return ptr; - } - } - return adjusted; - },addRef:function (ptr) { - if (!ptr) return; - var info = EXCEPTIONS.infos[ptr]; - info.refcount++; - },decRef:function (ptr) { - if (!ptr) return; - var info = EXCEPTIONS.infos[ptr]; - assert(info.refcount > 0); - info.refcount--; - if (info.refcount === 0) { - if (info.destructor) { - Runtime.dynCall('vi', info.destructor, [ptr]); - } - delete EXCEPTIONS.infos[ptr]; - ___cxa_free_exception(ptr); - } - },clearRef:function (ptr) { - if (!ptr) return; - var info = EXCEPTIONS.infos[ptr]; - info.refcount = 0; - }}; - function ___resumeException(ptr) { - if (!EXCEPTIONS.last) { EXCEPTIONS.last = ptr; } - EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr)); // exception refcount should be cleared, but don't free it - throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; - }function ___cxa_find_matching_catch() { - var thrown = EXCEPTIONS.last; - if (!thrown) { - // just pass through the null ptr - return ((asm["setTempRet0"](0),0)|0); - } - var info = EXCEPTIONS.infos[thrown]; - var throwntype = info.type; - if (!throwntype) { - // just pass through the thrown ptr - return ((asm["setTempRet0"](0),thrown)|0); - } - var typeArray = Array.prototype.slice.call(arguments); - - var pointer = Module['___cxa_is_pointer_type'](throwntype); - // can_catch receives a **, add indirection - if (!___cxa_find_matching_catch.buffer) ___cxa_find_matching_catch.buffer = _malloc(4); - HEAP32[((___cxa_find_matching_catch.buffer)>>2)]=thrown; - thrown = ___cxa_find_matching_catch.buffer; - // The different catch blocks are denoted by different types. - // Due to inheritance, those types may not precisely match the - // type of the thrown object. Find one which matches, and - // return the type of the catch block which should be called. - for (var i = 0; i < typeArray.length; i++) { - if (typeArray[i] && Module['___cxa_can_catch'](typeArray[i], throwntype, thrown)) { - thrown = HEAP32[((thrown)>>2)]; // undo indirection - info.adjusted = thrown; - return ((asm["setTempRet0"](typeArray[i]),thrown)|0); - } - } - // Shouldn't happen unless we have bogus data in typeArray - // or encounter a type for which emscripten doesn't have suitable - // typeinfo defined. Best-efforts match just in case. - thrown = HEAP32[((thrown)>>2)]; // undo indirection - return ((asm["setTempRet0"](throwntype),thrown)|0); - }function ___cxa_throw(ptr, type, destructor) { - EXCEPTIONS.infos[ptr] = { - ptr: ptr, - adjusted: ptr, - type: type, - destructor: destructor, - refcount: 0 - }; - EXCEPTIONS.last = ptr; - if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) { - __ZSt18uncaught_exceptionv.uncaught_exception = 1; - } else { - __ZSt18uncaught_exceptionv.uncaught_exception++; - } - throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - - function getShiftFromSize(size) { - switch (size) { - case 1: return 0; - case 2: return 1; - case 4: return 2; - case 8: return 3; - default: - throw new TypeError('Unknown type size: ' + size); - } - }function __embind_register_bool(rawType, name, size, trueValue, falseValue) { - var shift = getShiftFromSize(size); - - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(wt) { - // ambiguous emscripten ABI: sometimes return values are - // true or false, and sometimes integers (0 or 1) - return !!wt; - }, - 'toWireType': function(destructors, o) { - return o ? trueValue : falseValue; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': function(pointer) { - // TODO: if heap is fixed (like in asm.js) this could be executed outside - var heap; - if (size === 1) { - heap = HEAP8; - } else if (size === 2) { - heap = HEAP16; - } else if (size === 4) { - heap = HEAP32; - } else { - throw new TypeError("Unknown boolean type size: " + name); - } - return this['fromWireType'](heap[pointer >> shift]); - }, - destructorFunction: null, // This type does not need a destructor - }); - } - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _abort() { - Module['abort'](); - } - - - function _free() { - } - Module["_free"] = _free; - - function _malloc(bytes) { - /* Over-allocate to make sure it is byte-aligned by 8. - * This will leak memory, but this is only the dummy - * implementation (replaced by dlmalloc normally) so - * not an issue. - */ - var ptr = Runtime.dynamicAlloc(bytes + 8); - return (ptr+8) & 0xFFFFFFF8; - } - Module["_malloc"] = _malloc; - - function simpleReadValueFromPointer(pointer) { - return this['fromWireType'](HEAPU32[pointer >> 2]); - }function __embind_register_std_string(rawType, name) { - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - var length = HEAPU32[value >> 2]; - var a = new Array(length); - for (var i = 0; i < length; ++i) { - a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); - } - _free(value); - return a.join(''); - }, - 'toWireType': function(destructors, value) { - if (value instanceof ArrayBuffer) { - value = new Uint8Array(value); - } - - function getTAElement(ta, index) { - return ta[index]; - } - function getStringElement(string, index) { - return string.charCodeAt(index); - } - var getElement; - if (value instanceof Uint8Array) { - getElement = getTAElement; - } else if (value instanceof Int8Array) { - getElement = getTAElement; - } else if (typeof value === 'string') { - getElement = getStringElement; - } else { - throwBindingError('Cannot pass non-string to std::string'); - } - - // assumes 4-byte alignment - var length = value.length; - var ptr = _malloc(4 + length); - HEAPU32[ptr >> 2] = length; - for (var i = 0; i < length; ++i) { - var charCode = getElement(value, i); - if (charCode > 255) { - _free(ptr); - throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); - } - HEAPU8[ptr + 4 + i] = charCode; - } - if (destructors !== null) { - destructors.push(_free, ptr); - } - return ptr; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: function(ptr) { _free(ptr); }, - }); - } - - function __embind_register_std_wstring(rawType, charSize, name) { - // nb. do not cache HEAPU16 and HEAPU32, they may be destroyed by enlargeMemory(). - name = readLatin1String(name); - var getHeap, shift; - if (charSize === 2) { - getHeap = function() { return HEAPU16; }; - shift = 1; - } else if (charSize === 4) { - getHeap = function() { return HEAPU32; }; - shift = 2; - } - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - var HEAP = getHeap(); - var length = HEAPU32[value >> 2]; - var a = new Array(length); - var start = (value + 4) >> shift; - for (var i = 0; i < length; ++i) { - a[i] = String.fromCharCode(HEAP[start + i]); - } - _free(value); - return a.join(''); - }, - 'toWireType': function(destructors, value) { - // assumes 4-byte alignment - var HEAP = getHeap(); - var length = value.length; - var ptr = _malloc(4 + length * charSize); - HEAPU32[ptr >> 2] = length; - var start = (ptr + 4) >> shift; - for (var i = 0; i < length; ++i) { - HEAP[start + i] = value.charCodeAt(i); - } - if (destructors !== null) { - destructors.push(_free, ptr); - } - return ptr; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: function(ptr) { _free(ptr); }, - }); - } - - function ___lock() {} - - function ___unlock() {} - - var _emscripten_asm_const_int=true; - - - Module["_i64Add"] = _i64Add; - - var _fabs=Math_abs; - - var _sqrt=Math_sqrt; - - - function _embind_repr(v) { - if (v === null) { - return 'null'; - } - var t = typeof v; - if (t === 'object' || t === 'array' || t === 'function') { - return v.toString(); - } else { - return '' + v; - } - } - - function integerReadValueFromPointer(name, shift, signed) { - // integers are quite common, so generate very specialized functions - switch (shift) { - case 0: return signed ? - function readS8FromPointer(pointer) { return HEAP8[pointer]; } : - function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; - case 1: return signed ? - function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : - function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; - case 2: return signed ? - function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : - function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; - default: - throw new TypeError("Unknown integer type: " + name); - } - }function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { - name = readLatin1String(name); - if (maxRange === -1) { // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come out as 'i32 -1'. Always treat those as max u32. - maxRange = 4294967295; - } - - var shift = getShiftFromSize(size); - - var fromWireType = function(value) { - return value; - }; - - if (minRange === 0) { - var bitshift = 32 - 8*size; - fromWireType = function(value) { - return (value << bitshift) >>> bitshift; - }; - } - - registerType(primitiveType, { - name: name, - 'fromWireType': fromWireType, - 'toWireType': function(destructors, value) { - // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could - // avoid the following two if()s and assume value is of proper type. - if (typeof value !== "number" && typeof value !== "boolean") { - throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); - } - if (value < minRange || value > maxRange) { - throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ', ' + maxRange + ']!'); - } - return value | 0; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), - destructorFunction: null, // This type does not need a destructor - }); - } - - - - var emval_free_list=[]; - - var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle) { - if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { - emval_handle_array[handle] = undefined; - emval_free_list.push(handle); - } - } - - - - function count_emval_handles() { - var count = 0; - for (var i = 5; i < emval_handle_array.length; ++i) { - if (emval_handle_array[i] !== undefined) { - ++count; - } - } - return count; - } - - function get_first_emval() { - for (var i = 5; i < emval_handle_array.length; ++i) { - if (emval_handle_array[i] !== undefined) { - return emval_handle_array[i]; - } - } - return null; - }function init_emval() { - Module['count_emval_handles'] = count_emval_handles; - Module['get_first_emval'] = get_first_emval; - }function __emval_register(value) { - - switch(value){ - case undefined :{ return 1; } - case null :{ return 2; } - case true :{ return 3; } - case false :{ return 4; } - default:{ - var handle = emval_free_list.length ? - emval_free_list.pop() : - emval_handle_array.length; - - emval_handle_array[handle] = {refcount: 1, value: value}; - return handle; - } - } - }function __embind_register_emval(rawType, name) { - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(handle) { - var rv = emval_handle_array[handle].value; - __emval_decref(handle); - return rv; - }, - 'toWireType': function(destructors, value) { - return __emval_register(value); - }, - 'argPackAdvance': 8, - 'readValueFromPointer': simpleReadValueFromPointer, - destructorFunction: null, // This type does not need a destructor - - // TODO: do we need a deleteObject here? write a test where - // emval is passed into JS via an interface - }); - } - - function ___cxa_allocate_exception(size) { - return _malloc(size); - } - - var _sin=Math_sin; - - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name) { - // long sysconf(int name); - // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html - switch(name) { - case 30: return PAGE_SIZE; - case 85: return totalMemory / PAGE_SIZE; - case 132: - case 133: - case 12: - case 137: - case 138: - case 15: - case 235: - case 16: - case 17: - case 18: - case 19: - case 20: - case 149: - case 13: - case 10: - case 236: - case 153: - case 9: - case 21: - case 22: - case 159: - case 154: - case 14: - case 77: - case 78: - case 139: - case 80: - case 81: - case 82: - case 68: - case 67: - case 164: - case 11: - case 29: - case 47: - case 48: - case 95: - case 52: - case 51: - case 46: - return 200809; - case 79: - return 0; - case 27: - case 246: - case 127: - case 128: - case 23: - case 24: - case 160: - case 161: - case 181: - case 182: - case 242: - case 183: - case 184: - case 243: - case 244: - case 245: - case 165: - case 178: - case 179: - case 49: - case 50: - case 168: - case 169: - case 175: - case 170: - case 171: - case 172: - case 97: - case 76: - case 32: - case 173: - case 35: - return -1; - case 176: - case 177: - case 7: - case 155: - case 8: - case 157: - case 125: - case 126: - case 92: - case 93: - case 129: - case 130: - case 131: - case 94: - case 91: - return 1; - case 74: - case 60: - case 69: - case 70: - case 4: - return 1024; - case 31: - case 42: - case 72: - return 32; - case 87: - case 26: - case 33: - return 2147483647; - case 34: - case 1: - return 47839; - case 38: - case 36: - return 99; - case 43: - case 37: - return 2048; - case 0: return 2097152; - case 3: return 65536; - case 28: return 32768; - case 44: return 32767; - case 75: return 16384; - case 39: return 1000; - case 89: return 700; - case 71: return 256; - case 40: return 255; - case 2: return 100; - case 180: return 64; - case 25: return 20; - case 5: return 16; - case 6: return 6; - case 73: return 4; - case 84: { - if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; - return 1; - } - } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - - function __exit(status) { - // void _exit(int status); - // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html - Module['exit'](status); - }function _exit(status) { - __exit(status); - } - - var _llvm_ctlz_i32=true; - - - function floatReadValueFromPointer(name, shift) { - switch (shift) { - case 2: return function(pointer) { - return this['fromWireType'](HEAPF32[pointer >> 2]); - }; - case 3: return function(pointer) { - return this['fromWireType'](HEAPF64[pointer >> 3]); - }; - default: - throw new TypeError("Unknown float type: " + name); - } - }function __embind_register_float(rawType, name, size) { - var shift = getShiftFromSize(size); - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': function(value) { - return value; - }, - 'toWireType': function(destructors, value) { - // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could - // avoid the following if() and assume value is of proper type. - if (typeof value !== "number" && typeof value !== "boolean") { - throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); - } - return value; - }, - 'argPackAdvance': 8, - 'readValueFromPointer': floatReadValueFromPointer(name, shift), - destructorFunction: null, // This type does not need a destructor - }); - } - - var _BDtoIHigh=true; - - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - - - function new_(constructor, argumentList) { - if (!(constructor instanceof Function)) { - throw new TypeError('new_ called with constructor type ' + typeof(constructor) + " which is not a function"); - } - - /* - * Previously, the following line was just: - - function dummy() {}; - - * Unfortunately, Chrome was preserving 'dummy' as the object's name, even though at creation, the 'dummy' has the - * correct constructor name. Thus, objects created with IMVU.new would show up in the debugger as 'dummy', which - * isn't very helpful. Using IMVU.createNamedFunction addresses the issue. Doublely-unfortunately, there's no way - * to write a test for this behavior. -NRD 2013.02.22 - */ - var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function(){}); - dummy.prototype = constructor.prototype; - var obj = new dummy; - - var r = constructor.apply(obj, argumentList); - return (r instanceof Object) ? r : obj; - } - - function runDestructors(destructors) { - while (destructors.length) { - var ptr = destructors.pop(); - var del = destructors.pop(); - del(ptr); - } - }function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { - // humanName: a human-readable string name for the function to be generated. - // argTypes: An array that contains the embind type objects for all types in the function signature. - // argTypes[0] is the type object for the function return value. - // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. - // argTypes[2...] are the actual function parameters. - // classType: The embind type object for the class to be bound, or null if this is not a method of a class. - // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. - // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. - var argCount = argTypes.length; - - if (argCount < 2) { - throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); - } - - var isClassMethodFunc = (argTypes[1] !== null && classType !== null); - - // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. - // TODO: This omits argument count check - enable only at -O3 or similar. - // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { - // return FUNCTION_TABLE[fn]; - // } - - var argsList = ""; - var argsListWired = ""; - for(var i = 0; i < argCount - 2; ++i) { - argsList += (i!==0?", ":"")+"arg"+i; - argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; - } - - var invokerFnBody = - "return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n" + - "if (arguments.length !== "+(argCount - 2)+") {\n" + - "throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount - 2)+" args!');\n" + - "}\n"; - - - // Determine if we need to use a dynamic stack to store the destructors for the function parameters. - // TODO: Remove this completely once all function invokers are being dynamically generated. - var needsDestructorStack = false; - - for(var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. - if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack - needsDestructorStack = true; - break; - } - } - - if (needsDestructorStack) { - invokerFnBody += - "var destructors = [];\n"; - } - - var dtorStack = needsDestructorStack ? "destructors" : "null"; - var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; - var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; - - - if (isClassMethodFunc) { - invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n"; - } - - for(var i = 0; i < argCount - 2; ++i) { - invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n"; - args1.push("argType"+i); - args2.push(argTypes[i+2]); - } - - if (isClassMethodFunc) { - argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; - } - - var returns = (argTypes[0].name !== "void"); - - invokerFnBody += - (returns?"var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n"; - - if (needsDestructorStack) { - invokerFnBody += "runDestructors(destructors);\n"; - } else { - for(var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. - var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired")); - if (argTypes[i].destructorFunction !== null) { - invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n"; - args1.push(paramName+"_dtor"); - args2.push(argTypes[i].destructorFunction); - } - } - } - - if (returns) { - invokerFnBody += "var ret = retType.fromWireType(rv);\n" + - "return ret;\n"; - } else { - } - invokerFnBody += "}\n"; - - args1.push(invokerFnBody); - - var invokerFunction = new_(Function, args1).apply(null, args2); - return invokerFunction; - } - - - function ensureOverloadTable(proto, methodName, humanName) { - if (undefined === proto[methodName].overloadTable) { - var prevFunc = proto[methodName]; - // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. - proto[methodName] = function() { - // TODO This check can be removed in -O3 level "unsafe" optimizations. - if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { - throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!"); - } - return proto[methodName].overloadTable[arguments.length].apply(this, arguments); - }; - // Move the previous function into the overload table. - proto[methodName].overloadTable = []; - proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; - } - }function exposePublicSymbol(name, value, numArguments) { - if (Module.hasOwnProperty(name)) { - if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { - throwBindingError("Cannot register public name '" + name + "' twice"); - } - - // We are exposing a function with the same name as an existing function. Create an overload table and a function selector - // that routes between the two. - ensureOverloadTable(Module, name, name); - if (Module.hasOwnProperty(numArguments)) { - throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!"); - } - // Add the new function into the overload table. - Module[name].overloadTable[numArguments] = value; - } - else { - Module[name] = value; - if (undefined !== numArguments) { - Module[name].numArguments = numArguments; - } - } - } - - function heap32VectorToArray(count, firstElement) { - var array = []; - for (var i = 0; i < count; i++) { - array.push(HEAP32[(firstElement >> 2) + i]); - } - return array; - } - - function replacePublicSymbol(name, value, numArguments) { - if (!Module.hasOwnProperty(name)) { - throwInternalError('Replacing nonexistant public symbol'); - } - // If there's an overload table for this symbol, replace the symbol in the overload table instead. - if (undefined !== Module[name].overloadTable && undefined !== numArguments) { - Module[name].overloadTable[numArguments] = value; - } - else { - Module[name] = value; - } - } - - function requireFunction(signature, rawFunction) { - signature = readLatin1String(signature); - - function makeDynCaller(dynCall) { - var args = []; - for (var i = 1; i < signature.length; ++i) { - args.push('a' + i); - } - - var name = 'dynCall_' + signature + '_' + rawFunction; - var body = 'return function ' + name + '(' + args.join(', ') + ') {\n'; - body += ' return dynCall(rawFunction' + (args.length ? ', ' : '') + args.join(', ') + ');\n'; - body += '};\n'; - - return (new Function('dynCall', 'rawFunction', body))(dynCall, rawFunction); - } - - var fp; - if (Module['FUNCTION_TABLE_' + signature] !== undefined) { - fp = Module['FUNCTION_TABLE_' + signature][rawFunction]; - } else if (typeof FUNCTION_TABLE !== "undefined") { - fp = FUNCTION_TABLE[rawFunction]; - } else { - // asm.js does not give direct access to the function tables, - // and thus we must go through the dynCall interface which allows - // calling into a signature's function table by pointer value. - // - // https://github.com/dherman/asm.js/issues/83 - // - // This has three main penalties: - // - dynCall is another function call in the path from JavaScript to C++. - // - JITs may not predict through the function table indirection at runtime. - var dc = asm['dynCall_' + signature]; - if (dc === undefined) { - // We will always enter this branch if the signature - // contains 'f' and PRECISE_F32 is not enabled. - // - // Try again, replacing 'f' with 'd'. - dc = asm['dynCall_' + signature.replace(/f/g, 'd')]; - if (dc === undefined) { - throwBindingError("No dynCall invoker for signature: " + signature); - } - } - fp = makeDynCaller(dc); - } - - if (typeof fp !== "function") { - throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction); - } - return fp; - } - - - var UnboundTypeError=undefined; - - function getTypeName(type) { - var ptr = ___getTypeName(type); - var rv = readLatin1String(ptr); - _free(ptr); - return rv; - }function throwUnboundTypeError(message, types) { - var unboundTypes = []; - var seen = {}; - function visit(type) { - if (seen[type]) { - return; - } - if (registeredTypes[type]) { - return; - } - if (typeDependencies[type]) { - typeDependencies[type].forEach(visit); - return; - } - unboundTypes.push(type); - seen[type] = true; - } - types.forEach(visit); - - throw new UnboundTypeError(message + ': ' + unboundTypes.map(getTypeName).join([', '])); - }function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { - var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); - name = readLatin1String(name); - - rawInvoker = requireFunction(signature, rawInvoker); - - exposePublicSymbol(name, function() { - throwUnboundTypeError('Cannot call ' + name + ' due to unbound types', argTypes); - }, argCount - 1); - - whenDependentTypesAreResolved([], argTypes, function(argTypes) { - var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); - replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn), argCount - 1); - return []; - }); - } - - function __embind_register_constant(name, type, value) { - name = readLatin1String(name); - whenDependentTypesAreResolved([], [type], function(type) { - type = type[0]; - Module[name] = type['fromWireType'](value); - return []; - }); - } - - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - - - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var fd = process.stdin.fd; - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} - - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); - - if (usingDevice) { fs.closeSync(fd); } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { // Can we just reuse the buffer we are given? - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - } - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function(e) { - done(this.error); - e.preventDefault(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },symlink:function (parent, newName, oldPath) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=allocate(1, "i32*", ALLOC_STATIC); - - var _stdout=allocate(1, "i32*", ALLOC_STATIC); - - var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); } - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); } - } - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= mounts.length) { - callback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperty(lazyArray, "length", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }); - Object.defineProperty(lazyArray, "chunkSize", { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { - get: function() { return this.contents.length; } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function (path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },varargs:0,get:function (varargs) { - SYSCALLS.varargs += 4; - var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; - return ret; - },getStr:function () { - var ret = Pointer_stringify(SYSCALLS.get()); - return ret; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },get64:function () { - var low = SYSCALLS.get(), high = SYSCALLS.get(); - if (low >= 0) assert(high === 0); - else assert(high === -1); - return low; - },getZero:function () { - assert(SYSCALLS.get() === 0); - }};function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs; - try { - // close - var stream = SYSCALLS.getStreamFromFD(); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - var _cos=Math_cos; - - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - - Module["_memmove"] = _memmove; - - var _BItoD=true; - - function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - var _ceilf=Math_ceil; - - function __embind_register_memory_view(rawType, dataTypeIndex, name) { - var typeMapping = [ - Int8Array, - Uint8Array, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array, - ]; - - var TA = typeMapping[dataTypeIndex]; - - function decodeMemoryView(handle) { - handle = handle >> 2; - var heap = HEAPU32; - var size = heap[handle]; // in elements - var data = heap[handle + 1]; // byte offset into emscripten heap - return new TA(heap['buffer'], data, size); - } - - name = readLatin1String(name); - registerType(rawType, { - name: name, - 'fromWireType': decodeMemoryView, - 'argPackAdvance': 8, - 'readValueFromPointer': decodeMemoryView, - }, { - ignoreDuplicateRegistrations: true, - }); - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - - function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs; - try { - // llseek - var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); - var offset = offset_low; - assert(offset_high === 0); - FS.llseek(stream, offset, whence); - HEAP32[((result)>>2)]=stream.position; - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doWritev(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doReadv(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - var ___dso_handle=allocate(1, "i32*", ALLOC_STATIC); -embind_init_charCodes() -BindingError = Module['BindingError'] = extendError(Error, 'BindingError'); -InternalError = Module['InternalError'] = extendError(Error, 'InternalError'); -init_emval(); -UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError'); -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() }); -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -staticSealed = true; // seal the static portion of memory - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); - -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); - - var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); - - -function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_dii(x) { Module["printErr"]("Invalid function pointer called with signature 'dii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_di(x) { Module["printErr"]("Invalid function pointer called with signature 'di'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } - -function invoke_iiii(index,a1,a2,a3) { - try { - return Module["dynCall_iiii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_dii(index,a1,a2) { - try { - return Module["dynCall_dii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_di(index,a1) { - try { - return Module["dynCall_di"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_ii(index,a1) { - try { - return Module["dynCall_ii"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiii(index,a1,a2,a3,a4) { - try { - return Module["dynCall_iiiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; - -Module.asmLibraryArg = { "abort": abort, "assert": assert, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_dii": nullFunc_dii, "nullFunc_vid": nullFunc_vid, "nullFunc_di": nullFunc_di, "nullFunc_i": nullFunc_i, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiii": invoke_viiiii, "invoke_dii": invoke_dii, "invoke_vid": invoke_vid, "invoke_di": invoke_di, "invoke_i": invoke_i, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "_fabs": _fabs, "___syscall221": ___syscall221, "_sin": _sin, "floatReadValueFromPointer": floatReadValueFromPointer, "simpleReadValueFromPointer": simpleReadValueFromPointer, "___syscall54": ___syscall54, "__embind_register_memory_view": __embind_register_memory_view, "throwInternalError": throwInternalError, "get_first_emval": get_first_emval, "_abort": _abort, "_pthread_cleanup_push": _pthread_cleanup_push, "extendError": extendError, "__embind_register_integer": __embind_register_integer, "___assert_fail": ___assert_fail, "init_emval": init_emval, "___cxa_allocate_exception": ___cxa_allocate_exception, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "_ceilf": _ceilf, "getShiftFromSize": getShiftFromSize, "__embind_register_function": __embind_register_function, "__embind_register_emval": __embind_register_emval, "_emscripten_asm_const_33": _emscripten_asm_const_33, "__embind_register_constant": __embind_register_constant, "___setErrNo": ___setErrNo, "__emval_register": __emval_register, "_sbrk": _sbrk, "readLatin1String": readLatin1String, "__embind_register_void": __embind_register_void, "_emscripten_memcpy_big": _emscripten_memcpy_big, "__embind_register_bool": __embind_register_bool, "___resumeException": ___resumeException, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "_sysconf": _sysconf, "_embind_repr": _embind_repr, "__embind_register_std_wstring": __embind_register_std_wstring, "createNamedFunction": createNamedFunction, "embind_init_charCodes": embind_init_charCodes, "_cos": _cos, "getTypeName": getTypeName, "throwUnboundTypeError": throwUnboundTypeError, "_pthread_self": _pthread_self, "craftInvokerFunction": craftInvokerFunction, "__emval_decref": __emval_decref, "_sqrt": _sqrt, "__embind_register_float": __embind_register_float, "makeLegalFunctionName": makeLegalFunctionName, "integerReadValueFromPointer": integerReadValueFromPointer, "___unlock": ___unlock, "heap32VectorToArray": heap32VectorToArray, "_pthread_cleanup_pop": _pthread_cleanup_pop, "whenDependentTypesAreResolved": whenDependentTypesAreResolved, "_exit": _exit, "___syscall5": ___syscall5, "_emscripten_asm_const_4": _emscripten_asm_const_4, "___cxa_atexit": ___cxa_atexit, "registerType": registerType, "___cxa_throw": ___cxa_throw, "__exit": __exit, "___lock": ___lock, "___syscall6": ___syscall6, "throwBindingError": throwBindingError, "ensureOverloadTable": ensureOverloadTable, "count_emval_handles": count_emval_handles, "_time": _time, "requireFunction": requireFunction, "runDestructors": runDestructors, "new_": new_, "_atexit": _atexit, "___syscall140": ___syscall140, "exposePublicSymbol": exposePublicSymbol, "_emscripten_asm_const_5": _emscripten_asm_const_5, "__embind_register_std_string": __embind_register_std_string, "replacePublicSymbol": replacePublicSymbol, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8, "___dso_handle": ___dso_handle }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { - 'use asm'; - - - var Int8View = global.Int8Array; - var Int16View = global.Int16Array; - var Int32View = global.Int32Array; - var Uint8View = global.Uint8Array; - var Uint16View = global.Uint16Array; - var Uint32View = global.Uint32Array; - var Float32View = global.Float32Array; - var Float64View = global.Float64Array; - var HEAP8 = new Int8View(buffer); - var HEAP16 = new Int16View(buffer); - var HEAP32 = new Int32View(buffer); - var HEAPU8 = new Uint8View(buffer); - var HEAPU16 = new Uint16View(buffer); - var HEAPU32 = new Uint32View(buffer); - var HEAPF32 = new Float32View(buffer); - var HEAPF64 = new Float64View(buffer); - var byteLength = global.byteLength; - - - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; - var tempDoublePtr=env.tempDoublePtr|0; - var ABORT=env.ABORT|0; - var cttz_i8=env.cttz_i8|0; - var ___dso_handle=env.___dso_handle|0; - - var __THREW__ = 0; - var threwValue = 0; - var setjmpId = 0; - var undef = 0; - var nan = global.NaN, inf = global.Infinity; - var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; - var Math_floor=global.Math.floor; - var Math_abs=global.Math.abs; - var Math_sqrt=global.Math.sqrt; - var Math_pow=global.Math.pow; - var Math_cos=global.Math.cos; - var Math_sin=global.Math.sin; - var Math_tan=global.Math.tan; - var Math_acos=global.Math.acos; - var Math_asin=global.Math.asin; - var Math_atan=global.Math.atan; - var Math_atan2=global.Math.atan2; - var Math_exp=global.Math.exp; - var Math_log=global.Math.log; - var Math_ceil=global.Math.ceil; - var Math_imul=global.Math.imul; - var Math_min=global.Math.min; - var Math_clz32=global.Math.clz32; - var abort=env.abort; - var assert=env.assert; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiii=env.nullFunc_viiiii; - var nullFunc_dii=env.nullFunc_dii; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_di=env.nullFunc_di; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_iiiii=env.nullFunc_iiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_dii=env.invoke_dii; - var invoke_vid=env.invoke_vid; - var invoke_di=env.invoke_di; - var invoke_i=env.invoke_i; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viii=env.invoke_viii; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_iiiii=env.invoke_iiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_iii=env.invoke_iii; - var invoke_viiii=env.invoke_viiii; - var _fabs=env._fabs; - var ___syscall221=env.___syscall221; - var _sin=env._sin; - var floatReadValueFromPointer=env.floatReadValueFromPointer; - var simpleReadValueFromPointer=env.simpleReadValueFromPointer; - var ___syscall54=env.___syscall54; - var __embind_register_memory_view=env.__embind_register_memory_view; - var throwInternalError=env.throwInternalError; - var get_first_emval=env.get_first_emval; - var _abort=env._abort; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var extendError=env.extendError; - var __embind_register_integer=env.__embind_register_integer; - var ___assert_fail=env.___assert_fail; - var init_emval=env.init_emval; - var ___cxa_allocate_exception=env.___cxa_allocate_exception; - var __ZSt18uncaught_exceptionv=env.__ZSt18uncaught_exceptionv; - var _ceilf=env._ceilf; - var getShiftFromSize=env.getShiftFromSize; - var __embind_register_function=env.__embind_register_function; - var __embind_register_emval=env.__embind_register_emval; - var _emscripten_asm_const_33=env._emscripten_asm_const_33; - var __embind_register_constant=env.__embind_register_constant; - var ___setErrNo=env.___setErrNo; - var __emval_register=env.__emval_register; - var _sbrk=env._sbrk; - var readLatin1String=env.readLatin1String; - var __embind_register_void=env.__embind_register_void; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var __embind_register_bool=env.__embind_register_bool; - var ___resumeException=env.___resumeException; - var ___cxa_find_matching_catch=env.___cxa_find_matching_catch; - var _sysconf=env._sysconf; - var _embind_repr=env._embind_repr; - var __embind_register_std_wstring=env.__embind_register_std_wstring; - var createNamedFunction=env.createNamedFunction; - var embind_init_charCodes=env.embind_init_charCodes; - var _cos=env._cos; - var getTypeName=env.getTypeName; - var throwUnboundTypeError=env.throwUnboundTypeError; - var _pthread_self=env._pthread_self; - var craftInvokerFunction=env.craftInvokerFunction; - var __emval_decref=env.__emval_decref; - var _sqrt=env._sqrt; - var __embind_register_float=env.__embind_register_float; - var makeLegalFunctionName=env.makeLegalFunctionName; - var integerReadValueFromPointer=env.integerReadValueFromPointer; - var ___unlock=env.___unlock; - var heap32VectorToArray=env.heap32VectorToArray; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; - var whenDependentTypesAreResolved=env.whenDependentTypesAreResolved; - var _exit=env._exit; - var ___syscall5=env.___syscall5; - var _emscripten_asm_const_4=env._emscripten_asm_const_4; - var ___cxa_atexit=env.___cxa_atexit; - var registerType=env.registerType; - var ___cxa_throw=env.___cxa_throw; - var __exit=env.__exit; - var ___lock=env.___lock; - var ___syscall6=env.___syscall6; - var throwBindingError=env.throwBindingError; - var ensureOverloadTable=env.ensureOverloadTable; - var count_emval_handles=env.count_emval_handles; - var _time=env._time; - var requireFunction=env.requireFunction; - var runDestructors=env.runDestructors; - var new_=env.new_; - var _atexit=env._atexit; - var ___syscall140=env.___syscall140; - var exposePublicSymbol=env.exposePublicSymbol; - var _emscripten_asm_const_5=env._emscripten_asm_const_5; - var __embind_register_std_string=env.__embind_register_std_string; - var replacePublicSymbol=env.replacePublicSymbol; - var ___syscall145=env.___syscall145; - var ___syscall146=env.___syscall146; - var tempFloat = 0.0; - -function _emscripten_replace_memory(newBuffer) { - if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; - HEAP8 = new Int8View(newBuffer); - HEAP16 = new Int16View(newBuffer); - HEAP32 = new Int32View(newBuffer); - HEAPU8 = new Uint8View(newBuffer); - HEAPU16 = new Uint16View(newBuffer); - HEAPU32 = new Uint32View(newBuffer); - HEAPF32 = new Float32View(newBuffer); - HEAPF64 = new Float64View(newBuffer); - buffer = newBuffer; - return true; -} - -// EMSCRIPTEN_START_FUNCS - -function __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i105 = 0, $$0$i$i$i113 = 0, $$0$i$i$i123 = 0, $$0$i$i$i131 = 0, $$0$i$i$i136 = 0, $$0$i$i$i148 = 0, $$0$i$i$i153 = 0, $$0$i$i$i17 = 0, $$0$i$i$i181 = 0, $$0$i$i$i191509 = 0, $$0$i$i$i22 = 0, $$0$i$i$i27 = 0, $$0$i$i$i29 = 0, $$0$i$i$i31 = 0, $$0$i$i$i38 = 0, $$0$i$i$i43 = 0, $$0$i$i$i51 = 0, $$0$i$i$i56 = 0, $$0$i$i$i61 = 0, $$0$i$i$i66 = 0, $$0$i$i$i71 = 0, $$0$i$i$i76 = 0, $$0$i$i$i81 = 0, $$0$i$i$i87 = 0, $$0$i$i$i95 = 0, $$01$i$i = 0, $$03$i$i = 0, $$08$i = 0, $$1$i$i = 0, $$1$i263 = 0, $$12$i$i = 0, $$13$i259$ph = 0, $$14$i$i = 0, $$2$i$i = 0, $$in = 0, $$lcssa667 = 0, $$lcssa674 = 0, $$lcssa682 = 0, $$lcssa690 = 0, $$lcssa698 = 0, $$lcssa706 = 0, $$ph390 = 0, $$pre$i$i$i$i = 0, $$pre$i$i$i$i203 = 0, $$pre$i$i$i21$i = 0, $$pre$i$i$i36$i = 0, $$pre$i$i$i52$i = 0, $$pre$i$i$i71$i = 0, $0 = 0, $1 = 0, $10 = 0, $1001 = 0, $1003 = 0, $1006 = 0, $101 = 0, $1010 = 0, $1013 = 0, $1018 = 0, $1019 = 0, $1022 = 0, $1023 = 0, $1025 = 0, $1026 = 0, $1035 = 0, $1038 = 0, $104 = 0, $1043 = 0, $1044 = 0, $1049 = 0, $1051 = 0, $1054 = 0, $1058 = 0, $1061 = 0, $1066 = 0, $1067 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1073 = 0, $1074 = 0, $108 = 0, $1083 = 0, $1086 = 0, $1094 = 0, $1096 = 0, $11 = 0, $1100 = 0, $1101 = 0, $1103 = 0, $1110 = 0, $1112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1126 = 0, $1129 = 0, $113 = 0, $1132 = 0, $1133 = 0, $1139 = 0, $1141 = 0, $1145 = 0, $115 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1159 = 0, $1161 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1168 = 0, $117 = 0, $1178 = 0, $1179 = 0, $1180 = 0, $1181 = 0, $1184 = 0, $1187 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1205 = 0, $1210 = 0, $1217 = 0, $1219 = 0, $122 = 0, $1223 = 0, $1226 = 0, $1228 = 0, $123 = 0, $1233 = 0, $1237 = 0, $124 = 0, $1245 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $126 = 0, $1269 = 0, $1270 = 0, $1271 = 0, $1274 = 0, $1277 = 0, $1283 = 0, $1289 = 0, $1290 = 0, $1291 = 0, $1297 = 0, $1299 = 0, $13 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1306 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $1322 = 0, $1325 = 0, $1328 = 0, $1329 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1346 = 0, $1351 = 0, $1358 = 0, $136 = 0, $1360 = 0, $1364 = 0, $1367 = 0, $1369 = 0, $1374 = 0, $1378 = 0, $1386 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1397 = 0, $14 = 0, $1402 = 0, $1409 = 0, $1411 = 0, $1415 = 0, $1418 = 0, $1420 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1432 = 0, $1436 = 0, $1439 = 0, $1443 = 0, $1444 = 0, $1446 = 0, $1449 = 0, $1455 = 0, $1458 = 0, $147 = 0, $1470 = 0, $1474 = 0, $1475 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $15 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1508 = 0, $1511 = 0, $1517 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1531 = 0, $1533 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1540 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1556 = 0, $1559 = 0, $1562 = 0, $1563 = 0, $1568 = 0, $1569 = 0, $1570 = 0, $1571 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1577 = 0, $1582 = 0, $1589 = 0, $1591 = 0, $1595 = 0, $1598 = 0, $16 = 0, $1600 = 0, $1605 = 0, $1609 = 0, $1617 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $164 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1646 = 0, $1649 = 0, $165 = 0, $1655 = 0, $166 = 0, $1661 = 0, $1662 = 0, $1668 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $168 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1693 = 0, $1696 = 0, $1699 = 0, $17 = 0, $1700 = 0, $1705 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1729 = 0, $1732 = 0, $1743 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $1750 = 0, $1753 = 0, $1755 = 0, $1766 = 0, $1768 = 0, $1769 = 0, $1776 = 0, $1778 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $1792 = 0, $1795 = 0, $1798 = 0, $1799 = 0, $18 = 0, $1805 = 0, $1807 = 0, $181 = 0, $1811 = 0, $1813 = 0, $1815 = 0, $1817 = 0, $1818 = 0, $182 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1831 = 0, $1832 = 0, $1834 = 0, $1839 = 0, $1846 = 0, $1848 = 0, $1853 = 0, $1858 = 0, $186 = 0, $1860 = 0, $1866 = 0, $1869 = 0, $1871 = 0, $1881 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1889 = 0, $189 = 0, $1891 = 0, $1892 = 0, $1894 = 0, $1895 = 0, $1897 = 0, $19 = 0, $1903 = 0, $1912 = 0, $1915 = 0, $1917 = 0, $1927 = 0, $1930 = 0, $1933 = 0, $1935 = 0, $1942 = 0, $1945 = 0, $1947 = 0, $195 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1961 = 0, $1963 = 0, $1966 = 0, $1967 = 0, $197 = 0, $1970 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1977 = 0, $1984 = 0, $1986 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2003 = 0, $2006 = 0, $2007 = 0, $2013 = 0, $2015 = 0, $2019 = 0, $202 = 0, $2023 = 0, $2027 = 0, $2029 = 0, $2033 = 0, $2034 = 0, $2036 = 0, $204 = 0, $2043 = 0, $2045 = 0, $205 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2059 = 0, $2062 = 0, $2065 = 0, $2066 = 0, $2072 = 0, $2074 = 0, $2078 = 0, $208 = 0, $2080 = 0, $2082 = 0, $2083 = 0, $209 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2097 = 0, $2099 = 0, $21 = 0, $211 = 0, $2110 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2117 = 0, $212 = 0, $2124 = 0, $2126 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $214 = 0, $2140 = 0, $2143 = 0, $2146 = 0, $2147 = 0, $2153 = 0, $2155 = 0, $2159 = 0, $2161 = 0, $2163 = 0, $2169 = 0, $2170 = 0, $2171 = 0, $2177 = 0, $2179 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2186 = 0, $219 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $2202 = 0, $2205 = 0, $2208 = 0, $2209 = 0, $2214 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $2220 = 0, $2221 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2238 = 0, $2241 = 0, $2247 = 0, $2251 = 0, $2253 = 0, $2257 = 0, $2258 = 0, $226 = 0, $2260 = 0, $2267 = 0, $2269 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2283 = 0, $2286 = 0, $2289 = 0, $2290 = 0, $2296 = 0, $2298 = 0, $23 = 0, $2308 = 0, $2309 = 0, $2311 = 0, $2317 = 0, $2318 = 0, $2322 = 0, $2326 = 0, $2329 = 0, $233 = 0, $2332 = 0, $2335 = 0, $2337 = 0, $2347 = 0, $2348 = 0, $2351 = 0, $2354 = 0, $2355 = 0, $2357 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2371 = 0, $2373 = 0, $2376 = 0, $2377 = 0, $238 = 0, $2382 = 0, $2385 = 0, $2386 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2398 = 0, $24 = 0, $240 = 0, $2402 = 0, $2405 = 0, $2408 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2432 = 0, $2434 = 0, $2438 = 0, $2441 = 0, $2444 = 0, $2446 = 0, $2459 = 0, $2461 = 0, $2465 = 0, $2466 = 0, $2468 = 0, $2475 = 0, $2477 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2491 = 0, $2494 = 0, $2497 = 0, $2498 = 0, $25 = 0, $250 = 0, $2504 = 0, $2506 = 0, $2510 = 0, $2512 = 0, $2516 = 0, $2518 = 0, $2522 = 0, $2523 = 0, $2525 = 0, $2532 = 0, $2534 = 0, $254 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2548 = 0, $255 = 0, $2551 = 0, $2554 = 0, $2555 = 0, $2561 = 0, $2563 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $258 = 0, $259 = 0, $26 = 0, $261 = 0, $262 = 0, $264 = 0, $269 = 0, $27 = 0, $276 = 0, $278 = 0, $28 = 0, $283 = 0, $288 = 0, $29 = 0, $290 = 0, $298 = 0, $3 = 0, $30 = 0, $301 = 0, $308 = 0, $309 = 0, $31 = 0, $318 = 0, $32 = 0, $321 = 0, $324 = 0, $326 = 0, $33 = 0, $336 = 0, $34 = 0, $341 = 0, $342 = 0, $344 = 0, $345 = 0, $35 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $359 = 0, $36 = 0, $360 = 0, $365 = 0, $367 = 0, $37 = 0, $370 = 0, $374 = 0, $377 = 0, $38 = 0, $382 = 0, $383 = 0, $386 = 0, $387 = 0, $389 = 0, $39 = 0, $390 = 0, $399 = 0, $4 = 0, $40 = 0, $402 = 0, $407 = 0, $408 = 0, $41 = 0, $410 = 0, $411 = 0, $415 = 0, $416 = 0, $418 = 0, $42 = 0, $422 = 0, $424 = 0, $429 = 0, $43 = 0, $434 = 0, $436 = 0, $44 = 0, $441 = 0, $442 = 0, $443 = 0, $446 = 0, $449 = 0, $45 = 0, $451 = 0, $458 = 0, $46 = 0, $465 = 0, $467 = 0, $47 = 0, $470 = 0, $474 = 0, $477 = 0, $48 = 0, $482 = 0, $483 = 0, $486 = 0, $487 = 0, $489 = 0, $49 = 0, $490 = 0, $499 = 0, $5 = 0, $50 = 0, $502 = 0, $510 = 0, $512 = 0, $516 = 0, $517 = 0, $519 = 0, $526 = 0, $528 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $542 = 0, $545 = 0, $548 = 0, $549 = 0, $555 = 0, $557 = 0, $56 = 0, $561 = 0, $562 = 0, $565 = 0, $566 = 0, $569 = 0, $57 = 0, $571 = 0, $574 = 0, $575 = 0, $577 = 0, $584 = 0, $586 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $6 = 0, $600 = 0, $603 = 0, $606 = 0, $607 = 0, $613 = 0, $615 = 0, $620 = 0, $624 = 0, $626 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $64 = 0, $641 = 0, $644 = 0, $648 = 0, $657 = 0, $658 = 0, $664 = 0, $669 = 0, $679 = 0, $681 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $698 = 0, $7 = 0, $70 = 0, $703 = 0, $705 = 0, $716 = 0, $718 = 0, $72 = 0, $722 = 0, $723 = 0, $725 = 0, $73 = 0, $732 = 0, $734 = 0, $74 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $748 = 0, $75 = 0, $751 = 0, $754 = 0, $755 = 0, $76 = 0, $761 = 0, $763 = 0, $767 = 0, $768 = 0, $77 = 0, $771 = 0, $772 = 0, $775 = 0, $777 = 0, $780 = 0, $781 = 0, $783 = 0, $79 = 0, $790 = 0, $792 = 0, $8 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $806 = 0, $809 = 0, $812 = 0, $813 = 0, $819 = 0, $82 = 0, $821 = 0, $826 = 0, $827 = 0, $829 = 0, $831 = 0, $832 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $846 = 0, $856 = 0, $857 = 0, $858 = 0, $86 = 0, $861 = 0, $863 = 0, $873 = 0, $876 = 0, $883 = 0, $885 = 0, $888 = 0, $892 = 0, $895 = 0, $9 = 0, $900 = 0, $901 = 0, $904 = 0, $905 = 0, $907 = 0, $908 = 0, $917 = 0, $920 = 0, $925 = 0, $926 = 0, $929 = 0, $934 = 0, $936 = 0, $939 = 0, $943 = 0, $946 = 0, $95 = 0, $951 = 0, $952 = 0, $955 = 0, $956 = 0, $958 = 0, $959 = 0, $96 = 0, $968 = 0, $97 = 0, $971 = 0, $976 = 0, $979 = 0, $98 = 0, $981 = 0, $991 = 0, $994 = 0, $__p$0$i$i$i508 = 0, $__p$0$ph$i$i$i = 0, $__v$i$i$i = 0, $args = 0, $cv = 0, $k$0$i515 = 0, $k$0560 = 0, $k11$0540 = 0, $k15$0543 = 0, $k2$0$i516 = 0, $k20$0550 = 0, $k5$0533 = 0, $k8$0536 = 0, $num1$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $phitmp$i$i$i$i$i$i$i240 = 0, $phitmp$i2$i$i$i$i$i$i243 = 0, $proto = 0, $ref_qual$0$i$ph$ph = 0, $ref_qual$0$i$ph521 = 0, $ref_qual$0$i$ph521$lcssa = 0, $t$0$i = 0, $t$1$i$be = 0, $t$1$i$ph$ph = 0, $t$1$i$ph520 = 0, $t$1$i518 = 0, $t$1$i518$lcssa = 0, $t12$0$i = 0, $template_args = 0, $type = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 784 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i$i = sp + 752 | 0; - $0 = sp + 728 | 0; - $1 = sp + 716 | 0; - $2 = sp + 704 | 0; - $3 = sp + 680 | 0; - $4 = sp + 656 | 0; - $5 = sp + 632 | 0; - $6 = sp + 620 | 0; - $num1$i = sp + 608 | 0; - $7 = sp + 596 | 0; - $8 = sp + 584 | 0; - $9 = sp + 572 | 0; - $cv = sp + 568 | 0; - $10 = sp + 552 | 0; - $11 = sp + 544 | 0; - $12 = sp + 528 | 0; - $13 = sp + 520 | 0; - $14 = sp + 504 | 0; - $15 = sp + 496 | 0; - $16 = sp + 480 | 0; - $17 = sp + 472 | 0; - $18 = sp + 456 | 0; - $19 = sp + 452 | 0; - $20 = sp + 440 | 0; - $21 = sp + 428 | 0; - $22 = sp + 416 | 0; - $23 = sp + 404 | 0; - $args = sp + 392 | 0; - $24 = sp + 376 | 0; - $25 = sp + 368 | 0; - $type = sp + 356 | 0; - $26 = sp + 344 | 0; - $27 = sp + 320 | 0; - $28 = sp + 308 | 0; - $29 = sp + 296 | 0; - $30 = sp + 284 | 0; - $proto = sp + 272 | 0; - $31 = sp + 248 | 0; - $32 = sp + 236 | 0; - $33 = sp + 224 | 0; - $34 = sp + 212 | 0; - $35 = sp + 200 | 0; - $36 = sp + 176 | 0; - $37 = sp + 164 | 0; - $38 = sp + 152 | 0; - $39 = sp + 136 | 0; - $40 = sp + 128 | 0; - $41 = sp + 112 | 0; - $42 = sp + 108 | 0; - $template_args = sp + 96 | 0; - $43 = sp + 80 | 0; - $44 = sp + 72 | 0; - $45 = sp + 56 | 0; - $46 = sp + 48 | 0; - $47 = sp + 32 | 0; - $48 = sp + 24 | 0; - $49 = sp + 8 | 0; - $50 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else { - switch (HEAP8[$first >> 0] | 0) { - case 75: - case 86: - case 114: - { - HEAP32[$cv >> 2] = 0; - $54 = __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj($first, $last, $cv) | 0; - if (($54 | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $56 = HEAP8[$54 >> 0] | 0; - $57 = $db + 4 | 0; - $63 = ((HEAP32[$57 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $64 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($54, $last, $db) | 0; - $70 = ((HEAP32[$57 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($64 | 0) == ($54 | 0)) { - $$0 = $first; - break L1; - } - $72 = $56 << 24 >> 24 == 70; - $73 = $db + 20 | 0; - $74 = HEAP32[$73 >> 2] | 0; - if ($72) { - $75 = $74 + -16 | 0; - $77 = $74; - do { - $76 = $77 + -16 | 0; - HEAP32[$73 >> 2] = $76; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($76); - $77 = HEAP32[$73 >> 2] | 0; - } while (($77 | 0) != ($75 | 0)); - $86 = $75; - } else $86 = $74; - $79 = $db + 16 | 0; - $82 = HEAP32[$db + 12 >> 2] | 0; - $84 = HEAP32[$db + 24 >> 2] | 0; - if ($86 >>> 0 < $84 >>> 0) { - HEAP32[$86 >> 2] = 0; - HEAP32[$86 + 4 >> 2] = 0; - HEAP32[$86 + 8 >> 2] = 0; - HEAP32[$86 + 12 >> 2] = $82; - HEAP32[$73 >> 2] = (HEAP32[$73 >> 2] | 0) + 16; - } else { - $95 = HEAP32[$79 >> 2] | 0; - $96 = $86 - $95 | 0; - $97 = $96 >> 4; - $98 = $97 + 1 | 0; - if (($96 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($79); - $101 = $84 - $95 | 0; - if ($101 >> 4 >>> 0 < 1073741823) { - $104 = $101 >> 3; - $$0$i$i$i38 = $104 >>> 0 < $98 >>> 0 ? $98 : $104; - } else $$0$i$i$i38 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i38, $97, $db + 28 | 0); - $107 = $__v$i$i$i + 8 | 0; - $108 = HEAP32[$107 >> 2] | 0; - HEAP32[$108 >> 2] = 0; - HEAP32[$108 + 4 >> 2] = 0; - HEAP32[$108 + 8 >> 2] = 0; - HEAP32[$108 + 12 >> 2] = $82; - HEAP32[$107 >> 2] = $108 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($79, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $113 = HEAP32[$cv >> 2] | 0; - $115 = ($113 & 1 | 0) == 0; - $117 = ($113 & 2 | 0) == 0; - $119 = ($113 & 4 | 0) == 0; - $120 = $__v$i$i$i + 8 | 0; - if ($63 >>> 0 < $70 >>> 0) $k$0560 = $63; else { - $$0 = $64; - break L1; - } - while (1) { - if ($72) { - $122 = HEAP32[$db >> 2] | 0; - $123 = $122 + ($k$0560 * 24 | 0) + 12 | 0; - $124 = HEAP8[$123 >> 0] | 0; - $126 = ($124 & 1) == 0; - if ($126) { - $$in = ($124 & 255) >>> 1; - $136 = $123 + 1 | 0; - } else { - $$in = HEAP32[$122 + ($k$0560 * 24 | 0) + 16 >> 2] | 0; - $136 = HEAP32[$122 + ($k$0560 * 24 | 0) + 20 >> 2] | 0; - } - $134 = $$in + -2 | 0; - if ((HEAP8[$136 + $134 >> 0] | 0) == 38) $p$0 = $$in + -3 | 0; else { - if ($126) { - $147 = ($124 & 255) >>> 1; - $149 = $123 + 1 | 0; - } else { - $147 = HEAP32[$122 + ($k$0560 * 24 | 0) + 16 >> 2] | 0; - $149 = HEAP32[$122 + ($k$0560 * 24 | 0) + 20 >> 2] | 0; - } - $p$0 = (HEAP8[$149 + ($147 + -1) >> 0] | 0) == 38 ? $134 : $$in; - } - if ($115) $p$1 = $p$0; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($123, $p$0, 12669) | 0; - $p$1 = $p$0 + 6 | 0; - } - if ($117) $p$2 = $p$1; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k$0560 * 24 | 0) + 12 | 0, $p$1, 12676) | 0; - $p$2 = $p$1 + 9 | 0; - } - if (!$119) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k$0560 * 24 | 0) + 12 | 0, $p$2, 12686) | 0; - } else { - if (!$115) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$db >> 2] | 0) + ($k$0560 * 24 | 0) | 0, 12669) | 0; - if (!$117) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$db >> 2] | 0) + ($k$0560 * 24 | 0) | 0, 12676) | 0; - if (!$119) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$db >> 2] | 0) + ($k$0560 * 24 | 0) | 0, 12686) | 0; - } - $164 = HEAP32[$73 >> 2] | 0; - $165 = $164 + -16 | 0; - $166 = HEAP32[$db >> 2] | 0; - $167 = $166 + ($k$0560 * 24 | 0) | 0; - $168 = $164 + -12 | 0; - $169 = HEAP32[$168 >> 2] | 0; - if (($169 | 0) == (HEAP32[$164 + -8 >> 2] | 0)) { - $181 = $169 - (HEAP32[$165 >> 2] | 0) | 0; - $182 = ($181 | 0) / 24 | 0; - $183 = $182 + 1 | 0; - if (($181 | 0) < -24) { - $$lcssa706 = $165; - break; - } - if ($182 >>> 0 < 1073741823) { - $186 = $182 << 1; - $$0$i$i$i43 = $186 >>> 0 < $183 >>> 0 ? $183 : $186; - } else $$0$i$i$i43 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i43, $182, $164 + -4 | 0); - $189 = HEAP32[$120 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($189, $167); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($189 + 12 | 0, $166 + ($k$0560 * 24 | 0) + 12 | 0); - HEAP32[$120 >> 2] = $189 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($165, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($169, $167); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($169 + 12 | 0, $166 + ($k$0560 * 24 | 0) + 12 | 0); - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 24; - } - $k$0560 = $k$0560 + 1 | 0; - if ($k$0560 >>> 0 >= $70 >>> 0) { - $$0 = $64; - break L1; - } - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa706); - break; - } - default: - {} - } - $195 = __ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($195 | 0) == ($first | 0)) { - $197 = HEAP8[$first >> 0] | 0; - L65 : do switch ($197 << 24 >> 24 | 0) { - case 65: - { - do if ($197 << 24 >> 24 == 65) { - $200 = $first + 1 | 0; - if (($200 | 0) == ($last | 0)) $$0$i = $first; else { - $202 = HEAP8[$200 >> 0] | 0; - if ($202 << 24 >> 24 == 95) { - $204 = $first + 2 | 0; - $205 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($204, $last, $db) | 0; - if (($205 | 0) == ($204 | 0)) { - $$0$i = $first; - break; - } - $208 = $db + 4 | 0; - $209 = HEAP32[$208 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($209 | 0)) { - $$0$i = $first; - break; - } - $211 = $209 + -12 | 0; - $212 = HEAP8[$211 >> 0] | 0; - $214 = ($212 & 1) == 0; - $219 = $214 ? ($212 & 255) >>> 1 : HEAP32[$209 + -8 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($__v$i$i$i, $214 ? $211 + 1 | 0 : HEAP32[$209 + -4 >> 2] | 0, $219 >>> 0 < 2 ? $219 : 2); - $226 = HEAP8[$__v$i$i$i >> 0] | 0; - $228 = ($226 & 1) == 0; - $233 = $228 ? ($226 & 255) >>> 1 : HEAP32[$__v$i$i$i + 4 >> 2] | 0; - $238 = $233 >>> 0 > 2; - $240 = _memcmp($228 ? $__v$i$i$i + 1 | 0 : HEAP32[$__v$i$i$i + 8 >> 2] | 0, 12696, $238 ? 2 : $233) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($__v$i$i$i); - if (!((($240 | 0) == 0 ? ($233 >>> 0 < 2 ? -1 : $238 & 1) : $240) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEjj((HEAP32[$208 >> 2] | 0) + -12 | 0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$208 >> 2] | 0) + -12 | 0, 0, 12699) | 0; - $$0$i = $205; - break; - } - if (($202 + -49 & 255) < 9) { - $250 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($200, $last) | 0; - if (($250 | 0) == ($last | 0)) { - $$0$i = $first; - break; - } - if ((HEAP8[$250 >> 0] | 0) != 95) { - $$0$i = $first; - break; - } - $254 = $250 + 1 | 0; - $255 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($254, $last, $db) | 0; - if (($255 | 0) == ($254 | 0)) { - $$0$i = $first; - break; - } - $258 = $db + 4 | 0; - $259 = HEAP32[$258 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($259 | 0)) { - $$0$i = $first; - break; - } - $261 = $259 + -12 | 0; - $262 = HEAP8[$261 >> 0] | 0; - $264 = ($262 & 1) == 0; - $269 = $264 ? ($262 & 255) >>> 1 : HEAP32[$259 + -8 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($0, $264 ? $261 + 1 | 0 : HEAP32[$259 + -4 >> 2] | 0, $269 >>> 0 < 2 ? $269 : 2); - $276 = HEAP8[$0 >> 0] | 0; - $278 = ($276 & 1) == 0; - $283 = $278 ? ($276 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0; - $288 = $283 >>> 0 > 2; - $290 = _memcmp($278 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, 12696, $288 ? 2 : $283) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - if (!((($290 | 0) == 0 ? ($283 >>> 0 < 2 ? -1 : $288 & 1) : $290) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEjj((HEAP32[$258 >> 2] | 0) + -12 | 0); - $298 = (HEAP32[$258 >> 2] | 0) + -12 | 0; - $301 = $250 - $200 | 0; - if ($301 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($3); - if ($301 >>> 0 < 11) { - HEAP8[$3 >> 0] = $301 << 1; - $__p$0$ph$i$i$i = $3 + 1 | 0; - } else { - $308 = $301 + 16 & -16; - $309 = _malloc($308) | 0; - HEAP32[$3 + 8 >> 2] = $309; - HEAP32[$3 >> 2] = $308 | 1; - HEAP32[$3 + 4 >> 2] = $301; - $__p$0$ph$i$i$i = $309; - } - if (($200 | 0) != ($250 | 0)) { - $$0$i$i$i191509 = $200; - $__p$0$i$i$i508 = $__p$0$ph$i$i$i; - while (1) { - HEAP8[$__p$0$i$i$i508 >> 0] = HEAP8[$$0$i$i$i191509 >> 0] | 0; - $$0$i$i$i191509 = $$0$i$i$i191509 + 1 | 0; - if (($$0$i$i$i191509 | 0) == ($250 | 0)) break; else $__p$0$i$i$i508 = $__p$0$i$i$i508 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i$i + $301 >> 0] = 0; - $318 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 12696) | 0; - HEAP32[$2 >> 2] = HEAP32[$318 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$318 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$318 + 8 >> 2]; - HEAP32[$318 >> 2] = 0; - HEAP32[$318 + 4 >> 2] = 0; - HEAP32[$318 + 8 >> 2] = 0; - $321 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12703) | 0; - HEAP32[$1 >> 2] = HEAP32[$321 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$321 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$321 + 8 >> 2]; - HEAP32[$321 >> 2] = 0; - HEAP32[$321 + 4 >> 2] = 0; - HEAP32[$321 + 8 >> 2] = 0; - $324 = HEAP8[$1 >> 0] | 0; - $326 = ($324 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKcj($298, 0, $326 ? $1 + 1 | 0 : HEAP32[$1 + 8 >> 2] | 0, $326 ? ($324 & 255) >>> 1 : HEAP32[$1 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$0$i = $255; - break; - } - $336 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($200, $last, $db) | 0; - if (($336 | 0) == ($200 | 0) | ($336 | 0) == ($last | 0)) $$0$i = $first; else if ((HEAP8[$336 >> 0] | 0) == 95) { - $341 = $336 + 1 | 0; - $342 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($341, $last, $db) | 0; - if (($342 | 0) == ($341 | 0)) $$0$i = $first; else { - $344 = $db + 4 | 0; - $345 = HEAP32[$344 >> 2] | 0; - if ((($345 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$0$i = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($4, $345 + -24 | 0); - $353 = HEAP32[$344 >> 2] | 0; - $354 = $353 + -24 | 0; - $356 = $353; - do { - $355 = $356 + -24 | 0; - HEAP32[$344 >> 2] = $355; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($355); - $356 = HEAP32[$344 >> 2] | 0; - } while (($356 | 0) != ($354 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($5, $353 + -48 | 0); - $359 = HEAP32[$344 >> 2] | 0; - $360 = $359 + -24 | 0; - do if (!(HEAP8[$360 >> 0] & 1)) { - HEAP8[$360 + 1 >> 0] = 0; - HEAP8[$360 >> 0] = 0; - } else { - $365 = $359 + -16 | 0; - HEAP8[HEAP32[$365 >> 2] >> 0] = 0; - $367 = $359 + -20 | 0; - HEAP32[$367 >> 2] = 0; - $$pre$i$i$i$i203 = HEAP8[$360 >> 0] | 0; - if (!($$pre$i$i$i$i203 & 1)) { - $374 = $$pre$i$i$i$i203; - $383 = 10; - } else { - $370 = HEAP32[$360 >> 2] | 0; - $374 = $370 & 255; - $383 = ($370 & -2) + -1 | 0; - } - if (!($374 & 1)) { - $377 = ($374 & 255) >>> 1; - if (($374 & 255) < 22) { - $2567 = 1; - $382 = 10; - $402 = $377; - } else { - $2567 = 1; - $382 = ($377 + 16 & 240) + -1 | 0; - $402 = $377; - } - } else { - $2567 = 0; - $382 = 10; - $402 = 0; - } - if (($382 | 0) != ($383 | 0)) { - if (($382 | 0) == 10) { - $389 = $360 + 1 | 0; - $390 = HEAP32[$365 >> 2] | 0; - if ($2567) { - _memcpy($389 | 0, $390 | 0, (($374 & 255) >>> 1) + 1 | 0) | 0; - _free($390); - } else { - HEAP8[$389 >> 0] = HEAP8[$390 >> 0] | 0; - _free($390); - } - HEAP8[$360 >> 0] = $402 << 1; - break; - } - $386 = $382 + 1 | 0; - $387 = _malloc($386) | 0; - if (!($382 >>> 0 <= $383 >>> 0 & ($387 | 0) == 0)) { - if ($2567) _memcpy($387 | 0, $360 + 1 | 0, (($374 & 255) >>> 1) + 1 | 0) | 0; else { - $399 = HEAP32[$365 >> 2] | 0; - HEAP8[$387 >> 0] = HEAP8[$399 >> 0] | 0; - _free($399); - } - HEAP32[$360 >> 2] = $386 | 1; - HEAP32[$367 >> 2] = $402; - HEAP32[$365 >> 2] = $387; - } - } - } while (0); - HEAP32[$360 >> 2] = HEAP32[$4 >> 2]; - HEAP32[$360 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; - HEAP32[$360 + 8 >> 2] = HEAP32[$4 + 8 >> 2]; - HEAP32[$4 >> 2] = 0; - HEAP32[$4 + 4 >> 2] = 0; - HEAP32[$4 + 8 >> 2] = 0; - $407 = $4 + 12 | 0; - $408 = HEAP8[$407 >> 0] | 0; - $410 = ($408 & 1) == 0; - $411 = $4 + 16 | 0; - $415 = $410 ? ($408 & 255) >>> 1 : HEAP32[$411 >> 2] | 0; - $416 = $4 + 20 | 0; - $418 = $407 + 1 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($6, $410 ? $418 : HEAP32[$416 >> 2] | 0, $415 >>> 0 < 2 ? $415 : 2); - $422 = HEAP8[$6 >> 0] | 0; - $424 = ($422 & 1) == 0; - $429 = $424 ? ($422 & 255) >>> 1 : HEAP32[$6 + 4 >> 2] | 0; - $434 = $429 >>> 0 > 2; - $436 = _memcmp($424 ? $6 + 1 | 0 : HEAP32[$6 + 8 >> 2] | 0, 12696, $434 ? 2 : $429) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - if (!((($436 | 0) == 0 ? ($429 >>> 0 < 2 ? -1 : $434 & 1) : $436) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEjj($407); - $441 = HEAP32[$344 >> 2] | 0; - $442 = $441 + -12 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($9, $5); - $443 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($9, 0, 12696) | 0; - HEAP32[$8 >> 2] = HEAP32[$443 >> 2]; - HEAP32[$8 + 4 >> 2] = HEAP32[$443 + 4 >> 2]; - HEAP32[$8 + 8 >> 2] = HEAP32[$443 + 8 >> 2]; - HEAP32[$443 >> 2] = 0; - HEAP32[$443 + 4 >> 2] = 0; - HEAP32[$443 + 8 >> 2] = 0; - $446 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($8, 12703) | 0; - HEAP32[$7 >> 2] = HEAP32[$446 >> 2]; - HEAP32[$7 + 4 >> 2] = HEAP32[$446 + 4 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[$446 + 8 >> 2]; - HEAP32[$446 >> 2] = 0; - HEAP32[$446 + 4 >> 2] = 0; - HEAP32[$446 + 8 >> 2] = 0; - $449 = HEAP8[$407 >> 0] | 0; - $451 = ($449 & 1) == 0; - $458 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($7, $451 ? $418 : HEAP32[$416 >> 2] | 0, $451 ? ($449 & 255) >>> 1 : HEAP32[$411 >> 2] | 0) | 0; - HEAP32[$num1$i >> 2] = HEAP32[$458 >> 2]; - HEAP32[$num1$i + 4 >> 2] = HEAP32[$458 + 4 >> 2]; - HEAP32[$num1$i + 8 >> 2] = HEAP32[$458 + 8 >> 2]; - HEAP32[$458 >> 2] = 0; - HEAP32[$458 + 4 >> 2] = 0; - HEAP32[$458 + 8 >> 2] = 0; - do if (!(HEAP8[$442 >> 0] & 1)) { - HEAP8[$442 + 1 >> 0] = 0; - HEAP8[$442 >> 0] = 0; - } else { - $465 = $441 + -4 | 0; - HEAP8[HEAP32[$465 >> 2] >> 0] = 0; - $467 = $441 + -8 | 0; - HEAP32[$467 >> 2] = 0; - $$pre$i$i$i36$i = HEAP8[$442 >> 0] | 0; - if (!($$pre$i$i$i36$i & 1)) { - $474 = $$pre$i$i$i36$i; - $483 = 10; - } else { - $470 = HEAP32[$442 >> 2] | 0; - $474 = $470 & 255; - $483 = ($470 & -2) + -1 | 0; - } - do if (!($474 & 1)) { - $477 = ($474 & 255) >>> 1; - if (($474 & 255) < 22) { - $2568 = 1; - $482 = 10; - $502 = $477; - break; - } - $2568 = 1; - $482 = ($477 + 16 & 240) + -1 | 0; - $502 = $477; - } else { - $2568 = 0; - $482 = 10; - $502 = 0; - } while (0); - if (($482 | 0) != ($483 | 0)) { - if (($482 | 0) == 10) { - $489 = $442 + 1 | 0; - $490 = HEAP32[$465 >> 2] | 0; - if ($2568) { - _memcpy($489 | 0, $490 | 0, (($474 & 255) >>> 1) + 1 | 0) | 0; - _free($490); - } else { - HEAP8[$489 >> 0] = HEAP8[$490 >> 0] | 0; - _free($490); - } - HEAP8[$442 >> 0] = $502 << 1; - break; - } - $486 = $482 + 1 | 0; - $487 = _malloc($486) | 0; - if ($482 >>> 0 <= $483 >>> 0 & ($487 | 0) == 0) break; - if ($2568) _memcpy($487 | 0, $442 + 1 | 0, (($474 & 255) >>> 1) + 1 | 0) | 0; else { - $499 = HEAP32[$465 >> 2] | 0; - HEAP8[$487 >> 0] = HEAP8[$499 >> 0] | 0; - _free($499); - } - HEAP32[$442 >> 2] = $486 | 1; - HEAP32[$467 >> 2] = $502; - HEAP32[$465 >> 2] = $487; - } - } while (0); - HEAP32[$442 >> 2] = HEAP32[$num1$i >> 2]; - HEAP32[$442 + 4 >> 2] = HEAP32[$num1$i + 4 >> 2]; - HEAP32[$442 + 8 >> 2] = HEAP32[$num1$i + 8 >> 2]; - HEAP32[$num1$i >> 2] = 0; - HEAP32[$num1$i + 4 >> 2] = 0; - HEAP32[$num1$i + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($num1$i); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($8); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($9); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($4); - $$0$i = $342; - } - } - } else $$0$i = $first; - } - } else $$0$i = $first; while (0); - if (($$0$i | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $510 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($510 | 0)) { - $$0 = $first; - break L1; - } - $512 = $db + 16 | 0; - HEAP32[$11 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($10, $510 + -24 | 0, $11); - $516 = $db + 20 | 0; - $517 = HEAP32[$516 >> 2] | 0; - $519 = HEAP32[$db + 24 >> 2] | 0; - if ($517 >>> 0 < $519 >>> 0) { - HEAP32[$517 + 12 >> 2] = HEAP32[$10 + 12 >> 2]; - HEAP32[$517 >> 2] = HEAP32[$10 >> 2]; - $526 = $10 + 4 | 0; - HEAP32[$517 + 4 >> 2] = HEAP32[$526 >> 2]; - $528 = $10 + 8 | 0; - HEAP32[$517 + 8 >> 2] = HEAP32[$528 >> 2]; - HEAP32[$528 >> 2] = 0; - HEAP32[$526 >> 2] = 0; - HEAP32[$10 >> 2] = 0; - HEAP32[$516 >> 2] = (HEAP32[$516 >> 2] | 0) + 16; - } else { - $536 = HEAP32[$512 >> 2] | 0; - $537 = $517 - $536 | 0; - $538 = $537 >> 4; - $539 = $538 + 1 | 0; - if (($537 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($512); - $542 = $519 - $536 | 0; - if ($542 >> 4 >>> 0 < 1073741823) { - $545 = $542 >> 3; - $$0$i$i$i56 = $545 >>> 0 < $539 >>> 0 ? $539 : $545; - } else $$0$i$i$i56 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i56, $538, $db + 28 | 0); - $548 = $__v$i$i$i + 8 | 0; - $549 = HEAP32[$548 >> 2] | 0; - HEAP32[$549 + 12 >> 2] = HEAP32[$10 + 12 >> 2]; - HEAP32[$549 >> 2] = HEAP32[$10 >> 2]; - $555 = $10 + 4 | 0; - HEAP32[$549 + 4 >> 2] = HEAP32[$555 >> 2]; - $557 = $10 + 8 | 0; - HEAP32[$549 + 8 >> 2] = HEAP32[$557 >> 2]; - HEAP32[$557 >> 2] = 0; - HEAP32[$555 >> 2] = 0; - HEAP32[$10 >> 2] = 0; - HEAP32[$548 >> 2] = $549 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($512, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($10); - $$0 = $$0$i; - break L1; - break; - } - case 67: - { - $561 = $first + 1 | 0; - $562 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($561, $last, $db) | 0; - if (($562 | 0) == ($561 | 0)) { - $$0 = $first; - break L1; - } - $565 = $db + 4 | 0; - $566 = HEAP32[$565 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($566 | 0)) { - $$0 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($566 + -24 | 0, 12705) | 0; - $569 = $db + 16 | 0; - $571 = (HEAP32[$565 >> 2] | 0) + -24 | 0; - HEAP32[$13 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($12, $571, $13); - $574 = $db + 20 | 0; - $575 = HEAP32[$574 >> 2] | 0; - $577 = HEAP32[$db + 24 >> 2] | 0; - if ($575 >>> 0 < $577 >>> 0) { - HEAP32[$575 + 12 >> 2] = HEAP32[$12 + 12 >> 2]; - HEAP32[$575 >> 2] = HEAP32[$12 >> 2]; - $584 = $12 + 4 | 0; - HEAP32[$575 + 4 >> 2] = HEAP32[$584 >> 2]; - $586 = $12 + 8 | 0; - HEAP32[$575 + 8 >> 2] = HEAP32[$586 >> 2]; - HEAP32[$586 >> 2] = 0; - HEAP32[$584 >> 2] = 0; - HEAP32[$12 >> 2] = 0; - HEAP32[$574 >> 2] = (HEAP32[$574 >> 2] | 0) + 16; - } else { - $594 = HEAP32[$569 >> 2] | 0; - $595 = $575 - $594 | 0; - $596 = $595 >> 4; - $597 = $596 + 1 | 0; - if (($595 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($569); - $600 = $577 - $594 | 0; - if ($600 >> 4 >>> 0 < 1073741823) { - $603 = $600 >> 3; - $$0$i$i$i61 = $603 >>> 0 < $597 >>> 0 ? $597 : $603; - } else $$0$i$i$i61 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i61, $596, $db + 28 | 0); - $606 = $__v$i$i$i + 8 | 0; - $607 = HEAP32[$606 >> 2] | 0; - HEAP32[$607 + 12 >> 2] = HEAP32[$12 + 12 >> 2]; - HEAP32[$607 >> 2] = HEAP32[$12 >> 2]; - $613 = $12 + 4 | 0; - HEAP32[$607 + 4 >> 2] = HEAP32[$613 >> 2]; - $615 = $12 + 8 | 0; - HEAP32[$607 + 8 >> 2] = HEAP32[$615 >> 2]; - HEAP32[$615 >> 2] = 0; - HEAP32[$613 >> 2] = 0; - HEAP32[$12 >> 2] = 0; - HEAP32[$606 >> 2] = $607 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($569, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($12); - $$0 = $562; - break L1; - break; - } - case 70: - { - do if ($197 << 24 >> 24 == 70) { - $620 = $first + 1 | 0; - if (($620 | 0) != ($last | 0)) { - if ((HEAP8[$620 >> 0] | 0) == 89) { - $624 = $first + 2 | 0; - if (($624 | 0) == ($last | 0)) break; else $t$0$i = $624; - } else $t$0$i = $620; - $626 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($t$0$i, $last, $db) | 0; - if (($626 | 0) != ($t$0$i | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($__v$i$i$i, 12714, 1); - $628 = $db + 4 | 0; - $629 = $__v$i$i$i + 4 | 0; - $630 = $0 + 8 | 0; - $631 = $0 + 1 | 0; - $632 = $0 + 4 | 0; - L191 : do if (($626 | 0) == ($last | 0)) label = 144; else { - $ref_qual$0$i$ph521 = 0; - $t$1$i$ph520 = $626; - L192 : while (1) { - $t$1$i518 = $t$1$i$ph520; - L194 : while (1) { - switch (HEAP8[$t$1$i518 >> 0] | 0) { - case 69: - { - $ref_qual$0$i$ph521$lcssa = $ref_qual$0$i$ph521; - $t$1$i518$lcssa = $t$1$i518; - break L192; - break; - } - case 118: - { - $t$1$i$be = $t$1$i518 + 1 | 0; - break; - } - case 82: - { - $644 = $t$1$i518 + 1 | 0; - if (($644 | 0) == ($last | 0)) label = 154; else if ((HEAP8[$644 >> 0] | 0) == 69) { - $ref_qual$0$i$ph$ph = 1; - $t$1$i$ph$ph = $644; - break L194; - } else label = 154; - break; - } - case 79: - { - $648 = $t$1$i518 + 1 | 0; - if (($648 | 0) == ($last | 0)) label = 154; else if ((HEAP8[$648 >> 0] | 0) == 69) { - $ref_qual$0$i$ph$ph = 2; - $t$1$i$ph$ph = $648; - break L194; - } else label = 154; - break; - } - default: - label = 154; - } - if ((label | 0) == 154) { - label = 0; - $657 = ((HEAP32[$628 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $658 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($t$1$i518, $last, $db) | 0; - $664 = ((HEAP32[$628 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($658 | 0) == ($t$1$i518 | 0) | ($658 | 0) == ($last | 0)) break L191; - if ($657 >>> 0 < $664 >>> 0) { - $k$0$i515 = $657; - do { - $669 = HEAP8[$__v$i$i$i >> 0] | 0; - if ((($669 & 1) == 0 ? ($669 & 255) >>> 1 : HEAP32[$629 >> 2] | 0) >>> 0 > 1) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12716) | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, (HEAP32[$db >> 2] | 0) + ($k$0$i515 * 24 | 0) | 0); - $679 = HEAP8[$0 >> 0] | 0; - $681 = ($679 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($__v$i$i$i, $681 ? $631 : HEAP32[$630 >> 2] | 0, $681 ? ($679 & 255) >>> 1 : HEAP32[$632 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $k$0$i515 = $k$0$i515 + 1 | 0; - } while ($k$0$i515 >>> 0 < $664 >>> 0); - } - if ($657 >>> 0 < $664 >>> 0) { - $k2$0$i516 = $657; - do { - $690 = HEAP32[$628 >> 2] | 0; - $691 = $690 + -24 | 0; - $693 = $690; - do { - $692 = $693 + -24 | 0; - HEAP32[$628 >> 2] = $692; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($692); - $693 = HEAP32[$628 >> 2] | 0; - } while (($693 | 0) != ($691 | 0)); - $k2$0$i516 = $k2$0$i516 + 1 | 0; - } while ($k2$0$i516 >>> 0 < $664 >>> 0); - $t$1$i$be = $658; - } else $t$1$i$be = $658; - } - if (($t$1$i$be | 0) == ($last | 0)) { - label = 144; - break L191; - } else $t$1$i518 = $t$1$i$be; - } - if (($t$1$i$ph$ph | 0) == ($last | 0)) { - label = 144; - break L191; - } else { - $ref_qual$0$i$ph521 = $ref_qual$0$i$ph$ph; - $t$1$i$ph520 = $t$1$i$ph$ph; - } - } - $641 = $t$1$i518$lcssa + 1 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12619) | 0; - switch ($ref_qual$0$i$ph521$lcssa | 0) { - case 1: - { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12719) | 0; - break; - } - case 2: - { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12722) | 0; - break; - } - default: - {} - } - $698 = HEAP32[$628 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) != ($698 | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($698 + -24 | 0, 12726) | 0; - $703 = HEAP8[$__v$i$i$i >> 0] | 0; - $705 = ($703 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKcj((HEAP32[$628 >> 2] | 0) + -12 | 0, 0, $705 ? $__v$i$i$i + 1 | 0 : HEAP32[$__v$i$i$i + 8 >> 2] | 0, $705 ? ($703 & 255) >>> 1 : HEAP32[$629 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($__v$i$i$i); - if (($641 | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $716 = HEAP32[$628 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($716 | 0)) { - $$0 = $first; - break L1; - } - $718 = $db + 16 | 0; - HEAP32[$15 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($14, $716 + -24 | 0, $15); - $722 = $db + 20 | 0; - $723 = HEAP32[$722 >> 2] | 0; - $725 = HEAP32[$db + 24 >> 2] | 0; - if ($723 >>> 0 < $725 >>> 0) { - HEAP32[$723 + 12 >> 2] = HEAP32[$14 + 12 >> 2]; - HEAP32[$723 >> 2] = HEAP32[$14 >> 2]; - $732 = $14 + 4 | 0; - HEAP32[$723 + 4 >> 2] = HEAP32[$732 >> 2]; - $734 = $14 + 8 | 0; - HEAP32[$723 + 8 >> 2] = HEAP32[$734 >> 2]; - HEAP32[$734 >> 2] = 0; - HEAP32[$732 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$722 >> 2] = (HEAP32[$722 >> 2] | 0) + 16; - } else { - $742 = HEAP32[$718 >> 2] | 0; - $743 = $723 - $742 | 0; - $744 = $743 >> 4; - $745 = $744 + 1 | 0; - if (($743 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($718); - $748 = $725 - $742 | 0; - if ($748 >> 4 >>> 0 < 1073741823) { - $751 = $748 >> 3; - $$0$i$i$i66 = $751 >>> 0 < $745 >>> 0 ? $745 : $751; - } else $$0$i$i$i66 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i66, $744, $db + 28 | 0); - $754 = $__v$i$i$i + 8 | 0; - $755 = HEAP32[$754 >> 2] | 0; - HEAP32[$755 + 12 >> 2] = HEAP32[$14 + 12 >> 2]; - HEAP32[$755 >> 2] = HEAP32[$14 >> 2]; - $761 = $14 + 4 | 0; - HEAP32[$755 + 4 >> 2] = HEAP32[$761 >> 2]; - $763 = $14 + 8 | 0; - HEAP32[$755 + 8 >> 2] = HEAP32[$763 >> 2]; - HEAP32[$763 >> 2] = 0; - HEAP32[$761 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$754 >> 2] = $755 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($718, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($14); - $$0 = $641; - break L1; - } - } while (0); - if ((label | 0) == 144) { - $635 = HEAP32[$628 >> 2] | 0; - $636 = $635 + -24 | 0; - $638 = $635; - do { - $637 = $638 + -24 | 0; - HEAP32[$628 >> 2] = $637; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($637); - $638 = HEAP32[$628 >> 2] | 0; - } while (($638 | 0) != ($636 | 0)); - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($__v$i$i$i); - } - } - } while (0); - $$0 = $first; - break L1; - break; - } - case 71: - { - $767 = $first + 1 | 0; - $768 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($767, $last, $db) | 0; - if (($768 | 0) == ($767 | 0)) { - $$0 = $first; - break L1; - } - $771 = $db + 4 | 0; - $772 = HEAP32[$771 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($772 | 0)) { - $$0 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($772 + -24 | 0, 12728) | 0; - $775 = $db + 16 | 0; - $777 = (HEAP32[$771 >> 2] | 0) + -24 | 0; - HEAP32[$17 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($16, $777, $17); - $780 = $db + 20 | 0; - $781 = HEAP32[$780 >> 2] | 0; - $783 = HEAP32[$db + 24 >> 2] | 0; - if ($781 >>> 0 < $783 >>> 0) { - HEAP32[$781 + 12 >> 2] = HEAP32[$16 + 12 >> 2]; - HEAP32[$781 >> 2] = HEAP32[$16 >> 2]; - $790 = $16 + 4 | 0; - HEAP32[$781 + 4 >> 2] = HEAP32[$790 >> 2]; - $792 = $16 + 8 | 0; - HEAP32[$781 + 8 >> 2] = HEAP32[$792 >> 2]; - HEAP32[$792 >> 2] = 0; - HEAP32[$790 >> 2] = 0; - HEAP32[$16 >> 2] = 0; - HEAP32[$780 >> 2] = (HEAP32[$780 >> 2] | 0) + 16; - } else { - $800 = HEAP32[$775 >> 2] | 0; - $801 = $781 - $800 | 0; - $802 = $801 >> 4; - $803 = $802 + 1 | 0; - if (($801 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($775); - $806 = $783 - $800 | 0; - if ($806 >> 4 >>> 0 < 1073741823) { - $809 = $806 >> 3; - $$0$i$i$i71 = $809 >>> 0 < $803 >>> 0 ? $803 : $809; - } else $$0$i$i$i71 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i71, $802, $db + 28 | 0); - $812 = $__v$i$i$i + 8 | 0; - $813 = HEAP32[$812 >> 2] | 0; - HEAP32[$813 + 12 >> 2] = HEAP32[$16 + 12 >> 2]; - HEAP32[$813 >> 2] = HEAP32[$16 >> 2]; - $819 = $16 + 4 | 0; - HEAP32[$813 + 4 >> 2] = HEAP32[$819 >> 2]; - $821 = $16 + 8 | 0; - HEAP32[$813 + 8 >> 2] = HEAP32[$821 >> 2]; - HEAP32[$821 >> 2] = 0; - HEAP32[$819 >> 2] = 0; - HEAP32[$16 >> 2] = 0; - HEAP32[$812 >> 2] = $813 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($775, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($16); - $$0 = $768; - break L1; - break; - } - case 77: - { - if ($197 << 24 >> 24 == 77) { - $826 = $first + 1 | 0; - $827 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($826, $last, $db) | 0; - if (($827 | 0) == ($826 | 0)) $$08$i = $first; else { - $829 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($827, $last, $db) | 0; - if (($829 | 0) == ($827 | 0)) $$08$i = $first; else { - $831 = $db + 4 | 0; - $832 = HEAP32[$831 >> 2] | 0; - if ((($832 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$08$i = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($__v$i$i$i, $832 + -24 | 0); - $840 = HEAP32[$831 >> 2] | 0; - $841 = $840 + -24 | 0; - $843 = $840; - do { - $842 = $843 + -24 | 0; - HEAP32[$831 >> 2] = $842; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($842); - $843 = HEAP32[$831 >> 2] | 0; - } while (($843 | 0) != ($841 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($0, $840 + -48 | 0); - $846 = $__v$i$i$i + 12 | 0; - $856 = HEAP32[$831 >> 2] | 0; - $857 = $856 + -24 | 0; - if ((HEAP8[((HEAP8[$846 >> 0] & 1) == 0 ? $846 + 1 | 0 : HEAP32[$__v$i$i$i + 20 >> 2] | 0) >> 0] | 0) == 40) { - $858 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12714) | 0; - HEAP32[$3 >> 2] = HEAP32[$858 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$858 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$858 + 8 >> 2]; - HEAP32[$858 >> 2] = 0; - HEAP32[$858 + 4 >> 2] = 0; - HEAP32[$858 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($4, $0); - $861 = HEAP8[$4 >> 0] | 0; - $863 = ($861 & 1) == 0; - $873 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($3, $863 ? $4 + 1 | 0 : HEAP32[$4 + 8 >> 2] | 0, $863 ? ($861 & 255) >>> 1 : HEAP32[$4 + 4 >> 2] | 0) | 0; - HEAP32[$2 >> 2] = HEAP32[$873 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$873 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$873 + 8 >> 2]; - HEAP32[$873 >> 2] = 0; - HEAP32[$873 + 4 >> 2] = 0; - HEAP32[$873 + 8 >> 2] = 0; - $876 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12739) | 0; - HEAP32[$1 >> 2] = HEAP32[$876 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$876 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$876 + 8 >> 2]; - HEAP32[$876 >> 2] = 0; - HEAP32[$876 + 4 >> 2] = 0; - HEAP32[$876 + 8 >> 2] = 0; - do if (!(HEAP8[$857 >> 0] & 1)) { - HEAP8[$857 + 1 >> 0] = 0; - HEAP8[$857 >> 0] = 0; - } else { - $883 = $856 + -16 | 0; - HEAP8[HEAP32[$883 >> 2] >> 0] = 0; - $885 = $856 + -20 | 0; - HEAP32[$885 >> 2] = 0; - $$pre$i$i$i$i = HEAP8[$857 >> 0] | 0; - if (!($$pre$i$i$i$i & 1)) { - $892 = $$pre$i$i$i$i; - $901 = 10; - } else { - $888 = HEAP32[$857 >> 2] | 0; - $892 = $888 & 255; - $901 = ($888 & -2) + -1 | 0; - } - if (!($892 & 1)) { - $895 = ($892 & 255) >>> 1; - if (($892 & 255) < 22) { - $2569 = 1; - $900 = 10; - $920 = $895; - } else { - $2569 = 1; - $900 = ($895 + 16 & 240) + -1 | 0; - $920 = $895; - } - } else { - $2569 = 0; - $900 = 10; - $920 = 0; - } - if (($900 | 0) != ($901 | 0)) { - if (($900 | 0) == 10) { - $907 = $857 + 1 | 0; - $908 = HEAP32[$883 >> 2] | 0; - if ($2569) { - _memcpy($907 | 0, $908 | 0, (($892 & 255) >>> 1) + 1 | 0) | 0; - _free($908); - } else { - HEAP8[$907 >> 0] = HEAP8[$908 >> 0] | 0; - _free($908); - } - HEAP8[$857 >> 0] = $920 << 1; - break; - } - $904 = $900 + 1 | 0; - $905 = _malloc($904) | 0; - if (!($900 >>> 0 <= $901 >>> 0 & ($905 | 0) == 0)) { - if ($2569) _memcpy($905 | 0, $857 + 1 | 0, (($892 & 255) >>> 1) + 1 | 0) | 0; else { - $917 = HEAP32[$883 >> 2] | 0; - HEAP8[$905 >> 0] = HEAP8[$917 >> 0] | 0; - _free($917); - } - HEAP32[$857 >> 2] = $904 | 1; - HEAP32[$885 >> 2] = $920; - HEAP32[$883 >> 2] = $905; - } - } - } while (0); - HEAP32[$857 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$857 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; - HEAP32[$857 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; - HEAP32[$1 >> 2] = 0; - HEAP32[$1 + 4 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $925 = HEAP32[$831 >> 2] | 0; - $926 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($846, 0, 12619) | 0; - HEAP32[$5 >> 2] = HEAP32[$926 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$926 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$926 + 8 >> 2]; - HEAP32[$926 >> 2] = 0; - HEAP32[$926 + 4 >> 2] = 0; - HEAP32[$926 + 8 >> 2] = 0; - $929 = $925 + -12 | 0; - do if (!(HEAP8[$929 >> 0] & 1)) { - HEAP8[$929 + 1 >> 0] = 0; - HEAP8[$929 >> 0] = 0; - } else { - $934 = $925 + -4 | 0; - HEAP8[HEAP32[$934 >> 2] >> 0] = 0; - $936 = $925 + -8 | 0; - HEAP32[$936 >> 2] = 0; - $$pre$i$i$i21$i = HEAP8[$929 >> 0] | 0; - if (!($$pre$i$i$i21$i & 1)) { - $943 = $$pre$i$i$i21$i; - $952 = 10; - } else { - $939 = HEAP32[$929 >> 2] | 0; - $943 = $939 & 255; - $952 = ($939 & -2) + -1 | 0; - } - if (!($943 & 1)) { - $946 = ($943 & 255) >>> 1; - if (($943 & 255) < 22) { - $2570 = 1; - $951 = 10; - $971 = $946; - } else { - $2570 = 1; - $951 = ($946 + 16 & 240) + -1 | 0; - $971 = $946; - } - } else { - $2570 = 0; - $951 = 10; - $971 = 0; - } - if (($951 | 0) != ($952 | 0)) { - if (($951 | 0) == 10) { - $958 = $929 + 1 | 0; - $959 = HEAP32[$934 >> 2] | 0; - if ($2570) { - _memcpy($958 | 0, $959 | 0, (($943 & 255) >>> 1) + 1 | 0) | 0; - _free($959); - } else { - HEAP8[$958 >> 0] = HEAP8[$959 >> 0] | 0; - _free($959); - } - HEAP8[$929 >> 0] = $971 << 1; - break; - } - $955 = $951 + 1 | 0; - $956 = _malloc($955) | 0; - if (!($951 >>> 0 <= $952 >>> 0 & ($956 | 0) == 0)) { - if ($2570) _memcpy($956 | 0, $929 + 1 | 0, (($943 & 255) >>> 1) + 1 | 0) | 0; else { - $968 = HEAP32[$934 >> 2] | 0; - HEAP8[$956 >> 0] = HEAP8[$968 >> 0] | 0; - _free($968); - } - HEAP32[$929 >> 2] = $955 | 1; - HEAP32[$936 >> 2] = $971; - HEAP32[$934 >> 2] = $956; - } - } - } while (0); - HEAP32[$929 >> 2] = HEAP32[$5 >> 2]; - HEAP32[$929 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; - HEAP32[$929 + 8 >> 2] = HEAP32[$5 + 8 >> 2]; - HEAP32[$5 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - HEAP32[$5 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - } else { - $976 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($__v$i$i$i, 12726) | 0; - HEAP32[$7 >> 2] = HEAP32[$976 >> 2]; - HEAP32[$7 + 4 >> 2] = HEAP32[$976 + 4 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[$976 + 8 >> 2]; - HEAP32[$976 >> 2] = 0; - HEAP32[$976 + 4 >> 2] = 0; - HEAP32[$976 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($8, $0); - $979 = HEAP8[$8 >> 0] | 0; - $981 = ($979 & 1) == 0; - $991 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($7, $981 ? $8 + 1 | 0 : HEAP32[$8 + 8 >> 2] | 0, $981 ? ($979 & 255) >>> 1 : HEAP32[$8 + 4 >> 2] | 0) | 0; - HEAP32[$num1$i >> 2] = HEAP32[$991 >> 2]; - HEAP32[$num1$i + 4 >> 2] = HEAP32[$991 + 4 >> 2]; - HEAP32[$num1$i + 8 >> 2] = HEAP32[$991 + 8 >> 2]; - HEAP32[$991 >> 2] = 0; - HEAP32[$991 + 4 >> 2] = 0; - HEAP32[$991 + 8 >> 2] = 0; - $994 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($num1$i, 12739) | 0; - HEAP32[$6 >> 2] = HEAP32[$994 >> 2]; - HEAP32[$6 + 4 >> 2] = HEAP32[$994 + 4 >> 2]; - HEAP32[$6 + 8 >> 2] = HEAP32[$994 + 8 >> 2]; - HEAP32[$994 >> 2] = 0; - HEAP32[$994 + 4 >> 2] = 0; - HEAP32[$994 + 8 >> 2] = 0; - do if (!(HEAP8[$857 >> 0] & 1)) { - HEAP8[$857 + 1 >> 0] = 0; - HEAP8[$857 >> 0] = 0; - } else { - $1001 = $856 + -16 | 0; - HEAP8[HEAP32[$1001 >> 2] >> 0] = 0; - $1003 = $856 + -20 | 0; - HEAP32[$1003 >> 2] = 0; - $$pre$i$i$i52$i = HEAP8[$857 >> 0] | 0; - if (!($$pre$i$i$i52$i & 1)) { - $1010 = $$pre$i$i$i52$i; - $1019 = 10; - } else { - $1006 = HEAP32[$857 >> 2] | 0; - $1010 = $1006 & 255; - $1019 = ($1006 & -2) + -1 | 0; - } - if (!($1010 & 1)) { - $1013 = ($1010 & 255) >>> 1; - if (($1010 & 255) < 22) { - $1018 = 10; - $1038 = $1013; - $2571 = 1; - } else { - $1018 = ($1013 + 16 & 240) + -1 | 0; - $1038 = $1013; - $2571 = 1; - } - } else { - $1018 = 10; - $1038 = 0; - $2571 = 0; - } - if (($1018 | 0) != ($1019 | 0)) { - if (($1018 | 0) == 10) { - $1025 = $857 + 1 | 0; - $1026 = HEAP32[$1001 >> 2] | 0; - if ($2571) { - _memcpy($1025 | 0, $1026 | 0, (($1010 & 255) >>> 1) + 1 | 0) | 0; - _free($1026); - } else { - HEAP8[$1025 >> 0] = HEAP8[$1026 >> 0] | 0; - _free($1026); - } - HEAP8[$857 >> 0] = $1038 << 1; - break; - } - $1022 = $1018 + 1 | 0; - $1023 = _malloc($1022) | 0; - if (!($1018 >>> 0 <= $1019 >>> 0 & ($1023 | 0) == 0)) { - if ($2571) _memcpy($1023 | 0, $857 + 1 | 0, (($1010 & 255) >>> 1) + 1 | 0) | 0; else { - $1035 = HEAP32[$1001 >> 2] | 0; - HEAP8[$1023 >> 0] = HEAP8[$1035 >> 0] | 0; - _free($1035); - } - HEAP32[$857 >> 2] = $1022 | 1; - HEAP32[$1003 >> 2] = $1038; - HEAP32[$1001 >> 2] = $1023; - } - } - } while (0); - HEAP32[$857 >> 2] = HEAP32[$6 >> 2]; - HEAP32[$857 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; - HEAP32[$857 + 8 >> 2] = HEAP32[$6 + 8 >> 2]; - HEAP32[$6 >> 2] = 0; - HEAP32[$6 + 4 >> 2] = 0; - HEAP32[$6 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($num1$i); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($8); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - $1043 = HEAP32[$831 >> 2] | 0; - $1044 = $1043 + -12 | 0; - do if (!(HEAP8[$1044 >> 0] & 1)) { - HEAP8[$1044 + 1 >> 0] = 0; - HEAP8[$1044 >> 0] = 0; - } else { - $1049 = $1043 + -4 | 0; - HEAP8[HEAP32[$1049 >> 2] >> 0] = 0; - $1051 = $1043 + -8 | 0; - HEAP32[$1051 >> 2] = 0; - $$pre$i$i$i71$i = HEAP8[$1044 >> 0] | 0; - if (!($$pre$i$i$i71$i & 1)) { - $1058 = $$pre$i$i$i71$i; - $1067 = 10; - } else { - $1054 = HEAP32[$1044 >> 2] | 0; - $1058 = $1054 & 255; - $1067 = ($1054 & -2) + -1 | 0; - } - if (!($1058 & 1)) { - $1061 = ($1058 & 255) >>> 1; - if (($1058 & 255) < 22) { - $1066 = 10; - $1086 = $1061; - $2572 = 1; - } else { - $1066 = ($1061 + 16 & 240) + -1 | 0; - $1086 = $1061; - $2572 = 1; - } - } else { - $1066 = 10; - $1086 = 0; - $2572 = 0; - } - if (($1066 | 0) != ($1067 | 0)) { - if (($1066 | 0) == 10) { - $1073 = $1044 + 1 | 0; - $1074 = HEAP32[$1049 >> 2] | 0; - if ($2572) { - _memcpy($1073 | 0, $1074 | 0, (($1058 & 255) >>> 1) + 1 | 0) | 0; - _free($1074); - } else { - HEAP8[$1073 >> 0] = HEAP8[$1074 >> 0] | 0; - _free($1074); - } - HEAP8[$1044 >> 0] = $1086 << 1; - break; - } - $1070 = $1066 + 1 | 0; - $1071 = _malloc($1070) | 0; - if (!($1066 >>> 0 <= $1067 >>> 0 & ($1071 | 0) == 0)) { - if ($2572) _memcpy($1071 | 0, $1044 + 1 | 0, (($1058 & 255) >>> 1) + 1 | 0) | 0; else { - $1083 = HEAP32[$1049 >> 2] | 0; - HEAP8[$1071 >> 0] = HEAP8[$1083 >> 0] | 0; - _free($1083); - } - HEAP32[$1044 >> 2] = $1070 | 1; - HEAP32[$1051 >> 2] = $1086; - HEAP32[$1049 >> 2] = $1071; - } - } - } while (0); - HEAP32[$1044 >> 2] = HEAP32[$846 >> 2]; - HEAP32[$1044 + 4 >> 2] = HEAP32[$846 + 4 >> 2]; - HEAP32[$1044 + 8 >> 2] = HEAP32[$846 + 8 >> 2]; - HEAP32[$846 >> 2] = 0; - HEAP32[$846 + 4 >> 2] = 0; - HEAP32[$846 + 8 >> 2] = 0; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($__v$i$i$i); - $$08$i = $829; - } - } - } - } else $$08$i = $first; - if (($$08$i | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $1094 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1094 | 0)) { - $$0 = $first; - break L1; - } - $1096 = $db + 16 | 0; - HEAP32[$19 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($18, $1094 + -24 | 0, $19); - $1100 = $db + 20 | 0; - $1101 = HEAP32[$1100 >> 2] | 0; - $1103 = HEAP32[$db + 24 >> 2] | 0; - if ($1101 >>> 0 < $1103 >>> 0) { - HEAP32[$1101 + 12 >> 2] = HEAP32[$18 + 12 >> 2]; - HEAP32[$1101 >> 2] = HEAP32[$18 >> 2]; - $1110 = $18 + 4 | 0; - HEAP32[$1101 + 4 >> 2] = HEAP32[$1110 >> 2]; - $1112 = $18 + 8 | 0; - HEAP32[$1101 + 8 >> 2] = HEAP32[$1112 >> 2]; - HEAP32[$1112 >> 2] = 0; - HEAP32[$1110 >> 2] = 0; - HEAP32[$18 >> 2] = 0; - HEAP32[$1100 >> 2] = (HEAP32[$1100 >> 2] | 0) + 16; - } else { - $1120 = HEAP32[$1096 >> 2] | 0; - $1121 = $1101 - $1120 | 0; - $1122 = $1121 >> 4; - $1123 = $1122 + 1 | 0; - if (($1121 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1096); - $1126 = $1103 - $1120 | 0; - if ($1126 >> 4 >>> 0 < 1073741823) { - $1129 = $1126 >> 3; - $$0$i$i$i76 = $1129 >>> 0 < $1123 >>> 0 ? $1123 : $1129; - } else $$0$i$i$i76 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i76, $1122, $db + 28 | 0); - $1132 = $__v$i$i$i + 8 | 0; - $1133 = HEAP32[$1132 >> 2] | 0; - HEAP32[$1133 + 12 >> 2] = HEAP32[$18 + 12 >> 2]; - HEAP32[$1133 >> 2] = HEAP32[$18 >> 2]; - $1139 = $18 + 4 | 0; - HEAP32[$1133 + 4 >> 2] = HEAP32[$1139 >> 2]; - $1141 = $18 + 8 | 0; - HEAP32[$1133 + 8 >> 2] = HEAP32[$1141 >> 2]; - HEAP32[$1141 >> 2] = 0; - HEAP32[$1139 >> 2] = 0; - HEAP32[$18 >> 2] = 0; - HEAP32[$1132 >> 2] = $1133 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1096, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($18); - $$0 = $$08$i; - break L1; - break; - } - case 79: - { - $1145 = $db + 4 | 0; - $1151 = ((HEAP32[$1145 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $1152 = $first + 1 | 0; - $1153 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1152, $last, $db) | 0; - $1159 = ((HEAP32[$1145 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($1153 | 0) == ($1152 | 0)) { - $$0 = $first; - break L1; - } - $1161 = $db + 16 | 0; - $1164 = HEAP32[$db + 12 >> 2] | 0; - $1165 = $db + 20 | 0; - $1166 = HEAP32[$1165 >> 2] | 0; - $1168 = HEAP32[$db + 24 >> 2] | 0; - if ($1166 >>> 0 < $1168 >>> 0) { - HEAP32[$1166 >> 2] = 0; - HEAP32[$1166 + 4 >> 2] = 0; - HEAP32[$1166 + 8 >> 2] = 0; - HEAP32[$1166 + 12 >> 2] = $1164; - HEAP32[$1165 >> 2] = (HEAP32[$1165 >> 2] | 0) + 16; - } else { - $1178 = HEAP32[$1161 >> 2] | 0; - $1179 = $1166 - $1178 | 0; - $1180 = $1179 >> 4; - $1181 = $1180 + 1 | 0; - if (($1179 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1161); - $1184 = $1168 - $1178 | 0; - if ($1184 >> 4 >>> 0 < 1073741823) { - $1187 = $1184 >> 3; - $$0$i$i$i81 = $1187 >>> 0 < $1181 >>> 0 ? $1181 : $1187; - } else $$0$i$i$i81 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i81, $1180, $db + 28 | 0); - $1190 = $__v$i$i$i + 8 | 0; - $1191 = HEAP32[$1190 >> 2] | 0; - HEAP32[$1191 >> 2] = 0; - HEAP32[$1191 + 4 >> 2] = 0; - HEAP32[$1191 + 8 >> 2] = 0; - HEAP32[$1191 + 12 >> 2] = $1164; - HEAP32[$1190 >> 2] = $1191 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1161, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $1196 = $20 + 4 | 0; - $1197 = $20 + 8 | 0; - $1198 = $20 + 1 | 0; - $1199 = $__v$i$i$i + 8 | 0; - if ($1151 >>> 0 < $1159 >>> 0) $k5$0533 = $1151; else { - $$0 = $1153; - break L1; - } - while (1) { - $1201 = HEAP32[$db >> 2] | 0; - $1202 = $1201 + ($k5$0533 * 24 | 0) + 12 | 0; - $1203 = HEAP8[$1202 >> 0] | 0; - $1205 = ($1203 & 1) == 0; - $1210 = $1205 ? ($1203 & 255) >>> 1 : HEAP32[$1201 + ($k5$0533 * 24 | 0) + 16 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($20, $1205 ? $1202 + 1 | 0 : HEAP32[$1201 + ($k5$0533 * 24 | 0) + 20 >> 2] | 0, $1210 >>> 0 < 2 ? $1210 : 2); - $1217 = HEAP8[$20 >> 0] | 0; - $1219 = ($1217 & 1) == 0; - $1223 = $1219 ? ($1217 & 255) >>> 1 : HEAP32[$1196 >> 2] | 0; - $1226 = $1223 >>> 0 > 2; - $1228 = _memcmp($1219 ? $1198 : HEAP32[$1197 >> 2] | 0, 12696, $1226 ? 2 : $1223) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($20); - $1233 = HEAP32[$db >> 2] | 0; - if (!((($1228 | 0) == 0 ? ($1223 >>> 0 < 2 ? -1 : $1226 & 1) : $1228) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1233 + ($k5$0533 * 24 | 0) | 0, 12616) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k5$0533 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } else { - $1237 = $1233 + ($k5$0533 * 24 | 0) + 12 | 0; - if (!(HEAP8[$1237 >> 0] & 1)) $1245 = $1237 + 1 | 0; else $1245 = HEAP32[$1233 + ($k5$0533 * 24 | 0) + 20 >> 2] | 0; - if ((HEAP8[$1245 >> 0] | 0) == 40) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1233 + ($k5$0533 * 24 | 0) | 0, 12714) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k5$0533 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$db >> 2] | 0) + ($k5$0533 * 24 | 0) | 0, 12743) | 0; - $1252 = HEAP32[$1165 >> 2] | 0; - $1253 = $1252 + -16 | 0; - $1254 = HEAP32[$db >> 2] | 0; - $1255 = $1254 + ($k5$0533 * 24 | 0) | 0; - $1256 = $1252 + -12 | 0; - $1257 = HEAP32[$1256 >> 2] | 0; - if (($1257 | 0) == (HEAP32[$1252 + -8 >> 2] | 0)) { - $1269 = $1257 - (HEAP32[$1253 >> 2] | 0) | 0; - $1270 = ($1269 | 0) / 24 | 0; - $1271 = $1270 + 1 | 0; - if (($1269 | 0) < -24) { - $$lcssa667 = $1253; - break; - } - if ($1270 >>> 0 < 1073741823) { - $1274 = $1270 << 1; - $$0$i$i$i87 = $1274 >>> 0 < $1271 >>> 0 ? $1271 : $1274; - } else $$0$i$i$i87 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i87, $1270, $1252 + -4 | 0); - $1277 = HEAP32[$1199 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1277, $1255); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1277 + 12 | 0, $1254 + ($k5$0533 * 24 | 0) + 12 | 0); - HEAP32[$1199 >> 2] = $1277 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($1253, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1257, $1255); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1257 + 12 | 0, $1254 + ($k5$0533 * 24 | 0) + 12 | 0); - HEAP32[$1256 >> 2] = (HEAP32[$1256 >> 2] | 0) + 24; - } - $k5$0533 = $k5$0533 + 1 | 0; - if ($k5$0533 >>> 0 >= $1159 >>> 0) { - $$0 = $1153; - break L1; - } - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa667); - break; - } - case 80: - { - $1283 = $db + 4 | 0; - $1289 = ((HEAP32[$1283 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $1290 = $first + 1 | 0; - $1291 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1290, $last, $db) | 0; - $1297 = ((HEAP32[$1283 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($1291 | 0) == ($1290 | 0)) { - $$0 = $first; - break L1; - } - $1299 = $db + 16 | 0; - $1302 = HEAP32[$db + 12 >> 2] | 0; - $1303 = $db + 20 | 0; - $1304 = HEAP32[$1303 >> 2] | 0; - $1306 = HEAP32[$db + 24 >> 2] | 0; - if ($1304 >>> 0 < $1306 >>> 0) { - HEAP32[$1304 >> 2] = 0; - HEAP32[$1304 + 4 >> 2] = 0; - HEAP32[$1304 + 8 >> 2] = 0; - HEAP32[$1304 + 12 >> 2] = $1302; - HEAP32[$1303 >> 2] = (HEAP32[$1303 >> 2] | 0) + 16; - } else { - $1316 = HEAP32[$1299 >> 2] | 0; - $1317 = $1304 - $1316 | 0; - $1318 = $1317 >> 4; - $1319 = $1318 + 1 | 0; - if (($1317 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1299); - $1322 = $1306 - $1316 | 0; - if ($1322 >> 4 >>> 0 < 1073741823) { - $1325 = $1322 >> 3; - $$0$i$i$i95 = $1325 >>> 0 < $1319 >>> 0 ? $1319 : $1325; - } else $$0$i$i$i95 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i95, $1318, $db + 28 | 0); - $1328 = $__v$i$i$i + 8 | 0; - $1329 = HEAP32[$1328 >> 2] | 0; - HEAP32[$1329 >> 2] = 0; - HEAP32[$1329 + 4 >> 2] = 0; - HEAP32[$1329 + 8 >> 2] = 0; - HEAP32[$1329 + 12 >> 2] = $1302; - HEAP32[$1328 >> 2] = $1329 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1299, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $1334 = $21 + 4 | 0; - $1335 = $21 + 8 | 0; - $1336 = $21 + 1 | 0; - $1337 = $22 + 4 | 0; - $1338 = $22 + 8 | 0; - $1339 = $22 + 1 | 0; - $1340 = $__v$i$i$i + 8 | 0; - if ($1289 >>> 0 < $1297 >>> 0) $k8$0536 = $1289; else { - $$0 = $1291; - break L1; - } - while (1) { - $1342 = HEAP32[$db >> 2] | 0; - $1343 = $1342 + ($k8$0536 * 24 | 0) + 12 | 0; - $1344 = HEAP8[$1343 >> 0] | 0; - $1346 = ($1344 & 1) == 0; - $1351 = $1346 ? ($1344 & 255) >>> 1 : HEAP32[$1342 + ($k8$0536 * 24 | 0) + 16 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($21, $1346 ? $1343 + 1 | 0 : HEAP32[$1342 + ($k8$0536 * 24 | 0) + 20 >> 2] | 0, $1351 >>> 0 < 2 ? $1351 : 2); - $1358 = HEAP8[$21 >> 0] | 0; - $1360 = ($1358 & 1) == 0; - $1364 = $1360 ? ($1358 & 255) >>> 1 : HEAP32[$1334 >> 2] | 0; - $1367 = $1364 >>> 0 > 2; - $1369 = _memcmp($1360 ? $1336 : HEAP32[$1335 >> 2] | 0, 12696, $1367 ? 2 : $1364) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($21); - $1374 = HEAP32[$db >> 2] | 0; - if (!((($1369 | 0) == 0 ? ($1364 >>> 0 < 2 ? -1 : $1367 & 1) : $1369) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1374 + ($k8$0536 * 24 | 0) | 0, 12616) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k8$0536 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } else { - $1378 = $1374 + ($k8$0536 * 24 | 0) + 12 | 0; - if (!(HEAP8[$1378 >> 0] & 1)) $1386 = $1378 + 1 | 0; else $1386 = HEAP32[$1374 + ($k8$0536 * 24 | 0) + 20 >> 2] | 0; - if ((HEAP8[$1386 >> 0] | 0) == 40) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1374 + ($k8$0536 * 24 | 0) | 0, 12714) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k8$0536 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } - } - $1393 = HEAP32[$db >> 2] | 0; - $1394 = $1393 + ($k8$0536 * 24 | 0) | 0; - do if ((HEAP8[$1290 >> 0] | 0) == 85) { - $1395 = HEAP8[$1394 >> 0] | 0; - $1397 = ($1395 & 1) == 0; - $1402 = $1397 ? ($1395 & 255) >>> 1 : HEAP32[$1393 + ($k8$0536 * 24 | 0) + 4 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($22, $1397 ? $1394 + 1 | 0 : HEAP32[$1393 + ($k8$0536 * 24 | 0) + 8 >> 2] | 0, $1402 >>> 0 < 12 ? $1402 : 12); - $1409 = HEAP8[$22 >> 0] | 0; - $1411 = ($1409 & 1) == 0; - $1415 = $1411 ? ($1409 & 255) >>> 1 : HEAP32[$1337 >> 2] | 0; - $1418 = $1415 >>> 0 > 12; - $1420 = _memcmp($1411 ? $1339 : HEAP32[$1338 >> 2] | 0, 12746, $1418 ? 12 : $1415) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($22); - $1425 = HEAP32[$db >> 2] | 0; - $1426 = $1425 + ($k8$0536 * 24 | 0) | 0; - if (!((($1420 | 0) == 0 ? ($1415 >>> 0 < 12 ? -1 : $1418 & 1) : $1420) | 0)) { - $1428 = HEAP8[$1426 >> 0] | 0; - if (!($1428 & 1)) { - $1432 = ($1428 & 255) >>> 1; - $1443 = $1432 >>> 0 < 11 ? $1432 : 11; - $1444 = $1432; - $1446 = 10; - $1449 = $1428; - } else { - $1436 = HEAP32[$1425 + ($k8$0536 * 24 | 0) + 4 >> 2] | 0; - $1439 = HEAP32[$1426 >> 2] | 0; - $1443 = $1436 >>> 0 < 11 ? $1436 : 11; - $1444 = $1436; - $1446 = ($1439 & -2) + -1 | 0; - $1449 = $1439 & 255; - } - if (($1443 - $1444 + $1446 | 0) >>> 0 < 2) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEjjjjjjPKc($1426, $1446, 2 - $1443 + $1444 - $1446 | 0, $1444, 0, $1443, 2, 12761); - break; - } - if (!($1449 & 1)) $1458 = $1426 + 1 | 0; else $1458 = HEAP32[$1425 + ($k8$0536 * 24 | 0) + 8 >> 2] | 0; - do if (($1443 | 0) == 2) { - $$1$i$i = 0; - $$12$i$i = 12761; - $$14$i$i = 2; - $2573 = 2; - label = 339; - } else { - $1455 = $1444 - $1443 | 0; - if (($1444 | 0) == ($1443 | 0)) { - $$1$i$i = 0; - $$12$i$i = 12761; - $$14$i$i = 2; - $2573 = $1443; - label = 339; - } else { - if ($1443 >>> 0 > 2) { - HEAP8[$1458 >> 0] = 105; - HEAP8[$1458 + 1 >> 0] = 100; - _memmove($1458 + 2 | 0, $1458 + $1443 | 0, $1455 | 0) | 0; - $$2$i$i = 2; - $1474 = $1443; - break; - } - do if ($1458 >>> 0 < 12761 >>> 0 & ($1458 + $1444 | 0) >>> 0 > 12761 >>> 0) if (($1458 + $1443 | 0) >>> 0 > 12761 >>> 0) { - _memcpy($1458 | 0, 12761, $1443 | 0) | 0; - $$0$i$i = $1443; - $$01$i$i = 12763; - $$03$i$i = 2 - $1443 | 0; - $1470 = 0; - break; - } else { - $$0$i$i = 0; - $$01$i$i = 12761 + (2 - $1443) | 0; - $$03$i$i = 2; - $1470 = $1443; - break; - } else { - $$0$i$i = 0; - $$01$i$i = 12761; - $$03$i$i = 2; - $1470 = $1443; - } while (0); - _memmove($1458 + ($$0$i$i + $$03$i$i) | 0, $1458 + ($$0$i$i + $1470) | 0, $1455 | 0) | 0; - $$1$i$i = $$0$i$i; - $$12$i$i = $$01$i$i; - $$14$i$i = $$03$i$i; - $2573 = $1470; - label = 339; - } - } while (0); - if ((label | 0) == 339) { - label = 0; - _memmove($1458 + $$1$i$i | 0, $$12$i$i | 0, $$14$i$i | 0) | 0; - $$2$i$i = $$14$i$i; - $1474 = $2573; - } - $1475 = $$2$i$i - $1474 + $1444 | 0; - if (!(HEAP8[$1426 >> 0] & 1)) HEAP8[$1426 >> 0] = $1475 << 1; else HEAP32[$1425 + ($k8$0536 * 24 | 0) + 4 >> 2] = $1475; - HEAP8[$1458 + $1475 >> 0] = 0; - } else { - $1427 = $1426; - label = 322; - } - } else { - $1427 = $1394; - label = 322; - } while (0); - if ((label | 0) == 322) { - label = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1427, 12759) | 0; - } - $1486 = HEAP32[$1303 >> 2] | 0; - $1487 = $1486 + -16 | 0; - $1488 = HEAP32[$db >> 2] | 0; - $1489 = $1488 + ($k8$0536 * 24 | 0) | 0; - $1490 = $1486 + -12 | 0; - $1491 = HEAP32[$1490 >> 2] | 0; - if (($1491 | 0) == (HEAP32[$1486 + -8 >> 2] | 0)) { - $1503 = $1491 - (HEAP32[$1487 >> 2] | 0) | 0; - $1504 = ($1503 | 0) / 24 | 0; - $1505 = $1504 + 1 | 0; - if (($1503 | 0) < -24) { - $$lcssa674 = $1487; - break; - } - if ($1504 >>> 0 < 1073741823) { - $1508 = $1504 << 1; - $$0$i$i$i105 = $1508 >>> 0 < $1505 >>> 0 ? $1505 : $1508; - } else $$0$i$i$i105 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i105, $1504, $1486 + -4 | 0); - $1511 = HEAP32[$1340 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1511, $1489); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1511 + 12 | 0, $1488 + ($k8$0536 * 24 | 0) + 12 | 0); - HEAP32[$1340 >> 2] = $1511 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($1487, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1491, $1489); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1491 + 12 | 0, $1488 + ($k8$0536 * 24 | 0) + 12 | 0); - HEAP32[$1490 >> 2] = (HEAP32[$1490 >> 2] | 0) + 24; - } - $k8$0536 = $k8$0536 + 1 | 0; - if ($k8$0536 >>> 0 >= $1297 >>> 0) { - $$0 = $1291; - break L1; - } - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa674); - break; - } - case 82: - { - $1517 = $db + 4 | 0; - $1523 = ((HEAP32[$1517 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $1524 = $first + 1 | 0; - $1525 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1524, $last, $db) | 0; - $1531 = ((HEAP32[$1517 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($1525 | 0) == ($1524 | 0)) { - $$0 = $first; - break L1; - } - $1533 = $db + 16 | 0; - $1536 = HEAP32[$db + 12 >> 2] | 0; - $1537 = $db + 20 | 0; - $1538 = HEAP32[$1537 >> 2] | 0; - $1540 = HEAP32[$db + 24 >> 2] | 0; - if ($1538 >>> 0 < $1540 >>> 0) { - HEAP32[$1538 >> 2] = 0; - HEAP32[$1538 + 4 >> 2] = 0; - HEAP32[$1538 + 8 >> 2] = 0; - HEAP32[$1538 + 12 >> 2] = $1536; - HEAP32[$1537 >> 2] = (HEAP32[$1537 >> 2] | 0) + 16; - } else { - $1550 = HEAP32[$1533 >> 2] | 0; - $1551 = $1538 - $1550 | 0; - $1552 = $1551 >> 4; - $1553 = $1552 + 1 | 0; - if (($1551 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1533); - $1556 = $1540 - $1550 | 0; - if ($1556 >> 4 >>> 0 < 1073741823) { - $1559 = $1556 >> 3; - $$0$i$i$i113 = $1559 >>> 0 < $1553 >>> 0 ? $1553 : $1559; - } else $$0$i$i$i113 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i113, $1552, $db + 28 | 0); - $1562 = $__v$i$i$i + 8 | 0; - $1563 = HEAP32[$1562 >> 2] | 0; - HEAP32[$1563 >> 2] = 0; - HEAP32[$1563 + 4 >> 2] = 0; - HEAP32[$1563 + 8 >> 2] = 0; - HEAP32[$1563 + 12 >> 2] = $1536; - HEAP32[$1562 >> 2] = $1563 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1533, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $1568 = $23 + 4 | 0; - $1569 = $23 + 8 | 0; - $1570 = $23 + 1 | 0; - $1571 = $__v$i$i$i + 8 | 0; - if ($1523 >>> 0 < $1531 >>> 0) $k11$0540 = $1523; else { - $$0 = $1525; - break L1; - } - while (1) { - $1573 = HEAP32[$db >> 2] | 0; - $1574 = $1573 + ($k11$0540 * 24 | 0) + 12 | 0; - $1575 = HEAP8[$1574 >> 0] | 0; - $1577 = ($1575 & 1) == 0; - $1582 = $1577 ? ($1575 & 255) >>> 1 : HEAP32[$1573 + ($k11$0540 * 24 | 0) + 16 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($23, $1577 ? $1574 + 1 | 0 : HEAP32[$1573 + ($k11$0540 * 24 | 0) + 20 >> 2] | 0, $1582 >>> 0 < 2 ? $1582 : 2); - $1589 = HEAP8[$23 >> 0] | 0; - $1591 = ($1589 & 1) == 0; - $1595 = $1591 ? ($1589 & 255) >>> 1 : HEAP32[$1568 >> 2] | 0; - $1598 = $1595 >>> 0 > 2; - $1600 = _memcmp($1591 ? $1570 : HEAP32[$1569 >> 2] | 0, 12696, $1598 ? 2 : $1595) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($23); - $1605 = HEAP32[$db >> 2] | 0; - if (!((($1600 | 0) == 0 ? ($1595 >>> 0 < 2 ? -1 : $1598 & 1) : $1600) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1605 + ($k11$0540 * 24 | 0) | 0, 12616) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k11$0540 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } else { - $1609 = $1605 + ($k11$0540 * 24 | 0) + 12 | 0; - if (!(HEAP8[$1609 >> 0] & 1)) $1617 = $1609 + 1 | 0; else $1617 = HEAP32[$1605 + ($k11$0540 * 24 | 0) + 20 >> 2] | 0; - if ((HEAP8[$1617 >> 0] | 0) == 40) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1605 + ($k11$0540 * 24 | 0) | 0, 12714) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc((HEAP32[$db >> 2] | 0) + ($k11$0540 * 24 | 0) + 12 | 0, 0, 12619) | 0; - } - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$db >> 2] | 0) + ($k11$0540 * 24 | 0) | 0, 12764) | 0; - $1624 = HEAP32[$1537 >> 2] | 0; - $1625 = $1624 + -16 | 0; - $1626 = HEAP32[$db >> 2] | 0; - $1627 = $1626 + ($k11$0540 * 24 | 0) | 0; - $1628 = $1624 + -12 | 0; - $1629 = HEAP32[$1628 >> 2] | 0; - if (($1629 | 0) == (HEAP32[$1624 + -8 >> 2] | 0)) { - $1641 = $1629 - (HEAP32[$1625 >> 2] | 0) | 0; - $1642 = ($1641 | 0) / 24 | 0; - $1643 = $1642 + 1 | 0; - if (($1641 | 0) < -24) { - $$lcssa682 = $1625; - break; - } - if ($1642 >>> 0 < 1073741823) { - $1646 = $1642 << 1; - $$0$i$i$i123 = $1646 >>> 0 < $1643 >>> 0 ? $1643 : $1646; - } else $$0$i$i$i123 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i123, $1642, $1624 + -4 | 0); - $1649 = HEAP32[$1571 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1649, $1627); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1649 + 12 | 0, $1626 + ($k11$0540 * 24 | 0) + 12 | 0); - HEAP32[$1571 >> 2] = $1649 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($1625, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1629, $1627); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1629 + 12 | 0, $1626 + ($k11$0540 * 24 | 0) + 12 | 0); - HEAP32[$1628 >> 2] = (HEAP32[$1628 >> 2] | 0) + 24; - } - $k11$0540 = $k11$0540 + 1 | 0; - if ($k11$0540 >>> 0 >= $1531 >>> 0) { - $$0 = $1525; - break L1; - } - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa682); - break; - } - case 84: - { - $1655 = $db + 4 | 0; - $1661 = ((HEAP32[$1655 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $1662 = __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - $1668 = ((HEAP32[$1655 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($1662 | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $1670 = $db + 16 | 0; - $1671 = $db + 12 | 0; - $1673 = HEAP32[$1671 >> 2] | 0; - $1674 = $db + 20 | 0; - $1675 = HEAP32[$1674 >> 2] | 0; - $1676 = $db + 24 | 0; - $1677 = HEAP32[$1676 >> 2] | 0; - if ($1675 >>> 0 < $1677 >>> 0) { - HEAP32[$1675 >> 2] = 0; - HEAP32[$1675 + 4 >> 2] = 0; - HEAP32[$1675 + 8 >> 2] = 0; - HEAP32[$1675 + 12 >> 2] = $1673; - HEAP32[$1674 >> 2] = (HEAP32[$1674 >> 2] | 0) + 16; - } else { - $1687 = HEAP32[$1670 >> 2] | 0; - $1688 = $1675 - $1687 | 0; - $1689 = $1688 >> 4; - $1690 = $1689 + 1 | 0; - if (($1688 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1670); - $1693 = $1677 - $1687 | 0; - if ($1693 >> 4 >>> 0 < 1073741823) { - $1696 = $1693 >> 3; - $$0$i$i$i131 = $1696 >>> 0 < $1690 >>> 0 ? $1690 : $1696; - } else $$0$i$i$i131 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i131, $1689, $db + 28 | 0); - $1699 = $__v$i$i$i + 8 | 0; - $1700 = HEAP32[$1699 >> 2] | 0; - HEAP32[$1700 >> 2] = 0; - HEAP32[$1700 + 4 >> 2] = 0; - HEAP32[$1700 + 8 >> 2] = 0; - HEAP32[$1700 + 12 >> 2] = $1673; - HEAP32[$1699 >> 2] = $1700 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1670, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $1705 = $__v$i$i$i + 8 | 0; - L522 : do if ($1661 >>> 0 < $1668 >>> 0) { - $k15$0543 = $1661; - while (1) { - $1707 = HEAP32[$1674 >> 2] | 0; - $1708 = $1707 + -16 | 0; - $1709 = HEAP32[$db >> 2] | 0; - $1710 = $1709 + ($k15$0543 * 24 | 0) | 0; - $1711 = $1707 + -12 | 0; - $1712 = HEAP32[$1711 >> 2] | 0; - if (($1712 | 0) == (HEAP32[$1707 + -8 >> 2] | 0)) { - $1724 = $1712 - (HEAP32[$1708 >> 2] | 0) | 0; - $1725 = ($1724 | 0) / 24 | 0; - $1726 = $1725 + 1 | 0; - if (($1724 | 0) < -24) { - $$lcssa690 = $1708; - break; - } - if ($1725 >>> 0 < 1073741823) { - $1729 = $1725 << 1; - $$0$i$i$i136 = $1729 >>> 0 < $1726 >>> 0 ? $1726 : $1729; - } else $$0$i$i$i136 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i136, $1725, $1707 + -4 | 0); - $1732 = HEAP32[$1705 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1732, $1710); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1732 + 12 | 0, $1709 + ($k15$0543 * 24 | 0) + 12 | 0); - HEAP32[$1705 >> 2] = $1732 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($1708, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1712, $1710); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($1712 + 12 | 0, $1709 + ($k15$0543 * 24 | 0) + 12 | 0); - HEAP32[$1711 >> 2] = (HEAP32[$1711 >> 2] | 0) + 24; - } - $k15$0543 = $k15$0543 + 1 | 0; - if ($k15$0543 >>> 0 >= $1668 >>> 0) break L522; - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa690); - } while (0); - if (!(($1668 | 0) == ($1661 + 1 | 0) & (HEAP8[$db + 63 >> 0] | 0) != 0)) { - $$0 = $1662; - break L1; - } - $1743 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($1662, $last, $db) | 0; - if (($1743 | 0) == ($1662 | 0)) { - $$0 = $1662; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args, (HEAP32[$1655 >> 2] | 0) + -24 | 0); - $1747 = HEAP32[$1655 >> 2] | 0; - $1748 = $1747 + -24 | 0; - $1750 = $1747; - do { - $1749 = $1750 + -24 | 0; - HEAP32[$1655 >> 2] = $1749; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1749); - $1750 = HEAP32[$1655 >> 2] | 0; - } while (($1750 | 0) != ($1748 | 0)); - $1753 = HEAP8[$args >> 0] | 0; - $1755 = ($1753 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($1747 + -48 | 0, $1755 ? $args + 1 | 0 : HEAP32[$args + 8 >> 2] | 0, $1755 ? ($1753 & 255) >>> 1 : HEAP32[$args + 4 >> 2] | 0) | 0; - $1766 = (HEAP32[$1655 >> 2] | 0) + -24 | 0; - HEAP32[$25 >> 2] = HEAP32[$1671 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($24, $1766, $25); - $1768 = HEAP32[$1674 >> 2] | 0; - $1769 = HEAP32[$1676 >> 2] | 0; - if ($1768 >>> 0 < $1769 >>> 0) { - HEAP32[$1768 + 12 >> 2] = HEAP32[$24 + 12 >> 2]; - HEAP32[$1768 >> 2] = HEAP32[$24 >> 2]; - $1776 = $24 + 4 | 0; - HEAP32[$1768 + 4 >> 2] = HEAP32[$1776 >> 2]; - $1778 = $24 + 8 | 0; - HEAP32[$1768 + 8 >> 2] = HEAP32[$1778 >> 2]; - HEAP32[$1778 >> 2] = 0; - HEAP32[$1776 >> 2] = 0; - HEAP32[$24 >> 2] = 0; - HEAP32[$1674 >> 2] = (HEAP32[$1674 >> 2] | 0) + 16; - } else { - $1786 = HEAP32[$1670 >> 2] | 0; - $1787 = $1768 - $1786 | 0; - $1788 = $1787 >> 4; - $1789 = $1788 + 1 | 0; - if (($1787 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1670); - $1792 = $1769 - $1786 | 0; - if ($1792 >> 4 >>> 0 < 1073741823) { - $1795 = $1792 >> 3; - $$0$i$i$i148 = $1795 >>> 0 < $1789 >>> 0 ? $1789 : $1795; - } else $$0$i$i$i148 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i148, $1788, $db + 28 | 0); - $1798 = $__v$i$i$i + 8 | 0; - $1799 = HEAP32[$1798 >> 2] | 0; - HEAP32[$1799 + 12 >> 2] = HEAP32[$24 + 12 >> 2]; - HEAP32[$1799 >> 2] = HEAP32[$24 >> 2]; - $1805 = $24 + 4 | 0; - HEAP32[$1799 + 4 >> 2] = HEAP32[$1805 >> 2]; - $1807 = $24 + 8 | 0; - HEAP32[$1799 + 8 >> 2] = HEAP32[$1807 >> 2]; - HEAP32[$1807 >> 2] = 0; - HEAP32[$1805 >> 2] = 0; - HEAP32[$24 >> 2] = 0; - HEAP32[$1798 >> 2] = $1799 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1670, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($24); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$0 = $1743; - break L1; - break; - } - case 85: - { - $1811 = $first + 1 | 0; - if (($1811 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - $1813 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($1811, $last, $db) | 0; - if (($1813 | 0) == ($1811 | 0)) { - $$0 = $first; - break L1; - } - $1815 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1813, $last, $db) | 0; - if (($1815 | 0) == ($1813 | 0)) { - $$0 = $first; - break L1; - } - $1817 = $db + 4 | 0; - $1818 = HEAP32[$1817 >> 2] | 0; - if ((($1818 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($type, $1818 + -24 | 0); - $1826 = HEAP32[$1817 >> 2] | 0; - $1827 = $1826 + -24 | 0; - $1829 = $1826; - do { - $1828 = $1829 + -24 | 0; - HEAP32[$1817 >> 2] = $1828; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1828); - $1829 = HEAP32[$1817 >> 2] | 0; - } while (($1829 | 0) != ($1827 | 0)); - $1831 = $1826 + -48 | 0; - $1832 = HEAP8[$1831 >> 0] | 0; - $1834 = ($1832 & 1) == 0; - $1839 = $1834 ? ($1832 & 255) >>> 1 : HEAP32[$1826 + -44 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($26, $1834 ? $1831 + 1 | 0 : HEAP32[$1826 + -40 >> 2] | 0, $1839 >>> 0 < 9 ? $1839 : 9); - $1846 = HEAP8[$26 >> 0] | 0; - $1848 = ($1846 & 1) == 0; - $1853 = $1848 ? ($1846 & 255) >>> 1 : HEAP32[$26 + 4 >> 2] | 0; - $1858 = $1853 >>> 0 > 9; - $1860 = _memcmp($1848 ? $26 + 1 | 0 : HEAP32[$26 + 8 >> 2] | 0, 12766, $1858 ? 9 : $1853) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($26); - $1866 = (HEAP32[$1817 >> 2] | 0) + -24 | 0; - if (!((($1860 | 0) == 0 ? ($1853 >>> 0 < 9 ? -1 : $1858 & 1) : $1860) | 0)) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($proto, $1866); - $1884 = HEAP32[$1817 >> 2] | 0; - $1885 = $1884 + -24 | 0; - $1887 = $1884; - do { - $1886 = $1887 + -24 | 0; - HEAP32[$1817 >> 2] = $1886; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1886); - $1887 = HEAP32[$1817 >> 2] | 0; - } while (($1887 | 0) != ($1885 | 0)); - $1889 = HEAP8[$proto >> 0] | 0; - $1891 = ($1889 & 1) == 0; - $1892 = $proto + 8 | 0; - $1894 = $proto + 1 | 0; - $1895 = $1891 ? $1894 : HEAP32[$1892 >> 2] | 0; - $1897 = $proto + 4 | 0; - $1903 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($1895 + 9 | 0, $1895 + ($1891 ? ($1889 & 255) >>> 1 : HEAP32[$1897 >> 2] | 0) | 0, $db) | 0; - if (($1903 | 0) == (((HEAP8[$proto >> 0] & 1) == 0 ? $1894 : HEAP32[$1892 >> 2] | 0) + 9 | 0)) { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_($38, $type, 12726); - $1933 = HEAP8[$proto >> 0] | 0; - $1935 = ($1933 & 1) == 0; - $1942 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($38, $1935 ? $1894 : HEAP32[$1892 >> 2] | 0, $1935 ? ($1933 & 255) >>> 1 : HEAP32[$1897 >> 2] | 0) | 0; - HEAP32[$37 >> 2] = HEAP32[$1942 >> 2]; - HEAP32[$37 + 4 >> 2] = HEAP32[$1942 + 4 >> 2]; - HEAP32[$37 + 8 >> 2] = HEAP32[$1942 + 8 >> 2]; - HEAP32[$1942 >> 2] = 0; - HEAP32[$1942 + 4 >> 2] = 0; - HEAP32[$1942 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($36, $37); - $1945 = HEAP32[$1817 >> 2] | 0; - $1947 = HEAP32[$db + 8 >> 2] | 0; - if ($1945 >>> 0 < $1947 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1945, $36); - HEAP32[$1817 >> 2] = (HEAP32[$1817 >> 2] | 0) + 24; - } else { - $1954 = HEAP32[$db >> 2] | 0; - $1955 = $1945 - $1954 | 0; - $1956 = ($1955 | 0) / 24 | 0; - $1957 = $1956 + 1 | 0; - if (($1955 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1961 = ($1947 - $1954 | 0) / 24 | 0; - if ($1961 >>> 0 < 1073741823) { - $1963 = $1961 << 1; - $$0$i$i$i181 = $1963 >>> 0 < $1957 >>> 0 ? $1957 : $1963; - } else $$0$i$i$i181 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i181, $1956, $db + 12 | 0); - $1966 = $__v$i$i$i + 8 | 0; - $1967 = HEAP32[$1966 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1967, $36); - HEAP32[$1966 >> 2] = $1967 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($36); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($37); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($38); - } else { - $1912 = (HEAP32[$1817 >> 2] | 0) + -24 | 0; - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_($34, $type, 12776); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($35, (HEAP32[$1817 >> 2] | 0) + -24 | 0); - $1915 = HEAP8[$35 >> 0] | 0; - $1917 = ($1915 & 1) == 0; - $1927 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($34, $1917 ? $35 + 1 | 0 : HEAP32[$35 + 8 >> 2] | 0, $1917 ? ($1915 & 255) >>> 1 : HEAP32[$35 + 4 >> 2] | 0) | 0; - HEAP32[$33 >> 2] = HEAP32[$1927 >> 2]; - HEAP32[$33 + 4 >> 2] = HEAP32[$1927 + 4 >> 2]; - HEAP32[$33 + 8 >> 2] = HEAP32[$1927 + 8 >> 2]; - HEAP32[$1927 >> 2] = 0; - HEAP32[$1927 + 4 >> 2] = 0; - HEAP32[$1927 + 8 >> 2] = 0; - $1930 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($33, 12778) | 0; - HEAP32[$32 >> 2] = HEAP32[$1930 >> 2]; - HEAP32[$32 + 4 >> 2] = HEAP32[$1930 + 4 >> 2]; - HEAP32[$32 + 8 >> 2] = HEAP32[$1930 + 8 >> 2]; - HEAP32[$1930 >> 2] = 0; - HEAP32[$1930 + 4 >> 2] = 0; - HEAP32[$1930 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($31, $32); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1912, $31); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($31); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($32); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($33); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($35); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($34); - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($proto); - } else { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_($29, $type, 12726); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($30, (HEAP32[$1817 >> 2] | 0) + -24 | 0); - $1869 = HEAP8[$30 >> 0] | 0; - $1871 = ($1869 & 1) == 0; - $1881 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($29, $1871 ? $30 + 1 | 0 : HEAP32[$30 + 8 >> 2] | 0, $1871 ? ($1869 & 255) >>> 1 : HEAP32[$30 + 4 >> 2] | 0) | 0; - HEAP32[$28 >> 2] = HEAP32[$1881 >> 2]; - HEAP32[$28 + 4 >> 2] = HEAP32[$1881 + 4 >> 2]; - HEAP32[$28 + 8 >> 2] = HEAP32[$1881 + 8 >> 2]; - HEAP32[$1881 >> 2] = 0; - HEAP32[$1881 + 4 >> 2] = 0; - HEAP32[$1881 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($27, $28); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1866, $27); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($27); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($28); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($30); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($29); - } - $1970 = (HEAP32[$1817 >> 2] | 0) + -24 | 0; - HEAP32[$40 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($39, $1970, $40); - $1973 = $db + 16 | 0; - $1974 = $db + 20 | 0; - $1975 = HEAP32[$1974 >> 2] | 0; - $1977 = HEAP32[$db + 24 >> 2] | 0; - if ($1975 >>> 0 < $1977 >>> 0) { - HEAP32[$1975 + 12 >> 2] = HEAP32[$39 + 12 >> 2]; - HEAP32[$1975 >> 2] = HEAP32[$39 >> 2]; - $1984 = $39 + 4 | 0; - HEAP32[$1975 + 4 >> 2] = HEAP32[$1984 >> 2]; - $1986 = $39 + 8 | 0; - HEAP32[$1975 + 8 >> 2] = HEAP32[$1986 >> 2]; - HEAP32[$1986 >> 2] = 0; - HEAP32[$1984 >> 2] = 0; - HEAP32[$39 >> 2] = 0; - HEAP32[$1974 >> 2] = (HEAP32[$1974 >> 2] | 0) + 16; - } else { - $1994 = HEAP32[$1973 >> 2] | 0; - $1995 = $1975 - $1994 | 0; - $1996 = $1995 >> 4; - $1997 = $1996 + 1 | 0; - if (($1995 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($1973); - $2000 = $1977 - $1994 | 0; - if ($2000 >> 4 >>> 0 < 1073741823) { - $2003 = $2000 >> 3; - $$0$i$i$i153 = $2003 >>> 0 < $1997 >>> 0 ? $1997 : $2003; - } else $$0$i$i$i153 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i153, $1996, $db + 28 | 0); - $2006 = $__v$i$i$i + 8 | 0; - $2007 = HEAP32[$2006 >> 2] | 0; - HEAP32[$2007 + 12 >> 2] = HEAP32[$39 + 12 >> 2]; - HEAP32[$2007 >> 2] = HEAP32[$39 >> 2]; - $2013 = $39 + 4 | 0; - HEAP32[$2007 + 4 >> 2] = HEAP32[$2013 >> 2]; - $2015 = $39 + 8 | 0; - HEAP32[$2007 + 8 >> 2] = HEAP32[$2015 >> 2]; - HEAP32[$2015 >> 2] = 0; - HEAP32[$2013 >> 2] = 0; - HEAP32[$39 >> 2] = 0; - HEAP32[$2006 >> 2] = $2007 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($1973, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($39); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($type); - $$0 = $1815; - break L1; - break; - } - case 83: - { - $2019 = $first + 1 | 0; - if (($2019 | 0) != ($last | 0)) if ((HEAP8[$2019 >> 0] | 0) == 116) { - $2023 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($2023 | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $2027 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2027 | 0)) { - $$0 = $first; - break L1; - } - $2029 = $db + 16 | 0; - HEAP32[$42 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($41, $2027 + -24 | 0, $42); - $2033 = $db + 20 | 0; - $2034 = HEAP32[$2033 >> 2] | 0; - $2036 = HEAP32[$db + 24 >> 2] | 0; - if ($2034 >>> 0 < $2036 >>> 0) { - HEAP32[$2034 + 12 >> 2] = HEAP32[$41 + 12 >> 2]; - HEAP32[$2034 >> 2] = HEAP32[$41 >> 2]; - $2043 = $41 + 4 | 0; - HEAP32[$2034 + 4 >> 2] = HEAP32[$2043 >> 2]; - $2045 = $41 + 8 | 0; - HEAP32[$2034 + 8 >> 2] = HEAP32[$2045 >> 2]; - HEAP32[$2045 >> 2] = 0; - HEAP32[$2043 >> 2] = 0; - HEAP32[$41 >> 2] = 0; - HEAP32[$2033 >> 2] = (HEAP32[$2033 >> 2] | 0) + 16; - } else { - $2053 = HEAP32[$2029 >> 2] | 0; - $2054 = $2034 - $2053 | 0; - $2055 = $2054 >> 4; - $2056 = $2055 + 1 | 0; - if (($2054 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2029); - $2059 = $2036 - $2053 | 0; - if ($2059 >> 4 >>> 0 < 1073741823) { - $2062 = $2059 >> 3; - $$0$i$i$i51 = $2062 >>> 0 < $2056 >>> 0 ? $2056 : $2062; - } else $$0$i$i$i51 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i51, $2055, $db + 28 | 0); - $2065 = $__v$i$i$i + 8 | 0; - $2066 = HEAP32[$2065 >> 2] | 0; - HEAP32[$2066 + 12 >> 2] = HEAP32[$41 + 12 >> 2]; - HEAP32[$2066 >> 2] = HEAP32[$41 >> 2]; - $2072 = $41 + 4 | 0; - HEAP32[$2066 + 4 >> 2] = HEAP32[$2072 >> 2]; - $2074 = $41 + 8 | 0; - HEAP32[$2066 + 8 >> 2] = HEAP32[$2074 >> 2]; - HEAP32[$2074 >> 2] = 0; - HEAP32[$2072 >> 2] = 0; - HEAP32[$41 >> 2] = 0; - HEAP32[$2065 >> 2] = $2066 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2029, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($41); - $$0 = $2023; - break L1; - } - $2078 = __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($2078 | 0) == ($first | 0)) { - $$0 = $first; - break L1; - } - $2080 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($2078, $last, $db) | 0; - if (($2080 | 0) == ($2078 | 0)) { - $$0 = $2078; - break L1; - } - $2082 = $db + 4 | 0; - $2083 = HEAP32[$2082 >> 2] | 0; - if ((($2083 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0 = $2078; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($template_args, $2083 + -24 | 0); - $2091 = HEAP32[$2082 >> 2] | 0; - $2092 = $2091 + -24 | 0; - $2094 = $2091; - do { - $2093 = $2094 + -24 | 0; - HEAP32[$2082 >> 2] = $2093; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2093); - $2094 = HEAP32[$2082 >> 2] | 0; - } while (($2094 | 0) != ($2092 | 0)); - $2097 = HEAP8[$template_args >> 0] | 0; - $2099 = ($2097 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($2091 + -48 | 0, $2099 ? $template_args + 1 | 0 : HEAP32[$template_args + 8 >> 2] | 0, $2099 ? ($2097 & 255) >>> 1 : HEAP32[$template_args + 4 >> 2] | 0) | 0; - $2110 = (HEAP32[$2082 >> 2] | 0) + -24 | 0; - HEAP32[$44 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($43, $2110, $44); - $2113 = $db + 16 | 0; - $2114 = $db + 20 | 0; - $2115 = HEAP32[$2114 >> 2] | 0; - $2117 = HEAP32[$db + 24 >> 2] | 0; - if ($2115 >>> 0 < $2117 >>> 0) { - HEAP32[$2115 + 12 >> 2] = HEAP32[$43 + 12 >> 2]; - HEAP32[$2115 >> 2] = HEAP32[$43 >> 2]; - $2124 = $43 + 4 | 0; - HEAP32[$2115 + 4 >> 2] = HEAP32[$2124 >> 2]; - $2126 = $43 + 8 | 0; - HEAP32[$2115 + 8 >> 2] = HEAP32[$2126 >> 2]; - HEAP32[$2126 >> 2] = 0; - HEAP32[$2124 >> 2] = 0; - HEAP32[$43 >> 2] = 0; - HEAP32[$2114 >> 2] = (HEAP32[$2114 >> 2] | 0) + 16; - } else { - $2134 = HEAP32[$2113 >> 2] | 0; - $2135 = $2115 - $2134 | 0; - $2136 = $2135 >> 4; - $2137 = $2136 + 1 | 0; - if (($2135 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2113); - $2140 = $2117 - $2134 | 0; - if ($2140 >> 4 >>> 0 < 1073741823) { - $2143 = $2140 >> 3; - $$0$i$i$i31 = $2143 >>> 0 < $2137 >>> 0 ? $2137 : $2143; - } else $$0$i$i$i31 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i31, $2136, $db + 28 | 0); - $2146 = $__v$i$i$i + 8 | 0; - $2147 = HEAP32[$2146 >> 2] | 0; - HEAP32[$2147 + 12 >> 2] = HEAP32[$43 + 12 >> 2]; - HEAP32[$2147 >> 2] = HEAP32[$43 >> 2]; - $2153 = $43 + 4 | 0; - HEAP32[$2147 + 4 >> 2] = HEAP32[$2153 >> 2]; - $2155 = $43 + 8 | 0; - HEAP32[$2147 + 8 >> 2] = HEAP32[$2155 >> 2]; - HEAP32[$2155 >> 2] = 0; - HEAP32[$2153 >> 2] = 0; - HEAP32[$43 >> 2] = 0; - HEAP32[$2146 >> 2] = $2147 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2113, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($43); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($template_args); - $$0 = $2080; - break L1; - break; - } - case 68: - { - $2159 = $first + 1 | 0; - if (($2159 | 0) != ($last | 0)) { - $2161 = HEAP8[$2159 >> 0] | 0; - switch ($2161 << 24 >> 24 | 0) { - case 112: - { - $2163 = $db + 4 | 0; - $2169 = ((HEAP32[$2163 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $2170 = $first + 2 | 0; - $2171 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($2170, $last, $db) | 0; - $2177 = ((HEAP32[$2163 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (($2171 | 0) == ($2170 | 0)) break L65; - $2179 = $db + 16 | 0; - $2182 = HEAP32[$db + 12 >> 2] | 0; - $2183 = $db + 20 | 0; - $2184 = HEAP32[$2183 >> 2] | 0; - $2186 = HEAP32[$db + 24 >> 2] | 0; - if ($2184 >>> 0 < $2186 >>> 0) { - HEAP32[$2184 >> 2] = 0; - HEAP32[$2184 + 4 >> 2] = 0; - HEAP32[$2184 + 8 >> 2] = 0; - HEAP32[$2184 + 12 >> 2] = $2182; - HEAP32[$2183 >> 2] = (HEAP32[$2183 >> 2] | 0) + 16; - } else { - $2196 = HEAP32[$2179 >> 2] | 0; - $2197 = $2184 - $2196 | 0; - $2198 = $2197 >> 4; - $2199 = $2198 + 1 | 0; - if (($2197 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2179); - $2202 = $2186 - $2196 | 0; - if ($2202 >> 4 >>> 0 < 1073741823) { - $2205 = $2202 >> 3; - $$0$i$i$i29 = $2205 >>> 0 < $2199 >>> 0 ? $2199 : $2205; - } else $$0$i$i$i29 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i29, $2198, $db + 28 | 0); - $2208 = $__v$i$i$i + 8 | 0; - $2209 = HEAP32[$2208 >> 2] | 0; - HEAP32[$2209 >> 2] = 0; - HEAP32[$2209 + 4 >> 2] = 0; - HEAP32[$2209 + 8 >> 2] = 0; - HEAP32[$2209 + 12 >> 2] = $2182; - HEAP32[$2208 >> 2] = $2209 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2179, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - $2214 = $__v$i$i$i + 8 | 0; - if ($2169 >>> 0 < $2177 >>> 0) $k20$0550 = $2169; else { - $$0 = $2171; - break L1; - } - while (1) { - $2216 = HEAP32[$2183 >> 2] | 0; - $2217 = $2216 + -16 | 0; - $2218 = HEAP32[$db >> 2] | 0; - $2219 = $2218 + ($k20$0550 * 24 | 0) | 0; - $2220 = $2216 + -12 | 0; - $2221 = HEAP32[$2220 >> 2] | 0; - if (($2221 | 0) == (HEAP32[$2216 + -8 >> 2] | 0)) { - $2233 = $2221 - (HEAP32[$2217 >> 2] | 0) | 0; - $2234 = ($2233 | 0) / 24 | 0; - $2235 = $2234 + 1 | 0; - if (($2233 | 0) < -24) { - $$lcssa698 = $2217; - break; - } - if ($2234 >>> 0 < 1073741823) { - $2238 = $2234 << 1; - $$0$i$i$i27 = $2238 >>> 0 < $2235 >>> 0 ? $2235 : $2238; - } else $$0$i$i$i27 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i27, $2234, $2216 + -4 | 0); - $2241 = HEAP32[$2214 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($2241, $2219); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($2241 + 12 | 0, $2218 + ($k20$0550 * 24 | 0) + 12 | 0); - HEAP32[$2214 >> 2] = $2241 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($2217, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($2221, $2219); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($2221 + 12 | 0, $2218 + ($k20$0550 * 24 | 0) + 12 | 0); - HEAP32[$2220 >> 2] = (HEAP32[$2220 >> 2] | 0) + 24; - } - $k20$0550 = $k20$0550 + 1 | 0; - if ($k20$0550 >>> 0 >= $2177 >>> 0) { - $$0 = $2171; - break L1; - } - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa698); - break; - } - case 84: - case 116: - { - $2247 = __ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($2247 | 0) == ($first | 0)) break L65; - $2251 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2251 | 0)) { - $$0 = $first; - break L1; - } - $2253 = $db + 16 | 0; - HEAP32[$46 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($45, $2251 + -24 | 0, $46); - $2257 = $db + 20 | 0; - $2258 = HEAP32[$2257 >> 2] | 0; - $2260 = HEAP32[$db + 24 >> 2] | 0; - if ($2258 >>> 0 < $2260 >>> 0) { - HEAP32[$2258 + 12 >> 2] = HEAP32[$45 + 12 >> 2]; - HEAP32[$2258 >> 2] = HEAP32[$45 >> 2]; - $2267 = $45 + 4 | 0; - HEAP32[$2258 + 4 >> 2] = HEAP32[$2267 >> 2]; - $2269 = $45 + 8 | 0; - HEAP32[$2258 + 8 >> 2] = HEAP32[$2269 >> 2]; - HEAP32[$2269 >> 2] = 0; - HEAP32[$2267 >> 2] = 0; - HEAP32[$45 >> 2] = 0; - HEAP32[$2257 >> 2] = (HEAP32[$2257 >> 2] | 0) + 16; - } else { - $2277 = HEAP32[$2253 >> 2] | 0; - $2278 = $2258 - $2277 | 0; - $2279 = $2278 >> 4; - $2280 = $2279 + 1 | 0; - if (($2278 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2253); - $2283 = $2260 - $2277 | 0; - if ($2283 >> 4 >>> 0 < 1073741823) { - $2286 = $2283 >> 3; - $$0$i$i$i22 = $2286 >>> 0 < $2280 >>> 0 ? $2280 : $2286; - } else $$0$i$i$i22 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i22, $2279, $db + 28 | 0); - $2289 = $__v$i$i$i + 8 | 0; - $2290 = HEAP32[$2289 >> 2] | 0; - HEAP32[$2290 + 12 >> 2] = HEAP32[$45 + 12 >> 2]; - HEAP32[$2290 >> 2] = HEAP32[$45 >> 2]; - $2296 = $45 + 4 | 0; - HEAP32[$2290 + 4 >> 2] = HEAP32[$2296 >> 2]; - $2298 = $45 + 8 | 0; - HEAP32[$2290 + 8 >> 2] = HEAP32[$2298 >> 2]; - HEAP32[$2298 >> 2] = 0; - HEAP32[$2296 >> 2] = 0; - HEAP32[$45 >> 2] = 0; - HEAP32[$2289 >> 2] = $2290 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2253, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($45); - $$0 = $2247; - break L1; - break; - } - case 118: - { - L662 : do if (($last - $first | 0) > 3 & $197 << 24 >> 24 == 68 & $2161 << 24 >> 24 == 118) { - $2308 = $first + 2 | 0; - $2309 = HEAP8[$2308 >> 0] | 0; - if (($2309 + -49 & 255) < 9) { - $2311 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($2308, $last) | 0; - if (($2311 | 0) == ($last | 0)) { - $$1$i263 = $first; - break; - } - if ((HEAP8[$2311 >> 0] | 0) != 95) { - $$1$i263 = $first; - break; - } - $2317 = $2311 - $2308 | 0; - $2318 = $2311 + 1 | 0; - if (($2318 | 0) == ($last | 0)) { - $$1$i263 = $first; - break; - } - if ((HEAP8[$2318 >> 0] | 0) != 112) { - $2322 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($2318, $last, $db) | 0; - if (($2322 | 0) == ($2318 | 0)) { - $$1$i263 = $first; - break; - } - $2326 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2326 | 0)) { - $$1$i263 = $first; - break; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($2, $2308, $2317); - $2329 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 12780) | 0; - HEAP32[$1 >> 2] = HEAP32[$2329 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$2329 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$2329 + 8 >> 2]; - HEAP32[$2329 >> 2] = 0; - HEAP32[$2329 + 4 >> 2] = 0; - HEAP32[$2329 + 8 >> 2] = 0; - $2332 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12703) | 0; - HEAP32[$0 >> 2] = HEAP32[$2332 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$2332 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$2332 + 8 >> 2]; - HEAP32[$2332 >> 2] = 0; - HEAP32[$2332 + 4 >> 2] = 0; - HEAP32[$2332 + 8 >> 2] = 0; - $2335 = HEAP8[$0 >> 0] | 0; - $2337 = ($2335 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($2326 + -24 | 0, $2337 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $2337 ? ($2335 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$1$i263 = $2322; - break; - } - $2347 = $2311 + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($6, $2308, $2317); - $2348 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($6, 0, 12789) | 0; - HEAP32[$5 >> 2] = HEAP32[$2348 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$2348 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$2348 + 8 >> 2]; - HEAP32[$2348 >> 2] = 0; - HEAP32[$2348 + 4 >> 2] = 0; - HEAP32[$2348 + 8 >> 2] = 0; - $2351 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 12703) | 0; - HEAP32[$4 >> 2] = HEAP32[$2351 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$2351 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$2351 + 8 >> 2]; - HEAP32[$2351 >> 2] = 0; - HEAP32[$2351 + 4 >> 2] = 0; - HEAP32[$2351 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($3, $4); - $2354 = $db + 4 | 0; - $2355 = HEAP32[$2354 >> 2] | 0; - $2357 = HEAP32[$db + 8 >> 2] | 0; - if ($2355 >>> 0 < $2357 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($2355, $3); - HEAP32[$2354 >> 2] = (HEAP32[$2354 >> 2] | 0) + 24; - } else { - $2364 = HEAP32[$db >> 2] | 0; - $2365 = $2355 - $2364 | 0; - $2366 = ($2365 | 0) / 24 | 0; - $2367 = $2366 + 1 | 0; - if (($2365 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $2371 = ($2357 - $2364 | 0) / 24 | 0; - if ($2371 >>> 0 < 1073741823) { - $2373 = $2371 << 1; - $$0$i$i$i$i = $2373 >>> 0 < $2367 >>> 0 ? $2367 : $2373; - } else $$0$i$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i$i, $$0$i$i$i$i, $2366, $db + 12 | 0); - $2376 = $__v$i$i$i + 8 | 0; - $2377 = HEAP32[$2376 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($2377, $3); - HEAP32[$2376 >> 2] = $2377 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - $$1$i263 = $2347; - break; - } - HEAP32[$num1$i >> 2] = 0; - HEAP32[$num1$i + 4 >> 2] = 0; - HEAP32[$num1$i + 8 >> 2] = 0; - if ($2309 << 24 >> 24 == 95) { - $t12$0$i = $2308; - label = 521; - } else { - $2382 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($2308, $last, $db) | 0; - if (($2382 | 0) == ($2308 | 0)) { - $t12$0$i = $2308; - label = 521; - } else { - $2385 = $db + 4 | 0; - $2386 = HEAP32[$2385 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) != ($2386 | 0)) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($7, $2386 + -24 | 0); - L689 : do if (!(HEAP8[$num1$i >> 0] & 1)) { - HEAP8[$num1$i + 1 >> 0] = 0; - HEAP8[$num1$i >> 0] = 0; - } else { - $2393 = $num1$i + 8 | 0; - $2394 = HEAP32[$2393 >> 2] | 0; - HEAP8[$2394 >> 0] = 0; - $2395 = $num1$i + 4 | 0; - HEAP32[$2395 >> 2] = 0; - $2396 = HEAP32[$num1$i >> 2] | 0; - $phitmp$i$i$i$i$i$i$i240 = ($2396 & -2) + -1 | 0; - $2398 = $2396 & 255; - do if (!($2398 & 1)) { - $2402 = $2396 >>> 1 & 127; - if (($2398 & 255) < 22) { - _memcpy($num1$i + 1 | 0, $2394 | 0, ($2396 >>> 1 & 127) + 1 | 0) | 0; - _free($2394); - $$ph390 = $2402; - break; - } - $2405 = $2402 + 16 & 240; - $phitmp$i2$i$i$i$i$i$i243 = $2405 + -1 | 0; - if (($phitmp$i2$i$i$i$i$i$i243 | 0) == ($phitmp$i$i$i$i$i$i$i240 | 0)) break L689; - $2408 = _malloc($2405) | 0; - if ($phitmp$i2$i$i$i$i$i$i243 >>> 0 <= $phitmp$i$i$i$i$i$i$i240 >>> 0 & ($2408 | 0) == 0) break L689; - _memcpy($2408 | 0, $num1$i + 1 | 0, ($2396 >>> 1 & 127) + 1 | 0) | 0; - HEAP32[$num1$i >> 2] = $2405 | 1; - HEAP32[$2395 >> 2] = $2402; - HEAP32[$2393 >> 2] = $2408; - break L689; - } else { - HEAP8[$num1$i + 1 >> 0] = 0; - _free($2394); - $$ph390 = 0; - } while (0); - HEAP8[$num1$i >> 0] = $$ph390 << 1; - } while (0); - HEAP32[$num1$i >> 2] = HEAP32[$7 >> 2]; - HEAP32[$num1$i + 4 >> 2] = HEAP32[$7 + 4 >> 2]; - HEAP32[$num1$i + 8 >> 2] = HEAP32[$7 + 8 >> 2]; - HEAP32[$7 >> 2] = 0; - HEAP32[$7 + 4 >> 2] = 0; - HEAP32[$7 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - $2424 = HEAP32[$2385 >> 2] | 0; - $2425 = $2424 + -24 | 0; - $2427 = $2424; - do { - $2426 = $2427 + -24 | 0; - HEAP32[$2385 >> 2] = $2426; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2426); - $2427 = HEAP32[$2385 >> 2] | 0; - } while (($2427 | 0) != ($2425 | 0)); - $t12$0$i = $2382; - label = 521; - } - } - } - do if ((label | 0) == 521) { - if (($t12$0$i | 0) == ($last | 0)) $$13$i259$ph = $first; else if ((HEAP8[$t12$0$i >> 0] | 0) == 95) { - $2432 = $t12$0$i + 1 | 0; - if (($2432 | 0) == ($last | 0)) $$13$i259$ph = $first; else { - $2434 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($2432, $last, $db) | 0; - if (($2434 | 0) == ($2432 | 0)) $$13$i259$ph = $first; else { - $2438 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2438 | 0)) break; - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($9, 12780, $num1$i); - $2441 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($9, 12703) | 0; - HEAP32[$8 >> 2] = HEAP32[$2441 >> 2]; - HEAP32[$8 + 4 >> 2] = HEAP32[$2441 + 4 >> 2]; - HEAP32[$8 + 8 >> 2] = HEAP32[$2441 + 8 >> 2]; - HEAP32[$2441 >> 2] = 0; - HEAP32[$2441 + 4 >> 2] = 0; - HEAP32[$2441 + 8 >> 2] = 0; - $2444 = HEAP8[$8 >> 0] | 0; - $2446 = ($2444 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($2438 + -24 | 0, $2446 ? $8 + 1 | 0 : HEAP32[$8 + 8 >> 2] | 0, $2446 ? ($2444 & 255) >>> 1 : HEAP32[$8 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($8); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($9); - $$13$i259$ph = $2434; - } - } - } else $$13$i259$ph = $first; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($num1$i); - $$1$i263 = $$13$i259$ph; - break L662; - } while (0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($num1$i); - $$1$i263 = $first; - } else $$1$i263 = $first; while (0); - if (($$1$i263 | 0) == ($first | 0)) break L65; - $2459 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2459 | 0)) { - $$0 = $first; - break L1; - } - $2461 = $db + 16 | 0; - HEAP32[$48 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($47, $2459 + -24 | 0, $48); - $2465 = $db + 20 | 0; - $2466 = HEAP32[$2465 >> 2] | 0; - $2468 = HEAP32[$db + 24 >> 2] | 0; - if ($2466 >>> 0 < $2468 >>> 0) { - HEAP32[$2466 + 12 >> 2] = HEAP32[$47 + 12 >> 2]; - HEAP32[$2466 >> 2] = HEAP32[$47 >> 2]; - $2475 = $47 + 4 | 0; - HEAP32[$2466 + 4 >> 2] = HEAP32[$2475 >> 2]; - $2477 = $47 + 8 | 0; - HEAP32[$2466 + 8 >> 2] = HEAP32[$2477 >> 2]; - HEAP32[$2477 >> 2] = 0; - HEAP32[$2475 >> 2] = 0; - HEAP32[$47 >> 2] = 0; - HEAP32[$2465 >> 2] = (HEAP32[$2465 >> 2] | 0) + 16; - } else { - $2485 = HEAP32[$2461 >> 2] | 0; - $2486 = $2466 - $2485 | 0; - $2487 = $2486 >> 4; - $2488 = $2487 + 1 | 0; - if (($2486 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2461); - $2491 = $2468 - $2485 | 0; - if ($2491 >> 4 >>> 0 < 1073741823) { - $2494 = $2491 >> 3; - $$0$i$i$i17 = $2494 >>> 0 < $2488 >>> 0 ? $2488 : $2494; - } else $$0$i$i$i17 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i17, $2487, $db + 28 | 0); - $2497 = $__v$i$i$i + 8 | 0; - $2498 = HEAP32[$2497 >> 2] | 0; - HEAP32[$2498 + 12 >> 2] = HEAP32[$47 + 12 >> 2]; - HEAP32[$2498 >> 2] = HEAP32[$47 >> 2]; - $2504 = $47 + 4 | 0; - HEAP32[$2498 + 4 >> 2] = HEAP32[$2504 >> 2]; - $2506 = $47 + 8 | 0; - HEAP32[$2498 + 8 >> 2] = HEAP32[$2506 >> 2]; - HEAP32[$2506 >> 2] = 0; - HEAP32[$2504 >> 2] = 0; - HEAP32[$47 >> 2] = 0; - HEAP32[$2497 >> 2] = $2498 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2461, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($47); - $$0 = $$1$i263; - break L1; - break; - } - default: - break L65; - } - } - break; - } - default: - {} - } while (0); - $2510 = __ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($2510 | 0) == ($first | 0)) { - $2512 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($2512 | 0) == ($first | 0)) $$0 = $first; else { - $2516 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($2516 | 0)) $$0 = $first; else { - $2518 = $db + 16 | 0; - HEAP32[$50 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($49, $2516 + -24 | 0, $50); - $2522 = $db + 20 | 0; - $2523 = HEAP32[$2522 >> 2] | 0; - $2525 = HEAP32[$db + 24 >> 2] | 0; - if ($2523 >>> 0 < $2525 >>> 0) { - HEAP32[$2523 + 12 >> 2] = HEAP32[$49 + 12 >> 2]; - HEAP32[$2523 >> 2] = HEAP32[$49 >> 2]; - $2532 = $49 + 4 | 0; - HEAP32[$2523 + 4 >> 2] = HEAP32[$2532 >> 2]; - $2534 = $49 + 8 | 0; - HEAP32[$2523 + 8 >> 2] = HEAP32[$2534 >> 2]; - HEAP32[$2534 >> 2] = 0; - HEAP32[$2532 >> 2] = 0; - HEAP32[$49 >> 2] = 0; - HEAP32[$2522 >> 2] = (HEAP32[$2522 >> 2] | 0) + 16; - } else { - $2542 = HEAP32[$2518 >> 2] | 0; - $2543 = $2523 - $2542 | 0; - $2544 = $2543 >> 4; - $2545 = $2544 + 1 | 0; - if (($2543 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($2518); - $2548 = $2525 - $2542 | 0; - if ($2548 >> 4 >>> 0 < 1073741823) { - $2551 = $2548 >> 3; - $$0$i$i$i = $2551 >>> 0 < $2545 >>> 0 ? $2545 : $2551; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i$i, $$0$i$i$i, $2544, $db + 28 | 0); - $2554 = $__v$i$i$i + 8 | 0; - $2555 = HEAP32[$2554 >> 2] | 0; - HEAP32[$2555 + 12 >> 2] = HEAP32[$49 + 12 >> 2]; - HEAP32[$2555 >> 2] = HEAP32[$49 >> 2]; - $2561 = $49 + 4 | 0; - HEAP32[$2555 + 4 >> 2] = HEAP32[$2561 >> 2]; - $2563 = $49 + 8 | 0; - HEAP32[$2555 + 8 >> 2] = HEAP32[$2563 >> 2]; - HEAP32[$2563 >> 2] = 0; - HEAP32[$2561 >> 2] = 0; - HEAP32[$49 >> 2] = 0; - HEAP32[$2554 >> 2] = $2555 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($2518, $__v$i$i$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($49); - $$0 = $2512; - } - } - } else $$0 = $2510; - } else $$0 = $195; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} -function __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i299 = 0, $$0$i$i$i$i348 = 0, $$0$i254 = 0, $$019$i = 0, $$02$i = 0, $$02$i310 = 0, $$02$i317 = 0, $$03$i = 0, $$03$i174 = 0, $$03$i189 = 0, $$03$i200 = 0, $$03$i211 = 0, $$03$i265 = 0, $$03$i456 = 0, $$03$i486 = 0, $$06$i = 0, $$06$i248 = 0, $$06$i345 = 0, $$06$i426 = 0, $$2$i302 = 0, $$2$i398 = 0, $$221$i = 0, $$311$i = 0, $$9$i = 0, $$first$i = 0, $$ph518 = 0, $$ph520524 = 0, $$phi$trans$insert = 0, $$pre$i$i$i = 0, $$pre$i$i$i$i = 0, $$pre$i$i$i$i372 = 0, $$pre$i$i$i$i436 = 0, $$pre$i$i$i$i466 = 0, $$pre$i$i$i87 = 0, $$pre$phi511Z2D = 0, $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1022 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $103 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1043 = 0, $1047 = 0, $1050 = 0, $1053 = 0, $106 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1076 = 0, $1079 = 0, $1081 = 0, $109 = 0, $1091 = 0, $1093 = 0, $11 = 0, $110 = 0, $1103 = 0, $1106 = 0, $1108 = 0, $112 = 0, $1120 = 0, $1122 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1136 = 0, $1138 = 0, $1141 = 0, $1142 = 0, $1145 = 0, $1146 = 0, $1148 = 0, $1149 = 0, $1151 = 0, $1152 = 0, $1154 = 0, $1155 = 0, $1159 = 0, $1161 = 0, $1162 = 0, $1165 = 0, $1172 = 0, $1174 = 0, $1177 = 0, $1181 = 0, $1184 = 0, $1189 = 0, $1190 = 0, $1193 = 0, $1194 = 0, $1196 = 0, $1197 = 0, $12 = 0, $1206 = 0, $1209 = 0, $121 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1222 = 0, $1223 = 0, $1225 = 0, $1226 = 0, $1231 = 0, $1232 = 0, $1234 = 0, $1235 = 0, $1237 = 0, $1238 = 0, $1240 = 0, $1244 = 0, $1245 = 0, $1247 = 0, $1251 = 0, $1253 = 0, $1254 = 0, $1257 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1269 = 0, $1270 = 0, $1272 = 0, $1274 = 0, $1275 = 0, $128 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $129 = 0, $1291 = 0, $1293 = 0, $13 = 0, $1306 = 0, $1307 = 0, $1309 = 0, $1311 = 0, $1313 = 0, $1314 = 0, $132 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1328 = 0, $1329 = 0, $1330 = 0, $1331 = 0, $1335 = 0, $1336 = 0, $1339 = 0, $1341 = 0, $1351 = 0, $1354 = 0, $1357 = 0, $1359 = 0, $1369 = 0, $1372 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1379 = 0, $1380 = 0, $1381 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $139 = 0, $1398 = 0, $1399 = 0, $14 = 0, $1401 = 0, $1403 = 0, $1404 = 0, $141 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1417 = 0, $1418 = 0, $1421 = 0, $1424 = 0, $1426 = 0, $1436 = 0, $1439 = 0, $144 = 0, $1442 = 0, $1443 = 0, $1445 = 0, $1446 = 0, $1448 = 0, $1449 = 0, $1451 = 0, $1452 = 0, $1463 = 0, $1464 = 0, $1466 = 0, $1468 = 0, $1469 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1482 = 0, $1483 = 0, $1486 = 0, $1489 = 0, $1491 = 0, $15 = 0, $1501 = 0, $1504 = 0, $151 = 0, $1513 = 0, $1514 = 0, $1523 = 0, $1524 = 0, $1528 = 0, $1530 = 0, $1531 = 0, $1534 = 0, $1543 = 0, $1544 = 0, $1548 = 0, $1550 = 0, $1551 = 0, $1554 = 0, $156 = 0, $1569 = 0, $157 = 0, $1572 = 0, $1578 = 0, $1579 = 0, $1581 = 0, $1585 = 0, $1591 = 0, $1593 = 0, $16 = 0, $160 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1609 = 0, $161 = 0, $1612 = 0, $1614 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $163 = 0, $1632 = 0, $1634 = 0, $164 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1648 = 0, $1650 = 0, $1653 = 0, $1654 = 0, $1662 = 0, $1665 = 0, $1669 = 0, $1671 = 0, $1672 = 0, $1675 = 0, $1685 = 0, $1687 = 0, $1693 = 0, $1695 = 0, $1696 = 0, $1699 = 0, $17 = 0, $1702 = 0, $1703 = 0, $1705 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1719 = 0, $1721 = 0, $1724 = 0, $1725 = 0, $173 = 0, $1734 = 0, $1735 = 0, $1739 = 0, $1741 = 0, $1742 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $1750 = 0, $1751 = 0, $176 = 0, $18 = 0, $187 = 0, $188 = 0, $19 = 0, $192 = 0, $194 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $205 = 0, $207 = 0, $21 = 0, $210 = 0, $214 = 0, $217 = 0, $22 = 0, $222 = 0, $223 = 0, $226 = 0, $227 = 0, $229 = 0, $23 = 0, $230 = 0, $239 = 0, $24 = 0, $242 = 0, $25 = 0, $256 = 0, $257 = 0, $259 = 0, $26 = 0, $261 = 0, $262 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $275 = 0, $276 = 0, $279 = 0, $28 = 0, $282 = 0, $284 = 0, $29 = 0, $294 = 0, $297 = 0, $3 = 0, $30 = 0, $305 = 0, $306 = 0, $31 = 0, $310 = 0, $311 = 0, $314 = 0, $315 = 0, $317 = 0, $32 = 0, $327 = 0, $33 = 0, $330 = 0, $335 = 0, $337 = 0, $34 = 0, $340 = 0, $344 = 0, $347 = 0, $35 = 0, $352 = 0, $353 = 0, $356 = 0, $357 = 0, $359 = 0, $36 = 0, $360 = 0, $369 = 0, $37 = 0, $372 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $384 = 0, $388 = 0, $39 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $396 = 0, $398 = 0, $4 = 0, $40 = 0, $402 = 0, $41 = 0, $412 = 0, $416 = 0, $417 = 0, $419 = 0, $42 = 0, $420 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $436 = 0, $438 = 0, $44 = 0, $442 = 0, $443 = 0, $445 = 0, $449 = 0, $45 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $464 = 0, $466 = 0, $469 = 0, $47 = 0, $470 = 0, $473 = 0, $477 = 0, $48 = 0, $482 = 0, $483 = 0, $49 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $496 = 0, $497 = 0, $5 = 0, $50 = 0, $500 = 0, $503 = 0, $505 = 0, $51 = 0, $515 = 0, $518 = 0, $52 = 0, $524 = 0, $525 = 0, $528 = 0, $529 = 0, $53 = 0, $531 = 0, $534 = 0, $539 = 0, $54 = 0, $541 = 0, $55 = 0, $551 = 0, $558 = 0, $56 = 0, $560 = 0, $563 = 0, $567 = 0, $57 = 0, $570 = 0, $575 = 0, $576 = 0, $579 = 0, $58 = 0, $580 = 0, $582 = 0, $583 = 0, $59 = 0, $592 = 0, $595 = 0, $6 = 0, $60 = 0, $606 = 0, $607 = 0, $609 = 0, $61 = 0, $611 = 0, $612 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $625 = 0, $626 = 0, $629 = 0, $63 = 0, $632 = 0, $634 = 0, $64 = 0, $644 = 0, $647 = 0, $65 = 0, $650 = 0, $651 = 0, $653 = 0, $654 = 0, $657 = 0, $658 = 0, $66 = 0, $660 = 0, $663 = 0, $668 = 0, $67 = 0, $670 = 0, $68 = 0, $680 = 0, $687 = 0, $689 = 0, $69 = 0, $692 = 0, $696 = 0, $699 = 0, $7 = 0, $70 = 0, $704 = 0, $705 = 0, $708 = 0, $709 = 0, $71 = 0, $711 = 0, $712 = 0, $72 = 0, $721 = 0, $724 = 0, $73 = 0, $736 = 0, $737 = 0, $739 = 0, $74 = 0, $741 = 0, $742 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $756 = 0, $758 = 0, $76 = 0, $77 = 0, $774 = 0, $775 = 0, $777 = 0, $779 = 0, $78 = 0, $780 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $794 = 0, $796 = 0, $8 = 0, $80 = 0, $806 = 0, $807 = 0, $809 = 0, $81 = 0, $810 = 0, $815 = 0, $816 = 0, $818 = 0, $819 = 0, $821 = 0, $822 = 0, $827 = 0, $828 = 0, $83 = 0, $830 = 0, $831 = 0, $836 = 0, $837 = 0, $839 = 0, $841 = 0, $842 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $857 = 0, $858 = 0, $861 = 0, $863 = 0, $873 = 0, $876 = 0, $879 = 0, $880 = 0, $881 = 0, $886 = 0, $887 = 0, $889 = 0, $890 = 0, $892 = 0, $893 = 0, $895 = 0, $896 = 0, $9 = 0, $90 = 0, $901 = 0, $902 = 0, $904 = 0, $905 = 0, $907 = 0, $908 = 0, $910 = 0, $911 = 0, $913 = 0, $917 = 0, $918 = 0, $920 = 0, $924 = 0, $926 = 0, $927 = 0, $930 = 0, $936 = 0, $940 = 0, $943 = 0, $945 = 0, $946 = 0, $947 = 0, $954 = 0, $955 = 0, $961 = 0, $976 = 0, $977 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $989 = 0, $993 = 0, $996 = 0, $999 = 0, $has_expr_list$0$off0$i = 0, $has_expr_list$0$off0$i$lcssa = 0, $has_init$0$off0$i513 = 0, $k$0$i621 = 0, $k$0$i622 = 0, $k1$0$i618 = 0, $op1 = 0, $op18 = 0, $op2 = 0, $op27 = 0, $op3 = 0, $parsed_gs$0$off0 = 0, $parsed_gs$0$off0$i = 0, $phitmp$i$i$i$i$i$i$i273 = 0, $phitmp$i$i$i$i$i$i32$i = 0, $phitmp$i2$i$i$i$i$i$i276 = 0, $phitmp$i2$i$i$i$i$i35$i = 0, $t$0 = 0, $t$0$i = 0, $t$0$i267 = 0, $t$0$i349567 = 0, $t$0$i390$lcssa = 0, $t$0$i390556 = 0, $t$1$i = 0, $t$1$i$lcssa = 0, $t$1$i350 = 0, $t$2$i = 0, $t$2$i351 = 0, $t$3$i512 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0, $t$1$i$looptemp = 0, $t$2$i$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1168 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 1144 | 0; - $1 = sp + 1120 | 0; - $2 = sp + 1096 | 0; - $3 = sp + 1084 | 0; - $4 = sp + 1072 | 0; - $5 = sp + 1048 | 0; - $6 = sp + 1032 | 0; - $7 = sp + 900 | 0; - $8 = sp + 632 | 0; - $9 = sp + 620 | 0; - $10 = sp + 584 | 0; - $11 = sp + 560 | 0; - $12 = sp + 524 | 0; - $13 = sp + 1020 | 0; - $14 = sp + 1008 | 0; - $15 = sp + 996 | 0; - $16 = sp + 984 | 0; - $17 = sp + 972 | 0; - $18 = sp + 960 | 0; - $19 = sp + 948 | 0; - $20 = sp + 936 | 0; - $21 = sp + 924 | 0; - $22 = sp + 912 | 0; - $23 = sp + 888 | 0; - $24 = sp + 876 | 0; - $25 = sp + 864 | 0; - $26 = sp + 852 | 0; - $27 = sp + 840 | 0; - $28 = sp + 828 | 0; - $29 = sp + 816 | 0; - $30 = sp + 804 | 0; - $31 = sp + 792 | 0; - $32 = sp + 780 | 0; - $33 = sp + 768 | 0; - $34 = sp + 756 | 0; - $35 = sp + 744 | 0; - $op2 = sp + 732 | 0; - $op1 = sp + 720 | 0; - $36 = sp + 696 | 0; - $37 = sp + 680 | 0; - $38 = sp + 668 | 0; - $39 = sp + 656 | 0; - $40 = sp + 644 | 0; - $41 = sp + 608 | 0; - $42 = sp + 596 | 0; - $43 = sp + 548 | 0; - $44 = sp + 536 | 0; - $45 = sp + 512 | 0; - $46 = sp + 500 | 0; - $47 = sp + 488 | 0; - $48 = sp + 476 | 0; - $49 = sp + 464 | 0; - $50 = sp + 440 | 0; - $51 = sp + 424 | 0; - $52 = sp + 412 | 0; - $53 = sp + 400 | 0; - $54 = sp + 388 | 0; - $55 = sp + 376 | 0; - $56 = sp + 364 | 0; - $57 = sp + 352 | 0; - $58 = sp + 340 | 0; - $59 = sp + 328 | 0; - $60 = sp + 316 | 0; - $61 = sp + 304 | 0; - $62 = sp + 292 | 0; - $63 = sp + 280 | 0; - $64 = sp + 256 | 0; - $65 = sp + 240 | 0; - $66 = sp + 228 | 0; - $67 = sp + 216 | 0; - $68 = sp + 204 | 0; - $op3 = sp + 192 | 0; - $op27 = sp + 180 | 0; - $op18 = sp + 168 | 0; - $69 = sp + 144 | 0; - $70 = sp + 132 | 0; - $71 = sp + 120 | 0; - $72 = sp + 108 | 0; - $73 = sp + 96 | 0; - $74 = sp + 84 | 0; - $75 = sp + 72 | 0; - $76 = sp + 60 | 0; - $77 = sp + 48 | 0; - $78 = sp + 36 | 0; - $79 = sp + 24 | 0; - $80 = sp; - $81 = $last; - $83 = $81 - $first | 0; - L1 : do if (($83 | 0) > 1) { - $85 = ($83 | 0) > 3; - if ($85) if ((HEAP8[$first >> 0] | 0) == 103) { - $90 = (HEAP8[$first + 1 >> 0] | 0) == 115; - $parsed_gs$0$off0 = $90; - $t$0 = $90 ? $first + 2 | 0 : $first; - } else { - $parsed_gs$0$off0 = 0; - $t$0 = $first; - } else { - $parsed_gs$0$off0 = 0; - $t$0 = $first; - } - do switch (HEAP8[$t$0 >> 0] | 0) { - case 76: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 84: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 102: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 97: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 97: - { - $100 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($13, 12743, 2); - $101 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($100, $last, $13, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($13); - $$0 = ($101 | 0) == ($100 | 0) ? $first : $101; - break L1; - break; - } - case 100: - { - $103 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($14, 12764, 1); - $104 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($103, $last, $14, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($14); - $$0 = ($104 | 0) == ($103 | 0) ? $first : $104; - break L1; - break; - } - case 110: - { - $106 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($15, 12764, 1); - $107 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($106, $last, $15, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($15); - $$0 = ($107 | 0) == ($106 | 0) ? $first : $107; - break L1; - break; - } - case 78: - { - $109 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($16, 13889, 2); - $110 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($109, $last, $16, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($16); - $$0 = ($110 | 0) == ($109 | 0) ? $first : $110; - break L1; - break; - } - case 83: - { - $112 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($17, 13892, 1); - $113 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($112, $last, $17, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($17); - $$0 = ($113 | 0) == ($112 | 0) ? $first : $113; - break L1; - break; - } - case 116: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 97) if ((HEAP8[$first + 1 >> 0] | 0) == 116) { - $121 = $first + 2 | 0; - $122 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($121, $last, $db) | 0; - if (($122 | 0) == ($121 | 0)) $$03$i486 = $first; else { - $126 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($126 | 0)) $$03$i486 = $first; else { - $128 = $126 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $128); - $129 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 13894) | 0; - HEAP32[$1 >> 2] = HEAP32[$129 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$129 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$129 + 8 >> 2]; - HEAP32[$129 >> 2] = 0; - HEAP32[$129 + 4 >> 2] = 0; - HEAP32[$129 + 8 >> 2] = 0; - $132 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$132 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$132 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$132 + 8 >> 2]; - HEAP32[$132 >> 2] = 0; - HEAP32[$132 + 4 >> 2] = 0; - HEAP32[$132 + 8 >> 2] = 0; - do if (!(HEAP8[$128 >> 0] & 1)) { - HEAP8[$128 + 1 >> 0] = 0; - HEAP8[$128 >> 0] = 0; - } else { - $139 = $126 + -16 | 0; - HEAP8[HEAP32[$139 >> 2] >> 0] = 0; - $141 = $126 + -20 | 0; - HEAP32[$141 >> 2] = 0; - $$pre$i$i$i$i466 = HEAP8[$128 >> 0] | 0; - if (!($$pre$i$i$i$i466 & 1)) { - $148 = $$pre$i$i$i$i466; - $157 = 10; - } else { - $144 = HEAP32[$128 >> 2] | 0; - $148 = $144 & 255; - $157 = ($144 & -2) + -1 | 0; - } - if (!($148 & 1)) { - $151 = ($148 & 255) >>> 1; - if (($148 & 255) < 22) { - $156 = 10; - $1746 = 1; - $176 = $151; - } else { - $156 = ($151 + 16 & 240) + -1 | 0; - $1746 = 1; - $176 = $151; - } - } else { - $156 = 10; - $1746 = 0; - $176 = 0; - } - if (($156 | 0) != ($157 | 0)) { - if (($156 | 0) == 10) { - $163 = $128 + 1 | 0; - $164 = HEAP32[$139 >> 2] | 0; - if ($1746) { - _memcpy($163 | 0, $164 | 0, (($148 & 255) >>> 1) + 1 | 0) | 0; - _free($164); - } else { - HEAP8[$163 >> 0] = HEAP8[$164 >> 0] | 0; - _free($164); - } - HEAP8[$128 >> 0] = $176 << 1; - break; - } - $160 = $156 + 1 | 0; - $161 = _malloc($160) | 0; - if (!($156 >>> 0 <= $157 >>> 0 & ($161 | 0) == 0)) { - if ($1746) _memcpy($161 | 0, $128 + 1 | 0, (($148 & 255) >>> 1) + 1 | 0) | 0; else { - $173 = HEAP32[$139 >> 2] | 0; - HEAP8[$161 >> 0] = HEAP8[$173 >> 0] | 0; - _free($173); - } - HEAP32[$128 >> 2] = $160 | 1; - HEAP32[$141 >> 2] = $176; - HEAP32[$139 >> 2] = $161; - } - } - } while (0); - HEAP32[$128 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$128 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$128 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$03$i486 = $122; - } - } - } else $$03$i486 = $first; else $$03$i486 = $first; else $$03$i486 = $first; - $$0 = $$03$i486; - break L1; - break; - } - case 122: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 97) if ((HEAP8[$first + 1 >> 0] | 0) == 122) { - $187 = $first + 2 | 0; - $188 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($187, $last, $db) | 0; - if (($188 | 0) == ($187 | 0)) $$03$i456 = $first; else { - $192 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($192 | 0)) $$03$i456 = $first; else { - $194 = $192 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $194); - $195 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 13894) | 0; - HEAP32[$1 >> 2] = HEAP32[$195 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$195 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$195 + 8 >> 2]; - HEAP32[$195 >> 2] = 0; - HEAP32[$195 + 4 >> 2] = 0; - HEAP32[$195 + 8 >> 2] = 0; - $198 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$198 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$198 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$198 + 8 >> 2]; - HEAP32[$198 >> 2] = 0; - HEAP32[$198 + 4 >> 2] = 0; - HEAP32[$198 + 8 >> 2] = 0; - do if (!(HEAP8[$194 >> 0] & 1)) { - HEAP8[$194 + 1 >> 0] = 0; - HEAP8[$194 >> 0] = 0; - } else { - $205 = $192 + -16 | 0; - HEAP8[HEAP32[$205 >> 2] >> 0] = 0; - $207 = $192 + -20 | 0; - HEAP32[$207 >> 2] = 0; - $$pre$i$i$i$i436 = HEAP8[$194 >> 0] | 0; - if (!($$pre$i$i$i$i436 & 1)) { - $214 = $$pre$i$i$i$i436; - $223 = 10; - } else { - $210 = HEAP32[$194 >> 2] | 0; - $214 = $210 & 255; - $223 = ($210 & -2) + -1 | 0; - } - if (!($214 & 1)) { - $217 = ($214 & 255) >>> 1; - if (($214 & 255) < 22) { - $1747 = 1; - $222 = 10; - $242 = $217; - } else { - $1747 = 1; - $222 = ($217 + 16 & 240) + -1 | 0; - $242 = $217; - } - } else { - $1747 = 0; - $222 = 10; - $242 = 0; - } - if (($222 | 0) != ($223 | 0)) { - if (($222 | 0) == 10) { - $229 = $194 + 1 | 0; - $230 = HEAP32[$205 >> 2] | 0; - if ($1747) { - _memcpy($229 | 0, $230 | 0, (($214 & 255) >>> 1) + 1 | 0) | 0; - _free($230); - } else { - HEAP8[$229 >> 0] = HEAP8[$230 >> 0] | 0; - _free($230); - } - HEAP8[$194 >> 0] = $242 << 1; - break; - } - $226 = $222 + 1 | 0; - $227 = _malloc($226) | 0; - if (!($222 >>> 0 <= $223 >>> 0 & ($227 | 0) == 0)) { - if ($1747) _memcpy($227 | 0, $194 + 1 | 0, (($214 & 255) >>> 1) + 1 | 0) | 0; else { - $239 = HEAP32[$205 >> 2] | 0; - HEAP8[$227 >> 0] = HEAP8[$239 >> 0] | 0; - _free($239); - } - HEAP32[$194 >> 2] = $226 | 1; - HEAP32[$207 >> 2] = $242; - HEAP32[$205 >> 2] = $227; - } - } - } while (0); - HEAP32[$194 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$194 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$194 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$03$i456 = $188; - } - } - } else $$03$i456 = $first; else $$03$i456 = $first; else $$03$i456 = $first; - $$0 = $$03$i456; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 99: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 99: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 99) if ((HEAP8[$first + 1 >> 0] | 0) == 99) { - $256 = $first + 2 | 0; - $257 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($256, $last, $db) | 0; - if (($257 | 0) == ($256 | 0)) $$06$i426 = $first; else { - $259 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($257, $last, $db) | 0; - if (($259 | 0) == ($257 | 0)) $$06$i426 = $first; else { - $261 = $db + 4 | 0; - $262 = HEAP32[$261 >> 2] | 0; - if ((($262 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$06$i426 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $262 + -24 | 0); - $270 = HEAP32[$261 >> 2] | 0; - $271 = $270 + -24 | 0; - $273 = $270; - do { - $272 = $273 + -24 | 0; - HEAP32[$261 >> 2] = $272; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($272); - $273 = HEAP32[$261 >> 2] | 0; - } while (($273 | 0) != ($271 | 0)); - $275 = $270 + -48 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($6, $275); - $276 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($6, 0, 13904) | 0; - HEAP32[$5 >> 2] = HEAP32[$276 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$276 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$276 + 8 >> 2]; - HEAP32[$276 >> 2] = 0; - HEAP32[$276 + 4 >> 2] = 0; - HEAP32[$276 + 8 >> 2] = 0; - $279 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 13916) | 0; - HEAP32[$4 >> 2] = HEAP32[$279 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$279 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$279 + 8 >> 2]; - HEAP32[$279 >> 2] = 0; - HEAP32[$279 + 4 >> 2] = 0; - HEAP32[$279 + 8 >> 2] = 0; - $282 = HEAP8[$0 >> 0] | 0; - $284 = ($282 & 1) == 0; - $294 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($4, $284 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $284 ? ($282 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - HEAP32[$3 >> 2] = HEAP32[$294 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$294 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$294 + 8 >> 2]; - HEAP32[$294 >> 2] = 0; - HEAP32[$294 + 4 >> 2] = 0; - HEAP32[$294 + 8 >> 2] = 0; - $297 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($3, 12619) | 0; - HEAP32[$2 >> 2] = HEAP32[$297 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$297 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$297 + 8 >> 2]; - HEAP32[$297 >> 2] = 0; - HEAP32[$297 + 4 >> 2] = 0; - HEAP32[$297 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($275, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$06$i426 = $259; - } - } - } - } else $$06$i426 = $first; else $$06$i426 = $first; else $$06$i426 = $first; - $$0 = $$06$i426; - break L1; - break; - } - case 108: - { - L97 : do if ($85) if ((HEAP8[$first >> 0] | 0) == 99) if ((HEAP8[$first + 1 >> 0] | 0) == 108) { - $305 = $first + 2 | 0; - $306 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($305, $last, $db) | 0; - if (($306 | 0) == ($305 | 0) | ($306 | 0) == ($last | 0)) $$2$i398 = $first; else { - $310 = $db + 4 | 0; - $311 = HEAP32[$310 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($311 | 0)) $$2$i398 = $first; else { - $314 = $311 + -12 | 0; - $315 = HEAP8[$314 >> 0] | 0; - $317 = ($315 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($311 + -24 | 0, $317 ? $314 + 1 | 0 : HEAP32[$311 + -4 >> 2] | 0, $317 ? ($315 & 255) >>> 1 : HEAP32[$311 + -8 >> 2] | 0) | 0; - $327 = HEAP32[$310 >> 2] | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - $330 = $327 + -12 | 0; - do if (!(HEAP8[$330 >> 0] & 1)) { - HEAP8[$330 + 1 >> 0] = 0; - HEAP8[$330 >> 0] = 0; - } else { - $335 = $327 + -4 | 0; - HEAP8[HEAP32[$335 >> 2] >> 0] = 0; - $337 = $327 + -8 | 0; - HEAP32[$337 >> 2] = 0; - $$pre$i$i$i$i372 = HEAP8[$330 >> 0] | 0; - if (!($$pre$i$i$i$i372 & 1)) { - $344 = $$pre$i$i$i$i372; - $353 = 10; - } else { - $340 = HEAP32[$330 >> 2] | 0; - $344 = $340 & 255; - $353 = ($340 & -2) + -1 | 0; - } - if (!($344 & 1)) { - $347 = ($344 & 255) >>> 1; - if (($344 & 255) < 22) { - $1748 = 1; - $352 = 10; - $372 = $347; - } else { - $1748 = 1; - $352 = ($347 + 16 & 240) + -1 | 0; - $372 = $347; - } - } else { - $1748 = 0; - $352 = 10; - $372 = 0; - } - if (($352 | 0) != ($353 | 0)) { - if (($352 | 0) == 10) { - $359 = $330 + 1 | 0; - $360 = HEAP32[$335 >> 2] | 0; - if ($1748) { - _memcpy($359 | 0, $360 | 0, (($344 & 255) >>> 1) + 1 | 0) | 0; - _free($360); - } else { - HEAP8[$359 >> 0] = HEAP8[$360 >> 0] | 0; - _free($360); - } - HEAP8[$330 >> 0] = $372 << 1; - break; - } - $356 = $352 + 1 | 0; - $357 = _malloc($356) | 0; - if (!($352 >>> 0 <= $353 >>> 0 & ($357 | 0) == 0)) { - if ($1748) _memcpy($357 | 0, $330 + 1 | 0, (($344 & 255) >>> 1) + 1 | 0) | 0; else { - $369 = HEAP32[$335 >> 2] | 0; - HEAP8[$357 >> 0] = HEAP8[$369 >> 0] | 0; - _free($369); - } - HEAP32[$330 >> 2] = $356 | 1; - HEAP32[$337 >> 2] = $372; - HEAP32[$335 >> 2] = $357; - } - } - } while (0); - HEAP32[$330 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$330 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$330 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$310 >> 2] | 0) + -24 | 0, 12714) | 0; - $379 = $1 + 4 | 0; - $380 = $1 + 8 | 0; - $381 = $1 + 1 | 0; - L127 : do if ((HEAP8[$306 >> 0] | 0) == 69) $t$0$i390$lcssa = $306; else { - $t$0$i390556 = $306; - while (1) { - $384 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($t$0$i390556, $last, $db) | 0; - if (($384 | 0) == ($t$0$i390556 | 0) | ($384 | 0) == ($last | 0)) { - $$2$i398 = $first; - break L97; - } - $388 = HEAP32[$310 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($388 | 0)) { - $$2$i398 = $first; - break L97; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($1, $388 + -24 | 0); - $391 = HEAP32[$310 >> 2] | 0; - $392 = $391 + -24 | 0; - $394 = $391; - do { - $393 = $394 + -24 | 0; - HEAP32[$310 >> 2] = $393; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($393); - $394 = HEAP32[$310 >> 2] | 0; - } while (($394 | 0) != ($392 | 0)); - $396 = HEAP8[$1 >> 0] | 0; - $398 = ($396 & 1) == 0; - $402 = $398 ? ($396 & 255) >>> 1 : HEAP32[$379 >> 2] | 0; - if ($402) { - if ((HEAP32[$db >> 2] | 0) == ($392 | 0)) break; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($391 + -48 | 0, $398 ? $381 : HEAP32[$380 >> 2] | 0, $402) | 0; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - if ((HEAP8[$384 >> 0] | 0) == 69) { - $t$0$i390$lcssa = $384; - break L127; - } else $t$0$i390556 = $384; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - $$2$i398 = $first; - break L97; - } while (0); - $412 = HEAP32[$310 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($412 | 0)) $$2$i398 = $first; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($412 + -24 | 0, 12619) | 0; - $$2$i398 = $t$0$i390$lcssa + 1 | 0; - } - } - } - } else $$2$i398 = $first; else $$2$i398 = $first; else $$2$i398 = $first; while (0); - $$0 = $$2$i398; - break L1; - break; - } - case 109: - { - $416 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($18, 13919, 1); - $417 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($416, $last, $18, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($18); - $$0 = ($417 | 0) == ($416 | 0) ? $first : $417; - break L1; - break; - } - case 111: - { - $419 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($19, 12928, 1); - $420 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($419, $last, $19, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($19); - $$0 = ($420 | 0) == ($419 | 0) ? $first : $420; - break L1; - break; - } - case 118: - { - L146 : do if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 99) if ((HEAP8[$first + 1 >> 0] | 0) == 118) { - $428 = $db + 63 | 0; - $429 = HEAP8[$428 >> 0] | 0; - HEAP8[$428 >> 0] = 0; - $430 = $first + 2 | 0; - $431 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($430, $last, $db) | 0; - HEAP8[$428 >> 0] = $429; - if (($431 | 0) == ($430 | 0) | ($431 | 0) == ($last | 0)) $$311$i = $first; else { - if ((HEAP8[$431 >> 0] | 0) == 95) { - $438 = $431 + 1 | 0; - if (($438 | 0) == ($last | 0)) { - $$311$i = $first; - break; - } - do if ((HEAP8[$438 >> 0] | 0) == 69) { - $442 = $db + 4 | 0; - $443 = HEAP32[$442 >> 2] | 0; - $445 = HEAP32[$db + 8 >> 2] | 0; - if ($443 >>> 0 < $445 >>> 0) { - HEAP32[$443 >> 2] = 0; - HEAP32[$443 + 4 >> 2] = 0; - HEAP32[$443 + 8 >> 2] = 0; - HEAP32[$443 + 12 >> 2] = 0; - HEAP32[$443 + 16 >> 2] = 0; - HEAP32[$443 + 20 >> 2] = 0; - HEAP32[$443 >> 2] = 0; - HEAP32[$443 + 4 >> 2] = 0; - HEAP32[$443 + 8 >> 2] = 0; - $449 = $443 + 12 | 0; - HEAP32[$449 >> 2] = 0; - HEAP32[$449 + 4 >> 2] = 0; - HEAP32[$449 + 8 >> 2] = 0; - HEAP32[$442 >> 2] = (HEAP32[$442 >> 2] | 0) + 24; - $t$1$i350 = $438; - break; - } - $457 = HEAP32[$db >> 2] | 0; - $458 = $443 - $457 | 0; - $459 = ($458 | 0) / 24 | 0; - $460 = $459 + 1 | 0; - if (($458 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $464 = ($445 - $457 | 0) / 24 | 0; - if ($464 >>> 0 < 1073741823) { - $466 = $464 << 1; - $$0$i$i$i$i348 = $466 >>> 0 < $460 >>> 0 ? $460 : $466; - } else $$0$i$i$i$i348 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i$i348, $459, $db + 12 | 0); - $469 = $0 + 8 | 0; - $470 = HEAP32[$469 >> 2] | 0; - HEAP32[$470 >> 2] = 0; - HEAP32[$470 + 4 >> 2] = 0; - HEAP32[$470 + 8 >> 2] = 0; - HEAP32[$470 + 12 >> 2] = 0; - HEAP32[$470 + 16 >> 2] = 0; - HEAP32[$470 + 20 >> 2] = 0; - HEAP32[$470 >> 2] = 0; - HEAP32[$470 + 4 >> 2] = 0; - HEAP32[$470 + 8 >> 2] = 0; - $473 = $470 + 12 | 0; - HEAP32[$473 >> 2] = 0; - HEAP32[$473 + 4 >> 2] = 0; - HEAP32[$473 + 8 >> 2] = 0; - HEAP32[$469 >> 2] = $470 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - $t$1$i350 = $438; - } else { - $t$0$i349567 = $438; - while (1) { - $477 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($t$0$i349567, $last, $db) | 0; - if (($477 | 0) == ($t$0$i349567 | 0) | ($477 | 0) == ($last | 0)) { - $$311$i = $first; - break L146; - } - if ((HEAP8[$477 >> 0] | 0) == 69) { - $t$1$i350 = $477; - break; - } else $t$0$i349567 = $477; - } - } while (0); - $t$2$i351 = $t$1$i350 + 1 | 0; - } else { - $436 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($431, $last, $db) | 0; - if (($436 | 0) == ($431 | 0)) { - $$311$i = $first; - break; - } else $t$2$i351 = $436; - } - $482 = $db + 4 | 0; - $483 = HEAP32[$482 >> 2] | 0; - if ((($483 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$311$i = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($1, $483 + -24 | 0); - $491 = HEAP32[$482 >> 2] | 0; - $492 = $491 + -24 | 0; - $494 = $491; - do { - $493 = $494 + -24 | 0; - HEAP32[$482 >> 2] = $493; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($493); - $494 = HEAP32[$482 >> 2] | 0; - } while (($494 | 0) != ($492 | 0)); - $496 = $491 + -48 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($7, $496); - $497 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($7, 0, 12714) | 0; - HEAP32[$6 >> 2] = HEAP32[$497 >> 2]; - HEAP32[$6 + 4 >> 2] = HEAP32[$497 + 4 >> 2]; - HEAP32[$6 + 8 >> 2] = HEAP32[$497 + 8 >> 2]; - HEAP32[$497 >> 2] = 0; - HEAP32[$497 + 4 >> 2] = 0; - HEAP32[$497 + 8 >> 2] = 0; - $500 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($6, 13921) | 0; - HEAP32[$5 >> 2] = HEAP32[$500 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$500 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$500 + 8 >> 2]; - HEAP32[$500 >> 2] = 0; - HEAP32[$500 + 4 >> 2] = 0; - HEAP32[$500 + 8 >> 2] = 0; - $503 = HEAP8[$1 >> 0] | 0; - $505 = ($503 & 1) == 0; - $515 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($5, $505 ? $1 + 1 | 0 : HEAP32[$1 + 8 >> 2] | 0, $505 ? ($503 & 255) >>> 1 : HEAP32[$1 + 4 >> 2] | 0) | 0; - HEAP32[$4 >> 2] = HEAP32[$515 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$515 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$515 + 8 >> 2]; - HEAP32[$515 >> 2] = 0; - HEAP32[$515 + 4 >> 2] = 0; - HEAP32[$515 + 8 >> 2] = 0; - $518 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($4, 12619) | 0; - HEAP32[$3 >> 2] = HEAP32[$518 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$518 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$518 + 8 >> 2]; - HEAP32[$518 >> 2] = 0; - HEAP32[$518 + 4 >> 2] = 0; - HEAP32[$518 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($2, $3); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($496, $2); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - $$311$i = $t$2$i351; - } - } - } else $$311$i = $first; else $$311$i = $first; else $$311$i = $first; while (0); - $$0 = $$311$i; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 100: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 97: - { - $524 = $t$0 + 2 | 0; - $525 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($524, $last, $db) | 0; - if (($525 | 0) == ($524 | 0)) { - $$0 = $first; - break L1; - } - $528 = $db + 4 | 0; - $529 = HEAP32[$528 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($529 | 0)) { - $$0 = $first; - break L1; - } - $531 = $529 + -24 | 0; - if ($parsed_gs$0$off0) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($22, 12902, 2); else { - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$22 + 8 >> 2] = 0; - } - $534 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($22, 13924) | 0; - HEAP32[$21 >> 2] = HEAP32[$534 >> 2]; - HEAP32[$21 + 4 >> 2] = HEAP32[$534 + 4 >> 2]; - HEAP32[$21 + 8 >> 2] = HEAP32[$534 + 8 >> 2]; - HEAP32[$534 >> 2] = 0; - HEAP32[$534 + 4 >> 2] = 0; - HEAP32[$534 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($23, (HEAP32[$528 >> 2] | 0) + -24 | 0); - $539 = HEAP8[$23 >> 0] | 0; - $541 = ($539 & 1) == 0; - $551 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($21, $541 ? $23 + 1 | 0 : HEAP32[$23 + 8 >> 2] | 0, $541 ? ($539 & 255) >>> 1 : HEAP32[$23 + 4 >> 2] | 0) | 0; - HEAP32[$20 >> 2] = HEAP32[$551 >> 2]; - HEAP32[$20 + 4 >> 2] = HEAP32[$551 + 4 >> 2]; - HEAP32[$20 + 8 >> 2] = HEAP32[$551 + 8 >> 2]; - HEAP32[$551 >> 2] = 0; - HEAP32[$551 + 4 >> 2] = 0; - HEAP32[$551 + 8 >> 2] = 0; - do if (!(HEAP8[$531 >> 0] & 1)) { - HEAP8[$531 + 1 >> 0] = 0; - HEAP8[$531 >> 0] = 0; - } else { - $558 = $529 + -16 | 0; - HEAP8[HEAP32[$558 >> 2] >> 0] = 0; - $560 = $529 + -20 | 0; - HEAP32[$560 >> 2] = 0; - $$pre$i$i$i = HEAP8[$531 >> 0] | 0; - if (!($$pre$i$i$i & 1)) { - $567 = $$pre$i$i$i; - $576 = 10; - } else { - $563 = HEAP32[$531 >> 2] | 0; - $567 = $563 & 255; - $576 = ($563 & -2) + -1 | 0; - } - if (!($567 & 1)) { - $570 = ($567 & 255) >>> 1; - if (($567 & 255) < 22) { - $1749 = 1; - $575 = 10; - $595 = $570; - } else { - $1749 = 1; - $575 = ($570 + 16 & 240) + -1 | 0; - $595 = $570; - } - } else { - $1749 = 0; - $575 = 10; - $595 = 0; - } - if (($575 | 0) != ($576 | 0)) { - if (($575 | 0) == 10) { - $582 = $531 + 1 | 0; - $583 = HEAP32[$558 >> 2] | 0; - if ($1749) { - _memcpy($582 | 0, $583 | 0, (($567 & 255) >>> 1) + 1 | 0) | 0; - _free($583); - } else { - HEAP8[$582 >> 0] = HEAP8[$583 >> 0] | 0; - _free($583); - } - HEAP8[$531 >> 0] = $595 << 1; - break; - } - $579 = $575 + 1 | 0; - $580 = _malloc($579) | 0; - if (!($575 >>> 0 <= $576 >>> 0 & ($580 | 0) == 0)) { - if ($1749) _memcpy($580 | 0, $531 + 1 | 0, (($567 & 255) >>> 1) + 1 | 0) | 0; else { - $592 = HEAP32[$558 >> 2] | 0; - HEAP8[$580 >> 0] = HEAP8[$592 >> 0] | 0; - _free($592); - } - HEAP32[$531 >> 2] = $579 | 1; - HEAP32[$560 >> 2] = $595; - HEAP32[$558 >> 2] = $580; - } - } - } while (0); - HEAP32[$531 >> 2] = HEAP32[$20 >> 2]; - HEAP32[$531 + 4 >> 2] = HEAP32[$20 + 4 >> 2]; - HEAP32[$531 + 8 >> 2] = HEAP32[$20 + 8 >> 2]; - HEAP32[$20 >> 2] = 0; - HEAP32[$20 + 4 >> 2] = 0; - HEAP32[$20 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($20); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($23); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($21); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($22); - $$0 = $525; - break L1; - break; - } - case 99: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 100) if ((HEAP8[$first + 1 >> 0] | 0) == 99) { - $606 = $first + 2 | 0; - $607 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($606, $last, $db) | 0; - if (($607 | 0) == ($606 | 0)) $$06$i345 = $first; else { - $609 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($607, $last, $db) | 0; - if (($609 | 0) == ($607 | 0)) $$06$i345 = $first; else { - $611 = $db + 4 | 0; - $612 = HEAP32[$611 >> 2] | 0; - if ((($612 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$06$i345 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $612 + -24 | 0); - $620 = HEAP32[$611 >> 2] | 0; - $621 = $620 + -24 | 0; - $623 = $620; - do { - $622 = $623 + -24 | 0; - HEAP32[$611 >> 2] = $622; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($622); - $623 = HEAP32[$611 >> 2] | 0; - } while (($623 | 0) != ($621 | 0)); - $625 = $620 + -48 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($6, $625); - $626 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($6, 0, 13934) | 0; - HEAP32[$5 >> 2] = HEAP32[$626 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$626 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$626 + 8 >> 2]; - HEAP32[$626 >> 2] = 0; - HEAP32[$626 + 4 >> 2] = 0; - HEAP32[$626 + 8 >> 2] = 0; - $629 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 13916) | 0; - HEAP32[$4 >> 2] = HEAP32[$629 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$629 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$629 + 8 >> 2]; - HEAP32[$629 >> 2] = 0; - HEAP32[$629 + 4 >> 2] = 0; - HEAP32[$629 + 8 >> 2] = 0; - $632 = HEAP8[$0 >> 0] | 0; - $634 = ($632 & 1) == 0; - $644 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($4, $634 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $634 ? ($632 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - HEAP32[$3 >> 2] = HEAP32[$644 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$644 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$644 + 8 >> 2]; - HEAP32[$644 >> 2] = 0; - HEAP32[$644 + 4 >> 2] = 0; - HEAP32[$644 + 8 >> 2] = 0; - $647 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($3, 12619) | 0; - HEAP32[$2 >> 2] = HEAP32[$647 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$647 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$647 + 8 >> 2]; - HEAP32[$647 >> 2] = 0; - HEAP32[$647 + 4 >> 2] = 0; - HEAP32[$647 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($625, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$06$i345 = $609; - } - } - } - } else $$06$i345 = $first; else $$06$i345 = $first; else $$06$i345 = $first; - $$0 = $$06$i345; - break L1; - break; - } - case 101: - { - $650 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($24, 12759, 1); - $651 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($650, $last, $24, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($24); - $$0 = ($651 | 0) == ($650 | 0) ? $first : $651; - break L1; - break; - } - case 108: - { - $653 = $t$0 + 2 | 0; - $654 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($653, $last, $db) | 0; - if (($654 | 0) == ($653 | 0)) { - $$0 = $first; - break L1; - } - $657 = $db + 4 | 0; - $658 = HEAP32[$657 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($658 | 0)) { - $$0 = $first; - break L1; - } - $660 = $658 + -24 | 0; - if ($parsed_gs$0$off0) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($27, 12902, 2); else { - HEAP32[$27 >> 2] = 0; - HEAP32[$27 + 4 >> 2] = 0; - HEAP32[$27 + 8 >> 2] = 0; - } - $663 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($27, 13948) | 0; - HEAP32[$26 >> 2] = HEAP32[$663 >> 2]; - HEAP32[$26 + 4 >> 2] = HEAP32[$663 + 4 >> 2]; - HEAP32[$26 + 8 >> 2] = HEAP32[$663 + 8 >> 2]; - HEAP32[$663 >> 2] = 0; - HEAP32[$663 + 4 >> 2] = 0; - HEAP32[$663 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($28, (HEAP32[$657 >> 2] | 0) + -24 | 0); - $668 = HEAP8[$28 >> 0] | 0; - $670 = ($668 & 1) == 0; - $680 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($26, $670 ? $28 + 1 | 0 : HEAP32[$28 + 8 >> 2] | 0, $670 ? ($668 & 255) >>> 1 : HEAP32[$28 + 4 >> 2] | 0) | 0; - HEAP32[$25 >> 2] = HEAP32[$680 >> 2]; - HEAP32[$25 + 4 >> 2] = HEAP32[$680 + 4 >> 2]; - HEAP32[$25 + 8 >> 2] = HEAP32[$680 + 8 >> 2]; - HEAP32[$680 >> 2] = 0; - HEAP32[$680 + 4 >> 2] = 0; - HEAP32[$680 + 8 >> 2] = 0; - do if (!(HEAP8[$660 >> 0] & 1)) { - HEAP8[$660 + 1 >> 0] = 0; - HEAP8[$660 >> 0] = 0; - } else { - $687 = $658 + -16 | 0; - HEAP8[HEAP32[$687 >> 2] >> 0] = 0; - $689 = $658 + -20 | 0; - HEAP32[$689 >> 2] = 0; - $$pre$i$i$i87 = HEAP8[$660 >> 0] | 0; - if (!($$pre$i$i$i87 & 1)) { - $696 = $$pre$i$i$i87; - $705 = 10; - } else { - $692 = HEAP32[$660 >> 2] | 0; - $696 = $692 & 255; - $705 = ($692 & -2) + -1 | 0; - } - if (!($696 & 1)) { - $699 = ($696 & 255) >>> 1; - if (($696 & 255) < 22) { - $1750 = 1; - $704 = 10; - $724 = $699; - } else { - $1750 = 1; - $704 = ($699 + 16 & 240) + -1 | 0; - $724 = $699; - } - } else { - $1750 = 0; - $704 = 10; - $724 = 0; - } - if (($704 | 0) != ($705 | 0)) { - if (($704 | 0) == 10) { - $711 = $660 + 1 | 0; - $712 = HEAP32[$687 >> 2] | 0; - if ($1750) { - _memcpy($711 | 0, $712 | 0, (($696 & 255) >>> 1) + 1 | 0) | 0; - _free($712); - } else { - HEAP8[$711 >> 0] = HEAP8[$712 >> 0] | 0; - _free($712); - } - HEAP8[$660 >> 0] = $724 << 1; - break; - } - $708 = $704 + 1 | 0; - $709 = _malloc($708) | 0; - if (!($704 >>> 0 <= $705 >>> 0 & ($709 | 0) == 0)) { - if ($1750) _memcpy($709 | 0, $660 + 1 | 0, (($696 & 255) >>> 1) + 1 | 0) | 0; else { - $721 = HEAP32[$687 >> 2] | 0; - HEAP8[$709 >> 0] = HEAP8[$721 >> 0] | 0; - _free($721); - } - HEAP32[$660 >> 2] = $708 | 1; - HEAP32[$689 >> 2] = $724; - HEAP32[$687 >> 2] = $709; - } - } - } while (0); - HEAP32[$660 >> 2] = HEAP32[$25 >> 2]; - HEAP32[$660 + 4 >> 2] = HEAP32[$25 + 4 >> 2]; - HEAP32[$660 + 8 >> 2] = HEAP32[$25 + 8 >> 2]; - HEAP32[$25 >> 2] = 0; - HEAP32[$25 + 4 >> 2] = 0; - HEAP32[$25 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($25); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($28); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($26); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($27); - $$0 = $654; - break L1; - break; - } - case 110: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 115: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 100) if ((HEAP8[$first + 1 >> 0] | 0) == 115) { - $736 = $first + 2 | 0; - $737 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($736, $last, $db) | 0; - if (($737 | 0) == ($736 | 0)) $$02$i317 = $first; else { - $739 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($737, $last, $db) | 0; - if (($739 | 0) == ($737 | 0)) $$02$i317 = $first; else { - $741 = $db + 4 | 0; - $742 = HEAP32[$741 >> 2] | 0; - if ((($742 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$02$i317 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $742 + -24 | 0); - $750 = HEAP32[$741 >> 2] | 0; - $751 = $750 + -24 | 0; - $753 = $750; - do { - $752 = $753 + -24 | 0; - HEAP32[$741 >> 2] = $752; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($752); - $753 = HEAP32[$741 >> 2] | 0; - } while (($753 | 0) != ($751 | 0)); - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($1, 13956, $0); - $756 = HEAP8[$1 >> 0] | 0; - $758 = ($756 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($750 + -48 | 0, $758 ? $1 + 1 | 0 : HEAP32[$1 + 8 >> 2] | 0, $758 ? ($756 & 255) >>> 1 : HEAP32[$1 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$02$i317 = $739; - } - } - } - } else $$02$i317 = $first; else $$02$i317 = $first; else $$02$i317 = $first; - $$0 = $$02$i317; - break L1; - break; - } - case 116: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 100) if ((HEAP8[$first + 1 >> 0] | 0) == 116) { - $774 = $first + 2 | 0; - $775 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($774, $last, $db) | 0; - if (($775 | 0) == ($774 | 0)) $$02$i310 = $first; else { - $777 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($775, $last, $db) | 0; - if (($777 | 0) == ($775 | 0)) $$02$i310 = $first; else { - $779 = $db + 4 | 0; - $780 = HEAP32[$779 >> 2] | 0; - if ((($780 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$02$i310 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $780 + -24 | 0); - $788 = HEAP32[$779 >> 2] | 0; - $789 = $788 + -24 | 0; - $791 = $788; - do { - $790 = $791 + -24 | 0; - HEAP32[$779 >> 2] = $790; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($790); - $791 = HEAP32[$779 >> 2] | 0; - } while (($791 | 0) != ($789 | 0)); - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($1, 18335, $0); - $794 = HEAP8[$1 >> 0] | 0; - $796 = ($794 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($788 + -48 | 0, $796 ? $1 + 1 | 0 : HEAP32[$1 + 8 >> 2] | 0, $796 ? ($794 & 255) >>> 1 : HEAP32[$1 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$02$i310 = $777; - } - } - } - } else $$02$i310 = $first; else $$02$i310 = $first; else $$02$i310 = $first; - $$0 = $$02$i310; - break L1; - break; - } - case 118: - { - $806 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($29, 13959, 1); - $807 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($806, $last, $29, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($29); - $$0 = ($807 | 0) == ($806 | 0) ? $first : $807; - break L1; - break; - } - case 86: - { - $809 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($30, 13961, 2); - $810 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($809, $last, $30, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($30); - $$0 = ($810 | 0) == ($809 | 0) ? $first : $810; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 101: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 111: - { - $815 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($31, 13964, 1); - $816 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($815, $last, $31, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($31); - $$0 = ($816 | 0) == ($815 | 0) ? $first : $816; - break L1; - break; - } - case 79: - { - $818 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($32, 13966, 2); - $819 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($818, $last, $32, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($32); - $$0 = ($819 | 0) == ($818 | 0) ? $first : $819; - break L1; - break; - } - case 113: - { - $821 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($33, 13969, 2); - $822 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($821, $last, $33, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($33); - $$0 = ($822 | 0) == ($821 | 0) ? $first : $822; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 103: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 101: - { - $827 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($34, 13972, 2); - $828 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($827, $last, $34, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($34); - $$0 = ($828 | 0) == ($827 | 0) ? $first : $828; - break L1; - break; - } - case 116: - { - $830 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($35, 12778, 1); - $831 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($830, $last, $35, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($35); - $$0 = ($831 | 0) == ($830 | 0) ? $first : $831; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 105: - { - if ((HEAP8[$t$0 + 1 >> 0] | 0) != 120) { - $$0 = $first; - break L1; - } - $836 = $first + 2 | 0; - $837 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($836, $last, $db) | 0; - if (($837 | 0) == ($836 | 0)) { - $$0 = $first; - break L1; - } - $839 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($837, $last, $db) | 0; - $841 = $db + 4 | 0; - $842 = HEAP32[$841 >> 2] | 0; - if (($839 | 0) == ($837 | 0)) { - $879 = $842 + -24 | 0; - $881 = $842; - while (1) { - $880 = $881 + -24 | 0; - HEAP32[$841 >> 2] = $880; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($880); - $881 = HEAP32[$841 >> 2] | 0; - if (($881 | 0) == ($879 | 0)) { - $$0 = $first; - break L1; - } - } - } - if ((($842 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op2, $842 + -24 | 0); - $850 = HEAP32[$841 >> 2] | 0; - $851 = $850 + -24 | 0; - $853 = $850; - do { - $852 = $853 + -24 | 0; - HEAP32[$841 >> 2] = $852; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($852); - $853 = HEAP32[$841 >> 2] | 0; - } while (($853 | 0) != ($851 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op1, $850 + -48 | 0); - $857 = (HEAP32[$841 >> 2] | 0) + -24 | 0; - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($40, 12714, $op1); - $858 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($40, 13975) | 0; - HEAP32[$39 >> 2] = HEAP32[$858 >> 2]; - HEAP32[$39 + 4 >> 2] = HEAP32[$858 + 4 >> 2]; - HEAP32[$39 + 8 >> 2] = HEAP32[$858 + 8 >> 2]; - HEAP32[$858 >> 2] = 0; - HEAP32[$858 + 4 >> 2] = 0; - HEAP32[$858 + 8 >> 2] = 0; - $861 = HEAP8[$op2 >> 0] | 0; - $863 = ($861 & 1) == 0; - $873 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($39, $863 ? $op2 + 1 | 0 : HEAP32[$op2 + 8 >> 2] | 0, $863 ? ($861 & 255) >>> 1 : HEAP32[$op2 + 4 >> 2] | 0) | 0; - HEAP32[$38 >> 2] = HEAP32[$873 >> 2]; - HEAP32[$38 + 4 >> 2] = HEAP32[$873 + 4 >> 2]; - HEAP32[$38 + 8 >> 2] = HEAP32[$873 + 8 >> 2]; - HEAP32[$873 >> 2] = 0; - HEAP32[$873 + 4 >> 2] = 0; - HEAP32[$873 + 8 >> 2] = 0; - $876 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($38, 12703) | 0; - HEAP32[$37 >> 2] = HEAP32[$876 >> 2]; - HEAP32[$37 + 4 >> 2] = HEAP32[$876 + 4 >> 2]; - HEAP32[$37 + 8 >> 2] = HEAP32[$876 + 8 >> 2]; - HEAP32[$876 >> 2] = 0; - HEAP32[$876 + 4 >> 2] = 0; - HEAP32[$876 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($36, $37); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($857, $36); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($36); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($37); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($38); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($39); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($40); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op2); - $$0 = $839; - break L1; - break; - } - case 108: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 101: - { - $886 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($41, 13978, 2); - $887 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($886, $last, $41, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($41); - $$0 = ($887 | 0) == ($886 | 0) ? $first : $887; - break L1; - break; - } - case 115: - { - $889 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($42, 13981, 2); - $890 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($889, $last, $42, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($42); - $$0 = ($890 | 0) == ($889 | 0) ? $first : $890; - break L1; - break; - } - case 83: - { - $892 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($43, 13984, 3); - $893 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($892, $last, $43, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($43); - $$0 = ($893 | 0) == ($892 | 0) ? $first : $893; - break L1; - break; - } - case 116: - { - $895 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($44, 12776, 1); - $896 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($895, $last, $44, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($44); - $$0 = ($896 | 0) == ($895 | 0) ? $first : $896; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 109: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 105: - { - $901 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($45, 13988, 1); - $902 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($901, $last, $45, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($45); - $$0 = ($902 | 0) == ($901 | 0) ? $first : $902; - break L1; - break; - } - case 73: - { - $904 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($46, 13990, 2); - $905 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($904, $last, $46, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($46); - $$0 = ($905 | 0) == ($904 | 0) ? $first : $905; - break L1; - break; - } - case 108: - { - $907 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($47, 12759, 1); - $908 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($907, $last, $47, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($47); - $$0 = ($908 | 0) == ($907 | 0) ? $first : $908; - break L1; - break; - } - case 76: - { - $910 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($48, 13993, 2); - $911 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($910, $last, $48, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($48); - $$0 = ($911 | 0) == ($910 | 0) ? $first : $911; - break L1; - break; - } - case 109: - { - $913 = $first + 2 | 0; - if (($913 | 0) != ($last | 0)) if ((HEAP8[$913 >> 0] | 0) == 95) { - $917 = $first + 3 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($49, 13996, 2); - $918 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($917, $last, $49, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($49); - $$0 = ($918 | 0) == ($917 | 0) ? $first : $918; - break L1; - } - $920 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($913, $last, $db) | 0; - if (($920 | 0) == ($913 | 0)) { - $$0 = $first; - break L1; - } - $924 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($924 | 0)) { - $$0 = $first; - break L1; - } - $926 = $924 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($53, $926); - $927 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($53, 0, 12714) | 0; - HEAP32[$52 >> 2] = HEAP32[$927 >> 2]; - HEAP32[$52 + 4 >> 2] = HEAP32[$927 + 4 >> 2]; - HEAP32[$52 + 8 >> 2] = HEAP32[$927 + 8 >> 2]; - HEAP32[$927 >> 2] = 0; - HEAP32[$927 + 4 >> 2] = 0; - HEAP32[$927 + 8 >> 2] = 0; - $930 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($52, 13999) | 0; - HEAP32[$51 >> 2] = HEAP32[$930 >> 2]; - HEAP32[$51 + 4 >> 2] = HEAP32[$930 + 4 >> 2]; - HEAP32[$51 + 8 >> 2] = HEAP32[$930 + 8 >> 2]; - HEAP32[$930 >> 2] = 0; - HEAP32[$930 + 4 >> 2] = 0; - HEAP32[$930 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($50, $51); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($926, $50); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($50); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($51); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($52); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($53); - $$0 = $920; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 110: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 119: - case 97: - { - L323 : do if ($85) { - $936 = HEAP8[$first >> 0] | 0; - if ($936 << 24 >> 24 == 103) { - $940 = (HEAP8[$first + 1 >> 0] | 0) == 115; - $$first$i = $940 ? $first + 2 | 0 : $first; - $943 = HEAP8[$$first$i >> 0] | 0; - $parsed_gs$0$off0$i = $940; - $t$0$i267 = $$first$i; - } else { - $943 = $936; - $parsed_gs$0$off0$i = 0; - $t$0$i267 = $first; - } - if ($943 << 24 >> 24 == 110) { - $945 = HEAP8[$t$0$i267 + 1 >> 0] | 0; - switch ($945 << 24 >> 24) { - case 97: - case 119: - break; - default: - { - $$221$i = $first; - label = 319; - break L323; - } - } - $946 = $945 << 24 >> 24 == 97; - $947 = $t$0$i267 + 2 | 0; - if (($947 | 0) == ($last | 0)) $$9$i = $first; else { - $has_expr_list$0$off0$i = 0; - $t$1$i = $947; - while (1) { - if ((HEAP8[$t$1$i >> 0] | 0) == 95) { - $has_expr_list$0$off0$i$lcssa = $has_expr_list$0$off0$i; - $t$1$i$lcssa = $t$1$i; - break; - } - $t$1$i$looptemp = $t$1$i; - $t$1$i = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($t$1$i, $last, $db) | 0; - if (($t$1$i | 0) == ($t$1$i$looptemp | 0) | ($t$1$i | 0) == ($last | 0)) { - $$9$i = $first; - break L323; - } else $has_expr_list$0$off0$i = 1; - } - $954 = $t$1$i$lcssa + 1 | 0; - $955 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($954, $last, $db) | 0; - if (($955 | 0) == ($954 | 0) | ($955 | 0) == ($last | 0)) $$9$i = $first; else { - $961 = HEAP8[$955 >> 0] | 0; - L335 : do if (($81 - $955 | 0) > 2 & $961 << 24 >> 24 == 112) { - if ((HEAP8[$955 + 1 >> 0] | 0) != 105) { - $$9$i = $first; - break L323; - } - $t$2$i = $955 + 2 | 0; - while (1) { - if ((HEAP8[$t$2$i >> 0] | 0) == 69) { - $has_init$0$off0$i513 = 1; - $t$3$i512 = $t$2$i; - break L335; - } - $t$2$i$looptemp = $t$2$i; - $t$2$i = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($t$2$i, $last, $db) | 0; - if (($t$2$i | 0) == ($t$2$i$looptemp | 0) | ($t$2$i | 0) == ($last | 0)) { - $$9$i = $first; - break L323; - } - } - } else if ($961 << 24 >> 24 == 69) { - $has_init$0$off0$i513 = 0; - $t$3$i512 = $955; - } else { - $$9$i = $first; - break L323; - } while (0); - HEAP32[$1 >> 2] = 0; - HEAP32[$1 + 4 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = 0; - if ($has_init$0$off0$i513) { - $976 = $db + 4 | 0; - $977 = HEAP32[$976 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) != ($977 | 0)) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $977 + -24 | 0); - L346 : do if (!(HEAP8[$1 >> 0] & 1)) { - HEAP8[$1 + 1 >> 0] = 0; - HEAP8[$1 >> 0] = 0; - } else { - $984 = $1 + 8 | 0; - $985 = HEAP32[$984 >> 2] | 0; - HEAP8[$985 >> 0] = 0; - $986 = $1 + 4 | 0; - HEAP32[$986 >> 2] = 0; - $987 = HEAP32[$1 >> 2] | 0; - $phitmp$i$i$i$i$i$i$i273 = ($987 & -2) + -1 | 0; - $989 = $987 & 255; - do if (!($989 & 1)) { - $993 = $987 >>> 1 & 127; - if (($989 & 255) < 22) { - _memcpy($1 + 1 | 0, $985 | 0, ($987 >>> 1 & 127) + 1 | 0) | 0; - _free($985); - $$ph518 = $993; - break; - } - $996 = $993 + 16 & 240; - $phitmp$i2$i$i$i$i$i$i276 = $996 + -1 | 0; - if (($phitmp$i2$i$i$i$i$i$i276 | 0) == ($phitmp$i$i$i$i$i$i$i273 | 0)) break L346; - $999 = _malloc($996) | 0; - if ($phitmp$i2$i$i$i$i$i$i276 >>> 0 <= $phitmp$i$i$i$i$i$i$i273 >>> 0 & ($999 | 0) == 0) break L346; - _memcpy($999 | 0, $1 + 1 | 0, ($987 >>> 1 & 127) + 1 | 0) | 0; - HEAP32[$1 >> 2] = $996 | 1; - HEAP32[$986 >> 2] = $993; - HEAP32[$984 >> 2] = $999; - break L346; - } else { - HEAP8[$1 + 1 >> 0] = 0; - _free($985); - $$ph518 = 0; - } while (0); - HEAP8[$1 >> 0] = $$ph518 << 1; - } while (0); - HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$2 + 8 >> 2]; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $1015 = HEAP32[$976 >> 2] | 0; - $1016 = $1015 + -24 | 0; - $1018 = $1015; - do { - $1017 = $1018 + -24 | 0; - HEAP32[$976 >> 2] = $1017; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1017); - $1018 = HEAP32[$976 >> 2] | 0; - } while (($1018 | 0) != ($1016 | 0)); - $$pre$phi511Z2D = $976; - $$pre$phiZ2D = $db; - $1022 = $1016; - label = 283; - } - } else { - $$phi$trans$insert = $db + 4 | 0; - $$pre$phi511Z2D = $$phi$trans$insert; - $$pre$phiZ2D = $db; - $1022 = HEAP32[$$phi$trans$insert >> 2] | 0; - label = 283; - } - if ((label | 0) == 283) if ((HEAP32[$$pre$phiZ2D >> 2] | 0) != ($1022 | 0)) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $1022 + -24 | 0); - $1024 = HEAP32[$$pre$phi511Z2D >> 2] | 0; - $1025 = $1024 + -24 | 0; - $1027 = $1024; - do { - $1026 = $1027 + -24 | 0; - HEAP32[$$pre$phi511Z2D >> 2] = $1026; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1026); - $1027 = HEAP32[$$pre$phi511Z2D >> 2] | 0; - } while (($1027 | 0) != ($1025 | 0)); - HEAP32[$4 >> 2] = 0; - HEAP32[$4 + 4 >> 2] = 0; - HEAP32[$4 + 8 >> 2] = 0; - if ($has_expr_list$0$off0$i$lcssa) if ((HEAP32[$$pre$phiZ2D >> 2] | 0) == ($1025 | 0)) { - $$019$i = $first; - $$2$i302 = 0; - } else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($5, $1024 + -48 | 0); - L371 : do if (!(HEAP8[$4 >> 0] & 1)) { - HEAP8[$4 + 1 >> 0] = 0; - HEAP8[$4 >> 0] = 0; - } else { - $1038 = $4 + 8 | 0; - $1039 = HEAP32[$1038 >> 2] | 0; - HEAP8[$1039 >> 0] = 0; - $1040 = $4 + 4 | 0; - HEAP32[$1040 >> 2] = 0; - $1041 = HEAP32[$4 >> 2] | 0; - $phitmp$i$i$i$i$i$i32$i = ($1041 & -2) + -1 | 0; - $1043 = $1041 & 255; - do if (!($1043 & 1)) { - $1047 = $1041 >>> 1 & 127; - if (($1043 & 255) < 22) { - _memcpy($4 + 1 | 0, $1039 | 0, ($1041 >>> 1 & 127) + 1 | 0) | 0; - _free($1039); - $$ph520524 = $1047; - break; - } - $1050 = $1047 + 16 & 240; - $phitmp$i2$i$i$i$i$i35$i = $1050 + -1 | 0; - if (($phitmp$i2$i$i$i$i$i35$i | 0) == ($phitmp$i$i$i$i$i$i32$i | 0)) break L371; - $1053 = _malloc($1050) | 0; - if ($phitmp$i2$i$i$i$i$i35$i >>> 0 <= $phitmp$i$i$i$i$i$i32$i >>> 0 & ($1053 | 0) == 0) break L371; - _memcpy($1053 | 0, $4 + 1 | 0, ($1041 >>> 1 & 127) + 1 | 0) | 0; - HEAP32[$4 >> 2] = $1050 | 1; - HEAP32[$1040 >> 2] = $1047; - HEAP32[$1038 >> 2] = $1053; - break L371; - } else { - HEAP8[$4 + 1 >> 0] = 0; - _free($1039); - $$ph520524 = 0; - } while (0); - HEAP8[$4 >> 0] = $$ph520524 << 1; - } while (0); - HEAP32[$4 >> 2] = HEAP32[$5 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$5 + 8 >> 2]; - HEAP32[$5 >> 2] = 0; - HEAP32[$5 + 4 >> 2] = 0; - HEAP32[$5 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - $1069 = HEAP32[$$pre$phi511Z2D >> 2] | 0; - $1070 = $1069 + -24 | 0; - $1072 = $1069; - do { - $1071 = $1072 + -24 | 0; - HEAP32[$$pre$phi511Z2D >> 2] = $1071; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1071); - $1072 = HEAP32[$$pre$phi511Z2D >> 2] | 0; - } while (($1072 | 0) != ($1070 | 0)); - label = 300; - } else label = 300; - if ((label | 0) == 300) { - HEAP32[$6 >> 2] = 0; - HEAP32[$6 + 4 >> 2] = 0; - HEAP32[$6 + 8 >> 2] = 0; - if ($parsed_gs$0$off0$i) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($6, 12902, 2); - if ($946) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($6, 14003) | 0; else __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($6, 12726) | 0; - if ($has_expr_list$0$off0$i$lcssa) { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($8, 12714, $4); - $1076 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($8, 14007) | 0; - HEAP32[$7 >> 2] = HEAP32[$1076 >> 2]; - HEAP32[$7 + 4 >> 2] = HEAP32[$1076 + 4 >> 2]; - HEAP32[$7 + 8 >> 2] = HEAP32[$1076 + 8 >> 2]; - HEAP32[$1076 >> 2] = 0; - HEAP32[$1076 + 4 >> 2] = 0; - HEAP32[$1076 + 8 >> 2] = 0; - $1079 = HEAP8[$7 >> 0] | 0; - $1081 = ($1079 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($6, $1081 ? $7 + 1 | 0 : HEAP32[$7 + 8 >> 2] | 0, $1081 ? ($1079 & 255) >>> 1 : HEAP32[$7 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($8); - } - $1091 = HEAP8[$3 >> 0] | 0; - $1093 = ($1091 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($6, $1093 ? $3 + 1 | 0 : HEAP32[$3 + 8 >> 2] | 0, $1093 ? ($1091 & 255) >>> 1 : HEAP32[$3 + 4 >> 2] | 0) | 0; - if ($has_init$0$off0$i513) { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($10, 12616, $1); - $1103 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($10, 12619) | 0; - HEAP32[$9 >> 2] = HEAP32[$1103 >> 2]; - HEAP32[$9 + 4 >> 2] = HEAP32[$1103 + 4 >> 2]; - HEAP32[$9 + 8 >> 2] = HEAP32[$1103 + 8 >> 2]; - HEAP32[$1103 >> 2] = 0; - HEAP32[$1103 + 4 >> 2] = 0; - HEAP32[$1103 + 8 >> 2] = 0; - $1106 = HEAP8[$9 >> 0] | 0; - $1108 = ($1106 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($6, $1108 ? $9 + 1 | 0 : HEAP32[$9 + 8 >> 2] | 0, $1108 ? ($1106 & 255) >>> 1 : HEAP32[$9 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($9); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($10); - }; - HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; - HEAP32[$12 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; - HEAP32[$12 + 8 >> 2] = HEAP32[$6 + 8 >> 2]; - HEAP32[$6 >> 2] = 0; - HEAP32[$6 + 4 >> 2] = 0; - HEAP32[$6 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($11, $12); - $1120 = HEAP32[$$pre$phi511Z2D >> 2] | 0; - $1122 = HEAP32[$db + 8 >> 2] | 0; - if ($1120 >>> 0 < $1122 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1120, $11); - HEAP32[$$pre$phi511Z2D >> 2] = (HEAP32[$$pre$phi511Z2D >> 2] | 0) + 24; - } else { - $1129 = HEAP32[$$pre$phiZ2D >> 2] | 0; - $1130 = $1120 - $1129 | 0; - $1131 = ($1130 | 0) / 24 | 0; - $1132 = $1131 + 1 | 0; - if (($1130 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1136 = ($1122 - $1129 | 0) / 24 | 0; - if ($1136 >>> 0 < 1073741823) { - $1138 = $1136 << 1; - $$0$i$i$i$i299 = $1138 >>> 0 < $1132 >>> 0 ? $1132 : $1138; - } else $$0$i$i$i$i299 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i$i299, $1131, $db + 12 | 0); - $1141 = $0 + 8 | 0; - $1142 = HEAP32[$1141 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1142, $11); - HEAP32[$1141 >> 2] = $1142 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($11); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($12); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - $$019$i = $t$3$i512 + 1 | 0; - $$2$i302 = 1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - if ($$2$i302) { - $$221$i = $$019$i; - label = 319; - break; - } else { - $$9$i = $first; - break; - } - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - $$9$i = $first; - } - } - } else { - $$221$i = $first; - label = 319; - } - } else { - $$221$i = $first; - label = 319; - } while (0); - if ((label | 0) == 319) $$9$i = $$221$i; - $$0 = $$9$i; - break L1; - break; - } - case 101: - { - $1145 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($54, 14010, 2); - $1146 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1145, $last, $54, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($54); - $$0 = ($1146 | 0) == ($1145 | 0) ? $first : $1146; - break L1; - break; - } - case 103: - { - $1148 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($55, 13988, 1); - $1149 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1148, $last, $55, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($55); - $$0 = ($1149 | 0) == ($1148 | 0) ? $first : $1149; - break L1; - break; - } - case 116: - { - $1151 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($56, 14013, 1); - $1152 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1151, $last, $56, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($56); - $$0 = ($1152 | 0) == ($1151 | 0) ? $first : $1152; - break L1; - break; - } - case 120: - { - $1154 = $first + 2 | 0; - $1155 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1154, $last, $db) | 0; - if (($1155 | 0) == ($1154 | 0)) $$03$i265 = $1154; else { - $1159 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1159 | 0)) $$03$i265 = $1154; else { - $1161 = $1159 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $1161); - $1162 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 14015) | 0; - HEAP32[$1 >> 2] = HEAP32[$1162 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1162 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1162 + 8 >> 2]; - HEAP32[$1162 >> 2] = 0; - HEAP32[$1162 + 4 >> 2] = 0; - HEAP32[$1162 + 8 >> 2] = 0; - $1165 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$1165 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$1165 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$1165 + 8 >> 2]; - HEAP32[$1165 >> 2] = 0; - HEAP32[$1165 + 4 >> 2] = 0; - HEAP32[$1165 + 8 >> 2] = 0; - do if (!(HEAP8[$1161 >> 0] & 1)) { - HEAP8[$1161 + 1 >> 0] = 0; - HEAP8[$1161 >> 0] = 0; - } else { - $1172 = $1159 + -16 | 0; - HEAP8[HEAP32[$1172 >> 2] >> 0] = 0; - $1174 = $1159 + -20 | 0; - HEAP32[$1174 >> 2] = 0; - $$pre$i$i$i$i = HEAP8[$1161 >> 0] | 0; - if (!($$pre$i$i$i$i & 1)) { - $1181 = $$pre$i$i$i$i; - $1190 = 10; - } else { - $1177 = HEAP32[$1161 >> 2] | 0; - $1181 = $1177 & 255; - $1190 = ($1177 & -2) + -1 | 0; - } - if (!($1181 & 1)) { - $1184 = ($1181 & 255) >>> 1; - if (($1181 & 255) < 22) { - $1189 = 10; - $1209 = $1184; - $1751 = 1; - } else { - $1189 = ($1184 + 16 & 240) + -1 | 0; - $1209 = $1184; - $1751 = 1; - } - } else { - $1189 = 10; - $1209 = 0; - $1751 = 0; - } - if (($1189 | 0) != ($1190 | 0)) { - if (($1189 | 0) == 10) { - $1196 = $1161 + 1 | 0; - $1197 = HEAP32[$1172 >> 2] | 0; - if ($1751) { - _memcpy($1196 | 0, $1197 | 0, (($1181 & 255) >>> 1) + 1 | 0) | 0; - _free($1197); - } else { - HEAP8[$1196 >> 0] = HEAP8[$1197 >> 0] | 0; - _free($1197); - } - HEAP8[$1161 >> 0] = $1209 << 1; - break; - } - $1193 = $1189 + 1 | 0; - $1194 = _malloc($1193) | 0; - if (!($1189 >>> 0 <= $1190 >>> 0 & ($1194 | 0) == 0)) { - if ($1751) _memcpy($1194 | 0, $1161 + 1 | 0, (($1181 & 255) >>> 1) + 1 | 0) | 0; else { - $1206 = HEAP32[$1172 >> 2] | 0; - HEAP8[$1194 >> 0] = HEAP8[$1206 >> 0] | 0; - _free($1206); - } - HEAP32[$1161 >> 2] = $1193 | 1; - HEAP32[$1174 >> 2] = $1209; - HEAP32[$1172 >> 2] = $1194; - } - } - } while (0); - HEAP32[$1161 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$1161 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$1161 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$03$i265 = $1155; - } - } - $$0 = ($$03$i265 | 0) == ($1154 | 0) ? $first : $$03$i265; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 111: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 110: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 111: - { - $1219 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($57, 14026, 2); - $1220 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1219, $last, $57, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($57); - $$0 = ($1220 | 0) == ($1219 | 0) ? $first : $1220; - break L1; - break; - } - case 114: - { - $1222 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($58, 14029, 1); - $1223 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1222, $last, $58, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($58); - $$0 = ($1223 | 0) == ($1222 | 0) ? $first : $1223; - break L1; - break; - } - case 82: - { - $1225 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($59, 14031, 2); - $1226 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1225, $last, $59, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($59); - $$0 = ($1226 | 0) == ($1225 | 0) ? $first : $1226; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 112: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 109: - { - $1231 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($60, 14034, 3); - $1232 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1231, $last, $60, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($60); - $$0 = ($1232 | 0) == ($1231 | 0) ? $first : $1232; - break L1; - break; - } - case 108: - { - $1234 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($61, 14038, 1); - $1235 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1234, $last, $61, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($61); - $$0 = ($1235 | 0) == ($1234 | 0) ? $first : $1235; - break L1; - break; - } - case 76: - { - $1237 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($62, 14040, 2); - $1238 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1237, $last, $62, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($62); - $$0 = ($1238 | 0) == ($1237 | 0) ? $first : $1238; - break L1; - break; - } - case 112: - { - $1240 = $first + 2 | 0; - if (($1240 | 0) != ($last | 0)) if ((HEAP8[$1240 >> 0] | 0) == 95) { - $1244 = $first + 3 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($63, 14043, 2); - $1245 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1244, $last, $63, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($63); - $$0 = ($1245 | 0) == ($1244 | 0) ? $first : $1245; - break L1; - } - $1247 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1240, $last, $db) | 0; - if (($1247 | 0) == ($1240 | 0)) { - $$0 = $first; - break L1; - } - $1251 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1251 | 0)) { - $$0 = $first; - break L1; - } - $1253 = $1251 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($67, $1253); - $1254 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($67, 0, 12714) | 0; - HEAP32[$66 >> 2] = HEAP32[$1254 >> 2]; - HEAP32[$66 + 4 >> 2] = HEAP32[$1254 + 4 >> 2]; - HEAP32[$66 + 8 >> 2] = HEAP32[$1254 + 8 >> 2]; - HEAP32[$1254 >> 2] = 0; - HEAP32[$1254 + 4 >> 2] = 0; - HEAP32[$1254 + 8 >> 2] = 0; - $1257 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($66, 14046) | 0; - HEAP32[$65 >> 2] = HEAP32[$1257 >> 2]; - HEAP32[$65 + 4 >> 2] = HEAP32[$1257 + 4 >> 2]; - HEAP32[$65 + 8 >> 2] = HEAP32[$1257 + 8 >> 2]; - HEAP32[$1257 >> 2] = 0; - HEAP32[$1257 + 4 >> 2] = 0; - HEAP32[$1257 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($64, $65); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1253, $64); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($64); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($65); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($66); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($67); - $$0 = $1247; - break L1; - break; - } - case 115: - { - $1260 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($68, 14038, 1); - $1261 = __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1260, $last, $68, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($68); - $$0 = ($1261 | 0) == ($1260 | 0) ? $first : $1261; - break L1; - break; - } - case 116: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 112) if ((HEAP8[$first + 1 >> 0] | 0) == 116) { - $1269 = $first + 2 | 0; - $1270 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1269, $last, $db) | 0; - if (($1270 | 0) == ($1269 | 0)) $$0$i254 = $first; else { - $1272 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1270, $last, $db) | 0; - if (($1272 | 0) == ($1270 | 0)) $$0$i254 = $first; else { - $1274 = $db + 4 | 0; - $1275 = HEAP32[$1274 >> 2] | 0; - if ((($1275 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$0$i254 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $1275 + -24 | 0); - $1283 = HEAP32[$1274 >> 2] | 0; - $1284 = $1283 + -24 | 0; - $1286 = $1283; - do { - $1285 = $1286 + -24 | 0; - HEAP32[$1274 >> 2] = $1285; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1285); - $1286 = HEAP32[$1274 >> 2] | 0; - } while (($1286 | 0) != ($1284 | 0)); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1283 + -48 | 0, 14050) | 0; - $1291 = HEAP8[$0 >> 0] | 0; - $1293 = ($1291 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$1274 >> 2] | 0) + -24 | 0, $1293 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $1293 ? ($1291 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$0$i254 = $1272; - } - } - } - } else $$0$i254 = $first; else $$0$i254 = $first; else $$0$i254 = $first; - $$0 = $$0$i254; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 113: - { - if ((HEAP8[$t$0 + 1 >> 0] | 0) != 117) { - $$0 = $first; - break L1; - } - $1306 = $first + 2 | 0; - $1307 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1306, $last, $db) | 0; - if (($1307 | 0) == ($1306 | 0)) { - $$0 = $first; - break L1; - } - $1309 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1307, $last, $db) | 0; - if (($1309 | 0) == ($1307 | 0)) { - $1383 = $db + 4 | 0; - $1384 = HEAP32[$1383 >> 2] | 0; - $1385 = $1384 + -24 | 0; - $1387 = $1384; - while (1) { - $1386 = $1387 + -24 | 0; - HEAP32[$1383 >> 2] = $1386; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1386); - $1387 = HEAP32[$1383 >> 2] | 0; - if (($1387 | 0) == ($1385 | 0)) { - $$0 = $first; - break L1; - } - } - } - $1311 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1309, $last, $db) | 0; - $1313 = $db + 4 | 0; - $1314 = HEAP32[$1313 >> 2] | 0; - if (($1311 | 0) == ($1309 | 0)) { - $1375 = $1314 + -24 | 0; - $1377 = $1314; - do { - $1376 = $1377 + -24 | 0; - HEAP32[$1313 >> 2] = $1376; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1376); - $1377 = HEAP32[$1313 >> 2] | 0; - } while (($1377 | 0) != ($1375 | 0)); - $1379 = $1314 + -48 | 0; - $1381 = $1375; - while (1) { - $1380 = $1381 + -24 | 0; - HEAP32[$1313 >> 2] = $1380; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1380); - $1381 = HEAP32[$1313 >> 2] | 0; - if (($1381 | 0) == ($1379 | 0)) { - $$0 = $first; - break L1; - } - } - } - if ((($1314 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 3) { - $$0 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op3, $1314 + -24 | 0); - $1322 = HEAP32[$1313 >> 2] | 0; - $1323 = $1322 + -24 | 0; - $1325 = $1322; - do { - $1324 = $1325 + -24 | 0; - HEAP32[$1313 >> 2] = $1324; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1324); - $1325 = HEAP32[$1313 >> 2] | 0; - } while (($1325 | 0) != ($1323 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op27, $1322 + -48 | 0); - $1328 = HEAP32[$1313 >> 2] | 0; - $1329 = $1328 + -24 | 0; - $1331 = $1328; - do { - $1330 = $1331 + -24 | 0; - HEAP32[$1313 >> 2] = $1330; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1330); - $1331 = HEAP32[$1313 >> 2] | 0; - } while (($1331 | 0) != ($1329 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op18, $1328 + -48 | 0); - $1335 = (HEAP32[$1313 >> 2] | 0) + -24 | 0; - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($75, 12714, $op18); - $1336 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($75, 14053) | 0; - HEAP32[$74 >> 2] = HEAP32[$1336 >> 2]; - HEAP32[$74 + 4 >> 2] = HEAP32[$1336 + 4 >> 2]; - HEAP32[$74 + 8 >> 2] = HEAP32[$1336 + 8 >> 2]; - HEAP32[$1336 >> 2] = 0; - HEAP32[$1336 + 4 >> 2] = 0; - HEAP32[$1336 + 8 >> 2] = 0; - $1339 = HEAP8[$op27 >> 0] | 0; - $1341 = ($1339 & 1) == 0; - $1351 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($74, $1341 ? $op27 + 1 | 0 : HEAP32[$op27 + 8 >> 2] | 0, $1341 ? ($1339 & 255) >>> 1 : HEAP32[$op27 + 4 >> 2] | 0) | 0; - HEAP32[$73 >> 2] = HEAP32[$1351 >> 2]; - HEAP32[$73 + 4 >> 2] = HEAP32[$1351 + 4 >> 2]; - HEAP32[$73 + 8 >> 2] = HEAP32[$1351 + 8 >> 2]; - HEAP32[$1351 >> 2] = 0; - HEAP32[$1351 + 4 >> 2] = 0; - HEAP32[$1351 + 8 >> 2] = 0; - $1354 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($73, 14059) | 0; - HEAP32[$72 >> 2] = HEAP32[$1354 >> 2]; - HEAP32[$72 + 4 >> 2] = HEAP32[$1354 + 4 >> 2]; - HEAP32[$72 + 8 >> 2] = HEAP32[$1354 + 8 >> 2]; - HEAP32[$1354 >> 2] = 0; - HEAP32[$1354 + 4 >> 2] = 0; - HEAP32[$1354 + 8 >> 2] = 0; - $1357 = HEAP8[$op3 >> 0] | 0; - $1359 = ($1357 & 1) == 0; - $1369 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($72, $1359 ? $op3 + 1 | 0 : HEAP32[$op3 + 8 >> 2] | 0, $1359 ? ($1357 & 255) >>> 1 : HEAP32[$op3 + 4 >> 2] | 0) | 0; - HEAP32[$71 >> 2] = HEAP32[$1369 >> 2]; - HEAP32[$71 + 4 >> 2] = HEAP32[$1369 + 4 >> 2]; - HEAP32[$71 + 8 >> 2] = HEAP32[$1369 + 8 >> 2]; - HEAP32[$1369 >> 2] = 0; - HEAP32[$1369 + 4 >> 2] = 0; - HEAP32[$1369 + 8 >> 2] = 0; - $1372 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($71, 12619) | 0; - HEAP32[$70 >> 2] = HEAP32[$1372 >> 2]; - HEAP32[$70 + 4 >> 2] = HEAP32[$1372 + 4 >> 2]; - HEAP32[$70 + 8 >> 2] = HEAP32[$1372 + 8 >> 2]; - HEAP32[$1372 >> 2] = 0; - HEAP32[$1372 + 4 >> 2] = 0; - HEAP32[$1372 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($69, $70); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1335, $69); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($69); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($70); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($71); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($72); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($73); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($74); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($75); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op18); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op27); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op3); - $$0 = $1311; - break L1; - break; - } - case 114: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 99: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 114) if ((HEAP8[$first + 1 >> 0] | 0) == 99) { - $1398 = $first + 2 | 0; - $1399 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1398, $last, $db) | 0; - if (($1399 | 0) == ($1398 | 0)) $$06$i248 = $first; else { - $1401 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1399, $last, $db) | 0; - if (($1401 | 0) == ($1399 | 0)) $$06$i248 = $first; else { - $1403 = $db + 4 | 0; - $1404 = HEAP32[$1403 >> 2] | 0; - if ((($1404 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$06$i248 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $1404 + -24 | 0); - $1412 = HEAP32[$1403 >> 2] | 0; - $1413 = $1412 + -24 | 0; - $1415 = $1412; - do { - $1414 = $1415 + -24 | 0; - HEAP32[$1403 >> 2] = $1414; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1414); - $1415 = HEAP32[$1403 >> 2] | 0; - } while (($1415 | 0) != ($1413 | 0)); - $1417 = $1412 + -48 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($6, $1417); - $1418 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($6, 0, 14065) | 0; - HEAP32[$5 >> 2] = HEAP32[$1418 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$1418 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$1418 + 8 >> 2]; - HEAP32[$1418 >> 2] = 0; - HEAP32[$1418 + 4 >> 2] = 0; - HEAP32[$1418 + 8 >> 2] = 0; - $1421 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 13916) | 0; - HEAP32[$4 >> 2] = HEAP32[$1421 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$1421 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$1421 + 8 >> 2]; - HEAP32[$1421 >> 2] = 0; - HEAP32[$1421 + 4 >> 2] = 0; - HEAP32[$1421 + 8 >> 2] = 0; - $1424 = HEAP8[$0 >> 0] | 0; - $1426 = ($1424 & 1) == 0; - $1436 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($4, $1426 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $1426 ? ($1424 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - HEAP32[$3 >> 2] = HEAP32[$1436 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$1436 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$1436 + 8 >> 2]; - HEAP32[$1436 >> 2] = 0; - HEAP32[$1436 + 4 >> 2] = 0; - HEAP32[$1436 + 8 >> 2] = 0; - $1439 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($3, 12619) | 0; - HEAP32[$2 >> 2] = HEAP32[$1439 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1439 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1439 + 8 >> 2]; - HEAP32[$1439 >> 2] = 0; - HEAP32[$1439 + 4 >> 2] = 0; - HEAP32[$1439 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1417, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$06$i248 = $1401; - } - } - } - } else $$06$i248 = $first; else $$06$i248 = $first; else $$06$i248 = $first; - $$0 = $$06$i248; - break L1; - break; - } - case 109: - { - $1442 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($76, 14083, 1); - $1443 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1442, $last, $76, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($76); - $$0 = ($1443 | 0) == ($1442 | 0) ? $first : $1443; - break L1; - break; - } - case 77: - { - $1445 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($77, 14085, 2); - $1446 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1445, $last, $77, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($77); - $$0 = ($1446 | 0) == ($1445 | 0) ? $first : $1446; - break L1; - break; - } - case 115: - { - $1448 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($78, 14088, 2); - $1449 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1448, $last, $78, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($78); - $$0 = ($1449 | 0) == ($1448 | 0) ? $first : $1449; - break L1; - break; - } - case 83: - { - $1451 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($79, 14091, 3); - $1452 = __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($1451, $last, $79, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($79); - STACKTOP = sp; - return (($1452 | 0) == ($1451 | 0) ? $first : $1452) | 0; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 115: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 99: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 115) if ((HEAP8[$first + 1 >> 0] | 0) == 99) { - $1463 = $first + 2 | 0; - $1464 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1463, $last, $db) | 0; - if (($1464 | 0) == ($1463 | 0)) $$06$i = $first; else { - $1466 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1464, $last, $db) | 0; - if (($1466 | 0) == ($1464 | 0)) $$06$i = $first; else { - $1468 = $db + 4 | 0; - $1469 = HEAP32[$1468 >> 2] | 0; - if ((($1469 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$06$i = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, $1469 + -24 | 0); - $1477 = HEAP32[$1468 >> 2] | 0; - $1478 = $1477 + -24 | 0; - $1480 = $1477; - do { - $1479 = $1480 + -24 | 0; - HEAP32[$1468 >> 2] = $1479; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1479); - $1480 = HEAP32[$1468 >> 2] | 0; - } while (($1480 | 0) != ($1478 | 0)); - $1482 = $1477 + -48 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($6, $1482); - $1483 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($6, 0, 14095) | 0; - HEAP32[$5 >> 2] = HEAP32[$1483 >> 2]; - HEAP32[$5 + 4 >> 2] = HEAP32[$1483 + 4 >> 2]; - HEAP32[$5 + 8 >> 2] = HEAP32[$1483 + 8 >> 2]; - HEAP32[$1483 >> 2] = 0; - HEAP32[$1483 + 4 >> 2] = 0; - HEAP32[$1483 + 8 >> 2] = 0; - $1486 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 13916) | 0; - HEAP32[$4 >> 2] = HEAP32[$1486 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$1486 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$1486 + 8 >> 2]; - HEAP32[$1486 >> 2] = 0; - HEAP32[$1486 + 4 >> 2] = 0; - HEAP32[$1486 + 8 >> 2] = 0; - $1489 = HEAP8[$0 >> 0] | 0; - $1491 = ($1489 & 1) == 0; - $1501 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($4, $1491 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $1491 ? ($1489 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - HEAP32[$3 >> 2] = HEAP32[$1501 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$1501 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$1501 + 8 >> 2]; - HEAP32[$1501 >> 2] = 0; - HEAP32[$1501 + 4 >> 2] = 0; - HEAP32[$1501 + 8 >> 2] = 0; - $1504 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($3, 12619) | 0; - HEAP32[$2 >> 2] = HEAP32[$1504 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1504 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1504 + 8 >> 2]; - HEAP32[$1504 >> 2] = 0; - HEAP32[$1504 + 4 >> 2] = 0; - HEAP32[$1504 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1482, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $$06$i = $1466; - } - } - } - } else $$06$i = $first; else $$06$i = $first; else $$06$i = $first; - $$0 = $$06$i; - break L1; - break; - } - case 112: - { - if (($83 | 0) <= 2) { - $$0 = $first; - break L1; - } - if ((HEAP8[$first >> 0] | 0) != 115) { - $$0 = $first; - break L1; - } - if ((HEAP8[$first + 1 >> 0] | 0) != 112) { - $$0 = $first; - break L1; - } - $1513 = $first + 2 | 0; - $1514 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1513, $last, $db) | 0; - $$0 = ($1514 | 0) == ($1513 | 0) ? $first : $1514; - break L1; - break; - } - case 114: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - case 116: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 115) if ((HEAP8[$first + 1 >> 0] | 0) == 116) { - $1523 = $first + 2 | 0; - $1524 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1523, $last, $db) | 0; - if (($1524 | 0) == ($1523 | 0)) $$03$i211 = $first; else { - $1528 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1528 | 0)) $$03$i211 = $first; else { - $1530 = $1528 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $1530); - $1531 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 14108) | 0; - HEAP32[$2 >> 2] = HEAP32[$1531 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1531 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1531 + 8 >> 2]; - HEAP32[$1531 >> 2] = 0; - HEAP32[$1531 + 4 >> 2] = 0; - HEAP32[$1531 + 8 >> 2] = 0; - $1534 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$1534 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1534 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1534 + 8 >> 2]; - HEAP32[$1534 >> 2] = 0; - HEAP32[$1534 + 4 >> 2] = 0; - HEAP32[$1534 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1530, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$03$i211 = $1524; - } - } - } else $$03$i211 = $first; else $$03$i211 = $first; else $$03$i211 = $first; - $$0 = $$03$i211; - break L1; - break; - } - case 122: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 115) if ((HEAP8[$first + 1 >> 0] | 0) == 122) { - $1543 = $first + 2 | 0; - $1544 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1543, $last, $db) | 0; - if (($1544 | 0) == ($1543 | 0)) $$03$i200 = $first; else { - $1548 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1548 | 0)) $$03$i200 = $first; else { - $1550 = $1548 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $1550); - $1551 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 14108) | 0; - HEAP32[$2 >> 2] = HEAP32[$1551 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1551 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1551 + 8 >> 2]; - HEAP32[$1551 >> 2] = 0; - HEAP32[$1551 + 4 >> 2] = 0; - HEAP32[$1551 + 8 >> 2] = 0; - $1554 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$1554 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1554 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1554 + 8 >> 2]; - HEAP32[$1554 >> 2] = 0; - HEAP32[$1554 + 4 >> 2] = 0; - HEAP32[$1554 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1550, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$03$i200 = $1544; - } - } - } else $$03$i200 = $first; else $$03$i200 = $first; else $$03$i200 = $first; - $$0 = $$03$i200; - break L1; - break; - } - case 90: - { - if (($81 - $t$0 | 0) <= 2) { - $$0 = $first; - break L1; - } - switch (HEAP8[$t$0 + 2 >> 0] | 0) { - case 84: - break; - case 102: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 115) if ((HEAP8[$first + 1 >> 0] | 0) == 90) { - $1662 = $first + 2 | 0; - if ((HEAP8[$1662 >> 0] | 0) == 102) { - $1665 = __ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_($1662, $last, $db) | 0; - if (($1665 | 0) == ($1662 | 0)) $$03$i174 = $first; else { - $1669 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1669 | 0)) $$03$i174 = $first; else { - $1671 = $1669 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $1671); - $1672 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 14117) | 0; - HEAP32[$2 >> 2] = HEAP32[$1672 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1672 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1672 + 8 >> 2]; - HEAP32[$1672 >> 2] = 0; - HEAP32[$1672 + 4 >> 2] = 0; - HEAP32[$1672 + 8 >> 2] = 0; - $1675 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$1675 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1675 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1675 + 8 >> 2]; - HEAP32[$1675 >> 2] = 0; - HEAP32[$1675 + 4 >> 2] = 0; - HEAP32[$1675 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1671, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$03$i174 = $1665; - } - } - } else $$03$i174 = $first; - } else $$03$i174 = $first; else $$03$i174 = $first; else $$03$i174 = $first; - $$0 = $$03$i174; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 115) if ((HEAP8[$first + 1 >> 0] | 0) == 90) { - $1569 = $first + 2 | 0; - if ((HEAP8[$1569 >> 0] | 0) == 84) { - $1572 = $db + 4 | 0; - $1578 = ((HEAP32[$1572 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $1579 = __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($1569, $last, $db) | 0; - $1581 = HEAP32[$db >> 2] | 0; - $1585 = ((HEAP32[$1572 >> 2] | 0) - $1581 | 0) / 24 | 0; - if (($1579 | 0) == ($1569 | 0)) $$03$i = $first; else { - HEAP8[$1 >> 0] = 20; - dest = $1 + 1 | 0; - src = 14117; - stop = dest + 10 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$1 + 11 >> 0] = 0; - if (($1578 | 0) != ($1585 | 0)) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $1581 + ($1578 * 24 | 0) | 0); - $1591 = HEAP8[$2 >> 0] | 0; - $1593 = ($1591 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($1, $1593 ? $2 + 1 | 0 : HEAP32[$2 + 8 >> 2] | 0, $1593 ? ($1591 & 255) >>> 1 : HEAP32[$2 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $1603 = $3 + 8 | 0; - $1604 = $3 + 1 | 0; - $1605 = $3 + 4 | 0; - $k$0$i621 = $1578 + 1 | 0; - if (($k$0$i621 | 0) != ($1585 | 0)) { - $k$0$i622 = $k$0$i621; - do { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($4, (HEAP32[$db >> 2] | 0) + ($k$0$i622 * 24 | 0) | 0); - $1609 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($4, 0, 12716) | 0; - HEAP32[$3 >> 2] = HEAP32[$1609 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$1609 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$1609 + 8 >> 2]; - HEAP32[$1609 >> 2] = 0; - HEAP32[$1609 + 4 >> 2] = 0; - HEAP32[$1609 + 8 >> 2] = 0; - $1612 = HEAP8[$3 >> 0] | 0; - $1614 = ($1612 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($1, $1614 ? $1604 : HEAP32[$1603 >> 2] | 0, $1614 ? ($1612 & 255) >>> 1 : HEAP32[$1605 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - $k$0$i622 = $k$0$i622 + 1 | 0; - } while (($k$0$i622 | 0) != ($1585 | 0)); - } - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - if (($1585 | 0) != ($1578 | 0)) { - $k1$0$i618 = $1585; - do { - $1623 = HEAP32[$1572 >> 2] | 0; - $1624 = $1623 + -24 | 0; - $1626 = $1623; - do { - $1625 = $1626 + -24 | 0; - HEAP32[$1572 >> 2] = $1625; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1625); - $1626 = HEAP32[$1572 >> 2] | 0; - } while (($1626 | 0) != ($1624 | 0)); - $k1$0$i618 = $k1$0$i618 + -1 | 0; - } while (($k1$0$i618 | 0) != ($1578 | 0)); - }; - HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$6 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; - HEAP32[$6 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; - HEAP32[$1 >> 2] = 0; - HEAP32[$1 + 4 >> 2] = 0; - HEAP32[$1 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($5, $6); - $1632 = HEAP32[$1572 >> 2] | 0; - $1634 = HEAP32[$db + 8 >> 2] | 0; - if ($1632 >>> 0 < $1634 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1632, $5); - HEAP32[$1572 >> 2] = (HEAP32[$1572 >> 2] | 0) + 24; - } else { - $1641 = HEAP32[$db >> 2] | 0; - $1642 = $1632 - $1641 | 0; - $1643 = ($1642 | 0) / 24 | 0; - $1644 = $1643 + 1 | 0; - if (($1642 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1648 = ($1634 - $1641 | 0) / 24 | 0; - if ($1648 >>> 0 < 1073741823) { - $1650 = $1648 << 1; - $$0$i$i$i$i = $1650 >>> 0 < $1644 >>> 0 ? $1644 : $1650; - } else $$0$i$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i$i, $1643, $db + 12 | 0); - $1653 = $0 + 8 | 0; - $1654 = HEAP32[$1653 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1654, $5); - HEAP32[$1653 >> 2] = $1654 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - $$03$i = $1579; - } - } else $$03$i = $first; - } else $$03$i = $first; else $$03$i = $first; else $$03$i = $first; - $$0 = $$03$i; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 116: - { - switch (HEAP8[$t$0 + 1 >> 0] | 0) { - case 105: - case 101: - { - L600 : do if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 116) { - $1685 = HEAP8[$first + 1 >> 0] | 0; - switch ($1685 << 24 >> 24) { - case 105: - case 101: - break; - default: - { - $$03$i189 = $first; - break L600; - } - } - $1687 = $first + 2 | 0; - if ($1685 << 24 >> 24 == 101) $t$0$i = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1687, $last, $db) | 0; else $t$0$i = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($1687, $last, $db) | 0; - if (($t$0$i | 0) == ($1687 | 0)) $$03$i189 = $first; else { - $1693 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1693 | 0)) $$03$i189 = $first; else { - $1695 = $1693 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $1695); - $1696 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 14128) | 0; - HEAP32[$2 >> 2] = HEAP32[$1696 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$1696 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$1696 + 8 >> 2]; - HEAP32[$1696 >> 2] = 0; - HEAP32[$1696 + 4 >> 2] = 0; - HEAP32[$1696 + 8 >> 2] = 0; - $1699 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$1699 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1699 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1699 + 8 >> 2]; - HEAP32[$1699 >> 2] = 0; - HEAP32[$1699 + 4 >> 2] = 0; - HEAP32[$1699 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1695, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$03$i189 = $t$0$i; - } - } - } else $$03$i189 = $first; else $$03$i189 = $first; while (0); - $$0 = $$03$i189; - break L1; - break; - } - case 114: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj6EEERAT__Kc($80, 14136); - $1702 = $db + 4 | 0; - $1703 = HEAP32[$1702 >> 2] | 0; - $1705 = HEAP32[$db + 8 >> 2] | 0; - if ($1703 >>> 0 < $1705 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1703, $80); - HEAP32[$1702 >> 2] = (HEAP32[$1702 >> 2] | 0) + 24; - } else { - $1712 = HEAP32[$db >> 2] | 0; - $1713 = $1703 - $1712 | 0; - $1714 = ($1713 | 0) / 24 | 0; - $1715 = $1714 + 1 | 0; - if (($1713 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1719 = ($1705 - $1712 | 0) / 24 | 0; - if ($1719 >>> 0 < 1073741823) { - $1721 = $1719 << 1; - $$0$i$i$i = $1721 >>> 0 < $1715 >>> 0 ? $1715 : $1721; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i, $1714, $db + 12 | 0); - $1724 = $0 + 8 | 0; - $1725 = HEAP32[$1724 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1725, $80); - HEAP32[$1724 >> 2] = $1725 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($80); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 119: - { - if (($83 | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 116) if ((HEAP8[$first + 1 >> 0] | 0) == 119) { - $1734 = $first + 2 | 0; - $1735 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($1734, $last, $db) | 0; - if (($1735 | 0) == ($1734 | 0)) $$02$i = $first; else { - $1739 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1739 | 0)) $$02$i = $first; else { - $1741 = $1739 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($2, $1741); - $1742 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 14142) | 0; - HEAP32[$1 >> 2] = HEAP32[$1742 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$1742 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$1742 + 8 >> 2]; - HEAP32[$1742 >> 2] = 0; - HEAP32[$1742 + 4 >> 2] = 0; - HEAP32[$1742 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($1741, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$02$i = $1735; - } - } - } else $$02$i = $first; else $$02$i = $first; else $$02$i = $first; - $$0 = $$02$i; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 57: - case 56: - case 55: - case 54: - case 53: - case 52: - case 51: - case 50: - case 49: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } while (0); - } else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i10 = 0, $$0$i$i$i100 = 0, $$0$i$i$i105 = 0, $$0$i$i$i110 = 0, $$0$i$i$i115 = 0, $$0$i$i$i120 = 0, $$0$i$i$i125 = 0, $$0$i$i$i130 = 0, $$0$i$i$i135 = 0, $$0$i$i$i140 = 0, $$0$i$i$i145 = 0, $$0$i$i$i15 = 0, $$0$i$i$i150 = 0, $$0$i$i$i155 = 0, $$0$i$i$i160 = 0, $$0$i$i$i165 = 0, $$0$i$i$i170 = 0, $$0$i$i$i175 = 0, $$0$i$i$i180 = 0, $$0$i$i$i185 = 0, $$0$i$i$i190 = 0, $$0$i$i$i195 = 0, $$0$i$i$i20 = 0, $$0$i$i$i200 = 0, $$0$i$i$i205 = 0, $$0$i$i$i210 = 0, $$0$i$i$i215 = 0, $$0$i$i$i220 = 0, $$0$i$i$i225 = 0, $$0$i$i$i25 = 0, $$0$i$i$i30 = 0, $$0$i$i$i35 = 0, $$0$i$i$i40 = 0, $$0$i$i$i45 = 0, $$0$i$i$i5 = 0, $$0$i$i$i50 = 0, $$0$i$i$i55 = 0, $$0$i$i$i60 = 0, $$0$i$i$i65 = 0, $$0$i$i$i70 = 0, $$0$i$i$i75 = 0, $$0$i$i$i80 = 0, $$0$i$i$i85 = 0, $$0$i$i$i90 = 0, $$0$i$i$i95 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1009 = 0, $1011 = 0, $1014 = 0, $1015 = 0, $1021 = 0, $1022 = 0, $1024 = 0, $103 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1038 = 0, $104 = 0, $1040 = 0, $1043 = 0, $1044 = 0, $1047 = 0, $1048 = 0, $1050 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $1060 = 0, $1064 = 0, $1066 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1073 = 0, $1074 = 0, $1076 = 0, $108 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1090 = 0, $1092 = 0, $1095 = 0, $1096 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1102 = 0, $1109 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1116 = 0, $1118 = 0, $1121 = 0, $1122 = 0, $1125 = 0, $1126 = 0, $1128 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1142 = 0, $1144 = 0, $1147 = 0, $1148 = 0, $1151 = 0, $1152 = 0, $1154 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1168 = 0, $117 = 0, $1170 = 0, $1173 = 0, $1174 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1183 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1197 = 0, $1199 = 0, $12 = 0, $120 = 0, $1202 = 0, $1203 = 0, $1209 = 0, $1210 = 0, $1212 = 0, $1219 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1226 = 0, $1228 = 0, $1231 = 0, $1232 = 0, $1235 = 0, $1236 = 0, $1238 = 0, $124 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1252 = 0, $1254 = 0, $1257 = 0, $1258 = 0, $126 = 0, $1261 = 0, $1262 = 0, $1264 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1278 = 0, $1280 = 0, $1283 = 0, $1284 = 0, $1287 = 0, $1288 = 0, $129 = 0, $1290 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1304 = 0, $1306 = 0, $1309 = 0, $1310 = 0, $1316 = 0, $1317 = 0, $1321 = 0, $133 = 0, $134 = 0, $136 = 0, $14 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $150 = 0, $152 = 0, $155 = 0, $156 = 0, $16 = 0, $162 = 0, $163 = 0, $165 = 0, $17 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $179 = 0, $18 = 0, $181 = 0, $184 = 0, $185 = 0, $188 = 0, $189 = 0, $19 = 0, $191 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $205 = 0, $207 = 0, $21 = 0, $210 = 0, $211 = 0, $214 = 0, $215 = 0, $217 = 0, $22 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $231 = 0, $233 = 0, $236 = 0, $237 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $247 = 0, $25 = 0, $254 = 0, $255 = 0, $257 = 0, $26 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $271 = 0, $273 = 0, $276 = 0, $277 = 0, $28 = 0, $280 = 0, $281 = 0, $283 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $297 = 0, $299 = 0, $3 = 0, $30 = 0, $302 = 0, $303 = 0, $306 = 0, $31 = 0, $310 = 0, $313 = 0, $314 = 0, $316 = 0, $32 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $33 = 0, $330 = 0, $332 = 0, $335 = 0, $336 = 0, $339 = 0, $34 = 0, $340 = 0, $342 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $356 = 0, $358 = 0, $36 = 0, $361 = 0, $362 = 0, $365 = 0, $366 = 0, $368 = 0, $37 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $38 = 0, $382 = 0, $384 = 0, $387 = 0, $388 = 0, $39 = 0, $394 = 0, $395 = 0, $397 = 0, $4 = 0, $40 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $41 = 0, $411 = 0, $413 = 0, $416 = 0, $417 = 0, $42 = 0, $420 = 0, $421 = 0, $423 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $437 = 0, $439 = 0, $44 = 0, $442 = 0, $443 = 0, $446 = 0, $447 = 0, $449 = 0, $45 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $463 = 0, $465 = 0, $468 = 0, $469 = 0, $475 = 0, $476 = 0, $478 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $492 = 0, $494 = 0, $497 = 0, $498 = 0, $5 = 0, $501 = 0, $502 = 0, $504 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $518 = 0, $520 = 0, $523 = 0, $524 = 0, $530 = 0, $531 = 0, $533 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $547 = 0, $549 = 0, $55 = 0, $552 = 0, $553 = 0, $559 = 0, $56 = 0, $560 = 0, $562 = 0, $569 = 0, $570 = 0, $571 = 0, $572 = 0, $576 = 0, $578 = 0, $58 = 0, $581 = 0, $582 = 0, $585 = 0, $586 = 0, $590 = 0, $593 = 0, $594 = 0, $596 = 0, $6 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $610 = 0, $612 = 0, $615 = 0, $616 = 0, $619 = 0, $620 = 0, $622 = 0, $629 = 0, $630 = 0, $631 = 0, $632 = 0, $636 = 0, $638 = 0, $641 = 0, $642 = 0, $645 = 0, $646 = 0, $648 = 0, $65 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $66 = 0, $662 = 0, $664 = 0, $667 = 0, $668 = 0, $67 = 0, $674 = 0, $675 = 0, $677 = 0, $68 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $691 = 0, $693 = 0, $696 = 0, $697 = 0, $7 = 0, $700 = 0, $701 = 0, $703 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $717 = 0, $719 = 0, $72 = 0, $722 = 0, $723 = 0, $726 = 0, $727 = 0, $729 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $743 = 0, $745 = 0, $748 = 0, $749 = 0, $752 = 0, $753 = 0, $755 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $769 = 0, $77 = 0, $771 = 0, $774 = 0, $775 = 0, $778 = 0, $779 = 0, $78 = 0, $781 = 0, $788 = 0, $789 = 0, $790 = 0, $791 = 0, $795 = 0, $797 = 0, $8 = 0, $800 = 0, $801 = 0, $807 = 0, $808 = 0, $81 = 0, $810 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $824 = 0, $826 = 0, $829 = 0, $830 = 0, $833 = 0, $834 = 0, $836 = 0, $84 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $850 = 0, $852 = 0, $855 = 0, $856 = 0, $859 = 0, $860 = 0, $862 = 0, $869 = 0, $870 = 0, $871 = 0, $872 = 0, $876 = 0, $878 = 0, $881 = 0, $882 = 0, $885 = 0, $886 = 0, $888 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $9 = 0, $902 = 0, $904 = 0, $907 = 0, $908 = 0, $91 = 0, $911 = 0, $912 = 0, $914 = 0, $92 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $928 = 0, $93 = 0, $930 = 0, $933 = 0, $934 = 0, $94 = 0, $940 = 0, $941 = 0, $943 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $957 = 0, $959 = 0, $962 = 0, $963 = 0, $966 = 0, $967 = 0, $969 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $983 = 0, $985 = 0, $988 = 0, $989 = 0, $992 = 0, $993 = 0, $995 = 0, $__v$i$i224 = 0, dest = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1136 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i224 = sp + 1104 | 0; - $0 = sp + 1080 | 0; - $1 = sp + 1056 | 0; - $2 = sp + 1032 | 0; - $3 = sp + 1008 | 0; - $4 = sp + 984 | 0; - $5 = sp + 960 | 0; - $6 = sp + 936 | 0; - $7 = sp + 912 | 0; - $8 = sp + 888 | 0; - $9 = sp + 864 | 0; - $10 = sp + 840 | 0; - $11 = sp + 816 | 0; - $12 = sp + 792 | 0; - $13 = sp + 768 | 0; - $14 = sp + 744 | 0; - $15 = sp + 720 | 0; - $16 = sp + 696 | 0; - $17 = sp + 672 | 0; - $18 = sp + 648 | 0; - $19 = sp + 624 | 0; - $20 = sp + 600 | 0; - $21 = sp + 576 | 0; - $22 = sp + 552 | 0; - $23 = sp + 528 | 0; - $24 = sp + 504 | 0; - $25 = sp + 480 | 0; - $26 = sp + 456 | 0; - $27 = sp + 432 | 0; - $28 = sp + 408 | 0; - $29 = sp + 384 | 0; - $30 = sp + 360 | 0; - $31 = sp + 336 | 0; - $32 = sp + 312 | 0; - $33 = sp + 288 | 0; - $34 = sp + 264 | 0; - $35 = sp + 240 | 0; - $36 = sp + 216 | 0; - $37 = sp + 192 | 0; - $38 = sp + 168 | 0; - $39 = sp + 144 | 0; - $40 = sp + 120 | 0; - $41 = sp + 96 | 0; - $42 = sp + 72 | 0; - $43 = sp + 48 | 0; - $44 = sp + 24 | 0; - $45 = sp; - L1 : do if (($last - $first | 0) > 1) do switch (HEAP8[$first >> 0] | 0) { - case 97: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($0, 12949); - $55 = $db + 4 | 0; - $56 = HEAP32[$55 >> 2] | 0; - $58 = HEAP32[$db + 8 >> 2] | 0; - if ($56 >>> 0 < $58 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($56, $0); - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + 24; - } else { - $65 = HEAP32[$db >> 2] | 0; - $66 = $56 - $65 | 0; - $67 = ($66 | 0) / 24 | 0; - $68 = $67 + 1 | 0; - if (($66 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $72 = ($58 - $65 | 0) / 24 | 0; - if ($72 >>> 0 < 1073741823) { - $74 = $72 << 1; - $$0$i$i$i = $74 >>> 0 < $68 >>> 0 ? $68 : $74; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i, $67, $db + 12 | 0); - $77 = $__v$i$i224 + 8 | 0; - $78 = HEAP32[$77 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($78, $0); - HEAP32[$77 >> 2] = $78 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 110: - case 100: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($1, 12960); - $81 = $db + 4 | 0; - $82 = HEAP32[$81 >> 2] | 0; - $84 = HEAP32[$db + 8 >> 2] | 0; - if ($82 >>> 0 < $84 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($82, $1); - HEAP32[$81 >> 2] = (HEAP32[$81 >> 2] | 0) + 24; - } else { - $91 = HEAP32[$db >> 2] | 0; - $92 = $82 - $91 | 0; - $93 = ($92 | 0) / 24 | 0; - $94 = $93 + 1 | 0; - if (($92 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $98 = ($84 - $91 | 0) / 24 | 0; - if ($98 >>> 0 < 1073741823) { - $100 = $98 << 1; - $$0$i$i$i5 = $100 >>> 0 < $94 >>> 0 ? $94 : $100; - } else $$0$i$i$i5 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i5, $93, $db + 12 | 0); - $103 = $__v$i$i224 + 8 | 0; - $104 = HEAP32[$103 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($104, $1); - HEAP32[$103 >> 2] = $104 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 78: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($2, 12970); - $107 = $db + 4 | 0; - $108 = HEAP32[$107 >> 2] | 0; - $110 = HEAP32[$db + 8 >> 2] | 0; - if ($108 >>> 0 < $110 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($108, $2); - HEAP32[$107 >> 2] = (HEAP32[$107 >> 2] | 0) + 24; - } else { - $117 = HEAP32[$db >> 2] | 0; - $118 = $108 - $117 | 0; - $119 = ($118 | 0) / 24 | 0; - $120 = $119 + 1 | 0; - if (($118 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $124 = ($110 - $117 | 0) / 24 | 0; - if ($124 >>> 0 < 1073741823) { - $126 = $124 << 1; - $$0$i$i$i10 = $126 >>> 0 < $120 >>> 0 ? $120 : $126; - } else $$0$i$i$i10 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i10, $119, $db + 12 | 0); - $129 = $__v$i$i224 + 8 | 0; - $130 = HEAP32[$129 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($130, $2); - HEAP32[$129 >> 2] = $130 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 83: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($3, 12981); - $133 = $db + 4 | 0; - $134 = HEAP32[$133 >> 2] | 0; - $136 = HEAP32[$db + 8 >> 2] | 0; - if ($134 >>> 0 < $136 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($134, $3); - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + 24; - } else { - $143 = HEAP32[$db >> 2] | 0; - $144 = $134 - $143 | 0; - $145 = ($144 | 0) / 24 | 0; - $146 = $145 + 1 | 0; - if (($144 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $150 = ($136 - $143 | 0) / 24 | 0; - if ($150 >>> 0 < 1073741823) { - $152 = $150 << 1; - $$0$i$i$i15 = $152 >>> 0 < $146 >>> 0 ? $146 : $152; - } else $$0$i$i$i15 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i15, $145, $db + 12 | 0); - $155 = $__v$i$i224 + 8 | 0; - $156 = HEAP32[$155 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($156, $3); - HEAP32[$155 >> 2] = $156 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($3); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 99: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 108: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($4, 12991); - $162 = $db + 4 | 0; - $163 = HEAP32[$162 >> 2] | 0; - $165 = HEAP32[$db + 8 >> 2] | 0; - if ($163 >>> 0 < $165 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($163, $4); - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + 24; - } else { - $172 = HEAP32[$db >> 2] | 0; - $173 = $163 - $172 | 0; - $174 = ($173 | 0) / 24 | 0; - $175 = $174 + 1 | 0; - if (($173 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $179 = ($165 - $172 | 0) / 24 | 0; - if ($179 >>> 0 < 1073741823) { - $181 = $179 << 1; - $$0$i$i$i20 = $181 >>> 0 < $175 >>> 0 ? $175 : $181; - } else $$0$i$i$i20 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i20, $174, $db + 12 | 0); - $184 = $__v$i$i224 + 8 | 0; - $185 = HEAP32[$184 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($185, $4); - HEAP32[$184 >> 2] = $185 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($4); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 109: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($5, 13002); - $188 = $db + 4 | 0; - $189 = HEAP32[$188 >> 2] | 0; - $191 = HEAP32[$db + 8 >> 2] | 0; - if ($189 >>> 0 < $191 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($189, $5); - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + 24; - } else { - $198 = HEAP32[$db >> 2] | 0; - $199 = $189 - $198 | 0; - $200 = ($199 | 0) / 24 | 0; - $201 = $200 + 1 | 0; - if (($199 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $205 = ($191 - $198 | 0) / 24 | 0; - if ($205 >>> 0 < 1073741823) { - $207 = $205 << 1; - $$0$i$i$i25 = $207 >>> 0 < $201 >>> 0 ? $201 : $207; - } else $$0$i$i$i25 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i25, $200, $db + 12 | 0); - $210 = $__v$i$i224 + 8 | 0; - $211 = HEAP32[$210 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($211, $5); - HEAP32[$210 >> 2] = $211 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 111: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($6, 13012); - $214 = $db + 4 | 0; - $215 = HEAP32[$214 >> 2] | 0; - $217 = HEAP32[$db + 8 >> 2] | 0; - if ($215 >>> 0 < $217 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($215, $6); - HEAP32[$214 >> 2] = (HEAP32[$214 >> 2] | 0) + 24; - } else { - $224 = HEAP32[$db >> 2] | 0; - $225 = $215 - $224 | 0; - $226 = ($225 | 0) / 24 | 0; - $227 = $226 + 1 | 0; - if (($225 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $231 = ($217 - $224 | 0) / 24 | 0; - if ($231 >>> 0 < 1073741823) { - $233 = $231 << 1; - $$0$i$i$i30 = $233 >>> 0 < $227 >>> 0 ? $227 : $233; - } else $$0$i$i$i30 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i30, $226, $db + 12 | 0); - $236 = $__v$i$i224 + 8 | 0; - $237 = HEAP32[$236 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($237, $6); - HEAP32[$236 >> 2] = $237 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($6); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 118: - { - $240 = $db + 63 | 0; - $241 = HEAP8[$240 >> 0] | 0; - HEAP8[$240 >> 0] = 0; - $242 = $first + 2 | 0; - $243 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($242, $last, $db) | 0; - HEAP8[$240 >> 0] = $241; - if (($243 | 0) == ($242 | 0)) { - $$0 = $first; - break L1; - } - $247 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($247 | 0)) { - $$0 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($247 + -24 | 0, 0, 13022) | 0; - HEAP8[$db + 60 >> 0] = 1; - $$0 = $243; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 100: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj18EEERAT__Kc($7, 13032); - $254 = $db + 4 | 0; - $255 = HEAP32[$254 >> 2] | 0; - $257 = HEAP32[$db + 8 >> 2] | 0; - if ($255 >>> 0 < $257 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($255, $7); - HEAP32[$254 >> 2] = (HEAP32[$254 >> 2] | 0) + 24; - } else { - $264 = HEAP32[$db >> 2] | 0; - $265 = $255 - $264 | 0; - $266 = ($265 | 0) / 24 | 0; - $267 = $266 + 1 | 0; - if (($265 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $271 = ($257 - $264 | 0) / 24 | 0; - if ($271 >>> 0 < 1073741823) { - $273 = $271 << 1; - $$0$i$i$i35 = $273 >>> 0 < $267 >>> 0 ? $267 : $273; - } else $$0$i$i$i35 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i35, $266, $db + 12 | 0); - $276 = $__v$i$i224 + 8 | 0; - $277 = HEAP32[$276 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($277, $7); - HEAP32[$276 >> 2] = $277 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($7); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($8, 13050); - $280 = $db + 4 | 0; - $281 = HEAP32[$280 >> 2] | 0; - $283 = HEAP32[$db + 8 >> 2] | 0; - if ($281 >>> 0 < $283 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($281, $8); - HEAP32[$280 >> 2] = (HEAP32[$280 >> 2] | 0) + 24; - } else { - $290 = HEAP32[$db >> 2] | 0; - $291 = $281 - $290 | 0; - $292 = ($291 | 0) / 24 | 0; - $293 = $292 + 1 | 0; - if (($291 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $297 = ($283 - $290 | 0) / 24 | 0; - if ($297 >>> 0 < 1073741823) { - $299 = $297 << 1; - $$0$i$i$i40 = $299 >>> 0 < $293 >>> 0 ? $293 : $299; - } else $$0$i$i$i40 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i40, $292, $db + 12 | 0); - $302 = $__v$i$i224 + 8 | 0; - $303 = HEAP32[$302 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($303, $8); - HEAP32[$302 >> 2] = $303 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($8); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 108: - { - $306 = _malloc(16) | 0; - HEAP32[$9 + 8 >> 2] = $306; - HEAP32[$9 >> 2] = 17; - HEAP32[$9 + 4 >> 2] = 15; - dest = $306; - src = 13060; - stop = dest + 15 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$306 + 15 >> 0] = 0; - $310 = $9 + 12 | 0; - HEAP32[$310 >> 2] = 0; - HEAP32[$310 + 4 >> 2] = 0; - HEAP32[$310 + 8 >> 2] = 0; - $313 = $db + 4 | 0; - $314 = HEAP32[$313 >> 2] | 0; - $316 = HEAP32[$db + 8 >> 2] | 0; - if ($314 >>> 0 < $316 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($314, $9); - HEAP32[$313 >> 2] = (HEAP32[$313 >> 2] | 0) + 24; - } else { - $323 = HEAP32[$db >> 2] | 0; - $324 = $314 - $323 | 0; - $325 = ($324 | 0) / 24 | 0; - $326 = $325 + 1 | 0; - if (($324 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $330 = ($316 - $323 | 0) / 24 | 0; - if ($330 >>> 0 < 1073741823) { - $332 = $330 << 1; - $$0$i$i$i45 = $332 >>> 0 < $326 >>> 0 ? $326 : $332; - } else $$0$i$i$i45 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i45, $325, $db + 12 | 0); - $335 = $__v$i$i224 + 8 | 0; - $336 = HEAP32[$335 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($336, $9); - HEAP32[$335 >> 2] = $336 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($9); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 118: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($10, 13076); - $339 = $db + 4 | 0; - $340 = HEAP32[$339 >> 2] | 0; - $342 = HEAP32[$db + 8 >> 2] | 0; - if ($340 >>> 0 < $342 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($340, $10); - HEAP32[$339 >> 2] = (HEAP32[$339 >> 2] | 0) + 24; - } else { - $349 = HEAP32[$db >> 2] | 0; - $350 = $340 - $349 | 0; - $351 = ($350 | 0) / 24 | 0; - $352 = $351 + 1 | 0; - if (($350 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $356 = ($342 - $349 | 0) / 24 | 0; - if ($356 >>> 0 < 1073741823) { - $358 = $356 << 1; - $$0$i$i$i50 = $358 >>> 0 < $352 >>> 0 ? $352 : $358; - } else $$0$i$i$i50 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i50, $351, $db + 12 | 0); - $361 = $__v$i$i224 + 8 | 0; - $362 = HEAP32[$361 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($362, $10); - HEAP32[$361 >> 2] = $362 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($10); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 86: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($11, 13086); - $365 = $db + 4 | 0; - $366 = HEAP32[$365 >> 2] | 0; - $368 = HEAP32[$db + 8 >> 2] | 0; - if ($366 >>> 0 < $368 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($366, $11); - HEAP32[$365 >> 2] = (HEAP32[$365 >> 2] | 0) + 24; - } else { - $375 = HEAP32[$db >> 2] | 0; - $376 = $366 - $375 | 0; - $377 = ($376 | 0) / 24 | 0; - $378 = $377 + 1 | 0; - if (($376 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $382 = ($368 - $375 | 0) / 24 | 0; - if ($382 >>> 0 < 1073741823) { - $384 = $382 << 1; - $$0$i$i$i55 = $384 >>> 0 < $378 >>> 0 ? $378 : $384; - } else $$0$i$i$i55 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i55, $377, $db + 12 | 0); - $387 = $__v$i$i224 + 8 | 0; - $388 = HEAP32[$387 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($388, $11); - HEAP32[$387 >> 2] = $388 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($11); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 101: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 111: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($12, 13097); - $394 = $db + 4 | 0; - $395 = HEAP32[$394 >> 2] | 0; - $397 = HEAP32[$db + 8 >> 2] | 0; - if ($395 >>> 0 < $397 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($395, $12); - HEAP32[$394 >> 2] = (HEAP32[$394 >> 2] | 0) + 24; - } else { - $404 = HEAP32[$db >> 2] | 0; - $405 = $395 - $404 | 0; - $406 = ($405 | 0) / 24 | 0; - $407 = $406 + 1 | 0; - if (($405 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $411 = ($397 - $404 | 0) / 24 | 0; - if ($411 >>> 0 < 1073741823) { - $413 = $411 << 1; - $$0$i$i$i60 = $413 >>> 0 < $407 >>> 0 ? $407 : $413; - } else $$0$i$i$i60 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i60, $406, $db + 12 | 0); - $416 = $__v$i$i224 + 8 | 0; - $417 = HEAP32[$416 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($417, $12); - HEAP32[$416 >> 2] = $417 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($12); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 79: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($13, 13107); - $420 = $db + 4 | 0; - $421 = HEAP32[$420 >> 2] | 0; - $423 = HEAP32[$db + 8 >> 2] | 0; - if ($421 >>> 0 < $423 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($421, $13); - HEAP32[$420 >> 2] = (HEAP32[$420 >> 2] | 0) + 24; - } else { - $430 = HEAP32[$db >> 2] | 0; - $431 = $421 - $430 | 0; - $432 = ($431 | 0) / 24 | 0; - $433 = $432 + 1 | 0; - if (($431 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $437 = ($423 - $430 | 0) / 24 | 0; - if ($437 >>> 0 < 1073741823) { - $439 = $437 << 1; - $$0$i$i$i65 = $439 >>> 0 < $433 >>> 0 ? $433 : $439; - } else $$0$i$i$i65 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i65, $432, $db + 12 | 0); - $442 = $__v$i$i224 + 8 | 0; - $443 = HEAP32[$442 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($443, $13); - HEAP32[$442 >> 2] = $443 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($13); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 113: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($14, 13118); - $446 = $db + 4 | 0; - $447 = HEAP32[$446 >> 2] | 0; - $449 = HEAP32[$db + 8 >> 2] | 0; - if ($447 >>> 0 < $449 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($447, $14); - HEAP32[$446 >> 2] = (HEAP32[$446 >> 2] | 0) + 24; - } else { - $456 = HEAP32[$db >> 2] | 0; - $457 = $447 - $456 | 0; - $458 = ($457 | 0) / 24 | 0; - $459 = $458 + 1 | 0; - if (($457 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $463 = ($449 - $456 | 0) / 24 | 0; - if ($463 >>> 0 < 1073741823) { - $465 = $463 << 1; - $$0$i$i$i70 = $465 >>> 0 < $459 >>> 0 ? $459 : $465; - } else $$0$i$i$i70 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i70, $458, $db + 12 | 0); - $468 = $__v$i$i224 + 8 | 0; - $469 = HEAP32[$468 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($469, $14); - HEAP32[$468 >> 2] = $469 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($14); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 103: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($15, 13129); - $475 = $db + 4 | 0; - $476 = HEAP32[$475 >> 2] | 0; - $478 = HEAP32[$db + 8 >> 2] | 0; - if ($476 >>> 0 < $478 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($476, $15); - HEAP32[$475 >> 2] = (HEAP32[$475 >> 2] | 0) + 24; - } else { - $485 = HEAP32[$db >> 2] | 0; - $486 = $476 - $485 | 0; - $487 = ($486 | 0) / 24 | 0; - $488 = $487 + 1 | 0; - if (($486 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $492 = ($478 - $485 | 0) / 24 | 0; - if ($492 >>> 0 < 1073741823) { - $494 = $492 << 1; - $$0$i$i$i75 = $494 >>> 0 < $488 >>> 0 ? $488 : $494; - } else $$0$i$i$i75 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i75, $487, $db + 12 | 0); - $497 = $__v$i$i224 + 8 | 0; - $498 = HEAP32[$497 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($498, $15); - HEAP32[$497 >> 2] = $498 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($15); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 116: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($16, 13140); - $501 = $db + 4 | 0; - $502 = HEAP32[$501 >> 2] | 0; - $504 = HEAP32[$db + 8 >> 2] | 0; - if ($502 >>> 0 < $504 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($502, $16); - HEAP32[$501 >> 2] = (HEAP32[$501 >> 2] | 0) + 24; - } else { - $511 = HEAP32[$db >> 2] | 0; - $512 = $502 - $511 | 0; - $513 = ($512 | 0) / 24 | 0; - $514 = $513 + 1 | 0; - if (($512 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $518 = ($504 - $511 | 0) / 24 | 0; - if ($518 >>> 0 < 1073741823) { - $520 = $518 << 1; - $$0$i$i$i80 = $520 >>> 0 < $514 >>> 0 ? $514 : $520; - } else $$0$i$i$i80 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i80, $513, $db + 12 | 0); - $523 = $__v$i$i224 + 8 | 0; - $524 = HEAP32[$523 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($524, $16); - HEAP32[$523 >> 2] = $524 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($16); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 105: - { - if ((HEAP8[$first + 1 >> 0] | 0) != 120) { - $$0 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($17, 13150); - $530 = $db + 4 | 0; - $531 = HEAP32[$530 >> 2] | 0; - $533 = HEAP32[$db + 8 >> 2] | 0; - if ($531 >>> 0 < $533 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($531, $17); - HEAP32[$530 >> 2] = (HEAP32[$530 >> 2] | 0) + 24; - } else { - $540 = HEAP32[$db >> 2] | 0; - $541 = $531 - $540 | 0; - $542 = ($541 | 0) / 24 | 0; - $543 = $542 + 1 | 0; - if (($541 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $547 = ($533 - $540 | 0) / 24 | 0; - if ($547 >>> 0 < 1073741823) { - $549 = $547 << 1; - $$0$i$i$i85 = $549 >>> 0 < $543 >>> 0 ? $543 : $549; - } else $$0$i$i$i85 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i85, $542, $db + 12 | 0); - $552 = $__v$i$i224 + 8 | 0; - $553 = HEAP32[$552 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($553, $17); - HEAP32[$552 >> 2] = $553 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($17); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 108: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($18, 13161); - $559 = $db + 4 | 0; - $560 = HEAP32[$559 >> 2] | 0; - $562 = HEAP32[$db + 8 >> 2] | 0; - if ($560 >>> 0 < $562 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($560, $18); - HEAP32[$559 >> 2] = (HEAP32[$559 >> 2] | 0) + 24; - } else { - $569 = HEAP32[$db >> 2] | 0; - $570 = $560 - $569 | 0; - $571 = ($570 | 0) / 24 | 0; - $572 = $571 + 1 | 0; - if (($570 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $576 = ($562 - $569 | 0) / 24 | 0; - if ($576 >>> 0 < 1073741823) { - $578 = $576 << 1; - $$0$i$i$i90 = $578 >>> 0 < $572 >>> 0 ? $572 : $578; - } else $$0$i$i$i90 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i90, $571, $db + 12 | 0); - $581 = $__v$i$i224 + 8 | 0; - $582 = HEAP32[$581 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($582, $18); - HEAP32[$581 >> 2] = $582 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($18); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 105: - { - $585 = $first + 2 | 0; - $586 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($585, $last, $db) | 0; - if (($586 | 0) == ($585 | 0)) { - $$0 = $first; - break L1; - } - $590 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($590 | 0)) { - $$0 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($590 + -24 | 0, 0, 13172) | 0; - $$0 = $586; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($19, 13184); - $593 = $db + 4 | 0; - $594 = HEAP32[$593 >> 2] | 0; - $596 = HEAP32[$db + 8 >> 2] | 0; - if ($594 >>> 0 < $596 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($594, $19); - HEAP32[$593 >> 2] = (HEAP32[$593 >> 2] | 0) + 24; - } else { - $603 = HEAP32[$db >> 2] | 0; - $604 = $594 - $603 | 0; - $605 = ($604 | 0) / 24 | 0; - $606 = $605 + 1 | 0; - if (($604 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $610 = ($596 - $603 | 0) / 24 | 0; - if ($610 >>> 0 < 1073741823) { - $612 = $610 << 1; - $$0$i$i$i95 = $612 >>> 0 < $606 >>> 0 ? $606 : $612; - } else $$0$i$i$i95 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i95, $605, $db + 12 | 0); - $615 = $__v$i$i224 + 8 | 0; - $616 = HEAP32[$615 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($616, $19); - HEAP32[$615 >> 2] = $616 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($19); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 83: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($20, 13195); - $619 = $db + 4 | 0; - $620 = HEAP32[$619 >> 2] | 0; - $622 = HEAP32[$db + 8 >> 2] | 0; - if ($620 >>> 0 < $622 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($620, $20); - HEAP32[$619 >> 2] = (HEAP32[$619 >> 2] | 0) + 24; - } else { - $629 = HEAP32[$db >> 2] | 0; - $630 = $620 - $629 | 0; - $631 = ($630 | 0) / 24 | 0; - $632 = $631 + 1 | 0; - if (($630 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $636 = ($622 - $629 | 0) / 24 | 0; - if ($636 >>> 0 < 1073741823) { - $638 = $636 << 1; - $$0$i$i$i100 = $638 >>> 0 < $632 >>> 0 ? $632 : $638; - } else $$0$i$i$i100 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i100, $631, $db + 12 | 0); - $641 = $__v$i$i224 + 8 | 0; - $642 = HEAP32[$641 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($642, $20); - HEAP32[$641 >> 2] = $642 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($20); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 116: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($21, 13207); - $645 = $db + 4 | 0; - $646 = HEAP32[$645 >> 2] | 0; - $648 = HEAP32[$db + 8 >> 2] | 0; - if ($646 >>> 0 < $648 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($646, $21); - HEAP32[$645 >> 2] = (HEAP32[$645 >> 2] | 0) + 24; - } else { - $655 = HEAP32[$db >> 2] | 0; - $656 = $646 - $655 | 0; - $657 = ($656 | 0) / 24 | 0; - $658 = $657 + 1 | 0; - if (($656 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $662 = ($648 - $655 | 0) / 24 | 0; - if ($662 >>> 0 < 1073741823) { - $664 = $662 << 1; - $$0$i$i$i105 = $664 >>> 0 < $658 >>> 0 ? $658 : $664; - } else $$0$i$i$i105 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i105, $657, $db + 12 | 0); - $667 = $__v$i$i224 + 8 | 0; - $668 = HEAP32[$667 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($668, $21); - HEAP32[$667 >> 2] = $668 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($21); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 109: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 105: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($22, 13217); - $674 = $db + 4 | 0; - $675 = HEAP32[$674 >> 2] | 0; - $677 = HEAP32[$db + 8 >> 2] | 0; - if ($675 >>> 0 < $677 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($675, $22); - HEAP32[$674 >> 2] = (HEAP32[$674 >> 2] | 0) + 24; - } else { - $684 = HEAP32[$db >> 2] | 0; - $685 = $675 - $684 | 0; - $686 = ($685 | 0) / 24 | 0; - $687 = $686 + 1 | 0; - if (($685 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $691 = ($677 - $684 | 0) / 24 | 0; - if ($691 >>> 0 < 1073741823) { - $693 = $691 << 1; - $$0$i$i$i110 = $693 >>> 0 < $687 >>> 0 ? $687 : $693; - } else $$0$i$i$i110 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i110, $686, $db + 12 | 0); - $696 = $__v$i$i224 + 8 | 0; - $697 = HEAP32[$696 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($697, $22); - HEAP32[$696 >> 2] = $697 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($22); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 73: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($23, 13227); - $700 = $db + 4 | 0; - $701 = HEAP32[$700 >> 2] | 0; - $703 = HEAP32[$db + 8 >> 2] | 0; - if ($701 >>> 0 < $703 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($701, $23); - HEAP32[$700 >> 2] = (HEAP32[$700 >> 2] | 0) + 24; - } else { - $710 = HEAP32[$db >> 2] | 0; - $711 = $701 - $710 | 0; - $712 = ($711 | 0) / 24 | 0; - $713 = $712 + 1 | 0; - if (($711 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $717 = ($703 - $710 | 0) / 24 | 0; - if ($717 >>> 0 < 1073741823) { - $719 = $717 << 1; - $$0$i$i$i115 = $719 >>> 0 < $713 >>> 0 ? $713 : $719; - } else $$0$i$i$i115 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i115, $712, $db + 12 | 0); - $722 = $__v$i$i224 + 8 | 0; - $723 = HEAP32[$722 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($723, $23); - HEAP32[$722 >> 2] = $723 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($23); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 108: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($24, 13050); - $726 = $db + 4 | 0; - $727 = HEAP32[$726 >> 2] | 0; - $729 = HEAP32[$db + 8 >> 2] | 0; - if ($727 >>> 0 < $729 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($727, $24); - HEAP32[$726 >> 2] = (HEAP32[$726 >> 2] | 0) + 24; - } else { - $736 = HEAP32[$db >> 2] | 0; - $737 = $727 - $736 | 0; - $738 = ($737 | 0) / 24 | 0; - $739 = $738 + 1 | 0; - if (($737 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $743 = ($729 - $736 | 0) / 24 | 0; - if ($743 >>> 0 < 1073741823) { - $745 = $743 << 1; - $$0$i$i$i120 = $745 >>> 0 < $739 >>> 0 ? $739 : $745; - } else $$0$i$i$i120 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i120, $738, $db + 12 | 0); - $748 = $__v$i$i224 + 8 | 0; - $749 = HEAP32[$748 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($749, $24); - HEAP32[$748 >> 2] = $749 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($24); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 76: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($25, 13238); - $752 = $db + 4 | 0; - $753 = HEAP32[$752 >> 2] | 0; - $755 = HEAP32[$db + 8 >> 2] | 0; - if ($753 >>> 0 < $755 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($753, $25); - HEAP32[$752 >> 2] = (HEAP32[$752 >> 2] | 0) + 24; - } else { - $762 = HEAP32[$db >> 2] | 0; - $763 = $753 - $762 | 0; - $764 = ($763 | 0) / 24 | 0; - $765 = $764 + 1 | 0; - if (($763 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $769 = ($755 - $762 | 0) / 24 | 0; - if ($769 >>> 0 < 1073741823) { - $771 = $769 << 1; - $$0$i$i$i125 = $771 >>> 0 < $765 >>> 0 ? $765 : $771; - } else $$0$i$i$i125 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i125, $764, $db + 12 | 0); - $774 = $__v$i$i224 + 8 | 0; - $775 = HEAP32[$774 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($775, $25); - HEAP32[$774 >> 2] = $775 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($25); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 109: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($26, 13249); - $778 = $db + 4 | 0; - $779 = HEAP32[$778 >> 2] | 0; - $781 = HEAP32[$db + 8 >> 2] | 0; - if ($779 >>> 0 < $781 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($779, $26); - HEAP32[$778 >> 2] = (HEAP32[$778 >> 2] | 0) + 24; - } else { - $788 = HEAP32[$db >> 2] | 0; - $789 = $779 - $788 | 0; - $790 = ($789 | 0) / 24 | 0; - $791 = $790 + 1 | 0; - if (($789 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $795 = ($781 - $788 | 0) / 24 | 0; - if ($795 >>> 0 < 1073741823) { - $797 = $795 << 1; - $$0$i$i$i130 = $797 >>> 0 < $791 >>> 0 ? $791 : $797; - } else $$0$i$i$i130 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i130, $790, $db + 12 | 0); - $800 = $__v$i$i224 + 8 | 0; - $801 = HEAP32[$800 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($801, $26); - HEAP32[$800 >> 2] = $801 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($26); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 110: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj15EEERAT__Kc($27, 13260); - $807 = $db + 4 | 0; - $808 = HEAP32[$807 >> 2] | 0; - $810 = HEAP32[$db + 8 >> 2] | 0; - if ($808 >>> 0 < $810 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($808, $27); - HEAP32[$807 >> 2] = (HEAP32[$807 >> 2] | 0) + 24; - } else { - $817 = HEAP32[$db >> 2] | 0; - $818 = $808 - $817 | 0; - $819 = ($818 | 0) / 24 | 0; - $820 = $819 + 1 | 0; - if (($818 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $824 = ($810 - $817 | 0) / 24 | 0; - if ($824 >>> 0 < 1073741823) { - $826 = $824 << 1; - $$0$i$i$i135 = $826 >>> 0 < $820 >>> 0 ? $820 : $826; - } else $$0$i$i$i135 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i135, $819, $db + 12 | 0); - $829 = $__v$i$i224 + 8 | 0; - $830 = HEAP32[$829 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($830, $27); - HEAP32[$829 >> 2] = $830 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($27); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($28, 13275); - $833 = $db + 4 | 0; - $834 = HEAP32[$833 >> 2] | 0; - $836 = HEAP32[$db + 8 >> 2] | 0; - if ($834 >>> 0 < $836 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($834, $28); - HEAP32[$833 >> 2] = (HEAP32[$833 >> 2] | 0) + 24; - } else { - $843 = HEAP32[$db >> 2] | 0; - $844 = $834 - $843 | 0; - $845 = ($844 | 0) / 24 | 0; - $846 = $845 + 1 | 0; - if (($844 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $850 = ($836 - $843 | 0) / 24 | 0; - if ($850 >>> 0 < 1073741823) { - $852 = $850 << 1; - $$0$i$i$i140 = $852 >>> 0 < $846 >>> 0 ? $846 : $852; - } else $$0$i$i$i140 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i140, $845, $db + 12 | 0); - $855 = $__v$i$i224 + 8 | 0; - $856 = HEAP32[$855 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($856, $28); - HEAP32[$855 >> 2] = $856 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($28); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 103: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($29, 13217); - $859 = $db + 4 | 0; - $860 = HEAP32[$859 >> 2] | 0; - $862 = HEAP32[$db + 8 >> 2] | 0; - if ($860 >>> 0 < $862 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($860, $29); - HEAP32[$859 >> 2] = (HEAP32[$859 >> 2] | 0) + 24; - } else { - $869 = HEAP32[$db >> 2] | 0; - $870 = $860 - $869 | 0; - $871 = ($870 | 0) / 24 | 0; - $872 = $871 + 1 | 0; - if (($870 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $876 = ($862 - $869 | 0) / 24 | 0; - if ($876 >>> 0 < 1073741823) { - $878 = $876 << 1; - $$0$i$i$i145 = $878 >>> 0 < $872 >>> 0 ? $872 : $878; - } else $$0$i$i$i145 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i145, $871, $db + 12 | 0); - $881 = $__v$i$i224 + 8 | 0; - $882 = HEAP32[$881 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($882, $29); - HEAP32[$881 >> 2] = $882 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($29); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 116: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($30, 13286); - $885 = $db + 4 | 0; - $886 = HEAP32[$885 >> 2] | 0; - $888 = HEAP32[$db + 8 >> 2] | 0; - if ($886 >>> 0 < $888 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($886, $30); - HEAP32[$885 >> 2] = (HEAP32[$885 >> 2] | 0) + 24; - } else { - $895 = HEAP32[$db >> 2] | 0; - $896 = $886 - $895 | 0; - $897 = ($896 | 0) / 24 | 0; - $898 = $897 + 1 | 0; - if (($896 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $902 = ($888 - $895 | 0) / 24 | 0; - if ($902 >>> 0 < 1073741823) { - $904 = $902 << 1; - $$0$i$i$i150 = $904 >>> 0 < $898 >>> 0 ? $898 : $904; - } else $$0$i$i$i150 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i150, $897, $db + 12 | 0); - $907 = $__v$i$i224 + 8 | 0; - $908 = HEAP32[$907 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($908, $30); - HEAP32[$907 >> 2] = $908 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($30); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 119: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj13EEERAT__Kc($31, 13296); - $911 = $db + 4 | 0; - $912 = HEAP32[$911 >> 2] | 0; - $914 = HEAP32[$db + 8 >> 2] | 0; - if ($912 >>> 0 < $914 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($912, $31); - HEAP32[$911 >> 2] = (HEAP32[$911 >> 2] | 0) + 24; - } else { - $921 = HEAP32[$db >> 2] | 0; - $922 = $912 - $921 | 0; - $923 = ($922 | 0) / 24 | 0; - $924 = $923 + 1 | 0; - if (($922 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $928 = ($914 - $921 | 0) / 24 | 0; - if ($928 >>> 0 < 1073741823) { - $930 = $928 << 1; - $$0$i$i$i155 = $930 >>> 0 < $924 >>> 0 ? $924 : $930; - } else $$0$i$i$i155 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i155, $923, $db + 12 | 0); - $933 = $__v$i$i224 + 8 | 0; - $934 = HEAP32[$933 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($934, $31); - HEAP32[$933 >> 2] = $934 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($31); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 111: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 111: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($32, 13309); - $940 = $db + 4 | 0; - $941 = HEAP32[$940 >> 2] | 0; - $943 = HEAP32[$db + 8 >> 2] | 0; - if ($941 >>> 0 < $943 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($941, $32); - HEAP32[$940 >> 2] = (HEAP32[$940 >> 2] | 0) + 24; - } else { - $950 = HEAP32[$db >> 2] | 0; - $951 = $941 - $950 | 0; - $952 = ($951 | 0) / 24 | 0; - $953 = $952 + 1 | 0; - if (($951 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $957 = ($943 - $950 | 0) / 24 | 0; - if ($957 >>> 0 < 1073741823) { - $959 = $957 << 1; - $$0$i$i$i160 = $959 >>> 0 < $953 >>> 0 ? $953 : $959; - } else $$0$i$i$i160 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i160, $952, $db + 12 | 0); - $962 = $__v$i$i224 + 8 | 0; - $963 = HEAP32[$962 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($963, $32); - HEAP32[$962 >> 2] = $963 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($32); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 114: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($33, 13320); - $966 = $db + 4 | 0; - $967 = HEAP32[$966 >> 2] | 0; - $969 = HEAP32[$db + 8 >> 2] | 0; - if ($967 >>> 0 < $969 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($967, $33); - HEAP32[$966 >> 2] = (HEAP32[$966 >> 2] | 0) + 24; - } else { - $976 = HEAP32[$db >> 2] | 0; - $977 = $967 - $976 | 0; - $978 = ($977 | 0) / 24 | 0; - $979 = $978 + 1 | 0; - if (($977 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $983 = ($969 - $976 | 0) / 24 | 0; - if ($983 >>> 0 < 1073741823) { - $985 = $983 << 1; - $$0$i$i$i165 = $985 >>> 0 < $979 >>> 0 ? $979 : $985; - } else $$0$i$i$i165 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i165, $978, $db + 12 | 0); - $988 = $__v$i$i224 + 8 | 0; - $989 = HEAP32[$988 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($989, $33); - HEAP32[$988 >> 2] = $989 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($33); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 82: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($34, 13330); - $992 = $db + 4 | 0; - $993 = HEAP32[$992 >> 2] | 0; - $995 = HEAP32[$db + 8 >> 2] | 0; - if ($993 >>> 0 < $995 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($993, $34); - HEAP32[$992 >> 2] = (HEAP32[$992 >> 2] | 0) + 24; - } else { - $1002 = HEAP32[$db >> 2] | 0; - $1003 = $993 - $1002 | 0; - $1004 = ($1003 | 0) / 24 | 0; - $1005 = $1004 + 1 | 0; - if (($1003 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1009 = ($995 - $1002 | 0) / 24 | 0; - if ($1009 >>> 0 < 1073741823) { - $1011 = $1009 << 1; - $$0$i$i$i170 = $1011 >>> 0 < $1005 >>> 0 ? $1005 : $1011; - } else $$0$i$i$i170 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i170, $1004, $db + 12 | 0); - $1014 = $__v$i$i224 + 8 | 0; - $1015 = HEAP32[$1014 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1015, $34); - HEAP32[$1014 >> 2] = $1015 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($34); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 112: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 109: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($35, 13341); - $1021 = $db + 4 | 0; - $1022 = HEAP32[$1021 >> 2] | 0; - $1024 = HEAP32[$db + 8 >> 2] | 0; - if ($1022 >>> 0 < $1024 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1022, $35); - HEAP32[$1021 >> 2] = (HEAP32[$1021 >> 2] | 0) + 24; - } else { - $1031 = HEAP32[$db >> 2] | 0; - $1032 = $1022 - $1031 | 0; - $1033 = ($1032 | 0) / 24 | 0; - $1034 = $1033 + 1 | 0; - if (($1032 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1038 = ($1024 - $1031 | 0) / 24 | 0; - if ($1038 >>> 0 < 1073741823) { - $1040 = $1038 << 1; - $$0$i$i$i175 = $1040 >>> 0 < $1034 >>> 0 ? $1034 : $1040; - } else $$0$i$i$i175 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i175, $1033, $db + 12 | 0); - $1043 = $__v$i$i224 + 8 | 0; - $1044 = HEAP32[$1043 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1044, $35); - HEAP32[$1043 >> 2] = $1044 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($35); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 108: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($36, 13353); - $1047 = $db + 4 | 0; - $1048 = HEAP32[$1047 >> 2] | 0; - $1050 = HEAP32[$db + 8 >> 2] | 0; - if ($1048 >>> 0 < $1050 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1048, $36); - HEAP32[$1047 >> 2] = (HEAP32[$1047 >> 2] | 0) + 24; - } else { - $1057 = HEAP32[$db >> 2] | 0; - $1058 = $1048 - $1057 | 0; - $1059 = ($1058 | 0) / 24 | 0; - $1060 = $1059 + 1 | 0; - if (($1058 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1064 = ($1050 - $1057 | 0) / 24 | 0; - if ($1064 >>> 0 < 1073741823) { - $1066 = $1064 << 1; - $$0$i$i$i180 = $1066 >>> 0 < $1060 >>> 0 ? $1060 : $1066; - } else $$0$i$i$i180 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i180, $1059, $db + 12 | 0); - $1069 = $__v$i$i224 + 8 | 0; - $1070 = HEAP32[$1069 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1070, $36); - HEAP32[$1069 >> 2] = $1070 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($36); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 76: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($37, 13363); - $1073 = $db + 4 | 0; - $1074 = HEAP32[$1073 >> 2] | 0; - $1076 = HEAP32[$db + 8 >> 2] | 0; - if ($1074 >>> 0 < $1076 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1074, $37); - HEAP32[$1073 >> 2] = (HEAP32[$1073 >> 2] | 0) + 24; - } else { - $1083 = HEAP32[$db >> 2] | 0; - $1084 = $1074 - $1083 | 0; - $1085 = ($1084 | 0) / 24 | 0; - $1086 = $1085 + 1 | 0; - if (($1084 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1090 = ($1076 - $1083 | 0) / 24 | 0; - if ($1090 >>> 0 < 1073741823) { - $1092 = $1090 << 1; - $$0$i$i$i185 = $1092 >>> 0 < $1086 >>> 0 ? $1086 : $1092; - } else $$0$i$i$i185 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i185, $1085, $db + 12 | 0); - $1095 = $__v$i$i224 + 8 | 0; - $1096 = HEAP32[$1095 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1096, $37); - HEAP32[$1095 >> 2] = $1096 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($37); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 112: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($38, 13374); - $1099 = $db + 4 | 0; - $1100 = HEAP32[$1099 >> 2] | 0; - $1102 = HEAP32[$db + 8 >> 2] | 0; - if ($1100 >>> 0 < $1102 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1100, $38); - HEAP32[$1099 >> 2] = (HEAP32[$1099 >> 2] | 0) + 24; - } else { - $1109 = HEAP32[$db >> 2] | 0; - $1110 = $1100 - $1109 | 0; - $1111 = ($1110 | 0) / 24 | 0; - $1112 = $1111 + 1 | 0; - if (($1110 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1116 = ($1102 - $1109 | 0) / 24 | 0; - if ($1116 >>> 0 < 1073741823) { - $1118 = $1116 << 1; - $$0$i$i$i190 = $1118 >>> 0 < $1112 >>> 0 ? $1112 : $1118; - } else $$0$i$i$i190 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i190, $1111, $db + 12 | 0); - $1121 = $__v$i$i224 + 8 | 0; - $1122 = HEAP32[$1121 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1122, $38); - HEAP32[$1121 >> 2] = $1122 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($38); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($39, 13353); - $1125 = $db + 4 | 0; - $1126 = HEAP32[$1125 >> 2] | 0; - $1128 = HEAP32[$db + 8 >> 2] | 0; - if ($1126 >>> 0 < $1128 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1126, $39); - HEAP32[$1125 >> 2] = (HEAP32[$1125 >> 2] | 0) + 24; - } else { - $1135 = HEAP32[$db >> 2] | 0; - $1136 = $1126 - $1135 | 0; - $1137 = ($1136 | 0) / 24 | 0; - $1138 = $1137 + 1 | 0; - if (($1136 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1142 = ($1128 - $1135 | 0) / 24 | 0; - if ($1142 >>> 0 < 1073741823) { - $1144 = $1142 << 1; - $$0$i$i$i195 = $1144 >>> 0 < $1138 >>> 0 ? $1138 : $1144; - } else $$0$i$i$i195 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i195, $1137, $db + 12 | 0); - $1147 = $__v$i$i224 + 8 | 0; - $1148 = HEAP32[$1147 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1148, $39); - HEAP32[$1147 >> 2] = $1148 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($39); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 116: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($40, 13385); - $1151 = $db + 4 | 0; - $1152 = HEAP32[$1151 >> 2] | 0; - $1154 = HEAP32[$db + 8 >> 2] | 0; - if ($1152 >>> 0 < $1154 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1152, $40); - HEAP32[$1151 >> 2] = (HEAP32[$1151 >> 2] | 0) + 24; - } else { - $1161 = HEAP32[$db >> 2] | 0; - $1162 = $1152 - $1161 | 0; - $1163 = ($1162 | 0) / 24 | 0; - $1164 = $1163 + 1 | 0; - if (($1162 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1168 = ($1154 - $1161 | 0) / 24 | 0; - if ($1168 >>> 0 < 1073741823) { - $1170 = $1168 << 1; - $$0$i$i$i200 = $1170 >>> 0 < $1164 >>> 0 ? $1164 : $1170; - } else $$0$i$i$i200 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i200, $1163, $db + 12 | 0); - $1173 = $__v$i$i224 + 8 | 0; - $1174 = HEAP32[$1173 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1174, $40); - HEAP32[$1173 >> 2] = $1174 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($40); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 113: - { - if ((HEAP8[$first + 1 >> 0] | 0) != 117) { - $$0 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($41, 13396); - $1180 = $db + 4 | 0; - $1181 = HEAP32[$1180 >> 2] | 0; - $1183 = HEAP32[$db + 8 >> 2] | 0; - if ($1181 >>> 0 < $1183 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1181, $41); - HEAP32[$1180 >> 2] = (HEAP32[$1180 >> 2] | 0) + 24; - } else { - $1190 = HEAP32[$db >> 2] | 0; - $1191 = $1181 - $1190 | 0; - $1192 = ($1191 | 0) / 24 | 0; - $1193 = $1192 + 1 | 0; - if (($1191 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1197 = ($1183 - $1190 | 0) / 24 | 0; - if ($1197 >>> 0 < 1073741823) { - $1199 = $1197 << 1; - $$0$i$i$i205 = $1199 >>> 0 < $1193 >>> 0 ? $1193 : $1199; - } else $$0$i$i$i205 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i205, $1192, $db + 12 | 0); - $1202 = $__v$i$i224 + 8 | 0; - $1203 = HEAP32[$1202 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1203, $41); - HEAP32[$1202 >> 2] = $1203 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($41); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 114: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 109: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($42, 13406); - $1209 = $db + 4 | 0; - $1210 = HEAP32[$1209 >> 2] | 0; - $1212 = HEAP32[$db + 8 >> 2] | 0; - if ($1210 >>> 0 < $1212 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1210, $42); - HEAP32[$1209 >> 2] = (HEAP32[$1209 >> 2] | 0) + 24; - } else { - $1219 = HEAP32[$db >> 2] | 0; - $1220 = $1210 - $1219 | 0; - $1221 = ($1220 | 0) / 24 | 0; - $1222 = $1221 + 1 | 0; - if (($1220 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1226 = ($1212 - $1219 | 0) / 24 | 0; - if ($1226 >>> 0 < 1073741823) { - $1228 = $1226 << 1; - $$0$i$i$i210 = $1228 >>> 0 < $1222 >>> 0 ? $1222 : $1228; - } else $$0$i$i$i210 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i210, $1221, $db + 12 | 0); - $1231 = $__v$i$i224 + 8 | 0; - $1232 = HEAP32[$1231 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1232, $42); - HEAP32[$1231 >> 2] = $1232 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($42); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 77: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($43, 13416); - $1235 = $db + 4 | 0; - $1236 = HEAP32[$1235 >> 2] | 0; - $1238 = HEAP32[$db + 8 >> 2] | 0; - if ($1236 >>> 0 < $1238 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1236, $43); - HEAP32[$1235 >> 2] = (HEAP32[$1235 >> 2] | 0) + 24; - } else { - $1245 = HEAP32[$db >> 2] | 0; - $1246 = $1236 - $1245 | 0; - $1247 = ($1246 | 0) / 24 | 0; - $1248 = $1247 + 1 | 0; - if (($1246 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1252 = ($1238 - $1245 | 0) / 24 | 0; - if ($1252 >>> 0 < 1073741823) { - $1254 = $1252 << 1; - $$0$i$i$i215 = $1254 >>> 0 < $1248 >>> 0 ? $1248 : $1254; - } else $$0$i$i$i215 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i215, $1247, $db + 12 | 0); - $1257 = $__v$i$i224 + 8 | 0; - $1258 = HEAP32[$1257 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1258, $43); - HEAP32[$1257 >> 2] = $1258 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($43); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($44, 13427); - $1261 = $db + 4 | 0; - $1262 = HEAP32[$1261 >> 2] | 0; - $1264 = HEAP32[$db + 8 >> 2] | 0; - if ($1262 >>> 0 < $1264 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1262, $44); - HEAP32[$1261 >> 2] = (HEAP32[$1261 >> 2] | 0) + 24; - } else { - $1271 = HEAP32[$db >> 2] | 0; - $1272 = $1262 - $1271 | 0; - $1273 = ($1272 | 0) / 24 | 0; - $1274 = $1273 + 1 | 0; - if (($1272 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1278 = ($1264 - $1271 | 0) / 24 | 0; - if ($1278 >>> 0 < 1073741823) { - $1280 = $1278 << 1; - $$0$i$i$i220 = $1280 >>> 0 < $1274 >>> 0 ? $1274 : $1280; - } else $$0$i$i$i220 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i220, $1273, $db + 12 | 0); - $1283 = $__v$i$i224 + 8 | 0; - $1284 = HEAP32[$1283 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1284, $44); - HEAP32[$1283 >> 2] = $1284 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($44); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 83: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($45, 13438); - $1287 = $db + 4 | 0; - $1288 = HEAP32[$1287 >> 2] | 0; - $1290 = HEAP32[$db + 8 >> 2] | 0; - if ($1288 >>> 0 < $1290 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1288, $45); - HEAP32[$1287 >> 2] = (HEAP32[$1287 >> 2] | 0) + 24; - } else { - $1297 = HEAP32[$db >> 2] | 0; - $1298 = $1288 - $1297 | 0; - $1299 = ($1298 | 0) / 24 | 0; - $1300 = $1299 + 1 | 0; - if (($1298 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $1304 = ($1290 - $1297 | 0) / 24 | 0; - if ($1304 >>> 0 < 1073741823) { - $1306 = $1304 << 1; - $$0$i$i$i225 = $1306 >>> 0 < $1300 >>> 0 ? $1300 : $1306; - } else $$0$i$i$i225 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i224, $$0$i$i$i225, $1299, $db + 12 | 0); - $1309 = $__v$i$i224 + 8 | 0; - $1310 = HEAP32[$1309 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($1310, $45); - HEAP32[$1309 >> 2] = $1310 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i224); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i224); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($45); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 118: - { - if (((HEAP8[$first + 1 >> 0] | 0) + -48 | 0) >>> 0 >= 10) { - $$0 = $first; - break L1; - } - $1316 = $first + 2 | 0; - $1317 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($1316, $last, $db) | 0; - if (($1317 | 0) == ($1316 | 0)) { - $$0 = $first; - break L1; - } - $1321 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($1321 | 0)) { - $$0 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($1321 + -24 | 0, 0, 13022) | 0; - $$0 = $1317; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } while (0); else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} -function _arPattGetImage2($imageProcMode, $pattDetectMode, $patt_size, $sample_size, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, $pattRatio, $ext_patt) { - $imageProcMode = $imageProcMode | 0; - $pattDetectMode = $pattDetectMode | 0; - $patt_size = $patt_size | 0; - $sample_size = $sample_size | 0; - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $pixelFormat = $pixelFormat | 0; - $paramLTf = $paramLTf | 0; - $vertex = $vertex | 0; - $pattRatio = +$pattRatio; - $ext_patt = $ext_patt | 0; - var $$0 = 0, $100 = 0, $1001 = 0, $1005 = 0, $1009 = 0, $1012 = 0, $1023 = 0.0, $1028 = 0.0, $103 = 0.0, $1035 = 0.0, $104 = 0.0, $1045 = 0.0, $1054 = 0.0, $1055 = 0.0, $106 = 0, $107 = 0, $1074 = 0, $108 = 0, $1084 = 0, $1090 = 0.0, $1096 = 0.0, $1097 = 0.0, $110 = 0.0, $1101 = 0, $1107 = 0, $111 = 0.0, $1111 = 0, $1113 = 0, $1119 = 0, $112 = 0.0, $1120 = 0, $1124 = 0, $1128 = 0, $113 = 0, $1132 = 0, $1135 = 0, $114 = 0, $1146 = 0.0, $115 = 0, $1151 = 0.0, $1158 = 0.0, $116 = 0, $1168 = 0.0, $117 = 0, $1177 = 0.0, $1178 = 0.0, $118 = 0, $119 = 0, $1199 = 0, $120 = 0, $1203 = 0, $121 = 0, $1211 = 0, $1212 = 0, $1217 = 0, $1225 = 0, $123 = 0, $1231 = 0, $124 = 0.0, $1242 = 0.0, $1247 = 0.0, $125 = 0.0, $1254 = 0.0, $126 = 0.0, $1264 = 0.0, $127 = 0, $1273 = 0.0, $1274 = 0.0, $128 = 0, $129 = 0, $1295 = 0, $1299 = 0, $130 = 0, $1307 = 0, $1308 = 0, $131 = 0, $1313 = 0, $132 = 0, $1321 = 0, $1327 = 0, $133 = 0, $1338 = 0.0, $134 = 0, $1343 = 0.0, $135 = 0, $1350 = 0.0, $1360 = 0.0, $1369 = 0.0, $137 = 0, $1370 = 0.0, $138 = 0.0, $139 = 0.0, $1391 = 0, $140 = 0.0, $1402 = 0, $1403 = 0, $1408 = 0, $141 = 0, $1413 = 0, $1419 = 0, $142 = 0, $143 = 0, $1433 = 0, $1436 = 0.0, $1437 = 0.0, $1438 = 0.0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1456 = 0.0, $146 = 0, $1461 = 0.0, $1468 = 0.0, $147 = 0, $1478 = 0.0, $148 = 0, $1487 = 0.0, $1488 = 0.0, $149 = 0, $1509 = 0, $151 = 0, $152 = 0.0, $1528 = 0, $153 = 0.0, $1537 = 0.0, $1538 = 0.0, $1539 = 0.0, $154 = 0.0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $155 = 0, $1550 = 0, $1555 = 0.0, $156 = 0, $1560 = 0.0, $1567 = 0.0, $157 = 0, $1577 = 0.0, $158 = 0, $1586 = 0.0, $1587 = 0.0, $159 = 0, $160 = 0, $1608 = 0, $161 = 0, $162 = 0, $1627 = 0, $163 = 0, $1636 = 0.0, $1637 = 0.0, $1638 = 0.0, $1639 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1649 = 0, $165 = 0, $1654 = 0.0, $1659 = 0.0, $166 = 0.0, $1666 = 0.0, $167 = 0.0, $1676 = 0.0, $168 = 0.0, $1685 = 0.0, $1686 = 0.0, $169 = 0, $170 = 0, $1707 = 0, $171 = 0, $172 = 0, $1727 = 0, $173 = 0, $1734 = 0.0, $1735 = 0.0, $1736 = 0.0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1747 = 0, $1748 = 0.0, $1749 = 0.0, $175 = 0, $1750 = 0.0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1761 = 0, $1762 = 0.0, $1763 = 0.0, $1764 = 0.0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1775 = 0, $1776 = 0.0, $1777 = 0.0, $1778 = 0.0, $1779 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1789 = 0, $179 = 0, $1790 = 0.0, $1791 = 0.0, $1792 = 0.0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $180 = 0.0, $1800 = 0, $1801 = 0, $1803 = 0, $1804 = 0.0, $1805 = 0.0, $1806 = 0.0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0.0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1817 = 0, $182 = 0.0, $1822 = 0.0, $1827 = 0.0, $183 = 0, $1834 = 0.0, $184 = 0, $1844 = 0.0, $185 = 0, $1853 = 0.0, $1854 = 0.0, $186 = 0, $187 = 0, $1875 = 0, $188 = 0, $1882 = 0, $189 = 0, $1893 = 0.0, $1898 = 0.0, $190 = 0, $1905 = 0.0, $191 = 0, $1915 = 0.0, $1924 = 0.0, $1925 = 0.0, $193 = 0, $194 = 0.0, $1948 = 0, $195 = 0.0, $1955 = 0, $196 = 0.0, $1966 = 0.0, $197 = 0, $1971 = 0.0, $1978 = 0.0, $198 = 0, $1988 = 0.0, $199 = 0, $1997 = 0.0, $1998 = 0.0, $200 = 0, $201 = 0, $202 = 0, $2020 = 0, $2027 = 0, $203 = 0, $2038 = 0.0, $204 = 0, $2043 = 0.0, $205 = 0, $2050 = 0.0, $2060 = 0.0, $2069 = 0.0, $207 = 0, $2070 = 0.0, $208 = 0.0, $209 = 0.0, $2091 = 0, $2094 = 0, $210 = 0.0, $2102 = 0, $211 = 0, $2117 = 0, $212 = 0, $2128 = 0.0, $213 = 0, $2133 = 0.0, $214 = 0, $2140 = 0.0, $215 = 0, $2150 = 0.0, $2159 = 0.0, $216 = 0, $2160 = 0.0, $217 = 0, $218 = 0, $2181 = 0, $2184 = 0, $219 = 0, $2192 = 0, $2207 = 0, $221 = 0, $2218 = 0.0, $222 = 0.0, $2223 = 0.0, $223 = 0.0, $2230 = 0.0, $224 = 0.0, $2240 = 0.0, $2249 = 0.0, $225 = 0, $2250 = 0.0, $226 = 0, $227 = 0, $2271 = 0, $2274 = 0, $228 = 0, $229 = 0, $2293 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $249 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $260 = 0, $261 = 0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0, $268 = 0, $269 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $277 = 0, $278 = 0, $284 = 0.0, $289 = 0.0, $29 = 0.0, $296 = 0.0, $306 = 0.0, $31 = 0.0, $315 = 0.0, $316 = 0.0, $32 = 0.0, $337 = 0, $346 = 0, $347 = 0, $35 = 0.0, $355 = 0, $362 = 0, $37 = 0.0, $373 = 0.0, $378 = 0.0, $38 = 0.0, $385 = 0.0, $395 = 0.0, $404 = 0.0, $405 = 0.0, $41 = 0, $426 = 0, $43 = 0.0, $434 = 0, $435 = 0, $443 = 0, $45 = 0.0, $451 = 0, $46 = 0.0, $462 = 0.0, $467 = 0.0, $474 = 0.0, $484 = 0.0, $49 = 0.0, $493 = 0.0, $494 = 0.0, $51 = 0.0, $515 = 0, $52 = 0.0, $524 = 0, $525 = 0, $533 = 0, $540 = 0, $55 = 0, $551 = 0.0, $556 = 0.0, $56 = 0.0, $563 = 0.0, $573 = 0.0, $58 = 0.0, $582 = 0.0, $583 = 0.0, $604 = 0, $61 = 0, $612 = 0, $613 = 0, $62 = 0.0, $621 = 0, $629 = 0, $64 = 0.0, $640 = 0.0, $645 = 0.0, $652 = 0.0, $662 = 0.0, $67 = 0, $671 = 0.0, $672 = 0.0, $693 = 0, $702 = 0, $703 = 0, $711 = 0, $719 = 0, $73 = 0, $730 = 0.0, $735 = 0.0, $742 = 0.0, $752 = 0.0, $761 = 0.0, $762 = 0.0, $77 = 0, $783 = 0, $785 = 0, $790 = 0, $791 = 0, $795 = 0, $799 = 0, $810 = 0.0, $815 = 0.0, $822 = 0.0, $832 = 0.0, $841 = 0.0, $842 = 0.0, $863 = 0, $872 = 0, $873 = 0, $881 = 0, $889 = 0, $900 = 0.0, $905 = 0.0, $912 = 0.0, $922 = 0.0, $931 = 0.0, $932 = 0.0, $951 = 0, $954 = 0, $959 = 0.0, $973 = 0.0, $974 = 0.0, $978 = 0, $984 = 0, $988 = 0, $99 = 0, $990 = 0, $996 = 0, $997 = 0, $ext_patt2$0 = 0, $i$10291 = 0, $i$11297 = 0, $i$12303 = 0, $i$1237 = 0, $i$13236 = 0, $i$14312 = 0, $i$15318 = 0, $i$16324 = 0, $i$17330 = 0, $i$18336 = 0, $i$19342 = 0, $i$20348 = 0, $i$21354 = 0, $i$22360 = 0, $i$2243 = 0, $i$23309 = 0, $i$3249 = 0, $i$4255 = 0, $i$5261 = 0, $i$6267 = 0, $i$7273 = 0, $i$8279 = 0, $i$9285 = 0, $j$0241 = 0, $j$10301 = 0, $j$11307 = 0, $j$12316 = 0, $j$1247 = 0, $j$13322 = 0, $j$14328 = 0, $j$15334 = 0, $j$16340 = 0, $j$17346 = 0, $j$18352 = 0, $j$19358 = 0, $j$20364 = 0, $j$2253 = 0, $j$3259 = 0, $j$4265 = 0, $j$5271 = 0, $j$6277 = 0, $j$7283 = 0, $j$8289 = 0, $j$9295 = 0, $local = 0, $para = 0, $sample_size$xdiv2$2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $world = 0, $xc$0 = 0, $xc$1 = 0, $xc$10 = 0, $xc$11 = 0, $xc$12 = 0, $xc$13 = 0, $xc$14 = 0, $xc$15 = 0, $xc$16 = 0, $xc$17 = 0, $xc$18 = 0, $xc$19 = 0, $xc$2 = 0, $xc$20 = 0, $xc$3 = 0, $xc$4 = 0, $xc$5 = 0, $xc$6 = 0, $xc$7 = 0, $xc$8 = 0, $xc$9 = 0, $xc2 = 0, $xdiv2$0 = 0, $xdiv2$0$lcssa = 0, $xdiv2$1 = 0, $xdiv2$1$lcssa = 0, $xdiv2$2 = 0, $yc$0 = 0, $yc$1 = 0, $yc$10 = 0, $yc$11 = 0, $yc$12 = 0, $yc$13 = 0, $yc$14 = 0, $yc$15 = 0, $yc$16 = 0, $yc$17 = 0, $yc$18 = 0, $yc$19 = 0, $yc$2 = 0, $yc$20 = 0, $yc$3 = 0, $yc$4 = 0, $yc$5 = 0, $yc$6 = 0, $yc$7 = 0, $yc$8 = 0, $yc$9 = 0, $yc2 = 0, $ydiv2$0 = 0, $ydiv2$1 = 0, $ydiv2$2 = 0, $ydiv2$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer5 = sp + 224 | 0; - $vararg_buffer3 = sp + 216 | 0; - $vararg_buffer1 = sp + 208 | 0; - $vararg_buffer = sp + 200 | 0; - $world = sp + 136 | 0; - $local = sp + 72 | 0; - $para = sp; - $xc2 = sp + 232 | 0; - $yc2 = sp + 228 | 0; - HEAPF64[$world >> 3] = 100.0; - HEAPF64[$world + 8 >> 3] = 100.0; - HEAPF64[$world + 16 >> 3] = 110.0; - HEAPF64[$world + 24 >> 3] = 100.0; - HEAPF64[$world + 32 >> 3] = 110.0; - HEAPF64[$world + 40 >> 3] = 110.0; - HEAPF64[$world + 48 >> 3] = 100.0; - HEAPF64[$world + 56 >> 3] = 110.0; - HEAPF64[$local >> 3] = +HEAPF64[$vertex >> 3]; - HEAPF64[$local + 8 >> 3] = +HEAPF64[$vertex + 8 >> 3]; - HEAPF64[$local + 16 >> 3] = +HEAPF64[$vertex + 16 >> 3]; - HEAPF64[$local + 24 >> 3] = +HEAPF64[$vertex + 24 >> 3]; - HEAPF64[$local + 32 >> 3] = +HEAPF64[$vertex + 32 >> 3]; - HEAPF64[$local + 40 >> 3] = +HEAPF64[$vertex + 40 >> 3]; - HEAPF64[$local + 48 >> 3] = +HEAPF64[$vertex + 48 >> 3]; - HEAPF64[$local + 56 >> 3] = +HEAPF64[$vertex + 56 >> 3]; - _get_cpara($world, $local, $para); - $29 = +HEAPF64[$local >> 3]; - $31 = +HEAPF64[$local + 16 >> 3]; - $32 = $29 - $31; - $35 = +HEAPF64[$local + 8 >> 3]; - $37 = +HEAPF64[$local + 24 >> 3]; - $38 = $35 - $37; - $41 = ~~($32 * $32 + $38 * $38); - $43 = +HEAPF64[$local + 32 >> 3]; - $45 = +HEAPF64[$local + 48 >> 3]; - $46 = $43 - $45; - $49 = +HEAPF64[$local + 40 >> 3]; - $51 = +HEAPF64[$local + 56 >> 3]; - $52 = $49 - $51; - $55 = ~~($46 * $46 + $52 * $52); - $56 = $31 - $43; - $58 = $37 - $49; - $61 = ~~($56 * $56 + $58 * $58); - $62 = $45 - $29; - $64 = $51 - $35; - $67 = ~~($62 * $62 + $64 * $64); - $73 = ~~(+((($55 | 0) > ($41 | 0) ? $55 : $41) | 0) * $pattRatio * $pattRatio); - $77 = ~~(+((($67 | 0) > ($61 | 0) ? $67 : $61) | 0) * $pattRatio * $pattRatio); - if (!$imageProcMode) { - $xdiv2$0 = $patt_size; - while (1) if (($xdiv2$0 | 0) < ($sample_size | 0) & (Math_imul($xdiv2$0, $xdiv2$0) | 0) < ($73 | 0)) $xdiv2$0 = $xdiv2$0 << 1; else { - $xdiv2$0$lcssa = $xdiv2$0; - break; - } - $ydiv2$0 = $patt_size; - while (1) if (($ydiv2$0 | 0) < ($sample_size | 0) & (Math_imul($ydiv2$0, $ydiv2$0) | 0) < ($77 | 0)) $ydiv2$0 = $ydiv2$0 << 1; else { - $xdiv2$2 = $xdiv2$0$lcssa; - $ydiv2$2 = $ydiv2$0; - break; - } - } else { - $xdiv2$1 = $patt_size; - while (1) if (($xdiv2$1 | 0) < ($sample_size | 0) & (Math_imul($xdiv2$1 << 2, $xdiv2$1) | 0) < ($73 | 0)) $xdiv2$1 = $xdiv2$1 << 1; else { - $xdiv2$1$lcssa = $xdiv2$1; - break; - } - $ydiv2$1 = $patt_size; - while (1) if (($ydiv2$1 | 0) < ($sample_size | 0) & (Math_imul($ydiv2$1 << 2, $ydiv2$1) | 0) < ($77 | 0)) $ydiv2$1 = $ydiv2$1 << 1; else { - $xdiv2$2 = $xdiv2$1$lcssa; - $ydiv2$2 = $ydiv2$1; - break; - } - } - $sample_size$xdiv2$2 = ($xdiv2$2 | 0) > ($sample_size | 0) ? $sample_size : $xdiv2$2; - $ydiv2$3 = ($ydiv2$2 | 0) > ($sample_size | 0) ? $sample_size : $ydiv2$2; - $99 = ($sample_size$xdiv2$2 | 0) / ($patt_size | 0) | 0; - $100 = ($ydiv2$3 | 0) / ($patt_size | 0) | 0; - $103 = (1.0 - $pattRatio) * .5 * 10.0; - $104 = $pattRatio * 10.0; - $106 = Math_imul($patt_size, $patt_size) | 0; - L13 : do if (!$pattDetectMode) { - $107 = $106 * 3 | 0; - $108 = _calloc($107, 4) | 0; - if (!$108) { - _arLog(3, 5471, $vararg_buffer); - _exit(1); - } - do switch ($pixelFormat | 0) { - case 0: - { - $264 = $103 + 100.0; - $265 = +($ydiv2$3 | 0); - $266 = +($sample_size$xdiv2$2 | 0); - $267 = $para + 48 | 0; - $268 = $para + 56 | 0; - $269 = $para + 64 | 0; - $270 = $para + 8 | 0; - $271 = $para + 16 | 0; - $272 = $para + 24 | 0; - $273 = $para + 32 | 0; - $274 = $para + 40 | 0; - $275 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $277 = ($sample_size$xdiv2$2 | 0) > 0; - $j$0241 = 0; - do { - $284 = $264 + $104 * (+($j$0241 | 0) + .5) / $265; - if ($277) { - $i$1237 = 0; - do { - $289 = $264 + $104 * (+($i$1237 | 0) + .5) / $266; - $296 = +HEAPF64[$269 >> 3] + (+HEAPF64[$267 >> 3] * $289 + $284 * +HEAPF64[$268 >> 3]); - if ($296 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $306 = (+HEAPF64[$271 >> 3] + ($289 * +HEAPF64[$para >> 3] + $284 * +HEAPF64[$270 >> 3])) / $296; - HEAPF32[$xc2 >> 2] = $306; - $315 = (+HEAPF64[$274 >> 3] + ($289 * +HEAPF64[$272 >> 3] + $284 * +HEAPF64[$273 >> 3])) / $296; - HEAPF32[$yc2 >> 2] = $315; - _arParamIdeal2ObservLTf($paramLTf, $306, $315, $xc2, $yc2) | 0; - $316 = +HEAPF32[$xc2 >> 2]; - if ($275) { - $xc$0 = ((~~($316 + 1.0) | 0) / 2 | 0) << 1; - $yc$0 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$0 = ~~($316 + .5); - $yc$0 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$0 | 0) > -1) if (($yc$0 | 0) < ($ysize | 0) & (($yc$0 | 0) > -1 & ($xc$0 | 0) < ($xsize | 0))) { - $337 = ((Math_imul($yc$0, $xsize) | 0) + $xc$0 | 0) * 3 | 0; - $346 = ((Math_imul(($j$0241 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$1237 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $347 = $108 + ($346 << 2) | 0; - HEAP32[$347 >> 2] = (HEAP32[$347 >> 2] | 0) + (HEAPU8[$image + ($337 + 2) >> 0] | 0); - $355 = $108 + ($346 + 1 << 2) | 0; - HEAP32[$355 >> 2] = (HEAP32[$355 >> 2] | 0) + (HEAPU8[$image + ($337 + 1) >> 0] | 0); - $362 = $108 + ($346 + 2 << 2) | 0; - HEAP32[$362 >> 2] = (HEAP32[$362 >> 2] | 0) + (HEAPU8[$image + $337 >> 0] | 0); - } - $i$1237 = $i$1237 + 1 | 0; - } while (($i$1237 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$0241 = $j$0241 + 1 | 0; - } while (($j$0241 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 1: - { - $250 = $103 + 100.0; - $251 = +($ydiv2$3 | 0); - $252 = +($sample_size$xdiv2$2 | 0); - $253 = $para + 48 | 0; - $254 = $para + 56 | 0; - $255 = $para + 64 | 0; - $256 = $para + 8 | 0; - $257 = $para + 16 | 0; - $258 = $para + 24 | 0; - $259 = $para + 32 | 0; - $260 = $para + 40 | 0; - $261 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $263 = ($sample_size$xdiv2$2 | 0) > 0; - $j$1247 = 0; - do { - $373 = $250 + $104 * (+($j$1247 | 0) + .5) / $251; - if ($263) { - $i$2243 = 0; - do { - $378 = $250 + $104 * (+($i$2243 | 0) + .5) / $252; - $385 = +HEAPF64[$255 >> 3] + (+HEAPF64[$253 >> 3] * $378 + $373 * +HEAPF64[$254 >> 3]); - if ($385 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $395 = (+HEAPF64[$257 >> 3] + ($378 * +HEAPF64[$para >> 3] + $373 * +HEAPF64[$256 >> 3])) / $385; - HEAPF32[$xc2 >> 2] = $395; - $404 = (+HEAPF64[$260 >> 3] + ($378 * +HEAPF64[$258 >> 3] + $373 * +HEAPF64[$259 >> 3])) / $385; - HEAPF32[$yc2 >> 2] = $404; - _arParamIdeal2ObservLTf($paramLTf, $395, $404, $xc2, $yc2) | 0; - $405 = +HEAPF32[$xc2 >> 2]; - if ($261) { - $xc$1 = ((~~($405 + 1.0) | 0) / 2 | 0) << 1; - $yc$1 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$1 = ~~($405 + .5); - $yc$1 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$1 | 0) > -1) if (($yc$1 | 0) < ($ysize | 0) & (($yc$1 | 0) > -1 & ($xc$1 | 0) < ($xsize | 0))) { - $426 = ((Math_imul($yc$1, $xsize) | 0) + $xc$1 | 0) * 3 | 0; - $434 = ((Math_imul(($j$1247 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$2243 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $435 = $108 + ($434 << 2) | 0; - HEAP32[$435 >> 2] = (HEAP32[$435 >> 2] | 0) + (HEAPU8[$image + $426 >> 0] | 0); - $443 = $108 + ($434 + 1 << 2) | 0; - HEAP32[$443 >> 2] = (HEAP32[$443 >> 2] | 0) + (HEAPU8[$image + ($426 + 1) >> 0] | 0); - $451 = $108 + ($434 + 2 << 2) | 0; - HEAP32[$451 >> 2] = (HEAP32[$451 >> 2] | 0) + (HEAPU8[$image + ($426 + 2) >> 0] | 0); - } - $i$2243 = $i$2243 + 1 | 0; - } while (($i$2243 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$1247 = $j$1247 + 1 | 0; - } while (($j$1247 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 2: - { - $236 = $103 + 100.0; - $237 = +($ydiv2$3 | 0); - $238 = +($sample_size$xdiv2$2 | 0); - $239 = $para + 48 | 0; - $240 = $para + 56 | 0; - $241 = $para + 64 | 0; - $242 = $para + 8 | 0; - $243 = $para + 16 | 0; - $244 = $para + 24 | 0; - $245 = $para + 32 | 0; - $246 = $para + 40 | 0; - $247 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $249 = ($sample_size$xdiv2$2 | 0) > 0; - $j$2253 = 0; - do { - $462 = $236 + $104 * (+($j$2253 | 0) + .5) / $237; - if ($249) { - $i$3249 = 0; - do { - $467 = $236 + $104 * (+($i$3249 | 0) + .5) / $238; - $474 = +HEAPF64[$241 >> 3] + (+HEAPF64[$239 >> 3] * $467 + $462 * +HEAPF64[$240 >> 3]); - if ($474 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $484 = (+HEAPF64[$243 >> 3] + ($467 * +HEAPF64[$para >> 3] + $462 * +HEAPF64[$242 >> 3])) / $474; - HEAPF32[$xc2 >> 2] = $484; - $493 = (+HEAPF64[$246 >> 3] + ($467 * +HEAPF64[$244 >> 3] + $462 * +HEAPF64[$245 >> 3])) / $474; - HEAPF32[$yc2 >> 2] = $493; - _arParamIdeal2ObservLTf($paramLTf, $484, $493, $xc2, $yc2) | 0; - $494 = +HEAPF32[$xc2 >> 2]; - if ($247) { - $xc$2 = ((~~($494 + 1.0) | 0) / 2 | 0) << 1; - $yc$2 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$2 = ~~($494 + .5); - $yc$2 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$2 | 0) > -1) if (($yc$2 | 0) < ($ysize | 0) & (($yc$2 | 0) > -1 & ($xc$2 | 0) < ($xsize | 0))) { - $515 = (Math_imul($yc$2, $xsize) | 0) + $xc$2 << 2; - $524 = ((Math_imul(($j$2253 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$3249 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $525 = $108 + ($524 << 2) | 0; - HEAP32[$525 >> 2] = (HEAP32[$525 >> 2] | 0) + (HEAPU8[$image + ($515 | 2) >> 0] | 0); - $533 = $108 + ($524 + 1 << 2) | 0; - HEAP32[$533 >> 2] = (HEAP32[$533 >> 2] | 0) + (HEAPU8[$image + ($515 | 1) >> 0] | 0); - $540 = $108 + ($524 + 2 << 2) | 0; - HEAP32[$540 >> 2] = (HEAP32[$540 >> 2] | 0) + (HEAPU8[$image + $515 >> 0] | 0); - } - $i$3249 = $i$3249 + 1 | 0; - } while (($i$3249 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$2253 = $j$2253 + 1 | 0; - } while (($j$2253 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 3: - { - $222 = $103 + 100.0; - $223 = +($ydiv2$3 | 0); - $224 = +($sample_size$xdiv2$2 | 0); - $225 = $para + 48 | 0; - $226 = $para + 56 | 0; - $227 = $para + 64 | 0; - $228 = $para + 8 | 0; - $229 = $para + 16 | 0; - $230 = $para + 24 | 0; - $231 = $para + 32 | 0; - $232 = $para + 40 | 0; - $233 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $235 = ($sample_size$xdiv2$2 | 0) > 0; - $j$3259 = 0; - do { - $551 = $222 + $104 * (+($j$3259 | 0) + .5) / $223; - if ($235) { - $i$4255 = 0; - do { - $556 = $222 + $104 * (+($i$4255 | 0) + .5) / $224; - $563 = +HEAPF64[$227 >> 3] + (+HEAPF64[$225 >> 3] * $556 + $551 * +HEAPF64[$226 >> 3]); - if ($563 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $573 = (+HEAPF64[$229 >> 3] + ($556 * +HEAPF64[$para >> 3] + $551 * +HEAPF64[$228 >> 3])) / $563; - HEAPF32[$xc2 >> 2] = $573; - $582 = (+HEAPF64[$232 >> 3] + ($556 * +HEAPF64[$230 >> 3] + $551 * +HEAPF64[$231 >> 3])) / $563; - HEAPF32[$yc2 >> 2] = $582; - _arParamIdeal2ObservLTf($paramLTf, $573, $582, $xc2, $yc2) | 0; - $583 = +HEAPF32[$xc2 >> 2]; - if ($233) { - $xc$3 = ((~~($583 + 1.0) | 0) / 2 | 0) << 1; - $yc$3 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$3 = ~~($583 + .5); - $yc$3 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$3 | 0) > -1) if (($yc$3 | 0) < ($ysize | 0) & (($yc$3 | 0) > -1 & ($xc$3 | 0) < ($xsize | 0))) { - $604 = (Math_imul($yc$3, $xsize) | 0) + $xc$3 << 2; - $612 = ((Math_imul(($j$3259 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$4255 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $613 = $108 + ($612 << 2) | 0; - HEAP32[$613 >> 2] = (HEAP32[$613 >> 2] | 0) + (HEAPU8[$image + $604 >> 0] | 0); - $621 = $108 + ($612 + 1 << 2) | 0; - HEAP32[$621 >> 2] = (HEAP32[$621 >> 2] | 0) + (HEAPU8[$image + ($604 | 1) >> 0] | 0); - $629 = $108 + ($612 + 2 << 2) | 0; - HEAP32[$629 >> 2] = (HEAP32[$629 >> 2] | 0) + (HEAPU8[$image + ($604 | 2) >> 0] | 0); - } - $i$4255 = $i$4255 + 1 | 0; - } while (($i$4255 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$3259 = $j$3259 + 1 | 0; - } while (($j$3259 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 4: - { - $208 = $103 + 100.0; - $209 = +($ydiv2$3 | 0); - $210 = +($sample_size$xdiv2$2 | 0); - $211 = $para + 48 | 0; - $212 = $para + 56 | 0; - $213 = $para + 64 | 0; - $214 = $para + 8 | 0; - $215 = $para + 16 | 0; - $216 = $para + 24 | 0; - $217 = $para + 32 | 0; - $218 = $para + 40 | 0; - $219 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $221 = ($sample_size$xdiv2$2 | 0) > 0; - $j$4265 = 0; - do { - $640 = $208 + $104 * (+($j$4265 | 0) + .5) / $209; - if ($221) { - $i$5261 = 0; - do { - $645 = $208 + $104 * (+($i$5261 | 0) + .5) / $210; - $652 = +HEAPF64[$213 >> 3] + (+HEAPF64[$211 >> 3] * $645 + $640 * +HEAPF64[$212 >> 3]); - if ($652 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $662 = (+HEAPF64[$215 >> 3] + ($645 * +HEAPF64[$para >> 3] + $640 * +HEAPF64[$214 >> 3])) / $652; - HEAPF32[$xc2 >> 2] = $662; - $671 = (+HEAPF64[$218 >> 3] + ($645 * +HEAPF64[$216 >> 3] + $640 * +HEAPF64[$217 >> 3])) / $652; - HEAPF32[$yc2 >> 2] = $671; - _arParamIdeal2ObservLTf($paramLTf, $662, $671, $xc2, $yc2) | 0; - $672 = +HEAPF32[$xc2 >> 2]; - if ($219) { - $xc$4 = ((~~($672 + 1.0) | 0) / 2 | 0) << 1; - $yc$4 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$4 = ~~($672 + .5); - $yc$4 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$4 | 0) > -1) if (($yc$4 | 0) < ($ysize | 0) & (($yc$4 | 0) > -1 & ($xc$4 | 0) < ($xsize | 0))) { - $693 = (Math_imul($yc$4, $xsize) | 0) + $xc$4 << 2; - $702 = ((Math_imul(($j$4265 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$5261 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $703 = $108 + ($702 << 2) | 0; - HEAP32[$703 >> 2] = (HEAP32[$703 >> 2] | 0) + (HEAPU8[$image + ($693 | 1) >> 0] | 0); - $711 = $108 + ($702 + 1 << 2) | 0; - HEAP32[$711 >> 2] = (HEAP32[$711 >> 2] | 0) + (HEAPU8[$image + ($693 | 2) >> 0] | 0); - $719 = $108 + ($702 + 2 << 2) | 0; - HEAP32[$719 >> 2] = (HEAP32[$719 >> 2] | 0) + (HEAPU8[$image + ($693 | 3) >> 0] | 0); - } - $i$5261 = $i$5261 + 1 | 0; - } while (($i$5261 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$4265 = $j$4265 + 1 | 0; - } while (($j$4265 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 5: - case 12: - case 13: - case 14: - { - $194 = $103 + 100.0; - $195 = +($ydiv2$3 | 0); - $196 = +($sample_size$xdiv2$2 | 0); - $197 = $para + 48 | 0; - $198 = $para + 56 | 0; - $199 = $para + 64 | 0; - $200 = $para + 8 | 0; - $201 = $para + 16 | 0; - $202 = $para + 24 | 0; - $203 = $para + 32 | 0; - $204 = $para + 40 | 0; - $205 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $207 = ($sample_size$xdiv2$2 | 0) > 0; - $j$5271 = 0; - do { - $730 = $194 + $104 * (+($j$5271 | 0) + .5) / $195; - if ($207) { - $i$6267 = 0; - do { - $735 = $194 + $104 * (+($i$6267 | 0) + .5) / $196; - $742 = +HEAPF64[$199 >> 3] + (+HEAPF64[$197 >> 3] * $735 + $730 * +HEAPF64[$198 >> 3]); - if ($742 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $752 = (+HEAPF64[$201 >> 3] + ($735 * +HEAPF64[$para >> 3] + $730 * +HEAPF64[$200 >> 3])) / $742; - HEAPF32[$xc2 >> 2] = $752; - $761 = (+HEAPF64[$204 >> 3] + ($735 * +HEAPF64[$202 >> 3] + $730 * +HEAPF64[$203 >> 3])) / $742; - HEAPF32[$yc2 >> 2] = $761; - _arParamIdeal2ObservLTf($paramLTf, $752, $761, $xc2, $yc2) | 0; - $762 = +HEAPF32[$xc2 >> 2]; - if ($205) { - $xc$5 = ((~~($762 + 1.0) | 0) / 2 | 0) << 1; - $yc$5 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$5 = ~~($762 + .5); - $yc$5 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$5 | 0) > -1) if (($yc$5 | 0) < ($ysize | 0) & (($yc$5 | 0) > -1 & ($xc$5 | 0) < ($xsize | 0))) { - $783 = $image + ((Math_imul($yc$5, $xsize) | 0) + $xc$5) | 0; - $785 = HEAPU8[$783 >> 0] | 0; - $790 = ((Math_imul(($j$5271 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$6267 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $791 = $108 + ($790 << 2) | 0; - HEAP32[$791 >> 2] = (HEAP32[$791 >> 2] | 0) + $785; - $795 = $108 + ($790 + 1 << 2) | 0; - HEAP32[$795 >> 2] = (HEAP32[$795 >> 2] | 0) + $785; - $799 = $108 + ($790 + 2 << 2) | 0; - HEAP32[$799 >> 2] = (HEAP32[$799 >> 2] | 0) + $785; - } - $i$6267 = $i$6267 + 1 | 0; - } while (($i$6267 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$5271 = $j$5271 + 1 | 0; - } while (($j$5271 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 6: - { - $180 = $103 + 100.0; - $181 = +($ydiv2$3 | 0); - $182 = +($sample_size$xdiv2$2 | 0); - $183 = $para + 48 | 0; - $184 = $para + 56 | 0; - $185 = $para + 64 | 0; - $186 = $para + 8 | 0; - $187 = $para + 16 | 0; - $188 = $para + 24 | 0; - $189 = $para + 32 | 0; - $190 = $para + 40 | 0; - $191 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $193 = ($sample_size$xdiv2$2 | 0) > 0; - $j$6277 = 0; - do { - $810 = $180 + $104 * (+($j$6277 | 0) + .5) / $181; - if ($193) { - $i$7273 = 0; - do { - $815 = $180 + $104 * (+($i$7273 | 0) + .5) / $182; - $822 = +HEAPF64[$185 >> 3] + (+HEAPF64[$183 >> 3] * $815 + $810 * +HEAPF64[$184 >> 3]); - if ($822 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $832 = (+HEAPF64[$187 >> 3] + ($815 * +HEAPF64[$para >> 3] + $810 * +HEAPF64[$186 >> 3])) / $822; - HEAPF32[$xc2 >> 2] = $832; - $841 = (+HEAPF64[$190 >> 3] + ($815 * +HEAPF64[$188 >> 3] + $810 * +HEAPF64[$189 >> 3])) / $822; - HEAPF32[$yc2 >> 2] = $841; - _arParamIdeal2ObservLTf($paramLTf, $832, $841, $xc2, $yc2) | 0; - $842 = +HEAPF32[$xc2 >> 2]; - if ($191) { - $xc$6 = ((~~($842 + 1.0) | 0) / 2 | 0) << 1; - $yc$6 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$6 = ~~($842 + .5); - $yc$6 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$6 | 0) > -1) if (($yc$6 | 0) < ($ysize | 0) & (($yc$6 | 0) > -1 & ($xc$6 | 0) < ($xsize | 0))) { - $863 = (Math_imul($yc$6, $xsize) | 0) + $xc$6 << 2; - $872 = ((Math_imul(($j$6277 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$7273 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $873 = $108 + ($872 << 2) | 0; - HEAP32[$873 >> 2] = (HEAP32[$873 >> 2] | 0) + (HEAPU8[$image + ($863 | 3) >> 0] | 0); - $881 = $108 + ($872 + 1 << 2) | 0; - HEAP32[$881 >> 2] = (HEAP32[$881 >> 2] | 0) + (HEAPU8[$image + ($863 | 2) >> 0] | 0); - $889 = $108 + ($872 + 2 << 2) | 0; - HEAP32[$889 >> 2] = (HEAP32[$889 >> 2] | 0) + (HEAPU8[$image + ($863 | 1) >> 0] | 0); - } - $i$7273 = $i$7273 + 1 | 0; - } while (($i$7273 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$6277 = $j$6277 + 1 | 0; - } while (($j$6277 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 7: - { - $166 = $103 + 100.0; - $167 = +($ydiv2$3 | 0); - $168 = +($sample_size$xdiv2$2 | 0); - $169 = $para + 48 | 0; - $170 = $para + 56 | 0; - $171 = $para + 64 | 0; - $172 = $para + 8 | 0; - $173 = $para + 16 | 0; - $174 = $para + 24 | 0; - $175 = $para + 32 | 0; - $176 = $para + 40 | 0; - $177 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $179 = ($sample_size$xdiv2$2 | 0) > 0; - $j$7283 = 0; - do { - $900 = $166 + $104 * (+($j$7283 | 0) + .5) / $167; - if ($179) { - $i$8279 = 0; - do { - $905 = $166 + $104 * (+($i$8279 | 0) + .5) / $168; - $912 = +HEAPF64[$171 >> 3] + (+HEAPF64[$169 >> 3] * $905 + $900 * +HEAPF64[$170 >> 3]); - if ($912 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $922 = (+HEAPF64[$173 >> 3] + ($905 * +HEAPF64[$para >> 3] + $900 * +HEAPF64[$172 >> 3])) / $912; - HEAPF32[$xc2 >> 2] = $922; - $931 = (+HEAPF64[$176 >> 3] + ($905 * +HEAPF64[$174 >> 3] + $900 * +HEAPF64[$175 >> 3])) / $912; - HEAPF32[$yc2 >> 2] = $931; - _arParamIdeal2ObservLTf($paramLTf, $922, $931, $xc2, $yc2) | 0; - $932 = +HEAPF32[$xc2 >> 2]; - if ($177) { - $xc$7 = ((~~($932 + 1.0) | 0) / 2 | 0) << 1; - $yc$7 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$7 = ~~($932 + .5); - $yc$7 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$7 | 0) > -1) if (($yc$7 | 0) < ($ysize | 0) & (($yc$7 | 0) > -1 & ($xc$7 | 0) < ($xsize | 0))) { - $951 = Math_imul($yc$7, $xsize) | 0; - $954 = ($xc$7 & 65534) + $951 << 1; - $959 = +((HEAPU8[$image + $954 >> 0] | 0) + -128 | 0); - $973 = +((HEAPU8[$image + ($954 + 2) >> 0] | 0) + -128 | 0); - $974 = +((HEAPU8[$image + ($951 + $xc$7 << 1 | 1) >> 0] | 0) + -16 | 0) * 298.0820007324219; - $978 = ~~($959 * 516.4110107421875 + $974) >> 8; - $984 = ~~($974 - $959 * 100.29100036621094 - $973 * 208.1199951171875) >> 8; - $988 = ~~($974 + $973 * 408.5830078125) >> 8; - $990 = ($978 | 0) > 0 ? $978 : 0; - $996 = ((Math_imul(($j$7283 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$8279 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $997 = $108 + ($996 << 2) | 0; - HEAP32[$997 >> 2] = (($990 | 0) < 255 ? $990 : 255) + (HEAP32[$997 >> 2] | 0); - $1001 = ($984 | 0) > 0 ? $984 : 0; - $1005 = $108 + ($996 + 1 << 2) | 0; - HEAP32[$1005 >> 2] = (($1001 | 0) < 255 ? $1001 : 255) + (HEAP32[$1005 >> 2] | 0); - $1009 = ($988 | 0) > 0 ? $988 : 0; - $1012 = $108 + ($996 + 2 << 2) | 0; - HEAP32[$1012 >> 2] = (($1009 | 0) < 255 ? $1009 : 255) + (HEAP32[$1012 >> 2] | 0); - } - $i$8279 = $i$8279 + 1 | 0; - } while (($i$8279 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$7283 = $j$7283 + 1 | 0; - } while (($j$7283 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 8: - { - $152 = $103 + 100.0; - $153 = +($ydiv2$3 | 0); - $154 = +($sample_size$xdiv2$2 | 0); - $155 = $para + 48 | 0; - $156 = $para + 56 | 0; - $157 = $para + 64 | 0; - $158 = $para + 8 | 0; - $159 = $para + 16 | 0; - $160 = $para + 24 | 0; - $161 = $para + 32 | 0; - $162 = $para + 40 | 0; - $163 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $165 = ($sample_size$xdiv2$2 | 0) > 0; - $j$8289 = 0; - do { - $1023 = $152 + $104 * (+($j$8289 | 0) + .5) / $153; - if ($165) { - $i$9285 = 0; - do { - $1028 = $152 + $104 * (+($i$9285 | 0) + .5) / $154; - $1035 = +HEAPF64[$157 >> 3] + (+HEAPF64[$155 >> 3] * $1028 + $1023 * +HEAPF64[$156 >> 3]); - if ($1035 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $1045 = (+HEAPF64[$159 >> 3] + ($1028 * +HEAPF64[$para >> 3] + $1023 * +HEAPF64[$158 >> 3])) / $1035; - HEAPF32[$xc2 >> 2] = $1045; - $1054 = (+HEAPF64[$162 >> 3] + ($1028 * +HEAPF64[$160 >> 3] + $1023 * +HEAPF64[$161 >> 3])) / $1035; - HEAPF32[$yc2 >> 2] = $1054; - _arParamIdeal2ObservLTf($paramLTf, $1045, $1054, $xc2, $yc2) | 0; - $1055 = +HEAPF32[$xc2 >> 2]; - if ($163) { - $xc$8 = ((~~($1055 + 1.0) | 0) / 2 | 0) << 1; - $yc$8 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$8 = ~~($1055 + .5); - $yc$8 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$8 | 0) > -1) if (($yc$8 | 0) < ($ysize | 0) & (($yc$8 | 0) > -1 & ($xc$8 | 0) < ($xsize | 0))) { - $1074 = Math_imul($yc$8, $xsize) | 0; - $1084 = ($xc$8 & 65534) + $1074 << 1; - $1090 = +((HEAPU8[$image + ($1084 | 1) >> 0] | 0) + -128 | 0); - $1096 = +((HEAPU8[$image + ($1084 + 3) >> 0] | 0) + -128 | 0); - $1097 = +((HEAPU8[$image + ($1074 + $xc$8 << 1) >> 0] | 0) + -16 | 0) * 298.0820007324219; - $1101 = ~~($1097 + $1090 * 516.4110107421875) >> 8; - $1107 = ~~($1097 - $1090 * 100.29100036621094 - $1096 * 208.1199951171875) >> 8; - $1111 = ~~($1097 + $1096 * 408.5830078125) >> 8; - $1113 = ($1101 | 0) > 0 ? $1101 : 0; - $1119 = ((Math_imul(($j$8289 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$9285 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $1120 = $108 + ($1119 << 2) | 0; - HEAP32[$1120 >> 2] = (($1113 | 0) < 255 ? $1113 : 255) + (HEAP32[$1120 >> 2] | 0); - $1124 = ($1107 | 0) > 0 ? $1107 : 0; - $1128 = $108 + ($1119 + 1 << 2) | 0; - HEAP32[$1128 >> 2] = (($1124 | 0) < 255 ? $1124 : 255) + (HEAP32[$1128 >> 2] | 0); - $1132 = ($1111 | 0) > 0 ? $1111 : 0; - $1135 = $108 + ($1119 + 2 << 2) | 0; - HEAP32[$1135 >> 2] = (($1132 | 0) < 255 ? $1132 : 255) + (HEAP32[$1135 >> 2] | 0); - } - $i$9285 = $i$9285 + 1 | 0; - } while (($i$9285 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$8289 = $j$8289 + 1 | 0; - } while (($j$8289 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 9: - { - $138 = $103 + 100.0; - $139 = +($ydiv2$3 | 0); - $140 = +($sample_size$xdiv2$2 | 0); - $141 = $para + 48 | 0; - $142 = $para + 56 | 0; - $143 = $para + 64 | 0; - $144 = $para + 8 | 0; - $145 = $para + 16 | 0; - $146 = $para + 24 | 0; - $147 = $para + 32 | 0; - $148 = $para + 40 | 0; - $149 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $151 = ($sample_size$xdiv2$2 | 0) > 0; - $j$9295 = 0; - do { - $1146 = $138 + $104 * (+($j$9295 | 0) + .5) / $139; - if ($151) { - $i$10291 = 0; - do { - $1151 = $138 + $104 * (+($i$10291 | 0) + .5) / $140; - $1158 = +HEAPF64[$143 >> 3] + (+HEAPF64[$141 >> 3] * $1151 + $1146 * +HEAPF64[$142 >> 3]); - if ($1158 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $1168 = (+HEAPF64[$145 >> 3] + ($1151 * +HEAPF64[$para >> 3] + $1146 * +HEAPF64[$144 >> 3])) / $1158; - HEAPF32[$xc2 >> 2] = $1168; - $1177 = (+HEAPF64[$148 >> 3] + ($1151 * +HEAPF64[$146 >> 3] + $1146 * +HEAPF64[$147 >> 3])) / $1158; - HEAPF32[$yc2 >> 2] = $1177; - _arParamIdeal2ObservLTf($paramLTf, $1168, $1177, $xc2, $yc2) | 0; - $1178 = +HEAPF32[$xc2 >> 2]; - if ($149) { - $xc$9 = ((~~($1178 + 1.0) | 0) / 2 | 0) << 1; - $yc$9 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$9 = ~~($1178 + .5); - $yc$9 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$9 | 0) > -1) if (($yc$9 | 0) < ($ysize | 0) & (($yc$9 | 0) > -1 & ($xc$9 | 0) < ($xsize | 0))) { - $1199 = (Math_imul($yc$9, $xsize) | 0) + $xc$9 << 1; - $1203 = HEAPU8[$image + ($1199 | 1) >> 0] | 0; - $1211 = ((Math_imul(($j$9295 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$10291 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $1212 = $108 + ($1211 << 2) | 0; - HEAP32[$1212 >> 2] = ($1203 << 3 & 248 | 4) + (HEAP32[$1212 >> 2] | 0); - $1217 = HEAPU8[$image + $1199 >> 0] | 0; - $1225 = $108 + ($1211 + 1 << 2) | 0; - HEAP32[$1225 >> 2] = ($1217 << 5 & 224 | $1203 >>> 3 & 28 | 2) + (HEAP32[$1225 >> 2] | 0); - $1231 = $108 + ($1211 + 2 << 2) | 0; - HEAP32[$1231 >> 2] = ($1217 & 248 | 4) + (HEAP32[$1231 >> 2] | 0); - } - $i$10291 = $i$10291 + 1 | 0; - } while (($i$10291 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$9295 = $j$9295 + 1 | 0; - } while (($j$9295 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 10: - { - $124 = $103 + 100.0; - $125 = +($ydiv2$3 | 0); - $126 = +($sample_size$xdiv2$2 | 0); - $127 = $para + 48 | 0; - $128 = $para + 56 | 0; - $129 = $para + 64 | 0; - $130 = $para + 8 | 0; - $131 = $para + 16 | 0; - $132 = $para + 24 | 0; - $133 = $para + 32 | 0; - $134 = $para + 40 | 0; - $135 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $137 = ($sample_size$xdiv2$2 | 0) > 0; - $j$10301 = 0; - do { - $1242 = $124 + $104 * (+($j$10301 | 0) + .5) / $125; - if ($137) { - $i$11297 = 0; - do { - $1247 = $124 + $104 * (+($i$11297 | 0) + .5) / $126; - $1254 = +HEAPF64[$129 >> 3] + (+HEAPF64[$127 >> 3] * $1247 + $1242 * +HEAPF64[$128 >> 3]); - if ($1254 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $1264 = (+HEAPF64[$131 >> 3] + ($1247 * +HEAPF64[$para >> 3] + $1242 * +HEAPF64[$130 >> 3])) / $1254; - HEAPF32[$xc2 >> 2] = $1264; - $1273 = (+HEAPF64[$134 >> 3] + ($1247 * +HEAPF64[$132 >> 3] + $1242 * +HEAPF64[$133 >> 3])) / $1254; - HEAPF32[$yc2 >> 2] = $1273; - _arParamIdeal2ObservLTf($paramLTf, $1264, $1273, $xc2, $yc2) | 0; - $1274 = +HEAPF32[$xc2 >> 2]; - if ($135) { - $xc$10 = ((~~($1274 + 1.0) | 0) / 2 | 0) << 1; - $yc$10 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$10 = ~~($1274 + .5); - $yc$10 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$10 | 0) > -1) if (($yc$10 | 0) < ($ysize | 0) & (($yc$10 | 0) > -1 & ($xc$10 | 0) < ($xsize | 0))) { - $1295 = (Math_imul($yc$10, $xsize) | 0) + $xc$10 << 1; - $1299 = HEAPU8[$image + ($1295 | 1) >> 0] | 0; - $1307 = ((Math_imul(($j$10301 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$11297 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $1308 = $108 + ($1307 << 2) | 0; - HEAP32[$1308 >> 2] = ($1299 << 2 & 248 | 4) + (HEAP32[$1308 >> 2] | 0); - $1313 = HEAPU8[$image + $1295 >> 0] | 0; - $1321 = $108 + ($1307 + 1 << 2) | 0; - HEAP32[$1321 >> 2] = ($1313 << 5 & 224 | $1299 >>> 3 & 24 | 4) + (HEAP32[$1321 >> 2] | 0); - $1327 = $108 + ($1307 + 2 << 2) | 0; - HEAP32[$1327 >> 2] = ($1313 & 248 | 4) + (HEAP32[$1327 >> 2] | 0); - } - $i$11297 = $i$11297 + 1 | 0; - } while (($i$11297 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$10301 = $j$10301 + 1 | 0; - } while (($j$10301 | 0) < ($ydiv2$3 | 0)); - } - break; - } - case 11: - { - $110 = $103 + 100.0; - $111 = +($ydiv2$3 | 0); - $112 = +($sample_size$xdiv2$2 | 0); - $113 = $para + 48 | 0; - $114 = $para + 56 | 0; - $115 = $para + 64 | 0; - $116 = $para + 8 | 0; - $117 = $para + 16 | 0; - $118 = $para + 24 | 0; - $119 = $para + 32 | 0; - $120 = $para + 40 | 0; - $121 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $123 = ($sample_size$xdiv2$2 | 0) > 0; - $j$11307 = 0; - do { - $1338 = $110 + $104 * (+($j$11307 | 0) + .5) / $111; - if ($123) { - $i$12303 = 0; - do { - $1343 = $110 + $104 * (+($i$12303 | 0) + .5) / $112; - $1350 = +HEAPF64[$115 >> 3] + (+HEAPF64[$113 >> 3] * $1343 + $1338 * +HEAPF64[$114 >> 3]); - if ($1350 == 0.0) { - $ext_patt2$0 = $108; - label = 278; - break L13; - } - $1360 = (+HEAPF64[$117 >> 3] + ($1343 * +HEAPF64[$para >> 3] + $1338 * +HEAPF64[$116 >> 3])) / $1350; - HEAPF32[$xc2 >> 2] = $1360; - $1369 = (+HEAPF64[$120 >> 3] + ($1343 * +HEAPF64[$118 >> 3] + $1338 * +HEAPF64[$119 >> 3])) / $1350; - HEAPF32[$yc2 >> 2] = $1369; - _arParamIdeal2ObservLTf($paramLTf, $1360, $1369, $xc2, $yc2) | 0; - $1370 = +HEAPF32[$xc2 >> 2]; - if ($121) { - $xc$11 = ((~~($1370 + 1.0) | 0) / 2 | 0) << 1; - $yc$11 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$11 = ~~($1370 + .5); - $yc$11 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$11 | 0) > -1) if (($yc$11 | 0) < ($ysize | 0) & (($yc$11 | 0) > -1 & ($xc$11 | 0) < ($xsize | 0))) { - $1391 = (Math_imul($yc$11, $xsize) | 0) + $xc$11 << 1; - $1402 = ((Math_imul(($j$11307 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$12303 | 0) / ($99 | 0) | 0) | 0) * 3 | 0; - $1403 = $108 + ($1402 << 2) | 0; - HEAP32[$1403 >> 2] = (HEAP32[$1403 >> 2] | 0) + ((HEAPU8[$image + ($1391 | 1) >> 0] | 0) & 240 | 8); - $1408 = HEAPU8[$image + $1391 >> 0] | 0; - $1413 = $108 + ($1402 + 1 << 2) | 0; - HEAP32[$1413 >> 2] = ($1408 << 4 & 240 | 8) + (HEAP32[$1413 >> 2] | 0); - $1419 = $108 + ($1402 + 2 << 2) | 0; - HEAP32[$1419 >> 2] = ($1408 & 240 | 8) + (HEAP32[$1419 >> 2] | 0); - } - $i$12303 = $i$12303 + 1 | 0; - } while (($i$12303 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$11307 = $j$11307 + 1 | 0; - } while (($j$11307 | 0) < ($ydiv2$3 | 0)); - } - break; - } - default: - { - _arLog(3, 4615, $vararg_buffer1); - $ext_patt2$0 = $108; - label = 278; - break L13; - } - } while (0); - $278 = Math_imul($100, $99) | 0; - if ($106) { - $i$13236 = 0; - do { - HEAP8[$ext_patt + $i$13236 >> 0] = ((HEAP32[$108 + ($i$13236 << 2) >> 2] | 0) >>> 0) / ($278 >>> 0) | 0; - $i$13236 = $i$13236 + 1 | 0; - } while (($i$13236 | 0) < ($107 | 0)); - } - _free($108); - $$0 = 0; - } else { - $1433 = _calloc($106, 4) | 0; - if (!$1433) { - _arLog(3, 5471, $vararg_buffer3); - _exit(1); - } - L233 : do if ($pixelFormat >>> 0 < 2) { - $1436 = $103 + 100.0; - $1437 = +($ydiv2$3 | 0); - $1438 = +($sample_size$xdiv2$2 | 0); - $1439 = $para + 48 | 0; - $1440 = $para + 56 | 0; - $1441 = $para + 64 | 0; - $1442 = $para + 8 | 0; - $1443 = $para + 16 | 0; - $1444 = $para + 24 | 0; - $1445 = $para + 32 | 0; - $1446 = $para + 40 | 0; - $1447 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) > 0) { - $1449 = ($sample_size$xdiv2$2 | 0) > 0; - $j$12316 = 0; - do { - $1456 = $1436 + $104 * (+($j$12316 | 0) + .5) / $1437; - if ($1449) { - $i$14312 = 0; - do { - $1461 = $1436 + $104 * (+($i$14312 | 0) + .5) / $1438; - $1468 = +HEAPF64[$1441 >> 3] + (+HEAPF64[$1439 >> 3] * $1461 + $1456 * +HEAPF64[$1440 >> 3]); - if ($1468 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1478 = (+HEAPF64[$1443 >> 3] + ($1461 * +HEAPF64[$para >> 3] + $1456 * +HEAPF64[$1442 >> 3])) / $1468; - HEAPF32[$xc2 >> 2] = $1478; - $1487 = (+HEAPF64[$1446 >> 3] + ($1461 * +HEAPF64[$1444 >> 3] + $1456 * +HEAPF64[$1445 >> 3])) / $1468; - HEAPF32[$yc2 >> 2] = $1487; - _arParamIdeal2ObservLTf($paramLTf, $1478, $1487, $xc2, $yc2) | 0; - $1488 = +HEAPF32[$xc2 >> 2]; - if ($1447) { - $xc$12 = ((~~($1488 + 1.0) | 0) / 2 | 0) << 1; - $yc$12 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$12 = ~~($1488 + .5); - $yc$12 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$12 | 0) > -1) if (($yc$12 | 0) < ($ysize | 0) & (($yc$12 | 0) > -1 & ($xc$12 | 0) < ($xsize | 0))) { - $1509 = ((Math_imul($yc$12, $xsize) | 0) + $xc$12 | 0) * 3 | 0; - $1528 = $1433 + ((Math_imul(($j$12316 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$14312 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$1528 >> 2] = (HEAP32[$1528 >> 2] | 0) + ((((HEAPU8[$image + ($1509 + 1) >> 0] | 0) + (HEAPU8[$image + $1509 >> 0] | 0) + (HEAPU8[$image + ($1509 + 2) >> 0] | 0) | 0) >>> 0) / 3 | 0); - } - $i$14312 = $i$14312 + 1 | 0; - } while (($i$14312 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$12316 = $j$12316 + 1 | 0; - } while (($j$12316 | 0) < ($ydiv2$3 | 0)); - } - } else { - if (($pixelFormat & -2 | 0) == 2) { - $1537 = $103 + 100.0; - $1538 = +($ydiv2$3 | 0); - $1539 = +($sample_size$xdiv2$2 | 0); - $1540 = $para + 48 | 0; - $1541 = $para + 56 | 0; - $1542 = $para + 64 | 0; - $1543 = $para + 8 | 0; - $1544 = $para + 16 | 0; - $1545 = $para + 24 | 0; - $1546 = $para + 32 | 0; - $1547 = $para + 40 | 0; - $1548 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break; - $1550 = ($sample_size$xdiv2$2 | 0) > 0; - $j$13322 = 0; - while (1) { - $1555 = $1537 + $104 * (+($j$13322 | 0) + .5) / $1538; - if ($1550) { - $i$15318 = 0; - do { - $1560 = $1537 + $104 * (+($i$15318 | 0) + .5) / $1539; - $1567 = +HEAPF64[$1542 >> 3] + (+HEAPF64[$1540 >> 3] * $1560 + $1555 * +HEAPF64[$1541 >> 3]); - if ($1567 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1577 = (+HEAPF64[$1544 >> 3] + ($1560 * +HEAPF64[$para >> 3] + $1555 * +HEAPF64[$1543 >> 3])) / $1567; - HEAPF32[$xc2 >> 2] = $1577; - $1586 = (+HEAPF64[$1547 >> 3] + ($1560 * +HEAPF64[$1545 >> 3] + $1555 * +HEAPF64[$1546 >> 3])) / $1567; - HEAPF32[$yc2 >> 2] = $1586; - _arParamIdeal2ObservLTf($paramLTf, $1577, $1586, $xc2, $yc2) | 0; - $1587 = +HEAPF32[$xc2 >> 2]; - if ($1548) { - $xc$13 = ((~~($1587 + 1.0) | 0) / 2 | 0) << 1; - $yc$13 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$13 = ~~($1587 + .5); - $yc$13 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$13 | 0) > -1) if (($yc$13 | 0) < ($ysize | 0) & (($yc$13 | 0) > -1 & ($xc$13 | 0) < ($xsize | 0))) { - $1608 = (Math_imul($yc$13, $xsize) | 0) + $xc$13 << 2; - $1627 = $1433 + ((Math_imul(($j$13322 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$15318 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$1627 >> 2] = (HEAP32[$1627 >> 2] | 0) + ((((HEAPU8[$image + ($1608 | 1) >> 0] | 0) + (HEAPU8[$image + $1608 >> 0] | 0) + (HEAPU8[$image + ($1608 | 2) >> 0] | 0) | 0) >>> 0) / 3 | 0); - } - $i$15318 = $i$15318 + 1 | 0; - } while (($i$15318 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$13322 = $j$13322 + 1 | 0; - if (($j$13322 | 0) >= ($ydiv2$3 | 0)) break L233; - } - } - if (($pixelFormat & -3 | 0) == 4) { - $1636 = $103 + 100.0; - $1637 = +($ydiv2$3 | 0); - $1638 = +($sample_size$xdiv2$2 | 0); - $1639 = $para + 48 | 0; - $1640 = $para + 56 | 0; - $1641 = $para + 64 | 0; - $1642 = $para + 8 | 0; - $1643 = $para + 16 | 0; - $1644 = $para + 24 | 0; - $1645 = $para + 32 | 0; - $1646 = $para + 40 | 0; - $1647 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break; - $1649 = ($sample_size$xdiv2$2 | 0) > 0; - $j$14328 = 0; - while (1) { - $1654 = $1636 + $104 * (+($j$14328 | 0) + .5) / $1637; - if ($1649) { - $i$16324 = 0; - do { - $1659 = $1636 + $104 * (+($i$16324 | 0) + .5) / $1638; - $1666 = +HEAPF64[$1641 >> 3] + (+HEAPF64[$1639 >> 3] * $1659 + $1654 * +HEAPF64[$1640 >> 3]); - if ($1666 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1676 = (+HEAPF64[$1643 >> 3] + ($1659 * +HEAPF64[$para >> 3] + $1654 * +HEAPF64[$1642 >> 3])) / $1666; - HEAPF32[$xc2 >> 2] = $1676; - $1685 = (+HEAPF64[$1646 >> 3] + ($1659 * +HEAPF64[$1644 >> 3] + $1654 * +HEAPF64[$1645 >> 3])) / $1666; - HEAPF32[$yc2 >> 2] = $1685; - _arParamIdeal2ObservLTf($paramLTf, $1676, $1685, $xc2, $yc2) | 0; - $1686 = +HEAPF32[$xc2 >> 2]; - if ($1647) { - $xc$14 = ((~~($1686 + 1.0) | 0) / 2 | 0) << 1; - $yc$14 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$14 = ~~($1686 + .5); - $yc$14 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$14 | 0) > -1) if (($yc$14 | 0) < ($ysize | 0) & (($yc$14 | 0) > -1 & ($xc$14 | 0) < ($xsize | 0))) { - $1707 = (Math_imul($yc$14, $xsize) | 0) + $xc$14 << 2; - $1727 = $1433 + ((Math_imul(($j$14328 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$16324 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$1727 >> 2] = (HEAP32[$1727 >> 2] | 0) + ((((HEAPU8[$image + ($1707 | 2) >> 0] | 0) + (HEAPU8[$image + ($1707 | 1) >> 0] | 0) + (HEAPU8[$image + ($1707 | 3) >> 0] | 0) | 0) >>> 0) / 3 | 0); - } - $i$16324 = $i$16324 + 1 | 0; - } while (($i$16324 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$14328 = $j$14328 + 1 | 0; - if (($j$14328 | 0) >= ($ydiv2$3 | 0)) break L233; - } - } - switch ($pixelFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $1804 = $103 + 100.0; - $1805 = +($ydiv2$3 | 0); - $1806 = +($sample_size$xdiv2$2 | 0); - $1807 = $para + 48 | 0; - $1808 = $para + 56 | 0; - $1809 = $para + 64 | 0; - $1810 = $para + 8 | 0; - $1811 = $para + 16 | 0; - $1812 = $para + 24 | 0; - $1813 = $para + 32 | 0; - $1814 = $para + 40 | 0; - $1815 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1817 = ($sample_size$xdiv2$2 | 0) > 0; - $j$15334 = 0; - do { - $1822 = $1804 + $104 * (+($j$15334 | 0) + .5) / $1805; - if ($1817) { - $i$17330 = 0; - do { - $1827 = $1804 + $104 * (+($i$17330 | 0) + .5) / $1806; - $1834 = +HEAPF64[$1809 >> 3] + (+HEAPF64[$1807 >> 3] * $1827 + $1822 * +HEAPF64[$1808 >> 3]); - if ($1834 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1844 = (+HEAPF64[$1811 >> 3] + ($1827 * +HEAPF64[$para >> 3] + $1822 * +HEAPF64[$1810 >> 3])) / $1834; - HEAPF32[$xc2 >> 2] = $1844; - $1853 = (+HEAPF64[$1814 >> 3] + ($1827 * +HEAPF64[$1812 >> 3] + $1822 * +HEAPF64[$1813 >> 3])) / $1834; - HEAPF32[$yc2 >> 2] = $1853; - _arParamIdeal2ObservLTf($paramLTf, $1844, $1853, $xc2, $yc2) | 0; - $1854 = +HEAPF32[$xc2 >> 2]; - if ($1815) { - $xc$15 = ((~~($1854 + 1.0) | 0) / 2 | 0) << 1; - $yc$15 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$15 = ~~($1854 + .5); - $yc$15 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$15 | 0) > -1) if (($yc$15 | 0) < ($ysize | 0) & (($yc$15 | 0) > -1 & ($xc$15 | 0) < ($xsize | 0))) { - $1875 = $image + ((Math_imul($yc$15, $xsize) | 0) + $xc$15) | 0; - $1882 = $1433 + ((Math_imul(($j$15334 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$17330 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$1882 >> 2] = (HEAP32[$1882 >> 2] | 0) + (HEAPU8[$1875 >> 0] | 0); - } - $i$17330 = $i$17330 + 1 | 0; - } while (($i$17330 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$15334 = $j$15334 + 1 | 0; - } while (($j$15334 | 0) < ($ydiv2$3 | 0)); - break; - } - case 7: - { - $1790 = $103 + 100.0; - $1791 = +($ydiv2$3 | 0); - $1792 = +($sample_size$xdiv2$2 | 0); - $1793 = $para + 48 | 0; - $1794 = $para + 56 | 0; - $1795 = $para + 64 | 0; - $1796 = $para + 8 | 0; - $1797 = $para + 16 | 0; - $1798 = $para + 24 | 0; - $1799 = $para + 32 | 0; - $1800 = $para + 40 | 0; - $1801 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1803 = ($sample_size$xdiv2$2 | 0) > 0; - $j$16340 = 0; - do { - $1893 = $1790 + $104 * (+($j$16340 | 0) + .5) / $1791; - if ($1803) { - $i$18336 = 0; - do { - $1898 = $1790 + $104 * (+($i$18336 | 0) + .5) / $1792; - $1905 = +HEAPF64[$1795 >> 3] + (+HEAPF64[$1793 >> 3] * $1898 + $1893 * +HEAPF64[$1794 >> 3]); - if ($1905 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1915 = (+HEAPF64[$1797 >> 3] + ($1898 * +HEAPF64[$para >> 3] + $1893 * +HEAPF64[$1796 >> 3])) / $1905; - HEAPF32[$xc2 >> 2] = $1915; - $1924 = (+HEAPF64[$1800 >> 3] + ($1898 * +HEAPF64[$1798 >> 3] + $1893 * +HEAPF64[$1799 >> 3])) / $1905; - HEAPF32[$yc2 >> 2] = $1924; - _arParamIdeal2ObservLTf($paramLTf, $1915, $1924, $xc2, $yc2) | 0; - $1925 = +HEAPF32[$xc2 >> 2]; - if ($1801) { - $xc$16 = ((~~($1925 + 1.0) | 0) / 2 | 0) << 1; - $yc$16 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$16 = ~~($1925 + .5); - $yc$16 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$16 | 0) > -1) if (($yc$16 | 0) < ($ysize | 0) & (($yc$16 | 0) > -1 & ($xc$16 | 0) < ($xsize | 0))) { - $1948 = $image + ((Math_imul($yc$16, $xsize) | 0) + $xc$16 << 1 | 1) | 0; - $1955 = $1433 + ((Math_imul(($j$16340 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$18336 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$1955 >> 2] = (HEAP32[$1955 >> 2] | 0) + (HEAPU8[$1948 >> 0] | 0); - } - $i$18336 = $i$18336 + 1 | 0; - } while (($i$18336 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$16340 = $j$16340 + 1 | 0; - } while (($j$16340 | 0) < ($ydiv2$3 | 0)); - break; - } - case 8: - { - $1776 = $103 + 100.0; - $1777 = +($ydiv2$3 | 0); - $1778 = +($sample_size$xdiv2$2 | 0); - $1779 = $para + 48 | 0; - $1780 = $para + 56 | 0; - $1781 = $para + 64 | 0; - $1782 = $para + 8 | 0; - $1783 = $para + 16 | 0; - $1784 = $para + 24 | 0; - $1785 = $para + 32 | 0; - $1786 = $para + 40 | 0; - $1787 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1789 = ($sample_size$xdiv2$2 | 0) > 0; - $j$17346 = 0; - do { - $1966 = $1776 + $104 * (+($j$17346 | 0) + .5) / $1777; - if ($1789) { - $i$19342 = 0; - do { - $1971 = $1776 + $104 * (+($i$19342 | 0) + .5) / $1778; - $1978 = +HEAPF64[$1781 >> 3] + (+HEAPF64[$1779 >> 3] * $1971 + $1966 * +HEAPF64[$1780 >> 3]); - if ($1978 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $1988 = (+HEAPF64[$1783 >> 3] + ($1971 * +HEAPF64[$para >> 3] + $1966 * +HEAPF64[$1782 >> 3])) / $1978; - HEAPF32[$xc2 >> 2] = $1988; - $1997 = (+HEAPF64[$1786 >> 3] + ($1971 * +HEAPF64[$1784 >> 3] + $1966 * +HEAPF64[$1785 >> 3])) / $1978; - HEAPF32[$yc2 >> 2] = $1997; - _arParamIdeal2ObservLTf($paramLTf, $1988, $1997, $xc2, $yc2) | 0; - $1998 = +HEAPF32[$xc2 >> 2]; - if ($1787) { - $xc$17 = ((~~($1998 + 1.0) | 0) / 2 | 0) << 1; - $yc$17 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$17 = ~~($1998 + .5); - $yc$17 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$17 | 0) > -1) if (($yc$17 | 0) < ($ysize | 0) & (($yc$17 | 0) > -1 & ($xc$17 | 0) < ($xsize | 0))) { - $2020 = $image + ((Math_imul($yc$17, $xsize) | 0) + $xc$17 << 1) | 0; - $2027 = $1433 + ((Math_imul(($j$17346 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$19342 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$2027 >> 2] = (HEAP32[$2027 >> 2] | 0) + (HEAPU8[$2020 >> 0] | 0); - } - $i$19342 = $i$19342 + 1 | 0; - } while (($i$19342 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$17346 = $j$17346 + 1 | 0; - } while (($j$17346 | 0) < ($ydiv2$3 | 0)); - break; - } - case 9: - { - $1762 = $103 + 100.0; - $1763 = +($ydiv2$3 | 0); - $1764 = +($sample_size$xdiv2$2 | 0); - $1765 = $para + 48 | 0; - $1766 = $para + 56 | 0; - $1767 = $para + 64 | 0; - $1768 = $para + 8 | 0; - $1769 = $para + 16 | 0; - $1770 = $para + 24 | 0; - $1771 = $para + 32 | 0; - $1772 = $para + 40 | 0; - $1773 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1775 = ($sample_size$xdiv2$2 | 0) > 0; - $j$18352 = 0; - do { - $2038 = $1762 + $104 * (+($j$18352 | 0) + .5) / $1763; - if ($1775) { - $i$20348 = 0; - do { - $2043 = $1762 + $104 * (+($i$20348 | 0) + .5) / $1764; - $2050 = +HEAPF64[$1767 >> 3] + (+HEAPF64[$1765 >> 3] * $2043 + $2038 * +HEAPF64[$1766 >> 3]); - if ($2050 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $2060 = (+HEAPF64[$1769 >> 3] + ($2043 * +HEAPF64[$para >> 3] + $2038 * +HEAPF64[$1768 >> 3])) / $2050; - HEAPF32[$xc2 >> 2] = $2060; - $2069 = (+HEAPF64[$1772 >> 3] + ($2043 * +HEAPF64[$1770 >> 3] + $2038 * +HEAPF64[$1771 >> 3])) / $2050; - HEAPF32[$yc2 >> 2] = $2069; - _arParamIdeal2ObservLTf($paramLTf, $2060, $2069, $xc2, $yc2) | 0; - $2070 = +HEAPF32[$xc2 >> 2]; - if ($1773) { - $xc$18 = ((~~($2070 + 1.0) | 0) / 2 | 0) << 1; - $yc$18 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$18 = ~~($2070 + .5); - $yc$18 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$18 | 0) > -1) if (($yc$18 | 0) < ($ysize | 0) & (($yc$18 | 0) > -1 & ($xc$18 | 0) < ($xsize | 0))) { - $2091 = (Math_imul($yc$18, $xsize) | 0) + $xc$18 << 1; - $2094 = HEAPU8[$image + $2091 >> 0] | 0; - $2102 = HEAPU8[$image + ($2091 | 1) >> 0] | 0; - $2117 = $1433 + ((Math_imul(($j$18352 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$20348 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$2117 >> 2] = (HEAP32[$2117 >> 2] | 0) + (((($2102 << 3 & 248 | 4) + ($2094 & 248 | 4) + ($2094 << 5 & 224 | $2102 >>> 3 & 28 | 2) | 0) >>> 0) / 3 | 0); - } - $i$20348 = $i$20348 + 1 | 0; - } while (($i$20348 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$18352 = $j$18352 + 1 | 0; - } while (($j$18352 | 0) < ($ydiv2$3 | 0)); - break; - } - case 10: - { - $1748 = $103 + 100.0; - $1749 = +($ydiv2$3 | 0); - $1750 = +($sample_size$xdiv2$2 | 0); - $1751 = $para + 48 | 0; - $1752 = $para + 56 | 0; - $1753 = $para + 64 | 0; - $1754 = $para + 8 | 0; - $1755 = $para + 16 | 0; - $1756 = $para + 24 | 0; - $1757 = $para + 32 | 0; - $1758 = $para + 40 | 0; - $1759 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1761 = ($sample_size$xdiv2$2 | 0) > 0; - $j$19358 = 0; - do { - $2128 = $1748 + $104 * (+($j$19358 | 0) + .5) / $1749; - if ($1761) { - $i$21354 = 0; - do { - $2133 = $1748 + $104 * (+($i$21354 | 0) + .5) / $1750; - $2140 = +HEAPF64[$1753 >> 3] + (+HEAPF64[$1751 >> 3] * $2133 + $2128 * +HEAPF64[$1752 >> 3]); - if ($2140 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $2150 = (+HEAPF64[$1755 >> 3] + ($2133 * +HEAPF64[$para >> 3] + $2128 * +HEAPF64[$1754 >> 3])) / $2140; - HEAPF32[$xc2 >> 2] = $2150; - $2159 = (+HEAPF64[$1758 >> 3] + ($2133 * +HEAPF64[$1756 >> 3] + $2128 * +HEAPF64[$1757 >> 3])) / $2140; - HEAPF32[$yc2 >> 2] = $2159; - _arParamIdeal2ObservLTf($paramLTf, $2150, $2159, $xc2, $yc2) | 0; - $2160 = +HEAPF32[$xc2 >> 2]; - if ($1759) { - $xc$19 = ((~~($2160 + 1.0) | 0) / 2 | 0) << 1; - $yc$19 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$19 = ~~($2160 + .5); - $yc$19 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$19 | 0) > -1) if (($yc$19 | 0) < ($ysize | 0) & (($yc$19 | 0) > -1 & ($xc$19 | 0) < ($xsize | 0))) { - $2181 = (Math_imul($yc$19, $xsize) | 0) + $xc$19 << 1; - $2184 = HEAPU8[$image + $2181 >> 0] | 0; - $2192 = HEAPU8[$image + ($2181 | 1) >> 0] | 0; - $2207 = $1433 + ((Math_imul(($j$19358 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$21354 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$2207 >> 2] = (HEAP32[$2207 >> 2] | 0) + (((($2192 << 2 & 248 | 4) + ($2184 & 248 | 4) + ($2184 << 5 & 224 | $2192 >>> 3 & 24 | 4) | 0) >>> 0) / 3 | 0); - } - $i$21354 = $i$21354 + 1 | 0; - } while (($i$21354 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$19358 = $j$19358 + 1 | 0; - } while (($j$19358 | 0) < ($ydiv2$3 | 0)); - break; - } - case 11: - { - $1734 = $103 + 100.0; - $1735 = +($ydiv2$3 | 0); - $1736 = +($sample_size$xdiv2$2 | 0); - $1737 = $para + 48 | 0; - $1738 = $para + 56 | 0; - $1739 = $para + 64 | 0; - $1740 = $para + 8 | 0; - $1741 = $para + 16 | 0; - $1742 = $para + 24 | 0; - $1743 = $para + 32 | 0; - $1744 = $para + 40 | 0; - $1745 = ($imageProcMode | 0) == 1; - if (($ydiv2$3 | 0) <= 0) break L233; - $1747 = ($sample_size$xdiv2$2 | 0) > 0; - $j$20364 = 0; - do { - $2218 = $1734 + $104 * (+($j$20364 | 0) + .5) / $1735; - if ($1747) { - $i$22360 = 0; - do { - $2223 = $1734 + $104 * (+($i$22360 | 0) + .5) / $1736; - $2230 = +HEAPF64[$1739 >> 3] + (+HEAPF64[$1737 >> 3] * $2223 + $2218 * +HEAPF64[$1738 >> 3]); - if ($2230 == 0.0) { - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - $2240 = (+HEAPF64[$1741 >> 3] + ($2223 * +HEAPF64[$para >> 3] + $2218 * +HEAPF64[$1740 >> 3])) / $2230; - HEAPF32[$xc2 >> 2] = $2240; - $2249 = (+HEAPF64[$1744 >> 3] + ($2223 * +HEAPF64[$1742 >> 3] + $2218 * +HEAPF64[$1743 >> 3])) / $2230; - HEAPF32[$yc2 >> 2] = $2249; - _arParamIdeal2ObservLTf($paramLTf, $2240, $2249, $xc2, $yc2) | 0; - $2250 = +HEAPF32[$xc2 >> 2]; - if ($1745) { - $xc$20 = ((~~($2250 + 1.0) | 0) / 2 | 0) << 1; - $yc$20 = ((~~(+HEAPF32[$yc2 >> 2] + 1.0) | 0) / 2 | 0) << 1; - } else { - $xc$20 = ~~($2250 + .5); - $yc$20 = ~~(+HEAPF32[$yc2 >> 2] + .5); - } - if (($xc$20 | 0) > -1) if (($yc$20 | 0) < ($ysize | 0) & (($yc$20 | 0) > -1 & ($xc$20 | 0) < ($xsize | 0))) { - $2271 = (Math_imul($yc$20, $xsize) | 0) + $xc$20 << 1; - $2274 = HEAPU8[$image + $2271 >> 0] | 0; - $2293 = $1433 + ((Math_imul(($j$20364 | 0) / ($100 | 0) | 0, $patt_size) | 0) + (($i$22360 | 0) / ($99 | 0) | 0) << 2) | 0; - HEAP32[$2293 >> 2] = (HEAP32[$2293 >> 2] | 0) + (((($2274 << 4 & 240 | 8) + ($2274 & 240 | 8) + ((HEAPU8[$image + ($2271 | 1) >> 0] | 0) & 240 | 8) | 0) >>> 0) / 3 | 0); - } - $i$22360 = $i$22360 + 1 | 0; - } while (($i$22360 | 0) < ($sample_size$xdiv2$2 | 0)); - } - $j$20364 = $j$20364 + 1 | 0; - } while (($j$20364 | 0) < ($ydiv2$3 | 0)); - break; - } - default: - { - _arLog(3, 4615, $vararg_buffer5); - $ext_patt2$0 = $1433; - label = 278; - break L13; - } - } - } while (0); - $1450 = Math_imul($100, $99) | 0; - if ($106) { - $i$23309 = 0; - do { - HEAP8[$ext_patt + $i$23309 >> 0] = ((HEAP32[$1433 + ($i$23309 << 2) >> 2] | 0) >>> 0) / ($1450 >>> 0) | 0; - $i$23309 = $i$23309 + 1 | 0; - } while (($i$23309 | 0) < ($106 | 0)); - } - _free($1433); - $$0 = 0; - } while (0); - if ((label | 0) == 278) { - _free($ext_patt2$0); - $$0 = -1; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_118parse_builtin_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i103 = 0, $$0$i$i$i108 = 0, $$0$i$i$i113 = 0, $$0$i$i$i118 = 0, $$0$i$i$i123 = 0, $$0$i$i$i128 = 0, $$0$i$i$i133 = 0, $$0$i$i$i138 = 0, $$0$i$i$i14 = 0, $$0$i$i$i143 = 0, $$0$i$i$i19 = 0, $$0$i$i$i24 = 0, $$0$i$i$i29 = 0, $$0$i$i$i34 = 0, $$0$i$i$i39 = 0, $$0$i$i$i4 = 0, $$0$i$i$i44 = 0, $$0$i$i$i49 = 0, $$0$i$i$i54 = 0, $$0$i$i$i59 = 0, $$0$i$i$i66 = 0, $$0$i$i$i71 = 0, $$0$i$i$i76 = 0, $$0$i$i$i81 = 0, $$0$i$i$i88 = 0, $$0$i$i$i9 = 0, $$0$i$i$i93 = 0, $$0$i$i$i98 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $106 = 0, $108 = 0, $11 = 0, $111 = 0, $112 = 0, $115 = 0, $116 = 0, $118 = 0, $12 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $132 = 0, $134 = 0, $137 = 0, $138 = 0, $14 = 0, $141 = 0, $142 = 0, $144 = 0, $15 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $158 = 0, $16 = 0, $160 = 0, $163 = 0, $164 = 0, $167 = 0, $168 = 0, $17 = 0, $170 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $184 = 0, $186 = 0, $189 = 0, $19 = 0, $190 = 0, $193 = 0, $194 = 0, $196 = 0, $2 = 0, $20 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $21 = 0, $210 = 0, $212 = 0, $215 = 0, $216 = 0, $219 = 0, $22 = 0, $220 = 0, $222 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $236 = 0, $238 = 0, $24 = 0, $241 = 0, $242 = 0, $245 = 0, $246 = 0, $248 = 0, $25 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $26 = 0, $262 = 0, $264 = 0, $267 = 0, $268 = 0, $27 = 0, $271 = 0, $272 = 0, $274 = 0, $28 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $288 = 0, $290 = 0, $293 = 0, $294 = 0, $297 = 0, $298 = 0, $3 = 0, $300 = 0, $307 = 0, $308 = 0, $309 = 0, $310 = 0, $314 = 0, $316 = 0, $319 = 0, $32 = 0, $320 = 0, $323 = 0, $324 = 0, $326 = 0, $33 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $340 = 0, $342 = 0, $345 = 0, $346 = 0, $349 = 0, $35 = 0, $350 = 0, $352 = 0, $359 = 0, $360 = 0, $361 = 0, $362 = 0, $366 = 0, $368 = 0, $371 = 0, $372 = 0, $375 = 0, $379 = 0, $382 = 0, $383 = 0, $385 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $399 = 0, $4 = 0, $401 = 0, $404 = 0, $405 = 0, $408 = 0, $409 = 0, $411 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $425 = 0, $427 = 0, $43 = 0, $430 = 0, $431 = 0, $434 = 0, $435 = 0, $437 = 0, $44 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $45 = 0, $451 = 0, $453 = 0, $456 = 0, $457 = 0, $460 = 0, $461 = 0, $463 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $477 = 0, $479 = 0, $482 = 0, $483 = 0, $486 = 0, $488 = 0, $49 = 0, $491 = 0, $492 = 0, $494 = 0, $5 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $508 = 0, $51 = 0, $510 = 0, $513 = 0, $514 = 0, $517 = 0, $518 = 0, $520 = 0, $527 = 0, $528 = 0, $529 = 0, $530 = 0, $534 = 0, $536 = 0, $539 = 0, $54 = 0, $540 = 0, $543 = 0, $544 = 0, $546 = 0, $55 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $560 = 0, $562 = 0, $565 = 0, $566 = 0, $569 = 0, $570 = 0, $572 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $586 = 0, $588 = 0, $591 = 0, $592 = 0, $595 = 0, $596 = 0, $598 = 0, $6 = 0, $60 = 0, $602 = 0, $603 = 0, $605 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $619 = 0, $621 = 0, $624 = 0, $625 = 0, $628 = 0, $629 = 0, $63 = 0, $631 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $645 = 0, $647 = 0, $650 = 0, $651 = 0, $654 = 0, $655 = 0, $657 = 0, $66 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $671 = 0, $673 = 0, $676 = 0, $677 = 0, $680 = 0, $681 = 0, $683 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $697 = 0, $699 = 0, $7 = 0, $702 = 0, $703 = 0, $706 = 0, $707 = 0, $709 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $723 = 0, $725 = 0, $728 = 0, $729 = 0, $73 = 0, $732 = 0, $733 = 0, $735 = 0, $74 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $749 = 0, $75 = 0, $751 = 0, $754 = 0, $755 = 0, $758 = 0, $759 = 0, $76 = 0, $761 = 0, $768 = 0, $769 = 0, $770 = 0, $771 = 0, $775 = 0, $777 = 0, $780 = 0, $781 = 0, $784 = 0, $785 = 0, $787 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $8 = 0, $80 = 0, $801 = 0, $803 = 0, $806 = 0, $807 = 0, $82 = 0, $85 = 0, $86 = 0, $89 = 0, $9 = 0, $90 = 0, $92 = 0, $99 = 0, $__v$i$i142 = 0, dest = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 720 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i142 = sp + 696 | 0; - $0 = sp + 672 | 0; - $1 = sp + 648 | 0; - $2 = sp + 624 | 0; - $3 = sp + 600 | 0; - $4 = sp + 576 | 0; - $5 = sp + 552 | 0; - $6 = sp + 528 | 0; - $7 = sp + 504 | 0; - $8 = sp + 480 | 0; - $9 = sp + 456 | 0; - $10 = sp + 432 | 0; - $11 = sp + 408 | 0; - $12 = sp + 384 | 0; - $13 = sp + 360 | 0; - $14 = sp + 336 | 0; - $15 = sp + 312 | 0; - $16 = sp + 288 | 0; - $17 = sp + 264 | 0; - $18 = sp + 240 | 0; - $19 = sp + 216 | 0; - $20 = sp + 192 | 0; - $21 = sp + 168 | 0; - $22 = sp + 144 | 0; - $23 = sp + 120 | 0; - $24 = sp + 96 | 0; - $25 = sp + 72 | 0; - $26 = sp + 48 | 0; - $27 = sp + 24 | 0; - $28 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else do switch (HEAP8[$first >> 0] | 0) { - case 118: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($0, 14202); - $32 = $db + 4 | 0; - $33 = HEAP32[$32 >> 2] | 0; - $35 = HEAP32[$db + 8 >> 2] | 0; - if ($33 >>> 0 < $35 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($33, $0); - HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 24; - } else { - $42 = HEAP32[$db >> 2] | 0; - $43 = $33 - $42 | 0; - $44 = ($43 | 0) / 24 | 0; - $45 = $44 + 1 | 0; - if (($43 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $49 = ($35 - $42 | 0) / 24 | 0; - if ($49 >>> 0 < 1073741823) { - $51 = $49 << 1; - $$0$i$i$i = $51 >>> 0 < $45 >>> 0 ? $45 : $51; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i, $44, $db + 12 | 0); - $54 = $__v$i$i142 + 8 | 0; - $55 = HEAP32[$54 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($55, $0); - HEAP32[$54 >> 2] = $55 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 119: - { - HEAP8[$1 >> 0] = 14; - $58 = $1 + 1 | 0; - HEAP8[$58 >> 0] = HEAP8[13764] | 0; - HEAP8[$58 + 1 >> 0] = HEAP8[13765] | 0; - HEAP8[$58 + 2 >> 0] = HEAP8[13766] | 0; - HEAP8[$58 + 3 >> 0] = HEAP8[13767] | 0; - HEAP8[$58 + 4 >> 0] = HEAP8[13768] | 0; - HEAP8[$58 + 5 >> 0] = HEAP8[13769] | 0; - HEAP8[$58 + 6 >> 0] = HEAP8[13770] | 0; - HEAP8[$1 + 8 >> 0] = 0; - $60 = $1 + 12 | 0; - HEAP32[$60 >> 2] = 0; - HEAP32[$60 + 4 >> 2] = 0; - HEAP32[$60 + 8 >> 2] = 0; - $63 = $db + 4 | 0; - $64 = HEAP32[$63 >> 2] | 0; - $66 = HEAP32[$db + 8 >> 2] | 0; - if ($64 >>> 0 < $66 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($64, $1); - HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + 24; - } else { - $73 = HEAP32[$db >> 2] | 0; - $74 = $64 - $73 | 0; - $75 = ($74 | 0) / 24 | 0; - $76 = $75 + 1 | 0; - if (($74 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $80 = ($66 - $73 | 0) / 24 | 0; - if ($80 >>> 0 < 1073741823) { - $82 = $80 << 1; - $$0$i$i$i4 = $82 >>> 0 < $76 >>> 0 ? $76 : $82; - } else $$0$i$i$i4 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i4, $75, $db + 12 | 0); - $85 = $__v$i$i142 + 8 | 0; - $86 = HEAP32[$85 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($86, $1); - HEAP32[$85 >> 2] = $86 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 98: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($2, 14207); - $89 = $db + 4 | 0; - $90 = HEAP32[$89 >> 2] | 0; - $92 = HEAP32[$db + 8 >> 2] | 0; - if ($90 >>> 0 < $92 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($90, $2); - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + 24; - } else { - $99 = HEAP32[$db >> 2] | 0; - $100 = $90 - $99 | 0; - $101 = ($100 | 0) / 24 | 0; - $102 = $101 + 1 | 0; - if (($100 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $106 = ($92 - $99 | 0) / 24 | 0; - if ($106 >>> 0 < 1073741823) { - $108 = $106 << 1; - $$0$i$i$i9 = $108 >>> 0 < $102 >>> 0 ? $102 : $108; - } else $$0$i$i$i9 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i9, $101, $db + 12 | 0); - $111 = $__v$i$i142 + 8 | 0; - $112 = HEAP32[$111 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($112, $2); - HEAP32[$111 >> 2] = $112 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 99: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($3, 13783); - $115 = $db + 4 | 0; - $116 = HEAP32[$115 >> 2] | 0; - $118 = HEAP32[$db + 8 >> 2] | 0; - if ($116 >>> 0 < $118 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($116, $3); - HEAP32[$115 >> 2] = (HEAP32[$115 >> 2] | 0) + 24; - } else { - $125 = HEAP32[$db >> 2] | 0; - $126 = $116 - $125 | 0; - $127 = ($126 | 0) / 24 | 0; - $128 = $127 + 1 | 0; - if (($126 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $132 = ($118 - $125 | 0) / 24 | 0; - if ($132 >>> 0 < 1073741823) { - $134 = $132 << 1; - $$0$i$i$i14 = $134 >>> 0 < $128 >>> 0 ? $128 : $134; - } else $$0$i$i$i14 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i14, $127, $db + 12 | 0); - $137 = $__v$i$i142 + 8 | 0; - $138 = HEAP32[$137 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($138, $3); - HEAP32[$137 >> 2] = $138 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($3); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($4, 13788); - $141 = $db + 4 | 0; - $142 = HEAP32[$141 >> 2] | 0; - $144 = HEAP32[$db + 8 >> 2] | 0; - if ($142 >>> 0 < $144 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($142, $4); - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 24; - } else { - $151 = HEAP32[$db >> 2] | 0; - $152 = $142 - $151 | 0; - $153 = ($152 | 0) / 24 | 0; - $154 = $153 + 1 | 0; - if (($152 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $158 = ($144 - $151 | 0) / 24 | 0; - if ($158 >>> 0 < 1073741823) { - $160 = $158 << 1; - $$0$i$i$i19 = $160 >>> 0 < $154 >>> 0 ? $154 : $160; - } else $$0$i$i$i19 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i19, $153, $db + 12 | 0); - $163 = $__v$i$i142 + 8 | 0; - $164 = HEAP32[$163 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($164, $4); - HEAP32[$163 >> 2] = $164 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($4); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 104: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj14EEERAT__Kc($5, 13800); - $167 = $db + 4 | 0; - $168 = HEAP32[$167 >> 2] | 0; - $170 = HEAP32[$db + 8 >> 2] | 0; - if ($168 >>> 0 < $170 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($168, $5); - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 24; - } else { - $177 = HEAP32[$db >> 2] | 0; - $178 = $168 - $177 | 0; - $179 = ($178 | 0) / 24 | 0; - $180 = $179 + 1 | 0; - if (($178 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $184 = ($170 - $177 | 0) / 24 | 0; - if ($184 >>> 0 < 1073741823) { - $186 = $184 << 1; - $$0$i$i$i24 = $186 >>> 0 < $180 >>> 0 ? $180 : $186; - } else $$0$i$i$i24 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i24, $179, $db + 12 | 0); - $189 = $__v$i$i142 + 8 | 0; - $190 = HEAP32[$189 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($190, $5); - HEAP32[$189 >> 2] = $190 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj6EEERAT__Kc($6, 13814); - $193 = $db + 4 | 0; - $194 = HEAP32[$193 >> 2] | 0; - $196 = HEAP32[$db + 8 >> 2] | 0; - if ($194 >>> 0 < $196 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($194, $6); - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 24; - } else { - $203 = HEAP32[$db >> 2] | 0; - $204 = $194 - $203 | 0; - $205 = ($204 | 0) / 24 | 0; - $206 = $205 + 1 | 0; - if (($204 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $210 = ($196 - $203 | 0) / 24 | 0; - if ($210 >>> 0 < 1073741823) { - $212 = $210 << 1; - $$0$i$i$i29 = $212 >>> 0 < $206 >>> 0 ? $206 : $212; - } else $$0$i$i$i29 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i29, $205, $db + 12 | 0); - $215 = $__v$i$i142 + 8 | 0; - $216 = HEAP32[$215 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($216, $6); - HEAP32[$215 >> 2] = $216 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($6); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 116: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj15EEERAT__Kc($7, 13820); - $219 = $db + 4 | 0; - $220 = HEAP32[$219 >> 2] | 0; - $222 = HEAP32[$db + 8 >> 2] | 0; - if ($220 >>> 0 < $222 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($220, $7); - HEAP32[$219 >> 2] = (HEAP32[$219 >> 2] | 0) + 24; - } else { - $229 = HEAP32[$db >> 2] | 0; - $230 = $220 - $229 | 0; - $231 = ($230 | 0) / 24 | 0; - $232 = $231 + 1 | 0; - if (($230 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $236 = ($222 - $229 | 0) / 24 | 0; - if ($236 >>> 0 < 1073741823) { - $238 = $236 << 1; - $$0$i$i$i34 = $238 >>> 0 < $232 >>> 0 ? $232 : $238; - } else $$0$i$i$i34 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i34, $231, $db + 12 | 0); - $241 = $__v$i$i142 + 8 | 0; - $242 = HEAP32[$241 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($242, $7); - HEAP32[$241 >> 2] = $242 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($7); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 105: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj4EEERAT__Kc($8, 14212); - $245 = $db + 4 | 0; - $246 = HEAP32[$245 >> 2] | 0; - $248 = HEAP32[$db + 8 >> 2] | 0; - if ($246 >>> 0 < $248 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($246, $8); - HEAP32[$245 >> 2] = (HEAP32[$245 >> 2] | 0) + 24; - } else { - $255 = HEAP32[$db >> 2] | 0; - $256 = $246 - $255 | 0; - $257 = ($256 | 0) / 24 | 0; - $258 = $257 + 1 | 0; - if (($256 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $262 = ($248 - $255 | 0) / 24 | 0; - if ($262 >>> 0 < 1073741823) { - $264 = $262 << 1; - $$0$i$i$i39 = $264 >>> 0 < $258 >>> 0 ? $258 : $264; - } else $$0$i$i$i39 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i39, $257, $db + 12 | 0); - $267 = $__v$i$i142 + 8 | 0; - $268 = HEAP32[$267 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($268, $8); - HEAP32[$267 >> 2] = $268 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($8); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 106: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj13EEERAT__Kc($9, 14216); - $271 = $db + 4 | 0; - $272 = HEAP32[$271 >> 2] | 0; - $274 = HEAP32[$db + 8 >> 2] | 0; - if ($272 >>> 0 < $274 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($272, $9); - HEAP32[$271 >> 2] = (HEAP32[$271 >> 2] | 0) + 24; - } else { - $281 = HEAP32[$db >> 2] | 0; - $282 = $272 - $281 | 0; - $283 = ($282 | 0) / 24 | 0; - $284 = $283 + 1 | 0; - if (($282 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $288 = ($274 - $281 | 0) / 24 | 0; - if ($288 >>> 0 < 1073741823) { - $290 = $288 << 1; - $$0$i$i$i44 = $290 >>> 0 < $284 >>> 0 ? $284 : $290; - } else $$0$i$i$i44 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i44, $283, $db + 12 | 0); - $293 = $__v$i$i142 + 8 | 0; - $294 = HEAP32[$293 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($294, $9); - HEAP32[$293 >> 2] = $294 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($9); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 108: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($10, 14229); - $297 = $db + 4 | 0; - $298 = HEAP32[$297 >> 2] | 0; - $300 = HEAP32[$db + 8 >> 2] | 0; - if ($298 >>> 0 < $300 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($298, $10); - HEAP32[$297 >> 2] = (HEAP32[$297 >> 2] | 0) + 24; - } else { - $307 = HEAP32[$db >> 2] | 0; - $308 = $298 - $307 | 0; - $309 = ($308 | 0) / 24 | 0; - $310 = $309 + 1 | 0; - if (($308 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $314 = ($300 - $307 | 0) / 24 | 0; - if ($314 >>> 0 < 1073741823) { - $316 = $314 << 1; - $$0$i$i$i49 = $316 >>> 0 < $310 >>> 0 ? $310 : $316; - } else $$0$i$i$i49 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i49, $309, $db + 12 | 0); - $319 = $__v$i$i142 + 8 | 0; - $320 = HEAP32[$319 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($320, $10); - HEAP32[$319 >> 2] = $320 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($10); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 109: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj14EEERAT__Kc($11, 14234); - $323 = $db + 4 | 0; - $324 = HEAP32[$323 >> 2] | 0; - $326 = HEAP32[$db + 8 >> 2] | 0; - if ($324 >>> 0 < $326 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($324, $11); - HEAP32[$323 >> 2] = (HEAP32[$323 >> 2] | 0) + 24; - } else { - $333 = HEAP32[$db >> 2] | 0; - $334 = $324 - $333 | 0; - $335 = ($334 | 0) / 24 | 0; - $336 = $335 + 1 | 0; - if (($334 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $340 = ($326 - $333 | 0) / 24 | 0; - if ($340 >>> 0 < 1073741823) { - $342 = $340 << 1; - $$0$i$i$i54 = $342 >>> 0 < $336 >>> 0 ? $336 : $342; - } else $$0$i$i$i54 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i54, $335, $db + 12 | 0); - $345 = $__v$i$i142 + 8 | 0; - $346 = HEAP32[$345 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($346, $11); - HEAP32[$345 >> 2] = $346 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($11); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 120: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($12, 14248); - $349 = $db + 4 | 0; - $350 = HEAP32[$349 >> 2] | 0; - $352 = HEAP32[$db + 8 >> 2] | 0; - if ($350 >>> 0 < $352 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($350, $12); - HEAP32[$349 >> 2] = (HEAP32[$349 >> 2] | 0) + 24; - } else { - $359 = HEAP32[$db >> 2] | 0; - $360 = $350 - $359 | 0; - $361 = ($360 | 0) / 24 | 0; - $362 = $361 + 1 | 0; - if (($360 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $366 = ($352 - $359 | 0) / 24 | 0; - if ($366 >>> 0 < 1073741823) { - $368 = $366 << 1; - $$0$i$i$i59 = $368 >>> 0 < $362 >>> 0 ? $362 : $368; - } else $$0$i$i$i59 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i59, $361, $db + 12 | 0); - $371 = $__v$i$i142 + 8 | 0; - $372 = HEAP32[$371 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($372, $12); - HEAP32[$371 >> 2] = $372 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($12); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 121: - { - $375 = _malloc(32) | 0; - HEAP32[$13 + 8 >> 2] = $375; - HEAP32[$13 >> 2] = 33; - HEAP32[$13 + 4 >> 2] = 18; - dest = $375; - src = 14258; - stop = dest + 18 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$375 + 18 >> 0] = 0; - $379 = $13 + 12 | 0; - HEAP32[$379 >> 2] = 0; - HEAP32[$379 + 4 >> 2] = 0; - HEAP32[$379 + 8 >> 2] = 0; - $382 = $db + 4 | 0; - $383 = HEAP32[$382 >> 2] | 0; - $385 = HEAP32[$db + 8 >> 2] | 0; - if ($383 >>> 0 < $385 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($383, $13); - HEAP32[$382 >> 2] = (HEAP32[$382 >> 2] | 0) + 24; - } else { - $392 = HEAP32[$db >> 2] | 0; - $393 = $383 - $392 | 0; - $394 = ($393 | 0) / 24 | 0; - $395 = $394 + 1 | 0; - if (($393 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $399 = ($385 - $392 | 0) / 24 | 0; - if ($399 >>> 0 < 1073741823) { - $401 = $399 << 1; - $$0$i$i$i66 = $401 >>> 0 < $395 >>> 0 ? $395 : $401; - } else $$0$i$i$i66 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i66, $394, $db + 12 | 0); - $404 = $__v$i$i142 + 8 | 0; - $405 = HEAP32[$404 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($405, $13); - HEAP32[$404 >> 2] = $405 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($13); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 110: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj9EEERAT__Kc($14, 13850); - $408 = $db + 4 | 0; - $409 = HEAP32[$408 >> 2] | 0; - $411 = HEAP32[$db + 8 >> 2] | 0; - if ($409 >>> 0 < $411 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($409, $14); - HEAP32[$408 >> 2] = (HEAP32[$408 >> 2] | 0) + 24; - } else { - $418 = HEAP32[$db >> 2] | 0; - $419 = $409 - $418 | 0; - $420 = ($419 | 0) / 24 | 0; - $421 = $420 + 1 | 0; - if (($419 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $425 = ($411 - $418 | 0) / 24 | 0; - if ($425 >>> 0 < 1073741823) { - $427 = $425 << 1; - $$0$i$i$i71 = $427 >>> 0 < $421 >>> 0 ? $421 : $427; - } else $$0$i$i$i71 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i71, $420, $db + 12 | 0); - $430 = $__v$i$i142 + 8 | 0; - $431 = HEAP32[$430 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($431, $14); - HEAP32[$430 >> 2] = $431 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($14); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 111: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj18EEERAT__Kc($15, 13859); - $434 = $db + 4 | 0; - $435 = HEAP32[$434 >> 2] | 0; - $437 = HEAP32[$db + 8 >> 2] | 0; - if ($435 >>> 0 < $437 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($435, $15); - HEAP32[$434 >> 2] = (HEAP32[$434 >> 2] | 0) + 24; - } else { - $444 = HEAP32[$db >> 2] | 0; - $445 = $435 - $444 | 0; - $446 = ($445 | 0) / 24 | 0; - $447 = $446 + 1 | 0; - if (($445 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $451 = ($437 - $444 | 0) / 24 | 0; - if ($451 >>> 0 < 1073741823) { - $453 = $451 << 1; - $$0$i$i$i76 = $453 >>> 0 < $447 >>> 0 ? $447 : $453; - } else $$0$i$i$i76 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i76, $446, $db + 12 | 0); - $456 = $__v$i$i142 + 8 | 0; - $457 = HEAP32[$456 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($457, $15); - HEAP32[$456 >> 2] = $457 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($15); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 102: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj6EEERAT__Kc($16, 14277); - $460 = $db + 4 | 0; - $461 = HEAP32[$460 >> 2] | 0; - $463 = HEAP32[$db + 8 >> 2] | 0; - if ($461 >>> 0 < $463 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($461, $16); - HEAP32[$460 >> 2] = (HEAP32[$460 >> 2] | 0) + 24; - } else { - $470 = HEAP32[$db >> 2] | 0; - $471 = $461 - $470 | 0; - $472 = ($471 | 0) / 24 | 0; - $473 = $472 + 1 | 0; - if (($471 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $477 = ($463 - $470 | 0) / 24 | 0; - if ($477 >>> 0 < 1073741823) { - $479 = $477 << 1; - $$0$i$i$i81 = $479 >>> 0 < $473 >>> 0 ? $473 : $479; - } else $$0$i$i$i81 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i81, $472, $db + 12 | 0); - $482 = $__v$i$i142 + 8 | 0; - $483 = HEAP32[$482 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($483, $16); - HEAP32[$482 >> 2] = $483 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($16); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 100: - { - HEAP8[$17 >> 0] = 12; - $486 = $17 + 1 | 0; - HEAP8[$486 >> 0] = HEAP8[14283] | 0; - HEAP8[$486 + 1 >> 0] = HEAP8[14284] | 0; - HEAP8[$486 + 2 >> 0] = HEAP8[14285] | 0; - HEAP8[$486 + 3 >> 0] = HEAP8[14286] | 0; - HEAP8[$486 + 4 >> 0] = HEAP8[14287] | 0; - HEAP8[$486 + 5 >> 0] = HEAP8[14288] | 0; - HEAP8[$17 + 7 >> 0] = 0; - $488 = $17 + 12 | 0; - HEAP32[$488 >> 2] = 0; - HEAP32[$488 + 4 >> 2] = 0; - HEAP32[$488 + 8 >> 2] = 0; - $491 = $db + 4 | 0; - $492 = HEAP32[$491 >> 2] | 0; - $494 = HEAP32[$db + 8 >> 2] | 0; - if ($492 >>> 0 < $494 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($492, $17); - HEAP32[$491 >> 2] = (HEAP32[$491 >> 2] | 0) + 24; - } else { - $501 = HEAP32[$db >> 2] | 0; - $502 = $492 - $501 | 0; - $503 = ($502 | 0) / 24 | 0; - $504 = $503 + 1 | 0; - if (($502 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $508 = ($494 - $501 | 0) / 24 | 0; - if ($508 >>> 0 < 1073741823) { - $510 = $508 << 1; - $$0$i$i$i88 = $510 >>> 0 < $504 >>> 0 ? $504 : $510; - } else $$0$i$i$i88 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i88, $503, $db + 12 | 0); - $513 = $__v$i$i142 + 8 | 0; - $514 = HEAP32[$513 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($514, $17); - HEAP32[$513 >> 2] = $514 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($17); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($18, 14290); - $517 = $db + 4 | 0; - $518 = HEAP32[$517 >> 2] | 0; - $520 = HEAP32[$db + 8 >> 2] | 0; - if ($518 >>> 0 < $520 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($518, $18); - HEAP32[$517 >> 2] = (HEAP32[$517 >> 2] | 0) + 24; - } else { - $527 = HEAP32[$db >> 2] | 0; - $528 = $518 - $527 | 0; - $529 = ($528 | 0) / 24 | 0; - $530 = $529 + 1 | 0; - if (($528 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $534 = ($520 - $527 | 0) / 24 | 0; - if ($534 >>> 0 < 1073741823) { - $536 = $534 << 1; - $$0$i$i$i93 = $536 >>> 0 < $530 >>> 0 ? $530 : $536; - } else $$0$i$i$i93 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i93, $529, $db + 12 | 0); - $539 = $__v$i$i142 + 8 | 0; - $540 = HEAP32[$539 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($540, $18); - HEAP32[$539 >> 2] = $540 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($18); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 103: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($19, 14302); - $543 = $db + 4 | 0; - $544 = HEAP32[$543 >> 2] | 0; - $546 = HEAP32[$db + 8 >> 2] | 0; - if ($544 >>> 0 < $546 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($544, $19); - HEAP32[$543 >> 2] = (HEAP32[$543 >> 2] | 0) + 24; - } else { - $553 = HEAP32[$db >> 2] | 0; - $554 = $544 - $553 | 0; - $555 = ($554 | 0) / 24 | 0; - $556 = $555 + 1 | 0; - if (($554 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $560 = ($546 - $553 | 0) / 24 | 0; - if ($560 >>> 0 < 1073741823) { - $562 = $560 << 1; - $$0$i$i$i98 = $562 >>> 0 < $556 >>> 0 ? $556 : $562; - } else $$0$i$i$i98 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i98, $555, $db + 12 | 0); - $565 = $__v$i$i142 + 8 | 0; - $566 = HEAP32[$565 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($566, $19); - HEAP32[$565 >> 2] = $566 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($19); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 122: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj4EEERAT__Kc($20, 14313); - $569 = $db + 4 | 0; - $570 = HEAP32[$569 >> 2] | 0; - $572 = HEAP32[$db + 8 >> 2] | 0; - if ($570 >>> 0 < $572 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($570, $20); - HEAP32[$569 >> 2] = (HEAP32[$569 >> 2] | 0) + 24; - } else { - $579 = HEAP32[$db >> 2] | 0; - $580 = $570 - $579 | 0; - $581 = ($580 | 0) / 24 | 0; - $582 = $581 + 1 | 0; - if (($580 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $586 = ($572 - $579 | 0) / 24 | 0; - if ($586 >>> 0 < 1073741823) { - $588 = $586 << 1; - $$0$i$i$i103 = $588 >>> 0 < $582 >>> 0 ? $582 : $588; - } else $$0$i$i$i103 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i103, $581, $db + 12 | 0); - $591 = $__v$i$i142 + 8 | 0; - $592 = HEAP32[$591 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($592, $20); - HEAP32[$591 >> 2] = $592 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($20); - $$0 = $first + 1 | 0; - break L1; - break; - } - case 117: - { - $595 = $first + 1 | 0; - $596 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($595, $last, $db) | 0; - STACKTOP = sp; - return (($596 | 0) == ($595 | 0) ? $first : $596) | 0; - } - case 68: - { - $598 = $first + 1 | 0; - if (($598 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - switch (HEAP8[$598 >> 0] | 0) { - case 100: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($21, 14317); - $602 = $db + 4 | 0; - $603 = HEAP32[$602 >> 2] | 0; - $605 = HEAP32[$db + 8 >> 2] | 0; - if ($603 >>> 0 < $605 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($603, $21); - HEAP32[$602 >> 2] = (HEAP32[$602 >> 2] | 0) + 24; - } else { - $612 = HEAP32[$db >> 2] | 0; - $613 = $603 - $612 | 0; - $614 = ($613 | 0) / 24 | 0; - $615 = $614 + 1 | 0; - if (($613 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $619 = ($605 - $612 | 0) / 24 | 0; - if ($619 >>> 0 < 1073741823) { - $621 = $619 << 1; - $$0$i$i$i108 = $621 >>> 0 < $615 >>> 0 ? $615 : $621; - } else $$0$i$i$i108 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i108, $614, $db + 12 | 0); - $624 = $__v$i$i142 + 8 | 0; - $625 = HEAP32[$624 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($625, $21); - HEAP32[$624 >> 2] = $625 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($21); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 101: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($22, 14327); - $628 = $db + 4 | 0; - $629 = HEAP32[$628 >> 2] | 0; - $631 = HEAP32[$db + 8 >> 2] | 0; - if ($629 >>> 0 < $631 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($629, $22); - HEAP32[$628 >> 2] = (HEAP32[$628 >> 2] | 0) + 24; - } else { - $638 = HEAP32[$db >> 2] | 0; - $639 = $629 - $638 | 0; - $640 = ($639 | 0) / 24 | 0; - $641 = $640 + 1 | 0; - if (($639 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $645 = ($631 - $638 | 0) / 24 | 0; - if ($645 >>> 0 < 1073741823) { - $647 = $645 << 1; - $$0$i$i$i113 = $647 >>> 0 < $641 >>> 0 ? $641 : $647; - } else $$0$i$i$i113 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i113, $640, $db + 12 | 0); - $650 = $__v$i$i142 + 8 | 0; - $651 = HEAP32[$650 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($651, $22); - HEAP32[$650 >> 2] = $651 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($22); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 102: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($23, 14338); - $654 = $db + 4 | 0; - $655 = HEAP32[$654 >> 2] | 0; - $657 = HEAP32[$db + 8 >> 2] | 0; - if ($655 >>> 0 < $657 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($655, $23); - HEAP32[$654 >> 2] = (HEAP32[$654 >> 2] | 0) + 24; - } else { - $664 = HEAP32[$db >> 2] | 0; - $665 = $655 - $664 | 0; - $666 = ($665 | 0) / 24 | 0; - $667 = $666 + 1 | 0; - if (($665 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $671 = ($657 - $664 | 0) / 24 | 0; - if ($671 >>> 0 < 1073741823) { - $673 = $671 << 1; - $$0$i$i$i118 = $673 >>> 0 < $667 >>> 0 ? $667 : $673; - } else $$0$i$i$i118 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i118, $666, $db + 12 | 0); - $676 = $__v$i$i142 + 8 | 0; - $677 = HEAP32[$676 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($677, $23); - HEAP32[$676 >> 2] = $677 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($23); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 104: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($24, 14348); - $680 = $db + 4 | 0; - $681 = HEAP32[$680 >> 2] | 0; - $683 = HEAP32[$db + 8 >> 2] | 0; - if ($681 >>> 0 < $683 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($681, $24); - HEAP32[$680 >> 2] = (HEAP32[$680 >> 2] | 0) + 24; - } else { - $690 = HEAP32[$db >> 2] | 0; - $691 = $681 - $690 | 0; - $692 = ($691 | 0) / 24 | 0; - $693 = $692 + 1 | 0; - if (($691 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $697 = ($683 - $690 | 0) / 24 | 0; - if ($697 >>> 0 < 1073741823) { - $699 = $697 << 1; - $$0$i$i$i123 = $699 >>> 0 < $693 >>> 0 ? $693 : $699; - } else $$0$i$i$i123 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i123, $692, $db + 12 | 0); - $702 = $__v$i$i142 + 8 | 0; - $703 = HEAP32[$702 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($703, $24); - HEAP32[$702 >> 2] = $703 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($24); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 105: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj9EEERAT__Kc($25, 14358); - $706 = $db + 4 | 0; - $707 = HEAP32[$706 >> 2] | 0; - $709 = HEAP32[$db + 8 >> 2] | 0; - if ($707 >>> 0 < $709 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($707, $25); - HEAP32[$706 >> 2] = (HEAP32[$706 >> 2] | 0) + 24; - } else { - $716 = HEAP32[$db >> 2] | 0; - $717 = $707 - $716 | 0; - $718 = ($717 | 0) / 24 | 0; - $719 = $718 + 1 | 0; - if (($717 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $723 = ($709 - $716 | 0) / 24 | 0; - if ($723 >>> 0 < 1073741823) { - $725 = $723 << 1; - $$0$i$i$i128 = $725 >>> 0 < $719 >>> 0 ? $719 : $725; - } else $$0$i$i$i128 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i128, $718, $db + 12 | 0); - $728 = $__v$i$i142 + 8 | 0; - $729 = HEAP32[$728 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($729, $25); - HEAP32[$728 >> 2] = $729 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($25); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj9EEERAT__Kc($26, 14367); - $732 = $db + 4 | 0; - $733 = HEAP32[$732 >> 2] | 0; - $735 = HEAP32[$db + 8 >> 2] | 0; - if ($733 >>> 0 < $735 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($733, $26); - HEAP32[$732 >> 2] = (HEAP32[$732 >> 2] | 0) + 24; - } else { - $742 = HEAP32[$db >> 2] | 0; - $743 = $733 - $742 | 0; - $744 = ($743 | 0) / 24 | 0; - $745 = $744 + 1 | 0; - if (($743 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $749 = ($735 - $742 | 0) / 24 | 0; - if ($749 >>> 0 < 1073741823) { - $751 = $749 << 1; - $$0$i$i$i133 = $751 >>> 0 < $745 >>> 0 ? $745 : $751; - } else $$0$i$i$i133 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i133, $744, $db + 12 | 0); - $754 = $__v$i$i142 + 8 | 0; - $755 = HEAP32[$754 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($755, $26); - HEAP32[$754 >> 2] = $755 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($26); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($27, 14376); - $758 = $db + 4 | 0; - $759 = HEAP32[$758 >> 2] | 0; - $761 = HEAP32[$db + 8 >> 2] | 0; - if ($759 >>> 0 < $761 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($759, $27); - HEAP32[$758 >> 2] = (HEAP32[$758 >> 2] | 0) + 24; - } else { - $768 = HEAP32[$db >> 2] | 0; - $769 = $759 - $768 | 0; - $770 = ($769 | 0) / 24 | 0; - $771 = $770 + 1 | 0; - if (($769 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $775 = ($761 - $768 | 0) / 24 | 0; - if ($775 >>> 0 < 1073741823) { - $777 = $775 << 1; - $$0$i$i$i138 = $777 >>> 0 < $771 >>> 0 ? $771 : $777; - } else $$0$i$i$i138 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i138, $770, $db + 12 | 0); - $780 = $__v$i$i142 + 8 | 0; - $781 = HEAP32[$780 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($781, $27); - HEAP32[$780 >> 2] = $781 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($27); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 110: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj15EEERAT__Kc($28, 14381); - $784 = $db + 4 | 0; - $785 = HEAP32[$784 >> 2] | 0; - $787 = HEAP32[$db + 8 >> 2] | 0; - if ($785 >>> 0 < $787 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($785, $28); - HEAP32[$784 >> 2] = (HEAP32[$784 >> 2] | 0) + 24; - } else { - $794 = HEAP32[$db >> 2] | 0; - $795 = $785 - $794 | 0; - $796 = ($795 | 0) / 24 | 0; - $797 = $796 + 1 | 0; - if (($795 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $801 = ($787 - $794 | 0) / 24 | 0; - if ($801 >>> 0 < 1073741823) { - $803 = $801 << 1; - $$0$i$i$i143 = $803 >>> 0 < $797 >>> 0 ? $797 : $803; - } else $$0$i$i$i143 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i142, $$0$i$i$i143, $796, $db + 12 | 0); - $806 = $__v$i$i142 + 8 | 0; - $807 = HEAP32[$806 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($807, $28); - HEAP32[$806 >> 2] = $807 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i142); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i142); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($28); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - default: - { - $$0 = $first; - break L1; - } - } while (0); while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _malloc($bytes) { - $bytes = $bytes | 0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0, $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$rsize$3$i = 0, $$sum$i19$i = 0, $$sum2$i21$i = 0, $$sum3132$i$i = 0, $$sum67$i$i = 0, $100 = 0, $1000 = 0, $1002 = 0, $1005 = 0, $1010 = 0, $1016 = 0, $1019 = 0, $1020 = 0, $1027 = 0, $1039 = 0, $1044 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $106 = 0, $1060 = 0, $1062 = 0, $1063 = 0, $1070 = 0, $110 = 0, $112 = 0, $113 = 0, $115 = 0, $117 = 0, $119 = 0, $12 = 0, $121 = 0, $123 = 0, $125 = 0, $127 = 0, $13 = 0, $132 = 0, $138 = 0, $14 = 0, $141 = 0, $144 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $151 = 0, $154 = 0, $156 = 0, $159 = 0, $16 = 0, $161 = 0, $164 = 0, $167 = 0, $168 = 0, $17 = 0, $170 = 0, $171 = 0, $173 = 0, $174 = 0, $176 = 0, $177 = 0, $18 = 0, $182 = 0, $183 = 0, $192 = 0, $197 = 0, $201 = 0, $207 = 0, $214 = 0, $217 = 0, $225 = 0, $227 = 0, $228 = 0, $229 = 0, $230 = 0, $231 = 0, $232 = 0, $236 = 0, $237 = 0, $245 = 0, $246 = 0, $247 = 0, $249 = 0, $25 = 0, $250 = 0, $255 = 0, $256 = 0, $259 = 0, $261 = 0, $264 = 0, $269 = 0, $276 = 0, $28 = 0, $285 = 0, $286 = 0, $290 = 0, $300 = 0, $303 = 0, $307 = 0, $309 = 0, $31 = 0, $310 = 0, $312 = 0, $314 = 0, $316 = 0, $318 = 0, $320 = 0, $322 = 0, $324 = 0, $334 = 0, $335 = 0, $337 = 0, $34 = 0, $346 = 0, $348 = 0, $351 = 0, $353 = 0, $356 = 0, $358 = 0, $361 = 0, $364 = 0, $365 = 0, $367 = 0, $368 = 0, $370 = 0, $371 = 0, $373 = 0, $374 = 0, $379 = 0, $38 = 0, $380 = 0, $389 = 0, $394 = 0, $398 = 0, $4 = 0, $404 = 0, $41 = 0, $411 = 0, $414 = 0, $422 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $431 = 0, $432 = 0, $438 = 0, $44 = 0, $443 = 0, $444 = 0, $447 = 0, $449 = 0, $452 = 0, $457 = 0, $46 = 0, $463 = 0, $467 = 0, $468 = 0, $47 = 0, $475 = 0, $487 = 0, $49 = 0, $492 = 0, $499 = 0, $5 = 0, $500 = 0, $501 = 0, $509 = 0, $51 = 0, $511 = 0, $512 = 0, $522 = 0, $526 = 0, $528 = 0, $529 = 0, $53 = 0, $538 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $552 = 0, $554 = 0, $555 = 0, $561 = 0, $563 = 0, $565 = 0, $57 = 0, $572 = 0, $574 = 0, $575 = 0, $576 = 0, $584 = 0, $585 = 0, $588 = 0, $59 = 0, $592 = 0, $593 = 0, $596 = 0, $598 = 0, $6 = 0, $602 = 0, $604 = 0, $608 = 0, $61 = 0, $612 = 0, $621 = 0, $622 = 0, $628 = 0, $630 = 0, $632 = 0, $635 = 0, $637 = 0, $64 = 0, $641 = 0, $642 = 0, $648 = 0, $65 = 0, $653 = 0, $655 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $67 = 0, $676 = 0, $678 = 0, $68 = 0, $683 = 0, $685 = 0, $69 = 0, $690 = 0, $692 = 0, $7 = 0, $70 = 0, $702 = 0, $706 = 0, $711 = 0, $714 = 0, $719 = 0, $720 = 0, $724 = 0, $725 = 0, $730 = 0, $736 = 0, $741 = 0, $744 = 0, $745 = 0, $748 = 0, $750 = 0, $752 = 0, $755 = 0, $766 = 0, $77 = 0, $771 = 0, $773 = 0, $776 = 0, $778 = 0, $781 = 0, $784 = 0, $785 = 0, $787 = 0, $788 = 0, $790 = 0, $791 = 0, $793 = 0, $794 = 0, $799 = 0, $80 = 0, $800 = 0, $809 = 0, $81 = 0, $814 = 0, $818 = 0, $824 = 0, $832 = 0, $838 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $847 = 0, $848 = 0, $854 = 0, $859 = 0, $860 = 0, $863 = 0, $865 = 0, $868 = 0, $873 = 0, $879 = 0, $883 = 0, $884 = 0, $89 = 0, $891 = 0, $90 = 0, $903 = 0, $908 = 0, $91 = 0, $915 = 0, $916 = 0, $917 = 0, $92 = 0, $925 = 0, $928 = 0, $929 = 0, $93 = 0, $934 = 0, $94 = 0, $940 = 0, $941 = 0, $943 = 0, $944 = 0, $947 = 0, $95 = 0, $952 = 0, $954 = 0, $959 = 0, $960 = 0, $964 = 0, $970 = 0, $975 = 0, $977 = 0, $978 = 0, $979 = 0, $980 = 0, $984 = 0, $985 = 0, $99 = 0, $991 = 0, $996 = 0, $997 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0, $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0, $oldfirst$0$i$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0, $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0, $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, $964$looptemp = 0; - do if ($bytes >>> 0 < 245) { - $4 = $bytes >>> 0 < 11 ? 16 : $bytes + 11 & -8; - $5 = $4 >>> 3; - $6 = HEAP32[756] | 0; - $7 = $6 >>> $5; - if ($7 & 3) { - $12 = ($7 & 1 ^ 1) + $5 | 0; - $13 = $12 << 1; - $14 = 3064 + ($13 << 2) | 0; - $15 = 3064 + ($13 + 2 << 2) | 0; - $16 = HEAP32[$15 >> 2] | 0; - $17 = $16 + 8 | 0; - $18 = HEAP32[$17 >> 2] | 0; - do if (($14 | 0) == ($18 | 0)) HEAP32[756] = $6 & ~(1 << $12); else { - if ($18 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $25 = $18 + 12 | 0; - if ((HEAP32[$25 >> 2] | 0) == ($16 | 0)) { - HEAP32[$25 >> 2] = $14; - HEAP32[$15 >> 2] = $18; - break; - } else _abort(); - } while (0); - $28 = $12 << 3; - HEAP32[$16 + 4 >> 2] = $28 | 3; - $31 = $16 + ($28 | 4) | 0; - HEAP32[$31 >> 2] = HEAP32[$31 >> 2] | 1; - $mem$0 = $17; - return $mem$0 | 0; - } - $34 = HEAP32[758] | 0; - if ($4 >>> 0 > $34 >>> 0) { - if ($7) { - $38 = 2 << $5; - $41 = $7 << $5 & ($38 | 0 - $38); - $44 = ($41 & 0 - $41) + -1 | 0; - $46 = $44 >>> 12 & 16; - $47 = $44 >>> $46; - $49 = $47 >>> 5 & 8; - $51 = $47 >>> $49; - $53 = $51 >>> 2 & 4; - $55 = $51 >>> $53; - $57 = $55 >>> 1 & 2; - $59 = $55 >>> $57; - $61 = $59 >>> 1 & 1; - $64 = ($49 | $46 | $53 | $57 | $61) + ($59 >>> $61) | 0; - $65 = $64 << 1; - $66 = 3064 + ($65 << 2) | 0; - $67 = 3064 + ($65 + 2 << 2) | 0; - $68 = HEAP32[$67 >> 2] | 0; - $69 = $68 + 8 | 0; - $70 = HEAP32[$69 >> 2] | 0; - do if (($66 | 0) == ($70 | 0)) { - HEAP32[756] = $6 & ~(1 << $64); - $89 = $34; - } else { - if ($70 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $77 = $70 + 12 | 0; - if ((HEAP32[$77 >> 2] | 0) == ($68 | 0)) { - HEAP32[$77 >> 2] = $66; - HEAP32[$67 >> 2] = $70; - $89 = HEAP32[758] | 0; - break; - } else _abort(); - } while (0); - $80 = $64 << 3; - $81 = $80 - $4 | 0; - HEAP32[$68 + 4 >> 2] = $4 | 3; - $84 = $68 + $4 | 0; - HEAP32[$68 + ($4 | 4) >> 2] = $81 | 1; - HEAP32[$68 + $80 >> 2] = $81; - if ($89) { - $90 = HEAP32[761] | 0; - $91 = $89 >>> 3; - $92 = $91 << 1; - $93 = 3064 + ($92 << 2) | 0; - $94 = HEAP32[756] | 0; - $95 = 1 << $91; - if (!($94 & $95)) { - HEAP32[756] = $94 | $95; - $$pre$phiZ2D = 3064 + ($92 + 2 << 2) | 0; - $F4$0 = $93; - } else { - $99 = 3064 + ($92 + 2 << 2) | 0; - $100 = HEAP32[$99 >> 2] | 0; - if ($100 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phiZ2D = $99; - $F4$0 = $100; - } - } - HEAP32[$$pre$phiZ2D >> 2] = $90; - HEAP32[$F4$0 + 12 >> 2] = $90; - HEAP32[$90 + 8 >> 2] = $F4$0; - HEAP32[$90 + 12 >> 2] = $93; - } - HEAP32[758] = $81; - HEAP32[761] = $84; - $mem$0 = $69; - return $mem$0 | 0; - } - $106 = HEAP32[757] | 0; - if (!$106) $nb$0 = $4; else { - $110 = ($106 & 0 - $106) + -1 | 0; - $112 = $110 >>> 12 & 16; - $113 = $110 >>> $112; - $115 = $113 >>> 5 & 8; - $117 = $113 >>> $115; - $119 = $117 >>> 2 & 4; - $121 = $117 >>> $119; - $123 = $121 >>> 1 & 2; - $125 = $121 >>> $123; - $127 = $125 >>> 1 & 1; - $132 = HEAP32[3328 + (($115 | $112 | $119 | $123 | $127) + ($125 >>> $127) << 2) >> 2] | 0; - $rsize$0$i = (HEAP32[$132 + 4 >> 2] & -8) - $4 | 0; - $t$0$i = $132; - $v$0$i = $132; - while (1) { - $138 = HEAP32[$t$0$i + 16 >> 2] | 0; - if (!$138) { - $141 = HEAP32[$t$0$i + 20 >> 2] | 0; - if (!$141) { - $rsize$0$i$lcssa = $rsize$0$i; - $v$0$i$lcssa = $v$0$i; - break; - } else $144 = $141; - } else $144 = $138; - $147 = (HEAP32[$144 + 4 >> 2] & -8) - $4 | 0; - $148 = $147 >>> 0 < $rsize$0$i >>> 0; - $rsize$0$i = $148 ? $147 : $rsize$0$i; - $t$0$i = $144; - $v$0$i = $148 ? $144 : $v$0$i; - } - $149 = HEAP32[760] | 0; - if ($v$0$i$lcssa >>> 0 < $149 >>> 0) _abort(); - $151 = $v$0$i$lcssa + $4 | 0; - if ($v$0$i$lcssa >>> 0 >= $151 >>> 0) _abort(); - $154 = HEAP32[$v$0$i$lcssa + 24 >> 2] | 0; - $156 = HEAP32[$v$0$i$lcssa + 12 >> 2] | 0; - do if (($156 | 0) == ($v$0$i$lcssa | 0)) { - $167 = $v$0$i$lcssa + 20 | 0; - $168 = HEAP32[$167 >> 2] | 0; - if (!$168) { - $170 = $v$0$i$lcssa + 16 | 0; - $171 = HEAP32[$170 >> 2] | 0; - if (!$171) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171; - $RP$0$i = $170; - } - } else { - $R$0$i = $168; - $RP$0$i = $167; - } - while (1) { - $173 = $R$0$i + 20 | 0; - $174 = HEAP32[$173 >> 2] | 0; - if ($174) { - $R$0$i = $174; - $RP$0$i = $173; - continue; - } - $176 = $R$0$i + 16 | 0; - $177 = HEAP32[$176 >> 2] | 0; - if (!$177) { - $R$0$i$lcssa = $R$0$i; - $RP$0$i$lcssa = $RP$0$i; - break; - } else { - $R$0$i = $177; - $RP$0$i = $176; - } - } - if ($RP$0$i$lcssa >>> 0 < $149 >>> 0) _abort(); else { - HEAP32[$RP$0$i$lcssa >> 2] = 0; - $R$1$i = $R$0$i$lcssa; - break; - } - } else { - $159 = HEAP32[$v$0$i$lcssa + 8 >> 2] | 0; - if ($159 >>> 0 < $149 >>> 0) _abort(); - $161 = $159 + 12 | 0; - if ((HEAP32[$161 >> 2] | 0) != ($v$0$i$lcssa | 0)) _abort(); - $164 = $156 + 8 | 0; - if ((HEAP32[$164 >> 2] | 0) == ($v$0$i$lcssa | 0)) { - HEAP32[$161 >> 2] = $156; - HEAP32[$164 >> 2] = $159; - $R$1$i = $156; - break; - } else _abort(); - } while (0); - do if ($154) { - $182 = HEAP32[$v$0$i$lcssa + 28 >> 2] | 0; - $183 = 3328 + ($182 << 2) | 0; - if (($v$0$i$lcssa | 0) == (HEAP32[$183 >> 2] | 0)) { - HEAP32[$183 >> 2] = $R$1$i; - if (!$R$1$i) { - HEAP32[757] = HEAP32[757] & ~(1 << $182); - break; - } - } else { - if ($154 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $192 = $154 + 16 | 0; - if ((HEAP32[$192 >> 2] | 0) == ($v$0$i$lcssa | 0)) HEAP32[$192 >> 2] = $R$1$i; else HEAP32[$154 + 20 >> 2] = $R$1$i; - if (!$R$1$i) break; - } - $197 = HEAP32[760] | 0; - if ($R$1$i >>> 0 < $197 >>> 0) _abort(); - HEAP32[$R$1$i + 24 >> 2] = $154; - $201 = HEAP32[$v$0$i$lcssa + 16 >> 2] | 0; - do if ($201) if ($201 >>> 0 < $197 >>> 0) _abort(); else { - HEAP32[$R$1$i + 16 >> 2] = $201; - HEAP32[$201 + 24 >> 2] = $R$1$i; - break; - } while (0); - $207 = HEAP32[$v$0$i$lcssa + 20 >> 2] | 0; - if ($207) if ($207 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1$i + 20 >> 2] = $207; - HEAP32[$207 + 24 >> 2] = $R$1$i; - break; - } - } while (0); - if ($rsize$0$i$lcssa >>> 0 < 16) { - $214 = $rsize$0$i$lcssa + $4 | 0; - HEAP32[$v$0$i$lcssa + 4 >> 2] = $214 | 3; - $217 = $v$0$i$lcssa + ($214 + 4) | 0; - HEAP32[$217 >> 2] = HEAP32[$217 >> 2] | 1; - } else { - HEAP32[$v$0$i$lcssa + 4 >> 2] = $4 | 3; - HEAP32[$v$0$i$lcssa + ($4 | 4) >> 2] = $rsize$0$i$lcssa | 1; - HEAP32[$v$0$i$lcssa + ($rsize$0$i$lcssa + $4) >> 2] = $rsize$0$i$lcssa; - $225 = HEAP32[758] | 0; - if ($225) { - $227 = HEAP32[761] | 0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = 3064 + ($229 << 2) | 0; - $231 = HEAP32[756] | 0; - $232 = 1 << $228; - if (!($231 & $232)) { - HEAP32[756] = $231 | $232; - $$pre$phi$iZ2D = 3064 + ($229 + 2 << 2) | 0; - $F1$0$i = $230; - } else { - $236 = 3064 + ($229 + 2 << 2) | 0; - $237 = HEAP32[$236 >> 2] | 0; - if ($237 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phi$iZ2D = $236; - $F1$0$i = $237; - } - } - HEAP32[$$pre$phi$iZ2D >> 2] = $227; - HEAP32[$F1$0$i + 12 >> 2] = $227; - HEAP32[$227 + 8 >> 2] = $F1$0$i; - HEAP32[$227 + 12 >> 2] = $230; - } - HEAP32[758] = $rsize$0$i$lcssa; - HEAP32[761] = $151; - } - $mem$0 = $v$0$i$lcssa + 8 | 0; - return $mem$0 | 0; - } - } else $nb$0 = $4; - } else if ($bytes >>> 0 > 4294967231) $nb$0 = -1; else { - $245 = $bytes + 11 | 0; - $246 = $245 & -8; - $247 = HEAP32[757] | 0; - if (!$247) $nb$0 = $246; else { - $249 = 0 - $246 | 0; - $250 = $245 >>> 8; - if (!$250) $idx$0$i = 0; else if ($246 >>> 0 > 16777215) $idx$0$i = 31; else { - $255 = ($250 + 1048320 | 0) >>> 16 & 8; - $256 = $250 << $255; - $259 = ($256 + 520192 | 0) >>> 16 & 4; - $261 = $256 << $259; - $264 = ($261 + 245760 | 0) >>> 16 & 2; - $269 = 14 - ($259 | $255 | $264) + ($261 << $264 >>> 15) | 0; - $idx$0$i = $246 >>> ($269 + 7 | 0) & 1 | $269 << 1; - } - $276 = HEAP32[3328 + ($idx$0$i << 2) >> 2] | 0; - L123 : do if (!$276) { - $rsize$2$i = $249; - $t$1$i = 0; - $v$2$i = 0; - label = 86; - } else { - $rsize$0$i15 = $249; - $rst$0$i = 0; - $sizebits$0$i = $246 << (($idx$0$i | 0) == 31 ? 0 : 25 - ($idx$0$i >>> 1) | 0); - $t$0$i14 = $276; - $v$0$i16 = 0; - while (1) { - $285 = HEAP32[$t$0$i14 + 4 >> 2] & -8; - $286 = $285 - $246 | 0; - if ($286 >>> 0 < $rsize$0$i15 >>> 0) if (($285 | 0) == ($246 | 0)) { - $rsize$331$i = $286; - $t$230$i = $t$0$i14; - $v$332$i = $t$0$i14; - label = 90; - break L123; - } else { - $rsize$1$i = $286; - $v$1$i = $t$0$i14; - } else { - $rsize$1$i = $rsize$0$i15; - $v$1$i = $v$0$i16; - } - $290 = HEAP32[$t$0$i14 + 20 >> 2] | 0; - $t$0$i14 = HEAP32[$t$0$i14 + 16 + ($sizebits$0$i >>> 31 << 2) >> 2] | 0; - $rst$1$i = ($290 | 0) == 0 | ($290 | 0) == ($t$0$i14 | 0) ? $rst$0$i : $290; - if (!$t$0$i14) { - $rsize$2$i = $rsize$1$i; - $t$1$i = $rst$1$i; - $v$2$i = $v$1$i; - label = 86; - break; - } else { - $rsize$0$i15 = $rsize$1$i; - $rst$0$i = $rst$1$i; - $sizebits$0$i = $sizebits$0$i << 1; - $v$0$i16 = $v$1$i; - } - } - } while (0); - if ((label | 0) == 86) { - if (($t$1$i | 0) == 0 & ($v$2$i | 0) == 0) { - $300 = 2 << $idx$0$i; - $303 = $247 & ($300 | 0 - $300); - if (!$303) { - $nb$0 = $246; - break; - } - $307 = ($303 & 0 - $303) + -1 | 0; - $309 = $307 >>> 12 & 16; - $310 = $307 >>> $309; - $312 = $310 >>> 5 & 8; - $314 = $310 >>> $312; - $316 = $314 >>> 2 & 4; - $318 = $314 >>> $316; - $320 = $318 >>> 1 & 2; - $322 = $318 >>> $320; - $324 = $322 >>> 1 & 1; - $t$2$ph$i = HEAP32[3328 + (($312 | $309 | $316 | $320 | $324) + ($322 >>> $324) << 2) >> 2] | 0; - $v$3$ph$i = 0; - } else { - $t$2$ph$i = $t$1$i; - $v$3$ph$i = $v$2$i; - } - if (!$t$2$ph$i) { - $rsize$3$lcssa$i = $rsize$2$i; - $v$3$lcssa$i = $v$3$ph$i; - } else { - $rsize$331$i = $rsize$2$i; - $t$230$i = $t$2$ph$i; - $v$332$i = $v$3$ph$i; - label = 90; - } - } - if ((label | 0) == 90) while (1) { - label = 0; - $334 = (HEAP32[$t$230$i + 4 >> 2] & -8) - $246 | 0; - $335 = $334 >>> 0 < $rsize$331$i >>> 0; - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $337 = HEAP32[$t$230$i + 16 >> 2] | 0; - if ($337) { - $rsize$331$i = $$rsize$3$i; - $t$230$i = $337; - $v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $t$230$i = HEAP32[$t$230$i + 20 >> 2] | 0; - if (!$t$230$i) { - $rsize$3$lcssa$i = $$rsize$3$i; - $v$3$lcssa$i = $t$2$v$3$i; - break; - } else { - $rsize$331$i = $$rsize$3$i; - $v$332$i = $t$2$v$3$i; - label = 90; - } - } - if (!$v$3$lcssa$i) $nb$0 = $246; else if ($rsize$3$lcssa$i >>> 0 < ((HEAP32[758] | 0) - $246 | 0) >>> 0) { - $346 = HEAP32[760] | 0; - if ($v$3$lcssa$i >>> 0 < $346 >>> 0) _abort(); - $348 = $v$3$lcssa$i + $246 | 0; - if ($v$3$lcssa$i >>> 0 >= $348 >>> 0) _abort(); - $351 = HEAP32[$v$3$lcssa$i + 24 >> 2] | 0; - $353 = HEAP32[$v$3$lcssa$i + 12 >> 2] | 0; - do if (($353 | 0) == ($v$3$lcssa$i | 0)) { - $364 = $v$3$lcssa$i + 20 | 0; - $365 = HEAP32[$364 >> 2] | 0; - if (!$365) { - $367 = $v$3$lcssa$i + 16 | 0; - $368 = HEAP32[$367 >> 2] | 0; - if (!$368) { - $R$1$i20 = 0; - break; - } else { - $R$0$i18 = $368; - $RP$0$i17 = $367; - } - } else { - $R$0$i18 = $365; - $RP$0$i17 = $364; - } - while (1) { - $370 = $R$0$i18 + 20 | 0; - $371 = HEAP32[$370 >> 2] | 0; - if ($371) { - $R$0$i18 = $371; - $RP$0$i17 = $370; - continue; - } - $373 = $R$0$i18 + 16 | 0; - $374 = HEAP32[$373 >> 2] | 0; - if (!$374) { - $R$0$i18$lcssa = $R$0$i18; - $RP$0$i17$lcssa = $RP$0$i17; - break; - } else { - $R$0$i18 = $374; - $RP$0$i17 = $373; - } - } - if ($RP$0$i17$lcssa >>> 0 < $346 >>> 0) _abort(); else { - HEAP32[$RP$0$i17$lcssa >> 2] = 0; - $R$1$i20 = $R$0$i18$lcssa; - break; - } - } else { - $356 = HEAP32[$v$3$lcssa$i + 8 >> 2] | 0; - if ($356 >>> 0 < $346 >>> 0) _abort(); - $358 = $356 + 12 | 0; - if ((HEAP32[$358 >> 2] | 0) != ($v$3$lcssa$i | 0)) _abort(); - $361 = $353 + 8 | 0; - if ((HEAP32[$361 >> 2] | 0) == ($v$3$lcssa$i | 0)) { - HEAP32[$358 >> 2] = $353; - HEAP32[$361 >> 2] = $356; - $R$1$i20 = $353; - break; - } else _abort(); - } while (0); - do if ($351) { - $379 = HEAP32[$v$3$lcssa$i + 28 >> 2] | 0; - $380 = 3328 + ($379 << 2) | 0; - if (($v$3$lcssa$i | 0) == (HEAP32[$380 >> 2] | 0)) { - HEAP32[$380 >> 2] = $R$1$i20; - if (!$R$1$i20) { - HEAP32[757] = HEAP32[757] & ~(1 << $379); - break; - } - } else { - if ($351 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $389 = $351 + 16 | 0; - if ((HEAP32[$389 >> 2] | 0) == ($v$3$lcssa$i | 0)) HEAP32[$389 >> 2] = $R$1$i20; else HEAP32[$351 + 20 >> 2] = $R$1$i20; - if (!$R$1$i20) break; - } - $394 = HEAP32[760] | 0; - if ($R$1$i20 >>> 0 < $394 >>> 0) _abort(); - HEAP32[$R$1$i20 + 24 >> 2] = $351; - $398 = HEAP32[$v$3$lcssa$i + 16 >> 2] | 0; - do if ($398) if ($398 >>> 0 < $394 >>> 0) _abort(); else { - HEAP32[$R$1$i20 + 16 >> 2] = $398; - HEAP32[$398 + 24 >> 2] = $R$1$i20; - break; - } while (0); - $404 = HEAP32[$v$3$lcssa$i + 20 >> 2] | 0; - if ($404) if ($404 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1$i20 + 20 >> 2] = $404; - HEAP32[$404 + 24 >> 2] = $R$1$i20; - break; - } - } while (0); - L199 : do if ($rsize$3$lcssa$i >>> 0 < 16) { - $411 = $rsize$3$lcssa$i + $246 | 0; - HEAP32[$v$3$lcssa$i + 4 >> 2] = $411 | 3; - $414 = $v$3$lcssa$i + ($411 + 4) | 0; - HEAP32[$414 >> 2] = HEAP32[$414 >> 2] | 1; - } else { - HEAP32[$v$3$lcssa$i + 4 >> 2] = $246 | 3; - HEAP32[$v$3$lcssa$i + ($246 | 4) >> 2] = $rsize$3$lcssa$i | 1; - HEAP32[$v$3$lcssa$i + ($rsize$3$lcssa$i + $246) >> 2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - if ($rsize$3$lcssa$i >>> 0 < 256) { - $424 = $422 << 1; - $425 = 3064 + ($424 << 2) | 0; - $426 = HEAP32[756] | 0; - $427 = 1 << $422; - if (!($426 & $427)) { - HEAP32[756] = $426 | $427; - $$pre$phi$i26Z2D = 3064 + ($424 + 2 << 2) | 0; - $F5$0$i = $425; - } else { - $431 = 3064 + ($424 + 2 << 2) | 0; - $432 = HEAP32[$431 >> 2] | 0; - if ($432 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phi$i26Z2D = $431; - $F5$0$i = $432; - } - } - HEAP32[$$pre$phi$i26Z2D >> 2] = $348; - HEAP32[$F5$0$i + 12 >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 8) >> 2] = $F5$0$i; - HEAP32[$v$3$lcssa$i + ($246 + 12) >> 2] = $425; - break; - } - $438 = $rsize$3$lcssa$i >>> 8; - if (!$438) $I7$0$i = 0; else if ($rsize$3$lcssa$i >>> 0 > 16777215) $I7$0$i = 31; else { - $443 = ($438 + 1048320 | 0) >>> 16 & 8; - $444 = $438 << $443; - $447 = ($444 + 520192 | 0) >>> 16 & 4; - $449 = $444 << $447; - $452 = ($449 + 245760 | 0) >>> 16 & 2; - $457 = 14 - ($447 | $443 | $452) + ($449 << $452 >>> 15) | 0; - $I7$0$i = $rsize$3$lcssa$i >>> ($457 + 7 | 0) & 1 | $457 << 1; - } - $463 = 3328 + ($I7$0$i << 2) | 0; - HEAP32[$v$3$lcssa$i + ($246 + 28) >> 2] = $I7$0$i; - HEAP32[$v$3$lcssa$i + ($246 + 20) >> 2] = 0; - HEAP32[$v$3$lcssa$i + ($246 + 16) >> 2] = 0; - $467 = HEAP32[757] | 0; - $468 = 1 << $I7$0$i; - if (!($467 & $468)) { - HEAP32[757] = $467 | $468; - HEAP32[$463 >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 24) >> 2] = $463; - HEAP32[$v$3$lcssa$i + ($246 + 12) >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 8) >> 2] = $348; - break; - } - $475 = HEAP32[$463 >> 2] | 0; - L217 : do if ((HEAP32[$475 + 4 >> 2] & -8 | 0) == ($rsize$3$lcssa$i | 0)) $T$0$lcssa$i = $475; else { - $K12$029$i = $rsize$3$lcssa$i << (($I7$0$i | 0) == 31 ? 0 : 25 - ($I7$0$i >>> 1) | 0); - $T$028$i = $475; - while (1) { - $492 = $T$028$i + 16 + ($K12$029$i >>> 31 << 2) | 0; - $487 = HEAP32[$492 >> 2] | 0; - if (!$487) { - $$lcssa232 = $492; - $T$028$i$lcssa = $T$028$i; - break; - } - if ((HEAP32[$487 + 4 >> 2] & -8 | 0) == ($rsize$3$lcssa$i | 0)) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $K12$029$i << 1; - $T$028$i = $487; - } - } - if ($$lcssa232 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$$lcssa232 >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 24) >> 2] = $T$028$i$lcssa; - HEAP32[$v$3$lcssa$i + ($246 + 12) >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 8) >> 2] = $348; - break L199; - } - } while (0); - $499 = $T$0$lcssa$i + 8 | 0; - $500 = HEAP32[$499 >> 2] | 0; - $501 = HEAP32[760] | 0; - if ($500 >>> 0 >= $501 >>> 0 & $T$0$lcssa$i >>> 0 >= $501 >>> 0) { - HEAP32[$500 + 12 >> 2] = $348; - HEAP32[$499 >> 2] = $348; - HEAP32[$v$3$lcssa$i + ($246 + 8) >> 2] = $500; - HEAP32[$v$3$lcssa$i + ($246 + 12) >> 2] = $T$0$lcssa$i; - HEAP32[$v$3$lcssa$i + ($246 + 24) >> 2] = 0; - break; - } else _abort(); - } while (0); - $mem$0 = $v$3$lcssa$i + 8 | 0; - return $mem$0 | 0; - } else $nb$0 = $246; - } - } while (0); - $509 = HEAP32[758] | 0; - if ($509 >>> 0 >= $nb$0 >>> 0) { - $511 = $509 - $nb$0 | 0; - $512 = HEAP32[761] | 0; - if ($511 >>> 0 > 15) { - HEAP32[761] = $512 + $nb$0; - HEAP32[758] = $511; - HEAP32[$512 + ($nb$0 + 4) >> 2] = $511 | 1; - HEAP32[$512 + $509 >> 2] = $511; - HEAP32[$512 + 4 >> 2] = $nb$0 | 3; - } else { - HEAP32[758] = 0; - HEAP32[761] = 0; - HEAP32[$512 + 4 >> 2] = $509 | 3; - $522 = $512 + ($509 + 4) | 0; - HEAP32[$522 >> 2] = HEAP32[$522 >> 2] | 1; - } - $mem$0 = $512 + 8 | 0; - return $mem$0 | 0; - } - $526 = HEAP32[759] | 0; - if ($526 >>> 0 > $nb$0 >>> 0) { - $528 = $526 - $nb$0 | 0; - HEAP32[759] = $528; - $529 = HEAP32[762] | 0; - HEAP32[762] = $529 + $nb$0; - HEAP32[$529 + ($nb$0 + 4) >> 2] = $528 | 1; - HEAP32[$529 + 4 >> 2] = $nb$0 | 3; - $mem$0 = $529 + 8 | 0; - return $mem$0 | 0; - } - do if (!(HEAP32[874] | 0)) { - $538 = _sysconf(30) | 0; - if (!($538 + -1 & $538)) { - HEAP32[876] = $538; - HEAP32[875] = $538; - HEAP32[877] = -1; - HEAP32[878] = -1; - HEAP32[879] = 0; - HEAP32[867] = 0; - $544 = (_time(0) | 0) & -16 ^ 1431655768; - HEAP32[874] = $544; - break; - } else _abort(); - } while (0); - $545 = $nb$0 + 48 | 0; - $546 = HEAP32[876] | 0; - $547 = $nb$0 + 47 | 0; - $548 = $546 + $547 | 0; - $549 = 0 - $546 | 0; - $550 = $548 & $549; - if ($550 >>> 0 <= $nb$0 >>> 0) { - $mem$0 = 0; - return $mem$0 | 0; - } - $552 = HEAP32[866] | 0; - if ($552) { - $554 = HEAP32[864] | 0; - $555 = $554 + $550 | 0; - if ($555 >>> 0 <= $554 >>> 0 | $555 >>> 0 > $552 >>> 0) { - $mem$0 = 0; - return $mem$0 | 0; - } - } - L258 : do if (!(HEAP32[867] & 4)) { - $561 = HEAP32[762] | 0; - L260 : do if (!$561) label = 174; else { - $sp$0$i$i = 3472; - while (1) { - $563 = HEAP32[$sp$0$i$i >> 2] | 0; - if ($563 >>> 0 <= $561 >>> 0) { - $565 = $sp$0$i$i + 4 | 0; - if (($563 + (HEAP32[$565 >> 2] | 0) | 0) >>> 0 > $561 >>> 0) { - $$lcssa228 = $sp$0$i$i; - $$lcssa230 = $565; - break; - } - } - $sp$0$i$i = HEAP32[$sp$0$i$i + 8 >> 2] | 0; - if (!$sp$0$i$i) { - label = 174; - break L260; - } - } - $596 = $548 - (HEAP32[759] | 0) & $549; - if ($596 >>> 0 < 2147483647) { - $598 = _sbrk($596 | 0) | 0; - $602 = ($598 | 0) == ((HEAP32[$$lcssa228 >> 2] | 0) + (HEAP32[$$lcssa230 >> 2] | 0) | 0); - $$3$i = $602 ? $596 : 0; - if ($602) if (($598 | 0) == (-1 | 0)) $tsize$0323944$i = $$3$i; else { - $tbase$255$i = $598; - $tsize$254$i = $$3$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $598; - $ssize$1$ph$i = $596; - $tsize$0$ph$i = $$3$i; - label = 184; - } - } else $tsize$0323944$i = 0; - } while (0); - do if ((label | 0) == 174) { - $572 = _sbrk(0) | 0; - if (($572 | 0) == (-1 | 0)) $tsize$0323944$i = 0; else { - $574 = $572; - $575 = HEAP32[875] | 0; - $576 = $575 + -1 | 0; - if (!($576 & $574)) $ssize$0$i = $550; else $ssize$0$i = $550 - $574 + ($576 + $574 & 0 - $575) | 0; - $584 = HEAP32[864] | 0; - $585 = $584 + $ssize$0$i | 0; - if ($ssize$0$i >>> 0 > $nb$0 >>> 0 & $ssize$0$i >>> 0 < 2147483647) { - $588 = HEAP32[866] | 0; - if ($588) if ($585 >>> 0 <= $584 >>> 0 | $585 >>> 0 > $588 >>> 0) { - $tsize$0323944$i = 0; - break; - } - $592 = _sbrk($ssize$0$i | 0) | 0; - $593 = ($592 | 0) == ($572 | 0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572; - $tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592; - $ssize$1$ph$i = $ssize$0$i; - $tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else $tsize$0323944$i = 0; - } - } while (0); - L280 : do if ((label | 0) == 184) { - $604 = 0 - $ssize$1$ph$i | 0; - do if ($545 >>> 0 > $ssize$1$ph$i >>> 0 & ($ssize$1$ph$i >>> 0 < 2147483647 & ($br$0$ph$i | 0) != (-1 | 0))) { - $608 = HEAP32[876] | 0; - $612 = $547 - $ssize$1$ph$i + $608 & 0 - $608; - if ($612 >>> 0 < 2147483647) if ((_sbrk($612 | 0) | 0) == (-1 | 0)) { - _sbrk($604 | 0) | 0; - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $ssize$2$i = $612 + $ssize$1$ph$i | 0; - break; - } else $ssize$2$i = $ssize$1$ph$i; - } else $ssize$2$i = $ssize$1$ph$i; while (0); - if (($br$0$ph$i | 0) == (-1 | 0)) $tsize$0323944$i = $tsize$0$ph$i; else { - $tbase$255$i = $br$0$ph$i; - $tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } while (0); - HEAP32[867] = HEAP32[867] | 4; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } while (0); - if ((label | 0) == 191) if ($550 >>> 0 < 2147483647) { - $621 = _sbrk($550 | 0) | 0; - $622 = _sbrk(0) | 0; - if ($621 >>> 0 < $622 >>> 0 & (($621 | 0) != (-1 | 0) & ($622 | 0) != (-1 | 0))) { - $628 = $622 - $621 | 0; - $630 = $628 >>> 0 > ($nb$0 + 40 | 0) >>> 0; - if ($630) { - $tbase$255$i = $621; - $tsize$254$i = $630 ? $628 : $tsize$1$i; - label = 194; - } - } - } - if ((label | 0) == 194) { - $632 = (HEAP32[864] | 0) + $tsize$254$i | 0; - HEAP32[864] = $632; - if ($632 >>> 0 > (HEAP32[865] | 0) >>> 0) HEAP32[865] = $632; - $635 = HEAP32[762] | 0; - L299 : do if (!$635) { - $637 = HEAP32[760] | 0; - if (($637 | 0) == 0 | $tbase$255$i >>> 0 < $637 >>> 0) HEAP32[760] = $tbase$255$i; - HEAP32[868] = $tbase$255$i; - HEAP32[869] = $tsize$254$i; - HEAP32[871] = 0; - HEAP32[765] = HEAP32[874]; - HEAP32[764] = -1; - $i$02$i$i = 0; - do { - $641 = $i$02$i$i << 1; - $642 = 3064 + ($641 << 2) | 0; - HEAP32[3064 + ($641 + 3 << 2) >> 2] = $642; - HEAP32[3064 + ($641 + 2 << 2) >> 2] = $642; - $i$02$i$i = $i$02$i$i + 1 | 0; - } while (($i$02$i$i | 0) != 32); - $648 = $tbase$255$i + 8 | 0; - $653 = ($648 & 7 | 0) == 0 ? 0 : 0 - $648 & 7; - $655 = $tsize$254$i + -40 - $653 | 0; - HEAP32[762] = $tbase$255$i + $653; - HEAP32[759] = $655; - HEAP32[$tbase$255$i + ($653 + 4) >> 2] = $655 | 1; - HEAP32[$tbase$255$i + ($tsize$254$i + -36) >> 2] = 40; - HEAP32[763] = HEAP32[878]; - } else { - $sp$084$i = 3472; - do { - $660 = HEAP32[$sp$084$i >> 2] | 0; - $661 = $sp$084$i + 4 | 0; - $662 = HEAP32[$661 >> 2] | 0; - if (($tbase$255$i | 0) == ($660 + $662 | 0)) { - $$lcssa222 = $660; - $$lcssa224 = $661; - $$lcssa226 = $662; - $sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $sp$084$i = HEAP32[$sp$084$i + 8 >> 2] | 0; - } while (($sp$084$i | 0) != 0); - if ((label | 0) == 204) if (!(HEAP32[$sp$084$i$lcssa + 12 >> 2] & 8)) if ($635 >>> 0 < $tbase$255$i >>> 0 & $635 >>> 0 >= $$lcssa222 >>> 0) { - HEAP32[$$lcssa224 >> 2] = $$lcssa226 + $tsize$254$i; - $676 = (HEAP32[759] | 0) + $tsize$254$i | 0; - $678 = $635 + 8 | 0; - $683 = ($678 & 7 | 0) == 0 ? 0 : 0 - $678 & 7; - $685 = $676 - $683 | 0; - HEAP32[762] = $635 + $683; - HEAP32[759] = $685; - HEAP32[$635 + ($683 + 4) >> 2] = $685 | 1; - HEAP32[$635 + ($676 + 4) >> 2] = 40; - HEAP32[763] = HEAP32[878]; - break; - } - $690 = HEAP32[760] | 0; - if ($tbase$255$i >>> 0 < $690 >>> 0) { - HEAP32[760] = $tbase$255$i; - $755 = $tbase$255$i; - } else $755 = $690; - $692 = $tbase$255$i + $tsize$254$i | 0; - $sp$183$i = 3472; - while (1) { - if ((HEAP32[$sp$183$i >> 2] | 0) == ($692 | 0)) { - $$lcssa219 = $sp$183$i; - $sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $sp$183$i = HEAP32[$sp$183$i + 8 >> 2] | 0; - if (!$sp$183$i) { - $sp$0$i$i$i = 3472; - break; - } - } - if ((label | 0) == 212) if (!(HEAP32[$sp$183$i$lcssa + 12 >> 2] & 8)) { - HEAP32[$$lcssa219 >> 2] = $tbase$255$i; - $702 = $sp$183$i$lcssa + 4 | 0; - HEAP32[$702 >> 2] = (HEAP32[$702 >> 2] | 0) + $tsize$254$i; - $706 = $tbase$255$i + 8 | 0; - $711 = ($706 & 7 | 0) == 0 ? 0 : 0 - $706 & 7; - $714 = $tbase$255$i + ($tsize$254$i + 8) | 0; - $719 = ($714 & 7 | 0) == 0 ? 0 : 0 - $714 & 7; - $720 = $tbase$255$i + ($719 + $tsize$254$i) | 0; - $$sum$i19$i = $711 + $nb$0 | 0; - $724 = $tbase$255$i + $$sum$i19$i | 0; - $725 = $720 - ($tbase$255$i + $711) - $nb$0 | 0; - HEAP32[$tbase$255$i + ($711 + 4) >> 2] = $nb$0 | 3; - L324 : do if (($720 | 0) == ($635 | 0)) { - $730 = (HEAP32[759] | 0) + $725 | 0; - HEAP32[759] = $730; - HEAP32[762] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 4) >> 2] = $730 | 1; - } else { - if (($720 | 0) == (HEAP32[761] | 0)) { - $736 = (HEAP32[758] | 0) + $725 | 0; - HEAP32[758] = $736; - HEAP32[761] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 4) >> 2] = $736 | 1; - HEAP32[$tbase$255$i + ($736 + $$sum$i19$i) >> 2] = $736; - break; - } - $$sum2$i21$i = $tsize$254$i + 4 | 0; - $741 = HEAP32[$tbase$255$i + ($$sum2$i21$i + $719) >> 2] | 0; - if (($741 & 3 | 0) == 1) { - $744 = $741 & -8; - $745 = $741 >>> 3; - L332 : do if ($741 >>> 0 < 256) { - $748 = HEAP32[$tbase$255$i + (($719 | 8) + $tsize$254$i) >> 2] | 0; - $750 = HEAP32[$tbase$255$i + ($tsize$254$i + 12 + $719) >> 2] | 0; - $752 = 3064 + ($745 << 1 << 2) | 0; - do if (($748 | 0) != ($752 | 0)) { - if ($748 >>> 0 < $755 >>> 0) _abort(); - if ((HEAP32[$748 + 12 >> 2] | 0) == ($720 | 0)) break; - _abort(); - } while (0); - if (($750 | 0) == ($748 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $745); - break; - } - do if (($750 | 0) == ($752 | 0)) $$pre$phi58$i$iZ2D = $750 + 8 | 0; else { - if ($750 >>> 0 < $755 >>> 0) _abort(); - $766 = $750 + 8 | 0; - if ((HEAP32[$766 >> 2] | 0) == ($720 | 0)) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - } while (0); - HEAP32[$748 + 12 >> 2] = $750; - HEAP32[$$pre$phi58$i$iZ2D >> 2] = $748; - } else { - $771 = HEAP32[$tbase$255$i + (($719 | 24) + $tsize$254$i) >> 2] | 0; - $773 = HEAP32[$tbase$255$i + ($tsize$254$i + 12 + $719) >> 2] | 0; - do if (($773 | 0) == ($720 | 0)) { - $$sum67$i$i = $719 | 16; - $784 = $tbase$255$i + ($$sum2$i21$i + $$sum67$i$i) | 0; - $785 = HEAP32[$784 >> 2] | 0; - if (!$785) { - $787 = $tbase$255$i + ($$sum67$i$i + $tsize$254$i) | 0; - $788 = HEAP32[$787 >> 2] | 0; - if (!$788) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788; - $RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785; - $RP$0$i$i = $784; - } - while (1) { - $790 = $R$0$i$i + 20 | 0; - $791 = HEAP32[$790 >> 2] | 0; - if ($791) { - $R$0$i$i = $791; - $RP$0$i$i = $790; - continue; - } - $793 = $R$0$i$i + 16 | 0; - $794 = HEAP32[$793 >> 2] | 0; - if (!$794) { - $R$0$i$i$lcssa = $R$0$i$i; - $RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794; - $RP$0$i$i = $793; - } - } - if ($RP$0$i$i$lcssa >>> 0 < $755 >>> 0) _abort(); else { - HEAP32[$RP$0$i$i$lcssa >> 2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $776 = HEAP32[$tbase$255$i + (($719 | 8) + $tsize$254$i) >> 2] | 0; - if ($776 >>> 0 < $755 >>> 0) _abort(); - $778 = $776 + 12 | 0; - if ((HEAP32[$778 >> 2] | 0) != ($720 | 0)) _abort(); - $781 = $773 + 8 | 0; - if ((HEAP32[$781 >> 2] | 0) == ($720 | 0)) { - HEAP32[$778 >> 2] = $773; - HEAP32[$781 >> 2] = $776; - $R$1$i$i = $773; - break; - } else _abort(); - } while (0); - if (!$771) break; - $799 = HEAP32[$tbase$255$i + ($tsize$254$i + 28 + $719) >> 2] | 0; - $800 = 3328 + ($799 << 2) | 0; - do if (($720 | 0) == (HEAP32[$800 >> 2] | 0)) { - HEAP32[$800 >> 2] = $R$1$i$i; - if ($R$1$i$i) break; - HEAP32[757] = HEAP32[757] & ~(1 << $799); - break L332; - } else { - if ($771 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $809 = $771 + 16 | 0; - if ((HEAP32[$809 >> 2] | 0) == ($720 | 0)) HEAP32[$809 >> 2] = $R$1$i$i; else HEAP32[$771 + 20 >> 2] = $R$1$i$i; - if (!$R$1$i$i) break L332; - } while (0); - $814 = HEAP32[760] | 0; - if ($R$1$i$i >>> 0 < $814 >>> 0) _abort(); - HEAP32[$R$1$i$i + 24 >> 2] = $771; - $$sum3132$i$i = $719 | 16; - $818 = HEAP32[$tbase$255$i + ($$sum3132$i$i + $tsize$254$i) >> 2] | 0; - do if ($818) if ($818 >>> 0 < $814 >>> 0) _abort(); else { - HEAP32[$R$1$i$i + 16 >> 2] = $818; - HEAP32[$818 + 24 >> 2] = $R$1$i$i; - break; - } while (0); - $824 = HEAP32[$tbase$255$i + ($$sum2$i21$i + $$sum3132$i$i) >> 2] | 0; - if (!$824) break; - if ($824 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1$i$i + 20 >> 2] = $824; - HEAP32[$824 + 24 >> 2] = $R$1$i$i; - break; - } - } while (0); - $oldfirst$0$i$i = $tbase$255$i + (($744 | $719) + $tsize$254$i) | 0; - $qsize$0$i$i = $744 + $725 | 0; - } else { - $oldfirst$0$i$i = $720; - $qsize$0$i$i = $725; - } - $832 = $oldfirst$0$i$i + 4 | 0; - HEAP32[$832 >> 2] = HEAP32[$832 >> 2] & -2; - HEAP32[$tbase$255$i + ($$sum$i19$i + 4) >> 2] = $qsize$0$i$i | 1; - HEAP32[$tbase$255$i + ($qsize$0$i$i + $$sum$i19$i) >> 2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - if ($qsize$0$i$i >>> 0 < 256) { - $840 = $838 << 1; - $841 = 3064 + ($840 << 2) | 0; - $842 = HEAP32[756] | 0; - $843 = 1 << $838; - do if (!($842 & $843)) { - HEAP32[756] = $842 | $843; - $$pre$phi$i23$iZ2D = 3064 + ($840 + 2 << 2) | 0; - $F4$0$i$i = $841; - } else { - $847 = 3064 + ($840 + 2 << 2) | 0; - $848 = HEAP32[$847 >> 2] | 0; - if ($848 >>> 0 >= (HEAP32[760] | 0) >>> 0) { - $$pre$phi$i23$iZ2D = $847; - $F4$0$i$i = $848; - break; - } - _abort(); - } while (0); - HEAP32[$$pre$phi$i23$iZ2D >> 2] = $724; - HEAP32[$F4$0$i$i + 12 >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 8) >> 2] = $F4$0$i$i; - HEAP32[$tbase$255$i + ($$sum$i19$i + 12) >> 2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - do if (!$854) $I7$0$i$i = 0; else { - if ($qsize$0$i$i >>> 0 > 16777215) { - $I7$0$i$i = 31; - break; - } - $859 = ($854 + 1048320 | 0) >>> 16 & 8; - $860 = $854 << $859; - $863 = ($860 + 520192 | 0) >>> 16 & 4; - $865 = $860 << $863; - $868 = ($865 + 245760 | 0) >>> 16 & 2; - $873 = 14 - ($863 | $859 | $868) + ($865 << $868 >>> 15) | 0; - $I7$0$i$i = $qsize$0$i$i >>> ($873 + 7 | 0) & 1 | $873 << 1; - } while (0); - $879 = 3328 + ($I7$0$i$i << 2) | 0; - HEAP32[$tbase$255$i + ($$sum$i19$i + 28) >> 2] = $I7$0$i$i; - HEAP32[$tbase$255$i + ($$sum$i19$i + 20) >> 2] = 0; - HEAP32[$tbase$255$i + ($$sum$i19$i + 16) >> 2] = 0; - $883 = HEAP32[757] | 0; - $884 = 1 << $I7$0$i$i; - if (!($883 & $884)) { - HEAP32[757] = $883 | $884; - HEAP32[$879 >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 24) >> 2] = $879; - HEAP32[$tbase$255$i + ($$sum$i19$i + 12) >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 8) >> 2] = $724; - break; - } - $891 = HEAP32[$879 >> 2] | 0; - L418 : do if ((HEAP32[$891 + 4 >> 2] & -8 | 0) == ($qsize$0$i$i | 0)) $T$0$lcssa$i25$i = $891; else { - $K8$051$i$i = $qsize$0$i$i << (($I7$0$i$i | 0) == 31 ? 0 : 25 - ($I7$0$i$i >>> 1) | 0); - $T$050$i$i = $891; - while (1) { - $908 = $T$050$i$i + 16 + ($K8$051$i$i >>> 31 << 2) | 0; - $903 = HEAP32[$908 >> 2] | 0; - if (!$903) { - $$lcssa = $908; - $T$050$i$i$lcssa = $T$050$i$i; - break; - } - if ((HEAP32[$903 + 4 >> 2] & -8 | 0) == ($qsize$0$i$i | 0)) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $K8$051$i$i << 1; - $T$050$i$i = $903; - } - } - if ($$lcssa >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$$lcssa >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 24) >> 2] = $T$050$i$i$lcssa; - HEAP32[$tbase$255$i + ($$sum$i19$i + 12) >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 8) >> 2] = $724; - break L324; - } - } while (0); - $915 = $T$0$lcssa$i25$i + 8 | 0; - $916 = HEAP32[$915 >> 2] | 0; - $917 = HEAP32[760] | 0; - if ($916 >>> 0 >= $917 >>> 0 & $T$0$lcssa$i25$i >>> 0 >= $917 >>> 0) { - HEAP32[$916 + 12 >> 2] = $724; - HEAP32[$915 >> 2] = $724; - HEAP32[$tbase$255$i + ($$sum$i19$i + 8) >> 2] = $916; - HEAP32[$tbase$255$i + ($$sum$i19$i + 12) >> 2] = $T$0$lcssa$i25$i; - HEAP32[$tbase$255$i + ($$sum$i19$i + 24) >> 2] = 0; - break; - } else _abort(); - } while (0); - $mem$0 = $tbase$255$i + ($711 | 8) | 0; - return $mem$0 | 0; - } else $sp$0$i$i$i = 3472; - while (1) { - $925 = HEAP32[$sp$0$i$i$i >> 2] | 0; - if ($925 >>> 0 <= $635 >>> 0) { - $928 = HEAP32[$sp$0$i$i$i + 4 >> 2] | 0; - $929 = $925 + $928 | 0; - if ($929 >>> 0 > $635 >>> 0) { - $$lcssa215 = $925; - $$lcssa216 = $928; - $$lcssa217 = $929; - break; - } - } - $sp$0$i$i$i = HEAP32[$sp$0$i$i$i + 8 >> 2] | 0; - } - $934 = $$lcssa215 + ($$lcssa216 + -39) | 0; - $940 = $$lcssa215 + ($$lcssa216 + -47 + (($934 & 7 | 0) == 0 ? 0 : 0 - $934 & 7)) | 0; - $941 = $635 + 16 | 0; - $943 = $940 >>> 0 < $941 >>> 0 ? $635 : $940; - $944 = $943 + 8 | 0; - $947 = $tbase$255$i + 8 | 0; - $952 = ($947 & 7 | 0) == 0 ? 0 : 0 - $947 & 7; - $954 = $tsize$254$i + -40 - $952 | 0; - HEAP32[762] = $tbase$255$i + $952; - HEAP32[759] = $954; - HEAP32[$tbase$255$i + ($952 + 4) >> 2] = $954 | 1; - HEAP32[$tbase$255$i + ($tsize$254$i + -36) >> 2] = 40; - HEAP32[763] = HEAP32[878]; - $959 = $943 + 4 | 0; - HEAP32[$959 >> 2] = 27; - HEAP32[$944 >> 2] = HEAP32[868]; - HEAP32[$944 + 4 >> 2] = HEAP32[869]; - HEAP32[$944 + 8 >> 2] = HEAP32[870]; - HEAP32[$944 + 12 >> 2] = HEAP32[871]; - HEAP32[868] = $tbase$255$i; - HEAP32[869] = $tsize$254$i; - HEAP32[871] = 0; - HEAP32[870] = $944; - $960 = $943 + 28 | 0; - HEAP32[$960 >> 2] = 7; - if (($943 + 32 | 0) >>> 0 < $$lcssa217 >>> 0) { - $964 = $960; - do { - $964$looptemp = $964; - $964 = $964 + 4 | 0; - HEAP32[$964 >> 2] = 7; - } while (($964$looptemp + 8 | 0) >>> 0 < $$lcssa217 >>> 0); - } - if (($943 | 0) != ($635 | 0)) { - $970 = $943 - $635 | 0; - HEAP32[$959 >> 2] = HEAP32[$959 >> 2] & -2; - HEAP32[$635 + 4 >> 2] = $970 | 1; - HEAP32[$943 >> 2] = $970; - $975 = $970 >>> 3; - if ($970 >>> 0 < 256) { - $977 = $975 << 1; - $978 = 3064 + ($977 << 2) | 0; - $979 = HEAP32[756] | 0; - $980 = 1 << $975; - if (!($979 & $980)) { - HEAP32[756] = $979 | $980; - $$pre$phi$i$iZ2D = 3064 + ($977 + 2 << 2) | 0; - $F$0$i$i = $978; - } else { - $984 = 3064 + ($977 + 2 << 2) | 0; - $985 = HEAP32[$984 >> 2] | 0; - if ($985 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phi$i$iZ2D = $984; - $F$0$i$i = $985; - } - } - HEAP32[$$pre$phi$i$iZ2D >> 2] = $635; - HEAP32[$F$0$i$i + 12 >> 2] = $635; - HEAP32[$635 + 8 >> 2] = $F$0$i$i; - HEAP32[$635 + 12 >> 2] = $978; - break; - } - $991 = $970 >>> 8; - if (!$991) $I1$0$i$i = 0; else if ($970 >>> 0 > 16777215) $I1$0$i$i = 31; else { - $996 = ($991 + 1048320 | 0) >>> 16 & 8; - $997 = $991 << $996; - $1000 = ($997 + 520192 | 0) >>> 16 & 4; - $1002 = $997 << $1000; - $1005 = ($1002 + 245760 | 0) >>> 16 & 2; - $1010 = 14 - ($1000 | $996 | $1005) + ($1002 << $1005 >>> 15) | 0; - $I1$0$i$i = $970 >>> ($1010 + 7 | 0) & 1 | $1010 << 1; - } - $1016 = 3328 + ($I1$0$i$i << 2) | 0; - HEAP32[$635 + 28 >> 2] = $I1$0$i$i; - HEAP32[$635 + 20 >> 2] = 0; - HEAP32[$941 >> 2] = 0; - $1019 = HEAP32[757] | 0; - $1020 = 1 << $I1$0$i$i; - if (!($1019 & $1020)) { - HEAP32[757] = $1019 | $1020; - HEAP32[$1016 >> 2] = $635; - HEAP32[$635 + 24 >> 2] = $1016; - HEAP32[$635 + 12 >> 2] = $635; - HEAP32[$635 + 8 >> 2] = $635; - break; - } - $1027 = HEAP32[$1016 >> 2] | 0; - L459 : do if ((HEAP32[$1027 + 4 >> 2] & -8 | 0) == ($970 | 0)) $T$0$lcssa$i$i = $1027; else { - $K2$07$i$i = $970 << (($I1$0$i$i | 0) == 31 ? 0 : 25 - ($I1$0$i$i >>> 1) | 0); - $T$06$i$i = $1027; - while (1) { - $1044 = $T$06$i$i + 16 + ($K2$07$i$i >>> 31 << 2) | 0; - $1039 = HEAP32[$1044 >> 2] | 0; - if (!$1039) { - $$lcssa211 = $1044; - $T$06$i$i$lcssa = $T$06$i$i; - break; - } - if ((HEAP32[$1039 + 4 >> 2] & -8 | 0) == ($970 | 0)) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $K2$07$i$i << 1; - $T$06$i$i = $1039; - } - } - if ($$lcssa211 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$$lcssa211 >> 2] = $635; - HEAP32[$635 + 24 >> 2] = $T$06$i$i$lcssa; - HEAP32[$635 + 12 >> 2] = $635; - HEAP32[$635 + 8 >> 2] = $635; - break L299; - } - } while (0); - $1051 = $T$0$lcssa$i$i + 8 | 0; - $1052 = HEAP32[$1051 >> 2] | 0; - $1053 = HEAP32[760] | 0; - if ($1052 >>> 0 >= $1053 >>> 0 & $T$0$lcssa$i$i >>> 0 >= $1053 >>> 0) { - HEAP32[$1052 + 12 >> 2] = $635; - HEAP32[$1051 >> 2] = $635; - HEAP32[$635 + 8 >> 2] = $1052; - HEAP32[$635 + 12 >> 2] = $T$0$lcssa$i$i; - HEAP32[$635 + 24 >> 2] = 0; - break; - } else _abort(); - } - } while (0); - $1060 = HEAP32[759] | 0; - if ($1060 >>> 0 > $nb$0 >>> 0) { - $1062 = $1060 - $nb$0 | 0; - HEAP32[759] = $1062; - $1063 = HEAP32[762] | 0; - HEAP32[762] = $1063 + $nb$0; - HEAP32[$1063 + ($nb$0 + 4) >> 2] = $1062 | 1; - HEAP32[$1063 + 4 >> 2] = $nb$0 | 3; - $mem$0 = $1063 + 8 | 0; - return $mem$0 | 0; - } - } - $1070 = ___errno_location() | 0; - HEAP32[$1070 >> 2] = 12; - $mem$0 = 0; - return $mem$0 | 0; -} - -function ___floatscan($f, $prec, $pok) { - $f = $f | 0; - $prec = $prec | 0; - $pok = $pok | 0; - var $$0 = 0.0, $$0$i27 = 0.0, $$010$i = 0, $$07$i = 0, $$0710$i = 0, $$0711$i = 0, $$09$i = 0, $$1$be$i = 0, $$1$ph$i = 0, $$18$i = 0, $$2$i = 0, $$3$be$i = 0, $$3$lcssa$i = 0, $$3105$i = 0, $$in = 0, $$lcssa = 0, $$lcssa256 = 0, $$lcssa256$lcssa = 0, $$lcssa257 = 0, $$lcssa257$lcssa = 0, $$lcssa263 = 0, $$lcssa264 = 0, $$lcssa265 = 0, $$lcssa275 = 0, $$not$i = 0, $$pre$i = 0, $$pre$i17 = 0, $$pre$phi42$iZ2D = 0.0, $$sink$off0$i = 0, $0 = 0, $1 = 0, $103 = 0, $113 = 0, $115 = 0, $123 = 0, $125 = 0, $132 = 0, $139 = 0, $147 = 0, $15 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $159 = 0, $16 = 0, $160 = 0, $164 = 0, $169 = 0, $171 = 0, $183 = 0.0, $190 = 0, $192 = 0, $2 = 0, $201 = 0, $205 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $223 = 0, $224 = 0, $225 = 0, $235 = 0, $236 = 0, $249 = 0, $251 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $266 = 0, $270 = 0, $272 = 0, $279 = 0, $283 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $295 = 0, $297 = 0, $298 = 0, $299 = 0, $300 = 0, $310 = 0.0, $322 = 0.0, $324 = 0, $330 = 0, $331 = 0, $338 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $350 = 0, $358 = 0, $36 = 0, $360 = 0, $362 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $371 = 0, $376 = 0, $377 = 0, $381 = 0, $39 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $402 = 0, $403 = 0, $412 = 0, $413 = 0, $414 = 0, $42 = 0, $421 = 0, $422 = 0, $427 = 0, $428 = 0, $430 = 0, $431 = 0, $444 = 0, $446 = 0, $452 = 0, $456 = 0, $458 = 0, $464 = 0, $470 = 0, $471 = 0, $472 = 0, $494 = 0, $506 = 0, $510 = 0, $513 = 0, $515 = 0, $516 = 0, $517 = 0, $520 = 0, $521 = 0, $533 = 0, $534 = 0, $535 = 0, $539 = 0, $541 = 0, $543 = 0, $544 = 0, $550 = 0, $552 = 0, $557 = 0, $560 = 0, $564 = 0, $567 = 0, $572 = 0, $576 = 0, $577 = 0, $579 = 0, $583 = 0, $585 = 0, $588 = 0, $589 = 0, $590 = 0, $591 = 0, $594 = 0, $595 = 0, $60 = 0, $604 = 0, $609 = 0, $610 = 0, $617 = 0, $619 = 0.0, $621 = 0, $625 = 0.0, $626 = 0.0, $629 = 0.0, $633 = 0, $636 = 0, $643 = 0.0, $661 = 0.0, $663 = 0, $669 = 0, $67 = 0, $670 = 0, $677 = 0, $680 = 0, $69 = 0, $691 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $77 = 0, $82 = 0, $9 = 0, $90 = 0, $99 = 0, $a$0$lcssa151$i = 0, $a$085$i = 0, $a$1$i = 0, $a$1$i$lcssa = 0, $a$2$ph38$i = 0, $a$3$i = 0, $a$3$i$lcssa248 = 0, $a$3$i249 = 0, $a$3$ph$i = 0, $a$3$ph157$i = 0, $a$478$i = 0, $a$5$i = 0, $a$5$i$lcssa = 0, $a$5$i$lcssa$lcssa = 0, $bias$0$i = 0.0, $bias$0$i25 = 0.0, $bits$0$ph = 0, $c$0 = 0, $c$0$i = 0, $c$1$lcssa = 0, $c$1$ph$i = 0, $c$179 = 0, $c$2 = 0, $c$2$i = 0, $c$2$lcssa$i = 0, $c$377 = 0, $c$4 = 0, $c$5 = 0, $c$6 = 0, $carry$087$i = 0, $carry1$0$i = 0, $carry1$1$i = 0, $carry1$1$i$lcssa = 0, $carry1$1$i$lcssa$lcssa = 0, $carry3$081$i = 0, $d$0$i = 0, $denormal$0$i = 0, $denormal$2$i = 0, $e2$0$i19 = 0, $e2$0$ph$i = 0, $e2$1$i = 0, $e2$1$i246 = 0, $e2$1$ph$i = 0, $e2$1$ph156$i = 0, $e2$2$i = 0, $e2$3$i = 0, $emin$0$ph = 0, $frac$0$i = 0.0, $frac$1$i = 0.0, $frac$2$i = 0.0, $gotdig$0$i = 0, $gotdig$0$i$lcssa242 = 0, $gotdig$0$i12 = 0, $gotdig$0$i12$lcssa273 = 0, $gotdig$2$i = 0, $gotdig$2$i$lcssa = 0, $gotdig$2$i13 = 0, $gotdig$3$i = 0, $gotdig$3$lcssa$i = 0, $gotdig$3101$i = 0, $gotdig$3101$i$lcssa = 0, $gotdig$4$i = 0, $gotrad$0$i = 0, $gotrad$0$i$lcssa = 0, $gotrad$0$i14 = 0, $gotrad$1$i = 0, $gotrad$1$lcssa$i = 0, $gotrad$1102$i = 0, $gotrad$2$i = 0, $gottail$0$i = 0, $gottail$1$i = 0, $gottail$2$i = 0, $i$0$lcssa = 0, $i$078 = 0, $i$1 = 0, $i$276 = 0, $i$3 = 0, $i$4 = 0, $i$4$lcssa = 0, $j$0$lcssa$i = 0, $j$0104$i = 0, $j$0104$i$lcssa = 0, $j$067$i = 0, $j$068$i = 0, $j$069$i = 0, $j$2$i = 0, $j$394$i = 0, $k$0$lcssa$i = 0, $k$0103$i = 0, $k$0103$i$lcssa = 0, $k$063$i = 0, $k$064$i = 0, $k$065$i = 0, $k$2$i = 0, $k$3$i = 0, $k$486$i = 0, $k$5$i = 0, $k$5$in$i = 0, $k$679$i = 0, $lnz$0$lcssa$i = 0, $lnz$0100$i = 0, $lnz$0100$i$lcssa = 0, $lnz$057$i = 0, $lnz$058$i = 0, $lnz$059$i = 0, $lnz$2$i = 0, $or$cond16$i = 0, $or$cond19$i = 0, $or$cond9$i = 0, $rp$0$lcssa152$i = 0, $rp$084$i = 0, $rp$1$i18 = 0, $rp$1$i18$lcssa = 0, $rp$2$ph36$i = 0, $rp$3$ph$i = 0, $rp$3$ph34$i = 0, $rp$477$i = 0, $rp$5$i = 0, $rp$5$i$lcssa = 0, $rp$5$i$lcssa$lcssa = 0, $scale$0$i = 0.0, $scale$1$i = 0.0, $scale$2$i = 0.0, $sign$0 = 0, $storemerge$i = 0, $sum$i = 0, $x$0$i = 0, $x$0$i$lcssa = 0, $x$1$i = 0, $x$2$i = 0, $x$3$lcssa$i = 0, $x$324$i = 0, $x$4$lcssa$i = 0, $x$419$i = 0, $x$5$i = 0, $x$i = 0, $y$0$i = 0.0, $y$0$i$lcssa = 0.0, $y$1$i = 0.0, $y$1$i24 = 0.0, $y$2$i = 0.0, $y$2$i26 = 0.0, $y$3$i = 0.0, $y$3$lcssa$i = 0.0, $y$320$i = 0.0, $y$4$i = 0.0, $z$0$i = 0, $z$1$i = 0, $z$1$ph37$i = 0, $z$2$i = 0, $z$3$i = 0, $z$3$i$lcssa = 0, $z$3$i$lcssa$lcssa = 0, $z$4$i = 0, $z$5$ph$i = 0, $z$7$1$i = 0, $z$7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $x$i = sp; - switch ($prec | 0) { - case 0: - { - $bits$0$ph = 24; - $emin$0$ph = -149; - label = 4; - break; - } - case 1: - { - $bits$0$ph = 53; - $emin$0$ph = -1074; - label = 4; - break; - } - case 2: - { - $bits$0$ph = 53; - $emin$0$ph = -1074; - label = 4; - break; - } - default: - $$0 = 0.0; - } - L4 : do if ((label | 0) == 4) { - $0 = $f + 4 | 0; - $1 = $f + 100 | 0; - do { - $2 = HEAP32[$0 >> 2] | 0; - if ($2 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $2 + 1; - $9 = HEAPU8[$2 >> 0] | 0; - } else $9 = ___shgetc($f) | 0; - } while ((_isspace($9) | 0) != 0); - $$lcssa275 = $9; - L13 : do switch ($$lcssa275 | 0) { - case 43: - case 45: - { - $15 = 1 - ((($$lcssa275 | 0) == 45 & 1) << 1) | 0; - $16 = HEAP32[$0 >> 2] | 0; - if ($16 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $16 + 1; - $c$0 = HEAPU8[$16 >> 0] | 0; - $sign$0 = $15; - break L13; - } else { - $c$0 = ___shgetc($f) | 0; - $sign$0 = $15; - break L13; - } - break; - } - default: - { - $c$0 = $$lcssa275; - $sign$0 = 1; - } - } while (0); - $c$179 = $c$0; - $i$078 = 0; - while (1) { - if (($c$179 | 32 | 0) != (HEAP8[16484 + $i$078 >> 0] | 0)) { - $c$1$lcssa = $c$179; - $i$0$lcssa = $i$078; - break; - } - do if ($i$078 >>> 0 < 7) { - $29 = HEAP32[$0 >> 2] | 0; - if ($29 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $29 + 1; - $c$2 = HEAPU8[$29 >> 0] | 0; - break; - } else { - $c$2 = ___shgetc($f) | 0; - break; - } - } else $c$2 = $c$179; while (0); - $36 = $i$078 + 1 | 0; - if ($36 >>> 0 < 8) { - $c$179 = $c$2; - $i$078 = $36; - } else { - $c$1$lcssa = $c$2; - $i$0$lcssa = $36; - break; - } - } - L29 : do switch ($i$0$lcssa | 0) { - case 8: - break; - case 3: - { - label = 23; - break; - } - default: - { - $39 = ($pok | 0) != 0; - if ($39 & $i$0$lcssa >>> 0 > 3) if (($i$0$lcssa | 0) == 8) break L29; else { - label = 23; - break L29; - } - L34 : do if (!$i$0$lcssa) { - $c$377 = $c$1$lcssa; - $i$276 = 0; - while (1) { - if (($c$377 | 32 | 0) != (HEAP8[18327 + $i$276 >> 0] | 0)) { - $c$5 = $c$377; - $i$3 = $i$276; - break L34; - } - do if ($i$276 >>> 0 < 2) { - $60 = HEAP32[$0 >> 2] | 0; - if ($60 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $60 + 1; - $c$4 = HEAPU8[$60 >> 0] | 0; - break; - } else { - $c$4 = ___shgetc($f) | 0; - break; - } - } else $c$4 = $c$377; while (0); - $67 = $i$276 + 1 | 0; - if ($67 >>> 0 < 3) { - $c$377 = $c$4; - $i$276 = $67; - } else { - $c$5 = $c$4; - $i$3 = $67; - break; - } - } - } else { - $c$5 = $c$1$lcssa; - $i$3 = $i$0$lcssa; - } while (0); - switch ($i$3 | 0) { - case 3: - { - $69 = HEAP32[$0 >> 2] | 0; - if ($69 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $69 + 1; - $77 = HEAPU8[$69 >> 0] | 0; - } else $77 = ___shgetc($f) | 0; - if (($77 | 0) == 40) $i$4 = 1; else { - if (!(HEAP32[$1 >> 2] | 0)) { - $$0 = nan; - break L4; - } - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $$0 = nan; - break L4; - } - while (1) { - $82 = HEAP32[$0 >> 2] | 0; - if ($82 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $82 + 1; - $90 = HEAPU8[$82 >> 0] | 0; - } else $90 = ___shgetc($f) | 0; - if (!(($90 + -48 | 0) >>> 0 < 10 | ($90 + -65 | 0) >>> 0 < 26)) if (!(($90 | 0) == 95 | ($90 + -97 | 0) >>> 0 < 26)) { - $$lcssa = $90; - $i$4$lcssa = $i$4; - break; - } - $i$4 = $i$4 + 1 | 0; - } - if (($$lcssa | 0) == 41) { - $$0 = nan; - break L4; - } - $99 = (HEAP32[$1 >> 2] | 0) == 0; - if (!$99) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - if (!$39) { - $103 = ___errno_location() | 0; - HEAP32[$103 >> 2] = 22; - ___shlim($f, 0); - $$0 = 0.0; - break L4; - } - if (!$i$4$lcssa) { - $$0 = nan; - break L4; - } else $$in = $i$4$lcssa; - while (1) { - $$in = $$in + -1 | 0; - if (!$99) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - if (!$$in) { - $$0 = nan; - break L4; - } - } - break; - } - case 0: - { - do if (($c$5 | 0) == 48) { - $115 = HEAP32[$0 >> 2] | 0; - if ($115 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $115 + 1; - $123 = HEAPU8[$115 >> 0] | 0; - } else $123 = ___shgetc($f) | 0; - if (($123 | 32 | 0) != 120) { - if (!(HEAP32[$1 >> 2] | 0)) { - $c$6 = 48; - break; - } - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $c$6 = 48; - break; - } - $125 = HEAP32[$0 >> 2] | 0; - if ($125 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $125 + 1; - $c$0$i = HEAPU8[$125 >> 0] | 0; - $gotdig$0$i = 0; - } else { - $c$0$i = ___shgetc($f) | 0; - $gotdig$0$i = 0; - } - L94 : while (1) { - switch ($c$0$i | 0) { - case 46: - { - $gotdig$0$i$lcssa242 = $gotdig$0$i; - label = 74; - break L94; - break; - } - case 48: - break; - default: - { - $169 = 0; - $171 = 0; - $694 = 0; - $695 = 0; - $c$2$i = $c$0$i; - $gotdig$2$i = $gotdig$0$i; - $gotrad$0$i = 0; - $gottail$0$i = 0; - $scale$0$i = 1.0; - $x$0$i = 0; - $y$0$i = 0.0; - break L94; - } - } - $132 = HEAP32[$0 >> 2] | 0; - if ($132 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $132 + 1; - $c$0$i = HEAPU8[$132 >> 0] | 0; - $gotdig$0$i = 1; - continue; - } else { - $c$0$i = ___shgetc($f) | 0; - $gotdig$0$i = 1; - continue; - } - } - if ((label | 0) == 74) { - $139 = HEAP32[$0 >> 2] | 0; - if ($139 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $139 + 1; - $c$1$ph$i = HEAPU8[$139 >> 0] | 0; - } else $c$1$ph$i = ___shgetc($f) | 0; - if (($c$1$ph$i | 0) == 48) { - $154 = 0; - $155 = 0; - while (1) { - $147 = HEAP32[$0 >> 2] | 0; - if ($147 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $147 + 1; - $159 = HEAPU8[$147 >> 0] | 0; - } else $159 = ___shgetc($f) | 0; - $156 = _i64Add($154 | 0, $155 | 0, -1, -1) | 0; - $157 = tempRet0; - if (($159 | 0) == 48) { - $154 = $156; - $155 = $157; - } else { - $169 = 0; - $171 = 0; - $694 = $156; - $695 = $157; - $c$2$i = $159; - $gotdig$2$i = 1; - $gotrad$0$i = 1; - $gottail$0$i = 0; - $scale$0$i = 1.0; - $x$0$i = 0; - $y$0$i = 0.0; - break; - } - } - } else { - $169 = 0; - $171 = 0; - $694 = 0; - $695 = 0; - $c$2$i = $c$1$ph$i; - $gotdig$2$i = $gotdig$0$i$lcssa242; - $gotrad$0$i = 1; - $gottail$0$i = 0; - $scale$0$i = 1.0; - $x$0$i = 0; - $y$0$i = 0.0; - } - } - while (1) { - $160 = $c$2$i + -48 | 0; - $$pre$i = $c$2$i | 32; - if ($160 >>> 0 < 10) label = 86; else { - $164 = ($c$2$i | 0) == 46; - if (!($164 | ($$pre$i + -97 | 0) >>> 0 < 6)) { - $213 = $171; - $214 = $694; - $216 = $169; - $217 = $695; - $c$2$lcssa$i = $c$2$i; - $gotdig$2$i$lcssa = $gotdig$2$i; - $gotrad$0$i$lcssa = $gotrad$0$i; - $x$0$i$lcssa = $x$0$i; - $y$0$i$lcssa = $y$0$i; - break; - } - if ($164) if (!$gotrad$0$i) { - $696 = $171; - $697 = $169; - $698 = $171; - $699 = $169; - $gotdig$3$i = $gotdig$2$i; - $gotrad$1$i = 1; - $gottail$2$i = $gottail$0$i; - $scale$2$i = $scale$0$i; - $x$2$i = $x$0$i; - $y$2$i = $y$0$i; - } else { - $213 = $171; - $214 = $694; - $216 = $169; - $217 = $695; - $c$2$lcssa$i = 46; - $gotdig$2$i$lcssa = $gotdig$2$i; - $gotrad$0$i$lcssa = $gotrad$0$i; - $x$0$i$lcssa = $x$0$i; - $y$0$i$lcssa = $y$0$i; - break; - } else label = 86; - } - if ((label | 0) == 86) { - label = 0; - $d$0$i = ($c$2$i | 0) > 57 ? $$pre$i + -87 | 0 : $160; - do if (($169 | 0) < 0 | ($169 | 0) == 0 & $171 >>> 0 < 8) { - $gottail$1$i = $gottail$0$i; - $scale$1$i = $scale$0$i; - $x$1$i = $d$0$i + ($x$0$i << 4) | 0; - $y$1$i = $y$0$i; - } else { - if (($169 | 0) < 0 | ($169 | 0) == 0 & $171 >>> 0 < 14) { - $183 = $scale$0$i * .0625; - $gottail$1$i = $gottail$0$i; - $scale$1$i = $183; - $x$1$i = $x$0$i; - $y$1$i = $y$0$i + $183 * +($d$0$i | 0); - break; - } - if (($gottail$0$i | 0) != 0 | ($d$0$i | 0) == 0) { - $gottail$1$i = $gottail$0$i; - $scale$1$i = $scale$0$i; - $x$1$i = $x$0$i; - $y$1$i = $y$0$i; - } else { - $gottail$1$i = 1; - $scale$1$i = $scale$0$i; - $x$1$i = $x$0$i; - $y$1$i = $y$0$i + $scale$0$i * .5; - } - } while (0); - $190 = _i64Add($171 | 0, $169 | 0, 1, 0) | 0; - $696 = $694; - $697 = $695; - $698 = $190; - $699 = tempRet0; - $gotdig$3$i = 1; - $gotrad$1$i = $gotrad$0$i; - $gottail$2$i = $gottail$1$i; - $scale$2$i = $scale$1$i; - $x$2$i = $x$1$i; - $y$2$i = $y$1$i; - } - $192 = HEAP32[$0 >> 2] | 0; - if ($192 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $192 + 1; - $169 = $699; - $171 = $698; - $694 = $696; - $695 = $697; - $c$2$i = HEAPU8[$192 >> 0] | 0; - $gotdig$2$i = $gotdig$3$i; - $gotrad$0$i = $gotrad$1$i; - $gottail$0$i = $gottail$2$i; - $scale$0$i = $scale$2$i; - $x$0$i = $x$2$i; - $y$0$i = $y$2$i; - continue; - } else { - $169 = $699; - $171 = $698; - $694 = $696; - $695 = $697; - $c$2$i = ___shgetc($f) | 0; - $gotdig$2$i = $gotdig$3$i; - $gotrad$0$i = $gotrad$1$i; - $gottail$0$i = $gottail$2$i; - $scale$0$i = $scale$2$i; - $x$0$i = $x$2$i; - $y$0$i = $y$2$i; - continue; - } - } - if (!$gotdig$2$i$lcssa) { - $201 = (HEAP32[$1 >> 2] | 0) == 0; - if (!$201) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - if (!$pok) ___shlim($f, 0); else if (!$201) { - $205 = HEAP32[$0 >> 2] | 0; - HEAP32[$0 >> 2] = $205 + -1; - if ($gotrad$0$i$lcssa) HEAP32[$0 >> 2] = $205 + -2; - } - $$0 = +($sign$0 | 0) * 0.0; - break L4; - } - $211 = ($gotrad$0$i$lcssa | 0) == 0; - $212 = $211 ? $213 : $214; - $215 = $211 ? $216 : $217; - if (($216 | 0) < 0 | ($216 | 0) == 0 & $213 >>> 0 < 8) { - $224 = $213; - $225 = $216; - $x$324$i = $x$0$i$lcssa; - while (1) { - $223 = $x$324$i << 4; - $224 = _i64Add($224 | 0, $225 | 0, 1, 0) | 0; - $225 = tempRet0; - if (!(($225 | 0) < 0 | ($225 | 0) == 0 & $224 >>> 0 < 8)) { - $x$3$lcssa$i = $223; - break; - } else $x$324$i = $223; - } - } else $x$3$lcssa$i = $x$0$i$lcssa; - if (($c$2$lcssa$i | 32 | 0) == 112) { - $235 = _scanexp($f, $pok) | 0; - $236 = tempRet0; - if (($235 | 0) == 0 & ($236 | 0) == -2147483648) { - if (!$pok) { - ___shlim($f, 0); - $$0 = 0.0; - break L4; - } - if (!(HEAP32[$1 >> 2] | 0)) { - $253 = 0; - $254 = 0; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $253 = 0; - $254 = 0; - } - } else { - $253 = $235; - $254 = $236; - } - } else if (!(HEAP32[$1 >> 2] | 0)) { - $253 = 0; - $254 = 0; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $253 = 0; - $254 = 0; - } - $249 = _bitshift64Shl($212 | 0, $215 | 0, 2) | 0; - $251 = _i64Add($249 | 0, tempRet0 | 0, -32, -1) | 0; - $255 = _i64Add($251 | 0, tempRet0 | 0, $253 | 0, $254 | 0) | 0; - $256 = tempRet0; - if (!$x$3$lcssa$i) { - $$0 = +($sign$0 | 0) * 0.0; - break L4; - } - if (($256 | 0) > 0 | ($256 | 0) == 0 & $255 >>> 0 > (0 - $emin$0$ph | 0) >>> 0) { - $266 = ___errno_location() | 0; - HEAP32[$266 >> 2] = 34; - $$0 = +($sign$0 | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; - break L4; - } - $270 = $emin$0$ph + -106 | 0; - $272 = (($270 | 0) < 0) << 31 >> 31; - if (($256 | 0) < ($272 | 0) | ($256 | 0) == ($272 | 0) & $255 >>> 0 < $270 >>> 0) { - $279 = ___errno_location() | 0; - HEAP32[$279 >> 2] = 34; - $$0 = +($sign$0 | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; - break L4; - } - if (($x$3$lcssa$i | 0) > -1) { - $288 = $255; - $289 = $256; - $x$419$i = $x$3$lcssa$i; - $y$320$i = $y$0$i$lcssa; - while (1) { - $283 = !($y$320$i >= .5); - $287 = $283 & 1 | $x$419$i << 1; - $x$5$i = $287 ^ 1; - $y$4$i = $y$320$i + ($283 ? $y$320$i : $y$320$i + -1.0); - $290 = _i64Add($288 | 0, $289 | 0, -1, -1) | 0; - $291 = tempRet0; - if (($287 | 0) > -1) { - $288 = $290; - $289 = $291; - $x$419$i = $x$5$i; - $y$320$i = $y$4$i; - } else { - $297 = $290; - $298 = $291; - $x$4$lcssa$i = $x$5$i; - $y$3$lcssa$i = $y$4$i; - break; - } - } - } else { - $297 = $255; - $298 = $256; - $x$4$lcssa$i = $x$3$lcssa$i; - $y$3$lcssa$i = $y$0$i$lcssa; - } - $295 = _i64Subtract(32, 0, $emin$0$ph | 0, (($emin$0$ph | 0) < 0) << 31 >> 31 | 0) | 0; - $299 = _i64Add($297 | 0, $298 | 0, $295 | 0, tempRet0 | 0) | 0; - $300 = tempRet0; - if (0 > ($300 | 0) | 0 == ($300 | 0) & $bits$0$ph >>> 0 > $299 >>> 0) if (($299 | 0) < 0) { - $$0710$i = 0; - label = 127; - } else { - $$07$i = $299; - label = 125; - } else { - $$07$i = $bits$0$ph; - label = 125; - } - if ((label | 0) == 125) if (($$07$i | 0) < 53) { - $$0710$i = $$07$i; - label = 127; - } else { - $$0711$i = $$07$i; - $$pre$phi42$iZ2D = +($sign$0 | 0); - $bias$0$i = 0.0; - } - if ((label | 0) == 127) { - $310 = +($sign$0 | 0); - $$0711$i = $$0710$i; - $$pre$phi42$iZ2D = $310; - $bias$0$i = +_copysignl(+_scalbn(1.0, 84 - $$0710$i | 0), $310); - } - $or$cond9$i = ($x$4$lcssa$i & 1 | 0) == 0 & ($y$3$lcssa$i != 0.0 & ($$0711$i | 0) < 32); - $322 = $$pre$phi42$iZ2D * ($or$cond9$i ? 0.0 : $y$3$lcssa$i) + ($bias$0$i + $$pre$phi42$iZ2D * +((($or$cond9$i & 1) + $x$4$lcssa$i | 0) >>> 0)) - $bias$0$i; - if (!($322 != 0.0)) { - $324 = ___errno_location() | 0; - HEAP32[$324 >> 2] = 34; - } - $$0 = +_scalbnl($322, $297); - break L4; - } else $c$6 = $c$5; while (0); - $sum$i = $emin$0$ph + $bits$0$ph | 0; - $330 = 0 - $sum$i | 0; - $$09$i = $c$6; - $gotdig$0$i12 = 0; - L184 : while (1) { - switch ($$09$i | 0) { - case 46: - { - $gotdig$0$i12$lcssa273 = $gotdig$0$i12; - label = 138; - break L184; - break; - } - case 48: - break; - default: - { - $$2$i = $$09$i; - $700 = 0; - $701 = 0; - $gotdig$2$i13 = $gotdig$0$i12; - $gotrad$0$i14 = 0; - break L184; - } - } - $331 = HEAP32[$0 >> 2] | 0; - if ($331 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $331 + 1; - $$09$i = HEAPU8[$331 >> 0] | 0; - $gotdig$0$i12 = 1; - continue; - } else { - $$09$i = ___shgetc($f) | 0; - $gotdig$0$i12 = 1; - continue; - } - } - if ((label | 0) == 138) { - $338 = HEAP32[$0 >> 2] | 0; - if ($338 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $338 + 1; - $$1$ph$i = HEAPU8[$338 >> 0] | 0; - } else $$1$ph$i = ___shgetc($f) | 0; - if (($$1$ph$i | 0) == 48) { - $346 = 0; - $347 = 0; - while (1) { - $348 = _i64Add($346 | 0, $347 | 0, -1, -1) | 0; - $349 = tempRet0; - $350 = HEAP32[$0 >> 2] | 0; - if ($350 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $350 + 1; - $$1$be$i = HEAPU8[$350 >> 0] | 0; - } else $$1$be$i = ___shgetc($f) | 0; - if (($$1$be$i | 0) == 48) { - $346 = $348; - $347 = $349; - } else { - $$2$i = $$1$be$i; - $700 = $348; - $701 = $349; - $gotdig$2$i13 = 1; - $gotrad$0$i14 = 1; - break; - } - } - } else { - $$2$i = $$1$ph$i; - $700 = 0; - $701 = 0; - $gotdig$2$i13 = $gotdig$0$i12$lcssa273; - $gotrad$0$i14 = 1; - } - } - HEAP32[$x$i >> 2] = 0; - $358 = $$2$i + -48 | 0; - $360 = ($$2$i | 0) == 46; - L203 : do if ($360 | $358 >>> 0 < 10) { - $362 = $x$i + 496 | 0; - $$3105$i = $$2$i; - $365 = 0; - $366 = 0; - $702 = $360; - $703 = $358; - $704 = $700; - $705 = $701; - $gotdig$3101$i = $gotdig$2$i13; - $gotrad$1102$i = $gotrad$0$i14; - $j$0104$i = 0; - $k$0103$i = 0; - $lnz$0100$i = 0; - L205 : while (1) { - do if ($702) if (!$gotrad$1102$i) { - $706 = $365; - $707 = $366; - $708 = $365; - $709 = $366; - $gotdig$4$i = $gotdig$3101$i; - $gotrad$2$i = 1; - $j$2$i = $j$0104$i; - $k$2$i = $k$0103$i; - $lnz$2$i = $lnz$0100$i; - } else { - $710 = $704; - $711 = $705; - $712 = $365; - $713 = $366; - $gotdig$3101$i$lcssa = $gotdig$3101$i; - $j$0104$i$lcssa = $j$0104$i; - $k$0103$i$lcssa = $k$0103$i; - $lnz$0100$i$lcssa = $lnz$0100$i; - break L205; - } else { - $367 = _i64Add($365 | 0, $366 | 0, 1, 0) | 0; - $368 = tempRet0; - $369 = ($$3105$i | 0) != 48; - if (($k$0103$i | 0) >= 125) { - if (!$369) { - $706 = $704; - $707 = $705; - $708 = $367; - $709 = $368; - $gotdig$4$i = $gotdig$3101$i; - $gotrad$2$i = $gotrad$1102$i; - $j$2$i = $j$0104$i; - $k$2$i = $k$0103$i; - $lnz$2$i = $lnz$0100$i; - break; - } - HEAP32[$362 >> 2] = HEAP32[$362 >> 2] | 1; - $706 = $704; - $707 = $705; - $708 = $367; - $709 = $368; - $gotdig$4$i = $gotdig$3101$i; - $gotrad$2$i = $gotrad$1102$i; - $j$2$i = $j$0104$i; - $k$2$i = $k$0103$i; - $lnz$2$i = $lnz$0100$i; - break; - } - $371 = $x$i + ($k$0103$i << 2) | 0; - if (!$j$0104$i) $storemerge$i = $703; else $storemerge$i = $$3105$i + -48 + ((HEAP32[$371 >> 2] | 0) * 10 | 0) | 0; - HEAP32[$371 >> 2] = $storemerge$i; - $376 = $j$0104$i + 1 | 0; - $377 = ($376 | 0) == 9; - $706 = $704; - $707 = $705; - $708 = $367; - $709 = $368; - $gotdig$4$i = 1; - $gotrad$2$i = $gotrad$1102$i; - $j$2$i = $377 ? 0 : $376; - $k$2$i = ($377 & 1) + $k$0103$i | 0; - $lnz$2$i = $369 ? $367 : $lnz$0100$i; - } while (0); - $381 = HEAP32[$0 >> 2] | 0; - if ($381 >>> 0 < (HEAP32[$1 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $381 + 1; - $$3$be$i = HEAPU8[$381 >> 0] | 0; - } else $$3$be$i = ___shgetc($f) | 0; - $703 = $$3$be$i + -48 | 0; - $702 = ($$3$be$i | 0) == 46; - if (!($702 | $703 >>> 0 < 10)) { - $$3$lcssa$i = $$3$be$i; - $394 = $708; - $395 = $706; - $397 = $709; - $398 = $707; - $gotdig$3$lcssa$i = $gotdig$4$i; - $gotrad$1$lcssa$i = $gotrad$2$i; - $j$0$lcssa$i = $j$2$i; - $k$0$lcssa$i = $k$2$i; - $lnz$0$lcssa$i = $lnz$2$i; - label = 161; - break L203; - } else { - $$3105$i = $$3$be$i; - $365 = $708; - $366 = $709; - $704 = $706; - $705 = $707; - $gotdig$3101$i = $gotdig$4$i; - $gotrad$1102$i = $gotrad$2$i; - $j$0104$i = $j$2$i; - $k$0103$i = $k$2$i; - $lnz$0100$i = $lnz$2$i; - } - } - $714 = $712; - $715 = $713; - $716 = $710; - $717 = $711; - $718 = ($gotdig$3101$i$lcssa | 0) != 0; - $j$069$i = $j$0104$i$lcssa; - $k$065$i = $k$0103$i$lcssa; - $lnz$059$i = $lnz$0100$i$lcssa; - label = 169; - } else { - $$3$lcssa$i = $$2$i; - $394 = 0; - $395 = $700; - $397 = 0; - $398 = $701; - $gotdig$3$lcssa$i = $gotdig$2$i13; - $gotrad$1$lcssa$i = $gotrad$0$i14; - $j$0$lcssa$i = 0; - $k$0$lcssa$i = 0; - $lnz$0$lcssa$i = 0; - label = 161; - } while (0); - do if ((label | 0) == 161) { - $392 = ($gotrad$1$lcssa$i | 0) == 0; - $393 = $392 ? $394 : $395; - $396 = $392 ? $397 : $398; - $399 = ($gotdig$3$lcssa$i | 0) != 0; - if (!(($$3$lcssa$i | 32 | 0) == 101 & $399)) if (($$3$lcssa$i | 0) > -1) { - $714 = $394; - $715 = $397; - $716 = $393; - $717 = $396; - $718 = $399; - $j$069$i = $j$0$lcssa$i; - $k$065$i = $k$0$lcssa$i; - $lnz$059$i = $lnz$0$lcssa$i; - label = 169; - break; - } else { - $719 = $394; - $720 = $397; - $721 = $399; - $722 = $393; - $723 = $396; - $j$068$i = $j$0$lcssa$i; - $k$064$i = $k$0$lcssa$i; - $lnz$058$i = $lnz$0$lcssa$i; - label = 171; - break; - } - $402 = _scanexp($f, $pok) | 0; - $403 = tempRet0; - if (($402 | 0) == 0 & ($403 | 0) == -2147483648) { - if (!$pok) { - ___shlim($f, 0); - $$0$i27 = 0.0; - break; - } - if (!(HEAP32[$1 >> 2] | 0)) { - $412 = 0; - $413 = 0; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $412 = 0; - $413 = 0; - } - } else { - $412 = $402; - $413 = $403; - } - $414 = _i64Add($412 | 0, $413 | 0, $393 | 0, $396 | 0) | 0; - $427 = $414; - $428 = $394; - $430 = tempRet0; - $431 = $397; - $j$067$i = $j$0$lcssa$i; - $k$063$i = $k$0$lcssa$i; - $lnz$057$i = $lnz$0$lcssa$i; - label = 173; - } while (0); - if ((label | 0) == 169) if (!(HEAP32[$1 >> 2] | 0)) { - $719 = $714; - $720 = $715; - $721 = $718; - $722 = $716; - $723 = $717; - $j$068$i = $j$069$i; - $k$064$i = $k$065$i; - $lnz$058$i = $lnz$059$i; - label = 171; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - if ($718) { - $427 = $716; - $428 = $714; - $430 = $717; - $431 = $715; - $j$067$i = $j$069$i; - $k$063$i = $k$065$i; - $lnz$057$i = $lnz$059$i; - label = 173; - } else label = 172; - } - if ((label | 0) == 171) if ($721) { - $427 = $722; - $428 = $719; - $430 = $723; - $431 = $720; - $j$067$i = $j$068$i; - $k$063$i = $k$064$i; - $lnz$057$i = $lnz$058$i; - label = 173; - } else label = 172; - do if ((label | 0) == 172) { - $421 = ___errno_location() | 0; - HEAP32[$421 >> 2] = 22; - ___shlim($f, 0); - $$0$i27 = 0.0; - } else if ((label | 0) == 173) { - $422 = HEAP32[$x$i >> 2] | 0; - if (!$422) { - $$0$i27 = +($sign$0 | 0) * 0.0; - break; - } - if ((($431 | 0) < 0 | ($431 | 0) == 0 & $428 >>> 0 < 10) & (($427 | 0) == ($428 | 0) & ($430 | 0) == ($431 | 0))) if ($bits$0$ph >>> 0 > 30 | ($422 >>> $bits$0$ph | 0) == 0) { - $$0$i27 = +($sign$0 | 0) * +($422 >>> 0); - break; - } - $444 = ($emin$0$ph | 0) / -2 | 0; - $446 = (($444 | 0) < 0) << 31 >> 31; - if (($430 | 0) > ($446 | 0) | ($430 | 0) == ($446 | 0) & $427 >>> 0 > $444 >>> 0) { - $452 = ___errno_location() | 0; - HEAP32[$452 >> 2] = 34; - $$0$i27 = +($sign$0 | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; - break; - } - $456 = $emin$0$ph + -106 | 0; - $458 = (($456 | 0) < 0) << 31 >> 31; - if (($430 | 0) < ($458 | 0) | ($430 | 0) == ($458 | 0) & $427 >>> 0 < $456 >>> 0) { - $464 = ___errno_location() | 0; - HEAP32[$464 >> 2] = 34; - $$0$i27 = +($sign$0 | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; - break; - } - if (!$j$067$i) $k$3$i = $k$063$i; else { - if (($j$067$i | 0) < 9) { - $470 = $x$i + ($k$063$i << 2) | 0; - $472 = HEAP32[$470 >> 2] | 0; - $j$394$i = $j$067$i; - while (1) { - $471 = $472 * 10 | 0; - $j$394$i = $j$394$i + 1 | 0; - if (($j$394$i | 0) == 9) { - $$lcssa265 = $471; - break; - } else $472 = $471; - } - HEAP32[$470 >> 2] = $$lcssa265; - } - $k$3$i = $k$063$i + 1 | 0; - } - if (($lnz$057$i | 0) < 9) if (($lnz$057$i | 0) <= ($427 | 0) & ($427 | 0) < 18) { - if (($427 | 0) == 9) { - $$0$i27 = +($sign$0 | 0) * +((HEAP32[$x$i >> 2] | 0) >>> 0); - break; - } - if (($427 | 0) < 9) { - $$0$i27 = +($sign$0 | 0) * +((HEAP32[$x$i >> 2] | 0) >>> 0) / +(HEAP32[2648 + (8 - $427 << 2) >> 2] | 0); - break; - } - $494 = $bits$0$ph + 27 + (Math_imul($427, -3) | 0) | 0; - $$pre$i17 = HEAP32[$x$i >> 2] | 0; - if (($494 | 0) > 30 | ($$pre$i17 >>> $494 | 0) == 0) { - $$0$i27 = +($sign$0 | 0) * +($$pre$i17 >>> 0) * +(HEAP32[2648 + ($427 + -10 << 2) >> 2] | 0); - break; - } - } - $506 = ($427 | 0) % 9 | 0; - if (!$506) { - $a$2$ph38$i = 0; - $e2$0$ph$i = 0; - $rp$2$ph36$i = $427; - $z$1$ph37$i = $k$3$i; - } else { - $510 = ($427 | 0) > -1 ? $506 : $506 + 9 | 0; - $513 = HEAP32[2648 + (8 - $510 << 2) >> 2] | 0; - if (!$k$3$i) { - $a$0$lcssa151$i = 0; - $rp$0$lcssa152$i = $427; - $z$0$i = 0; - } else { - $515 = 1e9 / ($513 | 0) | 0; - $a$085$i = 0; - $carry$087$i = 0; - $k$486$i = 0; - $rp$084$i = $427; - while (1) { - $516 = $x$i + ($k$486$i << 2) | 0; - $517 = HEAP32[$516 >> 2] | 0; - $520 = (($517 >>> 0) / ($513 >>> 0) | 0) + $carry$087$i | 0; - HEAP32[$516 >> 2] = $520; - $521 = Math_imul(($517 >>> 0) % ($513 >>> 0) | 0, $515) | 0; - $or$cond16$i = ($k$486$i | 0) == ($a$085$i | 0) & ($520 | 0) == 0; - $k$486$i = $k$486$i + 1 | 0; - $rp$1$i18 = $or$cond16$i ? $rp$084$i + -9 | 0 : $rp$084$i; - $a$1$i = $or$cond16$i ? $k$486$i & 127 : $a$085$i; - if (($k$486$i | 0) == ($k$3$i | 0)) { - $$lcssa264 = $521; - $a$1$i$lcssa = $a$1$i; - $rp$1$i18$lcssa = $rp$1$i18; - break; - } else { - $a$085$i = $a$1$i; - $carry$087$i = $521; - $rp$084$i = $rp$1$i18; - } - } - if (!$$lcssa264) { - $a$0$lcssa151$i = $a$1$i$lcssa; - $rp$0$lcssa152$i = $rp$1$i18$lcssa; - $z$0$i = $k$3$i; - } else { - HEAP32[$x$i + ($k$3$i << 2) >> 2] = $$lcssa264; - $a$0$lcssa151$i = $a$1$i$lcssa; - $rp$0$lcssa152$i = $rp$1$i18$lcssa; - $z$0$i = $k$3$i + 1 | 0; - } - } - $a$2$ph38$i = $a$0$lcssa151$i; - $e2$0$ph$i = 0; - $rp$2$ph36$i = 9 - $510 + $rp$0$lcssa152$i | 0; - $z$1$ph37$i = $z$0$i; - } - L284 : while (1) { - $533 = ($rp$2$ph36$i | 0) < 18; - $534 = ($rp$2$ph36$i | 0) == 18; - $535 = $x$i + ($a$2$ph38$i << 2) | 0; - $e2$0$i19 = $e2$0$ph$i; - $z$1$i = $z$1$ph37$i; - while (1) { - if (!$533) { - if (!$534) { - $a$3$ph$i = $a$2$ph38$i; - $e2$1$ph$i = $e2$0$i19; - $rp$3$ph34$i = $rp$2$ph36$i; - $z$5$ph$i = $z$1$i; - break L284; - } - if ((HEAP32[$535 >> 2] | 0) >>> 0 >= 9007199) { - $a$3$ph$i = $a$2$ph38$i; - $e2$1$ph$i = $e2$0$i19; - $rp$3$ph34$i = 18; - $z$5$ph$i = $z$1$i; - break L284; - } - } - $carry1$0$i = 0; - $k$5$in$i = $z$1$i + 127 | 0; - $z$2$i = $z$1$i; - while (1) { - $k$5$i = $k$5$in$i & 127; - $539 = $x$i + ($k$5$i << 2) | 0; - $541 = _bitshift64Shl(HEAP32[$539 >> 2] | 0, 0, 29) | 0; - $543 = _i64Add($541 | 0, tempRet0 | 0, $carry1$0$i | 0, 0) | 0; - $544 = tempRet0; - if ($544 >>> 0 > 0 | ($544 | 0) == 0 & $543 >>> 0 > 1e9) { - $550 = ___udivdi3($543 | 0, $544 | 0, 1e9, 0) | 0; - $552 = ___uremdi3($543 | 0, $544 | 0, 1e9, 0) | 0; - $$sink$off0$i = $552; - $carry1$1$i = $550; - } else { - $$sink$off0$i = $543; - $carry1$1$i = 0; - } - HEAP32[$539 >> 2] = $$sink$off0$i; - $557 = ($k$5$i | 0) == ($a$2$ph38$i | 0); - $z$3$i = ($k$5$i | 0) != ($z$2$i + 127 & 127 | 0) | $557 ? $z$2$i : ($$sink$off0$i | 0) == 0 ? $k$5$i : $z$2$i; - if ($557) { - $carry1$1$i$lcssa = $carry1$1$i; - $z$3$i$lcssa = $z$3$i; - break; - } else { - $carry1$0$i = $carry1$1$i; - $k$5$in$i = $k$5$i + -1 | 0; - $z$2$i = $z$3$i; - } - } - $560 = $e2$0$i19 + -29 | 0; - if (!$carry1$1$i$lcssa) { - $e2$0$i19 = $560; - $z$1$i = $z$3$i$lcssa; - } else { - $$lcssa263 = $560; - $carry1$1$i$lcssa$lcssa = $carry1$1$i$lcssa; - $z$3$i$lcssa$lcssa = $z$3$i$lcssa; - break; - } - } - $564 = $a$2$ph38$i + 127 & 127; - if (($564 | 0) == ($z$3$i$lcssa$lcssa | 0)) { - $567 = $z$3$i$lcssa$lcssa + 127 & 127; - $572 = $x$i + (($z$3$i$lcssa$lcssa + 126 & 127) << 2) | 0; - HEAP32[$572 >> 2] = HEAP32[$572 >> 2] | HEAP32[$x$i + ($567 << 2) >> 2]; - $z$4$i = $567; - } else $z$4$i = $z$3$i$lcssa$lcssa; - HEAP32[$x$i + ($564 << 2) >> 2] = $carry1$1$i$lcssa$lcssa; - $a$2$ph38$i = $564; - $e2$0$ph$i = $$lcssa263; - $rp$2$ph36$i = $rp$2$ph36$i + 9 | 0; - $z$1$ph37$i = $z$4$i; - } - L302 : while (1) { - $604 = $z$5$ph$i + 1 & 127; - $609 = $x$i + (($z$5$ph$i + 127 & 127) << 2) | 0; - $a$3$ph157$i = $a$3$ph$i; - $e2$1$ph156$i = $e2$1$ph$i; - $rp$3$ph$i = $rp$3$ph34$i; - while (1) { - $610 = ($rp$3$ph$i | 0) == 18; - $$18$i = ($rp$3$ph$i | 0) > 27 ? 9 : 1; - $$not$i = $610 ^ 1; - $a$3$i = $a$3$ph157$i; - $e2$1$i = $e2$1$ph156$i; - while (1) { - $576 = $a$3$i & 127; - $577 = ($576 | 0) == ($z$5$ph$i | 0); - do if ($577) label = 219; else { - $579 = HEAP32[$x$i + ($576 << 2) >> 2] | 0; - if ($579 >>> 0 < 9007199) { - label = 219; - break; - } - if ($579 >>> 0 > 9007199) break; - $583 = $a$3$i + 1 & 127; - if (($583 | 0) == ($z$5$ph$i | 0)) { - label = 219; - break; - } - $691 = HEAP32[$x$i + ($583 << 2) >> 2] | 0; - if ($691 >>> 0 < 254740991) { - label = 219; - break; - } - if (!($691 >>> 0 > 254740991 | $$not$i)) { - $617 = $576; - $a$3$i249 = $a$3$i; - $e2$1$i246 = $e2$1$i; - $z$7$i = $z$5$ph$i; - break L302; - } - } while (0); - if ((label | 0) == 219) { - label = 0; - if ($610) { - label = 220; - break L302; - } - } - $585 = $e2$1$i + $$18$i | 0; - if (($a$3$i | 0) == ($z$5$ph$i | 0)) { - $a$3$i = $z$5$ph$i; - $e2$1$i = $585; - } else { - $$lcssa256 = $585; - $a$3$i$lcssa248 = $a$3$i; - break; - } - } - $588 = (1 << $$18$i) + -1 | 0; - $589 = 1e9 >>> $$18$i; - $a$478$i = $a$3$i$lcssa248; - $carry3$081$i = 0; - $k$679$i = $a$3$i$lcssa248; - $rp$477$i = $rp$3$ph$i; - while (1) { - $590 = $x$i + ($k$679$i << 2) | 0; - $591 = HEAP32[$590 >> 2] | 0; - $594 = ($591 >>> $$18$i) + $carry3$081$i | 0; - HEAP32[$590 >> 2] = $594; - $595 = Math_imul($591 & $588, $589) | 0; - $or$cond19$i = ($k$679$i | 0) == ($a$478$i | 0) & ($594 | 0) == 0; - $k$679$i = $k$679$i + 1 & 127; - $rp$5$i = $or$cond19$i ? $rp$477$i + -9 | 0 : $rp$477$i; - $a$5$i = $or$cond19$i ? $k$679$i : $a$478$i; - if (($k$679$i | 0) == ($z$5$ph$i | 0)) { - $$lcssa257 = $595; - $a$5$i$lcssa = $a$5$i; - $rp$5$i$lcssa = $rp$5$i; - break; - } else { - $a$478$i = $a$5$i; - $carry3$081$i = $595; - $rp$477$i = $rp$5$i; - } - } - if (!$$lcssa257) { - $a$3$ph157$i = $a$5$i$lcssa; - $e2$1$ph156$i = $$lcssa256; - $rp$3$ph$i = $rp$5$i$lcssa; - continue; - } - if (($604 | 0) != ($a$5$i$lcssa | 0)) { - $$lcssa256$lcssa = $$lcssa256; - $$lcssa257$lcssa = $$lcssa257; - $a$5$i$lcssa$lcssa = $a$5$i$lcssa; - $rp$5$i$lcssa$lcssa = $rp$5$i$lcssa; - break; - } - HEAP32[$609 >> 2] = HEAP32[$609 >> 2] | 1; - $a$3$ph157$i = $a$5$i$lcssa; - $e2$1$ph156$i = $$lcssa256; - $rp$3$ph$i = $rp$5$i$lcssa; - } - HEAP32[$x$i + ($z$5$ph$i << 2) >> 2] = $$lcssa257$lcssa; - $a$3$ph$i = $a$5$i$lcssa$lcssa; - $e2$1$ph$i = $$lcssa256$lcssa; - $rp$3$ph34$i = $rp$5$i$lcssa$lcssa; - $z$5$ph$i = $604; - } - if ((label | 0) == 220) if ($577) { - HEAP32[$x$i + ($604 + -1 << 2) >> 2] = 0; - $617 = $z$5$ph$i; - $a$3$i249 = $a$3$i; - $e2$1$i246 = $e2$1$i; - $z$7$i = $604; - } else { - $617 = $576; - $a$3$i249 = $a$3$i; - $e2$1$i246 = $e2$1$i; - $z$7$i = $z$5$ph$i; - } - $619 = +((HEAP32[$x$i + ($617 << 2) >> 2] | 0) >>> 0); - $621 = $a$3$i249 + 1 & 127; - if (($621 | 0) == ($z$7$i | 0)) { - $680 = $a$3$i249 + 2 & 127; - HEAP32[$x$i + ($680 + -1 << 2) >> 2] = 0; - $z$7$1$i = $680; - } else $z$7$1$i = $z$7$i; - $643 = +($sign$0 | 0); - $625 = $643 * ($619 * 1.0e9 + +((HEAP32[$x$i + ($621 << 2) >> 2] | 0) >>> 0)); - $663 = $e2$1$i246 + 53 | 0; - $669 = $663 - $emin$0$ph | 0; - $670 = ($669 | 0) < ($bits$0$ph | 0); - $denormal$0$i = $670 & 1; - $$010$i = $670 ? (($669 | 0) < 0 ? 0 : $669) : $bits$0$ph; - if (($$010$i | 0) < 53) { - $626 = +_copysignl(+_scalbn(1.0, 105 - $$010$i | 0), $625); - $629 = +_fmodl($625, +_scalbn(1.0, 53 - $$010$i | 0)); - $bias$0$i25 = $626; - $frac$0$i = $629; - $y$1$i24 = $626 + ($625 - $629); - } else { - $bias$0$i25 = 0.0; - $frac$0$i = 0.0; - $y$1$i24 = $625; - } - $633 = $a$3$i249 + 2 & 127; - do if (($633 | 0) == ($z$7$1$i | 0)) $frac$2$i = $frac$0$i; else { - $636 = HEAP32[$x$i + ($633 << 2) >> 2] | 0; - do if ($636 >>> 0 < 5e8) { - if (!$636) if (($a$3$i249 + 3 & 127 | 0) == ($z$7$1$i | 0)) { - $frac$1$i = $frac$0$i; - break; - } - $frac$1$i = $643 * .25 + $frac$0$i; - } else { - if ($636 >>> 0 > 5e8) { - $frac$1$i = $643 * .75 + $frac$0$i; - break; - } - if (($a$3$i249 + 3 & 127 | 0) == ($z$7$1$i | 0)) { - $frac$1$i = $643 * .5 + $frac$0$i; - break; - } else { - $frac$1$i = $643 * .75 + $frac$0$i; - break; - } - } while (0); - if ((53 - $$010$i | 0) <= 1) { - $frac$2$i = $frac$1$i; - break; - } - if (+_fmodl($frac$1$i, 1.0) != 0.0) { - $frac$2$i = $frac$1$i; - break; - } - $frac$2$i = $frac$1$i + 1.0; - } while (0); - $661 = $y$1$i24 + $frac$2$i - $bias$0$i25; - do if (($663 & 2147483647 | 0) > (-2 - $sum$i | 0)) { - if (!(+Math_abs(+$661) >= 9007199254740992.0)) { - $denormal$2$i = $denormal$0$i; - $e2$2$i = $e2$1$i246; - $y$2$i26 = $661; - } else { - $denormal$2$i = $670 & ($$010$i | 0) == ($669 | 0) ? 0 : $denormal$0$i; - $e2$2$i = $e2$1$i246 + 1 | 0; - $y$2$i26 = $661 * .5; - } - if (($e2$2$i + 50 | 0) <= ($330 | 0)) if (!($frac$2$i != 0.0 & ($denormal$2$i | 0) != 0)) { - $e2$3$i = $e2$2$i; - $y$3$i = $y$2$i26; - break; - } - $677 = ___errno_location() | 0; - HEAP32[$677 >> 2] = 34; - $e2$3$i = $e2$2$i; - $y$3$i = $y$2$i26; - } else { - $e2$3$i = $e2$1$i246; - $y$3$i = $661; - } while (0); - $$0$i27 = +_scalbnl($y$3$i, $e2$3$i); - } while (0); - $$0 = $$0$i27; - break L4; - break; - } - default: - { - if (HEAP32[$1 >> 2] | 0) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $113 = ___errno_location() | 0; - HEAP32[$113 >> 2] = 22; - ___shlim($f, 0); - $$0 = 0.0; - break L4; - } - } - } - } while (0); - if ((label | 0) == 23) { - $42 = (HEAP32[$1 >> 2] | 0) == 0; - if (!$42) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - if (($pok | 0) != 0 & $i$0$lcssa >>> 0 > 3) { - $i$1 = $i$0$lcssa; - do { - if (!$42) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $i$1 = $i$1 + -1 | 0; - } while ($i$1 >>> 0 > 3); - } - } - $$0 = +($sign$0 | 0) * inf; - } while (0); - STACKTOP = sp; - return +$$0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0$i = 0, $$0$i$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i16$i = 0, $$0$i$i$i23$i = 0, $$0$i$i$i33$i = 0, $$0$i$i$i42$i = 0, $$0$i$i$i52$i = 0, $$0$i10 = 0, $$02 = 0, $$07$i = 0, $$first = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $129 = 0, $13 = 0, $130 = 0, $134 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $144 = 0, $145 = 0, $15 = 0, $153 = 0, $154 = 0, $156 = 0, $16 = 0, $164 = 0, $166 = 0, $167 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $186 = 0, $189 = 0, $192 = 0, $2 = 0, $201 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $211 = 0, $212 = 0, $220 = 0, $221 = 0, $223 = 0, $23 = 0, $231 = 0, $233 = 0, $234 = 0, $247 = 0, $248 = 0, $249 = 0, $250 = 0, $253 = 0, $256 = 0, $259 = 0, $268 = 0, $271 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $281 = 0, $282 = 0, $290 = 0, $291 = 0, $293 = 0, $3 = 0, $30 = 0, $301 = 0, $303 = 0, $304 = 0, $317 = 0, $318 = 0, $319 = 0, $320 = 0, $323 = 0, $326 = 0, $329 = 0, $338 = 0, $34 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $349 = 0, $35 = 0, $351 = 0, $359 = 0, $361 = 0, $362 = 0, $37 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $381 = 0, $384 = 0, $387 = 0, $398 = 0, $4 = 0, $400 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $41 = 0, $410 = 0, $411 = 0, $419 = 0, $420 = 0, $422 = 0, $430 = 0, $432 = 0, $433 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $452 = 0, $455 = 0, $458 = 0, $469 = 0, $474 = 0, $476 = 0, $477 = 0, $478 = 0, $483 = 0, $484 = 0, $489 = 0, $49 = 0, $494 = 0, $497 = 0, $5 = 0, $50 = 0, $500 = 0, $502 = 0, $506 = 0, $507 = 0, $509 = 0, $51 = 0, $510 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $526 = 0, $528 = 0, $538 = 0, $539 = 0, $540 = 0, $542 = 0, $544 = 0, $545 = 0, $546 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $56 = 0, $562 = 0, $564 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $58 = 0, $588 = 0, $593 = 0, $594 = 0, $597 = 0, $6 = 0, $605 = 0, $606 = 0, $608 = 0, $61 = 0, $612 = 0, $613 = 0, $615 = 0, $62 = 0, $622 = 0, $624 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $638 = 0, $641 = 0, $644 = 0, $645 = 0, $65 = 0, $651 = 0, $653 = 0, $657 = 0, $659 = 0, $667 = 0, $668 = 0, $669 = 0, $670 = 0, $673 = 0, $675 = 0, $685 = 0, $690 = 0, $692 = 0, $693 = 0, $7 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $707 = 0, $709 = 0, $719 = 0, $8 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $St$0$off0$i = 0, $__v$i$i51$i = 0, $cv$i = 0, $name$i11 = 0, $name1$i = 0, $name2$i12 = 0, $name3$i = 0, $name4$i = 0, $pop_subs$0$off0$i$ph$lcssa = 0, $pop_subs$0$off0$i$ph136 = 0, $t0$0$i = 0, $t0$0$i13 = 0, $t0$1$i = 0, $t0$2$i$be = 0, $t0$2$i$lcssa = 0, $t0$2$i$ph$be = 0, $t0$2$i$ph135 = 0, $t0$2$i131 = 0, $t0$2$i131$lcssa177 = 0, $t0$2$i131$lcssa178 = 0, $t0$2$i131$lcssa179 = 0, $t0$2$i131184 = 0, $tmp = 0, $tmp3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i51$i = sp + 276 | 0; - $cv$i = sp + 264 | 0; - $name$i11 = sp + 252 | 0; - $0 = sp + 240 | 0; - $1 = sp + 224 | 0; - $2 = sp + 216 | 0; - $name1$i = sp + 204 | 0; - $3 = sp + 192 | 0; - $4 = sp + 176 | 0; - $5 = sp + 168 | 0; - $name2$i12 = sp + 156 | 0; - $6 = sp + 144 | 0; - $7 = sp + 128 | 0; - $8 = sp + 124 | 0; - $name3$i = sp + 112 | 0; - $9 = sp + 96 | 0; - $10 = sp + 76 | 0; - $name4$i = sp + 64 | 0; - $11 = sp + 48 | 0; - $12 = sp + 8 | 0; - $13 = sp; - $14 = sp + 80 | 0; - $15 = sp + 60 | 0; - $tmp = sp + 36 | 0; - $tmp3 = sp + 24 | 0; - $16 = $last; - L1 : do if (($16 - $first | 0) > 1) { - $$first = (HEAP8[$first >> 0] | 0) == 76 ? $first + 1 | 0 : $first; - $23 = HEAP8[$$first >> 0] | 0; - switch ($23 << 24 >> 24 | 0) { - case 78: - { - L44 : do if (($$first | 0) == ($last | 0)) $$07$i = $last; else if ($23 << 24 >> 24 == 78) { - $28 = __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj($$first + 1 | 0, $last, $cv$i) | 0; - if (($28 | 0) == ($last | 0)) $$07$i = $$first; else { - $30 = $db + 52 | 0; - HEAP32[$30 >> 2] = 0; - switch (HEAP8[$28 >> 0] | 0) { - case 82: - { - HEAP32[$30 >> 2] = 1; - $t0$0$i13 = $28 + 1 | 0; - break; - } - case 79: - { - HEAP32[$30 >> 2] = 2; - $t0$0$i13 = $28 + 1 | 0; - break; - } - default: - $t0$0$i13 = $28; - } - $34 = $db + 4 | 0; - $35 = HEAP32[$34 >> 2] | 0; - $37 = HEAP32[$db + 8 >> 2] | 0; - if ($35 >>> 0 < $37 >>> 0) { - HEAP32[$35 >> 2] = 0; - HEAP32[$35 + 4 >> 2] = 0; - HEAP32[$35 + 8 >> 2] = 0; - HEAP32[$35 + 12 >> 2] = 0; - HEAP32[$35 + 16 >> 2] = 0; - HEAP32[$35 + 20 >> 2] = 0; - HEAP32[$35 >> 2] = 0; - HEAP32[$35 + 4 >> 2] = 0; - HEAP32[$35 + 8 >> 2] = 0; - $41 = $35 + 12 | 0; - HEAP32[$41 >> 2] = 0; - HEAP32[$41 + 4 >> 2] = 0; - HEAP32[$41 + 8 >> 2] = 0; - HEAP32[$34 >> 2] = (HEAP32[$34 >> 2] | 0) + 24; - } else { - $49 = HEAP32[$db >> 2] | 0; - $50 = $35 - $49 | 0; - $51 = ($50 | 0) / 24 | 0; - $52 = $51 + 1 | 0; - if (($50 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $56 = ($37 - $49 | 0) / 24 | 0; - if ($56 >>> 0 < 1073741823) { - $58 = $56 << 1; - $$0$i$i$i$i = $58 >>> 0 < $52 >>> 0 ? $52 : $58; - } else $$0$i$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i51$i, $$0$i$i$i$i, $51, $db + 12 | 0); - $61 = $__v$i$i51$i + 8 | 0; - $62 = HEAP32[$61 >> 2] | 0; - HEAP32[$62 >> 2] = 0; - HEAP32[$62 + 4 >> 2] = 0; - HEAP32[$62 + 8 >> 2] = 0; - HEAP32[$62 + 12 >> 2] = 0; - HEAP32[$62 + 16 >> 2] = 0; - HEAP32[$62 + 20 >> 2] = 0; - HEAP32[$62 >> 2] = 0; - HEAP32[$62 + 4 >> 2] = 0; - HEAP32[$62 + 8 >> 2] = 0; - $65 = $62 + 12 | 0; - HEAP32[$65 >> 2] = 0; - HEAP32[$65 + 4 >> 2] = 0; - HEAP32[$65 + 8 >> 2] = 0; - HEAP32[$61 >> 2] = $62 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i51$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i51$i); - } - if (($16 - $t0$0$i13 | 0) > 1) if ((HEAP8[$t0$0$i13 >> 0] | 0) == 83) if ((HEAP8[$t0$0$i13 + 1 >> 0] | 0) == 116) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj((HEAP32[$34 >> 2] | 0) + -24 | 0, 12898, 3); - $t0$1$i = $t0$0$i13 + 2 | 0; - } else $t0$1$i = $t0$0$i13; else $t0$1$i = $t0$0$i13; else $t0$1$i = $t0$0$i13; - if (($t0$1$i | 0) == ($last | 0)) { - $123 = HEAP32[$34 >> 2] | 0; - $124 = $123 + -24 | 0; - $126 = $123; - while (1) { - $125 = $126 + -24 | 0; - HEAP32[$34 >> 2] = $125; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($125); - $126 = HEAP32[$34 >> 2] | 0; - if (($126 | 0) == ($124 | 0)) { - $$07$i = $$first; - break L44; - } - } - } - $81 = $name3$i + 8 | 0; - $82 = $name3$i + 1 | 0; - $83 = $name3$i + 4 | 0; - $84 = $db + 12 | 0; - $85 = $db + 16 | 0; - $86 = $db + 20 | 0; - $87 = $db + 24 | 0; - $88 = $9 + 12 | 0; - $89 = $9 + 4 | 0; - $90 = $9 + 8 | 0; - $91 = $db + 28 | 0; - $92 = $__v$i$i51$i + 8 | 0; - $93 = $12 + 12 | 0; - $94 = $12 + 4 | 0; - $95 = $12 + 8 | 0; - $96 = $__v$i$i51$i + 8 | 0; - $97 = $11 + 8 | 0; - $98 = $11 + 1 | 0; - $99 = $11 + 4 | 0; - $100 = $0 + 8 | 0; - $101 = $0 + 1 | 0; - $102 = $0 + 4 | 0; - $103 = $1 + 12 | 0; - $104 = $1 + 4 | 0; - $105 = $1 + 8 | 0; - $106 = $__v$i$i51$i + 8 | 0; - $107 = $4 + 12 | 0; - $108 = $4 + 4 | 0; - $109 = $4 + 8 | 0; - $110 = $__v$i$i51$i + 8 | 0; - $111 = $3 + 8 | 0; - $112 = $3 + 1 | 0; - $113 = $3 + 4 | 0; - $114 = $7 + 12 | 0; - $115 = $7 + 4 | 0; - $116 = $7 + 8 | 0; - $117 = $__v$i$i51$i + 8 | 0; - $118 = $6 + 8 | 0; - $119 = $6 + 1 | 0; - $120 = $6 + 4 | 0; - $121 = HEAP8[$t0$1$i >> 0] | 0; - L72 : do if ($121 << 24 >> 24 == 69) { - $pop_subs$0$off0$i$ph$lcssa = 0; - $t0$2$i$lcssa = $t0$1$i; - } else { - $719 = $121; - $pop_subs$0$off0$i$ph136 = 0; - $t0$2$i$ph135 = $t0$1$i; - L73 : while (1) { - $129 = $719; - $t0$2$i131 = $t0$2$i$ph135; - L75 : while (1) { - switch ($129 << 24 >> 24 | 0) { - case 83: - { - $t0$2$i131$lcssa177 = $t0$2$i131; - label = 25; - break L75; - break; - } - case 84: - { - $t0$2$i131$lcssa178 = $t0$2$i131; - label = 44; - break L75; - break; - } - case 68: - { - $t0$2$i131$lcssa179 = $t0$2$i131; - label = 61; - break L75; - break; - } - case 73: - { - $338 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($t0$2$i131, $last, $db) | 0; - if (($338 | 0) == ($t0$2$i131 | 0) | ($338 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($name3$i, (HEAP32[$34 >> 2] | 0) + -24 | 0); - $343 = HEAP32[$34 >> 2] | 0; - $344 = $343 + -24 | 0; - $346 = $343; - do { - $345 = $346 + -24 | 0; - HEAP32[$34 >> 2] = $345; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($345); - $346 = HEAP32[$34 >> 2] | 0; - } while (($346 | 0) != ($344 | 0)); - $349 = HEAP8[$name3$i >> 0] | 0; - $351 = ($349 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($343 + -48 | 0, $351 ? $82 : HEAP32[$81 >> 2] | 0, $351 ? ($349 & 255) >>> 1 : HEAP32[$83 >> 2] | 0) | 0; - $359 = (HEAP32[$34 >> 2] | 0) + -24 | 0; - HEAP32[$10 >> 2] = HEAP32[$84 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($9, $359, $10); - $361 = HEAP32[$86 >> 2] | 0; - $362 = HEAP32[$87 >> 2] | 0; - if ($361 >>> 0 < $362 >>> 0) { - HEAP32[$361 + 12 >> 2] = HEAP32[$88 >> 2]; - HEAP32[$361 >> 2] = HEAP32[$9 >> 2]; - HEAP32[$361 + 4 >> 2] = HEAP32[$89 >> 2]; - HEAP32[$361 + 8 >> 2] = HEAP32[$90 >> 2]; - HEAP32[$90 >> 2] = 0; - HEAP32[$89 >> 2] = 0; - HEAP32[$9 >> 2] = 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 16; - } else { - $375 = HEAP32[$85 >> 2] | 0; - $376 = $361 - $375 | 0; - $377 = $376 >> 4; - $378 = $377 + 1 | 0; - if (($376 | 0) < -16) { - label = 86; - break L73; - } - $381 = $362 - $375 | 0; - if ($381 >> 4 >>> 0 < 1073741823) { - $384 = $381 >> 3; - $$0$i$i$i42$i = $384 >>> 0 < $378 >>> 0 ? $378 : $384; - } else $$0$i$i$i42$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i42$i, $377, $91); - $387 = HEAP32[$92 >> 2] | 0; - HEAP32[$387 + 12 >> 2] = HEAP32[$88 >> 2]; - HEAP32[$387 >> 2] = HEAP32[$9 >> 2]; - HEAP32[$387 + 4 >> 2] = HEAP32[$89 >> 2]; - HEAP32[$387 + 8 >> 2] = HEAP32[$90 >> 2]; - HEAP32[$90 >> 2] = 0; - HEAP32[$89 >> 2] = 0; - HEAP32[$9 >> 2] = 0; - HEAP32[$92 >> 2] = $387 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($85, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($9); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($name3$i); - $t0$2$i$be = $338; - break; - } - case 76: - { - $398 = $t0$2$i131 + 1 | 0; - if (($398 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } else $t0$2$i$be = $398; - break; - } - default: - { - $t0$2$i131184 = $t0$2$i131; - label = 93; - break L75; - } - } - $129 = HEAP8[$t0$2$i$be >> 0] | 0; - if ($129 << 24 >> 24 == 69) { - $pop_subs$0$off0$i$ph$lcssa = $pop_subs$0$off0$i$ph136; - $t0$2$i$lcssa = $t0$2$i$be; - break L72; - } else $t0$2$i131 = $t0$2$i$be; - } - L93 : do if ((label | 0) == 25) { - label = 0; - $130 = $t0$2$i131$lcssa177 + 1 | 0; - if (($130 | 0) != ($last | 0)) if ((HEAP8[$130 >> 0] | 0) == 116) { - $t0$2$i131184 = $t0$2$i131$lcssa177; - label = 93; - break; - } - $134 = __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_($t0$2$i131$lcssa177, $last, $db) | 0; - if (($134 | 0) == ($t0$2$i131$lcssa177 | 0) | ($134 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($name$i11, (HEAP32[$34 >> 2] | 0) + -24 | 0); - $139 = HEAP32[$34 >> 2] | 0; - $140 = $139 + -24 | 0; - $142 = $139; - do { - $141 = $142 + -24 | 0; - HEAP32[$34 >> 2] = $141; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($141); - $142 = HEAP32[$34 >> 2] | 0; - } while (($142 | 0) != ($140 | 0)); - $144 = $139 + -48 | 0; - $145 = HEAP8[$144 >> 0] | 0; - if (!($145 & 1)) $153 = ($145 & 255) >>> 1; else $153 = HEAP32[$139 + -44 >> 2] | 0; - if (!$153) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_($144, $name$i11); else { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($0, 12902, $name$i11); - $154 = HEAP8[$0 >> 0] | 0; - $156 = ($154 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($144, $156 ? $101 : HEAP32[$100 >> 2] | 0, $156 ? ($154 & 255) >>> 1 : HEAP32[$102 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $164 = (HEAP32[$34 >> 2] | 0) + -24 | 0; - HEAP32[$2 >> 2] = HEAP32[$84 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($1, $164, $2); - $166 = HEAP32[$86 >> 2] | 0; - $167 = HEAP32[$87 >> 2] | 0; - if ($166 >>> 0 < $167 >>> 0) { - HEAP32[$166 + 12 >> 2] = HEAP32[$103 >> 2]; - HEAP32[$166 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$166 + 4 >> 2] = HEAP32[$104 >> 2]; - HEAP32[$166 + 8 >> 2] = HEAP32[$105 >> 2]; - HEAP32[$105 >> 2] = 0; - HEAP32[$104 >> 2] = 0; - HEAP32[$1 >> 2] = 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 16; - } else { - $180 = HEAP32[$85 >> 2] | 0; - $181 = $166 - $180 | 0; - $182 = $181 >> 4; - $183 = $182 + 1 | 0; - if (($181 | 0) < -16) { - label = 37; - break L73; - } - $186 = $167 - $180 | 0; - if ($186 >> 4 >>> 0 < 1073741823) { - $189 = $186 >> 3; - $$0$i$i$i16$i = $189 >>> 0 < $183 >>> 0 ? $183 : $189; - } else $$0$i$i$i16$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i16$i, $182, $91); - $192 = HEAP32[$106 >> 2] | 0; - HEAP32[$192 + 12 >> 2] = HEAP32[$103 >> 2]; - HEAP32[$192 >> 2] = HEAP32[$1 >> 2]; - HEAP32[$192 + 4 >> 2] = HEAP32[$104 >> 2]; - HEAP32[$192 + 8 >> 2] = HEAP32[$105 >> 2]; - HEAP32[$105 >> 2] = 0; - HEAP32[$104 >> 2] = 0; - HEAP32[$1 >> 2] = 0; - HEAP32[$106 >> 2] = $192 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($85, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($1); - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($name$i11); - $t0$2$i$ph$be = $134; - } else if ((label | 0) == 44) { - label = 0; - $201 = __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($t0$2$i131$lcssa178, $last, $db) | 0; - if (($201 | 0) == ($t0$2$i131$lcssa178 | 0) | ($201 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($name1$i, (HEAP32[$34 >> 2] | 0) + -24 | 0); - $206 = HEAP32[$34 >> 2] | 0; - $207 = $206 + -24 | 0; - $209 = $206; - do { - $208 = $209 + -24 | 0; - HEAP32[$34 >> 2] = $208; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($208); - $209 = HEAP32[$34 >> 2] | 0; - } while (($209 | 0) != ($207 | 0)); - $211 = $206 + -48 | 0; - $212 = HEAP8[$211 >> 0] | 0; - if (!($212 & 1)) $220 = ($212 & 255) >>> 1; else $220 = HEAP32[$206 + -44 >> 2] | 0; - if (!$220) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_($211, $name1$i); else { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($3, 12902, $name1$i); - $221 = HEAP8[$3 >> 0] | 0; - $223 = ($221 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($211, $223 ? $112 : HEAP32[$111 >> 2] | 0, $223 ? ($221 & 255) >>> 1 : HEAP32[$113 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - } - $231 = (HEAP32[$34 >> 2] | 0) + -24 | 0; - HEAP32[$5 >> 2] = HEAP32[$84 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($4, $231, $5); - $233 = HEAP32[$86 >> 2] | 0; - $234 = HEAP32[$87 >> 2] | 0; - if ($233 >>> 0 < $234 >>> 0) { - HEAP32[$233 + 12 >> 2] = HEAP32[$107 >> 2]; - HEAP32[$233 >> 2] = HEAP32[$4 >> 2]; - HEAP32[$233 + 4 >> 2] = HEAP32[$108 >> 2]; - HEAP32[$233 + 8 >> 2] = HEAP32[$109 >> 2]; - HEAP32[$109 >> 2] = 0; - HEAP32[$108 >> 2] = 0; - HEAP32[$4 >> 2] = 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 16; - } else { - $247 = HEAP32[$85 >> 2] | 0; - $248 = $233 - $247 | 0; - $249 = $248 >> 4; - $250 = $249 + 1 | 0; - if (($248 | 0) < -16) { - label = 56; - break L73; - } - $253 = $234 - $247 | 0; - if ($253 >> 4 >>> 0 < 1073741823) { - $256 = $253 >> 3; - $$0$i$i$i23$i = $256 >>> 0 < $250 >>> 0 ? $250 : $256; - } else $$0$i$i$i23$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i23$i, $249, $91); - $259 = HEAP32[$110 >> 2] | 0; - HEAP32[$259 + 12 >> 2] = HEAP32[$107 >> 2]; - HEAP32[$259 >> 2] = HEAP32[$4 >> 2]; - HEAP32[$259 + 4 >> 2] = HEAP32[$108 >> 2]; - HEAP32[$259 + 8 >> 2] = HEAP32[$109 >> 2]; - HEAP32[$109 >> 2] = 0; - HEAP32[$108 >> 2] = 0; - HEAP32[$4 >> 2] = 0; - HEAP32[$110 >> 2] = $259 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($85, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($name1$i); - $t0$2$i$ph$be = $201; - } else if ((label | 0) == 61) { - label = 0; - $268 = $t0$2$i131$lcssa179 + 1 | 0; - if (($268 | 0) != ($last | 0)) switch (HEAP8[$268 >> 0] | 0) { - case 84: - case 116: - break; - default: - { - $t0$2$i131184 = $t0$2$i131$lcssa179; - label = 93; - break L93; - } - } - $271 = __ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_($t0$2$i131$lcssa179, $last, $db) | 0; - if (($271 | 0) == ($t0$2$i131$lcssa179 | 0) | ($271 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($name2$i12, (HEAP32[$34 >> 2] | 0) + -24 | 0); - $276 = HEAP32[$34 >> 2] | 0; - $277 = $276 + -24 | 0; - $279 = $276; - do { - $278 = $279 + -24 | 0; - HEAP32[$34 >> 2] = $278; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($278); - $279 = HEAP32[$34 >> 2] | 0; - } while (($279 | 0) != ($277 | 0)); - $281 = $276 + -48 | 0; - $282 = HEAP8[$281 >> 0] | 0; - if (!($282 & 1)) $290 = ($282 & 255) >>> 1; else $290 = HEAP32[$276 + -44 >> 2] | 0; - if (!$290) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_($281, $name2$i12); else { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($6, 12902, $name2$i12); - $291 = HEAP8[$6 >> 0] | 0; - $293 = ($291 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($281, $293 ? $119 : HEAP32[$118 >> 2] | 0, $293 ? ($291 & 255) >>> 1 : HEAP32[$120 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - } - $301 = (HEAP32[$34 >> 2] | 0) + -24 | 0; - HEAP32[$8 >> 2] = HEAP32[$84 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($7, $301, $8); - $303 = HEAP32[$86 >> 2] | 0; - $304 = HEAP32[$87 >> 2] | 0; - if ($303 >>> 0 < $304 >>> 0) { - HEAP32[$303 + 12 >> 2] = HEAP32[$114 >> 2]; - HEAP32[$303 >> 2] = HEAP32[$7 >> 2]; - HEAP32[$303 + 4 >> 2] = HEAP32[$115 >> 2]; - HEAP32[$303 + 8 >> 2] = HEAP32[$116 >> 2]; - HEAP32[$116 >> 2] = 0; - HEAP32[$115 >> 2] = 0; - HEAP32[$7 >> 2] = 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 16; - } else { - $317 = HEAP32[$85 >> 2] | 0; - $318 = $303 - $317 | 0; - $319 = $318 >> 4; - $320 = $319 + 1 | 0; - if (($318 | 0) < -16) { - label = 75; - break L73; - } - $323 = $304 - $317 | 0; - if ($323 >> 4 >>> 0 < 1073741823) { - $326 = $323 >> 3; - $$0$i$i$i33$i = $326 >>> 0 < $320 >>> 0 ? $320 : $326; - } else $$0$i$i$i33$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i33$i, $319, $91); - $329 = HEAP32[$117 >> 2] | 0; - HEAP32[$329 + 12 >> 2] = HEAP32[$114 >> 2]; - HEAP32[$329 >> 2] = HEAP32[$7 >> 2]; - HEAP32[$329 + 4 >> 2] = HEAP32[$115 >> 2]; - HEAP32[$329 + 8 >> 2] = HEAP32[$116 >> 2]; - HEAP32[$116 >> 2] = 0; - HEAP32[$115 >> 2] = 0; - HEAP32[$7 >> 2] = 0; - HEAP32[$117 >> 2] = $329 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($85, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($7); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($name2$i12); - $t0$2$i$ph$be = $271; - } while (0); - if ((label | 0) == 93) { - label = 0; - $400 = __ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_($t0$2$i131184, $last, $db) | 0; - if (($400 | 0) == ($t0$2$i131184 | 0) | ($400 | 0) == ($last | 0)) { - $$07$i = $$first; - break L44; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($name4$i, (HEAP32[$34 >> 2] | 0) + -24 | 0); - $405 = HEAP32[$34 >> 2] | 0; - $406 = $405 + -24 | 0; - $408 = $405; - do { - $407 = $408 + -24 | 0; - HEAP32[$34 >> 2] = $407; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($407); - $408 = HEAP32[$34 >> 2] | 0; - } while (($408 | 0) != ($406 | 0)); - $410 = $405 + -48 | 0; - $411 = HEAP8[$410 >> 0] | 0; - if (!($411 & 1)) $419 = ($411 & 255) >>> 1; else $419 = HEAP32[$405 + -44 >> 2] | 0; - if (!$419) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_($410, $name4$i); else { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($11, 12902, $name4$i); - $420 = HEAP8[$11 >> 0] | 0; - $422 = ($420 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($410, $422 ? $98 : HEAP32[$97 >> 2] | 0, $422 ? ($420 & 255) >>> 1 : HEAP32[$99 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($11); - } - $430 = (HEAP32[$34 >> 2] | 0) + -24 | 0; - HEAP32[$13 >> 2] = HEAP32[$84 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($12, $430, $13); - $432 = HEAP32[$86 >> 2] | 0; - $433 = HEAP32[$87 >> 2] | 0; - if ($432 >>> 0 < $433 >>> 0) { - HEAP32[$432 + 12 >> 2] = HEAP32[$93 >> 2]; - HEAP32[$432 >> 2] = HEAP32[$12 >> 2]; - HEAP32[$432 + 4 >> 2] = HEAP32[$94 >> 2]; - HEAP32[$432 + 8 >> 2] = HEAP32[$95 >> 2]; - HEAP32[$95 >> 2] = 0; - HEAP32[$94 >> 2] = 0; - HEAP32[$12 >> 2] = 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 16; - } else { - $446 = HEAP32[$85 >> 2] | 0; - $447 = $432 - $446 | 0; - $448 = $447 >> 4; - $449 = $448 + 1 | 0; - if (($447 | 0) < -16) { - label = 105; - break; - } - $452 = $433 - $446 | 0; - if ($452 >> 4 >>> 0 < 1073741823) { - $455 = $452 >> 3; - $$0$i$i$i52$i = $455 >>> 0 < $449 >>> 0 ? $449 : $455; - } else $$0$i$i$i52$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i52$i, $448, $91); - $458 = HEAP32[$96 >> 2] | 0; - HEAP32[$458 + 12 >> 2] = HEAP32[$93 >> 2]; - HEAP32[$458 >> 2] = HEAP32[$12 >> 2]; - HEAP32[$458 + 4 >> 2] = HEAP32[$94 >> 2]; - HEAP32[$458 + 8 >> 2] = HEAP32[$95 >> 2]; - HEAP32[$95 >> 2] = 0; - HEAP32[$94 >> 2] = 0; - HEAP32[$12 >> 2] = 0; - HEAP32[$96 >> 2] = $458 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($85, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($12); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($name4$i); - $t0$2$i$ph$be = $400; - } - $719 = HEAP8[$t0$2$i$ph$be >> 0] | 0; - if ($719 << 24 >> 24 == 69) { - $pop_subs$0$off0$i$ph$lcssa = 1; - $t0$2$i$lcssa = $t0$2$i$ph$be; - break L72; - } else { - $pop_subs$0$off0$i$ph136 = 1; - $t0$2$i$ph135 = $t0$2$i$ph$be; - } - } - if ((label | 0) == 37) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($85); else if ((label | 0) == 56) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($85); else if ((label | 0) == 75) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($85); else if ((label | 0) == 86) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($85); else if ((label | 0) == 105) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($85); - } while (0); - $469 = $t0$2$i$lcssa + 1 | 0; - HEAP32[$db + 48 >> 2] = HEAP32[$cv$i >> 2]; - if ($pop_subs$0$off0$i$ph$lcssa) { - $474 = HEAP32[$86 >> 2] | 0; - if ((HEAP32[$db + 16 >> 2] | 0) == ($474 | 0)) $$07$i = $469; else { - $476 = $474 + -16 | 0; - $478 = $474; - do { - $477 = $478 + -16 | 0; - HEAP32[$86 >> 2] = $477; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($477); - $478 = HEAP32[$86 >> 2] | 0; - } while (($478 | 0) != ($476 | 0)); - $$07$i = $469; - } - } else $$07$i = $469; - } - } else $$07$i = $$first; while (0); - $$02 = ($$07$i | 0) == ($$first | 0) ? $first : $$07$i; - break L1; - break; - } - case 90: - { - L199 : do if (($$first | 0) == ($last | 0)) $$0$i10 = $last; else if ($23 << 24 >> 24 == 90) { - $483 = $$first + 1 | 0; - $484 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($483, $last, $db) | 0; - if (($484 | 0) == ($483 | 0) | ($484 | 0) == ($last | 0)) $$0$i10 = $$first; else if ((HEAP8[$484 >> 0] | 0) == 69) { - $489 = $484 + 1 | 0; - if (($489 | 0) == ($last | 0)) $$0$i10 = $$first; else switch (HEAP8[$489 >> 0] | 0) { - case 115: - { - $494 = __ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_($484 + 2 | 0, $last) | 0; - $497 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($497 | 0)) { - $$0$i10 = $494; - break L199; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($497 + -24 | 0, 12905) | 0; - $$0$i10 = $494; - break L199; - break; - } - case 100: - { - $500 = $484 + 2 | 0; - if (($500 | 0) == ($last | 0)) { - $$0$i10 = $$first; - break L199; - } - $502 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($500, $last) | 0; - if (($502 | 0) == ($last | 0)) { - $$0$i10 = $$first; - break L199; - } - if ((HEAP8[$502 >> 0] | 0) != 95) { - $$0$i10 = $$first; - break L199; - } - $506 = $502 + 1 | 0; - $507 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($506, $last, $db) | 0; - $509 = $db + 4 | 0; - $510 = HEAP32[$509 >> 2] | 0; - if (($507 | 0) == ($506 | 0)) { - $538 = $510 + -24 | 0; - $540 = $510; - while (1) { - $539 = $540 + -24 | 0; - HEAP32[$509 >> 2] = $539; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($539); - $540 = HEAP32[$509 >> 2] | 0; - if (($540 | 0) == ($538 | 0)) { - $$0$i10 = $$first; - break L199; - } - } - } - if ((($510 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0$i10 = $$first; - break L199; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($__v$i$i51$i, $510 + -24 | 0); - $518 = HEAP32[$509 >> 2] | 0; - $519 = $518 + -24 | 0; - $521 = $518; - do { - $520 = $521 + -24 | 0; - HEAP32[$509 >> 2] = $520; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($520); - $521 = HEAP32[$509 >> 2] | 0; - } while (($521 | 0) != ($519 | 0)); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($518 + -48 | 0, 12902) | 0; - $526 = HEAP8[$__v$i$i51$i >> 0] | 0; - $528 = ($526 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$509 >> 2] | 0) + -24 | 0, $528 ? $__v$i$i51$i + 1 | 0 : HEAP32[$__v$i$i51$i + 8 >> 2] | 0, $528 ? ($526 & 255) >>> 1 : HEAP32[$__v$i$i51$i + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($__v$i$i51$i); - $$0$i10 = $507; - break L199; - break; - } - default: - { - $542 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($489, $last, $db) | 0; - if (($542 | 0) == ($489 | 0)) { - $574 = $db + 4 | 0; - $575 = HEAP32[$574 >> 2] | 0; - $576 = $575 + -24 | 0; - $578 = $575; - while (1) { - $577 = $578 + -24 | 0; - HEAP32[$574 >> 2] = $577; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($577); - $578 = HEAP32[$574 >> 2] | 0; - if (($578 | 0) == ($576 | 0)) { - $$0$i10 = $$first; - break L199; - } - } - } - $544 = __ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_($542, $last) | 0; - $545 = $db + 4 | 0; - $546 = HEAP32[$545 >> 2] | 0; - if ((($546 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0$i10 = $544; - break L199; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($cv$i, $546 + -24 | 0); - $554 = HEAP32[$545 >> 2] | 0; - $555 = $554 + -24 | 0; - $557 = $554; - do { - $556 = $557 + -24 | 0; - HEAP32[$545 >> 2] = $556; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($556); - $557 = HEAP32[$545 >> 2] | 0; - } while (($557 | 0) != ($555 | 0)); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($554 + -48 | 0, 12902) | 0; - $562 = HEAP8[$cv$i >> 0] | 0; - $564 = ($562 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$545 >> 2] | 0) + -24 | 0, $564 ? $cv$i + 1 | 0 : HEAP32[$cv$i + 8 >> 2] | 0, $564 ? ($562 & 255) >>> 1 : HEAP32[$cv$i + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($cv$i); - $$0$i10 = $544; - break L199; - } - } - } else $$0$i10 = $$first; - } else $$0$i10 = $$first; while (0); - STACKTOP = sp; - return (($$0$i10 | 0) == ($$first | 0) ? $first : $$0$i10) | 0; - } - default: - { - do if (($16 - $$first | 0) > 1) { - if ($23 << 24 >> 24 == 83) if ((HEAP8[$$first + 1 >> 0] | 0) == 116) { - $588 = $$first + 2 | 0; - if (($588 | 0) == ($last | 0)) { - $St$0$off0$i = 0; - $t0$0$i = $last; - } else { - $St$0$off0$i = 0; - $t0$0$i = (HEAP8[$588 >> 0] | 0) == 76 ? $$first + 3 | 0 : $588; - } - } else { - $St$0$off0$i = 1; - $t0$0$i = $$first; - } else { - $St$0$off0$i = 1; - $t0$0$i = $$first; - } - $593 = __ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_($t0$0$i, $last, $db) | 0; - $594 = ($593 | 0) == ($t0$0$i | 0); - if ($St$0$off0$i | $594) $$0$i = $594 ? $$first : $593; else { - $597 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($597 | 0)) break; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($597 + -24 | 0, 0, 12922) | 0; - $$0$i = $593; - } - if (($$0$i | 0) != ($$first | 0)) { - if (($$0$i | 0) == ($last | 0)) { - $$02 = $last; - break L1; - } - if ((HEAP8[$$0$i >> 0] | 0) != 73) { - $$02 = $$0$i; - break L1; - } - $605 = $db + 4 | 0; - $606 = HEAP32[$605 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($606 | 0)) { - $$02 = $first; - break L1; - } - $608 = $db + 16 | 0; - HEAP32[$15 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($14, $606 + -24 | 0, $15); - $612 = $db + 20 | 0; - $613 = HEAP32[$612 >> 2] | 0; - $615 = HEAP32[$db + 24 >> 2] | 0; - if ($613 >>> 0 < $615 >>> 0) { - HEAP32[$613 + 12 >> 2] = HEAP32[$14 + 12 >> 2]; - HEAP32[$613 >> 2] = HEAP32[$14 >> 2]; - $622 = $14 + 4 | 0; - HEAP32[$613 + 4 >> 2] = HEAP32[$622 >> 2]; - $624 = $14 + 8 | 0; - HEAP32[$613 + 8 >> 2] = HEAP32[$624 >> 2]; - HEAP32[$624 >> 2] = 0; - HEAP32[$622 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$612 >> 2] = (HEAP32[$612 >> 2] | 0) + 16; - } else { - $632 = HEAP32[$608 >> 2] | 0; - $633 = $613 - $632 | 0; - $634 = $633 >> 4; - $635 = $634 + 1 | 0; - if (($633 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($608); - $638 = $615 - $632 | 0; - if ($638 >> 4 >>> 0 < 1073741823) { - $641 = $638 >> 3; - $$0$i$i$i = $641 >>> 0 < $635 >>> 0 ? $635 : $641; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i51$i, $$0$i$i$i, $634, $db + 28 | 0); - $644 = $__v$i$i51$i + 8 | 0; - $645 = HEAP32[$644 >> 2] | 0; - HEAP32[$645 + 12 >> 2] = HEAP32[$14 + 12 >> 2]; - HEAP32[$645 >> 2] = HEAP32[$14 >> 2]; - $651 = $14 + 4 | 0; - HEAP32[$645 + 4 >> 2] = HEAP32[$651 >> 2]; - $653 = $14 + 8 | 0; - HEAP32[$645 + 8 >> 2] = HEAP32[$653 >> 2]; - HEAP32[$653 >> 2] = 0; - HEAP32[$651 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$644 >> 2] = $645 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($608, $__v$i$i51$i); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i51$i); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($14); - $657 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($$0$i, $last, $db) | 0; - if (($657 | 0) == ($$0$i | 0)) { - $$02 = $first; - break L1; - } - $659 = HEAP32[$605 >> 2] | 0; - if ((($659 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$02 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($tmp, $659 + -24 | 0); - $667 = HEAP32[$605 >> 2] | 0; - $668 = $667 + -24 | 0; - $670 = $667; - do { - $669 = $670 + -24 | 0; - HEAP32[$605 >> 2] = $669; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($669); - $670 = HEAP32[$605 >> 2] | 0; - } while (($670 | 0) != ($668 | 0)); - $673 = HEAP8[$tmp >> 0] | 0; - $675 = ($673 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($667 + -48 | 0, $675 ? $tmp + 1 | 0 : HEAP32[$tmp + 8 >> 2] | 0, $675 ? ($673 & 255) >>> 1 : HEAP32[$tmp + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp); - $$02 = $657; - break L1; - } - } while (0); - $685 = __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_($$first, $last, $db) | 0; - if (($685 | 0) == ($$first | 0) | ($685 | 0) == ($last | 0)) { - $$02 = $first; - break L1; - } - if ((HEAP8[$685 >> 0] | 0) != 73) { - $$02 = $first; - break L1; - } - $690 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($685, $last, $db) | 0; - if (($690 | 0) == ($685 | 0)) { - $$02 = $first; - break L1; - } - $692 = $db + 4 | 0; - $693 = HEAP32[$692 >> 2] | 0; - if ((($693 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$02 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($tmp3, $693 + -24 | 0); - $701 = HEAP32[$692 >> 2] | 0; - $702 = $701 + -24 | 0; - $704 = $701; - do { - $703 = $704 + -24 | 0; - HEAP32[$692 >> 2] = $703; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($703); - $704 = HEAP32[$692 >> 2] | 0; - } while (($704 | 0) != ($702 | 0)); - $707 = HEAP8[$tmp3 >> 0] | 0; - $709 = ($707 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($701 + -48 | 0, $709 ? $tmp3 + 1 | 0 : HEAP32[$tmp3 + 8 >> 2] | 0, $709 ? ($707 & 255) >>> 1 : HEAP32[$tmp3 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp3); - $$02 = $690; - break L1; - } - } - } else $$02 = $first; while (0); - STACKTOP = sp; - return $$02 | 0; -} - -function _printf_core($f, $fmt, $ap, $nl_arg, $nl_type) { - $f = $f | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - $nl_arg = $nl_arg | 0; - $nl_type = $nl_type | 0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$21$i = 0, $$210$i = 0, $$23$i = 0, $$3$i = 0.0, $$31$i = 0, $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41276$i = 0, $$5$lcssa$i = 0, $$51 = 0, $$587$i = 0, $$a$3$i = 0, $$a$3186$i = 0, $$fl$4 = 0, $$lcssa = 0, $$lcssa159$i = 0, $$lcssa318 = 0, $$lcssa323 = 0, $$lcssa324 = 0, $$lcssa325 = 0, $$lcssa326 = 0, $$lcssa327 = 0, $$lcssa329 = 0, $$lcssa339 = 0, $$lcssa342 = 0.0, $$lcssa344 = 0, $$p$$i = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr47$i = 0, $$pre$phi184$iZ2D = 0, $$pre182$i = 0, $$z$4$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $106 = 0, $107 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $133 = 0, $134 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $144 = 0, $146 = 0, $148 = 0, $149 = 0, $15 = 0, $154 = 0, $157 = 0, $162 = 0, $163 = 0, $168 = 0, $175 = 0, $176 = 0, $187 = 0, $19 = 0, $199 = 0, $2 = 0, $206 = 0, $208 = 0, $21 = 0, $211 = 0, $212 = 0, $217 = 0, $223 = 0, $224 = 0, $23 = 0, $230 = 0, $24 = 0, $243 = 0, $245 = 0, $248 = 0, $253 = 0, $256 = 0, $257 = 0, $267 = 0, $269 = 0, $271 = 0, $274 = 0, $276 = 0, $277 = 0, $278 = 0, $28 = 0, $284 = 0, $286 = 0, $287 = 0, $29 = 0, $291 = 0, $299 = 0, $3 = 0, $305 = 0, $314 = 0, $317 = 0, $320 = 0, $321 = 0, $334 = 0, $336 = 0, $34 = 0, $341 = 0, $346 = 0, $349 = 0, $359 = 0.0, $366 = 0, $370 = 0, $377 = 0, $379 = 0, $381 = 0, $382 = 0, $386 = 0, $39 = 0, $392 = 0.0, $393 = 0, $396 = 0, $398 = 0, $4 = 0, $40 = 0, $401 = 0, $403 = 0, $407 = 0.0, $417 = 0, $420 = 0, $423 = 0, $432 = 0, $434 = 0, $435 = 0, $44 = 0, $441 = 0, $459 = 0, $46 = 0, $464 = 0, $469 = 0, $47 = 0, $479 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $491 = 0, $492 = 0, $495 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $501 = 0, $505 = 0, $507 = 0, $51 = 0, $511 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $521 = 0, $527 = 0, $528 = 0, $529 = 0, $533 = 0, $541 = 0, $555 = 0, $556 = 0, $559 = 0, $56 = 0, $564 = 0, $565 = 0, $567 = 0, $574 = 0, $575 = 0, $576 = 0, $579 = 0, $580 = 0, $581 = 0, $588 = 0, $59 = 0, $598 = 0, $6 = 0, $60 = 0, $601 = 0, $603 = 0, $605 = 0, $607 = 0, $61 = 0, $612 = 0, $613 = 0, $616 = 0, $618 = 0, $620 = 0, $622 = 0, $633 = 0, $636 = 0, $641 = 0, $650 = 0, $651 = 0, $655 = 0, $658 = 0, $66 = 0, $660 = 0, $662 = 0, $666 = 0, $669 = 0, $67 = 0, $673 = 0, $683 = 0, $688 = 0, $695 = 0, $698 = 0, $7 = 0, $706 = 0, $716 = 0, $718 = 0, $726 = 0, $733 = 0, $735 = 0, $739 = 0, $741 = 0, $750 = 0, $756 = 0, $771 = 0, $773 = 0, $786 = 0, $8 = 0, $9 = 0, $91 = 0, $92 = 0, $98 = 0, $99 = 0, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1147$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3134$i = 0, $a$5$lcssa$i = 0, $a$5109$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arg = 0, $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0140$i = 0, $carry3$0128$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0139$i = 0, $d$0141$i = 0, $d$1127$i = 0, $d$2$lcssa$i = 0, $d$2108$i = 0, $d$3$i = 0, $d$482$i = 0, $d$575$i = 0, $d$686$i = 0, $e$0123$i = 0, $e$1$i = 0, $e$2104$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$193$i = 0, $estr$2$i = 0, $fl$0109 = 0, $fl$062 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $fmt39$lcssa = 0, $fmt39101 = 0, $fmt40 = 0, $fmt41 = 0, $fmt42 = 0, $fmt44 = 0, $fmt44$lcssa321 = 0, $fmt45 = 0, $i$0$lcssa = 0, $i$0$lcssa200 = 0, $i$0114 = 0, $i$0122$i = 0, $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116$i = 0, $i$1125 = 0, $i$2100 = 0, $i$2100$lcssa = 0, $i$2103$i = 0, $i$398 = 0, $i$399$i = 0, $isdigittmp = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0115$i = 0, $j$0117$i = 0, $j$1100$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1113 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notrhs$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$4198 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$169$i = 0, $round$068$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s7$079$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$070$i = 0, $s9$0$i = 0, $s9$183$i = 0, $s9$2$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa322 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge8108 = 0, $storemerge860 = 0, $t$0 = 0, $t$1 = 0, $w$0 = 0, $w$1 = 0, $w$2 = 0, $wc = 0, $ws$0115 = 0, $ws$1126 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$0102 = 0, $z$1$lcssa$i = 0, $z$1146$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0, $z$3$lcssa$i = 0, $z$3133$i = 0, $z$4$i = 0, $z$6$$i = 0, $z$6$i = 0, $z$6$i$lcssa = 0, $z$6$ph$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 624 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $big$i = sp + 24 | 0; - $e2$i = sp + 16 | 0; - $buf$i = sp + 588 | 0; - $ebuf0$i = sp + 576 | 0; - $arg = sp; - $buf = sp + 536 | 0; - $wc = sp + 8 | 0; - $mb = sp + 528 | 0; - $0 = ($f | 0) != 0; - $1 = $buf + 40 | 0; - $2 = $1; - $3 = $buf + 39 | 0; - $4 = $wc + 4 | 0; - $5 = $ebuf0$i + 12 | 0; - $6 = $ebuf0$i + 11 | 0; - $7 = $buf$i; - $8 = $5; - $9 = $8 - $7 | 0; - $10 = -2 - $7 | 0; - $11 = $8 + 2 | 0; - $12 = $big$i + 288 | 0; - $13 = $buf$i + 9 | 0; - $14 = $13; - $15 = $buf$i + 8 | 0; - $cnt$0 = 0; - $fmt41 = $fmt; - $l$0 = 0; - $l10n$0 = 0; - L1 : while (1) { - do if (($cnt$0 | 0) > -1) if (($l$0 | 0) > (2147483647 - $cnt$0 | 0)) { - $19 = ___errno_location() | 0; - HEAP32[$19 >> 2] = 75; - $cnt$1 = -1; - break; - } else { - $cnt$1 = $l$0 + $cnt$0 | 0; - break; - } else $cnt$1 = $cnt$0; while (0); - $21 = HEAP8[$fmt41 >> 0] | 0; - if (!($21 << 24 >> 24)) { - $cnt$1$lcssa = $cnt$1; - $l10n$0$lcssa = $l10n$0; - label = 245; - break; - } else { - $23 = $21; - $fmt40 = $fmt41; - } - L9 : while (1) { - switch ($23 << 24 >> 24) { - case 37: - { - $fmt39101 = $fmt40; - $z$0102 = $fmt40; - label = 9; - break L9; - break; - } - case 0: - { - $fmt39$lcssa = $fmt40; - $z$0$lcssa = $fmt40; - break L9; - break; - } - default: - {} - } - $24 = $fmt40 + 1 | 0; - $23 = HEAP8[$24 >> 0] | 0; - $fmt40 = $24; - } - L12 : do if ((label | 0) == 9) while (1) { - label = 0; - if ((HEAP8[$fmt39101 + 1 >> 0] | 0) != 37) { - $fmt39$lcssa = $fmt39101; - $z$0$lcssa = $z$0102; - break L12; - } - $28 = $z$0102 + 1 | 0; - $29 = $fmt39101 + 2 | 0; - if ((HEAP8[$29 >> 0] | 0) == 37) { - $fmt39101 = $29; - $z$0102 = $28; - label = 9; - } else { - $fmt39$lcssa = $29; - $z$0$lcssa = $28; - break; - } - } while (0); - $34 = $z$0$lcssa - $fmt41 | 0; - if ($0) if (!(HEAP32[$f >> 2] & 32)) ___fwritex($fmt41, $34, $f) | 0; - if (($z$0$lcssa | 0) != ($fmt41 | 0)) { - $cnt$0 = $cnt$1; - $fmt41 = $fmt39$lcssa; - $l$0 = $34; - continue; - } - $39 = $fmt39$lcssa + 1 | 0; - $40 = HEAP8[$39 >> 0] | 0; - $isdigittmp = ($40 << 24 >> 24) + -48 | 0; - if ($isdigittmp >>> 0 < 10) { - $44 = (HEAP8[$fmt39$lcssa + 2 >> 0] | 0) == 36; - $$51 = $44 ? $fmt39$lcssa + 3 | 0 : $39; - $47 = HEAP8[$$51 >> 0] | 0; - $argpos$0 = $44 ? $isdigittmp : -1; - $l10n$1 = $44 ? 1 : $l10n$0; - $storemerge = $$51; - } else { - $47 = $40; - $argpos$0 = -1; - $l10n$1 = $l10n$0; - $storemerge = $39; - } - $46 = $47 << 24 >> 24; - L25 : do if (($46 & -32 | 0) == 32) { - $51 = $46; - $56 = $47; - $fl$0109 = 0; - $storemerge8108 = $storemerge; - while (1) { - if (!(1 << $51 + -32 & 75913)) { - $66 = $56; - $fl$062 = $fl$0109; - $storemerge860 = $storemerge8108; - break L25; - } - $59 = 1 << ($56 << 24 >> 24) + -32 | $fl$0109; - $60 = $storemerge8108 + 1 | 0; - $61 = HEAP8[$60 >> 0] | 0; - $51 = $61 << 24 >> 24; - if (($51 & -32 | 0) != 32) { - $66 = $61; - $fl$062 = $59; - $storemerge860 = $60; - break; - } else { - $56 = $61; - $fl$0109 = $59; - $storemerge8108 = $60; - } - } - } else { - $66 = $47; - $fl$062 = 0; - $storemerge860 = $storemerge; - } while (0); - do if ($66 << 24 >> 24 == 42) { - $67 = $storemerge860 + 1 | 0; - $isdigittmp11 = (HEAP8[$67 >> 0] | 0) + -48 | 0; - if ($isdigittmp11 >>> 0 < 10) if ((HEAP8[$storemerge860 + 2 >> 0] | 0) == 36) { - HEAP32[$nl_type + ($isdigittmp11 << 2) >> 2] = 10; - $l10n$2 = 1; - $storemerge13 = $storemerge860 + 3 | 0; - $w$0 = HEAP32[$nl_arg + ((HEAP8[$67 >> 0] | 0) + -48 << 3) >> 2] | 0; - } else label = 24; else label = 24; - if ((label | 0) == 24) { - label = 0; - if ($l10n$1) { - $$0 = -1; - break L1; - } - if (!$0) { - $fl$1 = $fl$062; - $fmt42 = $67; - $l10n$3 = 0; - $w$1 = 0; - break; - } - $91 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $92 = HEAP32[$91 >> 2] | 0; - HEAP32[$ap >> 2] = $91 + 4; - $l10n$2 = 0; - $storemerge13 = $67; - $w$0 = $92; - } - if (($w$0 | 0) < 0) { - $fl$1 = $fl$062 | 8192; - $fmt42 = $storemerge13; - $l10n$3 = $l10n$2; - $w$1 = 0 - $w$0 | 0; - } else { - $fl$1 = $fl$062; - $fmt42 = $storemerge13; - $l10n$3 = $l10n$2; - $w$1 = $w$0; - } - } else { - $isdigittmp1$i = ($66 << 24 >> 24) + -48 | 0; - if ($isdigittmp1$i >>> 0 < 10) { - $100 = $storemerge860; - $i$03$i = 0; - $isdigittmp4$i = $isdigittmp1$i; - while (1) { - $98 = ($i$03$i * 10 | 0) + $isdigittmp4$i | 0; - $99 = $100 + 1 | 0; - $isdigittmp4$i = (HEAP8[$99 >> 0] | 0) + -48 | 0; - if ($isdigittmp4$i >>> 0 >= 10) { - $$lcssa = $98; - $$lcssa318 = $99; - break; - } else { - $100 = $99; - $i$03$i = $98; - } - } - if (($$lcssa | 0) < 0) { - $$0 = -1; - break L1; - } else { - $fl$1 = $fl$062; - $fmt42 = $$lcssa318; - $l10n$3 = $l10n$1; - $w$1 = $$lcssa; - } - } else { - $fl$1 = $fl$062; - $fmt42 = $storemerge860; - $l10n$3 = $l10n$1; - $w$1 = 0; - } - } while (0); - L46 : do if ((HEAP8[$fmt42 >> 0] | 0) == 46) { - $106 = $fmt42 + 1 | 0; - $107 = HEAP8[$106 >> 0] | 0; - if ($107 << 24 >> 24 != 42) { - $isdigittmp1$i22 = ($107 << 24 >> 24) + -48 | 0; - if ($isdigittmp1$i22 >>> 0 < 10) { - $139 = $106; - $i$03$i25 = 0; - $isdigittmp4$i24 = $isdigittmp1$i22; - } else { - $fmt45 = $106; - $p$0 = 0; - break; - } - while (1) { - $137 = ($i$03$i25 * 10 | 0) + $isdigittmp4$i24 | 0; - $138 = $139 + 1 | 0; - $isdigittmp4$i24 = (HEAP8[$138 >> 0] | 0) + -48 | 0; - if ($isdigittmp4$i24 >>> 0 >= 10) { - $fmt45 = $138; - $p$0 = $137; - break L46; - } else { - $139 = $138; - $i$03$i25 = $137; - } - } - } - $109 = $fmt42 + 2 | 0; - $isdigittmp9 = (HEAP8[$109 >> 0] | 0) + -48 | 0; - if ($isdigittmp9 >>> 0 < 10) if ((HEAP8[$fmt42 + 3 >> 0] | 0) == 36) { - HEAP32[$nl_type + ($isdigittmp9 << 2) >> 2] = 10; - $fmt45 = $fmt42 + 4 | 0; - $p$0 = HEAP32[$nl_arg + ((HEAP8[$109 >> 0] | 0) + -48 << 3) >> 2] | 0; - break; - } - if ($l10n$3) { - $$0 = -1; - break L1; - } - if ($0) { - $133 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $134 = HEAP32[$133 >> 2] | 0; - HEAP32[$ap >> 2] = $133 + 4; - $fmt45 = $109; - $p$0 = $134; - } else { - $fmt45 = $109; - $p$0 = 0; - } - } else { - $fmt45 = $fmt42; - $p$0 = -1; - } while (0); - $fmt44 = $fmt45; - $st$0 = 0; - while (1) { - $144 = (HEAP8[$fmt44 >> 0] | 0) + -65 | 0; - if ($144 >>> 0 > 57) { - $$0 = -1; - break L1; - } - $146 = $fmt44 + 1 | 0; - $148 = HEAP8[17803 + ($st$0 * 58 | 0) + $144 >> 0] | 0; - $149 = $148 & 255; - if (($149 + -1 | 0) >>> 0 < 8) { - $fmt44 = $146; - $st$0 = $149; - } else { - $$lcssa323 = $146; - $$lcssa324 = $148; - $$lcssa325 = $149; - $fmt44$lcssa321 = $fmt44; - $st$0$lcssa322 = $st$0; - break; - } - } - if (!($$lcssa324 << 24 >> 24)) { - $$0 = -1; - break; - } - $154 = ($argpos$0 | 0) > -1; - do if ($$lcssa324 << 24 >> 24 == 19) if ($154) { - $$0 = -1; - break L1; - } else label = 52; else { - if ($154) { - HEAP32[$nl_type + ($argpos$0 << 2) >> 2] = $$lcssa325; - $157 = $nl_arg + ($argpos$0 << 3) | 0; - $162 = HEAP32[$157 + 4 >> 2] | 0; - $163 = $arg; - HEAP32[$163 >> 2] = HEAP32[$157 >> 2]; - HEAP32[$163 + 4 >> 2] = $162; - label = 52; - break; - } - if (!$0) { - $$0 = 0; - break L1; - } - _pop_arg($arg, $$lcssa325, $ap); - } while (0); - if ((label | 0) == 52) { - label = 0; - if (!$0) { - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue; - } - } - $168 = HEAP8[$fmt44$lcssa321 >> 0] | 0; - $t$0 = ($st$0$lcssa322 | 0) != 0 & ($168 & 15 | 0) == 3 ? $168 & -33 : $168; - $175 = $fl$1 & -65537; - $fl$1$ = ($fl$1 & 8192 | 0) == 0 ? $fl$1 : $175; - L75 : do switch ($t$0 | 0) { - case 110: - { - switch ($st$0$lcssa322 | 0) { - case 0: - { - HEAP32[HEAP32[$arg >> 2] >> 2] = $cnt$1; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: - { - HEAP32[HEAP32[$arg >> 2] >> 2] = $cnt$1; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: - { - $187 = HEAP32[$arg >> 2] | 0; - HEAP32[$187 >> 2] = $cnt$1; - HEAP32[$187 + 4 >> 2] = (($cnt$1 | 0) < 0) << 31 >> 31; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: - { - HEAP16[HEAP32[$arg >> 2] >> 1] = $cnt$1; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 4: - { - HEAP8[HEAP32[$arg >> 2] >> 0] = $cnt$1; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: - { - HEAP32[HEAP32[$arg >> 2] >> 2] = $cnt$1; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: - { - $199 = HEAP32[$arg >> 2] | 0; - HEAP32[$199 >> 2] = $cnt$1; - HEAP32[$199 + 4 >> 2] = (($cnt$1 | 0) < 0) << 31 >> 31; - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - break; - } - default: - { - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $34; - $l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 112: - { - $fl$3 = $fl$1$ | 8; - $p$1 = $p$0 >>> 0 > 8 ? $p$0 : 8; - $t$1 = 120; - label = 64; - break; - } - case 88: - case 120: - { - $fl$3 = $fl$1$; - $p$1 = $p$0; - $t$1 = $t$0; - label = 64; - break; - } - case 111: - { - $243 = $arg; - $245 = HEAP32[$243 >> 2] | 0; - $248 = HEAP32[$243 + 4 >> 2] | 0; - if (($245 | 0) == 0 & ($248 | 0) == 0) $$0$lcssa$i = $1; else { - $$03$i33 = $1; - $253 = $245; - $257 = $248; - while (1) { - $256 = $$03$i33 + -1 | 0; - HEAP8[$256 >> 0] = $253 & 7 | 48; - $253 = _bitshift64Lshr($253 | 0, $257 | 0, 3) | 0; - $257 = tempRet0; - if (($253 | 0) == 0 & ($257 | 0) == 0) { - $$0$lcssa$i = $256; - break; - } else $$03$i33 = $256; - } - } - if (!($fl$1$ & 8)) { - $a$0 = $$0$lcssa$i; - $fl$4 = $fl$1$; - $p$2 = $p$0; - $pl$1 = 0; - $prefix$1 = 18283; - label = 77; - } else { - $267 = $2 - $$0$lcssa$i + 1 | 0; - $a$0 = $$0$lcssa$i; - $fl$4 = $fl$1$; - $p$2 = ($p$0 | 0) < ($267 | 0) ? $267 : $p$0; - $pl$1 = 0; - $prefix$1 = 18283; - label = 77; - } - break; - } - case 105: - case 100: - { - $269 = $arg; - $271 = HEAP32[$269 >> 2] | 0; - $274 = HEAP32[$269 + 4 >> 2] | 0; - if (($274 | 0) < 0) { - $276 = _i64Subtract(0, 0, $271 | 0, $274 | 0) | 0; - $277 = tempRet0; - $278 = $arg; - HEAP32[$278 >> 2] = $276; - HEAP32[$278 + 4 >> 2] = $277; - $286 = $276; - $287 = $277; - $pl$0 = 1; - $prefix$0 = 18283; - label = 76; - break L75; - } - if (!($fl$1$ & 2048)) { - $284 = $fl$1$ & 1; - $286 = $271; - $287 = $274; - $pl$0 = $284; - $prefix$0 = ($284 | 0) == 0 ? 18283 : 18285; - label = 76; - } else { - $286 = $271; - $287 = $274; - $pl$0 = 1; - $prefix$0 = 18284; - label = 76; - } - break; - } - case 117: - { - $176 = $arg; - $286 = HEAP32[$176 >> 2] | 0; - $287 = HEAP32[$176 + 4 >> 2] | 0; - $pl$0 = 0; - $prefix$0 = 18283; - label = 76; - break; - } - case 99: - { - HEAP8[$3 >> 0] = HEAP32[$arg >> 2]; - $a$2 = $3; - $fl$6 = $175; - $p$5 = 1; - $pl$2 = 0; - $prefix$2 = 18283; - $z$2 = $1; - break; - } - case 109: - { - $314 = ___errno_location() | 0; - $a$1 = _strerror(HEAP32[$314 >> 2] | 0) | 0; - label = 82; - break; - } - case 115: - { - $317 = HEAP32[$arg >> 2] | 0; - $a$1 = ($317 | 0) != 0 ? $317 : 18293; - label = 82; - break; - } - case 67: - { - HEAP32[$wc >> 2] = HEAP32[$arg >> 2]; - HEAP32[$4 >> 2] = 0; - HEAP32[$arg >> 2] = $wc; - $p$4198 = -1; - label = 86; - break; - } - case 83: - { - if (!$p$0) { - _pad($f, 32, $w$1, 0, $fl$1$); - $i$0$lcssa200 = 0; - label = 98; - } else { - $p$4198 = $p$0; - label = 86; - } - break; - } - case 65: - case 71: - case 70: - case 69: - case 97: - case 103: - case 102: - case 101: - { - $359 = +HEAPF64[$arg >> 3]; - HEAP32[$e2$i >> 2] = 0; - HEAPF64[tempDoublePtr >> 3] = $359; - if ((HEAP32[tempDoublePtr + 4 >> 2] | 0) < 0) { - $$07$i = -$359; - $pl$0$i = 1; - $prefix$0$i = 18300; - } else if (!($fl$1$ & 2048)) { - $366 = $fl$1$ & 1; - $$07$i = $359; - $pl$0$i = $366; - $prefix$0$i = ($366 | 0) == 0 ? 18301 : 18306; - } else { - $$07$i = $359; - $pl$0$i = 1; - $prefix$0$i = 18303; - } - HEAPF64[tempDoublePtr >> 3] = $$07$i; - $370 = HEAP32[tempDoublePtr + 4 >> 2] & 2146435072; - do if ($370 >>> 0 < 2146435072 | ($370 | 0) == 2146435072 & 0 < 0) { - $392 = +_frexpl($$07$i, $e2$i) * 2.0; - $393 = $392 != 0.0; - if ($393) HEAP32[$e2$i >> 2] = (HEAP32[$e2$i >> 2] | 0) + -1; - $396 = $t$0 | 32; - if (($396 | 0) == 97) { - $398 = $t$0 & 32; - $prefix$0$$i = ($398 | 0) == 0 ? $prefix$0$i : $prefix$0$i + 9 | 0; - $401 = $pl$0$i | 2; - $403 = 12 - $p$0 | 0; - do if ($p$0 >>> 0 > 11 | ($403 | 0) == 0) $$1$i = $392; else { - $re$169$i = $403; - $round$068$i = 8.0; - while (1) { - $re$169$i = $re$169$i + -1 | 0; - $407 = $round$068$i * 16.0; - if (!$re$169$i) { - $$lcssa342 = $407; - break; - } else $round$068$i = $407; - } - if ((HEAP8[$prefix$0$$i >> 0] | 0) == 45) { - $$1$i = -($$lcssa342 + (-$392 - $$lcssa342)); - break; - } else { - $$1$i = $392 + $$lcssa342 - $$lcssa342; - break; - } - } while (0); - $417 = HEAP32[$e2$i >> 2] | 0; - $420 = ($417 | 0) < 0 ? 0 - $417 | 0 : $417; - $423 = _fmt_u($420, (($420 | 0) < 0) << 31 >> 31, $5) | 0; - if (($423 | 0) == ($5 | 0)) { - HEAP8[$6 >> 0] = 48; - $estr$0$i = $6; - } else $estr$0$i = $423; - HEAP8[$estr$0$i + -1 >> 0] = ($417 >> 31 & 2) + 43; - $432 = $estr$0$i + -2 | 0; - HEAP8[$432 >> 0] = $t$0 + 15; - $notrhs$i = ($p$0 | 0) < 1; - $434 = ($fl$1$ & 8 | 0) == 0; - $$2$i = $$1$i; - $s$0$i = $buf$i; - while (1) { - $435 = ~~$$2$i; - $441 = $s$0$i + 1 | 0; - HEAP8[$s$0$i >> 0] = HEAPU8[18267 + $435 >> 0] | $398; - $$2$i = ($$2$i - +($435 | 0)) * 16.0; - do if (($441 - $7 | 0) == 1) { - if ($434 & ($notrhs$i & $$2$i == 0.0)) { - $s$1$i = $441; - break; - } - HEAP8[$441 >> 0] = 46; - $s$1$i = $s$0$i + 2 | 0; - } else $s$1$i = $441; while (0); - if (!($$2$i != 0.0)) { - $s$1$i$lcssa = $s$1$i; - break; - } else $s$0$i = $s$1$i; - } - $$pre182$i = $s$1$i$lcssa; - $l$0$i = ($p$0 | 0) != 0 & ($10 + $$pre182$i | 0) < ($p$0 | 0) ? $11 + $p$0 - $432 | 0 : $9 - $432 + $$pre182$i | 0; - $459 = $l$0$i + $401 | 0; - _pad($f, 32, $w$1, $459, $fl$1$); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($prefix$0$$i, $401, $f) | 0; - _pad($f, 48, $w$1, $459, $fl$1$ ^ 65536); - $464 = $$pre182$i - $7 | 0; - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($buf$i, $464, $f) | 0; - $469 = $8 - $432 | 0; - _pad($f, 48, $l$0$i - ($464 + $469) | 0, 0, 0); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($432, $469, $f) | 0; - _pad($f, 32, $w$1, $459, $fl$1$ ^ 8192); - $$0$i = ($459 | 0) < ($w$1 | 0) ? $w$1 : $459; - break; - } - $$p$i = ($p$0 | 0) < 0 ? 6 : $p$0; - if ($393) { - $479 = (HEAP32[$e2$i >> 2] | 0) + -28 | 0; - HEAP32[$e2$i >> 2] = $479; - $$3$i = $392 * 268435456.0; - $481 = $479; - } else { - $$3$i = $392; - $481 = HEAP32[$e2$i >> 2] | 0; - } - $$31$i = ($481 | 0) < 0 ? $big$i : $12; - $482 = $$31$i; - $$4$i = $$3$i; - $z$0$i = $$31$i; - while (1) { - $483 = ~~$$4$i >>> 0; - HEAP32[$z$0$i >> 2] = $483; - $484 = $z$0$i + 4 | 0; - $$4$i = ($$4$i - +($483 >>> 0)) * 1.0e9; - if (!($$4$i != 0.0)) { - $$lcssa326 = $484; - break; - } else $z$0$i = $484; - } - $$pr$i = HEAP32[$e2$i >> 2] | 0; - if (($$pr$i | 0) > 0) { - $491 = $$pr$i; - $a$1147$i = $$31$i; - $z$1146$i = $$lcssa326; - while (1) { - $492 = ($491 | 0) > 29 ? 29 : $491; - $d$0139$i = $z$1146$i + -4 | 0; - do if ($d$0139$i >>> 0 < $a$1147$i >>> 0) $a$2$ph$i = $a$1147$i; else { - $carry$0140$i = 0; - $d$0141$i = $d$0139$i; - while (1) { - $495 = _bitshift64Shl(HEAP32[$d$0141$i >> 2] | 0, 0, $492 | 0) | 0; - $497 = _i64Add($495 | 0, tempRet0 | 0, $carry$0140$i | 0, 0) | 0; - $498 = tempRet0; - $499 = ___uremdi3($497 | 0, $498 | 0, 1e9, 0) | 0; - HEAP32[$d$0141$i >> 2] = $499; - $501 = ___udivdi3($497 | 0, $498 | 0, 1e9, 0) | 0; - $d$0141$i = $d$0141$i + -4 | 0; - if ($d$0141$i >>> 0 < $a$1147$i >>> 0) { - $$lcssa327 = $501; - break; - } else $carry$0140$i = $501; - } - if (!$$lcssa327) { - $a$2$ph$i = $a$1147$i; - break; - } - $505 = $a$1147$i + -4 | 0; - HEAP32[$505 >> 2] = $$lcssa327; - $a$2$ph$i = $505; - } while (0); - $z$2$i = $z$1146$i; - while (1) { - if ($z$2$i >>> 0 <= $a$2$ph$i >>> 0) { - $z$2$i$lcssa = $z$2$i; - break; - } - $507 = $z$2$i + -4 | 0; - if (!(HEAP32[$507 >> 2] | 0)) $z$2$i = $507; else { - $z$2$i$lcssa = $z$2$i; - break; - } - } - $511 = (HEAP32[$e2$i >> 2] | 0) - $492 | 0; - HEAP32[$e2$i >> 2] = $511; - if (($511 | 0) > 0) { - $491 = $511; - $a$1147$i = $a$2$ph$i; - $z$1146$i = $z$2$i$lcssa; - } else { - $$pr47$i = $511; - $a$1$lcssa$i = $a$2$ph$i; - $z$1$lcssa$i = $z$2$i$lcssa; - break; - } - } - } else { - $$pr47$i = $$pr$i; - $a$1$lcssa$i = $$31$i; - $z$1$lcssa$i = $$lcssa326; - } - if (($$pr47$i | 0) < 0) { - $516 = (($$p$i + 25 | 0) / 9 | 0) + 1 | 0; - $517 = ($396 | 0) == 102; - $519 = $$pr47$i; - $a$3134$i = $a$1$lcssa$i; - $z$3133$i = $z$1$lcssa$i; - while (1) { - $518 = 0 - $519 | 0; - $521 = ($518 | 0) > 9 ? 9 : $518; - do if ($a$3134$i >>> 0 < $z$3133$i >>> 0) { - $527 = (1 << $521) + -1 | 0; - $528 = 1e9 >>> $521; - $carry3$0128$i = 0; - $d$1127$i = $a$3134$i; - while (1) { - $529 = HEAP32[$d$1127$i >> 2] | 0; - HEAP32[$d$1127$i >> 2] = ($529 >>> $521) + $carry3$0128$i; - $533 = Math_imul($529 & $527, $528) | 0; - $d$1127$i = $d$1127$i + 4 | 0; - if ($d$1127$i >>> 0 >= $z$3133$i >>> 0) { - $$lcssa329 = $533; - break; - } else $carry3$0128$i = $533; - } - $$a$3$i = (HEAP32[$a$3134$i >> 2] | 0) == 0 ? $a$3134$i + 4 | 0 : $a$3134$i; - if (!$$lcssa329) { - $$a$3186$i = $$a$3$i; - $z$4$i = $z$3133$i; - break; - } - HEAP32[$z$3133$i >> 2] = $$lcssa329; - $$a$3186$i = $$a$3$i; - $z$4$i = $z$3133$i + 4 | 0; - } else { - $$a$3186$i = (HEAP32[$a$3134$i >> 2] | 0) == 0 ? $a$3134$i + 4 | 0 : $a$3134$i; - $z$4$i = $z$3133$i; - } while (0); - $541 = $517 ? $$31$i : $$a$3186$i; - $$z$4$i = ($z$4$i - $541 >> 2 | 0) > ($516 | 0) ? $541 + ($516 << 2) | 0 : $z$4$i; - $519 = (HEAP32[$e2$i >> 2] | 0) + $521 | 0; - HEAP32[$e2$i >> 2] = $519; - if (($519 | 0) >= 0) { - $a$3$lcssa$i = $$a$3186$i; - $z$3$lcssa$i = $$z$4$i; - break; - } else { - $a$3134$i = $$a$3186$i; - $z$3133$i = $$z$4$i; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i; - $z$3$lcssa$i = $z$1$lcssa$i; - } - do if ($a$3$lcssa$i >>> 0 < $z$3$lcssa$i >>> 0) { - $555 = ($482 - $a$3$lcssa$i >> 2) * 9 | 0; - $556 = HEAP32[$a$3$lcssa$i >> 2] | 0; - if ($556 >>> 0 < 10) { - $e$1$i = $555; - break; - } else { - $e$0123$i = $555; - $i$0122$i = 10; - } - while (1) { - $i$0122$i = $i$0122$i * 10 | 0; - $559 = $e$0123$i + 1 | 0; - if ($556 >>> 0 < $i$0122$i >>> 0) { - $e$1$i = $559; - break; - } else $e$0123$i = $559; - } - } else $e$1$i = 0; while (0); - $564 = ($396 | 0) == 103; - $565 = ($$p$i | 0) != 0; - $567 = $$p$i - (($396 | 0) != 102 ? $e$1$i : 0) + (($565 & $564) << 31 >> 31) | 0; - if (($567 | 0) < ((($z$3$lcssa$i - $482 >> 2) * 9 | 0) + -9 | 0)) { - $574 = $567 + 9216 | 0; - $575 = ($574 | 0) / 9 | 0; - $576 = $$31$i + ($575 + -1023 << 2) | 0; - $j$0115$i = (($574 | 0) % 9 | 0) + 1 | 0; - if (($j$0115$i | 0) < 9) { - $i$1116$i = 10; - $j$0117$i = $j$0115$i; - while (1) { - $579 = $i$1116$i * 10 | 0; - $j$0117$i = $j$0117$i + 1 | 0; - if (($j$0117$i | 0) == 9) { - $i$1$lcssa$i = $579; - break; - } else $i$1116$i = $579; - } - } else $i$1$lcssa$i = 10; - $580 = HEAP32[$576 >> 2] | 0; - $581 = ($580 >>> 0) % ($i$1$lcssa$i >>> 0) | 0; - if (!$581) if (($$31$i + ($575 + -1022 << 2) | 0) == ($z$3$lcssa$i | 0)) { - $a$7$i = $a$3$lcssa$i; - $d$3$i = $576; - $e$3$i = $e$1$i; - } else label = 163; else label = 163; - do if ((label | 0) == 163) { - label = 0; - $$20$i = ((($580 >>> 0) / ($i$1$lcssa$i >>> 0) | 0) & 1 | 0) == 0 ? 9007199254740992.0 : 9007199254740994.0; - $588 = ($i$1$lcssa$i | 0) / 2 | 0; - do if ($581 >>> 0 < $588 >>> 0) $small$0$i = .5; else { - if (($581 | 0) == ($588 | 0)) if (($$31$i + ($575 + -1022 << 2) | 0) == ($z$3$lcssa$i | 0)) { - $small$0$i = 1.0; - break; - } - $small$0$i = 1.5; - } while (0); - do if (!$pl$0$i) { - $round6$1$i = $$20$i; - $small$1$i = $small$0$i; - } else { - if ((HEAP8[$prefix$0$i >> 0] | 0) != 45) { - $round6$1$i = $$20$i; - $small$1$i = $small$0$i; - break; - } - $round6$1$i = -$$20$i; - $small$1$i = -$small$0$i; - } while (0); - $598 = $580 - $581 | 0; - HEAP32[$576 >> 2] = $598; - if (!($round6$1$i + $small$1$i != $round6$1$i)) { - $a$7$i = $a$3$lcssa$i; - $d$3$i = $576; - $e$3$i = $e$1$i; - break; - } - $601 = $598 + $i$1$lcssa$i | 0; - HEAP32[$576 >> 2] = $601; - if ($601 >>> 0 > 999999999) { - $a$5109$i = $a$3$lcssa$i; - $d$2108$i = $576; - while (1) { - $603 = $d$2108$i + -4 | 0; - HEAP32[$d$2108$i >> 2] = 0; - if ($603 >>> 0 < $a$5109$i >>> 0) { - $605 = $a$5109$i + -4 | 0; - HEAP32[$605 >> 2] = 0; - $a$6$i = $605; - } else $a$6$i = $a$5109$i; - $607 = (HEAP32[$603 >> 2] | 0) + 1 | 0; - HEAP32[$603 >> 2] = $607; - if ($607 >>> 0 > 999999999) { - $a$5109$i = $a$6$i; - $d$2108$i = $603; - } else { - $a$5$lcssa$i = $a$6$i; - $d$2$lcssa$i = $603; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i; - $d$2$lcssa$i = $576; - } - $612 = ($482 - $a$5$lcssa$i >> 2) * 9 | 0; - $613 = HEAP32[$a$5$lcssa$i >> 2] | 0; - if ($613 >>> 0 < 10) { - $a$7$i = $a$5$lcssa$i; - $d$3$i = $d$2$lcssa$i; - $e$3$i = $612; - break; - } else { - $e$2104$i = $612; - $i$2103$i = 10; - } - while (1) { - $i$2103$i = $i$2103$i * 10 | 0; - $616 = $e$2104$i + 1 | 0; - if ($613 >>> 0 < $i$2103$i >>> 0) { - $a$7$i = $a$5$lcssa$i; - $d$3$i = $d$2$lcssa$i; - $e$3$i = $616; - break; - } else $e$2104$i = $616; - } - } while (0); - $618 = $d$3$i + 4 | 0; - $a$8$ph$i = $a$7$i; - $e$4$ph$i = $e$3$i; - $z$6$ph$i = $z$3$lcssa$i >>> 0 > $618 >>> 0 ? $618 : $z$3$lcssa$i; - } else { - $a$8$ph$i = $a$3$lcssa$i; - $e$4$ph$i = $e$1$i; - $z$6$ph$i = $z$3$lcssa$i; - } - $620 = 0 - $e$4$ph$i | 0; - $z$6$i = $z$6$ph$i; - while (1) { - if ($z$6$i >>> 0 <= $a$8$ph$i >>> 0) { - $$lcssa159$i = 0; - $z$6$i$lcssa = $z$6$i; - break; - } - $622 = $z$6$i + -4 | 0; - if (!(HEAP32[$622 >> 2] | 0)) $z$6$i = $622; else { - $$lcssa159$i = 1; - $z$6$i$lcssa = $z$6$i; - break; - } - } - do if ($564) { - $$p$$i = ($565 & 1 ^ 1) + $$p$i | 0; - if (($$p$$i | 0) > ($e$4$ph$i | 0) & ($e$4$ph$i | 0) > -5) { - $$013$i = $t$0 + -1 | 0; - $$210$i = $$p$$i + -1 - $e$4$ph$i | 0; - } else { - $$013$i = $t$0 + -2 | 0; - $$210$i = $$p$$i + -1 | 0; - } - $633 = $fl$1$ & 8; - if ($633) { - $$114$i = $$013$i; - $$311$i = $$210$i; - $$pre$phi184$iZ2D = $633; - break; - } - do if ($$lcssa159$i) { - $636 = HEAP32[$z$6$i$lcssa + -4 >> 2] | 0; - if (!$636) { - $j$2$i = 9; - break; - } - if (!(($636 >>> 0) % 10 | 0)) { - $i$399$i = 10; - $j$1100$i = 0; - } else { - $j$2$i = 0; - break; - } - while (1) { - $i$399$i = $i$399$i * 10 | 0; - $641 = $j$1100$i + 1 | 0; - if (($636 >>> 0) % ($i$399$i >>> 0) | 0) { - $j$2$i = $641; - break; - } else $j$1100$i = $641; - } - } else $j$2$i = 9; while (0); - $650 = (($z$6$i$lcssa - $482 >> 2) * 9 | 0) + -9 | 0; - if (($$013$i | 32 | 0) == 102) { - $651 = $650 - $j$2$i | 0; - $$21$i = ($651 | 0) < 0 ? 0 : $651; - $$114$i = $$013$i; - $$311$i = ($$210$i | 0) < ($$21$i | 0) ? $$210$i : $$21$i; - $$pre$phi184$iZ2D = 0; - break; - } else { - $655 = $650 + $e$4$ph$i - $j$2$i | 0; - $$23$i = ($655 | 0) < 0 ? 0 : $655; - $$114$i = $$013$i; - $$311$i = ($$210$i | 0) < ($$23$i | 0) ? $$210$i : $$23$i; - $$pre$phi184$iZ2D = 0; - break; - } - } else { - $$114$i = $t$0; - $$311$i = $$p$i; - $$pre$phi184$iZ2D = $fl$1$ & 8; - } while (0); - $658 = $$311$i | $$pre$phi184$iZ2D; - $660 = ($658 | 0) != 0 & 1; - $662 = ($$114$i | 32 | 0) == 102; - if ($662) { - $$pn$i = ($e$4$ph$i | 0) > 0 ? $e$4$ph$i : 0; - $estr$2$i = 0; - } else { - $666 = ($e$4$ph$i | 0) < 0 ? $620 : $e$4$ph$i; - $669 = _fmt_u($666, (($666 | 0) < 0) << 31 >> 31, $5) | 0; - if (($8 - $669 | 0) < 2) { - $estr$193$i = $669; - while (1) { - $673 = $estr$193$i + -1 | 0; - HEAP8[$673 >> 0] = 48; - if (($8 - $673 | 0) < 2) $estr$193$i = $673; else { - $estr$1$lcssa$i = $673; - break; - } - } - } else $estr$1$lcssa$i = $669; - HEAP8[$estr$1$lcssa$i + -1 >> 0] = ($e$4$ph$i >> 31 & 2) + 43; - $683 = $estr$1$lcssa$i + -2 | 0; - HEAP8[$683 >> 0] = $$114$i; - $$pn$i = $8 - $683 | 0; - $estr$2$i = $683; - } - $688 = $pl$0$i + 1 + $$311$i + $660 + $$pn$i | 0; - _pad($f, 32, $w$1, $688, $fl$1$); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($prefix$0$i, $pl$0$i, $f) | 0; - _pad($f, 48, $w$1, $688, $fl$1$ ^ 65536); - do if ($662) { - $r$0$a$8$i = $a$8$ph$i >>> 0 > $$31$i >>> 0 ? $$31$i : $a$8$ph$i; - $d$482$i = $r$0$a$8$i; - while (1) { - $695 = _fmt_u(HEAP32[$d$482$i >> 2] | 0, 0, $13) | 0; - do if (($d$482$i | 0) == ($r$0$a$8$i | 0)) { - if (($695 | 0) != ($13 | 0)) { - $s7$1$i = $695; - break; - } - HEAP8[$15 >> 0] = 48; - $s7$1$i = $15; - } else { - if ($695 >>> 0 > $buf$i >>> 0) $s7$079$i = $695; else { - $s7$1$i = $695; - break; - } - while (1) { - $698 = $s7$079$i + -1 | 0; - HEAP8[$698 >> 0] = 48; - if ($698 >>> 0 > $buf$i >>> 0) $s7$079$i = $698; else { - $s7$1$i = $698; - break; - } - } - } while (0); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($s7$1$i, $14 - $s7$1$i | 0, $f) | 0; - $706 = $d$482$i + 4 | 0; - if ($706 >>> 0 > $$31$i >>> 0) { - $$lcssa339 = $706; - break; - } else $d$482$i = $706; - } - do if ($658) { - if (HEAP32[$f >> 2] & 32) break; - ___fwritex(18335, 1, $f) | 0; - } while (0); - if (($$311$i | 0) > 0 & $$lcssa339 >>> 0 < $z$6$i$lcssa >>> 0) { - $$41276$i = $$311$i; - $d$575$i = $$lcssa339; - while (1) { - $716 = _fmt_u(HEAP32[$d$575$i >> 2] | 0, 0, $13) | 0; - if ($716 >>> 0 > $buf$i >>> 0) { - $s8$070$i = $716; - while (1) { - $718 = $s8$070$i + -1 | 0; - HEAP8[$718 >> 0] = 48; - if ($718 >>> 0 > $buf$i >>> 0) $s8$070$i = $718; else { - $s8$0$lcssa$i = $718; - break; - } - } - } else $s8$0$lcssa$i = $716; - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($s8$0$lcssa$i, ($$41276$i | 0) > 9 ? 9 : $$41276$i, $f) | 0; - $d$575$i = $d$575$i + 4 | 0; - $726 = $$41276$i + -9 | 0; - if (!(($$41276$i | 0) > 9 & $d$575$i >>> 0 < $z$6$i$lcssa >>> 0)) { - $$412$lcssa$i = $726; - break; - } else $$41276$i = $726; - } - } else $$412$lcssa$i = $$311$i; - _pad($f, 48, $$412$lcssa$i + 9 | 0, 9, 0); - } else { - $z$6$$i = $$lcssa159$i ? $z$6$i$lcssa : $a$8$ph$i + 4 | 0; - if (($$311$i | 0) > -1) { - $733 = ($$pre$phi184$iZ2D | 0) == 0; - $$587$i = $$311$i; - $d$686$i = $a$8$ph$i; - while (1) { - $735 = _fmt_u(HEAP32[$d$686$i >> 2] | 0, 0, $13) | 0; - if (($735 | 0) == ($13 | 0)) { - HEAP8[$15 >> 0] = 48; - $s9$0$i = $15; - } else $s9$0$i = $735; - do if (($d$686$i | 0) == ($a$8$ph$i | 0)) { - $741 = $s9$0$i + 1 | 0; - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($s9$0$i, 1, $f) | 0; - if ($733 & ($$587$i | 0) < 1) { - $s9$2$i = $741; - break; - } - if (HEAP32[$f >> 2] & 32) { - $s9$2$i = $741; - break; - } - ___fwritex(18335, 1, $f) | 0; - $s9$2$i = $741; - } else { - if ($s9$0$i >>> 0 > $buf$i >>> 0) $s9$183$i = $s9$0$i; else { - $s9$2$i = $s9$0$i; - break; - } - while (1) { - $739 = $s9$183$i + -1 | 0; - HEAP8[$739 >> 0] = 48; - if ($739 >>> 0 > $buf$i >>> 0) $s9$183$i = $739; else { - $s9$2$i = $739; - break; - } - } - } while (0); - $750 = $14 - $s9$2$i | 0; - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($s9$2$i, ($$587$i | 0) > ($750 | 0) ? $750 : $$587$i, $f) | 0; - $756 = $$587$i - $750 | 0; - $d$686$i = $d$686$i + 4 | 0; - if (!($d$686$i >>> 0 < $z$6$$i >>> 0 & ($756 | 0) > -1)) { - $$5$lcssa$i = $756; - break; - } else $$587$i = $756; - } - } else $$5$lcssa$i = $$311$i; - _pad($f, 48, $$5$lcssa$i + 18 | 0, 18, 0); - if (HEAP32[$f >> 2] & 32) break; - ___fwritex($estr$2$i, $8 - $estr$2$i | 0, $f) | 0; - } while (0); - _pad($f, 32, $w$1, $688, $fl$1$ ^ 8192); - $$0$i = ($688 | 0) < ($w$1 | 0) ? $w$1 : $688; - } else { - $377 = ($t$0 & 32 | 0) != 0; - $379 = $$07$i != $$07$i | 0.0 != 0.0; - $pl$1$i = $379 ? 0 : $pl$0$i; - $381 = $pl$1$i + 3 | 0; - _pad($f, 32, $w$1, $381, $175); - $382 = HEAP32[$f >> 2] | 0; - if (!($382 & 32)) { - ___fwritex($prefix$0$i, $pl$1$i, $f) | 0; - $386 = HEAP32[$f >> 2] | 0; - } else $386 = $382; - if (!($386 & 32)) ___fwritex($379 ? ($377 ? 18327 : 18331) : $377 ? 18319 : 18323, 3, $f) | 0; - _pad($f, 32, $w$1, $381, $fl$1$ ^ 8192); - $$0$i = ($381 | 0) < ($w$1 | 0) ? $w$1 : $381; - } while (0); - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $$0$i; - $l10n$0 = $l10n$3; - continue L1; - break; - } - default: - { - $a$2 = $fmt41; - $fl$6 = $fl$1$; - $p$5 = $p$0; - $pl$2 = 0; - $prefix$2 = 18283; - $z$2 = $1; - } - } while (0); - L313 : do if ((label | 0) == 64) { - label = 0; - $206 = $arg; - $208 = HEAP32[$206 >> 2] | 0; - $211 = HEAP32[$206 + 4 >> 2] | 0; - $212 = $t$1 & 32; - if (($208 | 0) == 0 & ($211 | 0) == 0) { - $a$0 = $1; - $fl$4 = $fl$3; - $p$2 = $p$1; - $pl$1 = 0; - $prefix$1 = 18283; - label = 77; - } else { - $$012$i = $1; - $217 = $208; - $224 = $211; - while (1) { - $223 = $$012$i + -1 | 0; - HEAP8[$223 >> 0] = HEAPU8[18267 + ($217 & 15) >> 0] | $212; - $217 = _bitshift64Lshr($217 | 0, $224 | 0, 4) | 0; - $224 = tempRet0; - if (($217 | 0) == 0 & ($224 | 0) == 0) { - $$lcssa344 = $223; - break; - } else $$012$i = $223; - } - $230 = $arg; - if (($fl$3 & 8 | 0) == 0 | (HEAP32[$230 >> 2] | 0) == 0 & (HEAP32[$230 + 4 >> 2] | 0) == 0) { - $a$0 = $$lcssa344; - $fl$4 = $fl$3; - $p$2 = $p$1; - $pl$1 = 0; - $prefix$1 = 18283; - label = 77; - } else { - $a$0 = $$lcssa344; - $fl$4 = $fl$3; - $p$2 = $p$1; - $pl$1 = 2; - $prefix$1 = 18283 + ($t$1 >> 4) | 0; - label = 77; - } - } - } else if ((label | 0) == 76) { - label = 0; - $a$0 = _fmt_u($286, $287, $1) | 0; - $fl$4 = $fl$1$; - $p$2 = $p$0; - $pl$1 = $pl$0; - $prefix$1 = $prefix$0; - label = 77; - } else if ((label | 0) == 82) { - label = 0; - $320 = _memchr($a$1, 0, $p$0) | 0; - $321 = ($320 | 0) == 0; - $a$2 = $a$1; - $fl$6 = $175; - $p$5 = $321 ? $p$0 : $320 - $a$1 | 0; - $pl$2 = 0; - $prefix$2 = 18283; - $z$2 = $321 ? $a$1 + $p$0 | 0 : $320; - } else if ((label | 0) == 86) { - label = 0; - $i$0114 = 0; - $l$1113 = 0; - $ws$0115 = HEAP32[$arg >> 2] | 0; - while (1) { - $334 = HEAP32[$ws$0115 >> 2] | 0; - if (!$334) { - $i$0$lcssa = $i$0114; - $l$2 = $l$1113; - break; - } - $336 = _wctomb($mb, $334) | 0; - if (($336 | 0) < 0 | $336 >>> 0 > ($p$4198 - $i$0114 | 0) >>> 0) { - $i$0$lcssa = $i$0114; - $l$2 = $336; - break; - } - $341 = $336 + $i$0114 | 0; - if ($p$4198 >>> 0 > $341 >>> 0) { - $i$0114 = $341; - $l$1113 = $336; - $ws$0115 = $ws$0115 + 4 | 0; - } else { - $i$0$lcssa = $341; - $l$2 = $336; - break; - } - } - if (($l$2 | 0) < 0) { - $$0 = -1; - break L1; - } - _pad($f, 32, $w$1, $i$0$lcssa, $fl$1$); - if (!$i$0$lcssa) { - $i$0$lcssa200 = 0; - label = 98; - } else { - $i$1125 = 0; - $ws$1126 = HEAP32[$arg >> 2] | 0; - while (1) { - $346 = HEAP32[$ws$1126 >> 2] | 0; - if (!$346) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $349 = _wctomb($mb, $346) | 0; - $i$1125 = $349 + $i$1125 | 0; - if (($i$1125 | 0) > ($i$0$lcssa | 0)) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($mb, $349, $f) | 0; - if ($i$1125 >>> 0 >= $i$0$lcssa >>> 0) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break; - } else $ws$1126 = $ws$1126 + 4 | 0; - } - } - } while (0); - if ((label | 0) == 98) { - label = 0; - _pad($f, 32, $w$1, $i$0$lcssa200, $fl$1$ ^ 8192); - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = ($w$1 | 0) > ($i$0$lcssa200 | 0) ? $w$1 : $i$0$lcssa200; - $l10n$0 = $l10n$3; - continue; - } - if ((label | 0) == 77) { - label = 0; - $$fl$4 = ($p$2 | 0) > -1 ? $fl$4 & -65537 : $fl$4; - $291 = $arg; - $299 = (HEAP32[$291 >> 2] | 0) != 0 | (HEAP32[$291 + 4 >> 2] | 0) != 0; - if (($p$2 | 0) != 0 | $299) { - $305 = ($299 & 1 ^ 1) + ($2 - $a$0) | 0; - $a$2 = $a$0; - $fl$6 = $$fl$4; - $p$5 = ($p$2 | 0) > ($305 | 0) ? $p$2 : $305; - $pl$2 = $pl$1; - $prefix$2 = $prefix$1; - $z$2 = $1; - } else { - $a$2 = $1; - $fl$6 = $$fl$4; - $p$5 = 0; - $pl$2 = $pl$1; - $prefix$2 = $prefix$1; - $z$2 = $1; - } - } - $771 = $z$2 - $a$2 | 0; - $$p$5 = ($p$5 | 0) < ($771 | 0) ? $771 : $p$5; - $773 = $pl$2 + $$p$5 | 0; - $w$2 = ($w$1 | 0) < ($773 | 0) ? $773 : $w$1; - _pad($f, 32, $w$2, $773, $fl$6); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($prefix$2, $pl$2, $f) | 0; - _pad($f, 48, $w$2, $773, $fl$6 ^ 65536); - _pad($f, 48, $$p$5, $771, 0); - if (!(HEAP32[$f >> 2] & 32)) ___fwritex($a$2, $771, $f) | 0; - _pad($f, 32, $w$2, $773, $fl$6 ^ 8192); - $cnt$0 = $cnt$1; - $fmt41 = $$lcssa323; - $l$0 = $w$2; - $l10n$0 = $l10n$3; - } - L348 : do if ((label | 0) == 245) if (!$f) if (!$l10n$0$lcssa) $$0 = 0; else { - $i$2100 = 1; - while (1) { - $786 = HEAP32[$nl_type + ($i$2100 << 2) >> 2] | 0; - if (!$786) { - $i$2100$lcssa = $i$2100; - break; - } - _pop_arg($nl_arg + ($i$2100 << 3) | 0, $786, $ap); - $i$2100 = $i$2100 + 1 | 0; - if (($i$2100 | 0) >= 10) { - $$0 = 1; - break L348; - } - } - if (($i$2100$lcssa | 0) < 10) { - $i$398 = $i$2100$lcssa; - while (1) { - if (HEAP32[$nl_type + ($i$398 << 2) >> 2] | 0) { - $$0 = -1; - break L348; - } - $i$398 = $i$398 + 1 | 0; - if (($i$398 | 0) >= 10) { - $$0 = 1; - break; - } - } - } else $$0 = 1; - } else $$0 = $cnt$1$lcssa; while (0); - STACKTOP = sp; - return $$0 | 0; -} -function __ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i = 0, $$0$i$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i46 = 0, $$0$i$i$i$i62 = 0, $$0$i$i$i26 = 0, $$0$i$i117 = 0, $$0$i49 = 0, $$01$i$i$i122 = 0, $$01$i$i$i41126 = 0, $$01$i$i$i57130 = 0, $$1$i = 0, $$lcssa = 0, $$lcssa154 = 0, $$lcssa155 = 0, $$lcssa157 = 0, $$lcssa158 = 0, $$lcssa160 = 0, $$lcssa161 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $102 = 0, $104 = 0, $105 = 0, $107 = 0, $108 = 0, $11 = 0, $110 = 0, $111 = 0, $113 = 0, $114 = 0, $116 = 0, $117 = 0, $119 = 0, $12 = 0, $120 = 0, $122 = 0, $123 = 0, $125 = 0, $126 = 0, $128 = 0, $129 = 0, $13 = 0, $131 = 0, $132 = 0, $134 = 0, $138 = 0, $14 = 0, $141 = 0, $145 = 0, $148 = 0, $148$phi = 0, $149 = 0, $15 = 0, $156 = 0, $157 = 0, $159 = 0, $16 = 0, $163 = 0, $165 = 0, $17 = 0, $171 = 0, $173 = 0, $174 = 0, $176 = 0, $18 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $19 = 0, $190 = 0, $192 = 0, $195 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $207 = 0, $21 = 0, $211 = 0, $214 = 0, $214$phi = 0, $215 = 0, $22 = 0, $222 = 0, $223 = 0, $225 = 0, $229 = 0, $23 = 0, $231 = 0, $236 = 0, $238 = 0, $239 = 0, $24 = 0, $241 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $255 = 0, $257 = 0, $260 = 0, $261 = 0, $265 = 0, $269 = 0, $272 = 0, $276 = 0, $279 = 0, $279$phi = 0, $280 = 0, $287 = 0, $288 = 0, $290 = 0, $294 = 0, $296 = 0, $3 = 0, $301 = 0, $303 = 0, $304 = 0, $306 = 0, $31 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $320 = 0, $322 = 0, $325 = 0, $326 = 0, $333 = 0, $334 = 0, $34 = 0, $340 = 0, $346 = 0, $35 = 0, $354 = 0, $356 = 0, $357 = 0, $360 = 0, $365 = 0, $372 = 0, $373 = 0, $382 = 0, $384 = 0, $394 = 0, $4 = 0, $43 = 0, $44 = 0, $46 = 0, $5 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $60 = 0, $62 = 0, $65 = 0, $66 = 0, $69 = 0, $7 = 0, $70 = 0, $72 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $86 = 0, $88 = 0, $9 = 0, $91 = 0, $92 = 0, $95 = 0, $96 = 0, $98 = 0, $99 = 0, $__p$0$i$i116 = 0, $__p$0$ph$i$i = 0, $e$0$i124 = 0, $e$0$i124$lcssa153 = 0, $e$0$i33128 = 0, $e$0$i33128$lcssa156 = 0, $e$0$i52132 = 0, $e$0$i52132$lcssa159 = 0, $n$0120 = 0, $n$0120$lcssa = 0, $num$i51 = 0, $t$0$i125 = 0, $t$0$i34129 = 0, $t$0$i53133 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 480 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer4 = sp + 72 | 0; - $vararg_buffer1 = sp + 48 | 0; - $vararg_buffer = sp + 24 | 0; - $0 = sp; - $num$i51 = sp + 432 | 0; - $1 = sp + 408 | 0; - $2 = sp + 396 | 0; - $3 = sp + 384 | 0; - $4 = sp + 360 | 0; - $5 = sp + 336 | 0; - $6 = sp + 320 | 0; - $7 = sp + 308 | 0; - $8 = sp + 296 | 0; - $9 = sp + 284 | 0; - $10 = sp + 272 | 0; - $11 = sp + 260 | 0; - $12 = sp + 248 | 0; - $13 = sp + 236 | 0; - $14 = sp + 224 | 0; - $15 = sp + 212 | 0; - $16 = sp + 200 | 0; - $17 = sp + 188 | 0; - $18 = sp + 176 | 0; - $19 = sp + 152 | 0; - $20 = sp + 140 | 0; - $21 = sp + 128 | 0; - $22 = sp + 116 | 0; - $23 = sp + 104 | 0; - $24 = sp + 92 | 0; - $25 = $last; - L1 : do if (($25 - $first | 0) > 3) if ((HEAP8[$first >> 0] | 0) == 76) { - $31 = $first + 1 | 0; - do switch (HEAP8[$31 >> 0] | 0) { - case 84: - { - $$0 = $first; - break L1; - break; - } - case 119: - { - $34 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($3, 13764, 7); - $35 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($34, $last, $3, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$0 = ($35 | 0) == ($34 | 0) ? $first : $35; - break L1; - break; - } - case 98: - { - if ((HEAP8[$first + 3 >> 0] | 0) != 69) { - $$0 = $first; - break L1; - } - switch (HEAP8[$first + 2 >> 0] | 0) { - case 48: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj6EEERAT__Kc($4, 13772); - $43 = $db + 4 | 0; - $44 = HEAP32[$43 >> 2] | 0; - $46 = HEAP32[$db + 8 >> 2] | 0; - if ($44 >>> 0 < $46 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($44, $4); - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + 24; - } else { - $53 = HEAP32[$db >> 2] | 0; - $54 = $44 - $53 | 0; - $55 = ($54 | 0) / 24 | 0; - $56 = $55 + 1 | 0; - if (($54 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $60 = ($46 - $53 | 0) / 24 | 0; - if ($60 >>> 0 < 1073741823) { - $62 = $60 << 1; - $$0$i$i$i = $62 >>> 0 < $56 >>> 0 ? $56 : $62; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i, $55, $db + 12 | 0); - $65 = $0 + 8 | 0; - $66 = HEAP32[$65 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($66, $4); - HEAP32[$65 >> 2] = $66 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($4); - $$0 = $first + 4 | 0; - break L1; - break; - } - case 49: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($5, 13778); - $69 = $db + 4 | 0; - $70 = HEAP32[$69 >> 2] | 0; - $72 = HEAP32[$db + 8 >> 2] | 0; - if ($70 >>> 0 < $72 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($70, $5); - HEAP32[$69 >> 2] = (HEAP32[$69 >> 2] | 0) + 24; - } else { - $79 = HEAP32[$db >> 2] | 0; - $80 = $70 - $79 | 0; - $81 = ($80 | 0) / 24 | 0; - $82 = $81 + 1 | 0; - if (($80 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $86 = ($72 - $79 | 0) / 24 | 0; - if ($86 >>> 0 < 1073741823) { - $88 = $86 << 1; - $$0$i$i$i26 = $88 >>> 0 < $82 >>> 0 ? $82 : $88; - } else $$0$i$i$i26 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($0, $$0$i$i$i26, $81, $db + 12 | 0); - $91 = $0 + 8 | 0; - $92 = HEAP32[$91 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($92, $5); - HEAP32[$91 >> 2] = $92 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $0); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($0); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $$0 = $first + 4 | 0; - break L1; - break; - } - default: - { - $$0 = $first; - break L1; - } - } - break; - } - case 99: - { - $95 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($6, 13783, 4); - $96 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($95, $last, $6, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($6); - $$0 = ($96 | 0) == ($95 | 0) ? $first : $96; - break L1; - break; - } - case 97: - { - $98 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($7, 13788, 11); - $99 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($98, $last, $7, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($7); - $$0 = ($99 | 0) == ($98 | 0) ? $first : $99; - break L1; - break; - } - case 104: - { - $101 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($8, 13800, 13); - $102 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($101, $last, $8, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($8); - $$0 = ($102 | 0) == ($101 | 0) ? $first : $102; - break L1; - break; - } - case 115: - { - $104 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($9, 13814, 5); - $105 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($104, $last, $9, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($9); - $$0 = ($105 | 0) == ($104 | 0) ? $first : $105; - break L1; - break; - } - case 116: - { - $107 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($10, 13820, 14); - $108 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($107, $last, $10, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($10); - $$0 = ($108 | 0) == ($107 | 0) ? $first : $108; - break L1; - break; - } - case 105: - { - $110 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($11, 13835, 0); - $111 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($110, $last, $11, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($11); - $$0 = ($111 | 0) == ($110 | 0) ? $first : $111; - break L1; - break; - } - case 106: - { - $113 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($12, 13836, 1); - $114 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($113, $last, $12, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($12); - $$0 = ($114 | 0) == ($113 | 0) ? $first : $114; - break L1; - break; - } - case 108: - { - $116 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($13, 13838, 1); - $117 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($116, $last, $13, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($13); - $$0 = ($117 | 0) == ($116 | 0) ? $first : $117; - break L1; - break; - } - case 109: - { - $119 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($14, 13840, 2); - $120 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($119, $last, $14, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($14); - $$0 = ($120 | 0) == ($119 | 0) ? $first : $120; - break L1; - break; - } - case 120: - { - $122 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($15, 13843, 2); - $123 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($122, $last, $15, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($15); - $$0 = ($123 | 0) == ($122 | 0) ? $first : $123; - break L1; - break; - } - case 121: - { - $125 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($16, 13846, 3); - $126 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($125, $last, $16, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($16); - $$0 = ($126 | 0) == ($125 | 0) ? $first : $126; - break L1; - break; - } - case 110: - { - $128 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($17, 13850, 8); - $129 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($128, $last, $17, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($17); - $$0 = ($129 | 0) == ($128 | 0) ? $first : $129; - break L1; - break; - } - case 111: - { - $131 = $first + 2 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($18, 13859, 17); - $132 = __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($131, $last, $18, $db) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($18); - $$0 = ($132 | 0) == ($131 | 0) ? $first : $132; - break L1; - break; - } - case 102: - { - $134 = $first + 2 | 0; - L67 : do if (($25 - $134 | 0) >>> 0 > 8) { - $138 = $first + 10 | 0; - $141 = HEAP8[$134 >> 0] | 0; - $148 = $first; - $e$0$i124 = $0; - $t$0$i125 = $134; - while (1) { - if (!(_isxdigit($141 << 24 >> 24) | 0)) { - $$0$i = $134; - break L67; - } - $145 = HEAP8[$t$0$i125 >> 0] | 0; - $149 = HEAP8[$148 + 3 >> 0] | 0; - HEAP8[$e$0$i124 >> 0] = ((($149 << 24 >> 24) + -48 | 0) >>> 0 < 10 ? 208 : 169) + ($149 & 255) + ((($145 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $145 << 4); - $156 = $t$0$i125 + 2 | 0; - $157 = $e$0$i124 + 1 | 0; - $159 = HEAP8[$156 >> 0] | 0; - if (($156 | 0) == ($138 | 0)) { - $$lcssa154 = $157; - $$lcssa155 = $159; - $e$0$i124$lcssa153 = $e$0$i124; - break; - } else { - $148$phi = $t$0$i125; - $141 = $159; - $e$0$i124 = $157; - $t$0$i125 = $156; - $148 = $148$phi; - } - } - if ($$lcssa155 << 24 >> 24 == 69) { - if (($0 | 0) != ($$lcssa154 | 0) & $0 >>> 0 < $e$0$i124$lcssa153 >>> 0) { - $$01$i$i$i122 = $0; - $165 = $e$0$i124$lcssa153; - do { - $163 = HEAP8[$$01$i$i$i122 >> 0] | 0; - HEAP8[$$01$i$i$i122 >> 0] = HEAP8[$165 >> 0] | 0; - HEAP8[$165 >> 0] = $163; - $$01$i$i$i122 = $$01$i$i$i122 + 1 | 0; - $165 = $165 + -1 | 0; - } while ($$01$i$i$i122 >>> 0 < $165 >>> 0); - } - dest = $num$i51; - stop = dest + 24 | 0; - do { - HEAP8[dest >> 0] = 0; - dest = dest + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$vararg_buffer >> 3] = +HEAPF32[$0 >> 2]; - $171 = _snprintf($num$i51, 24, 13877, $vararg_buffer) | 0; - if ($171 >>> 0 > 23) $$0$i = $134; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($2, $num$i51, $171); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - $173 = $db + 4 | 0; - $174 = HEAP32[$173 >> 2] | 0; - $176 = HEAP32[$db + 8 >> 2] | 0; - if ($174 >>> 0 < $176 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($174, $1); - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 24; - } else { - $183 = HEAP32[$db >> 2] | 0; - $184 = $174 - $183 | 0; - $185 = ($184 | 0) / 24 | 0; - $186 = $185 + 1 | 0; - if (($184 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $190 = ($176 - $183 | 0) / 24 | 0; - if ($190 >>> 0 < 1073741823) { - $192 = $190 << 1; - $$0$i$i$i$i = $192 >>> 0 < $186 >>> 0 ? $186 : $192; - } else $$0$i$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($vararg_buffer, $$0$i$i$i$i, $185, $db + 12 | 0); - $195 = $vararg_buffer + 8 | 0; - $196 = HEAP32[$195 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($196, $1); - HEAP32[$195 >> 2] = $196 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $vararg_buffer); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($vararg_buffer); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$0$i = $first + 11 | 0; - } - } else $$0$i = $134; - } else $$0$i = $134; while (0); - $$0 = ($$0$i | 0) == ($134 | 0) ? $first : $$0$i; - break L1; - break; - } - case 100: - { - $200 = $first + 2 | 0; - L91 : do if (($25 - $200 | 0) >>> 0 > 16) { - $204 = $first + 18 | 0; - $207 = HEAP8[$200 >> 0] | 0; - $214 = $first; - $e$0$i33128 = $0; - $t$0$i34129 = $200; - while (1) { - if (!(_isxdigit($207 << 24 >> 24) | 0)) { - $$0$i49 = $200; - break L91; - } - $211 = HEAP8[$t$0$i34129 >> 0] | 0; - $215 = HEAP8[$214 + 3 >> 0] | 0; - HEAP8[$e$0$i33128 >> 0] = ((($215 << 24 >> 24) + -48 | 0) >>> 0 < 10 ? 208 : 169) + ($215 & 255) + ((($211 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $211 << 4); - $222 = $t$0$i34129 + 2 | 0; - $223 = $e$0$i33128 + 1 | 0; - $225 = HEAP8[$222 >> 0] | 0; - if (($222 | 0) == ($204 | 0)) { - $$lcssa157 = $223; - $$lcssa158 = $225; - $e$0$i33128$lcssa156 = $e$0$i33128; - break; - } else { - $214$phi = $t$0$i34129; - $207 = $225; - $e$0$i33128 = $223; - $t$0$i34129 = $222; - $214 = $214$phi; - } - } - if ($$lcssa158 << 24 >> 24 == 69) { - if (($0 | 0) != ($$lcssa157 | 0) & $0 >>> 0 < $e$0$i33128$lcssa156 >>> 0) { - $$01$i$i$i41126 = $0; - $231 = $e$0$i33128$lcssa156; - do { - $229 = HEAP8[$$01$i$i$i41126 >> 0] | 0; - HEAP8[$$01$i$i$i41126 >> 0] = HEAP8[$231 >> 0] | 0; - HEAP8[$231 >> 0] = $229; - $$01$i$i$i41126 = $$01$i$i$i41126 + 1 | 0; - $231 = $231 + -1 | 0; - } while ($$01$i$i$i41126 >>> 0 < $231 >>> 0); - } - dest = $num$i51; - stop = dest + 32 | 0; - do { - HEAP8[dest >> 0] = 0; - dest = dest + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$vararg_buffer1 >> 3] = +HEAPF64[$0 >> 3]; - $236 = _snprintf($num$i51, 32, 13881, $vararg_buffer1) | 0; - if ($236 >>> 0 > 31) $$0$i49 = $200; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($2, $num$i51, $236); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - $238 = $db + 4 | 0; - $239 = HEAP32[$238 >> 2] | 0; - $241 = HEAP32[$db + 8 >> 2] | 0; - if ($239 >>> 0 < $241 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($239, $1); - HEAP32[$238 >> 2] = (HEAP32[$238 >> 2] | 0) + 24; - } else { - $248 = HEAP32[$db >> 2] | 0; - $249 = $239 - $248 | 0; - $250 = ($249 | 0) / 24 | 0; - $251 = $250 + 1 | 0; - if (($249 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $255 = ($241 - $248 | 0) / 24 | 0; - if ($255 >>> 0 < 1073741823) { - $257 = $255 << 1; - $$0$i$i$i$i46 = $257 >>> 0 < $251 >>> 0 ? $251 : $257; - } else $$0$i$i$i$i46 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($vararg_buffer1, $$0$i$i$i$i46, $250, $db + 12 | 0); - $260 = $vararg_buffer1 + 8 | 0; - $261 = HEAP32[$260 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($261, $1); - HEAP32[$260 >> 2] = $261 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $vararg_buffer1); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($vararg_buffer1); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$0$i49 = $first + 19 | 0; - } - } else $$0$i49 = $200; - } else $$0$i49 = $200; while (0); - $$0 = ($$0$i49 | 0) == ($200 | 0) ? $first : $$0$i49; - break L1; - break; - } - case 101: - { - $265 = $first + 2 | 0; - L115 : do if (($25 - $265 | 0) >>> 0 > 20) { - $269 = $first + 22 | 0; - $272 = HEAP8[$265 >> 0] | 0; - $279 = $first; - $e$0$i52132 = $0; - $t$0$i53133 = $265; - while (1) { - if (!(_isxdigit($272 << 24 >> 24) | 0)) { - $$1$i = $265; - break L115; - } - $276 = HEAP8[$t$0$i53133 >> 0] | 0; - $280 = HEAP8[$279 + 3 >> 0] | 0; - HEAP8[$e$0$i52132 >> 0] = ((($280 << 24 >> 24) + -48 | 0) >>> 0 < 10 ? 208 : 169) + ($280 & 255) + ((($276 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $276 << 4); - $287 = $t$0$i53133 + 2 | 0; - $288 = $e$0$i52132 + 1 | 0; - $290 = HEAP8[$287 >> 0] | 0; - if (($287 | 0) == ($269 | 0)) { - $$lcssa160 = $288; - $$lcssa161 = $290; - $e$0$i52132$lcssa159 = $e$0$i52132; - break; - } else { - $279$phi = $t$0$i53133; - $272 = $290; - $e$0$i52132 = $288; - $t$0$i53133 = $287; - $279 = $279$phi; - } - } - if ($$lcssa161 << 24 >> 24 == 69) { - if (($0 | 0) != ($$lcssa160 | 0) & $0 >>> 0 < $e$0$i52132$lcssa159 >>> 0) { - $$01$i$i$i57130 = $0; - $296 = $e$0$i52132$lcssa159; - do { - $294 = HEAP8[$$01$i$i$i57130 >> 0] | 0; - HEAP8[$$01$i$i$i57130 >> 0] = HEAP8[$296 >> 0] | 0; - HEAP8[$296 >> 0] = $294; - $$01$i$i$i57130 = $$01$i$i$i57130 + 1 | 0; - $296 = $296 + -1 | 0; - } while ($$01$i$i$i57130 >>> 0 < $296 >>> 0); - } - dest = $num$i51; - stop = dest + 40 | 0; - do { - HEAP8[dest >> 0] = 0; - dest = dest + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$vararg_buffer4 >> 3] = +HEAPF64[$0 >> 3]; - $301 = _snprintf($num$i51, 40, 13884, $vararg_buffer4) | 0; - if ($301 >>> 0 > 39) { - $$1$i = $265; - break; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($2, $num$i51, $301); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - $303 = $db + 4 | 0; - $304 = HEAP32[$303 >> 2] | 0; - $306 = HEAP32[$db + 8 >> 2] | 0; - if ($304 >>> 0 < $306 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($304, $1); - HEAP32[$303 >> 2] = (HEAP32[$303 >> 2] | 0) + 24; - } else { - $313 = HEAP32[$db >> 2] | 0; - $314 = $304 - $313 | 0; - $315 = ($314 | 0) / 24 | 0; - $316 = $315 + 1 | 0; - if (($314 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $320 = ($306 - $313 | 0) / 24 | 0; - if ($320 >>> 0 < 1073741823) { - $322 = $320 << 1; - $$0$i$i$i$i62 = $322 >>> 0 < $316 >>> 0 ? $316 : $322; - } else $$0$i$i$i$i62 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($vararg_buffer4, $$0$i$i$i$i62, $315, $db + 12 | 0); - $325 = $vararg_buffer4 + 8 | 0; - $326 = HEAP32[$325 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($326, $1); - HEAP32[$325 >> 2] = $326 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $vararg_buffer4); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($vararg_buffer4); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$1$i = $first + 23 | 0; - } else $$1$i = $265; - } else $$1$i = $265; while (0); - $$0 = ($$1$i | 0) == ($265 | 0) ? $first : $$1$i; - break L1; - break; - } - case 95: - { - if ((HEAP8[$first + 2 >> 0] | 0) != 90) { - $$0 = $first; - break L1; - } - $333 = $first + 3 | 0; - $334 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($333, $last, $db) | 0; - if (($334 | 0) == ($333 | 0) | ($334 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - STACKTOP = sp; - return ((HEAP8[$334 >> 0] | 0) == 69 ? $334 + 1 | 0 : $first) | 0; - } - default: - { - $340 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($31, $last, $db) | 0; - if (($340 | 0) == ($31 | 0) | ($340 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - if ((HEAP8[$340 >> 0] | 0) == 69) { - $$0 = $340 + 1 | 0; - break L1; - } - if (($340 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } else $n$0120 = $340; - while (1) { - $346 = HEAP8[$n$0120 >> 0] | 0; - if ((($346 << 24 >> 24) + -48 | 0) >>> 0 >= 10) { - $$lcssa = $346; - $n$0120$lcssa = $n$0120; - break; - } - $n$0120 = $n$0120 + 1 | 0; - if (($n$0120 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - } - if (!(($n$0120$lcssa | 0) != ($340 | 0) & $$lcssa << 24 >> 24 == 69)) { - $$0 = $first; - break L1; - } - $354 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($354 | 0)) { - $$0 = $first; - break L1; - } - $356 = $354 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($23, $356); - $357 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($23, 0, 12714) | 0; - HEAP32[$22 >> 2] = HEAP32[$357 >> 2]; - HEAP32[$22 + 4 >> 2] = HEAP32[$357 + 4 >> 2]; - HEAP32[$22 + 8 >> 2] = HEAP32[$357 + 8 >> 2]; - HEAP32[$357 >> 2] = 0; - HEAP32[$357 + 4 >> 2] = 0; - HEAP32[$357 + 8 >> 2] = 0; - $360 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($22, 12619) | 0; - HEAP32[$21 >> 2] = HEAP32[$360 >> 2]; - HEAP32[$21 + 4 >> 2] = HEAP32[$360 + 4 >> 2]; - HEAP32[$21 + 8 >> 2] = HEAP32[$360 + 8 >> 2]; - HEAP32[$360 >> 2] = 0; - HEAP32[$360 + 4 >> 2] = 0; - HEAP32[$360 + 8 >> 2] = 0; - $365 = $n$0120$lcssa - $340 | 0; - if ($365 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($24); - if ($365 >>> 0 < 11) { - HEAP8[$24 >> 0] = $365 << 1; - $__p$0$ph$i$i = $24 + 1 | 0; - } else { - $372 = $365 + 16 & -16; - $373 = _malloc($372) | 0; - HEAP32[$24 + 8 >> 2] = $373; - HEAP32[$24 >> 2] = $372 | 1; - HEAP32[$24 + 4 >> 2] = $365; - $__p$0$ph$i$i = $373; - } - if (($340 | 0) != ($n$0120$lcssa | 0)) { - $$0$i$i117 = $340; - $__p$0$i$i116 = $__p$0$ph$i$i; - while (1) { - HEAP8[$__p$0$i$i116 >> 0] = HEAP8[$$0$i$i117 >> 0] | 0; - $$0$i$i117 = $$0$i$i117 + 1 | 0; - if (($$0$i$i117 | 0) == ($n$0120$lcssa | 0)) break; else $__p$0$i$i116 = $__p$0$i$i116 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i + $365 >> 0] = 0; - $382 = HEAP8[$24 >> 0] | 0; - $384 = ($382 & 1) == 0; - $394 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($21, $384 ? $24 + 1 | 0 : HEAP32[$24 + 8 >> 2] | 0, $384 ? ($382 & 255) >>> 1 : HEAP32[$24 + 4 >> 2] | 0) | 0; - HEAP32[$20 >> 2] = HEAP32[$394 >> 2]; - HEAP32[$20 + 4 >> 2] = HEAP32[$394 + 4 >> 2]; - HEAP32[$20 + 8 >> 2] = HEAP32[$394 + 8 >> 2]; - HEAP32[$394 >> 2] = 0; - HEAP32[$394 + 4 >> 2] = 0; - HEAP32[$394 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($19, $20); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($356, $19); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($19); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($20); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($24); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($21); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($22); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($23); - $$0 = $n$0120$lcssa + 1 | 0; - break L1; - } - } while (0); - } else $$0 = $first; else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0$i = 0, $$24$ph = 0, $$7 = 0, $$in = 0, $$in109 = 0, $$lcssa150 = 0, $$lcssa151 = 0, $$lcssa156 = 0, $$ph96 = 0, $$pre$i$i$i$i = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $111 = 0, $118 = 0, $120 = 0, $123 = 0, $127 = 0, $13 = 0, $130 = 0, $135 = 0, $136 = 0, $139 = 0, $140 = 0, $142 = 0, $143 = 0, $152 = 0, $155 = 0, $160 = 0, $162 = 0, $166 = 0, $171 = 0, $175 = 0, $176 = 0, $18 = 0, $180 = 0, $183 = 0, $184 = 0, $188 = 0, $191 = 0, $193 = 0, $195 = 0, $199 = 0, $2 = 0, $203 = 0, $204 = 0, $206 = 0, $207 = 0, $209 = 0, $21 = 0, $215 = 0, $22 = 0, $226 = 0, $228 = 0, $240 = 0, $252 = 0, $255 = 0, $257 = 0, $26 = 0, $264 = 0, $267 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $277 = 0, $281 = 0, $284 = 0, $287 = 0, $29 = 0, $3 = 0, $30 = 0, $303 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $318 = 0, $320 = 0, $331 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $345 = 0, $347 = 0, $349 = 0, $350 = 0, $356 = 0, $361 = 0, $37 = 0, $371 = 0, $373 = 0, $38 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $389 = 0, $392 = 0, $398 = 0, $4 = 0, $402 = 0, $404 = 0, $405 = 0, $411 = 0, $413 = 0, $414 = 0, $42 = 0, $434 = 0, $436 = 0, $446 = 0, $45 = 0, $46 = 0, $50 = 0, $53 = 0, $54 = 0, $56 = 0, $58 = 0, $6 = 0, $62 = 0, $65 = 0, $66 = 0, $68 = 0, $7 = 0, $73 = 0, $74 = 0, $76 = 0, $77 = 0, $8 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $90 = 0, $91 = 0, $94 = 0, $99 = 0, $first_arg$0$off0$ph = 0, $first_arg$3$off0$ph = 0, $k$0121 = 0, $k2$0122 = 0, $left$i = 0, $phitmp$i$i$i$i$i$i = 0, $phitmp$i2$i$i$i$i$i = 0, $ret1 = 0, $ret2 = 0, $t$0 = 0, $t$1 = 0, $t$1$ph = 0, $t$2 = 0, $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $left$i = sp + 96 | 0; - $0 = sp + 84 | 0; - $1 = sp + 72 | 0; - $2 = sp + 60 | 0; - $3 = sp + 48 | 0; - $ret2 = sp + 36 | 0; - $ret1 = sp + 24 | 0; - $tmp = sp + 12 | 0; - $4 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$7 = $first; else { - $6 = $db + 56 | 0; - $7 = HEAP32[$6 >> 2] | 0; - $8 = $7 + 1 | 0; - HEAP32[$6 >> 2] = $8; - $9 = $db + 61 | 0; - $10 = HEAP8[$9 >> 0] | 0; - if ($8 >>> 0 > 1) HEAP8[$9 >> 0] = 1; - $13 = HEAP8[$first >> 0] | 0; - L6 : do switch ($13 | 0) { - case 84: - case 71: - { - L107 : do if (($last - $first | 0) > 2) { - switch ($13 | 0) { - case 84: - break; - case 71: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 86: - { - $175 = $first + 2 | 0; - $176 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($175, $last, $db) | 0; - if (($176 | 0) == ($175 | 0)) { - $$0$i = $first; - break L107; - } - $180 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($180 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($180 + -24 | 0, 0, 14547) | 0; - $$0$i = $176; - break L107; - break; - } - case 82: - { - $183 = $first + 2 | 0; - $184 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($183, $last, $db) | 0; - if (($184 | 0) == ($183 | 0)) { - $$0$i = $first; - break L107; - } - $188 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($188 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($188 + -24 | 0, 0, 14567) | 0; - $$0$i = $184; - break L107; - break; - } - default: - { - $$0$i = $first; - break L107; - } - } - break; - } - default: - { - $$0$i = $first; - break L107; - } - } - $18 = $first + 1 | 0; - switch (HEAP8[$18 >> 0] | 0) { - case 86: - { - $21 = $first + 2 | 0; - $22 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($21, $last, $db) | 0; - if (($22 | 0) == ($21 | 0)) { - $$0$i = $first; - break L107; - } - $26 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($26 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($26 + -24 | 0, 0, 14396) | 0; - $$0$i = $22; - break L107; - break; - } - case 84: - { - $29 = $first + 2 | 0; - $30 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($29, $last, $db) | 0; - if (($30 | 0) == ($29 | 0)) { - $$0$i = $first; - break L107; - } - $34 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($34 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($34 + -24 | 0, 0, 14408) | 0; - $$0$i = $30; - break L107; - break; - } - case 73: - { - $37 = $first + 2 | 0; - $38 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($37, $last, $db) | 0; - if (($38 | 0) == ($37 | 0)) { - $$0$i = $first; - break L107; - } - $42 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($42 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($42 + -24 | 0, 0, 14417) | 0; - $$0$i = $38; - break L107; - break; - } - case 83: - { - $45 = $first + 2 | 0; - $46 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($45, $last, $db) | 0; - if (($46 | 0) == ($45 | 0)) { - $$0$i = $first; - break L107; - } - $50 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($50 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($50 + -24 | 0, 0, 14431) | 0; - $$0$i = $46; - break L107; - break; - } - case 99: - { - $53 = $first + 2 | 0; - $54 = __ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_($53, $last) | 0; - if (($54 | 0) == ($53 | 0)) { - $$0$i = $first; - break L107; - } - $56 = __ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_($54, $last) | 0; - if (($56 | 0) == ($54 | 0)) { - $$0$i = $first; - break L107; - } - $58 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($56, $last, $db) | 0; - if (($58 | 0) == ($56 | 0)) { - $$0$i = $first; - break L107; - } - $62 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($62 | 0)) { - $$0$i = $first; - break L107; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($62 + -24 | 0, 0, 14450) | 0; - $$0$i = $58; - break L107; - break; - } - case 67: - { - $65 = $first + 2 | 0; - $66 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($65, $last, $db) | 0; - if (($66 | 0) == ($65 | 0)) { - $$0$i = $first; - break L107; - } - $68 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($66, $last) | 0; - if (($68 | 0) == ($66 | 0) | ($68 | 0) == ($last | 0)) { - $$0$i = $first; - break L107; - } - if ((HEAP8[$68 >> 0] | 0) != 95) { - $$0$i = $first; - break L107; - } - $73 = $68 + 1 | 0; - $74 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($73, $last, $db) | 0; - if (($74 | 0) == ($73 | 0)) { - $$0$i = $first; - break L107; - } - $76 = $db + 4 | 0; - $77 = HEAP32[$76 >> 2] | 0; - if ((($77 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0$i = $first; - break L107; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($left$i, $77 + -24 | 0); - $85 = HEAP32[$76 >> 2] | 0; - $86 = $85 + -24 | 0; - $88 = $85; - do { - $87 = $88 + -24 | 0; - HEAP32[$76 >> 2] = $87; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($87); - $88 = HEAP32[$76 >> 2] | 0; - } while (($88 | 0) != ($86 | 0)); - $90 = $85 + -48 | 0; - $91 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($left$i, 0, 14477) | 0; - HEAP32[$2 >> 2] = HEAP32[$91 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$91 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$91 + 8 >> 2]; - HEAP32[$91 >> 2] = 0; - HEAP32[$91 + 4 >> 2] = 0; - HEAP32[$91 + 8 >> 2] = 0; - $94 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 14502) | 0; - HEAP32[$1 >> 2] = HEAP32[$94 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$94 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$94 + 8 >> 2]; - HEAP32[$94 >> 2] = 0; - HEAP32[$94 + 4 >> 2] = 0; - HEAP32[$94 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, (HEAP32[$76 >> 2] | 0) + -24 | 0); - $99 = HEAP8[$3 >> 0] | 0; - $101 = ($99 & 1) == 0; - $111 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($1, $101 ? $3 + 1 | 0 : HEAP32[$3 + 8 >> 2] | 0, $101 ? ($99 & 255) >>> 1 : HEAP32[$3 + 4 >> 2] | 0) | 0; - HEAP32[$0 >> 2] = HEAP32[$111 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$111 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$111 + 8 >> 2]; - HEAP32[$111 >> 2] = 0; - HEAP32[$111 + 4 >> 2] = 0; - HEAP32[$111 + 8 >> 2] = 0; - do if (!(HEAP8[$90 >> 0] & 1)) { - HEAP8[$90 + 1 >> 0] = 0; - HEAP8[$90 >> 0] = 0; - } else { - $118 = $85 + -40 | 0; - HEAP8[HEAP32[$118 >> 2] >> 0] = 0; - $120 = $85 + -44 | 0; - HEAP32[$120 >> 2] = 0; - $$pre$i$i$i$i = HEAP8[$90 >> 0] | 0; - if (!($$pre$i$i$i$i & 1)) { - $127 = $$pre$i$i$i$i; - $136 = 10; - } else { - $123 = HEAP32[$90 >> 2] | 0; - $127 = $123 & 255; - $136 = ($123 & -2) + -1 | 0; - } - if (!($127 & 1)) { - $130 = ($127 & 255) >>> 1; - if (($127 & 255) < 22) { - $135 = 10; - $155 = $130; - $446 = 1; - } else { - $135 = ($130 + 16 & 240) + -1 | 0; - $155 = $130; - $446 = 1; - } - } else { - $135 = 10; - $155 = 0; - $446 = 0; - } - if (($135 | 0) != ($136 | 0)) { - if (($135 | 0) == 10) { - $142 = $90 + 1 | 0; - $143 = HEAP32[$118 >> 2] | 0; - if ($446) { - _memcpy($142 | 0, $143 | 0, (($127 & 255) >>> 1) + 1 | 0) | 0; - _free($143); - } else { - HEAP8[$142 >> 0] = HEAP8[$143 >> 0] | 0; - _free($143); - } - HEAP8[$90 >> 0] = $155 << 1; - break; - } - $139 = $135 + 1 | 0; - $140 = _malloc($139) | 0; - if (!($135 >>> 0 <= $136 >>> 0 & ($140 | 0) == 0)) { - if ($446) _memcpy($140 | 0, $90 + 1 | 0, (($127 & 255) >>> 1) + 1 | 0) | 0; else { - $152 = HEAP32[$118 >> 2] | 0; - HEAP8[$140 >> 0] = HEAP8[$152 >> 0] | 0; - _free($152); - } - HEAP32[$90 >> 2] = $139 | 1; - HEAP32[$120 >> 2] = $155; - HEAP32[$118 >> 2] = $140; - } - } - } while (0); - HEAP32[$90 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$90 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$90 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($left$i); - $$0$i = $74; - break L107; - break; - } - default: - { - $160 = __ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_($18, $last) | 0; - if (($160 | 0) == ($18 | 0)) { - $$0$i = $first; - break L107; - } - $162 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($160, $last, $db) | 0; - if (($162 | 0) == ($160 | 0)) { - $$0$i = $first; - break L107; - } - $166 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($166 | 0)) { - $$0$i = $first; - break L107; - } - $171 = $166 + -24 | 0; - if ((HEAP8[$first + 2 >> 0] | 0) == 118) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($171, 0, 14507) | 0; - $$0$i = $162; - break L107; - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($171, 0, 14525) | 0; - $$0$i = $162; - break L107; - } - } - } - } else $$0$i = $first; while (0); - $$24$ph = $$0$i; - break; - } - default: - { - $191 = __ZN10__cxxabiv112_GLOBAL__N_110parse_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - $193 = HEAP32[$db + 48 >> 2] | 0; - $195 = HEAP32[$db + 52 >> 2] | 0; - if (($191 | 0) == ($first | 0)) $$24$ph = $first; else if (($191 | 0) == ($last | 0)) $$24$ph = $last; else { - switch (HEAP8[$191 >> 0] | 0) { - case 46: - case 69: - { - $$24$ph = $191; - break L6; - break; - } - default: - {} - } - $199 = HEAP8[$9 >> 0] | 0; - HEAP8[$9 >> 0] = 0; - HEAP32[$ret2 >> 2] = 0; - HEAP32[$ret2 + 4 >> 2] = 0; - HEAP32[$ret2 + 8 >> 2] = 0; - $203 = $db + 4 | 0; - $204 = HEAP32[$203 >> 2] | 0; - L11 : do if ((HEAP32[$db >> 2] | 0) != ($204 | 0)) { - $206 = $204 + -24 | 0; - $207 = HEAP8[$206 >> 0] | 0; - $209 = ($207 & 1) == 0; - if ($209) $215 = ($207 & 255) >>> 1; else $215 = HEAP32[$204 + -20 >> 2] | 0; - if ($215) { - if (!(HEAP8[$db + 60 >> 0] | 0)) { - if ($209) { - $226 = ($207 & 255) >>> 1; - $228 = $206 + 1 | 0; - } else { - $226 = HEAP32[$204 + -20 >> 2] | 0; - $228 = HEAP32[$204 + -16 >> 2] | 0; - } - if ((HEAP8[$228 + ($226 + -1) >> 0] | 0) == 62) { - if ($209) { - $$in = ($207 & 255) >>> 1; - $240 = $206 + 1 | 0; - } else { - $$in = HEAP32[$204 + -20 >> 2] | 0; - $240 = HEAP32[$204 + -16 >> 2] | 0; - } - if ((HEAP8[$240 + ($$in + -2) >> 0] | 0) == 45) { - $331 = $204; - $t$0 = $191; - } else { - if ($209) { - $$in109 = ($207 & 255) >>> 1; - $252 = $206 + 1 | 0; - } else { - $$in109 = HEAP32[$204 + -20 >> 2] | 0; - $252 = HEAP32[$204 + -16 >> 2] | 0; - } - if ((HEAP8[$252 + ($$in109 + -2) >> 0] | 0) == 62) { - $331 = $204; - $t$0 = $191; - } else { - $255 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($191, $last, $db) | 0; - if (($255 | 0) == ($191 | 0)) break; - $257 = HEAP32[$203 >> 2] | 0; - if ((($257 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) break; - $264 = $257 + -24 | 0; - HEAP32[$ret1 >> 2] = HEAP32[$264 >> 2]; - HEAP32[$ret1 + 4 >> 2] = HEAP32[$264 + 4 >> 2]; - HEAP32[$ret1 + 8 >> 2] = HEAP32[$264 + 8 >> 2]; - HEAP32[$264 >> 2] = 0; - HEAP32[$264 + 4 >> 2] = 0; - HEAP32[$264 + 8 >> 2] = 0; - $267 = $257 + -12 | 0; - L37 : do if (!(HEAP8[$ret2 >> 0] & 1)) { - HEAP8[$ret2 + 1 >> 0] = 0; - HEAP8[$ret2 >> 0] = 0; - } else { - $272 = $ret2 + 8 | 0; - $273 = HEAP32[$272 >> 2] | 0; - HEAP8[$273 >> 0] = 0; - $274 = $ret2 + 4 | 0; - HEAP32[$274 >> 2] = 0; - $275 = HEAP32[$ret2 >> 2] | 0; - $phitmp$i$i$i$i$i$i = ($275 & -2) + -1 | 0; - $277 = $275 & 255; - do if (!($277 & 1)) { - $281 = $275 >>> 1 & 127; - if (($277 & 255) < 22) { - _memcpy($ret2 + 1 | 0, $273 | 0, ($275 >>> 1 & 127) + 1 | 0) | 0; - _free($273); - $$ph96 = $281; - break; - } - $284 = $281 + 16 & 240; - $phitmp$i2$i$i$i$i$i = $284 + -1 | 0; - if (($phitmp$i2$i$i$i$i$i | 0) == ($phitmp$i$i$i$i$i$i | 0)) break L37; - $287 = _malloc($284) | 0; - if ($phitmp$i2$i$i$i$i$i >>> 0 <= $phitmp$i$i$i$i$i$i >>> 0 & ($287 | 0) == 0) break L37; - _memcpy($287 | 0, $ret2 + 1 | 0, ($275 >>> 1 & 127) + 1 | 0) | 0; - HEAP32[$ret2 >> 2] = $284 | 1; - HEAP32[$274 >> 2] = $281; - HEAP32[$272 >> 2] = $287; - break L37; - } else { - HEAP8[$ret2 + 1 >> 0] = 0; - _free($273); - $$ph96 = 0; - } while (0); - HEAP8[$ret2 >> 0] = $$ph96 << 1; - } while (0); - HEAP32[$ret2 >> 2] = HEAP32[$267 >> 2]; - HEAP32[$ret2 + 4 >> 2] = HEAP32[$267 + 4 >> 2]; - HEAP32[$ret2 + 8 >> 2] = HEAP32[$267 + 8 >> 2]; - HEAP32[$267 >> 2] = 0; - HEAP32[$267 + 4 >> 2] = 0; - HEAP32[$267 + 8 >> 2] = 0; - $303 = HEAP8[$ret2 >> 0] | 0; - if (!((($303 & 1) == 0 ? ($303 & 255) >>> 1 : HEAP32[$ret2 + 4 >> 2] | 0) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($ret1, 32); - $312 = HEAP32[$203 >> 2] | 0; - $313 = $312 + -24 | 0; - $315 = $312; - do { - $314 = $315 + -24 | 0; - HEAP32[$203 >> 2] = $314; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($314); - $315 = HEAP32[$203 >> 2] | 0; - } while (($315 | 0) != ($313 | 0)); - $318 = HEAP8[$ret1 >> 0] | 0; - $320 = ($318 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKcj($312 + -48 | 0, 0, $320 ? $ret1 + 1 | 0 : HEAP32[$ret1 + 8 >> 2] | 0, $320 ? ($318 & 255) >>> 1 : HEAP32[$ret1 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($ret1); - $331 = HEAP32[$203 >> 2] | 0; - $t$0 = $255; - } - } - } else { - $331 = $204; - $t$0 = $191; - } - } else { - $331 = $204; - $t$0 = $191; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($331 + -24 | 0, 40); - if (($t$0 | 0) == ($last | 0)) label = 105; else if ((HEAP8[$t$0 >> 0] | 0) == 118) { - $413 = HEAP32[$db >> 2] | 0; - $414 = HEAP32[$203 >> 2] | 0; - $t$2 = $t$0 + 1 | 0; - } else label = 105; - L60 : do if ((label | 0) == 105) { - $335 = $tmp + 4 | 0; - $336 = $4 + 8 | 0; - $337 = $4 + 1 | 0; - $338 = $4 + 4 | 0; - $339 = $tmp + 8 | 0; - $340 = $tmp + 1 | 0; - $341 = $tmp + 4 | 0; - $342 = $tmp + 8 | 0; - $first_arg$0$off0$ph = 1; - $t$1$ph = $t$0; - while (1) { - $345 = HEAP32[$203 >> 2] | 0; - $347 = HEAP32[$db >> 2] | 0; - $t$1 = $t$1$ph; - while (1) { - $349 = ($345 - $347 | 0) / 24 | 0; - $350 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($t$1, $last, $db) | 0; - $345 = HEAP32[$203 >> 2] | 0; - $347 = HEAP32[$db >> 2] | 0; - $356 = ($345 - $347 | 0) / 24 | 0; - if (($350 | 0) == ($t$1 | 0)) { - $413 = $347; - $414 = $345; - $t$2 = $t$1; - break L60; - } - if ($356 >>> 0 > $349 >>> 0) { - $$lcssa150 = $349; - $$lcssa151 = $350; - $$lcssa156 = $356; - break; - } else $t$1 = $350; - } - HEAP32[$tmp >> 2] = 0; - HEAP32[$341 >> 2] = 0; - HEAP32[$342 >> 2] = 0; - if ($$lcssa150 >>> 0 < $$lcssa156 >>> 0) { - $k$0121 = $$lcssa150; - do { - $361 = HEAP8[$tmp >> 0] | 0; - if ((($361 & 1) == 0 ? ($361 & 255) >>> 1 : HEAP32[$335 >> 2] | 0) | 0) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($tmp, 12716) | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($4, (HEAP32[$db >> 2] | 0) + ($k$0121 * 24 | 0) | 0); - $371 = HEAP8[$4 >> 0] | 0; - $373 = ($371 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($tmp, $373 ? $337 : HEAP32[$336 >> 2] | 0, $373 ? ($371 & 255) >>> 1 : HEAP32[$338 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - $k$0121 = $k$0121 + 1 | 0; - } while ($k$0121 >>> 0 < $$lcssa156 >>> 0); - } - if ($$lcssa150 >>> 0 < $$lcssa156 >>> 0) { - $k2$0122 = $$lcssa150; - do { - $382 = HEAP32[$203 >> 2] | 0; - $383 = $382 + -24 | 0; - $385 = $382; - do { - $384 = $385 + -24 | 0; - HEAP32[$203 >> 2] = $384; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($384); - $385 = HEAP32[$203 >> 2] | 0; - } while (($385 | 0) != ($383 | 0)); - $k2$0122 = $k2$0122 + 1 | 0; - } while ($k2$0122 >>> 0 < $$lcssa156 >>> 0); - } - $389 = HEAP8[$tmp >> 0] | 0; - $392 = HEAP32[$335 >> 2] | 0; - if (!((($389 & 1) == 0 ? ($389 & 255) >>> 1 : $392) | 0)) $first_arg$3$off0$ph = $first_arg$0$off0$ph; else { - $398 = HEAP32[$203 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($398 | 0)) break; - if ($first_arg$0$off0$ph) { - $402 = $398; - $404 = $389; - $411 = $392; - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($398 + -24 | 0, 12716) | 0; - $402 = HEAP32[$203 >> 2] | 0; - $404 = HEAP8[$tmp >> 0] | 0; - $411 = HEAP32[$335 >> 2] | 0; - } - $405 = ($404 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($402 + -24 | 0, $405 ? $340 : HEAP32[$339 >> 2] | 0, $405 ? ($404 & 255) >>> 1 : $411) | 0; - $first_arg$3$off0$ph = 0; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp); - $first_arg$0$off0$ph = $first_arg$3$off0$ph; - $t$1$ph = $$lcssa151; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp); - break L11; - } while (0); - if (($413 | 0) != ($414 | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($414 + -24 | 0, 41); - if ($193 & 1) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$203 >> 2] | 0) + -24 | 0, 12669) | 0; - if ($193 & 2) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$203 >> 2] | 0) + -24 | 0, 12676) | 0; - if ($193 & 4) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$203 >> 2] | 0) + -24 | 0, 12686) | 0; - switch ($195 | 0) { - case 1: - { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$203 >> 2] | 0) + -24 | 0, 12719) | 0; - break; - } - case 2: - { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc((HEAP32[$203 >> 2] | 0) + -24 | 0, 12722) | 0; - break; - } - default: - {} - } - $434 = HEAP8[$ret2 >> 0] | 0; - $436 = ($434 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$203 >> 2] | 0) + -24 | 0, $436 ? $ret2 + 1 | 0 : HEAP32[$ret2 + 8 >> 2] | 0, $436 ? ($434 & 255) >>> 1 : HEAP32[$ret2 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($ret2); - HEAP8[$9 >> 0] = $199; - $$24$ph = $t$2; - break L6; - } - } - } while (0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($ret2); - HEAP8[$9 >> 0] = $10; - HEAP32[$6 >> 2] = $7; - $$7 = $first; - break L1; - } - } - } while (0); - HEAP8[$9 >> 0] = $10; - HEAP32[$6 >> 2] = $7; - $$7 = $$24$ph; - } while (0); - STACKTOP = sp; - return $$7 | 0; -} - -function _vfscanf($f, $fmt, $ap) { - $f = $f | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - var $$ = 0, $$lcssa = 0, $$lcssa38 = 0, $$lcssa384 = 0, $$pre = 0, $$pre$phi182Z2D = 0, $$pre170 = 0, $$pre178 = 0, $$size$0 = 0, $0 = 0, $10 = 0, $104 = 0, $105 = 0, $107 = 0, $109 = 0, $11 = 0, $112 = 0, $115 = 0, $117 = 0, $12 = 0, $125 = 0, $129 = 0, $13 = 0, $136 = 0, $14 = 0, $141 = 0, $145 = 0, $15 = 0, $150 = 0, $151 = 0, $157 = 0, $160 = 0, $164 = 0, $166 = 0, $168 = 0, $17 = 0, $173 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $181 = 0, $186 = 0, $190 = 0, $195 = 0, $196 = 0, $197 = 0, $199 = 0, $20 = 0, $201 = 0, $202 = 0, $210 = 0, $220 = 0, $222 = 0, $226 = 0, $228 = 0, $236 = 0, $244 = 0, $245 = 0, $248 = 0, $25 = 0, $250 = 0, $256 = 0, $263 = 0, $265 = 0, $271 = 0, $277 = 0, $281 = 0, $284 = 0, $291 = 0, $306 = 0, $310 = 0.0, $32 = 0, $334 = 0, $37 = 0, $41 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $51 = 0, $52 = 0, $62 = 0, $7 = 0, $8 = 0, $81 = 0, $82 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $alloc$0 = 0, $alloc$0400 = 0, $alloc$1 = 0, $alloc$2 = 0, $ap2$i = 0, $base$0 = 0, $c$0100 = 0, $dest$0 = 0, $i$0$i = 0, $i$0$ph = 0, $i$0$ph$phi = 0, $i$0$ph20 = 0, $i$0$ph20$lcssa = 0, $i$1 = 0, $i$2 = 0, $i$2$ph = 0, $i$2$ph$phi = 0, $i$3 = 0, $i$4 = 0, $invert$0 = 0, $isdigittmp = 0, $k$0$ph = 0, $k$1$ph = 0, $matches$0104 = 0, $matches$0104$lcssa = 0, $matches$0104376 = 0, $matches$1 = 0, $matches$2 = 0, $matches$3 = 0, $p$0109 = 0, $p$1 = 0, $p$1$lcssa = 0, $p$10 = 0, $p$11 = 0, $p$2 = 0, $p$3$lcssa = 0, $p$396 = 0, $p$4 = 0, $p$5 = 0, $p$6 = 0, $p$7 = 0, $p$7$ph = 0, $p$8 = 0, $p$9 = 0, $pos$0108 = 0, $pos$1 = 0, $pos$2 = 0, $s$0107 = 0, $s$0107$lcssa = 0, $s$1 = 0, $s$2$ph = 0, $s$3 = 0, $s$4 = 0, $s$5 = 0, $s$6 = 0, $s$7 = 0, $s$8 = 0, $scanset = 0, $size$0 = 0, $st = 0, $wc = 0, $wcs$0103 = 0, $wcs$0103$lcssa = 0, $wcs$1 = 0, $wcs$2 = 0, $wcs$3$ph = 0, $wcs$3$ph$lcssa = 0, $wcs$4 = 0, $wcs$5 = 0, $wcs$6 = 0, $wcs$7 = 0, $wcs$8 = 0, $wcs$9 = 0, $width$0$lcssa = 0, $width$097 = 0, $width$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ap2$i = sp + 16 | 0; - $st = sp + 8 | 0; - $scanset = sp + 33 | 0; - $wc = sp; - $0 = sp + 32 | 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) $334 = ___lockfile($f) | 0; else $334 = 0; - $5 = HEAP8[$fmt >> 0] | 0; - L4 : do if (!($5 << 24 >> 24)) $matches$3 = 0; else { - $7 = $f + 4 | 0; - $8 = $f + 100 | 0; - $9 = $f + 108 | 0; - $10 = $f + 8 | 0; - $11 = $scanset + 10 | 0; - $12 = $scanset + 33 | 0; - $13 = $st + 4 | 0; - $14 = $scanset + 46 | 0; - $15 = $scanset + 94 | 0; - $17 = $5; - $matches$0104 = 0; - $p$0109 = $fmt; - $pos$0108 = 0; - $s$0107 = 0; - $wcs$0103 = 0; - L6 : while (1) { - L8 : do if (!(_isspace($17 & 255) | 0)) { - $47 = (HEAP8[$p$0109 >> 0] | 0) == 37; - L10 : do if ($47) { - $48 = $p$0109 + 1 | 0; - $49 = HEAP8[$48 >> 0] | 0; - L12 : do switch ($49 << 24 >> 24) { - case 37: - { - break L10; - break; - } - case 42: - { - $dest$0 = 0; - $p$2 = $p$0109 + 2 | 0; - break; - } - default: - { - $isdigittmp = ($49 & 255) + -48 | 0; - if ($isdigittmp >>> 0 < 10) if ((HEAP8[$p$0109 + 2 >> 0] | 0) == 36) { - HEAP32[$ap2$i >> 2] = HEAP32[$ap >> 2]; - $i$0$i = $isdigittmp; - while (1) { - $81 = (HEAP32[$ap2$i >> 2] | 0) + (4 - 1) & ~(4 - 1); - $82 = HEAP32[$81 >> 2] | 0; - HEAP32[$ap2$i >> 2] = $81 + 4; - if ($i$0$i >>> 0 > 1) $i$0$i = $i$0$i + -1 | 0; else { - $$lcssa = $82; - break; - } - } - $dest$0 = $$lcssa; - $p$2 = $p$0109 + 3 | 0; - break L12; - } - $90 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $91 = HEAP32[$90 >> 2] | 0; - HEAP32[$ap >> 2] = $90 + 4; - $dest$0 = $91; - $p$2 = $48; - } - } while (0); - $92 = HEAP8[$p$2 >> 0] | 0; - $93 = $92 & 255; - if (($93 + -48 | 0) >>> 0 < 10) { - $97 = $93; - $p$396 = $p$2; - $width$097 = 0; - while (1) { - $96 = ($width$097 * 10 | 0) + -48 + $97 | 0; - $98 = $p$396 + 1 | 0; - $99 = HEAP8[$98 >> 0] | 0; - $97 = $99 & 255; - if (($97 + -48 | 0) >>> 0 >= 10) { - $$lcssa38 = $99; - $p$3$lcssa = $98; - $width$0$lcssa = $96; - break; - } else { - $p$396 = $98; - $width$097 = $96; - } - } - } else { - $$lcssa38 = $92; - $p$3$lcssa = $p$2; - $width$0$lcssa = 0; - } - if ($$lcssa38 << 24 >> 24 == 109) { - $104 = $p$3$lcssa + 1 | 0; - $107 = HEAP8[$104 >> 0] | 0; - $alloc$0 = ($dest$0 | 0) != 0 & 1; - $p$4 = $104; - $s$1 = 0; - $wcs$1 = 0; - } else { - $107 = $$lcssa38; - $alloc$0 = 0; - $p$4 = $p$3$lcssa; - $s$1 = $s$0107; - $wcs$1 = $wcs$0103; - } - $105 = $p$4 + 1 | 0; - switch ($107 & 255 | 0) { - case 104: - { - $109 = (HEAP8[$105 >> 0] | 0) == 104; - $p$5 = $109 ? $p$4 + 2 | 0 : $105; - $size$0 = $109 ? -2 : -1; - break; - } - case 108: - { - $112 = (HEAP8[$105 >> 0] | 0) == 108; - $p$5 = $112 ? $p$4 + 2 | 0 : $105; - $size$0 = $112 ? 3 : 1; - break; - } - case 106: - { - $p$5 = $105; - $size$0 = 3; - break; - } - case 116: - case 122: - { - $p$5 = $105; - $size$0 = 1; - break; - } - case 76: - { - $p$5 = $105; - $size$0 = 2; - break; - } - case 110: - case 112: - case 67: - case 83: - case 91: - case 99: - case 115: - case 88: - case 71: - case 70: - case 69: - case 65: - case 103: - case 102: - case 101: - case 97: - case 120: - case 117: - case 111: - case 105: - case 100: - { - $p$5 = $p$4; - $size$0 = 0; - break; - } - default: - { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = $s$1; - $wcs$7 = $wcs$1; - label = 152; - break L6; - } - } - $115 = HEAPU8[$p$5 >> 0] | 0; - $117 = ($115 & 47 | 0) == 3; - $$ = $117 ? $115 | 32 : $115; - $$size$0 = $117 ? 1 : $size$0; - switch ($$ | 0) { - case 99: - { - $pos$1 = $pos$0108; - $width$1 = ($width$0$lcssa | 0) < 1 ? 1 : $width$0$lcssa; - break; - } - case 91: - { - $pos$1 = $pos$0108; - $width$1 = $width$0$lcssa; - break; - } - case 110: - { - if (!$dest$0) { - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - } - switch ($$size$0 | 0) { - case -2: - { - HEAP8[$dest$0 >> 0] = $pos$0108; - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - break; - } - case -1: - { - HEAP16[$dest$0 >> 1] = $pos$0108; - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - break; - } - case 0: - { - HEAP32[$dest$0 >> 2] = $pos$0108; - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - break; - } - case 1: - { - HEAP32[$dest$0 >> 2] = $pos$0108; - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - break; - } - case 3: - { - $125 = $dest$0; - HEAP32[$125 >> 2] = $pos$0108; - HEAP32[$125 + 4 >> 2] = (($pos$0108 | 0) < 0) << 31 >> 31; - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - break; - } - default: - { - $matches$1 = $matches$0104; - $p$11 = $p$5; - $pos$2 = $pos$0108; - $s$5 = $s$1; - $wcs$6 = $wcs$1; - break L8; - } - } - break; - } - default: - { - ___shlim($f, 0); - do { - $129 = HEAP32[$7 >> 2] | 0; - if ($129 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { - HEAP32[$7 >> 2] = $129 + 1; - $136 = HEAPU8[$129 >> 0] | 0; - } else $136 = ___shgetc($f) | 0; - } while ((_isspace($136) | 0) != 0); - $$pre170 = HEAP32[$7 >> 2] | 0; - if (!(HEAP32[$8 >> 2] | 0)) $145 = $$pre170; else { - $141 = $$pre170 + -1 | 0; - HEAP32[$7 >> 2] = $141; - $145 = $141; - } - $pos$1 = (HEAP32[$9 >> 2] | 0) + $pos$0108 + $145 - (HEAP32[$10 >> 2] | 0) | 0; - $width$1 = $width$0$lcssa; - } - } - ___shlim($f, $width$1); - $150 = HEAP32[$7 >> 2] | 0; - $151 = HEAP32[$8 >> 2] | 0; - if ($150 >>> 0 < $151 >>> 0) { - HEAP32[$7 >> 2] = $150 + 1; - $157 = $151; - } else { - if ((___shgetc($f) | 0) < 0) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = $s$1; - $wcs$7 = $wcs$1; - label = 152; - break L6; - } - $157 = HEAP32[$8 >> 2] | 0; - } - if ($157) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; - L67 : do switch ($$ | 0) { - case 91: - case 99: - case 115: - { - $160 = ($$ | 0) == 99; - L69 : do if (($$ & 239 | 0) == 99) { - _memset($scanset | 0, -1, 257) | 0; - HEAP8[$scanset >> 0] = 0; - if (($$ | 0) == 115) { - HEAP8[$12 >> 0] = 0; - HEAP8[$11 >> 0] = 0; - HEAP8[$11 + 1 >> 0] = 0; - HEAP8[$11 + 2 >> 0] = 0; - HEAP8[$11 + 3 >> 0] = 0; - HEAP8[$11 + 4 >> 0] = 0; - $p$9 = $p$5; - } else $p$9 = $p$5; - } else { - $164 = $p$5 + 1 | 0; - $166 = (HEAP8[$164 >> 0] | 0) == 94; - $invert$0 = $166 & 1; - $168 = $166 ? $164 : $p$5; - $p$6 = $166 ? $p$5 + 2 | 0 : $164; - _memset($scanset | 0, $166 & 1 | 0, 257) | 0; - HEAP8[$scanset >> 0] = 0; - switch (HEAP8[$p$6 >> 0] | 0) { - case 45: - { - $173 = ($invert$0 ^ 1) & 255; - HEAP8[$14 >> 0] = $173; - $$pre$phi182Z2D = $173; - $p$7$ph = $168 + 2 | 0; - break; - } - case 93: - { - $176 = ($invert$0 ^ 1) & 255; - HEAP8[$15 >> 0] = $176; - $$pre$phi182Z2D = $176; - $p$7$ph = $168 + 2 | 0; - break; - } - default: - { - $$pre$phi182Z2D = ($invert$0 ^ 1) & 255; - $p$7$ph = $p$6; - } - } - $p$7 = $p$7$ph; - while (1) { - $177 = HEAP8[$p$7 >> 0] | 0; - L80 : do switch ($177 << 24 >> 24) { - case 0: - { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = $s$1; - $wcs$7 = $wcs$1; - label = 152; - break L6; - break; - } - case 93: - { - $p$9 = $p$7; - break L69; - break; - } - case 45: - { - $178 = $p$7 + 1 | 0; - $179 = HEAP8[$178 >> 0] | 0; - switch ($179 << 24 >> 24) { - case 93: - case 0: - { - $190 = 45; - $p$8 = $p$7; - break L80; - break; - } - default: - {} - } - $181 = HEAP8[$p$7 + -1 >> 0] | 0; - if (($181 & 255) < ($179 & 255)) { - $c$0100 = $181 & 255; - do { - $c$0100 = $c$0100 + 1 | 0; - HEAP8[$scanset + $c$0100 >> 0] = $$pre$phi182Z2D; - $186 = HEAP8[$178 >> 0] | 0; - } while (($c$0100 | 0) < ($186 & 255 | 0)); - $190 = $186; - $p$8 = $178; - } else { - $190 = $179; - $p$8 = $178; - } - break; - } - default: - { - $190 = $177; - $p$8 = $p$7; - } - } while (0); - HEAP8[$scanset + (($190 & 255) + 1) >> 0] = $$pre$phi182Z2D; - $p$7 = $p$8 + 1 | 0; - } - } while (0); - $195 = $160 ? $width$1 + 1 | 0 : 31; - $196 = ($$size$0 | 0) == 1; - $197 = ($alloc$0 | 0) != 0; - L88 : do if ($196) { - if ($197) { - $199 = _malloc($195 << 2) | 0; - if (!$199) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = 0; - $wcs$7 = $199; - label = 152; - break L6; - } else $wcs$2 = $199; - } else $wcs$2 = $dest$0; - HEAP32[$st >> 2] = 0; - HEAP32[$13 >> 2] = 0; - $i$0$ph = 0; - $k$0$ph = $195; - $wcs$3$ph = $wcs$2; - L94 : while (1) { - $201 = ($wcs$3$ph | 0) == 0; - $i$0$ph20 = $i$0$ph; - while (1) { - L98 : while (1) { - $202 = HEAP32[$7 >> 2] | 0; - if ($202 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { - HEAP32[$7 >> 2] = $202 + 1; - $210 = HEAPU8[$202 >> 0] | 0; - } else $210 = ___shgetc($f) | 0; - if (!(HEAP8[$scanset + ($210 + 1) >> 0] | 0)) { - $i$0$ph20$lcssa = $i$0$ph20; - $wcs$3$ph$lcssa = $wcs$3$ph; - break L94; - } - HEAP8[$0 >> 0] = $210; - switch (_mbrtowc($wc, $0, 1, $st) | 0) { - case -1: - { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = 0; - $wcs$7 = $wcs$3$ph; - label = 152; - break L6; - break; - } - case -2: - break; - default: - break L98; - } - } - if ($201) $i$1 = $i$0$ph20; else { - HEAP32[$wcs$3$ph + ($i$0$ph20 << 2) >> 2] = HEAP32[$wc >> 2]; - $i$1 = $i$0$ph20 + 1 | 0; - } - if ($197 & ($i$1 | 0) == ($k$0$ph | 0)) break; else $i$0$ph20 = $i$1; - } - $220 = $k$0$ph << 1 | 1; - $222 = _realloc($wcs$3$ph, $220 << 2) | 0; - if (!$222) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = 0; - $wcs$7 = $wcs$3$ph; - label = 152; - break L6; - } - $i$0$ph$phi = $k$0$ph; - $k$0$ph = $220; - $wcs$3$ph = $222; - $i$0$ph = $i$0$ph$phi; - } - if (!(_mbsinit($st) | 0)) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = 0; - $wcs$7 = $wcs$3$ph$lcssa; - label = 152; - break L6; - } else { - $i$4 = $i$0$ph20$lcssa; - $s$3 = 0; - $wcs$4 = $wcs$3$ph$lcssa; - } - } else { - if ($197) { - $226 = _malloc($195) | 0; - if (!$226) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = 0; - $wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph = 0; - $k$1$ph = $195; - $s$2$ph = $226; - } - while (1) { - $i$2 = $i$2$ph; - do { - $228 = HEAP32[$7 >> 2] | 0; - if ($228 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { - HEAP32[$7 >> 2] = $228 + 1; - $236 = HEAPU8[$228 >> 0] | 0; - } else $236 = ___shgetc($f) | 0; - if (!(HEAP8[$scanset + ($236 + 1) >> 0] | 0)) { - $i$4 = $i$2; - $s$3 = $s$2$ph; - $wcs$4 = 0; - break L88; - } - HEAP8[$s$2$ph + $i$2 >> 0] = $236; - $i$2 = $i$2 + 1 | 0; - } while (($i$2 | 0) != ($k$1$ph | 0)); - $244 = $k$1$ph << 1 | 1; - $245 = _realloc($s$2$ph, $244) | 0; - if (!$245) { - $alloc$0400 = $alloc$0; - $matches$0104376 = $matches$0104; - $s$6 = $s$2$ph; - $wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph$phi = $k$1$ph; - $k$1$ph = $244; - $s$2$ph = $245; - $i$2$ph = $i$2$ph$phi; - } - } - } - if (!$dest$0) { - $265 = $157; - while (1) { - $263 = HEAP32[$7 >> 2] | 0; - if ($263 >>> 0 < $265 >>> 0) { - HEAP32[$7 >> 2] = $263 + 1; - $271 = HEAPU8[$263 >> 0] | 0; - } else $271 = ___shgetc($f) | 0; - if (!(HEAP8[$scanset + ($271 + 1) >> 0] | 0)) { - $i$4 = 0; - $s$3 = 0; - $wcs$4 = 0; - break L88; - } - $265 = HEAP32[$8 >> 2] | 0; - } - } else { - $250 = $157; - $i$3 = 0; - while (1) { - $248 = HEAP32[$7 >> 2] | 0; - if ($248 >>> 0 < $250 >>> 0) { - HEAP32[$7 >> 2] = $248 + 1; - $256 = HEAPU8[$248 >> 0] | 0; - } else $256 = ___shgetc($f) | 0; - if (!(HEAP8[$scanset + ($256 + 1) >> 0] | 0)) { - $i$4 = $i$3; - $s$3 = $dest$0; - $wcs$4 = 0; - break L88; - } - HEAP8[$dest$0 + $i$3 >> 0] = $256; - $250 = HEAP32[$8 >> 2] | 0; - $i$3 = $i$3 + 1 | 0; - } - } - } while (0); - $$pre178 = HEAP32[$7 >> 2] | 0; - if (!(HEAP32[$8 >> 2] | 0)) $281 = $$pre178; else { - $277 = $$pre178 + -1 | 0; - HEAP32[$7 >> 2] = $277; - $281 = $277; - } - $284 = $281 - (HEAP32[$10 >> 2] | 0) + (HEAP32[$9 >> 2] | 0) | 0; - if (!$284) { - $alloc$2 = $alloc$0; - $matches$2 = $matches$0104; - $s$8 = $s$3; - $wcs$9 = $wcs$4; - break L6; - } - if (!(($284 | 0) == ($width$1 | 0) | $160 ^ 1)) { - $alloc$2 = $alloc$0; - $matches$2 = $matches$0104; - $s$8 = $s$3; - $wcs$9 = $wcs$4; - break L6; - } - do if ($197) if ($196) { - HEAP32[$dest$0 >> 2] = $wcs$4; - break; - } else { - HEAP32[$dest$0 >> 2] = $s$3; - break; - } while (0); - if ($160) { - $p$10 = $p$9; - $s$4 = $s$3; - $wcs$5 = $wcs$4; - } else { - if ($wcs$4) HEAP32[$wcs$4 + ($i$4 << 2) >> 2] = 0; - if (!$s$3) { - $p$10 = $p$9; - $s$4 = 0; - $wcs$5 = $wcs$4; - break L67; - } - HEAP8[$s$3 + $i$4 >> 0] = 0; - $p$10 = $p$9; - $s$4 = $s$3; - $wcs$5 = $wcs$4; - } - break; - } - case 120: - case 88: - case 112: - { - $base$0 = 16; - label = 134; - break; - } - case 111: - { - $base$0 = 8; - label = 134; - break; - } - case 117: - case 100: - { - $base$0 = 10; - label = 134; - break; - } - case 105: - { - $base$0 = 0; - label = 134; - break; - } - case 71: - case 103: - case 70: - case 102: - case 69: - case 101: - case 65: - case 97: - { - $310 = +___floatscan($f, $$size$0, 0); - if ((HEAP32[$9 >> 2] | 0) == ((HEAP32[$10 >> 2] | 0) - (HEAP32[$7 >> 2] | 0) | 0)) { - $alloc$2 = $alloc$0; - $matches$2 = $matches$0104; - $s$8 = $s$1; - $wcs$9 = $wcs$1; - break L6; - } - if (!$dest$0) { - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - } else switch ($$size$0 | 0) { - case 0: - { - HEAPF32[$dest$0 >> 2] = $310; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L67; - break; - } - case 1: - { - HEAPF64[$dest$0 >> 3] = $310; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L67; - break; - } - case 2: - { - HEAPF64[$dest$0 >> 3] = $310; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L67; - break; - } - default: - { - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L67; - } - } - break; - } - default: - { - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - } - } while (0); - L168 : do if ((label | 0) == 134) { - label = 0; - $291 = ___intscan($f, $base$0, 0, -1, -1) | 0; - if ((HEAP32[$9 >> 2] | 0) == ((HEAP32[$10 >> 2] | 0) - (HEAP32[$7 >> 2] | 0) | 0)) { - $alloc$2 = $alloc$0; - $matches$2 = $matches$0104; - $s$8 = $s$1; - $wcs$9 = $wcs$1; - break L6; - } - if (($dest$0 | 0) != 0 & ($$ | 0) == 112) { - HEAP32[$dest$0 >> 2] = $291; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break; - } - if (!$dest$0) { - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - } else switch ($$size$0 | 0) { - case -2: - { - HEAP8[$dest$0 >> 0] = $291; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - break; - } - case -1: - { - HEAP16[$dest$0 >> 1] = $291; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - break; - } - case 0: - { - HEAP32[$dest$0 >> 2] = $291; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - break; - } - case 1: - { - HEAP32[$dest$0 >> 2] = $291; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - break; - } - case 3: - { - $306 = $dest$0; - HEAP32[$306 >> 2] = $291; - HEAP32[$306 + 4 >> 2] = tempRet0; - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - break; - } - default: - { - $p$10 = $p$5; - $s$4 = $s$1; - $wcs$5 = $wcs$1; - break L168; - } - } - } while (0); - $matches$1 = (($dest$0 | 0) != 0 & 1) + $matches$0104 | 0; - $p$11 = $p$10; - $pos$2 = (HEAP32[$9 >> 2] | 0) + $pos$1 + (HEAP32[$7 >> 2] | 0) - (HEAP32[$10 >> 2] | 0) | 0; - $s$5 = $s$4; - $wcs$6 = $wcs$5; - break L8; - } while (0); - $51 = $p$0109 + ($47 & 1) | 0; - ___shlim($f, 0); - $52 = HEAP32[$7 >> 2] | 0; - if ($52 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { - HEAP32[$7 >> 2] = $52 + 1; - $62 = HEAPU8[$52 >> 0] | 0; - } else $62 = ___shgetc($f) | 0; - if (($62 | 0) != (HEAPU8[$51 >> 0] | 0)) { - $$lcssa384 = $62; - $matches$0104$lcssa = $matches$0104; - $s$0107$lcssa = $s$0107; - $wcs$0103$lcssa = $wcs$0103; - label = 21; - break L6; - } - $matches$1 = $matches$0104; - $p$11 = $51; - $pos$2 = $pos$0108 + 1 | 0; - $s$5 = $s$0107; - $wcs$6 = $wcs$0103; - } else { - $p$1 = $p$0109; - while (1) { - $20 = $p$1 + 1 | 0; - if (!(_isspace(HEAPU8[$20 >> 0] | 0) | 0)) { - $p$1$lcssa = $p$1; - break; - } else $p$1 = $20; - } - ___shlim($f, 0); - do { - $25 = HEAP32[$7 >> 2] | 0; - if ($25 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { - HEAP32[$7 >> 2] = $25 + 1; - $32 = HEAPU8[$25 >> 0] | 0; - } else $32 = ___shgetc($f) | 0; - } while ((_isspace($32) | 0) != 0); - $$pre = HEAP32[$7 >> 2] | 0; - if (!(HEAP32[$8 >> 2] | 0)) $41 = $$pre; else { - $37 = $$pre + -1 | 0; - HEAP32[$7 >> 2] = $37; - $41 = $37; - } - $matches$1 = $matches$0104; - $p$11 = $p$1$lcssa; - $pos$2 = (HEAP32[$9 >> 2] | 0) + $pos$0108 + $41 - (HEAP32[$10 >> 2] | 0) | 0; - $s$5 = $s$0107; - $wcs$6 = $wcs$0103; - } while (0); - $p$0109 = $p$11 + 1 | 0; - $17 = HEAP8[$p$0109 >> 0] | 0; - if (!($17 << 24 >> 24)) { - $matches$3 = $matches$1; - break L4; - } else { - $matches$0104 = $matches$1; - $pos$0108 = $pos$2; - $s$0107 = $s$5; - $wcs$0103 = $wcs$6; - } - } - if ((label | 0) == 21) { - if (HEAP32[$8 >> 2] | 0) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; - if (($matches$0104$lcssa | 0) != 0 | ($$lcssa384 | 0) > -1) { - $matches$3 = $matches$0104$lcssa; - break; - } else { - $alloc$1 = 0; - $s$7 = $s$0107$lcssa; - $wcs$8 = $wcs$0103$lcssa; - label = 153; - } - } else if ((label | 0) == 152) if (!$matches$0104376) { - $alloc$1 = $alloc$0400; - $s$7 = $s$6; - $wcs$8 = $wcs$7; - label = 153; - } else { - $alloc$2 = $alloc$0400; - $matches$2 = $matches$0104376; - $s$8 = $s$6; - $wcs$9 = $wcs$7; - } - if ((label | 0) == 153) { - $alloc$2 = $alloc$1; - $matches$2 = -1; - $s$8 = $s$7; - $wcs$9 = $wcs$8; - } - if (!$alloc$2) $matches$3 = $matches$2; else { - _free($s$8); - _free($wcs$9); - $matches$3 = $matches$2; - } - } while (0); - if ($334) ___unlockfile($f); - STACKTOP = sp; - return $matches$3 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i6 = 0, $$0$i$i$i18$i = 0, $$0$i$i$i7$i = 0, $$0$i$i49 = 0, $$03$i = 0, $$1$i9 = 0, $$lcssa = 0, $$ph26 = 0, $$pre$i$i$i$i = 0, $0 = 0, $1 = 0, $100 = 0, $104 = 0, $106 = 0, $109 = 0, $110 = 0, $112 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $121 = 0, $13 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $140 = 0, $141 = 0, $143 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $157 = 0, $159 = 0, $162 = 0, $163 = 0, $165 = 0, $171 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $191 = 0, $193 = 0, $194 = 0, $196 = 0, $198 = 0, $2 = 0, $20 = 0, $203 = 0, $204 = 0, $205 = 0, $207 = 0, $217 = 0, $218 = 0, $22 = 0, $220 = 0, $224 = 0, $227 = 0, $230 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $246 = 0, $248 = 0, $252 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $268 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $277 = 0, $283 = 0, $284 = 0, $285 = 0, $29 = 0, $292 = 0, $297 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $304 = 0, $31 = 0, $312 = 0, $318 = 0, $32 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $341 = 0, $36 = 0, $38 = 0, $4 = 0, $41 = 0, $42 = 0, $50 = 0, $53 = 0, $55 = 0, $6 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $69 = 0, $7 = 0, $71 = 0, $74 = 0, $75 = 0, $87 = 0, $88 = 0, $90 = 0, $97 = 0, $98 = 0, $99 = 0, $__p$0$i$i = 0, $__p$1$i$i48 = 0, $__v$i$i17$i = 0, $phitmp$i$i$i$i$i$i$i = 0, $phitmp$i2$i$i$i$i$i$i = 0, $t0$0$i = 0, $t01$0$i = 0, $t01$0$i$lcssa67 = 0, $t01$1$i = 0, $t01$2$i = 0, $t1$0$i$lcssa = 0, $t1$0$i45 = 0, $t13$0$i$lcssa = 0, $t13$0$i51 = 0, $tmp$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i17$i = sp + 104 | 0; - $0 = sp + 80 | 0; - $1 = sp + 64 | 0; - $2 = sp + 40 | 0; - $3 = sp + 24 | 0; - $tmp$i = sp + 12 | 0; - $4 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else { - $6 = HEAP8[$first >> 0] | 0; - $7 = $6 << 24 >> 24; - switch ($7 | 0) { - case 68: - case 67: - { - L6 : do if (($last - $first | 0) > 1) { - $13 = $db + 4 | 0; - $14 = HEAP32[$13 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($14 | 0)) $$03$i = $first; else switch ($7 | 0) { - case 67: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 53: - case 51: - case 50: - case 49: - break; - default: - { - $$03$i = $first; - break L6; - } - } - __ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_($1, $14 + -24 | 0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - $20 = HEAP32[$13 >> 2] | 0; - $22 = HEAP32[$db + 8 >> 2] | 0; - if ($20 >>> 0 < $22 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($20, $0); - HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 24; - } else { - $29 = HEAP32[$db >> 2] | 0; - $30 = $20 - $29 | 0; - $31 = ($30 | 0) / 24 | 0; - $32 = $31 + 1 | 0; - if (($30 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $36 = ($22 - $29 | 0) / 24 | 0; - if ($36 >>> 0 < 1073741823) { - $38 = $36 << 1; - $$0$i$i$i$i = $38 >>> 0 < $32 >>> 0 ? $32 : $38; - } else $$0$i$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17$i, $$0$i$i$i$i, $31, $db + 12 | 0); - $41 = $__v$i$i17$i + 8 | 0; - $42 = HEAP32[$41 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($42, $0); - HEAP32[$41 >> 2] = $42 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - HEAP8[$db + 60 >> 0] = 1; - $$03$i = $first + 2 | 0; - break L6; - break; - } - case 68: - { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 53: - case 50: - case 49: - case 48: - break; - default: - { - $$03$i = $first; - break L6; - } - } - __ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_($tmp$i, $14 + -24 | 0); - $50 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($tmp$i, 0, 12928) | 0; - HEAP32[$3 >> 2] = HEAP32[$50 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$50 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$50 + 8 >> 2]; - HEAP32[$50 >> 2] = 0; - HEAP32[$50 + 4 >> 2] = 0; - HEAP32[$50 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($2, $3); - $53 = HEAP32[$13 >> 2] | 0; - $55 = HEAP32[$db + 8 >> 2] | 0; - if ($53 >>> 0 < $55 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($53, $2); - HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 24; - } else { - $62 = HEAP32[$db >> 2] | 0; - $63 = $53 - $62 | 0; - $64 = ($63 | 0) / 24 | 0; - $65 = $64 + 1 | 0; - if (($63 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $69 = ($55 - $62 | 0) / 24 | 0; - if ($69 >>> 0 < 1073741823) { - $71 = $69 << 1; - $$0$i$i$i7$i = $71 >>> 0 < $65 >>> 0 ? $65 : $71; - } else $$0$i$i$i7$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17$i, $$0$i$i$i7$i, $64, $db + 12 | 0); - $74 = $__v$i$i17$i + 8 | 0; - $75 = HEAP32[$74 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($75, $2); - HEAP32[$74 >> 2] = $75 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp$i); - HEAP8[$db + 60 >> 0] = 1; - $$03$i = $first + 2 | 0; - break L6; - break; - } - default: - { - $$03$i = $first; - break L6; - } - } - } else $$03$i = $first; while (0); - $$0 = $$03$i; - break L1; - break; - } - case 85: - { - L36 : do if (($last - $first | 0) > 2 & $6 << 24 >> 24 == 85) { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 116: - { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($1, 12930, 8); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - $87 = $db + 4 | 0; - $88 = HEAP32[$87 >> 2] | 0; - $90 = HEAP32[$db + 8 >> 2] | 0; - if ($88 >>> 0 < $90 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($88, $0); - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + 24; - } else { - $97 = HEAP32[$db >> 2] | 0; - $98 = $88 - $97 | 0; - $99 = ($98 | 0) / 24 | 0; - $100 = $99 + 1 | 0; - if (($98 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $104 = ($90 - $97 | 0) / 24 | 0; - if ($104 >>> 0 < 1073741823) { - $106 = $104 << 1; - $$0$i$i$i$i6 = $106 >>> 0 < $100 >>> 0 ? $100 : $106; - } else $$0$i$i$i$i6 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17$i, $$0$i$i$i$i6, $99, $db + 12 | 0); - $109 = $__v$i$i17$i + 8 | 0; - $110 = HEAP32[$109 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($110, $0); - HEAP32[$109 >> 2] = $110 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - $112 = $first + 2 | 0; - if (($112 | 0) == ($last | 0)) { - $114 = HEAP32[$87 >> 2] | 0; - $115 = $114 + -24 | 0; - $117 = $114; - while (1) { - $116 = $117 + -24 | 0; - HEAP32[$87 >> 2] = $116; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($116); - $117 = HEAP32[$87 >> 2] | 0; - if (($117 | 0) == ($115 | 0)) { - $$1$i9 = $first; - break L36; - } - } - } - if (((HEAP8[$112 >> 0] | 0) + -48 | 0) >>> 0 < 10) { - $121 = $first + 3 | 0; - L57 : do if (($121 | 0) == ($last | 0)) $t1$0$i$lcssa = $last; else { - $t1$0$i45 = $121; - while (1) { - if (((HEAP8[$t1$0$i45 >> 0] | 0) + -48 | 0) >>> 0 >= 10) { - $t1$0$i$lcssa = $t1$0$i45; - break L57; - } - $t1$0$i45 = $t1$0$i45 + 1 | 0; - if (($t1$0$i45 | 0) == ($last | 0)) { - $t1$0$i$lcssa = $last; - break; - } - } - } while (0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueERS7_E4typeESC_SC_((HEAP32[$87 >> 2] | 0) + -24 | 0, $112, $t1$0$i$lcssa); - $t0$0$i = $t1$0$i$lcssa; - } else $t0$0$i = $112; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc((HEAP32[$87 >> 2] | 0) + -24 | 0, 39); - if (($t0$0$i | 0) != ($last | 0)) if ((HEAP8[$t0$0$i >> 0] | 0) == 95) { - $$1$i9 = $t0$0$i + 1 | 0; - break L36; - } - $134 = HEAP32[$87 >> 2] | 0; - $135 = $134 + -24 | 0; - $137 = $134; - while (1) { - $136 = $137 + -24 | 0; - HEAP32[$87 >> 2] = $136; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($136); - $137 = HEAP32[$87 >> 2] | 0; - if (($137 | 0) == ($135 | 0)) { - $$1$i9 = $first; - break L36; - } - } - break; - } - case 108: - break; - default: - { - $$1$i9 = $first; - break L36; - } - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($3, 12939, 9); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($2, $3); - $140 = $db + 4 | 0; - $141 = HEAP32[$140 >> 2] | 0; - $143 = HEAP32[$db + 8 >> 2] | 0; - if ($141 >>> 0 < $143 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($141, $2); - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 24; - } else { - $150 = HEAP32[$db >> 2] | 0; - $151 = $141 - $150 | 0; - $152 = ($151 | 0) / 24 | 0; - $153 = $152 + 1 | 0; - if (($151 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $157 = ($143 - $150 | 0) / 24 | 0; - if ($157 >>> 0 < 1073741823) { - $159 = $157 << 1; - $$0$i$i$i18$i = $159 >>> 0 < $153 >>> 0 ? $153 : $159; - } else $$0$i$i$i18$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17$i, $$0$i$i$i18$i, $152, $db + 12 | 0); - $162 = $__v$i$i17$i + 8 | 0; - $163 = HEAP32[$162 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($163, $2); - HEAP32[$162 >> 2] = $163 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17$i); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17$i); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $165 = $first + 2 | 0; - do if ((HEAP8[$165 >> 0] | 0) == 118) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc((HEAP32[$140 >> 2] | 0) + -24 | 0, 41); - $t01$1$i = $first + 3 | 0; - } else { - $171 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($165, $last, $db) | 0; - $173 = HEAP32[$140 >> 2] | 0; - if (($171 | 0) == ($165 | 0)) { - $174 = $173 + -24 | 0; - $176 = $173; - while (1) { - $175 = $176 + -24 | 0; - HEAP32[$140 >> 2] = $175; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($175); - $176 = HEAP32[$140 >> 2] | 0; - if (($176 | 0) == ($174 | 0)) { - $$1$i9 = $first; - break L36; - } - } - } - if ((($173 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$1$i9 = $first; - break L36; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($tmp$i, $173 + -24 | 0); - $185 = HEAP32[$140 >> 2] | 0; - $186 = $185 + -24 | 0; - $188 = $185; - do { - $187 = $188 + -24 | 0; - HEAP32[$140 >> 2] = $187; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($187); - $188 = HEAP32[$140 >> 2] | 0; - } while (($188 | 0) != ($186 | 0)); - $191 = HEAP8[$tmp$i >> 0] | 0; - $193 = ($191 & 1) == 0; - $194 = $tmp$i + 8 | 0; - $196 = $tmp$i + 1 | 0; - $198 = $tmp$i + 4 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($185 + -48 | 0, $193 ? $196 : HEAP32[$194 >> 2] | 0, $193 ? ($191 & 255) >>> 1 : HEAP32[$198 >> 2] | 0) | 0; - $203 = $4 + 4 | 0; - $204 = $4 + 8 | 0; - $$pre$i$i$i$i = $191; - $t01$0$i = $171; - while (1) { - $205 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($t01$0$i, $last, $db) | 0; - $207 = HEAP32[$140 >> 2] | 0; - if (($205 | 0) == ($t01$0$i | 0)) { - $$lcssa = $207; - $t01$0$i$lcssa67 = $t01$0$i; - label = 79; - break; - } - if ((($207 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - label = 113; - break; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($4, $207 + -24 | 0); - L96 : do if (!($$pre$i$i$i$i & 1)) { - HEAP8[$196 >> 0] = 0; - HEAP8[$tmp$i >> 0] = 0; - } else { - $217 = HEAP32[$194 >> 2] | 0; - HEAP8[$217 >> 0] = 0; - HEAP32[$198 >> 2] = 0; - $218 = HEAP32[$tmp$i >> 2] | 0; - $phitmp$i$i$i$i$i$i$i = ($218 & -2) + -1 | 0; - $220 = $218 & 255; - do if (!($220 & 1)) { - $224 = $218 >>> 1 & 127; - if (($220 & 255) < 22) { - _memcpy($196 | 0, $217 | 0, ($218 >>> 1 & 127) + 1 | 0) | 0; - _free($217); - $$ph26 = $224; - break; - } - $227 = $224 + 16 & 240; - $phitmp$i2$i$i$i$i$i$i = $227 + -1 | 0; - if (($phitmp$i2$i$i$i$i$i$i | 0) == ($phitmp$i$i$i$i$i$i$i | 0)) break L96; - $230 = _malloc($227) | 0; - if ($phitmp$i2$i$i$i$i$i$i >>> 0 <= $phitmp$i$i$i$i$i$i$i >>> 0 & ($230 | 0) == 0) break L96; - _memcpy($230 | 0, $196 | 0, ($218 >>> 1 & 127) + 1 | 0) | 0; - HEAP32[$tmp$i >> 2] = $227 | 1; - HEAP32[$198 >> 2] = $224; - HEAP32[$194 >> 2] = $230; - break L96; - } else { - HEAP8[$196 >> 0] = 0; - _free($217); - $$ph26 = 0; - } while (0); - HEAP8[$tmp$i >> 0] = $$ph26 << 1; - } while (0); - HEAP32[$tmp$i >> 2] = HEAP32[$4 >> 2]; - HEAP32[$tmp$i + 4 >> 2] = HEAP32[$4 + 4 >> 2]; - HEAP32[$tmp$i + 8 >> 2] = HEAP32[$4 + 8 >> 2]; - HEAP32[$4 >> 2] = 0; - HEAP32[$203 >> 2] = 0; - HEAP32[$204 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - $241 = HEAP32[$140 >> 2] | 0; - $242 = $241 + -24 | 0; - $244 = $241; - do { - $243 = $244 + -24 | 0; - HEAP32[$140 >> 2] = $243; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($243); - $244 = HEAP32[$140 >> 2] | 0; - } while (($244 | 0) != ($242 | 0)); - $246 = HEAP8[$tmp$i >> 0] | 0; - $248 = ($246 & 1) == 0; - $252 = $248 ? ($246 & 255) >>> 1 : HEAP32[$198 >> 2] | 0; - if (!$252) { - $$pre$i$i$i$i = $246; - $t01$0$i = $205; - continue; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($241 + -48 | 0, 12716) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$140 >> 2] | 0) + -24 | 0, $248 ? $196 : HEAP32[$194 >> 2] | 0, $252) | 0; - $$pre$i$i$i$i = $246; - $t01$0$i = $205; - } - if ((label | 0) == 79) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($$lcssa + -24 | 0, 12619) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp$i); - $t01$1$i = $t01$0$i$lcssa67; - break; - } else if ((label | 0) == 113) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($tmp$i); - $$1$i9 = $first; - break L36; - } - } while (0); - if (($t01$1$i | 0) != ($last | 0)) if ((HEAP8[$t01$1$i >> 0] | 0) == 69) { - $268 = $t01$1$i + 1 | 0; - if (($268 | 0) == ($last | 0)) { - $270 = HEAP32[$140 >> 2] | 0; - $271 = $270 + -24 | 0; - $273 = $270; - while (1) { - $272 = $273 + -24 | 0; - HEAP32[$140 >> 2] = $272; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($272); - $273 = HEAP32[$140 >> 2] | 0; - if (($273 | 0) == ($271 | 0)) { - $$1$i9 = $first; - break L36; - } - } - } - if (((HEAP8[$268 >> 0] | 0) + -48 | 0) >>> 0 < 10) { - $277 = $t01$1$i + 2 | 0; - L127 : do if (($277 | 0) == ($last | 0)) $t13$0$i$lcssa = $last; else { - $t13$0$i51 = $277; - while (1) { - if (((HEAP8[$t13$0$i51 >> 0] | 0) + -48 | 0) >>> 0 >= 10) { - $t13$0$i$lcssa = $t13$0$i51; - break L127; - } - $t13$0$i51 = $t13$0$i51 + 1 | 0; - if (($t13$0$i51 | 0) == ($last | 0)) { - $t13$0$i$lcssa = $last; - break; - } - } - } while (0); - $283 = HEAP32[$140 >> 2] | 0; - $284 = $283 + -24 | 0; - $285 = HEAP8[$284 >> 0] | 0; - if (!($285 & 1)) { - $300 = 10; - $301 = ($285 & 255) >>> 1; - $304 = $285; - } else { - $292 = HEAP32[$284 >> 2] | 0; - $300 = ($292 & -2) + -1 | 0; - $301 = HEAP32[$283 + -20 >> 2] | 0; - $304 = $292 & 255; - } - $297 = $t13$0$i$lcssa - $268 | 0; - if (($t13$0$i$lcssa | 0) == ($268 | 0)) $t01$2$i = $268; else { - if (($300 - $301 | 0) >>> 0 < $297 >>> 0) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEjjjjjj($284, $300, $301 + $297 - $300 | 0, $301, 7, $297); - $__p$0$i$i = HEAP32[$283 + -16 >> 2] | 0; - } else { - if (!($304 & 1)) $312 = $284 + 1 | 0; else $312 = HEAP32[$283 + -16 >> 2] | 0; - if (($301 | 0) == 7) $__p$0$i$i = $312; else { - _memmove($312 + ($297 + 7) | 0, $312 + 7 | 0, $301 + -7 | 0) | 0; - $__p$0$i$i = $312; - } - } - $318 = $301 + $297 | 0; - if (!(HEAP8[$284 >> 0] & 1)) HEAP8[$284 >> 0] = $318 << 1; else HEAP32[$283 + -20 >> 2] = $318; - HEAP8[$__p$0$i$i + $318 >> 0] = 0; - if (($268 | 0) == ($t13$0$i$lcssa | 0)) $t01$2$i = $t13$0$i$lcssa; else { - $$0$i$i49 = $268; - $__p$1$i$i48 = $__p$0$i$i + 7 | 0; - while (1) { - HEAP8[$__p$1$i$i48 >> 0] = HEAP8[$$0$i$i49 >> 0] | 0; - $$0$i$i49 = $$0$i$i49 + 1 | 0; - if (($$0$i$i49 | 0) == ($t13$0$i$lcssa | 0)) { - $t01$2$i = $t13$0$i$lcssa; - break; - } else $__p$1$i$i48 = $__p$1$i$i48 + 1 | 0; - } - } - } - } else $t01$2$i = $268; - if (($t01$2$i | 0) != ($last | 0)) if ((HEAP8[$t01$2$i >> 0] | 0) == 95) { - $$1$i9 = $t01$2$i + 1 | 0; - break; - } - $335 = HEAP32[$140 >> 2] | 0; - $336 = $335 + -24 | 0; - $338 = $335; - while (1) { - $337 = $338 + -24 | 0; - HEAP32[$140 >> 2] = $337; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($337); - $338 = HEAP32[$140 >> 2] | 0; - if (($338 | 0) == ($336 | 0)) { - $$1$i9 = $first; - break L36; - } - } - } - $263 = HEAP32[$140 >> 2] | 0; - $264 = $263 + -24 | 0; - $266 = $263; - do { - $265 = $266 + -24 | 0; - HEAP32[$140 >> 2] = $265; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($265); - $266 = HEAP32[$140 >> 2] | 0; - } while (($266 | 0) != ($264 | 0)); - $$1$i9 = $first; - } else $$1$i9 = $first; while (0); - $$0 = $$1$i9; - break L1; - break; - } - case 57: - case 56: - case 55: - case 54: - case 53: - case 52: - case 51: - case 50: - case 49: - { - $341 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - STACKTOP = sp; - return $341 | 0; - } - default: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _PCA($input, $output, $ev) { - $input = $input | 0; - $output = $output | 0; - $ev = $ev | 0; - var $$0 = 0, $0 = 0, $1 = 0, $102 = 0.0, $11 = 0, $112 = 0, $113 = 0, $114 = 0, $117 = 0, $118 = 0, $120 = 0, $121 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $128 = 0.0, $138 = 0.0, $14 = 0, $143 = 0.0, $147 = 0.0, $150 = 0.0, $154 = 0.0, $156 = 0, $157 = 0.0, $159 = 0, $160 = 0.0, $161 = 0.0, $164 = 0, $168 = 0.0, $17 = 0, $172 = 0, $179 = 0.0, $18 = 0, $184 = 0, $185 = 0, $186 = 0, $188 = 0, $189 = 0.0, $191 = 0, $192 = 0.0, $2 = 0, $202 = 0.0, $204 = 0, $205 = 0.0, $21 = 0, $210 = 0.0, $212 = 0.0, $219 = 0, $220 = 0.0, $223 = 0.0, $224 = 0, $232 = 0.0, $237 = 0, $238 = 0, $24 = 0, $25 = 0, $251 = 0, $253 = 0, $256 = 0, $257 = 0, $259 = 0.0, $26 = 0, $263 = 0.0, $264 = 0, $272 = 0.0, $279 = 0, $28 = 0, $287 = 0, $289 = 0, $292 = 0, $295 = 0, $296 = 0, $3 = 0, $30 = 0, $304 = 0, $31 = 0, $35 = 0, $37 = 0, $47 = 0.0, $5 = 0, $55 = 0, $57 = 0, $61 = 0, $63 = 0, $70 = 0.0, $8 = 0, $82 = 0, $84 = 0, $90 = 0, $92 = 0, $93 = 0, $97 = 0.0, $98 = 0, $99 = 0, $c$0$i = 0.0, $ev1$i = 0, $exitcond$i133 = 0, $exitcond$i14148 = 0, $exitcond$i28106 = 0, $exitcond$i651 = 0, $exitcond3$i59 = 0, $exitcond6$i115 = 0, $exitcond82 = 0, $h$0$i127 = 0, $h$1$i$lcssa = 0, $h$1$i100 = 0, $h$2$i = 0, $i$0$i11155 = 0, $i$0$i141 = 0, $i$0$i2$lcssa = 0, $i$0$i25116 = 0, $i$0$i266 = 0, $i$0$lcssa = 0, $i$090 = 0, $i$1$i2799 = 0, $i$1$i49 = 0, $i$180 = 0, $i$2$i109 = 0, $in1$0$i129 = 0, $in1$0$i17144 = 0, $in2$0$i128 = 0, $in2$0$i16143 = 0, $iter$0$i = 0, $j$0$i13152 = 0, $j$0$i137 = 0, $j$0$i23 = 0, $j$0$i23$lcssa = 0, $j$0$i461 = 0, $j$085 = 0, $j$1$i47 = 0, $j$175 = 0, $k$0$i130 = 0, $k$0$i18145 = 0, $k$0$i24124 = 0, $k$0$i555 = 0, $k$1$i113 = 0, $m$0$i$lcssa = 0, $m$0$i65 = 0, $m$1$i60 = 0, $m$2$i48 = 0, $m$3$i46 = 0, $m1$0$i54 = 0, $m1$089 = 0, $m1$184 = 0, $m2$0$i52 = 0, $m2$0$lcssa = 0, $m2$088 = 0, $m2$183 = 0, $m2$279 = 0, $m2$374 = 0, $out$0$i10154 = 0, $out$0$i140 = 0, $out$1$i12149 = 0, $out$1$i134 = 0, $s$1$i = 0.0, $scevgep2$i = 0, $scevgep41 = 0, $smax$i = 0, $smax38 = 0, $sum$0$i$lcssa = 0.0, $sum$0$i53 = 0.0, $t$0$i$lcssa = 0.0, $t$0$i98 = 0.0, $t$1$i = 0.0, $v1$0$i107 = 0, $v2$0$i108 = 0, $x$0$i$be = 0.0, $x$0$i122 = 0.0, $x$1$i$lcssa = 0.0, $y$0$i$be = 0.0, $y$0$i123 = 0.0, $y$1$i$lcssa = 0.0, sp = 0, $k$0$i24124$looptemp = 0, $h$0$i127$looptemp = 0, $k$1$i113$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ev1$i = sp; - $0 = $input + 4 | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = $input + 8 | 0; - $3 = HEAP32[$2 >> 2] | 0; - $5 = ($3 | 0) < ($1 | 0) ? $3 : $1; - L1 : do if (($1 | 0) < 2 | ($3 | 0) < 2) $$0 = -1; else { - $8 = $output + 8 | 0; - if ((HEAP32[$8 >> 2] | 0) == ($3 | 0)) { - $11 = $output + 4 | 0; - if ((HEAP32[$11 >> 2] | 0) == ($5 | 0)) { - $14 = $ev + 4 | 0; - if ((HEAP32[$14 >> 2] | 0) == ($5 | 0)) { - $17 = _arMatrixAlloc($5, $5) | 0; - $18 = $17 + 4 | 0; - if ((HEAP32[$18 >> 2] | 0) == ($5 | 0)) { - $21 = $17 + 8 | 0; - if ((HEAP32[$21 >> 2] | 0) == ($5 | 0)) { - $24 = ($1 | 0) < ($3 | 0); - $25 = HEAP32[$0 >> 2] | 0; - $26 = HEAP32[$2 >> 2] | 0; - if ($24) { - if (($5 | 0) != ($25 | 0)) { - _arMatrixFree($17) | 0; - $$0 = -1; - break; - } - $28 = HEAP32[$17 >> 2] | 0; - if (($5 | 0) > 0) { - $exitcond$i133 = ($5 | 0) == 0; - $30 = ($26 | 0) > 0; - $i$0$i141 = 0; - $out$0$i140 = $28; - while (1) { - $31 = Math_imul($i$0$i141, $26) | 0; - if (!$exitcond$i133) { - $j$0$i137 = 0; - $out$1$i134 = $out$0$i140; - while (1) { - if (($j$0$i137 | 0) < ($i$0$i141 | 0)) { - $35 = $28 + ((Math_imul($j$0$i137, $5) | 0) + $i$0$i141 << 3) | 0; - HEAPF64[$out$1$i134 >> 3] = +HEAPF64[$35 >> 3]; - } else { - $37 = HEAP32[$input >> 2] | 0; - HEAPF64[$out$1$i134 >> 3] = 0.0; - if ($30) { - $47 = 0.0; - $in1$0$i129 = $37 + ($31 << 3) | 0; - $in2$0$i128 = $37 + ((Math_imul($j$0$i137, $26) | 0) << 3) | 0; - $k$0$i130 = 0; - while (1) { - $47 = $47 + +HEAPF64[$in1$0$i129 >> 3] * +HEAPF64[$in2$0$i128 >> 3]; - HEAPF64[$out$1$i134 >> 3] = $47; - $k$0$i130 = $k$0$i130 + 1 | 0; - if (($k$0$i130 | 0) >= ($26 | 0)) break; else { - $in1$0$i129 = $in1$0$i129 + 8 | 0; - $in2$0$i128 = $in2$0$i128 + 8 | 0; - } - } - } - } - $j$0$i137 = $j$0$i137 + 1 | 0; - if (($j$0$i137 | 0) == ($5 | 0)) break; else $out$1$i134 = $out$1$i134 + 8 | 0; - } - } - $i$0$i141 = $i$0$i141 + 1 | 0; - if (($i$0$i141 | 0) >= ($5 | 0)) break; else $out$0$i140 = $out$0$i140 + ($5 << 3) | 0; - } - } - } else { - if (($5 | 0) != ($26 | 0)) { - _arMatrixFree($17) | 0; - $$0 = -1; - break; - } - $55 = HEAP32[$17 >> 2] | 0; - if (($5 | 0) > 0) { - $exitcond$i14148 = ($5 | 0) == 0; - $57 = ($25 | 0) > 0; - $i$0$i11155 = 0; - $out$0$i10154 = $55; - while (1) { - if (!$exitcond$i14148) { - $j$0$i13152 = 0; - $out$1$i12149 = $out$0$i10154; - while (1) { - if (($j$0$i13152 | 0) < ($i$0$i11155 | 0)) { - $61 = $55 + ((Math_imul($j$0$i13152, $5) | 0) + $i$0$i11155 << 3) | 0; - HEAPF64[$out$1$i12149 >> 3] = +HEAPF64[$61 >> 3]; - } else { - $63 = HEAP32[$input >> 2] | 0; - HEAPF64[$out$1$i12149 >> 3] = 0.0; - if ($57) { - $70 = 0.0; - $in1$0$i17144 = $63 + ($i$0$i11155 << 3) | 0; - $in2$0$i16143 = $63 + ($j$0$i13152 << 3) | 0; - $k$0$i18145 = 0; - while (1) { - $70 = $70 + +HEAPF64[$in1$0$i17144 >> 3] * +HEAPF64[$in2$0$i16143 >> 3]; - HEAPF64[$out$1$i12149 >> 3] = $70; - $k$0$i18145 = $k$0$i18145 + 1 | 0; - if (($k$0$i18145 | 0) >= ($25 | 0)) break; else { - $in1$0$i17144 = $in1$0$i17144 + ($5 << 3) | 0; - $in2$0$i16143 = $in2$0$i16143 + ($5 << 3) | 0; - } - } - } - } - $j$0$i13152 = $j$0$i13152 + 1 | 0; - if (($j$0$i13152 | 0) == ($5 | 0)) break; else $out$1$i12149 = $out$1$i12149 + 8 | 0; - } - } - $i$0$i11155 = $i$0$i11155 + 1 | 0; - if (($i$0$i11155 | 0) >= ($5 | 0)) break; else $out$0$i10154 = $out$0$i10154 + ($5 << 3) | 0; - } - } - } - do if (($5 | 0) >= 2) if ((HEAP32[$14 >> 2] | 0) == ($5 | 0)) { - $82 = _arVecAlloc($5) | 0; - if ($82) { - $84 = $5 + -1 | 0; - HEAP32[$ev1$i + 4 >> 2] = $84; - HEAP32[$ev1$i >> 2] = (HEAP32[$82 >> 2] | 0) + 8; - if ((_arVecTridiagonalize($17, $ev, $ev1$i) | 0) < 0) { - _arVecFree($82) | 0; - break; - } - $90 = HEAP32[$82 >> 2] | 0; - HEAPF64[$90 >> 3] = 0.0; - if (($84 | 0) > 0) { - $exitcond6$i115 = ($5 | 0) == 0; - $h$0$i127 = $84; - do { - $j$0$i23 = $h$0$i127; - while (1) { - if (($j$0$i23 | 0) <= 0) { - $j$0$i23$lcssa = $j$0$i23; - break; - } - $97 = +Math_abs(+(+HEAPF64[$90 + ($j$0$i23 << 3) >> 3])); - $98 = $j$0$i23 + -1 | 0; - $99 = HEAP32[$ev >> 2] | 0; - $102 = +Math_abs(+(+HEAPF64[$99 + ($98 << 3) >> 3])); - if ($97 > ($102 + +Math_abs(+(+HEAPF64[$99 + ($j$0$i23 << 3) >> 3]))) * 1.0e-06) $j$0$i23 = $98; else { - $j$0$i23$lcssa = $j$0$i23; - break; - } - } - $h$0$i127$looptemp = $h$0$i127; - $h$0$i127 = $h$0$i127 + -1 | 0; - L62 : do if (($j$0$i23$lcssa | 0) != ($h$0$i127$looptemp | 0)) { - $112 = $90 + ($h$0$i127$looptemp << 3) | 0; - $113 = $90 + ($j$0$i23$lcssa + 1 << 3) | 0; - $114 = ($j$0$i23$lcssa | 0) < ($h$0$i127$looptemp | 0); - $iter$0$i = 0; - do { - if (($iter$0$i | 0) > 99) break L62; - $iter$0$i = $iter$0$i + 1 | 0; - $117 = HEAP32[$ev >> 2] | 0; - $118 = $117 + ($h$0$i127 << 3) | 0; - $120 = $117 + ($h$0$i127$looptemp << 3) | 0; - $121 = +HEAPF64[$120 >> 3]; - $123 = (+HEAPF64[$118 >> 3] - $121) * .5; - $124 = +HEAPF64[$112 >> 3]; - $125 = $124 * $124; - $128 = +Math_sqrt(+($125 + $123 * $123)); - if ($114) { - $k$0$i24124 = $j$0$i23$lcssa; - $x$0$i122 = +HEAPF64[$117 + ($j$0$i23$lcssa << 3) >> 3] - $121 + $125 / ($123 + ($123 < 0.0 ? -$128 : $128)); - $y$0$i123 = +HEAPF64[$113 >> 3]; - while (1) { - $138 = +Math_abs(+$x$0$i122); - do if (!($138 >= +Math_abs(+$y$0$i123))) { - $150 = -$x$0$i122 / $y$0$i123; - $154 = 1.0 / +Math_sqrt(+($150 * $150 + 1.0)); - $c$0$i = $150 * $154; - $s$1$i = $154; - } else { - if (!($138 > 1.0e-16)) { - $c$0$i = 1.0; - $s$1$i = 0.0; - break; - } - $143 = -$y$0$i123 / $x$0$i122; - $147 = 1.0 / +Math_sqrt(+($143 * $143 + 1.0)); - $c$0$i = $147; - $s$1$i = $143 * $147; - } while (0); - $156 = $117 + ($k$0$i24124 << 3) | 0; - $157 = +HEAPF64[$156 >> 3]; - $k$0$i24124$looptemp = $k$0$i24124; - $k$0$i24124 = $k$0$i24124 + 1 | 0; - $159 = $117 + ($k$0$i24124 << 3) | 0; - $160 = +HEAPF64[$159 >> 3]; - $161 = $157 - $160; - $164 = $90 + ($k$0$i24124 << 3) | 0; - $168 = $s$1$i * ($s$1$i * $161 + $c$0$i * 2.0 * +HEAPF64[$164 >> 3]); - HEAPF64[$156 >> 3] = $157 - $168; - HEAPF64[$159 >> 3] = $160 + $168; - if (($k$0$i24124$looptemp | 0) > ($j$0$i23$lcssa | 0)) { - $172 = $90 + ($k$0$i24124$looptemp << 3) | 0; - HEAPF64[$172 >> 3] = $c$0$i * +HEAPF64[$172 >> 3] - $y$0$i123 * $s$1$i; - } - $179 = +HEAPF64[$164 >> 3]; - HEAPF64[$164 >> 3] = $179 + $s$1$i * ($c$0$i * $161 - $s$1$i * 2.0 * $179); - $184 = Math_imul($k$0$i24124$looptemp, $5) | 0; - $185 = Math_imul($k$0$i24124, $5) | 0; - if ($exitcond6$i115) { - $x$1$i$lcssa = $x$0$i122; - $y$1$i$lcssa = $y$0$i123; - } else { - $186 = HEAP32[$17 >> 2] | 0; - $i$0$i25116 = 0; - do { - $188 = $186 + ($i$0$i25116 + $184 << 3) | 0; - $189 = +HEAPF64[$188 >> 3]; - $191 = $186 + ($i$0$i25116 + $185 << 3) | 0; - $192 = +HEAPF64[$191 >> 3]; - HEAPF64[$188 >> 3] = $c$0$i * $189 - $s$1$i * $192; - HEAPF64[$191 >> 3] = $s$1$i * $189 + $c$0$i * $192; - $i$0$i25116 = $i$0$i25116 + 1 | 0; - } while (($i$0$i25116 | 0) != ($5 | 0)); - $x$1$i$lcssa = $189; - $y$1$i$lcssa = $192; - } - if (($k$0$i24124$looptemp | 0) < ($h$0$i127 | 0)) { - $202 = +HEAPF64[$164 >> 3]; - $204 = $90 + ($k$0$i24124$looptemp + 2 << 3) | 0; - $205 = +HEAPF64[$204 >> 3]; - HEAPF64[$204 >> 3] = $c$0$i * $205; - $x$0$i$be = $202; - $y$0$i$be = -($s$1$i * $205); - } else { - $x$0$i$be = $x$1$i$lcssa; - $y$0$i$be = $y$1$i$lcssa; - } - if (($k$0$i24124 | 0) >= ($h$0$i127$looptemp | 0)) break; else { - $x$0$i122 = $x$0$i$be; - $y$0$i123 = $y$0$i$be; - } - } - } - $210 = +Math_abs(+(+HEAPF64[$112 >> 3])); - $212 = +Math_abs(+(+HEAPF64[$118 >> 3])); - } while ($210 > ($212 + +Math_abs(+(+HEAPF64[$120 >> 3]))) * 1.0e-06); - } while (0); - } while (($h$0$i127$looptemp | 0) > 1); - } - if ($84) { - $92 = HEAP32[$ev >> 2] | 0; - $93 = HEAP32[$17 >> 2] | 0; - $exitcond$i28106 = ($5 | 0) == 0; - $k$1$i113 = 0; - do { - $219 = $92 + ($k$1$i113 << 3) | 0; - $220 = +HEAPF64[$219 >> 3]; - $k$1$i113$looptemp = $k$1$i113; - $k$1$i113 = $k$1$i113 + 1 | 0; - if (($k$1$i113 | 0) < ($5 | 0)) { - $h$1$i100 = $k$1$i113$looptemp; - $i$1$i2799 = $k$1$i113; - $t$0$i98 = $220; - while (1) { - $223 = +HEAPF64[$92 + ($i$1$i2799 << 3) >> 3]; - $224 = $223 > $t$0$i98; - $t$1$i = $224 ? $223 : $t$0$i98; - $h$2$i = $224 ? $i$1$i2799 : $h$1$i100; - $i$1$i2799 = $i$1$i2799 + 1 | 0; - if (($i$1$i2799 | 0) >= ($5 | 0)) { - $h$1$i$lcssa = $h$2$i; - $t$0$i$lcssa = $t$1$i; - break; - } else { - $h$1$i100 = $h$2$i; - $t$0$i98 = $t$1$i; - } - } - } else { - $h$1$i$lcssa = $k$1$i113$looptemp; - $t$0$i$lcssa = $220; - } - HEAPF64[$92 + ($h$1$i$lcssa << 3) >> 3] = $220; - HEAPF64[$219 >> 3] = $t$0$i$lcssa; - if (!$exitcond$i28106) { - $i$2$i109 = 0; - $v1$0$i107 = $93 + ((Math_imul($h$1$i$lcssa, $5) | 0) << 3) | 0; - $v2$0$i108 = $93 + ((Math_imul($k$1$i113$looptemp, $5) | 0) << 3) | 0; - while (1) { - $232 = +HEAPF64[$v1$0$i107 >> 3]; - HEAPF64[$v1$0$i107 >> 3] = +HEAPF64[$v2$0$i108 >> 3]; - HEAPF64[$v2$0$i108 >> 3] = $232; - $i$2$i109 = $i$2$i109 + 1 | 0; - if (($i$2$i109 | 0) == ($5 | 0)) break; else { - $v1$0$i107 = $v1$0$i107 + 8 | 0; - $v2$0$i108 = $v2$0$i108 + 8 | 0; - } - } - } - } while (($k$1$i113 | 0) != ($84 | 0)); - } - _arVecFree($82) | 0; - L104 : do if ($24) { - $237 = HEAP32[$0 >> 2] | 0; - $238 = HEAP32[$2 >> 2] | 0; - do if (!(($237 | 0) < 1 | ($238 | 0) < 1)) { - if ((HEAP32[$18 >> 2] | 0) != ($237 | 0)) break; - if ((HEAP32[$21 >> 2] | 0) != ($237 | 0)) break; - if ((HEAP32[$11 >> 2] | 0) != ($237 | 0)) break; - if ((HEAP32[$8 >> 2] | 0) != ($238 | 0)) break; - if ((HEAP32[$14 >> 2] | 0) != ($237 | 0)) break; - $251 = HEAP32[$output >> 2] | 0; - L113 : do if (($237 | 0) > 0) { - $253 = HEAP32[$ev >> 2] | 0; - $exitcond3$i59 = ($238 | 0) == 0; - $exitcond$i651 = ($237 | 0) == 0; - $i$0$i266 = 0; - $m$0$i65 = $251; - while (1) { - $259 = +HEAPF64[$253 + ($i$0$i266 << 3) >> 3]; - if ($259 < 1.0e-16) { - $i$0$i2$lcssa = $i$0$i266; - $m$0$i$lcssa = $m$0$i65; - break L113; - } - $263 = 1.0 / +Math_sqrt(+(+Math_abs(+$259))); - $264 = Math_imul($i$0$i266, $237) | 0; - if (!$exitcond3$i59) { - $j$0$i461 = 0; - $m$1$i60 = $m$0$i65; - while (1) { - if ($exitcond$i651) $sum$0$i$lcssa = 0.0; else { - $k$0$i555 = 0; - $m1$0$i54 = (HEAP32[$17 >> 2] | 0) + ($264 << 3) | 0; - $m2$0$i52 = (HEAP32[$input >> 2] | 0) + ($j$0$i461 << 3) | 0; - $sum$0$i53 = 0.0; - while (1) { - $272 = $sum$0$i53 + +HEAPF64[$m1$0$i54 >> 3] * +HEAPF64[$m2$0$i52 >> 3]; - $k$0$i555 = $k$0$i555 + 1 | 0; - if (($k$0$i555 | 0) == ($237 | 0)) { - $sum$0$i$lcssa = $272; - break; - } else { - $m1$0$i54 = $m1$0$i54 + 8 | 0; - $m2$0$i52 = $m2$0$i52 + ($238 << 3) | 0; - $sum$0$i53 = $272; - } - } - } - HEAPF64[$m$1$i60 >> 3] = $263 * $sum$0$i$lcssa; - $j$0$i461 = $j$0$i461 + 1 | 0; - if (($j$0$i461 | 0) == ($238 | 0)) break; else $m$1$i60 = $m$1$i60 + 8 | 0; - } - } - $scevgep2$i = $m$0$i65 + ($238 << 3) | 0; - $279 = $i$0$i266 + 1 | 0; - if (($279 | 0) < ($237 | 0)) { - $i$0$i266 = $279; - $m$0$i65 = $scevgep2$i; - } else { - $i$0$i2$lcssa = $279; - $m$0$i$lcssa = $scevgep2$i; - break; - } - } - } else { - $i$0$i2$lcssa = 0; - $m$0$i$lcssa = $251; - } while (0); - $smax$i = ($238 | 0) > 0 ? $238 : 0; - if (($i$0$i2$lcssa | 0) >= ($237 | 0)) break L104; - $256 = HEAP32[$ev >> 2] | 0; - $257 = ($238 | 0) > 0; - $i$1$i49 = $i$0$i2$lcssa; - $m$2$i48 = $m$0$i$lcssa; - while (1) { - HEAPF64[$256 + ($i$1$i49 << 3) >> 3] = 0.0; - if ($257) { - $j$1$i47 = 0; - $m$3$i46 = $m$2$i48; - while (1) { - HEAPF64[$m$3$i46 >> 3] = 0.0; - $j$1$i47 = $j$1$i47 + 1 | 0; - if (($j$1$i47 | 0) >= ($238 | 0)) break; else $m$3$i46 = $m$3$i46 + 8 | 0; - } - } - $i$1$i49 = $i$1$i49 + 1 | 0; - if (($i$1$i49 | 0) >= ($237 | 0)) break L104; else $m$2$i48 = $m$2$i48 + ($smax$i << 3) | 0; - } - } while (0); - _arMatrixFree($17) | 0; - $$0 = -1; - break L1; - } else { - $287 = HEAP32[$output >> 2] | 0; - $289 = ($1 | 0) > ($3 | 0) ? $3 : $1; - L137 : do if (($5 | 0) > 0) { - $292 = HEAP32[$ev >> 2] | 0; - $exitcond82 = ($289 | 0) == 0; - $i$090 = 0; - $m1$089 = HEAP32[$17 >> 2] | 0; - $m2$088 = $287; - while (1) { - if (+HEAPF64[$292 + ($i$090 << 3) >> 3] < 1.0e-16) { - $i$0$lcssa = $i$090; - $m2$0$lcssa = $m2$088; - break L137; - } - if (!$exitcond82) { - $j$085 = 0; - $m1$184 = $m1$089; - $m2$183 = $m2$088; - while (1) { - HEAPF64[$m2$183 >> 3] = +HEAPF64[$m1$184 >> 3]; - $j$085 = $j$085 + 1 | 0; - if (($j$085 | 0) == ($289 | 0)) break; else { - $m1$184 = $m1$184 + 8 | 0; - $m2$183 = $m2$183 + 8 | 0; - } - } - } - $m1$089 = $m1$089 + ($289 << 3) | 0; - $scevgep41 = $m2$088 + ($289 << 3) | 0; - $304 = $i$090 + 1 | 0; - if (($304 | 0) >= ($5 | 0)) { - $i$0$lcssa = $304; - $m2$0$lcssa = $scevgep41; - break; - } else { - $i$090 = $304; - $m2$088 = $scevgep41; - } - } - } else { - $i$0$lcssa = 0; - $m2$0$lcssa = $287; - } while (0); - $smax38 = ($289 | 0) > 0 ? $289 : 0; - if (($i$0$lcssa | 0) < ($5 | 0)) { - $295 = HEAP32[$ev >> 2] | 0; - $296 = ($5 | 0) > 0; - $i$180 = $i$0$lcssa; - $m2$279 = $m2$0$lcssa; - while (1) { - HEAPF64[$295 + ($i$180 << 3) >> 3] = 0.0; - if ($296) { - $j$175 = 0; - $m2$374 = $m2$279; - while (1) { - HEAPF64[$m2$374 >> 3] = 0.0; - $j$175 = $j$175 + 1 | 0; - if (($j$175 | 0) >= ($5 | 0)) break; else $m2$374 = $m2$374 + 8 | 0; - } - } - $i$180 = $i$180 + 1 | 0; - if (($i$180 | 0) >= ($5 | 0)) break; else $m2$279 = $m2$279 + ($smax38 << 3) | 0; - } - } - } while (0); - _arMatrixFree($17) | 0; - $$0 = 0; - break L1; - } - } while (0); - _arMatrixFree($17) | 0; - $$0 = -1; - break; - } - } - _arMatrixFree($17) | 0; - $$0 = -1; - } else $$0 = -1; - } else $$0 = -1; - } else $$0 = -1; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arDetectMarker($arHandle, $dataPtr) { - $arHandle = $arHandle | 0; - $dataPtr = $dataPtr | 0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa109 = 0.0, $$lcssa110 = 0.0, $$pr10 = 0, $$pre$phi45Z2D = 0, $$pre$phi47Z2D = 0, $$pre$phi49Z2D = 0, $$pre$phi51Z2D = 0, $$pre$phi53Z2D = 0, $$pre$phiZ2D = 0, $$pre35 = 0, $$pre37 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $102 = 0, $104 = 0, $106 = 0, $115 = 0, $118 = 0, $12 = 0, $120 = 0, $121 = 0, $126 = 0, $132 = 0, $135 = 0, $14 = 0, $144 = 0, $146 = 0, $155 = 0, $157 = 0, $16 = 0, $163 = 0, $164 = 0, $187 = 0, $190 = 0, $191 = 0, $193 = 0, $195 = 0, $196 = 0, $199 = 0.0, $2 = 0, $20 = 0, $202 = 0.0, $203 = 0.0, $209 = 0.0, $21 = 0, $214 = 0.0, $217 = 0.0, $22 = 0, $222 = 0, $223 = 0, $226 = 0.0, $229 = 0, $23 = 0, $231 = 0, $235 = 0, $238 = 0.0, $24 = 0, $244 = 0.0, $247 = 0.0, $25 = 0, $26 = 0, $262 = 0, $265 = 0.0, $267 = 0, $269 = 0, $27 = 0, $28 = 0, $282 = 0, $285 = 0.0, $29 = 0, $291 = 0.0, $294 = 0.0, $296 = 0, $30 = 0, $300 = 0, $31 = 0, $313 = 0, $314 = 0, $316 = 0, $32 = 0, $324 = 0, $326 = 0, $328 = 0, $33 = 0, $330 = 0, $335 = 0, $343 = 0, $350 = 0, $351 = 0, $353 = 0, $355 = 0.0, $358 = 0.0, $359 = 0.0, $365 = 0.0, $370 = 0.0, $375 = 0, $381 = 0, $385 = 0, $386 = 0, $387 = 0, $4 = 0, $5 = 0, $69 = 0, $71 = 0, $72 = 0, $74 = 0, $75 = 0, $77 = 0, $78 = 0, $8 = 0, $80 = 0, $83 = 0, $86 = 0, $89 = 0, $9 = 0, $91 = 0, $92 = 0, $cdir$1 = 0, $cdir$1$lcssa = 0, $cdir$295 = 0, $cdir$3 = 0, $cdir$3$lcssa = 0, $cid$0$lcssa = 0, $cid$087 = 0, $cid$1 = 0, $diff$097 = 0.0, $diff$192 = 0.0, $diffmin$099 = 0.0, $diffmin$1 = 0.0, $diffmin$294 = 0.0, $i$0104 = 0, $i$1101 = 0, $i$280 = 0, $i$373 = 0, $i$467 = 0, $j$088 = 0, $j$1100 = 0, $j$296 = 0, $j$3$lcssa = 0, $j$381 = 0, $j$4 = 0, $j$5$lcssa = 0, $j$568 = 0, $j$6$lcssa = 0, $j$663 = 0, $k$098 = 0, $k$193 = 0, $marker_nums = 0, $ret1$0 = 0, $rlenmin$086 = 0.0, $rlenmin$1 = 0.0, $storemerge = 0, $storemerge11 = 0, $storemerge4 = 0, $thresholds = 0, $value = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer9 = sp + 32 | 0; - $vararg_buffer6 = sp + 24 | 0; - $vararg_buffer = sp; - $thresholds = sp + 52 | 0; - $marker_nums = sp + 40 | 0; - $value = sp + 64 | 0; - $0 = $arHandle + 44 | 0; - HEAP32[$0 >> 2] = 0; - $1 = $arHandle + 7062388 | 0; - $2 = HEAP32[$1 >> 2] | 0; - L1 : do if (($2 | 0) == 4) { - $4 = $arHandle + 7062396 | 0; - $5 = HEAP32[$4 >> 2] | 0; - do if (($5 | 0) > 0) { - $$pr10 = 4; - $storemerge11 = $5 + -1 | 0; - } else { - $8 = $arHandle + 16 | 0; - $9 = HEAP32[$8 >> 2] | 0; - $10 = $arHandle + 7062400 | 0; - $12 = (HEAP32[$10 >> 2] | 0) + $9 | 0; - $$ = ($12 | 0) > 255 ? 255 : $12; - HEAP32[$thresholds >> 2] = $$; - $14 = $arHandle + 7062404 | 0; - $16 = $9 - (HEAP32[$14 >> 2] | 0) | 0; - $storemerge4 = ($16 | 0) < 0 ? 0 : $16; - HEAP32[$thresholds + 4 >> 2] = $storemerge4; - HEAP32[$thresholds + 8 >> 2] = $9; - $20 = $arHandle + 36 | 0; - $21 = $arHandle + 40 | 0; - $22 = $arHandle + 4 | 0; - $23 = $arHandle + 12 | 0; - $24 = $arHandle + 20 | 0; - $25 = $arHandle + 4834144 | 0; - $26 = $arHandle + 15416 | 0; - $27 = $arHandle + 15408 | 0; - $28 = $arHandle + 7062384 | 0; - $29 = $arHandle + 24 | 0; - $30 = $arHandle + 32 | 0; - $31 = $arHandle + 7062416 | 0; - $32 = $arHandle + 48 | 0; - $33 = $arHandle + 7062424 | 0; - $i$0104 = 0; - do { - if ((_arLabeling($dataPtr, HEAP32[$20 >> 2] | 0, HEAP32[$21 >> 2] | 0, HEAP32[$22 >> 2] | 0, HEAP32[$arHandle >> 2] | 0, HEAP32[$23 >> 2] | 0, HEAP32[$thresholds + ($i$0104 << 2) >> 2] | 0, HEAP32[$24 >> 2] | 0, $25, 0) | 0) < 0) { - $$0 = -1; - break L1; - } - if ((_arDetectMarker2(HEAP32[$20 >> 2] | 0, HEAP32[$21 >> 2] | 0, $25, HEAP32[$24 >> 2] | 0, 1e6, 70, 1.0, $26, $27) | 0) < 0) { - $$0 = -1; - break L1; - } - if ((_arGetMarkerInfo($dataPtr, HEAP32[$20 >> 2] | 0, HEAP32[$21 >> 2] | 0, HEAP32[$22 >> 2] | 0, $26, HEAP32[$27 >> 2] | 0, HEAP32[$28 >> 2] | 0, HEAP32[$24 >> 2] | 0, HEAP32[$29 >> 2] | 0, (HEAP32[$30 >> 2] | 0) + 184 | 0, +HEAPF64[$31 >> 3], $32, $0, HEAP32[$33 >> 2] | 0) | 0) < 0) { - $$0 = -1; - break L1; - } - HEAP32[$marker_nums + ($i$0104 << 2) >> 2] = HEAP32[$0 >> 2]; - $i$0104 = $i$0104 + 1 | 0; - } while (($i$0104 | 0) < 3); - if ((HEAP32[$arHandle >> 2] | 0) == 1) { - $69 = HEAP32[$marker_nums + 4 >> 2] | 0; - $71 = HEAP32[$marker_nums + 8 >> 2] | 0; - $72 = HEAP32[$marker_nums >> 2] | 0; - HEAP32[$vararg_buffer >> 2] = $storemerge4; - HEAP32[$vararg_buffer + 4 >> 2] = $69; - HEAP32[$vararg_buffer + 8 >> 2] = $9; - HEAP32[$vararg_buffer + 12 >> 2] = $71; - HEAP32[$vararg_buffer + 16 >> 2] = $$; - HEAP32[$vararg_buffer + 20 >> 2] = $72; - _arLog(3, 4153, $vararg_buffer); - $74 = $72; - $75 = $71; - } else { - $74 = HEAP32[$marker_nums >> 2] | 0; - $75 = HEAP32[$marker_nums + 8 >> 2] | 0; - } - $$pre35 = HEAP32[$marker_nums + 4 >> 2] | 0; - if (($74 | 0) > ($75 | 0) | ($$pre35 | 0) > ($75 | 0)) { - $91 = ($74 | 0) >= ($$pre35 | 0) ? $$ : $storemerge4; - HEAP32[$8 >> 2] = $91; - $92 = $91 - $9 | 0; - if (($92 | 0) > 0) { - HEAP32[$10 >> 2] = $92; - $storemerge = 1; - } else { - HEAP32[$10 >> 2] = 1; - $storemerge = 0 - $92 | 0; - } - HEAP32[$14 >> 2] = $storemerge; - if ((HEAP32[$arHandle >> 2] | 0) == 1) { - HEAP32[$vararg_buffer6 >> 2] = $91; - _arLog(3, 4229, $vararg_buffer6); - } - $$pr10 = HEAP32[$1 >> 2] | 0; - $storemerge11 = HEAP32[$arHandle + 7062392 >> 2] | 0; - break; - } - $77 = HEAP32[$10 >> 2] | 0; - $78 = HEAP32[$14 >> 2] | 0; - do if (($77 | 0) < ($78 | 0)) { - $80 = $77 + 1 | 0; - HEAP32[$10 >> 2] = $80; - $86 = $80; - } else if (($77 | 0) > ($78 | 0)) { - HEAP32[$14 >> 2] = $78 + 1; - $86 = $77; - break; - } else { - $83 = $77 + 1 | 0; - HEAP32[$10 >> 2] = $83; - HEAP32[$14 >> 2] = $78 + 1; - $86 = $83; - break; - } while (0); - if (($86 + $9 | 0) > 254) { - HEAP32[$10 >> 2] = 1; - $89 = 1; - } else $89 = $86; - if (($9 | 0) <= ($89 | 0)) HEAP32[$14 >> 2] = 1; - HEAP32[$4 >> 2] = HEAP32[$arHandle + 7062392 >> 2]; - label = 47; - break L1; - } while (0); - HEAP32[$4 >> 2] = $storemerge11; - $101 = $$pr10; - label = 30; - } else { - $101 = $2; - label = 30; - } while (0); - L40 : do if ((label | 0) == 30) { - L42 : do switch ($101 | 0) { - case 3: - { - $102 = $arHandle + 7062408 | 0; - $104 = _arImageProcLumaHistAndBoxFilterWithBias(HEAP32[$102 >> 2] | 0, $dataPtr, 9, -7) | 0; - if (($104 | 0) < 0) { - $$0 = $104; - break L40; - } - $106 = HEAP32[$102 >> 2] | 0; - $115 = $arHandle + 4834144 | 0; - $118 = _arLabeling(HEAP32[$106 >> 2] | 0, HEAP32[$106 + 8 >> 2] | 0, HEAP32[$106 + 12 >> 2] | 0, 5, HEAP32[$arHandle >> 2] | 0, HEAP32[$arHandle + 12 >> 2] | 0, 0, 0, $115, HEAP32[$106 + 4 >> 2] | 0) | 0; - if (($118 | 0) < 0) { - $$0 = $118; - break L40; - } - $$pre$phi45Z2D = $arHandle + 36 | 0; - $$pre$phi47Z2D = $arHandle + 40 | 0; - $$pre$phi49Z2D = $arHandle + 20 | 0; - $$pre$phiZ2D = $115; - break; - } - case 2: - case 1: - { - $120 = $arHandle + 7062396 | 0; - $121 = HEAP32[$120 >> 2] | 0; - if (($121 | 0) > 0) { - HEAP32[$120 >> 2] = $121 + -1; - label = 44; - break L42; - } - $126 = HEAP32[$arHandle + 7062408 >> 2] | 0; - if (($101 | 0) == 1) $ret1$0 = _arImageProcLumaHistAndCDFAndMedian($126, $dataPtr, $value) | 0; else $ret1$0 = _arImageProcLumaHistAndOtsu($126, $dataPtr, $value) | 0; - if (($ret1$0 | 0) < 0) { - $$0 = $ret1$0; - break L40; - } - $132 = $arHandle + 16 | 0; - if ((HEAP32[$arHandle >> 2] | 0) == 1) { - $135 = HEAPU8[$value >> 0] | 0; - if ((HEAP32[$132 >> 2] | 0) != ($135 | 0)) { - HEAP32[$vararg_buffer9 >> 2] = (HEAP32[$1 >> 2] | 0) == 1 ? 4281 : 4288; - HEAP32[$vararg_buffer9 + 4 >> 2] = $135; - _arLog(3, 4293, $vararg_buffer9); - } - } - HEAP32[$132 >> 2] = HEAPU8[$value >> 0]; - HEAP32[$120 >> 2] = HEAP32[$arHandle + 7062392 >> 2]; - label = 44; - break; - } - default: - label = 44; - } while (0); - if ((label | 0) == 44) { - $144 = $arHandle + 36 | 0; - $146 = $arHandle + 40 | 0; - $155 = $arHandle + 20 | 0; - $157 = $arHandle + 4834144 | 0; - if ((_arLabeling($dataPtr, HEAP32[$144 >> 2] | 0, HEAP32[$146 >> 2] | 0, HEAP32[$arHandle + 4 >> 2] | 0, HEAP32[$arHandle >> 2] | 0, HEAP32[$arHandle + 12 >> 2] | 0, HEAP32[$arHandle + 16 >> 2] | 0, HEAP32[$155 >> 2] | 0, $157, 0) | 0) < 0) { - $$0 = -1; - break; - } else { - $$pre$phi45Z2D = $144; - $$pre$phi47Z2D = $146; - $$pre$phi49Z2D = $155; - $$pre$phiZ2D = $157; - } - } - $163 = $arHandle + 15416 | 0; - $164 = $arHandle + 15408 | 0; - if ((_arDetectMarker2(HEAP32[$$pre$phi45Z2D >> 2] | 0, HEAP32[$$pre$phi47Z2D >> 2] | 0, $$pre$phiZ2D, HEAP32[$$pre$phi49Z2D >> 2] | 0, 1e6, 70, 1.0, $163, $164) | 0) < 0) $$0 = -1; else if ((_arGetMarkerInfo($dataPtr, HEAP32[$$pre$phi45Z2D >> 2] | 0, HEAP32[$$pre$phi47Z2D >> 2] | 0, HEAP32[$arHandle + 4 >> 2] | 0, $163, HEAP32[$164 >> 2] | 0, HEAP32[$arHandle + 7062384 >> 2] | 0, HEAP32[$$pre$phi49Z2D >> 2] | 0, HEAP32[$arHandle + 24 >> 2] | 0, (HEAP32[$arHandle + 32 >> 2] | 0) + 184 | 0, +HEAPF64[$arHandle + 7062416 >> 3], $arHandle + 48 | 0, $0, HEAP32[$arHandle + 7062424 >> 2] | 0) | 0) < 0) $$0 = -1; else label = 47; - } while (0); - L63 : do if ((label | 0) == 47) { - $187 = $arHandle + 28 | 0; - if ((HEAP32[$187 >> 2] | 0) == 1) { - _confidenceCutoff($arHandle); - $$0 = 0; - break; - } - $190 = $arHandle + 4818296 | 0; - $191 = $arHandle + 24 | 0; - $$pre37 = HEAP32[$190 >> 2] | 0; - if (($$pre37 | 0) > 0) { - $i$1101 = 0; - do { - $193 = HEAP32[$0 >> 2] | 0; - $195 = $arHandle + 4818304 + ($i$1101 * 264 | 0) + 56 | 0; - $196 = $arHandle + 4818304 + ($i$1101 * 264 | 0) + 64 | 0; - if (($193 | 0) > 0) { - $199 = +(HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) >> 2] | 0); - $cid$087 = -1; - $j$088 = 0; - $rlenmin$086 = .5; - while (1) { - $202 = +(HEAP32[$arHandle + 48 + ($j$088 << 8) >> 2] | 0); - $203 = $199 / $202; - if ($203 < .7 | $203 > 1.43) { - $cid$1 = $cid$087; - $rlenmin$1 = $rlenmin$086; - } else { - $209 = +HEAPF64[$arHandle + 48 + ($j$088 << 8) + 56 >> 3] - +HEAPF64[$195 >> 3]; - $214 = +HEAPF64[$arHandle + 48 + ($j$088 << 8) + 64 >> 3] - +HEAPF64[$196 >> 3]; - $217 = ($209 * $209 + $214 * $214) / $202; - if ($217 < $rlenmin$086) { - $cid$1 = $j$088; - $rlenmin$1 = $217; - } else { - $cid$1 = $cid$087; - $rlenmin$1 = $rlenmin$086; - } - } - $j$088 = $j$088 + 1 | 0; - if (($j$088 | 0) >= ($193 | 0)) { - $cid$0$lcssa = $cid$1; - break; - } else { - $cid$087 = $cid$1; - $rlenmin$086 = $rlenmin$1; - } - } - } else $cid$0$lcssa = -1; - L80 : do if (($cid$0$lcssa | 0) > -1) { - $222 = HEAP32[$191 >> 2] | 0; - switch ($222 | 0) { - case 2: - case 1: - case 0: - break; - case 4: - case 3: - { - $262 = $arHandle + 48 + ($cid$0$lcssa << 8) + 40 | 0; - $265 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 40 >> 3]; - if (+HEAPF64[$262 >> 3] < $265) { - $$pre$phi51Z2D = $arHandle + 4818304 + ($i$1101 * 264 | 0) + 48 | 0; - $$pre$phi53Z2D = $arHandle + 48 + ($cid$0$lcssa << 8) + 48 | 0; - } else { - $267 = $arHandle + 48 + ($cid$0$lcssa << 8) + 48 | 0; - $269 = $arHandle + 4818304 + ($i$1101 * 264 | 0) + 48 | 0; - if (+HEAPF64[$267 >> 3] < +HEAPF64[$269 >> 3]) { - $$pre$phi51Z2D = $269; - $$pre$phi53Z2D = $267; - } else break L80; - } - HEAPF64[$262 >> 3] = $265; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 8 >> 2] = HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 8 >> 2]; - HEAPF64[$$pre$phi53Z2D >> 3] = +HEAPF64[$$pre$phi51Z2D >> 3]; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 12 >> 2] = HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 12 >> 2]; - $cdir$295 = -1; - $diffmin$294 = 1.0e8; - $j$296 = 0; - while (1) { - $diff$192 = 0.0; - $k$193 = 0; - while (1) { - $282 = ($k$193 + $j$296 | 0) % 4 | 0; - $285 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 168 + ($k$193 << 4) >> 3] - +HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 168 + ($282 << 4) >> 3]; - $291 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 168 + ($k$193 << 4) + 8 >> 3] - +HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 168 + ($282 << 4) + 8 >> 3]; - $294 = $diff$192 + ($285 * $285 + $291 * $291); - $k$193 = $k$193 + 1 | 0; - if (($k$193 | 0) == 4) { - $$lcssa109 = $294; - break; - } else $diff$192 = $294; - } - $296 = $$lcssa109 < $diffmin$294; - $cdir$3 = $296 ? $j$296 : $cdir$295; - $j$296 = $j$296 + 1 | 0; - if (($j$296 | 0) == 4) { - $cdir$3$lcssa = $cdir$3; - break; - } else { - $cdir$295 = $cdir$3; - $diffmin$294 = $296 ? $$lcssa109 : $diffmin$294; - } - } - $300 = 4 - $cdir$3$lcssa | 0; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 20 >> 2] = ($300 + (HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 20 >> 2] | 0) | 0) % 4 | 0; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 24 >> 2] = ($300 + (HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 24 >> 2] | 0) | 0) % 4 | 0; - break L80; - break; - } - default: - { - $$0 = -1; - break L63; - } - } - $223 = $arHandle + 48 + ($cid$0$lcssa << 8) + 32 | 0; - $226 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 32 >> 3]; - if (+HEAPF64[$223 >> 3] < $226) { - HEAPF64[$223 >> 3] = $226; - $229 = HEAP32[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 4 >> 2] | 0; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 4 >> 2] = $229; - $231 = $arHandle + 4818304 + ($i$1101 * 264 | 0) + 16 | 0; - $385 = -1; - $diffmin$099 = 1.0e8; - $j$1100 = 0; - while (1) { - $diff$097 = 0.0; - $k$098 = 0; - while (1) { - $235 = ($k$098 + $j$1100 | 0) % 4 | 0; - $238 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 168 + ($k$098 << 4) >> 3] - +HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 168 + ($235 << 4) >> 3]; - $244 = +HEAPF64[$arHandle + 4818304 + ($i$1101 * 264 | 0) + 168 + ($k$098 << 4) + 8 >> 3] - +HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 168 + ($235 << 4) + 8 >> 3]; - $247 = $diff$097 + ($238 * $238 + $244 * $244); - $k$098 = $k$098 + 1 | 0; - if (($k$098 | 0) == 4) { - $$lcssa110 = $247; - break; - } else $diff$097 = $247; - } - if ($$lcssa110 < $diffmin$099) { - $cdir$1 = (4 - $j$1100 + (HEAP32[$231 >> 2] | 0) | 0) % 4 | 0; - $diffmin$1 = $$lcssa110; - } else { - $cdir$1 = $385; - $diffmin$1 = $diffmin$099; - } - $j$1100 = $j$1100 + 1 | 0; - if (($j$1100 | 0) == 4) { - $cdir$1$lcssa = $cdir$1; - break; - } else { - $385 = $cdir$1; - $diffmin$099 = $diffmin$1; - } - } - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 16 >> 2] = $cdir$1$lcssa; - if ($222 >>> 0 < 2) { - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 8 >> 2] = $229; - HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 40 >> 3] = $226; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 20 >> 2] = $cdir$1$lcssa; - break; - } else { - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 12 >> 2] = $229; - HEAPF64[$arHandle + 48 + ($cid$0$lcssa << 8) + 48 >> 3] = $226; - HEAP32[$arHandle + 48 + ($cid$0$lcssa << 8) + 24 >> 2] = $cdir$1$lcssa; - break; - } - } - } while (0); - $i$1101 = $i$1101 + 1 | 0; - } while (($i$1101 | 0) < ($$pre37 | 0)); - } - _confidenceCutoff($arHandle); - if ((HEAP32[$190 >> 2] | 0) > 0) { - $i$280 = 0; - $j$381 = 0; - while (1) { - $313 = $arHandle + 4818304 + ($i$280 * 264 | 0) | 0; - $314 = $arHandle + 4818304 + ($i$280 * 264 | 0) + 256 | 0; - $316 = (HEAP32[$314 >> 2] | 0) + 1 | 0; - HEAP32[$314 >> 2] = $316; - if (($316 | 0) < 4) { - if (($i$280 | 0) != ($j$381 | 0)) _memcpy($arHandle + 4818304 + ($j$381 * 264 | 0) | 0, $313 | 0, 264) | 0; - $j$4 = $j$381 + 1 | 0; - } else $j$4 = $j$381; - $i$280 = $i$280 + 1 | 0; - if (($i$280 | 0) >= (HEAP32[$190 >> 2] | 0)) { - $j$3$lcssa = $j$4; - break; - } else $j$381 = $j$4; - } - } else $j$3$lcssa = 0; - HEAP32[$190 >> 2] = $j$3$lcssa; - $324 = HEAP32[$0 >> 2] | 0; - L120 : do if (($324 | 0) > 0) { - $386 = $324; - $i$373 = 0; - while (1) { - $326 = $arHandle + 48 + ($i$373 << 8) | 0; - $328 = HEAP32[$arHandle + 48 + ($i$373 << 8) + 4 >> 2] | 0; - if (($328 | 0) >= 0) { - $330 = HEAP32[$190 >> 2] | 0; - L125 : do if (($330 | 0) > 0) { - $j$568 = 0; - while (1) { - if ((HEAP32[$arHandle + 4818304 + ($j$568 * 264 | 0) + 4 >> 2] | 0) == ($328 | 0)) { - $j$5$lcssa = $j$568; - break L125; - } - $335 = $j$568 + 1 | 0; - if (($335 | 0) < ($330 | 0)) $j$568 = $335; else { - $j$5$lcssa = $335; - break; - } - } - } else $j$5$lcssa = 0; while (0); - if (($j$5$lcssa | 0) == ($330 | 0)) { - if (($330 | 0) == 60) { - $$lcssa = $386; - break L120; - } - HEAP32[$190 >> 2] = $330 + 1; - } - _memcpy($arHandle + 4818304 + ($j$5$lcssa * 264 | 0) | 0, $326 | 0, 256) | 0; - HEAP32[$arHandle + 4818304 + ($j$5$lcssa * 264 | 0) + 256 >> 2] = 1; - } - $i$373 = $i$373 + 1 | 0; - $343 = HEAP32[$0 >> 2] | 0; - if (($i$373 | 0) >= ($343 | 0)) { - $$lcssa = $343; - break; - } else $386 = $343; - } - } else $$lcssa = $324; while (0); - if ((HEAP32[$187 >> 2] | 0) == 2) $$0 = 0; else if ((HEAP32[$190 >> 2] | 0) > 0) { - $353 = $$lcssa; - $i$467 = 0; - while (1) { - $350 = $arHandle + 4818304 + ($i$467 * 264 | 0) + 56 | 0; - $351 = $arHandle + 4818304 + ($i$467 * 264 | 0) + 64 | 0; - L139 : do if (($353 | 0) > 0) { - $355 = +(HEAP32[$arHandle + 4818304 + ($i$467 * 264 | 0) >> 2] | 0); - $j$663 = 0; - while (1) { - $358 = +(HEAP32[$arHandle + 48 + ($j$663 << 8) >> 2] | 0); - $359 = $355 / $358; - if (!($359 < .7 | $359 > 1.43)) { - $365 = +HEAPF64[$arHandle + 48 + ($j$663 << 8) + 56 >> 3] - +HEAPF64[$350 >> 3]; - $370 = +HEAPF64[$arHandle + 48 + ($j$663 << 8) + 64 >> 3] - +HEAPF64[$351 >> 3]; - if (($365 * $365 + $370 * $370) / $358 < .5) { - $j$6$lcssa = $j$663; - break L139; - } - } - $375 = $j$663 + 1 | 0; - if (($375 | 0) < ($353 | 0)) $j$663 = $375; else { - $j$6$lcssa = $375; - break; - } - } - } else $j$6$lcssa = 0; while (0); - if (($j$6$lcssa | 0) == ($353 | 0)) { - _memcpy($arHandle + 48 + ($353 << 8) | 0, $arHandle + 4818304 + ($i$467 * 264 | 0) | 0, 256) | 0; - $381 = (HEAP32[$0 >> 2] | 0) + 1 | 0; - HEAP32[$0 >> 2] = $381; - $387 = $381; - } else $387 = $353; - $i$467 = $i$467 + 1 | 0; - if (($i$467 | 0) >= (HEAP32[$190 >> 2] | 0)) { - $$0 = 0; - break; - } else $353 = $387; - } - } else $$0 = 0; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$19 = 0, $$pre = 0, $$pre$phi80Z2D = 0, $$pre$phi82Z2D = 0, $$pre$phi84Z2D = 0, $0 = 0, $1 = 0, $107 = 0, $108 = 0, $111 = 0, $113 = 0, $114 = 0, $115 = 0, $117 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $130 = 0, $134 = 0, $136 = 0, $146 = 0, $148 = 0, $15 = 0, $150 = 0, $151 = 0, $159 = 0, $160 = 0, $161 = 0, $162 = 0, $165 = 0, $167 = 0, $177 = 0, $180 = 0, $181 = 0, $183 = 0, $184 = 0, $185 = 0, $187 = 0, $188 = 0, $19 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $201 = 0, $205 = 0, $207 = 0, $217 = 0, $221 = 0, $222 = 0, $225 = 0, $226 = 0, $227 = 0, $230 = 0, $233 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $246 = 0, $250 = 0, $252 = 0, $261 = 0, $262 = 0, $265 = 0, $267 = 0, $268 = 0, $269 = 0, $271 = 0, $279 = 0, $280 = 0, $281 = 0, $282 = 0, $284 = 0, $288 = 0, $290 = 0, $3 = 0, $30 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0, $4 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $55 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $71 = 0, $72 = 0, $73 = 0, $76 = 0, $79 = 0, $87 = 0, $88 = 0, $89 = 0, $90 = 0, $92 = 0, $96 = 0, $98 = 0, $args = 0, $args3 = 0, $global$0$off0 = 0, $s = 0, $s1 = 0, $s4 = 0, $s5 = 0, $s6 = 0, $t$0 = 0, $t$1$lcssa = 0, $t$1$ph = 0, $t$1107 = 0, $t$2 = 0, $t$3$lcssa = 0, $t$3110 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $args = sp + 132 | 0; - $s = sp + 120 | 0; - $0 = sp + 108 | 0; - $s1 = sp + 96 | 0; - $1 = sp + 84 | 0; - $args3 = sp + 72 | 0; - $s4 = sp + 60 | 0; - $2 = sp + 48 | 0; - $s5 = sp + 36 | 0; - $3 = sp + 24 | 0; - $s6 = sp + 12 | 0; - $4 = sp; - $5 = $last; - L1 : do if (($5 - $first | 0) > 2) { - if ((HEAP8[$first >> 0] | 0) == 103) { - $13 = (HEAP8[$first + 1 >> 0] | 0) == 115; - $global$0$off0 = $13; - $t$0 = $13 ? $first + 2 | 0 : $first; - } else { - $global$0$off0 = 0; - $t$0 = $first; - } - $15 = __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($t$0, $last, $db) | 0; - if (($15 | 0) != ($t$0 | 0)) { - if (!$global$0$off0) { - $$19 = $15; - break; - } - $19 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($19 | 0)) { - $$19 = $first; - break; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($19 + -24 | 0, 0, 12902) | 0; - $$19 = $15; - break; - } - if (($5 - $t$0 | 0) > 2) if ((HEAP8[$t$0 >> 0] | 0) == 115) if ((HEAP8[$t$0 + 1 >> 0] | 0) == 114) { - $30 = $t$0 + 2 | 0; - if ((HEAP8[$30 >> 0] | 0) == 78) { - $33 = $t$0 + 3 | 0; - $34 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_($33, $last, $db) | 0; - if (($34 | 0) == ($33 | 0) | ($34 | 0) == ($last | 0)) { - $$19 = $first; - break; - } - $37 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($34, $last, $db) | 0; - $$pre = $db + 4 | 0; - do if (($37 | 0) == ($34 | 0)) { - $$pre$phi80Z2D = $db; - $t$1$ph = $34; - } else { - $39 = HEAP32[$$pre >> 2] | 0; - if ((($39 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args, $39 + -24 | 0); - $47 = HEAP32[$$pre >> 2] | 0; - $48 = $47 + -24 | 0; - $50 = $47; - do { - $49 = $50 + -24 | 0; - HEAP32[$$pre >> 2] = $49; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($49); - $50 = HEAP32[$$pre >> 2] | 0; - } while (($50 | 0) != ($48 | 0)); - $53 = HEAP8[$args >> 0] | 0; - $55 = ($53 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($47 + -48 | 0, $55 ? $args + 1 | 0 : HEAP32[$args + 8 >> 2] | 0, $55 ? ($53 & 255) >>> 1 : HEAP32[$args + 4 >> 2] | 0) | 0; - if (($37 | 0) != ($last | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$pre$phi80Z2D = $db; - $t$1$ph = $37; - break; - } - $66 = HEAP32[$$pre >> 2] | 0; - $67 = $66 + -24 | 0; - $69 = $66; - do { - $68 = $69 + -24 | 0; - HEAP32[$$pre >> 2] = $68; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($68); - $69 = HEAP32[$$pre >> 2] | 0; - } while (($69 | 0) != ($67 | 0)); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$19 = $first; - break L1; - } while (0); - $71 = $0 + 8 | 0; - $72 = $0 + 1 | 0; - $73 = $0 + 4 | 0; - if ((HEAP8[$t$1$ph >> 0] | 0) == 69) $t$1$lcssa = $t$1$ph; else { - $t$1107 = $t$1$ph; - while (1) { - $76 = __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($t$1107, $last, $db) | 0; - if (($76 | 0) == ($t$1107 | 0) | ($76 | 0) == ($last | 0)) { - $$19 = $first; - break L1; - } - $79 = HEAP32[$$pre >> 2] | 0; - if ((($79 - (HEAP32[$$pre$phi80Z2D >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($s, $79 + -24 | 0); - $87 = HEAP32[$$pre >> 2] | 0; - $88 = $87 + -24 | 0; - $90 = $87; - do { - $89 = $90 + -24 | 0; - HEAP32[$$pre >> 2] = $89; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($89); - $90 = HEAP32[$$pre >> 2] | 0; - } while (($90 | 0) != ($88 | 0)); - $92 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($s, 0, 12902) | 0; - HEAP32[$0 >> 2] = HEAP32[$92 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$92 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$92 + 8 >> 2]; - HEAP32[$92 >> 2] = 0; - HEAP32[$92 + 4 >> 2] = 0; - HEAP32[$92 + 8 >> 2] = 0; - $96 = HEAP8[$0 >> 0] | 0; - $98 = ($96 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($87 + -48 | 0, $98 ? $72 : HEAP32[$71 >> 2] | 0, $98 ? ($96 & 255) >>> 1 : HEAP32[$73 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($s); - if ((HEAP8[$76 >> 0] | 0) == 69) { - $t$1$lcssa = $76; - break; - } else $t$1107 = $76; - } - } - $107 = $t$1$lcssa + 1 | 0; - $108 = __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($107, $last, $db) | 0; - if (($108 | 0) == ($107 | 0)) { - $111 = HEAP32[$$pre >> 2] | 0; - if ((HEAP32[$$pre$phi80Z2D >> 2] | 0) == ($111 | 0)) { - $$19 = $first; - break; - } - $113 = $111 + -24 | 0; - $115 = $111; - while (1) { - $114 = $115 + -24 | 0; - HEAP32[$$pre >> 2] = $114; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($114); - $115 = HEAP32[$$pre >> 2] | 0; - if (($115 | 0) == ($113 | 0)) { - $$19 = $first; - break L1; - } - } - } - $117 = HEAP32[$$pre >> 2] | 0; - if ((($117 - (HEAP32[$$pre$phi80Z2D >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($s1, $117 + -24 | 0); - $125 = HEAP32[$$pre >> 2] | 0; - $126 = $125 + -24 | 0; - $128 = $125; - do { - $127 = $128 + -24 | 0; - HEAP32[$$pre >> 2] = $127; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($127); - $128 = HEAP32[$$pre >> 2] | 0; - } while (($128 | 0) != ($126 | 0)); - $130 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($s1, 0, 12902) | 0; - HEAP32[$1 >> 2] = HEAP32[$130 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$130 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$130 + 8 >> 2]; - HEAP32[$130 >> 2] = 0; - HEAP32[$130 + 4 >> 2] = 0; - HEAP32[$130 + 8 >> 2] = 0; - $134 = HEAP8[$1 >> 0] | 0; - $136 = ($134 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($125 + -48 | 0, $136 ? $1 + 1 | 0 : HEAP32[$1 + 8 >> 2] | 0, $136 ? ($134 & 255) >>> 1 : HEAP32[$1 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($s1); - $$19 = $108; - break; - } - $146 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_($30, $last, $db) | 0; - if (($146 | 0) != ($30 | 0)) { - $148 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($146, $last, $db) | 0; - if (($148 | 0) == ($146 | 0)) $t$2 = $146; else { - $150 = $db + 4 | 0; - $151 = HEAP32[$150 >> 2] | 0; - if ((($151 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args3, $151 + -24 | 0); - $159 = HEAP32[$150 >> 2] | 0; - $160 = $159 + -24 | 0; - $162 = $159; - do { - $161 = $162 + -24 | 0; - HEAP32[$150 >> 2] = $161; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($161); - $162 = HEAP32[$150 >> 2] | 0; - } while (($162 | 0) != ($160 | 0)); - $165 = HEAP8[$args3 >> 0] | 0; - $167 = ($165 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($159 + -48 | 0, $167 ? $args3 + 1 | 0 : HEAP32[$args3 + 8 >> 2] | 0, $167 ? ($165 & 255) >>> 1 : HEAP32[$args3 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args3); - $t$2 = $148; - } - $177 = __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($t$2, $last, $db) | 0; - if (($177 | 0) == ($t$2 | 0)) { - $180 = $db + 4 | 0; - $181 = HEAP32[$180 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($181 | 0)) { - $$19 = $first; - break; - } - $183 = $181 + -24 | 0; - $185 = $181; - while (1) { - $184 = $185 + -24 | 0; - HEAP32[$180 >> 2] = $184; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($184); - $185 = HEAP32[$180 >> 2] | 0; - if (($185 | 0) == ($183 | 0)) { - $$19 = $first; - break L1; - } - } - } - $187 = $db + 4 | 0; - $188 = HEAP32[$187 >> 2] | 0; - if ((($188 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($s4, $188 + -24 | 0); - $196 = HEAP32[$187 >> 2] | 0; - $197 = $196 + -24 | 0; - $199 = $196; - do { - $198 = $199 + -24 | 0; - HEAP32[$187 >> 2] = $198; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($198); - $199 = HEAP32[$187 >> 2] | 0; - } while (($199 | 0) != ($197 | 0)); - $201 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($s4, 0, 12902) | 0; - HEAP32[$2 >> 2] = HEAP32[$201 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$201 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$201 + 8 >> 2]; - HEAP32[$201 >> 2] = 0; - HEAP32[$201 + 4 >> 2] = 0; - HEAP32[$201 + 8 >> 2] = 0; - $205 = HEAP8[$2 >> 0] | 0; - $207 = ($205 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($196 + -48 | 0, $207 ? $2 + 1 | 0 : HEAP32[$2 + 8 >> 2] | 0, $207 ? ($205 & 255) >>> 1 : HEAP32[$2 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($s4); - $$19 = $177; - break; - } - $217 = __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($30, $last, $db) | 0; - if (($217 | 0) == ($30 | 0) | ($217 | 0) == ($last | 0)) $$19 = $first; else { - if ($global$0$off0) { - $221 = $db + 4 | 0; - $222 = HEAP32[$221 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($222 | 0)) { - $$19 = $first; - break; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($222 + -24 | 0, 0, 12902) | 0; - $$pre$phi82Z2D = $221; - $$pre$phi84Z2D = $db; - } else { - $$pre$phi82Z2D = $db + 4 | 0; - $$pre$phi84Z2D = $db; - } - $225 = $3 + 8 | 0; - $226 = $3 + 1 | 0; - $227 = $3 + 4 | 0; - if ((HEAP8[$217 >> 0] | 0) == 69) $t$3$lcssa = $217; else { - $t$3110 = $217; - while (1) { - $230 = __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($t$3110, $last, $db) | 0; - if (($230 | 0) == ($t$3110 | 0) | ($230 | 0) == ($last | 0)) { - $$19 = $first; - break L1; - } - $233 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - if ((($233 - (HEAP32[$$pre$phi84Z2D >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$19 = $first; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($s5, $233 + -24 | 0); - $241 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - $242 = $241 + -24 | 0; - $244 = $241; - do { - $243 = $244 + -24 | 0; - HEAP32[$$pre$phi82Z2D >> 2] = $243; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($243); - $244 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - } while (($244 | 0) != ($242 | 0)); - $246 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($s5, 0, 12902) | 0; - HEAP32[$3 >> 2] = HEAP32[$246 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$246 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$246 + 8 >> 2]; - HEAP32[$246 >> 2] = 0; - HEAP32[$246 + 4 >> 2] = 0; - HEAP32[$246 + 8 >> 2] = 0; - $250 = HEAP8[$3 >> 0] | 0; - $252 = ($250 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($241 + -48 | 0, $252 ? $226 : HEAP32[$225 >> 2] | 0, $252 ? ($250 & 255) >>> 1 : HEAP32[$227 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($s5); - if ((HEAP8[$230 >> 0] | 0) == 69) { - $t$3$lcssa = $230; - break; - } else $t$3110 = $230; - } - } - $261 = $t$3$lcssa + 1 | 0; - $262 = __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($261, $last, $db) | 0; - if (($262 | 0) == ($261 | 0)) { - $265 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - if ((HEAP32[$$pre$phi84Z2D >> 2] | 0) == ($265 | 0)) { - $$19 = $first; - break; - } - $267 = $265 + -24 | 0; - $269 = $265; - while (1) { - $268 = $269 + -24 | 0; - HEAP32[$$pre$phi82Z2D >> 2] = $268; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($268); - $269 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - if (($269 | 0) == ($267 | 0)) { - $$19 = $first; - break L1; - } - } - } - $271 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - if ((($271 - (HEAP32[$$pre$phi84Z2D >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$19 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($s6, $271 + -24 | 0); - $279 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - $280 = $279 + -24 | 0; - $282 = $279; - do { - $281 = $282 + -24 | 0; - HEAP32[$$pre$phi82Z2D >> 2] = $281; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($281); - $282 = HEAP32[$$pre$phi82Z2D >> 2] | 0; - } while (($282 | 0) != ($280 | 0)); - $284 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($s6, 0, 12902) | 0; - HEAP32[$4 >> 2] = HEAP32[$284 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$284 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$284 + 8 >> 2]; - HEAP32[$284 >> 2] = 0; - HEAP32[$284 + 4 >> 2] = 0; - HEAP32[$284 + 8 >> 2] = 0; - $288 = HEAP8[$4 >> 0] | 0; - $290 = ($288 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($279 + -48 | 0, $290 ? $4 + 1 | 0 : HEAP32[$4 + 8 >> 2] | 0, $290 ? ($288 & 255) >>> 1 : HEAP32[$4 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($s6); - $$19 = $262; - } - } - } else $$19 = $first; else $$19 = $first; else $$19 = $first; - } else $$19 = $first; while (0); - STACKTOP = sp; - return $$19 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i12 = 0, $$0$i$i$i17 = 0, $$0$i$i$i22 = 0, $$0$i$i$i27 = 0, $$0$i$i$i32 = 0, $$0$i$i$i37 = 0, $$0$i$i$i40 = 0, $$lcssa98 = 0, $0 = 0, $1 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $110 = 0, $112 = 0, $115 = 0, $116 = 0, $119 = 0, $12 = 0, $120 = 0, $122 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $136 = 0, $138 = 0, $14 = 0, $141 = 0, $142 = 0, $145 = 0, $146 = 0, $148 = 0, $15 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $162 = 0, $164 = 0, $167 = 0, $168 = 0, $172 = 0, $176 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $184 = 0, $187 = 0, $195 = 0, $196 = 0, $197 = 0, $2 = 0, $200 = 0, $203 = 0, $212 = 0, $213 = 0, $214 = 0, $217 = 0, $218 = 0, $220 = 0, $221 = 0, $223 = 0, $224 = 0, $229 = 0, $233 = 0, $240 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $248 = 0, $25 = 0, $251 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $264 = 0, $267 = 0, $27 = 0, $28 = 0, $3 = 0, $32 = 0, $34 = 0, $37 = 0, $38 = 0, $4 = 0, $41 = 0, $42 = 0, $44 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $58 = 0, $60 = 0, $63 = 0, $64 = 0, $67 = 0, $68 = 0, $70 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $84 = 0, $86 = 0, $89 = 0, $90 = 0, $93 = 0, $94 = 0, $96 = 0, $__v$i$i38 = 0, $isdigittmp5 = 0, $isdigittmp9 = 0, $sub$179 = 0, $sub$179$lcssa = 0, $t$080 = 0, $t$080$lcssa = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i38 = sp + 144 | 0; - $0 = sp + 120 | 0; - $1 = sp + 96 | 0; - $2 = sp + 72 | 0; - $3 = sp + 48 | 0; - $4 = sp + 24 | 0; - $5 = sp; - L1 : do if (($last - $first | 0) > 1) if ((HEAP8[$first >> 0] | 0) == 83) { - $12 = $first + 1 | 0; - $13 = HEAP8[$12 >> 0] | 0; - $14 = $13 << 24 >> 24; - switch ($14 | 0) { - case 97: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj15EEERAT__Kc($0, 12813); - $15 = $db + 4 | 0; - $16 = HEAP32[$15 >> 2] | 0; - $18 = HEAP32[$db + 8 >> 2] | 0; - if ($16 >>> 0 < $18 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($16, $0); - HEAP32[$15 >> 2] = (HEAP32[$15 >> 2] | 0) + 24; - } else { - $25 = HEAP32[$db >> 2] | 0; - $26 = $16 - $25 | 0; - $27 = ($26 | 0) / 24 | 0; - $28 = $27 + 1 | 0; - if (($26 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $32 = ($18 - $25 | 0) / 24 | 0; - if ($32 >>> 0 < 1073741823) { - $34 = $32 << 1; - $$0$i$i$i = $34 >>> 0 < $28 >>> 0 ? $28 : $34; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i, $27, $db + 12 | 0); - $37 = $__v$i$i38 + 8 | 0; - $38 = HEAP32[$37 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($38, $0); - HEAP32[$37 >> 2] = $38 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 98: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj18EEERAT__Kc($1, 12828); - $41 = $db + 4 | 0; - $42 = HEAP32[$41 >> 2] | 0; - $44 = HEAP32[$db + 8 >> 2] | 0; - if ($42 >>> 0 < $44 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($42, $1); - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + 24; - } else { - $51 = HEAP32[$db >> 2] | 0; - $52 = $42 - $51 | 0; - $53 = ($52 | 0) / 24 | 0; - $54 = $53 + 1 | 0; - if (($52 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $58 = ($44 - $51 | 0) / 24 | 0; - if ($58 >>> 0 < 1073741823) { - $60 = $58 << 1; - $$0$i$i$i12 = $60 >>> 0 < $54 >>> 0 ? $54 : $60; - } else $$0$i$i$i12 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i12, $53, $db + 12 | 0); - $63 = $__v$i$i38 + 8 | 0; - $64 = HEAP32[$63 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($64, $1); - HEAP32[$63 >> 2] = $64 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 115: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($2, 12846); - $67 = $db + 4 | 0; - $68 = HEAP32[$67 >> 2] | 0; - $70 = HEAP32[$db + 8 >> 2] | 0; - if ($68 >>> 0 < $70 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($68, $2); - HEAP32[$67 >> 2] = (HEAP32[$67 >> 2] | 0) + 24; - } else { - $77 = HEAP32[$db >> 2] | 0; - $78 = $68 - $77 | 0; - $79 = ($78 | 0) / 24 | 0; - $80 = $79 + 1 | 0; - if (($78 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $84 = ($70 - $77 | 0) / 24 | 0; - if ($84 >>> 0 < 1073741823) { - $86 = $84 << 1; - $$0$i$i$i17 = $86 >>> 0 < $80 >>> 0 ? $80 : $86; - } else $$0$i$i$i17 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i17, $79, $db + 12 | 0); - $89 = $__v$i$i38 + 8 | 0; - $90 = HEAP32[$89 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($90, $2); - HEAP32[$89 >> 2] = $90 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 105: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj13EEERAT__Kc($3, 12858); - $93 = $db + 4 | 0; - $94 = HEAP32[$93 >> 2] | 0; - $96 = HEAP32[$db + 8 >> 2] | 0; - if ($94 >>> 0 < $96 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($94, $3); - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 24; - } else { - $103 = HEAP32[$db >> 2] | 0; - $104 = $94 - $103 | 0; - $105 = ($104 | 0) / 24 | 0; - $106 = $105 + 1 | 0; - if (($104 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $110 = ($96 - $103 | 0) / 24 | 0; - if ($110 >>> 0 < 1073741823) { - $112 = $110 << 1; - $$0$i$i$i22 = $112 >>> 0 < $106 >>> 0 ? $106 : $112; - } else $$0$i$i$i22 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i22, $105, $db + 12 | 0); - $115 = $__v$i$i38 + 8 | 0; - $116 = HEAP32[$115 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($116, $3); - HEAP32[$115 >> 2] = $116 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($3); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 111: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj13EEERAT__Kc($4, 12871); - $119 = $db + 4 | 0; - $120 = HEAP32[$119 >> 2] | 0; - $122 = HEAP32[$db + 8 >> 2] | 0; - if ($120 >>> 0 < $122 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($120, $4); - HEAP32[$119 >> 2] = (HEAP32[$119 >> 2] | 0) + 24; - } else { - $129 = HEAP32[$db >> 2] | 0; - $130 = $120 - $129 | 0; - $131 = ($130 | 0) / 24 | 0; - $132 = $131 + 1 | 0; - if (($130 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $136 = ($122 - $129 | 0) / 24 | 0; - if ($136 >>> 0 < 1073741823) { - $138 = $136 << 1; - $$0$i$i$i27 = $138 >>> 0 < $132 >>> 0 ? $132 : $138; - } else $$0$i$i$i27 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i27, $131, $db + 12 | 0); - $141 = $__v$i$i38 + 8 | 0; - $142 = HEAP32[$141 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($142, $4); - HEAP32[$141 >> 2] = $142 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($4); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 100: - { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj14EEERAT__Kc($5, 12884); - $145 = $db + 4 | 0; - $146 = HEAP32[$145 >> 2] | 0; - $148 = HEAP32[$db + 8 >> 2] | 0; - if ($146 >>> 0 < $148 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($146, $5); - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 24; - } else { - $155 = HEAP32[$db >> 2] | 0; - $156 = $146 - $155 | 0; - $157 = ($156 | 0) / 24 | 0; - $158 = $157 + 1 | 0; - if (($156 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $162 = ($148 - $155 | 0) / 24 | 0; - if ($162 >>> 0 < 1073741823) { - $164 = $162 << 1; - $$0$i$i$i32 = $164 >>> 0 < $158 >>> 0 ? $158 : $164; - } else $$0$i$i$i32 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i32, $157, $db + 12 | 0); - $167 = $__v$i$i38 + 8 | 0; - $168 = HEAP32[$167 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($168, $5); - HEAP32[$167 >> 2] = $168 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $$0 = $first + 2 | 0; - break L1; - break; - } - case 95: - { - $172 = HEAP32[$db + 16 >> 2] | 0; - if (($172 | 0) == (HEAP32[$db + 20 >> 2] | 0)) { - $$0 = $first; - break L1; - } - $176 = HEAP32[$172 >> 2] | 0; - $178 = HEAP32[$172 + 4 >> 2] | 0; - $179 = $db + 4 | 0; - $180 = $db + 8 | 0; - $181 = $db + 12 | 0; - $182 = $__v$i$i38 + 8 | 0; - L100 : do if (($176 | 0) != ($178 | 0)) { - $187 = $176; - while (1) { - $184 = HEAP32[$179 >> 2] | 0; - if (($184 | 0) == (HEAP32[$180 >> 2] | 0)) { - $195 = $184 - (HEAP32[$db >> 2] | 0) | 0; - $196 = ($195 | 0) / 24 | 0; - $197 = $196 + 1 | 0; - if (($195 | 0) < -24) break; - if ($196 >>> 0 < 1073741823) { - $200 = $196 << 1; - $$0$i$i$i37 = $200 >>> 0 < $197 >>> 0 ? $197 : $200; - } else $$0$i$i$i37 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i37, $196, $181); - $203 = HEAP32[$182 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($203, $187); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($203 + 12 | 0, $187 + 12 | 0); - HEAP32[$182 >> 2] = $203 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($184, $187); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($184 + 12 | 0, $187 + 12 | 0); - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + 24; - } - $187 = $187 + 24 | 0; - if (($187 | 0) == ($178 | 0)) break L100; - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - } while (0); - $$0 = $first + 2 | 0; - break L1; - break; - } - default: - { - if (($14 + -48 | 0) >>> 0 < 10) $213 = $13; else { - if (!(_isupper($14) | 0)) { - $$0 = $first; - break L1; - } - $213 = HEAP8[$12 >> 0] | 0; - } - $212 = $213 << 24 >> 24; - $isdigittmp5 = $212 + -48 | 0; - $214 = $first + 2 | 0; - if (($214 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - $sub$179 = $isdigittmp5 >>> 0 < 10 ? $isdigittmp5 : $212 + -55 | 0; - $t$080 = $214; - while (1) { - $217 = HEAP8[$t$080 >> 0] | 0; - $218 = $217 << 24 >> 24; - if (($218 + -48 | 0) >>> 0 < 10) $224 = $217; else { - $220 = (_isupper($218) | 0) == 0; - $221 = HEAP8[$t$080 >> 0] | 0; - if ($220) { - $$lcssa98 = $221; - $sub$179$lcssa = $sub$179; - $t$080$lcssa = $t$080; - break; - } else $224 = $221; - } - $223 = $224 << 24 >> 24; - $isdigittmp9 = $223 + -48 | 0; - $t$080 = $t$080 + 1 | 0; - if (($t$080 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } else $sub$179 = ($isdigittmp9 >>> 0 < 10 ? $isdigittmp9 : $223 + -55 | 0) + ($sub$179 * 36 | 0) | 0; - } - if ($$lcssa98 << 24 >> 24 != 95) { - $$0 = $first; - break L1; - } - $229 = $sub$179$lcssa + 1 | 0; - $233 = HEAP32[$db + 16 >> 2] | 0; - if ($229 >>> 0 >= (HEAP32[$db + 20 >> 2] | 0) - $233 >> 4 >>> 0) { - $$0 = $first; - break L1; - } - $240 = HEAP32[$233 + ($229 << 4) >> 2] | 0; - $242 = HEAP32[$233 + ($229 << 4) + 4 >> 2] | 0; - $243 = $db + 4 | 0; - $244 = $db + 8 | 0; - $245 = $db + 12 | 0; - $246 = $__v$i$i38 + 8 | 0; - L19 : do if (($240 | 0) != ($242 | 0)) { - $251 = $240; - while (1) { - $248 = HEAP32[$243 >> 2] | 0; - if (($248 | 0) == (HEAP32[$244 >> 2] | 0)) { - $259 = $248 - (HEAP32[$db >> 2] | 0) | 0; - $260 = ($259 | 0) / 24 | 0; - $261 = $260 + 1 | 0; - if (($259 | 0) < -24) break; - if ($260 >>> 0 < 1073741823) { - $264 = $260 << 1; - $$0$i$i$i40 = $264 >>> 0 < $261 >>> 0 ? $261 : $264; - } else $$0$i$i$i40 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i38, $$0$i$i$i40, $260, $245); - $267 = HEAP32[$246 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($267, $251); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($267 + 12 | 0, $251 + 12 | 0); - HEAP32[$246 >> 2] = $267 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i38); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i38); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($248, $251); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($248 + 12 | 0, $251 + 12 | 0); - HEAP32[$243 >> 2] = (HEAP32[$243 >> 2] | 0) + 24; - } - $251 = $251 + 24 | 0; - if (($251 | 0) == ($242 | 0)) break L19; - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - } while (0); - $$0 = $t$080$lcssa + 1 | 0; - break L1; - } - } - } else $$0 = $first; else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _icpGetInitXw2Xc_from_PlanarData($matXc2U, $screenCoord, $worldCoord, $num, $initMatXw2Xc) { - $matXc2U = $matXc2U | 0; - $screenCoord = $screenCoord | 0; - $worldCoord = $worldCoord | 0; - $num = $num | 0; - $initMatXw2Xc = $initMatXw2Xc | 0; - var $$$10$i = 0.0, $$$16$i = 0.0, $$$18$i = 0.0, $$$8$i = 0.0, $$0 = 0, $$10$$i = 0.0, $$10$i = 0.0, $$15$i = 0.0, $$16$$i = 0.0, $$16$i = 0.0, $$17$i = 0.0, $$18$$i = 0.0, $$18$i = 0.0, $$7$i = 0.0, $$7$i1 = 0.0, $$7$i2 = 0.0, $$8$$i = 0.0, $$8$i = 0.0, $$9$i = 0.0, $102 = 0, $104 = 0, $106 = 0, $11 = 0, $110 = 0, $112 = 0, $114 = 0.0, $118 = 0.0, $121 = 0.0, $122 = 0.0, $125 = 0.0, $129 = 0.0, $132 = 0.0, $133 = 0.0, $135 = 0.0, $140 = 0.0, $147 = 0.0, $151 = 0.0, $157 = 0.0, $163 = 0.0, $169 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $177 = 0.0, $178 = 0.0, $180 = 0.0, $191 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $197 = 0.0, $199 = 0.0, $200 = 0.0, $203 = 0.0, $209 = 0.0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $218 = 0.0, $226 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $242 = 0.0, $244 = 0.0, $248 = 0.0, $249 = 0.0, $251 = 0.0, $255 = 0.0, $258 = 0.0, $265 = 0.0, $268 = 0.0, $270 = 0.0, $272 = 0.0, $274 = 0.0, $276 = 0.0, $278 = 0.0, $280 = 0.0, $281 = 0, $283 = 0, $291 = 0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $299 = 0.0, $301 = 0.0, $305 = 0.0, $306 = 0.0, $308 = 0.0, $312 = 0.0, $315 = 0.0, $32 = 0, $322 = 0.0, $325 = 0.0, $327 = 0.0, $329 = 0.0, $33 = 0, $331 = 0.0, $333 = 0.0, $335 = 0.0, $337 = 0.0, $338 = 0, $340 = 0, $345 = 0.0, $35 = 0, $352 = 0.0, $359 = 0.0, $366 = 0.0, $37 = 0, $377 = 0.0, $379 = 0.0, $38 = 0, $380 = 0.0, $381 = 0.0, $383 = 0.0, $385 = 0.0, $386 = 0.0, $389 = 0.0, $39 = 0, $395 = 0.0, $41 = 0, $43 = 0, $56 = 0, $83 = 0, $96 = 0, $cb$0$i = 0.0, $e1$0$i = 0.0, $e2$0$i = 0.0, $e3$0$i = 0.0, $e4$0$i = 0.0, $f$0$i = 0, $f$2$i = 0, $i$0 = 0, $i$15 = 0, $t$sroa$0$0 = 0.0, $t$sroa$6$0 = 0.0, $v1$sroa$0$0$i = 0.0, $v1$sroa$16$0$i = 0.0, $v1$sroa$31$0$i = 0.0, $v2$sroa$0$0$i = 0.0, $v2$sroa$16$0$i = 0.0, $v2$sroa$31$0$i = 0.0, $v3$sroa$0$0$i = 0.0, $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i = 0.0, $v3$sroa$0$2$i = 0.0, $v3$sroa$31$0$i = 0.0, $v3$sroa$31$0$v3$sroa$60$0$i = 0.0, $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i = 0.0, $v3$sroa$31$2$i = 0.0, $v3$sroa$60$0$i = 0.0, $v3$sroa$60$0$v3$sroa$31$0$i = 0.0, $v3$sroa$60$3$i = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer11 = sp + 48 | 0; - $vararg_buffer9 = sp + 40 | 0; - $vararg_buffer7 = sp + 32 | 0; - $vararg_buffer5 = sp + 24 | 0; - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - L1 : do if (($num | 0) < 4) $$0 = -1; else { - $i$0 = 0; - while (1) { - if (($i$0 | 0) >= ($num | 0)) break; - if (+HEAPF64[$worldCoord + ($i$0 * 24 | 0) + 16 >> 3] != 0.0) { - $$0 = -1; - break L1; - } else $i$0 = $i$0 + 1 | 0; - } - if (+HEAPF64[$matXc2U >> 3] == 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 32 >> 3] != 0.0) $$0 = -1; else { - $11 = $matXc2U + 40 | 0; - if (+HEAPF64[$11 >> 3] == 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 64 >> 3] != 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 72 >> 3] != 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 80 >> 3] != 1.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 24 >> 3] != 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 56 >> 3] != 0.0) $$0 = -1; else if (+HEAPF64[$matXc2U + 88 >> 3] != 0.0) $$0 = -1; else { - $32 = $num << 1; - $33 = _arMatrixAlloc($32, 8) | 0; - if (!$33) { - _arLog(3, 5124, $vararg_buffer); - $$0 = -1; - break; - } - $35 = _arMatrixAlloc($32, 1) | 0; - if (!$35) { - _arMatrixFree($33) | 0; - _arLog(3, 5150, $vararg_buffer1); - $$0 = -1; - break; - } - if ($num) { - $37 = HEAP32[$33 >> 2] | 0; - $38 = HEAP32[$35 >> 2] | 0; - $i$15 = 0; - do { - $39 = $worldCoord + ($i$15 * 24 | 0) | 0; - $41 = $i$15 << 4; - HEAPF64[$37 + ($41 << 3) >> 3] = +HEAPF64[$39 >> 3]; - $43 = $worldCoord + ($i$15 * 24 | 0) + 8 | 0; - HEAPF64[$37 + (($41 | 1) << 3) >> 3] = +HEAPF64[$43 >> 3]; - HEAPF64[$37 + (($41 | 2) << 3) >> 3] = 1.0; - HEAPF64[$37 + (($41 | 3) << 3) >> 3] = 0.0; - HEAPF64[$37 + (($41 | 4) << 3) >> 3] = 0.0; - HEAPF64[$37 + (($41 | 5) << 3) >> 3] = 0.0; - $56 = $screenCoord + ($i$15 << 4) | 0; - HEAPF64[$37 + (($41 | 6) << 3) >> 3] = -(+HEAPF64[$39 >> 3] * +HEAPF64[$56 >> 3]); - HEAPF64[$37 + (($41 | 7) << 3) >> 3] = -(+HEAPF64[$43 >> 3] * +HEAPF64[$56 >> 3]); - HEAPF64[$37 + (($41 | 8) << 3) >> 3] = 0.0; - HEAPF64[$37 + (($41 | 9) << 3) >> 3] = 0.0; - HEAPF64[$37 + (($41 | 10) << 3) >> 3] = 0.0; - HEAPF64[$37 + (($41 | 11) << 3) >> 3] = +HEAPF64[$39 >> 3]; - HEAPF64[$37 + (($41 | 12) << 3) >> 3] = +HEAPF64[$43 >> 3]; - HEAPF64[$37 + (($41 | 13) << 3) >> 3] = 1.0; - $83 = $screenCoord + ($i$15 << 4) + 8 | 0; - HEAPF64[$37 + (($41 | 14) << 3) >> 3] = -(+HEAPF64[$39 >> 3] * +HEAPF64[$83 >> 3]); - HEAPF64[$37 + (($41 | 15) << 3) >> 3] = -(+HEAPF64[$43 >> 3] * +HEAPF64[$83 >> 3]); - $96 = $i$15 << 1; - HEAPF64[$38 + ($96 << 3) >> 3] = +HEAPF64[$56 >> 3]; - HEAPF64[$38 + (($96 | 1) << 3) >> 3] = +HEAPF64[$83 >> 3]; - $i$15 = $i$15 + 1 | 0; - } while (($i$15 | 0) != ($num | 0)); - } - $102 = _arMatrixAllocTrans($33) | 0; - if (!$102) { - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arLog(3, 5176, $vararg_buffer3); - $$0 = -1; - break; - } - $104 = _arMatrixAllocMul($102, $33) | 0; - if (!$104) { - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arMatrixFree($102) | 0; - _arLog(3, 5202, $vararg_buffer5); - $$0 = -1; - break; - } - $106 = _arMatrixAllocMul($102, $35) | 0; - if (!$106) { - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arMatrixFree($102) | 0; - _arMatrixFree($104) | 0; - _arLog(3, 5228, $vararg_buffer7); - $$0 = -1; - break; - } - if ((_arMatrixSelfInv($104) | 0) < 0) { - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arMatrixFree($102) | 0; - _arMatrixFree($104) | 0; - _arMatrixFree($106) | 0; - _arLog(3, 5254, $vararg_buffer9); - $$0 = -1; - break; - } - $110 = _arMatrixAllocMul($104, $106) | 0; - if (!$110) { - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arMatrixFree($102) | 0; - _arMatrixFree($104) | 0; - _arMatrixFree($106) | 0; - _arLog(3, 5280, $vararg_buffer11); - $$0 = -1; - break; - } - $112 = HEAP32[$110 >> 2] | 0; - $114 = +HEAPF64[$112 + 48 >> 3]; - $118 = +HEAPF64[$matXc2U + 48 >> 3]; - $121 = +HEAPF64[$11 >> 3]; - $122 = (+HEAPF64[$112 + 24 >> 3] - $114 * $118) / $121; - $125 = +HEAPF64[$matXc2U + 16 >> 3]; - $129 = +HEAPF64[$matXc2U + 8 >> 3]; - $132 = +HEAPF64[$matXc2U >> 3]; - $133 = (+HEAPF64[$112 >> 3] - $114 * $125 - $122 * $129) / $132; - $135 = +HEAPF64[$112 + 56 >> 3]; - $140 = (+HEAPF64[$112 + 32 >> 3] - $118 * $135) / $121; - $147 = (+HEAPF64[$112 + 8 >> 3] - $125 * $135 - $129 * $140) / $132; - $151 = (+HEAPF64[$112 + 40 >> 3] - $118) / $121; - $157 = (+HEAPF64[$112 + 16 >> 3] - $125 - $129 * $151) / $132; - _arMatrixFree($33) | 0; - _arMatrixFree($35) | 0; - _arMatrixFree($102) | 0; - _arMatrixFree($104) | 0; - _arMatrixFree($106) | 0; - _arMatrixFree($110) | 0; - $163 = +Math_sqrt(+($114 * $114 + ($122 * $122 + $133 * $133))); - $169 = +Math_sqrt(+($135 * $135 + ($140 * $140 + $147 * $147))); - $170 = $133 / $163; - $171 = $122 / $163; - $172 = $114 / $163; - $173 = $147 / $169; - $174 = $140 / $169; - $175 = $135 / $169; - $177 = ($163 + $169) * .5; - $178 = $157 / $177; - $180 = 1.0 / $177; - if ($180 < 0.0) { - $$7$i1 = -$171; - $191 = -$175; - $193 = -$174; - $194 = -$172; - $197 = -$173; - $199 = -$170; - $t$sroa$0$0 = -$178; - $t$sroa$6$0 = -$180; - } else { - $$7$i1 = $171; - $191 = $175; - $193 = $174; - $194 = $172; - $197 = $173; - $199 = $170; - $t$sroa$0$0 = $178; - $t$sroa$6$0 = $151 / $177; - } - $195 = $191 * $$7$i1 - $193 * $194; - $200 = $197 * $194 - $191 * $199; - $203 = $193 * $199 - $197 * $$7$i1; - $209 = +Math_sqrt(+($203 * $203 + ($195 * $195 + $200 * $200))); - do if ($209 == 0.0) { - $$7$i2 = $$7$i1; - $377 = $191; - $379 = $193; - $380 = $194; - $383 = $197; - $385 = $199; - } else { - $211 = $195 / $209; - $212 = $200 / $209; - $213 = $203 / $209; - $218 = $191 * $194 + ($193 * $$7$i1 + $197 * $199); - $cb$0$i = $218 < 0.0 ? -$218 : $218; - $226 = (+Math_sqrt(+($cb$0$i + 1.0)) + +Math_sqrt(+(1.0 - $cb$0$i))) * .5; - if ($199 * $212 - $$7$i1 * $211 != 0.0) { - $f$0$i = 0; - $v1$sroa$0$0$i = $199; - $v1$sroa$16$0$i = $$7$i1; - $v1$sroa$31$0$i = $194; - $v3$sroa$0$0$i = $211; - $v3$sroa$31$0$i = $212; - $v3$sroa$60$0$i = $213; - } else { - $234 = $199 * $213 - $194 * $211 != 0.0; - $f$0$i = $234 ? 1 : 2; - $v1$sroa$0$0$i = $234 ? $199 : $194; - $v1$sroa$16$0$i = $234 ? $194 : $$7$i1; - $v1$sroa$31$0$i = $234 ? $$7$i1 : $199; - $v3$sroa$0$0$i = $234 ? $211 : $213; - $v3$sroa$31$0$i = $234 ? $213 : $212; - $v3$sroa$60$0$i = $234 ? $212 : $211; - } - $235 = $v1$sroa$0$0$i * $v3$sroa$31$0$i; - $236 = $v1$sroa$16$0$i * $v3$sroa$0$0$i; - $237 = $235 - $236; - if ($237 == 0.0) { - $$7$i2 = $$7$i1; - $377 = $191; - $379 = $193; - $380 = $194; - $383 = $197; - $385 = $199; - break; - } - $242 = ($v1$sroa$16$0$i * $v3$sroa$60$0$i - $v1$sroa$31$0$i * $v3$sroa$31$0$i) / $237; - $244 = $226 * $v3$sroa$31$0$i / $237; - $248 = $236 - $235; - $249 = ($v1$sroa$0$0$i * $v3$sroa$60$0$i - $v1$sroa$31$0$i * $v3$sroa$0$0$i) / $248; - $251 = $226 * $v3$sroa$0$0$i / $248; - $255 = $242 * $242 + $249 * $249 + 1.0; - $258 = $242 * $244 + $249 * $251; - $265 = $258 * $258 - $255 * ($244 * $244 + $251 * $251 + -1.0); - if ($265 < 0.0) { - $$7$i2 = $$7$i1; - $377 = $191; - $379 = $193; - $380 = $194; - $383 = $197; - $385 = $199; - break; - } - $268 = +Math_sqrt(+$265); - $270 = ($268 - $258) / $255; - $272 = $244 + $242 * $270; - $274 = $251 + $249 * $270; - $276 = (-$258 - $268) / $255; - $278 = $244 + $242 * $276; - $280 = $251 + $249 * $276; - $281 = ($f$0$i | 0) == 1; - $v3$sroa$31$0$v3$sroa$60$0$i = $281 ? $v3$sroa$31$0$i : $v3$sroa$60$0$i; - $v3$sroa$60$0$v3$sroa$31$0$i = $281 ? $v3$sroa$60$0$i : $v3$sroa$31$0$i; - $$7$i = $281 ? $270 : $274; - $$8$i = $281 ? $274 : $270; - $$9$i = $281 ? $276 : $280; - $$10$i = $281 ? $280 : $276; - $283 = ($f$0$i | 0) == 2 & ($281 ^ 1); - $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i = $283 ? $v3$sroa$0$0$i : $v3$sroa$31$0$v3$sroa$60$0$i; - $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i = $283 ? $v3$sroa$31$0$v3$sroa$60$0$i : $v3$sroa$0$0$i; - $$8$$i = $283 ? $$8$i : $272; - $$$8$i = $283 ? $272 : $$8$i; - $$10$$i = $283 ? $$10$i : $278; - $$$10$i = $283 ? $278 : $$10$i; - if ($197 * $v3$sroa$60$0$v3$sroa$31$0$i - $193 * $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i != 0.0) { - $f$2$i = 0; - $v2$sroa$0$0$i = $197; - $v2$sroa$16$0$i = $193; - $v2$sroa$31$0$i = $191; - $v3$sroa$0$2$i = $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i; - $v3$sroa$31$2$i = $v3$sroa$60$0$v3$sroa$31$0$i; - $v3$sroa$60$3$i = $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i; - } else { - $291 = $197 * $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i - $191 * $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i != 0.0; - $f$2$i = $291 ? 1 : 2; - $v2$sroa$0$0$i = $291 ? $197 : $191; - $v2$sroa$16$0$i = $291 ? $191 : $193; - $v2$sroa$31$0$i = $291 ? $193 : $197; - $v3$sroa$0$2$i = $291 ? $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i : $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i; - $v3$sroa$31$2$i = $291 ? $v3$sroa$0$0$v3$sroa$31$0$v3$sroa$60$0$i : $v3$sroa$60$0$v3$sroa$31$0$i; - $v3$sroa$60$3$i = $291 ? $v3$sroa$60$0$v3$sroa$31$0$i : $v3$sroa$31$0$v3$sroa$60$0$v3$sroa$0$0$i; - } - $292 = $v2$sroa$0$0$i * $v3$sroa$31$2$i; - $293 = $v2$sroa$16$0$i * $v3$sroa$0$2$i; - $294 = $292 - $293; - if ($294 == 0.0) { - $$7$i2 = $$7$i1; - $377 = $191; - $379 = $193; - $380 = $194; - $383 = $197; - $385 = $199; - break; - } - $299 = ($v2$sroa$16$0$i * $v3$sroa$60$3$i - $v2$sroa$31$0$i * $v3$sroa$31$2$i) / $294; - $301 = $226 * $v3$sroa$31$2$i / $294; - $305 = $293 - $292; - $306 = ($v2$sroa$0$0$i * $v3$sroa$60$3$i - $v2$sroa$31$0$i * $v3$sroa$0$2$i) / $305; - $308 = $226 * $v3$sroa$0$2$i / $305; - $312 = $299 * $299 + $306 * $306 + 1.0; - $315 = $299 * $301 + $306 * $308; - $322 = $315 * $315 - $312 * ($301 * $301 + $308 * $308 + -1.0); - if ($322 < 0.0) { - $$7$i2 = $$7$i1; - $377 = $191; - $379 = $193; - $380 = $194; - $383 = $197; - $385 = $199; - break; - } - $325 = +Math_sqrt(+$322); - $327 = ($325 - $315) / $312; - $329 = $301 + $299 * $327; - $331 = $308 + $306 * $327; - $333 = (-$315 - $325) / $312; - $335 = $301 + $299 * $333; - $337 = $308 + $306 * $333; - $338 = ($f$2$i | 0) == 1; - $$15$i = $338 ? $327 : $331; - $$16$i = $338 ? $331 : $327; - $$17$i = $338 ? $333 : $337; - $$18$i = $338 ? $337 : $333; - $340 = ($f$2$i | 0) == 2 & ($338 ^ 1); - $$16$$i = $340 ? $$16$i : $329; - $$$16$i = $340 ? $329 : $$16$i; - $$18$$i = $340 ? $$18$i : $335; - $$$18$i = $340 ? $335 : $$18$i; - $345 = $$$8$i * $$$16$i + ($$7$i * $$15$i + $$8$$i * $$16$$i); - $e1$0$i = $345 < 0.0 ? -$345 : $345; - $352 = $$$8$i * $$$18$i + ($$7$i * $$17$i + $$8$$i * $$18$$i); - $e2$0$i = $352 < 0.0 ? -$352 : $352; - $359 = $$$10$i * $$$16$i + ($$9$i * $$15$i + $$10$$i * $$16$$i); - $e3$0$i = $359 < 0.0 ? -$359 : $359; - $366 = $$$10$i * $$$18$i + ($$9$i * $$17$i + $$10$$i * $$18$$i); - $e4$0$i = $366 < 0.0 ? -$366 : $366; - if ($e1$0$i < $e2$0$i) if ($e1$0$i < $e3$0$i) { - if ($e1$0$i < $e4$0$i) { - $$7$i2 = $$7$i; - $377 = $$$16$i; - $379 = $$15$i; - $380 = $$$8$i; - $383 = $$16$$i; - $385 = $$8$$i; - break; - } - $$7$i2 = $$9$i; - $377 = $$$18$i; - $379 = $$17$i; - $380 = $$$10$i; - $383 = $$18$$i; - $385 = $$10$$i; - break; - } else { - if ($e3$0$i < $e4$0$i) { - $$7$i2 = $$9$i; - $377 = $$$16$i; - $379 = $$15$i; - $380 = $$$10$i; - $383 = $$16$$i; - $385 = $$10$$i; - break; - } - $$7$i2 = $$9$i; - $377 = $$$18$i; - $379 = $$17$i; - $380 = $$$10$i; - $383 = $$18$$i; - $385 = $$10$$i; - break; - } else if ($e2$0$i < $e3$0$i) { - if ($e2$0$i < $e4$0$i) { - $$7$i2 = $$7$i; - $377 = $$$18$i; - $379 = $$17$i; - $380 = $$$8$i; - $383 = $$18$$i; - $385 = $$8$$i; - break; - } - $$7$i2 = $$9$i; - $377 = $$$18$i; - $379 = $$17$i; - $380 = $$$10$i; - $383 = $$18$$i; - $385 = $$10$$i; - break; - } else { - if ($e3$0$i < $e4$0$i) { - $$7$i2 = $$9$i; - $377 = $$$16$i; - $379 = $$15$i; - $380 = $$$10$i; - $383 = $$16$$i; - $385 = $$10$$i; - break; - } - $$7$i2 = $$9$i; - $377 = $$$18$i; - $379 = $$17$i; - $380 = $$$10$i; - $383 = $$18$$i; - $385 = $$10$$i; - break; - } - } while (0); - $381 = $377 * $$7$i2 - $379 * $380; - $386 = $383 * $380 - $377 * $385; - $389 = $379 * $385 - $383 * $$7$i2; - $395 = +Math_sqrt(+($389 * $389 + ($381 * $381 + $386 * $386))); - HEAPF64[$initMatXw2Xc >> 3] = $385; - HEAPF64[$initMatXw2Xc + 32 >> 3] = $$7$i2; - HEAPF64[$initMatXw2Xc + 64 >> 3] = $380; - HEAPF64[$initMatXw2Xc + 8 >> 3] = $383; - HEAPF64[$initMatXw2Xc + 40 >> 3] = $379; - HEAPF64[$initMatXw2Xc + 72 >> 3] = $377; - HEAPF64[$initMatXw2Xc + 16 >> 3] = $381 / $395; - HEAPF64[$initMatXw2Xc + 48 >> 3] = $386 / $395; - HEAPF64[$initMatXw2Xc + 80 >> 3] = $389 / $395; - HEAPF64[$initMatXw2Xc + 24 >> 3] = $t$sroa$0$0; - HEAPF64[$initMatXw2Xc + 56 >> 3] = $t$sroa$6$0; - HEAPF64[$initMatXw2Xc + 88 >> 3] = $180; - $$0 = 0; - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arGetTransMatMultiSquare2($handle, $marker_info, $marker_num, $config, $robustFlag) { - $handle = $handle | 0; - $marker_info = $marker_info | 0; - $marker_num = $marker_num | 0; - $config = $config | 0; - $robustFlag = $robustFlag | 0; - var $$0 = 0.0, $$pre38 = 0, $0 = 0, $1 = 0, $114 = 0, $116 = 0, $119 = 0, $12 = 0, $121 = 0, $123 = 0, $125 = 0, $128 = 0, $13 = 0, $130 = 0, $133 = 0, $140 = 0, $15 = 0, $150 = 0, $160 = 0, $171 = 0, $2 = 0, $20 = 0.0, $209 = 0, $221 = 0, $224 = 0, $225 = 0, $226 = 0.0, $229 = 0.0, $232 = 0.0, $235 = 0.0, $239 = 0.0, $240 = 0, $241 = 0.0, $242 = 0, $258 = 0.0, $259 = 0.0, $276 = 0.0, $277 = 0.0, $294 = 0.0, $295 = 0.0, $3 = 0, $312 = 0.0, $313 = 0.0, $342 = 0, $344 = 0, $346 = 0, $348 = 0, $35 = 0, $38 = 0, $40 = 0, $43 = 0, $47 = 0, $5 = 0, $59 = 0.0, $6 = 0, $7 = 0, $75 = 0, $77 = 0, $79 = 0, $86 = 0, $err$0 = 0.0, $err$1 = 0.0, $err$2 = 0.0, $err$3 = 0.0, $err$4 = 0.0, $err$5 = 0.0, $err$6 = 0.0, $i$081 = 0, $i$165 = 0, $i$256 = 0, $i$942 = 0, $j$077 = 0, $j$1055 = 0, $j$171 = 0, $j$261 = 0, $j$357 = 0, $j$4 = 0, $j$553 = 0, $j$651 = 0, $j$749 = 0, $j$847 = 0, $j$945 = 0, $k$0$lcssa = 0, $k$078 = 0, $k$1 = 0, $k$2$lcssa = 0, $k$273 = 0, $k$3 = 0, $max$0$lcssa = 0, $max$062 = 0, $max$1 = 0, $max$2 = 0, $maxArea$063 = 0, $maxArea$1 = 0, $maxArea$2 = 0, $trans1 = 0, $trans2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vnum$0$lcssa = 0, $vnum$064 = 0, $vnum$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 200 | 0; - $vararg_buffer = sp + 192 | 0; - $trans1 = sp + 96 | 0; - $trans2 = sp; - $0 = $config + 4 | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = $config + 112 | 0; - $3 = $config + 120 | 0; - if (($1 | 0) > 0) { - $5 = HEAP32[$config >> 2] | 0; - $6 = ($marker_num | 0) > 0; - $7 = ($marker_num | 0) > 0; - $i$081 = 0; - do { - if (!(HEAP32[$5 + ($i$081 * 320 | 0) + 4 >> 2] | 0)) { - if ($6) { - $15 = HEAP32[$5 + ($i$081 * 320 | 0) >> 2] | 0; - $j$077 = 0; - $k$078 = -1; - while (1) { - if ((HEAP32[$marker_info + ($j$077 << 8) + 8 >> 2] | 0) == ($15 | 0)) { - $20 = +HEAPF64[$marker_info + ($j$077 << 8) + 40 >> 3]; - if ($20 < +HEAPF64[$2 >> 3]) $k$1 = $k$078; else if (($k$078 | 0) == -1) $k$1 = $j$077; else if (+HEAPF64[$marker_info + ($k$078 << 8) + 40 >> 3] < $20) $k$1 = $j$077; else $k$1 = $k$078; - } else $k$1 = $k$078; - $j$077 = $j$077 + 1 | 0; - if (($j$077 | 0) >= ($marker_num | 0)) { - $k$0$lcssa = $k$1; - break; - } else $k$078 = $k$1; - } - } else $k$0$lcssa = -1; - HEAP32[$5 + ($i$081 * 320 | 0) + 304 >> 2] = $k$0$lcssa; - if (($k$0$lcssa | 0) > -1) HEAP32[$marker_info + ($k$0$lcssa << 8) + 16 >> 2] = HEAP32[$marker_info + ($k$0$lcssa << 8) + 20 >> 2]; - } else { - $12 = $5 + ($i$081 * 320 | 0) + 312 | 0; - $13 = $5 + ($i$081 * 320 | 0) | 0; - if ($7) { - $j$171 = 0; - $k$273 = -1; - while (1) { - $35 = HEAP32[$marker_info + ($j$171 << 8) + 12 >> 2] | 0; - if (!$35) { - $38 = $marker_info + ($j$171 << 8) + 248 | 0; - $40 = HEAP32[$38 >> 2] | 0; - $43 = HEAP32[$38 + 4 >> 2] | 0; - if (($40 | 0) == 0 & ($43 | 0) == 0) label = 19; else { - $47 = $12; - if (($40 | 0) == (HEAP32[$47 >> 2] | 0) ? ($43 | 0) == (HEAP32[$47 + 4 >> 2] | 0) : 0) label = 20; else $k$3 = $k$273; - } - } else label = 19; - if ((label | 0) == 19) { - label = 0; - if (($35 | 0) == (HEAP32[$13 >> 2] | 0)) label = 20; else $k$3 = $k$273; - } - if ((label | 0) == 20) { - label = 0; - $59 = +HEAPF64[$marker_info + ($j$171 << 8) + 48 >> 3]; - if ($59 < +HEAPF64[$3 >> 3]) $k$3 = $k$273; else if (($k$273 | 0) == -1) $k$3 = $j$171; else if (+HEAPF64[$marker_info + ($k$273 << 8) + 48 >> 3] < $59) $k$3 = $j$171; else $k$3 = $k$273; - } - $j$171 = $j$171 + 1 | 0; - if (($j$171 | 0) >= ($marker_num | 0)) { - $k$2$lcssa = $k$3; - break; - } else $k$273 = $k$3; - } - } else $k$2$lcssa = -1; - HEAP32[$5 + ($i$081 * 320 | 0) + 304 >> 2] = $k$2$lcssa; - if (($k$2$lcssa | 0) > -1) HEAP32[$marker_info + ($k$2$lcssa << 8) + 16 >> 2] = HEAP32[$marker_info + ($k$2$lcssa << 8) + 24 >> 2]; - } - $i$081 = $i$081 + 1 | 0; - } while (($i$081 | 0) < ($1 | 0)); - } - if (($1 | 0) > 0) { - $i$165 = 0; - $max$062 = 0; - $maxArea$063 = 0; - $vnum$064 = 0; - while (1) { - $75 = HEAP32[$config >> 2] | 0; - $77 = HEAP32[$75 + ($i$165 * 320 | 0) + 304 >> 2] | 0; - do if (($77 | 0) < 0) { - $max$2 = $max$062; - $maxArea$2 = $maxArea$063; - $vnum$1 = $vnum$064; - } else { - $79 = $marker_info + ($77 << 8) | 0; - if (+_arGetTransMatSquare($handle, $79, +HEAPF64[$75 + ($i$165 * 320 | 0) + 8 >> 3], $trans2) > 4.0) { - HEAP32[(HEAP32[$config >> 2] | 0) + ($i$165 * 320 | 0) + 304 >> 2] = -1; - $86 = $marker_info + ($77 << 8) + 236 | 0; - if (HEAP32[$86 >> 2] | 0) { - $max$2 = $max$062; - $maxArea$2 = $maxArea$063; - $vnum$1 = $vnum$064; - break; - } - HEAP32[$86 >> 2] = 7; - $max$2 = $max$062; - $maxArea$2 = $maxArea$063; - $vnum$1 = $vnum$064; - break; - } - $$pre38 = HEAP32[$79 >> 2] | 0; - if (($vnum$064 | 0) == 0 | ($maxArea$063 | 0) < ($$pre38 | 0)) { - $j$261 = 0; - do { - HEAPF64[$trans1 + ($j$261 << 5) >> 3] = +HEAPF64[$trans2 + ($j$261 << 5) >> 3]; - HEAPF64[$trans1 + ($j$261 << 5) + 8 >> 3] = +HEAPF64[$trans2 + ($j$261 << 5) + 8 >> 3]; - HEAPF64[$trans1 + ($j$261 << 5) + 16 >> 3] = +HEAPF64[$trans2 + ($j$261 << 5) + 16 >> 3]; - HEAPF64[$trans1 + ($j$261 << 5) + 24 >> 3] = +HEAPF64[$trans2 + ($j$261 << 5) + 24 >> 3]; - $j$261 = $j$261 + 1 | 0; - } while (($j$261 | 0) != 3); - $max$1 = $i$165; - $maxArea$1 = $$pre38; - } else { - $max$1 = $max$062; - $maxArea$1 = $maxArea$063; - } - $max$2 = $max$1; - $maxArea$2 = $maxArea$1; - $vnum$1 = $vnum$064 + 1 | 0; - } while (0); - $i$165 = $i$165 + 1 | 0; - if (($i$165 | 0) >= (HEAP32[$0 >> 2] | 0)) { - $max$0$lcssa = $max$2; - $vnum$0$lcssa = $vnum$1; - break; - } else { - $max$062 = $max$2; - $maxArea$063 = $maxArea$2; - $vnum$064 = $vnum$1; - } - } - } else { - $max$0$lcssa = 0; - $vnum$0$lcssa = 0; - } - do if (!$vnum$0$lcssa) label = 38; else if (($vnum$0$lcssa | 0) < (HEAP32[$config + 128 >> 2] | 0)) label = 38; else { - _arUtilMatMul($trans1, (HEAP32[$config >> 2] | 0) + ($max$0$lcssa * 320 | 0) + 112 | 0, $trans2) | 0; - $114 = $vnum$0$lcssa << 2; - $116 = _malloc($vnum$0$lcssa << 6) | 0; - if (!$116) { - _arLog(3, 5471, $vararg_buffer); - _exit(1); - } - $119 = _malloc($vnum$0$lcssa * 96 | 0) | 0; - if (!$119) { - _arLog(3, 5471, $vararg_buffer1); - _exit(1); - } - $121 = HEAP32[$0 >> 2] | 0; - if (($121 | 0) > 0) { - $123 = HEAP32[$config >> 2] | 0; - $i$256 = 0; - $j$357 = 0; - while (1) { - $125 = HEAP32[$123 + ($i$256 * 320 | 0) + 304 >> 2] | 0; - if (($125 | 0) < 0) $j$4 = $j$357; else { - $128 = HEAP32[$marker_info + ($125 << 8) + 16 >> 2] | 0; - $130 = (4 - $128 | 0) % 4 | 0; - $133 = $j$357 << 3; - HEAPF64[$116 + ($133 << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($130 << 4) >> 3]; - HEAPF64[$116 + (($133 | 1) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($130 << 4) + 8 >> 3]; - $140 = (5 - $128 | 0) % 4 | 0; - HEAPF64[$116 + (($133 | 2) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($140 << 4) >> 3]; - HEAPF64[$116 + (($133 | 3) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($140 << 4) + 8 >> 3]; - $150 = (6 - $128 | 0) % 4 | 0; - HEAPF64[$116 + (($133 | 4) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($150 << 4) >> 3]; - HEAPF64[$116 + (($133 | 5) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($150 << 4) + 8 >> 3]; - $160 = (7 - $128 | 0) % 4 | 0; - HEAPF64[$116 + (($133 | 6) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($160 << 4) >> 3]; - HEAPF64[$116 + (($133 | 7) << 3) >> 3] = +HEAPF64[$marker_info + ($125 << 8) + 168 + ($160 << 4) + 8 >> 3]; - $171 = $j$357 * 12 | 0; - HEAPF64[$119 + ($171 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 208 >> 3]; - HEAPF64[$119 + (($171 | 1) << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 216 >> 3]; - HEAPF64[$119 + (($171 | 2) << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 224 >> 3]; - HEAPF64[$119 + (($171 | 3) << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 232 >> 3]; - HEAPF64[$119 + ($171 + 4 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 240 >> 3]; - HEAPF64[$119 + ($171 + 5 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 248 >> 3]; - HEAPF64[$119 + ($171 + 6 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 256 >> 3]; - HEAPF64[$119 + ($171 + 7 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 264 >> 3]; - HEAPF64[$119 + ($171 + 8 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 272 >> 3]; - HEAPF64[$119 + ($171 + 9 << 3) >> 3] = +HEAPF64[$123 + ($i$256 * 320 | 0) + 280 >> 3]; - $209 = HEAP32[$config >> 2] | 0; - HEAPF64[$119 + ($171 + 10 << 3) >> 3] = +HEAPF64[$209 + ($i$256 * 320 | 0) + 288 >> 3]; - HEAPF64[$119 + ($171 + 11 << 3) >> 3] = +HEAPF64[$209 + ($i$256 * 320 | 0) + 296 >> 3]; - $j$4 = $j$357 + 1 | 0; - } - $i$256 = $i$256 + 1 | 0; - if (($i$256 | 0) >= ($121 | 0)) break; else $j$357 = $j$4; - } - } - $221 = $config + 104 | 0; - $224 = ($robustFlag | 0) != 0; - if (!(HEAP32[$221 >> 2] | 0)) { - $225 = $config + 8 | 0; - $226 = +_arGetTransMat($handle, $trans2, $116, $119, $114, $225); - if ($224 & $226 >= 20.0) { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .8) | 0; - $229 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $225); - if (!($229 >= 20.0)) $err$0 = $229; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .6) | 0; - $232 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $225); - if (!($232 >= 20.0)) $err$0 = $232; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .4) | 0; - $235 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $225); - if (!($235 >= 20.0)) $err$0 = $235; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, 0.0) | 0; - $err$0 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $225); - } - } - } - } else $err$0 = $226; - _free($119); - _free($116); - $err$6 = $err$0; - } else { - $239 = +_arGetTransMat($handle, $trans2, $116, $119, $114, $trans1); - $240 = $config + 8 | 0; - $241 = +_arGetTransMat($handle, $240, $116, $119, $114, $240); - $242 = $239 < $241; - do if ($224) { - if ($242) { - $j$553 = 0; - do { - HEAPF64[$config + 8 + ($j$553 << 5) >> 3] = +HEAPF64[$trans1 + ($j$553 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$553 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$553 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$553 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$553 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$553 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$553 << 5) + 24 >> 3]; - $j$553 = $j$553 + 1 | 0; - } while (($j$553 | 0) != 3); - $err$1 = $239; - } else $err$1 = $241; - if (!($err$1 >= 20.0)) $err$5 = $err$1; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .8) | 0; - $258 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $trans1); - $259 = +_arGetTransMatRobust($handle, $240, $116, $119, $114, $240); - if ($258 < $259) { - $j$651 = 0; - do { - HEAPF64[$config + 8 + ($j$651 << 5) >> 3] = +HEAPF64[$trans1 + ($j$651 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$651 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$651 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$651 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$651 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$651 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$651 << 5) + 24 >> 3]; - $j$651 = $j$651 + 1 | 0; - } while (($j$651 | 0) != 3); - $err$2 = $258; - } else $err$2 = $259; - if (!($err$2 >= 20.0)) $err$5 = $err$2; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .6) | 0; - $276 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $trans1); - $277 = +_arGetTransMatRobust($handle, $240, $116, $119, $114, $240); - if ($276 < $277) { - $j$749 = 0; - do { - HEAPF64[$config + 8 + ($j$749 << 5) >> 3] = +HEAPF64[$trans1 + ($j$749 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$749 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$749 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$749 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$749 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$749 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$749 << 5) + 24 >> 3]; - $j$749 = $j$749 + 1 | 0; - } while (($j$749 | 0) != 3); - $err$3 = $276; - } else $err$3 = $277; - if (!($err$3 >= 20.0)) $err$5 = $err$3; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, .4) | 0; - $294 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $trans1); - $295 = +_arGetTransMatRobust($handle, $240, $116, $119, $114, $240); - if ($294 < $295) { - $j$847 = 0; - do { - HEAPF64[$config + 8 + ($j$847 << 5) >> 3] = +HEAPF64[$trans1 + ($j$847 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$847 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$847 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$847 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$847 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$847 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$847 << 5) + 24 >> 3]; - $j$847 = $j$847 + 1 | 0; - } while (($j$847 | 0) != 3); - $err$4 = $294; - } else $err$4 = $295; - if (!($err$4 >= 20.0)) $err$5 = $err$4; else { - _icpSetInlierProbability(HEAP32[$handle >> 2] | 0, 0.0) | 0; - $312 = +_arGetTransMatRobust($handle, $trans2, $116, $119, $114, $trans1); - $313 = +_arGetTransMatRobust($handle, $240, $116, $119, $114, $240); - if ($312 < $313) $j$945 = 0; else { - $err$5 = $313; - break; - } - do { - HEAPF64[$config + 8 + ($j$945 << 5) >> 3] = +HEAPF64[$trans1 + ($j$945 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$945 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$945 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$945 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$945 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$945 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$945 << 5) + 24 >> 3]; - $j$945 = $j$945 + 1 | 0; - } while (($j$945 | 0) != 3); - $err$5 = $312; - } - } - } - } - } else if ($242) { - $j$1055 = 0; - do { - HEAPF64[$config + 8 + ($j$1055 << 5) >> 3] = +HEAPF64[$trans1 + ($j$1055 << 5) >> 3]; - HEAPF64[$config + 8 + ($j$1055 << 5) + 8 >> 3] = +HEAPF64[$trans1 + ($j$1055 << 5) + 8 >> 3]; - HEAPF64[$config + 8 + ($j$1055 << 5) + 16 >> 3] = +HEAPF64[$trans1 + ($j$1055 << 5) + 16 >> 3]; - HEAPF64[$config + 8 + ($j$1055 << 5) + 24 >> 3] = +HEAPF64[$trans1 + ($j$1055 << 5) + 24 >> 3]; - $j$1055 = $j$1055 + 1 | 0; - } while (($j$1055 | 0) != 3); - $err$5 = $239; - } else $err$5 = $241; while (0); - _free($119); - _free($116); - $err$6 = $err$5; - } - if ($err$6 < 20.0) { - HEAP32[$221 >> 2] = 1; - $$0 = $err$6; - break; - } - HEAP32[$221 >> 2] = 0; - $342 = HEAP32[$0 >> 2] | 0; - if (($342 | 0) > 0) { - $344 = HEAP32[$config >> 2] | 0; - $i$942 = 0; - do { - $346 = HEAP32[$344 + ($i$942 * 320 | 0) + 304 >> 2] | 0; - if (($346 | 0) >= 0) { - $348 = $marker_info + ($346 << 8) + 236 | 0; - if (!(HEAP32[$348 >> 2] | 0)) HEAP32[$348 >> 2] = 8; - } - $i$942 = $i$942 + 1 | 0; - } while (($i$942 | 0) < ($342 | 0)); - $$0 = $err$6; - } else $$0 = $err$6; - } while (0); - if ((label | 0) == 38) { - HEAP32[$config + 104 >> 2] = 0; - $$0 = -1.0; - } - STACKTOP = sp; - return +$$0; -} - -function __ZNSt3__112__next_primeEj($n) { - $n = $n | 0; - var $$ = 0, $$0 = 0, $$k0$0 = 0, $0 = 0, $1 = 0, $103 = 0, $104 = 0, $108 = 0, $109 = 0, $113 = 0, $114 = 0, $118 = 0, $119 = 0, $12 = 0, $123 = 0, $124 = 0, $128 = 0, $129 = 0, $133 = 0, $134 = 0, $138 = 0, $139 = 0, $143 = 0, $144 = 0, $148 = 0, $149 = 0, $153 = 0, $154 = 0, $158 = 0, $159 = 0, $163 = 0, $164 = 0, $168 = 0, $169 = 0, $173 = 0, $174 = 0, $178 = 0, $179 = 0, $18 = 0, $183 = 0, $184 = 0, $188 = 0, $189 = 0, $19 = 0, $193 = 0, $194 = 0, $198 = 0, $199 = 0, $2 = 0, $203 = 0, $204 = 0, $208 = 0, $209 = 0, $213 = 0, $214 = 0, $218 = 0, $219 = 0, $223 = 0, $224 = 0, $228 = 0, $229 = 0, $233 = 0, $234 = 0, $238 = 0, $239 = 0, $24 = 0, $243 = 0, $244 = 0, $248 = 0, $249 = 0, $253 = 0, $254 = 0, $258 = 0, $259 = 0, $264 = 0, $265 = 0, $28 = 0, $29 = 0, $33 = 0, $34 = 0, $38 = 0, $39 = 0, $4 = 0, $43 = 0, $44 = 0, $48 = 0, $49 = 0, $53 = 0, $54 = 0, $58 = 0, $59 = 0, $6 = 0, $63 = 0, $64 = 0, $68 = 0, $69 = 0, $7 = 0, $73 = 0, $74 = 0, $78 = 0, $79 = 0, $83 = 0, $84 = 0, $88 = 0, $89 = 0, $93 = 0, $94 = 0, $98 = 0, $99 = 0, $i$0 = 0, $in$0 = 0, $j$0 = 0, $k0$0 = 0, $storemerge = 0, $storemerge$lcssa = 0, $storemerge$lcssa15 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 8 | 0; - $1 = sp + 4 | 0; - $2 = sp; - HEAP32[$1 >> 2] = $n; - do if ($n >>> 0 < 212) { - $4 = __ZNSt3__113__lower_boundIRNS_6__lessIjjEEPKjjEET0_S6_S6_RKT1_T_(3520, 3712, $1, $0) | 0; - $$0 = HEAP32[$4 >> 2] | 0; - } else { - $6 = ($n >>> 0) / 210 | 0; - $7 = $6 * 210 | 0; - HEAP32[$2 >> 2] = $n - $7; - $12 = (__ZNSt3__113__lower_boundIRNS_6__lessIjjEEPKjjEET0_S6_S6_RKT1_T_(3712, 3904, $2, $0) | 0) - 3712 >> 2; - $in$0 = $12; - $k0$0 = $6; - $storemerge = (HEAP32[3712 + ($12 << 2) >> 2] | 0) + $7 | 0; - L4 : while (1) { - $j$0 = 5; - while (1) { - if ($j$0 >>> 0 >= 47) { - $i$0 = 211; - label = 8; - break; - } - $18 = HEAP32[3520 + ($j$0 << 2) >> 2] | 0; - $19 = ($storemerge >>> 0) / ($18 >>> 0) | 0; - if ($19 >>> 0 < $18 >>> 0) { - $storemerge$lcssa15 = $storemerge; - label = 106; - break L4; - } - if (($storemerge | 0) == (Math_imul($19, $18) | 0)) break; else $j$0 = $j$0 + 1 | 0; - } - L10 : do if ((label | 0) == 8) while (1) { - label = 0; - $24 = ($storemerge >>> 0) / ($i$0 >>> 0) | 0; - if ($24 >>> 0 < $i$0 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($24, $i$0) | 0)) break L10; - $28 = $i$0 + 10 | 0; - $29 = ($storemerge >>> 0) / ($28 >>> 0) | 0; - if ($29 >>> 0 < $28 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($29, $28) | 0)) break L10; - $33 = $i$0 + 12 | 0; - $34 = ($storemerge >>> 0) / ($33 >>> 0) | 0; - if ($34 >>> 0 < $33 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($34, $33) | 0)) break L10; - $38 = $i$0 + 16 | 0; - $39 = ($storemerge >>> 0) / ($38 >>> 0) | 0; - if ($39 >>> 0 < $38 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($39, $38) | 0)) break L10; - $43 = $i$0 + 18 | 0; - $44 = ($storemerge >>> 0) / ($43 >>> 0) | 0; - if ($44 >>> 0 < $43 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($44, $43) | 0)) break L10; - $48 = $i$0 + 22 | 0; - $49 = ($storemerge >>> 0) / ($48 >>> 0) | 0; - if ($49 >>> 0 < $48 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($49, $48) | 0)) break L10; - $53 = $i$0 + 28 | 0; - $54 = ($storemerge >>> 0) / ($53 >>> 0) | 0; - if ($54 >>> 0 < $53 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($54, $53) | 0)) break L10; - $58 = $i$0 + 30 | 0; - $59 = ($storemerge >>> 0) / ($58 >>> 0) | 0; - if ($59 >>> 0 < $58 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($59, $58) | 0)) break L10; - $63 = $i$0 + 36 | 0; - $64 = ($storemerge >>> 0) / ($63 >>> 0) | 0; - if ($64 >>> 0 < $63 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($64, $63) | 0)) break L10; - $68 = $i$0 + 40 | 0; - $69 = ($storemerge >>> 0) / ($68 >>> 0) | 0; - if ($69 >>> 0 < $68 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($69, $68) | 0)) break L10; - $73 = $i$0 + 42 | 0; - $74 = ($storemerge >>> 0) / ($73 >>> 0) | 0; - if ($74 >>> 0 < $73 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($74, $73) | 0)) break L10; - $78 = $i$0 + 46 | 0; - $79 = ($storemerge >>> 0) / ($78 >>> 0) | 0; - if ($79 >>> 0 < $78 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($79, $78) | 0)) break L10; - $83 = $i$0 + 52 | 0; - $84 = ($storemerge >>> 0) / ($83 >>> 0) | 0; - if ($84 >>> 0 < $83 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($84, $83) | 0)) break L10; - $88 = $i$0 + 58 | 0; - $89 = ($storemerge >>> 0) / ($88 >>> 0) | 0; - if ($89 >>> 0 < $88 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($89, $88) | 0)) break L10; - $93 = $i$0 + 60 | 0; - $94 = ($storemerge >>> 0) / ($93 >>> 0) | 0; - if ($94 >>> 0 < $93 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($94, $93) | 0)) break L10; - $98 = $i$0 + 66 | 0; - $99 = ($storemerge >>> 0) / ($98 >>> 0) | 0; - if ($99 >>> 0 < $98 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($99, $98) | 0)) break L10; - $103 = $i$0 + 70 | 0; - $104 = ($storemerge >>> 0) / ($103 >>> 0) | 0; - if ($104 >>> 0 < $103 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($104, $103) | 0)) break L10; - $108 = $i$0 + 72 | 0; - $109 = ($storemerge >>> 0) / ($108 >>> 0) | 0; - if ($109 >>> 0 < $108 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($109, $108) | 0)) break L10; - $113 = $i$0 + 78 | 0; - $114 = ($storemerge >>> 0) / ($113 >>> 0) | 0; - if ($114 >>> 0 < $113 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($114, $113) | 0)) break L10; - $118 = $i$0 + 82 | 0; - $119 = ($storemerge >>> 0) / ($118 >>> 0) | 0; - if ($119 >>> 0 < $118 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($119, $118) | 0)) break L10; - $123 = $i$0 + 88 | 0; - $124 = ($storemerge >>> 0) / ($123 >>> 0) | 0; - if ($124 >>> 0 < $123 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($124, $123) | 0)) break L10; - $128 = $i$0 + 96 | 0; - $129 = ($storemerge >>> 0) / ($128 >>> 0) | 0; - if ($129 >>> 0 < $128 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($129, $128) | 0)) break L10; - $133 = $i$0 + 100 | 0; - $134 = ($storemerge >>> 0) / ($133 >>> 0) | 0; - if ($134 >>> 0 < $133 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($134, $133) | 0)) break L10; - $138 = $i$0 + 102 | 0; - $139 = ($storemerge >>> 0) / ($138 >>> 0) | 0; - if ($139 >>> 0 < $138 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($139, $138) | 0)) break L10; - $143 = $i$0 + 106 | 0; - $144 = ($storemerge >>> 0) / ($143 >>> 0) | 0; - if ($144 >>> 0 < $143 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($144, $143) | 0)) break L10; - $148 = $i$0 + 108 | 0; - $149 = ($storemerge >>> 0) / ($148 >>> 0) | 0; - if ($149 >>> 0 < $148 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($149, $148) | 0)) break L10; - $153 = $i$0 + 112 | 0; - $154 = ($storemerge >>> 0) / ($153 >>> 0) | 0; - if ($154 >>> 0 < $153 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($154, $153) | 0)) break L10; - $158 = $i$0 + 120 | 0; - $159 = ($storemerge >>> 0) / ($158 >>> 0) | 0; - if ($159 >>> 0 < $158 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($159, $158) | 0)) break L10; - $163 = $i$0 + 126 | 0; - $164 = ($storemerge >>> 0) / ($163 >>> 0) | 0; - if ($164 >>> 0 < $163 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($164, $163) | 0)) break L10; - $168 = $i$0 + 130 | 0; - $169 = ($storemerge >>> 0) / ($168 >>> 0) | 0; - if ($169 >>> 0 < $168 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($169, $168) | 0)) break L10; - $173 = $i$0 + 136 | 0; - $174 = ($storemerge >>> 0) / ($173 >>> 0) | 0; - if ($174 >>> 0 < $173 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($174, $173) | 0)) break L10; - $178 = $i$0 + 138 | 0; - $179 = ($storemerge >>> 0) / ($178 >>> 0) | 0; - if ($179 >>> 0 < $178 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($179, $178) | 0)) break L10; - $183 = $i$0 + 142 | 0; - $184 = ($storemerge >>> 0) / ($183 >>> 0) | 0; - if ($184 >>> 0 < $183 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($184, $183) | 0)) break L10; - $188 = $i$0 + 148 | 0; - $189 = ($storemerge >>> 0) / ($188 >>> 0) | 0; - if ($189 >>> 0 < $188 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($189, $188) | 0)) break L10; - $193 = $i$0 + 150 | 0; - $194 = ($storemerge >>> 0) / ($193 >>> 0) | 0; - if ($194 >>> 0 < $193 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($194, $193) | 0)) break L10; - $198 = $i$0 + 156 | 0; - $199 = ($storemerge >>> 0) / ($198 >>> 0) | 0; - if ($199 >>> 0 < $198 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($199, $198) | 0)) break L10; - $203 = $i$0 + 162 | 0; - $204 = ($storemerge >>> 0) / ($203 >>> 0) | 0; - if ($204 >>> 0 < $203 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($204, $203) | 0)) break L10; - $208 = $i$0 + 166 | 0; - $209 = ($storemerge >>> 0) / ($208 >>> 0) | 0; - if ($209 >>> 0 < $208 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($209, $208) | 0)) break L10; - $213 = $i$0 + 168 | 0; - $214 = ($storemerge >>> 0) / ($213 >>> 0) | 0; - if ($214 >>> 0 < $213 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($214, $213) | 0)) break L10; - $218 = $i$0 + 172 | 0; - $219 = ($storemerge >>> 0) / ($218 >>> 0) | 0; - if ($219 >>> 0 < $218 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($219, $218) | 0)) break L10; - $223 = $i$0 + 178 | 0; - $224 = ($storemerge >>> 0) / ($223 >>> 0) | 0; - if ($224 >>> 0 < $223 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($224, $223) | 0)) break L10; - $228 = $i$0 + 180 | 0; - $229 = ($storemerge >>> 0) / ($228 >>> 0) | 0; - if ($229 >>> 0 < $228 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($229, $228) | 0)) break L10; - $233 = $i$0 + 186 | 0; - $234 = ($storemerge >>> 0) / ($233 >>> 0) | 0; - if ($234 >>> 0 < $233 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($234, $233) | 0)) break L10; - $238 = $i$0 + 190 | 0; - $239 = ($storemerge >>> 0) / ($238 >>> 0) | 0; - if ($239 >>> 0 < $238 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($239, $238) | 0)) break L10; - $243 = $i$0 + 192 | 0; - $244 = ($storemerge >>> 0) / ($243 >>> 0) | 0; - if ($244 >>> 0 < $243 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($244, $243) | 0)) break L10; - $248 = $i$0 + 196 | 0; - $249 = ($storemerge >>> 0) / ($248 >>> 0) | 0; - if ($249 >>> 0 < $248 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($249, $248) | 0)) break L10; - $253 = $i$0 + 198 | 0; - $254 = ($storemerge >>> 0) / ($253 >>> 0) | 0; - if ($254 >>> 0 < $253 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($254, $253) | 0)) break L10; - $258 = $i$0 + 208 | 0; - $259 = ($storemerge >>> 0) / ($258 >>> 0) | 0; - if ($259 >>> 0 < $258 >>> 0) { - $storemerge$lcssa = $storemerge; - label = 105; - break L4; - } - if (($storemerge | 0) == (Math_imul($259, $258) | 0)) break; else { - $i$0 = $i$0 + 210 | 0; - label = 8; - } - } while (0); - $264 = $in$0 + 1 | 0; - $265 = ($264 | 0) == 48; - $$ = $265 ? 0 : $264; - $$k0$0 = ($265 & 1) + $k0$0 | 0; - $in$0 = $$; - $k0$0 = $$k0$0; - $storemerge = (HEAP32[3712 + ($$ << 2) >> 2] | 0) + ($$k0$0 * 210 | 0) | 0; - } - if ((label | 0) == 105) { - HEAP32[$1 >> 2] = $storemerge$lcssa; - $$0 = $storemerge$lcssa; - break; - } else if ((label | 0) == 106) { - HEAP32[$1 >> 2] = $storemerge$lcssa15; - $$0 = $storemerge$lcssa15; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWZ($image, $xsize, $ysize, $image_thresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $image_thresh = $image_thresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $193 = 0, $196 = 0, $201 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $227 = 0, $229 = 0, $235 = 0, $239 = 0, $240 = 0, $247 = 0, $26 = 0, $261 = 0, $262 = 0, $265 = 0, $272 = 0, $273 = 0, $281 = 0, $284 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $318 = 0, $324 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $9 = 0, $91 = 0, $97 = 0, $dpnt$080 = 0, $dpnt$1$lcssa = 0, $dpnt$163 = 0, $i$096 = 0, $i$190 = 0, $i$270 = 0, $i$345 = 0, $i$443 = 0, $i$541 = 0, $i$640 = 0, $j$083 = 0, $j$1$lcssa = 0, $j$146 = 0, $j$2 = 0, $k$059 = 0, $k$156 = 0, $k$252 = 0, $k$349 = 0, $pnt$086 = 0, $pnt$1$lcssa = 0, $pnt$173 = 0, $pnt1$097 = 0, $pnt1$191 = 0, $pnt2$095 = 0, $pnt2$189 = 0, $pnt2$281 = 0, $pnt2$3$lcssa = 0, $pnt2$364 = 0, $pnt_thresh$085 = 0, $pnt_thresh$1$lcssa = 0, $pnt_thresh$172 = 0, $vararg_buffer = 0, $wk$060 = 0, $wk$157 = 0, $wk$253 = 0, $wk$350 = 0, $wk$447 = 0, $wk_max$0$lcssa = 0, $wk_max$082 = 0, $wk_max$1$lcssa = 0, $wk_max$165 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$096 = 0; - $pnt1$097 = $0; - $pnt2$095 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$095 >> 1] = 0; - HEAP16[$pnt1$097 >> 1] = 0; - $i$096 = $i$096 + 1 | 0; - if (($i$096 | 0) >= ($xsize | 0)) break; else { - $pnt1$097 = $pnt1$097 + 2 | 0; - $pnt2$095 = $pnt2$095 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$190 = 0; - $pnt1$191 = $0; - $pnt2$189 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$189 >> 1] = 0; - HEAP16[$pnt1$191 >> 1] = 0; - $i$190 = $i$190 + 1 | 0; - if (($i$190 | 0) >= ($ysize | 0)) break; else { - $pnt1$191 = $pnt1$191 + ($xsize << 1) | 0; - $pnt2$189 = $pnt2$189 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$080 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$083 = 1; - $pnt$086 = $image + $17 | 0; - $pnt2$281 = $0 + ($17 << 1) | 0; - $pnt_thresh$085 = $image_thresh + $17 | 0; - $wk_max$082 = 0; - L13 : while (1) { - if ($26) { - $dpnt$163 = $dpnt$080; - $i$270 = 1; - $pnt$173 = $pnt$086; - $pnt2$364 = $pnt2$281; - $pnt_thresh$172 = $pnt_thresh$085; - $wk_max$165 = $wk_max$082; - while (1) { - do if ((HEAPU8[$pnt$173 >> 0] | 0) > (HEAPU8[$pnt_thresh$172 >> 0] | 0)) { - HEAP8[$dpnt$163 >> 0] = -1; - $31 = HEAP16[$pnt2$364 + ($18 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$364 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$270; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$083; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $50 = HEAP16[$pnt2$364 + ($$sum << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$364 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$364 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$270; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$083; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$270 | 0)) HEAP32[$170 >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $176 = HEAP16[$pnt2$364 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$364 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$270; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$083; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$270 | 0)) { - $wk_max$2 = $wk_max$165; - break; - } - HEAP32[$193 >> 2] = $i$270; - $wk_max$2 = $wk_max$165; - break; - } else { - $196 = $wk_max$165 + 1 | 0; - if (($wk_max$165 | 0) > 32767) break L13; - HEAP16[$pnt2$364 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$165 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$165 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$083; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$083; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$083; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$364 >> 1] = $62; - if (($wk_max$165 | 0) > 0) { - $k$059 = 0; - $wk$060 = $16; - while (1) { - if ((HEAP32[$wk$060 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$060 >> 2] = $62; - $k$059 = $k$059 + 1 | 0; - if (($k$059 | 0) >= ($wk_max$165 | 0)) { - $79 = $62; - break; - } else $wk$060 = $wk$060 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$364 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$165 | 0) > 0) { - $k$156 = 0; - $wk$157 = $16; - while (1) { - if ((HEAP32[$wk$157 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$157 >> 2] = $59; - $k$156 = $k$156 + 1 | 0; - if (($k$156 | 0) >= ($wk_max$165 | 0)) { - $79 = $59; - break; - } else $wk$157 = $wk$157 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$270; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$083; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $97 = HEAP16[$pnt2$364 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$364 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$270; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$083; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$270 | 0)) HEAP32[$151 >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$364 >> 1] = $105; - if (($wk_max$165 | 0) > 0) { - $k$252 = 0; - $wk$253 = $16; - while (1) { - if ((HEAP32[$wk$253 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$253 >> 2] = $105; - $k$252 = $k$252 + 1 | 0; - if (($k$252 | 0) >= ($wk_max$165 | 0)) { - $122 = $105; - break; - } else $wk$253 = $wk$253 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$364 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$165 | 0) > 0) { - $k$349 = 0; - $wk$350 = $16; - while (1) { - if ((HEAP32[$wk$350 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$350 >> 2] = $102; - $k$349 = $k$349 + 1 | 0; - if (($k$349 | 0) >= ($wk_max$165 | 0)) { - $122 = $102; - break; - } else $wk$350 = $wk$350 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$270; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$083; - $wk_max$2 = $wk_max$165; - } else { - HEAP16[$pnt2$364 >> 1] = 0; - HEAP8[$dpnt$163 >> 0] = 0; - $wk_max$2 = $wk_max$165; - } while (0); - $i$270 = $i$270 + 1 | 0; - $216 = $pnt$173 + 1 | 0; - $217 = $pnt_thresh$172 + 1 | 0; - $218 = $pnt2$364 + 2 | 0; - $219 = $dpnt$163 + 1 | 0; - if (($i$270 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $219; - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $218; - $pnt_thresh$1$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$163 = $219; - $pnt$173 = $216; - $pnt2$364 = $218; - $pnt_thresh$172 = $217; - $wk_max$165 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$080; - $pnt$1$lcssa = $pnt$086; - $pnt2$3$lcssa = $pnt2$281; - $pnt_thresh$1$lcssa = $pnt_thresh$085; - $wk_max$1$lcssa = $wk_max$082; - } - $j$083 = $j$083 + 1 | 0; - if (($j$083 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$080 = $dpnt$1$lcssa + 2 | 0; - $pnt$086 = $pnt$1$lcssa + 2 | 0; - $pnt2$281 = $pnt2$3$lcssa + 4 | 0; - $pnt_thresh$085 = $pnt_thresh$1$lcssa + 2 | 0; - $wk_max$082 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $227 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$345 = 1; - $j$146 = 1; - $wk$447 = $16; - while (1) { - $229 = HEAP32[$wk$447 >> 2] | 0; - if (($229 | 0) == ($i$345 | 0)) { - $235 = $j$146; - $j$2 = $j$146 + 1 | 0; - } else { - $235 = HEAP32[$labelInfo + 1179664 + ($229 + -1 << 2) >> 2] | 0; - $j$2 = $j$146; - } - HEAP32[$wk$447 >> 2] = $235; - if (($i$345 | 0) < ($wk_max$0$lcssa | 0)) { - $i$345 = $i$345 + 1 | 0; - $j$146 = $j$2; - $wk$447 = $wk$447 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $239 = $labelInfo + 8 | 0; - $240 = $j$1$lcssa + -1 | 0; - HEAP32[$239 >> 2] = $240; - if (!$240) $$0 = 0; else { - _memset($227 | 0, 0, $240 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $240 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$443 = 0; - do { - $247 = $i$443 << 2; - HEAP32[$labelInfo + 131084 + ($247 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($247 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($247 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($247 | 3) << 2) >> 2] = 0; - $i$443 = $i$443 + 1 | 0; - } while (($i$443 | 0) < (HEAP32[$239 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$541 = 0; - do { - $261 = (HEAP32[$labelInfo + 1179664 + ($i$541 << 2) >> 2] | 0) + -1 | 0; - $262 = $i$541 * 7 | 0; - $265 = $labelInfo + 12 + ($261 << 2) | 0; - HEAP32[$265 >> 2] = (HEAP32[$265 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($262 << 2) >> 2] | 0); - $272 = $261 << 1; - $273 = $labelInfo + 655376 + ($272 << 3) | 0; - HEAPF64[$273 >> 3] = +HEAPF64[$273 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($262 + 1 << 2) >> 2] | 0); - $281 = $labelInfo + 655376 + (($272 | 1) << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($262 + 2 << 2) >> 2] | 0); - $284 = $261 << 2; - $285 = $labelInfo + 131084 + ($284 << 2) | 0; - $289 = HEAP32[$labelInfo + 1310736 + ($262 + 3 << 2) >> 2] | 0; - if ((HEAP32[$285 >> 2] | 0) > ($289 | 0)) HEAP32[$285 >> 2] = $289; - $292 = $labelInfo + 131084 + (($284 | 1) << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($262 + 4 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) < ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($284 | 2) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($262 + 5 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) > ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($284 | 3) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($262 + 6 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) < ($310 | 0)) HEAP32[$306 >> 2] = $310; - $i$541 = $i$541 + 1 | 0; - } while (($i$541 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$239 >> 2] | 0) > 0) { - $i$640 = 0; - do { - $314 = $labelInfo + 12 + ($i$640 << 2) | 0; - $317 = $i$640 << 1; - $318 = $labelInfo + 655376 + ($317 << 3) | 0; - HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / +(HEAP32[$314 >> 2] | 0); - $324 = $labelInfo + 655376 + (($317 | 1) << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$314 >> 2] | 0); - $i$640 = $i$640 + 1 | 0; - } while (($i$640 | 0) < (HEAP32[$239 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBZ($image, $xsize, $ysize, $image_thresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $image_thresh = $image_thresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $193 = 0, $196 = 0, $201 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $227 = 0, $229 = 0, $235 = 0, $239 = 0, $240 = 0, $247 = 0, $26 = 0, $261 = 0, $262 = 0, $265 = 0, $272 = 0, $273 = 0, $281 = 0, $284 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $318 = 0, $324 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $9 = 0, $91 = 0, $97 = 0, $dpnt$080 = 0, $dpnt$1$lcssa = 0, $dpnt$163 = 0, $i$096 = 0, $i$190 = 0, $i$270 = 0, $i$345 = 0, $i$443 = 0, $i$541 = 0, $i$640 = 0, $j$083 = 0, $j$1$lcssa = 0, $j$146 = 0, $j$2 = 0, $k$059 = 0, $k$156 = 0, $k$252 = 0, $k$349 = 0, $pnt$086 = 0, $pnt$1$lcssa = 0, $pnt$173 = 0, $pnt1$097 = 0, $pnt1$191 = 0, $pnt2$095 = 0, $pnt2$189 = 0, $pnt2$281 = 0, $pnt2$3$lcssa = 0, $pnt2$364 = 0, $pnt_thresh$085 = 0, $pnt_thresh$1$lcssa = 0, $pnt_thresh$172 = 0, $vararg_buffer = 0, $wk$060 = 0, $wk$157 = 0, $wk$253 = 0, $wk$350 = 0, $wk$447 = 0, $wk_max$0$lcssa = 0, $wk_max$082 = 0, $wk_max$1$lcssa = 0, $wk_max$165 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$096 = 0; - $pnt1$097 = $0; - $pnt2$095 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$095 >> 1] = 0; - HEAP16[$pnt1$097 >> 1] = 0; - $i$096 = $i$096 + 1 | 0; - if (($i$096 | 0) >= ($xsize | 0)) break; else { - $pnt1$097 = $pnt1$097 + 2 | 0; - $pnt2$095 = $pnt2$095 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$190 = 0; - $pnt1$191 = $0; - $pnt2$189 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$189 >> 1] = 0; - HEAP16[$pnt1$191 >> 1] = 0; - $i$190 = $i$190 + 1 | 0; - if (($i$190 | 0) >= ($ysize | 0)) break; else { - $pnt1$191 = $pnt1$191 + ($xsize << 1) | 0; - $pnt2$189 = $pnt2$189 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$080 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$083 = 1; - $pnt$086 = $image + $17 | 0; - $pnt2$281 = $0 + ($17 << 1) | 0; - $pnt_thresh$085 = $image_thresh + $17 | 0; - $wk_max$082 = 0; - L13 : while (1) { - if ($26) { - $dpnt$163 = $dpnt$080; - $i$270 = 1; - $pnt$173 = $pnt$086; - $pnt2$364 = $pnt2$281; - $pnt_thresh$172 = $pnt_thresh$085; - $wk_max$165 = $wk_max$082; - while (1) { - do if ((HEAPU8[$pnt$173 >> 0] | 0) > (HEAPU8[$pnt_thresh$172 >> 0] | 0)) { - HEAP16[$pnt2$364 >> 1] = 0; - HEAP8[$dpnt$163 >> 0] = 0; - $wk_max$2 = $wk_max$165; - } else { - HEAP8[$dpnt$163 >> 0] = -1; - $31 = HEAP16[$pnt2$364 + ($18 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$364 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$270; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$083; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $50 = HEAP16[$pnt2$364 + ($$sum << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$364 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$364 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$270; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$083; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$270 | 0)) HEAP32[$170 >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $176 = HEAP16[$pnt2$364 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$364 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$270; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$083; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$270 | 0)) { - $wk_max$2 = $wk_max$165; - break; - } - HEAP32[$193 >> 2] = $i$270; - $wk_max$2 = $wk_max$165; - break; - } else { - $196 = $wk_max$165 + 1 | 0; - if (($wk_max$165 | 0) > 32767) break L13; - HEAP16[$pnt2$364 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$165 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$165 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$083; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$083; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$083; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$364 >> 1] = $62; - if (($wk_max$165 | 0) > 0) { - $k$059 = 0; - $wk$060 = $16; - while (1) { - if ((HEAP32[$wk$060 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$060 >> 2] = $62; - $k$059 = $k$059 + 1 | 0; - if (($k$059 | 0) >= ($wk_max$165 | 0)) { - $79 = $62; - break; - } else $wk$060 = $wk$060 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$364 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$165 | 0) > 0) { - $k$156 = 0; - $wk$157 = $16; - while (1) { - if ((HEAP32[$wk$157 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$157 >> 2] = $59; - $k$156 = $k$156 + 1 | 0; - if (($k$156 | 0) >= ($wk_max$165 | 0)) { - $79 = $59; - break; - } else $wk$157 = $wk$157 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$270; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$083; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $97 = HEAP16[$pnt2$364 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$364 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$270; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$083; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$270 | 0)) HEAP32[$151 >> 2] = $i$270; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$083; - $wk_max$2 = $wk_max$165; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$364 >> 1] = $105; - if (($wk_max$165 | 0) > 0) { - $k$252 = 0; - $wk$253 = $16; - while (1) { - if ((HEAP32[$wk$253 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$253 >> 2] = $105; - $k$252 = $k$252 + 1 | 0; - if (($k$252 | 0) >= ($wk_max$165 | 0)) { - $122 = $105; - break; - } else $wk$253 = $wk$253 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$364 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$165 | 0) > 0) { - $k$349 = 0; - $wk$350 = $16; - while (1) { - if ((HEAP32[$wk$350 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$350 >> 2] = $102; - $k$349 = $k$349 + 1 | 0; - if (($k$349 | 0) >= ($wk_max$165 | 0)) { - $122 = $102; - break; - } else $wk$350 = $wk$350 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$270; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$083; - $wk_max$2 = $wk_max$165; - } while (0); - $i$270 = $i$270 + 1 | 0; - $216 = $pnt$173 + 1 | 0; - $217 = $pnt_thresh$172 + 1 | 0; - $218 = $pnt2$364 + 2 | 0; - $219 = $dpnt$163 + 1 | 0; - if (($i$270 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $219; - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $218; - $pnt_thresh$1$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$163 = $219; - $pnt$173 = $216; - $pnt2$364 = $218; - $pnt_thresh$172 = $217; - $wk_max$165 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$080; - $pnt$1$lcssa = $pnt$086; - $pnt2$3$lcssa = $pnt2$281; - $pnt_thresh$1$lcssa = $pnt_thresh$085; - $wk_max$1$lcssa = $wk_max$082; - } - $j$083 = $j$083 + 1 | 0; - if (($j$083 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$080 = $dpnt$1$lcssa + 2 | 0; - $pnt$086 = $pnt$1$lcssa + 2 | 0; - $pnt2$281 = $pnt2$3$lcssa + 4 | 0; - $pnt_thresh$085 = $pnt_thresh$1$lcssa + 2 | 0; - $wk_max$082 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $227 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$345 = 1; - $j$146 = 1; - $wk$447 = $16; - while (1) { - $229 = HEAP32[$wk$447 >> 2] | 0; - if (($229 | 0) == ($i$345 | 0)) { - $235 = $j$146; - $j$2 = $j$146 + 1 | 0; - } else { - $235 = HEAP32[$labelInfo + 1179664 + ($229 + -1 << 2) >> 2] | 0; - $j$2 = $j$146; - } - HEAP32[$wk$447 >> 2] = $235; - if (($i$345 | 0) < ($wk_max$0$lcssa | 0)) { - $i$345 = $i$345 + 1 | 0; - $j$146 = $j$2; - $wk$447 = $wk$447 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $239 = $labelInfo + 8 | 0; - $240 = $j$1$lcssa + -1 | 0; - HEAP32[$239 >> 2] = $240; - if (!$240) $$0 = 0; else { - _memset($227 | 0, 0, $240 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $240 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$443 = 0; - do { - $247 = $i$443 << 2; - HEAP32[$labelInfo + 131084 + ($247 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($247 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($247 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($247 | 3) << 2) >> 2] = 0; - $i$443 = $i$443 + 1 | 0; - } while (($i$443 | 0) < (HEAP32[$239 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$541 = 0; - do { - $261 = (HEAP32[$labelInfo + 1179664 + ($i$541 << 2) >> 2] | 0) + -1 | 0; - $262 = $i$541 * 7 | 0; - $265 = $labelInfo + 12 + ($261 << 2) | 0; - HEAP32[$265 >> 2] = (HEAP32[$265 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($262 << 2) >> 2] | 0); - $272 = $261 << 1; - $273 = $labelInfo + 655376 + ($272 << 3) | 0; - HEAPF64[$273 >> 3] = +HEAPF64[$273 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($262 + 1 << 2) >> 2] | 0); - $281 = $labelInfo + 655376 + (($272 | 1) << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($262 + 2 << 2) >> 2] | 0); - $284 = $261 << 2; - $285 = $labelInfo + 131084 + ($284 << 2) | 0; - $289 = HEAP32[$labelInfo + 1310736 + ($262 + 3 << 2) >> 2] | 0; - if ((HEAP32[$285 >> 2] | 0) > ($289 | 0)) HEAP32[$285 >> 2] = $289; - $292 = $labelInfo + 131084 + (($284 | 1) << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($262 + 4 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) < ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($284 | 2) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($262 + 5 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) > ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($284 | 3) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($262 + 6 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) < ($310 | 0)) HEAP32[$306 >> 2] = $310; - $i$541 = $i$541 + 1 | 0; - } while (($i$541 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$239 >> 2] | 0) > 0) { - $i$640 = 0; - do { - $314 = $labelInfo + 12 + ($i$640 << 2) | 0; - $317 = $i$640 << 1; - $318 = $labelInfo + 655376 + ($317 << 3) | 0; - HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / +(HEAP32[$314 >> 2] | 0); - $324 = $labelInfo + 655376 + (($317 | 1) << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$314 >> 2] | 0); - $i$640 = $i$640 + 1 | 0; - } while (($i$640 | 0) < (HEAP32[$239 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $116 = 0, $12 = 0, $121 = 0, $124 = 0, $141 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $212 = 0, $215 = 0, $22 = 0, $220 = 0, $235 = 0, $236 = 0, $237 = 0, $244 = 0, $246 = 0, $252 = 0, $256 = 0, $257 = 0, $264 = 0, $278 = 0, $279 = 0, $282 = 0, $289 = 0, $290 = 0, $298 = 0, $3 = 0, $301 = 0, $302 = 0, $306 = 0, $309 = 0, $31 = 0, $313 = 0, $316 = 0, $320 = 0, $323 = 0, $327 = 0, $33 = 0, $331 = 0, $334 = 0, $335 = 0, $341 = 0, $39 = 0, $50 = 0, $53 = 0, $55 = 0, $59 = 0, $63 = 0, $69 = 0, $70 = 0, $73 = 0, $74 = 0, $75 = 0, $78 = 0, $81 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - $39 = HEAPU8[$pnt$169 + 1 >> 0] | 0; - do if ((($33 & 248) + 12 + ($33 << 5 & 224) + ($39 >>> 3 & 24) + ($39 << 2 & 248) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $50 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($50 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $50; - $53 = ($50 << 16 >> 16) * 7 | 0; - $55 = $labelInfo + 1310736 + ($53 + -7 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + 1; - $59 = $labelInfo + 1310736 + ($53 + -6 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $i$265; - $63 = $labelInfo + 1310736 + ($53 + -5 << 2) | 0; - HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($53 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $69 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $73 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $74 = $73 << 16 >> 16; - $75 = $73 << 16 >> 16 > 0; - if ($69 << 16 >> 16 <= 0) { - if ($75) { - HEAP16[$pnt2$368 >> 1] = $73; - $175 = $74 * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$265; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$076; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) < ($i$265 | 0)) HEAP32[$189 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($175 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $195 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($195 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $195; - $198 = ($195 << 16 >> 16) * 7 | 0; - $200 = $labelInfo + 1310736 + ($198 + -7 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + 1; - $204 = $labelInfo + 1310736 + ($198 + -6 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $i$265; - $208 = $labelInfo + 1310736 + ($198 + -5 << 2) | 0; - HEAP32[$208 >> 2] = (HEAP32[$208 >> 2] | 0) + $j$076; - $212 = $labelInfo + 1310736 + ($198 + -3 << 2) | 0; - if ((HEAP32[$212 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$212 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $215 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $215; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $215 << 16 >> 16; - $220 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($220 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($220 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $215; - break; - } - } - if ($75) { - $78 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $81 = HEAP32[$labelInfo + 1179664 + ($74 + -1 << 2) >> 2] | 0; - if (($78 | 0) > ($81 | 0)) { - HEAP16[$pnt2$368 >> 1] = $81; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$057 >> 2] = $81; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $98 = $81; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $98 = $81; - } else { - HEAP16[$pnt2$368 >> 1] = $78; - if (($78 | 0) < ($81 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($81 | 0)) HEAP32[$wk$154 >> 2] = $78; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $98 = $78; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $98 = $78; - } - $100 = ($98 << 16 >> 16) * 7 | 0; - $102 = $labelInfo + 1310736 + ($100 + -7 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + 1; - $106 = $labelInfo + 1310736 + ($100 + -6 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $i$265; - $110 = $labelInfo + 1310736 + ($100 + -5 << 2) | 0; - HEAP32[$110 >> 2] = (HEAP32[$110 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($100 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($116 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $69; - $156 = $70 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$265; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$076; - $170 = $labelInfo + 1310736 + ($156 + -4 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) > ($i$265 | 0)) HEAP32[$170 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $121 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $124 = HEAP32[$labelInfo + 1179664 + (($116 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($121 | 0) > ($124 | 0)) { - HEAP16[$pnt2$368 >> 1] = $124; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$250 >> 2] = $124; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $141 = $124; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $141 = $124; - } else { - HEAP16[$pnt2$368 >> 1] = $121; - if (($121 | 0) < ($124 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($124 | 0)) HEAP32[$wk$347 >> 2] = $121; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $141 = $121; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $141 = $121; - } - $143 = ($141 << 16 >> 16) * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$265; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $235 = $pnt$169 + 4 | 0; - $236 = $pnt2$368 + 2 | 0; - $237 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $237; - $pnt$1$lcssa = $235; - $pnt2$3$lcssa = $236; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $237; - $pnt$169 = $235; - $pnt2$368 = $236; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $244 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $246 = HEAP32[$wk$444 >> 2] | 0; - if (($246 | 0) == ($i$342 | 0)) { - $252 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $252 = HEAP32[$labelInfo + 1179664 + ($246 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $252; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $256 = $labelInfo + 8 | 0; - $257 = $j$1$lcssa + -1 | 0; - HEAP32[$256 >> 2] = $257; - if (!$257) $$0 = 0; else { - _memset($244 | 0, 0, $257 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $257 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $264 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($264 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($264 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($264 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($264 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$256 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $278 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $279 = $i$538 * 7 | 0; - $282 = $labelInfo + 12 + ($278 << 2) | 0; - HEAP32[$282 >> 2] = (HEAP32[$282 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($279 << 2) >> 2] | 0); - $289 = $278 << 1; - $290 = $labelInfo + 655376 + ($289 << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 1 << 2) >> 2] | 0); - $298 = $labelInfo + 655376 + (($289 | 1) << 3) | 0; - HEAPF64[$298 >> 3] = +HEAPF64[$298 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 2 << 2) >> 2] | 0); - $301 = $278 << 2; - $302 = $labelInfo + 131084 + ($301 << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($279 + 3 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($301 | 1) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($279 + 4 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $316 = $labelInfo + 131084 + (($301 | 2) << 2) | 0; - $320 = HEAP32[$labelInfo + 1310736 + ($279 + 5 << 2) >> 2] | 0; - if ((HEAP32[$316 >> 2] | 0) > ($320 | 0)) HEAP32[$316 >> 2] = $320; - $323 = $labelInfo + 131084 + (($301 | 3) << 2) | 0; - $327 = HEAP32[$labelInfo + 1310736 + ($279 + 6 << 2) >> 2] | 0; - if ((HEAP32[$323 >> 2] | 0) < ($327 | 0)) HEAP32[$323 >> 2] = $327; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$256 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $331 = $labelInfo + 12 + ($i$637 << 2) | 0; - $334 = $i$637 << 1; - $335 = $labelInfo + 655376 + ($334 << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$331 >> 2] | 0); - $341 = $labelInfo + 655376 + (($334 | 1) << 3) | 0; - HEAPF64[$341 >> 3] = +HEAPF64[$341 >> 3] / +(HEAP32[$331 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$256 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $116 = 0, $12 = 0, $121 = 0, $124 = 0, $141 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $212 = 0, $215 = 0, $22 = 0, $220 = 0, $235 = 0, $236 = 0, $237 = 0, $244 = 0, $246 = 0, $252 = 0, $256 = 0, $257 = 0, $264 = 0, $278 = 0, $279 = 0, $282 = 0, $289 = 0, $290 = 0, $298 = 0, $3 = 0, $301 = 0, $302 = 0, $306 = 0, $309 = 0, $31 = 0, $313 = 0, $316 = 0, $320 = 0, $323 = 0, $327 = 0, $33 = 0, $331 = 0, $334 = 0, $335 = 0, $341 = 0, $39 = 0, $50 = 0, $53 = 0, $55 = 0, $59 = 0, $63 = 0, $69 = 0, $70 = 0, $73 = 0, $74 = 0, $75 = 0, $78 = 0, $81 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - $39 = HEAPU8[$pnt$169 + 1 >> 0] | 0; - do if ((($33 & 248) + 12 + ($33 << 5 & 224) + ($39 >>> 3 & 24) + ($39 << 2 & 248) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $50 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($50 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $50; - $53 = ($50 << 16 >> 16) * 7 | 0; - $55 = $labelInfo + 1310736 + ($53 + -7 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + 1; - $59 = $labelInfo + 1310736 + ($53 + -6 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $i$265; - $63 = $labelInfo + 1310736 + ($53 + -5 << 2) | 0; - HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($53 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $69 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $73 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $74 = $73 << 16 >> 16; - $75 = $73 << 16 >> 16 > 0; - if ($69 << 16 >> 16 <= 0) { - if ($75) { - HEAP16[$pnt2$368 >> 1] = $73; - $175 = $74 * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$265; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$076; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) < ($i$265 | 0)) HEAP32[$189 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($175 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $195 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($195 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $195; - $198 = ($195 << 16 >> 16) * 7 | 0; - $200 = $labelInfo + 1310736 + ($198 + -7 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + 1; - $204 = $labelInfo + 1310736 + ($198 + -6 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $i$265; - $208 = $labelInfo + 1310736 + ($198 + -5 << 2) | 0; - HEAP32[$208 >> 2] = (HEAP32[$208 >> 2] | 0) + $j$076; - $212 = $labelInfo + 1310736 + ($198 + -3 << 2) | 0; - if ((HEAP32[$212 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$212 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $215 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $215; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $215 << 16 >> 16; - $220 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($220 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($220 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $215; - break; - } - } - if ($75) { - $78 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $81 = HEAP32[$labelInfo + 1179664 + ($74 + -1 << 2) >> 2] | 0; - if (($78 | 0) > ($81 | 0)) { - HEAP16[$pnt2$368 >> 1] = $81; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$057 >> 2] = $81; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $98 = $81; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $98 = $81; - } else { - HEAP16[$pnt2$368 >> 1] = $78; - if (($78 | 0) < ($81 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($81 | 0)) HEAP32[$wk$154 >> 2] = $78; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $98 = $78; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $98 = $78; - } - $100 = ($98 << 16 >> 16) * 7 | 0; - $102 = $labelInfo + 1310736 + ($100 + -7 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + 1; - $106 = $labelInfo + 1310736 + ($100 + -6 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $i$265; - $110 = $labelInfo + 1310736 + ($100 + -5 << 2) | 0; - HEAP32[$110 >> 2] = (HEAP32[$110 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($100 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($116 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $69; - $156 = $70 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$265; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$076; - $170 = $labelInfo + 1310736 + ($156 + -4 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) > ($i$265 | 0)) HEAP32[$170 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $121 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $124 = HEAP32[$labelInfo + 1179664 + (($116 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($121 | 0) > ($124 | 0)) { - HEAP16[$pnt2$368 >> 1] = $124; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$250 >> 2] = $124; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $141 = $124; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $141 = $124; - } else { - HEAP16[$pnt2$368 >> 1] = $121; - if (($121 | 0) < ($124 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($124 | 0)) HEAP32[$wk$347 >> 2] = $121; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $141 = $121; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $141 = $121; - } - $143 = ($141 << 16 >> 16) * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$265; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $235 = $pnt$169 + 4 | 0; - $236 = $pnt2$368 + 2 | 0; - $237 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $237; - $pnt$1$lcssa = $235; - $pnt2$3$lcssa = $236; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $237; - $pnt$169 = $235; - $pnt2$368 = $236; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $244 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $246 = HEAP32[$wk$444 >> 2] | 0; - if (($246 | 0) == ($i$342 | 0)) { - $252 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $252 = HEAP32[$labelInfo + 1179664 + ($246 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $252; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $256 = $labelInfo + 8 | 0; - $257 = $j$1$lcssa + -1 | 0; - HEAP32[$256 >> 2] = $257; - if (!$257) $$0 = 0; else { - _memset($244 | 0, 0, $257 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $257 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $264 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($264 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($264 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($264 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($264 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$256 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $278 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $279 = $i$538 * 7 | 0; - $282 = $labelInfo + 12 + ($278 << 2) | 0; - HEAP32[$282 >> 2] = (HEAP32[$282 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($279 << 2) >> 2] | 0); - $289 = $278 << 1; - $290 = $labelInfo + 655376 + ($289 << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 1 << 2) >> 2] | 0); - $298 = $labelInfo + 655376 + (($289 | 1) << 3) | 0; - HEAPF64[$298 >> 3] = +HEAPF64[$298 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 2 << 2) >> 2] | 0); - $301 = $278 << 2; - $302 = $labelInfo + 131084 + ($301 << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($279 + 3 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($301 | 1) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($279 + 4 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $316 = $labelInfo + 131084 + (($301 | 2) << 2) | 0; - $320 = HEAP32[$labelInfo + 1310736 + ($279 + 5 << 2) >> 2] | 0; - if ((HEAP32[$316 >> 2] | 0) > ($320 | 0)) HEAP32[$316 >> 2] = $320; - $323 = $labelInfo + 131084 + (($301 | 3) << 2) | 0; - $327 = HEAP32[$labelInfo + 1310736 + ($279 + 6 << 2) >> 2] | 0; - if ((HEAP32[$323 >> 2] | 0) < ($327 | 0)) HEAP32[$323 >> 2] = $327; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$256 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $331 = $labelInfo + 12 + ($i$637 << 2) | 0; - $334 = $i$637 << 1; - $335 = $labelInfo + 655376 + ($334 << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$331 >> 2] | 0); - $341 = $labelInfo + 655376 + (($334 | 1) << 3) | 0; - HEAPF64[$341 >> 3] = +HEAPF64[$341 >> 3] / +(HEAP32[$331 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$256 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $116 = 0, $12 = 0, $121 = 0, $124 = 0, $141 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $212 = 0, $215 = 0, $22 = 0, $220 = 0, $235 = 0, $236 = 0, $237 = 0, $244 = 0, $246 = 0, $252 = 0, $256 = 0, $257 = 0, $264 = 0, $278 = 0, $279 = 0, $282 = 0, $289 = 0, $290 = 0, $298 = 0, $3 = 0, $301 = 0, $302 = 0, $306 = 0, $309 = 0, $31 = 0, $313 = 0, $316 = 0, $320 = 0, $323 = 0, $327 = 0, $33 = 0, $331 = 0, $334 = 0, $335 = 0, $341 = 0, $39 = 0, $50 = 0, $53 = 0, $55 = 0, $59 = 0, $63 = 0, $69 = 0, $70 = 0, $73 = 0, $74 = 0, $75 = 0, $78 = 0, $81 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - $39 = HEAPU8[$pnt$169 + 1 >> 0] | 0; - do if ((($33 & 248) + 10 + ($33 << 5 & 224) + ($39 >>> 3 & 28) + ($39 << 3 & 248) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $50 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($50 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $50; - $53 = ($50 << 16 >> 16) * 7 | 0; - $55 = $labelInfo + 1310736 + ($53 + -7 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + 1; - $59 = $labelInfo + 1310736 + ($53 + -6 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $i$265; - $63 = $labelInfo + 1310736 + ($53 + -5 << 2) | 0; - HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($53 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $69 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $73 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $74 = $73 << 16 >> 16; - $75 = $73 << 16 >> 16 > 0; - if ($69 << 16 >> 16 <= 0) { - if ($75) { - HEAP16[$pnt2$368 >> 1] = $73; - $175 = $74 * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$265; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$076; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) < ($i$265 | 0)) HEAP32[$189 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($175 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $195 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($195 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $195; - $198 = ($195 << 16 >> 16) * 7 | 0; - $200 = $labelInfo + 1310736 + ($198 + -7 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + 1; - $204 = $labelInfo + 1310736 + ($198 + -6 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $i$265; - $208 = $labelInfo + 1310736 + ($198 + -5 << 2) | 0; - HEAP32[$208 >> 2] = (HEAP32[$208 >> 2] | 0) + $j$076; - $212 = $labelInfo + 1310736 + ($198 + -3 << 2) | 0; - if ((HEAP32[$212 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$212 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $215 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $215; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $215 << 16 >> 16; - $220 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($220 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($220 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $215; - break; - } - } - if ($75) { - $78 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $81 = HEAP32[$labelInfo + 1179664 + ($74 + -1 << 2) >> 2] | 0; - if (($78 | 0) > ($81 | 0)) { - HEAP16[$pnt2$368 >> 1] = $81; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$057 >> 2] = $81; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $98 = $81; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $98 = $81; - } else { - HEAP16[$pnt2$368 >> 1] = $78; - if (($78 | 0) < ($81 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($81 | 0)) HEAP32[$wk$154 >> 2] = $78; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $98 = $78; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $98 = $78; - } - $100 = ($98 << 16 >> 16) * 7 | 0; - $102 = $labelInfo + 1310736 + ($100 + -7 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + 1; - $106 = $labelInfo + 1310736 + ($100 + -6 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $i$265; - $110 = $labelInfo + 1310736 + ($100 + -5 << 2) | 0; - HEAP32[$110 >> 2] = (HEAP32[$110 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($100 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($116 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $69; - $156 = $70 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$265; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$076; - $170 = $labelInfo + 1310736 + ($156 + -4 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) > ($i$265 | 0)) HEAP32[$170 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $121 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $124 = HEAP32[$labelInfo + 1179664 + (($116 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($121 | 0) > ($124 | 0)) { - HEAP16[$pnt2$368 >> 1] = $124; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$250 >> 2] = $124; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $141 = $124; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $141 = $124; - } else { - HEAP16[$pnt2$368 >> 1] = $121; - if (($121 | 0) < ($124 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($124 | 0)) HEAP32[$wk$347 >> 2] = $121; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $141 = $121; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $141 = $121; - } - $143 = ($141 << 16 >> 16) * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$265; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $235 = $pnt$169 + 4 | 0; - $236 = $pnt2$368 + 2 | 0; - $237 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $237; - $pnt$1$lcssa = $235; - $pnt2$3$lcssa = $236; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $237; - $pnt$169 = $235; - $pnt2$368 = $236; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $244 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $246 = HEAP32[$wk$444 >> 2] | 0; - if (($246 | 0) == ($i$342 | 0)) { - $252 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $252 = HEAP32[$labelInfo + 1179664 + ($246 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $252; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $256 = $labelInfo + 8 | 0; - $257 = $j$1$lcssa + -1 | 0; - HEAP32[$256 >> 2] = $257; - if (!$257) $$0 = 0; else { - _memset($244 | 0, 0, $257 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $257 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $264 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($264 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($264 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($264 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($264 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$256 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $278 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $279 = $i$538 * 7 | 0; - $282 = $labelInfo + 12 + ($278 << 2) | 0; - HEAP32[$282 >> 2] = (HEAP32[$282 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($279 << 2) >> 2] | 0); - $289 = $278 << 1; - $290 = $labelInfo + 655376 + ($289 << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 1 << 2) >> 2] | 0); - $298 = $labelInfo + 655376 + (($289 | 1) << 3) | 0; - HEAPF64[$298 >> 3] = +HEAPF64[$298 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 2 << 2) >> 2] | 0); - $301 = $278 << 2; - $302 = $labelInfo + 131084 + ($301 << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($279 + 3 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($301 | 1) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($279 + 4 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $316 = $labelInfo + 131084 + (($301 | 2) << 2) | 0; - $320 = HEAP32[$labelInfo + 1310736 + ($279 + 5 << 2) >> 2] | 0; - if ((HEAP32[$316 >> 2] | 0) > ($320 | 0)) HEAP32[$316 >> 2] = $320; - $323 = $labelInfo + 131084 + (($301 | 3) << 2) | 0; - $327 = HEAP32[$labelInfo + 1310736 + ($279 + 6 << 2) >> 2] | 0; - if ((HEAP32[$323 >> 2] | 0) < ($327 | 0)) HEAP32[$323 >> 2] = $327; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$256 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $331 = $labelInfo + 12 + ($i$637 << 2) | 0; - $334 = $i$637 << 1; - $335 = $labelInfo + 655376 + ($334 << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$331 >> 2] | 0); - $341 = $labelInfo + 655376 + (($334 | 1) << 3) | 0; - HEAPF64[$341 >> 3] = +HEAPF64[$341 >> 3] / +(HEAP32[$331 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$256 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $116 = 0, $12 = 0, $121 = 0, $124 = 0, $141 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $212 = 0, $215 = 0, $22 = 0, $220 = 0, $235 = 0, $236 = 0, $237 = 0, $244 = 0, $246 = 0, $252 = 0, $256 = 0, $257 = 0, $264 = 0, $278 = 0, $279 = 0, $282 = 0, $289 = 0, $290 = 0, $298 = 0, $3 = 0, $301 = 0, $302 = 0, $306 = 0, $309 = 0, $31 = 0, $313 = 0, $316 = 0, $320 = 0, $323 = 0, $327 = 0, $33 = 0, $331 = 0, $334 = 0, $335 = 0, $341 = 0, $39 = 0, $50 = 0, $53 = 0, $55 = 0, $59 = 0, $63 = 0, $69 = 0, $70 = 0, $73 = 0, $74 = 0, $75 = 0, $78 = 0, $81 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - $39 = HEAPU8[$pnt$169 + 1 >> 0] | 0; - do if ((($33 & 248) + 10 + ($33 << 5 & 224) + ($39 >>> 3 & 28) + ($39 << 3 & 248) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $50 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($50 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $50; - $53 = ($50 << 16 >> 16) * 7 | 0; - $55 = $labelInfo + 1310736 + ($53 + -7 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + 1; - $59 = $labelInfo + 1310736 + ($53 + -6 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $i$265; - $63 = $labelInfo + 1310736 + ($53 + -5 << 2) | 0; - HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($53 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $69 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $73 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $74 = $73 << 16 >> 16; - $75 = $73 << 16 >> 16 > 0; - if ($69 << 16 >> 16 <= 0) { - if ($75) { - HEAP16[$pnt2$368 >> 1] = $73; - $175 = $74 * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$265; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$076; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) < ($i$265 | 0)) HEAP32[$189 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($175 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $195 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($195 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $195; - $198 = ($195 << 16 >> 16) * 7 | 0; - $200 = $labelInfo + 1310736 + ($198 + -7 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + 1; - $204 = $labelInfo + 1310736 + ($198 + -6 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $i$265; - $208 = $labelInfo + 1310736 + ($198 + -5 << 2) | 0; - HEAP32[$208 >> 2] = (HEAP32[$208 >> 2] | 0) + $j$076; - $212 = $labelInfo + 1310736 + ($198 + -3 << 2) | 0; - if ((HEAP32[$212 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$212 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $215 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $215; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $215 << 16 >> 16; - $220 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($220 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($220 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($220 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($220 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $215; - break; - } - } - if ($75) { - $78 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $81 = HEAP32[$labelInfo + 1179664 + ($74 + -1 << 2) >> 2] | 0; - if (($78 | 0) > ($81 | 0)) { - HEAP16[$pnt2$368 >> 1] = $81; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$057 >> 2] = $81; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $98 = $81; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $98 = $81; - } else { - HEAP16[$pnt2$368 >> 1] = $78; - if (($78 | 0) < ($81 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($81 | 0)) HEAP32[$wk$154 >> 2] = $78; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $98 = $78; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $98 = $78; - } - $100 = ($98 << 16 >> 16) * 7 | 0; - $102 = $labelInfo + 1310736 + ($100 + -7 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + 1; - $106 = $labelInfo + 1310736 + ($100 + -6 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $i$265; - $110 = $labelInfo + 1310736 + ($100 + -5 << 2) | 0; - HEAP32[$110 >> 2] = (HEAP32[$110 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($100 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($116 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $69; - $156 = $70 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$265; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$076; - $170 = $labelInfo + 1310736 + ($156 + -4 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) > ($i$265 | 0)) HEAP32[$170 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $121 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - $124 = HEAP32[$labelInfo + 1179664 + (($116 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($121 | 0) > ($124 | 0)) { - HEAP16[$pnt2$368 >> 1] = $124; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$250 >> 2] = $124; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $141 = $124; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $141 = $124; - } else { - HEAP16[$pnt2$368 >> 1] = $121; - if (($121 | 0) < ($124 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($124 | 0)) HEAP32[$wk$347 >> 2] = $121; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $141 = $121; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $141 = $121; - } - $143 = ($141 << 16 >> 16) * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$265; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $235 = $pnt$169 + 4 | 0; - $236 = $pnt2$368 + 2 | 0; - $237 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $237; - $pnt$1$lcssa = $235; - $pnt2$3$lcssa = $236; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $237; - $pnt$169 = $235; - $pnt2$368 = $236; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $244 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $246 = HEAP32[$wk$444 >> 2] | 0; - if (($246 | 0) == ($i$342 | 0)) { - $252 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $252 = HEAP32[$labelInfo + 1179664 + ($246 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $252; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $256 = $labelInfo + 8 | 0; - $257 = $j$1$lcssa + -1 | 0; - HEAP32[$256 >> 2] = $257; - if (!$257) $$0 = 0; else { - _memset($244 | 0, 0, $257 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $257 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $264 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($264 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($264 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($264 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($264 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$256 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $278 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $279 = $i$538 * 7 | 0; - $282 = $labelInfo + 12 + ($278 << 2) | 0; - HEAP32[$282 >> 2] = (HEAP32[$282 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($279 << 2) >> 2] | 0); - $289 = $278 << 1; - $290 = $labelInfo + 655376 + ($289 << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 1 << 2) >> 2] | 0); - $298 = $labelInfo + 655376 + (($289 | 1) << 3) | 0; - HEAPF64[$298 >> 3] = +HEAPF64[$298 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($279 + 2 << 2) >> 2] | 0); - $301 = $278 << 2; - $302 = $labelInfo + 131084 + ($301 << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($279 + 3 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($301 | 1) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($279 + 4 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $316 = $labelInfo + 131084 + (($301 | 2) << 2) | 0; - $320 = HEAP32[$labelInfo + 1310736 + ($279 + 5 << 2) >> 2] | 0; - if ((HEAP32[$316 >> 2] | 0) > ($320 | 0)) HEAP32[$316 >> 2] = $320; - $323 = $labelInfo + 131084 + (($301 | 3) << 2) | 0; - $327 = HEAP32[$labelInfo + 1310736 + ($279 + 6 << 2) >> 2] | 0; - if ((HEAP32[$323 >> 2] | 0) < ($327 | 0)) HEAP32[$323 >> 2] = $327; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$256 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $331 = $labelInfo + 12 + ($i$637 << 2) | 0; - $334 = $i$637 << 1; - $335 = $labelInfo + 655376 + ($334 << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$331 >> 2] | 0); - $341 = $labelInfo + 655376 + (($334 | 1) << 3) | 0; - HEAPF64[$341 >> 3] = +HEAPF64[$341 >> 3] / +(HEAP32[$331 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$256 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $106 = 0, $11 = 0, $112 = 0, $117 = 0, $12 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $171 = 0, $173 = 0, $177 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $22 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $294 = 0, $297 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $31 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $33 = 0, $330 = 0, $331 = 0, $337 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - do if ((($33 & 240) + 24 + ($33 << 4 & 240) + ((HEAPU8[$pnt$169 + 1 >> 0] | 0) & 240) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $46 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$265; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $65 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$368 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$265; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$076; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$265 | 0)) HEAP32[$185 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $191 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$265; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$076; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$208 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $211 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$368 >> 1] = $77; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$057 >> 2] = $77; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $94 = $77; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$368 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$154 >> 2] = $74; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $94 = $74; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$265; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $112 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$265; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$076; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$265 | 0)) HEAP32[$166 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$368 >> 1] = $120; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$250 >> 2] = $120; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $137 = $120; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$368 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$347 >> 2] = $117; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $137 = $117; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$265; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $231 = $pnt$169 + 4 | 0; - $232 = $pnt2$368 + 2 | 0; - $233 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $233; - $pnt$169 = $231; - $pnt2$368 = $232; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $242 = HEAP32[$wk$444 >> 2] | 0; - if (($242 | 0) == ($i$342 | 0)) { - $248 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $248; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $260 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$538 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $327 = $labelInfo + 12 + ($i$637 << 2) | 0; - $330 = $i$637 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $106 = 0, $11 = 0, $112 = 0, $117 = 0, $12 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $171 = 0, $173 = 0, $177 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $22 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $294 = 0, $297 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $31 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $33 = 0, $330 = 0, $331 = 0, $337 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $22 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - $33 = HEAPU8[$pnt$169 >> 0] | 0; - do if ((($33 & 240) + 24 + ($33 << 4 & 240) + ((HEAPU8[$pnt$169 + 1 >> 0] | 0) & 240) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $46 = HEAP16[$pnt2$368 + ($22 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$265; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $65 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$368 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$265; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$076; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$265 | 0)) HEAP32[$185 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $191 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$265; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$076; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$208 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $211 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$368 >> 1] = $77; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$057 >> 2] = $77; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $94 = $77; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$368 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$154 >> 2] = $74; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $94 = $74; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$265; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $112 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$265; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$076; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$265 | 0)) HEAP32[$166 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$368 >> 1] = $120; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$250 >> 2] = $120; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $137 = $120; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$368 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$347 >> 2] = $117; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $137 = $117; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$265; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $231 = $pnt$169 + 4 | 0; - $232 = $pnt2$368 + 2 | 0; - $233 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $233; - $pnt$169 = $231; - $pnt2$368 = $232; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $242 = HEAP32[$wk$444 >> 2] | 0; - if (($242 | 0) == ($i$342 | 0)) { - $248 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $248; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $260 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$538 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $327 = $labelInfo + 12 + ($i$637 << 2) | 0; - $330 = $i$637 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $104 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $135 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $150 = 0, $152 = 0, $156 = 0, $160 = 0, $164 = 0, $169 = 0, $171 = 0, $175 = 0, $179 = 0, $183 = 0, $189 = 0, $19 = 0, $192 = 0, $194 = 0, $198 = 0, $2 = 0, $20 = 0, $202 = 0, $206 = 0, $209 = 0, $21 = 0, $214 = 0, $229 = 0, $230 = 0, $231 = 0, $238 = 0, $240 = 0, $246 = 0, $250 = 0, $251 = 0, $258 = 0, $272 = 0, $273 = 0, $276 = 0, $283 = 0, $284 = 0, $292 = 0, $295 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $321 = 0, $325 = 0, $328 = 0, $329 = 0, $335 = 0, $44 = 0, $47 = 0, $49 = 0, $53 = 0, $57 = 0, $63 = 0, $64 = 0, $67 = 0, $68 = 0, $69 = 0, $72 = 0, $75 = 0, $92 = 0, $94 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize * 3 | 0) + 12 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize * 6 | 0) + 6) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 >> 0] | 0) + (HEAPU8[$pnt$169 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $44 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($44 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $44; - $47 = ($44 << 16 >> 16) * 7 | 0; - $49 = $labelInfo + 1310736 + ($47 + -7 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; - $53 = $labelInfo + 1310736 + ($47 + -6 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $i$265; - $57 = $labelInfo + 1310736 + ($47 + -5 << 2) | 0; - HEAP32[$57 >> 2] = (HEAP32[$57 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($47 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $63 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $67 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $68 = $67 << 16 >> 16; - $69 = $67 << 16 >> 16 > 0; - if ($63 << 16 >> 16 <= 0) { - if ($69) { - HEAP16[$pnt2$368 >> 1] = $67; - $169 = $68 * 7 | 0; - $171 = $labelInfo + 1310736 + ($169 + -7 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + 1; - $175 = $labelInfo + 1310736 + ($169 + -6 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $i$265; - $179 = $labelInfo + 1310736 + ($169 + -5 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + $j$076; - $183 = $labelInfo + 1310736 + ($169 + -3 << 2) | 0; - if ((HEAP32[$183 >> 2] | 0) < ($i$265 | 0)) HEAP32[$183 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($169 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $189 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($189 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $189; - $192 = ($189 << 16 >> 16) * 7 | 0; - $194 = $labelInfo + 1310736 + ($192 + -7 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + 1; - $198 = $labelInfo + 1310736 + ($192 + -6 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $i$265; - $202 = $labelInfo + 1310736 + ($192 + -5 << 2) | 0; - HEAP32[$202 >> 2] = (HEAP32[$202 >> 2] | 0) + $j$076; - $206 = $labelInfo + 1310736 + ($192 + -3 << 2) | 0; - if ((HEAP32[$206 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$206 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $209 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $209; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $209 << 16 >> 16; - $214 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($214 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($214 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $209; - break; - } - } - if ($69) { - $72 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $75 = HEAP32[$labelInfo + 1179664 + ($68 + -1 << 2) >> 2] | 0; - if (($72 | 0) > ($75 | 0)) { - HEAP16[$pnt2$368 >> 1] = $75; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$057 >> 2] = $75; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $92 = $75; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $92 = $75; - } else { - HEAP16[$pnt2$368 >> 1] = $72; - if (($72 | 0) < ($75 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$154 >> 2] = $72; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $92 = $72; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $92 = $72; - } - $94 = ($92 << 16 >> 16) * 7 | 0; - $96 = $labelInfo + 1310736 + ($94 + -7 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + 1; - $100 = $labelInfo + 1310736 + ($94 + -6 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $i$265; - $104 = $labelInfo + 1310736 + ($94 + -5 << 2) | 0; - HEAP32[$104 >> 2] = (HEAP32[$104 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($94 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $110 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($110 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $63; - $150 = $64 * 7 | 0; - $152 = $labelInfo + 1310736 + ($150 + -7 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + 1; - $156 = $labelInfo + 1310736 + ($150 + -6 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $i$265; - $160 = $labelInfo + 1310736 + ($150 + -5 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $j$076; - $164 = $labelInfo + 1310736 + ($150 + -4 << 2) | 0; - if ((HEAP32[$164 >> 2] | 0) > ($i$265 | 0)) HEAP32[$164 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($150 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $115 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $118 = HEAP32[$labelInfo + 1179664 + (($110 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($115 | 0) > ($118 | 0)) { - HEAP16[$pnt2$368 >> 1] = $118; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$250 >> 2] = $118; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $135 = $118; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $135 = $118; - } else { - HEAP16[$pnt2$368 >> 1] = $115; - if (($115 | 0) < ($118 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$347 >> 2] = $115; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $135 = $115; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $135 = $115; - } - $137 = ($135 << 16 >> 16) * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$265; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $229 = $pnt$169 + 6 | 0; - $230 = $pnt2$368 + 2 | 0; - $231 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $231; - $pnt$1$lcssa = $229; - $pnt2$3$lcssa = $230; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $231; - $pnt$169 = $229; - $pnt2$368 = $230; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $238 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $240 = HEAP32[$wk$444 >> 2] | 0; - if (($240 | 0) == ($i$342 | 0)) { - $246 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $246 = HEAP32[$labelInfo + 1179664 + ($240 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $246; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $250 = $labelInfo + 8 | 0; - $251 = $j$1$lcssa + -1 | 0; - HEAP32[$250 >> 2] = $251; - if (!$251) $$0 = 0; else { - _memset($238 | 0, 0, $251 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $251 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $258 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($258 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($258 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($258 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($258 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$250 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $272 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $273 = $i$538 * 7 | 0; - $276 = $labelInfo + 12 + ($272 << 2) | 0; - HEAP32[$276 >> 2] = (HEAP32[$276 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($273 << 2) >> 2] | 0); - $283 = $272 << 1; - $284 = $labelInfo + 655376 + ($283 << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 1 << 2) >> 2] | 0); - $292 = $labelInfo + 655376 + (($283 | 1) << 3) | 0; - HEAPF64[$292 >> 3] = +HEAPF64[$292 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 2 << 2) >> 2] | 0); - $295 = $272 << 2; - $296 = $labelInfo + 131084 + ($295 << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($273 + 3 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($295 | 1) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($273 + 4 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($295 | 2) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($273 + 5 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) > ($314 | 0)) HEAP32[$310 >> 2] = $314; - $317 = $labelInfo + 131084 + (($295 | 3) << 2) | 0; - $321 = HEAP32[$labelInfo + 1310736 + ($273 + 6 << 2) >> 2] | 0; - if ((HEAP32[$317 >> 2] | 0) < ($321 | 0)) HEAP32[$317 >> 2] = $321; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$250 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $325 = $labelInfo + 12 + ($i$637 << 2) | 0; - $328 = $i$637 << 1; - $329 = $labelInfo + 655376 + ($328 << 3) | 0; - HEAPF64[$329 >> 3] = +HEAPF64[$329 >> 3] / +(HEAP32[$325 >> 2] | 0); - $335 = $labelInfo + 655376 + (($328 | 1) << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$325 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$250 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $104 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $135 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $150 = 0, $152 = 0, $156 = 0, $160 = 0, $164 = 0, $169 = 0, $171 = 0, $175 = 0, $179 = 0, $183 = 0, $189 = 0, $19 = 0, $192 = 0, $194 = 0, $198 = 0, $2 = 0, $20 = 0, $202 = 0, $206 = 0, $209 = 0, $21 = 0, $214 = 0, $229 = 0, $230 = 0, $231 = 0, $238 = 0, $240 = 0, $246 = 0, $250 = 0, $251 = 0, $258 = 0, $272 = 0, $273 = 0, $276 = 0, $283 = 0, $284 = 0, $292 = 0, $295 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $321 = 0, $325 = 0, $328 = 0, $329 = 0, $335 = 0, $44 = 0, $47 = 0, $49 = 0, $53 = 0, $57 = 0, $63 = 0, $64 = 0, $67 = 0, $68 = 0, $69 = 0, $72 = 0, $75 = 0, $92 = 0, $94 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize * 3 | 0) + 12 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize * 6 | 0) + 6) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 >> 0] | 0) + (HEAPU8[$pnt$169 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $44 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($44 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $44; - $47 = ($44 << 16 >> 16) * 7 | 0; - $49 = $labelInfo + 1310736 + ($47 + -7 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; - $53 = $labelInfo + 1310736 + ($47 + -6 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $i$265; - $57 = $labelInfo + 1310736 + ($47 + -5 << 2) | 0; - HEAP32[$57 >> 2] = (HEAP32[$57 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($47 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $63 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $67 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $68 = $67 << 16 >> 16; - $69 = $67 << 16 >> 16 > 0; - if ($63 << 16 >> 16 <= 0) { - if ($69) { - HEAP16[$pnt2$368 >> 1] = $67; - $169 = $68 * 7 | 0; - $171 = $labelInfo + 1310736 + ($169 + -7 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + 1; - $175 = $labelInfo + 1310736 + ($169 + -6 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $i$265; - $179 = $labelInfo + 1310736 + ($169 + -5 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + $j$076; - $183 = $labelInfo + 1310736 + ($169 + -3 << 2) | 0; - if ((HEAP32[$183 >> 2] | 0) < ($i$265 | 0)) HEAP32[$183 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($169 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $189 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($189 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $189; - $192 = ($189 << 16 >> 16) * 7 | 0; - $194 = $labelInfo + 1310736 + ($192 + -7 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + 1; - $198 = $labelInfo + 1310736 + ($192 + -6 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $i$265; - $202 = $labelInfo + 1310736 + ($192 + -5 << 2) | 0; - HEAP32[$202 >> 2] = (HEAP32[$202 >> 2] | 0) + $j$076; - $206 = $labelInfo + 1310736 + ($192 + -3 << 2) | 0; - if ((HEAP32[$206 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$206 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $209 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $209; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $209 << 16 >> 16; - $214 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($214 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($214 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $209; - break; - } - } - if ($69) { - $72 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $75 = HEAP32[$labelInfo + 1179664 + ($68 + -1 << 2) >> 2] | 0; - if (($72 | 0) > ($75 | 0)) { - HEAP16[$pnt2$368 >> 1] = $75; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$057 >> 2] = $75; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $92 = $75; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $92 = $75; - } else { - HEAP16[$pnt2$368 >> 1] = $72; - if (($72 | 0) < ($75 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$154 >> 2] = $72; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $92 = $72; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $92 = $72; - } - $94 = ($92 << 16 >> 16) * 7 | 0; - $96 = $labelInfo + 1310736 + ($94 + -7 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + 1; - $100 = $labelInfo + 1310736 + ($94 + -6 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $i$265; - $104 = $labelInfo + 1310736 + ($94 + -5 << 2) | 0; - HEAP32[$104 >> 2] = (HEAP32[$104 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($94 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $110 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($110 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $63; - $150 = $64 * 7 | 0; - $152 = $labelInfo + 1310736 + ($150 + -7 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + 1; - $156 = $labelInfo + 1310736 + ($150 + -6 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $i$265; - $160 = $labelInfo + 1310736 + ($150 + -5 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $j$076; - $164 = $labelInfo + 1310736 + ($150 + -4 << 2) | 0; - if ((HEAP32[$164 >> 2] | 0) > ($i$265 | 0)) HEAP32[$164 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($150 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $115 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $118 = HEAP32[$labelInfo + 1179664 + (($110 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($115 | 0) > ($118 | 0)) { - HEAP16[$pnt2$368 >> 1] = $118; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$250 >> 2] = $118; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $135 = $118; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $135 = $118; - } else { - HEAP16[$pnt2$368 >> 1] = $115; - if (($115 | 0) < ($118 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$347 >> 2] = $115; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $135 = $115; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $135 = $115; - } - $137 = ($135 << 16 >> 16) * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$265; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $229 = $pnt$169 + 6 | 0; - $230 = $pnt2$368 + 2 | 0; - $231 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $231; - $pnt$1$lcssa = $229; - $pnt2$3$lcssa = $230; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $231; - $pnt$169 = $229; - $pnt2$368 = $230; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $238 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $240 = HEAP32[$wk$444 >> 2] | 0; - if (($240 | 0) == ($i$342 | 0)) { - $246 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $246 = HEAP32[$labelInfo + 1179664 + ($240 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $246; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $250 = $labelInfo + 8 | 0; - $251 = $j$1$lcssa + -1 | 0; - HEAP32[$250 >> 2] = $251; - if (!$251) $$0 = 0; else { - _memset($238 | 0, 0, $251 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $251 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $258 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($258 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($258 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($258 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($258 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$250 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $272 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $273 = $i$538 * 7 | 0; - $276 = $labelInfo + 12 + ($272 << 2) | 0; - HEAP32[$276 >> 2] = (HEAP32[$276 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($273 << 2) >> 2] | 0); - $283 = $272 << 1; - $284 = $labelInfo + 655376 + ($283 << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 1 << 2) >> 2] | 0); - $292 = $labelInfo + 655376 + (($283 | 1) << 3) | 0; - HEAPF64[$292 >> 3] = +HEAPF64[$292 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 2 << 2) >> 2] | 0); - $295 = $272 << 2; - $296 = $labelInfo + 131084 + ($295 << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($273 + 3 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($295 | 1) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($273 + 4 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($295 | 2) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($273 + 5 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) > ($314 | 0)) HEAP32[$310 >> 2] = $314; - $317 = $labelInfo + 131084 + (($295 | 3) << 2) | 0; - $321 = HEAP32[$labelInfo + 1310736 + ($273 + 6 << 2) >> 2] | 0; - if ((HEAP32[$317 >> 2] | 0) < ($321 | 0)) HEAP32[$317 >> 2] = $321; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$250 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $325 = $labelInfo + 12 + ($i$637 << 2) | 0; - $328 = $i$637 << 1; - $329 = $labelInfo + 655376 + ($328 << 3) | 0; - HEAPF64[$329 >> 3] = +HEAPF64[$329 >> 3] / +(HEAP32[$325 >> 2] | 0); - $335 = $labelInfo + 655376 + (($328 | 1) << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$325 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$250 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $105 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $136 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $151 = 0, $153 = 0, $157 = 0, $161 = 0, $165 = 0, $170 = 0, $172 = 0, $176 = 0, $180 = 0, $184 = 0, $19 = 0, $190 = 0, $193 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $207 = 0, $21 = 0, $210 = 0, $215 = 0, $230 = 0, $231 = 0, $232 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $301 = 0, $304 = 0, $308 = 0, $31 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $45 = 0, $48 = 0, $50 = 0, $54 = 0, $58 = 0, $64 = 0, $65 = 0, $68 = 0, $69 = 0, $70 = 0, $73 = 0, $76 = 0, $93 = 0, $95 = 0, $97 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 3) + 8) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 2 >> 0] | 0) + (HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 + 3 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $45 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($45 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $45; - $48 = ($45 << 16 >> 16) * 7 | 0; - $50 = $labelInfo + 1310736 + ($48 + -7 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + 1; - $54 = $labelInfo + 1310736 + ($48 + -6 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $i$265; - $58 = $labelInfo + 1310736 + ($48 + -5 << 2) | 0; - HEAP32[$58 >> 2] = (HEAP32[$58 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($48 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $64 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $68 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $69 = $68 << 16 >> 16; - $70 = $68 << 16 >> 16 > 0; - if ($64 << 16 >> 16 <= 0) { - if ($70) { - HEAP16[$pnt2$368 >> 1] = $68; - $170 = $69 * 7 | 0; - $172 = $labelInfo + 1310736 + ($170 + -7 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + 1; - $176 = $labelInfo + 1310736 + ($170 + -6 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $i$265; - $180 = $labelInfo + 1310736 + ($170 + -5 << 2) | 0; - HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + $j$076; - $184 = $labelInfo + 1310736 + ($170 + -3 << 2) | 0; - if ((HEAP32[$184 >> 2] | 0) < ($i$265 | 0)) HEAP32[$184 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($170 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $190 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($190 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $190; - $193 = ($190 << 16 >> 16) * 7 | 0; - $195 = $labelInfo + 1310736 + ($193 + -7 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + 1; - $199 = $labelInfo + 1310736 + ($193 + -6 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $i$265; - $203 = $labelInfo + 1310736 + ($193 + -5 << 2) | 0; - HEAP32[$203 >> 2] = (HEAP32[$203 >> 2] | 0) + $j$076; - $207 = $labelInfo + 1310736 + ($193 + -3 << 2) | 0; - if ((HEAP32[$207 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$207 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $210 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $210; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $210 << 16 >> 16; - $215 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($215 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($215 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($215 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($215 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $210; - break; - } - } - if ($70) { - $73 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - $76 = HEAP32[$labelInfo + 1179664 + ($69 + -1 << 2) >> 2] | 0; - if (($73 | 0) > ($76 | 0)) { - HEAP16[$pnt2$368 >> 1] = $76; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$057 >> 2] = $76; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $93 = $76; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $93 = $76; - } else { - HEAP16[$pnt2$368 >> 1] = $73; - if (($73 | 0) < ($76 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($76 | 0)) HEAP32[$wk$154 >> 2] = $73; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $93 = $73; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $93 = $73; - } - $95 = ($93 << 16 >> 16) * 7 | 0; - $97 = $labelInfo + 1310736 + ($95 + -7 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + 1; - $101 = $labelInfo + 1310736 + ($95 + -6 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $i$265; - $105 = $labelInfo + 1310736 + ($95 + -5 << 2) | 0; - HEAP32[$105 >> 2] = (HEAP32[$105 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($95 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $111 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($111 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $64; - $151 = $65 * 7 | 0; - $153 = $labelInfo + 1310736 + ($151 + -7 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + 1; - $157 = $labelInfo + 1310736 + ($151 + -6 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $i$265; - $161 = $labelInfo + 1310736 + ($151 + -5 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $j$076; - $165 = $labelInfo + 1310736 + ($151 + -4 << 2) | 0; - if ((HEAP32[$165 >> 2] | 0) > ($i$265 | 0)) HEAP32[$165 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($151 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - $119 = HEAP32[$labelInfo + 1179664 + (($111 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($116 | 0) > ($119 | 0)) { - HEAP16[$pnt2$368 >> 1] = $119; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$250 >> 2] = $119; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $136 = $119; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $136 = $119; - } else { - HEAP16[$pnt2$368 >> 1] = $116; - if (($116 | 0) < ($119 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($119 | 0)) HEAP32[$wk$347 >> 2] = $116; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $136 = $116; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $136 = $116; - } - $138 = ($136 << 16 >> 16) * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$265; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $230 = $pnt$169 + 8 | 0; - $231 = $pnt2$368 + 2 | 0; - $232 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $232; - $pnt$1$lcssa = $230; - $pnt2$3$lcssa = $231; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $232; - $pnt$169 = $230; - $pnt2$368 = $231; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $241 = HEAP32[$wk$444 >> 2] | 0; - if (($241 | 0) == ($i$342 | 0)) { - $247 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $247; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $259 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$538 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $326 = $labelInfo + 12 + ($i$637 << 2) | 0; - $329 = $i$637 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $105 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $136 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $151 = 0, $153 = 0, $157 = 0, $161 = 0, $165 = 0, $170 = 0, $172 = 0, $176 = 0, $180 = 0, $184 = 0, $19 = 0, $190 = 0, $193 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $207 = 0, $21 = 0, $210 = 0, $215 = 0, $230 = 0, $231 = 0, $232 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $301 = 0, $304 = 0, $308 = 0, $31 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $45 = 0, $48 = 0, $50 = 0, $54 = 0, $58 = 0, $64 = 0, $65 = 0, $68 = 0, $69 = 0, $70 = 0, $73 = 0, $76 = 0, $93 = 0, $95 = 0, $97 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 3) + 8) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 2 >> 0] | 0) + (HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 + 3 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $45 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($45 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $45; - $48 = ($45 << 16 >> 16) * 7 | 0; - $50 = $labelInfo + 1310736 + ($48 + -7 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + 1; - $54 = $labelInfo + 1310736 + ($48 + -6 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $i$265; - $58 = $labelInfo + 1310736 + ($48 + -5 << 2) | 0; - HEAP32[$58 >> 2] = (HEAP32[$58 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($48 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $64 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $68 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $69 = $68 << 16 >> 16; - $70 = $68 << 16 >> 16 > 0; - if ($64 << 16 >> 16 <= 0) { - if ($70) { - HEAP16[$pnt2$368 >> 1] = $68; - $170 = $69 * 7 | 0; - $172 = $labelInfo + 1310736 + ($170 + -7 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + 1; - $176 = $labelInfo + 1310736 + ($170 + -6 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $i$265; - $180 = $labelInfo + 1310736 + ($170 + -5 << 2) | 0; - HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + $j$076; - $184 = $labelInfo + 1310736 + ($170 + -3 << 2) | 0; - if ((HEAP32[$184 >> 2] | 0) < ($i$265 | 0)) HEAP32[$184 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($170 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $190 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($190 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $190; - $193 = ($190 << 16 >> 16) * 7 | 0; - $195 = $labelInfo + 1310736 + ($193 + -7 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + 1; - $199 = $labelInfo + 1310736 + ($193 + -6 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $i$265; - $203 = $labelInfo + 1310736 + ($193 + -5 << 2) | 0; - HEAP32[$203 >> 2] = (HEAP32[$203 >> 2] | 0) + $j$076; - $207 = $labelInfo + 1310736 + ($193 + -3 << 2) | 0; - if ((HEAP32[$207 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$207 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $210 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $210; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $210 << 16 >> 16; - $215 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($215 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($215 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($215 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($215 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($215 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $210; - break; - } - } - if ($70) { - $73 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - $76 = HEAP32[$labelInfo + 1179664 + ($69 + -1 << 2) >> 2] | 0; - if (($73 | 0) > ($76 | 0)) { - HEAP16[$pnt2$368 >> 1] = $76; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$057 >> 2] = $76; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $93 = $76; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $93 = $76; - } else { - HEAP16[$pnt2$368 >> 1] = $73; - if (($73 | 0) < ($76 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($76 | 0)) HEAP32[$wk$154 >> 2] = $73; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $93 = $73; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $93 = $73; - } - $95 = ($93 << 16 >> 16) * 7 | 0; - $97 = $labelInfo + 1310736 + ($95 + -7 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + 1; - $101 = $labelInfo + 1310736 + ($95 + -6 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $i$265; - $105 = $labelInfo + 1310736 + ($95 + -5 << 2) | 0; - HEAP32[$105 >> 2] = (HEAP32[$105 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($95 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $111 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($111 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $64; - $151 = $65 * 7 | 0; - $153 = $labelInfo + 1310736 + ($151 + -7 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + 1; - $157 = $labelInfo + 1310736 + ($151 + -6 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $i$265; - $161 = $labelInfo + 1310736 + ($151 + -5 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $j$076; - $165 = $labelInfo + 1310736 + ($151 + -4 << 2) | 0; - if ((HEAP32[$165 >> 2] | 0) > ($i$265 | 0)) HEAP32[$165 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($151 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $116 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - $119 = HEAP32[$labelInfo + 1179664 + (($111 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($116 | 0) > ($119 | 0)) { - HEAP16[$pnt2$368 >> 1] = $119; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$250 >> 2] = $119; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $136 = $119; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $136 = $119; - } else { - HEAP16[$pnt2$368 >> 1] = $116; - if (($116 | 0) < ($119 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($119 | 0)) HEAP32[$wk$347 >> 2] = $116; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $136 = $116; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $136 = $116; - } - $138 = ($136 << 16 >> 16) * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$265; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $230 = $pnt$169 + 8 | 0; - $231 = $pnt2$368 + 2 | 0; - $232 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $232; - $pnt$1$lcssa = $230; - $pnt2$3$lcssa = $231; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $232; - $pnt$169 = $230; - $pnt2$368 = $231; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $241 = HEAP32[$wk$444 >> 2] | 0; - if (($241 | 0) == ($i$342 | 0)) { - $247 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $247; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $259 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$538 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $326 = $labelInfo + 12 + ($i$637 << 2) | 0; - $329 = $i$637 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $104 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $135 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $150 = 0, $152 = 0, $156 = 0, $160 = 0, $164 = 0, $169 = 0, $171 = 0, $175 = 0, $179 = 0, $183 = 0, $189 = 0, $19 = 0, $192 = 0, $194 = 0, $198 = 0, $2 = 0, $20 = 0, $202 = 0, $206 = 0, $209 = 0, $21 = 0, $214 = 0, $229 = 0, $230 = 0, $231 = 0, $238 = 0, $240 = 0, $246 = 0, $250 = 0, $251 = 0, $258 = 0, $272 = 0, $273 = 0, $276 = 0, $283 = 0, $284 = 0, $292 = 0, $295 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $321 = 0, $325 = 0, $328 = 0, $329 = 0, $335 = 0, $44 = 0, $47 = 0, $49 = 0, $53 = 0, $57 = 0, $63 = 0, $64 = 0, $67 = 0, $68 = 0, $69 = 0, $72 = 0, $75 = 0, $92 = 0, $94 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 3) + 8) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 >> 0] | 0) + (HEAPU8[$pnt$169 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $44 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($44 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $44; - $47 = ($44 << 16 >> 16) * 7 | 0; - $49 = $labelInfo + 1310736 + ($47 + -7 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; - $53 = $labelInfo + 1310736 + ($47 + -6 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $i$265; - $57 = $labelInfo + 1310736 + ($47 + -5 << 2) | 0; - HEAP32[$57 >> 2] = (HEAP32[$57 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($47 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $63 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $67 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $68 = $67 << 16 >> 16; - $69 = $67 << 16 >> 16 > 0; - if ($63 << 16 >> 16 <= 0) { - if ($69) { - HEAP16[$pnt2$368 >> 1] = $67; - $169 = $68 * 7 | 0; - $171 = $labelInfo + 1310736 + ($169 + -7 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + 1; - $175 = $labelInfo + 1310736 + ($169 + -6 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $i$265; - $179 = $labelInfo + 1310736 + ($169 + -5 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + $j$076; - $183 = $labelInfo + 1310736 + ($169 + -3 << 2) | 0; - if ((HEAP32[$183 >> 2] | 0) < ($i$265 | 0)) HEAP32[$183 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($169 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $189 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($189 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $189; - $192 = ($189 << 16 >> 16) * 7 | 0; - $194 = $labelInfo + 1310736 + ($192 + -7 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + 1; - $198 = $labelInfo + 1310736 + ($192 + -6 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $i$265; - $202 = $labelInfo + 1310736 + ($192 + -5 << 2) | 0; - HEAP32[$202 >> 2] = (HEAP32[$202 >> 2] | 0) + $j$076; - $206 = $labelInfo + 1310736 + ($192 + -3 << 2) | 0; - if ((HEAP32[$206 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$206 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $209 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $209; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $209 << 16 >> 16; - $214 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($214 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($214 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $209; - break; - } - } - if ($69) { - $72 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $75 = HEAP32[$labelInfo + 1179664 + ($68 + -1 << 2) >> 2] | 0; - if (($72 | 0) > ($75 | 0)) { - HEAP16[$pnt2$368 >> 1] = $75; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$057 >> 2] = $75; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $92 = $75; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $92 = $75; - } else { - HEAP16[$pnt2$368 >> 1] = $72; - if (($72 | 0) < ($75 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$154 >> 2] = $72; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $92 = $72; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $92 = $72; - } - $94 = ($92 << 16 >> 16) * 7 | 0; - $96 = $labelInfo + 1310736 + ($94 + -7 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + 1; - $100 = $labelInfo + 1310736 + ($94 + -6 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $i$265; - $104 = $labelInfo + 1310736 + ($94 + -5 << 2) | 0; - HEAP32[$104 >> 2] = (HEAP32[$104 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($94 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $110 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($110 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $63; - $150 = $64 * 7 | 0; - $152 = $labelInfo + 1310736 + ($150 + -7 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + 1; - $156 = $labelInfo + 1310736 + ($150 + -6 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $i$265; - $160 = $labelInfo + 1310736 + ($150 + -5 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $j$076; - $164 = $labelInfo + 1310736 + ($150 + -4 << 2) | 0; - if ((HEAP32[$164 >> 2] | 0) > ($i$265 | 0)) HEAP32[$164 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($150 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $115 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $118 = HEAP32[$labelInfo + 1179664 + (($110 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($115 | 0) > ($118 | 0)) { - HEAP16[$pnt2$368 >> 1] = $118; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$250 >> 2] = $118; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $135 = $118; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $135 = $118; - } else { - HEAP16[$pnt2$368 >> 1] = $115; - if (($115 | 0) < ($118 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$347 >> 2] = $115; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $135 = $115; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $135 = $115; - } - $137 = ($135 << 16 >> 16) * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$265; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $229 = $pnt$169 + 8 | 0; - $230 = $pnt2$368 + 2 | 0; - $231 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $231; - $pnt$1$lcssa = $229; - $pnt2$3$lcssa = $230; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $231; - $pnt$169 = $229; - $pnt2$368 = $230; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $238 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $240 = HEAP32[$wk$444 >> 2] | 0; - if (($240 | 0) == ($i$342 | 0)) { - $246 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $246 = HEAP32[$labelInfo + 1179664 + ($240 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $246; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $250 = $labelInfo + 8 | 0; - $251 = $j$1$lcssa + -1 | 0; - HEAP32[$250 >> 2] = $251; - if (!$251) $$0 = 0; else { - _memset($238 | 0, 0, $251 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $251 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $258 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($258 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($258 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($258 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($258 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$250 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $272 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $273 = $i$538 * 7 | 0; - $276 = $labelInfo + 12 + ($272 << 2) | 0; - HEAP32[$276 >> 2] = (HEAP32[$276 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($273 << 2) >> 2] | 0); - $283 = $272 << 1; - $284 = $labelInfo + 655376 + ($283 << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 1 << 2) >> 2] | 0); - $292 = $labelInfo + 655376 + (($283 | 1) << 3) | 0; - HEAPF64[$292 >> 3] = +HEAPF64[$292 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 2 << 2) >> 2] | 0); - $295 = $272 << 2; - $296 = $labelInfo + 131084 + ($295 << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($273 + 3 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($295 | 1) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($273 + 4 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($295 | 2) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($273 + 5 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) > ($314 | 0)) HEAP32[$310 >> 2] = $314; - $317 = $labelInfo + 131084 + (($295 | 3) << 2) | 0; - $321 = HEAP32[$labelInfo + 1310736 + ($273 + 6 << 2) >> 2] | 0; - if ((HEAP32[$317 >> 2] | 0) < ($321 | 0)) HEAP32[$317 >> 2] = $321; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$250 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $325 = $labelInfo + 12 + ($i$637 << 2) | 0; - $328 = $i$637 << 1; - $329 = $labelInfo + 655376 + ($328 << 3) | 0; - HEAPF64[$329 >> 3] = +HEAPF64[$329 >> 3] / +(HEAP32[$325 >> 2] | 0); - $335 = $labelInfo + 655376 + (($328 | 1) << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$325 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$250 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $104 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $135 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $150 = 0, $152 = 0, $156 = 0, $160 = 0, $164 = 0, $169 = 0, $171 = 0, $175 = 0, $179 = 0, $183 = 0, $189 = 0, $19 = 0, $192 = 0, $194 = 0, $198 = 0, $2 = 0, $20 = 0, $202 = 0, $206 = 0, $209 = 0, $21 = 0, $214 = 0, $229 = 0, $230 = 0, $231 = 0, $238 = 0, $240 = 0, $246 = 0, $250 = 0, $251 = 0, $258 = 0, $272 = 0, $273 = 0, $276 = 0, $283 = 0, $284 = 0, $292 = 0, $295 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $314 = 0, $317 = 0, $321 = 0, $325 = 0, $328 = 0, $329 = 0, $335 = 0, $44 = 0, $47 = 0, $49 = 0, $53 = 0, $57 = 0, $63 = 0, $64 = 0, $67 = 0, $68 = 0, $69 = 0, $72 = 0, $75 = 0, $92 = 0, $94 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $31 = ($12 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $20 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 3) + 8) | 0; - $pnt2$279 = $2 + ($20 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($31) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if (((HEAPU8[$pnt$169 + 1 >> 0] | 0) + (HEAPU8[$pnt$169 >> 0] | 0) + (HEAPU8[$pnt$169 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $44 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($44 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $44; - $47 = ($44 << 16 >> 16) * 7 | 0; - $49 = $labelInfo + 1310736 + ($47 + -7 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; - $53 = $labelInfo + 1310736 + ($47 + -6 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $i$265; - $57 = $labelInfo + 1310736 + ($47 + -5 << 2) | 0; - HEAP32[$57 >> 2] = (HEAP32[$57 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($47 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $63 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $67 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $68 = $67 << 16 >> 16; - $69 = $67 << 16 >> 16 > 0; - if ($63 << 16 >> 16 <= 0) { - if ($69) { - HEAP16[$pnt2$368 >> 1] = $67; - $169 = $68 * 7 | 0; - $171 = $labelInfo + 1310736 + ($169 + -7 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + 1; - $175 = $labelInfo + 1310736 + ($169 + -6 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $i$265; - $179 = $labelInfo + 1310736 + ($169 + -5 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + $j$076; - $183 = $labelInfo + 1310736 + ($169 + -3 << 2) | 0; - if ((HEAP32[$183 >> 2] | 0) < ($i$265 | 0)) HEAP32[$183 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($169 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $189 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($189 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $189; - $192 = ($189 << 16 >> 16) * 7 | 0; - $194 = $labelInfo + 1310736 + ($192 + -7 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + 1; - $198 = $labelInfo + 1310736 + ($192 + -6 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $i$265; - $202 = $labelInfo + 1310736 + ($192 + -5 << 2) | 0; - HEAP32[$202 >> 2] = (HEAP32[$202 >> 2] | 0) + $j$076; - $206 = $labelInfo + 1310736 + ($192 + -3 << 2) | 0; - if ((HEAP32[$206 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$206 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $209 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $209; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $209 << 16 >> 16; - $214 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($214 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($214 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($214 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($214 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $209; - break; - } - } - if ($69) { - $72 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $75 = HEAP32[$labelInfo + 1179664 + ($68 + -1 << 2) >> 2] | 0; - if (($72 | 0) > ($75 | 0)) { - HEAP16[$pnt2$368 >> 1] = $75; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $19; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$057 >> 2] = $75; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $92 = $75; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $92 = $75; - } else { - HEAP16[$pnt2$368 >> 1] = $72; - if (($72 | 0) < ($75 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $19; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$154 >> 2] = $72; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $92 = $72; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $92 = $72; - } - $94 = ($92 << 16 >> 16) * 7 | 0; - $96 = $labelInfo + 1310736 + ($94 + -7 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + 1; - $100 = $labelInfo + 1310736 + ($94 + -6 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $i$265; - $104 = $labelInfo + 1310736 + ($94 + -5 << 2) | 0; - HEAP32[$104 >> 2] = (HEAP32[$104 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($94 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $110 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($110 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $63; - $150 = $64 * 7 | 0; - $152 = $labelInfo + 1310736 + ($150 + -7 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + 1; - $156 = $labelInfo + 1310736 + ($150 + -6 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $i$265; - $160 = $labelInfo + 1310736 + ($150 + -5 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $j$076; - $164 = $labelInfo + 1310736 + ($150 + -4 << 2) | 0; - if ((HEAP32[$164 >> 2] | 0) > ($i$265 | 0)) HEAP32[$164 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($150 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $115 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - $118 = HEAP32[$labelInfo + 1179664 + (($110 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($115 | 0) > ($118 | 0)) { - HEAP16[$pnt2$368 >> 1] = $118; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $19; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$250 >> 2] = $118; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $135 = $118; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $135 = $118; - } else { - HEAP16[$pnt2$368 >> 1] = $115; - if (($115 | 0) < ($118 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $19; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$347 >> 2] = $115; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $135 = $115; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $135 = $115; - } - $137 = ($135 << 16 >> 16) * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$265; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $229 = $pnt$169 + 8 | 0; - $230 = $pnt2$368 + 2 | 0; - $231 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($12 | 0)) { - $dpnt$1$lcssa = $231; - $pnt$1$lcssa = $229; - $pnt2$3$lcssa = $230; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $231; - $pnt$169 = $229; - $pnt2$368 = $230; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $238 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $19; - while (1) { - $240 = HEAP32[$wk$444 >> 2] | 0; - if (($240 | 0) == ($i$342 | 0)) { - $246 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $246 = HEAP32[$labelInfo + 1179664 + ($240 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $246; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $250 = $labelInfo + 8 | 0; - $251 = $j$1$lcssa + -1 | 0; - HEAP32[$250 >> 2] = $251; - if (!$251) $$0 = 0; else { - _memset($238 | 0, 0, $251 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $251 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $258 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($258 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($258 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($258 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($258 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$250 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $272 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $273 = $i$538 * 7 | 0; - $276 = $labelInfo + 12 + ($272 << 2) | 0; - HEAP32[$276 >> 2] = (HEAP32[$276 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($273 << 2) >> 2] | 0); - $283 = $272 << 1; - $284 = $labelInfo + 655376 + ($283 << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 1 << 2) >> 2] | 0); - $292 = $labelInfo + 655376 + (($283 | 1) << 3) | 0; - HEAPF64[$292 >> 3] = +HEAPF64[$292 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($273 + 2 << 2) >> 2] | 0); - $295 = $272 << 2; - $296 = $labelInfo + 131084 + ($295 << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($273 + 3 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($295 | 1) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($273 + 4 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($295 | 2) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($273 + 5 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) > ($314 | 0)) HEAP32[$310 >> 2] = $314; - $317 = $labelInfo + 131084 + (($295 | 3) << 2) | 0; - $321 = HEAP32[$labelInfo + 1310736 + ($273 + 6 << 2) >> 2] | 0; - if ((HEAP32[$317 >> 2] | 0) < ($321 | 0)) HEAP32[$317 >> 2] = $321; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$250 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $325 = $labelInfo + 12 + ($i$637 << 2) | 0; - $328 = $i$637 << 1; - $329 = $labelInfo + 655376 + ($328 << 3) | 0; - HEAPF64[$329 >> 3] = +HEAPF64[$329 >> 3] / +(HEAP32[$325 >> 2] | 0); - $335 = $labelInfo + 655376 + (($328 | 1) << 3) | 0; - HEAPF64[$335 >> 3] = +HEAPF64[$335 >> 3] / +(HEAP32[$325 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$250 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $106 = 0, $112 = 0, $117 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $17 = 0, $171 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $27 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $29 = 0, $294 = 0, $297 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $330 = 0, $331 = 0, $337 = 0, $35 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $9 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - $35 = HEAPU8[$pnt$168 + 1 >> 0] | 0; - do if ((($29 & 248) + 12 + ($29 << 5 & 224) + ($35 >>> 3 & 24) + ($35 << 2 & 248) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $46 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$264; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $65 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$367 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$264; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$075; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$264 | 0)) HEAP32[$185 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $191 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$264; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$075; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$208 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $211 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$367 >> 1] = $77; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$056 >> 2] = $77; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $94 = $77; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$367 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$153 >> 2] = $74; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $94 = $74; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$264; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$264; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$075; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$264 | 0)) HEAP32[$166 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$367 >> 1] = $120; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$249 >> 2] = $120; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $137 = $120; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$367 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$346 >> 2] = $117; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $137 = $117; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$264; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $231 = $pnt$168 + 2 | 0; - $232 = $pnt2$367 + 2 | 0; - $233 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $233; - $pnt$168 = $231; - $pnt2$367 = $232; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $242 = HEAP32[$wk$443 >> 2] | 0; - if (($242 | 0) == ($i$341 | 0)) { - $248 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $248; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $260 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$537 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $327 = $labelInfo + 12 + ($i$636 << 2) | 0; - $330 = $i$636 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $106 = 0, $112 = 0, $117 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $17 = 0, $171 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $27 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $29 = 0, $294 = 0, $297 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $330 = 0, $331 = 0, $337 = 0, $35 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $9 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - $35 = HEAPU8[$pnt$168 + 1 >> 0] | 0; - do if ((($29 & 248) + 12 + ($29 << 5 & 224) + ($35 >>> 3 & 24) + ($35 << 2 & 248) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $46 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$264; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $65 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$367 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$264; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$075; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$264 | 0)) HEAP32[$185 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $191 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$264; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$075; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$208 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $211 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$367 >> 1] = $77; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$056 >> 2] = $77; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $94 = $77; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$367 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$153 >> 2] = $74; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $94 = $74; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$264; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$264; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$075; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$264 | 0)) HEAP32[$166 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$367 >> 1] = $120; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$249 >> 2] = $120; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $137 = $120; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$367 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$346 >> 2] = $117; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $137 = $117; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$264; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $231 = $pnt$168 + 2 | 0; - $232 = $pnt2$367 + 2 | 0; - $233 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $233; - $pnt$168 = $231; - $pnt2$367 = $232; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $242 = HEAP32[$wk$443 >> 2] | 0; - if (($242 | 0) == ($i$341 | 0)) { - $248 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $248; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $260 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$537 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $327 = $labelInfo + 12 + ($i$636 << 2) | 0; - $330 = $i$636 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $106 = 0, $112 = 0, $117 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $17 = 0, $171 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $27 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $29 = 0, $294 = 0, $297 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $330 = 0, $331 = 0, $337 = 0, $35 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $9 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - $35 = HEAPU8[$pnt$168 + 1 >> 0] | 0; - do if ((($29 & 248) + 10 + ($29 << 5 & 224) + ($35 >>> 3 & 28) + ($35 << 3 & 248) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $46 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$264; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $65 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$367 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$264; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$075; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$264 | 0)) HEAP32[$185 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $191 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$264; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$075; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$208 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $211 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$367 >> 1] = $77; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$056 >> 2] = $77; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $94 = $77; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$367 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$153 >> 2] = $74; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $94 = $74; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$264; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$264; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$075; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$264 | 0)) HEAP32[$166 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$367 >> 1] = $120; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$249 >> 2] = $120; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $137 = $120; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$367 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$346 >> 2] = $117; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $137 = $117; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$264; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $231 = $pnt$168 + 2 | 0; - $232 = $pnt2$367 + 2 | 0; - $233 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $233; - $pnt$168 = $231; - $pnt2$367 = $232; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $242 = HEAP32[$wk$443 >> 2] | 0; - if (($242 | 0) == ($i$341 | 0)) { - $248 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $248; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $260 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$537 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $327 = $labelInfo + 12 + ($i$636 << 2) | 0; - $330 = $i$636 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $106 = 0, $112 = 0, $117 = 0, $120 = 0, $137 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $17 = 0, $171 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $200 = 0, $204 = 0, $208 = 0, $211 = 0, $216 = 0, $231 = 0, $232 = 0, $233 = 0, $240 = 0, $242 = 0, $248 = 0, $252 = 0, $253 = 0, $260 = 0, $27 = 0, $274 = 0, $275 = 0, $278 = 0, $285 = 0, $286 = 0, $29 = 0, $294 = 0, $297 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $319 = 0, $323 = 0, $327 = 0, $330 = 0, $331 = 0, $337 = 0, $35 = 0, $46 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $65 = 0, $66 = 0, $69 = 0, $70 = 0, $71 = 0, $74 = 0, $77 = 0, $9 = 0, $94 = 0, $96 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - $35 = HEAPU8[$pnt$168 + 1 >> 0] | 0; - do if ((($29 & 248) + 10 + ($29 << 5 & 224) + ($35 >>> 3 & 28) + ($35 << 3 & 248) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $46 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($46 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $46; - $49 = ($46 << 16 >> 16) * 7 | 0; - $51 = $labelInfo + 1310736 + ($49 + -7 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; - $55 = $labelInfo + 1310736 + ($49 + -6 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $i$264; - $59 = $labelInfo + 1310736 + ($49 + -5 << 2) | 0; - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($49 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $65 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $69 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $70 = $69 << 16 >> 16; - $71 = $69 << 16 >> 16 > 0; - if ($65 << 16 >> 16 <= 0) { - if ($71) { - HEAP16[$pnt2$367 >> 1] = $69; - $171 = $70 * 7 | 0; - $173 = $labelInfo + 1310736 + ($171 + -7 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + 1; - $177 = $labelInfo + 1310736 + ($171 + -6 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $i$264; - $181 = $labelInfo + 1310736 + ($171 + -5 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $j$075; - $185 = $labelInfo + 1310736 + ($171 + -3 << 2) | 0; - if ((HEAP32[$185 >> 2] | 0) < ($i$264 | 0)) HEAP32[$185 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($171 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $191 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($191 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $191; - $194 = ($191 << 16 >> 16) * 7 | 0; - $196 = $labelInfo + 1310736 + ($194 + -7 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + 1; - $200 = $labelInfo + 1310736 + ($194 + -6 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $i$264; - $204 = $labelInfo + 1310736 + ($194 + -5 << 2) | 0; - HEAP32[$204 >> 2] = (HEAP32[$204 >> 2] | 0) + $j$075; - $208 = $labelInfo + 1310736 + ($194 + -3 << 2) | 0; - if ((HEAP32[$208 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$208 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $211 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $211; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $211 << 16 >> 16; - $216 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($216 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($216 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($216 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($216 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $211; - break; - } - } - if ($71) { - $74 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $77 = HEAP32[$labelInfo + 1179664 + ($70 + -1 << 2) >> 2] | 0; - if (($74 | 0) > ($77 | 0)) { - HEAP16[$pnt2$367 >> 1] = $77; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$056 >> 2] = $77; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $94 = $77; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $94 = $77; - } else { - HEAP16[$pnt2$367 >> 1] = $74; - if (($74 | 0) < ($77 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($77 | 0)) HEAP32[$wk$153 >> 2] = $74; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $94 = $74; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $94 = $74; - } - $96 = ($94 << 16 >> 16) * 7 | 0; - $98 = $labelInfo + 1310736 + ($96 + -7 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; - $102 = $labelInfo + 1310736 + ($96 + -6 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $i$264; - $106 = $labelInfo + 1310736 + ($96 + -5 << 2) | 0; - HEAP32[$106 >> 2] = (HEAP32[$106 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($96 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($112 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $65; - $152 = $66 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$264; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$075; - $166 = $labelInfo + 1310736 + ($152 + -4 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) > ($i$264 | 0)) HEAP32[$166 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $117 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - $120 = HEAP32[$labelInfo + 1179664 + (($112 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($117 | 0) > ($120 | 0)) { - HEAP16[$pnt2$367 >> 1] = $120; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$249 >> 2] = $120; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $137 = $120; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $137 = $120; - } else { - HEAP16[$pnt2$367 >> 1] = $117; - if (($117 | 0) < ($120 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($120 | 0)) HEAP32[$wk$346 >> 2] = $117; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $137 = $117; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $137 = $117; - } - $139 = ($137 << 16 >> 16) * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$264; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $231 = $pnt$168 + 2 | 0; - $232 = $pnt2$367 + 2 | 0; - $233 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $233; - $pnt$1$lcssa = $231; - $pnt2$3$lcssa = $232; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $233; - $pnt$168 = $231; - $pnt2$367 = $232; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $240 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $242 = HEAP32[$wk$443 >> 2] | 0; - if (($242 | 0) == ($i$341 | 0)) { - $248 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $248 = HEAP32[$labelInfo + 1179664 + ($242 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $248; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $252 = $labelInfo + 8 | 0; - $253 = $j$1$lcssa + -1 | 0; - HEAP32[$252 >> 2] = $253; - if (!$253) $$0 = 0; else { - _memset($240 | 0, 0, $253 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $253 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $260 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($260 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($260 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($260 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($260 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$252 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $274 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $275 = $i$537 * 7 | 0; - $278 = $labelInfo + 12 + ($274 << 2) | 0; - HEAP32[$278 >> 2] = (HEAP32[$278 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($275 << 2) >> 2] | 0); - $285 = $274 << 1; - $286 = $labelInfo + 655376 + ($285 << 3) | 0; - HEAPF64[$286 >> 3] = +HEAPF64[$286 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 1 << 2) >> 2] | 0); - $294 = $labelInfo + 655376 + (($285 | 1) << 3) | 0; - HEAPF64[$294 >> 3] = +HEAPF64[$294 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($275 + 2 << 2) >> 2] | 0); - $297 = $274 << 2; - $298 = $labelInfo + 131084 + ($297 << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($275 + 3 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($297 | 1) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($275 + 4 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($297 | 2) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($275 + 5 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) > ($316 | 0)) HEAP32[$312 >> 2] = $316; - $319 = $labelInfo + 131084 + (($297 | 3) << 2) | 0; - $323 = HEAP32[$labelInfo + 1310736 + ($275 + 6 << 2) >> 2] | 0; - if ((HEAP32[$319 >> 2] | 0) < ($323 | 0)) HEAP32[$319 >> 2] = $323; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$252 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $327 = $labelInfo + 12 + ($i$636 << 2) | 0; - $330 = $i$636 << 1; - $331 = $labelInfo + 655376 + ($330 << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$327 >> 2] | 0); - $337 = $labelInfo + 655376 + (($330 | 1) << 3) | 0; - HEAPF64[$337 >> 3] = +HEAPF64[$337 >> 3] / +(HEAP32[$327 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$252 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arPattGetIDGlobal($pattHandle, $imageProcMode, $pattDetectMode, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, $pattRatio, $codePatt, $dirPatt, $cfPatt, $codeMatrix, $dirMatrix, $cfMatrix, $matrixCodeType, $errorCorrected, $codeGlobalID_p) { - $pattHandle = $pattHandle | 0; - $imageProcMode = $imageProcMode | 0; - $pattDetectMode = $pattDetectMode | 0; - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $pixelFormat = $pixelFormat | 0; - $paramLTf = $paramLTf | 0; - $vertex = $vertex | 0; - $pattRatio = +$pattRatio; - $codePatt = $codePatt | 0; - $dirPatt = $dirPatt | 0; - $cfPatt = $cfPatt | 0; - $codeMatrix = $codeMatrix | 0; - $dirMatrix = $dirMatrix | 0; - $cfMatrix = $cfMatrix | 0; - $matrixCodeType = $matrixCodeType | 0; - $errorCorrected = $errorCorrected | 0; - $codeGlobalID_p = $codeGlobalID_p | 0; - var $$0 = 0, $$0$i = 0, $$max$0$i = 0, $$max$0$i$1 = 0, $$max$0$i$2 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $107 = 0, $114 = 0, $118 = 0, $122 = 0, $126 = 0, $137 = 0, $14 = 0, $141 = 0, $147 = 0, $148 = 0, $149 = 0, $162 = 0, $166 = 0, $175 = 0, $178 = 0, $186 = 0, $188 = 0, $196 = 0, $20 = 0, $200 = 0, $204 = 0, $206 = 0, $211 = 0, $212 = 0, $213 = 0, $26 = 0, $29 = 0, $30 = 0, $34 = 0, $68 = 0, $8 = 0, $80 = 0, $81 = 0, $84 = 0, $93 = 0, $97 = 0, $bit$0$i28 = 0, $bit$1$i25 = 0, $bit$10$i43 = 0, $bit$11$i = 0, $bit$11$i$lcssa = 0, $bit$2$i = 0, $bit$2$i$lcssa = 0, $bit$3$i34 = 0, $bit$4$i31 = 0, $bit$5$i = 0, $bit$5$i$lcssa = 0, $bit$6$i40 = 0, $bit$7$i37 = 0, $bit$8$i = 0, $bit$8$i$lcssa = 0, $bit$9$i46 = 0, $code$i = 0, $contrastMin$0$i26 = 0, $contrastMin$1$i23 = 0, $contrastMin$10$i41 = 0, $contrastMin$11$i = 0, $contrastMin$11$i$lcssa = 0, $contrastMin$12$i = 0, $contrastMin$2$i = 0, $contrastMin$2$i$lcssa = 0, $contrastMin$3$i32 = 0, $contrastMin$4$i29 = 0, $contrastMin$5$i = 0, $contrastMin$5$i$lcssa = 0, $contrastMin$6$i38 = 0, $contrastMin$7$i35 = 0, $contrastMin$8$i = 0, $contrastMin$8$i$lcssa = 0, $contrastMin$9$i44 = 0, $corner$i = 0, $dirCode$i = 0, $errorCodeMtx$0 = 0, $errorCodePatt$0 = 0, $ext_patt = 0, $i$2$i$lcssa = 0, $i$2$i47 = 0, $i$3$i24 = 0, $i$4$i33 = 0, $i$4$off$i = 0, $i$5$i36 = 0, $i$6$i45 = 0, $i$6$off$i = 0, $j$0$i27 = 0, $j$0$off$i = 0, $j$1$i30 = 0, $j$2$i39 = 0, $j$2$off$i = 0, $j$3$i42 = 0, $min$1$i = 0, $min$1$i$1 = 0, $min$1$i$2 = 0, $or$cond4454$i = 0, $recd127$i = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 12448 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $dirCode$i = sp + 12440 | 0; - $corner$i = sp + 8 | 0; - $code$i = sp; - $recd127$i = sp + 12312 | 0; - $ext_patt = sp + 24 | 0; - do if (($pattDetectMode + -2 | 0) >>> 0 < 3) { - if (($matrixCodeType | 0) != 2830) { - $200 = $matrixCodeType & 255; - if ((_arPattGetImage2($imageProcMode, 2, $200, $200 * 3 | 0, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, $pattRatio, $ext_patt) | 0) < 0) { - HEAP32[$codeMatrix >> 2] = -1; - $errorCodeMtx$0 = -6; - break; - } - $204 = _get_matrix_code($ext_patt, $200, $codeMatrix, $dirMatrix, $cfMatrix, $matrixCodeType, $errorCorrected) | 0; - if (!$codeGlobalID_p) { - $errorCodeMtx$0 = $204; - break; - } - $206 = $codeGlobalID_p; - HEAP32[$206 >> 2] = 0; - HEAP32[$206 + 4 >> 2] = 0; - $errorCodeMtx$0 = $204; - break; - } - if ((_arPattGetImage2($imageProcMode, 2, 14, 42, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, .875, $ext_patt) | 0) < 0) { - HEAP32[$codeMatrix >> 2] = -1; - $errorCodeMtx$0 = -6; - break; - } - HEAP32[$corner$i >> 2] = 0; - HEAP32[$corner$i + 4 >> 2] = 182; - HEAP32[$corner$i + 8 >> 2] = 195; - HEAP32[$corner$i + 12 >> 2] = 13; - $8 = HEAP8[$ext_patt + (HEAP32[$corner$i >> 2] | 0) >> 0] | 0; - $$max$0$i = ($8 & 255) > 0 ? $8 : 0; - $min$1$i = ($8 & 255) < 255 ? $8 : -1; - $14 = HEAP8[$ext_patt + (HEAP32[$corner$i + 4 >> 2] | 0) >> 0] | 0; - $$max$0$i$1 = ($14 & 255) > ($$max$0$i & 255) ? $14 : $$max$0$i; - $min$1$i$1 = ($14 & 255) < ($min$1$i & 255) ? $14 : $min$1$i; - $20 = HEAP8[$ext_patt + (HEAP32[$corner$i + 8 >> 2] | 0) >> 0] | 0; - $$max$0$i$2 = ($20 & 255) > ($$max$0$i$1 & 255) ? $20 : $$max$0$i$1; - $min$1$i$2 = ($20 & 255) < ($min$1$i$1 & 255) ? $20 : $min$1$i$1; - $26 = HEAP8[$ext_patt + (HEAP32[$corner$i + 12 >> 2] | 0) >> 0] | 0; - $29 = (($26 & 255) > ($$max$0$i$2 & 255) ? $26 : $$max$0$i$2) & 255; - $30 = (($26 & 255) < ($min$1$i$2 & 255) ? $26 : $min$1$i$2) & 255; - L13 : do if (($29 - $30 | 0) < 30) { - HEAP32[$dirMatrix >> 2] = 0; - HEAPF64[$cfMatrix >> 3] = -1.0; - $$0$i = -2; - $186 = 0; - $188 = 0; - } else { - $34 = ($29 + $30 | 0) >>> 1; - HEAP8[$dirCode$i >> 0] = (HEAPU8[$ext_patt + (HEAP32[$corner$i >> 2] | 0) >> 0] | 0) >>> 0 < $34 >>> 0 & 1; - HEAP8[$dirCode$i + 1 >> 0] = (HEAPU8[$ext_patt + (HEAP32[$corner$i + 4 >> 2] | 0) >> 0] | 0) >>> 0 < $34 >>> 0 & 1; - HEAP8[$dirCode$i + 2 >> 0] = (HEAPU8[$ext_patt + (HEAP32[$corner$i + 8 >> 2] | 0) >> 0] | 0) >>> 0 < $34 >>> 0 & 1; - HEAP8[$dirCode$i + 3 >> 0] = (HEAPU8[$ext_patt + (HEAP32[$corner$i + 12 >> 2] | 0) >> 0] | 0) >>> 0 < $34 >>> 0 & 1; - $i$2$i47 = 0; - while (1) { - $68 = $i$2$i47 + 1 | 0; - if ((HEAP8[$dirCode$i + $i$2$i47 >> 0] | 0) == 1) if ((HEAP8[$dirCode$i + (($68 | 0) % 4 | 0) >> 0] | 0) == 1) if (!(HEAP8[$dirCode$i + (($i$2$i47 + 2 | 0) % 4 | 0) >> 0] | 0)) { - $i$2$i$lcssa = $i$2$i47; - break; - } - if (($68 | 0) < 4) $i$2$i47 = $68; else { - $i$2$i$lcssa = $68; - break; - } - } - switch ($i$2$i$lcssa | 0) { - case 4: - { - HEAP32[$dirMatrix >> 2] = 0; - HEAPF64[$cfMatrix >> 3] = -1.0; - $$0$i = -3; - $186 = 0; - $188 = 0; - break L13; - break; - } - case 0: - { - $bit$0$i28 = 119; - $contrastMin$0$i26 = 255; - $j$0$i27 = 0; - while (1) { - $j$0$off$i = $j$0$i27 + -3 | 0; - $80 = ($j$0$i27 & -2 | 0) == 12; - $81 = $j$0$i27 * 14 | 0; - $bit$1$i25 = $bit$0$i28; - $contrastMin$1$i23 = $contrastMin$0$i26; - $i$3$i24 = 0; - while (1) { - if (($i$3$i24 + -3 | $j$0$off$i) >>> 0 < 8) { - $bit$2$i = $bit$1$i25; - $contrastMin$2$i = $contrastMin$1$i23; - } else { - $84 = $i$3$i24 & -2; - if (($i$3$i24 | $j$0$i27) >>> 0 < 2) { - $bit$2$i = $bit$1$i25; - $contrastMin$2$i = $contrastMin$1$i23; - } else if ($80 & (($84 | 0) == 0 | ($84 | 0) == 12)) { - $bit$2$i = $bit$1$i25; - $contrastMin$2$i = $contrastMin$1$i23; - } else { - $93 = (HEAPU8[$ext_patt + ($i$3$i24 + $81) >> 0] | 0) - $34 | 0; - HEAP8[$recd127$i + $bit$1$i25 >> 0] = $93 >>> 31; - $97 = ($93 | 0) > -1 ? $93 : 0 - $93 | 0; - $bit$2$i = $bit$1$i25 + -1 | 0; - $contrastMin$2$i = ($97 | 0) < ($contrastMin$1$i23 | 0) ? $97 : $contrastMin$1$i23; - } - } - $i$3$i24 = $i$3$i24 + 1 | 0; - if (($i$3$i24 | 0) == 14) { - $bit$2$i$lcssa = $bit$2$i; - $contrastMin$2$i$lcssa = $contrastMin$2$i; - break; - } else { - $bit$1$i25 = $bit$2$i; - $contrastMin$1$i23 = $contrastMin$2$i; - } - } - $100 = $j$0$i27 + 1 | 0; - if (($100 | 0) == 14) { - $contrastMin$12$i = $contrastMin$2$i$lcssa; - break; - } else { - $bit$0$i28 = $bit$2$i$lcssa; - $contrastMin$0$i26 = $contrastMin$2$i$lcssa; - $j$0$i27 = $100; - } - } - break; - } - case 1: - { - $bit$3$i34 = 119; - $contrastMin$3$i32 = 255; - $i$4$i33 = 0; - while (1) { - $i$4$off$i = $i$4$i33 + -3 | 0; - $101 = $i$4$i33 & -2; - $102 = ($101 | 0) == 0; - $103 = ($101 | 0) == 12; - $bit$4$i31 = $bit$3$i34; - $contrastMin$4$i29 = $contrastMin$3$i32; - $j$1$i30 = 13; - while (1) { - if (($j$1$i30 + -3 | $i$4$off$i) >>> 0 < 8) { - $bit$5$i = $bit$4$i31; - $contrastMin$5$i = $contrastMin$4$i29; - } else { - $107 = ($j$1$i30 & -2 | 0) == 12; - if ($102 & $107) { - $bit$5$i = $bit$4$i31; - $contrastMin$5$i = $contrastMin$4$i29; - } else if ($103 & ($j$1$i30 >>> 0 < 2 | $107)) { - $bit$5$i = $bit$4$i31; - $contrastMin$5$i = $contrastMin$4$i29; - } else { - $114 = (HEAPU8[$ext_patt + (($j$1$i30 * 14 | 0) + $i$4$i33) >> 0] | 0) - $34 | 0; - HEAP8[$recd127$i + $bit$4$i31 >> 0] = $114 >>> 31; - $118 = ($114 | 0) > -1 ? $114 : 0 - $114 | 0; - $bit$5$i = $bit$4$i31 + -1 | 0; - $contrastMin$5$i = ($118 | 0) < ($contrastMin$4$i29 | 0) ? $118 : $contrastMin$4$i29; - } - } - if (($j$1$i30 | 0) > 0) { - $bit$4$i31 = $bit$5$i; - $contrastMin$4$i29 = $contrastMin$5$i; - $j$1$i30 = $j$1$i30 + -1 | 0; - } else { - $bit$5$i$lcssa = $bit$5$i; - $contrastMin$5$i$lcssa = $contrastMin$5$i; - break; - } - } - $122 = $i$4$i33 + 1 | 0; - if (($122 | 0) == 14) { - $contrastMin$12$i = $contrastMin$5$i$lcssa; - break; - } else { - $bit$3$i34 = $bit$5$i$lcssa; - $contrastMin$3$i32 = $contrastMin$5$i$lcssa; - $i$4$i33 = $122; - } - } - break; - } - case 2: - { - $bit$6$i40 = 119; - $contrastMin$6$i38 = 255; - $j$2$i39 = 13; - while (1) { - $j$2$off$i = $j$2$i39 + -3 | 0; - $or$cond4454$i = $j$2$i39 >>> 0 < 2 | ($j$2$i39 & -2 | 0) == 12; - $126 = $j$2$i39 * 14 | 0; - $bit$7$i37 = $bit$6$i40; - $contrastMin$7$i35 = $contrastMin$6$i38; - $i$5$i36 = 13; - while (1) { - if (($i$5$i36 + -3 | $j$2$off$i) >>> 0 < 8) { - $bit$8$i = $bit$7$i37; - $contrastMin$8$i = $contrastMin$7$i35; - } else if (($i$5$i36 | $j$2$i39) >>> 0 < 2 | $or$cond4454$i & ($i$5$i36 & -2 | 0) == 12) { - $bit$8$i = $bit$7$i37; - $contrastMin$8$i = $contrastMin$7$i35; - } else { - $137 = (HEAPU8[$ext_patt + ($i$5$i36 + $126) >> 0] | 0) - $34 | 0; - HEAP8[$recd127$i + $bit$7$i37 >> 0] = $137 >>> 31; - $141 = ($137 | 0) > -1 ? $137 : 0 - $137 | 0; - $bit$8$i = $bit$7$i37 + -1 | 0; - $contrastMin$8$i = ($141 | 0) < ($contrastMin$7$i35 | 0) ? $141 : $contrastMin$7$i35; - } - if (($i$5$i36 | 0) > 0) { - $bit$7$i37 = $bit$8$i; - $contrastMin$7$i35 = $contrastMin$8$i; - $i$5$i36 = $i$5$i36 + -1 | 0; - } else { - $bit$8$i$lcssa = $bit$8$i; - $contrastMin$8$i$lcssa = $contrastMin$8$i; - break; - } - } - if (($j$2$i39 | 0) > 0) { - $bit$6$i40 = $bit$8$i$lcssa; - $contrastMin$6$i38 = $contrastMin$8$i$lcssa; - $j$2$i39 = $j$2$i39 + -1 | 0; - } else { - $contrastMin$12$i = $contrastMin$8$i$lcssa; - break; - } - } - break; - } - case 3: - { - $bit$9$i46 = 119; - $contrastMin$9$i44 = 255; - $i$6$i45 = 13; - while (1) { - $i$6$off$i = $i$6$i45 + -3 | 0; - $147 = $i$6$i45 & -2; - $148 = ($147 | 0) == 12; - $149 = ($147 | 0) == 0; - $bit$10$i43 = $bit$9$i46; - $contrastMin$10$i41 = $contrastMin$9$i44; - $j$3$i42 = 0; - while (1) { - if (($j$3$i42 + -3 | $i$6$off$i) >>> 0 < 8) { - $bit$11$i = $bit$10$i43; - $contrastMin$11$i = $contrastMin$10$i41; - } else if ($148 & $j$3$i42 >>> 0 < 2 | ($j$3$i42 | $i$6$i45) >>> 0 < 2) { - $bit$11$i = $bit$10$i43; - $contrastMin$11$i = $contrastMin$10$i41; - } else if ($149 & ($j$3$i42 & -2 | 0) == 12) { - $bit$11$i = $bit$10$i43; - $contrastMin$11$i = $contrastMin$10$i41; - } else { - $162 = (HEAPU8[$ext_patt + (($j$3$i42 * 14 | 0) + $i$6$i45) >> 0] | 0) - $34 | 0; - HEAP8[$recd127$i + $bit$10$i43 >> 0] = $162 >>> 31; - $166 = ($162 | 0) > -1 ? $162 : 0 - $162 | 0; - $bit$11$i = $bit$10$i43 + -1 | 0; - $contrastMin$11$i = ($166 | 0) < ($contrastMin$10$i41 | 0) ? $166 : $contrastMin$10$i41; - } - $j$3$i42 = $j$3$i42 + 1 | 0; - if (($j$3$i42 | 0) == 14) { - $bit$11$i$lcssa = $bit$11$i; - $contrastMin$11$i$lcssa = $contrastMin$11$i; - break; - } else { - $bit$10$i43 = $bit$11$i; - $contrastMin$10$i41 = $contrastMin$11$i; - } - } - if (($i$6$i45 | 0) > 0) { - $bit$9$i46 = $bit$11$i$lcssa; - $contrastMin$9$i44 = $contrastMin$11$i$lcssa; - $i$6$i45 = $i$6$i45 + -1 | 0; - } else { - $contrastMin$12$i = $contrastMin$11$i$lcssa; - break; - } - } - break; - } - default: - $contrastMin$12$i = 255; - } - HEAP32[$dirMatrix >> 2] = $i$2$i$lcssa; - HEAPF64[$cfMatrix >> 3] = ($contrastMin$12$i | 0) > 30 ? 1.0 : +($contrastMin$12$i | 0) / 30.0; - $175 = _decode_bch(2830, 0, 0, $recd127$i, $code$i) | 0; - if (($175 | 0) < 0) { - $$0$i = -4; - $186 = 0; - $188 = 0; - } else { - if ($errorCorrected) HEAP32[$errorCorrected >> 2] = $175; - $178 = $code$i; - $$0$i = 0; - $186 = HEAP32[$178 >> 2] | 0; - $188 = HEAP32[$178 + 4 >> 2] | 0; - } - } while (0); - if (($$0$i | 0) < 0) { - HEAP32[$codeMatrix >> 2] = -1; - $errorCodeMtx$0 = $$0$i; - break; - } - if (($186 | 0) == -1 & ($188 | 0) == -1) { - HEAP32[$codeMatrix >> 2] = -1; - $errorCodeMtx$0 = -5; - break; - } - HEAP32[$codeMatrix >> 2] = ($186 & -32768 | 0) == 0 & 0 == 0 ? $186 & 32767 : 0; - if (!$codeGlobalID_p) $errorCodeMtx$0 = 0; else { - $196 = $codeGlobalID_p; - HEAP32[$196 >> 2] = $186; - HEAP32[$196 + 4 >> 2] = $188; - $errorCodeMtx$0 = 0; - } - } else $errorCodeMtx$0 = 1; while (0); - L78 : do switch ($pattDetectMode | 0) { - case 0: - case 1: - case 3: - case 4: - { - if (!$pattHandle) { - HEAP32[$codePatt >> 2] = -1; - $errorCodePatt$0 = -1; - break L78; - } - $211 = $pattHandle + 28 | 0; - $212 = HEAP32[$211 >> 2] | 0; - $213 = $212 << 2; - switch ($pattDetectMode | 0) { - case 0: - case 3: - { - if ((_arPattGetImage2($imageProcMode, 0, $212, $213, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, $pattRatio, $ext_patt) | 0) < 0) { - HEAP32[$codePatt >> 2] = -1; - $errorCodePatt$0 = -6; - break L78; - } else { - $errorCodePatt$0 = _pattern_match($pattHandle, 0, $ext_patt, HEAP32[$211 >> 2] | 0, $codePatt, $dirPatt, $cfPatt) | 0; - break L78; - } - break; - } - default: - if ((_arPattGetImage2($imageProcMode, 1, $212, $213, $image, $xsize, $ysize, $pixelFormat, $paramLTf, $vertex, $pattRatio, $ext_patt) | 0) < 0) { - HEAP32[$codePatt >> 2] = -1; - $errorCodePatt$0 = -6; - break L78; - } else { - $errorCodePatt$0 = _pattern_match($pattHandle, 1, $ext_patt, HEAP32[$211 >> 2] | 0, $codePatt, $dirPatt, $cfPatt) | 0; - break L78; - } - } - break; - } - default: - $errorCodePatt$0 = 1; - } while (0); - if (($errorCodeMtx$0 | 0) == 1) $$0 = $errorCodePatt$0; else if (($errorCodePatt$0 | 0) == 1) $$0 = $errorCodeMtx$0; else $$0 = ($errorCodePatt$0 & $errorCodeMtx$0 | 0) < 0 ? $errorCodePatt$0 : 0; - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $108 = 0, $113 = 0, $116 = 0, $133 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $148 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, $167 = 0, $169 = 0, $17 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $187 = 0, $19 = 0, $190 = 0, $192 = 0, $196 = 0, $200 = 0, $204 = 0, $207 = 0, $212 = 0, $227 = 0, $228 = 0, $229 = 0, $236 = 0, $238 = 0, $244 = 0, $248 = 0, $249 = 0, $256 = 0, $27 = 0, $270 = 0, $271 = 0, $274 = 0, $281 = 0, $282 = 0, $29 = 0, $290 = 0, $293 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $315 = 0, $319 = 0, $323 = 0, $326 = 0, $327 = 0, $333 = 0, $42 = 0, $45 = 0, $47 = 0, $51 = 0, $55 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $67 = 0, $70 = 0, $73 = 0, $9 = 0, $90 = 0, $92 = 0, $94 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - do if ((($29 & 240) + 24 + ($29 << 4 & 240) + ((HEAPU8[$pnt$168 + 1 >> 0] | 0) & 240) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $42 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($42 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $42; - $45 = ($42 << 16 >> 16) * 7 | 0; - $47 = $labelInfo + 1310736 + ($45 + -7 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + 1; - $51 = $labelInfo + 1310736 + ($45 + -6 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $i$264; - $55 = $labelInfo + 1310736 + ($45 + -5 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($45 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $61 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $65 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $67 = $65 << 16 >> 16 > 0; - if ($61 << 16 >> 16 <= 0) { - if ($67) { - HEAP16[$pnt2$367 >> 1] = $65; - $167 = $66 * 7 | 0; - $169 = $labelInfo + 1310736 + ($167 + -7 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + 1; - $173 = $labelInfo + 1310736 + ($167 + -6 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $i$264; - $177 = $labelInfo + 1310736 + ($167 + -5 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $j$075; - $181 = $labelInfo + 1310736 + ($167 + -3 << 2) | 0; - if ((HEAP32[$181 >> 2] | 0) < ($i$264 | 0)) HEAP32[$181 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($167 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $187 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($187 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $187; - $190 = ($187 << 16 >> 16) * 7 | 0; - $192 = $labelInfo + 1310736 + ($190 + -7 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + 1; - $196 = $labelInfo + 1310736 + ($190 + -6 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $i$264; - $200 = $labelInfo + 1310736 + ($190 + -5 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $j$075; - $204 = $labelInfo + 1310736 + ($190 + -3 << 2) | 0; - if ((HEAP32[$204 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$204 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $207 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $207; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $207 << 16 >> 16; - $212 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($212 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($212 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($212 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($212 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $207; - break; - } - } - if ($67) { - $70 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $73 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - if (($70 | 0) > ($73 | 0)) { - HEAP16[$pnt2$367 >> 1] = $73; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$056 >> 2] = $73; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $90 = $73; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $90 = $73; - } else { - HEAP16[$pnt2$367 >> 1] = $70; - if (($70 | 0) < ($73 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$153 >> 2] = $70; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $90 = $70; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $90 = $70; - } - $92 = ($90 << 16 >> 16) * 7 | 0; - $94 = $labelInfo + 1310736 + ($92 + -7 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + 1; - $98 = $labelInfo + 1310736 + ($92 + -6 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $i$264; - $102 = $labelInfo + 1310736 + ($92 + -5 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($92 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $108 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($108 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $61; - $148 = $62 * 7 | 0; - $150 = $labelInfo + 1310736 + ($148 + -7 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + 1; - $154 = $labelInfo + 1310736 + ($148 + -6 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $i$264; - $158 = $labelInfo + 1310736 + ($148 + -5 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $j$075; - $162 = $labelInfo + 1310736 + ($148 + -4 << 2) | 0; - if ((HEAP32[$162 >> 2] | 0) > ($i$264 | 0)) HEAP32[$162 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($148 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $113 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $116 = HEAP32[$labelInfo + 1179664 + (($108 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($113 | 0) > ($116 | 0)) { - HEAP16[$pnt2$367 >> 1] = $116; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$249 >> 2] = $116; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $133 = $116; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $133 = $116; - } else { - HEAP16[$pnt2$367 >> 1] = $113; - if (($113 | 0) < ($116 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$346 >> 2] = $113; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $133 = $113; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $133 = $113; - } - $135 = ($133 << 16 >> 16) * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$264; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $227 = $pnt$168 + 2 | 0; - $228 = $pnt2$367 + 2 | 0; - $229 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $229; - $pnt$1$lcssa = $227; - $pnt2$3$lcssa = $228; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $229; - $pnt$168 = $227; - $pnt2$367 = $228; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $236 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $238 = HEAP32[$wk$443 >> 2] | 0; - if (($238 | 0) == ($i$341 | 0)) { - $244 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $244 = HEAP32[$labelInfo + 1179664 + ($238 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $244; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $248 = $labelInfo + 8 | 0; - $249 = $j$1$lcssa + -1 | 0; - HEAP32[$248 >> 2] = $249; - if (!$249) $$0 = 0; else { - _memset($236 | 0, 0, $249 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $249 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $256 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($256 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($256 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($256 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($256 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$248 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $270 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $271 = $i$537 * 7 | 0; - $274 = $labelInfo + 12 + ($270 << 2) | 0; - HEAP32[$274 >> 2] = (HEAP32[$274 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($271 << 2) >> 2] | 0); - $281 = $270 << 1; - $282 = $labelInfo + 655376 + ($281 << 3) | 0; - HEAPF64[$282 >> 3] = +HEAPF64[$282 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($271 + 1 << 2) >> 2] | 0); - $290 = $labelInfo + 655376 + (($281 | 1) << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($271 + 2 << 2) >> 2] | 0); - $293 = $270 << 2; - $294 = $labelInfo + 131084 + ($293 << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($271 + 3 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($293 | 1) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($271 + 4 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($293 | 2) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($271 + 5 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) > ($312 | 0)) HEAP32[$308 >> 2] = $312; - $315 = $labelInfo + 131084 + (($293 | 3) << 2) | 0; - $319 = HEAP32[$labelInfo + 1310736 + ($271 + 6 << 2) >> 2] | 0; - if ((HEAP32[$315 >> 2] | 0) < ($319 | 0)) HEAP32[$315 >> 2] = $319; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$248 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $323 = $labelInfo + 12 + ($i$636 << 2) | 0; - $326 = $i$636 << 1; - $327 = $labelInfo + 655376 + ($326 << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$323 >> 2] | 0); - $333 = $labelInfo + 655376 + (($326 | 1) << 3) | 0; - HEAPF64[$333 >> 3] = +HEAPF64[$333 >> 3] / +(HEAP32[$323 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$248 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $102 = 0, $108 = 0, $113 = 0, $116 = 0, $133 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $148 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, $167 = 0, $169 = 0, $17 = 0, $173 = 0, $177 = 0, $18 = 0, $181 = 0, $187 = 0, $19 = 0, $190 = 0, $192 = 0, $196 = 0, $200 = 0, $204 = 0, $207 = 0, $212 = 0, $227 = 0, $228 = 0, $229 = 0, $236 = 0, $238 = 0, $244 = 0, $248 = 0, $249 = 0, $256 = 0, $27 = 0, $270 = 0, $271 = 0, $274 = 0, $281 = 0, $282 = 0, $29 = 0, $290 = 0, $293 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $315 = 0, $319 = 0, $323 = 0, $326 = 0, $327 = 0, $333 = 0, $42 = 0, $45 = 0, $47 = 0, $51 = 0, $55 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $67 = 0, $70 = 0, $73 = 0, $9 = 0, $90 = 0, $92 = 0, $94 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 1) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - $29 = HEAPU8[$pnt$168 >> 0] | 0; - do if ((($29 & 240) + 24 + ($29 << 4 & 240) + ((HEAPU8[$pnt$168 + 1 >> 0] | 0) & 240) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $42 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($42 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $42; - $45 = ($42 << 16 >> 16) * 7 | 0; - $47 = $labelInfo + 1310736 + ($45 + -7 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + 1; - $51 = $labelInfo + 1310736 + ($45 + -6 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $i$264; - $55 = $labelInfo + 1310736 + ($45 + -5 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($45 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $61 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $65 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $67 = $65 << 16 >> 16 > 0; - if ($61 << 16 >> 16 <= 0) { - if ($67) { - HEAP16[$pnt2$367 >> 1] = $65; - $167 = $66 * 7 | 0; - $169 = $labelInfo + 1310736 + ($167 + -7 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + 1; - $173 = $labelInfo + 1310736 + ($167 + -6 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $i$264; - $177 = $labelInfo + 1310736 + ($167 + -5 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $j$075; - $181 = $labelInfo + 1310736 + ($167 + -3 << 2) | 0; - if ((HEAP32[$181 >> 2] | 0) < ($i$264 | 0)) HEAP32[$181 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($167 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $187 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($187 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $187; - $190 = ($187 << 16 >> 16) * 7 | 0; - $192 = $labelInfo + 1310736 + ($190 + -7 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + 1; - $196 = $labelInfo + 1310736 + ($190 + -6 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $i$264; - $200 = $labelInfo + 1310736 + ($190 + -5 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $j$075; - $204 = $labelInfo + 1310736 + ($190 + -3 << 2) | 0; - if ((HEAP32[$204 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$204 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $207 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $207; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $207 << 16 >> 16; - $212 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($212 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($212 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($212 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($212 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($212 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $207; - break; - } - } - if ($67) { - $70 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $73 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - if (($70 | 0) > ($73 | 0)) { - HEAP16[$pnt2$367 >> 1] = $73; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$056 >> 2] = $73; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $90 = $73; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $90 = $73; - } else { - HEAP16[$pnt2$367 >> 1] = $70; - if (($70 | 0) < ($73 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$153 >> 2] = $70; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $90 = $70; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $90 = $70; - } - $92 = ($90 << 16 >> 16) * 7 | 0; - $94 = $labelInfo + 1310736 + ($92 + -7 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + 1; - $98 = $labelInfo + 1310736 + ($92 + -6 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $i$264; - $102 = $labelInfo + 1310736 + ($92 + -5 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($92 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $108 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($108 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $61; - $148 = $62 * 7 | 0; - $150 = $labelInfo + 1310736 + ($148 + -7 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + 1; - $154 = $labelInfo + 1310736 + ($148 + -6 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $i$264; - $158 = $labelInfo + 1310736 + ($148 + -5 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $j$075; - $162 = $labelInfo + 1310736 + ($148 + -4 << 2) | 0; - if ((HEAP32[$162 >> 2] | 0) > ($i$264 | 0)) HEAP32[$162 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($148 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $113 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $116 = HEAP32[$labelInfo + 1179664 + (($108 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($113 | 0) > ($116 | 0)) { - HEAP16[$pnt2$367 >> 1] = $116; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$249 >> 2] = $116; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $133 = $116; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $133 = $116; - } else { - HEAP16[$pnt2$367 >> 1] = $113; - if (($113 | 0) < ($116 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$346 >> 2] = $113; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $133 = $113; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $133 = $113; - } - $135 = ($133 << 16 >> 16) * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$264; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $227 = $pnt$168 + 2 | 0; - $228 = $pnt2$367 + 2 | 0; - $229 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $229; - $pnt$1$lcssa = $227; - $pnt2$3$lcssa = $228; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $229; - $pnt$168 = $227; - $pnt2$367 = $228; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $236 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $238 = HEAP32[$wk$443 >> 2] | 0; - if (($238 | 0) == ($i$341 | 0)) { - $244 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $244 = HEAP32[$labelInfo + 1179664 + ($238 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $244; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $248 = $labelInfo + 8 | 0; - $249 = $j$1$lcssa + -1 | 0; - HEAP32[$248 >> 2] = $249; - if (!$249) $$0 = 0; else { - _memset($236 | 0, 0, $249 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $249 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $256 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($256 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($256 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($256 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($256 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$248 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $270 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $271 = $i$537 * 7 | 0; - $274 = $labelInfo + 12 + ($270 << 2) | 0; - HEAP32[$274 >> 2] = (HEAP32[$274 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($271 << 2) >> 2] | 0); - $281 = $270 << 1; - $282 = $labelInfo + 655376 + ($281 << 3) | 0; - HEAPF64[$282 >> 3] = +HEAPF64[$282 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($271 + 1 << 2) >> 2] | 0); - $290 = $labelInfo + 655376 + (($281 | 1) << 3) | 0; - HEAPF64[$290 >> 3] = +HEAPF64[$290 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($271 + 2 << 2) >> 2] | 0); - $293 = $270 << 2; - $294 = $labelInfo + 131084 + ($293 << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($271 + 3 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($293 | 1) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($271 + 4 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($293 | 2) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($271 + 5 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) > ($312 | 0)) HEAP32[$308 >> 2] = $312; - $315 = $labelInfo + 131084 + (($293 | 3) << 2) | 0; - $319 = HEAP32[$labelInfo + 1310736 + ($271 + 6 << 2) >> 2] | 0; - if ((HEAP32[$315 >> 2] | 0) < ($319 | 0)) HEAP32[$315 >> 2] = $319; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$248 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $323 = $labelInfo + 12 + ($i$636 << 2) | 0; - $326 = $i$636 << 1; - $327 = $labelInfo + 655376 + ($326 << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$323 >> 2] | 0); - $333 = $labelInfo + 655376 + (($326 | 1) << 3) | 0; - HEAPF64[$333 >> 3] = +HEAPF64[$333 >> 3] / +(HEAP32[$323 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$248 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabeling($image, $xsize, $ysize, $pixFormat, $debugMode, $labelingMode, $labelingThresh, $imageProcMode, $labelInfo, $image_thresh) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $pixFormat = $pixFormat | 0; - $debugMode = $debugMode | 0; - $labelingMode = $labelingMode | 0; - $labelingThresh = $labelingThresh | 0; - $imageProcMode = $imageProcMode | 0; - $labelInfo = $labelInfo | 0; - $image_thresh = $image_thresh | 0; - var $$0 = 0; - L1 : do switch ($debugMode | 0) { - case 0: - { - switch ($labelingMode | 0) { - case 1: - { - if ($image_thresh) { - $$0 = _arLabelingSubDBZ($image, $xsize, $ysize, $image_thresh, $labelInfo) | 0; - break L1; - } - switch ($imageProcMode | 0) { - case 0: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubDBR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubDBR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubDBRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubDBRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubDBRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubDBRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubDBR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubDBR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubDBR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - case 1: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubDBI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubDBI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubDBIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubDBIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubDBIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubDBICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubDBI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubDBI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubDBI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - case 0: - { - if ($image_thresh) { - $$0 = _arLabelingSubDWZ($image, $xsize, $ysize, $image_thresh, $labelInfo) | 0; - break L1; - } - switch ($imageProcMode | 0) { - case 0: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubDWR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubDWR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubDWRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubDWRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubDWRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubDWRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubDWR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubDWR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubDWR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - case 1: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubDWI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubDWI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubDWIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubDWIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubDWIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubDWICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubDWI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubDWI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubDWI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - case 1: - { - switch ($labelingMode | 0) { - case 1: - { - if ($image_thresh) { - $$0 = _arLabelingSubEBZ($image, $xsize, $ysize, $image_thresh, $labelInfo) | 0; - break L1; - } - switch ($imageProcMode | 0) { - case 0: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubEBR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubEBR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubEBRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubEBRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubEBRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubEBRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubEBR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubEBR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubEBR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - case 1: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubEBI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubEBI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubEBIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubEBIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubEBIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubEBICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubEBI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubEBI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubEBI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - case 0: - { - if ($image_thresh) { - $$0 = _arLabelingSubEWZ($image, $xsize, $ysize, $image_thresh, $labelInfo) | 0; - break L1; - } - switch ($imageProcMode | 0) { - case 0: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubEWR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubEWR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubEWRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubEWRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubEWRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubEWRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubEWR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubEWR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubEWR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - case 1: - { - if ($pixFormat >>> 0 < 2) { - $$0 = _arLabelingSubEWI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -2 | 0) == 2) { - $$0 = _arLabelingSubEWI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - if (($pixFormat & -3 | 0) == 4) { - $$0 = _arLabelingSubEWIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - } - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - { - $$0 = _arLabelingSubEWIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 8: - { - $$0 = _arLabelingSubEWIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 7: - { - $$0 = _arLabelingSubEWICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 9: - { - $$0 = _arLabelingSubEWI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 10: - { - $$0 = _arLabelingSubEWI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - case 11: - { - $$0 = _arLabelingSubEWI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) | 0; - break L1; - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } - break; - } - default: - _exit(0); - } while (0); - return $$0 | 0; -} - -function _arLabelingSubEWRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $107 = 0, $112 = 0, $115 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $228 = 0, $235 = 0, $237 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $269 = 0, $27 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $9 = 0, $91 = 0, $93 = 0, $97 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 2) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 2 >> 0] | 0) + (HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 + 3 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $41 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$264; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $60 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$367 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$264; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$075; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$264 | 0)) HEAP32[$180 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $186 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$264; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$075; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$203 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $206 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$367 >> 1] = $72; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$056 >> 2] = $72; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $89 = $72; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$367 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$153 >> 2] = $69; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $89 = $69; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$264; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $107 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$264; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$075; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$264 | 0)) HEAP32[$161 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$367 >> 1] = $115; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$249 >> 2] = $115; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $132 = $115; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$367 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$346 >> 2] = $112; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $132 = $112; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$264; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $226 = $pnt$168 + 4 | 0; - $227 = $pnt2$367 + 2 | 0; - $228 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $228; - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $228; - $pnt$168 = $226; - $pnt2$367 = $227; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 8 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $237 = HEAP32[$wk$443 >> 2] | 0; - if (($237 | 0) == ($i$341 | 0)) { - $243 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $243; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $255 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$537 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $322 = $labelInfo + 12 + ($i$636 << 2) | 0; - $325 = $i$636 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $107 = 0, $112 = 0, $115 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $228 = 0, $235 = 0, $237 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $269 = 0, $27 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $9 = 0, $91 = 0, $93 = 0, $97 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 2) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 2 >> 0] | 0) + (HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 + 3 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $41 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$264; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $60 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$367 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$264; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$075; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$264 | 0)) HEAP32[$180 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $186 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$264; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$075; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$203 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $206 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$367 >> 1] = $72; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$056 >> 2] = $72; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $89 = $72; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$367 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$153 >> 2] = $69; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $89 = $69; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$264; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $107 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$264; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$075; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$264 | 0)) HEAP32[$161 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$367 >> 1] = $115; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$249 >> 2] = $115; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $132 = $115; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$367 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$346 >> 2] = $112; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $132 = $112; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$264; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $226 = $pnt$168 + 4 | 0; - $227 = $pnt2$367 + 2 | 0; - $228 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $228; - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $228; - $pnt$168 = $226; - $pnt2$367 = $227; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 8 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $237 = HEAP32[$wk$443 >> 2] | 0; - if (($237 | 0) == ($i$341 | 0)) { - $243 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $243; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $255 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$537 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $322 = $labelInfo + 12 + ($i$636 << 2) | 0; - $325 = $i$636 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $106 = 0, $111 = 0, $114 = 0, $131 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $148 = 0, $152 = 0, $156 = 0, $160 = 0, $165 = 0, $167 = 0, $17 = 0, $171 = 0, $175 = 0, $179 = 0, $18 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $202 = 0, $205 = 0, $210 = 0, $225 = 0, $226 = 0, $227 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $27 = 0, $272 = 0, $279 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $40 = 0, $43 = 0, $45 = 0, $49 = 0, $53 = 0, $59 = 0, $60 = 0, $63 = 0, $64 = 0, $65 = 0, $68 = 0, $71 = 0, $88 = 0, $9 = 0, $90 = 0, $92 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 * 3 | 0) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 >> 0] | 0) + (HEAPU8[$pnt$168 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $40 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($40 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $40; - $43 = ($40 << 16 >> 16) * 7 | 0; - $45 = $labelInfo + 1310736 + ($43 + -7 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + 1; - $49 = $labelInfo + 1310736 + ($43 + -6 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $i$264; - $53 = $labelInfo + 1310736 + ($43 + -5 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($43 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $59 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $63 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $65 = $63 << 16 >> 16 > 0; - if ($59 << 16 >> 16 <= 0) { - if ($65) { - HEAP16[$pnt2$367 >> 1] = $63; - $165 = $64 * 7 | 0; - $167 = $labelInfo + 1310736 + ($165 + -7 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 1; - $171 = $labelInfo + 1310736 + ($165 + -6 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $i$264; - $175 = $labelInfo + 1310736 + ($165 + -5 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $j$075; - $179 = $labelInfo + 1310736 + ($165 + -3 << 2) | 0; - if ((HEAP32[$179 >> 2] | 0) < ($i$264 | 0)) HEAP32[$179 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($165 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $185 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($185 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $185; - $188 = ($185 << 16 >> 16) * 7 | 0; - $190 = $labelInfo + 1310736 + ($188 + -7 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + 1; - $194 = $labelInfo + 1310736 + ($188 + -6 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $i$264; - $198 = $labelInfo + 1310736 + ($188 + -5 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $j$075; - $202 = $labelInfo + 1310736 + ($188 + -3 << 2) | 0; - if ((HEAP32[$202 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$202 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $205 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $205; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $205 << 16 >> 16; - $210 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($210 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($210 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $205; - break; - } - } - if ($65) { - $68 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $71 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - if (($68 | 0) > ($71 | 0)) { - HEAP16[$pnt2$367 >> 1] = $71; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$056 >> 2] = $71; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $88 = $71; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $88 = $71; - } else { - HEAP16[$pnt2$367 >> 1] = $68; - if (($68 | 0) < ($71 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$153 >> 2] = $68; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $88 = $68; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $88 = $68; - } - $90 = ($88 << 16 >> 16) * 7 | 0; - $92 = $labelInfo + 1310736 + ($90 + -7 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + 1; - $96 = $labelInfo + 1310736 + ($90 + -6 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $i$264; - $100 = $labelInfo + 1310736 + ($90 + -5 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($90 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $106 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($106 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $59; - $146 = $60 * 7 | 0; - $148 = $labelInfo + 1310736 + ($146 + -7 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + 1; - $152 = $labelInfo + 1310736 + ($146 + -6 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $i$264; - $156 = $labelInfo + 1310736 + ($146 + -5 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $j$075; - $160 = $labelInfo + 1310736 + ($146 + -4 << 2) | 0; - if ((HEAP32[$160 >> 2] | 0) > ($i$264 | 0)) HEAP32[$160 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($146 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $111 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $114 = HEAP32[$labelInfo + 1179664 + (($106 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($111 | 0) > ($114 | 0)) { - HEAP16[$pnt2$367 >> 1] = $114; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$249 >> 2] = $114; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $131 = $114; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $131 = $114; - } else { - HEAP16[$pnt2$367 >> 1] = $111; - if (($111 | 0) < ($114 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$346 >> 2] = $111; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $131 = $111; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $131 = $111; - } - $133 = ($131 << 16 >> 16) * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$264; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $225 = $pnt$168 + 3 | 0; - $226 = $pnt2$367 + 2 | 0; - $227 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $227; - $pnt$1$lcssa = $225; - $pnt2$3$lcssa = $226; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $227; - $pnt$168 = $225; - $pnt2$367 = $226; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 6 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $236 = HEAP32[$wk$443 >> 2] | 0; - if (($236 | 0) == ($i$341 | 0)) { - $242 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $242; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $254 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$537 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $321 = $labelInfo + 12 + ($i$636 << 2) | 0; - $324 = $i$636 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $106 = 0, $111 = 0, $114 = 0, $131 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $148 = 0, $152 = 0, $156 = 0, $160 = 0, $165 = 0, $167 = 0, $17 = 0, $171 = 0, $175 = 0, $179 = 0, $18 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $202 = 0, $205 = 0, $210 = 0, $225 = 0, $226 = 0, $227 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $27 = 0, $272 = 0, $279 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $40 = 0, $43 = 0, $45 = 0, $49 = 0, $53 = 0, $59 = 0, $60 = 0, $63 = 0, $64 = 0, $65 = 0, $68 = 0, $71 = 0, $88 = 0, $9 = 0, $90 = 0, $92 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 * 3 | 0) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 >> 0] | 0) + (HEAPU8[$pnt$168 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $40 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($40 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $40; - $43 = ($40 << 16 >> 16) * 7 | 0; - $45 = $labelInfo + 1310736 + ($43 + -7 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + 1; - $49 = $labelInfo + 1310736 + ($43 + -6 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $i$264; - $53 = $labelInfo + 1310736 + ($43 + -5 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($43 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $59 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $63 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $65 = $63 << 16 >> 16 > 0; - if ($59 << 16 >> 16 <= 0) { - if ($65) { - HEAP16[$pnt2$367 >> 1] = $63; - $165 = $64 * 7 | 0; - $167 = $labelInfo + 1310736 + ($165 + -7 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 1; - $171 = $labelInfo + 1310736 + ($165 + -6 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $i$264; - $175 = $labelInfo + 1310736 + ($165 + -5 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $j$075; - $179 = $labelInfo + 1310736 + ($165 + -3 << 2) | 0; - if ((HEAP32[$179 >> 2] | 0) < ($i$264 | 0)) HEAP32[$179 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($165 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $185 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($185 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $185; - $188 = ($185 << 16 >> 16) * 7 | 0; - $190 = $labelInfo + 1310736 + ($188 + -7 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + 1; - $194 = $labelInfo + 1310736 + ($188 + -6 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $i$264; - $198 = $labelInfo + 1310736 + ($188 + -5 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $j$075; - $202 = $labelInfo + 1310736 + ($188 + -3 << 2) | 0; - if ((HEAP32[$202 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$202 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $205 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $205; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $205 << 16 >> 16; - $210 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($210 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($210 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $205; - break; - } - } - if ($65) { - $68 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $71 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - if (($68 | 0) > ($71 | 0)) { - HEAP16[$pnt2$367 >> 1] = $71; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$056 >> 2] = $71; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $88 = $71; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $88 = $71; - } else { - HEAP16[$pnt2$367 >> 1] = $68; - if (($68 | 0) < ($71 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$153 >> 2] = $68; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $88 = $68; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $88 = $68; - } - $90 = ($88 << 16 >> 16) * 7 | 0; - $92 = $labelInfo + 1310736 + ($90 + -7 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + 1; - $96 = $labelInfo + 1310736 + ($90 + -6 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $i$264; - $100 = $labelInfo + 1310736 + ($90 + -5 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($90 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $106 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($106 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $59; - $146 = $60 * 7 | 0; - $148 = $labelInfo + 1310736 + ($146 + -7 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + 1; - $152 = $labelInfo + 1310736 + ($146 + -6 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $i$264; - $156 = $labelInfo + 1310736 + ($146 + -5 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $j$075; - $160 = $labelInfo + 1310736 + ($146 + -4 << 2) | 0; - if ((HEAP32[$160 >> 2] | 0) > ($i$264 | 0)) HEAP32[$160 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($146 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $111 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $114 = HEAP32[$labelInfo + 1179664 + (($106 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($111 | 0) > ($114 | 0)) { - HEAP16[$pnt2$367 >> 1] = $114; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$249 >> 2] = $114; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $131 = $114; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $131 = $114; - } else { - HEAP16[$pnt2$367 >> 1] = $111; - if (($111 | 0) < ($114 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$346 >> 2] = $111; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $131 = $111; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $131 = $111; - } - $133 = ($131 << 16 >> 16) * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$264; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $225 = $pnt$168 + 3 | 0; - $226 = $pnt2$367 + 2 | 0; - $227 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $227; - $pnt$1$lcssa = $225; - $pnt2$3$lcssa = $226; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $227; - $pnt$168 = $225; - $pnt2$367 = $226; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 6 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $236 = HEAP32[$wk$443 >> 2] | 0; - if (($236 | 0) == ($i$341 | 0)) { - $242 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $242; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $254 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$537 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $321 = $labelInfo + 12 + ($i$636 << 2) | 0; - $324 = $i$636 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $106 = 0, $111 = 0, $114 = 0, $131 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $148 = 0, $152 = 0, $156 = 0, $160 = 0, $165 = 0, $167 = 0, $17 = 0, $171 = 0, $175 = 0, $179 = 0, $18 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $202 = 0, $205 = 0, $210 = 0, $225 = 0, $226 = 0, $227 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $27 = 0, $272 = 0, $279 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $40 = 0, $43 = 0, $45 = 0, $49 = 0, $53 = 0, $59 = 0, $60 = 0, $63 = 0, $64 = 0, $65 = 0, $68 = 0, $71 = 0, $88 = 0, $9 = 0, $90 = 0, $92 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 2) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 >> 0] | 0) + (HEAPU8[$pnt$168 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $40 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($40 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $40; - $43 = ($40 << 16 >> 16) * 7 | 0; - $45 = $labelInfo + 1310736 + ($43 + -7 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + 1; - $49 = $labelInfo + 1310736 + ($43 + -6 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $i$264; - $53 = $labelInfo + 1310736 + ($43 + -5 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($43 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $59 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $63 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $65 = $63 << 16 >> 16 > 0; - if ($59 << 16 >> 16 <= 0) { - if ($65) { - HEAP16[$pnt2$367 >> 1] = $63; - $165 = $64 * 7 | 0; - $167 = $labelInfo + 1310736 + ($165 + -7 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 1; - $171 = $labelInfo + 1310736 + ($165 + -6 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $i$264; - $175 = $labelInfo + 1310736 + ($165 + -5 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $j$075; - $179 = $labelInfo + 1310736 + ($165 + -3 << 2) | 0; - if ((HEAP32[$179 >> 2] | 0) < ($i$264 | 0)) HEAP32[$179 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($165 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $185 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($185 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $185; - $188 = ($185 << 16 >> 16) * 7 | 0; - $190 = $labelInfo + 1310736 + ($188 + -7 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + 1; - $194 = $labelInfo + 1310736 + ($188 + -6 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $i$264; - $198 = $labelInfo + 1310736 + ($188 + -5 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $j$075; - $202 = $labelInfo + 1310736 + ($188 + -3 << 2) | 0; - if ((HEAP32[$202 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$202 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $205 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $205; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $205 << 16 >> 16; - $210 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($210 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($210 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $205; - break; - } - } - if ($65) { - $68 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $71 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - if (($68 | 0) > ($71 | 0)) { - HEAP16[$pnt2$367 >> 1] = $71; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$056 >> 2] = $71; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $88 = $71; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $88 = $71; - } else { - HEAP16[$pnt2$367 >> 1] = $68; - if (($68 | 0) < ($71 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$153 >> 2] = $68; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $88 = $68; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $88 = $68; - } - $90 = ($88 << 16 >> 16) * 7 | 0; - $92 = $labelInfo + 1310736 + ($90 + -7 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + 1; - $96 = $labelInfo + 1310736 + ($90 + -6 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $i$264; - $100 = $labelInfo + 1310736 + ($90 + -5 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($90 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $106 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($106 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $59; - $146 = $60 * 7 | 0; - $148 = $labelInfo + 1310736 + ($146 + -7 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + 1; - $152 = $labelInfo + 1310736 + ($146 + -6 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $i$264; - $156 = $labelInfo + 1310736 + ($146 + -5 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $j$075; - $160 = $labelInfo + 1310736 + ($146 + -4 << 2) | 0; - if ((HEAP32[$160 >> 2] | 0) > ($i$264 | 0)) HEAP32[$160 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($146 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $111 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $114 = HEAP32[$labelInfo + 1179664 + (($106 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($111 | 0) > ($114 | 0)) { - HEAP16[$pnt2$367 >> 1] = $114; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$249 >> 2] = $114; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $131 = $114; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $131 = $114; - } else { - HEAP16[$pnt2$367 >> 1] = $111; - if (($111 | 0) < ($114 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$346 >> 2] = $111; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $131 = $111; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $131 = $111; - } - $133 = ($131 << 16 >> 16) * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$264; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $225 = $pnt$168 + 4 | 0; - $226 = $pnt2$367 + 2 | 0; - $227 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $227; - $pnt$1$lcssa = $225; - $pnt2$3$lcssa = $226; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $227; - $pnt$168 = $225; - $pnt2$367 = $226; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 8 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $236 = HEAP32[$wk$443 >> 2] | 0; - if (($236 | 0) == ($i$341 | 0)) { - $242 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $242; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $254 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$537 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $321 = $labelInfo + 12 + ($i$636 << 2) | 0; - $324 = $i$636 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $106 = 0, $111 = 0, $114 = 0, $131 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $148 = 0, $152 = 0, $156 = 0, $160 = 0, $165 = 0, $167 = 0, $17 = 0, $171 = 0, $175 = 0, $179 = 0, $18 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $202 = 0, $205 = 0, $210 = 0, $225 = 0, $226 = 0, $227 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $27 = 0, $272 = 0, $279 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $40 = 0, $43 = 0, $45 = 0, $49 = 0, $53 = 0, $59 = 0, $60 = 0, $63 = 0, $64 = 0, $65 = 0, $68 = 0, $71 = 0, $88 = 0, $9 = 0, $90 = 0, $92 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $27 = ($10 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $18 | 0; - $j$075 = 1; - $pnt$079 = $image + ($18 << 2) | 0; - $pnt2$278 = $0 + ($18 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($27) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if (((HEAPU8[$pnt$168 + 1 >> 0] | 0) + (HEAPU8[$pnt$168 >> 0] | 0) + (HEAPU8[$pnt$168 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $40 = HEAP16[$pnt2$367 + ($19 << 1) >> 1] | 0; - if ($40 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $40; - $43 = ($40 << 16 >> 16) * 7 | 0; - $45 = $labelInfo + 1310736 + ($43 + -7 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + 1; - $49 = $labelInfo + 1310736 + ($43 + -6 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $i$264; - $53 = $labelInfo + 1310736 + ($43 + -5 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($43 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $59 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $63 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $64 = $63 << 16 >> 16; - $65 = $63 << 16 >> 16 > 0; - if ($59 << 16 >> 16 <= 0) { - if ($65) { - HEAP16[$pnt2$367 >> 1] = $63; - $165 = $64 * 7 | 0; - $167 = $labelInfo + 1310736 + ($165 + -7 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 1; - $171 = $labelInfo + 1310736 + ($165 + -6 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $i$264; - $175 = $labelInfo + 1310736 + ($165 + -5 << 2) | 0; - HEAP32[$175 >> 2] = (HEAP32[$175 >> 2] | 0) + $j$075; - $179 = $labelInfo + 1310736 + ($165 + -3 << 2) | 0; - if ((HEAP32[$179 >> 2] | 0) < ($i$264 | 0)) HEAP32[$179 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($165 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $185 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($185 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $185; - $188 = ($185 << 16 >> 16) * 7 | 0; - $190 = $labelInfo + 1310736 + ($188 + -7 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + 1; - $194 = $labelInfo + 1310736 + ($188 + -6 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $i$264; - $198 = $labelInfo + 1310736 + ($188 + -5 << 2) | 0; - HEAP32[$198 >> 2] = (HEAP32[$198 >> 2] | 0) + $j$075; - $202 = $labelInfo + 1310736 + ($188 + -3 << 2) | 0; - if ((HEAP32[$202 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$202 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $205 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $205; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $205 << 16 >> 16; - $210 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($210 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($210 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($210 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($210 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $205; - break; - } - } - if ($65) { - $68 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $71 = HEAP32[$labelInfo + 1179664 + ($64 + -1 << 2) >> 2] | 0; - if (($68 | 0) > ($71 | 0)) { - HEAP16[$pnt2$367 >> 1] = $71; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $17; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$056 >> 2] = $71; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $88 = $71; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $88 = $71; - } else { - HEAP16[$pnt2$367 >> 1] = $68; - if (($68 | 0) < ($71 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $17; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$153 >> 2] = $68; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $88 = $68; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $88 = $68; - } - $90 = ($88 << 16 >> 16) * 7 | 0; - $92 = $labelInfo + 1310736 + ($90 + -7 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + 1; - $96 = $labelInfo + 1310736 + ($90 + -6 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $i$264; - $100 = $labelInfo + 1310736 + ($90 + -5 << 2) | 0; - HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($90 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $106 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($106 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $59; - $146 = $60 * 7 | 0; - $148 = $labelInfo + 1310736 + ($146 + -7 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + 1; - $152 = $labelInfo + 1310736 + ($146 + -6 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $i$264; - $156 = $labelInfo + 1310736 + ($146 + -5 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + $j$075; - $160 = $labelInfo + 1310736 + ($146 + -4 << 2) | 0; - if ((HEAP32[$160 >> 2] | 0) > ($i$264 | 0)) HEAP32[$160 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($146 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $111 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - $114 = HEAP32[$labelInfo + 1179664 + (($106 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($111 | 0) > ($114 | 0)) { - HEAP16[$pnt2$367 >> 1] = $114; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $17; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$249 >> 2] = $114; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $131 = $114; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $131 = $114; - } else { - HEAP16[$pnt2$367 >> 1] = $111; - if (($111 | 0) < ($114 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $17; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$346 >> 2] = $111; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $131 = $111; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $131 = $111; - } - $133 = ($131 << 16 >> 16) * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$264; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $225 = $pnt$168 + 4 | 0; - $226 = $pnt2$367 + 2 | 0; - $227 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($10 | 0)) { - $dpnt$1$lcssa = $227; - $pnt$1$lcssa = $225; - $pnt2$3$lcssa = $226; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $227; - $pnt$168 = $225; - $pnt2$367 = $226; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 8 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $17; - while (1) { - $236 = HEAP32[$wk$443 >> 2] | 0; - if (($236 | 0) == ($i$341 | 0)) { - $242 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $242; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $254 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$537 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $321 = $labelInfo + 12 + ($i$636 << 2) | 0; - $324 = $i$636 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $107 = 0, $11 = 0, $110 = 0, $127 = 0, $129 = 0, $131 = 0, $135 = 0, $139 = 0, $142 = 0, $144 = 0, $148 = 0, $152 = 0, $156 = 0, $161 = 0, $163 = 0, $167 = 0, $171 = 0, $175 = 0, $18 = 0, $181 = 0, $184 = 0, $186 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $2 = 0, $201 = 0, $206 = 0, $21 = 0, $221 = 0, $222 = 0, $223 = 0, $230 = 0, $232 = 0, $238 = 0, $242 = 0, $243 = 0, $250 = 0, $264 = 0, $265 = 0, $268 = 0, $275 = 0, $276 = 0, $284 = 0, $287 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $3 = 0, $30 = 0, $302 = 0, $306 = 0, $309 = 0, $313 = 0, $317 = 0, $320 = 0, $321 = 0, $327 = 0, $36 = 0, $39 = 0, $41 = 0, $45 = 0, $49 = 0, $55 = 0, $56 = 0, $59 = 0, $60 = 0, $61 = 0, $64 = 0, $67 = 0, $84 = 0, $86 = 0, $88 = 0, $92 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $30 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($30) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $36 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($36 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $36; - $39 = ($36 << 16 >> 16) * 7 | 0; - $41 = $labelInfo + 1310736 + ($39 + -7 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + 1; - $45 = $labelInfo + 1310736 + ($39 + -6 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $i$265; - $49 = $labelInfo + 1310736 + ($39 + -5 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($39 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $55 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $59 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $61 = $59 << 16 >> 16 > 0; - if ($55 << 16 >> 16 <= 0) { - if ($61) { - HEAP16[$pnt2$368 >> 1] = $59; - $161 = $60 * 7 | 0; - $163 = $labelInfo + 1310736 + ($161 + -7 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + 1; - $167 = $labelInfo + 1310736 + ($161 + -6 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $i$265; - $171 = $labelInfo + 1310736 + ($161 + -5 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $j$076; - $175 = $labelInfo + 1310736 + ($161 + -3 << 2) | 0; - if ((HEAP32[$175 >> 2] | 0) < ($i$265 | 0)) HEAP32[$175 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($161 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $181 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($181 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $181; - $184 = ($181 << 16 >> 16) * 7 | 0; - $186 = $labelInfo + 1310736 + ($184 + -7 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + 1; - $190 = $labelInfo + 1310736 + ($184 + -6 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $i$265; - $194 = $labelInfo + 1310736 + ($184 + -5 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $j$076; - $198 = $labelInfo + 1310736 + ($184 + -3 << 2) | 0; - if ((HEAP32[$198 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$198 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $201 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $201; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $201 << 16 >> 16; - $206 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($206 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($206 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($206 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($206 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $201; - break; - } - } - if ($61) { - $64 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - $67 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - if (($64 | 0) > ($67 | 0)) { - HEAP16[$pnt2$368 >> 1] = $67; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($64 | 0)) HEAP32[$wk$057 >> 2] = $67; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $84 = $67; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $84 = $67; - } else { - HEAP16[$pnt2$368 >> 1] = $64; - if (($64 | 0) < ($67 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($67 | 0)) HEAP32[$wk$154 >> 2] = $64; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $84 = $64; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $84 = $64; - } - $86 = ($84 << 16 >> 16) * 7 | 0; - $88 = $labelInfo + 1310736 + ($86 + -7 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + 1; - $92 = $labelInfo + 1310736 + ($86 + -6 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $i$265; - $96 = $labelInfo + 1310736 + ($86 + -5 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($86 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $102 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($102 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $55; - $142 = $56 * 7 | 0; - $144 = $labelInfo + 1310736 + ($142 + -7 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + 1; - $148 = $labelInfo + 1310736 + ($142 + -6 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $i$265; - $152 = $labelInfo + 1310736 + ($142 + -5 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $j$076; - $156 = $labelInfo + 1310736 + ($142 + -4 << 2) | 0; - if ((HEAP32[$156 >> 2] | 0) > ($i$265 | 0)) HEAP32[$156 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($142 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $107 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - $110 = HEAP32[$labelInfo + 1179664 + (($102 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($107 | 0) > ($110 | 0)) { - HEAP16[$pnt2$368 >> 1] = $110; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($107 | 0)) HEAP32[$wk$250 >> 2] = $110; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $127 = $110; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $127 = $110; - } else { - HEAP16[$pnt2$368 >> 1] = $107; - if (($107 | 0) < ($110 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($110 | 0)) HEAP32[$wk$347 >> 2] = $107; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $127 = $107; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $127 = $107; - } - $129 = ($127 << 16 >> 16) * 7 | 0; - $131 = $labelInfo + 1310736 + ($129 + -7 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + 1; - $135 = $labelInfo + 1310736 + ($129 + -6 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $i$265; - $139 = $labelInfo + 1310736 + ($129 + -5 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $221 = $pnt$169 + 4 | 0; - $222 = $pnt2$368 + 2 | 0; - $223 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $223; - $pnt$1$lcssa = $221; - $pnt2$3$lcssa = $222; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $223; - $pnt$169 = $221; - $pnt2$368 = $222; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $230 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $232 = HEAP32[$wk$444 >> 2] | 0; - if (($232 | 0) == ($i$342 | 0)) { - $238 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $238 = HEAP32[$labelInfo + 1179664 + ($232 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $238; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $242 = $labelInfo + 8 | 0; - $243 = $j$1$lcssa + -1 | 0; - HEAP32[$242 >> 2] = $243; - if (!$243) $$0 = 0; else { - _memset($230 | 0, 0, $243 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $243 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $250 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($250 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($250 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($250 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($250 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$242 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $264 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $265 = $i$538 * 7 | 0; - $268 = $labelInfo + 12 + ($264 << 2) | 0; - HEAP32[$268 >> 2] = (HEAP32[$268 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($265 << 2) >> 2] | 0); - $275 = $264 << 1; - $276 = $labelInfo + 655376 + ($275 << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 1 << 2) >> 2] | 0); - $284 = $labelInfo + 655376 + (($275 | 1) << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 2 << 2) >> 2] | 0); - $287 = $264 << 2; - $288 = $labelInfo + 131084 + ($287 << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($265 + 3 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) > ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($287 | 1) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($265 + 4 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) < ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($287 | 2) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($265 + 5 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($287 | 3) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($265 + 6 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$242 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $317 = $labelInfo + 12 + ($i$637 << 2) | 0; - $320 = $i$637 << 1; - $321 = $labelInfo + 655376 + ($320 << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$317 >> 2] | 0); - $327 = $labelInfo + 655376 + (($320 | 1) << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$317 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$242 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $107 = 0, $11 = 0, $110 = 0, $127 = 0, $129 = 0, $131 = 0, $135 = 0, $139 = 0, $142 = 0, $144 = 0, $148 = 0, $152 = 0, $156 = 0, $161 = 0, $163 = 0, $167 = 0, $171 = 0, $175 = 0, $18 = 0, $181 = 0, $184 = 0, $186 = 0, $19 = 0, $190 = 0, $194 = 0, $198 = 0, $2 = 0, $201 = 0, $206 = 0, $21 = 0, $221 = 0, $222 = 0, $223 = 0, $230 = 0, $232 = 0, $238 = 0, $242 = 0, $243 = 0, $250 = 0, $264 = 0, $265 = 0, $268 = 0, $275 = 0, $276 = 0, $284 = 0, $287 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $3 = 0, $30 = 0, $302 = 0, $306 = 0, $309 = 0, $313 = 0, $317 = 0, $320 = 0, $321 = 0, $327 = 0, $36 = 0, $39 = 0, $41 = 0, $45 = 0, $49 = 0, $55 = 0, $56 = 0, $59 = 0, $60 = 0, $61 = 0, $64 = 0, $67 = 0, $84 = 0, $86 = 0, $88 = 0, $92 = 0, $96 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $30 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($30) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $36 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($36 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $36; - $39 = ($36 << 16 >> 16) * 7 | 0; - $41 = $labelInfo + 1310736 + ($39 + -7 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + 1; - $45 = $labelInfo + 1310736 + ($39 + -6 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $i$265; - $49 = $labelInfo + 1310736 + ($39 + -5 << 2) | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($39 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $55 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $59 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $60 = $59 << 16 >> 16; - $61 = $59 << 16 >> 16 > 0; - if ($55 << 16 >> 16 <= 0) { - if ($61) { - HEAP16[$pnt2$368 >> 1] = $59; - $161 = $60 * 7 | 0; - $163 = $labelInfo + 1310736 + ($161 + -7 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + 1; - $167 = $labelInfo + 1310736 + ($161 + -6 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $i$265; - $171 = $labelInfo + 1310736 + ($161 + -5 << 2) | 0; - HEAP32[$171 >> 2] = (HEAP32[$171 >> 2] | 0) + $j$076; - $175 = $labelInfo + 1310736 + ($161 + -3 << 2) | 0; - if ((HEAP32[$175 >> 2] | 0) < ($i$265 | 0)) HEAP32[$175 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($161 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $181 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($181 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $181; - $184 = ($181 << 16 >> 16) * 7 | 0; - $186 = $labelInfo + 1310736 + ($184 + -7 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + 1; - $190 = $labelInfo + 1310736 + ($184 + -6 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $i$265; - $194 = $labelInfo + 1310736 + ($184 + -5 << 2) | 0; - HEAP32[$194 >> 2] = (HEAP32[$194 >> 2] | 0) + $j$076; - $198 = $labelInfo + 1310736 + ($184 + -3 << 2) | 0; - if ((HEAP32[$198 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$198 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $201 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $201; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $201 << 16 >> 16; - $206 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($206 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($206 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($206 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($206 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($206 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $201; - break; - } - } - if ($61) { - $64 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - $67 = HEAP32[$labelInfo + 1179664 + ($60 + -1 << 2) >> 2] | 0; - if (($64 | 0) > ($67 | 0)) { - HEAP16[$pnt2$368 >> 1] = $67; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($64 | 0)) HEAP32[$wk$057 >> 2] = $67; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $84 = $67; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $84 = $67; - } else { - HEAP16[$pnt2$368 >> 1] = $64; - if (($64 | 0) < ($67 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($67 | 0)) HEAP32[$wk$154 >> 2] = $64; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $84 = $64; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $84 = $64; - } - $86 = ($84 << 16 >> 16) * 7 | 0; - $88 = $labelInfo + 1310736 + ($86 + -7 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + 1; - $92 = $labelInfo + 1310736 + ($86 + -6 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $i$265; - $96 = $labelInfo + 1310736 + ($86 + -5 << 2) | 0; - HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($86 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $102 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($102 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $55; - $142 = $56 * 7 | 0; - $144 = $labelInfo + 1310736 + ($142 + -7 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + 1; - $148 = $labelInfo + 1310736 + ($142 + -6 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $i$265; - $152 = $labelInfo + 1310736 + ($142 + -5 << 2) | 0; - HEAP32[$152 >> 2] = (HEAP32[$152 >> 2] | 0) + $j$076; - $156 = $labelInfo + 1310736 + ($142 + -4 << 2) | 0; - if ((HEAP32[$156 >> 2] | 0) > ($i$265 | 0)) HEAP32[$156 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($142 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $107 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - $110 = HEAP32[$labelInfo + 1179664 + (($102 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($107 | 0) > ($110 | 0)) { - HEAP16[$pnt2$368 >> 1] = $110; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($107 | 0)) HEAP32[$wk$250 >> 2] = $110; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $127 = $110; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $127 = $110; - } else { - HEAP16[$pnt2$368 >> 1] = $107; - if (($107 | 0) < ($110 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($110 | 0)) HEAP32[$wk$347 >> 2] = $107; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $127 = $107; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $127 = $107; - } - $129 = ($127 << 16 >> 16) * 7 | 0; - $131 = $labelInfo + 1310736 + ($129 + -7 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + 1; - $135 = $labelInfo + 1310736 + ($129 + -6 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $i$265; - $139 = $labelInfo + 1310736 + ($129 + -5 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $221 = $pnt$169 + 4 | 0; - $222 = $pnt2$368 + 2 | 0; - $223 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $223; - $pnt$1$lcssa = $221; - $pnt2$3$lcssa = $222; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $223; - $pnt$169 = $221; - $pnt2$368 = $222; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $230 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $232 = HEAP32[$wk$444 >> 2] | 0; - if (($232 | 0) == ($i$342 | 0)) { - $238 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $238 = HEAP32[$labelInfo + 1179664 + ($232 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $238; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $242 = $labelInfo + 8 | 0; - $243 = $j$1$lcssa + -1 | 0; - HEAP32[$242 >> 2] = $243; - if (!$243) $$0 = 0; else { - _memset($230 | 0, 0, $243 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $243 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $250 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($250 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($250 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($250 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($250 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$242 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $264 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $265 = $i$538 * 7 | 0; - $268 = $labelInfo + 12 + ($264 << 2) | 0; - HEAP32[$268 >> 2] = (HEAP32[$268 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($265 << 2) >> 2] | 0); - $275 = $264 << 1; - $276 = $labelInfo + 655376 + ($275 << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 1 << 2) >> 2] | 0); - $284 = $labelInfo + 655376 + (($275 | 1) << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 2 << 2) >> 2] | 0); - $287 = $264 << 2; - $288 = $labelInfo + 131084 + ($287 << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($265 + 3 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) > ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($287 | 1) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($265 + 4 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) < ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($287 | 2) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($265 + 5 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($287 | 3) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($265 + 6 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$242 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $317 = $labelInfo + 12 + ($i$637 << 2) | 0; - $320 = $i$637 << 1; - $321 = $labelInfo + 655376 + ($320 << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$317 >> 2] | 0); - $327 = $labelInfo + 655376 + (($320 | 1) << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$317 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$242 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $106 = 0, $109 = 0, $11 = 0, $126 = 0, $128 = 0, $130 = 0, $134 = 0, $138 = 0, $141 = 0, $143 = 0, $147 = 0, $151 = 0, $155 = 0, $160 = 0, $162 = 0, $166 = 0, $170 = 0, $174 = 0, $18 = 0, $180 = 0, $183 = 0, $185 = 0, $189 = 0, $19 = 0, $193 = 0, $197 = 0, $2 = 0, $200 = 0, $205 = 0, $21 = 0, $220 = 0, $221 = 0, $222 = 0, $229 = 0, $231 = 0, $237 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $3 = 0, $30 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $35 = 0, $38 = 0, $40 = 0, $44 = 0, $48 = 0, $54 = 0, $55 = 0, $58 = 0, $59 = 0, $60 = 0, $63 = 0, $66 = 0, $83 = 0, $85 = 0, $87 = 0, $91 = 0, $95 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $30 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($30) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $35 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($35 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $35; - $38 = ($35 << 16 >> 16) * 7 | 0; - $40 = $labelInfo + 1310736 + ($38 + -7 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + 1; - $44 = $labelInfo + 1310736 + ($38 + -6 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $i$265; - $48 = $labelInfo + 1310736 + ($38 + -5 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($38 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $54 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $58 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $59 = $58 << 16 >> 16; - $60 = $58 << 16 >> 16 > 0; - if ($54 << 16 >> 16 <= 0) { - if ($60) { - HEAP16[$pnt2$368 >> 1] = $58; - $160 = $59 * 7 | 0; - $162 = $labelInfo + 1310736 + ($160 + -7 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + 1; - $166 = $labelInfo + 1310736 + ($160 + -6 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $i$265; - $170 = $labelInfo + 1310736 + ($160 + -5 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + $j$076; - $174 = $labelInfo + 1310736 + ($160 + -3 << 2) | 0; - if ((HEAP32[$174 >> 2] | 0) < ($i$265 | 0)) HEAP32[$174 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($160 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $180 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($180 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $180; - $183 = ($180 << 16 >> 16) * 7 | 0; - $185 = $labelInfo + 1310736 + ($183 + -7 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + 1; - $189 = $labelInfo + 1310736 + ($183 + -6 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $i$265; - $193 = $labelInfo + 1310736 + ($183 + -5 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + $j$076; - $197 = $labelInfo + 1310736 + ($183 + -3 << 2) | 0; - if ((HEAP32[$197 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$197 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $200 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $200; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $200 << 16 >> 16; - $205 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($205 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($205 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($205 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($205 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $200; - break; - } - } - if ($60) { - $63 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - $66 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - if (($63 | 0) > ($66 | 0)) { - HEAP16[$pnt2$368 >> 1] = $66; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$057 >> 2] = $66; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $83 = $66; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $83 = $66; - } else { - HEAP16[$pnt2$368 >> 1] = $63; - if (($63 | 0) < ($66 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($66 | 0)) HEAP32[$wk$154 >> 2] = $63; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $83 = $63; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $83 = $63; - } - $85 = ($83 << 16 >> 16) * 7 | 0; - $87 = $labelInfo + 1310736 + ($85 + -7 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + 1; - $91 = $labelInfo + 1310736 + ($85 + -6 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $i$265; - $95 = $labelInfo + 1310736 + ($85 + -5 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($85 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $101 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($101 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $54; - $141 = $55 * 7 | 0; - $143 = $labelInfo + 1310736 + ($141 + -7 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + 1; - $147 = $labelInfo + 1310736 + ($141 + -6 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $i$265; - $151 = $labelInfo + 1310736 + ($141 + -5 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + $j$076; - $155 = $labelInfo + 1310736 + ($141 + -4 << 2) | 0; - if ((HEAP32[$155 >> 2] | 0) > ($i$265 | 0)) HEAP32[$155 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($141 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $106 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - $109 = HEAP32[$labelInfo + 1179664 + (($101 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($106 | 0) > ($109 | 0)) { - HEAP16[$pnt2$368 >> 1] = $109; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$250 >> 2] = $109; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $126 = $109; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $126 = $109; - } else { - HEAP16[$pnt2$368 >> 1] = $106; - if (($106 | 0) < ($109 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($109 | 0)) HEAP32[$wk$347 >> 2] = $106; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $126 = $106; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $126 = $106; - } - $128 = ($126 << 16 >> 16) * 7 | 0; - $130 = $labelInfo + 1310736 + ($128 + -7 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + 1; - $134 = $labelInfo + 1310736 + ($128 + -6 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $i$265; - $138 = $labelInfo + 1310736 + ($128 + -5 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $220 = $pnt$169 + 4 | 0; - $221 = $pnt2$368 + 2 | 0; - $222 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $222; - $pnt$1$lcssa = $220; - $pnt2$3$lcssa = $221; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $222; - $pnt$169 = $220; - $pnt2$368 = $221; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $231 = HEAP32[$wk$444 >> 2] | 0; - if (($231 | 0) == ($i$342 | 0)) { - $237 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $237; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $249 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$538 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $316 = $labelInfo + 12 + ($i$637 << 2) | 0; - $319 = $i$637 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} -function _arLabelingSubEWIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $106 = 0, $109 = 0, $11 = 0, $126 = 0, $128 = 0, $130 = 0, $134 = 0, $138 = 0, $141 = 0, $143 = 0, $147 = 0, $151 = 0, $155 = 0, $160 = 0, $162 = 0, $166 = 0, $170 = 0, $174 = 0, $18 = 0, $180 = 0, $183 = 0, $185 = 0, $189 = 0, $19 = 0, $193 = 0, $197 = 0, $2 = 0, $200 = 0, $205 = 0, $21 = 0, $220 = 0, $221 = 0, $222 = 0, $229 = 0, $231 = 0, $237 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $3 = 0, $30 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $35 = 0, $38 = 0, $40 = 0, $44 = 0, $48 = 0, $54 = 0, $55 = 0, $58 = 0, $59 = 0, $60 = 0, $63 = 0, $66 = 0, $83 = 0, $85 = 0, $87 = 0, $91 = 0, $95 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $30 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 2) + 4) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($30) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $35 = HEAP16[$pnt2$368 + ($21 << 1) >> 1] | 0; - if ($35 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $35; - $38 = ($35 << 16 >> 16) * 7 | 0; - $40 = $labelInfo + 1310736 + ($38 + -7 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + 1; - $44 = $labelInfo + 1310736 + ($38 + -6 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $i$265; - $48 = $labelInfo + 1310736 + ($38 + -5 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($38 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $54 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $58 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $59 = $58 << 16 >> 16; - $60 = $58 << 16 >> 16 > 0; - if ($54 << 16 >> 16 <= 0) { - if ($60) { - HEAP16[$pnt2$368 >> 1] = $58; - $160 = $59 * 7 | 0; - $162 = $labelInfo + 1310736 + ($160 + -7 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + 1; - $166 = $labelInfo + 1310736 + ($160 + -6 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $i$265; - $170 = $labelInfo + 1310736 + ($160 + -5 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + $j$076; - $174 = $labelInfo + 1310736 + ($160 + -3 << 2) | 0; - if ((HEAP32[$174 >> 2] | 0) < ($i$265 | 0)) HEAP32[$174 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($160 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $180 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($180 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $180; - $183 = ($180 << 16 >> 16) * 7 | 0; - $185 = $labelInfo + 1310736 + ($183 + -7 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + 1; - $189 = $labelInfo + 1310736 + ($183 + -6 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $i$265; - $193 = $labelInfo + 1310736 + ($183 + -5 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + $j$076; - $197 = $labelInfo + 1310736 + ($183 + -3 << 2) | 0; - if ((HEAP32[$197 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$197 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $200 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $200; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $200 << 16 >> 16; - $205 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($205 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($205 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($205 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($205 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($205 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $200; - break; - } - } - if ($60) { - $63 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - $66 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - if (($63 | 0) > ($66 | 0)) { - HEAP16[$pnt2$368 >> 1] = $66; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$057 >> 2] = $66; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $83 = $66; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $83 = $66; - } else { - HEAP16[$pnt2$368 >> 1] = $63; - if (($63 | 0) < ($66 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($66 | 0)) HEAP32[$wk$154 >> 2] = $63; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $83 = $63; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $83 = $63; - } - $85 = ($83 << 16 >> 16) * 7 | 0; - $87 = $labelInfo + 1310736 + ($85 + -7 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + 1; - $91 = $labelInfo + 1310736 + ($85 + -6 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $i$265; - $95 = $labelInfo + 1310736 + ($85 + -5 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($85 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $101 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($101 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $54; - $141 = $55 * 7 | 0; - $143 = $labelInfo + 1310736 + ($141 + -7 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + 1; - $147 = $labelInfo + 1310736 + ($141 + -6 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $i$265; - $151 = $labelInfo + 1310736 + ($141 + -5 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + $j$076; - $155 = $labelInfo + 1310736 + ($141 + -4 << 2) | 0; - if ((HEAP32[$155 >> 2] | 0) > ($i$265 | 0)) HEAP32[$155 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($141 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $106 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - $109 = HEAP32[$labelInfo + 1179664 + (($101 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($106 | 0) > ($109 | 0)) { - HEAP16[$pnt2$368 >> 1] = $109; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$250 >> 2] = $109; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $126 = $109; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $126 = $109; - } else { - HEAP16[$pnt2$368 >> 1] = $106; - if (($106 | 0) < ($109 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($109 | 0)) HEAP32[$wk$347 >> 2] = $106; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $126 = $106; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $126 = $106; - } - $128 = ($126 << 16 >> 16) * 7 | 0; - $130 = $labelInfo + 1310736 + ($128 + -7 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + 1; - $134 = $labelInfo + 1310736 + ($128 + -6 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $i$265; - $138 = $labelInfo + 1310736 + ($128 + -5 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $220 = $pnt$169 + 4 | 0; - $221 = $pnt2$368 + 2 | 0; - $222 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $222; - $pnt$1$lcssa = $220; - $pnt2$3$lcssa = $221; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $222; - $pnt$169 = $220; - $pnt2$368 = $221; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $231 = HEAP32[$wk$444 >> 2] | 0; - if (($231 | 0) == ($i$342 | 0)) { - $237 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $237; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $249 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$538 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $316 = $labelInfo + 12 + ($i$637 << 2) | 0; - $319 = $i$637 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $105 = 0, $108 = 0, $11 = 0, $125 = 0, $127 = 0, $129 = 0, $133 = 0, $137 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $154 = 0, $159 = 0, $161 = 0, $165 = 0, $169 = 0, $173 = 0, $179 = 0, $18 = 0, $182 = 0, $184 = 0, $188 = 0, $19 = 0, $192 = 0, $196 = 0, $199 = 0, $2 = 0, $20 = 0, $204 = 0, $219 = 0, $220 = 0, $221 = 0, $228 = 0, $230 = 0, $236 = 0, $240 = 0, $241 = 0, $248 = 0, $262 = 0, $263 = 0, $266 = 0, $273 = 0, $274 = 0, $282 = 0, $285 = 0, $286 = 0, $29 = 0, $290 = 0, $293 = 0, $297 = 0, $3 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $315 = 0, $318 = 0, $319 = 0, $325 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $62 = 0, $65 = 0, $82 = 0, $84 = 0, $86 = 0, $90 = 0, $94 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = $xsize + 4 | 0; - L11 : do if (($3 | 0) > 1) { - $29 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 1) + 2) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($29) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$167 >> 0] = -1; - $34 = HEAP16[$pnt2$368 + ($20 << 1) >> 1] | 0; - if ($34 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $34; - $37 = ($34 << 16 >> 16) * 7 | 0; - $39 = $labelInfo + 1310736 + ($37 + -7 << 2) | 0; - HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; - $43 = $labelInfo + 1310736 + ($37 + -6 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $i$265; - $47 = $labelInfo + 1310736 + ($37 + -5 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($37 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $53 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $54 = $53 << 16 >> 16; - $57 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $58 = $57 << 16 >> 16; - $59 = $57 << 16 >> 16 > 0; - if ($53 << 16 >> 16 <= 0) { - if ($59) { - HEAP16[$pnt2$368 >> 1] = $57; - $159 = $58 * 7 | 0; - $161 = $labelInfo + 1310736 + ($159 + -7 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + 1; - $165 = $labelInfo + 1310736 + ($159 + -6 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $i$265; - $169 = $labelInfo + 1310736 + ($159 + -5 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + $j$076; - $173 = $labelInfo + 1310736 + ($159 + -3 << 2) | 0; - if ((HEAP32[$173 >> 2] | 0) < ($i$265 | 0)) HEAP32[$173 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($159 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $179 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($179 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $179; - $182 = ($179 << 16 >> 16) * 7 | 0; - $184 = $labelInfo + 1310736 + ($182 + -7 << 2) | 0; - HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + 1; - $188 = $labelInfo + 1310736 + ($182 + -6 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $i$265; - $192 = $labelInfo + 1310736 + ($182 + -5 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + $j$076; - $196 = $labelInfo + 1310736 + ($182 + -3 << 2) | 0; - if ((HEAP32[$196 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$196 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $199 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $199; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $199 << 16 >> 16; - $204 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($204 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($204 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($204 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($204 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $199; - break; - } - } - if ($59) { - $62 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - $65 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - if (($62 | 0) > ($65 | 0)) { - HEAP16[$pnt2$368 >> 1] = $65; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$057 >> 2] = $65; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $82 = $65; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $82 = $65; - } else { - HEAP16[$pnt2$368 >> 1] = $62; - if (($62 | 0) < ($65 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$154 >> 2] = $62; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $82 = $62; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $82 = $62; - } - $84 = ($82 << 16 >> 16) * 7 | 0; - $86 = $labelInfo + 1310736 + ($84 + -7 << 2) | 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 1; - $90 = $labelInfo + 1310736 + ($84 + -6 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + $i$265; - $94 = $labelInfo + 1310736 + ($84 + -5 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($84 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $100 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($100 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $53; - $140 = $54 * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$265; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$076; - $154 = $labelInfo + 1310736 + ($140 + -4 << 2) | 0; - if ((HEAP32[$154 >> 2] | 0) > ($i$265 | 0)) HEAP32[$154 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($140 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $105 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - $108 = HEAP32[$labelInfo + 1179664 + (($100 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($105 | 0) > ($108 | 0)) { - HEAP16[$pnt2$368 >> 1] = $108; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$250 >> 2] = $108; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $125 = $108; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $125 = $108; - } else { - HEAP16[$pnt2$368 >> 1] = $105; - if (($105 | 0) < ($108 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$347 >> 2] = $105; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $125 = $105; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $125 = $105; - } - $127 = ($125 << 16 >> 16) * 7 | 0; - $129 = $labelInfo + 1310736 + ($127 + -7 << 2) | 0; - HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + 1; - $133 = $labelInfo + 1310736 + ($127 + -6 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $i$265; - $137 = $labelInfo + 1310736 + ($127 + -5 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $219 = $pnt$169 + 2 | 0; - $220 = $pnt2$368 + 2 | 0; - $221 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $221; - $pnt$1$lcssa = $219; - $pnt2$3$lcssa = $220; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $221; - $pnt$169 = $219; - $pnt2$368 = $220; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $228 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $230 = HEAP32[$wk$444 >> 2] | 0; - if (($230 | 0) == ($i$342 | 0)) { - $236 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $236 = HEAP32[$labelInfo + 1179664 + ($230 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $236; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $240 = $labelInfo + 8 | 0; - $241 = $j$1$lcssa + -1 | 0; - HEAP32[$240 >> 2] = $241; - if (!$241) $$0 = 0; else { - _memset($228 | 0, 0, $241 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $241 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $248 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($248 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($248 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($248 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($248 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$240 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $262 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $263 = $i$538 * 7 | 0; - $266 = $labelInfo + 12 + ($262 << 2) | 0; - HEAP32[$266 >> 2] = (HEAP32[$266 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($263 << 2) >> 2] | 0); - $273 = $262 << 1; - $274 = $labelInfo + 655376 + ($273 << 3) | 0; - HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($263 + 1 << 2) >> 2] | 0); - $282 = $labelInfo + 655376 + (($273 | 1) << 3) | 0; - HEAPF64[$282 >> 3] = +HEAPF64[$282 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($263 + 2 << 2) >> 2] | 0); - $285 = $262 << 2; - $286 = $labelInfo + 131084 + ($285 << 2) | 0; - $290 = HEAP32[$labelInfo + 1310736 + ($263 + 3 << 2) >> 2] | 0; - if ((HEAP32[$286 >> 2] | 0) > ($290 | 0)) HEAP32[$286 >> 2] = $290; - $293 = $labelInfo + 131084 + (($285 | 1) << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($263 + 4 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) < ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($285 | 2) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($263 + 5 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) > ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($285 | 3) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($263 + 6 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) < ($311 | 0)) HEAP32[$307 >> 2] = $311; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$240 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $315 = $labelInfo + 12 + ($i$637 << 2) | 0; - $318 = $i$637 << 1; - $319 = $labelInfo + 655376 + ($318 << 3) | 0; - HEAPF64[$319 >> 3] = +HEAPF64[$319 >> 3] / +(HEAP32[$315 >> 2] | 0); - $325 = $labelInfo + 655376 + (($318 | 1) << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$315 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$240 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} -function _arLabelingSubEBIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $100 = 0, $105 = 0, $108 = 0, $11 = 0, $125 = 0, $127 = 0, $129 = 0, $133 = 0, $137 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $154 = 0, $159 = 0, $161 = 0, $165 = 0, $169 = 0, $173 = 0, $179 = 0, $18 = 0, $182 = 0, $184 = 0, $188 = 0, $19 = 0, $192 = 0, $196 = 0, $199 = 0, $2 = 0, $20 = 0, $204 = 0, $219 = 0, $220 = 0, $221 = 0, $228 = 0, $230 = 0, $236 = 0, $240 = 0, $241 = 0, $248 = 0, $262 = 0, $263 = 0, $266 = 0, $273 = 0, $274 = 0, $282 = 0, $285 = 0, $286 = 0, $29 = 0, $290 = 0, $293 = 0, $297 = 0, $3 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $315 = 0, $318 = 0, $319 = 0, $325 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $62 = 0, $65 = 0, $82 = 0, $84 = 0, $86 = 0, $90 = 0, $94 = 0, $dpnt$078 = 0, $dpnt$1$lcssa = 0, $dpnt$167 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$342 = 0, $i$440 = 0, $i$538 = 0, $i$637 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$143 = 0, $j$2 = 0, $k$056 = 0, $k$153 = 0, $k$249 = 0, $k$346 = 0, $pnt$080 = 0, $pnt$1$lcssa = 0, $pnt$169 = 0, $pnt1$091 = 0, $pnt1$185 = 0, $pnt2$090 = 0, $pnt2$184 = 0, $pnt2$279 = 0, $pnt2$3$lcssa = 0, $pnt2$368 = 0, $vararg_buffer = 0, $wk$057 = 0, $wk$154 = 0, $wk$250 = 0, $wk$347 = 0, $wk$444 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$089 = 0; - $pnt1$091 = $2; - $pnt2$090 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$090 >> 1] = 0; - HEAP16[$pnt1$091 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($0 | 0)) break; else { - $pnt1$091 = $pnt1$091 + 2 | 0; - $pnt2$090 = $pnt2$090 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$183 = 0; - $pnt1$185 = $2; - $pnt2$184 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$184 >> 1] = 0; - HEAP16[$pnt1$185 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($1 | 0)) break; else { - $pnt1$185 = $pnt1$185 + ($0 << 1) | 0; - $pnt2$184 = $pnt2$184 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = $0 + 1 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = $xsize + 4 | 0; - L11 : do if (($3 | 0) > 1) { - $29 = ($11 | 0) > 1; - $dpnt$078 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $19 | 0; - $j$076 = 1; - $pnt$080 = $image + (($xsize << 1) + 2) | 0; - $pnt2$279 = $2 + ($19 << 1) | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($29) { - $dpnt$167 = $dpnt$078; - $i$265 = 1; - $pnt$169 = $pnt$080; - $pnt2$368 = $pnt2$279; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$169 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$368 >> 1] = 0; - HEAP8[$dpnt$167 >> 0] = 0; - $wk_max$2 = $wk_max$160; - } else { - HEAP8[$dpnt$167 >> 0] = -1; - $34 = HEAP16[$pnt2$368 + ($20 << 1) >> 1] | 0; - if ($34 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $34; - $37 = ($34 << 16 >> 16) * 7 | 0; - $39 = $labelInfo + 1310736 + ($37 + -7 << 2) | 0; - HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; - $43 = $labelInfo + 1310736 + ($37 + -6 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $i$265; - $47 = $labelInfo + 1310736 + ($37 + -5 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($37 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $53 = HEAP16[$pnt2$368 + ($$sum1 << 1) >> 1] | 0; - $54 = $53 << 16 >> 16; - $57 = HEAP16[$pnt2$368 + ($$sum2 << 1) >> 1] | 0; - $58 = $57 << 16 >> 16; - $59 = $57 << 16 >> 16 > 0; - if ($53 << 16 >> 16 <= 0) { - if ($59) { - HEAP16[$pnt2$368 >> 1] = $57; - $159 = $58 * 7 | 0; - $161 = $labelInfo + 1310736 + ($159 + -7 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + 1; - $165 = $labelInfo + 1310736 + ($159 + -6 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $i$265; - $169 = $labelInfo + 1310736 + ($159 + -5 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + $j$076; - $173 = $labelInfo + 1310736 + ($159 + -3 << 2) | 0; - if ((HEAP32[$173 >> 2] | 0) < ($i$265 | 0)) HEAP32[$173 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($159 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $179 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($179 << 16 >> 16 > 0) { - HEAP16[$pnt2$368 >> 1] = $179; - $182 = ($179 << 16 >> 16) * 7 | 0; - $184 = $labelInfo + 1310736 + ($182 + -7 << 2) | 0; - HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + 1; - $188 = $labelInfo + 1310736 + ($182 + -6 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $i$265; - $192 = $labelInfo + 1310736 + ($182 + -5 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + $j$076; - $196 = $labelInfo + 1310736 + ($182 + -3 << 2) | 0; - if ((HEAP32[$196 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$196 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $199 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$368 >> 1] = $199; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $199 << 16 >> 16; - $204 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($204 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($204 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($204 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($204 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($204 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $199; - break; - } - } - if ($59) { - $62 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - $65 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - if (($62 | 0) > ($65 | 0)) { - HEAP16[$pnt2$368 >> 1] = $65; - if (($wk_max$160 | 0) > 0) { - $k$056 = 0; - $wk$057 = $18; - while (1) { - if ((HEAP32[$wk$057 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$057 >> 2] = $65; - $k$056 = $k$056 + 1 | 0; - if (($k$056 | 0) >= ($wk_max$160 | 0)) { - $82 = $65; - break; - } else $wk$057 = $wk$057 + 4 | 0; - } - } else $82 = $65; - } else { - HEAP16[$pnt2$368 >> 1] = $62; - if (($62 | 0) < ($65 | 0) & ($wk_max$160 | 0) > 0) { - $k$153 = 0; - $wk$154 = $18; - while (1) { - if ((HEAP32[$wk$154 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$154 >> 2] = $62; - $k$153 = $k$153 + 1 | 0; - if (($k$153 | 0) >= ($wk_max$160 | 0)) { - $82 = $62; - break; - } else $wk$154 = $wk$154 + 4 | 0; - } - } else $82 = $62; - } - $84 = ($82 << 16 >> 16) * 7 | 0; - $86 = $labelInfo + 1310736 + ($84 + -7 << 2) | 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 1; - $90 = $labelInfo + 1310736 + ($84 + -6 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + $i$265; - $94 = $labelInfo + 1310736 + ($84 + -5 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($84 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $100 = HEAP16[$pnt2$368 + -2 >> 1] | 0; - if ($100 << 16 >> 16 <= 0) { - HEAP16[$pnt2$368 >> 1] = $53; - $140 = $54 * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$265; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$076; - $154 = $labelInfo + 1310736 + ($140 + -4 << 2) | 0; - if ((HEAP32[$154 >> 2] | 0) > ($i$265 | 0)) HEAP32[$154 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($140 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $105 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - $108 = HEAP32[$labelInfo + 1179664 + (($100 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($105 | 0) > ($108 | 0)) { - HEAP16[$pnt2$368 >> 1] = $108; - if (($wk_max$160 | 0) > 0) { - $k$249 = 0; - $wk$250 = $18; - while (1) { - if ((HEAP32[$wk$250 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$250 >> 2] = $108; - $k$249 = $k$249 + 1 | 0; - if (($k$249 | 0) >= ($wk_max$160 | 0)) { - $125 = $108; - break; - } else $wk$250 = $wk$250 + 4 | 0; - } - } else $125 = $108; - } else { - HEAP16[$pnt2$368 >> 1] = $105; - if (($105 | 0) < ($108 | 0) & ($wk_max$160 | 0) > 0) { - $k$346 = 0; - $wk$347 = $18; - while (1) { - if ((HEAP32[$wk$347 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$347 >> 2] = $105; - $k$346 = $k$346 + 1 | 0; - if (($k$346 | 0) >= ($wk_max$160 | 0)) { - $125 = $105; - break; - } else $wk$347 = $wk$347 + 4 | 0; - } - } else $125 = $105; - } - $127 = ($125 << 16 >> 16) * 7 | 0; - $129 = $labelInfo + 1310736 + ($127 + -7 << 2) | 0; - HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + 1; - $133 = $labelInfo + 1310736 + ($127 + -6 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $i$265; - $137 = $labelInfo + 1310736 + ($127 + -5 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $219 = $pnt$169 + 2 | 0; - $220 = $pnt2$368 + 2 | 0; - $221 = $dpnt$167 + 1 | 0; - if (($i$265 | 0) >= ($11 | 0)) { - $dpnt$1$lcssa = $221; - $pnt$1$lcssa = $219; - $pnt2$3$lcssa = $220; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$167 = $221; - $pnt$169 = $219; - $pnt2$368 = $220; - $wk_max$160 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$078; - $pnt$1$lcssa = $pnt$080; - $pnt2$3$lcssa = $pnt2$279; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$078 = $dpnt$1$lcssa + 2 | 0; - $pnt$080 = $pnt$1$lcssa + $$sum | 0; - $pnt2$279 = $pnt2$3$lcssa + 4 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $228 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$342 = 1; - $j$143 = 1; - $wk$444 = $18; - while (1) { - $230 = HEAP32[$wk$444 >> 2] | 0; - if (($230 | 0) == ($i$342 | 0)) { - $236 = $j$143; - $j$2 = $j$143 + 1 | 0; - } else { - $236 = HEAP32[$labelInfo + 1179664 + ($230 + -1 << 2) >> 2] | 0; - $j$2 = $j$143; - } - HEAP32[$wk$444 >> 2] = $236; - if (($i$342 | 0) < ($wk_max$0$lcssa | 0)) { - $i$342 = $i$342 + 1 | 0; - $j$143 = $j$2; - $wk$444 = $wk$444 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $240 = $labelInfo + 8 | 0; - $241 = $j$1$lcssa + -1 | 0; - HEAP32[$240 >> 2] = $241; - if (!$241) $$0 = 0; else { - _memset($228 | 0, 0, $241 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $241 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$440 = 0; - do { - $248 = $i$440 << 2; - HEAP32[$labelInfo + 131084 + ($248 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($248 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($248 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($248 | 3) << 2) >> 2] = 0; - $i$440 = $i$440 + 1 | 0; - } while (($i$440 | 0) < (HEAP32[$240 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$538 = 0; - do { - $262 = (HEAP32[$labelInfo + 1179664 + ($i$538 << 2) >> 2] | 0) + -1 | 0; - $263 = $i$538 * 7 | 0; - $266 = $labelInfo + 12 + ($262 << 2) | 0; - HEAP32[$266 >> 2] = (HEAP32[$266 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($263 << 2) >> 2] | 0); - $273 = $262 << 1; - $274 = $labelInfo + 655376 + ($273 << 3) | 0; - HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($263 + 1 << 2) >> 2] | 0); - $282 = $labelInfo + 655376 + (($273 | 1) << 3) | 0; - HEAPF64[$282 >> 3] = +HEAPF64[$282 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($263 + 2 << 2) >> 2] | 0); - $285 = $262 << 2; - $286 = $labelInfo + 131084 + ($285 << 2) | 0; - $290 = HEAP32[$labelInfo + 1310736 + ($263 + 3 << 2) >> 2] | 0; - if ((HEAP32[$286 >> 2] | 0) > ($290 | 0)) HEAP32[$286 >> 2] = $290; - $293 = $labelInfo + 131084 + (($285 | 1) << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($263 + 4 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) < ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($285 | 2) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($263 + 5 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) > ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($285 | 3) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($263 + 6 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) < ($311 | 0)) HEAP32[$307 >> 2] = $311; - $i$538 = $i$538 + 1 | 0; - } while (($i$538 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$240 >> 2] | 0) > 0) { - $i$637 = 0; - do { - $315 = $labelInfo + 12 + ($i$637 << 2) | 0; - $318 = $i$637 << 1; - $319 = $labelInfo + 655376 + ($318 << 3) | 0; - HEAPF64[$319 >> 3] = +HEAPF64[$319 >> 3] / +(HEAP32[$315 >> 2] | 0); - $325 = $labelInfo + 655376 + (($318 | 1) << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$315 >> 2] | 0); - $i$637 = $i$637 + 1 | 0; - } while (($i$637 | 0) < (HEAP32[$240 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $103 = 0, $106 = 0, $123 = 0, $125 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $152 = 0, $157 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $171 = 0, $177 = 0, $18 = 0, $180 = 0, $182 = 0, $186 = 0, $190 = 0, $194 = 0, $197 = 0, $202 = 0, $217 = 0, $218 = 0, $219 = 0, $226 = 0, $228 = 0, $234 = 0, $238 = 0, $239 = 0, $246 = 0, $26 = 0, $260 = 0, $261 = 0, $264 = 0, $271 = 0, $272 = 0, $280 = 0, $283 = 0, $284 = 0, $288 = 0, $291 = 0, $295 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $313 = 0, $316 = 0, $317 = 0, $32 = 0, $323 = 0, $35 = 0, $37 = 0, $41 = 0, $45 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $9 = 0, $92 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + ($17 << 1) | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($26) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $32 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($32 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $32; - $35 = ($32 << 16 >> 16) * 7 | 0; - $37 = $labelInfo + 1310736 + ($35 + -7 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 1; - $41 = $labelInfo + 1310736 + ($35 + -6 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $i$264; - $45 = $labelInfo + 1310736 + ($35 + -5 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($35 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $51 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $55 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $57 = $55 << 16 >> 16 > 0; - if ($51 << 16 >> 16 <= 0) { - if ($57) { - HEAP16[$pnt2$367 >> 1] = $55; - $157 = $56 * 7 | 0; - $159 = $labelInfo + 1310736 + ($157 + -7 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + 1; - $163 = $labelInfo + 1310736 + ($157 + -6 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $i$264; - $167 = $labelInfo + 1310736 + ($157 + -5 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $j$075; - $171 = $labelInfo + 1310736 + ($157 + -3 << 2) | 0; - if ((HEAP32[$171 >> 2] | 0) < ($i$264 | 0)) HEAP32[$171 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($157 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $177 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($177 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $177; - $180 = ($177 << 16 >> 16) * 7 | 0; - $182 = $labelInfo + 1310736 + ($180 + -7 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + 1; - $186 = $labelInfo + 1310736 + ($180 + -6 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $i$264; - $190 = $labelInfo + 1310736 + ($180 + -5 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $j$075; - $194 = $labelInfo + 1310736 + ($180 + -3 << 2) | 0; - if ((HEAP32[$194 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$194 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $197 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $197; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $197 << 16 >> 16; - $202 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($202 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($202 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($202 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($202 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $197; - break; - } - } - if ($57) { - $60 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $63 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - if (($60 | 0) > ($63 | 0)) { - HEAP16[$pnt2$367 >> 1] = $63; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$056 >> 2] = $63; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $80 = $63; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $80 = $63; - } else { - HEAP16[$pnt2$367 >> 1] = $60; - if (($60 | 0) < ($63 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$153 >> 2] = $60; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $80 = $60; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $80 = $60; - } - $82 = ($80 << 16 >> 16) * 7 | 0; - $84 = $labelInfo + 1310736 + ($82 + -7 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; - $88 = $labelInfo + 1310736 + ($82 + -6 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $i$264; - $92 = $labelInfo + 1310736 + ($82 + -5 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($82 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $98 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($98 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $51; - $138 = $52 * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$264; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$075; - $152 = $labelInfo + 1310736 + ($138 + -4 << 2) | 0; - if ((HEAP32[$152 >> 2] | 0) > ($i$264 | 0)) HEAP32[$152 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($138 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $103 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $106 = HEAP32[$labelInfo + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($103 | 0) > ($106 | 0)) { - HEAP16[$pnt2$367 >> 1] = $106; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$249 >> 2] = $106; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $123 = $106; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $123 = $106; - } else { - HEAP16[$pnt2$367 >> 1] = $103; - if (($103 | 0) < ($106 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$346 >> 2] = $103; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $123 = $103; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $123 = $103; - } - $125 = ($123 << 16 >> 16) * 7 | 0; - $127 = $labelInfo + 1310736 + ($125 + -7 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + 1; - $131 = $labelInfo + 1310736 + ($125 + -6 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $i$264; - $135 = $labelInfo + 1310736 + ($125 + -5 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $217 = $pnt$168 + 2 | 0; - $218 = $pnt2$367 + 2 | 0; - $219 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $219; - $pnt$1$lcssa = $217; - $pnt2$3$lcssa = $218; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $219; - $pnt$168 = $217; - $pnt2$367 = $218; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $226 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $228 = HEAP32[$wk$443 >> 2] | 0; - if (($228 | 0) == ($i$341 | 0)) { - $234 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $234 = HEAP32[$labelInfo + 1179664 + ($228 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $234; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $238 = $labelInfo + 8 | 0; - $239 = $j$1$lcssa + -1 | 0; - HEAP32[$238 >> 2] = $239; - if (!$239) $$0 = 0; else { - _memset($226 | 0, 0, $239 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $239 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $246 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($246 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($246 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($246 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($246 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$238 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $260 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $261 = $i$537 * 7 | 0; - $264 = $labelInfo + 12 + ($260 << 2) | 0; - HEAP32[$264 >> 2] = (HEAP32[$264 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($261 << 2) >> 2] | 0); - $271 = $260 << 1; - $272 = $labelInfo + 655376 + ($271 << 3) | 0; - HEAPF64[$272 >> 3] = +HEAPF64[$272 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($261 + 1 << 2) >> 2] | 0); - $280 = $labelInfo + 655376 + (($271 | 1) << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($261 + 2 << 2) >> 2] | 0); - $283 = $260 << 2; - $284 = $labelInfo + 131084 + ($283 << 2) | 0; - $288 = HEAP32[$labelInfo + 1310736 + ($261 + 3 << 2) >> 2] | 0; - if ((HEAP32[$284 >> 2] | 0) > ($288 | 0)) HEAP32[$284 >> 2] = $288; - $291 = $labelInfo + 131084 + (($283 | 1) << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($261 + 4 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) < ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($283 | 2) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($261 + 5 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($283 | 3) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($261 + 6 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$238 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $313 = $labelInfo + 12 + ($i$636 << 2) | 0; - $316 = $i$636 << 1; - $317 = $labelInfo + 655376 + ($316 << 3) | 0; - HEAPF64[$317 >> 3] = +HEAPF64[$317 >> 3] / +(HEAP32[$313 >> 2] | 0); - $323 = $labelInfo + 655376 + (($316 | 1) << 3) | 0; - HEAPF64[$323 >> 3] = +HEAPF64[$323 >> 3] / +(HEAP32[$313 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$238 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $103 = 0, $106 = 0, $123 = 0, $125 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $152 = 0, $157 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $171 = 0, $177 = 0, $18 = 0, $180 = 0, $182 = 0, $186 = 0, $190 = 0, $194 = 0, $197 = 0, $202 = 0, $217 = 0, $218 = 0, $219 = 0, $226 = 0, $228 = 0, $234 = 0, $238 = 0, $239 = 0, $246 = 0, $26 = 0, $260 = 0, $261 = 0, $264 = 0, $271 = 0, $272 = 0, $280 = 0, $283 = 0, $284 = 0, $288 = 0, $291 = 0, $295 = 0, $298 = 0, $302 = 0, $305 = 0, $309 = 0, $313 = 0, $316 = 0, $317 = 0, $32 = 0, $323 = 0, $35 = 0, $37 = 0, $41 = 0, $45 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $9 = 0, $92 = 0, $98 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + ($17 << 1) | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($26) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $32 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($32 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $32; - $35 = ($32 << 16 >> 16) * 7 | 0; - $37 = $labelInfo + 1310736 + ($35 + -7 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 1; - $41 = $labelInfo + 1310736 + ($35 + -6 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $i$264; - $45 = $labelInfo + 1310736 + ($35 + -5 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($35 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $51 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $55 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $57 = $55 << 16 >> 16 > 0; - if ($51 << 16 >> 16 <= 0) { - if ($57) { - HEAP16[$pnt2$367 >> 1] = $55; - $157 = $56 * 7 | 0; - $159 = $labelInfo + 1310736 + ($157 + -7 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + 1; - $163 = $labelInfo + 1310736 + ($157 + -6 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $i$264; - $167 = $labelInfo + 1310736 + ($157 + -5 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $j$075; - $171 = $labelInfo + 1310736 + ($157 + -3 << 2) | 0; - if ((HEAP32[$171 >> 2] | 0) < ($i$264 | 0)) HEAP32[$171 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($157 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $177 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($177 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $177; - $180 = ($177 << 16 >> 16) * 7 | 0; - $182 = $labelInfo + 1310736 + ($180 + -7 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + 1; - $186 = $labelInfo + 1310736 + ($180 + -6 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $i$264; - $190 = $labelInfo + 1310736 + ($180 + -5 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $j$075; - $194 = $labelInfo + 1310736 + ($180 + -3 << 2) | 0; - if ((HEAP32[$194 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$194 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $197 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $197; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $197 << 16 >> 16; - $202 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($202 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($202 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($202 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($202 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($202 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $197; - break; - } - } - if ($57) { - $60 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $63 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - if (($60 | 0) > ($63 | 0)) { - HEAP16[$pnt2$367 >> 1] = $63; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$056 >> 2] = $63; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $80 = $63; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $80 = $63; - } else { - HEAP16[$pnt2$367 >> 1] = $60; - if (($60 | 0) < ($63 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$153 >> 2] = $60; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $80 = $60; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $80 = $60; - } - $82 = ($80 << 16 >> 16) * 7 | 0; - $84 = $labelInfo + 1310736 + ($82 + -7 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; - $88 = $labelInfo + 1310736 + ($82 + -6 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $i$264; - $92 = $labelInfo + 1310736 + ($82 + -5 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($82 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $98 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($98 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $51; - $138 = $52 * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$264; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$075; - $152 = $labelInfo + 1310736 + ($138 + -4 << 2) | 0; - if ((HEAP32[$152 >> 2] | 0) > ($i$264 | 0)) HEAP32[$152 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($138 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $103 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $106 = HEAP32[$labelInfo + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($103 | 0) > ($106 | 0)) { - HEAP16[$pnt2$367 >> 1] = $106; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$249 >> 2] = $106; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $123 = $106; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $123 = $106; - } else { - HEAP16[$pnt2$367 >> 1] = $103; - if (($103 | 0) < ($106 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$346 >> 2] = $103; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $123 = $103; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $123 = $103; - } - $125 = ($123 << 16 >> 16) * 7 | 0; - $127 = $labelInfo + 1310736 + ($125 + -7 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + 1; - $131 = $labelInfo + 1310736 + ($125 + -6 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $i$264; - $135 = $labelInfo + 1310736 + ($125 + -5 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $217 = $pnt$168 + 2 | 0; - $218 = $pnt2$367 + 2 | 0; - $219 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $219; - $pnt$1$lcssa = $217; - $pnt2$3$lcssa = $218; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $219; - $pnt$168 = $217; - $pnt2$367 = $218; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $226 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $228 = HEAP32[$wk$443 >> 2] | 0; - if (($228 | 0) == ($i$341 | 0)) { - $234 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $234 = HEAP32[$labelInfo + 1179664 + ($228 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $234; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $238 = $labelInfo + 8 | 0; - $239 = $j$1$lcssa + -1 | 0; - HEAP32[$238 >> 2] = $239; - if (!$239) $$0 = 0; else { - _memset($226 | 0, 0, $239 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $239 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $246 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($246 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($246 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($246 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($246 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$238 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $260 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $261 = $i$537 * 7 | 0; - $264 = $labelInfo + 12 + ($260 << 2) | 0; - HEAP32[$264 >> 2] = (HEAP32[$264 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($261 << 2) >> 2] | 0); - $271 = $260 << 1; - $272 = $labelInfo + 655376 + ($271 << 3) | 0; - HEAPF64[$272 >> 3] = +HEAPF64[$272 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($261 + 1 << 2) >> 2] | 0); - $280 = $labelInfo + 655376 + (($271 | 1) << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($261 + 2 << 2) >> 2] | 0); - $283 = $260 << 2; - $284 = $labelInfo + 131084 + ($283 << 2) | 0; - $288 = HEAP32[$labelInfo + 1310736 + ($261 + 3 << 2) >> 2] | 0; - if ((HEAP32[$284 >> 2] | 0) > ($288 | 0)) HEAP32[$284 >> 2] = $288; - $291 = $labelInfo + 131084 + (($283 | 1) << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($261 + 4 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) < ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($283 | 2) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($261 + 5 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) > ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($283 | 3) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($261 + 6 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) < ($309 | 0)) HEAP32[$305 >> 2] = $309; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$238 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $313 = $labelInfo + 12 + ($i$636 << 2) | 0; - $316 = $i$636 << 1; - $317 = $labelInfo + 655376 + ($316 << 3) | 0; - HEAPF64[$317 >> 3] = +HEAPF64[$317 >> 3] / +(HEAP32[$313 >> 2] | 0); - $323 = $labelInfo + 655376 + (($316 | 1) << 3) | 0; - HEAPF64[$323 >> 3] = +HEAPF64[$323 >> 3] / +(HEAP32[$313 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$238 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $193 = 0, $196 = 0, $201 = 0, $216 = 0, $217 = 0, $218 = 0, $225 = 0, $227 = 0, $233 = 0, $237 = 0, $238 = 0, $245 = 0, $259 = 0, $26 = 0, $260 = 0, $263 = 0, $270 = 0, $271 = 0, $279 = 0, $282 = 0, $283 = 0, $287 = 0, $290 = 0, $294 = 0, $297 = 0, $301 = 0, $304 = 0, $308 = 0, $31 = 0, $312 = 0, $315 = 0, $316 = 0, $322 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $9 = 0, $91 = 0, $97 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + ($17 << 1) | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($26) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $31 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$264; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $50 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$367 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$264; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$075; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$264 | 0)) HEAP32[$170 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $176 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$264; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$075; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$193 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $196 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$367 >> 1] = $62; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$056 >> 2] = $62; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $79 = $62; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$367 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$153 >> 2] = $59; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $79 = $59; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$264; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $97 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$264; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$075; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$264 | 0)) HEAP32[$151 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$367 >> 1] = $105; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$249 >> 2] = $105; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $122 = $105; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$367 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$346 >> 2] = $102; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $122 = $102; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$264; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $216 = $pnt$168 + 2 | 0; - $217 = $pnt2$367 + 2 | 0; - $218 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $218; - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $218; - $pnt$168 = $216; - $pnt2$367 = $217; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $225 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $227 = HEAP32[$wk$443 >> 2] | 0; - if (($227 | 0) == ($i$341 | 0)) { - $233 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $233 = HEAP32[$labelInfo + 1179664 + ($227 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $233; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $237 = $labelInfo + 8 | 0; - $238 = $j$1$lcssa + -1 | 0; - HEAP32[$237 >> 2] = $238; - if (!$238) $$0 = 0; else { - _memset($225 | 0, 0, $238 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $238 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $245 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($245 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($245 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($245 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($245 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$237 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $259 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $260 = $i$537 * 7 | 0; - $263 = $labelInfo + 12 + ($259 << 2) | 0; - HEAP32[$263 >> 2] = (HEAP32[$263 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($260 << 2) >> 2] | 0); - $270 = $259 << 1; - $271 = $labelInfo + 655376 + ($270 << 3) | 0; - HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 1 << 2) >> 2] | 0); - $279 = $labelInfo + 655376 + (($270 | 1) << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 2 << 2) >> 2] | 0); - $282 = $259 << 2; - $283 = $labelInfo + 131084 + ($282 << 2) | 0; - $287 = HEAP32[$labelInfo + 1310736 + ($260 + 3 << 2) >> 2] | 0; - if ((HEAP32[$283 >> 2] | 0) > ($287 | 0)) HEAP32[$283 >> 2] = $287; - $290 = $labelInfo + 131084 + (($282 | 1) << 2) | 0; - $294 = HEAP32[$labelInfo + 1310736 + ($260 + 4 << 2) >> 2] | 0; - if ((HEAP32[$290 >> 2] | 0) < ($294 | 0)) HEAP32[$290 >> 2] = $294; - $297 = $labelInfo + 131084 + (($282 | 2) << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($260 + 5 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($282 | 3) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($260 + 6 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$237 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $312 = $labelInfo + 12 + ($i$636 << 2) | 0; - $315 = $i$636 << 1; - $316 = $labelInfo + 655376 + ($315 << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$312 >> 2] | 0); - $322 = $labelInfo + 655376 + (($315 | 1) << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$312 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$237 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $193 = 0, $196 = 0, $201 = 0, $216 = 0, $217 = 0, $218 = 0, $225 = 0, $227 = 0, $233 = 0, $237 = 0, $238 = 0, $245 = 0, $259 = 0, $26 = 0, $260 = 0, $263 = 0, $270 = 0, $271 = 0, $279 = 0, $282 = 0, $283 = 0, $287 = 0, $290 = 0, $294 = 0, $297 = 0, $301 = 0, $304 = 0, $308 = 0, $31 = 0, $312 = 0, $315 = 0, $316 = 0, $322 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $9 = 0, $91 = 0, $97 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $26 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + ($17 << 1) | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($26) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $31 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$264; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $50 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$367 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$264; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$075; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$264 | 0)) HEAP32[$170 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $176 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$264; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$075; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$193 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $196 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$367 >> 1] = $62; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$056 >> 2] = $62; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $79 = $62; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$367 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$153 >> 2] = $59; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $79 = $59; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$264; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $97 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$264; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$075; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$264 | 0)) HEAP32[$151 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$367 >> 1] = $105; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$249 >> 2] = $105; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $122 = $105; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$367 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$346 >> 2] = $102; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $122 = $102; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$264; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $216 = $pnt$168 + 2 | 0; - $217 = $pnt2$367 + 2 | 0; - $218 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $218; - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $218; - $pnt$168 = $216; - $pnt2$367 = $217; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 4 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $225 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $227 = HEAP32[$wk$443 >> 2] | 0; - if (($227 | 0) == ($i$341 | 0)) { - $233 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $233 = HEAP32[$labelInfo + 1179664 + ($227 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $233; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $237 = $labelInfo + 8 | 0; - $238 = $j$1$lcssa + -1 | 0; - HEAP32[$237 >> 2] = $238; - if (!$238) $$0 = 0; else { - _memset($225 | 0, 0, $238 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $238 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $245 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($245 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($245 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($245 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($245 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$237 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $259 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $260 = $i$537 * 7 | 0; - $263 = $labelInfo + 12 + ($259 << 2) | 0; - HEAP32[$263 >> 2] = (HEAP32[$263 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($260 << 2) >> 2] | 0); - $270 = $259 << 1; - $271 = $labelInfo + 655376 + ($270 << 3) | 0; - HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 1 << 2) >> 2] | 0); - $279 = $labelInfo + 655376 + (($270 | 1) << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 2 << 2) >> 2] | 0); - $282 = $259 << 2; - $283 = $labelInfo + 131084 + ($282 << 2) | 0; - $287 = HEAP32[$labelInfo + 1310736 + ($260 + 3 << 2) >> 2] | 0; - if ((HEAP32[$283 >> 2] | 0) > ($287 | 0)) HEAP32[$283 >> 2] = $287; - $290 = $labelInfo + 131084 + (($282 | 1) << 2) | 0; - $294 = HEAP32[$labelInfo + 1310736 + ($260 + 4 << 2) >> 2] | 0; - if ((HEAP32[$290 >> 2] | 0) < ($294 | 0)) HEAP32[$290 >> 2] = $294; - $297 = $labelInfo + 131084 + (($282 | 2) << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($260 + 5 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($282 | 3) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($260 + 6 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$237 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $312 = $labelInfo + 12 + ($i$636 << 2) | 0; - $315 = $i$636 << 1; - $316 = $labelInfo + 655376 + ($315 << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$312 >> 2] | 0); - $322 = $labelInfo + 655376 + (($315 | 1) << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$312 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$237 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEWRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $101 = 0, $104 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $150 = 0, $155 = 0, $157 = 0, $16 = 0, $161 = 0, $165 = 0, $169 = 0, $17 = 0, $175 = 0, $178 = 0, $18 = 0, $180 = 0, $184 = 0, $188 = 0, $192 = 0, $195 = 0, $200 = 0, $215 = 0, $216 = 0, $217 = 0, $224 = 0, $226 = 0, $232 = 0, $236 = 0, $237 = 0, $244 = 0, $25 = 0, $258 = 0, $259 = 0, $262 = 0, $269 = 0, $270 = 0, $278 = 0, $281 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $30 = 0, $300 = 0, $303 = 0, $307 = 0, $311 = 0, $314 = 0, $315 = 0, $321 = 0, $33 = 0, $35 = 0, $39 = 0, $43 = 0, $49 = 0, $50 = 0, $53 = 0, $54 = 0, $55 = 0, $58 = 0, $61 = 0, $78 = 0, $80 = 0, $82 = 0, $86 = 0, $9 = 0, $90 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $25 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + $17 | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($25) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP8[$dpnt$166 >> 0] = -1; - $30 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($30 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $30; - $33 = ($30 << 16 >> 16) * 7 | 0; - $35 = $labelInfo + 1310736 + ($33 + -7 << 2) | 0; - HEAP32[$35 >> 2] = (HEAP32[$35 >> 2] | 0) + 1; - $39 = $labelInfo + 1310736 + ($33 + -6 << 2) | 0; - HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + $i$264; - $43 = $labelInfo + 1310736 + ($33 + -5 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($33 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $49 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $50 = $49 << 16 >> 16; - $53 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $54 = $53 << 16 >> 16; - $55 = $53 << 16 >> 16 > 0; - if ($49 << 16 >> 16 <= 0) { - if ($55) { - HEAP16[$pnt2$367 >> 1] = $53; - $155 = $54 * 7 | 0; - $157 = $labelInfo + 1310736 + ($155 + -7 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; - $161 = $labelInfo + 1310736 + ($155 + -6 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $i$264; - $165 = $labelInfo + 1310736 + ($155 + -5 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $j$075; - $169 = $labelInfo + 1310736 + ($155 + -3 << 2) | 0; - if ((HEAP32[$169 >> 2] | 0) < ($i$264 | 0)) HEAP32[$169 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($155 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $175 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($175 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $175; - $178 = ($175 << 16 >> 16) * 7 | 0; - $180 = $labelInfo + 1310736 + ($178 + -7 << 2) | 0; - HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; - $184 = $labelInfo + 1310736 + ($178 + -6 << 2) | 0; - HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $i$264; - $188 = $labelInfo + 1310736 + ($178 + -5 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $j$075; - $192 = $labelInfo + 1310736 + ($178 + -3 << 2) | 0; - if ((HEAP32[$192 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$192 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $195 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $195; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $195 << 16 >> 16; - $200 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($200 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($200 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($200 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($200 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $195; - break; - } - } - if ($55) { - $58 = HEAP32[$labelInfo + 1179664 + ($50 + -1 << 2) >> 2] | 0; - $61 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - if (($58 | 0) > ($61 | 0)) { - HEAP16[$pnt2$367 >> 1] = $61; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($58 | 0)) HEAP32[$wk$056 >> 2] = $61; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $78 = $61; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $78 = $61; - } else { - HEAP16[$pnt2$367 >> 1] = $58; - if (($58 | 0) < ($61 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($61 | 0)) HEAP32[$wk$153 >> 2] = $58; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $78 = $58; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $78 = $58; - } - $80 = ($78 << 16 >> 16) * 7 | 0; - $82 = $labelInfo + 1310736 + ($80 + -7 << 2) | 0; - HEAP32[$82 >> 2] = (HEAP32[$82 >> 2] | 0) + 1; - $86 = $labelInfo + 1310736 + ($80 + -6 << 2) | 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + $i$264; - $90 = $labelInfo + 1310736 + ($80 + -5 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($80 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $96 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($96 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $49; - $136 = $50 * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$264; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$075; - $150 = $labelInfo + 1310736 + ($136 + -4 << 2) | 0; - if ((HEAP32[$150 >> 2] | 0) > ($i$264 | 0)) HEAP32[$150 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($136 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $101 = HEAP32[$labelInfo + 1179664 + ($50 + -1 << 2) >> 2] | 0; - $104 = HEAP32[$labelInfo + 1179664 + (($96 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($101 | 0) > ($104 | 0)) { - HEAP16[$pnt2$367 >> 1] = $104; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($101 | 0)) HEAP32[$wk$249 >> 2] = $104; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $121 = $104; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $121 = $104; - } else { - HEAP16[$pnt2$367 >> 1] = $101; - if (($101 | 0) < ($104 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($104 | 0)) HEAP32[$wk$346 >> 2] = $101; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $121 = $101; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $121 = $101; - } - $123 = ($121 << 16 >> 16) * 7 | 0; - $125 = $labelInfo + 1310736 + ($123 + -7 << 2) | 0; - HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; - $129 = $labelInfo + 1310736 + ($123 + -6 << 2) | 0; - HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $i$264; - $133 = $labelInfo + 1310736 + ($123 + -5 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } else { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $215 = $pnt$168 + 1 | 0; - $216 = $pnt2$367 + 2 | 0; - $217 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $217; - $pnt$1$lcssa = $215; - $pnt2$3$lcssa = $216; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $217; - $pnt$168 = $215; - $pnt2$367 = $216; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 2 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $224 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $226 = HEAP32[$wk$443 >> 2] | 0; - if (($226 | 0) == ($i$341 | 0)) { - $232 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $232 = HEAP32[$labelInfo + 1179664 + ($226 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $232; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $236 = $labelInfo + 8 | 0; - $237 = $j$1$lcssa + -1 | 0; - HEAP32[$236 >> 2] = $237; - if (!$237) $$0 = 0; else { - _memset($224 | 0, 0, $237 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $237 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $244 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($244 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($244 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($244 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($244 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$236 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $258 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $259 = $i$537 * 7 | 0; - $262 = $labelInfo + 12 + ($258 << 2) | 0; - HEAP32[$262 >> 2] = (HEAP32[$262 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($259 << 2) >> 2] | 0); - $269 = $258 << 1; - $270 = $labelInfo + 655376 + ($269 << 3) | 0; - HEAPF64[$270 >> 3] = +HEAPF64[$270 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 1 << 2) >> 2] | 0); - $278 = $labelInfo + 655376 + (($269 | 1) << 3) | 0; - HEAPF64[$278 >> 3] = +HEAPF64[$278 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 2 << 2) >> 2] | 0); - $281 = $258 << 2; - $282 = $labelInfo + 131084 + ($281 << 2) | 0; - $286 = HEAP32[$labelInfo + 1310736 + ($259 + 3 << 2) >> 2] | 0; - if ((HEAP32[$282 >> 2] | 0) > ($286 | 0)) HEAP32[$282 >> 2] = $286; - $289 = $labelInfo + 131084 + (($281 | 1) << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($259 + 4 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) < ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($281 | 2) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($259 + 5 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($281 | 3) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($259 + 6 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$236 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $311 = $labelInfo + 12 + ($i$636 << 2) | 0; - $314 = $i$636 << 1; - $315 = $labelInfo + 655376 + ($314 << 3) | 0; - HEAPF64[$315 >> 3] = +HEAPF64[$315 >> 3] / +(HEAP32[$311 >> 2] | 0); - $321 = $labelInfo + 655376 + (($314 | 1) << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$311 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$236 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubEBRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $101 = 0, $104 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $150 = 0, $155 = 0, $157 = 0, $16 = 0, $161 = 0, $165 = 0, $169 = 0, $17 = 0, $175 = 0, $178 = 0, $18 = 0, $180 = 0, $184 = 0, $188 = 0, $192 = 0, $195 = 0, $200 = 0, $215 = 0, $216 = 0, $217 = 0, $224 = 0, $226 = 0, $232 = 0, $236 = 0, $237 = 0, $244 = 0, $25 = 0, $258 = 0, $259 = 0, $262 = 0, $269 = 0, $270 = 0, $278 = 0, $281 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $30 = 0, $300 = 0, $303 = 0, $307 = 0, $311 = 0, $314 = 0, $315 = 0, $321 = 0, $33 = 0, $35 = 0, $39 = 0, $43 = 0, $49 = 0, $50 = 0, $53 = 0, $54 = 0, $55 = 0, $58 = 0, $61 = 0, $78 = 0, $80 = 0, $82 = 0, $86 = 0, $9 = 0, $90 = 0, $96 = 0, $dpnt$077 = 0, $dpnt$1$lcssa = 0, $dpnt$166 = 0, $i$088 = 0, $i$182 = 0, $i$264 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$075 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$089 = 0, $pnt2$183 = 0, $pnt2$278 = 0, $pnt2$3$lcssa = 0, $pnt2$367 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$074 = 0, $wk_max$1$lcssa = 0, $wk_max$159 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$088 = 0; - $pnt1$090 = $0; - $pnt2$089 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$089 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$088 = $i$088 + 1 | 0; - if (($i$088 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$089 = $pnt2$089 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$182 = 0; - $pnt1$184 = $0; - $pnt2$183 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$183 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$182 = $i$182 + 1 | 0; - if (($i$182 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$183 = $pnt2$183 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $25 = ($9 | 0) > 1; - $dpnt$077 = (HEAP32[$labelInfo + 4 >> 2] | 0) + $17 | 0; - $j$075 = 1; - $pnt$079 = $image + $17 | 0; - $pnt2$278 = $0 + ($17 << 1) | 0; - $wk_max$074 = 0; - L13 : while (1) { - if ($25) { - $dpnt$166 = $dpnt$077; - $i$264 = 1; - $pnt$168 = $pnt$079; - $pnt2$367 = $pnt2$278; - $wk_max$159 = $wk_max$074; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$367 >> 1] = 0; - HEAP8[$dpnt$166 >> 0] = 0; - $wk_max$2 = $wk_max$159; - } else { - HEAP8[$dpnt$166 >> 0] = -1; - $30 = HEAP16[$pnt2$367 + ($18 << 1) >> 1] | 0; - if ($30 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $30; - $33 = ($30 << 16 >> 16) * 7 | 0; - $35 = $labelInfo + 1310736 + ($33 + -7 << 2) | 0; - HEAP32[$35 >> 2] = (HEAP32[$35 >> 2] | 0) + 1; - $39 = $labelInfo + 1310736 + ($33 + -6 << 2) | 0; - HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + $i$264; - $43 = $labelInfo + 1310736 + ($33 + -5 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($33 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $49 = HEAP16[$pnt2$367 + ($$sum << 1) >> 1] | 0; - $50 = $49 << 16 >> 16; - $53 = HEAP16[$pnt2$367 + ($$sum1 << 1) >> 1] | 0; - $54 = $53 << 16 >> 16; - $55 = $53 << 16 >> 16 > 0; - if ($49 << 16 >> 16 <= 0) { - if ($55) { - HEAP16[$pnt2$367 >> 1] = $53; - $155 = $54 * 7 | 0; - $157 = $labelInfo + 1310736 + ($155 + -7 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; - $161 = $labelInfo + 1310736 + ($155 + -6 << 2) | 0; - HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $i$264; - $165 = $labelInfo + 1310736 + ($155 + -5 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $j$075; - $169 = $labelInfo + 1310736 + ($155 + -3 << 2) | 0; - if ((HEAP32[$169 >> 2] | 0) < ($i$264 | 0)) HEAP32[$169 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($155 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $175 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($175 << 16 >> 16 > 0) { - HEAP16[$pnt2$367 >> 1] = $175; - $178 = ($175 << 16 >> 16) * 7 | 0; - $180 = $labelInfo + 1310736 + ($178 + -7 << 2) | 0; - HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; - $184 = $labelInfo + 1310736 + ($178 + -6 << 2) | 0; - HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $i$264; - $188 = $labelInfo + 1310736 + ($178 + -5 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $j$075; - $192 = $labelInfo + 1310736 + ($178 + -3 << 2) | 0; - if ((HEAP32[$192 >> 2] | 0) >= ($i$264 | 0)) { - $wk_max$2 = $wk_max$159; - break; - } - HEAP32[$192 >> 2] = $i$264; - $wk_max$2 = $wk_max$159; - break; - } else { - $195 = $wk_max$159 + 1 | 0; - if (($wk_max$159 | 0) > 32767) break L13; - HEAP16[$pnt2$367 >> 1] = $195; - HEAP32[$labelInfo + 1179664 + ($wk_max$159 << 2) >> 2] = $195 << 16 >> 16; - $200 = $wk_max$159 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($200 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($200 + 1 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 2 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($200 + 3 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 4 << 2) >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($200 + 5 << 2) >> 2] = $j$075; - HEAP32[$labelInfo + 1310736 + ($200 + 6 << 2) >> 2] = $j$075; - $wk_max$2 = $195; - break; - } - } - if ($55) { - $58 = HEAP32[$labelInfo + 1179664 + ($50 + -1 << 2) >> 2] | 0; - $61 = HEAP32[$labelInfo + 1179664 + ($54 + -1 << 2) >> 2] | 0; - if (($58 | 0) > ($61 | 0)) { - HEAP16[$pnt2$367 >> 1] = $61; - if (($wk_max$159 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($58 | 0)) HEAP32[$wk$056 >> 2] = $61; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$159 | 0)) { - $78 = $61; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $78 = $61; - } else { - HEAP16[$pnt2$367 >> 1] = $58; - if (($58 | 0) < ($61 | 0) & ($wk_max$159 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($61 | 0)) HEAP32[$wk$153 >> 2] = $58; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$159 | 0)) { - $78 = $58; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $78 = $58; - } - $80 = ($78 << 16 >> 16) * 7 | 0; - $82 = $labelInfo + 1310736 + ($80 + -7 << 2) | 0; - HEAP32[$82 >> 2] = (HEAP32[$82 >> 2] | 0) + 1; - $86 = $labelInfo + 1310736 + ($80 + -6 << 2) | 0; - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + $i$264; - $90 = $labelInfo + 1310736 + ($80 + -5 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + $j$075; - HEAP32[$labelInfo + 1310736 + ($80 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $96 = HEAP16[$pnt2$367 + -2 >> 1] | 0; - if ($96 << 16 >> 16 <= 0) { - HEAP16[$pnt2$367 >> 1] = $49; - $136 = $50 * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$264; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$075; - $150 = $labelInfo + 1310736 + ($136 + -4 << 2) | 0; - if ((HEAP32[$150 >> 2] | 0) > ($i$264 | 0)) HEAP32[$150 >> 2] = $i$264; - HEAP32[$labelInfo + 1310736 + ($136 + -1 << 2) >> 2] = $j$075; - $wk_max$2 = $wk_max$159; - break; - } - $101 = HEAP32[$labelInfo + 1179664 + ($50 + -1 << 2) >> 2] | 0; - $104 = HEAP32[$labelInfo + 1179664 + (($96 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($101 | 0) > ($104 | 0)) { - HEAP16[$pnt2$367 >> 1] = $104; - if (($wk_max$159 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($101 | 0)) HEAP32[$wk$249 >> 2] = $104; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$159 | 0)) { - $121 = $104; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $121 = $104; - } else { - HEAP16[$pnt2$367 >> 1] = $101; - if (($101 | 0) < ($104 | 0) & ($wk_max$159 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($104 | 0)) HEAP32[$wk$346 >> 2] = $101; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$159 | 0)) { - $121 = $101; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $121 = $101; - } - $123 = ($121 << 16 >> 16) * 7 | 0; - $125 = $labelInfo + 1310736 + ($123 + -7 << 2) | 0; - HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; - $129 = $labelInfo + 1310736 + ($123 + -6 << 2) | 0; - HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $i$264; - $133 = $labelInfo + 1310736 + ($123 + -5 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $j$075; - $wk_max$2 = $wk_max$159; - } while (0); - $i$264 = $i$264 + 1 | 0; - $215 = $pnt$168 + 1 | 0; - $216 = $pnt2$367 + 2 | 0; - $217 = $dpnt$166 + 1 | 0; - if (($i$264 | 0) >= ($9 | 0)) { - $dpnt$1$lcssa = $217; - $pnt$1$lcssa = $215; - $pnt2$3$lcssa = $216; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $dpnt$166 = $217; - $pnt$168 = $215; - $pnt2$367 = $216; - $wk_max$159 = $wk_max$2; - } - } - } else { - $dpnt$1$lcssa = $dpnt$077; - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$278; - $wk_max$1$lcssa = $wk_max$074; - } - $j$075 = $j$075 + 1 | 0; - if (($j$075 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $dpnt$077 = $dpnt$1$lcssa + 2 | 0; - $pnt$079 = $pnt$1$lcssa + 2 | 0; - $pnt2$278 = $pnt2$3$lcssa + 4 | 0; - $wk_max$074 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $224 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $226 = HEAP32[$wk$443 >> 2] | 0; - if (($226 | 0) == ($i$341 | 0)) { - $232 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $232 = HEAP32[$labelInfo + 1179664 + ($226 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $232; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $236 = $labelInfo + 8 | 0; - $237 = $j$1$lcssa + -1 | 0; - HEAP32[$236 >> 2] = $237; - if (!$237) $$0 = 0; else { - _memset($224 | 0, 0, $237 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $237 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $244 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($244 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($244 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($244 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($244 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$236 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $258 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $259 = $i$537 * 7 | 0; - $262 = $labelInfo + 12 + ($258 << 2) | 0; - HEAP32[$262 >> 2] = (HEAP32[$262 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($259 << 2) >> 2] | 0); - $269 = $258 << 1; - $270 = $labelInfo + 655376 + ($269 << 3) | 0; - HEAPF64[$270 >> 3] = +HEAPF64[$270 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 1 << 2) >> 2] | 0); - $278 = $labelInfo + 655376 + (($269 | 1) << 3) | 0; - HEAPF64[$278 >> 3] = +HEAPF64[$278 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 2 << 2) >> 2] | 0); - $281 = $258 << 2; - $282 = $labelInfo + 131084 + ($281 << 2) | 0; - $286 = HEAP32[$labelInfo + 1310736 + ($259 + 3 << 2) >> 2] | 0; - if ((HEAP32[$282 >> 2] | 0) > ($286 | 0)) HEAP32[$282 >> 2] = $286; - $289 = $labelInfo + 131084 + (($281 | 1) << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($259 + 4 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) < ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($281 | 2) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($259 + 5 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($281 | 3) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($259 + 6 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$236 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $311 = $labelInfo + 12 + ($i$636 << 2) | 0; - $314 = $i$636 << 1; - $315 = $labelInfo + 655376 + ($314 << 3) | 0; - HEAPF64[$315 >> 3] = +HEAPF64[$315 >> 3] / +(HEAP32[$311 >> 2] | 0); - $321 = $labelInfo + 655376 + (($314 | 1) << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$311 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$236 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWZ($image, $xsize, $ysize, $image_thresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $image_thresh = $image_thresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $119 = 0, $121 = 0, $123 = 0, $127 = 0, $131 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $148 = 0, $153 = 0, $155 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $173 = 0, $176 = 0, $178 = 0, $18 = 0, $182 = 0, $186 = 0, $190 = 0, $193 = 0, $198 = 0, $213 = 0, $214 = 0, $215 = 0, $222 = 0, $224 = 0, $23 = 0, $230 = 0, $234 = 0, $235 = 0, $242 = 0, $256 = 0, $257 = 0, $260 = 0, $267 = 0, $268 = 0, $276 = 0, $279 = 0, $28 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $309 = 0, $31 = 0, $312 = 0, $313 = 0, $319 = 0, $33 = 0, $37 = 0, $41 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $56 = 0, $59 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $9 = 0, $94 = 0, $99 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$088 = 0, $pnt2$182 = 0, $pnt2$274 = 0, $pnt2$3$lcssa = 0, $pnt2$359 = 0, $pnt_thresh$078 = 0, $pnt_thresh$1$lcssa = 0, $pnt_thresh$167 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$089 = 0; - $pnt1$090 = $0; - $pnt2$088 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$088 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$088 = $pnt2$088 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$183 = 0; - $pnt1$184 = $0; - $pnt2$182 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$182 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$182 = $pnt2$182 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$076 = 1; - $pnt$079 = $image + $17 | 0; - $pnt2$274 = $0 + ($17 << 1) | 0; - $pnt_thresh$078 = $image_thresh + $17 | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($23) { - $i$265 = 1; - $pnt$168 = $pnt$079; - $pnt2$359 = $pnt2$274; - $pnt_thresh$167 = $pnt_thresh$078; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0) > (HEAPU8[$pnt_thresh$167 >> 0] | 0)) { - $28 = HEAP16[$pnt2$359 + ($18 << 1) >> 1] | 0; - if ($28 << 16 >> 16 > 0) { - HEAP16[$pnt2$359 >> 1] = $28; - $31 = ($28 << 16 >> 16) * 7 | 0; - $33 = $labelInfo + 1310736 + ($31 + -7 << 2) | 0; - HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; - $37 = $labelInfo + 1310736 + ($31 + -6 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + $i$265; - $41 = $labelInfo + 1310736 + ($31 + -5 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($31 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $47 = HEAP16[$pnt2$359 + ($$sum << 1) >> 1] | 0; - $48 = $47 << 16 >> 16; - $51 = HEAP16[$pnt2$359 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $53 = $51 << 16 >> 16 > 0; - if ($47 << 16 >> 16 <= 0) { - if ($53) { - HEAP16[$pnt2$359 >> 1] = $51; - $153 = $52 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$265; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$076; - $167 = $labelInfo + 1310736 + ($153 + -3 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) < ($i$265 | 0)) HEAP32[$167 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $173 = HEAP16[$pnt2$359 + -2 >> 1] | 0; - if ($173 << 16 >> 16 > 0) { - HEAP16[$pnt2$359 >> 1] = $173; - $176 = ($173 << 16 >> 16) * 7 | 0; - $178 = $labelInfo + 1310736 + ($176 + -7 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + 1; - $182 = $labelInfo + 1310736 + ($176 + -6 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $i$265; - $186 = $labelInfo + 1310736 + ($176 + -5 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $j$076; - $190 = $labelInfo + 1310736 + ($176 + -3 << 2) | 0; - if ((HEAP32[$190 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$190 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $193 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$359 >> 1] = $193; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $193 << 16 >> 16; - $198 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($198 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($198 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($198 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($198 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $193; - break; - } - } - if ($53) { - $56 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $59 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - if (($56 | 0) > ($59 | 0)) { - HEAP16[$pnt2$359 >> 1] = $59; - if (($wk_max$160 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($56 | 0)) HEAP32[$wk$056 >> 2] = $59; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$160 | 0)) { - $76 = $59; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $76 = $59; - } else { - HEAP16[$pnt2$359 >> 1] = $56; - if (($56 | 0) < ($59 | 0) & ($wk_max$160 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$153 >> 2] = $56; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$160 | 0)) { - $76 = $56; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $76 = $56; - } - $78 = ($76 << 16 >> 16) * 7 | 0; - $80 = $labelInfo + 1310736 + ($78 + -7 << 2) | 0; - HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; - $84 = $labelInfo + 1310736 + ($78 + -6 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $i$265; - $88 = $labelInfo + 1310736 + ($78 + -5 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($78 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $94 = HEAP16[$pnt2$359 + -2 >> 1] | 0; - if ($94 << 16 >> 16 <= 0) { - HEAP16[$pnt2$359 >> 1] = $47; - $134 = $48 * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$265; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$076; - $148 = $labelInfo + 1310736 + ($134 + -4 << 2) | 0; - if ((HEAP32[$148 >> 2] | 0) > ($i$265 | 0)) HEAP32[$148 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($134 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $99 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $102 = HEAP32[$labelInfo + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($99 | 0) > ($102 | 0)) { - HEAP16[$pnt2$359 >> 1] = $102; - if (($wk_max$160 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($99 | 0)) HEAP32[$wk$249 >> 2] = $102; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$160 | 0)) { - $119 = $102; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $119 = $102; - } else { - HEAP16[$pnt2$359 >> 1] = $99; - if (($99 | 0) < ($102 | 0) & ($wk_max$160 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$346 >> 2] = $99; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$160 | 0)) { - $119 = $99; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $119 = $99; - } - $121 = ($119 << 16 >> 16) * 7 | 0; - $123 = $labelInfo + 1310736 + ($121 + -7 << 2) | 0; - HEAP32[$123 >> 2] = (HEAP32[$123 >> 2] | 0) + 1; - $127 = $labelInfo + 1310736 + ($121 + -6 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + $i$265; - $131 = $labelInfo + 1310736 + ($121 + -5 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } else { - HEAP16[$pnt2$359 >> 1] = 0; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $213 = $pnt$168 + 1 | 0; - $214 = $pnt_thresh$167 + 1 | 0; - $215 = $pnt2$359 + 2 | 0; - if (($i$265 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $213; - $pnt2$3$lcssa = $215; - $pnt_thresh$1$lcssa = $214; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$168 = $213; - $pnt2$359 = $215; - $pnt_thresh$167 = $214; - $wk_max$160 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$274; - $pnt_thresh$1$lcssa = $pnt_thresh$078; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$079 = $pnt$1$lcssa + 2 | 0; - $pnt2$274 = $pnt2$3$lcssa + 4 | 0; - $pnt_thresh$078 = $pnt_thresh$1$lcssa + 2 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $222 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $224 = HEAP32[$wk$443 >> 2] | 0; - if (($224 | 0) == ($i$341 | 0)) { - $230 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $230 = HEAP32[$labelInfo + 1179664 + ($224 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $230; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $234 = $labelInfo + 8 | 0; - $235 = $j$1$lcssa + -1 | 0; - HEAP32[$234 >> 2] = $235; - if (!$235) $$0 = 0; else { - _memset($222 | 0, 0, $235 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $235 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $242 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($242 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($242 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($242 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($242 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$234 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $256 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $257 = $i$537 * 7 | 0; - $260 = $labelInfo + 12 + ($256 << 2) | 0; - HEAP32[$260 >> 2] = (HEAP32[$260 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($257 << 2) >> 2] | 0); - $267 = $256 << 1; - $268 = $labelInfo + 655376 + ($267 << 3) | 0; - HEAPF64[$268 >> 3] = +HEAPF64[$268 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($257 + 1 << 2) >> 2] | 0); - $276 = $labelInfo + 655376 + (($267 | 1) << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($257 + 2 << 2) >> 2] | 0); - $279 = $256 << 2; - $280 = $labelInfo + 131084 + ($279 << 2) | 0; - $284 = HEAP32[$labelInfo + 1310736 + ($257 + 3 << 2) >> 2] | 0; - if ((HEAP32[$280 >> 2] | 0) > ($284 | 0)) HEAP32[$280 >> 2] = $284; - $287 = $labelInfo + 131084 + (($279 | 1) << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($257 + 4 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) < ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($279 | 2) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($257 + 5 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($279 | 3) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($257 + 6 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$234 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $309 = $labelInfo + 12 + ($i$636 << 2) | 0; - $312 = $i$636 << 1; - $313 = $labelInfo + 655376 + ($312 << 3) | 0; - HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / +(HEAP32[$309 >> 2] | 0); - $319 = $labelInfo + 655376 + (($312 | 1) << 3) | 0; - HEAPF64[$319 >> 3] = +HEAPF64[$319 >> 3] / +(HEAP32[$309 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$234 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBZ($image, $xsize, $ysize, $image_thresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $image_thresh = $image_thresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $119 = 0, $121 = 0, $123 = 0, $127 = 0, $131 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $148 = 0, $153 = 0, $155 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $173 = 0, $176 = 0, $178 = 0, $18 = 0, $182 = 0, $186 = 0, $190 = 0, $193 = 0, $198 = 0, $213 = 0, $214 = 0, $215 = 0, $222 = 0, $224 = 0, $23 = 0, $230 = 0, $234 = 0, $235 = 0, $242 = 0, $256 = 0, $257 = 0, $260 = 0, $267 = 0, $268 = 0, $276 = 0, $279 = 0, $28 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $309 = 0, $31 = 0, $312 = 0, $313 = 0, $319 = 0, $33 = 0, $37 = 0, $41 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $56 = 0, $59 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $9 = 0, $94 = 0, $99 = 0, $i$089 = 0, $i$183 = 0, $i$265 = 0, $i$341 = 0, $i$439 = 0, $i$537 = 0, $i$636 = 0, $j$076 = 0, $j$1$lcssa = 0, $j$142 = 0, $j$2 = 0, $k$055 = 0, $k$152 = 0, $k$248 = 0, $k$345 = 0, $pnt$079 = 0, $pnt$1$lcssa = 0, $pnt$168 = 0, $pnt1$090 = 0, $pnt1$184 = 0, $pnt2$088 = 0, $pnt2$182 = 0, $pnt2$274 = 0, $pnt2$3$lcssa = 0, $pnt2$359 = 0, $pnt_thresh$078 = 0, $pnt_thresh$1$lcssa = 0, $pnt_thresh$167 = 0, $vararg_buffer = 0, $wk$056 = 0, $wk$153 = 0, $wk$249 = 0, $wk$346 = 0, $wk$443 = 0, $wk_max$0$lcssa = 0, $wk_max$075 = 0, $wk_max$1$lcssa = 0, $wk_max$160 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$089 = 0; - $pnt1$090 = $0; - $pnt2$088 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$088 >> 1] = 0; - HEAP16[$pnt1$090 >> 1] = 0; - $i$089 = $i$089 + 1 | 0; - if (($i$089 | 0) >= ($xsize | 0)) break; else { - $pnt1$090 = $pnt1$090 + 2 | 0; - $pnt2$088 = $pnt2$088 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$183 = 0; - $pnt1$184 = $0; - $pnt2$182 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$182 >> 1] = 0; - HEAP16[$pnt1$184 >> 1] = 0; - $i$183 = $i$183 + 1 | 0; - if (($i$183 | 0) >= ($ysize | 0)) break; else { - $pnt1$184 = $pnt1$184 + ($xsize << 1) | 0; - $pnt2$182 = $pnt2$182 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$076 = 1; - $pnt$079 = $image + $17 | 0; - $pnt2$274 = $0 + ($17 << 1) | 0; - $pnt_thresh$078 = $image_thresh + $17 | 0; - $wk_max$075 = 0; - L13 : while (1) { - if ($23) { - $i$265 = 1; - $pnt$168 = $pnt$079; - $pnt2$359 = $pnt2$274; - $pnt_thresh$167 = $pnt_thresh$078; - $wk_max$160 = $wk_max$075; - while (1) { - do if ((HEAPU8[$pnt$168 >> 0] | 0) > (HEAPU8[$pnt_thresh$167 >> 0] | 0)) { - HEAP16[$pnt2$359 >> 1] = 0; - $wk_max$2 = $wk_max$160; - } else { - $28 = HEAP16[$pnt2$359 + ($18 << 1) >> 1] | 0; - if ($28 << 16 >> 16 > 0) { - HEAP16[$pnt2$359 >> 1] = $28; - $31 = ($28 << 16 >> 16) * 7 | 0; - $33 = $labelInfo + 1310736 + ($31 + -7 << 2) | 0; - HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; - $37 = $labelInfo + 1310736 + ($31 + -6 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + $i$265; - $41 = $labelInfo + 1310736 + ($31 + -5 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($31 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $47 = HEAP16[$pnt2$359 + ($$sum << 1) >> 1] | 0; - $48 = $47 << 16 >> 16; - $51 = HEAP16[$pnt2$359 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $53 = $51 << 16 >> 16 > 0; - if ($47 << 16 >> 16 <= 0) { - if ($53) { - HEAP16[$pnt2$359 >> 1] = $51; - $153 = $52 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$265; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$076; - $167 = $labelInfo + 1310736 + ($153 + -3 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) < ($i$265 | 0)) HEAP32[$167 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $173 = HEAP16[$pnt2$359 + -2 >> 1] | 0; - if ($173 << 16 >> 16 > 0) { - HEAP16[$pnt2$359 >> 1] = $173; - $176 = ($173 << 16 >> 16) * 7 | 0; - $178 = $labelInfo + 1310736 + ($176 + -7 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + 1; - $182 = $labelInfo + 1310736 + ($176 + -6 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $i$265; - $186 = $labelInfo + 1310736 + ($176 + -5 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $j$076; - $190 = $labelInfo + 1310736 + ($176 + -3 << 2) | 0; - if ((HEAP32[$190 >> 2] | 0) >= ($i$265 | 0)) { - $wk_max$2 = $wk_max$160; - break; - } - HEAP32[$190 >> 2] = $i$265; - $wk_max$2 = $wk_max$160; - break; - } else { - $193 = $wk_max$160 + 1 | 0; - if (($wk_max$160 | 0) > 32767) break L13; - HEAP16[$pnt2$359 >> 1] = $193; - HEAP32[$labelInfo + 1179664 + ($wk_max$160 << 2) >> 2] = $193 << 16 >> 16; - $198 = $wk_max$160 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($198 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($198 + 1 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 2 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($198 + 3 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 4 << 2) >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($198 + 5 << 2) >> 2] = $j$076; - HEAP32[$labelInfo + 1310736 + ($198 + 6 << 2) >> 2] = $j$076; - $wk_max$2 = $193; - break; - } - } - if ($53) { - $56 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $59 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - if (($56 | 0) > ($59 | 0)) { - HEAP16[$pnt2$359 >> 1] = $59; - if (($wk_max$160 | 0) > 0) { - $k$055 = 0; - $wk$056 = $16; - while (1) { - if ((HEAP32[$wk$056 >> 2] | 0) == ($56 | 0)) HEAP32[$wk$056 >> 2] = $59; - $k$055 = $k$055 + 1 | 0; - if (($k$055 | 0) >= ($wk_max$160 | 0)) { - $76 = $59; - break; - } else $wk$056 = $wk$056 + 4 | 0; - } - } else $76 = $59; - } else { - HEAP16[$pnt2$359 >> 1] = $56; - if (($56 | 0) < ($59 | 0) & ($wk_max$160 | 0) > 0) { - $k$152 = 0; - $wk$153 = $16; - while (1) { - if ((HEAP32[$wk$153 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$153 >> 2] = $56; - $k$152 = $k$152 + 1 | 0; - if (($k$152 | 0) >= ($wk_max$160 | 0)) { - $76 = $56; - break; - } else $wk$153 = $wk$153 + 4 | 0; - } - } else $76 = $56; - } - $78 = ($76 << 16 >> 16) * 7 | 0; - $80 = $labelInfo + 1310736 + ($78 + -7 << 2) | 0; - HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; - $84 = $labelInfo + 1310736 + ($78 + -6 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $i$265; - $88 = $labelInfo + 1310736 + ($78 + -5 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $j$076; - HEAP32[$labelInfo + 1310736 + ($78 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $94 = HEAP16[$pnt2$359 + -2 >> 1] | 0; - if ($94 << 16 >> 16 <= 0) { - HEAP16[$pnt2$359 >> 1] = $47; - $134 = $48 * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$265; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$076; - $148 = $labelInfo + 1310736 + ($134 + -4 << 2) | 0; - if ((HEAP32[$148 >> 2] | 0) > ($i$265 | 0)) HEAP32[$148 >> 2] = $i$265; - HEAP32[$labelInfo + 1310736 + ($134 + -1 << 2) >> 2] = $j$076; - $wk_max$2 = $wk_max$160; - break; - } - $99 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $102 = HEAP32[$labelInfo + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($99 | 0) > ($102 | 0)) { - HEAP16[$pnt2$359 >> 1] = $102; - if (($wk_max$160 | 0) > 0) { - $k$248 = 0; - $wk$249 = $16; - while (1) { - if ((HEAP32[$wk$249 >> 2] | 0) == ($99 | 0)) HEAP32[$wk$249 >> 2] = $102; - $k$248 = $k$248 + 1 | 0; - if (($k$248 | 0) >= ($wk_max$160 | 0)) { - $119 = $102; - break; - } else $wk$249 = $wk$249 + 4 | 0; - } - } else $119 = $102; - } else { - HEAP16[$pnt2$359 >> 1] = $99; - if (($99 | 0) < ($102 | 0) & ($wk_max$160 | 0) > 0) { - $k$345 = 0; - $wk$346 = $16; - while (1) { - if ((HEAP32[$wk$346 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$346 >> 2] = $99; - $k$345 = $k$345 + 1 | 0; - if (($k$345 | 0) >= ($wk_max$160 | 0)) { - $119 = $99; - break; - } else $wk$346 = $wk$346 + 4 | 0; - } - } else $119 = $99; - } - $121 = ($119 << 16 >> 16) * 7 | 0; - $123 = $labelInfo + 1310736 + ($121 + -7 << 2) | 0; - HEAP32[$123 >> 2] = (HEAP32[$123 >> 2] | 0) + 1; - $127 = $labelInfo + 1310736 + ($121 + -6 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + $i$265; - $131 = $labelInfo + 1310736 + ($121 + -5 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $j$076; - $wk_max$2 = $wk_max$160; - } while (0); - $i$265 = $i$265 + 1 | 0; - $213 = $pnt$168 + 1 | 0; - $214 = $pnt_thresh$167 + 1 | 0; - $215 = $pnt2$359 + 2 | 0; - if (($i$265 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $213; - $pnt2$3$lcssa = $215; - $pnt_thresh$1$lcssa = $214; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$168 = $213; - $pnt2$359 = $215; - $pnt_thresh$167 = $214; - $wk_max$160 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$079; - $pnt2$3$lcssa = $pnt2$274; - $pnt_thresh$1$lcssa = $pnt_thresh$078; - $wk_max$1$lcssa = $wk_max$075; - } - $j$076 = $j$076 + 1 | 0; - if (($j$076 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$079 = $pnt$1$lcssa + 2 | 0; - $pnt2$274 = $pnt2$3$lcssa + 4 | 0; - $pnt_thresh$078 = $pnt_thresh$1$lcssa + 2 | 0; - $wk_max$075 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $222 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$341 = 1; - $j$142 = 1; - $wk$443 = $16; - while (1) { - $224 = HEAP32[$wk$443 >> 2] | 0; - if (($224 | 0) == ($i$341 | 0)) { - $230 = $j$142; - $j$2 = $j$142 + 1 | 0; - } else { - $230 = HEAP32[$labelInfo + 1179664 + ($224 + -1 << 2) >> 2] | 0; - $j$2 = $j$142; - } - HEAP32[$wk$443 >> 2] = $230; - if (($i$341 | 0) < ($wk_max$0$lcssa | 0)) { - $i$341 = $i$341 + 1 | 0; - $j$142 = $j$2; - $wk$443 = $wk$443 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $234 = $labelInfo + 8 | 0; - $235 = $j$1$lcssa + -1 | 0; - HEAP32[$234 >> 2] = $235; - if (!$235) $$0 = 0; else { - _memset($222 | 0, 0, $235 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $235 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$439 = 0; - do { - $242 = $i$439 << 2; - HEAP32[$labelInfo + 131084 + ($242 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($242 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($242 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($242 | 3) << 2) >> 2] = 0; - $i$439 = $i$439 + 1 | 0; - } while (($i$439 | 0) < (HEAP32[$234 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$537 = 0; - do { - $256 = (HEAP32[$labelInfo + 1179664 + ($i$537 << 2) >> 2] | 0) + -1 | 0; - $257 = $i$537 * 7 | 0; - $260 = $labelInfo + 12 + ($256 << 2) | 0; - HEAP32[$260 >> 2] = (HEAP32[$260 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($257 << 2) >> 2] | 0); - $267 = $256 << 1; - $268 = $labelInfo + 655376 + ($267 << 3) | 0; - HEAPF64[$268 >> 3] = +HEAPF64[$268 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($257 + 1 << 2) >> 2] | 0); - $276 = $labelInfo + 655376 + (($267 | 1) << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($257 + 2 << 2) >> 2] | 0); - $279 = $256 << 2; - $280 = $labelInfo + 131084 + ($279 << 2) | 0; - $284 = HEAP32[$labelInfo + 1310736 + ($257 + 3 << 2) >> 2] | 0; - if ((HEAP32[$280 >> 2] | 0) > ($284 | 0)) HEAP32[$280 >> 2] = $284; - $287 = $labelInfo + 131084 + (($279 | 1) << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($257 + 4 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) < ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($279 | 2) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($257 + 5 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($279 | 3) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($257 + 6 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; - $i$537 = $i$537 + 1 | 0; - } while (($i$537 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$234 >> 2] | 0) > 0) { - $i$636 = 0; - do { - $309 = $labelInfo + 12 + ($i$636 << 2) | 0; - $312 = $i$636 << 1; - $313 = $labelInfo + 655376 + ($312 << 3) | 0; - HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / +(HEAP32[$309 >> 2] | 0); - $319 = $labelInfo + 655376 + (($312 | 1) << 3) | 0; - HEAPF64[$319 >> 3] = +HEAPF64[$319 >> 3] / +(HEAP32[$309 >> 2] | 0); - $i$636 = $i$636 + 1 | 0; - } while (($i$636 | 0) < (HEAP32[$234 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $107 = 0, $11 = 0, $113 = 0, $118 = 0, $12 = 0, $121 = 0, $138 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $153 = 0, $155 = 0, $159 = 0, $163 = 0, $167 = 0, $172 = 0, $174 = 0, $178 = 0, $182 = 0, $186 = 0, $19 = 0, $192 = 0, $195 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $209 = 0, $21 = 0, $212 = 0, $217 = 0, $232 = 0, $233 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $28 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $30 = 0, $301 = 0, $304 = 0, $308 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $36 = 0, $47 = 0, $50 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $70 = 0, $71 = 0, $72 = 0, $75 = 0, $78 = 0, $95 = 0, $97 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - $36 = HEAPU8[$pnt$164 + 1 >> 0] | 0; - do if ((($30 & 248) + 12 + ($30 << 5 & 224) + ($36 >>> 3 & 24) + ($36 << 2 & 248) | 0) > ($11 | 0)) { - $47 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($47 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $47; - $50 = ($47 << 16 >> 16) * 7 | 0; - $52 = $labelInfo + 1310736 + ($50 + -7 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + 1; - $56 = $labelInfo + 1310736 + ($50 + -6 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $i$256; - $60 = $labelInfo + 1310736 + ($50 + -5 << 2) | 0; - HEAP32[$60 >> 2] = (HEAP32[$60 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($50 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $66 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $70 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $71 = $70 << 16 >> 16; - $72 = $70 << 16 >> 16 > 0; - if ($66 << 16 >> 16 <= 0) { - if ($72) { - HEAP16[$pnt2$363 >> 1] = $70; - $172 = $71 * 7 | 0; - $174 = $labelInfo + 1310736 + ($172 + -7 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + 1; - $178 = $labelInfo + 1310736 + ($172 + -6 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $i$256; - $182 = $labelInfo + 1310736 + ($172 + -5 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $j$069; - $186 = $labelInfo + 1310736 + ($172 + -3 << 2) | 0; - if ((HEAP32[$186 >> 2] | 0) < ($i$256 | 0)) HEAP32[$186 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($172 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $192 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($192 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $192; - $195 = ($192 << 16 >> 16) * 7 | 0; - $197 = $labelInfo + 1310736 + ($195 + -7 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + 1; - $201 = $labelInfo + 1310736 + ($195 + -6 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $i$256; - $205 = $labelInfo + 1310736 + ($195 + -5 << 2) | 0; - HEAP32[$205 >> 2] = (HEAP32[$205 >> 2] | 0) + $j$069; - $209 = $labelInfo + 1310736 + ($195 + -3 << 2) | 0; - if ((HEAP32[$209 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$209 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $212 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $212; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $212 << 16 >> 16; - $217 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($217 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($217 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $212; - break; - } - } - if ($72) { - $75 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $78 = HEAP32[$labelInfo + 1179664 + ($71 + -1 << 2) >> 2] | 0; - if (($75 | 0) > ($78 | 0)) { - HEAP16[$pnt2$363 >> 1] = $78; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$053 >> 2] = $78; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $95 = $78; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $95 = $78; - } else { - HEAP16[$pnt2$363 >> 1] = $75; - if (($75 | 0) < ($78 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$150 >> 2] = $75; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $95 = $75; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $95 = $75; - } - $97 = ($95 << 16 >> 16) * 7 | 0; - $99 = $labelInfo + 1310736 + ($97 + -7 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + 1; - $103 = $labelInfo + 1310736 + ($97 + -6 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $i$256; - $107 = $labelInfo + 1310736 + ($97 + -5 << 2) | 0; - HEAP32[$107 >> 2] = (HEAP32[$107 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($97 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($113 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $66; - $153 = $67 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$256; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$069; - $167 = $labelInfo + 1310736 + ($153 + -4 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) > ($i$256 | 0)) HEAP32[$167 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $118 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $121 = HEAP32[$labelInfo + 1179664 + (($113 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($118 | 0) > ($121 | 0)) { - HEAP16[$pnt2$363 >> 1] = $121; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$246 >> 2] = $121; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $138 = $121; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $138 = $121; - } else { - HEAP16[$pnt2$363 >> 1] = $118; - if (($118 | 0) < ($121 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$343 >> 2] = $118; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $138 = $118; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $138 = $118; - } - $140 = ($138 << 16 >> 16) * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$256; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $232 = $pnt$164 + 4 | 0; - $233 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $232; - $pnt2$3$lcssa = $233; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $232; - $pnt2$363 = $233; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $241 = HEAP32[$wk$440 >> 2] | 0; - if (($241 | 0) == ($i$338 | 0)) { - $247 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $247; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $259 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$534 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $326 = $labelInfo + 12 + ($i$633 << 2) | 0; - $329 = $i$633 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBI3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $107 = 0, $11 = 0, $113 = 0, $118 = 0, $12 = 0, $121 = 0, $138 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $153 = 0, $155 = 0, $159 = 0, $163 = 0, $167 = 0, $172 = 0, $174 = 0, $178 = 0, $182 = 0, $186 = 0, $19 = 0, $192 = 0, $195 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $209 = 0, $21 = 0, $212 = 0, $217 = 0, $232 = 0, $233 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $28 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $30 = 0, $301 = 0, $304 = 0, $308 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $36 = 0, $47 = 0, $50 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $70 = 0, $71 = 0, $72 = 0, $75 = 0, $78 = 0, $95 = 0, $97 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - $36 = HEAPU8[$pnt$164 + 1 >> 0] | 0; - do if ((($30 & 248) + 12 + ($30 << 5 & 224) + ($36 >>> 3 & 24) + ($36 << 2 & 248) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $47 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($47 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $47; - $50 = ($47 << 16 >> 16) * 7 | 0; - $52 = $labelInfo + 1310736 + ($50 + -7 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + 1; - $56 = $labelInfo + 1310736 + ($50 + -6 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $i$256; - $60 = $labelInfo + 1310736 + ($50 + -5 << 2) | 0; - HEAP32[$60 >> 2] = (HEAP32[$60 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($50 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $66 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $70 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $71 = $70 << 16 >> 16; - $72 = $70 << 16 >> 16 > 0; - if ($66 << 16 >> 16 <= 0) { - if ($72) { - HEAP16[$pnt2$363 >> 1] = $70; - $172 = $71 * 7 | 0; - $174 = $labelInfo + 1310736 + ($172 + -7 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + 1; - $178 = $labelInfo + 1310736 + ($172 + -6 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $i$256; - $182 = $labelInfo + 1310736 + ($172 + -5 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $j$069; - $186 = $labelInfo + 1310736 + ($172 + -3 << 2) | 0; - if ((HEAP32[$186 >> 2] | 0) < ($i$256 | 0)) HEAP32[$186 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($172 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $192 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($192 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $192; - $195 = ($192 << 16 >> 16) * 7 | 0; - $197 = $labelInfo + 1310736 + ($195 + -7 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + 1; - $201 = $labelInfo + 1310736 + ($195 + -6 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $i$256; - $205 = $labelInfo + 1310736 + ($195 + -5 << 2) | 0; - HEAP32[$205 >> 2] = (HEAP32[$205 >> 2] | 0) + $j$069; - $209 = $labelInfo + 1310736 + ($195 + -3 << 2) | 0; - if ((HEAP32[$209 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$209 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $212 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $212; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $212 << 16 >> 16; - $217 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($217 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($217 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $212; - break; - } - } - if ($72) { - $75 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $78 = HEAP32[$labelInfo + 1179664 + ($71 + -1 << 2) >> 2] | 0; - if (($75 | 0) > ($78 | 0)) { - HEAP16[$pnt2$363 >> 1] = $78; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$053 >> 2] = $78; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $95 = $78; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $95 = $78; - } else { - HEAP16[$pnt2$363 >> 1] = $75; - if (($75 | 0) < ($78 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$150 >> 2] = $75; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $95 = $75; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $95 = $75; - } - $97 = ($95 << 16 >> 16) * 7 | 0; - $99 = $labelInfo + 1310736 + ($97 + -7 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + 1; - $103 = $labelInfo + 1310736 + ($97 + -6 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $i$256; - $107 = $labelInfo + 1310736 + ($97 + -5 << 2) | 0; - HEAP32[$107 >> 2] = (HEAP32[$107 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($97 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($113 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $66; - $153 = $67 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$256; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$069; - $167 = $labelInfo + 1310736 + ($153 + -4 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) > ($i$256 | 0)) HEAP32[$167 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $118 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $121 = HEAP32[$labelInfo + 1179664 + (($113 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($118 | 0) > ($121 | 0)) { - HEAP16[$pnt2$363 >> 1] = $121; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$246 >> 2] = $121; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $138 = $121; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $138 = $121; - } else { - HEAP16[$pnt2$363 >> 1] = $118; - if (($118 | 0) < ($121 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$343 >> 2] = $118; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $138 = $118; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $138 = $118; - } - $140 = ($138 << 16 >> 16) * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$256; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $232 = $pnt$164 + 4 | 0; - $233 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $232; - $pnt2$3$lcssa = $233; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $232; - $pnt2$363 = $233; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $241 = HEAP32[$wk$440 >> 2] | 0; - if (($241 | 0) == ($i$338 | 0)) { - $247 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $247; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $259 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$534 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $326 = $labelInfo + 12 + ($i$633 << 2) | 0; - $329 = $i$633 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $107 = 0, $11 = 0, $113 = 0, $118 = 0, $12 = 0, $121 = 0, $138 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $153 = 0, $155 = 0, $159 = 0, $163 = 0, $167 = 0, $172 = 0, $174 = 0, $178 = 0, $182 = 0, $186 = 0, $19 = 0, $192 = 0, $195 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $209 = 0, $21 = 0, $212 = 0, $217 = 0, $232 = 0, $233 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $28 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $30 = 0, $301 = 0, $304 = 0, $308 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $36 = 0, $47 = 0, $50 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $70 = 0, $71 = 0, $72 = 0, $75 = 0, $78 = 0, $95 = 0, $97 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - $36 = HEAPU8[$pnt$164 + 1 >> 0] | 0; - do if ((($30 & 248) + 10 + ($30 << 5 & 224) + ($36 >>> 3 & 28) + ($36 << 3 & 248) | 0) > ($11 | 0)) { - $47 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($47 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $47; - $50 = ($47 << 16 >> 16) * 7 | 0; - $52 = $labelInfo + 1310736 + ($50 + -7 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + 1; - $56 = $labelInfo + 1310736 + ($50 + -6 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $i$256; - $60 = $labelInfo + 1310736 + ($50 + -5 << 2) | 0; - HEAP32[$60 >> 2] = (HEAP32[$60 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($50 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $66 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $70 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $71 = $70 << 16 >> 16; - $72 = $70 << 16 >> 16 > 0; - if ($66 << 16 >> 16 <= 0) { - if ($72) { - HEAP16[$pnt2$363 >> 1] = $70; - $172 = $71 * 7 | 0; - $174 = $labelInfo + 1310736 + ($172 + -7 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + 1; - $178 = $labelInfo + 1310736 + ($172 + -6 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $i$256; - $182 = $labelInfo + 1310736 + ($172 + -5 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $j$069; - $186 = $labelInfo + 1310736 + ($172 + -3 << 2) | 0; - if ((HEAP32[$186 >> 2] | 0) < ($i$256 | 0)) HEAP32[$186 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($172 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $192 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($192 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $192; - $195 = ($192 << 16 >> 16) * 7 | 0; - $197 = $labelInfo + 1310736 + ($195 + -7 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + 1; - $201 = $labelInfo + 1310736 + ($195 + -6 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $i$256; - $205 = $labelInfo + 1310736 + ($195 + -5 << 2) | 0; - HEAP32[$205 >> 2] = (HEAP32[$205 >> 2] | 0) + $j$069; - $209 = $labelInfo + 1310736 + ($195 + -3 << 2) | 0; - if ((HEAP32[$209 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$209 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $212 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $212; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $212 << 16 >> 16; - $217 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($217 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($217 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $212; - break; - } - } - if ($72) { - $75 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $78 = HEAP32[$labelInfo + 1179664 + ($71 + -1 << 2) >> 2] | 0; - if (($75 | 0) > ($78 | 0)) { - HEAP16[$pnt2$363 >> 1] = $78; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$053 >> 2] = $78; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $95 = $78; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $95 = $78; - } else { - HEAP16[$pnt2$363 >> 1] = $75; - if (($75 | 0) < ($78 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$150 >> 2] = $75; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $95 = $75; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $95 = $75; - } - $97 = ($95 << 16 >> 16) * 7 | 0; - $99 = $labelInfo + 1310736 + ($97 + -7 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + 1; - $103 = $labelInfo + 1310736 + ($97 + -6 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $i$256; - $107 = $labelInfo + 1310736 + ($97 + -5 << 2) | 0; - HEAP32[$107 >> 2] = (HEAP32[$107 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($97 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($113 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $66; - $153 = $67 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$256; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$069; - $167 = $labelInfo + 1310736 + ($153 + -4 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) > ($i$256 | 0)) HEAP32[$167 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $118 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $121 = HEAP32[$labelInfo + 1179664 + (($113 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($118 | 0) > ($121 | 0)) { - HEAP16[$pnt2$363 >> 1] = $121; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$246 >> 2] = $121; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $138 = $121; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $138 = $121; - } else { - HEAP16[$pnt2$363 >> 1] = $118; - if (($118 | 0) < ($121 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$343 >> 2] = $118; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $138 = $118; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $138 = $118; - } - $140 = ($138 << 16 >> 16) * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$256; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $232 = $pnt$164 + 4 | 0; - $233 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $232; - $pnt2$3$lcssa = $233; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $232; - $pnt2$363 = $233; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $241 = HEAP32[$wk$440 >> 2] | 0; - if (($241 | 0) == ($i$338 | 0)) { - $247 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $247; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $259 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$534 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $326 = $labelInfo + 12 + ($i$633 << 2) | 0; - $329 = $i$633 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBI3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $107 = 0, $11 = 0, $113 = 0, $118 = 0, $12 = 0, $121 = 0, $138 = 0, $140 = 0, $142 = 0, $146 = 0, $150 = 0, $153 = 0, $155 = 0, $159 = 0, $163 = 0, $167 = 0, $172 = 0, $174 = 0, $178 = 0, $182 = 0, $186 = 0, $19 = 0, $192 = 0, $195 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $209 = 0, $21 = 0, $212 = 0, $217 = 0, $232 = 0, $233 = 0, $239 = 0, $241 = 0, $247 = 0, $251 = 0, $252 = 0, $259 = 0, $273 = 0, $274 = 0, $277 = 0, $28 = 0, $284 = 0, $285 = 0, $293 = 0, $296 = 0, $297 = 0, $3 = 0, $30 = 0, $301 = 0, $304 = 0, $308 = 0, $311 = 0, $315 = 0, $318 = 0, $322 = 0, $326 = 0, $329 = 0, $330 = 0, $336 = 0, $36 = 0, $47 = 0, $50 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $70 = 0, $71 = 0, $72 = 0, $75 = 0, $78 = 0, $95 = 0, $97 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - $36 = HEAPU8[$pnt$164 + 1 >> 0] | 0; - do if ((($30 & 248) + 10 + ($30 << 5 & 224) + ($36 >>> 3 & 28) + ($36 << 3 & 248) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $47 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($47 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $47; - $50 = ($47 << 16 >> 16) * 7 | 0; - $52 = $labelInfo + 1310736 + ($50 + -7 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + 1; - $56 = $labelInfo + 1310736 + ($50 + -6 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $i$256; - $60 = $labelInfo + 1310736 + ($50 + -5 << 2) | 0; - HEAP32[$60 >> 2] = (HEAP32[$60 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($50 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $66 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $70 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $71 = $70 << 16 >> 16; - $72 = $70 << 16 >> 16 > 0; - if ($66 << 16 >> 16 <= 0) { - if ($72) { - HEAP16[$pnt2$363 >> 1] = $70; - $172 = $71 * 7 | 0; - $174 = $labelInfo + 1310736 + ($172 + -7 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + 1; - $178 = $labelInfo + 1310736 + ($172 + -6 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $i$256; - $182 = $labelInfo + 1310736 + ($172 + -5 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $j$069; - $186 = $labelInfo + 1310736 + ($172 + -3 << 2) | 0; - if ((HEAP32[$186 >> 2] | 0) < ($i$256 | 0)) HEAP32[$186 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($172 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $192 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($192 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $192; - $195 = ($192 << 16 >> 16) * 7 | 0; - $197 = $labelInfo + 1310736 + ($195 + -7 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + 1; - $201 = $labelInfo + 1310736 + ($195 + -6 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $i$256; - $205 = $labelInfo + 1310736 + ($195 + -5 << 2) | 0; - HEAP32[$205 >> 2] = (HEAP32[$205 >> 2] | 0) + $j$069; - $209 = $labelInfo + 1310736 + ($195 + -3 << 2) | 0; - if ((HEAP32[$209 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$209 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $212 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $212; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $212 << 16 >> 16; - $217 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($217 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($217 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($217 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($217 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $212; - break; - } - } - if ($72) { - $75 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $78 = HEAP32[$labelInfo + 1179664 + ($71 + -1 << 2) >> 2] | 0; - if (($75 | 0) > ($78 | 0)) { - HEAP16[$pnt2$363 >> 1] = $78; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($75 | 0)) HEAP32[$wk$053 >> 2] = $78; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $95 = $78; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $95 = $78; - } else { - HEAP16[$pnt2$363 >> 1] = $75; - if (($75 | 0) < ($78 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($78 | 0)) HEAP32[$wk$150 >> 2] = $75; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $95 = $75; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $95 = $75; - } - $97 = ($95 << 16 >> 16) * 7 | 0; - $99 = $labelInfo + 1310736 + ($97 + -7 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + 1; - $103 = $labelInfo + 1310736 + ($97 + -6 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $i$256; - $107 = $labelInfo + 1310736 + ($97 + -5 << 2) | 0; - HEAP32[$107 >> 2] = (HEAP32[$107 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($97 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($113 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $66; - $153 = $67 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$256; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$069; - $167 = $labelInfo + 1310736 + ($153 + -4 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) > ($i$256 | 0)) HEAP32[$167 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $118 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - $121 = HEAP32[$labelInfo + 1179664 + (($113 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($118 | 0) > ($121 | 0)) { - HEAP16[$pnt2$363 >> 1] = $121; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($118 | 0)) HEAP32[$wk$246 >> 2] = $121; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $138 = $121; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $138 = $121; - } else { - HEAP16[$pnt2$363 >> 1] = $118; - if (($118 | 0) < ($121 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($121 | 0)) HEAP32[$wk$343 >> 2] = $118; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $138 = $118; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $138 = $118; - } - $140 = ($138 << 16 >> 16) * 7 | 0; - $142 = $labelInfo + 1310736 + ($140 + -7 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1; - $146 = $labelInfo + 1310736 + ($140 + -6 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $i$256; - $150 = $labelInfo + 1310736 + ($140 + -5 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $232 = $pnt$164 + 4 | 0; - $233 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $232; - $pnt2$3$lcssa = $233; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $232; - $pnt2$363 = $233; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $239 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $241 = HEAP32[$wk$440 >> 2] | 0; - if (($241 | 0) == ($i$338 | 0)) { - $247 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $247 = HEAP32[$labelInfo + 1179664 + ($241 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $247; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $251 = $labelInfo + 8 | 0; - $252 = $j$1$lcssa + -1 | 0; - HEAP32[$251 >> 2] = $252; - if (!$252) $$0 = 0; else { - _memset($239 | 0, 0, $252 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $252 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $259 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($259 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($259 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($259 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($259 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$251 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $273 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $274 = $i$534 * 7 | 0; - $277 = $labelInfo + 12 + ($273 << 2) | 0; - HEAP32[$277 >> 2] = (HEAP32[$277 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($274 << 2) >> 2] | 0); - $284 = $273 << 1; - $285 = $labelInfo + 655376 + ($284 << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 1 << 2) >> 2] | 0); - $293 = $labelInfo + 655376 + (($284 | 1) << 3) | 0; - HEAPF64[$293 >> 3] = +HEAPF64[$293 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($274 + 2 << 2) >> 2] | 0); - $296 = $273 << 2; - $297 = $labelInfo + 131084 + ($296 << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($274 + 3 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($296 | 1) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($274 + 4 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $311 = $labelInfo + 131084 + (($296 | 2) << 2) | 0; - $315 = HEAP32[$labelInfo + 1310736 + ($274 + 5 << 2) >> 2] | 0; - if ((HEAP32[$311 >> 2] | 0) > ($315 | 0)) HEAP32[$311 >> 2] = $315; - $318 = $labelInfo + 131084 + (($296 | 3) << 2) | 0; - $322 = HEAP32[$labelInfo + 1310736 + ($274 + 6 << 2) >> 2] | 0; - if ((HEAP32[$318 >> 2] | 0) < ($322 | 0)) HEAP32[$318 >> 2] = $322; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$251 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $326 = $labelInfo + 12 + ($i$633 << 2) | 0; - $329 = $i$633 << 1; - $330 = $labelInfo + 655376 + ($329 << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$326 >> 2] | 0); - $336 = $labelInfo + 655376 + (($329 | 1) << 3) | 0; - HEAPF64[$336 >> 3] = +HEAPF64[$336 >> 3] / +(HEAP32[$326 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$251 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $109 = 0, $11 = 0, $114 = 0, $117 = 0, $12 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $170 = 0, $174 = 0, $178 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $208 = 0, $21 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $269 = 0, $270 = 0, $273 = 0, $28 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $3 = 0, $30 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - do if ((($30 & 240) + 24 + ($30 << 4 & 240) + ((HEAPU8[$pnt$164 + 1 >> 0] | 0) & 240) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $43 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$256; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $62 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$363 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$256; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$069; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$256 | 0)) HEAP32[$182 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $188 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$256; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$069; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$205 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $208 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$363 >> 1] = $74; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$053 >> 2] = $74; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $91 = $74; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$363 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$150 >> 2] = $71; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $91 = $71; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$256; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $109 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$256; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$069; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$256 | 0)) HEAP32[$163 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$363 >> 1] = $117; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$246 >> 2] = $117; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $134 = $117; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$363 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$343 >> 2] = $114; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $134 = $114; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$256; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $228 = $pnt$164 + 4 | 0; - $229 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $228; - $pnt2$363 = $229; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $237 = HEAP32[$wk$440 >> 2] | 0; - if (($237 | 0) == ($i$338 | 0)) { - $243 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $243; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $255 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$534 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $322 = $labelInfo + 12 + ($i$633 << 2) | 0; - $325 = $i$633 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} -function _arLabelingSubDWI3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $109 = 0, $11 = 0, $114 = 0, $117 = 0, $12 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $170 = 0, $174 = 0, $178 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $2 = 0, $201 = 0, $205 = 0, $208 = 0, $21 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $269 = 0, $270 = 0, $273 = 0, $28 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $3 = 0, $30 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $21 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - $30 = HEAPU8[$pnt$164 >> 0] | 0; - do if ((($30 & 240) + 24 + ($30 << 4 & 240) + ((HEAPU8[$pnt$164 + 1 >> 0] | 0) & 240) | 0) > ($11 | 0)) { - $43 = HEAP16[$pnt2$363 + ($21 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$256; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $62 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$363 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$256; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$069; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$256 | 0)) HEAP32[$182 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $188 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$256; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$069; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$205 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $208 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$363 >> 1] = $74; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$053 >> 2] = $74; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $91 = $74; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$363 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$150 >> 2] = $71; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $91 = $71; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$256; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $109 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$256; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$069; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$256 | 0)) HEAP32[$163 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$363 >> 1] = $117; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$246 >> 2] = $117; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $134 = $117; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$363 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$343 >> 2] = $114; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $134 = $114; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$256; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $228 = $pnt$164 + 4 | 0; - $229 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $228; - $pnt2$363 = $229; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $237 = HEAP32[$wk$440 >> 2] | 0; - if (($237 | 0) == ($i$338 | 0)) { - $243 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $243; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $255 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$534 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $322 = $labelInfo + 12 + ($i$633 << 2) | 0; - $325 = $i$633 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $109 = 0, $114 = 0, $117 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $201 = 0, $205 = 0, $208 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $24 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $26 = 0, $269 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $32 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $9 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - $32 = HEAPU8[$pnt$163 + 1 >> 0] | 0; - do if ((($26 & 248) + 12 + ($26 << 5 & 224) + ($32 >>> 3 & 24) + ($32 << 2 & 248) | 0) > ($9 | 0)) { - $43 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$255; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $62 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$362 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$255; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$068; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$255 | 0)) HEAP32[$182 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $188 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$255; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$068; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$205 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $208 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$362 >> 1] = $74; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$052 >> 2] = $74; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $91 = $74; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$362 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$149 >> 2] = $71; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $91 = $71; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$255; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$255; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$068; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$255 | 0)) HEAP32[$163 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$362 >> 1] = $117; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$245 >> 2] = $117; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $134 = $117; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$362 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$342 >> 2] = $114; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $134 = $114; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$255; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $228 = $pnt$163 + 2 | 0; - $229 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $228; - $pnt2$362 = $229; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $237 = HEAP32[$wk$439 >> 2] | 0; - if (($237 | 0) == ($i$337 | 0)) { - $243 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $243; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $255 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$533 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $322 = $labelInfo + 12 + ($i$632 << 2) | 0; - $325 = $i$632 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBR3CA5551($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $109 = 0, $114 = 0, $117 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $201 = 0, $205 = 0, $208 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $24 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $26 = 0, $269 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $32 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $9 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - $32 = HEAPU8[$pnt$163 + 1 >> 0] | 0; - do if ((($26 & 248) + 12 + ($26 << 5 & 224) + ($32 >>> 3 & 24) + ($32 << 2 & 248) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $43 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$255; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $62 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$362 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$255; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$068; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$255 | 0)) HEAP32[$182 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $188 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$255; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$068; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$205 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $208 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$362 >> 1] = $74; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$052 >> 2] = $74; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $91 = $74; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$362 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$149 >> 2] = $71; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $91 = $71; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$255; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$255; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$068; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$255 | 0)) HEAP32[$163 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$362 >> 1] = $117; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$245 >> 2] = $117; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $134 = $117; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$362 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$342 >> 2] = $114; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $134 = $114; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$255; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $228 = $pnt$163 + 2 | 0; - $229 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $228; - $pnt2$362 = $229; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $237 = HEAP32[$wk$439 >> 2] | 0; - if (($237 | 0) == ($i$337 | 0)) { - $243 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $243; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $255 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$533 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $322 = $labelInfo + 12 + ($i$632 << 2) | 0; - $325 = $i$632 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $109 = 0, $114 = 0, $117 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $201 = 0, $205 = 0, $208 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $24 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $26 = 0, $269 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $32 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $9 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - $32 = HEAPU8[$pnt$163 + 1 >> 0] | 0; - do if ((($26 & 248) + 10 + ($26 << 5 & 224) + ($32 >>> 3 & 28) + ($32 << 3 & 248) | 0) > ($9 | 0)) { - $43 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$255; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $62 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$362 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$255; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$068; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$255 | 0)) HEAP32[$182 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $188 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$255; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$068; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$205 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $208 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$362 >> 1] = $74; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$052 >> 2] = $74; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $91 = $74; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$362 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$149 >> 2] = $71; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $91 = $71; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$255; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$255; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$068; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$255 | 0)) HEAP32[$163 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$362 >> 1] = $117; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$245 >> 2] = $117; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $134 = $117; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$362 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$342 >> 2] = $114; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $134 = $114; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$255; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $228 = $pnt$163 + 2 | 0; - $229 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $228; - $pnt2$362 = $229; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $237 = HEAP32[$wk$439 >> 2] | 0; - if (($237 | 0) == ($i$337 | 0)) { - $243 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $243; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $255 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$533 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $322 = $labelInfo + 12 + ($i$632 << 2) | 0; - $325 = $i$632 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBR3C565($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $109 = 0, $114 = 0, $117 = 0, $134 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $149 = 0, $151 = 0, $155 = 0, $159 = 0, $163 = 0, $168 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $182 = 0, $188 = 0, $19 = 0, $191 = 0, $193 = 0, $197 = 0, $201 = 0, $205 = 0, $208 = 0, $213 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $24 = 0, $243 = 0, $247 = 0, $248 = 0, $255 = 0, $26 = 0, $269 = 0, $270 = 0, $273 = 0, $280 = 0, $281 = 0, $289 = 0, $292 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $307 = 0, $311 = 0, $314 = 0, $318 = 0, $32 = 0, $322 = 0, $325 = 0, $326 = 0, $332 = 0, $43 = 0, $46 = 0, $48 = 0, $52 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $71 = 0, $74 = 0, $9 = 0, $91 = 0, $93 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - $32 = HEAPU8[$pnt$163 + 1 >> 0] | 0; - do if ((($26 & 248) + 10 + ($26 << 5 & 224) + ($32 >>> 3 & 28) + ($32 << 3 & 248) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $43 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($43 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $43; - $46 = ($43 << 16 >> 16) * 7 | 0; - $48 = $labelInfo + 1310736 + ($46 + -7 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + 1; - $52 = $labelInfo + 1310736 + ($46 + -6 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $i$255; - $56 = $labelInfo + 1310736 + ($46 + -5 << 2) | 0; - HEAP32[$56 >> 2] = (HEAP32[$56 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($46 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $62 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $66 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $67 = $66 << 16 >> 16; - $68 = $66 << 16 >> 16 > 0; - if ($62 << 16 >> 16 <= 0) { - if ($68) { - HEAP16[$pnt2$362 >> 1] = $66; - $168 = $67 * 7 | 0; - $170 = $labelInfo + 1310736 + ($168 + -7 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + 1; - $174 = $labelInfo + 1310736 + ($168 + -6 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $i$255; - $178 = $labelInfo + 1310736 + ($168 + -5 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + $j$068; - $182 = $labelInfo + 1310736 + ($168 + -3 << 2) | 0; - if ((HEAP32[$182 >> 2] | 0) < ($i$255 | 0)) HEAP32[$182 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($168 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $188 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($188 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $188; - $191 = ($188 << 16 >> 16) * 7 | 0; - $193 = $labelInfo + 1310736 + ($191 + -7 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + 1; - $197 = $labelInfo + 1310736 + ($191 + -6 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $i$255; - $201 = $labelInfo + 1310736 + ($191 + -5 << 2) | 0; - HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + $j$068; - $205 = $labelInfo + 1310736 + ($191 + -3 << 2) | 0; - if ((HEAP32[$205 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$205 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $208 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $208; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $208 << 16 >> 16; - $213 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($213 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($213 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($213 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($213 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $208; - break; - } - } - if ($68) { - $71 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $74 = HEAP32[$labelInfo + 1179664 + ($67 + -1 << 2) >> 2] | 0; - if (($71 | 0) > ($74 | 0)) { - HEAP16[$pnt2$362 >> 1] = $74; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($71 | 0)) HEAP32[$wk$052 >> 2] = $74; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $91 = $74; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $91 = $74; - } else { - HEAP16[$pnt2$362 >> 1] = $71; - if (($71 | 0) < ($74 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($74 | 0)) HEAP32[$wk$149 >> 2] = $71; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $91 = $71; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $91 = $71; - } - $93 = ($91 << 16 >> 16) * 7 | 0; - $95 = $labelInfo + 1310736 + ($93 + -7 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + 1; - $99 = $labelInfo + 1310736 + ($93 + -6 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $i$255; - $103 = $labelInfo + 1310736 + ($93 + -5 << 2) | 0; - HEAP32[$103 >> 2] = (HEAP32[$103 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($93 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($109 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $62; - $149 = $63 * 7 | 0; - $151 = $labelInfo + 1310736 + ($149 + -7 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + 1; - $155 = $labelInfo + 1310736 + ($149 + -6 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $i$255; - $159 = $labelInfo + 1310736 + ($149 + -5 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $j$068; - $163 = $labelInfo + 1310736 + ($149 + -4 << 2) | 0; - if ((HEAP32[$163 >> 2] | 0) > ($i$255 | 0)) HEAP32[$163 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($149 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $114 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - $117 = HEAP32[$labelInfo + 1179664 + (($109 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($114 | 0) > ($117 | 0)) { - HEAP16[$pnt2$362 >> 1] = $117; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($114 | 0)) HEAP32[$wk$245 >> 2] = $117; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $134 = $117; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $134 = $117; - } else { - HEAP16[$pnt2$362 >> 1] = $114; - if (($114 | 0) < ($117 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($117 | 0)) HEAP32[$wk$342 >> 2] = $114; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $134 = $114; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $134 = $114; - } - $136 = ($134 << 16 >> 16) * 7 | 0; - $138 = $labelInfo + 1310736 + ($136 + -7 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; - $142 = $labelInfo + 1310736 + ($136 + -6 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $i$255; - $146 = $labelInfo + 1310736 + ($136 + -5 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $228 = $pnt$163 + 2 | 0; - $229 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $228; - $pnt2$3$lcssa = $229; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $228; - $pnt2$362 = $229; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $235 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $237 = HEAP32[$wk$439 >> 2] | 0; - if (($237 | 0) == ($i$337 | 0)) { - $243 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $243 = HEAP32[$labelInfo + 1179664 + ($237 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $243; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $247 = $labelInfo + 8 | 0; - $248 = $j$1$lcssa + -1 | 0; - HEAP32[$247 >> 2] = $248; - if (!$248) $$0 = 0; else { - _memset($235 | 0, 0, $248 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $248 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $255 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($255 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($255 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($255 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($255 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$247 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $269 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $270 = $i$533 * 7 | 0; - $273 = $labelInfo + 12 + ($269 << 2) | 0; - HEAP32[$273 >> 2] = (HEAP32[$273 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($270 << 2) >> 2] | 0); - $280 = $269 << 1; - $281 = $labelInfo + 655376 + ($280 << 3) | 0; - HEAPF64[$281 >> 3] = +HEAPF64[$281 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 1 << 2) >> 2] | 0); - $289 = $labelInfo + 655376 + (($280 | 1) << 3) | 0; - HEAPF64[$289 >> 3] = +HEAPF64[$289 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($270 + 2 << 2) >> 2] | 0); - $292 = $269 << 2; - $293 = $labelInfo + 131084 + ($292 << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($270 + 3 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($292 | 1) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($270 + 4 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $307 = $labelInfo + 131084 + (($292 | 2) << 2) | 0; - $311 = HEAP32[$labelInfo + 1310736 + ($270 + 5 << 2) >> 2] | 0; - if ((HEAP32[$307 >> 2] | 0) > ($311 | 0)) HEAP32[$307 >> 2] = $311; - $314 = $labelInfo + 131084 + (($292 | 3) << 2) | 0; - $318 = HEAP32[$labelInfo + 1310736 + ($270 + 6 << 2) >> 2] | 0; - if ((HEAP32[$314 >> 2] | 0) < ($318 | 0)) HEAP32[$314 >> 2] = $318; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$247 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $322 = $labelInfo + 12 + ($i$632 << 2) | 0; - $325 = $i$632 << 1; - $326 = $labelInfo + 655376 + ($325 << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$322 >> 2] | 0); - $332 = $labelInfo + 655376 + (($325 | 1) << 3) | 0; - HEAPF64[$332 >> 3] = +HEAPF64[$332 >> 3] / +(HEAP32[$322 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$247 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $107 = 0, $11 = 0, $112 = 0, $115 = 0, $12 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $172 = 0, $176 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $233 = 0, $235 = 0, $241 = 0, $245 = 0, $246 = 0, $253 = 0, $267 = 0, $268 = 0, $271 = 0, $278 = 0, $279 = 0, $28 = 0, $287 = 0, $290 = 0, $291 = 0, $295 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $320 = 0, $323 = 0, $324 = 0, $330 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $91 = 0, $93 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize * 3 | 0) + 12 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize * 6 | 0) + 6) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 >> 0] | 0) + (HEAPU8[$pnt$164 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - $41 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$256; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $60 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$363 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$256; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$069; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$256 | 0)) HEAP32[$180 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $186 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$256; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$069; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$203 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $206 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$363 >> 1] = $72; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$053 >> 2] = $72; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $89 = $72; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$363 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$150 >> 2] = $69; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $89 = $69; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$256; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $107 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$256; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$069; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$256 | 0)) HEAP32[$161 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$363 >> 1] = $115; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$246 >> 2] = $115; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $132 = $115; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$363 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$343 >> 2] = $112; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $132 = $112; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$256; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $226 = $pnt$164 + 6 | 0; - $227 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $226; - $pnt2$363 = $227; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $233 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $235 = HEAP32[$wk$440 >> 2] | 0; - if (($235 | 0) == ($i$338 | 0)) { - $241 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $241 = HEAP32[$labelInfo + 1179664 + ($235 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $241; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $245 = $labelInfo + 8 | 0; - $246 = $j$1$lcssa + -1 | 0; - HEAP32[$245 >> 2] = $246; - if (!$246) $$0 = 0; else { - _memset($233 | 0, 0, $246 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $246 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $253 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($253 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($253 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($253 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($253 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$245 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $267 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $268 = $i$534 * 7 | 0; - $271 = $labelInfo + 12 + ($267 << 2) | 0; - HEAP32[$271 >> 2] = (HEAP32[$271 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($268 << 2) >> 2] | 0); - $278 = $267 << 1; - $279 = $labelInfo + 655376 + ($278 << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 1 << 2) >> 2] | 0); - $287 = $labelInfo + 655376 + (($278 | 1) << 3) | 0; - HEAPF64[$287 >> 3] = +HEAPF64[$287 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 2 << 2) >> 2] | 0); - $290 = $267 << 2; - $291 = $labelInfo + 131084 + ($290 << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($268 + 3 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($290 | 1) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($268 + 4 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($290 | 2) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($268 + 5 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) > ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($290 | 3) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($268 + 6 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) < ($316 | 0)) HEAP32[$312 >> 2] = $316; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$245 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $320 = $labelInfo + 12 + ($i$633 << 2) | 0; - $323 = $i$633 << 1; - $324 = $labelInfo + 655376 + ($323 << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$320 >> 2] | 0); - $330 = $labelInfo + 655376 + (($323 | 1) << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$320 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$245 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBI3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $107 = 0, $11 = 0, $112 = 0, $115 = 0, $12 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $172 = 0, $176 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $233 = 0, $235 = 0, $241 = 0, $245 = 0, $246 = 0, $253 = 0, $267 = 0, $268 = 0, $271 = 0, $278 = 0, $279 = 0, $28 = 0, $287 = 0, $290 = 0, $291 = 0, $295 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $320 = 0, $323 = 0, $324 = 0, $330 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $91 = 0, $93 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize * 3 | 0) + 12 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize * 6 | 0) + 6) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 >> 0] | 0) + (HEAPU8[$pnt$164 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $41 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$256; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $60 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$363 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$256; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$069; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$256 | 0)) HEAP32[$180 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $186 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$256; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$069; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$203 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $206 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$363 >> 1] = $72; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$053 >> 2] = $72; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $89 = $72; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$363 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$150 >> 2] = $69; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $89 = $69; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$256; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $107 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$256; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$069; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$256 | 0)) HEAP32[$161 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$363 >> 1] = $115; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$246 >> 2] = $115; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $132 = $115; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$363 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$343 >> 2] = $112; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $132 = $112; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$256; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $226 = $pnt$164 + 6 | 0; - $227 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $226; - $pnt2$363 = $227; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $233 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $235 = HEAP32[$wk$440 >> 2] | 0; - if (($235 | 0) == ($i$338 | 0)) { - $241 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $241 = HEAP32[$labelInfo + 1179664 + ($235 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $241; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $245 = $labelInfo + 8 | 0; - $246 = $j$1$lcssa + -1 | 0; - HEAP32[$245 >> 2] = $246; - if (!$246) $$0 = 0; else { - _memset($233 | 0, 0, $246 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $246 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $253 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($253 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($253 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($253 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($253 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$245 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $267 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $268 = $i$534 * 7 | 0; - $271 = $labelInfo + 12 + ($267 << 2) | 0; - HEAP32[$271 >> 2] = (HEAP32[$271 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($268 << 2) >> 2] | 0); - $278 = $267 << 1; - $279 = $labelInfo + 655376 + ($278 << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 1 << 2) >> 2] | 0); - $287 = $labelInfo + 655376 + (($278 | 1) << 3) | 0; - HEAPF64[$287 >> 3] = +HEAPF64[$287 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 2 << 2) >> 2] | 0); - $290 = $267 << 2; - $291 = $labelInfo + 131084 + ($290 << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($268 + 3 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($290 | 1) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($268 + 4 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($290 | 2) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($268 + 5 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) > ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($290 | 3) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($268 + 6 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) < ($316 | 0)) HEAP32[$312 >> 2] = $316; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$245 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $320 = $labelInfo + 12 + ($i$633 << 2) | 0; - $323 = $i$633 << 1; - $324 = $labelInfo + 655376 + ($323 << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$320 >> 2] | 0); - $330 = $labelInfo + 655376 + (($323 | 1) << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$320 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$245 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $108 = 0, $11 = 0, $113 = 0, $116 = 0, $12 = 0, $133 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $148 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, $167 = 0, $169 = 0, $173 = 0, $177 = 0, $181 = 0, $187 = 0, $19 = 0, $190 = 0, $192 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $207 = 0, $212 = 0, $227 = 0, $228 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $272 = 0, $279 = 0, $28 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $3 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $42 = 0, $45 = 0, $47 = 0, $51 = 0, $55 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $67 = 0, $70 = 0, $73 = 0, $90 = 0, $92 = 0, $94 = 0, $98 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 3) + 8) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 2 >> 0] | 0) + (HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 + 3 >> 0] | 0) | 0) > ($11 | 0)) { - $42 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($42 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $42; - $45 = ($42 << 16 >> 16) * 7 | 0; - $47 = $labelInfo + 1310736 + ($45 + -7 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + 1; - $51 = $labelInfo + 1310736 + ($45 + -6 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $i$256; - $55 = $labelInfo + 1310736 + ($45 + -5 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($45 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $61 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $65 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $67 = $65 << 16 >> 16 > 0; - if ($61 << 16 >> 16 <= 0) { - if ($67) { - HEAP16[$pnt2$363 >> 1] = $65; - $167 = $66 * 7 | 0; - $169 = $labelInfo + 1310736 + ($167 + -7 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + 1; - $173 = $labelInfo + 1310736 + ($167 + -6 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $i$256; - $177 = $labelInfo + 1310736 + ($167 + -5 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $j$069; - $181 = $labelInfo + 1310736 + ($167 + -3 << 2) | 0; - if ((HEAP32[$181 >> 2] | 0) < ($i$256 | 0)) HEAP32[$181 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($167 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $187 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($187 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $187; - $190 = ($187 << 16 >> 16) * 7 | 0; - $192 = $labelInfo + 1310736 + ($190 + -7 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + 1; - $196 = $labelInfo + 1310736 + ($190 + -6 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $i$256; - $200 = $labelInfo + 1310736 + ($190 + -5 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $j$069; - $204 = $labelInfo + 1310736 + ($190 + -3 << 2) | 0; - if ((HEAP32[$204 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$204 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $207 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $207; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $207 << 16 >> 16; - $212 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($212 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($212 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($212 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($212 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $207; - break; - } - } - if ($67) { - $70 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $73 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - if (($70 | 0) > ($73 | 0)) { - HEAP16[$pnt2$363 >> 1] = $73; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$053 >> 2] = $73; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $90 = $73; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $90 = $73; - } else { - HEAP16[$pnt2$363 >> 1] = $70; - if (($70 | 0) < ($73 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$150 >> 2] = $70; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $90 = $70; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $90 = $70; - } - $92 = ($90 << 16 >> 16) * 7 | 0; - $94 = $labelInfo + 1310736 + ($92 + -7 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + 1; - $98 = $labelInfo + 1310736 + ($92 + -6 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $i$256; - $102 = $labelInfo + 1310736 + ($92 + -5 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($92 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $108 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($108 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $61; - $148 = $62 * 7 | 0; - $150 = $labelInfo + 1310736 + ($148 + -7 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + 1; - $154 = $labelInfo + 1310736 + ($148 + -6 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $i$256; - $158 = $labelInfo + 1310736 + ($148 + -5 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $j$069; - $162 = $labelInfo + 1310736 + ($148 + -4 << 2) | 0; - if ((HEAP32[$162 >> 2] | 0) > ($i$256 | 0)) HEAP32[$162 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($148 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $116 = HEAP32[$labelInfo + 1179664 + (($108 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($113 | 0) > ($116 | 0)) { - HEAP16[$pnt2$363 >> 1] = $116; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$246 >> 2] = $116; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $133 = $116; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $133 = $116; - } else { - HEAP16[$pnt2$363 >> 1] = $113; - if (($113 | 0) < ($116 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$343 >> 2] = $113; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $133 = $113; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $133 = $113; - } - $135 = ($133 << 16 >> 16) * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$256; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $227 = $pnt$164 + 8 | 0; - $228 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $227; - $pnt2$3$lcssa = $228; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $227; - $pnt2$363 = $228; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $236 = HEAP32[$wk$440 >> 2] | 0; - if (($236 | 0) == ($i$338 | 0)) { - $242 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $242; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $254 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$534 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $321 = $labelInfo + 12 + ($i$633 << 2) | 0; - $324 = $i$633 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBIA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $108 = 0, $11 = 0, $113 = 0, $116 = 0, $12 = 0, $133 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $148 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, $167 = 0, $169 = 0, $173 = 0, $177 = 0, $181 = 0, $187 = 0, $19 = 0, $190 = 0, $192 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $207 = 0, $212 = 0, $227 = 0, $228 = 0, $234 = 0, $236 = 0, $242 = 0, $246 = 0, $247 = 0, $254 = 0, $268 = 0, $269 = 0, $272 = 0, $279 = 0, $28 = 0, $280 = 0, $288 = 0, $291 = 0, $292 = 0, $296 = 0, $299 = 0, $3 = 0, $303 = 0, $306 = 0, $310 = 0, $313 = 0, $317 = 0, $321 = 0, $324 = 0, $325 = 0, $331 = 0, $42 = 0, $45 = 0, $47 = 0, $51 = 0, $55 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $67 = 0, $70 = 0, $73 = 0, $90 = 0, $92 = 0, $94 = 0, $98 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 3) + 8) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 2 >> 0] | 0) + (HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 + 3 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $42 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($42 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $42; - $45 = ($42 << 16 >> 16) * 7 | 0; - $47 = $labelInfo + 1310736 + ($45 + -7 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + 1; - $51 = $labelInfo + 1310736 + ($45 + -6 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $i$256; - $55 = $labelInfo + 1310736 + ($45 + -5 << 2) | 0; - HEAP32[$55 >> 2] = (HEAP32[$55 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($45 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $61 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $65 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $66 = $65 << 16 >> 16; - $67 = $65 << 16 >> 16 > 0; - if ($61 << 16 >> 16 <= 0) { - if ($67) { - HEAP16[$pnt2$363 >> 1] = $65; - $167 = $66 * 7 | 0; - $169 = $labelInfo + 1310736 + ($167 + -7 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + 1; - $173 = $labelInfo + 1310736 + ($167 + -6 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $i$256; - $177 = $labelInfo + 1310736 + ($167 + -5 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + $j$069; - $181 = $labelInfo + 1310736 + ($167 + -3 << 2) | 0; - if ((HEAP32[$181 >> 2] | 0) < ($i$256 | 0)) HEAP32[$181 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($167 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $187 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($187 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $187; - $190 = ($187 << 16 >> 16) * 7 | 0; - $192 = $labelInfo + 1310736 + ($190 + -7 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + 1; - $196 = $labelInfo + 1310736 + ($190 + -6 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $i$256; - $200 = $labelInfo + 1310736 + ($190 + -5 << 2) | 0; - HEAP32[$200 >> 2] = (HEAP32[$200 >> 2] | 0) + $j$069; - $204 = $labelInfo + 1310736 + ($190 + -3 << 2) | 0; - if ((HEAP32[$204 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$204 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $207 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $207; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $207 << 16 >> 16; - $212 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($212 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($212 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($212 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($212 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($212 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $207; - break; - } - } - if ($67) { - $70 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $73 = HEAP32[$labelInfo + 1179664 + ($66 + -1 << 2) >> 2] | 0; - if (($70 | 0) > ($73 | 0)) { - HEAP16[$pnt2$363 >> 1] = $73; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$053 >> 2] = $73; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $90 = $73; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $90 = $73; - } else { - HEAP16[$pnt2$363 >> 1] = $70; - if (($70 | 0) < ($73 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($73 | 0)) HEAP32[$wk$150 >> 2] = $70; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $90 = $70; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $90 = $70; - } - $92 = ($90 << 16 >> 16) * 7 | 0; - $94 = $labelInfo + 1310736 + ($92 + -7 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + 1; - $98 = $labelInfo + 1310736 + ($92 + -6 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $i$256; - $102 = $labelInfo + 1310736 + ($92 + -5 << 2) | 0; - HEAP32[$102 >> 2] = (HEAP32[$102 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($92 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $108 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($108 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $61; - $148 = $62 * 7 | 0; - $150 = $labelInfo + 1310736 + ($148 + -7 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + 1; - $154 = $labelInfo + 1310736 + ($148 + -6 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $i$256; - $158 = $labelInfo + 1310736 + ($148 + -5 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $j$069; - $162 = $labelInfo + 1310736 + ($148 + -4 << 2) | 0; - if ((HEAP32[$162 >> 2] | 0) > ($i$256 | 0)) HEAP32[$162 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($148 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $113 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - $116 = HEAP32[$labelInfo + 1179664 + (($108 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($113 | 0) > ($116 | 0)) { - HEAP16[$pnt2$363 >> 1] = $116; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$246 >> 2] = $116; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $133 = $116; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $133 = $116; - } else { - HEAP16[$pnt2$363 >> 1] = $113; - if (($113 | 0) < ($116 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($116 | 0)) HEAP32[$wk$343 >> 2] = $113; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $133 = $113; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $133 = $113; - } - $135 = ($133 << 16 >> 16) * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$256; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $227 = $pnt$164 + 8 | 0; - $228 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $227; - $pnt2$3$lcssa = $228; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $227; - $pnt2$363 = $228; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $234 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $236 = HEAP32[$wk$440 >> 2] | 0; - if (($236 | 0) == ($i$338 | 0)) { - $242 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $242 = HEAP32[$labelInfo + 1179664 + ($236 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $242; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $246 = $labelInfo + 8 | 0; - $247 = $j$1$lcssa + -1 | 0; - HEAP32[$246 >> 2] = $247; - if (!$247) $$0 = 0; else { - _memset($234 | 0, 0, $247 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $247 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $254 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($254 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($254 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($254 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($254 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$246 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $268 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $269 = $i$534 * 7 | 0; - $272 = $labelInfo + 12 + ($268 << 2) | 0; - HEAP32[$272 >> 2] = (HEAP32[$272 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($269 << 2) >> 2] | 0); - $279 = $268 << 1; - $280 = $labelInfo + 655376 + ($279 << 3) | 0; - HEAPF64[$280 >> 3] = +HEAPF64[$280 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 1 << 2) >> 2] | 0); - $288 = $labelInfo + 655376 + (($279 | 1) << 3) | 0; - HEAPF64[$288 >> 3] = +HEAPF64[$288 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($269 + 2 << 2) >> 2] | 0); - $291 = $268 << 2; - $292 = $labelInfo + 131084 + ($291 << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($269 + 3 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($291 | 1) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($269 + 4 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $306 = $labelInfo + 131084 + (($291 | 2) << 2) | 0; - $310 = HEAP32[$labelInfo + 1310736 + ($269 + 5 << 2) >> 2] | 0; - if ((HEAP32[$306 >> 2] | 0) > ($310 | 0)) HEAP32[$306 >> 2] = $310; - $313 = $labelInfo + 131084 + (($291 | 3) << 2) | 0; - $317 = HEAP32[$labelInfo + 1310736 + ($269 + 6 << 2) >> 2] | 0; - if ((HEAP32[$313 >> 2] | 0) < ($317 | 0)) HEAP32[$313 >> 2] = $317; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$246 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $321 = $labelInfo + 12 + ($i$633 << 2) | 0; - $324 = $i$633 << 1; - $325 = $labelInfo + 655376 + ($324 << 3) | 0; - HEAPF64[$325 >> 3] = +HEAPF64[$325 >> 3] / +(HEAP32[$321 >> 2] | 0); - $331 = $labelInfo + 655376 + (($324 | 1) << 3) | 0; - HEAPF64[$331 >> 3] = +HEAPF64[$331 >> 3] / +(HEAP32[$321 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$246 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $107 = 0, $11 = 0, $112 = 0, $115 = 0, $12 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $172 = 0, $176 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $233 = 0, $235 = 0, $241 = 0, $245 = 0, $246 = 0, $253 = 0, $267 = 0, $268 = 0, $271 = 0, $278 = 0, $279 = 0, $28 = 0, $287 = 0, $290 = 0, $291 = 0, $295 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $320 = 0, $323 = 0, $324 = 0, $330 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $91 = 0, $93 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 3) + 8) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 >> 0] | 0) + (HEAPU8[$pnt$164 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - $41 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$256; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $60 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$363 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$256; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$069; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$256 | 0)) HEAP32[$180 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $186 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$256; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$069; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$203 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $206 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$363 >> 1] = $72; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$053 >> 2] = $72; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $89 = $72; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$363 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$150 >> 2] = $69; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $89 = $69; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$256; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $107 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$256; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$069; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$256 | 0)) HEAP32[$161 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$363 >> 1] = $115; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$246 >> 2] = $115; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $132 = $115; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$363 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$343 >> 2] = $112; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $132 = $112; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$256; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $226 = $pnt$164 + 8 | 0; - $227 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $226; - $pnt2$363 = $227; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $233 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $235 = HEAP32[$wk$440 >> 2] | 0; - if (($235 | 0) == ($i$338 | 0)) { - $241 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $241 = HEAP32[$labelInfo + 1179664 + ($235 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $241; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $245 = $labelInfo + 8 | 0; - $246 = $j$1$lcssa + -1 | 0; - HEAP32[$245 >> 2] = $246; - if (!$246) $$0 = 0; else { - _memset($233 | 0, 0, $246 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $246 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $253 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($253 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($253 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($253 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($253 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$245 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $267 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $268 = $i$534 * 7 | 0; - $271 = $labelInfo + 12 + ($267 << 2) | 0; - HEAP32[$271 >> 2] = (HEAP32[$271 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($268 << 2) >> 2] | 0); - $278 = $267 << 1; - $279 = $labelInfo + 655376 + ($278 << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 1 << 2) >> 2] | 0); - $287 = $labelInfo + 655376 + (($278 | 1) << 3) | 0; - HEAPF64[$287 >> 3] = +HEAPF64[$287 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 2 << 2) >> 2] | 0); - $290 = $267 << 2; - $291 = $labelInfo + 131084 + ($290 << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($268 + 3 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($290 | 1) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($268 + 4 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($290 | 2) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($268 + 5 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) > ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($290 | 3) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($268 + 6 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) < ($316 | 0)) HEAP32[$312 >> 2] = $316; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$245 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $320 = $labelInfo + 12 + ($i$633 << 2) | 0; - $323 = $i$633 << 1; - $324 = $labelInfo + 655376 + ($323 << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$320 >> 2] | 0); - $330 = $labelInfo + 655376 + (($323 | 1) << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$320 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$245 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBI3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $101 = 0, $107 = 0, $11 = 0, $112 = 0, $115 = 0, $12 = 0, $132 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $147 = 0, $149 = 0, $153 = 0, $157 = 0, $161 = 0, $166 = 0, $168 = 0, $172 = 0, $176 = 0, $180 = 0, $186 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $203 = 0, $206 = 0, $211 = 0, $226 = 0, $227 = 0, $233 = 0, $235 = 0, $241 = 0, $245 = 0, $246 = 0, $253 = 0, $267 = 0, $268 = 0, $271 = 0, $278 = 0, $279 = 0, $28 = 0, $287 = 0, $290 = 0, $291 = 0, $295 = 0, $298 = 0, $3 = 0, $302 = 0, $305 = 0, $309 = 0, $312 = 0, $316 = 0, $320 = 0, $323 = 0, $324 = 0, $330 = 0, $41 = 0, $44 = 0, $46 = 0, $50 = 0, $54 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $69 = 0, $72 = 0, $89 = 0, $91 = 0, $93 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $labelingThresh * 3 | 0; - $12 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($12 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $19 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 2) + 16 | 0; - L11 : do if (($3 | 0) > 1) { - $28 = ($12 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 3) + 8) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($28) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if (((HEAPU8[$pnt$164 + 1 >> 0] | 0) + (HEAPU8[$pnt$164 >> 0] | 0) + (HEAPU8[$pnt$164 + 2 >> 0] | 0) | 0) > ($11 | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $41 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($41 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $41; - $44 = ($41 << 16 >> 16) * 7 | 0; - $46 = $labelInfo + 1310736 + ($44 + -7 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + 1; - $50 = $labelInfo + 1310736 + ($44 + -6 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $i$256; - $54 = $labelInfo + 1310736 + ($44 + -5 << 2) | 0; - HEAP32[$54 >> 2] = (HEAP32[$54 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($44 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $60 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $64 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $65 = $64 << 16 >> 16; - $66 = $64 << 16 >> 16 > 0; - if ($60 << 16 >> 16 <= 0) { - if ($66) { - HEAP16[$pnt2$363 >> 1] = $64; - $166 = $65 * 7 | 0; - $168 = $labelInfo + 1310736 + ($166 + -7 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + 1; - $172 = $labelInfo + 1310736 + ($166 + -6 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $i$256; - $176 = $labelInfo + 1310736 + ($166 + -5 << 2) | 0; - HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + $j$069; - $180 = $labelInfo + 1310736 + ($166 + -3 << 2) | 0; - if ((HEAP32[$180 >> 2] | 0) < ($i$256 | 0)) HEAP32[$180 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($166 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $186 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($186 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $186; - $189 = ($186 << 16 >> 16) * 7 | 0; - $191 = $labelInfo + 1310736 + ($189 + -7 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + 1; - $195 = $labelInfo + 1310736 + ($189 + -6 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $i$256; - $199 = $labelInfo + 1310736 + ($189 + -5 << 2) | 0; - HEAP32[$199 >> 2] = (HEAP32[$199 >> 2] | 0) + $j$069; - $203 = $labelInfo + 1310736 + ($189 + -3 << 2) | 0; - if ((HEAP32[$203 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$203 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $206 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $206; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $206 << 16 >> 16; - $211 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($211 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($211 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($211 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($211 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $206; - break; - } - } - if ($66) { - $69 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $72 = HEAP32[$labelInfo + 1179664 + ($65 + -1 << 2) >> 2] | 0; - if (($69 | 0) > ($72 | 0)) { - HEAP16[$pnt2$363 >> 1] = $72; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $19; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$053 >> 2] = $72; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $89 = $72; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $89 = $72; - } else { - HEAP16[$pnt2$363 >> 1] = $69; - if (($69 | 0) < ($72 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $19; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($72 | 0)) HEAP32[$wk$150 >> 2] = $69; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $89 = $69; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $89 = $69; - } - $91 = ($89 << 16 >> 16) * 7 | 0; - $93 = $labelInfo + 1310736 + ($91 + -7 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 1; - $97 = $labelInfo + 1310736 + ($91 + -6 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $i$256; - $101 = $labelInfo + 1310736 + ($91 + -5 << 2) | 0; - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($91 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $107 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($107 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $60; - $147 = $61 * 7 | 0; - $149 = $labelInfo + 1310736 + ($147 + -7 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + 1; - $153 = $labelInfo + 1310736 + ($147 + -6 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $i$256; - $157 = $labelInfo + 1310736 + ($147 + -5 << 2) | 0; - HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $j$069; - $161 = $labelInfo + 1310736 + ($147 + -4 << 2) | 0; - if ((HEAP32[$161 >> 2] | 0) > ($i$256 | 0)) HEAP32[$161 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($147 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $112 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - $115 = HEAP32[$labelInfo + 1179664 + (($107 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($112 | 0) > ($115 | 0)) { - HEAP16[$pnt2$363 >> 1] = $115; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $19; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$246 >> 2] = $115; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $132 = $115; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $132 = $115; - } else { - HEAP16[$pnt2$363 >> 1] = $112; - if (($112 | 0) < ($115 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $19; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($115 | 0)) HEAP32[$wk$343 >> 2] = $112; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $132 = $112; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $132 = $112; - } - $134 = ($132 << 16 >> 16) * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$256; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $226 = $pnt$164 + 8 | 0; - $227 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($12 | 0)) { - $pnt$1$lcssa = $226; - $pnt2$3$lcssa = $227; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $226; - $pnt2$363 = $227; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $233 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $19; - while (1) { - $235 = HEAP32[$wk$440 >> 2] | 0; - if (($235 | 0) == ($i$338 | 0)) { - $241 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $241 = HEAP32[$labelInfo + 1179664 + ($235 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $241; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $245 = $labelInfo + 8 | 0; - $246 = $j$1$lcssa + -1 | 0; - HEAP32[$245 >> 2] = $246; - if (!$246) $$0 = 0; else { - _memset($233 | 0, 0, $246 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $246 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $253 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($253 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($253 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($253 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($253 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$245 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $267 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $268 = $i$534 * 7 | 0; - $271 = $labelInfo + 12 + ($267 << 2) | 0; - HEAP32[$271 >> 2] = (HEAP32[$271 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($268 << 2) >> 2] | 0); - $278 = $267 << 1; - $279 = $labelInfo + 655376 + ($278 << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 1 << 2) >> 2] | 0); - $287 = $labelInfo + 655376 + (($278 | 1) << 3) | 0; - HEAPF64[$287 >> 3] = +HEAPF64[$287 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($268 + 2 << 2) >> 2] | 0); - $290 = $267 << 2; - $291 = $labelInfo + 131084 + ($290 << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($268 + 3 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($290 | 1) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($268 + 4 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $305 = $labelInfo + 131084 + (($290 | 2) << 2) | 0; - $309 = HEAP32[$labelInfo + 1310736 + ($268 + 5 << 2) >> 2] | 0; - if ((HEAP32[$305 >> 2] | 0) > ($309 | 0)) HEAP32[$305 >> 2] = $309; - $312 = $labelInfo + 131084 + (($290 | 3) << 2) | 0; - $316 = HEAP32[$labelInfo + 1310736 + ($268 + 6 << 2) >> 2] | 0; - if ((HEAP32[$312 >> 2] | 0) < ($316 | 0)) HEAP32[$312 >> 2] = $316; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$245 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $320 = $labelInfo + 12 + ($i$633 << 2) | 0; - $323 = $i$633 << 1; - $324 = $labelInfo + 655376 + ($323 << 3) | 0; - HEAPF64[$324 >> 3] = +HEAPF64[$324 >> 3] / +(HEAP32[$320 >> 2] | 0); - $330 = $labelInfo + 655376 + (($323 | 1) << 3) | 0; - HEAPF64[$330 >> 3] = +HEAPF64[$330 >> 3] / +(HEAP32[$320 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$245 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $105 = 0, $110 = 0, $113 = 0, $130 = 0, $132 = 0, $134 = 0, $138 = 0, $142 = 0, $145 = 0, $147 = 0, $151 = 0, $155 = 0, $159 = 0, $164 = 0, $166 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $184 = 0, $187 = 0, $189 = 0, $19 = 0, $193 = 0, $197 = 0, $201 = 0, $204 = 0, $209 = 0, $224 = 0, $225 = 0, $231 = 0, $233 = 0, $239 = 0, $24 = 0, $243 = 0, $244 = 0, $251 = 0, $26 = 0, $265 = 0, $266 = 0, $269 = 0, $276 = 0, $277 = 0, $285 = 0, $288 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0, $310 = 0, $314 = 0, $318 = 0, $321 = 0, $322 = 0, $328 = 0, $39 = 0, $42 = 0, $44 = 0, $48 = 0, $52 = 0, $58 = 0, $59 = 0, $62 = 0, $63 = 0, $64 = 0, $67 = 0, $70 = 0, $87 = 0, $89 = 0, $9 = 0, $91 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - do if ((($26 & 240) + 24 + ($26 << 4 & 240) + ((HEAPU8[$pnt$163 + 1 >> 0] | 0) & 240) | 0) > ($9 | 0)) { - $39 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($39 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $39; - $42 = ($39 << 16 >> 16) * 7 | 0; - $44 = $labelInfo + 1310736 + ($42 + -7 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + 1; - $48 = $labelInfo + 1310736 + ($42 + -6 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + $i$255; - $52 = $labelInfo + 1310736 + ($42 + -5 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($42 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $58 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $59 = $58 << 16 >> 16; - $62 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $64 = $62 << 16 >> 16 > 0; - if ($58 << 16 >> 16 <= 0) { - if ($64) { - HEAP16[$pnt2$362 >> 1] = $62; - $164 = $63 * 7 | 0; - $166 = $labelInfo + 1310736 + ($164 + -7 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + 1; - $170 = $labelInfo + 1310736 + ($164 + -6 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + $i$255; - $174 = $labelInfo + 1310736 + ($164 + -5 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $j$068; - $178 = $labelInfo + 1310736 + ($164 + -3 << 2) | 0; - if ((HEAP32[$178 >> 2] | 0) < ($i$255 | 0)) HEAP32[$178 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($164 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $184 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($184 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $184; - $187 = ($184 << 16 >> 16) * 7 | 0; - $189 = $labelInfo + 1310736 + ($187 + -7 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + 1; - $193 = $labelInfo + 1310736 + ($187 + -6 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + $i$255; - $197 = $labelInfo + 1310736 + ($187 + -5 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $j$068; - $201 = $labelInfo + 1310736 + ($187 + -3 << 2) | 0; - if ((HEAP32[$201 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$201 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $204 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $204; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $204 << 16 >> 16; - $209 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($209 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($209 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($209 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($209 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $204; - break; - } - } - if ($64) { - $67 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - $70 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - if (($67 | 0) > ($70 | 0)) { - HEAP16[$pnt2$362 >> 1] = $70; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($67 | 0)) HEAP32[$wk$052 >> 2] = $70; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $87 = $70; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $87 = $70; - } else { - HEAP16[$pnt2$362 >> 1] = $67; - if (($67 | 0) < ($70 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$149 >> 2] = $67; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $87 = $67; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $87 = $67; - } - $89 = ($87 << 16 >> 16) * 7 | 0; - $91 = $labelInfo + 1310736 + ($89 + -7 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + 1; - $95 = $labelInfo + 1310736 + ($89 + -6 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $i$255; - $99 = $labelInfo + 1310736 + ($89 + -5 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($89 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $105 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($105 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $58; - $145 = $59 * 7 | 0; - $147 = $labelInfo + 1310736 + ($145 + -7 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + 1; - $151 = $labelInfo + 1310736 + ($145 + -6 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + $i$255; - $155 = $labelInfo + 1310736 + ($145 + -5 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $j$068; - $159 = $labelInfo + 1310736 + ($145 + -4 << 2) | 0; - if ((HEAP32[$159 >> 2] | 0) > ($i$255 | 0)) HEAP32[$159 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($145 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $110 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - $113 = HEAP32[$labelInfo + 1179664 + (($105 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($110 | 0) > ($113 | 0)) { - HEAP16[$pnt2$362 >> 1] = $113; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($110 | 0)) HEAP32[$wk$245 >> 2] = $113; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $130 = $113; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $130 = $113; - } else { - HEAP16[$pnt2$362 >> 1] = $110; - if (($110 | 0) < ($113 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$342 >> 2] = $110; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $130 = $110; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $130 = $110; - } - $132 = ($130 << 16 >> 16) * 7 | 0; - $134 = $labelInfo + 1310736 + ($132 + -7 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + 1; - $138 = $labelInfo + 1310736 + ($132 + -6 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $i$255; - $142 = $labelInfo + 1310736 + ($132 + -5 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $224 = $pnt$163 + 2 | 0; - $225 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $224; - $pnt2$3$lcssa = $225; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $224; - $pnt2$362 = $225; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $231 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $233 = HEAP32[$wk$439 >> 2] | 0; - if (($233 | 0) == ($i$337 | 0)) { - $239 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $239 = HEAP32[$labelInfo + 1179664 + ($233 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $239; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $243 = $labelInfo + 8 | 0; - $244 = $j$1$lcssa + -1 | 0; - HEAP32[$243 >> 2] = $244; - if (!$244) $$0 = 0; else { - _memset($231 | 0, 0, $244 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $244 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $251 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($251 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($251 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($251 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($251 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$243 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $265 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $266 = $i$533 * 7 | 0; - $269 = $labelInfo + 12 + ($265 << 2) | 0; - HEAP32[$269 >> 2] = (HEAP32[$269 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($266 << 2) >> 2] | 0); - $276 = $265 << 1; - $277 = $labelInfo + 655376 + ($276 << 3) | 0; - HEAPF64[$277 >> 3] = +HEAPF64[$277 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($266 + 1 << 2) >> 2] | 0); - $285 = $labelInfo + 655376 + (($276 | 1) << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($266 + 2 << 2) >> 2] | 0); - $288 = $265 << 2; - $289 = $labelInfo + 131084 + ($288 << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($266 + 3 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($288 | 1) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($266 + 4 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($288 | 2) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($266 + 5 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) > ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($288 | 3) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($266 + 6 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) < ($314 | 0)) HEAP32[$310 >> 2] = $314; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$243 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $318 = $labelInfo + 12 + ($i$632 << 2) | 0; - $321 = $i$632 << 1; - $322 = $labelInfo + 655376 + ($321 << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$318 >> 2] | 0); - $328 = $labelInfo + 655376 + (($321 | 1) << 3) | 0; - HEAPF64[$328 >> 3] = +HEAPF64[$328 >> 3] / +(HEAP32[$318 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$243 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBR3CA4444($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $105 = 0, $110 = 0, $113 = 0, $130 = 0, $132 = 0, $134 = 0, $138 = 0, $142 = 0, $145 = 0, $147 = 0, $151 = 0, $155 = 0, $159 = 0, $164 = 0, $166 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $18 = 0, $184 = 0, $187 = 0, $189 = 0, $19 = 0, $193 = 0, $197 = 0, $201 = 0, $204 = 0, $209 = 0, $224 = 0, $225 = 0, $231 = 0, $233 = 0, $239 = 0, $24 = 0, $243 = 0, $244 = 0, $251 = 0, $26 = 0, $265 = 0, $266 = 0, $269 = 0, $276 = 0, $277 = 0, $285 = 0, $288 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0, $310 = 0, $314 = 0, $318 = 0, $321 = 0, $322 = 0, $328 = 0, $39 = 0, $42 = 0, $44 = 0, $48 = 0, $52 = 0, $58 = 0, $59 = 0, $62 = 0, $63 = 0, $64 = 0, $67 = 0, $70 = 0, $87 = 0, $89 = 0, $9 = 0, $91 = 0, $95 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 1) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - $26 = HEAPU8[$pnt$163 >> 0] | 0; - do if ((($26 & 240) + 24 + ($26 << 4 & 240) + ((HEAPU8[$pnt$163 + 1 >> 0] | 0) & 240) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $39 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($39 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $39; - $42 = ($39 << 16 >> 16) * 7 | 0; - $44 = $labelInfo + 1310736 + ($42 + -7 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + 1; - $48 = $labelInfo + 1310736 + ($42 + -6 << 2) | 0; - HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) + $i$255; - $52 = $labelInfo + 1310736 + ($42 + -5 << 2) | 0; - HEAP32[$52 >> 2] = (HEAP32[$52 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($42 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $58 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $59 = $58 << 16 >> 16; - $62 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $63 = $62 << 16 >> 16; - $64 = $62 << 16 >> 16 > 0; - if ($58 << 16 >> 16 <= 0) { - if ($64) { - HEAP16[$pnt2$362 >> 1] = $62; - $164 = $63 * 7 | 0; - $166 = $labelInfo + 1310736 + ($164 + -7 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + 1; - $170 = $labelInfo + 1310736 + ($164 + -6 << 2) | 0; - HEAP32[$170 >> 2] = (HEAP32[$170 >> 2] | 0) + $i$255; - $174 = $labelInfo + 1310736 + ($164 + -5 << 2) | 0; - HEAP32[$174 >> 2] = (HEAP32[$174 >> 2] | 0) + $j$068; - $178 = $labelInfo + 1310736 + ($164 + -3 << 2) | 0; - if ((HEAP32[$178 >> 2] | 0) < ($i$255 | 0)) HEAP32[$178 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($164 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $184 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($184 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $184; - $187 = ($184 << 16 >> 16) * 7 | 0; - $189 = $labelInfo + 1310736 + ($187 + -7 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + 1; - $193 = $labelInfo + 1310736 + ($187 + -6 << 2) | 0; - HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + $i$255; - $197 = $labelInfo + 1310736 + ($187 + -5 << 2) | 0; - HEAP32[$197 >> 2] = (HEAP32[$197 >> 2] | 0) + $j$068; - $201 = $labelInfo + 1310736 + ($187 + -3 << 2) | 0; - if ((HEAP32[$201 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$201 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $204 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $204; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $204 << 16 >> 16; - $209 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($209 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($209 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($209 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($209 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($209 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $204; - break; - } - } - if ($64) { - $67 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - $70 = HEAP32[$labelInfo + 1179664 + ($63 + -1 << 2) >> 2] | 0; - if (($67 | 0) > ($70 | 0)) { - HEAP16[$pnt2$362 >> 1] = $70; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($67 | 0)) HEAP32[$wk$052 >> 2] = $70; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $87 = $70; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $87 = $70; - } else { - HEAP16[$pnt2$362 >> 1] = $67; - if (($67 | 0) < ($70 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($70 | 0)) HEAP32[$wk$149 >> 2] = $67; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $87 = $67; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $87 = $67; - } - $89 = ($87 << 16 >> 16) * 7 | 0; - $91 = $labelInfo + 1310736 + ($89 + -7 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + 1; - $95 = $labelInfo + 1310736 + ($89 + -6 << 2) | 0; - HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $i$255; - $99 = $labelInfo + 1310736 + ($89 + -5 << 2) | 0; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($89 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $105 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($105 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $58; - $145 = $59 * 7 | 0; - $147 = $labelInfo + 1310736 + ($145 + -7 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + 1; - $151 = $labelInfo + 1310736 + ($145 + -6 << 2) | 0; - HEAP32[$151 >> 2] = (HEAP32[$151 >> 2] | 0) + $i$255; - $155 = $labelInfo + 1310736 + ($145 + -5 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + $j$068; - $159 = $labelInfo + 1310736 + ($145 + -4 << 2) | 0; - if ((HEAP32[$159 >> 2] | 0) > ($i$255 | 0)) HEAP32[$159 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($145 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $110 = HEAP32[$labelInfo + 1179664 + ($59 + -1 << 2) >> 2] | 0; - $113 = HEAP32[$labelInfo + 1179664 + (($105 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($110 | 0) > ($113 | 0)) { - HEAP16[$pnt2$362 >> 1] = $113; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($110 | 0)) HEAP32[$wk$245 >> 2] = $113; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $130 = $113; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $130 = $113; - } else { - HEAP16[$pnt2$362 >> 1] = $110; - if (($110 | 0) < ($113 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($113 | 0)) HEAP32[$wk$342 >> 2] = $110; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $130 = $110; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $130 = $110; - } - $132 = ($130 << 16 >> 16) * 7 | 0; - $134 = $labelInfo + 1310736 + ($132 + -7 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + 1; - $138 = $labelInfo + 1310736 + ($132 + -6 << 2) | 0; - HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $i$255; - $142 = $labelInfo + 1310736 + ($132 + -5 << 2) | 0; - HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $224 = $pnt$163 + 2 | 0; - $225 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $224; - $pnt2$3$lcssa = $225; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $224; - $pnt2$362 = $225; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $231 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $233 = HEAP32[$wk$439 >> 2] | 0; - if (($233 | 0) == ($i$337 | 0)) { - $239 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $239 = HEAP32[$labelInfo + 1179664 + ($233 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $239; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $243 = $labelInfo + 8 | 0; - $244 = $j$1$lcssa + -1 | 0; - HEAP32[$243 >> 2] = $244; - if (!$244) $$0 = 0; else { - _memset($231 | 0, 0, $244 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $244 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $251 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($251 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($251 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($251 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($251 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$243 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $265 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $266 = $i$533 * 7 | 0; - $269 = $labelInfo + 12 + ($265 << 2) | 0; - HEAP32[$269 >> 2] = (HEAP32[$269 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($266 << 2) >> 2] | 0); - $276 = $265 << 1; - $277 = $labelInfo + 655376 + ($276 << 3) | 0; - HEAPF64[$277 >> 3] = +HEAPF64[$277 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($266 + 1 << 2) >> 2] | 0); - $285 = $labelInfo + 655376 + (($276 | 1) << 3) | 0; - HEAPF64[$285 >> 3] = +HEAPF64[$285 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($266 + 2 << 2) >> 2] | 0); - $288 = $265 << 2; - $289 = $labelInfo + 131084 + ($288 << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($266 + 3 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($288 | 1) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($266 + 4 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($288 | 2) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($266 + 5 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) > ($307 | 0)) HEAP32[$303 >> 2] = $307; - $310 = $labelInfo + 131084 + (($288 | 3) << 2) | 0; - $314 = HEAP32[$labelInfo + 1310736 + ($266 + 6 << 2) >> 2] | 0; - if ((HEAP32[$310 >> 2] | 0) < ($314 | 0)) HEAP32[$310 >> 2] = $314; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$243 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $318 = $labelInfo + 12 + ($i$632 << 2) | 0; - $321 = $i$632 << 1; - $322 = $labelInfo + 655376 + ($321 << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$318 >> 2] | 0); - $328 = $labelInfo + 655376 + (($321 | 1) << 3) | 0; - HEAPF64[$328 >> 3] = +HEAPF64[$328 >> 3] / +(HEAP32[$318 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$243 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $104 = 0, $109 = 0, $112 = 0, $129 = 0, $131 = 0, $133 = 0, $137 = 0, $141 = 0, $144 = 0, $146 = 0, $150 = 0, $154 = 0, $158 = 0, $163 = 0, $165 = 0, $169 = 0, $17 = 0, $173 = 0, $177 = 0, $18 = 0, $183 = 0, $186 = 0, $188 = 0, $19 = 0, $192 = 0, $196 = 0, $200 = 0, $203 = 0, $208 = 0, $223 = 0, $224 = 0, $230 = 0, $232 = 0, $238 = 0, $24 = 0, $242 = 0, $243 = 0, $250 = 0, $264 = 0, $265 = 0, $268 = 0, $275 = 0, $276 = 0, $284 = 0, $287 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $302 = 0, $306 = 0, $309 = 0, $313 = 0, $317 = 0, $320 = 0, $321 = 0, $327 = 0, $38 = 0, $41 = 0, $43 = 0, $47 = 0, $51 = 0, $57 = 0, $58 = 0, $61 = 0, $62 = 0, $63 = 0, $66 = 0, $69 = 0, $86 = 0, $88 = 0, $9 = 0, $90 = 0, $94 = 0, $98 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 2) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 2 >> 0] | 0) + (HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 + 3 >> 0] | 0) | 0) > ($9 | 0)) { - $38 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($38 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $38; - $41 = ($38 << 16 >> 16) * 7 | 0; - $43 = $labelInfo + 1310736 + ($41 + -7 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + 1; - $47 = $labelInfo + 1310736 + ($41 + -6 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $i$255; - $51 = $labelInfo + 1310736 + ($41 + -5 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($41 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $57 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $58 = $57 << 16 >> 16; - $61 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $63 = $61 << 16 >> 16 > 0; - if ($57 << 16 >> 16 <= 0) { - if ($63) { - HEAP16[$pnt2$362 >> 1] = $61; - $163 = $62 * 7 | 0; - $165 = $labelInfo + 1310736 + ($163 + -7 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + 1; - $169 = $labelInfo + 1310736 + ($163 + -6 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + $i$255; - $173 = $labelInfo + 1310736 + ($163 + -5 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $j$068; - $177 = $labelInfo + 1310736 + ($163 + -3 << 2) | 0; - if ((HEAP32[$177 >> 2] | 0) < ($i$255 | 0)) HEAP32[$177 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($163 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $183 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($183 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $183; - $186 = ($183 << 16 >> 16) * 7 | 0; - $188 = $labelInfo + 1310736 + ($186 + -7 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + 1; - $192 = $labelInfo + 1310736 + ($186 + -6 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + $i$255; - $196 = $labelInfo + 1310736 + ($186 + -5 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $j$068; - $200 = $labelInfo + 1310736 + ($186 + -3 << 2) | 0; - if ((HEAP32[$200 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$200 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $203 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $203; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $203 << 16 >> 16; - $208 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($208 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($208 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($208 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($208 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $203; - break; - } - } - if ($63) { - $66 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - $69 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - if (($66 | 0) > ($69 | 0)) { - HEAP16[$pnt2$362 >> 1] = $69; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($66 | 0)) HEAP32[$wk$052 >> 2] = $69; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $86 = $69; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $86 = $69; - } else { - HEAP16[$pnt2$362 >> 1] = $66; - if (($66 | 0) < ($69 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$149 >> 2] = $66; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $86 = $66; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $86 = $66; - } - $88 = ($86 << 16 >> 16) * 7 | 0; - $90 = $labelInfo + 1310736 + ($88 + -7 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + 1; - $94 = $labelInfo + 1310736 + ($88 + -6 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + $i$255; - $98 = $labelInfo + 1310736 + ($88 + -5 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($88 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $104 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($104 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $57; - $144 = $58 * 7 | 0; - $146 = $labelInfo + 1310736 + ($144 + -7 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + 1; - $150 = $labelInfo + 1310736 + ($144 + -6 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $i$255; - $154 = $labelInfo + 1310736 + ($144 + -5 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $j$068; - $158 = $labelInfo + 1310736 + ($144 + -4 << 2) | 0; - if ((HEAP32[$158 >> 2] | 0) > ($i$255 | 0)) HEAP32[$158 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($144 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - $112 = HEAP32[$labelInfo + 1179664 + (($104 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($109 | 0) > ($112 | 0)) { - HEAP16[$pnt2$362 >> 1] = $112; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($109 | 0)) HEAP32[$wk$245 >> 2] = $112; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $129 = $112; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $129 = $112; - } else { - HEAP16[$pnt2$362 >> 1] = $109; - if (($109 | 0) < ($112 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$342 >> 2] = $109; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $129 = $109; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $129 = $109; - } - $131 = ($129 << 16 >> 16) * 7 | 0; - $133 = $labelInfo + 1310736 + ($131 + -7 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + 1; - $137 = $labelInfo + 1310736 + ($131 + -6 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + $i$255; - $141 = $labelInfo + 1310736 + ($131 + -5 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $223 = $pnt$163 + 4 | 0; - $224 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $223; - $pnt2$3$lcssa = $224; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $223; - $pnt2$362 = $224; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 8 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $230 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $232 = HEAP32[$wk$439 >> 2] | 0; - if (($232 | 0) == ($i$337 | 0)) { - $238 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $238 = HEAP32[$labelInfo + 1179664 + ($232 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $238; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $242 = $labelInfo + 8 | 0; - $243 = $j$1$lcssa + -1 | 0; - HEAP32[$242 >> 2] = $243; - if (!$243) $$0 = 0; else { - _memset($230 | 0, 0, $243 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $243 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $250 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($250 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($250 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($250 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($250 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$242 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $264 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $265 = $i$533 * 7 | 0; - $268 = $labelInfo + 12 + ($264 << 2) | 0; - HEAP32[$268 >> 2] = (HEAP32[$268 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($265 << 2) >> 2] | 0); - $275 = $264 << 1; - $276 = $labelInfo + 655376 + ($275 << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 1 << 2) >> 2] | 0); - $284 = $labelInfo + 655376 + (($275 | 1) << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 2 << 2) >> 2] | 0); - $287 = $264 << 2; - $288 = $labelInfo + 131084 + ($287 << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($265 + 3 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) > ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($287 | 1) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($265 + 4 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) < ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($287 | 2) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($265 + 5 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($287 | 3) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($265 + 6 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$242 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $317 = $labelInfo + 12 + ($i$632 << 2) | 0; - $320 = $i$632 << 1; - $321 = $labelInfo + 655376 + ($320 << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$317 >> 2] | 0); - $327 = $labelInfo + 655376 + (($320 | 1) << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$317 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$242 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBRA3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $104 = 0, $109 = 0, $112 = 0, $129 = 0, $131 = 0, $133 = 0, $137 = 0, $141 = 0, $144 = 0, $146 = 0, $150 = 0, $154 = 0, $158 = 0, $163 = 0, $165 = 0, $169 = 0, $17 = 0, $173 = 0, $177 = 0, $18 = 0, $183 = 0, $186 = 0, $188 = 0, $19 = 0, $192 = 0, $196 = 0, $200 = 0, $203 = 0, $208 = 0, $223 = 0, $224 = 0, $230 = 0, $232 = 0, $238 = 0, $24 = 0, $242 = 0, $243 = 0, $250 = 0, $264 = 0, $265 = 0, $268 = 0, $275 = 0, $276 = 0, $284 = 0, $287 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $302 = 0, $306 = 0, $309 = 0, $313 = 0, $317 = 0, $320 = 0, $321 = 0, $327 = 0, $38 = 0, $41 = 0, $43 = 0, $47 = 0, $51 = 0, $57 = 0, $58 = 0, $61 = 0, $62 = 0, $63 = 0, $66 = 0, $69 = 0, $86 = 0, $88 = 0, $9 = 0, $90 = 0, $94 = 0, $98 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 2) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 2 >> 0] | 0) + (HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 + 3 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $38 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($38 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $38; - $41 = ($38 << 16 >> 16) * 7 | 0; - $43 = $labelInfo + 1310736 + ($41 + -7 << 2) | 0; - HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + 1; - $47 = $labelInfo + 1310736 + ($41 + -6 << 2) | 0; - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $i$255; - $51 = $labelInfo + 1310736 + ($41 + -5 << 2) | 0; - HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($41 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $57 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $58 = $57 << 16 >> 16; - $61 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $62 = $61 << 16 >> 16; - $63 = $61 << 16 >> 16 > 0; - if ($57 << 16 >> 16 <= 0) { - if ($63) { - HEAP16[$pnt2$362 >> 1] = $61; - $163 = $62 * 7 | 0; - $165 = $labelInfo + 1310736 + ($163 + -7 << 2) | 0; - HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + 1; - $169 = $labelInfo + 1310736 + ($163 + -6 << 2) | 0; - HEAP32[$169 >> 2] = (HEAP32[$169 >> 2] | 0) + $i$255; - $173 = $labelInfo + 1310736 + ($163 + -5 << 2) | 0; - HEAP32[$173 >> 2] = (HEAP32[$173 >> 2] | 0) + $j$068; - $177 = $labelInfo + 1310736 + ($163 + -3 << 2) | 0; - if ((HEAP32[$177 >> 2] | 0) < ($i$255 | 0)) HEAP32[$177 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($163 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $183 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($183 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $183; - $186 = ($183 << 16 >> 16) * 7 | 0; - $188 = $labelInfo + 1310736 + ($186 + -7 << 2) | 0; - HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + 1; - $192 = $labelInfo + 1310736 + ($186 + -6 << 2) | 0; - HEAP32[$192 >> 2] = (HEAP32[$192 >> 2] | 0) + $i$255; - $196 = $labelInfo + 1310736 + ($186 + -5 << 2) | 0; - HEAP32[$196 >> 2] = (HEAP32[$196 >> 2] | 0) + $j$068; - $200 = $labelInfo + 1310736 + ($186 + -3 << 2) | 0; - if ((HEAP32[$200 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$200 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $203 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $203; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $203 << 16 >> 16; - $208 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($208 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($208 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($208 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($208 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($208 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $203; - break; - } - } - if ($63) { - $66 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - $69 = HEAP32[$labelInfo + 1179664 + ($62 + -1 << 2) >> 2] | 0; - if (($66 | 0) > ($69 | 0)) { - HEAP16[$pnt2$362 >> 1] = $69; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($66 | 0)) HEAP32[$wk$052 >> 2] = $69; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $86 = $69; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $86 = $69; - } else { - HEAP16[$pnt2$362 >> 1] = $66; - if (($66 | 0) < ($69 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($69 | 0)) HEAP32[$wk$149 >> 2] = $66; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $86 = $66; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $86 = $66; - } - $88 = ($86 << 16 >> 16) * 7 | 0; - $90 = $labelInfo + 1310736 + ($88 + -7 << 2) | 0; - HEAP32[$90 >> 2] = (HEAP32[$90 >> 2] | 0) + 1; - $94 = $labelInfo + 1310736 + ($88 + -6 << 2) | 0; - HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + $i$255; - $98 = $labelInfo + 1310736 + ($88 + -5 << 2) | 0; - HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($88 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $104 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($104 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $57; - $144 = $58 * 7 | 0; - $146 = $labelInfo + 1310736 + ($144 + -7 << 2) | 0; - HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + 1; - $150 = $labelInfo + 1310736 + ($144 + -6 << 2) | 0; - HEAP32[$150 >> 2] = (HEAP32[$150 >> 2] | 0) + $i$255; - $154 = $labelInfo + 1310736 + ($144 + -5 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + $j$068; - $158 = $labelInfo + 1310736 + ($144 + -4 << 2) | 0; - if ((HEAP32[$158 >> 2] | 0) > ($i$255 | 0)) HEAP32[$158 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($144 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $109 = HEAP32[$labelInfo + 1179664 + ($58 + -1 << 2) >> 2] | 0; - $112 = HEAP32[$labelInfo + 1179664 + (($104 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($109 | 0) > ($112 | 0)) { - HEAP16[$pnt2$362 >> 1] = $112; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($109 | 0)) HEAP32[$wk$245 >> 2] = $112; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $129 = $112; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $129 = $112; - } else { - HEAP16[$pnt2$362 >> 1] = $109; - if (($109 | 0) < ($112 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($112 | 0)) HEAP32[$wk$342 >> 2] = $109; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $129 = $109; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $129 = $109; - } - $131 = ($129 << 16 >> 16) * 7 | 0; - $133 = $labelInfo + 1310736 + ($131 + -7 << 2) | 0; - HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + 1; - $137 = $labelInfo + 1310736 + ($131 + -6 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + $i$255; - $141 = $labelInfo + 1310736 + ($131 + -5 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $223 = $pnt$163 + 4 | 0; - $224 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $223; - $pnt2$3$lcssa = $224; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $223; - $pnt2$362 = $224; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 8 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $230 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $232 = HEAP32[$wk$439 >> 2] | 0; - if (($232 | 0) == ($i$337 | 0)) { - $238 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $238 = HEAP32[$labelInfo + 1179664 + ($232 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $238; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $242 = $labelInfo + 8 | 0; - $243 = $j$1$lcssa + -1 | 0; - HEAP32[$242 >> 2] = $243; - if (!$243) $$0 = 0; else { - _memset($230 | 0, 0, $243 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $243 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $250 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($250 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($250 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($250 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($250 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$242 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $264 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $265 = $i$533 * 7 | 0; - $268 = $labelInfo + 12 + ($264 << 2) | 0; - HEAP32[$268 >> 2] = (HEAP32[$268 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($265 << 2) >> 2] | 0); - $275 = $264 << 1; - $276 = $labelInfo + 655376 + ($275 << 3) | 0; - HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 1 << 2) >> 2] | 0); - $284 = $labelInfo + 655376 + (($275 | 1) << 3) | 0; - HEAPF64[$284 >> 3] = +HEAPF64[$284 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($265 + 2 << 2) >> 2] | 0); - $287 = $264 << 2; - $288 = $labelInfo + 131084 + ($287 << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($265 + 3 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) > ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($287 | 1) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($265 + 4 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) < ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($287 | 2) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($265 + 5 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) > ($306 | 0)) HEAP32[$302 >> 2] = $306; - $309 = $labelInfo + 131084 + (($287 | 3) << 2) | 0; - $313 = HEAP32[$labelInfo + 1310736 + ($265 + 6 << 2) >> 2] | 0; - if ((HEAP32[$309 >> 2] | 0) < ($313 | 0)) HEAP32[$309 >> 2] = $313; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$242 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $317 = $labelInfo + 12 + ($i$632 << 2) | 0; - $320 = $i$632 << 1; - $321 = $labelInfo + 655376 + ($320 << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$317 >> 2] | 0); - $327 = $labelInfo + 655376 + (($320 | 1) << 3) | 0; - HEAPF64[$327 >> 3] = +HEAPF64[$327 >> 3] / +(HEAP32[$317 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$242 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $108 = 0, $111 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $140 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $157 = 0, $162 = 0, $164 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $182 = 0, $185 = 0, $187 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $202 = 0, $207 = 0, $222 = 0, $223 = 0, $229 = 0, $231 = 0, $237 = 0, $24 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $50 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $85 = 0, $87 = 0, $89 = 0, $9 = 0, $93 = 0, $97 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 * 3 | 0) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 >> 0] | 0) + (HEAPU8[$pnt$163 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - $37 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($37 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $37; - $40 = ($37 << 16 >> 16) * 7 | 0; - $42 = $labelInfo + 1310736 + ($40 + -7 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; - $46 = $labelInfo + 1310736 + ($40 + -6 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $i$255; - $50 = $labelInfo + 1310736 + ($40 + -5 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($40 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $56 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $60 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $62 = $60 << 16 >> 16 > 0; - if ($56 << 16 >> 16 <= 0) { - if ($62) { - HEAP16[$pnt2$362 >> 1] = $60; - $162 = $61 * 7 | 0; - $164 = $labelInfo + 1310736 + ($162 + -7 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + 1; - $168 = $labelInfo + 1310736 + ($162 + -6 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $i$255; - $172 = $labelInfo + 1310736 + ($162 + -5 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $j$068; - $176 = $labelInfo + 1310736 + ($162 + -3 << 2) | 0; - if ((HEAP32[$176 >> 2] | 0) < ($i$255 | 0)) HEAP32[$176 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($162 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $182 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($182 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $182; - $185 = ($182 << 16 >> 16) * 7 | 0; - $187 = $labelInfo + 1310736 + ($185 + -7 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + 1; - $191 = $labelInfo + 1310736 + ($185 + -6 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $i$255; - $195 = $labelInfo + 1310736 + ($185 + -5 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $j$068; - $199 = $labelInfo + 1310736 + ($185 + -3 << 2) | 0; - if ((HEAP32[$199 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$199 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $202 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $202; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $202 << 16 >> 16; - $207 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($207 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($207 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $202; - break; - } - } - if ($62) { - $65 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $68 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - if (($65 | 0) > ($68 | 0)) { - HEAP16[$pnt2$362 >> 1] = $68; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$052 >> 2] = $68; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $85 = $68; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $85 = $68; - } else { - HEAP16[$pnt2$362 >> 1] = $65; - if (($65 | 0) < ($68 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$149 >> 2] = $65; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $85 = $65; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $85 = $65; - } - $87 = ($85 << 16 >> 16) * 7 | 0; - $89 = $labelInfo + 1310736 + ($87 + -7 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + 1; - $93 = $labelInfo + 1310736 + ($87 + -6 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $i$255; - $97 = $labelInfo + 1310736 + ($87 + -5 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($87 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $103 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($103 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $56; - $143 = $57 * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$255; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$068; - $157 = $labelInfo + 1310736 + ($143 + -4 << 2) | 0; - if ((HEAP32[$157 >> 2] | 0) > ($i$255 | 0)) HEAP32[$157 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($143 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $108 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $111 = HEAP32[$labelInfo + 1179664 + (($103 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($108 | 0) > ($111 | 0)) { - HEAP16[$pnt2$362 >> 1] = $111; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$245 >> 2] = $111; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $128 = $111; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $128 = $111; - } else { - HEAP16[$pnt2$362 >> 1] = $108; - if (($108 | 0) < ($111 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$342 >> 2] = $108; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $128 = $108; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $128 = $108; - } - $130 = ($128 << 16 >> 16) * 7 | 0; - $132 = $labelInfo + 1310736 + ($130 + -7 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + 1; - $136 = $labelInfo + 1310736 + ($130 + -6 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $i$255; - $140 = $labelInfo + 1310736 + ($130 + -5 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $222 = $pnt$163 + 3 | 0; - $223 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $222; - $pnt2$3$lcssa = $223; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $222; - $pnt2$362 = $223; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 6 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $231 = HEAP32[$wk$439 >> 2] | 0; - if (($231 | 0) == ($i$337 | 0)) { - $237 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $237; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $249 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$533 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $316 = $labelInfo + 12 + ($i$632 << 2) | 0; - $319 = $i$632 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBR3C($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $108 = 0, $111 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $140 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $157 = 0, $162 = 0, $164 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $182 = 0, $185 = 0, $187 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $202 = 0, $207 = 0, $222 = 0, $223 = 0, $229 = 0, $231 = 0, $237 = 0, $24 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $50 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $85 = 0, $87 = 0, $89 = 0, $9 = 0, $93 = 0, $97 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 * 3 | 0) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 >> 0] | 0) + (HEAPU8[$pnt$163 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $37 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($37 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $37; - $40 = ($37 << 16 >> 16) * 7 | 0; - $42 = $labelInfo + 1310736 + ($40 + -7 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; - $46 = $labelInfo + 1310736 + ($40 + -6 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $i$255; - $50 = $labelInfo + 1310736 + ($40 + -5 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($40 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $56 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $60 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $62 = $60 << 16 >> 16 > 0; - if ($56 << 16 >> 16 <= 0) { - if ($62) { - HEAP16[$pnt2$362 >> 1] = $60; - $162 = $61 * 7 | 0; - $164 = $labelInfo + 1310736 + ($162 + -7 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + 1; - $168 = $labelInfo + 1310736 + ($162 + -6 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $i$255; - $172 = $labelInfo + 1310736 + ($162 + -5 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $j$068; - $176 = $labelInfo + 1310736 + ($162 + -3 << 2) | 0; - if ((HEAP32[$176 >> 2] | 0) < ($i$255 | 0)) HEAP32[$176 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($162 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $182 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($182 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $182; - $185 = ($182 << 16 >> 16) * 7 | 0; - $187 = $labelInfo + 1310736 + ($185 + -7 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + 1; - $191 = $labelInfo + 1310736 + ($185 + -6 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $i$255; - $195 = $labelInfo + 1310736 + ($185 + -5 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $j$068; - $199 = $labelInfo + 1310736 + ($185 + -3 << 2) | 0; - if ((HEAP32[$199 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$199 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $202 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $202; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $202 << 16 >> 16; - $207 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($207 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($207 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $202; - break; - } - } - if ($62) { - $65 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $68 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - if (($65 | 0) > ($68 | 0)) { - HEAP16[$pnt2$362 >> 1] = $68; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$052 >> 2] = $68; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $85 = $68; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $85 = $68; - } else { - HEAP16[$pnt2$362 >> 1] = $65; - if (($65 | 0) < ($68 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$149 >> 2] = $65; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $85 = $65; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $85 = $65; - } - $87 = ($85 << 16 >> 16) * 7 | 0; - $89 = $labelInfo + 1310736 + ($87 + -7 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + 1; - $93 = $labelInfo + 1310736 + ($87 + -6 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $i$255; - $97 = $labelInfo + 1310736 + ($87 + -5 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($87 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $103 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($103 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $56; - $143 = $57 * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$255; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$068; - $157 = $labelInfo + 1310736 + ($143 + -4 << 2) | 0; - if ((HEAP32[$157 >> 2] | 0) > ($i$255 | 0)) HEAP32[$157 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($143 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $108 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $111 = HEAP32[$labelInfo + 1179664 + (($103 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($108 | 0) > ($111 | 0)) { - HEAP16[$pnt2$362 >> 1] = $111; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$245 >> 2] = $111; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $128 = $111; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $128 = $111; - } else { - HEAP16[$pnt2$362 >> 1] = $108; - if (($108 | 0) < ($111 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$342 >> 2] = $108; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $128 = $108; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $128 = $108; - } - $130 = ($128 << 16 >> 16) * 7 | 0; - $132 = $labelInfo + 1310736 + ($130 + -7 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + 1; - $136 = $labelInfo + 1310736 + ($130 + -6 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $i$255; - $140 = $labelInfo + 1310736 + ($130 + -5 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $222 = $pnt$163 + 3 | 0; - $223 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $222; - $pnt2$3$lcssa = $223; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $222; - $pnt2$362 = $223; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 6 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $231 = HEAP32[$wk$439 >> 2] | 0; - if (($231 | 0) == ($i$337 | 0)) { - $237 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $237; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $249 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$533 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $316 = $labelInfo + 12 + ($i$632 << 2) | 0; - $319 = $i$632 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $108 = 0, $111 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $140 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $157 = 0, $162 = 0, $164 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $182 = 0, $185 = 0, $187 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $202 = 0, $207 = 0, $222 = 0, $223 = 0, $229 = 0, $231 = 0, $237 = 0, $24 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $50 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $85 = 0, $87 = 0, $89 = 0, $9 = 0, $93 = 0, $97 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 2) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 >> 0] | 0) + (HEAPU8[$pnt$163 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - $37 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($37 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $37; - $40 = ($37 << 16 >> 16) * 7 | 0; - $42 = $labelInfo + 1310736 + ($40 + -7 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; - $46 = $labelInfo + 1310736 + ($40 + -6 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $i$255; - $50 = $labelInfo + 1310736 + ($40 + -5 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($40 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $56 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $60 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $62 = $60 << 16 >> 16 > 0; - if ($56 << 16 >> 16 <= 0) { - if ($62) { - HEAP16[$pnt2$362 >> 1] = $60; - $162 = $61 * 7 | 0; - $164 = $labelInfo + 1310736 + ($162 + -7 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + 1; - $168 = $labelInfo + 1310736 + ($162 + -6 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $i$255; - $172 = $labelInfo + 1310736 + ($162 + -5 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $j$068; - $176 = $labelInfo + 1310736 + ($162 + -3 << 2) | 0; - if ((HEAP32[$176 >> 2] | 0) < ($i$255 | 0)) HEAP32[$176 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($162 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $182 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($182 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $182; - $185 = ($182 << 16 >> 16) * 7 | 0; - $187 = $labelInfo + 1310736 + ($185 + -7 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + 1; - $191 = $labelInfo + 1310736 + ($185 + -6 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $i$255; - $195 = $labelInfo + 1310736 + ($185 + -5 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $j$068; - $199 = $labelInfo + 1310736 + ($185 + -3 << 2) | 0; - if ((HEAP32[$199 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$199 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $202 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $202; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $202 << 16 >> 16; - $207 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($207 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($207 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $202; - break; - } - } - if ($62) { - $65 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $68 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - if (($65 | 0) > ($68 | 0)) { - HEAP16[$pnt2$362 >> 1] = $68; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$052 >> 2] = $68; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $85 = $68; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $85 = $68; - } else { - HEAP16[$pnt2$362 >> 1] = $65; - if (($65 | 0) < ($68 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$149 >> 2] = $65; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $85 = $65; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $85 = $65; - } - $87 = ($85 << 16 >> 16) * 7 | 0; - $89 = $labelInfo + 1310736 + ($87 + -7 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + 1; - $93 = $labelInfo + 1310736 + ($87 + -6 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $i$255; - $97 = $labelInfo + 1310736 + ($87 + -5 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($87 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $103 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($103 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $56; - $143 = $57 * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$255; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$068; - $157 = $labelInfo + 1310736 + ($143 + -4 << 2) | 0; - if ((HEAP32[$157 >> 2] | 0) > ($i$255 | 0)) HEAP32[$157 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($143 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $108 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $111 = HEAP32[$labelInfo + 1179664 + (($103 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($108 | 0) > ($111 | 0)) { - HEAP16[$pnt2$362 >> 1] = $111; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$245 >> 2] = $111; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $128 = $111; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $128 = $111; - } else { - HEAP16[$pnt2$362 >> 1] = $108; - if (($108 | 0) < ($111 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$342 >> 2] = $108; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $128 = $108; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $128 = $108; - } - $130 = ($128 << 16 >> 16) * 7 | 0; - $132 = $labelInfo + 1310736 + ($130 + -7 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + 1; - $136 = $labelInfo + 1310736 + ($130 + -6 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $i$255; - $140 = $labelInfo + 1310736 + ($130 + -5 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $222 = $pnt$163 + 4 | 0; - $223 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $222; - $pnt2$3$lcssa = $223; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $222; - $pnt2$362 = $223; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 8 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $231 = HEAP32[$wk$439 >> 2] | 0; - if (($231 | 0) == ($i$337 | 0)) { - $237 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $237; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $249 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$533 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $316 = $labelInfo + 12 + ($i$632 << 2) | 0; - $319 = $i$632 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBR3CA($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $108 = 0, $111 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $140 = 0, $143 = 0, $145 = 0, $149 = 0, $153 = 0, $157 = 0, $162 = 0, $164 = 0, $168 = 0, $17 = 0, $172 = 0, $176 = 0, $18 = 0, $182 = 0, $185 = 0, $187 = 0, $19 = 0, $191 = 0, $195 = 0, $199 = 0, $202 = 0, $207 = 0, $222 = 0, $223 = 0, $229 = 0, $231 = 0, $237 = 0, $24 = 0, $241 = 0, $242 = 0, $249 = 0, $263 = 0, $264 = 0, $267 = 0, $274 = 0, $275 = 0, $283 = 0, $286 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $326 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $50 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $85 = 0, $87 = 0, $89 = 0, $9 = 0, $93 = 0, $97 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $labelingThresh * 3 | 0; - $10 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($10 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $17 = $labelInfo + 1179664 | 0; - $18 = $xsize + 1 | 0; - $19 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $24 = ($10 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($18 << 2) | 0; - $pnt2$271 = $0 + ($18 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($24) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if (((HEAPU8[$pnt$163 + 1 >> 0] | 0) + (HEAPU8[$pnt$163 >> 0] | 0) + (HEAPU8[$pnt$163 + 2 >> 0] | 0) | 0) > ($9 | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $37 = HEAP16[$pnt2$362 + ($19 << 1) >> 1] | 0; - if ($37 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $37; - $40 = ($37 << 16 >> 16) * 7 | 0; - $42 = $labelInfo + 1310736 + ($40 + -7 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; - $46 = $labelInfo + 1310736 + ($40 + -6 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $i$255; - $50 = $labelInfo + 1310736 + ($40 + -5 << 2) | 0; - HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($40 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $56 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $60 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $61 = $60 << 16 >> 16; - $62 = $60 << 16 >> 16 > 0; - if ($56 << 16 >> 16 <= 0) { - if ($62) { - HEAP16[$pnt2$362 >> 1] = $60; - $162 = $61 * 7 | 0; - $164 = $labelInfo + 1310736 + ($162 + -7 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + 1; - $168 = $labelInfo + 1310736 + ($162 + -6 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $i$255; - $172 = $labelInfo + 1310736 + ($162 + -5 << 2) | 0; - HEAP32[$172 >> 2] = (HEAP32[$172 >> 2] | 0) + $j$068; - $176 = $labelInfo + 1310736 + ($162 + -3 << 2) | 0; - if ((HEAP32[$176 >> 2] | 0) < ($i$255 | 0)) HEAP32[$176 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($162 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $182 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($182 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $182; - $185 = ($182 << 16 >> 16) * 7 | 0; - $187 = $labelInfo + 1310736 + ($185 + -7 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + 1; - $191 = $labelInfo + 1310736 + ($185 + -6 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $i$255; - $195 = $labelInfo + 1310736 + ($185 + -5 << 2) | 0; - HEAP32[$195 >> 2] = (HEAP32[$195 >> 2] | 0) + $j$068; - $199 = $labelInfo + 1310736 + ($185 + -3 << 2) | 0; - if ((HEAP32[$199 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$199 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $202 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $202; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $202 << 16 >> 16; - $207 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($207 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($207 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($207 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($207 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $202; - break; - } - } - if ($62) { - $65 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $68 = HEAP32[$labelInfo + 1179664 + ($61 + -1 << 2) >> 2] | 0; - if (($65 | 0) > ($68 | 0)) { - HEAP16[$pnt2$362 >> 1] = $68; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $17; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($65 | 0)) HEAP32[$wk$052 >> 2] = $68; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $85 = $68; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $85 = $68; - } else { - HEAP16[$pnt2$362 >> 1] = $65; - if (($65 | 0) < ($68 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $17; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($68 | 0)) HEAP32[$wk$149 >> 2] = $65; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $85 = $65; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $85 = $65; - } - $87 = ($85 << 16 >> 16) * 7 | 0; - $89 = $labelInfo + 1310736 + ($87 + -7 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + 1; - $93 = $labelInfo + 1310736 + ($87 + -6 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $i$255; - $97 = $labelInfo + 1310736 + ($87 + -5 << 2) | 0; - HEAP32[$97 >> 2] = (HEAP32[$97 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($87 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $103 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($103 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $56; - $143 = $57 * 7 | 0; - $145 = $labelInfo + 1310736 + ($143 + -7 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + 1; - $149 = $labelInfo + 1310736 + ($143 + -6 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $i$255; - $153 = $labelInfo + 1310736 + ($143 + -5 << 2) | 0; - HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + $j$068; - $157 = $labelInfo + 1310736 + ($143 + -4 << 2) | 0; - if ((HEAP32[$157 >> 2] | 0) > ($i$255 | 0)) HEAP32[$157 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($143 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $108 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - $111 = HEAP32[$labelInfo + 1179664 + (($103 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($108 | 0) > ($111 | 0)) { - HEAP16[$pnt2$362 >> 1] = $111; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $17; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($108 | 0)) HEAP32[$wk$245 >> 2] = $111; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $128 = $111; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $128 = $111; - } else { - HEAP16[$pnt2$362 >> 1] = $108; - if (($108 | 0) < ($111 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $17; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($111 | 0)) HEAP32[$wk$342 >> 2] = $108; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $128 = $108; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $128 = $108; - } - $130 = ($128 << 16 >> 16) * 7 | 0; - $132 = $labelInfo + 1310736 + ($130 + -7 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + 1; - $136 = $labelInfo + 1310736 + ($130 + -6 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $i$255; - $140 = $labelInfo + 1310736 + ($130 + -5 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $222 = $pnt$163 + 4 | 0; - $223 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($10 | 0)) { - $pnt$1$lcssa = $222; - $pnt2$3$lcssa = $223; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $222; - $pnt2$362 = $223; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 8 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $229 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $17; - while (1) { - $231 = HEAP32[$wk$439 >> 2] | 0; - if (($231 | 0) == ($i$337 | 0)) { - $237 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $237 = HEAP32[$labelInfo + 1179664 + ($231 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $237; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $241 = $labelInfo + 8 | 0; - $242 = $j$1$lcssa + -1 | 0; - HEAP32[$241 >> 2] = $242; - if (!$242) $$0 = 0; else { - _memset($229 | 0, 0, $242 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $242 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $249 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($249 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($249 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($249 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($249 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$241 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $263 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $264 = $i$533 * 7 | 0; - $267 = $labelInfo + 12 + ($263 << 2) | 0; - HEAP32[$267 >> 2] = (HEAP32[$267 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($264 << 2) >> 2] | 0); - $274 = $263 << 1; - $275 = $labelInfo + 655376 + ($274 << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 1 << 2) >> 2] | 0); - $283 = $labelInfo + 655376 + (($274 | 1) << 3) | 0; - HEAPF64[$283 >> 3] = +HEAPF64[$283 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($264 + 2 << 2) >> 2] | 0); - $286 = $263 << 2; - $287 = $labelInfo + 131084 + ($286 << 2) | 0; - $291 = HEAP32[$labelInfo + 1310736 + ($264 + 3 << 2) >> 2] | 0; - if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; - $294 = $labelInfo + 131084 + (($286 | 1) << 2) | 0; - $298 = HEAP32[$labelInfo + 1310736 + ($264 + 4 << 2) >> 2] | 0; - if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; - $301 = $labelInfo + 131084 + (($286 | 2) << 2) | 0; - $305 = HEAP32[$labelInfo + 1310736 + ($264 + 5 << 2) >> 2] | 0; - if ((HEAP32[$301 >> 2] | 0) > ($305 | 0)) HEAP32[$301 >> 2] = $305; - $308 = $labelInfo + 131084 + (($286 | 3) << 2) | 0; - $312 = HEAP32[$labelInfo + 1310736 + ($264 + 6 << 2) >> 2] | 0; - if ((HEAP32[$308 >> 2] | 0) < ($312 | 0)) HEAP32[$308 >> 2] = $312; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$241 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $316 = $labelInfo + 12 + ($i$632 << 2) | 0; - $319 = $i$632 << 1; - $320 = $labelInfo + 655376 + ($319 << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$316 >> 2] | 0); - $326 = $labelInfo + 655376 + (($319 | 1) << 3) | 0; - HEAPF64[$326 >> 3] = +HEAPF64[$326 >> 3] / +(HEAP32[$316 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$241 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $104 = 0, $107 = 0, $11 = 0, $124 = 0, $126 = 0, $128 = 0, $132 = 0, $136 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $153 = 0, $158 = 0, $160 = 0, $164 = 0, $168 = 0, $172 = 0, $178 = 0, $18 = 0, $181 = 0, $183 = 0, $187 = 0, $191 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $203 = 0, $218 = 0, $219 = 0, $225 = 0, $227 = 0, $233 = 0, $237 = 0, $238 = 0, $245 = 0, $259 = 0, $260 = 0, $263 = 0, $27 = 0, $270 = 0, $271 = 0, $279 = 0, $282 = 0, $283 = 0, $287 = 0, $290 = 0, $294 = 0, $297 = 0, $3 = 0, $301 = 0, $304 = 0, $308 = 0, $312 = 0, $315 = 0, $316 = 0, $322 = 0, $33 = 0, $36 = 0, $38 = 0, $42 = 0, $46 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $58 = 0, $61 = 0, $64 = 0, $81 = 0, $83 = 0, $85 = 0, $89 = 0, $93 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $27 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($27) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $33 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($33 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $33; - $36 = ($33 << 16 >> 16) * 7 | 0; - $38 = $labelInfo + 1310736 + ($36 + -7 << 2) | 0; - HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + 1; - $42 = $labelInfo + 1310736 + ($36 + -6 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $i$256; - $46 = $labelInfo + 1310736 + ($36 + -5 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($36 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $52 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $53 = $52 << 16 >> 16; - $56 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $58 = $56 << 16 >> 16 > 0; - if ($52 << 16 >> 16 <= 0) { - if ($58) { - HEAP16[$pnt2$363 >> 1] = $56; - $158 = $57 * 7 | 0; - $160 = $labelInfo + 1310736 + ($158 + -7 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + 1; - $164 = $labelInfo + 1310736 + ($158 + -6 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $i$256; - $168 = $labelInfo + 1310736 + ($158 + -5 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $j$069; - $172 = $labelInfo + 1310736 + ($158 + -3 << 2) | 0; - if ((HEAP32[$172 >> 2] | 0) < ($i$256 | 0)) HEAP32[$172 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($158 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $178 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($178 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $178; - $181 = ($178 << 16 >> 16) * 7 | 0; - $183 = $labelInfo + 1310736 + ($181 + -7 << 2) | 0; - HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + 1; - $187 = $labelInfo + 1310736 + ($181 + -6 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $i$256; - $191 = $labelInfo + 1310736 + ($181 + -5 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $j$069; - $195 = $labelInfo + 1310736 + ($181 + -3 << 2) | 0; - if ((HEAP32[$195 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$195 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $198 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $198; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $198 << 16 >> 16; - $203 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($203 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($203 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($203 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($203 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $198; - break; - } - } - if ($58) { - $61 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - $64 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - if (($61 | 0) > ($64 | 0)) { - HEAP16[$pnt2$363 >> 1] = $64; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($61 | 0)) HEAP32[$wk$053 >> 2] = $64; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $81 = $64; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $81 = $64; - } else { - HEAP16[$pnt2$363 >> 1] = $61; - if (($61 | 0) < ($64 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($64 | 0)) HEAP32[$wk$150 >> 2] = $61; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $81 = $61; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $81 = $61; - } - $83 = ($81 << 16 >> 16) * 7 | 0; - $85 = $labelInfo + 1310736 + ($83 + -7 << 2) | 0; - HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + 1; - $89 = $labelInfo + 1310736 + ($83 + -6 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $i$256; - $93 = $labelInfo + 1310736 + ($83 + -5 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($83 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $99 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($99 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $52; - $139 = $53 * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$256; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$069; - $153 = $labelInfo + 1310736 + ($139 + -4 << 2) | 0; - if ((HEAP32[$153 >> 2] | 0) > ($i$256 | 0)) HEAP32[$153 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($139 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $104 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - $107 = HEAP32[$labelInfo + 1179664 + (($99 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($104 | 0) > ($107 | 0)) { - HEAP16[$pnt2$363 >> 1] = $107; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($104 | 0)) HEAP32[$wk$246 >> 2] = $107; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $124 = $107; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $124 = $107; - } else { - HEAP16[$pnt2$363 >> 1] = $104; - if (($104 | 0) < ($107 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($107 | 0)) HEAP32[$wk$343 >> 2] = $104; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $124 = $104; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $124 = $104; - } - $126 = ($124 << 16 >> 16) * 7 | 0; - $128 = $labelInfo + 1310736 + ($126 + -7 << 2) | 0; - HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + 1; - $132 = $labelInfo + 1310736 + ($126 + -6 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $i$256; - $136 = $labelInfo + 1310736 + ($126 + -5 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $218 = $pnt$164 + 4 | 0; - $219 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $218; - $pnt2$3$lcssa = $219; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $218; - $pnt2$363 = $219; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $225 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $227 = HEAP32[$wk$440 >> 2] | 0; - if (($227 | 0) == ($i$338 | 0)) { - $233 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $233 = HEAP32[$labelInfo + 1179664 + ($227 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $233; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $237 = $labelInfo + 8 | 0; - $238 = $j$1$lcssa + -1 | 0; - HEAP32[$237 >> 2] = $238; - if (!$238) $$0 = 0; else { - _memset($225 | 0, 0, $238 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $238 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $245 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($245 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($245 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($245 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($245 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$237 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $259 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $260 = $i$534 * 7 | 0; - $263 = $labelInfo + 12 + ($259 << 2) | 0; - HEAP32[$263 >> 2] = (HEAP32[$263 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($260 << 2) >> 2] | 0); - $270 = $259 << 1; - $271 = $labelInfo + 655376 + ($270 << 3) | 0; - HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 1 << 2) >> 2] | 0); - $279 = $labelInfo + 655376 + (($270 | 1) << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 2 << 2) >> 2] | 0); - $282 = $259 << 2; - $283 = $labelInfo + 131084 + ($282 << 2) | 0; - $287 = HEAP32[$labelInfo + 1310736 + ($260 + 3 << 2) >> 2] | 0; - if ((HEAP32[$283 >> 2] | 0) > ($287 | 0)) HEAP32[$283 >> 2] = $287; - $290 = $labelInfo + 131084 + (($282 | 1) << 2) | 0; - $294 = HEAP32[$labelInfo + 1310736 + ($260 + 4 << 2) >> 2] | 0; - if ((HEAP32[$290 >> 2] | 0) < ($294 | 0)) HEAP32[$290 >> 2] = $294; - $297 = $labelInfo + 131084 + (($282 | 2) << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($260 + 5 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($282 | 3) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($260 + 6 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$237 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $312 = $labelInfo + 12 + ($i$633 << 2) | 0; - $315 = $i$633 << 1; - $316 = $labelInfo + 655376 + ($315 << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$312 >> 2] | 0); - $322 = $labelInfo + 655376 + (($315 | 1) << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$312 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$237 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBICY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $104 = 0, $107 = 0, $11 = 0, $124 = 0, $126 = 0, $128 = 0, $132 = 0, $136 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $153 = 0, $158 = 0, $160 = 0, $164 = 0, $168 = 0, $172 = 0, $178 = 0, $18 = 0, $181 = 0, $183 = 0, $187 = 0, $191 = 0, $195 = 0, $198 = 0, $2 = 0, $20 = 0, $203 = 0, $218 = 0, $219 = 0, $225 = 0, $227 = 0, $233 = 0, $237 = 0, $238 = 0, $245 = 0, $259 = 0, $260 = 0, $263 = 0, $27 = 0, $270 = 0, $271 = 0, $279 = 0, $282 = 0, $283 = 0, $287 = 0, $290 = 0, $294 = 0, $297 = 0, $3 = 0, $301 = 0, $304 = 0, $308 = 0, $312 = 0, $315 = 0, $316 = 0, $322 = 0, $33 = 0, $36 = 0, $38 = 0, $42 = 0, $46 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $58 = 0, $61 = 0, $64 = 0, $81 = 0, $83 = 0, $85 = 0, $89 = 0, $93 = 0, $99 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $27 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($27) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $33 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($33 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $33; - $36 = ($33 << 16 >> 16) * 7 | 0; - $38 = $labelInfo + 1310736 + ($36 + -7 << 2) | 0; - HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + 1; - $42 = $labelInfo + 1310736 + ($36 + -6 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $i$256; - $46 = $labelInfo + 1310736 + ($36 + -5 << 2) | 0; - HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($36 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $52 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $53 = $52 << 16 >> 16; - $56 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $57 = $56 << 16 >> 16; - $58 = $56 << 16 >> 16 > 0; - if ($52 << 16 >> 16 <= 0) { - if ($58) { - HEAP16[$pnt2$363 >> 1] = $56; - $158 = $57 * 7 | 0; - $160 = $labelInfo + 1310736 + ($158 + -7 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + 1; - $164 = $labelInfo + 1310736 + ($158 + -6 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $i$256; - $168 = $labelInfo + 1310736 + ($158 + -5 << 2) | 0; - HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $j$069; - $172 = $labelInfo + 1310736 + ($158 + -3 << 2) | 0; - if ((HEAP32[$172 >> 2] | 0) < ($i$256 | 0)) HEAP32[$172 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($158 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $178 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($178 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $178; - $181 = ($178 << 16 >> 16) * 7 | 0; - $183 = $labelInfo + 1310736 + ($181 + -7 << 2) | 0; - HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + 1; - $187 = $labelInfo + 1310736 + ($181 + -6 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $i$256; - $191 = $labelInfo + 1310736 + ($181 + -5 << 2) | 0; - HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $j$069; - $195 = $labelInfo + 1310736 + ($181 + -3 << 2) | 0; - if ((HEAP32[$195 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$195 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $198 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $198; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $198 << 16 >> 16; - $203 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($203 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($203 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($203 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($203 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($203 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $198; - break; - } - } - if ($58) { - $61 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - $64 = HEAP32[$labelInfo + 1179664 + ($57 + -1 << 2) >> 2] | 0; - if (($61 | 0) > ($64 | 0)) { - HEAP16[$pnt2$363 >> 1] = $64; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($61 | 0)) HEAP32[$wk$053 >> 2] = $64; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $81 = $64; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $81 = $64; - } else { - HEAP16[$pnt2$363 >> 1] = $61; - if (($61 | 0) < ($64 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($64 | 0)) HEAP32[$wk$150 >> 2] = $61; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $81 = $61; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $81 = $61; - } - $83 = ($81 << 16 >> 16) * 7 | 0; - $85 = $labelInfo + 1310736 + ($83 + -7 << 2) | 0; - HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + 1; - $89 = $labelInfo + 1310736 + ($83 + -6 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $i$256; - $93 = $labelInfo + 1310736 + ($83 + -5 << 2) | 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($83 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $99 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($99 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $52; - $139 = $53 * 7 | 0; - $141 = $labelInfo + 1310736 + ($139 + -7 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; - $145 = $labelInfo + 1310736 + ($139 + -6 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $i$256; - $149 = $labelInfo + 1310736 + ($139 + -5 << 2) | 0; - HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $j$069; - $153 = $labelInfo + 1310736 + ($139 + -4 << 2) | 0; - if ((HEAP32[$153 >> 2] | 0) > ($i$256 | 0)) HEAP32[$153 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($139 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $104 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - $107 = HEAP32[$labelInfo + 1179664 + (($99 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($104 | 0) > ($107 | 0)) { - HEAP16[$pnt2$363 >> 1] = $107; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($104 | 0)) HEAP32[$wk$246 >> 2] = $107; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $124 = $107; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $124 = $107; - } else { - HEAP16[$pnt2$363 >> 1] = $104; - if (($104 | 0) < ($107 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($107 | 0)) HEAP32[$wk$343 >> 2] = $104; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $124 = $104; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $124 = $104; - } - $126 = ($124 << 16 >> 16) * 7 | 0; - $128 = $labelInfo + 1310736 + ($126 + -7 << 2) | 0; - HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + 1; - $132 = $labelInfo + 1310736 + ($126 + -6 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $i$256; - $136 = $labelInfo + 1310736 + ($126 + -5 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $218 = $pnt$164 + 4 | 0; - $219 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $218; - $pnt2$3$lcssa = $219; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $218; - $pnt2$363 = $219; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $225 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $227 = HEAP32[$wk$440 >> 2] | 0; - if (($227 | 0) == ($i$338 | 0)) { - $233 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $233 = HEAP32[$labelInfo + 1179664 + ($227 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $233; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $237 = $labelInfo + 8 | 0; - $238 = $j$1$lcssa + -1 | 0; - HEAP32[$237 >> 2] = $238; - if (!$238) $$0 = 0; else { - _memset($225 | 0, 0, $238 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $238 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $245 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($245 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($245 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($245 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($245 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$237 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $259 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $260 = $i$534 * 7 | 0; - $263 = $labelInfo + 12 + ($259 << 2) | 0; - HEAP32[$263 >> 2] = (HEAP32[$263 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($260 << 2) >> 2] | 0); - $270 = $259 << 1; - $271 = $labelInfo + 655376 + ($270 << 3) | 0; - HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 1 << 2) >> 2] | 0); - $279 = $labelInfo + 655376 + (($270 | 1) << 3) | 0; - HEAPF64[$279 >> 3] = +HEAPF64[$279 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($260 + 2 << 2) >> 2] | 0); - $282 = $259 << 2; - $283 = $labelInfo + 131084 + ($282 << 2) | 0; - $287 = HEAP32[$labelInfo + 1310736 + ($260 + 3 << 2) >> 2] | 0; - if ((HEAP32[$283 >> 2] | 0) > ($287 | 0)) HEAP32[$283 >> 2] = $287; - $290 = $labelInfo + 131084 + (($282 | 1) << 2) | 0; - $294 = HEAP32[$labelInfo + 1310736 + ($260 + 4 << 2) >> 2] | 0; - if ((HEAP32[$290 >> 2] | 0) < ($294 | 0)) HEAP32[$290 >> 2] = $294; - $297 = $labelInfo + 131084 + (($282 | 2) << 2) | 0; - $301 = HEAP32[$labelInfo + 1310736 + ($260 + 5 << 2) >> 2] | 0; - if ((HEAP32[$297 >> 2] | 0) > ($301 | 0)) HEAP32[$297 >> 2] = $301; - $304 = $labelInfo + 131084 + (($282 | 3) << 2) | 0; - $308 = HEAP32[$labelInfo + 1310736 + ($260 + 6 << 2) >> 2] | 0; - if ((HEAP32[$304 >> 2] | 0) < ($308 | 0)) HEAP32[$304 >> 2] = $308; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$237 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $312 = $labelInfo + 12 + ($i$633 << 2) | 0; - $315 = $i$633 << 1; - $316 = $labelInfo + 655376 + ($315 << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$312 >> 2] | 0); - $322 = $labelInfo + 655376 + (($315 | 1) << 3) | 0; - HEAPF64[$322 >> 3] = +HEAPF64[$322 >> 3] / +(HEAP32[$312 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$237 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $106 = 0, $11 = 0, $123 = 0, $125 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $152 = 0, $157 = 0, $159 = 0, $163 = 0, $167 = 0, $171 = 0, $177 = 0, $18 = 0, $180 = 0, $182 = 0, $186 = 0, $190 = 0, $194 = 0, $197 = 0, $2 = 0, $20 = 0, $202 = 0, $217 = 0, $218 = 0, $224 = 0, $226 = 0, $232 = 0, $236 = 0, $237 = 0, $244 = 0, $258 = 0, $259 = 0, $262 = 0, $269 = 0, $27 = 0, $270 = 0, $278 = 0, $281 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $311 = 0, $314 = 0, $315 = 0, $32 = 0, $321 = 0, $35 = 0, $37 = 0, $41 = 0, $45 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $27 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($27) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $32 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($32 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $32; - $35 = ($32 << 16 >> 16) * 7 | 0; - $37 = $labelInfo + 1310736 + ($35 + -7 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 1; - $41 = $labelInfo + 1310736 + ($35 + -6 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $i$256; - $45 = $labelInfo + 1310736 + ($35 + -5 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($35 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $51 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $55 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $57 = $55 << 16 >> 16 > 0; - if ($51 << 16 >> 16 <= 0) { - if ($57) { - HEAP16[$pnt2$363 >> 1] = $55; - $157 = $56 * 7 | 0; - $159 = $labelInfo + 1310736 + ($157 + -7 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + 1; - $163 = $labelInfo + 1310736 + ($157 + -6 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $i$256; - $167 = $labelInfo + 1310736 + ($157 + -5 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $j$069; - $171 = $labelInfo + 1310736 + ($157 + -3 << 2) | 0; - if ((HEAP32[$171 >> 2] | 0) < ($i$256 | 0)) HEAP32[$171 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($157 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $177 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($177 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $177; - $180 = ($177 << 16 >> 16) * 7 | 0; - $182 = $labelInfo + 1310736 + ($180 + -7 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + 1; - $186 = $labelInfo + 1310736 + ($180 + -6 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $i$256; - $190 = $labelInfo + 1310736 + ($180 + -5 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $j$069; - $194 = $labelInfo + 1310736 + ($180 + -3 << 2) | 0; - if ((HEAP32[$194 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$194 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $197 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $197; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $197 << 16 >> 16; - $202 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($202 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($202 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($202 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($202 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $197; - break; - } - } - if ($57) { - $60 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $63 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - if (($60 | 0) > ($63 | 0)) { - HEAP16[$pnt2$363 >> 1] = $63; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$053 >> 2] = $63; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $80 = $63; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $80 = $63; - } else { - HEAP16[$pnt2$363 >> 1] = $60; - if (($60 | 0) < ($63 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$150 >> 2] = $60; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $80 = $60; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $80 = $60; - } - $82 = ($80 << 16 >> 16) * 7 | 0; - $84 = $labelInfo + 1310736 + ($82 + -7 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; - $88 = $labelInfo + 1310736 + ($82 + -6 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $i$256; - $92 = $labelInfo + 1310736 + ($82 + -5 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($82 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $98 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($98 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $51; - $138 = $52 * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$256; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$069; - $152 = $labelInfo + 1310736 + ($138 + -4 << 2) | 0; - if ((HEAP32[$152 >> 2] | 0) > ($i$256 | 0)) HEAP32[$152 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($138 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $103 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $106 = HEAP32[$labelInfo + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($103 | 0) > ($106 | 0)) { - HEAP16[$pnt2$363 >> 1] = $106; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$246 >> 2] = $106; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $123 = $106; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $123 = $106; - } else { - HEAP16[$pnt2$363 >> 1] = $103; - if (($103 | 0) < ($106 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$343 >> 2] = $103; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $123 = $103; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $123 = $103; - } - $125 = ($123 << 16 >> 16) * 7 | 0; - $127 = $labelInfo + 1310736 + ($125 + -7 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + 1; - $131 = $labelInfo + 1310736 + ($125 + -6 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $i$256; - $135 = $labelInfo + 1310736 + ($125 + -5 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $217 = $pnt$164 + 4 | 0; - $218 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $217; - $pnt2$3$lcssa = $218; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $217; - $pnt2$363 = $218; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $224 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $226 = HEAP32[$wk$440 >> 2] | 0; - if (($226 | 0) == ($i$338 | 0)) { - $232 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $232 = HEAP32[$labelInfo + 1179664 + ($226 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $232; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $236 = $labelInfo + 8 | 0; - $237 = $j$1$lcssa + -1 | 0; - HEAP32[$236 >> 2] = $237; - if (!$237) $$0 = 0; else { - _memset($224 | 0, 0, $237 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $237 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $244 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($244 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($244 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($244 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($244 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$236 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $258 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $259 = $i$534 * 7 | 0; - $262 = $labelInfo + 12 + ($258 << 2) | 0; - HEAP32[$262 >> 2] = (HEAP32[$262 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($259 << 2) >> 2] | 0); - $269 = $258 << 1; - $270 = $labelInfo + 655376 + ($269 << 3) | 0; - HEAPF64[$270 >> 3] = +HEAPF64[$270 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 1 << 2) >> 2] | 0); - $278 = $labelInfo + 655376 + (($269 | 1) << 3) | 0; - HEAPF64[$278 >> 3] = +HEAPF64[$278 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 2 << 2) >> 2] | 0); - $281 = $258 << 2; - $282 = $labelInfo + 131084 + ($281 << 2) | 0; - $286 = HEAP32[$labelInfo + 1310736 + ($259 + 3 << 2) >> 2] | 0; - if ((HEAP32[$282 >> 2] | 0) > ($286 | 0)) HEAP32[$282 >> 2] = $286; - $289 = $labelInfo + 131084 + (($281 | 1) << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($259 + 4 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) < ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($281 | 2) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($259 + 5 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($281 | 3) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($259 + 6 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$236 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $311 = $labelInfo + 12 + ($i$633 << 2) | 0; - $314 = $i$633 << 1; - $315 = $labelInfo + 655376 + ($314 << 3) | 0; - HEAPF64[$315 >> 3] = +HEAPF64[$315 >> 3] / +(HEAP32[$311 >> 2] | 0); - $321 = $labelInfo + 655376 + (($314 | 1) << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$311 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$236 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBIYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $103 = 0, $106 = 0, $11 = 0, $123 = 0, $125 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $140 = 0, $144 = 0, $148 = 0, $152 = 0, $157 = 0, $159 = 0, $163 = 0, $167 = 0, $171 = 0, $177 = 0, $18 = 0, $180 = 0, $182 = 0, $186 = 0, $190 = 0, $194 = 0, $197 = 0, $2 = 0, $20 = 0, $202 = 0, $217 = 0, $218 = 0, $224 = 0, $226 = 0, $232 = 0, $236 = 0, $237 = 0, $244 = 0, $258 = 0, $259 = 0, $262 = 0, $269 = 0, $27 = 0, $270 = 0, $278 = 0, $281 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $3 = 0, $300 = 0, $303 = 0, $307 = 0, $311 = 0, $314 = 0, $315 = 0, $32 = 0, $321 = 0, $35 = 0, $37 = 0, $41 = 0, $45 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $20 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = ($xsize << 1) + 8 | 0; - L11 : do if (($3 | 0) > 1) { - $27 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 2) + 4) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($27) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $32 = HEAP16[$pnt2$363 + ($20 << 1) >> 1] | 0; - if ($32 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $32; - $35 = ($32 << 16 >> 16) * 7 | 0; - $37 = $labelInfo + 1310736 + ($35 + -7 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 1; - $41 = $labelInfo + 1310736 + ($35 + -6 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $i$256; - $45 = $labelInfo + 1310736 + ($35 + -5 << 2) | 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($35 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $51 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $55 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $56 = $55 << 16 >> 16; - $57 = $55 << 16 >> 16 > 0; - if ($51 << 16 >> 16 <= 0) { - if ($57) { - HEAP16[$pnt2$363 >> 1] = $55; - $157 = $56 * 7 | 0; - $159 = $labelInfo + 1310736 + ($157 + -7 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + 1; - $163 = $labelInfo + 1310736 + ($157 + -6 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $i$256; - $167 = $labelInfo + 1310736 + ($157 + -5 << 2) | 0; - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + $j$069; - $171 = $labelInfo + 1310736 + ($157 + -3 << 2) | 0; - if ((HEAP32[$171 >> 2] | 0) < ($i$256 | 0)) HEAP32[$171 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($157 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $177 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($177 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $177; - $180 = ($177 << 16 >> 16) * 7 | 0; - $182 = $labelInfo + 1310736 + ($180 + -7 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + 1; - $186 = $labelInfo + 1310736 + ($180 + -6 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $i$256; - $190 = $labelInfo + 1310736 + ($180 + -5 << 2) | 0; - HEAP32[$190 >> 2] = (HEAP32[$190 >> 2] | 0) + $j$069; - $194 = $labelInfo + 1310736 + ($180 + -3 << 2) | 0; - if ((HEAP32[$194 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$194 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $197 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $197; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $197 << 16 >> 16; - $202 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($202 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($202 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($202 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($202 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($202 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $197; - break; - } - } - if ($57) { - $60 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $63 = HEAP32[$labelInfo + 1179664 + ($56 + -1 << 2) >> 2] | 0; - if (($60 | 0) > ($63 | 0)) { - HEAP16[$pnt2$363 >> 1] = $63; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$053 >> 2] = $63; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $80 = $63; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $80 = $63; - } else { - HEAP16[$pnt2$363 >> 1] = $60; - if (($60 | 0) < ($63 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($63 | 0)) HEAP32[$wk$150 >> 2] = $60; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $80 = $60; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $80 = $60; - } - $82 = ($80 << 16 >> 16) * 7 | 0; - $84 = $labelInfo + 1310736 + ($82 + -7 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; - $88 = $labelInfo + 1310736 + ($82 + -6 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $i$256; - $92 = $labelInfo + 1310736 + ($82 + -5 << 2) | 0; - HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($82 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $98 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($98 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $51; - $138 = $52 * 7 | 0; - $140 = $labelInfo + 1310736 + ($138 + -7 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + 1; - $144 = $labelInfo + 1310736 + ($138 + -6 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $i$256; - $148 = $labelInfo + 1310736 + ($138 + -5 << 2) | 0; - HEAP32[$148 >> 2] = (HEAP32[$148 >> 2] | 0) + $j$069; - $152 = $labelInfo + 1310736 + ($138 + -4 << 2) | 0; - if ((HEAP32[$152 >> 2] | 0) > ($i$256 | 0)) HEAP32[$152 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($138 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $103 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - $106 = HEAP32[$labelInfo + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($103 | 0) > ($106 | 0)) { - HEAP16[$pnt2$363 >> 1] = $106; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$246 >> 2] = $106; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $123 = $106; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $123 = $106; - } else { - HEAP16[$pnt2$363 >> 1] = $103; - if (($103 | 0) < ($106 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($106 | 0)) HEAP32[$wk$343 >> 2] = $103; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $123 = $103; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $123 = $103; - } - $125 = ($123 << 16 >> 16) * 7 | 0; - $127 = $labelInfo + 1310736 + ($125 + -7 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + 1; - $131 = $labelInfo + 1310736 + ($125 + -6 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $i$256; - $135 = $labelInfo + 1310736 + ($125 + -5 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $217 = $pnt$164 + 4 | 0; - $218 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $217; - $pnt2$3$lcssa = $218; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $217; - $pnt2$363 = $218; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $224 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $226 = HEAP32[$wk$440 >> 2] | 0; - if (($226 | 0) == ($i$338 | 0)) { - $232 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $232 = HEAP32[$labelInfo + 1179664 + ($226 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $232; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $236 = $labelInfo + 8 | 0; - $237 = $j$1$lcssa + -1 | 0; - HEAP32[$236 >> 2] = $237; - if (!$237) $$0 = 0; else { - _memset($224 | 0, 0, $237 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $237 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $244 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($244 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($244 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($244 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($244 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$236 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $258 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $259 = $i$534 * 7 | 0; - $262 = $labelInfo + 12 + ($258 << 2) | 0; - HEAP32[$262 >> 2] = (HEAP32[$262 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($259 << 2) >> 2] | 0); - $269 = $258 << 1; - $270 = $labelInfo + 655376 + ($269 << 3) | 0; - HEAPF64[$270 >> 3] = +HEAPF64[$270 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 1 << 2) >> 2] | 0); - $278 = $labelInfo + 655376 + (($269 | 1) << 3) | 0; - HEAPF64[$278 >> 3] = +HEAPF64[$278 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($259 + 2 << 2) >> 2] | 0); - $281 = $258 << 2; - $282 = $labelInfo + 131084 + ($281 << 2) | 0; - $286 = HEAP32[$labelInfo + 1310736 + ($259 + 3 << 2) >> 2] | 0; - if ((HEAP32[$282 >> 2] | 0) > ($286 | 0)) HEAP32[$282 >> 2] = $286; - $289 = $labelInfo + 131084 + (($281 | 1) << 2) | 0; - $293 = HEAP32[$labelInfo + 1310736 + ($259 + 4 << 2) >> 2] | 0; - if ((HEAP32[$289 >> 2] | 0) < ($293 | 0)) HEAP32[$289 >> 2] = $293; - $296 = $labelInfo + 131084 + (($281 | 2) << 2) | 0; - $300 = HEAP32[$labelInfo + 1310736 + ($259 + 5 << 2) >> 2] | 0; - if ((HEAP32[$296 >> 2] | 0) > ($300 | 0)) HEAP32[$296 >> 2] = $300; - $303 = $labelInfo + 131084 + (($281 | 3) << 2) | 0; - $307 = HEAP32[$labelInfo + 1310736 + ($259 + 6 << 2) >> 2] | 0; - if ((HEAP32[$303 >> 2] | 0) < ($307 | 0)) HEAP32[$303 >> 2] = $307; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$236 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $311 = $labelInfo + 12 + ($i$633 << 2) | 0; - $314 = $i$633 << 1; - $315 = $labelInfo + 655376 + ($314 << 3) | 0; - HEAPF64[$315 >> 3] = +HEAPF64[$315 >> 3] / +(HEAP32[$311 >> 2] | 0); - $321 = $labelInfo + 655376 + (($314 | 1) << 3) | 0; - HEAPF64[$321 >> 3] = +HEAPF64[$321 >> 3] / +(HEAP32[$311 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$236 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $11 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $193 = 0, $196 = 0, $2 = 0, $201 = 0, $216 = 0, $217 = 0, $223 = 0, $225 = 0, $231 = 0, $235 = 0, $236 = 0, $243 = 0, $257 = 0, $258 = 0, $26 = 0, $261 = 0, $268 = 0, $269 = 0, $277 = 0, $280 = 0, $281 = 0, $285 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $3 = 0, $302 = 0, $306 = 0, $31 = 0, $310 = 0, $313 = 0, $314 = 0, $320 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $91 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = $xsize + 4 | 0; - L11 : do if (($3 | 0) > 1) { - $26 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 1) + 2) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($26) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $31 = HEAP16[$pnt2$363 + ($19 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$256; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $50 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$363 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$256; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$069; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$256 | 0)) HEAP32[$170 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $176 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$256; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$069; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$193 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $196 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$363 >> 1] = $62; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$053 >> 2] = $62; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $79 = $62; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$363 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$150 >> 2] = $59; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $79 = $59; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$256; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $97 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$256; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$069; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$256 | 0)) HEAP32[$151 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$363 >> 1] = $105; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$246 >> 2] = $105; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $122 = $105; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$363 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$343 >> 2] = $102; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $122 = $102; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$256; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } else { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $216 = $pnt$164 + 2 | 0; - $217 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $216; - $pnt2$363 = $217; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $223 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $225 = HEAP32[$wk$440 >> 2] | 0; - if (($225 | 0) == ($i$338 | 0)) { - $231 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $231 = HEAP32[$labelInfo + 1179664 + ($225 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $231; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $235 = $labelInfo + 8 | 0; - $236 = $j$1$lcssa + -1 | 0; - HEAP32[$235 >> 2] = $236; - if (!$236) $$0 = 0; else { - _memset($223 | 0, 0, $236 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $236 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $243 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($243 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($243 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($243 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($243 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$235 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $257 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $258 = $i$534 * 7 | 0; - $261 = $labelInfo + 12 + ($257 << 2) | 0; - HEAP32[$261 >> 2] = (HEAP32[$261 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($258 << 2) >> 2] | 0); - $268 = $257 << 1; - $269 = $labelInfo + 655376 + ($268 << 3) | 0; - HEAPF64[$269 >> 3] = +HEAPF64[$269 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($258 + 1 << 2) >> 2] | 0); - $277 = $labelInfo + 655376 + (($268 | 1) << 3) | 0; - HEAPF64[$277 >> 3] = +HEAPF64[$277 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($258 + 2 << 2) >> 2] | 0); - $280 = $257 << 2; - $281 = $labelInfo + 131084 + ($280 << 2) | 0; - $285 = HEAP32[$labelInfo + 1310736 + ($258 + 3 << 2) >> 2] | 0; - if ((HEAP32[$281 >> 2] | 0) > ($285 | 0)) HEAP32[$281 >> 2] = $285; - $288 = $labelInfo + 131084 + (($280 | 1) << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($258 + 4 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) < ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($280 | 2) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($258 + 5 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) > ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($280 | 3) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($258 + 6 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) < ($306 | 0)) HEAP32[$302 >> 2] = $306; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$235 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $310 = $labelInfo + 12 + ($i$633 << 2) | 0; - $313 = $i$633 << 1; - $314 = $labelInfo + 655376 + ($313 << 3) | 0; - HEAPF64[$314 >> 3] = +HEAPF64[$314 >> 3] / +(HEAP32[$310 >> 2] | 0); - $320 = $labelInfo + 655376 + (($313 | 1) << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$310 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$235 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBIC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $0 = 0, $1 = 0, $102 = 0, $105 = 0, $11 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $134 = 0, $137 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $156 = 0, $158 = 0, $162 = 0, $166 = 0, $170 = 0, $176 = 0, $179 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $193 = 0, $196 = 0, $2 = 0, $201 = 0, $216 = 0, $217 = 0, $223 = 0, $225 = 0, $231 = 0, $235 = 0, $236 = 0, $243 = 0, $257 = 0, $258 = 0, $26 = 0, $261 = 0, $268 = 0, $269 = 0, $277 = 0, $280 = 0, $281 = 0, $285 = 0, $288 = 0, $292 = 0, $295 = 0, $299 = 0, $3 = 0, $302 = 0, $306 = 0, $31 = 0, $310 = 0, $313 = 0, $314 = 0, $320 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $62 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $91 = 0, $97 = 0, $i$082 = 0, $i$176 = 0, $i$256 = 0, $i$338 = 0, $i$436 = 0, $i$534 = 0, $i$633 = 0, $j$069 = 0, $j$1$lcssa = 0, $j$139 = 0, $j$2 = 0, $k$052 = 0, $k$149 = 0, $k$245 = 0, $k$342 = 0, $pnt$073 = 0, $pnt$1$lcssa = 0, $pnt$164 = 0, $pnt1$084 = 0, $pnt1$178 = 0, $pnt2$083 = 0, $pnt2$177 = 0, $pnt2$272 = 0, $pnt2$3$lcssa = 0, $pnt2$363 = 0, $vararg_buffer = 0, $wk$053 = 0, $wk$150 = 0, $wk$246 = 0, $wk$343 = 0, $wk$440 = 0, $wk_max$0$lcssa = 0, $wk_max$071 = 0, $wk_max$1$lcssa = 0, $wk_max$158 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = ($xsize | 0) / 2 | 0; - $1 = ($ysize | 0) / 2 | 0; - $2 = HEAP32[$labelInfo >> 2] | 0; - $3 = $1 + -1 | 0; - if (($xsize | 0) > 1) { - $i$082 = 0; - $pnt1$084 = $2; - $pnt2$083 = $2 + ((Math_imul($3, $0) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$083 >> 1] = 0; - HEAP16[$pnt1$084 >> 1] = 0; - $i$082 = $i$082 + 1 | 0; - if (($i$082 | 0) >= ($0 | 0)) break; else { - $pnt1$084 = $pnt1$084 + 2 | 0; - $pnt2$083 = $pnt2$083 + 2 | 0; - } - } - } - $11 = $0 + -1 | 0; - if (($ysize | 0) > 1) { - $i$176 = 0; - $pnt1$178 = $2; - $pnt2$177 = $2 + ($11 << 1) | 0; - while (1) { - HEAP16[$pnt2$177 >> 1] = 0; - HEAP16[$pnt1$178 >> 1] = 0; - $i$176 = $i$176 + 1 | 0; - if (($i$176 | 0) >= ($1 | 0)) break; else { - $pnt1$178 = $pnt1$178 + ($0 << 1) | 0; - $pnt2$177 = $pnt2$177 + ($0 << 1) | 0; - } - } - } - $18 = $labelInfo + 1179664 | 0; - $19 = 0 - $0 | 0; - $$sum1 = 1 - $0 | 0; - $$sum2 = ~$0; - $$sum = $xsize + 4 | 0; - L11 : do if (($3 | 0) > 1) { - $26 = ($11 | 0) > 1; - $j$069 = 1; - $pnt$073 = $image + (($xsize << 1) + 2) | 0; - $pnt2$272 = $2 + ($0 + 1 << 1) | 0; - $wk_max$071 = 0; - L13 : while (1) { - if ($26) { - $i$256 = 1; - $pnt$164 = $pnt$073; - $pnt2$363 = $pnt2$272; - $wk_max$158 = $wk_max$071; - while (1) { - do if ((HEAPU8[$pnt$164 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$363 >> 1] = 0; - $wk_max$2 = $wk_max$158; - } else { - $31 = HEAP16[$pnt2$363 + ($19 << 1) >> 1] | 0; - if ($31 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $31; - $34 = ($31 << 16 >> 16) * 7 | 0; - $36 = $labelInfo + 1310736 + ($34 + -7 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; - $40 = $labelInfo + 1310736 + ($34 + -6 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $i$256; - $44 = $labelInfo + 1310736 + ($34 + -5 << 2) | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($34 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $50 = HEAP16[$pnt2$363 + ($$sum1 << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $54 = HEAP16[$pnt2$363 + ($$sum2 << 1) >> 1] | 0; - $55 = $54 << 16 >> 16; - $56 = $54 << 16 >> 16 > 0; - if ($50 << 16 >> 16 <= 0) { - if ($56) { - HEAP16[$pnt2$363 >> 1] = $54; - $156 = $55 * 7 | 0; - $158 = $labelInfo + 1310736 + ($156 + -7 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + 1; - $162 = $labelInfo + 1310736 + ($156 + -6 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $i$256; - $166 = $labelInfo + 1310736 + ($156 + -5 << 2) | 0; - HEAP32[$166 >> 2] = (HEAP32[$166 >> 2] | 0) + $j$069; - $170 = $labelInfo + 1310736 + ($156 + -3 << 2) | 0; - if ((HEAP32[$170 >> 2] | 0) < ($i$256 | 0)) HEAP32[$170 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($156 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $176 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($176 << 16 >> 16 > 0) { - HEAP16[$pnt2$363 >> 1] = $176; - $179 = ($176 << 16 >> 16) * 7 | 0; - $181 = $labelInfo + 1310736 + ($179 + -7 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + 1; - $185 = $labelInfo + 1310736 + ($179 + -6 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $i$256; - $189 = $labelInfo + 1310736 + ($179 + -5 << 2) | 0; - HEAP32[$189 >> 2] = (HEAP32[$189 >> 2] | 0) + $j$069; - $193 = $labelInfo + 1310736 + ($179 + -3 << 2) | 0; - if ((HEAP32[$193 >> 2] | 0) >= ($i$256 | 0)) { - $wk_max$2 = $wk_max$158; - break; - } - HEAP32[$193 >> 2] = $i$256; - $wk_max$2 = $wk_max$158; - break; - } else { - $196 = $wk_max$158 + 1 | 0; - if (($wk_max$158 | 0) > 32767) break L13; - HEAP16[$pnt2$363 >> 1] = $196; - HEAP32[$labelInfo + 1179664 + ($wk_max$158 << 2) >> 2] = $196 << 16 >> 16; - $201 = $wk_max$158 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($201 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($201 + 1 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 2 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($201 + 3 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 4 << 2) >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($201 + 5 << 2) >> 2] = $j$069; - HEAP32[$labelInfo + 1310736 + ($201 + 6 << 2) >> 2] = $j$069; - $wk_max$2 = $196; - break; - } - } - if ($56) { - $59 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $62 = HEAP32[$labelInfo + 1179664 + ($55 + -1 << 2) >> 2] | 0; - if (($59 | 0) > ($62 | 0)) { - HEAP16[$pnt2$363 >> 1] = $62; - if (($wk_max$158 | 0) > 0) { - $k$052 = 0; - $wk$053 = $18; - while (1) { - if ((HEAP32[$wk$053 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$053 >> 2] = $62; - $k$052 = $k$052 + 1 | 0; - if (($k$052 | 0) >= ($wk_max$158 | 0)) { - $79 = $62; - break; - } else $wk$053 = $wk$053 + 4 | 0; - } - } else $79 = $62; - } else { - HEAP16[$pnt2$363 >> 1] = $59; - if (($59 | 0) < ($62 | 0) & ($wk_max$158 | 0) > 0) { - $k$149 = 0; - $wk$150 = $18; - while (1) { - if ((HEAP32[$wk$150 >> 2] | 0) == ($62 | 0)) HEAP32[$wk$150 >> 2] = $59; - $k$149 = $k$149 + 1 | 0; - if (($k$149 | 0) >= ($wk_max$158 | 0)) { - $79 = $59; - break; - } else $wk$150 = $wk$150 + 4 | 0; - } - } else $79 = $59; - } - $81 = ($79 << 16 >> 16) * 7 | 0; - $83 = $labelInfo + 1310736 + ($81 + -7 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; - $87 = $labelInfo + 1310736 + ($81 + -6 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $i$256; - $91 = $labelInfo + 1310736 + ($81 + -5 << 2) | 0; - HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $j$069; - HEAP32[$labelInfo + 1310736 + ($81 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $97 = HEAP16[$pnt2$363 + -2 >> 1] | 0; - if ($97 << 16 >> 16 <= 0) { - HEAP16[$pnt2$363 >> 1] = $50; - $137 = $51 * 7 | 0; - $139 = $labelInfo + 1310736 + ($137 + -7 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + 1; - $143 = $labelInfo + 1310736 + ($137 + -6 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $i$256; - $147 = $labelInfo + 1310736 + ($137 + -5 << 2) | 0; - HEAP32[$147 >> 2] = (HEAP32[$147 >> 2] | 0) + $j$069; - $151 = $labelInfo + 1310736 + ($137 + -4 << 2) | 0; - if ((HEAP32[$151 >> 2] | 0) > ($i$256 | 0)) HEAP32[$151 >> 2] = $i$256; - HEAP32[$labelInfo + 1310736 + ($137 + -1 << 2) >> 2] = $j$069; - $wk_max$2 = $wk_max$158; - break; - } - $102 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - $105 = HEAP32[$labelInfo + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($102 | 0) > ($105 | 0)) { - HEAP16[$pnt2$363 >> 1] = $105; - if (($wk_max$158 | 0) > 0) { - $k$245 = 0; - $wk$246 = $18; - while (1) { - if ((HEAP32[$wk$246 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$246 >> 2] = $105; - $k$245 = $k$245 + 1 | 0; - if (($k$245 | 0) >= ($wk_max$158 | 0)) { - $122 = $105; - break; - } else $wk$246 = $wk$246 + 4 | 0; - } - } else $122 = $105; - } else { - HEAP16[$pnt2$363 >> 1] = $102; - if (($102 | 0) < ($105 | 0) & ($wk_max$158 | 0) > 0) { - $k$342 = 0; - $wk$343 = $18; - while (1) { - if ((HEAP32[$wk$343 >> 2] | 0) == ($105 | 0)) HEAP32[$wk$343 >> 2] = $102; - $k$342 = $k$342 + 1 | 0; - if (($k$342 | 0) >= ($wk_max$158 | 0)) { - $122 = $102; - break; - } else $wk$343 = $wk$343 + 4 | 0; - } - } else $122 = $102; - } - $124 = ($122 << 16 >> 16) * 7 | 0; - $126 = $labelInfo + 1310736 + ($124 + -7 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + 1; - $130 = $labelInfo + 1310736 + ($124 + -6 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $i$256; - $134 = $labelInfo + 1310736 + ($124 + -5 << 2) | 0; - HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + $j$069; - $wk_max$2 = $wk_max$158; - } while (0); - $i$256 = $i$256 + 1 | 0; - $216 = $pnt$164 + 2 | 0; - $217 = $pnt2$363 + 2 | 0; - if (($i$256 | 0) >= ($11 | 0)) { - $pnt$1$lcssa = $216; - $pnt2$3$lcssa = $217; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$164 = $216; - $pnt2$363 = $217; - $wk_max$158 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$073; - $pnt2$3$lcssa = $pnt2$272; - $wk_max$1$lcssa = $wk_max$071; - } - $j$069 = $j$069 + 1 | 0; - if (($j$069 | 0) >= ($3 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$073 = $pnt$1$lcssa + $$sum | 0; - $pnt2$272 = $pnt2$3$lcssa + 4 | 0; - $wk_max$071 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $223 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$338 = 1; - $j$139 = 1; - $wk$440 = $18; - while (1) { - $225 = HEAP32[$wk$440 >> 2] | 0; - if (($225 | 0) == ($i$338 | 0)) { - $231 = $j$139; - $j$2 = $j$139 + 1 | 0; - } else { - $231 = HEAP32[$labelInfo + 1179664 + ($225 + -1 << 2) >> 2] | 0; - $j$2 = $j$139; - } - HEAP32[$wk$440 >> 2] = $231; - if (($i$338 | 0) < ($wk_max$0$lcssa | 0)) { - $i$338 = $i$338 + 1 | 0; - $j$139 = $j$2; - $wk$440 = $wk$440 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $235 = $labelInfo + 8 | 0; - $236 = $j$1$lcssa + -1 | 0; - HEAP32[$235 >> 2] = $236; - if (!$236) $$0 = 0; else { - _memset($223 | 0, 0, $236 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $236 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$436 = 0; - do { - $243 = $i$436 << 2; - HEAP32[$labelInfo + 131084 + ($243 << 2) >> 2] = $0; - HEAP32[$labelInfo + 131084 + (($243 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($243 | 2) << 2) >> 2] = $1; - HEAP32[$labelInfo + 131084 + (($243 | 3) << 2) >> 2] = 0; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$235 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$534 = 0; - do { - $257 = (HEAP32[$labelInfo + 1179664 + ($i$534 << 2) >> 2] | 0) + -1 | 0; - $258 = $i$534 * 7 | 0; - $261 = $labelInfo + 12 + ($257 << 2) | 0; - HEAP32[$261 >> 2] = (HEAP32[$261 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($258 << 2) >> 2] | 0); - $268 = $257 << 1; - $269 = $labelInfo + 655376 + ($268 << 3) | 0; - HEAPF64[$269 >> 3] = +HEAPF64[$269 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($258 + 1 << 2) >> 2] | 0); - $277 = $labelInfo + 655376 + (($268 | 1) << 3) | 0; - HEAPF64[$277 >> 3] = +HEAPF64[$277 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($258 + 2 << 2) >> 2] | 0); - $280 = $257 << 2; - $281 = $labelInfo + 131084 + ($280 << 2) | 0; - $285 = HEAP32[$labelInfo + 1310736 + ($258 + 3 << 2) >> 2] | 0; - if ((HEAP32[$281 >> 2] | 0) > ($285 | 0)) HEAP32[$281 >> 2] = $285; - $288 = $labelInfo + 131084 + (($280 | 1) << 2) | 0; - $292 = HEAP32[$labelInfo + 1310736 + ($258 + 4 << 2) >> 2] | 0; - if ((HEAP32[$288 >> 2] | 0) < ($292 | 0)) HEAP32[$288 >> 2] = $292; - $295 = $labelInfo + 131084 + (($280 | 2) << 2) | 0; - $299 = HEAP32[$labelInfo + 1310736 + ($258 + 5 << 2) >> 2] | 0; - if ((HEAP32[$295 >> 2] | 0) > ($299 | 0)) HEAP32[$295 >> 2] = $299; - $302 = $labelInfo + 131084 + (($280 | 3) << 2) | 0; - $306 = HEAP32[$labelInfo + 1310736 + ($258 + 6 << 2) >> 2] | 0; - if ((HEAP32[$302 >> 2] | 0) < ($306 | 0)) HEAP32[$302 >> 2] = $306; - $i$534 = $i$534 + 1 | 0; - } while (($i$534 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$235 >> 2] | 0) > 0) { - $i$633 = 0; - do { - $310 = $labelInfo + 12 + ($i$633 << 2) | 0; - $313 = $i$633 << 1; - $314 = $labelInfo + 655376 + ($313 << 3) | 0; - HEAPF64[$314 >> 3] = +HEAPF64[$314 >> 3] / +(HEAP32[$310 >> 2] | 0); - $320 = $labelInfo + 655376 + (($313 | 1) << 3) | 0; - HEAPF64[$320 >> 3] = +HEAPF64[$320 >> 3] / +(HEAP32[$310 >> 2] | 0); - $i$633 = $i$633 + 1 | 0; - } while (($i$633 | 0) < (HEAP32[$235 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $100 = 0, $103 = 0, $120 = 0, $122 = 0, $124 = 0, $128 = 0, $132 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $149 = 0, $154 = 0, $156 = 0, $16 = 0, $160 = 0, $164 = 0, $168 = 0, $17 = 0, $174 = 0, $177 = 0, $179 = 0, $18 = 0, $183 = 0, $187 = 0, $191 = 0, $194 = 0, $199 = 0, $214 = 0, $215 = 0, $221 = 0, $223 = 0, $229 = 0, $23 = 0, $233 = 0, $234 = 0, $241 = 0, $255 = 0, $256 = 0, $259 = 0, $266 = 0, $267 = 0, $275 = 0, $278 = 0, $279 = 0, $283 = 0, $286 = 0, $29 = 0, $290 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $308 = 0, $311 = 0, $312 = 0, $318 = 0, $32 = 0, $34 = 0, $38 = 0, $42 = 0, $48 = 0, $49 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $60 = 0, $77 = 0, $79 = 0, $81 = 0, $85 = 0, $89 = 0, $9 = 0, $95 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($17 << 1) | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($23) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $29 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($29 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $29; - $32 = ($29 << 16 >> 16) * 7 | 0; - $34 = $labelInfo + 1310736 + ($32 + -7 << 2) | 0; - HEAP32[$34 >> 2] = (HEAP32[$34 >> 2] | 0) + 1; - $38 = $labelInfo + 1310736 + ($32 + -6 << 2) | 0; - HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + $i$255; - $42 = $labelInfo + 1310736 + ($32 + -5 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($32 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $48 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $49 = $48 << 16 >> 16; - $52 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $53 = $52 << 16 >> 16; - $54 = $52 << 16 >> 16 > 0; - if ($48 << 16 >> 16 <= 0) { - if ($54) { - HEAP16[$pnt2$362 >> 1] = $52; - $154 = $53 * 7 | 0; - $156 = $labelInfo + 1310736 + ($154 + -7 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + 1; - $160 = $labelInfo + 1310736 + ($154 + -6 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $i$255; - $164 = $labelInfo + 1310736 + ($154 + -5 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $j$068; - $168 = $labelInfo + 1310736 + ($154 + -3 << 2) | 0; - if ((HEAP32[$168 >> 2] | 0) < ($i$255 | 0)) HEAP32[$168 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($154 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $174 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($174 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $174; - $177 = ($174 << 16 >> 16) * 7 | 0; - $179 = $labelInfo + 1310736 + ($177 + -7 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + 1; - $183 = $labelInfo + 1310736 + ($177 + -6 << 2) | 0; - HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + $i$255; - $187 = $labelInfo + 1310736 + ($177 + -5 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $j$068; - $191 = $labelInfo + 1310736 + ($177 + -3 << 2) | 0; - if ((HEAP32[$191 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$191 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $194 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $194; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $194 << 16 >> 16; - $199 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($199 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($199 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($199 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($199 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $194; - break; - } - } - if ($54) { - $57 = HEAP32[$labelInfo + 1179664 + ($49 + -1 << 2) >> 2] | 0; - $60 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - if (($57 | 0) > ($60 | 0)) { - HEAP16[$pnt2$362 >> 1] = $60; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($57 | 0)) HEAP32[$wk$052 >> 2] = $60; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $77 = $60; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $77 = $60; - } else { - HEAP16[$pnt2$362 >> 1] = $57; - if (($57 | 0) < ($60 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$149 >> 2] = $57; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $77 = $57; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $77 = $57; - } - $79 = ($77 << 16 >> 16) * 7 | 0; - $81 = $labelInfo + 1310736 + ($79 + -7 << 2) | 0; - HEAP32[$81 >> 2] = (HEAP32[$81 >> 2] | 0) + 1; - $85 = $labelInfo + 1310736 + ($79 + -6 << 2) | 0; - HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + $i$255; - $89 = $labelInfo + 1310736 + ($79 + -5 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($79 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $95 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($95 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $48; - $135 = $49 * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$255; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$068; - $149 = $labelInfo + 1310736 + ($135 + -4 << 2) | 0; - if ((HEAP32[$149 >> 2] | 0) > ($i$255 | 0)) HEAP32[$149 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($135 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $100 = HEAP32[$labelInfo + 1179664 + ($49 + -1 << 2) >> 2] | 0; - $103 = HEAP32[$labelInfo + 1179664 + (($95 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($100 | 0) > ($103 | 0)) { - HEAP16[$pnt2$362 >> 1] = $103; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($100 | 0)) HEAP32[$wk$245 >> 2] = $103; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $120 = $103; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $120 = $103; - } else { - HEAP16[$pnt2$362 >> 1] = $100; - if (($100 | 0) < ($103 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$342 >> 2] = $100; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $120 = $100; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $120 = $100; - } - $122 = ($120 << 16 >> 16) * 7 | 0; - $124 = $labelInfo + 1310736 + ($122 + -7 << 2) | 0; - HEAP32[$124 >> 2] = (HEAP32[$124 >> 2] | 0) + 1; - $128 = $labelInfo + 1310736 + ($122 + -6 << 2) | 0; - HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + $i$255; - $132 = $labelInfo + 1310736 + ($122 + -5 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $214 = $pnt$163 + 2 | 0; - $215 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $214; - $pnt2$3$lcssa = $215; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $214; - $pnt2$362 = $215; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $221 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $223 = HEAP32[$wk$439 >> 2] | 0; - if (($223 | 0) == ($i$337 | 0)) { - $229 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $229 = HEAP32[$labelInfo + 1179664 + ($223 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $229; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $233 = $labelInfo + 8 | 0; - $234 = $j$1$lcssa + -1 | 0; - HEAP32[$233 >> 2] = $234; - if (!$234) $$0 = 0; else { - _memset($221 | 0, 0, $234 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $234 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $241 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($241 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($241 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($241 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($241 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$233 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $255 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $256 = $i$533 * 7 | 0; - $259 = $labelInfo + 12 + ($255 << 2) | 0; - HEAP32[$259 >> 2] = (HEAP32[$259 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($256 << 2) >> 2] | 0); - $266 = $255 << 1; - $267 = $labelInfo + 655376 + ($266 << 3) | 0; - HEAPF64[$267 >> 3] = +HEAPF64[$267 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($256 + 1 << 2) >> 2] | 0); - $275 = $labelInfo + 655376 + (($266 | 1) << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($256 + 2 << 2) >> 2] | 0); - $278 = $255 << 2; - $279 = $labelInfo + 131084 + ($278 << 2) | 0; - $283 = HEAP32[$labelInfo + 1310736 + ($256 + 3 << 2) >> 2] | 0; - if ((HEAP32[$279 >> 2] | 0) > ($283 | 0)) HEAP32[$279 >> 2] = $283; - $286 = $labelInfo + 131084 + (($278 | 1) << 2) | 0; - $290 = HEAP32[$labelInfo + 1310736 + ($256 + 4 << 2) >> 2] | 0; - if ((HEAP32[$286 >> 2] | 0) < ($290 | 0)) HEAP32[$286 >> 2] = $290; - $293 = $labelInfo + 131084 + (($278 | 2) << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($256 + 5 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($278 | 3) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($256 + 6 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$233 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $308 = $labelInfo + 12 + ($i$632 << 2) | 0; - $311 = $i$632 << 1; - $312 = $labelInfo + 655376 + ($311 << 3) | 0; - HEAPF64[$312 >> 3] = +HEAPF64[$312 >> 3] / +(HEAP32[$308 >> 2] | 0); - $318 = $labelInfo + 655376 + (($311 | 1) << 3) | 0; - HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / +(HEAP32[$308 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$233 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBRCY($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $100 = 0, $103 = 0, $120 = 0, $122 = 0, $124 = 0, $128 = 0, $132 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $149 = 0, $154 = 0, $156 = 0, $16 = 0, $160 = 0, $164 = 0, $168 = 0, $17 = 0, $174 = 0, $177 = 0, $179 = 0, $18 = 0, $183 = 0, $187 = 0, $191 = 0, $194 = 0, $199 = 0, $214 = 0, $215 = 0, $221 = 0, $223 = 0, $229 = 0, $23 = 0, $233 = 0, $234 = 0, $241 = 0, $255 = 0, $256 = 0, $259 = 0, $266 = 0, $267 = 0, $275 = 0, $278 = 0, $279 = 0, $283 = 0, $286 = 0, $29 = 0, $290 = 0, $293 = 0, $297 = 0, $300 = 0, $304 = 0, $308 = 0, $311 = 0, $312 = 0, $318 = 0, $32 = 0, $34 = 0, $38 = 0, $42 = 0, $48 = 0, $49 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $60 = 0, $77 = 0, $79 = 0, $81 = 0, $85 = 0, $89 = 0, $9 = 0, $95 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($17 << 1) | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($23) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 + 1 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $29 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($29 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $29; - $32 = ($29 << 16 >> 16) * 7 | 0; - $34 = $labelInfo + 1310736 + ($32 + -7 << 2) | 0; - HEAP32[$34 >> 2] = (HEAP32[$34 >> 2] | 0) + 1; - $38 = $labelInfo + 1310736 + ($32 + -6 << 2) | 0; - HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + $i$255; - $42 = $labelInfo + 1310736 + ($32 + -5 << 2) | 0; - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($32 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $48 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $49 = $48 << 16 >> 16; - $52 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $53 = $52 << 16 >> 16; - $54 = $52 << 16 >> 16 > 0; - if ($48 << 16 >> 16 <= 0) { - if ($54) { - HEAP16[$pnt2$362 >> 1] = $52; - $154 = $53 * 7 | 0; - $156 = $labelInfo + 1310736 + ($154 + -7 << 2) | 0; - HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + 1; - $160 = $labelInfo + 1310736 + ($154 + -6 << 2) | 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $i$255; - $164 = $labelInfo + 1310736 + ($154 + -5 << 2) | 0; - HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $j$068; - $168 = $labelInfo + 1310736 + ($154 + -3 << 2) | 0; - if ((HEAP32[$168 >> 2] | 0) < ($i$255 | 0)) HEAP32[$168 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($154 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $174 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($174 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $174; - $177 = ($174 << 16 >> 16) * 7 | 0; - $179 = $labelInfo + 1310736 + ($177 + -7 << 2) | 0; - HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + 1; - $183 = $labelInfo + 1310736 + ($177 + -6 << 2) | 0; - HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + $i$255; - $187 = $labelInfo + 1310736 + ($177 + -5 << 2) | 0; - HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $j$068; - $191 = $labelInfo + 1310736 + ($177 + -3 << 2) | 0; - if ((HEAP32[$191 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$191 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $194 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $194; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $194 << 16 >> 16; - $199 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($199 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($199 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($199 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($199 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($199 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $194; - break; - } - } - if ($54) { - $57 = HEAP32[$labelInfo + 1179664 + ($49 + -1 << 2) >> 2] | 0; - $60 = HEAP32[$labelInfo + 1179664 + ($53 + -1 << 2) >> 2] | 0; - if (($57 | 0) > ($60 | 0)) { - HEAP16[$pnt2$362 >> 1] = $60; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($57 | 0)) HEAP32[$wk$052 >> 2] = $60; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $77 = $60; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $77 = $60; - } else { - HEAP16[$pnt2$362 >> 1] = $57; - if (($57 | 0) < ($60 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($60 | 0)) HEAP32[$wk$149 >> 2] = $57; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $77 = $57; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $77 = $57; - } - $79 = ($77 << 16 >> 16) * 7 | 0; - $81 = $labelInfo + 1310736 + ($79 + -7 << 2) | 0; - HEAP32[$81 >> 2] = (HEAP32[$81 >> 2] | 0) + 1; - $85 = $labelInfo + 1310736 + ($79 + -6 << 2) | 0; - HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + $i$255; - $89 = $labelInfo + 1310736 + ($79 + -5 << 2) | 0; - HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($79 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $95 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($95 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $48; - $135 = $49 * 7 | 0; - $137 = $labelInfo + 1310736 + ($135 + -7 << 2) | 0; - HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; - $141 = $labelInfo + 1310736 + ($135 + -6 << 2) | 0; - HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $i$255; - $145 = $labelInfo + 1310736 + ($135 + -5 << 2) | 0; - HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $j$068; - $149 = $labelInfo + 1310736 + ($135 + -4 << 2) | 0; - if ((HEAP32[$149 >> 2] | 0) > ($i$255 | 0)) HEAP32[$149 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($135 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $100 = HEAP32[$labelInfo + 1179664 + ($49 + -1 << 2) >> 2] | 0; - $103 = HEAP32[$labelInfo + 1179664 + (($95 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($100 | 0) > ($103 | 0)) { - HEAP16[$pnt2$362 >> 1] = $103; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($100 | 0)) HEAP32[$wk$245 >> 2] = $103; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $120 = $103; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $120 = $103; - } else { - HEAP16[$pnt2$362 >> 1] = $100; - if (($100 | 0) < ($103 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($103 | 0)) HEAP32[$wk$342 >> 2] = $100; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $120 = $100; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $120 = $100; - } - $122 = ($120 << 16 >> 16) * 7 | 0; - $124 = $labelInfo + 1310736 + ($122 + -7 << 2) | 0; - HEAP32[$124 >> 2] = (HEAP32[$124 >> 2] | 0) + 1; - $128 = $labelInfo + 1310736 + ($122 + -6 << 2) | 0; - HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + $i$255; - $132 = $labelInfo + 1310736 + ($122 + -5 << 2) | 0; - HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $214 = $pnt$163 + 2 | 0; - $215 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $214; - $pnt2$3$lcssa = $215; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $214; - $pnt2$362 = $215; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $221 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $223 = HEAP32[$wk$439 >> 2] | 0; - if (($223 | 0) == ($i$337 | 0)) { - $229 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $229 = HEAP32[$labelInfo + 1179664 + ($223 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $229; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $233 = $labelInfo + 8 | 0; - $234 = $j$1$lcssa + -1 | 0; - HEAP32[$233 >> 2] = $234; - if (!$234) $$0 = 0; else { - _memset($221 | 0, 0, $234 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $234 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $241 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($241 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($241 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($241 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($241 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$233 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $255 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $256 = $i$533 * 7 | 0; - $259 = $labelInfo + 12 + ($255 << 2) | 0; - HEAP32[$259 >> 2] = (HEAP32[$259 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($256 << 2) >> 2] | 0); - $266 = $255 << 1; - $267 = $labelInfo + 655376 + ($266 << 3) | 0; - HEAPF64[$267 >> 3] = +HEAPF64[$267 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($256 + 1 << 2) >> 2] | 0); - $275 = $labelInfo + 655376 + (($266 | 1) << 3) | 0; - HEAPF64[$275 >> 3] = +HEAPF64[$275 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($256 + 2 << 2) >> 2] | 0); - $278 = $255 << 2; - $279 = $labelInfo + 131084 + ($278 << 2) | 0; - $283 = HEAP32[$labelInfo + 1310736 + ($256 + 3 << 2) >> 2] | 0; - if ((HEAP32[$279 >> 2] | 0) > ($283 | 0)) HEAP32[$279 >> 2] = $283; - $286 = $labelInfo + 131084 + (($278 | 1) << 2) | 0; - $290 = HEAP32[$labelInfo + 1310736 + ($256 + 4 << 2) >> 2] | 0; - if ((HEAP32[$286 >> 2] | 0) < ($290 | 0)) HEAP32[$286 >> 2] = $290; - $293 = $labelInfo + 131084 + (($278 | 2) << 2) | 0; - $297 = HEAP32[$labelInfo + 1310736 + ($256 + 5 << 2) >> 2] | 0; - if ((HEAP32[$293 >> 2] | 0) > ($297 | 0)) HEAP32[$293 >> 2] = $297; - $300 = $labelInfo + 131084 + (($278 | 3) << 2) | 0; - $304 = HEAP32[$labelInfo + 1310736 + ($256 + 6 << 2) >> 2] | 0; - if ((HEAP32[$300 >> 2] | 0) < ($304 | 0)) HEAP32[$300 >> 2] = $304; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$233 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $308 = $labelInfo + 12 + ($i$632 << 2) | 0; - $311 = $i$632 << 1; - $312 = $labelInfo + 655376 + ($311 << 3) | 0; - HEAPF64[$312 >> 3] = +HEAPF64[$312 >> 3] / +(HEAP32[$308 >> 2] | 0); - $318 = $labelInfo + 655376 + (($311 | 1) << 3) | 0; - HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / +(HEAP32[$308 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$233 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $119 = 0, $121 = 0, $123 = 0, $127 = 0, $131 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $148 = 0, $153 = 0, $155 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $173 = 0, $176 = 0, $178 = 0, $18 = 0, $182 = 0, $186 = 0, $190 = 0, $193 = 0, $198 = 0, $213 = 0, $214 = 0, $220 = 0, $222 = 0, $228 = 0, $23 = 0, $232 = 0, $233 = 0, $240 = 0, $254 = 0, $255 = 0, $258 = 0, $265 = 0, $266 = 0, $274 = 0, $277 = 0, $278 = 0, $28 = 0, $282 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $311 = 0, $317 = 0, $33 = 0, $37 = 0, $41 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $56 = 0, $59 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $9 = 0, $94 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($17 << 1) | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($23) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $28 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($28 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $28; - $31 = ($28 << 16 >> 16) * 7 | 0; - $33 = $labelInfo + 1310736 + ($31 + -7 << 2) | 0; - HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; - $37 = $labelInfo + 1310736 + ($31 + -6 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + $i$255; - $41 = $labelInfo + 1310736 + ($31 + -5 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($31 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $47 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $48 = $47 << 16 >> 16; - $51 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $53 = $51 << 16 >> 16 > 0; - if ($47 << 16 >> 16 <= 0) { - if ($53) { - HEAP16[$pnt2$362 >> 1] = $51; - $153 = $52 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$255; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$068; - $167 = $labelInfo + 1310736 + ($153 + -3 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) < ($i$255 | 0)) HEAP32[$167 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $173 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($173 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $173; - $176 = ($173 << 16 >> 16) * 7 | 0; - $178 = $labelInfo + 1310736 + ($176 + -7 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + 1; - $182 = $labelInfo + 1310736 + ($176 + -6 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $i$255; - $186 = $labelInfo + 1310736 + ($176 + -5 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $j$068; - $190 = $labelInfo + 1310736 + ($176 + -3 << 2) | 0; - if ((HEAP32[$190 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$190 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $193 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $193; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $193 << 16 >> 16; - $198 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($198 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($198 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($198 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($198 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $193; - break; - } - } - if ($53) { - $56 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $59 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - if (($56 | 0) > ($59 | 0)) { - HEAP16[$pnt2$362 >> 1] = $59; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($56 | 0)) HEAP32[$wk$052 >> 2] = $59; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $76 = $59; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $76 = $59; - } else { - HEAP16[$pnt2$362 >> 1] = $56; - if (($56 | 0) < ($59 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$149 >> 2] = $56; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $76 = $56; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $76 = $56; - } - $78 = ($76 << 16 >> 16) * 7 | 0; - $80 = $labelInfo + 1310736 + ($78 + -7 << 2) | 0; - HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; - $84 = $labelInfo + 1310736 + ($78 + -6 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $i$255; - $88 = $labelInfo + 1310736 + ($78 + -5 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($78 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $94 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($94 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $47; - $134 = $48 * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$255; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$068; - $148 = $labelInfo + 1310736 + ($134 + -4 << 2) | 0; - if ((HEAP32[$148 >> 2] | 0) > ($i$255 | 0)) HEAP32[$148 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($134 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $99 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $102 = HEAP32[$labelInfo + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($99 | 0) > ($102 | 0)) { - HEAP16[$pnt2$362 >> 1] = $102; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($99 | 0)) HEAP32[$wk$245 >> 2] = $102; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $119 = $102; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $119 = $102; - } else { - HEAP16[$pnt2$362 >> 1] = $99; - if (($99 | 0) < ($102 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$342 >> 2] = $99; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $119 = $99; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $119 = $99; - } - $121 = ($119 << 16 >> 16) * 7 | 0; - $123 = $labelInfo + 1310736 + ($121 + -7 << 2) | 0; - HEAP32[$123 >> 2] = (HEAP32[$123 >> 2] | 0) + 1; - $127 = $labelInfo + 1310736 + ($121 + -6 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + $i$255; - $131 = $labelInfo + 1310736 + ($121 + -5 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $213 = $pnt$163 + 2 | 0; - $214 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $213; - $pnt2$3$lcssa = $214; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $213; - $pnt2$362 = $214; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $220 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $222 = HEAP32[$wk$439 >> 2] | 0; - if (($222 | 0) == ($i$337 | 0)) { - $228 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $228 = HEAP32[$labelInfo + 1179664 + ($222 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $228; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $232 = $labelInfo + 8 | 0; - $233 = $j$1$lcssa + -1 | 0; - HEAP32[$232 >> 2] = $233; - if (!$233) $$0 = 0; else { - _memset($220 | 0, 0, $233 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $233 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $240 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($240 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($240 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($240 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($240 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$232 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $254 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $255 = $i$533 * 7 | 0; - $258 = $labelInfo + 12 + ($254 << 2) | 0; - HEAP32[$258 >> 2] = (HEAP32[$258 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($255 << 2) >> 2] | 0); - $265 = $254 << 1; - $266 = $labelInfo + 655376 + ($265 << 3) | 0; - HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($255 + 1 << 2) >> 2] | 0); - $274 = $labelInfo + 655376 + (($265 | 1) << 3) | 0; - HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($255 + 2 << 2) >> 2] | 0); - $277 = $254 << 2; - $278 = $labelInfo + 131084 + ($277 << 2) | 0; - $282 = HEAP32[$labelInfo + 1310736 + ($255 + 3 << 2) >> 2] | 0; - if ((HEAP32[$278 >> 2] | 0) > ($282 | 0)) HEAP32[$278 >> 2] = $282; - $285 = $labelInfo + 131084 + (($277 | 1) << 2) | 0; - $289 = HEAP32[$labelInfo + 1310736 + ($255 + 4 << 2) >> 2] | 0; - if ((HEAP32[$285 >> 2] | 0) < ($289 | 0)) HEAP32[$285 >> 2] = $289; - $292 = $labelInfo + 131084 + (($277 | 2) << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($255 + 5 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($277 | 3) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($255 + 6 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$232 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $307 = $labelInfo + 12 + ($i$632 << 2) | 0; - $310 = $i$632 << 1; - $311 = $labelInfo + 655376 + ($310 << 3) | 0; - HEAPF64[$311 >> 3] = +HEAPF64[$311 >> 3] / +(HEAP32[$307 >> 2] | 0); - $317 = $labelInfo + 655376 + (($310 | 1) << 3) | 0; - HEAPF64[$317 >> 3] = +HEAPF64[$317 >> 3] / +(HEAP32[$307 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$232 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBRYC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $102 = 0, $119 = 0, $121 = 0, $123 = 0, $127 = 0, $131 = 0, $134 = 0, $136 = 0, $140 = 0, $144 = 0, $148 = 0, $153 = 0, $155 = 0, $159 = 0, $16 = 0, $163 = 0, $167 = 0, $17 = 0, $173 = 0, $176 = 0, $178 = 0, $18 = 0, $182 = 0, $186 = 0, $190 = 0, $193 = 0, $198 = 0, $213 = 0, $214 = 0, $220 = 0, $222 = 0, $228 = 0, $23 = 0, $232 = 0, $233 = 0, $240 = 0, $254 = 0, $255 = 0, $258 = 0, $265 = 0, $266 = 0, $274 = 0, $277 = 0, $278 = 0, $28 = 0, $282 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $307 = 0, $31 = 0, $310 = 0, $311 = 0, $317 = 0, $33 = 0, $37 = 0, $41 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $56 = 0, $59 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $9 = 0, $94 = 0, $99 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $23 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + ($17 << 1) | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($23) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $28 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($28 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $28; - $31 = ($28 << 16 >> 16) * 7 | 0; - $33 = $labelInfo + 1310736 + ($31 + -7 << 2) | 0; - HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; - $37 = $labelInfo + 1310736 + ($31 + -6 << 2) | 0; - HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + $i$255; - $41 = $labelInfo + 1310736 + ($31 + -5 << 2) | 0; - HEAP32[$41 >> 2] = (HEAP32[$41 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($31 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $47 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $48 = $47 << 16 >> 16; - $51 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $52 = $51 << 16 >> 16; - $53 = $51 << 16 >> 16 > 0; - if ($47 << 16 >> 16 <= 0) { - if ($53) { - HEAP16[$pnt2$362 >> 1] = $51; - $153 = $52 * 7 | 0; - $155 = $labelInfo + 1310736 + ($153 + -7 << 2) | 0; - HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 1; - $159 = $labelInfo + 1310736 + ($153 + -6 << 2) | 0; - HEAP32[$159 >> 2] = (HEAP32[$159 >> 2] | 0) + $i$255; - $163 = $labelInfo + 1310736 + ($153 + -5 << 2) | 0; - HEAP32[$163 >> 2] = (HEAP32[$163 >> 2] | 0) + $j$068; - $167 = $labelInfo + 1310736 + ($153 + -3 << 2) | 0; - if ((HEAP32[$167 >> 2] | 0) < ($i$255 | 0)) HEAP32[$167 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($153 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $173 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($173 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $173; - $176 = ($173 << 16 >> 16) * 7 | 0; - $178 = $labelInfo + 1310736 + ($176 + -7 << 2) | 0; - HEAP32[$178 >> 2] = (HEAP32[$178 >> 2] | 0) + 1; - $182 = $labelInfo + 1310736 + ($176 + -6 << 2) | 0; - HEAP32[$182 >> 2] = (HEAP32[$182 >> 2] | 0) + $i$255; - $186 = $labelInfo + 1310736 + ($176 + -5 << 2) | 0; - HEAP32[$186 >> 2] = (HEAP32[$186 >> 2] | 0) + $j$068; - $190 = $labelInfo + 1310736 + ($176 + -3 << 2) | 0; - if ((HEAP32[$190 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$190 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $193 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $193; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $193 << 16 >> 16; - $198 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($198 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($198 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($198 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($198 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($198 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $193; - break; - } - } - if ($53) { - $56 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $59 = HEAP32[$labelInfo + 1179664 + ($52 + -1 << 2) >> 2] | 0; - if (($56 | 0) > ($59 | 0)) { - HEAP16[$pnt2$362 >> 1] = $59; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($56 | 0)) HEAP32[$wk$052 >> 2] = $59; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $76 = $59; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $76 = $59; - } else { - HEAP16[$pnt2$362 >> 1] = $56; - if (($56 | 0) < ($59 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($59 | 0)) HEAP32[$wk$149 >> 2] = $56; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $76 = $56; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $76 = $56; - } - $78 = ($76 << 16 >> 16) * 7 | 0; - $80 = $labelInfo + 1310736 + ($78 + -7 << 2) | 0; - HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; - $84 = $labelInfo + 1310736 + ($78 + -6 << 2) | 0; - HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $i$255; - $88 = $labelInfo + 1310736 + ($78 + -5 << 2) | 0; - HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($78 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $94 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($94 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $47; - $134 = $48 * 7 | 0; - $136 = $labelInfo + 1310736 + ($134 + -7 << 2) | 0; - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 1; - $140 = $labelInfo + 1310736 + ($134 + -6 << 2) | 0; - HEAP32[$140 >> 2] = (HEAP32[$140 >> 2] | 0) + $i$255; - $144 = $labelInfo + 1310736 + ($134 + -5 << 2) | 0; - HEAP32[$144 >> 2] = (HEAP32[$144 >> 2] | 0) + $j$068; - $148 = $labelInfo + 1310736 + ($134 + -4 << 2) | 0; - if ((HEAP32[$148 >> 2] | 0) > ($i$255 | 0)) HEAP32[$148 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($134 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $99 = HEAP32[$labelInfo + 1179664 + ($48 + -1 << 2) >> 2] | 0; - $102 = HEAP32[$labelInfo + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($99 | 0) > ($102 | 0)) { - HEAP16[$pnt2$362 >> 1] = $102; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($99 | 0)) HEAP32[$wk$245 >> 2] = $102; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $119 = $102; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $119 = $102; - } else { - HEAP16[$pnt2$362 >> 1] = $99; - if (($99 | 0) < ($102 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($102 | 0)) HEAP32[$wk$342 >> 2] = $99; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $119 = $99; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $119 = $99; - } - $121 = ($119 << 16 >> 16) * 7 | 0; - $123 = $labelInfo + 1310736 + ($121 + -7 << 2) | 0; - HEAP32[$123 >> 2] = (HEAP32[$123 >> 2] | 0) + 1; - $127 = $labelInfo + 1310736 + ($121 + -6 << 2) | 0; - HEAP32[$127 >> 2] = (HEAP32[$127 >> 2] | 0) + $i$255; - $131 = $labelInfo + 1310736 + ($121 + -5 << 2) | 0; - HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $213 = $pnt$163 + 2 | 0; - $214 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $213; - $pnt2$3$lcssa = $214; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $213; - $pnt2$362 = $214; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 4 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $220 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $222 = HEAP32[$wk$439 >> 2] | 0; - if (($222 | 0) == ($i$337 | 0)) { - $228 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $228 = HEAP32[$labelInfo + 1179664 + ($222 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $228; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $232 = $labelInfo + 8 | 0; - $233 = $j$1$lcssa + -1 | 0; - HEAP32[$232 >> 2] = $233; - if (!$233) $$0 = 0; else { - _memset($220 | 0, 0, $233 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $233 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $240 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($240 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($240 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($240 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($240 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$232 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $254 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $255 = $i$533 * 7 | 0; - $258 = $labelInfo + 12 + ($254 << 2) | 0; - HEAP32[$258 >> 2] = (HEAP32[$258 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($255 << 2) >> 2] | 0); - $265 = $254 << 1; - $266 = $labelInfo + 655376 + ($265 << 3) | 0; - HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($255 + 1 << 2) >> 2] | 0); - $274 = $labelInfo + 655376 + (($265 | 1) << 3) | 0; - HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($255 + 2 << 2) >> 2] | 0); - $277 = $254 << 2; - $278 = $labelInfo + 131084 + ($277 << 2) | 0; - $282 = HEAP32[$labelInfo + 1310736 + ($255 + 3 << 2) >> 2] | 0; - if ((HEAP32[$278 >> 2] | 0) > ($282 | 0)) HEAP32[$278 >> 2] = $282; - $285 = $labelInfo + 131084 + (($277 | 1) << 2) | 0; - $289 = HEAP32[$labelInfo + 1310736 + ($255 + 4 << 2) >> 2] | 0; - if ((HEAP32[$285 >> 2] | 0) < ($289 | 0)) HEAP32[$285 >> 2] = $289; - $292 = $labelInfo + 131084 + (($277 | 2) << 2) | 0; - $296 = HEAP32[$labelInfo + 1310736 + ($255 + 5 << 2) >> 2] | 0; - if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; - $299 = $labelInfo + 131084 + (($277 | 3) << 2) | 0; - $303 = HEAP32[$labelInfo + 1310736 + ($255 + 6 << 2) >> 2] | 0; - if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$232 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $307 = $labelInfo + 12 + ($i$632 << 2) | 0; - $310 = $i$632 << 1; - $311 = $labelInfo + 655376 + ($310 << 3) | 0; - HEAPF64[$311 >> 3] = +HEAPF64[$311 >> 3] / +(HEAP32[$307 >> 2] | 0); - $317 = $labelInfo + 655376 + (($310 | 1) << 3) | 0; - HEAPF64[$317 >> 3] = +HEAPF64[$317 >> 3] / +(HEAP32[$307 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$232 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDWRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $101 = 0, $118 = 0, $120 = 0, $122 = 0, $126 = 0, $130 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $147 = 0, $152 = 0, $154 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $172 = 0, $175 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $192 = 0, $197 = 0, $212 = 0, $213 = 0, $219 = 0, $22 = 0, $221 = 0, $227 = 0, $231 = 0, $232 = 0, $239 = 0, $253 = 0, $254 = 0, $257 = 0, $264 = 0, $265 = 0, $27 = 0, $273 = 0, $276 = 0, $277 = 0, $281 = 0, $284 = 0, $288 = 0, $291 = 0, $295 = 0, $298 = 0, $30 = 0, $302 = 0, $306 = 0, $309 = 0, $310 = 0, $316 = 0, $32 = 0, $36 = 0, $40 = 0, $46 = 0, $47 = 0, $50 = 0, $51 = 0, $52 = 0, $55 = 0, $58 = 0, $75 = 0, $77 = 0, $79 = 0, $83 = 0, $87 = 0, $9 = 0, $93 = 0, $98 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $22 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + $17 | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($22) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - $27 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($27 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $27; - $30 = ($27 << 16 >> 16) * 7 | 0; - $32 = $labelInfo + 1310736 + ($30 + -7 << 2) | 0; - HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 1; - $36 = $labelInfo + 1310736 + ($30 + -6 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + $i$255; - $40 = $labelInfo + 1310736 + ($30 + -5 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($30 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $46 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $47 = $46 << 16 >> 16; - $50 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $52 = $50 << 16 >> 16 > 0; - if ($46 << 16 >> 16 <= 0) { - if ($52) { - HEAP16[$pnt2$362 >> 1] = $50; - $152 = $51 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$255; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$068; - $166 = $labelInfo + 1310736 + ($152 + -3 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) < ($i$255 | 0)) HEAP32[$166 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $172 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($172 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $172; - $175 = ($172 << 16 >> 16) * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$255; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$068; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$189 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $192 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $192; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $192 << 16 >> 16; - $197 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($197 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($197 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($197 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($197 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $192; - break; - } - } - if ($52) { - $55 = HEAP32[$labelInfo + 1179664 + ($47 + -1 << 2) >> 2] | 0; - $58 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - if (($55 | 0) > ($58 | 0)) { - HEAP16[$pnt2$362 >> 1] = $58; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($55 | 0)) HEAP32[$wk$052 >> 2] = $58; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $75 = $58; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $75 = $58; - } else { - HEAP16[$pnt2$362 >> 1] = $55; - if (($55 | 0) < ($58 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($58 | 0)) HEAP32[$wk$149 >> 2] = $55; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $75 = $55; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $75 = $55; - } - $77 = ($75 << 16 >> 16) * 7 | 0; - $79 = $labelInfo + 1310736 + ($77 + -7 << 2) | 0; - HEAP32[$79 >> 2] = (HEAP32[$79 >> 2] | 0) + 1; - $83 = $labelInfo + 1310736 + ($77 + -6 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + $i$255; - $87 = $labelInfo + 1310736 + ($77 + -5 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($77 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $93 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($93 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $46; - $133 = $47 * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$255; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$068; - $147 = $labelInfo + 1310736 + ($133 + -4 << 2) | 0; - if ((HEAP32[$147 >> 2] | 0) > ($i$255 | 0)) HEAP32[$147 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($133 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $98 = HEAP32[$labelInfo + 1179664 + ($47 + -1 << 2) >> 2] | 0; - $101 = HEAP32[$labelInfo + 1179664 + (($93 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($98 | 0) > ($101 | 0)) { - HEAP16[$pnt2$362 >> 1] = $101; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($98 | 0)) HEAP32[$wk$245 >> 2] = $101; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $118 = $101; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $118 = $101; - } else { - HEAP16[$pnt2$362 >> 1] = $98; - if (($98 | 0) < ($101 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($101 | 0)) HEAP32[$wk$342 >> 2] = $98; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $118 = $98; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $118 = $98; - } - $120 = ($118 << 16 >> 16) * 7 | 0; - $122 = $labelInfo + 1310736 + ($120 + -7 << 2) | 0; - HEAP32[$122 >> 2] = (HEAP32[$122 >> 2] | 0) + 1; - $126 = $labelInfo + 1310736 + ($120 + -6 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + $i$255; - $130 = $labelInfo + 1310736 + ($120 + -5 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } else { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $212 = $pnt$163 + 1 | 0; - $213 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $212; - $pnt2$3$lcssa = $213; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $212; - $pnt2$362 = $213; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 2 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $219 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $221 = HEAP32[$wk$439 >> 2] | 0; - if (($221 | 0) == ($i$337 | 0)) { - $227 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $227 = HEAP32[$labelInfo + 1179664 + ($221 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $227; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $231 = $labelInfo + 8 | 0; - $232 = $j$1$lcssa + -1 | 0; - HEAP32[$231 >> 2] = $232; - if (!$232) $$0 = 0; else { - _memset($219 | 0, 0, $232 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $232 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $239 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($239 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($239 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($239 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($239 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$231 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $253 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $254 = $i$533 * 7 | 0; - $257 = $labelInfo + 12 + ($253 << 2) | 0; - HEAP32[$257 >> 2] = (HEAP32[$257 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($254 << 2) >> 2] | 0); - $264 = $253 << 1; - $265 = $labelInfo + 655376 + ($264 << 3) | 0; - HEAPF64[$265 >> 3] = +HEAPF64[$265 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($254 + 1 << 2) >> 2] | 0); - $273 = $labelInfo + 655376 + (($264 | 1) << 3) | 0; - HEAPF64[$273 >> 3] = +HEAPF64[$273 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($254 + 2 << 2) >> 2] | 0); - $276 = $253 << 2; - $277 = $labelInfo + 131084 + ($276 << 2) | 0; - $281 = HEAP32[$labelInfo + 1310736 + ($254 + 3 << 2) >> 2] | 0; - if ((HEAP32[$277 >> 2] | 0) > ($281 | 0)) HEAP32[$277 >> 2] = $281; - $284 = $labelInfo + 131084 + (($276 | 1) << 2) | 0; - $288 = HEAP32[$labelInfo + 1310736 + ($254 + 4 << 2) >> 2] | 0; - if ((HEAP32[$284 >> 2] | 0) < ($288 | 0)) HEAP32[$284 >> 2] = $288; - $291 = $labelInfo + 131084 + (($276 | 2) << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($254 + 5 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($276 | 3) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($254 + 6 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$231 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $306 = $labelInfo + 12 + ($i$632 << 2) | 0; - $309 = $i$632 << 1; - $310 = $labelInfo + 655376 + ($309 << 3) | 0; - HEAPF64[$310 >> 3] = +HEAPF64[$310 >> 3] / +(HEAP32[$306 >> 2] | 0); - $316 = $labelInfo + 655376 + (($309 | 1) << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$306 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$231 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arLabelingSubDBRC($image, $xsize, $ysize, $labelingThresh, $labelInfo) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelingThresh = $labelingThresh | 0; - $labelInfo = $labelInfo | 0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $101 = 0, $118 = 0, $120 = 0, $122 = 0, $126 = 0, $130 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $147 = 0, $152 = 0, $154 = 0, $158 = 0, $16 = 0, $162 = 0, $166 = 0, $17 = 0, $172 = 0, $175 = 0, $177 = 0, $18 = 0, $181 = 0, $185 = 0, $189 = 0, $192 = 0, $197 = 0, $212 = 0, $213 = 0, $219 = 0, $22 = 0, $221 = 0, $227 = 0, $231 = 0, $232 = 0, $239 = 0, $253 = 0, $254 = 0, $257 = 0, $264 = 0, $265 = 0, $27 = 0, $273 = 0, $276 = 0, $277 = 0, $281 = 0, $284 = 0, $288 = 0, $291 = 0, $295 = 0, $298 = 0, $30 = 0, $302 = 0, $306 = 0, $309 = 0, $310 = 0, $316 = 0, $32 = 0, $36 = 0, $40 = 0, $46 = 0, $47 = 0, $50 = 0, $51 = 0, $52 = 0, $55 = 0, $58 = 0, $75 = 0, $77 = 0, $79 = 0, $83 = 0, $87 = 0, $9 = 0, $93 = 0, $98 = 0, $i$081 = 0, $i$175 = 0, $i$255 = 0, $i$337 = 0, $i$435 = 0, $i$533 = 0, $i$632 = 0, $j$068 = 0, $j$1$lcssa = 0, $j$138 = 0, $j$2 = 0, $k$051 = 0, $k$148 = 0, $k$244 = 0, $k$341 = 0, $pnt$072 = 0, $pnt$1$lcssa = 0, $pnt$163 = 0, $pnt1$083 = 0, $pnt1$177 = 0, $pnt2$082 = 0, $pnt2$176 = 0, $pnt2$271 = 0, $pnt2$3$lcssa = 0, $pnt2$362 = 0, $vararg_buffer = 0, $wk$052 = 0, $wk$149 = 0, $wk$245 = 0, $wk$342 = 0, $wk$439 = 0, $wk_max$0$lcssa = 0, $wk_max$070 = 0, $wk_max$1$lcssa = 0, $wk_max$157 = 0, $wk_max$2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = HEAP32[$labelInfo >> 2] | 0; - $1 = $ysize + -1 | 0; - if (($xsize | 0) > 0) { - $i$081 = 0; - $pnt1$083 = $0; - $pnt2$082 = $0 + ((Math_imul($1, $xsize) | 0) << 1) | 0; - while (1) { - HEAP16[$pnt2$082 >> 1] = 0; - HEAP16[$pnt1$083 >> 1] = 0; - $i$081 = $i$081 + 1 | 0; - if (($i$081 | 0) >= ($xsize | 0)) break; else { - $pnt1$083 = $pnt1$083 + 2 | 0; - $pnt2$082 = $pnt2$082 + 2 | 0; - } - } - } - $9 = $xsize + -1 | 0; - if (($ysize | 0) > 0) { - $i$175 = 0; - $pnt1$177 = $0; - $pnt2$176 = $0 + ($9 << 1) | 0; - while (1) { - HEAP16[$pnt2$176 >> 1] = 0; - HEAP16[$pnt1$177 >> 1] = 0; - $i$175 = $i$175 + 1 | 0; - if (($i$175 | 0) >= ($ysize | 0)) break; else { - $pnt1$177 = $pnt1$177 + ($xsize << 1) | 0; - $pnt2$176 = $pnt2$176 + ($xsize << 1) | 0; - } - } - } - $16 = $labelInfo + 1179664 | 0; - $17 = $xsize + 1 | 0; - $18 = 0 - $xsize | 0; - $$sum = 1 - $xsize | 0; - $$sum1 = ~$xsize; - L11 : do if (($1 | 0) > 1) { - $22 = ($9 | 0) > 1; - $j$068 = 1; - $pnt$072 = $image + $17 | 0; - $pnt2$271 = $0 + ($17 << 1) | 0; - $wk_max$070 = 0; - L13 : while (1) { - if ($22) { - $i$255 = 1; - $pnt$163 = $pnt$072; - $pnt2$362 = $pnt2$271; - $wk_max$157 = $wk_max$070; - while (1) { - do if ((HEAPU8[$pnt$163 >> 0] | 0 | 0) > ($labelingThresh | 0)) { - HEAP16[$pnt2$362 >> 1] = 0; - $wk_max$2 = $wk_max$157; - } else { - $27 = HEAP16[$pnt2$362 + ($18 << 1) >> 1] | 0; - if ($27 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $27; - $30 = ($27 << 16 >> 16) * 7 | 0; - $32 = $labelInfo + 1310736 + ($30 + -7 << 2) | 0; - HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 1; - $36 = $labelInfo + 1310736 + ($30 + -6 << 2) | 0; - HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + $i$255; - $40 = $labelInfo + 1310736 + ($30 + -5 << 2) | 0; - HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($30 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $46 = HEAP16[$pnt2$362 + ($$sum << 1) >> 1] | 0; - $47 = $46 << 16 >> 16; - $50 = HEAP16[$pnt2$362 + ($$sum1 << 1) >> 1] | 0; - $51 = $50 << 16 >> 16; - $52 = $50 << 16 >> 16 > 0; - if ($46 << 16 >> 16 <= 0) { - if ($52) { - HEAP16[$pnt2$362 >> 1] = $50; - $152 = $51 * 7 | 0; - $154 = $labelInfo + 1310736 + ($152 + -7 << 2) | 0; - HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; - $158 = $labelInfo + 1310736 + ($152 + -6 << 2) | 0; - HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $i$255; - $162 = $labelInfo + 1310736 + ($152 + -5 << 2) | 0; - HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $j$068; - $166 = $labelInfo + 1310736 + ($152 + -3 << 2) | 0; - if ((HEAP32[$166 >> 2] | 0) < ($i$255 | 0)) HEAP32[$166 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($152 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $172 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($172 << 16 >> 16 > 0) { - HEAP16[$pnt2$362 >> 1] = $172; - $175 = ($172 << 16 >> 16) * 7 | 0; - $177 = $labelInfo + 1310736 + ($175 + -7 << 2) | 0; - HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; - $181 = $labelInfo + 1310736 + ($175 + -6 << 2) | 0; - HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $i$255; - $185 = $labelInfo + 1310736 + ($175 + -5 << 2) | 0; - HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $j$068; - $189 = $labelInfo + 1310736 + ($175 + -3 << 2) | 0; - if ((HEAP32[$189 >> 2] | 0) >= ($i$255 | 0)) { - $wk_max$2 = $wk_max$157; - break; - } - HEAP32[$189 >> 2] = $i$255; - $wk_max$2 = $wk_max$157; - break; - } else { - $192 = $wk_max$157 + 1 | 0; - if (($wk_max$157 | 0) > 32767) break L13; - HEAP16[$pnt2$362 >> 1] = $192; - HEAP32[$labelInfo + 1179664 + ($wk_max$157 << 2) >> 2] = $192 << 16 >> 16; - $197 = $wk_max$157 * 7 | 0; - HEAP32[$labelInfo + 1310736 + ($197 << 2) >> 2] = 1; - HEAP32[$labelInfo + 1310736 + ($197 + 1 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 2 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($197 + 3 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 4 << 2) >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($197 + 5 << 2) >> 2] = $j$068; - HEAP32[$labelInfo + 1310736 + ($197 + 6 << 2) >> 2] = $j$068; - $wk_max$2 = $192; - break; - } - } - if ($52) { - $55 = HEAP32[$labelInfo + 1179664 + ($47 + -1 << 2) >> 2] | 0; - $58 = HEAP32[$labelInfo + 1179664 + ($51 + -1 << 2) >> 2] | 0; - if (($55 | 0) > ($58 | 0)) { - HEAP16[$pnt2$362 >> 1] = $58; - if (($wk_max$157 | 0) > 0) { - $k$051 = 0; - $wk$052 = $16; - while (1) { - if ((HEAP32[$wk$052 >> 2] | 0) == ($55 | 0)) HEAP32[$wk$052 >> 2] = $58; - $k$051 = $k$051 + 1 | 0; - if (($k$051 | 0) >= ($wk_max$157 | 0)) { - $75 = $58; - break; - } else $wk$052 = $wk$052 + 4 | 0; - } - } else $75 = $58; - } else { - HEAP16[$pnt2$362 >> 1] = $55; - if (($55 | 0) < ($58 | 0) & ($wk_max$157 | 0) > 0) { - $k$148 = 0; - $wk$149 = $16; - while (1) { - if ((HEAP32[$wk$149 >> 2] | 0) == ($58 | 0)) HEAP32[$wk$149 >> 2] = $55; - $k$148 = $k$148 + 1 | 0; - if (($k$148 | 0) >= ($wk_max$157 | 0)) { - $75 = $55; - break; - } else $wk$149 = $wk$149 + 4 | 0; - } - } else $75 = $55; - } - $77 = ($75 << 16 >> 16) * 7 | 0; - $79 = $labelInfo + 1310736 + ($77 + -7 << 2) | 0; - HEAP32[$79 >> 2] = (HEAP32[$79 >> 2] | 0) + 1; - $83 = $labelInfo + 1310736 + ($77 + -6 << 2) | 0; - HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + $i$255; - $87 = $labelInfo + 1310736 + ($77 + -5 << 2) | 0; - HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $j$068; - HEAP32[$labelInfo + 1310736 + ($77 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $93 = HEAP16[$pnt2$362 + -2 >> 1] | 0; - if ($93 << 16 >> 16 <= 0) { - HEAP16[$pnt2$362 >> 1] = $46; - $133 = $47 * 7 | 0; - $135 = $labelInfo + 1310736 + ($133 + -7 << 2) | 0; - HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; - $139 = $labelInfo + 1310736 + ($133 + -6 << 2) | 0; - HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $i$255; - $143 = $labelInfo + 1310736 + ($133 + -5 << 2) | 0; - HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $j$068; - $147 = $labelInfo + 1310736 + ($133 + -4 << 2) | 0; - if ((HEAP32[$147 >> 2] | 0) > ($i$255 | 0)) HEAP32[$147 >> 2] = $i$255; - HEAP32[$labelInfo + 1310736 + ($133 + -1 << 2) >> 2] = $j$068; - $wk_max$2 = $wk_max$157; - break; - } - $98 = HEAP32[$labelInfo + 1179664 + ($47 + -1 << 2) >> 2] | 0; - $101 = HEAP32[$labelInfo + 1179664 + (($93 << 16 >> 16) + -1 << 2) >> 2] | 0; - if (($98 | 0) > ($101 | 0)) { - HEAP16[$pnt2$362 >> 1] = $101; - if (($wk_max$157 | 0) > 0) { - $k$244 = 0; - $wk$245 = $16; - while (1) { - if ((HEAP32[$wk$245 >> 2] | 0) == ($98 | 0)) HEAP32[$wk$245 >> 2] = $101; - $k$244 = $k$244 + 1 | 0; - if (($k$244 | 0) >= ($wk_max$157 | 0)) { - $118 = $101; - break; - } else $wk$245 = $wk$245 + 4 | 0; - } - } else $118 = $101; - } else { - HEAP16[$pnt2$362 >> 1] = $98; - if (($98 | 0) < ($101 | 0) & ($wk_max$157 | 0) > 0) { - $k$341 = 0; - $wk$342 = $16; - while (1) { - if ((HEAP32[$wk$342 >> 2] | 0) == ($101 | 0)) HEAP32[$wk$342 >> 2] = $98; - $k$341 = $k$341 + 1 | 0; - if (($k$341 | 0) >= ($wk_max$157 | 0)) { - $118 = $98; - break; - } else $wk$342 = $wk$342 + 4 | 0; - } - } else $118 = $98; - } - $120 = ($118 << 16 >> 16) * 7 | 0; - $122 = $labelInfo + 1310736 + ($120 + -7 << 2) | 0; - HEAP32[$122 >> 2] = (HEAP32[$122 >> 2] | 0) + 1; - $126 = $labelInfo + 1310736 + ($120 + -6 << 2) | 0; - HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + $i$255; - $130 = $labelInfo + 1310736 + ($120 + -5 << 2) | 0; - HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $j$068; - $wk_max$2 = $wk_max$157; - } while (0); - $i$255 = $i$255 + 1 | 0; - $212 = $pnt$163 + 1 | 0; - $213 = $pnt2$362 + 2 | 0; - if (($i$255 | 0) >= ($9 | 0)) { - $pnt$1$lcssa = $212; - $pnt2$3$lcssa = $213; - $wk_max$1$lcssa = $wk_max$2; - break; - } else { - $pnt$163 = $212; - $pnt2$362 = $213; - $wk_max$157 = $wk_max$2; - } - } - } else { - $pnt$1$lcssa = $pnt$072; - $pnt2$3$lcssa = $pnt2$271; - $wk_max$1$lcssa = $wk_max$070; - } - $j$068 = $j$068 + 1 | 0; - if (($j$068 | 0) >= ($1 | 0)) { - $wk_max$0$lcssa = $wk_max$1$lcssa; - label = 52; - break L11; - } else { - $pnt$072 = $pnt$1$lcssa + 2 | 0; - $pnt2$271 = $pnt2$3$lcssa + 4 | 0; - $wk_max$070 = $wk_max$1$lcssa; - } - } - _arLog(3, 3904, $vararg_buffer); - $$0 = -1; - } else { - $wk_max$0$lcssa = 0; - label = 52; - } while (0); - if ((label | 0) == 52) { - $219 = $labelInfo + 12 | 0; - if (($wk_max$0$lcssa | 0) < 1) $j$1$lcssa = 1; else { - $i$337 = 1; - $j$138 = 1; - $wk$439 = $16; - while (1) { - $221 = HEAP32[$wk$439 >> 2] | 0; - if (($221 | 0) == ($i$337 | 0)) { - $227 = $j$138; - $j$2 = $j$138 + 1 | 0; - } else { - $227 = HEAP32[$labelInfo + 1179664 + ($221 + -1 << 2) >> 2] | 0; - $j$2 = $j$138; - } - HEAP32[$wk$439 >> 2] = $227; - if (($i$337 | 0) < ($wk_max$0$lcssa | 0)) { - $i$337 = $i$337 + 1 | 0; - $j$138 = $j$2; - $wk$439 = $wk$439 + 4 | 0; - } else { - $j$1$lcssa = $j$2; - break; - } - } - } - $231 = $labelInfo + 8 | 0; - $232 = $j$1$lcssa + -1 | 0; - HEAP32[$231 >> 2] = $232; - if (!$232) $$0 = 0; else { - _memset($219 | 0, 0, $232 << 2 | 0) | 0; - _memset($labelInfo + 655376 | 0, 0, $232 << 4 | 0) | 0; - if (($j$1$lcssa | 0) > 1) { - $i$435 = 0; - do { - $239 = $i$435 << 2; - HEAP32[$labelInfo + 131084 + ($239 << 2) >> 2] = $xsize; - HEAP32[$labelInfo + 131084 + (($239 | 1) << 2) >> 2] = 0; - HEAP32[$labelInfo + 131084 + (($239 | 2) << 2) >> 2] = $ysize; - HEAP32[$labelInfo + 131084 + (($239 | 3) << 2) >> 2] = 0; - $i$435 = $i$435 + 1 | 0; - } while (($i$435 | 0) < (HEAP32[$231 >> 2] | 0)); - } - if (($wk_max$0$lcssa | 0) > 0) { - $i$533 = 0; - do { - $253 = (HEAP32[$labelInfo + 1179664 + ($i$533 << 2) >> 2] | 0) + -1 | 0; - $254 = $i$533 * 7 | 0; - $257 = $labelInfo + 12 + ($253 << 2) | 0; - HEAP32[$257 >> 2] = (HEAP32[$257 >> 2] | 0) + (HEAP32[$labelInfo + 1310736 + ($254 << 2) >> 2] | 0); - $264 = $253 << 1; - $265 = $labelInfo + 655376 + ($264 << 3) | 0; - HEAPF64[$265 >> 3] = +HEAPF64[$265 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($254 + 1 << 2) >> 2] | 0); - $273 = $labelInfo + 655376 + (($264 | 1) << 3) | 0; - HEAPF64[$273 >> 3] = +HEAPF64[$273 >> 3] + +(HEAP32[$labelInfo + 1310736 + ($254 + 2 << 2) >> 2] | 0); - $276 = $253 << 2; - $277 = $labelInfo + 131084 + ($276 << 2) | 0; - $281 = HEAP32[$labelInfo + 1310736 + ($254 + 3 << 2) >> 2] | 0; - if ((HEAP32[$277 >> 2] | 0) > ($281 | 0)) HEAP32[$277 >> 2] = $281; - $284 = $labelInfo + 131084 + (($276 | 1) << 2) | 0; - $288 = HEAP32[$labelInfo + 1310736 + ($254 + 4 << 2) >> 2] | 0; - if ((HEAP32[$284 >> 2] | 0) < ($288 | 0)) HEAP32[$284 >> 2] = $288; - $291 = $labelInfo + 131084 + (($276 | 2) << 2) | 0; - $295 = HEAP32[$labelInfo + 1310736 + ($254 + 5 << 2) >> 2] | 0; - if ((HEAP32[$291 >> 2] | 0) > ($295 | 0)) HEAP32[$291 >> 2] = $295; - $298 = $labelInfo + 131084 + (($276 | 3) << 2) | 0; - $302 = HEAP32[$labelInfo + 1310736 + ($254 + 6 << 2) >> 2] | 0; - if ((HEAP32[$298 >> 2] | 0) < ($302 | 0)) HEAP32[$298 >> 2] = $302; - $i$533 = $i$533 + 1 | 0; - } while (($i$533 | 0) < ($wk_max$0$lcssa | 0)); - } - if ((HEAP32[$231 >> 2] | 0) > 0) { - $i$632 = 0; - do { - $306 = $labelInfo + 12 + ($i$632 << 2) | 0; - $309 = $i$632 << 1; - $310 = $labelInfo + 655376 + ($309 << 3) | 0; - HEAPF64[$310 >> 3] = +HEAPF64[$310 >> 3] / +(HEAP32[$306 >> 2] | 0); - $316 = $labelInfo + 655376 + (($309 | 1) << 3) | 0; - HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / +(HEAP32[$306 >> 2] | 0); - $i$632 = $i$632 + 1 | 0; - } while (($i$632 | 0) < (HEAP32[$231 >> 2] | 0)); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0$i$i$i = 0, $$0$i$i$i10 = 0, $$0$i$i$i21 = 0, $$0$i$i$i7 = 0, $$1 = 0, $$lcssa = 0, $$lcssa152 = 0, $$pre = 0, $0 = 0, $1 = 0, $100 = 0, $102 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $118 = 0, $12 = 0, $121 = 0, $124 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $154 = 0, $157 = 0, $16 = 0, $164 = 0, $174 = 0, $176 = 0, $18 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $19 = 0, $192 = 0, $193 = 0, $195 = 0, $2 = 0, $209 = 0, $211 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $225 = 0, $227 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $38 = 0, $43 = 0, $44 = 0, $45 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $66 = 0, $76 = 0, $82 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $95 = 0, $96 = 0, $98 = 0, $99 = 0, $__v$i$i20 = 0, $args = 0, $k$0121 = 0, $k1$0124 = 0, $k2$0123 = 0, $t$0$lcssa = 0, $t$0126 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i20 = sp + 64 | 0; - $args = sp + 52 | 0; - $0 = sp + 40 | 0; - $1 = sp + 16 | 0; - $2 = sp; - L1 : do if (($last - $first | 0) > 1) if ((HEAP8[$first >> 0] | 0) == 73) { - $9 = $db + 61 | 0; - $$pre = $db + 36 | 0; - if (HEAP8[$9 >> 0] | 0) { - $12 = HEAP32[$$pre >> 2] | 0; - $14 = HEAP32[$12 + -16 >> 2] | 0; - $15 = $12 + -12 | 0; - $16 = HEAP32[$15 >> 2] | 0; - if (($16 | 0) != ($14 | 0)) { - $19 = $16; - do { - $18 = $19 + -16 | 0; - HEAP32[$15 >> 2] = $18; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($18); - $19 = HEAP32[$15 >> 2] | 0; - } while (($19 | 0) != ($14 | 0)); - } - } - $22 = $first + 1 | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($args, 12776, 1); - $23 = $db + 4 | 0; - $24 = $db + 12 | 0; - $25 = $__v$i$i20 + 8 | 0; - $26 = $__v$i$i20 + 8 | 0; - $27 = $args + 4 | 0; - $28 = $0 + 8 | 0; - $29 = $0 + 1 | 0; - $30 = $0 + 4 | 0; - $31 = $db + 32 | 0; - $32 = $db + 40 | 0; - $33 = $db + 44 | 0; - $34 = $__v$i$i20 + 8 | 0; - L9 : do if ((HEAP8[$22 >> 0] | 0) == 69) $t$0$lcssa = $22; else { - $t$0126 = $22; - L10 : while (1) { - do if (HEAP8[$9 >> 0] | 0) { - $43 = HEAP32[$24 >> 2] | 0; - $44 = HEAP32[$$pre >> 2] | 0; - $45 = HEAP32[$32 >> 2] | 0; - if ($44 >>> 0 < $45 >>> 0) { - HEAP32[$44 >> 2] = 0; - HEAP32[$44 + 4 >> 2] = 0; - HEAP32[$44 + 8 >> 2] = 0; - HEAP32[$44 + 12 >> 2] = $43; - HEAP32[$$pre >> 2] = (HEAP32[$$pre >> 2] | 0) + 16; - break; - } - $54 = HEAP32[$31 >> 2] | 0; - $55 = $44 - $54 | 0; - $56 = $55 >> 4; - $57 = $56 + 1 | 0; - if (($55 | 0) < -16) { - label = 12; - break L10; - } - $60 = $45 - $54 | 0; - if ($60 >> 4 >>> 0 < 1073741823) { - $63 = $60 >> 3; - $$0$i$i$i = $63 >>> 0 < $57 >>> 0 ? $57 : $63; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEEC2EjjSB_($__v$i$i20, $$0$i$i$i, $56, $33); - $66 = HEAP32[$34 >> 2] | 0; - HEAP32[$66 >> 2] = 0; - HEAP32[$66 + 4 >> 2] = 0; - HEAP32[$66 + 8 >> 2] = 0; - HEAP32[$66 + 12 >> 2] = $43; - HEAP32[$34 >> 2] = $66 + 16; - __ZNSt3__16vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEEENS4_IS8_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE($31, $__v$i$i20); - __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEED2Ev($__v$i$i20); - } while (0); - $76 = ((HEAP32[$23 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $38 = __ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_($t$0126, $last, $db) | 0; - $82 = ((HEAP32[$23 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (HEAP8[$9 >> 0] | 0) { - $85 = HEAP32[$$pre >> 2] | 0; - $86 = $85 + -16 | 0; - $88 = $85; - do { - $87 = $88 + -16 | 0; - HEAP32[$$pre >> 2] = $87; - __ZNSt3__113__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEED2Ev($87); - $88 = HEAP32[$$pre >> 2] | 0; - } while (($88 | 0) != ($86 | 0)); - } - if (($38 | 0) == ($t$0126 | 0) | ($38 | 0) == ($last | 0)) { - label = 56; - break; - } - if (HEAP8[$9 >> 0] | 0) { - $95 = HEAP32[$$pre >> 2] | 0; - $96 = $95 + -16 | 0; - $98 = HEAP32[$24 >> 2] | 0; - $99 = $95 + -12 | 0; - $100 = HEAP32[$99 >> 2] | 0; - $102 = HEAP32[$95 + -8 >> 2] | 0; - if ($100 >>> 0 < $102 >>> 0) { - HEAP32[$100 >> 2] = 0; - HEAP32[$100 + 4 >> 2] = 0; - HEAP32[$100 + 8 >> 2] = 0; - HEAP32[$100 + 12 >> 2] = $98; - HEAP32[$99 >> 2] = (HEAP32[$99 >> 2] | 0) + 16; - } else { - $112 = HEAP32[$96 >> 2] | 0; - $113 = $100 - $112 | 0; - $114 = $113 >> 4; - $115 = $114 + 1 | 0; - if (($113 | 0) < -16) { - $$lcssa = $96; - label = 25; - break; - } - $118 = $102 - $112 | 0; - if ($118 >> 4 >>> 0 < 1073741823) { - $121 = $118 >> 3; - $$0$i$i$i7 = $121 >>> 0 < $115 >>> 0 ? $115 : $121; - } else $$0$i$i$i7 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i20, $$0$i$i$i7, $114, $95 + -4 | 0); - $124 = HEAP32[$25 >> 2] | 0; - HEAP32[$124 >> 2] = 0; - HEAP32[$124 + 4 >> 2] = 0; - HEAP32[$124 + 8 >> 2] = 0; - HEAP32[$124 + 12 >> 2] = $98; - HEAP32[$25 >> 2] = $124 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($96, $__v$i$i20); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i20); - } - if ($76 >>> 0 < $82 >>> 0) { - $k$0121 = $76; - do { - $132 = HEAP32[(HEAP32[$$pre >> 2] | 0) + -12 >> 2] | 0; - $133 = $132 + -16 | 0; - $134 = HEAP32[$db >> 2] | 0; - $135 = $134 + ($k$0121 * 24 | 0) | 0; - $136 = $132 + -12 | 0; - $137 = HEAP32[$136 >> 2] | 0; - if (($137 | 0) == (HEAP32[$132 + -8 >> 2] | 0)) { - $149 = $137 - (HEAP32[$133 >> 2] | 0) | 0; - $150 = ($149 | 0) / 24 | 0; - $151 = $150 + 1 | 0; - if (($149 | 0) < -24) { - $$lcssa152 = $133; - label = 33; - break L10; - } - if ($150 >>> 0 < 1073741823) { - $154 = $150 << 1; - $$0$i$i$i10 = $154 >>> 0 < $151 >>> 0 ? $151 : $154; - } else $$0$i$i$i10 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i20, $$0$i$i$i10, $150, $132 + -4 | 0); - $157 = HEAP32[$26 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($157, $135); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($157 + 12 | 0, $134 + ($k$0121 * 24 | 0) + 12 | 0); - HEAP32[$26 >> 2] = $157 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($133, $__v$i$i20); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i20); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($137, $135); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($137 + 12 | 0, $134 + ($k$0121 * 24 | 0) + 12 | 0); - HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + 24; - } - $k$0121 = $k$0121 + 1 | 0; - } while ($k$0121 >>> 0 < $82 >>> 0); - } - } - if ($76 >>> 0 < $82 >>> 0) { - $k2$0123 = $76; - do { - $164 = HEAP8[$args >> 0] | 0; - if ((($164 & 1) == 0 ? ($164 & 255) >>> 1 : HEAP32[$27 >> 2] | 0) >>> 0 > 1) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($args, 12716) | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($0, (HEAP32[$db >> 2] | 0) + ($k2$0123 * 24 | 0) | 0); - $174 = HEAP8[$0 >> 0] | 0; - $176 = ($174 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($args, $176 ? $29 : HEAP32[$28 >> 2] | 0, $176 ? ($174 & 255) >>> 1 : HEAP32[$30 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - $k2$0123 = $k2$0123 + 1 | 0; - } while ($k2$0123 >>> 0 < $82 >>> 0); - } - if (($82 | 0) != ($76 | 0)) { - $k1$0124 = $82; - do { - $185 = HEAP32[$23 >> 2] | 0; - $186 = $185 + -24 | 0; - $188 = $185; - do { - $187 = $188 + -24 | 0; - HEAP32[$23 >> 2] = $187; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($187); - $188 = HEAP32[$23 >> 2] | 0; - } while (($188 | 0) != ($186 | 0)); - $k1$0124 = $k1$0124 + -1 | 0; - } while (($k1$0124 | 0) != ($76 | 0)); - } - if ((HEAP8[$38 >> 0] | 0) == 69) { - $t$0$lcssa = $38; - break L9; - } else $t$0126 = $38; - } - if ((label | 0) == 12) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($31); else if ((label | 0) == 25) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa); else if ((label | 0) == 33) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($$lcssa152); else if ((label | 0) == 56) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$1 = $first; - break L1; - } - } while (0); - $192 = $t$0$lcssa + 1 | 0; - $193 = HEAP8[$args >> 0] | 0; - $195 = ($193 & 1) == 0; - if ((HEAP8[($195 ? $args + 1 | 0 : HEAP32[$args + 8 >> 2] | 0) + (($195 ? ($193 & 255) >>> 1 : HEAP32[$27 >> 2] | 0) + -1) >> 0] | 0) == 62) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($args, 13761) | 0; else __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($args, 12778) | 0; - HEAP32[$2 >> 2] = HEAP32[$args >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$args + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$args + 8 >> 2]; - HEAP32[$args >> 2] = 0; - HEAP32[$args + 4 >> 2] = 0; - HEAP32[$args + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - $209 = HEAP32[$23 >> 2] | 0; - $211 = HEAP32[$db + 8 >> 2] | 0; - if ($209 >>> 0 < $211 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($209, $1); - HEAP32[$23 >> 2] = (HEAP32[$23 >> 2] | 0) + 24; - } else { - $218 = HEAP32[$db >> 2] | 0; - $219 = $209 - $218 | 0; - $220 = ($219 | 0) / 24 | 0; - $221 = $220 + 1 | 0; - if (($219 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $225 = ($211 - $218 | 0) / 24 | 0; - if ($225 >>> 0 < 1073741823) { - $227 = $225 << 1; - $$0$i$i$i21 = $227 >>> 0 < $221 >>> 0 ? $221 : $227; - } else $$0$i$i$i21 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i20, $$0$i$i$i21, $220, $db + 12 | 0); - $230 = $__v$i$i20 + 8 | 0; - $231 = HEAP32[$230 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($231, $1); - HEAP32[$230 >> 2] = $231 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i20); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i20); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$1 = $192; - } else $$1 = $first; else $$1 = $first; while (0); - STACKTOP = sp; - return $$1 | 0; -} -function _free($mem) { - $mem = $mem | 0; - var $$lcssa = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$sum2 = 0, $1 = 0, $103 = 0, $104 = 0, $111 = 0, $112 = 0, $12 = 0, $120 = 0, $128 = 0, $133 = 0, $134 = 0, $137 = 0, $139 = 0, $14 = 0, $141 = 0, $15 = 0, $156 = 0, $161 = 0, $163 = 0, $166 = 0, $169 = 0, $172 = 0, $175 = 0, $176 = 0, $178 = 0, $179 = 0, $181 = 0, $182 = 0, $184 = 0, $185 = 0, $19 = 0, $191 = 0, $192 = 0, $2 = 0, $201 = 0, $206 = 0, $210 = 0, $216 = 0, $22 = 0, $231 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $24 = 0, $240 = 0, $241 = 0, $247 = 0, $252 = 0, $253 = 0, $256 = 0, $258 = 0, $26 = 0, $261 = 0, $266 = 0, $272 = 0, $276 = 0, $277 = 0, $284 = 0, $296 = 0, $301 = 0, $308 = 0, $309 = 0, $310 = 0, $318 = 0, $39 = 0, $44 = 0, $46 = 0, $49 = 0, $5 = 0, $51 = 0, $54 = 0, $57 = 0, $58 = 0, $6 = 0, $60 = 0, $61 = 0, $63 = 0, $64 = 0, $66 = 0, $67 = 0, $72 = 0, $73 = 0, $8 = 0, $82 = 0, $87 = 0, $9 = 0, $91 = 0, $97 = 0, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0; - if (!$mem) return; - $1 = $mem + -8 | 0; - $2 = HEAP32[760] | 0; - if ($1 >>> 0 < $2 >>> 0) _abort(); - $5 = HEAP32[$mem + -4 >> 2] | 0; - $6 = $5 & 3; - if (($6 | 0) == 1) _abort(); - $8 = $5 & -8; - $9 = $mem + ($8 + -8) | 0; - do if (!($5 & 1)) { - $12 = HEAP32[$1 >> 2] | 0; - if (!$6) return; - $$sum2 = -8 - $12 | 0; - $14 = $mem + $$sum2 | 0; - $15 = $12 + $8 | 0; - if ($14 >>> 0 < $2 >>> 0) _abort(); - if (($14 | 0) == (HEAP32[761] | 0)) { - $103 = $mem + ($8 + -4) | 0; - $104 = HEAP32[$103 >> 2] | 0; - if (($104 & 3 | 0) != 3) { - $p$0 = $14; - $psize$0 = $15; - break; - } - HEAP32[758] = $15; - HEAP32[$103 >> 2] = $104 & -2; - HEAP32[$mem + ($$sum2 + 4) >> 2] = $15 | 1; - HEAP32[$9 >> 2] = $15; - return; - } - $19 = $12 >>> 3; - if ($12 >>> 0 < 256) { - $22 = HEAP32[$mem + ($$sum2 + 8) >> 2] | 0; - $24 = HEAP32[$mem + ($$sum2 + 12) >> 2] | 0; - $26 = 3064 + ($19 << 1 << 2) | 0; - if (($22 | 0) != ($26 | 0)) { - if ($22 >>> 0 < $2 >>> 0) _abort(); - if ((HEAP32[$22 + 12 >> 2] | 0) != ($14 | 0)) _abort(); - } - if (($24 | 0) == ($22 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $19); - $p$0 = $14; - $psize$0 = $15; - break; - } - if (($24 | 0) == ($26 | 0)) $$pre$phi61Z2D = $24 + 8 | 0; else { - if ($24 >>> 0 < $2 >>> 0) _abort(); - $39 = $24 + 8 | 0; - if ((HEAP32[$39 >> 2] | 0) == ($14 | 0)) $$pre$phi61Z2D = $39; else _abort(); - } - HEAP32[$22 + 12 >> 2] = $24; - HEAP32[$$pre$phi61Z2D >> 2] = $22; - $p$0 = $14; - $psize$0 = $15; - break; - } - $44 = HEAP32[$mem + ($$sum2 + 24) >> 2] | 0; - $46 = HEAP32[$mem + ($$sum2 + 12) >> 2] | 0; - do if (($46 | 0) == ($14 | 0)) { - $57 = $mem + ($$sum2 + 20) | 0; - $58 = HEAP32[$57 >> 2] | 0; - if (!$58) { - $60 = $mem + ($$sum2 + 16) | 0; - $61 = HEAP32[$60 >> 2] | 0; - if (!$61) { - $R$1 = 0; - break; - } else { - $R$0 = $61; - $RP$0 = $60; - } - } else { - $R$0 = $58; - $RP$0 = $57; - } - while (1) { - $63 = $R$0 + 20 | 0; - $64 = HEAP32[$63 >> 2] | 0; - if ($64) { - $R$0 = $64; - $RP$0 = $63; - continue; - } - $66 = $R$0 + 16 | 0; - $67 = HEAP32[$66 >> 2] | 0; - if (!$67) { - $R$0$lcssa = $R$0; - $RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $67; - $RP$0 = $66; - } - } - if ($RP$0$lcssa >>> 0 < $2 >>> 0) _abort(); else { - HEAP32[$RP$0$lcssa >> 2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $49 = HEAP32[$mem + ($$sum2 + 8) >> 2] | 0; - if ($49 >>> 0 < $2 >>> 0) _abort(); - $51 = $49 + 12 | 0; - if ((HEAP32[$51 >> 2] | 0) != ($14 | 0)) _abort(); - $54 = $46 + 8 | 0; - if ((HEAP32[$54 >> 2] | 0) == ($14 | 0)) { - HEAP32[$51 >> 2] = $46; - HEAP32[$54 >> 2] = $49; - $R$1 = $46; - break; - } else _abort(); - } while (0); - if (!$44) { - $p$0 = $14; - $psize$0 = $15; - } else { - $72 = HEAP32[$mem + ($$sum2 + 28) >> 2] | 0; - $73 = 3328 + ($72 << 2) | 0; - if (($14 | 0) == (HEAP32[$73 >> 2] | 0)) { - HEAP32[$73 >> 2] = $R$1; - if (!$R$1) { - HEAP32[757] = HEAP32[757] & ~(1 << $72); - $p$0 = $14; - $psize$0 = $15; - break; - } - } else { - if ($44 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $82 = $44 + 16 | 0; - if ((HEAP32[$82 >> 2] | 0) == ($14 | 0)) HEAP32[$82 >> 2] = $R$1; else HEAP32[$44 + 20 >> 2] = $R$1; - if (!$R$1) { - $p$0 = $14; - $psize$0 = $15; - break; - } - } - $87 = HEAP32[760] | 0; - if ($R$1 >>> 0 < $87 >>> 0) _abort(); - HEAP32[$R$1 + 24 >> 2] = $44; - $91 = HEAP32[$mem + ($$sum2 + 16) >> 2] | 0; - do if ($91) if ($91 >>> 0 < $87 >>> 0) _abort(); else { - HEAP32[$R$1 + 16 >> 2] = $91; - HEAP32[$91 + 24 >> 2] = $R$1; - break; - } while (0); - $97 = HEAP32[$mem + ($$sum2 + 20) >> 2] | 0; - if (!$97) { - $p$0 = $14; - $psize$0 = $15; - } else if ($97 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1 + 20 >> 2] = $97; - HEAP32[$97 + 24 >> 2] = $R$1; - $p$0 = $14; - $psize$0 = $15; - break; - } - } - } else { - $p$0 = $1; - $psize$0 = $8; - } while (0); - if ($p$0 >>> 0 >= $9 >>> 0) _abort(); - $111 = $mem + ($8 + -4) | 0; - $112 = HEAP32[$111 >> 2] | 0; - if (!($112 & 1)) _abort(); - if (!($112 & 2)) { - if (($9 | 0) == (HEAP32[762] | 0)) { - $120 = (HEAP32[759] | 0) + $psize$0 | 0; - HEAP32[759] = $120; - HEAP32[762] = $p$0; - HEAP32[$p$0 + 4 >> 2] = $120 | 1; - if (($p$0 | 0) != (HEAP32[761] | 0)) return; - HEAP32[761] = 0; - HEAP32[758] = 0; - return; - } - if (($9 | 0) == (HEAP32[761] | 0)) { - $128 = (HEAP32[758] | 0) + $psize$0 | 0; - HEAP32[758] = $128; - HEAP32[761] = $p$0; - HEAP32[$p$0 + 4 >> 2] = $128 | 1; - HEAP32[$p$0 + $128 >> 2] = $128; - return; - } - $133 = ($112 & -8) + $psize$0 | 0; - $134 = $112 >>> 3; - do if ($112 >>> 0 < 256) { - $137 = HEAP32[$mem + $8 >> 2] | 0; - $139 = HEAP32[$mem + ($8 | 4) >> 2] | 0; - $141 = 3064 + ($134 << 1 << 2) | 0; - if (($137 | 0) != ($141 | 0)) { - if ($137 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - if ((HEAP32[$137 + 12 >> 2] | 0) != ($9 | 0)) _abort(); - } - if (($139 | 0) == ($137 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $134); - break; - } - if (($139 | 0) == ($141 | 0)) $$pre$phi59Z2D = $139 + 8 | 0; else { - if ($139 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $156 = $139 + 8 | 0; - if ((HEAP32[$156 >> 2] | 0) == ($9 | 0)) $$pre$phi59Z2D = $156; else _abort(); - } - HEAP32[$137 + 12 >> 2] = $139; - HEAP32[$$pre$phi59Z2D >> 2] = $137; - } else { - $161 = HEAP32[$mem + ($8 + 16) >> 2] | 0; - $163 = HEAP32[$mem + ($8 | 4) >> 2] | 0; - do if (($163 | 0) == ($9 | 0)) { - $175 = $mem + ($8 + 12) | 0; - $176 = HEAP32[$175 >> 2] | 0; - if (!$176) { - $178 = $mem + ($8 + 8) | 0; - $179 = HEAP32[$178 >> 2] | 0; - if (!$179) { - $R7$1 = 0; - break; - } else { - $R7$0 = $179; - $RP9$0 = $178; - } - } else { - $R7$0 = $176; - $RP9$0 = $175; - } - while (1) { - $181 = $R7$0 + 20 | 0; - $182 = HEAP32[$181 >> 2] | 0; - if ($182) { - $R7$0 = $182; - $RP9$0 = $181; - continue; - } - $184 = $R7$0 + 16 | 0; - $185 = HEAP32[$184 >> 2] | 0; - if (!$185) { - $R7$0$lcssa = $R7$0; - $RP9$0$lcssa = $RP9$0; - break; - } else { - $R7$0 = $185; - $RP9$0 = $184; - } - } - if ($RP9$0$lcssa >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$RP9$0$lcssa >> 2] = 0; - $R7$1 = $R7$0$lcssa; - break; - } - } else { - $166 = HEAP32[$mem + $8 >> 2] | 0; - if ($166 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $169 = $166 + 12 | 0; - if ((HEAP32[$169 >> 2] | 0) != ($9 | 0)) _abort(); - $172 = $163 + 8 | 0; - if ((HEAP32[$172 >> 2] | 0) == ($9 | 0)) { - HEAP32[$169 >> 2] = $163; - HEAP32[$172 >> 2] = $166; - $R7$1 = $163; - break; - } else _abort(); - } while (0); - if ($161) { - $191 = HEAP32[$mem + ($8 + 20) >> 2] | 0; - $192 = 3328 + ($191 << 2) | 0; - if (($9 | 0) == (HEAP32[$192 >> 2] | 0)) { - HEAP32[$192 >> 2] = $R7$1; - if (!$R7$1) { - HEAP32[757] = HEAP32[757] & ~(1 << $191); - break; - } - } else { - if ($161 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $201 = $161 + 16 | 0; - if ((HEAP32[$201 >> 2] | 0) == ($9 | 0)) HEAP32[$201 >> 2] = $R7$1; else HEAP32[$161 + 20 >> 2] = $R7$1; - if (!$R7$1) break; - } - $206 = HEAP32[760] | 0; - if ($R7$1 >>> 0 < $206 >>> 0) _abort(); - HEAP32[$R7$1 + 24 >> 2] = $161; - $210 = HEAP32[$mem + ($8 + 8) >> 2] | 0; - do if ($210) if ($210 >>> 0 < $206 >>> 0) _abort(); else { - HEAP32[$R7$1 + 16 >> 2] = $210; - HEAP32[$210 + 24 >> 2] = $R7$1; - break; - } while (0); - $216 = HEAP32[$mem + ($8 + 12) >> 2] | 0; - if ($216) if ($216 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R7$1 + 20 >> 2] = $216; - HEAP32[$216 + 24 >> 2] = $R7$1; - break; - } - } - } while (0); - HEAP32[$p$0 + 4 >> 2] = $133 | 1; - HEAP32[$p$0 + $133 >> 2] = $133; - if (($p$0 | 0) == (HEAP32[761] | 0)) { - HEAP32[758] = $133; - return; - } else $psize$1 = $133; - } else { - HEAP32[$111 >> 2] = $112 & -2; - HEAP32[$p$0 + 4 >> 2] = $psize$0 | 1; - HEAP32[$p$0 + $psize$0 >> 2] = $psize$0; - $psize$1 = $psize$0; - } - $231 = $psize$1 >>> 3; - if ($psize$1 >>> 0 < 256) { - $233 = $231 << 1; - $234 = 3064 + ($233 << 2) | 0; - $235 = HEAP32[756] | 0; - $236 = 1 << $231; - if (!($235 & $236)) { - HEAP32[756] = $235 | $236; - $$pre$phiZ2D = 3064 + ($233 + 2 << 2) | 0; - $F16$0 = $234; - } else { - $240 = 3064 + ($233 + 2 << 2) | 0; - $241 = HEAP32[$240 >> 2] | 0; - if ($241 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phiZ2D = $240; - $F16$0 = $241; - } - } - HEAP32[$$pre$phiZ2D >> 2] = $p$0; - HEAP32[$F16$0 + 12 >> 2] = $p$0; - HEAP32[$p$0 + 8 >> 2] = $F16$0; - HEAP32[$p$0 + 12 >> 2] = $234; - return; - } - $247 = $psize$1 >>> 8; - if (!$247) $I18$0 = 0; else if ($psize$1 >>> 0 > 16777215) $I18$0 = 31; else { - $252 = ($247 + 1048320 | 0) >>> 16 & 8; - $253 = $247 << $252; - $256 = ($253 + 520192 | 0) >>> 16 & 4; - $258 = $253 << $256; - $261 = ($258 + 245760 | 0) >>> 16 & 2; - $266 = 14 - ($256 | $252 | $261) + ($258 << $261 >>> 15) | 0; - $I18$0 = $psize$1 >>> ($266 + 7 | 0) & 1 | $266 << 1; - } - $272 = 3328 + ($I18$0 << 2) | 0; - HEAP32[$p$0 + 28 >> 2] = $I18$0; - HEAP32[$p$0 + 20 >> 2] = 0; - HEAP32[$p$0 + 16 >> 2] = 0; - $276 = HEAP32[757] | 0; - $277 = 1 << $I18$0; - L199 : do if (!($276 & $277)) { - HEAP32[757] = $276 | $277; - HEAP32[$272 >> 2] = $p$0; - HEAP32[$p$0 + 24 >> 2] = $272; - HEAP32[$p$0 + 12 >> 2] = $p$0; - HEAP32[$p$0 + 8 >> 2] = $p$0; - } else { - $284 = HEAP32[$272 >> 2] | 0; - L202 : do if ((HEAP32[$284 + 4 >> 2] & -8 | 0) == ($psize$1 | 0)) $T$0$lcssa = $284; else { - $K19$052 = $psize$1 << (($I18$0 | 0) == 31 ? 0 : 25 - ($I18$0 >>> 1) | 0); - $T$051 = $284; - while (1) { - $301 = $T$051 + 16 + ($K19$052 >>> 31 << 2) | 0; - $296 = HEAP32[$301 >> 2] | 0; - if (!$296) { - $$lcssa = $301; - $T$051$lcssa = $T$051; - break; - } - if ((HEAP32[$296 + 4 >> 2] & -8 | 0) == ($psize$1 | 0)) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $K19$052 << 1; - $T$051 = $296; - } - } - if ($$lcssa >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$$lcssa >> 2] = $p$0; - HEAP32[$p$0 + 24 >> 2] = $T$051$lcssa; - HEAP32[$p$0 + 12 >> 2] = $p$0; - HEAP32[$p$0 + 8 >> 2] = $p$0; - break L199; - } - } while (0); - $308 = $T$0$lcssa + 8 | 0; - $309 = HEAP32[$308 >> 2] | 0; - $310 = HEAP32[760] | 0; - if ($309 >>> 0 >= $310 >>> 0 & $T$0$lcssa >>> 0 >= $310 >>> 0) { - HEAP32[$309 + 12 >> 2] = $p$0; - HEAP32[$308 >> 2] = $p$0; - HEAP32[$p$0 + 8 >> 2] = $309; - HEAP32[$p$0 + 12 >> 2] = $T$0$lcssa; - HEAP32[$p$0 + 24 >> 2] = 0; - break; - } else _abort(); - } while (0); - $318 = (HEAP32[764] | 0) + -1 | 0; - HEAP32[764] = $318; - if (!$318) $sp$0$in$i = 3480; else return; - while (1) { - $sp$0$i = HEAP32[$sp$0$in$i >> 2] | 0; - if (!$sp$0$i) break; else $sp$0$in$i = $sp$0$i + 8 | 0; - } - HEAP32[764] = -1; - return; -} - -function ___intscan($f, $base, $pok, $0, $1) { - $f = $f | 0; - $base = $base | 0; - $pok = $pok | 0; - $0 = $0 | 0; - $1 = $1 | 0; - var $$1 = 0, $$122 = 0, $$123 = 0, $$base21 = 0, $$lcssa = 0, $$lcssa130 = 0, $$lcssa131 = 0, $$lcssa132 = 0, $$lcssa133 = 0, $$lcssa134 = 0, $$lcssa135 = 0, $100 = 0, $101 = 0, $108 = 0, $120 = 0, $121 = 0, $128 = 0, $13 = 0, $130 = 0, $131 = 0, $134 = 0, $135 = 0, $136 = 0, $144 = 0, $149 = 0, $150 = 0, $152 = 0, $155 = 0, $157 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $166 = 0, $167 = 0, $168 = 0, $17 = 0, $18 = 0, $185 = 0, $186 = 0, $187 = 0, $195 = 0, $201 = 0, $203 = 0, $204 = 0, $206 = 0, $208 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $222 = 0, $223 = 0, $224 = 0, $239 = 0, $25 = 0, $250 = 0, $260 = 0, $262 = 0, $271 = 0, $272 = 0, $279 = 0, $281 = 0, $284 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $3 = 0, $37 = 0, $39 = 0, $4 = 0, $46 = 0, $5 = 0, $51 = 0, $6 = 0, $65 = 0, $67 = 0, $70 = 0, $71 = 0, $72 = 0, $83 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $90 = 0, $91 = 0, $93 = 0, $99 = 0, $c$0 = 0, $c$1 = 0, $c$124 = 0, $c$2$be = 0, $c$2$be$lcssa = 0, $c$2$lcssa = 0, $c$3$be = 0, $c$3$lcssa = 0, $c$371 = 0, $c$4$be = 0, $c$4$be$lcssa = 0, $c$4$lcssa = 0, $c$5$be = 0, $c$6$be = 0, $c$6$be$lcssa = 0, $c$6$lcssa = 0, $c$7$be = 0, $c$753 = 0, $c$8 = 0, $c$9$be = 0, $neg$0 = 0, $neg$1 = 0, $x$082 = 0, $x$146 = 0, $x$266 = 0, label = 0; - L1 : do if ($base >>> 0 > 36) { - $5 = ___errno_location() | 0; - HEAP32[$5 >> 2] = 22; - $286 = 0; - $287 = 0; - } else { - $3 = $f + 4 | 0; - $4 = $f + 100 | 0; - do { - $6 = HEAP32[$3 >> 2] | 0; - if ($6 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $6 + 1; - $13 = HEAPU8[$6 >> 0] | 0; - } else $13 = ___shgetc($f) | 0; - } while ((_isspace($13) | 0) != 0); - $$lcssa135 = $13; - L11 : do switch ($$lcssa135 | 0) { - case 43: - case 45: - { - $17 = (($$lcssa135 | 0) == 45) << 31 >> 31; - $18 = HEAP32[$3 >> 2] | 0; - if ($18 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $18 + 1; - $c$0 = HEAPU8[$18 >> 0] | 0; - $neg$0 = $17; - break L11; - } else { - $c$0 = ___shgetc($f) | 0; - $neg$0 = $17; - break L11; - } - break; - } - default: - { - $c$0 = $$lcssa135; - $neg$0 = 0; - } - } while (0); - $25 = ($base | 0) == 0; - do if (($base & -17 | 0) == 0 & ($c$0 | 0) == 48) { - $29 = HEAP32[$3 >> 2] | 0; - if ($29 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $29 + 1; - $37 = HEAPU8[$29 >> 0] | 0; - } else $37 = ___shgetc($f) | 0; - if (($37 | 32 | 0) != 120) if ($25) { - $$123 = 8; - $c$124 = $37; - label = 46; - break; - } else { - $$1 = $base; - $c$1 = $37; - label = 32; - break; - } - $39 = HEAP32[$3 >> 2] | 0; - if ($39 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $39 + 1; - $46 = HEAPU8[$39 >> 0] | 0; - } else $46 = ___shgetc($f) | 0; - if ((HEAPU8[16493 + ($46 + 1) >> 0] | 0) > 15) { - $51 = (HEAP32[$4 >> 2] | 0) == 0; - if (!$51) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; - if (!$pok) { - ___shlim($f, 0); - $286 = 0; - $287 = 0; - break L1; - } - if ($51) { - $286 = 0; - $287 = 0; - break L1; - } - HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; - $286 = 0; - $287 = 0; - break L1; - } else { - $$123 = 16; - $c$124 = $46; - label = 46; - } - } else { - $$base21 = $25 ? 10 : $base; - if ((HEAPU8[16493 + ($c$0 + 1) >> 0] | 0) >>> 0 < $$base21 >>> 0) { - $$1 = $$base21; - $c$1 = $c$0; - label = 32; - } else { - if (HEAP32[$4 >> 2] | 0) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; - ___shlim($f, 0); - $65 = ___errno_location() | 0; - HEAP32[$65 >> 2] = 22; - $286 = 0; - $287 = 0; - break L1; - } - } while (0); - if ((label | 0) == 32) if (($$1 | 0) == 10) { - $67 = $c$1 + -48 | 0; - if ($67 >>> 0 < 10) { - $71 = $67; - $x$082 = 0; - while (1) { - $70 = ($x$082 * 10 | 0) + $71 | 0; - $72 = HEAP32[$3 >> 2] | 0; - if ($72 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $72 + 1; - $c$2$be = HEAPU8[$72 >> 0] | 0; - } else $c$2$be = ___shgetc($f) | 0; - $71 = $c$2$be + -48 | 0; - if (!($71 >>> 0 < 10 & $70 >>> 0 < 429496729)) { - $$lcssa134 = $70; - $c$2$be$lcssa = $c$2$be; - break; - } else $x$082 = $70; - } - $288 = $$lcssa134; - $289 = 0; - $c$2$lcssa = $c$2$be$lcssa; - } else { - $288 = 0; - $289 = 0; - $c$2$lcssa = $c$1; - } - $83 = $c$2$lcssa + -48 | 0; - if ($83 >>> 0 < 10) { - $85 = $288; - $86 = $289; - $90 = $83; - $c$371 = $c$2$lcssa; - while (1) { - $87 = ___muldi3($85 | 0, $86 | 0, 10, 0) | 0; - $88 = tempRet0; - $91 = (($90 | 0) < 0) << 31 >> 31; - $93 = ~$91; - if ($88 >>> 0 > $93 >>> 0 | ($88 | 0) == ($93 | 0) & $87 >>> 0 > ~$90 >>> 0) { - $$lcssa = $90; - $290 = $85; - $291 = $86; - $c$3$lcssa = $c$371; - break; - } - $99 = _i64Add($87 | 0, $88 | 0, $90 | 0, $91 | 0) | 0; - $100 = tempRet0; - $101 = HEAP32[$3 >> 2] | 0; - if ($101 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $101 + 1; - $c$3$be = HEAPU8[$101 >> 0] | 0; - } else $c$3$be = ___shgetc($f) | 0; - $108 = $c$3$be + -48 | 0; - if ($108 >>> 0 < 10 & ($100 >>> 0 < 429496729 | ($100 | 0) == 429496729 & $99 >>> 0 < 2576980378)) { - $85 = $99; - $86 = $100; - $90 = $108; - $c$371 = $c$3$be; - } else { - $$lcssa = $108; - $290 = $99; - $291 = $100; - $c$3$lcssa = $c$3$be; - break; - } - } - if ($$lcssa >>> 0 > 9) { - $260 = $291; - $262 = $290; - $neg$1 = $neg$0; - } else { - $$122 = 10; - $292 = $290; - $293 = $291; - $c$8 = $c$3$lcssa; - label = 72; - } - } else { - $260 = $289; - $262 = $288; - $neg$1 = $neg$0; - } - } else { - $$123 = $$1; - $c$124 = $c$1; - label = 46; - } - L63 : do if ((label | 0) == 46) { - if (!($$123 + -1 & $$123)) { - $128 = HEAP8[16750 + (($$123 * 23 | 0) >>> 5 & 7) >> 0] | 0; - $130 = HEAP8[16493 + ($c$124 + 1) >> 0] | 0; - $131 = $130 & 255; - if ($131 >>> 0 < $$123 >>> 0) { - $135 = $131; - $x$146 = 0; - while (1) { - $134 = $135 | $x$146 << $128; - $136 = HEAP32[$3 >> 2] | 0; - if ($136 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $136 + 1; - $c$4$be = HEAPU8[$136 >> 0] | 0; - } else $c$4$be = ___shgetc($f) | 0; - $144 = HEAP8[16493 + ($c$4$be + 1) >> 0] | 0; - $135 = $144 & 255; - if (!($134 >>> 0 < 134217728 & $135 >>> 0 < $$123 >>> 0)) { - $$lcssa130 = $134; - $$lcssa131 = $144; - $c$4$be$lcssa = $c$4$be; - break; - } else $x$146 = $134; - } - $152 = $$lcssa131; - $155 = 0; - $157 = $$lcssa130; - $c$4$lcssa = $c$4$be$lcssa; - } else { - $152 = $130; - $155 = 0; - $157 = 0; - $c$4$lcssa = $c$124; - } - $149 = _bitshift64Lshr(-1, -1, $128 | 0) | 0; - $150 = tempRet0; - if (($152 & 255) >>> 0 >= $$123 >>> 0 | ($155 >>> 0 > $150 >>> 0 | ($155 | 0) == ($150 | 0) & $157 >>> 0 > $149 >>> 0)) { - $$122 = $$123; - $292 = $157; - $293 = $155; - $c$8 = $c$4$lcssa; - label = 72; - break; - } else { - $161 = $157; - $162 = $155; - $166 = $152; - } - while (1) { - $163 = _bitshift64Shl($161 | 0, $162 | 0, $128 | 0) | 0; - $164 = tempRet0; - $167 = $166 & 255 | $163; - $168 = HEAP32[$3 >> 2] | 0; - if ($168 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $168 + 1; - $c$5$be = HEAPU8[$168 >> 0] | 0; - } else $c$5$be = ___shgetc($f) | 0; - $166 = HEAP8[16493 + ($c$5$be + 1) >> 0] | 0; - if (($166 & 255) >>> 0 >= $$123 >>> 0 | ($164 >>> 0 > $150 >>> 0 | ($164 | 0) == ($150 | 0) & $167 >>> 0 > $149 >>> 0)) { - $$122 = $$123; - $292 = $167; - $293 = $164; - $c$8 = $c$5$be; - label = 72; - break L63; - } else { - $161 = $167; - $162 = $164; - } - } - } - $120 = HEAP8[16493 + ($c$124 + 1) >> 0] | 0; - $121 = $120 & 255; - if ($121 >>> 0 < $$123 >>> 0) { - $186 = $121; - $x$266 = 0; - while (1) { - $185 = $186 + (Math_imul($x$266, $$123) | 0) | 0; - $187 = HEAP32[$3 >> 2] | 0; - if ($187 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $187 + 1; - $c$6$be = HEAPU8[$187 >> 0] | 0; - } else $c$6$be = ___shgetc($f) | 0; - $195 = HEAP8[16493 + ($c$6$be + 1) >> 0] | 0; - $186 = $195 & 255; - if (!($185 >>> 0 < 119304647 & $186 >>> 0 < $$123 >>> 0)) { - $$lcssa132 = $185; - $$lcssa133 = $195; - $c$6$be$lcssa = $c$6$be; - break; - } else $x$266 = $185; - } - $201 = $$lcssa133; - $294 = $$lcssa132; - $295 = 0; - $c$6$lcssa = $c$6$be$lcssa; - } else { - $201 = $120; - $294 = 0; - $295 = 0; - $c$6$lcssa = $c$124; - } - if (($201 & 255) >>> 0 < $$123 >>> 0) { - $203 = ___udivdi3(-1, -1, $$123 | 0, 0) | 0; - $204 = tempRet0; - $206 = $295; - $208 = $294; - $215 = $201; - $c$753 = $c$6$lcssa; - while (1) { - if ($206 >>> 0 > $204 >>> 0 | ($206 | 0) == ($204 | 0) & $208 >>> 0 > $203 >>> 0) { - $$122 = $$123; - $292 = $208; - $293 = $206; - $c$8 = $c$753; - label = 72; - break L63; - } - $212 = ___muldi3($208 | 0, $206 | 0, $$123 | 0, 0) | 0; - $213 = tempRet0; - $214 = $215 & 255; - if ($213 >>> 0 > 4294967295 | ($213 | 0) == -1 & $212 >>> 0 > ~$214 >>> 0) { - $$122 = $$123; - $292 = $208; - $293 = $206; - $c$8 = $c$753; - label = 72; - break L63; - } - $222 = _i64Add($214 | 0, 0, $212 | 0, $213 | 0) | 0; - $223 = tempRet0; - $224 = HEAP32[$3 >> 2] | 0; - if ($224 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $224 + 1; - $c$7$be = HEAPU8[$224 >> 0] | 0; - } else $c$7$be = ___shgetc($f) | 0; - $215 = HEAP8[16493 + ($c$7$be + 1) >> 0] | 0; - if (($215 & 255) >>> 0 >= $$123 >>> 0) { - $$122 = $$123; - $292 = $222; - $293 = $223; - $c$8 = $c$7$be; - label = 72; - break; - } else { - $206 = $223; - $208 = $222; - $c$753 = $c$7$be; - } - } - } else { - $$122 = $$123; - $292 = $294; - $293 = $295; - $c$8 = $c$6$lcssa; - label = 72; - } - } while (0); - if ((label | 0) == 72) if ((HEAPU8[16493 + ($c$8 + 1) >> 0] | 0) >>> 0 < $$122 >>> 0) { - do { - $239 = HEAP32[$3 >> 2] | 0; - if ($239 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { - HEAP32[$3 >> 2] = $239 + 1; - $c$9$be = HEAPU8[$239 >> 0] | 0; - } else $c$9$be = ___shgetc($f) | 0; - } while ((HEAPU8[16493 + ($c$9$be + 1) >> 0] | 0) >>> 0 < $$122 >>> 0); - $250 = ___errno_location() | 0; - HEAP32[$250 >> 2] = 34; - $260 = $1; - $262 = $0; - $neg$1 = ($0 & 1 | 0) == 0 & 0 == 0 ? $neg$0 : 0; - } else { - $260 = $293; - $262 = $292; - $neg$1 = $neg$0; - } - if (HEAP32[$4 >> 2] | 0) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; - if (!($260 >>> 0 < $1 >>> 0 | ($260 | 0) == ($1 | 0) & $262 >>> 0 < $0 >>> 0)) { - if (!(($0 & 1 | 0) != 0 | 0 != 0 | ($neg$1 | 0) != 0)) { - $271 = ___errno_location() | 0; - HEAP32[$271 >> 2] = 34; - $272 = _i64Add($0 | 0, $1 | 0, -1, -1) | 0; - $286 = tempRet0; - $287 = $272; - break; - } - if ($260 >>> 0 > $1 >>> 0 | ($260 | 0) == ($1 | 0) & $262 >>> 0 > $0 >>> 0) { - $279 = ___errno_location() | 0; - HEAP32[$279 >> 2] = 34; - $286 = $1; - $287 = $0; - break; - } - } - $281 = (($neg$1 | 0) < 0) << 31 >> 31; - $284 = _i64Subtract($262 ^ $neg$1 | 0, $260 ^ $281 | 0, $neg$1 | 0, $281 | 0) | 0; - $286 = tempRet0; - $287 = $284; - } while (0); - tempRet0 = $286; - return $287 | 0; -} - -function _dispose_chunk($p, $psize) { - $p = $p | 0; - $psize = $psize | 0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$sum18 = 0, $$sum21 = 0, $0 = 0, $10 = 0, $100 = 0, $106 = 0, $108 = 0, $109 = 0, $11 = 0, $115 = 0, $123 = 0, $128 = 0, $129 = 0, $132 = 0, $134 = 0, $136 = 0, $149 = 0, $15 = 0, $154 = 0, $156 = 0, $159 = 0, $161 = 0, $164 = 0, $167 = 0, $168 = 0, $170 = 0, $171 = 0, $173 = 0, $174 = 0, $176 = 0, $177 = 0, $18 = 0, $182 = 0, $183 = 0, $192 = 0, $197 = 0, $2 = 0, $20 = 0, $201 = 0, $207 = 0, $22 = 0, $222 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $231 = 0, $232 = 0, $238 = 0, $243 = 0, $244 = 0, $247 = 0, $249 = 0, $252 = 0, $257 = 0, $263 = 0, $267 = 0, $268 = 0, $275 = 0, $287 = 0, $292 = 0, $299 = 0, $300 = 0, $301 = 0, $35 = 0, $40 = 0, $42 = 0, $45 = 0, $47 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $56 = 0, $57 = 0, $59 = 0, $60 = 0, $62 = 0, $63 = 0, $68 = 0, $69 = 0, $78 = 0, $83 = 0, $87 = 0, $9 = 0, $93 = 0, $99 = 0, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0; - $0 = $p + $psize | 0; - $2 = HEAP32[$p + 4 >> 2] | 0; - do if (!($2 & 1)) { - $5 = HEAP32[$p >> 2] | 0; - if (!($2 & 3)) return; - $9 = $p + (0 - $5) | 0; - $10 = $5 + $psize | 0; - $11 = HEAP32[760] | 0; - if ($9 >>> 0 < $11 >>> 0) _abort(); - if (($9 | 0) == (HEAP32[761] | 0)) { - $99 = $p + ($psize + 4) | 0; - $100 = HEAP32[$99 >> 2] | 0; - if (($100 & 3 | 0) != 3) { - $$0 = $9; - $$02 = $10; - break; - } - HEAP32[758] = $10; - HEAP32[$99 >> 2] = $100 & -2; - HEAP32[$p + (4 - $5) >> 2] = $10 | 1; - HEAP32[$0 >> 2] = $10; - return; - } - $15 = $5 >>> 3; - if ($5 >>> 0 < 256) { - $18 = HEAP32[$p + (8 - $5) >> 2] | 0; - $20 = HEAP32[$p + (12 - $5) >> 2] | 0; - $22 = 3064 + ($15 << 1 << 2) | 0; - if (($18 | 0) != ($22 | 0)) { - if ($18 >>> 0 < $11 >>> 0) _abort(); - if ((HEAP32[$18 + 12 >> 2] | 0) != ($9 | 0)) _abort(); - } - if (($20 | 0) == ($18 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $15); - $$0 = $9; - $$02 = $10; - break; - } - if (($20 | 0) == ($22 | 0)) $$pre$phi52Z2D = $20 + 8 | 0; else { - if ($20 >>> 0 < $11 >>> 0) _abort(); - $35 = $20 + 8 | 0; - if ((HEAP32[$35 >> 2] | 0) == ($9 | 0)) $$pre$phi52Z2D = $35; else _abort(); - } - HEAP32[$18 + 12 >> 2] = $20; - HEAP32[$$pre$phi52Z2D >> 2] = $18; - $$0 = $9; - $$02 = $10; - break; - } - $40 = HEAP32[$p + (24 - $5) >> 2] | 0; - $42 = HEAP32[$p + (12 - $5) >> 2] | 0; - do if (($42 | 0) == ($9 | 0)) { - $$sum18 = 16 - $5 | 0; - $53 = $p + ($$sum18 + 4) | 0; - $54 = HEAP32[$53 >> 2] | 0; - if (!$54) { - $56 = $p + $$sum18 | 0; - $57 = HEAP32[$56 >> 2] | 0; - if (!$57) { - $R$1 = 0; - break; - } else { - $R$0 = $57; - $RP$0 = $56; - } - } else { - $R$0 = $54; - $RP$0 = $53; - } - while (1) { - $59 = $R$0 + 20 | 0; - $60 = HEAP32[$59 >> 2] | 0; - if ($60) { - $R$0 = $60; - $RP$0 = $59; - continue; - } - $62 = $R$0 + 16 | 0; - $63 = HEAP32[$62 >> 2] | 0; - if (!$63) { - $R$0$lcssa = $R$0; - $RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $63; - $RP$0 = $62; - } - } - if ($RP$0$lcssa >>> 0 < $11 >>> 0) _abort(); else { - HEAP32[$RP$0$lcssa >> 2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $45 = HEAP32[$p + (8 - $5) >> 2] | 0; - if ($45 >>> 0 < $11 >>> 0) _abort(); - $47 = $45 + 12 | 0; - if ((HEAP32[$47 >> 2] | 0) != ($9 | 0)) _abort(); - $50 = $42 + 8 | 0; - if ((HEAP32[$50 >> 2] | 0) == ($9 | 0)) { - HEAP32[$47 >> 2] = $42; - HEAP32[$50 >> 2] = $45; - $R$1 = $42; - break; - } else _abort(); - } while (0); - if (!$40) { - $$0 = $9; - $$02 = $10; - } else { - $68 = HEAP32[$p + (28 - $5) >> 2] | 0; - $69 = 3328 + ($68 << 2) | 0; - if (($9 | 0) == (HEAP32[$69 >> 2] | 0)) { - HEAP32[$69 >> 2] = $R$1; - if (!$R$1) { - HEAP32[757] = HEAP32[757] & ~(1 << $68); - $$0 = $9; - $$02 = $10; - break; - } - } else { - if ($40 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $78 = $40 + 16 | 0; - if ((HEAP32[$78 >> 2] | 0) == ($9 | 0)) HEAP32[$78 >> 2] = $R$1; else HEAP32[$40 + 20 >> 2] = $R$1; - if (!$R$1) { - $$0 = $9; - $$02 = $10; - break; - } - } - $83 = HEAP32[760] | 0; - if ($R$1 >>> 0 < $83 >>> 0) _abort(); - HEAP32[$R$1 + 24 >> 2] = $40; - $$sum21 = 16 - $5 | 0; - $87 = HEAP32[$p + $$sum21 >> 2] | 0; - do if ($87) if ($87 >>> 0 < $83 >>> 0) _abort(); else { - HEAP32[$R$1 + 16 >> 2] = $87; - HEAP32[$87 + 24 >> 2] = $R$1; - break; - } while (0); - $93 = HEAP32[$p + ($$sum21 + 4) >> 2] | 0; - if (!$93) { - $$0 = $9; - $$02 = $10; - } else if ($93 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1 + 20 >> 2] = $93; - HEAP32[$93 + 24 >> 2] = $R$1; - $$0 = $9; - $$02 = $10; - break; - } - } - } else { - $$0 = $p; - $$02 = $psize; - } while (0); - $106 = HEAP32[760] | 0; - if ($0 >>> 0 < $106 >>> 0) _abort(); - $108 = $p + ($psize + 4) | 0; - $109 = HEAP32[$108 >> 2] | 0; - if (!($109 & 2)) { - if (($0 | 0) == (HEAP32[762] | 0)) { - $115 = (HEAP32[759] | 0) + $$02 | 0; - HEAP32[759] = $115; - HEAP32[762] = $$0; - HEAP32[$$0 + 4 >> 2] = $115 | 1; - if (($$0 | 0) != (HEAP32[761] | 0)) return; - HEAP32[761] = 0; - HEAP32[758] = 0; - return; - } - if (($0 | 0) == (HEAP32[761] | 0)) { - $123 = (HEAP32[758] | 0) + $$02 | 0; - HEAP32[758] = $123; - HEAP32[761] = $$0; - HEAP32[$$0 + 4 >> 2] = $123 | 1; - HEAP32[$$0 + $123 >> 2] = $123; - return; - } - $128 = ($109 & -8) + $$02 | 0; - $129 = $109 >>> 3; - do if ($109 >>> 0 < 256) { - $132 = HEAP32[$p + ($psize + 8) >> 2] | 0; - $134 = HEAP32[$p + ($psize + 12) >> 2] | 0; - $136 = 3064 + ($129 << 1 << 2) | 0; - if (($132 | 0) != ($136 | 0)) { - if ($132 >>> 0 < $106 >>> 0) _abort(); - if ((HEAP32[$132 + 12 >> 2] | 0) != ($0 | 0)) _abort(); - } - if (($134 | 0) == ($132 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $129); - break; - } - if (($134 | 0) == ($136 | 0)) $$pre$phi50Z2D = $134 + 8 | 0; else { - if ($134 >>> 0 < $106 >>> 0) _abort(); - $149 = $134 + 8 | 0; - if ((HEAP32[$149 >> 2] | 0) == ($0 | 0)) $$pre$phi50Z2D = $149; else _abort(); - } - HEAP32[$132 + 12 >> 2] = $134; - HEAP32[$$pre$phi50Z2D >> 2] = $132; - } else { - $154 = HEAP32[$p + ($psize + 24) >> 2] | 0; - $156 = HEAP32[$p + ($psize + 12) >> 2] | 0; - do if (($156 | 0) == ($0 | 0)) { - $167 = $p + ($psize + 20) | 0; - $168 = HEAP32[$167 >> 2] | 0; - if (!$168) { - $170 = $p + ($psize + 16) | 0; - $171 = HEAP32[$170 >> 2] | 0; - if (!$171) { - $R7$1 = 0; - break; - } else { - $R7$0 = $171; - $RP9$0 = $170; - } - } else { - $R7$0 = $168; - $RP9$0 = $167; - } - while (1) { - $173 = $R7$0 + 20 | 0; - $174 = HEAP32[$173 >> 2] | 0; - if ($174) { - $R7$0 = $174; - $RP9$0 = $173; - continue; - } - $176 = $R7$0 + 16 | 0; - $177 = HEAP32[$176 >> 2] | 0; - if (!$177) { - $R7$0$lcssa = $R7$0; - $RP9$0$lcssa = $RP9$0; - break; - } else { - $R7$0 = $177; - $RP9$0 = $176; - } - } - if ($RP9$0$lcssa >>> 0 < $106 >>> 0) _abort(); else { - HEAP32[$RP9$0$lcssa >> 2] = 0; - $R7$1 = $R7$0$lcssa; - break; - } - } else { - $159 = HEAP32[$p + ($psize + 8) >> 2] | 0; - if ($159 >>> 0 < $106 >>> 0) _abort(); - $161 = $159 + 12 | 0; - if ((HEAP32[$161 >> 2] | 0) != ($0 | 0)) _abort(); - $164 = $156 + 8 | 0; - if ((HEAP32[$164 >> 2] | 0) == ($0 | 0)) { - HEAP32[$161 >> 2] = $156; - HEAP32[$164 >> 2] = $159; - $R7$1 = $156; - break; - } else _abort(); - } while (0); - if ($154) { - $182 = HEAP32[$p + ($psize + 28) >> 2] | 0; - $183 = 3328 + ($182 << 2) | 0; - if (($0 | 0) == (HEAP32[$183 >> 2] | 0)) { - HEAP32[$183 >> 2] = $R7$1; - if (!$R7$1) { - HEAP32[757] = HEAP32[757] & ~(1 << $182); - break; - } - } else { - if ($154 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $192 = $154 + 16 | 0; - if ((HEAP32[$192 >> 2] | 0) == ($0 | 0)) HEAP32[$192 >> 2] = $R7$1; else HEAP32[$154 + 20 >> 2] = $R7$1; - if (!$R7$1) break; - } - $197 = HEAP32[760] | 0; - if ($R7$1 >>> 0 < $197 >>> 0) _abort(); - HEAP32[$R7$1 + 24 >> 2] = $154; - $201 = HEAP32[$p + ($psize + 16) >> 2] | 0; - do if ($201) if ($201 >>> 0 < $197 >>> 0) _abort(); else { - HEAP32[$R7$1 + 16 >> 2] = $201; - HEAP32[$201 + 24 >> 2] = $R7$1; - break; - } while (0); - $207 = HEAP32[$p + ($psize + 20) >> 2] | 0; - if ($207) if ($207 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R7$1 + 20 >> 2] = $207; - HEAP32[$207 + 24 >> 2] = $R7$1; - break; - } - } - } while (0); - HEAP32[$$0 + 4 >> 2] = $128 | 1; - HEAP32[$$0 + $128 >> 2] = $128; - if (($$0 | 0) == (HEAP32[761] | 0)) { - HEAP32[758] = $128; - return; - } else $$1 = $128; - } else { - HEAP32[$108 >> 2] = $109 & -2; - HEAP32[$$0 + 4 >> 2] = $$02 | 1; - HEAP32[$$0 + $$02 >> 2] = $$02; - $$1 = $$02; - } - $222 = $$1 >>> 3; - if ($$1 >>> 0 < 256) { - $224 = $222 << 1; - $225 = 3064 + ($224 << 2) | 0; - $226 = HEAP32[756] | 0; - $227 = 1 << $222; - if (!($226 & $227)) { - HEAP32[756] = $226 | $227; - $$pre$phiZ2D = 3064 + ($224 + 2 << 2) | 0; - $F16$0 = $225; - } else { - $231 = 3064 + ($224 + 2 << 2) | 0; - $232 = HEAP32[$231 >> 2] | 0; - if ($232 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - $$pre$phiZ2D = $231; - $F16$0 = $232; - } - } - HEAP32[$$pre$phiZ2D >> 2] = $$0; - HEAP32[$F16$0 + 12 >> 2] = $$0; - HEAP32[$$0 + 8 >> 2] = $F16$0; - HEAP32[$$0 + 12 >> 2] = $225; - return; - } - $238 = $$1 >>> 8; - if (!$238) $I19$0 = 0; else if ($$1 >>> 0 > 16777215) $I19$0 = 31; else { - $243 = ($238 + 1048320 | 0) >>> 16 & 8; - $244 = $238 << $243; - $247 = ($244 + 520192 | 0) >>> 16 & 4; - $249 = $244 << $247; - $252 = ($249 + 245760 | 0) >>> 16 & 2; - $257 = 14 - ($247 | $243 | $252) + ($249 << $252 >>> 15) | 0; - $I19$0 = $$1 >>> ($257 + 7 | 0) & 1 | $257 << 1; - } - $263 = 3328 + ($I19$0 << 2) | 0; - HEAP32[$$0 + 28 >> 2] = $I19$0; - HEAP32[$$0 + 20 >> 2] = 0; - HEAP32[$$0 + 16 >> 2] = 0; - $267 = HEAP32[757] | 0; - $268 = 1 << $I19$0; - if (!($267 & $268)) { - HEAP32[757] = $267 | $268; - HEAP32[$263 >> 2] = $$0; - HEAP32[$$0 + 24 >> 2] = $263; - HEAP32[$$0 + 12 >> 2] = $$0; - HEAP32[$$0 + 8 >> 2] = $$0; - return; - } - $275 = HEAP32[$263 >> 2] | 0; - L191 : do if ((HEAP32[$275 + 4 >> 2] & -8 | 0) == ($$1 | 0)) $T$0$lcssa = $275; else { - $K20$043 = $$1 << (($I19$0 | 0) == 31 ? 0 : 25 - ($I19$0 >>> 1) | 0); - $T$042 = $275; - while (1) { - $292 = $T$042 + 16 + ($K20$043 >>> 31 << 2) | 0; - $287 = HEAP32[$292 >> 2] | 0; - if (!$287) { - $$lcssa = $292; - $T$042$lcssa = $T$042; - break; - } - if ((HEAP32[$287 + 4 >> 2] & -8 | 0) == ($$1 | 0)) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $K20$043 << 1; - $T$042 = $287; - } - } - if ($$lcssa >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - HEAP32[$$lcssa >> 2] = $$0; - HEAP32[$$0 + 24 >> 2] = $T$042$lcssa; - HEAP32[$$0 + 12 >> 2] = $$0; - HEAP32[$$0 + 8 >> 2] = $$0; - return; - } while (0); - $299 = $T$0$lcssa + 8 | 0; - $300 = HEAP32[$299 >> 2] | 0; - $301 = HEAP32[760] | 0; - if (!($300 >>> 0 >= $301 >>> 0 & $T$0$lcssa >>> 0 >= $301 >>> 0)) _abort(); - HEAP32[$300 + 12 >> 2] = $$0; - HEAP32[$299 >> 2] = $$0; - HEAP32[$$0 + 8 >> 2] = $300; - HEAP32[$$0 + 12 >> 2] = $T$0$lcssa; - HEAP32[$$0 + 24 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i15 = 0, $$0$i$i$i7 = 0, $$0$i$i$i9 = 0, $$0$i$i58 = 0, $$lcssa81 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $103 = 0, $107 = 0, $114 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $120 = 0, $122 = 0, $125 = 0, $133 = 0, $134 = 0, $135 = 0, $138 = 0, $141 = 0, $148 = 0, $15 = 0, $150 = 0, $157 = 0, $158 = 0, $167 = 0, $168 = 0, $170 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $184 = 0, $186 = 0, $189 = 0, $190 = 0, $2 = 0, $22 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $30 = 0, $33 = 0, $4 = 0, $41 = 0, $42 = 0, $43 = 0, $46 = 0, $49 = 0, $56 = 0, $58 = 0, $61 = 0, $62 = 0, $64 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $78 = 0, $80 = 0, $83 = 0, $84 = 0, $89 = 0, $91 = 0, $__p$0$i$i57 = 0, $__p$0$ph$i$i = 0, $__v$i$i13 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $sub$061 = 0, $sub$061$lcssa = 0, $t1$060 = 0, $t1$060$lcssa = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i13 = sp + 64 | 0; - $0 = sp + 40 | 0; - $1 = sp + 16 | 0; - $2 = sp; - $4 = $first; - L1 : do if (($last - $4 | 0) > 1) if ((HEAP8[$first >> 0] | 0) == 84) { - $10 = HEAP8[$first + 1 >> 0] | 0; - if ($10 << 24 >> 24 == 95) { - $15 = HEAP32[$db + 36 >> 2] | 0; - if ((HEAP32[$db + 32 >> 2] | 0) == ($15 | 0)) { - $$0 = $first; - break; - } - $18 = HEAP32[$15 + -16 >> 2] | 0; - if (($18 | 0) == (HEAP32[$15 + -12 >> 2] | 0)) { - HEAP8[$0 >> 0] = 4; - $56 = $0 + 1 | 0; - HEAP8[$56 >> 0] = 84; - HEAP8[$56 + 1 >> 0] = 95; - HEAP8[$0 + 3 >> 0] = 0; - $58 = $0 + 12 | 0; - HEAP32[$58 >> 2] = 0; - HEAP32[$58 + 4 >> 2] = 0; - HEAP32[$58 + 8 >> 2] = 0; - $61 = $db + 4 | 0; - $62 = HEAP32[$61 >> 2] | 0; - $64 = HEAP32[$db + 8 >> 2] | 0; - if ($62 >>> 0 < $64 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($62, $0); - HEAP32[$61 >> 2] = (HEAP32[$61 >> 2] | 0) + 24; - } else { - $71 = HEAP32[$db >> 2] | 0; - $72 = $62 - $71 | 0; - $73 = ($72 | 0) / 24 | 0; - $74 = $73 + 1 | 0; - if (($72 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $78 = ($64 - $71 | 0) / 24 | 0; - if ($78 >>> 0 < 1073741823) { - $80 = $78 << 1; - $$0$i$i$i9 = $80 >>> 0 < $74 >>> 0 ? $74 : $80; - } else $$0$i$i$i9 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i13, $$0$i$i$i9, $73, $db + 12 | 0); - $83 = $__v$i$i13 + 8 | 0; - $84 = HEAP32[$83 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($84, $0); - HEAP32[$83 >> 2] = $84 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i13); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i13); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - HEAP8[$db + 62 >> 0] = 1; - $$0 = $first + 2 | 0; - break; - } - $22 = HEAP32[$18 >> 2] | 0; - $24 = HEAP32[$18 + 4 >> 2] | 0; - $25 = $db + 4 | 0; - $26 = $db + 8 | 0; - $27 = $db + 12 | 0; - $28 = $__v$i$i13 + 8 | 0; - L20 : do if (($22 | 0) != ($24 | 0)) { - $33 = $22; - while (1) { - $30 = HEAP32[$25 >> 2] | 0; - if (($30 | 0) == (HEAP32[$26 >> 2] | 0)) { - $41 = $30 - (HEAP32[$db >> 2] | 0) | 0; - $42 = ($41 | 0) / 24 | 0; - $43 = $42 + 1 | 0; - if (($41 | 0) < -24) break; - if ($42 >>> 0 < 1073741823) { - $46 = $42 << 1; - $$0$i$i$i7 = $46 >>> 0 < $43 >>> 0 ? $43 : $46; - } else $$0$i$i$i7 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i13, $$0$i$i$i7, $42, $27); - $49 = HEAP32[$28 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($49, $33); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($49 + 12 | 0, $33 + 12 | 0); - HEAP32[$28 >> 2] = $49 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i13); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i13); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($30, $33); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($30 + 12 | 0, $33 + 12 | 0); - HEAP32[$25 >> 2] = (HEAP32[$25 >> 2] | 0) + 24; - } - $33 = $33 + 24 | 0; - if (($33 | 0) == ($24 | 0)) break L20; - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - } while (0); - $$0 = $first + 2 | 0; - break; - } - $isdigittmp = ($10 << 24 >> 24) + -48 | 0; - if ($isdigittmp >>> 0 < 10) { - $89 = $first + 2 | 0; - if (($89 | 0) == ($last | 0)) $$0 = $first; else { - $sub$061 = $isdigittmp; - $t1$060 = $89; - while (1) { - $91 = HEAP8[$t1$060 >> 0] | 0; - $isdigittmp4 = ($91 << 24 >> 24) + -48 | 0; - if ($isdigittmp4 >>> 0 >= 10) { - $$lcssa81 = $91; - $sub$061$lcssa = $sub$061; - $t1$060$lcssa = $t1$060; - break; - } - $t1$060 = $t1$060 + 1 | 0; - if (($t1$060 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } else $sub$061 = $isdigittmp4 + ($sub$061 * 10 | 0) | 0; - } - if ($$lcssa81 << 24 >> 24 == 95) { - $101 = HEAP32[$db + 36 >> 2] | 0; - if ((HEAP32[$db + 32 >> 2] | 0) == ($101 | 0)) $$0 = $first; else { - $103 = $sub$061$lcssa + 1 | 0; - $107 = HEAP32[$101 + -16 >> 2] | 0; - if ($103 >>> 0 < (HEAP32[$101 + -12 >> 2] | 0) - $107 >> 4 >>> 0) { - $114 = HEAP32[$107 + ($103 << 4) >> 2] | 0; - $116 = HEAP32[$107 + ($103 << 4) + 4 >> 2] | 0; - $117 = $db + 4 | 0; - $118 = $db + 8 | 0; - $119 = $db + 12 | 0; - $120 = $__v$i$i13 + 8 | 0; - L43 : do if (($114 | 0) != ($116 | 0)) { - $125 = $114; - while (1) { - $122 = HEAP32[$117 >> 2] | 0; - if (($122 | 0) == (HEAP32[$118 >> 2] | 0)) { - $133 = $122 - (HEAP32[$db >> 2] | 0) | 0; - $134 = ($133 | 0) / 24 | 0; - $135 = $134 + 1 | 0; - if (($133 | 0) < -24) break; - if ($134 >>> 0 < 1073741823) { - $138 = $134 << 1; - $$0$i$i$i15 = $138 >>> 0 < $135 >>> 0 ? $135 : $138; - } else $$0$i$i$i15 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i13, $$0$i$i$i15, $134, $119); - $141 = HEAP32[$120 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($141, $125); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($141 + 12 | 0, $125 + 12 | 0); - HEAP32[$120 >> 2] = $141 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i13); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i13); - } else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($122, $125); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($122 + 12 | 0, $125 + 12 | 0); - HEAP32[$117 >> 2] = (HEAP32[$117 >> 2] | 0) + 24; - } - $125 = $125 + 24 | 0; - if (($125 | 0) == ($116 | 0)) break L43; - } - __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - } while (0); - $$0 = $t1$060$lcssa + 1 | 0; - break; - } - $148 = $t1$060$lcssa + 1 | 0; - $150 = $148 - $4 | 0; - if ($150 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($2); - if ($150 >>> 0 < 11) { - HEAP8[$2 >> 0] = $150 << 1; - $__p$0$ph$i$i = $2 + 1 | 0; - } else { - $157 = $150 + 16 & -16; - $158 = _malloc($157) | 0; - HEAP32[$2 + 8 >> 2] = $158; - HEAP32[$2 >> 2] = $157 | 1; - HEAP32[$2 + 4 >> 2] = $150; - $__p$0$ph$i$i = $158; - } - if (($148 | 0) != ($first | 0)) { - $$0$i$i58 = $first; - $__p$0$i$i57 = $__p$0$ph$i$i; - while (1) { - HEAP8[$__p$0$i$i57 >> 0] = HEAP8[$$0$i$i58 >> 0] | 0; - if (($$0$i$i58 | 0) == ($t1$060$lcssa | 0)) break; else { - $$0$i$i58 = $$0$i$i58 + 1 | 0; - $__p$0$i$i57 = $__p$0$i$i57 + 1 | 0; - } - } - } - HEAP8[$__p$0$ph$i$i + $150 >> 0] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($1, $2); - $167 = $db + 4 | 0; - $168 = HEAP32[$167 >> 2] | 0; - $170 = HEAP32[$db + 8 >> 2] | 0; - if ($168 >>> 0 < $170 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($168, $1); - HEAP32[$167 >> 2] = (HEAP32[$167 >> 2] | 0) + 24; - } else { - $177 = HEAP32[$db >> 2] | 0; - $178 = $168 - $177 | 0; - $179 = ($178 | 0) / 24 | 0; - $180 = $179 + 1 | 0; - if (($178 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $184 = ($170 - $177 | 0) / 24 | 0; - if ($184 >>> 0 < 1073741823) { - $186 = $184 << 1; - $$0$i$i$i = $186 >>> 0 < $180 >>> 0 ? $180 : $186; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i13, $$0$i$i$i, $179, $db + 12 | 0); - $189 = $__v$i$i13 + 8 | 0; - $190 = HEAP32[$189 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($190, $1); - HEAP32[$189 >> 2] = $190 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i13); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i13); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - HEAP8[$db + 62 >> 0] = 1; - $$0 = $148; - } - } else $$0 = $first; - } - } else $$0 = $first; - } else $$0 = $first; else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _get_matrix_code($data, $size, $code_out_p, $dir, $cf, $matrixCodeType, $errorCorrected) { - $data = $data | 0; - $size = $size | 0; - $code_out_p = $code_out_p | 0; - $dir = $dir | 0; - $cf = $cf | 0; - $matrixCodeType = $matrixCodeType | 0; - $errorCorrected = $errorCorrected | 0; - var $$ = 0, $$0 = 0, $$lcssa115 = 0, $$max$0 = 0, $$max$0$1 = 0, $$max$0$2 = 0, $1 = 0, $10 = 0, $100 = 0, $102 = 0, $103 = 0, $108 = 0, $109 = 0, $110 = 0, $120 = 0, $121 = 0, $122 = 0, $124 = 0, $125 = 0, $126 = 0, $130 = 0, $140 = 0, $144 = 0, $145 = 0, $146 = 0, $157 = 0, $158 = 0, $16 = 0, $163 = 0, $164 = 0, $165 = 0, $169 = 0, $182 = 0, $183 = 0, $184 = 0, $187 = 0, $193 = 0, $194 = 0, $197 = 0, $2 = 0, $206 = 0, $207 = 0, $211 = 0, $22 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $28 = 0, $31 = 0, $32 = 0, $36 = 0, $4 = 0, $70 = 0, $83 = 0, $85 = 0, $86 = 0, $96 = 0, $98 = 0, $code = 0, $contrastMin$0$lcssa = 0, $contrastMin$098 = 0, $contrastMin$1 = 0, $corner = 0, $dirCode = 0, $exitcond64 = 0, $i$2102 = 0, $i$2102$lcssa = 0, $i$399 = 0, $i$465 = 0, $i$576 = 0, $i$680 = 0, $i$794 = 0, $j$067 = 0, $j$171 = 0, $j$285 = 0, $j$389 = 0, $min$1 = 0, $min$1$1 = 0, $min$1$2 = 0, $or$cond734 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $dirCode = sp + 24 | 0; - $corner = sp + 8 | 0; - $code = sp; - L1 : do if (($size + -3 | 0) >>> 0 > 5) { - HEAP32[$code_out_p >> 2] = -1; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -1; - } else { - HEAP32[$corner >> 2] = 0; - $1 = $size + -1 | 0; - $2 = Math_imul($1, $size) | 0; - HEAP32[$corner + 4 >> 2] = $2; - $4 = Math_imul($size, $size) | 0; - HEAP32[$corner + 8 >> 2] = $4 + -1; - HEAP32[$corner + 12 >> 2] = $1; - $10 = HEAP8[$data + (HEAP32[$corner >> 2] | 0) >> 0] | 0; - $$max$0 = ($10 & 255) > 0 ? $10 : 0; - $min$1 = ($10 & 255) < 255 ? $10 : -1; - $16 = HEAP8[$data + (HEAP32[$corner + 4 >> 2] | 0) >> 0] | 0; - $$max$0$1 = ($16 & 255) > ($$max$0 & 255) ? $16 : $$max$0; - $min$1$1 = ($16 & 255) < ($min$1 & 255) ? $16 : $min$1; - $22 = HEAP8[$data + (HEAP32[$corner + 8 >> 2] | 0) >> 0] | 0; - $$max$0$2 = ($22 & 255) > ($$max$0$1 & 255) ? $22 : $$max$0$1; - $min$1$2 = ($22 & 255) < ($min$1$1 & 255) ? $22 : $min$1$1; - $28 = HEAP8[$data + (HEAP32[$corner + 12 >> 2] | 0) >> 0] | 0; - $31 = (($28 & 255) > ($$max$0$2 & 255) ? $28 : $$max$0$2) & 255; - $32 = (($28 & 255) < ($min$1$2 & 255) ? $28 : $min$1$2) & 255; - if (($31 - $32 | 0) < 30) { - HEAP32[$code_out_p >> 2] = -1; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -2; - break; - } - $36 = ($31 + $32 | 0) >>> 1; - HEAP8[$dirCode >> 0] = (HEAPU8[$data + (HEAP32[$corner >> 2] | 0) >> 0] | 0) >>> 0 < $36 >>> 0 & 1; - HEAP8[$dirCode + 1 >> 0] = (HEAPU8[$data + (HEAP32[$corner + 4 >> 2] | 0) >> 0] | 0) >>> 0 < $36 >>> 0 & 1; - HEAP8[$dirCode + 2 >> 0] = (HEAPU8[$data + (HEAP32[$corner + 8 >> 2] | 0) >> 0] | 0) >>> 0 < $36 >>> 0 & 1; - HEAP8[$dirCode + 3 >> 0] = (HEAPU8[$data + (HEAP32[$corner + 12 >> 2] | 0) >> 0] | 0) >>> 0 < $36 >>> 0 & 1; - $i$2102 = 0; - while (1) { - $70 = $i$2102 + 1 | 0; - if ((HEAP8[$dirCode + $i$2102 >> 0] | 0) == 1) if ((HEAP8[$dirCode + (($70 | 0) % 4 | 0) >> 0] | 0) == 1) if (!(HEAP8[$dirCode + (($i$2102 + 2 | 0) % 4 | 0) >> 0] | 0)) { - $i$2102$lcssa = $i$2102; - label = 10; - break; - } - if (($70 | 0) < 4) $i$2102 = $70; else { - $$lcssa115 = $70; - label = 12; - break; - } - } - if ((label | 0) == 10) HEAP32[$dir >> 2] = $i$2102$lcssa; else if ((label | 0) == 12) if (($$lcssa115 | 0) == 4) { - HEAP32[$code_out_p >> 2] = -1; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -3; - break; - } - if (!$4) $contrastMin$0$lcssa = 255; else { - $contrastMin$098 = 255; - $i$399 = 0; - while (1) { - $83 = $data + $i$399 | 0; - $85 = HEAPU8[$83 >> 0] | 0; - $86 = $85 - $36 | 0; - $$ = ($86 | 0) < 0 ? 0 - $86 | 0 : $86; - $contrastMin$1 = ($$ | 0) < ($contrastMin$098 | 0) ? $$ : $contrastMin$098; - HEAP8[$83 >> 0] = $85 >>> 0 < $36 >>> 0 & 1; - $i$399 = $i$399 + 1 | 0; - if (($i$399 | 0) >= ($4 | 0)) { - $contrastMin$0$lcssa = $contrastMin$1; - break; - } else $contrastMin$098 = $contrastMin$1; - } - } - switch (HEAP32[$dir >> 2] | 0) { - case 0: - { - if (($size | 0) > 0) { - $exitcond64 = ($size | 0) == 0; - $227 = 0; - $228 = 0; - $j$067 = 0; - while (1) { - $102 = ($j$067 | 0) == ($1 | 0); - $103 = Math_imul($j$067, $size) | 0; - if ($exitcond64) { - $229 = $227; - $230 = $228; - } else { - $108 = $227; - $109 = $228; - $i$465 = 0; - while (1) { - if (!($i$465 | $j$067)) { - $231 = $108; - $232 = $109; - } else if ($102 & (($i$465 | 0) == 0 | ($i$465 | 0) == ($1 | 0))) { - $231 = $108; - $232 = $109; - } else { - $110 = _bitshift64Shl($108 | 0, $109 | 0, 1) | 0; - $231 = (HEAP8[$data + ($i$465 + $103) >> 0] | 0) != 0 | $110; - $232 = tempRet0; - } - $i$465 = $i$465 + 1 | 0; - if (($i$465 | 0) == ($size | 0)) { - $229 = $231; - $230 = $232; - break; - } else { - $108 = $231; - $109 = $232; - } - } - } - $j$067 = $j$067 + 1 | 0; - if (($j$067 | 0) >= ($size | 0)) { - $182 = $229; - $206 = $230; - break; - } else { - $227 = $229; - $228 = $230; - } - } - } else { - $182 = 0; - $206 = 0; - } - break; - } - case 1: - { - if (($size | 0) > 0) { - $100 = ($size | 0) > 0; - $225 = 0; - $226 = 0; - $i$576 = 0; - while (1) { - $120 = ($i$576 | 0) == 0; - $121 = ($i$576 | 0) == ($1 | 0); - if ($100) { - $124 = $225; - $125 = $226; - $j$171 = $1; - while (1) { - $122 = ($j$171 | 0) == ($1 | 0); - if ($120 & $122) { - $235 = $124; - $236 = $125; - } else if ($121 & ($122 | ($j$171 | 0) == 0)) { - $235 = $124; - $236 = $125; - } else { - $126 = _bitshift64Shl($124 | 0, $125 | 0, 1) | 0; - $130 = $data + ((Math_imul($j$171, $size) | 0) + $i$576) | 0; - $235 = (HEAP8[$130 >> 0] | 0) != 0 | $126; - $236 = tempRet0; - } - if (($j$171 | 0) > 0) { - $124 = $235; - $125 = $236; - $j$171 = $j$171 + -1 | 0; - } else { - $233 = $235; - $234 = $236; - break; - } - } - } else { - $233 = $225; - $234 = $226; - } - $i$576 = $i$576 + 1 | 0; - if (($i$576 | 0) >= ($size | 0)) { - $182 = $233; - $206 = $234; - break; - } else { - $225 = $233; - $226 = $234; - } - } - } else { - $182 = 0; - $206 = 0; - } - break; - } - case 2: - { - if (($size | 0) > 0) { - $98 = ($size | 0) > 0; - $223 = 0; - $224 = 0; - $j$285 = $1; - while (1) { - $or$cond734 = ($j$285 | 0) == ($1 | 0) | ($j$285 | 0) == 0; - $140 = Math_imul($j$285, $size) | 0; - if ($98) { - $144 = $223; - $145 = $224; - $i$680 = $1; - while (1) { - if ($or$cond734 & ($i$680 | 0) == ($1 | 0) | ($i$680 | $j$285 | 0) == 0) { - $239 = $144; - $240 = $145; - } else { - $146 = _bitshift64Shl($144 | 0, $145 | 0, 1) | 0; - $239 = (HEAP8[$data + ($i$680 + $140) >> 0] | 0) != 0 | $146; - $240 = tempRet0; - } - if (($i$680 | 0) > 0) { - $144 = $239; - $145 = $240; - $i$680 = $i$680 + -1 | 0; - } else { - $237 = $239; - $238 = $240; - break; - } - } - } else { - $237 = $223; - $238 = $224; - } - if (($j$285 | 0) > 0) { - $223 = $237; - $224 = $238; - $j$285 = $j$285 + -1 | 0; - } else { - $182 = $237; - $206 = $238; - break; - } - } - } else { - $182 = 0; - $206 = 0; - } - break; - } - case 3: - { - if (($size | 0) > 0) { - $96 = ($size | 0) > 0; - $221 = 0; - $222 = 0; - $i$794 = $1; - while (1) { - $157 = ($i$794 | 0) == ($1 | 0); - $158 = ($i$794 | 0) == 0; - if ($96) { - $163 = $221; - $164 = $222; - $j$389 = 0; - while (1) { - if ($157 & ($j$389 | 0) == 0 | ($j$389 | $i$794 | 0) == 0 | $158 & ($j$389 | 0) == ($1 | 0)) { - $243 = $163; - $244 = $164; - } else { - $165 = _bitshift64Shl($163 | 0, $164 | 0, 1) | 0; - $169 = $data + ((Math_imul($j$389, $size) | 0) + $i$794) | 0; - $243 = (HEAP8[$169 >> 0] | 0) != 0 | $165; - $244 = tempRet0; - } - $j$389 = $j$389 + 1 | 0; - if (($j$389 | 0) >= ($size | 0)) { - $241 = $243; - $242 = $244; - break; - } else { - $163 = $243; - $164 = $244; - } - } - } else { - $241 = $221; - $242 = $222; - } - if (($i$794 | 0) > 0) { - $221 = $241; - $222 = $242; - $i$794 = $i$794 + -1 | 0; - } else { - $182 = $241; - $206 = $242; - break; - } - } - } else { - $182 = 0; - $206 = 0; - } - break; - } - default: - { - $182 = 0; - $206 = 0; - } - } - HEAPF64[$cf >> 3] = ($contrastMin$0$lcssa | 0) > 30 ? 1.0 : +($contrastMin$0$lcssa | 0) / 30.0; - switch ($matrixCodeType | 0) { - case 259: - { - $183 = HEAP8[4551 + $182 >> 0] | 0; - $184 = $183 << 24 >> 24; - $187 = $code; - HEAP32[$187 >> 2] = $184; - HEAP32[$187 + 4 >> 2] = (($184 | 0) < 0) << 31 >> 31; - if ($183 << 24 >> 24 < 0) { - HEAP32[$code_out_p >> 2] = -1; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -4; - break L1; - } - break; - } - case 515: - { - $193 = HEAP8[4423 + $182 >> 0] | 0; - $194 = $193 << 24 >> 24; - $197 = $code; - HEAP32[$197 >> 2] = $194; - HEAP32[$197 + 4 >> 2] = (($194 | 0) < 0) << 31 >> 31; - if ($errorCorrected) HEAP32[$errorCorrected >> 2] = HEAPU8[4487 + $182 >> 0]; - if ($193 << 24 >> 24 < 0) { - HEAP32[$code_out_p >> 2] = -1; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -4; - break L1; - } - break; - } - case 772: - case 1028: - { - $207 = _decode_bch($matrixCodeType, $182, $206, 0, $code) | 0; - if (($207 | 0) < 0) { - HEAP32[$code_out_p >> 2] = -1; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -4; - break L1; - } - if (($errorCorrected | 0) != 0 & ($207 | 0) > 0) HEAP32[$errorCorrected >> 2] = $207; - break; - } - default: - { - $211 = $code; - HEAP32[$211 >> 2] = $182; - HEAP32[$211 + 4 >> 2] = $206; - } - } - HEAP32[$code_out_p >> 2] = HEAP32[$code >> 2]; - $$0 = 0; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _decode_bch($matrixCodeType, $0, $1, $recd127, $out_p) { - $matrixCodeType = $matrixCodeType | 0; - $0 = $0 | 0; - $1 = $1 | 0; - $recd127 = $recd127 | 0; - $out_p = $out_p | 0; - var $$ = 0, $$0 = 0, $$lcssa24 = 0, $$lcssa76 = 0, $$lcssa77 = 0, $$pre$phi$lcssaZ2D = 0, $$pre$phiZ2D = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $110 = 0, $114 = 0, $118 = 0, $122 = 0, $125 = 0, $133 = 0, $134 = 0, $143 = 0, $154 = 0, $155 = 0, $156 = 0, $159 = 0, $17 = 0, $175 = 0, $182 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $194 = 0, $195 = 0, $198 = 0, $20 = 0, $208 = 0, $209 = 0, $28 = 0, $3 = 0, $30 = 0, $41 = 0, $43 = 0, $44 = 0, $46 = 0, $48 = 0, $49 = 0, $58 = 0, $6 = 0, $71 = 0, $73 = 0, $74 = 0, $76 = 0, $78 = 0, $79 = 0, $86 = 0, $alpha_to$0 = 0, $count$036 = 0, $count$1 = 0, $count$1$lcssa = 0, $d = 0, $elp = 0, $i$066 = 0, $i$1035 = 0, $i$1130 = 0, $i$1228 = 0, $i$159 = 0, $i$254 = 0, $i$347 = 0, $i$441 = 0, $i$543 = 0, $i$645 = 0, $i$750 = 0, $i$839 = 0, $i$937 = 0, $index_of$0 = 0, $j$058 = 0, $j$1 = 0, $j$232 = 0, $k$0 = 0, $k$1 = 0, $l = 0, $length$0 = 0, $loc = 0, $n$0 = 0, $q$0 = 0, $q$1 = 0, $q$2 = 0, $q$3 = 0, $q$4$lcssa = 0, $q$433 = 0, $q$5 = 0, $recd$0 = 0, $recd15 = 0, $reg = 0, $s = 0, $syn_error$0$ = 0, $syn_error$0$$lcssa = 0, $syn_error$060 = 0, $t$0 = 0, $t$1 = 0, $u$0 = 0, $u$1 = 0, $u_lu = 0, label = 0, sp = 0, $j$1$looptemp = 0, $u$0$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2320 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $recd15 = sp + 2304 | 0; - $elp = sp + 864 | 0; - $d = sp + 784 | 0; - $l = sp + 704 | 0; - $u_lu = sp + 624 | 0; - $s = sp + 548 | 0; - $loc = sp + 40 | 0; - $reg = sp; - switch ($matrixCodeType | 0) { - case 772: - { - $k$0 = 9; - $t$0 = 1; - label = 3; - break; - } - case 1028: - { - $k$0 = 5; - $t$0 = 2; - label = 3; - break; - } - case 2830: - { - $alpha_to$0 = 900; - $index_of$0 = 1472; - $k$1 = 64; - $length$0 = 120; - $n$0 = 127; - $recd$0 = $recd127; - $t$1 = 9; - label = 6; - break; - } - default: - $$0 = -1; - } - if ((label | 0) == 3) { - $3 = $0; - $6 = $1; - $i$066 = 0; - while (1) { - HEAP8[$recd15 + $i$066 >> 0] = $3 & 1; - $3 = _bitshift64Lshr($3 | 0, $6 | 0, 1) | 0; - $i$066 = $i$066 + 1 | 0; - if (($i$066 | 0) == 13) break; else $6 = tempRet0; - } - $alpha_to$0 = 840; - $index_of$0 = 1408; - $k$1 = $k$0; - $length$0 = 13; - $n$0 = 15; - $recd$0 = $recd15; - $t$1 = $t$0; - label = 6; - } - do if ((label | 0) == 6) { - $10 = $t$1 << 1; - $i$159 = 1; - $syn_error$060 = 0; - while (1) { - $11 = $s + ($i$159 << 2) | 0; - HEAP32[$11 >> 2] = 0; - $20 = 0; - $j$058 = 0; - while (1) { - if (!(HEAP8[$recd$0 + $j$058 >> 0] | 0)) $208 = $20; else { - $17 = $alpha_to$0 + (((Math_imul($j$058, $i$159) | 0) % ($n$0 | 0) | 0) << 2) | 0; - $19 = $20 ^ HEAP32[$17 >> 2]; - HEAP32[$11 >> 2] = $19; - $208 = $19; - } - $j$058 = $j$058 + 1 | 0; - if (($j$058 | 0) >= ($length$0 | 0)) { - $$lcssa77 = $208; - break; - } else $20 = $208; - } - $syn_error$0$ = ($$lcssa77 | 0) == 0 ? $syn_error$060 : 1; - HEAP32[$11 >> 2] = HEAP32[$index_of$0 + ($$lcssa77 << 2) >> 2]; - if (($i$159 | 0) < ($10 | 0)) { - $i$159 = $i$159 + 1 | 0; - $syn_error$060 = $syn_error$0$; - } else { - $syn_error$0$$lcssa = $syn_error$0$; - break; - } - } - $28 = ($syn_error$0$$lcssa | 0) != 0; - if ($28) { - HEAP32[$d >> 2] = 0; - $30 = HEAP32[$s + 4 >> 2] | 0; - HEAP32[$d + 4 >> 2] = $30; - HEAP32[$elp >> 2] = 0; - HEAP32[$elp + 72 >> 2] = 1; - if (($10 | 0) > 1) { - $i$254 = 1; - do { - HEAP32[$elp + ($i$254 << 2) >> 2] = -1; - HEAP32[$elp + 72 + ($i$254 << 2) >> 2] = 0; - $i$254 = $i$254 + 1 | 0; - } while (($i$254 | 0) < ($10 | 0)); - } - HEAP32[$l >> 2] = 0; - HEAP32[$l + 4 >> 2] = 0; - HEAP32[$u_lu >> 2] = -1; - HEAP32[$u_lu + 4 >> 2] = 0; - $43 = $30; - $46 = 0; - $u$0 = 0; - while (1) { - $u$0$looptemp = $u$0; - $u$0 = $u$0 + 1 | 0; - $41 = $d + ($u$0 << 2) | 0; - if (($43 | 0) == -1) { - $44 = $u$0$looptemp + 2 | 0; - HEAP32[$l + ($44 << 2) >> 2] = $46; - if (($46 | 0) < 0) { - $$pre$phiZ2D = $44; - $110 = $46; - } else { - $i$347 = 0; - while (1) { - $48 = $elp + ($u$0 * 72 | 0) + ($i$347 << 2) | 0; - $49 = HEAP32[$48 >> 2] | 0; - HEAP32[$elp + ($44 * 72 | 0) + ($i$347 << 2) >> 2] = $49; - HEAP32[$48 >> 2] = HEAP32[$index_of$0 + ($49 << 2) >> 2]; - if (($i$347 | 0) < ($46 | 0)) $i$347 = $i$347 + 1 | 0; else { - $$pre$phiZ2D = $44; - $110 = $46; - break; - } - } - } - } else { - $q$0 = $u$0$looptemp; - while (1) { - $58 = ($q$0 | 0) > 0; - if ($58 & (HEAP32[$d + ($q$0 << 2) >> 2] | 0) == -1) $q$0 = $q$0 + -1 | 0; else break; - } - if ($58) { - $j$1 = $q$0; - $q$1 = $q$0; - while (1) { - $j$1$looptemp = $j$1; - $j$1 = $j$1 + -1 | 0; - if ((HEAP32[$d + ($j$1 << 2) >> 2] | 0) == -1) $q$2 = $q$1; else $q$2 = (HEAP32[$u_lu + ($q$1 << 2) >> 2] | 0) < (HEAP32[$u_lu + ($j$1 << 2) >> 2] | 0) ? $j$1 : $q$1; - if (($j$1$looptemp | 0) <= 1) { - $q$3 = $q$2; - break; - } else $q$1 = $q$2; - } - } else $q$3 = $q$0; - $71 = $l + ($q$3 << 2) | 0; - $73 = $u$0 - $q$3 | 0; - $74 = $73 + (HEAP32[$71 >> 2] | 0) | 0; - $76 = $u$0$looptemp + 2 | 0; - $$ = ($46 | 0) > ($74 | 0) ? $46 : $74; - HEAP32[$l + ($76 << 2) >> 2] = $$; - $i$441 = 0; - do { - HEAP32[$elp + ($76 * 72 | 0) + ($i$441 << 2) >> 2] = 0; - $i$441 = $i$441 + 1 | 0; - } while (($i$441 | 0) < ($10 | 0)); - $78 = HEAP32[$71 >> 2] | 0; - $79 = $d + ($q$3 << 2) | 0; - if (($78 | 0) >= 0) { - $i$543 = 0; - while (1) { - $86 = HEAP32[$elp + ($q$3 * 72 | 0) + ($i$543 << 2) >> 2] | 0; - if (($86 | 0) != -1) HEAP32[$elp + ($76 * 72 | 0) + ($73 + $i$543 << 2) >> 2] = HEAP32[$alpha_to$0 + ((($86 + $n$0 + (HEAP32[$41 >> 2] | 0) - (HEAP32[$79 >> 2] | 0) | 0) % ($n$0 | 0) | 0) << 2) >> 2]; - if (($i$543 | 0) < ($78 | 0)) $i$543 = $i$543 + 1 | 0; else break; - } - } - if (($46 | 0) < 0) { - $$pre$phiZ2D = $76; - $110 = $$; - } else { - $i$645 = 0; - while (1) { - $100 = $elp + ($u$0 * 72 | 0) + ($i$645 << 2) | 0; - $101 = HEAP32[$100 >> 2] | 0; - $102 = $elp + ($76 * 72 | 0) + ($i$645 << 2) | 0; - HEAP32[$102 >> 2] = HEAP32[$102 >> 2] ^ $101; - HEAP32[$100 >> 2] = HEAP32[$index_of$0 + ($101 << 2) >> 2]; - if (($i$645 | 0) < ($46 | 0)) $i$645 = $i$645 + 1 | 0; else { - $$pre$phiZ2D = $76; - $110 = $$; - break; - } - } - } - } - HEAP32[$u_lu + ($$pre$phiZ2D << 2) >> 2] = $u$0 - $110; - if (($u$0 | 0) >= ($10 | 0)) { - $$lcssa76 = $110; - $$pre$phi$lcssaZ2D = $$pre$phiZ2D; - break; - } - $114 = HEAP32[$s + ($$pre$phiZ2D << 2) >> 2] | 0; - if (($114 | 0) == -1) $$sink = 0; else $$sink = HEAP32[$alpha_to$0 + ($114 << 2) >> 2] | 0; - $118 = $d + ($$pre$phiZ2D << 2) | 0; - HEAP32[$118 >> 2] = $$sink; - if (($110 | 0) < 1) $$lcssa24 = $$sink; else { - $134 = $$sink; - $i$750 = 1; - while (1) { - $122 = HEAP32[$s + ($$pre$phiZ2D - $i$750 << 2) >> 2] | 0; - if (($122 | 0) == -1) $209 = $134; else { - $125 = HEAP32[$elp + ($$pre$phiZ2D * 72 | 0) + ($i$750 << 2) >> 2] | 0; - if (!$125) $209 = $134; else { - $133 = $134 ^ HEAP32[$alpha_to$0 + ((((HEAP32[$index_of$0 + ($125 << 2) >> 2] | 0) + $122 | 0) % ($n$0 | 0) | 0) << 2) >> 2]; - HEAP32[$118 >> 2] = $133; - $209 = $133; - } - } - if (($i$750 | 0) < ($110 | 0)) { - $134 = $209; - $i$750 = $i$750 + 1 | 0; - } else { - $$lcssa24 = $209; - break; - } - } - } - $43 = HEAP32[$index_of$0 + ($$lcssa24 << 2) >> 2] | 0; - HEAP32[$118 >> 2] = $43; - if (($110 | 0) > ($t$1 | 0)) { - $$lcssa76 = $110; - $$pre$phi$lcssaZ2D = $$pre$phiZ2D; - break; - } else $46 = $110; - } - if (($$lcssa76 | 0) > ($t$1 | 0)) { - $$0 = -1; - break; - } - if (($$lcssa76 | 0) >= 0) { - $i$839 = 0; - while (1) { - $143 = $elp + ($$pre$phi$lcssaZ2D * 72 | 0) + ($i$839 << 2) | 0; - HEAP32[$143 >> 2] = HEAP32[$index_of$0 + (HEAP32[$143 >> 2] << 2) >> 2]; - if (($i$839 | 0) < ($$lcssa76 | 0)) $i$839 = $i$839 + 1 | 0; else break; - } - } - if (($$lcssa76 | 0) >= 1) { - $i$937 = 1; - while (1) { - HEAP32[$reg + ($i$937 << 2) >> 2] = HEAP32[$elp + ($$pre$phi$lcssaZ2D * 72 | 0) + ($i$937 << 2) >> 2]; - if (($i$937 | 0) < ($$lcssa76 | 0)) $i$937 = $i$937 + 1 | 0; else break; - } - } - $154 = ($$lcssa76 | 0) < 1; - $count$036 = 0; - $i$1035 = 1; - while (1) { - if ($154) $q$4$lcssa = 1; else { - $j$232 = 1; - $q$433 = 1; - while (1) { - $155 = $reg + ($j$232 << 2) | 0; - $156 = HEAP32[$155 >> 2] | 0; - if (($156 | 0) == -1) $q$5 = $q$433; else { - $159 = ($156 + $j$232 | 0) % ($n$0 | 0) | 0; - HEAP32[$155 >> 2] = $159; - $q$5 = HEAP32[$alpha_to$0 + ($159 << 2) >> 2] ^ $q$433; - } - if (($j$232 | 0) < ($$lcssa76 | 0)) { - $j$232 = $j$232 + 1 | 0; - $q$433 = $q$5; - } else { - $q$4$lcssa = $q$5; - break; - } - } - } - if (!$q$4$lcssa) { - HEAP32[$loc + ($count$036 << 2) >> 2] = $n$0 - $i$1035; - $count$1 = $count$036 + 1 | 0; - } else $count$1 = $count$036; - $i$1035 = $i$1035 + 1 | 0; - if (($n$0 | 0) < ($i$1035 | 0)) { - $count$1$lcssa = $count$1; - break; - } else $count$036 = $count$1; - } - if (($count$1$lcssa | 0) != ($$lcssa76 | 0)) { - $$0 = -1; - break; - } - if (($$lcssa76 | 0) > 0) { - $i$1130 = 0; - do { - $175 = $recd$0 + (HEAP32[$loc + ($i$1130 << 2) >> 2] | 0) | 0; - HEAP8[$175 >> 0] = HEAPU8[$175 >> 0] ^ 1; - $i$1130 = $i$1130 + 1 | 0; - } while (($i$1130 | 0) < ($$lcssa76 | 0)); - $u$1 = $$pre$phi$lcssaZ2D; - } else $u$1 = $$pre$phi$lcssaZ2D; - } else $u$1 = 0; - $182 = $out_p; - HEAP32[$182 >> 2] = 0; - HEAP32[$182 + 4 >> 2] = 0; - $190 = 1; - $191 = 0; - $194 = 0; - $195 = 0; - $i$1228 = $length$0 - $k$1 | 0; - while (1) { - $192 = ___muldi3(HEAPU8[$recd$0 + $i$1228 >> 0] | 0, 0, $190 | 0, $191 | 0) | 0; - $194 = _i64Add($192 | 0, tempRet0 | 0, $194 | 0, $195 | 0) | 0; - $195 = tempRet0; - $198 = $out_p; - HEAP32[$198 >> 2] = $194; - HEAP32[$198 + 4 >> 2] = $195; - $190 = _bitshift64Shl($190 | 0, $191 | 0, 1) | 0; - $i$1228 = $i$1228 + 1 | 0; - if (($i$1228 | 0) >= ($length$0 | 0)) break; else $191 = tempRet0; - } - if ($28) $$0 = HEAP32[$l + ($u$1 << 2) >> 2] | 0; else $$0 = 0; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0$i$i$i = 0, $$0$i$i$i11 = 0, $$0$i$i$i6 = 0, $$02 = 0, $0 = 0, $1 = 0, $103 = 0, $105 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $119 = 0, $122 = 0, $125 = 0, $126 = 0, $132 = 0, $134 = 0, $138 = 0, $147 = 0, $148 = 0, $15 = 0, $151 = 0, $152 = 0, $155 = 0, $157 = 0, $16 = 0, $160 = 0, $161 = 0, $163 = 0, $17 = 0, $170 = 0, $172 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $186 = 0, $189 = 0, $192 = 0, $193 = 0, $199 = 0, $2 = 0, $201 = 0, $22 = 0, $27 = 0, $3 = 0, $31 = 0, $32 = 0, $34 = 0, $4 = 0, $41 = 0, $43 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $60 = 0, $63 = 0, $64 = 0, $70 = 0, $72 = 0, $77 = 0, $78 = 0, $79 = 0, $83 = 0, $87 = 0, $89 = 0, $9 = 0, $93 = 0, $94 = 0, $96 = 0, $__v$i$i10 = 0, $k1$015 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i10 = sp + 72 | 0; - $0 = sp + 56 | 0; - $1 = sp + 48 | 0; - $2 = sp + 32 | 0; - $3 = sp + 24 | 0; - $4 = sp + 8 | 0; - $5 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$02 = $first; else switch (HEAP8[$first >> 0] | 0) { - case 84: - { - $9 = $db + 4 | 0; - $15 = ((HEAP32[$9 >> 2] | 0) - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - $16 = __ZN10__cxxabiv112_GLOBAL__N_120parse_template_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - $17 = HEAP32[$9 >> 2] | 0; - $22 = ($17 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0; - if (!(($16 | 0) != ($first | 0) & ($22 | 0) == ($15 + 1 | 0))) { - if (($22 | 0) == ($15 | 0)) { - $$02 = $first; - break L1; - } else { - $77 = $17; - $k1$015 = $22; - } - while (1) { - $79 = $77; - $77 = $77 + -24 | 0; - do { - $78 = $79 + -24 | 0; - HEAP32[$9 >> 2] = $78; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($78); - $79 = HEAP32[$9 >> 2] | 0; - } while (($79 | 0) != ($77 | 0)); - $k1$015 = $k1$015 + -1 | 0; - if (($k1$015 | 0) == ($15 | 0)) { - $$02 = $first; - break L1; - } - } - } - $27 = $db + 16 | 0; - HEAP32[$1 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($0, $17 + -24 | 0, $1); - $31 = $db + 20 | 0; - $32 = HEAP32[$31 >> 2] | 0; - $34 = HEAP32[$db + 24 >> 2] | 0; - if ($32 >>> 0 < $34 >>> 0) { - HEAP32[$32 + 12 >> 2] = HEAP32[$0 + 12 >> 2]; - HEAP32[$32 >> 2] = HEAP32[$0 >> 2]; - $41 = $0 + 4 | 0; - HEAP32[$32 + 4 >> 2] = HEAP32[$41 >> 2]; - $43 = $0 + 8 | 0; - HEAP32[$32 + 8 >> 2] = HEAP32[$43 >> 2]; - HEAP32[$43 >> 2] = 0; - HEAP32[$41 >> 2] = 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$31 >> 2] = (HEAP32[$31 >> 2] | 0) + 16; - } else { - $51 = HEAP32[$27 >> 2] | 0; - $52 = $32 - $51 | 0; - $53 = $52 >> 4; - $54 = $53 + 1 | 0; - if (($52 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($27); - $57 = $34 - $51 | 0; - if ($57 >> 4 >>> 0 < 1073741823) { - $60 = $57 >> 3; - $$0$i$i$i = $60 >>> 0 < $54 >>> 0 ? $54 : $60; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i10, $$0$i$i$i, $53, $db + 28 | 0); - $63 = $__v$i$i10 + 8 | 0; - $64 = HEAP32[$63 >> 2] | 0; - HEAP32[$64 + 12 >> 2] = HEAP32[$0 + 12 >> 2]; - HEAP32[$64 >> 2] = HEAP32[$0 >> 2]; - $70 = $0 + 4 | 0; - HEAP32[$64 + 4 >> 2] = HEAP32[$70 >> 2]; - $72 = $0 + 8 | 0; - HEAP32[$64 + 8 >> 2] = HEAP32[$72 >> 2]; - HEAP32[$72 >> 2] = 0; - HEAP32[$70 >> 2] = 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$63 >> 2] = $64 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($27, $__v$i$i10); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i10); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($0); - $$02 = $16; - break L1; - break; - } - case 68: - { - $83 = __ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($83 | 0) == ($first | 0)) { - $$02 = $first; - break L1; - } - $87 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($87 | 0)) { - $$02 = $first; - break L1; - } - $89 = $db + 16 | 0; - HEAP32[$3 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($2, $87 + -24 | 0, $3); - $93 = $db + 20 | 0; - $94 = HEAP32[$93 >> 2] | 0; - $96 = HEAP32[$db + 24 >> 2] | 0; - if ($94 >>> 0 < $96 >>> 0) { - HEAP32[$94 + 12 >> 2] = HEAP32[$2 + 12 >> 2]; - HEAP32[$94 >> 2] = HEAP32[$2 >> 2]; - $103 = $2 + 4 | 0; - HEAP32[$94 + 4 >> 2] = HEAP32[$103 >> 2]; - $105 = $2 + 8 | 0; - HEAP32[$94 + 8 >> 2] = HEAP32[$105 >> 2]; - HEAP32[$105 >> 2] = 0; - HEAP32[$103 >> 2] = 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$93 >> 2] = (HEAP32[$93 >> 2] | 0) + 16; - } else { - $113 = HEAP32[$89 >> 2] | 0; - $114 = $94 - $113 | 0; - $115 = $114 >> 4; - $116 = $115 + 1 | 0; - if (($114 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($89); - $119 = $96 - $113 | 0; - if ($119 >> 4 >>> 0 < 1073741823) { - $122 = $119 >> 3; - $$0$i$i$i6 = $122 >>> 0 < $116 >>> 0 ? $116 : $122; - } else $$0$i$i$i6 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i10, $$0$i$i$i6, $115, $db + 28 | 0); - $125 = $__v$i$i10 + 8 | 0; - $126 = HEAP32[$125 >> 2] | 0; - HEAP32[$126 + 12 >> 2] = HEAP32[$2 + 12 >> 2]; - HEAP32[$126 >> 2] = HEAP32[$2 >> 2]; - $132 = $2 + 4 | 0; - HEAP32[$126 + 4 >> 2] = HEAP32[$132 >> 2]; - $134 = $2 + 8 | 0; - HEAP32[$126 + 8 >> 2] = HEAP32[$134 >> 2]; - HEAP32[$134 >> 2] = 0; - HEAP32[$132 >> 2] = 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$125 >> 2] = $126 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($89, $__v$i$i10); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i10); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($2); - $$02 = $83; - break L1; - break; - } - case 83: - { - $138 = __ZN10__cxxabiv112_GLOBAL__N_118parse_substitutionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($138 | 0) != ($first | 0)) { - $$02 = $138; - break L1; - } - if (($last - $first | 0) <= 2) { - $$02 = $first; - break L1; - } - if ((HEAP8[$first + 1 >> 0] | 0) != 116) { - $$02 = $first; - break L1; - } - $147 = $first + 2 | 0; - $148 = __ZN10__cxxabiv112_GLOBAL__N_122parse_unqualified_nameINS0_2DbEEEPKcS4_S4_RT_($147, $last, $db) | 0; - if (($148 | 0) == ($147 | 0)) { - $$02 = $first; - break L1; - } - $151 = $db + 4 | 0; - $152 = HEAP32[$151 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($152 | 0)) { - $$02 = $first; - break L1; - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($152 + -24 | 0, 0, 12922) | 0; - $155 = $db + 16 | 0; - $157 = (HEAP32[$151 >> 2] | 0) + -24 | 0; - HEAP32[$5 >> 2] = HEAP32[$db + 12 >> 2]; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($4, $157, $5); - $160 = $db + 20 | 0; - $161 = HEAP32[$160 >> 2] | 0; - $163 = HEAP32[$db + 24 >> 2] | 0; - if ($161 >>> 0 < $163 >>> 0) { - HEAP32[$161 + 12 >> 2] = HEAP32[$4 + 12 >> 2]; - HEAP32[$161 >> 2] = HEAP32[$4 >> 2]; - $170 = $4 + 4 | 0; - HEAP32[$161 + 4 >> 2] = HEAP32[$170 >> 2]; - $172 = $4 + 8 | 0; - HEAP32[$161 + 8 >> 2] = HEAP32[$172 >> 2]; - HEAP32[$172 >> 2] = 0; - HEAP32[$170 >> 2] = 0; - HEAP32[$4 >> 2] = 0; - HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + 16; - } else { - $180 = HEAP32[$155 >> 2] | 0; - $181 = $161 - $180 | 0; - $182 = $181 >> 4; - $183 = $182 + 1 | 0; - if (($181 | 0) < -16) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($155); - $186 = $163 - $180 | 0; - if ($186 >> 4 >>> 0 < 1073741823) { - $189 = $186 >> 3; - $$0$i$i$i11 = $189 >>> 0 < $183 >>> 0 ? $183 : $189; - } else $$0$i$i$i11 = 2147483647; - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($__v$i$i10, $$0$i$i$i11, $182, $db + 28 | 0); - $192 = $__v$i$i10 + 8 | 0; - $193 = HEAP32[$192 >> 2] | 0; - HEAP32[$193 + 12 >> 2] = HEAP32[$4 + 12 >> 2]; - HEAP32[$193 >> 2] = HEAP32[$4 >> 2]; - $199 = $4 + 4 | 0; - HEAP32[$193 + 4 >> 2] = HEAP32[$199 >> 2]; - $201 = $4 + 8 | 0; - HEAP32[$193 + 8 >> 2] = HEAP32[$201 >> 2]; - HEAP32[$201 >> 2] = 0; - HEAP32[$199 >> 2] = 0; - HEAP32[$4 >> 2] = 0; - HEAP32[$192 >> 2] = $193 + 16; - __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($155, $__v$i$i10); - __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($__v$i$i10); - } - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($4); - $$02 = $148; - break L1; - break; - } - default: - { - $$02 = $first; - break L1; - } - } while (0); - STACKTOP = sp; - return $$02 | 0; -} - -function _arDetectMarker2($xsize, $ysize, $labelInfo, $imageProcMode, $areaMax, $areaMin, $squareFitThresh, $markerInfo2, $marker2_num) { - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $labelInfo = $labelInfo | 0; - $imageProcMode = $imageProcMode | 0; - $areaMax = $areaMax | 0; - $areaMin = $areaMin | 0; - $squareFitThresh = +$squareFitThresh; - $markerInfo2 = $markerInfo2 | 0; - $marker2_num = $marker2_num | 0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$03 = 0, $$lcssa = 0, $$lcssa15 = 0, $$lcssa16 = 0, $$lcssa17 = 0, $$ph = 0, $$pre10 = 0, $$pre9 = 0, $0 = 0, $115 = 0, $12 = 0, $120 = 0, $129 = 0, $13 = 0, $130 = 0, $132 = 0, $133 = 0.0, $136 = 0.0, $141 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $16 = 0, $160 = 0, $164 = 0, $167 = 0, $171 = 0, $174 = 0, $177 = 0, $180 = 0, $183 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $42 = 0, $46 = 0, $47 = 0, $5 = 0, $50 = 0, $52 = 0, $53 = 0, $59 = 0.0, $6 = 0, $66 = 0, $68 = 0, $7 = 0, $74 = 0, $8 = 0, $90 = 0, $dmax$0$i38 = 0, $i$0$i39 = 0, $i$0$v1$0$i = 0, $i$044 = 0, $i$134 = 0, $i$227 = 0, $i$321 = 0, $j$030 = 0, $j$1 = 0, $j$1$in24 = 0, $j$1$in24$phi = 0, $j$123 = 0, $j$125 = 0, $j$218 = 0, $pm$019 = 0, $v1$0$i$lcssa = 0, $v1$0$i37 = 0, $vertex$sroa$12$0$i = 0, $vertex$sroa$4$0$i = 0, $vertex$sroa$8$0$i = 0, $wv1$i = 0, $wv2$i = 0, $wvnum1$i = 0, $wvnum2$i = 0, label = 0, sp = 0, $i$134$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $wv1$i = sp + 56 | 0; - $wvnum1$i = sp + 48 | 0; - $wv2$i = sp + 8 | 0; - $wvnum2$i = sp; - $0 = ($imageProcMode | 0) == 1; - if ($0) { - $$0 = ($xsize | 0) / 2 | 0; - $$01 = ($ysize | 0) / 2 | 0; - $$02 = ($areaMax | 0) / 4 | 0; - $$03 = ($areaMin | 0) / 4 | 0; - } else { - $$0 = $xsize; - $$01 = $ysize; - $$02 = $areaMax; - $$03 = $areaMin; - } - HEAP32[$marker2_num >> 2] = 0; - $5 = $labelInfo + 8 | 0; - $6 = $$0 + -2 | 0; - $7 = $$01 + -2 | 0; - $8 = $labelInfo + 1179664 | 0; - L4 : do if ((HEAP32[$5 >> 2] | 0) > 0) { - $i$044 = 0; - while (1) { - $12 = $labelInfo + 12 + ($i$044 << 2) | 0; - $13 = HEAP32[$12 >> 2] | 0; - L7 : do if (!(($13 | 0) < ($$03 | 0) | ($13 | 0) > ($$02 | 0))) { - $16 = $labelInfo + 131084 + ($i$044 << 4) | 0; - if ((HEAP32[$16 >> 2] | 0) != 1) if ((HEAP32[$labelInfo + 131084 + ($i$044 << 4) + 4 >> 2] | 0) != ($6 | 0)) if ((HEAP32[$labelInfo + 131084 + ($i$044 << 4) + 8 >> 2] | 0) != 1) if ((HEAP32[$labelInfo + 131084 + ($i$044 << 4) + 12 >> 2] | 0) != ($7 | 0)) if ((_arGetContour(HEAP32[$labelInfo >> 2] | 0, $$0, 0, $8, $i$044 + 1 | 0, $16, $markerInfo2 + ((HEAP32[$marker2_num >> 2] | 0) * 80048 | 0) | 0) | 0) >= 0) { - $34 = HEAP32[$12 >> 2] | 0; - $35 = HEAP32[$marker2_num >> 2] | 0; - $36 = $markerInfo2 + ($35 * 80048 | 0) + 28 | 0; - $37 = HEAP32[$36 >> 2] | 0; - $38 = $markerInfo2 + ($35 * 80048 | 0) + 40028 | 0; - $39 = HEAP32[$38 >> 2] | 0; - $40 = $markerInfo2 + ($35 * 80048 | 0) + 24 | 0; - $42 = (HEAP32[$40 >> 2] | 0) + -1 | 0; - if (($42 | 0) > 1) { - $dmax$0$i38 = 0; - $i$0$i39 = 1; - $v1$0$i37 = 0; - while (1) { - $46 = (HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 28 + ($i$0$i39 << 2) >> 2] | 0) - $37 | 0; - $47 = Math_imul($46, $46) | 0; - $50 = (HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 40028 + ($i$0$i39 << 2) >> 2] | 0) - $39 | 0; - $52 = (Math_imul($50, $50) | 0) + $47 | 0; - $53 = ($52 | 0) > ($dmax$0$i38 | 0); - $i$0$v1$0$i = $53 ? $i$0$i39 : $v1$0$i37; - $i$0$i39 = $i$0$i39 + 1 | 0; - if (($i$0$i39 | 0) >= ($42 | 0)) { - $v1$0$i$lcssa = $i$0$v1$0$i; - break; - } else { - $dmax$0$i38 = $53 ? $52 : $dmax$0$i38; - $v1$0$i37 = $i$0$v1$0$i; - } - } - } else $v1$0$i$lcssa = 0; - $59 = +($34 | 0) / .75 * .01 * $squareFitThresh; - HEAP32[$wvnum1$i >> 2] = 0; - HEAP32[$wvnum2$i >> 2] = 0; - L18 : do if ((_get_vertex($36, $38, 0, $v1$0$i$lcssa, $59, $wv1$i, $wvnum1$i) | 0) >= 0) if ((_get_vertex($36, $38, $v1$0$i$lcssa, (HEAP32[$40 >> 2] | 0) + -1 | 0, $59, $wv2$i, $wvnum2$i) | 0) >= 0) { - $66 = HEAP32[$wvnum1$i >> 2] | 0; - $68 = HEAP32[$wvnum2$i >> 2] | 0; - do if (($66 | 0) == 1 & ($68 | 0) == 1) { - $vertex$sroa$12$0$i = HEAP32[$wv2$i >> 2] | 0; - $vertex$sroa$4$0$i = HEAP32[$wv1$i >> 2] | 0; - $vertex$sroa$8$0$i = $v1$0$i$lcssa; - } else { - if (($66 | 0) > 1 & ($68 | 0) == 0) { - $74 = ($v1$0$i$lcssa | 0) / 2 | 0; - HEAP32[$wvnum2$i >> 2] = 0; - HEAP32[$wvnum1$i >> 2] = 0; - if ((_get_vertex($36, $38, 0, $74, $59, $wv1$i, $wvnum1$i) | 0) < 0) break L18; - if ((_get_vertex($36, $38, $74, $v1$0$i$lcssa, $59, $wv2$i, $wvnum2$i) | 0) < 0) break L18; - if (!((HEAP32[$wvnum1$i >> 2] | 0) == 1 & (HEAP32[$wvnum2$i >> 2] | 0) == 1)) break L18; - $vertex$sroa$12$0$i = $v1$0$i$lcssa; - $vertex$sroa$4$0$i = HEAP32[$wv1$i >> 2] | 0; - $vertex$sroa$8$0$i = HEAP32[$wv2$i >> 2] | 0; - break; - } - if (!(($66 | 0) == 0 & ($68 | 0) > 1)) break L18; - $90 = ($v1$0$i$lcssa + -1 + (HEAP32[$40 >> 2] | 0) | 0) / 2 | 0; - HEAP32[$wvnum2$i >> 2] = 0; - HEAP32[$wvnum1$i >> 2] = 0; - if ((_get_vertex($36, $38, $v1$0$i$lcssa, $90, $59, $wv1$i, $wvnum1$i) | 0) < 0) break L18; - if ((_get_vertex($36, $38, $90, (HEAP32[$40 >> 2] | 0) + -1 | 0, $59, $wv2$i, $wvnum2$i) | 0) < 0) break L18; - if (!((HEAP32[$wvnum1$i >> 2] | 0) == 1 & (HEAP32[$wvnum2$i >> 2] | 0) == 1)) break L18; - $vertex$sroa$12$0$i = HEAP32[$wv2$i >> 2] | 0; - $vertex$sroa$4$0$i = $v1$0$i$lcssa; - $vertex$sroa$8$0$i = HEAP32[$wv1$i >> 2] | 0; - } while (0); - HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 80028 >> 2] = 0; - HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 80032 >> 2] = $vertex$sroa$4$0$i; - HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 80036 >> 2] = $vertex$sroa$8$0$i; - HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 80040 >> 2] = $vertex$sroa$12$0$i; - HEAP32[$markerInfo2 + ($35 * 80048 | 0) + 80044 >> 2] = (HEAP32[$40 >> 2] | 0) + -1; - HEAP32[$markerInfo2 + ((HEAP32[$marker2_num >> 2] | 0) * 80048 | 0) >> 2] = HEAP32[$12 >> 2]; - $115 = HEAP32[$marker2_num >> 2] | 0; - HEAPF64[$markerInfo2 + ($115 * 80048 | 0) + 8 >> 3] = +HEAPF64[$labelInfo + 655376 + ($i$044 << 4) >> 3]; - HEAPF64[$markerInfo2 + ($115 * 80048 | 0) + 16 >> 3] = +HEAPF64[$labelInfo + 655376 + ($i$044 << 4) + 8 >> 3]; - $120 = $115 + 1 | 0; - HEAP32[$marker2_num >> 2] = $120; - if (($120 | 0) == 60) { - $$ph = 60; - break L4; - } else break L7; - } while (0); - } - } while (0); - $i$044 = $i$044 + 1 | 0; - if (($i$044 | 0) >= (HEAP32[$5 >> 2] | 0)) { - label = 4; - break; - } - } - } else label = 4; while (0); - if ((label | 0) == 4) $$ph = HEAP32[$marker2_num >> 2] | 0; - if (($$ph | 0) > 0) { - $132 = $$ph; - $i$134 = 0; - while (1) { - $i$134$looptemp = $i$134; - $i$134 = $i$134 + 1 | 0; - $129 = $markerInfo2 + ($i$134$looptemp * 80048 | 0) + 16 | 0; - $130 = $markerInfo2 + ($i$134$looptemp * 80048 | 0) | 0; - if (($i$134 | 0) < ($132 | 0)) { - $133 = +HEAPF64[$markerInfo2 + ($i$134$looptemp * 80048 | 0) + 8 >> 3]; - $j$030 = $i$134; - do { - $136 = $133 - +HEAPF64[$markerInfo2 + ($j$030 * 80048 | 0) + 8 >> 3]; - $141 = +HEAPF64[$129 >> 3] - +HEAPF64[$markerInfo2 + ($j$030 * 80048 | 0) + 16 >> 3]; - $143 = $136 * $136 + $141 * $141; - $144 = HEAP32[$130 >> 2] | 0; - $145 = $markerInfo2 + ($j$030 * 80048 | 0) | 0; - $146 = HEAP32[$145 >> 2] | 0; - if (($144 | 0) > ($146 | 0)) { - if ($143 < +(($144 | 0) / 4 | 0 | 0)) HEAP32[$145 >> 2] = 0; - } else if ($143 < +(($146 | 0) / 4 | 0 | 0)) HEAP32[$130 >> 2] = 0; - $j$030 = $j$030 + 1 | 0; - $$pre10 = HEAP32[$marker2_num >> 2] | 0; - } while (($j$030 | 0) < ($$pre10 | 0)); - $$lcssa16 = $$pre10; - } else $$lcssa16 = $132; - if (($i$134 | 0) >= ($$lcssa16 | 0)) { - $$lcssa17 = $$lcssa16; - break; - } else $132 = $$lcssa16; - } - } else $$lcssa17 = $$ph; - if (($$lcssa17 | 0) > 0) { - $160 = $$lcssa17; - $i$227 = 0; - while (1) { - if (!(HEAP32[$markerInfo2 + ($i$227 * 80048 | 0) >> 2] | 0)) { - $j$123 = $i$227 + 1 | 0; - if (($j$123 | 0) < ($160 | 0)) { - $j$1$in24 = $i$227; - $j$125 = $j$123; - while (1) { - _memcpy($markerInfo2 + ($j$1$in24 * 80048 | 0) | 0, $markerInfo2 + ($j$125 * 80048 | 0) | 0, 80048) | 0; - $$pre9 = HEAP32[$marker2_num >> 2] | 0; - $j$1 = $j$125 + 1 | 0; - if (($j$1 | 0) < ($$pre9 | 0)) { - $j$1$in24$phi = $j$125; - $j$125 = $j$1; - $j$1$in24 = $j$1$in24$phi; - } else { - $$lcssa = $$pre9; - break; - } - } - } else $$lcssa = $160; - $164 = $$lcssa + -1 | 0; - HEAP32[$marker2_num >> 2] = $164; - $167 = $164; - } else $167 = $160; - $i$227 = $i$227 + 1 | 0; - if (($i$227 | 0) >= ($167 | 0)) { - $$lcssa15 = $167; - break; - } else $160 = $167; - } - } else $$lcssa15 = $$lcssa17; - if ($0 & ($$lcssa15 | 0) > 0) { - $i$321 = 0; - $pm$019 = $markerInfo2; - while (1) { - HEAP32[$pm$019 >> 2] = HEAP32[$pm$019 >> 2] << 2; - $171 = $pm$019 + 8 | 0; - HEAPF64[$171 >> 3] = +HEAPF64[$171 >> 3] * 2.0; - $174 = $pm$019 + 16 | 0; - HEAPF64[$174 >> 3] = +HEAPF64[$174 >> 3] * 2.0; - $177 = $pm$019 + 24 | 0; - if ((HEAP32[$177 >> 2] | 0) > 0) { - $j$218 = 0; - do { - $180 = $pm$019 + 28 + ($j$218 << 2) | 0; - HEAP32[$180 >> 2] = HEAP32[$180 >> 2] << 1; - $183 = $pm$019 + 40028 + ($j$218 << 2) | 0; - HEAP32[$183 >> 2] = HEAP32[$183 >> 2] << 1; - $j$218 = $j$218 + 1 | 0; - } while (($j$218 | 0) < (HEAP32[$177 >> 2] | 0)); - } - $i$321 = $i$321 + 1 | 0; - if (($i$321 | 0) >= (HEAP32[$marker2_num >> 2] | 0)) break; else $pm$019 = $pm$019 + 80048 | 0; - } - } - STACKTOP = sp; - return 0; -} - -function _pattern_match($pattHandle, $mode, $data, $size, $code, $dir, $cf) { - $pattHandle = $pattHandle | 0; - $mode = $mode | 0; - $data = $data | 0; - $size = $size | 0; - $code = $code | 0; - $dir = $dir | 0; - $cf = $cf | 0; - var $$0 = 0, $$lcssa103 = 0, $$lcssa108 = 0, $1 = 0, $100 = 0, $101 = 0, $102 = 0, $105 = 0, $11 = 0, $111 = 0, $118 = 0.0, $119 = 0, $14 = 0, $2 = 0, $20 = 0, $23 = 0, $26 = 0.0, $31 = 0, $33 = 0, $34 = 0, $36 = 0, $37 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $45 = 0, $51 = 0, $58 = 0.0, $59 = 0, $63 = 0, $65 = 0, $72 = 0, $75 = 0, $81 = 0, $84 = 0, $87 = 0.0, $91 = 0, $93 = 0, $94 = 0, $96 = 0, $97 = 0, $ave$0$lcssa = 0, $ave$055 = 0, $ave$1$lcssa = 0, $ave$183 = 0, $i$056 = 0, $i$150 = 0, $i$235 = 0, $i$384 = 0, $i$478 = 0, $i$560 = 0, $j$038 = 0, $j$166 = 0, $k$042 = 0, $k$1 = 0, $k$1$in = 0, $k$1$lcssa = 0, $k$1102 = 0, $k$270 = 0, $k$3 = 0, $k$3$in = 0, $k$3$lcssa = 0, $k$3106 = 0, $l$043 = 0, $l$171 = 0, $max$0$lcssa = 0.0, $max$044 = 0.0, $max$139 = 0.0, $max$2 = 0.0, $max$3 = 0.0, $max$4$lcssa = 0.0, $max$472 = 0.0, $max$567 = 0.0, $max$6 = 0.0, $max$7 = 0.0, $res1$0$lcssa = 0, $res1$040 = 0, $res1$136 = 0, $res1$2 = 0, $res1$3 = 0, $res1$4$lcssa = 0, $res1$468 = 0, $res1$564 = 0, $res1$6 = 0, $res1$7 = 0, $res2$0$lcssa = 0, $res2$041 = 0, $res2$137 = 0, $res2$2 = 0, $res2$3 = 0, $res2$4$lcssa = 0, $res2$469 = 0, $res2$565 = 0, $res2$6 = 0, $res2$7 = 0, $sum$0$lcssa = 0.0, $sum$049 = 0, $sum$1$lcssa = 0, $sum$134 = 0, $sum$2$lcssa = 0.0, $sum$277 = 0, $sum$3$lcssa = 0, $sum$359 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - L1 : do if (!$pattHandle) { - HEAP32[$code >> 2] = 0; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - $$0 = -1; - } else switch ($mode | 0) { - case 0: - { - $1 = Math_imul($size, $size) | 0; - $2 = $1 * 3 | 0; - $4 = _malloc($1 * 12 | 0) | 0; - if (!$4) { - _arLog(3, 5471, $vararg_buffer); - _exit(1); - } - if (!$1) $ave$0$lcssa = 0; else { - $ave$055 = 0; - $i$056 = 0; - while (1) { - $11 = ((HEAPU8[$data + $i$056 >> 0] | 0) ^ 255) + $ave$055 | 0; - $i$056 = $i$056 + 1 | 0; - if (($i$056 | 0) >= ($2 | 0)) { - $ave$0$lcssa = $11; - break; - } else $ave$055 = $11; - } - } - $14 = ($ave$0$lcssa | 0) / ($2 | 0) | 0; - if (!$1) $sum$0$lcssa = 0.0; else { - $i$150 = 0; - $sum$049 = 0; - while (1) { - $20 = ((HEAPU8[$data + $i$150 >> 0] | 0) ^ 255) - $14 | 0; - HEAP32[$4 + ($i$150 << 2) >> 2] = $20; - $23 = (Math_imul($20, $20) | 0) + $sum$049 | 0; - $i$150 = $i$150 + 1 | 0; - if (($i$150 | 0) >= ($2 | 0)) { - $$lcssa103 = $23; - break; - } else $sum$049 = $23; - } - $sum$0$lcssa = +($$lcssa103 | 0); - } - $26 = +Math_sqrt(+$sum$0$lcssa); - if ($26 / (+($size | 0) * 1.7320508) < 15.0) { - HEAP32[$code >> 2] = 0; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - _free($4); - $$0 = -2; - break L1; - } - $31 = HEAP32[$pattHandle >> 2] | 0; - $33 = $pattHandle + 12 | 0; - $34 = $pattHandle + 16 | 0; - if (($31 | 0) > 0) { - $36 = HEAP32[$pattHandle + 8 >> 2] | 0; - $37 = ($1 | 0) == 0; - $k$042 = -1; - $l$043 = 0; - $max$044 = 0.0; - $res1$040 = -1; - $res2$041 = -1; - while (1) { - $k$1$in = $k$042; - L25 : while (1) { - $k$1 = $k$1$in + 1 | 0; - switch (HEAP32[$36 + ($k$1 << 2) >> 2] | 0) { - case 0: - { - $k$1$in = $k$1; - break; - } - case 2: - { - $k$1102 = $k$1; - $max$3 = $max$044; - $res1$3 = $res1$040; - $res2$3 = $res2$041; - break L25; - break; - } - default: - { - $k$1$lcssa = $k$1; - label = 17; - break L25; - } - } - } - if ((label | 0) == 17) { - label = 0; - $40 = $k$1$lcssa << 2; - $41 = HEAP32[$34 >> 2] | 0; - $j$038 = 0; - $max$139 = $max$044; - $res1$136 = $res1$040; - $res2$137 = $res2$041; - while (1) { - $42 = $j$038 + $40 | 0; - if ($37) $sum$1$lcssa = 0; else { - $45 = HEAP32[(HEAP32[$33 >> 2] | 0) + ($42 << 2) >> 2] | 0; - $i$235 = 0; - $sum$134 = 0; - while (1) { - $51 = (Math_imul(HEAP32[$45 + ($i$235 << 2) >> 2] | 0, HEAP32[$4 + ($i$235 << 2) >> 2] | 0) | 0) + $sum$134 | 0; - $i$235 = $i$235 + 1 | 0; - if (($i$235 | 0) >= ($2 | 0)) { - $sum$1$lcssa = $51; - break; - } else $sum$134 = $51; - } - } - $58 = +($sum$1$lcssa | 0) / +HEAPF64[$41 + ($42 << 3) >> 3] / $26; - $59 = $58 > $max$139; - $res1$2 = $59 ? $j$038 : $res1$136; - $res2$2 = $59 ? $k$1$lcssa : $res2$137; - $max$2 = $59 ? $58 : $max$139; - $j$038 = $j$038 + 1 | 0; - if (($j$038 | 0) == 4) { - $k$1102 = $k$1$lcssa; - $max$3 = $max$2; - $res1$3 = $res1$2; - $res2$3 = $res2$2; - break; - } else { - $max$139 = $max$2; - $res1$136 = $res1$2; - $res2$137 = $res2$2; - } - } - } - $l$043 = $l$043 + 1 | 0; - if (($l$043 | 0) >= ($31 | 0)) { - $max$0$lcssa = $max$3; - $res1$0$lcssa = $res1$3; - $res2$0$lcssa = $res2$3; - break; - } else { - $k$042 = $k$1102; - $max$044 = $max$3; - $res1$040 = $res1$3; - $res2$041 = $res2$3; - } - } - } else { - $max$0$lcssa = 0.0; - $res1$0$lcssa = -1; - $res2$0$lcssa = -1; - } - HEAP32[$dir >> 2] = $res1$0$lcssa; - HEAP32[$code >> 2] = $res2$0$lcssa; - HEAPF64[$cf >> 3] = $max$0$lcssa; - _free($4); - $$0 = 0; - break L1; - break; - } - case 1: - { - $63 = Math_imul($size, $size) | 0; - $65 = _malloc($63 << 2) | 0; - if (!$65) { - _arLog(3, 5471, $vararg_buffer1); - _exit(1); - } - if (!$63) $ave$1$lcssa = 0; else { - $ave$183 = 0; - $i$384 = 0; - while (1) { - $72 = ((HEAPU8[$data + $i$384 >> 0] | 0) ^ 255) + $ave$183 | 0; - $i$384 = $i$384 + 1 | 0; - if (($i$384 | 0) >= ($63 | 0)) { - $ave$1$lcssa = $72; - break; - } else $ave$183 = $72; - } - } - $75 = ($ave$1$lcssa | 0) / ($63 | 0) | 0; - if (!$63) $sum$2$lcssa = 0.0; else { - $i$478 = 0; - $sum$277 = 0; - while (1) { - $81 = ((HEAPU8[$data + $i$478 >> 0] | 0) ^ 255) - $75 | 0; - HEAP32[$65 + ($i$478 << 2) >> 2] = $81; - $84 = (Math_imul($81, $81) | 0) + $sum$277 | 0; - $i$478 = $i$478 + 1 | 0; - if (($i$478 | 0) >= ($63 | 0)) { - $$lcssa108 = $84; - break; - } else $sum$277 = $84; - } - $sum$2$lcssa = +($$lcssa108 | 0); - } - $87 = +Math_sqrt(+$sum$2$lcssa); - if ($87 / +($size | 0) < 15.0) { - HEAP32[$code >> 2] = 0; - HEAP32[$dir >> 2] = 0; - HEAPF64[$cf >> 3] = -1.0; - _free($65); - $$0 = -2; - break L1; - } - $91 = HEAP32[$pattHandle >> 2] | 0; - $93 = $pattHandle + 20 | 0; - $94 = $pattHandle + 24 | 0; - if (($91 | 0) > 0) { - $96 = HEAP32[$pattHandle + 8 >> 2] | 0; - $97 = ($63 | 0) == 0; - $k$270 = -1; - $l$171 = 0; - $max$472 = 0.0; - $res1$468 = -1; - $res2$469 = -1; - while (1) { - $k$3$in = $k$270; - L58 : while (1) { - $k$3 = $k$3$in + 1 | 0; - switch (HEAP32[$96 + ($k$3 << 2) >> 2] | 0) { - case 0: - { - $k$3$in = $k$3; - break; - } - case 2: - { - $k$3106 = $k$3; - $max$7 = $max$472; - $res1$7 = $res1$468; - $res2$7 = $res2$469; - break L58; - break; - } - default: - { - $k$3$lcssa = $k$3; - label = 37; - break L58; - } - } - } - if ((label | 0) == 37) { - label = 0; - $100 = $k$3$lcssa << 2; - $101 = HEAP32[$94 >> 2] | 0; - $j$166 = 0; - $max$567 = $max$472; - $res1$564 = $res1$468; - $res2$565 = $res2$469; - while (1) { - $102 = $j$166 + $100 | 0; - if ($97) $sum$3$lcssa = 0; else { - $105 = HEAP32[(HEAP32[$93 >> 2] | 0) + ($102 << 2) >> 2] | 0; - $i$560 = 0; - $sum$359 = 0; - while (1) { - $111 = (Math_imul(HEAP32[$105 + ($i$560 << 2) >> 2] | 0, HEAP32[$65 + ($i$560 << 2) >> 2] | 0) | 0) + $sum$359 | 0; - $i$560 = $i$560 + 1 | 0; - if (($i$560 | 0) >= ($63 | 0)) { - $sum$3$lcssa = $111; - break; - } else $sum$359 = $111; - } - } - $118 = +($sum$3$lcssa | 0) / +HEAPF64[$101 + ($102 << 3) >> 3] / $87; - $119 = $118 > $max$567; - $res1$6 = $119 ? $j$166 : $res1$564; - $res2$6 = $119 ? $k$3$lcssa : $res2$565; - $max$6 = $119 ? $118 : $max$567; - $j$166 = $j$166 + 1 | 0; - if (($j$166 | 0) == 4) { - $k$3106 = $k$3$lcssa; - $max$7 = $max$6; - $res1$7 = $res1$6; - $res2$7 = $res2$6; - break; - } else { - $max$567 = $max$6; - $res1$564 = $res1$6; - $res2$565 = $res2$6; - } - } - } - $l$171 = $l$171 + 1 | 0; - if (($l$171 | 0) >= ($91 | 0)) { - $max$4$lcssa = $max$7; - $res1$4$lcssa = $res1$7; - $res2$4$lcssa = $res2$7; - break; - } else { - $k$270 = $k$3106; - $max$472 = $max$7; - $res1$468 = $res1$7; - $res2$469 = $res2$7; - } - } - } else { - $max$4$lcssa = 0.0; - $res1$4$lcssa = -1; - $res2$4$lcssa = -1; - } - HEAP32[$dir >> 2] = $res1$4$lcssa; - HEAP32[$code >> 2] = $res2$4$lcssa; - HEAPF64[$cf >> 3] = $max$4$lcssa; - _free($65); - $$0 = 0; - break L1; - break; - } - default: - { - $$0 = -1; - break L1; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arMultiReadConfigFile($filename, $pattHandle) { - $filename = $filename | 0; - $pattHandle = $pattHandle | 0; - var $$0 = 0, $0 = 0, $108 = 0, $11 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $20 = 0, $21 = 0, $28 = 0, $34 = 0, $4 = 0, $45 = 0, $49 = 0, $50 = 0, $52 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $79 = 0.0, $83 = 0.0, $9 = 0, $buf = 0, $dummy = 0, $i$052 = 0, $i$052$lcssa64 = 0, $i$052$lcssa65 = 0, $i$052$lcssa66 = 0, $j$0 = 0, $j$150 = 0, $num = 0, $pattPath = 0, $patt_type$0$lcssa = 0, $patt_type$051 = 0, $patt_type$1 = 0, $t1 = 0, $t2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer35 = 0, $vararg_buffer41 = 0, $vararg_buffer45 = 0, $vararg_buffer49 = 0, $vararg_buffer5 = 0, $vararg_buffer55 = 0, $vararg_buffer59 = 0, $vararg_buffer8 = 0, $wpos3d = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2544 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer59 = sp + 208 | 0; - $vararg_buffer55 = sp + 200 | 0; - $vararg_buffer49 = sp + 184 | 0; - $vararg_buffer45 = sp + 176 | 0; - $vararg_buffer41 = sp + 168 | 0; - $vararg_buffer35 = sp + 152 | 0; - $vararg_buffer31 = sp + 144 | 0; - $vararg_buffer28 = sp + 136 | 0; - $vararg_buffer24 = sp + 128 | 0; - $vararg_buffer21 = sp + 120 | 0; - $vararg_buffer17 = sp + 112 | 0; - $vararg_buffer13 = sp + 104 | 0; - $vararg_buffer11 = sp + 96 | 0; - $vararg_buffer8 = sp + 88 | 0; - $vararg_buffer5 = sp + 80 | 0; - $vararg_buffer1 = sp + 72 | 0; - $vararg_buffer = sp + 64 | 0; - $wpos3d = sp; - $buf = sp + 2280 | 0; - $pattPath = sp + 232 | 0; - $dummy = sp + 224 | 0; - $num = sp + 220 | 0; - $t1 = sp + 216 | 0; - $t2 = sp + 212 | 0; - $0 = _fopen($filename, 5306) | 0; - L1 : do if (!$0) { - HEAP32[$vararg_buffer >> 2] = $filename; - _arLog(3, 5308, $vararg_buffer); - $2 = ___errno_location() | 0; - $4 = _strerror(HEAP32[$2 >> 2] | 0) | 0; - HEAP32[$vararg_buffer1 >> 2] = 13835; - HEAP32[$vararg_buffer1 + 4 >> 2] = $4; - _arLog(3, 5361, $vararg_buffer1); - $$0 = 0; - } else { - _get_buff($buf, $0); - HEAP32[$vararg_buffer5 >> 2] = $num; - if ((_sscanf($buf, 5367, $vararg_buffer5) | 0) != 1) { - HEAP32[$vararg_buffer8 >> 2] = $filename; - _arLog(3, 5370, $vararg_buffer8); - _fclose($0) | 0; - $$0 = 0; - break; - } - $7 = HEAP32[$num >> 2] | 0; - $9 = _malloc($7 * 320 | 0) | 0; - if (!$9) { - _arLog(3, 5471, $vararg_buffer11); - _exit(1); - } - $11 = $wpos3d + 8 | 0; - $12 = $wpos3d + 16 | 0; - $13 = $wpos3d + 24 | 0; - $14 = $wpos3d + 32 | 0; - $15 = $wpos3d + 40 | 0; - $16 = $wpos3d + 48 | 0; - $17 = $wpos3d + 56 | 0; - $18 = ($pattHandle | 0) == 0; - L10 : do if (($7 | 0) > 0) { - $i$052 = 0; - $patt_type$051 = 0; - L11 : while (1) { - _get_buff($buf, $0); - $20 = $9 + ($i$052 * 320 | 0) | 0; - $21 = $9 + ($i$052 * 320 | 0) + 312 | 0; - HEAP32[$vararg_buffer13 >> 2] = $21; - HEAP32[$vararg_buffer13 + 4 >> 2] = $dummy; - if ((_sscanf($buf, 5488, $vararg_buffer13) | 0) == 1) { - $34 = HEAP32[$21 >> 2] | 0; - HEAP32[$20 >> 2] = ($34 & -32768 | 0) == 0 & 0 == 0 ? $34 & 32767 : 0; - HEAP32[$9 + ($i$052 * 320 | 0) + 4 >> 2] = 1; - $patt_type$1 = $patt_type$051 | 2; - } else { - if ($18) { - label = 10; - break; - } - if (!(_arUtilGetDirectoryNameFromPath($pattPath, $filename, 2048, 1) | 0)) { - label = 12; - break; - } - _strncat($pattPath, $buf, 2047 - (_strlen($pattPath) | 0) | 0) | 0; - $28 = _arPattLoad($pattHandle, $pattPath) | 0; - HEAP32[$20 >> 2] = $28; - if (($28 | 0) < 0) { - label = 14; - break; - } - HEAP32[$9 + ($i$052 * 320 | 0) + 4 >> 2] = 0; - $patt_type$1 = $patt_type$051 | 1; - } - _get_buff($buf, $0); - $45 = $9 + ($i$052 * 320 | 0) + 8 | 0; - HEAP32[$vararg_buffer28 >> 2] = $45; - if ((_sscanf($buf, 5784, $vararg_buffer28) | 0) != 1) { - $i$052$lcssa64 = $i$052; - label = 18; - break; - } - _get_buff($buf, $0); - $49 = $9 + ($i$052 * 320 | 0) + 16 | 0; - $50 = $9 + ($i$052 * 320 | 0) + 24 | 0; - $52 = $9 + ($i$052 * 320 | 0) + 40 | 0; - HEAP32[$vararg_buffer35 >> 2] = $49; - HEAP32[$vararg_buffer35 + 4 >> 2] = $50; - HEAP32[$vararg_buffer35 + 8 >> 2] = $9 + ($i$052 * 320 | 0) + 32; - HEAP32[$vararg_buffer35 + 12 >> 2] = $52; - if ((_sscanf($buf, 5893, $vararg_buffer35) | 0) == 4) $j$0 = 1; else { - HEAP32[$vararg_buffer41 >> 2] = $t1; - HEAP32[$vararg_buffer41 + 4 >> 2] = $t2; - if ((_sscanf($buf, 5909, $vararg_buffer41) | 0) == 2) $j$0 = 0; else { - $i$052$lcssa65 = $i$052; - label = 21; - break; - } - } - do { - _get_buff($buf, $0); - HEAP32[$vararg_buffer49 >> 2] = $9 + ($i$052 * 320 | 0) + 16 + ($j$0 << 5); - HEAP32[$vararg_buffer49 + 4 >> 2] = $9 + ($i$052 * 320 | 0) + 16 + ($j$0 << 5) + 8; - HEAP32[$vararg_buffer49 + 8 >> 2] = $9 + ($i$052 * 320 | 0) + 16 + ($j$0 << 5) + 16; - HEAP32[$vararg_buffer49 + 12 >> 2] = $9 + ($i$052 * 320 | 0) + 16 + ($j$0 << 5) + 24; - if ((_sscanf($buf, 5893, $vararg_buffer49) | 0) != 4) { - $i$052$lcssa66 = $i$052; - label = 23; - break L11; - } - $j$0 = $j$0 + 1 | 0; - } while (($j$0 | 0) < 3); - _arUtilMatInv($49, $9 + ($i$052 * 320 | 0) + 112 | 0) | 0; - $68 = +HEAPF64[$45 >> 3]; - $69 = $68 * -.5; - HEAPF64[$wpos3d >> 3] = $69; - $70 = $68 * .5; - HEAPF64[$11 >> 3] = $70; - HEAPF64[$12 >> 3] = $70; - HEAPF64[$13 >> 3] = $70; - HEAPF64[$14 >> 3] = $70; - HEAPF64[$15 >> 3] = $69; - HEAPF64[$16 >> 3] = $69; - HEAPF64[$17 >> 3] = $69; - $71 = $9 + ($i$052 * 320 | 0) + 48 | 0; - $72 = $9 + ($i$052 * 320 | 0) + 56 | 0; - $73 = $9 + ($i$052 * 320 | 0) + 72 | 0; - $74 = $9 + ($i$052 * 320 | 0) + 80 | 0; - $75 = $9 + ($i$052 * 320 | 0) + 88 | 0; - $76 = $9 + ($i$052 * 320 | 0) + 104 | 0; - $j$150 = 0; - do { - $79 = +HEAPF64[$wpos3d + ($j$150 << 4) >> 3]; - $83 = +HEAPF64[$wpos3d + ($j$150 << 4) + 8 >> 3]; - HEAPF64[$9 + ($i$052 * 320 | 0) + 208 + ($j$150 * 24 | 0) >> 3] = +HEAPF64[$52 >> 3] + (+HEAPF64[$49 >> 3] * $79 + +HEAPF64[$50 >> 3] * $83); - HEAPF64[$9 + ($i$052 * 320 | 0) + 208 + ($j$150 * 24 | 0) + 8 >> 3] = +HEAPF64[$73 >> 3] + (+HEAPF64[$71 >> 3] * $79 + +HEAPF64[$72 >> 3] * $83); - HEAPF64[$9 + ($i$052 * 320 | 0) + 208 + ($j$150 * 24 | 0) + 16 >> 3] = +HEAPF64[$76 >> 3] + (+HEAPF64[$74 >> 3] * $79 + +HEAPF64[$75 >> 3] * $83); - $j$150 = $j$150 + 1 | 0; - } while (($j$150 | 0) != 4); - $i$052 = $i$052 + 1 | 0; - if (($i$052 | 0) >= (HEAP32[$num >> 2] | 0)) { - $patt_type$0$lcssa = $patt_type$1; - break L10; - } else $patt_type$051 = $patt_type$1; - } - if ((label | 0) == 10) { - HEAP32[$vararg_buffer17 >> 2] = $filename; - HEAP32[$vararg_buffer17 + 4 >> 2] = $buf; - _arLog(3, 5495, $vararg_buffer17); - } else if ((label | 0) == 12) { - HEAP32[$vararg_buffer21 >> 2] = $filename; - _arLog(3, 5623, $vararg_buffer21); - } else if ((label | 0) == 14) { - HEAP32[$vararg_buffer24 >> 2] = $filename; - HEAP32[$vararg_buffer24 + 4 >> 2] = $pattPath; - _arLog(3, 5707, $vararg_buffer24); - } else if ((label | 0) == 18) { - HEAP32[$vararg_buffer31 >> 2] = $filename; - HEAP32[$vararg_buffer31 + 4 >> 2] = $i$052$lcssa64 + 1; - _arLog(3, 5788, $vararg_buffer31); - } else if ((label | 0) == 21) { - HEAP32[$vararg_buffer45 >> 2] = $filename; - HEAP32[$vararg_buffer45 + 4 >> 2] = $i$052$lcssa65 + 1; - _arLog(3, 5915, $vararg_buffer45); - } else if ((label | 0) == 23) { - HEAP32[$vararg_buffer55 >> 2] = $filename; - HEAP32[$vararg_buffer55 + 4 >> 2] = $i$052$lcssa66 + 1; - _arLog(3, 5915, $vararg_buffer55); - } - _fclose($0) | 0; - _free($9); - $$0 = 0; - break L1; - } else $patt_type$0$lcssa = 0; while (0); - _fclose($0) | 0; - $108 = _malloc(136) | 0; - if (!$108) { - _arLog(3, 5471, $vararg_buffer59); - _exit(1); - } - HEAP32[$108 >> 2] = $9; - HEAP32[$108 + 4 >> 2] = HEAP32[$num >> 2]; - HEAP32[$108 + 104 >> 2] = 0; - do if (($patt_type$0$lcssa & 3 | 0) == 3) HEAP32[$108 + 108 >> 2] = 2; else { - $118 = $108 + 108 | 0; - if (!($patt_type$0$lcssa & 1)) { - HEAP32[$118 >> 2] = 1; - break; - } else { - HEAP32[$118 >> 2] = 0; - break; - } - } while (0); - HEAPF64[$108 + 112 >> 3] = .5; - HEAPF64[$108 + 120 >> 3] = .5; - $$0 = $108; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - $rem = $rem | 0; - var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $_0$0 = 0, $_0$1 = 0, $q_sroa_1_1198$looptemp = 0; - $n_sroa_0_0_extract_trunc = $a$0; - $n_sroa_1_4_extract_shift$0 = $a$1; - $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0; - $d_sroa_0_0_extract_trunc = $b$0; - $d_sroa_1_4_extract_shift$0 = $b$1; - $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0; - if (!$n_sroa_1_4_extract_trunc) { - $4 = ($rem | 0) != 0; - if (!$d_sroa_1_4_extract_trunc) { - if ($4) { - HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$4) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 | 0; - HEAP32[$rem + 4 >> 2] = $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } - $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; - do if (!$d_sroa_0_0_extract_trunc) { - if ($17) { - if ($rem) { - HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0); - HEAP32[$rem + 4 >> 2] = 0; - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - if (!$n_sroa_0_0_extract_trunc) { - if ($rem) { - HEAP32[$rem >> 2] = 0; - HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0); - } - $_0$1 = 0; - $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $37 = $d_sroa_1_4_extract_trunc - 1 | 0; - if (!($37 & $d_sroa_1_4_extract_trunc)) { - if ($rem) { - HEAP32[$rem >> 2] = $a$0 | 0; - HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0; - } - $_0$1 = 0; - $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0); - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $51 = (Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0) - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($51 >>> 0 <= 30) { - $57 = $51 + 1 | 0; - $58 = 31 - $51 | 0; - $sr_1_ph = $57; - $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0); - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0); - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; - break; - } - if (!$rem) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 | 0; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - if (!$17) { - $119 = (Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0) - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - if ($119 >>> 0 <= 31) { - $125 = $119 + 1 | 0; - $126 = 31 - $119 | 0; - $130 = $119 - 31 >> 31; - $sr_1_ph = $125; - $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126; - $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130; - $q_sroa_0_1_ph = 0; - $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126; - break; - } - if (!$rem) { - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - HEAP32[$rem >> 2] = $a$0 | 0; - HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$1 = 0; - $_0$0 = 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - $66 = $d_sroa_0_0_extract_trunc - 1 | 0; - if ($66 & $d_sroa_0_0_extract_trunc) { - $88 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0; - $89 = 64 - $88 | 0; - $91 = 32 - $88 | 0; - $92 = $91 >> 31; - $95 = $88 - 32 | 0; - $105 = $95 >> 31; - $sr_1_ph = $88; - $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105; - $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0); - $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92; - $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31; - break; - } - if ($rem) { - HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc; - HEAP32[$rem + 4 >> 2] = 0; - } - if (($d_sroa_0_0_extract_trunc | 0) == 1) { - $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; - $_0$0 = $a$0 | 0 | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } else { - $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; - $_0$1 = $n_sroa_1_4_extract_trunc >>> ($78 >>> 0) | 0; - $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; - return (tempRet0 = $_0$1, $_0$0) | 0; - } - } while (0); - if (!$sr_1_ph) { - $q_sroa_1_1_lcssa = $q_sroa_1_1_ph; - $q_sroa_0_1_lcssa = $q_sroa_0_1_ph; - $r_sroa_1_1_lcssa = $r_sroa_1_1_ph; - $r_sroa_0_1_lcssa = $r_sroa_0_1_ph; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = 0; - } else { - $d_sroa_0_0_insert_insert99$0 = $b$0 | 0 | 0; - $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0; - $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0; - $137$1 = tempRet0; - $q_sroa_1_1198 = $q_sroa_1_1_ph; - $q_sroa_0_1199 = $q_sroa_0_1_ph; - $r_sroa_1_1200 = $r_sroa_1_1_ph; - $r_sroa_0_1201 = $r_sroa_0_1_ph; - $sr_1202 = $sr_1_ph; - $carry_0203 = 0; - do { - $q_sroa_1_1198$looptemp = $q_sroa_1_1198; - $q_sroa_1_1198 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; - $q_sroa_0_1199 = $carry_0203 | $q_sroa_0_1199 << 1; - $r_sroa_0_0_insert_insert42$0 = $r_sroa_0_1201 << 1 | $q_sroa_1_1198$looptemp >>> 31 | 0; - $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0; - _i64Subtract($137$0, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 0; - $150$1 = tempRet0; - $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; - $carry_0203 = $151$0 & 1; - $r_sroa_0_1201 = _i64Subtract($r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 0; - $r_sroa_1_1200 = tempRet0; - $sr_1202 = $sr_1202 - 1 | 0; - } while (($sr_1202 | 0) != 0); - $q_sroa_1_1_lcssa = $q_sroa_1_1198; - $q_sroa_0_1_lcssa = $q_sroa_0_1199; - $r_sroa_1_1_lcssa = $r_sroa_1_1200; - $r_sroa_0_1_lcssa = $r_sroa_0_1201; - $carry_0_lcssa$1 = 0; - $carry_0_lcssa$0 = $carry_0203; - } - $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; - $q_sroa_0_0_insert_ext75$1 = 0; - if ($rem) { - HEAP32[$rem >> 2] = $r_sroa_0_1_lcssa; - HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa; - } - $_0$1 = ($q_sroa_0_0_insert_ext75$0 | 0) >>> 31 | ($q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1) << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1; - $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0; - return (tempRet0 = $_0$1, $_0$0) | 0; -} - -function _icpGetJ_U_S($J_U_S, $matXc2U, $matXw2Xc, $worldCoord) { - $J_U_S = $J_U_S | 0; - $matXc2U = $matXc2U | 0; - $matXw2Xc = $matXw2Xc | 0; - $worldCoord = $worldCoord | 0; - var $$0 = 0, $$lcssa = 0.0, $0 = 0.0, $1 = 0.0, $100 = 0, $101 = 0, $104 = 0, $106 = 0, $108 = 0, $109 = 0, $11 = 0.0, $115 = 0.0, $116 = 0.0, $12 = 0.0, $122 = 0.0, $125 = 0.0, $128 = 0.0, $129 = 0.0, $132 = 0.0, $136 = 0.0, $14 = 0.0, $141 = 0.0, $143 = 0.0, $146 = 0.0, $150 = 0.0, $155 = 0.0, $157 = 0.0, $16 = 0.0, $160 = 0.0, $164 = 0.0, $169 = 0.0, $171 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $202 = 0.0, $204 = 0.0, $206 = 0.0, $207 = 0, $21 = 0.0, $211 = 0.0, $215 = 0.0, $22 = 0.0, $24 = 0.0, $26 = 0.0, $28 = 0.0, $29 = 0.0, $31 = 0.0, $32 = 0.0, $34 = 0.0, $4 = 0.0, $5 = 0, $52 = 0.0, $6 = 0.0, $7 = 0.0, $71 = 0.0, $79 = 0.0, $9 = 0.0, $92 = 0, $93 = 0, $96 = 0, $98 = 0, $J_T_S$i = 0, $J_U_Xc = 0, $J_Xc_S = 0, $J_Xc_T$i = 0, $i$0$i7 = 0, $i$04 = 0, $j$0$i8 = 0, $j$05 = 0, $k$0$i6 = 0, $vararg_buffer = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1072 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp + 1056 | 0; - $J_Xc_T$i = sp + 768 | 0; - $J_T_S$i = sp + 192 | 0; - $J_Xc_S = sp + 48 | 0; - $J_U_Xc = sp; - $0 = +HEAPF64[$matXw2Xc >> 3]; - $1 = +HEAPF64[$worldCoord >> 3]; - $2 = $0 * $1; - $4 = +HEAPF64[$matXw2Xc + 8 >> 3]; - $5 = $worldCoord + 8 | 0; - $6 = +HEAPF64[$5 >> 3]; - $7 = $4 * $6; - $9 = +HEAPF64[$matXw2Xc + 16 >> 3]; - $11 = +HEAPF64[$worldCoord + 16 >> 3]; - $12 = $9 * $11; - $14 = +HEAPF64[$matXw2Xc + 24 >> 3]; - $16 = +HEAPF64[$matXw2Xc + 32 >> 3]; - $18 = +HEAPF64[$matXw2Xc + 40 >> 3]; - $19 = $6 * $18; - $21 = +HEAPF64[$matXw2Xc + 48 >> 3]; - $22 = $11 * $21; - $24 = +HEAPF64[$matXw2Xc + 56 >> 3]; - $26 = +HEAPF64[$matXw2Xc + 64 >> 3]; - $28 = +HEAPF64[$matXw2Xc + 72 >> 3]; - $29 = $6 * $28; - $31 = +HEAPF64[$matXw2Xc + 80 >> 3]; - $32 = $11 * $31; - $34 = +HEAPF64[$matXw2Xc + 88 >> 3]; - HEAPF64[$J_Xc_T$i >> 3] = $2; - HEAPF64[$J_Xc_T$i + 8 >> 3] = $0 * $6; - HEAPF64[$J_Xc_T$i + 16 >> 3] = $0 * $11; - HEAPF64[$J_Xc_T$i + 24 >> 3] = $1 * $4; - HEAPF64[$J_Xc_T$i + 32 >> 3] = $7; - HEAPF64[$J_Xc_T$i + 40 >> 3] = $11 * $4; - HEAPF64[$J_Xc_T$i + 48 >> 3] = $1 * $9; - HEAPF64[$J_Xc_T$i + 56 >> 3] = $6 * $9; - HEAPF64[$J_Xc_T$i + 64 >> 3] = $12; - HEAPF64[$J_Xc_T$i + 72 >> 3] = $0; - HEAPF64[$J_Xc_T$i + 80 >> 3] = $4; - HEAPF64[$J_Xc_T$i + 88 >> 3] = $9; - $52 = $1 * $16; - HEAPF64[$J_Xc_T$i + 96 >> 3] = $52; - HEAPF64[$J_Xc_T$i + 104 >> 3] = $6 * $16; - HEAPF64[$J_Xc_T$i + 112 >> 3] = $11 * $16; - HEAPF64[$J_Xc_T$i + 120 >> 3] = $1 * $18; - HEAPF64[$J_Xc_T$i + 128 >> 3] = $19; - HEAPF64[$J_Xc_T$i + 136 >> 3] = $11 * $18; - HEAPF64[$J_Xc_T$i + 144 >> 3] = $1 * $21; - HEAPF64[$J_Xc_T$i + 152 >> 3] = $6 * $21; - HEAPF64[$J_Xc_T$i + 160 >> 3] = $22; - HEAPF64[$J_Xc_T$i + 168 >> 3] = $16; - HEAPF64[$J_Xc_T$i + 176 >> 3] = $18; - HEAPF64[$J_Xc_T$i + 184 >> 3] = $21; - $71 = $26 * $1; - HEAPF64[$J_Xc_T$i + 192 >> 3] = $71; - HEAPF64[$J_Xc_T$i + 200 >> 3] = $6 * $26; - HEAPF64[$J_Xc_T$i + 208 >> 3] = $11 * $26; - HEAPF64[$J_Xc_T$i + 216 >> 3] = $1 * $28; - $79 = +HEAPF64[$5 >> 3]; - HEAPF64[$J_Xc_T$i + 224 >> 3] = $28 * $79; - HEAPF64[$J_Xc_T$i + 232 >> 3] = $11 * $28; - HEAPF64[$J_Xc_T$i + 240 >> 3] = $1 * $31; - HEAPF64[$J_Xc_T$i + 248 >> 3] = $79 * $31; - HEAPF64[$J_Xc_T$i + 256 >> 3] = $32; - HEAPF64[$J_Xc_T$i + 264 >> 3] = $26; - HEAPF64[$J_Xc_T$i + 272 >> 3] = $28; - HEAPF64[$J_Xc_T$i + 280 >> 3] = $31; - $92 = $J_T_S$i + 64 | 0; - dest = $J_T_S$i; - stop = dest + 64 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$92 >> 3] = -1.0; - $93 = $J_T_S$i + 72 | 0; - HEAP32[$93 >> 2] = 0; - HEAP32[$93 + 4 >> 2] = 0; - HEAP32[$93 + 8 >> 2] = 0; - HEAP32[$93 + 12 >> 2] = 0; - HEAP32[$93 + 16 >> 2] = 0; - HEAP32[$93 + 20 >> 2] = 0; - HEAP32[$93 + 24 >> 2] = 0; - HEAP32[$93 + 28 >> 2] = 0; - HEAPF64[$J_T_S$i + 104 >> 3] = 1.0; - $96 = $J_T_S$i + 160 | 0; - dest = $J_T_S$i + 112 | 0; - stop = dest + 48 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$96 >> 3] = 1.0; - $98 = $J_T_S$i + 240 | 0; - dest = $J_T_S$i + 168 | 0; - stop = dest + 72 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$98 >> 3] = -1.0; - $100 = $J_T_S$i + 296 | 0; - dest = $J_T_S$i + 248 | 0; - stop = dest + 48 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$100 >> 3] = -1.0; - $101 = $J_T_S$i + 304 | 0; - HEAP32[$101 >> 2] = 0; - HEAP32[$101 + 4 >> 2] = 0; - HEAP32[$101 + 8 >> 2] = 0; - HEAP32[$101 + 12 >> 2] = 0; - HEAP32[$101 + 16 >> 2] = 0; - HEAP32[$101 + 20 >> 2] = 0; - HEAP32[$101 + 24 >> 2] = 0; - HEAP32[$101 + 28 >> 2] = 0; - HEAPF64[$J_T_S$i + 336 >> 3] = 1.0; - $104 = $J_T_S$i + 456 | 0; - dest = $J_T_S$i + 344 | 0; - stop = dest + 112 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$104 >> 3] = 1.0; - $106 = $J_T_S$i + 512 | 0; - dest = $J_T_S$i + 464 | 0; - stop = dest + 48 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$106 >> 3] = 1.0; - $108 = $J_T_S$i + 568 | 0; - dest = $J_T_S$i + 520 | 0; - stop = dest + 48 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAPF64[$108 >> 3] = 1.0; - $j$0$i8 = 0; - do { - $i$0$i7 = 0; - do { - $109 = $J_Xc_S + ($j$0$i8 * 48 | 0) + ($i$0$i7 << 3) | 0; - HEAPF64[$109 >> 3] = 0.0; - $116 = 0.0; - $k$0$i6 = 0; - while (1) { - $115 = $116 + +HEAPF64[$J_Xc_T$i + ($j$0$i8 * 96 | 0) + ($k$0$i6 << 3) >> 3] * +HEAPF64[$J_T_S$i + ($k$0$i6 * 48 | 0) + ($i$0$i7 << 3) >> 3]; - $k$0$i6 = $k$0$i6 + 1 | 0; - if (($k$0$i6 | 0) == 12) { - $$lcssa = $115; - break; - } else $116 = $115; - } - HEAPF64[$109 >> 3] = $$lcssa; - $i$0$i7 = $i$0$i7 + 1 | 0; - } while (($i$0$i7 | 0) != 6); - $j$0$i8 = $j$0$i8 + 1 | 0; - } while (($j$0$i8 | 0) != 3); - $122 = $14 + ($2 + $7 + $12); - $125 = $24 + ($52 + $19 + $22); - $128 = $34 + ($71 + $29 + $32); - $129 = +HEAPF64[$matXc2U >> 3]; - $132 = +HEAPF64[$matXc2U + 8 >> 3]; - $136 = +HEAPF64[$matXc2U + 16 >> 3]; - $141 = +HEAPF64[$matXc2U + 24 >> 3] + ($122 * $129 + $125 * $132 + $128 * $136); - $143 = +HEAPF64[$matXc2U + 32 >> 3]; - $146 = +HEAPF64[$matXc2U + 40 >> 3]; - $150 = +HEAPF64[$matXc2U + 48 >> 3]; - $155 = +HEAPF64[$matXc2U + 56 >> 3] + ($122 * $143 + $125 * $146 + $128 * $150); - $157 = +HEAPF64[$matXc2U + 64 >> 3]; - $160 = +HEAPF64[$matXc2U + 72 >> 3]; - $164 = +HEAPF64[$matXc2U + 80 >> 3]; - $169 = +HEAPF64[$matXc2U + 88 >> 3] + ($122 * $157 + $125 * $160 + $128 * $164); - if ($169 == 0.0) { - _arLog(3, 5089, $vararg_buffer); - $$0 = -1; - } else { - $171 = $169 * $169; - HEAPF64[$J_U_Xc >> 3] = ($129 * $169 - $141 * $157) / $171; - HEAPF64[$J_U_Xc + 8 >> 3] = ($169 * $132 - $141 * $160) / $171; - HEAPF64[$J_U_Xc + 16 >> 3] = ($169 * $136 - $141 * $164) / $171; - HEAPF64[$J_U_Xc + 24 >> 3] = ($169 * $143 - $155 * $157) / $171; - HEAPF64[$J_U_Xc + 32 >> 3] = ($169 * $146 - $155 * $160) / $171; - HEAPF64[$J_U_Xc + 40 >> 3] = ($169 * $150 - $155 * $164) / $171; - $j$05 = 0; - do { - $202 = +HEAPF64[$J_U_Xc + ($j$05 * 24 | 0) >> 3]; - $204 = +HEAPF64[$J_U_Xc + ($j$05 * 24 | 0) + 8 >> 3]; - $206 = +HEAPF64[$J_U_Xc + ($j$05 * 24 | 0) + 16 >> 3]; - $i$04 = 0; - do { - $207 = $J_U_S + ($j$05 * 48 | 0) + ($i$04 << 3) | 0; - HEAPF64[$207 >> 3] = 0.0; - $211 = $202 * +HEAPF64[$J_Xc_S + ($i$04 << 3) >> 3] + 0.0; - HEAPF64[$207 >> 3] = $211; - $215 = $211 + $204 * +HEAPF64[$J_Xc_S + 48 + ($i$04 << 3) >> 3]; - HEAPF64[$207 >> 3] = $215; - HEAPF64[$207 >> 3] = $215 + $206 * +HEAPF64[$J_Xc_S + 96 + ($i$04 << 3) >> 3]; - $i$04 = $i$04 + 1 | 0; - } while (($i$04 | 0) != 6); - $j$05 = $j$05 + 1 | 0; - } while (($j$05 | 0) != 2); - $$0 = 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_120parse_function_paramINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i$i$i = 0, $$0$i$i$i18 = 0, $$0$i$i1027 = 0, $$0$i$i24 = 0, $0 = 0, $1 = 0, $101 = 0, $102 = 0, $104 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $118 = 0, $120 = 0, $123 = 0, $124 = 0, $15 = 0, $16 = 0, $2 = 0, $22 = 0, $29 = 0, $3 = 0, $30 = 0, $39 = 0, $4 = 0, $42 = 0, $43 = 0, $45 = 0, $5 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $59 = 0, $61 = 0, $64 = 0, $65 = 0, $69 = 0, $74 = 0, $75 = 0, $81 = 0, $88 = 0, $89 = 0, $98 = 0, $__p$0$i$i23 = 0, $__p$0$i$i926 = 0, $__p$0$ph$i$i = 0, $__p$0$ph$i$i7 = 0, $__v$i$i17 = 0, $cv = 0, $cv1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i17 = sp + 108 | 0; - $cv = sp + 104 | 0; - $0 = sp + 80 | 0; - $1 = sp + 64 | 0; - $2 = sp + 52 | 0; - $cv1 = sp + 48 | 0; - $3 = sp + 24 | 0; - $4 = sp + 12 | 0; - $5 = sp; - L1 : do if (($last - $first | 0) > 2) if ((HEAP8[$first >> 0] | 0) == 102) { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 112: - { - $15 = __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj($first + 2 | 0, $last, $cv) | 0; - $16 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($15, $last) | 0; - if (($16 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - if ((HEAP8[$16 >> 0] | 0) != 95) { - $$0 = $first; - break L1; - } - $22 = $16 - $15 | 0; - if ($22 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($2); - if ($22 >>> 0 < 11) { - HEAP8[$2 >> 0] = $22 << 1; - $__p$0$ph$i$i = $2 + 1 | 0; - } else { - $29 = $22 + 16 & -16; - $30 = _malloc($29) | 0; - HEAP32[$2 + 8 >> 2] = $30; - HEAP32[$2 >> 2] = $29 | 1; - HEAP32[$2 + 4 >> 2] = $22; - $__p$0$ph$i$i = $30; - } - if (($15 | 0) != ($16 | 0)) { - $$0$i$i24 = $15; - $__p$0$i$i23 = $__p$0$ph$i$i; - while (1) { - HEAP8[$__p$0$i$i23 >> 0] = HEAP8[$$0$i$i24 >> 0] | 0; - $$0$i$i24 = $$0$i$i24 + 1 | 0; - if (($$0$i$i24 | 0) == ($16 | 0)) break; else $__p$0$i$i23 = $__p$0$i$i23 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i + $22 >> 0] = 0; - $39 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 14149) | 0; - HEAP32[$1 >> 2] = HEAP32[$39 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$39 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$39 + 8 >> 2]; - HEAP32[$39 >> 2] = 0; - HEAP32[$39 + 4 >> 2] = 0; - HEAP32[$39 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - $42 = $db + 4 | 0; - $43 = HEAP32[$42 >> 2] | 0; - $45 = HEAP32[$db + 8 >> 2] | 0; - if ($43 >>> 0 < $45 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($43, $0); - HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 24; - } else { - $52 = HEAP32[$db >> 2] | 0; - $53 = $43 - $52 | 0; - $54 = ($53 | 0) / 24 | 0; - $55 = $54 + 1 | 0; - if (($53 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $59 = ($45 - $52 | 0) / 24 | 0; - if ($59 >>> 0 < 1073741823) { - $61 = $59 << 1; - $$0$i$i$i = $61 >>> 0 < $55 >>> 0 ? $55 : $61; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17, $$0$i$i$i, $54, $db + 12 | 0); - $64 = $__v$i$i17 + 8 | 0; - $65 = HEAP32[$64 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($65, $0); - HEAP32[$64 >> 2] = $65 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$0 = $16 + 1 | 0; - break L1; - break; - } - case 76: - break; - default: - { - $$0 = $first; - break L1; - } - } - $69 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($first + 2 | 0, $last) | 0; - if (($69 | 0) == ($last | 0)) $$0 = $first; else if ((HEAP8[$69 >> 0] | 0) == 112) { - $74 = __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj($69 + 1 | 0, $last, $cv1) | 0; - $75 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($74, $last) | 0; - if (($75 | 0) == ($last | 0)) $$0 = $first; else if ((HEAP8[$75 >> 0] | 0) == 95) { - $81 = $75 - $74 | 0; - if ($81 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($5); - if ($81 >>> 0 < 11) { - HEAP8[$5 >> 0] = $81 << 1; - $__p$0$ph$i$i7 = $5 + 1 | 0; - } else { - $88 = $81 + 16 & -16; - $89 = _malloc($88) | 0; - HEAP32[$5 + 8 >> 2] = $89; - HEAP32[$5 >> 2] = $88 | 1; - HEAP32[$5 + 4 >> 2] = $81; - $__p$0$ph$i$i7 = $89; - } - if (($74 | 0) != ($75 | 0)) { - $$0$i$i1027 = $74; - $__p$0$i$i926 = $__p$0$ph$i$i7; - while (1) { - HEAP8[$__p$0$i$i926 >> 0] = HEAP8[$$0$i$i1027 >> 0] | 0; - $$0$i$i1027 = $$0$i$i1027 + 1 | 0; - if (($$0$i$i1027 | 0) == ($75 | 0)) break; else $__p$0$i$i926 = $__p$0$i$i926 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i7 + $81 >> 0] = 0; - $98 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($5, 0, 14149) | 0; - HEAP32[$4 >> 2] = HEAP32[$98 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$98 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$98 + 8 >> 2]; - HEAP32[$98 >> 2] = 0; - HEAP32[$98 + 4 >> 2] = 0; - HEAP32[$98 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($3, $4); - $101 = $db + 4 | 0; - $102 = HEAP32[$101 >> 2] | 0; - $104 = HEAP32[$db + 8 >> 2] | 0; - if ($102 >>> 0 < $104 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($102, $3); - HEAP32[$101 >> 2] = (HEAP32[$101 >> 2] | 0) + 24; - } else { - $111 = HEAP32[$db >> 2] | 0; - $112 = $102 - $111 | 0; - $113 = ($112 | 0) / 24 | 0; - $114 = $113 + 1 | 0; - if (($112 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $118 = ($104 - $111 | 0) / 24 | 0; - if ($118 >>> 0 < 1073741823) { - $120 = $118 << 1; - $$0$i$i$i18 = $120 >>> 0 < $114 >>> 0 ? $114 : $120; - } else $$0$i$i$i18 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i17, $$0$i$i$i18, $113, $db + 12 | 0); - $123 = $__v$i$i17 + 8 | 0; - $124 = HEAP32[$123 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($124, $3); - HEAP32[$123 >> 2] = $124 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i17); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i17); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - $$0 = $75 + 1 | 0; - } else $$0 = $first; - } else $$0 = $first; - } else $$0 = $first; else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _icpPointRobust($handle, $data, $initMatXw2Xc, $matXw2Xc, $err) { - $handle = $handle | 0; - $data = $data | 0; - $initMatXw2Xc = $initMatXw2Xc | 0; - $matXw2Xc = $matXw2Xc | 0; - $err = $err | 0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa50 = 0.0, $$pn = 0.0, $$pre = 0, $0 = 0, $1 = 0, $101 = 0, $102 = 0, $108 = 0.0, $109 = 0.0, $11 = 0, $113 = 0, $117 = 0, $121 = 0, $125 = 0, $129 = 0, $133 = 0, $137 = 0, $14 = 0, $141 = 0, $145 = 0, $149 = 0, $153 = 0, $156 = 0, $16 = 0, $17 = 0, $174 = 0, $19 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $41 = 0, $47 = 0, $51 = 0.0, $55 = 0.0, $56 = 0, $62 = 0.0, $66 = 0, $69 = 0.0, $71 = 0, $72 = 0.0, $75 = 0.0, $78 = 0.0, $8 = 0, $86 = 0.0, $99 = 0.0, $K2$0 = 0.0, $U = 0, $dS = 0, $err0$0 = 0.0, $err1$0$lcssa = 0.0, $err1$032 = 0.0, $err1$1 = 0.0, $i$1 = 0, $j$043 = 0, $j$131 = 0, $j$233 = 0, $j$338 = 0, $k$0$lcssa = 0, $k$039 = 0, $k$1 = 0, $matXw2U = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer5 = sp + 184 | 0; - $vararg_buffer3 = sp + 176 | 0; - $vararg_buffer1 = sp + 168 | 0; - $vararg_buffer = sp + 160 | 0; - $U = sp + 48 | 0; - $matXw2U = sp + 64 | 0; - $dS = sp; - $0 = $data + 8 | 0; - $1 = HEAP32[$0 >> 2] | 0; - do if (($1 | 0) < 4) $$0 = -1; else { - $8 = ~~(+($1 | 0) * +HEAPF64[$handle + 128 >> 3]) + -1 | 0; - $$ = ($8 | 0) < 3 ? 3 : $8; - $11 = _malloc($1 * 96 | 0) | 0; - if (!$11) { - _arLog(3, 5109, $vararg_buffer); - $$0 = -1; - break; - } - $14 = _malloc($1 << 4) | 0; - if (!$14) { - _arLog(3, 5109, $vararg_buffer1); - _free($11); - $$0 = -1; - break; - } - $16 = $1 << 3; - $17 = _malloc($16) | 0; - if (!$17) { - _arLog(3, 5109, $vararg_buffer3); - _free($11); - _free($14); - $$0 = -1; - break; - } - $19 = _malloc($16) | 0; - if (!$19) { - _arLog(3, 5109, $vararg_buffer5); - _free($11); - _free($14); - _free($17); - $$0 = -1; - break; - } else $j$043 = 0; - do { - HEAPF64[$matXw2Xc + ($j$043 << 5) >> 3] = +HEAPF64[$initMatXw2Xc + ($j$043 << 5) >> 3]; - HEAPF64[$matXw2Xc + ($j$043 << 5) + 8 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$043 << 5) + 8 >> 3]; - HEAPF64[$matXw2Xc + ($j$043 << 5) + 16 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$043 << 5) + 16 >> 3]; - HEAPF64[$matXw2Xc + ($j$043 << 5) + 24 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$043 << 5) + 24 >> 3]; - $j$043 = $j$043 + 1 | 0; - } while (($j$043 | 0) != 3); - $21 = $data + 4 | 0; - $22 = $U + 8 | 0; - $23 = $19 + ($$ << 3) | 0; - $24 = $handle + 104 | 0; - $25 = $handle + 120 | 0; - $26 = $handle + 112 | 0; - $27 = $handle + 96 | 0; - $err0$0 = 0.0; - $i$1 = 0; - L17 : while (1) { - _arUtilMatMul($handle, $matXw2Xc, $matXw2U) | 0; - $41 = HEAP32[$0 >> 2] | 0; - if (($41 | 0) > 0) { - $j$131 = 0; - while (1) { - if ((_icpGetU_from_X_by_MatX2U($U, $matXw2U, (HEAP32[$21 >> 2] | 0) + ($j$131 * 24 | 0) | 0) | 0) < 0) { - label = 14; - break L17; - } - $47 = HEAP32[$data >> 2] | 0; - $51 = +HEAPF64[$47 + ($j$131 << 4) >> 3] - +HEAPF64[$U >> 3]; - $55 = +HEAPF64[$47 + ($j$131 << 4) + 8 >> 3] - +HEAPF64[$22 >> 3]; - $56 = $j$131 << 1; - HEAPF64[$14 + ($56 << 3) >> 3] = $51; - HEAPF64[$14 + (($56 | 1) << 3) >> 3] = $55; - $62 = $51 * $51 + $55 * $55; - HEAPF64[$19 + ($j$131 << 3) >> 3] = $62; - HEAPF64[$17 + ($j$131 << 3) >> 3] = $62; - $j$131 = $j$131 + 1 | 0; - $66 = HEAP32[$0 >> 2] | 0; - if (($j$131 | 0) >= ($66 | 0)) { - $$lcssa = $66; - break; - } - } - } else $$lcssa = $41; - _qsort($19, $$lcssa, 8, 1); - $69 = +HEAPF64[$23 >> 3] * 4.0; - $K2$0 = $69 < 16.0 ? 16.0 : $69; - $71 = HEAP32[$0 >> 2] | 0; - $72 = $K2$0 / 6.0; - if (($71 | 0) > 0) { - $err1$032 = 0.0; - $j$233 = 0; - while (1) { - $75 = +HEAPF64[$19 + ($j$233 << 3) >> 3]; - if ($75 > $K2$0) $$pn = $72; else { - $78 = 1.0 - $75 / $K2$0; - $$pn = $72 * (1.0 - $78 * ($78 * $78)); - } - $err1$1 = $err1$032 + $$pn; - $j$233 = $j$233 + 1 | 0; - if (($j$233 | 0) >= ($71 | 0)) { - $err1$0$lcssa = $err1$1; - break; - } else $err1$032 = $err1$1; - } - } else $err1$0$lcssa = 0.0; - $86 = $err1$0$lcssa / +($71 | 0); - if ($86 < +HEAPF64[$24 >> 3]) { - $$lcssa50 = $86; - label = 36; - break; - } - if (($i$1 | 0) > 0) if ($86 < +HEAPF64[$25 >> 3]) if ($86 / $err0$0 > +HEAPF64[$26 >> 3]) { - $$lcssa50 = $86; - label = 36; - break; - } - if (($i$1 | 0) == (HEAP32[$27 >> 2] | 0)) { - $$lcssa50 = $86; - label = 36; - break; - } - if (($71 | 0) > 0) { - $174 = $71; - $j$338 = 0; - $k$039 = 0; - while (1) { - $99 = +HEAPF64[$17 + ($j$338 << 3) >> 3]; - if (!($99 <= $K2$0)) { - $$pre = $174; - $k$1 = $k$039; - } else { - $101 = $k$039 * 6 | 0; - $102 = $11 + ($101 << 3) | 0; - if ((_icpGetJ_U_S($102, $handle, $matXw2Xc, (HEAP32[$21 >> 2] | 0) + ($j$338 * 24 | 0) | 0) | 0) < 0) { - label = 28; - break L17; - } - $108 = 1.0 - $99 / $K2$0; - $109 = $108 * $108; - HEAPF64[$102 >> 3] = +HEAPF64[$102 >> 3] * $109; - $113 = $11 + (($101 | 1) << 3) | 0; - HEAPF64[$113 >> 3] = +HEAPF64[$113 >> 3] * $109; - $117 = $11 + ($101 + 2 << 3) | 0; - HEAPF64[$117 >> 3] = $109 * +HEAPF64[$117 >> 3]; - $121 = $11 + ($101 + 3 << 3) | 0; - HEAPF64[$121 >> 3] = $109 * +HEAPF64[$121 >> 3]; - $125 = $11 + ($101 + 4 << 3) | 0; - HEAPF64[$125 >> 3] = $109 * +HEAPF64[$125 >> 3]; - $129 = $11 + ($101 + 5 << 3) | 0; - HEAPF64[$129 >> 3] = $109 * +HEAPF64[$129 >> 3]; - $133 = $11 + ($101 + 6 << 3) | 0; - HEAPF64[$133 >> 3] = $109 * +HEAPF64[$133 >> 3]; - $137 = $11 + ($101 + 7 << 3) | 0; - HEAPF64[$137 >> 3] = $109 * +HEAPF64[$137 >> 3]; - $141 = $11 + ($101 + 8 << 3) | 0; - HEAPF64[$141 >> 3] = $109 * +HEAPF64[$141 >> 3]; - $145 = $11 + ($101 + 9 << 3) | 0; - HEAPF64[$145 >> 3] = $109 * +HEAPF64[$145 >> 3]; - $149 = $11 + ($101 + 10 << 3) | 0; - HEAPF64[$149 >> 3] = $109 * +HEAPF64[$149 >> 3]; - $153 = $11 + ($101 + 11 << 3) | 0; - HEAPF64[$153 >> 3] = $109 * +HEAPF64[$153 >> 3]; - $156 = $j$338 << 1; - HEAPF64[$14 + ($k$039 << 3) >> 3] = $109 * +HEAPF64[$14 + ($156 << 3) >> 3]; - HEAPF64[$14 + ($k$039 + 1 << 3) >> 3] = $109 * +HEAPF64[$14 + (($156 | 1) << 3) >> 3]; - $$pre = HEAP32[$0 >> 2] | 0; - $k$1 = $k$039 + 2 | 0; - } - $j$338 = $j$338 + 1 | 0; - if (($j$338 | 0) >= ($$pre | 0)) { - $k$0$lcssa = $k$1; - break; - } else { - $174 = $$pre; - $k$039 = $k$1; - } - } - } else $k$0$lcssa = 0; - if (($k$0$lcssa | 0) < 6) { - label = 32; - break; - } - if ((_icpGetDeltaS($dS, $14, $11, $k$0$lcssa) | 0) < 0) { - label = 34; - break; - } - _icpUpdateMat($matXw2Xc, $dS) | 0; - $err0$0 = $86; - $i$1 = $i$1 + 1 | 0; - } - if ((label | 0) == 14) { - _icpGetXw2XcCleanup295($11, $14, $17, $19); - $$0 = -1; - break; - } else if ((label | 0) == 28) { - _icpGetXw2XcCleanup295($11, $14, $17, $19); - $$0 = -1; - break; - } else if ((label | 0) == 32) { - _icpGetXw2XcCleanup295($11, $14, $17, $19); - $$0 = -1; - break; - } else if ((label | 0) == 34) { - _icpGetXw2XcCleanup295($11, $14, $17, $19); - $$0 = -1; - break; - } else if ((label | 0) == 36) { - HEAPF64[$err >> 3] = $$lcssa50; - _free($11); - _free($14); - _free($17); - _free($19); - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arParamObserv2Ideal($dist_factor, $ox, $oy, $ix, $iy, $dist_function_version) { - $dist_factor = $dist_factor | 0; - $ox = +$ox; - $oy = +$oy; - $ix = $ix | 0; - $iy = $iy | 0; - $dist_function_version = $dist_function_version | 0; - var $$0 = 0, $0 = 0.0, $10 = 0.0, $101 = 0.0, $103 = 0.0, $104 = 0, $106 = 0.0, $109 = 0.0, $113 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $134 = 0.0, $14 = 0.0, $146 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $158 = 0.0, $16 = 0.0, $161 = 0.0, $165 = 0.0, $168 = 0.0, $169 = 0.0, $170 = 0.0, $171 = 0.0, $18 = 0.0, $186 = 0.0, $198 = 0, $2 = 0.0, $20 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0, $21 = 0.0, $210 = 0.0, $213 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $22 = 0.0, $227 = 0.0, $23 = 0.0, $239 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $29 = 0.0, $34 = 0.0, $4 = 0.0, $44 = 0.0, $50 = 0.0, $6 = 0.0, $67 = 0.0, $8 = 0.0, $i$03 = 0, $i14$029 = 0, $i21$042 = 0, $i5$015 = 0, $px$07 = 0.0, $px$1 = 0.0, $px12$027 = 0.0, $px12$1 = 0.0, $px19$040 = 0.0, $px19$1 = 0.0, $px3$012 = 0.0, $px3$1 = 0.0, $py$06 = 0.0, $py$1 = 0.0, $py13$028 = 0.0, $py13$1 = 0.0, $py20$041 = 0.0, $py20$1 = 0.0, $py4$013 = 0.0, $py4$1 = 0.0, $x02$05 = 0.0, $y02$04 = 0.0, $z0$014 = 0.0, $z016$039 = 0.0, $z02$016 = 0.0, $z0215$038 = 0.0, $z026$025 = 0.0, $z07$026 = 0.0; - switch ($dist_function_version | 0) { - case 4: - { - $0 = +HEAPF64[$dist_factor >> 3]; - $2 = +HEAPF64[$dist_factor + 8 >> 3]; - $4 = +HEAPF64[$dist_factor + 16 >> 3]; - $6 = +HEAPF64[$dist_factor + 24 >> 3]; - $8 = +HEAPF64[$dist_factor + 32 >> 3]; - $10 = +HEAPF64[$dist_factor + 40 >> 3]; - $12 = +HEAPF64[$dist_factor + 48 >> 3]; - $14 = +HEAPF64[$dist_factor + 56 >> 3]; - $16 = +HEAPF64[$dist_factor + 64 >> 3]; - $18 = ($ox - $12) / $8; - $20 = ($oy - $14) / $10; - $21 = $18 * $18; - $22 = $20 * $20; - $23 = $4 * 2.0; - $24 = $6 * 6.0; - $25 = $6 * 2.0; - $26 = $4 * 6.0; - L3 : do if ($22 != 0.0 | $21 != 0.0) { - $i$03 = 1; - $px$07 = $18; - $py$06 = $20; - $x02$05 = $21; - $y02$04 = $22; - while (1) { - $29 = $y02$04 + $x02$05; - $34 = $0 * $29 + 1.0 + $29 * ($2 * $29); - $44 = $x02$05 * 3.0; - $50 = $y02$04 * $44; - $px$07 = $px$07 - ($6 * ($29 + $x02$05 * 2.0) + ($py$06 * ($23 * $px$07) + $px$07 * $34) - $18) / ($24 * $px$07 + ($23 * $py$06 + ($0 * ($y02$04 + $44) + 1.0 + $2 * ($y02$04 * $y02$04 + ($x02$05 * ($x02$05 * 5.0) + $50))))); - $67 = $25 * $px$07; - $py$06 = $py$06 - ($4 * ($y02$04 * 2.0 + $29) + $py$06 * $34 + $py$06 * $67 - $20) / ($26 * $py$06 + ($0 * ($x02$05 + $y02$04 * 3.0) + 1.0 + $2 * ($y02$04 * ($y02$04 * 5.0) + ($x02$05 * $x02$05 + $50))) + $67); - if (($i$03 | 0) == 4) { - $px$1 = $px$07; - $py$1 = $py$06; - break L3; - } - $x02$05 = $px$07 * $px$07; - $y02$04 = $py$06 * $py$06; - if (!($y02$04 != 0.0 | $x02$05 != 0.0)) { - $px$1 = 0.0; - $py$1 = 0.0; - break; - } else $i$03 = $i$03 + 1 | 0; - } - } else { - $px$1 = 0.0; - $py$1 = 0.0; - } while (0); - HEAPF64[$ix >> 3] = $12 + $8 * $px$1 / $16; - HEAPF64[$iy >> 3] = $14 + $10 * $py$1 / $16; - $$0 = 0; - break; - } - case 3: - { - $101 = +HEAPF64[$dist_factor >> 3]; - $103 = ($ox - $101) / +HEAPF64[$dist_factor + 24 >> 3]; - $104 = $dist_factor + 8 | 0; - $106 = $oy - +HEAPF64[$104 >> 3]; - $109 = +HEAPF64[$dist_factor + 32 >> 3] / 1.0e8; - $113 = +HEAPF64[$dist_factor + 40 >> 3] / 1.0e8 / 1.0e5; - $116 = $103 * $103 + $106 * $106; - $117 = +Math_sqrt(+$116); - $118 = $109 * 3.0; - $119 = $113 * 5.0; - L9 : do if ($117 != 0.0) { - $i5$015 = 1; - $px3$012 = $103; - $py4$013 = $106; - $z0$014 = $117; - $z02$016 = $116; - while (1) { - $134 = $z0$014 - ($z0$014 * (1.0 - $109 * $z02$016 - $z02$016 * ($113 * $z02$016)) - $117) / (1.0 - $118 * $z02$016 - $z02$016 * ($119 * $z02$016)); - $px3$012 = $px3$012 * $134 / $z0$014; - $py4$013 = $py4$013 * $134 / $z0$014; - if (($i5$015 | 0) == 3) { - $px3$1 = $px3$012; - $py4$1 = $py4$013; - break L9; - } - $z02$016 = $px3$012 * $px3$012 + $py4$013 * $py4$013; - $z0$014 = +Math_sqrt(+$z02$016); - if (!($z0$014 != 0.0)) { - $px3$1 = 0.0; - $py4$1 = 0.0; - break; - } else $i5$015 = $i5$015 + 1 | 0; - } - } else { - $px3$1 = 0.0; - $py4$1 = 0.0; - } while (0); - $146 = $dist_factor + 16 | 0; - HEAPF64[$ix >> 3] = $px3$1 / +HEAPF64[$146 >> 3] + $101; - HEAPF64[$iy >> 3] = $py4$1 / +HEAPF64[$146 >> 3] + +HEAPF64[$104 >> 3]; - $$0 = 0; - break; - } - case 2: - { - $154 = +HEAPF64[$dist_factor >> 3]; - $155 = $ox - $154; - $156 = $dist_factor + 8 | 0; - $158 = $oy - +HEAPF64[$156 >> 3]; - $161 = +HEAPF64[$dist_factor + 24 >> 3] / 1.0e8; - $165 = +HEAPF64[$dist_factor + 32 >> 3] / 1.0e8 / 1.0e5; - $168 = $155 * $155 + $158 * $158; - $169 = +Math_sqrt(+$168); - $170 = $161 * 3.0; - $171 = $165 * 5.0; - L15 : do if ($169 != 0.0) { - $i14$029 = 1; - $px12$027 = $155; - $py13$028 = $158; - $z026$025 = $168; - $z07$026 = $169; - while (1) { - $186 = $z07$026 - ($z07$026 * (1.0 - $161 * $z026$025 - $z026$025 * ($165 * $z026$025)) - $169) / (1.0 - $170 * $z026$025 - $z026$025 * ($171 * $z026$025)); - $px12$027 = $px12$027 * $186 / $z07$026; - $py13$028 = $py13$028 * $186 / $z07$026; - if (($i14$029 | 0) == 3) { - $px12$1 = $px12$027; - $py13$1 = $py13$028; - break L15; - } - $z026$025 = $px12$027 * $px12$027 + $py13$028 * $py13$028; - $z07$026 = +Math_sqrt(+$z026$025); - if (!($z07$026 != 0.0)) { - $px12$1 = 0.0; - $py13$1 = 0.0; - break; - } else $i14$029 = $i14$029 + 1 | 0; - } - } else { - $px12$1 = 0.0; - $py13$1 = 0.0; - } while (0); - $198 = $dist_factor + 16 | 0; - HEAPF64[$ix >> 3] = $px12$1 / +HEAPF64[$198 >> 3] + $154; - HEAPF64[$iy >> 3] = $py13$1 / +HEAPF64[$198 >> 3] + +HEAPF64[$156 >> 3]; - $$0 = 0; - break; - } - case 1: - { - $206 = +HEAPF64[$dist_factor >> 3]; - $207 = $ox - $206; - $208 = $dist_factor + 8 | 0; - $210 = $oy - +HEAPF64[$208 >> 3]; - $213 = +HEAPF64[$dist_factor + 24 >> 3] / 1.0e8; - $216 = $207 * $207 + $210 * $210; - $217 = +Math_sqrt(+$216); - $218 = $213 * 3.0; - L21 : do if ($217 != 0.0) { - $i21$042 = 1; - $px19$040 = $207; - $py20$041 = $210; - $z016$039 = $217; - $z0215$038 = $216; - while (1) { - $227 = $z016$039 - ($z016$039 * (1.0 - $213 * $z0215$038) - $217) / (1.0 - $218 * $z0215$038); - $px19$040 = $px19$040 * $227 / $z016$039; - $py20$041 = $py20$041 * $227 / $z016$039; - if (($i21$042 | 0) == 3) { - $px19$1 = $px19$040; - $py20$1 = $py20$041; - break L21; - } - $z0215$038 = $px19$040 * $px19$040 + $py20$041 * $py20$041; - $z016$039 = +Math_sqrt(+$z0215$038); - if (!($z016$039 != 0.0)) { - $px19$1 = 0.0; - $py20$1 = 0.0; - break; - } else $i21$042 = $i21$042 + 1 | 0; - } - } else { - $px19$1 = 0.0; - $py20$1 = 0.0; - } while (0); - $239 = $dist_factor + 16 | 0; - HEAPF64[$ix >> 3] = $px19$1 / +HEAPF64[$239 >> 3] + $206; - HEAPF64[$iy >> 3] = $py20$1 / +HEAPF64[$239 >> 3] + +HEAPF64[$208 >> 3]; - $$0 = 0; - break; - } - default: - $$0 = -1; - } - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0$i$i$i = 0, $$0$i$i$i8 = 0, $$02 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $103 = 0, $105 = 0, $108 = 0, $109 = 0, $13 = 0, $19 = 0, $2 = 0, $21 = 0, $26 = 0, $3 = 0, $33 = 0, $35 = 0, $40 = 0, $45 = 0, $47 = 0, $52 = 0, $56 = 0, $59 = 0, $60 = 0, $62 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $76 = 0, $78 = 0, $81 = 0, $82 = 0, $86 = 0, $87 = 0, $89 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $__v$i$i7 = 0, $c$0$in$lcssa = 0, $c$0$in29 = 0, $isdigittmp = 0, $isdigittmp427 = 0, $isdigittmp431 = 0, $n$0$lcssa = 0, $n$030 = 0, $r = 0, dest = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i7 = sp + 88 | 0; - $r = sp + 76 | 0; - $0 = sp + 64 | 0; - $1 = sp + 40 | 0; - $2 = sp + 16 | 0; - $3 = sp; - L1 : do if (($first | 0) == ($last | 0)) $$02 = $first; else { - $isdigittmp = (HEAP8[$first >> 0] | 0) + -48 | 0; - if ($isdigittmp >>> 0 < 10) { - $7 = $first + 1 | 0; - if (($7 | 0) == ($last | 0)) $$02 = $first; else { - $isdigittmp427 = (HEAP8[$7 >> 0] | 0) + -48 | 0; - if ($isdigittmp427 >>> 0 < 10) { - $c$0$in29 = $7; - $isdigittmp431 = $isdigittmp427; - $n$030 = $isdigittmp; - while (1) { - $10 = $c$0$in29 + 1 | 0; - if (($10 | 0) == ($last | 0)) { - $$02 = $first; - break L1; - } - $13 = $isdigittmp431 + ($n$030 * 10 | 0) | 0; - $isdigittmp431 = (HEAP8[$10 >> 0] | 0) + -48 | 0; - if ($isdigittmp431 >>> 0 >= 10) { - $$lcssa = $c$0$in29; - $c$0$in$lcssa = $10; - $n$0$lcssa = $13; - break; - } else { - $c$0$in29 = $10; - $n$030 = $13; - } - } - } else { - $$lcssa = $first; - $c$0$in$lcssa = $7; - $n$0$lcssa = $isdigittmp; - } - if (($last - $c$0$in$lcssa | 0) >>> 0 < $n$0$lcssa >>> 0) $$02 = $first; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($r, $c$0$in$lcssa, $n$0$lcssa); - $19 = HEAP8[$r >> 0] | 0; - $21 = ($19 & 1) == 0; - $26 = $21 ? ($19 & 255) >>> 1 : HEAP32[$r + 4 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($0, $21 ? $r + 1 | 0 : HEAP32[$r + 8 >> 2] | 0, $26 >>> 0 < 10 ? $26 : 10); - $33 = HEAP8[$0 >> 0] | 0; - $35 = ($33 & 1) == 0; - $40 = $35 ? ($33 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0; - $45 = $40 >>> 0 > 10; - $47 = _memcmp($35 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, 13728, $45 ? 10 : $40) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - if (!((($47 | 0) == 0 ? ($40 >>> 0 < 10 ? -1 : $45 & 1) : $47) | 0)) { - $52 = _malloc(32) | 0; - HEAP32[$1 + 8 >> 2] = $52; - HEAP32[$1 >> 2] = 33; - HEAP32[$1 + 4 >> 2] = 21; - dest = $52; - src = 13739; - stop = dest + 21 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$52 + 21 >> 0] = 0; - $56 = $1 + 12 | 0; - HEAP32[$56 >> 2] = 0; - HEAP32[$56 + 4 >> 2] = 0; - HEAP32[$56 + 8 >> 2] = 0; - $59 = $db + 4 | 0; - $60 = HEAP32[$59 >> 2] | 0; - $62 = HEAP32[$db + 8 >> 2] | 0; - if ($60 >>> 0 < $62 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($60, $1); - HEAP32[$59 >> 2] = (HEAP32[$59 >> 2] | 0) + 24; - } else { - $69 = HEAP32[$db >> 2] | 0; - $70 = $60 - $69 | 0; - $71 = ($70 | 0) / 24 | 0; - $72 = $71 + 1 | 0; - if (($70 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $76 = ($62 - $69 | 0) / 24 | 0; - if ($76 >>> 0 < 1073741823) { - $78 = $76 << 1; - $$0$i$i$i = $78 >>> 0 < $72 >>> 0 ? $72 : $78; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i7, $$0$i$i$i, $71, $db + 12 | 0); - $81 = $__v$i$i7 + 8 | 0; - $82 = HEAP32[$81 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($82, $1); - HEAP32[$81 >> 2] = $82 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i7); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i7); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($1); - } else { - HEAP32[$3 >> 2] = HEAP32[$r >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$r + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$r + 8 >> 2]; - HEAP32[$r >> 2] = 0; - HEAP32[$r + 4 >> 2] = 0; - HEAP32[$r + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($2, $3); - $86 = $db + 4 | 0; - $87 = HEAP32[$86 >> 2] | 0; - $89 = HEAP32[$db + 8 >> 2] | 0; - if ($87 >>> 0 < $89 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($87, $2); - HEAP32[$86 >> 2] = (HEAP32[$86 >> 2] | 0) + 24; - } else { - $96 = HEAP32[$db >> 2] | 0; - $97 = $87 - $96 | 0; - $98 = ($97 | 0) / 24 | 0; - $99 = $98 + 1 | 0; - if (($97 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $103 = ($89 - $96 | 0) / 24 | 0; - if ($103 >>> 0 < 1073741823) { - $105 = $103 << 1; - $$0$i$i$i8 = $105 >>> 0 < $99 >>> 0 ? $99 : $105; - } else $$0$i$i$i8 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i7, $$0$i$i$i8, $98, $db + 12 | 0); - $108 = $__v$i$i7 + 8 | 0; - $109 = HEAP32[$108 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($109, $2); - HEAP32[$108 >> 2] = $109 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i7); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i7); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - } - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($r); - $$02 = $$lcssa + ($n$0$lcssa + 1) | 0; - } - } - } else $$02 = $first; - } while (0); - STACKTOP = sp; - return $$02 | 0; -} - -function _arPattLoadFromBuffer($pattHandle, $buffer) { - $pattHandle = $pattHandle | 0; - $buffer = $buffer | 0; - var $$0 = 0, $$lcssa = 0, $$lcssa36 = 0, $$pre = 0, $$pre17 = 0, $$pre18 = 0, $$pre19 = 0, $10 = 0, $101 = 0.0, $105 = 0, $13 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $27 = 0, $29 = 0, $30 = 0, $31 = 0, $36 = 0, $4 = 0, $43 = 0, $46 = 0, $47 = 0, $53 = 0, $56 = 0, $6 = 0, $63 = 0, $66 = 0, $72 = 0, $73 = 0, $75 = 0, $77 = 0, $83 = 0.0, $91 = 0, $92 = 0, $94 = 0, $96 = 0, $buffPtr$064 = 0, $buffPtr$151 = 0, $buffPtr$2$lcssa = 0, $buffPtr$2$lcssa$lcssa = 0, $buffPtr$245 = 0, $buffPtr$3$lcssa = 0, $buffPtr$339 = 0, $h$063 = 0, $i$0$lcssa = 0, $i$065 = 0, $i$152 = 0, $i$258 = 0, $i1$037 = 0, $i2$042 = 0, $i3$048 = 0, $l$050 = 0, $l$1$lcssa = 0, $l$1$lcssa$lcssa = 0, $l$144 = 0, $l$2$lcssa = 0, $l$238 = 0, $m$0$lcssa = 0, $m$053 = 0, $m$1$lcssa = 0, $m$159 = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer5 = sp + 24 | 0; - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer1 = sp + 8 | 0; - do if (!$pattHandle) { - _arLog(3, 4649, sp); - $$0 = -1; - } else { - if (!$buffer) { - _arLog(3, 4674, $vararg_buffer1); - $$0 = -1; - break; - } - $2 = $pattHandle + 8 | 0; - $4 = HEAP32[$pattHandle + 4 >> 2] | 0; - L7 : do if (($4 | 0) > 0) { - $6 = HEAP32[$2 >> 2] | 0; - $i$065 = 0; - while (1) { - if (!(HEAP32[$6 + ($i$065 << 2) >> 2] | 0)) { - $i$0$lcssa = $i$065; - break L7; - } - $10 = $i$065 + 1 | 0; - if (($10 | 0) < ($4 | 0)) $i$065 = $10; else { - $i$0$lcssa = $10; - break; - } - } - } else $i$0$lcssa = 0; while (0); - if (($i$0$lcssa | 0) == ($4 | 0)) $$0 = -1; else { - $13 = ___strdup($buffer) | 0; - if (!$13) { - _arLog(3, 4719, $vararg_buffer3); - $$0 = -1; - break; - } - $16 = $pattHandle + 28 | 0; - $17 = $i$0$lcssa << 2; - $18 = $pattHandle + 12 | 0; - $19 = $pattHandle + 20 | 0; - $20 = $pattHandle + 16 | 0; - $21 = $pattHandle + 24 | 0; - $buffPtr$064 = _strtok($13, 4742) | 0; - $h$063 = 0; - L17 : while (1) { - $22 = $h$063 + $17 | 0; - $buffPtr$151 = $buffPtr$064; - $i3$048 = 0; - $l$050 = 0; - while (1) { - $23 = ($i3$048 | 0) == 0; - $24 = ($i3$048 | 0) == 2; - $$pre18 = HEAP32[$16 >> 2] | 0; - if (($$pre18 | 0) > 0) { - $27 = $$pre18; - $buffPtr$245 = $buffPtr$151; - $i2$042 = 0; - $l$144 = $l$050; - while (1) { - if (($27 | 0) > 0) { - $buffPtr$339 = $buffPtr$245; - $i1$037 = 0; - $l$238 = $l$144; - while (1) { - if (!$buffPtr$339) { - label = 17; - break L17; - } - $29 = _atoi($buffPtr$339) | 0; - $30 = _strtok(0, 4742) | 0; - $31 = 255 - $29 | 0; - $36 = (((Math_imul(HEAP32[$16 >> 2] | 0, $i2$042) | 0) + $i1$037 | 0) * 3 | 0) + $i3$048 | 0; - HEAP32[(HEAP32[(HEAP32[$18 >> 2] | 0) + ($22 << 2) >> 2] | 0) + ($36 << 2) >> 2] = $31; - $43 = (Math_imul(HEAP32[$16 >> 2] | 0, $i2$042) | 0) + $i1$037 | 0; - $46 = HEAP32[(HEAP32[$19 >> 2] | 0) + ($22 << 2) >> 2] | 0; - $47 = $46 + ($43 << 2) | 0; - if ($23) HEAP32[$47 >> 2] = $31; else { - HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $31; - if ($24) { - $53 = $46 + ((Math_imul(HEAP32[$16 >> 2] | 0, $i2$042) | 0) + $i1$037 << 2) | 0; - HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) / 3 | 0; - } - } - $56 = $31 + $l$238 | 0; - $i1$037 = $i1$037 + 1 | 0; - $$pre19 = HEAP32[$16 >> 2] | 0; - if (($i1$037 | 0) >= ($$pre19 | 0)) { - $$lcssa = $$pre19; - $buffPtr$3$lcssa = $30; - $l$2$lcssa = $56; - break; - } else { - $buffPtr$339 = $30; - $l$238 = $56; - } - } - } else { - $$lcssa = $27; - $buffPtr$3$lcssa = $buffPtr$245; - $l$2$lcssa = $l$144; - } - $i2$042 = $i2$042 + 1 | 0; - if (($i2$042 | 0) >= ($$lcssa | 0)) { - $buffPtr$2$lcssa = $buffPtr$3$lcssa; - $l$1$lcssa = $l$2$lcssa; - break; - } else { - $27 = $$lcssa; - $buffPtr$245 = $buffPtr$3$lcssa; - $l$144 = $l$2$lcssa; - } - } - } else { - $buffPtr$2$lcssa = $buffPtr$151; - $l$1$lcssa = $l$050; - } - $i3$048 = $i3$048 + 1 | 0; - if (($i3$048 | 0) >= 3) { - $buffPtr$2$lcssa$lcssa = $buffPtr$2$lcssa; - $l$1$lcssa$lcssa = $l$1$lcssa; - break; - } else { - $buffPtr$151 = $buffPtr$2$lcssa; - $l$050 = $l$1$lcssa; - } - } - $63 = HEAP32[$16 >> 2] | 0; - $66 = ($l$1$lcssa$lcssa | 0) / (Math_imul($63 * 3 | 0, $63) | 0) | 0; - if ((Math_imul($63 * 3 | 0, $63) | 0) > 0) { - $72 = HEAP32[(HEAP32[$18 >> 2] | 0) + ($22 << 2) >> 2] | 0; - $i$152 = 0; - $m$053 = 0; - while (1) { - $73 = $72 + ($i$152 << 2) | 0; - $75 = (HEAP32[$73 >> 2] | 0) - $66 | 0; - HEAP32[$73 >> 2] = $75; - $77 = (Math_imul($75, $75) | 0) + $m$053 | 0; - $i$152 = $i$152 + 1 | 0; - $$pre = HEAP32[$16 >> 2] | 0; - if (($i$152 | 0) >= (Math_imul($$pre * 3 | 0, $$pre) | 0)) { - $$lcssa36 = $$pre; - $m$0$lcssa = $77; - break; - } else $m$053 = $77; - } - } else { - $$lcssa36 = $63; - $m$0$lcssa = 0; - } - $83 = +Math_sqrt(+(+($m$0$lcssa | 0))); - HEAPF64[(HEAP32[$20 >> 2] | 0) + ($22 << 3) >> 3] = $83 == 0.0 ? 1.0e-07 : $83; - if (!(Math_imul($$lcssa36, $$lcssa36) | 0)) $m$1$lcssa = 0; else { - $91 = HEAP32[(HEAP32[$19 >> 2] | 0) + ($22 << 2) >> 2] | 0; - $i$258 = 0; - $m$159 = 0; - while (1) { - $92 = $91 + ($i$258 << 2) | 0; - $94 = (HEAP32[$92 >> 2] | 0) - $66 | 0; - HEAP32[$92 >> 2] = $94; - $96 = (Math_imul($94, $94) | 0) + $m$159 | 0; - $i$258 = $i$258 + 1 | 0; - $$pre17 = HEAP32[$16 >> 2] | 0; - if (($i$258 | 0) >= (Math_imul($$pre17, $$pre17) | 0)) { - $m$1$lcssa = $96; - break; - } else $m$159 = $96; - } - } - $101 = +Math_sqrt(+(+($m$1$lcssa | 0))); - HEAPF64[(HEAP32[$21 >> 2] | 0) + ($22 << 3) >> 3] = $101 == 0.0 ? 1.0e-07 : $101; - $105 = $h$063 + 1 | 0; - if (($105 | 0) < 4) { - $buffPtr$064 = $buffPtr$2$lcssa$lcssa; - $h$063 = $105; - } else { - label = 32; - break; - } - } - if ((label | 0) == 17) { - _arLog(3, 4747, $vararg_buffer5); - _free($13); - $$0 = -1; - break; - } else if ((label | 0) == 32) { - _free($13); - HEAP32[(HEAP32[$2 >> 2] | 0) + ($i$0$lcssa << 2) >> 2] = 1; - HEAP32[$pattHandle >> 2] = (HEAP32[$pattHandle >> 2] | 0) + 1; - $$0 = $i$0$lcssa; - break; - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _qsort($base, $nel, $width, $cmp) { - $base = $base | 0; - $nel = $nel | 0; - $width = $width | 0; - $cmp = $cmp | 0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre1$i = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0, $111 = 0, $14 = 0, $15 = 0, $17 = 0, $19 = 0, $23 = 0, $26 = 0, $36 = 0, $39 = 0, $41 = 0, $44 = 0, $46 = 0, $48 = 0, $49 = 0, $51 = 0, $53 = 0, $58 = 0, $59 = 0, $63 = 0, $68 = 0, $72 = 0, $79 = 0, $8 = 0, $8$phi = 0, $81 = 0, $82 = 0, $84 = 0, $87 = 0, $9 = 0, $91 = 0, $93 = 0, $94 = 0, $95 = 0, $head$0$lcssa = 0, $head$036 = 0, $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $lp = sp + 8 | 0; - $p = sp; - $0 = Math_imul($width, $nel) | 0; - $1 = $p; - HEAP32[$1 >> 2] = 1; - HEAP32[$1 + 4 >> 2] = 0; - if ($0) { - $$sum = $0 - $width | 0; - HEAP32[$lp + 4 >> 2] = $width; - HEAP32[$lp >> 2] = $width; - $10 = $width; - $8 = $width; - $i$0 = 2; - while (1) { - $9 = $8 + $width + $10 | 0; - HEAP32[$lp + ($i$0 << 2) >> 2] = $9; - if ($9 >>> 0 < $0 >>> 0) { - $8$phi = $10; - $10 = $9; - $i$0 = $i$0 + 1 | 0; - $8 = $8$phi; - } else break; - } - $14 = 0 - $width | 0; - $15 = $base + $$sum | 0; - $$phi$trans$insert$i = $p + 4 | 0; - if (($$sum | 0) > 0) { - $17 = $15; - $19 = 1; - $head$036 = $base; - $pshift$037 = 1; - while (1) { - do if (($19 & 3 | 0) == 3) { - _sift($head$036, $width, $cmp, $pshift$037, $lp); - $$pre1$i = HEAP32[$$phi$trans$insert$i >> 2] | 0; - $23 = $$pre1$i << 30 | (HEAP32[$p >> 2] | 0) >>> 2; - HEAP32[$p >> 2] = $23; - HEAP32[$$phi$trans$insert$i >> 2] = $$pre1$i >>> 2; - $48 = $23; - $pshift$1 = $pshift$037 + 2 | 0; - } else { - $26 = $pshift$037 + -1 | 0; - if ((HEAP32[$lp + ($26 << 2) >> 2] | 0) >>> 0 < ($17 - $head$036 | 0) >>> 0) _sift($head$036, $width, $cmp, $pshift$037, $lp); else _trinkle($head$036, $width, $cmp, $p, $pshift$037, 0, $lp); - if (($pshift$037 | 0) == 1) { - $$pre1$i6 = HEAP32[$p >> 2] | 0; - HEAP32[$$phi$trans$insert$i >> 2] = $$pre1$i6 >>> 31 | HEAP32[$$phi$trans$insert$i >> 2] << 1; - $36 = $$pre1$i6 << 1; - HEAP32[$p >> 2] = $36; - $48 = $36; - $pshift$1 = 0; - break; - } - if ($26 >>> 0 > 31) { - $39 = HEAP32[$p >> 2] | 0; - HEAP32[$$phi$trans$insert$i >> 2] = $39; - HEAP32[$p >> 2] = 0; - $$0$i = $pshift$037 + -33 | 0; - $41 = $39; - $44 = 0; - } else { - $$0$i = $26; - $41 = HEAP32[$$phi$trans$insert$i >> 2] | 0; - $44 = HEAP32[$p >> 2] | 0; - } - HEAP32[$$phi$trans$insert$i >> 2] = $44 >>> (32 - $$0$i | 0) | $41 << $$0$i; - $46 = $44 << $$0$i; - HEAP32[$p >> 2] = $46; - $48 = $46; - $pshift$1 = 1; - } while (0); - $19 = $48 | 1; - HEAP32[$p >> 2] = $19; - $49 = $head$036 + $width | 0; - if ($49 >>> 0 >= $15 >>> 0) { - $head$0$lcssa = $49; - $pshift$0$lcssa = $pshift$1; - break; - } else { - $head$036 = $49; - $pshift$037 = $pshift$1; - } - } - } else { - $head$0$lcssa = $base; - $pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa, $width, $cmp, $p, $pshift$0$lcssa, 0, $lp); - $51 = $p + 4 | 0; - $53 = HEAP32[$p >> 2] | 0; - if (!(($pshift$0$lcssa | 0) == 1 & ($53 | 0) == 1 & (HEAP32[$51 >> 2] | 0) == 0)) { - $59 = $53; - $head$153 = $head$0$lcssa; - $pshift$254 = $pshift$0$lcssa; - while (1) { - if (($pshift$254 | 0) < 2) { - $58 = $59 + -1 | 0; - do if (!$58) { - $81 = 32; - label = 30; - } else { - if (!($58 & 1)) { - $$02$i$i = $58; - $nTrailingZeros$03$i$i = 0; - while (1) { - $63 = $nTrailingZeros$03$i$i + 1 | 0; - $$02$i$i = $$02$i$i >>> 1; - if ($$02$i$i & 1) { - $$lcssa = $63; - break; - } else $nTrailingZeros$03$i$i = $63; - } - if (!$$lcssa) label = 24; else $79 = $$lcssa; - } else label = 24; - if ((label | 0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i >> 2] | 0; - if (!$68) { - $81 = 64; - label = 30; - break; - } - if (!($68 & 1)) { - $$02$i3$i = $68; - $nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0; - $84 = $59; - $87 = $68; - $91 = 0; - break; - } - while (1) { - $72 = $nTrailingZeros$03$i2$i + 1 | 0; - $$02$i3$i = $$02$i3$i >>> 1; - if ($$02$i3$i & 1) { - $$lcssa57 = $72; - $nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } else $nTrailingZeros$03$i2$i = $72; - } - if (!$$lcssa57) { - $$0$i30 = 0; - $84 = $59; - $87 = $68; - $91 = 0; - break; - } else $79 = $nTrailingZeros$03$i2$i$lcssa + 33 | 0; - } - if ($79 >>> 0 > 31) { - $81 = $79; - label = 30; - } else { - $$0$i30 = $79; - $84 = $59; - $87 = HEAP32[$$phi$trans$insert$i >> 2] | 0; - $91 = $79; - } - } while (0); - if ((label | 0) == 30) { - label = 0; - $82 = HEAP32[$$phi$trans$insert$i >> 2] | 0; - HEAP32[$p >> 2] = $82; - HEAP32[$$phi$trans$insert$i >> 2] = 0; - $$0$i30 = $81 + -32 | 0; - $84 = $82; - $87 = 0; - $91 = $81; - } - HEAP32[$p >> 2] = $87 << 32 - $$0$i30 | $84 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i >> 2] = $87 >>> $$0$i30; - $head$1$be = $head$153 + $14 | 0; - $pshift$2$be = $91 + $pshift$254 | 0; - } else { - $93 = $59 >>> 30; - $94 = $93 | HEAP32[$$phi$trans$insert$i >> 2] << 2; - $95 = $pshift$254 + -2 | 0; - HEAP32[$p >> 2] = ($59 << 1 & 2147483646 | $93 << 31) ^ 3; - HEAP32[$$phi$trans$insert$i >> 2] = $94 >>> 1; - _trinkle($head$153 + (0 - ((HEAP32[$lp + ($95 << 2) >> 2] | 0) + $width)) | 0, $width, $cmp, $p, $pshift$254 + -1 | 0, 1, $lp); - $$pre1$i9 = HEAP32[$p >> 2] | 0; - HEAP32[$$phi$trans$insert$i >> 2] = $$pre1$i9 >>> 31 | HEAP32[$$phi$trans$insert$i >> 2] << 1; - HEAP32[$p >> 2] = $$pre1$i9 << 1 | 1; - $111 = $head$153 + $14 | 0; - _trinkle($111, $width, $cmp, $p, $95, 1, $lp); - $head$1$be = $111; - $pshift$2$be = $95; - } - $59 = HEAP32[$p >> 2] | 0; - if (($pshift$2$be | 0) == 1 & ($59 | 0) == 1 & (HEAP32[$51 >> 2] | 0) == 0) break; else { - $head$153 = $head$1$be; - $pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp; - return; -} - -function _arImageProcLuma($ipi, $dataPtr) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - var $$0 = 0, $1 = 0, $104 = 0, $105 = 0, $110 = 0, $111 = 0, $116 = 0, $117 = 0, $122 = 0, $123 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $157 = 0, $164 = 0, $185 = 0, $192 = 0, $213 = 0, $44 = 0, $45 = 0, $75 = 0, $76 = 0, $p$040 = 0, $p$142 = 0, $p$245 = 0, $p$348 = 0, $p$451 = 0, $p$554 = 0, $p$657 = 0, $p$760 = 0, $q$041 = 0, $q$143 = 0, $q$246 = 0, $q$349 = 0, $q$452 = 0, $q$555 = 0, $q$658 = 0, $q$761 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $1 = HEAP32[$ipi + 2068 >> 2] | 0; - L1 : do switch ($1 | 0) { - case 5: - case 12: - case 13: - case 14: - { - if (!(HEAP32[$ipi + 2072 >> 2] | 0)) { - HEAP32[$ipi >> 2] = $dataPtr; - $$0 = 0; - break L1; - } else { - _memcpy(HEAP32[$ipi >> 2] | 0, $dataPtr | 0, Math_imul(HEAP32[$ipi + 12 >> 2] | 0, HEAP32[$ipi + 8 >> 2] | 0) | 0) | 0; - $$0 = 0; - break L1; - } - break; - } - default: - { - if (($1 & -2 | 0) == 2) { - $13 = $ipi + 8 | 0; - $14 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$14 >> 2] | 0, HEAP32[$13 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$040 = 0; - $q$041 = 0; - } - while (1) { - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$040 >> 0] = (((HEAPU8[$dataPtr + ($q$041 | 1) >> 0] | 0) + (HEAPU8[$dataPtr + $q$041 >> 0] | 0) + (HEAPU8[$dataPtr + ($q$041 | 2) >> 0] | 0) | 0) >>> 0) / 3 | 0; - $p$040 = $p$040 + 1 | 0; - if ($p$040 >>> 0 >= (Math_imul(HEAP32[$14 >> 2] | 0, HEAP32[$13 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break L1; - } else $q$041 = $q$041 + 4 | 0; - } - } - if (($1 & -3 | 0) == 4) { - $44 = $ipi + 8 | 0; - $45 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$45 >> 2] | 0, HEAP32[$44 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$142 = 0; - $q$143 = 0; - } - while (1) { - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$142 >> 0] = (((HEAPU8[$dataPtr + ($q$143 | 2) >> 0] | 0) + (HEAPU8[$dataPtr + ($q$143 | 1) >> 0] | 0) + (HEAPU8[$dataPtr + ($q$143 | 3) >> 0] | 0) | 0) >>> 0) / 3 | 0; - $p$142 = $p$142 + 1 | 0; - if ($p$142 >>> 0 >= (Math_imul(HEAP32[$45 >> 2] | 0, HEAP32[$44 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break L1; - } else $q$143 = $q$143 + 4 | 0; - } - } - if ($1 >>> 0 < 2) { - $75 = $ipi + 8 | 0; - $76 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$76 >> 2] | 0, HEAP32[$75 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$245 = 0; - $q$246 = 0; - } - while (1) { - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$245 >> 0] = (((HEAPU8[$dataPtr + ($q$246 + 1) >> 0] | 0) + (HEAPU8[$dataPtr + $q$246 >> 0] | 0) + (HEAPU8[$dataPtr + ($q$246 + 2) >> 0] | 0) | 0) >>> 0) / 3 | 0; - $p$245 = $p$245 + 1 | 0; - if ($p$245 >>> 0 >= (Math_imul(HEAP32[$76 >> 2] | 0, HEAP32[$75 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break L1; - } else $q$246 = $q$246 + 3 | 0; - } - } - switch ($1 | 0) { - case 8: - { - $128 = $ipi + 8 | 0; - $129 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$129 >> 2] | 0, HEAP32[$128 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$348 = 0; - $q$349 = 0; - } - while (1) { - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$348 >> 0] = HEAP8[$dataPtr + $q$349 >> 0] | 0; - $p$348 = $p$348 + 1 | 0; - if ($p$348 >>> 0 >= (Math_imul(HEAP32[$129 >> 2] | 0, HEAP32[$128 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break; - } else $q$349 = $q$349 + 2 | 0; - } - break; - } - case 7: - { - $122 = $ipi + 8 | 0; - $123 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$123 >> 2] | 0, HEAP32[$122 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$451 = 0; - $q$452 = 0; - } - while (1) { - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$451 >> 0] = HEAP8[$dataPtr + ($q$452 | 1) >> 0] | 0; - $p$451 = $p$451 + 1 | 0; - if ($p$451 >>> 0 >= (Math_imul(HEAP32[$123 >> 2] | 0, HEAP32[$122 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break; - } else $q$452 = $q$452 + 2 | 0; - } - break; - } - case 9: - { - $116 = $ipi + 8 | 0; - $117 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$117 >> 2] | 0, HEAP32[$116 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$554 = 0; - $q$555 = 0; - } - while (1) { - $157 = HEAPU8[$dataPtr + $q$555 >> 0] | 0; - $164 = HEAPU8[$dataPtr + ($q$555 | 1) >> 0] | 0; - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$554 >> 0] = ((($157 & 248) + 10 + ($157 << 5 & 224) + ($164 >>> 3 & 28) + ($164 << 3 & 248) | 0) >>> 0) / 3 | 0; - $p$554 = $p$554 + 1 | 0; - if ($p$554 >>> 0 >= (Math_imul(HEAP32[$117 >> 2] | 0, HEAP32[$116 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break; - } else $q$555 = $q$555 + 2 | 0; - } - break; - } - case 10: - { - $110 = $ipi + 8 | 0; - $111 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$111 >> 2] | 0, HEAP32[$110 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$657 = 0; - $q$658 = 0; - } - while (1) { - $185 = HEAPU8[$dataPtr + $q$658 >> 0] | 0; - $192 = HEAPU8[$dataPtr + ($q$658 | 1) >> 0] | 0; - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$657 >> 0] = ((($185 & 248) + 12 + ($185 << 5 & 224) + ($192 >>> 3 & 24) + ($192 << 2 & 248) | 0) >>> 0) / 3 | 0; - $p$657 = $p$657 + 1 | 0; - if ($p$657 >>> 0 >= (Math_imul(HEAP32[$111 >> 2] | 0, HEAP32[$110 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break; - } else $q$658 = $q$658 + 2 | 0; - } - break; - } - case 11: - { - $104 = $ipi + 8 | 0; - $105 = $ipi + 12 | 0; - if (!(Math_imul(HEAP32[$105 >> 2] | 0, HEAP32[$104 >> 2] | 0) | 0)) { - $$0 = 0; - break L1; - } else { - $p$760 = 0; - $q$761 = 0; - } - while (1) { - $213 = HEAPU8[$dataPtr + $q$761 >> 0] | 0; - HEAP8[(HEAP32[$ipi >> 2] | 0) + $p$760 >> 0] = ((($213 & 240) + 24 + ($213 << 4 & 240) + ((HEAPU8[$dataPtr + ($q$761 | 1) >> 0] | 0) & 240) | 0) >>> 0) / 3 | 0; - $p$760 = $p$760 + 1 | 0; - if ($p$760 >>> 0 >= (Math_imul(HEAP32[$105 >> 2] | 0, HEAP32[$104 >> 2] | 0) | 0) >>> 0) { - $$0 = 0; - break; - } else $q$761 = $q$761 + 2 | 0; - } - break; - } - default: - { - _arLog(3, 4361, $vararg_buffer); - $$0 = -1; - break L1; - } - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_123parse_binary_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($first, $last, $op, $db) { - $first = $first | 0; - $last = $last | 0; - $op = $op | 0; - $db = $db | 0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $101 = 0, $103 = 0, $107 = 0, $11 = 0, $110 = 0, $112 = 0, $117 = 0, $118 = 0, $119 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $25 = 0, $26 = 0, $3 = 0, $34 = 0, $36 = 0, $37 = 0, $4 = 0, $41 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $53 = 0, $56 = 0, $58 = 0, $6 = 0, $65 = 0, $68 = 0, $71 = 0, $73 = 0, $8 = 0, $83 = 0, $86 = 0, $89 = 0, $91 = 0, $op1 = 0, $op2 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $op2 = sp + 84 | 0; - $op1 = sp + 72 | 0; - $0 = sp + 60 | 0; - $1 = sp + 48 | 0; - $2 = sp + 36 | 0; - $3 = sp + 24 | 0; - $4 = sp + 12 | 0; - $5 = sp; - $6 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - L1 : do if (($6 | 0) == ($first | 0)) $$0 = $first; else { - $8 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($6, $last, $db) | 0; - $10 = $db + 4 | 0; - $11 = HEAP32[$10 >> 2] | 0; - if (($8 | 0) == ($6 | 0)) { - $117 = $11 + -24 | 0; - $119 = $11; - while (1) { - $118 = $119 + -24 | 0; - HEAP32[$10 >> 2] = $118; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($118); - $119 = HEAP32[$10 >> 2] | 0; - if (($119 | 0) == ($117 | 0)) { - $$0 = $first; - break L1; - } - } - } - if ((($11 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$0 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op2, $11 + -24 | 0); - $19 = HEAP32[$10 >> 2] | 0; - $20 = $19 + -24 | 0; - $22 = $19; - do { - $21 = $22 + -24 | 0; - HEAP32[$10 >> 2] = $21; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($21); - $22 = HEAP32[$10 >> 2] | 0; - } while (($22 | 0) != ($20 | 0)); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($op1, $19 + -48 | 0); - $25 = HEAP32[$10 >> 2] | 0; - $26 = $25 + -24 | 0; - if (!(HEAP8[$26 >> 0] & 1)) { - HEAP8[$26 + 1 >> 0] = 0; - HEAP8[$26 >> 0] = 0; - } else { - HEAP8[HEAP32[$25 + -16 >> 2] >> 0] = 0; - HEAP32[$25 + -20 >> 2] = 0; - } - $34 = HEAP8[$op >> 0] | 0; - $36 = ($34 & 1) == 0; - $37 = $op + 4 | 0; - $41 = $36 ? ($34 & 255) >>> 1 : HEAP32[$37 >> 2] | 0; - $42 = $op + 8 | 0; - $44 = $op + 1 | 0; - $46 = $41 >>> 0 > 1; - $48 = _memcmp($36 ? $44 : HEAP32[$42 >> 2] | 0, 12778, $46 ? 1 : $41) | 0; - if (!((($48 | 0) == 0 ? (($41 | 0) == 0 ? -1 : $46 & 1) : $48) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($26, 40); - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($5, 12714, $op1); - $53 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($5, 14007) | 0; - HEAP32[$4 >> 2] = HEAP32[$53 >> 2]; - HEAP32[$4 + 4 >> 2] = HEAP32[$53 + 4 >> 2]; - HEAP32[$4 + 8 >> 2] = HEAP32[$53 + 8 >> 2]; - HEAP32[$53 >> 2] = 0; - HEAP32[$53 + 4 >> 2] = 0; - HEAP32[$53 + 8 >> 2] = 0; - $56 = HEAP8[$op >> 0] | 0; - $58 = ($56 & 1) == 0; - $65 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($4, $58 ? $44 : HEAP32[$42 >> 2] | 0, $58 ? ($56 & 255) >>> 1 : HEAP32[$37 >> 2] | 0) | 0; - HEAP32[$3 >> 2] = HEAP32[$65 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$65 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$65 + 8 >> 2]; - HEAP32[$65 >> 2] = 0; - HEAP32[$65 + 4 >> 2] = 0; - HEAP32[$65 + 8 >> 2] = 0; - $68 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($3, 12616) | 0; - HEAP32[$2 >> 2] = HEAP32[$68 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$68 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$68 + 8 >> 2]; - HEAP32[$68 >> 2] = 0; - HEAP32[$68 + 4 >> 2] = 0; - HEAP32[$68 + 8 >> 2] = 0; - $71 = HEAP8[$op2 >> 0] | 0; - $73 = ($71 & 1) == 0; - $83 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($2, $73 ? $op2 + 1 | 0 : HEAP32[$op2 + 8 >> 2] | 0, $73 ? ($71 & 255) >>> 1 : HEAP32[$op2 + 4 >> 2] | 0) | 0; - HEAP32[$1 >> 2] = HEAP32[$83 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$83 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$83 + 8 >> 2]; - HEAP32[$83 >> 2] = 0; - HEAP32[$83 + 4 >> 2] = 0; - HEAP32[$83 + 8 >> 2] = 0; - $86 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$86 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$86 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$86 + 8 >> 2]; - HEAP32[$86 >> 2] = 0; - HEAP32[$86 + 4 >> 2] = 0; - HEAP32[$86 + 8 >> 2] = 0; - $89 = HEAP8[$0 >> 0] | 0; - $91 = ($89 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($26, $91 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $91 ? ($89 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($4); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($5); - $101 = HEAP8[$op >> 0] | 0; - $103 = ($101 & 1) == 0; - $107 = $103 ? ($101 & 255) >>> 1 : HEAP32[$37 >> 2] | 0; - $110 = $107 >>> 0 > 1; - $112 = _memcmp($103 ? $44 : HEAP32[$42 >> 2] | 0, 12778, $110 ? 1 : $107) | 0; - if (!((($112 | 0) == 0 ? (($107 | 0) == 0 ? -1 : $110 & 1) : $112) | 0)) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($26, 41); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($op2); - $$0 = $8; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($this, $info, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $14 = 0, $20 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $49 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $64 = 0, $67 = 0, $70 = 0, $77 = 0, $78 = 0, $79 = 0, $does_dst_type_point_to_our_static_type$0$off0$lcssa = 0, $does_dst_type_point_to_our_static_type$0$off023 = 0, $does_dst_type_point_to_our_static_type$1$off0 = 0, $is_dst_type_derived_from_static_type$0$off025 = 0, $is_dst_type_derived_from_static_type$1$off0 = 0, $is_dst_type_derived_from_static_type$2$off0 = 0, $p$024 = 0, $p2$0 = 0, $p2$1 = 0, $p2$2 = 0, label = 0; - L1 : do if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) { - if ((HEAP32[$info + 4 >> 2] | 0) == ($current_ptr | 0)) { - $6 = $info + 28 | 0; - if ((HEAP32[$6 >> 2] | 0) != 1) HEAP32[$6 >> 2] = $path_below; - } - } else { - if (($this | 0) != (HEAP32[$info >> 2] | 0)) { - $59 = HEAP32[$this + 12 >> 2] | 0; - $60 = $this + 16 + ($59 << 3) | 0; - __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($this + 16 | 0, $info, $current_ptr, $path_below, $use_strcmp); - $61 = $this + 24 | 0; - if (($59 | 0) <= 1) break; - $64 = HEAP32[$this + 8 >> 2] | 0; - if (!($64 & 2)) { - $67 = $info + 36 | 0; - if ((HEAP32[$67 >> 2] | 0) != 1) { - if (!($64 & 1)) { - $79 = $info + 54 | 0; - $p2$2 = $61; - while (1) { - if (HEAP8[$79 >> 0] | 0) break L1; - if ((HEAP32[$67 >> 2] | 0) == 1) break L1; - __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($p2$2, $info, $current_ptr, $path_below, $use_strcmp); - $p2$2 = $p2$2 + 8 | 0; - if ($p2$2 >>> 0 >= $60 >>> 0) break L1; - } - } - $77 = $info + 24 | 0; - $78 = $info + 54 | 0; - $p2$1 = $61; - while (1) { - if (HEAP8[$78 >> 0] | 0) break L1; - if ((HEAP32[$67 >> 2] | 0) == 1) if ((HEAP32[$77 >> 2] | 0) == 1) break L1; - __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($p2$1, $info, $current_ptr, $path_below, $use_strcmp); - $p2$1 = $p2$1 + 8 | 0; - if ($p2$1 >>> 0 >= $60 >>> 0) break L1; - } - } - } - $70 = $info + 54 | 0; - $p2$0 = $61; - while (1) { - if (HEAP8[$70 >> 0] | 0) break L1; - __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($p2$0, $info, $current_ptr, $path_below, $use_strcmp); - $p2$0 = $p2$0 + 8 | 0; - if ($p2$0 >>> 0 >= $60 >>> 0) break L1; - } - } - if ((HEAP32[$info + 16 >> 2] | 0) != ($current_ptr | 0)) { - $14 = $info + 20 | 0; - if ((HEAP32[$14 >> 2] | 0) != ($current_ptr | 0)) { - HEAP32[$info + 32 >> 2] = $path_below; - $20 = $info + 44 | 0; - if ((HEAP32[$20 >> 2] | 0) == 4) break; - $24 = HEAP32[$this + 12 >> 2] | 0; - $25 = $this + 16 + ($24 << 3) | 0; - $26 = $info + 52 | 0; - $27 = $info + 53 | 0; - $28 = $info + 54 | 0; - $29 = $this + 8 | 0; - $30 = $info + 24 | 0; - L34 : do if (($24 | 0) > 0) { - $does_dst_type_point_to_our_static_type$0$off023 = 0; - $is_dst_type_derived_from_static_type$0$off025 = 0; - $p$024 = $this + 16 | 0; - while (1) { - HEAP8[$26 >> 0] = 0; - HEAP8[$27 >> 0] = 0; - __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($p$024, $info, $current_ptr, $current_ptr, 1, $use_strcmp); - if (HEAP8[$28 >> 0] | 0) { - $does_dst_type_point_to_our_static_type$0$off0$lcssa = $does_dst_type_point_to_our_static_type$0$off023; - $is_dst_type_derived_from_static_type$2$off0 = $is_dst_type_derived_from_static_type$0$off025; - label = 20; - break L34; - } - do if (!(HEAP8[$27 >> 0] | 0)) { - $does_dst_type_point_to_our_static_type$1$off0 = $does_dst_type_point_to_our_static_type$0$off023; - $is_dst_type_derived_from_static_type$1$off0 = $is_dst_type_derived_from_static_type$0$off025; - } else { - if (!(HEAP8[$26 >> 0] | 0)) if (!(HEAP32[$29 >> 2] & 1)) { - $does_dst_type_point_to_our_static_type$0$off0$lcssa = $does_dst_type_point_to_our_static_type$0$off023; - $is_dst_type_derived_from_static_type$2$off0 = 1; - label = 20; - break L34; - } else { - $does_dst_type_point_to_our_static_type$1$off0 = $does_dst_type_point_to_our_static_type$0$off023; - $is_dst_type_derived_from_static_type$1$off0 = 1; - break; - } - if ((HEAP32[$30 >> 2] | 0) == 1) break L34; - if (!(HEAP32[$29 >> 2] & 2)) break L34; else { - $does_dst_type_point_to_our_static_type$1$off0 = 1; - $is_dst_type_derived_from_static_type$1$off0 = 1; - } - } while (0); - $p$024 = $p$024 + 8 | 0; - if ($p$024 >>> 0 >= $25 >>> 0) { - $does_dst_type_point_to_our_static_type$0$off0$lcssa = $does_dst_type_point_to_our_static_type$1$off0; - $is_dst_type_derived_from_static_type$2$off0 = $is_dst_type_derived_from_static_type$1$off0; - label = 20; - break; - } else { - $does_dst_type_point_to_our_static_type$0$off023 = $does_dst_type_point_to_our_static_type$1$off0; - $is_dst_type_derived_from_static_type$0$off025 = $is_dst_type_derived_from_static_type$1$off0; - } - } - } else { - $does_dst_type_point_to_our_static_type$0$off0$lcssa = 0; - $is_dst_type_derived_from_static_type$2$off0 = 0; - label = 20; - } while (0); - do if ((label | 0) == 20) { - if ($does_dst_type_point_to_our_static_type$0$off0$lcssa) label = 24; else { - HEAP32[$14 >> 2] = $current_ptr; - $49 = $info + 40 | 0; - HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; - if ((HEAP32[$info + 36 >> 2] | 0) == 1) if ((HEAP32[$30 >> 2] | 0) == 2) { - HEAP8[$28 >> 0] = 1; - if ($is_dst_type_derived_from_static_type$2$off0) break; - } else label = 24; else label = 24; - } - if ((label | 0) == 24) if ($is_dst_type_derived_from_static_type$2$off0) break; - HEAP32[$20 >> 2] = 4; - break L1; - } while (0); - HEAP32[$20 >> 2] = 3; - break; - } - } - if (($path_below | 0) == 1) HEAP32[$info + 32 >> 2] = 1; - } while (0); - return; -} - -function _arVecTridiagonalize($a, $d, $e) { - $a = $a | 0; - $d = $d | 0; - $e = $e | 0; - var $$0 = 0, $$pre$phiZ2D = 0, $1 = 0, $106 = 0, $107 = 0, $110 = 0, $112 = 0, $113 = 0, $114 = 0, $117 = 0, $118 = 0, $12 = 0, $120 = 0, $121 = 0, $125 = 0.0, $126 = 0, $13 = 0, $131 = 0, $14 = 0, $16 = 0, $17 = 0, $23 = 0, $25 = 0, $26 = 0.0, $32 = 0, $34 = 0, $35 = 0, $37 = 0, $40 = 0, $45 = 0.0, $54 = 0.0, $63 = 0.0, $65 = 0, $68 = 0.0, $70 = 0, $72 = 0.0, $73 = 0, $75 = 0, $84 = 0, $90 = 0, $92 = 0, $95 = 0, $97 = 0, $i$039 = 0, $i$143 = 0, $i$144 = 0, $i$223 = 0, $i$325 = 0, $j$032 = 0, $j$135 = 0, $j$240 = 0, $j$320 = 0, $k$047 = 0, $k$129$in = 0, $s$0$lcssa = 0.0, $s$031 = 0.0, $s$1$lcssa = 0.0, $s$134 = 0.0, $wv1 = 0, $wv2 = 0, label = 0, sp = 0, $k$047$looptemp = 0, $k$129$in$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $wv1 = sp + 8 | 0; - $wv2 = sp; - $1 = HEAP32[$a + 8 >> 2] | 0; - if (($1 | 0) == (HEAP32[$a + 4 >> 2] | 0)) if (($1 | 0) == (HEAP32[$d + 4 >> 2] | 0)) if (($1 | 0) == ((HEAP32[$e + 4 >> 2] | 0) + 1 | 0)) { - $12 = $1 + -2 | 0; - $13 = $wv1 + 4 | 0; - $14 = $wv2 + 4 | 0; - if (($1 | 0) > 2) { - $i$143 = $1 + -1 | 0; - $k$047 = 0; - do { - $16 = Math_imul($k$047, $1) | 0; - $17 = HEAP32[$a >> 2] | 0; - HEAPF64[(HEAP32[$d >> 2] | 0) + ($k$047 << 3) >> 3] = +HEAPF64[$17 + ($16 + $k$047 << 3) >> 3]; - $23 = $1 - $k$047 + -1 | 0; - HEAP32[$13 >> 2] = $23; - $k$047$looptemp = $k$047; - $k$047 = $k$047 + 1 | 0; - $25 = $17 + ($16 + $k$047 << 3) | 0; - HEAP32[$wv1 >> 2] = $25; - $26 = +_arVecHousehold($wv1); - HEAPF64[(HEAP32[$e >> 2] | 0) + ($k$047$looptemp << 3) >> 3] = $26; - if (!($26 == 0.0)) { - if (($k$047 | 0) < ($1 | 0)) { - $32 = HEAP32[$d >> 2] | 0; - $i$039 = $k$047; - do { - if (($k$047 | 0) < ($i$039 | 0)) { - $34 = HEAP32[$a >> 2] | 0; - $j$032 = $k$047; - $s$031 = 0.0; - while (1) { - $40 = $34 + ((Math_imul($j$032, $1) | 0) + $i$039 << 3) | 0; - $45 = $s$031 + +HEAPF64[$40 >> 3] * +HEAPF64[$17 + ($j$032 + $16 << 3) >> 3]; - $j$032 = $j$032 + 1 | 0; - if (($j$032 | 0) >= ($i$039 | 0)) { - $s$0$lcssa = $45; - break; - } else $s$031 = $45; - } - } else $s$0$lcssa = 0.0; - $35 = Math_imul($i$039, $1) | 0; - if (($i$039 | 0) < ($1 | 0)) { - $37 = HEAP32[$a >> 2] | 0; - $j$135 = $i$039; - $s$134 = $s$0$lcssa; - while (1) { - $54 = $s$134 + +HEAPF64[$37 + ($j$135 + $35 << 3) >> 3] * +HEAPF64[$17 + ($j$135 + $16 << 3) >> 3]; - $j$135 = $j$135 + 1 | 0; - if (($j$135 | 0) >= ($1 | 0)) { - $s$1$lcssa = $54; - break; - } else $s$134 = $54; - } - } else $s$1$lcssa = $s$0$lcssa; - HEAPF64[$32 + ($i$039 << 3) >> 3] = $s$1$lcssa; - $i$039 = $i$039 + 1 | 0; - } while (($i$039 | 0) < ($1 | 0)); - } - HEAP32[$14 >> 2] = $23; - HEAP32[$13 >> 2] = $23; - HEAP32[$wv1 >> 2] = $25; - HEAP32[$wv2 >> 2] = (HEAP32[$d >> 2] | 0) + ($k$047 << 3); - $63 = +_arVecInnerproduct($wv1, $wv2) * .5; - if (($i$143 | 0) > ($k$047$looptemp | 0)) { - $65 = HEAP32[$d >> 2] | 0; - $i$144 = $i$143; - do { - $68 = +HEAPF64[$17 + ($i$144 + $16 << 3) >> 3]; - $70 = $65 + ($i$144 << 3) | 0; - $72 = +HEAPF64[$70 >> 3] - $63 * $68; - HEAPF64[$70 >> 3] = $72; - $73 = Math_imul($i$144, $1) | 0; - if (($i$144 | 0) < ($1 | 0)) { - $75 = HEAP32[$a >> 2] | 0; - $j$240 = $i$144; - do { - $84 = $75 + ($j$240 + $73 << 3) | 0; - HEAPF64[$84 >> 3] = +HEAPF64[$84 >> 3] - ($68 * +HEAPF64[$65 + ($j$240 << 3) >> 3] + $72 * +HEAPF64[$17 + ($j$240 + $16 << 3) >> 3]); - $j$240 = $j$240 + 1 | 0; - } while (($j$240 | 0) < ($1 | 0)); - } - $i$144 = $i$144 + -1 | 0; - } while (($i$144 | 0) > ($k$047$looptemp | 0)); - } - } - } while (($k$047 | 0) < ($12 | 0)); - } - if (($1 | 0) > 1) { - $90 = Math_imul($12, $1) | 0; - $92 = HEAP32[$a >> 2] | 0; - $95 = HEAP32[$d >> 2] | 0; - HEAPF64[$95 + ($12 << 3) >> 3] = +HEAPF64[$92 + ($90 + $12 << 3) >> 3]; - $97 = $1 + -1 | 0; - HEAPF64[(HEAP32[$e >> 2] | 0) + ($12 << 3) >> 3] = +HEAPF64[$92 + ($97 + $90 << 3) >> 3]; - $$pre$phiZ2D = $97; - $107 = $92; - $110 = $95; - label = 27; - } else if (($1 | 0) > 0) { - $$pre$phiZ2D = 0; - $107 = HEAP32[$a >> 2] | 0; - $110 = HEAP32[$d >> 2] | 0; - label = 27; - } - if ((label | 0) == 27) { - $106 = $107 + ((Math_imul($$pre$phiZ2D, $1) | 0) + $$pre$phiZ2D << 3) | 0; - HEAPF64[$110 + ($$pre$phiZ2D << 3) >> 3] = +HEAPF64[$106 >> 3]; - } - if (($1 | 0) > 0) { - $112 = ($1 | 0) > 0; - $k$129$in = $1; - do { - $k$129$in$looptemp = $k$129$in; - $k$129$in = $k$129$in + -1 | 0; - $113 = Math_imul($k$129$in, $1) | 0; - $114 = HEAP32[$a >> 2] | 0; - if (($k$129$in$looptemp | 0) <= ($12 | 0)) { - $117 = $1 - $k$129$in + -1 | 0; - $118 = $114 + ($113 + $k$129$in$looptemp << 3) | 0; - if (($k$129$in$looptemp | 0) < ($1 | 0)) { - $120 = ($k$129$in$looptemp | 0) < ($1 | 0); - $i$223 = $k$129$in$looptemp; - do { - HEAP32[$14 >> 2] = $117; - HEAP32[$13 >> 2] = $117; - HEAP32[$wv1 >> 2] = $118; - $121 = Math_imul($i$223, $1) | 0; - HEAP32[$wv2 >> 2] = (HEAP32[$a >> 2] | 0) + ($121 + $k$129$in$looptemp << 3); - $125 = +_arVecInnerproduct($wv1, $wv2); - if ($120) { - $126 = HEAP32[$a >> 2] | 0; - $j$320 = $k$129$in$looptemp; - do { - $131 = $126 + ($j$320 + $121 << 3) | 0; - HEAPF64[$131 >> 3] = +HEAPF64[$131 >> 3] - $125 * +HEAPF64[$114 + ($j$320 + $113 << 3) >> 3]; - $j$320 = $j$320 + 1 | 0; - } while (($j$320 | 0) < ($1 | 0)); - } - $i$223 = $i$223 + 1 | 0; - } while (($i$223 | 0) < ($1 | 0)); - } - } - if ($112) { - $i$325 = 0; - do { - HEAPF64[$114 + ($i$325 + $113 << 3) >> 3] = 0.0; - $i$325 = $i$325 + 1 | 0; - } while (($i$325 | 0) < ($1 | 0)); - } - HEAPF64[$114 + ($113 + $k$129$in << 3) >> 3] = 1.0; - } while (($k$129$in$looptemp | 0) > 1); - $$0 = 0; - } else $$0 = 0; - } else $$0 = -1; else $$0 = -1; else $$0 = -1; - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri($first, $last, $db, $status) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - $status = $status | 0; - var $$0$i$i$i11 = 0, $$0$i2 = 0, $$03$i = 0, $$lcssa = 0, $0 = 0, $1 = 0, $12 = 0, $13 = 0, $2 = 0, $20 = 0, $22 = 0, $24 = 0, $31 = 0, $32 = 0, $41 = 0, $44 = 0, $47 = 0, $49 = 0, $6 = 0, $66 = 0, $67 = 0, $78 = 0, $83 = 0, $95 = 0, $__p$0$i$i$i10 = 0, $__p$0$ph$i$i$i = 0, $i$0$i16 = 0, $t$0 = 0, $t$0$i15 = 0, $t$0$i15$lcssa20 = 0, $t$1$i$ph = 0, $t$1$i12 = 0, $t$2$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 24 | 0; - $1 = sp + 12 | 0; - $2 = sp; - L1 : do if ($first >>> 0 < $last >>> 0) { - L3 : do if ((HEAP8[$first >> 0] | 0) == 95) { - $6 = $last; - if (($6 - $first | 0) <= 3) { - HEAP32[$status >> 2] = -2; - break L1; - } - switch (HEAP8[$first + 1 >> 0] | 0) { - case 90: - { - $12 = $first + 2 | 0; - $13 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($12, $last, $db) | 0; - if (($13 | 0) == ($12 | 0) | ($13 | 0) == ($last | 0)) $t$0 = $13; else if ((HEAP8[$13 >> 0] | 0) == 46) { - $20 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($20 | 0)) $$03$i = $13; else { - $22 = $20 + -24 | 0; - $24 = $6 - $13 | 0; - if ($24 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($2); - if ($24 >>> 0 < 11) { - HEAP8[$2 >> 0] = $24 << 1; - $__p$0$ph$i$i$i = $2 + 1 | 0; - } else { - $31 = $24 + 16 & -16; - $32 = _malloc($31) | 0; - HEAP32[$2 + 8 >> 2] = $32; - HEAP32[$2 >> 2] = $31 | 1; - HEAP32[$2 + 4 >> 2] = $24; - $__p$0$ph$i$i$i = $32; - } - if (($13 | 0) != ($last | 0)) { - $$0$i$i$i11 = $13; - $__p$0$i$i$i10 = $__p$0$ph$i$i$i; - while (1) { - HEAP8[$__p$0$i$i$i10 >> 0] = HEAP8[$$0$i$i$i11 >> 0] | 0; - $$0$i$i$i11 = $$0$i$i$i11 + 1 | 0; - if (($$0$i$i$i11 | 0) == ($last | 0)) break; else $__p$0$i$i$i10 = $__p$0$i$i$i10 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i$i + $24 >> 0] = 0; - $41 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($2, 0, 12616) | 0; - HEAP32[$1 >> 2] = HEAP32[$41 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$41 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$41 + 8 >> 2]; - HEAP32[$41 >> 2] = 0; - HEAP32[$41 + 4 >> 2] = 0; - HEAP32[$41 + 8 >> 2] = 0; - $44 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$44 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$44 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$44 + 8 >> 2]; - HEAP32[$44 >> 2] = 0; - HEAP32[$44 + 4 >> 2] = 0; - HEAP32[$44 + 8 >> 2] = 0; - $47 = HEAP8[$0 >> 0] | 0; - $49 = ($47 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($22, $49 ? $0 + 1 | 0 : HEAP32[$0 + 8 >> 2] | 0, $49 ? ($47 & 255) >>> 1 : HEAP32[$0 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$03$i = $last; - } - $t$0 = $$03$i; - } else $t$0 = $13; - if (($t$0 | 0) == ($last | 0)) break L3; - HEAP32[$status >> 2] = -2; - break L1; - break; - } - case 95: - { - label = 20; - break; - } - default: - {} - } - if ((label | 0) == 20) if ((HEAP8[$first + 2 >> 0] | 0) == 95) if ((HEAP8[$first + 3 >> 0] | 0) == 90) { - $66 = $first + 4 | 0; - $67 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($66, $last, $db) | 0; - if (($67 | 0) == ($66 | 0) | ($67 | 0) == ($last | 0)) { - HEAP32[$status >> 2] = -2; - break L1; - } - L36 : do if (($6 - $67 | 0) > 12) { - $i$0$i16 = 0; - $t$0$i15 = $67; - while (1) { - if ((HEAP8[$t$0$i15 >> 0] | 0) != (HEAP8[12621 + $i$0$i16 >> 0] | 0)) { - $$0$i2 = $67; - break L36; - } - $i$0$i16 = $i$0$i16 + 1 | 0; - $78 = $t$0$i15 + 1 | 0; - if (($i$0$i16 | 0) >= 13) { - $$lcssa = $78; - $t$0$i15$lcssa20 = $t$0$i15; - break; - } else $t$0$i15 = $78; - } - L41 : do if (($$lcssa | 0) == ($last | 0)) $t$2$i = $last; else { - if ((HEAP8[$$lcssa >> 0] | 0) == 95) { - $83 = $t$0$i15$lcssa20 + 2 | 0; - if (($83 | 0) == ($last | 0)) { - $$0$i2 = $67; - break L36; - } - if (((HEAP8[$83 >> 0] | 0) + -48 | 0) >>> 0 >= 10) { - $$0$i2 = $67; - break L36; - } - $t$1$i$ph = $t$0$i15$lcssa20 + 3 | 0; - } else $t$1$i$ph = $$lcssa; - if (($t$1$i$ph | 0) == ($last | 0)) $t$2$i = $last; else { - $t$1$i12 = $t$1$i$ph; - while (1) { - if (((HEAP8[$t$1$i12 >> 0] | 0) + -48 | 0) >>> 0 >= 10) { - $t$2$i = $t$1$i12; - break L41; - } - $t$1$i12 = $t$1$i12 + 1 | 0; - if (($t$1$i12 | 0) == ($last | 0)) { - $t$2$i = $last; - break; - } - } - } - } while (0); - $95 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($95 | 0)) $$0$i2 = $67; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($95 + -24 | 0, 0, 12635) | 0; - $$0$i2 = $t$2$i; - } - } else $$0$i2 = $67; while (0); - if (($$0$i2 | 0) == ($last | 0)) break; - HEAP32[$status >> 2] = -2; - break L1; - } - HEAP32[$status >> 2] = -2; - break L1; - } else if ((__ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0) != ($last | 0)) { - HEAP32[$status >> 2] = -2; - break L1; - } while (0); - if (!(HEAP32[$status >> 2] | 0)) if ((HEAP32[$db >> 2] | 0) == (HEAP32[$db + 4 >> 2] | 0)) HEAP32[$status >> 2] = -2; - } else HEAP32[$status >> 2] = -2; while (0); - STACKTOP = sp; - return; -} - -function _arMatrixSelfInv($m) { - $m = $m | 0; - var $$0$i = 0, $$lcssa = 0, $0 = 0, $13 = 0, $15 = 0, $18 = 0.0, $19 = 0, $2 = 0, $24 = 0, $25 = 0, $26 = 0, $30 = 0.0, $35 = 0.0, $43 = 0, $44 = 0.0, $59 = 0, $61 = 0, $63 = 0, $65 = 0, $70 = 0.0, $exitcond$i23 = 0, $exitcond12$i36 = 0, $exitcond13$i43 = 0, $exitcond7$i30 = 0, $i$0$i14 = 0, $i$1$i45 = 0, $i$2$i8 = 0, $indvars$iv$i49 = 0, $indvars$iv9$i44 = 0, $ip$0$i51 = 0, $ip$1$i$lcssa = 0, $ip$1$i15 = 0, $ip$2$i = 0, $j$0$i24 = 0, $j$1$i31 = 0, $j$2$i37 = 0, $j$3$i$lcssa = 0, $j$3$i4 = 0, $n$0$i53 = 0, $n$1$i50 = 0, $n$2$i12 = 0, $nos$i = 0, $p$0$i$lcssa = 0.0, $p$0$i17 = 0.0, $p$1$i = 0.0, $scevgep$i = 0, $wap$0$i16 = 0, $wap$1$i26 = 0, $wap$2$i32 = 0, $wap$3$i39 = 0, $wap$4$i10 = 0, $wbp$0$i25 = 0, $wbp$1$i38 = 0, $wbp$2$i9 = 0, sp = 0, $wap$2$i32$looptemp = 0, $wap$3$i39$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2e3 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $nos$i = sp; - $0 = HEAP32[$m >> 2] | 0; - $2 = HEAP32[$m + 4 >> 2] | 0; - L1 : do if (($2 | 0) > 500) $$0$i = 0; else { - switch ($2 | 0) { - case 0: - { - $$0$i = 0; - break L1; - break; - } - case 1: - { - HEAPF64[$0 >> 3] = 1.0 / +HEAPF64[$0 >> 3]; - $$0$i = $0; - break L1; - break; - } - default: - {} - } - if (($2 | 0) > 0) { - $n$0$i53 = 0; - do { - HEAP32[$nos$i + ($n$0$i53 << 2) >> 2] = $n$0$i53; - $n$0$i53 = $n$0$i53 + 1 | 0; - } while (($n$0$i53 | 0) < ($2 | 0)); - } - $scevgep$i = $0 + ($2 + -1 << 3) | 0; - if (($2 | 0) > 0) { - $exitcond$i23 = ($2 | 0) == 0; - $exitcond7$i30 = ($2 | 0) == 1; - $exitcond13$i43 = ($2 | 0) == 0; - $exitcond12$i36 = ($2 | 0) == 1; - $indvars$iv$i49 = $scevgep$i; - $ip$0$i51 = 0; - $n$1$i50 = 0; - while (1) { - $15 = $0 + ((Math_imul($n$1$i50, $2) | 0) << 3) | 0; - if (($n$1$i50 | 0) < ($2 | 0)) { - $i$0$i14 = $n$1$i50; - $ip$1$i15 = $ip$0$i51; - $p$0$i17 = 0.0; - $wap$0$i16 = $15; - while (1) { - $18 = +Math_abs(+(+HEAPF64[$wap$0$i16 >> 3])); - $19 = $p$0$i17 < $18; - $ip$2$i = $19 ? $i$0$i14 : $ip$1$i15; - $p$1$i = $19 ? $18 : $p$0$i17; - $i$0$i14 = $i$0$i14 + 1 | 0; - if (($i$0$i14 | 0) >= ($2 | 0)) { - $ip$1$i$lcssa = $ip$2$i; - $p$0$i$lcssa = $p$1$i; - break; - } else { - $ip$1$i15 = $ip$2$i; - $p$0$i17 = $p$1$i; - $wap$0$i16 = $wap$0$i16 + ($2 << 3) | 0; - } - } - } else { - $ip$1$i$lcssa = $ip$0$i51; - $p$0$i$lcssa = 0.0; - } - if ($p$0$i$lcssa <= 1.0e-10) { - $$0$i = 0; - break L1; - } - $24 = $nos$i + ($ip$1$i$lcssa << 2) | 0; - $25 = HEAP32[$24 >> 2] | 0; - $26 = $nos$i + ($n$1$i50 << 2) | 0; - HEAP32[$24 >> 2] = HEAP32[$26 >> 2]; - HEAP32[$26 >> 2] = $25; - if (!$exitcond$i23) { - $j$0$i24 = 0; - $wap$1$i26 = $0 + ((Math_imul($ip$1$i$lcssa, $2) | 0) << 3) | 0; - $wbp$0$i25 = $15; - while (1) { - $30 = +HEAPF64[$wap$1$i26 >> 3]; - HEAPF64[$wap$1$i26 >> 3] = +HEAPF64[$wbp$0$i25 >> 3]; - HEAPF64[$wbp$0$i25 >> 3] = $30; - $j$0$i24 = $j$0$i24 + 1 | 0; - if (($j$0$i24 | 0) == ($2 | 0)) break; else { - $wap$1$i26 = $wap$1$i26 + 8 | 0; - $wbp$0$i25 = $wbp$0$i25 + 8 | 0; - } - } - } - $35 = +HEAPF64[$15 >> 3]; - if (!$exitcond7$i30) { - $j$1$i31 = 1; - $wap$2$i32 = $15; - do { - $wap$2$i32$looptemp = $wap$2$i32; - $wap$2$i32 = $wap$2$i32 + 8 | 0; - HEAPF64[$wap$2$i32$looptemp >> 3] = +HEAPF64[$wap$2$i32 >> 3] / $35; - $j$1$i31 = $j$1$i31 + 1 | 0; - } while (($j$1$i31 | 0) != ($2 | 0)); - } - HEAPF64[$indvars$iv$i49 >> 3] = 1.0 / $35; - if (!$exitcond13$i43) { - $i$1$i45 = 0; - $indvars$iv9$i44 = $scevgep$i; - while (1) { - if (($i$1$i45 | 0) != ($n$1$i50 | 0)) { - $43 = $0 + ((Math_imul($i$1$i45, $2) | 0) << 3) | 0; - $44 = +HEAPF64[$43 >> 3]; - if (!$exitcond12$i36) { - $j$2$i37 = 1; - $wap$3$i39 = $43; - $wbp$1$i38 = $15; - while (1) { - $wap$3$i39$looptemp = $wap$3$i39; - $wap$3$i39 = $wap$3$i39 + 8 | 0; - HEAPF64[$wap$3$i39$looptemp >> 3] = +HEAPF64[$wap$3$i39 >> 3] - $44 * +HEAPF64[$wbp$1$i38 >> 3]; - $j$2$i37 = $j$2$i37 + 1 | 0; - if (($j$2$i37 | 0) == ($2 | 0)) break; else $wbp$1$i38 = $wbp$1$i38 + 8 | 0; - } - } - HEAPF64[$indvars$iv9$i44 >> 3] = -($44 * +HEAPF64[$indvars$iv$i49 >> 3]); - } - $i$1$i45 = $i$1$i45 + 1 | 0; - if (($i$1$i45 | 0) == ($2 | 0)) break; else $indvars$iv9$i44 = $indvars$iv9$i44 + ($2 << 3) | 0; - } - } - $n$1$i50 = $n$1$i50 + 1 | 0; - if (($n$1$i50 | 0) >= ($2 | 0)) break; else { - $indvars$iv$i49 = $indvars$iv$i49 + ($2 << 3) | 0; - $ip$0$i51 = $ip$1$i$lcssa; - } - } - } - if (($2 | 0) > 0) { - $13 = ($2 | 0) > 0; - $n$2$i12 = 0; - while (1) { - $59 = $nos$i + ($n$2$i12 << 2) | 0; - L43 : do if (($n$2$i12 | 0) < ($2 | 0)) { - $61 = $59; - $j$3$i4 = $n$2$i12; - while (1) { - if ((HEAP32[$61 >> 2] | 0) == ($n$2$i12 | 0)) { - $$lcssa = $61; - $j$3$i$lcssa = $j$3$i4; - break L43; - } - $63 = $j$3$i4 + 1 | 0; - $65 = $nos$i + ($63 << 2) | 0; - if (($63 | 0) < ($2 | 0)) { - $61 = $65; - $j$3$i4 = $63; - } else { - $$lcssa = $65; - $j$3$i$lcssa = $63; - break; - } - } - } else { - $$lcssa = $59; - $j$3$i$lcssa = $n$2$i12; - } while (0); - HEAP32[$$lcssa >> 2] = HEAP32[$nos$i + ($n$2$i12 << 2) >> 2]; - if ($13) { - $i$2$i8 = 0; - $wap$4$i10 = $0 + ($j$3$i$lcssa << 3) | 0; - $wbp$2$i9 = $0 + ($n$2$i12 << 3) | 0; - while (1) { - $70 = +HEAPF64[$wap$4$i10 >> 3]; - HEAPF64[$wap$4$i10 >> 3] = +HEAPF64[$wbp$2$i9 >> 3]; - HEAPF64[$wbp$2$i9 >> 3] = $70; - $i$2$i8 = $i$2$i8 + 1 | 0; - if (($i$2$i8 | 0) >= ($2 | 0)) break; else { - $wap$4$i10 = $wap$4$i10 + ($2 << 3) | 0; - $wbp$2$i9 = $wbp$2$i9 + ($2 << 3) | 0; - } - } - } - $n$2$i12 = $n$2$i12 + 1 | 0; - if (($n$2$i12 | 0) >= ($2 | 0)) { - $$0$i = $0; - break; - } - } - } else $$0$i = $0; - } while (0); - STACKTOP = sp; - return (($$0$i | 0) == 0) << 31 >> 31 | 0; -} - -function _try_realloc_chunk($p, $nb) { - $p = $p | 0; - $nb = $nb | 0; - var $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $101 = 0, $103 = 0, $106 = 0, $109 = 0, $110 = 0, $112 = 0, $113 = 0, $115 = 0, $116 = 0, $118 = 0, $119 = 0, $124 = 0, $125 = 0, $134 = 0, $139 = 0, $143 = 0, $149 = 0, $159 = 0, $168 = 0, $2 = 0, $20 = 0, $3 = 0, $33 = 0, $35 = 0, $4 = 0, $45 = 0, $47 = 0, $5 = 0, $56 = 0, $62 = 0, $68 = 0, $7 = 0, $70 = 0, $71 = 0, $74 = 0, $76 = 0, $78 = 0, $8 = 0, $91 = 0, $96 = 0, $98 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $newp$0 = 0, $storemerge = 0, $storemerge21 = 0; - $0 = $p + 4 | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = $1 & -8; - $3 = $p + $2 | 0; - $4 = HEAP32[760] | 0; - $5 = $1 & 3; - if (!(($5 | 0) != 1 & $p >>> 0 >= $4 >>> 0 & $p >>> 0 < $3 >>> 0)) _abort(); - $7 = $p + ($2 | 4) | 0; - $8 = HEAP32[$7 >> 2] | 0; - if (!($8 & 1)) _abort(); - if (!$5) { - if ($nb >>> 0 < 256) { - $newp$0 = 0; - return $newp$0 | 0; - } - if ($2 >>> 0 >= ($nb + 4 | 0) >>> 0) if (($2 - $nb | 0) >>> 0 <= HEAP32[876] << 1 >>> 0) { - $newp$0 = $p; - return $newp$0 | 0; - } - $newp$0 = 0; - return $newp$0 | 0; - } - if ($2 >>> 0 >= $nb >>> 0) { - $20 = $2 - $nb | 0; - if ($20 >>> 0 <= 15) { - $newp$0 = $p; - return $newp$0 | 0; - } - HEAP32[$0 >> 2] = $1 & 1 | $nb | 2; - HEAP32[$p + ($nb + 4) >> 2] = $20 | 3; - HEAP32[$7 >> 2] = HEAP32[$7 >> 2] | 1; - _dispose_chunk($p + $nb | 0, $20); - $newp$0 = $p; - return $newp$0 | 0; - } - if (($3 | 0) == (HEAP32[762] | 0)) { - $33 = (HEAP32[759] | 0) + $2 | 0; - if ($33 >>> 0 <= $nb >>> 0) { - $newp$0 = 0; - return $newp$0 | 0; - } - $35 = $33 - $nb | 0; - HEAP32[$0 >> 2] = $1 & 1 | $nb | 2; - HEAP32[$p + ($nb + 4) >> 2] = $35 | 1; - HEAP32[762] = $p + $nb; - HEAP32[759] = $35; - $newp$0 = $p; - return $newp$0 | 0; - } - if (($3 | 0) == (HEAP32[761] | 0)) { - $45 = (HEAP32[758] | 0) + $2 | 0; - if ($45 >>> 0 < $nb >>> 0) { - $newp$0 = 0; - return $newp$0 | 0; - } - $47 = $45 - $nb | 0; - if ($47 >>> 0 > 15) { - HEAP32[$0 >> 2] = $1 & 1 | $nb | 2; - HEAP32[$p + ($nb + 4) >> 2] = $47 | 1; - HEAP32[$p + $45 >> 2] = $47; - $56 = $p + ($45 + 4) | 0; - HEAP32[$56 >> 2] = HEAP32[$56 >> 2] & -2; - $storemerge = $p + $nb | 0; - $storemerge21 = $47; - } else { - HEAP32[$0 >> 2] = $1 & 1 | $45 | 2; - $62 = $p + ($45 + 4) | 0; - HEAP32[$62 >> 2] = HEAP32[$62 >> 2] | 1; - $storemerge = 0; - $storemerge21 = 0; - } - HEAP32[758] = $storemerge21; - HEAP32[761] = $storemerge; - $newp$0 = $p; - return $newp$0 | 0; - } - if ($8 & 2) { - $newp$0 = 0; - return $newp$0 | 0; - } - $68 = ($8 & -8) + $2 | 0; - if ($68 >>> 0 < $nb >>> 0) { - $newp$0 = 0; - return $newp$0 | 0; - } - $70 = $68 - $nb | 0; - $71 = $8 >>> 3; - do if ($8 >>> 0 < 256) { - $74 = HEAP32[$p + ($2 + 8) >> 2] | 0; - $76 = HEAP32[$p + ($2 + 12) >> 2] | 0; - $78 = 3064 + ($71 << 1 << 2) | 0; - if (($74 | 0) != ($78 | 0)) { - if ($74 >>> 0 < $4 >>> 0) _abort(); - if ((HEAP32[$74 + 12 >> 2] | 0) != ($3 | 0)) _abort(); - } - if (($76 | 0) == ($74 | 0)) { - HEAP32[756] = HEAP32[756] & ~(1 << $71); - break; - } - if (($76 | 0) == ($78 | 0)) $$pre$phiZ2D = $76 + 8 | 0; else { - if ($76 >>> 0 < $4 >>> 0) _abort(); - $91 = $76 + 8 | 0; - if ((HEAP32[$91 >> 2] | 0) == ($3 | 0)) $$pre$phiZ2D = $91; else _abort(); - } - HEAP32[$74 + 12 >> 2] = $76; - HEAP32[$$pre$phiZ2D >> 2] = $74; - } else { - $96 = HEAP32[$p + ($2 + 24) >> 2] | 0; - $98 = HEAP32[$p + ($2 + 12) >> 2] | 0; - do if (($98 | 0) == ($3 | 0)) { - $109 = $p + ($2 + 20) | 0; - $110 = HEAP32[$109 >> 2] | 0; - if (!$110) { - $112 = $p + ($2 + 16) | 0; - $113 = HEAP32[$112 >> 2] | 0; - if (!$113) { - $R$1 = 0; - break; - } else { - $R$0 = $113; - $RP$0 = $112; - } - } else { - $R$0 = $110; - $RP$0 = $109; - } - while (1) { - $115 = $R$0 + 20 | 0; - $116 = HEAP32[$115 >> 2] | 0; - if ($116) { - $R$0 = $116; - $RP$0 = $115; - continue; - } - $118 = $R$0 + 16 | 0; - $119 = HEAP32[$118 >> 2] | 0; - if (!$119) { - $R$0$lcssa = $R$0; - $RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $119; - $RP$0 = $118; - } - } - if ($RP$0$lcssa >>> 0 < $4 >>> 0) _abort(); else { - HEAP32[$RP$0$lcssa >> 2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $101 = HEAP32[$p + ($2 + 8) >> 2] | 0; - if ($101 >>> 0 < $4 >>> 0) _abort(); - $103 = $101 + 12 | 0; - if ((HEAP32[$103 >> 2] | 0) != ($3 | 0)) _abort(); - $106 = $98 + 8 | 0; - if ((HEAP32[$106 >> 2] | 0) == ($3 | 0)) { - HEAP32[$103 >> 2] = $98; - HEAP32[$106 >> 2] = $101; - $R$1 = $98; - break; - } else _abort(); - } while (0); - if ($96) { - $124 = HEAP32[$p + ($2 + 28) >> 2] | 0; - $125 = 3328 + ($124 << 2) | 0; - if (($3 | 0) == (HEAP32[$125 >> 2] | 0)) { - HEAP32[$125 >> 2] = $R$1; - if (!$R$1) { - HEAP32[757] = HEAP32[757] & ~(1 << $124); - break; - } - } else { - if ($96 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); - $134 = $96 + 16 | 0; - if ((HEAP32[$134 >> 2] | 0) == ($3 | 0)) HEAP32[$134 >> 2] = $R$1; else HEAP32[$96 + 20 >> 2] = $R$1; - if (!$R$1) break; - } - $139 = HEAP32[760] | 0; - if ($R$1 >>> 0 < $139 >>> 0) _abort(); - HEAP32[$R$1 + 24 >> 2] = $96; - $143 = HEAP32[$p + ($2 + 16) >> 2] | 0; - do if ($143) if ($143 >>> 0 < $139 >>> 0) _abort(); else { - HEAP32[$R$1 + 16 >> 2] = $143; - HEAP32[$143 + 24 >> 2] = $R$1; - break; - } while (0); - $149 = HEAP32[$p + ($2 + 20) >> 2] | 0; - if ($149) if ($149 >>> 0 < (HEAP32[760] | 0) >>> 0) _abort(); else { - HEAP32[$R$1 + 20 >> 2] = $149; - HEAP32[$149 + 24 >> 2] = $R$1; - break; - } - } - } while (0); - if ($70 >>> 0 < 16) { - HEAP32[$0 >> 2] = $68 | $1 & 1 | 2; - $159 = $p + ($68 | 4) | 0; - HEAP32[$159 >> 2] = HEAP32[$159 >> 2] | 1; - $newp$0 = $p; - return $newp$0 | 0; - } else { - HEAP32[$0 >> 2] = $1 & 1 | $nb | 2; - HEAP32[$p + ($nb + 4) >> 2] = $70 | 3; - $168 = $p + ($68 | 4) | 0; - HEAP32[$168 >> 2] = HEAP32[$168 >> 2] | 1; - _dispose_chunk($p + $nb | 0, $70); - $newp$0 = $p; - return $newp$0 | 0; - } - return 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_121parse_integer_literalINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($first, $last, $lit, $db) { - $first = $first | 0; - $last = $last | 0; - $lit = $lit | 0; - $db = $db | 0; - var $$0$i$i$i = 0, $$0$i$i$i5 = 0, $$02 = 0, $$1 = 0, $0 = 0, $1 = 0, $11 = 0, $17 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $37 = 0, $39 = 0, $42 = 0, $43 = 0, $45 = 0, $46 = 0, $48 = 0, $52 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $67 = 0, $69 = 0, $72 = 0, $73 = 0, $76 = 0, $8 = 0, $82 = 0, $88 = 0, $90 = 0, $94 = 0, $__v$i$i4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i4 = sp + 48 | 0; - $0 = sp + 24 | 0; - $1 = sp + 12 | 0; - $2 = sp; - $3 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($first, $last) | 0; - if (($3 | 0) == ($first | 0) | ($3 | 0) == ($last | 0)) $$1 = $first; else if ((HEAP8[$3 >> 0] | 0) == 69) { - $8 = HEAP8[$lit >> 0] | 0; - $11 = $lit + 4 | 0; - do if ((($8 & 1) == 0 ? ($8 & 255) >>> 1 : HEAP32[$11 >> 2] | 0) >>> 0 > 3) { - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($2, 12714, $lit); - $17 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$17 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$17 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$17 + 8 >> 2]; - HEAP32[$17 >> 2] = 0; - HEAP32[$17 + 4 >> 2] = 0; - HEAP32[$17 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - $20 = $db + 4 | 0; - $21 = HEAP32[$20 >> 2] | 0; - $23 = HEAP32[$db + 8 >> 2] | 0; - if ($21 >>> 0 < $23 >>> 0) { - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($21, $0); - HEAP32[$20 >> 2] = (HEAP32[$20 >> 2] | 0) + 24; - } else { - $30 = HEAP32[$db >> 2] | 0; - $31 = $21 - $30 | 0; - $32 = ($31 | 0) / 24 | 0; - $33 = $32 + 1 | 0; - if (($31 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $37 = ($23 - $30 | 0) / 24 | 0; - if ($37 >>> 0 < 1073741823) { - $39 = $37 << 1; - $$0$i$i$i = $39 >>> 0 < $33 >>> 0 ? $33 : $39; - } else $$0$i$i$i = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i4, $$0$i$i$i, $32, $db + 12 | 0); - $42 = $__v$i$i4 + 8 | 0; - $43 = HEAP32[$42 >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($43, $0); - HEAP32[$42 >> 2] = $43 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i4); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i4); - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - } else { - $45 = $db + 4 | 0; - $46 = HEAP32[$45 >> 2] | 0; - $48 = HEAP32[$db + 8 >> 2] | 0; - if ($46 >>> 0 < $48 >>> 0) { - HEAP32[$46 >> 2] = 0; - HEAP32[$46 + 4 >> 2] = 0; - HEAP32[$46 + 8 >> 2] = 0; - HEAP32[$46 + 12 >> 2] = 0; - HEAP32[$46 + 16 >> 2] = 0; - HEAP32[$46 + 20 >> 2] = 0; - HEAP32[$46 >> 2] = 0; - HEAP32[$46 + 4 >> 2] = 0; - HEAP32[$46 + 8 >> 2] = 0; - $52 = $46 + 12 | 0; - HEAP32[$52 >> 2] = 0; - HEAP32[$52 + 4 >> 2] = 0; - HEAP32[$52 + 8 >> 2] = 0; - HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + 24; - break; - } - $60 = HEAP32[$db >> 2] | 0; - $61 = $46 - $60 | 0; - $62 = ($61 | 0) / 24 | 0; - $63 = $62 + 1 | 0; - if (($61 | 0) < -24) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($db); - $67 = ($48 - $60 | 0) / 24 | 0; - if ($67 >>> 0 < 1073741823) { - $69 = $67 << 1; - $$0$i$i$i5 = $69 >>> 0 < $63 >>> 0 ? $63 : $69; - } else $$0$i$i$i5 = 2147483647; - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($__v$i$i4, $$0$i$i$i5, $62, $db + 12 | 0); - $72 = $__v$i$i4 + 8 | 0; - $73 = HEAP32[$72 >> 2] | 0; - HEAP32[$73 >> 2] = 0; - HEAP32[$73 + 4 >> 2] = 0; - HEAP32[$73 + 8 >> 2] = 0; - HEAP32[$73 + 12 >> 2] = 0; - HEAP32[$73 + 16 >> 2] = 0; - HEAP32[$73 + 20 >> 2] = 0; - HEAP32[$73 >> 2] = 0; - HEAP32[$73 + 4 >> 2] = 0; - HEAP32[$73 + 8 >> 2] = 0; - $76 = $73 + 12 | 0; - HEAP32[$76 >> 2] = 0; - HEAP32[$76 + 4 >> 2] = 0; - HEAP32[$76 + 8 >> 2] = 0; - HEAP32[$72 >> 2] = $73 + 24; - __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($db, $__v$i$i4); - __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($__v$i$i4); - } while (0); - $82 = $db + 4 | 0; - if ((HEAP8[$first >> 0] | 0) == 110) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc((HEAP32[$82 >> 2] | 0) + -24 | 0, 45); - $$02 = $first + 1 | 0; - } else $$02 = $first; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueERS7_E4typeESC_SC_((HEAP32[$82 >> 2] | 0) + -24 | 0, $$02, $3); - $88 = HEAP8[$lit >> 0] | 0; - $90 = ($88 & 1) == 0; - $94 = $90 ? ($88 & 255) >>> 1 : HEAP32[$11 >> 2] | 0; - if ($94 >>> 0 < 4) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj((HEAP32[$82 >> 2] | 0) + -24 | 0, $90 ? $lit + 1 | 0 : HEAP32[$lit + 8 >> 2] | 0, $94) | 0; - $$1 = $3 + 1 | 0; - } else $$1 = $first; - STACKTOP = sp; - return $$1 | 0; -} - -function _arGetContour($limage, $xsize, $ysize, $label_ref, $label, $clip, $marker_info2) { - $limage = $limage | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $label_ref = $label_ref | 0; - $label = $label | 0; - $clip = $clip | 0; - $marker_info2 = $marker_info2 | 0; - var $$0 = 0, $$lcssa68 = 0, $$lcssa69 = 0, $1 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $24 = 0, $26 = 0, $27 = 0, $29 = 0, $30 = 0, $34 = 0, $38 = 0, $4 = 0, $40 = 0, $41 = 0, $46 = 0, $48 = 0, $49 = 0, $56 = 0, $61 = 0, $62 = 0, $65 = 0, $67 = 0, $68 = 0, $83 = 0, $9 = 0, $92 = 0, $dir$0 = 0, $dir$1 = 0, $dir$1$lcssa = 0, $dir$130 = 0, $dir$146 = 0, $dmax$040 = 0, $i$048 = 0, $i$048$lcssa = 0, $i$145 = 0, $i$2$v1$0 = 0, $i$242 = 0, $i$338 = 0, $i$436 = 0, $i$535 = 0, $p1$047 = 0, $v1$0$lcssa = 0, $v1$041 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $wx = 0, $wy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80032 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - $wx = sp + 40024 | 0; - $wy = sp + 24 | 0; - $1 = HEAP32[$clip + 8 >> 2] | 0; - $2 = HEAP32[$clip >> 2] | 0; - $4 = HEAP32[$clip + 4 >> 2] | 0; - L1 : do if (($2 | 0) > ($4 | 0)) label = 6; else { - $i$048 = $2; - $p1$047 = $limage + ((Math_imul($1, $xsize) | 0) + $2 << 1) | 0; - while (1) { - $9 = HEAP16[$p1$047 >> 1] | 0; - if ($9 << 16 >> 16 > 0) if ((HEAP32[$label_ref + (($9 << 16 >> 16) + -1 << 2) >> 2] | 0) == ($label | 0)) { - $i$048$lcssa = $i$048; - break; - } - if (($i$048 | 0) < ($4 | 0)) { - $i$048 = $i$048 + 1 | 0; - $p1$047 = $p1$047 + 2 | 0; - } else { - label = 6; - break L1; - } - } - $19 = $marker_info2 + 24 | 0; - HEAP32[$19 >> 2] = 1; - $20 = $marker_info2 + 28 | 0; - HEAP32[$20 >> 2] = $i$048$lcssa; - $21 = $marker_info2 + 40028 | 0; - HEAP32[$21 >> 2] = $1; - $27 = $1; - $29 = $i$048$lcssa; - $40 = 1; - $dir$0 = 5; - while (1) { - $dir$146 = ($dir$0 + 5 | 0) % 8 | 0; - $i$145 = 0; - while (1) { - $24 = HEAP32[776 + ($dir$146 << 2) >> 2] | 0; - $26 = HEAP32[808 + ($dir$146 << 2) >> 2] | 0; - $30 = $limage + ($26 + $29 + (Math_imul($24 + $27 | 0, $xsize) | 0) << 1) | 0; - if ((HEAP16[$30 >> 1] | 0) > 0) { - $38 = $26; - $46 = $24; - $dir$130 = $dir$146; - break; - } - $34 = $i$145 + 1 | 0; - $dir$1 = ($dir$146 + 1 | 0) % 8 | 0; - if (($34 | 0) < 8) { - $dir$146 = $dir$1; - $i$145 = $34; - } else { - $$lcssa68 = $34; - $dir$1$lcssa = $dir$1; - label = 11; - break; - } - } - if ((label | 0) == 11) { - label = 0; - if (($$lcssa68 | 0) == 8) { - label = 13; - break; - } - $38 = HEAP32[808 + ($dir$1$lcssa << 2) >> 2] | 0; - $46 = HEAP32[776 + ($dir$1$lcssa << 2) >> 2] | 0; - $dir$130 = $dir$1$lcssa; - } - HEAP32[$marker_info2 + 28 + ($40 << 2) >> 2] = $38 + $29; - $41 = HEAP32[$19 >> 2] | 0; - HEAP32[$marker_info2 + 40028 + ($41 << 2) >> 2] = $46 + (HEAP32[$marker_info2 + 40028 + ($41 + -1 << 2) >> 2] | 0); - $48 = HEAP32[$19 >> 2] | 0; - $49 = $marker_info2 + 28 + ($48 << 2) | 0; - if ((HEAP32[$49 >> 2] | 0) == ($i$048$lcssa | 0)) if ((HEAP32[$marker_info2 + 40028 + ($48 << 2) >> 2] | 0) == ($1 | 0)) { - $$lcssa69 = $48; - label = 16; - break; - } - $56 = $48 + 1 | 0; - HEAP32[$19 >> 2] = $56; - if (($56 | 0) == 9999) { - label = 19; - break; - } - $27 = HEAP32[$marker_info2 + 40028 + ($48 << 2) >> 2] | 0; - $29 = HEAP32[$49 >> 2] | 0; - $40 = $56; - $dir$0 = $dir$130; - } - if ((label | 0) == 13) { - _arLog(3, 4347, $vararg_buffer1); - $$0 = -1; - break; - } else if ((label | 0) == 16) { - if (($$lcssa69 | 0) > 1) { - $dmax$040 = 0; - $i$242 = 1; - $v1$041 = 0; - while (1) { - $61 = (HEAP32[$marker_info2 + 28 + ($i$242 << 2) >> 2] | 0) - $i$048$lcssa | 0; - $62 = Math_imul($61, $61) | 0; - $65 = (HEAP32[$marker_info2 + 40028 + ($i$242 << 2) >> 2] | 0) - $1 | 0; - $67 = (Math_imul($65, $65) | 0) + $62 | 0; - $68 = ($67 | 0) > ($dmax$040 | 0); - $i$2$v1$0 = $68 ? $i$242 : $v1$041; - $i$242 = $i$242 + 1 | 0; - if (($i$242 | 0) >= ($$lcssa69 | 0)) { - $v1$0$lcssa = $i$2$v1$0; - break; - } else { - $dmax$040 = $68 ? $67 : $dmax$040; - $v1$041 = $i$2$v1$0; - } - } - } else $v1$0$lcssa = 0; - if (($v1$0$lcssa | 0) > 0) { - $i$338 = 0; - do { - HEAP32[$wx + ($i$338 << 2) >> 2] = HEAP32[$marker_info2 + 28 + ($i$338 << 2) >> 2]; - HEAP32[$wy + ($i$338 << 2) >> 2] = HEAP32[$marker_info2 + 40028 + ($i$338 << 2) >> 2]; - $i$338 = $i$338 + 1 | 0; - } while (($i$338 | 0) < ($v1$0$lcssa | 0)); - } - if (($v1$0$lcssa | 0) < ($$lcssa69 | 0)) { - $i$436 = $v1$0$lcssa; - do { - $83 = $i$436 - $v1$0$lcssa | 0; - HEAP32[$marker_info2 + 28 + ($83 << 2) >> 2] = HEAP32[$marker_info2 + 28 + ($i$436 << 2) >> 2]; - HEAP32[$marker_info2 + 40028 + ($83 << 2) >> 2] = HEAP32[$marker_info2 + 40028 + ($i$436 << 2) >> 2]; - $i$436 = $i$436 + 1 | 0; - } while (($i$436 | 0) < (HEAP32[$19 >> 2] | 0)); - } - if (($v1$0$lcssa | 0) > 0) { - $i$535 = 0; - do { - $92 = $i$535 - $v1$0$lcssa | 0; - HEAP32[$marker_info2 + 28 + ((HEAP32[$19 >> 2] | 0) + $92 << 2) >> 2] = HEAP32[$wx + ($i$535 << 2) >> 2]; - HEAP32[$marker_info2 + 40028 + ((HEAP32[$19 >> 2] | 0) + $92 << 2) >> 2] = HEAP32[$wy + ($i$535 << 2) >> 2]; - $i$535 = $i$535 + 1 | 0; - } while (($i$535 | 0) < ($v1$0$lcssa | 0)); - } - HEAP32[$marker_info2 + 28 + (HEAP32[$19 >> 2] << 2) >> 2] = HEAP32[$20 >> 2]; - HEAP32[$marker_info2 + 40028 + (HEAP32[$19 >> 2] << 2) >> 2] = HEAP32[$21 >> 2]; - HEAP32[$19 >> 2] = (HEAP32[$19 >> 2] | 0) + 1; - $$0 = 0; - break; - } else if ((label | 0) == 19) { - _arLog(3, 4354, $vararg_buffer3); - $$0 = -1; - break; - } - } while (0); - if ((label | 0) == 6) { - _arLog(3, 4340, $vararg_buffer); - $$0 = -1; - } - STACKTOP = sp; - return $$0 | 0; -} - -function ___cxa_demangle($mangled_name, $buf, $n, $status) { - $mangled_name = $mangled_name | 0; - $buf = $buf | 0; - $n = $n | 0; - $status = $status | 0; - var $$0 = 0, $$028 = 0, $$1 = 0, $1 = 0, $10 = 0, $101 = 0, $102 = 0, $109 = 0, $11 = 0, $112 = 0, $15 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $27 = 0, $30 = 0, $31 = 0, $35 = 0, $42 = 0, $43 = 0, $45 = 0, $46 = 0, $49 = 0, $50 = 0, $52 = 0, $53 = 0, $59 = 0, $6 = 0, $60 = 0, $62 = 0, $7 = 0, $70 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $__v$i$i = 0, $a = 0, $db = 0, $internal_status = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4208 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v$i$i = sp + 4184 | 0; - $a = sp; - $db = sp + 4120 | 0; - $internal_status = sp + 4112 | 0; - if (!$mangled_name) label = 3; else { - $1 = ($buf | 0) != 0; - $2 = ($n | 0) == 0; - if ($1 & $2) label = 3; else { - if ($1) $82 = HEAP32[$n >> 2] | 0; else $82 = 0; - HEAP32[$a + 4096 >> 2] = $a; - $6 = $a; - HEAP32[$db >> 2] = 0; - $7 = $db + 4 | 0; - HEAP32[$7 >> 2] = 0; - HEAP32[$db + 8 >> 2] = 0; - HEAP32[$db + 12 >> 2] = $6; - $10 = $db + 16 | 0; - HEAP32[$10 >> 2] = 0; - $11 = $db + 20 | 0; - HEAP32[$11 >> 2] = 0; - HEAP32[$db + 24 >> 2] = 0; - HEAP32[$db + 28 >> 2] = $6; - HEAP32[$db + 32 >> 2] = 0; - $15 = $db + 36 | 0; - HEAP32[$15 >> 2] = 0; - HEAP32[$db + 40 >> 2] = 0; - $17 = $db + 44 | 0; - HEAP32[$17 >> 2] = $6; - $18 = $db + 48 | 0; - $19 = $db + 61 | 0; - HEAP32[$18 >> 2] = 0; - HEAP32[$18 + 4 >> 2] = 0; - HEAP32[$18 + 8 >> 2] = 0; - HEAP8[$18 + 12 >> 0] = 0; - HEAP8[$19 >> 0] = 1; - $20 = $db + 32 | 0; - __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEEC2EjjSB_($__v$i$i, 1, 0, $17); - $21 = $__v$i$i + 8 | 0; - $22 = HEAP32[$21 >> 2] | 0; - HEAP32[$22 >> 2] = 0; - HEAP32[$22 + 4 >> 2] = 0; - HEAP32[$22 + 8 >> 2] = 0; - HEAP32[$22 + 12 >> 2] = $6; - HEAP32[$21 >> 2] = $22 + 16; - __ZNSt3__16vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEEENS4_IS8_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE($20, $__v$i$i); - __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEED2Ev($__v$i$i); - $27 = $db + 62 | 0; - HEAP8[$27 >> 0] = 0; - HEAP8[$db + 63 >> 0] = 1; - HEAP32[$internal_status >> 2] = 0; - $30 = $mangled_name + (_strlen($mangled_name) | 0) | 0; - __ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri($mangled_name, $30, $db, $internal_status); - $31 = HEAP32[$internal_status >> 2] | 0; - do if (($31 | 0) != 0 | (HEAP8[$27 >> 0] | 0) == 0) { - $59 = $31; - label = 17; - } else { - $35 = HEAP32[$20 >> 2] | 0; - if (($35 | 0) == (HEAP32[$15 >> 2] | 0)) label = 18; else if ((HEAP32[$35 >> 2] | 0) == (HEAP32[$35 + 4 >> 2] | 0)) label = 18; else { - HEAP8[$27 >> 0] = 0; - HEAP8[$19 >> 0] = 0; - $42 = HEAP32[$db >> 2] | 0; - $43 = HEAP32[$7 >> 2] | 0; - if (($43 | 0) != ($42 | 0)) { - $46 = $43; - do { - $45 = $46 + -24 | 0; - HEAP32[$7 >> 2] = $45; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($45); - $46 = HEAP32[$7 >> 2] | 0; - } while (($46 | 0) != ($42 | 0)); - } - $49 = HEAP32[$10 >> 2] | 0; - $50 = HEAP32[$11 >> 2] | 0; - if (($50 | 0) != ($49 | 0)) { - $53 = $50; - do { - $52 = $53 + -16 | 0; - HEAP32[$11 >> 2] = $52; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($52); - $53 = HEAP32[$11 >> 2] | 0; - } while (($53 | 0) != ($49 | 0)); - } - __ZN10__cxxabiv112_GLOBAL__N_18demangleINS0_2DbEEEvPKcS4_RT_Ri($mangled_name, $30, $db, $internal_status); - if (!(HEAP8[$27 >> 0] | 0)) { - $59 = HEAP32[$internal_status >> 2] | 0; - label = 17; - break; - } else { - HEAP32[$internal_status >> 2] = -2; - $$1 = 0; - $112 = -2; - break; - } - } - } while (0); - if ((label | 0) == 17) if (!$59) label = 18; else { - $$1 = 0; - $112 = $59; - } - do if ((label | 0) == 18) { - $60 = HEAP32[$7 >> 2] | 0; - $62 = HEAP8[$60 + -24 >> 0] | 0; - if (!($62 & 1)) $79 = ($62 & 255) >>> 1; else $79 = HEAP32[$60 + -20 >> 2] | 0; - $70 = HEAP8[$60 + -12 >> 0] | 0; - if (!($70 & 1)) $78 = ($70 & 255) >>> 1; else $78 = HEAP32[$60 + -8 >> 2] | 0; - $77 = $78 + $79 | 0; - $80 = $77 + 1 | 0; - if ($80 >>> 0 > $82 >>> 0) { - $83 = _realloc($buf, $80) | 0; - if (!$83) { - HEAP32[$internal_status >> 2] = -1; - $$1 = 0; - $112 = -1; - break; - } - if ($2) $$028 = $83; else { - HEAP32[$n >> 2] = $80; - $$028 = $83; - } - } else if (!$buf) { - $$1 = 0; - $112 = 0; - break; - } else $$028 = $buf; - $86 = HEAP32[$7 >> 2] | 0; - $88 = $86 + -12 | 0; - $89 = HEAP8[$88 >> 0] | 0; - $91 = ($89 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($86 + -24 | 0, $91 ? $88 + 1 | 0 : HEAP32[$86 + -4 >> 2] | 0, $91 ? ($89 & 255) >>> 1 : HEAP32[$86 + -8 >> 2] | 0) | 0; - $101 = HEAP32[$7 >> 2] | 0; - $102 = $101 + -24 | 0; - if (!(HEAP8[$102 >> 0] & 1)) $109 = $102 + 1 | 0; else $109 = HEAP32[$101 + -16 >> 2] | 0; - _memcpy($$028 | 0, $109 | 0, $77 | 0) | 0; - HEAP8[$$028 + $77 >> 0] = 0; - $$1 = $$028; - $112 = 0; - } while (0); - if ($status) HEAP32[$status >> 2] = $112; - __ZN10__cxxabiv112_GLOBAL__N_12DbD2Ev($db); - $$0 = $$1; - } - } - if ((label | 0) == 3) if (!$status) $$0 = 0; else { - HEAP32[$status >> 2] = -3; - $$0 = 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _fmod($x, $y) { - $x = +$x; - $y = +$y; - var $$0 = 0.0, $$lcssa7 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $106 = 0, $107 = 0, $11 = 0, $112 = 0, $114 = 0, $116 = 0, $119 = 0, $12 = 0, $121 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $130 = 0, $137 = 0, $138 = 0, $139 = 0, $140 = 0, $141 = 0, $146 = 0, $149 = 0, $150 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $2 = 0, $23 = 0.0, $25 = 0, $26 = 0, $3 = 0, $37 = 0, $38 = 0, $4 = 0, $44 = 0, $45 = 0, $46 = 0, $55 = 0, $6 = 0, $60 = 0, $61 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $78 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $93 = 0, $95 = 0, $97 = 0, $ex$0$lcssa = 0, $ex$026 = 0, $ex$1 = 0, $ex$2$lcssa = 0, $ex$212 = 0, $ex$3$lcssa = 0, $ex$39 = 0, $ey$0$lcssa = 0, $ey$020 = 0, $ey$1$ph = 0, label = 0; - HEAPF64[tempDoublePtr >> 3] = $x; - $0 = HEAP32[tempDoublePtr >> 2] | 0; - $1 = HEAP32[tempDoublePtr + 4 >> 2] | 0; - HEAPF64[tempDoublePtr >> 3] = $y; - $2 = HEAP32[tempDoublePtr >> 2] | 0; - $3 = HEAP32[tempDoublePtr + 4 >> 2] | 0; - $4 = _bitshift64Lshr($0 | 0, $1 | 0, 52) | 0; - $6 = $4 & 2047; - $7 = _bitshift64Lshr($2 | 0, $3 | 0, 52) | 0; - $9 = $7 & 2047; - $10 = $1 & -2147483648; - $11 = _bitshift64Shl($2 | 0, $3 | 0, 1) | 0; - $12 = tempRet0; - L1 : do if (($11 | 0) == 0 & ($12 | 0) == 0) label = 3; else { - $16 = $3 & 2147483647; - if ($16 >>> 0 > 2146435072 | ($16 | 0) == 2146435072 & $2 >>> 0 > 0 | ($6 | 0) == 2047) label = 3; else { - $25 = _bitshift64Shl($0 | 0, $1 | 0, 1) | 0; - $26 = tempRet0; - if (!($26 >>> 0 > $12 >>> 0 | ($26 | 0) == ($12 | 0) & $25 >>> 0 > $11 >>> 0)) return +(($25 | 0) == ($11 | 0) & ($26 | 0) == ($12 | 0) ? $x * 0.0 : $x); - if (!$6) { - $37 = _bitshift64Shl($0 | 0, $1 | 0, 12) | 0; - $38 = tempRet0; - if (($38 | 0) > -1 | ($38 | 0) == -1 & $37 >>> 0 > 4294967295) { - $45 = $37; - $46 = $38; - $ex$026 = 0; - while (1) { - $44 = $ex$026 + -1 | 0; - $45 = _bitshift64Shl($45 | 0, $46 | 0, 1) | 0; - $46 = tempRet0; - if (!(($46 | 0) > -1 | ($46 | 0) == -1 & $45 >>> 0 > 4294967295)) { - $ex$0$lcssa = $44; - break; - } else $ex$026 = $44; - } - } else $ex$0$lcssa = 0; - $55 = _bitshift64Shl($0 | 0, $1 | 0, 1 - $ex$0$lcssa | 0) | 0; - $83 = $55; - $84 = tempRet0; - $ex$1 = $ex$0$lcssa; - } else { - $83 = $0; - $84 = $1 & 1048575 | 1048576; - $ex$1 = $6; - } - if (!$9) { - $60 = _bitshift64Shl($2 | 0, $3 | 0, 12) | 0; - $61 = tempRet0; - if (($61 | 0) > -1 | ($61 | 0) == -1 & $60 >>> 0 > 4294967295) { - $68 = $60; - $69 = $61; - $ey$020 = 0; - while (1) { - $67 = $ey$020 + -1 | 0; - $68 = _bitshift64Shl($68 | 0, $69 | 0, 1) | 0; - $69 = tempRet0; - if (!(($69 | 0) > -1 | ($69 | 0) == -1 & $68 >>> 0 > 4294967295)) { - $ey$0$lcssa = $67; - break; - } else $ey$020 = $67; - } - } else $ey$0$lcssa = 0; - $78 = _bitshift64Shl($2 | 0, $3 | 0, 1 - $ey$0$lcssa | 0) | 0; - $85 = $78; - $86 = tempRet0; - $ey$1$ph = $ey$0$lcssa; - } else { - $85 = $2; - $86 = $3 & 1048575 | 1048576; - $ey$1$ph = $9; - } - $87 = _i64Subtract($83 | 0, $84 | 0, $85 | 0, $86 | 0) | 0; - $88 = tempRet0; - $93 = ($88 | 0) > -1 | ($88 | 0) == -1 & $87 >>> 0 > 4294967295; - L23 : do if (($ex$1 | 0) > ($ey$1$ph | 0)) { - $152 = $93; - $153 = $87; - $154 = $88; - $95 = $83; - $97 = $84; - $ex$212 = $ex$1; - while (1) { - if ($152) if (($95 | 0) == ($85 | 0) & ($97 | 0) == ($86 | 0)) break; else { - $100 = $153; - $101 = $154; - } else { - $100 = $95; - $101 = $97; - } - $102 = _bitshift64Shl($100 | 0, $101 | 0, 1) | 0; - $103 = tempRet0; - $104 = $ex$212 + -1 | 0; - $106 = _i64Subtract($102 | 0, $103 | 0, $85 | 0, $86 | 0) | 0; - $107 = tempRet0; - $112 = ($107 | 0) > -1 | ($107 | 0) == -1 & $106 >>> 0 > 4294967295; - if (($104 | 0) > ($ey$1$ph | 0)) { - $152 = $112; - $153 = $106; - $154 = $107; - $95 = $102; - $97 = $103; - $ex$212 = $104; - } else { - $$lcssa7 = $112; - $114 = $102; - $116 = $103; - $155 = $106; - $156 = $107; - $ex$2$lcssa = $104; - break L23; - } - } - $$0 = $x * 0.0; - break L1; - } else { - $$lcssa7 = $93; - $114 = $83; - $116 = $84; - $155 = $87; - $156 = $88; - $ex$2$lcssa = $ex$1; - } while (0); - if ($$lcssa7) if (($114 | 0) == ($85 | 0) & ($116 | 0) == ($86 | 0)) { - $$0 = $x * 0.0; - break; - } else { - $119 = $156; - $121 = $155; - } else { - $119 = $116; - $121 = $114; - } - if ($119 >>> 0 < 1048576 | ($119 | 0) == 1048576 & $121 >>> 0 < 0) { - $126 = $121; - $127 = $119; - $ex$39 = $ex$2$lcssa; - while (1) { - $128 = _bitshift64Shl($126 | 0, $127 | 0, 1) | 0; - $129 = tempRet0; - $130 = $ex$39 + -1 | 0; - if ($129 >>> 0 < 1048576 | ($129 | 0) == 1048576 & $128 >>> 0 < 0) { - $126 = $128; - $127 = $129; - $ex$39 = $130; - } else { - $137 = $128; - $138 = $129; - $ex$3$lcssa = $130; - break; - } - } - } else { - $137 = $121; - $138 = $119; - $ex$3$lcssa = $ex$2$lcssa; - } - if (($ex$3$lcssa | 0) > 0) { - $139 = _i64Add($137 | 0, $138 | 0, 0, -1048576) | 0; - $140 = tempRet0; - $141 = _bitshift64Shl($ex$3$lcssa | 0, 0, 52) | 0; - $149 = $140 | tempRet0; - $150 = $139 | $141; - } else { - $146 = _bitshift64Lshr($137 | 0, $138 | 0, 1 - $ex$3$lcssa | 0) | 0; - $149 = tempRet0; - $150 = $146; - } - HEAP32[tempDoublePtr >> 2] = $150; - HEAP32[tempDoublePtr + 4 >> 2] = $149 | $10; - $$0 = +HEAPF64[tempDoublePtr >> 3]; - } - } while (0); - if ((label | 0) == 3) { - $23 = $x * $y; - $$0 = $23 / $23; - } - return +$$0; -} - -function __ZN46EmscriptenBindingInitializer_constant_bindingsC2Ev($this) { - $this = $this | 0; - var $0 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(8590, 7); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8596, 3); - __ZN10emscripten8functionIiJiNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(8605, 2); - __ZN10emscripten8functionIiJiNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(8616, 3); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8632, 4); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8650, 4); - __ZN10emscripten8functionIiJNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(8670, 5); - __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(8682, 8); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8699, 5); - __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(8719, 9); - __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(8737, 10); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8759, 6); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8782, 7); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8811, 6); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8824, 7); - __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(8837, 11); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8856, 8); - __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(8866, 9); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8879, 8); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(8892, 9); - __ZN10emscripten8functionIvJiEJEEEvPKcPFT_DpT0_EDpT1_(8911, 10); - __ZN10emscripten8functionIiJEJEEEvPKcPFT_DpT0_EDpT1_(8923, 1); - __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_(8935, 1); - __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(8958, 1); - __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_(8981, 2); - __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(9003, 2); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9025, 1); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9042, 10); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9059, 2); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9072, 11); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9085, 3); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9109, 12); - __ZN10emscripten8functionIvJifEJEEEvPKcPFT_DpT0_EDpT1_(9133, 3); - __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(9146, 3); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9159, 4); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9177, 13); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9195, 5); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9211, 14); - __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(9227, 6); - __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(9244, 15); - __ZN10emscripten8constantIiEEvPKcRKT_(9261, 2088); - __ZN10emscripten8constantIiEEvPKcRKT_(9290, 2096); - __ZN10emscripten8constantIiEEvPKcRKT_(9318, 2092); - __embind_register_constant(9351, 680, 0); - __embind_register_constant(9368, 680, 1); - __embind_register_constant(9384, 680, 0); - __embind_register_constant(9406, 680, 0); - __embind_register_constant(9431, 680, 1); - __embind_register_constant(9456, 680, 1); - __embind_register_constant(9481, 680, 100); - __embind_register_constant(9508, 680, 0); - __embind_register_constant(9534, 680, 1); - __embind_register_constant(9560, 680, 0); - __embind_register_constant(9587, 680, 0); - __embind_register_constant(9614, 680, 1); - __embind_register_constant(9640, 680, 2); - __embind_register_constant(9665, 680, 3); - __embind_register_constant(9703, 680, 4); - __embind_register_constant(9740, 680, 0); - __embind_register_constant(9774, 680, 0); - __embind_register_constant(9798, 680, 1); - __embind_register_constant(9824, 680, 2); - __embind_register_constant(9851, 680, 2); - __embind_register_constant(9885, 680, 5); - HEAPF64[$0 >> 3] = .5; - __ZN10emscripten8constantIdEEvPKcRKT_(9903, $0); - __embind_register_constant(9924, 680, 0); - __embind_register_constant(9943, 680, 1); - __embind_register_constant(9961, 680, 2); - __embind_register_constant(9979, 680, 3); - __embind_register_constant(9998, 680, 4); - __embind_register_constant(10020, 680, 3); - __embind_register_constant(10039, 680, 515); - __embind_register_constant(10068, 680, 259); - __embind_register_constant(10096, 680, 4); - __embind_register_constant(10115, 680, 772); - __embind_register_constant(10145, 680, 1028); - __embind_register_constant(10175, 680, 0); - __embind_register_constant(10206, 680, 1); - __embind_register_constant(10242, 680, 2); - __embind_register_constant(10276, 680, 3); - __embind_register_constant(10314, 680, 0); - __embind_register_constant(10347, 680, 1); - __embind_register_constant(10394, 680, 2); - __embind_register_constant(10436, 680, 3); - __embind_register_constant(10479, 680, 4); - __embind_register_constant(10531, 680, 5); - __embind_register_constant(10582, 680, 6); - __embind_register_constant(10627, 680, 7); - __embind_register_constant(10666, 680, 8); - __embind_register_constant(10711, 680, 9); - STACKTOP = sp; - return; -} - -function _arParamDecompMat($source, $cpara, $trans) { - $source = $source | 0; - $cpara = $cpara | 0; - $trans = $trans | 0; - var $102 = 0, $105 = 0, $109 = 0.0, $111 = 0.0, $113 = 0.0, $118 = 0.0, $119 = 0, $127 = 0.0, $128 = 0, $134 = 0.0, $140 = 0.0, $146 = 0.0, $152 = 0.0, $163 = 0.0, $167 = 0.0, $181 = 0, $185 = 0, $189 = 0, $45 = 0.0, $47 = 0.0, $49 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0, $60 = 0.0, $61 = 0, $63 = 0.0, $64 = 0, $69 = 0, $71 = 0.0, $73 = 0.0, $75 = 0.0, $80 = 0.0, $81 = 0, $84 = 0.0, $87 = 0.0, $90 = 0.0, $96 = 0.0, $97 = 0, $99 = 0, $Cpara = 0, $r$024 = 0, $r$122 = 0, $r$318 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $Cpara = sp; - if (!(+HEAPF64[$source + 88 >> 3] >= 0.0)) { - $r$122 = 0; - do { - HEAPF64[$Cpara + ($r$122 << 5) >> 3] = -+HEAPF64[$source + ($r$122 << 5) >> 3]; - HEAPF64[$Cpara + ($r$122 << 5) + 8 >> 3] = -+HEAPF64[$source + ($r$122 << 5) + 8 >> 3]; - HEAPF64[$Cpara + ($r$122 << 5) + 16 >> 3] = -+HEAPF64[$source + ($r$122 << 5) + 16 >> 3]; - HEAPF64[$Cpara + ($r$122 << 5) + 24 >> 3] = -+HEAPF64[$source + ($r$122 << 5) + 24 >> 3]; - $r$122 = $r$122 + 1 | 0; - } while (($r$122 | 0) != 3); - } else { - $r$024 = 0; - do { - HEAPF64[$Cpara + ($r$024 << 5) >> 3] = +HEAPF64[$source + ($r$024 << 5) >> 3]; - HEAPF64[$Cpara + ($r$024 << 5) + 8 >> 3] = +HEAPF64[$source + ($r$024 << 5) + 8 >> 3]; - HEAPF64[$Cpara + ($r$024 << 5) + 16 >> 3] = +HEAPF64[$source + ($r$024 << 5) + 16 >> 3]; - HEAPF64[$Cpara + ($r$024 << 5) + 24 >> 3] = +HEAPF64[$source + ($r$024 << 5) + 24 >> 3]; - $r$024 = $r$024 + 1 | 0; - } while (($r$024 | 0) != 3); - } - HEAPF64[$cpara >> 3] = 0.0; - HEAPF64[$cpara + 8 >> 3] = 0.0; - HEAPF64[$cpara + 16 >> 3] = 0.0; - HEAPF64[$cpara + 24 >> 3] = 0.0; - HEAPF64[$cpara + 32 >> 3] = 0.0; - HEAPF64[$cpara + 40 >> 3] = 0.0; - HEAPF64[$cpara + 48 >> 3] = 0.0; - HEAPF64[$cpara + 56 >> 3] = 0.0; - HEAPF64[$cpara + 64 >> 3] = 0.0; - HEAPF64[$cpara + 72 >> 3] = 0.0; - HEAPF64[$cpara + 80 >> 3] = 0.0; - HEAPF64[$cpara + 88 >> 3] = 0.0; - $45 = +HEAPF64[$Cpara + 64 >> 3]; - $47 = +HEAPF64[$Cpara + 72 >> 3]; - $49 = +HEAPF64[$Cpara + 80 >> 3]; - $55 = +Math_sqrt(+($45 * $45 + $47 * $47 + $49 * $49)); - $56 = $cpara + 80 | 0; - HEAPF64[$56 >> 3] = $55; - $57 = $45 / $55; - $58 = $trans + 64 | 0; - HEAPF64[$58 >> 3] = $57; - $60 = $47 / +HEAPF64[$56 >> 3]; - $61 = $trans + 72 | 0; - HEAPF64[$61 >> 3] = $60; - $63 = $49 / +HEAPF64[$56 >> 3]; - $64 = $trans + 80 | 0; - HEAPF64[$64 >> 3] = $63; - $69 = $trans + 88 | 0; - HEAPF64[$69 >> 3] = +HEAPF64[$Cpara + 88 >> 3] / +HEAPF64[$56 >> 3]; - $71 = +HEAPF64[$Cpara + 32 >> 3]; - $73 = +HEAPF64[$Cpara + 40 >> 3]; - $75 = +HEAPF64[$Cpara + 48 >> 3]; - $80 = $57 * $71 + $60 * $73 + $63 * $75; - $81 = $cpara + 48 | 0; - HEAPF64[$81 >> 3] = $80; - $84 = $71 - $80 * +HEAPF64[$58 >> 3]; - $87 = $73 - $80 * +HEAPF64[$61 >> 3]; - $90 = $75 - $80 * +HEAPF64[$64 >> 3]; - $96 = +Math_sqrt(+($84 * $84 + $87 * $87 + $90 * $90)); - $97 = $cpara + 40 | 0; - HEAPF64[$97 >> 3] = $96; - $99 = $trans + 32 | 0; - HEAPF64[$99 >> 3] = $84 / $96; - $102 = $trans + 40 | 0; - HEAPF64[$102 >> 3] = $87 / +HEAPF64[$97 >> 3]; - $105 = $trans + 48 | 0; - HEAPF64[$105 >> 3] = $90 / +HEAPF64[$97 >> 3]; - $109 = +HEAPF64[$Cpara >> 3]; - $111 = +HEAPF64[$Cpara + 8 >> 3]; - $113 = +HEAPF64[$Cpara + 16 >> 3]; - $118 = +HEAPF64[$58 >> 3] * $109 + +HEAPF64[$61 >> 3] * $111 + +HEAPF64[$64 >> 3] * $113; - $119 = $cpara + 16 | 0; - HEAPF64[$119 >> 3] = $118; - $127 = +HEAPF64[$99 >> 3] * $109 + +HEAPF64[$102 >> 3] * $111 + +HEAPF64[$105 >> 3] * $113; - $128 = $cpara + 8 | 0; - HEAPF64[$128 >> 3] = $127; - $134 = $109 - $127 * +HEAPF64[$99 >> 3] - $118 * +HEAPF64[$58 >> 3]; - $140 = $111 - $127 * +HEAPF64[$102 >> 3] - $118 * +HEAPF64[$61 >> 3]; - $146 = $113 - $127 * +HEAPF64[$105 >> 3] - $118 * +HEAPF64[$64 >> 3]; - $152 = +Math_sqrt(+($134 * $134 + $140 * $140 + $146 * $146)); - HEAPF64[$cpara >> 3] = $152; - HEAPF64[$trans >> 3] = $134 / $152; - HEAPF64[$trans + 8 >> 3] = $140 / +HEAPF64[$cpara >> 3]; - HEAPF64[$trans + 16 >> 3] = $146 / +HEAPF64[$cpara >> 3]; - $163 = +HEAPF64[$69 >> 3]; - $167 = (+HEAPF64[$Cpara + 56 >> 3] - +HEAPF64[$81 >> 3] * $163) / +HEAPF64[$97 >> 3]; - HEAPF64[$trans + 56 >> 3] = $167; - HEAPF64[$trans + 24 >> 3] = (+HEAPF64[$Cpara + 24 >> 3] - $167 * +HEAPF64[$128 >> 3] - +HEAPF64[$119 >> 3] * $163) / +HEAPF64[$cpara >> 3]; - $r$318 = 0; - do { - $181 = $cpara + ($r$318 << 5) | 0; - HEAPF64[$181 >> 3] = +HEAPF64[$181 >> 3] / +HEAPF64[$56 >> 3]; - $185 = $cpara + ($r$318 << 5) + 8 | 0; - HEAPF64[$185 >> 3] = +HEAPF64[$185 >> 3] / +HEAPF64[$56 >> 3]; - $189 = $cpara + ($r$318 << 5) + 16 | 0; - HEAPF64[$189 >> 3] = +HEAPF64[$189 >> 3] / +HEAPF64[$56 >> 3]; - $r$318 = $r$318 + 1 | 0; - } while (($r$318 | 0) != 3); - STACKTOP = sp; - return 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_19base_nameINSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEEEET_RS9_($agg$result, $s) { - $agg$result = $agg$result | 0; - $s = $s | 0; - var $$$$i$i$i3 = 0, $$0$i$i27 = 0, $$lcssa = 0, $$lcssa32 = 0, $$lcssa33 = 0, $0 = 0, $12 = 0, $13 = 0, $15 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $27 = 0, $31 = 0, $33 = 0, $38 = 0, $42 = 0, $46 = 0, $48 = 0, $56 = 0, $63 = 0, $64 = 0, $7 = 0, $__p$0$i$i26 = 0, $__p$0$ph$i$i = 0, $c$0$ph = 0, $p0$0 = 0, $p0$1 = 0, $pe$0 = 0, $pe$0$ph = 0, $pe$1 = 0, $pe$1$pn = 0, label = 0; - $0 = HEAP8[$s >> 0] | 0; - $2 = ($0 & 1) == 0; - $7 = $2 ? ($0 & 255) >>> 1 : HEAP32[$s + 4 >> 2] | 0; - L1 : do if (!$7) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($agg$result, $s); else { - $12 = $2 ? $s + 1 | 0 : HEAP32[$s + 8 >> 2] | 0; - $13 = $7 >>> 0 > 11; - $15 = _memcmp($12, 12846, $13 ? 11 : $7) | 0; - if (!((($15 | 0) == 0 ? ($7 >>> 0 < 11 ? -1 : $13 & 1) : $15) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($s, 13450, 70); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($agg$result, 13521, 12); - break; - } - $20 = $7 >>> 0 > 12; - $21 = $20 ? 12 : $7; - $22 = _memcmp($12, 12858, $21) | 0; - $$$$i$i$i3 = $7 >>> 0 < 12 ? -1 : $20 & 1; - if (!((($22 | 0) == 0 ? $$$$i$i$i3 : $22) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($s, 13534, 49); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($agg$result, 13584, 13); - break; - } - $27 = _memcmp($12, 12871, $21) | 0; - if (!((($27 | 0) == 0 ? $$$$i$i$i3 : $27) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($s, 13598, 49); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($agg$result, 13648, 13); - break; - } - $31 = $7 >>> 0 > 13; - $33 = _memcmp($12, 12884, $31 ? 13 : $7) | 0; - if (!((($33 | 0) == 0 ? ($7 >>> 0 < 13 ? -1 : $31 & 1) : $33) | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($s, 13662, 50); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($agg$result, 13713, 14); - break; - } - $38 = $12 + $7 | 0; - L16 : do if ((HEAP8[$12 + ($7 + -1) >> 0] | 0) == 62) { - $c$0$ph = 1; - $pe$0$ph = $38; - L17 : while (1) { - $pe$0 = $pe$0$ph; - L19 : while (1) { - $42 = $pe$0 + -1 | 0; - if (($42 | 0) == ($12 | 0)) break L17; - $46 = $pe$0 + -2 | 0; - switch (HEAP8[$46 >> 0] | 0) { - case 60: - { - $$lcssa = $46; - $$lcssa32 = $42; - label = 16; - break L19; - break; - } - case 62: - { - $$lcssa33 = $42; - label = 17; - break L19; - break; - } - default: - $pe$0 = $42; - } - } - if ((label | 0) == 16) { - label = 0; - $48 = $c$0$ph + -1 | 0; - if (!$48) { - $pe$1 = $$lcssa; - break L16; - } else { - $c$0$ph = $48; - $pe$0$ph = $$lcssa32; - continue; - } - } else if ((label | 0) == 17) { - label = 0; - $c$0$ph = $c$0$ph + 1 | 0; - $pe$0$ph = $$lcssa33; - continue; - } - } - HEAP32[$agg$result >> 2] = 0; - HEAP32[$agg$result + 4 >> 2] = 0; - HEAP32[$agg$result + 8 >> 2] = 0; - break L1; - } else $pe$1 = $38; while (0); - $pe$1$pn = $pe$1; - while (1) { - $p0$0 = $pe$1$pn + -1 | 0; - if (($p0$0 | 0) == ($12 | 0)) { - $p0$1 = $12; - break; - } - if ((HEAP8[$p0$0 >> 0] | 0) == 58) { - $p0$1 = $pe$1$pn; - break; - } else $pe$1$pn = $p0$0; - } - $56 = $pe$1 - $p0$1 | 0; - if ($56 >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($agg$result); - if ($56 >>> 0 < 11) { - HEAP8[$agg$result >> 0] = $56 << 1; - $__p$0$ph$i$i = $agg$result + 1 | 0; - } else { - $63 = $56 + 16 & -16; - $64 = _malloc($63) | 0; - HEAP32[$agg$result + 8 >> 2] = $64; - HEAP32[$agg$result >> 2] = $63 | 1; - HEAP32[$agg$result + 4 >> 2] = $56; - $__p$0$ph$i$i = $64; - } - if (($p0$1 | 0) != ($pe$1 | 0)) { - $$0$i$i27 = $p0$1; - $__p$0$i$i26 = $__p$0$ph$i$i; - while (1) { - HEAP8[$__p$0$i$i26 >> 0] = HEAP8[$$0$i$i27 >> 0] | 0; - $$0$i$i27 = $$0$i$i27 + 1 | 0; - if (($$0$i$i27 | 0) == ($pe$1 | 0)) break; else $__p$0$i$i26 = $__p$0$i$i26 + 1 | 0; - } - } - HEAP8[$__p$0$ph$i$i + $56 >> 0] = 0; - } while (0); - return; -} - -function _trinkle($head, $width, $cmp, $pp, $pshift, $trusty, $lp) { - $head = $head | 0; - $width = $width | 0; - $cmp = $cmp | 0; - $pp = $pp | 0; - $pshift = $pshift | 0; - $trusty = $trusty | 0; - $lp = $lp | 0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $0 = 0, $10 = 0, $17 = 0, $18 = 0, $2 = 0, $24 = 0, $26 = 0, $27 = 0, $3 = 0, $31 = 0, $37 = 0, $40 = 0, $47 = 0, $49 = 0, $51 = 0, $54 = 0, $57 = 0, $58 = 0, $65 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ar = sp; - $0 = HEAP32[$pp >> 2] | 0; - $2 = HEAP32[$pp + 4 >> 2] | 0; - HEAP32[$ar >> 2] = $head; - $3 = 0 - $width | 0; - L1 : do if (($2 | 0) != 0 | ($0 | 0) != 1) { - $10 = $head + (0 - (HEAP32[$lp + ($pshift << 2) >> 2] | 0)) | 0; - if ((FUNCTION_TABLE_iii[$cmp & 15]($10, $head) | 0) < 1) { - $$0$lcssa = $head; - $$02$lcssa = $pshift; - $$03$lcssa = $trusty; - $i$0$lcssa = 1; - label = 19; - } else { - $$01162 = $head; - $$02964 = $pshift; - $$03865 = ($trusty | 0) == 0; - $18 = $10; - $27 = $0; - $37 = $2; - $i$01063 = 1; - while (1) { - if ($$03865 & ($$02964 | 0) > 1) { - $17 = HEAP32[$lp + ($$02964 + -2 << 2) >> 2] | 0; - if ((FUNCTION_TABLE_iii[$cmp & 15]($$01162 + $3 | 0, $18) | 0) > -1) { - $$0$lcssa49 = $$01162; - $$02$lcssa51 = $$02964; - $i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - if ((FUNCTION_TABLE_iii[$cmp & 15]($$01162 + (0 - ($17 + $width)) | 0, $18) | 0) > -1) { - $$0$lcssa49 = $$01162; - $$02$lcssa51 = $$02964; - $i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = $i$01063 + 1 | 0; - HEAP32[$ar + ($i$01063 << 2) >> 2] = $18; - $26 = $27 + -1 | 0; - do if (!$26) { - $49 = 32; - label = 16; - } else { - if (!($26 & 1)) { - $$02$i$i = $26; - $nTrailingZeros$03$i$i = 0; - while (1) { - $31 = $nTrailingZeros$03$i$i + 1 | 0; - $$02$i$i = $$02$i$i >>> 1; - if ($$02$i$i & 1) { - $$lcssa = $31; - break; - } else $nTrailingZeros$03$i$i = $31; - } - if (!$$lcssa) label = 11; else $47 = $$lcssa; - } else label = 11; - if ((label | 0) == 11) { - label = 0; - if (!$37) { - $49 = 64; - label = 16; - break; - } - if (!($37 & 1)) { - $$02$i3$i = $37; - $nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0; - $51 = $27; - $54 = $37; - $58 = 0; - break; - } - while (1) { - $40 = $nTrailingZeros$03$i2$i + 1 | 0; - $$02$i3$i = $$02$i3$i >>> 1; - if ($$02$i3$i & 1) { - $$lcssa75 = $40; - $nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } else $nTrailingZeros$03$i2$i = $40; - } - if (!$$lcssa75) { - $$0$i = 0; - $51 = $27; - $54 = $37; - $58 = 0; - break; - } else $47 = $nTrailingZeros$03$i2$i$lcssa + 33 | 0; - } - if ($47 >>> 0 > 31) { - $49 = $47; - label = 16; - } else { - $$0$i = $47; - $51 = $27; - $54 = $37; - $58 = $47; - } - } while (0); - if ((label | 0) == 16) { - label = 0; - $$0$i = $49 + -32 | 0; - $51 = $37; - $54 = 0; - $58 = $49; - } - $27 = $54 << 32 - $$0$i | $51 >>> $$0$i; - $37 = $54 >>> $$0$i; - $57 = $58 + $$02964 | 0; - if (!(($37 | 0) != 0 | ($27 | 0) != 1)) { - $$0$lcssa49 = $18; - $$02$lcssa51 = $57; - $i$0$lcssa50 = $24; - label = 20; - break L1; - } - $65 = $18 + (0 - (HEAP32[$lp + ($57 << 2) >> 2] | 0)) | 0; - if ((FUNCTION_TABLE_iii[$cmp & 15]($65, HEAP32[$ar >> 2] | 0) | 0) < 1) { - $$0$lcssa = $18; - $$02$lcssa = $57; - $$03$lcssa = 0; - $i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18; - $$02964 = $57; - $$03865 = 1; - $18 = $65; - $i$01063 = $24; - $$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head; - $$02$lcssa = $pshift; - $$03$lcssa = $trusty; - $i$0$lcssa = 1; - label = 19; - } while (0); - if ((label | 0) == 19) if (!$$03$lcssa) { - $$0$lcssa49 = $$0$lcssa; - $$02$lcssa51 = $$02$lcssa; - $i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - if ((label | 0) == 20) { - _cycle($width, $ar, $i$0$lcssa50); - _sift($$0$lcssa49, $width, $cmp, $$02$lcssa51, $lp); - } - STACKTOP = sp; - return; -} - -function _arMatrixPCA($input, $evec, $ev, $mean) { - $input = $input | 0; - $evec = $evec | 0; - $ev = $ev | 0; - $mean = $mean | 0; - var $$0 = 0, $1 = 0, $14 = 0, $17 = 0, $20 = 0, $23 = 0.0, $25 = 0, $27 = 0, $3 = 0, $32 = 0, $35 = 0, $36 = 0.0, $37 = 0, $46 = 0, $5 = 0, $52 = 0, $53 = 0, $65 = 0, $70 = 0, $71 = 0, $73 = 0, $75 = 0, $78 = 0.0, $81 = 0, $exitcond3$i29 = 0, $i$0$i322 = 0, $i$0$i42 = 0, $i$015 = 0, $i$1$i38 = 0, $i$113 = 0, $i$2$i26 = 0, $i$211 = 0, $j$0$i32 = 0, $j$0$i619 = 0, $m$0$i221 = 0, $m$0$i37 = 0, $m$1$i31 = 0, $m$1$i518 = 0, $smax$i = 0, $sum$0$lcssa = 0.0, $sum$012 = 0.0, $v$0$i30 = 0, $v$0$i417 = 0; - $1 = HEAP32[$input + 4 >> 2] | 0; - $3 = HEAP32[$input + 8 >> 2] | 0; - $5 = ($1 | 0) < ($3 | 0) ? $1 : $3; - L1 : do if (($1 | 0) < 2 | ($3 | 0) < 2) $$0 = -1; else if ((HEAP32[$evec + 8 >> 2] | 0) == ($3 | 0)) if ((HEAP32[$evec + 4 >> 2] | 0) == ($5 | 0)) { - $14 = $ev + 4 | 0; - if ((HEAP32[$14 >> 2] | 0) == ($5 | 0)) { - $17 = $mean + 4 | 0; - if ((HEAP32[$17 >> 2] | 0) == ($3 | 0)) { - $20 = _arMatrixAllocDup($input) | 0; - if (!$20) $$0 = -1; else { - $23 = +Math_sqrt(+(+($1 | 0))); - $25 = HEAP32[$20 + 4 >> 2] | 0; - $27 = HEAP32[$20 + 8 >> 2] | 0; - if (!(($25 | 0) < 1 | ($27 | 0) < 1)) if ((HEAP32[$17 >> 2] | 0) == ($27 | 0)) { - if ($27) { - $32 = HEAP32[$mean >> 2] | 0; - $i$0$i42 = 0; - do { - HEAPF64[$32 + ($i$0$i42 << 3) >> 3] = 0.0; - $i$0$i42 = $i$0$i42 + 1 | 0; - } while (($i$0$i42 | 0) != ($27 | 0)); - } - $35 = HEAP32[$20 >> 2] | 0; - if ($25) { - $exitcond3$i29 = ($27 | 0) == 0; - $i$1$i38 = 0; - $m$0$i37 = $35; - while (1) { - if (!$exitcond3$i29) { - $j$0$i32 = 0; - $m$1$i31 = $m$0$i37; - $v$0$i30 = HEAP32[$mean >> 2] | 0; - while (1) { - HEAPF64[$v$0$i30 >> 3] = +HEAPF64[$m$1$i31 >> 3] + +HEAPF64[$v$0$i30 >> 3]; - $j$0$i32 = $j$0$i32 + 1 | 0; - if (($j$0$i32 | 0) == ($27 | 0)) break; else { - $m$1$i31 = $m$1$i31 + 8 | 0; - $v$0$i30 = $v$0$i30 + 8 | 0; - } - } - } - $i$1$i38 = $i$1$i38 + 1 | 0; - if (($i$1$i38 | 0) == ($25 | 0)) break; else $m$0$i37 = $m$0$i37 + ($27 << 3) | 0; - } - } - $36 = +($25 | 0); - if ($27) { - $37 = HEAP32[$mean >> 2] | 0; - $i$2$i26 = 0; - do { - $46 = $37 + ($i$2$i26 << 3) | 0; - HEAPF64[$46 >> 3] = +HEAPF64[$46 >> 3] / $36; - $i$2$i26 = $i$2$i26 + 1 | 0; - } while (($i$2$i26 | 0) != ($27 | 0)); - } - $smax$i = ($27 | 0) > 0 ? $27 : 0; - if (($25 | 0) > 0) { - $52 = ($27 | 0) > 0; - $i$0$i322 = 0; - $m$0$i221 = $35; - while (1) { - if ($52) { - $j$0$i619 = 0; - $m$1$i518 = $m$0$i221; - $v$0$i417 = HEAP32[$mean >> 2] | 0; - while (1) { - HEAPF64[$m$1$i518 >> 3] = +HEAPF64[$m$1$i518 >> 3] - +HEAPF64[$v$0$i417 >> 3]; - $j$0$i619 = $j$0$i619 + 1 | 0; - if (($j$0$i619 | 0) >= ($27 | 0)) break; else { - $m$1$i518 = $m$1$i518 + 8 | 0; - $v$0$i417 = $v$0$i417 + 8 | 0; - } - } - } - $i$0$i322 = $i$0$i322 + 1 | 0; - if (($i$0$i322 | 0) >= ($25 | 0)) break; else $m$0$i221 = $m$0$i221 + ($smax$i << 3) | 0; - } - } - $53 = Math_imul($3, $1) | 0; - if (($53 | 0) > 0) { - $i$015 = 0; - do { - $65 = $35 + ($i$015 << 3) | 0; - HEAPF64[$65 >> 3] = +HEAPF64[$65 >> 3] / $23; - $i$015 = $i$015 + 1 | 0; - } while (($i$015 | 0) < ($53 | 0)); - } - $70 = _PCA($20, $evec, $ev) | 0; - _arMatrixFree($20) | 0; - $71 = HEAP32[$14 >> 2] | 0; - if (($71 | 0) > 0) { - $73 = HEAP32[$ev >> 2] | 0; - $i$113 = 0; - $sum$012 = 0.0; - while (1) { - $78 = $sum$012 + +HEAPF64[$73 + ($i$113 << 3) >> 3]; - $i$113 = $i$113 + 1 | 0; - if (($i$113 | 0) >= ($71 | 0)) { - $sum$0$lcssa = $78; - break; - } else $sum$012 = $78; - } - } else $sum$0$lcssa = 0.0; - if (($71 | 0) <= 0) { - $$0 = $70; - break; - } - $75 = HEAP32[$ev >> 2] | 0; - $i$211 = 0; - while (1) { - $81 = $75 + ($i$211 << 3) | 0; - HEAPF64[$81 >> 3] = +HEAPF64[$81 >> 3] / $sum$0$lcssa; - $i$211 = $i$211 + 1 | 0; - if (($i$211 | 0) >= ($71 | 0)) { - $$0 = $70; - break L1; - } - } - } - _arMatrixFree($20) | 0; - $$0 = -1; - } - } else $$0 = -1; - } else $$0 = -1; - } else $$0 = -1; else $$0 = -1; while (0); - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_126parse_base_unresolved_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $$0$i = 0, $10 = 0, $12 = 0, $14 = 0, $15 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $29 = 0, $31 = 0, $4 = 0, $42 = 0, $48 = 0, $52 = 0, $54 = 0, $56 = 0, $58 = 0, $59 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $73 = 0, $75 = 0, $9 = 0, $args = 0, $args3 = 0, $t$0$i = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $args = sp + 12 | 0; - $args3 = sp; - L1 : do if (($last - $first | 0) > 1) { - $4 = HEAP8[$first >> 0] | 0; - switch ($4 << 24 >> 24) { - case 100: - case 111: - { - if ((HEAP8[$first + 1 >> 0] | 0) == 110) { - $9 = $first + 2 | 0; - if ($4 << 24 >> 24 == 111) { - $10 = __ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_($9, $last, $db) | 0; - if (($10 | 0) == ($9 | 0)) { - $$0 = $first; - break L1; - } - $12 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($10, $last, $db) | 0; - if (($12 | 0) == ($10 | 0)) { - $$0 = $10; - break L1; - } - $14 = $db + 4 | 0; - $15 = HEAP32[$14 >> 2] | 0; - if ((($15 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) { - $$0 = $12; - break L1; - } - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args, $15 + -24 | 0); - $23 = HEAP32[$14 >> 2] | 0; - $24 = $23 + -24 | 0; - $26 = $23; - do { - $25 = $26 + -24 | 0; - HEAP32[$14 >> 2] = $25; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($25); - $26 = HEAP32[$14 >> 2] | 0; - } while (($26 | 0) != ($24 | 0)); - $29 = HEAP8[$args >> 0] | 0; - $31 = ($29 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($23 + -48 | 0, $31 ? $args + 1 | 0 : HEAP32[$args + 8 >> 2] | 0, $31 ? ($29 & 255) >>> 1 : HEAP32[$args + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$0 = $12; - break L1; - } - if (($9 | 0) == ($last | 0)) $$0$i = $last; else { - $42 = __ZN10__cxxabiv112_GLOBAL__N_121parse_unresolved_typeINS0_2DbEEEPKcS4_S4_RT_($9, $last, $db) | 0; - if (($42 | 0) == ($9 | 0)) $t$0$i = __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($9, $last, $db) | 0; else $t$0$i = $42; - if (($t$0$i | 0) == ($9 | 0)) $$0$i = $9; else { - $48 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($48 | 0)) $$0$i = $9; else { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($48 + -24 | 0, 0, 12928) | 0; - $$0$i = $t$0$i; - } - } - } - STACKTOP = sp; - return (($$0$i | 0) == ($9 | 0) ? $first : $$0$i) | 0; - } - break; - } - default: - {} - } - $52 = __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($52 | 0) == ($first | 0)) { - $54 = __ZN10__cxxabiv112_GLOBAL__N_119parse_operator_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($54 | 0) == ($first | 0)) $$0 = $first; else { - $56 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($54, $last, $db) | 0; - if (($56 | 0) == ($54 | 0)) $$0 = $54; else { - $58 = $db + 4 | 0; - $59 = HEAP32[$58 >> 2] | 0; - if ((($59 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$0 = $56; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args3, $59 + -24 | 0); - $67 = HEAP32[$58 >> 2] | 0; - $68 = $67 + -24 | 0; - $70 = $67; - do { - $69 = $70 + -24 | 0; - HEAP32[$58 >> 2] = $69; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($69); - $70 = HEAP32[$58 >> 2] | 0; - } while (($70 | 0) != ($68 | 0)); - $73 = HEAP8[$args3 >> 0] | 0; - $75 = ($73 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($67 + -48 | 0, $75 ? $args3 + 1 | 0 : HEAP32[$args3 + 8 >> 2] | 0, $75 ? ($73 & 255) >>> 1 : HEAP32[$args3 + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args3); - $$0 = $56; - } - } - } - } else $$0 = $52; - } else $$0 = $first; while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arParamLoad($filename, $num, $param, $varargs) { - $filename = $filename | 0; - $num = $num | 0; - $param = $param | 0; - $varargs = $varargs | 0; - var $$pre$phi14Z2D = 0, $11 = 0, $14 = 0, $15 = 0, $18 = 0, $21 = 0, $23 = 0, $26 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $36 = 0, $43 = 0, $44 = 0, $5 = 0, $53 = 0.0, $8 = 0, $ap = 0, $dist_function_version$04 = 0, $i$0 = 0, $i$0$lcssa = 0, $i$119 = 0, $param_wasRead = 0, $ret$06 = 0, $ret$09 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer18 = sp + 232 | 0; - $vararg_buffer15 = sp + 224 | 0; - $vararg_buffer13 = sp + 216 | 0; - $vararg_buffer9 = sp + 208 | 0; - $vararg_buffer6 = sp + 200 | 0; - $vararg_buffer2 = sp + 192 | 0; - $vararg_buffer = sp + 184 | 0; - $ap = sp + 240 | 0; - $param_wasRead = sp; - do if (($filename | 0) != 0 & ($num | 0) > 0 & ($param | 0) != 0) { - $3 = _fopen($filename, 4854) | 0; - if (!$3) { - $5 = ___errno_location() | 0; - HEAP32[$vararg_buffer >> 2] = HEAP32[$5 >> 2]; - HEAP32[$vararg_buffer + 4 >> 2] = $filename; - _arLog(3, 4857, $vararg_buffer); - $8 = _strerror(HEAP32[$5 >> 2] | 0) | 0; - HEAP32[$vararg_buffer2 >> 2] = 13835; - HEAP32[$vararg_buffer2 + 4 >> 2] = $8; - _arLog(3, 5361, $vararg_buffer2); - $ret$06 = -1; - break; - } - _fseek($3, 0, 2) | 0; - L6 : do if (!(_ferror($3) | 0)) { - $15 = _ftell($3) | 0; - _rewind($3); - $i$0 = 0; - while (1) { - if (($i$0 | 0) >= 4) { - $i$0$lcssa = $i$0; - label = 9; - break; - } - $18 = HEAP32[2012 + ($i$0 << 3) + 4 >> 2] | 0; - $21 = $i$0 + 1 | 0; - if (!(($15 | 0) % ($18 | 0) | 0)) { - $23 = $18; - $dist_function_version$04 = $21; - break; - } else $i$0 = $21; - } - do if ((label | 0) == 9) if (($i$0$lcssa | 0) == 4) { - _arLog(3, 4971, $vararg_buffer13); - $ret$09 = -1; - break L6; - } else { - $23 = HEAP32[2012 + (0 << 3) + 4 >> 2] | 0; - $dist_function_version$04 = 0; - break; - } while (0); - if ((_fread($param_wasRead, $23, 1, $3) | 0) != 1) { - $26 = ___errno_location() | 0; - HEAP32[$vararg_buffer15 >> 2] = HEAP32[$26 >> 2]; - _arLog(3, 5051, $vararg_buffer15); - $29 = _strerror(HEAP32[$26 >> 2] | 0) | 0; - HEAP32[$vararg_buffer18 >> 2] = 13835; - HEAP32[$vararg_buffer18 + 4 >> 2] = $29; - _arLog(3, 5361, $vararg_buffer18); - $ret$09 = -1; - break; - } - $30 = $param_wasRead + 176 | 0; - HEAP32[$30 >> 2] = $dist_function_version$04; - _byteswap($param_wasRead); - $31 = ($dist_function_version$04 | 0) == 1; - $32 = $param_wasRead + 120 | 0; - if ($31) { - $33 = +HEAPF64[$32 >> 3]; - $34 = $param_wasRead + 128 | 0; - HEAPF64[$32 >> 3] = +HEAPF64[$34 >> 3]; - HEAPF64[$34 >> 3] = $33; - $$pre$phi14Z2D = $34; - } else $$pre$phi14Z2D = $param_wasRead + 128 | 0; - _memcpy($param | 0, $param_wasRead | 0, 184) | 0; - HEAP32[$ap >> 2] = $varargs; - $36 = $param + 176 | 0; - if (($num | 0) > 1) { - $i$119 = 1; - while (1) { - $43 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $44 = HEAP32[$43 >> 2] | 0; - HEAP32[$ap >> 2] = $43 + 4; - HEAP32[$44 + 176 >> 2] = HEAP32[$36 >> 2]; - if ((_fread($param_wasRead, HEAP32[2012 + ((HEAP32[$36 >> 2] | 0) + -1 << 3) + 4 >> 2] | 0, 1, $3) | 0) != 1) { - $ret$09 = -1; - break L6; - } - HEAP32[$30 >> 2] = $dist_function_version$04; - _byteswap($param_wasRead); - if ($31) { - $53 = +HEAPF64[$32 >> 3]; - HEAPF64[$32 >> 3] = +HEAPF64[$$pre$phi14Z2D >> 3]; - HEAPF64[$$pre$phi14Z2D >> 3] = $53; - } - _memcpy($44 | 0, $param_wasRead | 0, 184) | 0; - $i$119 = $i$119 + 1 | 0; - if (($i$119 | 0) >= ($num | 0)) { - $ret$09 = 0; - break; - } - } - } else $ret$09 = 0; - } else { - $11 = ___errno_location() | 0; - HEAP32[$vararg_buffer6 >> 2] = HEAP32[$11 >> 2]; - _arLog(3, 4926, $vararg_buffer6); - $14 = _strerror(HEAP32[$11 >> 2] | 0) | 0; - HEAP32[$vararg_buffer9 >> 2] = 13835; - HEAP32[$vararg_buffer9 + 4 >> 2] = $14; - _arLog(3, 5361, $vararg_buffer9); - $ret$09 = -1; - } while (0); - _fclose($3) | 0; - $ret$06 = $ret$09; - } else $ret$06 = -1; while (0); - STACKTOP = sp; - return $ret$06 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_123parse_prefix_expressionINS0_2DbEEEPKcS4_S4_RKNT_6StringERS5_($first, $last, $op, $db) { - $first = $first | 0; - $last = $last | 0; - $op = $op | 0; - $db = $db | 0; - var $$04 = 0, $$pre$i$i$i = 0, $0 = 0, $1 = 0, $10 = 0, $13 = 0, $15 = 0, $2 = 0, $25 = 0, $28 = 0, $3 = 0, $35 = 0, $37 = 0, $4 = 0, $40 = 0, $44 = 0, $47 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $59 = 0, $60 = 0, $69 = 0, $7 = 0, $72 = 0, $77 = 0, $8 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 36 | 0; - $1 = sp + 24 | 0; - $2 = sp + 12 | 0; - $3 = sp; - $4 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($4 | 0) == ($first | 0)) $$04 = $first; else { - $7 = $db + 4 | 0; - $8 = HEAP32[$7 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($8 | 0)) $$04 = $first; else { - $10 = $8 + -24 | 0; - __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_($2, $op, 12714); - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, (HEAP32[$7 >> 2] | 0) + -24 | 0); - $13 = HEAP8[$3 >> 0] | 0; - $15 = ($13 & 1) == 0; - $25 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($2, $15 ? $3 + 1 | 0 : HEAP32[$3 + 8 >> 2] | 0, $15 ? ($13 & 255) >>> 1 : HEAP32[$3 + 4 >> 2] | 0) | 0; - HEAP32[$1 >> 2] = HEAP32[$25 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$25 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$25 + 8 >> 2]; - HEAP32[$25 >> 2] = 0; - HEAP32[$25 + 4 >> 2] = 0; - HEAP32[$25 + 8 >> 2] = 0; - $28 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($1, 12619) | 0; - HEAP32[$0 >> 2] = HEAP32[$28 >> 2]; - HEAP32[$0 + 4 >> 2] = HEAP32[$28 + 4 >> 2]; - HEAP32[$0 + 8 >> 2] = HEAP32[$28 + 8 >> 2]; - HEAP32[$28 >> 2] = 0; - HEAP32[$28 + 4 >> 2] = 0; - HEAP32[$28 + 8 >> 2] = 0; - do if (!(HEAP8[$10 >> 0] & 1)) { - HEAP8[$10 + 1 >> 0] = 0; - HEAP8[$10 >> 0] = 0; - } else { - $35 = $8 + -16 | 0; - HEAP8[HEAP32[$35 >> 2] >> 0] = 0; - $37 = $8 + -20 | 0; - HEAP32[$37 >> 2] = 0; - $$pre$i$i$i = HEAP8[$10 >> 0] | 0; - if (!($$pre$i$i$i & 1)) { - $44 = $$pre$i$i$i; - $53 = 10; - } else { - $40 = HEAP32[$10 >> 2] | 0; - $44 = $40 & 255; - $53 = ($40 & -2) + -1 | 0; - } - if (!($44 & 1)) { - $47 = ($44 & 255) >>> 1; - if (($44 & 255) < 22) { - $52 = 10; - $72 = $47; - $77 = 1; - } else { - $52 = ($47 + 16 & 240) + -1 | 0; - $72 = $47; - $77 = 1; - } - } else { - $52 = 10; - $72 = 0; - $77 = 0; - } - if (($52 | 0) != ($53 | 0)) { - if (($52 | 0) == 10) { - $59 = $10 + 1 | 0; - $60 = HEAP32[$35 >> 2] | 0; - if ($77) { - _memcpy($59 | 0, $60 | 0, (($44 & 255) >>> 1) + 1 | 0) | 0; - _free($60); - } else { - HEAP8[$59 >> 0] = HEAP8[$60 >> 0] | 0; - _free($60); - } - HEAP8[$10 >> 0] = $72 << 1; - break; - } - $56 = $52 + 1 | 0; - $57 = _malloc($56) | 0; - if (!($52 >>> 0 <= $53 >>> 0 & ($57 | 0) == 0)) { - if ($77) _memcpy($57 | 0, $10 + 1 | 0, (($44 & 255) >>> 1) + 1 | 0) | 0; else { - $69 = HEAP32[$35 >> 2] | 0; - HEAP8[$57 >> 0] = HEAP8[$69 >> 0] | 0; - _free($69); - } - HEAP32[$10 >> 2] = $56 | 1; - HEAP32[$37 >> 2] = $72; - HEAP32[$35 >> 2] = $57; - } - } - } while (0); - HEAP32[$10 >> 2] = HEAP32[$0 >> 2]; - HEAP32[$10 + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$10 + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - $$04 = $4; - } - } - STACKTOP = sp; - return $$04 | 0; -} - -function _icpPoint($handle, $data, $initMatXw2Xc, $matXw2Xc, $err) { - $handle = $handle | 0; - $data = $data | 0; - $initMatXw2Xc = $initMatXw2Xc | 0; - $matXw2Xc = $matXw2Xc | 0; - $err = $err | 0; - var $$0 = 0, $$lcssa = 0, $$lcssa28 = 0, $$lcssa50 = 0.0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $28 = 0, $34 = 0, $38 = 0.0, $4 = 0, $42 = 0.0, $46 = 0.0, $47 = 0, $52 = 0, $55 = 0.0, $7 = 0, $9 = 0, $U = 0, $dS = 0, $err0$0 = 0.0, $err1$0$lcssa = 0.0, $err1$033 = 0.0, $i$1 = 0, $j$042 = 0, $j$134 = 0, $j$238 = 0, $matXw2U = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 168 | 0; - $vararg_buffer = sp + 160 | 0; - $U = sp + 48 | 0; - $matXw2U = sp + 64 | 0; - $dS = sp; - $0 = $data + 8 | 0; - $1 = HEAP32[$0 >> 2] | 0; - do if (($1 | 0) < 3) $$0 = -1; else { - $4 = _malloc($1 * 96 | 0) | 0; - if (!$4) { - _arLog(3, 5109, $vararg_buffer); - $$0 = -1; - break; - } - $7 = _malloc($1 << 4) | 0; - if (!$7) { - _arLog(3, 5109, $vararg_buffer1); - _free($4); - $$0 = -1; - break; - } else $j$042 = 0; - do { - HEAPF64[$matXw2Xc + ($j$042 << 5) >> 3] = +HEAPF64[$initMatXw2Xc + ($j$042 << 5) >> 3]; - HEAPF64[$matXw2Xc + ($j$042 << 5) + 8 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$042 << 5) + 8 >> 3]; - HEAPF64[$matXw2Xc + ($j$042 << 5) + 16 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$042 << 5) + 16 >> 3]; - HEAPF64[$matXw2Xc + ($j$042 << 5) + 24 >> 3] = +HEAPF64[$initMatXw2Xc + ($j$042 << 5) + 24 >> 3]; - $j$042 = $j$042 + 1 | 0; - } while (($j$042 | 0) != 3); - $9 = $data + 4 | 0; - $10 = $U + 8 | 0; - $11 = $handle + 104 | 0; - $12 = $handle + 120 | 0; - $13 = $handle + 112 | 0; - $14 = $handle + 96 | 0; - $err0$0 = 0.0; - $i$1 = 0; - L11 : while (1) { - _arUtilMatMul($handle, $matXw2Xc, $matXw2U) | 0; - $28 = HEAP32[$0 >> 2] | 0; - if (($28 | 0) > 0) { - $err1$033 = 0.0; - $j$134 = 0; - while (1) { - if ((_icpGetU_from_X_by_MatX2U($U, $matXw2U, (HEAP32[$9 >> 2] | 0) + ($j$134 * 24 | 0) | 0) | 0) < 0) { - label = 10; - break L11; - } - $34 = HEAP32[$data >> 2] | 0; - $38 = +HEAPF64[$34 + ($j$134 << 4) >> 3] - +HEAPF64[$U >> 3]; - $42 = +HEAPF64[$34 + ($j$134 << 4) + 8 >> 3] - +HEAPF64[$10 >> 3]; - $46 = $err1$033 + ($38 * $38 + $42 * $42); - $47 = $j$134 << 1; - HEAPF64[$7 + ($47 << 3) >> 3] = $38; - HEAPF64[$7 + (($47 | 1) << 3) >> 3] = $42; - $j$134 = $j$134 + 1 | 0; - $52 = HEAP32[$0 >> 2] | 0; - if (($j$134 | 0) >= ($52 | 0)) { - $$lcssa = $52; - $err1$0$lcssa = $46; - break; - } else $err1$033 = $46; - } - } else { - $$lcssa = $28; - $err1$0$lcssa = 0.0; - } - $55 = $err1$0$lcssa / +($$lcssa | 0); - if ($55 < +HEAPF64[$11 >> 3]) { - $$lcssa50 = $55; - label = 24; - break; - } - if (($i$1 | 0) > 0) if ($55 < +HEAPF64[$12 >> 3]) if ($55 / $err0$0 > +HEAPF64[$13 >> 3]) { - $$lcssa50 = $55; - label = 24; - break; - } - if (($i$1 | 0) == (HEAP32[$14 >> 2] | 0)) { - $$lcssa50 = $55; - label = 24; - break; - } - if (($$lcssa | 0) > 0) { - $j$238 = 0; - while (1) { - if ((_icpGetJ_U_S($4 + ($j$238 * 12 << 3) | 0, $handle, $matXw2Xc, (HEAP32[$9 >> 2] | 0) + ($j$238 * 24 | 0) | 0) | 0) < 0) { - label = 20; - break L11; - } - $j$238 = $j$238 + 1 | 0; - $$pre = HEAP32[$0 >> 2] | 0; - if (($j$238 | 0) >= ($$pre | 0)) { - $$lcssa28 = $$pre; - break; - } - } - } else $$lcssa28 = $$lcssa; - if ((_icpGetDeltaS($dS, $7, $4, $$lcssa28 << 1) | 0) < 0) { - label = 22; - break; - } - _icpUpdateMat($matXw2Xc, $dS) | 0; - $err0$0 = $55; - $i$1 = $i$1 + 1 | 0; - } - if ((label | 0) == 10) { - _icpGetXw2XcCleanup($4, $7); - $$0 = -1; - break; - } else if ((label | 0) == 20) { - _icpGetXw2XcCleanup($4, $7); - $$0 = -1; - break; - } else if ((label | 0) == 22) { - _icpGetXw2XcCleanup($4, $7); - $$0 = -1; - break; - } else if ((label | 0) == 24) { - HEAPF64[$err >> 3] = $$lcssa50; - _free($4); - _free($7); - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arGetMarkerInfo($image, $xsize, $ysize, $pixelFormat, $markerInfo2, $marker2_num, $pattHandle, $imageProcMode, $pattDetectMode, $arParamLTf, $pattRatio, $markerInfo, $marker_num, $matrixCodeType) { - $image = $image | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $pixelFormat = $pixelFormat | 0; - $markerInfo2 = $markerInfo2 | 0; - $marker2_num = $marker2_num | 0; - $pattHandle = $pattHandle | 0; - $imageProcMode = $imageProcMode | 0; - $pattDetectMode = $pattDetectMode | 0; - $arParamLTf = $arParamLTf | 0; - $pattRatio = +$pattRatio; - $markerInfo = $markerInfo | 0; - $marker_num = $marker_num | 0; - $matrixCodeType = $matrixCodeType | 0; - var $0 = 0, $1 = 0, $26 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $i$03 = 0, $j$0$lcssa = 0, $j$02 = 0, $j$1 = 0, $pos0 = 0, $pos1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $pos0 = sp + 4 | 0; - $pos1 = sp; - $0 = $pattDetectMode >>> 0 < 2; - $1 = ($pattDetectMode | 0) == 2; - if (($marker2_num | 0) > 0) { - $i$03 = 0; - $j$02 = 0; - while (1) { - HEAP32[$markerInfo + ($j$02 << 8) >> 2] = HEAP32[$markerInfo2 + ($i$03 * 80048 | 0) >> 2]; - if ((_arParamObserv2IdealLTf($arParamLTf, +HEAPF64[$markerInfo2 + ($i$03 * 80048 | 0) + 8 >> 3], +HEAPF64[$markerInfo2 + ($i$03 * 80048 | 0) + 16 >> 3], $pos0, $pos1) | 0) < 0) $j$1 = $j$02; else { - HEAPF64[$markerInfo + ($j$02 << 8) + 56 >> 3] = +HEAPF32[$pos0 >> 2]; - HEAPF64[$markerInfo + ($j$02 << 8) + 64 >> 3] = +HEAPF32[$pos1 >> 2]; - $26 = $markerInfo + ($j$02 << 8) + 168 | 0; - if ((_arGetLine($markerInfo2 + ($i$03 * 80048 | 0) + 28 | 0, $markerInfo2 + ($i$03 * 80048 | 0) + 40028 | 0, HEAP32[$markerInfo2 + ($i$03 * 80048 | 0) + 24 >> 2] | 0, $markerInfo2 + ($i$03 * 80048 | 0) + 80028 | 0, $arParamLTf, $markerInfo + ($j$02 << 8) + 72 | 0, $26) | 0) < 0) $j$1 = $j$02; else { - $29 = $markerInfo + ($j$02 << 8) + 8 | 0; - $30 = $markerInfo + ($j$02 << 8) + 20 | 0; - $31 = $markerInfo + ($j$02 << 8) + 40 | 0; - $32 = $markerInfo + ($j$02 << 8) + 12 | 0; - $33 = $markerInfo + ($j$02 << 8) + 24 | 0; - $34 = $markerInfo + ($j$02 << 8) + 48 | 0; - switch (_arPattGetIDGlobal($pattHandle, $imageProcMode, $pattDetectMode, $image, $xsize, $ysize, $pixelFormat, $arParamLTf, $26, $pattRatio, $29, $30, $31, $32, $33, $34, $matrixCodeType, $markerInfo + ($j$02 << 8) + 240 | 0, $markerInfo + ($j$02 << 8) + 248 | 0) | 0) { - case 0: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 0; - break; - } - case -1: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 2; - break; - } - case -2: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 3; - break; - } - case -3: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 4; - break; - } - case -4: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 5; - break; - } - case -5: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 9; - break; - } - case -6: - { - HEAP32[$markerInfo + ($j$02 << 8) + 236 >> 2] = 1; - break; - } - default: - {} - } - if ($0) { - HEAP32[$markerInfo + ($j$02 << 8) + 4 >> 2] = HEAP32[$29 >> 2]; - HEAP32[$markerInfo + ($j$02 << 8) + 16 >> 2] = HEAP32[$30 >> 2]; - HEAPF64[$markerInfo + ($j$02 << 8) + 32 >> 3] = +HEAPF64[$31 >> 3]; - } else if ($1) { - HEAP32[$markerInfo + ($j$02 << 8) + 4 >> 2] = HEAP32[$32 >> 2]; - HEAP32[$markerInfo + ($j$02 << 8) + 16 >> 2] = HEAP32[$33 >> 2]; - HEAPF64[$markerInfo + ($j$02 << 8) + 32 >> 3] = +HEAPF64[$34 >> 3]; - } - $j$1 = $j$02 + 1 | 0; - } - } - $i$03 = $i$03 + 1 | 0; - if (($i$03 | 0) >= ($marker2_num | 0)) { - $j$0$lcssa = $j$1; - break; - } else $j$02 = $j$1; - } - } else $j$0$lcssa = 0; - HEAP32[$marker_num >> 2] = $j$0$lcssa; - STACKTOP = sp; - return 0; -} - -function _arImageProcLumaHistAndBoxFilterWithBias($ipi, $dataPtr, $boxSize, $bias) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - $boxSize = $boxSize | 0; - $bias = $bias | 0; - var $$0 = 0, $$lcssa = 0, $$pre$phi6Z2D = 0, $$pre$phiZ2D = 0, $0 = 0, $10 = 0, $12 = 0, $13 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $20 = 0, $24 = 0, $25 = 0, $26 = 0, $43 = 0, $5 = 0, $50 = 0, $57 = 0, $7 = 0, $count$0$lcssa = 0, $count$015 = 0, $count$110 = 0, $count$2 = 0, $count$3 = 0, $i$020 = 0, $i$18 = 0, $j$021 = 0, $kernel_i$011 = 0, $kernel_j$016 = 0, $val$0$lcssa = 0, $val$014 = 0, $val$19 = 0, $val$2 = 0, $val$3 = 0; - $0 = _arImageProcLumaHist($ipi, $dataPtr) | 0; - do if (($0 | 0) < 0) $$0 = $0; else { - $2 = $ipi + 4 | 0; - if (!(HEAP32[$2 >> 2] | 0)) { - $5 = $ipi + 8 | 0; - $7 = $ipi + 12 | 0; - $10 = _malloc(Math_imul(HEAP32[$7 >> 2] | 0, HEAP32[$5 >> 2] | 0) | 0) | 0; - HEAP32[$2 >> 2] = $10; - if (!$10) { - $$0 = -1; - break; - } else { - $$pre$phi6Z2D = $5; - $$pre$phiZ2D = $7; - } - } else { - $$pre$phi6Z2D = $ipi + 8 | 0; - $$pre$phiZ2D = $ipi + 12 | 0; - } - $12 = $boxSize >> 1; - $13 = 0 - $12 | 0; - $14 = HEAP32[$$pre$phiZ2D >> 2] | 0; - if (($14 | 0) > 0) { - $16 = ($12 | 0) < ($13 | 0); - $17 = ($12 | 0) < ($13 | 0); - $j$021 = 0; - do { - $18 = HEAP32[$$pre$phi6Z2D >> 2] | 0; - if (($18 | 0) > 0) { - $25 = $18; - $i$020 = 0; - do { - if ($16) { - $count$0$lcssa = 0; - $val$0$lcssa = 0; - } else { - $count$015 = 0; - $kernel_j$016 = $13; - $val$014 = 0; - while (1) { - $20 = $kernel_j$016 + $j$021 | 0; - if (($20 | 0) < 0) { - $count$3 = $count$015; - $val$3 = $val$014; - } else if (($20 | 0) < (HEAP32[$$pre$phiZ2D >> 2] | 0)) { - $24 = Math_imul($25, $20) | 0; - if ($17) { - $count$3 = $count$015; - $val$3 = $val$014; - } else { - $count$110 = $count$015; - $kernel_i$011 = $13; - $val$19 = $val$014; - while (1) { - $26 = $kernel_i$011 + $i$020 | 0; - if (($26 | 0) > -1 & ($26 | 0) < ($25 | 0)) { - $count$2 = $count$110 + 1 | 0; - $val$2 = (HEAPU8[(HEAP32[$ipi >> 2] | 0) + ($24 + $26) >> 0] | 0) + $val$19 | 0; - } else { - $count$2 = $count$110; - $val$2 = $val$19; - } - if (($kernel_i$011 | 0) < ($12 | 0)) { - $count$110 = $count$2; - $kernel_i$011 = $kernel_i$011 + 1 | 0; - $val$19 = $val$2; - } else { - $count$3 = $count$2; - $val$3 = $val$2; - break; - } - } - } - } else { - $count$3 = $count$015; - $val$3 = $val$014; - } - if (($kernel_j$016 | 0) < ($12 | 0)) { - $count$015 = $count$3; - $kernel_j$016 = $kernel_j$016 + 1 | 0; - $val$014 = $val$3; - } else { - $count$0$lcssa = $count$3; - $val$0$lcssa = $val$3; - break; - } - } - } - $43 = (Math_imul($25, $j$021) | 0) + $i$020 | 0; - HEAP8[(HEAP32[$2 >> 2] | 0) + $43 >> 0] = ($val$0$lcssa | 0) / ($count$0$lcssa | 0) | 0; - $i$020 = $i$020 + 1 | 0; - $25 = HEAP32[$$pre$phi6Z2D >> 2] | 0; - } while (($i$020 | 0) < ($25 | 0)); - } - $j$021 = $j$021 + 1 | 0; - $50 = HEAP32[$$pre$phiZ2D >> 2] | 0; - } while (($j$021 | 0) < ($50 | 0)); - $$lcssa = $50; - } else $$lcssa = $14; - if (!$bias) $$0 = 0; else if ((Math_imul($$lcssa, HEAP32[$$pre$phi6Z2D >> 2] | 0) | 0) > 0) { - $i$18 = 0; - do { - $57 = (HEAP32[$2 >> 2] | 0) + $i$18 | 0; - HEAP8[$57 >> 0] = (HEAPU8[$57 >> 0] | 0) + $bias; - $i$18 = $i$18 + 1 | 0; - } while (($i$18 | 0) < (Math_imul(HEAP32[$$pre$phiZ2D >> 2] | 0, HEAP32[$$pre$phi6Z2D >> 2] | 0) | 0)); - $$0 = 0; - } else $$0 = 0; - } while (0); - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($this, $0) { - $this = $this | 0; - $0 = $0 | 0; - var $$pre$i$i$i = 0, $$pre$i$i$i2 = 0, $10 = 0, $14 = 0, $17 = 0, $22 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $30 = 0, $39 = 0, $42 = 0, $47 = 0, $48 = 0, $5 = 0, $53 = 0, $55 = 0, $58 = 0, $62 = 0, $65 = 0, $7 = 0, $70 = 0, $71 = 0, $74 = 0, $75 = 0, $77 = 0, $78 = 0, $87 = 0, $90 = 0, $95 = 0, $96 = 0; - do if (!(HEAP8[$this >> 0] & 1)) { - HEAP8[$this + 1 >> 0] = 0; - HEAP8[$this >> 0] = 0; - } else { - $5 = $this + 8 | 0; - HEAP8[HEAP32[$5 >> 2] >> 0] = 0; - $7 = $this + 4 | 0; - HEAP32[$7 >> 2] = 0; - $$pre$i$i$i = HEAP8[$this >> 0] | 0; - if (!($$pre$i$i$i & 1)) { - $14 = $$pre$i$i$i; - $23 = 10; - } else { - $10 = HEAP32[$this >> 2] | 0; - $14 = $10 & 255; - $23 = ($10 & -2) + -1 | 0; - } - if (!($14 & 1)) { - $17 = ($14 & 255) >>> 1; - if (($14 & 255) < 22) { - $22 = 10; - $42 = $17; - $95 = 1; - } else { - $22 = ($17 + 16 & 240) + -1 | 0; - $42 = $17; - $95 = 1; - } - } else { - $22 = 10; - $42 = 0; - $95 = 0; - } - if (($22 | 0) != ($23 | 0)) { - if (($22 | 0) == 10) { - $29 = $this + 1 | 0; - $30 = HEAP32[$5 >> 2] | 0; - if ($95) { - _memcpy($29 | 0, $30 | 0, (($14 & 255) >>> 1) + 1 | 0) | 0; - _free($30); - } else { - HEAP8[$29 >> 0] = HEAP8[$30 >> 0] | 0; - _free($30); - } - HEAP8[$this >> 0] = $42 << 1; - break; - } - $26 = $22 + 1 | 0; - $27 = _malloc($26) | 0; - if (!($22 >>> 0 <= $23 >>> 0 & ($27 | 0) == 0)) { - if ($95) _memcpy($27 | 0, $this + 1 | 0, (($14 & 255) >>> 1) + 1 | 0) | 0; else { - $39 = HEAP32[$5 >> 2] | 0; - HEAP8[$27 >> 0] = HEAP8[$39 >> 0] | 0; - _free($39); - } - HEAP32[$this >> 2] = $26 | 1; - HEAP32[$7 >> 2] = $42; - HEAP32[$5 >> 2] = $27; - } - } - } while (0); - HEAP32[$this >> 2] = HEAP32[$0 >> 2]; - HEAP32[$this + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$this + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - $47 = $this + 12 | 0; - $48 = $0 + 12 | 0; - do if (!(HEAP8[$47 >> 0] & 1)) { - HEAP8[$47 + 1 >> 0] = 0; - HEAP8[$47 >> 0] = 0; - } else { - $53 = $this + 20 | 0; - HEAP8[HEAP32[$53 >> 2] >> 0] = 0; - $55 = $this + 16 | 0; - HEAP32[$55 >> 2] = 0; - $$pre$i$i$i2 = HEAP8[$47 >> 0] | 0; - if (!($$pre$i$i$i2 & 1)) { - $62 = $$pre$i$i$i2; - $71 = 10; - } else { - $58 = HEAP32[$47 >> 2] | 0; - $62 = $58 & 255; - $71 = ($58 & -2) + -1 | 0; - } - if (!($62 & 1)) { - $65 = ($62 & 255) >>> 1; - if (($62 & 255) < 22) { - $70 = 10; - $90 = $65; - $96 = 1; - } else { - $70 = ($65 + 16 & 240) + -1 | 0; - $90 = $65; - $96 = 1; - } - } else { - $70 = 10; - $90 = 0; - $96 = 0; - } - if (($70 | 0) != ($71 | 0)) { - if (($70 | 0) == 10) { - $77 = $47 + 1 | 0; - $78 = HEAP32[$53 >> 2] | 0; - if ($96) { - _memcpy($77 | 0, $78 | 0, (($62 & 255) >>> 1) + 1 | 0) | 0; - _free($78); - } else { - HEAP8[$77 >> 0] = HEAP8[$78 >> 0] | 0; - _free($78); - } - HEAP8[$47 >> 0] = $90 << 1; - break; - } - $74 = $70 + 1 | 0; - $75 = _malloc($74) | 0; - if (!($70 >>> 0 <= $71 >>> 0 & ($75 | 0) == 0)) { - if ($96) _memcpy($75 | 0, $47 + 1 | 0, (($62 & 255) >>> 1) + 1 | 0) | 0; else { - $87 = HEAP32[$53 >> 2] | 0; - HEAP8[$75 >> 0] = HEAP8[$87 >> 0] | 0; - _free($87); - } - HEAP32[$47 >> 2] = $74 | 1; - HEAP32[$55 >> 2] = $90; - HEAP32[$53 >> 2] = $75; - } - } - } while (0); - HEAP32[$47 >> 2] = HEAP32[$48 >> 2]; - HEAP32[$47 + 4 >> 2] = HEAP32[$48 + 4 >> 2]; - HEAP32[$47 + 8 >> 2] = HEAP32[$48 + 8 >> 2]; - HEAP32[$48 >> 2] = 0; - HEAP32[$48 + 4 >> 2] = 0; - HEAP32[$48 + 8 >> 2] = 0; - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $__nbc) { - $this = $this | 0; - $__nbc = $__nbc | 0; - var $$in = 0, $$in41 = 0, $$in41$lcssa = 0, $$lcssa = 0, $$lcssa56 = 0, $$lcssa58 = 0, $0 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $21 = 0, $25 = 0, $29 = 0, $3 = 0, $31 = 0, $34 = 0, $36 = 0, $4 = 0, $51 = 0, $9 = 0, $__cp$0$in2736 = 0, $__cp$0$in30 = 0, $__cp$025 = 0, $__cp$02528 = 0, $__cp$0252833 = 0, $__cp$0252837 = 0, $__cp$02531 = 0, $__cp$026 = 0, $__cp$026$lcssa = 0, $__cp$026$lcssa53 = 0, $__i$039 = 0, $__np$0 = 0, $__np$0$lcssa = 0, $__phash$0$ph$ph35 = 0; - $0 = $this + 4 | 0; - L1 : do if (!$__nbc) { - $51 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = 0; - if ($51) __ZdlPv($51); - HEAP32[$0 >> 2] = 0; - } else { - $3 = __Znwj($__nbc << 2) | 0; - $4 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = $3; - if ($4) __ZdlPv($4); - HEAP32[$0 >> 2] = $__nbc; - if ($__nbc) { - $__i$039 = 0; - do { - HEAP32[(HEAP32[$this >> 2] | 0) + ($__i$039 << 2) >> 2] = 0; - $__i$039 = $__i$039 + 1 | 0; - } while (($__i$039 | 0) != ($__nbc | 0)); - } - $9 = $this + 8 | 0; - $10 = HEAP32[$9 >> 2] | 0; - if ($10) { - $13 = HEAP32[$10 + 4 >> 2] | 0; - $14 = $__nbc + -1 | 0; - $16 = ($14 & $__nbc | 0) == 0; - if ($16) $21 = $13 & $14; else $21 = ($13 >>> 0) % ($__nbc >>> 0) | 0; - HEAP32[(HEAP32[$this >> 2] | 0) + ($21 << 2) >> 2] = $9; - $__cp$0252833 = HEAP32[$10 >> 2] | 0; - if ($__cp$0252833) { - $$in = $10; - $__cp$0$in2736 = $10; - $__cp$0252837 = $__cp$0252833; - $__phash$0$ph$ph35 = $21; - while (1) { - $$in41 = $$in; - $__cp$0$in30 = $__cp$0$in2736; - $__cp$02531 = $__cp$0252837; - L21 : while (1) { - $__cp$026 = $__cp$02531; - while (1) { - $25 = HEAP32[$__cp$026 + 4 >> 2] | 0; - if ($16) $29 = $25 & $14; else $29 = ($25 >>> 0) % ($__nbc >>> 0) | 0; - if (($29 | 0) == ($__phash$0$ph$ph35 | 0)) { - $__cp$026$lcssa = $__cp$026; - break; - } - $31 = (HEAP32[$this >> 2] | 0) + ($29 << 2) | 0; - if (!(HEAP32[$31 >> 2] | 0)) { - $$in41$lcssa = $$in41; - $$lcssa56 = $29; - $$lcssa58 = $31; - $__cp$026$lcssa53 = $__cp$026; - break L21; - } - $34 = $__cp$026 + 8 | 0; - $__np$0 = $__cp$026; - while (1) { - $36 = HEAP32[$__np$0 >> 2] | 0; - if (!$36) { - $$lcssa = $36; - $__np$0$lcssa = $__np$0; - break; - } - if ((HEAP32[$34 >> 2] | 0) == (HEAP32[$36 + 8 >> 2] | 0)) $__np$0 = $36; else { - $$lcssa = $36; - $__np$0$lcssa = $__np$0; - break; - } - } - HEAP32[$$in41 >> 2] = $$lcssa; - HEAP32[$__np$0$lcssa >> 2] = HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($29 << 2) >> 2] >> 2]; - HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($29 << 2) >> 2] >> 2] = $__cp$026; - $__cp$026 = HEAP32[$__cp$0$in30 >> 2] | 0; - if (!$__cp$026) break L1; - } - $__cp$025 = HEAP32[$__cp$026$lcssa >> 2] | 0; - if (!$__cp$025) break L1; else { - $$in41 = $__cp$026$lcssa; - $__cp$0$in30 = $__cp$026$lcssa; - $__cp$02531 = $__cp$025; - } - } - HEAP32[$$lcssa58 >> 2] = $$in41$lcssa; - $__cp$02528 = HEAP32[$__cp$026$lcssa53 >> 2] | 0; - if (!$__cp$02528) break; else { - $$in = $__cp$026$lcssa53; - $__cp$0$in2736 = $__cp$026$lcssa53; - $__cp$0252837 = $__cp$02528; - $__phash$0$ph$ph35 = $$lcssa56; - } - } - } - } - } while (0); - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $__nbc) { - $this = $this | 0; - $__nbc = $__nbc | 0; - var $$in = 0, $$in41 = 0, $$in41$lcssa = 0, $$lcssa = 0, $$lcssa56 = 0, $$lcssa58 = 0, $0 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $21 = 0, $25 = 0, $29 = 0, $3 = 0, $31 = 0, $34 = 0, $36 = 0, $4 = 0, $51 = 0, $9 = 0, $__cp$0$in2736 = 0, $__cp$0$in30 = 0, $__cp$025 = 0, $__cp$02528 = 0, $__cp$0252833 = 0, $__cp$0252837 = 0, $__cp$02531 = 0, $__cp$026 = 0, $__cp$026$lcssa = 0, $__cp$026$lcssa53 = 0, $__i$039 = 0, $__np$0 = 0, $__np$0$lcssa = 0, $__phash$0$ph$ph35 = 0; - $0 = $this + 4 | 0; - L1 : do if (!$__nbc) { - $51 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = 0; - if ($51) __ZdlPv($51); - HEAP32[$0 >> 2] = 0; - } else { - $3 = __Znwj($__nbc << 2) | 0; - $4 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = $3; - if ($4) __ZdlPv($4); - HEAP32[$0 >> 2] = $__nbc; - if ($__nbc) { - $__i$039 = 0; - do { - HEAP32[(HEAP32[$this >> 2] | 0) + ($__i$039 << 2) >> 2] = 0; - $__i$039 = $__i$039 + 1 | 0; - } while (($__i$039 | 0) != ($__nbc | 0)); - } - $9 = $this + 8 | 0; - $10 = HEAP32[$9 >> 2] | 0; - if ($10) { - $13 = HEAP32[$10 + 4 >> 2] | 0; - $14 = $__nbc + -1 | 0; - $16 = ($14 & $__nbc | 0) == 0; - if ($16) $21 = $13 & $14; else $21 = ($13 >>> 0) % ($__nbc >>> 0) | 0; - HEAP32[(HEAP32[$this >> 2] | 0) + ($21 << 2) >> 2] = $9; - $__cp$0252833 = HEAP32[$10 >> 2] | 0; - if ($__cp$0252833) { - $$in = $10; - $__cp$0$in2736 = $10; - $__cp$0252837 = $__cp$0252833; - $__phash$0$ph$ph35 = $21; - while (1) { - $$in41 = $$in; - $__cp$0$in30 = $__cp$0$in2736; - $__cp$02531 = $__cp$0252837; - L21 : while (1) { - $__cp$026 = $__cp$02531; - while (1) { - $25 = HEAP32[$__cp$026 + 4 >> 2] | 0; - if ($16) $29 = $25 & $14; else $29 = ($25 >>> 0) % ($__nbc >>> 0) | 0; - if (($29 | 0) == ($__phash$0$ph$ph35 | 0)) { - $__cp$026$lcssa = $__cp$026; - break; - } - $31 = (HEAP32[$this >> 2] | 0) + ($29 << 2) | 0; - if (!(HEAP32[$31 >> 2] | 0)) { - $$in41$lcssa = $$in41; - $$lcssa56 = $29; - $$lcssa58 = $31; - $__cp$026$lcssa53 = $__cp$026; - break L21; - } - $34 = $__cp$026 + 8 | 0; - $__np$0 = $__cp$026; - while (1) { - $36 = HEAP32[$__np$0 >> 2] | 0; - if (!$36) { - $$lcssa = $36; - $__np$0$lcssa = $__np$0; - break; - } - if ((HEAP32[$34 >> 2] | 0) == (HEAP32[$36 + 8 >> 2] | 0)) $__np$0 = $36; else { - $$lcssa = $36; - $__np$0$lcssa = $__np$0; - break; - } - } - HEAP32[$$in41 >> 2] = $$lcssa; - HEAP32[$__np$0$lcssa >> 2] = HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($29 << 2) >> 2] >> 2]; - HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($29 << 2) >> 2] >> 2] = $__cp$026; - $__cp$026 = HEAP32[$__cp$0$in30 >> 2] | 0; - if (!$__cp$026) break L1; - } - $__cp$025 = HEAP32[$__cp$026$lcssa >> 2] | 0; - if (!$__cp$025) break L1; else { - $$in41 = $__cp$026$lcssa; - $__cp$0$in30 = $__cp$026$lcssa; - $__cp$02531 = $__cp$025; - } - } - HEAP32[$$lcssa58 >> 2] = $$in41$lcssa; - $__cp$02528 = HEAP32[$__cp$026$lcssa53 >> 2] | 0; - if (!$__cp$02528) break; else { - $$in = $__cp$026$lcssa53; - $__cp$0$in2736 = $__cp$026$lcssa53; - $__cp$0252837 = $__cp$02528; - $__phash$0$ph$ph35 = $$lcssa56; - } - } - } - } - } while (0); - return; -} - -function _arglCameraFrustum($cparam, $focalmin, $focalmax, $m_projection) { - $cparam = $cparam | 0; - $focalmin = +$focalmin; - $focalmax = +$focalmax; - $m_projection = $m_projection | 0; - var $0 = 0, $11 = 0, $17 = 0, $2 = 0, $23 = 0, $29 = 0, $33 = 0.0, $50 = 0.0, $63 = 0, $7 = 0.0, $75 = 0, $77 = 0.0, $84 = 0, $88 = 0.0, $90 = 0.0, $92 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $i$111 = 0, $i$29 = 0, $icpara = 0, $j$18 = 0, $p = 0, $q = 0, $trans = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 400 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $icpara = sp + 296 | 0; - $trans = sp + 200 | 0; - $p = sp + 128 | 0; - $q = sp; - $0 = HEAP32[$cparam >> 2] | 0; - $2 = HEAP32[$cparam + 4 >> 2] | 0; - if ((_arParamDecompMat($cparam + 8 | 0, $icpara, $trans) | 0) < 0) _arLog(3, 6024, sp + 392 | 0); else { - $7 = +($2 + -1 | 0); - $11 = $icpara + 32 | 0; - HEAPF64[$11 >> 3] = $7 * +HEAPF64[$icpara + 64 >> 3] - +HEAPF64[$11 >> 3]; - $17 = $icpara + 40 | 0; - HEAPF64[$17 >> 3] = $7 * +HEAPF64[$icpara + 72 >> 3] - +HEAPF64[$17 >> 3]; - $23 = $icpara + 48 | 0; - HEAPF64[$23 >> 3] = $7 * +HEAPF64[$icpara + 80 >> 3] - +HEAPF64[$23 >> 3]; - $29 = $icpara + 56 | 0; - HEAPF64[$29 >> 3] = $7 * +HEAPF64[$icpara + 88 >> 3] - +HEAPF64[$29 >> 3]; - $33 = +HEAPF64[$icpara + 80 >> 3]; - $i$111 = 0; - do { - HEAPF64[$p + ($i$111 * 24 | 0) >> 3] = +HEAPF64[$icpara + ($i$111 << 5) >> 3] / $33; - HEAPF64[$p + ($i$111 * 24 | 0) + 8 >> 3] = +HEAPF64[$icpara + ($i$111 << 5) + 8 >> 3] / $33; - HEAPF64[$p + ($i$111 * 24 | 0) + 16 >> 3] = +HEAPF64[$icpara + ($i$111 << 5) + 16 >> 3] / $33; - $i$111 = $i$111 + 1 | 0; - } while (($i$111 | 0) != 3); - $50 = +($0 + -1 | 0); - HEAPF64[$q >> 3] = +HEAPF64[$p >> 3] * 2.0 / $50; - HEAPF64[$q + 8 >> 3] = +HEAPF64[$p + 8 >> 3] * 2.0 / $50; - HEAPF64[$q + 16 >> 3] = +HEAPF64[$p + 16 >> 3] * 2.0 / $50 + -1.0; - $63 = $q + 24 | 0; - HEAP32[$63 >> 2] = 0; - HEAP32[$63 + 4 >> 2] = 0; - HEAP32[$63 + 8 >> 2] = 0; - HEAP32[$63 + 12 >> 2] = 0; - HEAPF64[$q + 40 >> 3] = +HEAPF64[$p + 32 >> 3] * 2.0 / $7; - HEAPF64[$q + 48 >> 3] = +HEAPF64[$p + 40 >> 3] * 2.0 / $7 + -1.0; - $75 = $q + 56 | 0; - $77 = $focalmax - $focalmin; - HEAP32[$75 >> 2] = 0; - HEAP32[$75 + 4 >> 2] = 0; - HEAP32[$75 + 8 >> 2] = 0; - HEAP32[$75 + 12 >> 2] = 0; - HEAP32[$75 + 16 >> 2] = 0; - HEAP32[$75 + 20 >> 2] = 0; - HEAPF64[$q + 80 >> 3] = ($focalmin + $focalmax) / $77; - HEAPF64[$q + 88 >> 3] = $focalmax * -2.0 * $focalmin / $77; - $84 = $q + 96 | 0; - HEAP32[$84 >> 2] = 0; - HEAP32[$84 + 4 >> 2] = 0; - HEAP32[$84 + 8 >> 2] = 0; - HEAP32[$84 + 12 >> 2] = 0; - HEAPF64[$q + 112 >> 3] = 1.0; - HEAPF64[$q + 120 >> 3] = 0.0; - $88 = +HEAPF64[$trans + 24 >> 3]; - $90 = +HEAPF64[$trans + 56 >> 3]; - $92 = +HEAPF64[$trans + 88 >> 3]; - $i$29 = 0; - do { - $94 = +HEAPF64[$q + ($i$29 << 5) >> 3]; - $95 = $q + ($i$29 << 5) + 8 | 0; - $96 = $q + ($i$29 << 5) + 16 | 0; - $97 = +HEAPF64[$95 >> 3]; - $98 = +HEAPF64[$96 >> 3]; - $j$18 = 0; - do { - HEAPF64[$m_projection + (($j$18 << 2) + $i$29 << 3) >> 3] = $94 * +HEAPF64[$trans + ($j$18 << 3) >> 3] + $97 * +HEAPF64[$trans + 32 + ($j$18 << 3) >> 3] + $98 * +HEAPF64[$trans + 64 + ($j$18 << 3) >> 3]; - $j$18 = $j$18 + 1 | 0; - } while (($j$18 | 0) != 3); - HEAPF64[$m_projection + ($i$29 + 12 << 3) >> 3] = +HEAPF64[$q + ($i$29 << 5) + 24 >> 3] + ($94 * $88 + +HEAPF64[$95 >> 3] * $90 + +HEAPF64[$96 >> 3] * $92); - $i$29 = $i$29 + 1 | 0; - } while (($i$29 | 0) != 4); - } - STACKTOP = sp; - return; -} - -function _arParamIdeal2Observ($dist_factor, $ix, $iy, $ox, $oy, $dist_function_version) { - $dist_factor = $dist_factor | 0; - $ix = +$ix; - $iy = +$iy; - $ox = $ox | 0; - $oy = $oy | 0; - $dist_function_version = $dist_function_version | 0; - var $$0 = 0, $10 = 0.0, $104 = 0.0, $116 = 0.0, $12 = 0.0, $122 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0, $130 = 0.0, $14 = 0.0, $141 = 0.0, $16 = 0.0, $19 = 0.0, $22 = 0.0, $25 = 0.0, $30 = 0.0, $4 = 0.0, $55 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0, $63 = 0.0, $71 = 0.0, $8 = 0.0, $83 = 0.0, $90 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0, $98 = 0.0, $storemerge = 0.0, $storemerge6 = 0.0, $storemerge7 = 0.0; - switch ($dist_function_version | 0) { - case 4: - { - $4 = +HEAPF64[$dist_factor + 16 >> 3]; - $6 = +HEAPF64[$dist_factor + 24 >> 3]; - $8 = +HEAPF64[$dist_factor + 32 >> 3]; - $10 = +HEAPF64[$dist_factor + 40 >> 3]; - $12 = +HEAPF64[$dist_factor + 48 >> 3]; - $14 = +HEAPF64[$dist_factor + 56 >> 3]; - $16 = +HEAPF64[$dist_factor + 64 >> 3]; - $19 = ($ix - $12) * $16 / $8; - $22 = ($iy - $14) * $16 / $10; - $25 = $19 * $19 + $22 * $22; - $30 = +HEAPF64[$dist_factor >> 3] * $25 + 1.0 + $25 * (+HEAPF64[$dist_factor + 8 >> 3] * $25); - HEAPF64[$ox >> 3] = $12 + $8 * ($6 * ($19 * ($19 * 2.0) + $25) + ($4 * 2.0 * $19 * $22 + $19 * $30)); - HEAPF64[$oy >> 3] = $14 + $10 * ($6 * 2.0 * $19 * $22 + ($4 * ($25 + $22 * ($22 * 2.0)) + $22 * $30)); - $$0 = 0; - break; - } - case 3: - { - $55 = +HEAPF64[$dist_factor >> 3]; - $58 = +HEAPF64[$dist_factor + 16 >> 3]; - $59 = ($ix - $55) * $58; - $60 = $dist_factor + 8 | 0; - $63 = $58 * ($iy - +HEAPF64[$60 >> 3]); - if ($59 == 0.0 & $63 == 0.0) { - HEAPF64[$ox >> 3] = $55; - $storemerge7 = +HEAPF64[$60 >> 3]; - } else { - $71 = $59 * $59 + $63 * $63; - $83 = 1.0 - $71 * (+HEAPF64[$dist_factor + 32 >> 3] / 1.0e8) - $71 * ($71 * (+HEAPF64[$dist_factor + 40 >> 3] / 1.0e8 / 1.0e5)); - HEAPF64[$ox >> 3] = $55 + +HEAPF64[$dist_factor + 24 >> 3] * ($59 * $83); - $storemerge7 = +HEAPF64[$60 >> 3] + $63 * $83; - } - HEAPF64[$oy >> 3] = $storemerge7; - $$0 = 0; - break; - } - case 2: - { - $90 = +HEAPF64[$dist_factor >> 3]; - $93 = +HEAPF64[$dist_factor + 16 >> 3]; - $94 = ($ix - $90) * $93; - $95 = $dist_factor + 8 | 0; - $98 = $93 * ($iy - +HEAPF64[$95 >> 3]); - if ($94 == 0.0 & $98 == 0.0) { - HEAPF64[$ox >> 3] = $90; - $storemerge6 = +HEAPF64[$95 >> 3]; - } else { - $104 = $94 * $94 + $98 * $98; - $116 = 1.0 - $104 * (+HEAPF64[$dist_factor + 24 >> 3] / 1.0e8) - $104 * ($104 * (+HEAPF64[$dist_factor + 32 >> 3] / 1.0e8 / 1.0e5)); - HEAPF64[$ox >> 3] = $90 + $94 * $116; - $storemerge6 = +HEAPF64[$95 >> 3] + $98 * $116; - } - HEAPF64[$oy >> 3] = $storemerge6; - $$0 = 0; - break; - } - case 1: - { - $122 = +HEAPF64[$dist_factor >> 3]; - $125 = +HEAPF64[$dist_factor + 16 >> 3]; - $126 = ($ix - $122) * $125; - $127 = $dist_factor + 8 | 0; - $130 = $125 * ($iy - +HEAPF64[$127 >> 3]); - if ($126 == 0.0 & $130 == 0.0) { - HEAPF64[$ox >> 3] = $122; - $storemerge = +HEAPF64[$127 >> 3]; - } else { - $141 = 1.0 - ($126 * $126 + $130 * $130) * (+HEAPF64[$dist_factor + 24 >> 3] / 1.0e8); - HEAPF64[$ox >> 3] = $122 + $126 * $141; - $storemerge = +HEAPF64[$127 >> 3] + $130 * $141; - } - HEAPF64[$oy >> 3] = $storemerge; - $$0 = 0; - break; - } - default: - $$0 = -1; - } - return $$0 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE20__node_insert_uniqueEPNS_11__hash_nodeIS3_PvEE($agg$result, $this, $__nd) { - $agg$result = $agg$result | 0; - $this = $this | 0; - $__nd = $__nd | 0; - var $$pn = 0, $1 = 0, $13 = 0, $14 = 0, $18 = 0, $2 = 0, $22 = 0, $26 = 0, $29 = 0.0, $3 = 0, $32 = 0.0, $4 = 0, $41 = 0, $43 = 0, $46 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $67 = 0, $68 = 0, $75 = 0, $8 = 0, $81 = 0, $__bc$0 = 0, $__chash$0 = 0, $__chash$1 = 0, $__ndptr$0 = 0, $__ndptr$1 = 0, label = 0; - $1 = HEAP32[$__nd + 8 >> 2] | 0; - $2 = $__nd + 4 | 0; - HEAP32[$2 >> 2] = $1; - $3 = $this + 4 | 0; - $4 = HEAP32[$3 >> 2] | 0; - $5 = ($4 | 0) == 0; - L1 : do if ($5) { - $__chash$0 = 0; - label = 12; - } else { - $6 = $4 + -1 | 0; - $8 = ($6 & $4 | 0) == 0; - if ($8) $13 = $6 & $1; else $13 = ($1 >>> 0) % ($4 >>> 0) | 0; - $14 = HEAP32[(HEAP32[$this >> 2] | 0) + ($13 << 2) >> 2] | 0; - if (!$14) { - $__chash$0 = $13; - label = 12; - } else { - $$pn = $14; - while (1) { - $__ndptr$0 = HEAP32[$$pn >> 2] | 0; - if (!$__ndptr$0) { - $__chash$0 = $13; - label = 12; - break L1; - } - $18 = HEAP32[$__ndptr$0 + 4 >> 2] | 0; - if ($8) $22 = $18 & $6; else $22 = ($18 >>> 0) % ($4 >>> 0) | 0; - if (($22 | 0) != ($13 | 0)) { - $__chash$0 = $13; - label = 12; - break L1; - } - if ((HEAP32[$__ndptr$0 + 8 >> 2] | 0) == ($1 | 0)) { - $81 = 0; - $__ndptr$1 = $__ndptr$0; - break; - } else $$pn = $__ndptr$0; - } - } - } while (0); - if ((label | 0) == 12) { - $26 = $this + 12 | 0; - $29 = +(((HEAP32[$26 >> 2] | 0) + 1 | 0) >>> 0); - $32 = +HEAPF32[$this + 16 >> 2]; - do if ($5 | $29 > +($4 >>> 0) * $32) { - if ($4 >>> 0 > 2) $41 = ($4 + -1 & $4 | 0) == 0; else $41 = 0; - $43 = ($41 & 1 | $4 << 1) ^ 1; - $46 = ~~+Math_ceil(+($29 / $32)) >>> 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEj($this, $43 >>> 0 < $46 >>> 0 ? $46 : $43); - $49 = HEAP32[$3 >> 2] | 0; - $50 = HEAP32[$2 >> 2] | 0; - $51 = $49 + -1 | 0; - if (!($51 & $49)) { - $__bc$0 = $49; - $__chash$1 = $51 & $50; - break; - } else { - $__bc$0 = $49; - $__chash$1 = ($50 >>> 0) % ($49 >>> 0) | 0; - break; - } - } else { - $__bc$0 = $4; - $__chash$1 = $__chash$0; - } while (0); - $58 = HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1 << 2) >> 2] | 0; - if (!$58) { - $60 = $this + 8 | 0; - HEAP32[$__nd >> 2] = HEAP32[$60 >> 2]; - HEAP32[$60 >> 2] = $__nd; - HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1 << 2) >> 2] = $60; - $64 = HEAP32[$__nd >> 2] | 0; - if ($64) { - $67 = HEAP32[$64 + 4 >> 2] | 0; - $68 = $__bc$0 + -1 | 0; - if (!($68 & $__bc$0)) $75 = $67 & $68; else $75 = ($67 >>> 0) % ($__bc$0 >>> 0) | 0; - HEAP32[(HEAP32[$this >> 2] | 0) + ($75 << 2) >> 2] = $__nd; - } - } else { - HEAP32[$__nd >> 2] = HEAP32[$58 >> 2]; - HEAP32[$58 >> 2] = $__nd; - } - HEAP32[$26 >> 2] = (HEAP32[$26 >> 2] | 0) + 1; - $81 = 1; - $__ndptr$1 = $__nd; - } - HEAP32[$agg$result >> 2] = $__ndptr$1; - HEAP8[$agg$result + 4 >> 0] = $81; - return; -} - -function _scanexp($f, $pok) { - $f = $f | 0; - $pok = $pok | 0; - var $$lcssa22 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $20 = 0, $35 = 0, $36 = 0, $48 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $61 = 0, $62 = 0, $63 = 0, $78 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $98 = 0, $99 = 0, $c$0 = 0, $c$1$be = 0, $c$1$be$lcssa = 0, $c$112 = 0, $c$2$be = 0, $c$2$lcssa = 0, $c$27 = 0, $c$3$be = 0, $neg$0 = 0, $x$013 = 0; - $0 = $f + 4 | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = $f + 100 | 0; - if ($1 >>> 0 < (HEAP32[$2 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $1 + 1; - $10 = HEAPU8[$1 >> 0] | 0; - } else $10 = ___shgetc($f) | 0; - switch ($10 | 0) { - case 43: - case 45: - { - $11 = ($10 | 0) == 45 & 1; - $12 = HEAP32[$0 >> 2] | 0; - if ($12 >>> 0 < (HEAP32[$2 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $12 + 1; - $20 = HEAPU8[$12 >> 0] | 0; - } else $20 = ___shgetc($f) | 0; - if (($pok | 0) != 0 & ($20 + -48 | 0) >>> 0 > 9) if (!(HEAP32[$2 >> 2] | 0)) { - $c$0 = $20; - $neg$0 = $11; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $c$0 = $20; - $neg$0 = $11; - } else { - $c$0 = $20; - $neg$0 = $11; - } - break; - } - default: - { - $c$0 = $10; - $neg$0 = 0; - } - } - if (($c$0 + -48 | 0) >>> 0 > 9) if (!(HEAP32[$2 >> 2] | 0)) { - $98 = -2147483648; - $99 = 0; - } else { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $98 = -2147483648; - $99 = 0; - } else { - $c$112 = $c$0; - $x$013 = 0; - while (1) { - $35 = $c$112 + -48 + ($x$013 * 10 | 0) | 0; - $36 = HEAP32[$0 >> 2] | 0; - if ($36 >>> 0 < (HEAP32[$2 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $36 + 1; - $c$1$be = HEAPU8[$36 >> 0] | 0; - } else $c$1$be = ___shgetc($f) | 0; - if (($c$1$be + -48 | 0) >>> 0 < 10 & ($35 | 0) < 214748364) { - $c$112 = $c$1$be; - $x$013 = $35; - } else { - $$lcssa22 = $35; - $c$1$be$lcssa = $c$1$be; - break; - } - } - $48 = (($$lcssa22 | 0) < 0) << 31 >> 31; - if (($c$1$be$lcssa + -48 | 0) >>> 0 < 10) { - $53 = $$lcssa22; - $54 = $48; - $c$27 = $c$1$be$lcssa; - while (1) { - $55 = ___muldi3($53 | 0, $54 | 0, 10, 0) | 0; - $56 = tempRet0; - $59 = _i64Add($c$27 | 0, (($c$27 | 0) < 0) << 31 >> 31 | 0, -48, -1) | 0; - $61 = _i64Add($59 | 0, tempRet0 | 0, $55 | 0, $56 | 0) | 0; - $62 = tempRet0; - $63 = HEAP32[$0 >> 2] | 0; - if ($63 >>> 0 < (HEAP32[$2 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $63 + 1; - $c$2$be = HEAPU8[$63 >> 0] | 0; - } else $c$2$be = ___shgetc($f) | 0; - if (($c$2$be + -48 | 0) >>> 0 < 10 & (($62 | 0) < 21474836 | ($62 | 0) == 21474836 & $61 >>> 0 < 2061584302)) { - $53 = $61; - $54 = $62; - $c$27 = $c$2$be; - } else { - $92 = $61; - $93 = $62; - $c$2$lcssa = $c$2$be; - break; - } - } - } else { - $92 = $$lcssa22; - $93 = $48; - $c$2$lcssa = $c$1$be$lcssa; - } - if (($c$2$lcssa + -48 | 0) >>> 0 < 10) do { - $78 = HEAP32[$0 >> 2] | 0; - if ($78 >>> 0 < (HEAP32[$2 >> 2] | 0) >>> 0) { - HEAP32[$0 >> 2] = $78 + 1; - $c$3$be = HEAPU8[$78 >> 0] | 0; - } else $c$3$be = ___shgetc($f) | 0; - } while (($c$3$be + -48 | 0) >>> 0 < 10); - if (HEAP32[$2 >> 2] | 0) HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; - $91 = ($neg$0 | 0) != 0; - $94 = _i64Subtract(0, 0, $92 | 0, $93 | 0) | 0; - $98 = $91 ? tempRet0 : $93; - $99 = $91 ? $94 : $92; - } - tempRet0 = $98; - return $99 | 0; -} -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE20__node_insert_uniqueEPNS_11__hash_nodeIS3_PvEE($agg$result, $this, $__nd) { - $agg$result = $agg$result | 0; - $this = $this | 0; - $__nd = $__nd | 0; - var $$pn = 0, $1 = 0, $13 = 0, $14 = 0, $18 = 0, $2 = 0, $22 = 0, $26 = 0, $29 = 0.0, $3 = 0, $32 = 0.0, $4 = 0, $41 = 0, $43 = 0, $46 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $67 = 0, $68 = 0, $75 = 0, $8 = 0, $81 = 0, $__bc$0 = 0, $__chash$0 = 0, $__chash$1 = 0, $__ndptr$0 = 0, $__ndptr$1 = 0, label = 0; - $1 = HEAP32[$__nd + 8 >> 2] | 0; - $2 = $__nd + 4 | 0; - HEAP32[$2 >> 2] = $1; - $3 = $this + 4 | 0; - $4 = HEAP32[$3 >> 2] | 0; - $5 = ($4 | 0) == 0; - L1 : do if ($5) { - $__chash$0 = 0; - label = 12; - } else { - $6 = $4 + -1 | 0; - $8 = ($6 & $4 | 0) == 0; - if ($8) $13 = $6 & $1; else $13 = ($1 >>> 0) % ($4 >>> 0) | 0; - $14 = HEAP32[(HEAP32[$this >> 2] | 0) + ($13 << 2) >> 2] | 0; - if (!$14) { - $__chash$0 = $13; - label = 12; - } else { - $$pn = $14; - while (1) { - $__ndptr$0 = HEAP32[$$pn >> 2] | 0; - if (!$__ndptr$0) { - $__chash$0 = $13; - label = 12; - break L1; - } - $18 = HEAP32[$__ndptr$0 + 4 >> 2] | 0; - if ($8) $22 = $18 & $6; else $22 = ($18 >>> 0) % ($4 >>> 0) | 0; - if (($22 | 0) != ($13 | 0)) { - $__chash$0 = $13; - label = 12; - break L1; - } - if ((HEAP32[$__ndptr$0 + 8 >> 2] | 0) == ($1 | 0)) { - $81 = 0; - $__ndptr$1 = $__ndptr$0; - break; - } else $$pn = $__ndptr$0; - } - } - } while (0); - if ((label | 0) == 12) { - $26 = $this + 12 | 0; - $29 = +(((HEAP32[$26 >> 2] | 0) + 1 | 0) >>> 0); - $32 = +HEAPF32[$this + 16 >> 2]; - do if ($5 | $29 > +($4 >>> 0) * $32) { - if ($4 >>> 0 > 2) $41 = ($4 + -1 & $4 | 0) == 0; else $41 = 0; - $43 = ($41 & 1 | $4 << 1) ^ 1; - $46 = ~~+Math_ceil(+($29 / $32)) >>> 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEj($this, $43 >>> 0 < $46 >>> 0 ? $46 : $43); - $49 = HEAP32[$3 >> 2] | 0; - $50 = HEAP32[$2 >> 2] | 0; - $51 = $49 + -1 | 0; - if (!($51 & $49)) { - $__bc$0 = $49; - $__chash$1 = $51 & $50; - break; - } else { - $__bc$0 = $49; - $__chash$1 = ($50 >>> 0) % ($49 >>> 0) | 0; - break; - } - } else { - $__bc$0 = $4; - $__chash$1 = $__chash$0; - } while (0); - $58 = HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1 << 2) >> 2] | 0; - if (!$58) { - $60 = $this + 8 | 0; - HEAP32[$__nd >> 2] = HEAP32[$60 >> 2]; - HEAP32[$60 >> 2] = $__nd; - HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1 << 2) >> 2] = $60; - $64 = HEAP32[$__nd >> 2] | 0; - if ($64) { - $67 = HEAP32[$64 + 4 >> 2] | 0; - $68 = $__bc$0 + -1 | 0; - if (!($68 & $__bc$0)) $75 = $67 & $68; else $75 = ($67 >>> 0) % ($__bc$0 >>> 0) | 0; - HEAP32[(HEAP32[$this >> 2] | 0) + ($75 << 2) >> 2] = $__nd; - } - } else { - HEAP32[$__nd >> 2] = HEAP32[$58 >> 2]; - HEAP32[$58 >> 2] = $__nd; - } - HEAP32[$26 >> 2] = (HEAP32[$26 >> 2] | 0) + 1; - $81 = 1; - $__ndptr$1 = $__nd; - } - HEAP32[$agg$result >> 2] = $__ndptr$1; - HEAP8[$agg$result + 4 >> 0] = $81; - return; -} - -function _arGetLine($x_coord, $y_coord, $coord_num, $vertex, $paramLTf, $line, $v) { - $x_coord = $x_coord | 0; - $y_coord = $y_coord | 0; - $coord_num = $coord_num | 0; - $vertex = $vertex | 0; - $paramLTf = $paramLTf | 0; - $line = $line | 0; - $v = $v | 0; - var $$0 = 0, $0 = 0, $1 = 0, $12 = 0.0, $15 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $34 = 0, $35 = 0, $45 = 0, $47 = 0.0, $5 = 0, $50 = 0.0, $52 = 0, $63 = 0, $64 = 0, $67 = 0.0, $69 = 0, $7 = 0, $72 = 0.0, $74 = 0.0, $77 = 0, $80 = 0, $97 = 0, $i$011 = 0, $i$19 = 0, $j$010 = 0, $m0 = 0, $m1 = 0, label = 0, sp = 0, $i$011$looptemp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $m0 = sp + 4 | 0; - $m1 = sp; - $0 = _arVecAlloc(2) | 0; - $1 = _arVecAlloc(2) | 0; - $2 = _arMatrixAlloc(2, 2) | 0; - $i$011 = 0; - L1 : while (1) { - $i$011$looptemp = $i$011; - $i$011 = $i$011 + 1 | 0; - $5 = HEAP32[$vertex + ($i$011 << 2) >> 2] | 0; - $7 = HEAP32[$vertex + ($i$011$looptemp << 2) >> 2] | 0; - $12 = +($5 + 1 - $7 | 0) * .05 + .5; - $15 = ~~(+($7 | 0) + $12); - $19 = ~~(+($5 | 0) - $12) - $15 | 0; - $20 = $19 + 1 | 0; - $21 = _arMatrixAlloc($20, 2) | 0; - if (($19 | 0) > -1) { - $j$010 = 0; - do { - $23 = $j$010 + $15 | 0; - if ((_arParamObserv2IdealLTf($paramLTf, +(HEAP32[$x_coord + ($23 << 2) >> 2] | 0), +(HEAP32[$y_coord + ($23 << 2) >> 2] | 0), $m0, $m1) | 0) < 0) { - $97 = $21; - label = 10; - break L1; - } - $34 = $j$010 << 1; - $35 = HEAP32[$21 >> 2] | 0; - HEAPF64[$35 + ($34 << 3) >> 3] = +HEAPF32[$m0 >> 2]; - HEAPF64[$35 + (($34 | 1) << 3) >> 3] = +HEAPF32[$m1 >> 2]; - $j$010 = $j$010 + 1 | 0; - } while (($j$010 | 0) < ($20 | 0)); - } - if ((_arMatrixPCA($21, $2, $0, $1) | 0) < 0) { - $97 = $21; - label = 10; - break; - } - $45 = HEAP32[$2 >> 2] | 0; - $47 = +HEAPF64[$45 + 8 >> 3]; - HEAPF64[$line + ($i$011$looptemp * 24 | 0) >> 3] = $47; - $50 = -+HEAPF64[$45 >> 3]; - HEAPF64[$line + ($i$011$looptemp * 24 | 0) + 8 >> 3] = $50; - $52 = HEAP32[$1 >> 2] | 0; - HEAPF64[$line + ($i$011$looptemp * 24 | 0) + 16 >> 3] = -($47 * +HEAPF64[$52 >> 3] + +HEAPF64[$52 + 8 >> 3] * $50); - _arMatrixFree($21) | 0; - if (($i$011 | 0) >= 4) { - label = 7; - break; - } - } - L9 : do if ((label | 0) == 7) { - _arMatrixFree($2) | 0; - _arVecFree($1) | 0; - _arVecFree($0) | 0; - $i$19 = 0; - while (1) { - $63 = ($i$19 + 3 | 0) % 4 | 0; - $64 = $line + ($63 * 24 | 0) | 0; - $67 = +HEAPF64[$line + ($i$19 * 24 | 0) + 8 >> 3]; - $69 = $line + ($i$19 * 24 | 0) | 0; - $72 = +HEAPF64[$line + ($63 * 24 | 0) + 8 >> 3]; - $74 = +HEAPF64[$64 >> 3] * $67 - +HEAPF64[$69 >> 3] * $72; - if (+Math_abs(+$74) < .0001) { - $$0 = -1; - break L9; - } - $77 = $line + ($i$19 * 24 | 0) + 16 | 0; - $80 = $line + ($63 * 24 | 0) + 16 | 0; - HEAPF64[$v + ($i$19 << 4) >> 3] = ($72 * +HEAPF64[$77 >> 3] - $67 * +HEAPF64[$80 >> 3]) / $74; - HEAPF64[$v + ($i$19 << 4) + 8 >> 3] = (+HEAPF64[$69 >> 3] * +HEAPF64[$80 >> 3] - +HEAPF64[$64 >> 3] * +HEAPF64[$77 >> 3]) / $74; - $i$19 = $i$19 + 1 | 0; - if (($i$19 | 0) >= 4) { - $$0 = 0; - break; - } - } - } else if ((label | 0) == 10) { - _arMatrixFree($97) | 0; - _arMatrixFree($2) | 0; - _arVecFree($1) | 0; - _arVecFree($0) | 0; - $$0 = -1; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function ___stpncpy($d, $s, $n) { - $d = $d | 0; - $s = $s | 0; - $n = $n | 0; - var $$0$lcssa = 0, $$0$lcssa60 = 0, $$031 = 0, $$04$lcssa = 0, $$04$lcssa61 = 0, $$0430 = 0, $$06$lcssa = 0, $$06$lcssa62 = 0, $$0629 = 0, $$1$lcssa = 0, $$117 = 0, $$15$ph = 0, $$1511 = 0, $$17$ph = 0, $$1710 = 0, $$2$ph = 0, $$212 = 0, $$28 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $10 = 0, $11 = 0, $12 = 0, $16 = 0, $20 = 0, $26 = 0, $27 = 0, $28 = 0, $31 = 0, $35 = 0, $7 = 0, $8 = 0, $wd$0$lcssa = 0, $wd$018 = 0, $ws$0$lcssa = 0, $ws$019 = 0, label = 0; - $0 = $s; - do if (!(($0 ^ $d) & 3)) { - $7 = ($n | 0) != 0; - L3 : do if ($7 & ($0 & 3 | 0) != 0) { - $$031 = $n; - $$0430 = $s; - $$0629 = $d; - while (1) { - $8 = HEAP8[$$0430 >> 0] | 0; - HEAP8[$$0629 >> 0] = $8; - if (!($8 << 24 >> 24)) { - $$0$lcssa60 = $$031; - $$04$lcssa61 = $$0430; - $$06$lcssa62 = $$0629; - break L3; - } - $10 = $$031 + -1 | 0; - $11 = $$0430 + 1 | 0; - $12 = $$0629 + 1 | 0; - $16 = ($10 | 0) != 0; - if ($16 & ($11 & 3 | 0) != 0) { - $$031 = $10; - $$0430 = $11; - $$0629 = $12; - } else { - $$0$lcssa = $10; - $$04$lcssa = $11; - $$06$lcssa = $12; - $$lcssa = $16; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n; - $$04$lcssa = $s; - $$06$lcssa = $d; - $$lcssa = $7; - label = 5; - } while (0); - if ((label | 0) == 5) if ($$lcssa) { - $$0$lcssa60 = $$0$lcssa; - $$04$lcssa61 = $$04$lcssa; - $$06$lcssa62 = $$06$lcssa; - } else { - $$28 = $$06$lcssa; - $$3 = 0; - break; - } - if (!(HEAP8[$$04$lcssa61 >> 0] | 0)) { - $$28 = $$06$lcssa62; - $$3 = $$0$lcssa60; - } else { - L11 : do if ($$0$lcssa60 >>> 0 > 3) { - $$117 = $$0$lcssa60; - $wd$018 = $$06$lcssa62; - $ws$019 = $$04$lcssa61; - while (1) { - $20 = HEAP32[$ws$019 >> 2] | 0; - if (($20 & -2139062144 ^ -2139062144) & $20 + -16843009) { - $$1$lcssa = $$117; - $wd$0$lcssa = $wd$018; - $ws$0$lcssa = $ws$019; - break L11; - } - HEAP32[$wd$018 >> 2] = $20; - $26 = $$117 + -4 | 0; - $27 = $ws$019 + 4 | 0; - $28 = $wd$018 + 4 | 0; - if ($26 >>> 0 > 3) { - $$117 = $26; - $wd$018 = $28; - $ws$019 = $27; - } else { - $$1$lcssa = $26; - $wd$0$lcssa = $28; - $ws$0$lcssa = $27; - break; - } - } - } else { - $$1$lcssa = $$0$lcssa60; - $wd$0$lcssa = $$06$lcssa62; - $ws$0$lcssa = $$04$lcssa61; - } while (0); - $$15$ph = $ws$0$lcssa; - $$17$ph = $wd$0$lcssa; - $$2$ph = $$1$lcssa; - label = 11; - } - } else { - $$15$ph = $s; - $$17$ph = $d; - $$2$ph = $n; - label = 11; - } while (0); - L16 : do if ((label | 0) == 11) if (!$$2$ph) { - $$28 = $$17$ph; - $$3 = 0; - } else { - $$1511 = $$15$ph; - $$1710 = $$17$ph; - $$212 = $$2$ph; - while (1) { - $31 = HEAP8[$$1511 >> 0] | 0; - HEAP8[$$1710 >> 0] = $31; - if (!($31 << 24 >> 24)) { - $$28 = $$1710; - $$3 = $$212; - break L16; - } - $$212 = $$212 + -1 | 0; - $35 = $$1710 + 1 | 0; - if (!$$212) { - $$28 = $35; - $$3 = 0; - break; - } else { - $$1511 = $$1511 + 1 | 0; - $$1710 = $35; - } - } - } while (0); - _memset($$28 | 0, 0, $$3 | 0) | 0; - return $$28 | 0; -} - -function ___stdio_write($f, $buf, $len) { - $f = $f | 0; - $buf = $buf | 0; - $len = $len | 0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $16 = 0, $21 = 0, $26 = 0, $3 = 0, $35 = 0, $37 = 0, $39 = 0, $50 = 0, $6 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0, $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer = sp; - $iovs = sp + 32 | 0; - $0 = $f + 28 | 0; - $1 = HEAP32[$0 >> 2] | 0; - HEAP32[$iovs >> 2] = $1; - $3 = $f + 20 | 0; - $6 = (HEAP32[$3 >> 2] | 0) - $1 | 0; - HEAP32[$iovs + 4 >> 2] = $6; - HEAP32[$iovs + 8 >> 2] = $buf; - HEAP32[$iovs + 12 >> 2] = $len; - $10 = $f + 60 | 0; - $11 = $f + 44 | 0; - $iov$0 = $iovs; - $iovcnt$0 = 2; - $rem$0 = $6 + $len | 0; - while (1) { - if (!(HEAP32[597] | 0)) { - HEAP32[$vararg_buffer3 >> 2] = HEAP32[$10 >> 2]; - HEAP32[$vararg_buffer3 + 4 >> 2] = $iov$0; - HEAP32[$vararg_buffer3 + 8 >> 2] = $iovcnt$0; - $cnt$0 = ___syscall_ret(___syscall146(146, $vararg_buffer3 | 0) | 0) | 0; - } else { - _pthread_cleanup_push(14, $f | 0); - HEAP32[$vararg_buffer >> 2] = HEAP32[$10 >> 2]; - HEAP32[$vararg_buffer + 4 >> 2] = $iov$0; - HEAP32[$vararg_buffer + 8 >> 2] = $iovcnt$0; - $16 = ___syscall_ret(___syscall146(146, $vararg_buffer | 0) | 0) | 0; - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - if (($rem$0 | 0) == ($cnt$0 | 0)) { - label = 6; - break; - } - if (($cnt$0 | 0) < 0) { - $iov$0$lcssa11 = $iov$0; - $iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; - } - $35 = $rem$0 - $cnt$0 | 0; - $37 = HEAP32[$iov$0 + 4 >> 2] | 0; - if ($cnt$0 >>> 0 > $37 >>> 0) { - $39 = HEAP32[$11 >> 2] | 0; - HEAP32[$0 >> 2] = $39; - HEAP32[$3 >> 2] = $39; - $50 = HEAP32[$iov$0 + 12 >> 2] | 0; - $cnt$1 = $cnt$0 - $37 | 0; - $iov$1 = $iov$0 + 8 | 0; - $iovcnt$1 = $iovcnt$0 + -1 | 0; - } else if (($iovcnt$0 | 0) == 2) { - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + $cnt$0; - $50 = $37; - $cnt$1 = $cnt$0; - $iov$1 = $iov$0; - $iovcnt$1 = 2; - } else { - $50 = $37; - $cnt$1 = $cnt$0; - $iov$1 = $iov$0; - $iovcnt$1 = $iovcnt$0; - } - HEAP32[$iov$1 >> 2] = (HEAP32[$iov$1 >> 2] | 0) + $cnt$1; - HEAP32[$iov$1 + 4 >> 2] = $50 - $cnt$1; - $iov$0 = $iov$1; - $iovcnt$0 = $iovcnt$1; - $rem$0 = $35; - } - if ((label | 0) == 6) { - $21 = HEAP32[$11 >> 2] | 0; - HEAP32[$f + 16 >> 2] = $21 + (HEAP32[$f + 48 >> 2] | 0); - $26 = $21; - HEAP32[$0 >> 2] = $26; - HEAP32[$3 >> 2] = $26; - $$0 = $len; - } else if ((label | 0) == 8) { - HEAP32[$f + 16 >> 2] = 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$3 >> 2] = 0; - HEAP32[$f >> 2] = HEAP32[$f >> 2] | 32; - if (($iovcnt$0$lcssa12 | 0) == 2) $$0 = 0; else $$0 = $len - (HEAP32[$iov$0$lcssa11 + 4 >> 2] | 0) | 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _pop_arg($arg, $type, $ap) { - $arg = $arg | 0; - $type = $type | 0; - $ap = $ap | 0; - var $105 = 0, $106 = 0.0, $112 = 0, $113 = 0.0, $13 = 0, $14 = 0, $17 = 0, $26 = 0, $27 = 0, $28 = 0, $37 = 0, $38 = 0, $40 = 0, $43 = 0, $44 = 0, $53 = 0, $54 = 0, $56 = 0, $59 = 0, $6 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $79 = 0, $80 = 0, $82 = 0, $85 = 0, $94 = 0, $95 = 0, $96 = 0; - L1 : do if ($type >>> 0 <= 20) do switch ($type | 0) { - case 9: - { - $6 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $7 = HEAP32[$6 >> 2] | 0; - HEAP32[$ap >> 2] = $6 + 4; - HEAP32[$arg >> 2] = $7; - break L1; - break; - } - case 10: - { - $13 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $14 = HEAP32[$13 >> 2] | 0; - HEAP32[$ap >> 2] = $13 + 4; - $17 = $arg; - HEAP32[$17 >> 2] = $14; - HEAP32[$17 + 4 >> 2] = (($14 | 0) < 0) << 31 >> 31; - break L1; - break; - } - case 11: - { - $26 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $27 = HEAP32[$26 >> 2] | 0; - HEAP32[$ap >> 2] = $26 + 4; - $28 = $arg; - HEAP32[$28 >> 2] = $27; - HEAP32[$28 + 4 >> 2] = 0; - break L1; - break; - } - case 12: - { - $37 = (HEAP32[$ap >> 2] | 0) + (8 - 1) & ~(8 - 1); - $38 = $37; - $40 = HEAP32[$38 >> 2] | 0; - $43 = HEAP32[$38 + 4 >> 2] | 0; - HEAP32[$ap >> 2] = $37 + 8; - $44 = $arg; - HEAP32[$44 >> 2] = $40; - HEAP32[$44 + 4 >> 2] = $43; - break L1; - break; - } - case 13: - { - $53 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $54 = HEAP32[$53 >> 2] | 0; - HEAP32[$ap >> 2] = $53 + 4; - $56 = ($54 & 65535) << 16 >> 16; - $59 = $arg; - HEAP32[$59 >> 2] = $56; - HEAP32[$59 + 4 >> 2] = (($56 | 0) < 0) << 31 >> 31; - break L1; - break; - } - case 14: - { - $68 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $69 = HEAP32[$68 >> 2] | 0; - HEAP32[$ap >> 2] = $68 + 4; - $70 = $arg; - HEAP32[$70 >> 2] = $69 & 65535; - HEAP32[$70 + 4 >> 2] = 0; - break L1; - break; - } - case 15: - { - $79 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $80 = HEAP32[$79 >> 2] | 0; - HEAP32[$ap >> 2] = $79 + 4; - $82 = ($80 & 255) << 24 >> 24; - $85 = $arg; - HEAP32[$85 >> 2] = $82; - HEAP32[$85 + 4 >> 2] = (($82 | 0) < 0) << 31 >> 31; - break L1; - break; - } - case 16: - { - $94 = (HEAP32[$ap >> 2] | 0) + (4 - 1) & ~(4 - 1); - $95 = HEAP32[$94 >> 2] | 0; - HEAP32[$ap >> 2] = $94 + 4; - $96 = $arg; - HEAP32[$96 >> 2] = $95 & 255; - HEAP32[$96 + 4 >> 2] = 0; - break L1; - break; - } - case 17: - { - $105 = (HEAP32[$ap >> 2] | 0) + (8 - 1) & ~(8 - 1); - $106 = +HEAPF64[$105 >> 3]; - HEAP32[$ap >> 2] = $105 + 8; - HEAPF64[$arg >> 3] = $106; - break L1; - break; - } - case 18: - { - $112 = (HEAP32[$ap >> 2] | 0) + (8 - 1) & ~(8 - 1); - $113 = +HEAPF64[$112 >> 3]; - HEAP32[$ap >> 2] = $112 + 8; - HEAPF64[$arg >> 3] = $113; - break L1; - break; - } - default: - break L1; - } while (0); while (0); - return; -} - -function _arPattCreateHandle2($pattSize, $patternCountMax) { - $pattSize = $pattSize | 0; - $patternCountMax = $patternCountMax | 0; - var $$0 = 0, $10 = 0, $11 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $2 = 0, $21 = 0, $24 = 0, $25 = 0, $26 = 0, $29 = 0, $31 = 0, $32 = 0, $35 = 0, $7 = 0, $i$04 = 0, $j$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer13 = sp + 56 | 0; - $vararg_buffer11 = sp + 48 | 0; - $vararg_buffer9 = sp + 40 | 0; - $vararg_buffer7 = sp + 32 | 0; - $vararg_buffer5 = sp + 24 | 0; - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - L1 : do if (($pattSize + -16 | 0) >>> 0 > 48 | ($patternCountMax | 0) < 1) $$0 = 0; else { - $2 = _malloc(32) | 0; - if (!$2) { - _arLog(3, 5471, $vararg_buffer); - _exit(1); - } - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = $patternCountMax; - HEAP32[$2 + 28 >> 2] = $pattSize; - $7 = _malloc($patternCountMax << 2) | 0; - HEAP32[$2 + 8 >> 2] = $7; - if (!$7) { - _arLog(3, 5471, $vararg_buffer1); - _exit(1); - } - $10 = $patternCountMax << 4; - $11 = _malloc($10) | 0; - HEAP32[$2 + 12 >> 2] = $11; - if (!$11) { - _arLog(3, 5471, $vararg_buffer3); - _exit(1); - } - $14 = _malloc($10) | 0; - $15 = $2 + 20 | 0; - HEAP32[$15 >> 2] = $14; - if (!$14) { - _arLog(3, 5471, $vararg_buffer5); - _exit(1); - } - $17 = $patternCountMax << 5; - $18 = _malloc($17) | 0; - HEAP32[$2 + 16 >> 2] = $18; - if (!$18) { - _arLog(3, 5471, $vararg_buffer7); - _exit(1); - } - $21 = _malloc($17) | 0; - HEAP32[$2 + 24 >> 2] = $21; - if (!$21) { - _arLog(3, 5471, $vararg_buffer9); - _exit(1); - } - $24 = Math_imul($pattSize, $pattSize) | 0; - $25 = $24 * 12 | 0; - $26 = $24 << 2; - if (($patternCountMax | 0) > 0) { - $i$04 = 0; - L21 : while (1) { - HEAP32[$7 + ($i$04 << 2) >> 2] = 0; - $29 = $i$04 << 2; - $j$0 = 0; - while (1) { - if (($j$0 | 0) >= 4) break; - $31 = _malloc($25) | 0; - $32 = $j$0 + $29 | 0; - HEAP32[$11 + ($32 << 2) >> 2] = $31; - if (!$31) { - label = 18; - break L21; - } - $35 = _malloc($26) | 0; - HEAP32[(HEAP32[$15 >> 2] | 0) + ($32 << 2) >> 2] = $35; - if (!$35) { - label = 20; - break L21; - } else $j$0 = $j$0 + 1 | 0; - } - $i$04 = $i$04 + 1 | 0; - if (($i$04 | 0) >= ($patternCountMax | 0)) { - $$0 = $2; - break L1; - } - } - if ((label | 0) == 18) { - _arLog(3, 5471, $vararg_buffer11); - _exit(1); - } else if ((label | 0) == 20) { - _arLog(3, 5471, $vararg_buffer13); - _exit(1); - } - } else $$0 = $2; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arParamChangeSize($source, $xsize, $ysize, $newparam) { - $source = $source | 0; - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $newparam = $newparam | 0; - var $$0 = 0, $23 = 0, $3 = 0.0, $8 = 0.0, $i$01 = 0, label = 0; - $3 = +($xsize | 0) / +(HEAP32[$source >> 2] | 0); - $8 = +($ysize | 0) / +(HEAP32[$source + 4 >> 2] | 0); - HEAP32[$newparam >> 2] = $xsize; - HEAP32[$newparam + 4 >> 2] = $ysize; - $i$01 = 0; - do { - HEAPF64[$newparam + 8 + ($i$01 << 3) >> 3] = $3 * +HEAPF64[$source + 8 + ($i$01 << 3) >> 3]; - HEAPF64[$newparam + 40 + ($i$01 << 3) >> 3] = $8 * +HEAPF64[$source + 40 + ($i$01 << 3) >> 3]; - HEAPF64[$newparam + 72 + ($i$01 << 3) >> 3] = +HEAPF64[$source + 72 + ($i$01 << 3) >> 3]; - $i$01 = $i$01 + 1 | 0; - } while (($i$01 | 0) != 4); - $23 = HEAP32[$source + 176 >> 2] | 0; - switch ($23 | 0) { - case 4: - { - HEAPF64[$newparam + 104 >> 3] = +HEAPF64[$source + 104 >> 3]; - HEAPF64[$newparam + 112 >> 3] = +HEAPF64[$source + 112 >> 3]; - HEAPF64[$newparam + 120 >> 3] = +HEAPF64[$source + 120 >> 3]; - HEAPF64[$newparam + 128 >> 3] = +HEAPF64[$source + 128 >> 3]; - HEAPF64[$newparam + 136 >> 3] = $3 * +HEAPF64[$source + 136 >> 3]; - HEAPF64[$newparam + 144 >> 3] = $8 * +HEAPF64[$source + 144 >> 3]; - HEAPF64[$newparam + 152 >> 3] = $3 * +HEAPF64[$source + 152 >> 3]; - HEAPF64[$newparam + 160 >> 3] = $8 * +HEAPF64[$source + 160 >> 3]; - HEAPF64[$newparam + 168 >> 3] = +HEAPF64[$source + 168 >> 3]; - label = 8; - break; - } - case 3: - { - HEAPF64[$newparam + 104 >> 3] = $3 * +HEAPF64[$source + 104 >> 3]; - HEAPF64[$newparam + 112 >> 3] = $8 * +HEAPF64[$source + 112 >> 3]; - HEAPF64[$newparam + 120 >> 3] = +HEAPF64[$source + 120 >> 3]; - HEAPF64[$newparam + 128 >> 3] = +HEAPF64[$source + 128 >> 3]; - HEAPF64[$newparam + 136 >> 3] = +HEAPF64[$source + 136 >> 3] / ($3 * $8); - HEAPF64[$newparam + 144 >> 3] = +HEAPF64[$source + 144 >> 3] / ($8 * ($3 * $3 * $8)); - label = 8; - break; - } - case 2: - { - HEAPF64[$newparam + 104 >> 3] = $3 * +HEAPF64[$source + 104 >> 3]; - HEAPF64[$newparam + 112 >> 3] = $8 * +HEAPF64[$source + 112 >> 3]; - HEAPF64[$newparam + 120 >> 3] = +HEAPF64[$source + 120 >> 3]; - HEAPF64[$newparam + 128 >> 3] = +HEAPF64[$source + 128 >> 3] / ($3 * $8); - HEAPF64[$newparam + 136 >> 3] = +HEAPF64[$source + 136 >> 3] / ($8 * ($3 * $3 * $8)); - label = 8; - break; - } - case 1: - { - HEAPF64[$newparam + 104 >> 3] = $3 * +HEAPF64[$source + 104 >> 3]; - HEAPF64[$newparam + 112 >> 3] = $8 * +HEAPF64[$source + 112 >> 3]; - HEAPF64[$newparam + 120 >> 3] = +HEAPF64[$source + 120 >> 3]; - HEAPF64[$newparam + 128 >> 3] = +HEAPF64[$source + 128 >> 3] / ($3 * $8); - label = 8; - break; - } - default: - $$0 = -1; - } - if ((label | 0) == 8) { - HEAP32[$newparam + 176 >> 2] = $23; - $$0 = 0; - } - return $$0 | 0; -} - -function _icpUpdateMat($matXw2Xc, $dS) { - $matXw2Xc = $matXw2Xc | 0; - $dS = $dS | 0; - var $$sink$i = 0.0, $$sink1$i = 0.0, $0 = 0.0, $11 = 0.0, $16 = 0.0, $18 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $25 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $35 = 0.0, $36 = 0.0, $47 = 0.0, $48 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $82 = 0, $9 = 0.0, $i$08 = 0, $j$09 = 0, $j$17 = 0, $mat = 0, $mat2 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $mat = sp + 96 | 0; - $mat2 = sp; - $0 = +HEAPF64[$dS >> 3]; - $3 = +HEAPF64[$dS + 8 >> 3]; - $7 = +HEAPF64[$dS + 16 >> 3]; - $9 = $0 * $0 + $3 * $3 + $7 * $7; - if ($9 == 0.0) { - $$sink$i = 0.0; - $$sink1$i = 0.0; - $25 = 1.0; - $29 = 0.0; - } else { - $11 = +Math_sqrt(+$9); - $$sink$i = $11; - $$sink1$i = $7 / $11; - $25 = $0 / $11; - $29 = $3 / $11; - } - $16 = +HEAPF64[$dS + 24 >> 3]; - $18 = +HEAPF64[$dS + 32 >> 3]; - $20 = +HEAPF64[$dS + 40 >> 3]; - $21 = +Math_cos(+$$sink$i); - $22 = 1.0 - $21; - $23 = +Math_sin(+$$sink$i); - HEAPF64[$mat >> 3] = $21 + $25 * $25 * $22; - $30 = $29 * $25 * $22; - $31 = $$sink1$i * $23; - HEAPF64[$mat + 8 >> 3] = $30 - $31; - $35 = $25 * $$sink1$i * $22; - $36 = $29 * $23; - HEAPF64[$mat + 16 >> 3] = $35 + $36; - HEAPF64[$mat + 24 >> 3] = $16; - HEAPF64[$mat + 32 >> 3] = $30 + $31; - HEAPF64[$mat + 40 >> 3] = $21 + $29 * $29 * $22; - $47 = $29 * $$sink1$i * $22; - $48 = $25 * $23; - HEAPF64[$mat + 48 >> 3] = $47 - $48; - HEAPF64[$mat + 56 >> 3] = $18; - HEAPF64[$mat + 64 >> 3] = $35 - $36; - HEAPF64[$mat + 72 >> 3] = $47 + $48; - HEAPF64[$mat + 80 >> 3] = $21 + $$sink1$i * $$sink1$i * $22; - HEAPF64[$mat + 88 >> 3] = $20; - $j$09 = 0; - do { - $64 = +HEAPF64[$matXw2Xc + ($j$09 << 5) >> 3]; - $65 = +HEAPF64[$matXw2Xc + ($j$09 << 5) + 8 >> 3]; - $66 = +HEAPF64[$matXw2Xc + ($j$09 << 5) + 16 >> 3]; - $i$08 = 0; - do { - HEAPF64[$mat2 + ($j$09 << 5) + ($i$08 << 3) >> 3] = $64 * +HEAPF64[$mat + ($i$08 << 3) >> 3] + $65 * +HEAPF64[$mat + 32 + ($i$08 << 3) >> 3] + $66 * +HEAPF64[$mat + 64 + ($i$08 << 3) >> 3]; - $i$08 = $i$08 + 1 | 0; - } while (($i$08 | 0) != 4); - $82 = $mat2 + ($j$09 << 5) + 24 | 0; - HEAPF64[$82 >> 3] = +HEAPF64[$matXw2Xc + ($j$09 << 5) + 24 >> 3] + +HEAPF64[$82 >> 3]; - $j$09 = $j$09 + 1 | 0; - } while (($j$09 | 0) != 3); - $j$17 = 0; - do { - HEAPF64[$matXw2Xc + ($j$17 << 5) >> 3] = +HEAPF64[$mat2 + ($j$17 << 5) >> 3]; - HEAPF64[$matXw2Xc + ($j$17 << 5) + 8 >> 3] = +HEAPF64[$mat2 + ($j$17 << 5) + 8 >> 3]; - HEAPF64[$matXw2Xc + ($j$17 << 5) + 16 >> 3] = +HEAPF64[$mat2 + ($j$17 << 5) + 16 >> 3]; - HEAPF64[$matXw2Xc + ($j$17 << 5) + 24 >> 3] = +HEAPF64[$mat2 + ($j$17 << 5) + 24 >> 3]; - $j$17 = $j$17 + 1 | 0; - } while (($j$17 | 0) != 3); - STACKTOP = sp; - return 0; -} - -function _setCamera($id, $cameraID) { - $id = $id | 0; - $cameraID = $cameraID | 0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $14 = 0, $15 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $26 = 0, $4 = 0, $7 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer6 = sp + 24 | 0; - $vararg_buffer4 = sp + 16 | 0; - $vararg_buffer2 = sp + 8 | 0; - $vararg_buffer = sp; - $0 = sp + 32 | 0; - $1 = sp + 28 | 0; - HEAP32[$0 >> 2] = $id; - HEAP32[$1 >> 2] = $cameraID; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2064, $1) | 0)) $$0 = -1; else { - $7 = $4 + 8 | 0; - _memcpy($7 | 0, __ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2064, $1) | 0, 184) | 0; - $9 = HEAP32[$7 >> 2] | 0; - $10 = $4 + 204 | 0; - $14 = HEAP32[$4 + 12 >> 2] | 0; - $15 = $4 + 208 | 0; - if (!(($9 | 0) == (HEAP32[$10 >> 2] | 0) ? ($14 | 0) == (HEAP32[$15 >> 2] | 0) : 0)) { - HEAP32[$vararg_buffer >> 2] = $9; - HEAP32[$vararg_buffer + 4 >> 2] = $14; - _arLog(2, 6151, $vararg_buffer); - _arParamChangeSize($7, HEAP32[$10 >> 2] | 0, HEAP32[$15 >> 2] | 0, $7) | 0; - } - _deleteHandle($4); - $20 = _arParamLTCreate($7, 15) | 0; - $21 = $4 + 192 | 0; - HEAP32[$21 >> 2] = $20; - if (!$20) { - _arLog(3, 6198, $vararg_buffer2); - $$0 = -1; - break; - } - $23 = _arCreateHandle($20) | 0; - $24 = $4 + 212 | 0; - HEAP32[$24 >> 2] = $23; - if (!$23) { - _arLog(3, 6236, $vararg_buffer4); - $$0 = -1; - break; - } - _arSetPixelFormat($23, 2) | 0; - $26 = _ar3DCreateHandle($7) | 0; - HEAP32[$4 + 224 >> 2] = $26; - if (!$26) { - _arLog(3, 6273, $vararg_buffer6); - $$0 = -1; - break; - } else { - _arPattAttach(HEAP32[$24 >> 2] | 0, HEAP32[$4 + 216 >> 2] | 0) | 0; - _arglCameraFrustum(HEAP32[$21 >> 2] | 0, +HEAPF64[$4 + 232 >> 3], +HEAPF64[$4 + 240 >> 3], $4 + 264 | 0); - $$0 = 0; - break; - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _memchr($src, $c, $n) { - $src = $src | 0; - $c = $c | 0; - $n = $n | 0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $13 = 0, $15 = 0, $17 = 0, $20 = 0, $26 = 0, $27 = 0, $32 = 0, $4 = 0, $5 = 0, $8 = 0, $9 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0; - $0 = $c & 255; - $4 = ($n | 0) != 0; - L1 : do if ($4 & ($src & 3 | 0) != 0) { - $5 = $c & 255; - $$019 = $n; - $s$020 = $src; - while (1) { - if ((HEAP8[$s$020 >> 0] | 0) == $5 << 24 >> 24) { - $$0$lcssa44 = $$019; - $s$0$lcssa43 = $s$020; - label = 6; - break L1; - } - $8 = $s$020 + 1 | 0; - $9 = $$019 + -1 | 0; - $13 = ($9 | 0) != 0; - if ($13 & ($8 & 3 | 0) != 0) { - $$019 = $9; - $s$020 = $8; - } else { - $$0$lcssa = $9; - $$lcssa = $13; - $s$0$lcssa = $8; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n; - $$lcssa = $4; - $s$0$lcssa = $src; - label = 5; - } while (0); - if ((label | 0) == 5) if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa; - $s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0; - $s$2 = $s$0$lcssa; - } - L8 : do if ((label | 0) == 6) { - $15 = $c & 255; - if ((HEAP8[$s$0$lcssa43 >> 0] | 0) == $15 << 24 >> 24) { - $$3 = $$0$lcssa44; - $s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009) | 0; - L11 : do if ($$0$lcssa44 >>> 0 > 3) { - $$110 = $$0$lcssa44; - $w$011 = $s$0$lcssa43; - while (1) { - $20 = HEAP32[$w$011 >> 2] ^ $17; - if (($20 & -2139062144 ^ -2139062144) & $20 + -16843009) { - $$110$lcssa = $$110; - $w$011$lcssa = $w$011; - break; - } - $26 = $w$011 + 4 | 0; - $27 = $$110 + -4 | 0; - if ($27 >>> 0 > 3) { - $$110 = $27; - $w$011 = $26; - } else { - $$1$lcssa = $27; - $w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa; - $s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44; - $w$0$lcssa = $s$0$lcssa43; - label = 11; - } while (0); - if ((label | 0) == 11) if (!$$1$lcssa) { - $$3 = 0; - $s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa; - $s$15 = $w$0$lcssa; - } - while (1) { - if ((HEAP8[$s$15 >> 0] | 0) == $15 << 24 >> 24) { - $$3 = $$24; - $s$2 = $s$15; - break L8; - } - $32 = $s$15 + 1 | 0; - $$24 = $$24 + -1 | 0; - if (!$$24) { - $$3 = 0; - $s$2 = $32; - break; - } else $s$15 = $32; - } - } - } while (0); - return (($$3 | 0) != 0 ? $s$2 : 0) | 0; -} - -function _getMarkerInfo($id, $markerIndex) { - $id = $id | 0; - $markerIndex = $markerIndex | 0; - var $$0 = 0, $0 = 0, $5 = 0, $6 = 0, $_ZL11gMarkerInfo$ = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $5 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if ((HEAP32[$6 + 44 >> 2] | 0) > ($markerIndex | 0)) { - $_ZL11gMarkerInfo$ = ($markerIndex | 0) < 0 ? 8 : $6 + 48 + ($markerIndex << 8) | 0; - _emscripten_asm_const_33(1, HEAP32[$_ZL11gMarkerInfo$ >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 4 >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 8 >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 12 >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 16 >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 20 >> 2] | 0, HEAP32[$_ZL11gMarkerInfo$ + 24 >> 2] | 0, +(+HEAPF64[$_ZL11gMarkerInfo$ + 32 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 40 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 48 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 56 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 64 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 72 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 80 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 88 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 96 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 104 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 112 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 120 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 128 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 136 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 144 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 152 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 160 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 168 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 176 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 184 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 192 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 200 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 208 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 216 >> 3]), +(+HEAPF64[$_ZL11gMarkerInfo$ + 224 >> 3]), HEAP32[$_ZL11gMarkerInfo$ + 240 >> 2] | 0) | 0; - $$0 = 0; - break; - } else { - $$0 = HEAP32[523] | 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_114parse_decltypeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$03 = 0, $0 = 0, $1 = 0, $13 = 0, $14 = 0, $2 = 0, $21 = 0, $23 = 0, $24 = 0, $27 = 0, $3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 40 | 0; - $1 = sp + 24 | 0; - $2 = sp + 12 | 0; - $3 = sp; - L1 : do if (($last - $first | 0) > 3) if ((HEAP8[$first >> 0] | 0) == 68) { - switch (HEAP8[$first + 1 >> 0] | 0) { - case 84: - case 116: - break; - default: - { - $$03 = $first; - break L1; - } - } - $13 = $first + 2 | 0; - $14 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($13, $last, $db) | 0; - if (($14 | 0) == ($13 | 0) | ($14 | 0) == ($last | 0)) $$03 = $first; else if ((HEAP8[$14 >> 0] | 0) == 69) { - $21 = HEAP32[$db + 4 >> 2] | 0; - if ((HEAP32[$db >> 2] | 0) == ($21 | 0)) $$03 = $first; else { - $23 = $21 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($3, $23); - $24 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($3, 0, 12803) | 0; - HEAP32[$2 >> 2] = HEAP32[$24 >> 2]; - HEAP32[$2 + 4 >> 2] = HEAP32[$24 + 4 >> 2]; - HEAP32[$2 + 8 >> 2] = HEAP32[$24 + 8 >> 2]; - HEAP32[$24 >> 2] = 0; - HEAP32[$24 + 4 >> 2] = 0; - HEAP32[$24 + 8 >> 2] = 0; - $27 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($2, 12619) | 0; - HEAP32[$1 >> 2] = HEAP32[$27 >> 2]; - HEAP32[$1 + 4 >> 2] = HEAP32[$27 + 4 >> 2]; - HEAP32[$1 + 8 >> 2] = HEAP32[$27 + 8 >> 2]; - HEAP32[$27 >> 2] = 0; - HEAP32[$27 + 4 >> 2] = 0; - HEAP32[$27 + 8 >> 2] = 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($0, $1); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairaSEOS1_($23, $0); - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($1); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($2); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($3); - $$03 = $14 + 1 | 0; - } - } else $$03 = $first; - } else $$03 = $first; else $$03 = $first; while (0); - STACKTOP = sp; - return $$03 | 0; -} - -function ___fdopen($fd, $mode) { - $fd = $fd | 0; - $mode = $mode | 0; - var $$0 = 0, $0 = 0, $13 = 0, $14 = 0, $19 = 0, $24 = 0, $26 = 0, $3 = 0, $37 = 0, $4 = 0, $tio = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer12 = sp + 40 | 0; - $vararg_buffer7 = sp + 24 | 0; - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer = sp; - $tio = sp + 52 | 0; - $0 = HEAP8[$mode >> 0] | 0; - if (!(_memchr(16759, $0 << 24 >> 24, 4) | 0)) { - $3 = ___errno_location() | 0; - HEAP32[$3 >> 2] = 22; - $$0 = 0; - } else { - $4 = _malloc(1144) | 0; - if (!$4) $$0 = 0; else { - dest = $4; - stop = dest + 112 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - if (!(_strchr($mode, 43) | 0)) HEAP32[$4 >> 2] = $0 << 24 >> 24 == 114 ? 8 : 4; - if (!(_strchr($mode, 101) | 0)) $13 = $0; else { - HEAP32[$vararg_buffer >> 2] = $fd; - HEAP32[$vararg_buffer + 4 >> 2] = 2; - HEAP32[$vararg_buffer + 8 >> 2] = 1; - ___syscall221(221, $vararg_buffer | 0) | 0; - $13 = HEAP8[$mode >> 0] | 0; - } - if ($13 << 24 >> 24 == 97) { - HEAP32[$vararg_buffer3 >> 2] = $fd; - HEAP32[$vararg_buffer3 + 4 >> 2] = 3; - $14 = ___syscall221(221, $vararg_buffer3 | 0) | 0; - if (!($14 & 1024)) { - HEAP32[$vararg_buffer7 >> 2] = $fd; - HEAP32[$vararg_buffer7 + 4 >> 2] = 4; - HEAP32[$vararg_buffer7 + 8 >> 2] = $14 | 1024; - ___syscall221(221, $vararg_buffer7 | 0) | 0; - } - $19 = HEAP32[$4 >> 2] | 128; - HEAP32[$4 >> 2] = $19; - $26 = $19; - } else $26 = HEAP32[$4 >> 2] | 0; - HEAP32[$4 + 60 >> 2] = $fd; - HEAP32[$4 + 44 >> 2] = $4 + 120; - HEAP32[$4 + 48 >> 2] = 1024; - $24 = $4 + 75 | 0; - HEAP8[$24 >> 0] = -1; - if (!($26 & 8)) { - HEAP32[$vararg_buffer12 >> 2] = $fd; - HEAP32[$vararg_buffer12 + 4 >> 2] = 21505; - HEAP32[$vararg_buffer12 + 8 >> 2] = $tio; - if (!(___syscall54(54, $vararg_buffer12 | 0) | 0)) HEAP8[$24 >> 0] = 10; - } - HEAP32[$4 + 32 >> 2] = 14; - HEAP32[$4 + 36 >> 2] = 4; - HEAP32[$4 + 40 >> 2] = 5; - HEAP32[$4 + 12 >> 2] = 2; - if (!(HEAP32[598] | 0)) HEAP32[$4 + 76 >> 2] = -1; - ___lock(2416); - $37 = HEAP32[603] | 0; - HEAP32[$4 + 56 >> 2] = $37; - if ($37) HEAP32[$37 + 52 >> 2] = $4; - HEAP32[603] = $4; - ___unlock(2416); - $$0 = $4; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _addMultiMarker($id, $patt_name) { - $id = $id | 0; - $patt_name = $patt_name | 0; - var $$0 = 0, $0 = 0, $11 = 0, $12 = 0, $13 = 0, $15 = 0, $16 = 0, $21 = 0, $22 = 0, $23 = 0, $28 = 0, $29 = 0, $3 = 0, $38 = 0, $40 = 0, $43 = 0, $44 = 0, $marker = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 16 | 0; - $vararg_buffer = sp + 8 | 0; - $0 = sp + 20 | 0; - $marker = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if (!(HEAP8[$patt_name >> 0] & 1)) $15 = $patt_name + 1 | 0; else $15 = HEAP32[$patt_name + 8 >> 2] | 0; - $11 = HEAP32[$3 + 212 >> 2] | 0; - $12 = $3 + 216 | 0; - $13 = $3 + 220 | 0; - $16 = _arMultiReadConfigFile($15, HEAP32[$12 >> 2] | 0) | 0; - HEAP32[$13 >> 2] = $16; - if (!$16) { - _arLog(3, 6401, $vararg_buffer); - _arPattDeleteHandle(HEAP32[$12 >> 2] | 0) | 0; - _arLog(3, 6428, $vararg_buffer1); - $$0 = -1; - break; - } - switch (HEAP32[$16 + 108 >> 2] | 0) { - case 0: - { - _arSetPatternDetectionMode($11, 0) | 0; - break; - } - case 1: - { - _arSetPatternDetectionMode($11, 2) | 0; - break; - } - default: - _arSetPatternDetectionMode($11, 3) | 0; - } - $21 = $3 + 248 | 0; - $22 = $3 + 252 | 0; - $23 = HEAP32[$22 >> 2] | 0; - $28 = $23 - (HEAP32[$21 >> 2] | 0) >> 3; - $29 = $marker; - HEAP32[$29 >> 2] = 0; - HEAP32[$29 + 4 >> 2] = 0; - HEAP32[$marker >> 2] = $28; - HEAP32[$marker + 4 >> 2] = HEAP32[$13 >> 2]; - if (($23 | 0) == (HEAP32[$3 + 256 >> 2] | 0)) { - __ZNSt3__16vectorI12multi_markerNS_9allocatorIS1_EEE21__push_back_slow_pathIRKS1_EEvOT_($21, $marker); - $$0 = $28; - break; - } else { - $38 = $marker; - $40 = HEAP32[$38 >> 2] | 0; - $43 = HEAP32[$38 + 4 >> 2] | 0; - $44 = $23; - HEAP32[$44 >> 2] = $40; - HEAP32[$44 + 4 >> 2] = $43; - HEAP32[$22 >> 2] = (HEAP32[$22 >> 2] | 0) + 8; - $$0 = $40; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _get_cpara($world, $vertex, $para) { - $world = $world | 0; - $vertex = $vertex | 0; - $para = $para | 0; - var $0 = 0, $1 = 0, $2 = 0, $22 = 0, $3 = 0, $4 = 0, $49 = 0, $5 = 0, $62 = 0, $68 = 0, $7 = 0, $76 = 0, $86 = 0, $9 = 0, $i$03 = 0; - $0 = _arMatrixAlloc(8, 8) | 0; - $1 = _arMatrixAlloc(8, 1) | 0; - $2 = _arMatrixAlloc(8, 1) | 0; - $3 = HEAP32[$0 >> 2] | 0; - $4 = HEAP32[$1 >> 2] | 0; - $i$03 = 0; - do { - $5 = $world + ($i$03 << 4) | 0; - $7 = $i$03 << 4; - HEAPF64[$3 + ($7 << 3) >> 3] = +HEAPF64[$5 >> 3]; - $9 = $world + ($i$03 << 4) + 8 | 0; - HEAPF64[$3 + (($7 | 1) << 3) >> 3] = +HEAPF64[$9 >> 3]; - HEAPF64[$3 + (($7 | 2) << 3) >> 3] = 1.0; - HEAPF64[$3 + (($7 | 3) << 3) >> 3] = 0.0; - HEAPF64[$3 + (($7 | 4) << 3) >> 3] = 0.0; - HEAPF64[$3 + (($7 | 5) << 3) >> 3] = 0.0; - $22 = $vertex + ($i$03 << 4) | 0; - HEAPF64[$3 + (($7 | 6) << 3) >> 3] = -(+HEAPF64[$5 >> 3] * +HEAPF64[$22 >> 3]); - HEAPF64[$3 + (($7 | 7) << 3) >> 3] = -(+HEAPF64[$9 >> 3] * +HEAPF64[$22 >> 3]); - HEAPF64[$3 + (($7 | 8) << 3) >> 3] = 0.0; - HEAPF64[$3 + (($7 | 9) << 3) >> 3] = 0.0; - HEAPF64[$3 + (($7 | 10) << 3) >> 3] = 0.0; - HEAPF64[$3 + (($7 | 11) << 3) >> 3] = +HEAPF64[$5 >> 3]; - HEAPF64[$3 + (($7 | 12) << 3) >> 3] = +HEAPF64[$9 >> 3]; - HEAPF64[$3 + (($7 | 13) << 3) >> 3] = 1.0; - $49 = $vertex + ($i$03 << 4) + 8 | 0; - HEAPF64[$3 + (($7 | 14) << 3) >> 3] = -(+HEAPF64[$5 >> 3] * +HEAPF64[$49 >> 3]); - HEAPF64[$3 + (($7 | 15) << 3) >> 3] = -(+HEAPF64[$9 >> 3] * +HEAPF64[$49 >> 3]); - $62 = $i$03 << 1; - HEAPF64[$4 + ($62 << 3) >> 3] = +HEAPF64[$22 >> 3]; - HEAPF64[$4 + (($62 | 1) << 3) >> 3] = +HEAPF64[$49 >> 3]; - $i$03 = $i$03 + 1 | 0; - } while (($i$03 | 0) != 4); - _arMatrixSelfInv($0) | 0; - _arMatrixMul($2, $0, $1) | 0; - $68 = HEAP32[$2 >> 2] | 0; - HEAPF64[$para >> 3] = +HEAPF64[$68 >> 3]; - HEAPF64[$para + 8 >> 3] = +HEAPF64[$68 + 8 >> 3]; - HEAPF64[$para + 16 >> 3] = +HEAPF64[$68 + 16 >> 3]; - $76 = HEAP32[$2 >> 2] | 0; - HEAPF64[$para + 24 >> 3] = +HEAPF64[$76 + 24 >> 3]; - HEAPF64[$para + 32 >> 3] = +HEAPF64[$76 + 32 >> 3]; - HEAPF64[$para + 40 >> 3] = +HEAPF64[$76 + 40 >> 3]; - $86 = HEAP32[$2 >> 2] | 0; - HEAPF64[$para + 48 >> 3] = +HEAPF64[$86 + 48 >> 3]; - HEAPF64[$para + 56 >> 3] = +HEAPF64[$86 + 56 >> 3]; - HEAPF64[$para + 64 >> 3] = 1.0; - _arMatrixFree($0) | 0; - _arMatrixFree($1) | 0; - _arMatrixFree($2) | 0; - return; -} - -function _arGetTransMatSquare($handle, $marker_info, $width, $conv) { - $handle = $handle | 0; - $marker_info = $marker_info | 0; - $width = +$width; - $conv = $conv | 0; - var $$0 = 0.0, $1 = 0, $10 = 0, $18 = 0, $26 = 0, $3 = 0, $33 = 0.0, $34 = 0.0, $53 = 0, $data = 0, $err = 0, $initMatXw2Xc = 0, $screenCoord = 0, $worldCoord = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $screenCoord = sp + 200 | 0; - $worldCoord = sp + 104 | 0; - $data = sp + 264 | 0; - $initMatXw2Xc = sp + 8 | 0; - $err = sp; - $1 = HEAP32[$marker_info + 16 >> 2] | 0; - $3 = (4 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord >> 3] = +HEAPF64[$marker_info + 168 + ($3 << 4) >> 3]; - HEAPF64[$screenCoord + 8 >> 3] = +HEAPF64[$marker_info + 168 + ($3 << 4) + 8 >> 3]; - $10 = (5 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 16 >> 3] = +HEAPF64[$marker_info + 168 + ($10 << 4) >> 3]; - HEAPF64[$screenCoord + 24 >> 3] = +HEAPF64[$marker_info + 168 + ($10 << 4) + 8 >> 3]; - $18 = (6 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 32 >> 3] = +HEAPF64[$marker_info + 168 + ($18 << 4) >> 3]; - HEAPF64[$screenCoord + 40 >> 3] = +HEAPF64[$marker_info + 168 + ($18 << 4) + 8 >> 3]; - $26 = (7 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 48 >> 3] = +HEAPF64[$marker_info + 168 + ($26 << 4) >> 3]; - HEAPF64[$screenCoord + 56 >> 3] = +HEAPF64[$marker_info + 168 + ($26 << 4) + 8 >> 3]; - $33 = $width * -.5; - HEAPF64[$worldCoord >> 3] = $33; - $34 = $width * .5; - HEAPF64[$worldCoord + 8 >> 3] = $34; - HEAPF64[$worldCoord + 16 >> 3] = 0.0; - HEAPF64[$worldCoord + 24 >> 3] = $34; - HEAPF64[$worldCoord + 32 >> 3] = $34; - HEAPF64[$worldCoord + 40 >> 3] = 0.0; - HEAPF64[$worldCoord + 48 >> 3] = $34; - HEAPF64[$worldCoord + 56 >> 3] = $33; - HEAPF64[$worldCoord + 64 >> 3] = 0.0; - HEAPF64[$worldCoord + 72 >> 3] = $33; - HEAPF64[$worldCoord + 80 >> 3] = $33; - HEAPF64[$worldCoord + 88 >> 3] = 0.0; - HEAP32[$data >> 2] = $screenCoord; - HEAP32[$data + 4 >> 2] = $worldCoord; - HEAP32[$data + 8 >> 2] = 4; - if ((_icpGetInitXw2Xc_from_PlanarData(HEAP32[$handle >> 2] | 0, $screenCoord, $worldCoord, 4, $initMatXw2Xc) | 0) < 0) $$0 = 1.0e8; else { - $53 = (_icpPoint(HEAP32[$handle >> 2] | 0, $data, $initMatXw2Xc, $conv, $err) | 0) < 0; - $$0 = $53 ? 1.0e8 : +HEAPF64[$err >> 3]; - } - STACKTOP = sp; - return +$$0; -} - -function __ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($this, $info, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $14 = 0, $20 = 0, $23 = 0, $24 = 0, $26 = 0, $33 = 0, $44 = 0, $6 = 0, $is_dst_type_derived_from_static_type$0$off01 = 0, label = 0; - L1 : do if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) { - if ((HEAP32[$info + 4 >> 2] | 0) == ($current_ptr | 0)) { - $6 = $info + 28 | 0; - if ((HEAP32[$6 >> 2] | 0) != 1) HEAP32[$6 >> 2] = $path_below; - } - } else { - if (($this | 0) != (HEAP32[$info >> 2] | 0)) { - $44 = HEAP32[$this + 8 >> 2] | 0; - FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$44 >> 2] | 0) + 24 >> 2] & 3]($44, $info, $current_ptr, $path_below, $use_strcmp); - break; - } - if ((HEAP32[$info + 16 >> 2] | 0) != ($current_ptr | 0)) { - $14 = $info + 20 | 0; - if ((HEAP32[$14 >> 2] | 0) != ($current_ptr | 0)) { - HEAP32[$info + 32 >> 2] = $path_below; - $20 = $info + 44 | 0; - if ((HEAP32[$20 >> 2] | 0) == 4) break; - $23 = $info + 52 | 0; - HEAP8[$23 >> 0] = 0; - $24 = $info + 53 | 0; - HEAP8[$24 >> 0] = 0; - $26 = HEAP32[$this + 8 >> 2] | 0; - FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$26 >> 2] | 0) + 20 >> 2] & 3]($26, $info, $current_ptr, $current_ptr, 1, $use_strcmp); - if (!(HEAP8[$24 >> 0] | 0)) { - $is_dst_type_derived_from_static_type$0$off01 = 0; - label = 13; - } else if (!(HEAP8[$23 >> 0] | 0)) { - $is_dst_type_derived_from_static_type$0$off01 = 1; - label = 13; - } - do if ((label | 0) == 13) { - HEAP32[$14 >> 2] = $current_ptr; - $33 = $info + 40 | 0; - HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; - if ((HEAP32[$info + 36 >> 2] | 0) == 1) if ((HEAP32[$info + 24 >> 2] | 0) == 2) { - HEAP8[$info + 54 >> 0] = 1; - if ($is_dst_type_derived_from_static_type$0$off01) break; - } else label = 16; else label = 16; - if ((label | 0) == 16) if ($is_dst_type_derived_from_static_type$0$off01) break; - HEAP32[$20 >> 2] = 4; - break L1; - } while (0); - HEAP32[$20 >> 2] = 3; - break; - } - } - if (($path_below | 0) == 1) HEAP32[$info + 32 >> 2] = 1; - } while (0); - return; -} - -function _fgets($s, $n, $f) { - $s = $s | 0; - $n = $n | 0; - $f = $f | 0; - var $$0 = 0, $$048 = 0, $$05 = 0, $$lcssa14 = 0, $$sum$pre$phiZZ2D = 0, $$sum6 = 0, $13 = 0, $15 = 0, $16 = 0, $17 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $39 = 0, $4 = 0, $47 = 0, $48 = 0, $6 = 0, $8 = 0, $p$0 = 0, $p$1 = 0, label = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) $13 = ___lockfile($f) | 0; else $13 = 0; - $4 = $n + -1 | 0; - if (($n | 0) < 2) { - $6 = $f + 74 | 0; - $8 = HEAP8[$6 >> 0] | 0; - HEAP8[$6 >> 0] = $8 + 255 | $8; - if ($13) ___unlockfile($f); - if (!$4) { - HEAP8[$s >> 0] = 0; - $$0 = $s; - } else $$0 = 0; - } else { - L11 : do if (!$4) { - $p$1 = $s; - label = 18; - } else { - $15 = $f + 4 | 0; - $16 = $f + 8 | 0; - $$05 = $4; - $p$0 = $s; - while (1) { - $17 = HEAP32[$15 >> 2] | 0; - $20 = $17; - $21 = (HEAP32[$16 >> 2] | 0) - $20 | 0; - $22 = _memchr($17, 10, $21) | 0; - $23 = ($22 | 0) == 0; - $27 = $23 ? $21 : 1 - $20 + $22 | 0; - $28 = $27 >>> 0 < $$05 >>> 0; - $29 = $28 ? $27 : $$05; - _memcpy($p$0 | 0, $17 | 0, $29 | 0) | 0; - $30 = HEAP32[$15 >> 2] | 0; - $31 = $30 + $29 | 0; - HEAP32[$15 >> 2] = $31; - $32 = $p$0 + $29 | 0; - $33 = $$05 - $29 | 0; - if (!($23 & $28)) { - $p$1 = $32; - label = 18; - break L11; - } - if ($31 >>> 0 < (HEAP32[$16 >> 2] | 0) >>> 0) { - $$sum6 = $29 + 1 | 0; - HEAP32[$15 >> 2] = $30 + $$sum6; - $$sum$pre$phiZZ2D = $$sum6; - $47 = HEAPU8[$31 >> 0] | 0; - } else { - $39 = ___uflow($f) | 0; - if (($39 | 0) < 0) { - $$lcssa14 = $32; - break; - } - $$sum$pre$phiZZ2D = $29 + 1 | 0; - $47 = $39; - } - $$05 = $33 + -1 | 0; - $48 = $p$0 + $$sum$pre$phiZZ2D | 0; - HEAP8[$32 >> 0] = $47; - if (!(($$05 | 0) != 0 & ($47 & 255 | 0) != 10)) { - $p$1 = $48; - label = 18; - break L11; - } else $p$0 = $48; - } - if (($$lcssa14 | 0) == ($s | 0)) $$048 = 0; else if (!(HEAP32[$f >> 2] & 16)) $$048 = 0; else { - $p$1 = $$lcssa14; - label = 18; - } - } while (0); - if ((label | 0) == 18) if (!$s) $$048 = 0; else { - HEAP8[$p$1 >> 0] = 0; - $$048 = $s; - } - if (!$13) $$0 = $$048; else { - ___unlockfile($f); - $$0 = $$048; - } - } - return $$0 | 0; -} - -function _mbrtowc($wc, $src, $n, $st) { - $wc = $wc | 0; - $src = $src | 0; - $n = $n | 0; - $st = $st | 0; - var $$0 = 0, $$024 = 0, $$1 = 0, $$lcssa = 0, $$lcssa35 = 0, $$st = 0, $1 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $30 = 0, $40 = 0, $7 = 0, $8 = 0, $c$05 = 0, $c$1 = 0, $c$2 = 0, $dummy = 0, $dummy$wc = 0, $s$06 = 0, $s$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $dummy = sp; - $$st = ($st | 0) == 0 ? 2680 : $st; - $1 = HEAP32[$$st >> 2] | 0; - L1 : do if (!$src) if (!$1) $$0 = 0; else label = 15; else { - $dummy$wc = ($wc | 0) == 0 ? $dummy : $wc; - if (!$n) $$0 = -2; else { - if (!$1) { - $7 = HEAP8[$src >> 0] | 0; - $8 = $7 & 255; - if ($7 << 24 >> 24 > -1) { - HEAP32[$dummy$wc >> 2] = $8; - $$0 = $7 << 24 >> 24 != 0 & 1; - break; - } - $12 = $8 + -194 | 0; - if ($12 >>> 0 > 50) { - label = 15; - break; - } - $16 = HEAP32[2432 + ($12 << 2) >> 2] | 0; - $17 = $n + -1 | 0; - if (!$17) $c$2 = $16; else { - $$024 = $17; - $c$05 = $16; - $s$06 = $src + 1 | 0; - label = 9; - } - } else { - $$024 = $n; - $c$05 = $1; - $s$06 = $src; - label = 9; - } - L11 : do if ((label | 0) == 9) { - $19 = HEAP8[$s$06 >> 0] | 0; - $21 = ($19 & 255) >>> 3; - if (($21 + -16 | $21 + ($c$05 >> 26)) >>> 0 > 7) { - label = 15; - break L1; - } else { - $$1 = $$024; - $30 = $19; - $c$1 = $c$05; - $s$1 = $s$06; - } - while (1) { - $s$1 = $s$1 + 1 | 0; - $c$1 = ($30 & 255) + -128 | $c$1 << 6; - $$1 = $$1 + -1 | 0; - if (($c$1 | 0) >= 0) { - $$lcssa = $c$1; - $$lcssa35 = $$1; - break; - } - if (!$$1) { - $c$2 = $c$1; - break L11; - } - $30 = HEAP8[$s$1 >> 0] | 0; - if (($30 & -64) << 24 >> 24 != -128) { - label = 15; - break L1; - } - } - HEAP32[$$st >> 2] = 0; - HEAP32[$dummy$wc >> 2] = $$lcssa; - $$0 = $n - $$lcssa35 | 0; - break L1; - } while (0); - HEAP32[$$st >> 2] = $c$2; - $$0 = -2; - } - } while (0); - if ((label | 0) == 15) { - HEAP32[$$st >> 2] = 0; - $40 = ___errno_location() | 0; - HEAP32[$40 >> 2] = 84; - $$0 = -1; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($agg$result, $this, $__p) { - $agg$result = $agg$result | 0; - $this = $this | 0; - $__p = $__p | 0; - var $$pre$phiZ2D = 0, $0 = 0, $11 = 0, $12 = 0, $14 = 0, $16 = 0, $19 = 0, $2 = 0, $23 = 0, $24 = 0, $27 = 0, $31 = 0, $32 = 0, $34 = 0, $36 = 0, $4 = 0, $40 = 0, $43 = 0, $44 = 0, $5 = 0, $7 = 0, $__pn$0 = 0, $__pn$0$lcssa = 0, label = 0; - $0 = HEAP32[$__p >> 2] | 0; - $2 = HEAP32[$this + 4 >> 2] | 0; - $4 = HEAP32[$0 + 4 >> 2] | 0; - $5 = $2 + -1 | 0; - $7 = ($5 & $2 | 0) == 0; - if ($7) $12 = $5 & $4; else $12 = ($4 >>> 0) % ($2 >>> 0) | 0; - $11 = (HEAP32[$this >> 2] | 0) + ($12 << 2) | 0; - $__pn$0 = HEAP32[$11 >> 2] | 0; - while (1) { - $14 = HEAP32[$__pn$0 >> 2] | 0; - if (($14 | 0) == ($0 | 0)) { - $__pn$0$lcssa = $__pn$0; - break; - } else $__pn$0 = $14; - } - $16 = $this + 8 | 0; - if (($__pn$0$lcssa | 0) == ($16 | 0)) label = 12; else { - $19 = HEAP32[$__pn$0$lcssa + 4 >> 2] | 0; - if ($7) $23 = $19 & $5; else $23 = ($19 >>> 0) % ($2 >>> 0) | 0; - if (($23 | 0) == ($12 | 0)) $$pre$phiZ2D = $0; else label = 12; - } - do if ((label | 0) == 12) { - $24 = HEAP32[$0 >> 2] | 0; - if ($24) { - $27 = HEAP32[$24 + 4 >> 2] | 0; - if ($7) $31 = $27 & $5; else $31 = ($27 >>> 0) % ($2 >>> 0) | 0; - if (($31 | 0) == ($12 | 0)) { - $$pre$phiZ2D = $0; - break; - } - } - HEAP32[$11 >> 2] = 0; - $$pre$phiZ2D = $0; - } while (0); - $32 = HEAP32[$$pre$phiZ2D >> 2] | 0; - $34 = $32; - if (!$32) $43 = $34; else { - $36 = HEAP32[$32 + 4 >> 2] | 0; - if ($7) $40 = $36 & $5; else $40 = ($36 >>> 0) % ($2 >>> 0) | 0; - if (($40 | 0) == ($12 | 0)) $43 = $34; else { - HEAP32[(HEAP32[$this >> 2] | 0) + ($40 << 2) >> 2] = $__pn$0$lcssa; - $43 = HEAP32[$0 >> 2] | 0; - } - } - HEAP32[$__pn$0$lcssa >> 2] = $43; - HEAP32[$$pre$phiZ2D >> 2] = 0; - $44 = $this + 12 | 0; - HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + -1; - HEAP32[$agg$result >> 2] = $0; - HEAP32[$agg$result + 4 >> 2] = $16; - HEAP8[$agg$result + 8 >> 0] = 1; - return; -} - -function _arParamLTCreate($param, $offset) { - $param = $param | 0; - $offset = $offset | 0; - var $0 = 0, $14 = 0, $15 = 0, $17 = 0, $20 = 0, $22 = 0, $24 = 0, $26 = 0, $29 = 0.0, $3 = 0, $32 = 0.0, $4 = 0, $9 = 0, $i$04 = 0, $i2of$05 = 0, $i2of$12 = 0, $ix = 0, $iy = 0, $j$07 = 0, $o2if$06 = 0, $o2if$13 = 0, $ox = 0, $oy = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ix = sp + 24 | 0; - $iy = sp + 16 | 0; - $ox = sp + 8 | 0; - $oy = sp; - $0 = _malloc(208) | 0; - if (!$0) { - _arLog(3, 5471, sp + 32 | 0); - _exit(1); - } - _memcpy($0 | 0, $param | 0, 184) | 0; - $3 = $offset << 1; - $4 = (HEAP32[$param >> 2] | 0) + $3 | 0; - HEAP32[$0 + 192 >> 2] = $4; - $9 = (HEAP32[$param + 4 >> 2] | 0) + $3 | 0; - HEAP32[$0 + 196 >> 2] = $9; - HEAP32[$0 + 200 >> 2] = $offset; - HEAP32[$0 + 204 >> 2] = $offset; - $14 = Math_imul($4 << 3, $9) | 0; - $15 = _malloc($14) | 0; - HEAP32[$0 + 184 >> 2] = $15; - if (!$15) { - _arLog(3, 5471, sp + 40 | 0); - _exit(1); - } - $17 = _malloc($14) | 0; - HEAP32[$0 + 188 >> 2] = $17; - if (!$17) { - _arLog(3, 5471, sp + 48 | 0); - _exit(1); - } - $20 = $param + 104 | 0; - $22 = HEAP32[$param + 176 >> 2] | 0; - $24 = ($4 | 0) > 0 ? $4 << 1 : 0; - if (($9 | 0) > 0) { - $26 = ($4 | 0) > 0; - $i2of$05 = $15; - $j$07 = 0; - $o2if$06 = $17; - while (1) { - $29 = +($j$07 - $offset | 0); - if ($26) { - $i$04 = 0; - $i2of$12 = $i2of$05; - $o2if$13 = $o2if$06; - while (1) { - $32 = +($i$04 - $offset | 0); - _arParamIdeal2Observ($20, $32, $29, $ox, $oy, $22) | 0; - HEAPF32[$i2of$12 >> 2] = +HEAPF64[$ox >> 3]; - HEAPF32[$i2of$12 + 4 >> 2] = +HEAPF64[$oy >> 3]; - _arParamObserv2Ideal($20, $32, $29, $ix, $iy, $22) | 0; - HEAPF32[$o2if$13 >> 2] = +HEAPF64[$ix >> 3]; - HEAPF32[$o2if$13 + 4 >> 2] = +HEAPF64[$iy >> 3]; - $i$04 = $i$04 + 1 | 0; - if (($i$04 | 0) >= ($4 | 0)) break; else { - $i2of$12 = $i2of$12 + 8 | 0; - $o2if$13 = $o2if$13 + 8 | 0; - } - } - } - $o2if$06 = $o2if$06 + ($24 << 2) | 0; - $j$07 = $j$07 + 1 | 0; - if (($j$07 | 0) >= ($9 | 0)) break; else $i2of$05 = $i2of$05 + ($24 << 2) | 0; - } - } - STACKTOP = sp; - return $0 | 0; -} - -function _arGetTransMatSquareCont($handle, $marker_info, $initConv, $width, $conv) { - $handle = $handle | 0; - $marker_info = $marker_info | 0; - $initConv = $initConv | 0; - $width = +$width; - $conv = $conv | 0; - var $1 = 0, $10 = 0, $18 = 0, $26 = 0, $3 = 0, $33 = 0.0, $34 = 0.0, $50 = 0, $data = 0, $err = 0, $screenCoord = 0, $worldCoord = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $screenCoord = sp + 104 | 0; - $worldCoord = sp + 8 | 0; - $data = sp + 168 | 0; - $err = sp; - $1 = HEAP32[$marker_info + 16 >> 2] | 0; - $3 = (4 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord >> 3] = +HEAPF64[$marker_info + 168 + ($3 << 4) >> 3]; - HEAPF64[$screenCoord + 8 >> 3] = +HEAPF64[$marker_info + 168 + ($3 << 4) + 8 >> 3]; - $10 = (5 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 16 >> 3] = +HEAPF64[$marker_info + 168 + ($10 << 4) >> 3]; - HEAPF64[$screenCoord + 24 >> 3] = +HEAPF64[$marker_info + 168 + ($10 << 4) + 8 >> 3]; - $18 = (6 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 32 >> 3] = +HEAPF64[$marker_info + 168 + ($18 << 4) >> 3]; - HEAPF64[$screenCoord + 40 >> 3] = +HEAPF64[$marker_info + 168 + ($18 << 4) + 8 >> 3]; - $26 = (7 - $1 | 0) % 4 | 0; - HEAPF64[$screenCoord + 48 >> 3] = +HEAPF64[$marker_info + 168 + ($26 << 4) >> 3]; - HEAPF64[$screenCoord + 56 >> 3] = +HEAPF64[$marker_info + 168 + ($26 << 4) + 8 >> 3]; - $33 = $width * -.5; - HEAPF64[$worldCoord >> 3] = $33; - $34 = $width * .5; - HEAPF64[$worldCoord + 8 >> 3] = $34; - HEAPF64[$worldCoord + 16 >> 3] = 0.0; - HEAPF64[$worldCoord + 24 >> 3] = $34; - HEAPF64[$worldCoord + 32 >> 3] = $34; - HEAPF64[$worldCoord + 40 >> 3] = 0.0; - HEAPF64[$worldCoord + 48 >> 3] = $34; - HEAPF64[$worldCoord + 56 >> 3] = $33; - HEAPF64[$worldCoord + 64 >> 3] = 0.0; - HEAPF64[$worldCoord + 72 >> 3] = $33; - HEAPF64[$worldCoord + 80 >> 3] = $33; - HEAPF64[$worldCoord + 88 >> 3] = 0.0; - HEAP32[$data >> 2] = $screenCoord; - HEAP32[$data + 4 >> 2] = $worldCoord; - HEAP32[$data + 8 >> 2] = 4; - $50 = (_icpPoint(HEAP32[$handle >> 2] | 0, $data, $initConv, $conv, $err) | 0) < 0; - STACKTOP = sp; - return +($50 ? 1.0e8 : +HEAPF64[$err >> 3]); -} - -function ___dynamic_cast($static_ptr, $static_type, $dst_type, $src2dst_offset) { - $static_ptr = $static_ptr | 0; - $static_type = $static_type | 0; - $dst_type = $dst_type | 0; - $src2dst_offset = $src2dst_offset | 0; - var $0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $6 = 0, $dst_ptr$0 = 0, $info = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $info = sp; - $0 = HEAP32[$static_ptr >> 2] | 0; - $4 = $static_ptr + (HEAP32[$0 + -8 >> 2] | 0) | 0; - $6 = HEAP32[$0 + -4 >> 2] | 0; - HEAP32[$info >> 2] = $dst_type; - HEAP32[$info + 4 >> 2] = $static_ptr; - HEAP32[$info + 8 >> 2] = $static_type; - HEAP32[$info + 12 >> 2] = $src2dst_offset; - $10 = $info + 16 | 0; - $11 = $info + 20 | 0; - $12 = $info + 24 | 0; - $13 = $info + 28 | 0; - $14 = $info + 32 | 0; - $15 = $info + 40 | 0; - $16 = ($6 | 0) == ($dst_type | 0); - dest = $10; - stop = dest + 36 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP16[$10 + 36 >> 1] = 0; - HEAP8[$10 + 38 >> 0] = 0; - L1 : do if ($16) { - HEAP32[$info + 48 >> 2] = 1; - FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$dst_type >> 2] | 0) + 20 >> 2] & 3]($dst_type, $info, $4, $4, 1, 0); - $dst_ptr$0 = (HEAP32[$12 >> 2] | 0) == 1 ? $4 : 0; - } else { - FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$6 >> 2] | 0) + 24 >> 2] & 3]($6, $info, $4, 1, 0); - switch (HEAP32[$info + 36 >> 2] | 0) { - case 0: - { - $dst_ptr$0 = (HEAP32[$15 >> 2] | 0) == 1 & (HEAP32[$13 >> 2] | 0) == 1 & (HEAP32[$14 >> 2] | 0) == 1 ? HEAP32[$11 >> 2] | 0 : 0; - break L1; - break; - } - case 1: - break; - default: - { - $dst_ptr$0 = 0; - break L1; - } - } - if ((HEAP32[$12 >> 2] | 0) != 1) if (!((HEAP32[$15 >> 2] | 0) == 0 & (HEAP32[$13 >> 2] | 0) == 1 & (HEAP32[$14 >> 2] | 0) == 1)) { - $dst_ptr$0 = 0; - break; - } - $dst_ptr$0 = HEAP32[$10 >> 2] | 0; - } while (0); - STACKTOP = sp; - return $dst_ptr$0 | 0; -} - -function _arImageProcLumaHistAndOtsu($ipi, $dataPtr, $value_p) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - $value_p = $value_p | 0; - var $$0 = 0, $$lcssa = 0.0, $0 = 0, $12 = 0.0, $14 = 0, $18 = 0.0, $22 = 0.0, $27 = 0.0, $29 = 0.0, $6 = 0.0, $indvars$iv = 0, $indvars$iv1 = 0, $sum$0 = 0.0, $sumB$0 = 0.0, $sumB$1 = 0.0, $threshold$0 = 0, $threshold$1 = 0, $threshold$2 = 0, $varMax$0 = 0.0, $varMax$1 = 0.0, $wB$0 = 0.0; - $0 = _arImageProcLumaHist($ipi, $dataPtr) | 0; - if (($0 | 0) < 0) $$0 = $0; else { - $indvars$iv1 = 1; - $sum$0 = 0.0; - while (1) { - $6 = $sum$0 + +((Math_imul(HEAP32[$ipi + 16 + ($indvars$iv1 << 2) >> 2] | 0, $indvars$iv1) | 0) >>> 0); - $indvars$iv1 = $indvars$iv1 + 1 | 0; - if (($indvars$iv1 | 0) == 256) { - $$lcssa = $6; - break; - } else $sum$0 = $6; - } - $12 = +(Math_imul(HEAP32[$ipi + 12 >> 2] | 0, HEAP32[$ipi + 8 >> 2] | 0) | 0); - $indvars$iv = 0; - $sumB$0 = 0.0; - $threshold$0 = 0; - $varMax$0 = 0.0; - $wB$0 = 0.0; - while (1) { - $14 = HEAP32[$ipi + 16 + ($indvars$iv << 2) >> 2] | 0; - $wB$0 = $wB$0 + +($14 >>> 0); - if ($wB$0 != 0.0) { - $18 = $12 - $wB$0; - if ($18 == 0.0) { - $threshold$2 = $threshold$0; - break; - } - $22 = $sumB$0 + +((Math_imul($indvars$iv, $14) | 0) >>> 0); - $27 = $22 / $wB$0 - ($$lcssa - $22) / $18; - $29 = $27 * ($wB$0 * $18 * $27); - if ($29 > $varMax$0) { - $sumB$1 = $22; - $threshold$1 = $indvars$iv & 255; - $varMax$1 = $29; - } else { - $sumB$1 = $22; - $threshold$1 = $threshold$0; - $varMax$1 = $varMax$0; - } - } else { - $sumB$1 = $sumB$0; - $threshold$1 = $threshold$0; - $varMax$1 = $varMax$0; - } - if (($indvars$iv & 255) << 24 >> 24 == -1) { - $threshold$2 = $threshold$1; - break; - } else { - $indvars$iv = $indvars$iv + 1 | 0; - $sumB$0 = $sumB$1; - $threshold$0 = $threshold$1; - $varMax$0 = $varMax$1; - } - } - HEAP8[$value_p >> 0] = $threshold$2; - $$0 = 0; - } - return $$0 | 0; -} - -function __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev($this) { - $this = $this | 0; - __embind_register_void(624, 14202); - __embind_register_bool(632, 14207, 1, 1, 0); - __embind_register_integer(640, 13783, 1, -128, 127); - __embind_register_integer(656, 13788, 1, -128, 127); - __embind_register_integer(648, 13800, 1, 0, 255); - __embind_register_integer(664, 13814, 2, -32768, 32767); - __embind_register_integer(672, 13820, 2, 0, 65535); - __embind_register_integer(680, 14212, 4, -2147483648, 2147483647); - __embind_register_integer(688, 14216, 4, 0, -1); - __embind_register_integer(696, 14229, 4, -2147483648, 2147483647); - __embind_register_integer(704, 14234, 4, 0, -1); - __embind_register_float(712, 14277, 4); - __embind_register_float(720, 14283, 8); - __embind_register_std_string(360, 12846); - __embind_register_std_string(392, 10916); - __embind_register_std_wstring(416, 4, 10949); - __embind_register_emval(440, 10962); - __embind_register_memory_view(448, 0, 10978); - __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc(11008); - __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc(11045); - __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc(11084); - __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc(11115); - __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc(11155); - __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc(11184); - __embind_register_memory_view(456, 4, 11222); - __embind_register_memory_view(464, 5, 11252); - __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc(11291); - __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc(11323); - __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc(11356); - __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc(11389); - __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc(11423); - __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc(11456); - __embind_register_memory_view(472, 6, 11490); - __embind_register_memory_view(480, 7, 11521); - __embind_register_memory_view(488, 7, 11553); - return; -} - -function _arSetPixelFormat($handle, $pixFormat) { - $handle = $handle | 0; - $pixFormat = $pixFormat | 0; - var $$0 = 0, $1 = 0, $14 = 0, $16 = 0, $17 = 0, $4 = 0, $6 = 0, $7 = 0, $monoFormat$0 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - L1 : do if (!$handle) $$0 = -1; else { - $1 = $handle + 4 | 0; - if ((HEAP32[$1 >> 2] | 0) == ($pixFormat | 0)) $$0 = 0; else { - switch ($pixFormat | 0) { - case 11: - case 10: - case 9: - case 8: - case 7: - case 6: - case 4: - case 3: - case 2: - case 1: - case 0: - { - $monoFormat$0 = 0; - break; - } - case 14: - case 13: - case 12: - case 5: - { - $monoFormat$0 = 1; - break; - } - default: - { - HEAP32[$vararg_buffer >> 2] = $pixFormat; - _arLog(3, 3936, $vararg_buffer); - $$0 = -1; - break L1; - } - } - HEAP32[$1 >> 2] = $pixFormat; - $4 = _arUtilGetPixelSize($pixFormat) | 0; - HEAP32[$handle + 8 >> 2] = $4; - $6 = $handle + 7062408 | 0; - $7 = HEAP32[$6 >> 2] | 0; - if ($7) { - _arImageProcFinal($7); - $14 = _arImageProcInit(HEAP32[$handle + 36 >> 2] | 0, HEAP32[$handle + 40 >> 2] | 0, HEAP32[$1 >> 2] | 0, 0) | 0; - HEAP32[$6 >> 2] = $14; - } - $16 = $handle + 24 | 0; - $17 = HEAP32[$16 >> 2] | 0; - if (!$monoFormat$0) switch ($17 | 0) { - case 1: - { - HEAP32[$16 >> 2] = 4; - $$0 = 0; - break L1; - break; - } - case 4: - { - HEAP32[$16 >> 2] = 3; - $$0 = 0; - break L1; - break; - } - default: - { - $$0 = 0; - break L1; - } - } else switch ($17 | 0) { - case 0: - { - HEAP32[$16 >> 2] = 1; - $$0 = 0; - break L1; - break; - } - case 3: - { - HEAP32[$16 >> 2] = 4; - $$0 = 0; - break L1; - break; - } - default: - { - $$0 = 0; - break L1; - } - } - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _confidenceCutoff($arHandle) { - $arHandle = $arHandle | 0; - var $11 = 0, $21 = 0, $3 = 0, $31 = 0, $37 = 0, $6 = 0, $9 = 0, $cfOK$0 = 0, $i$010 = 0, $i$112 = 0, $i$29 = 0; - switch (HEAP32[$arHandle + 24 >> 2] | 0) { - case 1: - case 0: - { - $6 = HEAP32[$arHandle + 44 >> 2] | 0; - if (($6 | 0) > 0) { - $i$010 = 0; - do { - $11 = $arHandle + 48 + ($i$010 << 8) + 4 | 0; - if ((HEAP32[$11 >> 2] | 0) > -1) if (+HEAPF64[$arHandle + 48 + ($i$010 << 8) + 32 >> 3] < .5) { - HEAP32[$arHandle + 48 + ($i$010 << 8) + 8 >> 2] = -1; - HEAP32[$11 >> 2] = -1; - HEAP32[$arHandle + 48 + ($i$010 << 8) + 236 >> 2] = 6; - } - $i$010 = $i$010 + 1 | 0; - } while (($i$010 | 0) < ($6 | 0)); - } - break; - } - case 2: - { - $3 = HEAP32[$arHandle + 44 >> 2] | 0; - if (($3 | 0) > 0) { - $i$112 = 0; - do { - $21 = $arHandle + 48 + ($i$112 << 8) + 4 | 0; - if ((HEAP32[$21 >> 2] | 0) > -1) if (+HEAPF64[$arHandle + 48 + ($i$112 << 8) + 32 >> 3] < .5) { - HEAP32[$arHandle + 48 + ($i$112 << 8) + 12 >> 2] = -1; - HEAP32[$21 >> 2] = -1; - HEAP32[$arHandle + 48 + ($i$112 << 8) + 236 >> 2] = 6; - } - $i$112 = $i$112 + 1 | 0; - } while (($i$112 | 0) < ($3 | 0)); - } - break; - } - default: - { - $9 = HEAP32[$arHandle + 44 >> 2] | 0; - if (($9 | 0) > 0) { - $i$29 = 0; - do { - $31 = $arHandle + 48 + ($i$29 << 8) + 8 | 0; - if ((HEAP32[$31 >> 2] | 0) > -1) if (+HEAPF64[$arHandle + 48 + ($i$29 << 8) + 40 >> 3] < .5) { - HEAP32[$31 >> 2] = -1; - $cfOK$0 = 0; - } else $cfOK$0 = 1; else $cfOK$0 = 1; - $37 = $arHandle + 48 + ($i$29 << 8) + 12 | 0; - if ((HEAP32[$37 >> 2] | 0) > -1) if (+HEAPF64[$arHandle + 48 + ($i$29 << 8) + 48 >> 3] < .5) { - HEAP32[$37 >> 2] = -1; - if (!$cfOK$0) HEAP32[$arHandle + 48 + ($i$29 << 8) + 236 >> 2] = 6; - } - $i$29 = $i$29 + 1 | 0; - } while (($i$29 | 0) < ($9 | 0)); - } - } - } - return; -} - -function ___stpcpy($d, $s) { - $d = $d | 0; - $s = $s | 0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $10 = 0, $14 = 0, $20 = 0, $21 = 0, $22 = 0, $29 = 0, $32 = 0, $33 = 0, $7 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0; - $0 = $s; - L1 : do if (!(($0 ^ $d) & 3)) { - if (!($0 & 3)) { - $$0$lcssa = $s; - $$01$lcssa = $d; - } else { - $$0115 = $d; - $$016 = $s; - while (1) { - $7 = HEAP8[$$016 >> 0] | 0; - HEAP8[$$0115 >> 0] = $7; - if (!($7 << 24 >> 24)) { - $$03 = $$0115; - break L1; - } - $9 = $$016 + 1 | 0; - $10 = $$0115 + 1 | 0; - if (!($9 & 3)) { - $$0$lcssa = $9; - $$01$lcssa = $10; - break; - } else { - $$0115 = $10; - $$016 = $9; - } - } - } - $14 = HEAP32[$$0$lcssa >> 2] | 0; - if (!(($14 & -2139062144 ^ -2139062144) & $14 + -16843009)) { - $22 = $14; - $wd$010 = $$01$lcssa; - $ws$011 = $$0$lcssa; - while (1) { - $20 = $ws$011 + 4 | 0; - $21 = $wd$010 + 4 | 0; - HEAP32[$wd$010 >> 2] = $22; - $22 = HEAP32[$20 >> 2] | 0; - if (($22 & -2139062144 ^ -2139062144) & $22 + -16843009) { - $wd$0$lcssa = $21; - $ws$0$lcssa = $20; - break; - } else { - $wd$010 = $21; - $ws$011 = $20; - } - } - } else { - $wd$0$lcssa = $$01$lcssa; - $ws$0$lcssa = $$0$lcssa; - } - $$1$ph = $ws$0$lcssa; - $$12$ph = $wd$0$lcssa; - label = 8; - } else { - $$1$ph = $s; - $$12$ph = $d; - label = 8; - } while (0); - if ((label | 0) == 8) { - $29 = HEAP8[$$1$ph >> 0] | 0; - HEAP8[$$12$ph >> 0] = $29; - if (!($29 << 24 >> 24)) $$03 = $$12$ph; else { - $$128 = $$12$ph; - $$19 = $$1$ph; - while (1) { - $$19 = $$19 + 1 | 0; - $32 = $$128 + 1 | 0; - $33 = HEAP8[$$19 >> 0] | 0; - HEAP8[$32 >> 0] = $33; - if (!($33 << 24 >> 24)) { - $$03 = $32; - break; - } else $$128 = $32; - } - } - } - return $$03 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $10 = 0, $17 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $t$0 = 0, $t$0$lcssa = 0, $t$0$looptemp = 0; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else switch (HEAP8[$first >> 0] | 0) { - case 88: - { - $3 = $first + 1 | 0; - $4 = __ZN10__cxxabiv112_GLOBAL__N_116parse_expressionINS0_2DbEEEPKcS4_S4_RT_($3, $last, $db) | 0; - if (($4 | 0) == ($3 | 0) | ($4 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - $$0 = (HEAP8[$4 >> 0] | 0) == 69 ? $4 + 1 | 0 : $first; - break L1; - break; - } - case 74: - { - $10 = $first + 1 | 0; - if (($10 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } else $t$0 = $10; - while (1) { - if ((HEAP8[$t$0 >> 0] | 0) == 69) { - $t$0$lcssa = $t$0; - break; - } - $t$0$looptemp = $t$0; - $t$0 = __ZN10__cxxabiv112_GLOBAL__N_118parse_template_argINS0_2DbEEEPKcS4_S4_RT_($t$0, $last, $db) | 0; - if (($t$0 | 0) == ($t$0$looptemp | 0)) { - $$0 = $first; - break L1; - } - } - $$0 = $t$0$lcssa + 1 | 0; - break L1; - break; - } - case 76: - { - $17 = $first + 1 | 0; - if (($17 | 0) != ($last | 0)) if ((HEAP8[$17 >> 0] | 0) == 90) { - $21 = $first + 2 | 0; - $22 = __ZN10__cxxabiv112_GLOBAL__N_114parse_encodingINS0_2DbEEEPKcS4_S4_RT_($21, $last, $db) | 0; - if (($22 | 0) == ($21 | 0) | ($22 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - return ((HEAP8[$22 >> 0] | 0) == 69 ? $22 + 1 | 0 : $first) | 0; - } - $$0 = __ZN10__cxxabiv112_GLOBAL__N_118parse_expr_primaryINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - break; - } - default: - { - $$0 = __ZN10__cxxabiv112_GLOBAL__N_110parse_typeINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - break L1; - } - } while (0); - return $$0 | 0; -} - -function _vfprintf($f, $fmt, $ap) { - $f = $f | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - var $$ = 0, $$0 = 0, $12 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $21 = 0, $22 = 0, $28 = 0, $33 = 0, $6 = 0, $7 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0, $ret$1 = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ap2 = sp + 80 | 0; - $nl_type = sp + 96 | 0; - $nl_arg = sp; - $internal_buf = sp + 136 | 0; - dest = $nl_type; - stop = dest + 40 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP32[$ap2 >> 2] = HEAP32[$ap >> 2]; - if ((_printf_core(0, $fmt, $ap2, $nl_arg, $nl_type) | 0) < 0) $$0 = -1; else { - if ((HEAP32[$f + 76 >> 2] | 0) > -1) $33 = ___lockfile($f) | 0; else $33 = 0; - $6 = HEAP32[$f >> 2] | 0; - $7 = $6 & 32; - if ((HEAP8[$f + 74 >> 0] | 0) < 1) HEAP32[$f >> 2] = $6 & -33; - $12 = $f + 48 | 0; - if (!(HEAP32[$12 >> 2] | 0)) { - $16 = $f + 44 | 0; - $17 = HEAP32[$16 >> 2] | 0; - HEAP32[$16 >> 2] = $internal_buf; - $18 = $f + 28 | 0; - HEAP32[$18 >> 2] = $internal_buf; - $19 = $f + 20 | 0; - HEAP32[$19 >> 2] = $internal_buf; - HEAP32[$12 >> 2] = 80; - $21 = $f + 16 | 0; - HEAP32[$21 >> 2] = $internal_buf + 80; - $22 = _printf_core($f, $fmt, $ap2, $nl_arg, $nl_type) | 0; - if (!$17) $ret$1 = $22; else { - FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, 0, 0) | 0; - $$ = (HEAP32[$19 >> 2] | 0) == 0 ? -1 : $22; - HEAP32[$16 >> 2] = $17; - HEAP32[$12 >> 2] = 0; - HEAP32[$21 >> 2] = 0; - HEAP32[$18 >> 2] = 0; - HEAP32[$19 >> 2] = 0; - $ret$1 = $$; - } - } else $ret$1 = _printf_core($f, $fmt, $ap2, $nl_arg, $nl_type) | 0; - $28 = HEAP32[$f >> 2] | 0; - HEAP32[$f >> 2] = $28 | $7; - if ($33) ___unlockfile($f); - $$0 = ($28 & 32 | 0) == 0 ? $ret$1 : -1; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _get_vertex($x_coord, $y_coord, $st, $ed, $thresh, $vertex, $vnum) { - $x_coord = $x_coord | 0; - $y_coord = $y_coord | 0; - $st = $st | 0; - $ed = $ed | 0; - $thresh = +$thresh; - $vertex = $vertex | 0; - $vnum = $vnum | 0; - var $$0 = 0, $1 = 0, $11 = 0.0, $15 = 0.0, $16 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $39 = 0, $5 = 0.0, $7 = 0, $9 = 0, $dmax$0$lcssa = 0.0, $dmax$01 = 0.0, $dmax$1 = 0.0, $i$02 = 0, $v1$0$lcssa = 0, $v1$03 = 0, $v1$1 = 0, label = 0; - $1 = HEAP32[$y_coord + ($ed << 2) >> 2] | 0; - $3 = HEAP32[$y_coord + ($st << 2) >> 2] | 0; - $5 = +($1 - $3 | 0); - $7 = HEAP32[$x_coord + ($st << 2) >> 2] | 0; - $9 = HEAP32[$x_coord + ($ed << 2) >> 2] | 0; - $11 = +($7 - $9 | 0); - $15 = +((Math_imul($9, $3) | 0) - (Math_imul($7, $1) | 0) | 0); - $16 = $st + 1 | 0; - if (($16 | 0) < ($ed | 0)) { - $dmax$01 = 0.0; - $i$02 = $16; - $v1$03 = $16; - while (1) { - $27 = $15 + ($5 * +(HEAP32[$x_coord + ($i$02 << 2) >> 2] | 0) + $11 * +(HEAP32[$y_coord + ($i$02 << 2) >> 2] | 0)); - $28 = $27 * $27; - $29 = $28 > $dmax$01; - $dmax$1 = $29 ? $28 : $dmax$01; - $v1$1 = $29 ? $i$02 : $v1$03; - $i$02 = $i$02 + 1 | 0; - if (($i$02 | 0) >= ($ed | 0)) { - $dmax$0$lcssa = $dmax$1; - $v1$0$lcssa = $v1$1; - break; - } else { - $dmax$01 = $dmax$1; - $v1$03 = $v1$1; - } - } - } else { - $dmax$0$lcssa = 0.0; - $v1$0$lcssa = $16; - } - if ($dmax$0$lcssa / ($5 * $5 + $11 * $11) > $thresh) if ((_get_vertex($x_coord, $y_coord, $st, $v1$0$lcssa, $thresh, $vertex, $vnum) | 0) < 0) $$0 = -1; else { - $39 = HEAP32[$vnum >> 2] | 0; - if (($39 | 0) > 5) $$0 = -1; else { - HEAP32[$vertex + ($39 << 2) >> 2] = $v1$0$lcssa; - HEAP32[$vnum >> 2] = (HEAP32[$vnum >> 2] | 0) + 1; - if ((_get_vertex($x_coord, $y_coord, $v1$0$lcssa, $ed, $thresh, $vertex, $vnum) | 0) < 0) $$0 = -1; else label = 7; - } - } else label = 7; - if ((label | 0) == 7) $$0 = 0; - return $$0 | 0; -} - -function _setMarkerInfoVertex($id, $markerIndex) { - $id = $id | 0; - $markerIndex = $markerIndex | 0; - var $$0 = 0, $0 = 0, $13 = 0.0, $15 = 0.0, $17 = 0.0, $19 = 0.0, $21 = 0.0, $23 = 0.0, $25 = 0.0, $27 = 0.0, $5 = 0, $6 = 0, $_ZL11gMarkerInfo$ = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $5 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if ((HEAP32[$6 + 44 >> 2] | 0) > ($markerIndex | 0)) { - $_ZL11gMarkerInfo$ = ($markerIndex | 0) < 0 ? 8 : $6 + 48 + ($markerIndex << 8) | 0; - $13 = +HEAPF64[33]; - HEAPF64[$_ZL11gMarkerInfo$ + 168 >> 3] = $13; - $15 = +HEAPF64[34]; - HEAPF64[$_ZL11gMarkerInfo$ + 176 >> 3] = $15; - $17 = +HEAPF64[35]; - HEAPF64[$_ZL11gMarkerInfo$ + 184 >> 3] = $17; - $19 = +HEAPF64[36]; - HEAPF64[$_ZL11gMarkerInfo$ + 192 >> 3] = $19; - $21 = +HEAPF64[37]; - HEAPF64[$_ZL11gMarkerInfo$ + 200 >> 3] = $21; - $23 = +HEAPF64[38]; - HEAPF64[$_ZL11gMarkerInfo$ + 208 >> 3] = $23; - $25 = +HEAPF64[39]; - HEAPF64[$_ZL11gMarkerInfo$ + 216 >> 3] = $25; - $27 = +HEAPF64[40]; - HEAPF64[$_ZL11gMarkerInfo$ + 224 >> 3] = $27; - HEAPF64[$_ZL11gMarkerInfo$ + 56 >> 3] = ($13 + $17 + $21 + $25) * .25; - HEAPF64[$_ZL11gMarkerInfo$ + 64 >> 3] = ($15 + $19 + $23 + $27) * .25; - $$0 = 0; - break; - } else { - $$0 = HEAP32[523] | 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function ___stdio_read($f, $buf, $len) { - $f = $f | 0; - $buf = $buf | 0; - $len = $len | 0; - var $$0 = 0, $0 = 0, $1 = 0, $15 = 0, $2 = 0, $27 = 0, $30 = 0, $31 = 0, $32 = 0, $7 = 0, $cnt$0 = 0, $iov = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer = sp; - $iov = sp + 32 | 0; - HEAP32[$iov >> 2] = $buf; - $0 = $iov + 4 | 0; - $1 = $f + 48 | 0; - $2 = HEAP32[$1 >> 2] | 0; - HEAP32[$0 >> 2] = $len - (($2 | 0) != 0 & 1); - $7 = $f + 44 | 0; - HEAP32[$iov + 8 >> 2] = HEAP32[$7 >> 2]; - HEAP32[$iov + 12 >> 2] = $2; - if (!(HEAP32[597] | 0)) { - HEAP32[$vararg_buffer3 >> 2] = HEAP32[$f + 60 >> 2]; - HEAP32[$vararg_buffer3 + 4 >> 2] = $iov; - HEAP32[$vararg_buffer3 + 8 >> 2] = 2; - $cnt$0 = ___syscall_ret(___syscall145(145, $vararg_buffer3 | 0) | 0) | 0; - } else { - _pthread_cleanup_push(13, $f | 0); - HEAP32[$vararg_buffer >> 2] = HEAP32[$f + 60 >> 2]; - HEAP32[$vararg_buffer + 4 >> 2] = $iov; - HEAP32[$vararg_buffer + 8 >> 2] = 2; - $15 = ___syscall_ret(___syscall145(145, $vararg_buffer | 0) | 0) | 0; - _pthread_cleanup_pop(0); - $cnt$0 = $15; - } - if (($cnt$0 | 0) < 1) { - HEAP32[$f >> 2] = HEAP32[$f >> 2] | $cnt$0 & 48 ^ 16; - HEAP32[$f + 8 >> 2] = 0; - HEAP32[$f + 4 >> 2] = 0; - $$0 = $cnt$0; - } else { - $27 = HEAP32[$0 >> 2] | 0; - if ($cnt$0 >>> 0 > $27 >>> 0) { - $30 = HEAP32[$7 >> 2] | 0; - $31 = $f + 4 | 0; - HEAP32[$31 >> 2] = $30; - $32 = $30; - HEAP32[$f + 8 >> 2] = $32 + ($cnt$0 - $27); - if (!(HEAP32[$1 >> 2] | 0)) $$0 = $len; else { - HEAP32[$31 >> 2] = $32 + 1; - HEAP8[$buf + ($len + -1) >> 0] = HEAP8[$32 >> 0] | 0; - $$0 = $len; - } - } else $$0 = $cnt$0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($this, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $dst_ptr = $dst_ptr | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $10 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $9 = 0, $p$0 = 0; - if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $info, $dst_ptr, $current_ptr, $path_below); else { - $3 = $info + 52 | 0; - $4 = HEAP8[$3 >> 0] | 0; - $5 = $info + 53 | 0; - $6 = HEAP8[$5 >> 0] | 0; - $9 = HEAP32[$this + 12 >> 2] | 0; - $10 = $this + 16 + ($9 << 3) | 0; - HEAP8[$3 >> 0] = 0; - HEAP8[$5 >> 0] = 0; - __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($this + 16 | 0, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp); - L4 : do if (($9 | 0) > 1) { - $13 = $info + 24 | 0; - $14 = $this + 8 | 0; - $15 = $info + 54 | 0; - $p$0 = $this + 24 | 0; - do { - if (HEAP8[$15 >> 0] | 0) break L4; - if (!(HEAP8[$3 >> 0] | 0)) { - if (HEAP8[$5 >> 0] | 0) if (!(HEAP32[$14 >> 2] & 1)) break L4; - } else { - if ((HEAP32[$13 >> 2] | 0) == 1) break L4; - if (!(HEAP32[$14 >> 2] & 2)) break L4; - } - HEAP8[$3 >> 0] = 0; - HEAP8[$5 >> 0] = 0; - __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($p$0, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp); - $p$0 = $p$0 + 8 | 0; - } while ($p$0 >>> 0 < $10 >>> 0); - } while (0); - HEAP8[$3 >> 0] = $4; - HEAP8[$5 >> 0] = $6; - } - return; -} - -function _teardown($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $10 = 0, $11 = 0, $13 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $i$02 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $4 = $3 + 196 | 0; - $5 = HEAP32[$4 >> 2] | 0; - if ($5) { - _free($5); - HEAP32[$4 >> 2] = 0; - HEAP32[$3 + 200 >> 2] = 0; - } - _deleteHandle($3); - _arPattDeleteHandle(HEAP32[$3 + 216 >> 2] | 0) | 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE14__erase_uniqueIiEEjRKT_(2044, $0) | 0; - $10 = $3 + 248 | 0; - $11 = $3 + 252 | 0; - $13 = HEAP32[$10 >> 2] | 0; - if ((HEAP32[$11 >> 2] | 0) != ($13 | 0)) { - $16 = $13; - $i$02 = 0; - do { - _arMultiFreeConfig(HEAP32[$16 + ($i$02 << 3) + 4 >> 2] | 0) | 0; - $i$02 = $i$02 + 1 | 0; - $16 = HEAP32[$10 >> 2] | 0; - } while ($i$02 >>> 0 < (HEAP32[$11 >> 2] | 0) - $16 >> 3 >>> 0); - } - __ZNSt3__113__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($10); - __ZdlPv($10); - __ZNSt3__113__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($3 + 248 | 0); - __ZdlPv($3); - $$0 = 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_115parse_simple_idINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) { - $first = $first | 0; - $last = $last | 0; - $db = $db | 0; - var $$0 = 0, $1 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $20 = 0, $22 = 0, $3 = 0, $5 = 0, $6 = 0, $args = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $args = sp; - if (($first | 0) == ($last | 0)) $$0 = $first; else { - $1 = __ZN10__cxxabiv112_GLOBAL__N_117parse_source_nameINS0_2DbEEEPKcS4_S4_RT_($first, $last, $db) | 0; - if (($1 | 0) == ($first | 0)) $$0 = $first; else { - $3 = __ZN10__cxxabiv112_GLOBAL__N_119parse_template_argsINS0_2DbEEEPKcS4_S4_RT_($1, $last, $db) | 0; - if (($3 | 0) == ($1 | 0)) $$0 = $1; else { - $5 = $db + 4 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if ((($6 - (HEAP32[$db >> 2] | 0) | 0) / 24 | 0) >>> 0 < 2) $$0 = $first; else { - __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($args, $6 + -24 | 0); - $14 = HEAP32[$5 >> 2] | 0; - $15 = $14 + -24 | 0; - $17 = $14; - do { - $16 = $17 + -24 | 0; - HEAP32[$5 >> 2] = $16; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($16); - $17 = HEAP32[$5 >> 2] | 0; - } while (($17 | 0) != ($15 | 0)); - $20 = HEAP8[$args >> 0] | 0; - $22 = ($20 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($14 + -48 | 0, $22 ? $args + 1 | 0 : HEAP32[$args + 8 >> 2] | 0, $22 ? ($20 & 255) >>> 1 : HEAP32[$args + 4 >> 2] | 0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($args); - $$0 = $3; - } - } - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arMatrixMul($dest, $a, $b) { - $dest = $dest | 0; - $a = $a | 0; - $b = $b | 0; - var $$0 = 0, $1 = 0, $11 = 0, $18 = 0, $19 = 0, $20 = 0, $29 = 0.0, $6 = 0, $c$04 = 0, $i$01 = 0, $p1$02 = 0, $p2$03 = 0, $p3$09 = 0, $p3$15 = 0, $r$08 = 0, $smax = 0; - $1 = HEAP32[$a + 8 >> 2] | 0; - if (($1 | 0) == (HEAP32[$b + 4 >> 2] | 0)) { - $6 = HEAP32[$dest + 4 >> 2] | 0; - if (($6 | 0) == (HEAP32[$a + 4 >> 2] | 0)) { - $11 = HEAP32[$dest + 8 >> 2] | 0; - if (($11 | 0) == (HEAP32[$b + 8 >> 2] | 0)) { - $smax = ($11 | 0) > 0 ? $11 : 0; - if (($6 | 0) > 0) { - $18 = ($11 | 0) > 0; - $19 = ($1 | 0) > 0; - $p3$09 = HEAP32[$dest >> 2] | 0; - $r$08 = 0; - while (1) { - $20 = Math_imul($1, $r$08) | 0; - if ($18) { - $c$04 = 0; - $p3$15 = $p3$09; - while (1) { - HEAPF64[$p3$15 >> 3] = 0.0; - if ($19) { - $29 = 0.0; - $i$01 = 0; - $p1$02 = (HEAP32[$a >> 2] | 0) + ($20 << 3) | 0; - $p2$03 = (HEAP32[$b >> 2] | 0) + ($c$04 << 3) | 0; - while (1) { - $29 = $29 + +HEAPF64[$p1$02 >> 3] * +HEAPF64[$p2$03 >> 3]; - HEAPF64[$p3$15 >> 3] = $29; - $i$01 = $i$01 + 1 | 0; - if (($i$01 | 0) >= ($1 | 0)) break; else { - $p1$02 = $p1$02 + 8 | 0; - $p2$03 = $p2$03 + ($11 << 3) | 0; - } - } - } - $c$04 = $c$04 + 1 | 0; - if (($c$04 | 0) >= ($11 | 0)) break; else $p3$15 = $p3$15 + 8 | 0; - } - } - $r$08 = $r$08 + 1 | 0; - if (($r$08 | 0) >= ($6 | 0)) { - $$0 = 0; - break; - } else $p3$09 = $p3$09 + ($smax << 3) | 0; - } - } else $$0 = 0; - } else $$0 = -1; - } else $$0 = -1; - } else $$0 = -1; - return $$0 | 0; -} - -function __ZNSt3__16vectorINS0_INS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEEENS4_IS8_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS8_RS9_EE($this, $__v) { - $this = $this | 0; - $__v = $__v | 0; - var $$0$i1 = 0, $0 = 0, $1 = 0, $11 = 0, $14 = 0, $16 = 0, $2 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0, $$0$i1$looptemp = 0; - $0 = HEAP32[$this >> 2] | 0; - $1 = $this + 4 | 0; - $2 = HEAP32[$1 >> 2] | 0; - $3 = $__v + 4 | 0; - if (($2 | 0) != ($0 | 0)) { - $$0$i1 = $2; - do { - $5 = HEAP32[$3 >> 2] | 0; - $6 = $5 + -16 | 0; - $$0$i1$looptemp = $$0$i1; - $$0$i1 = $$0$i1 + -16 | 0; - HEAP32[$6 >> 2] = 0; - $9 = $5 + -12 | 0; - HEAP32[$9 >> 2] = 0; - $11 = HEAP32[$$0$i1$looptemp + -4 >> 2] | 0; - HEAP32[$5 + -8 >> 2] = 0; - HEAP32[$5 + -4 >> 2] = $11; - HEAP32[$6 >> 2] = HEAP32[$$0$i1 >> 2]; - $14 = $$0$i1$looptemp + -12 | 0; - HEAP32[$9 >> 2] = HEAP32[$14 >> 2]; - $16 = $$0$i1$looptemp + -8 | 0; - HEAP32[$5 + -8 >> 2] = HEAP32[$16 >> 2]; - HEAP32[$16 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$$0$i1 >> 2] = 0; - HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -16; - } while (($$0$i1 | 0) != ($0 | 0)); - } - $22 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = HEAP32[$3 >> 2]; - HEAP32[$3 >> 2] = $22; - $24 = $__v + 8 | 0; - $25 = HEAP32[$1 >> 2] | 0; - HEAP32[$1 >> 2] = HEAP32[$24 >> 2]; - HEAP32[$24 >> 2] = $25; - $27 = $this + 8 | 0; - $28 = $__v + 12 | 0; - $29 = HEAP32[$27 >> 2] | 0; - HEAP32[$27 >> 2] = HEAP32[$28 >> 2]; - HEAP32[$28 >> 2] = $29; - HEAP32[$__v >> 2] = HEAP32[$3 >> 2]; - return; -} - -function _strspn($s, $c) { - $s = $s | 0; - $c = $c | 0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 0, $0 = 0, $11 = 0, $14 = 0, $18 = 0, $24 = 0, $33 = 0, $byteset = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $byteset = sp; - HEAP32[$byteset >> 2] = 0; - HEAP32[$byteset + 4 >> 2] = 0; - HEAP32[$byteset + 8 >> 2] = 0; - HEAP32[$byteset + 12 >> 2] = 0; - HEAP32[$byteset + 16 >> 2] = 0; - HEAP32[$byteset + 20 >> 2] = 0; - HEAP32[$byteset + 24 >> 2] = 0; - HEAP32[$byteset + 28 >> 2] = 0; - $0 = HEAP8[$c >> 0] | 0; - do if (!($0 << 24 >> 24)) $$0 = 0; else { - if (!(HEAP8[$c + 1 >> 0] | 0)) { - $$03 = $s; - while (1) if ((HEAP8[$$03 >> 0] | 0) == $0 << 24 >> 24) $$03 = $$03 + 1 | 0; else { - $$03$lcssa = $$03; - break; - } - $$0 = $$03$lcssa - $s | 0; - break; - } else { - $$028 = $c; - $14 = $0; - } - do { - $18 = $byteset + ((($14 & 255) >>> 5 & 255) << 2) | 0; - HEAP32[$18 >> 2] = HEAP32[$18 >> 2] | 1 << ($14 & 31); - $$028 = $$028 + 1 | 0; - $14 = HEAP8[$$028 >> 0] | 0; - } while ($14 << 24 >> 24 != 0); - $11 = HEAP8[$s >> 0] | 0; - L10 : do if (!($11 << 24 >> 24)) $$1$lcssa = $s; else { - $$16 = $s; - $24 = $11; - while (1) { - if (!(HEAP32[$byteset + ((($24 & 255) >>> 5 & 255) << 2) >> 2] & 1 << ($24 & 31))) { - $$1$lcssa = $$16; - break L10; - } - $33 = $$16 + 1 | 0; - $24 = HEAP8[$33 >> 0] | 0; - if (!($24 << 24 >> 24)) { - $$1$lcssa = $33; - break; - } else $$16 = $33; - } - } while (0); - $$0 = $$1$lcssa - $s | 0; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arLog($logLevel, $format, $varargs) { - $logLevel = $logLevel | 0; - $format = $format | 0; - $varargs = $varargs | 0; - var $12 = 0, $15 = 0, $16 = 0, $21 = 0, $29 = 0, $5 = 0, $7 = 0, $ap = 0, $buf = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $buf = sp + 16 | 0; - $ap = sp; - HEAP32[$buf >> 2] = 0; - if (($format | 0) != 0 & (HEAP32[496] | 0) <= ($logLevel | 0)) if (HEAP8[$format >> 0] | 0) { - HEAP32[$ap >> 2] = $varargs; - $5 = _vasprintf($buf, $format, $ap) | 0; - if (($5 | 0) > -1) { - $7 = HEAP32[497] | 0; - do if (!$7) _fputs(HEAP32[$buf >> 2] | 0, HEAP32[659] | 0) | 0; else { - if (!(HEAP32[498] | 0)) { - FUNCTION_TABLE_vi[$7 & 15](HEAP32[$buf >> 2] | 0); - break; - } - $12 = _pthread_self() | 0; - $15 = HEAP32[500] | 0; - if (($12 | 0) == (HEAP32[499] | 0)) { - if (($15 | 0) > 0) { - FUNCTION_TABLE_vi[$7 & 15](HEAP32[502] | 0); - HEAP32[500] = 0; - $29 = HEAP32[497] | 0; - } else $29 = $7; - FUNCTION_TABLE_vi[$29 & 15](HEAP32[$buf >> 2] | 0); - break; - } - $16 = HEAP32[501] | 0; - if (($15 | 0) < ($16 | 0)) { - $21 = (HEAP32[502] | 0) + $15 | 0; - if (($5 | 0) < (-3 - $15 + $16 | 0)) { - _strcpy($21, HEAP32[$buf >> 2] | 0) | 0; - HEAP32[500] = (HEAP32[500] | 0) + $5; - break; - } else { - HEAP8[$21 >> 0] = 46; - HEAP8[$21 + 1 >> 0] = 46; - HEAP8[$21 + 2 >> 0] = 46; - HEAP8[$21 + 3 >> 0] = 0; - HEAP32[500] = HEAP32[501]; - break; - } - } - } while (0); - _free(HEAP32[$buf >> 2] | 0); - } - } - STACKTOP = sp; - return; -} - -function __ZNSt3__16vectorINS0_IN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEENS4_IS6_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS6_RS7_EE($this, $__v) { - $this = $this | 0; - $__v = $__v | 0; - var $$0$i1 = 0, $0 = 0, $1 = 0, $11 = 0, $14 = 0, $16 = 0, $2 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0, $$0$i1$looptemp = 0; - $0 = HEAP32[$this >> 2] | 0; - $1 = $this + 4 | 0; - $2 = HEAP32[$1 >> 2] | 0; - $3 = $__v + 4 | 0; - if (($2 | 0) != ($0 | 0)) { - $$0$i1 = $2; - do { - $5 = HEAP32[$3 >> 2] | 0; - $6 = $5 + -16 | 0; - $$0$i1$looptemp = $$0$i1; - $$0$i1 = $$0$i1 + -16 | 0; - HEAP32[$6 >> 2] = 0; - $9 = $5 + -12 | 0; - HEAP32[$9 >> 2] = 0; - $11 = HEAP32[$$0$i1$looptemp + -4 >> 2] | 0; - HEAP32[$5 + -8 >> 2] = 0; - HEAP32[$5 + -4 >> 2] = $11; - HEAP32[$6 >> 2] = HEAP32[$$0$i1 >> 2]; - $14 = $$0$i1$looptemp + -12 | 0; - HEAP32[$9 >> 2] = HEAP32[$14 >> 2]; - $16 = $$0$i1$looptemp + -8 | 0; - HEAP32[$5 + -8 >> 2] = HEAP32[$16 >> 2]; - HEAP32[$16 >> 2] = 0; - HEAP32[$14 >> 2] = 0; - HEAP32[$$0$i1 >> 2] = 0; - HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -16; - } while (($$0$i1 | 0) != ($0 | 0)); - } - $22 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = HEAP32[$3 >> 2]; - HEAP32[$3 >> 2] = $22; - $24 = $__v + 8 | 0; - $25 = HEAP32[$1 >> 2] | 0; - HEAP32[$1 >> 2] = HEAP32[$24 >> 2]; - HEAP32[$24 >> 2] = $25; - $27 = $this + 8 | 0; - $28 = $__v + 12 | 0; - $29 = HEAP32[$27 >> 2] | 0; - HEAP32[$27 >> 2] = HEAP32[$28 >> 2]; - HEAP32[$28 >> 2] = $29; - HEAP32[$__v >> 2] = HEAP32[$3 >> 2]; - return; -} - -function _getMultiEachMarkerInfo($id, $multiMarkerId, $markerIndex) { - $id = $id | 0; - $multiMarkerId = $multiMarkerId | 0; - $markerIndex = $markerIndex | 0; - var $$0 = 0, $0 = 0, $17 = 0, $23 = 0, $4 = 0, $8 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $8 = HEAP32[$4 + 248 >> 2] | 0; - if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$4 + 252 >> 2] | 0) - $8 >> 3 >>> 0 <= $multiMarkerId >>> 0) { - $$0 = HEAP32[524] | 0; - break; - } - $17 = HEAP32[$8 + ($multiMarkerId << 3) + 4 >> 2] | 0; - if (($markerIndex | 0) < 0 ? 1 : (HEAP32[$17 + 4 >> 2] | 0) <= ($markerIndex | 0)) { - $$0 = HEAP32[523] | 0; - break; - } else { - $23 = HEAP32[$17 >> 2] | 0; - _matrixCopy($23 + ($markerIndex * 320 | 0) + 16 | 0, 264); - _emscripten_asm_const_4(0, HEAP32[$23 + ($markerIndex * 320 | 0) + 304 >> 2] | 0, HEAP32[$23 + ($markerIndex * 320 | 0) >> 2] | 0, HEAP32[$23 + ($markerIndex * 320 | 0) + 4 >> 2] | 0, +(+HEAPF64[$23 + ($markerIndex * 320 | 0) + 8 >> 3])) | 0; - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueERS7_E4typeESC_SC_($this, $__first, $__last) { - $this = $this | 0; - $__first = $__first | 0; - $__last = $__last | 0; - var $$03 = 0, $0 = 0, $1 = 0, $12 = 0, $15 = 0, $16 = 0, $21 = 0, $29 = 0, $34 = 0, $41 = 0, $8 = 0, $__p$04 = 0, $scevgep1 = 0; - $0 = $__first; - $1 = HEAP8[$this >> 0] | 0; - if (!($1 & 1)) { - $15 = 10; - $16 = ($1 & 255) >>> 1; - $41 = $1; - } else { - $8 = HEAP32[$this >> 2] | 0; - $15 = ($8 & -2) + -1 | 0; - $16 = HEAP32[$this + 4 >> 2] | 0; - $41 = $8 & 255; - } - $12 = $__last - $0 | 0; - do if (($__last | 0) != ($__first | 0)) { - if (($15 - $16 | 0) >>> 0 < $12 >>> 0) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEjjjjjj($this, $15, $16 + $12 - $15 | 0, $16, $16, 0); - $21 = HEAP8[$this >> 0] | 0; - } else $21 = $41; - if (!($21 & 1)) $29 = $this + 1 | 0; else $29 = HEAP32[$this + 8 >> 2] | 0; - $scevgep1 = $__last + ($16 - $0) | 0; - if (($__first | 0) != ($__last | 0)) { - $$03 = $__first; - $__p$04 = $29 + $16 | 0; - while (1) { - HEAP8[$__p$04 >> 0] = HEAP8[$$03 >> 0] | 0; - $$03 = $$03 + 1 | 0; - if (($$03 | 0) == ($__last | 0)) break; else $__p$04 = $__p$04 + 1 | 0; - } - } - HEAP8[$29 + $scevgep1 >> 0] = 0; - $34 = $16 + $12 | 0; - if (!(HEAP8[$this >> 0] & 1)) { - HEAP8[$this >> 0] = $34 << 1; - break; - } else { - HEAP32[$this + 4 >> 2] = $34; - break; - } - } while (0); - return; -} - -function _fread($destv, $size, $nmemb, $f) { - $destv = $destv | 0; - $size = $size | 0; - $nmemb = $nmemb | 0; - $f = $f | 0; - var $$ = 0, $$0 = 0, $0 = 0, $13 = 0, $14 = 0, $17 = 0, $24 = 0, $28 = 0, $32 = 0, $5 = 0, $7 = 0, $dest$0$ph = 0, $dest$02 = 0, $l$0$ph = 0, $l$03 = 0, $l$03$lcssa = 0, label = 0; - $0 = Math_imul($nmemb, $size) | 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) $32 = ___lockfile($f) | 0; else $32 = 0; - $5 = $f + 74 | 0; - $7 = HEAP8[$5 >> 0] | 0; - HEAP8[$5 >> 0] = $7 + 255 | $7; - $13 = $f + 4 | 0; - $14 = HEAP32[$13 >> 2] | 0; - $17 = (HEAP32[$f + 8 >> 2] | 0) - $14 | 0; - if (($17 | 0) > 0) { - $$ = $17 >>> 0 < $0 >>> 0 ? $17 : $0; - _memcpy($destv | 0, $14 | 0, $$ | 0) | 0; - HEAP32[$13 >> 2] = $14 + $$; - $dest$0$ph = $destv + $$ | 0; - $l$0$ph = $0 - $$ | 0; - } else { - $dest$0$ph = $destv; - $l$0$ph = $0; - } - L7 : do if (!$l$0$ph) label = 13; else { - $24 = $f + 32 | 0; - $dest$02 = $dest$0$ph; - $l$03 = $l$0$ph; - while (1) { - if (___toread($f) | 0) { - $l$03$lcssa = $l$03; - break; - } - $28 = FUNCTION_TABLE_iiii[HEAP32[$24 >> 2] & 15]($f, $dest$02, $l$03) | 0; - if (($28 + 1 | 0) >>> 0 < 2) { - $l$03$lcssa = $l$03; - break; - } - if (($l$03 | 0) == ($28 | 0)) { - label = 13; - break L7; - } else { - $dest$02 = $dest$02 + $28 | 0; - $l$03 = $l$03 - $28 | 0; - } - } - if ($32) ___unlockfile($f); - $$0 = (($0 - $l$03$lcssa | 0) >>> 0) / ($size >>> 0) | 0; - } while (0); - if ((label | 0) == 13) if (!$32) $$0 = $nmemb; else { - ___unlockfile($f); - $$0 = $nmemb; - } - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKcj($this, $__pos, $__s, $__n) { - $this = $this | 0; - $__pos = $__pos | 0; - $__s = $__s | 0; - $__n = $__n | 0; - var $$1 = 0, $$pre$phiZ2D = 0, $0 = 0, $13 = 0, $17 = 0, $2 = 0, $23 = 0, $25 = 0, $31 = 0, $8 = 0, $9 = 0; - $0 = HEAP8[$this >> 0] | 0; - $2 = ($0 & 1) == 0; - if ($2) $8 = ($0 & 255) >>> 1; else $8 = HEAP32[$this + 4 >> 2] | 0; - if ($8 >>> 0 < $__pos >>> 0) __ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv($this); - if ($2) { - $13 = 10; - $17 = $0; - } else { - $9 = HEAP32[$this >> 2] | 0; - $13 = ($9 & -2) + -1 | 0; - $17 = $9 & 255; - } - if (($13 - $8 | 0) >>> 0 < $__n >>> 0) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEjjjjjjPKc($this, $13, $8 + $__n - $13 | 0, $8, $__pos, 0, $__n, $__s); else if ($__n) { - if (!($17 & 1)) $23 = $this + 1 | 0; else $23 = HEAP32[$this + 8 >> 2] | 0; - if (($8 | 0) == ($__pos | 0)) { - $$1 = $__s; - $$pre$phiZ2D = $23 + $__pos | 0; - } else { - $25 = $23 + $__pos | 0; - _memmove($23 + ($__n + $__pos) | 0, $25 | 0, $8 - $__pos | 0) | 0; - $$1 = $25 >>> 0 <= $__s >>> 0 & ($23 + $8 | 0) >>> 0 > $__s >>> 0 ? $__s + $__n | 0 : $__s; - $$pre$phiZ2D = $25; - } - _memmove($$pre$phiZ2D | 0, $$1 | 0, $__n | 0) | 0; - $31 = $8 + $__n | 0; - if (!(HEAP8[$this >> 0] & 1)) HEAP8[$this >> 0] = $31 << 1; else HEAP32[$this + 4 >> 2] = $31; - HEAP8[$23 + $31 >> 0] = 0; - } - return $this | 0; -} - -function _arUtilMatInv($s, $d) { - $s = $s | 0; - $d = $d | 0; - var $0 = 0, $1 = 0, $2 = 0, $22 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $j$08 = 0, $j$16 = 0; - $0 = _arMatrixAlloc(4, 4) | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = HEAP32[$0 >> 2] | 0; - $3 = HEAP32[$0 >> 2] | 0; - $4 = HEAP32[$0 >> 2] | 0; - $j$08 = 0; - do { - $5 = $j$08 << 2; - HEAPF64[$1 + ($5 << 3) >> 3] = +HEAPF64[$s + ($j$08 << 5) >> 3]; - HEAPF64[$2 + (1 + $5 << 3) >> 3] = +HEAPF64[$s + ($j$08 << 5) + 8 >> 3]; - HEAPF64[$3 + (2 + $5 << 3) >> 3] = +HEAPF64[$s + ($j$08 << 5) + 16 >> 3]; - HEAPF64[$4 + (3 + $5 << 3) >> 3] = +HEAPF64[$s + ($j$08 << 5) + 24 >> 3]; - $j$08 = $j$08 + 1 | 0; - } while (($j$08 | 0) != 3); - $22 = HEAP32[$0 >> 2] | 0; - $23 = $22 + 96 | 0; - HEAP32[$23 >> 2] = 0; - HEAP32[$23 + 4 >> 2] = 0; - HEAP32[$23 + 8 >> 2] = 0; - HEAP32[$23 + 12 >> 2] = 0; - HEAP32[$23 + 16 >> 2] = 0; - HEAP32[$23 + 20 >> 2] = 0; - HEAPF64[$22 + 120 >> 3] = 1.0; - _arMatrixSelfInv($0) | 0; - $25 = HEAP32[$0 >> 2] | 0; - $26 = HEAP32[$0 >> 2] | 0; - $27 = HEAP32[$0 >> 2] | 0; - $28 = HEAP32[$0 >> 2] | 0; - $j$16 = 0; - do { - $29 = $j$16 << 2; - HEAPF64[$d + ($j$16 << 5) >> 3] = +HEAPF64[$25 + ($29 << 3) >> 3]; - HEAPF64[$d + ($j$16 << 5) + 8 >> 3] = +HEAPF64[$26 + (1 + $29 << 3) >> 3]; - HEAPF64[$d + ($j$16 << 5) + 16 >> 3] = +HEAPF64[$27 + (2 + $29 << 3) >> 3]; - HEAPF64[$d + ($j$16 << 5) + 24 >> 3] = +HEAPF64[$28 + (3 + $29 << 3) >> 3]; - $j$16 = $j$16 + 1 | 0; - } while (($j$16 | 0) != 3); - _arMatrixFree($0) | 0; - return 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_119parse_discriminatorEPKcS2_($first, $last) { - $first = $first | 0; - $last = $last | 0; - var $$0 = 0, $$lcssa = 0, $1 = 0, $11 = 0, $3 = 0, $5 = 0, $9 = 0, $first$pn = 0, $t1$016 = 0, $t1$016$lcssa = 0, $t11$0 = 0; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else { - $1 = HEAP8[$first >> 0] | 0; - if ($1 << 24 >> 24 != 95) { - if ((($1 << 24 >> 24) + -48 | 0) >>> 0 < 10) $first$pn = $first; else { - $$0 = $first; - break; - } - while (1) { - $t11$0 = $first$pn + 1 | 0; - if (($t11$0 | 0) == ($last | 0)) { - $$0 = $last; - break L1; - } - if (((HEAP8[$t11$0 >> 0] | 0) + -48 | 0) >>> 0 < 10) $first$pn = $t11$0; else { - $$0 = $t11$0; - break L1; - } - } - } - $3 = $first + 1 | 0; - if (($3 | 0) == ($last | 0)) $$0 = $first; else { - $5 = HEAP8[$3 >> 0] | 0; - if ((($5 << 24 >> 24) + -48 | 0) >>> 0 < 10) { - $$0 = $first + 2 | 0; - break; - } - if ($5 << 24 >> 24 == 95) { - $9 = $first + 2 | 0; - if (($9 | 0) == ($last | 0)) $$0 = $first; else { - $t1$016 = $9; - while (1) { - $11 = HEAP8[$t1$016 >> 0] | 0; - if ((($11 << 24 >> 24) + -48 | 0) >>> 0 >= 10) { - $$lcssa = $11; - $t1$016$lcssa = $t1$016; - break; - } - $t1$016 = $t1$016 + 1 | 0; - if (($t1$016 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - } - return ($$lcssa << 24 >> 24 == 95 ? $t1$016$lcssa + 1 | 0 : $first) | 0; - } - } else $$0 = $first; - } - } while (0); - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEjjjjjjPKc($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_del, $__n_add, $__p_new_stuff) { - $this = $this | 0; - $__old_cap = $__old_cap | 0; - $__delta_cap = $__delta_cap | 0; - $__old_sz = $__old_sz | 0; - $__n_copy = $__n_copy | 0; - $__n_del = $__n_del | 0; - $__n_add = $__n_add | 0; - $__p_new_stuff = $__p_new_stuff | 0; - var $10 = 0, $12 = 0, $17 = 0, $18 = 0, $20 = 0, $23 = 0, $31 = 0, $9 = 0; - if ((-18 - $__old_cap | 0) >>> 0 < $__delta_cap >>> 0) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this); - if (!(HEAP8[$this >> 0] & 1)) $20 = $this + 1 | 0; else $20 = HEAP32[$this + 8 >> 2] | 0; - if ($__old_cap >>> 0 < 2147483623) { - $9 = $__delta_cap + $__old_cap | 0; - $10 = $__old_cap << 1; - $12 = $9 >>> 0 < $10 >>> 0 ? $10 : $9; - $17 = $12 >>> 0 < 11 ? 11 : $12 + 16 & -16; - } else $17 = -17; - $18 = _malloc($17) | 0; - if ($__n_copy) _memcpy($18 | 0, $20 | 0, $__n_copy | 0) | 0; - if ($__n_add) _memcpy($18 + $__n_copy | 0, $__p_new_stuff | 0, $__n_add | 0) | 0; - $23 = $__old_sz - $__n_del | 0; - if (($23 | 0) != ($__n_copy | 0)) _memcpy($18 + ($__n_add + $__n_copy) | 0, $20 + ($__n_del + $__n_copy) | 0, $23 - $__n_copy | 0) | 0; - if (($__old_cap | 0) != 10) _free($20); - HEAP32[$this + 8 >> 2] = $18; - HEAP32[$this >> 2] = $17 | 1; - $31 = $23 + $__n_add | 0; - HEAP32[$this + 4 >> 2] = $31; - HEAP8[$18 + $31 >> 0] = 0; - return; -} - -function _strcspn($s, $c) { - $s = $s | 0; - $c = $c | 0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 0, $0 = 0, $10 = 0, $13 = 0, $17 = 0, $23 = 0, $32 = 0, $byteset = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $byteset = sp; - $0 = HEAP8[$c >> 0] | 0; - if (!($0 << 24 >> 24)) label = 3; else if (!(HEAP8[$c + 1 >> 0] | 0)) label = 3; else { - HEAP32[$byteset >> 2] = 0; - HEAP32[$byteset + 4 >> 2] = 0; - HEAP32[$byteset + 8 >> 2] = 0; - HEAP32[$byteset + 12 >> 2] = 0; - HEAP32[$byteset + 16 >> 2] = 0; - HEAP32[$byteset + 20 >> 2] = 0; - HEAP32[$byteset + 24 >> 2] = 0; - HEAP32[$byteset + 28 >> 2] = 0; - $$027 = $c; - $13 = $0; - do { - $17 = $byteset + ((($13 & 255) >>> 5 & 255) << 2) | 0; - HEAP32[$17 >> 2] = HEAP32[$17 >> 2] | 1 << ($13 & 31); - $$027 = $$027 + 1 | 0; - $13 = HEAP8[$$027 >> 0] | 0; - } while ($13 << 24 >> 24 != 0); - $10 = HEAP8[$s >> 0] | 0; - L7 : do if (!($10 << 24 >> 24)) $$03$lcssa = $s; else { - $$035 = $s; - $23 = $10; - while (1) { - if (HEAP32[$byteset + ((($23 & 255) >>> 5 & 255) << 2) >> 2] & 1 << ($23 & 31)) { - $$03$lcssa = $$035; - break L7; - } - $32 = $$035 + 1 | 0; - $23 = HEAP8[$32 >> 0] | 0; - if (!($23 << 24 >> 24)) { - $$03$lcssa = $32; - break; - } else $$035 = $32; - } - } while (0); - $$0 = $$03$lcssa - $s | 0; - } - if ((label | 0) == 3) $$0 = (___strchrnul($s, $0 << 24 >> 24) | 0) - $s | 0; - STACKTOP = sp; - return $$0 | 0; -} - -function ___strchrnul($s, $c) { - $s = $s | 0; - $c = $c | 0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $11 = 0, $15 = 0, $16 = 0, $22 = 0, $23 = 0, $29 = 0, $36 = 0, $37 = 0, $5 = 0, $8 = 0, $w$0$lcssa = 0, $w$08 = 0; - $0 = $c & 255; - L1 : do if (!$0) $$0 = $s + (_strlen($s) | 0) | 0; else { - if (!($s & 3)) $$02$lcssa = $s; else { - $5 = $c & 255; - $$0211 = $s; - while (1) { - $8 = HEAP8[$$0211 >> 0] | 0; - if ($8 << 24 >> 24 == 0 ? 1 : $8 << 24 >> 24 == $5 << 24 >> 24) { - $$0 = $$0211; - break L1; - } - $11 = $$0211 + 1 | 0; - if (!($11 & 3)) { - $$02$lcssa = $11; - break; - } else $$0211 = $11; - } - } - $15 = Math_imul($0, 16843009) | 0; - $16 = HEAP32[$$02$lcssa >> 2] | 0; - L10 : do if (!(($16 & -2139062144 ^ -2139062144) & $16 + -16843009)) { - $23 = $16; - $w$08 = $$02$lcssa; - while (1) { - $22 = $23 ^ $15; - if (($22 & -2139062144 ^ -2139062144) & $22 + -16843009) { - $w$0$lcssa = $w$08; - break L10; - } - $29 = $w$08 + 4 | 0; - $23 = HEAP32[$29 >> 2] | 0; - if (($23 & -2139062144 ^ -2139062144) & $23 + -16843009) { - $w$0$lcssa = $29; - break; - } else $w$08 = $29; - } - } else $w$0$lcssa = $$02$lcssa; while (0); - $36 = $c & 255; - $$1 = $w$0$lcssa; - while (1) { - $37 = HEAP8[$$1 >> 0] | 0; - if ($37 << 24 >> 24 == 0 ? 1 : $37 << 24 >> 24 == $36 << 24 >> 24) { - $$0 = $$1; - break; - } else $$1 = $$1 + 1 | 0; - } - } while (0); - return $$0 | 0; -} - -function _arGetTransMatRobust($handle, $initConv, $pos2d, $pos3d, $num, $conv) { - $handle = $handle | 0; - $initConv = $initConv | 0; - $pos2d = $pos2d | 0; - $pos3d = $pos3d | 0; - $num = $num | 0; - $conv = $conv | 0; - var $1 = 0, $4 = 0, $5 = 0, $data = 0, $err = 0, $i$01 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $data = sp + 20 | 0; - $err = sp; - $1 = _malloc($num << 4) | 0; - HEAP32[$data >> 2] = $1; - if (!$1) { - _arLog(3, 5471, sp + 8 | 0); - _exit(1); - } - $4 = _malloc($num * 24 | 0) | 0; - $5 = $data + 4 | 0; - HEAP32[$5 >> 2] = $4; - if (!$4) { - _arLog(3, 5471, sp + 16 | 0); - _exit(1); - } - if (($num | 0) > 0) { - $i$01 = 0; - do { - HEAPF64[$1 + ($i$01 << 4) >> 3] = +HEAPF64[$pos2d + ($i$01 << 4) >> 3]; - HEAPF64[$1 + ($i$01 << 4) + 8 >> 3] = +HEAPF64[$pos2d + ($i$01 << 4) + 8 >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) + 8 >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) + 8 >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) + 16 >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) + 16 >> 3]; - $i$01 = $i$01 + 1 | 0; - } while (($i$01 | 0) < ($num | 0)); - } - HEAP32[$data + 8 >> 2] = $num; - if ((_icpPointRobust(HEAP32[$handle >> 2] | 0, $data, $initConv, $conv, $err) | 0) < 0) HEAPF64[$err >> 3] = 1.0e8; - _free(HEAP32[$data >> 2] | 0); - _free(HEAP32[$5 >> 2] | 0); - STACKTOP = sp; - return +(+HEAPF64[$err >> 3]); -} - -function _arGetTransMat($handle, $initConv, $pos2d, $pos3d, $num, $conv) { - $handle = $handle | 0; - $initConv = $initConv | 0; - $pos2d = $pos2d | 0; - $pos3d = $pos3d | 0; - $num = $num | 0; - $conv = $conv | 0; - var $1 = 0, $4 = 0, $5 = 0, $data = 0, $err = 0, $i$01 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $data = sp + 20 | 0; - $err = sp; - $1 = _malloc($num << 4) | 0; - HEAP32[$data >> 2] = $1; - if (!$1) { - _arLog(3, 5471, sp + 8 | 0); - _exit(1); - } - $4 = _malloc($num * 24 | 0) | 0; - $5 = $data + 4 | 0; - HEAP32[$5 >> 2] = $4; - if (!$4) { - _arLog(3, 5471, sp + 16 | 0); - _exit(1); - } - if (($num | 0) > 0) { - $i$01 = 0; - do { - HEAPF64[$1 + ($i$01 << 4) >> 3] = +HEAPF64[$pos2d + ($i$01 << 4) >> 3]; - HEAPF64[$1 + ($i$01 << 4) + 8 >> 3] = +HEAPF64[$pos2d + ($i$01 << 4) + 8 >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) + 8 >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) + 8 >> 3]; - HEAPF64[$4 + ($i$01 * 24 | 0) + 16 >> 3] = +HEAPF64[$pos3d + ($i$01 * 24 | 0) + 16 >> 3]; - $i$01 = $i$01 + 1 | 0; - } while (($i$01 | 0) < ($num | 0)); - } - HEAP32[$data + 8 >> 2] = $num; - if ((_icpPoint(HEAP32[$handle >> 2] | 0, $data, $initConv, $conv, $err) | 0) < 0) HEAPF64[$err >> 3] = 1.0e8; - _free(HEAP32[$data >> 2] | 0); - _free(HEAP32[$5 >> 2] | 0); - STACKTOP = sp; - return +(+HEAPF64[$err >> 3]); -} - -function ___fwritex($s, $l, $f) { - $s = $s | 0; - $l = $l | 0; - $f = $f | 0; - var $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $19 = 0, $29 = 0, $5 = 0, $6 = 0, $8 = 0, $i$0 = 0, $i$0$lcssa10 = 0, $i$1 = 0, label = 0; - $0 = $f + 16 | 0; - $1 = HEAP32[$0 >> 2] | 0; - if (!$1) if (!(___towrite($f) | 0)) { - $8 = HEAP32[$0 >> 2] | 0; - label = 4; - } else $$0 = 0; else { - $8 = $1; - label = 4; - } - L4 : do if ((label | 0) == 4) { - $5 = $f + 20 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if (($8 - $6 | 0) >>> 0 < $l >>> 0) { - $$0 = FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, $s, $l) | 0; - break; - } - L9 : do if ((HEAP8[$f + 75 >> 0] | 0) > -1) { - $i$0 = $l; - while (1) { - if (!$i$0) { - $$01 = $l; - $$02 = $s; - $29 = $6; - $i$1 = 0; - break L9; - } - $19 = $i$0 + -1 | 0; - if ((HEAP8[$s + $19 >> 0] | 0) == 10) { - $i$0$lcssa10 = $i$0; - break; - } else $i$0 = $19; - } - if ((FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, $s, $i$0$lcssa10) | 0) >>> 0 < $i$0$lcssa10 >>> 0) { - $$0 = $i$0$lcssa10; - break L4; - } - $$01 = $l - $i$0$lcssa10 | 0; - $$02 = $s + $i$0$lcssa10 | 0; - $29 = HEAP32[$5 >> 2] | 0; - $i$1 = $i$0$lcssa10; - } else { - $$01 = $l; - $$02 = $s; - $29 = $6; - $i$1 = 0; - } while (0); - _memcpy($29 | 0, $$02 | 0, $$01 | 0) | 0; - HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $$01; - $$0 = $i$1 + $$01 | 0; - } while (0); - return $$0 | 0; -} - -function ___shgetc($f) { - $f = $f | 0; - var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre4 = 0, $0 = 0, $1 = 0, $12 = 0, $14 = 0, $15 = 0, $21 = 0, $26 = 0, $28 = 0, $31 = 0, $36 = 0, $41 = 0, $6 = 0, $9 = 0, label = 0; - $0 = $f + 104 | 0; - $1 = HEAP32[$0 >> 2] | 0; - if (!$1) label = 3; else if ((HEAP32[$f + 108 >> 2] | 0) < ($1 | 0)) label = 3; else label = 4; - if ((label | 0) == 3) { - $6 = ___uflow($f) | 0; - if (($6 | 0) < 0) label = 4; else { - $9 = HEAP32[$0 >> 2] | 0; - $$phi$trans$insert = $f + 8 | 0; - if (!$9) { - $$pre = HEAP32[$$phi$trans$insert >> 2] | 0; - $26 = $$pre; - $41 = $$pre; - label = 9; - } else { - $12 = HEAP32[$$phi$trans$insert >> 2] | 0; - $14 = HEAP32[$f + 4 >> 2] | 0; - $15 = $12; - $21 = $9 - (HEAP32[$f + 108 >> 2] | 0) + -1 | 0; - if (($15 - $14 | 0) > ($21 | 0)) { - HEAP32[$f + 100 >> 2] = $14 + $21; - $28 = $12; - } else { - $26 = $15; - $41 = $12; - label = 9; - } - } - if ((label | 0) == 9) { - HEAP32[$f + 100 >> 2] = $26; - $28 = $41; - } - $$pre4 = HEAP32[$f + 4 >> 2] | 0; - if ($28) { - $31 = $f + 108 | 0; - HEAP32[$31 >> 2] = $28 + 1 - $$pre4 + (HEAP32[$31 >> 2] | 0); - } - $36 = $$pre4 + -1 | 0; - if ((HEAPU8[$36 >> 0] | 0 | 0) == ($6 | 0)) $$0 = $6; else { - HEAP8[$36 >> 0] = $6; - $$0 = $6; - } - } - } - if ((label | 0) == 4) { - HEAP32[$f + 100 >> 2] = 0; - $$0 = -1; - } - return $$0 | 0; -} - -function _arSetLabelingThreshMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0, $1 = 0, $13 = 0, $4 = 0, $5 = 0, $mode1$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - if (!$handle) $$0 = -1; else { - $1 = $handle + 7062388 | 0; - if ((HEAP32[$1 >> 2] | 0) == ($mode | 0)) $$0 = 0; else { - $4 = $handle + 7062408 | 0; - $5 = HEAP32[$4 >> 2] | 0; - if ($5) { - _arImageProcFinal($5); - HEAP32[$4 >> 2] = 0; - } - switch ($mode | 0) { - case 3: - case 2: - case 1: - { - $13 = _arImageProcInit(HEAP32[$handle + 36 >> 2] | 0, HEAP32[$handle + 40 >> 2] | 0, HEAP32[$handle + 4 >> 2] | 0, 0) | 0; - HEAP32[$4 >> 2] = $13; - $mode1$0 = $mode; - break; - } - case 4: - { - HEAP32[$handle + 7062404 >> 2] = 1; - HEAP32[$handle + 7062400 >> 2] = 1; - $mode1$0 = 4; - break; - } - case 0: - { - $mode1$0 = 0; - break; - } - default: - { - _arLog(3, 3985, $vararg_buffer); - $mode1$0 = 0; - } - } - HEAP32[$1 >> 2] = $mode1$0; - if ((HEAP32[$handle >> 2] | 0) == 1) { - HEAP32[$vararg_buffer1 >> 2] = HEAP32[760 + ($mode1$0 << 2) >> 2]; - _arLog(3, 4059, $vararg_buffer1); - $$0 = 0; - } else $$0 = 0; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _sift($head, $width, $cmp, $pshift, $lp) { - $head = $head | 0; - $width = $width | 0; - $cmp = $cmp | 0; - $pshift = $pshift | 0; - $lp = $lp | 0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $1 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $6 = 0, $7 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ar = sp; - HEAP32[$ar >> 2] = $head; - L1 : do if (($pshift | 0) > 1) { - $1 = 0 - $width | 0; - $$012 = $pshift; - $$03 = $head; - $7 = $head; - $i$04 = 1; - while (1) { - $2 = $$03 + $1 | 0; - $3 = $$012 + -2 | 0; - $6 = $$03 + (0 - ((HEAP32[$lp + ($3 << 2) >> 2] | 0) + $width)) | 0; - if ((FUNCTION_TABLE_iii[$cmp & 15]($7, $6) | 0) > -1) if ((FUNCTION_TABLE_iii[$cmp & 15]($7, $2) | 0) > -1) { - $i$0$lcssa = $i$04; - break L1; - } - $14 = $i$04 + 1 | 0; - $15 = $ar + ($i$04 << 2) | 0; - if ((FUNCTION_TABLE_iii[$cmp & 15]($6, $2) | 0) > -1) { - HEAP32[$15 >> 2] = $6; - $$0$be = $6; - $$01$be = $$012 + -1 | 0; - } else { - HEAP32[$15 >> 2] = $2; - $$0$be = $2; - $$01$be = $3; - } - if (($$01$be | 0) <= 1) { - $i$0$lcssa = $14; - break L1; - } - $$012 = $$01$be; - $$03 = $$0$be; - $7 = HEAP32[$ar >> 2] | 0; - $i$04 = $14; - } - } else $i$0$lcssa = 1; while (0); - _cycle($width, $ar, $i$0$lcssa); - STACKTOP = sp; - return; -} - -function _arCreateHandle($paramLT) { - $paramLT = $paramLT | 0; - var $0 = 0, $15 = 0, $18 = 0, $26 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = _malloc(7062432) | 0; - if (!$0) { - _arLog(3, 5471, sp); - _exit(1); - } - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4834148 >> 2] = 0; - HEAP32[$0 + 7062408 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = -1; - HEAP32[$0 + 8 >> 2] = 0; - HEAP32[$0 + 12 >> 2] = 1; - HEAP32[$0 + 16 >> 2] = 100; - HEAP32[$0 + 20 >> 2] = 0; - HEAP32[$0 + 24 >> 2] = 0; - HEAP32[$0 + 28 >> 2] = 2; - HEAPF64[$0 + 7062416 >> 3] = .5; - HEAP32[$0 + 7062424 >> 2] = 3; - HEAP32[$0 + 32 >> 2] = $paramLT; - $15 = HEAP32[$paramLT >> 2] | 0; - HEAP32[$0 + 36 >> 2] = $15; - $18 = HEAP32[$paramLT + 4 >> 2] | 0; - HEAP32[$0 + 40 >> 2] = $18; - HEAP32[$0 + 44 >> 2] = 0; - HEAP32[$0 + 15408 >> 2] = 0; - HEAP32[$0 + 4834152 >> 2] = 0; - HEAP32[$0 + 4818296 >> 2] = 0; - $26 = _malloc(Math_imul($15 << 1, $18) | 0) | 0; - HEAP32[$0 + 4834144 >> 2] = $26; - if (!$26) { - _arLog(3, 5471, sp + 8 | 0); - _exit(1); - } else { - HEAP32[$0 + 7062384 >> 2] = 0; - _arSetPixelFormat($0, 2) | 0; - _arSetDebugMode($0, 0) | 0; - HEAP32[$0 + 7062388 >> 2] = -1; - _arSetLabelingThreshMode($0, 0) | 0; - HEAP32[$0 + 7062392 >> 2] = 7; - HEAP32[$0 + 7062396 >> 2] = 0; - STACKTOP = sp; - return $0 | 0; - } - return 0; -} - -function __ZNSt3__16vectorI12multi_markerNS_9allocatorIS1_EEE21__push_back_slow_pathIRKS1_EEvOT_($this, $__x) { - $this = $this | 0; - $__x = $__x | 0; - var $$0$i = 0, $1 = 0, $13 = 0, $14 = 0, $17 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $8 = 0, $__v = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__v = sp; - $1 = $this + 4 | 0; - $3 = HEAP32[$this >> 2] | 0; - $8 = ((HEAP32[$1 >> 2] | 0) - $3 >> 3) + 1 | 0; - if ($8 >>> 0 > 536870911) __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($this); - $13 = $3; - $14 = (HEAP32[$this + 8 >> 2] | 0) - $13 | 0; - if ($14 >> 3 >>> 0 < 268435455) { - $17 = $14 >> 2; - $$0$i = $17 >>> 0 < $8 >>> 0 ? $8 : $17; - } else $$0$i = 536870911; - __ZNSt3__114__split_bufferI12multi_markerRNS_9allocatorIS1_EEEC2EjjS4_($__v, $$0$i, (HEAP32[$1 >> 2] | 0) - $13 >> 3, $this + 8 | 0); - $24 = $__v + 8 | 0; - $25 = HEAP32[$24 >> 2] | 0; - $26 = $__x; - $31 = HEAP32[$26 + 4 >> 2] | 0; - $32 = $25; - HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; - HEAP32[$32 + 4 >> 2] = $31; - HEAP32[$24 >> 2] = $25 + 8; - __ZNSt3__16vectorI12multi_markerNS_9allocatorIS1_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS1_RS3_EE($this, $__v); - __ZNSt3__114__split_bufferI12multi_markerRNS_9allocatorIS1_EEED2Ev($__v); - STACKTOP = sp; - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEj($this, $__n) { - $this = $this | 0; - $__n = $__n | 0; - var $20 = 0, $27 = 0, $28 = 0, $30 = 0, $6 = 0, $__n1 = 0; - if (($__n | 0) == 1) $__n1 = 2; else if (!($__n + -1 & $__n)) $__n1 = $__n; else $__n1 = __ZNSt3__112__next_primeEj($__n) | 0; - $6 = HEAP32[$this + 4 >> 2] | 0; - if ($__n1 >>> 0 > $6 >>> 0) __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $__n1); else if ($__n1 >>> 0 < $6 >>> 0) { - if ($6 >>> 0 > 2) $30 = ($6 + -1 & $6 | 0) == 0; else $30 = 0; - $20 = ~~+Math_ceil(+(+((HEAP32[$this + 12 >> 2] | 0) >>> 0) / +HEAPF32[$this + 16 >> 2])) >>> 0; - if ($30) $27 = 1 << 32 - (Math_clz32($20 + -1 | 0) | 0); else $27 = __ZNSt3__112__next_primeEj($20) | 0; - $28 = $__n1 >>> 0 < $27 >>> 0 ? $27 : $__n1; - if ($28 >>> 0 < $6 >>> 0) __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $28); - } - return; -} - -function _vsnprintf($s, $n, $fmt, $ap) { - $s = $s | 0; - $n = $n | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $3 = 0, $5 = 0, $8 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $b = sp + 112 | 0; - $f = sp; - dest = $f; - src = 2684; - stop = dest + 112 | 0; - do { - HEAP32[dest >> 2] = HEAP32[src >> 2]; - dest = dest + 4 | 0; - src = src + 4 | 0; - } while ((dest | 0) < (stop | 0)); - if (($n + -1 | 0) >>> 0 > 2147483646) if (!$n) { - $$01 = $b; - $$02 = 1; - label = 4; - } else { - $3 = ___errno_location() | 0; - HEAP32[$3 >> 2] = 75; - $$0 = -1; - } else { - $$01 = $s; - $$02 = $n; - label = 4; - } - if ((label | 0) == 4) { - $5 = -2 - $$01 | 0; - $$$02 = $$02 >>> 0 > $5 >>> 0 ? $5 : $$02; - HEAP32[$f + 48 >> 2] = $$$02; - $8 = $f + 20 | 0; - HEAP32[$8 >> 2] = $$01; - HEAP32[$f + 44 >> 2] = $$01; - $10 = $$01 + $$$02 | 0; - $11 = $f + 16 | 0; - HEAP32[$11 >> 2] = $10; - HEAP32[$f + 28 >> 2] = $10; - $13 = _vfprintf($f, $fmt, $ap) | 0; - if (!$$$02) $$0 = $13; else { - $15 = HEAP32[$8 >> 2] | 0; - HEAP8[$15 + ((($15 | 0) == (HEAP32[$11 >> 2] | 0)) << 31 >> 31) >> 0] = 0; - $$0 = $13; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEj($this, $__n) { - $this = $this | 0; - $__n = $__n | 0; - var $20 = 0, $27 = 0, $28 = 0, $30 = 0, $6 = 0, $__n1 = 0; - if (($__n | 0) == 1) $__n1 = 2; else if (!($__n + -1 & $__n)) $__n1 = $__n; else $__n1 = __ZNSt3__112__next_primeEj($__n) | 0; - $6 = HEAP32[$this + 4 >> 2] | 0; - if ($__n1 >>> 0 > $6 >>> 0) __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $__n1); else if ($__n1 >>> 0 < $6 >>> 0) { - if ($6 >>> 0 > 2) $30 = ($6 + -1 & $6 | 0) == 0; else $30 = 0; - $20 = ~~+Math_ceil(+(+((HEAP32[$this + 12 >> 2] | 0) >>> 0) / +HEAPF32[$this + 16 >> 2])) >>> 0; - if ($30) $27 = 1 << 32 - (Math_clz32($20 + -1 | 0) | 0); else $27 = __ZNSt3__112__next_primeEj($20) | 0; - $28 = $__n1 >>> 0 < $27 >>> 0 ? $27 : $__n1; - if ($28 >>> 0 < $6 >>> 0) __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEj($this, $28); - } - return; -} - -function _addMarker($id, $patt_name) { - $id = $id | 0; - $patt_name = $patt_name | 0; - var $$0 = 0, $0 = 0, $11 = 0, $13 = 0, $14 = 0, $3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - $0 = sp + 12 | 0; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if (!(HEAP8[$patt_name >> 0] & 1)) $13 = $patt_name + 1 | 0; else $13 = HEAP32[$patt_name + 8 >> 2] | 0; - $11 = $3 + 216 | 0; - $14 = _arPattLoad(HEAP32[$11 >> 2] | 0, $13) | 0; - HEAP32[$3 + 260 >> 2] = $14; - if (($14 | 0) < 0) { - HEAP32[$vararg_buffer >> 2] = $13; - _arLog(3, 6311, $vararg_buffer); - _arPattDeleteHandle(HEAP32[$11 >> 2] | 0) | 0; - _arLog(3, 6357, $vararg_buffer1); - $$0 = -1; - } else $$0 = $14; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _icpGetDeltaS($S, $dU, $J_U_S, $n) { - $S = $S | 0; - $dU = $dU | 0; - $J_U_S = $J_U_S | 0; - $n = $n | 0; - var $$0 = 0, $10 = 0, $6 = 0, $8 = 0, $matJ = 0, $matS = 0, $matU = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $matS = sp + 24 | 0; - $matU = sp + 12 | 0; - $matJ = sp; - HEAP32[$matS + 4 >> 2] = 6; - HEAP32[$matS + 8 >> 2] = 1; - HEAP32[$matS >> 2] = $S; - HEAP32[$matU + 4 >> 2] = $n; - HEAP32[$matU + 8 >> 2] = 1; - HEAP32[$matU >> 2] = $dU; - HEAP32[$matJ + 4 >> 2] = $n; - HEAP32[$matJ + 8 >> 2] = 6; - HEAP32[$matJ >> 2] = $J_U_S; - $6 = _arMatrixAllocTrans($matJ) | 0; - do if (!$6) $$0 = -1; else { - $8 = _arMatrixAllocMul($6, $matJ) | 0; - if (!$8) { - _arMatrixFree($6) | 0; - $$0 = -1; - break; - } - $10 = _arMatrixAllocMul($6, $matU) | 0; - if (!$10) { - _arMatrixFree($6) | 0; - _arMatrixFree($8) | 0; - $$0 = -1; - break; - } - if ((_arMatrixSelfInv($8) | 0) < 0) { - _arMatrixFree($6) | 0; - _arMatrixFree($8) | 0; - _arMatrixFree($10) | 0; - $$0 = -1; - break; - } else { - _arMatrixMul($matS, $8, $10) | 0; - _arMatrixFree($6) | 0; - _arMatrixFree($8) | 0; - _arMatrixFree($10) | 0; - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _getTransMatMultiSquareRobust($id, $multiMarkerId) { - $id = $id | 0; - $multiMarkerId = $multiMarkerId | 0; - var $$0 = 0, $0 = 0, $17 = 0, $21 = 0, $4 = 0, $8 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $8 = HEAP32[$4 + 248 >> 2] | 0; - if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$4 + 252 >> 2] | 0) - $8 >> 3 >>> 0 <= $multiMarkerId >>> 0) { - $$0 = HEAP32[524] | 0; - break; - } else { - $17 = HEAP32[$8 + ($multiMarkerId << 3) + 4 >> 2] | 0; - $21 = HEAP32[$4 + 212 >> 2] | 0; - +_arGetTransMatMultiSquareRobust(HEAP32[$4 + 224 >> 2] | 0, $21 + 48 | 0, HEAP32[$21 + 44 >> 2] | 0, $17); - _matrixCopy($17 + 8 | 0, 264); - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arImageProcLumaHistAndCDFAndPercentile($ipi, $dataPtr, $percentile, $value_p) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - $percentile = +$percentile; - $value_p = $value_p | 0; - var $$0 = 0, $$in = 0, $$lcssa10 = 0, $$lcssa9 = 0, $11 = 0, $12 = 0, $14 = 0, $18 = 0, $2 = 0, $i$0 = 0, $i$0$lcssa = 0, $j$0$lcssa = 0; - if ($percentile < 0.0 | $percentile > 1.0) $$0 = -1; else { - $2 = _arImageProcLumaHistAndCDF($ipi, $dataPtr) | 0; - if (($2 | 0) < 0) $$0 = $2; else { - $11 = ~~(+(Math_imul(HEAP32[$ipi + 12 >> 2] | 0, HEAP32[$ipi + 8 >> 2] | 0) | 0) * $percentile) >>> 0; - $i$0 = 0; - while (1) { - $12 = $i$0 & 255; - $14 = HEAP32[$ipi + 1040 + ($12 << 2) >> 2] | 0; - if ($14 >>> 0 < $11 >>> 0) $i$0 = $i$0 + 1 << 24 >> 24; else { - $$lcssa10 = $14; - $$lcssa9 = $12; - $i$0$lcssa = $i$0; - break; - } - } - if (($$lcssa10 | 0) == ($11 | 0)) { - $$in = $i$0$lcssa; - while (1) { - $18 = $$in + 1 << 24 >> 24; - if ((HEAP32[$ipi + 1040 + (($18 & 255) << 2) >> 2] | 0) == ($11 | 0)) $$in = $18; else { - $j$0$lcssa = $18; - break; - } - } - } else $j$0$lcssa = $i$0$lcssa; - HEAP8[$value_p >> 0] = (($j$0$lcssa & 255) + $$lcssa9 | 0) >>> 1; - $$0 = 0; - } - } - return $$0 | 0; -} - -function _getTransMatMultiSquare($id, $multiMarkerId) { - $id = $id | 0; - $multiMarkerId = $multiMarkerId | 0; - var $$0 = 0, $0 = 0, $17 = 0, $21 = 0, $4 = 0, $8 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $8 = HEAP32[$4 + 248 >> 2] | 0; - if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$4 + 252 >> 2] | 0) - $8 >> 3 >>> 0 <= $multiMarkerId >>> 0) { - $$0 = HEAP32[524] | 0; - break; - } else { - $17 = HEAP32[$8 + ($multiMarkerId << 3) + 4 >> 2] | 0; - $21 = HEAP32[$4 + 212 >> 2] | 0; - +_arGetTransMatMultiSquare(HEAP32[$4 + 224 >> 2] | 0, $21 + 48 | 0, HEAP32[$21 + 44 >> 2] | 0, $17); - _matrixCopy($17 + 8 | 0, 264); - $$0 = 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arPattDeleteHandle($pattHandle) { - $pattHandle = $pattHandle | 0; - var $$0 = 0, $1 = 0, $11 = 0, $18 = 0, $2 = 0, $25 = 0, $3 = 0, $32 = 0, $4 = 0, $i$03 = 0; - if (!$pattHandle) $$0 = -1; else { - $1 = $pattHandle + 4 | 0; - $2 = $pattHandle + 8 | 0; - $3 = $pattHandle + 12 | 0; - $4 = $pattHandle + 20 | 0; - if ((HEAP32[$1 >> 2] | 0) > 0) { - $i$03 = 0; - do { - if (HEAP32[(HEAP32[$2 >> 2] | 0) + ($i$03 << 2) >> 2] | 0) _arPattFree($pattHandle, $i$03) | 0; - $11 = $i$03 << 2; - _free(HEAP32[(HEAP32[$3 >> 2] | 0) + ($11 << 2) >> 2] | 0); - _free(HEAP32[(HEAP32[$4 >> 2] | 0) + ($11 << 2) >> 2] | 0); - $18 = 1 + $11 | 0; - _free(HEAP32[(HEAP32[$3 >> 2] | 0) + ($18 << 2) >> 2] | 0); - _free(HEAP32[(HEAP32[$4 >> 2] | 0) + ($18 << 2) >> 2] | 0); - $25 = 2 + $11 | 0; - _free(HEAP32[(HEAP32[$3 >> 2] | 0) + ($25 << 2) >> 2] | 0); - _free(HEAP32[(HEAP32[$4 >> 2] | 0) + ($25 << 2) >> 2] | 0); - $32 = 3 + $11 | 0; - _free(HEAP32[(HEAP32[$3 >> 2] | 0) + ($32 << 2) >> 2] | 0); - _free(HEAP32[(HEAP32[$4 >> 2] | 0) + ($32 << 2) >> 2] | 0); - $i$03 = $i$03 + 1 | 0; - } while (($i$03 | 0) < (HEAP32[$1 >> 2] | 0)); - } - _free($pattHandle); - $$0 = 0; - } - return $$0 | 0; -} - -function _atoi($s) { - $s = $s | 0; - var $$0 = 0, $$0$lcssa = 0, $$1$ph = 0, $$13 = 0, $$lcssa9 = 0, $11 = 0, $4 = 0, $5 = 0, $8 = 0, $isdigittmp1 = 0, $isdigittmp5 = 0, $n$0$lcssa = 0, $n$04 = 0, $neg$0 = 0, $neg$1$ph = 0, label = 0; - $$0 = $s; - while (1) { - $4 = $$0 + 1 | 0; - if (!(_isspace(HEAP8[$$0 >> 0] | 0) | 0)) { - $$0$lcssa = $$0; - $$lcssa9 = $4; - break; - } else $$0 = $4; - } - $5 = HEAP8[$$0$lcssa >> 0] | 0; - switch ($5 << 24 >> 24 | 0) { - case 45: - { - $neg$0 = 1; - label = 5; - break; - } - case 43: - { - $neg$0 = 0; - label = 5; - break; - } - default: - { - $$1$ph = $$0$lcssa; - $8 = $5; - $neg$1$ph = 0; - } - } - if ((label | 0) == 5) { - $$1$ph = $$lcssa9; - $8 = HEAP8[$$lcssa9 >> 0] | 0; - $neg$1$ph = $neg$0; - } - $isdigittmp1 = ($8 << 24 >> 24) + -48 | 0; - if ($isdigittmp1 >>> 0 < 10) { - $$13 = $$1$ph; - $isdigittmp5 = $isdigittmp1; - $n$04 = 0; - while (1) { - $$13 = $$13 + 1 | 0; - $11 = ($n$04 * 10 | 0) - $isdigittmp5 | 0; - $isdigittmp5 = (HEAP8[$$13 >> 0] | 0) + -48 | 0; - if ($isdigittmp5 >>> 0 >= 10) { - $n$0$lcssa = $11; - break; - } else $n$04 = $11; - } - } else $n$0$lcssa = 0; - return (($neg$1$ph | 0) != 0 ? $n$0$lcssa : 0 - $n$0$lcssa | 0) | 0; -} - -function __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_($this, $__k) { - $this = $this | 0; - $__k = $__k | 0; - var $$pn3 = 0, $0 = 0, $1 = 0, $5 = 0, $__h = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__h = sp + 8 | 0; - $0 = sp; - $1 = __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) | 0; - if (!$1) { - __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEE25__construct_node_with_keyERS8_($__h, $this, $__k); - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE20__node_insert_uniqueEPNS_11__hash_nodeIS3_PvEE($0, $this, HEAP32[$__h >> 2] | 0); - $5 = HEAP32[$0 >> 2] | 0; - HEAP32[$__h >> 2] = 0; - $$pn3 = $5; - } else $$pn3 = $1; - STACKTOP = sp; - return $$pn3 + 16 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9push_backEc($this, $__c) { - $this = $this | 0; - $__c = $__c | 0; - var $$pn = 0, $0 = 0, $19 = 0, $2 = 0, $20 = 0, $__cap$0 = 0, $__p$0$sum$pre$phiZZZ2D = 0, $__sz$0 = 0, label = 0; - $0 = HEAP8[$this >> 0] | 0; - $2 = ($0 & 1) != 0; - if ($2) { - $__cap$0 = (HEAP32[$this >> 2] & -2) + -1 | 0; - $__sz$0 = HEAP32[$this + 4 >> 2] | 0; - } else { - $__cap$0 = 10; - $__sz$0 = ($0 & 255) >>> 1; - } - if (($__sz$0 | 0) == ($__cap$0 | 0)) { - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEjjjjjj($this, $__cap$0, 1, $__cap$0, $__cap$0, 0); - if (!(HEAP8[$this >> 0] & 1)) label = 7; else label = 8; - } else if ($2) label = 8; else label = 7; - if ((label | 0) == 7) { - HEAP8[$this >> 0] = ($__sz$0 << 1) + 2; - $$pn = $this + 1 | 0; - $__p$0$sum$pre$phiZZZ2D = $__sz$0 + 1 | 0; - } else if ((label | 0) == 8) { - $19 = HEAP32[$this + 8 >> 2] | 0; - $20 = $__sz$0 + 1 | 0; - HEAP32[$this + 4 >> 2] = $20; - $$pn = $19; - $__p$0$sum$pre$phiZZZ2D = $20; - } - HEAP8[$$pn + $__sz$0 >> 0] = $__c; - HEAP8[$$pn + $__p$0$sum$pre$phiZZZ2D >> 0] = 0; - return; -} - -function __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($this, $info, $dst_ptr, $current_ptr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $dst_ptr = $dst_ptr | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - var $16 = 0, $17 = 0, $23 = 0, $25 = 0, $5 = 0, $6 = 0; - HEAP8[$info + 53 >> 0] = 1; - do if ((HEAP32[$info + 4 >> 2] | 0) == ($current_ptr | 0)) { - HEAP8[$info + 52 >> 0] = 1; - $5 = $info + 16 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if (!$6) { - HEAP32[$5 >> 2] = $dst_ptr; - HEAP32[$info + 24 >> 2] = $path_below; - HEAP32[$info + 36 >> 2] = 1; - if (!(($path_below | 0) == 1 ? (HEAP32[$info + 48 >> 2] | 0) == 1 : 0)) break; - HEAP8[$info + 54 >> 0] = 1; - break; - } - if (($6 | 0) != ($dst_ptr | 0)) { - $25 = $info + 36 | 0; - HEAP32[$25 >> 2] = (HEAP32[$25 >> 2] | 0) + 1; - HEAP8[$info + 54 >> 0] = 1; - break; - } - $16 = $info + 24 | 0; - $17 = HEAP32[$16 >> 2] | 0; - if (($17 | 0) == 2) { - HEAP32[$16 >> 2] = $path_below; - $23 = $path_below; - } else $23 = $17; - if (($23 | 0) == 1 ? (HEAP32[$info + 48 >> 2] | 0) == 1 : 0) HEAP8[$info + 54 >> 0] = 1; - } while (0); - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_117parse_call_offsetEPKcS2_($first, $last) { - $first = $first | 0; - $last = $last | 0; - var $$0 = 0, $10 = 0, $11 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0; - L1 : do if (($first | 0) == ($last | 0)) $$0 = $first; else { - switch (HEAP8[$first >> 0] | 0) { - case 104: - { - $3 = $first + 1 | 0; - $4 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($3, $last) | 0; - if (($4 | 0) == ($3 | 0) | ($4 | 0) == ($last | 0)) { - $$0 = $first; - break L1; - } - $$0 = (HEAP8[$4 >> 0] | 0) == 95 ? $4 + 1 | 0 : $first; - break L1; - break; - } - case 118: - break; - default: - { - $$0 = $first; - break L1; - } - } - $10 = $first + 1 | 0; - $11 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($10, $last) | 0; - if (($11 | 0) == ($10 | 0) | ($11 | 0) == ($last | 0)) $$0 = $first; else if ((HEAP8[$11 >> 0] | 0) == 95) { - $16 = $11 + 1 | 0; - $17 = __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($16, $last) | 0; - if (($17 | 0) == ($16 | 0) | ($17 | 0) == ($last | 0)) $$0 = $first; else return ((HEAP8[$17 >> 0] | 0) == 95 ? $17 + 1 | 0 : $first) | 0; - } else $$0 = $first; - } while (0); - return $$0 | 0; -} - -function _setup($width, $height, $cameraID) { - $width = $width | 0; - $height = $height | 0; - $cameraID = $cameraID | 0; - var $0 = 0, $10 = 0, $2 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $id = 0, $vararg_buffer1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 8 | 0; - $id = sp + 12 | 0; - $0 = HEAP32[525] | 0; - HEAP32[525] = $0 + 1; - HEAP32[$id >> 2] = $0; - $2 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $id) | 0; - HEAP32[$2 >> 2] = $0; - HEAP32[$2 + 204 >> 2] = $width; - HEAP32[$2 + 208 >> 2] = $height; - $6 = Math_imul($width << 2, $height) | 0; - $7 = $2 + 200 | 0; - HEAP32[$7 >> 2] = $6; - $8 = _malloc($6) | 0; - $9 = $2 + 196 | 0; - HEAP32[$9 >> 2] = $8; - $10 = _arPattCreateHandle() | 0; - HEAP32[$2 + 216 >> 2] = $10; - if (!$10) _arLog(3, 8284, sp); - _setCamera($0, $cameraID) | 0; - HEAP32[$vararg_buffer1 >> 2] = HEAP32[$7 >> 2]; - _arLog(1, 8321, $vararg_buffer1); - _emscripten_asm_const_5(2, HEAP32[$2 >> 2] | 0, HEAP32[$9 >> 2] | 0, HEAP32[$7 >> 2] | 0, $2 + 264 | 0, 264) | 0; - STACKTOP = sp; - return HEAP32[$2 >> 2] | 0; -} - -function __ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_($this, $__k) { - $this = $this | 0; - $__k = $__k | 0; - var $$pn3 = 0, $0 = 0, $1 = 0, $5 = 0, $__h = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $__h = sp + 8 | 0; - $0 = sp; - $1 = __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) | 0; - if (!$1) { - __ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEE25__construct_node_with_keyERS8_($__h, $this, $__k); - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE20__node_insert_uniqueEPNS_11__hash_nodeIS3_PvEE($0, $this, HEAP32[$__h >> 2] | 0); - $5 = HEAP32[$0 >> 2] | 0; - HEAP32[$__h >> 2] = 0; - $$pn3 = $5; - } else $$pn3 = $1; - STACKTOP = sp; - return $$pn3 + 16 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE9__grow_byEjjjjjj($this, $__old_cap, $__delta_cap, $__old_sz, $__n_copy, $__n_add) { - $this = $this | 0; - $__old_cap = $__old_cap | 0; - $__delta_cap = $__delta_cap | 0; - $__old_sz = $__old_sz | 0; - $__n_copy = $__n_copy | 0; - $__n_add = $__n_add | 0; - var $10 = 0, $12 = 0, $17 = 0, $18 = 0, $20 = 0, $9 = 0; - if ((-17 - $__old_cap | 0) >>> 0 < $__delta_cap >>> 0) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this); - if (!(HEAP8[$this >> 0] & 1)) $20 = $this + 1 | 0; else $20 = HEAP32[$this + 8 >> 2] | 0; - if ($__old_cap >>> 0 < 2147483623) { - $9 = $__delta_cap + $__old_cap | 0; - $10 = $__old_cap << 1; - $12 = $9 >>> 0 < $10 >>> 0 ? $10 : $9; - $17 = $12 >>> 0 < 11 ? 11 : $12 + 16 & -16; - } else $17 = -17; - $18 = _malloc($17) | 0; - if ($__n_copy) _memcpy($18 | 0, $20 | 0, $__n_copy | 0) | 0; - if (($__old_sz | 0) != ($__n_copy | 0)) _memcpy($18 + ($__n_add + $__n_copy) | 0, $20 + $__n_copy | 0, $__old_sz - $__n_copy | 0) | 0; - if (($__old_cap | 0) != 10) _free($20); - HEAP32[$this + 8 >> 2] = $18; - HEAP32[$this >> 2] = $17 | 1; - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) { - $this = $this | 0; - $__k = $__k | 0; - var $$pn = 0, $0 = 0, $11 = 0, $12 = 0, $16 = 0, $2 = 0, $20 = 0, $24 = 0, $4 = 0, $6 = 0, $__nd$0 = 0; - $0 = HEAP32[$__k >> 2] | 0; - $2 = HEAP32[$this + 4 >> 2] | 0; - L1 : do if (!$2) $24 = 0; else { - $4 = $2 + -1 | 0; - $6 = ($4 & $2 | 0) == 0; - if ($6) $11 = $4 & $0; else $11 = ($0 >>> 0) % ($2 >>> 0) | 0; - $12 = HEAP32[(HEAP32[$this >> 2] | 0) + ($11 << 2) >> 2] | 0; - if (!$12) $24 = 0; else { - $$pn = $12; - while (1) { - $__nd$0 = HEAP32[$$pn >> 2] | 0; - if (!$__nd$0) { - $24 = 0; - break L1; - } - $16 = HEAP32[$__nd$0 + 4 >> 2] | 0; - if ($6) $20 = $16 & $4; else $20 = ($16 >>> 0) % ($2 >>> 0) | 0; - if (($20 | 0) != ($11 | 0)) { - $24 = 0; - break L1; - } - if ((HEAP32[$__nd$0 + 8 >> 2] | 0) == ($0 | 0)) { - $24 = $__nd$0; - break; - } else $$pn = $__nd$0; - } - } - } while (0); - return $24 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) { - $this = $this | 0; - $__k = $__k | 0; - var $$pn = 0, $0 = 0, $11 = 0, $12 = 0, $16 = 0, $2 = 0, $20 = 0, $24 = 0, $4 = 0, $6 = 0, $__nd$0 = 0; - $0 = HEAP32[$__k >> 2] | 0; - $2 = HEAP32[$this + 4 >> 2] | 0; - L1 : do if (!$2) $24 = 0; else { - $4 = $2 + -1 | 0; - $6 = ($4 & $2 | 0) == 0; - if ($6) $11 = $4 & $0; else $11 = ($0 >>> 0) % ($2 >>> 0) | 0; - $12 = HEAP32[(HEAP32[$this >> 2] | 0) + ($11 << 2) >> 2] | 0; - if (!$12) $24 = 0; else { - $$pn = $12; - while (1) { - $__nd$0 = HEAP32[$$pn >> 2] | 0; - if (!$__nd$0) { - $24 = 0; - break L1; - } - $16 = HEAP32[$__nd$0 + 4 >> 2] | 0; - if ($6) $20 = $16 & $4; else $20 = ($16 >>> 0) % ($2 >>> 0) | 0; - if (($20 | 0) != ($11 | 0)) { - $24 = 0; - break L1; - } - if ((HEAP32[$__nd$0 + 8 >> 2] | 0) == ($0 | 0)) { - $24 = $__nd$0; - break; - } else $$pn = $__nd$0; - } - } - } while (0); - return $24 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE14__erase_uniqueIiEEjRKT_($this, $__k) { - $this = $this | 0; - $__k = $__k | 0; - var $$0 = 0, $$byval_copy = 0, $0 = 0, $1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $$byval_copy = sp + 4 | 0; - $0 = sp; - $1 = __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) | 0; - if (!$1) $$0 = 0; else { - HEAP32[$0 >> 2] = $1; - HEAP32[$$byval_copy >> 2] = HEAP32[$0 >> 2]; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE5eraseENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($this, $$byval_copy) | 0; - $$0 = 1; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE5eraseENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($this, $__p) { - $this = $this | 0; - $__p = $__p | 0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $$byval_copy = sp + 16 | 0; - $0 = sp + 4 | 0; - $1 = sp; - $2 = HEAP32[$__p >> 2] | 0; - $3 = HEAP32[$2 >> 2] | 0; - HEAP32[$1 >> 2] = $2; - HEAP32[$$byval_copy >> 2] = HEAP32[$1 >> 2]; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($0, $this, $$byval_copy); - $4 = HEAP32[$0 >> 2] | 0; - HEAP32[$0 >> 2] = 0; - if ($4) { - if (HEAP8[$0 + 8 >> 0] | 0) __ZNSt3__113__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($4 + 264 | 0); - __ZdlPv($4); - } - STACKTOP = sp; - return $3 | 0; -} - -function __ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $adjustedPtr) { - $this = $this | 0; - $thrown_type = $thrown_type | 0; - $adjustedPtr = $adjustedPtr | 0; - var $$0 = 0, $$1 = 0, $2 = 0, $info = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $info = sp; - if (($this | 0) == ($thrown_type | 0)) $$1 = 1; else if (!$thrown_type) $$1 = 0; else { - $2 = ___dynamic_cast($thrown_type, 576, 592, 0) | 0; - if (!$2) $$1 = 0; else { - dest = $info; - stop = dest + 56 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP32[$info >> 2] = $2; - HEAP32[$info + 8 >> 2] = $this; - HEAP32[$info + 12 >> 2] = -1; - HEAP32[$info + 48 >> 2] = 1; - FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$2 >> 2] | 0) + 28 >> 2] & 3]($2, $info, HEAP32[$adjustedPtr >> 2] | 0, 1); - if ((HEAP32[$info + 24 >> 2] | 0) == 1) { - HEAP32[$adjustedPtr >> 2] = HEAP32[$info + 16 >> 2]; - $$0 = 1; - } else $$0 = 0; - $$1 = $$0; - } - } - STACKTOP = sp; - return $$1 | 0; -} - -function __ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($this, $info, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $14 = 0, $20 = 0, $6 = 0; - do if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) { - if ((HEAP32[$info + 4 >> 2] | 0) == ($current_ptr | 0)) { - $6 = $info + 28 | 0; - if ((HEAP32[$6 >> 2] | 0) != 1) HEAP32[$6 >> 2] = $path_below; - } - } else if (($this | 0) == (HEAP32[$info >> 2] | 0)) { - if ((HEAP32[$info + 16 >> 2] | 0) != ($current_ptr | 0)) { - $14 = $info + 20 | 0; - if ((HEAP32[$14 >> 2] | 0) != ($current_ptr | 0)) { - HEAP32[$info + 32 >> 2] = $path_below; - HEAP32[$14 >> 2] = $current_ptr; - $20 = $info + 40 | 0; - HEAP32[$20 >> 2] = (HEAP32[$20 >> 2] | 0) + 1; - if ((HEAP32[$info + 36 >> 2] | 0) == 1) if ((HEAP32[$info + 24 >> 2] | 0) == 2) HEAP8[$info + 54 >> 0] = 1; - HEAP32[$info + 44 >> 2] = 4; - break; - } - } - if (($path_below | 0) == 1) HEAP32[$info + 32 >> 2] = 1; - } while (0); - return; -} - -function _getTransMatSquareCont($id, $markerIndex, $markerWidth) { - $id = $id | 0; - $markerIndex = $markerIndex | 0; - $markerWidth = $markerWidth | 0; - var $$0 = 0, $0 = 0, $4 = 0, $6 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $6 = HEAP32[$4 + 212 >> 2] | 0; - if ((HEAP32[$6 + 44 >> 2] | 0) > ($markerIndex | 0)) { - +_arGetTransMatSquareCont(HEAP32[$4 + 224 >> 2] | 0, ($markerIndex | 0) < 0 ? 8 : $6 + 48 + ($markerIndex << 8) | 0, 264, +($markerWidth | 0), 264); - $$0 = 0; - break; - } else { - $$0 = HEAP32[523] | 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arPattLoad($pattHandle, $filename) { - $pattHandle = $pattHandle | 0; - $filename = $filename | 0; - var $$0 = 0, $0 = 0, $2 = 0, $4 = 0, $6 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer1 = sp + 8 | 0; - $vararg_buffer = sp; - $0 = _fopen($filename, 4854) | 0; - do if (!$0) { - HEAP32[$vararg_buffer >> 2] = $filename; - _arLog(3, 4774, $vararg_buffer); - $$0 = -1; - } else { - _fseek($0, 0, 2) | 0; - $2 = _ftell($0) | 0; - _fseek($0, 0, 0) | 0; - $4 = _malloc($2 + 1 | 0) | 0; - if (!$4) { - _arLog(3, 5471, $vararg_buffer1); - _fclose($0) | 0; - $$0 = -1; - break; - } - $6 = _fread($4, $2, 1, $0) | 0; - _fclose($0) | 0; - if (!$6) { - HEAP32[$vararg_buffer3 >> 2] = $filename; - _arLog(3, 4820, $vararg_buffer3); - _free($4); - $$0 = -1; - break; - } else { - HEAP8[$4 + $2 >> 0] = 0; - $9 = _arPattLoadFromBuffer($pattHandle, $4) | 0; - _free($4); - $$0 = $9; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _fmt_u($0, $1, $s) { - $0 = $0 | 0; - $1 = $1 | 0; - $s = $s | 0; - var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa20 = 0, $13 = 0, $14 = 0, $25 = 0, $28 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0; - if ($1 >>> 0 > 0 | ($1 | 0) == 0 & $0 >>> 0 > 4294967295) { - $$05 = $s; - $7 = $0; - $8 = $1; - while (1) { - $9 = ___uremdi3($7 | 0, $8 | 0, 10, 0) | 0; - $13 = $$05 + -1 | 0; - HEAP8[$13 >> 0] = $9 | 48; - $14 = ___udivdi3($7 | 0, $8 | 0, 10, 0) | 0; - if ($8 >>> 0 > 9 | ($8 | 0) == 9 & $7 >>> 0 > 4294967295) { - $$05 = $13; - $7 = $14; - $8 = tempRet0; - } else { - $$lcssa20 = $13; - $28 = $14; - break; - } - } - $$0$lcssa = $$lcssa20; - $$01$lcssa$off0 = $28; - } else { - $$0$lcssa = $s; - $$01$lcssa$off0 = $0; - } - if (!$$01$lcssa$off0) $$1$lcssa = $$0$lcssa; else { - $$12 = $$0$lcssa; - $y$03 = $$01$lcssa$off0; - while (1) { - $25 = $$12 + -1 | 0; - HEAP8[$25 >> 0] = ($y$03 >>> 0) % 10 | 0 | 48; - if ($y$03 >>> 0 < 10) { - $$1$lcssa = $25; - break; - } else { - $$12 = $25; - $y$03 = ($y$03 >>> 0) / 10 | 0; - } - } - } - return $$1$lcssa | 0; -} - -function _byteswap($param) { - $param = $param | 0; - var $$lcssa = 0, $15 = 0, $2 = 0, $i$13 = 0, $j$05 = 0, $wparam = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $wparam = sp; - _byteSwapInt($param, $wparam); - _byteSwapInt($param + 4 | 0, $wparam + 4 | 0); - $j$05 = 0; - do { - _byteSwapDouble($param + 8 + ($j$05 << 5) | 0, $wparam + 8 + ($j$05 << 5) | 0); - _byteSwapDouble($param + 8 + ($j$05 << 5) + 8 | 0, $wparam + 8 + ($j$05 << 5) + 8 | 0); - _byteSwapDouble($param + 8 + ($j$05 << 5) + 16 | 0, $wparam + 8 + ($j$05 << 5) + 16 | 0); - _byteSwapDouble($param + 8 + ($j$05 << 5) + 24 | 0, $wparam + 8 + ($j$05 << 5) + 24 | 0); - $j$05 = $j$05 + 1 | 0; - } while (($j$05 | 0) != 3); - $2 = $param + 176 | 0; - $i$13 = 0; - do { - _byteSwapDouble($param + 104 + ($i$13 << 3) | 0, $wparam + 104 + ($i$13 << 3) | 0); - $i$13 = $i$13 + 1 | 0; - $15 = HEAP32[$2 >> 2] | 0; - } while (($i$13 | 0) < (HEAP32[2012 + ($15 + -1 << 3) >> 2] | 0)); - $$lcssa = $15; - HEAP32[$wparam + 176 >> 2] = $$lcssa; - _memcpy($param | 0, $wparam | 0, 184) | 0; - STACKTOP = sp; - return; -} - -function _getTransMatSquare($id, $markerIndex, $markerWidth) { - $id = $id | 0; - $markerIndex = $markerIndex | 0; - $markerWidth = $markerWidth | 0; - var $$0 = 0, $0 = 0, $4 = 0, $6 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $6 = HEAP32[$4 + 212 >> 2] | 0; - if ((HEAP32[$6 + 44 >> 2] | 0) > ($markerIndex | 0)) { - +_arGetTransMatSquare(HEAP32[$4 + 224 >> 2] | 0, ($markerIndex | 0) < 0 ? 8 : $6 + 48 + ($markerIndex << 8) | 0, +($markerWidth | 0), 264); - $$0 = 0; - break; - } else { - $$0 = HEAP32[523] | 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _arMatrixTrans($dest, $source) { - $dest = $dest | 0; - $source = $source | 0; - var $$0 = 0, $1 = 0, $13 = 0, $6 = 0, $c$01 = 0, $p1$02 = 0, $p2$05 = 0, $p2$13 = 0, $r$04 = 0, $smax = 0; - $1 = HEAP32[$dest + 4 >> 2] | 0; - if (($1 | 0) == (HEAP32[$source + 8 >> 2] | 0)) { - $6 = HEAP32[$dest + 8 >> 2] | 0; - if (($6 | 0) == (HEAP32[$source + 4 >> 2] | 0)) { - $smax = ($6 | 0) > 0 ? $6 : 0; - if (($1 | 0) > 0) { - $13 = ($6 | 0) > 0; - $p2$05 = HEAP32[$dest >> 2] | 0; - $r$04 = 0; - while (1) { - if ($13) { - $c$01 = 0; - $p1$02 = (HEAP32[$source >> 2] | 0) + ($r$04 << 3) | 0; - $p2$13 = $p2$05; - while (1) { - HEAPF64[$p2$13 >> 3] = +HEAPF64[$p1$02 >> 3]; - $c$01 = $c$01 + 1 | 0; - if (($c$01 | 0) >= ($6 | 0)) break; else { - $p1$02 = $p1$02 + ($1 << 3) | 0; - $p2$13 = $p2$13 + 8 | 0; - } - } - } - $r$04 = $r$04 + 1 | 0; - if (($r$04 | 0) >= ($1 | 0)) { - $$0 = 0; - break; - } else $p2$05 = $p2$05 + ($smax << 3) | 0; - } - } else $$0 = 0; - } else $$0 = -1; - } else $$0 = -1; - return $$0 | 0; -} - -function _fflush($f) { - $f = $f | 0; - var $$0 = 0, $$012 = 0, $$014 = 0, $24 = 0, $27 = 0, $6 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0; - do if (!$f) { - if (!(HEAP32[660] | 0)) $27 = 0; else $27 = _fflush(HEAP32[660] | 0) | 0; - ___lock(2416); - $$012 = HEAP32[603] | 0; - if (!$$012) $r$0$lcssa = $27; else { - $$014 = $$012; - $r$03 = $27; - while (1) { - if ((HEAP32[$$014 + 76 >> 2] | 0) > -1) $24 = ___lockfile($$014) | 0; else $24 = 0; - if ((HEAP32[$$014 + 20 >> 2] | 0) >>> 0 > (HEAP32[$$014 + 28 >> 2] | 0) >>> 0) $r$1 = ___fflush_unlocked($$014) | 0 | $r$03; else $r$1 = $r$03; - if ($24) ___unlockfile($$014); - $$014 = HEAP32[$$014 + 56 >> 2] | 0; - if (!$$014) { - $r$0$lcssa = $r$1; - break; - } else $r$03 = $r$1; - } - } - ___unlock(2416); - $$0 = $r$0$lcssa; - } else { - if ((HEAP32[$f + 76 >> 2] | 0) <= -1) { - $$0 = ___fflush_unlocked($f) | 0; - break; - } - $phitmp = (___lockfile($f) | 0) == 0; - $6 = ___fflush_unlocked($f) | 0; - if ($phitmp) $$0 = $6; else { - ___unlockfile($f); - $$0 = $6; - } - } while (0); - return $$0 | 0; -} - -function __ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $adjustedPtr = $adjustedPtr | 0; - $path_below = $path_below | 0; - var $5 = 0, $6 = 0, $9 = 0, $p$0 = 0; - L1 : do if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $info, $adjustedPtr, $path_below); else { - $5 = HEAP32[$this + 12 >> 2] | 0; - $6 = $this + 16 + ($5 << 3) | 0; - __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this + 16 | 0, $info, $adjustedPtr, $path_below); - if (($5 | 0) > 1) { - $9 = $info + 54 | 0; - $p$0 = $this + 24 | 0; - do { - __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($p$0, $info, $adjustedPtr, $path_below); - if (HEAP8[$9 >> 0] | 0) break L1; - $p$0 = $p$0 + 8 | 0; - } while ($p$0 >>> 0 < $6 >>> 0); - } - } while (0); - return; -} - -function __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($this, $__v) { - $this = $this | 0; - $__v = $__v | 0; - var $$0$i1 = 0, $0 = 0, $1 = 0, $11 = 0, $13 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0; - $0 = HEAP32[$this >> 2] | 0; - $1 = $this + 4 | 0; - $2 = HEAP32[$1 >> 2] | 0; - $3 = $__v + 4 | 0; - if (($2 | 0) != ($0 | 0)) { - $$0$i1 = $2; - do { - $$0$i1 = $$0$i1 + -24 | 0; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_((HEAP32[$3 >> 2] | 0) + -24 | 0, $$0$i1); - HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -24; - } while (($$0$i1 | 0) != ($0 | 0)); - } - $11 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = HEAP32[$3 >> 2]; - HEAP32[$3 >> 2] = $11; - $13 = $__v + 8 | 0; - $14 = HEAP32[$1 >> 2] | 0; - HEAP32[$1 >> 2] = HEAP32[$13 >> 2]; - HEAP32[$13 >> 2] = $14; - $16 = $this + 8 | 0; - $17 = $__v + 12 | 0; - $18 = HEAP32[$16 >> 2] | 0; - HEAP32[$16 >> 2] = HEAP32[$17 >> 2]; - HEAP32[$17 >> 2] = $18; - HEAP32[$__v >> 2] = HEAP32[$3 >> 2]; - return; -} - -function _strlen($s) { - $s = $s | 0; - var $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $0 = 0, $18 = 0, $21 = 0, $5 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0; - $0 = $s; - L1 : do if (!($0 & 3)) { - $$01$lcssa = $s; - label = 4; - } else { - $$014 = $s; - $21 = $0; - while (1) { - if (!(HEAP8[$$014 >> 0] | 0)) { - $$pn = $21; - break L1; - } - $5 = $$014 + 1 | 0; - $21 = $5; - if (!($21 & 3)) { - $$01$lcssa = $5; - label = 4; - break; - } else $$014 = $5; - } - } while (0); - if ((label | 0) == 4) { - $w$0 = $$01$lcssa; - while (1) { - $9 = HEAP32[$w$0 >> 2] | 0; - if (!(($9 & -2139062144 ^ -2139062144) & $9 + -16843009)) $w$0 = $w$0 + 4 | 0; else { - $$lcssa20 = $9; - $w$0$lcssa = $w$0; - break; - } - } - if (!(($$lcssa20 & 255) << 24 >> 24)) $$1$lcssa = $w$0$lcssa; else { - $$pn15 = $w$0$lcssa; - while (1) { - $18 = $$pn15 + 1 | 0; - if (!(HEAP8[$18 >> 0] | 0)) { - $$1$lcssa = $18; - break; - } else $$pn15 = $18; - } - } - $$pn = $$1$lcssa; - } - return $$pn - $0 | 0; -} - -function _setMarkerInfoDir($id, $markerIndex, $dir) { - $id = $id | 0; - $markerIndex = $markerIndex | 0; - $dir = $dir | 0; - var $$0 = 0, $0 = 0, $5 = 0, $6 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - do if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $5 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $6 = HEAP32[$5 >> 2] | 0; - if ((HEAP32[$6 + 44 >> 2] | 0) > ($markerIndex | 0)) { - HEAP32[(($markerIndex | 0) < 0 ? 8 : $6 + 48 + ($markerIndex << 8) | 0) + 16 >> 2] = $dir; - $$0 = 0; - break; - } else { - $$0 = HEAP32[523] | 0; - break; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($this, $__s, $__n) { - $this = $this | 0; - $__s = $__s | 0; - $__n = $__n | 0; - var $0 = 0, $10 = 0, $14 = 0, $27 = 0, $3 = 0, $7 = 0, $9 = 0; - $0 = HEAP8[$this >> 0] | 0; - if (!($0 & 1)) { - $7 = 10; - $9 = $0; - } else { - $3 = HEAP32[$this >> 2] | 0; - $7 = ($3 & -2) + -1 | 0; - $9 = $3 & 255; - } - $10 = ($9 & 1) == 0; - do if ($7 >>> 0 < $__n >>> 0) { - if ($10) $27 = ($9 & 255) >>> 1; else $27 = HEAP32[$this + 4 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEjjjjjjPKc($this, $7, $__n - $7 | 0, $27, 0, $27, $__n, $__s); - } else { - if ($10) $14 = $this + 1 | 0; else $14 = HEAP32[$this + 8 >> 2] | 0; - _memmove($14 | 0, $__s | 0, $__n | 0) | 0; - HEAP8[$14 + $__n >> 0] = 0; - if (!(HEAP8[$this >> 0] & 1)) { - HEAP8[$this >> 0] = $__n << 1; - break; - } else { - HEAP32[$this + 4 >> 2] = $__n; - break; - } - } while (0); - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($this, $__s, $__n) { - $this = $this | 0; - $__s = $__s | 0; - $__n = $__n | 0; - var $0 = 0, $14 = 0, $15 = 0, $24 = 0, $25 = 0, $3 = 0, $7 = 0; - $0 = HEAP8[$this >> 0] | 0; - if (!($0 & 1)) { - $14 = 10; - $7 = $0; - } else { - $3 = HEAP32[$this >> 2] | 0; - $14 = ($3 & -2) + -1 | 0; - $7 = $3 & 255; - } - if (!($7 & 1)) $15 = ($7 & 255) >>> 1; else $15 = HEAP32[$this + 4 >> 2] | 0; - if (($14 - $15 | 0) >>> 0 < $__n >>> 0) __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE21__grow_by_and_replaceEjjjjjjPKc($this, $14, $__n - $14 + $15 | 0, $15, $15, 0, $__n, $__s); else if ($__n) { - if (!($7 & 1)) $24 = $this + 1 | 0; else $24 = HEAP32[$this + 8 >> 2] | 0; - _memcpy($24 + $15 | 0, $__s | 0, $__n | 0) | 0; - $25 = $15 + $__n | 0; - if (!(HEAP8[$this >> 0] & 1)) HEAP8[$this >> 0] = $25 << 1; else HEAP32[$this + 4 >> 2] = $25; - HEAP8[$24 + $25 >> 0] = 0; - } - return $this | 0; -} - -function _pad($f, $c, $w, $l, $fl) { - $f = $f | 0; - $c = $c | 0; - $w = $w | 0; - $l = $l | 0; - $fl = $fl | 0; - var $$0$lcssa6 = 0, $$02 = 0, $10 = 0, $14 = 0, $17 = 0, $18 = 0, $3 = 0, $7 = 0, $9 = 0, $pad = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $pad = sp; - do if (($w | 0) > ($l | 0) & ($fl & 73728 | 0) == 0) { - $3 = $w - $l | 0; - _memset($pad | 0, $c | 0, ($3 >>> 0 > 256 ? 256 : $3) | 0) | 0; - $7 = HEAP32[$f >> 2] | 0; - $9 = ($7 & 32 | 0) == 0; - if ($3 >>> 0 > 255) { - $10 = $w - $l | 0; - $$02 = $3; - $17 = $7; - $18 = $9; - while (1) { - if ($18) { - ___fwritex($pad, 256, $f) | 0; - $14 = HEAP32[$f >> 2] | 0; - } else $14 = $17; - $$02 = $$02 + -256 | 0; - $18 = ($14 & 32 | 0) == 0; - if ($$02 >>> 0 <= 255) break; else $17 = $14; - } - if ($18) $$0$lcssa6 = $10 & 255; else break; - } else if ($9) $$0$lcssa6 = $3; else break; - ___fwritex($pad, $$0$lcssa6, $f) | 0; - } while (0); - STACKTOP = sp; - return; -} - -function _loadCamera($cparam_name) { - $cparam_name = $cparam_name | 0; - var $$0 = 0, $15 = 0, $16 = 0, $6 = 0, $cameraID = 0, $param = 0, $vararg_buffer1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer1 = sp + 192 | 0; - $param = sp; - $cameraID = sp + 196 | 0; - if (!(HEAP8[$cparam_name >> 0] & 1)) $6 = $cparam_name + 1 | 0; else $6 = HEAP32[$cparam_name + 8 >> 2] | 0; - if ((_arParamLoad($6, 1, $param, sp + 184 | 0) | 0) < 0) { - if (!(HEAP8[$cparam_name >> 0] & 1)) $15 = $cparam_name + 1 | 0; else $15 = HEAP32[$cparam_name + 8 >> 2] | 0; - HEAP32[$vararg_buffer1 >> 2] = $15; - _arLog(3, 6092, $vararg_buffer1); - $$0 = -1; - } else { - $16 = HEAP32[521] | 0; - HEAP32[521] = $16 + 1; - HEAP32[$cameraID >> 2] = $16; - _memcpy(__ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2064, $cameraID) | 0, $param | 0, 184) | 0; - $$0 = $16; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _getMultiMarkerNum($id, $multiMarker_id) { - $id = $id | 0; - $multiMarker_id = $multiMarker_id | 0; - var $$0 = 0, $0 = 0, $3 = 0, $8 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if (($multiMarker_id | 0) < 0) $$0 = -1; else { - $8 = HEAP32[$3 + 248 >> 2] | 0; - if ((HEAP32[$3 + 252 >> 2] | 0) - $8 >> 3 >>> 0 > $multiMarker_id >>> 0) $$0 = HEAP32[(HEAP32[$8 + ($multiMarker_id << 3) + 4 >> 2] | 0) + 4 >> 2] | 0; else $$0 = -1; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _arImageProcInit($xsize, $ysize, $pixFormat, $alwaysCopy) { - $xsize = $xsize | 0; - $ysize = $ysize | 0; - $pixFormat = $pixFormat | 0; - $alwaysCopy = $alwaysCopy | 0; - var $$0 = 0, $0 = 0, $5 = 0, label = 0; - $0 = _malloc(2080) | 0; - L1 : do if (!$0) $$0 = $0; else { - HEAP32[$0 + 2068 >> 2] = $pixFormat; - L3 : do if (!$alwaysCopy) { - switch ($pixFormat | 0) { - case 5: - case 12: - case 13: - case 14: - break; - default: - { - label = 4; - break L3; - } - } - HEAP32[$0 + 2076 >> 2] = 0; - } else label = 4; while (0); - do if ((label | 0) == 4) { - $5 = _malloc(Math_imul($ysize, $xsize) | 0) | 0; - HEAP32[$0 >> 2] = $5; - if (!$5) { - _free($0); - $$0 = 0; - break L1; - } else { - HEAP32[$0 + 2076 >> 2] = 1; - break; - } - } while (0); - HEAP32[$0 + 2072 >> 2] = $alwaysCopy; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = $xsize; - HEAP32[$0 + 12 >> 2] = $ysize; - $$0 = $0; - } while (0); - return $$0 | 0; -} - -function _setPattRatio($id, $ratio) { - $id = $id | 0; - $ratio = +$ratio; - var $0 = 0, $3 = 0, $6 = 0.0, $8 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 8 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if (!($ratio <= 0.0 | $ratio >= 1.0)) { - $6 = $ratio; - $8 = HEAP32[$3 + 212 >> 2] | 0; - if ($8) if (!(_arSetPattRatio($8, $6) | 0)) { - HEAPF64[$vararg_buffer >> 3] = $6; - _arLog(1, 6512, $vararg_buffer); - } - } - } - STACKTOP = sp; - return; -} - -function _setDebugMode($id, $enable) { - $id = $id | 0; - $enable = $enable | 0; - var $$0 = 0, $0 = 0, $4 = 0, $6 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = 0; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $6 = ($enable | 0) != 0; - _arSetDebugMode(HEAP32[$4 >> 2] | 0, $6 & 1) | 0; - HEAP32[$vararg_buffer >> 2] = $6 ? 6615 : 6619; - _arLog(1, 6624, $vararg_buffer); - $$0 = $enable; - } - STACKTOP = sp; - return $$0 | 0; -} - -function ___remdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - ___udivmoddi4($4$0, $4$1, _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 0; -} - -function _fopen($filename, $mode) { - $filename = $filename | 0; - $mode = $mode | 0; - var $$0 = 0, $3 = 0, $5 = 0, $7 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer3 = sp + 16 | 0; - $vararg_buffer = sp; - if (!(_memchr(16759, HEAP8[$mode >> 0] | 0, 4) | 0)) { - $3 = ___errno_location() | 0; - HEAP32[$3 >> 2] = 22; - $$0 = 0; - } else { - $5 = ___fmodeflags($mode) | 0 | 32768; - HEAP32[$vararg_buffer >> 2] = $filename; - HEAP32[$vararg_buffer + 4 >> 2] = $5; - HEAP32[$vararg_buffer + 8 >> 2] = 438; - $7 = ___syscall_ret(___syscall5(5, $vararg_buffer | 0) | 0) | 0; - if (($7 | 0) < 0) $$0 = 0; else { - $9 = ___fdopen($7, $mode) | 0; - if (!$9) { - HEAP32[$vararg_buffer3 >> 2] = $7; - ___syscall6(6, $vararg_buffer3 | 0) | 0; - $$0 = 0; - } else $$0 = $9; - } - } - STACKTOP = sp; - return $$0 | 0; -} - -function _cycle($width, $ar, $n) { - $width = $width | 0; - $ar = $ar | 0; - $n = $n | 0; - var $$02 = 0, $1 = 0, $4 = 0, $6 = 0, $7 = 0, $i$01 = 0, $tmp = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $tmp = sp; - L1 : do if (($n | 0) >= 2) { - $1 = $ar + ($n << 2) | 0; - HEAP32[$1 >> 2] = $tmp; - if ($width) { - $$02 = $width; - $6 = $tmp; - while (1) { - $4 = $$02 >>> 0 > 256 ? 256 : $$02; - _memcpy($6 | 0, HEAP32[$ar >> 2] | 0, $4 | 0) | 0; - $i$01 = 0; - do { - $7 = $ar + ($i$01 << 2) | 0; - $i$01 = $i$01 + 1 | 0; - _memcpy(HEAP32[$7 >> 2] | 0, HEAP32[$ar + ($i$01 << 2) >> 2] | 0, $4 | 0) | 0; - HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + $4; - } while (($i$01 | 0) != ($n | 0)); - if (($$02 | 0) == ($4 | 0)) break L1; - $$02 = $$02 - $4 | 0; - $6 = HEAP32[$1 >> 2] | 0; - } - } - } while (0); - STACKTOP = sp; - return; -} - -function _setThreshold($id, $threshold) { - $id = $id | 0; - $threshold = $threshold | 0; - var $0 = 0, $3 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - if ($threshold >>> 0 <= 255) if (!(_arSetLabelingThresh(HEAP32[$3 + 212 >> 2] | 0, $threshold) | 0)) { - HEAP32[$vararg_buffer >> 2] = $threshold; - _arLog(1, 6568, $vararg_buffer); - } - } - STACKTOP = sp; - return; -} - -function _scalbn($x, $n) { - $x = +$x; - $n = $n | 0; - var $$0 = 0, $1 = 0.0, $12 = 0, $15 = 0, $16 = 0, $2 = 0, $5 = 0, $8 = 0.0, $9 = 0, $y$0 = 0.0; - if (($n | 0) > 1023) { - $1 = $x * 8988465674311579538646525.0e283; - $2 = $n + -1023 | 0; - if (($2 | 0) > 1023) { - $5 = $n + -2046 | 0; - $$0 = ($5 | 0) > 1023 ? 1023 : $5; - $y$0 = $1 * 8988465674311579538646525.0e283; - } else { - $$0 = $2; - $y$0 = $1; - } - } else if (($n | 0) < -1022) { - $8 = $x * 2.2250738585072014e-308; - $9 = $n + 1022 | 0; - if (($9 | 0) < -1022) { - $12 = $n + 2044 | 0; - $$0 = ($12 | 0) < -1022 ? -1022 : $12; - $y$0 = $8 * 2.2250738585072014e-308; - } else { - $$0 = $9; - $y$0 = $8; - } - } else { - $$0 = $n; - $y$0 = $x; - } - $15 = _bitshift64Shl($$0 + 1023 | 0, 0, 52) | 0; - $16 = tempRet0; - HEAP32[tempDoublePtr >> 2] = $15; - HEAP32[tempDoublePtr + 4 >> 2] = $16; - return +($y$0 * +HEAPF64[tempDoublePtr >> 3]); -} - -function _wcrtomb($s, $wc, $st) { - $s = $s | 0; - $wc = $wc | 0; - $st = $st | 0; - var $$0 = 0, $45 = 0; - do if (!$s) $$0 = 1; else { - if ($wc >>> 0 < 128) { - HEAP8[$s >> 0] = $wc; - $$0 = 1; - break; - } - if ($wc >>> 0 < 2048) { - HEAP8[$s >> 0] = $wc >>> 6 | 192; - HEAP8[$s + 1 >> 0] = $wc & 63 | 128; - $$0 = 2; - break; - } - if ($wc >>> 0 < 55296 | ($wc & -8192 | 0) == 57344) { - HEAP8[$s >> 0] = $wc >>> 12 | 224; - HEAP8[$s + 1 >> 0] = $wc >>> 6 & 63 | 128; - HEAP8[$s + 2 >> 0] = $wc & 63 | 128; - $$0 = 3; - break; - } - if (($wc + -65536 | 0) >>> 0 < 1048576) { - HEAP8[$s >> 0] = $wc >>> 18 | 240; - HEAP8[$s + 1 >> 0] = $wc >>> 12 & 63 | 128; - HEAP8[$s + 2 >> 0] = $wc >>> 6 & 63 | 128; - HEAP8[$s + 3 >> 0] = $wc & 63 | 128; - $$0 = 4; - break; - } else { - $45 = ___errno_location() | 0; - HEAP32[$45 >> 2] = 84; - $$0 = -1; - break; - } - } while (0); - return $$0 | 0; -} - -function _getThresholdMode($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $7 = 0, $thresholdMode = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $thresholdMode = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) { - STACKTOP = sp; - return -1; - } else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $7 = (_arGetLabelingThreshMode(HEAP32[$4 >> 2] | 0, $thresholdMode) | 0) == 0; - STACKTOP = sp; - return ($7 ? HEAP32[$thresholdMode >> 2] | 0 : -1) | 0; - } - return 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj9EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $1 = 0, $10 = 0, $12 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - HEAP8[$this >> 0] = 16; - $1 = $s; - $2 = $1; - $3 = HEAPU8[$2 >> 0] | HEAPU8[$2 + 1 >> 0] << 8 | HEAPU8[$2 + 2 >> 0] << 16 | HEAPU8[$2 + 3 >> 0] << 24; - $5 = $1 + 4 | 0; - $6 = HEAPU8[$5 >> 0] | HEAPU8[$5 + 1 >> 0] << 8 | HEAPU8[$5 + 2 >> 0] << 16 | HEAPU8[$5 + 3 >> 0] << 24; - $7 = $this + 1 | 0; - $8 = $7; - HEAP8[$8 >> 0] = $3; - HEAP8[$8 + 1 >> 0] = $3 >> 8; - HEAP8[$8 + 2 >> 0] = $3 >> 16; - HEAP8[$8 + 3 >> 0] = $3 >> 24; - $10 = $7 + 4 | 0; - HEAP8[$10 >> 0] = $6; - HEAP8[$10 + 1 >> 0] = $6 >> 8; - HEAP8[$10 + 2 >> 0] = $6 >> 16; - HEAP8[$10 + 3 >> 0] = $6 >> 24; - HEAP8[$this + 9 >> 0] = 0; - $12 = $this + 12 | 0; - HEAP32[$12 >> 2] = 0; - HEAP32[$12 + 4 >> 2] = 0; - HEAP32[$12 + 8 >> 2] = 0; - return; -} - -function _getImageProcMode($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $7 = 0, $imageProcMode = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $imageProcMode = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) { - STACKTOP = sp; - return -1; - } else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $7 = (_arGetImageProcMode(HEAP32[$4 >> 2] | 0, $imageProcMode) | 0) == 0; - STACKTOP = sp; - return ($7 ? HEAP32[$imageProcMode >> 2] | 0 : -1) | 0; - } - return 0; -} - -function __ZNSt3__16vectorI12multi_markerNS_9allocatorIS1_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS1_RS3_EE($this, $__v) { - $this = $this | 0; - $__v = $__v | 0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $13 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $6 = 0; - $0 = HEAP32[$this >> 2] | 0; - $1 = $this + 4 | 0; - $3 = $__v + 4 | 0; - $6 = (HEAP32[$1 >> 2] | 0) - $0 | 0; - $10 = (HEAP32[$3 >> 2] | 0) + (0 - ($6 >> 3) << 3) | 0; - HEAP32[$3 >> 2] = $10; - _memcpy($10 | 0, $0 | 0, $6 | 0) | 0; - $11 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = HEAP32[$3 >> 2]; - HEAP32[$3 >> 2] = $11; - $13 = $__v + 8 | 0; - $14 = HEAP32[$1 >> 2] | 0; - HEAP32[$1 >> 2] = HEAP32[$13 >> 2]; - HEAP32[$13 >> 2] = $14; - $16 = $this + 8 | 0; - $17 = $__v + 12 | 0; - $18 = HEAP32[$16 >> 2] | 0; - HEAP32[$16 >> 2] = HEAP32[$17 >> 2]; - HEAP32[$17 >> 2] = $18; - HEAP32[$__v >> 2] = HEAP32[$3 >> 2]; - return; -} - -function _setPatternDetectionMode($id, $mode) { - $id = $id | 0; - $mode = $mode | 0; - var $0 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - if (!(_arSetPatternDetectionMode(HEAP32[$4 >> 2] | 0, $mode) | 0)) { - HEAP32[$vararg_buffer >> 2] = $mode; - _arLog(1, 6477, $vararg_buffer); - } - } - STACKTOP = sp; - return; -} - -function _getLabelingMode($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $7 = 0, $labelingMode = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $labelingMode = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) { - STACKTOP = sp; - return -1; - } else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $7 = (_arGetLabelingMode(HEAP32[$4 >> 2] | 0, $labelingMode) | 0) == 0; - STACKTOP = sp; - return ($7 ? HEAP32[$labelingMode >> 2] | 0 : -1) | 0; - } - return 0; -} - -function _arMatrixDup($dest, $source) { - $dest = $dest | 0; - $source = $source | 0; - var $$0 = 0, $1 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $6 = 0, $c$02 = 0, $r$03 = 0; - $1 = HEAP32[$dest + 4 >> 2] | 0; - if (($1 | 0) == (HEAP32[$source + 4 >> 2] | 0)) { - $6 = HEAP32[$dest + 8 >> 2] | 0; - if (($6 | 0) == (HEAP32[$source + 8 >> 2] | 0)) if (($1 | 0) > 0) { - $11 = ($6 | 0) > 0; - $r$03 = 0; - do { - $12 = Math_imul($6, $r$03) | 0; - if ($11) { - $13 = HEAP32[$source >> 2] | 0; - $14 = HEAP32[$dest >> 2] | 0; - $c$02 = 0; - do { - $15 = $12 + $c$02 | 0; - HEAPF64[$14 + ($15 << 3) >> 3] = +HEAPF64[$13 + ($15 << 3) >> 3]; - $c$02 = $c$02 + 1 | 0; - } while (($c$02 | 0) < ($6 | 0)); - } - $r$03 = $r$03 + 1 | 0; - } while (($r$03 | 0) < ($1 | 0)); - $$0 = 0; - } else $$0 = 0; else $$0 = -1; - } else $$0 = -1; - return $$0 | 0; -} - -function _setThresholdMode($id, $mode) { - $id = $id | 0; - $mode = $mode | 0; - var $0 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - if (!(_arSetLabelingThreshMode(HEAP32[$4 >> 2] | 0, $mode) | 0)) { - HEAP32[$vararg_buffer >> 2] = $mode; - _arLog(1, 6589, $vararg_buffer); - } - } - STACKTOP = sp; - return; -} - -function _getPattRatio($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $5 = 0, $8 = 0, $pattRatio = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 8 | 0; - $pattRatio = sp; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $5 = HEAP32[$4 >> 2] | 0; - if ($5) { - $8 = (_arGetPattRatio($5, $pattRatio) | 0) == 0; - STACKTOP = sp; - return +($8 ? +HEAPF64[$pattRatio >> 3] : -1.0); - } - } - STACKTOP = sp; - return -1.0; -} - -function _setImageProcMode($id, $mode) { - $id = $id | 0; - $mode = $mode | 0; - var $0 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - if (!(_arSetImageProcMode(HEAP32[$4 >> 2] | 0, $mode) | 0)) { - HEAP32[$vararg_buffer >> 2] = $mode; - _arLog(1, 6646, $vararg_buffer); - } - } - STACKTOP = sp; - return; -} - -function _setLabelingMode($id, $mode) { - $id = $id | 0; - $mode = $mode | 0; - var $0 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $0 = sp + 4 | 0; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - if (!(_arSetLabelingMode(HEAP32[$4 >> 2] | 0, $mode) | 0)) { - HEAP32[$vararg_buffer >> 2] = $mode; - _arLog(1, 6543, $vararg_buffer); - } - } - STACKTOP = sp; - return; -} - -function _getThreshold($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $7 = 0, $threshold = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $threshold = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) { - STACKTOP = sp; - return -1; - } else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $7 = (_arGetLabelingThresh(HEAP32[$4 >> 2] | 0, $threshold) | 0) == 0; - STACKTOP = sp; - return ($7 ? HEAP32[$threshold >> 2] | 0 : -1) | 0; - } - return 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_119parse_cv_qualifiersEPKcS2_Rj($first, $last, $cv) { - $first = $first | 0; - $last = $last | 0; - $cv = $cv | 0; - var $$0 = 0, $$1 = 0, $$2 = 0, $1 = 0, $10 = 0, $12 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - HEAP32[$cv >> 2] = 0; - if (($first | 0) == ($last | 0)) $$2 = $first; else { - $1 = HEAP8[$first >> 0] | 0; - if ($1 << 24 >> 24 == 114) { - HEAP32[$cv >> 2] = 4; - $3 = $first + 1 | 0; - $$0 = $3; - $5 = HEAP8[$3 >> 0] | 0; - $7 = 4; - } else { - $$0 = $first; - $5 = $1; - $7 = 0; - } - if ($5 << 24 >> 24 == 86) { - $6 = $7 | 2; - HEAP32[$cv >> 2] = $6; - $8 = $$0 + 1 | 0; - $$1 = $8; - $10 = HEAP8[$8 >> 0] | 0; - $12 = $6; - } else { - $$1 = $$0; - $10 = $5; - $12 = $7; - } - if ($10 << 24 >> 24 == 75) { - HEAP32[$cv >> 2] = $12 | 1; - $$2 = $$1 + 1 | 0; - } else $$2 = $$1; - } - return $$2 | 0; -} - -function _getPatternDetectionMode($id) { - $id = $id | 0; - var $0 = 0, $4 = 0, $7 = 0, $mode = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $mode = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) { - STACKTOP = sp; - return -1; - } else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $7 = (_arGetPatternDetectionMode(HEAP32[$4 >> 2] | 0, $mode) | 0) == 0; - STACKTOP = sp; - return ($7 ? HEAP32[$mode >> 2] | 0 : -1) | 0; - } - return 0; -} - -function _strerror($e) { - $e = $e | 0; - var $$lcssa = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - $i$03 = 0; - while (1) { - if ((HEAPU8[14592 + $i$03 >> 0] | 0) == ($e | 0)) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $i$03 = $i$03 + 1 | 0; - if (($i$03 | 0) == 87) { - $i$12 = 87; - $s$01 = 14680; - label = 5; - break; - } - } - if ((label | 0) == 2) if (!$i$03$lcssa) $s$0$lcssa = 14680; else { - $i$12 = $i$03$lcssa; - $s$01 = 14680; - label = 5; - } - if ((label | 0) == 5) while (1) { - label = 0; - $s$1 = $s$01; - while (1) { - $9 = $s$1 + 1 | 0; - if (!(HEAP8[$s$1 >> 0] | 0)) { - $$lcssa = $9; - break; - } else $s$1 = $9; - } - $i$12 = $i$12 + -1 | 0; - if (!$i$12) { - $s$0$lcssa = $$lcssa; - break; - } else { - $s$01 = $$lcssa; - label = 5; - } - } - return $s$0$lcssa | 0; -} - -function __ZNSt3__113__lower_boundIRNS_6__lessIjjEEPKjjEET0_S6_S6_RKT1_T_($__first, $__last, $__value_, $__comp) { - $__first = $__first | 0; - $__last = $__last | 0; - $__value_ = $__value_ | 0; - $__comp = $__comp | 0; - var $$0$ph = 0, $$0$ph$lcssa = 0, $$lcssa = 0, $4 = 0, $6 = 0, $__len$0 = 0, $__len$0$lcssa7 = 0, $__len$0$ph = 0; - $4 = HEAP32[$__value_ >> 2] | 0; - $$0$ph = $__first; - $__len$0$ph = $__last - $__first >> 2; - L1 : while (1) { - $__len$0 = $__len$0$ph; - while (1) { - if (!$__len$0) { - $$0$ph$lcssa = $$0$ph; - break L1; - } - $6 = ($__len$0 | 0) / 2 | 0; - if ((HEAP32[$$0$ph + ($6 << 2) >> 2] | 0) >>> 0 < $4 >>> 0) { - $$lcssa = $6; - $__len$0$lcssa7 = $__len$0; - break; - } else $__len$0 = $6; - } - $$0$ph = $$0$ph + ($$lcssa + 1 << 2) | 0; - $__len$0$ph = $__len$0$lcssa7 + -1 - $$lcssa | 0; - } - return $$0$ph$lcssa | 0; -} - -function __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EEPKS8_RKSB_($agg$result, $__lhs, $__rhs) { - $agg$result = $agg$result | 0; - $__lhs = $__lhs | 0; - $__rhs = $__rhs | 0; - var $10 = 0, $2 = 0, $3 = 0; - HEAP32[$agg$result >> 2] = 0; - HEAP32[$agg$result + 4 >> 2] = 0; - HEAP32[$agg$result + 8 >> 2] = 0; - $2 = _strlen($__lhs) | 0; - $3 = HEAP8[$__rhs >> 0] | 0; - $10 = ($3 & 1) == 0 ? ($3 & 255) >>> 1 : HEAP32[$__rhs + 4 >> 2] | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcjj($agg$result, $__lhs, $2, $10 + $2 | 0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($agg$result, (HEAP8[$__rhs >> 0] & 1) == 0 ? $__rhs + 1 | 0 : HEAP32[$__rhs + 8 >> 2] | 0, $10) | 0; - return; -} - -function _frexp($x, $e) { - $x = +$x; - $e = $e | 0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $2 = 0, $4 = 0, $7 = 0.0, $storemerge = 0; - HEAPF64[tempDoublePtr >> 3] = $x; - $0 = HEAP32[tempDoublePtr >> 2] | 0; - $1 = HEAP32[tempDoublePtr + 4 >> 2] | 0; - $2 = _bitshift64Lshr($0 | 0, $1 | 0, 52) | 0; - $4 = $2 & 2047; - switch ($4 | 0) { - case 0: - { - if ($x != 0.0) { - $7 = +_frexp($x * 18446744073709551616.0, $e); - $$01 = $7; - $storemerge = (HEAP32[$e >> 2] | 0) + -64 | 0; - } else { - $$01 = $x; - $storemerge = 0; - } - HEAP32[$e >> 2] = $storemerge; - $$0 = $$01; - break; - } - case 2047: - { - $$0 = $x; - break; - } - default: - { - HEAP32[$e >> 2] = $4 + -1022; - HEAP32[tempDoublePtr >> 2] = $0; - HEAP32[tempDoublePtr + 4 >> 2] = $1 & -2146435073 | 1071644672; - $$0 = +HEAPF64[tempDoublePtr >> 3]; - } - } - return +$$0; -} - -function ___fseeko_unlocked($f, $off, $whence) { - $f = $f | 0; - $off = $off | 0; - $whence = $whence | 0; - var $$0 = 0, $$01 = 0, $11 = 0, $9 = 0, label = 0; - if (($whence | 0) == 1) $$01 = $off - (HEAP32[$f + 8 >> 2] | 0) + (HEAP32[$f + 4 >> 2] | 0) | 0; else $$01 = $off; - $9 = $f + 20 | 0; - $11 = $f + 28 | 0; - if ((HEAP32[$9 >> 2] | 0) >>> 0 > (HEAP32[$11 >> 2] | 0) >>> 0) { - FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, 0, 0) | 0; - if (!(HEAP32[$9 >> 2] | 0)) $$0 = -1; else label = 5; - } else label = 5; - if ((label | 0) == 5) { - HEAP32[$f + 16 >> 2] = 0; - HEAP32[$11 >> 2] = 0; - HEAP32[$9 >> 2] = 0; - if ((FUNCTION_TABLE_iiii[HEAP32[$f + 40 >> 2] & 15]($f, $$01, $whence) | 0) < 0) $$0 = -1; else { - HEAP32[$f + 8 >> 2] = 0; - HEAP32[$f + 4 >> 2] = 0; - HEAP32[$f >> 2] = HEAP32[$f >> 2] & -17; - $$0 = 0; - } - } - return $$0 | 0; -} - -function __ZNSt3__1plIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEENS_12basic_stringIT_T0_T1_EERKSB_PKS8_($agg$result, $__lhs, $__rhs) { - $agg$result = $agg$result | 0; - $__lhs = $__lhs | 0; - $__rhs = $__rhs | 0; - var $10 = 0, $2 = 0, $4 = 0, $9 = 0; - HEAP32[$agg$result >> 2] = 0; - HEAP32[$agg$result + 4 >> 2] = 0; - HEAP32[$agg$result + 8 >> 2] = 0; - $2 = HEAP8[$__lhs >> 0] | 0; - $4 = ($2 & 1) == 0; - $9 = $4 ? ($2 & 255) >>> 1 : HEAP32[$__lhs + 4 >> 2] | 0; - $10 = _strlen($__rhs) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcjj($agg$result, $4 ? $__lhs + 1 | 0 : HEAP32[$__lhs + 8 >> 2] | 0, $9, $9 + $10 | 0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($agg$result, $__rhs, $10) | 0; - return; -} - -function _icpGetU_from_X_by_MatX2U($u, $matX2U, $coord3d) { - $u = $u | 0; - $matX2U = $matX2U | 0; - $coord3d = $coord3d | 0; - var $$0 = 0, $0 = 0.0, $18 = 0.0, $2 = 0.0, $33 = 0.0, $4 = 0.0; - $0 = +HEAPF64[$coord3d >> 3]; - $2 = +HEAPF64[$coord3d + 8 >> 3]; - $4 = +HEAPF64[$coord3d + 16 >> 3]; - $18 = +HEAPF64[$matX2U + 88 >> 3] + ($0 * +HEAPF64[$matX2U + 64 >> 3] + $2 * +HEAPF64[$matX2U + 72 >> 3] + $4 * +HEAPF64[$matX2U + 80 >> 3]); - if ($18 == 0.0) $$0 = -1; else { - $33 = +HEAPF64[$matX2U + 56 >> 3] + ($0 * +HEAPF64[$matX2U + 32 >> 3] + $2 * +HEAPF64[$matX2U + 40 >> 3] + $4 * +HEAPF64[$matX2U + 48 >> 3]); - HEAPF64[$u >> 3] = (+HEAPF64[$matX2U + 24 >> 3] + ($0 * +HEAPF64[$matX2U >> 3] + $2 * +HEAPF64[$matX2U + 8 >> 3] + $4 * +HEAPF64[$matX2U + 16 >> 3])) / $18; - HEAPF64[$u + 8 >> 3] = $33 / $18; - $$0 = 0; - } - return $$0 | 0; -} - -function __ZNSt3__16vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEEC2EjRKS3_RKS5_($this, $__x, $__a) { - $this = $this | 0; - $__x = $__x | 0; - $__a = $__a | 0; - var $0 = 0, $2 = 0, $5 = 0; - HEAP32[$this >> 2] = 0; - $0 = $this + 4 | 0; - HEAP32[$0 >> 2] = 0; - $2 = HEAP32[$__a >> 2] | 0; - HEAP32[$this + 8 >> 2] = 0; - HEAP32[$this + 12 >> 2] = $2; - $5 = __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE8allocateEj($2, 24) | 0; - HEAP32[$0 >> 2] = $5; - HEAP32[$this >> 2] = $5; - HEAP32[$this + 8 >> 2] = $5 + 24; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($5, $__x); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($5 + 12 | 0, $__x + 12 | 0); - HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 24; - return; -} - -function _getMatrixCodeType($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $4 = 0, $matrixType = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $matrixType = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - _arGetMatrixCodeType(HEAP32[$4 >> 2] | 0, $matrixType) | 0; - $$0 = HEAP32[$matrixType >> 2] | 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_112parse_numberEPKcS2_($first, $last) { - $first = $first | 0; - $last = $last | 0; - var $$0 = 0, $$1 = 0, $$first = 0, $5 = 0, $t$0$pn = 0; - L1 : do if (($first | 0) == ($last | 0)) $$1 = $first; else { - $$first = (HEAP8[$first >> 0] | 0) == 110 ? $first + 1 | 0 : $first; - if (($$first | 0) == ($last | 0)) $$1 = $first; else { - $5 = HEAP8[$$first >> 0] | 0; - if ($5 << 24 >> 24 == 48) { - $$1 = $$first + 1 | 0; - break; - } - if (($5 + -49 & 255) < 9) { - $t$0$pn = $$first; - while (1) { - $$0 = $t$0$pn + 1 | 0; - if (($$0 | 0) == ($last | 0)) { - $$1 = $last; - break L1; - } - if (((HEAP8[$$0 >> 0] | 0) + -48 | 0) >>> 0 < 10) $t$0$pn = $$0; else { - $$1 = $$0; - break; - } - } - } else $$1 = $first; - } - } while (0); - return $$1 | 0; -} - -function __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $1 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $this + 8 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($1 | 0)) { - $6 = $3; - do { - $5 = $6 + -16 | 0; - HEAP32[$2 >> 2] = $5; - __ZNSt3__113__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEED2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($1 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - if ($9) __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[HEAP32[$this + 16 >> 2] >> 2] | 0, $9, (HEAP32[$this + 12 >> 2] | 0) - $9 | 0); - return; -} - -function __ZNSt3__113__vector_baseINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEENS5_IS9_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $0 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $0 = HEAP32[$this >> 2] | 0; - if ($0) { - $2 = $this + 4 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($0 | 0)) { - $6 = $3; - do { - $5 = $6 + -16 | 0; - HEAP32[$2 >> 2] = $5; - __ZNSt3__113__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEED2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($0 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[$this + 12 >> 2] | 0, $9, (HEAP32[$this + 8 >> 2] | 0) - $9 | 0); - } - return; -} - -function _getDebugMode($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $4 = 0, $enable = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp + 4 | 0; - $enable = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = 0; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - _arGetDebugMode(HEAP32[$4 >> 2] | 0, $enable) | 0; - $$0 = HEAP32[$enable >> 2] | 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _realloc($oldmem, $bytes) { - $oldmem = $oldmem | 0; - $bytes = $bytes | 0; - var $12 = 0, $15 = 0, $20 = 0, $3 = 0, $9 = 0, $mem$0 = 0; - if (!$oldmem) { - $mem$0 = _malloc($bytes) | 0; - return $mem$0 | 0; - } - if ($bytes >>> 0 > 4294967231) { - $3 = ___errno_location() | 0; - HEAP32[$3 >> 2] = 12; - $mem$0 = 0; - return $mem$0 | 0; - } - $9 = _try_realloc_chunk($oldmem + -8 | 0, $bytes >>> 0 < 11 ? 16 : $bytes + 11 & -8) | 0; - if ($9) { - $mem$0 = $9 + 8 | 0; - return $mem$0 | 0; - } - $12 = _malloc($bytes) | 0; - if (!$12) { - $mem$0 = 0; - return $mem$0 | 0; - } - $15 = HEAP32[$oldmem + -4 >> 2] | 0; - $20 = ($15 & -8) - (($15 & 3 | 0) == 0 ? 8 : 4) | 0; - _memcpy($12 | 0, $oldmem | 0, ($20 >>> 0 < $bytes >>> 0 ? $20 : $bytes) | 0) | 0; - _free($oldmem); - $mem$0 = $12; - return $mem$0 | 0; -} - -function _arSetDebugMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0, $11 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - do if (!$handle) $$0 = -1; else if ((HEAP32[$handle >> 2] | 0) == ($mode | 0)) $$0 = 0; else { - HEAP32[$handle >> 2] = $mode; - if (!$mode) { - $4 = $handle + 4834148 | 0; - _free(HEAP32[$4 >> 2] | 0); - HEAP32[$4 >> 2] = 0; - $$0 = 0; - break; - } - $11 = _malloc(Math_imul(HEAP32[$handle + 40 >> 2] | 0, HEAP32[$handle + 36 >> 2] | 0) | 0) | 0; - HEAP32[$handle + 4834148 >> 2] = $11; - if (!$11) { - _arLog(3, 5471, $vararg_buffer); - _exit(1); - } else $$0 = 0; - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _vasprintf($s, $fmt, $ap) { - $s = $s | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - var $$0 = 0, $0 = 0, $10 = 0, $2 = 0, $5 = 0, $9 = 0, $ap2 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ap2 = sp; - $0 = _malloc(240) | 0; - do if (!$0) $$0 = -1; else { - HEAP32[$ap2 >> 2] = HEAP32[$ap >> 2]; - $2 = _vsnprintf($0, 240, $fmt, $ap2) | 0; - if ($2 >>> 0 < 240) { - $5 = _realloc($0, $2 + 1 | 0) | 0; - HEAP32[$s >> 2] = ($5 | 0) != 0 ? $5 : $0; - $$0 = $2; - break; - } - _free($0); - if (($2 | 0) < 0) $$0 = -1; else { - $9 = $2 + 1 | 0; - $10 = _malloc($9) | 0; - HEAP32[$s >> 2] = $10; - if (!$10) $$0 = -1; else $$0 = _vsnprintf($10, $9, $fmt, $ap) | 0; - } - } while (0); - STACKTOP = sp; - return $$0 | 0; -} - -function _icpCreateHandle($matXc2U) { - $matXc2U = $matXc2U | 0; - var $$0 = 0, $0 = 0, $j$04 = 0; - $0 = _malloc(136) | 0; - if (!$0) $$0 = 0; else { - $j$04 = 0; - do { - HEAPF64[$0 + ($j$04 << 5) >> 3] = +HEAPF64[$matXc2U + ($j$04 << 5) >> 3]; - HEAPF64[$0 + ($j$04 << 5) + 8 >> 3] = +HEAPF64[$matXc2U + ($j$04 << 5) + 8 >> 3]; - HEAPF64[$0 + ($j$04 << 5) + 16 >> 3] = +HEAPF64[$matXc2U + ($j$04 << 5) + 16 >> 3]; - HEAPF64[$0 + ($j$04 << 5) + 24 >> 3] = +HEAPF64[$matXc2U + ($j$04 << 5) + 24 >> 3]; - $j$04 = $j$04 + 1 | 0; - } while (($j$04 | 0) != 3); - HEAP32[$0 + 96 >> 2] = 10; - HEAPF64[$0 + 104 >> 3] = .10000000149011612; - HEAPF64[$0 + 112 >> 3] = .9900000095367432; - HEAPF64[$0 + 120 >> 3] = 4.0; - HEAPF64[$0 + 128 >> 3] = .5; - $$0 = $0; - } - return $$0 | 0; -} - -function __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $1 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $this + 8 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($1 | 0)) { - $6 = $3; - do { - $5 = $6 + -16 | 0; - HEAP32[$2 >> 2] = $5; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($1 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - if ($9) __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[HEAP32[$this + 16 >> 2] >> 2] | 0, $9, (HEAP32[$this + 12 >> 2] | 0) - $9 | 0); - return; -} - -function __ZNSt3__113__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $0 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $0 = HEAP32[$this >> 2] | 0; - if ($0) { - $2 = $this + 4 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($0 | 0)) { - $6 = $3; - do { - $5 = $6 + -16 | 0; - HEAP32[$2 >> 2] = $5; - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($0 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[$this + 12 >> 2] | 0, $9, (HEAP32[$this + 8 >> 2] | 0) - $9 | 0); - } - return; -} - -function __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($this, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $dst_ptr = $dst_ptr | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $1 = 0, $2 = 0, $8 = 0, $offset_to_base$0 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $1 >> 8; - if (!($1 & 1)) $offset_to_base$0 = $2; else $offset_to_base$0 = HEAP32[(HEAP32[$current_ptr >> 2] | 0) + $2 >> 2] | 0; - $8 = HEAP32[$this >> 2] | 0; - FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 3]($8, $info, $dst_ptr, $current_ptr + $offset_to_base$0 | 0, ($1 & 2 | 0) != 0 ? $path_below : 2, $use_strcmp); - return; -} - -function _setProjectionNearPlane($id, $projectionNearPlane) { - $id = $id | 0; - $projectionNearPlane = +$projectionNearPlane; - var $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 232 | 0; - HEAPF64[$4 >> 3] = $projectionNearPlane; - } - STACKTOP = sp; - return; -} - -function _detectMarker($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = HEAP32[522] | 0; else { - $4 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $$0 = _arDetectMarker(HEAP32[$4 + 212 >> 2] | 0, HEAP32[$4 + 196 >> 2] | 0) | 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $adjustedPtr = $adjustedPtr | 0; - $path_below = $path_below | 0; - var $0 = 0, $1 = 0, $6 = 0, $9 = 0; - $0 = $info + 16 | 0; - $1 = HEAP32[$0 >> 2] | 0; - do if (!$1) { - HEAP32[$0 >> 2] = $adjustedPtr; - HEAP32[$info + 24 >> 2] = $path_below; - HEAP32[$info + 36 >> 2] = 1; - } else { - if (($1 | 0) != ($adjustedPtr | 0)) { - $9 = $info + 36 | 0; - HEAP32[$9 >> 2] = (HEAP32[$9 >> 2] | 0) + 1; - HEAP32[$info + 24 >> 2] = 2; - HEAP8[$info + 54 >> 0] = 1; - break; - } - $6 = $info + 24 | 0; - if ((HEAP32[$6 >> 2] | 0) == 2) HEAP32[$6 >> 2] = $path_below; - } while (0); - return; -} - -function _setProjectionFarPlane($id, $projectionFarPlane) { - $id = $id | 0; - $projectionFarPlane = +$projectionFarPlane; - var $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 240 | 0; - HEAPF64[$4 >> 3] = $projectionFarPlane; - } - STACKTOP = sp; - return; -} - -function _arParamObserv2IdealLTf($paramLTf, $ox, $oy, $ix, $iy) { - $paramLTf = $paramLTf | 0; - $ox = +$ox; - $oy = +$oy; - $ix = $ix | 0; - $iy = $iy | 0; - var $$0 = 0, $12 = 0, $19 = 0, $22 = 0, $4 = 0, $9 = 0; - $4 = (HEAP32[$paramLTf + 16 >> 2] | 0) + ~~($ox + .5) | 0; - $9 = (HEAP32[$paramLTf + 20 >> 2] | 0) + ~~($oy + .5) | 0; - if (($4 | 0) < 0) $$0 = -1; else { - $12 = HEAP32[$paramLTf + 8 >> 2] | 0; - if (($9 | 0) < 0 | ($4 | 0) >= ($12 | 0)) $$0 = -1; else if (($9 | 0) < (HEAP32[$paramLTf + 12 >> 2] | 0)) { - $19 = HEAP32[$paramLTf + 4 >> 2] | 0; - $22 = (Math_imul($12, $9) | 0) + $4 << 1; - HEAP32[$ix >> 2] = HEAP32[$19 + ($22 << 2) >> 2]; - HEAP32[$iy >> 2] = HEAP32[$19 + (($22 | 1) << 2) >> 2]; - $$0 = 0; - } else $$0 = -1; - } - return $$0 | 0; -} - -function _arParamIdeal2ObservLTf($paramLTf, $ix, $iy, $ox, $oy) { - $paramLTf = $paramLTf | 0; - $ix = +$ix; - $iy = +$iy; - $ox = $ox | 0; - $oy = $oy | 0; - var $$0 = 0, $12 = 0, $18 = 0, $21 = 0, $4 = 0, $9 = 0; - $4 = (HEAP32[$paramLTf + 16 >> 2] | 0) + ~~($ix + .5) | 0; - $9 = (HEAP32[$paramLTf + 20 >> 2] | 0) + ~~($iy + .5) | 0; - if (($4 | 0) < 0) $$0 = -1; else { - $12 = HEAP32[$paramLTf + 8 >> 2] | 0; - if (($9 | 0) < 0 | ($4 | 0) >= ($12 | 0)) $$0 = -1; else if (($9 | 0) < (HEAP32[$paramLTf + 12 >> 2] | 0)) { - $18 = HEAP32[$paramLTf >> 2] | 0; - $21 = (Math_imul($12, $9) | 0) + $4 << 1; - HEAP32[$ox >> 2] = HEAP32[$18 + ($21 << 2) >> 2]; - HEAP32[$oy >> 2] = HEAP32[$18 + (($21 | 1) << 2) >> 2]; - $$0 = 0; - } else $$0 = -1; - } - return $$0 | 0; -} - -function _arUtilMatMul($s1, $s2, $d) { - $s1 = $s1 | 0; - $s2 = $s2 | 0; - $d = $d | 0; - var $0 = 0, $1 = 0, $2 = 0, $21 = 0, $i$02 = 0, $j$03 = 0; - $j$03 = 0; - do { - $0 = $s1 + ($j$03 << 5) | 0; - $1 = $s1 + ($j$03 << 5) + 8 | 0; - $2 = $s1 + ($j$03 << 5) + 16 | 0; - $i$02 = 0; - do { - HEAPF64[$d + ($j$03 << 5) + ($i$02 << 3) >> 3] = +HEAPF64[$0 >> 3] * +HEAPF64[$s2 + ($i$02 << 3) >> 3] + +HEAPF64[$1 >> 3] * +HEAPF64[$s2 + 32 + ($i$02 << 3) >> 3] + +HEAPF64[$2 >> 3] * +HEAPF64[$s2 + 64 + ($i$02 << 3) >> 3]; - $i$02 = $i$02 + 1 | 0; - } while (($i$02 | 0) != 4); - $21 = $d + ($j$03 << 5) + 24 | 0; - HEAPF64[$21 >> 3] = +HEAPF64[$s1 + ($j$03 << 5) + 24 >> 3] + +HEAPF64[$21 >> 3]; - $j$03 = $j$03 + 1 | 0; - } while (($j$03 | 0) != 3); - return 0; -} - -function _getMultiMarkerCount($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $3 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1; else { - $3 = __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0; - $$0 = (HEAP32[$3 + 252 >> 2] | 0) - (HEAP32[$3 + 248 >> 2] | 0) >> 3; - } - STACKTOP = sp; - return $$0 | 0; -} - -function _getMarkerNum($id) { - $id = $id | 0; - var $$0$in = 0, $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0$in = 2088; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $$0$in = (HEAP32[$4 >> 2] | 0) + 44 | 0; - } - STACKTOP = sp; - return HEAP32[$$0$in >> 2] | 0; -} - -function _getProcessingImage($id) { - $id = $id | 0; - var $$0 = 0, $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = 0; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - $$0 = HEAP32[(HEAP32[$4 >> 2] | 0) + 4834148 >> 2] | 0; - } - STACKTOP = sp; - return $$0 | 0; -} - -function ___fflush_unlocked($f) { - $f = $f | 0; - var $$0 = 0, $0 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $9 = 0, label = 0; - $0 = $f + 20 | 0; - $2 = $f + 28 | 0; - if ((HEAP32[$0 >> 2] | 0) >>> 0 > (HEAP32[$2 >> 2] | 0) >>> 0) { - FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, 0, 0) | 0; - if (!(HEAP32[$0 >> 2] | 0)) $$0 = -1; else label = 3; - } else label = 3; - if ((label | 0) == 3) { - $9 = $f + 4 | 0; - $10 = HEAP32[$9 >> 2] | 0; - $11 = $f + 8 | 0; - $12 = HEAP32[$11 >> 2] | 0; - if ($10 >>> 0 < $12 >>> 0) FUNCTION_TABLE_iiii[HEAP32[$f + 40 >> 2] & 15]($f, $10 - $12 | 0, 1) | 0; - HEAP32[$f + 16 >> 2] = 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$11 >> 2] = 0; - HEAP32[$9 >> 2] = 0; - $$0 = 0; - } - return $$0 | 0; -} - -function ___divdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $7$0 = 0, $7$1 = 0; - $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1; - $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1; - $4$0 = _i64Subtract($1$0 ^ $a$0, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $7$0 = $2$0 ^ $1$0; - $7$1 = $2$1 ^ $1$1; - return _i64Subtract((___udivmoddi4($4$0, $4$1, _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0, tempRet0, 0) | 0) ^ $7$0, tempRet0 ^ $7$1, $7$0, $7$1) | 0; -} - -function _setMatrixCodeType($id, $type) { - $id = $id | 0; - $type = $type | 0; - var $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0) { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 212 | 0; - _arSetMatrixCodeType(HEAP32[$4 >> 2] | 0, $type) | 0; - } - STACKTOP = sp; - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcjj($this, $__s, $__sz, $__reserve) { - $this = $this | 0; - $__s = $__s | 0; - $__sz = $__sz | 0; - $__reserve = $__reserve | 0; - var $6 = 0, $7 = 0, $__p$0 = 0; - if ($__reserve >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this); - if ($__reserve >>> 0 < 11) { - HEAP8[$this >> 0] = $__sz << 1; - $__p$0 = $this + 1 | 0; - } else { - $6 = $__reserve + 16 & -16; - $7 = _malloc($6) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this >> 2] = $6 | 1; - HEAP32[$this + 4 >> 2] = $__sz; - $__p$0 = $7; - } - _memcpy($__p$0 | 0, $__s | 0, $__sz | 0) | 0; - HEAP8[$__p$0 + $__sz >> 0] = 0; - return; -} - -function __ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($this, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $dst_ptr = $dst_ptr | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $4 = 0; - if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $info, $dst_ptr, $current_ptr, $path_below); else { - $4 = HEAP32[$this + 8 >> 2] | 0; - FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 20 >> 2] & 3]($4, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp); - } - return; -} - -function _strtok($s, $sep) { - $s = $s | 0; - $sep = $sep | 0; - var $$0 = 0, $$01 = 0, $$sum = 0, $1 = 0, $3 = 0, $4 = 0, $8 = 0, label = 0; - if (!$s) { - $1 = HEAP32[699] | 0; - if (!$1) $$0 = 0; else { - $$01 = $1; - label = 3; - } - } else { - $$01 = $s; - label = 3; - } - do if ((label | 0) == 3) { - $3 = _strspn($$01, $sep) | 0; - $4 = $$01 + $3 | 0; - if (!(HEAP8[$4 >> 0] | 0)) { - HEAP32[699] = 0; - $$0 = 0; - break; - } - $$sum = (_strcspn($4, $sep) | 0) + $3 | 0; - $8 = $$01 + $$sum | 0; - HEAP32[699] = $8; - if (!(HEAP8[$8 >> 0] | 0)) { - HEAP32[699] = 0; - $$0 = $4; - break; - } else { - HEAP32[699] = $$01 + ($$sum + 1); - HEAP8[$8 >> 0] = 0; - $$0 = $4; - break; - } - } while (0); - return $$0 | 0; -} - -function __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($this, $info, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - var $1 = 0, $2 = 0, $8 = 0, $offset_to_base$0 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $1 >> 8; - if (!($1 & 1)) $offset_to_base$0 = $2; else $offset_to_base$0 = HEAP32[(HEAP32[$current_ptr >> 2] | 0) + $2 >> 2] | 0; - $8 = HEAP32[$this >> 2] | 0; - FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 24 >> 2] & 3]($8, $info, $current_ptr + $offset_to_base$0 | 0, ($1 & 2 | 0) != 0 ? $path_below : 2, $use_strcmp); - return; -} - -function _getProjectionNearPlane($id) { - $id = $id | 0; - var $$0 = 0.0, $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1.0; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 232 | 0; - $$0 = +HEAPF64[$4 >> 3]; - } - STACKTOP = sp; - return +$$0; -} - -function _getProjectionFarPlane($id) { - $id = $id | 0; - var $$0 = 0.0, $0 = 0, $4 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - HEAP32[$0 >> 2] = $id; - if (!(__ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(2044, $0) | 0)) $$0 = -1.0; else { - $4 = (__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(2044, $0) | 0) + 240 | 0; - $$0 = +HEAPF64[$4 >> 3]; - } - STACKTOP = sp; - return +$$0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pair9move_fullEv($agg$result, $this) { - $agg$result = $agg$result | 0; - $this = $this | 0; - var $0 = 0, $1 = 0, $13 = 0, $3 = 0; - $0 = $this + 12 | 0; - $1 = HEAP8[$0 >> 0] | 0; - $3 = ($1 & 1) == 0; - $13 = __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($this, $3 ? $0 + 1 | 0 : HEAP32[$this + 20 >> 2] | 0, $3 ? ($1 & 255) >>> 1 : HEAP32[$this + 16 >> 2] | 0) | 0; - HEAP32[$agg$result >> 2] = HEAP32[$13 >> 2]; - HEAP32[$agg$result + 4 >> 2] = HEAP32[$13 + 4 >> 2]; - HEAP32[$agg$result + 8 >> 2] = HEAP32[$13 + 8 >> 2]; - HEAP32[$13 >> 2] = 0; - HEAP32[$13 + 4 >> 2] = 0; - HEAP32[$13 + 8 >> 2] = 0; - return; -} - -function _arImageProcLumaHist($ipi, $dataPtr) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - var $$0 = 0, $13 = 0, $5 = 0, $8 = 0, $9 = 0, $p$03 = 0; - if (($ipi | 0) != 0 & ($dataPtr | 0) != 0) if ((_arImageProcLuma($ipi, $dataPtr) | 0) < 0) $$0 = -1; else { - _memset($ipi + 16 | 0, 0, 1024) | 0; - $5 = HEAP32[$ipi >> 2] | 0; - $8 = Math_imul(HEAP32[$ipi + 12 >> 2] | 0, HEAP32[$ipi + 8 >> 2] | 0) | 0; - $9 = $5 + $8 | 0; - if (($8 | 0) > 0) { - $p$03 = $5; - do { - $13 = $ipi + 16 + ((HEAPU8[$p$03 >> 0] | 0) << 2) | 0; - HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 1; - $p$03 = $p$03 + 1 | 0; - } while ($p$03 >>> 0 < $9 >>> 0); - $$0 = 0; - } else $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _memcpy(dest, src, num) { - dest = dest | 0; - src = src | 0; - num = num | 0; - var ret = 0; - if ((num | 0) >= 4096) return _emscripten_memcpy_big(dest | 0, src | 0, num | 0) | 0; - ret = dest | 0; - if ((dest & 3) == (src & 3)) { - while (dest & 3) { - if (!num) return ret | 0; - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - num = num - 1 | 0; - } - while ((num | 0) >= 4) { - HEAP32[dest >> 2] = HEAP32[src >> 2]; - dest = dest + 4 | 0; - src = src + 4 | 0; - num = num - 4 | 0; - } - } - while ((num | 0) > 0) { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - num = num - 1 | 0; - } - return ret | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE5eraseEjj($this) { - $this = $this | 0; - var $$pre1 = 0, $0 = 0, $10 = 0, $11 = 0, $14 = 0, $16 = 0; - $0 = HEAP8[$this >> 0] | 0; - if (!($0 & 1)) { - $10 = ($0 & 255) >>> 1; - $14 = $this + 1 | 0; - } else { - $10 = HEAP32[$this + 4 >> 2] | 0; - $14 = HEAP32[$this + 8 >> 2] | 0; - } - $11 = ($10 | 0) != 0 & 1; - $$pre1 = $10 - $11 | 0; - if (($10 | 0) == ($11 | 0)) $16 = $0; else { - _memmove($14 | 0, $14 + $11 | 0, $$pre1 | 0) | 0; - $16 = HEAP8[$this >> 0] | 0; - } - if (!($16 & 1)) HEAP8[$this >> 0] = $$pre1 << 1; else HEAP32[$this + 4 >> 2] = $$pre1; - HEAP8[$14 + $$pre1 >> 0] = 0; - return; -} - -function ___stdio_seek($f, $off, $whence) { - $f = $f | 0; - $off = $off | 0; - $whence = $whence | 0; - var $5 = 0, $ret = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - $ret = sp + 20 | 0; - HEAP32[$vararg_buffer >> 2] = HEAP32[$f + 60 >> 2]; - HEAP32[$vararg_buffer + 4 >> 2] = 0; - HEAP32[$vararg_buffer + 8 >> 2] = $off; - HEAP32[$vararg_buffer + 12 >> 2] = $ret; - HEAP32[$vararg_buffer + 16 >> 2] = $whence; - if ((___syscall_ret(___syscall140(140, $vararg_buffer | 0) | 0) | 0) < 0) { - HEAP32[$ret >> 2] = -1; - $5 = -1; - } else $5 = HEAP32[$ret >> 2] | 0; - STACKTOP = sp; - return $5 | 0; -} - -function __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $1 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $this + 8 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($1 | 0)) { - $6 = $3; - do { - $5 = $6 + -24 | 0; - HEAP32[$2 >> 2] = $5; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($1 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - if ($9) __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[HEAP32[$this + 16 >> 2] >> 2] | 0, $9, (HEAP32[$this + 12 >> 2] | 0) - $9 | 0); - return; -} - -function __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($this) { - $this = $this | 0; - var $0 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0; - $0 = HEAP32[$this >> 2] | 0; - if ($0) { - $2 = $this + 4 | 0; - $3 = HEAP32[$2 >> 2] | 0; - if (($3 | 0) != ($0 | 0)) { - $6 = $3; - do { - $5 = $6 + -24 | 0; - HEAP32[$2 >> 2] = $5; - __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($5); - $6 = HEAP32[$2 >> 2] | 0; - } while (($6 | 0) != ($0 | 0)); - } - $9 = HEAP32[$this >> 2] | 0; - __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj(HEAP32[$this + 12 >> 2] | 0, $9, (HEAP32[$this + 8 >> 2] | 0) - $9 | 0); - } - return; -} - -function __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEE25__construct_node_with_keyERS8_($agg$result, $this, $__k) { - $agg$result = $agg$result | 0; - $this = $this | 0; - $__k = $__k | 0; - var $1 = 0, $11 = 0, $8 = 0; - $1 = __Znwj(408) | 0; - HEAP32[$1 + 8 >> 2] = HEAP32[$__k >> 2]; - _memset($1 + 16 | 0, 0, 392) | 0; - HEAPF64[$1 + 248 >> 3] = .0001; - HEAPF64[$1 + 256 >> 3] = 1.0e3; - $8 = $1 + 264 | 0; - HEAP32[$8 >> 2] = 0; - HEAP32[$8 + 4 >> 2] = 0; - HEAP32[$8 + 8 >> 2] = 0; - HEAP32[$8 + 12 >> 2] = 0; - HEAP32[$agg$result >> 2] = $1; - $11 = $agg$result + 4 | 0; - HEAP32[$11 >> 2] = $this + 8; - HEAP32[$11 + 4 >> 2] = 257; - return; -} - -function _arVecHousehold($x) { - $x = $x | 0; - var $1 = 0.0, $10 = 0.0, $12 = 0, $14 = 0, $3 = 0, $4 = 0.0, $7 = 0.0, $i$01 = 0, $s$0 = 0.0, $s$1 = 0.0; - $1 = +Math_sqrt(+(+_arVecInnerproduct($x, $x))); - if ($1 != 0.0) { - $3 = HEAP32[$x >> 2] | 0; - $4 = +HEAPF64[$3 >> 3]; - $s$0 = $4 < 0.0 ? -$1 : $1; - $7 = $4 + $s$0; - HEAPF64[$3 >> 3] = $7; - $10 = 1.0 / +Math_sqrt(+($7 * $s$0)); - $12 = HEAP32[$x + 4 >> 2] | 0; - if (($12 | 0) > 0) { - $i$01 = 0; - do { - $14 = $3 + ($i$01 << 3) | 0; - HEAPF64[$14 >> 3] = $10 * +HEAPF64[$14 >> 3]; - $i$01 = $i$01 + 1 | 0; - } while (($i$01 | 0) < ($12 | 0)); - $s$1 = $s$0; - } else $s$1 = $s$0; - } else $s$1 = $1; - return +-$s$1; -} - -function __ZNSt3__114__split_bufferINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEERNS5_IS9_Lj4096EEEEC2EjjSB_($this, $__cap, $__start, $__a) { - $this = $this | 0; - $__cap = $__cap | 0; - $__start = $__start | 0; - $__a = $__a | 0; - var $6 = 0, $7 = 0; - HEAP32[$this + 12 >> 2] = 0; - HEAP32[$this + 16 >> 2] = $__a; - if (!$__cap) $6 = 0; else $6 = __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE8allocateEj(HEAP32[$__a >> 2] | 0, $__cap << 4) | 0; - HEAP32[$this >> 2] = $6; - $7 = $6 + ($__start << 4) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this + 4 >> 2] = $7; - HEAP32[$this + 12 >> 2] = $6 + ($__cap << 4); - return; -} - -function _memset(ptr, value, num) { - ptr = ptr | 0; - value = value | 0; - num = num | 0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = ptr + num | 0; - if ((num | 0) >= 20) { - value = value & 255; - unaligned = ptr & 3; - value4 = value | value << 8 | value << 16 | value << 24; - stop4 = stop & ~3; - if (unaligned) { - unaligned = ptr + 4 - unaligned | 0; - while ((ptr | 0) < (unaligned | 0)) { - HEAP8[ptr >> 0] = value; - ptr = ptr + 1 | 0; - } - } - while ((ptr | 0) < (stop4 | 0)) { - HEAP32[ptr >> 2] = value4; - ptr = ptr + 4 | 0; - } - } - while ((ptr | 0) < (stop | 0)) { - HEAP8[ptr >> 0] = value; - ptr = ptr + 1 | 0; - } - return ptr - num | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $__s, $__sz) { - $this = $this | 0; - $__s = $__s | 0; - $__sz = $__sz | 0; - var $6 = 0, $7 = 0, $__p$0 = 0; - if ($__sz >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this); - if ($__sz >>> 0 < 11) { - HEAP8[$this >> 0] = $__sz << 1; - $__p$0 = $this + 1 | 0; - } else { - $6 = $__sz + 16 & -16; - $7 = _malloc($6) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this >> 2] = $6 | 1; - HEAP32[$this + 4 >> 2] = $__sz; - $__p$0 = $7; - } - _memcpy($__p$0 | 0, $__s | 0, $__sz | 0) | 0; - HEAP8[$__p$0 + $__sz >> 0] = 0; - return; -} - -function __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $adjustedPtr = $adjustedPtr | 0; - $path_below = $path_below | 0; - var $1 = 0, $2 = 0, $8 = 0, $offset_to_base$0 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $1 >> 8; - if (!($1 & 1)) $offset_to_base$0 = $2; else $offset_to_base$0 = HEAP32[(HEAP32[$adjustedPtr >> 2] | 0) + $2 >> 2] | 0; - $8 = HEAP32[$this >> 2] | 0; - FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 3]($8, $info, $adjustedPtr + $offset_to_base$0 | 0, ($1 & 2 | 0) != 0 ? $path_below : 2); - return; -} - -function __ZN10emscripten8internal7InvokerIiJiNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiiS8_EiPNS0_11BindingTypeIS8_EUt_E($fn, $args, $args1) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = $args1 | 0; - var $0 = 0, $1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - __ZN10emscripten8internal11BindingTypeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE12fromWireTypeEPNS9_Ut_E($0, $args1); - $1 = FUNCTION_TABLE_iii[$fn & 15]($args, $0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0); - STACKTOP = sp; - return $1 | 0; -} - -function ___toread($f) { - $f = $f | 0; - var $$0 = 0, $0 = 0, $15 = 0, $2 = 0, $21 = 0, $6 = 0, $8 = 0; - $0 = $f + 74 | 0; - $2 = HEAP8[$0 >> 0] | 0; - HEAP8[$0 >> 0] = $2 + 255 | $2; - $6 = $f + 20 | 0; - $8 = $f + 44 | 0; - if ((HEAP32[$6 >> 2] | 0) >>> 0 > (HEAP32[$8 >> 2] | 0) >>> 0) FUNCTION_TABLE_iiii[HEAP32[$f + 36 >> 2] & 15]($f, 0, 0) | 0; - HEAP32[$f + 16 >> 2] = 0; - HEAP32[$f + 28 >> 2] = 0; - HEAP32[$6 >> 2] = 0; - $15 = HEAP32[$f >> 2] | 0; - if (!($15 & 20)) { - $21 = HEAP32[$8 >> 2] | 0; - HEAP32[$f + 8 >> 2] = $21; - HEAP32[$f + 4 >> 2] = $21; - $$0 = 0; - } else if (!($15 & 4)) $$0 = -1; else { - HEAP32[$f >> 2] = $15 | 32; - $$0 = -1; - } - return $$0 | 0; -} - -function _fclose($f) { - $f = $f | 0; - var $$pre = 0, $12 = 0, $18 = 0, $22 = 0, $24 = 0, $5 = 0, $7 = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) {} - $5 = (HEAP32[$f >> 2] & 1 | 0) != 0; - if (!$5) { - ___lock(2416); - $7 = HEAP32[$f + 52 >> 2] | 0; - $$pre = $f + 56 | 0; - if ($7) HEAP32[$7 + 56 >> 2] = HEAP32[$$pre >> 2]; - $12 = HEAP32[$$pre >> 2] | 0; - if ($12) HEAP32[$12 + 52 >> 2] = $7; - if ((HEAP32[603] | 0) == ($f | 0)) HEAP32[603] = $12; - ___unlock(2416); - } - $18 = _fflush($f) | 0; - $22 = FUNCTION_TABLE_ii[HEAP32[$f + 12 >> 2] & 31]($f) | 0 | $18; - $24 = HEAP32[$f + 92 >> 2] | 0; - if ($24) _free($24); - if (!$5) _free($f); - return $22 | 0; -} - -function __ZNSt3__114__split_bufferINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEERNS5_IS7_Lj4096EEEEC2EjjS9_($this, $__cap, $__start, $__a) { - $this = $this | 0; - $__cap = $__cap | 0; - $__start = $__start | 0; - $__a = $__a | 0; - var $6 = 0, $7 = 0; - HEAP32[$this + 12 >> 2] = 0; - HEAP32[$this + 16 >> 2] = $__a; - if (!$__cap) $6 = 0; else $6 = __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE8allocateEj(HEAP32[$__a >> 2] | 0, $__cap << 4) | 0; - HEAP32[$this >> 2] = $6; - $7 = $6 + ($__start << 4) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this + 4 >> 2] = $7; - HEAP32[$this + 12 >> 2] = $6 + ($__cap << 4); - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($this, $__s, $__sz) { - $this = $this | 0; - $__s = $__s | 0; - $__sz = $__sz | 0; - var $6 = 0, $7 = 0, $__p$0 = 0; - if ($__sz >>> 0 > 4294967279) __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this); - if ($__sz >>> 0 < 11) { - HEAP8[$this >> 0] = $__sz << 1; - $__p$0 = $this + 1 | 0; - } else { - $6 = $__sz + 16 & -16; - $7 = __Znwj($6) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this >> 2] = $6 | 1; - HEAP32[$this + 4 >> 2] = $__sz; - $__p$0 = $7; - } - _memcpy($__p$0 | 0, $__s | 0, $__sz | 0) | 0; - HEAP8[$__p$0 + $__sz >> 0] = 0; - return; -} - -function _arVecInnerproduct($x, $y) { - $x = $x | 0; - $y = $y | 0; - var $1 = 0, $13 = 0.0, $6 = 0, $7 = 0, $i$02 = 0, $result$0$lcssa = 0.0, $result$01 = 0.0; - $1 = HEAP32[$x + 4 >> 2] | 0; - if (($1 | 0) != (HEAP32[$y + 4 >> 2] | 0)) _exit(0); - if (($1 | 0) > 0) { - $6 = HEAP32[$x >> 2] | 0; - $7 = HEAP32[$y >> 2] | 0; - $i$02 = 0; - $result$01 = 0.0; - while (1) { - $13 = $result$01 + +HEAPF64[$6 + ($i$02 << 3) >> 3] * +HEAPF64[$7 + ($i$02 << 3) >> 3]; - $i$02 = $i$02 + 1 | 0; - if (($i$02 | 0) >= ($1 | 0)) { - $result$0$lcssa = $13; - break; - } else $result$01 = $13; - } - } else $result$0$lcssa = 0.0; - return +$result$0$lcssa; -} - -function _memcmp($vl, $vr, $n) { - $vl = $vl | 0; - $vr = $vr | 0; - $n = $n | 0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $1 = 0, $11 = 0, $2 = 0, $l$04 = 0, $r$05 = 0; - L1 : do if (!$n) $11 = 0; else { - $$03 = $n; - $l$04 = $vl; - $r$05 = $vr; - while (1) { - $1 = HEAP8[$l$04 >> 0] | 0; - $2 = HEAP8[$r$05 >> 0] | 0; - if ($1 << 24 >> 24 != $2 << 24 >> 24) { - $$lcssa = $1; - $$lcssa19 = $2; - break; - } - $$03 = $$03 + -1 | 0; - if (!$$03) { - $11 = 0; - break L1; - } else { - $l$04 = $l$04 + 1 | 0; - $r$05 = $r$05 + 1 | 0; - } - } - $11 = ($$lcssa & 255) - ($$lcssa19 & 255) | 0; - } while (0); - return $11 | 0; -} - -function ___fmodeflags($mode) { - $mode = $mode | 0; - var $1 = 0, $2 = 0, $4 = 0, $7 = 0, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0, $flags$2$ = 0, $flags$4 = 0; - $1 = (_strchr($mode, 43) | 0) == 0; - $2 = HEAP8[$mode >> 0] | 0; - $flags$0 = $1 ? $2 << 24 >> 24 != 114 & 1 : 2; - $4 = (_strchr($mode, 120) | 0) == 0; - $flags$0$ = $4 ? $flags$0 : $flags$0 | 128; - $7 = (_strchr($mode, 101) | 0) == 0; - $flags$2 = $7 ? $flags$0$ : $flags$0$ | 524288; - $flags$2$ = $2 << 24 >> 24 == 114 ? $flags$2 : $flags$2 | 64; - $flags$4 = $2 << 24 >> 24 == 119 ? $flags$2$ | 512 : $flags$2$; - return ($2 << 24 >> 24 == 97 ? $flags$4 | 1024 : $flags$4) | 0; -} - -function __ZNSt3__114__split_bufferIN10__cxxabiv112_GLOBAL__N_111string_pairERNS2_11short_allocIS3_Lj4096EEEEC2EjjS6_($this, $__cap, $__start, $__a) { - $this = $this | 0; - $__cap = $__cap | 0; - $__start = $__start | 0; - $__a = $__a | 0; - var $6 = 0, $7 = 0; - HEAP32[$this + 12 >> 2] = 0; - HEAP32[$this + 16 >> 2] = $__a; - if (!$__cap) $6 = 0; else $6 = __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE8allocateEj(HEAP32[$__a >> 2] | 0, $__cap * 24 | 0) | 0; - HEAP32[$this >> 2] = $6; - $7 = $6 + ($__start * 24 | 0) | 0; - HEAP32[$this + 8 >> 2] = $7; - HEAP32[$this + 4 >> 2] = $7; - HEAP32[$this + 12 >> 2] = $6 + ($__cap * 24 | 0); - return; -} - -function __ZN10emscripten8internal7InvokerIiJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_EUt_E($fn, $args) { - $fn = $fn | 0; - $args = $args | 0; - var $0 = 0, $1 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = sp; - __ZN10emscripten8internal11BindingTypeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE12fromWireTypeEPNS9_Ut_E($0, $args); - $1 = FUNCTION_TABLE_ii[$fn & 31]($0) | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0); - STACKTOP = sp; - return $1 | 0; -} - -function _strncat($d, $s, $n) { - $d = $d | 0; - $s = $s | 0; - $n = $n | 0; - var $$0$lcssa = 0, $$014 = 0, $$023 = 0, $$05 = 0, $1 = 0, $3 = 0, $7 = 0; - $1 = $d + (_strlen($d) | 0) | 0; - L1 : do if (!$n) $$0$lcssa = $1; else { - $$014 = $n; - $$023 = $s; - $$05 = $1; - while (1) { - $3 = HEAP8[$$023 >> 0] | 0; - if (!($3 << 24 >> 24)) { - $$0$lcssa = $$05; - break L1; - } - $$014 = $$014 + -1 | 0; - $7 = $$05 + 1 | 0; - HEAP8[$$05 >> 0] = $3; - if (!$$014) { - $$0$lcssa = $7; - break; - } else { - $$023 = $$023 + 1 | 0; - $$05 = $7; - } - } - } while (0); - HEAP8[$$0$lcssa >> 0] = 0; - return $d | 0; -} - -function _get_buff($buf, $fp) { - $buf = $buf | 0; - $fp = $fp | 0; - var $2 = 0, $5 = 0, $l$01 = 0; - L1 : do if (_fgets($buf, 256, $fp) | 0) while (1) { - $2 = _strlen($buf) | 0; - L4 : do if ($2) { - $l$01 = $2; - while (1) { - $l$01 = $l$01 + -1 | 0; - $5 = $buf + $l$01 | 0; - switch (HEAP8[$5 >> 0] | 0) { - case 13: - case 10: - break; - default: - break L4; - } - HEAP8[$5 >> 0] = 0; - if (!$l$01) break L4; - } - } while (0); - switch (HEAP8[$buf >> 0] | 0) { - case 0: - case 35: - break; - default: - break L1; - } - if (!(_fgets($buf, 256, $fp) | 0)) break L1; - } while (0); - return; -} - -function __ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $adjustedPtr = $adjustedPtr | 0; - $path_below = $path_below | 0; - var $4 = 0; - if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $info, $adjustedPtr, $path_below); else { - $4 = HEAP32[$this + 8 >> 2] | 0; - FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 28 >> 2] & 3]($4, $info, $adjustedPtr, $path_below); - } - return; -} - -function ___stdout_write($f, $buf, $len) { - $f = $f | 0; - $buf = $buf | 0; - $len = $len | 0; - var $9 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - HEAP32[$f + 36 >> 2] = 4; - if (!(HEAP32[$f >> 2] & 64)) { - HEAP32[$vararg_buffer >> 2] = HEAP32[$f + 60 >> 2]; - HEAP32[$vararg_buffer + 4 >> 2] = 21505; - HEAP32[$vararg_buffer + 8 >> 2] = sp + 12; - if (___syscall54(54, $vararg_buffer | 0) | 0) HEAP8[$f + 75 >> 0] = -1; - } - $9 = ___stdio_write($f, $buf, $len) | 0; - STACKTOP = sp; - return $9 | 0; -} - -function _arUtilGetDirectoryNameFromPath($dir, $path, $n, $addSeparator) { - $dir = $dir | 0; - $path = $path | 0; - $n = $n | 0; - $addSeparator = $addSeparator | 0; - var $$0 = 0, $10 = 0, $3 = 0; - do if (($dir | 0) != 0 & ($path | 0) != 0 & ($n | 0) != 0) { - $3 = _strrchr($path, 47) | 0; - if (!$3) { - HEAP8[$dir >> 0] = 0; - $$0 = $dir; - break; - } - $10 = $3 + (($addSeparator | 0) != 0 & 1) - $path | 0; - if (($10 + 1 | 0) >>> 0 > $n >>> 0) $$0 = 0; else { - _strncpy($dir, $path, $10) | 0; - HEAP8[$dir + $10 >> 0] = 0; - $$0 = $dir; - } - } else $$0 = 0; while (0); - return $$0 | 0; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEED2Ev($this) { - $this = $this | 0; - var $2 = 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE12__deallocateEPNS_11__hash_nodeIS3_PvEE($this, HEAP32[$this + 8 >> 2] | 0); - $2 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = 0; - if ($2) __ZdlPv($2); - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE12__deallocateEPNS_11__hash_nodeIS3_PvEE($this, $__np) { - $this = $this | 0; - $__np = $__np | 0; - var $$01 = 0, $$01$looptemp = 0; - if ($__np) { - $$01 = $__np; - do { - $$01$looptemp = $$01; - $$01 = HEAP32[$$01 >> 2] | 0; - __ZNSt3__113__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($$01$looptemp + 264 | 0); - __ZdlPv($$01$looptemp); - } while (($$01 | 0) != 0); - } - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEED2Ev($this) { - $this = $this | 0; - var $2 = 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE12__deallocateEPNS_11__hash_nodeIS3_PvEE($this, HEAP32[$this + 8 >> 2] | 0); - $2 = HEAP32[$this >> 2] | 0; - HEAP32[$this >> 2] = 0; - if ($2) __ZdlPv($2); - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2EOS1_($this, $0) { - $this = $this | 0; - $0 = $0 | 0; - var $3 = 0, $4 = 0; - HEAP32[$this >> 2] = HEAP32[$0 >> 2]; - HEAP32[$this + 4 >> 2] = HEAP32[$0 + 4 >> 2]; - HEAP32[$this + 8 >> 2] = HEAP32[$0 + 8 >> 2]; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - $3 = $this + 12 | 0; - $4 = $0 + 12 | 0; - HEAP32[$3 >> 2] = HEAP32[$4 >> 2]; - HEAP32[$3 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; - HEAP32[$3 + 8 >> 2] = HEAP32[$4 + 8 >> 2]; - HEAP32[$4 >> 2] = 0; - HEAP32[$4 + 4 >> 2] = 0; - HEAP32[$4 + 8 >> 2] = 0; - return; -} - -function _arImageProcLumaHistAndCDF($ipi, $dataPtr) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - var $$0 = 0, $0 = 0, $cdfCurrent$0 = 0, $indvars$iv = 0; - $0 = _arImageProcLumaHist($ipi, $dataPtr) | 0; - if (($0 | 0) < 0) $$0 = $0; else { - $cdfCurrent$0 = 0; - $indvars$iv = 0; - do { - $cdfCurrent$0 = (HEAP32[$ipi + 16 + ($indvars$iv << 2) >> 2] | 0) + $cdfCurrent$0 | 0; - HEAP32[$ipi + 1040 + ($indvars$iv << 2) >> 2] = $cdfCurrent$0; - $indvars$iv = $indvars$iv + 1 | 0; - } while (($indvars$iv | 0) != 256); - $$0 = 0; - } - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj5EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0, $1 = 0, $3 = 0; - HEAP8[$this >> 0] = 8; - $0 = $this + 1 | 0; - $1 = HEAPU8[$s >> 0] | HEAPU8[$s + 1 >> 0] << 8 | HEAPU8[$s + 2 >> 0] << 16 | HEAPU8[$s + 3 >> 0] << 24; - HEAP8[$0 >> 0] = $1; - HEAP8[$0 + 1 >> 0] = $1 >> 8; - HEAP8[$0 + 2 >> 0] = $1 >> 16; - HEAP8[$0 + 3 >> 0] = $1 >> 24; - HEAP8[$this + 5 >> 0] = 0; - $3 = $this + 12 | 0; - HEAP32[$3 >> 2] = 0; - HEAP32[$3 + 4 >> 2] = 0; - HEAP32[$3 + 8 >> 2] = 0; - return; -} - -function _vsscanf($s, $fmt, $ap) { - $s = $s | 0; - $fmt = $fmt | 0; - $ap = $ap | 0; - var $4 = 0, $f = 0, dest = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $f = sp; - dest = $f; - stop = dest + 112 | 0; - do { - HEAP32[dest >> 2] = 0; - dest = dest + 4 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP32[$f + 32 >> 2] = 15; - HEAP32[$f + 44 >> 2] = $s; - HEAP32[$f + 76 >> 2] = -1; - HEAP32[$f + 84 >> 2] = $s; - $4 = _vfscanf($f, $fmt, $ap) | 0; - STACKTOP = sp; - return $4 | 0; -} - -function __ZNSt3__114__split_bufferI12multi_markerRNS_9allocatorIS1_EEED2Ev($this) { - $this = $this | 0; - var $$lcssa = 0, $$pre$i$i$i = 0, $1 = 0, $2 = 0, $4 = 0, $5 = 0, $7 = 0; - $1 = HEAP32[$this + 4 >> 2] | 0; - $2 = $this + 8 | 0; - $$pre$i$i$i = HEAP32[$2 >> 2] | 0; - if (($$pre$i$i$i | 0) != ($1 | 0)) { - $5 = $$pre$i$i$i; - while (1) { - $4 = $5 + -8 | 0; - if (($4 | 0) == ($1 | 0)) { - $$lcssa = $4; - break; - } else $5 = $4; - } - HEAP32[$2 >> 2] = $$lcssa; - } - $7 = HEAP32[$this >> 2] | 0; - if ($7) __ZdlPv($7); - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEC2ERKS7_($this, $__str) { - $this = $this | 0; - $__str = $__str | 0; - if (!(HEAP8[$__str >> 0] & 1)) { - HEAP32[$this >> 2] = HEAP32[$__str >> 2]; - HEAP32[$this + 4 >> 2] = HEAP32[$__str + 4 >> 2]; - HEAP32[$this + 8 >> 2] = HEAP32[$__str + 8 >> 2]; - } else __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, HEAP32[$__str + 8 >> 2] | 0, HEAP32[$__str + 4 >> 2] | 0); - return; -} - -function __ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($this, $info, $dst_ptr, $current_ptr, $path_below, $use_strcmp) { - $this = $this | 0; - $info = $info | 0; - $dst_ptr = $dst_ptr | 0; - $current_ptr = $current_ptr | 0; - $path_below = $path_below | 0; - $use_strcmp = $use_strcmp | 0; - if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $info, $dst_ptr, $current_ptr, $path_below); - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj6EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0, $2 = 0; - HEAP8[$this >> 0] = 10; - $0 = $this + 1 | 0; - HEAP8[$0 >> 0] = HEAP8[$s >> 0] | 0; - HEAP8[$0 + 1 >> 0] = HEAP8[$s + 1 >> 0] | 0; - HEAP8[$0 + 2 >> 0] = HEAP8[$s + 2 >> 0] | 0; - HEAP8[$0 + 3 >> 0] = HEAP8[$s + 3 >> 0] | 0; - HEAP8[$0 + 4 >> 0] = HEAP8[$s + 4 >> 0] | 0; - HEAP8[$this + 6 >> 0] = 0; - $2 = $this + 12 | 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - return; -} - -function _fwrite($src, $size, $nmemb, $f) { - $src = $src | 0; - $size = $size | 0; - $nmemb = $nmemb | 0; - $f = $f | 0; - var $0 = 0, $10 = 0, $6 = 0, $8 = 0, $phitmp = 0; - $0 = Math_imul($nmemb, $size) | 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) { - $phitmp = (___lockfile($f) | 0) == 0; - $6 = ___fwritex($src, $0, $f) | 0; - if ($phitmp) $8 = $6; else { - ___unlockfile($f); - $8 = $6; - } - } else $8 = ___fwritex($src, $0, $f) | 0; - if (($8 | 0) == ($0 | 0)) $10 = $nmemb; else $10 = ($8 >>> 0) / ($size >>> 0) | 0; - return $10 | 0; -} - -function ___string_read($f, $buf, $len) { - $f = $f | 0; - $buf = $buf | 0; - $len = $len | 0; - var $0 = 0, $1 = 0, $11 = 0, $2 = 0, $3 = 0, $k$0 = 0, $k$0$len = 0; - $0 = $f + 84 | 0; - $1 = HEAP32[$0 >> 2] | 0; - $2 = $len + 256 | 0; - $3 = _memchr($1, 0, $2) | 0; - $k$0 = ($3 | 0) == 0 ? $2 : $3 - $1 | 0; - $k$0$len = $k$0 >>> 0 < $len >>> 0 ? $k$0 : $len; - _memcpy($buf | 0, $1 | 0, $k$0$len | 0) | 0; - HEAP32[$f + 4 >> 2] = $1 + $k$0$len; - $11 = $1 + $k$0 | 0; - HEAP32[$f + 8 >> 2] = $11; - HEAP32[$0 >> 2] = $11; - return $k$0$len | 0; -} - -function __Znwj($size) { - $size = $size | 0; - var $$lcssa = 0, $$size = 0, $1 = 0, $3 = 0, $5 = 0, $7 = 0; - $$size = ($size | 0) == 0 ? 1 : $size; - $1 = _malloc($$size) | 0; - L1 : do if (!$1) { - while (1) { - $3 = __ZSt15get_new_handlerv() | 0; - if (!$3) break; - FUNCTION_TABLE_v[$3 & 0](); - $5 = _malloc($$size) | 0; - if ($5) { - $$lcssa = $5; - break L1; - } - } - $7 = ___cxa_allocate_exception(4) | 0; - HEAP32[$7 >> 2] = 2224; - ___cxa_throw($7 | 0, 544, 1); - } else $$lcssa = $1; while (0); - return $$lcssa | 0; -} - -function _calloc($n_elements, $elem_size) { - $n_elements = $n_elements | 0; - $elem_size = $elem_size | 0; - var $1 = 0, $6 = 0, $req$0 = 0; - if (!$n_elements) $req$0 = 0; else { - $1 = Math_imul($elem_size, $n_elements) | 0; - if (($elem_size | $n_elements) >>> 0 > 65535) $req$0 = (($1 >>> 0) / ($n_elements >>> 0) | 0 | 0) == ($elem_size | 0) ? $1 : -1; else $req$0 = $1; - } - $6 = _malloc($req$0) | 0; - if (!$6) return $6 | 0; - if (!(HEAP32[$6 + -4 >> 2] & 3)) return $6 | 0; - _memset($6 | 0, 0, $req$0 | 0) | 0; - return $6 | 0; -} - -function ___muldi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0; - $x_sroa_0_0_extract_trunc = $a$0; - $y_sroa_0_0_extract_trunc = $b$0; - $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0; - $1$1 = tempRet0; - return (tempRet0 = (Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0) + (Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $1$1 | $1$1 & 0, $1$0 | 0 | 0) | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_12DbD2Ev($this) { - $this = $this | 0; - __ZNSt3__113__vector_baseINS_6vectorINS1_IN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEEENS5_IS9_Lj4096EEEED2Ev($this + 32 | 0); - __ZNSt3__113__vector_baseINS_6vectorIN10__cxxabiv112_GLOBAL__N_111string_pairENS3_11short_allocIS4_Lj4096EEEEENS5_IS7_Lj4096EEEED2Ev($this + 16 | 0); - __ZNSt3__113__vector_baseIN10__cxxabiv112_GLOBAL__N_111string_pairENS2_11short_allocIS3_Lj4096EEEED2Ev($this); - return; -} - -function __ZNSt3__114__split_bufferI12multi_markerRNS_9allocatorIS1_EEEC2EjjS4_($this, $__cap, $__start, $__a) { - $this = $this | 0; - $__cap = $__cap | 0; - $__start = $__start | 0; - $__a = $__a | 0; - var $5 = 0, $6 = 0; - HEAP32[$this + 12 >> 2] = 0; - HEAP32[$this + 16 >> 2] = $__a; - if (!$__cap) $5 = 0; else $5 = __Znwj($__cap << 3) | 0; - HEAP32[$this >> 2] = $5; - $6 = $5 + ($__start << 3) | 0; - HEAP32[$this + 8 >> 2] = $6; - HEAP32[$this + 4 >> 2] = $6; - HEAP32[$this + 12 >> 2] = $5 + ($__cap << 3); - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEEaSERKS7_($this, $__str) { - $this = $this | 0; - $__str = $__str | 0; - var $1 = 0, $3 = 0; - if (($this | 0) != ($__str | 0)) { - $1 = HEAP8[$__str >> 0] | 0; - $3 = ($1 & 1) == 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6assignEPKcj($this, $3 ? $__str + 1 | 0 : HEAP32[$__str + 8 >> 2] | 0, $3 ? ($1 & 255) >>> 1 : HEAP32[$__str + 4 >> 2] | 0); - } - return; -} - -function __ZNSt3__113__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($this) { - $this = $this | 0; - var $$lcssa = 0, $$pre$i$i = 0, $0 = 0, $2 = 0, $4 = 0, $5 = 0; - $0 = HEAP32[$this >> 2] | 0; - if ($0) { - $2 = $this + 4 | 0; - $$pre$i$i = HEAP32[$2 >> 2] | 0; - if (($$pre$i$i | 0) != ($0 | 0)) { - $5 = $$pre$i$i; - while (1) { - $4 = $5 + -8 | 0; - if (($4 | 0) == ($0 | 0)) { - $$lcssa = $4; - break; - } else $5 = $4; - } - HEAP32[$2 >> 2] = $$lcssa; - } - __ZdlPv($0); - } - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj11EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $2 = 0, dest = 0, src = 0, stop = 0; - HEAP8[$this >> 0] = 20; - dest = $this + 1 | 0; - src = $s; - stop = dest + 10 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$this + 11 >> 0] = 0; - $2 = $this + 12 | 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj10EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $2 = 0, dest = 0, src = 0, stop = 0; - HEAP8[$this >> 0] = 18; - dest = $this + 1 | 0; - src = $s; - stop = dest + 9 | 0; - do { - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - dest = dest + 1 | 0; - src = src + 1 | 0; - } while ((dest | 0) < (stop | 0)); - HEAP8[$this + 10 >> 0] = 0; - $2 = $this + 12 | 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - return; -} - -function ___towrite($f) { - $f = $f | 0; - var $$0 = 0, $0 = 0, $13 = 0, $2 = 0, $6 = 0; - $0 = $f + 74 | 0; - $2 = HEAP8[$0 >> 0] | 0; - HEAP8[$0 >> 0] = $2 + 255 | $2; - $6 = HEAP32[$f >> 2] | 0; - if (!($6 & 8)) { - HEAP32[$f + 8 >> 2] = 0; - HEAP32[$f + 4 >> 2] = 0; - $13 = HEAP32[$f + 44 >> 2] | 0; - HEAP32[$f + 28 >> 2] = $13; - HEAP32[$f + 20 >> 2] = $13; - HEAP32[$f + 16 >> 2] = $13 + (HEAP32[$f + 48 >> 2] | 0); - $$0 = 0; - } else { - HEAP32[$f >> 2] = $6 | 32; - $$0 = -1; - } - return $$0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS0_12malloc_allocIcEEEE($this, $f) { - $this = $this | 0; - $f = $f | 0; - var $2 = 0; - HEAP32[$this >> 2] = HEAP32[$f >> 2]; - HEAP32[$this + 4 >> 2] = HEAP32[$f + 4 >> 2]; - HEAP32[$this + 8 >> 2] = HEAP32[$f + 8 >> 2]; - HEAP32[$f >> 2] = 0; - HEAP32[$f + 4 >> 2] = 0; - HEAP32[$f + 8 >> 2] = 0; - $2 = $this + 12 | 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - return; -} - -function _matrixCopy($src, $dst) { - $src = $src | 0; - $dst = $dst | 0; - var $i$03 = 0; - $i$03 = 0; - do { - HEAPF64[$dst + ($i$03 << 5) >> 3] = +HEAPF64[$src + ($i$03 << 5) >> 3]; - HEAPF64[$dst + ($i$03 << 5) + 8 >> 3] = +HEAPF64[$src + ($i$03 << 5) + 8 >> 3]; - HEAPF64[$dst + ($i$03 << 5) + 16 >> 3] = +HEAPF64[$src + ($i$03 << 5) + 16 >> 3]; - HEAPF64[$dst + ($i$03 << 5) + 24 >> 3] = +HEAPF64[$src + ($i$03 << 5) + 24 >> 3]; - $i$03 = $i$03 + 1 | 0; - } while (($i$03 | 0) != 3); - return; -} - -function __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE12__deallocateEPNS_11__hash_nodeIS3_PvEE($this, $__np) { - $this = $this | 0; - $__np = $__np | 0; - var $$01 = 0, $$01$looptemp = 0; - if ($__np) { - $$01 = $__np; - do { - $$01$looptemp = $$01; - $$01 = HEAP32[$$01 >> 2] | 0; - __ZdlPv($$01$looptemp); - } while (($$01 | 0) != 0); - } - return; -} - -function __ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEE25__construct_node_with_keyERS8_($agg$result, $this, $__k) { - $agg$result = $agg$result | 0; - $this = $this | 0; - $__k = $__k | 0; - var $1 = 0, $8 = 0; - $1 = __Znwj(200) | 0; - HEAP32[$1 + 8 >> 2] = HEAP32[$__k >> 2]; - _memset($1 + 16 | 0, 0, 184) | 0; - HEAP32[$agg$result >> 2] = $1; - $8 = $agg$result + 4 | 0; - HEAP32[$8 >> 2] = $this + 8; - HEAP32[$8 + 4 >> 2] = 257; - return; -} - -function _byteSwapDouble($from, $to) { - $from = $from | 0; - $to = $to | 0; - HEAP8[$to >> 0] = HEAP8[$from + 7 >> 0] | 0; - HEAP8[$to + 1 >> 0] = HEAP8[$from + 6 >> 0] | 0; - HEAP8[$to + 2 >> 0] = HEAP8[$from + 5 >> 0] | 0; - HEAP8[$to + 3 >> 0] = HEAP8[$from + 4 >> 0] | 0; - HEAP8[$to + 4 >> 0] = HEAP8[$from + 3 >> 0] | 0; - HEAP8[$to + 5 >> 0] = HEAP8[$from + 2 >> 0] | 0; - HEAP8[$to + 6 >> 0] = HEAP8[$from + 1 >> 0] | 0; - HEAP8[$to + 7 >> 0] = HEAP8[$from >> 0] | 0; - return; -} - -function copyTempDouble(ptr) { - ptr = ptr | 0; - HEAP8[tempDoublePtr >> 0] = HEAP8[ptr >> 0]; - HEAP8[tempDoublePtr + 1 >> 0] = HEAP8[ptr + 1 >> 0]; - HEAP8[tempDoublePtr + 2 >> 0] = HEAP8[ptr + 2 >> 0]; - HEAP8[tempDoublePtr + 3 >> 0] = HEAP8[ptr + 3 >> 0]; - HEAP8[tempDoublePtr + 4 >> 0] = HEAP8[ptr + 4 >> 0]; - HEAP8[tempDoublePtr + 5 >> 0] = HEAP8[ptr + 5 >> 0]; - HEAP8[tempDoublePtr + 6 >> 0] = HEAP8[ptr + 6 >> 0]; - HEAP8[tempDoublePtr + 7 >> 0] = HEAP8[ptr + 7 >> 0]; -} - -function ___ftello_unlocked($f) { - $f = $f | 0; - var $$0 = 0, $10 = 0, $11 = 0; - if (!(HEAP32[$f >> 2] & 128)) $10 = 1; else $10 = (HEAP32[$f + 20 >> 2] | 0) >>> 0 > (HEAP32[$f + 28 >> 2] | 0) >>> 0 ? 2 : 1; - $11 = FUNCTION_TABLE_iiii[HEAP32[$f + 40 >> 2] & 15]($f, 0, $10) | 0; - if (($11 | 0) < 0) $$0 = $11; else $$0 = $11 - (HEAP32[$f + 8 >> 2] | 0) + (HEAP32[$f + 4 >> 2] | 0) + (HEAP32[$f + 20 >> 2] | 0) - (HEAP32[$f + 28 >> 2] | 0) | 0; - return $$0 | 0; -} - -function ___uflow($f) { - $f = $f | 0; - var $$0 = 0, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $c = sp; - if (!(HEAP32[$f + 8 >> 2] | 0)) if (!(___toread($f) | 0)) label = 3; else $$0 = -1; else label = 3; - if ((label | 0) == 3) if ((FUNCTION_TABLE_iiii[HEAP32[$f + 32 >> 2] & 15]($f, $c, 1) | 0) == 1) $$0 = HEAPU8[$c >> 0] | 0; else $$0 = -1; - STACKTOP = sp; - return $$0 | 0; -} - -function _deleteHandle($arc) { - $arc = $arc | 0; - var $0 = 0, $1 = 0, $4 = 0, $7 = 0; - $0 = $arc + 212 | 0; - $1 = HEAP32[$0 >> 2] | 0; - if ($1) { - _arPattDetach($1) | 0; - _arDeleteHandle(HEAP32[$0 >> 2] | 0) | 0; - HEAP32[$0 >> 2] = 0; - } - $4 = $arc + 224 | 0; - if (HEAP32[$4 >> 2] | 0) { - _ar3DDeleteHandle($4) | 0; - HEAP32[$4 >> 2] = 0; - } - $7 = $arc + 192 | 0; - if (HEAP32[$7 >> 2] | 0) { - _arParamLTFree($7) | 0; - HEAP32[$7 >> 2] = 0; - } - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj4EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0, $2 = 0; - HEAP8[$this >> 0] = 6; - $0 = $this + 1 | 0; - HEAP8[$0 >> 0] = HEAP8[$s >> 0] | 0; - HEAP8[$0 + 1 >> 0] = HEAP8[$s + 1 >> 0] | 0; - HEAP8[$0 + 2 >> 0] = HEAP8[$s + 2 >> 0] | 0; - HEAP8[$this + 4 >> 0] = 0; - $2 = $this + 12 | 0; - HEAP32[$2 >> 2] = 0; - HEAP32[$2 + 4 >> 2] = 0; - HEAP32[$2 + 8 >> 2] = 0; - return; -} - -function __ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($this, $info, $adjustedPtr, $path_below) { - $this = $this | 0; - $info = $info | 0; - $adjustedPtr = $adjustedPtr | 0; - $path_below = $path_below | 0; - if (($this | 0) == (HEAP32[$info + 8 >> 2] | 0)) __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $info, $adjustedPtr, $path_below); - return; -} - -function ___muldsi3($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0; - $1 = $a & 65535; - $2 = $b & 65535; - $3 = Math_imul($2, $1) | 0; - $6 = $a >>> 16; - $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0; - $11 = $b >>> 16; - $12 = Math_imul($11, $1) | 0; - return (tempRet0 = ($8 >>> 16) + (Math_imul($11, $6) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, $8 + $12 << 16 | $3 & 65535 | 0) | 0; -} - -function _memmove(dest, src, num) { - dest = dest | 0; - src = src | 0; - num = num | 0; - var ret = 0; - if ((src | 0) < (dest | 0) & (dest | 0) < (src + num | 0)) { - ret = dest; - src = src + num | 0; - dest = dest + num | 0; - while ((num | 0) > 0) { - dest = dest - 1 | 0; - src = src - 1 | 0; - num = num - 1 | 0; - HEAP8[dest >> 0] = HEAP8[src >> 0] | 0; - } - dest = ret; - } else _memcpy(dest, src, num) | 0; - return dest | 0; -} - -function _arUtilGetPixelSize($arPixelFormat) { - $arPixelFormat = $arPixelFormat | 0; - var $$0 = 0; - switch ($arPixelFormat | 0) { - case 1: - case 0: - { - $$0 = 3; - break; - } - case 6: - case 4: - case 3: - case 2: - { - $$0 = 4; - break; - } - case 14: - case 13: - case 12: - case 5: - { - $$0 = 1; - break; - } - case 11: - case 10: - case 9: - case 8: - case 7: - { - $$0 = 2; - break; - } - default: - $$0 = 0; - } - return $$0 | 0; -} - -function _copysign($x, $y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $6 = 0; - HEAPF64[tempDoublePtr >> 3] = $x; - $0 = HEAP32[tempDoublePtr >> 2] | 0; - $1 = HEAP32[tempDoublePtr + 4 >> 2] | 0; - HEAPF64[tempDoublePtr >> 3] = $y; - $6 = HEAP32[tempDoublePtr + 4 >> 2] & -2147483648 | $1 & 2147483647; - HEAP32[tempDoublePtr >> 2] = $0; - HEAP32[tempDoublePtr + 4 >> 2] = $6; - return +(+HEAPF64[tempDoublePtr >> 3]); -} - -function _arMatrixAlloc($row, $clm) { - $row = $row | 0; - $clm = $clm | 0; - var $$0 = 0, $0 = 0, $4 = 0; - $0 = _malloc(12) | 0; - do if (!$0) $$0 = 0; else { - $4 = _malloc(Math_imul($row << 3, $clm) | 0) | 0; - HEAP32[$0 >> 2] = $4; - if (!$4) { - _free($0); - $$0 = 0; - break; - } else { - HEAP32[$0 + 4 >> 2] = $row; - HEAP32[$0 + 8 >> 2] = $clm; - $$0 = $0; - break; - } - } while (0); - return $$0 | 0; -} - -function _ar3DCreateHandle2($cpara) { - $cpara = $cpara | 0; - var $$0 = 0, $0 = 0, $2 = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $0 = _malloc(4) | 0; - if (!$0) { - _arLog(3, 5471, sp); - _exit(1); - } - $2 = _icpCreateHandle($cpara) | 0; - HEAP32[$0 >> 2] = $2; - if (!$2) { - _free($0); - $$0 = 0; - } else $$0 = $0; - STACKTOP = sp; - return $$0 | 0; -} - -function ___fseeko($f, $off, $whence) { - $f = $f | 0; - $off = $off | 0; - $whence = $whence | 0; - var $5 = 0, $6 = 0, $phitmp = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) { - $phitmp = (___lockfile($f) | 0) == 0; - $5 = ___fseeko_unlocked($f, $off, $whence) | 0; - if ($phitmp) $6 = $5; else { - ___unlockfile($f); - $6 = $5; - } - } else $6 = ___fseeko_unlocked($f, $off, $whence) | 0; - return $6 | 0; -} - -function __GLOBAL__sub_I_ARToolKitJS_cpp() { - HEAP32[511] = 0; - HEAP32[512] = 0; - HEAP32[513] = 0; - HEAP32[514] = 0; - HEAPF32[515] = 1.0; - ___cxa_atexit(11, 2044, ___dso_handle | 0) | 0; - HEAP32[516] = 0; - HEAP32[517] = 0; - HEAP32[518] = 0; - HEAP32[519] = 0; - HEAPF32[520] = 1.0; - ___cxa_atexit(12, 2064, ___dso_handle | 0) | 0; - __ZN46EmscriptenBindingInitializer_constant_bindingsC2Ev(0); - return; -} - -function _arParamLTFree($paramLT_p) { - $paramLT_p = $paramLT_p | 0; - var $$0 = 0, $1 = 0; - if (!$paramLT_p) $$0 = -1; else { - $1 = HEAP32[$paramLT_p >> 2] | 0; - if (!$1) $$0 = -1; else { - _free(HEAP32[$1 + 184 >> 2] | 0); - _free(HEAP32[(HEAP32[$paramLT_p >> 2] | 0) + 188 >> 2] | 0); - _free(HEAP32[$paramLT_p >> 2] | 0); - HEAP32[$paramLT_p >> 2] = 0; - $$0 = 0; - } - } - return $$0 | 0; -} - -function ___uremdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - var $rem = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 0; - ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0; - STACKTOP = __stackBase__; - return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0; -} - -function _arDeleteHandle($handle) { - $handle = $handle | 0; - var $$0 = 0, $1 = 0, $2 = 0; - if (!$handle) $$0 = -1; else { - $1 = $handle + 7062408 | 0; - $2 = HEAP32[$1 >> 2] | 0; - if ($2) { - _arImageProcFinal($2); - HEAP32[$1 >> 2] = 0; - } - _free(HEAP32[$handle + 4834144 >> 2] | 0); - _free(HEAP32[$handle + 4834148 >> 2] | 0); - _free($handle); - $$0 = 0; - } - return $$0 | 0; -} - -function _llvm_cttz_i32(x) { - x = x | 0; - var ret = 0; - ret = HEAP8[cttz_i8 + (x & 255) >> 0] | 0; - if ((ret | 0) < 8) return ret | 0; - ret = HEAP8[cttz_i8 + (x >> 8 & 255) >> 0] | 0; - if ((ret | 0) < 8) return ret + 8 | 0; - ret = HEAP8[cttz_i8 + (x >> 16 & 255) >> 0] | 0; - if ((ret | 0) < 8) return ret + 16 | 0; - return (HEAP8[cttz_i8 + (x >>> 24) >> 0] | 0) + 24 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE8allocateEj($this, $n) { - $this = $this | 0; - $n = $n | 0; - var $$0 = 0, $1 = 0, $3 = 0, $4 = 0; - $1 = $n + 15 & -16; - $3 = $this + 4096 | 0; - $4 = HEAP32[$3 >> 2] | 0; - if (($this + 4096 - $4 | 0) >>> 0 < $1 >>> 0) $$0 = _malloc($1) | 0; else { - HEAP32[$3 >> 2] = $4 + $1; - $$0 = $4; - } - return $$0 | 0; -} - -function _snprintf($s, $n, $fmt, $varargs) { - $s = $s | 0; - $n = $n | 0; - $fmt = $fmt | 0; - $varargs = $varargs | 0; - var $0 = 0, $ap = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ap = sp; - HEAP32[$ap >> 2] = $varargs; - $0 = _vsnprintf($s, $n, $fmt, $ap) | 0; - STACKTOP = sp; - return $0 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj18EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $s, 17); - $0 = $this + 12 | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj15EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $s, 14); - $0 = $this + 12 | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj14EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $s, 13); - $0 = $this + 12 | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj13EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $s, 12); - $0 = $this + 12 | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - return; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairC2ILj12EEERAT__Kc($this, $s) { - $this = $this | 0; - $s = $s | 0; - var $0 = 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6__initEPKcj($this, $s, 11); - $0 = $this + 12 | 0; - HEAP32[$0 >> 2] = 0; - HEAP32[$0 + 4 >> 2] = 0; - HEAP32[$0 + 8 >> 2] = 0; - return; -} - -function __ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEED2Ev($this) { - $this = $this | 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEED2Ev($this); - return; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKc($this, $__pos, $__s) { - $this = $this | 0; - $__pos = $__pos | 0; - $__s = $__s | 0; - return __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6insertEjPKcj($this, $__pos, $__s, _strlen($__s) | 0) | 0; -} - -function ___shlim($f, $lim) { - $f = $f | 0; - $lim = $lim | 0; - var $4 = 0, $5 = 0, $7 = 0; - HEAP32[$f + 104 >> 2] = $lim; - $4 = HEAP32[$f + 4 >> 2] | 0; - $5 = HEAP32[$f + 8 >> 2] | 0; - $7 = $5 - $4 | 0; - HEAP32[$f + 108 >> 2] = $7; - if (($lim | 0) != 0 & ($7 | 0) > ($lim | 0)) HEAP32[$f + 100 >> 2] = $4 + $lim; else HEAP32[$f + 100 >> 2] = $5; - return; -} - -function ___stdio_close($f) { - $f = $f | 0; - var $3 = 0, $vararg_buffer = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $vararg_buffer = sp; - HEAP32[$vararg_buffer >> 2] = HEAP32[$f + 60 >> 2]; - $3 = ___syscall_ret(___syscall6(6, $vararg_buffer | 0) | 0) | 0; - STACKTOP = sp; - return $3 | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_15arenaILj4096EE10deallocateEPcj($this, $p, $n) { - $this = $this | 0; - $p = $p | 0; - $n = $n | 0; - var $7 = 0; - if ($this >>> 0 <= $p >>> 0 & ($this + 4096 | 0) >>> 0 >= $p >>> 0) { - $7 = $this + 4096 | 0; - if (($p + ($n + 15 & -16) | 0) == (HEAP32[$7 >> 2] | 0)) HEAP32[$7 >> 2] = $p; - } else _free($p); - return; -} - -function _rewind($f) { - $f = $f | 0; - var $phitmp = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) { - $phitmp = (___lockfile($f) | 0) == 0; - ___fseeko_unlocked($f, 0, 0) | 0; - HEAP32[$f >> 2] = HEAP32[$f >> 2] & -33; - if (!$phitmp) ___unlockfile($f); - } else { - ___fseeko_unlocked($f, 0, 0) | 0; - HEAP32[$f >> 2] = HEAP32[$f >> 2] & -33; - } - return; -} - -function _arPattFree($pattHandle, $patno) { - $pattHandle = $pattHandle | 0; - $patno = $patno | 0; - var $$0 = 0, $2 = 0; - $2 = (HEAP32[$pattHandle + 8 >> 2] | 0) + ($patno << 2) | 0; - if (!(HEAP32[$2 >> 2] | 0)) $$0 = -1; else { - HEAP32[$2 >> 2] = 0; - HEAP32[$pattHandle >> 2] = (HEAP32[$pattHandle >> 2] | 0) + -1; - $$0 = 1; - } - return $$0 | 0; -} - -function __ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEED2Ev($this) { - $this = $this | 0; - __ZNSt3__112__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEED2Ev($this); - return; -} - -function _sn_write($f, $s, $l) { - $f = $f | 0; - $s = $s | 0; - $l = $l | 0; - var $2 = 0, $3 = 0, $6 = 0, $l$ = 0; - $2 = $f + 20 | 0; - $3 = HEAP32[$2 >> 2] | 0; - $6 = (HEAP32[$f + 16 >> 2] | 0) - $3 | 0; - $l$ = $6 >>> 0 > $l >>> 0 ? $l : $6; - _memcpy($3 | 0, $s | 0, $l$ | 0) | 0; - HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + $l$; - return $l | 0; -} - -function _ferror($f) { - $f = $f | 0; - var $$lobit = 0, $$lobit2 = 0, $phitmp = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) { - $phitmp = (___lockfile($f) | 0) == 0; - $$lobit = (HEAP32[$f >> 2] | 0) >>> 5 & 1; - if ($phitmp) $$lobit2 = $$lobit; else $$lobit2 = $$lobit; - } else $$lobit2 = (HEAP32[$f >> 2] | 0) >>> 5 & 1; - return $$lobit2 | 0; -} - -function ___memrchr($m, $c, $n) { - $m = $m | 0; - $c = $c | 0; - $n = $n | 0; - var $$0 = 0, $$01 = 0, $0 = 0, $3 = 0; - $0 = $c & 255; - $$01 = $n; - while (1) { - if (!$$01) { - $$0 = 0; - break; - } - $$01 = $$01 + -1 | 0; - $3 = $m + $$01 | 0; - if ((HEAP8[$3 >> 0] | 0) == $0 << 24 >> 24) { - $$0 = $3; - break; - } - } - return $$0 | 0; -} - -function __ZN10emscripten8internal11BindingTypeINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE12fromWireTypeEPNS9_Ut_E($agg$result, $v) { - $agg$result = $agg$result | 0; - $v = $v | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcj($agg$result, $v + 4 | 0, HEAP32[$v >> 2] | 0); - return; -} - -function _arVecAlloc($clm) { - $clm = $clm | 0; - var $$0 = 0, $0 = 0, $3 = 0; - $0 = _malloc(8) | 0; - do if (!$0) $$0 = 0; else { - $3 = _malloc($clm << 3) | 0; - HEAP32[$0 >> 2] = $3; - if (!$3) { - _free($0); - $$0 = 0; - break; - } else { - HEAP32[$0 + 4 >> 2] = $clm; - $$0 = $0; - break; - } - } while (0); - return $$0 | 0; -} - -function _sscanf($s, $fmt, $varargs) { - $s = $s | 0; - $fmt = $fmt | 0; - $varargs = $varargs | 0; - var $0 = 0, $ap = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - $ap = sp; - HEAP32[$ap >> 2] = $varargs; - $0 = _vsscanf($s, $fmt, $ap) | 0; - STACKTOP = sp; - return $0 | 0; -} - -function _arPattAttach($arHandle, $arPattHandle) { - $arHandle = $arHandle | 0; - $arPattHandle = $arPattHandle | 0; - var $$0 = 0, $1 = 0; - if (!$arHandle) $$0 = -1; else { - $1 = $arHandle + 7062384 | 0; - if (!(HEAP32[$1 >> 2] | 0)) { - HEAP32[$1 >> 2] = $arPattHandle; - $$0 = 0; - } else $$0 = -1; - } - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKc($this, $__s) { - $this = $this | 0; - $__s = $__s | 0; - return __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEE6appendEPKcj($this, $__s, _strlen($__s) | 0) | 0; -} - -function __ZN10__cxxabiv112_GLOBAL__N_111string_pairD2Ev($this) { - $this = $this | 0; - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($this + 12 | 0); - __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($this); - return; -} - -function _arMatrixAllocTrans($source) { - $source = $source | 0; - var $$0 = 0, $4 = 0; - $4 = _arMatrixAlloc(HEAP32[$source + 8 >> 2] | 0, HEAP32[$source + 4 >> 2] | 0) | 0; - if (!$4) $$0 = 0; else if ((_arMatrixTrans($4, $source) | 0) < 0) { - _arMatrixFree($4) | 0; - $$0 = 0; - } else $$0 = $4; - return $$0 | 0; -} - -function _arMatrixAllocDup($source) { - $source = $source | 0; - var $$0 = 0, $4 = 0; - $4 = _arMatrixAlloc(HEAP32[$source + 4 >> 2] | 0, HEAP32[$source + 8 >> 2] | 0) | 0; - if (!$4) $$0 = 0; else if ((_arMatrixDup($4, $source) | 0) < 0) { - _arMatrixFree($4) | 0; - $$0 = 0; - } else $$0 = $4; - return $$0 | 0; -} - -function _arMatrixAllocMul($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $$0 = 0, $4 = 0; - $4 = _arMatrixAlloc(HEAP32[$a + 4 >> 2] | 0, HEAP32[$b + 8 >> 2] | 0) | 0; - if (!$4) $$0 = 0; else if ((_arMatrixMul($4, $a, $b) | 0) < 0) { - _arMatrixFree($4) | 0; - $$0 = 0; - } else $$0 = $4; - return $$0 | 0; -} - -function _arGetTransMatMultiSquareRobust($handle, $marker_info, $marker_num, $config) { - $handle = $handle | 0; - $marker_info = $marker_info | 0; - $marker_num = $marker_num | 0; - $config = $config | 0; - return +(+_arGetTransMatMultiSquare2($handle, $marker_info, $marker_num, $config, 1)); -} - -function _arGetTransMatMultiSquare($handle, $marker_info, $marker_num, $config) { - $handle = $handle | 0; - $marker_info = $marker_info | 0; - $marker_num = $marker_num | 0; - $config = $config | 0; - return +(+_arGetTransMatMultiSquare2($handle, $marker_info, $marker_num, $config, 0)); -} - -function ___ftello($f) { - $f = $f | 0; - var $5 = 0, $6 = 0, $phitmp = 0; - if ((HEAP32[$f + 76 >> 2] | 0) > -1) { - $phitmp = (___lockfile($f) | 0) == 0; - $5 = ___ftello_unlocked($f) | 0; - if ($phitmp) $6 = $5; else $6 = $5; - } else $6 = ___ftello_unlocked($f) | 0; - return $6 | 0; -} - -function _arSetPattRatio($handle, $pattRatio) { - $handle = $handle | 0; - $pattRatio = +$pattRatio; - var $$0 = 0; - if (!$handle) $$0 = -1; else if ($pattRatio <= 0.0 | $pattRatio >= 1.0) $$0 = -1; else { - HEAPF64[$handle + 7062416 >> 3] = $pattRatio; - $$0 = 0; - } - return $$0 | 0; -} - -function _bitshift64Ashr(low, high, bits) { - low = low | 0; - high = high | 0; - bits = bits | 0; - if ((bits | 0) < 32) { - tempRet0 = high >> bits; - return low >>> bits | (high & (1 << bits) - 1) << 32 - bits; - } - tempRet0 = (high | 0) < 0 ? -1 : 0; - return high >> bits - 32 | 0; -} - -function _byteSwapInt($from, $to) { - $from = $from | 0; - $to = $to | 0; - HEAP8[$to >> 0] = HEAP8[$from + 3 >> 0] | 0; - HEAP8[$to + 1 >> 0] = HEAP8[$from + 2 >> 0] | 0; - HEAP8[$to + 2 >> 0] = HEAP8[$from + 1 >> 0] | 0; - HEAP8[$to + 3 >> 0] = HEAP8[$from >> 0] | 0; - return; -} - -function _arGetLabelingThreshMode($handle, $mode_p) { - $handle = $handle | 0; - $mode_p = $mode_p | 0; - var $$0 = 0; - if (($handle | 0) != 0 & ($mode_p | 0) != 0) { - HEAP32[$mode_p >> 2] = HEAP32[$handle + 7062388 >> 2]; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _bitshift64Shl(low, high, bits) { - low = low | 0; - high = high | 0; - bits = bits | 0; - if ((bits | 0) < 32) { - tempRet0 = high << bits | (low & (1 << bits) - 1 << 32 - bits) >>> 32 - bits; - return low << bits; - } - tempRet0 = low << bits - 32; - return 0; -} - -function _ar3DDeleteHandle($handle) { - $handle = $handle | 0; - var $$0 = 0, $0 = 0; - $0 = HEAP32[$handle >> 2] | 0; - if (!$0) $$0 = -1; else { - _icpDeleteHandle($0) | 0; - _free(HEAP32[$handle >> 2] | 0); - HEAP32[$handle >> 2] = 0; - $$0 = 0; - } - return $$0 | 0; -} - -function _arGetMatrixCodeType($handle, $type_p) { - $handle = $handle | 0; - $type_p = $type_p | 0; - var $$0 = 0; - if (($handle | 0) != 0 & ($type_p | 0) != 0) { - HEAP32[$type_p >> 2] = HEAP32[$handle + 7062424 >> 2]; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _bitshift64Lshr(low, high, bits) { - low = low | 0; - high = high | 0; - bits = bits | 0; - if ((bits | 0) < 32) { - tempRet0 = high >>> bits; - return low >>> bits | (high & (1 << bits) - 1) << 32 - bits; - } - tempRet0 = 0; - return high >>> bits - 32 | 0; -} - -function _arPattDetach($arHandle) { - $arHandle = $arHandle | 0; - var $$0 = 0, $1 = 0; - if (!$arHandle) $$0 = -1; else { - $1 = $arHandle + 7062384 | 0; - if (!(HEAP32[$1 >> 2] | 0)) $$0 = -1; else { - HEAP32[$1 >> 2] = 0; - $$0 = 0; - } - } - return $$0 | 0; -} - -function _arGetLabelingThresh($handle, $thresh) { - $handle = $handle | 0; - $thresh = $thresh | 0; - var $$0 = 0; - if (($handle | 0) != 0 & ($thresh | 0) != 0) { - HEAP32[$thresh >> 2] = HEAP32[$handle + 16 >> 2]; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function __ZN10emscripten8functionIiJiNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 3, 2180, 10905, 12, $fn | 0); - return; -} - -function copyTempFloat(ptr) { - ptr = ptr | 0; - HEAP8[tempDoublePtr >> 0] = HEAP8[ptr >> 0]; - HEAP8[tempDoublePtr + 1 >> 0] = HEAP8[ptr + 1 >> 0]; - HEAP8[tempDoublePtr + 2 >> 0] = HEAP8[ptr + 2 >> 0]; - HEAP8[tempDoublePtr + 3 >> 0] = HEAP8[ptr + 3 >> 0]; -} - -function __ZN10emscripten8functionIiJNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 2, 2160, 10800, 11, $fn | 0); - return; -} - -function dynCall_viiiiii(index, a1, a2, a3, a4, a5, a6) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - a4 = a4 | 0; - a5 = a5 | 0; - a6 = a6 | 0; - FUNCTION_TABLE_viiiiii[index & 3](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0); -} - -function _arSetLabelingThresh($handle, $thresh) { - $handle = $handle | 0; - $thresh = $thresh | 0; - var $$0 = 0; - if (($handle | 0) == 0 | $thresh >>> 0 > 255) $$0 = -1; else { - HEAP32[$handle + 16 >> 2] = $thresh; - $$0 = 0; - } - return $$0 | 0; -} - -function _arGetLabelingMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (($handle | 0) != 0 & ($mode | 0) != 0) { - HEAP32[$mode >> 2] = HEAP32[$handle + 12 >> 2]; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function __ZN10emscripten8internal7InvokerIiJiiiEE6invokeEPFiiiiEiii($fn, $args, $args1, $args2) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = $args1 | 0; - $args2 = $args2 | 0; - return FUNCTION_TABLE_iiii[$fn & 15]($args, $args1, $args2) | 0; -} - -function _arGetPattRatio($handle, $pattRatio) { - $handle = $handle | 0; - $pattRatio = $pattRatio | 0; - var $$0 = 0; - if (!$handle) $$0 = -1; else { - HEAPF64[$pattRatio >> 3] = +HEAPF64[$handle + 7062416 >> 3]; - $$0 = 0; - } - return $$0 | 0; -} - -function _arSetPatternDetectionMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (($handle | 0) != 0 & $mode >>> 0 < 5) { - HEAP32[$handle + 24 >> 2] = $mode; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _arGetDebugMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (($handle | 0) != 0 & ($mode | 0) != 0) { - HEAP32[$mode >> 2] = HEAP32[$handle >> 2]; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _icpSetInlierProbability($handle, $inlierProb) { - $handle = $handle | 0; - $inlierProb = +$inlierProb; - var $$0 = 0; - if (!$handle) $$0 = -1; else { - HEAPF64[$handle + 128 >> 3] = $inlierProb; - $$0 = 0; - } - return $$0 | 0; -} - -function _arSetImageProcMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (($handle | 0) != 0 & $mode >>> 0 < 2) { - HEAP32[$handle + 20 >> 2] = $mode; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function _arSetLabelingMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (($handle | 0) != 0 & $mode >>> 0 < 2) { - HEAP32[$handle + 12 >> 2] = $mode; - $$0 = 0; - } else $$0 = -1; - return $$0 | 0; -} - -function __ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv($this, $thrown_type, $0) { - $this = $this | 0; - $thrown_type = $thrown_type | 0; - $0 = $0 | 0; - return ($this | 0) == ($thrown_type | 0) | 0; -} - -function runPostSets() {} -function _i64Subtract(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var h = 0; - h = b - d >>> 0; - h = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; - return (tempRet0 = h, a - c >>> 0 | 0) | 0; -} - -function _arImageProcLumaHistAndCDFAndMedian($ipi, $dataPtr, $value_p) { - $ipi = $ipi | 0; - $dataPtr = $dataPtr | 0; - $value_p = $value_p | 0; - return _arImageProcLumaHistAndCDFAndPercentile($ipi, $dataPtr, .5, $value_p) | 0; -} - -function _arGetPatternDetectionMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (!$handle) $$0 = -1; else { - HEAP32[$mode >> 2] = HEAP32[$handle + 24 >> 2]; - $$0 = 0; - } - return $$0 | 0; -} - -function ___strdup($s) { - $s = $s | 0; - var $$0 = 0, $1 = 0, $2 = 0; - $1 = (_strlen($s) | 0) + 1 | 0; - $2 = _malloc($1) | 0; - if (!$2) $$0 = 0; else { - _memcpy($2 | 0, $s | 0, $1 | 0) | 0; - $$0 = $2; - } - return $$0 | 0; -} - -function dynCall_viiiii(index, a1, a2, a3, a4, a5) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - a4 = a4 | 0; - a5 = a5 | 0; - FUNCTION_TABLE_viiiii[index & 3](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0); -} - -function _arGetImageProcMode($handle, $mode) { - $handle = $handle | 0; - $mode = $mode | 0; - var $$0 = 0; - if (!$handle) $$0 = -1; else { - HEAP32[$mode >> 2] = HEAP32[$handle + 20 >> 2]; - $$0 = 0; - } - return $$0 | 0; -} - -function _icpDeleteHandle($handle) { - $handle = $handle | 0; - var $$0 = 0, $0 = 0; - $0 = HEAP32[$handle >> 2] | 0; - if (!$0) $$0 = -1; else { - _free($0); - HEAP32[$handle >> 2] = 0; - $$0 = 0; - } - return $$0 | 0; -} - -function _arSetMatrixCodeType($handle, $type) { - $handle = $handle | 0; - $type = $type | 0; - var $$0 = 0; - if (!$handle) $$0 = -1; else { - HEAP32[$handle + 7062424 >> 2] = $type; - $$0 = 0; - } - return $$0 | 0; -} -function stackAlloc(size) { - size = size | 0; - var ret = 0; - ret = STACKTOP; - STACKTOP = STACKTOP + size | 0; - STACKTOP = STACKTOP + 15 & -16; - if ((STACKTOP | 0) >= (STACK_MAX | 0)) abort(); - return ret | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEEN10__cxxabiv112_GLOBAL__N_112malloc_allocIcEEED2Ev($this) { - $this = $this | 0; - if (HEAP8[$this >> 0] & 1) _free(HEAP32[$this + 8 >> 2] | 0); - return; -} - -function ___syscall_ret($r) { - $r = $r | 0; - var $$0 = 0, $2 = 0; - if ($r >>> 0 > 4294963200) { - $2 = ___errno_location() | 0; - HEAP32[$2 >> 2] = 0 - $r; - $$0 = -1; - } else $$0 = $r; - return $$0 | 0; -} - -function __ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii($fn, $args, $args1) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = $args1 | 0; - return FUNCTION_TABLE_iii[$fn & 15]($args, $args1) | 0; -} - -function dynCall_iiiii(index, a1, a2, a3, a4) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - a4 = a4 | 0; - return FUNCTION_TABLE_iiiii[index & 1](a1 | 0, a2 | 0, a3 | 0, a4 | 0) | 0; -} - -function __ZN10emscripten8internal7InvokerIvJiiEE6invokeEPFviiEii($fn, $args, $args1) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = $args1 | 0; - FUNCTION_TABLE_vii[$fn & 7]($args, $args1); - return; -} - -function __ZN10emscripten8internal7InvokerIvJifEE6invokeEPFvifEif($fn, $args, $args1) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = +$args1; - FUNCTION_TABLE_vid[$fn & 3]($args, $args1); - return; -} - -function __ZN10emscripten8internal7InvokerIvJidEE6invokeEPFvidEid($fn, $args, $args1) { - $fn = $fn | 0; - $args = $args | 0; - $args1 = +$args1; - FUNCTION_TABLE_vid[$fn & 3]($args, $args1); - return; -} - -function _arImageProcFinal($ipi) { - $ipi = $ipi | 0; - if ($ipi) { - if (HEAP32[$ipi + 2076 >> 2] | 0) _free(HEAP32[$ipi >> 2] | 0); - _free(HEAP32[$ipi + 4 >> 2] | 0); - _free($ipi); - } - return; -} - -function __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 4, 2200, 10910, 1, $fn | 0); - return; -} - -function __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 3, 2168, 10905, 13, $fn | 0); - return; -} - -function __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 3, 2116, 10779, 1, $fn | 0); - return; -} - -function __ZN10emscripten8functionIvJifEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 3, 2104, 10774, 2, $fn | 0); - return; -} - -function __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 3, 2136, 10788, 1, $fn | 0); - return; -} - -function __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 2, 2192, 10800, 10, $fn | 0); - return; -} - -function dynCall_viiii(index, a1, a2, a3, a4) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - a4 = a4 | 0; - FUNCTION_TABLE_viiii[index & 3](a1 | 0, a2 | 0, a3 | 0, a4 | 0); -} - -function __ZN10emscripten8functionIvJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 2, 2152, 10796, 7, $fn | 0); - return; -} - -function __ZN10emscripten8functionIiJEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 1, 2148, 10793, 16, $fn | 0); - return; -} - -function __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { - $name = $name | 0; - $fn = $fn | 0; - __embind_register_function($name | 0, 2, 2128, 10784, 1, $fn | 0); - return; -} - -function _icpGetXw2XcCleanup295($J_U_S, $dU, $E, $E2) { - $J_U_S = $J_U_S | 0; - $dU = $dU | 0; - $E = $E | 0; - $E2 = $E2 | 0; - _free($J_U_S); - _free($dU); - _free($E); - _free($E2); - return; -} - -function ___errno_location() { - var $$0 = 0, $3 = 0; - if (!(HEAP32[597] | 0)) $$0 = 2644; else { - $3 = (_pthread_self() | 0) + 60 | 0; - $$0 = HEAP32[$3 >> 2] | 0; - } - return $$0 | 0; -} - -function __ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($this) { - $this = $this | 0; - if (HEAP8[$this >> 0] & 1) __ZdlPv(HEAP32[$this + 8 >> 2] | 0); - return; -} - -function _i64Add(a, b, c, d) { - a = a | 0; - b = b | 0; - c = c | 0; - d = d | 0; - var l = 0; - l = a + c >>> 0; - return (tempRet0 = b + d + (l >>> 0 < a >>> 0 | 0) >>> 0, l | 0) | 0; -} - -function __ZN10emscripten8constantIdEEvPKcRKT_($name, $v) { - $name = $name | 0; - $v = $v | 0; - __embind_register_constant($name | 0, 720, ~~+HEAPF64[$v >> 3] >>> 0 | 0); - return; -} - -function dynCall_iiii(index, a1, a2, a3) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - return FUNCTION_TABLE_iiii[index & 15](a1 | 0, a2 | 0, a3 | 0) | 0; -} - -function ___udivdi3($a$0, $a$1, $b$0, $b$1) { - $a$0 = $a$0 | 0; - $a$1 = $a$1 | 0; - $b$0 = $b$0 | 0; - $b$1 = $b$1 | 0; - return ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; -} - -function _strchr($s, $c) { - $s = $s | 0; - $c = $c | 0; - var $0 = 0; - $0 = ___strchrnul($s, $c) | 0; - return ((HEAP8[$0 >> 0] | 0) == ($c & 255) << 24 >> 24 ? $0 : 0) | 0; -} - -function __ZN10emscripten8constantIiEEvPKcRKT_($name, $v) { - $name = $name | 0; - $v = $v | 0; - __embind_register_constant($name | 0, 680, HEAP32[$v >> 2] | 0); - return; -} - -function dynCall_viii(index, a1, a2, a3) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = a3 | 0; - FUNCTION_TABLE_viii[index & 1](a1 | 0, a2 | 0, a3 | 0); -} - -function __ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi($fn, $args) { - $fn = $fn | 0; - $args = $args | 0; - return FUNCTION_TABLE_ii[$fn & 31]($args) | 0; -} - -function __ZN10emscripten8internal7InvokerIdJiEE6invokeEPFdiEi($fn, $args) { - $fn = $fn | 0; - $args = $args | 0; - return +(+FUNCTION_TABLE_di[$fn & 3]($args)); -} - -function __ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi($fn, $args) { - $fn = $fn | 0; - $args = $args | 0; - FUNCTION_TABLE_vi[$fn & 15]($args); - return; -} - -function _compE($a, $b) { - $a = $a | 0; - $b = $b | 0; - var $2 = 0.0; - $2 = +HEAPF64[$a >> 3] - +HEAPF64[$b >> 3]; - return ($2 < 0.0 ? -1 : $2 > 0.0 & 1) | 0; -} - -function dynCall_viid(index, a1, a2, a3) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - a3 = +a3; - FUNCTION_TABLE_viid[index & 3](a1 | 0, a2 | 0, +a3); -} - -function _isxdigit($c) { - $c = $c | 0; - var $4 = 0; - if (($c + -48 | 0) >>> 0 < 10) $4 = 1; else $4 = (($c | 32) + -97 | 0) >>> 0 < 6; - return $4 & 1 | 0; -} - -function establishStackSpace(stackBase, stackMax) { - stackBase = stackBase | 0; - stackMax = stackMax | 0; - STACKTOP = stackBase; - STACK_MAX = stackMax; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewItEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(512, 3, $name | 0); - return; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewIsEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(520, 2, $name | 0); - return; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewIjEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(496, 5, $name | 0); - return; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewIiEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(504, 4, $name | 0); - return; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewIhEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(528, 1, $name | 0); - return; -} - -function __ZN12_GLOBAL__N_1L20register_memory_viewIaEEvPKc($name) { - $name = $name | 0; - __embind_register_memory_view(536, 0, $name | 0); - return; -} - -function __ZNKSt3__121__basic_string_commonILb1EE20__throw_out_of_rangeEv($this) { - $this = $this | 0; - ___assert_fail(14152, 12528, 1175, 14181); -} - -function __ZNKSt3__121__basic_string_commonILb1EE20__throw_length_errorEv($this) { - $this = $this | 0; - ___assert_fail(12499, 12528, 1164, 12463); -} - -function dynCall_iii(index, a1, a2) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - return FUNCTION_TABLE_iii[index & 15](a1 | 0, a2 | 0) | 0; -} - -function b13(p0, p1, p2, p3, p4, p5) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - p3 = p3 | 0; - p4 = p4 | 0; - p5 = p5 | 0; - nullFunc_viiiiii(13); -} - -function _wctomb($s, $wc) { - $s = $s | 0; - $wc = $wc | 0; - var $$0 = 0; - if (!$s) $$0 = 0; else $$0 = _wcrtomb($s, $wc, 0) | 0; - return $$0 | 0; -} - -function __ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv($this) { - $this = $this | 0; - ___assert_fail(12352, 12375, 303, 12463); -} - -function dynCall_dii(index, a1, a2) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - return +FUNCTION_TABLE_dii[index & 1](a1 | 0, a2 | 0); -} - -function setThrew(threw, value) { - threw = threw | 0; - value = value | 0; - if (!__THREW__) { - __THREW__ = threw; - threwValue = value; - } -} - -function _fseek($f, $off, $whence) { - $f = $f | 0; - $off = $off | 0; - $whence = $whence | 0; - return ___fseeko($f, $off, $whence) | 0; -} - -function dynCall_vii(index, a1, a2) { - index = index | 0; - a1 = a1 | 0; - a2 = a2 | 0; - FUNCTION_TABLE_vii[index & 7](a1 | 0, a2 | 0); -} - -function _mbsinit($st) { - $st = $st | 0; - var $4 = 0; - if (!$st) $4 = 1; else $4 = (HEAP32[$st >> 2] | 0) == 0; - return $4 & 1 | 0; -} - -function _do_read($f, $buf, $len) { - $f = $f | 0; - $buf = $buf | 0; - $len = $len | 0; - return ___string_read($f, $buf, $len) | 0; -} - -function dynCall_vid(index, a1, a2) { - index = index | 0; - a1 = a1 | 0; - a2 = +a2; - FUNCTION_TABLE_vid[index & 3](a1 | 0, +a2); -} - -function b1(p0, p1, p2, p3, p4) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - p3 = p3 | 0; - p4 = p4 | 0; - nullFunc_viiiii(1); -} - -function _arMultiFreeConfig($config) { - $config = $config | 0; - _free(HEAP32[$config >> 2] | 0); - _free($config); - return 0; -} - -function __ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE($fn) { - $fn = $fn | 0; - return FUNCTION_TABLE_i[$fn & 1]() | 0; -} - -function _icpGetXw2XcCleanup($J_U_S, $dU) { - $J_U_S = $J_U_S | 0; - $dU = $dU | 0; - _free($J_U_S); - _free($dU); - return; -} - -function b12(p0, p1, p2, p3) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - p3 = p3 | 0; - nullFunc_iiiii(12); - return 0; -} - -function _strncpy($d, $s, $n) { - $d = $d | 0; - $s = $s | 0; - $n = $n | 0; - ___stpncpy($d, $s, $n) | 0; - return $d | 0; -} - -function dynCall_ii(index, a1) { - index = index | 0; - a1 = a1 | 0; - return FUNCTION_TABLE_ii[index & 31](a1 | 0) | 0; -} - -function _strcpy($dest, $src) { - $dest = $dest | 0; - $src = $src | 0; - ___stpcpy($dest, $src) | 0; - return $dest | 0; -} - -function __GLOBAL__sub_I_bind_cpp() { - __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev(0); - return; -} - -function _strrchr($s, $c) { - $s = $s | 0; - $c = $c | 0; - return ___memrchr($s, $c, (_strlen($s) | 0) + 1 | 0) | 0; -} - -function _ar3DCreateHandle($arParam) { - $arParam = $arParam | 0; - return _ar3DCreateHandle2($arParam + 8 | 0) | 0; -} - -function dynCall_di(index, a1) { - index = index | 0; - a1 = a1 | 0; - return +FUNCTION_TABLE_di[index & 3](a1 | 0); -} - -function _fputs($s, $f) { - $s = $s | 0; - $f = $f | 0; - return (_fwrite($s, _strlen($s) | 0, 1, $f) | 0) + -1 | 0; -} - -function __ZSt15get_new_handlerv() { - var $0 = 0; - $0 = HEAP32[559] | 0; - HEAP32[559] = $0 + 0; - return $0 | 0; -} - -function _arMatrixFree($m) { - $m = $m | 0; - if ($m) { - _free(HEAP32[$m >> 2] | 0); - _free($m); - } - return 0; -} - -function __ZN10__cxxabiv123__fundamental_type_infoD0Ev($this) { - $this = $this | 0; - __ZdlPv($this); - return; -} - -function b15(p0, p1, p2, p3) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - p3 = p3 | 0; - nullFunc_viiii(15); -} - -function __ZN10__cxxabiv121__vmi_class_type_infoD0Ev($this) { - $this = $this | 0; - __ZdlPv($this); - return; -} - -function dynCall_vi(index, a1) { - index = index | 0; - a1 = a1 | 0; - FUNCTION_TABLE_vi[index & 15](a1 | 0); -} - -function __ZN10__cxxabiv120__si_class_type_infoD0Ev($this) { - $this = $this | 0; - __ZdlPv($this); - return; -} - -function __ZN10__cxxabiv117__class_type_infoD0Ev($this) { - $this = $this | 0; - __ZdlPv($this); - return; -} - -function _cleanup392($p) { - $p = $p | 0; - if (!(HEAP32[$p + 68 >> 2] | 0)) ___unlockfile($p); - return; -} - -function _cleanup387($p) { - $p = $p | 0; - if (!(HEAP32[$p + 68 >> 2] | 0)) ___unlockfile($p); - return; -} - -function b0(p0, p1, p2) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - nullFunc_iiii(0); - return 0; -} - -function _isspace($c) { - $c = $c | 0; - return (($c | 0) == 32 | ($c + -9 | 0) >>> 0 < 5) & 1 | 0; -} - -function ___getTypeName($ti) { - $ti = $ti | 0; - return ___strdup(HEAP32[$ti + 4 >> 2] | 0) | 0; -} - -function _arVecFree($v) { - $v = $v | 0; - _free(HEAP32[$v >> 2] | 0); - _free($v); - return 0; -} - -function dynCall_i(index) { - index = index | 0; - return FUNCTION_TABLE_i[index & 1]() | 0; -} - -function __ZNK10__cxxabiv116__shim_type_info5noop2Ev($this) { - $this = $this | 0; - return; -} - -function __ZNK10__cxxabiv116__shim_type_info5noop1Ev($this) { - $this = $this | 0; - return; -} - -function b9(p0, p1, p2) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = p2 | 0; - nullFunc_viii(9); -} - -function b11(p0, p1, p2) { - p0 = p0 | 0; - p1 = p1 | 0; - p2 = +p2; - nullFunc_viid(11); -} - -function _setLogLevel($level) { - $level = $level | 0; - HEAP32[496] = $level; - return; -} - -function __ZN10__cxxabiv116__shim_type_infoD2Ev($this) { - $this = $this | 0; - return; -} - -function __ZNSt9bad_allocD0Ev($this) { - $this = $this | 0; - __ZdlPv($this); - return; -} - -function _copysignl($x, $y) { - $x = +$x; - $y = +$y; - return +(+_copysign($x, $y)); -} - -function _scalbnl($x, $n) { - $x = +$x; - $n = $n | 0; - return +(+_scalbn($x, $n)); -} - -function b2(p0, p1) { - p0 = p0 | 0; - p1 = p1 | 0; - nullFunc_dii(2); - return 0.0; -} - -function b14(p0, p1) { - p0 = p0 | 0; - p1 = p1 | 0; - nullFunc_iii(14); - return 0; -} - -function dynCall_v(index) { - index = index | 0; - FUNCTION_TABLE_v[index & 0](); -} - -function _frexpl($x, $e) { - $x = +$x; - $e = $e | 0; - return +(+_frexp($x, $e)); -} - -function __ZNKSt9bad_alloc4whatEv($this) { - $this = $this | 0; - return 12484; -} - -function _isupper($c) { - $c = $c | 0; - return ($c + -65 | 0) >>> 0 < 26 | 0; -} - -function _fmodl($x, $y) { - $x = +$x; - $y = +$y; - return +(+_fmod($x, $y)); -} - -function _arPattCreateHandle() { - return _arPattCreateHandle2(16, 50) | 0; -} - -function setTempRet0(value) { - value = value | 0; - tempRet0 = value; -} - -function b7(p0, p1) { - p0 = p0 | 0; - p1 = p1 | 0; - nullFunc_vii(7); -} - -function __ZNSt9type_infoD2Ev($this) { - $this = $this | 0; - return; -} - -function __ZNSt9exceptionD2Ev($this) { - $this = $this | 0; - return; -} - -function __ZNSt9bad_allocD2Ev($this) { - $this = $this | 0; - return; -} - -function __ZdlPv($ptr) { - $ptr = $ptr | 0; - _free($ptr); - return; -} - -function b3(p0, p1) { - p0 = p0 | 0; - p1 = +p1; - nullFunc_vid(3); -} - -function _ftell($f) { - $f = $f | 0; - return ___ftello($f) | 0; -} - -function stackRestore(top) { - top = top | 0; - STACKTOP = top; -} - -function b4(p0) { - p0 = p0 | 0; - nullFunc_di(4); - return 0.0; -} - -function b8(p0) { - p0 = p0 | 0; - nullFunc_ii(8); - return 0; -} - -function ___unlockfile($f) { - $f = $f | 0; - return; -} - -function ___lockfile($f) { - $f = $f | 0; - return 0; -} - -function _getLogLevel() { - return HEAP32[496] | 0; -} - -function b6(p0) { - p0 = p0 | 0; - nullFunc_vi(6); -} - -function getTempRet0() { - return tempRet0 | 0; -} - -function stackSave() { - return STACKTOP | 0; -} - -function b5() { - nullFunc_i(5); - return 0; -} - -function b10() { - nullFunc_v(10); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_iiii = [b0,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,_sn_write,___stdio_write,___stdio_seek,___stdout_write,_setup,_setMarkerInfoDir,_getTransMatSquare,_getTransMatSquareCont,_getMultiEachMarkerInfo,__ZN10emscripten8internal7InvokerIiJiNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiiS8_EiPNS0_11BindingTypeIS8_EUt_E,__ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii,___stdio_read,_do_read]; -var FUNCTION_TABLE_viiiii = [b1,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib]; -var FUNCTION_TABLE_dii = [b2,__ZN10emscripten8internal7InvokerIdJiEE6invokeEPFdiEi]; -var FUNCTION_TABLE_vid = [b3,_setProjectionNearPlane,_setProjectionFarPlane,_setPattRatio]; -var FUNCTION_TABLE_di = [b4,_getProjectionNearPlane,_getProjectionFarPlane,_getPattRatio]; -var FUNCTION_TABLE_i = [b5,_getLogLevel]; -var FUNCTION_TABLE_vi = [b6,__ZNSt9bad_allocD2Ev,__ZNSt9bad_allocD0Ev,__ZN10__cxxabiv116__shim_type_infoD2Ev,__ZN10__cxxabiv123__fundamental_type_infoD0Ev,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,__ZN10__cxxabiv117__class_type_infoD0Ev,__ZN10__cxxabiv120__si_class_type_infoD0Ev,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,_setLogLevel,__ZNSt3__113unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEED2Ev,__ZNSt3__113unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEED2Ev,_cleanup387,_cleanup392,b6]; -var FUNCTION_TABLE_vii = [b7,_setThresholdMode,_setThreshold,_setPatternDetectionMode,_setMatrixCodeType,_setLabelingMode,_setImageProcMode,__ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi]; -var FUNCTION_TABLE_ii = [b8,__ZNKSt9bad_alloc4whatEv,___stdio_close,_teardown,_getMultiMarkerCount,_loadCamera,_detectMarker,_getMarkerNum,_getDebugMode,_getProcessingImage,_getThresholdMode,_getThreshold,_getPatternDetectionMode,_getMatrixCodeType,_getLabelingMode,_getImageProcMode,__ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8 -,b8,b8,b8]; -var FUNCTION_TABLE_viii = [b9,__ZN10emscripten8internal7InvokerIvJiiEE6invokeEPFviiEii]; -var FUNCTION_TABLE_v = [b10]; -var FUNCTION_TABLE_viid = [b11,__ZN10emscripten8internal7InvokerIvJidEE6invokeEPFvidEid,__ZN10emscripten8internal7InvokerIvJifEE6invokeEPFvifEif,b11]; -var FUNCTION_TABLE_iiiii = [b12,__ZN10emscripten8internal7InvokerIiJiiiEE6invokeEPFiiiiEiii]; -var FUNCTION_TABLE_viiiiii = [b13,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib]; -var FUNCTION_TABLE_iii = [b14,_compE,_addMarker,_addMultiMarker,_getMultiMarkerNum,_setMarkerInfoVertex,_getTransMatMultiSquare,_getTransMatMultiSquareRobust,_getMarkerInfo,_setDebugMode,__ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi,__ZN10emscripten8internal7InvokerIiJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_EUt_E,b14,b14,b14,b14]; -var FUNCTION_TABLE_viiii = [b15,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi]; - - return { _malloc: _malloc, _i64Subtract: _i64Subtract, _fflush: _fflush, _i64Add: _i64Add, _memmove: _memmove, _memset: _memset, ___cxa_demangle: ___cxa_demangle, _memcpy: _memcpy, ___getTypeName: ___getTypeName, _bitshift64Lshr: _bitshift64Lshr, _free: _free, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, __GLOBAL__sub_I_ARToolKitJS_cpp: __GLOBAL__sub_I_ARToolKitJS_cpp, __GLOBAL__sub_I_bind_cpp: __GLOBAL__sub_I_bind_cpp, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiii: dynCall_viiiii, dynCall_dii: dynCall_dii, dynCall_vid: dynCall_vid, dynCall_di: dynCall_di, dynCall_i: dynCall_i, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_viiii: dynCall_viiii }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var real____cxa_demangle = asm["___cxa_demangle"]; asm["___cxa_demangle"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real____cxa_demangle.apply(null, arguments); -}; - -var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__i64Subtract.apply(null, arguments); -}; - -var real___GLOBAL__sub_I_bind_cpp = asm["__GLOBAL__sub_I_bind_cpp"]; asm["__GLOBAL__sub_I_bind_cpp"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real___GLOBAL__sub_I_bind_cpp.apply(null, arguments); -}; - -var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__fflush.apply(null, arguments); -}; - -var real___GLOBAL__sub_I_ARToolKitJS_cpp = asm["__GLOBAL__sub_I_ARToolKitJS_cpp"]; asm["__GLOBAL__sub_I_ARToolKitJS_cpp"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real___GLOBAL__sub_I_ARToolKitJS_cpp.apply(null, arguments); -}; - -var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__i64Add.apply(null, arguments); -}; - -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__memmove.apply(null, arguments); -}; - -var real__malloc = asm["_malloc"]; asm["_malloc"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__malloc.apply(null, arguments); -}; - -var real____getTypeName = asm["___getTypeName"]; asm["___getTypeName"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real____getTypeName.apply(null, arguments); -}; - -var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__bitshift64Lshr.apply(null, arguments); -}; - -var real__free = asm["_free"]; asm["_free"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__free.apply(null, arguments); -}; - -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real____errno_location.apply(null, arguments); -}; - -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { -assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); -assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); -return real__bitshift64Shl.apply(null, arguments); -}; -var ___cxa_demangle = Module["___cxa_demangle"] = asm["___cxa_demangle"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var __GLOBAL__sub_I_bind_cpp = Module["__GLOBAL__sub_I_bind_cpp"] = asm["__GLOBAL__sub_I_bind_cpp"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var __GLOBAL__sub_I_ARToolKitJS_cpp = Module["__GLOBAL__sub_I_ARToolKitJS_cpp"] = asm["__GLOBAL__sub_I_ARToolKitJS_cpp"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var ___getTypeName = Module["___getTypeName"] = asm["___getTypeName"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _free = Module["_free"] = asm["_free"]; -var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_dii = Module["dynCall_dii"] = asm["dynCall_dii"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; - -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; - -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; - - - -// === Auto-generated postamble setup entry stuff === - - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!Module['calledRun']) run(); - if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -} - -Module['callMain'] = Module.callMain = function callMain(args) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - args = args || []; - - ensureInitRuntime(); - - var argc = args.length+1; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - try { - - var ret = Module['_main'](argc, argv, 0); - - - // if we're not running an evented main loop, it's time to exit - exit(ret, /* implicit = */ true); - } - catch(e) { - if (e instanceof ExitStatus) { - // exit() throws this once it's done to make sure execution - // has been stopped completely - return; - } else if (e == 'SimulateInfiniteLoop') { - // running an evented main loop, don't immediately exit - Module['noExitRuntime'] = true; - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } finally { - calledMain = true; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - Module.printErr('run() called, but dependencies remain, so not running'); - return; - } - - preRun(); - - if (runDependencies > 0) return; // a preRun added a dependency, run will be called later - if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame - - function doRun() { - if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening - Module['calledRun'] = true; - - if (ABORT) return; - - ensureInitRuntime(); - - preMain(); - - if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (Module['_main'] && shouldRunNow) Module['callMain'](args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } -} -Module['run'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); - } else { - - ABORT = true; - EXITSTATUS = status; - STACKTOP = initialStackTop; - - exitRuntime(); - - if (Module['onExit']) Module['onExit'](status); - } - - if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); - } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); -} -Module['exit'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(what) { - if (what !== undefined) { - Module.print(what); - Module.printErr(what); - what = JSON.stringify(what) - } else { - what = ''; - } - - ABORT = true; - EXITSTATUS = 1; - - var extra = ''; - - var output = 'abort(' + what + ') at ' + stackTrace() + extra; - if (abortDecorators) { - abortDecorators.forEach(function(decorator) { - output = decorator(output, what); - }); - } - throw output; -} -Module['abort'] = Module.abort = abort; - -// {{PRE_RUN_ADDITIONS}} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; -if (Module['noInitialRun']) { - shouldRunNow = false; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - - -// {{MODULE_ADDITIONS}} - - - - - - diff --git a/three.js/vendor/jsartoolkit5/build/artoolkit.min.js b/three.js/vendor/jsartoolkit5/build/artoolkit.min.js deleted file mode 100644 index cac6a6d9..00000000 --- a/three.js/vendor/jsartoolkit5/build/artoolkit.min.js +++ /dev/null @@ -1,18 +0,0 @@ -((function(){"use strict";var ARController=(function(width,height,camera){var id;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;camera=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.transform_mat=new Float32Array(16);this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d");this.videoWidth=w;this.videoHeight=h;if(typeof camera==="string"){var self=this;this.cameraParam=new ARCameraParam(camera,(function(){self._initialize()}),(function(err){console.error("ARController: Failed to load ARCameraParam",err)}))}else{this.cameraParam=camera;this._initialize()}});ARController.prototype.dispose=(function(){artoolkit.teardown(this.id);for(var t in this){this[t]=null}});ARController.prototype.process=(function(image){this.detectMarker(image);var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat}})}var multiMarkerCount=this.getMultiMarkerCount();for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}});ARController.prototype.dispatchEvent=(function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[(function($0,$1,$2,$3){{if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3}}),(function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){{var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]}}),(function($0,$1,$2,$3,$4){{if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4}})];function _emscripten_asm_const_33(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}function _emscripten_asm_const_4(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_5(code,a0,a1,a2,a3,a4){return ASM_CONSTS[code](a0,a1,a2,a3,a4)}STATIC_BASE=8;STATICTOP=STATIC_BASE+16496;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_ARToolKitJS_cpp()})},{func:(function(){__GLOBAL__sub_I_bind_cpp()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,9,0,0,53,42,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,116,42,0,0,52,9,0,0,136,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,52,9,0,0,73,47,0,0,0,0,0,0,1,0,0,0,128,1,0,0,0,0,0,0,228,8,0,0,54,47,0,0,228,8,0,0,23,47,0,0,228,8,0,0,62,46,0,0,228,8,0,0,31,46,0,0,228,8,0,0,0,46,0,0,228,8,0,0,225,45,0,0,228,8,0,0,194,45,0,0,228,8,0,0,93,46,0,0,228,8,0,0,124,46,0,0,228,8,0,0,155,46,0,0,228,8,0,0,186,46,0,0,228,8,0,0,217,46,0,0,228,8,0,0,248,46,0,0,12,9,0,0,199,47,0,0,48,2,0,0,0,0,0,0,228,8,0,0,212,47,0,0,228,8,0,0,225,47,0,0,12,9,0,0,238,47,0,0,56,2,0,0,0,0,0,0,12,9,0,0,15,48,0,0,64,2,0,0,0,0,0,0,12,9,0,0,49,48,0,0,64,2,0,0,0,0,0,0,200,8,0,0,89,48,0,0,200,8,0,0,91,48,0,0,200,8,0,0,93,48,0,0,200,8,0,0,95,48,0,0,200,8,0,0,97,48,0,0,200,8,0,0,99,48,0,0,200,8,0,0,101,48,0,0,200,8,0,0,103,48,0,0,200,8,0,0,105,48,0,0,200,8,0,0,107,48,0,0,200,8,0,0,109,48,0,0,200,8,0,0,111,48,0,0,200,8,0,0,113,48,0,0,12,9,0,0,115,48,0,0,80,2,0,0,0,0,0,0,12,9,0,0,152,48,0,0,80,2,0,0,0,0,0,0,255,15,0,0,6,16,0,0,18,16,0,0,28,16,0,0,255,255,255,255,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,11,0,0,0,5,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,3,0,0,0,6,0,0,0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0,0,67,0,0,0,5,0,0,0,10,0,0,0,20,0,0,0,40,0,0,0,80,0,0,0,35,0,0,0,70,0,0,0,15,0,0,0,30,0,0,0,60,0,0,0,120,0,0,0,115,0,0,0,101,0,0,0,73,0,0,0,17,0,0,0,34,0,0,0,68,0,0,0,11,0,0,0,22,0,0,0,44,0,0,0,88,0,0,0,51,0,0,0,102,0,0,0,79,0,0,0,29,0,0,0,58,0,0,0,116,0,0,0,107,0,0,0,85,0,0,0,41,0,0,0,82,0,0,0,39,0,0,0,78,0,0,0,31,0,0,0,62,0,0,0,124,0,0,0,123,0,0,0,117,0,0,0,105,0,0,0,81,0,0,0,33,0,0,0,66,0,0,0,7,0,0,0,14,0,0,0,28,0,0,0,56,0,0,0,112,0,0,0,99,0,0,0,69,0,0,0,9,0,0,0,18,0,0,0,36,0,0,0,72,0,0,0,19,0,0,0,38,0,0,0,76,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,91,0,0,0,53,0,0,0,106,0,0,0,87,0,0,0,45,0,0,0,90,0,0,0,55,0,0,0,110,0,0,0,95,0,0,0,61,0,0,0,122,0,0,0,119,0,0,0,109,0,0,0,89,0,0,0,49,0,0,0,98,0,0,0,71,0,0,0,13,0,0,0,26,0,0,0,52,0,0,0,104,0,0,0,83,0,0,0,37,0,0,0,74,0,0,0,23,0,0,0,46,0,0,0,92,0,0,0,59,0,0,0,118,0,0,0,111,0,0,0,93,0,0,0,57,0,0,0,114,0,0,0,103,0,0,0,77,0,0,0,25,0,0,0,50,0,0,0,100,0,0,0,75,0,0,0,21,0,0,0,42,0,0,0,84,0,0,0,43,0,0,0,86,0,0,0,47,0,0,0,94,0,0,0,63,0,0,0,126,0,0,0,127,0,0,0,125,0,0,0,121,0,0,0,113,0,0,0,97,0,0,0,65,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,8,0,0,0,5,0,0,0,10,0,0,0,3,0,0,0,14,0,0,0,9,0,0,0,7,0,0,0,6,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,56,0,0,0,3,0,0,0,63,0,0,0,15,0,0,0,31,0,0,0,9,0,0,0,90,0,0,0,57,0,0,0,21,0,0,0,4,0,0,0,28,0,0,0,64,0,0,0,67,0,0,0,16,0,0,0,112,0,0,0,32,0,0,0,97,0,0,0,10,0,0,0,108,0,0,0,91,0,0,0,70,0,0,0,58,0,0,0,38,0,0,0,22,0,0,0,47,0,0,0,5,0,0,0,54,0,0,0,29,0,0,0,19,0,0,0,65,0,0,0,95,0,0,0,68,0,0,0,45,0,0,0,17,0,0,0,43,0,0,0,113,0,0,0,115,0,0,0,33,0,0,0,77,0,0,0,98,0,0,0,117,0,0,0,11,0,0,0,87,0,0,0,109,0,0,0,35,0,0,0,92,0,0,0,74,0,0,0,71,0,0,0,79,0,0,0,59,0,0,0,104,0,0,0,39,0,0,0,100,0,0,0,23,0,0,0,82,0,0,0,48,0,0,0,119,0,0,0,6,0,0,0,126,0,0,0,55,0,0,0,13,0,0,0,30,0,0,0,62,0,0,0,20,0,0,0,89,0,0,0,66,0,0,0,27,0,0,0,96,0,0,0,111,0,0,0,69,0,0,0,107,0,0,0,46,0,0,0,37,0,0,0,18,0,0,0,53,0,0,0,44,0,0,0,94,0,0,0,114,0,0,0,42,0,0,0,116,0,0,0,76,0,0,0,34,0,0,0,86,0,0,0,78,0,0,0,73,0,0,0,99,0,0,0,103,0,0,0,118,0,0,0,81,0,0,0,12,0,0,0,125,0,0,0,88,0,0,0,61,0,0,0,110,0,0,0,26,0,0,0,36,0,0,0,106,0,0,0,93,0,0,0,52,0,0,0,75,0,0,0,41,0,0,0,72,0,0,0,85,0,0,0,80,0,0,0,102,0,0,0,60,0,0,0,124,0,0,0,105,0,0,0,25,0,0,0,40,0,0,0,51,0,0,0,101,0,0,0,84,0,0,0,24,0,0,0,123,0,0,0,83,0,0,0,50,0,0,0,49,0,0,0,122,0,0,0,120,0,0,0,121,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,136,0,0,0,5,0,0,0,144,0,0,0,6,0,0,0,152,0,0,0,9,0,0,0,176,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,112,2,0,0,168,2,0,0,200,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,208,2,0,0,168,2,0,0,112,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,104,1,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,168,2,0,0,0,0,0,0,32,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,96,2,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,80,2,0,0,3,0,0,0,7,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,216,2,0,0,3,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,2,0,0,3,0,0,0,9,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,240,10,0,0,96,11,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,81,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,73,58,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,211,0,0,0,1,0,0,0,11,0,0,0,13,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,29,0,0,0,31,0,0,0,37,0,0,0,41,0,0,0,43,0,0,0,47,0,0,0,53,0,0,0,59,0,0,0,61,0,0,0,67,0,0,0,71,0,0,0,73,0,0,0,79,0,0,0,83,0,0,0,89,0,0,0,97,0,0,0,101,0,0,0,103,0,0,0,107,0,0,0,109,0,0,0,113,0,0,0,121,0,0,0,127,0,0,0,131,0,0,0,137,0,0,0,139,0,0,0,143,0,0,0,149,0,0,0,151,0,0,0,157,0,0,0,163,0,0,0,167,0,0,0,169,0,0,0,173,0,0,0,179,0,0,0,181,0,0,0,187,0,0,0,191,0,0,0,193,0,0,0,197,0,0,0,199,0,0,0,209,0,0,0,69,114,114,111,114,58,32,108,97,98,101,108,105,110,103,32,119,111,114,107,32,111,118,101,114,102,108,111,119,46,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,40,37,100,41,32,114,101,113,117,101,115,116,101,100,46,10,0,85,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,108,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,114,101,113,117,101,115,116,101,100,46,32,83,101,116,32,116,111,32,109,97,110,117,97,108,46,10,0,76,97,98,101,108,105,110,103,32,116,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,46,10,0,77,65,78,85,65,76,0,65,85,84,79,95,77,69,68,73,65,78,0,65,85,84,79,95,79,84,83,85,0,65,85,84,79,95,65,68,65,80,84,73,86,69,65,85,84,79,95,66,82,65,67,75,69,84,73,78,71,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,109,97,114,107,101,114,32,99,111,117,110,116,115,32,45,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,32,91,37,51,100,58,32,37,51,100,93,43,46,10,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,98,114,97,99,107,101,116,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,109,101,100,105,97,110,0,79,116,115,117,0,65,117,116,111,32,116,104,114,101,115,104,111,108,100,32,40,37,115,41,32,97,100,106,117,115,116,101,100,32,116,104,114,101,115,104,111,108,100,32,116,111,32,37,100,46,10,0,63,63,63,32,49,10,0,63,63,63,32,50,10,0,63,63,63,32,51,10,0,69,114,114,111,114,58,32,85,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,32,112,97,115,115,101,100,32,116,111,32,97,114,73,109,97,103,101,80,114,111,99,72,105,115,116,40,41,46,10,0,0,0,0,1,0,1,1,1,0,2,4,255,255,5,3,1,0,2,255,6,7,255,3,1,2,2,3,2,3,2,3,3,0,255,4,6,7,5,255,1,4,5,4,4,5,5,4,5,7,6,6,6,7,7,7,6,255,2,4,6,7,5,3,255,0,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,0,1,1,0,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,0,1,1,1,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,0,0,255,255,3,255,5,6,255,255,9,10,255,12,255,255,15,255,17,18,255,20,255,255,23,24,255,255,27,255,29,30,255,255,1,2,255,4,255,255,7,8,255,255,11,255,13,14,255,16,255,255,19,255,21,22,255,255,25,26,255,28,255,255,31,69,114,114,111,114,58,32,117,110,115,117,112,112,111,114,116,101,100,32,112,105,120,101,108,32,102,111,114,109,97,116,46,10,0,69,114,114,111,114,58,32,78,85,76,76,32,112,97,116,116,72,97,110,100,108,101,46,10,0,69,114,114,111,114,58,32,99,97,110,39,116,32,108,111,97,100,32,112,97,116,116,101,114,110,32,102,114,111,109,32,78,85,76,76,32,98,117,102,102,101,114,46,10,0,69,114,114,111,114,58,32,111,117,116,32,111,102,32,109,101,109,111,114,121,46,10,0,32,9,10,13,0,80,97,116,116,101,114,110,32,68,97,116,97,32,114,101,97,100,32,101,114,114,111,114,33,33,10,0,69,114,114,111,114,32,111,112,101,110,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,39,37,115,39,46,10,0,114,98,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,115,32,102,105,108,101,32,34,37,115,34,32,102,111,114,32,114,101,97,100,105,110,103,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,102,105,108,101,32,108,101,110,103,116,104,46,0,69,114,114,111,114,58,32,115,117,112,112,108,105,101,100,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,97,112,112,101,97,114,32,116,111,32,98,101,32,97,110,32,65,82,84,111,111,108,75,105,116,32,99,97,109,101,114,97,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,46,10,0,69,114,114,111,114,32,40,37,100,41,58,32,117,110,97,98,108,101,32,116,111,32,114,101,97,100,32,102,114,111,109,32,102,105,108,101,46,0,69,114,114,111,114,58,32,105,99,112,71,101,116,74,95,85,95,88,99,0,69,114,114,111,114,58,32,109,97,108,108,111,99,10,0,69,114,114,111,114,32,49,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,50,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,51,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,52,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,53,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,54,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,69,114,114,111,114,32,55,58,32,105,99,112,71,101,116,73,110,105,116,88,119,50,88,99,10,0,114,0,69,114,114,111,114,58,32,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,46,10,0,37,115,37,115,10,0,0,37,100,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,110,117,109,98,101,114,32,111,102,32,109,97,114,107,101,114,32,99,111,110,102,105,103,115,32,116,111,32,114,101,97,100,46,10,0,79,117,116,32,111,102,32,109,101,109,111,114,121,33,33,10,0,37,108,108,117,37,99,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,112,97,116,116,101,114,110,32,39,37,115,39,32,115,112,101,99,105,102,105,101,100,32,105,110,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,119,104,105,108,101,32,105,110,32,98,97,114,99,111,100,101,45,111,110,108,121,32,109,111,100,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,100,101,116,101,114,109,105,110,101,32,100,105,114,101,99,116,111,114,121,32,110,97,109,101,46,10,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,58,32,85,110,97,98,108,101,32,116,111,32,108,111,97,100,32,112,97,116,116,101,114,110,32,39,37,115,39,46,10,0,37,108,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,70,105,114,115,116,32,108,105,110,101,32,109,117,115,116,32,98,101,32,112,97,116,116,101,114,110,32,119,105,100,116,104,46,10,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,37,102,32,37,102,0,69,114,114,111,114,32,112,114,111,99,101,115,115,105,110,103,32,109,117,108,116,105,109,97,114,107,101,114,32,99,111,110,102,105,103,32,102,105,108,101,32,39,37,115,39,44,32,109,97,114,107,101,114,32,100,101,102,105,110,105,116,105,111,110,32,37,51,100,58,32,76,105,110,101,115,32,50,32,45,32,52,32,109,117,115,116,32,98,101,32,109,97,114,107,101,114,32,116,114,97,110,115,102,111,114,109,46,10,0,97,114,103,108,67,97,109,101,114,97,70,114,117,115,116,117,109,40,41,58,32,97,114,80,97,114,97,109,68,101,99,111,109,112,77,97,116,40,41,32,105,110,100,105,99,97,116,101,100,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,46,10,0,108,111,97,100,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,114,97,109,101,116,101,114,32,102,105,108,101,32,37,115,32,102,111,114,32,99,97,109,101,114,97,46,10,0,42,42,42,32,67,97,109,101,114,97,32,80,97,114,97,109,101,116,101,114,32,114,101,115,105,122,101,100,32,102,114,111,109,32,37,100,44,32,37,100,46,32,42,42,42,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,114,97,109,76,84,67,114,101,97,116,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,58,32,97,114,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,115,101,116,67,97,109,101,114,97,40,41,58,32,69,114,114,111,114,32,99,114,101,97,116,105,110,103,32,51,68,32,104,97,110,100,108,101,0,108,111,97,100,77,97,114,107,101,114,40,41,58,32,69,114,114,111,114,32,108,111,97,100,105,110,103,32,112,97,116,116,101,114,110,32,102,105,108,101,32,37,115,46,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,97,114,107,101,114,46,10,0,99,111,110,102,105,103,32,100,97,116,97,32,108,111,97,100,32,101,114,114,111,114,32,33,33,10,0,65,82,84,111,111,108,75,105,116,74,83,40,41,58,32,85,110,97,98,108,101,32,116,111,32,115,101,116,32,117,112,32,65,82,32,109,117,108,116,105,109,97,114,107,101,114,46,10,0,80,97,116,116,101,114,110,32,100,101,116,101,99,116,105,111,110,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,80,97,116,116,101,114,110,32,114,97,116,105,111,32,115,105,122,101,32,115,101,116,32,116,111,32,37,102,46,10,0,76,97,98,101,108,105,110,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,115,101,116,32,116,111,32,37,100,10,0,84,104,114,101,115,104,111,108,100,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,10,0,111,110,46,0,111,102,102,46,0,68,101,98,117,103,32,109,111,100,101,32,115,101,116,32,116,111,32,37,115,10,0,73,109,97,103,101,32,112,114,111,99,46,32,109,111,100,101,32,115,101,116,32,116,111,32,37,100,46,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,73,110,102,111,34,93,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,118,105,115,105,98,108,101,39,93,32,61,32,36,48,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,73,100,39,93,32,61,32,36,49,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,112,97,116,116,84,121,112,101,39,93,32,61,32,36,50,59,32,109,117,108,116,105,69,97,99,104,77,97,114,107,101,114,91,39,119,105,100,116,104,39,93,32,61,32,36,51,59,32,125,0,123,32,118,97,114,32,36,97,32,61,32,97,114,103,117,109,101,110,116,115,59,32,118,97,114,32,105,32,61,32,49,50,59,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,32,61,32,40,123,32,112,111,115,58,32,91,48,44,48,93,44,32,108,105,110,101,58,32,91,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,44,32,91,48,44,48,44,48,93,93,44,32,118,101,114,116,101,120,58,32,91,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,44,32,91,48,44,48,93,93,32,125,41,59,32,125,32,118,97,114,32,109,97,114,107,101,114,73,110,102,111,32,61,32,97,114,116,111,111,108,107,105,116,91,34,109,97,114,107,101,114,73,110,102,111,34,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,97,114,101,97,34,93,32,61,32,36,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,34,93,32,61,32,36,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,80,97,116,116,34,93,32,61,32,36,50,59,32,109,97,114,107,101,114,73,110,102,111,91,34,105,100,77,97,116,114,105,120,34,93,32,61,32,36,51,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,34,93,32,61,32,36,52,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,80,97,116,116,34,93,32,61,32,36,53,59,32,109,97,114,107,101,114,73,110,102,111,91,34,100,105,114,77,97,116,114,105,120,34,93,32,61,32,36,54,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,34,93,32,61,32,36,55,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,80,97,116,116,34,93,32,61,32,36,56,59,32,109,97,114,107,101,114,73,110,102,111,91,34,99,102,77,97,116,114,105,120,34,93,32,61,32,36,57,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,48,93,32,61,32,36,49,48,59,32,109,97,114,107,101,114,73,110,102,111,91,34,112,111,115,34,93,91,49,93,32,61,32,36,49,49,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,48,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,49,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,50,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,108,105,110,101,34,93,91,51,93,91,50,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,48,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,49,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,50,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,48,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,118,101,114,116,101,120,34,93,91,51,93,91,49,93,32,61,32,36,97,91,105,43,43,93,59,32,109,97,114,107,101,114,73,110,102,111,91,34,101,114,114,111,114,67,111,114,114,101,99,116,101,100,34,93,32,61,32,36,97,91,105,43,43,93,59,32,125,0,115,101,116,117,112,40,41,58,32,69,114,114,111,114,58,32,97,114,80,97,116,116,67,114,101,97,116,101,72,97,110,100,108,101,46,10,0,65,108,108,111,99,97,116,101,100,32,118,105,100,101,111,70,114,97,109,101,83,105,122,101,32,37,100,10,0,123,32,105,102,32,40,33,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,41,32,123,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,32,61,32,40,123,125,41,59,32,125,32,118,97,114,32,102,114,97,109,101,77,97,108,108,111,99,32,61,32,97,114,116,111,111,108,107,105,116,91,34,102,114,97,109,101,77,97,108,108,111,99,34,93,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,112,111,105,110,116,101,114,34,93,32,61,32,36,49,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,102,114,97,109,101,115,105,122,101,34,93,32,61,32,36,50,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,99,97,109,101,114,97,34,93,32,61,32,36,51,59,32,102,114,97,109,101,77,97,108,108,111,99,91,34,116,114,97,110,115,102,111,114,109,34,93,32,61,32,36,52,59,32,125,0,115,101,116,117,112,0,116,101,97,114,100,111,119,110,0,95,97,100,100,77,97,114,107,101,114,0,95,97,100,100,77,117,108,116,105,77,97,114,107,101,114,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,77,97,114,107,101,114,67,111,117,110,116,0,95,108,111,97,100,67,97,109,101,114,97,0,115,101,116,77,97,114,107,101,114,73,110,102,111,68,105,114,0,115,101,116,77,97,114,107,101,114,73,110,102,111,86,101,114,116,101,120,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,83,113,117,97,114,101,67,111,110,116,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,0,103,101,116,84,114,97,110,115,77,97,116,77,117,108,116,105,83,113,117,97,114,101,82,111,98,117,115,116,0,100,101,116,101,99,116,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,78,117,109,0,103,101,116,77,117,108,116,105,69,97,99,104,77,97,114,107,101,114,0,103,101,116,77,97,114,107,101,114,0,115,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,68,101,98,117,103,77,111,100,101,0,103,101,116,80,114,111,99,101,115,115,105,110,103,73,109,97,103,101,0,115,101,116,76,111,103,76,101,118,101,108,0,103,101,116,76,111,103,76,101,118,101,108,0,115,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,78,101,97,114,80,108,97,110,101,0,115,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,103,101,116,80,114,111,106,101,99,116,105,111,110,70,97,114,80,108,97,110,101,0,115,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,103,101,116,84,104,114,101,115,104,111,108,100,77,111,100,101,0,115,101,116,84,104,114,101,115,104,111,108,100,0,103,101,116,84,104,114,101,115,104,111,108,100,0,115,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,103,101,116,80,97,116,116,101,114,110,68,101,116,101,99,116,105,111,110,77,111,100,101,0,115,101,116,80,97,116,116,82,97,116,105,111,0,103,101,116,80,97,116,116,82,97,116,105,111,0,115,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,103,101,116,77,97,116,114,105,120,67,111,100,101,84,121,112,101,0,115,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,103,101,116,76,97,98,101,108,105,110,103,77,111,100,101,0,115,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,103,101,116,73,109,97,103,101,80,114,111,99,77,111,100,101,0,69,82,82,79,82,95,65,82,67,79,78,84,82,79,76,76,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,85,76,84,73,77,65,82,75,69,82,95,78,79,84,95,70,79,85,78,68,0,69,82,82,79,82,95,77,65,82,75,69,82,95,73,78,68,69,88,95,79,85,84,95,79,70,95,66,79,85,78,68,83,0,65,82,95,68,69,66,85,71,95,68,73,83,65,66,76,69,0,65,82,95,68,69,66,85,71,95,69,78,65,66,76,69,0,65,82,95,68,69,70,65,85,76,84,95,68,69,66,85,71,95,77,79,68,69,0,65,82,95,76,65,66,69,76,73,78,71,95,87,72,73,84,69,95,82,69,71,73,79,78,0,65,82,95,76,65,66,69,76,73,78,71,95,66,76,65,67,75,95,82,69,71,73,79,78,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,77,79,68,69,0,65,82,95,68,69,70,65,85,76,84,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,82,65,77,69,95,73,77,65,71,69,0,65,82,95,73,77,65,71,69,95,80,82,79,67,95,70,73,69,76,68,95,73,77,65,71,69,0,65,82,95,68,69,70,65,85,76,84,95,73,77,65,71,69,95,80,82,79,67,95,77,79,68,69,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,68,69,84,69,67,84,73,79,78,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,67,79,76,79,82,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,84,69,77,80,76,65,84,69,95,77,65,84,67,72,73,78,71,95,77,79,78,79,95,65,78,68,95,77,65,84,82,73,88,0,65,82,95,68,69,70,65,85,76,84,95,80,65,84,84,69,82,78,95,68,69,84,69,67,84,73,79,78,95,77,79,68,69,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,78,79,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,0,65,82,95,85,83,69,95,84,82,65,67,75,73,78,71,95,72,73,83,84,79,82,89,95,86,50,0,65,82,95,68,69,70,65,85,76,84,95,77,65,82,75,69,82,95,69,88,84,82,65,67,84,73,79,78,95,77,79,68,69,0,65,82,95,77,65,88,95,76,79,79,80,95,67,79,85,78,84,0,65,82,95,76,79,79,80,95,66,82,69,65,75,95,84,72,82,69,83,72,0,65,82,95,76,79,71,95,76,69,86,69,76,95,68,69,66,85,71,0,65,82,95,76,79,71,95,76,69,86,69,76,95,73,78,70,79,0,65,82,95,76,79,71,95,76,69,86,69,76,95,87,65,82,78,0,65,82,95,76,79,71,95,76,69,86,69,76,95,69,82,82,79,82,0,65,82,95,76,79,71,95,76,69,86,69,76,95,82,69,76,95,73,78,70,79,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,72,65,77,77,73,78,71,54,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,51,120,51,95,80,65,82,73,84,89,54,53,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,57,95,51,0,65,82,95,77,65,84,82,73,88,95,67,79,68,69,95,52,120,52,95,66,67,72,95,49,51,95,53,95,53,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,77,65,78,85,65,76,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,77,69,68,73,65,78,0,65,82,95,76,65],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,79,84,83,85,0,65,82,95,76,65,66,69,76,73,78,71,95,84,72,82,69,83,72,95,77,79,68,69,95,65,85,84,79,95,65,68,65,80,84,73,86,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,78,79,78,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,65,84,84,69,82,78,95,69,88,84,82,65,67,84,73,79,78,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,71,69,78,69,82,73,67,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,84,82,65,83,84,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,78,79,84,95,70,79,85,78,68,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,66,65,82,67,79,68,69,95,69,68,67,95,70,65,73,76,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,77,65,84,67,72,95,67,79,78,70,73,68,69,78,67,69,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,80,79,83,69,95,69,82,82,79,82,95,77,85,76,84,73,0,65,82,95,77,65,82,75,69,82,95,73,78,70,79,95,67,85,84,79,70,70,95,80,72,65,83,69,95,72,69,85,82,73,83,84,73,67,95,84,82,79,85,66,76,69,83,79,77,69,95,77,65,84,82,73,88,95,67,79,68,69,83,0,118,105,105,102,0,118,105,105,105,0,100,105,105,0,118,105,105,100,0,105,105,0,118,105,105,0,105,105,105,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,105,105,105,105,0,105,105,105,105,105,0,118,111,105,100,0,98,111,111,108,0,99,104,97,114,0,115,105,103,110,101,100,32,99,104,97,114,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,115,104,111,114,116,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,105,110,116,0,117,110,115,105,103,110,101,100,32,105,110,116,0,108,111,110,103,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,102,108,111,97,116,0,100,111,117,98,108,101,0,115,116,100,58,58,115,116,114,105,110,103,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,115,116,100,58,58,119,115,116,114,105,110,103,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,57,116,121,112,101,95,105,110,102,111,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,118,0,98,0,99,0,104,0,97,0,115,0,116,0,105,0,106,0,108,0,109,0,102,0,100,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,106,101,114,111,109,101,101,116,105,101,110,110,101,47,119,111,114,107,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+15945);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}Module["_memset"]=_memset;var _BDtoILow=true;function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _free(){}Module["_free"]=_free;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i>2]=length;for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var getHeap,shift;if(charSize===2){getHeap=(function(){return HEAPU16});shift=1}else if(charSize===4){getHeap=(function(){return HEAPU32});shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var HEAP=getHeap();var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=(function(value){return value});if(minRange===0){var bitshift=32-8*size;fromWireType=(function(value){return value<>>bitshift})}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}Module["_bitshift64Lshr"]=_bitshift64Lshr;function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _llvm_ctlz_i32=true;function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var argsList="";var argsListWired="";for(var i=0;i0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value}}function requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;inode.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.lengthnewSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+lengthe2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"chunkSize",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperty(node,"usedBytes",{get:(function(){return this.contents.length})});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _cos=Math_cos;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}var _BItoD=true;function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _ceilf=Math_ceil;function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ed(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function fd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){b[e>>1]=0;a[l>>0]=0;m=q}else{a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function gd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l*3|0)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+3|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+6|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function hd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+10+(p<<5&224)+(q>>>3&28)+(q<<3&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function id(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+1>>0]|0)+(d[s>>0]|0)+(d[s+2>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function jd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){q=d[s>>0]|0;do if(((q&240)+24+(q<<4&240)+((d[s+1>>0]|0)&240)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function kd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<1)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){p=d[s>>0]|0;q=d[s+1>>0]|0;do if(((p&248)+12+(p<<5&224)+(q>>>3&24)+(q<<2&248)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+2|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+4|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function ld(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;p=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=p;n=p+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=j*3|0;z=f+-1|0;if((g|0)>0){l=0;j=p;m=p+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{j=j+(f<<1)|0;m=m+(f<<1)|0}}}m=k+1179664|0;l=f+1|0;w=0-f|0;u=1-f|0;v=~f;a:do if((B|0)>1){x=(z|0)>1;o=(c[k+4>>2]|0)+l|0;y=1;n=e+(l<<2)|0;e=p+(l<<1)|0;j=0;b:while(1){if(x){l=o;t=1;s=n;r=j;while(1){do if(((d[s+2>>0]|0)+(d[s+1>>0]|0)+(d[s+3>>0]|0)|0)>(A|0)){b[e>>1]=0;a[l>>0]=0;j=r}else{a[l>>0]=-1;j=b[e+(w<<1)>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}o=b[e+(u<<1)>>1]|0;p=o<<16>>16;j=b[e+(v<<1)>>1]|0;q=j<<16>>16;n=j<<16>>16>0;if(o<<16>>16<=0){if(n){b[e>>1]=j;j=q*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=b[e+-2>>1]|0;if(j<<16>>16>0){b[e>>1]=j;j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(t|0)){j=r;break}c[j>>2]=t;j=r;break}else{j=r+1|0;if((r|0)>32767)break b;b[e>>1]=j;c[k+1179664+(r<<2)>>2]=j<<16>>16;r=r*7|0;c[k+1310736+(r<<2)>>2]=1;c[k+1310736+(r+1<<2)>>2]=t;c[k+1310736+(r+2<<2)>>2]=y;c[k+1310736+(r+3<<2)>>2]=t;c[k+1310736+(r+4<<2)>>2]=t;c[k+1310736+(r+5<<2)>>2]=y;c[k+1310736+(r+6<<2)>>2]=y;break}}if(n){j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+(q+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;q=k+1310736+(j+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+y;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}n=b[e+-2>>1]|0;if(n<<16>>16<=0){b[e>>1]=o;j=p*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+t;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+y;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(t|0))c[n>>2]=t;c[k+1310736+(j+-1<<2)>>2]=y;j=r;break}j=c[k+1179664+(p+-1<<2)>>2]|0;p=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(p|0)){b[e>>1]=p;if((r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(j|0))c[o>>2]=p;n=n+1|0;if((n|0)>=(r|0)){j=p;break}else o=o+4|0}}else j=p}else{b[e>>1]=j;if((j|0)<(p|0)&(r|0)>0){n=0;o=m;while(1){if((c[o>>2]|0)==(p|0))c[o>>2]=j;n=n+1|0;if((n|0)>=(r|0))break;else o=o+4|0}}}j=(j<<16>>16)*7|0;q=k+1310736+(j+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=k+1310736+(j+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+t;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+y;j=r}while(0);t=t+1|0;n=s+4|0;e=e+2|0;l=l+1|0;if((t|0)>=(z|0))break;else{s=n;r=j}}}else l=o;y=y+1|0;if((y|0)>=(B|0)){p=j;D=52;break a}else{o=l+2|0;n=n+8|0;e=e+4|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){e=k+12|0;if((p|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(p|0)){n=n+1|0;m=m+4|0}else break}}o=k+8|0;l=j+-1|0;c[o>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[o>>2]|0))}if((p|0)>0){e=0;do{m=(c[k+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;e=e+1|0}while((e|0)<(p|0))}if((c[o>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[o>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function md(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+l|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+2|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function nd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t+1>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function od(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;l=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;p=(c[k+4>>2]|0)+l|0;z=1;e=e+(l<<1)|0;o=o+(l<<1)|0;m=0;b:while(1){if(y){l=p;u=1;t=e;s=m;while(1){do if((d[t>>0]|0|0)>(j|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+2|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}else l=p;z=z+1|0;if((z|0)>=(B|0)){q=m;D=52;break a}else{p=l+2|0;e=e+4|0;o=o+4|0}}Me(3,3904,C);l=-1}else{q=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((q|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(q|0)){e=e+1|0;n=n+4|0}else break}}p=k+8|0;l=m+-1|0;c[p>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[p>>2]|0))}if((q|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(q|0))}if((c[p>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[p>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function pd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+16|0;C=E;o=c[k>>2]|0;B=g+-1|0;if((f|0)>0){l=0;m=o;n=o+(($(B,f)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(f|0))break;else{m=m+2|0;n=n+2|0}}}A=f+-1|0;if((g|0)>0){l=0;m=o;n=o+(A<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(g|0))break;else{m=m+(f<<1)|0;n=n+(f<<1)|0}}}n=k+1179664|0;m=f+1|0;x=0-f|0;v=1-f|0;w=~f;a:do if((B|0)>1){y=(A|0)>1;l=(c[k+4>>2]|0)+m|0;z=1;e=e+m|0;o=o+(m<<1)|0;j=j+m|0;m=0;b:while(1){if(y){u=1;t=e;s=m;while(1){do if((d[t>>0]|0)>(d[j>>0]|0)){b[o>>1]=0;a[l>>0]=0;m=s}else{a[l>>0]=-1;m=b[o+(x<<1)>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}p=b[o+(v<<1)>>1]|0;q=p<<16>>16;m=b[o+(w<<1)>>1]|0;r=m<<16>>16;e=m<<16>>16>0;if(p<<16>>16<=0){if(e){b[o>>1]=m;m=r*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-3<<2)|0;if((c[e>>2]|0)<(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=b[o+-2>>1]|0;if(m<<16>>16>0){b[o>>1]=m;m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(u|0)){m=s;break}c[m>>2]=u;m=s;break}else{m=s+1|0;if((s|0)>32767)break b;b[o>>1]=m;c[k+1179664+(s<<2)>>2]=m<<16>>16;s=s*7|0;c[k+1310736+(s<<2)>>2]=1;c[k+1310736+(s+1<<2)>>2]=u;c[k+1310736+(s+2<<2)>>2]=z;c[k+1310736+(s+3<<2)>>2]=u;c[k+1310736+(s+4<<2)>>2]=u;c[k+1310736+(s+5<<2)>>2]=z;c[k+1310736+(s+6<<2)>>2]=z;break}}if(e){m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+(r+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;r=k+1310736+(m+-5<<2)|0;c[r>>2]=(c[r>>2]|0)+z;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}e=b[o+-2>>1]|0;if(e<<16>>16<=0){b[o>>1]=p;m=q*7|0;e=k+1310736+(m+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=k+1310736+(m+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+u;e=k+1310736+(m+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+z;e=k+1310736+(m+-4<<2)|0;if((c[e>>2]|0)>(u|0))c[e>>2]=u;c[k+1310736+(m+-1<<2)>>2]=z;m=s;break}m=c[k+1179664+(q+-1<<2)>>2]|0;q=c[k+1179664+((e<<16>>16)+-1<<2)>>2]|0;if((m|0)>(q|0)){b[o>>1]=q;if((s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(m|0))c[p>>2]=q;e=e+1|0;if((e|0)>=(s|0)){m=q;break}else p=p+4|0}}else m=q}else{b[o>>1]=m;if((m|0)<(q|0)&(s|0)>0){e=0;p=n;while(1){if((c[p>>2]|0)==(q|0))c[p>>2]=m;e=e+1|0;if((e|0)>=(s|0))break;else p=p+4|0}}}m=(m<<16>>16)*7|0;r=k+1310736+(m+-7<<2)|0;c[r>>2]=(c[r>>2]|0)+1;r=k+1310736+(m+-6<<2)|0;c[r>>2]=(c[r>>2]|0)+u;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+z;m=s}while(0);u=u+1|0;e=t+1|0;j=j+1|0;o=o+2|0;l=l+1|0;if((u|0)>=(A|0))break;else{t=e;s=m}}}z=z+1|0;if((z|0)>=(B|0)){p=m;D=52;break a}else{l=l+2|0;e=e+2|0;o=o+4|0;j=j+2|0}}Me(3,3904,C);l=-1}else{p=0;D=52}while(0);if((D|0)==52){o=k+12|0;if((p|0)<1)m=1;else{e=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(e|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((e|0)<(p|0)){e=e+1|0;n=n+4|0}else break}}j=k+8|0;l=m+-1|0;c[j>>2]=l;if(l){ek(o|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{D=l<<2;c[k+131084+(D<<2)>>2]=f;c[k+131084+((D|1)<<2)>>2]=0;c[k+131084+((D|2)<<2)>>2]=g;c[k+131084+((D|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0))}if((p|0)>0){o=0;do{n=(c[k+1179664+(o<<2)>>2]|0)+-1|0;e=o*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(e<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(e+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(e+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(e+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(e+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(e+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(e+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;o=o+1|0}while((o|0)<(p|0))}if((c[j>>2]|0)>0){l=0;do{f=k+12+(l<<2)|0;g=l<<1;D=k+655376+(g<<3)|0;h[D>>3]=+h[D>>3]/+(c[f>>2]|0);g=k+655376+((g|1)<<3)|0;h[g>>3]=+h[g>>3]/+(c[f>>2]|0);l=l+1|0}while((l|0)<(c[j>>2]|0));l=0}else l=0}else l=0}i=E;return l|0}function qd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function rd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function sd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function td(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ud(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function vd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}else{b[g>>1]=0;a[l>>0]=0;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function wd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=f+4|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<1)+2)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+2|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function xd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r+1>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function yd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}z=D+-1|0;if((g|0)>1){l=0;m=o;n=o+(z<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{m=m+(D<<1)|0;n=n+(D<<1)|0}}}n=k+1179664|0;m=D+1|0;w=0-D|0;u=1-D|0;v=~D;t=(f<<1)+8|0;a:do if((A|0)>1){x=(z|0)>1;l=(c[k+4>>2]|0)+m|0;y=1;g=e+((f<<2)+4)|0;e=o+(m<<1)|0;m=0;b:while(1){if(x){s=1;r=g;q=m;while(1){do if((d[r>>0]|0|0)>(j|0)){a[l>>0]=-1;m=b[e+(w<<1)>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}f=b[e+(u<<1)>>1]|0;o=f<<16>>16;m=b[e+(v<<1)>>1]|0;p=m<<16>>16;g=m<<16>>16>0;if(f<<16>>16<=0){if(g){b[e>>1]=m;m=p*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-3<<2)|0;if((c[g>>2]|0)<(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=b[e+-2>>1]|0;if(m<<16>>16>0){b[e>>1]=m;m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;m=k+1310736+(m+-3<<2)|0;if((c[m>>2]|0)>=(s|0)){m=q;break}c[m>>2]=s;m=q;break}else{m=q+1|0;if((q|0)>32767)break b;b[e>>1]=m;c[k+1179664+(q<<2)>>2]=m<<16>>16;q=q*7|0;c[k+1310736+(q<<2)>>2]=1;c[k+1310736+(q+1<<2)>>2]=s;c[k+1310736+(q+2<<2)>>2]=y;c[k+1310736+(q+3<<2)>>2]=s;c[k+1310736+(q+4<<2)>>2]=s;c[k+1310736+(q+5<<2)>>2]=y;c[k+1310736+(q+6<<2)>>2]=y;break}}if(g){m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+(p+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=k+1310736+(m+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+y;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}g=b[e+-2>>1]|0;if(g<<16>>16<=0){b[e>>1]=f;m=o*7|0;g=k+1310736+(m+-7<<2)|0;c[g>>2]=(c[g>>2]|0)+1;g=k+1310736+(m+-6<<2)|0;c[g>>2]=(c[g>>2]|0)+s;g=k+1310736+(m+-5<<2)|0;c[g>>2]=(c[g>>2]|0)+y;g=k+1310736+(m+-4<<2)|0;if((c[g>>2]|0)>(s|0))c[g>>2]=s;c[k+1310736+(m+-1<<2)>>2]=y;m=q;break}m=c[k+1179664+(o+-1<<2)>>2]|0;o=c[k+1179664+((g<<16>>16)+-1<<2)>>2]|0;if((m|0)>(o|0)){b[e>>1]=o;if((q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(m|0))c[f>>2]=o;g=g+1|0;if((g|0)>=(q|0)){m=o;break}else f=f+4|0}}else m=o}else{b[e>>1]=m;if((m|0)<(o|0)&(q|0)>0){g=0;f=n;while(1){if((c[f>>2]|0)==(o|0))c[f>>2]=m;g=g+1|0;if((g|0)>=(q|0))break;else f=f+4|0}}}m=(m<<16>>16)*7|0;p=k+1310736+(m+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=k+1310736+(m+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;m=k+1310736+(m+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+y;m=q}else{b[e>>1]=0;a[l>>0]=0;m=q}while(0);s=s+1|0;g=r+4|0;e=e+2|0;l=l+1|0;if((s|0)>=(z|0))break;else{r=g;q=m}}}y=y+1|0;if((y|0)>=(A|0)){o=m;C=52;break a}else{l=l+2|0;g=g+t|0;e=e+4|0}}Me(3,3904,B);l=-1}else{o=0;C=52}while(0);if((C|0)==52){e=k+12|0;if((o|0)<1)m=1;else{g=1;m=1;while(1){l=c[n>>2]|0;if((l|0)==(g|0)){l=m;m=m+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[n>>2]=l;if((g|0)<(o|0)){g=g+1|0;n=n+4|0}else break}}f=k+8|0;l=m+-1|0;c[f>>2]=l;if(l){ek(e|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((m|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[f>>2]|0))}if((o|0)>0){e=0;do{n=(c[k+1179664+(e<<2)>>2]|0)+-1|0;g=e*7|0;l=k+12+(n<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(g<<2)>>2]|0);l=n<<1;m=k+655376+(l<<3)|0;h[m>>3]=+h[m>>3]+ +(c[k+1310736+(g+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(g+2<<2)>>2]|0);n=n<<2;l=k+131084+(n<<2)|0;m=c[k+1310736+(g+3<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;l=k+131084+((n|1)<<2)|0;m=c[k+1310736+(g+4<<2)>>2]|0;if((c[l>>2]|0)<(m|0))c[l>>2]=m;l=k+131084+((n|2)<<2)|0;m=c[k+1310736+(g+5<<2)>>2]|0;if((c[l>>2]|0)>(m|0))c[l>>2]=m;m=k+131084+((n|3)<<2)|0;l=c[k+1310736+(g+6<<2)>>2]|0;if((c[m>>2]|0)<(l|0))c[m>>2]=l;e=e+1|0}while((e|0)<(o|0))}if((c[f>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[f>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function ec(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function fc(){return i|0}function gc(a){a=a|0;i=a}function hc(a,b){a=a|0;b=b|0;i=a;j=b}function ic(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function jc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function kc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function lc(a){a=a|0;D=a}function mc(){return D|0}function nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){b[o>>1]=0;k=n}else{k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[p>>1]=0;k=o}else{k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function zc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ac(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Bc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){b[q>>1]=0;k=p}else{k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Cc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Dc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Ec(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){b[r>>1]=0;k=q}else{k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Fc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){b[a>>1]=0;k=q}else{k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Gc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e*3|0)+12|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e*6|0)+6)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+6|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Hc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+10+(a<<5&224)+(e>>>3&28)+(e<<3&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Ic(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0} -function Jc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){e=d[g>>0]|0;do if(((e&240)+24+(e<<4&240)+((d[g+1>>0]|0)&240)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Kc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<1)+8|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<2)+4)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){a=d[g>>0]|0;e=d[g+1>>0]|0;do if(((a&248)+12+(a<<5&224)+(e>>>3&24)+(e<<2&248)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+4|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Lc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}w=g*3|0;x=B+-1|0;if((f|0)>1){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{g=g+(B<<1)|0;l=l+(B<<1)|0}}}l=j+1179664|0;t=0-B|0;r=1-B|0;s=~B;q=(e<<2)+16|0;a:do if((y|0)>1){u=(x|0)>1;v=1;g=a+((e<<3)+8)|0;m=n+(B+1<<1)|0;k=0;b:while(1){if(u){p=1;o=m;n=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(w|0)){k=b[o+(t<<1)>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}f=b[o+(r<<1)>>1]|0;a=f<<16>>16;k=b[o+(s<<1)>>1]|0;e=k<<16>>16;m=k<<16>>16>0;if(f<<16>>16<=0){if(m){b[o>>1]=k;k=e*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=b[o+-2>>1]|0;if(k<<16>>16>0){b[o>>1]=k;k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0)){k=n;break}c[k>>2]=p;k=n;break}else{k=n+1|0;if((n|0)>32767)break b;b[o>>1]=k;c[j+1179664+(n<<2)>>2]=k<<16>>16;n=n*7|0;c[j+1310736+(n<<2)>>2]=1;c[j+1310736+(n+1<<2)>>2]=p;c[j+1310736+(n+2<<2)>>2]=v;c[j+1310736+(n+3<<2)>>2]=p;c[j+1310736+(n+4<<2)>>2]=p;c[j+1310736+(n+5<<2)>>2]=v;c[j+1310736+(n+6<<2)>>2]=v;break}}if(m){k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+(e+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;e=j+1310736+(k+-5<<2)|0;c[e>>2]=(c[e>>2]|0)+v;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}m=b[o+-2>>1]|0;if(m<<16>>16<=0){b[o>>1]=f;k=a*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+p;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+v;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(p|0))c[m>>2]=p;c[j+1310736+(k+-1<<2)>>2]=v;k=n;break}k=c[j+1179664+(a+-1<<2)>>2]|0;a=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(a|0)){b[o>>1]=a;if((n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(k|0))c[f>>2]=a;m=m+1|0;if((m|0)>=(n|0)){k=a;break}else f=f+4|0}}else k=a}else{b[o>>1]=k;if((k|0)<(a|0)&(n|0)>0){m=0;f=l;while(1){if((c[f>>2]|0)==(a|0))c[f>>2]=k;m=m+1|0;if((m|0)>=(n|0))break;else f=f+4|0}}}k=(k<<16>>16)*7|0;e=j+1310736+(k+-7<<2)|0;c[e>>2]=(c[e>>2]|0)+1;e=j+1310736+(k+-6<<2)|0;c[e>>2]=(c[e>>2]|0)+p;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+v;k=n}else{b[o>>1]=0;k=n}while(0);p=p+1|0;g=g+8|0;m=o+2|0;if((p|0)>=(x|0))break;else{o=m;n=k}}}v=v+1|0;if((v|0)>=(y|0)){e=k;A=52;break a}else{g=g+q|0;m=m+4|0}}Me(3,3904,z);k=-1}else{e=0;A=52}while(0);if((A|0)==52){f=j+12|0;if((e|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(e|0)){m=m+1|0;l=l+4|0}else break}}a=j+8|0;k=g+-1|0;c[a>>2]=k;if(k){ek(f|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[a>>2]|0))}if((e|0)>0){f=0;do{l=(c[j+1179664+(f<<2)>>2]|0)+-1|0;m=f*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;f=f+1|0}while((f|0)<(e|0))}if((c[a>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[a>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Mc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=e+4|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<1)+2)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+2|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Nc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Oc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+16|0;z=D;B=(e|0)/2|0;C=(f|0)/2|0;n=c[j>>2]|0;y=C+-1|0;if((e|0)>1){k=0;l=n;m=n+(($(y,B)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(B|0))break;else{l=l+2|0;m=m+2|0}}}x=B+-1|0;if((f|0)>1){k=0;l=n;m=n+(x<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(C|0))break;else{l=l+(B<<1)|0;m=m+(B<<1)|0}}}m=j+1179664|0;u=0-B|0;s=1-B|0;t=~B;r=(e<<1)+8|0;a:do if((y|0)>1){v=(x|0)>1;w=1;l=a+((e<<2)+4)|0;f=n+(B+1<<1)|0;k=0;b:while(1){if(v){q=1;p=f;o=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[p+(u<<1)>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}a=b[p+(s<<1)>>1]|0;e=a<<16>>16;k=b[p+(t<<1)>>1]|0;n=k<<16>>16;f=k<<16>>16>0;if(a<<16>>16<=0){if(f){b[p>>1]=k;k=n*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-3<<2)|0;if((c[f>>2]|0)<(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=b[p+-2>>1]|0;if(k<<16>>16>0){b[p>>1]=k;k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0)){k=o;break}c[k>>2]=q;k=o;break}else{k=o+1|0;if((o|0)>32767)break b;b[p>>1]=k;c[j+1179664+(o<<2)>>2]=k<<16>>16;o=o*7|0;c[j+1310736+(o<<2)>>2]=1;c[j+1310736+(o+1<<2)>>2]=q;c[j+1310736+(o+2<<2)>>2]=w;c[j+1310736+(o+3<<2)>>2]=q;c[j+1310736+(o+4<<2)>>2]=q;c[j+1310736+(o+5<<2)>>2]=w;c[j+1310736+(o+6<<2)>>2]=w;break}}if(f){k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+(n+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;n=j+1310736+(k+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}f=b[p+-2>>1]|0;if(f<<16>>16<=0){b[p>>1]=a;k=e*7|0;f=j+1310736+(k+-7<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=j+1310736+(k+-6<<2)|0;c[f>>2]=(c[f>>2]|0)+q;f=j+1310736+(k+-5<<2)|0;c[f>>2]=(c[f>>2]|0)+w;f=j+1310736+(k+-4<<2)|0;if((c[f>>2]|0)>(q|0))c[f>>2]=q;c[j+1310736+(k+-1<<2)>>2]=w;k=o;break}k=c[j+1179664+(e+-1<<2)>>2]|0;e=c[j+1179664+((f<<16>>16)+-1<<2)>>2]|0;if((k|0)>(e|0)){b[p>>1]=e;if((o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=e;f=f+1|0;if((f|0)>=(o|0)){k=e;break}else a=a+4|0}}else k=e}else{b[p>>1]=k;if((k|0)<(e|0)&(o|0)>0){f=0;a=m;while(1){if((c[a>>2]|0)==(e|0))c[a>>2]=k;f=f+1|0;if((f|0)>=(o|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;n=j+1310736+(k+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=j+1310736+(k+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+q;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=o}else{b[p>>1]=0;k=o}while(0);q=q+1|0;l=l+4|0;f=p+2|0;if((q|0)>=(x|0))break;else{p=f;o=k}}}w=w+1|0;if((w|0)>=(y|0)){n=k;A=52;break a}else{l=l+r|0;f=f+4|0}}Me(3,3904,z);k=-1}else{n=0;A=52}while(0);if((A|0)==52){a=j+12|0;if((n|0)<1)l=1;else{f=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(f|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((f|0)<(n|0)){f=f+1|0;m=m+4|0}else break}}e=j+8|0;k=l+-1|0;c[e>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{A=k<<2;c[j+131084+(A<<2)>>2]=B;c[j+131084+((A|1)<<2)>>2]=0;c[j+131084+((A|2)<<2)>>2]=C;c[j+131084+((A|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[e>>2]|0))}if((n|0)>0){a=0;do{m=(c[j+1179664+(a<<2)>>2]|0)+-1|0;f=a*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(f<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(f+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(f+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(f+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(f+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(f+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(f+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;a=a+1|0}while((a|0)<(n|0))}if((c[e>>2]|0)>0){k=0;do{B=j+12+(k<<2)|0;C=k<<1;A=j+655376+(C<<3)|0;h[A>>3]=+h[A>>3]/+(c[B>>2]|0);C=j+655376+((C|1)<<3)|0;h[C>>3]=+h[C>>3]/+(c[B>>2]|0);k=k+1|0}while((k|0)<(c[e>>2]|0));k=0}else k=0}else k=0}i=D;return k|0}function Pc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k*3|0)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+3|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+6|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Qc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+10+(n<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Rc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+1>>0]|0)+(d[g>>0]|0)+(d[g+2>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Sc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){o=d[g>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[g+1>>0]|0)&240)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Tc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<1)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){n=d[g>>0]|0;o=d[g+1>>0]|0;do if(((n&248)+12+(n<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+2|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+4|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Uc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=g*3|0;x=e+-1|0;if((f|0)>0){k=0;g=n;l=n+(x<<1)|0;while(1){b[l>>1]=0;b[g>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{g=g+(e<<1)|0;l=l+(e<<1)|0}}}l=j+1179664|0;k=e+1|0;u=0-e|0;s=1-e|0;t=~e;a:do if((z|0)>1){v=(x|0)>1;w=1;g=a+(k<<2)|0;m=n+(k<<1)|0;k=0;b:while(1){if(v){r=1;q=m;p=k;while(1){do if(((d[g+2>>0]|0)+(d[g+1>>0]|0)+(d[g+3>>0]|0)|0)>(y|0)){k=b[q+(u<<1)>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}a=b[q+(s<<1)>>1]|0;n=a<<16>>16;k=b[q+(t<<1)>>1]|0;o=k<<16>>16;m=k<<16>>16>0;if(a<<16>>16<=0){if(m){b[q>>1]=k;k=o*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=b[q+-2>>1]|0;if(k<<16>>16>0){b[q>>1]=k;k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(r|0)){k=p;break}c[k>>2]=r;k=p;break}else{k=p+1|0;if((p|0)>32767)break b;b[q>>1]=k;c[j+1179664+(p<<2)>>2]=k<<16>>16;p=p*7|0;c[j+1310736+(p<<2)>>2]=1;c[j+1310736+(p+1<<2)>>2]=r;c[j+1310736+(p+2<<2)>>2]=w;c[j+1310736+(p+3<<2)>>2]=r;c[j+1310736+(p+4<<2)>>2]=r;c[j+1310736+(p+5<<2)>>2]=w;c[j+1310736+(p+6<<2)>>2]=w;break}}if(m){k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+(o+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=j+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+w;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}m=b[q+-2>>1]|0;if(m<<16>>16<=0){b[q>>1]=a;k=n*7|0;m=j+1310736+(k+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(k+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(k+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+w;m=j+1310736+(k+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(k+-1<<2)>>2]=w;k=p;break}k=c[j+1179664+(n+-1<<2)>>2]|0;n=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;if((k|0)>(n|0)){b[q>>1]=n;if((p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(k|0))c[a>>2]=n;m=m+1|0;if((m|0)>=(p|0)){k=n;break}else a=a+4|0}}else k=n}else{b[q>>1]=k;if((k|0)<(n|0)&(p|0)>0){m=0;a=l;while(1){if((c[a>>2]|0)==(n|0))c[a>>2]=k;m=m+1|0;if((m|0)>=(p|0))break;else a=a+4|0}}}k=(k<<16>>16)*7|0;o=j+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+w;k=p}else{b[q>>1]=0;k=p}while(0);r=r+1|0;g=g+4|0;m=q+2|0;if((r|0)>=(x|0))break;else{q=m;p=k}}}w=w+1|0;if((w|0)>=(z|0)){o=k;B=52;break a}else{g=g+8|0;m=m+4|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){a=j+12|0;if((o|0)<1)g=1;else{m=1;g=1;while(1){k=c[l>>2]|0;if((k|0)==(m|0)){k=g;g=g+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[l>>2]=k;if((m|0)<(o|0)){m=m+1|0;l=l+4|0}else break}}n=j+8|0;k=g+-1|0;c[n>>2]=k;if(k){ek(a|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((g|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[n>>2]|0))}if((o|0)>0){a=0;do{l=(c[j+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;k=j+12+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);k=l<<1;g=j+655376+(k<<3)|0;h[g>>3]=+h[g>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;k=j+131084+(l<<2)|0;g=c[j+1310736+(m+3<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;k=j+131084+((l|1)<<2)|0;g=c[j+1310736+(m+4<<2)>>2]|0;if((c[k>>2]|0)<(g|0))c[k>>2]=g;k=j+131084+((l|2)<<2)|0;g=c[j+1310736+(m+5<<2)>>2]|0;if((c[k>>2]|0)>(g|0))c[k>>2]=g;g=j+131084+((l|3)<<2)|0;k=c[j+1310736+(m+6<<2)>>2]|0;if((c[g>>2]|0)<(k|0))c[g>>2]=k;a=a+1|0}while((a|0)<(o|0))}if((c[n>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[n>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Vc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+1|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+2|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Wc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l+1>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}a=b[r+-2>>1]|0;if(a<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+((a<<16>>16)+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Xc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+(k<<1)|0;a=n+(k<<1)|0;k=0;b:while(1){if(w){s=1;r=a;q=k;while(1){do if((d[l>>0]|0|0)>(g|0)){k=b[r+(v<<1)>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}n=b[r+(t<<1)>>1]|0;o=n<<16>>16;k=b[r+(u<<1)>>1]|0;p=k<<16>>16;a=k<<16>>16>0;if(n<<16>>16<=0){if(a){b[r>>1]=k;k=p*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[r>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(a){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[r>>1]=o;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}else{b[r>>1]=k;if((k|0)<(o|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[r+-2>>1]|0;if(k<<16>>16<=0){b[r>>1]=n;k=o*7|0;a=j+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=j+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=j+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+x;a=j+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(s|0))c[a>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[r>>1]=k;if((q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(o|0))c[n>>2]=k;a=a+1|0;if((a|0)>=(q|0))break;else n=n+4|0}}}else{b[r>>1]=o;if((o|0)<(k|0)&(q|0)>0){a=0;n=m;while(1){if((c[n>>2]|0)==(k|0))c[n>>2]=o;a=a+1|0;if((a|0)>=(q|0)){k=o;break}else n=n+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[r>>1]=0;k=q}while(0);s=s+1|0;l=l+2|0;a=r+2|0;if((s|0)>=(y|0))break;else{r=a;q=k}}}x=x+1|0;if((x|0)>=(z|0)){p=k;B=52;break a}else{l=l+4|0;a=a+4|0}}Me(3,3904,A);k=-1}else{p=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((p|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(p|0)){a=a+1|0;m=m+4|0}else break}}o=j+8|0;k=l+-1|0;c[o>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[o>>2]|0))}if((p|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(p|0))}if((c[o>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[o>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Yc(a,e,f,g,j){a=a|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+16|0;A=C;n=c[j>>2]|0;z=f+-1|0;if((e|0)>0){k=0;l=n;m=n+(($(z,e)|0)<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(e|0))break;else{l=l+2|0;m=m+2|0}}}y=e+-1|0;if((f|0)>0){k=0;l=n;m=n+(y<<1)|0;while(1){b[m>>1]=0;b[l>>1]=0;k=k+1|0;if((k|0)>=(f|0))break;else{l=l+(e<<1)|0;m=m+(e<<1)|0}}}m=j+1179664|0;k=e+1|0;v=0-e|0;t=1-e|0;u=~e;a:do if((z|0)>1){w=(y|0)>1;x=1;l=a+k|0;a=n+(k<<1)|0;n=g+k|0;k=0;b:while(1){if(w){s=1;r=l;q=k;while(1){do if((d[r>>0]|0)>(d[n>>0]|0)){k=b[a+(v<<1)>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}g=b[a+(t<<1)>>1]|0;o=g<<16>>16;k=b[a+(u<<1)>>1]|0;p=k<<16>>16;l=k<<16>>16>0;if(g<<16>>16<=0){if(l){b[a>>1]=k;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16>0){b[a>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(s|0)){k=q;break}c[k>>2]=s;k=q;break}else{k=q+1|0;if((q|0)>32767)break b;b[a>>1]=k;c[j+1179664+(q<<2)>>2]=k<<16>>16;q=q*7|0;c[j+1310736+(q<<2)>>2]=1;c[j+1310736+(q+1<<2)>>2]=s;c[j+1310736+(q+2<<2)>>2]=x;c[j+1310736+(q+3<<2)>>2]=s;c[j+1310736+(q+4<<2)>>2]=s;c[j+1310736+(q+5<<2)>>2]=x;c[j+1310736+(q+6<<2)>>2]=x;break}}if(l){k=c[j+1179664+(o+-1<<2)>>2]|0;o=c[j+1179664+(p+-1<<2)>>2]|0;if((k|0)>(o|0)){b[a>>1]=o;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}else{b[a>>1]=k;if((k|0)<(o|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+x;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}k=b[a+-2>>1]|0;if(k<<16>>16<=0){b[a>>1]=g;k=o*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+x;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(s|0))c[l>>2]=s;c[j+1310736+(k+-1<<2)>>2]=x;k=q;break}o=c[j+1179664+(o+-1<<2)>>2]|0;k=c[j+1179664+((k<<16>>16)+-1<<2)>>2]|0;if((o|0)>(k|0)){b[a>>1]=k;if((q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(o|0))c[g>>2]=k;l=l+1|0;if((l|0)>=(q|0))break;else g=g+4|0}}}else{b[a>>1]=o;if((o|0)<(k|0)&(q|0)>0){l=0;g=m;while(1){if((c[g>>2]|0)==(k|0))c[g>>2]=o;l=l+1|0;if((l|0)>=(q|0)){k=o;break}else g=g+4|0}}else k=o}k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=j+1310736+(k+-5<<2)|0;c[k>>2]=(c[k>>2]|0)+x;k=q}else{b[a>>1]=0;k=q}while(0);s=s+1|0;l=r+1|0;n=n+1|0;a=a+2|0;if((s|0)>=(y|0))break;else{r=l;q=k}}}x=x+1|0;if((x|0)>=(z|0)){o=k;B=52;break a}else{l=l+2|0;a=a+4|0;n=n+2|0}}Me(3,3904,A);k=-1}else{o=0;B=52}while(0);if((B|0)==52){n=j+12|0;if((o|0)<1)l=1;else{a=1;l=1;while(1){k=c[m>>2]|0;if((k|0)==(a|0)){k=l;l=l+1|0}else k=c[j+1179664+(k+-1<<2)>>2]|0;c[m>>2]=k;if((a|0)<(o|0)){a=a+1|0;m=m+4|0}else break}}g=j+8|0;k=l+-1|0;c[g>>2]=k;if(k){ek(n|0,0,k<<2|0)|0;ek(j+655376|0,0,k<<4|0)|0;if((l|0)>1){k=0;do{B=k<<2;c[j+131084+(B<<2)>>2]=e;c[j+131084+((B|1)<<2)>>2]=0;c[j+131084+((B|2)<<2)>>2]=f;c[j+131084+((B|3)<<2)>>2]=0;k=k+1|0}while((k|0)<(c[g>>2]|0))}if((o|0)>0){n=0;do{m=(c[j+1179664+(n<<2)>>2]|0)+-1|0;a=n*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(a<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;h[l>>3]=+h[l>>3]+ +(c[j+1310736+(a+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;h[k>>3]=+h[k>>3]+ +(c[j+1310736+(a+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(a+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(a+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(a+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(a+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;n=n+1|0}while((n|0)<(o|0))}if((c[g>>2]|0)>0){k=0;do{e=j+12+(k<<2)|0;f=k<<1;B=j+655376+(f<<3)|0;h[B>>3]=+h[B>>3]/+(c[e>>2]|0);f=j+655376+((f|1)<<3)|0;h[f>>3]=+h[f>>3]/+(c[e>>2]|0);k=k+1|0}while((k|0)<(c[g>>2]|0));k=0}else k=0}else k=0}i=C;return k|0}function Zc(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f*3|0)+12|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f*6|0)+6)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+6|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function _c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+10+(f<<5&224)+(o>>>3&28)+(o<<3&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function $c(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+1>>0]|0)+(d[q>>0]|0)+(d[q+2>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function ad(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){o=d[q>>0]|0;do if(((o&240)+24+(o<<4&240)+((d[q+1>>0]|0)&240)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function bd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<1)+8|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<2)+4)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){f=d[q>>0]|0;o=d[q+1>>0]|0;do if(((f&248)+12+(f<<5&224)+(o>>>3&24)+(o<<2&248)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+4|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0}function cd(e,f,g,j,k){e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+16|0;B=F;D=(f|0)/2|0;E=(g|0)/2|0;o=c[k>>2]|0;A=E+-1|0;if((f|0)>1){l=0;m=o;n=o+(($(A,D)|0)<<1)|0;while(1){b[n>>1]=0;b[m>>1]=0;l=l+1|0;if((l|0)>=(D|0))break;else{m=m+2|0;n=n+2|0}}}y=j*3|0;z=D+-1|0;if((g|0)>1){l=0;j=o;m=o+(z<<1)|0;while(1){b[m>>1]=0;b[j>>1]=0;l=l+1|0;if((l|0)>=(E|0))break;else{j=j+(D<<1)|0;m=m+(D<<1)|0}}}m=k+1179664|0;j=D+1|0;v=0-D|0;t=1-D|0;u=~D;s=(f<<2)+16|0;a:do if((A|0)>1){w=(z|0)>1;l=(c[k+4>>2]|0)+j|0;x=1;n=e+((f<<3)+8)|0;g=o+(j<<1)|0;j=0;b:while(1){if(w){r=1;q=n;p=j;while(1){do if(((d[q+2>>0]|0)+(d[q+1>>0]|0)+(d[q+3>>0]|0)|0)>(y|0)){b[g>>1]=0;a[l>>0]=0;j=p}else{a[l>>0]=-1;j=b[g+(v<<1)>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}e=b[g+(t<<1)>>1]|0;f=e<<16>>16;j=b[g+(u<<1)>>1]|0;o=j<<16>>16;n=j<<16>>16>0;if(e<<16>>16<=0){if(n){b[g>>1]=j;j=o*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-3<<2)|0;if((c[n>>2]|0)<(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=b[g+-2>>1]|0;if(j<<16>>16>0){b[g>>1]=j;j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;j=k+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(r|0)){j=p;break}c[j>>2]=r;j=p;break}else{j=p+1|0;if((p|0)>32767)break b;b[g>>1]=j;c[k+1179664+(p<<2)>>2]=j<<16>>16;p=p*7|0;c[k+1310736+(p<<2)>>2]=1;c[k+1310736+(p+1<<2)>>2]=r;c[k+1310736+(p+2<<2)>>2]=x;c[k+1310736+(p+3<<2)>>2]=r;c[k+1310736+(p+4<<2)>>2]=r;c[k+1310736+(p+5<<2)>>2]=x;c[k+1310736+(p+6<<2)>>2]=x;break}}if(n){j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+(o+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;o=k+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+x;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}n=b[g+-2>>1]|0;if(n<<16>>16<=0){b[g>>1]=e;j=f*7|0;n=k+1310736+(j+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=k+1310736+(j+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+r;n=k+1310736+(j+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+x;n=k+1310736+(j+-4<<2)|0;if((c[n>>2]|0)>(r|0))c[n>>2]=r;c[k+1310736+(j+-1<<2)>>2]=x;j=p;break}j=c[k+1179664+(f+-1<<2)>>2]|0;f=c[k+1179664+((n<<16>>16)+-1<<2)>>2]|0;if((j|0)>(f|0)){b[g>>1]=f;if((p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(j|0))c[e>>2]=f;n=n+1|0;if((n|0)>=(p|0)){j=f;break}else e=e+4|0}}else j=f}else{b[g>>1]=j;if((j|0)<(f|0)&(p|0)>0){n=0;e=m;while(1){if((c[e>>2]|0)==(f|0))c[e>>2]=j;n=n+1|0;if((n|0)>=(p|0))break;else e=e+4|0}}}j=(j<<16>>16)*7|0;o=k+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=k+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=k+1310736+(j+-5<<2)|0;c[j>>2]=(c[j>>2]|0)+x;j=p}while(0);r=r+1|0;n=q+8|0;g=g+2|0;l=l+1|0;if((r|0)>=(z|0))break;else{q=n;p=j}}}x=x+1|0;if((x|0)>=(A|0)){f=j;C=52;break a}else{l=l+2|0;n=n+s|0;g=g+4|0}}Me(3,3904,B);l=-1}else{f=0;C=52}while(0);if((C|0)==52){g=k+12|0;if((f|0)<1)j=1;else{n=1;j=1;while(1){l=c[m>>2]|0;if((l|0)==(n|0)){l=j;j=j+1|0}else l=c[k+1179664+(l+-1<<2)>>2]|0;c[m>>2]=l;if((n|0)<(f|0)){n=n+1|0;m=m+4|0}else break}}e=k+8|0;l=j+-1|0;c[e>>2]=l;if(l){ek(g|0,0,l<<2|0)|0;ek(k+655376|0,0,l<<4|0)|0;if((j|0)>1){l=0;do{C=l<<2;c[k+131084+(C<<2)>>2]=D;c[k+131084+((C|1)<<2)>>2]=0;c[k+131084+((C|2)<<2)>>2]=E;c[k+131084+((C|3)<<2)>>2]=0;l=l+1|0}while((l|0)<(c[e>>2]|0))}if((f|0)>0){g=0;do{m=(c[k+1179664+(g<<2)>>2]|0)+-1|0;n=g*7|0;l=k+12+(m<<2)|0;c[l>>2]=(c[l>>2]|0)+(c[k+1310736+(n<<2)>>2]|0);l=m<<1;j=k+655376+(l<<3)|0;h[j>>3]=+h[j>>3]+ +(c[k+1310736+(n+1<<2)>>2]|0);l=k+655376+((l|1)<<3)|0;h[l>>3]=+h[l>>3]+ +(c[k+1310736+(n+2<<2)>>2]|0);m=m<<2;l=k+131084+(m<<2)|0;j=c[k+1310736+(n+3<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;l=k+131084+((m|1)<<2)|0;j=c[k+1310736+(n+4<<2)>>2]|0;if((c[l>>2]|0)<(j|0))c[l>>2]=j;l=k+131084+((m|2)<<2)|0;j=c[k+1310736+(n+5<<2)>>2]|0;if((c[l>>2]|0)>(j|0))c[l>>2]=j;j=k+131084+((m|3)<<2)|0;l=c[k+1310736+(n+6<<2)>>2]|0;if((c[j>>2]|0)<(l|0))c[j>>2]=l;g=g+1|0}while((g|0)<(f|0))}if((c[e>>2]|0)>0){l=0;do{D=k+12+(l<<2)|0;E=l<<1;C=k+655376+(E<<3)|0;h[C>>3]=+h[C>>3]/+(c[D>>2]|0);E=k+655376+((E|1)<<3)|0;h[E>>3]=+h[E>>3]/+(c[D>>2]|0);l=l+1|0}while((l|0)<(c[e>>2]|0));l=0}else l=0}else l=0}i=F;return l|0} -function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)th(a,b)}}else th(a,b);return}function th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function uh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;h=g+16|0;f=g+4|0;j=g;d=c[d>>2]|0;e=c[d>>2]|0;c[j>>2]=d;c[h>>2]=c[j>>2];vh(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d){if(a[f+8>>0]|0)Fg(d+264|0);Lh(d)}i=g;return e|0}function vh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;n=(m&l|0)==0;if(n)k=m&e;else k=(e>>>0)%(l>>>0)|0;g=(c[d>>2]|0)+(k<<2)|0;f=c[g>>2]|0;while(1){e=c[f>>2]|0;if((e|0)==(o|0)){j=f;break}else f=e}i=d+8|0;if((j|0)!=(i|0)){e=c[j+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0))g=o;else h=12}else h=12;do if((h|0)==12){e=c[o>>2]|0;if(e){e=c[e+4>>2]|0;if(n)e=e&m;else e=(e>>>0)%(l>>>0)|0;if((e|0)==(k|0)){g=o;break}}c[g>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(n)f=f&m;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(k|0)){c[(c[d>>2]|0)+(f<<2)>>2]=j;e=c[o>>2]|0}}c[j>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=i;a[b+8>>0]=1;return}function wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Kh(408)|0;c[e+8>>2]=c[d>>2];ek(e+16|0,0,392)|0;h[e+248>>3]=.0001;h[e+256>>3]=1.0e3;d=e+264|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a>>2]=e;a=a+4|0;c[a>>2]=b+8;c[a+4>>2]=257;return}function xh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=c[e+8>>2]|0;s=e+4|0;c[s>>2]=m;r=d+4|0;l=c[r>>2]|0;q=(l|0)==0;a:do if(!q){n=l+-1|0;o=(n&l|0)==0;if(o)h=n&m;else h=(m>>>0)%(l>>>0)|0;f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f)p=12;else while(1){i=c[f>>2]|0;if(!i){p=12;break a}f=c[i+4>>2]|0;if(o)f=f&n;else f=(f>>>0)%(l>>>0)|0;if((f|0)!=(h|0)){p=12;break a}if((c[i+8>>2]|0)==(m|0)){f=0;e=i;break}else f=i}}else{h=0;p=12}while(0);if((p|0)==12){m=d+12|0;j=+(((c[m>>2]|0)+1|0)>>>0);k=+g[d+16>>2];do if(q|j>+(l>>>0)*k){if(l>>>0>2)f=(l+-1&l|0)==0;else f=0;i=(f&1|l<<1)^1;f=~~+_(+(j/k))>>>0;yh(d,i>>>0>>0?f:i);i=c[r>>2]|0;f=c[s>>2]|0;h=i+-1|0;if(!(h&i)){l=i;h=h&f;break}else{l=i;h=(f>>>0)%(i>>>0)|0;break}}while(0);f=c[(c[d>>2]|0)+(h<<2)>>2]|0;if(!f){f=d+8|0;c[e>>2]=c[f>>2];c[f>>2]=e;c[(c[d>>2]|0)+(h<<2)>>2]=f;f=c[e>>2]|0;if(f){f=c[f+4>>2]|0;h=l+-1|0;if(!(h&l))f=f&h;else f=(f>>>0)%(l>>>0)|0;c[(c[d>>2]|0)+(f<<2)>>2]=e}}else{c[e>>2]=c[f>>2];c[f>>2]=e}c[m>>2]=(c[m>>2]|0)+1;f=1}c[b>>2]=e;a[b+4>>0]=f;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((b|0)!=1){if(b+-1&b)b=_j(b)|0}else b=2;f=c[a+4>>2]|0;if(b>>>0<=f>>>0){if(b>>>0>>0){if(f>>>0>2)e=(f+-1&f|0)==0;else e=0;d=~~+_(+(+((c[a+12>>2]|0)>>>0)/+g[a+16>>2]))>>>0;if(e)d=1<<32-(ba(d+-1|0)|0);else d=_j(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)zh(a,b)}}else zh(a,b);return}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+4|0;a:do if(b){m=Kh(b<<2)|0;d=c[a>>2]|0;c[a>>2]=m;if(d)Lh(d);c[e>>2]=b;if(b){d=0;do{c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(b|0))}e=a+8|0;f=c[e>>2]|0;if(f){d=c[f+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)h=d&l;else h=(d>>>0)%(b>>>0)|0;c[(c[a>>2]|0)+(h<<2)>>2]=e;d=c[f>>2]|0;if(d){g=f;e=f;while(1){k=e;b:while(1){while(1){e=c[d+4>>2]|0;if(m)j=e&l;else j=(e>>>0)%(b>>>0)|0;if((j|0)==(h|0)){e=d;break}e=(c[a>>2]|0)+(j<<2)|0;if(!(c[e>>2]|0)){h=j;f=d;break b}i=d+8|0;e=d;while(1){f=c[e>>2]|0;if(!f)break;if((c[i>>2]|0)==(c[f+8>>2]|0))e=f;else break}c[g>>2]=f;c[e>>2]=c[c[(c[a>>2]|0)+(j<<2)>>2]>>2];c[c[(c[a>>2]|0)+(j<<2)>>2]>>2]=d;d=c[k>>2]|0;if(!d)break a}d=c[e>>2]|0;if(!d)break a;else{g=e;k=e}}c[e>>2]=g;d=c[f>>2]|0;if(!d)break;else{g=f;e=f}}}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d)Lh(d);c[e>>2]=0}while(0);return}function Ah(a){a=a|0;return Aj(c[a+4>>2]|0)|0}function Bh(a){a=a|0;Ka(624,10917);Ya(632,10922,1,1,0);Ga(640,10927,1,-128,127);Ga(656,10932,1,-128,127);Ga(648,10944,1,0,255);Ga(664,10958,2,-32768,32767);Ga(672,10964,2,0,65535);Ga(680,10979,4,-2147483648,2147483647);Ga(688,10983,4,0,-1);Ga(696,10996,4,-2147483648,2147483647);Ga(704,11001,4,0,-1);kb(712,11015,4);kb(720,11021,8);sb(360,11028);sb(392,11040);bb(416,4,11073);db(440,11086);Aa(448,0,11102);Dh(11132);Eh(11169);Fh(11208);Gh(11239);Hh(11279);Ih(11308);Aa(456,4,11346);Aa(464,5,11376);Dh(11415);Eh(11447);Fh(11480);Gh(11513);Hh(11547);Ih(11580);Aa(472,6,11614);Aa(480,7,11645);Aa(488,7,11677);return}function Ch(){Bh(0);return}function Dh(a){a=a|0;Aa(536,0,a|0);return}function Eh(a){a=a|0;Aa(528,1,a|0);return}function Fh(a){a=a|0;Aa(520,2,a|0);return}function Gh(a){a=a|0;Aa(512,3,a|0);return}function Hh(a){a=a|0;Aa(504,4,a|0);return}function Ih(a){a=a|0;Aa(496,5,a|0);return}function Jh(a){a=a|0;Ia(12478,12501,303,12589)}function Kh(a){a=a|0;var b=0;b=(a|0)==0?1:a;a=Uj(b)|0;a:do if(!a){while(1){a=Ph()|0;if(!a)break;_b[a&0]();a=Uj(b)|0;if(a)break a}b=Wa(4)|0;c[b>>2]=2224;wb(b|0,544,1)}while(0);return a|0}function Lh(a){a=a|0;Vj(a);return}function Mh(a){a=a|0;return}function Nh(a){a=a|0;Lh(a);return}function Oh(a){a=a|0;return 12610}function Ph(){var a=0;a=c[559]|0;c[559]=a+0;return a|0}function Qh(a){a=a|0;return}function Rh(a){a=a|0;return}function Sh(a){a=a|0;return}function Th(a){a=a|0;return}function Uh(a){a=a|0;return}function Vh(a){a=a|0;Lh(a);return}function Wh(a){a=a|0;Lh(a);return}function Xh(a){a=a|0;Lh(a);return}function Yh(a){a=a|0;Lh(a);return}function Zh(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h;if((a|0)!=(b|0))if((b|0)!=0?(f=ei(b,576,592,0)|0,(f|0)!=0):0){b=g;e=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));c[g>>2]=f;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;dc[c[(c[f>>2]|0)+28>>2]&3](f,g,c[d>>2]|0,1);if((c[g+24>>2]|0)==1){c[d>>2]=c[g+16>>2];b=1}else b=0}else b=0;else b=1;i=h;return b|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((a|0)==(c[b+8>>2]|0))$h(0,b,d,e);else{a=c[a+8>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d,e)}return}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0;a=c[a>>2]|0;dc[c[(c[a>>2]|0)+28>>2]&3](a,b,d+f|0,(g&2|0)!=0?e:2);return}function di(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if((b|0)!=(c[d+8>>2]|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;ci(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{ci(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else $h(0,d,e,f);while(0);return}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r;p=c[d>>2]|0;o=d+(c[p+-8>>2]|0)|0;p=c[p+-4>>2]|0;c[q>>2]=f;c[q+4>>2]=d;c[q+8>>2]=e;c[q+12>>2]=g;g=q+16|0;d=q+20|0;e=q+24|0;h=q+28|0;j=q+32|0;k=q+40|0;l=(p|0)==(f|0);m=g;n=m+36|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));b[g+36>>1]=0;a[g+38>>0]=0;a:do if(l){c[q+48>>2]=1;bc[c[(c[f>>2]|0)+20>>2]&3](f,q,o,o,1,0);g=(c[e>>2]|0)==1?o:0}else{Rb[c[(c[p>>2]|0)+24>>2]&3](p,q,o,1,0);switch(c[q+36>>2]|0){case 0:{g=(c[k>>2]|0)==1&(c[h>>2]|0)==1&(c[j>>2]|0)==1?c[d>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((c[e>>2]|0)!=1?!((c[k>>2]|0)==0&(c[h>>2]|0)==1&(c[j>>2]|0)==1):0){g=0;break}g=c[g>>2]|0}while(0);i=r;return g|0}function fi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;f=d+16|0;b=c[f>>2]|0;if(!b){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((b|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}b=d+24|0;f=c[b>>2]|0;if((f|0)==2){c[b>>2]=g;f=g}if((f|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function gi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){q=c[b+12>>2]|0;j=b+16+(q<<3)|0;ii(b+16|0,d,e,f,g);h=b+24|0;if((q|0)<=1)break;i=c[b+8>>2]|0;if((i&2|0)==0?(k=d+36|0,(c[k>>2]|0)!=1):0){if(!(i&1)){i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[k>>2]|0)==1)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+24|0;b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[k>>2]|0)==1?(c[i>>2]|0)==1:0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}i=d+54|0;while(1){if(a[i>>0]|0)break a;ii(h,d,e,f,g);h=h+8|0;if(h>>>0>=j>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4)break;i=c[b+12>>2]|0;j=b+16+(i<<3)|0;k=d+52|0;f=d+53|0;n=d+54|0;l=b+8|0;o=d+24|0;b:do if((i|0)>0){i=0;h=0;b=b+16|0;while(1){a[k>>0]=0;a[f>>0]=0;hi(b,d,e,e,1,g);if(a[n>>0]|0){q=20;break b}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[l>>2]&1)){h=1;q=20;break b}else{h=1;break}if((c[o>>2]|0)==1)break b;if(!(c[l>>2]&2))break b;else{i=1;h=1}}while(0);b=b+8|0;if(b>>>0>=j>>>0){q=20;break}}}else{i=0;h=0;q=20}while(0);do if((q|0)==20){if((!i?(c[p>>2]=e,e=d+40|0,c[e>>2]=(c[e>>2]|0)+1,(c[d+36>>2]|0)==1):0)?(c[o>>2]|0)==2:0){a[n>>0]=1;if(h)break}else q=24;if((q|0)==24?h:0)break;c[m>>2]=4;break a}while(0);c[m>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function hi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e+h|0,(i&2|0)!=0?f:2,g);return}function ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Rb[c[(c[a>>2]|0)+24>>2]&3](a,b,d+g|0,(h&2|0)!=0?e:2,f);return}function ji(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(h=d+28|0,(c[h>>2]|0)!=1):0)c[h>>2]=f}else{if((b|0)!=(c[d>>2]|0)){j=c[b+8>>2]|0;Rb[c[(c[j>>2]|0)+24>>2]&3](j,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4)break;h=d+52|0;a[h>>0]=0;k=d+53|0;a[k>>0]=0;b=c[b+8>>2]|0;bc[c[(c[b>>2]|0)+20>>2]&3](b,d,e,e,1,g);if(a[k>>0]|0){if(!(a[h>>0]|0)){h=1;j=13}}else{h=0;j=13}do if((j|0)==13){c[i>>2]=e;k=d+40|0;c[k>>2]=(c[k>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(h)break}else j=16;if((j|0)==16?h:0)break;c[f>>2]=4;break a}while(0);c[f>>2]=3;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function ki(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;do if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)==(e|0)?(i=d+28|0,(c[i>>2]|0)!=1):0)c[i>>2]=f}else if((b|0)==(c[d>>2]|0)){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}while(0);return}function li(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((b|0)==(c[d+8>>2]|0))fi(0,d,e,f,g);else{m=d+52|0;n=a[m>>0]|0;o=d+53|0;p=a[o>>0]|0;l=c[b+12>>2]|0;i=b+16+(l<<3)|0;a[m>>0]=0;a[o>>0]=0;hi(b+16|0,d,e,f,g,h);a:do if((l|0)>1){j=d+24|0;k=b+8|0;l=d+54|0;b=b+24|0;do{if(a[l>>0]|0)break a;if(!(a[m>>0]|0)){if((a[o>>0]|0)!=0?(c[k>>2]&1|0)==0:0)break a}else{if((c[j>>2]|0)==1)break a;if(!(c[k>>2]&2))break a}a[m>>0]=0;a[o>>0]=0;hi(b,d,e,f,g,h);b=b+8|0}while(b>>>0>>0)}while(0);a[m>>0]=n;a[o>>0]=p}return}function mi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);else{a=c[a+8>>2]|0;bc[c[(c[a>>2]|0)+20>>2]&3](a,b,d,e,f,g)}return}function ni(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((a|0)==(c[b+8>>2]|0))fi(0,b,d,e,f);return}function oi(a){a=a|0;Ia(12625,12654,1164,12589)}function pi(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function qi(){var a=0;if(!(c[597]|0))a=2644;else a=c[(gb()|0)+60>>2]|0;return a|0}function ri(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[12742+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=12830;e=5;break}}if((e|0)==2)if(!c)b=12830;else{b=12830;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function si(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0;L=i;i=i+512|0;H=L;switch(e|0){case 0:{K=24;J=-149;A=4;break}case 1:{K=53;J=-1074;A=4;break}case 2:{K=53;J=-1074;A=4;break}default:g=0.0}a:do if((A|0)==4){E=b+4|0;C=b+100|0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0}while((pi(e)|0)!=0);b:do switch(e|0){case 43:case 45:{h=1-(((e|0)==45&1)<<1)|0;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;I=h;break b}else{e=vi(b)|0;I=h;break b}}default:I=1}while(0);h=e;e=0;do{if((h|32|0)!=(a[14634+e>>0]|0))break;do if(e>>>0<7){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{A=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{A=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[16477+e>>0]|0))break d;do if(e>>>0<2){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0;break}else{h=vi(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==40)e=1;else{if(!(c[C>>2]|0)){g=s;break a}c[E>>2]=(c[E>>2]|0)+-1;g=s;break a}while(1){h=c[E>>2]|0;if(h>>>0<(c[C>>2]|0)>>>0){c[E>>2]=h+1;h=d[h>>0]|0}else h=vi(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!k){c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{do if((h|0)==48){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|32|0)!=120){if(!(c[C>>2]|0)){e=48;break}c[E>>2]=(c[E>>2]|0)+-1;e=48;break}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=0}else{e=vi(b)|0;k=0}e:while(1){switch(e|0){case 46:{A=74;break e}case 48:break;default:{y=0;l=0;x=0;h=0;n=k;o=0;w=0;m=1.0;k=0;g=0.0;break e}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==74){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){k=0;h=0;do{e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;k=gk(k|0,h|0,-1,-1)|0;h=D}while((e|0)==48);y=0;l=0;x=k;n=1;o=1;w=0;m=1.0;k=0;g=0.0}else{y=0;l=0;x=0;h=0;n=k;o=1;w=0;m=1.0;k=0;g=0.0}}while(1){u=e+-48|0;p=e|32;if(u>>>0>=10){v=(e|0)==46;if(!(v|(p+-97|0)>>>0<6)){p=x;u=y;break}if(v)if(!o){v=l;h=y;u=y;o=1;p=w;j=m}else{p=x;u=y;e=46;break}else A=86}else A=86;if((A|0)==86){A=0;e=(e|0)>57?p+-87|0:u;do if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){r=m*.0625;p=w;j=r;g=g+r*+(e|0);break}if((w|0)!=0|(e|0)==0){p=w;j=m}else{p=1;j=m;g=g+m*.5}}else{p=w;j=m;k=e+(k<<4)|0}while(0);l=gk(l|0,y|0,1,0)|0;v=x;u=D;n=1}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;y=u;x=v;e=d[e>>0]|0;w=p;m=j;continue}else{y=u;x=v;e=vi(b)|0;w=p;m=j;continue}}if(!n){e=(c[C>>2]|0)==0;if(!e)c[E>>2]=(c[E>>2]|0)+-1;if(f){if(!e?(z=c[E>>2]|0,c[E>>2]=z+-1,(o|0)!=0):0)c[E>>2]=z+-2}else ui(b,0);g=+(I|0)*0.0;break a}n=(o|0)==0;o=n?l:p;n=n?u:h;if((u|0)<0|(u|0)==0&l>>>0<8){h=u;do{k=k<<4;l=gk(l|0,h|0,1,0)|0;h=D}while((h|0)<0|(h|0)==0&l>>>0<8)}if((e|32|0)==112){h=Hj(b,f)|0;e=D;if((h|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break a}if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}}}else if(!(c[C>>2]|0)){h=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;h=0;e=0}H=fk(o|0,n|0,2)|0;H=gk(H|0,D|0,-32,-1)|0;e=gk(H|0,D|0,h|0,e|0)|0;h=D;if(!k){g=+(I|0)*0.0;break a}if((h|0)>0|(h|0)==0&e>>>0>(0-J|0)>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break a}H=J+-106|0;G=((H|0)<0)<<31>>31;if((h|0)<(G|0)|(h|0)==(G|0)&e>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break a}if((k|0)>-1){do{G=!(g>=.5);H=G&1|k<<1;k=H^1;g=g+(G?g:g+-1.0);e=gk(e|0,h|0,-1,-1)|0;h=D}while((H|0)>-1);l=e;m=g}else{l=e;m=g}e=dk(32,0,J|0,((J|0)<0)<<31>>31|0)|0;e=gk(l|0,h|0,e|0,D|0)|0;J=D;if(0>(J|0)|0==(J|0)&K>>>0>e>>>0)if((e|0)<0){e=0;A=127}else A=125;else{e=K;A=125}if((A|0)==125)if((e|0)<53)A=127;else{h=e;j=+(I|0);g=0.0}if((A|0)==127){g=+(I|0);h=e;j=g;g=+yi(+Di(1.0,84-e|0),g)}K=(k&1|0)==0&(m!=0.0&(h|0)<32);g=j*(K?0.0:m)+(g+j*+(((K&1)+k|0)>>>0))-g;if(!(g!=0.0))c[(qi()|0)>>2]=34;g=+Ei(g,l);break a}else e=h;while(0);F=J+K|0;G=0-F|0;k=0;f:while(1){switch(e|0){case 46:{A=138;break f}case 48:break;default:{h=0;p=0;o=0;break f}}e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0;k=1;continue}else{e=vi(b)|0;k=1;continue}}if((A|0)==138){e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48){h=0;e=0;while(1){h=gk(h|0,e|0,-1,-1)|0;k=D;e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;if((e|0)==48)e=k;else{p=k;k=1;o=1;break}}}else{h=0;p=0;o=1}}c[H>>2]=0;n=e+-48|0;l=(e|0)==46;g:do if(l|n>>>0<10){B=H+496|0;y=0;v=0;w=l;A=p;u=k;z=o;k=0;l=0;o=0;h:while(1){do if(w)if(!z){h=y;p=v;z=1}else{p=A;e=y;n=v;break h}else{w=gk(y|0,v|0,1,0)|0;v=D;x=(e|0)!=48;if((l|0)>=125){if(!x){p=A;y=w;break}c[B>>2]=c[B>>2]|1;p=A;y=w;break}p=H+(l<<2)|0;if(k)n=e+-48+((c[p>>2]|0)*10|0)|0;c[p>>2]=n;k=k+1|0;n=(k|0)==9;p=A;y=w;u=1;k=n?0:k;l=(n&1)+l|0;o=x?w:o}while(0);e=c[E>>2]|0;if(e>>>0<(c[C>>2]|0)>>>0){c[E>>2]=e+1;e=d[e>>0]|0}else e=vi(b)|0;n=e+-48|0;w=(e|0)==46;if(!(w|n>>>0<10)){n=z;A=161;break g}else A=p}u=(u|0)!=0;A=169}else{y=0;v=0;u=k;n=o;k=0;l=0;o=0;A=161}while(0);do if((A|0)==161){B=(n|0)==0;h=B?y:h;p=B?v:p;u=(u|0)!=0;if(!((e|32|0)==101&u))if((e|0)>-1){e=y;n=v;A=169;break}else{e=y;n=v;A=171;break}n=Hj(b,f)|0;e=D;if((n|0)==0&(e|0)==-2147483648){if(!f){ui(b,0);g=0.0;break}if(!(c[C>>2]|0)){n=0;e=0}else{c[E>>2]=(c[E>>2]|0)+-1;n=0;e=0}}h=gk(n|0,e|0,h|0,p|0)|0;u=y;p=D;n=v;A=173}while(0);if((A|0)==169)if(c[C>>2]|0){c[E>>2]=(c[E>>2]|0)+-1;if(u){u=e;A=173}else A=172}else A=171;if((A|0)==171)if(u){u=e;A=173}else A=172;do if((A|0)==172){c[(qi()|0)>>2]=22;ui(b,0);g=0.0}else if((A|0)==173){e=c[H>>2]|0;if(!e){g=+(I|0)*0.0;break}if(((n|0)<0|(n|0)==0&u>>>0<10)&((h|0)==(u|0)&(p|0)==(n|0))?K>>>0>30|(e>>>K|0)==0:0){g=+(I|0)*+(e>>>0);break}b=(J|0)/-2|0;E=((b|0)<0)<<31>>31;if((p|0)>(E|0)|(p|0)==(E|0)&h>>>0>b>>>0){c[(qi()|0)>>2]=34;g=+(I|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}b=J+-106|0;E=((b|0)<0)<<31>>31;if((p|0)<(E|0)|(p|0)==(E|0)&h>>>0>>0){c[(qi()|0)>>2]=34;g=+(I|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(k){if((k|0)<9){n=H+(l<<2)|0;e=c[n>>2]|0;do{e=e*10|0;k=k+1|0}while((k|0)!=9);c[n>>2]=e}l=l+1|0}if((o|0)<9?(o|0)<=(h|0)&(h|0)<18:0){if((h|0)==9){g=+(I|0)*+((c[H>>2]|0)>>>0);break}if((h|0)<9){g=+(I|0)*+((c[H>>2]|0)>>>0)/+(c[2648+(8-h<<2)>>2]|0);break}b=K+27+($(h,-3)|0)|0;e=c[H>>2]|0;if((b|0)>30|(e>>>b|0)==0){g=+(I|0)*+(e>>>0)*+(c[2648+(h+-10<<2)>>2]|0);break}}e=(h|0)%9|0;if(!e){k=0;e=0}else{u=(h|0)>-1?e:e+9|0;n=c[2648+(8-u<<2)>>2]|0;if(l){o=1e9/(n|0)|0;k=0;e=0;p=0;do{C=H+(p<<2)|0;E=c[C>>2]|0;b=((E>>>0)/(n>>>0)|0)+e|0;c[C>>2]=b;e=$((E>>>0)%(n>>>0)|0,o)|0;b=(p|0)==(k|0)&(b|0)==0;p=p+1|0;h=b?h+-9|0:h;k=b?p&127:k}while((p|0)!=(l|0));if(e){c[H+(l<<2)>>2]=e;l=l+1|0}}else{k=0;l=0}e=0;h=9-u+h|0}i:while(1){v=(h|0)<18;w=(h|0)==18;x=H+(k<<2)|0;do{if(!v){if(!w)break i;if((c[x>>2]|0)>>>0>=9007199){h=18;break i}}n=0;o=l+127|0;while(1){u=o&127;p=H+(u<<2)|0;o=fk(c[p>>2]|0,0,29)|0;o=gk(o|0,D|0,n|0,0)|0;n=D;if(n>>>0>0|(n|0)==0&o>>>0>1e9){b=pk(o|0,n|0,1e9,0)|0;o=qk(o|0,n|0,1e9,0)|0;n=b}else n=0;c[p>>2]=o;b=(u|0)==(k|0);l=(u|0)!=(l+127&127|0)|b?l:(o|0)==0?u:l;if(b)break;else o=u+-1|0}e=e+-29|0}while((n|0)==0);k=k+127&127;if((k|0)==(l|0)){b=l+127&127;l=H+((l+126&127)<<2)|0;c[l>>2]=c[l>>2]|c[H+(b<<2)>>2];l=b}c[H+(k<<2)>>2]=n;h=h+9|0}j:while(1){y=l+1&127;x=H+((l+127&127)<<2)|0;while(1){v=(h|0)==18;w=(h|0)>27?9:1;u=v^1;while(1){o=k&127;p=(o|0)==(l|0);do if(!p){n=c[H+(o<<2)>>2]|0;if(n>>>0<9007199){A=219;break}if(n>>>0>9007199)break;n=k+1&127;if((n|0)==(l|0)){A=219;break}n=c[H+(n<<2)>>2]|0;if(n>>>0<254740991){A=219;break}if(!(n>>>0>254740991|u)){h=o;break j}}else A=219;while(0);if((A|0)==219?(A=0,v):0){A=220;break j}e=e+w|0;if((k|0)==(l|0))k=l;else break}u=(1<>>w;o=k;n=0;p=k;while(1){E=H+(p<<2)|0;b=c[E>>2]|0;k=(b>>>w)+n|0;c[E>>2]=k;n=$(b&u,v)|0;k=(p|0)==(o|0)&(k|0)==0;p=p+1&127;h=k?h+-9|0:h;k=k?p:o;if((p|0)==(l|0))break;else o=k}if(!n)continue;if((y|0)!=(k|0))break;c[x>>2]=c[x>>2]|1}c[H+(l<<2)>>2]=n;l=y}if((A|0)==220)if(p){c[H+(y+-1<<2)>>2]=0;h=l;l=y}else h=o;g=+((c[H+(h<<2)>>2]|0)>>>0);h=k+1&127;if((h|0)==(l|0)){l=k+2&127;c[H+(l+-1<<2)>>2]=0}r=+(I|0);j=r*(g*1.0e9+ +((c[H+(h<<2)>>2]|0)>>>0));v=e+53|0;p=v-J|0;u=(p|0)<(K|0);h=u&1;o=u?((p|0)<0?0:p):K;if((o|0)<53){M=+yi(+Di(1.0,105-o|0),j);m=+Ai(j,+Di(1.0,53-o|0));q=M;g=m;m=M+(j-m)}else{q=0.0;g=0.0;m=j}n=k+2&127;do if((n|0)==(l|0))j=g;else{n=c[H+(n<<2)>>2]|0;do if(n>>>0>=5e8){if(n>>>0>5e8){g=r*.75+g;break}if((k+3&127|0)==(l|0)){g=r*.5+g;break}else{g=r*.75+g;break}}else{if((n|0)==0?(k+3&127|0)==(l|0):0)break;g=r*.25+g}while(0);if((53-o|0)<=1){j=g;break}if(+Ai(g,1.0)!=0.0){j=g;break}j=g+1.0}while(0);g=m+j-q;do if((v&2147483647|0)>(-2-F|0)){if(+O(+g)>=9007199254740992.0){h=u&(o|0)==(p|0)?0:h;e=e+1|0;g=g*.5}if((e+50|0)<=(G|0)?!(j!=0.0&(h|0)!=0):0)break;c[(qi()|0)>>2]=34}while(0);g=+Ei(g,e)}while(0);break a}default:{if(c[C>>2]|0)c[E>>2]=(c[E>>2]|0)+-1;c[(qi()|0)>>2]=22;ui(b,0);g=0.0;break a}}}}while(0);if((A|0)==23){h=(c[C>>2]|0)==0;if(!h)c[E>>2]=(c[E>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[E>>2]=(c[E>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(I|0)*t}while(0);i=L;return +g}function ti(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(qi()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((pi(i)|0)!=0);b:do switch(i|0){case 43:case 45:{j=((i|0)==45)<<31>>31;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0;p=j;break b}else{i=vi(b)|0;p=j;break b}}default:p=0}while(0);j=(e|0)==0;do if((e&-17|0)==0&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;if((d[14643+(i+1)>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){ui(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[14643+(i+1)>>0]|0)>>>0>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;ui(b,0);c[(qi()|0)>>2]=22;h=0;g=0;break a}}while(0);if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;while(1){j=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;i=d[e>>0]|0}else i=vi(b)|0;e=i+-48|0;if(!(e>>>0<10&j>>>0<429496729)){e=j;break}else i=j}j=0}else{e=0;j=0}f=i+-48|0;if(f>>>0<10){while(1){k=ok(e|0,j|0,10,0)|0;l=D;m=((f|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&k>>>0>~f>>>0){k=e;break}e=gk(k|0,l|0,f|0,m|0)|0;j=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;f=i+-48|0;if(!(f>>>0<10&(j>>>0<429496729|(j|0)==429496729&e>>>0<2576980378))){k=e;break}}if(f>>>0>9){i=k;e=p}else{e=10;n=72}}else{i=e;e=p}}else n=46;c:do if((n|0)==46){if(!(e+-1&e)){n=a[14900+((e*23|0)>>>5&7)>>0]|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f|i<>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<134217728&f>>>0>>0))break;else i=k}f=0}else{f=0;k=0}l=hk(-1,-1,n|0)|0;m=D;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break}else i=f;while(1){k=fk(k|0,i|0,n|0)|0;f=D;k=j&255|k;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0|(f>>>0>m>>>0|(f|0)==(m|0)&k>>>0>l>>>0)){j=f;n=72;break c}else i=f}}j=a[14643+(i+1)>>0]|0;f=j&255;if(f>>>0>>0){i=0;while(1){k=f+($(i,e)|0)|0;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;f=j&255;if(!(k>>>0<119304647&f>>>0>>0))break;else i=k}f=0}else{k=0;f=0}if((j&255)>>>0>>0){n=pk(-1,-1,e|0,0)|0;o=D;m=f;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){j=m;n=72;break c}f=ok(k|0,m|0,e|0,0)|0;l=D;j=j&255;if(l>>>0>4294967295|(l|0)==-1&f>>>0>~j>>>0){j=m;n=72;break c}k=gk(j|0,0,f|0,l|0)|0;f=D;i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0;j=a[14643+(i+1)>>0]|0;if((j&255)>>>0>=e>>>0){j=f;n=72;break}else m=f}}else{j=f;n=72}}while(0);if((n|0)==72)if((d[14643+(i+1)>>0]|0)>>>0>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=vi(b)|0}while((d[14643+(i+1)>>0]|0)>>>0>>0);c[(qi()|0)>>2]=34;j=h;i=g;e=(g&1|0)==0&0==0?p:0}else{i=k;e=p}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(j>>>0>>0|(j|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(e|0)!=0)){c[(qi()|0)>>2]=34;g=gk(g|0,h|0,-1,-1)|0;h=D;break}if(j>>>0>h>>>0|(j|0)==(h|0)&i>>>0>g>>>0){c[(qi()|0)>>2]=34;break}}g=((e|0)<0)<<31>>31;g=dk(i^e|0,j^g|0,e|0,g|0)|0;h=D}while(0);D=h;return g|0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0;e=c[a+8>>2]|0;f=e-d|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=d+b;else c[a+100>>2]=e;return}function vi(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;i=c[f>>2]|0;if((i|0)!=0?(c[b+108>>2]|0)>=(i|0):0)j=4;else{e=Vi(b)|0;if((e|0)>=0){h=c[f>>2]|0;f=b+8|0;if(h){g=c[f>>2]|0;i=c[b+4>>2]|0;f=g;h=h-(c[b+108>>2]|0)+-1|0;if((f-i|0)>(h|0))c[b+100>>2]=i+h;else j=9}else{g=c[f>>2]|0;f=g;j=9}if((j|0)==9)c[b+100>>2]=f;f=c[b+4>>2]|0;if(g){b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+100>>2]=0;e=-1}return e|0}function wi(a){a=a|0;if(a>>>0>4294963200){c[(qi()|0)>>2]=0-a;a=-1}return a|0}function xi(a,b){a=+a;b=+b;var d=0,e=0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;h[k>>3]=b;d=c[k+4>>2]&-2147483648|d&2147483647;c[k>>2]=e;c[k+4>>2]=d;return +(+h[k>>3])}function yi(a,b){a=+a;b=+b;return +(+xi(a,b))}function zi(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;h[k>>3]=a;d=c[k>>2]|0;m=c[k+4>>2]|0;h[k>>3]=b;n=c[k>>2]|0;o=c[k+4>>2]|0;e=hk(d|0,m|0,52)|0;e=e&2047;j=hk(n|0,o|0,52)|0;j=j&2047;p=m&-2147483648;i=fk(n|0,o|0,1)|0;l=D;a:do if(!((i|0)==0&(l|0)==0)?(g=o&2147483647,!(g>>>0>2146435072|(g|0)==2146435072&n>>>0>0|(e|0)==2047)):0){f=fk(d|0,m|0,1)|0;g=D;if(!(g>>>0>l>>>0|(g|0)==(l|0)&f>>>0>i>>>0))return +((f|0)==(i|0)&(g|0)==(l|0)?a*0.0:a);if(!e){e=fk(d|0,m|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&e>>>0>4294967295){g=e;e=0;do{e=e+-1|0;g=fk(g|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&g>>>0>4294967295)}else e=0;d=fk(d|0,m|0,1-e|0)|0;f=D}else f=m&1048575|1048576;if(!j){g=fk(n|0,o|0,12)|0;i=D;if((i|0)>-1|(i|0)==-1&g>>>0>4294967295){j=0;do{j=j+-1|0;g=fk(g|0,i|0,1)|0;i=D}while((i|0)>-1|(i|0)==-1&g>>>0>4294967295)}else j=0;n=fk(n|0,o|0,1-j|0)|0;m=D}else m=o&1048575|1048576;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;b:do if((e|0)>(j|0)){while(1){if(g)if((d|0)==(n|0)&(f|0)==(m|0))break;else{d=l;f=i}d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0;l=dk(d|0,f|0,n|0,m|0)|0;i=D;g=(i|0)>-1|(i|0)==-1&l>>>0>4294967295;if((e|0)<=(j|0))break b}b=a*0.0;break a}while(0);if(g)if((d|0)==(n|0)&(f|0)==(m|0)){b=a*0.0;break}else{f=i;d=l}if(f>>>0<1048576|(f|0)==1048576&d>>>0<0)do{d=fk(d|0,f|0,1)|0;f=D;e=e+-1|0}while(f>>>0<1048576|(f|0)==1048576&d>>>0<0);if((e|0)>0){o=gk(d|0,f|0,0,-1048576)|0;d=D;e=fk(e|0,0,52)|0;d=d|D;e=o|e}else{e=hk(d|0,f|0,1-e|0)|0;d=D}c[k>>2]=e;c[k+4>>2]=d|p;b=+h[k>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ai(a,b){a=+a;b=+b;return +(+zi(a,b))}function Bi(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=hk(d|0,e|0,52)|0;f=f&2047;switch(f|0){case 0:{if(a!=0.0){a=+Bi(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=f+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3]}}return +a}function Ci(a,b){a=+a;b=b|0;return +(+Bi(a,b))}function Di(a,b){a=+a;b=b|0;var d=0;if((b|0)>1023){a=a*8988465674311579538646525.0e283;d=b+-1023|0;if((d|0)>1023){d=b+-2046|0;d=(d|0)>1023?1023:d;a=a*8988465674311579538646525.0e283}}else if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;if((d|0)<-1022){d=b+2044|0;d=(d|0)<-1022?-1022:d;a=a*2.2250738585072014e-308}}else d=b;d=fk(d+1023|0,0,52)|0;b=D;c[k>>2]=d;c[k+4>>2]=b;return +(a*+h[k>>3])}function Ei(a,b){a=+a;b=b|0;return +(+Di(a,b))}function Fi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;g=l;j=(f|0)==0?2680:f;f=c[j>>2]|0;a:do if(!d)if(!f)f=0;else k=15;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;g=f&255;if(f<<24>>24>-1){c[h>>2]=g;f=f<<24>>24!=0&1;break}f=g+-194|0;if(f>>>0>50){k=15;break}f=c[2432+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;k=9}}else{g=e;k=9}b:do if((k|0)==9){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){k=15;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){k=15;break a}}c[j>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[j>>2]=f;f=-2}}while(0);if((k|0)==15){c[j>>2]=0;c[(qi()|0)>>2]=84;f=-1}i=l;return f|0}function Gi(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function Hi(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(qi()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function Ii(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Hi(a,b,0)|0;return a|0}function Ji(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+112|0;n=o+40|0;l=o+24|0;k=o+16|0;g=o;m=o+52|0;f=a[d>>0]|0;if(sj(14909,f<<24>>24,4)|0){e=Uj(1144)|0;if(!e)e=0;else{h=e;j=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));if(!(wj(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(wj(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;va(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[k>>2]=b;c[k+4>>2]=3;f=va(221,k|0)|0;if(!(f&1024)){c[l>>2]=b;c[l+4>>2]=4;c[l+8>>2]=f|1024;va(221,l|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+120;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21505,c[n+8>>2]=m,(mb(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=14;c[e+36>>2]=4;c[e+40>>2]=5;c[e+12>>2]=2;if(!(c[598]|0))c[e+76>>2]=-1;yb(2416);f=c[603]|0;c[e+56>>2]=f;if(f)c[f+52>>2]=e;c[603]=e;nb(2416)}}else{c[(qi()|0)>>2]=22;e=0}i=o;return e|0}function Ki(b){b=b|0;var c=0,d=0,e=0;d=(wj(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(wj(b,120)|0)==0;d=e?d:d|128;b=(wj(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Li(a){a=a|0;return 0}function Mi(a){a=a|0;return}function Ni(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=wi(zb(6,d|0)|0)|0;i=b;return a|0}function Oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;h=m+16|0;g=m;f=m+32|0;c[f>>2]=d;j=f+4|0;l=b+48|0;n=c[l>>2]|0;c[j>>2]=e-((n|0)!=0&1);k=b+44|0;c[f+8>>2]=c[k>>2];c[f+12>>2]=n;if(!(c[597]|0)){c[h>>2]=c[b+60>>2];c[h+4>>2]=f;c[h+8>>2]=2;f=wi(Nb(145,h|0)|0)|0}else{Fa(13,b|0);c[g>>2]=c[b+60>>2];c[g+4>>2]=f;c[g+8>>2]=2;f=wi(Nb(145,g|0)|0)|0;pb(0)}if((f|0)>=1){j=c[j>>2]|0;if(f>>>0>j>>>0){h=c[k>>2]|0;g=b+4|0;c[g>>2]=h;c[b+8>>2]=h+(f-j);if(!(c[l>>2]|0))f=e;else{c[g>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;f=e}}}else{c[b>>2]=c[b>>2]|f&48^16;c[b+8>>2]=0;c[b+4>>2]=0}i=m;return f|0}function Pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((wi(Ib(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function Qi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[597]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=wi(Ob(146,n|0)|0)|0}else{Fa(14,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=wi(Ob(146,m|0)|0)|0;pb(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function Ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=4;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(mb(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=Qi(b,d,e)|0;i=g;return f|0}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=sj(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;ik(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Ti(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+44|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Qb[c[b+36>>2]&15](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(d&20)if(!(d&4))d=-1;else{c[b>>2]=d|32;d=-1}else{d=c[e>>2]|0;c[b+8>>2]=d;c[b+4>>2]=d;d=0}return d|0}function Ui(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function Vi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;if((c[a+8>>2]|0)==0?(Ti(a)|0)!=0:0)b=-1;else if((Qb[c[a+32>>2]&15](a,b,1)|0)==1)b=d[b>>0]|0;else b=-1;i=e;return b|0}function Wi(a){a=a|0;var b=0,d=0,e=0;e=(c[a>>2]&1|0)!=0;if(!e){yb(2416);d=c[a+52>>2]|0;b=a+56|0;if(d)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b)c[b+52>>2]=d;if((c[603]|0)==(a|0))c[603]=b;nb(2416)}b=Yi(a)|0;b=Yb[c[a+12>>2]&31](a)|0|b;d=c[a+92>>2]|0;if(d)Vj(d);if(!e)Vj(a);return b|0}function Xi(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Yi(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=Kj(a)|0;break}d=(Li(a)|0)==0;b=Kj(a)|0;if(!d)Mi(a)}else{if(!(c[660]|0))b=0;else b=Yi(c[660]|0)|0;yb(2416);a=c[603]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Li(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=Kj(a)|0|b;if(d)Mi(a);a=c[a+56>>2]|0}while((a|0)!=0);nb(2416)}while(0);return b|0}function Zi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((c[f+76>>2]|0)>-1)o=Li(f)|0;else o=0;g=e+-1|0;if((e|0)<2){p=f+74|0;n=a[p>>0]|0;a[p>>0]=n+255|n;if(o)Mi(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){m=f+4|0;n=f+8|0;h=b;while(1){i=c[m>>2]|0;q=i;k=(c[n>>2]|0)-q|0;j=sj(i,10,k)|0;r=(j|0)==0;j=r?k:1-q+j|0;q=j>>>0>>0;j=q?j:g;ik(h|0,i|0,j|0)|0;i=c[m>>2]|0;k=i+j|0;c[m>>2]=k;e=h+j|0;l=g-j|0;if(!(r&q)){p=18;break a}if(k>>>0<(c[n>>2]|0)>>>0){j=j+1|0;c[m>>2]=i+j;i=d[k>>0]|0}else{g=Vi(f)|0;if((g|0)<0)break;j=j+1|0;i=g}g=l+-1|0;h=h+j|0;a[e>>0]=i;if(!((g|0)!=0&(i&255|0)!=10)){e=h;p=18;break a}}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)p=18;else b=0}else{e=b;p=18}while(0);if((p|0)==18)if(!b)b=0;else a[e>>0]=0;if(o)Mi(f)}return b|0}function _i(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+16|0;e=g;if(sj(14909,a[d>>0]|0,4)|0){h=Ki(d)|0|32768;c[e>>2]=b;c[e+4>>2]=h;c[e+8>>2]=438;e=wi(Ab(5,e|0)|0)|0;if((e|0)>=0){b=Ji(e,d)|0;if(!b){c[f>>2]=e;zb(6,f|0)|0;b=0}}else b=0}else{c[(qi()|0)>>2]=22;b=0}i=g;return b|0}function $i(a,b){a=a|0;b=b|0;return (ij(a,Bj(a)|0,1,b)|0)+-1|0}function aj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=$(e,d)|0;if((c[f+76>>2]|0)>-1)k=Li(f)|0;else k=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;ik(b|0,h|0,i|0)|0;c[g>>2]=h+i;b=b+i|0;g=j-i|0}else g=j;a:do if(!g)l=13;else{i=f+32|0;h=g;while(1){if(Ti(f)|0){e=h;break}g=Qb[c[i>>2]&15](f,b,h)|0;if((g+1|0)>>>0<2){e=h;break}if((h|0)==(g|0)){l=13;break a}else{b=b+g|0;h=h-g|0}}if(k)Mi(f);e=((j-e|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(k)Mi(f);return e|0}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;f=a+20|0;e=a+28|0;if((c[f>>2]|0)>>>0>(c[e>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[e>>2]=0;c[f>>2]=0;if((Qb[c[a+40>>2]&15](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(Li(a)|0)==0;b=bj(a,b,d)|0;if(!e)Mi(a)}else b=bj(a,b,d)|0;return b|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;return cj(a,b,c)|0}function ej(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Qb[c[a+40>>2]&15](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function fj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;a=ej(a)|0}else a=ej(a)|0;return a|0}function gj(a){a=a|0;return fj(a)|0}function hj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Ui(e)|0)){g=c[f>>2]|0;h=4}else f=0;else h=4;a:do if((h|0)==4){i=e+20|0;h=c[i>>2]|0;if((g-h|0)>>>0>>0){f=Qb[c[e+36>>2]&15](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){g=h;f=0;break b}g=f+-1|0;if((a[b+g>>0]|0)==10)break;else f=g}if((Qb[c[e+36>>2]&15](e,b,f)|0)>>>0>>0)break a;d=d-f|0;b=b+f|0;g=c[i>>2]|0}else{g=h;f=0}while(0);ik(g|0,b|0,d|0)|0;c[i>>2]=(c[i>>2]|0)+d;f=f+d|0}while(0);return f|0}function ij(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=$(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Li(e)|0)==0;a=hj(a,f,e)|0;if(!g)Mi(e)}else a=hj(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function jj(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Li(a)|0)==0;bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Mi(a)}else{bj(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=pj(a,b,f)|0;i=e;return d|0}function lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j;f=Uj(240)|0;do if(f){c[e>>2]=c[d>>2];e=oj(f,240,b,e)|0;if(e>>>0<240){b=Xj(f,e+1|0)|0;c[a>>2]=(b|0)!=0?b:f;break}Vj(f);if((e|0)>=0?(h=e+1|0,g=Uj(h)|0,c[a>>2]=g,(g|0)!=0):0)e=oj(g,h,b,d)|0;else e=-1}else e=-1;while(0);i=j;return e|0}function mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+80|0;r=s+96|0;q=s;p=s+136|0;f=r;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=c[e>>2];if((Lj(0,d,o,q,r)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)m=Li(b)|0;else m=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=p;j=b+28|0;c[j>>2]=p;k=b+20|0;c[k>>2]=p;c[e>>2]=80;l=b+16|0;c[l>>2]=p+80;f=Lj(b,d,o,q,r)|0;if(h){Qb[c[b+36>>2]&15](b,0,0)|0;f=(c[k>>2]|0)==0?-1:f;c[g>>2]=h;c[e>>2]=0;c[l>>2]=0;c[j>>2]=0;c[k>>2]=0}}else f=Lj(b,d,o,q,r)|0;e=c[b>>2]|0;c[b>>2]=e|n;if(m)Mi(b);e=(e&32|0)==0?f:-1}i=s;return e|0}function nj(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=i;i=i+304|0;H=P+16|0;J=P+8|0;I=P+33|0;K=P;y=P+32|0;if((c[e+76>>2]|0)>-1)O=Li(e)|0;else O=0;k=a[f>>0]|0;a:do if(k<<24>>24){L=e+4|0;M=e+100|0;G=e+108|0;z=e+8|0;A=I+10|0;B=I+33|0;C=J+4|0;E=I+46|0;F=I+94|0;m=k;k=0;n=f;s=0;l=0;f=0;b:while(1){c:do if(!(pi(m&255)|0)){m=(a[n>>0]|0)==37;d:do if(m){q=n+1|0;o=a[q>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{x=0;o=n+2|0;break}default:{o=(o&255)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[H>>2]=c[j>>2];while(1){x=(c[H>>2]|0)+(4-1)&~(4-1);m=c[x>>2]|0;c[H>>2]=x+4;if(o>>>0>1)o=o+-1|0;else break}x=m;o=n+3|0;break e}o=(c[j>>2]|0)+(4-1)&~(4-1);x=c[o>>2]|0;c[j>>2]=o+4;o=q}}while(0);m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0<10){m=0;while(1){q=(m*10|0)+-48+n|0;o=o+1|0;m=a[o>>0]|0;n=m&255;if((n+-48|0)>>>0>=10)break;else m=q}}else q=0;if(m<<24>>24==109){o=o+1|0;r=a[o>>0]|0;m=(x|0)!=0&1;l=0;f=0}else{r=m;m=0}n=o+1|0;switch(r&255|0){case 104:{w=(a[n>>0]|0)==104;n=w?o+2|0:n;o=w?-2:-1;break}case 108:{w=(a[n>>0]|0)==108;n=w?o+2|0:n;o=w?3:1;break}case 106:{o=3;break}case 116:case 122:{o=1;break}case 76:{o=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=o;o=0;break}default:{N=152;break b}}r=d[n>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:o;switch(r|0){case 99:{w=s;v=(q|0)<1?1:q;break}case 91:{w=s;v=q;break}case 110:{if(!x){o=s;break c}switch(t|0){case -2:{a[x>>0]=s;o=s;break c}case -1:{b[x>>1]=s;o=s;break c}case 0:{c[x>>2]=s;o=s;break c}case 1:{c[x>>2]=s;o=s;break c}case 3:{o=x;c[o>>2]=s;c[o+4>>2]=((s|0)<0)<<31>>31;o=s;break c}default:{o=s;break c}}}default:{ui(e,0);do{o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0}while((pi(o)|0)!=0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}w=(c[G>>2]|0)+s+o-(c[z>>2]|0)|0;v=q}}ui(e,v);o=c[L>>2]|0;q=c[M>>2]|0;if(o>>>0>>0)c[L>>2]=o+1;else{if((vi(e)|0)<0){N=152;break b}q=c[M>>2]|0}if(q)c[L>>2]=(c[L>>2]|0)+-1;f:do switch(r|0){case 91:case 99:case 115:{u=(r|0)==99;g:do if((r&239|0)==99){ek(I|0,-1,257)|0;a[I>>0]=0;if((r|0)==115){a[B>>0]=0;a[A>>0]=0;a[A+1>>0]=0;a[A+2>>0]=0;a[A+3>>0]=0;a[A+4>>0]=0}}else{Q=n+1|0;s=(a[Q>>0]|0)==94;o=s&1;r=s?Q:n;n=s?n+2|0:Q;ek(I|0,s&1|0,257)|0;a[I>>0]=0;switch(a[n>>0]|0){case 45:{s=(o^1)&255;a[E>>0]=s;n=r+2|0;break}case 93:{s=(o^1)&255;a[F>>0]=s;n=r+2|0;break}default:s=(o^1)&255}while(1){o=a[n>>0]|0;h:do switch(o<<24>>24){case 0:{N=152;break b}case 93:break g;case 45:{r=n+1|0;o=a[r>>0]|0;switch(o<<24>>24){case 93:case 0:{o=45;break h}default:{}}n=a[n+-1>>0]|0;if((n&255)<(o&255)){n=n&255;do{n=n+1|0;a[I+n>>0]=s;o=a[r>>0]|0}while((n|0)<(o&255|0));n=r}else n=r;break}default:{}}while(0);a[I+((o&255)+1)>>0]=s;n=n+1|0}}while(0);r=u?v+1|0:31;s=(t|0)==1;t=(m|0)!=0;i:do if(s){if(t){f=Uj(r<<2)|0;if(!f){l=0;N=152;break b}}else f=x;c[J>>2]=0;c[C>>2]=0;l=0;j:while(1){q=(f|0)==0;do{k:while(1){o=c[L>>2]|0;if(o>>>0<(c[M>>2]|0)>>>0){c[L>>2]=o+1;o=d[o>>0]|0}else o=vi(e)|0;if(!(a[I+(o+1)>>0]|0))break j;a[y>>0]=o;switch(Fi(K,y,1,J)|0){case -1:{l=0;N=152;break b}case -2:break;default:break k}}if(!q){c[f+(l<<2)>>2]=c[K>>2];l=l+1|0}}while(!(t&(l|0)==(r|0)));l=r<<1|1;o=Xj(f,l<<2)|0;if(!o){l=0;N=152;break b}Q=r;r=l;f=o;l=Q}if(!(Gi(J)|0)){l=0;N=152;break b}else{q=l;l=0}}else{if(t){l=Uj(r)|0;if(!l){l=0;f=0;N=152;break b}else o=0;while(1){do{f=c[L>>2]|0;if(f>>>0<(c[M>>2]|0)>>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=o;f=0;break i}a[l+o>>0]=f;o=o+1|0}while((o|0)!=(r|0));f=r<<1|1;o=Xj(l,f)|0;if(!o){f=0;N=152;break b}else{Q=r;r=f;l=o;o=Q}}}if(!x){l=q;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=0;l=0;f=0;break i}l=c[M>>2]|0}}else{l=0;while(1){f=c[L>>2]|0;if(f>>>0>>0){c[L>>2]=f+1;f=d[f>>0]|0}else f=vi(e)|0;if(!(a[I+(f+1)>>0]|0)){q=l;l=x;f=0;break i}a[x+l>>0]=f;q=c[M>>2]|0;l=l+1|0}}}while(0);o=c[L>>2]|0;if(c[M>>2]|0){o=o+-1|0;c[L>>2]=o}o=o-(c[z>>2]|0)+(c[G>>2]|0)|0;if(!o)break b;if(!((o|0)==(v|0)|u^1))break b;do if(t)if(s){c[x>>2]=f;break}else{c[x>>2]=l;break}while(0);if(!u){if(f)c[f+(q<<2)>>2]=0;if(!l){l=0;break f}a[l+q>>0]=0}break}case 120:case 88:case 112:{o=16;N=134;break}case 111:{o=8;N=134;break}case 117:case 100:{o=10;N=134;break}case 105:{o=0;N=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+si(e,t,0);if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if(x)switch(t|0){case 0:{g[x>>2]=p;break f}case 1:{h[x>>3]=p;break f}case 2:{h[x>>3]=p;break f}default:break f}break}default:{}}while(0);l:do if((N|0)==134){N=0;o=ti(e,o,0,-1,-1)|0;if((c[G>>2]|0)==((c[z>>2]|0)-(c[L>>2]|0)|0))break b;if((x|0)!=0&(r|0)==112){c[x>>2]=o;break}if(x)switch(t|0){case -2:{a[x>>0]=o;break l}case -1:{b[x>>1]=o;break l}case 0:{c[x>>2]=o;break l}case 1:{c[x>>2]=o;break l}case 3:{Q=x;c[Q>>2]=o;c[Q+4>>2]=D;break l}default:break l}}while(0);k=((x|0)!=0&1)+k|0;o=(c[G>>2]|0)+w+(c[L>>2]|0)-(c[z>>2]|0)|0;break c}while(0);n=n+(m&1)|0;ui(e,0);m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0;if((m|0)!=(d[n>>0]|0)){N=21;break b}o=s+1|0}else{while(1){m=n+1|0;if(!(pi(d[m>>0]|0)|0))break;else n=m}ui(e,0);do{m=c[L>>2]|0;if(m>>>0<(c[M>>2]|0)>>>0){c[L>>2]=m+1;m=d[m>>0]|0}else m=vi(e)|0}while((pi(m)|0)!=0);m=c[L>>2]|0;if(c[M>>2]|0){m=m+-1|0;c[L>>2]=m}o=(c[G>>2]|0)+s+m-(c[z>>2]|0)|0}while(0);n=n+1|0;m=a[n>>0]|0;if(!(m<<24>>24))break a;else s=o}if((N|0)==21){if(c[M>>2]|0)c[L>>2]=(c[L>>2]|0)+-1;if((k|0)!=0|(m|0)>-1)break;else{k=0;N=153}}else if((N|0)==152)if(!k){k=m;N=153}if((N|0)==153){m=k;k=-1}if(m){Vj(l);Vj(f)}}else k=0;while(0);if(O)Mi(e);i=P;return k|0}function oj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;g=n+112|0;m=n;h=m;j=2684;k=h+112|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;l=4}else{c[(qi()|0)>>2]=75;d=-1}else{g=b;l=4}if((l|0)==4){l=-2-g|0;l=d>>>0>l>>>0?l:d;c[m+48>>2]=l;b=m+20|0;c[b>>2]=g;c[m+44>>2]=g;d=g+l|0;g=m+16|0;c[g>>2]=d;c[m+28>>2]=d;d=mj(m,e,f)|0;if(l){e=c[b>>2]|0;a[e+(((e|0)==(c[g>>2]|0))<<31>>31)>>0]=0}}i=n;return d|0}function pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+112|0;e=g;f=e;h=f+112|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=15;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=nj(e,b,d)|0;i=g;return h|0}function qj(b){b=b|0;var c=0,d=0,e=0,f=0;while(1){c=b+1|0;if(!(pi(a[b>>0]|0)|0))break;else b=c}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{e=1;f=5;break}case 43:{e=0;f=5;break}default:e=0}if((f|0)==5){b=c;d=a[c>>0]|0}c=(d<<24>>24)+-48|0;if(c>>>0<10){d=b;b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return ((e|0)!=0?b:0-b|0)|0}function rj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=$(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){Nj(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)Nj(a,d,e,h,o);else Oj(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}Oj(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;Oj(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;Oj(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=$(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return ((e|0)!=0?b:0)|0}function tj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function uj(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);ek(b|0,0,e|0)|0;return b|0}function wj(b,c){b=b|0;c=c|0;b=xj(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function xj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Bj(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=$(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009)break b;b=b+4|0;e=c[b>>2]|0}while(((e&-2139062144^-2139062144)&e+-16843009|0)==0);while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function yj(a,b){a=a|0;b=b|0;uj(a,b)|0;return a|0}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;e=a[d>>0]|0;if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;a:do if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31))break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}while(0);e=e-b|0}else e=(xj(b,e<<24>>24)|0)-b|0;i=g;return e|0}function Aj(a){a=a|0;var b=0,c=0;c=(Bj(a)|0)+1|0;b=Uj(c)|0;if(!b)b=0;else ik(b|0,a|0,c|0)|0;return b|0}function Bj(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Cj(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Bj(b)|0)|0;a:do if(d)while(1){f=a[c>>0]|0;if(!(f<<24>>24))break a;d=d+-1|0;g=e+1|0;a[e>>0]=f;if(!d){e=g;break}else{c=c+1|0;e=g}}while(0);a[e>>0]=0;return b|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;vj(a,b,c)|0;return a|0}function Ej(a,b){a=a|0;b=b|0;return tj(a,b,(Bj(a)|0)+1|0)|0}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;f=a[d>>0]|0;do if(!(f<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==f<<24>>24)d=d+1|0;else break;d=d-b|0;break}else{e=d;d=f}do{f=g+(((d&255)>>>5&255)<<2)|0;c[f>>2]=c[f>>2]|1<<(d&31);e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[g+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);i=h;return d|0}function Gj(b,d){b=b|0;d=d|0;var e=0,f=0;if(!b){b=c[699]|0;if(!b)b=0;else{f=b;e=3}}else{f=b;e=3}do if((e|0)==3){e=Fj(f,d)|0;b=f+e|0;if(!(a[b>>0]|0)){c[699]=0;b=0;break}e=(zj(b,d)|0)+e|0;d=f+e|0;c[699]=d;if(!(a[d>>0]|0)){c[699]=0;break}else{c[699]=f+(e+1);a[d>>0]=0;break}}while(0);return b|0}function Hj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;e=c[i>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0){c[i>>2]=(c[i>>2]|0)+-1;h=f}else h=f;break}default:h=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=-2147483648;e=0}else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&(f|0)<214748364);b=((f|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=ok(f|0,b|0,10,0)|0;f=D;e=gk(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=gk(e|0,D|0,b|0,f|0)|0;b=D;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));g=f}else g=f;if((e+-48|0)>>>0<10)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=vi(a)|0}while((e+-48|0)>>>0<10);if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;a=(h|0)!=0;e=dk(0,0,g|0,b|0)|0;f=a?D:b;e=a?e:g}D=f;return e|0}function Ij(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Jj(a){a=a|0;if(!(c[a+68>>2]|0))Mi(a);return}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Qb[c[a+36>>2]&15](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Qb[c[a+40>>2]&15](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function Lj(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=i;i=i+624|0;ca=ha+24|0;ea=ha+16|0;da=ha+588|0;Y=ha+576|0;ba=ha;V=ha+536|0;ga=ha+8|0;fa=ha+528|0;M=(e|0)!=0;N=V+40|0;U=N;V=V+39|0;W=ga+4|0;X=Y+12|0;Y=Y+11|0;Z=da;_=X;aa=_-Z|0;O=-2-Z|0;P=_+2|0;Q=ca+288|0;R=da+9|0;S=R;T=da+8|0;m=0;w=f;n=0;f=0;a:while(1){do if((m|0)>-1)if((n|0)>(2147483647-m|0)){c[(qi()|0)>>2]=75;m=-1;break}else{m=n+m|0;break}while(0);n=a[w>>0]|0;if(!(n<<24>>24)){L=245;break}else o=w;b:while(1){switch(n<<24>>24){case 37:{n=o;L=9;break b}case 0:{n=o;break b}default:{}}K=o+1|0;n=a[K>>0]|0;o=K}c:do if((L|0)==9)while(1){L=0;if((a[n+1>>0]|0)!=37)break c;o=o+1|0;n=n+2|0;if((a[n>>0]|0)==37)L=9;else break}while(0);y=o-w|0;if(M?(c[e>>2]&32|0)==0:0)hj(w,y,e)|0;if((o|0)!=(w|0)){w=n;n=y;continue}r=n+1|0;o=a[r>>0]|0;p=(o<<24>>24)+-48|0;if(p>>>0<10){K=(a[n+2>>0]|0)==36;r=K?n+3|0:r;o=a[r>>0]|0;u=K?p:-1;f=K?1:f}else u=-1;n=o<<24>>24;d:do if((n&-32|0)==32){p=0;while(1){if(!(1<>24)+-32|p;r=r+1|0;o=a[r>>0]|0;n=o<<24>>24;if((n&-32|0)!=32){s=p;n=r;break}}}else{s=0;n=r}while(0);do if(o<<24>>24==42){p=n+1|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+2>>0]|0)==36:0){c[l+(o<<2)>>2]=10;f=1;n=n+3|0;o=c[j+((a[p>>0]|0)+-48<<3)>>2]|0}else{if(f){m=-1;break a}if(!M){x=s;n=p;f=0;K=0;break}f=(c[g>>2]|0)+(4-1)&~(4-1);o=c[f>>2]|0;c[g>>2]=f+4;f=0;n=p}if((o|0)<0){x=s|8192;K=0-o|0}else{x=s;K=o}}else{p=(o<<24>>24)+-48|0;if(p>>>0<10){o=0;do{o=(o*10|0)+p|0;n=n+1|0;p=(a[n>>0]|0)+-48|0}while(p>>>0<10);if((o|0)<0){m=-1;break a}else{x=s;K=o}}else{x=s;K=0}}while(0);e:do if((a[n>>0]|0)==46){p=n+1|0;o=a[p>>0]|0;if(o<<24>>24!=42){r=(o<<24>>24)+-48|0;if(r>>>0<10){n=p;o=0}else{n=p;r=0;break}while(1){o=(o*10|0)+r|0;n=n+1|0;r=(a[n>>0]|0)+-48|0;if(r>>>0>=10){r=o;break e}}}p=n+2|0;o=(a[p>>0]|0)+-48|0;if(o>>>0<10?(a[n+3>>0]|0)==36:0){c[l+(o<<2)>>2]=10;n=n+4|0;r=c[j+((a[p>>0]|0)+-48<<3)>>2]|0;break}if(f){m=-1;break a}if(M){n=(c[g>>2]|0)+(4-1)&~(4-1);r=c[n>>2]|0;c[g>>2]=n+4;n=p}else{n=p;r=0}}else r=-1;while(0);t=0;while(1){o=(a[n>>0]|0)+-65|0;if(o>>>0>57){m=-1;break a}p=n+1|0;o=a[15953+(t*58|0)+o>>0]|0;s=o&255;if((s+-1|0)>>>0<8){n=p;t=s}else{J=p;break}}if(!(o<<24>>24)){m=-1;break}p=(u|0)>-1;do if(o<<24>>24==19)if(p){m=-1;break a}else L=52;else{if(p){c[l+(u<<2)>>2]=s;H=j+(u<<3)|0;I=c[H+4>>2]|0;L=ba;c[L>>2]=c[H>>2];c[L+4>>2]=I;L=52;break}if(!M){m=0;break a}Rj(ba,s,g)}while(0);if((L|0)==52?(L=0,!M):0){w=J;n=y;continue}u=a[n>>0]|0;u=(t|0)!=0&(u&15|0)==3?u&-33:u;p=x&-65537;I=(x&8192|0)==0?x:p;f:do switch(u|0){case 110:switch(t|0){case 0:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 1:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 2:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}case 3:{b[c[ba>>2]>>1]=m;w=J;n=y;continue a}case 4:{a[c[ba>>2]>>0]=m;w=J;n=y;continue a}case 6:{c[c[ba>>2]>>2]=m;w=J;n=y;continue a}case 7:{w=c[ba>>2]|0;c[w>>2]=m;c[w+4>>2]=((m|0)<0)<<31>>31;w=J;n=y;continue a}default:{w=J;n=y;continue a}}case 112:{t=I|8;r=r>>>0>8?r:8;u=120;L=64;break}case 88:case 120:{t=I;L=64;break}case 111:{p=ba;o=c[p>>2]|0;p=c[p+4>>2]|0;if((o|0)==0&(p|0)==0)n=N;else{n=N;do{n=n+-1|0;a[n>>0]=o&7|48;o=hk(o|0,p|0,3)|0;p=D}while(!((o|0)==0&(p|0)==0))}if(!(I&8)){o=I;t=0;s=16433;L=77}else{t=U-n+1|0;o=I;r=(r|0)<(t|0)?t:r;t=0;s=16433;L=77}break}case 105:case 100:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;if((o|0)<0){n=dk(0,0,n|0,o|0)|0;o=D;p=ba;c[p>>2]=n;c[p+4>>2]=o;p=1;s=16433;L=76;break f}if(!(I&2048)){s=I&1;p=s;s=(s|0)==0?16433:16435;L=76}else{p=1;s=16434;L=76}break}case 117:{o=ba;n=c[o>>2]|0;o=c[o+4>>2]|0;p=0;s=16433;L=76;break}case 99:{a[V>>0]=c[ba>>2];w=V;o=1;t=0;u=16433;n=N;break}case 109:{n=ri(c[(qi()|0)>>2]|0)|0;L=82;break}case 115:{n=c[ba>>2]|0;n=(n|0)!=0?n:16443;L=82;break}case 67:{c[ga>>2]=c[ba>>2];c[W>>2]=0;c[ba>>2]=ga;r=-1;L=86;break}case 83:{if(!r){Tj(e,32,K,0,I);n=0;L=98}else L=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{q=+h[ba>>3];c[ea>>2]=0;h[k>>3]=q;if((c[k+4>>2]|0)>=0)if(!(I&2048)){H=I&1;G=H;H=(H|0)==0?16451:16456}else{G=1;H=16453}else{q=-q;G=1;H=16450}h[k>>3]=q;F=c[k+4>>2]&2146435072;do if(F>>>0<2146435072|(F|0)==2146435072&0<0){v=+Ci(q,ea)*2.0;o=v!=0.0;if(o)c[ea>>2]=(c[ea>>2]|0)+-1;C=u|32;if((C|0)==97){w=u&32;y=(w|0)==0?H:H+9|0;x=G|2;n=12-r|0;do if(!(r>>>0>11|(n|0)==0)){q=8.0;do{n=n+-1|0;q=q*16.0}while((n|0)!=0);if((a[y>>0]|0)==45){q=-(q+(-v-q));break}else{q=v+q-q;break}}else q=v;while(0);o=c[ea>>2]|0;n=(o|0)<0?0-o|0:o;n=Sj(n,((n|0)<0)<<31>>31,X)|0;if((n|0)==(X|0)){a[Y>>0]=48;n=Y}a[n+-1>>0]=(o>>31&2)+43;t=n+-2|0;a[t>>0]=u+15;s=(r|0)<1;p=(I&8|0)==0;o=da;while(1){H=~~q;n=o+1|0;a[o>>0]=d[16417+H>>0]|w;q=(q-+(H|0))*16.0;do if((n-Z|0)==1){if(p&(s&q==0.0))break;a[n>>0]=46;n=o+2|0}while(0);if(!(q!=0.0))break;else o=n}r=(r|0)!=0&(O+n|0)<(r|0)?P+r-t|0:aa-t+n|0;p=r+x|0;Tj(e,32,K,p,I);if(!(c[e>>2]&32))hj(y,x,e)|0;Tj(e,48,K,p,I^65536);n=n-Z|0;if(!(c[e>>2]&32))hj(da,n,e)|0;o=_-t|0;Tj(e,48,r-(n+o)|0,0,0);if(!(c[e>>2]&32))hj(t,o,e)|0;Tj(e,32,K,p,I^8192);n=(p|0)<(K|0)?K:p;break}n=(r|0)<0?6:r;if(o){o=(c[ea>>2]|0)+-28|0;c[ea>>2]=o;q=v*268435456.0}else{q=v;o=c[ea>>2]|0}F=(o|0)<0?ca:Q;E=F;o=F;do{B=~~q>>>0;c[o>>2]=B;o=o+4|0;q=(q-+(B>>>0))*1.0e9}while(q!=0.0);p=o;o=c[ea>>2]|0;if((o|0)>0){s=F;while(1){t=(o|0)>29?29:o;r=p+-4|0;do if(r>>>0>>0)r=s;else{o=0;do{B=fk(c[r>>2]|0,0,t|0)|0;B=gk(B|0,D|0,o|0,0)|0;o=D;A=qk(B|0,o|0,1e9,0)|0;c[r>>2]=A;o=pk(B|0,o|0,1e9,0)|0;r=r+-4|0}while(r>>>0>=s>>>0);if(!o){r=s;break}r=s+-4|0;c[r>>2]=o}while(0);while(1){if(p>>>0<=r>>>0)break;o=p+-4|0;if(!(c[o>>2]|0))p=o;else break}o=(c[ea>>2]|0)-t|0;c[ea>>2]=o;if((o|0)>0)s=r;else break}}else r=F;if((o|0)<0){y=((n+25|0)/9|0)+1|0;z=(C|0)==102;w=r;while(1){x=0-o|0;x=(x|0)>9?9:x;do if(w>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function RO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function NP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function XP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} + return new globalScope[workerConstructor](url, workerOptions); + } +}; -// EMSCRIPTEN_END_FUNCS -var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,ex,bu,FO,dx,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,Pt,Wt,Xt,Yt,Zt,zu,Bu,Yw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,bx,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Rt,Au,Cu,Du,Hu,Iu,Ju,Ku,Mu,Nu,Su,Tu,Uu,Vu,Wu,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,zw,Iq,Wq,Yq,Zq,dr,ht,Ys,Ew,Fw,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Gw,Hw,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,Lw,Mw,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Iw,Jw,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,ax,jr,Ot,St,Vt,du,eu,pw,qw,fw,$v,Rv,Jv,Yu,Qu,Ru,Fu,Gu,wu,xu,iw,lw,Kw,Ow,Zw,_w,$w,fx,hx,jx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,Nt,tr,wr,yr,Dr,Fr,Hr,Is,Qt,ow,ew,Fv,su,Nw,gx,ix,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Ww,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,bw,dw,Lv,Mv,Nv,Ov,Pv,tu,uu,vu,hw,jw,kw,sw,tw,uw,vw,ww,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Dv,Cv,Bv,Av,zv,yv,xv,wv,vv,uv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,Ev,_u,Zu,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,aw,cw,Kv,Gv,Hv,Iv,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) +/***/ }), +/***/ "./three.js/src/markers-area/arjs-markersareacontrols.js": +/*!***************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareacontrols.js ***! + \***************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/threex-arbasecontrols */ "./three.js/src/threex/threex-arbasecontrols.js"); +/* harmony import */ var _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/arjs-markercontrols */ "./three.js/src/threex/arjs-markercontrols.js"); +/* harmony import */ var _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); -var THREEx = THREEx || {} -THREEx.ArBaseControls = function(object3d){ - this.id = THREEx.ArBaseControls.id++ - this.object3d = object3d - this.object3d.matrixAutoUpdate = false; + + +const MarkersAreaControls = function(arToolkitContext, object3d, parameters){ + var _this = this + _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.call(this, object3d) + + if( arguments.length > 3 ) console.assert('wrong api for', MarkersAreaControls) + + // have a parameters in argument + this.parameters = { + // list of controls for each subMarker + subMarkersControls: parameters.subMarkersControls, + // list of pose for each subMarker relative to the origin + subMarkerPoses: parameters.subMarkerPoses, + // change matrix mode - [modelViewMatrix, cameraTransformMatrix] + changeMatrixMode : parameters.changeMatrixMode !== undefined ? parameters.changeMatrixMode : 'modelViewMatrix', + } + this.object3d.visible = false + // honor obsolete stuff - add a warning to use + this.subMarkersControls = this.parameters.subMarkersControls + this.subMarkerPoses = this.parameters.subMarkerPoses - // Events to honor - // this.dispatchEvent({ type: 'becameVisible' }) - // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound - // this.dispatchEvent({ type: 'becameUnVisible' }) + // listen to arToolkitContext event 'sourceProcessed' + // - after we fully processed one image, aka when we know all detected poses in it + arToolkitContext.addEventListener('sourceProcessed', function(){ + _this._onSourceProcessed() + }) } -THREEx.ArBaseControls.id = 0 - -Object.assign( THREEx.ArBaseControls.prototype, THREE.EventDispatcher.prototype ); +MarkersAreaControls.prototype = Object.create( _threex_threex_arbasecontrols__WEBPACK_IMPORTED_MODULE_1__.default.prototype ); +MarkersAreaControls.prototype.constructor = MarkersAreaControls; ////////////////////////////////////////////////////////////////////////////// -// Functions +// Code Separator ////////////////////////////////////////////////////////////////////////////// -/** - * error catching function for update() - */ -THREEx.ArBaseControls.prototype.update = function(){ - console.assert(false, 'you need to implement your own update') -} + /** - * error catching function for name() + * What to do when a image source is fully processed */ -THREEx.ArBaseControls.prototype.name = function(){ - console.assert(false, 'you need to implement your own .name()') - return 'Not yet implemented - name()' -} -var THREEx = THREEx || {} +MarkersAreaControls.prototype._onSourceProcessed = function(){ + var _this = this + var stats = { + count: 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } -// TODO this is useless - prefere arjs-HitTesting.js + var firstQuaternion = _this.parameters.subMarkersControls[0].object3d.quaternion -/** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to - */ -THREEx.ARClickability = function (sourceElement) { - this._sourceElement = sourceElement - // Create cameraPicking - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - this._cameraPicking = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 100); + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + + var markerObject3d = markerControls.object3d + // if this marker is not visible, ignore it + if( markerObject3d.visible === false ) return - console.warn('THREEx.ARClickability works only in modelViewMatrix') - console.warn('OBSOLETE OBSOLETE! instead use THREEx.HitTestingPlane') -} + // transformation matrix of this.object3d according to this sub-markers + var matrix = markerObject3d.matrix.clone() + var markerPose = _this.parameters.subMarkerPoses[markerIndex] + matrix.multiply(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().getInverse(markerPose)) -THREEx.ARClickability.prototype.onResize = function () { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking + // decompose the matrix into .position, .quaternion, .scale + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + matrix.decompose(position, quaternion, scale) - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - cameraPicking.aspect = fullWidth / fullHeight; - cameraPicking.updateProjectionMatrix(); -} + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ -THREEx.ARClickability.prototype.computeIntersects = function (domEvent, objects) { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) - // compute mouse coordinatge with [-1,1] - var eventCoords = new THREE.Vector3(); - eventCoords.x = (domEvent.layerX / parseInt(sourceElement.style.width)) * 2 - 1; - eventCoords.y = - (domEvent.layerY / parseInt(sourceElement.style.height)) * 2 + 1; + // honor _this.object3d.visible + if( stats.count > 0 ){ + _this.object3d.visible = true + }else{ + _this.object3d.visible = false + } - // compute intersections between eventCoords and pickingPlane - var raycaster = new THREE.Raycaster(); - raycaster.setFromCamera(eventCoords, cameraPicking); - var intersects = raycaster.intersectObjects(objects) + // if at least one sub-marker has been detected, make the average of all detected markers + if( stats.count > 0 ){ + // compute modelViewMatrix + var modelViewMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + modelViewMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) - return intersects -} + // change _this.object3d.matrix based on parameters.changeMatrixMode + if( this.parameters.changeMatrixMode === 'modelViewMatrix' ){ + _this.object3d.matrix.copy(modelViewMatrix) + }else if( this.parameters.changeMatrixMode === 'cameraTransformMatrix' ){ + _this.object3d.matrix.getInverse( modelViewMatrix ) + }else { + console.assert(false) + } -THREEx.ARClickability.prototype.update = function () { + // decompose - the matrix into .position, .quaternion, .scale + _this.object3d.matrix.decompose(_this.object3d.position, _this.object3d.quaternion, _this.object3d.scale) + } } -var THREEx = THREEx || {} + +////////////////////////////////////////////////////////////////////////////// +// Utility functions +////////////////////////////////////////////////////////////////////////////// + /** - * - videoTexture - * - cloakWidth - * - cloakHeight - * - cloakSegmentsHeight - * - remove all mentions of cache, for cloak + * from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors */ -THREEx.ArMarkerCloak = function(videoTexture){ - var updateInShaderEnabled = true - - // build cloakMesh - // TODO if webgl2 use repeat warp, and not multi segment, this will reduce the geometry to draw - var geometry = new THREE.PlaneGeometry(1.3+0.25,1.85+0.25, 1, 8).translate(0,-0.3,0) - var material = new THREE.ShaderMaterial( { - vertexShader: THREEx.ArMarkerCloak.vertexShader, - fragmentShader: THREEx.ArMarkerCloak.fragmentShader, - transparent: true, - uniforms: { - texture: { - value: videoTexture - }, - opacity: { - value: 0.5 - } - }, - defines: { - updateInShaderEnabled: updateInShaderEnabled ? 1 : 0, - } - }); +MarkersAreaControls.averageQuaternion = function(quaternionSum, newQuaternion, firstQuaternion, count, quaternionAverage){ + quaternionAverage = quaternionAverage || new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() + // sanity check + console.assert(firstQuaternion instanceof three__WEBPACK_IMPORTED_MODULE_0__.Quaternion === true) + + // from http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + if( newQuaternion.dot(firstQuaternion) > 0 ){ + newQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(-newQuaternion.x, -newQuaternion.y, -newQuaternion.z, -newQuaternion.w) + } - var cloakMesh = new THREE.Mesh( geometry, material ); - cloakMesh.rotation.x = -Math.PI/2 - this.object3d = cloakMesh + quaternionSum.x += newQuaternion.x + quaternionSum.y += newQuaternion.y + quaternionSum.z += newQuaternion.z + quaternionSum.w += newQuaternion.w + + quaternionAverage.x = quaternionSum.x/count + quaternionAverage.y = quaternionSum.y/count + quaternionAverage.z = quaternionSum.z/count + quaternionAverage.w = quaternionSum.w/count + + quaternionAverage.normalize() - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + return quaternionAverage +} - var xMin = -0.65 - var xMax = 0.65 - var yMin = 0.65 + 0.1 - var yMax = 0.95 + 0.1 - ////////////////////////////////////////////////////////////////////////////// - // originalsFaceVertexUvs - ////////////////////////////////////////////////////////////////////////////// - var originalsFaceVertexUvs = [[]] - - // build originalsFaceVertexUvs array - for(var faceIndex = 0; faceIndex < cloakMesh.geometry.faces.length; faceIndex ++ ){ - originalsFaceVertexUvs[0][faceIndex] = [] - originalsFaceVertexUvs[0][faceIndex][0] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][1] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][2] = new THREE.Vector2() - } +MarkersAreaControls.averageVector3 = function(vector3Sum, vector3, count, vector3Average){ + vector3Average = vector3Average || new three__WEBPACK_IMPORTED_MODULE_0__.Vector3() + + vector3Sum.x += vector3.x + vector3Sum.y += vector3.y + vector3Sum.z += vector3.z + + vector3Average.x = vector3Sum.x / count + vector3Average.y = vector3Sum.y / count + vector3Average.z = vector3Sum.z / count + + return vector3Average +} + +////////////////////////////////////////////////////////////////////////////// +// Utility function +////////////////////////////////////////////////////////////////////////////// - // set values in originalsFaceVertexUvs - for(var i = 0; i < cloakMesh.geometry.parameters.heightSegments/2; i ++ ){ - // one segment height - even row - normale orientation - originalsFaceVertexUvs[0][i*4+0][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][1].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][2].set( xMax/2+0.5, yMax/2+0.5 ) +/** + * compute the center of this multimarker file + */ +MarkersAreaControls.computeCenter = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var stats = { + count : 0, + position : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + quaternion : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(0,0,0,0), + }, + scale : { + sum: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + average: new three__WEBPACK_IMPORTED_MODULE_0__.Vector3(0,0,0), + }, + } + var firstQuaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion() // FIXME ??? + + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) - originalsFaceVertexUvs[0][i*4+1][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][1].set( xMax/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][2].set( xMax/2+0.5, yMax/2+0.5 ) - - // one segment height - odd row - mirror-y orientation - originalsFaceVertexUvs[0][i*4+2][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][1].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][2].set( xMax/2+0.5, yMin/2+0.5 ) + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) - originalsFaceVertexUvs[0][i*4+3][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][1].set( xMax/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][2].set( xMax/2+0.5, yMin/2+0.5 ) - } - - if( updateInShaderEnabled === true ){ - cloakMesh.geometry.faceVertexUvs = originalsFaceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } + // http://wiki.unity3d.com/index.php/Averaging_Quaternions_and_Vectors + stats.count++ - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + MarkersAreaControls.averageVector3(stats.position.sum, position, stats.count, stats.position.average) + MarkersAreaControls.averageQuaternion(stats.quaternion.sum, quaternion, firstQuaternion, stats.count, stats.quaternion.average) + MarkersAreaControls.averageVector3(stats.scale.sum, scale, stats.count, stats.scale.average) + }) + + var averageMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4() + averageMatrix.compose(stats.position.average, stats.quaternion.average, stats.scale.average) - var originalOrthoVertices = [] - originalOrthoVertices.push( new THREE.Vector3(xMin, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMin, yMin, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMin, 0)) - - // build debugMesh - var material = new THREE.MeshNormalMaterial({ - transparent : true, - opacity: 0.5, - side: THREE.DoubleSide - }); - var geometry = new THREE.PlaneGeometry(1,1); - var orthoMesh = new THREE.Mesh(geometry, material); - this.orthoMesh = orthoMesh + return averageMatrix +} - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// +MarkersAreaControls.computeBoundingBox = function(jsonData){ + var multiMarkerFile = JSON.parse(jsonData) + var boundingBox = new three__WEBPACK_IMPORTED_MODULE_0__.Box3() - this.update = function(modelViewMatrix, cameraProjectionMatrix){ - updateOrtho(modelViewMatrix, cameraProjectionMatrix) + multiMarkerFile.subMarkersControls.forEach(function(item){ + var poseMatrix = new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix) + + var position = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + var quaternion = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion + var scale = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3 + poseMatrix.decompose(position, quaternion, scale) - if( updateInShaderEnabled === false ){ - updateUvs(modelViewMatrix, cameraProjectionMatrix) - } - } - - return + boundingBox.expandByPoint(position) + }) - // update cloakMesh - function updateUvs(modelViewMatrix, cameraProjectionMatrix){ - var transformedUv = new THREE.Vector3() - originalsFaceVertexUvs[0].forEach(function(faceVertexUvs, faceIndex){ - faceVertexUvs.forEach(function(originalUv, uvIndex){ - // set transformedUv - from UV coord to clip coord - transformedUv.x = originalUv.x * 2.0 - 1.0; - transformedUv.y = originalUv.y * 2.0 - 1.0; - transformedUv.z = 0 - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // set back from clip coord to Uv coord - transformedUv.x = transformedUv.x / 2.0 + 0.5; - transformedUv.y = transformedUv.y / 2.0 + 0.5; - // copy the trasnformedUv into the geometry - cloakMesh.geometry.faceVertexUvs[0][faceIndex][uvIndex].set(transformedUv.x, transformedUv.y) - }) - }) - - // cloakMesh.geometry.faceVertexUvs = faceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } + return boundingBox +} +////////////////////////////////////////////////////////////////////////////// +// updateSmoothedControls +////////////////////////////////////////////////////////////////////////////// - // update orthoMesh - function updateOrtho(modelViewMatrix, cameraProjectionMatrix){ - // compute transformedUvs - var transformedUvs = [] - originalOrthoVertices.forEach(function(originalOrthoVertices, index){ - var transformedUv = originalOrthoVertices.clone() - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // store it - transformedUvs.push(transformedUv) - }) +MarkersAreaControls.prototype.updateSmoothedControls = function(smoothedControls, lerpsValues){ + // handle default values + if( lerpsValues === undefined ){ + // FIXME this parameter format is uselessly cryptic + // lerpValues = [ + // {lerpPosition: 0.5, lerpQuaternion: 0.2, lerpQuaternion: 0.7} + // ] + lerpsValues = [ + [0.3+.1, 0.1, 0.3], + [0.4+.1, 0.1, 0.4], + [0.4+.1, 0.2, 0.5], + [0.5+.1, 0.2, 0.7], + [0.5+.1, 0.2, 0.7], + ] + } + // count how many subMarkersControls are visible + var nVisible = 0 + this.parameters.subMarkersControls.forEach(function(markerControls, markerIndex){ + var markerObject3d = markerControls.object3d + if( markerObject3d.visible === true ) nVisible ++ + }) - // change orthoMesh vertices - for(var i = 0; i < transformedUvs.length; i++){ - orthoMesh.geometry.vertices[i].copy(transformedUvs[i]) - } - orthoMesh.geometry.computeBoundingSphere() - orthoMesh.geometry.verticesNeedUpdate = true - } + // find the good lerpValues + if( lerpsValues[nVisible-1] !== undefined ){ + var lerpValues = lerpsValues[nVisible-1] + }else{ + var lerpValues = lerpsValues[lerpsValues.length-1] + } + // modify lerpValues in smoothedControls + smoothedControls.parameters.lerpPosition = lerpValues[0] + smoothedControls.parameters.lerpQuaternion = lerpValues[1] + smoothedControls.parameters.lerpScale = lerpValues[2] } + +////////////////////////////////////////////////////////////////////////////// +// Create ArMultiMarkerControls from JSON ////////////////////////////////////////////////////////////////////////////// -// Shaders -////////////////////////////////////////////////////////////////////////////// - -THREEx.ArMarkerCloak.markerSpaceShaderFunction = '\n'+ -' vec2 transformUvToMarkerSpace(vec2 originalUv){\n'+ -' vec3 transformedUv;\n'+ -' // set transformedUv - from UV coord to clip coord\n'+ -' transformedUv.x = originalUv.x * 2.0 - 1.0;\n'+ -' transformedUv.y = originalUv.y * 2.0 - 1.0;\n'+ -' transformedUv.z = 0.0;\n'+ -'\n'+ -' // apply modelViewMatrix and projectionMatrix\n'+ -' transformedUv = (projectionMatrix * modelViewMatrix * vec4( transformedUv, 1.0 ) ).xyz;\n'+ -'\n'+ -' // apply perspective\n'+ -' transformedUv.x /= transformedUv.z;\n'+ -' transformedUv.y /= transformedUv.z;\n'+ -'\n'+ -' // set back from clip coord to Uv coord\n'+ -' transformedUv.x = transformedUv.x / 2.0 + 0.5;\n'+ -' transformedUv.y = transformedUv.y / 2.0 + 0.5;\n'+ -'\n'+ -' // return the result\n'+ -' return transformedUv.xy;\n'+ -' }' - -THREEx.ArMarkerCloak.vertexShader = THREEx.ArMarkerCloak.markerSpaceShaderFunction + -' varying vec2 vUv;\n'+ -'\n'+ -' void main(){\n'+ -' // pass the UV to the fragment\n'+ -' #if (updateInShaderEnabled == 1)\n'+ -' vUv = transformUvToMarkerSpace(uv);\n'+ -' #else\n'+ -' vUv = uv;\n'+ -' #endif\n'+ -'\n'+ -' // compute gl_Position\n'+ -' vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n'+ -' gl_Position = projectionMatrix * mvPosition;\n'+ -' }'; - -THREEx.ArMarkerCloak.fragmentShader = '\n'+ -' varying vec2 vUv;\n'+ -' uniform sampler2D texture;\n'+ -' uniform float opacity;\n'+ -'\n'+ -' void main(void){\n'+ -' vec3 color = texture2D( texture, vUv ).rgb;\n'+ -'\n'+ -' gl_FragColor = vec4( color, opacity);\n'+ -' }' -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.MarkerControls = THREEx.ArMarkerControls = function (context, object3d, parameters) { - var _this = this - THREEx.ArBaseControls.call(this, object3d) +MarkersAreaControls.fromJSON = function(arToolkitContext, parent3D, markerRoot, jsonData, parameters){ + var multiMarkerFile = JSON.parse(jsonData) + // declare variables + var subMarkersControls = [] + var subMarkerPoses = [] + // handle default arguments + parameters = parameters || {} - this.context = context - // handle default parameters - this.parameters = { - // size of the marker in meter - size: 1, - // type of marker - ['pattern', 'barcode', 'nft', 'unknown' ] - type: 'unknown', - // url of the pattern - IIF type='pattern' - patternUrl: null, - // value of the barcode - IIF type='barcode' - barcodeValue: null, - // url of the descriptors of image - IIF type='nft' - descriptorsUrl: null, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode: 'modelViewMatrix', - // minimal confidence in the marke recognition - between [0, 1] - default to 1 - minConfidence: 0.6, - // turn on/off camera smoothing - smooth: false, - // number of matrices to smooth tracking over, more = smoother but slower follow - smoothCount: 5, - // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still - smoothTolerance: 0.01, - // threshold for smoothing, will keep still unless enough matrices are over tolerance - smoothThreshold: 2, - } - - // sanity check - var possibleValues = ['pattern', 'barcode', 'nft', 'unknown'] - console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) - var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix'] - console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) + // prepare the parameters + multiMarkerFile.subMarkersControls.forEach(function(item){ + // create a markerRoot + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Object3D() + parent3D.add(markerRoot) - // create the marker Root - this.object3d = object3d - this.object3d.matrixAutoUpdate = false; - this.object3d.visible = false + // create markerControls for our markerRoot + var subMarkerControls = new _threex_arjs_markercontrols__WEBPACK_IMPORTED_MODULE_2__.default(arToolkitContext, markerRoot, item.parameters) - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] +// if( true ){ + // store it in the parameters + subMarkersControls.push(subMarkerControls) + subMarkerPoses.push(new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().fromArray(item.poseMatrix)) +// }else{ +// // build a smoothedControls +// var smoothedRoot = new THREE.Group() +// parent3D.add(smoothedRoot) +// var smoothedControls = new THREEx.ArSmoothedControls(smoothedRoot, { +// lerpPosition : 0.1, +// lerpQuaternion : 0.1, +// lerpScale : 0.1, +// minVisibleDelay: 0, +// minUnvisibleDelay: 0, +// }) +// onRenderFcts.push(function(delta){ +// smoothedControls.update(markerRoot) // TODO this is a global +// }) +// +// +// // store it in the parameters +// subMarkersControls.push(smoothedControls) +// subMarkerPoses.push(new THREE.Matrix4().fromArray(item.poseMatrix)) +// } + }) + + parameters.subMarkersControls = subMarkersControls + parameters.subMarkerPoses = subMarkerPoses + // create a new ArMultiMarkerControls + var multiMarkerControls = new _arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_3__.default(arToolkitContext, markerRoot, parameters) - if (newValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' parameter is undefined.") - continue - } + // return it + return multiMarkerControls +} - var currentValue = _this.parameters[key] +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaControls); - if (currentValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' is not a property of this material.") - continue - } +/***/ }), - _this.parameters[key] = newValue - } - } +/***/ "./three.js/src/markers-area/arjs-markersareautils.js": +/*!************************************************************!*\ + !*** ./three.js/src/markers-area/arjs-markersareautils.js ***! + \************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - if (this.parameters.smooth) { - this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../threex/arjs-context */ "./three.js/src/threex/arjs-context.js"); - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // add this marker to artoolkitsystem - // TODO rename that .addMarkerControls - context.addMarker(this) + // TODO context build-dependent - if (_this.context.parameters.trackingBackend === 'artoolkit') { - this._initArtoolkit() - } else console.assert(false) -} +const MarkersAreaUtils = {}; -ARjs.MarkerControls.prototype = Object.create(THREEx.ArBaseControls.prototype); -ARjs.MarkerControls.prototype.constructor = THREEx.ArMarkerControls; +////////////////////////////////////////////////////////////////////////////// +// navigateToLearnerPage +////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype.dispose = function () { - this.context.removeMarker(this) +/** + * Navigate to the multi-marker learner page + * + * @param {String} learnerBaseURL - the base url for the learner + * @param {String} trackingBackend - the tracking backend to use + */ +MarkersAreaUtils.navigateToLearnerPage = function(learnerBaseURL, trackingBackend){ + var learnerParameters = { + backURL : location.href, + trackingBackend: trackingBackend, + markersControlsParameters: MarkersAreaUtils.createDefaultMarkersControlsParameters(trackingBackend), + } + location.href = learnerBaseURL + '?' + encodeURIComponent(JSON.stringify(learnerParameters)) } ////////////////////////////////////////////////////////////////////////////// -// update controls with new modelViewMatrix +// DefaultMultiMarkerFile ////////////////////////////////////////////////////////////////////////////// /** - * When you actually got a new modelViewMatrix, you need to perfom a whole bunch - * of things. it is done here. + * Create and store a default multi-marker file + * + * @param {String} trackingBackend - the tracking backend to use */ -ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { - var markerObject3D = this.object3d; - - // mark object as visible - markerObject3D.visible = true - - if (this.context.parameters.trackingBackend === 'artoolkit') { - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - var tmpMatrix = new THREE.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) - tmpMatrix.multiply(modelViewMatrix) +MarkersAreaUtils.storeDefaultMultiMarkerFile = function(trackingBackend){ + var file = MarkersAreaUtils.createDefaultMultiMarkerFile(trackingBackend) + // json.strinfy the value and store it in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(file)) +} - modelViewMatrix.copy(tmpMatrix) - } else { - console.assert(false) - } - // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker - var markerAxisTransformMatrix = new THREE.Matrix4().makeRotationX(Math.PI/2) - modelViewMatrix.multiply(markerAxisTransformMatrix) - var renderReqd = false; +/** + * Create a default multi-marker file + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object of the multi-marker file + */ +MarkersAreaUtils.createDefaultMultiMarkerFile = function(trackingBackend){ + console.assert(trackingBackend) + if( trackingBackend === undefined ) debugger - // change markerObject3D.matrix based on parameters.changeMatrixMode - if (this.parameters.changeMatrixMode === 'modelViewMatrix') { - if (this.parameters.smooth) { - var sum, - i, j, - averages, // average values for matrix over last smoothCount - exceedsAverageTolerance = 0; + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + // create the base file + var file = { + meta : { + createdBy : 'AR.js ' + _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.REVISION + ' - Default Marker', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... being filled + ] + } + // add a subMarkersControls + file.subMarkersControls[0] = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(0,0, 0).toArray(), + } + if( trackingBackend === 'artoolkit' ){ + file.subMarkersControls[0].parameters.type = 'pattern' + file.subMarkersControls[0].parameters.patternUrl = absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + }else console.assert(false) - if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { - markerObject3D.matrix.copy(modelViewMatrix); // not enough for average - } else { - this.smoothMatrices.shift(); // remove oldest entry - averages = []; + // json.strinfy the value and store it in localStorage + return file +} - for (i in modelViewMatrix.elements) { // loop over entries in matrix - sum = 0; - for (j in this.smoothMatrices) { // calculate average for this entry - sum += this.smoothMatrices[j][i]; - } - averages[i] = sum / this.parameters.smoothCount; - // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE - if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { - exceedsAverageTolerance++; - } - } +////////////////////////////////////////////////////////////////////////////// +// createDefaultMarkersControlsParameters +////////////////////////////////////////////////////////////////////////////// - // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) - if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { - // then update matrix values to average, otherwise, don't render to minimize jitter - for (i in modelViewMatrix.elements) { - modelViewMatrix.elements[i] = averages[i]; - } - markerObject3D.matrix.copy(modelViewMatrix); - renderReqd = true; // render required in animation loop - } - } - } else { - markerObject3D.matrix.copy(modelViewMatrix) - } - } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { - markerObject3D.matrix.getInverse(modelViewMatrix) - } else { - console.assert(false) - } +/** + * Create a default controls parameters for the multi-marker learner + * + * @param {String} trackingBackend - the tracking backend to use + * @return {Object} - json object containing the controls parameters + */ +MarkersAreaUtils.createDefaultMarkersControlsParameters = function(trackingBackend){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - // decompose - the matrix into .position, .quaternion, .scale - markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) + if( trackingBackend === 'artoolkit' ){ + // pattern hiro/kanji/a/b/c/f + var markersControlsParameters = [ + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt', + }, + { + type : 'pattern', + patternUrl : absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt', + }, + ] + }else console.assert(false) + return markersControlsParameters +} - // dispatchEvent - this.dispatchEvent({ type: 'markerFound' }); - return renderReqd; +////////////////////////////////////////////////////////////////////////////// +// Code Separator +////////////////////////////////////////////////////////////////////////////// +/** + * generate areaFile + */ +MarkersAreaUtils.storeMarkersAreaFileFromResolution = function (trackingBackend, resolutionW, resolutionH) { + // generate areaFile + var areaFile = this.buildMarkersAreaFileFromResolution(trackingBackend, resolutionW, resolutionH) + // store areaFile in localStorage + localStorage.setItem('ARjsMultiMarkerFile', JSON.stringify(areaFile)) } + ////////////////////////////////////////////////////////////////////////////// -// utility functions +// Code Separator ////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype.name = function () { - var name = ''; - name += this.parameters.type; +MarkersAreaUtils.buildMarkersAreaFileFromResolution = function(trackingBackend, resolutionW, resolutionH){ + // create the base file + var file = { + meta : { + createdBy : 'AR.js - Augmented Website', + createdAt : new Date().toJSON(), + }, + trackingBackend : trackingBackend, + subMarkersControls : [ + // empty for now... + ] + } - if (this.parameters.type === 'pattern') { - var url = this.parameters.patternUrl; - var basename = url.replace(/^.*\//g, ''); - name += ' - ' + basename; - } else if (this.parameters.type === 'barcode') { - name += ' - ' + this.parameters.barcodeValue; - } else if (this.parameters.type === 'nft') { - var url = this.parameters.descriptorsUrl; - var basename = url.replace(/^.*\//g, ''); - name += ' - ' + basename; - } else { - console.assert(false, 'no .name() implemented for this marker controls'); - } + var whiteMargin = 0.1 + if( resolutionW > resolutionH ){ + var markerImageSize = 0.4 * resolutionH + }else if( resolutionW < resolutionH ){ + var markerImageSize = 0.4 * resolutionW + }else if( resolutionW === resolutionH ){ + // specific for twitter player - https://dev.twitter.com/cards/types/player + var markerImageSize = 0.33 * resolutionW + }else console.assert(false) - return name; -} + // console.warn('using new markerImageSize computation') + var actualMarkerSize = markerImageSize * (1 - 2*whiteMargin) -////////////////////////////////////////////////////////////////////////////// -// init for Artoolkit -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function () { - var _this = this + var deltaX = (resolutionW - markerImageSize)/2 / actualMarkerSize + var deltaZ = (resolutionH - markerImageSize)/2 / actualMarkerSize - var artoolkitMarkerId = null + var subMarkerControls = buildSubMarkerControls('center', 0, 0) + file.subMarkersControls.push(subMarkerControls) - var delayedInitTimerId = setInterval(() => { - // check if arController is init - var arController = _this.context.arController - if (arController === null) return - // stop looping if it is init - clearInterval(delayedInitTimerId) - delayedInitTimerId = null - // launch the _postInitArtoolkit - postInit() - }, 1000 / 50) + var subMarkerControls = buildSubMarkerControls('topleft', -deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - return + var subMarkerControls = buildSubMarkerControls('topright', +deltaX, -deltaZ) + file.subMarkersControls.push(subMarkerControls) - function postInit() { - // check if arController is init - var arController = _this.context.arController - console.assert(arController !== null) + var subMarkerControls = buildSubMarkerControls('bottomleft', -deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) - // start tracking this pattern - if (_this.parameters.type === 'pattern') { - arController.loadMarker(_this.parameters.patternUrl, function (markerId) { - artoolkitMarkerId = markerId - arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); - }); - } else if (_this.parameters.type === 'barcode') { - artoolkitMarkerId = _this.parameters.barcodeValue - arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); - } else if (_this.parameters.type === 'nft') { - // use workers as default - handleNFT(_this.parameters.descriptorsUrl, arController); - } else if (_this.parameters.type === 'unknown') { - artoolkitMarkerId = null - } else { - console.log(false, 'invalid marker type', _this.parameters.type) - } + var subMarkerControls = buildSubMarkerControls('bottomright', +deltaX, +deltaZ) + file.subMarkersControls.push(subMarkerControls) - // listen to the event - arController.addEventListener('getMarker', function (event) { - if (event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { - if (artoolkitMarkerId === null) return - if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { - if (artoolkitMarkerId === null) return - if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { - onMarkerFound(event); - } - }) - } + return file - function setMatrix(matrix, value) { - var array = []; - for (var key in value) { - array[key] = value[key]; - } - if (typeof matrix.elements.set === "function") { - matrix.elements.set(array); - } else { - matrix.elements = [].slice.call(array); - } - }; + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - function handleNFT(descriptorsUrl, arController) { - // create a Worker to handle loading of NFT marker and tracking of it - var workerBlob = new Blob( - [workerRunner.toString().replace(/^function .+\{?|\}$/g, '')], - { type: 'text/js-worker' } - ); - var workerBlobUrl = URL.createObjectURL(workerBlob); - var worker = new Worker(workerBlobUrl); + function buildSubMarkerControls(layout, positionX, positionZ){ + console.log('buildSubMarkerControls', layout, positionX, positionZ) + // create subMarkersControls + var subMarkersControls = { + parameters: {}, + poseMatrix: new three__WEBPACK_IMPORTED_MODULE_0__.Matrix4().makeTranslation(positionX,0, positionZ).toArray(), + } + // fill the parameters + if( trackingBackend === 'artoolkit' ){ + layout2MarkerParametersArtoolkit(subMarkersControls.parameters, layout) + }else console.assert(false) + // return subMarkersControls + return subMarkersControls + } - window.addEventListener('arjs-video-loaded', function (ev) { - var video = ev.detail.component; - var vw = video.clientWidth; - var vh = video.clientHeight; + function layout2MarkerParametersArtoolkit(parameters, layout){ + // create absoluteBaseURL + var link = document.createElement('a') + link.href = _threex_arjs_context__WEBPACK_IMPORTED_MODULE_1__.default.baseURL + var absoluteBaseURL = link.href - var pscale = 320 / Math.max(vw, vh / 3 * 4); + var layout2PatternUrl = { + 'center' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt'), + 'topleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterA.patt'), + 'topright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterB.patt'), + 'bottomleft' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterC.patt'), + 'bottomright' : convertRelativeUrlToAbsolute(absoluteBaseURL + 'examples/marker-training/examples/pattern-files/pattern-letterF.patt'), + } + console.assert(layout2PatternUrl[layout] !== undefined ) + parameters.type = 'pattern' + parameters.patternUrl = layout2PatternUrl[layout] + return + function convertRelativeUrlToAbsolute(relativeUrl){ + var tmpLink = document.createElement('a'); + tmpLink.href = relativeUrl + return tmpLink.href + } + } +} - w = vw * pscale; - h = vh * pscale; - pw = Math.max(w, h / 3 * 4); - ph = Math.max(h, w / 4 * 3); - ox = (pw - w) / 2; - oy = (ph - h) / 2; +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MarkersAreaUtils); - arController.canvas.style.clientWidth = pw + "px"; - arController.canvas.style.clientHeight = ph + "px"; - arController.canvas.width = pw; - arController.canvas.height = ph; - var context_process = arController.canvas.getContext('2d'); +/***/ }), - function process() { - context_process.fillStyle = "black"; - context_process.fillRect(0, 0, pw, ph); - context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); +/***/ "./three.js/src/new-api/arjs-anchor.js": +/*!*********************************************!*\ + !*** ./three.js/src/new-api/arjs-anchor.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - var imageData = context_process.getImageData(0, 0, pw, ph); - worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); - } +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! threexArmarkercontrols */ "./three.js/src/threex/arjs-markercontrols-nft.js"); +/* harmony import */ var _threex_threex_armarkerhelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../threex/threex-armarkerhelper */ "./three.js/src/threex/threex-armarkerhelper.js"); +/* harmony import */ var _threex_threex_arsmoothedcontrols__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../threex/threex-arsmoothedcontrols */ "./three.js/src/threex/threex-arsmoothedcontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareacontrols__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../markers-area/arjs-markersareacontrols */ "./three.js/src/markers-area/arjs-markersareacontrols.js"); +/* harmony import */ var _markers_area_arjs_markersareautils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../markers-area/arjs-markersareautils */ "./three.js/src/markers-area/arjs-markersareautils.js"); - // initialize the worker - worker.postMessage({ - type: 'init', - pw: pw, - ph: ph, - marker: descriptorsUrl, - param: arController.cameraParam.src, - }); + // Alias for dynamic importing - worker.onmessage = function (ev) { - if (ev && ev.data && ev.data.type === 'endLoading') { - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); - } - var endLoadingEvent = new Event('arjs-nft-loaded'); - window.dispatchEvent(endLoadingEvent); - } - if (ev && ev.data && ev.data.type === 'loaded') { - var proj = JSON.parse(ev.data.proj); - var ratioW = pw / w; - var ratioH = ph / h; - proj[0] *= ratioW; - proj[4] *= ratioW; - proj[8] *= ratioW; - proj[12] *= ratioW; - proj[1] *= ratioH; - proj[5] *= ratioH; - proj[9] *= ratioH; - proj[13] *= ratioH; - setMatrix(_this.object3d.matrix, proj); - } - if (ev && ev.data && ev.data.type === 'found') { - var matrix = JSON.parse(ev.data.matrix); - onMarkerFound({ - data: { - type: artoolkit.NFT_MARKER, - matrix: matrix, - msg: ev.data.type, - } - }); +// TODO this is a controls... should i give the object3d here ? +// not according to 'no three.js dependancy' - _this.context.arController.showObject = true; - } else { - _this.context.arController.showObject = false; - } +/** + * Create an anchor in the real world + * + * @param {ARjs.Session} arSession - the session on which we create the anchor + * @param {Object} markerParameters - parameter of this anchor + */ +const Anchor = function(arSession, markerParameters){ + var _this = this + var arContext = arSession.arContext + var scene = arSession.parameters.scene + var camera = arSession.parameters.camera - process(); - }; + this.arSession = arSession + this.parameters = markerParameters - }); + // log to debug + console.log('ARjs.Anchor -', 'changeMatrixMode:', this.parameters.changeMatrixMode, '/ markersAreaEnabled:', markerParameters.markersAreaEnabled) + var markerRoot = new three__WEBPACK_IMPORTED_MODULE_0__.Group() + scene.add(markerRoot) + // set controlledObject depending on changeMatrixMode + if( markerParameters.changeMatrixMode === 'modelViewMatrix' ){ + var controlledObject = markerRoot + }else if( markerParameters.changeMatrixMode === 'cameraTransformMatrix' ){ + var controlledObject = camera + }else console.assert(false) - }; + if( markerParameters.markersAreaEnabled === false ){ + var markerControls = new threexArmarkercontrols__WEBPACK_IMPORTED_MODULE_1__.default(arContext, controlledObject, markerParameters) + this.controls = markerControls + }else{ + // sanity check - MUST be a trackingBackend with markers + console.assert( arContext.parameters.trackingBackend === 'artoolkit' ) - function workerRunner() { - // continuing 'workerRunner' function at treex-armarkercontrols-nft-end.js file - // see the makefile of three.js folder to better understand the division of this function between two files -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAAwMTIzNDU2Nzg5YWJjZGVmQUJDREVGeFgrLXBQaUluTgAAAAAAAAAAAAAAAAAAAAAlAAAAbQAAAC8AAAAlAAAAZAAAAC8AAAAlAAAAeQAAACUAAABZAAAALQAAACUAAABtAAAALQAAACUAAABkAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAAAAAAAAAAAAAAAAAAlAAAASAAAADoAAAAlAAAATQAAADoAAAAlAAAAUwAAACUAAABIAAAAOgAAACUAAABNAAAAOgAAACUAAABTAAAApD8AABVdAADMPwAAiWkAAIAzAAAAAAAAzD8AAHRsAAA4NgAAAAAAAMw/AAAjdwAAGD0AAAAAAADMPwAAi4cAABg9AAAAAAAAzD8AAP+HAAAYPQAAAAAAADhAAADlngAAAAAAAAEAAADwMwAAAAAAAKQ/AAAknwAABQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAABG4QAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAEAAAAIyQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAYzQAAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApD8AAEe3AADMPwAAp7cAAFA2AAAAAAAAzD8AAFS3AABgNgAAAAAAAKQ/AAB1twAAzD8AAIK3AABANgAAAAAAAMw/AADxtwAAODYAAAAAAADMPwAAAbgAAHg2AAAAAAAAzD8AABK4AABQNgAAAAAAAMw/AAA0uAAAmDYAAAAAAADMPwAAWLgAAFA2AAAAAAAAHEAAAIC4AAAcQAAAgrgAABxAAACEuAAAHEAAAIa4AAAcQAAAiLgAABxAAACKuAAAHEAAAIy4AAAcQAAAjrgAABxAAACQuAAAHEAAAA3BAAAcQAAAkrgAABxAAACUuAAAHEAAAJa4AADMPwAAmLgAAEA2AAAAAAAApD8AANu7AACkPwAA+rsAAKQ/AAAZvAAApD8AADi8AACkPwAAV7wAAKQ/AAB2vAAApD8AAJW8AACkPwAAtLwAAKQ/AADTvAAApD8AAPK8AACkPwAAEb0AAKQ/AAAwvQAApD8AAE+9AAA4QAAAYr0AAAAAAAABAAAA8DMAAAAAAAA4QAAAob0AAAAAAAABAAAA8DMAAAAAAADMPwAA8r0AAOg3AAAAAAAApD8AAOC9AADMPwAAHL4AAOg3AAAAAAAApD8AAEa+AACkPwAAd74AADhAAACovgAAAAAAAAEAAADYNwAAA/T//zhAAADXvgAAAAAAAAEAAADwNwAAA/T//zhAAAAGvwAAAAAAAAEAAADYNwAAA/T//zhAAAA1vwAAAAAAAAEAAADwNwAAA/T//8w/AABkvwAACDgAAAAAAADMPwAAfb8AAAA4AAAAAAAAzD8AALy/AAAIOAAAAAAAAMw/AADUvwAAADgAAAAAAADMPwAA7L8AAMA4AAAAAAAAzD8AAADAAAAQPQAAAAAAAMw/AAAWwAAAwDgAAAAAAAA4QAAAL8AAAAAAAAACAAAAwDgAAAIAAAAAOQAAAAAAADhAAABzwAAAAAAAAAEAAAAYOQAAAAAAAKQ/AACJwAAAOEAAAKLAAAAAAAAAAgAAAMA4AAACAAAAQDkAAAAAAAA4QAAA5sAAAAAAAAABAAAAGDkAAAAAAAA4QAAAD8EAAAAAAAACAAAAwDgAAAIAAAB4OQAAAAAAADhAAABTwQAAAAAAAAEAAACQOQAAAAAAAKQ/AABpwQAAOEAAAILBAAAAAAAAAgAAAMA4AAACAAAAuDkAAAAAAAA4QAAAxsEAAAAAAAABAAAAkDkAAAAAAAA4QAAAHMMAAAAAAAADAAAAwDgAAAIAAAD4OQAAAgAAAAA6AAAACAAApD8AAIPDAACkPwAAYcMAADhAAACWwwAAAAAAAAMAAADAOAAAAgAAAPg5AAACAAAAMDoAAAAIAACkPwAA28MAADhAAAD9wwAAAAAAAAIAAADAOAAAAgAAAFg6AAAACAAApD8AAELEAAA4QAAAV8QAAAAAAAACAAAAwDgAAAIAAABYOgAAAAgAADhAAACcxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAApD8AALjEAAA4QAAAzcQAAAAAAAACAAAAwDgAAAIAAACgOgAAAgAAADhAAADpxAAAAAAAAAIAAADAOAAAAgAAAKA6AAACAAAAOEAAAAXFAAAAAAAAAgAAAMA4AAACAAAAoDoAAAIAAAA4QAAAMMUAAAAAAAACAAAAwDgAAAIAAAAoOwAAAAAAAKQ/AAB2xQAAOEAAAJrFAAAAAAAAAgAAAMA4AAACAAAAUDsAAAAAAACkPwAA4MUAADhAAAD/xQAAAAAAAAIAAADAOAAAAgAAAHg7AAAAAAAApD8AAEXGAAA4QAAAXsYAAAAAAAACAAAAwDgAAAIAAACgOwAAAAAAAKQ/AACkxgAAOEAAAL3GAAAAAAAAAgAAAMA4AAACAAAAyDsAAAIAAACkPwAA0sYAADhAAABpxwAAAAAAAAIAAADAOAAAAgAAAMg7AAACAAAAzD8AAOrGAAAAPAAAAAAAADhAAAANxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAApD8AADDHAADMPwAAR8cAAAA8AAAAAAAAOEAAAH7HAAAAAAAAAgAAAMA4AAACAAAAIDwAAAIAAAA4QAAAoMcAAAAAAAACAAAAwDgAAAIAAAAgPAAAAgAAADhAAADCxwAAAAAAAAIAAADAOAAAAgAAACA8AAACAAAAzD8AAOXHAADAOAAAAAAAADhAAAD7xwAAAAAAAAIAAADAOAAAAgAAAMg8AAACAAAApD8AAA3IAAA4QAAAIsgAAAAAAAACAAAAwDgAAAIAAADIPAAAAgAAAMw/AAA/yAAAwDgAAAAAAADMPwAAVMgAAMA4AAAAAAAApD8AAGnIAAA4QAAAgsgAAAAAAAABAAAAED0AAAAAAAABAAAAAAAAAIgzAAABAAAAAgAAAAAAAACAMwAAAwAAAAQAAAAAAAAAmDMAAAUAAAAGAAAAAQAAALlSjD6OWuc+uVKMPgAAAACoMwAABwAAAAgAAAAJAAAAAQAAAAoAAAAAAAAAuDMAAAcAAAALAAAADAAAAAIAAAANAAAAAAAAAMgzAAAHAAAADgAAAA8AAAADAAAAEAAAAP/////+/////f///8g2AAAANwAAIDcAAMg2AAAANwAAADcAACg3AAAANwAAyDYAAAA3AAAoNwAAADcAAMg2AAAANwAAADcAANgzAAAANwAAADcAAAA3AAAANwAAADcAANgzAAAANwAAADcAAAEAAAAAAAAAAgAAAEAGAACAPgAAAAAAAIgTAABAFgAAFAAAAEMuVVRGLTgAAAAAAAAAAAAAAAAAUD4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DMAAIg0AAAYNQAAGDUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgGwAAIB8AACAlAABfcIkA/wkvDwAAAABANgAAEQAAABIAAAATAAAAFAAAAAQAAAABAAAAAQAAAAEAAAAAAAAAaDYAABEAAAAVAAAAEwAAABQAAAAEAAAAAgAAAAIAAAACAAAAAAAAAHg2AAAWAAAAFwAAAAQAAAAAAAAAiDYAABYAAAAYAAAABAAAAAAAAAC4NgAAEQAAABkAAAATAAAAFAAAAAUAAAAAAAAAMDcAABEAAAAaAAAAEwAAABQAAAAEAAAAAwAAAAMAAAADAAAAAAAAAOg3AAAbAAAAHAAAAAAAAAAAOAAAHQAAAB4AAAABAAAABgAAAAQAAAAEAAAABQAAAAYAAAAHAAAABwAAAAgAAAAEAAAACAAAAAUAAAAAAAAACDgAAB8AAAAgAAAAAgAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAAsAAAAMAAAABgAAAAsAAAAHAAAACAAAAAAAAAAQOAAAIQAAACIAAAD4////+P///xA4AAAjAAAAJAAAAPRAAAAIQQAACAAAAAAAAAAoOAAAJQAAACYAAAD4////+P///yg4AAAnAAAAKAAAACRBAAA4QQAABAAAAAAAAABAOAAAKQAAACoAAAD8/////P///0A4AAArAAAALAAAAFRBAABoQQAABAAAAAAAAABYOAAALQAAAC4AAAD8/////P///1g4AAAvAAAAMAAAAIRBAACYQQAAAAAAAHA4AAAfAAAAMQAAAAMAAAAJAAAABQAAAAUAAAANAAAACgAAAAoAAAALAAAADAAAAAYAAAAMAAAACAAAAAAAAACAOAAAHQAAADIAAAAEAAAABgAAAAQAAAAEAAAADgAAAAYAAAAHAAAABwAAAAgAAAAEAAAADQAAAAkAAAAAAAAAkDgAAB8AAAAzAAAABQAAAAkAAAAFAAAABQAAAAkAAAAKAAAACgAAAA8AAAAQAAAACgAAAAsAAAAHAAAAAAAAAKA4AAAdAAAANAAAAAYAAAAGAAAABAAAAAQAAAAFAAAABgAAAAcAAAARAAAAEgAAAAsAAAAIAAAABQAAAAAAAACwOAAANQAAADYAAAA3AAAAAQAAAAYAAAAOAAAAAAAAANA4AAA4AAAAOQAAADcAAAACAAAABwAAAA8AAAAAAAAA4DgAADoAAAA7AAAANwAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAAAAAAACA5AAA8AAAAPQAAADcAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAAAAAAABYOQAAPgAAAD8AAAA3AAAAAwAAAAQAAAAXAAAABQAAABgAAAABAAAAAgAAAAYAAAAAAAAAmDkAAEAAAABBAAAANwAAAAcAAAAIAAAAGQAAAAkAAAAaAAAAAwAAAAQAAAAKAAAAAAAAANA5AABCAAAAQwAAADcAAAATAAAAGwAAABwAAAAdAAAAHgAAAB8AAAABAAAA+P///9A5AAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAAAAAAAg6AABEAAAARQAAADcAAAAbAAAAIAAAACEAAAAiAAAAIwAAACQAAAACAAAA+P///wg6AAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAAAAAAJQAAAG0AAAAvAAAAJQAAAGQAAAAvAAAAJQAAAHkAAAAAAAAAJQAAAEkAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAHAAAAAAAAAAJQAAAGEAAAAgAAAAJQAAAGIAAAAgAAAAJQAAAGQAAAAgAAAAJQAAAEgAAAA6AAAAJQAAAE0AAAA6AAAAJQAAAFMAAAAgAAAAJQAAAFkAAAAAAAAAQQAAAE0AAAAAAAAAUAAAAE0AAAAAAAAASgAAAGEAAABuAAAAdQAAAGEAAAByAAAAeQAAAAAAAABGAAAAZQAAAGIAAAByAAAAdQAAAGEAAAByAAAAeQAAAAAAAABNAAAAYQAAAHIAAABjAAAAaAAAAAAAAABBAAAAcAAAAHIAAABpAAAAbAAAAAAAAABNAAAAYQAAAHkAAAAAAAAASgAAAHUAAABuAAAAZQAAAAAAAABKAAAAdQAAAGwAAAB5AAAAAAAAAEEAAAB1AAAAZwAAAHUAAABzAAAAdAAAAAAAAABTAAAAZQAAAHAAAAB0AAAAZQAAAG0AAABiAAAAZQAAAHIAAAAAAAAATwAAAGMAAAB0AAAAbwAAAGIAAABlAAAAcgAAAAAAAABOAAAAbwAAAHYAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABEAAAAZQAAAGMAAABlAAAAbQAAAGIAAABlAAAAcgAAAAAAAABKAAAAYQAAAG4AAAAAAAAARgAAAGUAAABiAAAAAAAAAE0AAABhAAAAcgAAAAAAAABBAAAAcAAAAHIAAAAAAAAASgAAAHUAAABuAAAAAAAAAEoAAAB1AAAAbAAAAAAAAABBAAAAdQAAAGcAAAAAAAAAUwAAAGUAAABwAAAAAAAAAE8AAABjAAAAdAAAAAAAAABOAAAAbwAAAHYAAAAAAAAARAAAAGUAAABjAAAAAAAAAFMAAAB1AAAAbgAAAGQAAABhAAAAeQAAAAAAAABNAAAAbwAAAG4AAABkAAAAYQAAAHkAAAAAAAAAVAAAAHUAAABlAAAAcwAAAGQAAABhAAAAeQAAAAAAAABXAAAAZQAAAGQAAABuAAAAZQAAAHMAAABkAAAAYQAAAHkAAAAAAAAAVAAAAGgAAAB1AAAAcgAAAHMAAABkAAAAYQAAAHkAAAAAAAAARgAAAHIAAABpAAAAZAAAAGEAAAB5AAAAAAAAAFMAAABhAAAAdAAAAHUAAAByAAAAZAAAAGEAAAB5AAAAAAAAAFMAAAB1AAAAbgAAAAAAAABNAAAAbwAAAG4AAAAAAAAAVAAAAHUAAABlAAAAAAAAAFcAAABlAAAAZAAAAAAAAABUAAAAaAAAAHUAAAAAAAAARgAAAHIAAABpAAAAAAAAAFMAAABhAAAAdAAAAAAAAAAAAAAAODoAAEYAAABHAAAANwAAAAEAAAAAAAAAYDoAAEgAAABJAAAANwAAAAIAAAAAAAAAgDoAAEoAAABLAAAANwAAACMAAAAkAAAABwAAAAgAAAAJAAAACgAAACUAAAALAAAADAAAAAAAAACoOgAATAAAAE0AAAA3AAAAJgAAACcAAAANAAAADgAAAA8AAAAQAAAAKAAAABEAAAASAAAAAAAAAMg6AABOAAAATwAAADcAAAApAAAAKgAAABMAAAAUAAAAFQAAABYAAAArAAAAFwAAABgAAAAAAAAA6DoAAFAAAABRAAAANwAAACwAAAAtAAAAGQAAABoAAAAbAAAAHAAAAC4AAAAdAAAAHgAAAAAAAAAIOwAAUgAAAFMAAAA3AAAAAwAAAAQAAAAAAAAAMDsAAFQAAABVAAAANwAAAAUAAAAGAAAAAAAAAFg7AABWAAAAVwAAADcAAAABAAAAJQAAAAAAAACAOwAAWAAAAFkAAAA3AAAAAgAAACYAAAAAAAAAqDsAAFoAAABbAAAANwAAABAAAAAGAAAAHwAAAAAAAADQOwAAXAAAAF0AAAA3AAAAEQAAAAcAAAAgAAAAAAAAACg8AABeAAAAXwAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAPA7AABeAAAAYAAAADcAAAADAAAABAAAAAsAAAAvAAAAMAAAAAwAAAAxAAAAAAAAAFg8AABhAAAAYgAAADcAAAAFAAAABgAAAA0AAAAyAAAAMwAAAA4AAAA0AAAAAAAAAJg8AABjAAAAZAAAADcAAAAAAAAAqDwAAGUAAABmAAAANwAAAAwAAAASAAAADQAAABMAAAAOAAAAAwAAABQAAAAPAAAAAAAAAPA8AABnAAAAaAAAADcAAAA1AAAANgAAACEAAAAiAAAAIwAAAAAAAAAAPQAAaQAAAGoAAAA3AAAANwAAADgAAAAkAAAAJQAAACYAAABmAAAAYQAAAGwAAABzAAAAZQAAAAAAAAB0AAAAcgAAAHUAAABlAAAAAAAAAAAAAADAOAAAXgAAAGsAAAA3AAAAAAAAANA8AABeAAAAbAAAADcAAAAVAAAABAAAAAUAAAAGAAAADwAAABYAAAAQAAAAFwAAABEAAAAHAAAAGAAAABAAAAAAAAAAODwAAF4AAABtAAAANwAAAAcAAAAIAAAAEQAAADkAAAA6AAAAEgAAADsAAAAAAAAAeDwAAF4AAABuAAAANwAAAAkAAAAKAAAAEwAAADwAAAA9AAAAFAAAAD4AAAAAAAAAADwAAF4AAABvAAAANwAAAAMAAAAEAAAACwAAAC8AAAAwAAAADAAAADEAAAAAAAAAADoAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAAAAAAMDoAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAABFcnJvcjogbGFiZWxpbmcgd29yayBvdmVyZmxvdy4KAFVua25vd24gb3IgdW5zdXBwb3J0ZWQgbGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgcmVxdWVzdGVkLiBTZXQgdG8gbWFudWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|0}function rH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function DH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return} -function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} -function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 0}function rL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0} -function nw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function ow(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))rw(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function rw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function uw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function vw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function ww(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=yw(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=yw((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=yw(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=yw((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=yw((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=yw((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=yw(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=yw((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=yw((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=yw((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=yw((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=yw((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=yw((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=yw(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=yw(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=yw(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=yw(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function yw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=Bw(b)|0;c[g>>2]=e;f=Cw(b,84)|0;if(!f){Dw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Bw(a){a=a|0;return 0}function Cw(a,b){a=a|0;b=b|0;return FO(b)|0}function Dw(a){a=a|0;return}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Cw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Cw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Tw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Jw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Rw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;Sw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Tw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;Sw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Tw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Qw(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Pw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Ow(a){a=a|0;var b=0;Nw(a,1);Nw(a,0);b=a+4|0;Pw(a,c[b>>2]|0,84);c[b>>2]=0;Dw(a);return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function Tw(a,b){a=a|0;b=b|0;return FO(b)|0}function Uw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function Vw(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Aw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Ut(a);Xw(a);c[a+20>>2]=200;return}function Xw(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=yw(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=yw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=yw(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=yw(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=yw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){_w(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Zw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=yw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=yw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function $w(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function ax(a){a=a|0;Uw(a);return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=cx(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}Vw(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function dx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);Vw(a);a=1;return a|0}function ex(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function fx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);Uw(a);Ea(1)}function gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function hx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function ix(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function jx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|0}function Rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return} -function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} -function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|0}function Ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} -function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=115;c[d+12>>2]=83;c[d+16>>2]=47;c[d+20>>2]=33;c[d+24>>2]=116;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function Ot(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function Pt(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function Rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Tt(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function St(a){a=a|0;return}function Tt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Ut(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=117;c[d+4>>2]=84;c[d+8>>2]=85;c[d+28>>2]=86;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=86;c[d+104>>2]=0;c[d+40>>2]=86;c[d+108>>2]=0;c[d+44>>2]=86;c[d+112>>2]=0;c[d+48>>2]=86;c[d+116>>2]=0;c[d+52>>2]=86;c[d+120>>2]=0;c[d+56>>2]=86;c[d+124>>2]=0;c[d+60>>2]=86;c[d+128>>2]=0;c[d+64>>2]=86;c[d+132>>2]=0;c[d+68>>2]=86;c[d+136>>2]=0;c[d+72>>2]=86;c[d+140>>2]=0;c[d+76>>2]=86;c[d+144>>2]=0;c[d+80>>2]=86;c[d+148>>2]=0;c[d+84>>2]=86;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=86;c[d+160>>2]=0;c[d+32>>2]=87;c[d+88>>2]=87;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Vt(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Wt(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Tt(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!($t(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!($t(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!($t(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!($t(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!($t(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=au(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=Mt(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Xt(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Tt(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Yt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{_t(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function _t(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{cu(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function cu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=118;c[i+4>>2]=119;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}fu(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=gu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){hu(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;iu(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){ku(b);lu(b)}else ju(b);mu(b,c[b+108>>2]|0)}nu(b);if(!(c[b+228>>2]|0))pu(b);else ou(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;qu(b,d);if(!(c[e>>2]|0))ru(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function du(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function eu(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}xw(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(gu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function gu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function hu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=48;c[t+8>>2]=120;c[t+12>>2]=121;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;rw(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=49;c[e+12>>2]=122;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;gw(a);return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=123;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=124;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function lu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=125;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=yu(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=yu(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=126;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function ou(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=127;c[e+8>>2]=128;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=129;c[f+8>>2]=130;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=131;c[i+8>>2]=132;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=89;c[i+12>>2]=35;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=yu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=yu(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=88;c[i+12>>2]=34;c[i+16>>2]=b;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=51;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function wu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function xu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=36;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=34;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function yu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function Bu(a){a=a|0;return 0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function Du(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){Eu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?41:42;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Lu(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Lu(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?37:38):o?39:40;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Lu(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Lu(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Gu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Hu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Ou(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Pu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Ou(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Iu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Ou(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Pu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Ou(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Ju(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Ou(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function Ku(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Ou(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Pu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Ou(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Lu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Mu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Nu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Ou(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Ou(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=43;k=l;break}else{c[f>>2]=44;k=l;break}else if(e){c[f>>2]=45;k=l;break}else{c[f>>2]=46;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=47;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function Ru(a){a=a|0;return}function Su(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Tu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Xu(e,g)|0){r=36;break}j=h+1|0;if(!(Xu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Xu(e,i+4|0)|0)){i=g;h=j}else break}}k=Xu(e,l)|0;i=g+2|0;g=Xu(e,i)|0;if(g){if(Xu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Xu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Xu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Uu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Xu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Vu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Xu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Xu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Xu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Xu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0} -function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}function Wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;kl(b+4|0,e,96);return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} -function Wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Xu(e,h)|0)break b;j=g+1|0;if(!(Xu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Xu(e,i+4|0)|0)){i=h;g=j}else break}}k=Xu(e,s)|0;h=h+2|0;i=Xu(e,h)|0;if(i){if(Xu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Xu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Xu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Xu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Yu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Zu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function mv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function nv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function ov(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Gv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Hv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Iv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Jv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Nv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Ov(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}Qv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Pv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}Qv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function Rv(a){a=a|0;return}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Tv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Uv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Xv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function _v(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function $v(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function aw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{Qv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function cw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function dw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=134;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))gw(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=133;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function fw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function hw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;nw(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}nw(d,q);nw(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){mw(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function kw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){mw(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function lw(a){a=a|0;return}function mw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return} -function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0

>>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;zb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}}v=ox()|0;c[v>>2]=48;v=0;zb=w;return v|0}function GO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function HO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=FO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;aP(a|0,0,d|0)|0;return a|0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=FO(b)|0;return b|0}if(b>>>0>4294967231){b=ox()|0;c[b>>2]=48;b=0;return b|0}d=JO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=FO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;_O(d|0,a|0,(e>>>0>>0?e:b)|0)|0;GO(a);b=d;return b|0}function JO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;KO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;KO(i,k);return a|0}return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function LO(a){a=a|0;var b=0,d=0;b=VO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){d=ox()|0;c[d>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function MO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=MO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function OO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function PO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function QO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function RO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=QO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((QO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=OO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;PO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=PO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function SO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return RO(a,b,c,d,0)|0}function TO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=IO(d|0,8*(e+1|0)|0)|0;d=XO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function ZO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else _O(b,c,d)|0;return b|0}function aP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function bP(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function cP(a,b){a=a|0;b=b|0;return +Db[a&3](b|0)}function dP(a,b,c){a=a|0;b=b|0;c=c|0;return +Eb[a&1](b|0,c|0)}function eP(a){a=a|0;return Fb[a&1]()|0}function fP(a,b){a=a|0;b=b|0;return Gb[a&127](b|0)|0}function gP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Hb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function hP(a,b,c){a=a|0;b=b|0;c=c|0;return Ib[a&63](b|0,c|0)|0}function iP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jb[a&63](b|0,c|0,d|0)|0}function jP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Kb[a&15](b|0,c|0,d|0,e|0)|0}function kP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Lb[a&7](b|0,c|0,d|0,e|0,+f)|0}function lP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Mb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function mP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Nb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function nP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Ob[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function oP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Pb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Qb[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qP(a){a=a|0;Rb[a&1]()}function rP(a,b){a=a|0;b=b|0;Sb[a&255](b|0)}function sP(a,b,c){a=a|0;b=b|0;c=+c;Tb[a&3](b|0,+c)}function tP(a,b,c){a=a|0;b=b|0;c=c|0;Ub[a&63](b|0,c|0)}function uP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Vb[a&3](b|0,c|0,+d)}function vP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb[a&3](b|0,c|0,d|0)}function wP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xb[a&31](b|0,c|0,d|0,e|0)}function xP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Yb[a&63](b|0,c|0,d|0,e|0,f|0)}function yP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function zP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;_b[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function AP(a){a=a|0;D(0);return 0.0}function BP(a,b){a=a|0;b=b|0;D(1);return 0.0}function CP(){D(2);return 0}function DP(a){a=a|0;D(3);return 0}function EP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function FP(a,b){a=a|0;b=b|0;D(5);return 0}function GP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function HP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function IP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function JP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function KP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function LP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function MP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function NP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function OP(){D(14)}function PP(a){a=a|0;D(15)}function QP(a,b){a=a|0;b=+b;D(16)}function RP(a,b){a=a|0;b=b|0;D(17)}function SP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function UP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function VP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function WP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function XP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} +/***/ "./aframe/src/component-anchor-nft.js": +/*!********************************************!*\ + !*** ./aframe/src/component-anchor-nft.js ***! + \********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -// EMSCRIPTEN_END_FUNCS -var Db=[AP,pr,sr,Cr];var Eb=[BP,ss];var Fb=[CP,lr];var Gb=[DP,pj,kx,rx,_A,ND,OD,QD,RD,aE,bE,dE,eE,aF,gF,lF,mF,rF,sF,NH,UH,VH,WH,XH,YH,ZH,_H,vI,CI,DI,EI,FI,GI,HI,II,qJ,rJ,wJ,BJ,CJ,HJ,MJ,NJ,SJ,XJ,YJ,bK,ZK,_K,aL,pL,qL,sL,XL,YL,cM,dM,iL,jL,lL,yL,zL,BL,ex,bu,FO,dx,Kq,Mq,Tq,Uq,ar,br,cr,hr,ir,vr,xr,zr,Er,Gr,Ir,Ds,Pt,Wt,Xt,Yt,Zt,zu,Bu,Yw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,Lx];var Ib=[FP,$l,iq,pq,SD,UD,fE,hE,cF,iF,nF,tF,KL,ML,OL,nM,pM,rM,Le,bx,Nq,Pq,Qq,Rq,Xq,_q,$q,er,fr,gr,nt,Os,Jt,Rt,Au,Cu,Du,Hu,Iu,Ju,Ku,Mu,Nu,Su,Tu,Uu,Vu,Wu,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP,FP];var Jb=[GP,lx,qx,fy,FA,fB,KD,PD,TD,ZD,cE,gE,bF,hF,AF,HF,NK,SK,LL,NL,QL,jM,oM,qM,tM,zw,Iq,Wq,Yq,Zq,dr,ht,Ys,Ew,Fw,Ez,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP,GP];var Kb=[HP,mx,sx,PL,kM,lM,mM,sM,wt,Gw,Hw,HP,HP,HP,HP,HP];var Lb=[IP,oH,pH,FH,GH,IP,IP,IP];var Mb=[JP,yF,FF,jH,kH,mH,qH,AH,BH,DH,HH,YK,$K,oL,rL,RL,uM,hL,kL,xL,AL,Lw,Mw,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,BK,HK,KP];var Ob=[LP,MF,NF,OF,PF,QF,RF,SF,TF,UF,VF,WF,IG,JG,KG,LG,MG,NG,OG,PG,QG,RG,SG,lH,nH,CH,EH,OH,PH,QH,RH,SH,wI,xI,yI,zI,AI,CK,IK,Iw,Jw,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP,LP];var Pb=[MP,eJ,kJ,gK,hK,rK,sK,MP];var Qb=[NP,TH,BI,WK,XK,mL,nL,fL,gL,vL,wL,NP,NP,NP,NP,NP];var Rb=[OP,wA];var Sb=[PP,Qi,Ri,Ti,Ui,nj,oj,ZN,Zl,_l,am,gq,hq,jq,nq,oq,qq,BA,CA,DA,EA,OA,YA,ZA,dB,eB,gB,DD,FD,HD,ID,WD,XD,mE,nE,oE,pE,rE,sE,tE,uE,wE,xE,yE,zE,BE,CE,DE,EE,_E,eF,jF,pF,vF,wF,xF,DF,EF,KF,LF,GG,HG,hH,iH,yH,zH,LH,MH,tI,uI,cJ,dJ,iJ,jJ,oJ,pJ,zJ,AJ,KJ,LJ,VJ,WJ,eK,fK,pK,qK,zK,AK,FK,GK,LK,MK,QK,RK,CF,eL,VK,tL,uL,FL,GL,IL,JL,VL,WL,aM,bM,hM,iM,vM,wM,xM,hf,ax,jr,Ot,St,Vt,du,eu,pw,qw,fw,$v,Rv,Jv,Yu,Qu,Ru,Fu,Gu,wu,xu,iw,lw,Kw,Ow,Zw,_w,$w,fx,hx,jx,cG,eG,iK,GO,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,nr,rr,Ar];var Ub=[RP,JD,YD,$E,fF,kF,qF,sJ,tJ,uJ,vJ,xJ,yJ,DJ,EJ,FJ,GJ,IJ,JJ,OJ,PJ,QJ,RJ,TJ,UJ,ZJ,_J,$J,aK,cK,dK,PK,UK,ZL,_L,$L,eM,fM,gM,Nt,tr,wr,yr,Dr,Fr,Hr,Is,Qt,ow,ew,Fv,su,Nw,gx,ix,Mx,RP,RP,RP,RP,RP,RP,RP,RP];var Vb=[SP,xs,gs,SP];var Wb=[TP,Ww,ns,TP];var Xb=[UP,IA,RA,jB,MD,$D,zF,GF,Ue,bw,dw,Lv,Mv,Nv,Ov,Pv,tu,uu,vu,hw,jw,kw,sw,tw,uw,vw,ww,UP,UP,UP,UP,UP];var Yb=[VP,HA,QA,iB,Sv,Tv,Uv,Vv,Wv,Xv,Yv,Zv,_v,Dv,Cv,Bv,Av,zv,yv,xv,wv,vv,uv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,Ev,_u,Zu,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP,VP];var Zb=[WP,GA,PA,hB,LD,_D,OK,TK];var _b=[XP,aw,cw,Kv,Gv,Hv,Iv,XP];return{__GLOBAL__I_000101:SE,__GLOBAL__sub_I_ARToolKitJS_cpp:Dq,__GLOBAL__sub_I_bind_cpp:EB,__GLOBAL__sub_I_iostream_cpp:TE,__ZSt18uncaught_exceptionv:yD,___cxa_can_catch:wB,___cxa_is_pointer_type:xB,___embind_register_native_and_builtin_types:HB,___emscripten_environ_constructor:zB,___errno_location:ox,___getTypeName:tD,___muldi3:NO,___udivdi3:SO,__get_daylight:BB,__get_environ:DB,__get_timezone:CB,__get_tzname:AB,_bitshift64Lshr:TO,_bitshift64Shl:UO,_emscripten_get_sbrk_ptr:VO,_emscripten_replace_memory:Cb,_free:GO,_i64Add:OO,_i64Subtract:PO,_llvm_bswap_i32:WO,_malloc:FO,_memcpy:_O,_memmove:$O,_memset:aP,_realloc:IO,_roundf:bP,_saveSetjmp:XO,_setThrew:ZO,_testSetjmp:YO,dynCall_di:cP,dynCall_dii:dP,dynCall_i:eP,dynCall_ii:fP,dynCall_iidiiii:gP,dynCall_iii:hP,dynCall_iiii:iP,dynCall_iiiii:jP,dynCall_iiiiid:kP,dynCall_iiiiii:lP,dynCall_iiiiiid:mP,dynCall_iiiiiii:nP,dynCall_iiiiiiii:oP,dynCall_iiiiiiiii:pP,dynCall_v:qP,dynCall_vi:rP,dynCall_vid:sP,dynCall_vii:tP,dynCall_viid:uP,dynCall_viii:vP,dynCall_viiii:wP,dynCall_viiiii:xP,dynCall_viiiiii:yP,dynCall_viiiiiii:zP,establishStackSpace:cc,stackAlloc:$b,stackRestore:bc,stackSave:ac}}) +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-anchor */ "./three.js/src/new-api/arjs-anchor.js"); +/* harmony import */ var _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-debugui */ "./three.js/src/new-api/arjs-debugui.js"); +/* harmony import */ var _three_js_src_threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../three.js/src/threex/arjs-context-nft */ "./three.js/src/threex/arjs-context-nft.js"); -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); -var THREEx = THREEx || {} -THREEx.ArBaseControls = function(object3d){ - this.id = THREEx.ArBaseControls.id++ - this.object3d = object3d - this.object3d.matrixAutoUpdate = false; - this.object3d.visible = false - - // Events to honor - // this.dispatchEvent({ type: 'becameVisible' }) - // this.dispatchEvent({ type: 'markerVisible' }) // replace markerFound - // this.dispatchEvent({ type: 'becameUnVisible' }) -} - -THREEx.ArBaseControls.id = 0 - -Object.assign( THREEx.ArBaseControls.prototype, THREE.EventDispatcher.prototype ); - -////////////////////////////////////////////////////////////////////////////// -// Functions +//////////////////////////////////////////////////////////////////////////////// +// arjs-anchor ////////////////////////////////////////////////////////////////////////////// -/** - * error catching function for update() - */ -THREEx.ArBaseControls.prototype.update = function(){ - console.assert(false, 'you need to implement your own update') -} - -/** - * error catching function for name() - */ -THREEx.ArBaseControls.prototype.name = function(){ - console.assert(false, 'you need to implement your own .name()') - return 'Not yet implemented - name()' -} -var THREEx = THREEx || {} - -// TODO this is useless - prefere arjs-HitTesting.js - -/** - * - maybe support .onClickFcts in each object3d - * - seems an easy light layer for clickable object - * - up to - */ -THREEx.ARClickability = function (sourceElement) { - this._sourceElement = sourceElement - // Create cameraPicking - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - this._cameraPicking = new THREE.PerspectiveCamera(42, fullWidth / fullHeight, 0.1, 100); - - console.warn('THREEx.ARClickability works only in modelViewMatrix') - console.warn('OBSOLETE OBSOLETE! instead use THREEx.HitTestingPlane') -} +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-anchor', { + dependencies: ['arjs', 'artoolkit'], + schema: { + preset: { + type: 'string', + }, + markerhelpers: { // IIF preset === 'area' + type: 'boolean', + default: false, + }, -THREEx.ARClickability.prototype.onResize = function () { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking + // controls parameters + size: { + type: 'number', + default: 1 + }, + type: { + type: 'string', + }, + patternUrl: { + type: 'string', + }, + descriptorsUrl: { + type: 'string', + }, + barcodeValue: { + type: 'number' + }, + changeMatrixMode: { + type: 'string', + default: 'modelViewMatrix', + }, + minConfidence: { + type: 'number', + default: 0.6, + }, + smooth: { + type: 'boolean', + default: false, + }, + smoothCount: { + type: 'number', + default: 5, + }, + smoothTolerance: { + type: 'number', + default: 0.01, + }, + smoothThreshold: { + type: 'number', + default: 2, + }, + }, + init: function () { + var _this = this - var fullWidth = parseInt(sourceElement.style.width) - var fullHeight = parseInt(sourceElement.style.height) - cameraPicking.aspect = fullWidth / fullHeight; - cameraPicking.updateProjectionMatrix(); -} + // get arjsSystem + var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit -THREEx.ARClickability.prototype.computeIntersects = function (domEvent, objects) { - var sourceElement = this._sourceElement - var cameraPicking = this._cameraPicking + ////////////////////////////////////////////////////////////////////////////// + // Code Separator + ////////////////////////////////////////////////////////////////////////////// - // compute mouse coordinatge with [-1,1] - var eventCoords = new THREE.Vector3(); - eventCoords.x = (domEvent.layerX / parseInt(sourceElement.style.width)) * 2 - 1; - eventCoords.y = - (domEvent.layerY / parseInt(sourceElement.style.height)) * 2 + 1; + _this.isReady = false + _this._arAnchor = null - // compute intersections between eventCoords and pickingPlane - var raycaster = new THREE.Raycaster(); - raycaster.setFromCamera(eventCoords, cameraPicking); - var intersects = raycaster.intersectObjects(objects) + // honor object visibility + if (_this.data.changeMatrixMode === 'modelViewMatrix') { + _this.el.object3D.visible = false + } else if (_this.data.changeMatrixMode === 'cameraTransformMatrix') { + _this.el.sceneEl.object3D.visible = false + } else console.assert(false) - return intersects -} + // trick to wait until arjsSystem is isReady + var startedAt = Date.now() + var timerId = setInterval(function () { + // wait until the system is isReady + if (arjsSystem.isReady === false) return -THREEx.ARClickability.prototype.update = function () { + clearInterval(timerId) -} -var THREEx = THREEx || {} -/** - * - videoTexture - * - cloakWidth - * - cloakHeight - * - cloakSegmentsHeight - * - remove all mentions of cache, for cloak - */ -THREEx.ArMarkerCloak = function(videoTexture){ - var updateInShaderEnabled = true - - // build cloakMesh - // TODO if webgl2 use repeat warp, and not multi segment, this will reduce the geometry to draw - var geometry = new THREE.PlaneGeometry(1.3+0.25,1.85+0.25, 1, 8).translate(0,-0.3,0) - var material = new THREE.ShaderMaterial( { - vertexShader: THREEx.ArMarkerCloak.vertexShader, - fragmentShader: THREEx.ArMarkerCloak.fragmentShader, - transparent: true, - uniforms: { - texture: { - value: videoTexture - }, - opacity: { - value: 0.5 - } - }, - defines: { - updateInShaderEnabled: updateInShaderEnabled ? 1 : 0, - } - }); + ////////////////////////////////////////////////////////////////////////////// + // update arProfile + ////////////////////////////////////////////////////////////////////////////// + var arProfile = arjsSystem._arProfile - var cloakMesh = new THREE.Mesh( geometry, material ); - cloakMesh.rotation.x = -Math.PI/2 - this.object3d = cloakMesh + // arProfile.changeMatrixMode('modelViewMatrix') + arProfile.changeMatrixMode(_this.data.changeMatrixMode) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + // honor this.data.preset + var markerParameters = Object.assign({}, arProfile.defaultMarkerParameters) - var xMin = -0.65 - var xMax = 0.65 - var yMin = 0.65 + 0.1 - var yMax = 0.95 + 0.1 + if (_this.data.preset === 'hiro') { + markerParameters.type = 'pattern' + markerParameters.patternUrl = _three_js_src_threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_3__.default.baseURL + 'examples/marker-training/examples/pattern-files/pattern-hiro.patt' + markerParameters.markersAreaEnabled = false + } else if (_this.data.preset === 'kanji') { + markerParameters.type = 'pattern' + markerParameters.patternUrl = _three_js_src_threex_arjs_context_nft__WEBPACK_IMPORTED_MODULE_3__.default.baseURL + 'examples/marker-training/examples/pattern-files/pattern-kanji.patt' + markerParameters.markersAreaEnabled = false + } else if (_this.data.preset === 'area') { + markerParameters.type = 'barcode' + markerParameters.barcodeValue = 1001 + markerParameters.markersAreaEnabled = true + } else if (_this.data.type === 'barcode') { + markerParameters = { + type: _this.data.type, + changeMatrixMode: 'modelViewMatrix', + barcodeValue: _this.data.barcodeValue, + markersAreaEnabled: false + } + } else if (_this.data.type === 'pattern') { + markerParameters.type = _this.data.type + markerParameters.patternUrl = _this.data.patternUrl; + markerParameters.markersAreaEnabled = false + } else if (_this.data.type === 'nft') { + markerParameters.type = _this.data.type + markerParameters.descriptorsUrl = _this.data.descriptorsUrl; + markerParameters.markersAreaEnabled = false + } - ////////////////////////////////////////////////////////////////////////////// - // originalsFaceVertexUvs - ////////////////////////////////////////////////////////////////////////////// - var originalsFaceVertexUvs = [[]] - - // build originalsFaceVertexUvs array - for(var faceIndex = 0; faceIndex < cloakMesh.geometry.faces.length; faceIndex ++ ){ - originalsFaceVertexUvs[0][faceIndex] = [] - originalsFaceVertexUvs[0][faceIndex][0] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][1] = new THREE.Vector2() - originalsFaceVertexUvs[0][faceIndex][2] = new THREE.Vector2() - } + markerParameters.minConfidence = _this.data.minConfidence; + markerParameters.smooth = _this.data.smooth; + markerParameters.smoothCount = _this.data.smoothCount; + markerParameters.smoothTolerance = _this.data.smoothTolerance; + markerParameters.smoothThreshold = _this.data.smoothThreshold; - // set values in originalsFaceVertexUvs - for(var i = 0; i < cloakMesh.geometry.parameters.heightSegments/2; i ++ ){ - // one segment height - even row - normale orientation - originalsFaceVertexUvs[0][i*4+0][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][1].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+0][2].set( xMax/2+0.5, yMax/2+0.5 ) - - originalsFaceVertexUvs[0][i*4+1][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][1].set( xMax/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+1][2].set( xMax/2+0.5, yMax/2+0.5 ) - - // one segment height - odd row - mirror-y orientation - originalsFaceVertexUvs[0][i*4+2][0].set( xMin/2+0.5, yMin/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][1].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+2][2].set( xMax/2+0.5, yMin/2+0.5 ) - - originalsFaceVertexUvs[0][i*4+3][0].set( xMin/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][1].set( xMax/2+0.5, yMax/2+0.5 ) - originalsFaceVertexUvs[0][i*4+3][2].set( xMax/2+0.5, yMin/2+0.5 ) - } + ////////////////////////////////////////////////////////////////////////////// + // create arAnchor + ////////////////////////////////////////////////////////////////////////////// - if( updateInShaderEnabled === true ){ - cloakMesh.geometry.faceVertexUvs = originalsFaceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } + var arSession = arjsSystem._arSession + var arAnchor = _this._arAnchor = new _three_js_src_new_api_arjs_anchor__WEBPACK_IMPORTED_MODULE_1__.default(arSession, markerParameters) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// + // it is now considered isReady + _this.isReady = true - var originalOrthoVertices = [] - originalOrthoVertices.push( new THREE.Vector3(xMin, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMax, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMin, yMin, 0)) - originalOrthoVertices.push( new THREE.Vector3(xMax, yMin, 0)) - - // build debugMesh - var material = new THREE.MeshNormalMaterial({ - transparent : true, - opacity: 0.5, - side: THREE.DoubleSide - }); - var geometry = new THREE.PlaneGeometry(1,1); - var orthoMesh = new THREE.Mesh(geometry, material); - this.orthoMesh = orthoMesh + ////////////////////////////////////////////////////////////////////////////// + // honor .debugUIEnabled + ////////////////////////////////////////////////////////////////////////////// + if (arjsSystem.data.debugUIEnabled) { + // get or create containerElement + var containerElement = document.querySelector('#arjsDebugUIContainer') + if (containerElement === null) { + containerElement = document.createElement('div') + containerElement.id = 'arjsDebugUIContainer' + containerElement.setAttribute('style', 'position: fixed; bottom: 10px; width:100%; text-align: center; z-index: 1; color: grey;') + document.body.appendChild(containerElement) + } + // create anchorDebugUI + var anchorDebugUI = new _three_js_src_new_api_arjs_debugui__WEBPACK_IMPORTED_MODULE_2__.AnchorDebugUI(arAnchor) + containerElement.appendChild(anchorDebugUI.domElement) + } + }, 1000 / 60) + }, + remove: function () { + }, + update: function () { + }, + tick: function () { + var _this = this + // if not yet isReady, do nothing + if (this.isReady === false) return ////////////////////////////////////////////////////////////////////////////// - // Code Separator + // update arAnchor ////////////////////////////////////////////////////////////////////////////// + var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit + this._arAnchor.update() - this.update = function(modelViewMatrix, cameraProjectionMatrix){ - updateOrtho(modelViewMatrix, cameraProjectionMatrix) - - if( updateInShaderEnabled === false ){ - updateUvs(modelViewMatrix, cameraProjectionMatrix) - } - } - - return - - // update cloakMesh - function updateUvs(modelViewMatrix, cameraProjectionMatrix){ - var transformedUv = new THREE.Vector3() - originalsFaceVertexUvs[0].forEach(function(faceVertexUvs, faceIndex){ - faceVertexUvs.forEach(function(originalUv, uvIndex){ - // set transformedUv - from UV coord to clip coord - transformedUv.x = originalUv.x * 2.0 - 1.0; - transformedUv.y = originalUv.y * 2.0 - 1.0; - transformedUv.z = 0 - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // set back from clip coord to Uv coord - transformedUv.x = transformedUv.x / 2.0 + 0.5; - transformedUv.y = transformedUv.y / 2.0 + 0.5; - // copy the trasnformedUv into the geometry - cloakMesh.geometry.faceVertexUvs[0][faceIndex][uvIndex].set(transformedUv.x, transformedUv.y) - }) - }) - - // cloakMesh.geometry.faceVertexUvs = faceVertexUvs - cloakMesh.geometry.uvsNeedUpdate = true - } + ////////////////////////////////////////////////////////////////////////////// + // honor pose + ////////////////////////////////////////////////////////////////////////////// + var arWorldRoot = this._arAnchor.object3d + arWorldRoot.updateMatrixWorld(true) + arWorldRoot.matrixWorld.decompose(this.el.object3D.position, this.el.object3D.quaternion, this.el.object3D.scale) - // update orthoMesh - function updateOrtho(modelViewMatrix, cameraProjectionMatrix){ - // compute transformedUvs - var transformedUvs = [] - originalOrthoVertices.forEach(function(originalOrthoVertices, index){ - var transformedUv = originalOrthoVertices.clone() - // apply modelViewMatrix and projectionMatrix - transformedUv.applyMatrix4( modelViewMatrix ) - transformedUv.applyMatrix4( cameraProjectionMatrix ) - // apply perspective - transformedUv.x /= transformedUv.z - transformedUv.y /= transformedUv.z - // store it - transformedUvs.push(transformedUv) - }) + ////////////////////////////////////////////////////////////////////////////// + // honor visibility + ////////////////////////////////////////////////////////////////////////////// + if (_this._arAnchor.parameters.changeMatrixMode === 'modelViewMatrix') { + var wasVisible = _this.el.object3D.visible + _this.el.object3D.visible = this._arAnchor.object3d.visible + } else if (_this._arAnchor.parameters.changeMatrixMode === 'cameraTransformMatrix') { + var wasVisible = _this.el.sceneEl.object3D.visible + _this.el.sceneEl.object3D.visible = this._arAnchor.object3d.visible + } else console.assert(false) - // change orthoMesh vertices - for(var i = 0; i < transformedUvs.length; i++){ - orthoMesh.geometry.vertices[i].copy(transformedUvs[i]) - } - orthoMesh.geometry.computeBoundingSphere() - orthoMesh.geometry.verticesNeedUpdate = true + // emit markerFound markerLost + if (_this._arAnchor.object3d.visible === true && wasVisible === false) { + _this.el.emit('markerFound') + } else if (_this._arAnchor.object3d.visible === false && wasVisible === true) { + _this.el.emit('markerLost') } - -} + } +}) ////////////////////////////////////////////////////////////////////////////// -// Shaders +// define some primitives shortcuts ////////////////////////////////////////////////////////////////////////////// -THREEx.ArMarkerCloak.markerSpaceShaderFunction = '\n'+ -' vec2 transformUvToMarkerSpace(vec2 originalUv){\n'+ -' vec3 transformedUv;\n'+ -' // set transformedUv - from UV coord to clip coord\n'+ -' transformedUv.x = originalUv.x * 2.0 - 1.0;\n'+ -' transformedUv.y = originalUv.y * 2.0 - 1.0;\n'+ -' transformedUv.z = 0.0;\n'+ -'\n'+ -' // apply modelViewMatrix and projectionMatrix\n'+ -' transformedUv = (projectionMatrix * modelViewMatrix * vec4( transformedUv, 1.0 ) ).xyz;\n'+ -'\n'+ -' // apply perspective\n'+ -' transformedUv.x /= transformedUv.z;\n'+ -' transformedUv.y /= transformedUv.z;\n'+ -'\n'+ -' // set back from clip coord to Uv coord\n'+ -' transformedUv.x = transformedUv.x / 2.0 + 0.5;\n'+ -' transformedUv.y = transformedUv.y / 2.0 + 0.5;\n'+ -'\n'+ -' // return the result\n'+ -' return transformedUv.xy;\n'+ -' }' - -THREEx.ArMarkerCloak.vertexShader = THREEx.ArMarkerCloak.markerSpaceShaderFunction + -' varying vec2 vUv;\n'+ -'\n'+ -' void main(){\n'+ -' // pass the UV to the fragment\n'+ -' #if (updateInShaderEnabled == 1)\n'+ -' vUv = transformUvToMarkerSpace(uv);\n'+ -' #else\n'+ -' vUv = uv;\n'+ -' #endif\n'+ -'\n'+ -' // compute gl_Position\n'+ -' vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n'+ -' gl_Position = projectionMatrix * mvPosition;\n'+ -' }'; - -THREEx.ArMarkerCloak.fragmentShader = '\n'+ -' varying vec2 vUv;\n'+ -' uniform sampler2D texture;\n'+ -' uniform float opacity;\n'+ -'\n'+ -' void main(void){\n'+ -' vec3 color = texture2D( texture, vUv ).rgb;\n'+ -'\n'+ -' gl_FragColor = vec4( color, opacity);\n'+ -' }' -var ARjs = ARjs || {} -var THREEx = THREEx || {} - -ARjs.MarkerControls = THREEx.ArMarkerControls = function (context, object3d, parameters) { - var _this = this - - THREEx.ArBaseControls.call(this, object3d) - - this.context = context - // handle default parameters - this.parameters = { - // size of the marker in meter - size: 1, - // type of marker - ['pattern', 'barcode', 'nft', 'unknown' ] - type: 'unknown', - // url of the pattern - IIF type='pattern' - patternUrl: null, - // value of the barcode - IIF type='barcode' - barcodeValue: null, - // url of the descriptors of image - IIF type='nft' - descriptorsUrl: null, - // change matrix mode - [modelViewMatrix, cameraTransformMatrix] - changeMatrixMode: 'modelViewMatrix', - // minimal confidence in the marke recognition - between [0, 1] - default to 1 - minConfidence: 0.6, - // turn on/off camera smoothing - smooth: false, - // number of matrices to smooth tracking over, more = smoother but slower follow - smoothCount: 5, - // distance tolerance for smoothing, if smoothThreshold # of matrices are under tolerance, tracking will stay still - smoothTolerance: 0.01, - // threshold for smoothing, will keep still unless enough matrices are over tolerance - smoothThreshold: 2, +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-anchor', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'arjs-anchor': {}, + 'arjs-hit-testing': {}, + }, + mappings: { + 'type': 'arjs-anchor.type', + 'size': 'arjs-anchor.size', + 'url': 'arjs-anchor.patternUrl', + 'value': 'arjs-anchor.barcodeValue', + 'preset': 'arjs-anchor.preset', + 'min-confidence': 'arjs-anchor.minConfidence', + 'marker-helpers': 'arjs-anchor.markerhelpers', + 'smooth': 'arjs-anchor.smooth', + 'smooth-count': 'arjs-anchor.smoothCount', + 'smooth-tolerance': 'arjs-anchor.smoothTolerance', + 'smooth-threshold': 'arjs-anchor.smoothThreshold', + + 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', + 'hit-testing-enabled': 'arjs-hit-testing.enabled', } +})) - // sanity check - var possibleValues = ['pattern', 'barcode', 'nft', 'unknown'] - console.assert(possibleValues.indexOf(this.parameters.type) !== -1, 'illegal value', this.parameters.type) - var possibleValues = ['modelViewMatrix', 'cameraTransformMatrix'] - console.assert(possibleValues.indexOf(this.parameters.changeMatrixMode) !== -1, 'illegal value', this.parameters.changeMatrixMode) - // create the marker Root - this.object3d = object3d - this.object3d.matrixAutoUpdate = false; - this.object3d.visible = false +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-camera-static', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'camera': {}, + }, + mappings: { + } +})) - ////////////////////////////////////////////////////////////////////////////// - // setParameters - ////////////////////////////////////////////////////////////////////////////// - setParameters(parameters) - function setParameters(parameters) { - if (parameters === undefined) return - for (var key in parameters) { - var newValue = parameters[key] - if (newValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' parameter is undefined.") - continue - } +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-nft', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'arjs-anchor': {}, + 'arjs-hit-testing': {}, + }, + mappings: { + 'type': 'arjs-anchor.type', + 'url': 'arjs-anchor.descriptorsUrl', + 'size': 'arjs-anchor.size', + 'smooth': 'arjs-anchor.smooth', + 'smooth-count': 'arjs-anchor.smoothCount', + 'smooth-tolerance': 'arjs-anchor.smoothTolerance', + 'smooth-threshold': 'arjs-anchor.smoothThreshold', - var currentValue = _this.parameters[key] + 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', + 'hit-testing-enabled': 'arjs-hit-testing.enabled', + }, +})) - if (currentValue === undefined) { - console.warn("THREEx.ArMarkerControls: '" + key + "' is not a property of this material.") - continue - } - _this.parameters[key] = newValue - } +////////////////////////////////////////////////////////////////////////////// +// backward compatibility +////////////////////////////////////////////////////////////////////////////// +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-marker', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'arjs-anchor': {}, + 'arjs-hit-testing': {}, + }, + mappings: { + 'type': 'arjs-anchor.type', + 'size': 'arjs-anchor.size', + 'url': 'arjs-anchor.patternUrl', + 'value': 'arjs-anchor.barcodeValue', + 'preset': 'arjs-anchor.preset', + 'min-confidence': 'arjs-anchor.minConfidence', + 'marker-helpers': 'arjs-anchor.markerhelpers', + 'smooth': 'arjs-anchor.smooth', + 'smooth-count': 'arjs-anchor.smoothCount', + 'smooth-tolerance': 'arjs-anchor.smoothTolerance', + 'smooth-threshold': 'arjs-anchor.smoothThreshold', + + 'hit-testing-render-debug': 'arjs-hit-testing.renderDebug', + 'hit-testing-enabled': 'arjs-hit-testing.enabled', } +})) - if (this.parameters.smooth) { - this.smoothMatrices = []; // last DEBOUNCE_COUNT modelViewMatrix +aframe__WEBPACK_IMPORTED_MODULE_0__.registerPrimitive('a-marker-camera', aframe__WEBPACK_IMPORTED_MODULE_0__.utils.extendDeep({}, aframe__WEBPACK_IMPORTED_MODULE_0__.primitives.getMeshMixin(), { + defaultComponents: { + 'arjs-anchor': { + changeMatrixMode: 'cameraTransformMatrix' + }, + 'camera': {}, + }, + mappings: { + 'type': 'arjs-anchor.type', + 'size': 'arjs-anchor.size', + 'url': 'arjs-anchor.patternUrl', + 'descriptorsUrl': 'arjs-anchor.descriptorsUrl', + 'value': 'arjs-anchor.barcodeValue', + 'preset': 'arjs-anchor.preset', + 'min-confidence': 'arjs-anchor.minConfidence', + 'marker-helpers': 'arjs-anchor.markerhelpers', } +})) - ////////////////////////////////////////////////////////////////////////////// - // Code Separator - ////////////////////////////////////////////////////////////////////////////// - // add this marker to artoolkitsystem - // TODO rename that .addMarkerControls - context.addMarker(this) - if (_this.context.parameters.trackingBackend === 'artoolkit') { - this._initArtoolkit() - } else console.assert(false) -} +/***/ }), -ARjs.MarkerControls.prototype = Object.create(THREEx.ArBaseControls.prototype); -ARjs.MarkerControls.prototype.constructor = THREEx.ArMarkerControls; +/***/ "./aframe/src/component-hit-testing.js": +/*!*********************************************!*\ + !*** ./aframe/src/component-hit-testing.js ***! + \*********************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -ARjs.MarkerControls.prototype.dispose = function () { - this.context.removeMarker(this) -} +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! aframe */ "aframe"); +/* harmony import */ var aframe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aframe__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _three_js_src_new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../three.js/src/new-api/arjs-hittesting */ "./three.js/src/new-api/arjs-hittesting.js"); + + +// ////////////////////////////////////////////////////////////////////////////// +// arjs-hit-testing ////////////////////////////////////////////////////////////////////////////// -// update controls with new modelViewMatrix -////////////////////////////////////////////////////////////////////////////// +aframe__WEBPACK_IMPORTED_MODULE_0__.registerComponent('arjs-hit-testing', { + dependencies: ['arjs', 'artoolkit'], + schema: { + enabled : { + type: 'boolean', + default: false, + }, + renderDebug : { + type: 'boolean', + default: false, + }, + }, + init: function () { + var _this = this + var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit -/** - * When you actually got a new modelViewMatrix, you need to perfom a whole bunch - * of things. it is done here. - */ -ARjs.MarkerControls.prototype.updateWithModelViewMatrix = function (modelViewMatrix) { - var markerObject3D = this.object3d; +// TODO make it work on cameraTransformMatrix too +// + _this.isReady = false + _this._arAnchor = null + _this._arHitTesting = null - // mark object as visible - markerObject3D.visible = true + // trick to wait until arjsSystem is isReady + var startedAt = Date.now() + var timerId = setInterval(function(){ + var anchorEl = _this.el + var anchorComponent = anchorEl.components['arjs-anchor'] + // wait until anchorComponent is isReady + if( anchorComponent === undefined || anchorComponent.isReady === false ) return - if (this.context.parameters.trackingBackend === 'artoolkit') { - // apply context._axisTransformMatrix - change artoolkit axis to match usual webgl one - var tmpMatrix = new THREE.Matrix4().copy(this.context._artoolkitProjectionAxisTransformMatrix) - tmpMatrix.multiply(modelViewMatrix) + clearInterval(timerId) - modelViewMatrix.copy(tmpMatrix) - } else { - console.assert(false) - } + ////////////////////////////////////////////////////////////////////////////// + // create arAnchor + ////////////////////////////////////////////////////////////////////////////// + var arAnchor = anchorComponent._arAnchor + var arSession = arjsSystem._arSession + var renderer = arSession.parameters.renderer - // change axis orientation on marker - artoolkit say Z is normal to the marker - ar.js say Y is normal to the marker - var markerAxisTransformMatrix = new THREE.Matrix4().makeRotationX(Math.PI/2) - modelViewMatrix.multiply(markerAxisTransformMatrix) + var hitTesting = _this._arHitTesting = new _three_js_src_new_api_arjs_hittesting__WEBPACK_IMPORTED_MODULE_1__.default(arSession) + hitTesting.enabled = _this.data.enabled - var renderReqd = false; + _this.isReady = true + }, 1000/60) + }, + remove : function(){ + }, + update: function () { + }, + tick: function(){ + var _this = this + // if not yet isReady, do nothing + if( this.isReady === false ) return - // change markerObject3D.matrix based on parameters.changeMatrixMode - if (this.parameters.changeMatrixMode === 'modelViewMatrix') { - if (this.parameters.smooth) { - var sum, - i, j, - averages, // average values for matrix over last smoothCount - exceedsAverageTolerance = 0; + var arjsSystem = this.el.sceneEl.systems.arjs || this.el.sceneEl.systems.artoolkit + var arSession = arjsSystem._arSession - this.smoothMatrices.push(modelViewMatrix.elements.slice()); // add latest + var anchorEl = _this.el + var anchorComponent = anchorEl.components['arjs-anchor'] + var arAnchor = anchorComponent._arAnchor - if (this.smoothMatrices.length < (this.parameters.smoothCount + 1)) { - markerObject3D.matrix.copy(modelViewMatrix); // not enough for average - } else { - this.smoothMatrices.shift(); // remove oldest entry - averages = []; - for (i in modelViewMatrix.elements) { // loop over entries in matrix - sum = 0; - for (j in this.smoothMatrices) { // calculate average for this entry - sum += this.smoothMatrices[j][i]; - } - averages[i] = sum / this.parameters.smoothCount; - // check how many elements vary from the average by at least AVERAGE_MATRIX_TOLERANCE - if (Math.abs(averages[i] - modelViewMatrix.elements[i]) >= this.parameters.smoothTolerance) { - exceedsAverageTolerance++; - } - } + var hitTesting = this._arHitTesting + var camera = arSession.parameters.camera +// console.log(camera.position) + hitTesting.update(camera, arAnchor.object3d, arAnchor.parameters.changeMatrixMode) + } +}); - // if moving (i.e. at least AVERAGE_MATRIX_THRESHOLD entries are over AVERAGE_MATRIX_TOLERANCE) - if (exceedsAverageTolerance >= this.parameters.smoothThreshold) { - // then update matrix values to average, otherwise, don't render to minimize jitter - for (i in modelViewMatrix.elements) { - modelViewMatrix.elements[i] = averages[i]; - } - markerObject3D.matrix.copy(modelViewMatrix); - renderReqd = true; // render required in animation loop - } - } - } else { - markerObject3D.matrix.copy(modelViewMatrix) - } - } else if (this.parameters.changeMatrixMode === 'cameraTransformMatrix') { - markerObject3D.matrix.getInverse(modelViewMatrix) - } else { - console.assert(false) - } - // decompose - the matrix into .position, .quaternion, .scale +/***/ }), - markerObject3D.matrix.decompose(markerObject3D.position, markerObject3D.quaternion, markerObject3D.scale) +/***/ "./aframe/src/location-based/ArjsDeviceOrientationControls.js": +/*!********************************************************************!*\ + !*** ./aframe/src/location-based/ArjsDeviceOrientationControls.js ***! + \********************************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - // dispatchEvent - this.dispatchEvent({ type: 'markerFound' }); - - return renderReqd; -} - -////////////////////////////////////////////////////////////////////////////// -// utility functions -////////////////////////////////////////////////////////////////////////////// +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) +/* harmony export */ }); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! three */ "three"); +/* harmony import */ var three__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(three__WEBPACK_IMPORTED_MODULE_0__); -ARjs.MarkerControls.prototype.name = function () { - var name = ''; - name += this.parameters.type; - - if (this.parameters.type === 'pattern') { - var url = this.parameters.patternUrl; - var basename = url.replace(/^.*\//g, ''); - name += ' - ' + basename; - } else if (this.parameters.type === 'barcode') { - name += ' - ' + this.parameters.barcodeValue; - } else if (this.parameters.type === 'nft') { - var url = this.parameters.descriptorsUrl; - var basename = url.replace(/^.*\//g, ''); - name += ' - ' + basename; - } else { - console.assert(false, 'no .name() implemented for this marker controls'); - } +/** + * @author richt / http://richt.me + * @author WestLangley / http://github.com/WestLangley + * + * W3C Device Orientation control (http://w3c.github.io/deviceorientation/spec-source-orientation.html) + */ - return name; -} +/* NOTE that this is a modified version of THREE.DeviceOrientationControls to + * allow exponential smoothing, for use in AR.js. + * + * Modifications Nick Whitelegg (nickw1 github) + */ -////////////////////////////////////////////////////////////////////////////// -// init for Artoolkit -////////////////////////////////////////////////////////////////////////////// -ARjs.MarkerControls.prototype._initArtoolkit = function () { - var _this = this - var artoolkitMarkerId = null - var delayedInitTimerId = setInterval(() => { - // check if arController is init - var arController = _this.context.arController - if (arController === null) return - // stop looping if it is init - clearInterval(delayedInitTimerId) - delayedInitTimerId = null - // launch the _postInitArtoolkit - postInit() - }, 1000 / 50) +const ArjsDeviceOrientationControls = function ( object ) { - return + var scope = this; - function postInit() { - // check if arController is init - var arController = _this.context.arController - console.assert(arController !== null) + this.object = object; + this.object.rotation.reorder( 'YXZ' ); - // start tracking this pattern - if (_this.parameters.type === 'pattern') { - arController.loadMarker(_this.parameters.patternUrl, function (markerId) { - artoolkitMarkerId = markerId - arController.trackPatternMarkerId(artoolkitMarkerId, _this.parameters.size); - }); - } else if (_this.parameters.type === 'barcode') { - artoolkitMarkerId = _this.parameters.barcodeValue - arController.trackBarcodeMarkerId(artoolkitMarkerId, _this.parameters.size); - } else if (_this.parameters.type === 'nft') { - // use workers as default - handleNFT(_this.parameters.descriptorsUrl, arController); - } else if (_this.parameters.type === 'unknown') { - artoolkitMarkerId = null - } else { - console.log(false, 'invalid marker type', _this.parameters.type) - } + this.enabled = true; - // listen to the event - arController.addEventListener('getMarker', function (event) { - if (event.data.type === artoolkit.PATTERN_MARKER && _this.parameters.type === 'pattern') { - if (artoolkitMarkerId === null) return - if (event.data.marker.idPatt === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.BARCODE_MARKER && _this.parameters.type === 'barcode') { - if (artoolkitMarkerId === null) return - if (event.data.marker.idMatrix === artoolkitMarkerId) onMarkerFound(event) - } else if (event.data.type === artoolkit.UNKNOWN_MARKER && _this.parameters.type === 'unknown') { - onMarkerFound(event); - } - }) - } + this.deviceOrientation = {}; + this.screenOrientation = 0; - function setMatrix(matrix, value) { - var array = []; - for (var key in value) { - array[key] = value[key]; - } - if (typeof matrix.elements.set === "function") { - matrix.elements.set(array); - } else { - matrix.elements = [].slice.call(array); - } - }; + this.alphaOffset = 0; // radians - function handleNFT(descriptorsUrl, arController) { - // create a Worker to handle loading of NFT marker and tracking of it - var workerBlob = new Blob( - [workerRunner.toString().replace(/^function .+\{?|\}$/g, '')], - { type: 'text/js-worker' } - ); - var workerBlobUrl = URL.createObjectURL(workerBlob); - var worker = new Worker(workerBlobUrl); + this.smoothingFactor = 1; - window.addEventListener('arjs-video-loaded', function (ev) { - var video = ev.detail.component; - var vw = video.clientWidth; - var vh = video.clientHeight; + this.TWO_PI = 2 * Math.PI; + this.HALF_PI = 0.5 * Math.PI; - var pscale = 320 / Math.max(vw, vh / 3 * 4); + var onDeviceOrientationChangeEvent = function ( event ) { - w = vw * pscale; - h = vh * pscale; - pw = Math.max(w, h / 3 * 4); - ph = Math.max(h, w / 4 * 3); - ox = (pw - w) / 2; - oy = (ph - h) / 2; + scope.deviceOrientation = event; - arController.canvas.style.clientWidth = pw + "px"; - arController.canvas.style.clientHeight = ph + "px"; - arController.canvas.width = pw; - arController.canvas.height = ph; + }; - var context_process = arController.canvas.getContext('2d'); + var onScreenOrientationChangeEvent = function () { - function process() { - context_process.fillStyle = "black"; - context_process.fillRect(0, 0, pw, ph); - context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + scope.screenOrientation = window.orientation || 0; - var imageData = context_process.getImageData(0, 0, pw, ph); - worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); - } + }; - // initialize the worker - worker.postMessage({ - type: 'init', - pw: pw, - ph: ph, - marker: descriptorsUrl, - param: arController.cameraParam.src, - }); + // The angles alpha, beta and gamma form a set of intrinsic Tait-Bryan angles of type Z-X'-Y'' - worker.onmessage = function (ev) { - if (ev && ev.data && ev.data.type === 'endLoading') { - var loader = document.querySelector('.arjs-loader'); - if (loader) { - loader.remove(); - } - var endLoadingEvent = new Event('arjs-nft-loaded'); - window.dispatchEvent(endLoadingEvent); - } + var setObjectQuaternion = function () { - if (ev && ev.data && ev.data.type === 'loaded') { - var proj = JSON.parse(ev.data.proj); - var ratioW = pw / w; - var ratioH = ph / h; - proj[0] *= ratioW; - proj[4] *= ratioW; - proj[8] *= ratioW; - proj[12] *= ratioW; - proj[1] *= ratioH; - proj[5] *= ratioH; - proj[9] *= ratioH; - proj[13] *= ratioH; + var zee = new three__WEBPACK_IMPORTED_MODULE_0__.Vector3( 0, 0, 1 ); - setMatrix(_this.object3d.matrix, proj); - } + var euler = new three__WEBPACK_IMPORTED_MODULE_0__.Euler(); - if (ev && ev.data && ev.data.type === 'found') { - var matrix = JSON.parse(ev.data.matrix); + var q0 = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion(); - onMarkerFound({ - data: { - type: artoolkit.NFT_MARKER, - matrix: matrix, - msg: ev.data.type, - } - }); + var q1 = new three__WEBPACK_IMPORTED_MODULE_0__.Quaternion( - Math.sqrt( 0.5 ), 0, 0, Math.sqrt( 0.5 ) ); // - PI/2 around the x-axis - _this.context.arController.showObject = true; - } else { - _this.context.arController.showObject = false; - } + return function ( quaternion, alpha, beta, gamma, orient ) { - process(); - }; + euler.set( beta, alpha, - gamma, 'YXZ' ); // 'ZXY' for the device, but 'YXZ' for us - }); + quaternion.setFromEuler( euler ); // orient the device + quaternion.multiply( q1 ); // camera looks out the back of the device, not the top + quaternion.multiply( q0.setFromAxisAngle( zee, - orient ) ); // adjust for screen orientation }; - function workerRunner() { - // continuing 'workerRunner' function at treex-armarkercontrols-nft-end.js file - // see the makefile of three.js folder to better understand the division of this function between two files -var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAACKTQAAkU0AAJ1NAACnTQAAtU0AAAAAAAAAAAAAAAAAAP//////////AAAAAAEAAAABAAAAAQAAAAAAAAD/////AAAAAAEAAAABAAAAAQAAAAAAAAD///////////////8AAAABAAEBAQACBP//BQMBAAL/Bgf/AwECAgMCAwIDAwD/BAYHBf8BBAUEBAUFBAUHBgYGBwcHBv8CBAYHBQP/AAEBAQEBAQABAQEAAAEBAQEBAAEBAAEBAQABAQEBAAEBAAEBAQEAAQEBAAEBAAEBAQEBAAABAQEAAQEBAQEBAAD//wP/BQb//wkK/wz//w//ERL/FP//Fxj//xv/HR7//wEC/wT//wcI//8L/w0O/xD//xP/FRb//xka/xz//x8BAAAAAgAAAAQAAAAIAAAAEAAAAAUAAAAKAAAAFAAAAA0AAAAaAAAAEQAAAAcAAAAOAAAAHAAAAB0AAAAfAAAAGwAAABMAAAADAAAABgAAAAwAAAAYAAAAFQAAAA8AAAAeAAAAGQAAABcAAAALAAAAFgAAAAkAAAASAAAAAAAAAAEAAAACAAAABAAAAAgAAAADAAAABgAAAAwAAAALAAAABQAAAAoAAAAHAAAADgAAAA8AAAANAAAACQAAAAAAAAD/////AAAAAAEAAAASAAAAAgAAAAUAAAATAAAACwAAAAMAAAAdAAAABgAAABsAAAAUAAAACAAAAAwAAAAXAAAABAAAAAoAAAAeAAAAEQAAAAcAAAAWAAAAHAAAABoAAAAVAAAAGQAAAAkAAAAQAAAADQAAAA4AAAAYAAAADwAAAP////8AAAAAAQAAAAQAAAACAAAACAAAAAUAAAAKAAAAAwAAAA4AAAAJAAAABwAAAAYAAAANAAAACwAAAAwAAAABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAAwAAAAYAAAAMAAAAGAAAADAAAABgAAAAQwAAAAUAAAAKAAAAFAAAACgAAABQAAAAIwAAAEYAAAAPAAAAHgAAADwAAAB4AAAAcwAAAGUAAABJAAAAEQAAACIAAABEAAAACwAAABYAAAAsAAAAWAAAADMAAABmAAAATwAAAB0AAAA6AAAAdAAAAGsAAABVAAAAKQAAAFIAAAAnAAAATgAAAB8AAAA+AAAAfAAAAHsAAAB1AAAAaQAAAFEAAAAhAAAAQgAAAAcAAAAOAAAAHAAAADgAAABwAAAAYwAAAEUAAAAJAAAAEgAAACQAAABIAAAAEwAAACYAAABMAAAAGwAAADYAAABsAAAAWwAAADUAAABqAAAAVwAAAC0AAABaAAAANwAAAG4AAABfAAAAPQAAAHoAAAB3AAAAbQAAAFkAAAAxAAAAYgAAAEcAAAANAAAAGgAAADQAAABoAAAAUwAAACUAAABKAAAAFwAAAC4AAABcAAAAOwAAAHYAAABvAAAAXQAAADkAAAByAAAAZwAAAE0AAAAZAAAAMgAAAGQAAABLAAAAFQAAACoAAABUAAAAKwAAAFYAAAAvAAAAXgAAAD8AAAB+AAAAfwAAAH0AAAB5AAAAcQAAAGEAAABBAAAAAAAAAP////8AAAAAAQAAAAcAAAACAAAADgAAAAgAAAA4AAAAAwAAAD8AAAAPAAAAHwAAAAkAAABaAAAAOQAAABUAAAAEAAAAHAAAAEAAAABDAAAAEAAAAHAAAAAgAAAAYQAAAAoAAABsAAAAWwAAAEYAAAA6AAAAJgAAABYAAAAvAAAABQAAADYAAAAdAAAAEwAAAEEAAABfAAAARAAAAC0AAAARAAAAKwAAAHEAAABzAAAAIQAAAE0AAABiAAAAdQAAAAsAAABXAAAAbQAAACMAAABcAAAASgAAAEcAAABPAAAAOwAAAGgAAAAnAAAAZAAAABcAAABSAAAAMAAAAHcAAAAGAAAAfgAAADcAAAANAAAAHgAAAD4AAAAUAAAAWQAAAEIAAAAbAAAAYAAAAG8AAABFAAAAawAAAC4AAAAlAAAAEgAAADUAAAAsAAAAXgAAAHIAAAAqAAAAdAAAAEwAAAAiAAAAVgAAAE4AAABJAAAAYwAAAGcAAAB2AAAAUQAAAAwAAAB9AAAAWAAAAD0AAABuAAAAGgAAACQAAABqAAAAXQAAADQAAABLAAAAKQAAAEgAAABVAAAAUAAAAGYAAAA8AAAAfAAAAGkAAAAZAAAAKAAAADMAAABlAAAAVAAAABgAAAB7AAAAUwAAADIAAAAxAAAAegAAAHgAAAB5AAAABAAAAIgAAAAFAAAAkAAAAAYAAACYAAAACQAAALAAAAA3VAAAPVQAAEJUAABKVAAAAAAAALK+uT4S3KC+kL45PhLcoL6Qvjm+AAAAgLK+ub4S3KA+kL45vhLcoD6Qvjk+0nIYvwAAAADScpi+OgYEv9JymD46BgS/0nIYPwAAAIDScpg+OgYEP9JymL46BgQ/AAAAgFa4Pb9mTSQ/Vri9vmZNJD9WuL0+AAAAAFa4PT9mTSS/Vri9PmZNJL9WuL2+DOlYPwAAAIAM6dg+mdk7Pwzp2L6Z2Ts/DOlYvwAAAAAM6di+mdk7vwzp2D6Z2Tu/AAAAAPxTbj/xZU6/DVTuPvFlTr8NVO6+AAAAgPxTbr/xZU4/DVTuvvFlTj8NVO4+AACAvwAAAAAAAAC/0LNdvwAAAD/Qs12/AACAPwAAAIAAAAA/0LNdPwAAAL/Qs10/ADcAAAA3AAAANwAAADcAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAMAAAAKAAAAEQAAABgAAAAgAAAAGQAAABIAAAALAAAABAAAAAUAAAAMAAAAEwAAABoAAAAhAAAAKAAAADAAAAApAAAAIgAAABsAAAAUAAAADQAAAAYAAAAHAAAADgAAABUAAAAcAAAAIwAAACoAAAAxAAAAOAAAADkAAAAyAAAAKwAAACQAAAAdAAAAFgAAAA8AAAAXAAAAHgAAACUAAAAsAAAAMwAAADoAAAA7AAAANAAAAC0AAAAmAAAAHwAAACcAAAAuAAAANQAAADwAAAA9AAAANgAAAC8AAAA3AAAAPgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAABQAAAAwAAAATAAAAGgAAACEAAAAoAAAAMAAAACkAAAAiAAAAGwAAABQAAAANAAAABgAAAA4AAAAVAAAAHAAAACMAAAAqAAAAMQAAADIAAAArAAAAJAAAAB0AAAAWAAAAHgAAACUAAAAsAAAAMwAAADQAAAAtAAAAJgAAAC4AAAA1AAAANgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAIAAAABkAAAASAAAACwAAAAQAAAAFAAAADAAAABMAAAAaAAAAIQAAACgAAAApAAAAIgAAABsAAAAUAAAADQAAABUAAAAcAAAAIwAAACoAAAArAAAAJAAAAB0AAAAlAAAALAAAAC0AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAAAAAAAEAAAAIAAAAEAAAAAkAAAACAAAAAwAAAAoAAAARAAAAGAAAACAAAAAZAAAAEgAAAAsAAAAEAAAADAAAABMAAAAaAAAAIQAAACIAAAAbAAAAFAAAABwAAAAjAAAAJAAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAQAAAACQAAAAIAAAADAAAACgAAABEAAAAYAAAAGQAAABIAAAALAAAAEwAAABoAAAAbAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAAAAAAABAAAACAAAABAAAAAJAAAAAgAAAAoAAAARAAAAEgAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAgAAAAJAAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAIEBHVoOAoYlEAMUERIECwgUBdgDFwbaARkH5QAcCG8AHgk2ACEKGgAjCw0ACQwGAAoNAwAMDQEAjw9/WiQQJT8mEfIsJxJ8ICgTuRcqFIIRKxXvDC0WoQkuFy8HMBhcBTEZBgQzGgMDNBtAAjYcsQE4HUQBOR71ADsftwA8IIoAPiFoAD8iTgAgIzsAIQksAKUl4VpAJkxIQScNOkMo8S5EKR8mRSozH0YrqBlILBgVSS13EUoudA5LL/sLTTD4CU4xYQhPMgYHMDPNBTI03gQyNQ8EMzZjAzQ31AI1OFwCNjn4ATc6pAE4O2ABOTwlATo99gA7PssAPT+rAD0gjwDBQRJbUEIETVFDLEFSRNg3U0XoL1RGPClWR3kjV0jfHldJqRpISk4XSEskFEpMnBFKTWsPS05RDU1PtgtNMEAK0FEyWFhSHE1ZU45DWlTdO1tV7jRcVq4uXVeaKVZHFiXYWXBVX1qpTGBb2URhXCI+Y10kOGNetDJdVhcu32CoVmVhRk9mYuVHZ2PPQWhkPTxjXV43aWYxUmpnD0xraDlGZ2NeQelqJ1Zsa+dQbWeFS25tl1Vva09Q7m8QWnBtIlXwb+tZcXEdWgAAAAAAAAAA1aMAAOujAAALpAAAMKQAAEqkAABppAAAfqQAAJukAADFpAAABaUAACSlAAA7pQAAUaUAAGWlAACipQAA0qUAAO6lAAARpgAASKYAAH+mAACWpgAAtqYAAOCmAAAtpwAASKcAAHOnAACPpwAAtKcAANqnAAD/pwAAEqgAACeoAAA6qAAATagAAHKoAACHqAAAm6gAALyoAADSqAAAAakAACmpAABKqQAAa6kAAJqpAACrqQAAx6kAAAWqAAAsqgAAU6oAAGeqAACVqgAAvaoAANmqAAD+qgAAIKsAAEqrAAB1qwAAk6sAAMGrAADpqwAAEKwAADusAABorAAAmKwAAMKsAADvrAAAEq0AADCtAABOrQAAhK0AAK6tAADNrQAA8K0AABeuAAAsrgAAQK4AAHWuAACFrgAAw64AAAWvAAAvrwAAW68AAIKvAACerwAAya8AAOSvAAD4rwAAD7AAABywAABEsAAAebAAALWwAADjsAAABLEAACuxAABEsQAAbLEAAI+xAACnsQAAy7EAAPCxAAD2sQAAL7IAAGmyAACIsgAAl7IAALSyAADSsgAA77IAAAizAAAhswAAY7MAAJ2zAADTswAAB7QAABu0AAAytAAAWLQAAH+0AADBtAAA/bQAAC61AABStQAAgLUAAJu1AADTtQAA/rUAAAAAAAAAAAAAAQAAAAIAAAADAAAAAAAAAAEAAAAFAAAAAgAAAAQAAAAGAAAAAwAAAAcAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAAIAAAAEAAAABwAAAAwAAAADAAAACAAAAAsAAAANAAAACQAAAAoAAAAOAAAADwAAAAAAAAABAAAABQAAAAYAAAAOAAAAAgAAAAQAAAAHAAAADQAAAA8AAAADAAAACAAAAAwAAAAQAAAAFQAAAAkAAAALAAAAEQAAABQAAAAWAAAACgAAABIAAAATAAAAFwAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAACAAAABAAAAAcAAAANAAAAEAAAABkAAAADAAAACAAAAAwAAAARAAAAGAAAABoAAAAJAAAACwAAABIAAAAXAAAAGwAAACAAAAAKAAAAEwAAABYAAAAcAAAAHwAAACEAAAAUAAAAFQAAAB0AAAAeAAAAIgAAACMAAAAAAAAAAQAAAAUAAAAGAAAADgAAAA8AAAAbAAAAAgAAAAQAAAAHAAAADQAAABAAAAAaAAAAHAAAAAMAAAAIAAAADAAAABEAAAAZAAAAHQAAACYAAAAJAAAACwAAABIAAAAYAAAAHgAAACUAAAAnAAAACgAAABMAAAAXAAAAHwAAACQAAAAoAAAALQAAABQAAAAWAAAAIAAAACMAAAApAAAALAAAAC4AAAAVAAAAIQAAACIAAAAqAAAAKwAAAC8AAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAABgAAAA4AAAAPAAAAGwAAABwAAAACAAAABAAAAAcAAAANAAAAEAAAABoAAAAdAAAAKgAAAAMAAAAIAAAADAAAABEAAAAZAAAAHgAAACkAAAArAAAACQAAAAsAAAASAAAAGAAAAB8AAAAoAAAALAAAADUAAAAKAAAAEwAAABcAAAAgAAAAJwAAAC0AAAA0AAAANgAAABQAAAAWAAAAIQAAACYAAAAuAAAAMwAAADcAAAA8AAAAFQAAACIAAAAlAAAALwAAADIAAAA4AAAAOwAAAD0AAAAjAAAAJAAAADAAAAAxAAAAOQAAADoAAAA+AAAAPwAAAAAAAAABAAAAAwAAAAcAAAAPAAAAHwAAAD8AAAB/AAAA/wAAAP8BAAD/AwAA/wcAAP8PAAD/HwAA/z8AAP9/AAAAQMVYn1NCSwBASTKjIqgRxVghe/xzYmjFWL9FCzB+GJ9T/HNBbVRin1OzQUEtEhdCS2JoVGJ+WEJLITu6KMMUAEDFWJ9TQksAQEkyoyKoEUkyv0WzQSE7STKCJzcb4A2jIgswQS26KKMiNxu/Eo4JqBF+GBIXwxSoEeANjgnfBAAAAAAAAPA/72FIsVAx9j/Kb02Rruf0P6oRbO9i0PI/AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;iLIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Yb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function nB(a){a=a|0;return ((oB(a)|0)^1)&1|0}function oB(b){b=b|0;return (a[b>>0]|0)!=0|0}function pB(a){a=a|0;c[a>>2]=0;qB(a);return}function qB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function rB(a){a=a|0;c[a>>2]=0;return}function sB(){return 0}function tB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=FO(b)|0;if(a|0)break;a=sB()|0;if(!a){a=0;break}Rb[a&1]()}return a|0}function uB(a){a=a|0;return tB(a)|0}function vB(a){a=a|0;SA(a);return}function wB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=c[d>>2];a=Jb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];zb=f;return a&1|0}function xB(a){a=a|0;if(!a)a=0;else a=(NA(a,13904,13992,0)|0)!=0&1;return a|0}function yB(){return 0}function zB(){N(55684);return}function AB(){return 55668}function BB(){return 55676}function CB(){return 55680}function DB(){return 55684}function EB(){FB();return}function FB(){GB(57670);return}function GB(a){a=a|0;var b=0;b=zb;zb=zb+16|0;c[b>>2]=a;HB();zb=b;return}function HB(){pa(IB()|0,47294);ga(JB()|0,47299,1,1,0);KB(47304);LB(47309);MB(47321);NB(47335);OB(47341);PB(47356);QB(47360);RB(47373);SB(47378);TB(47392);UB(47398);na(VB()|0,47405);na(WB()|0,47417);oa(XB()|0,4,47450);ia(YB()|0,47463);ZB(47479);_B(47509);$B(47546);aC(47585);bC(47616);cC(47656);dC(47685);eC(47723);fC(47753);_B(47792);$B(47824);aC(47857);bC(47890);cC(47924);dC(47957);gC(47991);hC(48022);iC(48054);return}function IB(){return sD()|0}function JB(){return rD()|0}function KB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=pD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function LB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);zb=b;return}function MB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,0,255);zb=b;return}function NB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);zb=b;return}function OB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,0,65535);zb=b;return}function PB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function QB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function RB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);zb=b;return}function SB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,0,-1);zb=b;return}function TB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=ZC()|0;ja(a|0,c[d>>2]|0,4);zb=b;return}function UB(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,8);zb=b;return}function VB(){return WC()|0}function WB(){return VC()|0}function XB(){return UC()|0}function YB(){return TC()|0}function ZB(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=QC()|0;a=RC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=NC()|0;a=OC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=KC()|0;a=LC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=HC()|0;a=IC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=EC()|0;a=FC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=BC()|0;a=CC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=yC()|0;a=zC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=vC()|0;a=wC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=sC()|0;a=tC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=pC()|0;a=qC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function hC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=mC()|0;a=nC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function iC(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b;c[d>>2]=a;e=jC()|0;a=kC()|0;ma(e|0,a|0,c[d>>2]|0);zb=b;return}function jC(){return lC()|0}function kC(){return 7}function lC(){return 14144}function mC(){return oC()|0}function nC(){return 7}function oC(){return 14152}function pC(){return rC()|0}function qC(){return 6}function rC(){return 14160}function sC(){return uC()|0}function tC(){return 5}function uC(){return 14168}function vC(){return xC()|0}function wC(){return 4}function xC(){return 14176}function yC(){return AC()|0}function zC(){return 5}function AC(){return 14184}function BC(){return DC()|0}function CC(){return 4}function DC(){return 14192}function EC(){return GC()|0}function FC(){return 3}function GC(){return 14200}function HC(){return JC()|0}function IC(){return 2}function JC(){return 14208}function KC(){return MC()|0}function LC(){return 1}function MC(){return 14216}function NC(){return PC()|0}function OC(){return 0}function PC(){return 14224}function QC(){return SC()|0}function RC(){return 0}function SC(){return 14232}function TC(){return 14240}function UC(){return 14248}function VC(){return 14272}function WC(){return 13272}function XC(){return YC()|0}function YC(){return 14120}function ZC(){return _C()|0}function _C(){return 14112}function $C(){return aD()|0}function aD(){return 14104}function bD(){return cD()|0}function cD(){return 14096}function dD(){return eD()|0}function eD(){return 14088}function fD(){return gD()|0}function gD(){return 14080}function hD(){return iD()|0}function iD(){return 14072}function jD(){return kD()|0}function kD(){return 14064}function lD(){return mD()|0}function mD(){return 14048}function nD(){return oD()|0}function oD(){return 14056}function pD(){return qD()|0}function qD(){return 14040}function rD(){return 14032}function sD(){return 14024}function tD(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=jz(c[(c[d>>2]|0)+4>>2]|0)|0;zb=b;return a|0}function uD(a){a=a|0;return 0}function vD(a){a=a|0;return 0}function wD(a,b){a=a|0;b=b|0;return 0}function xD(a){a=a|0;return 0}function yD(){return (zD()|0)>0|0}function zD(){return yB()|0}function AD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(BD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else{a=BD(12544,12736,i,d)|0;a=c[a>>2]|0}while(0);zb=k;return a|0}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function CD(a){a=a|0;DD(a);return}function DD(a){a=a|0;c[a>>2]=16480;ED(a,0);YF(a+28|0);GO(c[a+32>>2]|0);GO(c[a+36>>2]|0);GO(c[a+48>>2]|0);GO(c[a+60>>2]|0);return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Wb[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function FD(a){a=a|0;DD(a);SA(a);return}function GD(a){a=a|0;DD(a);return}function HD(a){a=a|0;c[a>>2]=16496;YF(a+4|0);return}function ID(a){a=a|0;HD(a);SA(a);return}function JD(a,b){a=a|0;b=b|0;return}function KD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function LD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function MD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function ND(a){a=a|0;return 0}function OD(a){a=a|0;return 0}function PD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Wf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;VD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;f=eg(f)|0;a[d>>0]=f;d=d+1|0;f=1}h=f+h|0}return h|0}function QD(a){a=a|0;return Wf()|0}function RD(b){b=b|0;var d=0;d=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Wf()|0))b=Wf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=cg(a[b>>0]|0)|0}return b|0}function SD(a,b){a=a|0;b=b|0;return Wf()|0}function TD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Wf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;VD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=cg(a[d>>0]|0)|0;if((Ib[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function UD(a,b){a=a|0;b=b|0;return Wf()|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)_O(a|0,b|0,c|0)|0;return a|0}function WD(a){a=a|0;c[a>>2]=16560;YF(a+4|0);return}function XD(a){a=a|0;WD(a);SA(a);return}function YD(a,b){a=a|0;b=b|0;return}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function _D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function $D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function aE(a){a=a|0;return 0}function bE(a){a=a|0;return 0}function cE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;iE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;kE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;e=lE(e)|0;c[b>>2]=e;b=b+4|0;e=1}g=e+g|0}return g|0}function dE(a){a=a|0;return iE()|0}function eE(a){a=a|0;var b=0;b=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(iE()|0))a=iE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=jE(c[a>>2]|0)|0}return a|0}function fE(a,b){a=a|0;b=b|0;return iE()|0}function gE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=iE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;kE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=jE(c[b>>2]|0)|0;if((Ib[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function hE(a,b){a=a|0;b=b|0;return iE()|0}function iE(){return -1}function jE(a){a=a|0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)gz(a,b,c)|0;return a|0}function lE(a){a=a|0;return a|0}function mE(a){a=a|0;qE(a,16656);CD(a+8|0);return}function nE(a){a=a|0;mE(a);SA(a);return}function oE(a){a=a|0;mE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function pE(a){a=a|0;nE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function qE(a,b){a=a|0;b=b|0;return}function rE(a){a=a|0;vE(a,16704);GD(a+8|0);return}function sE(a){a=a|0;rE(a);SA(a);return}function tE(a){a=a|0;rE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function uE(a){a=a|0;sE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function vE(a,b){a=a|0;b=b|0;return}function wE(a){a=a|0;AE(a,16752);CD(a+4|0);return}function xE(a){a=a|0;wE(a);SA(a);return}function yE(a){a=a|0;wE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function zE(a){a=a|0;xE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function AE(a,b){a=a|0;b=b|0;return}function BE(a){a=a|0;FE(a,16800);GD(a+4|0);return}function CE(a){a=a|0;BE(a);SA(a);return}function DE(a){a=a|0;BE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function EE(a){a=a|0;CE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function FE(a,b){a=a|0;b=b|0;return}function GE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function HE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));YN(d);return}function IE(a,b){a=a|0;b=b|0;WN(a,b+28|0);return}function JE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function KE(a){a=a|0;c[a>>2]=16496;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function LE(a){a=a|0;c[a>>2]=16560;YN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ME(b){b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){NE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(f,c[f+16>>2]|1)}OE(d)}zb=e;return b|0}function NE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)ME(d)|0;a[b>>0]=1}return}function OE(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(yD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(b,c[b+16>>2]|1)}return}function PE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;f=l+12|0;j=l+8|0;k=l;NE(k,b);if(a[k>>0]|0){IE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=XF(f,56792)|0;YF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(f,h);m=XF(f,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Mb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(k);zb=l;return b|0}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;NE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=cg(d)|0;d=Ib[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=cg(d)|0}if(!(_f(d,Wf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(h,c[h+16>>2]|1)}while(0);OE(i);zb=j;return b|0}function RE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function SE(){UE();return}function TE(){return}function UE(){VE(0);return}function VE(a){a=a|0;var b=0,d=0;b=c[4002]|0;WE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;HE(55696,56368);c[13942]=0;a=Wf()|0;c[13943]=a;XE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;HE(55784,56432);c[13964]=0;b=iE()|0;c[13965]=b;b=c[4003]|0;YE(56496,b,56544);c[13966]=16724;c[13967]=16744;HE(55868,56496);c[13985]=0;a=Wf()|0;c[13986]=a;ZE(56552,b,56600);c[13987]=16772;c[13988]=16792;HE(55952,56552);c[14006]=0;b=iE()|0;c[14007]=b;b=c[4001]|0;YE(56608,b,56656);c[14008]=16724;c[14009]=16744;HE(56036,56608);c[14027]=0;a=Wf()|0;c[14028]=a;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;HE(56204,a);c[14069]=0;a=Wf()|0;c[14070]=a;ZE(56664,b,56712);c[14029]=16772;c[14030]=16792;HE(56120,56664);c[14048]=0;b=iE()|0;c[14049]=b;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;HE(56288,b);c[14090]=0;b=iE()|0;c[14091]=b;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;e=Wf()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;e=iE()|0;c[b+48>>2]=e;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;WN(g,b+4|0);Ub[e&63](b,g);YF(g);zb=f;return}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;KE(b);c[b>>2]=16880;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57040)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function ZE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;LE(b);c[b>>2]=16816;c[b+32>>2]=d;WN(g,b+4|0);d=XF(g,57048)|0;YF(g);c[b+36>>2]=d;c[b+40>>2]=e;e=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=e;zb=f;return}function _E(a){a=a|0;WD(a);SA(a);return}function $E(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57048)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function aF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function bF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=jE(c[d>>2]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(iE()|0))break a;f=f+1|0;d=d+4|0}}else f=lz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function cF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(JE(d,iE()|0)|0)){k=lE(d)|0;c[f>>2]=k;if(a[b+44>>0]|0){if((lz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=iE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=iE()|0;break}}else e=15;while(0);if((e|0)==15)b=dF(d)|0;zb=o;return b|0}function dF(a){a=a|0;if(JE(a,iE()|0)|0)a=~(iE()|0);return a|0}function eF(a){a=a|0;HD(a);SA(a);return}function fF(b,d){b=b|0;d=d|0;Gb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=XF(d,57040)|0;c[b+36>>2]=d;d=(Gb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;a[b+44>>0]=d;return}function gF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Mb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((lz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((yz(c[b>>2]|0)|0)!=0)<<31>>31;zb=k;return a|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=cg(a[d>>0]|0)|0;g=Ib[h&63](b,g)|0;if((g|0)==(Wf()|0))break a;f=f+1|0;d=d+1|0}}else f=lz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function iF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(_f(d,Wf()|0)|0)){k=eg(d)|0;a[f>>0]=k;if(a[b+44>>0]|0){if((lz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Wf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Qb[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((lz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((lz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Wf()|0;break}}else e=15;while(0);if((e|0)==15)b=dg(d)|0;zb=o;return b|0}function jF(a){a=a|0;WD(a);SA(a);return}function kF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57048)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function lF(a){a=a|0;return oF(a,0)|0}function mF(a){a=a|0;return oF(a,1)|0}function nF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=JE(d,iE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((JE(e,iE()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=lE(c[j>>2]|0)|0;c[f>>2]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=iE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function oF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=iE()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=iE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=iE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d){t=jE(c[q>>2]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=jE(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=iE()|0;break b}while(0);e=jE(c[q>>2]|0)|0}while(0)}}zb=r;return e|0}function pF(a){a=a|0;HD(a);SA(a);return}function qF(b,d){b=b|0;d=d|0;var e=0,f=0;f=XF(d,57040)|0;e=b+36|0;c[e>>2]=f;f=Gb[c[(c[f>>2]|0)+24>>2]&127](f)|0;d=b+44|0;c[d>>2]=f;e=c[e>>2]|0;e=(Gb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;a[b+53>>0]=e;if((c[d>>2]|0)>8)nJ(49046);else return}function rF(a){a=a|0;return uF(a,0)|0}function sF(a){a=a|0;return uF(a,1)|0}function tF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=_f(d,Wf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;d=((_f(e,Wf()|0)|0)^1)&1;a[k>>0]=d}else{if(e){j=b+48|0;e=eg(c[j>>2]|0)|0;a[f>>0]=e;e=c[b+36>>2]|0;switch(Qb[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((cA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Wf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);zb=l;return e|0}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){d=Wf()|0;c[f>>2]=d;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Zz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Wf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Qb[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Zz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Wf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d){t=cg(a[q>>0]|0)|0;c[b+48>>2]=t}else{do{if((e|0)<=0)break c;e=e+-1|0;t=cg(a[p+e>>0]|0)|0}while((cA(t,c[o>>2]|0)|0)!=-1);e=Wf()|0;break b}while(0);e=cg(a[q>>0]|0)|0}while(0)}}zb=r;return e|0}function vF(a){a=a|0;CF(a);return}function wF(a){a=a|0;vF(a);SA(a);return}function xF(a){a=a|0;if(a|0)Sb[c[(c[a>>2]|0)+4>>2]&255](a);return}function yF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function zF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;BF(a,d,e);return}function AF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function BF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function CF(a){a=a|0;return}function DF(a){a=a|0;CF(a);return}function EF(a){a=a|0;DF(a);SA(a);return}function FF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function GF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;IF(a,d,e);return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function IF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function JF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function KF(a){a=a|0;CF(a);return}function LF(a){a=a|0;CF(a);SA(a);return}function MF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56736)|0;YF(i);IE(i,f);b=XF(i,56752)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(FG(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;jO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=DG(a,j,i,e,f,g)|0;zb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;zb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;zb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;zb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;zb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=pG(a,j,i,e,f,g)|0;zb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;zb=h;return g|0}function UF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;zb=h;return g|0}function VF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=gG(a,j,i,e,f,g)|0;zb=h;return g|0}function WF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56736)|0;Kb[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function XF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return bG(a,aG(b)|0)|0}function YF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Sb[c[(c[a>>2]|0)+8>>2]&255](a);return}function ZF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function _F(){var b=0;if((a[54800]|0)==0?nB(54800)|0:0){b=az(2147483647,49197,0)|0;c[14186]=b;pB(54800)}return c[14186]|0}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=Dz(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=zb;zb=zb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];dG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;$N(a,d,144)}zb=f;return (c[a+4>>2]|0)+-1|0}function bG(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function cG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function eG(a){a=a|0;fG(c[c[a>>2]>>2]|0);return}function fG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Sb[a&255](d);return}function gG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function hG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;i=h;IE(i,d);d=XF(i,56736)|0;Kb[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=XF(i,56752)|0;d=Gb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[f>>0]=d;f=Gb[c[(c[e>>2]|0)+16>>2]&127](e)|0;a[g>>0]=f;Ub[c[(c[e>>2]|0)+20>>2]&63](b,e);YF(i);zb=h;return}function iG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+rA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function kG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function lG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=cg(a[f>>0]|0)|0;if(iG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;cg(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+qA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function nG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;hG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(iG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function oG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=ox()|0;g=c[g>>2]|0;j=ox()|0;c[j>>2]=0;e=+pA(a,f,_F()|0);a=ox()|0;a=c[a>>2]|0;if(!a){j=ox()|0;c[j>>2]=g}if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}zb=i;return +e}function pG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function qG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;return uG(a,b,c)|0}function sG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=zb;zb=zb+16|0;g=f;IE(g,d);d=XF(g,56752)|0;h=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[e>>0]=h;Ub[c[(c[d>>2]|0)+20>>2]&63](b,d);YF(g);zb=f;return}function tG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;g=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{l=PO(0,0,b|0,g|0)|0;f=F()|0;b=j?l:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);zb=k;return b|0}function uG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function xG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function zG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=qG(g)|0;r=rG(d,g,C+160|0)|0;sG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=cg(a[g>>0]|0)|0;if(ZF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;cg(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=cg(a[d>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function AG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=ox()|0;h=c[h>>2]|0;g=ox()|0;c[g>>2]=0;b=tx(b,i,f,_F()|0)|0;f=F()|0;g=ox()|0;g=c[g>>2]|0;if(!g){l=ox()|0;c[l>>2]=h}do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);zb=k;return b|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);zb=i;return a|0}function DG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=qG(f)|0;q=rG(b,f,B+160|0)|0;sG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(_f(f,Wf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=cg(a[f>>0]|0)|0;if(!(_f(f,Wf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=cg(a[f>>0]|0)|0;if(ZF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;cg(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function EG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=ox()|0;h=c[h>>2]|0;f=ox()|0;c[f>>2]=0;a=Cx(a,g,e,_F()|0)|0;e=F()|0;f=ox()|0;f=c[f>>2]|0;if(!f){j=ox()|0;c[j>>2]=h}a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}zb=i;return a|0}function FG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=cg(a[m>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;k=k&255;if(!i)k=Ib[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Ib[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;cg(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=cg(a[k>>0]|0)|0;if(_f(k,Wf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=cg(a[k>>0]|0)|0;if(!(_f(k,Wf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function GG(a){a=a|0;CF(a);return}function HG(a){a=a|0;CF(a);SA(a);return}function IG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];n=Ob[m&63](b,n,i,f,g,j)|0;c[d>>2]=n;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{IE(i,f);l=XF(i,56768)|0;YF(i);IE(i,f);b=XF(i,56776)|0;YF(i);Ub[c[(c[b>>2]|0)+24>>2]&63](n,b);Ub[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];i=(gH(d,i,n,b,l,g,1)|0)==(n|0)&1;a[h>>0]=i;i=c[d>>2]|0;do{b=b+-12|0;wO(b)}while((b|0)!=(n|0))}zb=o;return i|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=fH(a,j,i,e,f,g)|0;zb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eH(a,j,i,e,f,g)|0;zb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;zb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;zb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;zb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=ZG(a,j,i,e,f,g)|0;zb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=YG(a,j,i,e,f,g)|0;zb=h;return g|0}function QG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;zb=h;return g|0}function RG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=UG(a,j,i,e,f,g)|0;zb=h;return g|0}function SG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}IE(x,f);b=XF(x,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;YF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){oO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;oO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}oO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=_F()|0;c[v>>2]=h;if(($F(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;jO(x);jO(w);zb=y;return z|0}function TG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function UG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+jG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function VG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;IE(h,b);b=XF(h,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=XF(h,56776)|0;b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[e>>2]=b;e=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;c[f>>2]=e;Ub[c[(c[d>>2]|0)+20>>2]&63](a,d);YF(h);zb=g;return}function WG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function XG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){oO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=jE(c[f>>2]|0)|0;if(WG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;jE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+mG(b,c[v>>2]|0,h);g[i>>3]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function YG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;VG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){oO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;oO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(WG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}F=+oG(b,c[v>>2]|0,h);f[i>>2]=F;kG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;jO(B);jO(C);zb=D;return E|0}function ZG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=tG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function _G(a,b,c){a=a|0;b=b|0;c=c|0;return aH(a,b,c)|0}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;IE(f,b);b=XF(f,56776)|0;g=Gb[c[(c[b>>2]|0)+16>>2]&127](b)|0;c[d>>2]=g;Ub[c[(c[b>>2]|0)+20>>2]&63](a,b);YF(f);zb=e;return}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=zb;zb=zb+16|0;e=a;IE(e,b);b=XF(e,56768)|0;Kb[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;YF(e);zb=a;return d|0}function bH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=wG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=yG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function dH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=qG(g)|0;r=_G(d,g,C+160|0)|0;$G(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(JE(g,iE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){oO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;oO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=jE(c[g>>2]|0)|0;if(TG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;jE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}y=AG(d,c[t>>2]|0,h,y)|0;b[i>>1]=y;kG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Gb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=jE(c[d>>2]|0)|0;if(JE(d,iE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=jE(c[d>>2]|0)|0;if(!(JE(d,iE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;jO(A);jO(z);zb=C;return B|0}function eH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=CG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function fH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=qG(f)|0;q=_G(b,f,B+160|0)|0;$G(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(JE(f,iE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){oO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;oO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=jE(c[f>>2]|0)|0;if(TG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;jE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}x=EG(b,c[s>>2]|0,g,x)|0;c[h>>2]=x;kG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=jE(c[b>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;jO(z);jO(y);zb=B;return A|0}function gH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=FO(l)|0;if(!k)aO();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=jE(c[m>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!i)k=Ib[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Ib[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;jE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}GO(u);zb=w;return e|0}function hH(a){a=a|0;CF(a);return}function iH(a){a=a|0;CF(a);SA(a);return}function jH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56752)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=cg(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=cg(b)|0}if(_f(b,Wf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;jO(k)}zb=l;return b|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function mH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*(p<<1|21)|0)+15&-16)|0;IE(j,e);xH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function nH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1|0)|0)+15&-16)|0;IE(j,d);xH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=$f(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=zb;zb=zb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=sH(z,h,d)|0;if((z|0)!=(o|0)){a=FO(q<<1)|0;if(!a)aO();else{w=a;x=a}}else{w=p;x=0}IE(r,d);vH(z,i,h,w,u,s,r);YF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=$f(r,w,b,z,d,e)|0;GO(x);GO(y);zb=v;return z|0}function qH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56736)|0;YF(l);Kb[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=$f(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;zb=b;return g|0}function rH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=zb;zb=zb+16|0;h=g;c[h>>2]=f;f=ez(d)|0;d=Jx(a,b,e,h)|0;if(f|0)ez(f)|0;zb=g;return d|0}function sH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function tH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function uH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=ez(b)|0;b=bA(a,d,g)|0;if(e|0)ez(e)|0;zb=f;return b|0}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56736)|0;r=XF(i,56752)|0;Ub[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Ib[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(_y(p,_F()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Zy(p,_F()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Kb[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Gb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Kb[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;jO(s);zb=v;return}function wH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function xH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56736)|0;l=XF(i,56752)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;jO(q);zb=r;return}function yH(a){a=a|0;CF(a);return}function zH(a){a=a|0;CF(a);SA(a);return}function AH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Mb[j&31](b,k,e,f,g&1)|0}else{IE(k,e);b=XF(k,56776)|0;YF(k);e=c[b>>2]|0;if(g)Ub[c[e+24>>2]&63](k,b);else Ub[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=jE(b)|0;b=Ib[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=jE(b)|0}if(JE(b,iE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;wO(k)}zb=l;return b|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function DH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=zb;zb=zb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;wH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=zb;zb=zb+((1*q|0)+15&-16)|0;i=_F()|0;c[j>>2]=g;g=o+(rH(o,q,i,n,j)|0)|0;n=sH(o,g,e)|0;i=zb;zb=zb+((1*((p<<1|21)<<2)|0)+15&-16)|0;IE(j,e);KH(o,n,g,i,m,l,j);YF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,d,g,e,f)|0;Ma(h|0);zb=b;return g|0}function EH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=zb;zb=zb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;wH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=zb;zb=zb+((1*q|0)+15&-16)|0;p=_F()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(rH(n,q,p,i,j)|0)|0;g=sH(n,f,d)|0;i=zb;zb=zb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;IE(j,d);KH(n,g,f,i,m,l,j);YF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=IH(j,i,f,g,d,e)|0;Ma(h|0);zb=a;return g|0}function FH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function GH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=zb;zb=zb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=tH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=_F()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=rH(o,30,a,k,h)|0}else{g[i>>3]=f;a=rH(o,30,a,k,i)|0}if((a|0)>29){a=_F()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=uH(n,a,k,l)|0}else{g[m>>3]=f;h=uH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)aO();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=sH(w,h,d)|0;do if((w|0)!=(o|0)){a=FO(q<<3)|0;if(!a)aO();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);IE(r,d);JH(w,i,h,v,u,s,r);YF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=IH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)GO(A);GO(z);zb=x;return a|0}function HH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=zb;zb=zb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=_F()|0;c[l>>2]=g;g=rH(h,20,i,k,l)|0;k=h+g|0;i=sH(h,k,e)|0;IE(l,e);n=XF(l,56768)|0;YF(l);Kb[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=IH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;zb=b;return g|0}function IH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){wO(m);break}else{c[b>>2]=0;wO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function JH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=zb;zb=zb+16|0;s=v;t=XF(i,56768)|0;q=XF(i,56776)|0;Ub[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Ib[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Ib[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(_y(p,_F()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Zy(p,_F()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Gb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Ib[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Kb[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Ib[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Gb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Kb[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;jO(s);zb=v;return}function KH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=zb;zb=zb+16|0;q=r;p=XF(i,56768)|0;l=XF(i,56776)|0;Ub[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Ib[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Gb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Ib[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Kb[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;jO(q);zb=r;return}function LH(a){a=a|0;CF(a);return}function MH(a){a=a|0;CF(a);SA(a);return}function NH(a){a=a|0;return 2}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eI(a,j,i,e,f,g,49940,49948)|0;zb=h;return g|0}function PH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=eI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];cI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];dI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56736)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];pI(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function TH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56736)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];cI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];dI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];fI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=eI(b,j,k,f,g,h,49900,49908)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=eI(b,j,k,f,g,h,49908,49916)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];gI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];hI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];iI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];jI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];kI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];lI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];mI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=eI(b,j,k,f,g,h,49916,49927)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=eI(b,j,k,f,g,h,49927,49932)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];nI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=eI(b,j,k,f,g,h,49932,49940)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];oI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=eI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];pI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];qI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];rI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function UH(b){b=b|0;if((a[54872]|0)==0?nB(54872)|0:0){bI();c[14216]=53856;pB(54872)}return c[14216]|0}function VH(b){b=b|0;if((a[54856]|0)==0?nB(54856)|0:0){aI();c[14215]=53568;pB(54856)}return c[14215]|0}function WH(b){b=b|0;if((a[54840]|0)==0?nB(54840)|0:0){$H();c[14214]=53536;pB(54840)}return c[14214]|0}function XH(b){b=b|0;if((a[54832]|0)==0?nB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;gO(56844,49658,Yf(49658)|0);pB(54832)}return 56844}function YH(b){b=b|0;if((a[54824]|0)==0?nB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;gO(56832,49646,Yf(49646)|0);pB(54824)}return 56832}function ZH(b){b=b|0;if((a[54816]|0)==0?nB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;gO(56820,49637,Yf(49637)|0);pB(54816)}return 56820}function _H(b){b=b|0;if((a[54808]|0)==0?nB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;gO(56808,49628,Yf(49628)|0);pB(54808)}return 56808}function $H(){var b=0,d=0;if((a[54848]|0)==0?nB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);pB(54848)}nO(53536,49679)|0;nO(53548,49682)|0;return} -function sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g+8|0;e=g;d=We(b,0)|0;if(!d){c[e>>2]=b;Ue(0,3,20325,e);a=ox()|0;a=By(c[a>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Ue(0,3,21881,f);a=-1}else{a=rd(a,d)|0;GO(d)}zb=g;return a|0}function td(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function xd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Xd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(h)|0;return 0}function yd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Dd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Xd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Ld(i)|0;return 0}function zd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function Ad(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Oz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Wz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function Bd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Qy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;aA(b,d)|0;e=0}return e|0}function Cd(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Dd(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0;d=FO(12)|0;do if(d){e=FO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){GO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Fd(a){a=a|0;var b=0;b=Dd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Kd(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Gd(a,b){a=a|0;b=b|0;var d=0;d=Dd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Nd(d,a,b)|0)<0){Ld(d)|0;d=0}}else d=0;return d|0}function Hd(a,b){a=a|0;b=b|0;var d=0;d=Ed(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Od(d,a,b)|0)<0){Md(d)|0;d=0}}else d=0;return d|0}function Id(a){a=a|0;var b=0;b=Dd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if(($d(b,a)|0)<0){Ld(b)|0;b=0}}else b=0;return b|0}function Jd(a){a=a|0;var b=0;b=Ed(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((ae(b,a)|0)<0){Md(b)|0;b=0}}else b=0;return b|0}function Kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Ld(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Md(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return 0}function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Fd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Qd(l,e)|0)<0){Ld(l)|0;a=-1;break}if((Rd(l,e)|0)<0){Ld(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Sd(l,b,d)|0;Ld(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Dd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Td(a,h)|0)<0){Ld(h)|0;e=-1;break}}else if((Ud(a,h)|0)<0){Ld(h)|0;e=-1;break}if((Vd(h,d)|0)<0){Ld(h)|0;e=-1;break}b:do if(e){if((Wd(a,h,b,d)|0)<0){Ld(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Ld(h)|0;e=0;break}Ld(h)|0;e=-1}else e=-1;while(0);return e|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0){i=k+((B(d,n)|0)+e<<3)|0;g[j>>3]=+g[i>>3]}else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=zb;zb=zb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=qe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((ue(a,b,d)|0)<0){re(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}re(C)|0;d=0}else d=-1;while(0);zb=F;return d|0}function Wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);zb=q;return a|0}function Zd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((_d(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);zb=q;return a|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=zb;zb=zb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+de(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ee(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+de(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ee(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ee(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+de(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}zb=h;return 0}function de(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ee(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function fe(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ge(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function he(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+192|0;f=g;ie(a,f);ie(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;je(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;je(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;_O(a|0,f|0,184)|0;zb=g;return}function ie(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function je(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=rz(a,22236)|0;if(!r){r=ox()|0;c[f>>2]=c[r>>2];c[f+4>>2]=a;Ue(0,3,20359,f);a=ox()|0;a=By(c[a>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Ue(0,3,21881,h);a=-1;break}Kz(r,0,2)|0;a:do if(!(Bz(r)|0)){h=hA(r)|0;iA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Ue(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((gA(q,a,1,r)|0)!=1){a=ox()|0;c[l>>2]=c[a>>2];Ue(0,3,20553,l);a=ox()|0;a=By(c[a>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Ue(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;he(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;_O(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((gA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;he(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}_O(h|0,q|0,184)|0;a=a+1|0}}else{a=ox()|0;c[i>>2]=c[a>>2];Ue(0,3,20428,i);a=ox()|0;a=By(c[a>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Ue(0,3,21881,j);a=-1}while(0);xz(r)|0}else a=-1;while(0);zb=s;return a|0}function le(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ce(a+8|0,j,m)|0)<0)Ue(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);zb=o;return}function me(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=FO(208)|0;if(!r){Ue(0,3,41858,s+32|0);Ea(1)}_O(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=FO(d)|0;c[r+184>>2]=e;if(!e){Ue(0,3,41858,s+40|0);Ea(1)}d=FO(d)|0;c[r+188>>2]=d;if(!d){Ue(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ge(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];fe(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}zb=s;return r|0}function ne(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){GO(c[b+184>>2]|0);GO(c[(c[a>>2]|0)+188>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function oe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function pe(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function qe(a){a=a|0;var b=0,d=0;b=FO(8)|0;do if(b){d=FO(a<<3)|0;c[b>>2]=d;if(!d){GO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function re(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function se(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+te(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function te(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];i=w-l+-1|0;c[s>>2]=i;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+se(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;j=0.0;while(1){if(e>>>0>=h>>>0)break;f=(c[a>>2]|0)+((B(e,w)|0)+h<<3)|0;o=j+ +g[f>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=j+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;j=o}g[(c[b>>2]|0)+(h<<3)>>3]=j;h=h+1|0}c[t>>2]=i;c[s>>2]=i;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+te(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;j=+g[m+(e<<3)>>3];h=c[b>>2]|0;i=h+(e<<3)|0;n=+g[i>>3]-o*j;g[i>>3]=n;i=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+i<<3)|0;g[k>>3]=+g[k>>3]-(j*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else i=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){e=e+((B(h,w)|0)+h<<3)|0;i=w;j=+g[e>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=j;d=i+-1|0;if((i|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((i|0)<=(r|0)){h=w-d+-1|0;k=m+(i<<3)|0;e=i;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+i<<3);j=+te(u,v);f=i;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-j*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}i=d;j=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);zb=x;return e|0}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=zb;zb=zb+224|0;h=j+48|0;i=j;f=j+192|0;xe(h,f,c,d);a:do if((ye(i,b,f)|0)<0){Ue(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);zb=j;return b|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=zb;zb=zb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;ze(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}zb=j;return}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function ze(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function Ae(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Id(f)|0;do if(d){b=Gd(d,f)|0;if(!b){Ld(d)|0;a=-1;break}a=Gd(d,g)|0;if(!a){Ld(d)|0;Ld(b)|0;a=-1;break}if((Xd(b)|0)<0){Ld(d)|0;Ld(b)|0;Ld(a)|0;a=-1;break}else{Nd(h,b,a)|0;Ld(d)|0;Ld(b)|0;Ld(a)|0;a=0;break}}else a=-1;while(0);zb=i;return a|0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=zb;zb=zb+256|0;f=j+192|0;h=j+96|0;i=j;Ce(f,b);De(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}zb=j;return 0}function Ce(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function De(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ee(a){a=a|0;var b=0,d=0,e=0;b=FO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function Fe(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{GO(b);c[a>>2]=0;a=0}return a|0}function Ge(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=zb;zb=zb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=FO(h*96|0)|0;if(!w){Ue(0,3,41875,i);h=-1;break}r=FO(h<<4)|0;if(!r){Ue(0,3,41875,j);GO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){ud(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((ve(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((we(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((Ae(u,r,w,h<<1)|0)<0){i=29;break}Be(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ie(w,r);h=-1;break}else if((i|0)==27){Ie(w,r);h=-1;break}else if((i|0)==29){Ie(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;GO(w);GO(r);h=0;break}}else h=-1;while(0);zb=x;return h|0}function Ie(a,b){a=a|0;b=b|0;GO(a);GO(b);return}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=zb;zb=zb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=FO(i*96|0)|0;if(!E){Ue(0,3,41875,h);h=-1;break}z=FO(i<<4)|0;if(!z){Ue(0,3,41875,j);GO(E);h=-1;break}h=i<<3;y=FO(h)|0;if(!y){Ue(0,3,41875,k);GO(E);GO(z);h=-1;break}x=FO(h)|0;if(!x){Ue(0,3,41875,l);GO(E);GO(z);GO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){ud(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((ve(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}oy(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((we(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((Ae(C,z,E,h)|0)<0){i=42;break}Be(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ke(E,z,y,x);h=-1;break}else if((i|0)==36){Ke(E,z,y,x);h=-1;break}else if((i|0)==40){Ke(E,z,y,x);h=-1;break}else if((i|0)==42){Ke(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;GO(E);GO(z);GO(y);GO(x);h=0;break}}else h=-1;while(0);zb=F;return h|0}function Ke(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;GO(a);GO(b);GO(c);GO(d);return}function Le(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Me(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=zb;zb=zb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Dd(h,8)|0;if(!n){Ue(0,3,20681,i);h=-1;break}k=Dd(h,1)|0;if(!k){Ld(n)|0;Ue(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Id(n)|0;if(!b){Ld(n)|0;Ld(k)|0;Ue(0,3,20733,l);h=-1;break}j=Gd(b,n)|0;if(!j){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ue(0,3,20759,m);h=-1;break}i=Gd(b,k)|0;if(!i){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ue(0,3,20785,o);h=-1;break}if((Xd(j)|0)<0){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20811,p);h=-1;break}h=Gd(j,i)|0;if(!h){Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ue(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Ld(n)|0;Ld(k)|0;Ld(b)|0;Ld(j)|0;Ld(i)|0;Ld(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Ne(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);zb=t;return h|0}function Ne(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Oe(a){a=a|0;GO(c[a>>2]|0);GO(a);return 0}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,0))}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Uc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){ud(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=FO(p<<6)|0;if(!q){Ue(0,3,41858,v);Ea(1)}p=FO(p*96|0)|0;if(!p){Ue(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Wc(a,x,q,p,o,i);if(j&h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,i);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,i)}}}}GO(p);GO(q)}else{h=+Wc(a,x,q,p,o,y);k=e+8|0;l=+Wc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.8)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.6)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,.4)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ge(c[a>>2]|0,0.0)|0;h=+Xc(a,x,q,p,o,y);l=+Xc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);GO(p);GO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}zb=C;return +h}function Re(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Qe(a,b,c,d,1))}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=zb;zb=zb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=rz(a,21853)|0;do if(!K){c[d>>2]=a;Ue(0,3,20863,d);d=ox()|0;d=By(c[d>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Ue(0,3,21881,e);d=0}else{Te(I,K);c[H>>2]=R;if((Cz(I,21887,H)|0)!=1){c[f>>2]=a;Ue(0,3,20916,f);xz(K)|0;d=0;break}d=c[R>>2]|0;y=FO(d*320|0)|0;if(!y){Ue(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Te(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Cz(I,21017,C)|0)!=1){if(p){d=11;break}if(!(Ad(J,a,2048,1)|0)){d=13;break}sA(J,I,2047-(Qy(J)|0)|0)|0;o=sd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Te(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Cz(I,21313,D)|0)!=1){d=18;break}Te(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Cz(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Cz(I,21438,F)|0)!=2){d=23;break}d=0}do{Te(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Cz(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);xd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Ue(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Ue(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Ue(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Ue(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Ue(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Ue(0,3,21444,Q)}else if((d|0)==31){xz(K)|0;d=FO(136)|0;if(!d){Ue(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}xz(K)|0;GO(y);d=0}while(0);zb=T;return d|0}function Te(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(Az(b,256,c)|0))break;d=Qy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Ue(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Ve(0,d,e,b)}zb=g;return}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Jx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Qy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=FO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];bz(i,b+1|0,21553,j)|0}Jx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Wz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else kz(i,c[4001]|0)|0;while(0);GO(i)}zb=l;return}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=rz(b,22236)|0;if(e){Kz(e,0,2)|0;f=hA(e)|0;Kz(e,0,0)|0;g=f+1|0;b=FO(g)|0;if(!b){xz(e)|0;b=ox()|0;c[b>>2]=48;b=0;break}if(!(gA(b,f,1,e)|0)){GO(b);xz(e)|0;b=0;break}a[b+f>>0]=0;xz(e)|0;if(d)c[d>>2]=g}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}while(0);return b|0}function Xe(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function $e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function af(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function bf(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=zb;zb=zb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=iz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=iz(+(c[t>>2]|0)*e/A)|0;v=FO(16)|0;if(!v){Ue(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=FO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Ue(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=iz(A*+(h|0)/e)|0;h=h+1|0;r=iz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=iz(A*+(i|0)/e)|0;i=i+1|0;p=iz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}zb=z;return v|0}function cf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=FO((Qy(a)|0)+6|0)|0;if(!d){Ue(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Hx(d,21584,b)|0;p=rz(d,22236)|0;GO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Ue(0,3,21595,e);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,g);Ea(1)}d=b+4|0;if((gA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Ue(0,1,21668,i);e=o<<2;g=FO(e)|0;c[b>>2]=g;if(!g){Ue(0,3,41858,j);Ea(1)}j=FO(16)|0;c[g>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}d=ff(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Ue(0,2,21698,l);GO(c[g>>2]|0);GO(g);GO(b);iA(p);b=df(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Ue(0,2,21698,m);GO(c[g>>2]|0);GO(g);GO(b);GO(d);xz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];GO(d);Kz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((gA(n,4,1,p)|0)!=1){d=21;break}m=bf(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;GO(c[c[o>>2]>>2]|0);GO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){xz(p)|0;break a}while(0);GO(g)}else Ue(0,3,21643,h);GO(b);xz(p)|0;b=0}while(0);zb=q;return b|0}function df(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=FO(8)|0;if(!b){Ue(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((gA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=FO(k<<2)|0;c[b>>2]=j;if(!j){Ue(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=FO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Ue(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((gA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((gA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((gA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=FO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=gA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Ue(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;GO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;GO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){xz(a)|0;break a}while(0);GO(j);i=46}else i=5;while(0);if((i|0)==5){Ue(0,3,21643,e);i=46}if((i|0)==46){GO(b);xz(a)|0;b=0}zb=l;return b|0}function ef(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[c[d+(e<<2)>>2]>>2]|0);GO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function ff(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(20)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=gf(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function gf(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=zb;zb=zb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=FO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;aP(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=XO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=YO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=YO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;o=l+(B(m+p|0,s)|0)|0;c[w+(m<<2)>>2]=o;m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=YO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=YO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);GO(D|0);zb=N;return l|0}function hf(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Hx(k,22627,h)|0;k=rz(k,21853)|0;if(!k)a=0;else{a=FO(8)|0;if(!a){Ue(0,3,41858,e);Ea(1)}a:do if(kf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Cz(i,21887,f)|0)!=1){GO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){GO(a);a=0;break}f=FO(b*56|0)|0;c[a>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(kf(i,k)|0)){b=15;break}c[n>>2]=j;if((Cz(i,21914,n)|0)!=1){b=17;break}g=sd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(kf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Cz(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(kf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Cz(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==17){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==19){GO(e);GO(a);a=0;break}else if((b|0)==21){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==24){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==27){GO(c[a>>2]|0);GO(a);a=0;break}else if((b|0)==29){GO(c[a>>2]|0);GO(a);a=0;break}}else{GO(a);a=0}while(0);xz(k)|0}zb=o;return a|0}function kf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Hx(t,22627,i)|0;t=rz(t,22236)|0;if(!t){c[d>>2]=a;Ue(0,3,21818,d);b=0}else{b=FO(8)|0;if(!b){Ue(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((gA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=FO(h*20|0)|0;c[b>>2]=i;if(!i){Ue(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((gA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((gA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((gA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((gA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=FO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((gA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((gA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((gA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((gA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((gA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Ue(0,3,21839,j);break}case 15:{Ue(0,3,21839,k);break}case 17:{Ue(0,3,21839,l);break}case 19:{Ue(0,3,21839,m);break}case 22:{Ue(0,3,41858,n);Ea(1);break}case 25:{Ue(0,3,21839,o);break}case 27:{Ue(0,3,21839,p);break}case 29:{Ue(0,3,21839,q);break}case 31:{Ue(0,3,21839,r);break}case 34:{Ue(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;GO(c[i+(a*20|0)>>2]|0);a=a+1|0}GO(i);u=39}else{Ue(0,3,21839,f);u=39}while(0);if((u|0)==39){GO(b);b=0}xz(t)|0}zb=v;return b|0}function mf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;GO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}GO(d);GO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function nf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)of(0,b,c,d)|0;else of(a,b,c,d)|0;return 0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=zb;zb=zb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{vd(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=x;z=+u(+(e?y:z))*2.5399999618530273;f[d+4>>2]=z;zb=m;return 0}function pf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{qf(e,e+8|0,l,j);qf(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];qf(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+rf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){_z(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+($z()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);zb=G;return d|0}function qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+sf(a,a+(b<<3)|0,c);return +(e+ +sf(a,c,a+(d<<3)|0))}function sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function tf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=zb;zb=zb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Fx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Hx(g,22627,h)|0;d=rz(g,21853)|0;if(!d){c[i>>2]=b;Ue(0,3,21855,i);q=ox()|0;q=By(c[q>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Ue(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Wz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=FO(1140)|0;if(!o){Ue(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(uf(r,n)|0)){xz(n)|0;GO(o);q=0;break}c[l>>2]=t;if((Cz(r,21887,l)|0)!=1){xz(n)|0;GO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){xz(n)|0;GO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=FO(d*112|0)|0;c[o>>2]=j;if(!j){Ue(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Ue(0,1,21890,u);if(k){if(!(uf(r,n)|0)){m=57;break}c[v>>2]=s;if((Cz(r,21914,v)|0)!=1){m=57;break}If(s)|0}Ue(0,1,21917,w);p=cf(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Ue(0,1,21966,y);Ue(0,1,21976,z);p=lf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Ue(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Ue(0,1,22027,C);If(s)|0;p=jf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Ue(0,1,21966,E)}b:do if(k){if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Cz(r,22080,F)|0)!=4){m=40;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Cz(r,22080,H)|0)!=4){m=43;break a}if(!(uf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Cz(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);yd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Hf(s,256,22128)|0;g=FO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Wz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Ue(0,3,21935,x);GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Ue(0,3,21996,A);ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Ue(0,3,22050,D);mf(j+((c[t>>2]|0)*112|0)+4|0)|0;ef(j+((c[t>>2]|0)*112|0)|0)|0;GO(j);GO(o);if(!n){q=0;break}xz(n)|0;q=0;break}else if((m|0)==40){Ue(0,3,22092,G);xz(n)|0;Ea(0)}else if((m|0)==43){Ue(0,3,22092,I);xz(n)|0;Ea(0)}else if((m|0)==47){Ue(0,3,22092,K);xz(n)|0;Ea(0)}else if((m|0)==55){Ue(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)xz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);zb=M;return q|0}function uf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=Az(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function wf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=zb;zb=zb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;xf(b,g,i,j,s,u,S);yf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=FO(q)|0;if(!H){Ue(0,3,41858,E);Ea(1)}G=FO(q)|0;if(!G){Ue(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;zf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;xf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}GO(H);GO(G)}zb=X;return q|0}function xf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function yf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function zf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function Af(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=FO(40)|0;if(!d){Ue(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=FO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Ue(0,3,41858,e+8|0);Ea(1)}else{zb=e;return d|0}return 0}function Bf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=zb;zb=zb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Gf(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{vd(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Ef(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(oe(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((pe(y,+(q|0),p,z,A)|0)>=0)if((Gf(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{g=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+28>>2]=g;c[k+32>>2]=d;c[k+36>>2]=l;d=0}zb=D;return d|0}function Cf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Ef(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Ef(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Ef(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;zb=r;return}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=zb;zb=zb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){vd(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((oe(b,i,c,e,g)|0)>=0?(pe(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}zb=l;return b|0}function Ef(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=zb;zb=zb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{vd(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(oe(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}zb=i;return a|0}function Ff(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=zb;zb=zb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((pe(a+184|0,c,d,i,j)|0)<0)a=-1;else{vd(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}zb=r;return a|0}function Gf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+4|0;o=p;if((((Ff(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;zb=p;return b|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;return Bd(a,b,c)|0}function If(a){a=a|0;return Cd(a)|0}function Jf(a){a=a|0;return Kf(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=zb;zb=zb+16|0;f=HO(1,4156)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{h=tB(4)|0;Ij(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;zb=g;return f|0}return 0}function Lf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){nk(d);SA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){GO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){GO(d);b=c[a>>2]|0}GO(b);c[a>>2]=0;b=0}return b|0}function Mf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Of(a){a=a|0;return}function Pf(a,b){a=a|0;b=b|0;Rf(a);return}function Qf(a){a=a|0;P(a|0)|0;UA()}function Rf(a){a=a|0;SA(a);return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=FO(16)|0;c[a>>2]=e;if(!e){Ue(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=FO(i*132|0)|0;if(!j){Ue(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;_O(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;_O(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){GO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=FO(n*12|0)|0;if(!o){Ue(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=FO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Ue(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=FO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Ue(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;GO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}GO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Tf(b)|0;d=0}}else{Ue(0,3,22132,e);d=-1}zb=s;return d|0}function Tf(a){a=a|0;var b=0,d=0,e=0,f=0;e=zb;zb=zb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)GO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;GO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}GO(c[d>>2]|0);GO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Ue(0,3,22192,e);b=-1}zb=e;return b|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Hg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Ue(0,3,22290,i);f=-1;break}i=HO(1,16)|0;if(!i){Ue(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((gA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=FO(f*132|0)|0;c[i>>2]=j;if(!j){Ue(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((gA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((gA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((gA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=FO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Ue(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((gA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((gA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=FO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((gA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Ue(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;xz(m)|0;f=0;break a}}}while(0);Ue(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)GO(f);f=c[i>>2]|0;if(f|0)GO(f);GO(i);xz(m)|0;f=-1}else{Ue(0,3,22239,h);f=-1}while(0);zb=p;return f|0}function Vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;a:do if(!a){Ue(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);zb=j;return e|0}function Wf(){return -1}function Xf(a,b){a=a|0;b=b|0;return Zf(a,b,Yf(b)|0)|0}function Yf(a){a=a|0;return Qy(a)|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;g=l+12|0;j=l;k=l+8|0;NE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Wf()|0;e=h+76|0;if(_f(m,c[e>>2]|0)|0){IE(g,h);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;YF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!($f(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;GE(m,c[m+16>>2]|5)}}OE(j);zb=l;return b|0}function _f(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function $f(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;hO(m,g,h);if((Jb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){jO(m);break}else{c[b>>2]=0;jO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Jb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);zb=n;return i|0}function ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)eO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=tB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;bg(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;bg(h+f|0,i);zb=j;return}function bg(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function cg(a){a=a|0;return a&255|0}function dg(a){a=a|0;if(_f(a,Wf()|0)|0)a=~(Wf()|0);return a|0}function eg(a){a=a|0;return a&255|0}function fg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Ue(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){GO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=FO(e*132|0)|0;c[u>>2]=t;if(!t){Ue(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;_O((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){GO(g);e=c[t>>2]|0}h=h+1|0}GO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=FO(e*12|0)|0;c[t>>2]=s;if(!s){Ue(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=FO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Ue(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){GO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=FO(g*68|0)|0;c[i>>2]=h;if(!h){Ue(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){gg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else hg(v,y);Of(y);g=c[u>>2]|0;ig(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else jg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))kg(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Ue(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;em(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Mf(x);lg(w);Nf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Ue(0,3,22451,e);e=-1}while(0);zb=A;return e|0}function gg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=ug(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;vg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;wg(a,d);xg(d);zb=h;return}}function ig(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=qg(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;rg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;sg(a,d);tg(d);zb=h;return}}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=zb;zb=zb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=mg(b)|0;if(h>>>0>>0)EO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;ng(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;og(b,e);pg(e);zb=i;return}}function lg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mg(a){a=a|0;return 2147483647}function ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=tB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function pg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function qg(a){a=a|0;return 357913941}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function tg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ug(a){a=a|0;return 214748364}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function xg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Of(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=Bg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Em(c[a>>2]|0,s,i,j)|0;j=fp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){GO(b);d=c[i>>2]|0}h=FO(d<<3)|0;c[j>>2]=h;if(!h){Ue(0,3,41858,o);Ea(1)}e=fp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;pe(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;pe(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;pe(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;pe(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;pe(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=hp(c[a>>2]|0)|0,q=cp(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=ep(c[a>>2]|0,q)|0,n=fp(c[a>>2]|0)|0,o=c[b>>2]|0,(zg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Ue(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{GO(s);d=0}}else{Ue(0,3,22543,d);d=-1}while(0);zb=u;return d|0}function zg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=zb;zb=zb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=FO(b<<1)|0;if(!o){Ue(0,3,41858,j);Ea(1)}n=FO(m*24|0)|0;if(!n){Ue(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Me(b,o,n,m,q)|0)<0){GO(o);GO(n);b=-1;break}b=Ee(b)|0;c[s>>2]=b;if(!b){GO(o);GO(n);b=-1;break}if((He(b,p,q,r,t)|0)<0){GO(o);GO(n);Fe(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}Fe(s)|0;GO(o);GO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);zb=u;return b|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function Bg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Cg(a,b,c,e,f)|0;break}case 5:{a=Dg(a,b,c,e,f)|0;break}case 2:{a=Eg(a,b,c,e,f)|0;break}case 4:{a=Fg(a,b,c,e,f)|0;break}default:a=Gg(a,b,c,e,f)|0}return a|0}function Cg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zb;zb=zb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=FO(b)|0;if(!d){Ue(0,3,41858,g);Ea(1)}else{_O(d|0,a|0,b|0)|0;zb=g;return d|0}return 0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=zb;zb=zb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=FO(B(m,p)|0)|0;if(!m){Ue(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}zb=q;return m|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=FO(B(l,m)|0)|0;if(!k){Ue(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}zb=n;return k|0}function Fg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=FO(B(m,n)|0)|0;if(!l){Ue(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}zb=o;return l|0}function Gg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=FO(B(n,o)|0)|0;if(!m){Ue(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}zb=p;return m|0}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=rz(a,d)|0;break}f=Qy(a)|0;f=FO(f+2+(Qy(b)|0)|0)|0;if(!f){Ue(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Hx(f,22627,h)|0;e=rz(f,d)|0;GO(f);break}}else e=0;while(0);zb=i;return e|0}function Ig(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;d=m;if(!(Kg(b)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;IE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(d,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(d);QE(l,k)|0;ME(l)|0;ua()}i=Mg(Lg(b,0,0)|0)|0;j=Ng(Lg(b,0,0)|0)|0;k=Og(Lg(b,0,0)|0)|0;e=Pg(b)|0;l=a+12|0;c[l>>2]=e;b=(Qg(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Rg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;cq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}zb=m;return}function Kg(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=zb;zb=zb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;IE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=XF(f,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(f);QE(e,h)|0;ME(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;zb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;IE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=XF(f,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(f);QE(h,g)|0;ME(h)|0;ua()}return 0}function Mg(a){a=a|0;return c[a>>2]|0}function Ng(a){a=a|0;return c[a+4>>2]|0}function Og(a){a=a|0;return c[a+8>>2]|0}function Pg(a){a=a|0;return c[a+16>>2]|0}function Qg(a){a=a|0;return c[a+20>>2]|0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;rq(f);d=f}c[g>>2]=a}}else Sg(a,b-e|0);return}function Sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Vg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Wg(f,b);Xg(a,f);Yg(f);break}}else Tg(a,b);while(0);zb=i;return}function Tg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ug(a){a=a|0;return 134217727}function Vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Wg(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{_p(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;bq((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Yg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;rq(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Zg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((Pg(b)|0)<=0){g=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if(b|0?NA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=_g(a,e,d)|0;j=Lg(b,e,d)|0;i=d+1|0;$g(0,k,j,Lg(b,e,i)|0);d=i}e=e+1|0}zb=h;return}k=Xf(Xf(PE(Xf(Xf(Xf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;IE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(k,j)|0;ME(k)|0;ua()}function _g(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function $g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;a=k;if((Mg(b)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(d)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((Mg(e)|0)!=2){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(b)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(d)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}if((ah(e)|0)!=1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Ng(d)|0;if((j|0)!=(Ng(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}j=Og(d)|0;if((j|0)!=(Og(e)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;IE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(a,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(a);QE(j,i)|0;ME(j)|0;ua()}g=0;while(1){if(g>>>0>=(Og(d)|0)>>>0)break;h=bh(b,g)|0;i=ch(d,g)|0;j=ch(e,g)|0;a=0;while(1){if(a>>>0>=(Ng(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}zb=k;return}function ah(a){a=a|0;return c[a+16>>2]|0}function bh(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;zb=e;return d|0}else{e=Xf(Xf(PE(Xf(Xf(Xf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;IE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=XF(d,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(d);QE(e,b)|0;ME(e)|0;ua()}return 0}function dh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Ig(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;sj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;eh(b,5e3);fh(d,36);return}function eh(a,b){a=a|0;b=b|0;c[a+84>>2]=b;uh(a+60|0,b);return}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else nh(a,b-e|0);return}function gh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function hh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function ih(a){a=a|0;mh(a);return}function jh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;kh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;lh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;rq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ph(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;qh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);rh(f,b);sh(a,f);th(f);break}}else oh(a,b);while(0);zb=i;return}function oh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function ph(a){a=a|0;return 1073741823}function qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function rh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function th(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){vh(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);wh(a,d);xh(d)}zb=f;return}function vh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function wh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function xh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function yh(a){a=a|0;gh(a+144|0);tj(a+92|0);hh(a+72|0);hh(a+60|0);ih(a+32|0);jh(a+16|0);return} -function aI(){var b=0,d=0;if((a[54864]|0)==0?nB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);pB(54864)}nO(53568,49685)|0;nO(53580,49693)|0;nO(53592,49702)|0;nO(53604,49708)|0;nO(53616,49714)|0;nO(53628,49718)|0;nO(53640,49723)|0;nO(53652,49728)|0;nO(53664,49735)|0;nO(53676,49745)|0;nO(53688,49753)|0;nO(53700,49762)|0;nO(53712,49771)|0;nO(53724,49775)|0;nO(53736,49779)|0;nO(53748,49783)|0;nO(53760,49714)|0;nO(53772,49787)|0;nO(53784,49791)|0;nO(53796,49795)|0;nO(53808,49799)|0;nO(53820,49803)|0;nO(53832,49807)|0;nO(53844,49811)|0;return}function bI(){var b=0,d=0;if((a[54880]|0)==0?nB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);pB(54880)}nO(53856,49815)|0;nO(53868,49822)|0;nO(53880,49829)|0;nO(53892,49837)|0;nO(53904,49847)|0;nO(53916,49856)|0;nO(53928,49863)|0;nO(53940,49872)|0;nO(53952,49876)|0;nO(53964,49880)|0;nO(53976,49884)|0;nO(53988,49888)|0;nO(54e3,49892)|0;nO(54012,49896)|0;return}function cI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(FG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function eI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;IE(s,g);t=XF(s,56736)|0;YF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=cg(a[n>>0]|0)|0;if(!(_f(n,Wf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Jb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];q=Qb[p&15](d,r,s,g,h,i,l,o)|0;c[e>>2]=q;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if(_f(m,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Gb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=cg(a[m>>0]|0)|0;if(!(_f(m,Wf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=cg(a[m>>0]|0)|0;q=Ib[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Ib[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Gb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;cg(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[m>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;zb=z;return l|0}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function kI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function lI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Gb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=cg(a[h>>0]|0)|0;if(_f(d,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=cg(a[d>>0]|0)|0;if(!(_f(d,Wf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function mI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(FG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function pI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function qI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=sI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function rI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if((Jb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Gb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;cg(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[h>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function sI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[j>>0]|0)|0;if(_f(i,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=cg(a[i>>0]|0)|0;if(!(_f(i,Wf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=cg(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Gb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;cg(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=cg(a[k>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Jb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;cg(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=cg(a[j>>0]|0)|0;if(_f(j,Wf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=cg(a[j>>0]|0)|0;if(!(_f(j,Wf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function tI(a){a=a|0;CF(a);return}function uI(a){a=a|0;CF(a);SA(a);return}function vI(a){a=a|0;return 2}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=PI(a,j,i,e,f,g,13152,13184)|0;zb=h;return g|0}function xI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=zb;zb=zb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Gb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=PI(b,k,j,f,g,h,d,e)|0;zb=i;return h|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];NI(a,g+24|0,b,i,f,e);zb=h;return c[b>>2]|0}function zI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];OI(a,g+16|0,b,i,f,e);zb=h;return c[b>>2]|0}function AI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;IE(i,e);e=XF(i,56768)|0;YF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];_I(a,g+20|0,b,i,f,e);zb=h;return c[b>>2]|0}function BI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=zb;zb=zb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;IE(k,f);O=XF(k,56768)|0;YF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];NI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];OI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];QI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];S=PI(b,j,k,f,g,h,12976,13008)|0;c[d>>2]=S;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];S=PI(b,j,k,f,g,h,13008,13040)|0;c[d>>2]=S;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];RI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];SI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];TI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];UI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];VI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];WI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];XI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];S=PI(b,j,k,f,g,h,13040,13084)|0;c[d>>2]=S;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];S=PI(b,j,k,f,g,h,13088,13108)|0;c[d>>2]=S;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];YI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];S=PI(b,j,k,f,g,h,13120,13152)|0;c[d>>2]=S;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];ZI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Ob[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Gb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];S=PI(b,j,k,f,g,h,i,S)|0;c[d>>2]=S;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];_I(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];$I(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];aJ(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;zb=R;return j|0}function CI(b){b=b|0;if((a[54952]|0)==0?nB(54952)|0:0){MI();c[14233]=54352;pB(54952)}return c[14233]|0}function DI(b){b=b|0;if((a[54936]|0)==0?nB(54936)|0:0){LI();c[14232]=54064;pB(54936)}return c[14232]|0}function EI(b){b=b|0;if((a[54920]|0)==0?nB(54920)|0:0){KI();c[14231]=54032;pB(54920)}return c[14231]|0}function FI(b){b=b|0;if((a[54912]|0)==0?nB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;tO(56912,17648,JI(17648)|0);pB(54912)}return 56912}function GI(b){b=b|0;if((a[54904]|0)==0?nB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;tO(56900,17600,JI(17600)|0);pB(54904)}return 56900}function HI(b){b=b|0;if((a[54896]|0)==0?nB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;tO(56888,17564,JI(17564)|0);pB(54896)}return 56888}function II(b){b=b|0;if((a[54888]|0)==0?nB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;tO(56876,17528,JI(17528)|0);pB(54888)}return 56876}function JI(a){a=a|0;return ly(a)|0}function KI(){var b=0,d=0;if((a[54928]|0)==0?nB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);pB(54928)}AO(54032,17732)|0;AO(54044,17744)|0;return}function LI(){var b=0,d=0;if((a[54944]|0)==0?nB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);pB(54944)}AO(54064,17756)|0;AO(54076,17788)|0;AO(54088,17824)|0;AO(54100,17848)|0;AO(54112,17872)|0;AO(54124,17888)|0;AO(54136,17908)|0;AO(54148,17928)|0;AO(54160,17956)|0;AO(54172,17996)|0;AO(54184,18028)|0;AO(54196,18064)|0;AO(54208,18100)|0;AO(54220,18116)|0;AO(54232,18132)|0;AO(54244,18148)|0;AO(54256,17872)|0;AO(54268,18164)|0;AO(54280,18180)|0;AO(54292,18196)|0;AO(54304,18212)|0;AO(54316,18228)|0;AO(54328,18244)|0;AO(54340,18260)|0;return}function MI(){var b=0,d=0;if((a[54960]|0)==0?nB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);pB(54960)}AO(54352,18276)|0;AO(54364,18304)|0;AO(54376,18332)|0;AO(54388,18364)|0;AO(54400,18404)|0;AO(54412,18440)|0;AO(54424,18468)|0;AO(54436,18504)|0;AO(54448,18520)|0;AO(54460,18536)|0;AO(54472,18552)|0;AO(54484,18568)|0;AO(54496,18584)|0;AO(54508,18600)|0;return}function NI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;zb=h;return}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=zb;zb=zb+16|0;i=h+4|0;j=h;a=a+8|0;a=Gb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(gH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;zb=h;return}function PI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=zb;zb=zb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;IE(q,e);r=XF(q,56768)|0;YF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=jE(c[l>>2]|0)|0;if(!(JE(l,iE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Jb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];o=Qb[n&15](a,p,q,e,f,g,j,m)|0;c[b>>2]=o;h=h+8|0}else{if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;o=Ib[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Ib[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(JE(k,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=jE(c[k>>2]|0)|0;if(!(JE(k,iE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=jE(c[k>>2]|0)|0;if(!(Jb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Gb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;jE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Gb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[k>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;zb=v;return j|0}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function UI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;zb=h;return}function VI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function WI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(!(Jb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function XI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;k=m+4|0;l=m;j=b+8|0;j=Gb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(gH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);zb=m;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;zb=h;return}function _I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}zb=h;return}function $I(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=zb;zb=zb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=bJ(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;zb=h;return}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if((Jb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Gb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Gb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=jE(c[g>>2]|0)|0;if(JE(a,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=jE(c[a>>2]|0)|0;if(!(JE(a,iE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function bJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[h>>2]|0)|0;if(JE(g,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=jE(c[g>>2]|0)|0;if(!(JE(g,iE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=jE(c[i>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Jb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Gb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;jE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=jE(c[i>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Gb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(!(Jb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Jb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;jE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Gb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=jE(c[h>>2]|0)|0;if(JE(h,iE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=jE(c[h>>2]|0)|0;if(!(JE(h,iE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function cJ(a){a=a|0;hJ(a+8|0);CF(a);return}function dJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function eJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=zb;zb=zb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;fJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=cg(f)|0;f=Ib[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=cg(f)|0}d=_f(f,Wf()|0)|0;e=d?0:e}h=h+1|0}zb=j;return e|0}function fJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=gJ(d,c[e>>2]|0)|0;k=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0)|0;c[e>>2]=k;zb=l;return}function gJ(a,b){a=a|0;b=b|0;return b-a|0}function hJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(_F()|0))Vy(c[a>>2]|0);return}function iJ(a){a=a|0;hJ(a+8|0);CF(a);return}function jJ(a){a=a|0;hJ(a+8|0);CF(a);SA(a);return}function kJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=zb;zb=zb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;lJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=jE(e)|0;e=Ib[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=jE(e)|0}b=JE(e,iE()|0)|0;d=b?0:d}g=g+4|0}zb=i;return d|0}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=zb;zb=zb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;fJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=mJ(b,c[d>>2]|0)|0;a=ez(c[a>>2]|0)|0;e=Sz(b,j,e,i)|0;if(a|0)ez(a)|0;if((e|0)==-1)nJ(0);else{c[d>>2]=b+(e<<2);zb=h;return}}function mJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function nJ(a){a=a|0;ua()}function oJ(a){a=a|0;CF(a);return}function pJ(a){a=a|0;CF(a);SA(a);return}function qJ(a){a=a|0;return 127}function rJ(a){a=a|0;return 127}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function uJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function vJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function wJ(a){a=a|0;return 0}function xJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function yJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function zJ(a){a=a|0;CF(a);return}function AJ(a){a=a|0;CF(a);SA(a);return}function BJ(a){a=a|0;return 127}function CJ(a){a=a|0;return 127}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function FJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function GJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;hO(a,1,45);return}function HJ(a){a=a|0;return 0}function IJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function JJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function KJ(a){a=a|0;CF(a);return}function LJ(a){a=a|0;CF(a);SA(a);return}function MJ(a){a=a|0;return 2147483647}function NJ(a){a=a|0;return 2147483647}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function QJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function SJ(a){a=a|0;return 0}function TJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function UJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function VJ(a){a=a|0;CF(a);return}function WJ(a){a=a|0;CF(a);SA(a);return}function XJ(a){a=a|0;return 2147483647}function YJ(a){a=a|0;return 2147483647}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function $J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function aK(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;uO(a,1,45);return}function bK(a){a=a|0;return 0}function cK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function dK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function eK(a){a=a|0;CF(a);return}function fK(a){a=a|0;CF(a);SA(a);return}function gK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(jK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Kb[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=FO(b+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[f>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function hK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(jK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;bg(f,j);c[i+4>>2]=0}else{a[j>>0]=0;bg(i,j);a[b>>0]=0}if(a[k>>0]|0)sO(i,Ib[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}kK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=cg(a[g>>0]|0)|0;if(_f(b,Wf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=cg(a[b>>0]|0)|0;if(!(_f(b,Wf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function iK(a){a=a|0;return}function jK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=zb;zb=zb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}mK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;cg(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=cg(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;if(_f(g,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=cg(a[g>>0]|0)|0;if(!(_f(g,Wf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=cg(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){nK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){oK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Gb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;cg(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){oK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Gb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))nK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=cg(a[o>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=cg(a[h>>0]|0)|0}sO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(_f(o,Wf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if(!(_f(o,Wf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Gb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=cg(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Gb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;cg(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;kG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);jO(W);jO(V);jO(U);jO(T);jO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Sb[c[X+4>>2]&255](o);zb=Y;return g|0}function kK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(lK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;ag(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;rO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;jO(m);break}if((i-l|0)>>>0>>0)qO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;bg(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;bg(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);zb=o;return b|0}function lK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function mK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=zb;zb=zb+16|0;m=o+12|0;n=o;if(b){d=XF(d,56968)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=XF(d,56960)|0;Ub[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;bg(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Pf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;bg(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;bg(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Pf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;bg(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[f>>0]=b;b=Gb[c[(c[d>>2]|0)+16>>2]&127](d)|0;a[g>>0]=b;Ub[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;bg(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;bg(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);Ub[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;bg(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Pf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;bg(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}jO(n);b=Gb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;zb=o;return}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function oK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function pK(a){a=a|0;CF(a);return}function qK(a){a=a|0;CF(a);SA(a);return}function rK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;IE(s,g);b=XF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(tK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Kb[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=FO((b>>>2)+2|0)|0;if(!b)aO();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Cz(o,50476,q)|0)!=1)nJ(0);if(r|0)GO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[f>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;YF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Sb[c[u+4>>2]&255](b);zb=v;return f|0}function sK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;IE(p,g);l=XF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(tK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;JF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;JF(i,j);a[b>>0]=0}if(a[k>>0]|0)DO(i,Ib[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Ib[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}uK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Gb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=jE(c[g>>2]|0)|0;if(JE(b,iE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Gb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=jE(c[b>>2]|0)|0;if(!(JE(b,iE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;YF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Sb[c[r+4>>2]&255](b);zb=s;return g|0}function tK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=zb;zb=zb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}xK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Gb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;jE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=jE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=jE(c[g>>2]|0)|0;if(JE(f,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=jE(c[f>>2]|0)|0;if(!(JE(f,iE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Gb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=jE(c[g>>2]|0)|0;if(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){yK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){oK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Gb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;jE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){oK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Gb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))yK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Gb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=jE(c[n>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(Jb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=jE(c[g>>2]|0)|0}DO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(JE(n,iE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if(!(JE(n,iE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Gb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=jE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Gb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;jE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;kG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);wO(V);wO(U);wO(T);wO(S);jO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Sb[c[W+4>>2]&255](n);zb=X;return f|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(vK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;wK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;CO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;wO(k);break}if((h-l|0)>>>0>>0)BO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;JF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;JF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);zb=n;return b|0}function vK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function wK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)eO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;JF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;JF(f,i);zb=j;return}function xK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(d,56984)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(d,56976)|0;Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;JF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;JF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[f>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[g>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;bg(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Pf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;bg(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;JF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Pf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function yK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=IO(f?e:0,g)|0;if(!e)aO();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Sb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function zK(a){a=a|0;CF(a);return}function AK(a){a=a|0;CF(a);SA(a);return}function BK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56736)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}DK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}EK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=$f(q,y,d,b,f,h)|0;if(F|0)GO(F);jO(C);jO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function CK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;IE(B,f);t=XF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Ib[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}DK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;EK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=$f(p,x,h,b,f,g)|0;if(D|0)GO(D);jO(A);jO(z);jO(y);YF(B);zb=C;return b|0}function DK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56968)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56960)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;bg(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Pf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;bg(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);e=m}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[g>>0]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;a[h>>0]=b;Ub[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;bg(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Pf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;bg(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function EK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Ib[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Ib[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function FK(a){a=a|0;CF(a);return}function GK(a){a=a|0;CF(a);SA(a);return}function HK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=zb;zb=zb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=bz(b,100,50681,q)|0;if(b>>>0>99){b=_F()|0;g[k>>3]=i;b=uH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)aO();k=FO(b<<2)|0;if(!k)aO();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}IE(D,f);n=XF(D,56768)|0;m=c[l>>2]|0;Kb[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}JK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{y=b;F=b}}else{y=p;F=0}KK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=IH(q,y,d,b,f,h)|0;if(F|0)GO(F);wO(C);wO(B);jO(A);YF(D);if(G|0)GO(G);if(H|0)GO(H);zb=E;return b|0}function IK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=zb;zb=zb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;IE(B,f);t=XF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Ib[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}JK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=FO(b<<2)|0;if(!b)aO();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;KK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=IH(p,x,h,b,f,g)|0;if(D|0)GO(D);wO(A);wO(z);jO(y);YF(B);zb=C;return b|0}function JK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;n=p+12|0;o=p;if(b){m=XF(e,56984)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=XF(e,56976)|0;if(d){Ub[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}else{Ub[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Ub[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;JF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o)}b=Gb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=b;b=Gb[c[(c[m>>2]|0)+16>>2]&127](m)|0;c[h>>2]=b;Ub[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;bg(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Pf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;bg(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}jO(o);Ub[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;JF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Pf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;JF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}wO(o);b=Gb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;zb=p;return}function KK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Jb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Ib[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function LK(a){a=a|0;CF(a);return}function MK(a){a=a|0;CF(a);SA(a);return}function NK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function OK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;sO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=Oy((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Qy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;sO(b,a[d>>0]|0);d=d+1|0}jO(i);zb=j;return}function PK(a,b){a=a|0;b=b|0;return}function QK(a){a=a|0;CF(a);return}function RK(a){a=a|0;CF(a);SA(a);return}function SK(b,d,e){b=b|0;d=d|0;e=e|0;e=Py((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function TK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Qb[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;sO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)nJ(0);CF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=Oy((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Qy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Qb[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;DO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)nJ(0);else if((m|0)==23){CF(o);jO(n);zb=t;return}}function UK(a,b){a=a|0;b=b|0;return}function VK(a){a=a|0;CF(a);SA(a);return}function WK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=dL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function XK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=cL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function YK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function ZK(a){a=a|0;return 0}function _K(a){a=a|0;return 0}function $K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return bL(c,d,e,1114111,0)|0}function aL(a){a=a|0;return 4}function bL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function cL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function dL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function eL(a){a=a|0;CF(a);SA(a);return}function fL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function gL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function iL(a){a=a|0;return 1}function jL(a){a=a|0;return 1}function kL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function lL(a){a=a|0;return 1}function mL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=ez(c[o>>2]|0)|0;l=Uz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)ez(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=ez(c[o>>2]|0)|0;e=_x(n,0,d)|0;if(h|0)ez(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=ez(c[o>>2]|0)|0;h=_x(h,r,p)|0;if(k|0)ez(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;zb=q;return e|0}function nL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=zb;zb=zb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=ez(c[n>>2]|0)|0;l=Rz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)ez(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=ez(c[n>>2]|0)|0;e=Xy(h,e,1,d)|0;if(k|0)ez(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=ez(c[n>>2]|0)|0;h=Xy(h,e,k-e|0,o)|0;if(b|0)ez(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;zb=p;return e|0}function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=zb;zb=zb+16|0;h=i;c[g>>2]=e;e=ez(c[b+8>>2]|0)|0;b=_x(h,0,d)|0;if(e|0)ez(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);zb=i;return b|0}function pL(a){a=a|0;var b=0,d=0;a=a+8|0;b=ez(c[a>>2]|0)|0;d=pz(0,0,4)|0;if(b|0)ez(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=ez(a)|0;a=hy()|0;if(b|0)ez(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function qL(a){a=a|0;return 0}function rL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=ez(c[j>>2]|0)|0;a=Qz(d,k-d|0,b)|0;if(g|0)ez(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function sL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=ez(a)|0;a=hy()|0;if(b)ez(b)|0}else a=1;return a|0}function tL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(_F()|0))Vy(c[b>>2]|0);CF(a);return}function uL(a){a=a|0;tL(a);SA(a);return}function vL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=EL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function wL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=zb;zb=zb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=DL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];zb=b;return h|0}function xL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yL(a){a=a|0;return 0}function zL(a){a=a|0;return 0}function AL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return CL(c,d,e,1114111,0)|0}function BL(a){a=a|0;return 4}function CL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function DL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function EL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function FL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Sb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}jO(a+144|0);HL(e);CF(a);return}function GL(a){a=a|0;FL(a);SA(a);return}function HL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Pf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function IL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)vB(d);CF(b);return}function JL(a){a=a|0;IL(a);SA(a);return}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(TL()|0)+((b&255)<<2)|0;b=c[b>>2]&255}return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=TL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;if(b<<24>>24>-1){b=(SL()|0)+(b<<24>>24<<2)|0;b=c[b>>2]&255}return b|0}function NL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=SL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function OL(a,b){a=a|0;b=b|0;return b|0}function PL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function RL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function SL(){var a=0;a=jy()|0;return c[a>>2]|0}function TL(){var a=0;a=ky()|0;return c[a>>2]|0}function UL(){var a=0;a=gy()|0;return c[a>>2]|0}function VL(a){a=a|0;c[a>>2]=19288;jO(a+12|0);CF(a);return}function WL(a){a=a|0;VL(a);SA(a);return}function XL(b){b=b|0;return a[b+8>>0]|0}function YL(b){b=b|0;return a[b+9>>0]|0}function ZL(a,b){a=a|0;b=b|0;fO(a,b+12|0);return}function _L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51258,Yf(51258)|0);return}function $L(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,51252,Yf(51252)|0);return}function aM(a){a=a|0;c[a>>2]=19328;jO(a+16|0);CF(a);return}function bM(a){a=a|0;aM(a);SA(a);return}function cM(a){a=a|0;return c[a+8>>2]|0}function dM(a){a=a|0;return c[a+12>>2]|0}function eM(a,b){a=a|0;b=b|0;fO(a,b+16|0);return}function fM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19384,JI(19384)|0);return}function gM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;tO(a,19360,JI(19360)|0);return}function hM(a){a=a|0;CF(a);SA(a);return}function iM(a){a=a|0;CF(a);SA(a);return}function jM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128){a=(UL()|0)+(d<<1)|0;a=(b[a>>1]&c)<<16>>16!=0}else a=0;return a|0}function kM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=UL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function lM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=UL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function mM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=UL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(TL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=TL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;if(b>>>0<128){b=(SL()|0)+(b<<2)|0;b=c[b>>2]|0}return b|0}function qM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=SL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function rM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function sM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function tM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function vM(a){a=a|0;CF(a);SA(a);return}function wM(a){a=a|0;CF(a);SA(a);return}function xM(a){a=a|0;CF(a);SA(a);return}function yM(a){a=a|0;c[a>>2]=19644;return}function zM(a){a=a|0;c[a>>2]=19680;return}function AM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d){e=UL()|0;c[f>>2]=e}return}function BM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;CM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,49197,Yf(49197)|0);c[a+12>>2]=c[b>>2];DM();EM(a,54968);FM();GM(a,54976);HM();IM(a,54984);JM();KM(a,55e3);LM();MM(a,55008);NM();OM(a,55016);PM();QM(a,55032);RM();SM(a,55040);TM();UM(a,55048);VM();WM(a,55072);XM();YM(a,55104);ZM();_M(a,55112);$M();aN(a,55120);bN();cN(a,55128);dN();eN(a,55136);fN();gN(a,55144);hN();iN(a,55152);jN();kN(a,55160);lN();mN(a,55168);nN();oN(a,55176);pN();qN(a,55184);rN();sN(a,55192);tN();uN(a,55200);vN();wN(a,55216);xN();yN(a,55232);zN();AN(a,55248);BN();CN(a,55264);DN();EN(a,55272);return}function CM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){RN(b,d);IN(b,d)}return}function DM(){c[13743]=0;c[13742]=17072;return}function EM(a,b){a=a|0;b=b|0;FN(a,b,aG(56720)|0);return}function FM(){c[13745]=0;c[13744]=17104;return}function GM(a,b){a=a|0;b=b|0;FN(a,b,aG(56728)|0);return}function HM(){AM(54984,0,0,1);return}function IM(a,b){a=a|0;b=b|0;FN(a,b,aG(56736)|0);return}function JM(){c[13751]=0;c[13750]=19432;return}function KM(a,b){a=a|0;b=b|0;FN(a,b,aG(56768)|0);return}function LM(){c[13753]=0;c[13752]=19500;return}function MM(a,b){a=a|0;b=b|0;FN(a,b,aG(57040)|0);return}function NM(){QN(55016,1);return}function OM(a,b){a=a|0;b=b|0;FN(a,b,aG(57048)|0);return}function PM(){c[13759]=0;c[13758]=19548;return}function QM(a,b){a=a|0;b=b|0;FN(a,b,aG(57056)|0);return}function RM(){c[13761]=0;c[13760]=19596;return}function SM(a,b){a=a|0;b=b|0;FN(a,b,aG(57064)|0);return}function TM(){PN(55048,1);return}function UM(a,b){a=a|0;b=b|0;FN(a,b,aG(56752)|0);return}function VM(){ON(55072,1);return}function WM(a,b){a=a|0;b=b|0;FN(a,b,aG(56776)|0);return}function XM(){c[13777]=0;c[13776]=17136;return}function YM(a,b){a=a|0;b=b|0;FN(a,b,aG(56760)|0);return}function ZM(){c[13779]=0;c[13778]=17200;return}function _M(a,b){a=a|0;b=b|0;FN(a,b,aG(56784)|0);return}function $M(){c[13781]=0;c[13780]=17264;return}function aN(a,b){a=a|0;b=b|0;FN(a,b,aG(56792)|0);return}function bN(){c[13783]=0;c[13782]=17316;return}function cN(a,b){a=a|0;b=b|0;FN(a,b,aG(56800)|0);return}function dN(){c[13785]=0;c[13784]=18672;return}function eN(a,b){a=a|0;b=b|0;FN(a,b,aG(56960)|0);return}function fN(){c[13787]=0;c[13786]=18728;return}function gN(a,b){a=a|0;b=b|0;FN(a,b,aG(56968)|0);return}function hN(){c[13789]=0;c[13788]=18784;return}function iN(a,b){a=a|0;b=b|0;FN(a,b,aG(56976)|0);return}function jN(){c[13791]=0;c[13790]=18840;return}function kN(a,b){a=a|0;b=b|0;FN(a,b,aG(56984)|0);return}function lN(){c[13793]=0;c[13792]=18896;return}function mN(a,b){a=a|0;b=b|0;FN(a,b,aG(56992)|0);return}function nN(){c[13795]=0;c[13794]=18924;return}function oN(a,b){a=a|0;b=b|0;FN(a,b,aG(57e3)|0);return}function pN(){c[13797]=0;c[13796]=18952;return}function qN(a,b){a=a|0;b=b|0;FN(a,b,aG(57008)|0);return}function rN(){c[13799]=0;c[13798]=18980;return}function sN(a,b){a=a|0;b=b|0;FN(a,b,aG(57016)|0);return}function tN(){c[13801]=0;c[13800]=19412;yM(55208);c[13800]=17368;c[13802]=17416;return}function uN(a,b){a=a|0;b=b|0;FN(a,b,aG(56868)|0);return}function vN(){c[13805]=0;c[13804]=19412;zM(55224);c[13804]=17452;c[13806]=17500;return}function wN(a,b){a=a|0;b=b|0;FN(a,b,aG(56936)|0);return}function xN(){var a=0;c[13809]=0;c[13808]=19412;a=_F()|0;c[13810]=a;c[13808]=18624;return}function yN(a,b){a=a|0;b=b|0;FN(a,b,aG(56944)|0);return}function zN(){var a=0;c[13813]=0;c[13812]=19412;a=_F()|0;c[13814]=a;c[13812]=18648;return}function AN(a,b){a=a|0;b=b|0;FN(a,b,aG(56952)|0);return}function BN(){c[13817]=0;c[13816]=19008;return}function CN(a,b){a=a|0;b=b|0;FN(a,b,aG(57024)|0);return}function DN(){c[13819]=0;c[13818]=19040;return}function EN(a,b){a=a|0;b=b|0;FN(a,b,aG(57032)|0);return}function FN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{GN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Sb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else HN(a,b-e|0);return}function HN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=JN(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;KN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);LN(f,b);MN(a,f);NN(f);break}}else IN(a,b);while(0);zb=i;return}function IN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function JN(a){a=a|0;return 1073741823}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=tB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function LN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function MN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function NN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Pf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function PN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function QN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;b=_F()|0;c[a+8>>2]=b;return}function RN(b,d){b=b|0;d=d|0;var e=0;if((JN(b)|0)>>>0>>0)EO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=tB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function SN(){if((a[55280]|0)==0?nB(55280)|0:0){TN()|0;c[14269]=57072;pB(55280)}return c[14269]|0}function TN(){UN();c[14268]=55288;return 57072}function UN(){BM(55288,1);return}function VN(){WN(57080,SN()|0);return 57080}function WN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function XN(){if((a[55448]|0)==0?nB(55448)|0:0){VN()|0;c[14271]=57080;pB(55448)}return c[14271]|0}function YN(a){a=a|0;var b=0;b=XN()|0;b=c[b>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function ZN(a){a=a|0;return}function _N(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Sb[c[(c[a>>2]|0)+16>>2]&255](a);return}function $N(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Sb[d&255](b);c[a>>2]=-1}return}function aO(){ua()}function bO(a,b){a=a|0;b=b|0;var d=0,e=0;e=Qy(b)|0;d=tB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=cO(d)|0;_O(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function cO(a){a=a|0;return a+12|0}function dO(a,b){a=a|0;b=b|0;c[a>>2]=16372;bO(a+4|0,b);return}function eO(a){a=a|0;ua()}function fO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)gO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function gO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(e>>>0>4294967279)eO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}VD(b,d,e)|0;a[f>>0]=0;bg(b+e|0,f);zb=g;return}function hO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;f=g;if(d>>>0>4294967279)eO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=tB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}iO(b,d,e)|0;a[f>>0]=0;bg(b+d|0,f);zb=g;return}function iO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)aP(a|0,(cg(c)|0)&255|0,b|0)|0;return a|0}function jO(b){b=b|0;if((a[b+11>>0]|0)<0)Pf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function kO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;lO(f,d,e)|0;a[i>>0]=0;bg(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;mO(b,h,e-h|0,f,0,f,e,d)}while(0);zb=k;return b|0}function lO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)$O(a|0,b|0,c|0)|0;return a|0} -function nw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;s=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0)|0;c[d+24>>2]=s;if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function ow(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))rw(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Jb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{f=Jb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;c[j+68+(e<<2)>>2]=f;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{aP(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Sb[c[n>>2]&255](a);return}}}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Sb[c[b>>2]&255](a);return}function rw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Kb[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[h+g>>0]=n;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));n=(B(e,b)|0)&255;a[j+g>>0]=n;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function sw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function tw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function uw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function vw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{aP(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;aP(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function ww(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;aP(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){f=yw(c[a+28>>2]<<1,d)|0;c[a+112>>2]=f;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){f=yw((c[a+28>>2]|0)*3|0,d)|0;c[a+112>>2]=f;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){f=yw(c[a+28>>2]<<2,d)|0;c[a+112>>2]=f;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){f=yw((c[a+28>>2]|0)*5|0,d)|0;c[a+112>>2]=f;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){f=yw((c[a+28>>2]|0)*6|0,d)|0;c[a+112>>2]=f;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){f=yw((c[a+28>>2]|0)*7|0,d)|0;c[a+112>>2]=f;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){f=yw(c[a+28>>2]<<3,d)|0;c[a+112>>2]=f;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){f=yw((c[a+28>>2]|0)*9|0,d)|0;c[a+112>>2]=f;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){f=yw((c[a+28>>2]|0)*10|0,d)|0;c[a+112>>2]=f;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){f=yw((c[a+28>>2]|0)*11|0,d)|0;c[a+112>>2]=f;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){f=yw((c[a+28>>2]|0)*12|0,d)|0;c[a+112>>2]=f;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){f=yw((c[a+28>>2]|0)*13|0,d)|0;c[a+112>>2]=f;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){f=yw((c[a+28>>2]|0)*14|0,d)|0;c[a+112>>2]=f;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){f=yw(b<<4,d)|0;c[a+112>>2]=f;f=16;b=c[a+32>>2]<<4;break}else{f=yw(b*15|0,d)|0;c[a+112>>2]=f;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{f=yw(c[a+28>>2]|0,d)|0;c[a+112>>2]=f;f=1;b=c[a+32>>2]|0}while(0);e=yw(b,c[g>>2]|0)|0;c[a+116>>2]=e;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function yw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Sb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Ub[c[i+4>>2]&63](a,-1);i=0;zb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Sb[c[h>>2]&255](a)}c[i>>2]=0;Xb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;zb=j;return i|0}function Aw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=Bw(b)|0;c[g>>2]=e;f=Cw(b,84)|0;if(!f){Dw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Sb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){zb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Cz(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}zb=k;return}function Bw(a){a=a|0;return 0}function Cw(a,b){a=a|0;b=b|0;return FO(b)|0}function Dw(a){a=a|0;return}function Ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Cw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Sb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Cw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Tw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Hw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Sb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Ew(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Fw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Iw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Jw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}i=Ew(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Rw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;p=b+16|0;c[p>>2]=d;d=b+8|0;Sw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Sb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Tw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){d=B(d,t)|0;s=b+16|0;c[s>>2]=d;d=b+8|0;Sw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Sb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Ew(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Sb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Tw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Mw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Sb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Sb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Yb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Yb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Sb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Sb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{aP(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Ub[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Qw(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Pw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Ow(a){a=a|0;var b=0;Nw(a,1);Nw(a,0);b=a+4|0;Pw(a,c[b>>2]|0,84);c[b>>2]=0;Dw(a);return}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Qw(a,b,c){a=a|0;b=b|0;c=c|0;GO(b);return}function Rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Sb[c[d>>2]&255](a);return}function Tw(a,b){a=a|0;b=b|0;return FO(b)|0}function Uw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Sb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function Vw(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Ub[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function Ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Sb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;aP(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;Aw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Ut(a);Xw(a);c[a+20>>2]=200;return}function Xw(a){a=a|0;var b=0;b=Jb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Gb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Sb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Sb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Sb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Sb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2064;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3280;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3168;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3040;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=2864;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=2656;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2384;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2064;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2064;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2064;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2064;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2064;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2064;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2064;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2064;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Sb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2064;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;b=yw(j,B(c[p>>2]|0,b)|0)|0;c[e+28>>2]=b;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;j=yw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;c[e+32>>2]=j;k=B(c[k>>2]|0,c[n>>2]|0)|0;k=yw(k,c[p>>2]|0)|0;c[e+44>>2]=k;b=B(c[b>>2]|0,c[l>>2]|0)|0;b=yw(b,c[q>>2]|0)|0;c[e+48>>2]=b;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}b=yw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;c[A>>2]=b;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){_w(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Sb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Zw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Sb[c[(c[a>>2]|0)+16>>2]&255](a);Sb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function _w(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Sb[c[c[a>>2]>>2]&255](a)}f=a+428|0;g=yw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+360>>2]=g;f=yw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;c[a+364>>2]=f;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Sb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Sb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;i=B(c[g+36>>2]|0,k)|0;c[g+68>>2]=i;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Sb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}k=Jb[c[c[g>>2]>>2]&63](a,1,132)|0;_O(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Sb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Sb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function $w(a){a=a|0;Sb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function ax(a){a=a|0;Uw(a);return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a)}d=cx(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Sb[c[e>>2]&255](a)}Vw(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function cx(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Sb[c[(c[d>>2]|0)+4>>2]&255](b);Sb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Gb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Gb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Ub[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function dx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Sb[c[d>>2]&255](a)}Sb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Sb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Gb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Sb[c[(c[a+24>>2]|0)+24>>2]&255](a);Vw(a);a=1;return a|0}function ex(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=3824;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function fx(a){a=a|0;Sb[c[(c[a>>2]|0)+8>>2]&255](a);Uw(a);Ea(1)}function gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Sb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Sb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function hx(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+208|0;d=b+200|0;e=b;Ub[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Lz(a,46655,d)|0;zb=b;return}function ix(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Hx(d,b,i)|0;zb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Hx(d,b,j)|0;zb=k;return}function jx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function kx(a){a=a|0;return (aa(px(c[a+60>>2]|0)|0)|0)&65535|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=zb;zb=zb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(nx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}zb=l;return d|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+16|0;f=g;if(!(nx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);zb=g;return b|0}function nx(a){a=a|0;var b=0;if(!(a<<16>>16))a=0;else{b=ox()|0;c[b>>2]=a&65535;a=-1}return a|0}function ox(){return 55620}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(nx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];zb=l;return f|0}function rx(a){a=a|0;return 0}function sx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function tx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=ux(a,b,c)|0;E(F()|0);return d|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function vx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;wx(h,0,0);d=xx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);zb=j;return d|0}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function xx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){h=ox()|0;c[h>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while((zx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=yx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){wx(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;wx(b,0,0);h=ox()|0;c[h>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=NO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=OO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=TO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=UO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=yx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=SO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=NO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=OO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=yx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=yx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);j=ox()|0;c[j>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){r=ox()|0;c[r>>2]=68;g=OO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){r=ox()|0;c[r>>2]=68;break}}g=((j|0)<0)<<31>>31;g=PO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function yx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=Ax(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=PO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=OO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function zx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ax(a){a=a|0;var b=0,e=0;e=zb;zb=zb+16|0;b=e;if((Bx(a)|0)==0?(Jb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;zb=e;return a|0}function Bx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Jb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Dx(a,b,c)|0;E(F()|0);return d|0}function Dx(a,b,c){a=a|0;b=b|0;c=c|0;c=vx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Ex(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Fx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Gx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;zb=e;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Jx(a,2147483647,b,c)|0}function Jx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+160|0;g=j+144|0;i=j;_O(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{d=ox()|0;c[d>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Kx(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}zb=j;return d|0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;return Nx(a,b,c,1,55)|0}function Lx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=zb;zb=zb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;dy(e)|0;j=F()|0;if((j|0)<0){e=-e;dy(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Yx(b,32,f,j,h&-65537);Rx(b,A,C);Rx(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Yx(b,32,f,j,h^8192)}else{q=+ey(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Wx(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Yx(b,32,f,D,h);Rx(b,r,p);Yx(b,48,f,D,h^65536);E=m-E|0;Rx(b,G,E);G=k-l|0;Yx(b,48,j-(E+G)|0,0,0);Rx(b,n,G);Yx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=UO(c[j>>2]|0,0,n|0)|0;s=OO(s|0,F()|0,m|0,0)|0;v=F()|0;m=SO(s|0,v|0,1e9,0)|0;w=NO(m|0,F()|0,1e9,0)|0;w=PO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Wx(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Yx(b,32,f,j,h);Rx(b,A,C);Yx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Wx(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Rx(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Wx(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){aP(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Rx(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Yx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Wx(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Rx(b,l,1);if(s&(k|0)<1){l=m;break}Rx(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;aP(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Rx(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Yx(b,48,k+18|0,18,0);Rx(b,v,D-v|0)}Yx(b,32,f,j,h^8192)}while(0);zb=H;return ((j|0)<(f|0)?f:j)|0}function Mx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=zb;zb=zb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Ox(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Px(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Ox(b,d,p,r,q,f,g)|0;if(j){Jb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Ox(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Qx(b);e=(h&32|0)==0?e:-1}zb=t;return e|0}function Ox(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=zb;zb=zb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){e=ox()|0;c[e>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Rx(d,r,l)}while((l|0)!=0);v=(Gx(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Gx(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Sx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Sx(G)|0;m=c[G>>2]|0;break}if(Gx(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Tx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Vx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=PO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Xx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Yx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Hb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Ux(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Wx(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Zx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Yx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Zx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Rx(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Yx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Yx(d,32,l,K,m);Rx(d,p,o);Yx(d,48,l,K,m^65536);Yx(d,48,s,t,0);Rx(d,r,t);Yx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Tx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);zb=J;return e|0}function Px(a){a=a|0;return 1}function Qx(a){a=a|0;return}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))by(b,d,a)|0;return}function Sx(b){b=b|0;var d=0,e=0;if(!(Gx(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Gx(a[e>>0]|0)|0)!=0)}return d|0}function Tx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Ub[e&63](a,d);break a}default:break a}while(0);while(0);return}function Ux(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=TO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Vx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=TO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Wx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=SO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=NO(b|0,c|0,10,0)|0;g=PO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Yx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=zb;zb=zb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;aP(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Rx(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Rx(a,f,e)}zb=g;return}function Zx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=_x(a,b,0)|0;return a|0}function _x(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}e=($x()|0)+188|0;if(!(c[c[e>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{b=ox()|0;c[b>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function $x(){return ay()|0}function ay(){return 16020}function by(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(cy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Jb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Jb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);_O(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function cy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function dy(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function ey(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=TO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+ey(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;_O(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function gy(){return 16264}function hy(){var a=0;a=(iy()|0)+188|0;return ((c[c[a>>2]>>2]|0)==0?1:4)|0}function iy(){return ay()|0}function jy(){return 16268}function ky(){return 16272}function ly(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function my(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Gx(a)|0)!=0)&1|0}function ny(a){a=a|0;var b=0;if(a>>>0>4294963200){b=ox()|0;c[b>>2]=0-a;a=-1}return a|0}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=zb;zb=zb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)py(a,d,e,f,j);else ry(a,d,e,k,f,0,j);if((f|0)==1){sy(k,1);f=0;break}else{sy(k,b);f=1;break}}else{py(a,d,e,f,j);qy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}ry(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{sy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;qy(k,1);ry(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);sy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;ry(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ty(k)|0;qy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);zb=m;return}function py(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Ib[d&63](h,a)|0)>-1?(Ib[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Ib[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);vy(b,l,e);zb=m;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function ry(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=zb;zb=zb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Ib[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Ib[d&63](g,j)|0)>-1){i=10;break a}if((Ib[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ty(m)|0;qy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Ib[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){vy(b,n,e);py(a,b,d,f,h)}zb=o;return}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=uy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function uy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function vy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=zb;zb=zb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;_O(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;_O(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);zb=h;return}function wy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return xy(f,c[e+20>>2]|0)|0}function xy(a,b){a=a|0;b=b|0;return yy(a,b)|0}function yy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=zy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function zy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ay(c[b+8>>2]|0,o)|0;f=Ay(c[b+12>>2]|0,o)|0;g=Ay(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ay(c[b+(g<<2)>>2]|0,o)|0;g=Ay(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Fx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ay(c[b+(f<<2)>>2]|0,o)|0;f=Ay(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ay(a,b){a=a|0;b=b|0;var c=0;c=WO(a|0)|0;return ((b|0)==0?a:c)|0}function By(a){a=a|0;var b=0;b=(Cy()|0)+188|0;return wy(a,c[b>>2]|0)|0}function Cy(){return ay()|0}function Dy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0}while((zx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=yx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=yx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=yx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=yx(b)|0;if((e|32|0)==120){g=+Ey(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Fy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;o=ox()|0;c[o>>2]=28;wx(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Ey(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;l=OO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=OO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=yx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else wx(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=OO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Gy(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){wx(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=UO(p|0,o|0,2)|0;l=OO(l|0,F()|0,-32,-1)|0;l=OO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){b=ox()|0;c[b>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=OO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=PO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=OO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Iy(+Hy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0)){f=ox()|0;c[f>>2]=68}h=+Ky(h,l)}while(0);return +h}function Fy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=zb;zb=zb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=OO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=OO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=yx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Gy(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){wx(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=OO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){H=ox()|0;c[H>>2]=28;wx(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){H=ox()|0;c[H>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=UO(c[o>>2]|0,0,29)|0;l=OO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=SO(l|0,n|0,1e9,0)|0;a=NO(s|0,F()|0,1e9,0)|0;l=PO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Iy(+Hy(1.0,105-m|0),k);q=+Jy(k,+Hy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Jy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;H=ox()|0;c[H>>2]=68}while(0);i=+Ky(i,b)}while(0);zb=I;return +i}function Gy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=yx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=NO(f|0,h|0,10,0)|0;b=F()|0;e=OO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=OO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=yx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=PO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Hy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=UO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Iy(a,b){a=+a;b=+b;return +(+Ex(a,b))}function Jy(a,b){a=+a;b=+b;return +(+Ly(a,b))}function Ky(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function Ly(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=TO(j|0,l|0,52)|0;F()|0;e=e&2047;m=TO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=UO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=My(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=UO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=UO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=UO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=UO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=UO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=UO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=UO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=UO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=PO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=UO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=OO(f|0,d|0,0,-1048576)|0;d=F()|0;e=UO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=TO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function My(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ny(a){a=a|0;return 0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Py(a,b){a=a|0;b=b|0;return -1|0}function Qy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ny(_(91,e|0)|0)|0;zb=d;return b|0}function Sy(b,c){b=b|0;c=c|0;b=Ty(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Qy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Uy(){return}function Vy(a){a=a|0;if(Wy(a)|0)GO(a);return}function Wy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=zb;zb=zb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(Yy()|0)+188|0;g=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;g=ox()|0;c[g>>2]=25;g=-1}zb=l;return g|0}function Yy(){return ay()|0}function Zy(a,b){a=a|0;b=b|0;return Gx(a)|0}function _y(a,b){a=a|0;b=b|0;return my(a)|0}function $y(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Fx(k,46743)|0)!=0?(Fx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Fx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Fx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ty(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){_O(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;_O(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=FO(28)|0;if(!d){Ry(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=FO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;_O(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);zb=o;return d|0}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+32|0;i=j;a:do if(!(Wy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=$y(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=i}e=e+1|0}while((e|0)!=6)}while(0);zb=j;return d|0}function bz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;c[g>>2]=e;e=Jx(a,b,d,g)|0;zb=f;return e|0}function cz(a,b){a=a|0;b=b|0;dz(a,b)|0;return a|0}function dz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function ez(a){a=a|0;var b=0,d=0;b=(fz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function fz(){return ay()|0}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function hz(a,b){a=+a;b=b|0;return +(+Hy(a,b))}function iz(a){a=+a;return ~~+bP(+a)|0}function jz(a){a=a|0;var b=0,c=0;b=(Qy(a)|0)+1|0;c=FO(b)|0;if(!c)a=0;else a=_O(c|0,a|0,b|0)|0;return a|0}function kz(a,b){a=a|0;b=b|0;var c=0;c=Qy(a)|0;return ((lz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Px(e)|0)==0;a=by(a,f,e)|0;if(!g)Qx(e)}else a=by(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function mz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(nz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function nz(){return ay()|0}function oz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(cy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Jb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);zb=l;return f|0}function pz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(qz()|0)+188|0;b=a[e>>0]|0;if(!(c[c[h>>2]>>2]|0)){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);b=ox()|0;c[b>>2]=25;b=-1}while(0);zb=j;return b|0}function qz(){return ay()|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;if(Sy(46770,a[d>>0]|0)|0){g=sz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ny(Y(5,e|0)|0)|0;if((e|0)>=0){b=tz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{b=ox()|0;c[b>>2]=28;b=0}zb=f;return b|0}function sz(b){b=b|0;var c=0,d=0,e=0;d=(Sy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Sy(b,120)|0)==0;d=e?d:d|128;b=(Sy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Sy(46770,a[d>>0]|0)|0){e=FO(1176)|0;if(!e)e=0;else{aP(e|0,0,144)|0;k=(Sy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;uz(e)|0}}else{e=ox()|0;c[e>>2]=28;e=0}zb=j;return e|0}function uz(a){a=a|0;var b=0,d=0;b=vz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;wz();return a|0}function vz(){U(55640);return 55648}function wz(){$(55640);return}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Px(a)|0;else f=0;mz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=vz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;wz()}b=yz(a)|0;b=Gb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)GO(d);if(g){if(f|0)Qx(a)}else GO(a);return b|0}function yz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=zz(a)|0;break}d=(Px(a)|0)==0;b=zz(a)|0;if(!d)Qx(a)}else{if(!(c[4004]|0))b=0;else b=yz(c[4004]|0)|0;a=vz()|0;a=c[a>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Px(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=zz(a)|0|b;if(d|0)Qx(a);a=c[a+56>>2]|0}while((a|0)!=0);wz()}while(0);return b|0}function zz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Kb[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Az(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Px(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Qx(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Xx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;_O(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=Ax(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Qx(f)}return b|0}function Bz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Dz(a,b,f)|0;zb=e;return d|0}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+144|0;f=e;aP(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Fz(f,b,d)|0;zb=e;return d|0}function Ez(a,b,c){a=a|0;b=b|0;c=c|0;return Jz(a,b,c)|0}function Fz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=zb;zb=zb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Px(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(zx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Gx(o&255)|0?(a[m+2>>0]|0)==36:0){z=Gz(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Gx(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Gx(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Hz(z,t,u,v);n=u;o=v;break c}default:{wx(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=yx(e)|0}while((zx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=OO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=OO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;wx(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((yx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){aP(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;aP(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=FO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=yx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Xy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=IO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Iz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=FO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=IO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=yx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=OO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+Dy(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=xx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=PO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Hz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;wx(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=OO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(zx(d[l>>0]|0)|0))break;else m=l}wx(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=yx(e)|0}while((zx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=OO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=OO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){GO(k);GO(j)}}else h=0;while(0);if(P|0)Qx(e);zb=Q;return h|0}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}zb=e;return a|0}function Hz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Iz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Xx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;_O(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Kz(a,b,c){a=a|0;b=b|0;c=c|0;return Mz(a,b,((b|0)<0)<<31>>31,c)|0}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;c[f>>2]=d;d=Kx(a,b,f)|0;zb=e;return d|0}function Mz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Px(a)|0)==0;b=Nz(a,b,d,e)|0;if(!f)Qx(a)}else b=Nz(a,b,d,e)|0;return b|0}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=PO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Jb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Kb[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Oz(a,b){a=a|0;b=b|0;return Pz(a,b,(Qy(a)|0)+1|0)|0}function Pz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Qz(a,b,c){a=a|0;b=b|0;c=c|0;return Xy(0,a,b,(c|0)==0?55652:c)|0}function Rz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Sz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Xy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];zb=n;return e|0}function Sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){l=(Tz()|0)+188|0;g=(b|0)!=0;if(c[c[l>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Qy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}h=ox()|0;c[h>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){l=ox()|0;c[l>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Tz(){return ay()|0}function Uz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Vz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=_x(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];zb=l;return f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=_x(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=_x(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=_x(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}_x(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);zb=j;return e|0}function Wz(a,b,c){a=a|0;b=b|0;c=c|0;Xz(a,b,c)|0;return a|0}function Xz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);aP(b|0,0,e|0)|0;return b|0}function Yz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);zb=g;return d|0}function Zz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Px(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Ax(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Ax(a)|0;break}}while(0);return b|0}function _z(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function $z(){var a=0,b=0,d=0;b=54792;b=NO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=OO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=TO(b|0,a|0,33)|0;F()|0;return a|0}function aA(a,b){a=a|0;b=b|0;cz(a+(Qy(a)|0)|0,b)|0;return a|0}function bA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=zb;zb=zb+16|0;e=h;c[e>>2]=c[d>>2];e=Jx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=FO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Jx(g,f,b,d)|0;else a=-1;zb=h;return a|0}function cA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Px(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){Bx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Qx(d);break}if(g){Qx(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function dA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Px(a)|0)==0;d=eA(a)|0;b=F()|0;if(e)a=d;else{Qx(a);a=d}}else{a=eA(a)|0;b=F()|0}E(b|0);return a|0}function eA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Kb[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=PO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=OO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function fA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Px(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=oz(d,b)|0;Qx(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=oz(d,b)|0}while(0);return e|0}function gA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Px(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;_O(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Bx(f)|0)break;h=Jb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Qx(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Qx(f);return e|0}function hA(a){a=a|0;var b=0;a=dA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){a=ox()|0;c[a>>2]=61;a=-1}return a|0}function iA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Px(a)|0)==0;Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Qx(a)}else{Nz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function jA(a,b){a=a|0;b=b|0;return +(+kA(a,b,1))}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=zb;zb=zb+144|0;e=g;aP(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;wx(e,0,0);f=+Dy(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=OO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;zb=g;return +f}function lA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(zx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Gx(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Gx(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function mA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=zb;zb=zb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){aP(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ty(b,e<<24>>24)|0;zb=h;return e-b|0}function nA(a,b){a=a|0;b=b|0;return +(+kA(a,b,0))}function oA(a,b){a=a|0;b=b|0;return +(+kA(a,b,2))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nA(a,b))}function qA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+jA(a,b))}function rA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+oA(a,b))}function sA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Qy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function tA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Yz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(mA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function wA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=zb;zb=zb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=xA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(yA(a)|0)){c[b>>2]=46910;AA(46860,b)}b=zA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Jb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Gb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;AA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;AA(46819,h)}}AA(46898,g)}function xA(){return 55660}function yA(a){a=a|0;return 0}function zA(a){a=a|0;E(0);return 0}function AA(a,b){a=a|0;b=b|0;var d=0;d=zb;zb=zb+16|0;c[d>>2]=b;b=c[4001]|0;Kx(b,a,d)|0;fA(10,b)|0;ua()}function BA(a){a=a|0;return}function CA(a){a=a|0;BA(a);SA(a);return}function DA(a){a=a|0;return}function EA(a){a=a|0;return}function FA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+64|0;j=l;if(!(JA(d,e,0)|0))if((e|0)!=0?(k=NA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Xb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;zb=l;return d|0}function GA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);return}function HA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(JA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else LA(0,d,e,f);while(0);return}function IA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);return}function JA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Fx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function KA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function MA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function NA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(JA(m,f,0)|0){c[n+48>>2]=1;Zb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Yb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);zb=p;return d|0}function OA(a){a=a|0;BA(a);SA(a);return}function PA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(JA(a,c[b+8>>2]|0,g)|0)MA(0,b,d,e,f);else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function QA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Yb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function RA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(JA(a,c[b+8>>2]|0,0)|0)KA(0,b,d,e);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function SA(a){a=a|0;GO(a);return}function TA(a){a=a|0;return}function UA(){var a=0,b=0;a=xA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?yA(b+48|0)|0:0)VA(c[b+12>>2]|0);VA(WA()|0)}function VA(a){a=a|0;var b=0;b=zb;zb=zb+16|0;Rb[a&1]();AA(47049,b)}function WA(){return 1}function XA(a){a=a|0;return}function YA(a){a=a|0;c[a>>2]=16372;aB(a+4|0);return}function ZA(a){a=a|0;YA(a);SA(a);return}function _A(a){a=a|0;return $A(a+4|0)|0}function $A(a){a=a|0;return c[a>>2]|0}function aB(a){a=a|0;var b=0,d=0;if(bB(a)|0?(b=cB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)SA(b);return}function bB(a){a=a|0;return 1}function cB(a){a=a|0;return a+-12|0}function dB(a){a=a|0;YA(a);SA(a);return}function eB(a){a=a|0;BA(a);SA(a);return}function fB(a,b,c){a=a|0;b=b|0;c=c|0;return JA(a,b,0)|0}function gB(a){a=a|0;BA(a);SA(a);return}function hB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(JA(b,c[d+8>>2]|0,h)|0)MA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;lB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;lB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(JA(b,c[d+8>>2]|0,g)|0)){if(!(JA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;mB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;mB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;lB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else LA(0,d,e,f);while(0);return}function jB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(JA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;kB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{kB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else KA(0,d,e,f);while(0);return}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function lB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return} -function $b(a){a=a|0;var b=0;b=zb;zb=zb+a|0;zb=zb+15&-16;return b|0}function ac(){return zb|0}function bc(a){a=a|0;zb=a}function cc(a,b){a=a|0;b=b|0;zb=a;Ab=b}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=zb;zb=zb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Ue(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{aP(m|0,0,j<<2|0)|0;aP(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);zb=y;return f|0}function hc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{aP(n|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function ic(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=zb;zb=zb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Ue(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{aP(h|0,0,k<<2|0)|0;aP(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);zb=x;return j|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Ue(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{aP(n|0,0,k<<2|0)|0;aP(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);zb=A;return h|0}function nc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{aP(o|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function oc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Ue(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{aP(i|0,0,l<<2|0)|0;aP(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);zb=z;return k|0}function pc(a){a=a|0;return qc(a+8|0)|0}function qc(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=FO(4)|0;if(!b){Ue(0,3,41858,d);Ea(1)}a=Ee(a)|0;c[b>>2]=a;if(!a){GO(b);b=0}zb=d;return b|0}function rc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{Fe(b)|0;GO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function sc(a){a=a|0;var b=0,d=0,e=0;d=zb;zb=zb+16|0;b=FO(7062432)|0;if(!b){Ue(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=FO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Ue(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;tc(b,0)|0;c[b+7062388>>2]=-1;uc(b,0)|0;vc(b,7)|0;zb=d;return b|0}return 0}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;GO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=FO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Ue(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);zb=f;return d|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Zc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{f=Yc(c[a+36>>2]|0,c[a+40>>2]|0)|0;c[d>>2]=f;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Ue(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Ue(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;zb=i;return b|0}function vc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function wc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Zc(d);c[b>>2]=0}GO(c[a+4834144>>2]|0);GO(c[a+4834148>>2]|0);GO(a);a=0}return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Hc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Jc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Kc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Ue(0,3,19909,e);a=-1;break}c[d>>2]=b;d=zd(b)|0;c[a+8>>2]=d;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);zb=f;return a|0}function Mc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=zb;zb=zb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((ed(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Oc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Tc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Ue(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Ue(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=dd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=ed(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=bd(e,f,J)|0;else e=cd(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Ue(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((ed(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Oc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Tc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Nc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Nc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))_O(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}_O(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){_O(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);zb=P;return e|0}function Nc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Oc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Pc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Qc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;_O(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Pc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=zb;zb=zb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Ue(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Ue(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Ue(0,3,20145,j);e=-1}zb=w;return e|0}function Qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=zb;zb=zb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Rc(m,n,0,e,d,o,k)|0)>=0?(Rc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Rc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Rc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);zb=r;return e|0}function Rc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Rc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Rc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Sc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=zb;zb=zb+16|0;r=y+4|0;s=y;x=qe(2)|0;u=qe(2)|0;v=Dd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Dd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((pe(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Pd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Ld(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Ld(v)|0;re(u)|0;re(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Ld(w)|0;Ld(v)|0;re(u)|0;re(x)|0;d=-1}zb=y;return d|0}function Tc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((pe(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Sc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=od(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;zb=G;return 0}function Uc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Me(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(He(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}zb=m;return +d}function Vc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=zb;zb=zb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(He(c[a>>2]|0,k,d,f,l)|0)<0;zb=m;return +(k?1.0e8:+g[l>>3])}function Wc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Xc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+32|0;l=o+20|0;m=o;n=FO(f<<4)|0;c[l>>2]=n;if(!n){Ue(0,3,41858,o+8|0);Ea(1)}j=FO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Ue(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Je(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;GO(c[l>>2]|0);GO(c[k>>2]|0);zb=o;return +(+g[m>>3])}function Yc(a,b){a=a|0;b=b|0;var d=0;d=FO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Zc(a){a=a|0;if(a|0){GO(c[a>>2]|0);GO(a)}return}function _c(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){aP(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function $c(a,b){a=a|0;b=b|0;var d=0;b=_c(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function ad(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=$c(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;return ad(a,b,.5,c)|0}function cd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=_c(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function dd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=_c(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=FO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}n=(c[b>>2]|0)+((B(n,o)|0)+l)|0;a[n>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function ed(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=fc(a,b,c,i,h)|0;break}if(!g){e=ec(a,b,c,f,h)|0;break}else{e=dc(a,b,c,f,h)|0;break}}else{if(j){e=ic(a,b,c,i,h)|0;break}if(!g){e=hc(a,b,c,f,h)|0;break}else{e=gc(a,b,c,f,h)|0;break}}else if(e){if(j){e=lc(a,b,c,i,h)|0;break}if(!g){e=kc(a,b,c,f,h)|0;break}else{e=jc(a,b,c,f,h)|0;break}}else{if(j){e=oc(a,b,c,i,h)|0;break}if(!g){e=nc(a,b,c,f,h)|0;break}else{e=mc(a,b,c,f,h)|0;break}}while(0);return e|0}function fd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function gd(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function hd(){return id(16,50)|0}function id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=FO(32)|0;if(!m){Ue(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=FO(b<<2)|0;c[m+8>>2]=l;if(!l){Ue(0,3,41858,e);Ea(1)}d=b<<4;k=FO(d)|0;c[m+12>>2]=k;if(!k){Ue(0,3,41858,f);Ea(1)}f=FO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Ue(0,3,41858,g);Ea(1)}d=b<<5;g=FO(d)|0;c[m+16>>2]=g;if(!g){Ue(0,3,41858,h);Ea(1)}h=FO(d)|0;c[m+24>>2]=h;if(!h){Ue(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=FO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=FO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Ue(0,3,41858,o);Ea(1)}else if((d|0)==21){Ue(0,3,41858,p);Ea(1)}}else n=0;while(0);zb=q;return n|0}function jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)td(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;GO(c[(c[h>>2]|0)+(j<<2)>>2]|0);GO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}GO(c[h>>2]|0);GO(c[i>>2]|0);GO(c[g>>2]|0);GO(c[a+16>>2]|0);GO(c[a+24>>2]|0);GO(a);b=0}return b|0}function kd(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=zb;zb=zb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;q=B(s,e)|0;c[o+4>>2]=q;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=UO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){h=UO(m|0,l|0,1)|0;l=F()|0;m=b+((B(n,e)|0)+o)|0;m=h|(a[m>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=md(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);zb=u;return l|0}function ld(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=zb;zb=zb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=FO(x*12|0)|0;if(!x){Ue(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}case 1:{w=B(f,f)|0;x=FO(w<<2)|0;if(!x){Ue(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;GO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;GO(x);d=0;break a}default:{d=-1;break a}}while(0);zb=z;return d|0}function md(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=zb;zb=zb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=TO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){v=x+(((B(e,i)|0)%(n|0)|0)<<2)|0;b=b^c[v>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=NO(g|0,e|0,d[l+b>>0]|0,0)|0;E=OO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=UO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);zb=I;return b|0}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Dd(8,8)|0;h=Dd(8,1)|0;i=Dd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Xd(f)|0;Nd(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Ld(f)|0;Ld(h)|0;Ld(i)|0;return}function od(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=zb;zb=zb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((pd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=kd(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((pd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=qd(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((pd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((pd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=ld(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;zb=w;return u|0}function pd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=zb;zb=zb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}nd(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=HO(H,4)|0;if(!r){Ue(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=j+((B(t,k)|0)+s)|0;t=d[t>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}else{r=HO(H,4)|0;if(!r){Ue(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1|1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=j+((B(t,k)|0)+s<<1)|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+(d[W>>0]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;oe(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Ue(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}GO(r);r=0}while(0);if((Q|0)==306){GO(r);r=-1}zb=R;return r|0}function qd(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=md(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);zb=y;return j|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=zb;zb=zb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Ue(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=jz(b)|0;if(!x){Ue(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=tA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=lA(e)|0;e=tA(0,20293)|0;f=255-f|0;h=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)|0;c[h>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Ue(0,3,20298,z);GO(x);d=-1;break}else if((e|0)==36){GO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Ue(0,3,20200,A);d=-1}while(0);zb=A;return d|0} -function Lm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=zb;zb=zb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,s)|0;yo(g,n)|0;q=_m(d,s)|0;o=zo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;z=a[q>>0]|0;k=(_m(e,c[h+(l<<2)>>2]|0)|0)+16|0;do if(z<<24>>24==(a[k>>0]|0)){h=yl(n,Zm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){an(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){p=v;q=c[p+4>>2]|0;z=h;c[z>>2]=c[p>>2];c[z+4>>2]=q;c[w>>2]=(c[w>>2]|0)+8}else bn(b,v)}}while(0);s=s+1|0}if((x|0)==15){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}z=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(z>>>0>(Ak(d)|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;IE(v,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(v,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(v);QE(z,x)|0;ME(z)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);zb=y;return r|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){Ym(b,Ak(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(Ak(d)|0)>>>0)break;l=Zm(d,o)|0;m=(_m(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(Ak(e)|0)>>>0)break;u=a[m>>0]|0;k=(_m(e,i)|0)+16|0;if(u<<24>>24==(a[k>>0]|0)){u=yl(l,Zm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){an(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else bn(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(Ak(d)|0)>>>0){v=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;IE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(r,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(r);QE(v,u)|0;ME(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);zb=t;return n|0}function Nm(a){a=a|0;return a|0}function Om(a){a=a|0;return c[a>>2]|0}function Pm(a){a=a|0;return c[a+4>>2]|0}function Qm(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=zb;zb=zb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;uo(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);uo(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;op(a,-A,A,-z,z,0,0,12,10);vo(a,+(i>>1|0),+(j>>1|0));wo(a,i,j);qp(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Fp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;gh(t);gh(s);zb=u;return y|0}function Rm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=zb;zb=zb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;qo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=ro(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=so(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Xf(Xf(PE(Xf(Xf(Xf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;IE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(k,j)|0;ME(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;to(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(c[(c[i>>2]|0)+(h<<2)>>2]<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){hn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}zb=v;return}function Sm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=zb;zb=zb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;jn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);jn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(kn(g,a,d,k,m,n,4)|0)e=mn(a,h,i)|0;else e=0;ln(p);ln(o);zb=q;return e|0}function Tm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=zb;zb=zb+16|0;p=q;h=+ji(h);o=g+4|0;Ym(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;$m(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+ji(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +ji(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){hn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}zb=q;return}function Um(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=zb;zb=zb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((Ak(d)|0)!=0?(Ak(e)|0)!=0:0){h=+ji(h);if(!(Xm(v,g,0.0)|0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;IE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(u,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(u);QE(r,q)|0;ME(r)|0;ua()}Ym(b,Ak(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(Ak(d)|0)>>>0)break;n=Zm(d,p)|0;o=_m(d,p)|0;$m(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(Ak(e)|0)>>>0)break;g=_m(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+ji(+f[w>>2]-+f[g>>2]),!(A+ +ji(+f[x>>2]-+f[g+4>>2])>h)):0){g=zl(n,Zm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){an(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else bn(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(Ak(d)|0)>>>0){B=Xf(Xf(PE(Xf(Xf(Xf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;IE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=XF(u,56736)|0;y=Ib[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;YF(u);QE(B,y)|0;ME(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);zb=z;return s|0}function Vm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Xm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+gn(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;c=d*+xi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);f[a>>2]=c;l=b+8|0;h=b+4|0;c=d*+xi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+4>>2]=c;c=d*+xi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);f[a+8>>2]=c;g=b+12|0;i=b+24|0;c=d*+xi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+12>>2]=c;c=d*+xi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+16>>2]=c;c=d*+xi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+20>>2]=c;c=d*+xi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+24>>2]=c;c=d*+xi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+28>>2]=c;d=d*+xi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);f[a+32>>2]=d;a=1}else a=0;return a|0}function Ym(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){dn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);en(a,d);fn(d)}zb=f;return}function Zm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function _m(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function $m(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function an(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function cn(a){a=a|0;return 536870911}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function gn(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+xi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+xi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+xi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=cn(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;dn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;en(a,d);fn(d);zb=h;return}}function jn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){no(a,b);oo(a,b)}return}function kn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Vk(j,g);return wn(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function ln(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=zb;zb=zb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Xm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;nn(e,j,55476);nn(g,j,k);nn(h,j,l);nn(i,j,d);n=+(B(c,b)|0)*.0001;if(+on(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=zb;zb=zb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;rn(l,b,a);rn(m,c,a);rn(k,d,a);rn(h,b,c);rn(g,d,c);j=+sn(l,m);i=+sn(m,k);e=+sn(l,k);e=+tn(j,i,e,+sn(h,g));zb=f;return +e}function pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+qn(a,b,c)>0.0;f=+qn(b,c,d)>0.0;c=+qn(c,d,a)>0.0;d=+qn(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function qn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function rn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function sn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function tn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+vn(+un(a,b,c),d))}function un(a,b,c){a=+a;b=+b;c=+c;return +(+vn(+vn(a,b),c))}function vn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Xf(Xf(PE(Xf(Xf(Xf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;IE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=XF(y,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(y);QE(z,x)|0;ME(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Xf(Xf(PE(Xf(Xf(Xf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;IE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=XF(y,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(y);QE(x,u)|0;ME(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+ji(l);x=Bj(o,e)|0;tl(z,e,0);ul(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;ul(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(xn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,yn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(zn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(Bj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+Bn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}An(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Vm(a,(c[i>>2]|0)+(j*9<<2)|0);Cn(a);j=1}else j=0}else j=0;zb=A;return j|0}function xn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+qn(a,b,c)>0.0;if((!(i^+qn(e,f,g)>0.0)?(i=+qn(b,c,d)>0.0,!(i^+qn(f,g,h)>0.0)):0)?(i=+qn(c,d,a)>0.0,!(i^+qn(g,h,e)>0.0)):0){a=+qn(d,a,b)>0.0;a=a^+qn(h,e,f)>0.0^1}else a=0;return a|0}function yn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=zb;zb=zb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((In(o,p,q,r,k,m,b,c,d,e)|0?In(s,t,u,v,l,n,g,h,i,j)|0:0)?Jn(w,o,p,q,r,s,t,u,v)|0:0){Kn(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;zb=x;return a|0}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=zb;zb=zb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;nn(f,a,b);nn(e,a,m);nn(d,a,g);Gn(k,f);Gn(l,e);if(Hn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;nn(i,a,g);if(!(Hn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Hn(f,g,b,e,d,k)|0)d=Hn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);zb=n;return d|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Fn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function Bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=zb;zb=zb+16|0;i=e+8|0;g=e;h=i+4|0;$m(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Dn(g,d);zb=e;return +d}function Cn(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Dn(a,b){a=a|0;b=+b;return +(+En(+f[a>>2],+f[a+4>>2],b))}function En(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Fn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+16|0;g=s;if((d|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}if((e|0)<=0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;IE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(g,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(g);QE(r,q)|0;ME(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;zb=s;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Hn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+qn(a,b,c)>0.0;return c^+qn(d,e,f)>0.0^1|0}function In(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=zb;zb=zb+288|0;k=j;Ln(k,b,c,d,e,f,g,h,i);if(Mn(a,k)|0)a=!(+t(+(+gn(a)))<1.0e-05);else a=0;zb=j;return a|0}function Kn(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Ln(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;lo(a,b,f);lo(a+72|0,c,g);lo(a+144|0,d,h);lo(a+216|0,e,i);return}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0;d=zb;zb=zb+288|0;c=d;if(((((((Nn(c,b)|0?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)?Tn(c,b)|0:0)?Un(c,b)|0:0)a=Vn(a,c)|0;else a=0;zb=d;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0;g=zb;zb=zb+32|0;d=g;h=+_n(b);f[d>>2]=h;e=b+36|0;h=+_n(e);f[d+4>>2]=h;h=+_n(b+72|0);f[d+8>>2]=h;h=+_n(b+108|0);f[d+12>>2]=h;h=+_n(b+144|0);f[d+16>>2]=h;h=+_n(b+180|0);f[d+20>>2]=h;h=+_n(b+216|0);f[d+24>>2]=h;h=+_n(b+252|0);f[d+28>>2]=h;c=jo(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{co(b,b+(c*9<<2)|0);Yn(a,b,1.0/+u(+(+f[d>>2])));ko(a+36|0,e,63);a=1}zb=g;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0;e=zb;zb=zb+32|0;g=e;c=a+36|0;d=b+36|0;ao(c,a,d);n=a+72|0;ao(n,a,b+72|0);m=a+108|0;ao(m,a,b+108|0);l=a+144|0;ao(l,a,b+144|0);k=a+180|0;ao(k,a,b+180|0);j=a+216|0;ao(j,a,b+216|0);i=a+252|0;ao(i,a,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(n);f[g+4>>2]=h;h=+_n(m);f[g+8>>2]=h;h=+_n(l);f[g+12>>2]=h;h=+_n(k);f[g+16>>2]=h;h=+_n(j);f[g+20>>2]=h;h=+_n(i);f[g+24>>2]=h;a=io(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0;e=zb;zb=zb+32|0;g=e;c=a+72|0;m=a+36|0;d=b+72|0;ao(c,m,d);l=a+108|0;ao(l,m,b+108|0);k=a+144|0;ao(k,m,b+144|0);j=a+180|0;ao(j,m,b+180|0);i=a+216|0;ao(i,m,b+216|0);a=a+252|0;ao(a,m,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(l);f[g+4>>2]=h;h=+_n(k);f[g+8>>2]=h;h=+_n(j);f[g+12>>2]=h;h=+_n(i);f[g+16>>2]=h;h=+_n(a);f[g+20>>2]=h;a=ho(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0,l=0;e=zb;zb=zb+32|0;g=e;c=a+108|0;l=a+72|0;d=b+108|0;ao(c,l,d);k=a+144|0;ao(k,l,b+144|0);j=a+180|0;ao(j,l,b+180|0);i=a+216|0;ao(i,l,b+216|0);a=a+252|0;ao(a,l,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(k);f[g+4>>2]=h;h=+_n(j);f[g+8>>2]=h;h=+_n(i);f[g+12>>2]=h;h=+_n(a);f[g+16>>2]=h;a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0,k=0;e=zb;zb=zb+16|0;g=e;c=a+144|0;k=a+108|0;d=b+144|0;ao(c,k,d);j=a+180|0;ao(j,k,b+180|0);i=a+216|0;ao(i,k,b+216|0);a=a+252|0;ao(a,k,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(j);f[g+4>>2]=h;h=+_n(i);f[g+8>>2]=h;h=+_n(a);f[g+12>>2]=h;a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0,j=0;e=zb;zb=zb+16|0;g=e;c=a+180|0;j=a+144|0;d=b+180|0;ao(c,j,d);i=a+216|0;ao(i,j,b+216|0);a=a+252|0;ao(a,j,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(i);f[g+4>>2]=h;h=+_n(a);f[g+8>>2]=h;a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0.0,i=0;e=zb;zb=zb+16|0;g=e;c=a+216|0;i=a+180|0;d=b+216|0;ao(c,i,d);a=a+252|0;ao(a,i,b+252|0);h=+_n(c);f[g>>2]=h;h=+_n(a);f[g+4>>2]=h;a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;co(c,c+(a<<2)|0);co(d,d+(a<<2)|0);Yn(c,c,1.0/+u(+(+f[b>>2])));a=1}zb=e;return a|0}function Un(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;ao(d,a+216|0,b+252|0);c=+_n(d);if(c==0.0)a=0;else{Yn(d,d,1.0/+u(+c));a=1}return a|0}function Vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0.0;d=zb;zb=zb+384|0;e=d+336|0;c=d;g=+Wn(c,b,0);f[e>>2]=g;g=+Wn(c+36|0,b,1);f[e+4>>2]=g;g=+Wn(c+72|0,b,2);f[e+8>>2]=g;g=+Wn(c+108|0,b,3);f[e+12>>2]=g;g=+Wn(c+144|0,b,4);f[e+16>>2]=g;g=+Wn(c+180|0,b,5);f[e+20>>2]=g;g=+Wn(c+216|0,b,6);f[e+24>>2]=g;g=+Wn(c+252|0,b,7);f[e+28>>2]=g;g=+Wn(c+288|0,b,8);f[e+32>>2]=g;b=Xn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Vm(a,c+(b*9<<2)|0);b=1}zb=d;return b|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Yn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Zn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Zn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Zn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Zn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Zn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Zn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Zn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+_n(a);d=+u(+e);if(e==0.0)d=0.0;else Yn(a,a,1.0/d);return +d}function Xn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Yn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Zn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function _n(a){a=a|0;return +(+$n(a,a))}function $n(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+$n(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function bo(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function io(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function jo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;mo(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];mo(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function no(a,b){a=a|0;b=b|0;var d=0;if((rj(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function oo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{po(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function po(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=zb;zb=zb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=-1){n=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){zb=k;return}else{n=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;IE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(j,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(j);QE(n,m)|0;ME(n)|0;ua()}}function ro(a){a=a|0;return a+124|0}function so(a){a=a|0;return a+112|0}function to(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=zb;zb=zb+16|0;p=q;l=+t(+(h-l));f[b>>2]=l;l=+t(+(i-m));f[d>>2]=l;l=+t(+(k-o));f[g>>2]=l;l=+t(+(j-n));l=+vn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;IE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=XF(p,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(p);QE(q,g)|0;ME(q)|0;ua()}else{zb=q;return}}function uo(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){xo(a,b);oh(a,b)}return}function vo(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function wo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function xo(a,b){a=a|0;b=b|0;var d=0;if((ph(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Xf(Xf(PE(Xf(Xf(Xf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;IE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(j,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(j);QE(o,n)|0;ME(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Yl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];Ao(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Yl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}Bo(a,n,c[s>>2]|0,b);zb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function zo(a){a=a|0;return a+72|0}function Ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=zb;zb=zb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Oo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Oo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Oo(a,o)|0;b=j?g:b;d=j?o:d}if(Oo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Yl(l)}}zb=m;return}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=zb;zb=zb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Co(d)|0){c[g>>2]=c[a+76>>2];s=Do(d)|0;c[h>>2]=c[s>>2];s=(Do(d)|0)+4|0;c[f>>2]=c[s>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Eo(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Fo(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;Bo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Go(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Yl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];Ao(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Yl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;Bo(a,b,d,e)}Ho(r)}zb=t;return}function Co(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Do(a){a=a|0;return a+116|0}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;ml(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];ap(j,o,p);b=bp(a,j,b)|0;ol(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];_o(a,o,p,m-h|0);if((g|0)>0)f=e;else break}$o(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);zb=s;return b|0}function Fo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Io(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=yl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Jo(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Yl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;IE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(n,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(n);QE(j,i)|0;ME(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Lo(a+(e<<3)|0)|0;if((f|0)==(Lo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Ko(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Mo(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];No(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Xl(r);zb=t;return}function Go(a){a=a|0;return c[a>>2]|0}function Ho(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Io(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Xo(a,b);Yo(a,b)}return}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=To(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;Uo(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;Vo(a,d);Wo(d);zb=h;return}}function Lo(a){a=a|0;return c[a+4>>2]|0}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=Po(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Qo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Ro(a,d);So(d);zb=h;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Oo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Oo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Yl(i)}zb=j;return}function Oo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function Po(a){a=a|0;return 536870911}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function So(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Yl(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function To(a){a=a|0;return 1073741823}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Xo(a,b){a=a|0;b=b|0;var d=0;if((Po(a)|0)>>>0>>0)EO(a);if(b>>>0>536870911){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Yo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Zo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Zo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function $o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)$O(i+(0-g<<2)|0,b|0,f|0)|0;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)_O(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){_O(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function cp(a){a=a|0;return dp(c[c[a>>2]>>2]|0)|0}function dp(a){a=a|0;return c[a+24>>2]|0}function ep(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;c[e>>2]=b;b=mm((c[a>>2]|0)+4|0,e)|0;zb=d;return b|0}function fp(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;gp(d,c[c[a>>2]>>2]|0);a=gm(zk(c[d>>2]|0)|0)|0;Rj(d);zb=b;return a|0}function gp(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function hp(a){a=a|0;return ip(c[c[a>>2]>>2]|0)|0}function ip(a){a=a|0;return a+12|0}function jp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function kp(a){a=a|0;Xj(a+124|0);gh(a+112|0);lp(a+92|0);return}function lp(a){a=a|0;mp(a);return}function mp(a){a=a|0;var b=0;np(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function np(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function op(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;l=B(l,k)|0;c[b+88>>2]=l;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;pp(b+92|0);return}function pp(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;np(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function qp(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=zb;zb=zb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;pp(b+92|0);if(g|0){j=b+112|0;fh(j,g<<2);k=b+124|0;Vk(k,g);if(a[b+16>>0]|0)rp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;sp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(tp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}fh(j,h<<2);Vk(k,h)}zb=t;return}function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=zb;zb=zb+16|0;g=l+12|0;k=l;i=a+4|0;j=Aj(c[a>>2]|0,c[i>>2]|0)|0;uo(k,e);if((e|0)<=0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;IE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(g,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(g);QE(m,n)|0;ME(m)|0;ua()}if((c[a>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}if((c[i>>2]|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;IE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(g,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(g);QE(n,m)|0;ME(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+Bp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}n=c[k>>2]|0;o=+Dp(n,(c[k+4>>2]|0)-n>>2)*.25;n=Aj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;m=a+52|0;c[m>>2]=n;n=Aj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;n=B(c[a+60>>2]|0,n)|0;c[a+88>>2]=n;gh(k);zb=l;return}function sp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=zb;zb=zb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;IE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=XF(q,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(q);QE(p,t)|0;ME(p)|0;ua()}if(!(n<=3.141592653589793)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;IE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(q,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(q);QE(t,s)|0;ME(t)|0;ua()}else{n=+Bp(k,o);f[g>>2]=n;Cp(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);zb=s;return}}function tp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=zb;zb=zb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(m>b)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(n<=d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(o>d)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p>-3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(p<=3.141592653589793)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(q<=g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}if(!(r>g)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(h,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(h);QE(l,k)|0;ME(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;up(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;wp(a,vp(a,h,i,l,j)|0,1);wp(a,vp(a,u,i,l,j)|0,1);wp(a,vp(a,u,v,l,j)|0,1);wp(a,vp(a,u,v,k,j)|0,1);wp(a,vp(a,u,v,k,w)|0,1);wp(a,vp(a,u,v,l,w)|0,1);wp(a,vp(a,u,i,k,j)|0,1);wp(a,vp(a,u,i,k,w)|0,1);wp(a,vp(a,u,i,l,w)|0,1);wp(a,vp(a,h,v,l,j)|0,1);wp(a,vp(a,h,v,k,j)|0,1);wp(a,vp(a,h,v,k,w)|0,1);wp(a,vp(a,h,v,l,w)|0,1);wp(a,vp(a,h,i,k,j)|0,1);wp(a,vp(a,h,i,k,w)|0,1);wp(a,vp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;zb=x;return h|0}function up(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];h=+Bp(h-m,+f[a+24>>2]-m)*l;f[b>>2]=h;h=+(c[a+56>>2]|0);l=+f[a+28>>2];i=+Bp(i-l,+f[a+32>>2]-l)*h;f[d>>2]=i;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];k=+Bp(k-i,+f[a+40>>2]-i)*j;f[g>>2]=k;return}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+16|0;h=k;if((b|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}if((d|0)<=-1){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(h,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(h);QE(j,i)|0;ME(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;IE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(j,l)|0;ME(j)|0;ua()}if((e|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=XF(h,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(h);QE(l,j)|0;ME(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;IE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=XF(h,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(h);QE(l,m)|0;ME(l)|0;ua()}if((f|0)<=-1){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;IE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(h,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(h);QE(m,l)|0;ME(m)|0;ua()}else{zb=k;return a|0}return 0}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Xf(Xf(PE(Xf(Xf(Xf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;IE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(e,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(e);QE(r,q)|0;ME(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=xp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){yp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;zp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}zb=s;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=tB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ap(a,b)}}else Ap(a,b);return}function Ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Bp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Cp(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Dp(a,b){a=a|0;b=b|0;return +(+Ep(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=zb;zb=zb+16|0;e=r;if((b|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}if((d|0)<=0){q=Xf(Xf(PE(Xf(Xf(Xf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;IE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=XF(e,56736)|0;p=Ib[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;YF(e);QE(q,p)|0;ME(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}zb=r;return +o}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Gp(a){a=a|0;ko(a,1760,12);ko(a+48|0,1808,12);ko(a+96|0,1856,12);ko(a+144|0,1904,12);ko(a+192|0,1952,12);ko(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Hp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;fm(b,96);Ip(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Jp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Ip(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Wp(b+4|0,g,f);hm(b+16|0,d);zb=e;return}function Jp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;x=z;if(!d){y=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;IE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=XF(x,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(x);QE(y,w)|0;ME(y)|0;ua()}w=Ak(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Xf(Xf(PE(Xf(Xf(Xf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;IE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=XF(x,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(x);QE(w,t)|0;ME(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Kp(b,t)|0;if(Lp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Mp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Ip(b,t);zb=z;return}else{z=Xf(Xf(PE(Xf(Xf(Xf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;IE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=XF(x,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(x);QE(z,k)|0;ME(z)|0;ua()}}function Kp(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Lp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=zb;zb=zb+160|0;r=s;if(Np(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Op(a,r);a=1}else a=0;zb=s;return a|0}function Mp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Np(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=zb;zb=zb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Qp(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Rp(y,aa,e);C=y+8|0;Rp(C,aa,e+8|0);B=y+16|0;Rp(B,aa,e+16|0);A=y+24|0;Rp(A,aa,e+24|0);z=y+32|0;Rp(z,aa,e+32|0);d=y+40|0;Rp(d,aa,e+40|0);Rp(D,aa,g);H=D+8|0;Rp(H,aa,g+8|0);G=D+16|0;Rp(G,aa,g+16|0);F=D+24|0;Rp(F,aa,g+24|0);E=D+32|0;Rp(E,aa,g+32|0);e=D+40|0;Rp(e,aa,g+40|0);Rp(I,aa,h);M=I+8|0;Rp(M,aa,h+8|0);L=I+16|0;Rp(L,aa,h+16|0);K=I+24|0;Rp(K,aa,h+24|0);J=I+32|0;Rp(J,aa,h+32|0);g=I+40|0;Rp(g,aa,h+40|0);Rp(N,aa,i);R=N+8|0;Rp(R,aa,i+8|0);Q=N+16|0;Rp(Q,aa,i+16|0);P=N+24|0;Rp(P,aa,i+24|0);O=N+32|0;Rp(O,aa,i+32|0);h=N+40|0;Rp(h,aa,i+40|0);Rp(S,aa,j);W=S+8|0;Rp(W,aa,j+8|0);V=S+16|0;Rp(V,aa,j+16|0);U=S+24|0;Rp(U,aa,j+24|0);T=S+32|0;Rp(T,aa,j+32|0);i=S+40|0;Rp(i,aa,j+40|0);Rp(X,aa,k);$=X+8|0;Rp($,aa,k+8|0);_=X+16|0;Rp(_,aa,k+16|0);Z=X+24|0;Rp(Z,aa,k+24|0);Y=X+32|0;Rp(Y,aa,k+32|0);j=X+40|0;Rp(j,aa,k+40|0);Sp(b,v,u,x*r);r=+Tp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a>>2]=r;r=+Tp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=r;r=+Tp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=r;r=+Tp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=r;r=+Tp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=r;r=+Tp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=r;Sp(b,v,u,x*q);r=+Tp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+24>>2]=r;r=+Tp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=r;r=+Tp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=r;r=+Tp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=r;r=+Tp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=r;r=+Tp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=r;Sp(b,v,u,x*p);r=+Tp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+48>>2]=r;r=+Tp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=r;r=+Tp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=r;r=+Tp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=r;r=+Tp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=r;r=+Tp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=r;Sp(b,v,u,x*o);r=+Tp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+72>>2]=r;r=+Tp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=r;r=+Tp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=r;r=+Tp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=r;r=+Tp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=r;r=+Tp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=r;Sp(b,v,u,x*n);r=+Tp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+96>>2]=r;r=+Tp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=r;r=+Tp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=r;r=+Tp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=r;r=+Tp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=r;r=+Tp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=r;Sp(b,v,u,x*m);r=+Tp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+120>>2]=r;r=+Tp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=r;r=+Tp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=r;r=+Tp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=r;r=+Tp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=r;r=+Tp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=r;Sp(b,v,u,x*l);l=+Tp(b,w,s,c[v>>2]|0,c[u>>2]|0);f[a+144>>2]=l;zb=t;return 1}function Op(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Il(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Pp(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Pp(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Qp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+16|0;l=m;g=~~+s(+(+Oi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;IE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=XF(l,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(l);QE(k,b)|0;ME(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<=-1){a=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;IE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=XF(l,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(l);QE(a,k)|0;ME(a)|0;ua()}if((h|0)<(c[j>>2]|0)){zb=m;return}else{m=Xf(Xf(PE(Xf(Xf(Xf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;IE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=XF(l,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(l);QE(m,a)|0;ME(m)|0;ua()}}function Tp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=zb;zb=zb+16|0;i=g+4|0;h=g;e=Lg(a,d,e)|0;mi(i,h,b,c,d);c=+Up(e,+f[i>>2],+f[h>>2]);zb=g;return +c}function Up(a,b,c){a=a|0;b=+b;c=+c;return +(+Vp(a,b,c))}function Vp(a,b,c){a=a|0;b=+b;c=+c;b=+Zh(b,0.0,+(((Ng(a)|0)+-2|0)>>>0));return +(+Ci(a,b,+Zh(c,0.0,+(((Og(a)|0)+-2|0)>>>0))))}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Xp(a,b-f|0,d);return}function Xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=mg(b)|0;if(g>>>0>>0)EO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;ng(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Yp(h,d,e);og(b,h);pg(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);zb=k;return}function Yp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Zp(a){a=a|0;var b=0,d=0,e=0;b=zb;zb=zb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,d,Yf(d)|0);zb=b;return}function _p(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;aq(f);zb=i;return}function aq(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function bq(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;$p(a,b);return}function cq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=zb;zb=zb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=XF(i,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(i);QE(h,m)|0;ME(h)|0;ua()}if(!e){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(f>>>0>>0){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if(!g){m=Xf(Xf(PE(Xf(Xf(Xf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;IE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(m,h)|0;ME(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,dq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=uB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],eq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,aq(j),(c[m>>2]|0)==0):0){o=Xf(Xf(PE(Xf(Xf(Xf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;IE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=XF(i,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(i);QE(o,n)|0;ME(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;zb=l;return}function dq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,34774,Yf(34774)|0);mj(d,b);Q(d|0,13208,5)}}zb=d;return a|0}function eq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;fq(a,e);zb=d;return}function fq(a,b){a=a|0;b=b|0;return}function gq(a){a=a|0;ZN(a);SA(a);return}function hq(a){a=a|0;SA(c[a+12>>2]|0);return}function iq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function jq(a){a=a|0;Pf(a,16);return}function kq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=zb;zb=zb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;g=B(h,g)|0;c[b+20>>2]=g;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];lq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,dq(e)|0)|0;c[b+12>>2]=h;zb=j;return}function lq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=zb;zb=zb+16|0;d=e;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;fq(a,d);zb=e;return}function mq(a,b){a=a|0;b=b|0;return}function nq(a){a=a|0;ZN(a);SA(a);return}function oq(a){a=a|0;a=a+12|0;mq(a,c[a>>2]|0);return}function pq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function qq(a){a=a|0;Pf(a,16);return}function rq(a){a=a|0;aq(a+24|0);return}function sq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Wb[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=zb;zb=zb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;gO(g,d,Yf(d)|0);vq(h,g,i);tq(a,b,h);jO(h);jO(g);zb=f;return}function vq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+2048|0;g=f;Jx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;gO(b,g,Yf(g)|0);zb=f;return}function wq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function xq(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);zb=b;return}function yq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;IE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=XF(b,56736)|0;a=Ib[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;YF(b);QE(d,a)|0;ME(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);zb=d;return}}function zq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=zb;zb=zb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;IE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(h,i)|0;ME(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=XF(d,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(d);QE(i,h)|0;ME(i)|0;ua()}else{zb=f;return +(b-e)}return +(0.0)}function Aq(a){a=a|0;return +(+zq(a)*1.0e3)}function Bq(a,b){a=a|0;b=b|0;var d=0;wq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;gO(d,b,Yf(b)|0);xq(a);return}function Cq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=zb;zb=zb+48|0;j=k;d=k+24|0;yq(b);f=yk()|0;Zp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+Aq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;uq(f,8,35102,j);jO(d);jO(i);zb=k;return}function Dq(){Eq();Fq();Gq();return}function Eq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Fq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Gq(){Hq(0);return}function Hq(a){a=a|0;var b=0;a=zb;zb=zb+16|0;b=a;Jq(35173,26);Lq(35179,67);Lq(35188,68);Oq(35197,20);Oq(35208,21);Oq(35224,22);Sq(35238,23);Lq(35256,69);Vq(35276,70);Jq(35288,27);Sq(35305,24);Jq(35325,28);Jq(35343,29);Sq(35365,25);Sq(35388,26);Lq(35417,71);Lq(35430,72);Lq(35443,73);Jq(35459,30);Sq(35478,27);Sq(35488,28);Sq(35501,29);Lq(35514,74);Lq(35527,75);kr(35546,114);mr(35558,1);or(35570,1);qr(35593,1);or(35616,2);qr(35638,2);ur(35660,40);Lq(35677,76);ur(35694,41);Lq(35707,77);ur(35720,42);Lq(35744,78);Br(35768,3);qr(35781,3);ur(35794,43);Lq(35812,79);ur(35830,44);Lq(35846,80);ur(35862,45);Lq(35879,81);Jr(35896,15816);Jr(35925,15820);Jr(35953,15824);c[b>>2]=0;Jr(35986,b);c[b>>2]=1;Jr(36003,b);c[b>>2]=0;Jr(36019,b);c[b>>2]=0;Jr(36041,b);c[b>>2]=1;Jr(36066,b);c[b>>2]=1;Jr(36091,b);c[b>>2]=100;Jr(36116,b);c[b>>2]=0;Jr(36143,b);c[b>>2]=1;Jr(36169,b);c[b>>2]=0;Jr(36195,b);c[b>>2]=0;Jr(36222,b);c[b>>2]=1;Jr(36249,b);c[b>>2]=2;Jr(36275,b);c[b>>2]=3;Jr(36300,b);c[b>>2]=4;Jr(36338,b);c[b>>2]=0;Jr(36375,b);c[b>>2]=0;Jr(36409,b);c[b>>2]=1;Jr(36433,b);c[b>>2]=2;Jr(36459,b);c[b>>2]=2;Jr(36486,b);c[b>>2]=5;Jr(36520,b);g[b>>3]=.5;Kr(36538,b);c[b>>2]=0;Jr(36559,b);c[b>>2]=1;Jr(36578,b);c[b>>2]=2;Jr(36596,b);c[b>>2]=3;Jr(36614,b);c[b>>2]=4;Jr(36633,b);c[b>>2]=3;Jr(36655,b);c[b>>2]=515;Jr(36674,b);c[b>>2]=259;Jr(36703,b);c[b>>2]=4;Jr(36731,b);c[b>>2]=772;Jr(36750,b);c[b>>2]=1028;Jr(36780,b);c[b>>2]=0;Jr(36810,b);c[b>>2]=1;Jr(36841,b);c[b>>2]=2;Jr(36877,b);c[b>>2]=3;Jr(36911,b);c[b>>2]=0;Jr(36949,b);c[b>>2]=1;Jr(36982,b);c[b>>2]=2;Jr(37029,b);c[b>>2]=3;Jr(37071,b);c[b>>2]=4;Jr(37114,b);c[b>>2]=5;Jr(37166,b);c[b>>2]=6;Jr(37217,b);c[b>>2]=7;Jr(37262,b);c[b>>2]=8;Jr(37301,b);c[b>>2]=9;Jr(37346,b);zb=a;return}function Iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Ur(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;j=B(a<<2,b)|0;a=g+200|0;c[a>>2]=j;j=FO(j)|0;b=g+196|0;c[b>>2]=j;j=FO((c[a>>2]|0)/4|0)|0;e=g+204|0;c[e>>2]=j;j=hd()|0;c[g+220>>2]=j;if(!j)Ue(0,3,41354,i);yt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Ue(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;zb=i;return c[g>>2]|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=tt(d)|0;d=ut(d)|0;ka(a|0,e|0,d|0,vt()|0,8,b|0);zb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;d=g;c[d>>2]=a;if(!(Tr(55484,d)|0))a=-1;else{f=Ur(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){GO(b);c[a>>2]=0;c[f+200>>2]=0}pt(f);jd(c[f+220>>2]|0)|0;qt(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Oe(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Zr(b);SA(b);Yr(f);SA(f);a=0}zb=g;return a|0}function Lq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=lt(d)|0;d=mt(d)|0;ka(a|0,e|0,d|0,Ns()|0,30,b|0);zb=c;return}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{b=Ur(55484,b)|0;e=b+192|0;a=At(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Ue(0,3,41323,f);b=b+232|0;Lf(b)|0;a=c[d>>2]|0}else b=b+232|0;Ye(a,5.0)|0;Xe(c[d>>2]|0,.5)|0;_e(c[d>>2]|0,16)|0;Ze(c[d>>2]|0,6)|0;$e(c[d>>2]|0,6)|0;af(c[d>>2]|0,6)|0;a=kt(c[e>>2]|0)|0;c[b>>2]=a;a=0}zb=g;return a|0}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(jt(d,b,e+220|0)|0)){Ue(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);zb=g;return b|0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ft(d)|0;d=gt(d)|0;ka(a|0,e|0,d|0,Xs()|0,31,b|0);zb=c;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Tr(55484,e)|0))b=-1;else{h=Ur(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!($s(b,c[h+216>>2]|0,h+220|0,f)|0)){Ue(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))at(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);zb=j;return b|0}function Qq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Tr(55484,e)|0){f=Ur(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(_s(f,b,e)|0)){Ue(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);zb=i;return b|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;e=g;c[e>>2]=a;if(((Tr(55484,e)|0)!=0?(f=Ur(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;zb=g;return a|0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Vs(d)|0;d=Ws(d)|0;ka(a|0,e|0,d|0,Xs()|0,32,b|0);zb=c;return}function Tq(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=Ur(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}zb=d;return a|0}function Uq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ke(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Ue(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;_O(Rs(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}zb=i;return b|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Ls(d)|0;d=Ms(d)|0;ka(a|0,e|0,d|0,Ns()|0,31,b|0);zb=c;return}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=(Ur(55484,e)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Uc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){a=Ur(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Vc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function _q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function $q(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){d=Ur(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Re(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Ks(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=zb;zb=zb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Tr(55484,b)|0))a=c[3954]|0;else{a=Ur(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Mc(c[a+216>>2]|0,e)|0}zb=f;return a|0}function br(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=15816;else{a=(Ur(55484,b)|0)+216|0;a=(c[a>>2]|0)+44|0}zb=d;return c[a>>2]|0}function cr(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(Tr(55484,b)|0)Ur(55484,b)|0;zb=d;return -1}function dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=zb;zb=zb+16|0;e=f;c[e>>2]=a;do if(Tr(55484,e)|0){e=Ur(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Ks(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);zb=f;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;do if(Tr(55484,d)|0){a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);zb=e;return a|0}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=zb;zb=zb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Tr(55484,d)|0))a=c[3954]|0;else{k=Ur(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;yg(c[j>>2]|0,c[k+204>>2]|0)|0;Ag(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}vf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=Ct(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Ue(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Ue(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);zb=r;return a|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Tr(55484,d)|0))b=0;else{a=(Ur(55484,d)|0)+216|0;d=(b|0)!=0;tc(c[a>>2]|0,d&1)|0;c[e>>2]=d?37670:37674;Ue(0,1,37679,e)}zb=f;return b|0}function hr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;xc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function ir(a){a=a|0;var b=0,d=0;d=zb;zb=zb+16|0;b=d;c[b>>2]=a;if(!(Tr(55484,b)|0))a=0;else{a=(Ur(55484,b)|0)+216|0;a=c[(c[a>>2]|0)+4834148>>2]|0}zb=d;return a|0}function jr(a){a=a|0;c[3916]=a;return}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=Fs(d)|0;d=Gs(d)|0;ka(a|0,e|0,d|0,Hs()|0,46,b|0);zb=c;return}function lr(){return c[3916]|0}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=As(d)|0;d=Bs(d)|0;ka(a|0,e|0,d|0,Cs()|0,82,b|0);zb=c;return}function nr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+312|0;g[d>>3]=b}zb=e;return}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=us(d)|0;d=vs(d)|0;ka(a|0,e|0,d|0,ws()|0,1,b|0);zb=c;return}function pr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+312|0;b=+g[d>>3]}zb=e;return +b}function qr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ps(d)|0;d=qs(d)|0;ka(a|0,e|0,d|0,rs()|0,1,b|0);zb=c;return}function rr(a,b){a=a|0;b=+b;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+320|0;g[d>>3]=b}zb=e;return}function sr(a){a=a|0;var b=0.0,d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{d=(Ur(55484,d)|0)+320|0;b=+g[d>>3]}zb=e;return +b}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(uc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37628,e)}zb=f;return}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ks(d)|0;d=ls(d)|0;ka(a|0,e|0,d|0,ms()|0,2,b|0);zb=c;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Cc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=zb;zb=zb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Tr(55484,d)|0?(e=Ur(55484,d)|0,b>>>0<=255):0)?(Ac(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Ue(0,1,37602,f)}zb=g;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Bc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function yr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Fc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37567,e)}zb=f;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ic(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Ar(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=zb;zb=zb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Tr(55484,e)|0?(f=Ur(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Jc(d,h)|0)==0:0){g[i>>3]=h;Ue(0,1,37536,i)}zb=j;return}function Br(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=zb;zb=zb+16|0;d=c;e=ds(d)|0;d=es(d)|0;ka(a|0,e|0,d|0,fs()|0,2,b|0);zb=c;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Tr(55484,d)|0))b=-1.0;else{a=(Ur(55484,d)|0)+216|0;a=c[a>>2]|0;if(!a)b=-1.0;else{d=(Kc(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}zb=f;return +b}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0;e=zb;zb=zb+16|0;d=e;c[d>>2]=a;if(Tr(55484,d)|0){d=(Ur(55484,d)|0)+216|0;Gc(c[d>>2]|0,b)|0}zb=e;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;Hc(c[a>>2]|0,d)|0;a=c[d>>2]|0}zb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(yc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37506,e)}zb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(zc(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Tr(55484,d)|0?(d=(Ur(55484,d)|0)+216|0,(Dc(c[d>>2]|0,b)|0)==0):0){c[e>>2]=b;Ue(0,1,37477,e)}zb=f;return}function Ir(a){a=a|0;var b=0,d=0,e=0;e=zb;zb=zb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Tr(55484,b)|0))a=-1;else{a=(Ur(55484,b)|0)+216|0;a=(Ec(c[a>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}zb=e;return a|0}function Jr(a,b){a=a|0;b=b|0;var c=0;c=Pr()|0;ha(a|0,c|0,+(+Rr(Qr(b)|0)));return}function Kr(a,b){a=a|0;b=b|0;var c=0;c=Lr()|0;ha(a|0,c|0,+(+Nr(+Mr(b))));return}function Lr(){return Or()|0}function Mr(a){a=a|0;return +(+g[a>>3])}function Nr(a){a=+a;return +a}function Or(){return 14120}function Pr(){return Sr()|0}function Qr(a){a=a|0;return c[a>>2]|0}function Rr(a){a=a|0;return +(+(a|0))}function Sr(){return 14080}function Tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Vr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Wr(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Vr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;aP(g|0,0,480)|0;cs(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)bs(a,b)}}else bs(a,b);return}function Xr(a){a=a|0;Yr(a+8|0);return}function Yr(a){a=a|0;Zr(a+328|0);_r(a+288|0);return}function Zr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function _r(a){a=a|0;$r(a);return}function $r(a){a=a|0;var b=0;as(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function as(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Pf(b,16);b=a}return}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function cs(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function ds(a){a=a|0;return 3}function es(a){a=a|0;return js()|0}function fs(){return 37531}function gs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+is(c);Tb[a&3](b,c);return}function hs(a){a=a|0;return a|0}function is(a){a=+a;return +a}function js(){return 15828}function ks(a){a=a|0;return 3}function ls(a){a=a|0;return os()|0}function ms(){return 37623}function ns(a,b,c){a=a|0;b=b|0;c=c|0;b=hs(b)|0;c=hs(c)|0;Ub[a&63](b,c);return}function os(){return 15840}function ps(a){a=a|0;return 2}function qs(a){a=a|0;return ts()|0}function rs(){return 37654}function ss(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;c=+Db[a&3](b);g[e>>3]=c;c=+Mr(e);zb=d;return +c}function ts(){return 15852}function us(a){a=a|0;return 3}function vs(a){a=a|0;return zs()|0}function ws(){return 37658}function xs(a,b,c){a=a|0;b=b|0;c=+c;b=hs(b)|0;c=+ys(c);Tb[a&3](b,c);return}function ys(a){a=+a;return +a}function zs(){return 15860}function As(a){a=a|0;return 1}function Bs(a){a=a|0;return Es()|0}function Cs(){return 37663}function Ds(a){a=a|0;var b=0,d=0;b=zb;zb=zb+16|0;d=b;a=Fb[a&1]()|0;c[d>>2]=a;a=Qr(d)|0;zb=b;return a|0}function Es(){return 15872}function Fs(a){a=a|0;return 2}function Gs(a){a=a|0;return Js()|0}function Hs(){return 37666}function Is(a,b){a=a|0;b=b|0;b=hs(b)|0;Sb[a&255](b);return}function Js(){return 15876}function Ks(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Ls(a){a=a|0;return 2}function Ms(a){a=a|0;return Qs()|0}function Ns(){return 40673}function Os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=zb;zb=zb+16|0;f=d+12|0;e=d;Ps(e,b);b=Gb[a&127](e)|0;c[f>>2]=b;b=Qr(f)|0;jO(e);zb=d;return b|0}function Ps(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;gO(a,b+4|0,d);return}function Qs(){return 15884}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Ss(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ts(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+16|0}function Ss(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];aP(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ts(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Us(a,b)}}else Us(a,b);return}function Us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Vs(a){a=a|0;return 3}function Ws(a){a=a|0;return Zs()|0}function Xs(){return 40837}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=zb;zb=zb+16|0;f=e;b=hs(b)|0;d=hs(d)|0;d=Ib[a&63](b,d)|0;c[f>>2]=d;d=Qr(f)|0;zb=e;return d|0}function Zs(){return 15892}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=zb;zb=zb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Ue(0,1,40887,s);do if((Uf(d,40905,f)|0)>=0){c[o>>2]=b;Ue(0,1,40949,o);if((Vf(c[f>>2]|0,-1,b)|0)<0){Ue(0,3,40974,p);a=0;break}if((Sf(e,f)|0)<0){Ue(0,3,41010,q);a=0;break}Ue(0,1,41037,i);c[j>>2]=d;Ue(0,1,41046,j);s=tf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Ue(0,3,41068,k)}Ue(0,1,41037,l);if((b|0)==10)Ea(-1);if((fg(g,c[e>>2]|0)|0)<0){Ue(0,3,41101,m);a=0;break}else{Tf(e)|0;Ue(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Ue(0,3,40911,h);a=0}while(0);zb=r;return a|0}function $s(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=zb;zb=zb+16|0;a=Se(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Ue(0,3,41206,f);jd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Fc(b,0)|0;a=1;break a}case 1:{Fc(b,2)|0;a=1;break a}default:{Fc(b,3)|0;a=1;break a}}while(0);zb=f;return a|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=bt(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ct(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;dt(a,d);et(d);zb=h;return}}function bt(a){a=a|0;return 536870911}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function dt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function et(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ft(a){a=a|0;return 3}function gt(a){a=a|0;return it()|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=zb;zb=zb+16|0;g=e+12|0;f=e;b=hs(b)|0;Ps(f,d);d=Ib[a&63](b,f)|0;c[g>>2]=d;d=Qr(g)|0;jO(f);zb=e;return d|0}function it(){return 15904}function jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=zb;zb=zb+16|0;e=f;g=sd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Ue(0,3,41277,e);jd(c[d>>2]|0)|0;a=0}else a=1;zb=f;return a|0}function kt(a){a=a|0;return Jf(a)|0}function lt(a){a=a|0;return 2}function mt(a){a=a|0;return ot()|0}function nt(a,b){a=a|0;b=b|0;var d=0,e=0;d=zb;zb=zb+16|0;e=d;b=hs(b)|0;b=Gb[a&127](b)|0;c[e>>2]=b;b=Qr(e)|0;zb=d;return b|0}function ot(){return 15916}function pt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){gd(d)|0;wc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){rc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){ne(b)|0;c[b>>2]=0}return}function qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f+4|0;e=f;b=Tr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];rt(a,d)|0;b=1}zb=f;return b|0}function rt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=zb;zb=zb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];st(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Xr(d+8|0);Pf(d,496)}zb=g;return e|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function tt(a){a=a|0;return 4}function ut(a){a=a|0;return xt()|0}function vt(){return 41348}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+16|0;g=f;b=hs(b)|0;d=hs(d)|0;e=hs(e)|0;e=Jb[a&63](b,d,e)|0;c[g>>2]=e;e=Qr(g)|0;zb=f;return e|0}function xt(){return 2048}function yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=zb;zb=zb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Tr(55484,d)|0)!=0?(j=Ur(55484,d)|0,(zt(55504,e)|0)!=0):0){h=j+8|0;_O(h|0,Rs(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Ue(0,2,41698,f);be(h,c[b>>2]|0,c[e>>2]|0,h)|0}pt(j);a=me(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Ue(0,3,41745,i);a=-1;break}a=sc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Ue(0,3,41783,k);a=-1;break}Lc(a,c[j+472>>2]|0)|0;k=pc(h)|0;c[j+228>>2]=k;if(!k){Ue(0,3,41820,l);a=-1;break}else{fd(c[b>>2]|0,c[j+220>>2]|0)|0;le(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);a=kt(c[d>>2]|0)|0;c[j+232>>2]=a;a=0;break}}else a=-1;while(0);zb=m;return a|0}function zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function At(a,b){a=a|0;b=b|0;b=Bt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ee(a+8|0)|0;c[b+16>>2]=a;Ge(a,0.0)|0;return b|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=zb;zb=zb+16|0;e=FO(13732)|0;if(!e){Ue(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=FO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Ue(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;zb=g;return e|0}return 0}function Ct(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=zb;zb=zb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;wd(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(wd(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)wd(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Dt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Et(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=pf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=pf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Lt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;fe(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Ft(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ge(c[j>>2]|0,.800000011920929)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.6000000238418579)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,.4000000059604645)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ge(c[j>>2]|0,0.0)|0,F=+Ft(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Gt(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Gt(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Gt(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);zb=D;return i|0}function Dt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=zb;zb=zb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Df(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;nf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Ue(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;zb=Q;return} -function Et(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=zb;zb=zb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Df(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];nf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Ue(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;zb=B;return}function Ft(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=zb;zb=zb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=FO(h<<4)|0;c[s>>2]=l;if(!l){Ue(0,3,41858,w+200|0);Ea(1)}p=FO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Ue(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((Je(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;GO(c[s>>2]|0);GO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;zb=w;return +(+g[u>>3])}function Gt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ht(a,b,c,d,e);else g=+It(a,b,c,d,e,g);return +g}function Ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=zb;zb=zb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=FO(d<<6)|0;if(!G){Ue(0,3,41875,h);g=-1.0;break}E=FO(d<<3)|0;if(!E){Ue(0,3,41875,i);GO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((Kt(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){GO(G);GO(E);g=1.0e8;break}else if((h|0)==24){GO(G);GO(E);g=1.0e8;break}else if((h|0)==26){GO(G);GO(E);break}}else g=1.0e8;while(0);zb=H;return +g}function It(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=zb;zb=zb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=FO(d<<6)|0;if(!H){Ue(0,3,41875,h);g=-1.0;break}F=FO(d<<3)|0;if(!F){Ue(0,3,41875,i);GO(H);g=-1.0;break}h=d<<2;E=FO(h)|0;if(!E){Ue(0,3,41875,j);GO(H);GO(F);g=-1.0;break}D=FO(h)|0;if(!D){Ue(0,3,41875,k);GO(H);GO(F);GO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}oy(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((Kt(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==38){GO(H);GO(F);GO(E);GO(D);g=-1.0;break}else if((h|0)==40){GO(H);GO(F);GO(E);GO(D);g=1.0e8;break}else if((h|0)==42){GO(H);GO(F);GO(E);GO(D);break}}else g=1.0e8;while(0);zb=J;return +g}function Jt(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Jd(f)|0;if(!e)a=-1;else{d=Hd(e,f)|0;if(!d)a=-1;else{b=Hd(e,g)|0;if(!b)a=-1;else{if((Zd(d)|0)<0)a=-1;else{Od(h,d,b)|0;a=0}Md(b)|0}Md(d)|0}Md(e)|0}zb=i;return a|0}function Lt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=zb;zb=zb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=Af(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((Bf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Cf(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Cf(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Cf(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((wf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;zb=s;return j|0}function Mt(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;a=Jb[c[c[f>>2]>>2]&63](a,0,4096)|0;c[d+32>>2]=a;d=c[e>>2]|0}c[d+8>>2]=115;c[d+12>>2]=83;c[d+16>>2]=47;c[d+20>>2]=33;c[d+24>>2]=116;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function Ot(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function Pt(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=gA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Sb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Ub[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function Qt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Gb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function Rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Ub[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(Tt(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function St(a){a=a|0;return}function Tt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Gb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function Ut(a){a=a|0;var b=0,d=0;d=Jb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=117;c[d+4>>2]=84;c[d+8>>2]=85;c[d+28>>2]=86;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=86;c[d+104>>2]=0;c[d+40>>2]=86;c[d+108>>2]=0;c[d+44>>2]=86;c[d+112>>2]=0;c[d+48>>2]=86;c[d+116>>2]=0;c[d+52>>2]=86;c[d+120>>2]=0;c[d+56>>2]=86;c[d+124>>2]=0;c[d+60>>2]=86;c[d+128>>2]=0;c[d+64>>2]=86;c[d+132>>2]=0;c[d+68>>2]=86;c[d+136>>2]=0;c[d+72>>2]=86;c[d+140>>2]=0;c[d+76>>2]=86;c[d+144>>2]=0;c[d+80>>2]=86;c[d+148>>2]=0;c[d+84>>2]=86;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=86;c[d+160>>2]=0;c[d+32>>2]=87;c[d+88>>2]=87;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Vt(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function Wt(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=zb;zb=zb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(Tt(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Ub[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Sb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!($t(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!($t(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!($t(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!($t(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!($t(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Gb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Gb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Sb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Sb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Sb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Ub[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Ub[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Sb[c[Qa>>2]&255](f)}aP(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Gb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=au(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;_O((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Gb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Sb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=Mt(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3280;break}case 9:{g=3168;break}case 16:{g=3040;break}case 25:{g=2864;break}case 36:{g=2656;break}case 49:{g=2384;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2064;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2064;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Ub[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Gb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46637,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Sb[c[Qa>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Sb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Gb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Sb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Gb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Gb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Gb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Ub[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Sb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Wz(Qa+24|0,46633,80)|0;Sb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Ub[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Sb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Sb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Gb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Ub[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){zb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Gb[c[q+12>>2]&127](f)|0)){Qa=0;zb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Ub[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;zb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Ub[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;zb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;zb=Pa;return Qa|0}else if((Aa|0)==350){zb=Pa;return xa|0}return 0}function Xt(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(Tt(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Ib[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function Yt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Gb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Ub[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Ub[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function Zt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Gb[c[n+12>>2]&127](b)|0)){o=0;zb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Gb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}zb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{_t(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Ub[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Sb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;zb=p;return o|0}Ub[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;zb=p;return o|0}function _t(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Ub[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Ub[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Ub[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Gb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Ub[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Sb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Sb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0)){k=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;c[l>>2]=k}b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Gb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Ub[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function au(a){a=a|0;a=Jb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{cu(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Sb[c[b>>2]&255](a);b=Gb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Sb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Sb[c[d>>2]&255](a);d=c[g>>2]|0}Xb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Sb[c[d+4>>2]&255](a);Sb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function cu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Jb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=118;c[i+4>>2]=119;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}fu(b);e=Jb[c[c[k>>2]>>2]&63](b,1,1280)|0;aP(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);aP(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Sb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;f=gu(b)|0;h=i+16|0;c[h>>2]=f;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Sb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){hu(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;iu(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){ku(b);lu(b)}else ju(b);mu(b,c[b+108>>2]|0)}nu(b);if(!(c[b+228>>2]|0))pu(b);else ou(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;qu(b,d);if(!(c[e>>2]|0))ru(b,0);Sb[c[(c[k>>2]|0)+24>>2]&255](b);Sb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;k=B(k,c[b+332>>2]|0)|0;c[d+8>>2]=k;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function du(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Sb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Sb[c[c[a+472>>2]>>2]&255](a);Sb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Sb[c[c[a+480>>2]>>2]&255](a);Sb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Ub[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Ub[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Ub[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Ub[c[c[a+484>>2]>>2]&63](a,0);Ub[c[c[a+456>>2]>>2]&63](a,2);Ub[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function eu(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Sb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Sb[c[c[a>>2]>>2]&255](a)}xw(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;c[d+44>>2]=b;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;b=yw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;c[d+48>>2]=b;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(gu(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function gu(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function hu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Jb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=48;c[t+8>>2]=120;c[t+12>>2]=121;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Sb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Sb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Ub[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Ub[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Kb[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;rw(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{r=Jb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;c[e+68+(d<<2)>>2]=r;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function iu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Jb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=49;c[e+12>>2]=122;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Sb[c[d>>2]&255](a)}b=Jb[c[c[f>>2]>>2]&63](a,1,128)|0;d=e+24|0;c[d>>2]=b;b=0;do{h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Sb[c[c[a>>2]>>2]&255](a)}h=Kb[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+16>>2]=h;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;h=Jb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;c[g>>2]=h;gw(a);return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=a+4|0;b=Jb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=123;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;e=Jb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;c[b+32>>2]=e;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;e=b+16|0;c[e>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=i;i=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=i;g=Jb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[a+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[a+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[g+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+4|0;e=Jb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=124;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Sb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Sb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Jb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Sb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;i=B(d,-93603)|0;c[h+(b<<2)>>2]=i;i=(B(d,-45107)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;f=d+8|0;c[f>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=e;e=Jb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;i=B(d,-46802)|0;c[h+(b<<2)>>2]=i;i=(B(d,-22553)|0)+32768|0;c[e+(b<<2)>>2]=i;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{i=c[a>>2]|0;c[i+20>>2]=28;Sb[c[i>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;i=a+124|0;c[i>>2]=h;return}h=c[a+120>>2]|0;i=a+124|0;c[i>>2]=h;return}function lu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Jb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=125;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Sb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Sb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=yu(c[u>>2]|0,c[q>>2]|0)|0;l=Kb[k&15](b,1,l,c[r>>2]|0)|0;c[v+(g<<2)>>2]=l}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Jb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=50;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;h=Kb[c[d+8>>2]&15](a,1,h,g)|0;c[i>>2]=h;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=yu(c[a+116>>2]|0,g)|0;i=Ob[f&63](a,1,0,b,i,c[e>>2]|0)|0;c[h>>2]=i;return}}function nu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Jb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=126;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Jb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;aP(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function ou(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Jb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=127;c[e+8>>2]=128;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Jb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{aP(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Jb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=129;c[f+8>>2]=130;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Jb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{aP(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Jb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=131;c[i+8>>2]=132;c[i+112>>2]=0;if(!b){b=Jb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))aP(b|0,0,1280)|0;c[i+4>>2]=89;c[i+12>>2]=35;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=yu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=yu(c[e+32>>2]|0,c[k>>2]|0)|0;j=Ob[m&63](a,1,1,l,k,j)|0;c[b+(d<<2)>>2]=j;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=88;c[i+12>>2]=34;c[i+16>>2]=b;return}function ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Jb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=51;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Sb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Sb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Jb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Jb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;m=Kb[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;c[f+(b<<2)>>2]=m;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Sb[c[t>>2]&255](a);return}}}function tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function uu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Ib[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);_b[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;_b[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function wu(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function xu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Jb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=36;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=34;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function yu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=zb;zb=zb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;t=Mb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;c[u+(b<<2)>>2]=t;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Ib[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;zb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;zb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;zb=z;return y|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Gb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Mb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Yb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function Bu(a){a=a|0;return 0}function Cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)aP(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Ib[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Yb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Sb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function Du(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=zb;zb=zb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Gb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}zb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Mb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){Eu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Yb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;zb=oa;return pa|0}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;_O(b|0,a|0,c<<7|0)|0;return}function Fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Ub[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?41:42;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;Lu(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;Lu(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Sb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Ub[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?37:38):o?39:40;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;Lu(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;Lu(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function Gu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function Hu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(Ou(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=Pu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(Ou(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;zb=A;return z|0}function Iu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=zb;zb=zb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Gb[c[v+8>>2]&127](a)|0)){x=0;zb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(Ou(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=Pu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(Ou(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){zb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;zb=y;return x|0}function Ju(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Gb[c[p+8>>2]&127](a)|0)){r=0;zb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(Ou(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){zb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;zb=s;return r|0}function Ku(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=zb;zb=zb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Gb[c[A+8>>2]&127](a)|0)){F=0;zb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(Ou(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=Pu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Ub[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(Ou(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(Ou(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;zb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;zb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;zb=G;return F|0}function Lu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=zb;zb=zb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Sb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Jb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else aP(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(f<<24>>24){aP(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Sb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else aP(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Sb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;aP(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){zb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Sb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));zb=q;return}function Mu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=zb;zb=zb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Gb[c[w+8>>2]&127](a)|0)){z=0;zb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2064+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(Ou(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){zb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=A;return B|0}function Nu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=zb;zb=zb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Gb[c[y+8>>2]&127](a)|0)){B=0;zb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=Pu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=Pu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(Ou(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(Ou(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=Pu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(Ou(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){zb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;zb=C;return B|0}function Ou(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Gb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Ub[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function Pu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(Ou(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(Ou(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Ub[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Sb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Ub[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=43;k=l;break}else{c[f>>2]=44;k=l;break}else if(e){c[f>>2]=45;k=l;break}else{c[f>>2]=46;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Ub[c[r+4>>2]&63](b,-1)}c[o+4>>2]=47;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Sb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Jb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}aP(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function Ru(a){a=a|0;return}function Su(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Sb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Tu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Sb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Xu(e,g)|0){r=36;break}j=h+1|0;if(!(Xu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Xu(e,i+4|0)|0)){i=g;h=j}else break}}k=Xu(e,l)|0;i=g+2|0;g=Xu(e,i)|0;if(g){if(Xu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Xu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Xu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Ub[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Uu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Sb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;aP(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Xu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Vu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Gb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Sb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;aP(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Xu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Xu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Xu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Xu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Ub[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0} -function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Jg(a+32|0,b);d=Ah(b)|0;d=Ng(c[d>>2]|0)|0;f=Ah(b)|0;f=Og(c[f>>2]|0)|0;e=Pg(b)|0;uj(a+92|0,d,f,e,Qg(b)|0,36,3.0,1.5,5,.800000011920929);e=Ah(b)|0;e=Ng(c[e>>2]|0)|0;c[a>>2]=e;e=Ah(b)|0;e=Og(c[e>>2]|0)|0;c[a+4>>2]=e;e=a+16|0;Bh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ch(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function Ah(a){a=a|0;return a+4|0}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;kh(f);d=f}c[g>>2]=a}}else Kh(a,b-e|0);return}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;lh(f);d=f}c[g>>2]=a}}else Dh(a,b-e|0);return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Fh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Gh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Hh(f,b);Ih(a,f);Jh(f);break}}else Eh(a,b);while(0);zb=i;return}function Eh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Fh(a){a=a|0;return 357913941}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Hh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Jh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;lh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Kh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Mh(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Nh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Oh(f,b);Ph(a,f);Qh(f);break}}else Lh(a,b);while(0);zb=i;return}function Lh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Mh(a){a=a|0;return 357913941}function Nh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Oh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;kh(e)}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function Rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=zb;zb=zb+32|0;d=e;if((Pg(b)|0)<=0){f=Xf(Xf(PE(Xf(Xf(Xf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=XF(d,56736)|0;g=Ib[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;YF(d);QE(f,g)|0;ME(f)|0;ua()}Bq(d,23866);if(Sh(d)|0)Zg(a+32|0,b);Cq(d);Bq(d,23878);if(Sh(d)|0)Th(a,b,a+32|0);Cq(d);Bq(d,23898);if(Sh(d)|0)Uh(a,b);Cq(d);Bq(d,23907);if(Sh(d)|0)Vh(a);Cq(d);Bq(d,23921);if(Sh(d)|0)Wh(a,b);Cq(d);zb=e;return}function Sh(a){a=a|0;return 1}function Th(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=zb;zb=zb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+ji(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ki(V)|0)+-1|0)>>>0){ga=3;break}Q=Li(d,a+-1|0)|0;R=Li(d,a)|0;S=a+1|0;T=Li(d,S)|0;U=Mi(d,a)|0;E=Ni(d,a)|0;D=Ng(Q)|0;b:do if((D|0)==(Ng(R)|0)?(D=Ng(Q)|0,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=7;break a}D=Og(Q)|0;if((D|0)!=(Og(T)|0)){ga=9;break a}k=(Ng(R)|0)+-1|0;l=(Og(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ch(Q,v)|0;o=ch(Q,a)|0;p=a+1|0;q=ch(Q,p)|0;r=ch(R,v)|0;t=ch(R,a)|0;u=ch(R,p)|0;v=ch(T,v)|0;w=ch(T,a)|0;x=ch(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+ji(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;C=+si(b,U,m);f[_>>2]=C;ri(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Ng(Q)|0;if((D|0)==(Ng(R)|0)?(D=(Ng(R)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=Og(Q)|0;if((D|0)!=(Og(R)|0)){ga=75;break a}D=(Og(R)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=77;break a}l=~~+s(+((+(((Ng(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Og(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(Q,t)|0;p=ch(Q,a)|0;q=a+1|0;r=ch(Q,q)|0;t=ch(R,t)|0;u=ch(R,a)|0;v=ch(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ci(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ci(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ci(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ci(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ci(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ci(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ci(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ci(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];ia=+si(b,U,C);f[J>>2]=ia;ri(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Ng(Q)|0)>>>1;if((D|0)==(Ng(R)|0)?(D=(Ng(Q)|0)>>>1,(D|0)==(Ng(T)|0)):0){D=(Og(Q)|0)>>>1;if((D|0)!=(Og(R)|0)){ga=144;break a}D=(Og(Q)|0)>>>1;if((D|0)!=(Og(T)|0)){ga=146;break a}l=(Ng(R)|0)+-1|0;n=(Og(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ch(R,t)|0;p=ch(R,a)|0;q=a+1|0;r=ch(R,q)|0;t=ch(T,t)|0;u=ch(T,a)|0;v=ch(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+ji(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ci(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ci(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ci(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ci(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ci(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ci(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];ia=+si(b,U,A);f[O>>2]=ia;ri(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){_h(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){zb=ha;return}else if((ga|0)==7){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==9){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==75){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==77){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==144){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}else if((ga|0)==146){ha=Xf(Xf(PE(Xf(Xf(Xf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;IE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=XF(aa,56736)|0;ga=Ib[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;YF(aa);QE(ha,ga)|0;ME(ha)|0;ua()}}function Uh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;J=zb;zb=zb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+ji(+f[a+52>>2]);H=a+56|0;w=+ji(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(li(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(li(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;mi(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);L=ni(y)|0;L=(c[L>>2]|0)+(l+-1<<5)|0;h=ni(y)|0;h=(c[h>>2]|0)+(l<<5)|0;K=ni(y)|0;if(((oi(A,C,L,h,(c[K>>2]|0)+(l+1<<5)|0,e,g)|0?pi(D,A,C)|0:0)?(M=+ji(+f[D>>2]),M=M+ +ji(+f[z>>2]),!(M>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,qi(G,A)|0):0){l=i+(n*36|0)+24|0;M=+f[l>>2];L=(ch(h,g)|0)+(e<<2)|0;if(!(M==+f[L>>2])){a=11;break}L=(ch(h,g)|0)+(e<<2)|0;N=+f[D>>2];M=+f[z>>2];f[l>>2]=+f[L>>2]-(+f[C>>2]*N+ +f[p>>2]*M+ +f[q>>2]*+f[r>>2]);ri(d,k,N+ +f[E>>2],M+ +f[F>>2],c[j>>2]|0);M=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=M;M=+Zh(M,0.0,+(li(y)|0));f[a>>2]=M;if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?(L=ni(y)|0,u<+((Ng(c[L>>2]|0)|0)>>>0)):0)?(v=+f[k>>2],v>=0.0):0)?(L=ni(y)|0,v<+((Og(c[L>>2]|0)|0)>>>0)):0){N=+si(b,c[j>>2]|0,+f[a>>2]);f[i+(n*36|0)+28>>2]=N;a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ki(H,m);zb=J;return}else if((a|0)==5){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}else if((a|0)==11){L=Xf(Xf(PE(Xf(Xf(Xf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;IE(I,L+(c[(c[L>>2]|0)+-12>>2]|0)|0);K=XF(I,56736)|0;K=Ib[c[(c[K>>2]|0)+28>>2]&63](K,10)|0;YF(I);QE(L,K)|0;ME(L)|0;ua()}}function Vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;IE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=XF(d,56736)|0;n=Ib[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;YF(d);QE(m,n)|0;ME(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;ai(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Xh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;IE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(d,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(d);QE(n,m)|0;ME(n)|0;ua()}else{hh(h);break}}while(0);zb=l;return}function Wh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=zb;zb=zb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;uh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;vj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Yh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];x=+Zh(x,0.0,+(((Ng(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[s>>2]=x;x=+f[t>>2];x=+Zh(x,0.0,+(((Og(Lg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;yj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))_h(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Xh(n,k)}while(0);zb=w;return}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Yh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Zh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function _h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=zb;zb=zb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=$h(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;vh(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;wh(a,i);xh(i);zb=j;return}}function $h(a){a=a|0;return 119304647}function ai(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0.0;D=zb;zb=zb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];uh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;E=+t(+(+f[e+(l*36|0)+24>>2]));f[C>>2]=E;c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else bi(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ci(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))_h(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){zb=D;return}else if((e|0)==23){D=Xf(Xf(PE(Xf(Xf(Xf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;IE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=XF(C,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(C);QE(D,z)|0;ME(D)|0;ua()}}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=fi(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;gi(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;hi(a,d);ii(d);zb=h;return}}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=zb;zb=zb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=di(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];di(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ei(x,y,e)}while(0);zb=K;return}function di(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function fi(a){a=a|0;return 536870911}function gi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ii(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ji(a){a=+a;return +(a*a)}function ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Hi(a,b-e|0);return}function li(a){a=a|0;return c[a+16>>2]|0}function mi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function ni(a){a=a|0;return a|0}function oi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;k=Ng(d)|0;k=(k|0)==(Ng(e)|0)&1;do if((Ng(f)|0)==(k|0)){k=Og(d)|0;k=(k|0)==(Og(e)|0)&1;if((Og(f)|0)==(k|0)){yi(a,b,d,e,f,g,h);break}else{k=Xf(Xf(PE(Xf(Xf(Xf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}}else{k=Ng(d)|0;if((k|0)==(Ng(e)|0)?(k=(Ng(e)|0)>>>1,(k|0)==(Ng(f)|0)):0){k=Og(d)|0;if((k|0)==(Og(e)|0)?(k=(Og(e)|0)>>>1,(k|0)==(Og(f)|0)):0){zi(a,b,d,e,f,g,h);break}k=Xf(Xf(PE(Xf(Xf(Xf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){l=(Ng(d)|0)>>>1;if((l|0)==(Ng(e)|0)?(l=Ng(e)|0,(l|0)==(Ng(f)|0)):0){Ai(a,b,d,e,f,g,h);break}l=Xf(Xf(PE(Xf(Xf(Xf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}l=Xf(Xf(PE(Xf(Xf(Xf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}while(0);zb=j;return 1}function pi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=zb;zb=zb+48|0;d=e;if(ti(d,b,1.1920928955078125e-07)|0){ui(a,d,c);a=1}else a=0;zb=e;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+ji(+f[b+4>>2]);if(d==0.0)a=0;else{d=+ji(+f[b>>2]+ +f[c>>2])/d;f[a>>2]=d;a=1}return a|0}function ri(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+hz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function si(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=zb;zb=zb+16|0;e=g;if(!(d>=0.0)){h=Xf(Xf(PE(Xf(Xf(Xf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;IE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=XF(e,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(e);QE(h,i)|0;ME(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(i,h)|0;ME(i)|0;ua()}return +(0.0)}function ti(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+vi(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;g=b+20|0;m=b+32|0;d=e*+wi(+f[j>>2],+f[g>>2],+f[m>>2]);f[a>>2]=d;l=b+8|0;k=b+4|0;d=e*+xi(+f[l>>2],+f[k>>2],+f[m>>2],+f[b+28>>2]);i=a+4|0;f[i>>2]=d;d=e*+xi(+f[k>>2],+f[l>>2],+f[j>>2],+f[g>>2]);h=a+8|0;f[h>>2]=d;d=e*+wi(+f[b>>2],+f[l>>2],+f[m>>2]);f[a+16>>2]=d;d=e*+xi(+f[l>>2],+f[b>>2],+f[g>>2],+f[b+12>>2]);g=a+20|0;f[g>>2]=d;e=e*+wi(+f[b>>2],+f[k>>2],+f[j>>2]);f[a+32>>2]=e;c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function vi(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+ji(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+ji(e);d=+f[a>>2];d=d*+ji(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function wi(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function xi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=zb;zb=zb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Og(e)|0)>>>0):0){s=Ng(d)|0;if((s|0)!=(Ng(e)|0)){s=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=XF(o,56736)|0;t=Ib[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;YF(o);QE(s,t)|0;ME(s)|0;ua()}t=Ng(d)|0;if((t|0)!=(Ng(g)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)!=(Og(e)|0)){t=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;IE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=XF(o,56736)|0;s=Ib[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;YF(o);QE(t,s)|0;ME(t)|0;ua()}t=Og(d)|0;if((t|0)==(Og(g)|0)){z=(ch(d,m)|0)+(h<<2)|0;A=(ch(d,i)|0)+(h<<2)|0;o=(ch(d,n)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;t=(ch(g,m)|0)+(h<<2)|0;m=(ch(g,i)|0)+(h<<2)|0;s=(ch(g,n)|0)+(h<<2)|0;Bi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);zb=r;return}else{A=Xf(Xf(PE(Xf(Xf(Xf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}A=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;IE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=XF(o,56736)|0;z=Ib[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;YF(o);QE(A,z)|0;ME(A)|0;ua()}function zi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=zb;zb=zb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Og(e)|0)>>>0):0){n=Ng(d)|0;if((n|0)!=(Ng(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Ng(d)|0)>>>1;if((n|0)!=(Ng(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=Og(d)|0;if((n|0)!=(Og(e)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}n=(Og(d)|0)>>>1;if((n|0)!=(Og(g)|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;IE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(t,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(t);QE(n,m)|0;ME(n)|0;ua()}m=(ch(d,j)|0)+(h<<2)|0;n=(ch(d,i)|0)+(h<<2)|0;j=(ch(d,l)|0)+(h<<2)|0;d=(ch(e,i)|0)+(h<<2)|0;mi(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;IE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=XF(t,56736)|0;x=Ib[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;YF(t);QE(l,x)|0;ME(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}if(!(k+.5<+((Ng(g)|0)>>>0))){x=Xf(Xf(PE(Xf(Xf(Xf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=XF(t,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(t);QE(x,l)|0;ME(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Og(g)|0)>>>0)){Bi(o,p,q,r,s,e,h,i);y=+Ci(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ci(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ci(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ci(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ci(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);zb=w;return}else{x=Xf(Xf(PE(Xf(Xf(Xf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}x=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;IE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=XF(t,56736)|0;w=Ib[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;YF(t);QE(x,w)|0;ME(x)|0;ua()}function Ai(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=zb;zb=zb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Ng(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Og(e)|0)>>>0):0){u=(Ng(d)|0)>>>1;if((u|0)!=(Ng(e)|0)){u=Xf(Xf(PE(Xf(Xf(Xf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;IE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(u,v)|0;ME(u)|0;ua()}v=(Ng(d)|0)>>>1;if((v|0)!=(Ng(g)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)!=(Og(e)|0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;IE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(q,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(q);QE(v,u)|0;ME(v)|0;ua()}v=(Og(d)|0)>>>1;if((v|0)==(Og(g)|0)){C=(ch(e,i)|0)+(h<<2)|0;v=(ch(g,o)|0)+(h<<2)|0;q=(ch(g,i)|0)+(h<<2)|0;u=(ch(g,p)|0)+(h<<2)|0;ri(r,s,+(h|0),+(i|0),1);Bi(j,k,l,m,n,e,h,i);w=+Ci(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ci(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ci(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ci(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ci(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);zb=t;return}else{C=Xf(Xf(PE(Xf(Xf(Xf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}C=Xf(Xf(PE(Xf(Xf(Xf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;IE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=XF(q,56736)|0;v=Ib[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;YF(q);QE(C,v)|0;ME(C)|0;ua()}function Bi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Ng(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Og(h)|0)>>>0):0){k=(ch(h,k)|0)+(i<<2)|0;j=(ch(h,j)|0)+(i<<2)|0;m=(ch(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;zb=n;return}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}n=Xf(Xf(PE(Xf(Xf(Xf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;IE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=XF(m,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(m);QE(n,j)|0;ME(n)|0;ua()}function Ci(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Di(a)|0;e=Ng(a)|0;d=Og(a)|0;return +(+Fi(f,e,d,Ei(a)|0,b,c))}function Di(a){a=a|0;return c[a+24>>2]|0}function Ei(a){a=a|0;return c[a+12>>2]|0}function Fi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Gi(a,b,c,d,e,f))}function Gi(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=zb;zb=zb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=XF(n,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(n);QE(m,l)|0;ME(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Xf(Xf(PE(Xf(Xf(Xf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;IE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=XF(n,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(n);QE(m,k)|0;ME(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Xf(Xf(PE(Xf(Xf(Xf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;IE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=XF(n,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(n);QE(q,r)|0;ME(q)|0;ua()}if(k>>>0>=d>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(m>>>0>=b>>>0){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Xf(Xf(PE(Xf(Xf(Xf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;IE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=XF(n,56736)|0;q=Ib[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;YF(n);QE(r,q)|0;ME(r)|0;ua()}else{zb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=$h(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;vh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Ji(f,b);wh(a,f);xh(f);break}}else Ii(a,b);while(0);zb=i;return}function Ii(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ki(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Li(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Ng(e)|0;e=~~+Pi(+Oi(+(((e>>>0)/((Ng((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));zb=f;return e|0}else{f=Xf(Xf(PE(Xf(Xf(Xf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;IE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=XF(d,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(d);QE(f,e)|0;ME(f)|0;ua()}return 0}function Ni(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Oi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Pi(a){a=+a;return +(+s(+(a+.5)))}function Qi(a){a=a|0;c[a>>2]=15676;gh(a+56|0);gh(a+44|0);Si(a+32|0);Ti(a);return}function Ri(a){a=a|0;Qi(a);SA(a);return}function Si(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Ti(a){a=a|0;c[a>>2]=15692;mh(a+4|0);return}function Ui(a){a=a|0;Ti(a);SA(a);return}function Vi(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=zb;zb=zb+16|0;k=t;if(i>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}if(j>>>0<=4){s=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;IE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(k,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(k);QE(s,r)|0;ME(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}zb=t;return}function Wi(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=zb;zb=zb+16|0;h=q;if(e>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}if(g>>>0<=4){p=Xf(Xf(PE(Xf(Xf(Xf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;IE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=XF(h,56736)|0;o=Ib[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;YF(h);QE(p,o)|0;ME(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}zb=q;return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Yi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;e=1.0/+z(+e);f[a+28>>2]=e;return}function _i(a){a=a|0;var b=0;Yi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Zi(a,e,3);k=a+4|0;l=a+20|0;Rg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;cq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;aj(a+32|0,l);fh(a+44|0,l);fh(a+56|0,l);return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else bj(a,b-e|0);return}function bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=dj(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;ej(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);fj(f,b);gj(a,f);hj(f);break}}else cj(a,b);while(0);zb=i;return}function cj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function dj(a){a=a|0;return 2147483647}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function fj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+16|0;d=h;if((Mg(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}if((ah(b)|0)!=1){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;IE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=XF(d,56736)|0;f=Ib[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;YF(d);QE(g,f)|0;ME(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Xf(Xf(PE(Xf(Xf(Xf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;IE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=XF(d,56736)|0;j=Ib[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;YF(d);QE(i,j)|0;ME(i)|0;ua()}j=Ng(b)|0;if((j|0)!=(Ng(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}j=Og(b)|0;if((j|0)!=(Og(c[e>>2]|0)|0)){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;IE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(d,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(d);QE(j,i)|0;ME(j)|0;ua()}jj(a,c[e>>2]|0,b);b=c[e>>2]|0;jj(a,b+32|0,b);b=c[e>>2]|0;kj(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=lj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=lj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Ng((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Xi(k,d,i,Og((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;jj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;kj(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}zb=h;return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=zb;zb=zb+16|0;e=f;if((Mg(b)|0)!=2){g=Xf(Xf(PE(Xf(Xf(Xf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;IE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=XF(e,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(e);QE(g,h)|0;ME(g)|0;ua()}switch(Mg(d)|0){case 1:{e=lj(b)|0;g=c[a+32>>2]|0;h=Di(d)|0;Vi(e,g,h,Ng(d)|0,Og(d)|0);break}case 2:{e=lj(b)|0;g=c[a+44>>2]|0;h=Di(d)|0;Wi(e,g,h,Ng(d)|0,Og(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27722,Yf(27722)|0);mj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;gO(e,27741,Yf(27741)|0);mj(h,e);Q(h|0,13208,5)}}zb=f;return}function kj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=zb;zb=zb+32|0;f=e;j=c[a+56>>2]|0;i=Mg(d)|0;h=Ng(d)|0;g=Og(d)|0;kq(f,j,i,h,g,Ei(d)|0,1);jj(a,f,d);jj(a,b,f);rq(f);zb=e;return}function lj(a){a=a|0;return c[a+24>>2]|0}function mj(a,b){a=a|0;b=b|0;c[a>>2]=15708;fO(a+4|0,b);return}function nj(a){a=a|0;c[a>>2]=15708;jO(a+4|0);return}function oj(a){a=a|0;nj(a);SA(a);return}function pj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;p=+y(+n,+o)+3.141592653589793;f[a>>2]=p;n=+u(+(o*o+n*n));f[a+4>>2]=n;g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;o=+f[l>>2]-+f[h+-4>>2];p=+f[e>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;g=g+1|0;h=l;a=i}l=d+-1|0;p=+f[h>>2];o=p-+f[h+-4>>2];p=+f[e>>2]-p;n=+y(+p,+o)+3.141592653589793;f[i>>2]=n;p=+u(+(o*o+p*p));f[a+12>>2]=p;k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;o=+f[j>>2]-+f[a>>2];p=+f[d>>2]-+f[h>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;q=j+4|0;o=+f[q>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;i=i+1|0;d=a;h=e;j=q;g=g+8|0}o=+f[j>>2]-+f[j+-4>>2];p=+f[a>>2]-+f[e>>2];n=+y(+p,+o)+3.141592653589793;f[g>>2]=n;p=+u(+(o*o+p*p));f[g+4>>2]=p;k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;q=h+4|0;p=+f[h>>2];o=+f[q>>2]-p;p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[e>>2]=n;p=+u(+(o*o+p*p));f[g+12>>2]=p;h=1;g=q;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;q=g+4|0;o=+f[q>>2]-+f[g+-4>>2];p=+f[g>>2]-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;h=h+1|0;e=d;g=q}p=+f[g>>2];o=p-+f[g+-4>>2];p=p-+f[a>>2];n=+y(+p,+o)+3.141592653589793;f[d>>2]=n;p=+u(+(o*o+p*p));f[e+12>>2]=p;return}function rj(a){a=a|0;return 536870911}function sj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function tj(a){a=a|0;mh(a+40|0);gh(a+28|0);return}function uj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;fh(a+28|0,h);o=a+40|0;Rg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;cq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=zb;zb=zb+16|0;f=g;e=a+40|0;a=0;while(1){d=Ah(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=Ah(b)|0;d=(c[d>>2]|0)+(a<<5)|0;h=Ng(d)|0;if((h|0)!=((Ei(d)|0)>>>2|0)){a=5;break}j=wj((c[e>>2]|0)+(a<<5)|0)|0;i=xj(d)|0;h=Ng(d)|0;qj(j,i,h,Og(d)|0);a=a+1|0}if((a|0)==3){zb=g;return}else if((a|0)==5){j=Xf(Xf(PE(Xf(Xf(Xf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;IE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=XF(f,56736)|0;i=Ib[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;YF(f);QE(j,i)|0;ME(j)|0;ua()}}function wj(a){a=a|0;return c[a+24>>2]|0}function xj(a){a=a|0;return c[a+24>>2]|0}function yj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=zb;zb=zb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Ng((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}if(!(j>=0.0)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Og((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((ah(q)|0)!=2){v=Xf(Xf(PE(Xf(Xf(Xf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;IE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=XF(D,56736)|0;u=Ib[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;YF(D);QE(v,u)|0;ME(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Ng(q)|0)>>>0<=e>>>0):0)?(Og(q)|0)>>>0>l>>>0:0){n=+zj(1.0,+f[a+12>>2]*k);s=-1.0/(+ji(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+ji(n)));m=~~(n+.5);p=Aj(0,e-m|0)|0;o=Bj(m+e|0,(Ng(q)|0)+-1|0)|0;e=Aj(0,l-m|0)|0;m=Bj(m+l|0,(Og(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Cj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+ji(+(e|0)-j);g=ch(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +ji(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Dj(s*n);r=c[v>>2]|0;Ej(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Fj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Xf(Xf(PE(Xf(Xf(Xf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;IE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=XF(D,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(D);QE(G,r)|0;ME(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Gj(x,y,z,E,D,w)|0)Hj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);zb=F;return}function zj(a,b){a=+a;b=+b;return +(a>b?a:b)}function Aj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function Bj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Cj(a,b){a=a|0;b=b|0;aP(a|0,0,b<<2|0)|0;return}function Dj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Ej(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=zb;zb=zb+16|0;i=j;if(!a){h=Xf(Xf(PE(Xf(Xf(Xf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(h,k)|0;ME(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}if((e|0)<=-1){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(k,h)|0;ME(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Xf(Xf(PE(Xf(Xf(Xf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;IE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(k,l)|0;ME(k)|0;ua()}if(!(b>=0.0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((h|0)<=-1){l=Xf(Xf(PE(Xf(Xf(Xf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];zb=j;return}else{l=Xf(Xf(PE(Xf(Xf(Xf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}}l=Xf(Xf(PE(Xf(Xf(Xf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(i,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(i);QE(l,k)|0;ME(l)|0;ua()}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Gj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Hj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Ij(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=tB(24)|0;Jj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);SA(b)}return}function Jj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=tB(840)|0;$j(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Mj(b);SA(b)}return}function Kj(a){a=a|0;var b=0;Lj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Mj(b);SA(b)}return}function Lj(a){a=a|0;Yj(a);return}function Mj(a){a=a|0;Nj(a+788|0);kp(a+652|0);Oj(a+636|0);Pj(a+316|0);yh(a+160|0);Qi(a+92|0);Qj(a+72|0);Rj(a+64|0);Sj(a+12|0);return}function Nj(a){a=a|0;Wj(a+24|0);Xj(a+12|0);gh(a);return}function Oj(a){a=a|0;Sj(a);return}function Pj(a){a=a|0;return}function Qj(a){a=a|0;Tj(a);return}function Rj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Sb[c[(c[a>>2]|0)+8>>2]&255](a);_N(a)}return}function Sj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Tj(a){a=a|0;var b=0;Uj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Uj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Vj(b+8|0);Pf(b,20);b=a}return}function Vj(a){a=a|0;Rj(a+4|0);return}function Wj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Xj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Yj(a){a=a|0;var b=0;Zj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function Zj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;_j(b+8|0);Pf(b,24);b=a}return}function _j(a){a=a|0;lg(a+4|0);return}function $j(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;_i(b+92|0);d=b+160|0;dh(d);Gp(b+316|0);ak(b+636|0);jp(b+652|0);bk(b+788|0,.009999999776482582,1024,1064,50);ck(d,3.0);dk(d,4.0);eh(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function ak(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function bk(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ek(a,b,d,e,f);return}function ck(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function dk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ek(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;fh(a,d*9|0);fk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else gk(a,b-e|0);return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=ik(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;jk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);kk(f,b);lk(a,f);mk(f);break}}else hk(a,b);while(0);zb=i;return}function hk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function ik(a){a=a|0;return 536870911}function jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function kk(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function lk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function mk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function nk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);SA(b)}return}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function pk(a){a=a|0;return a+4|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function rk(a){a=a|0;return c[a>>2]|0}function sk(a){a=a|0;return c[a+4>>2]|0}function tk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;bm(a+8|0);cm(a+36|0);return}function uk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=zb;zb=zb+16|0;e=d;c[a>>2]=b;f=tB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Rl(a,e);zb=d;return}function vk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function wk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function xk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;i=k+20|0;j=k;if(!d){h=Xf(Xf(PE(Xf(Xf(Xf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;IE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=XF(i,56736)|0;l=Ib[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;YF(i);QE(h,l)|0;ME(h)|0;ua()}if(!e){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Ng(c[l>>2]|0)|0;if((l|0)!=(rk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}l=Ah(d)|0;l=Og(c[l>>2]|0)|0;if((l|0)!=(sk(e)|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;IE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=XF(i,56736)|0;h=Ib[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;YF(i);QE(l,h)|0;ME(l)|0;ua()}Rh(e,d);h=Ml(e)|0;Nl(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Ml(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=Ml(e)|0;l=c[l>>2]|0;gg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Of(j);h=h+1|0}Hp(g,zk(b)|0,d,i);Nf(i);zb=k;return}function yk(){if((a[54528]|0)==0?nB(54528)|0:0){sq(55464);pB(54528)}return 55464}function zk(a){a=a|0;return a+8|0}function Ak(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function Bk(a){a=a|0;var b=0,d=0;d=a+36|0;Gk(d,128);Hk(d,8);Ik(d,8);Jk(d,16);a=a+8|0;b=Kk(a)|0;b=c[b>>2]|0;Lk(d,b,Ak(a)|0);return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Dk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ek(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Dk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Fk(a,b)}}else Fk(a,b);return}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Gk(a,b){a=a|0;b=b|0;Ll(a+12|0,b);return}function Hk(a,b){a=a|0;b=b|0;Kl(a+12|0,b);return}function Ik(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Jk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Kk(a){a=a|0;return a+4|0}function Lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;g=i;Mk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Nk(a,b,d,f,h);Xj(g);zb=i;return}function Mk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Jl(a,b);Fl(a,b)}return}function Nk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=tB(128)|0;Pk(g,Ok(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Qk(h);SA(h);g=c[i>>2]|0}Rk(g,0);Sk(a,c[i>>2]|0,b,d,e,f);return}function Ok(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Pk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Il(b+4|0,96);return}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Qk(b);SA(b)}d=d+1|0}Xj(a+116|0);Hl(e);return}function Rk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=zb;zb=zb+32|0;o=q+20|0;p=q;h=a+12|0;n=Tk(h)|0;if((Aj(n,c[a+108>>2]|0)|0)>=(g|0)){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;o=c[f+(h<<2)>>2]|0;p=Uk(b)|0;c[(c[p>>2]|0)+(h<<2)>>2]=o;h=h+1|0}zb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Wk(h,d,e,f,g);m=Xk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;IE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=XF(o,56736)|0;k=Ib[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;YF(o);QE(l,k)|0;ME(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Yk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Zk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Rk(b,1);Vk(Uk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;e=c[f+(h<<2)>>2]|0;o=Uk(b)|0;c[(c[o>>2]|0)+(h<<2)>>2]=e;h=h+1|0}}else{g=_k(b)|0;$k(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=tB(128)|0;k=Ok(a)|0;al(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Rk(j,0);i=_k(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))bl(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Sk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Xf(Xf(PE(Xf(Xf(Xf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;IE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=XF(o,56736)|0;e=Ib[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;YF(o);QE(b,e)|0;ME(b)|0;ua()}while(0);cl(p);zb=q;return}else if((h|0)==12){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==14){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}else if((h|0)==16){q=Xf(Xf(PE(Xf(Xf(Xf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;IE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=XF(o,56736)|0;b=Ib[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;YF(o);QE(q,b)|0;ME(q)|0;ua()}}function Tk(a){a=a|0;return c[a+4>>2]|0}function Uk(a){a=a|0;return a+116|0}function Vk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else El(a,b-e|0);return}function Wk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((d|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((f|0)>(d|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(f|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;IE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(o,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(o);QE(n,m)|0;ME(n)|0;ua()}j=a+24|0;c[o>>2]=-1;sl(j,f,o);k=a+36|0;c[o>>2]=-1;sl(k,f,o);l=a+48|0;Vk(l,f);n=c[l>>2]|0;m=a+52|0;tl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;ul(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=vl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){wl(j,k);xl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){zb=s;return}else{s=Xf(Xf(PE(Xf(Xf(Xf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;IE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=XF(o,56736)|0;r=Ib[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;YF(o);QE(s,r)|0;ME(s)|0;ua()}}function Xk(a){a=a|0;return a+24|0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ql(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=ll(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;ml(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;nl(a,d);ol(d);zb=h;return}}function _k(a){a=a|0;return a+104|0}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=zb;zb=zb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){hl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);il(a,d);jl(d)}zb=f;return}function al(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;kl(b+4|0,e,96);return}function bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=zb;zb=zb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=gl(a)|0;if(g>>>0>>0)EO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;hl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;il(a,d);jl(d);zb=h;return}}function cl(a){a=a|0;dl(a);return}function dl(a){a=a|0;var b=0;el(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Pf(b,c[a+4>>2]<<2);return}function el(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;fl(b+8|0);Pf(b,24);b=a}return}function fl(a){a=a|0;Xj(a+4|0);return}function gl(a){a=a|0;return 1073741823}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function jl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function kl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c|0)|0;return}function ll(a){a=a|0;return 1073741823}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;dO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=tB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){_O(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ol(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Pf(b,(c[a+12>>2]|0)-b|0);return}function pl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ql(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rl(a,b)}}else rl(a,b);return}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Cl(a,b-f|0,d);return}function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function ul(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((Bl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function vl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((e|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((g|0)>(e|0)){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}if((i|0)<=0){n=Xf(Xf(PE(Xf(Xf(Xf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;IE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=XF(a,56736)|0;m=Ib[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;YF(a);QE(n,m)|0;ME(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=yl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}zb=o;return k|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function xl(a,b,c){a=a|0;b=b|0;c=c|0;_O(a|0,b|0,c<<2|0)|0;return}function yl(a,b){a=a|0;b=b|0;return zl(a,b)|0}function zl(a,b){a=a|0;b=b|0;var d=0;d=Al(c[a>>2]|0,c[b>>2]|0)|0;d=(Al(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(Al(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(Al(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(Al(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(Al(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(Al(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(Al(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(Al(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(Al(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(Al(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(Al(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(Al(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(Al(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(Al(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(Al(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(Al(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(Al(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(Al(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(Al(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(Al(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(Al(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(Al(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(Al(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function Al(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function Bl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=zb;zb=zb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=ll(a)|0;if(f>>>0>>0)EO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;ml(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Dl(h,b,d);nl(a,h);ol(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);zb=k;return}function Dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=ll(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;ml(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);Gl(f,b);nl(a,f);ol(f);break}}else Fl(a,b);while(0);zb=i;return}function Fl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Gl(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;aP(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Hl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Pf(b,(c[a+8>>2]|0)-d|0)}return}function Il(a,b){a=a|0;b=b|0;aP(a|0,0,b|0)|0;return}function Jl(a,b){a=a|0;b=b|0;var d=0;if((ll(a)|0)>>>0>>0)EO(a);if(b>>>0>1073741823){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Kl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Vk(a+12|0,b);return}function Ll(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Ml(a){a=a|0;return a+60|0}function Nl(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ol(a,b);Pl(a,b)}return}function Ol(a,b){a=a|0;b=b|0;var d=0;if((ug(a)|0)>>>0>>0)EO(a);if(b>>>0>214748364){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Pl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ql(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a){a=a|0;Tl(a+36|0);Ul(a+8|0);return}function Tl(a){a=a|0;var b=0;Vl(a+84|0);Xj(a+72|0);Wl(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Qk(a);SA(a)}return}function Ul(a){a=a|0;Nf(a+16|0);Mf(a+4|0);return}function Vl(a){a=a|0;Xl(a);return}function Wl(a){a=a|0;Xj(a+48|0);Xj(a+36|0);Xj(a+24|0);Xj(a+12|0);return}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Yl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Pf(f,(c[a+8>>2]|0)-f|0)}return}function Yl(a){a=a|0;return}function Zl(a){a=a|0;ZN(a);SA(a);return}function _l(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Sl(a);SA(a)}return}function $l(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function am(a){a=a|0;Pf(a,16);return}function bm(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function cm(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;dm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Kl(b,8);Ll(b,1);return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function em(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=zb;zb=zb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=tB(148)|0;tk(h);c[n>>2]=0;c[m>>2]=c[n>>2];uk(k,h,m);vk(c[k>>2]|0,f);wk(c[k>>2]|0,g);fm(zk(c[k>>2]|0)|0,96);g=gm(zk(c[k>>2]|0)|0)|0;f=b+4|0;hm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=gm(zk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))im(g,c[b>>2]|0,c[f>>2]|0);g=Kk(zk(c[k>>2]|0)|0)|0;f=d+4|0;jm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Kk(zk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))km(g,c[d>>2]|0,c[f>>2]|0);Bk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}lm(f,i,c[j>>2]|0);Rj(i);f=mm((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))nm(f,c[e>>2]|0,c[e+4>>2]|0);Rj(k);zb=l;return}function fm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function gm(a){a=a|0;return a+16|0}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Of(f);d=f}c[g>>2]=a}}else Cm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){Bm(a);e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ol(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);Am(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)$O(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){Am(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Of(l);e=l}c[k>>2]=f}while(0);return}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else xm(a,b-e|0);return}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){vm(a);e=mg(a)|0;if(e>>>0>>0)EO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;wm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);um(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)$O(j|0,b|0,e|0)|0;if(f){um(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(ok(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;gO(h,29085,Yf(29085)|0);mj(i,h);Q(i|0,13208,5)}f=Ck(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Rj(h);zb=i;return}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=zb;zb=zb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){rm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;sm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}zb=s;return b+12|0}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){pm(a);e=qg(a)|0;if(e>>>0>>0)EO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;qm(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);om(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)$O(j|0,b|0,e|0)|0;if(g){om(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function qm(a,b){a=a|0;b=b|0;var d=0;if((qg(a)|0)>>>0>>0)EO(a);if(b>>>0>357913941){b=O(8)|0;dO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=tB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function rm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=tB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=AD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=AD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)tm(a,b)}}else tm(a,b);return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;dO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=tB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Pf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function um(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){_O(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function vm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Pf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function wm(a,b){a=a|0;b=b|0;var d=0;if((mg(a)|0)>>>0>>0)EO(a);else{d=tB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=mg(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;ng(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);zm(f,b);og(a,f);pg(f);break}}else ym(a,b);while(0);zb=i;return}function ym(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function zm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Am(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Of(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Pf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=zb;zb=zb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=ug(a)|0;if(e>>>0>>0)EO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;vg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Dm(f,b);wg(a,f);xg(f);break}}else Pl(a,b);while(0);zb=i;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ql(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=zb;zb=zb+32|0;g=f;kq(g,b,1,d,e,d,1);e=Fm(c[c[a>>2]>>2]|0,g)|0;rq(g);zb=f;return e|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=zb;zb=zb+32|0;d=f;e=a+92|0;g=pk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=pk(e)|0,g=Ng(c[g>>2]|0)|0,(g|0)==(Ng(b)|0)):0)?(g=pk(e)|0,g=Og(c[g>>2]|0)|0,(g|0)==(Og(b)|0)):0)){g=Ng(b)|0;g=qk(g,Og(b)|0,8)|0;h=Ng(b)|0;$i(e,h,Og(b)|0,g)}Bq(d,29103);if(Sh(d)|0)ij(e,b);Cq(d);h=Gm(a,e)|0;zb=f;return h|0}function Gm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=zb;zb=zb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;l=rk(i)|0;f=Ah(d)|0;if(!((l|0)==(Ng(c[f>>2]|0)|0)?(f=sk(i)|0,l=Ah(d)|0,(f|0)==(Og(c[l>>2]|0)|0)):0))zh(i,d);f=b+64|0;m=tB(148)|0;tk(m);c[h>>2]=0;c[e>>2]=c[h>>2];uk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;l=b+68|0;h=c[m>>2]|0;c[m>>2]=c[l>>2];c[l>>2]=h;Rj(g);l=c[f>>2]|0;h=Ah(d)|0;vk(l,Ng(c[h>>2]|0)|0);h=c[f>>2]|0;l=Ah(d)|0;wk(h,Og(c[l>>2]|0)|0);Bq(e,29117);if(Sh(e)|0)xk(c[f>>2]|0,d,i,b+316|0);Cq(e);m=yk()|0;Zp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=Ak(zk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;uq(m,8,30602,j);jO(e);m=Hm(b,c[f>>2]|0)|0;zb=k;return m|0}function Hm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=zb;zb=zb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Jm(Im(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;Bq(s,30936);do if(Sh(s)|0){E=(a[l>>0]|0)==0;g=Im(d)|0;j=e;h=j+12|0;i=zk(c[h>>2]|0)|0;if(E){E=Mm(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Lm(m,g,i,Km(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Cq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Cq(s);i=gm(zk(c[h>>2]|0)|0)|0;Bq(s,30953);if(Sh(s)|0){G=Nm(m)|0;F=Om(d)|0;E=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,G,F,E,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(s);break}}else g=-1;Cq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;Bq(w,30970);if(Sh(w)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(w);Bq(x,30993);if(Sh(x)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0)Cq(x);else{Cq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;Bq(y,31017);if(Sh(y)|0?(Tm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Cq(y);else C=20;do if((C|0)==20){C=0;Cq(y);Bq(y,31034);if(Sh(y)|0?(G=Im(d)|0,G=Um(m,G,zk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Cq(y);break}Cq(y);Bq(y,31051);if(Sh(y)|0){E=Nm(m)|0;F=Om(d)|0;G=Pm(d)|0;g=Om(c[h>>2]|0)|0;g=Qm(n,k,i,E,F,G,g,Pm(c[h>>2]|0)|0)|0;if((g|0)<0){Cq(y);break}}Cq(y);Bq(y,31068);if(Sh(y)|0)Rm(s,n,Nm(m)|0,g,1.0);Cq(y);Bq(y,31091);if(Sh(y)|0?(G=Om(c[h>>2]|0)|0,!(Sm(w,k,i,s,q,G,Pm(c[h>>2]|0)|0)|0)):0){Cq(y);break}Cq(y);c[r>>2]=c[x>>2];Bq(y,31115);if(Sh(y)|0)Tm(x,w,k,i,s,+f[u>>2]);Cq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Vm(v,w);Wm(z,x);c[B>>2]=c[j+8>>2]}}while(0);Sj(x)}Sj(s)}while(0)}zb=D;return (c[B>>2]|0)>-1|0}function Im(a){a=a|0;return a+8|0}function Jm(a){a=a|0;return a+16|0}function Km(a){a=a|0;return a+36|0} -function Wu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Gb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Sb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;aP(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Xu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Xu(e,g+1|0)|0;i=g+2+m|0;g=Xu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Xu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Xu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Xu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Xu(e,h)|0)break b;j=g+1|0;if(!(Xu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Xu(e,i+4|0)|0)){i=h;g=j}else break}}k=Xu(e,s)|0;h=h+2|0;i=Xu(e,h)|0;if(i){if(Xu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Xu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Xu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Xu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Ub[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Xu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Gb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Sb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3360+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Yu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Sb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Sb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{j=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;c[i+(h<<2)>>2]=j;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Sb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Zu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=zb;zb=zb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}zb=q;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;aP(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;zb=i;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=zb;zb=zb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;zb=o;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}zb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}zb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}zb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;zb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=zb;zb=zb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=zb;zb=zb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}zb=i;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=zb;zb=zb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}zb=m;return}function mv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}zb=m;return}function nv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}zb=m;return}function ov(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=zb;zb=zb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}zb=o;return}function pv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=zb;zb=zb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}zb=m;return}function qv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}zb=m;return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=zb;zb=zb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}zb=m;return}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=zb;zb=zb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}zb=m;return}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}zb=m;return}function uv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=zb;zb=zb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}zb=m;return}function vv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=zb;zb=zb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}zb=m;return}function wv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=zb;zb=zb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}zb=m;return}function xv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=zb;zb=zb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}zb=m;return}function yv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=zb;zb=zb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}zb=m;return}function zv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=zb;zb=zb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;zb=i;return}function Bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=zb;zb=zb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;zb=i;return}function Cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)|0;a[(c[g>>2]|0)+h>>0]=a[f>>0]|0;return}function Ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=zb;zb=zb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;aP(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}zb=o;return}function Fv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0)){a=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;c[b>>2]=a}break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Sb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function Gv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=zb;zb=zb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);zb=i;return}function Hv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}_b[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function Iv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Mb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Xb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function Jv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Kv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Xb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Yb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function Lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Nv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function Ov(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}Qv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function Pv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){aP(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}Qv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){aP(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function Qv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){_O(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function Rv(a){a=a|0;return}function Sv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Tv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Uv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Wv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Xv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Yv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Zv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function _v(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function $v(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function aw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=zb;zb=zb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Xb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){zb=n;return}}else{Qv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;zb=n;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function cw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Xb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function dw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=134;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Sb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Sb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Jb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}aP(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))gw(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=133;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;aP(c[g>>2]|0,0,4096)|0;aP(c[g+4>>2]|0,0,4096)|0;aP(c[g+8>>2]|0,0,4096)|0;aP(c[g+12>>2]|0,0,4096)|0;aP(c[g+16>>2]|0,0,4096)|0;aP(c[g+20>>2]|0,0,4096)|0;aP(c[g+24>>2]|0,0,4096)|0;aP(c[g+28>>2]|0,0,4096)|0;aP(c[g+32>>2]|0,0,4096)|0;aP(c[g+36>>2]|0,0,4096)|0;aP(c[g+40>>2]|0,0,4096)|0;aP(c[g+44>>2]|0,0,4096)|0;aP(c[g+48>>2]|0,0,4096)|0;aP(c[g+52>>2]|0,0,4096)|0;aP(c[g+56>>2]|0,0,4096)|0;aP(c[g+60>>2]|0,0,4096)|0;aP(c[g+64>>2]|0,0,4096)|0;aP(c[g+68>>2]|0,0,4096)|0;aP(c[g+72>>2]|0,0,4096)|0;aP(c[g+76>>2]|0,0,4096)|0;aP(c[g+80>>2]|0,0,4096)|0;aP(c[g+84>>2]|0,0,4096)|0;aP(c[g+88>>2]|0,0,4096)|0;aP(c[g+92>>2]|0,0,4096)|0;aP(c[g+96>>2]|0,0,4096)|0;aP(c[g+100>>2]|0,0,4096)|0;aP(c[g+104>>2]|0,0,4096)|0;aP(c[g+108>>2]|0,0,4096)|0;aP(c[g+112>>2]|0,0,4096)|0;aP(c[g+116>>2]|0,0,4096)|0;aP(c[g+120>>2]|0,0,4096)|0;aP(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function fw(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Jb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function hw(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Jb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;nw(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}nw(d,q);nw(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Ub[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function jw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){mw(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function kw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){mw(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function lw(a){a=a|0;return}function mw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=zb;zb=zb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}zb=N;return} -function mO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=zb;zb=zb+16|0;n=o;if((-18-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=tB(k)|0;if(g|0)VD(l,m,g)|0;if(i|0)VD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)VD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;bg(l+i|0,n);zb=o;return}function nO(a,b){a=a|0;b=b|0;return kO(a,b,Yf(b)|0)|0}function oO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;bg(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;bg(b+d|0,g);a[h>>0]=d;break}else pO(b,d-f|0,e)|0;while(0);zb=j;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){qO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;iO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}zb=k;return b|0}function qO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)eO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=tB(j)|0;if(g|0)VD(k,l,g)|0;e=f-h-g|0;if(e|0)VD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Pf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;VD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;bg(g+f|0,i)}}else mO(b,f,h+e-f|0,h,h,0,e,d);zb=k;return b|0}function sO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=zb;zb=zb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){qO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;bg(b,h);a[i>>0]=0;bg(b+1|0,i);zb=j;return}function tO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(e>>>0>1073741807)eO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);kE(f,d,e)|0;c[h>>2]=0;JF(f+(e<<2)|0,h);zb=i;return}function uO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=zb;zb=zb+16|0;h=i;if(d>>>0>1073741807)eO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=tB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);vO(f,d,e)|0;c[h>>2]=0;JF(f+(d<<2)|0,h);zb=i;return}function vO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)uA(a,c,b)|0;return a|0}function wO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Pf(c[b>>2]|0,c[d>>2]<<2);return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;yO(f,d,e)|0;c[j>>2]=0;JF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;zO(b,g,e-g|0,f,0,f,e,d)}while(0);zb=l;return b|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)vA(a,b,c)|0;return a|0}function zO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=zb;zb=zb+16|0;o=p;if((1073741806-d|0)>>>0>>0)eO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=tB(m<<2)|0;if(g|0)kE(k,n,g)|0;if(i|0)kE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)kE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;JF(k+(i<<2)|0,o);zb=p;return}function AO(a,b){a=a|0;b=b|0;return xO(a,b,JI(b)|0)|0}function BO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)eO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=tB(k<<2)|0;if(g|0)kE(j,l,g)|0;e=f-h-g|0;if(e|0)kE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Pf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=zb;zb=zb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;kE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;JF(g+(f<<2)|0,j)}}else zO(b,f,h+e-f|0,h,h,0,e,d);zb=l;return b|0}function DO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=zb;zb=zb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){BO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;JF(b,i);c[j>>2]=0;JF(b+4|0,j);zb=k;return}function EO(a){a=a|0;ua()}function FO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=zb;zb=zb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;zb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;zb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;zb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;zb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;zb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;zb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;zb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=LO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=LO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=LO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((LO(a)|0)==(-1|0)){LO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=LO(k)|0,p=LO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0